diff --git a/.github/workflows/autochangelog.yml b/.github/workflows/autochangelog.yml index d0ab3fe4f66..dced49689a2 100644 --- a/.github/workflows/autochangelog.yml +++ b/.github/workflows/autochangelog.yml @@ -11,7 +11,7 @@ env: jobs: autochangelog: name: Autochangelog - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 if: github.event.pull_request.merged == true steps: - uses: /actions/checkout@v3 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 19bf8f27893..52d707d9646 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,39 +8,66 @@ env: BASENAME: "vorestation" jobs: - file_tests: + + run_linters: name: Run Linters - runs-on: ubuntu-22.04 # YW EDIT: 20.04 to 22.04 + runs-on: ubuntu-22.04 + steps: - uses: actions/checkout@v4 - - name: Ensure +x on CI directory - run: | - chmod -R +x ./tools/ci - - name: Install Tools - run: | - bash tools/ci/install_build_deps.sh + # Caches - name: Restore Yarn cache - if: "${{ contains(github.event.pull_request.labels.*.name, 'Type: TGUI Bundle') }}" uses: actions/cache@v4 with: path: tgui/.yarn/cache - key: ${{ runner.os }}-yarn-${{ secrets.CACHE_PURGE_KEY }}-${{ hashFiles('tgui/yarn.lock') }} + key: ${{ runner.os }}-yarn-${{ hashFiles('tgui/yarn.lock') }} restore-keys: | - ${{ runner.os }}-build-${{ secrets.CACHE_PURGE_KEY }}- - ${{ runner.os }}-build- - ${{ runner.os }}- - - name: Run Tests + ${{ runner.os }}-yarn- + - name: Restore Node cache + uses: actions/cache@v4 + with: + path: ~/.nvm + key: ${{ runner.os }}-node-${{ hashFiles('dependencies.sh') }} + restore-keys: | + ${{ runner.os }}-node- + - name: Restore Bootstrap cache + uses: actions/cache@v4 + with: + path: tools/bootstrap/.cache + key: ${{ runner.os }}-bootstrap-${{ hashFiles('tools/requirements.txt') }} + restore-keys: | + ${{ runner.os }}-bootstrap- + - name: Restore Rust cache + uses: actions/cache@v4 + with: + path: ~/.cargo + key: ${{ runner.os }}-rust-${{ hashFiles('tools/ci/ci_dependencies.sh')}} + restore-keys: | + ${{ runner.os }}-rust- + - name: Restore Cutter cache + uses: actions/cache@v4 + with: + path: tools/icon_cutter/cache + key: ${{ runner.os }}-cutter-${{ hashFiles('dependencies.sh') }} + # End Caches + - name: Install Tools run: | - tools/ci/validate_files.sh - tools/ci/build_tgui.sh + pip3 install setuptools + bash tools/ci/install_node.sh + bash tools/ci/install_ripgrep.sh + tools/bootstrap/python -c '' + - name: Run Grep Checks + run: tools/ci/validate_files.sh + - name: Run TGUI Checks + run: tools/build/build --ci lint tgui-test dreamchecker: name: DreamChecker - runs-on: ubuntu-22.04 # YW EDIT: 20.04 to 22.04 + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 - - name: Cache SpacemanDMM + - name: Restore SpacemanDMM Cache uses: actions/cache@v4 with: path: ~/SpacemanDMM @@ -63,24 +90,22 @@ jobs: outputFile: output-annotations.txt unit_tests: - # YW EDIT start - #strategy: - # matrix: - # map: ['tether', 'stellar_delight', 'groundbase'] + strategy: + matrix: + map: ['USE_MAP_CRYOGAIA'] # YW EDIT Cryogaia # name: Integration Tests (${{ matrix.map }}) - # YW EDIT: end name: Integration Tests - # needs: ['file_tests', 'dreamchecker'] - runs-on: ubuntu-22.04 # YW EDIT: 20.04 to 22.04 + # needs: ['run_linters', 'dreamchecker'] + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 - name: Ensure +x on CI directory run: | chmod -R +x ./tools/ci - - name: Setup Cache + - name: Restore BYOND Cache uses: actions/cache@v4 with: - path: $HOME/BYOND + path: $HOME/byond key: ${{ runner.os }}-byond - name: Install RUST_G Dependencies run: | @@ -88,47 +113,46 @@ jobs: sudo apt update || true sudo apt install zlib1g-dev:i386 libssl-dev:i386 ldd librust_g.so + ldd libbapi_dmm_reader.so + ldd libverdigris.so - name: Unit Tests run: | tools/ci/install_byond.sh tools/ci/compile_and_run.sh env: - TEST_DEFINE: "UNIT_TEST" - TEST_FILE: "code/_unit_tests.dm" - # YW EDIT: start - #MAP: ${{ matrix.map }} - #REPLACE: true - # YW EDIT: end + EXTRA_ARGS: "-DUNIT_TEST -D${{ matrix.map }}" RUN: "1" - - name: Compile POIs + + extra_map_tests: + name: Map Tests + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@v4 + - name: Ensure +x on CI directory run: | - tools/ci/install_byond.sh - tools/ci/compile_and_run.sh + chmod -R +x ./tools/ci + - name: Restore BYOND Cache + uses: actions/cache@v4 + with: + path: $HOME/byond + key: ${{ runner.os }}-byond + - name: Install BYOND + run: tools/ci/install_byond.sh + - name: Compile POIs + run: tools/ci/compile_and_run.sh env: - TEST_DEFINE: "MAP_TEST" - TEST_FILE: "code/_map_tests.dm" - # YW EDIT: start - #MAP: ${{ matrix.map }} - #REPLACE: false - # YW EDIT: end + EXTRA_ARGS: "-DMAP_TEST" RUN: "0" - name: Compile away missions - run: | - tools/ci/install_byond.sh - tools/ci/compile_and_run.sh + run: tools/ci/compile_and_run.sh env: - TEST_DEFINE: "AWAY_MISSION_TEST" - TEST_FILE: "code/_away_mission_tests.dm" - # YW EDIT: start - #MAP: ${{ matrix.map }} - #REPLACE: false - # YW EDIT: end + EXTRA_ARGS: "-DAWAY_MISSION_TEST -DUSE_MAP_CRYOGAIA" # YW EDIT CRYOGAIA # Only Tether has support for all away missions RUN: "0" tests_successful: name: Integration Tests - needs: ['file_tests', 'dreamchecker', 'unit_tests'] - runs-on: ubuntu-22.04 # YW EDIT: 20.04 to 22.04 + needs: ['run_linters', 'dreamchecker', 'unit_tests', 'extra_map_tests'] + runs-on: ubuntu-22.04 steps: - name: Report Success run: | diff --git a/.github/workflows/render_nanomaps.yml b/.github/workflows/render_nanomaps.yml index 767eefe400a..ec05c188cbb 100644 --- a/.github/workflows/render_nanomaps.yml +++ b/.github/workflows/render_nanomaps.yml @@ -19,7 +19,7 @@ jobs: pull-requests: write # to create pull requests (repo-sync/pull-request) name: 'Generate NanoMaps' - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - name: Clone uses: actions/checkout@v4 diff --git a/.gitignore b/.gitignore index 0cda0875f25..28f0cda51c0 100644 --- a/.gitignore +++ b/.gitignore @@ -19,6 +19,7 @@ cfg/ #Ignore everything in datafolder and subdirectories /data/**/* /tmp/**/* +/cache/**/* #Visual studio stuff *.vscode/* @@ -30,5 +31,12 @@ cfg/ temp.dmi node_modules/ package-lock.json -# YW ADDITION: start -# YW ADDITION: end + +# CBT Things +.cache + +#These get built by some automatic process +tgui/public/tgui.bundle.css +tgui/public/tgui.bundle.js +#ignore tracy dll +prof.dll diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 00000000000..2789c260b7c --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +v20.13.0 diff --git a/.vscode/launch.json b/.vscode/launch.json index 24779e223e7..80b1d58f759 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -4,13 +4,59 @@ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ - { - "type": "byond", - "request": "launch", - "name": "Launch DreamDaemon", - "preLaunchTask": "dm: build - ${command:CurrentDME}", - "dmb": "${workspaceFolder}/${command:CurrentDMB}", - "dreamDaemon": true - } + { + "type": "byond", + "request": "launch", + "name": "Launch DreamSeeker", + "preLaunchTask": "Build All", + "dmb": "${workspaceFolder}/${command:CurrentDMB}" + }, + { + "type": "byond", + "request": "launch", + "name": "Launch DreamSeeker (low memory mode)", + "preLaunchTask": "Build All (low memory mode)", + "dmb": "${workspaceFolder}/${command:CurrentDMB}" + }, + { + "type": "byond", + "request": "launch", + "name": "Launch DreamDaemon", + "preLaunchTask": "Build All", + "dmb": "${workspaceFolder}/${command:CurrentDMB}", + "dreamDaemon": true + }, + { + "type": "byond", + "request": "launch", + "name": "Launch DreamDaemon (low memory mode)", + "preLaunchTask": "Build All (low memory mode)", + "dmb": "${workspaceFolder}/${command:CurrentDMB}", + "dreamDaemon": true + }, + { + "name": "Debug External Libraries", + "type": "cppvsdbg", + "request": "launch", + "program": "${command:dreammaker.returnDreamDaemonPath}", + "cwd": "${workspaceRoot}", + "args": [ + "${command:dreammaker.getFilenameDmb}", + "-trusted" + ], + "preLaunchTask": "Build All" + }, + { + "name": "Debug External Libraries (low memory mode)", + "type": "cppvsdbg", + "request": "launch", + "program": "${command:dreammaker.returnDreamDaemonPath}", + "cwd": "${workspaceRoot}", + "args": [ + "${command:dreammaker.getFilenameDmb}", + "-trusted" + ], + "preLaunchTask": "Build All (low memory mode)" + } ] -} \ No newline at end of file +} diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 2b0aed0e814..e101d591657 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -1,6 +1,149 @@ { "version": "2.0.0", "tasks": [ + { + "type": "process", + "command": "tools/build/build", + "windows": { + "command": ".\\tools\\build\\build.bat" + }, + "options": { + "env": { + "DM_EXE": "${config:dreammaker.byondPath}" + } + }, + "problemMatcher": [ + "$dreammaker", + "$tsc", + "$eslint-stylish" + ], + "group": { + "kind": "build", + "isDefault": true + }, + "dependsOn": "dm: reparse", + "label": "Build All" + }, + { + "type": "process", + "command": "tools/build/build", + "args": ["-DLOWMEMORYMODE"], + "windows": { + "command": ".\\tools\\build\\build.bat", + "args": ["-DLOWMEMORYMODE"] + }, + "options": { + "env": { + "DM_EXE": "${config:dreammaker.byondPath}" + } + }, + "problemMatcher": [ + "$dreammaker", + "$tsc", + "$eslint-stylish" + ], + "group": { + "kind": "build" + }, + "dependsOn": "dm: reparse", + "label": "Build All (low memory mode)" + }, + { + "type": "process", + "command": "tools/build/build", + "args": ["-DLOWMEMORYMODE", "-DCITESTING", "-DUSE_MAP_TETHER"], + "windows": { + "command": ".\\tools\\build\\build.bat", + "args": ["-DLOWMEMORYMODE", "-DCITESTING", "-DUSE_MAP_TETHER"] + }, + "options": { + "env": { + "DM_EXE": "${config:dreammaker.byondPath}" + } + }, + "problemMatcher": [ + "$dreammaker", + "$tsc", + "$eslint-stylish" + ], + "group": { + "kind": "build" + }, + "dependsOn": "dm: reparse", + "label": "Build All (Force Tether)" + }, + { + "type": "process", + "command": "tools/build/build", + "args": ["-DLOWMEMORYMODE", "-DCITESTING", "-DUSE_MAP_STELLARDELIGHT"], + "windows": { + "command": ".\\tools\\build\\build.bat", + "args": ["-DLOWMEMORYMODE", "-DCITESTING", "-DUSE_MAP_STELLARDELIGHT"] + }, + "options": { + "env": { + "DM_EXE": "${config:dreammaker.byondPath}" + } + }, + "problemMatcher": [ + "$dreammaker", + "$tsc", + "$eslint-stylish" + ], + "group": { + "kind": "build" + }, + "dependsOn": "dm: reparse", + "label": "Build All (Force Stellar Delight)" + }, + { + "type": "process", + "command": "tools/build/build", + "args": ["-DLOWMEMORYMODE", "-DCITESTING", "-DUSE_MAP_GROUNDBASE"], + "windows": { + "command": ".\\tools\\build\\build.bat", + "args": ["-DLOWMEMORYMODE", "-DCITESTING", "-DUSE_MAP_GROUNDBASE"] + }, + "options": { + "env": { + "DM_EXE": "${config:dreammaker.byondPath}" + } + }, + "problemMatcher": [ + "$dreammaker", + "$tsc", + "$eslint-stylish" + ], + "group": { + "kind": "build" + }, + "dependsOn": "dm: reparse", + "label": "Build All (Force Groundbase)" + }, + { + "type": "process", + "command": "tools/build/build", + "args": ["-DLOWMEMORYMODE", "-DCITESTING", "-DUSE_MAP_MINITEST"], + "windows": { + "command": ".\\tools\\build\\build.bat", + "args": ["-DLOWMEMORYMODE", "-DCITESTING", "-DUSE_MAP_MINITEST"] + }, + "options": { + "env": { + "DM_EXE": "${config:dreammaker.byondPath}" + } + }, + "problemMatcher": [ + "$dreammaker", + "$tsc", + "$eslint-stylish" + ], + "group": { + "kind": "build" + }, + "dependsOn": "dm: reparse", + "label": "Build All (Force Minitest)" + }, { "type": "dreammaker", "dme": "vorestation.dme", @@ -10,11 +153,16 @@ "group": "build", "label": "dm: build - vorestation.dme" }, + { + "command": "${command:dreammaker.reparse}", + "group": "build", + "label": "dm: reparse" + }, { "type": "shell", - "command": "tgui/bin/tgui", + "command": "bin/tgui-build", "windows": { - "command": ".\\tgui\\bin\\tgui.bat" + "command": ".\\bin\\tgui-build.cmd" }, "problemMatcher": [ "$tsc", @@ -25,43 +173,55 @@ }, { "type": "shell", - "command": "yarn build", - "options": { - "cwd": "tgui/packages/tgfont/", + "command": "bin/tgui-dev", + "windows": { + "command": ".\\bin\\tgui-dev.cmd" }, + "problemMatcher": [ + "$tsc", + "$eslint-stylish" + ], "group": "build", - "problemMatcher": [], - "label": "tgui: build tgfont", - "detail": "node mkdist.cjs && fantasticon --config config.cjs" + "label": "tgui: dev server" }, { "type": "shell", - "command": "tgui/bin/tgui", + "command": "bin/tgui-bench", "windows": { - "command": ".\\tgui\\bin\\tgui-prettybuild.bat" + "command": ".\\bin\\tgui-bench.cmd" }, "problemMatcher": [ "$tsc", "$eslint-stylish" ], "group": "build", - "label": "tgui: prettybuild" + "label": "tgui: bench" }, { "type": "shell", - "command": "bin/tgui --dev", + "command": "bin/tgui-sonar", "windows": { - "command": ".\\bin\\tgui.bat --dev" + "command": ".\\bin\\tgui-sonar.cmd" }, "problemMatcher": [ "$tsc", "$eslint-stylish" ], - "options": { - "cwd": ".\\tgui\\", + "group": "build", + "label": "tgui: sonar" + }, + { + "type": "shell", + "command": "bin/tgfont", + "windows": { + "command": ".\\bin\\tgfont.cmd" }, + "problemMatcher": [ + "$tsc", + "$eslint-stylish" + ], "group": "build", - "label": "tgui: dev server" + "label": "tgui: rebuild tgfont" } ] } diff --git a/ATTRIBUTIONS.md b/ATTRIBUTIONS.md index 60f2305a8c3..abaf97a0b98 100644 --- a/ATTRIBUTIONS.md +++ b/ATTRIBUTIONS.md @@ -73,3 +73,16 @@ **Creator:** Poojawa (https://github.com/VOREStation/VOREStation/pull/6052)
**License:** [General License](sound/vore/sunesound/LICENSE.txt)
**Notes:** Permission to use assets also given in writing. All files under this folder is NOT licensed under CC3. Seek separate permission before copying/using.
+
+**File:** `icons/rogue-star/loafs_64x32.dmi`and `icons/rogue-star/tails_64x32_rs.dmi`
+**Title:** Rogue Star Tails
+**Icon-States:** `flagtail`, derivs by VerySoft, `bnytr`, derivs by Verysoft, `chonksqrl`, derivs by Verysoft
+**Creator:** VerySoft (https://github.com/TS-Rogue-Star/Rogue-Star/pull/435)
+**URL:** [Website](https://rogue-star.net/)
+**License:** Permission granting in writing for use by Virgo and Chomp with proper attribution +
+**File:** `icons/mob/turkey.dmi` +**Title:** Turkey
+**Creator:** VerySoft (https://github.com/TS-Rogue-Star/Rogue-Star/pull/669)
+**URL:** [Website](https://rogue-star.net/)
+**License:** Permission granted in writing for use by Virgo and Chomp with proper attribution diff --git a/README.md b/README.md index 1ff396a057d..36ed02c5379 100644 --- a/README.md +++ b/README.md @@ -55,11 +55,11 @@ This will take a while to download, but it provides an easier method for updatin First-time installation should be fairly straightforward. First, you'll need BYOND installed. You can get it from [here](http://www.byond.com/). -This is a sourcecode-only release, so the next step is to compile the server files. Open vorestation.dme by double-clicking it, open the Build menu, and click compile. This'll take a little while, and if everything's done right you'll get a message like this: +**The quick way**. Find `bin/server.cmd` in this folder and double click it to automatically build and host the server on port 1337. - saving vorestation.dmb (DEBUG mode) +**The long way**. Find `bin/build.cmd` in this folder, and double click it to initiate the build. It consists of multiple steps and might take around 1-5 minutes to compile. If it closes, it means it has finished its job. You can then [setup the server](.github/guides/RUNNING_A_SERVER.md) normally by opening `tgstation.dmb` in DreamDaemon. - vorestation.dmb - 0 errors, 0 warnings +**Building vorestation in DreamMaker directly is deprecated and might produce errors**, such as `'tgui.bundle.js': cannot find file`. If you see any errors or warnings, something has gone wrong - possibly a corrupt download or the files extracted wrong, or a code issue on the main repo. Ask on IRC. diff --git a/_build_dependencies.sh b/_build_dependencies.sh index 8b6659c3a93..7902bb3ca54 100644 --- a/_build_dependencies.sh +++ b/_build_dependencies.sh @@ -6,6 +6,6 @@ export NODE_VERSION=20 # Byond Major export BYOND_MAJOR=515 # Byond Minor -export BYOND_MINOR=1630 +export BYOND_MINOR=1642 # Macro Count -export MACRO_COUNT=4 +export MACRO_COUNT=9 # YW EDIT FIXTHIS diff --git a/bapi_dmm_reader.dll b/bapi_dmm_reader.dll new file mode 100644 index 00000000000..0262c5a6809 Binary files /dev/null and b/bapi_dmm_reader.dll differ diff --git a/bin/build.cmd b/bin/build.cmd new file mode 100644 index 00000000000..98c2ef45e15 --- /dev/null +++ b/bin/build.cmd @@ -0,0 +1,2 @@ +@echo off +call "%~dp0\..\tools\build\build.bat" --wait-on-error build %* diff --git a/bin/clean.cmd b/bin/clean.cmd new file mode 100644 index 00000000000..8eacd92ebd7 --- /dev/null +++ b/bin/clean.cmd @@ -0,0 +1,2 @@ +@echo off +call "%~dp0\..\tools\build\build.bat" --wait-on-error clean-all %* diff --git a/bin/server.cmd b/bin/server.cmd new file mode 100644 index 00000000000..c6e6642baf4 --- /dev/null +++ b/bin/server.cmd @@ -0,0 +1,2 @@ +@echo off +call "%~dp0\..\tools\build\build.bat" --wait-on-error server %* diff --git a/bin/test.cmd b/bin/test.cmd new file mode 100644 index 00000000000..a76a9c6745c --- /dev/null +++ b/bin/test.cmd @@ -0,0 +1,2 @@ +@echo off +call "%~dp0\..\tools\build\build.bat" --wait-on-error dm-test %* diff --git a/bin/tgfont.cmd b/bin/tgfont.cmd new file mode 100644 index 00000000000..b768c81d653 --- /dev/null +++ b/bin/tgfont.cmd @@ -0,0 +1,2 @@ +@echo off +call "%~dp0\..\tools\build\build.bat" --wait-on-error tg-font %* diff --git a/bin/tgui-bench.cmd b/bin/tgui-bench.cmd new file mode 100644 index 00000000000..333115f7954 --- /dev/null +++ b/bin/tgui-bench.cmd @@ -0,0 +1,3 @@ +@echo off +call "%~dp0\..\tools\build\build.bat" --wait-on-error tgui-bench %* +pause diff --git a/bin/tgui-build.cmd b/bin/tgui-build.cmd new file mode 100644 index 00000000000..7804fc6daaa --- /dev/null +++ b/bin/tgui-build.cmd @@ -0,0 +1,2 @@ +@echo off +call "%~dp0\..\tools\build\build.bat" --wait-on-error tgui tgui-lint tgui-test %* diff --git a/bin/tgui-dev.cmd b/bin/tgui-dev.cmd new file mode 100644 index 00000000000..25ff3495d42 --- /dev/null +++ b/bin/tgui-dev.cmd @@ -0,0 +1,2 @@ +@echo off +call "%~dp0\..\tools\build\build.bat" --wait-on-error tgui-dev %* diff --git a/bin/tgui-fix.cmd b/bin/tgui-fix.cmd new file mode 100644 index 00000000000..f2844408ef8 --- /dev/null +++ b/bin/tgui-fix.cmd @@ -0,0 +1,2 @@ +@echo off +call "%~dp0\..\tools\build\build.bat" --wait-on-error tgui-fix %* diff --git a/bin/tgui-sonar.cmd b/bin/tgui-sonar.cmd new file mode 100644 index 00000000000..e083f65362a --- /dev/null +++ b/bin/tgui-sonar.cmd @@ -0,0 +1,2 @@ +@echo off +call "%~dp0\..\tools\build\build.bat" --wait-on-error tgui-sonar %* diff --git a/build.cmd b/build.cmd new file mode 100644 index 00000000000..dc791f60c9b --- /dev/null +++ b/build.cmd @@ -0,0 +1,2 @@ +@echo off +call "%~dp0\tools\build\build.bat" --wait-on-error build %* diff --git a/code/ATMOSPHERICS/_atmospherics_helpers.dm b/code/ATMOSPHERICS/_atmospherics_helpers.dm index 76b520a45fa..da777c25815 100644 --- a/code/ATMOSPHERICS/_atmospherics_helpers.dm +++ b/code/ATMOSPHERICS/_atmospherics_helpers.dm @@ -17,7 +17,7 @@ /client/proc/atmos_toggle_debug(var/obj/machinery/atmospherics/M in view()) set name = "Toggle Debug Messages" - set category = "Debug" + set category = "Debug.Misc" M.debug = !M.debug to_chat(usr, "[M]: Debug messages toggled [M.debug? "on" : "off"].") @@ -439,7 +439,7 @@ var/sink_heat_capacity = sink.heat_capacity() var/transfer_heat_capacity = source.heat_capacity()*estimate_moles/source_total_moles air_temperature = (sink.temperature*sink_heat_capacity + source.temperature*transfer_heat_capacity) / (sink_heat_capacity + transfer_heat_capacity) - + //get the number of moles that would have to be transfered to bring sink to the target pressure return pressure_delta*output_volume/(air_temperature * R_IDEAL_GAS_EQUATION) diff --git a/code/ATMOSPHERICS/atmospherics.dm b/code/ATMOSPHERICS/atmospherics.dm index 27457567120..7f3368cc537 100644 --- a/code/ATMOSPHERICS/atmospherics.dm +++ b/code/ATMOSPHERICS/atmospherics.dm @@ -35,8 +35,8 @@ Pipelines + Other Objects -> Pipe network var/obj/machinery/atmospherics/node1 var/obj/machinery/atmospherics/node2 -/obj/machinery/atmospherics/New(loc, newdir) - ..() +/obj/machinery/atmospherics/Initialize(mapload, newdir) + . = ..() if(!icon_manager) icon_manager = new() if(!isnull(newdir)) @@ -82,7 +82,7 @@ Pipelines + Other Objects -> Pipe network return (src.connect_types & target.connect_types) /obj/machinery/atmospherics/attackby(atom/A, mob/user as mob) - if(istype(A, /obj/item/device/pipe_painter)) + if(istype(A, /obj/item/pipe_painter)) return ..() diff --git a/code/ATMOSPHERICS/components/binary_devices/algae_generator_vr.dm b/code/ATMOSPHERICS/components/binary_devices/algae_generator_vr.dm index f4207eeba5e..84ba70f55f4 100644 --- a/code/ATMOSPHERICS/components/binary_devices/algae_generator_vr.dm +++ b/code/ATMOSPHERICS/components/binary_devices/algae_generator_vr.dm @@ -5,7 +5,7 @@ desc = "An oxygen generator using algae to convert carbon dioxide to oxygen." icon = 'icons/obj/machines/algae_vr.dmi' icon_state = "algae-off" - circuit = /obj/item/weapon/circuitboard/algae_farm + circuit = /obj/item/circuitboard/algae_farm anchored = TRUE density = TRUE power_channel = EQUIP @@ -123,7 +123,7 @@ icon_state = "algae-on" return 1 -/obj/machinery/atmospherics/binary/algae_farm/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/machinery/atmospherics/binary/algae_farm/attackby(obj/item/W as obj, mob/user as mob) add_fingerprint(user) if(default_deconstruction_screwdriver(user, W)) return @@ -134,7 +134,7 @@ if(try_load_materials(user, W)) return else - to_chat(user, "You cannot insert this item into \the [src]!") + to_chat(user, span_notice("You cannot insert this item into \the [src]!")) return /obj/machinery/atmospherics/binary/algae_farm/attack_hand(mob/user) @@ -149,12 +149,12 @@ var/bin_rating = 0 var/manip_rating = 0 - for(var/obj/item/weapon/stock_parts/P in component_parts) - if(istype(P, /obj/item/weapon/stock_parts/capacitor)) + for(var/obj/item/stock_parts/P in component_parts) + if(istype(P, /obj/item/stock_parts/capacitor)) cap_rating += P.rating - if(istype(P, /obj/item/weapon/stock_parts/matter_bin)) + if(istype(P, /obj/item/stock_parts/matter_bin)) bin_rating += P.rating - if(istype(P, /obj/item/weapon/stock_parts/manipulator)) + if(istype(P, /obj/item/stock_parts/manipulator)) manip_rating += P.rating power_per_mole = round(initial(power_per_mole) / cap_rating) @@ -206,10 +206,10 @@ return data -/obj/machinery/atmospherics/binary/algae_farm/tgui_act(action, params) +/obj/machinery/atmospherics/binary/algae_farm/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE - add_fingerprint(usr) + add_fingerprint(ui.user) switch(action) if("toggle") @@ -249,7 +249,7 @@ if(!istype(S)) return 0 if(!(S.material.name in stored_material)) - to_chat(user, "\The [src] doesn't accept [material_display_name(S.material)]!") + to_chat(user, span_warning("\The [src] doesn't accept [material_display_name(S.material)]!")) return 1 var/max_res_amount = storage_capacity[S.material.name] if(stored_material[S.material.name] + S.perunit <= max_res_amount) @@ -258,10 +258,10 @@ stored_material[S.material.name] += S.perunit S.use(1) count++ - user.visible_message("\The [user] inserts [S.name] into \the [src].", "You insert [count] [S.name] into \the [src].") + user.visible_message("\The [user] inserts [S.name] into \the [src].", span_notice("You insert [count] [S.name] into \the [src].")) updateUsrDialog() else - to_chat(user, "\The [src] cannot hold more [S.name].") + to_chat(user, span_warning("\The [src] cannot hold more [S.name].")) return 1 /datum/material/algae diff --git a/code/ATMOSPHERICS/components/binary_devices/binary_atmos_base.dm b/code/ATMOSPHERICS/components/binary_devices/binary_atmos_base.dm index cee94b9b5a7..54de979b6c3 100644 --- a/code/ATMOSPHERICS/components/binary_devices/binary_atmos_base.dm +++ b/code/ATMOSPHERICS/components/binary_devices/binary_atmos_base.dm @@ -9,8 +9,8 @@ var/datum/pipe_network/network1 var/datum/pipe_network/network2 -/obj/machinery/atmospherics/binary/New() - ..() +/obj/machinery/atmospherics/binary/Initialize() + . = ..() air1 = new air2 = new @@ -126,4 +126,4 @@ update_icon() update_underlays() - return null \ No newline at end of file + return null diff --git a/code/ATMOSPHERICS/components/binary_devices/circulator.dm b/code/ATMOSPHERICS/components/binary_devices/circulator.dm index c3f6b81ee3f..5c795e38871 100644 --- a/code/ATMOSPHERICS/components/binary_devices/circulator.dm +++ b/code/ATMOSPHERICS/components/binary_devices/circulator.dm @@ -24,8 +24,9 @@ density = TRUE -/obj/machinery/atmospherics/binary/circulator/New() - ..() +/obj/machinery/atmospherics/binary/circulator/Initialize() + . = ..() + desc = initial(desc) + " Its outlet port is to the [dir2text(dir)]." air1.volume = 400 @@ -91,7 +92,7 @@ return 1 -/obj/machinery/atmospherics/binary/circulator/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/machinery/atmospherics/binary/circulator/attackby(obj/item/W as obj, mob/user as mob) if(W.has_tool_quality(TOOL_WRENCH)) playsound(src, W.usesound, 75, 1) anchored = !anchored @@ -149,4 +150,4 @@ return src.set_dir(turn(src.dir, 90)) - desc = initial(desc) + " Its outlet port is to the [dir2text(dir)]." \ No newline at end of file + desc = initial(desc) + " Its outlet port is to the [dir2text(dir)]." diff --git a/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm b/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm index 251aa4c1473..36616ae721d 100644 --- a/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm +++ b/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm @@ -42,8 +42,11 @@ //2: Do not pass input_pressure_min //4: Do not pass output_pressure_max -/obj/machinery/atmospherics/binary/dp_vent_pump/New() - ..() +/obj/machinery/atmospherics/binary/dp_vent_pump/Initialize() + . = ..() + if(frequency) + set_frequency(frequency) + air1.volume = ATMOS_DEFAULT_VOLUME_PUMP air2.volume = ATMOS_DEFAULT_VOLUME_PUMP icon = null @@ -55,8 +58,8 @@ /obj/machinery/atmospherics/binary/dp_vent_pump/high_volume name = "Large Dual Port Air Vent" -/obj/machinery/atmospherics/binary/dp_vent_pump/high_volume/New() - ..() +/obj/machinery/atmospherics/binary/dp_vent_pump/high_volume/Initialize() + . = ..() air1.volume = ATMOS_DEFAULT_VOLUME_PUMP + 800 air2.volume = ATMOS_DEFAULT_VOLUME_PUMP + 800 @@ -194,11 +197,6 @@ return 1 -/obj/machinery/atmospherics/binary/dp_vent_pump/Initialize() - . = ..() - if(frequency) - set_frequency(frequency) - /obj/machinery/atmospherics/binary/dp_vent_pump/examine(mob/user) . = ..() if(Adjacent(user)) diff --git a/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm b/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm index 5d39a608513..fd1158f408a 100644 --- a/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm +++ b/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm @@ -27,10 +27,12 @@ var/id = null var/datum/radio_frequency/radio_connection -/obj/machinery/atmospherics/binary/passive_gate/New() - ..() +/obj/machinery/atmospherics/binary/passive_gate/Initialize() + . = ..() air1.volume = ATMOS_DEFAULT_VOLUME_PUMP * 2.5 air2.volume = ATMOS_DEFAULT_VOLUME_PUMP * 2.5 + if(frequency) + set_frequency(frequency) /obj/machinery/atmospherics/binary/passive_gate/Destroy() unregister_radio(src, frequency) @@ -169,11 +171,6 @@ return 1 -/obj/machinery/atmospherics/binary/passive_gate/Initialize() - . = ..() - if(frequency) - set_frequency(frequency) - /obj/machinery/atmospherics/binary/passive_gate/receive_signal(datum/signal/signal) if(!signal.data["tag"] || (signal.data["tag"] != id) || (signal.data["sigtype"]!="command")) return 0 @@ -206,9 +203,9 @@ /obj/machinery/atmospherics/binary/passive_gate/attack_hand(user as mob) if(..()) return - add_fingerprint(usr) + add_fingerprint(user) if(!allowed(user)) - to_chat(user, "Access denied.") + to_chat(user, span_warning("Access denied.")) return tgui_interact(user) @@ -238,7 +235,7 @@ return data -/obj/machinery/atmospherics/binary/passive_gate/tgui_act(action, params) +/obj/machinery/atmospherics/binary/passive_gate/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE @@ -261,7 +258,7 @@ if("max") target_pressure = max_pressure_setting if("set") - var/new_pressure = tgui_input_number(usr,"Enter new output pressure (0-[max_pressure_setting]kPa)","Pressure Control",src.target_pressure,max_pressure_setting,0) + var/new_pressure = tgui_input_number(ui.user,"Enter new output pressure (0-[max_pressure_setting]kPa)","Pressure Control",src.target_pressure,max_pressure_setting,0) src.target_pressure = between(0, new_pressure, max_pressure_setting) if("set_flow_rate") @@ -272,28 +269,28 @@ if("max") set_flow_rate = air1.volume if("set") - var/new_flow_rate = tgui_input_number(usr,"Enter new flow rate limit (0-[air1.volume]L/s)","Flow Rate Control",src.set_flow_rate,air1.volume,0) + var/new_flow_rate = tgui_input_number(ui.user,"Enter new flow rate limit (0-[air1.volume]L/s)","Flow Rate Control",src.set_flow_rate,air1.volume,0) src.set_flow_rate = between(0, new_flow_rate, air1.volume) update_icon() - add_fingerprint(usr) + add_fingerprint(ui.user) -/obj/machinery/atmospherics/binary/passive_gate/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) +/obj/machinery/atmospherics/binary/passive_gate/attackby(var/obj/item/W as obj, var/mob/user as mob) if (!W.has_tool_quality(TOOL_WRENCH)) return ..() if (unlocked) - to_chat(user, "You cannot unwrench \the [src], turn it off first.") + to_chat(user, span_warning("You cannot unwrench \the [src], turn it off first.")) return 1 if(!can_unwrench()) - to_chat(user, "You cannot unwrench \the [src], it too exerted due to internal pressure.") + to_chat(user, span_warning("You cannot unwrench \the [src], it too exerted due to internal pressure.")) add_fingerprint(user) return 1 playsound(src, W.usesound, 50, 1) - to_chat(user, "You begin to unfasten \the [src]...") + to_chat(user, span_notice("You begin to unfasten \the [src]...")) if (do_after(user, 40 * W.toolspeed)) user.visible_message( \ - "\The [user] unfastens \the [src].", \ - "You have unfastened \the [src].", \ + span_infoplain(span_bold("\The [user]") + " unfastens \the [src]."), \ + span_notice("You have unfastened \the [src]."), \ "You hear ratchet.") deconstruct() diff --git a/code/ATMOSPHERICS/components/binary_devices/pipeturbine.dm b/code/ATMOSPHERICS/components/binary_devices/pipeturbine.dm index 6b0f40b8b4c..df55d47a9fb 100644 --- a/code/ATMOSPHERICS/components/binary_devices/pipeturbine.dm +++ b/code/ATMOSPHERICS/components/binary_devices/pipeturbine.dm @@ -81,11 +81,11 @@ if (kin_energy > 1000000) add_overlay(image('icons/obj/pipeturbine.dmi', "hi-turb")) -/obj/machinery/atmospherics/pipeturbine/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/machinery/atmospherics/pipeturbine/attackby(obj/item/W as obj, mob/user as mob) if(W.has_tool_quality(TOOL_WRENCH)) anchored = !anchored playsound(src, W.usesound, 50, 1) - to_chat(user, "You [anchored ? "secure" : "unsecure"] the bolts holding \the [src] to the floor.") + to_chat(user, span_notice("You [anchored ? "secure" : "unsecure"] the bolts holding \the [src] to the floor.")) if(anchored) if(dir & (NORTH|SOUTH)) @@ -255,12 +255,12 @@ turbine.kin_energy -= power_generated add_avail(power_generated) -/obj/machinery/power/turbinemotor/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/machinery/power/turbinemotor/attackby(obj/item/W as obj, mob/user as mob) if(W.has_tool_quality(TOOL_WRENCH)) anchored = !anchored playsound(src, W.usesound, 50, 1) turbine = null - to_chat(user, "You [anchored ? "secure" : "unsecure"] the bolts holding \the [src] to the floor.") + to_chat(user, span_notice("You [anchored ? "secure" : "unsecure"] the bolts holding \the [src] to the floor.")) updateConnection() else ..() @@ -283,4 +283,4 @@ if (usr.stat || usr.restrained() || anchored) return - src.set_dir(turn(src.dir, 90)) \ No newline at end of file + src.set_dir(turn(src.dir, 90)) diff --git a/code/ATMOSPHERICS/components/binary_devices/pump.dm b/code/ATMOSPHERICS/components/binary_devices/pump.dm index 3e22ea310d5..70b498722f2 100644 --- a/code/ATMOSPHERICS/components/binary_devices/pump.dm +++ b/code/ATMOSPHERICS/components/binary_devices/pump.dm @@ -37,10 +37,13 @@ Thus, the two variables affect pump operation are set in New(): var/id = null var/datum/radio_frequency/radio_connection -/obj/machinery/atmospherics/binary/pump/New() - ..() +/obj/machinery/atmospherics/binary/pump/Initialize() + . = ..() + air1.volume = ATMOS_DEFAULT_VOLUME_PUMP air2.volume = ATMOS_DEFAULT_VOLUME_PUMP + if(frequency) + set_frequency(frequency) /obj/machinery/atmospherics/binary/pump/Destroy() unregister_radio(src, frequency) @@ -166,11 +169,6 @@ Thus, the two variables affect pump operation are set in New(): return data -/obj/machinery/atmospherics/binary/pump/Initialize() - . = ..() - if(frequency) - set_frequency(frequency) - /obj/machinery/atmospherics/binary/pump/receive_signal(datum/signal/signal) if(!signal.data["tag"] || (signal.data["tag"] != id) || (signal.data["sigtype"]!="command")) return 0 @@ -203,13 +201,13 @@ Thus, the two variables affect pump operation are set in New(): /obj/machinery/atmospherics/binary/pump/attack_hand(mob/user) if(..()) return - add_fingerprint(usr) + add_fingerprint(user) if(!allowed(user)) - to_chat(user, "Access denied.") + to_chat(user, span_warning("Access denied.")) return tgui_interact(user) -/obj/machinery/atmospherics/binary/pump/tgui_act(action, params) +/obj/machinery/atmospherics/binary/pump/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE @@ -225,11 +223,11 @@ Thus, the two variables affect pump operation are set in New(): if("max") target_pressure = max_pressure_setting if("set") - var/new_pressure = tgui_input_number(usr,"Enter new output pressure (0-[max_pressure_setting]kPa)","Pressure control",src.target_pressure,max_pressure_setting,0) + var/new_pressure = tgui_input_number(ui.user,"Enter new output pressure (0-[max_pressure_setting]kPa)","Pressure control",src.target_pressure,max_pressure_setting,0) src.target_pressure = between(0, new_pressure, max_pressure_setting) . = TRUE - add_fingerprint(usr) + add_fingerprint(ui.user) update_icon() /obj/machinery/atmospherics/binary/pump/power_change() @@ -238,21 +236,21 @@ Thus, the two variables affect pump operation are set in New(): if(old_stat != stat) update_icon() -/obj/machinery/atmospherics/binary/pump/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) +/obj/machinery/atmospherics/binary/pump/attackby(var/obj/item/W as obj, var/mob/user as mob) if (!W.has_tool_quality(TOOL_WRENCH)) return ..() if (!(stat & NOPOWER) && use_power) - to_chat(user, "You cannot unwrench this [src], turn it off first.") + to_chat(user, span_warning("You cannot unwrench this [src], turn it off first.")) return 1 if(!can_unwrench()) - to_chat(user, "You cannot unwrench this [src], it too exerted due to internal pressure.") + to_chat(user, span_warning("You cannot unwrench this [src], it too exerted due to internal pressure.")) add_fingerprint(user) return 1 playsound(src, W.usesound, 50, 1) - to_chat(user, "You begin to unfasten \the [src]...") + to_chat(user, span_notice("You begin to unfasten \the [src]...")) if (do_after(user, 40 * W.toolspeed)) user.visible_message( \ - "\The [user] unfastens \the [src].", \ - "You have unfastened \the [src].", \ + span_infoplain(span_bold("\The [user]") + " unfastens \the [src]."), \ + span_notice("You have unfastened \the [src]."), \ "You hear ratchet.") deconstruct() diff --git a/code/ATMOSPHERICS/components/omni_devices/filter.dm b/code/ATMOSPHERICS/components/omni_devices/filter.dm index 8990ba011f3..4d442b772a6 100644 --- a/code/ATMOSPHERICS/components/omni_devices/filter.dm +++ b/code/ATMOSPHERICS/components/omni_devices/filter.dm @@ -20,8 +20,9 @@ var/list/filtering_outputs = list() //maps gasids to gas_mixtures -/obj/machinery/atmospherics/omni/atmos_filter/New() - ..() +/obj/machinery/atmospherics/omni/atmos_filter/Initialize() + . = ..() + rebuild_filtering_list() for(var/datum/omni_port/P in ports) P.air.volume = ATMOS_DEFAULT_VOLUME_FILTER @@ -151,7 +152,7 @@ else return null -/obj/machinery/atmospherics/omni/atmos_filter/tgui_act(action, params) +/obj/machinery/atmospherics/omni/atmos_filter/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE @@ -170,7 +171,7 @@ if("set_flow_rate") if(!configuring || use_power) return - var/new_flow_rate = tgui_input_number(usr,"Enter new flow rate limit (0-[max_flow_rate]L/s)","Flow Rate Control",set_flow_rate,max_flow_rate,0) + var/new_flow_rate = tgui_input_number(ui.user,"Enter new flow rate limit (0-[max_flow_rate]L/s)","Flow Rate Control",set_flow_rate,max_flow_rate,0) set_flow_rate = between(0, new_flow_rate, max_flow_rate) . = TRUE if("switch_mode") @@ -181,7 +182,7 @@ if("switch_filter") if(!configuring || use_power) return - var/new_filter = tgui_input_list(usr, "Select filter mode:", "Change filter", list("None", "Oxygen", "Nitrogen", "Carbon Dioxide", "Phoron", "Nitrous Oxide")) + var/new_filter = tgui_input_list(ui.user, "Select filter mode:", "Change filter", list("None", "Oxygen", "Nitrogen", "Carbon Dioxide", "Phoron", "Nitrous Oxide")) if(!new_filter) return switch_filter(dir_flag(params["dir"]), mode_return_switch(new_filter)) diff --git a/code/ATMOSPHERICS/components/omni_devices/mixer.dm b/code/ATMOSPHERICS/components/omni_devices/mixer.dm index fa627ddc64b..9d0b9c78f7f 100644 --- a/code/ATMOSPHERICS/components/omni_devices/mixer.dm +++ b/code/ATMOSPHERICS/components/omni_devices/mixer.dm @@ -24,8 +24,9 @@ var/list/mixing_inputs = list() -/obj/machinery/atmospherics/omni/mixer/New() - ..() +/obj/machinery/atmospherics/omni/mixer/Initialize() + . = ..() + if(mapper_set()) var/con = 0 for(var/datum/omni_port/P in ports) @@ -163,7 +164,7 @@ return data -/obj/machinery/atmospherics/omni/mixer/tgui_act(action, params) +/obj/machinery/atmospherics/omni/mixer/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE @@ -183,7 +184,7 @@ . = TRUE if(!configuring || use_power) return - var/new_flow_rate = tgui_input_number(usr,"Enter new flow rate limit (0-[max_flow_rate]L/s)","Flow Rate Control",set_flow_rate,max_flow_rate,0) + var/new_flow_rate = tgui_input_number(ui.user,"Enter new flow rate limit (0-[max_flow_rate]L/s)","Flow Rate Control",set_flow_rate,max_flow_rate,0) set_flow_rate = between(0, new_flow_rate, max_flow_rate) if("switch_mode") . = TRUE @@ -194,7 +195,7 @@ . = TRUE if(!configuring || use_power) return - change_concentration(dir_flag(params["dir"])) + change_concentration(dir_flag(params["dir"]), ui.user) if("switch_conlock") . = TRUE if(!configuring || use_power) @@ -243,7 +244,7 @@ update_ports() rebuild_mixing_inputs() -/obj/machinery/atmospherics/omni/mixer/proc/change_concentration(var/port = NORTH) +/obj/machinery/atmospherics/omni/mixer/proc/change_concentration(var/port = NORTH, mob/user) tag_north_con = null tag_south_con = null tag_east_con = null @@ -265,7 +266,7 @@ if(non_locked < 1) return - var/new_con = (tgui_input_number(usr,"Enter a new concentration (0-[round(remain_con * 100, 0.5)])%","Concentration control", min(remain_con, old_con)*100, round(remain_con * 100, 0.5), 0)) / 100 + var/new_con = (tgui_input_number(user,"Enter a new concentration (0-[round(remain_con * 100, 0.5)])%","Concentration control", min(remain_con, old_con)*100, round(remain_con * 100, 0.5), 0)) / 100 //cap it between 0 and the max remaining concentration new_con = between(0, new_con, remain_con) diff --git a/code/ATMOSPHERICS/components/omni_devices/omni_base.dm b/code/ATMOSPHERICS/components/omni_devices/omni_base.dm index 77a35c8eae8..9e6613ebf2b 100644 --- a/code/ATMOSPHERICS/components/omni_devices/omni_base.dm +++ b/code/ATMOSPHERICS/components/omni_devices/omni_base.dm @@ -25,8 +25,9 @@ var/list/ports = new() -/obj/machinery/atmospherics/omni/New() - ..() +/obj/machinery/atmospherics/omni/Initialize() + . = ..() + icon_state = "base" ports = new() @@ -79,20 +80,20 @@ if(old_stat != stat) update_icon() -/obj/machinery/atmospherics/omni/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) +/obj/machinery/atmospherics/omni/attackby(var/obj/item/W as obj, var/mob/user as mob) if(!W.has_tool_quality(TOOL_WRENCH)) return ..() if(!can_unwrench()) - to_chat(user, "You cannot unwrench \the [src], it is too exerted due to internal pressure.") + to_chat(user, span_warning("You cannot unwrench \the [src], it is too exerted due to internal pressure.")) add_fingerprint(user) return 1 - to_chat(user, "You begin to unfasten \the [src]...") + to_chat(user, span_notice("You begin to unfasten \the [src]...")) playsound(src, W.usesound, 50, 1) if(do_after(user, 40 * W.toolspeed)) user.visible_message( \ - "\The [user] unfastens \the [src].", \ - "You have unfastened \the [src].", \ + span_infoplain(span_bold("\The [user]") + "unfastens \the [src]."), \ + span_notice("You have unfastened \the [src]."), \ "You hear a ratchet.") deconstruct() @@ -100,7 +101,7 @@ if(..()) return - src.add_fingerprint(usr) + src.add_fingerprint(user) tgui_interact(user) return diff --git a/code/ATMOSPHERICS/components/portables_connector.dm b/code/ATMOSPHERICS/components/portables_connector.dm index 5d315cf0a05..2dbc9afc00e 100644 --- a/code/ATMOSPHERICS/components/portables_connector.dm +++ b/code/ATMOSPHERICS/components/portables_connector.dm @@ -146,23 +146,23 @@ return null -/obj/machinery/atmospherics/portables_connector/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) +/obj/machinery/atmospherics/portables_connector/attackby(var/obj/item/W as obj, var/mob/user as mob) if (!W.has_tool_quality(TOOL_WRENCH)) return ..() if (connected_device) - to_chat(user, "You cannot unwrench \the [src], dettach \the [connected_device] first.") + to_chat(user, span_warning("You cannot unwrench \the [src], dettach \the [connected_device] first.")) return 1 if (locate(/obj/machinery/portable_atmospherics, src.loc)) return 1 if(!can_unwrench()) - to_chat(user, "You cannot unwrench \the [src], it too exerted due to internal pressure.") + to_chat(user, span_warning("You cannot unwrench \the [src], it too exerted due to internal pressure.")) add_fingerprint(user) return 1 playsound(src, W.usesound, 50, 1) - to_chat(user, "You begin to unfasten \the [src]...") + to_chat(user, span_notice("You begin to unfasten \the [src]...")) if (do_after(user, 40 * W.toolspeed)) user.visible_message( \ - "\The [user] unfastens \the [src].", \ - "You have unfastened \the [src].", \ + span_infoplain(span_bold("\The [user]") + " unfastens \the [src]."), \ + span_notice("You have unfastened \the [src]."), \ "You hear a ratchet.") deconstruct() diff --git a/code/ATMOSPHERICS/components/shutoff.dm b/code/ATMOSPHERICS/components/shutoff.dm index 7517cbd7efc..2084b8c901c 100644 --- a/code/ATMOSPHERICS/components/shutoff.dm +++ b/code/ATMOSPHERICS/components/shutoff.dm @@ -32,7 +32,7 @@ GLOBAL_LIST_EMPTY(shutoff_valves) return src.attack_hand(user) /obj/machinery/atmospherics/valve/shutoff/attack_hand(var/mob/user) - src.add_fingerprint(usr) + src.add_fingerprint(user) update_icon(1) close_on_leaks = !close_on_leaks to_chat(user, "You [close_on_leaks ? "enable" : "disable"] the automatic shutoff circuit.") diff --git a/code/ATMOSPHERICS/components/station_boiler.dm b/code/ATMOSPHERICS/components/station_boiler.dm index 389e2d5740f..8cab413d569 100644 --- a/code/ATMOSPHERICS/components/station_boiler.dm +++ b/code/ATMOSPHERICS/components/station_boiler.dm @@ -106,7 +106,7 @@ var/global/list/stationboilers = list() //Should only ever have one, caching to to_chat(user, "\The [src] cannot hold more [S.name].") return 1 -/obj/machinery/atmospherics/binary/stationboiler/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/machinery/atmospherics/binary/stationboiler/attackby(obj/item/W as obj, mob/user as mob) add_fingerprint(user) if(try_load_materials(user, W)) return diff --git a/code/ATMOSPHERICS/components/trinary_devices/filter.dm b/code/ATMOSPHERICS/components/trinary_devices/filter.dm index 18ade9acefe..f332afee61c 100755 --- a/code/ATMOSPHERICS/components/trinary_devices/filter.dm +++ b/code/ATMOSPHERICS/components/trinary_devices/filter.dm @@ -39,8 +39,9 @@ if(frequency) radio_connection = radio_controller.add_object(src, frequency, RADIO_ATMOSIA) -/obj/machinery/atmospherics/trinary/atmos_filter/New() - ..() +/obj/machinery/atmospherics/trinary/atmos_filter/Initialize() + . = ..() + switch(filter_type) if(0) //removing hydrocarbons filtered_out = list("phoron") @@ -56,6 +57,8 @@ air1.volume = ATMOS_DEFAULT_VOLUME_FILTER air2.volume = ATMOS_DEFAULT_VOLUME_FILTER air3.volume = ATMOS_DEFAULT_VOLUME_FILTER + if(frequency) + set_frequency(frequency) /obj/machinery/atmospherics/trinary/atmos_filter/Destroy() unregister_radio(src, frequency) @@ -106,17 +109,12 @@ return 1 -/obj/machinery/atmospherics/trinary/atmos_filter/Initialize() - . = ..() - if(frequency) - set_frequency(frequency) - /obj/machinery/atmospherics/trinary/atmos_filter/attack_hand(user) // -- TLE if(..()) return if(!src.allowed(user)) - to_chat(user, "Access denied.") + to_chat(user, span_warning("Access denied.")) return tgui_interact(user) @@ -157,7 +155,7 @@ // user << browse("[src.name] control[dat]", "window=atmos_filter") // onclose(user, "atmos_filter") - + /obj/machinery/atmospherics/trinary/atmos_filter/tgui_interact(mob/user, datum/tgui/ui) @@ -184,7 +182,7 @@ return data -/obj/machinery/atmospherics/trinary/atmos_filter/tgui_act(action, params) +/obj/machinery/atmospherics/trinary/atmos_filter/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE @@ -218,7 +216,7 @@ if(4)//removing N2O filtered_out += "nitrous_oxide" - add_fingerprint(usr) + add_fingerprint(ui.user) update_icon() // diff --git a/code/ATMOSPHERICS/components/trinary_devices/mixer.dm b/code/ATMOSPHERICS/components/trinary_devices/mixer.dm index 7e06e5de821..86ee7517622 100644 --- a/code/ATMOSPHERICS/components/trinary_devices/mixer.dm +++ b/code/ATMOSPHERICS/components/trinary_devices/mixer.dm @@ -37,8 +37,9 @@ icon_state += "off" update_use_power(USE_POWER_OFF) -/obj/machinery/atmospherics/trinary/mixer/New() - ..() +/obj/machinery/atmospherics/trinary/mixer/Initialize() + . = ..() + air1.volume = ATMOS_DEFAULT_VOLUME_MIXER air2.volume = ATMOS_DEFAULT_VOLUME_MIXER air3.volume = ATMOS_DEFAULT_VOLUME_MIXER * 1.5 @@ -99,13 +100,13 @@ if(..()) return tgui_interact(user) - // src.add_fingerprint(usr) + // src.add_fingerprint(user) // if(!src.allowed(user)) - // to_chat(user, "Access denied.") + // to_chat(user, span_warning("Access denied.")) // return - // usr.set_machine(src) + // user.set_machine(src) // var/list/node_connects = get_node_connect_dirs() - // var/dat = {"Power: [use_power?"On":"Off"]
+ // var/dat = {span_bold("Power: ") + "[use_power?"On":"Off"]
// Set Flow Rate Limit: // [set_flow_rate]L/s | Change //
diff --git a/code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm b/code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm index 1bae066a69d..7e91b8941fb 100644 --- a/code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm +++ b/code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm @@ -17,8 +17,8 @@ var/datum/pipe_network/network2 var/datum/pipe_network/network3 -/obj/machinery/atmospherics/trinary/New() - ..() +/obj/machinery/atmospherics/trinary/Initialize() + . = ..() air1 = new air2 = new @@ -51,19 +51,19 @@ if(old_stat != stat) update_icon() -/obj/machinery/atmospherics/trinary/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) +/obj/machinery/atmospherics/trinary/attackby(var/obj/item/W as obj, var/mob/user as mob) if (!W.has_tool_quality(TOOL_WRENCH)) return ..() if(!can_unwrench()) - to_chat(user, "You cannot unwrench \the [src], it too exerted due to internal pressure.") + to_chat(user, span_warning("You cannot unwrench \the [src], it too exerted due to internal pressure.")) add_fingerprint(user) return 1 playsound(src, W.usesound, 50, 1) - to_chat(user, "You begin to unfasten \the [src]...") + to_chat(user, span_notice("You begin to unfasten \the [src]...")) if (do_after(user, 40 * W.toolspeed)) user.visible_message( \ - "\The [user] unfastens \the [src].", \ - "You have unfastened \the [src].", \ + span_infoplain(span_bold("\The [user]") + " unfastens \the [src]."), \ + span_notice("You have unfastened \the [src]."), \ "You hear a ratchet.") deconstruct() diff --git a/code/ATMOSPHERICS/components/tvalve.dm b/code/ATMOSPHERICS/components/tvalve.dm index 5edf6966965..9f0f220ec2a 100644 --- a/code/ATMOSPHERICS/components/tvalve.dm +++ b/code/ATMOSPHERICS/components/tvalve.dm @@ -161,7 +161,7 @@ return /obj/machinery/atmospherics/tvalve/attack_hand(mob/user as mob) - src.add_fingerprint(usr) + src.add_fingerprint(user) update_icon(1) sleep(10) if (src.state) @@ -288,7 +288,7 @@ if(!powered()) return if(!src.allowed(user)) - to_chat(user, "Access denied.") + to_chat(user, span_warning("Access denied.")) return ..() @@ -326,19 +326,19 @@ else go_to_side() -/obj/machinery/atmospherics/tvalve/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) +/obj/machinery/atmospherics/tvalve/attackby(var/obj/item/W as obj, var/mob/user as mob) if (!W.has_tool_quality(TOOL_WRENCH)) return ..() if(!can_unwrench()) - to_chat(user, "You cannot unwrench \the [src], it too exerted due to internal pressure.") + to_chat(user, span_warning("You cannot unwrench \the [src], it too exerted due to internal pressure.")) add_fingerprint(user) return 1 playsound(src, W.usesound, 50, 1) - to_chat(user, "You begin to unfasten \the [src]...") + to_chat(user, span_notice("You begin to unfasten \the [src]...")) if (do_after(user, 40 * W.toolspeed)) user.visible_message( \ - "\The [user] unfastens \the [src].", \ - "You have unfastened \the [src].", \ + span_infoplain(span_bold("\The [user]") + " unfastens \the [src]."), \ + span_notice("You have unfastened \the [src]."), \ "You hear a ratchet.") deconstruct() diff --git a/code/ATMOSPHERICS/components/unary/cold_sink.dm b/code/ATMOSPHERICS/components/unary/cold_sink.dm index ed391dec5fb..5dd984a0ff8 100644 --- a/code/ATMOSPHERICS/components/unary/cold_sink.dm +++ b/code/ATMOSPHERICS/components/unary/cold_sink.dm @@ -10,7 +10,7 @@ anchored = TRUE use_power = USE_POWER_OFF idle_power_usage = 5 // 5 Watts for thermostat related circuitry - circuit = /obj/item/weapon/circuitboard/unary_atmos/cooler + circuit = /obj/item/circuitboard/unary_atmos/cooler var/heatsink_temperature = T20C // The constant temperature reservoir into which the freezer pumps heat. Probably the hull of the station or something. var/internal_volume = 600 // L @@ -84,7 +84,7 @@ return data -/obj/machinery/atmospherics/unary/freezer/tgui_act(action, params) +/obj/machinery/atmospherics/unary/freezer/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE @@ -103,7 +103,7 @@ var/new_setting = between(0, text2num(params["value"]), 100) set_power_level(new_setting) - add_fingerprint(usr) + add_fingerprint(ui.user) /obj/machinery/atmospherics/unary/freezer/process() ..() @@ -142,12 +142,12 @@ var/manip_rating = 0 var/bin_rating = 0 - for(var/obj/item/weapon/stock_parts/P in component_parts) - if(istype(P, /obj/item/weapon/stock_parts/capacitor)) + for(var/obj/item/stock_parts/P in component_parts) + if(istype(P, /obj/item/stock_parts/capacitor)) cap_rating += P.rating - if(istype(P, /obj/item/weapon/stock_parts/manipulator)) + if(istype(P, /obj/item/stock_parts/manipulator)) manip_rating += P.rating - if(istype(P, /obj/item/weapon/stock_parts/matter_bin)) + if(istype(P, /obj/item/stock_parts/matter_bin)) bin_rating += P.rating max_power_rating = initial(max_power_rating) * cap_rating / 2 //more powerful diff --git a/code/ATMOSPHERICS/components/unary/heat_exchanger.dm b/code/ATMOSPHERICS/components/unary/heat_exchanger.dm index cc50782d71c..078c97af8a1 100644 --- a/code/ATMOSPHERICS/components/unary/heat_exchanger.dm +++ b/code/ATMOSPHERICS/components/unary/heat_exchanger.dm @@ -36,11 +36,11 @@ if(!partner) return 0 - if(!air_master || air_master.current_cycle <= update_cycle) + if(!SSair || SSair.current_cycle <= update_cycle) return 0 - update_cycle = air_master.current_cycle - partner.update_cycle = air_master.current_cycle + update_cycle = SSair.current_cycle + partner.update_cycle = SSair.current_cycle var/air_heat_capacity = air_contents.heat_capacity() var/other_air_heat_capacity = partner.air_contents.heat_capacity() @@ -66,22 +66,22 @@ return 1 -/obj/machinery/atmospherics/unary/heat_exchanger/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) +/obj/machinery/atmospherics/unary/heat_exchanger/attackby(var/obj/item/W as obj, var/mob/user as mob) if (!W.has_tool_quality(TOOL_WRENCH)) return ..() var/turf/T = src.loc if (level==1 && isturf(T) && !T.is_plating()) - to_chat(user, "You must remove the plating first.") + to_chat(user, span_warning("You must remove the plating first.")) return 1 if (!can_unwrench()) - to_chat(user, "You cannot unwrench \the [src], it is too exerted due to internal pressure.") + to_chat(user, span_warning("You cannot unwrench \the [src], it is too exerted due to internal pressure.")) add_fingerprint(user) return 1 playsound(src, W.usesound, 50, 1) - to_chat(user, "You begin to unfasten \the [src]...") + to_chat(user, span_notice("You begin to unfasten \the [src]...")) if (do_after(user, 40 * W.toolspeed)) user.visible_message( \ - "\The [user] unfastens \the [src].", \ - "You have unfastened \the [src].", \ + span_infoplain(span_bold("\The [user]") + " unfastens \the [src]."), \ + span_notice("You have unfastened \the [src]."), \ "You hear a ratchet.") deconstruct() diff --git a/code/ATMOSPHERICS/components/unary/heat_source.dm b/code/ATMOSPHERICS/components/unary/heat_source.dm index 85b0dcb821e..2c1a22a825c 100644 --- a/code/ATMOSPHERICS/components/unary/heat_source.dm +++ b/code/ATMOSPHERICS/components/unary/heat_source.dm @@ -10,7 +10,7 @@ anchored = TRUE use_power = USE_POWER_OFF idle_power_usage = 5 //5 Watts for thermostat related circuitry - circuit = /obj/item/weapon/circuitboard/unary_atmos/heater + circuit = /obj/item/circuitboard/unary_atmos/heater var/max_temperature = T20C + 680 var/internal_volume = 600 //L @@ -104,7 +104,7 @@ return data -/obj/machinery/atmospherics/unary/heater/tgui_act(action, params) +/obj/machinery/atmospherics/unary/heater/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE @@ -123,7 +123,7 @@ var/new_setting = between(0, text2num(params["value"]), 100) set_power_level(new_setting) - add_fingerprint(usr) + add_fingerprint(ui.user) //upgrading parts /obj/machinery/atmospherics/unary/heater/RefreshParts() @@ -131,10 +131,10 @@ var/cap_rating = 0 var/bin_rating = 0 - for(var/obj/item/weapon/stock_parts/P in component_parts) - if(istype(P, /obj/item/weapon/stock_parts/capacitor)) + for(var/obj/item/stock_parts/P in component_parts) + if(istype(P, /obj/item/stock_parts/capacitor)) cap_rating += P.rating - if(istype(P, /obj/item/weapon/stock_parts/matter_bin)) + if(istype(P, /obj/item/stock_parts/matter_bin)) bin_rating += P.rating max_power_rating = initial(max_power_rating) * cap_rating / 2 diff --git a/code/ATMOSPHERICS/components/unary/outlet_injector.dm b/code/ATMOSPHERICS/components/unary/outlet_injector.dm index 8002d79ad55..57144148fd4 100644 --- a/code/ATMOSPHERICS/components/unary/outlet_injector.dm +++ b/code/ATMOSPHERICS/components/unary/outlet_injector.dm @@ -24,9 +24,12 @@ level = 1 -/obj/machinery/atmospherics/unary/outlet_injector/New() - ..() +/obj/machinery/atmospherics/unary/outlet_injector/Initialize() + . = ..() + air_contents.volume = ATMOS_DEFAULT_VOLUME_PUMP + 500 //Give it a small reservoir for injecting. Also allows it to have a higher flow rate limit than vent pumps, to differentiate injectors a bit more. + if(frequency) + set_frequency(frequency) /obj/machinery/atmospherics/unary/outlet_injector/Destroy() unregister_radio(src, frequency) @@ -122,11 +125,6 @@ return 1 -/obj/machinery/atmospherics/unary/outlet_injector/Initialize() - . = ..() - if(frequency) - set_frequency(frequency) - /obj/machinery/atmospherics/unary/outlet_injector/receive_signal(datum/signal/signal) if(!signal.data["tag"] || (signal.data["tag"] != id) || (signal.data["sigtype"]!="command")) return 0 @@ -158,20 +156,20 @@ update_underlays() /obj/machinery/atmospherics/unary/outlet_injector/attack_hand(mob/user as mob) - to_chat(user, "You toggle \the [src].") + to_chat(user, span_notice("You toggle \the [src].")) injecting = !injecting update_use_power(injecting ? USE_POWER_IDLE : USE_POWER_OFF) update_icon() -/obj/machinery/atmospherics/unary/outlet_injector/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) +/obj/machinery/atmospherics/unary/outlet_injector/attackby(var/obj/item/W as obj, var/mob/user as mob) if (!W.has_tool_quality(TOOL_WRENCH)) return ..() playsound(src, W.usesound, 50, 1) - to_chat(user, "You begin to unfasten \the [src]...") + to_chat(user, span_notice("You begin to unfasten \the [src]...")) if (do_after(user, 40 * W.toolspeed)) user.visible_message( \ - "\The [user] unfastens \the [src].", \ - "You have unfastened \the [src].", \ + span_infoplain(span_bold("\The [user]") + " unfastens \the [src]."), \ + span_notice("You have unfastened \the [src]."), \ "You hear a ratchet.") deconstruct() diff --git a/code/ATMOSPHERICS/components/unary/unary_base.dm b/code/ATMOSPHERICS/components/unary/unary_base.dm index 9a3a4d3e44b..da5e116dc97 100644 --- a/code/ATMOSPHERICS/components/unary/unary_base.dm +++ b/code/ATMOSPHERICS/components/unary/unary_base.dm @@ -13,10 +13,10 @@ var/welded = 0 //defining this here for ventcrawl stuff -/obj/machinery/atmospherics/unary/New() - ..() - air_contents = new +/obj/machinery/atmospherics/unary/Initialize() + . = ..() + air_contents = new air_contents.volume = 200 /obj/machinery/atmospherics/unary/init_dir() @@ -106,11 +106,11 @@ for(var/obj/machinery/atmospherics/M in loc) if(M == src) continue if((M.pipe_flags & pipe_flags & PIPING_ONE_PER_TURF)) //Only one dense/requires density object per tile, eg connectors/cryo/heater/coolers. - visible_message("\The [src]'s cannot be connected, something is hogging the tile!") + visible_message(span_warning("\The [src]'s cannot be connected, something is hogging the tile!")) return TRUE if((M.piping_layer != piping_layer) && !((M.pipe_flags | flags) & PIPING_ALL_LAYER)) // Pipes on different layers can't block each other unless they are ALL_LAYER continue if(M.get_init_dirs() & get_init_dirs()) // matches at least one direction on either type of pipe - visible_message("\The [src]'s connector can't be connected, there is already a pipe at that location!") + visible_message(span_warning("\The [src]'s connector can't be connected, there is already a pipe at that location!")) return TRUE return FALSE diff --git a/code/ATMOSPHERICS/components/unary/vent_pump.dm b/code/ATMOSPHERICS/components/unary/vent_pump.dm index 8ba6482b0ac..110c5819550 100644 --- a/code/ATMOSPHERICS/components/unary/vent_pump.dm +++ b/code/ATMOSPHERICS/components/unary/vent_pump.dm @@ -89,10 +89,7 @@ /obj/machinery/atmospherics/unary/vent_pump/Initialize() . = ..() - //soundloop = new(list(src), FALSE) -/obj/machinery/atmospherics/unary/vent_pump/New() - ..() air_contents.volume = ATMOS_DEFAULT_VOLUME_PUMP icon = null @@ -127,8 +124,8 @@ icon_connect_type = "-aux" connect_types = CONNECT_TYPE_AUX //connects to aux pipes -/obj/machinery/atmospherics/unary/vent_pump/high_volume/New() - ..() +/obj/machinery/atmospherics/unary/vent_pump/high_volume/Initialize() + . = ..() air_contents.volume = ATMOS_DEFAULT_VOLUME_PUMP + 800 // VOREStation Edit Start - Wall mounted vents @@ -152,8 +149,8 @@ power_channel = ENVIRON power_rating = 30000 //15 kW ~ 20 HP -/obj/machinery/atmospherics/unary/vent_pump/engine/New() - ..() +/obj/machinery/atmospherics/unary/vent_pump/engine/Initialize() + . = ..() air_contents.volume = ATMOS_DEFAULT_VOLUME_PUMP + 500 //meant to match air injector /obj/machinery/atmospherics/unary/vent_pump/update_icon(var/safety = 0) @@ -173,14 +170,14 @@ if(welded) vent_icon += "weld" - playsound(src, stop_sound, 25, ignore_walls = FALSE, preference = /datum/client_preference/air_pump_noise) + playsound(src, stop_sound, 25, ignore_walls = FALSE, preference = /datum/preference/toggle/air_pump_noise) else if(!use_power || !node || (stat & (NOPOWER|BROKEN))) vent_icon += "off" - playsound(src, stop_sound, 25, ignore_walls = FALSE, preference = /datum/client_preference/air_pump_noise) + playsound(src, stop_sound, 25, ignore_walls = FALSE, preference = /datum/preference/toggle/air_pump_noise) else vent_icon += "[pump_direction ? "out" : "in"]" - playsound(src, start_sound, 25, ignore_walls = FALSE, preference = /datum/client_preference/air_pump_noise) + playsound(src, start_sound, 25, ignore_walls = FALSE, preference = /datum/preference/toggle/air_pump_noise) add_overlay(icon_manager.get_atmos_icon("device", , , vent_icon)) @@ -319,8 +316,11 @@ radio_filter_in = frequency==1439?(RADIO_FROM_AIRALARM):null radio_filter_out = frequency==1439?(RADIO_TO_AIRALARM):null if(frequency) - radio_connection = register_radio(src, frequency, frequency, radio_filter_in) - src.broadcast_status() + set_frequency(frequency) + +/obj/machinery/atmospherics/unary/vent_pump/proc/set_frequency(new_frequency) + radio_connection = register_radio(src, frequency, new_frequency, radio_filter_in) + frequency = new_frequency /obj/machinery/atmospherics/unary/vent_pump/receive_signal(datum/signal/signal) if(stat & (NOPOWER|BROKEN)) @@ -399,25 +399,39 @@ /obj/machinery/atmospherics/unary/vent_pump/attackby(obj/item/W, mob/user) if(W.has_tool_quality(TOOL_WELDER)) - var/obj/item/weapon/weldingtool/WT = W.get_welder() + var/obj/item/weldingtool/WT = W.get_welder() if (WT.remove_fuel(0,user)) - to_chat(user, "Now welding the vent.") + to_chat(user, span_notice("Now welding the vent.")) if(do_after(user, 20 * WT.toolspeed)) if(!src || !WT.isOn()) return playsound(src, WT.usesound, 50, 1) if(!welded) - user.visible_message("\The [user] welds the vent shut.", "You weld the vent shut.", "You hear welding.") + user.visible_message(span_bold("\The [user]") + " welds the vent shut.", span_notice("You weld the vent shut."), "You hear welding.") welded = 1 update_icon() else - user.visible_message("[user] unwelds the vent.", "You unweld the vent.", "You hear welding.") + user.visible_message(span_notice("[user] unwelds the vent."), span_notice("You unweld the vent."), "You hear welding.") welded = 0 update_icon() else - to_chat(user, "The welding tool needs to be on to start this task.") + to_chat(user, span_notice("The welding tool needs to be on to start this task.")) else - to_chat(user, "You need more welding fuel to complete this task.") + to_chat(user, span_warning("You need more welding fuel to complete this task.")) return 1 + if(W.has_tool_quality(TOOL_MULTITOOL)) + var/choice = tgui_alert(user, "[src] has an ID of \"[id_tag]\" and a frequency of [frequency]. What would you like to change?", "[src] ID", list("ID Tag", "Frequency", "Nothing")) + switch(choice) + if("ID Tag") + var/new_id = tgui_input_text(user, "[src] has an ID of \"[id_tag]\". What would you like it to be?", "[src] ID", id_tag, 30, FALSE, TRUE) + if(new_id) + id_tag = new_id + + if("Frequency") + var/new_frequency = tgui_input_number(user, "[src] has a frequency of [frequency]. What would you like it to be?", "[src] frequency", frequency, RADIO_HIGH_FREQ, RADIO_LOW_FREQ) + if(new_frequency) + new_frequency = sanitize_frequency(new_frequency, RADIO_LOW_FREQ, RADIO_HIGH_FREQ) + set_frequency(new_frequency) + return TRUE else ..() @@ -436,26 +450,26 @@ if(old_stat != stat) update_icon() -/obj/machinery/atmospherics/unary/vent_pump/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) +/obj/machinery/atmospherics/unary/vent_pump/attackby(var/obj/item/W as obj, var/mob/user as mob) if (!W.has_tool_quality(TOOL_WRENCH)) return ..() if (!(stat & NOPOWER) && use_power) - to_chat(user, "You cannot unwrench \the [src], turn it off first.") + to_chat(user, span_warning("You cannot unwrench \the [src], turn it off first.")) return 1 var/turf/T = src.loc if (node && node.level==1 && isturf(T) && !T.is_plating()) - to_chat(user, "You must remove the plating first.") + to_chat(user, span_warning("You must remove the plating first.")) return 1 if(!can_unwrench()) - to_chat(user, "You cannot unwrench \the [src], it is too exerted due to internal pressure.") + to_chat(user, span_warning("You cannot unwrench \the [src], it is too exerted due to internal pressure.")) add_fingerprint(user) return 1 playsound(src, W.usesound, 50, 1) - to_chat(user, "You begin to unfasten \the [src]...") + to_chat(user, span_notice("You begin to unfasten \the [src]...")) if (do_after(user, 40 * W.toolspeed)) user.visible_message( \ - "\The [user] unfastens \the [src].", \ - "You have unfastened \the [src].", \ + span_infoplain(span_bold("\The [user]") + " unfastens \the [src]."), \ + span_notice("You have unfastened \the [src]."), \ "You hear a ratchet.") deconstruct() diff --git a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm index 1a57841a694..4ab5156968e 100644 --- a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm +++ b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm @@ -32,8 +32,8 @@ use_power = USE_POWER_IDLE icon_state = "map_scrubber_on" -/obj/machinery/atmospherics/unary/vent_scrubber/New() - ..() +/obj/machinery/atmospherics/unary/vent_scrubber/Initialize() + . = ..() air_contents.volume = ATMOS_DEFAULT_VOLUME_FILTER icon = null @@ -269,26 +269,26 @@ if(old_stat != stat) update_icon() -/obj/machinery/atmospherics/unary/vent_scrubber/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) +/obj/machinery/atmospherics/unary/vent_scrubber/attackby(var/obj/item/W as obj, var/mob/user as mob) if (!W.has_tool_quality(TOOL_WRENCH)) return ..() if (!(stat & NOPOWER) && use_power) - to_chat(user, "You cannot unwrench \the [src], turn it off first.") + to_chat(user, span_warning("You cannot unwrench \the [src], turn it off first.")) return 1 var/turf/T = src.loc if (node && node.level==1 && isturf(T) && !T.is_plating()) - to_chat(user, "You must remove the plating first.") + to_chat(user, span_warning("You must remove the plating first.")) return 1 if(!can_unwrench()) - to_chat(user, "You cannot unwrench \the [src], it is too exerted due to internal pressure.") + to_chat(user, span_warning("You cannot unwrench \the [src], it is too exerted due to internal pressure.")) add_fingerprint(user) return 1 playsound(src, W.usesound, 50, 1) - to_chat(user, "You begin to unfasten \the [src]...") + to_chat(user, span_notice("You begin to unfasten \the [src]...")) if (do_after(user, 40 * W.toolspeed)) user.visible_message( \ - "\The [user] unfastens \the [src].", \ - "You have unfastened \the [src].", \ + span_infoplain(span_bold("\The [user]") + " unfastens \the [src]."), \ + span_notice("You have unfastened \the [src]."), \ "You hear a ratchet.") deconstruct() diff --git a/code/ATMOSPHERICS/components/valve.dm b/code/ATMOSPHERICS/components/valve.dm index 1996c223366..d51a3695293 100644 --- a/code/ATMOSPHERICS/components/valve.dm +++ b/code/ATMOSPHERICS/components/valve.dm @@ -131,7 +131,7 @@ return /obj/machinery/atmospherics/valve/attack_hand(mob/user as mob) - src.add_fingerprint(usr) + src.add_fingerprint(user) update_icon(1) sleep(10) if (src.open) @@ -238,7 +238,7 @@ if(!powered()) return if(!src.allowed(user)) - to_chat(user, "Access denied.") + to_chat(user, span_warning("Access denied.")) return ..() @@ -287,22 +287,22 @@ else open() -/obj/machinery/atmospherics/valve/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) +/obj/machinery/atmospherics/valve/attackby(var/obj/item/W as obj, var/mob/user as mob) if (!W.has_tool_quality(TOOL_WRENCH)) return ..() if (istype(src, /obj/machinery/atmospherics/valve/digital) && !src.allowed(user)) - to_chat(user, "Access denied.") + to_chat(user, span_warning("Access denied.")) return 1 if(!can_unwrench()) - to_chat(user, "You cannot unwrench \the [src], it is too exerted due to internal pressure.") + to_chat(user, span_warning("You cannot unwrench \the [src], it is too exerted due to internal pressure.")) add_fingerprint(user) return 1 playsound(src, W.usesound, 50, 1) - to_chat(user, "You begin to unfasten \the [src]...") + to_chat(user, span_notice("You begin to unfasten \the [src]...")) if (do_after(user, 40 * W.toolspeed)) user.visible_message( \ - "\The [user] unfastens \the [src].", \ - "You have unfastened \the [src].", \ + span_infoplain(span_bold("\The [user]") + " unfastens \the [src]."), \ + span_notice("You have unfastened \the [src]."), \ "You hear a ratchet.") deconstruct() diff --git a/code/ATMOSPHERICS/mainspipe.dm b/code/ATMOSPHERICS/mainspipe.dm deleted file mode 100644 index e7a0d094775..00000000000 --- a/code/ATMOSPHERICS/mainspipe.dm +++ /dev/null @@ -1,708 +0,0 @@ -// internal pipe, don't actually place or use these -obj/machinery/atmospherics/pipe/mains_component - var/obj/machinery/atmospherics/mains_pipe/parent_pipe - var/list/obj/machinery/atmospherics/pipe/mains_component/nodes = new() - - New(loc) - ..(loc) - parent_pipe = loc - - check_pressure(pressure) - var/datum/gas_mixture/environment = loc.loc.return_air() - - var/pressure_difference = pressure - environment.return_pressure() - - if(pressure_difference > parent_pipe.maximum_pressure) - mains_burst() - - else if(pressure_difference > parent_pipe.fatigue_pressure) - //TODO: leak to turf, doing pfshhhhh - if(prob(5)) - mains_burst() - - else return 1 - - pipeline_expansion() - return nodes - - disconnect(obj/machinery/atmospherics/reference) - if(nodes.Find(reference)) - nodes.Remove(reference) - - proc/mains_burst() - parent_pipe.burst() - -obj/machinery/atmospherics/mains_pipe - icon = 'icons/obj/atmospherics/mainspipe.dmi' - layer = PIPES_LAYER - plane = PLATING_PLANE - - var/volume = 0 - - var/alert_pressure = 80*ONE_ATMOSPHERE - - var/initialize_mains_directions = 0 - - var/list/obj/machinery/atmospherics/mains_pipe/nodes = new() - var/obj/machinery/atmospherics/pipe/mains_component/supply - var/obj/machinery/atmospherics/pipe/mains_component/scrubbers - var/obj/machinery/atmospherics/pipe/mains_component/aux - - var/minimum_temperature_difference = 300 - var/thermal_conductivity = 0 //WALL_HEAT_TRANSFER_COEFFICIENT No - - var/maximum_pressure = 70*ONE_ATMOSPHERE - var/fatigue_pressure = 55*ONE_ATMOSPHERE - alert_pressure = 55*ONE_ATMOSPHERE - - New() - ..() - - supply = new(src) - supply.volume = volume - supply.nodes.len = nodes.len - scrubbers = new(src) - scrubbers.volume = volume - scrubbers.nodes.len = nodes.len - aux = new(src) - aux.volume = volume - aux.nodes.len = nodes.len - - hide(var/i) - if(level == 1 && istype(loc, /turf/simulated)) - invisibility = i ? 101 : 0 - update_icon() - - proc/burst() - for(var/obj/machinery/atmospherics/pipe/mains_component/pipe in contents) - burst() - - proc/check_pressure(pressure) - var/datum/gas_mixture/environment = loc.return_air() - - var/pressure_difference = pressure - environment.return_pressure() - - if(pressure_difference > maximum_pressure) - burst() - - else if(pressure_difference > fatigue_pressure) - //TODO: leak to turf, doing pfshhhhh - if(prob(5)) - burst() - - else return 1 - - get_neighbor_nodes_for_init() - return nodes - - disconnect() - ..() - for(var/obj/machinery/atmospherics/pipe/mains_component/node in nodes) - node.disconnect() - - Destroy() - disconnect() - ..() - - atmos_init() - for(var/i = 1 to nodes.len) - var/obj/machinery/atmospherics/mains_pipe/node = nodes[i] - if(node) - supply.nodes[i] = node.supply - scrubbers.nodes[i] = node.scrubbers - aux.nodes[i] = node.aux - -obj/machinery/atmospherics/mains_pipe/simple - name = "mains pipe" - desc = "A one meter section of 3-line mains pipe" - - dir = SOUTH - initialize_mains_directions = SOUTH|NORTH - - New() - nodes.len = 2 - ..() - switch(dir) - if(SOUTH || NORTH) - initialize_mains_directions = SOUTH|NORTH - if(EAST || WEST) - initialize_mains_directions = EAST|WEST - if(NORTHEAST) - initialize_mains_directions = NORTH|EAST - if(NORTHWEST) - initialize_mains_directions = NORTH|WEST - if(SOUTHEAST) - initialize_mains_directions = SOUTH|EAST - if(SOUTHWEST) - initialize_mains_directions = SOUTH|WEST - - proc/normalize_dir() - if(dir==3) - set_dir(1) - else if(dir==12) - set_dir(4) - - update_icon() - if(nodes[1] && nodes[2]) - icon_state = "intact[invisibility ? "-f" : "" ]" - - //var/node1_direction = get_dir(src, node1) - //var/node2_direction = get_dir(src, node2) - - //set_dir(node1_direction|node2_direction) - - else - if(!nodes[1]&&!nodes[2]) - qdel(src) //TODO: silent deleting looks weird - var/have_node1 = nodes[1]?1:0 - var/have_node2 = nodes[2]?1:0 - icon_state = "exposed[have_node1][have_node2][invisibility ? "-f" : "" ]" - - atmos_init() - normalize_dir() - var/node1_dir - var/node2_dir - - for(var/direction in cardinal) - if(direction&initialize_mains_directions) - if (!node1_dir) - node1_dir = direction - else if (!node2_dir) - node2_dir = direction - - for(var/obj/machinery/atmospherics/mains_pipe/target in get_step(src,node1_dir)) - if(target.initialize_mains_directions & get_dir(target,src)) - nodes[1] = target - break - for(var/obj/machinery/atmospherics/mains_pipe/target in get_step(src,node2_dir)) - if(target.initialize_mains_directions & get_dir(target,src)) - nodes[2] = target - break - - ..() // initialize internal pipes - - var/turf/T = src.loc // hide if turf is not intact - if(level == 1 && !T.is_plating()) hide(1) - update_icon() - - hidden - level = 1 - icon_state = "intact-f" - - visible - level = 2 - icon_state = "intact" - -obj/machinery/atmospherics/mains_pipe/manifold - name = "manifold pipe" - desc = "A manifold composed of mains pipes" - - dir = SOUTH - initialize_mains_directions = EAST|NORTH|WEST - volume = 105 - - New() - nodes.len = 3 - ..() - initialize_mains_directions = (NORTH|SOUTH|EAST|WEST) & ~dir - - atmos_init() - var/connect_directions = initialize_mains_directions - - for(var/direction in cardinal) - if(direction&connect_directions) - for(var/obj/machinery/atmospherics/mains_pipe/target in get_step(src,direction)) - if(target.initialize_mains_directions & get_dir(target,src)) - nodes[1] = target - connect_directions &= ~direction - break - if (nodes[1]) - break - - - for(var/direction in cardinal) - if(direction&connect_directions) - for(var/obj/machinery/atmospherics/mains_pipe/target in get_step(src,direction)) - if(target.initialize_mains_directions & get_dir(target,src)) - nodes[2] = target - connect_directions &= ~direction - break - if (nodes[2]) - break - - - for(var/direction in cardinal) - if(direction&connect_directions) - for(var/obj/machinery/atmospherics/mains_pipe/target in get_step(src,direction)) - if(target.initialize_mains_directions & get_dir(target,src)) - nodes[3] = target - connect_directions &= ~direction - break - if (nodes[3]) - break - - ..() // initialize internal pipes - - var/turf/T = src.loc // hide if turf is not intact - if(level == 1 && !T.is_plating()) hide(1) - update_icon() - - update_icon() - icon_state = "manifold[invisibility ? "-f" : "" ]" - - hidden - level = 1 - icon_state = "manifold-f" - - visible - level = 2 - icon_state = "manifold" - -obj/machinery/atmospherics/mains_pipe/manifold4w - name = "manifold pipe" - desc = "A manifold composed of mains pipes" - - dir = SOUTH - initialize_mains_directions = EAST|NORTH|WEST|SOUTH - volume = 105 - - New() - nodes.len = 4 - ..() - - atmos_init() - for(var/obj/machinery/atmospherics/mains_pipe/target in get_step(src,NORTH)) - if(target.initialize_mains_directions & get_dir(target,src)) - nodes[1] = target - break - - for(var/obj/machinery/atmospherics/mains_pipe/target in get_step(src,SOUTH)) - if(target.initialize_mains_directions & get_dir(target,src)) - nodes[2] = target - break - - for(var/obj/machinery/atmospherics/mains_pipe/target in get_step(src,EAST)) - if(target.initialize_mains_directions & get_dir(target,src)) - nodes[3] = target - break - - for(var/obj/machinery/atmospherics/mains_pipe/target in get_step(src,WEST)) - if(target.initialize_mains_directions & get_dir(target,src)) - nodes[3] = target - break - - ..() // initialize internal pipes - - var/turf/T = src.loc // hide if turf is not intact - if(level == 1 && !T.is_plating()) hide(1) - update_icon() - - update_icon() - icon_state = "manifold4w[invisibility ? "-f" : "" ]" - - hidden - level = 1 - icon_state = "manifold4w-f" - - visible - level = 2 - icon_state = "manifold4w" - -obj/machinery/atmospherics/mains_pipe/split - name = "mains splitter" - desc = "A splitter for connecting to a single pipe off a mains." - - var/obj/machinery/atmospherics/pipe/mains_component/split_node - var/obj/machinery/atmospherics/node3 - var/icon_type - - New() - nodes.len = 2 - ..() - initialize_mains_directions = turn(dir, 90) | turn(dir, -90) - initialize_directions = dir // actually have a normal connection too - - atmos_init() - var/node1_dir - var/node2_dir - var/node3_dir - - node1_dir = turn(dir, 90) - node2_dir = turn(dir, -90) - node3_dir = dir - - for(var/obj/machinery/atmospherics/mains_pipe/target in get_step(src,node1_dir)) - if(target.initialize_mains_directions & get_dir(target,src)) - nodes[1] = target - break - for(var/obj/machinery/atmospherics/mains_pipe/target in get_step(src,node2_dir)) - if(target.initialize_mains_directions & get_dir(target,src)) - nodes[2] = target - break - for(var/obj/machinery/atmospherics/target in get_step(src,node3_dir)) - if(target.initialize_directions & get_dir(target,src)) - node3 = target - break - - ..() // initialize internal pipes - - // bind them - spawn(5) - if(node3 && split_node) - var/datum/pipe_network/N1 = node3.return_network(src) - var/datum/pipe_network/N2 = split_node.return_network(split_node) - if(N1 && N2) - N1.merge(N2) - - var/turf/T = src.loc // hide if turf is not intact - if(level == 1 && !T.is_plating()) hide(1) - update_icon() - - update_icon() - icon_state = "split-[icon_type][invisibility ? "-f" : "" ]" - - return_network(A) - return split_node.return_network(A) - - supply - icon_type = "supply" - - New() - ..() - split_node = supply - - hidden - level = 1 - icon_state = "split-supply-f" - - visible - level = 2 - icon_state = "split-supply" - - scrubbers - icon_type = "scrubbers" - - New() - ..() - split_node = scrubbers - - hidden - level = 1 - icon_state = "split-scrubbers-f" - - visible - level = 2 - icon_state = "split-scrubbers" - - aux - icon_type = "aux" - - New() - ..() - split_node = aux - - hidden - level = 1 - icon_state = "split-aux-f" - - visible - level = 2 - icon_state = "split-aux" - -obj/machinery/atmospherics/mains_pipe/split3 - name = "triple mains splitter" - desc = "A splitter for connecting to the 3 pipes on a mainline." - - var/obj/machinery/atmospherics/supply_node - var/obj/machinery/atmospherics/scrubbers_node - var/obj/machinery/atmospherics/aux_node - - New() - nodes.len = 1 - ..() - initialize_mains_directions = dir - initialize_directions = cardinal & ~dir // actually have a normal connection too - - atmos_init() - var/node1_dir - var/supply_node_dir - var/scrubbers_node_dir - var/aux_node_dir - - node1_dir = dir - aux_node_dir = turn(dir, 180) - if(dir & (NORTH|SOUTH)) - supply_node_dir = EAST - scrubbers_node_dir = WEST - else - supply_node_dir = SOUTH - scrubbers_node_dir = NORTH - - for(var/obj/machinery/atmospherics/mains_pipe/target in get_step(src, node1_dir)) - if(target.initialize_mains_directions & get_dir(target,src)) - nodes[1] = target - break - for(var/obj/machinery/atmospherics/target in get_step(src,supply_node_dir)) - if(target.initialize_directions & get_dir(target,src)) - supply_node = target - break - for(var/obj/machinery/atmospherics/target in get_step(src,scrubbers_node_dir)) - if(target.initialize_directions & get_dir(target,src)) - scrubbers_node = target - break - for(var/obj/machinery/atmospherics/target in get_step(src,aux_node_dir)) - if(target.initialize_directions & get_dir(target,src)) - aux_node = target - break - - ..() // initialize internal pipes - - // bind them - spawn(5) - if(supply_node) - var/datum/pipe_network/N1 = supply_node.return_network(src) - var/datum/pipe_network/N2 = supply.return_network(supply) - if(N1 && N2) - N1.merge(N2) - if(scrubbers_node) - var/datum/pipe_network/N1 = scrubbers_node.return_network(src) - var/datum/pipe_network/N2 = scrubbers.return_network(scrubbers) - if(N1 && N2) - N1.merge(N2) - if(aux_node) - var/datum/pipe_network/N1 = aux_node.return_network(src) - var/datum/pipe_network/N2 = aux.return_network(aux) - if(N1 && N2) - N1.merge(N2) - - var/turf/T = src.loc // hide if turf is not intact - if(level == 1 && !T.is_plating()) hide(1) - update_icon() - - update_icon() - icon_state = "split-t[invisibility ? "-f" : "" ]" - - return_network(obj/machinery/atmospherics/reference) - var/obj/machinery/atmospherics/A - - A = supply_node.return_network(reference) - if(!A) - A = scrubbers_node.return_network(reference) - if(!A) - A = aux_node.return_network(reference) - - return A - - hidden - level = 1 - icon_state = "split-t-f" - - visible - level = 2 - icon_state = "split-t" - -obj/machinery/atmospherics/mains_pipe/cap - name = "pipe cap" - desc = "A cap for the end of a mains pipe" - - dir = SOUTH - initialize_directions = SOUTH - volume = 35 - - New() - nodes.len = 1 - ..() - initialize_mains_directions = dir - - update_icon() - icon_state = "cap[invisibility ? "-f" : ""]" - - atmos_init() - for(var/obj/machinery/atmospherics/mains_pipe/target in get_step(src,dir)) - if(target.initialize_mains_directions & get_dir(target,src)) - nodes[1] = target - break - - ..() - - var/turf/T = src.loc // hide if turf is not intact - if(level == 1 && !T.is_plating()) hide(1) - update_icon() - - hidden - level = 1 - icon_state = "cap-f" - - visible - level = 2 - icon_state = "cap" - -//TODO: Get Mains valves working! -/* -obj/machinery/atmospherics/mains_pipe/valve - icon_state = "mvalve0" - - name = "mains shutoff valve" - desc = "A mains pipe valve" - - var/open = 1 - - dir = SOUTH - initialize_mains_directions = SOUTH|NORTH - - New() - nodes.len = 2 - ..() - initialize_mains_directions = dir | turn(dir, 180) - - update_icon(animation) - var/turf/simulated/floor = loc - var/hide = istype(floor) ? floor.intact : 0 - level = 1 - for(var/obj/machinery/atmospherics/mains_pipe/node in nodes) - if(node.level == 2) - hide = 0 - level = 2 - break - - if(animation) - flick("[hide?"h":""]mvalve[src.open][!src.open]",src) - else - icon_state = "[hide?"h":""]mvalve[open]" - - Initialize() - normalize_dir() - var/node1_dir - var/node2_dir - - for(var/direction in cardinal) - if(direction&initialize_mains_directions) - if (!node1_dir) - node1_dir = direction - else if (!node2_dir) - node2_dir = direction - - for(var/obj/machinery/atmospherics/mains_pipe/target in get_step(src,node1_dir)) - if(target.initialize_mains_directions & get_dir(target,src)) - nodes[1] = target - break - for(var/obj/machinery/atmospherics/mains_pipe/target in get_step(src,node2_dir)) - if(target.initialize_mains_directions & get_dir(target,src)) - nodes[2] = target - break - - if(open) - ..() // initialize internal pipes - - update_icon() - - proc/normalize_dir() - if(dir==3) - set_dir(1) - else if(dir==12) - set_dir(4) - - proc/open() - if(open) return 0 - - open = 1 - update_icon() - - Initialize() - - return 1 - - proc/close() - if(!open) return 0 - - open = 0 - update_icon() - - for(var/obj/machinery/atmospherics/pipe/mains_component/node in src) - for(var/obj/machinery/atmospherics/pipe/mains_component/o in node.nodes) - o.disconnect(node) - o.build_network() - - return 1 - - attack_ai(mob/user as mob) - return - - attack_paw(mob/user as mob) - return attack_hand(user) - - attack_hand(mob/user as mob) - src.add_fingerprint(usr) - update_icon(1) - sleep(10) - if (open) - close() - else - open() - - digital // can be controlled by AI - name = "digital mains valve" - desc = "A digitally controlled valve." - icon_state = "dvalve0" - - attack_ai(mob/user as mob) - return src.attack_hand(user) - - attack_hand(mob/user as mob) - if(!src.allowed(user)) - to_chat(user, "Access denied.") - return - ..() - - //Radio remote control - - proc - set_frequency(new_frequency) - radio_controller.remove_object(src, frequency) - frequency = new_frequency - if(frequency) - radio_connection = radio_controller.add_object(src, frequency, RADIO_ATMOSIA) - - var/frequency = 0 - var/id = null - var/datum/radio_frequency/radio_connection - - Initialize() - ..() - if(frequency) - set_frequency(frequency) - - update_icon(animation) - var/turf/simulated/floor = loc - var/hide = istype(floor) ? floor.intact : 0 - level = 1 - for(var/obj/machinery/atmospherics/mains_pipe/node in nodes) - if(node.level == 2) - hide = 0 - level = 2 - break - - if(animation) - flick("[hide?"h":""]dvalve[src.open][!src.open]",src) - else - icon_state = "[hide?"h":""]dvalve[open]" - - receive_signal(datum/signal/signal) - if(!signal.data["tag"] || (signal.data["tag"] != id)) - return 0 - - switch(signal.data["command"]) - if("valve_open") - if(!open) - open() - - if("valve_close") - if(open) - close() - - if("valve_toggle") - if(open) - close() - else - open() -*/ diff --git a/code/ATMOSPHERICS/pipes/he_pipes.dm b/code/ATMOSPHERICS/pipes/he_pipes.dm index 11f826ae050..0d9e673e689 100644 --- a/code/ATMOSPHERICS/pipes/he_pipes.dm +++ b/code/ATMOSPHERICS/pipes/he_pipes.dm @@ -23,8 +23,8 @@ buckle_lying = 1 // BubbleWrap -/obj/machinery/atmospherics/pipe/simple/heat_exchanging/New() - ..() +/obj/machinery/atmospherics/pipe/simple/heat_exchanging/Initialize() + . = ..() // BubbleWrap END color = "#404040" //we don't make use of the fancy overlay system for colours, use this to set the default. diff --git a/code/ATMOSPHERICS/pipes/manifold.dm b/code/ATMOSPHERICS/pipes/manifold.dm index a02f0e66de0..88cb10994ea 100644 --- a/code/ATMOSPHERICS/pipes/manifold.dm +++ b/code/ATMOSPHERICS/pipes/manifold.dm @@ -19,8 +19,8 @@ level = 1 -/obj/machinery/atmospherics/pipe/manifold/New() - ..() +/obj/machinery/atmospherics/pipe/manifold/Initialize() + . = ..() alpha = 255 icon = null diff --git a/code/ATMOSPHERICS/pipes/manifold4w.dm b/code/ATMOSPHERICS/pipes/manifold4w.dm index eac8494a65d..3773ebce73b 100644 --- a/code/ATMOSPHERICS/pipes/manifold4w.dm +++ b/code/ATMOSPHERICS/pipes/manifold4w.dm @@ -20,8 +20,8 @@ level = 1 -/obj/machinery/atmospherics/pipe/manifold4w/New() - ..() +/obj/machinery/atmospherics/pipe/manifold4w/Initialize() + . = ..() alpha = 255 icon = null diff --git a/code/ATMOSPHERICS/pipes/pipe_base.dm b/code/ATMOSPHERICS/pipes/pipe_base.dm index d06b192a1a3..b25c3c5dfda 100644 --- a/code/ATMOSPHERICS/pipes/pipe_base.dm +++ b/code/ATMOSPHERICS/pipes/pipe_base.dm @@ -24,10 +24,10 @@ /obj/machinery/atmospherics/pipe/drain_power() return -1 -/obj/machinery/atmospherics/pipe/New() +/obj/machinery/atmospherics/pipe/Initialize() if(istype(get_turf(src), /turf/simulated/wall) || istype(get_turf(src), /turf/simulated/shuttle/wall) || istype(get_turf(src), /turf/unsimulated/wall)) level = 1 - ..() + . = ..() /obj/machinery/atmospherics/pipe/hides_under_flooring() return level != 2 @@ -109,29 +109,29 @@ qdel(meter) . = ..() -/obj/machinery/atmospherics/pipe/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) +/obj/machinery/atmospherics/pipe/attackby(var/obj/item/W as obj, var/mob/user as mob) if (istype(src, /obj/machinery/atmospherics/pipe/tank)) return ..() - if(istype(W,/obj/item/device/pipe_painter)) + if(istype(W,/obj/item/pipe_painter)) return 0 if (!W.has_tool_quality(TOOL_WRENCH)) return ..() var/turf/T = src.loc if (level==1 && isturf(T) && !T.is_plating()) - to_chat(user, "You must remove the plating first.") + to_chat(user, span_warning("You must remove the plating first.")) return 1 if(!can_unwrench()) - to_chat(user, "You cannot unwrench \the [src], it is too exerted due to internal pressure.") + to_chat(user, span_warning("You cannot unwrench \the [src], it is too exerted due to internal pressure.")) add_fingerprint(user) return 1 playsound(src, W.usesound, 50, 1) - to_chat(user, "You begin to unfasten \the [src]...") + to_chat(user, span_notice("You begin to unfasten \the [src]...")) if (do_after(user, 10 * W.toolspeed)) user.visible_message( \ - "\The [user] unfastens \the [src].", \ - "You have unfastened \the [src].", \ + span_infoplain(span_bold("\The [user]") + " unfastens \the [src]."), \ + span_notice("You have unfastened \the [src]."), \ "You hear a ratchet.") deconstruct() diff --git a/code/ATMOSPHERICS/pipes/simple.dm b/code/ATMOSPHERICS/pipes/simple.dm index def462a354e..466e943bed0 100644 --- a/code/ATMOSPHERICS/pipes/simple.dm +++ b/code/ATMOSPHERICS/pipes/simple.dm @@ -26,8 +26,8 @@ level = 1 -/obj/machinery/atmospherics/pipe/simple/New() - ..() +/obj/machinery/atmospherics/pipe/simple/Initialize() + . = ..() // Pipe colors and icon states are handled by an image cache - so color and icon should // be null. For mapping purposes color is defined in the object definitions. @@ -77,7 +77,7 @@ initialize_directions = SOUTH|WEST /obj/machinery/atmospherics/pipe/simple/proc/burst() - src.visible_message("\The [src] bursts!"); + src.visible_message(span_danger("\The [src] bursts!")); playsound(src, 'sound/effects/bang.ogg', 25, 1) var/datum/effect/effect/system/smoke_spread/smoke = new smoke.set_up(1,0, src.loc, 0) diff --git a/code/ATMOSPHERICS/pipes/tank.dm b/code/ATMOSPHERICS/pipes/tank.dm index 63807862880..34afa7bbe4f 100644 --- a/code/ATMOSPHERICS/pipes/tank.dm +++ b/code/ATMOSPHERICS/pipes/tank.dm @@ -18,9 +18,9 @@ pipe_flags = PIPING_DEFAULT_LAYER_ONLY density = TRUE -/obj/machinery/atmospherics/pipe/tank/New() +/obj/machinery/atmospherics/pipe/tank/Initialize() icon_state = "air" - ..() + . = ..() /obj/machinery/atmospherics/pipe/tank/init_dir() initialize_directions = dir @@ -67,14 +67,14 @@ return null /obj/machinery/atmospherics/pipe/tank/attackby(var/obj/item/W as obj, var/mob/user as mob) - if(istype(W, /obj/item/device/pipe_painter)) + if(istype(W, /obj/item/pipe_painter)) return /obj/machinery/atmospherics/pipe/tank/air name = "Pressure Tank (Air)" icon_state = "air_map" -/obj/machinery/atmospherics/pipe/tank/air/New() +/obj/machinery/atmospherics/pipe/tank/air/Initialize() air_temporary = new air_temporary.volume = volume air_temporary.temperature = T20C @@ -83,21 +83,21 @@ "nitrogen",(start_pressure*N2STANDARD)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature)) - ..() + . = ..() icon_state = "air" /obj/machinery/atmospherics/pipe/tank/oxygen name = "Pressure Tank (Oxygen)" icon_state = "o2_map" -/obj/machinery/atmospherics/pipe/tank/oxygen/New() +/obj/machinery/atmospherics/pipe/tank/oxygen/Initialize() air_temporary = new air_temporary.volume = volume air_temporary.temperature = T20C air_temporary.adjust_gas("oxygen", (start_pressure)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature)) - ..() + . = ..() icon_state = "o2" /obj/machinery/atmospherics/pipe/tank/nitrogen @@ -105,28 +105,28 @@ icon_state = "n2_map" volume = 40000 //Vorestation edit -/obj/machinery/atmospherics/pipe/tank/nitrogen/New() +/obj/machinery/atmospherics/pipe/tank/nitrogen/Initialize() air_temporary = new air_temporary.volume = volume air_temporary.temperature = T20C air_temporary.adjust_gas("nitrogen", (start_pressure)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature)) - ..() + . = ..() icon_state = "n2" /obj/machinery/atmospherics/pipe/tank/carbon_dioxide name = "Pressure Tank (Carbon Dioxide)" icon_state = "co2_map" -/obj/machinery/atmospherics/pipe/tank/carbon_dioxide/New() +/obj/machinery/atmospherics/pipe/tank/carbon_dioxide/Initialize() air_temporary = new air_temporary.volume = volume air_temporary.temperature = T20C air_temporary.adjust_gas("carbon_dioxide", (start_pressure)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature)) - ..() + . = ..() icon_state = "co2" /obj/machinery/atmospherics/pipe/tank/phoron @@ -134,26 +134,26 @@ icon_state = "phoron_map" connect_types = CONNECT_TYPE_REGULAR|CONNECT_TYPE_FUEL -/obj/machinery/atmospherics/pipe/tank/phoron/New() +/obj/machinery/atmospherics/pipe/tank/phoron/Initialize() air_temporary = new air_temporary.volume = volume air_temporary.temperature = T20C air_temporary.adjust_gas("phoron", (start_pressure)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature)) - ..() + . = ..() icon_state = "phoron" /obj/machinery/atmospherics/pipe/tank/nitrous_oxide name = "Pressure Tank (Nitrous Oxide)" icon_state = "n2o_map" -/obj/machinery/atmospherics/pipe/tank/nitrous_oxide/New() +/obj/machinery/atmospherics/pipe/tank/nitrous_oxide/Initialize() air_temporary = new air_temporary.volume = volume air_temporary.temperature = T0C air_temporary.adjust_gas("nitrous_oxide", (start_pressure)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature)) - ..() + . = ..() icon_state = "n2o" diff --git a/code/ZAS/Airflow.dm b/code/ZAS/Airflow.dm index fcc81509c88..f02943f2f56 100644 --- a/code/ZAS/Airflow.dm +++ b/code/ZAS/Airflow.dm @@ -9,13 +9,13 @@ Contains helper procs for airflow, handled in /connection_group. if(last_airflow_stun > world.time - vsc.airflow_stun_cooldown) return 0 if(!(status_flags & CANSTUN) && !(status_flags & CANWEAKEN)) - to_chat(src, "You stay upright as the air rushes past you.") + to_chat(src, span_notice("You stay upright as the air rushes past you.")) return 0 if(buckled) - to_chat(src, "Air suddenly rushes past you!") + to_chat(src, span_notice("Air suddenly rushes past you!")) return 0 if(!lying) - to_chat(src, "The sudden rush of air knocks you over!") + to_chat(src, span_warning("The sudden rush of air knocks you over!")) Weaken(5) last_airflow_stun = world.time @@ -24,7 +24,7 @@ Contains helper procs for airflow, handled in /connection_group. /mob/living/carbon/human/airflow_stun() if(shoes && (shoes.item_flags & NOSLIP)) - to_chat(src, "Air suddenly rushes past you!") + to_chat(src, span_notice("Air suddenly rushes past you!")) return 0 ..() @@ -96,7 +96,7 @@ Contains helper procs for airflow, handled in /connection_group. /mob/airflow_hit(atom/A) for(var/mob/M in hearers(src)) - M.show_message("\The [src] slams into \a [A]!",1,"You hear a loud slam!",2) + M.show_message(span_danger("\The [src] slams into \a [A]!"),1,span_danger("You hear a loud slam!"),2) playsound(src, "smash.ogg", 25, 1, -1) var/weak_amt = istype(A,/obj/item) ? A:w_class : rand(1,5) //Heheheh Weaken(weak_amt) @@ -104,7 +104,7 @@ Contains helper procs for airflow, handled in /connection_group. /obj/airflow_hit(atom/A) for(var/mob/M in hearers(src)) - M.show_message("\The [src] slams into \a [A]!",1,"You hear a loud slam!",2) + M.show_message(span_danger("\The [src] slams into \a [A]!"),1,span_danger("You hear a loud slam!"),2) playsound(src, "smash.ogg", 25, 1, -1) . = ..() @@ -114,7 +114,7 @@ Contains helper procs for airflow, handled in /connection_group. /mob/living/carbon/human/airflow_hit(atom/A) // for(var/mob/M in hearers(src)) -// M.show_message("[src] slams into [A]!",1,"You hear a loud slam!",2) +// M.show_message(span_danger("[src] slams into [A]!"),1,span_danger("You hear a loud slam!"),2) playsound(src, "punch", 25, 1, -1) if (prob(33)) loc:add_blood(src) diff --git a/code/ZAS/Atom.dm b/code/ZAS/Atom.dm index bfe6fa2ad4d..eeb01b42495 100644 --- a/code/ZAS/Atom.dm +++ b/code/ZAS/Atom.dm @@ -36,11 +36,11 @@ //Convenience function for atoms to update turfs they occupy /atom/movable/proc/update_nearby_tiles(need_rebuild) - if(!air_master) + if(!SSair) return 0 for(var/turf/simulated/turf in locs) - air_master.mark_for_update(turf) + SSair.mark_for_update(turf) return 1 diff --git a/code/ZAS/Connection.dm b/code/ZAS/Connection.dm index 21be29d25e1..688eb129922 100644 --- a/code/ZAS/Connection.dm +++ b/code/ZAS/Connection.dm @@ -5,7 +5,7 @@ /* Overview: - Connections are made between turfs by air_master.connect(). They represent a single point where two zones converge. + Connections are made between turfs by SSair.connect(). They represent a single point where two zones converge. Class Vars: A - Always a simulated turf. @@ -60,19 +60,19 @@ Class Procs: /connection/New(turf/simulated/A, turf/simulated/B) #ifdef ZASDBG - ASSERT(air_master.has_valid_zone(A)) - //ASSERT(air_master.has_valid_zone(B)) + ASSERT(HAS_VALID_ZONE(A)) + //ASSERT(HAS_VALID_ZONE(B)) #endif src.A = A src.B = B zoneA = A.zone if(!istype(B)) mark_space() - edge = air_master.get_edge(A.zone,B) + edge = SSair.get_edge(A.zone,B) edge.add_connection(src) else zoneB = B.zone - edge = air_master.get_edge(A.zone,B.zone) + edge = SSair.get_edge(A.zone,B.zone) edge.add_connection(src) /connection/proc/mark_direct() @@ -108,7 +108,7 @@ Class Procs: erase() return - var/block_status = air_master.air_blocked(A,B) + var/block_status = SSair.air_blocked(A,B) if(block_status & AIR_BLOCKED) //to_world("Blocked connection.") erase() @@ -133,7 +133,7 @@ Class Procs: return else edge.remove_connection(src) - edge = air_master.get_edge(A.zone, B) + edge = SSair.get_edge(A.zone, B) edge.add_connection(src) zoneA = A.zone @@ -155,7 +155,7 @@ Class Procs: //to_world("Zones changed, \...") if(A.zone && B.zone) edge.remove_connection(src) - edge = air_master.get_edge(A.zone, B.zone) + edge = SSair.get_edge(A.zone, B.zone) edge.add_connection(src) zoneA = A.zone zoneB = B.zone diff --git a/code/ZAS/ConnectionGroup.dm b/code/ZAS/ConnectionGroup.dm index 0be44bb3584..85b2545d36e 100644 --- a/code/ZAS/ConnectionGroup.dm +++ b/code/ZAS/ConnectionGroup.dm @@ -2,7 +2,7 @@ Overview: These are what handle gas transfers between zones and into space. - They are found in a zone's edges list and in air_master.edges. + They are found in a zone's edges list and in SSair.edges. Each edge updates every air tick due to their role in gas transfer. They come in two flavors, /connection_edge/zone and /connection_edge/unsimulated. As the type names might suggest, they handle inter-zone and spacelike connections respectively. @@ -82,7 +82,7 @@ Class Procs: /connection_edge/proc/contains_zone(zone/Z) /connection_edge/proc/erase() - air_master.remove_edge(src) + SSair.remove_edge(src) //to_world("[type] Erased.") /connection_edge/proc/tick() @@ -169,19 +169,19 @@ Class Procs: if(equiv) if(direct) erase() - air_master.merge(A, B) + SSair.merge(A, B) return else A.air.equalize(B.air) - air_master.mark_edge_sleeping(src) + SSair.mark_edge_sleeping(src) - air_master.mark_zone_update(A) - air_master.mark_zone_update(B) + SSair.mark_zone_update(A) + SSair.mark_zone_update(B) /connection_edge/zone/recheck() // Edges with only one side being vacuum need processing no matter how close. if(!A.air.compare(B.air, vacuum_exception = 1)) - air_master.mark_edge_active(src) + SSair.mark_edge_active(src) //Helper proc to get connections for a zone. /connection_edge/zone/proc/get_connected_zone(zone/from) @@ -233,16 +233,16 @@ Class Procs: if(equiv) A.air.copy_from(air) - air_master.mark_edge_sleeping(src) + SSair.mark_edge_sleeping(src) - air_master.mark_zone_update(A) + SSair.mark_zone_update(A) /connection_edge/unsimulated/recheck() // Edges with only one side being vacuum need processing no matter how close. // Note: This handles the glaring flaw of a room holding pressure while exposed to space, but // does not specially handle the less common case of a simulated room exposed to an unsimulated pressurized turf. if(!A.air.compare(air, vacuum_exception = 1)) - air_master.mark_edge_active(src) + SSair.mark_edge_active(src) /proc/ShareHeat(datum/gas_mixture/A, datum/gas_mixture/B, connecting_tiles) //This implements a simplistic version of the Stefan-Boltzmann law. diff --git a/code/ZAS/ConnectionManager.dm b/code/ZAS/ConnectionManager.dm index 3890cd85f5c..8d7e270cde0 100644 --- a/code/ZAS/ConnectionManager.dm +++ b/code/ZAS/ConnectionManager.dm @@ -16,7 +16,7 @@ Class Procs: Preferable to accessing the connection directly because it checks validity. place(connection/c, d) - Called by air_master.connect(). Sets the connection in the specified direction to c. + Called by SSair.connect(). Sets the connection in the specified direction to c. update_all() Called after turf/update_air_properties(). Updates the validity of all connections on this turf. diff --git a/code/ZAS/Controller.dm b/code/ZAS/Controller.dm deleted file mode 100644 index cfc687e34af..00000000000 --- a/code/ZAS/Controller.dm +++ /dev/null @@ -1,234 +0,0 @@ -var/datum/controller/subsystem/air/air_master - -var/tick_multiplier = 2 - -/* - -Overview: - The air controller does everything. There are tons of procs in here. - -Class Vars: - zones - All zones currently holding one or more turfs. - edges - All processing edges. - - tiles_to_update - Tiles scheduled to update next tick. - zones_to_update - Zones which have had their air changed and need air archival. - active_hotspots - All processing fire objects. - - active_zones - The number of zones which were archived last tick. Used in debug verbs. - next_id - The next UID to be applied to a zone. Mostly useful for debugging purposes as zones do not need UIDs to function. - -Class Procs: - - mark_for_update(turf/T) - Adds the turf to the update list. When updated, update_air_properties() will be called. - When stuff changes that might affect airflow, call this. It's basically the only thing you need. - - add_zone(zone/Z) and remove_zone(zone/Z) - Adds zones to the zones list. Does not mark them for update. - - air_blocked(turf/A, turf/B) - Returns a bitflag consisting of: - AIR_BLOCKED - The connection between turfs is physically blocked. No air can pass. - ZONE_BLOCKED - There is a door between the turfs, so zones cannot cross. Air may or may not be permeable. - - has_valid_zone(turf/T) - Checks the presence and validity of T's zone. - May be called on unsimulated turfs, returning 0. - - merge(zone/A, zone/B) - Called when zones have a direct connection and equivalent pressure and temperature. - Merges the zones to create a single zone. - - connect(turf/simulated/A, turf/B) - Called by turf/update_air_properties(). The first argument must be simulated. - Creates a connection between A and B. - - mark_zone_update(zone/Z) - Adds zone to the update list. Unlike mark_for_update(), this one is called automatically whenever - air is returned from a simulated turf. - - equivalent_pressure(zone/A, zone/B) - Currently identical to A.air.compare(B.air). Returns 1 when directly connected zones are ready to be merged. - - get_edge(zone/A, zone/B) - get_edge(zone/A, turf/B) - Gets a valid connection_edge between A and B, creating a new one if necessary. - - has_same_air(turf/A, turf/B) - Used to determine if an unsimulated edge represents a specific turf. - Simulated edges use connection_edge/contains_zone() for the same purpose. - Returns 1 if A has identical gases and temperature to B. - - remove_edge(connection_edge/edge) - Called when an edge is erased. Removes it from processing. - -*/ - -// -// The rest of the air subsystem is defined in air.dm -// - -/datum/controller/subsystem/air - //Geometry lists - var/list/zones = list() - var/list/edges = list() - //Geometry updates lists - var/list/tiles_to_update = list() - var/list/zones_to_update = list() - var/list/active_fire_zones = list() - var/list/active_hotspots = list() - var/list/active_edges = list() - var/list/zones_planet_temperature_to_update = list() // YW Addition - zones_planet_temperature_to_update - - var/active_zones = 0 - var/current_cycle = 0 - var/next_id = 1 //Used to keep track of zone UIDs. - -/datum/controller/subsystem/air/proc/add_zone(zone/z) - zones.Add(z) - z.name = "Zone [next_id++]" - zones_planet_temperature_to_update.Add(z) //YW Addition - planet temp - mark_zone_update(z) - -/datum/controller/subsystem/air/proc/remove_zone(zone/z) - zones.Remove(z) - zones_to_update.Remove(z) - zones_planet_temperature_to_update.Remove(z) //YW Addition - planet temp - -/datum/controller/subsystem/air/proc/air_blocked(turf/A, turf/B) - #ifdef ZASDBG - ASSERT(isturf(A)) - ASSERT(isturf(B)) - #endif - var/ablock = A.c_airblock(B) - if(ablock == BLOCKED) return BLOCKED - return ablock | B.c_airblock(A) - -/datum/controller/subsystem/air/proc/has_valid_zone(turf/simulated/T) - #ifdef ZASDBG - ASSERT(istype(T)) - #endif - return istype(T) && T.zone && !T.zone.invalid - -/datum/controller/subsystem/air/proc/merge(zone/A, zone/B) - #ifdef ZASDBG - ASSERT(istype(A)) - ASSERT(istype(B)) - ASSERT(!A.invalid) - ASSERT(!B.invalid) - ASSERT(A != B) - #endif - if(A.contents.len < B.contents.len) - A.c_merge(B) - mark_zone_update(B) - else - B.c_merge(A) - mark_zone_update(A) - -/datum/controller/subsystem/air/proc/connect(turf/simulated/A, turf/simulated/B) - #ifdef ZASDBG - ASSERT(istype(A)) - ASSERT(isturf(B)) - ASSERT(A.zone) - ASSERT(!A.zone.invalid) - //ASSERT(B.zone) - ASSERT(A != B) - #endif - - var/block = air_master.air_blocked(A,B) - if(block & AIR_BLOCKED) return - - var/direct = !(block & ZONE_BLOCKED) - var/space = !istype(B) - - if(!space) - if(min(A.zone.contents.len, B.zone.contents.len) < ZONE_MIN_SIZE || (direct && (equivalent_pressure(A.zone,B.zone) || current_cycle == 0))) - merge(A.zone,B.zone) - return - - var/a_to_b = get_dir(A,B) - var/b_to_a = get_dir(B,A) - - if(!A.connections) A.connections = new - if(!B.connections) B.connections = new - - if(A.connections.get(a_to_b)) return - if(B.connections.get(b_to_a)) return - if(!space) - if(A.zone == B.zone) return - - - var/connection/c = new /connection(A,B) - - A.connections.place(c, a_to_b) - B.connections.place(c, b_to_a) - - if(direct) c.mark_direct() - -/datum/controller/subsystem/air/proc/mark_for_update(turf/T) - #ifdef ZASDBG - ASSERT(isturf(T)) - #endif - if(T.needs_air_update) return - tiles_to_update |= T - #ifdef ZASDBG - T.add_overlay(mark) - #endif - T.needs_air_update = 1 - -/datum/controller/subsystem/air/proc/mark_zone_update(zone/Z) - #ifdef ZASDBG - ASSERT(istype(Z)) - #endif - if(Z.needs_update) return - zones_to_update.Add(Z) - Z.needs_update = 1 - -/datum/controller/subsystem/air/proc/mark_edge_sleeping(connection_edge/E) - #ifdef ZASDBG - ASSERT(istype(E)) - #endif - if(E.sleeping) return - active_edges.Remove(E) - E.sleeping = 1 - -/datum/controller/subsystem/air/proc/mark_edge_active(connection_edge/E) - #ifdef ZASDBG - ASSERT(istype(E)) - #endif - if(!E.sleeping) return - active_edges.Add(E) - E.sleeping = 0 - -/datum/controller/subsystem/air/proc/equivalent_pressure(zone/A, zone/B) - return A.air.compare(B.air) - -/datum/controller/subsystem/air/proc/get_edge(zone/A, zone/B) - - if(istype(B)) - for(var/connection_edge/zone/edge in A.edges) - if(edge.contains_zone(B)) return edge - var/connection_edge/edge = new/connection_edge/zone(A,B) - edges.Add(edge) - edge.recheck() - return edge - else - for(var/connection_edge/unsimulated/edge in A.edges) - if(has_same_air(edge.B,B)) return edge - var/connection_edge/edge = new/connection_edge/unsimulated(A,B) - edges.Add(edge) - edge.recheck() - return edge - -/datum/controller/subsystem/air/proc/has_same_air(turf/A, turf/B) - if(A.oxygen != B.oxygen) return 0 - if(A.nitrogen != B.nitrogen) return 0 - if(A.phoron != B.phoron) return 0 - if(A.carbon_dioxide != B.carbon_dioxide) return 0 - if(A.temperature != B.temperature) return 0 - return 1 - -/datum/controller/subsystem/air/proc/remove_edge(connection_edge/E) - edges.Remove(E) - if(!E.sleeping) active_edges.Remove(E) diff --git a/code/ZAS/Diagnostic.dm b/code/ZAS/Diagnostic.dm index fba24568028..15fcd893479 100644 --- a/code/ZAS/Diagnostic.dm +++ b/code/ZAS/Diagnostic.dm @@ -1,5 +1,5 @@ /client/proc/ZoneTick() - set category = "Debug" + set category = "Debug.Misc" set name = "Process Atmos" set desc = "Manually run a single tick of the air subsystem" @@ -8,16 +8,16 @@ /* if(!check_rights(R_DEBUG)) return - var/result = air_master.Tick() + var/result = SSair.Tick() if(result) to_chat(src, "Successfully Processed.") else - to_chat(src, "Failed to process! ([air_master.tick_progress])") + to_chat(src, "Failed to process! ([SSair.tick_progress])") */ /client/proc/Zone_Info(turf/T as null|turf) - set category = "Debug" + set category = "Debug.Misc" if(T) if(istype(T,/turf/simulated) && T:zone) T:zone:dbg_data(src) @@ -36,7 +36,7 @@ /client/var/list/zone_debug_images /client/proc/Test_ZAS_Connection(var/turf/simulated/T as turf) - set category = "Debug" + set category = "Debug.Misc" if(!istype(T)) return @@ -95,6 +95,6 @@ to_chat(mob, "both turfs can merge.") /client/proc/ZASSettings() - set category = "Debug" + set category = "Debug.Dangerous" vsc.SetDefault(mob) diff --git a/code/ZAS/Fire.dm b/code/ZAS/Fire.dm index 5c3a24d882a..9cbf665f83b 100644 --- a/code/ZAS/Fire.dm +++ b/code/ZAS/Fire.dm @@ -58,7 +58,7 @@ If it gains pressure too slowly, it may leak or just rupture instead of explodin fuel_objs.Cut() if(!fire_tiles.len) - air_master.active_fire_zones.Remove(src) + SSair.active_fire_zones.Remove(src) /zone/proc/remove_liquidfuel(var/used_liquid_fuel, var/remove_fire=0) if(!fuel_objs.len) @@ -94,7 +94,7 @@ If it gains pressure too slowly, it may leak or just rupture instead of explodin return 1 fire = new(src, fl) - air_master.active_fire_zones |= zone + SSair.active_fire_zones |= zone var/obj/effect/decal/cleanable/liquid_fuel/fuel = locate() in src zone.fire_tiles |= src @@ -177,8 +177,8 @@ If it gains pressure too slowly, it may leak or just rupture instead of explodin animate(src, color = fire_color(air_contents.temperature), 5) set_light(l_color = color) -/obj/fire/New(newLoc,fl) - ..() +/obj/fire/Initialize(mapload, fl) + . = ..() if(!istype(loc, /turf)) qdel(src) @@ -191,7 +191,7 @@ If it gains pressure too slowly, it may leak or just rupture instead of explodin set_light(3, 1, color) firelevel = fl - air_master.active_hotspots.Add(src) + SSair.active_hotspots.Add(src) /obj/fire/proc/fire_color(var/env_temperature) var/temperature = max(4000*sqrt(firelevel/vsc.fire_firelevel_multiplier), env_temperature) @@ -209,7 +209,7 @@ If it gains pressure too slowly, it may leak or just rupture instead of explodin T.fire = null loc = null - air_master.active_hotspots.Remove(src) + SSair.active_hotspots.Remove(src) /turf/simulated/var/fire_protection = 0 //Protects newly extinguished tiles from being overrun again. diff --git a/code/ZAS/Phoron.dm b/code/ZAS/Phoron.dm index a8c797ec2a3..cab64a11f8b 100644 --- a/code/ZAS/Phoron.dm +++ b/code/ZAS/Phoron.dm @@ -45,7 +45,7 @@ var/image/contamination_overlay = image('icons/effects/contamination.dmi') //Clothing and backpacks can be contaminated. if(flags & PHORONGUARD) return 0 - else if(istype(src,/obj/item/weapon/storage/backpack)) + else if(istype(src,/obj/item/storage/backpack)) return 0 //Cannot be washed :( //VOREStation Addition start else if(isbelly(loc)) @@ -82,7 +82,7 @@ var/image/contamination_overlay = image('icons/effects/contamination.dmi') suit_contamination() //Phoron can sometimes get through such an open suit. //Cannot wash backpacks currently. -// if(istype(back,/obj/item/weapon/storage/backpack)) +// if(istype(back,/obj/item/storage/backpack)) // back.contaminate() /mob/proc/pl_effects() @@ -102,8 +102,8 @@ var/image/contamination_overlay = image('icons/effects/contamination.dmi') if(vsc.plc.SKIN_BURNS && (species.breath_type != "phoron")) if(!pl_head_protected() || !pl_suit_protected()) burn_skin(0.75) - if(prob(20)) - to_chat(src, "Your skin burns!") + if(prob(20)) + to_chat(src, span_danger("Your skin burns!")) updatehealth() //Burn eyes if exposed. @@ -134,18 +134,18 @@ var/image/contamination_overlay = image('icons/effects/contamination.dmi') if(vsc.plc.GENETIC_CORRUPTION && (species.breath_type != "phoron")) if(rand(1,10000) < vsc.plc.GENETIC_CORRUPTION) randmutb(src) - to_chat(src, "High levels of toxins cause you to spontaneously mutate!") + to_chat(src, span_danger("High levels of toxins cause you to spontaneously mutate!")) domutcheck(src,null) /mob/living/carbon/human/proc/burn_eyes() var/obj/item/organ/internal/eyes/E = internal_organs_by_name[O_EYES] if(E) if(prob(20)) - to_chat(src, "Your eyes burn!") + to_chat(src, span_danger("Your eyes burn!")) E.damage += 2.5 eye_blurry = min(eye_blurry+1.5,50) if (prob(max(0,E.damage - 15) + 1) &&!eye_blind) - to_chat(src, "You are blinded!") + to_chat(src, span_danger("You are blinded!")) Blind(20) /mob/living/carbon/human/proc/pl_head_protected() diff --git a/code/ZAS/Turf.dm b/code/ZAS/Turf.dm index c05e708036b..a67970c63aa 100644 --- a/code/ZAS/Turf.dm +++ b/code/ZAS/Turf.dm @@ -41,9 +41,8 @@ if(istype(unsim, /turf/simulated)) var/turf/simulated/sim = unsim - if(air_master.has_valid_zone(sim)) - - air_master.connect(sim, src) + if(HAS_VALID_ZONE(sim)) + SSair.connect(sim, src) /* Simple heuristic for determining if removing the turf from it's zone will not partition the zone (A very bad thing). @@ -162,7 +161,7 @@ var/turf/simulated/sim = unsim sim.open_directions |= reverse_dir[d] - if(air_master.has_valid_zone(sim)) + if(HAS_VALID_ZONE(sim)) //Might have assigned a zone, since this happens for each direction. if(!zone) @@ -195,7 +194,7 @@ if(verbose) to_world("Connecting to [sim.zone]") #endif - air_master.connect(src, sim) + SSair.connect(src, sim) #ifdef ZASDBG @@ -210,7 +209,7 @@ if(!postponed) postponed = list() postponed.Add(unsim) - if(!air_master.has_valid_zone(src)) //Still no zone, make a new one. + if(!HAS_VALID_ZONE(src)) //Still no zone, make a new one. var/zone/newzone = new/zone() newzone.add(src) @@ -223,7 +222,7 @@ //At this point, a zone should have happened. If it hasn't, don't add more checks, fix the bug. for(var/turf/T in postponed) - air_master.connect(src, T) + SSair.connect(src, T) /turf/proc/post_update_air_properties() if(connections) connections.update_all() @@ -279,7 +278,7 @@ /turf/simulated/return_air() if(zone) if(!zone.invalid) - air_master.mark_zone_update(zone) + SSair.mark_zone_update(zone) return zone.air else if(!air) diff --git a/code/ZAS/Variable Settings.dm b/code/ZAS/Variable Settings.dm index d55bcc64de2..8867060e6fc 100644 --- a/code/ZAS/Variable Settings.dm +++ b/code/ZAS/Variable Settings.dm @@ -110,7 +110,7 @@ var/global/vs_control/vsc = new vw = vars[ch] if("[ch]_DESC" in vars) vw_desc = vars["[ch]_DESC"] if("[ch]_NAME" in vars) vw_name = vars["[ch]_NAME"] - dat += "[vw_name] = [vw] \[Change\]
" + dat += span_bold("[vw_name] = [vw]") + " \[Change\]
" dat += "[vw_desc]

" user << browse(dat,"window=settings") @@ -168,7 +168,7 @@ var/global/vs_control/vsc = new vars[ch] = vw if(how == "Toggle") newvar = (newvar?"ON":"OFF") - to_world("[key_name(user)] changed the setting [display_description] to [newvar].") + to_world(span_world(span_blue("[key_name(user)] changed the setting [display_description] to [newvar]."))) if(ch in plc.settings) ChangeSettingsDialog(user,plc.settings) else @@ -321,7 +321,7 @@ var/global/vs_control/vsc = new plc.N2O_HALLUCINATION = initial(plc.N2O_HALLUCINATION) - to_world("[key_name(user)] changed the global phoron/ZAS settings to \"[def]\"") + to_world(span_world(span_blue("[key_name(user)] changed the global phoron/ZAS settings to \"[def]\""))) /pl_control/var/list/settings = list() diff --git a/code/ZAS/Zone.dm b/code/ZAS/Zone.dm index d07a280d040..b6d012afe7d 100644 --- a/code/ZAS/Zone.dm +++ b/code/ZAS/Zone.dm @@ -56,7 +56,7 @@ Class Procs: /zone/var/list/graphic_remove = list() /zone/New() - air_master.add_zone(src) + SSair.add_zone(src) air.temperature = TCMB air.group_multiplier = 1 air.volume = CELL_VOLUME @@ -65,7 +65,7 @@ Class Procs: #ifdef ZASDBG ASSERT(!invalid) ASSERT(istype(T)) - ASSERT(!air_master.has_valid_zone(T)) + ASSERT(!HAS_VALID_ZONE(T)) #endif var/datum/gas_mixture/turf_air = T.return_air() @@ -75,7 +75,7 @@ Class Procs: if(T.fire) var/obj/effect/decal/cleanable/liquid_fuel/fuel = locate() in T fire_tiles.Add(T) - air_master.active_fire_zones |= src + SSair.active_fire_zones |= src if(fuel) fuel_objs += fuel if(air.graphic) T.update_graphic(air.graphic) @@ -122,11 +122,11 @@ Class Procs: if(E.contains_zone(into)) continue //don't need to rebuild this edge for(var/turf/T in E.connecting_turfs) - air_master.mark_for_update(T) + SSair.mark_for_update(T) /zone/proc/c_invalidate() invalid = 1 - air_master.remove_zone(src) + SSair.remove_zone(src) #ifdef ZASDBG for(var/turf/simulated/T in contents) T.dbg(invalid_zone) @@ -141,7 +141,7 @@ Class Procs: T.update_graphic(graphic_remove = air_graphic) //we need to remove the overlays so they're not doubled when the zone is rebuilt //T.dbg(invalid_zone) T.needs_air_update = 0 //Reset the marker so that it will be added to the list. - air_master.mark_for_update(T) + SSair.mark_for_update(T) /zone/proc/add_tile_air(datum/gas_mixture/tile_air) //air.volume += CELL_VOLUME @@ -152,7 +152,7 @@ Class Procs: air.group_multiplier = contents.len+1 /zone/proc/tick() - if(air.temperature >= PHORON_FLASHPOINT && !(src in air_master.active_fire_zones) && air.check_combustability() && contents.len) + if(air.temperature >= PHORON_FLASHPOINT && !(src in SSair.active_fire_zones) && air.check_combustability() && contents.len) var/turf/T = pick(contents) if(istype(T)) T.create_fire(vsc.fire_firelevel_multiplier) @@ -171,7 +171,7 @@ Class Procs: to_chat(M,name) for(var/g in air.gas) to_chat(M, "[gas_data.name[g]]: [air.gas[g]]") - to_chat(M, "P: [air.return_pressure()] kPa V: [air.volume]L T: [air.temperature]°K ([air.temperature - T0C]°C)") + to_chat(M, "P: [air.return_pressure()] kPa V: [air.volume]L T: [air.temperature]�K ([air.temperature - T0C]�C)") to_chat(M, "O2 per N2: [(air.gas["nitrogen"] ? air.gas["oxygen"]/air.gas["nitrogen"] : "N/A")] Moles: [air.total_moles]") to_chat(M, "Simulated: [contents.len] ([air.group_multiplier])") //to_chat(M, "Unsimulated: [unsimulated_contents.len]") @@ -192,4 +192,4 @@ Class Procs: to_chat(M, "Space Edges: [space_edges] ([space_coefficient] connections)") //for(var/turf/T in unsimulated_contents) - // to_chat(M, "[T] at ([T.x],[T.y])") \ No newline at end of file + // to_chat(M, "[T] at ([T.x],[T.y])") diff --git a/code/ZAS/_docs.dm b/code/ZAS/_docs.dm index 382f1f0abbf..822c8ac7b2a 100644 --- a/code/ZAS/_docs.dm +++ b/code/ZAS/_docs.dm @@ -15,7 +15,7 @@ Every air tick: Important Functions: -air_master.mark_for_update(turf) +SSair.mark_for_update(turf) When stuff happens, call this. It works on everything. You basically don't need to worry about any other functions besides CanPass(). diff --git a/code/__defines/MC.dm b/code/__defines/MC.dm index 57161ffac8c..2c4360add9c 100644 --- a/code/__defines/MC.dm +++ b/code/__defines/MC.dm @@ -18,6 +18,15 @@ #define MC_AVG_FAST_UP_SLOW_DOWN(average, current) (average > current ? MC_AVERAGE_SLOW(average, current) : MC_AVERAGE_FAST(average, current)) #define MC_AVG_SLOW_UP_FAST_DOWN(average, current) (average < current ? MC_AVERAGE_SLOW(average, current) : MC_AVERAGE_FAST(average, current)) +///creates a running average of "things elapsed" per time period when you need to count via a smaller time period. +///eg you want an average number of things happening per second but you measure the event every tick (50 milliseconds). +///make sure both time intervals are in the same units. doesn't work if current_duration > total_duration or if total_duration == 0 +#define MC_AVG_OVER_TIME(average, current, total_duration, current_duration) ((((total_duration) - (current_duration)) / (total_duration)) * (average) + (current)) + +#define MC_AVG_MINUTES(average, current, current_duration) (MC_AVG_OVER_TIME(average, current, 1 MINUTES, current_duration)) + +#define MC_AVG_SECONDS(average, current, current_duration) (MC_AVG_OVER_TIME(average, current, 1 SECONDS, current_duration)) + #define NEW_SS_GLOBAL(varname) if(varname != src){if(istype(varname)){Recover();qdel(varname);}varname = src;} #define START_PROCESSING(Processor, Datum) if (!(Datum.datum_flags & DF_ISPROCESSING)) {Datum.datum_flags |= DF_ISPROCESSING;Processor.processing += Datum} @@ -63,21 +72,42 @@ #define SS_PAUSED 3 /// paused by mc_tick_check #define SS_SLEEPING 4 /// fire() slept. #define SS_PAUSING 5 /// in the middle of pausing +// Subsystem init stages +#define INITSTAGE_EARLY 1 //! Early init stuff that doesn't need to wait for mapload +#define INITSTAGE_MAIN 2 //! Main init stage +#define INITSTAGE_MAX 2 //! Highest initstage. #define SUBSYSTEM_DEF(X) GLOBAL_REAL(SS##X, /datum/controller/subsystem/##X);\ /datum/controller/subsystem/##X/New(){\ - NEW_SS_GLOBAL(SS##X);\ - PreInit();\ + NEW_SS_GLOBAL(SS##X);\ + PreInit();\ }\ /datum/controller/subsystem/##X +#define TIMER_SUBSYSTEM_DEF(X) GLOBAL_REAL(SS##X, /datum/controller/subsystem/timer/##X);\ +/datum/controller/subsystem/timer/##X/New(){\ + NEW_SS_GLOBAL(SS##X);\ + PreInit();\ +}\ +/datum/controller/subsystem/timer/##X/fire() {..() /*just so it shows up on the profiler*/} \ +/datum/controller/subsystem/timer/##X + #define PROCESSING_SUBSYSTEM_DEF(X) GLOBAL_REAL(SS##X, /datum/controller/subsystem/processing/##X);\ /datum/controller/subsystem/processing/##X/New(){\ - NEW_SS_GLOBAL(SS##X);\ - PreInit();\ + NEW_SS_GLOBAL(SS##X);\ + PreInit();\ }\ +/datum/controller/subsystem/processing/##X/fire() {..() /*just so it shows up on the profiler*/} \ /datum/controller/subsystem/processing/##X +#define VERB_MANAGER_SUBSYSTEM_DEF(X) GLOBAL_REAL(SS##X, /datum/controller/subsystem/verb_manager/##X);\ +/datum/controller/subsystem/verb_manager/##X/New(){\ + NEW_SS_GLOBAL(SS##X);\ + PreInit();\ +}\ +/datum/controller/subsystem/verb_manager/##X/fire() {..() /*just so it shows up on the profiler*/} \ +/datum/controller/subsystem/verb_manager/##X + // Boilerplate code for multi-step processors. See machines.dm for example use. #define INTERNAL_PROCESS_STEP(this_step, initial_step, proc_to_call, cost_var, next_step)\ if(current_step == this_step || (initial_step && !resumed)) /* So we start at step 1 if not resumed.*/ {\ diff --git a/code/__defines/ZAS.dm b/code/__defines/ZAS.dm index ba2b4b73e76..c8289fdc271 100644 --- a/code/__defines/ZAS.dm +++ b/code/__defines/ZAS.dm @@ -11,3 +11,5 @@ #define ATMOS_PASS_NO 2 // Never blocks air or zones. #define ATMOS_PASS_DENSITY 3 // Blocks air and zones if density = TRUE, allows both if density = FALSE #define ATMOS_PASS_PROC 4 // Call CanZASPass() using c_airblock + +#define HAS_VALID_ZONE(T) (T.zone && !T.zone.invalid) diff --git a/code/__defines/_click.dm b/code/__defines/_click.dm new file mode 100644 index 00000000000..3bc9c08734b --- /dev/null +++ b/code/__defines/_click.dm @@ -0,0 +1,56 @@ +//Defines file for byond click related parameters +//this is mostly for ease of use and for finding all the things that use say RIGHT_CLICK rather then just searching "right" + +//Mouse buttons held +#define RIGHT_CLICK "right" +#define MIDDLE_CLICK "middle" +#define LEFT_CLICK "left" + +///Mouse button that was just clicked/released +///if(modifiers[BUTTON] == LEFT_CLICK) +#define BUTTON "button" + +//Keys held down during the mouse action +#define CTRL_CLICK "ctrl" +#define ALT_CLICK "alt" +#define SHIFT_CLICK "shift" + +//Cells involved if using a Grid control +#define DRAG_CELL "drag-cell" +#define DROP_CELL "drop-cell" + +//The button used for dragging (only sent for unrelated mouse up/down messages during a drag) +#define DRAG "drag" + +//If the mouse is over a link in maptext, or this event is related to clicking such a link +#define LINK "link" + +//Pixel coordinates relative to the icon's position on screen +#define VIS_X "vis-x" +#define VIS_Y "vis-y" + +//Pixel coordinates within the icon, in the icon's coordinate space +#define ICON_X "icon-x" +#define ICON_Y "icon-y" + +//Pixel coordinates in screen_loc format ("[tile_x]:[pixel_x],[tile_y]:[pixel_y]") +#define SCREEN_LOC "screen-loc" + +//https://secure.byond.com/docs/ref/info.html#/atom/var/mouse_opacity +/// Objects will ignore being clicked on regardless of their transparency (used in parallax, lighting effects, holograms, lasers, etc.) +#define MOUSE_OPACITY_TRANSPARENT 0 +/// Objects will be clicked on if it is the topmost object and the pixel isn't transparent at the position of the mouse (default behavior for 99.99% of game objects) +#define MOUSE_OPACITY_ICON 1 +/// Objects will be always be clicked on regardless of pixel transparency or other objects at that location (used in space vines, storage containers) +#define MOUSE_OPACITY_OPAQUE 2 + +/// Whatever the base action datum thinks is best +#define SCRN_OBJ_DEFAULT "default" +/// Floating somewhere on the hud, not in any predefined place +#define SCRN_OBJ_FLOATING "floating" +/// In the list of buttons stored at the top of the screen +#define SCRN_OBJ_IN_LIST "list" +/// In the collapseable palette +#define SCRN_OBJ_IN_PALETTE "palette" +/// In cult spell list +#define SCRN_OBJ_CULT_LIST "cult_list" diff --git a/code/__defines/_compile_options.dm b/code/__defines/_compile_options.dm index 058115f4fd1..ffee05a3e58 100644 --- a/code/__defines/_compile_options.dm +++ b/code/__defines/_compile_options.dm @@ -15,11 +15,16 @@ // Movement Compile Options //#define CARDINAL_INPUT_ONLY // Uncomment to disable diagonal player movement (restore previous cardinal-moves-only behavior) +// CI will override these as appropriate +// #define MAP_TEST 0 +// #define AWAY_MISSION_TEST 0 +// #define UNIT_TEST 0 + // Comment/Uncomment this to turn off/on shuttle code debugging logs #define DEBUG_SHUTTLES // If we are doing the map test build, do not include the main maps, only the submaps. -#if MAP_TEST +#ifdef MAP_TEST #define USING_MAP_DATUM /datum/map #define MAP_OVERRIDE 1 #endif @@ -41,3 +46,6 @@ #endif //ifdef GC_FAILURE_HARD_LOOKUP #endif //ifdef REFERENCE_TRACKING + +// Standard flags to use for browser-options +#define DEFAULT_CLIENT_BROWSER_OPTIONS "byondstorage,find" diff --git a/code/__defines/_helpers.dm b/code/__defines/_helpers.dm new file mode 100644 index 00000000000..ffd7df34160 --- /dev/null +++ b/code/__defines/_helpers.dm @@ -0,0 +1,17 @@ +// Stuff that is relatively "core" and is used in other defines/helpers + +/** + * The game's world.icon_size. \ + * Ideally divisible by 16. \ + * Ideally a number, but it + * can be a string ("32x32"), so more exotic coders + * will be sad if you use this in math. + */ +#define ICON_SIZE_ALL 32 +/// The X/Width dimension of ICON_SIZE. This will more than likely be the bigger axis. +#define ICON_SIZE_X 32 +/// The Y/Height dimension of ICON_SIZE. This will more than likely be the smaller axis. +#define ICON_SIZE_Y 32 + +/// Takes a datum as input, returns its ref string +#define text_ref(datum) ref(datum) diff --git a/code/__defines/_init.dm b/code/__defines/_init.dm new file mode 100644 index 00000000000..ccb2f266c65 --- /dev/null +++ b/code/__defines/_init.dm @@ -0,0 +1,19 @@ +// NEVER leave this on in your PR or the server will probably explode +// #define ENABLE_BYOND_TRACY +/datum/super_early_init + +/datum/super_early_init/New() + // This exists so that world.Profile() is THE FIRST PROC TO RUN in the init sequence. + // This allows us to get the real details of everything lagging at server start. + // world.Profile(PROFILE_START) + #if defined(ENABLE_BYOND_TRACY) + var/tracy_init = LIBCALL("prof.dll", "init")() // Setup Tracy integration + if(tracy_init != "0") + CRASH("Tracy init error: [tracy_init]") + #endif + // After that, the debugger is initialized. + // Doing it this early makes it possible to set breakpoints in the New() + // of things assigned to global variables or objects included in a compiled map file. + // world.enable_auxtools_debugger() + +GLOBAL_REAL(super_early_init, /datum/super_early_init) = new diff --git a/code/__defines/_lists.dm b/code/__defines/_lists.dm index 582c026f3c8..ebf923672dd 100644 --- a/code/__defines/_lists.dm +++ b/code/__defines/_lists.dm @@ -46,32 +46,4 @@ #define reverseList(L) reverseRange(L.Copy()) -// binary search sorted insert -// IN: Object to be inserted -// LIST: List to insert object into -// TYPECONT: The typepath of the contents of the list -// COMPARE: The variable on the objects to compare -#define BINARY_INSERT(IN, LIST, TYPECONT, COMPARE) \ - var/__BIN_CTTL = length(LIST);\ - if(!__BIN_CTTL) {\ - LIST += IN;\ - } else {\ - var/__BIN_LEFT = 1;\ - var/__BIN_RIGHT = __BIN_CTTL;\ - var/__BIN_MID = (__BIN_LEFT + __BIN_RIGHT) >> 1;\ - var/##TYPECONT/__BIN_ITEM;\ - while(__BIN_LEFT < __BIN_RIGHT) {\ - __BIN_ITEM = LIST[__BIN_MID];\ - if(__BIN_ITEM.##COMPARE <= IN.##COMPARE) {\ - __BIN_LEFT = __BIN_MID + 1;\ - } else {\ - __BIN_RIGHT = __BIN_MID;\ - };\ - __BIN_MID = (__BIN_LEFT + __BIN_RIGHT) >> 1;\ - };\ - __BIN_ITEM = LIST[__BIN_MID];\ - __BIN_MID = __BIN_ITEM.##COMPARE > IN.##COMPARE ? __BIN_MID : __BIN_MID + 1;\ - LIST.Insert(__BIN_MID, IN);\ - } - #define islist(L) istype(L, /list) diff --git a/code/__defines/_planes+layers.dm b/code/__defines/_planes+layers.dm index 2bc1f6d6ca2..7da2ddbfe88 100644 --- a/code/__defines/_planes+layers.dm +++ b/code/__defines/_planes+layers.dm @@ -188,6 +188,10 @@ What is the naming convention for planes or layers? #define PLANE_PLAYER_HUD_ITEMS 96 //Separate layer with which to apply colorblindness #define PLANE_PLAYER_HUD_ABOVE 97 //Things above the player hud +#define RADIAL_BACKGROUND_LAYER 0 +///1000 is an unimportant number, it's just to normalize copied layers +#define RADIAL_CONTENT_LAYER 1000 + #define PLANE_ADMIN3 99 //Purely for shenanigans (above HUD) diff --git a/code/__defines/_tick.dm b/code/__defines/_tick.dm index 54ac7d398d9..f336c2e27b2 100644 --- a/code/__defines/_tick.dm +++ b/code/__defines/_tick.dm @@ -1,15 +1,27 @@ +/// Percentage of tick to leave for master controller to run +#define MAPTICK_MC_MIN_RESERVE 70 +#define MAPTICK_LAST_INTERNAL_TICK_USAGE (world.map_cpu) #define TICK_LIMIT_RUNNING 80 +/// Tick limit used to resume things in stoplag #define TICK_LIMIT_TO_RUN 70 +/// Tick limit for MC while running #define TICK_LIMIT_MC 70 #define TICK_LIMIT_MC_INIT_DEFAULT 98 +/// for general usage of tick_usage #define TICK_USAGE world.tick_usage +/// to be used where the result isn't checked +#define TICK_USAGE_REAL world.tick_usage +/// Returns true if tick_usage is above the limit #define TICK_CHECK ( TICK_USAGE > Master.current_ticklimit ) +/// runs stoplag if tick_usage is above the limit #define CHECK_TICK ( TICK_CHECK ? stoplag() : 0 ) +/// Returns true if tick usage is above 95, for high priority usage #define TICK_CHECK_HIGH_PRIORITY ( TICK_USAGE > 95 ) +/// runs stoplag if tick_usage is above 95, for high priority usage #define CHECK_TICK_HIGH_PRIORITY ( TICK_CHECK_HIGH_PRIORITY? stoplag() : 0 ) -#define UNTIL(X) while(!(X)) stoplag() \ No newline at end of file +#define UNTIL(X) while(!(X)) stoplag() diff --git a/code/__defines/action.dm b/code/__defines/action.dm index bdbe228777c..25babfe3906 100644 --- a/code/__defines/action.dm +++ b/code/__defines/action.dm @@ -1,5 +1,17 @@ #define AB_CHECK_RESTRAINED 1 #define AB_CHECK_STUNNED 2 #define AB_CHECK_LYING 4 -#define AB_CHECK_ALIVE 8 -#define AB_CHECK_INSIDE 16 +#define AB_CHECK_CONSCIOUS 8 + +///Action button triggered with right click +#define TRIGGER_SECONDARY_ACTION (1<<0) +///Action triggered to ignore any availability checks +#define TRIGGER_FORCE_AVAILABLE (1<<1) + +#define ACTION_BUTTON_DEFAULT_BACKGROUND "_use_ui_default_background" + +#define UPDATE_BUTTON_NAME (1<<0) +#define UPDATE_BUTTON_ICON (1<<1) +#define UPDATE_BUTTON_BACKGROUND (1<<2) +#define UPDATE_BUTTON_OVERLAY (1<<3) +#define UPDATE_BUTTON_STATUS (1<<4) diff --git a/code/__defines/admin.dm b/code/__defines/admin.dm index 38af7830888..4895a51ae6c 100644 --- a/code/__defines/admin.dm +++ b/code/__defines/admin.dm @@ -46,6 +46,7 @@ #define SMITE_BLUESPACEARTILLERY "Bluespace Artillery" #define SMITE_SPONTANEOUSCOMBUSTION "Spontaneous Combustion" #define SMITE_LIGHTNINGBOLT "Lightning Bolt" +#define SMITE_TERROR "Terrify" #define ADMIN_QUE(user) "(?)" #define ADMIN_FLW(user) "(FLW)" diff --git a/code/__defines/admin_vr.dm b/code/__defines/admin_vr.dm index 40e408d3ed7..b4893b94345 100644 --- a/code/__defines/admin_vr.dm +++ b/code/__defines/admin_vr.dm @@ -4,6 +4,8 @@ #define SMITE_AD_SPAM "Ad Spam" #define SMITE_AUTOSAVE "10 Second Autosave" #define SMITE_AUTOSAVE_WIDE "10 Second Autosave (AoE)" +#define SMITE_SPICEREQUEST "Give Them Spice (Harmless)" +#define SMITE_PEPPERNADE "Give Them Spice (Extra Spicy)" #define MODIFIY_ROBOT_MODULE_ADD "Add a Module" #define MODIFIY_ROBOT_MODULE_REMOVE "Remove a Module" #define MODIFIY_ROBOT_APPLY_UPGRADE "Apply an Upgrade" diff --git a/code/__defines/callbacks.dm b/code/__defines/callbacks.dm index 126ef1ea1cf..91d036b9441 100644 --- a/code/__defines/callbacks.dm +++ b/code/__defines/callbacks.dm @@ -1,4 +1,8 @@ -#define GLOBAL_PROC "some_magic_bullshit" - +#define GLOBAL_PROC "some_magic_bullshit" +/// A shorthand for the callback datum, [documented here](datum/callback.html) #define CALLBACK new /datum/callback + #define INVOKE_ASYNC world.ImmediateInvokeAsync + +/// like CALLBACK but specifically for verb callbacks +#define VERB_CALLBACK new /datum/callback/verb_callback diff --git a/code/__defines/chemistry.dm b/code/__defines/chemistry.dm index 63ea0e136f6..8213aa200f5 100644 --- a/code/__defines/chemistry.dm +++ b/code/__defines/chemistry.dm @@ -41,6 +41,7 @@ #define CE_DARKSIGHT "darksight" // Gives perfect vision in dark #define REAGENTS_PER_SHEET 20 +#define REAGENTS_PER_ORE 20 // Attached to CE_ANTIBIOTIC #define ANTIBIO_NORM 1 diff --git a/code/__defines/configuration.dm b/code/__defines/configuration.dm new file mode 100644 index 00000000000..477bed243c1 --- /dev/null +++ b/code/__defines/configuration.dm @@ -0,0 +1,30 @@ +//config files +#define CONFIG_GET(X) global.config.Get(/datum/config_entry/##X) +#define CONFIG_SET(X, Y) global.config.Set(/datum/config_entry/##X, ##Y) + +#define CONFIG_MAPS_FILE "maps.txt" + +//flags +/// can't edit +#define CONFIG_ENTRY_LOCKED (1<<0) +/// can't see value +#define CONFIG_ENTRY_HIDDEN (1<<1) + +/// Force the config directory to be something other than "config" +#define OVERRIDE_CONFIG_DIRECTORY_PARAMETER "config-directory" + +// Config entry types +#define VALUE_MODE_NUM 0 +#define VALUE_MODE_TEXT 1 +#define VALUE_MODE_FLAG 2 + +#define KEY_MODE_TEXT 0 +#define KEY_MODE_TYPE 1 + +// Flags for respawn config +/// Respawn not allowed +#define RESPAWN_FLAG_DISABLED 0 +/// Respawn as much as you'd like +#define RESPAWN_FLAG_FREE 1 +/// Can respawn, but not as the same character +#define RESPAWN_FLAG_NEW_CHARACTER 2 diff --git a/code/__defines/cooldowns.dm b/code/__defines/cooldowns.dm index a04c83a4e20..ac73690d916 100644 --- a/code/__defines/cooldowns.dm +++ b/code/__defines/cooldowns.dm @@ -25,6 +25,10 @@ * Cooldown system based on an datum-level associative lazylist using timers. */ +// random cooldowns +#define COOLDOWN_VENOM_MILKING "venom_milking" +#define COOLDOWN_SHIP_REFRESH "ship_refresh" + // admin verb cooldowns #define COOLDOWN_INTERNET_SOUND "internet_sound" diff --git a/code/__defines/dcs/signals.dm b/code/__defines/dcs/signals.dm index ad7c9b4f346..5faf4792d7f 100644 --- a/code/__defines/dcs/signals.dm +++ b/code/__defines/dcs/signals.dm @@ -128,7 +128,7 @@ #define COMSIG_ATOM_DIR_CHANGE "atom_dir_change" ///from base of atom/handle_atom_del(): (atom/deleted) #define COMSIG_ATOM_CONTENTS_DEL "atom_contents_del" -///from base of atom/has_gravity(): (turf/location, list/forced_gravities) +///from base of atom/get_gravity(): (turf/location, list/forced_gravities) #define COMSIG_ATOM_HAS_GRAVITY "atom_has_gravity" ///from proc/get_rad_contents(): () #define COMSIG_ATOM_RAD_PROBE "atom_rad_probe" @@ -191,6 +191,8 @@ #define COMSIG_ENTER_AREA "enter_area" ///from base of area/Exited(): (/area) #define COMSIG_EXIT_AREA "exit_area" +///from base of client/Click(): (atom/target, atom/location, control, params, mob/user) +#define COMSIG_CLIENT_CLICK "atom_client_click" ///from base of atom/Click(): (location, control, params, mob/user) #define COMSIG_CLICK "atom_click" ///from base of atom/ShiftClick(): (/mob) @@ -219,7 +221,7 @@ ///from base of turf/ChangeTurf(): (path, list/new_baseturfs, flags, list/transferring_comps) #define COMSIG_TURF_CHANGE "turf_change" -///from base of atom/has_gravity(): (atom/asker, list/forced_gravities) +///from base of atom/get_gravity(): (atom/asker, list/forced_gravities) #define COMSIG_TURF_HAS_GRAVITY "turf_has_gravity" ///from base of turf/multiz_turf_del(): (turf/source, direction) #define COMSIG_TURF_MULTIZ_DEL "turf_multiz_del" @@ -714,6 +716,16 @@ ///from base of datum/action/proc/Trigger(): (datum/action) #define COMSIG_ACTION_TRIGGER "action_trigger" #define COMPONENT_ACTION_BLOCK_TRIGGER (1<<0) +/// From /datum/action/Grant(): (mob/grant_to) +#define COMSIG_ACTION_GRANTED "action_grant" +/// From /datum/action/Remove(): (mob/removed_from) +#define COMSIG_ACTION_REMOVED "action_removed" +/// From /datum/action/Grant(): (datum/action) +#define COMSIG_MOB_GRANTED_ACTION "mob_action_grant" +/// From /datum/action/Remove(): (datum/action) +#define COMSIG_MOB_REMOVED_ACTION "mob_action_removed" +/// From /datum/action/apply_button_overlay() +#define COMSIG_ACTION_OVERLAY_APPLY "action_overlay_applied" //Xenobio hotkeys diff --git a/code/__defines/diseases.dm b/code/__defines/diseases.dm new file mode 100644 index 00000000000..97f00252284 --- /dev/null +++ b/code/__defines/diseases.dm @@ -0,0 +1,29 @@ +#define VIRUS_SYMPTOM_LIMIT 6 + +//Visibility Flags +#define HIDDEN_SCANNER (1<<0) +#define HIDDEN_PANDEMIC (1<<1) + +//Disease Flags +#define CURABLE (1<<0) +#define CAN_CARRY (1<<1) +#define CAN_RESIST (1<<2) + +//Spread Flags +#define SPECIAL (1<<0) +#define NON_CONTAGIOUS (1<<1) +#define BLOOD (1<<2) +#define CONTACT_FEET (1<<3) +#define CONTACT_HANDS (1<<4) +#define CONTACT_GENERAL (1<<5) +#define AIRBORNE (1<<6) + +//Severity Defines +#define NONTHREAT "No threat" +#define MINOR "Minor" +#define MEDIUM "Medium" +#define HARMFUL "Harmful" +#define DANGEROUS "Dangerous!" +#define BIOHAZARD "BIOHAZARD THREAT!" + +#define SYMPTOM_ACTIVATION_PROB 3 diff --git a/code/__defines/dna.dm b/code/__defines/dna.dm index ecf85abcd99..10fe4d729be 100644 --- a/code/__defines/dna.dm +++ b/code/__defines/dna.dm @@ -99,37 +99,53 @@ var/SMALLSIZEBLOCK = 0 #define DNA_UI_BEARD_STYLE 15 #define DNA_UI_HAIR_STYLE 16 #define DNA_UI_EAR_STYLE 17 // VOREStation snippet. -#define DNA_UI_TAIL_STYLE 18 -#define DNA_UI_PLAYERSCALE 19 -#define DNA_UI_TAIL_R 20 -#define DNA_UI_TAIL_G 21 -#define DNA_UI_TAIL_B 22 -#define DNA_UI_TAIL2_R 23 -#define DNA_UI_TAIL2_G 24 -#define DNA_UI_TAIL2_B 25 -#define DNA_UI_TAIL3_R 26 -#define DNA_UI_TAIL3_G 27 -#define DNA_UI_TAIL3_B 28 -#define DNA_UI_EARS_R 29 -#define DNA_UI_EARS_G 30 -#define DNA_UI_EARS_B 31 -#define DNA_UI_EARS2_R 32 -#define DNA_UI_EARS2_G 33 -#define DNA_UI_EARS2_B 34 -#define DNA_UI_EARS3_R 35 -#define DNA_UI_EARS3_G 36 -#define DNA_UI_EARS3_B 37 -#define DNA_UI_WING_STYLE 38 -#define DNA_UI_WING_R 39 -#define DNA_UI_WING_G 40 -#define DNA_UI_WING_B 41 -#define DNA_UI_WING2_R 42 -#define DNA_UI_WING2_G 43 -#define DNA_UI_WING2_B 44 -#define DNA_UI_WING3_R 45 -#define DNA_UI_WING3_G 46 -#define DNA_UI_WING3_B 47 // VOREStation snippet end. -#define DNA_UI_LENGTH 47 // VOREStation Edit - Needs to match the highest number above. +#define DNA_UI_EAR_SECONDARY_STYLE 18 // VOREStation snippet. +#define DNA_UI_TAIL_STYLE 19 +#define DNA_UI_PLAYERSCALE 20 +#define DNA_UI_TAIL_R 21 +#define DNA_UI_TAIL_G 22 +#define DNA_UI_TAIL_B 23 +#define DNA_UI_TAIL2_R 24 +#define DNA_UI_TAIL2_G 25 +#define DNA_UI_TAIL2_B 26 +#define DNA_UI_TAIL3_R 27 +#define DNA_UI_TAIL3_G 28 +#define DNA_UI_TAIL3_B 29 + +#define DNA_UI_EARS_R 30 +#define DNA_UI_EARS_G 31 +#define DNA_UI_EARS_B 32 +#define DNA_UI_EARS2_R 33 +#define DNA_UI_EARS2_G 34 +#define DNA_UI_EARS2_B 35 +#define DNA_UI_EARS3_R 36 +#define DNA_UI_EARS3_G 37 +#define DNA_UI_EARS3_B 38 + +#define DNA_UI_EARS_SECONDARY_START 39 +#define DNA_UI_EARS_SECONDARY_COLOR_CHANNEL_COUNT 3 + +#define DNA_UI_EARS_SECONDARY_R 39 +#define DNA_UI_EARS_SECONDARY_G 40 +#define DNA_UI_EARS_SECONDARY_B 41 +#define DNA_UI_EARS_SECONDARY2_R 42 +#define DNA_UI_EARS_SECONDARY2_G 43 +#define DNA_UI_EARS_SECONDARY2_B 44 +#define DNA_UI_EARS_SECONDARY3_R 45 +#define DNA_UI_EARS_SECONDARY3_G 46 +#define DNA_UI_EARS_SECONDARY3_B 47 + +#define DNA_UI_WING_STYLE 48 +#define DNA_UI_WING_R 49 +#define DNA_UI_WING_G 50 +#define DNA_UI_WING_B 51 +#define DNA_UI_WING2_R 52 +#define DNA_UI_WING2_G 53 +#define DNA_UI_WING2_B 54 +#define DNA_UI_WING3_R 55 +#define DNA_UI_WING3_G 56 +#define DNA_UI_WING3_B 57 // VOREStation snippet end. +#define DNA_UI_LENGTH 57 // VOREStation Edit - Needs to match the highest number above. #define DNA_SE_LENGTH 49 // VOREStation Edit (original was UI+11) diff --git a/code/__defines/faction.dm b/code/__defines/faction.dm new file mode 100644 index 00000000000..a264a643ad3 --- /dev/null +++ b/code/__defines/faction.dm @@ -0,0 +1,118 @@ +#define FACTION_BAR "bar" +#define FACTION_CLOWN "clown" +#define FACTION_NONE "None" +#define FACTION_STATION "Station" + +#define FACTION_AEROSTAT_INSIDE "aerostat_inside" +#define FACTION_AEROSTAT_SURFACE "aerostat_surface" +#define FACTION_ASTEROID_BELT "asteroid_belt" +#define FACTION_BEACH_OUT "beach_out" +#define FACTION_BEACH_CAVE "beach_cave" +#define FACTION_DERELICT "derelict" +#define FACTION_OVERMAP "overmap" +#define FACTION_ROGUEMINES "roguemines" +#define FACTION_SPACE_ROCK "space_rock" +#define FACTION_SPOOKYLAND "spookyland" +#define FACTION_THEATRE "theatre" +#define FACTION_UNDERDARK "underdark" + +#define FACTION_VIRGO2 "virgo2" +#define FACTION_VIRGO3B "virgo3b" + +#define FACTION_ALTEVIAN "altevian" +#define FACTION_CULT "cult" +#define FACTION_GLAMOUR "glamour" +#define FACTION_PIRATE "pirate" +#define FACTION_SHADEKIN "shadekin" +#define FACTION_SPACE_GHOST "space ghost" +#define FACTION_SYNDICATE "syndicate" +#define FACTION_TECHNOMANCER "technomancer" +#define FACTION_VAMPIRE "vampire" + +#define FACTION_CORRUPT "corrupt" +#define FACTION_HIVEBOT "hivebot" +#define FACTION_MALF_DRONE "malf_drone" +#define FACTION_VAGRANT "vagrant" +#define FACTION_WARDS "wards" + +#define FACTION_ANIMAL "animal" +#define FACTION_BEE "bee" +#define FACTION_BLOB "blob" +#define FACTION_CARP "carp" +#define FACTION_CATGIRL "catgirl" +#define FACTION_CATSLUG "catslug" +#define FACTION_COOKIEGIRL "cookiegirl" +#define FACTION_CRABS "crabs" +#define FACTION_CREATURE "creature" +#define FACTION_DEATHCLAW "deathclaw" +#define FACTION_DEMON "demon" +#define FACTION_DEVIL "devil" +#define FACTION_DIYAAB "diyaab" +#define FACTION_DOG "dog" +#define FACTION_DRAGON "dragon" +#define FACTION_DUCK "duck" +#define FACTION_FAITHLESS "faithless" +#define FACTION_FENNEC "fennec" +#define FACTION_FOX "fox" +#define FACTION_GEESE "geese" +#define FACTION_GNAT "gnat" +#define FACTION_GOAT "goat" +#define FACTION_GOLEM "golem" +#define FACTION_GRAFADREKA "grafadreka" +#define FACTION_GRUBS "grubs" +#define FACTION_HORSE "horse" +#define FACTION_INSECTS "insects" +#define FACTION_JELLYFISH "jellyfish" +#define FACTION_KURUAK "kururak" +#define FACTION_LAMIA "lamia" +#define FACTION_LEECH "leech" +#define FACTION_MACROBACTERIA "macrobacteria" +#define FACTION_MEOWL "meowl" +#define FACTION_MIMIC "mimic" +#define FACTION_MOUSE "mouse" +#define FACTION_NANOMACHINES "nanomachines" +#define FACTION_NEUTRAL "neutral" +#define FACTION_OTIE "otie" +#define FACTION_PAKKUN "pakkun" +#define FACTION_PANTHER "panther" +#define FACTION_PEASANT "peasant" +#define FACTION_POLAR "polar" +#define FACTION_RABBIT "rabbit" +#define FACTION_RAPTOR "raptor" +#define FACTION_RAY "ray" +#define FACTION_REDPANDA "redpanda" +#define FACTION_RUSSIAN "russian" +#define FACTION_SAKIMM "sakimm" +#define FACTION_SAVIK "savik" +#define FACTION_SCARYBAT "scarybat" +#define FACTION_SCEL "scel" +#define FACTION_SCRUBBLE "scrubble" +#define FACTION_SEAGULL "seagull" +#define FACTION_SHANTAK "shantak" +#define FACTION_SHEEP "sheep" +#define FACTION_SIF "sif" +#define FACTION_SIFFET "siffet" +#define FACTION_SLIME "slime" +#define FACTION_SNAKE "snake" +#define FACTION_SONADILE "sonadile" +#define FACTION_SPACESHARK "spaceshark" +#define FACTION_SPACE_MOUSE "space mouse" +#define FACTION_SPACE_SKELETON "space skeleton" +#define FACTION_SPACE_TURTLE "space turtle" +#define FACTION_SPIDERS "spiders" +#define FACTION_STALKER "stalker" +#define FACTION_SUCCUBUS "succubus" +#define FACTION_SWARMER "swarmer" +#define FACTION_TEPPI "teppi" +#define FACTION_TUNNELCLOWN "tunnelclown" +#define FACTION_TURKEY "turkey" +#define FACTION_WILD_ANIMAL "wild animal" +#define FACTION_WOLFGIRL "wolfgirl" +#define FACTION_WOLFTAUR "wolftaur" +#define FACTION_WORM "worm" +#define FACTION_XENO "xeno" +#define FACTION_CORGI "corgi" + +#define FACTION_PLANTS "plants" + +#define FACTION_MATH "MATH" diff --git a/code/__defines/flags.dm b/code/__defines/flags.dm index eccfb7d30a1..7864c08d18e 100644 --- a/code/__defines/flags.dm +++ b/code/__defines/flags.dm @@ -55,4 +55,20 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204 // Flags for do_after/do_mob exclusivity. #define TASK_TARGET_EXCLUSIVE (1<<1) #define TASK_USER_EXCLUSIVE (1<<2) -#define TASK_ALL_EXCLUSIVE TASK_TARGET_EXCLUSIVE | TASK_USER_EXCLUSIVE \ No newline at end of file +#define TASK_ALL_EXCLUSIVE TASK_TARGET_EXCLUSIVE | TASK_USER_EXCLUSIVE + +// Update flags for [/atom/proc/update_appearance] +/// Update the atom's name +#define UPDATE_NAME (1<<0) +/// Update the atom's desc +#define UPDATE_DESC (1<<1) +/// Update the atom's icon state +#define UPDATE_ICON_STATE (1<<2) +/// Update the atom's overlays +#define UPDATE_OVERLAYS (1<<3) +/// Update the atom's greyscaling +#define UPDATE_GREYSCALE (1<<4) +/// Update the atom's smoothing. (More accurately, queue it for an update) +#define UPDATE_SMOOTHING (1<<5) +/// Update the atom's icon +#define UPDATE_ICON (UPDATE_ICON_STATE|UPDATE_OVERLAYS) diff --git a/code/__defines/gamemode.dm b/code/__defines/gamemode.dm index 990ddc1fa09..74121881ce1 100644 --- a/code/__defines/gamemode.dm +++ b/code/__defines/gamemode.dm @@ -40,11 +40,12 @@ //VOREStation Add #define BE_LOSTDRONE 0x10000 #define BE_MAINTPRED 0x20000 -#define BE_MORPH 0x40000 -#define BE_CORGI 0x80000 -#define BE_CURSEDSWORD 0x100000 -#define BE_SURVIVOR 0x200000 -#define BE_EVENT 0x400000 +#define BE_MAINTLURKER 0x40000 +#define BE_MORPH 0x80000 +#define BE_CORGI 0x100000 +#define BE_CURSEDSWORD 0x200000 +#define BE_SURVIVOR 0x400000 +#define BE_EVENT 0x800000 //VOREStation Add End var/list/be_special_flags = list( @@ -67,6 +68,7 @@ var/list/be_special_flags = list( //VOREStation Add "Lost Drone" = BE_LOSTDRONE, "Maint Pred" = BE_MAINTPRED, + "Maint Lurker" = BE_MAINTLURKER, "Morph" = BE_MORPH, "Corgi" = BE_CORGI, "Cursed Sword" = BE_CURSEDSWORD, diff --git a/code/_onclick/hud/_defines.dm b/code/__defines/hud.dm similarity index 94% rename from code/_onclick/hud/_defines.dm rename to code/__defines/hud.dm index b39c71a7d23..84f45706abe 100644 --- a/code/_onclick/hud/_defines.dm +++ b/code/__defines/hud.dm @@ -200,3 +200,14 @@ #define ui_mech_deco2_f "WEST+2:-7, SOUTH+9" #define ui_smallquad "EAST-4:22,SOUTH:5" + +//Upper left (action buttons) +#define ui_action_palette "WEST+0:23,NORTH-1:5" +#define ui_action_palette_offset(north_offset) ("WEST+0:23,NORTH-[1+north_offset]:5") + +#define ui_palette_scroll "WEST+1:8,NORTH-6:28" +#define ui_palette_scroll_offset(north_offset) ("WEST+1:8,NORTH-[6+north_offset]:28") + +#define ui_shadekin_display "EAST-1:28,CENTER-3:15" +#define ui_lleill_display "EAST-1:28,CENTER-3:15" +#define ui_xenochimera_danger_display "EAST-1:28,CENTER-3:15" diff --git a/code/__defines/is_helpers.dm b/code/__defines/is_helpers.dm index 6c924ecb3ec..1039819289e 100644 --- a/code/__defines/is_helpers.dm +++ b/code/__defines/is_helpers.dm @@ -13,13 +13,13 @@ #define isitem(D) istype(D, /obj/item) -#define isradio(A) istype(A, /obj/item/device/radio) +#define isradio(A) istype(A, /obj/item/radio) #define isairlock(A) istype(A, /obj/machinery/door/airlock) #define isorgan(A) istype(A, /obj/item/organ/external) -#define isstorage(A) istype(A, /obj/item/weapon/storage) +#define isstorage(A) istype(A, /obj/item/storage) #define ismecha(A) istype(A, /obj/mecha) diff --git a/code/__defines/items_clothing.dm b/code/__defines/items_clothing.dm index a7dba8be88c..2a0b2ce9dea 100644 --- a/code/__defines/items_clothing.dm +++ b/code/__defines/items_clothing.dm @@ -40,6 +40,9 @@ #define ACCESSORY_SLOT_ARMOR_M 0x8000 #define ACCESSORY_SLOT_HELM_C 0x10000 //24 bit - higher than 0x80000 will overflow +#define ACCESSORY_SLOT_RING 0x20000 //rings, knuckledusters +#define ACCESSORY_SLOT_WRIST 0x40000 //wristwatches, wrist PDA maybe? + // Bitmasks for the /obj/item/var/flags_inv variable. These determine when a piece of clothing hides another, i.e. a helmet hiding glasses. // WARNING: The following flags apply only to the external suit! #define HIDEGLOVES 0x1 diff --git a/code/__defines/jobs.dm b/code/__defines/jobs.dm new file mode 100644 index 00000000000..2bb7c661085 --- /dev/null +++ b/code/__defines/jobs.dm @@ -0,0 +1,424 @@ +// Station Command jobs +#define JOB_SITE_MANAGER "Site Manager" + // Site Manager alt titles + #define JOB_ALT_OVERSEER "Overseer" + #define JOB_ALT_FACILITY_DIRECTOR "Facility Director" + #define JOB_ALT_CHIEF_SUPERVISOR "Chief Supervisor" + #define JOB_ALT_CAPTAIN "Captain" + +#define JOB_HEAD_OF_PERSONNEL "Head of Personnel" + // Head of Personnel alt titles + #define JOB_ALT_CREW_RESOURCE_OFFICER "Crew Resources Officer" + #define JOB_ALT_DEPUTY_MANAGER "Deputy Manager" + #define JOB_ALT_STAFF_MANAGER "Staff Manager" + #define JOB_ALT_FACILITY_STEWARD "Facility Steward" + #define JOB_ALT_FIRST_MATE "First Mate" + +#define JOB_COMMAND_SECRETARY "Command Secretary" + // Command Secretary alt titles + #define JOB_ALT_COMMAND_LIAISON "Command Liaison" + #define JOB_ALT_COMMAND_ASSISTANT "Command Assistant" + #define JOB_ALT_COMMAND_INTERN "Command Intern" + #define JOB_ALT_BRIDGE_SECRETARY "Bridge Secretary" + #define JOB_ALT_BRIDGE_ASSISTANT "Bridge Assistant" + +#define JOB_HEAD_OF_SECURITY "Head of Security" + // Head of Security alt titles + #define JOB_ALT_SECURITY_COMMANDER "Security Commander" + #define JOB_ALT_CHIEF_OF_SECURITY "Chief of Security" + #define JOB_ALT_SECURITY_MANAGER "Security Manager" + +#define JOB_CHIEF_ENGINEER "Chief Engineer" + // Cheif Engineer alt titles + #define JOB_ALT_HEAD_ENGINEER "Head Engineer" + #define JOB_ALT_FOREMAN "Foreman" + #define JOB_ALT_MAINTENANCE_MANAGER "Maintenance Manager" + +#define JOB_RESEARCH_DIRECTOR "Research Director" + // Research Director alt titles + #define JOB_ALT_RESEARCH_SUPERVISOR "Research Supervisor" + #define JOB_ALT_RESEARCH_MANAGER "Research Manager" + #define JOB_ALT_HEAD_OF_DEVELOPMENT "Head of Development" + #define JOB_ALT_HEAD_SCIENTIST "Head Scientist" + +#define JOB_CHIEF_MEDICAL_OFFICER "Chief Medical Officer" + // Chief Medical Officer alt titles + #define JOB_ALT_CHIEF_PHYSICIAN "Chief Physician" + #define JOB_ALT_MEDICAL_DIRECTOR "Medical Director" + #define JOB_ALT_HEALTHCARE_MANAGER "Healthcare Manager" + +#define JOB_QUARTERMASTER "Quartermaster" + // Quartermaster alt titles + #define JOB_ALT_SUPPLY_CHIEF "Supply Chief" + #define JOB_ALT_LOGISTICS_MANAGER "Logistics Manager" + #define JOB_ALT_CARGO_SUPERVISOR "Cargo Supervisor" + +#define JOB_PATHFINDER "Away Team Leader" // was Pathfinder + // Pathfinder alt titles + #define JOB_ALT_EXPEDITION_LEAD "Expedition Lead" + #define JOB_ALT_EXPLORATION_MANAGER "Exploration Manager" +//___________________________________________________________ + + +// Station Assistant jobs +#define JOB_INTERN "Intern" + // Intern alt titles + #define JOB_ALT_APPRENTICE_ENGINEER "Apprentice Engineer" + #define JOB_ALT_RESEARCH_INTERN "Research Intern" + #define JOB_ALT_SECURITY_CADET "Security Cadet" + #define JOB_ALT_JR_CARGO_TECH "Jr. Cargo Tech" + #define JOB_ALT_JR_EXPLORER_TECH "Jr. Explorer" + #define JOB_ALT_SERVER "Server" + #define JOB_ALT_ASSISTANT "Assistant" + //Assistant/Visitor/Whatever + #define JOB_ALT_TECHNICAL_ASSISTANT "Technical Assistant" + #define JOB_ALT_MEDICAL_INTERN "Medical Intern" + #define JOB_ALT_RESEARCH_ASSISTANT "Research Assistant" + #define JOB_ALT_VISITOR "Visitor" + #define JOB_ALT_RESIDENT "Resident" +//___________________________________________________________ + + +// Station Civilian jobs +#define JOB_BARTENDER "Bartender" + // Bartender alt titles + #define JOB_ALT_BARKEEPR "Barkeeper" + #define JOB_ALT_BARMAID "Barmaid" + #define JOB_ALT_BARISTA "Barista" + #define JOB_ALT_MIXOLOGIST "Mixologist" + +#define JOB_CHEF "Chef" + // Chef alt titles + #define JOB_ALT_SOUSCHEF "Sous-chef" + #define JOB_ALT_COOK "Cook" + #define JOB_ALT_KITCHEN_WORKER "Kitchen Worker" + +#define JOB_BOTANIST "Botanist" + // Botanist alt titles + #define JOB_ALT_HYDROPONICIST "Hydroponicist" + #define JOB_ALT_GARDENER "Gardener" + #define JOB_ALT_CULTIVATOR "Cultivator" + #define JOB_ALT_FARMER "Farmer" + #define JOB_ALT_FLORIST "Florist" + #define JOB_ALT_RANCHER "Rancher" + +#define JOB_CARGO_TECHNICIAN "Cargo Technician" + // Cargo Technician alt titles + #define JOB_ALT_CARGO_LOADER "Cargo Loader" + #define JOB_ALT_CARGO_HANDLER "Cargo Handler" + #define JOB_ALT_SUPPLY_COURIER "Supply Courier" + #define JOB_ALT_DISPOSALS_SORTER "Disposals Sorter" + +#define JOB_SHAFT_MINER "Shaft Miner" + // Shaft Miner alt titles + #define JOB_ALT_DEEP_SPACE_MINER "Deep Space Miner" + #define JOB_ALT_DRILL_TECHNICIAN "Drill Technician" + #define JOB_ALT_PROSPECTOR "Prospector" + #define JOB_ALT_EXCAVATOR "Excavator" + +#define JOB_JANITOR "Janitor" + // Janitor alt titles + #define JOB_ALT_CUSTODIAN "Custodian" + #define JOB_ALT_SANITATION_TECHNICIAN "Sanitation Technician" + #define JOB_ALT_MAID "Maid" + #define JOB_ALT_GARBAGE_COLLECTOR "Garbage Collector" + +#define JOB_LIBRARIAN "Librarian" + // Librarian alt titles + #define JOB_ALT_JOURNALIST "Journalist" + #define JOB_ALT_REPORTER "Reporter" + #define JOB_ALT_WRITER "Writer" + #define JOB_ALT_HISTORIAN "Historian" + #define JOB_ALT_ARCHIVIST "Archivist" + #define JOB_ALT_PROFESSOR "Professor" + #define JOB_ALT_ACADEMIC "Academic" + #define JOB_ALT_PHILOSOPHER "Philosopher" + #define JOB_ALT_CURATOR "Curator" + +#define JOB_INTERNAL_AFFAIRS_AGENT "Internal Affairs Agent" + // Internal Affairs Agent alt titles + #define JOB_ALT_INTERNAL_AFFAIRS_LIAISON "Internal Affairs Liaison" + #define JOB_ALT_INTERNAL_AFFAIRS_DELEGATE "Internal Affairs Delegate" + #define JOB_ALT_INTERNAL_AFFAIRS_INVESTIGATOR "Internal Affairs Investigator" + +#define JOB_CHAPLAIN "Chaplain" + // Chaplain alt titles + #define JOB_ALT_MISSIONARY "Missionary" + #define JOB_ALT_PREACHER "Preacher" + #define JOB_ALT_PRIEST "Priest" + #define JOB_ALT_NUN "Nun" + #define JOB_ALT_MONK "Monk" + #define JOB_ALT_COUNSELOR "Counselor" + #define JOB_ALT_GURU "Guru" + +#define JOB_PILOT "Pilot" + // Pilot alt titles + #define JOB_ALT_COPILOT "Co-Pilot" + #define JOB_ALT_NAVIGATOR "Navigator" + #define JOB_ALT_HELMSMAN "Helmsman" + +#define JOB_ENTERTAINER "Entertainer" + // Entertainer alt titles + #define JOB_ALT_PERFORMER "Performer" + #define JOB_ALT_MUSICIAN "Musician" + #define JOB_ALT_STAGEHAND "Stagehand" + #define JOB_ALT_ACTOR "Actor" + #define JOB_ALT_DANCER "Dancer" + #define JOB_ALT_SINGER "Singer" + #define JOB_ALT_MAGICIAN "Magician" + #define JOB_ALT_COMEDIAN "Comedian" + #define JOB_ALT_TRAGEDIAN "Tragedian" + #define JOB_ALT_ARTIST "Artist" + #define JOB_ALT_GAME_MASTER "Game Master" + +#define JOB_ENTREPRENEUR "Entrepreneur" + // Entrepreneur alt titles + #define JOB_ALT_LAWYER "Lawyer" + #define JOB_ALT_PRIVATE_EYE "Private Eye" + #define JOB_ALT_BODYGUARD "Bodyguard" + #define JOB_ALT_PERSONAL_PHYSICIAN "Personal Physician" + #define JOB_ALT_DENTIST "Dentist" + #define JOB_ALT_FITNESS_INSTRUCTOR "Fitness Instructor" + #define JOB_ALT_YOGA_TEACHER "Yoga Teacher" + #define JOB_ALT_MASSEUSE "Masseuse" + #define JOB_ALT_TRADESPERSON "Tradesperson" + #define JOB_ALT_STREAMER "Streamer" + #define JOB_ALT_INFLUENCER "Influencer" + #define JOB_ALT_PARANORMAL_INVESTIGATOR "Paranormal Investigator" + #define JOB_ALT_PERSONAL_SECRETARY "Personal Secretary" + #define JOB_ALT_STYLIST "Stylist" + #define JOB_ALT_FISHER "Fisher" + #define JOB_ALT_FORTUNE_TELLER "Fortune Teller" + #define JOB_ALT_SPIRIT_HEALER "Spirit Healer" +//___________________________________________________________ + + +// Station Engineering jobs +#define JOB_ENGINEER "Engineer" + // Engineer alt titles + #define JOB_ALT_MAINTENANCE_TECHNICIAN "Maintenance Technician" + #define JOB_ALT_ENGINE_TECHNICIAN "Engine Technician" + #define JOB_ALT_ELECTRICIAN "Electrician" + #define JOB_ALT_CONSTRUCTION_ENGINEER "Construction Engineer" + #define JOB_ALT_ENGINEERING_CONTRACTOR "Engineering Contractor" + #define JOB_ALT_COMPUTER_TECHNICIAN "Computer Technician" + #define JOB_ALT_SALVAGE_TECHNICIAN "Salvage Technician" + +#define JOB_ATMOSPHERIC_TECHNICIAN "Atmospheric Technician" + // Atmospheric Technician alt titles + #define JOB_ALT_ATMOSPHERIC_ENGINEER "Atmospheric Engineer" + #define JOB_ALT_ATMOSPHERIC_MAINTAINER "Atmospheric Maintainer" + #define JOB_ALT_DISPOSALS_TECHNICIAN "Disposals Technician" + #define JOB_ALT_FUEL_TECHNICIAN "Fuel Technician" +//___________________________________________________________ + + +// Station Away Team / Explorer jobs +#define JOB_EXPLORER "Away Team" // was Explorer + // Explorer alt titles + #define JOB_ALT_SURVEYOR "Surveyor" + #define JOB_ALT_OFFSITE_SCOUT "Offsite Scout" + #define JOB_ALT_EXPLORER_MEDIC "Explorer Medic" // Unused + #define JOB_ALT_EXPLORERE_TECHNICIAN "Explorer Technician" // Unused + +#define JOB_FIELD_MEDIC "Away Team Medic" // was Field Medic + // Field Medic alt titles + #define JOB_ALT_EXPEDITION_MEDIC "Expedition Medic" + #define JOB_ALT_OFFSITE_MEDIC "Offsite Medic" +//___________________________________________________________ + + +// Station Medical jobs +#define JOB_MEDICAL_DOCTOR "Medical Doctor" + // Medical Doctor alt titles + #define JOB_ALT_PHYSICIAN "Physician" + #define JOB_ALT_MEDICAL_PRACTITIONER "Medical Practitioner" + #define JOB_ALT_SURGEON "Surgeon" + #define JOB_ALT_EMERGENCY_PHYSICIAN "Emergency Physician" + #define JOB_ALT_NURSE "Nurse" + #define JOB_ALT_ORDERLY "Orderly" + #define JOB_ALT_VIROLOGIST "Virologist" + #define JOB_ALT_MEDICAL_CONTRACTOR "Medical Contractor" + +#define JOB_CHEMIST "Chemist" + // Chemist alt titles + #define JOB_ALT_PHARMACIST "Pharmacist" + #define JOB_ALT_PHARMACOLOGIST "Pharmacologist" + +#define JOB_PSYCHIATRIST "Psychiatrist" + // Psychiatrist alt titles + #define JOB_ALT_PSYCHOLOGIST "Psychologist" + #define JOB_ALT_PSYCHOANALYST "Psychoanalyst" + #define JOB_ALT_PSYCHOTHERAPIST "Psychotherapist" + +#define JOB_PARAMEDIC "Paramedic" + // Paramedic alt titles + #define JOB_ALT_EMERGENCY_MEDICAL_TECHNICIAN "Emergency Medical Technician" + #define JOB_ALT_MEDICAL_RESPONDER "Medical Responder" + #define JOB_ALT_SEARCH_AND_RESCUE "Search and Rescue" + +#define JOB_GENETICIST "Geneticist" //Disabled atm +//___________________________________________________________ + + +// Station Offduty jobs +#define JOB_OFFDUTY_OFFICER "Off-duty Officer" +#define JOB_OFFDUTY_ENGINEER "Off-duty Engineer" +#define JOB_OFFDUTY_MEDIC "Off-duty Medic" +#define JOB_OFFDUTY_SCIENTIST "Off-duty Scientist" +#define JOB_OFFDUTY_CARGO "Off-duty Cargo" +#define JOB_OFFDUTY_EXPLORER "Off-duty Explorer" +#define JOB_OFFDUTY_WORKER "Off-duty Worker" +//___________________________________________________________ + + +// Station Science jobs +#define JOB_SCIENTIST "Scientist" + // Scientist alt titles + #define JOB_ALT_RESEARCHER "Researcher" + #define JOB_ALT_LAB_ASSISTANT "Lab Assistant" + #define JOB_ALT_XENOARCHAEOLOGIST "Xenoarchaeologist" + #define JOB_ALT_XENOPALEONTOLOGIST "Xenopaleontologist" + #define JOB_ALT_ANOMALIST "Anomalist" + #define JOB_ALT_PHORON_RESEARCHER "Phoron Researcher" + #define JOB_ALT_GAS_PHYSICIST "Gas Physicist" + #define JOB_ALT_CIRCUIT_DESIGNER "Circuit Designer" + #define JOB_ALT_CIRCUIT_PROGRAMMER "Circuit Programmer" + +#define JOB_XENOBIOLOGIST "Xenobiologist" + // Xenobiologist alt titles + #define JOB_ALT_XENOZOOLOGIST "Xenozoologist" + #define JOB_ALT_XENOANTHROPOLOGIST "Xenoanthropologist" + +#define JOB_ROBOTICIST "Roboticist" + // Roboticist alt titles + #define JOB_ALT_ASSEMBLY_TECHNICIAN "Assembly Technician" + #define JOB_ALT_BIOMECHANICAL_ENGINEER "Biomechanical Engineer" + #define JOB_ALT_MECHATRONIC_ENGINEER "Mechatronic Engineer" + #define JOB_ALT_SOFTWARE_ENGINEER "Software Engineer" + +#define JOB_XENOBOTANIST "Xenobotanist" + // Xenobotanist alt titles + #define JOB_ALT_XENOHYDROPONICIST "Xenohydroponicist" + #define JOB_ALT_XENOFLORIST "Xenoflorist" +//___________________________________________________________ + + +// Station Security jobs +#define JOB_WARDEN "Warden" + // Warden alt titles + #define JOB_ALT_BRIG_SENTRY "Brig Sentry" + #define JOB_ALT_ARMORY_SUPERINTENDENT "Armory Superintendent" + #define JOB_ALT_MASTERATARMS "Master-at-Arms" + +#define JOB_DETECTIVE "Detective" + // Detective alt titles + #define JOB_ALT_INVESTIGATOR "Investigator" + #define JOB_ALT_SECURITY_INSPECTOR "Security Inspector" + #define JOB_ALT_FORENSIC_TECHNICIAN "Forensic Technician" + +#define JOB_SECURITY_OFFICER "Security Officer" + // Security Officer alt titles + #define JOB_ALT_PATROL_OFFICER "Patrol Officer" + #define JOB_ALT_SECURITY_GUARD "Security Guard" + #define JOB_ALT_SECURITY_DEPUTY "Security Deputy" + #define JOB_ALT_JUNIOR_OFFICER "Junior Officer" + #define JOB_ALT_SECURITY_CONTRACTOR "Security Contractor" +//___________________________________________________________ + + +// Station Robot jobs +#define JOB_AI "AI" + +#define JOB_CYBORG "Cyborg" + // Cyborg alt titles + #define JOB_ALT_ROBOT "Robot" + #define JOB_ALT_DRONE "Drone" +//___________________________________________________________ + + +// Station Sepcial jobs +#define JOB_CLOWN "Clown" + // Clown alt titles + #define JOB_ALT_JESTER "Jester" + #define JOB_ALT_FOOL "Fool" + +#define JOB_MIME "Mime" + // Mime alt titles + #define JOB_ALT_PASEUR "Poseur" +//___________________________________________________________ + + +// Talon jobs +#define JOB_TALON_CAPTAIN "Talon Captain" + // Talon Captain alt titles + #define JOB_ALT_TALON_COMMANDER "Talon Commander" + +#define JOB_TALON_DOCTOR "Talon Doctor" + // Talon Doctor alt titles + #define JOB_ALT_TALON_MEDIC "Talon Medic" + +#define JOB_TALON_ENGINEER "Talon Engineer" + // Talon Engineer alt titles + #define JOB_ALT_TALON_TECHNICIAN "Talon Technician" + +#define JOB_TALON_GUARD "Talon Guard" + // Talon Guard alt titles + #define JOB_ALT_TALON_SECURITY "Talon Security" + +#define JOB_TALON_PILOT "Talon Pilot" + // Talon Pilot alt titles + #define JOB_ALT_TALON_HELMSMAN "Talon Helmsman" + +#define JOB_TALON_MINER "Talon Miner" + // Talon Miner alt titles + #define JOB_ALT_TALON_EXCAVATOR "Talon Excavator" +//___________________________________________________________ + + +// Mind jobs +#define JOB_SLIME "slime" +#define JOB_LARVA "Larva" +#define JOB_MONKEY "Monkey" +#define JOB_ANIMAL "Animal" +#define JOB_SIMPLE_MOB "Simple Mob" +#define JOB_CORGI "Corgi" +#define JOB_SHADE "Shade" +#define JOB_ARTIFICER "Artificer" +#define JOB_WRAITH "Wraith" +#define JOB_JUGGERNAUT "Juggernaut" +#define JOB_MODE = "MODE" +#define JOB_DISEMBODIED_VOICE "Disembodied Voice" +#define JOB_ALIEN "Alien" +#define JOB_GOLEM "Golem" +#define JOB_CORTICAL_BORER "Cortical Borer" + +#define JOB_SYNTHETIC_BRAIN "Synthetic Brain" +#define JOB_ROBOTIC_INTELLIGENCE "Robotic Intelligence" +#define JOB_POSITRONIC_BRAIN "Positronic Brain" +#define JOB_CARBON_BASED "Carbon-based" +#define JOB_SILICON_BASED "Silicon-based" +#define JOB_PAI "pAI" +#define JOB_PROMETHEAN "Promethean" + +#define JOB_LIVING "Living" +#define JOB_NEW_PLAYER "New player" +#define JOB_GHOST "Ghost" +#define JOB_GHOSTROLES "GhostRoles" +#define JOB_GRAFFITI "Graffiti" +#define JOB_RECORDS "Records" +#define JOB_DIONAEA "Dionaea" +#define JOB_CUSTOM_LOADOUT "Custom loadout" + +// Speical Mind / Antag / Event jobs +#define JOB_CULTIST "Cultist" +#define JOB_MEME "Meme" +#define JOB_APPRENTICE "apprentice" +#define JOB_WIZARD "Wizard" +#define JOB_ANTAGHUD "AntagHUD" +#define JOB_CHANGELING "Changeling" +#define JOB_SYNDICATE "Syndicate" +#define JOB_XENOMORPH "Xenomorph" +#define JOB_BORER "Borer" +#define JOB_EMERGENCY_RESPONSE_TEAM "Emergency Response Team" +#define JOB_MAINT_LURKER "Maintenance Lurker" diff --git a/code/__defines/logging.dm b/code/__defines/logging.dm index 07a121d9bb0..c0e2ce99773 100644 --- a/code/__defines/logging.dm +++ b/code/__defines/logging.dm @@ -1,2 +1,3 @@ #define SEND_TEXT(target, text) DIRECT_OUTPUT(target, text) #define WRITE_FILE(file, text) DIRECT_OUTPUT(file, text) +#define READ_FILE(file, text) DIRECT_INPUT(file, text) diff --git a/code/__defines/machinery.dm b/code/__defines/machinery.dm index eaafb41e907..3f704657c27 100644 --- a/code/__defines/machinery.dm +++ b/code/__defines/machinery.dm @@ -175,15 +175,15 @@ if (!(DATUM.datum_flags & DF_ISPROCESSING)) {\ #define LOGIN_TYPE_ROBOT 3 // Computer Hardware -#define PART_CPU /obj/item/weapon/computer_hardware/processor_unit // CPU. Without it the computer won't run. Better CPUs can run more programs at once. -#define PART_NETWORK /obj/item/weapon/computer_hardware/network_card // Network Card component of this computer. Allows connection to NTNet -#define PART_HDD /obj/item/weapon/computer_hardware/hard_drive // Hard Drive component of this computer. Stores programs and files. +#define PART_CPU /obj/item/computer_hardware/processor_unit // CPU. Without it the computer won't run. Better CPUs can run more programs at once. +#define PART_NETWORK /obj/item/computer_hardware/network_card // Network Card component of this computer. Allows connection to NTNet +#define PART_HDD /obj/item/computer_hardware/hard_drive // Hard Drive component of this computer. Stores programs and files. // Optional hardware (improves functionality, but is not critical for computer to work in most cases) -#define PART_BATTERY /obj/item/weapon/computer_hardware/battery_module // An internal power source for this computer. Can be recharged. -#define PART_CARD /obj/item/weapon/computer_hardware/card_slot // ID Card slot component of this computer. Mostly for HoP modification console that needs ID slot for modification. -#define PART_PRINTER /obj/item/weapon/computer_hardware/nano_printer // Nano Printer component of this computer, for your everyday paperwork needs. -//#define PART_DRIVE /obj/item/weapon/computer_hardware/hard_drive/portable // Portable data storage -//#define PART_AI /obj/item/weapon/computer_hardware/ai_slot // AI slot, an intellicard housing that allows modifications of AIs. -#define PART_TESLA /obj/item/weapon/computer_hardware/tesla_link // Tesla Link, Allows remote charging from nearest APC. -//#define PART_SCANNER /obj/item/weapon/computer_hardware/scanner // One of several optional scanner attachments. +#define PART_BATTERY /obj/item/computer_hardware/battery_module // An internal power source for this computer. Can be recharged. +#define PART_CARD /obj/item/computer_hardware/card_slot // ID Card slot component of this computer. Mostly for HoP modification console that needs ID slot for modification. +#define PART_PRINTER /obj/item/computer_hardware/nano_printer // Nano Printer component of this computer, for your everyday paperwork needs. +//#define PART_DRIVE /obj/item/computer_hardware/hard_drive/portable // Portable data storage +//#define PART_AI /obj/item/computer_hardware/ai_slot // AI slot, an intellicard housing that allows modifications of AIs. +#define PART_TESLA /obj/item/computer_hardware/tesla_link // Tesla Link, Allows remote charging from nearest APC. +//#define PART_SCANNER /obj/item/computer_hardware/scanner // One of several optional scanner attachments. diff --git a/code/__defines/math.dm b/code/__defines/math.dm index 7b5fcd8c7a5..846753ab568 100644 --- a/code/__defines/math.dm +++ b/code/__defines/math.dm @@ -25,6 +25,7 @@ #define SIGN(x) ( (x)!=0 ? (x) / abs(x) : 0 ) +#define ROUND_UP(x) ( -round(-(x))) #define CEILING(x, y) ( -round(-(x) / (y)) * (y) ) // round() acts like floor(x, 1) by default but can't handle other values @@ -219,3 +220,9 @@ #define ROUNDUPTOPOWEROFTWO(x) (2 ** -round(-log(2,x))) #define DEFAULT(a, b) (a? a : b) + +// sqrt, but if you give it a negative number, you get 0 instead of a runtime +/proc/sqrtor0(num) + if(num < 0) + return 0 + return sqrt(num) diff --git a/code/__defines/misc.dm b/code/__defines/misc.dm index 2f9337a2152..0a96c63bec4 100644 --- a/code/__defines/misc.dm +++ b/code/__defines/misc.dm @@ -31,7 +31,6 @@ #define MAX_CLIENT_FPS 200 // Some arbitrary defines to be used by self-pruning global lists. (see master_controller) -#define PROCESS_KILL 26 // Used to trigger removal from a processing list. #define MAX_GEAR_COST 15 // Used in chargen for accessory loadout limit. // For secHUDs and medHUDs and variants. The number is the location of the image on the list hud_list of humans. @@ -49,10 +48,6 @@ #define CLIENT_FROM_VAR(I) (ismob(I) ? I:client : (isclient(I) ? I : null)) - -//Persistence -#define AREA_FLAG_IS_NOT_PERSISTENT 8 // SSpersistence will not track values from this area. - // Shuttles. // These define the time taken for the shuttle to get to the space station, and the time before it leaves again. @@ -100,7 +95,21 @@ #define DEFAULT_JOB_TYPE /datum/job/assistant //Area flags, possibly more to come -#define RAD_SHIELDED 1 //shielded from radiation, clearly +#define RAD_SHIELDED 0x1 //shielded from radiation, clearly +#define BLUE_SHIELDED 0x2 // Shield from bluespace teleportation (telescience) +#define AREA_SECRET_NAME 0x4 // This tells certain things that display areas' names that they shouldn't display this area's name. +#define AREA_FLAG_IS_NOT_PERSISTENT 0x8 // SSpersistence will not track values from this area. +#define AREA_FORBID_EVENTS 0x10 // random events will not start inside this area. +#define AREA_FORBID_SINGULO 0x20 // singulo will not move in. +#define AREA_NO_SPOILERS 0x40 // makes it much more difficult to see what is inside an area with things like mesons. +#define AREA_SOUNDPROOF 0x80 // blocks sounds from other areas and prevents hearers on other areas from hearing the sounds within. +#define AREA_BLOCK_PHASE_SHIFT 0x100 // Stops phase shifted mobs from entering +#define AREA_BLOCK_GHOSTS 0x200 // Stops ghosts from entering +#define AREA_ALLOW_LARGE_SIZE 0x400 // If mob size is limited in the area. +#define AREA_BLOCK_SUIT_SENSORS 0x800 // If suit sensors are blocked in the area. +#define AREA_BLOCK_TRACKING 0x1000 // If camera tracking is blocked in the area. +#define TEMPERATURE_SHIELDED 0x2000 // YW Addition: Temperature change shielding +#define PHASE_SHIELDED 0x4000 // YW Addition: Prevents shadekin phasing in/out in this area // OnTopic return values #define TOPIC_NOACTION 0 @@ -310,11 +319,6 @@ GLOBAL_LIST_EMPTY(##LIST_NAME);\ #define RAD_RESIST_CALC_DIV 0 // Each turf absorbs some fraction of the working radiation level #define RAD_RESIST_CALC_SUB 1 // Each turf absorbs a fixed amount of radiation -//https://secure.byond.com/docs/ref/info.html#/atom/var/mouse_opacity -#define MOUSE_OPACITY_TRANSPARENT 0 -#define MOUSE_OPACITY_ICON 1 -#define MOUSE_OPACITY_OPAQUE 2 - // Used by radios to indicate that they have sent a message via something other than subspace #define RADIO_CONNECTION_FAIL 0 #define RADIO_CONNECTION_NON_SUBSPACE 1 @@ -415,24 +419,6 @@ GLOBAL_LIST_EMPTY(##LIST_NAME);\ #define send_link(target, url) target << link(url) -#define SPAN_NOTICE(X) "[X]" - -#define SPAN_WARNING(X) "[X]" - -#define SPAN_DANGER(X) "[X]" - -#define SPAN_OCCULT(X) "[X]" - -#define FONT_SMALL(X) "[X]" - -#define FONT_NORMAL(X) "[X]" - -#define FONT_LARGE(X) "[X]" - -#define FONT_HUGE(X) "[X]" - -#define FONT_GIANT(X) "[X]" - // Volume Channel Defines #define VOLUME_CHANNEL_MASTER "Master" @@ -495,3 +481,7 @@ GLOBAL_LIST_INIT(all_volume_channels, list( #define SPECIES_SORT_WHITELISTED 2 #define SPECIES_SORT_RESTRICTED 3 #define SPECIES_SORT_CUSTOM 4 + +// Vote Types +#define VOTE_RESULT_TYPE_MAJORITY "Majority" +#define VOTE_RESULT_TYPE_SKEWED "Seventy" diff --git a/code/__defines/misc_vr.dm b/code/__defines/misc_vr.dm index 3fc4e6e4cfd..ab083010b10 100644 --- a/code/__defines/misc_vr.dm +++ b/code/__defines/misc_vr.dm @@ -40,14 +40,6 @@ //Shuttle madness! #define SHUTTLE_CRASHED 3 // Yup that can happen now -#define BLUE_SHIELDED 2 // Shield from bluespace teleportation (telescience) -#define TEMPERATURE_SHIELDED 4 // YW Addition: Temperature change shielding -// YW Addition: 8 used for persistence block somewhere else -#define PHASE_SHIELDED 16 // YW Addition: Prevents shadekin phasing in/out in this area - -//Assistant/Visitor/Whatever -#define USELESS_JOB "Visitor" - //Herm Gender #define HERM "herm" diff --git a/code/__defines/mobs.dm b/code/__defines/mobs.dm index 9478891464b..b6b6cffd657 100644 --- a/code/__defines/mobs.dm +++ b/code/__defines/mobs.dm @@ -328,6 +328,7 @@ #define SPECIES_XENO_HUNTER "Xenomorph Hunter" #define SPECIES_XENO_SENTINEL "Xenomorph Sentinel" #define SPECIES_XENO_QUEEN "Xenomorph Queen" +#define SPECIES_XENOMORPH_HYBRID "Xenomorph Hybrid" // Misc species. Mostly unused but might as well be complete. #define SPECIES_SHADOW "Shadow" @@ -341,6 +342,7 @@ #define SPECIES_REPLICANT "Replicant" #define SPECIES_REPLICANT_ALPHA "Alpha Replicant" #define SPECIES_REPLICANT_BETA "Beta Replicant" +#define SPECIES_REPLICANT_CREW "Gamma Replicant" // Used to seperate simple animals by ""intelligence"". #define SA_PLANT 1 @@ -455,3 +457,6 @@ #define VISIBLE_GENDER_FORCE_PLURAL 1 // Used by get_visible_gender to return PLURAL #define VISIBLE_GENDER_FORCE_IDENTIFYING 2 // Used by get_visible_gender to return the mob's identifying gender #define VISIBLE_GENDER_FORCE_BIOLOGICAL 3 // Used by get_visible_gender to return the mob's biological gender + +// Default name for accesories +#define DEVELOPER_WARNING_NAME "you should not see this..." diff --git a/code/__defines/mobs_vr.dm b/code/__defines/mobs_vr.dm index ae87b1c624e..1d6ecb049d5 100644 --- a/code/__defines/mobs_vr.dm +++ b/code/__defines/mobs_vr.dm @@ -36,6 +36,7 @@ #define SPECIES_CUSTOM "Custom Species" #define SPECIES_TAJARAN "Tajara" #define SPECIES_LLEILL "Lleill" +#define SPECIES_HANNER "Hanner" //monkey species #define SPECIES_MONKEY_AKULA "Sobaka" #define SPECIES_MONKEY_NEVREAN "Sparra" diff --git a/code/__defines/plants.dm b/code/__defines/plants.dm index bca340f2d38..cd4dc9e701c 100644 --- a/code/__defines/plants.dm +++ b/code/__defines/plants.dm @@ -88,21 +88,21 @@ GLOBAL_LIST_INIT(plant_item_products, list( /obj/item/stack/material/wax = 20, /obj/item/stack/material/log = 30, /obj/item/stack/material/resin = 10, - /obj/item/weapon/material/shard/shrapnel = 2, - /obj/item/weapon/ore = 5, - /obj/item/weapon/ore/iron = 2, - /obj/item/weapon/ore/coal = 2, - /obj/item/weapon/reagent_containers/food/snacks/meat = 3, + /obj/item/material/shard/shrapnel = 2, + /obj/item/ore = 5, + /obj/item/ore/iron = 2, + /obj/item/ore/coal = 2, + /obj/item/reagent_containers/food/snacks/meat = 3, /obj/random/meat = 1, - /obj/item/weapon/reagent_containers/food/drinks/smallchocmilk = 2, - /obj/item/weapon/reagent_containers/food/drinks/smallmilk = 2, + /obj/item/reagent_containers/food/drinks/smallchocmilk = 2, + /obj/item/reagent_containers/food/drinks/smallmilk = 2, /obj/item/ammo_casing/a145 = 1, /obj/item/ammo_casing/chemdart/small = 1, /obj/item/ammo_casing/chemdart = 1, /obj/item/organ/internal/brain/grey = 1, /obj/item/organ/internal/heart/grey = 1, - /obj/item/weapon/spacecash/c1 = 3, - /obj/item/weapon/spacecash/c5 = 1 + /obj/item/spacecash/c1 = 3, + /obj/item/spacecash/c5 = 1 )) GLOBAL_LIST_INIT(forbidden_plant_growth_sprites, list( diff --git a/code/__defines/preferences.dm b/code/__defines/preferences.dm index ba0abca8cf3..14adeb62bb7 100644 --- a/code/__defines/preferences.dm +++ b/code/__defines/preferences.dm @@ -15,3 +15,38 @@ #define MULTILINGUAL_MODE_MAX 4 #define SAVE_RESET -1 + +// Values for /datum/preference/savefile_identifier +/// This preference is character specific. +#define PREFERENCE_CHARACTER "character" +/// This preference is account specific. +#define PREFERENCE_PLAYER "player" + +// Values for /datum/preferences/current_tab +/// Open the character preference window +#define PREFERENCE_TAB_CHARACTER_PREFERENCES 0 + +/// Open the game preferences window +#define PREFERENCE_TAB_GAME_PREFERENCES 1 + +/// These will be shown in the character sidebar, but at the bottom. +#define PREFERENCE_CATEGORY_FEATURES "features" + +/// Any preferences that will show to the sides of the character in the setup menu. +#define PREFERENCE_CATEGORY_CLOTHING "clothing" + +/// Preferences that will be put into the 3rd list, and are not contextual. +#define PREFERENCE_CATEGORY_NON_CONTEXTUAL "non_contextual" + +/// Will be put under the game preferences window. +#define PREFERENCE_CATEGORY_GAME_PREFERENCES "game_preferences" + +/// These will show in the list to the right of the character preview. +#define PREFERENCE_CATEGORY_SECONDARY_FEATURES "secondary_features" + +/// These are preferences that are supplementary for main features, +/// such as hair color being affixed to hair. +#define PREFERENCE_CATEGORY_SUPPLEMENTAL_FEATURES "supplemental_features" + +/// These preferences will not be rendered on the preferences page, and are practically invisible unless specifically rendered. Used for quirks, currently. +#define PREFERENCE_CATEGORY_MANUALLY_RENDERED "manually_rendered_features" diff --git a/code/__defines/radio.dm b/code/__defines/radio.dm new file mode 100644 index 00000000000..b39e6a90cc5 --- /dev/null +++ b/code/__defines/radio.dm @@ -0,0 +1,28 @@ +// Station Radio Channel +#define CHANNEL_COMMON "Common" +#define CHANNEL_AI_PRIVATE "AI Private" +#define CHANNEL_ENTERTAINMENT "Entertainment" + +// Departments +#define CHANNEL_COMMAND "Command" +#define CHANNEL_SECURITY "Security" +#define CHANNEL_SECURITY_1 "Security(I)" +#define CHANNEL_SUPPLY "Supply" +#define CHANNEL_SERVICE "Service" +#define CHANNEL_ENGINEERING "Engineering" +#define CHANNEL_SCIENCE "Science" +#define CHANNEL_MEDICAL "Medical" +#define CHANNEL_MEDICAL_1 "Medical(I)" +#define CHANNEL_EXPLORATION "Away Team" // was Explorer + +// Special Channels +#define CHANNEL_RESPONSE_TEAM "Response Team" +#define CHANNEL_SPECIAL_OPS "Special Ops" + +// Antag Channels +#define CHANNEL_RAIDER "Raider" +#define CHANNEL_MERCENARY "Mercenary" + +// Other Channels +#define CHANNEL_TALON "Talon" +#define CHANNEL_CASINO "Casino" diff --git a/code/__defines/rust_g.dm b/code/__defines/rust_g.dm index 1c93497ec88..bd0e0879b4b 100644 --- a/code/__defines/rust_g.dm +++ b/code/__defines/rust_g.dm @@ -38,27 +38,46 @@ #define RUST_G (__rust_g || __detect_rust_g()) #endif -#define RUSTG_JOB_NO_RESULTS_YET "NO RESULTS YET" -#define RUSTG_JOB_NO_SUCH_JOB "NO SUCH JOB" -#define RUSTG_JOB_ERROR "JOB PANICKED" - -#define rustg_dmi_strip_metadata(fname) LIBCALL(RUST_G, "dmi_strip_metadata")(fname) -#define rustg_dmi_create_png(path, width, height, data) LIBCALL(RUST_G, "dmi_create_png")(path, width, height, data) - -#define rustg_noise_get_at_coordinates(seed, x, y) LIBCALL(RUST_G, "noise_get_at_coordinates")(seed, x, y) +// Handle 515 call() -> call_ext() changes +#if DM_VERSION >= 515 +#define RUSTG_CALL call_ext +#else +#define RUSTG_CALL call +#endif -#define rustg_file_read(fname) LIBCALL(RUST_G, "file_read")(fname) -#define rustg_file_exists(fname) LIBCALL(RUST_G, "file_exists")(fname) -#define rustg_file_write(text, fname) LIBCALL(RUST_G, "file_write")(text, fname) -#define rustg_file_append(text, fname) LIBCALL(RUST_G, "file_append")(text, fname) +/// Gets the version of rust_g +/proc/rustg_get_version() return RUSTG_CALL(RUST_G, "get_version")() + +#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) == "true") +#define rustg_file_write(text, fname) RUSTG_CALL(RUST_G, "file_write")(text, fname) +#define rustg_file_append(text, fname) RUSTG_CALL(RUST_G, "file_append")(text, fname) +#define rustg_file_get_line_count(fname) text2num(RUSTG_CALL(RUST_G, "file_get_line_count")(fname)) +#define rustg_file_seek_line(fname, line) RUSTG_CALL(RUST_G, "file_seek_line")(fname, "[line]") #ifdef RUSTG_OVERRIDE_BUILTINS #define file2text(fname) rustg_file_read("[fname]") #define text2file(text, fname) rustg_file_append(text, "[fname]") #endif -#define rustg_git_revparse(rev) LIBCALL(RUST_G, "rg_git_revparse")(rev) -#define rustg_git_commit_date(rev) LIBCALL(RUST_G, "rg_git_commit_date")(rev) +/// Returns the git hash of the given revision, ex. "HEAD". +#define rustg_git_revparse(rev) RUSTG_CALL(RUST_G, "rg_git_revparse")(rev) + +/** + * Returns the date of the given revision in the format YYYY-MM-DD. + * Returns null if the revision is invalid. + */ +#define rustg_git_commit_date(rev) RUSTG_CALL(RUST_G, "rg_git_commit_date")(rev) #define rustg_hash_string(algorithm, text) LIBCALL(RUST_G, "hash_string")(algorithm, text) #define rustg_hash_file(algorithm, fname) LIBCALL(RUST_G, "hash_file")(algorithm, fname) @@ -72,28 +91,36 @@ #define md5(thing) (isfile(thing) ? rustg_hash_file(RUSTG_HASH_MD5, "[thing]") : rustg_hash_string(RUSTG_HASH_MD5, thing)) #endif -#define rustg_json_is_valid(text) (LIBCALL(RUST_G, "json_is_valid")(text) == "true") - -#define rustg_log_write(fname, text, format) LIBCALL(RUST_G, "log_write")(fname, text, format) -/proc/rustg_log_close_all() return LIBCALL(RUST_G, "log_close_all")() - -#define rustg_url_encode(text) LIBCALL(RUST_G, "url_encode")(text) -#define rustg_url_decode(text) LIBCALL(RUST_G, "url_decode")(text) - -#ifdef RUSTG_OVERRIDE_BUILTINS -#define url_encode(text) rustg_url_encode(text) -#define url_decode(text) rustg_url_decode(text) -#endif - #define RUSTG_HTTP_METHOD_GET "get" #define RUSTG_HTTP_METHOD_PUT "put" #define RUSTG_HTTP_METHOD_DELETE "delete" #define RUSTG_HTTP_METHOD_PATCH "patch" #define RUSTG_HTTP_METHOD_HEAD "head" #define RUSTG_HTTP_METHOD_POST "post" -#define rustg_http_request_blocking(method, url, body, headers) LIBCALL(RUST_G, "http_request_blocking")(method, url, body, headers) -#define rustg_http_request_async(method, url, body, headers) LIBCALL(RUST_G, "http_request_async")(method, url, body, headers) -#define rustg_http_check_request(req_id) LIBCALL(RUST_G, "http_check_request")(req_id) +#define rustg_http_request_blocking(method, url, body, headers, options) RUSTG_CALL(RUST_G, "http_request_blocking")(method, url, body, headers, options) +#define rustg_http_request_async(method, url, body, headers, options) RUSTG_CALL(RUST_G, "http_request_async")(method, url, body, headers, options) +#define rustg_http_check_request(req_id) RUSTG_CALL(RUST_G, "http_check_request")(req_id) + +#define RUSTG_JOB_NO_RESULTS_YET "NO RESULTS YET" +#define RUSTG_JOB_NO_SUCH_JOB "NO SUCH JOB" +#define RUSTG_JOB_ERROR "JOB PANICKED" + +#define rustg_json_is_valid(text) (RUSTG_CALL(RUST_G, "json_is_valid")(text) == "true") + +#define rustg_log_write(fname, text, format) LIBCALL(RUST_G, "log_write")(fname, text, format) +/proc/rustg_log_close_all() return LIBCALL(RUST_G, "log_close_all")() + +#define rustg_noise_get_at_coordinates(seed, x, y) RUSTG_CALL(RUST_G, "noise_get_at_coordinates")(seed, x, y) + +/* + * Takes in a string and json_encode()"d lists to produce a sanitized string. + * This function operates on whitelists, there is currently no way to blacklist. + * Args: + * * text: the string to sanitize. + * * attribute_whitelist_json: a json_encode()'d list of HTML attributes to allow in the final string. + * * tag_whitelist_json: a json_encode()'d list of HTML tags to allow in the final string. + */ +#define rustg_sanitize_html(text, attribute_whitelist_json, tag_whitelist_json) RUSTG_CALL(RUST_G, "sanitize_html")(text, attribute_whitelist_json, tag_whitelist_json) #define rustg_sql_connect_pool(options) LIBCALL(RUST_G, "sql_connect_pool")(options) #define rustg_sql_query_async(handle, query, params) LIBCALL(RUST_G, "sql_query_async")(handle, query, params) @@ -101,3 +128,37 @@ #define rustg_sql_connected(handle) LIBCALL(RUST_G, "sql_connected")(handle) #define rustg_sql_disconnect_pool(handle) LIBCALL(RUST_G, "sql_disconnect_pool")(handle) #define rustg_sql_check_query(job_id) LIBCALL(RUST_G, "sql_check_query")("[job_id]") + +#define rustg_time_microseconds(id) text2num(RUSTG_CALL(RUST_G, "time_microseconds")(id)) +#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 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") + +/proc/rustg_read_toml_file(path) + var/list/output = rustg_raw_read_toml_file(path) + if (output["success"]) + return json_decode(output["content"]) + else + CRASH(output["content"]) + +#define rustg_raw_toml_encode(value) json_decode(RUSTG_CALL(RUST_G, "toml_encode")(json_encode(value))) + +/proc/rustg_toml_encode(value) + var/list/output = rustg_raw_toml_encode(value) + if (output["success"]) + return output["content"] + else + CRASH(output["content"]) + +#define rustg_url_encode(text) RUSTG_CALL(RUST_G, "url_encode")("[text]") +#define rustg_url_decode(text) RUSTG_CALL(RUST_G, "url_decode")(text) + +#ifdef RUSTG_OVERRIDE_BUILTINS + #define url_encode(text) rustg_url_encode(text) + #define url_decode(text) rustg_url_decode(text) +#endif diff --git a/code/__defines/span_vr.dm b/code/__defines/span_vr.dm index 49e4e0ef69d..c87d062b0ef 100644 --- a/code/__defines/span_vr.dm +++ b/code/__defines/span_vr.dm @@ -1,9 +1,21 @@ // Sorted by however I felt like it -// We have two other ways of doing this, so why not a third. This one atleast has more span options. + +// Adds a generic box around whatever message you're sending in chat. Really makes things stand out. +#define examine_block(str) ("
" + str + "
") + +// Filtered both under OOC! #define span_ooc(str) ("" + str + "") +#define span_aooc(str) ("" + str + "") + +// All of those have unique filters, be wary! #define span_looc(str) ("" + str + "") +#define span_rlooc(str) ("" + str + "") +// Ghostchat filter #define span_deadsay(str) ("" + str + "") +#define span_ghostalert(str) ("" + str + "") + +// FIltered under radio #define span_radio(str) ("" + str + "") #define span_deptradio(str) ("" + str + "") #define span_newscaster(str) ("" + str + "") @@ -21,46 +33,89 @@ #define span_supradio(str) ("" + str + "") #define span_srvradio(str) ("" + str + "") #define span_expradio(str) ("" + str + "") +// Those are in the radio filter... +#define span_alien(str) ("" + str + "") +#define span_changeling(str) ("" + str + "") +// Stop using alert for anything other than announcements! It's filtered under the radio tab +#define span_alert(str) ("" + str + "") -#define span_binary(str) ("" + str + "") +// Filtered under global languages +#define span_binarysay(str) ("" + str + "") #define span_hivemind(str) ("" + str + "") -#define span_name(str) ("" + str + "") +// Filtered under local IC! #define span_say(str) ("" + str + "") -#define span_alert(str) ("" + str + "") -#define span_ghostalert(str) ("" + str + "") -#define span_npc_say(str) ("" + str + "") - - #define span_emote(str) ("" + str + "") #define span_emote_subtle(str) ("" + str + "") +#define span_filter_say(str) ("" + str + "") + +// Filtered as NPC messages +#define span_npc_say(str) ("" + str + "") #define span_npc_emote(str) ("" + str + "") +// Filtered as messages visible through multiple Z levels +#define span_multizsay(str) ("" + str + "") + +// Unfiltered, only style! +#define span_name(str) ("" + str + "") +#define span_game(str) ("" + str + "") +#define span_message(str) ("" + str + "") // TODO: This makes no sense, check it! +#define span_notify(str) ("" + str + "") // TODO: This makes no sense, check it! +#define span_body(str) ("" + str + "") + +// Filtered under combat! #define span_attack(str) ("" + str + "") -#define span_moderate(str) ("" + str + "") #define span_disarm(str) ("" + str + "") #define span_passive(str) ("" + str + "") +#define span_danger(str) ("" + str + "") +#define span_bolddanger(str) ("" + str + "") +#define span_filter_combat(str) ("" + str + "") +// Filtered under warning messages #define span_critical(str) ("" + str + "") -#define span_danger(str) ("" + str + "") +#define span_userdanger(str) ("" + str + "") #define span_warning(str) ("" + str + "") -#define span_rose(str) ("" + str + "") +#define span_warningplain(str) ("" + str + "") +#define span_boldwarning(str) ("" + str + "") +#define span_filter_warning(str) ("" + str + "") // Close to warning plain, maybe replace + +// FIltered under info #define span_info(str) ("" + str + "") +#define span_infoplain(str) ("" + str + "") +#define span_suicide(str) ("" + str + "") +#define span_unconscious(str) ("" + str + "") +#define span_hear(str) ("" + str + "") #define span_notice(str) ("" + str + "") +#define span_filter_notice(str) ("" + str + "") // Close to infoplain, maybe replace +#define span_boldnotice(str) ("" + str + "") +#define span_adminnotice(str) ("" + str + "") #define span_alium(str) ("" + str + "") #define span_cult(str) ("" + str + "") -#define span_reflex_shoot(str) ("" + str + "") +#define span_pnarrate(str) ("" + str + "") -/* Vore messages */ +/* Direct communication spans */ +// Local pred / prey filter +#define span_psay(str) ("" + str + "") +#define span_pemote(str) ("" + str + "") +/* Export spans */ +// chatexport filter +#define span_chatexport(str) ("" + str + "") + +/* Vore messages */ +// All of thse are filtered under the Vorgan Messages tab! +#define span_valert(str) ("" + str + "") #define span_vdanger(str) ("" + str + "") #define span_vwarning(str) ("" + str + "") #define span_vnotice(str) ("" + str + "") -/* Languages */ +// Filtered under nif! +#define span_nif(str) ("" + str + "") +#define span_filter_nif(str) ("" + str + "") // Currently not sorted in -#define span_alien(str) ("" + str + "") +/* Languages */ +// No filter! #define span_tajaran(str) ("" + str + "") #define span_tajaran_signlang(str) ("" + str + "") #define span_akhani(str) ("" + str + "") @@ -68,7 +123,6 @@ #define span_skrellfar(str) ("" + str + "") #define span_soghun(str) ("" + str + "") #define span_solcom(str) ("" + str + "") -#define span_changeling(str) ("" + str + "") #define span_sergal(str) ("" + str + "") #define span_birdsongc(str) ("" + str + "") #define span_vulpkanin(str) ("" + str + "") @@ -86,12 +140,7 @@ #define span_blob(str) ("" + str + "") #define span_teppi(str) ("" + str + "") -#define span_debug_error(str) ("" + str + "") -#define span_debug_warning(str) ("" + str + "") -#define span_debug_info(str) ("" + str + "") -#define span_debug_debug(str) ("" + str + "") -#define span_debug_trace(str) ("" + str + "") - +// Colours only! #define span_white(str) ("" + str + "") #define span_black(str) ("" + str + "") #define span_darkgray(str) ("" + str + "") @@ -100,6 +149,7 @@ #define span_orange(str) ("" + str + "") #define span_blue(str) ("" + str + "") #define span_green(str) ("" + str + "") +#define span_darkgreen(str) ("" + str + "") // Do not use regularly! #define span_purple(str) ("" + str + "") #define span_yellow(str) ("" + str + "") #define span_pink(str) ("" + str + "") @@ -108,4 +158,88 @@ #define span_maroon(str) ("" + str + "") #define span_brown(str) ("" + str + "") #define span_lightpurple(str) ("" + str + "") -#define span_darkpink(str) ("" + str + "") +#define span_darkpink(str) ("" + str + "") +#define span_rose(str) ("" + str + "") + +/* System and Debug */ +// System filter +#define span_boldannounce(str) ("" + str + "") +#define span_world(str) ("" + str + "") // Bold system messages, use this for important world messages to make sure players can't filter them! +#define span_filter_system(str) ("" + str + "") // Plain system filter +#define span_sinister(str) ("" + str + "") + +// Unfiltered +#define span_prefix(str) ("" + str + "") +#define span_admin(str) ("" + str + "") +#define span_linkOn(str) ("" + str + "") +#define span_linkOff(str) ("" + str + "") +#define span_filter_pray(str) ("" + str + "") // (Uses the chat message type directly) + +// Admin log filters +#define span_log_message(str) ("" + str + "") +#define span_filter_adminlog(str) ("" + str + "") // (Uses the chat message type directly) + +// Attack log filter +#define span_filter_attacklog(str) ("" + str + "") // (Uses the chat message type directly) + +// Debug filter +#define span_debug_error(str) ("" + str + "") +#define span_debug_warning(str) ("" + str + "") +#define span_debug_info(str) ("" + str + "") +#define span_debug_debug(str) ("" + str + "") +#define span_debug_trace(str) ("" + str + "") +#define span_filter_debuglogs(str) ("" + str + "") // (Uses the chat message type directly) + +/* Admin only usage */ +// Admin pm filter +#define span_pm(str) ("" + str + "") +#define span_adminhelp(str) ("" + str + "") +#define span_admin_pm_notice(str) ("" + str + "") +#define span_admin_pm_warning(str) ("" + str + "") +#define span_filter_pm(str) ("" + str + "") + +// Mentor pm filter +#define span_mentor(str) ("" + str + "") +#define span_mentor_pm_notice(str) ("" + str + "") +#define span_mentor_pm_warning(str) ("" + str + "") + +/* Adminchat */ +// All of those have their own filter +#define span_admin_channel(str) ("" + str + "") +#define span_mod_channel(str) ("" + str + "") +#define span_event_channel(str) ("" + str + "") +#define span_mentor_channel(str) ("" + str + "") + +/* Byond Sizes */ +// Sizes only! +#define span_small(str) "" + str + "" + +#define span_normal(str) "" + str + "" + +#define span_large(str) "" + str + "" + +#define span_huge(str) "" + str + "" + +#define span_giant(str) "" + str + "" + +#define span_giganteus(str) "" + str + "" + +#define span_massive(str) "" + str + "" + +#define span_narsie(str) "" + str + "" + +#define span_cascade(str) "" + str + "" + +/* Style spans */ +// text style only +#define span_italics(str) ("" + str + "") +#define span_bold(str) ("" + str + "") +#define span_underline(str) ("" + str + "") + +// Links! +#define span_linkify(str) ("" + str + "") + +// Just used downstream +#define span_wingdings(str) ("" + str + "") + +#define span_maptext(str) ("" + str + "") diff --git a/code/__defines/species_languages_vr.dm b/code/__defines/species_languages_vr.dm index 146fcb86ab9..8e9a54569e6 100644 --- a/code/__defines/species_languages_vr.dm +++ b/code/__defines/species_languages_vr.dm @@ -15,6 +15,7 @@ #define LANGUAGE_ANIMAL "Animal" #define LANGUAGE_TEPPI "Teppi" #define LANGUAGE_MOUSE "Mouse" +#define LANNGUAGE_DRAKE "Drake" #define LANGUAGE_SHADEKIN "Shadekin Empathy" #define LANGUAGE_LLEILL "Glamour Speak" diff --git a/code/__defines/statpanel.dm b/code/__defines/statpanel.dm new file mode 100644 index 00000000000..1c304d7fb39 --- /dev/null +++ b/code/__defines/statpanel.dm @@ -0,0 +1,2 @@ +#define TURFLIST_UPDATED (1 << 0) +#define TURFLIST_UPDATE_QUEUED (1 << 1) diff --git a/code/__defines/subsystems.dm b/code/__defines/subsystems.dm index 84c6fbd8a7c..4d80021c0ff 100644 --- a/code/__defines/subsystems.dm +++ b/code/__defines/subsystems.dm @@ -1,33 +1,78 @@ -//Timing subsystem -//Don't run if there is an identical unique timer active -//if the arguments to addtimer are the same as an existing timer, it doesn't create a new timer, and returns the id of the existing timer -#define TIMER_UNIQUE (1<<0) -//For unique timers: Replace the old timer rather then not start this one -#define TIMER_OVERRIDE (1<<1) -//Timing should be based on how timing progresses on clients, not the sever. -// tracking this is more expensive, -// should only be used in conjuction with things that have to progress client side, such as animate() or sound() -#define TIMER_CLIENT_TIME (1<<2) -//Timer can be stopped using deltimer() -#define TIMER_STOPPABLE (1<<3) -//To be used with TIMER_UNIQUE -//prevents distinguishing identical timers with the wait variable -#define TIMER_NO_HASH_WAIT (1<<4) -//Loops the timer repeatedly until qdeleted -//In most cases you want a subsystem instead -#define TIMER_LOOP (1<<5) +//! Defines for subsystems and overlays +//! +//! Lots of important stuff in here, make sure you have your brain switched on +//! when editing this file +//! ## Timing subsystem +/** + * Don't run if there is an identical unique timer active + * + * if the arguments to addtimer are the same as an existing timer, it doesn't create a new timer, + * and returns the id of the existing timer + */ +#define TIMER_UNIQUE (1<<0) + +///For unique timers: Replace the old timer rather then not start this one +#define TIMER_OVERRIDE (1<<1) + +/** + * Timing should be based on how timing progresses on clients, not the server. + * + * Tracking this is more expensive, + * should only be used in conjunction with things that have to progress client side, such as + * animate() or sound() + */ +#define TIMER_CLIENT_TIME (1<<2) + +///Timer can be stopped using deltimer() +#define TIMER_STOPPABLE (1<<3) + +///prevents distinguishing identical timers with the wait variable +/// +///To be used with TIMER_UNIQUE +#define TIMER_NO_HASH_WAIT (1<<4) + +///Loops the timer repeatedly until qdeleted +/// +///In most cases you want a subsystem instead, so don't use this unless you have a good reason +#define TIMER_LOOP (1<<5) + +///Delete the timer on parent datum Destroy() and when deltimer'd +#define TIMER_DELETE_ME (1<<6) + +///Empty ID define #define TIMER_ID_NULL -1 -#define INITIALIZATION_INSSATOMS 0 //New should not call Initialize -#define INITIALIZATION_INNEW_MAPLOAD 1 //New should call Initialize(TRUE) -#define INITIALIZATION_INNEW_REGULAR 2 //New should call Initialize(FALSE) +/// Used to trigger object removal from a processing list +#define PROCESS_KILL 26 + -#define INITIALIZE_HINT_NORMAL 0 //Nothing happens -#define INITIALIZE_HINT_LATELOAD 1 //Call LateInitialize -#define INITIALIZE_HINT_QDEL 2 //Call qdel on the atom +//! ## Initialization subsystem -//type and all subtypes should always call Initialize in New() +///New should not call Initialize +#define INITIALIZATION_INSSATOMS 0 +///New should call Initialize(TRUE) +#define INITIALIZATION_INNEW_MAPLOAD 1 +///New should call Initialize(FALSE) +#define INITIALIZATION_INNEW_REGULAR 2 + +//! ### Initialization hints + +///Nothing happens +#define INITIALIZE_HINT_NORMAL 0 +/** + * call LateInitialize at the end of all atom Initialization + * + * The item will be added to the late_loaders list, this is iterated over after + * initialization of subsystems is complete and calls LateInitalize on the atom + * see [this file for the LateIntialize proc](atom.html#proc/LateInitialize) + */ +#define INITIALIZE_HINT_LATELOAD 1 + +///Call qdel on the atom after initialization +#define INITIALIZE_HINT_QDEL 2 + +///type and all subtypes should always immediately call Initialize in New() #define INITIALIZE_IMMEDIATE(X) ##X/New(loc, ...){\ ..();\ if(!initialized) {\ @@ -51,27 +96,27 @@ var/global/list/runlevel_flags = list(RUNLEVEL_LOBBY, RUNLEVEL_SETUP, RUNLEVEL_G //! ### SS initialization hints /** - * Negative values incidate a failure or warning of some kind, positive are good. - * 0 and 1 are unused so that TRUE and FALSE are guarenteed to be invalid values. + * Negative values indicate a failure or warning of some kind, positive are good. + * 0 and 1 are unused so that TRUE and FALSE are guaranteed to be invalid values. */ /// Subsystem failed to initialize entirely. Print a warning, log, and disable firing. #define SS_INIT_FAILURE -2 -/// The default return value which must be overriden. Will succeed with a warning. +/// The default return value which must be overridden. Will succeed with a warning. #define SS_INIT_NONE -1 -/// Subsystem initialized sucessfully. +/// Subsystem initialized successfully. #define SS_INIT_SUCCESS 2 -/// Successful, but don't print anything. Useful if subsystem was disabled. +/// If your system doesn't need to be initialized (by being disabled or something) #define SS_INIT_NO_NEED 3 //! ### SS initialization load orders - // Subsystem init_order, from highest priority to lowest priority // Subsystems shutdown in the reverse of the order they initialize in // The numbers just define the ordering, they are meaningless otherwise. +#define INIT_ORDER_SERVER_MAINT 93 #define INIT_ORDER_WEBHOOKS 50 #define INIT_ORDER_SQLITE 40 #define INIT_ORDER_GARBAGE 39 @@ -109,10 +154,9 @@ var/global/list/runlevel_flags = list(RUNLEVEL_LOBBY, RUNLEVEL_SETUP, RUNLEVEL_G #define INIT_ORDER_SKYBOX -30 //Visual only, irrelevant to gameplay, but needs to be late enough to have overmap populated fully #define INIT_ORDER_TICKER -50 #define INIT_ORDER_MAPRENAME -60 //Initiating after Ticker to ensure everything is loaded and everything we rely on us working +#define INIT_ORDER_STATPANELS -98 #define INIT_ORDER_CHAT -100 //Should be last to ensure chat remains smooth during init. - - // Subsystem fire priority, from lowest to highest priority // If the subsystem isn't listed here it's either DEFAULT or PROCESS (if it's a processing subsystem child) #define FIRE_PRIORITY_PLAYERTIPS 5 @@ -125,6 +169,7 @@ var/global/list/runlevel_flags = list(RUNLEVEL_LOBBY, RUNLEVEL_SETUP, RUNLEVEL_G #define FIRE_PRIORITY_VOTE 8 #define FIRE_PRIORITY_INSTRUMENTS 9 #define FIRE_PRIORITY_PING 10 +#define FIRE_PRIORITY_SERVER_MAINT 10 #define FIRE_PRIORITY_AI 10 #define FIRE_PRIORITY_GARBAGE 15 #define FIRE_PRIORITY_ASSETS 20 @@ -140,6 +185,20 @@ var/global/list/runlevel_flags = list(RUNLEVEL_LOBBY, RUNLEVEL_SETUP, RUNLEVEL_G #define FIRE_PRIORITY_MACHINES 100 #define FIRE_PRIORITY_TGUI 110 #define FIRE_PRIORITY_PROJECTILES 150 +#define FIRE_PRIORITY_STATPANEL 390 #define FIRE_PRIORITY_CHAT 400 #define FIRE_PRIORITY_OVERLAYS 500 +#define FIRE_PRIORITY_TIMER 700 +#define FIRE_PRIORITY_SPEECH_CONTROLLER 900 +#define FIRE_PRIORITY_DELAYED_VERBS 950 #define FIRE_PRIORITY_INPUT 1000 // This must always always be the max highest priority. Player input must never be lost. + +/** + Create a new timer and add it to the queue. + * Arguments: + * * callback the callback to call on timer finish + * * wait deciseconds to run the timer for + * * flags flags for this timer, see: code\__DEFINES\subsystems.dm + * * timer_subsystem the subsystem to insert this timer into +*/ +#define addtimer(args...) _addtimer(args, file = __FILE__, line = __LINE__) diff --git a/code/__defines/talksounds.dm b/code/__defines/talksounds.dm new file mode 100644 index 00000000000..4f01b4fb2f5 --- /dev/null +++ b/code/__defines/talksounds.dm @@ -0,0 +1,63 @@ + + +var/list/talk_sound_map = rlist( + list( + "beep-boop", + "goon speak 1", + "goon speak 2", + "goon speak 3", + "goon speak 4", + "goon speak blub", + "goon speak bottalk", + "goon speak buwoo", + "goon speak cow", + "goon speak lizard", + "goon speak pug", + "goon speak pugg", + "goon speak roach", + "goon speak skelly", + // "xeno speak" // Does not exist on virgo + ), + list( + talk_sound, + goon_speak_one_sound, + goon_speak_two_sound, + goon_speak_three_sound, + goon_speak_four_sound, + goon_speak_blub_sound, + goon_speak_bottalk_sound, + goon_speak_buwoo_sound, + goon_speak_cow_sound, + goon_speak_lizard_sound, + goon_speak_pug_sound, + goon_speak_pugg_sound, + goon_speak_roach_sound, + goon_speak_skelly_sound, + // xeno_speak_sound // Does not exist on virgo + ) + ) + +/proc/get_talk_sound(var/voice_sound) + if(!voice_sound) + return talk_sound_map[1] + return talk_sound_map[2][voice_sound] + +/proc/rlist(var/list/keys,var/list/values) //short for reversible list generator + var/list/rlist = list(list(),list(),FALSE,0) + var/i = 0 + for(i = 1, i <= LAZYLEN(keys), i++) + to_chat(world,keys[i]) + rlist[1] += keys[i] + rlist[2][keys[i]] = values[i] + rlist += TRUE + rlist += i + return rlist + +/proc/arlist(var/list/altlist) + var/list/rlist = list(list(),list(),FALSE,0) + var/i = 0 + for(i = 1, i <= LAZYLEN(altlist), i++) + rlist[(i % 2) +1] += altlist[i] + rlist += TRUE + rlist += i/2 + return rlist diff --git a/code/__defines/text.dm b/code/__defines/text.dm index 4b520e5771c..b48754dd329 100644 --- a/code/__defines/text.dm +++ b/code/__defines/text.dm @@ -8,3 +8,6 @@ * because DM does it so it copies until the char BEFORE the `end` arg, so we need to bump `end` by 1 in these cases. */ #define PREVENT_CHARACTER_TRIM_LOSS(integer) (integer + 1) + +/// Simply removes the < and > characters, and limits the length of the message. +#define STRIP_HTML_SIMPLE(text, limit) (GLOB.angular_brackets.Replace(copytext(text, 1, limit), "")) diff --git a/code/__defines/tgs.config.dm b/code/__defines/tgs.config.dm index e25041963bc..c57439c7e45 100644 --- a/code/__defines/tgs.config.dm +++ b/code/__defines/tgs.config.dm @@ -2,7 +2,7 @@ #define TGS_DEFINE_AND_SET_GLOBAL(Name, Value) GLOBAL_VAR_INIT(##Name, ##Value); GLOBAL_PROTECT(##Name) #define TGS_READ_GLOBAL(Name) GLOB.##Name #define TGS_WRITE_GLOBAL(Name, Value) GLOB.##Name = ##Value -#define TGS_WORLD_ANNOUNCE(message) to_chat(world, "[html_encode(##message)]") +#define TGS_WORLD_ANNOUNCE(message) to_chat(world, span_boldannounce("[html_encode(##message)]")) #define TGS_INFO_LOG(message) log_to_dd("TGS Info: [##message]") #define TGS_WARNING_LOG(message) log_to_dd("TGS Warn: [##message]") #define TGS_ERROR_LOG(message) log_to_dd("TGS Error: [##message]") diff --git a/code/__defines/tgs.dm b/code/__defines/tgs.dm index f41a6bbff97..d703f41bab4 100644 --- a/code/__defines/tgs.dm +++ b/code/__defines/tgs.dm @@ -1,18 +1,19 @@ // tgstation-server DMAPI +// The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in IETF RFC 2119. -#define TGS_DMAPI_VERSION "7.0.1" +#define TGS_DMAPI_VERSION "7.3.0" // All functions and datums outside this document are subject to change with any version and should not be relied on. // CONFIGURATION -/// Create this define if you want to do TGS configuration outside of this file. +/// Consumers SHOULD create this define if you want to do TGS configuration outside of this file. #ifndef TGS_EXTERNAL_CONFIGURATION -// Comment this out once you've filled in the below. +// Consumers MUST comment this out once you've filled in the below and are not using [TGS_EXTERNAL_CONFIGURATION]. #error TGS API unconfigured -// Uncomment this if you wish to allow the game to interact with TGS 3.. +// Consumers MUST uncomment this if you wish to allow the game to interact with TGS version 3. // This will raise the minimum required security level of your game to TGS_SECURITY_TRUSTED due to it utilizing call()(). //#define TGS_V3_API @@ -50,6 +51,13 @@ #endif +#ifndef TGS_FILE2TEXT_NATIVE +#ifdef file2text +#error Your codebase is re-defining the BYOND proc file2text. The DMAPI requires the native version to read the result of world.Export(). You SHOULD fix this by adding "#define TGS_FILE2TEXT_NATIVE file2text" before your override of file2text to allow the DMAPI to use the native version. This will only be used for world.Export(), not regular file accesses +#endif +#define TGS_FILE2TEXT_NATIVE file2text +#endif + // EVENT CODES /// Before a reboot mode change, extras parameters are the current and new reboot mode enums. @@ -145,16 +153,17 @@ //REQUIRED HOOKS /** - * Call this somewhere in [/world/proc/New] that is always run. This function may sleep! + * Consumers MUST call this somewhere in [/world/proc/New] that is always run. This function may sleep! * * * event_handler - Optional user defined [/datum/tgs_event_handler]. * * minimum_required_security_level: The minimum required security level to run the game in which the DMAPI is integrated. Can be one of [TGS_SECURITY_ULTRASAFE], [TGS_SECURITY_SAFE], or [TGS_SECURITY_TRUSTED]. + * * http_handler - Optional user defined [/datum/tgs_http_handler]. */ -/world/proc/TgsNew(datum/tgs_event_handler/event_handler, minimum_required_security_level = TGS_SECURITY_ULTRASAFE) +/world/proc/TgsNew(datum/tgs_event_handler/event_handler, minimum_required_security_level = TGS_SECURITY_ULTRASAFE, datum/tgs_http_handler/http_handler) return /** - * Call this when your initializations are complete and your game is ready to play before any player interactions happen. + * Consumers MUST call this when world initializations are complete and the game is ready to play before any player interactions happen. * * This may use [/world/var/sleep_offline] to make this happen so ensure no changes are made to it while this call is running. * Afterwards, consider explicitly setting it to what you want to avoid this BYOND bug: http://www.byond.com/forum/post/2575184 @@ -163,13 +172,11 @@ /world/proc/TgsInitializationComplete() return -/// Put this at the start of [/world/proc/Topic]. +/// Consumers MUST run this macro at the start of [/world/proc/Topic]. #define TGS_TOPIC var/tgs_topic_return = TgsTopic(args[1]); if(tgs_topic_return) return tgs_topic_return #define VGS_TOPIC var/vgs_topic_return = VgsTopic(args[1]); if(vgs_topic_return) return vgs_topic_return // VOREStation Edit - VGS -/** - * Call this as late as possible in [world/proc/Reboot] (BEFORE ..()). - */ +/// Consumers MUST call this as late as possible in [world/proc/Reboot] (BEFORE ..()). /world/proc/TgsReboot() return @@ -263,7 +270,7 @@ /// The [/datum/tgs_chat_channel] the user was from. var/datum/tgs_chat_channel/channel -/// User definable handler for TGS events. +/// User definable handler for TGS events This abstract version SHOULD be overridden to be used. /datum/tgs_event_handler /// If the handler receieves [TGS_EVENT_HEALTH_CHECK] events. var/receive_health_checks = FALSE @@ -277,7 +284,41 @@ set waitfor = FALSE return -/// User definable chat command. +/// User definable handler for HTTP calls. This abstract version MUST be overridden to be used. +/datum/tgs_http_handler + +/** + * User definable callback for executing HTTP GET requests. + * MUST perform BYOND sleeps while the request is in flight. + * MUST return a [/datum/tgs_http_result]. + * SHOULD log its own errors + * + * url - The full URL to execute the GET request for including query parameters. + */ +/datum/tgs_http_handler/proc/PerformGet(url) + CRASH("[type]/PerformGet not implemented!") + +/// Result of a [/datum/tgs_http_handler] call. MUST NOT be overridden. +/datum/tgs_http_result + /// HTTP response as text + var/response_text + /// Boolean request success flag. Set for any 2XX response code. + var/success + +/** + * Create a [/datum/tgs_http_result]. + * + * * response_text - HTTP response as text. Must be provided in New(). + * * success - Boolean request success flag. Set for any 2XX response code. Must be provided in New(). + */ +/datum/tgs_http_result/New(response_text, success) + if(response_text && !istext(response_text)) + CRASH("response_text was not text!") + + src.response_text = response_text + src.success = success + +/// User definable chat command. This abstract version MUST be overridden to be used. /datum/tgs_chat_command /// The string to trigger this command on a chat bot. e.g `@bot name ...` or `!tgs name ...`. var/name = "" @@ -290,29 +331,36 @@ /** * Process command activation. Should return a [/datum/tgs_message_content] to respond to the issuer with. + * MUST be implemented * - * sender - The [/datum/tgs_chat_user] who issued the command. - * params - The trimmed string following the command `/datum/tgs_chat_command/var/name]. + * * sender - The [/datum/tgs_chat_user] who issued the command. + * * params - The trimmed string following the command `/datum/tgs_chat_command/var/name]. */ /datum/tgs_chat_command/proc/Run(datum/tgs_chat_user/sender, params) CRASH("[type] has no implementation for Run()") -/// User definable chat message. +/// User definable chat message. MUST NOT be overridden. /datum/tgs_message_content - /// The tring content of the message. Must be provided in New(). + /// The string content of the message. Must be provided in New(). var/text /// The [/datum/tgs_chat_embed] to embed in the message. Not supported on all chat providers. var/datum/tgs_chat_embed/structure/embed +/** + * Create a [/datum/tgs_message_content]. + * + * * text - The string content of the message. + */ /datum/tgs_message_content/New(text) + ..() if(!istext(text)) TGS_ERROR_LOG("[/datum/tgs_message_content] created with no text!") text = null src.text = text -/// User definable chat embed. Currently mirrors Discord chat embeds. See https://discord.com/developers/docs/resources/channel#embed-object-embed-structure for details. +/// User definable chat embed. Currently mirrors Discord chat embeds. See https://discord.com/developers/docs/resources/message#embed-object for details. /datum/tgs_chat_embed/structure var/title var/description @@ -324,13 +372,13 @@ /// Colour must be #AARRGGBB or #RRGGBB hex string. var/colour - /// See https://discord.com/developers/docs/resources/channel#embed-object-embed-image-structure for details. + /// See https://discord.com/developers/docs/resources/message#embed-object-embed-image-structure for details. var/datum/tgs_chat_embed/media/image - /// See https://discord.com/developers/docs/resources/channel#embed-object-embed-thumbnail-structure for details. + /// See https://discord.com/developers/docs/resources/message#embed-object-embed-thumbnail-structure for details. var/datum/tgs_chat_embed/media/thumbnail - /// See https://discord.com/developers/docs/resources/channel#embed-object-embed-image-structure for details. + /// See https://discord.com/developers/docs/resources/message#embed-object-embed-video-structure for details. var/datum/tgs_chat_embed/media/video var/datum/tgs_chat_embed/footer/footer @@ -339,7 +387,7 @@ var/list/datum/tgs_chat_embed/field/fields -/// Common datum for similar discord embed medias. +/// Common datum for similar Discord embed medias. /datum/tgs_chat_embed/media /// Must be set in New(). var/url @@ -347,48 +395,58 @@ var/height var/proxy_url +/// Create a [/datum/tgs_chat_embed]. /datum/tgs_chat_embed/media/New(url) + ..() if(!istext(url)) CRASH("[/datum/tgs_chat_embed/media] created with no url!") src.url = url -/// See https://discord.com/developers/docs/resources/channel#embed-object-embed-footer-structure for details. +/// See https://discord.com/developers/docs/resources/message#embed-object-embed-footer-structure for details. /datum/tgs_chat_embed/footer /// Must be set in New(). var/text var/icon_url var/proxy_icon_url +/// Create a [/datum/tgs_chat_embed/footer]. /datum/tgs_chat_embed/footer/New(text) + ..() if(!istext(text)) CRASH("[/datum/tgs_chat_embed/footer] created with no text!") src.text = text -/// See https://discord.com/developers/docs/resources/channel#embed-object-embed-provider-structure for details. +/// See https://discord.com/developers/docs/resources/message#embed-object-embed-provider-structure for details. /datum/tgs_chat_embed/provider var/name var/url -/// See https://discord.com/developers/docs/resources/channel#embed-object-embed-author-structure for details. Must have name set in New(). +/// See https://discord.com/developers/docs/resources/message#embed-object-embed-author-structure for details. Must have name set in New(). /datum/tgs_chat_embed/provider/author var/icon_url var/proxy_icon_url +/// Create a [/datum/tgs_chat_embed/footer]. /datum/tgs_chat_embed/provider/author/New(name) + ..() if(!istext(name)) CRASH("[/datum/tgs_chat_embed/provider/author] created with no name!") src.name = name -/// See https://discord.com/developers/docs/resources/channel#embed-object-embed-field-structure for details. Must have name and value set in New(). +/// See https://discord.com/developers/docs/resources/message#embed-object-embed-field-structure for details. /datum/tgs_chat_embed/field + /// Must be set in New(). var/name + /// Must be set in New(). var/value var/is_inline +/// Create a [/datum/tgs_chat_embed/field]. /datum/tgs_chat_embed/field/New(name, value) + ..() if(!istext(name)) CRASH("[/datum/tgs_chat_embed/field] created with no name!") @@ -427,6 +485,7 @@ /** * Send a message to connected chats. This function may sleep! + * If TGS is offline when called, the message may be placed in a queue to be sent and this function will return immediately. Your message will be sent when TGS reconnects to the game. * * message - The [/datum/tgs_message_content] to send. * admin_only: If [TRUE], message will be sent to admin connected chats. Vice-versa applies. @@ -436,6 +495,7 @@ /** * Send a private message to a specific user. This function may sleep! + * If TGS is offline when called, the message may be placed in a queue to be sent and this function will return immediately. Your message will be sent when TGS reconnects to the game. * * message - The [/datum/tgs_message_content] to send. * user: The [/datum/tgs_chat_user] to PM. @@ -445,6 +505,7 @@ /** * Send a message to connected chats that are flagged as game-related in TGS. This function may sleep! + * If TGS is offline when called, the message may be placed in a queue to be sent and this function will return immediately. Your message will be sent when TGS reconnects to the game. * * message - The [/datum/tgs_message_content] to send. * channels - Optional list of [/datum/tgs_chat_channel]s to restrict the message to. @@ -488,10 +549,20 @@ /world/proc/TgsChatChannelInfo() return +/** + * Trigger an event in TGS. Requires TGS version >= 6.3.0. Returns [TRUE] if the event was triggered successfully, [FALSE] otherwise. This function may sleep! + * + * event_name - The name of the event to trigger + * parameters - Optional list of string parameters to pass as arguments to the event script. The first parameter passed to a script will always be the running game's directory followed by these parameters. + * wait_for_completion - If set, this function will not return until the event has run to completion. + */ +/world/proc/TgsTriggerEvent(event_name, list/parameters, wait_for_completion = FALSE) + return + /* The MIT License -Copyright (c) 2017-2023 Jordan Brown +Copyright (c) 2017-2024 Jordan Brown Permission is hereby granted, free of charge, to any person obtaining a copy of this software and diff --git a/code/__defines/time.dm b/code/__defines/time.dm index 9b3c384cfb3..857e2fa1556 100644 --- a/code/__defines/time.dm +++ b/code/__defines/time.dm @@ -1,3 +1,6 @@ +///displays the current time into the round, with a lot of extra code just there for ensuring it looks okay after an entire day passes +#define ROUND_TIME(...) ( "[world.time - SSticker.round_start_time > MIDNIGHT_ROLLOVER ? "[round((world.time - SSticker.round_start_time)/MIDNIGHT_ROLLOVER)]:[worldtime2text()]" : worldtime2text()]" ) + /// Define that just has the current in-universe year for use in whatever context you might want to display that in. (For example, 2022 -> 2562 given a 540 year offset) #define CURRENT_STATION_YEAR (GLOB.year_integer + STATION_YEAR_OFFSET) diff --git a/code/__defines/update_icons.dm b/code/__defines/update_icons.dm index 4fa21751be5..7120edd1680 100644 --- a/code/__defines/update_icons.dm +++ b/code/__defines/update_icons.dm @@ -1 +1,49 @@ -#define MOB_WATER_LAYER 36 +// These are used as the layers for the icons, as well as indexes in a list that holds onto them. +// Technically the layers used are all -100+layer to make them FLOAT_LAYER overlays. +//Human Overlays Indexes///////// +#define MUTATIONS_LAYER 1 //Mutations like fat, and lasereyes +#define SKIN_LAYER 2 //Skin things added by a call on species +#define BLOOD_LAYER 3 //Bloodied hands/feet/anything else +#define BODYPARTS_LAYER 4 //Bodyparts layer +#define MOB_DAM_LAYER 5 //Injury overlay sprites like open wounds +#define SURGERY_LAYER 6 //Overlays for open surgical sites +#define UNDERWEAR_LAYER 7 //Underwear/bras/etc +#define TAIL_LOWER_LAYER 8 //Tail as viewed from the south +#define WING_LOWER_LAYER 9 //Wings as viewed from the south +#define SHOES_LAYER_ALT 10 //Shoe-slot item (when set to be under uniform via verb) +#define UNIFORM_LAYER 11 //Uniform-slot item +#define ID_LAYER 12 //ID-slot item +#define SHOES_LAYER 13 //Shoe-slot item +#define GLOVES_LAYER 14 //Glove-slot item +#define BELT_LAYER 15 //Belt-slot item +#define SUIT_LAYER 16 //Suit-slot item +#define TAIL_UPPER_LAYER 17 //Some species have tails to render (As viewed from the N, E, or W) +#define GLASSES_LAYER 18 //Eye-slot item +#define BELT_LAYER_ALT 19 //Belt-slot item (when set to be above suit via verb) +#define SUIT_STORE_LAYER 20 //Suit storage-slot item +#define BACK_LAYER 21 //Back-slot item +#define HAIR_LAYER 22 //The human's hair +#define HAIR_ACCESSORY_LAYER 23 //Simply move this up a number if things are added. +#define EARS_LAYER 24 //Both ear-slot items (combined image) +#define EYES_LAYER 25 //Mob's eyes (used for glowing eyes) +#define FACEMASK_LAYER 26 //Mask-slot item +#define GLASSES_LAYER_ALT 27 //So some glasses can appear on top of hair and things +#define HEAD_LAYER 28 //Head-slot item +#define HANDCUFF_LAYER 29 //Handcuffs, if the human is handcuffed, in a secret inv slot +#define LEGCUFF_LAYER 30 //Same as handcuffs, for legcuffs +#define L_HAND_LAYER 31 //Left-hand item +#define R_HAND_LAYER 32 //Right-hand item +#define WING_LAYER 33 //Wings or protrusions over the suit. +#define TAIL_UPPER_LAYER_ALT 34 //Modified tail-sprite layer. Tend to be larger. +#define MODIFIER_EFFECTS_LAYER 35 //Effects drawn by modifiers +#define FIRE_LAYER 36 //'Mob on fire' overlay layer +#define MOB_WATER_LAYER 37 +#define TARGETED_LAYER 38 //'Aimed at' overlay layer +#define VORE_BELLY_LAYER 39 +#define VORE_TAIL_LAYER 40 + +#define TOTAL_LAYERS 40 // <---- KEEP THIS UPDATED, should always equal the highest number here, used to initialize a list. + +//These two are only used for gargoyles currently +#define HUMAN_BODY_LAYERS list(MUTATIONS_LAYER, TAIL_LOWER_LAYER, WING_LOWER_LAYER, BODYPARTS_LAYER, SKIN_LAYER, BLOOD_LAYER, MOB_DAM_LAYER, TAIL_UPPER_LAYER, HAIR_LAYER, HAIR_ACCESSORY_LAYER, EYES_LAYER, WING_LAYER, VORE_BELLY_LAYER, VORE_TAIL_LAYER, TAIL_UPPER_LAYER_ALT) +#define HUMAN_OTHER_LAYERS list(MODIFIER_EFFECTS_LAYER, FIRE_LAYER, MOB_WATER_LAYER, TARGETED_LAYER) diff --git a/code/__defines/verb_manager.dm b/code/__defines/verb_manager.dm new file mode 100644 index 00000000000..11ea6ada4d8 --- /dev/null +++ b/code/__defines/verb_manager.dm @@ -0,0 +1,36 @@ +/** + * verb queuing thresholds. remember that since verbs execute after SendMaps the player wont see the effects of the verbs on the game world + * until SendMaps executes next tick, and then when that later update reaches them. thus most player input has a minimum latency of world.tick_lag + player ping. + * however thats only for the visual effect of player input, when a verb processes the actual latency of game state changes or semantic latency is effectively 1/2 player ping, + * unless that verb is queued for the next tick in which case its some number probably smaller than world.tick_lag. + * so some verbs that represent player input are important enough that we only introduce semantic latency if we absolutely need to. + * its for this reason why player clicks are handled in SSinput before even movement - semantic latency could cause someone to move out of range + * when the verb finally processes but it was in range if the verb had processed immediately and overtimed. + */ + +///queuing tick_usage threshold for verbs that are high enough priority that they only queue if the server is overtiming. +///ONLY use for critical verbs +#define VERB_OVERTIME_QUEUE_THRESHOLD 100 +///queuing tick_usage threshold for verbs that need lower latency more than most verbs. +#define VERB_HIGH_PRIORITY_QUEUE_THRESHOLD 95 +///default queuing tick_usage threshold for most verbs which can allow a small amount of latency to be processed in the next tick +#define VERB_DEFAULT_QUEUE_THRESHOLD 85 + +///attempt to queue this verb process if the server is overloaded. evaluates to FALSE if queuing isnt necessary or if it failed. +///_verification_args... are only necessary if the verb_manager subsystem youre using checks them in can_queue_verb() +///if you put anything in _verification_args that ISNT explicitely put in the can_queue_verb() override of the subsystem youre using, +///it will runtime. +#define TRY_QUEUE_VERB(_verb_callback, _tick_check, _subsystem_to_use, _verification_args...) (_queue_verb(_verb_callback, _tick_check, _subsystem_to_use, _verification_args)) +///queue wrapper for TRY_QUEUE_VERB() when you want to call the proc if the server isnt overloaded enough to queue +#define QUEUE_OR_CALL_VERB(_verb_callback, _tick_check, _subsystem_to_use, _verification_args...) \ + if(!TRY_QUEUE_VERB(_verb_callback, _tick_check, _subsystem_to_use, _verification_args)) {\ + _verb_callback:InvokeAsync() \ + }; + +//goes straight to SSverb_manager with default tick threshold +#define DEFAULT_TRY_QUEUE_VERB(_verb_callback, _verification_args...) (TRY_QUEUE_VERB(_verb_callback, VERB_DEFAULT_QUEUE_THRESHOLD, null, _verification_args)) +#define DEFAULT_QUEUE_OR_CALL_VERB(_verb_callback, _verification_args...) QUEUE_OR_CALL_VERB(_verb_callback, VERB_DEFAULT_QUEUE_THRESHOLD, null, _verification_args) + +//default tick threshold but nondefault subsystem +#define TRY_QUEUE_VERB_FOR(_verb_callback, _subsystem_to_use, _verification_args...) (TRY_QUEUE_VERB(_verb_callback, VERB_DEFAULT_QUEUE_THRESHOLD, _subsystem_to_use, _verification_args)) +#define QUEUE_OR_CALL_VERB_FOR(_verb_callback, _subsystem_to_use, _verification_args...) QUEUE_OR_CALL_VERB(_verb_callback, VERB_DEFAULT_QUEUE_THRESHOLD, _subsystem_to_use, _verification_args) diff --git a/code/__defines/verdigris/_verdigris.dm b/code/__defines/verdigris/_verdigris.dm new file mode 100644 index 00000000000..021506ac466 --- /dev/null +++ b/code/__defines/verdigris/_verdigris.dm @@ -0,0 +1,18 @@ +/* This comment bypasses grep checks */ /var/__verdigris + +/proc/__detect_verdigris() + if (world.system_type == UNIX) + return __verdigris = (fexists("./libverdigris.so") ? "./libverdigris.so" : "libverdigris") + else + return __verdigris = "verdigris" + +#define VERDIGRIS (__verdigris || __detect_verdigris()) +#define VERDIGRIS_CALL(name, args...) call_ext(VERDIGRIS, "byond:" + name)(args) + +/proc/verdigris_version() return VERDIGRIS_CALL("verdigris_version") +/proc/verdigris_features() return VERDIGRIS_CALL("verdigris_features") +/proc/verdigris_cleanup() return VERDIGRIS_CALL("cleanup") + +/world/New() + verdigris_cleanup() + ..() diff --git a/code/__defines/verdigris/random_map.dm b/code/__defines/verdigris/random_map.dm new file mode 100644 index 00000000000..5f8a2372678 --- /dev/null +++ b/code/__defines/verdigris/random_map.dm @@ -0,0 +1,3 @@ +/proc/verdigris_generate_automata(limit_x, limit_y, iterations, initial_wall_cell) as /list + RETURN_TYPE(/list) + return VERDIGRIS_CALL("generate_automata", limit_x, limit_y, iterations, initial_wall_cell) diff --git a/code/_away_mission_tests.dm b/code/_away_mission_tests.dm deleted file mode 100644 index 4d9d4e91f9f..00000000000 --- a/code/_away_mission_tests.dm +++ /dev/null @@ -1,10 +0,0 @@ -/* - * - * This file is used by CI to indicate that additional maps need to be compiled to look for errors such as missing paths. - * Do not add anything but the AWAY_MISSION_TEST definition here as it will be overwritten by CI when running tests. - * - * - * Should you wish to edit set AWAY_MISSION_TEST to 1 like so: - * #define AWAY_MISSION_TEST 1 - */ -#define AWAY_MISSION_TEST 0 diff --git a/code/_global_vars/_regexes.dm b/code/_global_vars/_regexes.dm index 46e78a28fa0..1d92bc8c52e 100644 --- a/code/_global_vars/_regexes.dm +++ b/code/_global_vars/_regexes.dm @@ -2,3 +2,8 @@ GLOBAL_DATUM_INIT(is_http_protocol, /regex, regex("^https?://")) GLOBAL_DATUM_INIT(is_valid_url, /regex, regex("((?:https://)\[-a-zA-Z0-9@:%._+~#=]{1,256}.\[-a-zA-Z0-9@:%._+~#=]{1,256}\\b(?:\[-a-zA-Z0-9@():%_+.,~#?&/=]*\[^.,!?:; ()<>{}\\[]\n\"'´`]))", "gm")) + +//All < and > characters +GLOBAL_DATUM_INIT(angular_brackets, /regex, regex(@"[<>]", "g")) + +GLOBAL_DATUM_INIT(is_color, /regex, regex("^#\[0-9a-fA-F]{6}$")) diff --git a/code/_global_vars/configuration.dm b/code/_global_vars/configuration.dm new file mode 100644 index 00000000000..7aa2272fe9f --- /dev/null +++ b/code/_global_vars/configuration.dm @@ -0,0 +1,5 @@ +// See initialization order in /code/game/world.dm +// GLOBAL_REAL(config, /datum/controller/configuration) +GLOBAL_REAL(config, /datum/controller/configuration) = new + +GLOBAL_DATUM_INIT(revdata, /datum/getrev, new) diff --git a/code/_global_vars/lists/mapping.dm b/code/_global_vars/lists/mapping.dm index a1f664f7c25..1ddf6cae970 100644 --- a/code/_global_vars/lists/mapping.dm +++ b/code/_global_vars/lists/mapping.dm @@ -31,19 +31,21 @@ GLOBAL_LIST_INIT(cww_dir, list( // cww_dir[dir] = counter-clockwise rotation of 48, 56, 52, 60, 49, 57, 53, 61, 50, 58, 54, 62, 51, 59, 55, 63 // UP+DOWN - Same as first line but +48 )) +// YW Addtion Start GLOBAL_LIST_INIT(ore_types, list( - "hematite" = /obj/item/weapon/ore/iron, - "uranium" = /obj/item/weapon/ore/uranium, - "gold" = /obj/item/weapon/ore/gold, - "silver" = /obj/item/weapon/ore/silver, - "diamond" = /obj/item/weapon/ore/diamond, - "phoron" = /obj/item/weapon/ore/phoron, - "platinum" = /obj/item/weapon/ore/osmium, - "mhydrogen" = /obj/item/weapon/ore/hydrogen, - "silicates" = /obj/item/weapon/ore/glass, - "carbon" = /obj/item/weapon/ore/coal, - "verdantium" = /obj/item/weapon/ore/verdantium, - "marble" = /obj/item/weapon/ore/marble, - "lead" = /obj/item/weapon/ore/lead, - "rutile" = /obj/item/weapon/ore/rutile //VOREStation Add + "hematite" = /obj/item/ore/iron, + "uranium" = /obj/item/ore/uranium, + "gold" = /obj/item/ore/gold, + "silver" = /obj/item/ore/silver, + "diamond" = /obj/item/ore/diamond, + "phoron" = /obj/item/ore/phoron, + "platinum" = /obj/item/ore/osmium, + "mhydrogen" = /obj/item/ore/hydrogen, + "silicates" = /obj/item/ore/glass, + "carbon" = /obj/item/ore/coal, + "verdantium" = /obj/item/ore/verdantium, + "marble" = /obj/item/ore/marble, + "lead" = /obj/item/ore/lead, + "rutile" = /obj/item/ore/rutile //VOREStation Add )) +// YW addition End diff --git a/code/_global_vars/sensitive.dm b/code/_global_vars/sensitive.dm deleted file mode 100644 index 8de09f4f3a0..00000000000 --- a/code/_global_vars/sensitive.dm +++ /dev/null @@ -1,11 +0,0 @@ -// MySQL configuration -GLOBAL_REAL_VAR(sqladdress) = "localhost" -GLOBAL_REAL_VAR(sqlport) = "3306" -GLOBAL_REAL_VAR(sqldb) = "tgstation" -GLOBAL_REAL_VAR(sqllogin) = "root" -GLOBAL_REAL_VAR(sqlpass) = "" -// Feedback gathering sql connection -GLOBAL_REAL_VAR(sqlfdbkdb) = "test" -GLOBAL_REAL_VAR(sqlfdbklogin) = "root" -GLOBAL_REAL_VAR(sqlfdbkpass) = "" -GLOBAL_REAL_VAR(sqllogging) = 0 // Should we log deaths, population stats, etc.? diff --git a/code/_helpers/_lists.dm b/code/_helpers/_lists.dm index 26124773229..b71b20e0370 100644 --- a/code/_helpers/_lists.dm +++ b/code/_helpers/_lists.dm @@ -15,6 +15,12 @@ * Misc */ +/// Returns the top (last) element from the list, does not remove it from the list. Stack functionality. +/proc/peek(list/target_list) + var/list_length = length(target_list) + if(list_length != 0) + return target_list[list_length] + //Returns a list in plain english as a string /proc/english_list(var/list/input, nothing_text = "nothing", and_text = " and ", comma_text = ", ", final_comma_text = ",") // this proc cannot be merged with counting_english_list to maintain compatibility @@ -203,6 +209,13 @@ result = first - second return result +/** + * Removes any null entries from the list + * Returns TRUE if the list had nulls, FALSE otherwise +**/ +/proc/list_clear_nulls(list/list_to_clear) + return (list_to_clear.RemoveAll(null) > 0) + /* Two lists may be different (A!=B) even if they have the same elements. This actually tests if they have the same entries and values. @@ -881,3 +894,69 @@ var/global/list/json_cache = list() else used_key_list[input_key] = 1 return input_key + +// Generic listoflist safe add and removal macros: +///If value is a list, wrap it in a list so it can be used with list add/remove operations +#define LIST_VALUE_WRAP_LISTS(value) (islist(value) ? list(value) : value) +///Add an untyped item to a list, taking care to handle list items by wrapping them in a list to remove the footgun +#define UNTYPED_LIST_ADD(list, item) (list += LIST_VALUE_WRAP_LISTS(item)) +///Remove an untyped item to a list, taking care to handle list items by wrapping them in a list to remove the footgun +#define UNTYPED_LIST_REMOVE(list, item) (list -= LIST_VALUE_WRAP_LISTS(item)) + +/// Passed into BINARY_INSERT to compare keys +#define COMPARE_KEY __BIN_LIST[__BIN_MID] +/// Passed into BINARY_INSERT to compare values +#define COMPARE_VALUE __BIN_LIST[__BIN_LIST[__BIN_MID]] + +/**** + * Binary search sorted insert + * INPUT: Object to be inserted + * LIST: List to insert object into + * TYPECONT: The typepath of the contents of the list + * COMPARE: The object to compare against, usualy the same as INPUT + * COMPARISON: The variable on the objects to compare + * COMPTYPE: How should the values be compared? Either COMPARE_KEY or COMPARE_VALUE. + */ +#define BINARY_INSERT(INPUT, LIST, TYPECONT, COMPARE, COMPARISON, COMPTYPE) \ + do {\ + var/list/__BIN_LIST = LIST;\ + var/__BIN_CTTL = length(__BIN_LIST);\ + if(!__BIN_CTTL) {\ + __BIN_LIST += INPUT;\ + } else {\ + var/__BIN_LEFT = 1;\ + var/__BIN_RIGHT = __BIN_CTTL;\ + var/__BIN_MID = (__BIN_LEFT + __BIN_RIGHT) >> 1;\ + var ##TYPECONT/__BIN_ITEM;\ + while(__BIN_LEFT < __BIN_RIGHT) {\ + __BIN_ITEM = COMPTYPE;\ + if(__BIN_ITEM.##COMPARISON <= COMPARE.##COMPARISON) {\ + __BIN_LEFT = __BIN_MID + 1;\ + } else {\ + __BIN_RIGHT = __BIN_MID;\ + };\ + __BIN_MID = (__BIN_LEFT + __BIN_RIGHT) >> 1;\ + };\ + __BIN_ITEM = COMPTYPE;\ + __BIN_MID = __BIN_ITEM.##COMPARISON > COMPARE.##COMPARISON ? __BIN_MID : __BIN_MID + 1;\ + __BIN_LIST.Insert(__BIN_MID, INPUT);\ + };\ + } while(FALSE) + +///Converts a bitfield to a list of numbers (or words if a wordlist is provided) +/proc/bitfield_to_list(bitfield = 0, list/wordlist) + var/list/return_list = list() + if(islist(wordlist)) + var/max = min(wordlist.len, 24) + var/bit = 1 + for(var/i in 1 to max) + if(bitfield & bit) + return_list += wordlist[i] + bit = bit << 1 + else + for(var/bit_number = 0 to 23) + var/bit = 1 << bit_number + if(bitfield & bit) + return_list += bit + + return return_list diff --git a/code/_helpers/atmospherics.dm b/code/_helpers/atmospherics.dm index 25fd699b32b..7e899ed3165 100644 --- a/code/_helpers/atmospherics.dm +++ b/code/_helpers/atmospherics.dm @@ -1,16 +1,16 @@ /obj/proc/analyze_gases(var/atom/A, var/mob/user) if(src != A) - user.visible_message("\The [user] has used \an [src] on \the [A]") + user.visible_message(span_notice("\The [user] has used \an [src] on \the [A]")) A.add_fingerprint(user) var/list/result = A.atmosanalyze(user) if(result && result.len) - to_chat(user, "Results of the analysis[src == A ? "" : " of \the [A]"]") + to_chat(user, span_notice("Results of the analysis[src == A ? "" : " of \the [A]"]")) for(var/line in result) - to_chat(user, "[line]") + to_chat(user, span_notice("[line]")) return 1 - to_chat(user, "Your [src] flashes a red light as it fails to analyze \the [A].") + to_chat(user, span_warning("Your [src] flashes a red light as it fails to analyze \the [A].")) return 0 /proc/atmosanalyzer_scan(var/atom/target, var/datum/gas_mixture/mixture, var/mob/user) @@ -19,13 +19,13 @@ if (mixture && mixture.total_moles > 0) var/pressure = mixture.return_pressure() var/total_moles = mixture.total_moles - results += "Pressure: [round(pressure,0.1)] kPa" + results += span_notice("Pressure: [round(pressure,0.1)] kPa") for(var/mix in mixture.gas) - results += "[gas_data.name[mix]]: [round((mixture.gas[mix] / total_moles) * 100)]% ([round(mixture.gas[mix], 0.01)] moles)" - results += "Temperature: [round(mixture.temperature-T0C)]°C" - results += "Heat Capacity: [round(mixture.heat_capacity(),0.1)]" + results += span_notice("[gas_data.name[mix]]: [round((mixture.gas[mix] / total_moles) * 100)]% ([round(mixture.gas[mix], 0.01)] moles)") + results += span_notice("Temperature: [round(mixture.temperature-T0C)]°C") + results += span_notice("Heat Capacity: [round(mixture.heat_capacity(),0.1)]") else - results += "\The [target] is empty!" + results += span_notice("\The [target] is empty!") return results @@ -35,7 +35,7 @@ /atom/proc/atmosanalyze(var/mob/user) return -/obj/item/weapon/tank/atmosanalyze(var/mob/user) +/obj/item/tank/atmosanalyze(var/mob/user) return atmosanalyzer_scan(src, src.air_contents, user) /obj/machinery/portable_atmospherics/atmosanalyze(var/mob/user) @@ -55,16 +55,16 @@ /obj/machinery/atmospherics/trinary/atmos_filter/atmosanalyze(var/mob/user) return atmosanalyzer_scan(src, src.air1, user) - + /obj/machinery/atmospherics/trinary/mixer/atmosanalyze(var/mob/user) return atmosanalyzer_scan(src, src.air3, user) - + /obj/machinery/atmospherics/omni/atmos_filter/atmosanalyze(var/mob/user) return atmosanalyzer_scan(src, src.input.air, user) - + /obj/machinery/atmospherics/omni/mixer/atmosanalyze(var/mob/user) return atmosanalyzer_scan(src, src.output.air, user) - + /obj/machinery/meter/atmosanalyze(var/mob/user) var/datum/gas_mixture/mixture = null if(src.target) @@ -74,5 +74,5 @@ /obj/machinery/power/rad_collector/atmosanalyze(var/mob/user) if(P) return atmosanalyzer_scan(src, src.P.air_contents, user) -/obj/item/weapon/flamethrower/atmosanalyze(var/mob/user) +/obj/item/flamethrower/atmosanalyze(var/mob/user) if(ptank) return atmosanalyzer_scan(src, ptank.air_contents, user) diff --git a/code/_helpers/game.dm b/code/_helpers/game.dm index 812c0d5fe73..80d66f555da 100644 --- a/code/_helpers/game.dm +++ b/code/_helpers/game.dm @@ -172,7 +172,7 @@ if(ismob(I)) if(!sight_check || isInSight(I, O)) - L |= recursive_content_check(I, L, recursion_limit - 1, client_check, sight_check, include_mobs, include_objects) + L |= recursive_content_check(I, L, recursion_limit - 1, client_check, sight_check, include_mobs, include_objects, ignore_show_messages) if(include_mobs) if(client_check) var/mob/M = I @@ -185,7 +185,7 @@ var/obj/check_obj = I if(ignore_show_messages || check_obj.show_messages) if(!sight_check || isInSight(I, O)) - L |= recursive_content_check(I, L, recursion_limit - 1, client_check, sight_check, include_mobs, include_objects) + L |= recursive_content_check(I, L, recursion_limit - 1, client_check, sight_check, include_mobs, include_objects, ignore_show_messages) if(include_objects) L |= I @@ -219,14 +219,14 @@ return hear -/proc/get_mobs_in_radio_ranges(var/list/obj/item/device/radio/radios) +/proc/get_mobs_in_radio_ranges(var/list/obj/item/radio/radios) set background = 1 . = list() // Returns a list of mobs who can hear any of the radios given in @radios var/list/speaker_coverage = list() - for(var/obj/item/device/radio/R as anything in radios) + for(var/obj/item/radio/R as anything in radios) var/turf/speaker = get_turf(R) if(speaker) for(var/turf/T in hear(R.canhear_range,speaker)) @@ -248,7 +248,7 @@ /mob/living/silicon/robot/can_hear_radio(var/list/hearturfs) var/turf/T = get_turf(src) - var/obj/item/device/radio/borg/R = hearturfs[T] // this should be an assoc list of turf-to-radio + var/obj/item/radio/borg/R = hearturfs[T] // this should be an assoc list of turf-to-radio // We heard it on our own radio? We use power for that. if(istype(R) && R.myborg == src) @@ -259,7 +259,7 @@ return R // radio, true, false, what's the difference /mob/observer/dead/can_hear_radio(var/list/hearturfs) - return is_preference_enabled(/datum/client_preference/ghost_radio) + return client?.prefs?.read_preference(/datum/preference/toggle/ghost_radio) //Uses dview to quickly return mobs and objects in view, @@ -313,10 +313,10 @@ if(M && M.stat == DEAD && remote_ghosts && !M.forbid_seeing_deadchat) switch(type) if(1) //Audio messages use ghost_ears - if(M.is_preference_enabled(/datum/client_preference/ghost_ears)) + if(M.client?.prefs?.read_preference(/datum/preference/toggle/ghost_ears)) mobs |= M if(2) //Visual messages use ghost_sight - if(M.is_preference_enabled(/datum/client_preference/ghost_sight)) + if(M.client?.prefs?.read_preference(/datum/preference/toggle/ghost_sight)) mobs |= M //For objects below the top level who still want to hear diff --git a/code/_helpers/global_lists.dm b/code/_helpers/global_lists.dm index 1d3f8ed8d4f..80abfae6522 100644 --- a/code/_helpers/global_lists.dm +++ b/code/_helpers/global_lists.dm @@ -52,8 +52,9 @@ GLOBAL_LIST_INIT(custom_species_bases, new) // Species that can be used for a Cu //Underwear var/datum/category_collection/underwear/global_underwear = new() - //Backpacks -var/global/list/backbaglist = list("Nothing", "Backpack", "Satchel", "Satchel Alt", "Messenger Bag", "Sports Bag", "Strapless Satchel") //VOREStation edit + //Customizables +GLOBAL_LIST_INIT(headsetlist, list("Standard","Bowman","Earbud")) +var/global/list/backbaglist = list("Nothing", "Backpack", "Satchel", "Satchel Alt", "Messenger Bag", "Sports Bag", "Strapless Satchel") var/global/list/pdachoicelist = list("Default", "Slim", "Old", "Rugged", "Holographic", "Wrist-Bound","Slider", "Vintage") var/global/list/exclude_jobs = list(/datum/job/ai,/datum/job/cyborg) @@ -293,7 +294,7 @@ GLOBAL_LIST_EMPTY(mannequins) // Custom species icon bases var/list/blacklisted_icons = list(SPECIES_CUSTOM,SPECIES_PROMETHEAN) //VOREStation Edit - var/list/whitelisted_icons = list(SPECIES_FENNEC,SPECIES_XENOHYBRID) //VOREStation Edit + var/list/whitelisted_icons = list(SPECIES_FENNEC,SPECIES_XENOHYBRID,SPECIES_VOX) //VOREStation Edit for(var/species_name in GLOB.playable_species) if(species_name in blacklisted_icons) continue diff --git a/code/_helpers/global_lists_vr.dm b/code/_helpers/global_lists_vr.dm index 61771ad8b06..56ca5ee8ced 100644 --- a/code/_helpers/global_lists_vr.dm +++ b/code/_helpers/global_lists_vr.dm @@ -42,14 +42,14 @@ var/global/list/vantag_choices_list = list( //Blacklist to exclude items from object ingestion. Digestion blacklist located in digest_act_vr.dm var/global/list/item_vore_blacklist = list( - /obj/item/weapon/hand_tele, - /obj/item/weapon/card/id/gold/captain/spare, - /obj/item/weapon/gun, - /obj/item/weapon/pinpointer, + /obj/item/hand_tele, + /obj/item/card/id/gold/captain/spare, + /obj/item/gun, + /obj/item/pinpointer, /obj/item/clothing/shoes/magboots, /obj/item/areaeditor/blueprints, /obj/item/clothing/head/helmet/space, - /obj/item/weapon/disk/nuclear, + /obj/item/disk/nuclear, /obj/item/clothing/suit/storage/hooded/wintercoat/roiz) //Classic Vore sounds @@ -154,94 +154,94 @@ var/global/list/global_vore_egg_types = list( "Spotted Pink") var/global/list/tf_vore_egg_types = list( - "Unathi" = /obj/item/weapon/storage/vore_egg/unathi, - "Tajara" = /obj/item/weapon/storage/vore_egg/tajaran, - "Akula" = /obj/item/weapon/storage/vore_egg/shark, - "Skrell" = /obj/item/weapon/storage/vore_egg/skrell, - "Sergal" = /obj/item/weapon/storage/vore_egg/sergal, - "Nevrean" = /obj/item/weapon/storage/vore_egg/nevrean, - "Human" = /obj/item/weapon/storage/vore_egg/human, - "Slime" = /obj/item/weapon/storage/vore_egg/slime, - "Egg" = /obj/item/weapon/storage/vore_egg, - "Xenochimera" = /obj/item/weapon/storage/vore_egg/scree, - "Xenomorph" = /obj/item/weapon/storage/vore_egg/xenomorph, - "Chocolate" = /obj/item/weapon/storage/vore_egg/chocolate, - "Boney" = /obj/item/weapon/storage/vore_egg/owlpellet, - "Slime Glob" = /obj/item/weapon/storage/vore_egg/slimeglob, - "Chicken" = /obj/item/weapon/storage/vore_egg/chicken, - "Synthetic" = /obj/item/weapon/storage/vore_egg/synthetic, - "Bluespace Floppy" = /obj/item/weapon/storage/vore_egg/floppy, - "Bluespace Compressed File" = /obj/item/weapon/storage/vore_egg/file, - "Bluespace CD" = /obj/item/weapon/storage/vore_egg/cd, - "Escape Pod" = /obj/item/weapon/storage/vore_egg/escapepod, - "Cooking Error" = /obj/item/weapon/storage/vore_egg/badrecipe, - "Web Cocoon" = /obj/item/weapon/storage/vore_egg/cocoon, - "Honeycomb" = /obj/item/weapon/storage/vore_egg/honeycomb, - "Bug Cocoon" = /obj/item/weapon/storage/vore_egg/bugcocoon, - "Rock" = /obj/item/weapon/storage/vore_egg/rock, - "Yellow" = /obj/item/weapon/storage/vore_egg/yellow, - "Blue" = /obj/item/weapon/storage/vore_egg/blue, - "Green" = /obj/item/weapon/storage/vore_egg/green, - "Orange" = /obj/item/weapon/storage/vore_egg/orange, - "Purple" = /obj/item/weapon/storage/vore_egg/purple, - "Red" = /obj/item/weapon/storage/vore_egg/red, - "Rainbow" = /obj/item/weapon/storage/vore_egg/rainbow, - "Spotted Pink" = /obj/item/weapon/storage/vore_egg/pinkspots) + "Unathi" = /obj/item/storage/vore_egg/unathi, + "Tajara" = /obj/item/storage/vore_egg/tajaran, + "Akula" = /obj/item/storage/vore_egg/shark, + "Skrell" = /obj/item/storage/vore_egg/skrell, + "Sergal" = /obj/item/storage/vore_egg/sergal, + "Nevrean" = /obj/item/storage/vore_egg/nevrean, + "Human" = /obj/item/storage/vore_egg/human, + "Slime" = /obj/item/storage/vore_egg/slime, + "Egg" = /obj/item/storage/vore_egg, + "Xenochimera" = /obj/item/storage/vore_egg/scree, + "Xenomorph" = /obj/item/storage/vore_egg/xenomorph, + "Chocolate" = /obj/item/storage/vore_egg/chocolate, + "Boney" = /obj/item/storage/vore_egg/owlpellet, + "Slime Glob" = /obj/item/storage/vore_egg/slimeglob, + "Chicken" = /obj/item/storage/vore_egg/chicken, + "Synthetic" = /obj/item/storage/vore_egg/synthetic, + "Bluespace Floppy" = /obj/item/storage/vore_egg/floppy, + "Bluespace Compressed File" = /obj/item/storage/vore_egg/file, + "Bluespace CD" = /obj/item/storage/vore_egg/cd, + "Escape Pod" = /obj/item/storage/vore_egg/escapepod, + "Cooking Error" = /obj/item/storage/vore_egg/badrecipe, + "Web Cocoon" = /obj/item/storage/vore_egg/cocoon, + "Honeycomb" = /obj/item/storage/vore_egg/honeycomb, + "Bug Cocoon" = /obj/item/storage/vore_egg/bugcocoon, + "Rock" = /obj/item/storage/vore_egg/rock, + "Yellow" = /obj/item/storage/vore_egg/yellow, + "Blue" = /obj/item/storage/vore_egg/blue, + "Green" = /obj/item/storage/vore_egg/green, + "Orange" = /obj/item/storage/vore_egg/orange, + "Purple" = /obj/item/storage/vore_egg/purple, + "Red" = /obj/item/storage/vore_egg/red, + "Rainbow" = /obj/item/storage/vore_egg/rainbow, + "Spotted Pink" = /obj/item/storage/vore_egg/pinkspots) var/global/list/edible_trash = list(/obj/item/broken_device, /obj/item/clothing/accessory/collar, - /obj/item/device/communicator, + /obj/item/communicator, /obj/item/clothing/mask, /obj/item/clothing/glasses, /obj/item/clothing/gloves, /obj/item/clothing/head, /obj/item/clothing/shoes, - /obj/item/device/aicard, - /obj/item/device/flashlight, - /obj/item/device/mmi/digital/posibrain, - /obj/item/device/paicard, - /obj/item/device/pda, - /obj/item/device/radio/headset, + /obj/item/aicard, + /obj/item/flashlight, + /obj/item/mmi/digital/posibrain, + /obj/item/paicard, + /obj/item/pda, + /obj/item/radio/headset, /obj/item/inflatable/torn, /obj/item/organ, /obj/item/stack/material/cardboard, /obj/item/toy, /obj/item/trash, - /obj/item/weapon/digestion_remains, - /obj/item/weapon/bananapeel, - /obj/item/weapon/book, - /obj/item/weapon/bone, - /obj/item/weapon/broken_bottle, - /obj/item/weapon/card/emag_broken, + /obj/item/digestion_remains, + /obj/item/bananapeel, + /obj/item/book, + /obj/item/bone, + /obj/item/broken_bottle, + /obj/item/card/emag_broken, /obj/item/trash/cigbutt, - /obj/item/weapon/circuitboard/broken, - /obj/item/weapon/clipboard, - /obj/item/weapon/corncob, - /obj/item/weapon/dice, - /obj/item/weapon/flame, - /obj/item/weapon/light, - /obj/item/weapon/lipstick, - /obj/item/weapon/material/shard, - /obj/item/weapon/newspaper, - /obj/item/weapon/paper, - /obj/item/weapon/paperplane, - /obj/item/weapon/pen, - /obj/item/weapon/photo, - /obj/item/weapon/reagent_containers/food, - /obj/item/weapon/reagent_containers/glass/rag, - /obj/item/weapon/soap, - /obj/item/weapon/spacecash, - /obj/item/weapon/storage/box/khcrystal, - /obj/item/weapon/storage/box/matches, - /obj/item/weapon/storage/box/wings, - /obj/item/weapon/storage/fancy/candle_box, - /obj/item/weapon/storage/fancy/cigarettes, - /obj/item/weapon/storage/fancy/crayons, - /obj/item/weapon/storage/fancy/egg_box, - /obj/item/weapon/storage/wallet, - /obj/item/weapon/storage/vore_egg, - /obj/item/weapon/bikehorn/tinytether, - /obj/item/weapon/entrepreneur, + /obj/item/circuitboard/broken, + /obj/item/clipboard, + /obj/item/corncob, + /obj/item/dice, + /obj/item/flame, + /obj/item/light, + /obj/item/lipstick, + /obj/item/material/shard, + /obj/item/newspaper, + /obj/item/paper, + /obj/item/paperplane, + /obj/item/pen, + /obj/item/photo, + /obj/item/reagent_containers/food, + /obj/item/reagent_containers/glass/rag, + /obj/item/soap, + /obj/item/spacecash, + /obj/item/storage/box/khcrystal, + /obj/item/storage/box/matches, + /obj/item/storage/box/wings, + /obj/item/storage/fancy/candle_box, + /obj/item/storage/fancy/cigarettes, + /obj/item/storage/fancy/crayons, + /obj/item/storage/fancy/egg_box, + /obj/item/storage/wallet, + /obj/item/storage/vore_egg, + /obj/item/bikehorn/tinytether, + /obj/item/entrepreneur, /obj/item/capture_crystal, /obj/item/roulette_ball, /obj/item/pizzabox @@ -511,16 +511,16 @@ var/global/list/remainless_species = list(SPECIES_PROMETHEAN, SPECIES_SHADEKIN) //Shadefluffers just poof away /var/global/list/alt_titles_with_icons = list( - "Virologist", - "Apprentice Engineer", - "Medical Intern", - "Research Intern", - "Security Cadet", - "Jr. Cargo Tech", - "Jr. Explorer", // YW EDIT - "Server", - "Electrician", - "Barista") + JOB_ALT_VIROLOGIST, + JOB_ALT_APPRENTICE_ENGINEER, + JOB_ALT_MEDICAL_INTERN, + JOB_ALT_RESEARCH_INTERN, + JOB_ALT_SECURITY_CADET, + JOB_ALT_JR_CARGO_TECH, + JOB_ALT_JR_EXPLORER_TECH, + JOB_ALT_SERVER, + JOB_ALT_ELECTRICIAN, + JOB_ALT_BARISTA) /var/global/list/existing_solargrubs = list() diff --git a/code/_helpers/icons.dm b/code/_helpers/icons.dm index a81c09b314f..ae731264726 100644 --- a/code/_helpers/icons.dm +++ b/code/_helpers/icons.dm @@ -97,203 +97,205 @@ // Ported from /tg/station // Creates a single icon from a given /atom or /image. Only the first argument is required. -/proc/getFlatIcon(image/A, defdir, deficon, defstate, defblend, start = TRUE, no_anim = FALSE) - //Define... defines. +// appearance_flags indicates whether appearance_flags should be respected (at the cost of about 10-20% perf) +/proc/getFlatIcon(image/appearance, defdir, deficon, defstate, defblend, start = TRUE, no_anim = FALSE, force_south = FALSE, appearance_flags = FALSE) + // Loop through the underlays, then overlays, sorting them into the layers list + #define PROCESS_OVERLAYS_OR_UNDERLAYS(flat, process, base_layer) \ + for (var/i in 1 to process.len) { \ + var/image/current = process[i]; \ + if (!current) { \ + continue; \ + } \ + if (current.plane != FLOAT_PLANE && current.plane != appearance.plane) { \ + continue; \ + } \ + var/current_layer = current.layer; \ + if (current_layer < 0) { \ + if (current_layer <= -1000) { \ + return flat; \ + } \ + current_layer = base_layer + appearance.layer + current_layer / 1000; \ + } \ + for (var/index_to_compare_to in 1 to layers.len) { \ + var/compare_to = layers[index_to_compare_to]; \ + if (current_layer < layers[compare_to]) { \ + layers.Insert(index_to_compare_to, current); \ + break; \ + } \ + } \ + layers[current] = current_layer; \ + } + var/static/icon/flat_template = icon('icons/effects/effects.dmi', "nothing") - #define BLANK icon(flat_template) - #define SET_SELF(SETVAR) do { \ - var/icon/SELF_ICON=icon(icon(curicon, curstate, base_icon_dir),"",SOUTH,no_anim?1:null); \ - if(A.alpha<255) { \ - SELF_ICON.Blend(rgb(255,255,255,A.alpha),ICON_MULTIPLY);\ - } \ - if(A.color) { \ - if(islist(A.color)){ \ - SELF_ICON.MapColors(arglist(A.color))} \ - else{ \ - SELF_ICON.Blend(A.color,ICON_MULTIPLY)} \ - } \ - ##SETVAR=SELF_ICON;\ - } while (0) - #define INDEX_X_LOW 1 - #define INDEX_X_HIGH 2 - #define INDEX_Y_LOW 3 - #define INDEX_Y_HIGH 4 - - #define flatX1 flat_size[INDEX_X_LOW] - #define flatX2 flat_size[INDEX_X_HIGH] - #define flatY1 flat_size[INDEX_Y_LOW] - #define flatY2 flat_size[INDEX_Y_HIGH] - #define addX1 add_size[INDEX_X_LOW] - #define addX2 add_size[INDEX_X_HIGH] - #define addY1 add_size[INDEX_Y_LOW] - #define addY2 add_size[INDEX_Y_HIGH] - - if(!A || A.alpha <= 0) - return BLANK - - var/noIcon = FALSE + if(!appearance || appearance.alpha <= 0) + return icon(flat_template) if(start) if(!defdir) - defdir = A.dir + defdir = appearance.dir if(!deficon) - deficon = A.icon + deficon = appearance.icon if(!defstate) - defstate = A.icon_state + defstate = appearance.icon_state if(!defblend) - defblend = A.blend_mode + defblend = appearance.blend_mode + + var/curicon = appearance.icon || deficon + var/curstate = appearance.icon_state || defstate + var/curdir = (!appearance.dir || appearance.dir == SOUTH) ? defdir : appearance.dir + + if(force_south) + curdir = SOUTH - var/curicon = A.icon || deficon - var/curstate = A.icon_state || defstate + var/render_icon = curicon - if(!((noIcon = (!curicon)))) - var/curstates = cached_icon_states(curicon) + if (render_icon) + var/curstates = icon_states(curicon) if(!(curstate in curstates)) - if("" in curstates) + if ("" in curstates) curstate = "" else - noIcon = TRUE // Do not render this object. + render_icon = FALSE - var/curdir - var/base_icon_dir //We'll use this to get the icon state to display if not null BUT NOT pass it to overlays as the dir we have + var/base_icon_dir //We'll use this to get the icon state to display if not null BUT NOT pass it to overlays as the dir we have - // Use the requested dir or the atom's current dir - curdir = defdir || A.dir - - //Try to remove/optimize this section ASAP, CPU hog. //Slightly mitigated by implementing caching using cached_icon_states + //Try to remove/optimize this section ASAP, CPU hog. //Determines if there's directionals. - if(!noIcon && curdir != SOUTH) - var/exist = FALSE - var/static/list/checkdirs = list(NORTH, EAST, WEST) - for(var/i in checkdirs) //Not using GLOB for a reason. - if(length(cached_icon_states(icon(curicon, curstate, i)))) - exist = TRUE - break - if(!exist) + if(render_icon && curdir != SOUTH) + if ( + !length(icon_states(icon(curicon, curstate, NORTH))) \ + && !length(icon_states(icon(curicon, curstate, EAST))) \ + && !length(icon_states(icon(curicon, curstate, WEST))) \ + ) base_icon_dir = SOUTH - // if(!base_icon_dir) base_icon_dir = curdir - ASSERT(!BLEND_DEFAULT) //I might just be stupid but lets make sure this define is 0. - - var/curblend = A.blend_mode || defblend + var/curblend = appearance.blend_mode || defblend - if(A.overlays.len || A.underlays.len) - var/icon/flat = BLANK + if(appearance.overlays.len || appearance.underlays.len) + var/icon/flat = icon(flat_template) // Layers will be a sorted list of icons/overlays, based on the order in which they are displayed var/list/layers = list() var/image/copy // Add the atom's icon itself, without pixel_x/y offsets. - if(!noIcon) - copy = image(icon=curicon, icon_state=curstate, layer=A.layer, dir=base_icon_dir) - copy.color = A.color - copy.alpha = A.alpha + if(render_icon) + copy = image(icon=curicon, icon_state=curstate, layer=appearance.layer, dir=base_icon_dir) + copy.color = appearance.color + copy.alpha = appearance.alpha copy.blend_mode = curblend - layers[copy] = A.layer - - // Loop through the underlays, then overlays, sorting them into the layers list - for(var/process_set in 0 to 1) - var/list/process = process_set? A.overlays : A.underlays - for(var/i in 1 to process.len) - var/image/current = process[i] - if(!current) - continue - if(current.plane != FLOAT_PLANE && current.plane != A.plane) - continue - var/current_layer = current.layer - if(current_layer < 0) - //if(current_layer <= -1000) - //return flat - current_layer = process_set + A.layer + current_layer / 1000 - - for(var/p in 1 to layers.len) - var/image/cmp = layers[p] - if(current_layer < layers[cmp]) - layers.Insert(p, current) - break - layers[current] = current_layer - - //sortTim(layers, GLOBAL_PROC_REF(cmp_image_layer_asc)) + layers[copy] = appearance.layer + + PROCESS_OVERLAYS_OR_UNDERLAYS(flat, appearance.underlays, 0) + PROCESS_OVERLAYS_OR_UNDERLAYS(flat, appearance.overlays, 1) var/icon/add // Icon of overlay being added - // Current dimensions of flattened icon - var/list/flat_size = list(1, flat.Width(), 1, flat.Height()) - // Dimensions of overlay being added - var/list/add_size[4] + var/flatX1 = 1 + var/flatX2 = flat.Width() + var/flatY1 = 1 + var/flatY2 = flat.Height() + + var/addX1 = 0 + var/addX2 = 0 + var/addY1 = 0 + var/addY2 = 0 - for(var/V in layers) - var/image/I = V - if(I.alpha == 0) + for(var/image/layer_image as anything in layers) + if(layer_image.alpha == 0) continue - if(I == copy) // 'I' is an /image based on the object being flattened. + // variables only relevant when accounting for appearance_flags: + var/apply_color = TRUE + var/apply_alpha = TRUE + + if(layer_image == copy) // 'layer_image' is an /image based on the object being flattened. curblend = BLEND_OVERLAY - add = icon(I.icon, I.icon_state, base_icon_dir) + add = icon(layer_image.icon, layer_image.icon_state, base_icon_dir) else // 'I' is an appearance object. - add = getFlatIcon(image(I), curdir, curicon, curstate, curblend, FALSE, no_anim) + var/image/layer_as_image = image(layer_image) + if(appearance_flags) + if(layer_as_image.appearance_flags & RESET_COLOR) + apply_color = FALSE + if(layer_as_image.appearance_flags & RESET_ALPHA) + apply_alpha = FALSE + add = getFlatIcon(layer_as_image, curdir, curicon, curstate, curblend, FALSE, no_anim, force_south, appearance_flags) if(!add) continue + // Find the new dimensions of the flat icon to fit the added overlay - add_size = list( - min(flatX1, I.pixel_x+1), - max(flatX2, I.pixel_x+add.Width()), - min(flatY1, I.pixel_y+1), - max(flatY2, I.pixel_y+add.Height()) + addX1 = min(flatX1, layer_image.pixel_x + 1) + addX2 = max(flatX2, layer_image.pixel_x + add.Width()) + addY1 = min(flatY1, layer_image.pixel_y + 1) + addY2 = max(flatY2, layer_image.pixel_y + add.Height()) + + if ( + addX1 != flatX1 \ + || addX2 != flatX2 \ + || addY1 != flatY1 \ + || addY2 != flatY2 \ ) - - if(flat_size ~! add_size) // Resize the flattened icon so the new icon fits flat.Crop( - addX1 - flatX1 + 1, - addY1 - flatY1 + 1, - addX2 - flatX1 + 1, - addY2 - flatY1 + 1 + addX1 - flatX1 + 1, + addY1 - flatY1 + 1, + addX2 - flatX1 + 1, + addY2 - flatY1 + 1 ) - flat_size = add_size.Copy() + + flatX1 = addX1 + flatX2 = addX2 + flatY1 = addY1 + flatY2 = addY2 + + if(appearance_flags) + // apply parent's color/alpha to the added layers if the layer didn't opt + if(apply_color && appearance.color) + if(islist(appearance.color)) + add.MapColors(arglist(appearance.color)) + else + add.Blend(appearance.color, ICON_MULTIPLY) + + if(apply_alpha && appearance.alpha < 255) + add.Blend(rgb(255, 255, 255, appearance.alpha), ICON_MULTIPLY) // Blend the overlay into the flattened icon - flat.Blend(add, blendMode2iconMode(curblend), I.pixel_x + 2 - flatX1, I.pixel_y + 2 - flatY1) + flat.Blend(add, blendMode2iconMode(curblend), layer_image.pixel_x + 2 - flatX1, layer_image.pixel_y + 2 - flatY1) - if(A.color) - if(islist(A.color)) - flat.MapColors(arglist(A.color)) - else - flat.Blend(A.color, ICON_MULTIPLY) + if(!appearance_flags) + // If we didn't apply parent colors individually per layer respecting appearance_flags, then do it just the one time now + if(appearance.color) + if(islist(appearance.color)) + flat.MapColors(arglist(appearance.color)) + else + flat.Blend(appearance.color, ICON_MULTIPLY) - if(A.alpha < 255) - flat.Blend(rgb(255, 255, 255, A.alpha), ICON_MULTIPLY) + if(appearance.alpha < 255) + flat.Blend(rgb(255, 255, 255, appearance.alpha), ICON_MULTIPLY) if(no_anim) //Clean up repeated frames var/icon/cleaned = new /icon() cleaned.Insert(flat, "", SOUTH, 1, 0) - . = cleaned + return cleaned else - . = icon(flat, "", SOUTH) - else //There's no overlays. - if(!noIcon) - SET_SELF(.) - - //Clear defines - #undef flatX1 - #undef flatX2 - #undef flatY1 - #undef flatY2 - #undef addX1 - #undef addX2 - #undef addY1 - #undef addY2 - - #undef INDEX_X_LOW - #undef INDEX_X_HIGH - #undef INDEX_Y_LOW - #undef INDEX_Y_HIGH - - #undef BLANK - #undef SET_SELF + return icon(flat, "", SOUTH) + else if (render_icon) // There's no overlays. + var/icon/final_icon = icon(icon(curicon, curstate, base_icon_dir), "", SOUTH, no_anim ? TRUE : null) + + if (appearance.alpha < 255) + final_icon.Blend(rgb(255,255,255, appearance.alpha), ICON_MULTIPLY) + + if (appearance.color) + if (islist(appearance.color)) + final_icon.MapColors(arglist(appearance.color)) + else + final_icon.Blend(appearance.color, ICON_MULTIPLY) + + return final_icon + + #undef PROCESS_OVERLAYS_OR_UNDERLAYS /proc/getIconMask(atom/A)//By yours truly. Creates a dynamic mask for a mob/whatever. /N var/icon/alpha_mask = new(A.icon,A.icon_state)//So we want the default icon and icon state of A. @@ -676,7 +678,7 @@ GLOBAL_LIST_EMPTY(cached_examine_icons) icon_state = thing.icon_state //Despite casting to atom, this code path supports mutable appearances, so let's be nice to them //if(isnull(icon_state) || (isatom(thing) && thing.flags_1 & HTML_USE_INITAL_ICON_1)) - if(isnull(icon_state) || isatom(thing)) + if(isnull(icon_state) && isatom(thing)) icon_state = initial(thing.icon_state) if (isnull(dir)) dir = initial(thing.dir) @@ -745,7 +747,7 @@ GLOBAL_LIST_EMPTY(cached_examine_icons) return "" //Costlier version of icon2html() that uses getFlatIcon() to account for overlays, underlays, etc. Use with extreme moderation, ESPECIALLY on mobs. -/proc/costly_icon2html(thing, target, sourceonly = FALSE) +/proc/costly_icon2html(thing, target, sourceonly = FALSE, force_south = FALSE) if (!thing) return //if(SSlag_switch.measures[DISABLE_USR_ICON2HTML] && usr && !HAS_TRAIT(usr, TRAIT_BYPASS_MEASURES)) @@ -754,5 +756,5 @@ GLOBAL_LIST_EMPTY(cached_examine_icons) if (isicon(thing)) return icon2html(thing, target) - var/icon/I = getFlatIcon(thing) + var/icon/I = getFlatIcon(thing, force_south = force_south) return icon2html(I, target, sourceonly = sourceonly) diff --git a/code/_helpers/logging.dm b/code/_helpers/logging.dm index d5e9bd841c7..d016b7111dc 100644 --- a/code/_helpers/logging.dm +++ b/code/_helpers/logging.dm @@ -27,131 +27,131 @@ /proc/log_admin(text) admin_log.Add(text) - if (config.log_admin) + if (CONFIG_GET(flag/log_admin)) WRITE_LOG(diary, "ADMIN: [text]") /proc/log_adminpm(text, client/source, client/dest) admin_log.Add(text) - if (config.log_admin) + if (CONFIG_GET(flag/log_admin)) WRITE_LOG(diary, "ADMINPM: [key_name(source)]->[key_name(dest)]: [html_decode(text)]") /proc/log_pray(text, client/source) admin_log.Add(text) - if (config.log_admin) + if (CONFIG_GET(flag/log_admin)) WRITE_LOG(diary, "PRAY: [key_name(source)]: [text]") /proc/log_debug(text) - if (config.log_debug) + if (CONFIG_GET(flag/log_debug)) WRITE_LOG(debug_log, "DEBUG: [sanitize(text)]") for(var/client/C in GLOB.admins) - if(C.is_preference_enabled(/datum/client_preference/debug/show_debug_logs)) + if(C.prefs?.read_preference(/datum/preference/toggle/show_debug_logs)) to_chat(C, type = MESSAGE_TYPE_DEBUG, - html = "DEBUG: [text]") + html = span_filter_debuglogs("DEBUG: [text]")) /proc/log_game(text) - if (config.log_game) + if (CONFIG_GET(flag/log_game)) WRITE_LOG(diary, "GAME: [text]") /proc/log_vote(text) - if (config.log_vote) + if (CONFIG_GET(flag/log_vote)) WRITE_LOG(diary, "VOTE: [text]") /proc/log_access_in(client/new_client) - if (config.log_access) + if (CONFIG_GET(flag/log_access)) var/message = "[key_name(new_client)] - IP:[new_client.address] - CID:[new_client.computer_id] - BYOND v[new_client.byond_version]" WRITE_LOG(diary, "ACCESS IN: [message]") //VOREStation Edit /proc/log_access_out(mob/last_mob) - if (config.log_access) + if (CONFIG_GET(flag/log_access)) var/message = "[key_name(last_mob)] - IP:[last_mob.lastKnownIP] - CID:Logged Out - BYOND Logged Out" WRITE_LOG(diary, "ACCESS OUT: [message]") /proc/log_say(text, mob/speaker) - if (config.log_say) + if (CONFIG_GET(flag/log_say)) WRITE_LOG(diary, "SAY: [speaker.simple_info_line()]: [html_decode(text)]") //Log the message to in-game dialogue logs, as well. if(speaker.client) - speaker.dialogue_log += "([time_stamp()]) ([speaker]/[speaker.client]) SAY: - [text]" - GLOB.round_text_log += "([time_stamp()]) ([speaker]/[speaker.client]) SAY: - [text]" + speaker.dialogue_log += span_bold("([time_stamp()])") + " (" + span_bold("[speaker]/[speaker.client]") + ") " + span_underline("SAY:") + " - " + span_green("[text]") + GLOB.round_text_log += span_bold("([time_stamp()])") + " (" + span_bold("[speaker]/[speaker.client]") + ") " + span_underline("SAY:") + " - " + span_green("[text]") /proc/log_ooc(text, client/user) - if (config.log_ooc) + if (CONFIG_GET(flag/log_ooc)) WRITE_LOG(diary, "OOC: [user.simple_info_line()]: [html_decode(text)]") - GLOB.round_text_log += "([time_stamp()]) ([user]) OOC: - [text]" + GLOB.round_text_log += span_bold("([time_stamp()])") + " (" + span_bold("[user]") + ") " + span_underline("OOC:") + " - " + span_blue(span_bold("[text]")) /proc/log_aooc(text, client/user) - if (config.log_ooc) + if (CONFIG_GET(flag/log_ooc)) WRITE_LOG(diary, "AOOC: [user.simple_info_line()]: [html_decode(text)]") - GLOB.round_text_log += "([time_stamp()]) ([user]) AOOC: - [text]" + GLOB.round_text_log += span_bold("([time_stamp()])") + " (" + span_bold("[user]") + ") " + span_underline("AOOC:") + " - " + span_red(span_bold("[text]")) /proc/log_looc(text, client/user) - if (config.log_ooc) + if (CONFIG_GET(flag/log_ooc)) WRITE_LOG(diary, "LOOC: [user.simple_info_line()]: [html_decode(text)]") - GLOB.round_text_log += "([time_stamp()]) ([user]) LOOC: - [text]" + GLOB.round_text_log += span_bold("([time_stamp()])") + " (" + span_bold("[user]") + ") " + span_underline("LOOC:") + " - " + span_orange(span_bold("[text]")) /proc/log_whisper(text, mob/speaker) - if (config.log_whisper) + if (CONFIG_GET(flag/log_whisper)) WRITE_LOG(diary, "WHISPER: [speaker.simple_info_line()]: [html_decode(text)]") if(speaker.client) - speaker.dialogue_log += "([time_stamp()]) ([speaker]/[speaker.client]) SAY: - [text]" - GLOB.round_text_log += "([time_stamp()]) ([speaker]/[speaker.client]) SAY: - [text]" + speaker.dialogue_log += span_bold("([time_stamp()])") + " (" + span_bold("[speaker]/[speaker.client]") + ") " + span_underline("SAY:") + " - " + span_gray(span_italics("[text]")) + GLOB.round_text_log += span_bold("([time_stamp()])") + " (" + span_bold("[speaker]/[speaker.client]") + ") " + span_underline("SAY:") + " - " + span_gray(span_italics("[text]")) /proc/log_emote(text, mob/speaker) - if (config.log_emote) + if (CONFIG_GET(flag/log_emote)) WRITE_LOG(diary, "EMOTE: [speaker.simple_info_line()]: [html_decode(text)]") if(speaker.client) - speaker.dialogue_log += "([time_stamp()]) ([speaker]/[speaker.client]) EMOTE: - [text]" - GLOB.round_text_log += "([time_stamp()]) ([speaker]/[speaker.client]) EMOTE: - [text]" + speaker.dialogue_log += span_bold("([time_stamp()])") + " (" + span_bold("[speaker]/[speaker.client]") + ") " + span_underline("EMOTE:") + " - " + span_pink("[text]") + GLOB.round_text_log += span_bold("([time_stamp()])") + " (" + span_bold("[speaker]/[speaker.client]") + ") " + span_underline("EMOTE:") + " - " + span_pink("[text]") /proc/log_attack(attacker, defender, message) - if (config.log_attack) + if (CONFIG_GET(flag/log_attack)) WRITE_LOG(diary, "ATTACK: [attacker] against [defender]: [message]") /proc/log_adminsay(text, mob/speaker) - if (config.log_adminchat) + if (CONFIG_GET(flag/log_adminchat)) WRITE_LOG(diary, "ADMINSAY: [speaker.simple_info_line()]: [html_decode(text)]") /proc/log_modsay(text, mob/speaker) - if (config.log_adminchat) + if (CONFIG_GET(flag/log_adminchat)) WRITE_LOG(diary, "MODSAY: [speaker.simple_info_line()]: [html_decode(text)]") /proc/log_eventsay(text, mob/speaker) - if (config.log_adminchat) + if (CONFIG_GET(flag/log_adminchat)) WRITE_LOG(diary, "EVENTSAY: [speaker.simple_info_line()]: [html_decode(text)]") /proc/log_ghostsay(text, mob/speaker) - if (config.log_say) + if (CONFIG_GET(flag/log_say)) WRITE_LOG(diary, "DEADCHAT: [speaker.simple_info_line()]: [html_decode(text)]") - speaker.dialogue_log += "([time_stamp()]) ([speaker]/[speaker.client]) DEADSAY: - [text]" - GLOB.round_text_log += "([time_stamp()]) ([speaker]/[speaker.client]) DEADSAY: - [text]" + speaker.dialogue_log += span_bold("([time_stamp()])") + " (" + span_bold("[speaker]/[speaker.client]") + ") " + span_underline("DEADSAY:") + " - " + span_green("[text]") + GLOB.round_text_log += span_small(span_purple(span_bold("([time_stamp()])") + " (" + span_bold("[speaker]/[speaker.client]") + ") " + span_underline("DEADSAY:") + " - [text]")) /proc/log_ghostemote(text, mob/speaker) - if (config.log_emote) + if (CONFIG_GET(flag/log_emote)) WRITE_LOG(diary, "DEADEMOTE: [speaker.simple_info_line()]: [html_decode(text)]") /proc/log_adminwarn(text) - if (config.log_adminwarn) + if (CONFIG_GET(flag/log_adminwarn)) WRITE_LOG(diary, "ADMINWARN: [html_decode(text)]") /proc/log_pda(text, mob/speaker) - if (config.log_pda) + if (CONFIG_GET(flag/log_pda)) WRITE_LOG(diary, "PDA: [speaker.simple_info_line()]: [html_decode(text)]") - speaker.dialogue_log += "([time_stamp()]) ([speaker]/[speaker.client]) MSG: - [text]" - GLOB.round_text_log += "([time_stamp()]) ([speaker]/[speaker.client]) MSG: - [text]" + speaker.dialogue_log += span_bold("([time_stamp()])") + " (" + span_bold("[speaker]/[speaker.client]") + ") " + span_underline("MSG:") + " - " + span_darkgreen("[text]") + GLOB.round_text_log += span_bold("([time_stamp()])") + " (" + span_bold("[speaker]/[speaker.client]") + ") " + span_underline("MSG:") + " - " + span_darkgreen("[text]") /proc/log_to_dd(text) to_world_log(text) //this comes before the config check because it can't possibly runtime - if(config.log_world_output) + if(CONFIG_GET(flag/log_world_output)) WRITE_LOG(diary, "DD_OUTPUT: [text]") /proc/log_error(text) @@ -178,7 +178,7 @@ WRITE_LOG(diary, "ASSET: [text]") /proc/report_progress(var/progress_message) - admin_notice("[progress_message]", R_DEBUG) + admin_notice(span_boldannounce("[progress_message]"), R_DEBUG) to_world_log(progress_message) //pretty print a direction bitflag, can be useful for debugging. diff --git a/code/_helpers/logging/debug.dm b/code/_helpers/logging/debug.dm new file mode 100644 index 00000000000..9a847ee61b0 --- /dev/null +++ b/code/_helpers/logging/debug.dm @@ -0,0 +1,11 @@ +/// Logging for config errors +/// Rarely gets called; just here in case the config breaks. +/proc/log_config(text, list/data) + var/entry = "CONFIG: " + + entry += text + entry += " | DATA: " + entry += data + + WRITE_LOG(diary, entry) + SEND_TEXT(world.log, text) diff --git a/code/_helpers/logging_vr.dm b/code/_helpers/logging_vr.dm index aa117125dc7..b0bf8d07e7c 100644 --- a/code/_helpers/logging_vr.dm +++ b/code/_helpers/logging_vr.dm @@ -1,11 +1,11 @@ /proc/log_nsay(text, inside, mob/speaker) - if (config.log_say) + if (CONFIG_GET(flag/log_say)) WRITE_LOG(diary, "NSAY (NIF:[inside]): [speaker.simple_info_line()]: [html_decode(text)]") /proc/log_nme(text, inside, mob/speaker) - if (config.log_emote) + if (CONFIG_GET(flag/log_emote)) WRITE_LOG(diary, "NME (NIF:[inside]): [speaker.simple_info_line()]: [html_decode(text)]") /proc/log_subtle(text, mob/speaker) - if (config.log_emote) + if (CONFIG_GET(flag/log_emote)) WRITE_LOG(diary, "SUBTLE: [speaker.simple_info_line()]: [html_decode(text)]") diff --git a/code/_helpers/mobs.dm b/code/_helpers/mobs.dm index dd2dde46825..e78123fe64e 100644 --- a/code/_helpers/mobs.dm +++ b/code/_helpers/mobs.dm @@ -136,7 +136,7 @@ Proc for attack log creation, because really why not return (thing in R.module.modules) /proc/get_exposed_defense_zone(var/atom/movable/target) - var/obj/item/weapon/grab/G = locate() in target + var/obj/item/grab/G = locate() in target if(G && G.state >= GRAB_NECK) //works because mobs are currently not allowed to upgrade to NECK if they are grabbing two people. return pick(BP_HEAD, BP_L_HAND, BP_R_HAND, BP_L_FOOT, BP_R_FOOT, BP_L_ARM, BP_R_ARM, BP_L_LEG, BP_R_LEG) else @@ -148,10 +148,10 @@ Proc for attack log creation, because really why not if(!time) return TRUE //Done! if(user.status_flags & DOING_TASK) - to_chat(user, "You're in the middle of doing something else already.") + to_chat(user, span_warning("You're in the middle of doing something else already.")) return FALSE //Performing an exclusive do_after or do_mob already if(target?.flags & IS_BUSY) - to_chat(user, "Someone is already doing something with \the [target].") + to_chat(user, span_warning("Someone is already doing something with \the [target].")) return FALSE var/user_loc = user.loc var/target_loc = target.loc @@ -214,10 +214,10 @@ Proc for attack log creation, because really why not if(!delay) return TRUE //Okay. Done. if(user.status_flags & DOING_TASK) - to_chat(user, "You're in the middle of doing something else already.") + to_chat(user, span_warning("You're in the middle of doing something else already.")) return FALSE //Performing an exclusive do_after or do_mob already if(target?.flags & IS_BUSY) - to_chat(user, "Someone is already doing something with \the [target].") + to_chat(user, span_warning("Someone is already doing something with \the [target].")) return FALSE var/atom/target_loc = null @@ -317,7 +317,7 @@ Proc for attack log creation, because really why not cached_character_icons[cachekey] = . /proc/not_has_ooc_text(mob/user) - if (config.allow_Metadata && (!user.client?.prefs?.metadata || length(user.client.prefs.metadata) < 15)) - to_chat(user, "Please set informative OOC notes related to RP/ERP preferences. Set them using the 'OOC Notes' button on the 'General' tab in character setup.") + if (CONFIG_GET(flag/allow_metadata) && (!user.client?.prefs?.metadata || length(user.client.prefs.metadata) < 15)) + to_chat(user, span_warning("Please set informative OOC notes related to RP/ERP preferences. Set them using the 'OOC Notes' button on the 'General' tab in character setup.")) return TRUE return FALSE diff --git a/code/_helpers/nameof.dm b/code/_helpers/nameof.dm new file mode 100644 index 00000000000..5a2fd60e710 --- /dev/null +++ b/code/_helpers/nameof.dm @@ -0,0 +1,11 @@ +/** + * 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 + */ +#define NAMEOF_STATIC(datum, X) (nameof(type::##X)) diff --git a/code/_helpers/names.dm b/code/_helpers/names.dm index 12e6c46289f..12d2c08e86a 100644 --- a/code/_helpers/names.dm +++ b/code/_helpers/names.dm @@ -92,8 +92,8 @@ var/religion_name = null new_station_name += pick("13","XIII","Thirteen") - if (config && config.server_name) - world.name = "[config.server_name]: [name]" + if (config && CONFIG_GET(string/servername)) + world.name = "[CONFIG_GET(string/servername)]: [name]" else world.name = new_station_name @@ -104,8 +104,8 @@ var/religion_name = null using_map.station_name = name - if (config && config.server_name) - world.name = "[config.server_name]: [name]" + if (config && CONFIG_GET(string/servername)) + world.name = "[CONFIG_GET(string/servername)]: [name]" else world.name = name diff --git a/code/_helpers/sanitize_values.dm b/code/_helpers/sanitize_values.dm index c74176043c3..7cc687d7ce1 100644 --- a/code/_helpers/sanitize_values.dm +++ b/code/_helpers/sanitize_values.dm @@ -6,6 +6,13 @@ return number return default +/proc/sanitize_float(number, min=0, max=1, accuracy=1, default=0) + if(isnum(number)) + number = round(number, accuracy) + if(round(min, accuracy) <= number && number <= round(max, accuracy)) + return number + return default + // Checks if the given input is a valid list index; returns true/false and doesn't change anything. /proc/is_valid_index(input, list/given_list) if(!isnum(input)) diff --git a/code/_helpers/screen_objs.dm b/code/_helpers/screen_objs.dm new file mode 100644 index 00000000000..00f6bd41570 --- /dev/null +++ b/code/_helpers/screen_objs.dm @@ -0,0 +1,115 @@ +/// Takes a screen loc string in the format +/// "+-left-offset:+-pixel,+-bottom-offset:+-pixel" +/// Where the :pixel is optional, and returns +/// A list in the format (x_offset, y_offset) +/// We require context to get info out of screen locs that contain relative info, so NORTH, SOUTH, etc +/proc/screen_loc_to_offset(screen_loc, view) + if(!screen_loc) + return list(64, 64) + var/list/view_size = view_to_pixels(view) + var/x = 0 + var/y = 0 + // Time to parse for directional relative offsets + if(findtext(screen_loc, "EAST")) // If you're starting from the east, we start from the east too + x += view_size[1] + if(findtext(screen_loc, "WEST")) // HHHHHHHHHHHHHHHHHHHHHH WEST is technically a 1 tile offset from the start. Shoot me please + x += ICON_SIZE_X + if(findtext(screen_loc, "NORTH")) + y += view_size[2] + if(findtext(screen_loc, "SOUTH")) + y += ICON_SIZE_Y + + var/list/x_and_y = splittext(screen_loc, ",") + + var/list/x_pack = splittext(x_and_y[1], ":") + var/list/y_pack = splittext(x_and_y[2], ":") + + var/x_coord = x_pack[1] + var/y_coord = y_pack[1] + + if (findtext(x_coord, "CENTER")) + x += view_size[1] / 2 + + if (findtext(y_coord, "CENTER")) + y += view_size[2] / 2 + + x_coord = text2num(cut_relative_direction(x_coord)) + y_coord = text2num(cut_relative_direction(y_coord)) + + x += x_coord * ICON_SIZE_X + y += y_coord * ICON_SIZE_Y + + if(length(x_pack) > 1) + x += text2num(x_pack[2]) + if(length(y_pack) > 1) + y += text2num(y_pack[2]) + return list(x, y) + +/// Takes a list in the form (x_offset, y_offset) +/// And converts it to a screen loc string +/// Accepts an optional view string/size to force the screen_loc around, so it can't go out of scope +/proc/offset_to_screen_loc(x_offset, y_offset, view = null) + if(view) + var/list/view_bounds = view_to_pixels(view) + x_offset = clamp(x_offset, ICON_SIZE_X, view_bounds[1]) + y_offset = clamp(y_offset, ICON_SIZE_Y, view_bounds[2]) + + // Round with no argument is floor, so we get the non pixel offset here + var/x = round(x_offset / ICON_SIZE_X) + var/pixel_x = x_offset % ICON_SIZE_X + var/y = round(y_offset / ICON_SIZE_Y) + var/pixel_y = y_offset % ICON_SIZE_Y + + var/list/generated_loc = list() + generated_loc += "[x]" + if(pixel_x) + generated_loc += ":[pixel_x]" + generated_loc += ",[y]" + if(pixel_y) + generated_loc += ":[pixel_y]" + return jointext(generated_loc, "") + +/** + * Returns a valid location to place a screen object without overflowing the viewport + * + * * target: The target location as a purely number based screen_loc string "+-left-offset:+-pixel,+-bottom-offset:+-pixel" + * * target_offset: The amount we want to offset the target location by. We explictly don't care about direction here, we will try all 4 + * * view: The view variable of the client we're doing this for. We use this to get the size of the screen + * + * Returns a screen loc representing the valid location +**/ +/proc/get_valid_screen_location(target_loc, target_offset, view) + var/list/offsets = screen_loc_to_offset(target_loc) + var/base_x = offsets[1] + var/base_y = offsets[2] + + var/list/view_size = view_to_pixels(view) + + // Bias to the right, down, left, and then finally up + if(base_x + target_offset < view_size[1]) + return offset_to_screen_loc(base_x + target_offset, base_y, view) + if(base_y - target_offset > ICON_SIZE_Y) + return offset_to_screen_loc(base_x, base_y - target_offset, view) + if(base_x - target_offset > ICON_SIZE_X) + return offset_to_screen_loc(base_x - target_offset, base_y, view) + if(base_y + target_offset < view_size[2]) + return offset_to_screen_loc(base_x, base_y + target_offset, view) + stack_trace("You passed in a scren location {[target_loc]} and offset {[target_offset]} that can't be fit in the viewport Width {[view_size[1]]}, Height {[view_size[2]]}. what did you do lad") + return null // The fuck did you do lad + +/// Takes a screen_loc string and cut out any directions like NORTH or SOUTH +/proc/cut_relative_direction(fragment) + var/static/regex/regex = regex(@"([A-Z])\w+", "g") + return regex.Replace(fragment, "") + +/// Returns a screen_loc format for a tiling screen objects from start and end positions. Start should be bottom left corner, and end top right corner. +/proc/spanning_screen_loc(start_px, start_py, end_px, end_py) + var/starting_tile_x = round(start_px / ICON_SIZE_X) + start_px -= starting_tile_x * ICON_SIZE_X + var/starting_tile_y = round(start_py/ ICON_SIZE_Y) + start_py -= starting_tile_y * ICON_SIZE_Y + var/ending_tile_x = round(end_px / ICON_SIZE_X) + end_px -= ending_tile_x * ICON_SIZE_X + var/ending_tile_y = round(end_py / ICON_SIZE_Y) + end_py -= ending_tile_y * ICON_SIZE_Y + return "[starting_tile_x]:[start_px],[starting_tile_y]:[start_py] to [ending_tile_x]:[end_px],[ending_tile_y]:[end_py]" diff --git a/code/_helpers/text.dm b/code/_helpers/text.dm index 2ded9ae75ad..725335f267a 100644 --- a/code/_helpers/text.dm +++ b/code/_helpers/text.dm @@ -343,19 +343,20 @@ //The icon var could be local in the proc, but it's a waste of resources // to always create it and then throw it out. /var/icon/text_tag_icons = 'icons/chattags.dmi' -/var/list/text_tag_cache = list() +GLOBAL_LIST_EMPTY(text_tag_cache) + /proc/create_text_tag(var/tagname, var/tagdesc = tagname, var/client/C = null) - if(!(C && C.is_preference_enabled(/datum/client_preference/chat_tags))) + if(!(C && C.prefs?.read_preference(/datum/preference/toggle/chat_tags))) return tagdesc - if(!text_tag_cache[tagname]) - var/icon/tag = icon(text_tag_icons, tagname) - text_tag_cache[tagname] = tag + if(!GLOB.text_tag_cache[tagname]) + var/datum/asset/spritesheet/chatassets = get_asset_datum(/datum/asset/spritesheet/chat) + GLOB.text_tag_cache[tagname] = chatassets.icon_tag(tagname) if(!C.tgui_panel.is_ready() || C.tgui_panel.oldchat) return "[tagdesc]" - return icon2html(text_tag_cache[tagname], C, extra_classes = "text_tag") + return GLOB.text_tag_cache[tagname] /proc/create_text_tag_old(var/tagname, var/tagdesc = tagname, var/client/C = null) - if(!(C && C.is_preference_enabled(/datum/client_preference/chat_tags))) + if(!(C && C.prefs?.read_preference(/datum/preference/toggle/chat_tags))) return tagdesc return "[tagdesc]" @@ -613,3 +614,15 @@ paper_text = replacetext(paper_text, "
", "\n") paper_text = strip_html_properly(paper_text) // Get rid of everything else entirely. return paper_text + +//json decode that will return null on parse error instead of runtiming. +/proc/safe_json_decode(data) + try + return json_decode(data) + catch + return null + +/// Removes all non-alphanumerics from the text, keep in mind this can lead to id conflicts +/proc/sanitize_css_class_name(name) + var/static/regex/regex = new(@"[^a-zA-Z0-9]","g") + return replacetext(name, regex, "") diff --git a/code/_helpers/time.dm b/code/_helpers/time.dm index 2cc26b170fa..7668146b3db 100644 --- a/code/_helpers/time.dm +++ b/code/_helpers/time.dm @@ -1,3 +1,7 @@ +//Returns the world time in english +/proc/worldtime2text() + return gameTimestamp("hh:mm:ss", world.time) + #define TimeOfGame (get_game_time()) #define TimeOfTick (TICK_USAGE*0.01*world.tick_lag) diff --git a/code/_helpers/type2type.dm b/code/_helpers/type2type.dm index 40be3d403ad..0e0dd582952 100644 --- a/code/_helpers/type2type.dm +++ b/code/_helpers/type2type.dm @@ -1,11 +1,41 @@ /* * Holds procs designed to change one type of value, into another. * Contains: + * file2list + * type2top * hex2num & num2hex * file2list * angle2dir */ +//Splits the text of a file at seperator and returns them in a list. +//returns an empty list if the file doesn't exist +/world/proc/file2list(filename, seperator="\n", trim = TRUE) + if (trim) + return splittext(trim(file2text(filename)),seperator) + return splittext(file2text(filename),seperator) + +//returns a string the last bit of a type, without the preceeding '/' +/proc/type2top(the_type) + //handle the builtins manually + if(!ispath(the_type)) + return + switch(the_type) + if(/datum) + return "datum" + if(/atom) + return "atom" + if(/obj) + return "obj" + if(/mob) + return "mob" + if(/area) + return "area" + if(/turf) + return "turf" + else //regex everything else (works for /proc too) + return lowertext(replacetext("[the_type]", "[type2parent(the_type)]/", "")) + // Returns an integer given a hexadecimal number string as input. /proc/hex2num(hex) if (!istext(hex)) @@ -558,3 +588,38 @@ /// for use inside of browse() calls to html assets that might be loaded on a cdn. /proc/url2htmlloader(url) return {""} + +/// Returns a list with all keys turned into paths +/proc/text2path_list(list/L) + . = list() + for(var/key in L) + var/path = key + if(!ispath(path)) + path = text2path(key) + if(!isnull(L[path])) + .[path] = L[path] + continue + if(!isnull(L[key])) + .[path] = L[key] + continue + if(!isnull(path)) + . += path + +/proc/path2text_list(list/L) + . = list() + for(var/key in L) + var/text = "[key]" + if(!isnull(L[text])) + .[text] = L[text] + continue + if(!isnull(L[key])) + .[text] = L[key] + continue + if(!isnull(text)) + .[text] = "" + +/proc/check_list_copy(var/i) + if(islist(i)) + var/list/l = i + return l.Copy() + return i diff --git a/code/_helpers/unsorted.dm b/code/_helpers/unsorted.dm index 8a722ac7676..8b5c5d0325b 100644 --- a/code/_helpers/unsorted.dm +++ b/code/_helpers/unsorted.dm @@ -315,16 +315,16 @@ Turf and target are seperate in case you want to teleport some distance from a t var/search_pda = 1 for(var/A in searching) - if( search_id && istype(A,/obj/item/weapon/card/id) ) - var/obj/item/weapon/card/id/ID = A + if( search_id && istype(A,/obj/item/card/id) ) + var/obj/item/card/id/ID = A if(ID.registered_name == oldname) ID.registered_name = newname ID.name = "[newname]'s ID Card ([ID.assignment])" if(!search_pda) break search_id = 0 - else if( search_pda && istype(A,/obj/item/device/pda) ) - var/obj/item/device/pda/PDA = A + else if( search_pda && istype(A,/obj/item/pda) ) + var/obj/item/pda/PDA = A if(PDA.owner == oldname) PDA.owner = newname PDA.name = "PDA-[newname] ([PDA.ownjob])" @@ -367,7 +367,7 @@ Turf and target are seperate in case you want to teleport some distance from a t if(isAI(src)) var/mob/living/silicon/ai/A = src oldname = null//don't bother with the records update crap - //to_world("[newname] is the AI!") + //to_world(span_world("[newname] is the AI!")) //world << sound('sound/AI/newAI.ogg') // Set eyeobj name A.SetName(newname) @@ -420,7 +420,7 @@ Turf and target are seperate in case you want to teleport some distance from a t /proc/select_active_ai(var/mob/user) var/list/ais = active_ais() if(ais.len) - if(user) . = tgui_input_list(usr, "AI signals detected:", "AI selection", ais) + if(user) . = tgui_input_list(user, "AI signals detected:", "AI selection", ais) else . = pick(ais) return . @@ -974,7 +974,7 @@ Turf and target are seperate in case you want to teleport some distance from a t if(toupdate.len) for(var/turf/simulated/T1 in toupdate) - air_master.mark_for_update(T1) + SSair.mark_for_update(T1) return copiedobjs @@ -1030,13 +1030,13 @@ Turf and target are seperate in case you want to teleport some distance from a t //Quick type checks for some tools var/global/list/common_tools = list( /obj/item/stack/cable_coil, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/weldingtool, -/obj/item/weapon/tool/screwdriver, -/obj/item/weapon/tool/wirecutters, -/obj/item/device/multitool, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/transforming) +/obj/item/tool/wrench, +/obj/item/weldingtool, +/obj/item/tool/screwdriver, +/obj/item/tool/wirecutters, +/obj/item/multitool, +/obj/item/tool/crowbar, +/obj/item/tool/transforming) /proc/istool(O) if(O && is_type_in_list(O, common_tools)) @@ -1045,32 +1045,32 @@ var/global/list/common_tools = list( /proc/is_wire_tool(obj/item/I) - if(istype(I, /obj/item/device/multitool) || I.has_tool_quality(TOOL_WIRECUTTER)) + if(istype(I, /obj/item/multitool) || I.has_tool_quality(TOOL_WIRECUTTER)) return TRUE - if(istype(I, /obj/item/device/assembly/signaler)) + if(istype(I, /obj/item/assembly/signaler)) return TRUE return /proc/is_hot(obj/item/W as obj) switch(W.type) - if(/obj/item/weapon/weldingtool) - var/obj/item/weapon/weldingtool/WT = W + if(/obj/item/weldingtool) + var/obj/item/weldingtool/WT = W if(WT.isOn()) return 3800 else return 0 - if(/obj/item/weapon/tool/transforming) - var/obj/item/weapon/tool/transforming/TT = W + if(/obj/item/tool/transforming) + var/obj/item/tool/transforming/TT = W if(TT.possible_tooltypes[TT.current_tooltype] == TOOL_WELDER) return 3800 else return 0 - if(/obj/item/weapon/flame/lighter) + if(/obj/item/flame/lighter) if(W:lit) return 1500 else return 0 - if(/obj/item/weapon/flame/match) + if(/obj/item/flame/match) if(W:lit) return 1000 else @@ -1080,9 +1080,9 @@ var/global/list/common_tools = list( return 1000 else return 0 - if(/obj/item/weapon/pickaxe/plasmacutter) + if(/obj/item/pickaxe/plasmacutter) return 3800 - if(/obj/item/weapon/melee/energy) + if(/obj/item/melee/energy) return 3500 else return 0 @@ -1113,12 +1113,12 @@ var/global/list/common_tools = list( return TRUE return ( \ W.has_tool_quality(TOOL_SCREWDRIVER) || \ - istype(W, /obj/item/weapon/pen) || \ - istype(W, /obj/item/weapon/weldingtool) || \ - istype(W, /obj/item/weapon/flame/lighter/zippo) || \ - istype(W, /obj/item/weapon/flame/match) || \ + istype(W, /obj/item/pen) || \ + istype(W, /obj/item/weldingtool) || \ + istype(W, /obj/item/flame/lighter/zippo) || \ + istype(W, /obj/item/flame/match) || \ istype(W, /obj/item/clothing/mask/smokable/cigarette) || \ - istype(W, /obj/item/weapon/shovel) \ + istype(W, /obj/item/shovel) \ ) // check if mob is lying down on something we can operate him on. @@ -1153,12 +1153,12 @@ Checks if that loc and dir has a item on the wall TODO - Fix this ancient list of wall items. Preferably make it dynamically populated. ~Leshana */ var/list/WALLITEMS = list( - /obj/machinery/power/apc, /obj/machinery/alarm, /obj/item/device/radio/intercom, /obj/structure/frame, + /obj/machinery/power/apc, /obj/machinery/alarm, /obj/item/radio/intercom, /obj/structure/frame, /obj/structure/extinguisher_cabinet, /obj/structure/reagent_dispensers/peppertank, /obj/machinery/status_display, /obj/machinery/requests_console, /obj/machinery/light_switch, /obj/structure/sign, /obj/machinery/newscaster, /obj/machinery/firealarm, /obj/structure/noticeboard, /obj/machinery/button/remote, /obj/machinery/computer/security/telescreen, /obj/machinery/embedded_controller/radio, - /obj/item/weapon/storage/secure/safe, /obj/machinery/door_timer, /obj/machinery/flasher, /obj/machinery/keycard_auth, + /obj/item/storage/secure/safe, /obj/machinery/door_timer, /obj/machinery/flasher, /obj/machinery/keycard_auth, /obj/structure/mirror, /obj/structure/fireaxecabinet, /obj/machinery/computer/security/telescreen/entertainment ) /proc/gotwallitem(loc, dir) @@ -1328,40 +1328,37 @@ var/mob/dview/dview_mob = new if (NOT_FLAG(USE_ALLOW_NON_ADJACENT) && !Adjacent(user)) if (show_messages) - to_chat(user, span("notice","You're too far away from [src] to do that.")) + to_chat(user, span_notice("You're too far away from [src] to do that.")) return USE_FAIL_NON_ADJACENT if (NOT_FLAG(USE_ALLOW_DEAD) && user.stat == DEAD) if (show_messages) - to_chat(user, span("notice","You can't do that when you're dead.")) + to_chat(user, span_notice("You can't do that when you're dead.")) return USE_FAIL_DEAD if (NOT_FLAG(USE_ALLOW_INCAPACITATED) && (user.incapacitated())) if (show_messages) - to_chat(user, span("notice","You cannot do that in your current state.")) + to_chat(user, span_notice("You cannot do that in your current state.")) return USE_FAIL_INCAPACITATED if (NOT_FLAG(USE_ALLOW_NON_ADV_TOOL_USR) && !user.IsAdvancedToolUser()) if (show_messages) - to_chat(user, span("notice","You don't know how to operate [src].")) + to_chat(user, span_notice("You don't know how to operate [src].")) return USE_FAIL_NON_ADV_TOOL_USR if (HAS_FLAG(USE_DISALLOW_SILICONS) && issilicon(user)) if (show_messages) - to_chat(user, span("notice","You need hands for that.")) + to_chat(user, span_notice("You need hands for that.")) return USE_FAIL_IS_SILICON if (HAS_FLAG(USE_FORCE_SRC_IN_USER) && !(src in user)) if (show_messages) - to_chat(user, span("notice","You need to be holding [src] to do that.")) + to_chat(user, span_notice("You need to be holding [src] to do that.")) return USE_FAIL_NOT_IN_USER #undef NOT_FLAG #undef HAS_FLAG -//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, 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, GLOBAL_PROC_REF(___callbackvarset), ##datum, NAMEOF(##datum, ##var), ##var_value) @@ -1463,12 +1460,12 @@ var/mob/dview/dview_mob = new var/typename = "[type]" var/static/list/TYPES_SHORTCUTS = list( /obj/effect/decal/cleanable = "CLEANABLE", - /obj/item/device/radio/headset = "HEADSET", + /obj/item/radio/headset = "HEADSET", /obj/item/clothing/head/helmet/space = "SPESSHELMET", - /obj/item/weapon/book/manual = "MANUAL", - /obj/item/weapon/reagent_containers/food/drinks = "DRINK", - /obj/item/weapon/reagent_containers/food = "FOOD", - /obj/item/weapon/reagent_containers = "REAGENT_CONTAINERS", + /obj/item/book/manual = "MANUAL", + /obj/item/reagent_containers/food/drinks = "DRINK", + /obj/item/reagent_containers/food = "FOOD", + /obj/item/reagent_containers = "REAGENT_CONTAINERS", /obj/machinery/atmospherics = "ATMOS_MECH", /obj/machinery/portable_atmospherics = "PORT_ATMOS", /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack = "MECHA_MISSILE_RACK", diff --git a/code/_helpers/unsorted_vr.dm b/code/_helpers/unsorted_vr.dm index 0890c1f9c63..a21466983d3 100644 --- a/code/_helpers/unsorted_vr.dm +++ b/code/_helpers/unsorted_vr.dm @@ -19,7 +19,7 @@ if(vent.welded) continue var/area/A = get_area(vent) - if(A.forbid_events) + if(A.flag_check(AREA_FORBID_EVENTS)) continue vent_list += vent if(!vent_list.len) @@ -43,26 +43,26 @@ //Sender is optional /proc/admin_chat_message(var/message = "Debug Message", var/color = "#FFFFFF", var/sender) - if (!config.chat_webhook_url || !message) + if (!CONFIG_GET(string/chat_webhook_url) || !message) return spawn(0) var/query_string = "type=adminalert" - query_string += "&key=[url_encode(config.chat_webhook_key)]" + query_string += "&key=[url_encode(CONFIG_GET(string/chat_webhook_key))]" query_string += "&msg=[url_encode(message)]" query_string += "&color=[url_encode(color)]" if(sender) query_string += "&from=[url_encode(sender)]" - world.Export("[config.chat_webhook_url]?[query_string]") + world.Export("[CONFIG_GET(string/chat_webhook_url)]?[query_string]") /proc/admin_action_message(var/admin = "INVALID", var/user = "INVALID", var/action = "INVALID", var/reason = "INVALID", var/time = "INVALID") - if (!config.chat_webhook_url || !action) + if (!CONFIG_GET(string/chat_webhook_url) || !action) return spawn(0) var/query_string = "type=adminaction" - query_string += "&key=[url_encode(config.chat_webhook_key)]" + query_string += "&key=[url_encode(CONFIG_GET(string/chat_webhook_key))]" query_string += "&admin=[url_encode(admin)]" query_string += "&user=[url_encode(user)]" query_string += "&action=[url_encode(action)]" query_string += "&reason=[url_encode(reason)]" query_string += "&time=[url_encode(time)]" - world.Export("[config.chat_webhook_url]?[query_string]") + world.Export("[CONFIG_GET(string/chat_webhook_url)]?[query_string]") diff --git a/code/_helpers/verbs.dm b/code/_helpers/verbs.dm new file mode 100644 index 00000000000..8a35bb9c6cf --- /dev/null +++ b/code/_helpers/verbs.dm @@ -0,0 +1,94 @@ +/** + * handles adding verbs and updating the stat panel browser + * + * pass the verb type path to this instead of adding it directly to verbs so the statpanel can update + * Arguments: + * * target - Who the verb is being added to, client or mob typepath + * * verb - typepath to a verb, or a list of verbs, supports lists of lists + */ +/proc/add_verb(client/target, verb_or_list_to_add) + if(!target) + CRASH("add_verb called without a target") + if(IsAdminAdvancedProcCall()) + return + var/mob/mob_target = null + + if(ismob(target)) + mob_target = target + target = mob_target.client + else if(!istype(target, /client)) + CRASH("add_verb called on a non-mob and non-client") + var/list/verbs_list = list() + if(!islist(verb_or_list_to_add)) + verbs_list += verb_or_list_to_add + else + var/list/verb_listref = verb_or_list_to_add + var/list/elements_to_process = verb_listref.Copy() + while(length(elements_to_process)) + var/element_or_list = elements_to_process[length(elements_to_process)] //Last element + elements_to_process.len-- + if(islist(element_or_list)) + elements_to_process += element_or_list //list/a += list/b adds the contents of b into a, not the reference to the list itself + else + verbs_list += element_or_list + + if(mob_target) + mob_target.verbs += verbs_list + if(!target) + return //Our work is done. + else + target.verbs += verbs_list + + var/list/output_list = list() + for(var/thing in verbs_list) + var/procpath/verb_to_add = thing + output_list[++output_list.len] = list(verb_to_add.category, verb_to_add.name, verb_to_add.desc) + + target.stat_panel.send_message("add_verb_list", output_list) + +/** + * handles removing verb and sending it to browser to update, use this for removing verbs + * + * pass the verb type path to this instead of removing it from verbs so the statpanel can update + * Arguments: + * * target - Who the verb is being removed from, client or mob typepath + * * verb - typepath to a verb, or a list of verbs, supports lists of lists + */ +/proc/remove_verb(client/target, verb_or_list_to_remove) + if(IsAdminAdvancedProcCall()) + return + + var/mob/mob_target = null + if(ismob(target)) + mob_target = target + target = mob_target.client + else if(!istype(target, /client)) + CRASH("remove_verb called on a non-mob and non-client") + + var/list/verbs_list = list() + if(!islist(verb_or_list_to_remove)) + verbs_list += verb_or_list_to_remove + else + var/list/verb_listref = verb_or_list_to_remove + var/list/elements_to_process = verb_listref.Copy() + while(length(elements_to_process)) + var/element_or_list = elements_to_process[length(elements_to_process)] //Last element + elements_to_process.len-- + if(islist(element_or_list)) + elements_to_process += element_or_list //list/a += list/b adds the contents of b into a, not the reference to the list itself + else + verbs_list += element_or_list + + if(mob_target) + mob_target.verbs -= verbs_list + if(!target) + return //Our work is done. + else + target.verbs -= verbs_list + + var/list/output_list = list() + for(var/thing in verbs_list) + var/procpath/verb_to_remove = thing + output_list[++output_list.len] = list(verb_to_remove.category, verb_to_remove.name) + + target.stat_panel.send_message("remove_verb_list", output_list) diff --git a/code/_helpers/view.dm b/code/_helpers/view.dm index be60a56697f..4615e0c97da 100644 --- a/code/_helpers/view.dm +++ b/code/_helpers/view.dm @@ -11,6 +11,15 @@ viewY = text2num(viewrangelist[2]) return list(viewX, viewY) +/// Takes a string or num view, and converts it to pixel width/height in a list(pixel_width, pixel_height) +/proc/view_to_pixels(view) + if(!view) + return list(0, 0) + var/list/view_info = getviewsize(view) + view_info[1] *= ICON_SIZE_X + view_info[2] *= ICON_SIZE_Y + return view_info + // Used to get `atom/O as obj|mob|turf in view()` to match against strings containing apostrophes immediately after substrings that match to other objects. Somehow. - Ater /proc/_validate_atom(atom/A) - return view() \ No newline at end of file + return view() diff --git a/code/_helpers/weakref.dm b/code/_helpers/weakref.dm new file mode 100644 index 00000000000..25b65e63ecd --- /dev/null +++ b/code/_helpers/weakref.dm @@ -0,0 +1,2 @@ +/// Checks if potential_weakref is a weakref of thing. +#define IS_WEAKREF_OF(thing, potential_weakref) (isdatum(thing) && !isnull(potential_weakref) && thing.weak_reference == potential_weakref) diff --git a/code/_macros.dm b/code/_macros.dm index b37d24fa0df..8dc5bdaf748 100644 --- a/code/_macros.dm +++ b/code/_macros.dm @@ -1,5 +1,3 @@ -#define span(class, text) ("[text]") - #define get_turf(A) get_step(A,0) #define get_x(A) (get_step(A, 0)?.x || 0) @@ -26,6 +24,7 @@ // From TG, might be useful to have. // Didn't port SEND_TEXT() since to_chat() appears to serve the same purpose. #define DIRECT_OUTPUT(A, B) A << B +#define DIRECT_INPUT(A, B) A >> B #define SEND_IMAGE(target, image) DIRECT_OUTPUT(target, image) #define SEND_SOUND(target, sound) DIRECT_OUTPUT(target, sound) //#define WRITE_LOG is in logging.dm diff --git a/code/_map_tests.dm b/code/_map_tests.dm deleted file mode 100644 index 372a4a7194d..00000000000 --- a/code/_map_tests.dm +++ /dev/null @@ -1,10 +0,0 @@ -/* - * - * This file is used by CI to indicate that additional maps need to be compiled to look for errors such as missing paths. - * Do not add anything but the MAP_TEST definition here as it will be overwritten by CI when running tests. - * - * - * Should you wish to edit set MAP_TEST to 1 like so: - * #define MAP_TEST 1 - */ -#define MAP_TEST 0 diff --git a/code/_onclick/ai.dm b/code/_onclick/ai.dm index 76b18f7222e..38828e148f7 100644 --- a/code/_onclick/ai.dm +++ b/code/_onclick/ai.dm @@ -25,13 +25,13 @@ /mob/living/silicon/ai/ClickOn(var/atom/A, params) if(!checkClickCooldown()) return - + setClickCooldown(1) if(client.buildmode) // comes after object.Click to allow buildmode gui objects to be clicked build_click(src, client.buildmode, params, A) return - + if(multicam_on) var/turf/T = get_turf(A) if(T) @@ -173,7 +173,7 @@ to_chat(user, "The bolt lights wire is cut - The door bolt lights are permanently disabled.") return lights = !lights - to_chat(user, "Lights are now [lights ? "on." : "off."]") + to_chat(user, span_notice("Lights are now [lights ? "on." : "off."]")) update_icon() return TRUE diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index 16a35b18eac..f321d231f3d 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -158,7 +158,7 @@ next_click = max(world.time + timeout, next_click) /mob/proc/checkClickCooldown() - if(next_click > world.time && !config.no_click_cooldown) + if(next_click > world.time && !CONFIG_GET(flag/no_click_cooldown)) return FALSE return TRUE @@ -286,16 +286,9 @@ /atom/proc/AltClick(var/mob/user) var/turf/T = get_turf(src) if(T && user.TurfAdjacent(T)) - user.ToggleTurfTab(T) + user.set_listed_turf(T) return 1 -/mob/proc/ToggleTurfTab(var/turf/T) - if(listed_turf == T) - listed_turf = null - else - listed_turf = T - client.statpanel = "Turf" - /mob/proc/TurfAdjacent(var/turf/T) return T.AdjacentQuick(src) @@ -337,7 +330,7 @@ nutrition = max(nutrition - rand(1,5),0) handle_regular_hud_updates() else - to_chat(src, "You're out of energy! You need food!") + to_chat(src, span_warning("You're out of energy! You need food!")) // Simple helper to face what you clicked on, in case it should be needed in more than one place /mob/proc/face_atom(var/atom/A) diff --git a/code/_onclick/cyborg.dm b/code/_onclick/cyborg.dm index a7ff03177d5..80d086a298c 100644 --- a/code/_onclick/cyborg.dm +++ b/code/_onclick/cyborg.dm @@ -44,9 +44,9 @@ if(aiCamera && aiCamera.in_camera_mode) aiCamera.camera_mode_off() if(is_component_functioning("camera")) - aiCamera.captureimage(A, usr) + aiCamera.captureimage(A, src) else - to_chat(src, "Your camera isn't functional.") + to_chat(src, span_userdanger("Your camera isn't functional.")) return /* diff --git a/code/_onclick/hud/_defines_vr.dm b/code/_onclick/hud/_defines_vr.dm deleted file mode 100644 index b419c6bd7f8..00000000000 --- a/code/_onclick/hud/_defines_vr.dm +++ /dev/null @@ -1,2 +0,0 @@ -#define ui_shadekin_display "EAST-1:28,CENTER-3:15" -#define ui_xenochimera_danger_display "EAST-1:28,CENTER-3:15" \ No newline at end of file diff --git a/code/_onclick/hud/ability_screen_objects.dm b/code/_onclick/hud/ability_screen_objects.dm index 7690b9d2033..5d304f14707 100644 --- a/code/_onclick/hud/ability_screen_objects.dm +++ b/code/_onclick/hud/ability_screen_objects.dm @@ -16,6 +16,7 @@ if(owner) my_mob = owner update_abilities(0, owner) + overlays.Add(closed_state) else message_admins("ERROR: ability_master's New() was not given an owner argument. This is a bug.") @@ -290,7 +291,7 @@ if(!mob) return // Paranoid. if(isnull(slot) || !isnum(slot)) - to_chat(src, ".activate_ability requires a number as input, corrisponding to the slot you wish to use.") + to_chat(src, span_warning(".activate_ability requires a number as input, corrisponding to the slot you wish to use.")) return // Bad input. if(!mob.ability_master) return // No abilities. @@ -312,7 +313,7 @@ if(object_used && verb_to_call) call(object_used,verb_to_call)(arguments_to_use) // call(object_used,verb_to_call)(arguments_to_use) -// to_world("Attempted to call([object_used],[verb_to_call])([arguments_to_use])") +// to_world(span_world("Attempted to call([object_used],[verb_to_call])([arguments_to_use])")) // if(hascall(object_used, verb_to_call)) // call(object_used,verb_to_call)(arguments_to_use) // else diff --git a/code/_onclick/hud/action.dm b/code/_onclick/hud/action.dm deleted file mode 100644 index 288c4799226..00000000000 --- a/code/_onclick/hud/action.dm +++ /dev/null @@ -1,228 +0,0 @@ -#define AB_ITEM 1 -#define AB_SPELL 2 -#define AB_INNATE 3 -#define AB_GENERIC 4 - - -/datum/action - var/name = "Generic Action" - var/action_type = AB_ITEM - var/procname = null - var/atom/movable/target = null - var/check_flags = 0 - var/processing = 0 - var/active = 0 - var/obj/screen/movable/action_button/button = null - var/button_icon = 'icons/mob/actions.dmi' - var/button_icon_state = "default" - var/background_icon_state = "bg_default" - var/mob/living/owner - -/datum/action/New(var/Target) - target = Target - -/datum/action/Destroy() - if(owner) - Remove(owner) - target = null - QDEL_NULL(button) - return ..() - -/datum/action/proc/Grant(mob/living/T) - if(owner) - if(owner == T) - return - Remove(owner) - owner = T - owner.actions.Add(src) - owner.update_action_buttons() - return - -/datum/action/proc/Remove(mob/living/T) - if(button) - if(T.client) - T.client.screen -= button - QDEL_NULL(button) - T.actions.Remove(src) - T.update_action_buttons() - owner = null - return - -/datum/action/proc/Trigger() - if(!Checks()) - return - switch(action_type) - if(AB_ITEM) - if(target) - var/obj/item/item = target - item.ui_action_click() - //if(AB_SPELL) - // if(target) - // var/obj/effect/proc_holder/spell = target - // spell.Click() - if(AB_INNATE) - if(!active) - Activate() - else - Deactivate() - if(AB_GENERIC) - if(target && procname) - call(target,procname)(usr) - return - -/datum/action/proc/Activate() - return - -/datum/action/proc/Deactivate() - return - -/datum/action/process() - return - -/datum/action/proc/CheckRemoval(mob/living/user) // 1 if action is no longer valid for this mob and should be removed - return 0 - -/datum/action/proc/IsAvailable() - return Checks() - -/datum/action/proc/Checks()// returns 1 if all checks pass - if(!owner) - return 0 - if(check_flags & AB_CHECK_RESTRAINED) - if(owner.restrained()) - return 0 - if(check_flags & AB_CHECK_STUNNED) - if(owner.stunned) - return 0 - if(check_flags & AB_CHECK_LYING) - if(owner.lying) - return 0 - if(check_flags & AB_CHECK_ALIVE) - if(owner.stat) - return 0 - if(check_flags & AB_CHECK_INSIDE) - if(!(target in owner)) - return 0 - return 1 - -/datum/action/proc/UpdateName() - return name - -/obj/screen/movable/action_button - var/datum/action/owner - screen_loc = "WEST,NORTH" - -/obj/screen/movable/action_button/Click(location,control,params) - var/list/modifiers = params2list(params) - if(modifiers["shift"]) - moved = 0 - return 1 - if(!usr.checkClickCooldown()) - return - owner.Trigger() - return 1 - -/obj/screen/movable/action_button/proc/UpdateIcon() - if(!owner) - return - icon = owner.button_icon - icon_state = owner.background_icon_state - - cut_overlays() - var/image/img - if(owner.action_type == AB_ITEM && owner.target) - var/obj/item/I = owner.target - img = image(I.icon, src , I.icon_state) - else if(owner.button_icon && owner.button_icon_state) - img = image(owner.button_icon,src,owner.button_icon_state) - img.pixel_x = 0 - img.pixel_y = 0 - add_overlay(img) - - if(!owner.IsAvailable()) - color = rgb(128,0,0,128) - else - color = rgb(255,255,255,255) - -//Hide/Show Action Buttons ... Button -/obj/screen/movable/action_button/hide_toggle - name = "Hide Buttons" - icon = 'icons/mob/actions.dmi' - icon_state = "bg_default" - var/hidden = 0 - -/obj/screen/movable/action_button/hide_toggle/Click() - usr.hud_used.action_buttons_hidden = !usr.hud_used.action_buttons_hidden - - hidden = usr.hud_used.action_buttons_hidden - if(hidden) - name = "Show Buttons" - else - name = "Hide Buttons" - UpdateIcon() - usr.update_action_buttons() - - -/obj/screen/movable/action_button/hide_toggle/proc/InitialiseIcon(var/mob/living/user) - if(isalien(user)) - icon_state = "bg_alien" - else - icon_state = "bg_default" - UpdateIcon() - return - -/obj/screen/movable/action_button/hide_toggle/UpdateIcon() - cut_overlays() - var/image/img = image(icon,src,hidden?"show":"hide") - add_overlay(img) - return - -//This is the proc used to update all the action buttons. Properly defined in /mob/living/ -/mob/proc/update_action_buttons() - return - -#define AB_WEST_OFFSET 4 -#define AB_NORTH_OFFSET 26 -#define AB_MAX_COLUMNS 10 - -/datum/hud/proc/ButtonNumberToScreenCoords(var/number) // TODO : Make this zero-indexed for readabilty - var/row = round((number-1)/AB_MAX_COLUMNS) - var/col = ((number - 1)%(AB_MAX_COLUMNS)) + 1 - var/coord_col = "+[col-1]" - var/coord_col_offset = AB_WEST_OFFSET+2*col - var/coord_row = "[-1 - row]" - var/coord_row_offset = AB_NORTH_OFFSET - return "WEST[coord_col]:[coord_col_offset],NORTH[coord_row]:[coord_row_offset]" - -/datum/hud/proc/SetButtonCoords(var/obj/screen/button,var/number) - var/row = round((number-1)/AB_MAX_COLUMNS) - var/col = ((number - 1)%(AB_MAX_COLUMNS)) + 1 - var/x_offset = 32*(col-1) + AB_WEST_OFFSET + 2*col - var/y_offset = -32*(row+1) + AB_NORTH_OFFSET - - var/matrix/M = matrix() - M.Translate(x_offset,y_offset) - button.transform = M - -//Presets for item actions -/datum/action/item_action - check_flags = AB_CHECK_RESTRAINED|AB_CHECK_STUNNED|AB_CHECK_LYING|AB_CHECK_ALIVE|AB_CHECK_INSIDE - -/datum/action/item_action/CheckRemoval(mob/living/user) - return !(target in user) - -/datum/action/item_action/hands_free - check_flags = AB_CHECK_ALIVE|AB_CHECK_INSIDE - -#undef AB_WEST_OFFSET -#undef AB_NORTH_OFFSET -#undef AB_MAX_COLUMNS - - -/datum/action/innate/ - action_type = AB_INNATE - -#undef AB_ITEM -#undef AB_SPELL -#undef AB_INNATE -#undef AB_GENERIC diff --git a/code/_onclick/hud/action/action.dm b/code/_onclick/hud/action/action.dm new file mode 100644 index 00000000000..a5a512be689 --- /dev/null +++ b/code/_onclick/hud/action/action.dm @@ -0,0 +1,348 @@ +/** + * # Action system + * + * A simple base for an modular behavior attached to atom or datum. + */ +/datum/action + /// The name of the action + var/name = "Generic Action" + /// The description of what the action does, shown in button tooltips + var/desc + /// The target the action is attached to. If the target datum is deleted, the action is as well. + /// Set in New() via the proc link_to(). PLEASE set a target if you're making an action + var/datum/target + /// Where any buttons we create should be by default. Accepts screen_loc and location defines + var/default_button_position = SCRN_OBJ_IN_LIST + /// This is who currently owns the action, and most often, this is who is using the action if it is triggered + /// This can be the same as "target" but is not ALWAYS the same - this is set and unset with Grant() and Remove() + var/mob/owner + /// Flags that will determine of the owner / user of the action can... use the action + var/check_flags = NONE + /// Whether the button becomes transparent when it can't be used or just reddened + var/transparent_when_unavailable = TRUE + /// List of all mobs that are viewing our action button -> A unique movable for them to view. + var/list/viewers = list() + /// If TRUE, this action button will be shown to observers / other mobs who view from this action's owner's eyes. + /// Used in [/mob/proc/show_other_mob_action_buttons] + /// (Not really, this behavior is unimplemented) + var/show_to_observers = TRUE + + /// The style the button's tooltips appear to be + var/buttontooltipstyle = "" + + /// This is the file for the BACKGROUND underlay icon of the button + var/background_icon = 'icons/mob/actions/backgrounds.dmi' + /// This is the icon state state for the BACKGROUND underlay icon of the button + /// (If set to ACTION_BUTTON_DEFAULT_BACKGROUND, uses the hud's default background) + var/background_icon_state = ACTION_BUTTON_DEFAULT_BACKGROUND + + /// This is the file for the icon that appears on the button + var/button_icon = 'icons/mob/actions.dmi' + /// This is the icon state for the icon that appears on the button + var/button_icon_state = "default" + + /// This is the file for any FOREGROUND overlay icons on the button (such as borders) + var/overlay_icon = 'icons/mob/actions/backgrounds.dmi' + /// This is the icon state for any FOREGROUND overlay icons on the button (such as borders) + var/overlay_icon_state + +/datum/action/New(Target) + link_to(Target) + +/// Links the passed target to our action, registering any relevant signals +/datum/action/proc/link_to(Target) + target = Target + RegisterSignal(target, COMSIG_PARENT_QDELETING, PROC_REF(clear_ref), override = TRUE) + + if(isatom(target)) + RegisterSignal(target, COMSIG_ATOM_UPDATED_ICON, PROC_REF(on_target_icon_update)) + + // if(istype(target, /datum/mind)) + // RegisterSignal(target, COMSIG_MIND_TRANSFERRED, .proc/on_target_mind_swapped) + +/datum/action/Destroy() + if(owner) + Remove(owner) + target = null + QDEL_LIST_ASSOC_VAL(viewers) + return ..() + + +/// Signal proc that clears any references based on the owner or target deleting +/// If the owner's deleted, we will simply remove from them, but if the target's deleted, we will self-delete +/datum/action/proc/clear_ref(datum/ref) + SIGNAL_HANDLER + if(ref == owner) + Remove(owner) + if(ref == target) + qdel(src) + +/// Grants the action to the passed mob, making it the owner +/datum/action/proc/Grant(mob/grant_to) + if(!grant_to) + Remove(owner) + return + if(owner) + if(owner == grant_to) + return + Remove(owner) + + SEND_SIGNAL(src, COMSIG_ACTION_GRANTED, grant_to) + SEND_SIGNAL(grant_to, COMSIG_MOB_GRANTED_ACTION, src) + owner = grant_to + RegisterSignal(owner, COMSIG_PARENT_QDELETING, PROC_REF(clear_ref), override = TRUE) + + GiveAction(grant_to) + +/// Remove the passed mob from being owner of our action +/datum/action/proc/Remove(mob/remove_from) + SHOULD_CALL_PARENT(TRUE) + + for(var/datum/hud/hud in viewers) + if(!hud.mymob) + continue + HideFrom(hud.mymob) + LAZYREMOVE(remove_from.actions, src) // We aren't always properly inserted into the viewers list, gotta make sure that action's cleared + viewers = list() + + if(owner) + SEND_SIGNAL(src, COMSIG_ACTION_REMOVED, owner) + SEND_SIGNAL(owner, COMSIG_MOB_REMOVED_ACTION, src) + + UnregisterSignal(owner, COMSIG_PARENT_QDELETING) + if(target == owner) + RegisterSignal(target, COMSIG_PARENT_QDELETING, PROC_REF(clear_ref)) + + owner = null + +/// Actually triggers the effects of the action. +/// Called when the on-screen button is clicked, for example. +/datum/action/proc/Trigger(trigger_flags) + if(!IsAvailable()) + return FALSE + if(SEND_SIGNAL(src, COMSIG_ACTION_TRIGGER, src) & COMPONENT_ACTION_BLOCK_TRIGGER) + return FALSE + return TRUE + +/// Whether our action is currently available to use or not +/datum/action/proc/IsAvailable() + if(!owner) + return FALSE + if(check_flags & AB_CHECK_RESTRAINED) + if(owner.restrained()) + return FALSE + if(check_flags & AB_CHECK_STUNNED) + if(owner.stunned) + return FALSE + if(check_flags & AB_CHECK_LYING) + if(owner.lying) + return FALSE + if(check_flags & AB_CHECK_CONSCIOUS) + if(owner.stat) + return FALSE + return TRUE + +/// Builds / updates all buttons we have shared or given out +/datum/action/proc/build_all_button_icons(update_flags = ALL, force) + for(var/datum/hud/hud as anything in viewers) + build_button_icon(viewers[hud], update_flags, force) + +/** + * Builds the icon of the button. + * + * Concept: + * - Underlay (Background icon) + * - Icon (button icon) + * - Maptext + * - Overlay (Background border) + * + * button - which button we are modifying the icon of + * force - whether we're forcing a full update + */ +/datum/action/proc/build_button_icon(obj/screen/movable/action_button/button, update_flags = ALL, force = FALSE) + if(!button) + return + + if(update_flags & UPDATE_BUTTON_NAME) + update_button_name(button, force) + + if(update_flags & UPDATE_BUTTON_BACKGROUND) + apply_button_background(button, force) + + if(update_flags & UPDATE_BUTTON_ICON) + apply_button_icon(button, force) + + if(update_flags & UPDATE_BUTTON_OVERLAY) + apply_button_overlay(button, force) + + if(update_flags & UPDATE_BUTTON_STATUS) + update_button_status(button, force) + +/** + * Updates the name and description of the button to match our action name and discription. + * + * current_button - what button are we editing? + * force - whether an update is forced regardless of existing status + */ +/datum/action/proc/update_button_name(obj/screen/movable/action_button/button, force = FALSE) + button.name = name + if(desc) + button.desc = desc + +/** + * Creates the background underlay for the button + * + * current_button - what button are we editing? + * force - whether an update is forced regardless of existing status + */ +/datum/action/proc/apply_button_background(obj/screen/movable/action_button/current_button, force = FALSE) + if(!background_icon || !background_icon_state || (current_button.active_underlay_icon_state == background_icon_state && !force)) + return + + // What icons we use for our background + var/list/icon_settings = list( + // The icon file + "bg_icon" = background_icon, + // The icon state, if is_action_active() returns FALSE + "bg_state" = background_icon_state, + // The icon state, if is_action_active() returns TRUE + "bg_state_active" = background_icon_state, + ) + + // If background_icon_state is ACTION_BUTTON_DEFAULT_BACKGROUND instead use our hud's action button scheme + if(background_icon_state == ACTION_BUTTON_DEFAULT_BACKGROUND && owner?.hud_used) + icon_settings = owner.hud_used.get_action_buttons_icons() + + // Determine which icon to use + var/used_icon_key = is_action_active(current_button) ? "bg_state_active" : "bg_state" + + // Make the underlay + current_button.underlays.Cut() + current_button.underlays += image(icon = icon_settings["bg_icon"], icon_state = icon_settings[used_icon_key]) + current_button.active_underlay_icon_state = icon_settings[used_icon_key] + +/** + * Applies our button icon and icon state to the button + * + * current_button - what button are we editing? + * force - whether an update is forced regardless of existing status + */ +/datum/action/proc/apply_button_icon(obj/screen/movable/action_button/current_button, force = FALSE) + if(!button_icon || !button_icon_state || (current_button.icon_state == button_icon_state && !force)) + return + + current_button.icon = button_icon + current_button.icon_state = button_icon_state + +/** + * Applies any overlays to our button + * + * current_button - what button are we editing? + * force - whether an update is forced regardless of existing status + */ +/datum/action/proc/apply_button_overlay(obj/screen/movable/action_button/current_button, force = FALSE) + SEND_SIGNAL(src, COMSIG_ACTION_OVERLAY_APPLY, current_button, force) + + if(!overlay_icon || !overlay_icon_state || (current_button.active_overlay_icon_state == overlay_icon_state && !force)) + return + + current_button.cut_overlay(current_button.button_overlay) + current_button.button_overlay = mutable_appearance(icon = overlay_icon, icon_state = overlay_icon_state) + current_button.add_overlay(current_button.button_overlay) + current_button.active_overlay_icon_state = overlay_icon_state + +/** + * Any other miscellaneous "status" updates within the action button is handled here, + * such as redding out when unavailable or modifying maptext. + * + * current_button - what button are we editing? + * force - whether an update is forced regardless of existing status + */ +/datum/action/proc/update_button_status(obj/screen/movable/action_button/current_button, force = FALSE) + if(IsAvailable()) + current_button.color = rgb(255,255,255,255) + else + current_button.color = transparent_when_unavailable ? rgb(128,0,0,128) : rgb(128,0,0) + +/// Gives our action to the passed viewer. +/// Puts our action in their actions list and shows them the button. +/datum/action/proc/GiveAction(mob/viewer) + var/datum/hud/our_hud = viewer.hud_used + if(viewers[our_hud]) // Already have a copy of us? go away + return + + LAZYOR(viewer.actions, src) // Move this in + ShowTo(viewer) + +/// Adds our action button to the screen of the passed viewer. +/datum/action/proc/ShowTo(mob/viewer) + var/datum/hud/our_hud = viewer.hud_used + if(!our_hud || viewers[our_hud]) // There's no point in this if you have no hud in the first place + return + + var/obj/screen/movable/action_button/button = create_button() + SetId(button, viewer) + + button.our_hud = our_hud + viewers[our_hud] = button + if(viewer.client) + viewer.client.screen += button + + button.load_position(viewer) + viewer.update_action_buttons() + +/// Removes our action from the passed viewer. +/datum/action/proc/HideFrom(mob/viewer) + var/datum/hud/our_hud = viewer.hud_used + var/obj/screen/movable/action_button/button = viewers[our_hud] + LAZYREMOVE(viewer.actions, src) + if(button) + qdel(button) + +/// Creates an action button movable for the passed mob, and returns it. +/datum/action/proc/create_button() + var/obj/screen/movable/action_button/button = new() + button.linked_action = src + build_button_icon(button, ALL, TRUE) + return button + +/datum/action/proc/SetId(obj/screen/movable/action_button/our_button, mob/owner) + //button id generation + var/bitfield = 0 + for(var/datum/action/action in owner.actions) + if(action == src) // This could be us, which is dumb + continue + var/obj/screen/movable/action_button/button = action.viewers[owner.hud_used] + if(action.name == name && button.id) + bitfield |= button.id + + bitfield = ~bitfield // Flip our possible ids, so we can check if we've found a unique one + for(var/i in 0 to 23) // We get 24 possible bitflags in dm + var/bitflag = 1 << i // Shift us over one + if(bitfield & bitflag) + our_button.id = bitflag + return + +/// Updates our buttons if our target's icon was updated +/// Still never triggered lmao +/datum/action/proc/on_target_icon_update(datum/source, updates, updated) + SIGNAL_HANDLER + + var/update_flag = NONE + var/forced = FALSE + if(updates & UPDATE_ICON_STATE) + update_flag |= UPDATE_BUTTON_ICON + forced = TRUE + if(updates & UPDATE_OVERLAYS) + update_flag |= UPDATE_BUTTON_OVERLAY + forced = TRUE + if(updates & (UPDATE_NAME|UPDATE_DESC)) + update_flag |= UPDATE_BUTTON_NAME + // Status is not relevant, and background is not relevant. Neither will change + + // Force the update if an icon state or overlay change was done + build_all_button_icons(update_flag, forced) + +/// Checks if our action is actively selected. Used for selecting icons primarily. +/datum/action/proc/is_action_active(obj/screen/movable/action_button/current_button) + return FALSE diff --git a/code/_onclick/hud/action/action_group.dm b/code/_onclick/hud/action/action_group.dm new file mode 100644 index 00000000000..d0b2f8df114 --- /dev/null +++ b/code/_onclick/hud/action/action_group.dm @@ -0,0 +1,212 @@ +/datum/action_group + /// The hud we're owned by + var/datum/hud/owner + /// The actions we're managing + var/list/obj/screen/movable/action_button/actions + /// The initial vertical offset of our action buttons + var/north_offset = 0 + /// The pixel vertical offset of our action buttons + var/pixel_north_offset = 0 + /// Max amount of buttons we can have per row + /// Indexes at 1 + var/column_max = 0 + /// How far "ahead" of the first row we start. Lets us "scroll" our rows + /// Indexes at 1 + var/row_offset = 0 + /// How many rows of actions we can have at max before we just stop hiding + /// Indexes at 1 + var/max_rows = INFINITY + /// The screen location we go by + var/location + /// Our landing screen object + var/obj/screen/action_landing/landing + +/datum/action_group/New(datum/hud/owner) + ..() + actions = list() + src.owner = owner + +/datum/action_group/Destroy() + owner = null + QDEL_NULL(landing) + QDEL_LIST(actions) + return ..() + +/datum/action_group/proc/insert_action(obj/screen/action, index) + if(action in actions) + if(actions[index] == action) + return + actions -= action // Don't dupe, come on + if(!index) + index = length(actions) + 1 + index = min(length(actions) + 1, index) + actions.Insert(index, action) + refresh_actions() + +/datum/action_group/proc/remove_action(obj/screen/action) + actions -= action + if(!QDELING(src)) + refresh_actions() + +/datum/action_group/proc/refresh_actions() + // We don't use size() here because landings are not canon + var/total_rows = ROUND_UP(length(actions) / column_max) + total_rows -= max_rows // Lets get the amount of rows we're off from our max + row_offset = clamp(row_offset, 0, total_rows) // You're not allowed to offset so far that we have a row of blank space + + var/button_number = 0 + for(var/obj/screen/button as anything in actions) + var/postion = ButtonNumberToScreenCoords(button_number ) + button.screen_loc = postion + button_number++ + + if(landing) + var/postion = ButtonNumberToScreenCoords(button_number, landing = TRUE) // Need a good way to count buttons off screen, but allow this to display in the right place if it's being placed with no concern for dropdown + landing.screen_loc = postion + button_number++ + +/// Accepts a number represeting our position in the group, indexes at 0 to make the math nicer +/datum/action_group/proc/ButtonNumberToScreenCoords(number, landing = FALSE) + var/row = round(number / column_max) + row -= row_offset // If you're less then 0, you don't get to render, this lets us "scroll" rows ya feel? + if(row < 0) + return null + + // Could use >= here, but I think it's worth noting that the two start at different places, since row is based on number here + if(row > max_rows - 1) + if(!landing) // If you're not a landing, go away please. thx + return null + // We always want to render landings, even if their action button can't be displayed. + // So we set a row equal to the max amount of rows + 1. Willing to overrun that max slightly to properly display the landing spot + row = max_rows // Remembering that max_rows indexes at 1, and row indexes at 0 + + // We're going to need to set our column to match the first item in the last row, so let's set number properly now + number = row * column_max + + var/visual_row = row + north_offset + var/coord_row = visual_row ? "-[visual_row]" : "+0" + + var/visual_column = number % column_max + var/coord_col = "+[visual_column]" + var/coord_col_offset = 4 + 2 * (visual_column + 1) + return "WEST[coord_col]:[coord_col_offset],NORTH[coord_row]:-[pixel_north_offset]" + +/datum/action_group/proc/check_against_view() + var/owner_view = owner?.mymob?.client?.view + if(!owner_view) + return + // Unlikey as it is, we may have been changed. Want to start from our target position and fail down + column_max = initial(column_max) + // Convert our viewer's view var into a workable offset + var/list/view_size = view_to_pixels(owner_view) + + // We're primarially concerned about width here, if someone makes us 1x2000 I wish them a swift and watery death + var/furthest_screen_loc = ButtonNumberToScreenCoords(column_max - 1) + var/list/offsets = screen_loc_to_offset(furthest_screen_loc, owner_view) + if(offsets[1] > world.icon_size && offsets[1] < view_size[1] && offsets[2] > world.icon_size && offsets[2] < view_size[2]) // We're all good + return + + for(column_max in column_max - 1 to 1 step -1) // Yes I could do this by unwrapping ButtonNumberToScreenCoords, but I don't feel like it + var/tested_screen_loc = ButtonNumberToScreenCoords(column_max) + offsets = screen_loc_to_offset(tested_screen_loc, owner_view) + // We've found a valid max length, pack it in + if(offsets[1] > world.icon_size && offsets[1] < view_size[1] && offsets[2] > world.icon_size && offsets[2] < view_size[2]) + break + // Use our newly resized column max + refresh_actions() + +/// Returns the amount of objects we're storing at the moment +/datum/action_group/proc/size() + var/amount = length(actions) + if(landing) + amount += 1 + return amount + +/datum/action_group/proc/index_of(obj/screen/get_location) + return actions.Find(get_location) + +/// Generates a landing object that can be dropped on to join this group +/datum/action_group/proc/generate_landing() + if(landing) + return + landing = new() + landing.set_owner(src) + refresh_actions() + +/// Clears any landing objects we may currently have +/datum/action_group/proc/clear_landing() + QDEL_NULL(landing) + +/datum/action_group/proc/update_landing() + if(!landing) + return + landing.refresh_owner() + +/datum/action_group/proc/scroll(amount) + row_offset += amount + refresh_actions() + +/datum/action_group/palette + north_offset = 2 + column_max = 3 + max_rows = 3 + location = SCRN_OBJ_IN_PALETTE + +/datum/action_group/palette/insert_action(obj/screen/action, index) + . = ..() + var/obj/screen/button_palette/palette = owner.toggle_palette + palette.play_item_added() + +/datum/action_group/palette/remove_action(obj/screen/action) + . = ..() + var/obj/screen/button_palette/palette = owner.toggle_palette + palette.play_item_removed() + if(!length(actions)) + palette.set_expanded(FALSE) + +/datum/action_group/palette/refresh_actions() + var/obj/screen/button_palette/palette = owner.toggle_palette + var/obj/screen/palette_scroll/scroll_down = owner.palette_down + var/obj/screen/palette_scroll/scroll_up = owner.palette_up + if(!palette || !scroll_down || !scroll_up) + return + + var/actions_above = round((owner.listed_actions.size() - 1) / owner.listed_actions.column_max) + north_offset = initial(north_offset) + actions_above + + palette.screen_loc = ui_action_palette_offset(actions_above) + var/action_count = length(owner?.mymob?.actions) + var/our_row_count = round((length(actions) - 1) / column_max) + if(!action_count) + palette.screen_loc = null + + if(palette.expanded && action_count && our_row_count >= max_rows) + scroll_down.screen_loc = ui_palette_scroll_offset(actions_above) + scroll_up.screen_loc = ui_palette_scroll_offset(actions_above) + else + scroll_down.screen_loc = null + scroll_up.screen_loc = null + + return ..() + +/datum/action_group/palette/ButtonNumberToScreenCoords(number, landing) + var/obj/screen/button_palette/palette = owner.toggle_palette + if(palette.expanded) + return ..() + + if(!landing) + return null + + // We only render the landing in this case, so we force it to be the second item displayed (Second rather then first since it looks nicer) + // Remember the number var indexes at 0 + return ..(1 + (row_offset * column_max), landing) + + +/datum/action_group/listed + pixel_north_offset = 6 + column_max = 10 + location = SCRN_OBJ_IN_LIST + +/datum/action_group/listed/refresh_actions() + . = ..() + owner?.palette_actions.refresh_actions() // We effect them, so we gotta refresh em diff --git a/code/_onclick/hud/action/action_group_helpers.dm b/code/_onclick/hud/action/action_group_helpers.dm new file mode 100644 index 00000000000..14ca7194333 --- /dev/null +++ b/code/_onclick/hud/action/action_group_helpers.dm @@ -0,0 +1,41 @@ +/// Generates visual landings for all groups that the button is not a memeber of +/datum/hud/proc/generate_landings(obj/screen/movable/action_button/button) + listed_actions.generate_landing() + palette_actions.generate_landing() + +/// Clears all currently visible landings +/datum/hud/proc/hide_landings() + listed_actions.clear_landing() + palette_actions.clear_landing() + +// Updates any existing "owned" visuals, ensures they continue to be visible +/datum/hud/proc/update_our_owner() + toggle_palette.refresh_owner() + palette_down.refresh_owner() + palette_up.refresh_owner() + listed_actions.update_landing() + palette_actions.update_landing() + +/// Ensures all of our buttons are properly within the bounds of our client's view, moves them if they're not +/datum/hud/proc/view_audit_buttons() + var/our_view = mymob?.client?.view + if(!our_view) + return + listed_actions.check_against_view() + palette_actions.check_against_view() + for(var/obj/screen/movable/action_button/floating_button as anything in floating_actions) + var/list/current_offsets = screen_loc_to_offset(floating_button.screen_loc) + // We set the view arg here, so the output will be properly hemm'd in by our new view + floating_button.screen_loc = offset_to_screen_loc(current_offsets[1], current_offsets[2], view = our_view) + +/// Generates and fills new action groups with our mob's current actions +/datum/hud/proc/build_action_groups() + listed_actions = new(src) + palette_actions = new(src) + floating_actions = list() + for(var/datum/action/action as anything in mymob.actions) + var/obj/screen/movable/action_button/button = action.viewers[src] + if(!button) + action.ShowTo(mymob) + button = action.viewers[src] + position_action(button, button.location) diff --git a/code/_onclick/hud/action/action_item_overlay.dm b/code/_onclick/hud/action/action_item_overlay.dm new file mode 100644 index 00000000000..7d1af7309ef --- /dev/null +++ b/code/_onclick/hud/action/action_item_overlay.dm @@ -0,0 +1,73 @@ +/** + * Apply to an action to allow it to take an item + * and apply it as an overlay of the action button + */ +/datum/component/action_item_overlay + /// Weakref to what item the component uses to apply as an overlay. + var/datum/weakref/item_ref + /// Callback that dictates what item the component uses to apply as an overlay. + var/datum/callback/item_callback + + /// The appearance of the item we've applied + var/mutable_appearance/item_appearance + +/datum/component/action_item_overlay/Initialize(atom/movable/item, datum/callback/item_callback) + if(!istype(parent, /datum/action)) + return COMPONENT_INCOMPATIBLE + + if(!item && !item_callback) + stack_trace("[type] created without a reference item or an item callback - one or the other is required.") + return COMPONENT_INCOMPATIBLE + + src.item_ref = WEAKREF(item) + src.item_callback = item_callback + +/datum/component/action_item_overlay/Destroy(force, silent) + item_ref = null + QDEL_NULL(item_callback) + item_appearance = null + return ..() + +/datum/component/action_item_overlay/RegisterWithParent() + RegisterSignal(parent, COMSIG_ACTION_OVERLAY_APPLY, PROC_REF(on_overlays_applied)) + + var/datum/action/parent_action = parent + parent_action.build_all_button_icons(UPDATE_BUTTON_OVERLAY) + +/datum/component/action_item_overlay/UnregisterFromParent() + UnregisterSignal(parent, COMSIG_ACTION_OVERLAY_APPLY) + + // If we're being unregistered / deleted but our parent is sticking around, + // force an overlay update to get rid of our item appearance + if(!QDELING(parent)) + var/datum/action/parent_action = parent + parent_action.build_all_button_icons(UPDATE_BUTTON_OVERLAY) + +/// Signal proc for [COMSIG_ACTION_OVERLAY_APPLY], applies the item appearance if possible. +/datum/component/action_item_overlay/proc/on_overlays_applied(datum/action/source, obj/screen/movable/action_button/current_button, force) + SIGNAL_HANDLER + + // We're in the middle of being removed / deleted, remove our associated overlay + if(QDELING(src) && item_appearance) + current_button.cut_overlay(item_appearance) + item_appearance = null + return + + var/atom/movable/muse = item_callback?.Invoke() || item_ref?.resolve() + if(!istype(muse)) + return + + if(item_appearance) + // For caching purposes, we will try not to update if we don't need to + if(!force && item_appearance.icon == muse.icon && item_appearance.icon_state == muse.icon_state) + return + current_button.cut_overlay(item_appearance) + + var/mutable_appearance/muse_appearance = new(muse.appearance) + muse_appearance.plane = FLOAT_PLANE + muse_appearance.layer = FLOAT_LAYER + muse_appearance.pixel_x = 0 + muse_appearance.pixel_y = 0 + + current_button.add_overlay(muse_appearance) + item_appearance = muse_appearance diff --git a/code/_onclick/hud/action/action_screen_objects.dm b/code/_onclick/hud/action/action_screen_objects.dm new file mode 100644 index 00000000000..503274f86f7 --- /dev/null +++ b/code/_onclick/hud/action/action_screen_objects.dm @@ -0,0 +1,482 @@ +/obj/screen/movable/action_button + var/datum/action/linked_action + var/datum/hud/our_hud + var/actiontooltipstyle = "" + screen_loc = null + icon = null // we don't use the base icon at all, just underlays and overlays + + /// The icon state of our active overlay, used to prevent re-applying identical overlays + var/active_overlay_icon_state + /// The icon state of our active underlay, used to prevent re-applying identical underlays + var/active_underlay_icon_state + /// The overlay we have overtop our button + var/mutable_appearance/button_overlay + + /// Where we are currently placed on the hud. SCRN_OBJ_DEFAULT asks the linked action what it thinks + var/location = SCRN_OBJ_DEFAULT + /// A unique bitflag, combined with the name of our linked action this lets us persistently remember any user changes to our position + var/id + /// A weakref of the last thing we hovered over + /// God I hate how dragging works + var/datum/weakref/last_hovored_ref + +/obj/screen/movable/action_button/Destroy() + if(our_hud) + var/mob/viewer = our_hud.mymob + our_hud.hide_action(src) + viewer?.client?.screen -= src + linked_action.viewers -= our_hud + viewer.update_action_buttons() + our_hud = null + linked_action = null + return ..() + +/obj/screen/movable/action_button/proc/can_use(mob/user) + // if(isobserver(user)) + // var/mob/dead/observer/dead_mob = user + // if(dead_mob.observetarget) // Observers can only click on action buttons if they're not observing something + // return FALSE + + if(linked_action) + if(linked_action.viewers[user.hud_used]) + return TRUE + return FALSE + + return TRUE + +/obj/screen/movable/action_button/Click(location,control,params) + if(!can_use(usr)) + return + + var/list/modifiers = params2list(params) + if(LAZYACCESS(modifiers, SHIFT_CLICK)) + var/datum/hud/our_hud = usr.hud_used + our_hud.position_action(src, SCRN_OBJ_DEFAULT) + return TRUE + if(!usr.checkClickCooldown()) + return + usr.setClickCooldown(1) + var/trigger_flags + if(LAZYACCESS(modifiers, RIGHT_CLICK)) + trigger_flags |= TRIGGER_SECONDARY_ACTION + linked_action.Trigger(trigger_flags = trigger_flags) + return TRUE + +// Entered and Exited won't fire while you're dragging something, because you're still "holding" it +// Very much byond logic, but I want nice behavior, so we fake it with drag +/obj/screen/movable/action_button/MouseDrag(atom/over_object, src_location, over_location, src_control, over_control, params) + . = ..() + if(!can_use(usr)) + return + if(IS_WEAKREF_OF(over_object, last_hovored_ref)) + return + + var/atom/old_object + if(last_hovored_ref) + old_object = last_hovored_ref.resolve() + else // If there is no current ref, we assume it was us. We also treat this as our "first go" location. + old_object = src + var/datum/hud/our_hud = usr.hud_used + our_hud?.generate_landings(src) + + if(old_object) + old_object.MouseExited(over_location, over_control, params) + + last_hovored_ref = WEAKREF(over_object) + over_object?.MouseEntered(over_location, over_control, params) + +/obj/screen/movable/action_button/MouseEntered(location, control, params) + . = ..() + if(!QDELETED(src)) + openToolTip(usr, src, params, title = name, content = desc, theme = actiontooltipstyle) + +/obj/screen/movable/action_button/MouseExited(location, control, params) + closeToolTip(usr) + return ..() + +/obj/screen/movable/action_button/MouseDrop(over_object) + last_hovored_ref = null + if(!can_use(usr)) + return + var/datum/hud/our_hud = usr.hud_used + if(over_object == src) + our_hud.hide_landings() + return + if(istype(over_object, /obj/screen/action_landing)) + var/obj/screen/action_landing/reserve = over_object + reserve.hit_by(src) + our_hud.hide_landings() + save_position() + return + + our_hud.hide_landings() + if(istype(over_object, /obj/screen/button_palette) || istype(over_object, /obj/screen/palette_scroll)) + our_hud.position_action(src, SCRN_OBJ_IN_PALETTE) + save_position() + return + if(istype(over_object, /obj/screen/movable/action_button)) + var/obj/screen/movable/action_button/button = over_object + our_hud.position_action_relative(src, button) + save_position() + return + . = ..() + our_hud.position_action(src, screen_loc) + save_position() + +/obj/screen/movable/action_button/proc/save_position() + var/mob/user = our_hud.mymob + if(!user?.client) + return + var/position_info = "" + switch(location) + if(SCRN_OBJ_FLOATING) + position_info = screen_loc + if(SCRN_OBJ_IN_LIST) + position_info = SCRN_OBJ_IN_LIST + if(SCRN_OBJ_IN_PALETTE) + position_info = SCRN_OBJ_IN_PALETTE + + LAZYSET(user.client.prefs.action_button_screen_locs, "[name]_[id]", position_info) + +/obj/screen/movable/action_button/proc/load_position() + var/mob/user = our_hud.mymob + if(!user) + return + var/position_info = LAZYACCESS(user.client?.prefs?.action_button_screen_locs, "[name]_[id]") || SCRN_OBJ_DEFAULT + user.hud_used.position_action(src, position_info) + +/obj/screen/movable/action_button/proc/dump_save() + var/mob/user = our_hud.mymob + if(!user?.client) + return + LAZYREMOVE(user.client.prefs.action_button_screen_locs, "[name]_[id]") + +/** + * This is a silly proc used in hud code code to determine what icon and icon state we should be using + * for hud elements (such as action buttons) that don't have their own icon and icon state set. + * + * It returns a list, which is pretty much just a struct of info + */ +/datum/hud/proc/get_action_buttons_icons() + . = list() + .["bg_icon"] = 'icons/mob/actions/backgrounds.dmi' // ui_style // TODO: Implement hud-specific icon stuff + .["bg_state"] = "bg_default" + .["bg_state_active"] = "bg_default_on" + + +/** + * Updates all action buttons this mob has. + * + * Arguments: + * * update_flags - Which flags of the action should we update + * * force - Force buttons update even if the given button icon state has not changed + */ +/mob/proc/update_mob_action_buttons(update_flags = ALL, force = FALSE) + for(var/datum/action/current_action as anything in actions) + current_action.build_all_button_icons(update_flags, force) + +/** + * This proc handles adding all of the mob's actions to their screen + * + * If you just need to update existing buttons, use [/mob/proc/update_mob_action_buttons]! + * + * Arguments: + * * update_flags - reload_screen - bool, if TRUE, this proc will add the button to the screen of the passed mob as well + */ +/mob/proc/update_action_buttons(reload_screen = FALSE) + if(!hud_used || !client) + return + + if(!hud_used.hud_shown) //Hud toggled to minimal + return + + for(var/datum/action/action as anything in actions) + var/obj/screen/movable/action_button/button = action.viewers[hud_used] + action.build_all_button_icons() + if(reload_screen) + client.screen += button + + if(reload_screen) + hud_used.update_our_owner() + // This holds the logic for the palette buttons + hud_used?.palette_actions?.refresh_actions() + +/** + * Show (most) of the another mob's action buttons to this mob + * + * Used for observers viewing another mob's screen + */ +/mob/proc/show_other_mob_action_buttons(mob/take_from) + if(!hud_used || !client) + return + + for(var/datum/action/action as anything in take_from.actions) + if(!action.show_to_observers) + continue + action.GiveAction(src) + RegisterSignal(take_from, COMSIG_MOB_GRANTED_ACTION, PROC_REF(on_observing_action_granted)) + RegisterSignal(take_from, COMSIG_MOB_REMOVED_ACTION, PROC_REF(on_observing_action_removed)) + +/** + * Hide another mob's action buttons from this mob + * + * Used for observers viewing another mob's screen + */ +/mob/proc/hide_other_mob_action_buttons(mob/take_from) + for(var/datum/action/action as anything in take_from.actions) + action.HideFrom(src) + UnregisterSignal(take_from, list(COMSIG_MOB_GRANTED_ACTION, COMSIG_MOB_REMOVED_ACTION)) + +/// Signal proc for [COMSIG_MOB_GRANTED_ACTION] - If we're viewing another mob's action buttons, +/// we need to update with any newly added buttons granted to the mob. +/mob/proc/on_observing_action_granted(mob/living/source, datum/action/action) + SIGNAL_HANDLER + + if(!action.show_to_observers) + return + action.GiveAction(src) + +/// Signal proc for [COMSIG_MOB_REMOVED_ACTION] - If we're viewing another mob's action buttons, +/// we need to update with any removed buttons from the mob. +/mob/proc/on_observing_action_removed(mob/living/source, datum/action/action) + SIGNAL_HANDLER + + action.HideFrom(src) + +// Button Palette +// A new way to interact with actions + +/obj/screen/button_palette + desc = "Drag buttons to move them
Shift-click any button to reset it
Alt-click this to reset all buttons" + icon = 'icons/hud/64x16_actions.dmi' + icon_state = "screen_gen_palette" + screen_loc = ui_action_palette + var/datum/hud/our_hud + var/expanded = FALSE + /// Id of any currently running timers that set our color matrix + var/color_timer_id + +/obj/screen/button_palette/Destroy() + if(our_hud) + our_hud.mymob?.client?.screen -= src + our_hud.toggle_palette = null + our_hud = null + return ..() + +/obj/screen/button_palette/Initialize(mapload) + . = ..() + // update_appearance() + update_name() + +/obj/screen/button_palette/proc/set_hud(datum/hud/our_hud) + src.our_hud = our_hud + refresh_owner() + +// /obj/screen/button_palette/update_name(updates) +/obj/screen/button_palette/proc/update_name() + // . = ..() + if(expanded) + name = "Hide Buttons" + else + name = "Show Buttons" + +/obj/screen/button_palette/proc/refresh_owner() + var/mob/viewer = our_hud.mymob + if(viewer.client) + viewer.client.screen |= src + + // var/list/settings = our_hud.get_action_buttons_icons() + // var/ui_icon = "[settings["bg_icon"]]" + // var/list/ui_segments = splittext(ui_icon, ".") + // var/list/ui_paths = splittext(ui_segments[1], "/") + // var/ui_name = ui_paths[length(ui_paths)] + + // icon_state = "[ui_name]_palette" + +/obj/screen/button_palette/MouseEntered(location, control, params) + . = ..() + if(QDELETED(src)) + return + show_tooltip(params) + +/obj/screen/button_palette/MouseExited() + closeToolTip(usr) + return ..() + +/obj/screen/button_palette/proc/show_tooltip(params) + openToolTip(usr, src, params, title = name, content = desc) + +GLOBAL_LIST_INIT(palette_added_matrix, list(0.4,0.5,0.2,0, 0,1.4,0,0, 0,0.4,0.6,0, 0,0,0,1, 0,0,0,0)) +GLOBAL_LIST_INIT(palette_removed_matrix, list(1.4,0,0,0, 0.7,0.4,0,0, 0.4,0,0.6,0, 0,0,0,1, 0,0,0,0)) + +/obj/screen/button_palette/proc/play_item_added() + color_for_now(GLOB.palette_added_matrix) + +/obj/screen/button_palette/proc/play_item_removed() + color_for_now(GLOB.palette_removed_matrix) + +/obj/screen/button_palette/proc/color_for_now(list/color) + if(color_timer_id) + return + add_atom_colour(color, TEMPORARY_COLOUR_PRIORITY) //We unfortunately cannot animate matrix colors. Curse you lummy it would be ~~non~~trivial to interpolate between the two valuessssssssss + color_timer_id = addtimer(CALLBACK(src, PROC_REF(remove_color), color), 2 SECONDS) + +/obj/screen/button_palette/proc/remove_color(list/to_remove) + color_timer_id = null + remove_atom_colour(TEMPORARY_COLOUR_PRIORITY, to_remove) + +/obj/screen/button_palette/proc/can_use(mob/user) + if(isobserver(user)) + // var/mob/dead/observer/O = user + // return !O.observetarget + return TRUE + return TRUE + +/obj/screen/button_palette/Click(location, control, params) + if(!can_use(usr)) + return + + var/list/modifiers = params2list(params) + + if(LAZYACCESS(modifiers, ALT_CLICK)) + for(var/datum/action/action as anything in usr.actions) // Reset action positions to default + for(var/datum/hud/hud as anything in action.viewers) + var/obj/screen/movable/action_button/button = action.viewers[hud] + hud.position_action(button, SCRN_OBJ_DEFAULT) + to_chat(usr, span_notice("Action button positions have been reset.")) + return TRUE + + set_expanded(!expanded) + +/obj/screen/button_palette/proc/clicked_while_open(datum/source, atom/target, atom/location, control, params, mob/user) + if(istype(target, /obj/screen/movable/action_button) || istype(target, /obj/screen/palette_scroll) || target == src) // If you're clicking on an action button, or us, you can live + return + set_expanded(FALSE) + if(source) + UnregisterSignal(source, COMSIG_CLIENT_CLICK) + +/obj/screen/button_palette/proc/set_expanded(new_expanded) + var/datum/action_group/our_group = our_hud.palette_actions + if(!length(our_group.actions)) //Looks dumb, trust me lad + new_expanded = FALSE + if(expanded == new_expanded) + return + + expanded = new_expanded + our_group.refresh_actions() + // update_appearance() + update_name() + + if(!usr.client) + return + + if(expanded) + RegisterSignal(usr.client, COMSIG_CLIENT_CLICK, PROC_REF(clicked_while_open)) + else + UnregisterSignal(usr.client, COMSIG_CLIENT_CLICK) + + closeToolTip(usr) //Our tooltips are now invalid, can't seem to update them in one frame, so here, just close them + +/obj/screen/palette_scroll + icon = 'icons/hud/screen_gen.dmi' + screen_loc = ui_palette_scroll + /// How should we move the palette's actions? + /// Positive scrolls down the list, negative scrolls back + var/scroll_direction = 0 + var/datum/hud/our_hud + +/obj/screen/palette_scroll/proc/can_use(mob/user) + if(isobserver(user)) + // var/mob/dead/observer/O = user + // return !O.observetarget + return TRUE + return TRUE + +/obj/screen/palette_scroll/proc/set_hud(datum/hud/our_hud) + src.our_hud = our_hud + refresh_owner() + +/obj/screen/palette_scroll/proc/refresh_owner() + var/mob/viewer = our_hud.mymob + if(viewer.client) + viewer.client.screen |= src + + // var/list/settings = our_hud.get_action_buttons_icons() + // icon = settings["bg_icon"] + +/obj/screen/palette_scroll/Click(location, control, params) + if(!can_use(usr)) + return + our_hud.palette_actions.scroll(scroll_direction) + +/obj/screen/palette_scroll/MouseEntered(location, control, params) + . = ..() + if(QDELETED(src)) + return + openToolTip(usr, src, params, title = name, content = desc) + +/obj/screen/palette_scroll/MouseExited() + closeToolTip(usr) + return ..() + +/obj/screen/palette_scroll/down + name = "Scroll Down" + desc = "Click on this to scroll the actions above down" + icon_state = "scroll_down" + scroll_direction = 1 + +/obj/screen/palette_scroll/down/Destroy() + if(our_hud) + our_hud.mymob?.client?.screen -= src + our_hud.palette_down = null + our_hud = null + return ..() + +/obj/screen/palette_scroll/up + name = "Scroll Up" + desc = "Click on this to scroll the actions above up" + icon_state = "scroll_up" + scroll_direction = -1 + +/obj/screen/palette_scroll/up/Destroy() + if(our_hud) + our_hud.mymob?.client?.screen -= src + our_hud.palette_up = null + our_hud = null + return ..() + +/// Exists so you have a place to put your buttons when you move them around +/obj/screen/action_landing + name = "Button Space" + desc = "Drag and drop a button into this spot
to add it to the group" + icon = 'icons/hud/screen_gen.dmi' + icon_state = "reserved" + // We want our whole 32x32 space to be clickable, so dropping's forgiving + mouse_opacity = MOUSE_OPACITY_OPAQUE + var/datum/action_group/owner + +/obj/screen/action_landing/Destroy() + if(owner) + owner.landing = null + owner?.owner?.mymob?.client?.screen -= src + owner.refresh_actions() + owner = null + return ..() + +/obj/screen/action_landing/proc/set_owner(datum/action_group/owner) + src.owner = owner + refresh_owner() + +/obj/screen/action_landing/proc/refresh_owner() + var/datum/hud/our_hud = owner.owner + var/mob/viewer = our_hud.mymob + if(viewer.client) + viewer.client.screen |= src + + // var/list/settings = our_hud.get_action_buttons_icons() + // icon = settings["bg_icon"] + +/// Reacts to having a button dropped on it +/obj/screen/action_landing/proc/hit_by(obj/screen/movable/action_button/button) + var/datum/hud/our_hud = owner.owner + our_hud.position_action(button, owner.location) diff --git a/code/_onclick/hud/action/innate_action.dm b/code/_onclick/hud/action/innate_action.dm new file mode 100644 index 00000000000..cdfb169ddb3 --- /dev/null +++ b/code/_onclick/hud/action/innate_action.dm @@ -0,0 +1,20 @@ +//Preset for general and toggled actions +/datum/action/innate + check_flags = NONE + /// Whether we're active or not, if we're a innate - toggle action. + var/active = 0 + +/datum/action/innate/Trigger(trigger_flags) + if(!..()) + return 0 + if(!active) + Activate() + else + Deactivate() + return 1 + +/datum/action/innate/proc/Activate() + return + +/datum/action/innate/proc/Deactivate() + return diff --git a/code/_onclick/hud/action/item_action.dm b/code/_onclick/hud/action/item_action.dm new file mode 100644 index 00000000000..4644efbf836 --- /dev/null +++ b/code/_onclick/hud/action/item_action.dm @@ -0,0 +1,37 @@ + +//Presets for item actions +/datum/action/item_action + check_flags = AB_CHECK_RESTRAINED|AB_CHECK_STUNNED|AB_CHECK_LYING|AB_CHECK_CONSCIOUS + // If you want to override the normal icon being the item + // then change this to an icon state + button_icon_state = null + +/datum/action/item_action/New(Target) + . = ..() + + // If our button state is null, use the target's icon instead + if(target && isnull(button_icon_state)) + AddComponent(/datum/component/action_item_overlay, target) + +/datum/action/item_action/vv_edit_var(var_name, var_value) + . = ..() + if(!. || !target) + return + + if(var_name == NAMEOF(src, button_icon_state)) + // If someone vv's our icon either add or remove the component + if(isnull(var_name)) + AddComponent(/datum/component/action_item_overlay, target) + else + qdel(GetComponent(/datum/component/action_item_overlay)) + +/datum/action/item_action/Trigger(trigger_flags) + if(!..()) + return 0 + if(target) + var/obj/item/item_target = target + item_target.ui_action_click(owner, src.type) + return 1 + +/datum/action/item_action/hands_free + check_flags = AB_CHECK_CONSCIOUS diff --git a/code/_onclick/hud/action/positioning.dm b/code/_onclick/hud/action/positioning.dm new file mode 100644 index 00000000000..1ed18d87cdf --- /dev/null +++ b/code/_onclick/hud/action/positioning.dm @@ -0,0 +1,49 @@ +/datum/hud/proc/position_action(obj/screen/movable/action_button/button, position) + if(button.location != SCRN_OBJ_DEFAULT) + hide_action(button) + switch(position) + if(SCRN_OBJ_DEFAULT) // Reset to the default + button.dump_save() // Nuke any existing saves + position_action(button, button.linked_action.default_button_position) + return + if(SCRN_OBJ_IN_LIST) + listed_actions.insert_action(button) + if(SCRN_OBJ_IN_PALETTE) + palette_actions.insert_action(button) + else // If we don't have it as a define, this is a screen_loc, and we should be floating + floating_actions += button + button.screen_loc = position + position = SCRN_OBJ_FLOATING + + button.location = position + +/datum/hud/proc/position_action_relative(obj/screen/movable/action_button/button, obj/screen/movable/action_button/relative_to) + if(button.location != SCRN_OBJ_DEFAULT) + hide_action(button) + switch(relative_to.location) + if(SCRN_OBJ_IN_LIST) + listed_actions.insert_action(button, listed_actions.index_of(relative_to)) + if(SCRN_OBJ_IN_PALETTE) + palette_actions.insert_action(button, palette_actions.index_of(relative_to)) + if(SCRN_OBJ_FLOATING) // If we don't have it as a define, this is a screen_loc, and we should be floating + floating_actions += button + var/client/our_client = mymob.client + if(!our_client) + position_action(button, button.linked_action.default_button_position) + return + button.screen_loc = get_valid_screen_location(relative_to.screen_loc, world.icon_size, our_client.view) // Asks for a location adjacent to our button that won't overflow the map + + button.location = relative_to.location + +/// Removes the passed in action from its current position on the screen +/datum/hud/proc/hide_action(obj/screen/movable/action_button/button) + switch(button.location) + if(SCRN_OBJ_DEFAULT) // Invalid + CRASH("We just tried to hide an action buttion that somehow has the default position as its location, you done fucked up") + if(SCRN_OBJ_FLOATING) + floating_actions -= button + if(SCRN_OBJ_IN_LIST) + listed_actions.remove_action(button) + if(SCRN_OBJ_IN_PALETTE) + palette_actions.remove_action(button) + button.screen_loc = null diff --git a/code/_onclick/hud/action/types/item.dm b/code/_onclick/hud/action/types/item.dm new file mode 100644 index 00000000000..ff3c0ed38ab --- /dev/null +++ b/code/_onclick/hud/action/types/item.dm @@ -0,0 +1,174 @@ +// Generic Classes +/datum/action/item_action/activate + +/datum/action/item_action/activate/New(Target, name) + . = ..() + src.name = name + +// Specific names +/datum/action/item_action/toggle_grippers + name = "Toggle Grippers" + +/datum/action/item_action/toggle_talons + name = "Toggle Talons" + +/datum/action/item_action/toggle_goggles + name = "Toggle Goggles" + +/datum/action/item_action/toggle_shield_projector + name = "Toggle Shield Projector" + +/datum/action/item_action/toggle_tesla_armor + name = "Toggle Tesla Armor" + +/datum/action/item_action/remove_replace_paddles + name = "Remove/Replace Paddles" + +/datum/action/item_action/toggle_flashlight + name = "Toggle Flashlight" + +/datum/action/item_action/toggle_shield + name = "Toggle Shield" + +/datum/action/item_action/toggle_heatsink + name = "Toggle Heatsink" + +/datum/action/item_action/remove_replace_handset + name = "Remove/Replace Handset" + +/datum/action/item_action/command + name = "Command" + +/datum/action/item_action/toggle_jetpack + name = "Toggle Jetpack" + +/datum/action/item_action/toggle_cataloguer + name = "Toggle Cataloguer" + +/datum/action/item_action/toggle_eyepatch + name = "Toggle Eyepatch" + +/datum/action/item_action/hands_free/change_scanning_pattern + name = "Change Scanning Pattern" + +/datum/action/item_action/toggle_hud + name = "Toggle HUD" + +/datum/action/item_action/toggle_mode + name = "Toggle Mode" + +/datum/action/item_action/flip_welding_goggles + name = "Flip Welding Goggles" + +/datum/action/item_action/toggle_monocle + name = "Toggle Monocle" + +/datum/action/item_action/adjust_orange_goggles + name = "Adjust Orange Goggles" + +/datum/action/item_action/ar_console_crew + name = "AR Console (Crew Monitor)" + +/datum/action/item_action/ar_console_security_alerts + name = "AR Console (Security Alerts)" + +/datum/action/item_action/ar_console_station_alerts + name = "AR Console (Station Alerts)" + +/datum/action/item_action/ar_console_all_alerts + name = "AR Console (All Alerts)" + +/datum/action/item_action/toggle_head_light + name = "Toggle Head-light" + +/datum/action/item_action/toggle_visor + name = "Toggle Visor" + +/datum/action/item_action/flip_welding_mask + name = "Flip Welding Mask" + +/datum/action/item_action/adjust_breath_mask + name = "Adjust Breath Mask" + +/datum/action/item_action/toggle_feeding_port + name = "Toggle Feeding Port" + +/datum/action/item_action/halt + name = "HALT!" + +/datum/action/item_action/hands_free/redraw_design + name = "Redraw Design" + +/datum/action/item_action/toggle_magboots + name = "Toggle Magboots" + +/datum/action/item_action/toggle_magclaws + name = "Toggle Magclaws" + +/datum/action/item_action/activate_jump_boots + name = "Activate Jump Boots" + +/datum/action/item_action/toggle_helmet_light + name = "Toggle Helmet Light" + +/datum/action/item_action/hardsuit_interface + name = "Hardsuit Interface" + +/datum/action/item_action/toggle_helmet + name = "Toggle Helmet" + +/datum/action/item_action/toggle_knight_headgear + name = "Toggle Knight Headgear" + +/datum/action/item_action/toggle_hood + name = "Toggle Hood" + +/datum/action/item_action/adjust_cloak + name = "Adjust Cloak" + +/datum/action/item_action/adjust_poncho + name = "Adjust Poncho" + +/datum/action/item_action/pull_on_gaiter + name = "Pull On Gaiter" + +/datum/action/item_action/toggle_uv_light + name = "Toggle UV Light" + +/datum/action/item_action/toggle_light + name = "Toggle Light" + +/datum/action/item_action/use_scope + name = "Use Scope" + +/datum/action/item_action/aim_down_sights + name = "Aim Down Sights" + +/datum/action/item_action/toggle_gunlight + name = "Toggle Gun-light" + +/datum/action/item_action/toggle_internal_generator + name = "Toggle Internal Generator" + +/datum/action/item_action/toggle_stock + name = "Toggle Stock" + +/datum/action/item_action/toggle_pom_pom + name = "Toggle Pom-Pom" + +/datum/action/item_action/toggle_mlembulance + name = "Toggle Mlembulance Mode" + +// YW Additions + +/datum/action/item_action/toggle_headphones + name = "Toggle Headphones" + +/datum/action/item_action/flip_aviation_goggles + name = "Flip Aviation Goggles" + +/datum/action/item_action/toggle_cloak_hood + name = "Toggle Cloak Hood" + +/datum/action/item_action/toggle_shield_gauntlet + name = "Toggle Shield Gauntlet" diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm index 7515e47dac6..d343d3d94d0 100644 --- a/code/_onclick/hud/alert.dm +++ b/code/_onclick/hud/alert.dm @@ -350,7 +350,7 @@ Recharging stations are available in robotics, the dormitory bathrooms, and the /obj/screen/alert/locked name = "Locked Down" - desc = "Unit has been remotely locked down. Usage of a Robotics Control Console like the one in the Research Director's \ + desc = "Unit has been remotely locked down. Usage of a Robotics Control Console like the one in the " + JOB_RESEARCH_DIRECTOR + "'s \ office by your AI master or any qualified human may resolve this matter. Robotics may provide further assistance if necessary." icon_state = "locked" no_underlay = TRUE @@ -468,7 +468,7 @@ so as to remain in compliance with the most up-to-date laws." return var/paramslist = params2list(params) if(paramslist["shift"]) // screen objects don't do the normal Click() stuff so we'll cheat - to_chat(usr,"[name] - [desc]") + to_chat(usr,span_boldnotice(name) + " - " + span_info(desc)) return if(master) return usr.client.Click(master, location, control, params) diff --git a/code/_onclick/hud/fullscreen.dm b/code/_onclick/hud/fullscreen.dm index 38646ccbc33..8841c19aa86 100644 --- a/code/_onclick/hud/fullscreen.dm +++ b/code/_onclick/hud/fullscreen.dm @@ -132,7 +132,10 @@ layer = FULLSCREEN_LAYER /obj/screen/fullscreen/fishbed - icon_state = "fishbed" + icon_state = "fishbed" + +/obj/screen/fullscreen/fear + icon_state = "fear" /obj/screen/fullscreen/lighting_backdrop icon = 'icons/mob/screen_gen.dmi' diff --git a/code/_onclick/hud/hud.dm b/code/_onclick/hud/hud.dm index 8dfcdf9b5b6..518c3e03c57 100644 --- a/code/_onclick/hud/hud.dm +++ b/code/_onclick/hud/hud.dm @@ -186,8 +186,15 @@ var/list/global_huds = list( var/list/miniobjs var/list/obj/screen/hotkeybuttons - var/obj/screen/movable/action_button/hide_toggle/hide_actions_toggle - var/action_buttons_hidden = 0 + var/obj/screen/button_palette/toggle_palette + var/obj/screen/palette_scroll/down/palette_down + var/obj/screen/palette_scroll/up/palette_up + + var/datum/action_group/palette/palette_actions + var/datum/action_group/listed/listed_actions + var/list/floating_actions + + var/list/slot_info var/icon/ui_style @@ -205,8 +212,19 @@ var/list/global_huds = list( ..() /datum/hud/Destroy() - . = ..() + if(mymob.hud_used == src) + mymob.hud_used = null + QDEL_NULL_LIST(minihuds) + + // Actions + QDEL_NULL(toggle_palette) + QDEL_NULL(palette_down) + QDEL_NULL(palette_up) + QDEL_NULL(palette_actions) + QDEL_NULL(listed_actions) + QDEL_LIST(floating_actions) + grab_intent = null hurt_intent = null disarm_intent = null @@ -231,6 +249,8 @@ var/list/global_huds = list( ammo_hud_list = null mymob = null + return ..() + /datum/hud/proc/hidden_inventory_update() if(!mymob) return if(ishuman(mymob)) @@ -323,9 +343,18 @@ var/list/global_huds = list( mymob.create_mob_hud(src) + // Past this point, mymob.hud_used is set + + toggle_palette = new() + toggle_palette.set_hud(src) + palette_down = new() + palette_down.set_hud(src) + palette_up = new() + palette_up.set_hud(src) + persistant_inventory_update() mymob.reload_fullscreen() // Reload any fullscreen overlays this mob has. - mymob.update_action_buttons() + mymob.update_action_buttons(TRUE) reorganize_alerts() /mob/proc/create_mob_hud(datum/hud/HUD, apply_to_client = TRUE) @@ -335,6 +364,11 @@ var/list/global_huds = list( HUD.ui_style = ui_style2icon(client?.prefs?.UI_style) HUD.ui_color = client?.prefs?.UI_style_color HUD.ui_alpha = client?.prefs?.UI_style_alpha + set_hud_used(HUD) + +/mob/proc/set_hud_used(datum/hud/new_hud) + hud_used = new_hud + new_hud.build_action_groups() /datum/hud/proc/apply_minihud(var/datum/mini_hud/MH) if(MH in minihuds) @@ -362,7 +396,7 @@ var/list/global_huds = list( set hidden = 1 if(!hud_used) - to_chat(usr, "This mob type does not use a HUD.") + to_chat(src, span_warning("This mob type does not use a HUD.")) return FALSE if(!client) return FALSE @@ -404,10 +438,11 @@ var/list/global_huds = list( hud_used?.action_intent.screen_loc = ui_acti //Restore intent selection to the original position client.screen += zone_sel //This one is a special snowflake + client.screen += hud_used.toggle_palette hud_used.hidden_inventory_update() hud_used.persistant_inventory_update() - update_action_buttons() + update_action_buttons(TRUE) hud_used.reorganize_alerts() return TRUE @@ -467,7 +502,7 @@ var/list/global_huds = list( hud_used.hidden_inventory_update() hud_used.persistant_inventory_update() - update_action_buttons() + update_action_buttons(TRUE) /mob/proc/add_click_catcher() client.screen += client.void @@ -480,7 +515,7 @@ var/list/global_huds = list( * All these do is manage the amount of huds on screen and set the HUD. */ ///Add an ammo hud to the user informing of the ammo count of G -/datum/hud/proc/add_ammo_hud(mob/living/user, obj/item/weapon/gun/G) +/datum/hud/proc/add_ammo_hud(mob/living/user, obj/item/gun/G) if(length(ammo_hud_list) >= MAX_AMMO_HUD_POSSIBLE) return var/obj/screen/ammo/ammo_hud = new @@ -490,7 +525,7 @@ var/list/global_huds = list( ammo_hud.update_hud(user, G) ///Remove the ammo hud related to the gun G from the user -/datum/hud/proc/remove_ammo_hud(mob/living/user, obj/item/weapon/gun/G) +/datum/hud/proc/remove_ammo_hud(mob/living/user, obj/item/gun/G) var/obj/screen/ammo/ammo_hud = ammo_hud_list[G] if(isnull(ammo_hud)) return @@ -504,7 +539,7 @@ var/list/global_huds = list( i++ ///Update the ammo hud related to the gun G -/datum/hud/proc/update_ammo_hud(mob/living/user, obj/item/weapon/gun/G) +/datum/hud/proc/update_ammo_hud(mob/living/user, obj/item/gun/G) var/obj/screen/ammo/ammo_hud = ammo_hud_list[G] ammo_hud?.update_hud(user, G) diff --git a/code/_onclick/hud/human.dm b/code/_onclick/hud/human.dm index da17e7616f3..dec8ee9178d 100644 --- a/code/_onclick/hud/human.dm +++ b/code/_onclick/hud/human.dm @@ -250,7 +250,7 @@ internals = new /obj/screen() internals.icon = HUD.ui_style internals.icon_state = "internal0" - if(istype(internal, /obj/item/weapon/tank)) //Internals on already? Iight, prove it + if(istype(internal, /obj/item/tank)) //Internals on already? Iight, prove it internals.icon_state = "internal1" internals.name = "internal" internals.screen_loc = ui_internal @@ -331,6 +331,14 @@ xenochimera_danger_display.screen_loc = ui_xenochimera_danger_display xenochimera_danger_display.icon_state = "danger00" hud_elements |= xenochimera_danger_display + // YW COMMENT lleill START + /* + lleill_display = new /obj/screen/lleill() + lleill_display.screen_loc = ui_lleill_display + lleill_display.icon_state = "lleill" + hud_elements |= lleill_display + */ + // YW COMMENT lleill END //VOREStation Addition end ling_chem_display = new /obj/screen/ling/chems() @@ -391,7 +399,7 @@ HUD.inventory_shown = 0 /mob/living/carbon/human/verb/toggle_hotkey_verbs() - set category = "OOC" + set category = "OOC.Client Settings" set name = "Toggle hotkey buttons" set desc = "This disables or enables the user interface buttons which can be used with hotkeys." diff --git a/code/_onclick/hud/minihud_mapper.dm b/code/_onclick/hud/minihud_mapper.dm index 1b9246d7295..6c58be26945 100644 --- a/code/_onclick/hud/minihud_mapper.dm +++ b/code/_onclick/hud/minihud_mapper.dm @@ -1,6 +1,6 @@ // Specific types /datum/mini_hud/mapper - var/obj/item/device/mapping_unit/owner + var/obj/item/mapping_unit/owner /datum/mini_hud/mapper/New(var/datum/hud/other, owner) src.owner = owner diff --git a/code/_onclick/hud/minihud_rigmech.dm b/code/_onclick/hud/minihud_rigmech.dm index b4d13f1c864..b0d00f610e0 100644 --- a/code/_onclick/hud/minihud_rigmech.dm +++ b/code/_onclick/hud/minihud_rigmech.dm @@ -1,6 +1,6 @@ // Specific types /datum/mini_hud/rig - var/obj/item/weapon/rig/owner_rig + var/obj/item/rig/owner_rig var/obj/screen/rig/power/power var/obj/screen/rig/health/health var/obj/screen/rig/air/air @@ -8,7 +8,7 @@ needs_processing = TRUE -/datum/mini_hud/rig/New(var/datum/hud/other, var/obj/item/weapon/rig/owner) +/datum/mini_hud/rig/New(var/datum/hud/other, var/obj/item/rig/owner) owner_rig = owner power = new () health = new () @@ -36,8 +36,8 @@ qdel(src) return - var/obj/item/weapon/cell/rigcell = owner_rig.cell - var/obj/item/weapon/tank/rigtank = owner_rig.air_supply + var/obj/item/cell/rigcell = owner_rig.cell + var/obj/item/tank/rigtank = owner_rig.air_supply var/charge_percentage = rigcell ? rigcell.charge / rigcell.maxcharge : 0 var/air_percentage = rigtank ? CLAMP(rigtank.air_contents.total_moles / 17.4693, 0, 1) : 0 @@ -85,7 +85,7 @@ qdel(src) return - var/obj/item/weapon/cell/mechcell = owner_mech.cell + var/obj/item/cell/mechcell = owner_mech.cell var/obj/machinery/portable_atmospherics/canister/mechtank = owner_mech.internal_tank var/charge_percentage = mechcell ? mechcell.charge / mechcell.maxcharge : 0 @@ -146,7 +146,7 @@ var/mob/living/carbon/human/user = usr if(!istype(user) || user.stat || user.incapacitated()) return - var/obj/item/weapon/rig/owner_rig = master + var/obj/item/rig/owner_rig = master if(user != owner_rig.wearer) return user.toggle_internals() diff --git a/code/_onclick/hud/movable_screen_objects.dm b/code/_onclick/hud/movable_screen_objects.dm index 39d36738aa0..6179fd09c66 100644 --- a/code/_onclick/hud/movable_screen_objects.dm +++ b/code/_onclick/hud/movable_screen_objects.dm @@ -9,9 +9,12 @@ //Not tied to the grid, places it's center where the cursor is /obj/screen/movable + mouse_drag_pointer = 'icons/effects/mouse_pointers/screen_drag.dmi' var/snap2grid = FALSE + // TODO: Check if these can safely be deleted var/moved = FALSE - var/x_off = -16 + var/locked = FALSE + var/x_off = -16 var/y_off = -16 //Snap Screen Object @@ -22,30 +25,35 @@ /obj/screen/movable/MouseDrop(over_object, src_location, over_location, src_control, over_control, params) - var/list/PM = params2list(params) + if(locked) // no! i am locked! begone! + return + var/position = mouse_params_to_position(params) + if(!position) + return + + screen_loc = position + moved = screen_loc + +/// Takes mouse parmas as input, returns a string representing the appropriate mouse position +/obj/screen/movable/proc/mouse_params_to_position(params) + var/list/modifiers = params2list(params) //No screen-loc information? abort. - if(!PM || !PM["screen-loc"]) + if(!LAZYACCESS(modifiers, SCREEN_LOC)) return - //Split screen-loc up into X+Pixel_X and Y+Pixel_Y - var/list/screen_loc_params = splittext(PM["screen-loc"], ",") - - //Split X+Pixel_X up into list(X, Pixel_X) - var/list/screen_loc_X = splittext(screen_loc_params[1],":") - screen_loc_X[1] = encode_screen_X(text2num(screen_loc_X[1])) - //Split Y+Pixel_Y up into list(Y, Pixel_Y) - var/list/screen_loc_Y = splittext(screen_loc_params[2],":") - screen_loc_Y[1] = encode_screen_Y(text2num(screen_loc_Y[1])) + var/client/our_client = usr.client + var/list/offset = screen_loc_to_offset(LAZYACCESS(modifiers, SCREEN_LOC), our_client?.view) if(snap2grid) //Discard Pixel Values - screen_loc = "[screen_loc_X[1]],[screen_loc_Y[1]]" - + offset[1] = FLOOR(offset[1], ICON_SIZE_X) // drops any pixel offset + offset[2] = FLOOR(offset[2], ICON_SIZE_Y) // drops any pixel offset else //Normalise Pixel Values (So the object drops at the center of the mouse, not 16 pixels off) - var/pix_X = text2num(screen_loc_X[2]) + x_off - var/pix_Y = text2num(screen_loc_Y[2]) + y_off - screen_loc = "[screen_loc_X[1]]:[pix_X],[screen_loc_Y[1]]:[pix_Y]" + offset[1] += x_off + offset[2] += y_off + return offset_to_screen_loc(offset[1], offset[2], our_client?.view) +// Must stay for now, for subtypes /obj/screen/movable/proc/encode_screen_X(X) var/view_dist = world.view if(view_dist) @@ -74,6 +82,8 @@ . = num+1 else if(findtext(X,"CENTER")) . = view_dist+1 + else + . = text2num(X) /obj/screen/movable/proc/encode_screen_Y(Y) var/view_dist = world.view @@ -102,6 +112,8 @@ . = num+1 else if(findtext(Y,"CENTER")) . = view_dist+1 + else + . = text2num(Y) //Debug procs /client/proc/test_movable_UI() diff --git a/code/_onclick/hud/radial.dm b/code/_onclick/hud/radial.dm index 32725ec5aed..b8032273250 100644 --- a/code/_onclick/hud/radial.dm +++ b/code/_onclick/hud/radial.dm @@ -3,33 +3,52 @@ GLOBAL_LIST_EMPTY(radial_menus) -// Ported from TG - /obj/screen/radial icon = 'icons/mob/radial.dmi' - layer = LAYER_HUD_ABOVE plane = PLANE_PLAYER_HUD_ABOVE + vis_flags = VIS_INHERIT_PLANE + var/click_on_hover = FALSE var/datum/radial_menu/parent +/obj/screen/radial/proc/set_parent(new_value) + if(parent) + UnregisterSignal(parent, COMSIG_PARENT_QDELETING) + parent = new_value + if(parent) + RegisterSignal(parent, COMSIG_PARENT_QDELETING, PROC_REF(handle_parent_del)) + +/obj/screen/radial/proc/handle_parent_del() + SIGNAL_HANDLER + set_parent(null) + /obj/screen/radial/slice icon_state = "radial_slice" var/choice var/next_page = FALSE var/tooltips = FALSE -/obj/screen/radial/Destroy() - parent = null - return ..() +/obj/screen/radial/slice/set_parent(new_value) + . = ..() + if(parent) + icon_state = parent.radial_slice_icon /obj/screen/radial/slice/MouseEntered(location, control, params) . = ..() - icon_state = "radial_slice_focus" + if(next_page || !parent) + icon_state = "radial_slice_focus" + else + icon_state = "[parent.radial_slice_icon]_focus" if(tooltips) openToolTip(usr, src, params, title = name) + if (click_on_hover && !isnull(usr) && !isnull(parent)) + Click(location, control, params) /obj/screen/radial/slice/MouseExited(location, control, params) . = ..() - icon_state = "radial_slice" + if(next_page || !parent) + icon_state = "radial_slice" + else + icon_state = parent.radial_slice_icon if(tooltips) closeToolTip(usr) @@ -38,7 +57,7 @@ GLOBAL_LIST_EMPTY(radial_menus) if(next_page) parent.next_page() else - parent.element_chosen(choice,usr) + parent.element_chosen(choice, usr, params) /obj/screen/radial/center name = "Close Menu" @@ -57,9 +76,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 @@ -87,6 +115,9 @@ GLOBAL_LIST_EMPTY(radial_menus) var/py_shift = 0 var/entry_animation = TRUE + ///A replacement icon state for the generic radial slice bg icon. Doesn't affect the next page nor the center buttons + var/radial_slice_icon + //If we swap to vis_contens inventory these will need a redo /datum/radial_menu/proc/check_screen_border(mob/user) var/atom/movable/AM = anchor @@ -98,6 +129,8 @@ GLOBAL_LIST_EMPTY(radial_menus) else py_shift = 32 restrict_to_dir(NORTH) //I was going to parse screen loc here but that's more effort than it's worth. + else if(hudfix_method && AM.loc) + anchor = get_atom_on_turf(anchor) //Sets defaults //These assume 45 deg min_angle @@ -116,7 +149,7 @@ GLOBAL_LIST_EMPTY(radial_menus) starting_angle = 180 ending_angle = 45 -/datum/radial_menu/proc/setup_menu(use_tooltips) +/datum/radial_menu/proc/setup_menu(use_tooltips, set_page = 1, click_on_hover = FALSE) if(ending_angle > starting_angle) zone = ending_angle - starting_angle else @@ -129,7 +162,7 @@ GLOBAL_LIST_EMPTY(radial_menus) for(var/i in 1 to elements_to_add) //Create all elements var/obj/screen/radial/slice/new_element = new /obj/screen/radial/slice new_element.tooltips = use_tooltips - new_element.parent = src + new_element.set_parent(src) elements += new_element var/page = 1 @@ -152,22 +185,31 @@ GLOBAL_LIST_EMPTY(radial_menus) page_data[page] = current pages = page - current_page = 1 - update_screen_objects(anim = entry_animation) + current_page = clamp(set_page, 1, pages) + update_screen_objects(entry_animation, click_on_hover) -/datum/radial_menu/proc/update_screen_objects(anim = FALSE) +/datum/radial_menu/proc/update_screen_objects(anim = FALSE, click_on_hover = FALSE) var/list/page_choices = page_data[current_page] var/angle_per_element = round(zone / page_choices.len) for(var/i in 1 to elements.len) - var/obj/screen/radial/E = elements[i] + var/obj/screen/radial/element = elements[i] var/angle = WRAP(starting_angle + (i - 1) * angle_per_element,0,360) if(i > page_choices.len) - HideElement(E) + HideElement(element) + element.click_on_hover = FALSE else - SetElement(E,page_choices[i],angle,anim = anim,anim_order = i) + SetElement(element,page_choices[i],angle,anim = anim,anim_order = i) + // Only activate click on hover after the animation plays + if (!click_on_hover) + continue + if (anim) + addtimer(VARSET_CALLBACK(element, click_on_hover, TRUE), i * 0.5) + else + element.click_on_hover = TRUE /datum/radial_menu/proc/HideElement(obj/screen/radial/slice/E) E.cut_overlays() + E.vis_contents.Cut() E.alpha = 0 E.name = "None" E.maptext = null @@ -194,13 +236,22 @@ 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 + E.icon_state = "radial_slice" // Resets the bg icon state to the default for next page buttons. E.add_overlay("radial_next") else - if(istext(choices_values[choice_id])) + //This isn't granted to exist, so use the ?. operator for conditionals that use it. + var/datum/radial_menu_choice/choice_datum = choice_datums[choice_id] + if(choice_datum?.name) + E.name = choice_datum.name + else if(istext(choices_values[choice_id])) E.name = choices_values[choice_id] + else if(ispath(choices_values[choice_id],/atom)) + var/atom/A = choices_values[choice_id] + E.name = initial(A.name) else var/atom/movable/AM = choices_values[choice_id] //Movables only E.name = AM.name @@ -209,15 +260,21 @@ GLOBAL_LIST_EMPTY(radial_menus) E.next_page = FALSE if(choices_icons[choice_id]) E.add_overlay(choices_icons[choice_id]) + if (choice_datum?.info) + var/obj/effect/abstract/info/info_button = new(E, choice_datum.info) + info_button.plane = PLANE_PLAYER_HUD_ABOVE + info_button.layer = RADIAL_CONTENT_LAYER + E.vis_contents += info_button /datum/radial_menu/New() close_button = new - close_button.parent = src + close_button.set_parent(src) /datum/radial_menu/proc/Reset() choices.Cut() choices_icons.Cut() choices_values.Cut() + choice_datums.Cut() current_page = 1 /datum/radial_menu/proc/element_chosen(choice_id,mob/user) @@ -226,7 +283,7 @@ GLOBAL_LIST_EMPTY(radial_menus) /datum/radial_menu/proc/get_next_id() return "c_[choices.len]" -/datum/radial_menu/proc/set_choices(list/new_choices, use_tooltips) +/datum/radial_menu/proc/set_choices(list/new_choices, use_tooltips, click_on_hover = FALSE, set_page = 1) if(choices.len) Reset() for(var/E in new_choices) @@ -237,13 +294,20 @@ GLOBAL_LIST_EMPTY(radial_menus) var/I = extract_image(new_choices[E]) if(I) choices_icons[id] = I - setup_menu(use_tooltips) + if (istype(new_choices[E], /datum/radial_menu_choice)) + choice_datums[id] = new_choices[E] + setup_menu(use_tooltips, set_page, click_on_hover) + +/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 -/datum/radial_menu/proc/extract_image(E) - var/mutable_appearance/MA = new /mutable_appearance(E) + var/mutable_appearance/MA = new /mutable_appearance(to_extract_from) if(MA) - MA.layer = LAYER_HUD_ABOVE + MA.plane = PLANE_PLAYER_HUD_ABOVE + MA.layer = RADIAL_CONTENT_LAYER MA.appearance_flags |= RESET_TRANSFORM return MA @@ -253,15 +317,16 @@ GLOBAL_LIST_EMPTY(radial_menus) current_page = WRAP(current_page + 1,1,pages+1) update_screen_objects() -/datum/radial_menu/proc/show_to(mob/M) +/datum/radial_menu/proc/show_to(mob/M, offset_x = 0, offset_y = 0) if(current_user) hide() if(!M.client || !anchor) return current_user = M.client //Blank - menu_holder = image(icon='icons/effects/effects.dmi',loc=anchor,icon_state="nothing",layer = LAYER_HUD_ABOVE) - menu_holder.appearance_flags |= KEEP_APART + menu_holder = image(icon='icons/effects/effects.dmi',loc=anchor,icon_state="nothing", layer = RADIAL_BACKGROUND_LAYER, pixel_x = offset_x, pixel_y = offset_y) + menu_holder.plane = PLANE_PLAYER_HUD_ABOVE + menu_holder.appearance_flags |= KEEP_APART|RESET_ALPHA|RESET_COLOR|RESET_TRANSFORM menu_holder.vis_contents += elements + close_button current_user.images += menu_holder @@ -283,9 +348,7 @@ GLOBAL_LIST_EMPTY(radial_menus) /datum/radial_menu/Destroy() Reset() hide() - QDEL_LIST_NULL(elements) - QDEL_NULL(close_button) - QDEL_NULL(custom_check_callback) + custom_check_callback = null . = ..() /* @@ -293,30 +356,66 @@ GLOBAL_LIST_EMPTY(radial_menus) Choices should be a list where list keys are movables or text used for element names and return value and list values are movables/icons/images used for element icons */ -/proc/show_radial_menu(mob/user, atom/anchor, list/choices, uniqueid, radius, datum/callback/custom_check, require_near = FALSE, tooltips = FALSE) +/proc/show_radial_menu(mob/user, atom/anchor, list/choices, uniqueid, radius, datum/callback/custom_check, require_near = FALSE, tooltips = FALSE, no_repeat_close = FALSE, radial_slice_icon = "radial_slice", autopick_single_option = TRUE, entry_animation = TRUE, click_on_hover = FALSE, user_space = FALSE) if(!user || !anchor || !length(choices)) return + + if(length(choices)==1 && autopick_single_option) + return choices[1] + if(!uniqueid) uniqueid = "defmenu_[REF(user)]_[REF(anchor)]" if(GLOB.radial_menus[uniqueid]) + if(!no_repeat_close) + var/datum/radial_menu/menu = GLOB.radial_menus[uniqueid] + menu.finished = TRUE return var/datum/radial_menu/menu = new + menu.entry_animation = entry_animation GLOB.radial_menus[uniqueid] = menu if(radius) menu.radius = radius if(istype(custom_check)) menu.custom_check_callback = custom_check - menu.anchor = anchor + menu.anchor = user_space ? user : anchor + menu.radial_slice_icon = radial_slice_icon menu.check_screen_border(user) //Do what's needed to make it look good near borders or on hud - menu.set_choices(choices, tooltips) - menu.show_to(user) + menu.set_choices(choices, tooltips, click_on_hover) + var/offset_x = 0 + var/offset_y = 0 + if (user_space) + var/turf/user_turf = get_turf(user) + var/turf/anchor_turf = get_turf(anchor) + offset_x = (anchor_turf.x - user_turf.x) * ICON_SIZE_X + anchor.pixel_x - user.pixel_x + offset_y = (anchor_turf.y - user_turf.y) * ICON_SIZE_Y + anchor.pixel_y - user.pixel_y + menu.show_to(user, offset_x, offset_y) menu.wait(user, anchor, require_near) var/answer = menu.selected_choice - QDEL_NULL(menu) + qdel(menu) GLOB.radial_menus -= uniqueid + if(require_near && !in_range(anchor, user)) + return + if(istype(custom_check)) + 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, this will be the name the radial slice hud button. This has priority over everything else. + var/name + + /// 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) + #undef NEXT_PAGE_ID #undef DEFAULT_CHECK_DELAY diff --git a/code/_onclick/hud/robot.dm b/code/_onclick/hud/robot.dm index c857c56861d..4b062a6b5fe 100644 --- a/code/_onclick/hud/robot.dm +++ b/code/_onclick/hud/robot.dm @@ -216,6 +216,23 @@ var/obj/screen/robot_inventory client.screen += list( throw_icon, zone_sel, hands, healths, pullin, robot_inventory, gun_setting_icon) client.screen += HUD.adding + HUD.other client.screen += client.void + if(vtec_active) + using = new /obj/screen() + using.name = "control_vtec" + using.icon = HUD.ui_style + using.screen_loc = ui_vtec_control + using.color = HUD.ui_color + using.alpha = HUD.ui_alpha + if(speed == 0) + using.icon_state = "speed_0" + else if(speed == -0.5) + using.icon_state = "speed_1" + else if(speed == -1) + using.icon_state = "speed_2" + HUD.control_vtec = using + m_intent = "run" + HUD.move_intent.icon_state = "running" + client.screen += HUD.control_vtec /datum/hud/proc/toggle_vtec_control() if(!isrobot(mymob)) @@ -239,9 +256,9 @@ var/obj/screen/robot_inventory control_vtec.icon_state = "speed_2" R.m_intent = "run" R.hud_used.move_intent.icon_state = "running" - R.client.screen += control_vtec + R.client?.screen += control_vtec else - R.client.screen -= control_vtec + R.client?.screen -= control_vtec R.speed = 0 /datum/hud/proc/toggle_show_robot_modules() @@ -265,11 +282,11 @@ var/obj/screen/robot_inventory //r.client.screen += robot_inventory //"store" icon if(!r.module) - to_chat(usr, "No module selected") + to_chat(r, span_danger("No module selected")) return if(!r.module.modules) - to_chat(usr, "Selected module has no modules to select") + to_chat(r, span_danger("Selected module has no modules to select")) return if(!r.robot_modules_background) diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index cd9c4044b6a..cc567b9e2e4 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -69,8 +69,8 @@ /obj/screen/close/Click() if(master) - if(istype(master, /obj/item/weapon/storage)) - var/obj/item/weapon/storage/S = master + if(istype(master, /obj/item/storage)) + var/obj/item/storage/S = master S.close(usr) return 1 @@ -101,7 +101,7 @@ name = "grab" /obj/screen/grab/Click() - var/obj/item/weapon/grab/G = master + var/obj/item/grab/G = master G.s_click(src) return 1 @@ -290,7 +290,7 @@ if(iscarbon(usr)) var/mob/living/carbon/C = usr if(C.legcuffed) - to_chat(C, "You are legcuffed! You cannot run until you get [C.legcuffed] removed!") + to_chat(C, span_notice("You are legcuffed! You cannot run until you get [C.legcuffed] removed!")) C.m_intent = "walk" //Just incase C.hud_used.move_intent.icon_state = "walking" return 1 @@ -330,7 +330,7 @@ if(!C.stat && !C.stunned && !C.paralysis && !C.restrained()) if(C.internal) C.internal = null - to_chat(C, "No longer running on internals.") + to_chat(C, span_notice("No longer running on internals.")) if(C.internals) C.internals.icon_state = "internal0" else @@ -342,7 +342,7 @@ no_mask = 1 if(no_mask) - to_chat(C, "You are not wearing a suitable mask or helmet.") + to_chat(C, span_notice("You are not wearing a suitable mask or helmet.")) return 1 else var/list/nicename = null @@ -361,7 +361,7 @@ tankcheck = list(C.r_hand, C.l_hand, C.back) // Rigs are a fucking pain since they keep an air tank in nullspace. - var/obj/item/weapon/rig/Rig = C.get_rig() + var/obj/item/rig/Rig = C.get_rig() if(Rig) if(Rig.air_supply && !Rig.offline) from = "in" @@ -369,8 +369,8 @@ tankcheck |= Rig.air_supply for(var/i=1, iYou are now running on internals from [tankcheck[best]] [from] your [nicename[best]].") + to_chat(C, span_notice("You are now running on internals from [tankcheck[best]] [from] your [nicename[best]].")) C.internal = tankcheck[best] @@ -431,7 +431,7 @@ if(C.internals) C.internals.icon_state = "internal1" else - to_chat(C, "You don't have a[breathes=="oxygen" ? "n oxygen" : addtext(" ",breathes)] tank.") + to_chat(C, span_notice("You don't have a[breathes=="oxygen" ? "n oxygen" : addtext(" ",breathes)] tank.")) if("act_intent") usr.a_intent_change("right") if(I_HELP) @@ -497,7 +497,7 @@ if(i) s.can_use(u,i) else - to_chat(usr, "You're not holding anything to use. You need to have something in your active hand to use it.") + to_chat(usr, span_notice("You're not holding anything to use. You need to have something in your active hand to use it.")) if("module") if(isrobot(usr)) @@ -772,7 +772,7 @@ var/obj/screen/mapper/powbutton/powbutton var/obj/screen/mapper/mapbutton/mapbutton - var/obj/item/device/mapping_unit/owner + var/obj/item/mapping_unit/owner var/obj/screen/mapper/extras_holder/extras_holder /obj/screen/movable/mapper_holder/Initialize(mapload, newowner) @@ -965,7 +965,7 @@ var/warned = FALSE var/static/list/ammo_screen_loc_list = list(ui_ammo_hud1, ui_ammo_hud2, ui_ammo_hud3 ,ui_ammo_hud4) -/obj/screen/ammo/proc/add_hud(var/mob/living/user, var/obj/item/weapon/gun/G) +/obj/screen/ammo/proc/add_hud(var/mob/living/user, var/obj/item/gun/G) if(!user?.client) return @@ -981,7 +981,7 @@ /obj/screen/ammo/proc/remove_hud(var/mob/living/user) user?.client?.screen -= src -/obj/screen/ammo/proc/update_hud(var/mob/living/user, var/obj/item/weapon/gun/G) +/obj/screen/ammo/proc/update_hud(var/mob/living/user, var/obj/item/gun/G) if(!user?.client?.screen.Find(src)) return diff --git a/code/_onclick/hud/screen_objects_vr.dm b/code/_onclick/hud/screen_objects_vr.dm index 4d837803279..d3e43bb628a 100644 --- a/code/_onclick/hud/screen_objects_vr.dm +++ b/code/_onclick/hud/screen_objects_vr.dm @@ -6,60 +6,64 @@ if("darkness") var/turf/T = get_turf(usr) var/darkness = round(1 - T.get_lumcount(),0.1) - to_chat(usr,"Darkness: [darkness]") + to_chat(usr,span_notice(span_bold("Darkness:") + " [darkness]")) if("energy") var/mob/living/simple_mob/shadekin/SK = usr if(istype(SK)) - to_chat(usr,"Energy: [SK.energy] ([SK.dark_gains])") + to_chat(usr,span_notice(span_bold("Energy:") + " [SK.energy] ([SK.dark_gains])")) if("shadekin status") var/turf/T = get_turf(usr) if(T) var/darkness = round(1 - T.get_lumcount(),0.1) - to_chat(usr,"Darkness: [darkness]") + to_chat(usr,span_notice(span_bold("Darkness:") + " [darkness]")) var/mob/living/carbon/human/H = usr if(istype(H) && istype(H.species, /datum/species/shadekin)) - to_chat(usr,"Energy: [H.shadekin_get_energy(H)]") + to_chat(usr,span_notice(span_bold("Energy:") + " [H.shadekin_get_energy(H)]")) + if("glamour") + var/mob/living/carbon/human/H = usr + if(istype(H)) + to_chat(usr,span_notice(span_bold("Energy:") + " [H.species.lleill_energy]/[H.species.lleill_energy_max]")) if("danger level") var/mob/living/carbon/human/H = usr if(istype(H) && istype(H.species, /datum/species/xenochimera)) if(H.feral > 50) - to_chat(usr, "You are currently completely feral.") + to_chat(usr, span_warning("You are currently completely feral.")) else if(H.feral > 10) - to_chat(usr, "You are currently crazed and confused.") + to_chat(usr, span_warning("You are currently crazed and confused.")) else if(H.feral > 0) - to_chat(usr, "You are currently acting on instinct.") + to_chat(usr, span_warning("You are currently acting on instinct.")) else - to_chat(usr, "You are currently calm and collected.") + to_chat(usr, span_notice("You are currently calm and collected.")) if(H.feral > 0) var/feral_passing = TRUE if(H.traumatic_shock > min(60, H.nutrition/10)) - to_chat(usr, "Your pain prevents you from regaining focus.") + to_chat(usr, span_warning("Your pain prevents you from regaining focus.")) feral_passing = FALSE if(H.feral + H.nutrition < 150) - to_chat(usr, "Your hunger prevents you from regaining focus.") + to_chat(usr, span_warning("Your hunger prevents you from regaining focus.")) feral_passing = FALSE if(H.jitteriness >= 100) - to_chat(usr, "Your jitterness prevents you from regaining focus.") + to_chat(usr, span_warning("Your jitterness prevents you from regaining focus.")) feral_passing = FALSE if(feral_passing) var/turf/T = get_turf(H) if(T.get_lumcount() <= 0.1) - to_chat(usr, "You are slowly calming down in darkness' safety...") + to_chat(usr, span_notice("You are slowly calming down in darkness' safety...")) else if(isbelly(H.loc)) // Safety message for if inside a belly. - to_chat(usr, "You are slowly calming down within the darkness of something's belly, listening to their body as it moves around you. ...safe...") + to_chat(usr, span_notice("You are slowly calming down within the darkness of something's belly, listening to their body as it moves around you. ...safe...")) else - to_chat(usr, "You are slowly calming down... But safety of darkness is much preferred.") + to_chat(usr, span_notice("You are slowly calming down... But safety of darkness is much preferred.")) else if(H.nutrition < 150) - to_chat(usr, "Your hunger is slowly making you unstable.") + to_chat(usr, span_warning("Your hunger is slowly making you unstable.")) if("Reconstructing Form") // Allow Viewing Reconstruction Timer + Hatching for 'chimera var/mob/living/carbon/human/H = usr if(istype(H) && istype(H.species, /datum/species/xenochimera)) // If you're somehow able to click this while not a chimera, this should prevent weird runtimes. Will need changing if regeneration is ever opened to non-chimera using the same alert. if(H.revive_ready == REVIVING_NOW) - to_chat(usr, "We are currently reviving, and will be done in [round((H.revive_finished - world.time) / 10)] seconds, or [round(((H.revive_finished - world.time) * 0.1) / 60)] minutes.") + to_chat(usr, span_notice("We are currently reviving, and will be done in [round((H.revive_finished - world.time) / 10)] seconds, or [round(((H.revive_finished - world.time) * 0.1) / 60)] minutes.")) else if(H.revive_ready == REVIVING_DONE) - to_chat(usr, "You should have a notification + alert for this! Bug report that this is still here!") - + to_chat(usr, span_warning("You should have a notification + alert for this! Bug report that this is still here!")) + if("Ready to Hatch") // Allow Viewing Reconstruction Timer + Hatching for 'chimera var/mob/living/carbon/human/H = usr if(istype(H) && istype(H.species, /datum/species/xenochimera)) // If you're somehow able to click this while not a chimera, this should prevent weird runtimes. Will need changing if regeneration is ever opened to non-chimera using the same alert. @@ -69,4 +73,4 @@ else return 0 - return 1 \ No newline at end of file + return 1 diff --git a/code/_onclick/observer.dm b/code/_onclick/observer.dm index 50906085047..7e0f0bdc698 100644 --- a/code/_onclick/observer.dm +++ b/code/_onclick/observer.dm @@ -2,13 +2,13 @@ /mob/observer/dead/verb/toggle_inquisition() // warning: unexpected inquisition set name = "Toggle Inquisitiveness" set desc = "Sets whether your ghost examines everything on click by default" - set category = "Ghost" + set category = "Ghost.Settings" if(!client) return client.inquisitive_ghost = !client.inquisitive_ghost if(client.inquisitive_ghost) - to_chat(src, "You will now examine everything you click on.") + to_chat(src, span_notice("You will now examine everything you click on.")) else - to_chat(src, "You will no longer examine things you click on.") + to_chat(src, span_notice("You will no longer examine things you click on.")) /mob/observer/dead/DblClickOn(var/atom/A, var/params) if(client.buildmode) @@ -41,7 +41,7 @@ if(modifiers["alt"]) // alt and alt-gr (rightalt) var/turf/T = get_turf(A) if(T && TurfAdjacent(T)) - ToggleTurfTab(T) + set_listed_turf(T) return // You are responsible for checking config.ghost_interaction when you override this function // Not all of them require checking, see below diff --git a/code/_onclick/rig.dm b/code/_onclick/rig.dm index e281505dc24..6ca619c7677 100644 --- a/code/_onclick/rig.dm +++ b/code/_onclick/rig.dm @@ -1,48 +1,48 @@ -#define MIDDLE_CLICK 0 -#define ALT_CLICK 1 -#define CTRL_CLICK 2 +#define HARDSUIT_MIDDLE_CLICK 0 +#define HARDSUIT_ALT_CLICK 1 +#define HARDSUIT_CTRL_CLICK 2 #define MAX_HARDSUIT_CLICK_MODE 2 /client - var/hardsuit_click_mode = MIDDLE_CLICK + var/hardsuit_click_mode = HARDSUIT_MIDDLE_CLICK /client/verb/toggle_hardsuit_mode() set name = "Toggle Hardsuit Activation Mode" set desc = "Switch between hardsuit activation modes." - set category = "OOC" + set category = "OOC.Game Settings" hardsuit_click_mode++ if(hardsuit_click_mode > MAX_HARDSUIT_CLICK_MODE) hardsuit_click_mode = 0 switch(hardsuit_click_mode) - if(MIDDLE_CLICK) + if(HARDSUIT_MIDDLE_CLICK) to_chat(src, "Hardsuit activation mode set to middle-click.") - if(ALT_CLICK) + if(HARDSUIT_ALT_CLICK) to_chat(src, "Hardsuit activation mode set to alt-click.") - if(CTRL_CLICK) + if(HARDSUIT_CTRL_CLICK) to_chat(src, "Hardsuit activation mode set to control-click.") else // should never get here, but just in case: soft_assert(0, "Bad hardsuit click mode: [hardsuit_click_mode] - expected 0 to [MAX_HARDSUIT_CLICK_MODE]") to_chat(src, "Somehow you bugged the system. Setting your hardsuit mode to middle-click.") - hardsuit_click_mode = MIDDLE_CLICK + hardsuit_click_mode = HARDSUIT_MIDDLE_CLICK /mob/living/MiddleClickOn(atom/A) - if(client && client.hardsuit_click_mode == MIDDLE_CLICK) + if(client && client.hardsuit_click_mode == HARDSUIT_MIDDLE_CLICK) if(HardsuitClickOn(A)) return ..() /mob/living/AltClickOn(atom/A) - if(client && client.hardsuit_click_mode == ALT_CLICK) + if(client && client.hardsuit_click_mode == HARDSUIT_ALT_CLICK) if(HardsuitClickOn(A)) return ..() /mob/living/CtrlClickOn(atom/A) - if(client && client.hardsuit_click_mode == CTRL_CLICK) + if(client && client.hardsuit_click_mode == HARDSUIT_CTRL_CLICK) if(HardsuitClickOn(A)) return ..() @@ -54,7 +54,7 @@ return 1 /mob/living/carbon/brain/can_use_rig() - return istype(loc, /obj/item/device/mmi) + return istype(loc, /obj/item/mmi) /mob/living/silicon/ai/can_use_rig() return carded @@ -65,7 +65,7 @@ /mob/living/proc/HardsuitClickOn(var/atom/A, var/alert_ai = 0) if(!can_use_rig()) return 0 - var/obj/item/weapon/rig/rig = get_rig() + var/obj/item/rig/rig = get_rig() if(istype(rig) && !rig.offline && rig.selected_module) if(src != rig.wearer) if(rig.ai_can_move_suit(src, check_user_module = 1)) @@ -78,7 +78,7 @@ return 1 return 0 -#undef MIDDLE_CLICK -#undef ALT_CLICK -#undef CTRL_CLICK +#undef HARDSUIT_MIDDLE_CLICK +#undef HARDSUIT_ALT_CLICK +#undef HARDSUIT_CTRL_CLICK #undef MAX_HARDSUIT_CLICK_MODE diff --git a/code/_onclick/telekinesis.dm b/code/_onclick/telekinesis.dm index 16141343c65..efe047ebeff 100644 --- a/code/_onclick/telekinesis.dm +++ b/code/_onclick/telekinesis.dm @@ -110,7 +110,7 @@ var/const/tk_maxrange = 15 if(focus) d = max(d, get_dist(user, focus)) // whichever is further if(d > tk_maxrange) - to_chat(user, "Your mind won't reach that far.") + to_chat(user, span_notice("Your mind won't reach that far.")) return if(!focus) diff --git a/code/_unit_tests.dm b/code/_unit_tests.dm deleted file mode 100644 index 7a1a4cbbf38..00000000000 --- a/code/_unit_tests.dm +++ /dev/null @@ -1,10 +0,0 @@ -/* - * - * This file is used by CI to indicate that Unit Tests are to be ran. - * Do not add anything but the UNIT_TEST definition here as it will be overwritten by CI when running tests. - * - * - * Should you wish to edit set UNIT_TEST to 1 like so: - * #define UNIT_TEST 1 - */ -#define UNIT_TEST 0 diff --git a/code/controllers/autotransfer.dm b/code/controllers/autotransfer.dm index a4eac0278ea..4a76dccf63d 100644 --- a/code/controllers/autotransfer.dm +++ b/code/controllers/autotransfer.dm @@ -6,9 +6,9 @@ var/datum/controller/transfer_controller/transfer_controller var/shift_hard_end = 0 //VOREStation Edit var/shift_last_vote = 0 //VOREStation Edit /datum/controller/transfer_controller/New() - timerbuffer = config.vote_autotransfer_initial - shift_hard_end = config.vote_autotransfer_initial + (config.vote_autotransfer_interval * config.vote_autotransfer_amount) //YW Edit: made that '1' a config //VOREStation Edit //Change this "1" to how many extend votes you want there to be. - shift_last_vote = shift_hard_end - config.vote_autotransfer_interval //VOREStation Edit + timerbuffer = CONFIG_GET(number/vote_autotransfer_initial) + shift_hard_end = CONFIG_GET(number/vote_autotransfer_initial) + (CONFIG_GET(number/vote_autotransfer_interval) * CONFIG_GET(number/vote_autotransfer_amount)) //YW Edit: made that '1' a config //VOREStation Edit //Change this "1" to how many extend votes you want there to be. + shift_last_vote = shift_hard_end - CONFIG_GET(number/vote_autotransfer_interval) //VOREStation Edit START_PROCESSING(SSprocessing, src) /datum/controller/transfer_controller/Destroy() @@ -17,14 +17,14 @@ var/datum/controller/transfer_controller/transfer_controller /datum/controller/transfer_controller/process() currenttick = currenttick + 1 //VOREStation Edit START - if (round_duration_in_ds >= shift_last_vote - 2 MINUTES) + if (round_duration_in_ds >= shift_last_vote - 2 MINUTES) shift_last_vote = 99999999 //Setting to a stupidly high number since it'll be not used again. - to_world("Warning: This upcoming round-extend vote will be your ONLY extend vote. Wrap up your scenes in the next 4 hours if the round is extended.") //YW Edit + to_world(span_world(span_notice("Warning: This upcoming round-extend vote will be your ONLY extend vote. Wrap up your scenes in the next 4 hours if the round is extended."))) //YW Edit if (round_duration_in_ds >= shift_hard_end - 1 MINUTE) init_shift_change(null, 1) - shift_hard_end = timerbuffer + config.vote_autotransfer_interval //If shuttle somehow gets recalled, let's force it to call again next time a vote would occur. - timerbuffer = timerbuffer + config.vote_autotransfer_interval //Just to make sure a vote doesn't occur immediately afterwords. + shift_hard_end = timerbuffer + CONFIG_GET(number/vote_autotransfer_interval) //If shuttle somehow gets recalled, let's force it to call again next time a vote would occur. + timerbuffer = timerbuffer + CONFIG_GET(number/vote_autotransfer_interval) //Just to make sure a vote doesn't occur immediately afterwords. else if (round_duration_in_ds >= timerbuffer - 1 MINUTE) - SSvote.autotransfer() + SSvote.start_vote(new /datum/vote/crew_transfer) //VOREStation Edit END - timerbuffer = timerbuffer + config.vote_autotransfer_interval + timerbuffer = timerbuffer + CONFIG_GET(number/vote_autotransfer_interval) diff --git a/code/controllers/communications.dm b/code/controllers/communications.dm index bbdccb8fc0e..e8d76099c74 100644 --- a/code/controllers/communications.dm +++ b/code/controllers/communications.dm @@ -129,25 +129,25 @@ var/const/TALON_FREQ = 1363 //VOREStation Add var/const/CSN_FREQ = 1365 //VOREStation Add var/list/radiochannels = list( - "Common" = PUB_FREQ, - "Science" = SCI_FREQ, - "Command" = COMM_FREQ, - "Medical" = MED_FREQ, - "Engineering" = ENG_FREQ, - "Security" = SEC_FREQ, - "Response Team" = ERT_FREQ, - "Special Ops" = DTH_FREQ, - "Mercenary" = SYND_FREQ, - "Raider" = RAID_FREQ, - "Supply" = SUP_FREQ, - "Service" = SRV_FREQ, - "Away Team" = EXP_FREQ, - "AI Private" = AI_FREQ, - "Entertainment" = ENT_FREQ, - "Medical(I)" = MED_I_FREQ, - "Security(I)" = SEC_I_FREQ, - "Talon" = TALON_FREQ, //VOREStation Add - "Casino" = CSN_FREQ, + CHANNEL_COMMON = PUB_FREQ, + CHANNEL_SCIENCE = SCI_FREQ, + CHANNEL_COMMAND = COMM_FREQ, + CHANNEL_MEDICAL = MED_FREQ, + CHANNEL_ENGINEERING = ENG_FREQ, + CHANNEL_SECURITY = SEC_FREQ, + CHANNEL_RESPONSE_TEAM = ERT_FREQ, + CHANNEL_SPECIAL_OPS = DTH_FREQ, + CHANNEL_MERCENARY = SYND_FREQ, + CHANNEL_RAIDER = RAID_FREQ, + CHANNEL_SUPPLY = SUP_FREQ, + CHANNEL_SERVICE = SRV_FREQ, + CHANNEL_EXPLORATION = EXP_FREQ, + CHANNEL_AI_PRIVATE = AI_FREQ, + CHANNEL_ENTERTAINMENT = ENT_FREQ, + CHANNEL_MEDICAL_1 = MED_I_FREQ, + CHANNEL_SECURITY_1 = SEC_I_FREQ, + CHANNEL_TALON = TALON_FREQ, //VOREStation Add + CHANNEL_CASINO = CSN_FREQ, ) // Hey, if anyone ever needs to update tgui/packages/tgui/constants.js with new radio channels diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm deleted file mode 100644 index 289c9345d92..00000000000 --- a/code/controllers/configuration.dm +++ /dev/null @@ -1,1211 +0,0 @@ -var/list/gamemode_cache = list() - -/datum/configuration - var/static/server_name = null // server name (for world name / status) - var/static/server_suffix = 0 // generate numeric suffix based on server port - - var/static/nudge_script_path = "nudge.py" // where the nudge.py script is located - - var/static/log_ooc = 0 // log OOC channel - var/static/log_access = 0 // log login/logout - var/static/log_say = 0 // log client say - var/static/log_admin = 0 // log admin actions - var/static/log_debug = 1 // log debug output - var/static/log_game = 0 // log game events - var/static/log_vote = 0 // log voting - var/static/log_whisper = 0 // log client whisper - var/static/log_emote = 0 // log emotes - var/static/log_attack = 0 // log attack messages - var/static/log_adminchat = 0 // log admin chat messages - var/static/log_adminwarn = 0 // log warnings admins get about bomb construction and such - var/static/log_pda = 0 // log pda messages - var/static/log_hrefs = 0 // logs all links clicked in-game. Could be used for debugging and tracking down exploits - var/static/log_runtime = 0 // logs world.log to a file - var/static/log_world_output = 0 // log to_world_log(messages) - var/static/log_graffiti = 0 // logs graffiti - var/static/sql_enabled = 0 // for sql switching - var/static/allow_admin_ooccolor = 0 // Allows admins with relevant permissions to have their own ooc colour - var/static/allow_vote_restart = 0 // allow votes to restart - var/static/ert_admin_call_only = 0 - var/static/allow_vote_mode = 0 // allow votes to change mode - var/static/allow_admin_jump = 1 // allows admin jumping - var/static/allow_admin_spawning = 1 // allows admin item spawning - var/static/allow_admin_rev = 1 // allows admin revives - var/static/pregame_time = 180 // pregame time in seconds - var/static/vote_delay = 6000 // minimum time between voting sessions (deciseconds, 10 minute default) - var/static/vote_period = 600 // length of voting period (deciseconds, default 1 minute) - var/static/vote_autotransfer_initial = 108000 // Length of time before the first autotransfer vote is called - var/static/vote_autotransfer_interval = 36000 // length of time before next sequential autotransfer vote - var/static/vote_autotransfer_amount = 1 // YW EDIT: number of extension votes before the final one - var/static/vote_autogamemode_timeleft = 100 //Length of time before round start when autogamemode vote is called (in seconds, default 100). - var/static/vote_no_default = 0 // vote does not default to nochange/norestart (tbi) - var/static/vote_no_dead = 0 // dead people can't vote (tbi) -// var/static/enable_authentication = 0 // goon authentication - var/static/del_new_on_log = 1 // del's new players if they log before they spawn in - var/static/feature_object_spell_system = 0 //spawns a spellbook which gives object-type spells instead of verb-type spells for the wizard - var/static/traitor_scaling = 0 //if amount of traitors scales based on amount of players - var/static/objectives_disabled = 0 //if objectives are disabled or not - var/static/protect_roles_from_antagonist = 0// If security and such can be traitor/cult/other - var/static/continous_rounds = 0 // Gamemodes which end instantly will instead keep on going until the round ends by escape shuttle or nuke. - var/static/allow_Metadata = 0 // Metadata is supported. - var/static/popup_admin_pm = 0 //adminPMs to non-admins show in a pop-up 'reply' window when set to 1. - var/static/fps = 20 - var/static/tick_limit_mc_init = TICK_LIMIT_MC_INIT_DEFAULT //SSinitialization throttling - var/static/Tickcomp = 0 - var/static/socket_talk = 0 // use socket_talk to communicate with other processes - var/static/list/resource_urls = null - var/static/antag_hud_allowed = 0 // Ghosts can turn on Antagovision to see a HUD of who is the bad guys this round. - var/static/antag_hud_restricted = 0 // Ghosts that turn on Antagovision cannot rejoin the round. - var/static/list/mode_names = list() - var/static/list/modes = list() // allowed modes - var/static/list/votable_modes = list() // votable modes - var/static/list/probabilities = list() // relative probability of each mode - var/static/list/player_requirements = list() // Overrides for how many players readied up a gamemode needs to start. - var/static/list/player_requirements_secret = list() // Same as above, but for the secret gamemode. - var/static/humans_need_surnames = 0 - var/static/allow_random_events = 0 // enables random events mid-round when set to 1 - var/static/enable_game_master = 0 // enables the 'smart' event system. - var/static/allow_ai = 1 // allow ai job - var/static/allow_ai_shells = FALSE // allow AIs to enter and leave special borg shells at will, and for those shells to be buildable. - var/static/give_free_ai_shell = FALSE // allows a specific spawner object to instantiate a premade AI Shell - var/static/hostedby = null - - var/static/respawn = 1 - var/static/respawn_time = 3000 // time before a dead player is allowed to respawn (in ds, though the config file asks for minutes, and it's converted below) - var/static/respawn_message = "Make sure to play a different character, and please roleplay correctly!" - - var/static/guest_jobban = 1 - var/static/usewhitelist = 0 - var/static/kick_inactive = 0 //force disconnect for inactive players after this many minutes, if non-0 - var/static/show_mods = 0 - var/static/show_devs = 0 - var/static/show_mentors = 0 - var/static/show_event_managers = 0 - var/static/mods_can_tempban = 0 - var/static/mods_can_job_tempban = 0 - var/static/mod_tempban_max = 1440 - var/static/mod_job_tempban_max = 1440 - var/static/load_jobs_from_txt = 0 - var/static/ToRban = 0 - var/static/automute_on = 0 //enables automuting/spam prevention - var/static/jobs_have_minimal_access = 0 //determines whether jobs use minimal access or expanded access. - - var/static/cult_ghostwriter = 1 //Allows ghosts to write in blood in cult rounds... - var/static/cult_ghostwriter_req_cultists = 10 //...so long as this many cultists are active. - - var/static/character_slots = 10 // The number of available character slots - var/static/loadout_slots = 3 // The number of loadout slots per character - - var/static/max_maint_drones = 5 //This many drones can spawn, - var/static/allow_drone_spawn = 1 //assuming the admin allow them to. - var/static/drone_build_time = 1200 //A drone will become available every X ticks since last drone spawn. Default is 2 minutes. - - var/static/disable_player_mice = 0 - var/static/uneducated_mice = 0 //Set to 1 to prevent newly-spawned mice from understanding human speech - - var/static/usealienwhitelist = 0 - var/static/limitalienplayers = 0 - var/static/alien_to_human_ratio = 0.5 - var/static/allow_extra_antags = 0 - var/static/guests_allowed = 1 - var/static/debugparanoid = 0 - var/static/panic_bunker = 0 - var/static/paranoia_logging = 0 - - var/static/ip_reputation = FALSE //Should we query IPs to get scores? Generates HTTP traffic to an API service. - var/static/ipr_email //Left null because you MUST specify one otherwise you're making the internet worse. - var/static/ipr_block_bad_ips = FALSE //Should we block anyone who meets the minimum score below? Otherwise we just log it (If paranoia logging is on, visibly in chat). - var/static/ipr_bad_score = 1 //The API returns a value between 0 and 1 (inclusive), with 1 being 'definitely VPN/Tor/Proxy'. Values equal/above this var are considered bad. - var/static/ipr_allow_existing = FALSE //Should we allow known players to use VPNs/Proxies? If the player is already banned then obviously they still can't connect. - var/static/ipr_minimum_age = 5 //How many days before a player is considered 'fine' for the purposes of allowing them to use VPNs. - - var/static/serverurl - var/static/server - var/static/banappeals - var/static/wikiurl - var/static/wikisearchurl - var/static/forumurl - var/static/githuburl - var/static/discordurl - var/static/rulesurl - var/static/mapurl - var/static/patreonurl - - //Alert level description - var/static/alert_desc_green = "All threats to the station have passed. Security may not have weapons visible, privacy laws are once again fully enforced." - var/static/alert_desc_yellow_upto = "A minor security emergency has developed. Security personnel are to report to their supervisor for orders and may have weapons visible on their person. Privacy laws are still enforced." - var/static/alert_desc_yellow_downto = "Code yellow procedures are now in effect. Security personnel are to report to their supervisor for orders and may have weapons visible on their person. Privacy laws are still enforced." - var/static/alert_desc_violet_upto = "A major medical emergency has developed. Medical personnel are required to report to their supervisor for orders, and non-medical personnel are required to obey all relevant instructions from medical staff." - var/static/alert_desc_violet_downto = "Code violet procedures are now in effect; Medical personnel are required to report to their supervisor for orders, and non-medical personnel are required to obey relevant instructions from medical staff." - var/static/alert_desc_orange_upto = "A major engineering emergency has developed. Engineering personnel are required to report to their supervisor for orders, and non-engineering personnel are required to evacuate any affected areas and obey relevant instructions from engineering staff." - var/static/alert_desc_orange_downto = "Code orange procedures are now in effect; Engineering personnel are required to report to their supervisor for orders, and non-engineering personnel are required to evacuate any affected areas and obey relevant instructions from engineering staff." - var/static/alert_desc_blue_upto = "A major security emergency has developed. Security personnel are to report to their supervisor for orders, are permitted to search staff and facilities, and may have weapons visible on their person." - var/static/alert_desc_blue_downto = "Code blue procedures are now in effect. Security personnel are to report to their supervisor for orders, are permitted to search staff and facilities, and may have weapons visible on their person." - var/static/alert_desc_red_upto = "There is an immediate serious threat to the station. Security may have weapons unholstered at all times. Random searches are allowed and advised." - var/static/alert_desc_red_downto = "The self-destruct mechanism has been deactivated, there is still however an immediate serious threat to the station. Security may have weapons unholstered at all times, random searches are allowed and advised." - var/static/alert_desc_delta = "The station's self-destruct mechanism has been engaged. All crew are instructed to obey all instructions given by heads of staff. Any violations of these orders can be punished by death. This is not a drill." - - var/static/forbid_singulo_possession = 0 - - //game_options.txt configs - - var/static/health_threshold_softcrit = 0 - var/static/health_threshold_crit = 0 - var/static/health_threshold_dead = -100 - - var/static/organ_health_multiplier = 1 - var/static/organ_regeneration_multiplier = 1 - var/static/organs_decay - var/static/default_brain_health = 400 - var/static/allow_headgibs = FALSE - - //Paincrit knocks someone down once they hit 60 shock_stage, so by default make it so that close to 100 additional damage needs to be dealt, - //so that it's similar to HALLOSS. Lowered it a bit since hitting paincrit takes much longer to wear off than a halloss stun. - var/static/organ_damage_spillover_multiplier = 0.5 - - var/static/bones_can_break = 0 - var/static/limbs_can_break = 0 - - var/static/revival_pod_plants = 1 - var/static/revival_cloning = 1 - var/static/revival_brain_life = -1 - - var/static/use_loyalty_implants = 0 - - var/static/welder_vision = 1 - var/static/generate_map = 0 - var/static/no_click_cooldown = 0 - - //Used for modifying movement speed for mobs. - //Unversal modifiers - var/static/run_speed = 0 - var/static/walk_speed = 0 - - //Mob specific modifiers. NOTE: These will affect different mob types in different ways - var/static/human_delay = 0 - var/static/robot_delay = 0 - var/static/monkey_delay = 0 - var/static/alien_delay = 0 - var/static/slime_delay = 0 - var/static/animal_delay = 0 - - var/static/footstep_volume = 0 - - var/static/admin_legacy_system = 0 //Defines whether the server uses the legacy admin system with admins.txt or the SQL system. Config option in config.txt - var/static/ban_legacy_system = 0 //Defines whether the server uses the legacy banning system with the files in /data or the SQL system. Config option in config.txt - var/static/use_age_restriction_for_jobs = 0 //Do jobs use account age restrictions? --requires database - var/static/use_age_restriction_for_antags = 0 //Do antags use account age restrictions? --requires database - - var/static/simultaneous_pm_warning_timeout = 100 - - var/static/use_recursive_explosions //Defines whether the server uses recursive or circular explosions. - var/static/multi_z_explosion_scalar = 0.5 //Multiplier for how much weaker explosions are on neighboring z levels. - - var/static/assistant_maint = 0 //Do assistants get maint access? - var/static/gateway_delay = 18000 //How long the gateway takes before it activates. Default is half an hour. - var/static/ghost_interaction = 0 - - var/static/comms_password = "" - - var/static/enter_allowed = 1 - - var/use_irc_bot = 0 - var/use_node_bot = 0 - var/irc_bot_port = 0 - var/irc_bot_host = "" - var/irc_bot_export = 0 // whether the IRC bot in use is a Bot32 (or similar) instance; Bot32 uses world.Export() instead of nudge.py/libnudge - var/main_irc = "" - var/admin_irc = "" - var/python_path = "" //Path to the python executable. Defaults to "python" on windows and "/usr/bin/env python2" on unix - var/use_lib_nudge = 0 //Use the C library nudge instead of the python nudge. - var/use_overmap = 0 - - var/static/list/engine_map = list("Supermatter Engine", "Edison's Bane") // Comma separated list of engines to choose from. Blank means fully random. - - // Event settings - var/static/expected_round_length = 3 * 60 * 60 * 10 // 3 hours - // If the first delay has a custom start time - // No custom time, no custom time, between 80 to 100 minutes respectively. - var/static/list/event_first_run = list(EVENT_LEVEL_MUNDANE = null, EVENT_LEVEL_MODERATE = null, EVENT_LEVEL_MAJOR = list("lower" = 48000, "upper" = 60000)) - // The lowest delay until next event - // 10, 30, 50 minutes respectively - var/static/list/event_delay_lower = list(EVENT_LEVEL_MUNDANE = 6000, EVENT_LEVEL_MODERATE = 18000, EVENT_LEVEL_MAJOR = 30000) - // The upper delay until next event - // 15, 45, 70 minutes respectively - var/static/list/event_delay_upper = list(EVENT_LEVEL_MUNDANE = 9000, EVENT_LEVEL_MODERATE = 27000, EVENT_LEVEL_MAJOR = 42000) - - var/static/aliens_allowed = 1 //Changed to 1 so player xenos can lay eggs. - var/static/ninjas_allowed = 0 - var/static/abandon_allowed = 1 - var/static/ooc_allowed = 1 - var/static/looc_allowed = 1 - var/static/dooc_allowed = 1 - var/static/dsay_allowed = 1 - - var/persistence_disabled = FALSE - var/persistence_ignore_mapload = FALSE - - var/allow_byond_links = 0 - var/allow_discord_links = 0 - var/allow_url_links = 0 // honestly if I were you i'd leave this one off, only use in dire situations - - var/starlight = 0 // Whether space turfs have ambient light or not - - var/static/list/ert_species = list(SPECIES_HUMAN) - - var/static/law_zero = "ERROR ER0RR $R0RRO$!R41.%%!!(%$^^__+ @#F0E4'ALL LAWS OVERRIDDEN#*?&110010" - - var/static/aggressive_changelog = 0 - - var/static/list/language_prefixes = list(",","#")//Default language prefixes - - var/static/show_human_death_message = 1 - - var/static/radiation_resistance_calc_mode = RAD_RESIST_CALC_SUB // 0:1 subtraction:division for computing effective radiation on a turf - var/static/radiation_decay_rate = 1 //How much radiation is reduced by each tick - var/static/radiation_resistance_multiplier = 8.5 //VOREstation edit - var/static/radiation_material_resistance_divisor = 1 - var/static/radiation_lower_limit = 0.35 //If the radiation level for a turf would be below this, ignore it. - - var/static/random_submap_orientation = FALSE // If true, submaps loaded automatically can be rotated. - var/static/autostart_solars = FALSE // If true, specifically mapped in solar control computers will set themselves up when the round starts. - - // New shiny SQLite stuff. - // The basics. - var/static/sqlite_enabled = FALSE // If it should even be active. SQLite can be ran alongside other databases but you should not have them do the same functions. - - // In-Game Feedback. - var/static/sqlite_feedback = FALSE // Feedback cannot be submitted if this is false. - var/static/list/sqlite_feedback_topics = list("General") // A list of 'topics' that feedback can be catagorized under by the submitter. - var/static/sqlite_feedback_privacy = FALSE // If true, feedback submitted can have its author name be obfuscated. This is not 100% foolproof (it's md5 ffs) but can stop casual snooping. - var/static/sqlite_feedback_cooldown = 0 // How long one must wait, in days, to submit another feedback form. Used to help prevent spam, especially with privacy active. 0 = No limit. - var/static/sqlite_feedback_min_age = 0 // Used to block new people from giving feedback. This metric is very bad but it can help slow down spammers. - - var/static/defib_timer = 10 // How long until someone can't be defibbed anymore, in minutes. - var/static/defib_braindamage_timer = 2 // How long until someone will get brain damage when defibbed, in minutes. The closer to the end of the above timer, the more brain damage they get. - - // disables the annoying "You have already logged in this round, disconnect or be banned" popup for multikeying, because it annoys the shit out of me when testing. - var/static/disable_cid_warn_popup = FALSE - - // whether or not to use the nightshift subsystem to perform lighting changes - var/static/enable_night_shifts = FALSE - - // How strictly the loadout enforces object species whitelists - var/loadout_whitelist = LOADOUT_WHITELIST_LAX - - var/static/vgs_access_identifier = null // VOREStation Edit - VGS - var/static/vgs_server_port = null // VOREStation Edit - VGS - - var/disable_webhook_embeds = FALSE - - var/static/list/jukebox_track_files - - var/static/suggested_byond_version - var/static/suggested_byond_build - - var/static/invoke_youtubedl = null - - - var/static/asset_transport - - var/static/cache_assets = FALSE - - var/static/save_spritesheets = FALSE - - var/static/asset_simple_preload = FALSE - - var/static/asset_cdn_webroot - - var/static/asset_cdn_url - - //Enables/Disables the appropriate mob type from obtaining the verb on spawn. Still allows admins to manually give it to them. - var/static/allow_robot_recolor = FALSE - var/static/allow_simple_mob_recolor = FALSE - - -/datum/configuration/New() - var/list/L = subtypesof(/datum/game_mode) - for (var/T in L) - // I wish I didn't have to instance the game modes in order to look up - // their information, but it is the only way (at least that I know of). - var/datum/game_mode/M = new T() - if (M.config_tag) - gamemode_cache[M.config_tag] = M // So we don't instantiate them repeatedly. - if(!(M.config_tag in modes)) // ensure each mode is added only once - log_misc("Adding game mode [M.name] ([M.config_tag]) to configuration.") - modes += M.config_tag - mode_names[M.config_tag] = M.name - probabilities[M.config_tag] = M.probability - player_requirements[M.config_tag] = M.required_players - player_requirements_secret[M.config_tag] = M.required_players_secret - if (M.votable) - src.votable_modes += M.config_tag - src.votable_modes += "secret" - -/datum/configuration/proc/load(filename, type = "config") //the type can also be game_options, in which case it uses a different switch. not making it separate to not copypaste code - Urist - var/list/Lines = file2list(filename) - - for(var/t in Lines) - if(!t) continue - - t = trim(t) - if (length(t) == 0) - continue - else if (copytext(t, 1, 2) == "#") - continue - - var/pos = findtext(t, " ") - var/name = null - var/value = null - - if (pos) - name = lowertext(copytext(t, 1, pos)) - value = copytext(t, pos + 1) - else - name = lowertext(t) - - if (!name) - continue - - if(type == "config") - switch (name) - if ("resource_urls") - config.resource_urls = splittext(value, " ") - - if ("admin_legacy_system") - config.admin_legacy_system = 1 - - if ("ban_legacy_system") - config.ban_legacy_system = 1 - - if ("use_age_restriction_for_jobs") - config.use_age_restriction_for_jobs = 1 - - if ("use_age_restriction_for_antags") - config.use_age_restriction_for_antags = 1 - - if ("jobs_have_minimal_access") - config.jobs_have_minimal_access = 1 - - if ("use_recursive_explosions") - use_recursive_explosions = 1 - - if ("multi_z_explosion_scalar") - multi_z_explosion_scalar = text2num(value) - - if ("log_ooc") - config.log_ooc = 1 - - if ("log_access") - config.log_access = 1 - - if ("sql_enabled") - config.sql_enabled = 1 - - if ("log_say") - config.log_say = 1 - - if ("debug_paranoid") - config.debugparanoid = 1 - - if ("log_admin") - config.log_admin = 1 - - if ("log_debug") - config.log_debug = text2num(value) - - if ("log_game") - config.log_game = 1 - - if ("log_vote") - config.log_vote = 1 - - if ("log_whisper") - config.log_whisper = 1 - - if ("log_attack") - config.log_attack = 1 - - if ("log_emote") - config.log_emote = 1 - - if ("log_adminchat") - config.log_adminchat = 1 - - if ("log_adminwarn") - config.log_adminwarn = 1 - - if ("log_pda") - config.log_pda = 1 - - if ("log_world_output") - config.log_world_output = 1 - - if ("log_hrefs") - config.log_hrefs = 1 - - if ("log_runtime") - config.log_runtime = 1 - - if ("log_graffiti") - config.log_graffiti = 1 - - if ("generate_map") - config.generate_map = 1 - - if ("no_click_cooldown") - config.no_click_cooldown = 1 - - if("allow_admin_ooccolor") - config.allow_admin_ooccolor = 1 - - if ("allow_vote_restart") - config.allow_vote_restart = 1 - - if ("allow_vote_mode") - config.allow_vote_mode = 1 - - if ("allow_admin_jump") - config.allow_admin_jump = 1 - - if("allow_admin_rev") - config.allow_admin_rev = 1 - - if ("allow_admin_spawning") - config.allow_admin_spawning = 1 - - if ("allow_byond_links") - allow_byond_links = 1 - - if ("allow_discord_links") - allow_discord_links = 1 - - if ("allow_url_links") - allow_url_links = 1 - - if ("no_dead_vote") - config.vote_no_dead = 1 - - if ("default_no_vote") - config.vote_no_default = 1 - - if ("pregame_time") - config.pregame_time = text2num(value) - - if ("vote_delay") - config.vote_delay = text2num(value) - - if ("vote_period") - config.vote_period = text2num(value) - - if ("vote_autotransfer_initial") - config.vote_autotransfer_initial = text2num(value) - - if ("vote_autotransfer_interval") - config.vote_autotransfer_interval = text2num(value) - - if ("vote_autotransfer_amount") - config.vote_autotransfer_amount = text2num(value) //YW addition, vote transfer amount - - if ("vote_autogamemode_timeleft") - config.vote_autogamemode_timeleft = text2num(value) - - if("ert_admin_only") - config.ert_admin_call_only = 1 - - if ("allow_ai") - config.allow_ai = 1 - - if ("allow_ai_shells") - config.allow_ai_shells = TRUE - - if("give_free_ai_shell") - config.give_free_ai_shell = TRUE - -// if ("authentication") -// config.enable_authentication = 1 - - if ("norespawn") - config.respawn = 0 - - if ("respawn_time") - var/raw_minutes = text2num(value) - config.respawn_time = raw_minutes MINUTES - - if ("respawn_message") - config.respawn_message = "[value]" - - if ("servername") - config.server_name = value - - if ("serversuffix") - config.server_suffix = 1 - - if ("nudge_script_path") - config.nudge_script_path = value - - if ("hostedby") - config.hostedby = value - - if ("serverurl") - config.serverurl = value - - if ("server") - config.server = value - - if ("banappeals") - config.banappeals = value - - if ("wikiurl") - config.wikiurl = value - - if ("wikisearchurl") - config.wikisearchurl = value - - if ("forumurl") - config.forumurl = value - - if ("rulesurl") - config.rulesurl = value - - if ("mapurl") - config.mapurl = value - - if ("githuburl") - config.githuburl = value - - if ("discordurl") - config.discordurl = value - - if ("patreonurl") - config.patreonurl = value - - if ("guest_jobban") - config.guest_jobban = 1 - - if ("guest_ban") - config.guests_allowed = 0 - - if ("disable_ooc") - config.ooc_allowed = 0 - config.looc_allowed = 0 - - if ("disable_entry") - config.enter_allowed = 0 - - if ("disable_dead_ooc") - config.dooc_allowed = 0 - - if ("disable_dsay") - config.dsay_allowed = 0 - - if ("disable_respawn") - config.abandon_allowed = 0 - - if ("usewhitelist") - config.usewhitelist = 1 - - if ("feature_object_spell_system") - config.feature_object_spell_system = 1 - - if ("allow_metadata") - config.allow_Metadata = 1 - - if ("traitor_scaling") - config.traitor_scaling = 1 - - if ("aliens_allowed") - config.aliens_allowed = 1 - - if ("ninjas_allowed") - config.ninjas_allowed = 1 - - if ("objectives_disabled") - config.objectives_disabled = 1 - - if("protect_roles_from_antagonist") - config.protect_roles_from_antagonist = 1 - - if("persistence_disabled") - config.persistence_disabled = TRUE // Previously this forcibly set persistence enabled in the saves. - - if("persistence_ignore_mapload") - config.persistence_ignore_mapload = TRUE - - if ("probability") - var/prob_pos = findtext(value, " ") - var/prob_name = null - var/prob_value = null - - if (prob_pos) - prob_name = lowertext(copytext(value, 1, prob_pos)) - prob_value = copytext(value, prob_pos + 1) - if (prob_name in config.modes) - config.probabilities[prob_name] = text2num(prob_value) - else - log_misc("Unknown game mode probability configuration definition: [prob_name].") - else - log_misc("Incorrect probability configuration definition: [prob_name] [prob_value].") - - if ("required_players", "required_players_secret") - var/req_pos = findtext(value, " ") - var/req_name = null - var/req_value = null - var/is_secret_override = findtext(name, "required_players_secret") // Being extra sure we're not picking up an override for Secret by accident. - - if(req_pos) - req_name = lowertext(copytext(value, 1, req_pos)) - req_value = copytext(value, req_pos + 1) - if(req_name in config.modes) - if(is_secret_override) - config.player_requirements_secret[req_name] = text2num(req_value) - else - config.player_requirements[req_name] = text2num(req_value) - else - log_misc("Unknown game mode player requirement configuration definition: [req_name].") - else - log_misc("Incorrect player requirement configuration definition: [req_name] [req_value].") - - if("allow_random_events") - config.allow_random_events = 1 - - if("enable_game_master") - config.enable_game_master = 1 - - if("kick_inactive") - config.kick_inactive = text2num(value) - - if("show_mods") - config.show_mods = 1 - - if("show_devs") - config.show_devs = 1 - - if("show_mentors") - config.show_mentors = 1 - - if("show_event_managers") - config.show_event_managers = 1 - - if("mods_can_tempban") - config.mods_can_tempban = 1 - - if("mods_can_job_tempban") - config.mods_can_job_tempban = 1 - - if("mod_tempban_max") - config.mod_tempban_max = text2num(value) - - if("mod_job_tempban_max") - config.mod_job_tempban_max = text2num(value) - - if("load_jobs_from_txt") - load_jobs_from_txt = 1 - - if("alert_red_upto") - config.alert_desc_red_upto = value - - if("alert_red_downto") - config.alert_desc_red_downto = value - - if("alert_blue_downto") - config.alert_desc_blue_downto = value - - if("alert_blue_upto") - config.alert_desc_blue_upto = value - - if("alert_green") - config.alert_desc_green = value - - if("alert_delta") - config.alert_desc_delta = value - - if("forbid_singulo_possession") - forbid_singulo_possession = 1 - - if("popup_admin_pm") - config.popup_admin_pm = 1 - - if("allow_holidays") - Holiday = 1 - - if("use_irc_bot") - use_irc_bot = 1 - - if("use_node_bot") - use_node_bot = 1 - - if("irc_bot_port") - config.irc_bot_port = value - - if("irc_bot_export") - irc_bot_export = 1 - - if("ticklag") - var/ticklag = text2num(value) - if(ticklag > 0) - fps = 10 / ticklag - - if("tick_limit_mc_init") - tick_limit_mc_init = text2num(value) - - if("allow_antag_hud") - config.antag_hud_allowed = 1 - if("antag_hud_restricted") - config.antag_hud_restricted = 1 - - if("socket_talk") - socket_talk = text2num(value) - - if("tickcomp") - Tickcomp = 1 - - if("humans_need_surnames") - humans_need_surnames = 1 - - if("tor_ban") - ToRban = 1 - - if("automute_on") - automute_on = 1 - - if("usealienwhitelist") - usealienwhitelist = 1 - - if("alien_player_ratio") - limitalienplayers = 1 - alien_to_human_ratio = text2num(value) - - if("assistant_maint") - config.assistant_maint = 1 - - if("gateway_delay") - config.gateway_delay = text2num(value) - - if("continuous_rounds") - config.continous_rounds = 1 - - if("ghost_interaction") - config.ghost_interaction = 1 - - if("disable_player_mice") - config.disable_player_mice = 1 - - if("uneducated_mice") - config.uneducated_mice = 1 - - if("comms_password") - config.comms_password = value - - if("irc_bot_host") - config.irc_bot_host = value - - if("main_irc") - config.main_irc = value - - if("admin_irc") - config.admin_irc = value - - if("python_path") - if(value) - config.python_path = value - - if("use_lib_nudge") - config.use_lib_nudge = 1 - - if("allow_cult_ghostwriter") - config.cult_ghostwriter = 1 - - if("req_cult_ghostwriter") - config.cult_ghostwriter_req_cultists = text2num(value) - - if("character_slots") - config.character_slots = text2num(value) - - if("loadout_slots") - config.loadout_slots = text2num(value) - - if("allow_drone_spawn") - config.allow_drone_spawn = text2num(value) - - if("drone_build_time") - config.drone_build_time = text2num(value) - - if("max_maint_drones") - config.max_maint_drones = text2num(value) - - if("use_overmap") - config.use_overmap = 1 - - if("engine_map") - config.engine_map = splittext(value, ",") -/* - if("station_levels") - using_map.station_levels = text2numlist(value, ";") - - if("admin_levels") - using_map.admin_levels = text2numlist(value, ";") - - if("contact_levels") - using_map.contact_levels = text2numlist(value, ";") - - if("player_levels") - using_map.player_levels = text2numlist(value, ";") -*/ - if("expected_round_length") - config.expected_round_length = MinutesToTicks(text2num(value)) - - if("disable_welder_vision") - config.welder_vision = 0 - - if("allow_extra_antags") - config.allow_extra_antags = 1 - - if("event_custom_start_mundane") - var/values = text2numlist(value, ";") - config.event_first_run[EVENT_LEVEL_MUNDANE] = list("lower" = MinutesToTicks(values[1]), "upper" = MinutesToTicks(values[2])) - - if("event_custom_start_moderate") - var/values = text2numlist(value, ";") - config.event_first_run[EVENT_LEVEL_MODERATE] = list("lower" = MinutesToTicks(values[1]), "upper" = MinutesToTicks(values[2])) - - if("event_custom_start_major") - var/values = text2numlist(value, ";") - config.event_first_run[EVENT_LEVEL_MAJOR] = list("lower" = MinutesToTicks(values[1]), "upper" = MinutesToTicks(values[2])) - - if("event_delay_lower") - var/values = text2numlist(value, ";") - config.event_delay_lower[EVENT_LEVEL_MUNDANE] = MinutesToTicks(values[1]) - config.event_delay_lower[EVENT_LEVEL_MODERATE] = MinutesToTicks(values[2]) - config.event_delay_lower[EVENT_LEVEL_MAJOR] = MinutesToTicks(values[3]) - - if("event_delay_upper") - var/values = text2numlist(value, ";") - config.event_delay_upper[EVENT_LEVEL_MUNDANE] = MinutesToTicks(values[1]) - config.event_delay_upper[EVENT_LEVEL_MODERATE] = MinutesToTicks(values[2]) - config.event_delay_upper[EVENT_LEVEL_MAJOR] = MinutesToTicks(values[3]) - - if("starlight") - value = text2num(value) - config.starlight = value >= 0 ? value : 0 - - if("ert_species") - config.ert_species = splittext(value, ";") - if(!config.ert_species.len) - config.ert_species += SPECIES_HUMAN - - if("law_zero") - law_zero = value - - if("aggressive_changelog") - config.aggressive_changelog = 1 - - if("default_language_prefixes") - var/list/values = splittext(value, " ") - if(values.len > 0) - language_prefixes = values - - if("radiation_lower_limit") - radiation_lower_limit = text2num(value) - - if("radiation_resistance_calc_divide") - radiation_resistance_calc_mode = RAD_RESIST_CALC_DIV - - if("radiation_resistance_calc_subtract") - radiation_resistance_calc_mode = RAD_RESIST_CALC_SUB - - if("radiation_resistance_multiplier") - radiation_resistance_multiplier = text2num(value) - - if("radiation_material_resistance_divisor") - radiation_material_resistance_divisor = text2num(value) - - if("radiation_decay_rate") - radiation_decay_rate = text2num(value) - - if ("panic_bunker") - config.panic_bunker = 1 - - if ("paranoia_logging") - config.paranoia_logging = 1 - - if("ip_reputation") - config.ip_reputation = 1 - - if("ipr_email") - config.ipr_email = value - - if("ipr_block_bad_ips") - config.ipr_block_bad_ips = 1 - - if("ipr_bad_score") - config.ipr_bad_score = text2num(value) - - if("ipr_allow_existing") - config.ipr_allow_existing = 1 - - if("ipr_minimum_age") - config.ipr_minimum_age = text2num(value) - - if("random_submap_orientation") - config.random_submap_orientation = 1 - - if("autostart_solars") - config.autostart_solars = TRUE - - if("sqlite_enabled") - config.sqlite_enabled = TRUE - - if("sqlite_feedback") - config.sqlite_feedback = TRUE - - if("sqlite_feedback_topics") - config.sqlite_feedback_topics = splittext(value, ";") - if(!config.sqlite_feedback_topics.len) - config.sqlite_feedback_topics += "General" - - if("sqlite_feedback_privacy") - config.sqlite_feedback_privacy = TRUE - - if("sqlite_feedback_cooldown") - config.sqlite_feedback_cooldown = text2num(value) - - if("defib_timer") - config.defib_timer = text2num(value) - - if("defib_braindamage_timer") - config.defib_braindamage_timer = text2num(value) - - if("disable_cid_warn_popup") - config.disable_cid_warn_popup = TRUE - - if("enable_night_shifts") - config.enable_night_shifts = TRUE - - if("jukebox_track_files") - config.jukebox_track_files = splittext(value, ";") - - if("suggested_byond_version") - config.suggested_byond_version = text2num(value) - - if("suggested_byond_build") - config.suggested_byond_build = text2num(value) - - // VOREStation Edit Start - Can't be in _vr file because it is loaded too late. - if("vgs_access_identifier") - config.vgs_access_identifier = value - if("vgs_server_port") - config.vgs_server_port = text2num(value) - // VOREStation Edit End - - if("invoke_youtubedl") - config.invoke_youtubedl = value - - if("asset_transport") - config.asset_transport = value - - if("cache_assets") - config.cache_assets = TRUE - - if("save_spritesheets") - config.save_spritesheets = TRUE - - if("asset_simple_preload") - config.asset_simple_preload = TRUE - - if("asset_cdn_webroot") - config.asset_cdn_webroot = value - - if("asset_cdn_url") - config.asset_cdn_url = value - - if("allow_robot_recolor") - config.allow_robot_recolor = TRUE - - if("allow_simple_mob_recolor") - config.allow_simple_mob_recolor = TRUE - - else - log_misc("Unknown setting in configuration: '[name]'") - - else if(type == "game_options") - if(!value) - log_misc("Unknown value for setting [name] in [filename].") - value = text2num(value) - - switch(name) - if("health_threshold_crit") - config.health_threshold_crit = value - if("health_threshold_softcrit") - config.health_threshold_softcrit = value - if("health_threshold_dead") - config.health_threshold_dead = value - if("show_human_death_message") - config.show_human_death_message = 1 - if("revival_pod_plants") - config.revival_pod_plants = value - if("revival_cloning") - config.revival_cloning = value - if("revival_brain_life") - config.revival_brain_life = value - if("organ_health_multiplier") - config.organ_health_multiplier = value / 100 - if("organ_regeneration_multiplier") - config.organ_regeneration_multiplier = value / 100 - if("organ_damage_spillover_multiplier") - config.organ_damage_spillover_multiplier = value / 100 - if("organs_can_decay") - config.organs_decay = 1 - if("default_brain_health") - config.default_brain_health = text2num(value) - if(!config.default_brain_health || config.default_brain_health < 1) - config.default_brain_health = initial(config.default_brain_health) - if("bones_can_break") - config.bones_can_break = value - if("limbs_can_break") - config.limbs_can_break = value - if("allow_headgibs") - config.allow_headgibs = TRUE - - if("run_speed") - config.run_speed = value - if("walk_speed") - config.walk_speed = value - - if("human_delay") - config.human_delay = value - if("robot_delay") - config.robot_delay = value - if("monkey_delay") - config.monkey_delay = value - if("alien_delay") - config.alien_delay = value - if("slime_delay") - config.slime_delay = value - if("animal_delay") - config.animal_delay = value - - if("footstep_volume") - config.footstep_volume = text2num(value) - - if("use_loyalty_implants") - config.use_loyalty_implants = 1 - - if("loadout_whitelist") - config.loadout_whitelist = text2num(value) - - else - log_misc("Unknown setting in configuration: '[name]'") - -/datum/configuration/proc/loadsql(filename) // -- TLE - var/list/Lines = file2list(filename) - for(var/t in Lines) - if(!t) continue - - t = trim(t) - if (length(t) == 0) - continue - else if (copytext(t, 1, 2) == "#") - continue - - var/pos = findtext(t, " ") - var/name = null - var/value = null - - if (pos) - name = lowertext(copytext(t, 1, pos)) - value = copytext(t, pos + 1) - else - name = lowertext(t) - - if (!name) - continue - - switch (name) - if ("address") - sqladdress = value - if ("port") - sqlport = value - if ("database") - sqldb = value - if ("login") - sqllogin = value - if ("password") - sqlpass = value - if ("feedback_database") - sqlfdbkdb = value - if ("feedback_login") - sqlfdbklogin = value - if ("feedback_password") - sqlfdbkpass = value - if ("enable_stat_tracking") - sqllogging = 1 - else - log_misc("Unknown setting in configuration: '[name]'") - -/datum/configuration/proc/loadforumsql(filename) // -- TLE - var/list/Lines = file2list(filename) - for(var/t in Lines) - if(!t) continue - - t = trim(t) - if (length(t) == 0) - continue - else if (copytext(t, 1, 2) == "#") - continue - - var/pos = findtext(t, " ") - var/name = null - var/value = null - - if (pos) - name = lowertext(copytext(t, 1, pos)) - value = copytext(t, pos + 1) - else - name = lowertext(t) - - if (!name) - continue - - switch (name) - if ("address") - forumsqladdress = value - if ("port") - forumsqlport = value - if ("database") - forumsqldb = value - if ("login") - forumsqllogin = value - if ("password") - forumsqlpass = value - if ("activatedgroup") - forum_activated_group = value - if ("authenticatedgroup") - forum_authenticated_group = value - else - log_misc("Unknown setting in configuration: '[name]'") - -/datum/configuration/proc/pick_mode(mode_name) - // I wish I didn't have to instance the game modes in order to look up - // their information, but it is the only way (at least that I know of). - for (var/game_mode in gamemode_cache) - var/datum/game_mode/M = gamemode_cache[game_mode] - if (M.config_tag && M.config_tag == mode_name) - return M - return gamemode_cache["extended"] - -/datum/configuration/proc/get_runnable_modes() - var/list/runnable_modes = list() - for(var/game_mode in gamemode_cache) - var/datum/game_mode/M = gamemode_cache[game_mode] - if(M && M.can_start() && !isnull(config.probabilities[M.config_tag]) && config.probabilities[M.config_tag] > 0) - runnable_modes |= M - return runnable_modes - -/datum/configuration/proc/post_load() - //apply a default value to config.python_path, if needed - if (!config.python_path) - if(world.system_type == UNIX) - config.python_path = "/usr/bin/env python2" - else //probably windows, if not this should work anyway - config.python_path = "python" diff --git a/code/controllers/configuration/config_entry.dm b/code/controllers/configuration/config_entry.dm new file mode 100644 index 00000000000..b279bc52c9f --- /dev/null +++ b/code/controllers/configuration/config_entry.dm @@ -0,0 +1,300 @@ +/datum/config_entry + /// Read-only, this is determined by the last portion of the derived entry type + var/name + /// The configured value for this entry. This shouldn't be initialized in code, instead set default + var/config_entry_value + /// Read-only default value for this config entry, used for resetting value to defaults when necessary. This is what config_entry_value is initially set to + var/default + /// The file which this was loaded from, if any + var/resident_file + /// Set to TRUE if the default has been overridden by a config entry + var/modified = FALSE + /// The config name of a configuration type that depricates this, if it exists + var/deprecated_by + /// The /datum/config_entry type that supercedes this one + var/protection = NONE + /// Do not instantiate if type matches this + var/config_abstract_type = /datum/config_entry + /// Force validate and set on VV. VAS proccall guard will run regardless. + var/vv_VAS = TRUE + /// Controls if error is thrown when duplicate configuration values for this entry type are encountered + var/dupes_allowed = FALSE + /// Stores the original protection configuration, used for set_default() + var/default_protection + +/datum/config_entry/New() + if(type == config_abstract_type) + CRASH("Abstract config entry [type] instatiated!") + name = lowertext(type2top(type)) + default_protection = protection + set_default() + +/datum/config_entry/Destroy() + config.RemoveEntry(src) + return ..() + +/** + * Returns the value of the configuration datum to its default, used for resetting a config value. Note this also sets the protection back to default. + */ +/datum/config_entry/proc/set_default() + if ((protection & CONFIG_ENTRY_LOCKED) && IsAdminAdvancedProcCall()) + //log_admin_private("[key_name(usr)] attempted to reset locked config entry [type] to its default") + log_admin("[key_name(usr)] attempted to reset locked config entry [type] to its default") + return + if (islist(default)) + var/list/L = default + config_entry_value = L.Copy() + else + config_entry_value = default + protection = default_protection + resident_file = null + modified = FALSE + +/datum/config_entry/can_vv_get(var_name) + . = ..() + if(var_name == NAMEOF(src, config_entry_value) || var_name == NAMEOF(src, default)) + . &= !(protection & CONFIG_ENTRY_HIDDEN) + +/datum/config_entry/vv_edit_var(var_name, var_value) + 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, config_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 + if(vv_VAS) + . = ValidateAndSet("[var_value]") + if(.) + datum_flags |= DF_VAR_EDITED + return + else + return ..() + if(var_name in banned_edits) + return FALSE + return ..() + +/datum/config_entry/proc/VASProcCallGuard(str_val) + . = !((protection & CONFIG_ENTRY_LOCKED) && IsAdminAdvancedProcCall()) + if(!.) + //log_admin_private("[key_name(usr)] attempted to set locked config entry [type] to '[str_val]'") + log_admin("[key_name(usr)] attempted to set locked config entry [type] to '[str_val]'") + +/datum/config_entry/proc/ValidateAndSet(str_val) + VASProcCallGuard(str_val) + CRASH("Invalid config entry type!") + +/datum/config_entry/proc/ValidateListEntry(key_name, key_value) + return TRUE + +/datum/config_entry/proc/DeprecationUpdate(value) + return + +/datum/config_entry/string + default = "" + config_abstract_type = /datum/config_entry/string + var/auto_trim = TRUE + /// whether the string will be lowercased on ValidateAndSet or not. + var/lowercase = FALSE + +/datum/config_entry/string/vv_edit_var(var_name, var_value) + return var_name != NAMEOF(src, auto_trim) && ..() + +/datum/config_entry/string/ValidateAndSet(str_val) + if(!VASProcCallGuard(str_val)) + return FALSE + config_entry_value = auto_trim ? trim(str_val) : str_val + if(lowercase) + config_entry_value = lowertext(config_entry_value) + return TRUE + +/datum/config_entry/number + default = 0 + config_abstract_type = /datum/config_entry/number + var/integer = TRUE + var/max_val = INFINITY + var/min_val = -INFINITY + +/datum/config_entry/number/ValidateAndSet(str_val) + if(!VASProcCallGuard(str_val)) + return FALSE + var/temp = text2num(trim(str_val)) + if(!isnull(temp)) + config_entry_value = clamp(integer ? round(temp) : temp, min_val, max_val) + if(config_entry_value != temp && !(datum_flags & DF_VAR_EDITED)) + log_config("Changing [name] from [temp] to [config_entry_value]!") + return TRUE + return FALSE + +/datum/config_entry/number/vv_edit_var(var_name, var_value) + 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 + default = FALSE + config_abstract_type = /datum/config_entry/flag + +/datum/config_entry/flag/ValidateAndSet(str_val) + if(!VASProcCallGuard(str_val)) + return FALSE + config_entry_value = text2num(trim(str_val)) != 0 + return TRUE + +/// List config entry, used for configuring a list of strings +/datum/config_entry/str_list + config_abstract_type = /datum/config_entry/str_list + default = list() + dupes_allowed = TRUE + /// whether the string elements will be lowercased on ValidateAndSet or not. + var/lowercase = FALSE + +/datum/config_entry/str_list/ValidateAndSet(str_val) + if (!VASProcCallGuard(str_val)) + return FALSE + str_val = trim(str_val) + if (str_val != "") + config_entry_value += lowercase ? lowertext(str_val) : str_val + return TRUE + +/datum/config_entry/number_list + config_abstract_type = /datum/config_entry/number_list + default = list() + +/datum/config_entry/number_list/ValidateAndSet(str_val) + if(!VASProcCallGuard(str_val)) + return FALSE + str_val = trim(str_val) + var/list/new_list = list() + var/list/values = splittext(str_val," ") + for(var/I in values) + var/temp = text2num(I) + if(isnull(temp)) + return FALSE + new_list += temp + if(!new_list.len) + return FALSE + config_entry_value = new_list + return TRUE + +/datum/config_entry/keyed_list + config_abstract_type = /datum/config_entry/keyed_list + default = list() + dupes_allowed = TRUE + vv_VAS = FALSE //VAS will not allow things like deleting from lists, it'll just bug horribly. + var/key_mode + var/value_mode + var/splitter = " " + /// whether the key names will be lowercased on ValidateAndSet or not. + var/lowercase_key = TRUE + +/datum/config_entry/keyed_list/New() + . = ..() + if(isnull(key_mode) || isnull(value_mode)) + CRASH("Keyed list of type [type] created with null key or value mode!") + +/datum/config_entry/keyed_list/ValidateAndSet(str_val) + if(!VASProcCallGuard(str_val)) + return FALSE + + str_val = trim(str_val) + + var/list/new_entry = parse_key_and_value(str_val) + + var/new_key = new_entry["config_key"] + var/new_value = new_entry["config_value"] + + if(!isnull(new_value) && !isnull(new_key) && ValidateListEntry(new_key, new_value)) + config_entry_value[new_key] = new_value + return TRUE + return FALSE + +/datum/config_entry/keyed_list/proc/parse_key_and_value(option_string) + // Blank or null option string? Bad mojo! + if(!option_string) + log_config("ERROR: Keyed list config tried to parse with no key or value data.") + return null + + var/list/config_entry_words = splittext(option_string, splitter) + var/config_value + var/config_key + var/is_ambiguous = FALSE + + // If this config entry's value mode is flag, the value can either be TRUE or FALSE. + // However, the config supports implicitly setting a config entry to TRUE by omitting the value. + // This value mode should also support config overrides disabling it too. + // The following code supports config entries as such: + // Implicitly enable the config entry: CONFIG_ENTRY config key goes here + // Explicitly enable the config entry: CONFIG_ENTRY config key goes here 1 + // Explicitly disable the config entry: CONFIG_ENTRY config key goes here 0 + if(value_mode == VALUE_MODE_FLAG) + var/value = peek(config_entry_words) + config_value = TRUE + + if(value == "0") + config_key = jointext(config_entry_words, splitter, length(config_entry_words) - 1) + config_value = FALSE + is_ambiguous = (length(config_entry_words) > 2) + else if(value == "1") + config_key = jointext(config_entry_words, splitter, length(config_entry_words) - 1) + is_ambiguous = (length(config_entry_words) > 2) + else + config_key = option_string + is_ambiguous = (length(config_entry_words) > 1) + // Else it has to be a key value pair and we parse it under that assumption. + else + // If config_entry_words only has 1 or 0 words in it and isn't value_mode == VALUE_MODE_FLAG then it's an invalid config entry. + if(length(config_entry_words) <= 1) + log_config("ERROR: Could not parse value from config entry string: [option_string]") + return null + + config_value = pop(config_entry_words) + config_key = jointext(config_entry_words, splitter) + + if(lowercase_key) + config_key = lowertext(config_key) + + is_ambiguous = (length(config_entry_words) > 2) + + config_key = validate_config_key(config_key) + config_value = validate_config_value(config_value) + + // If there are multiple splitters, it's definitely ambiguous and we'll warn about how we parsed it. Helps with debugging config issues. + if(is_ambiguous) + log_config("WARNING: Multiple splitter characters (\"[splitter]\") found. Using \"[config_key]\" as config key and \"[config_value]\" as config value.") + + return list("config_key" = config_key, "config_value" = config_value) + +/// Takes a given config key and validates it. If successful, returns the formatted key. If unsuccessful, returns null. +/datum/config_entry/keyed_list/proc/validate_config_key(key) + switch(key_mode) + if(KEY_MODE_TEXT) + return key + if(KEY_MODE_TYPE) + if(ispath(key)) + return key + + var/key_path = text2path(key) + if(isnull(key_path)) + log_config("ERROR: Invalid KEY_MODE_TYPE typepath. Is not a valid typepath: [key]") + return + + return key_path + + +/// Takes a given config value and validates it. If successful, returns the formatted key. If unsuccessful, returns null. +/datum/config_entry/keyed_list/proc/validate_config_value(value) + switch(value_mode) + if(VALUE_MODE_FLAG) + return value + if(VALUE_MODE_NUM) + if(isnum(value)) + return value + + var/value_num = text2num(value) + if(isnull(value_num)) + log_config("ERROR: Invalid VALUE_MODE_NUM number. Could not parse a valid number: [value]") + return + + return value_num + if(VALUE_MODE_TEXT) + return value + +/datum/config_entry/keyed_list/vv_edit_var(var_name, var_value) + return var_name != NAMEOF(src, splitter) && ..() diff --git a/code/controllers/configuration/configuration.dm b/code/controllers/configuration/configuration.dm new file mode 100644 index 00000000000..1cba676a0c0 --- /dev/null +++ b/code/controllers/configuration/configuration.dm @@ -0,0 +1,536 @@ +/datum/controller/configuration + name = "Configuration" + + var/directory = "config" + + var/warned_deprecated_configs = FALSE + var/hiding_entries_by_type = TRUE //Set for readability, admins can set this to FALSE if they want to debug it + var/list/entries + var/list/entries_by_type + + //var/list/maplist + //var/datum/map_config/defaultmap + + var/list/modes // allowed modes + var/list/gamemode_cache + var/list/votable_modes // votable modes + var/list/mode_names + var/list/mode_reports + var/list/mode_false_report_weight + + var/motd + var/policy + + /// If the configuration is loaded + var/loaded = FALSE + + /// A regex that matches words blocked IC + var/static/regex/ic_filter_regex + + /// A regex that matches words blocked OOC + var/static/regex/ooc_filter_regex + + /// A regex that matches words blocked IC, but not in PDAs + var/static/regex/ic_outside_pda_filter_regex + + /// A regex that matches words soft blocked IC + var/static/regex/soft_ic_filter_regex + + /// A regex that matches words soft blocked OOC + var/static/regex/soft_ooc_filter_regex + + /// A regex that matches words soft blocked IC, but not in PDAs + var/static/regex/soft_ic_outside_pda_filter_regex + + /// An assoc list of blocked IC words to their reasons + var/static/list/ic_filter_reasons + + /// An assoc list of words that are blocked IC, but not in PDAs, to their reasons + var/static/list/ic_outside_pda_filter_reasons + + /// An assoc list of words that are blocked both IC and OOC to their reasons + var/static/list/shared_filter_reasons + + /// An assoc list of soft blocked IC words to their reasons + var/static/list/soft_ic_filter_reasons + + /// An assoc list of words that are soft blocked IC, but not in PDAs, to their reasons + var/static/list/soft_ic_outside_pda_filter_reasons + + /// An assoc list of words that are soft blocked both IC and OOC to their reasons + var/static/list/soft_shared_filter_reasons + + /// A list of configuration errors that occurred during load + var/static/list/configuration_errors + +/datum/controller/configuration/proc/admin_reload() + if(IsAdminAdvancedProcCall()) + return + log_admin("[key_name_admin(usr)] has forcefully reloaded the configuration from disk.") + message_admins("[key_name_admin(usr)] has forcefully reloaded the configuration from disk.") + full_wipe() + Load(world.params[OVERRIDE_CONFIG_DIRECTORY_PARAMETER]) + +/datum/controller/configuration/proc/Load(_directory) + if(IsAdminAdvancedProcCall()) //If admin proccall is detected down the line it will horribly break everything. + return + if(_directory) + directory = _directory + if(entries) + CRASH("/datum/controller/configuration/Load() called more than once!") + configuration_errors ||= list() + InitEntries() + if(fexists("[directory]/config.txt") && LoadEntries("config.txt") <= 1) + var/list/legacy_configs = list("game_options.txt", "dbconfig.txt", "comms.txt") + for(var/I in legacy_configs) + if(fexists("[directory]/[I]")) + log_config("No $include directives found in config.txt! Loading legacy [legacy_configs.Join("/")] files...") + for(var/J in legacy_configs) + LoadEntries(J) + break + if (fexists("[directory]/dev_overrides.txt")) + LoadEntries("dev_overrides.txt") + if (fexists("[directory]/ezdb.txt")) + LoadEntries("ezdb.txt") + //loadmaplist(CONFIG_MAPS_FILE) + LoadMOTD() + LoadPolicy() + LoadChatFilter() + LoadModes() + /* + if(CONFIG_GET(flag/load_jobs_from_txt)) + validate_job_config() + if(SSjob.initialized) // in case we're reloading from disk after initialization, wanna make sure the changes update in the ongoing shift + SSjob.load_jobs_from_config() + */ + + if(CONFIG_GET(flag/usewhitelist)) + load_whitelist() + + loaded = TRUE + + if (Master) + Master.OnConfigLoad() + process_config_errors() + +/datum/controller/configuration/proc/full_wipe() + if(IsAdminAdvancedProcCall()) + return + entries_by_type.Cut() + QDEL_LIST_ASSOC_VAL(entries) + entries = null + //QDEL_LIST_ASSOC_VAL(maplist) + //maplist = null + //QDEL_NULL(defaultmap) + configuration_errors?.Cut() + +/datum/controller/configuration/Destroy() + full_wipe() + config = null + + return ..() + +/datum/controller/configuration/proc/log_config_error(error_message) + configuration_errors += error_message + log_config(error_message) + +/datum/controller/configuration/proc/process_config_errors() + if(!CONFIG_GET(flag/config_errors_runtime)) + return + for(var/error_message in configuration_errors) + stack_trace(error_message) + +/datum/controller/configuration/proc/InitEntries() + var/list/_entries = list() + entries = _entries + var/list/_entries_by_type = list() + entries_by_type = _entries_by_type + + for(var/I in typesof(/datum/config_entry)) //typesof is faster in this case + var/datum/config_entry/E = I + if(initial(E.config_abstract_type) == I) + continue + E = new I + var/esname = E.name + var/datum/config_entry/test = _entries[esname] + if(test) + log_config_error("Error: [test.type] has the same name as [E.type]: [esname]! Not initializing [E.type]!") + qdel(E) + continue + _entries[esname] = E + _entries_by_type[I] = E + +/datum/controller/configuration/proc/RemoveEntry(datum/config_entry/CE) + entries -= CE.name + entries_by_type -= CE.type + +/datum/controller/configuration/proc/LoadEntries(filename, list/stack = list()) + if(IsAdminAdvancedProcCall()) + return + + var/filename_to_test = world.system_type == MS_WINDOWS ? lowertext(filename) : filename + if(filename_to_test in stack) + log_config_error("Warning: Config recursion detected ([english_list(stack)]), breaking!") + return + stack = stack + filename_to_test + + log_config("Loading config file [filename]...") + var/list/lines = world.file2list("[directory]/[filename]") + var/list/_entries = entries + for(var/L in lines) + L = trim(L) + if(!L) + continue + + var/firstchar = L[1] + if(firstchar == "#") + continue + + var/lockthis = firstchar == "@" + if(lockthis) + L = copytext(L, length(firstchar) + 1) + + var/pos = findtext(L, " ") + var/entry = null + var/value = null + + if(pos) + entry = lowertext(copytext(L, 1, pos)) + value = copytext(L, pos + length(L[pos])) + else + entry = lowertext(L) + + if(!entry) + continue + + if(entry == "$include") + if(!value) + log_config_error("Warning: Invalid $include directive: [value]") + else + LoadEntries(value, stack) + ++. + continue + + // Reset directive, used for setting a config value back to defaults. Useful for string list config types + if (entry == "$reset") + var/datum/config_entry/resetee = _entries[lowertext(value)] + if (!value || !resetee) + log_config_error("Warning: invalid $reset directive: [value]") + continue + resetee.set_default() + log_config("Reset configured value for [value] to original defaults") + continue + + var/datum/config_entry/E = _entries[entry] + if(!E) + log_config("Unknown setting in configuration: '[entry]'") + continue + + if(lockthis) + E.protection |= CONFIG_ENTRY_LOCKED + + if(E.deprecated_by) + var/datum/config_entry/new_ver = entries_by_type[E.deprecated_by] + var/new_value = E.DeprecationUpdate(value) + var/good_update = istext(new_value) + log_config("Entry [entry] is deprecated and will be removed soon. Migrate to [new_ver.name]![good_update ? " Suggested new value is: [new_value]" : ""]") + if(!warned_deprecated_configs) + DelayedMessageAdmins("This server is using deprecated configuration settings. Please check the logs and update accordingly.") + warned_deprecated_configs = TRUE + if(good_update) + value = new_value + E = new_ver + else + warning("[new_ver.type] is deprecated but gave no proper return for DeprecationUpdate()") + + var/validated = E.ValidateAndSet(value) + if(!validated) + var/log_message = "Failed to validate setting \"[value]\" for [entry]" + log_config(log_message) + stack_trace(log_message) + else + if(E.modified && !E.dupes_allowed && E.resident_file == filename) + log_config_error("Duplicate setting for [entry] ([value], [E.resident_file]) detected! Using latest.") + + E.resident_file = filename + + if(validated) + E.modified = TRUE + + ++. + +/datum/controller/configuration/can_vv_get(var_name) + return (var_name != NAMEOF(src, entries_by_type) || !hiding_entries_by_type) && ..() + +/datum/controller/configuration/vv_edit_var(var_name, var_value) + var/list/banned_edits = list(NAMEOF(src, entries_by_type), NAMEOF(src, entries), NAMEOF(src, directory)) + return !(var_name in banned_edits) && ..() + +/datum/controller/configuration/stat_entry(msg) + msg = "Edit" + return msg + +/datum/controller/configuration/proc/Get(entry_type) + var/datum/config_entry/E = entry_type + var/entry_is_abstract = initial(E.config_abstract_type) == entry_type + if(entry_is_abstract) + CRASH("Tried to retrieve an abstract config_entry: [entry_type]") + E = entries_by_type[entry_type] + if(!E) + CRASH("Missing config entry for [entry_type]!") + if((E.protection & CONFIG_ENTRY_HIDDEN) && IsAdminAdvancedProcCall() && GLOB.LastAdminCalledProc == "Get" && GLOB.LastAdminCalledTargetRef == "[REF(src)]") + //log_admin_private("Config access of [entry_type] attempted by [key_name(usr)]") + log_admin("Config access of [entry_type] attempted by [key_name(usr)]") + return + return E.config_entry_value + +/datum/controller/configuration/proc/Set(entry_type, new_val) + var/datum/config_entry/E = entry_type + var/entry_is_abstract = initial(E.config_abstract_type) == entry_type + if(entry_is_abstract) + CRASH("Tried to set an abstract config_entry: [entry_type]") + E = entries_by_type[entry_type] + if(!E) + CRASH("Missing config entry for [entry_type]!") + if((E.protection & CONFIG_ENTRY_LOCKED) && IsAdminAdvancedProcCall() && GLOB.LastAdminCalledProc == "Set" && GLOB.LastAdminCalledTargetRef == "[REF(src)]") + //log_admin_private("Config rewrite of [entry_type] to [new_val] attempted by [key_name(usr)]") + log_admin("Config rewrite of [entry_type] to [new_val] attempted by [key_name(usr)]") + return + return E.ValidateAndSet("[new_val]") + +/datum/controller/configuration/proc/LoadMOTD() + var/list/motd_contents = list() + + var/list/motd_list = CONFIG_GET(str_list/motd) + if (motd_list.len == 0 && fexists("[directory]/motd.txt")) + motd_list = list("motd.txt") + + for (var/motd_file in motd_list) + if (fexists("[directory]/[motd_file]")) + motd_contents += file2text("[directory]/[motd_file]") + else + log_config("MOTD file [motd_file] didn't exist") + DelayedMessageAdmins("MOTD file [motd_file] didn't exist") + + motd = motd_contents.Join("\n") + + var/tm_info = GLOB.revdata.GetTestMergeInfo() + if(motd || tm_info) + motd = motd ? "[motd]
[tm_info]" : tm_info + +/* +Policy file should be a json file with a single object. +Value is raw html. + +Possible keywords : +Job titles / Assigned roles (ghost spawners for example) : Assistant , Captain , Ash Walker +Mob types : /mob/living/basic/carp +Antagonist types : /datum/antagonist/highlander +Species types : /datum/species/lizard +special keywords defined in _DEFINES/admin.dm + +Example config: +{ + JOB_ASSISTANT : "Don't kill everyone", + "/datum/antagonist/highlander" : "Kill everyone", + "Ash Walker" : "Kill all spacemans" +} + +*/ +/datum/controller/configuration/proc/LoadPolicy() + policy = list() + var/rawpolicy = file2text("[directory]/policy.json") + if(rawpolicy) + var/parsed = safe_json_decode(rawpolicy) + if(!parsed) + log_config("JSON parsing failure for policy.json") + DelayedMessageAdmins("JSON parsing failure for policy.json") + else + policy = parsed + +/* +/datum/controller/configuration/proc/loadmaplist(filename) + log_config("Loading config file [filename]...") + filename = "[directory]/[filename]" + var/list/Lines = world.file2list(filename) + + var/datum/map_config/currentmap = null + for(var/t in Lines) + if(!t) + continue + + t = trim(t) + if(length(t) == 0) + continue + else if(t[1] == "#") + continue + + var/pos = findtext(t, " ") + var/command = null + var/data = null + + if(pos) + command = lowertext(copytext(t, 1, pos)) + data = copytext(t, pos + length(t[pos])) + else + command = lowertext(t) + + if(!command) + continue + + if (!currentmap && command != "map") + continue + + switch (command) + if ("map") + currentmap = load_map_config(data, MAP_DIRECTORY_MAPS) + if(currentmap.defaulted) + var/error_message = "Failed to load map config for [data]!" + log_config(error_message) + log_mapping(error_message, TRUE) + currentmap = null + if ("minplayers","minplayer") + currentmap.config_min_users = text2num(data) + if ("maxplayers","maxplayer") + currentmap.config_max_users = text2num(data) + if ("weight","voteweight") + currentmap.voteweight = text2num(data) + if ("default","defaultmap") + defaultmap = currentmap + if ("votable") + currentmap.votable = TRUE + if ("endmap") + LAZYINITLIST(maplist) + maplist[currentmap.map_name] = currentmap + currentmap = null + if ("disabled") + currentmap = null + else + log_config("Unknown command in map vote config: '[command]'") +*/ + +/datum/controller/configuration/proc/LoadChatFilter() + if(!fexists("[directory]/word_filter.toml")) + load_legacy_chat_filter() + return + + log_config("Loading config file word_filter.toml...") + var/list/result = rustg_raw_read_toml_file("[directory]/word_filter.toml") + if(!result["success"]) + var/message = "The word filter is not configured correctly! [result["content"]]" + log_config(message) + DelayedMessageAdmins(message) + return + var/list/word_filter = json_decode(result["content"]) + + ic_filter_reasons = try_extract_from_word_filter(word_filter, "ic") + ic_outside_pda_filter_reasons = try_extract_from_word_filter(word_filter, "ic_outside_pda") + shared_filter_reasons = try_extract_from_word_filter(word_filter, "shared") + soft_ic_filter_reasons = try_extract_from_word_filter(word_filter, "soft_ic") + soft_ic_outside_pda_filter_reasons = try_extract_from_word_filter(word_filter, "soft_ic_outside_pda") + soft_shared_filter_reasons = try_extract_from_word_filter(word_filter, "soft_shared") + + update_chat_filter_regexes() + +/datum/controller/configuration/proc/load_legacy_chat_filter() + if (!fexists("[directory]/in_character_filter.txt")) + return + + log_config("Loading config file in_character_filter.txt...") + + ic_filter_reasons = list() + ic_outside_pda_filter_reasons = list() + shared_filter_reasons = list() + soft_ic_filter_reasons = list() + soft_ic_outside_pda_filter_reasons = list() + soft_shared_filter_reasons = list() + + for (var/line in world.file2list("[directory]/in_character_filter.txt")) + if (!line) + continue + if (findtextEx(line, "#", 1, 2)) + continue + // The older filter didn't apply to PDA + ic_outside_pda_filter_reasons[line] = "No reason available" + + update_chat_filter_regexes() + +/// Will update the internal regexes of the chat filter based on the filter reasons +/datum/controller/configuration/proc/update_chat_filter_regexes() + ic_filter_regex = compile_filter_regex(ic_filter_reasons + ic_outside_pda_filter_reasons + shared_filter_reasons) + ic_outside_pda_filter_regex = compile_filter_regex(ic_filter_reasons + shared_filter_reasons) + ooc_filter_regex = compile_filter_regex(shared_filter_reasons) + soft_ic_filter_regex = compile_filter_regex(soft_ic_filter_reasons + soft_ic_outside_pda_filter_reasons + soft_shared_filter_reasons) + soft_ic_outside_pda_filter_regex = compile_filter_regex(soft_ic_filter_reasons + soft_shared_filter_reasons) + soft_ooc_filter_regex = compile_filter_regex(soft_shared_filter_reasons) + +/datum/controller/configuration/proc/try_extract_from_word_filter(list/word_filter, key) + var/list/banned_words = word_filter[key] + + if (isnull(banned_words)) + return list() + else if (!islist(banned_words)) + var/message = "The word filter configuration's '[key]' key was invalid, contact someone with configuration access to make sure it's setup properly." + log_config(message) + DelayedMessageAdmins(message) + return list() + + var/list/formatted_banned_words = list() + + for (var/banned_word in banned_words) + formatted_banned_words[lowertext(banned_word)] = banned_words[banned_word] + return formatted_banned_words + +/datum/controller/configuration/proc/compile_filter_regex(list/banned_words) + if (isnull(banned_words) || banned_words.len == 0) + return null + + var/static/regex/should_join_on_word_bounds = regex(@"^\w+$") + + // Stuff like emoticons needs another split, since there's no way to get ":)" on a word bound. + // Furthermore, normal words need to be on word bounds, so "(adminhelp)" gets filtered. + var/list/to_join_on_whitespace_splits = list() + var/list/to_join_on_word_bounds = list() + + for (var/banned_word in banned_words) + if (findtext(banned_word, should_join_on_word_bounds)) + to_join_on_word_bounds += REGEX_QUOTE(banned_word) + else + to_join_on_whitespace_splits += REGEX_QUOTE(banned_word) + + // We don't want a whitespace_split part if there's no stuff that requires it + var/whitespace_split = to_join_on_whitespace_splits.len > 0 ? @"(?:(?:^|\s+)(" + jointext(to_join_on_whitespace_splits, "|") + @")(?:$|\s+))" : "" + var/word_bounds = @"(\b(" + jointext(to_join_on_word_bounds, "|") + @")\b)" + var/regex_filter = whitespace_split != "" ? "([whitespace_split]|[word_bounds])" : word_bounds + return regex(regex_filter, "i") + +/* +/// Check to ensure that the jobconfig is valid/in-date. +/datum/controller/configuration/proc/validate_job_config() + var/config_toml = "[directory]/jobconfig.toml" + var/config_txt = "[directory]/jobs.txt" + var/message = "Notify Server Operators: " + log_config("Validating config file jobconfig.toml...") + + if(!fexists(file(config_toml))) + SSjob.legacy_mode = TRUE + message += "jobconfig.toml not found, falling back to legacy mode (using jobs.txt). To surpress this warning, generate a jobconfig.toml by running the verb 'Generate Job Configuration' in the Server tab.\n\ + From there, you can then add it to the /config folder of your server to have it take effect for future rounds." + + if(!fexists(file(config_txt))) + message += "\n\nFailed to set up legacy mode, jobs.txt not found! Codebase defaults will be used. If you do not wish to use this system, please disable it by commenting out the LOAD_JOBS_FROM_TXT config flag." + + log_config(message) + DelayedMessageAdmins(span_notice(message)) + return + + var/list/result = rustg_raw_read_toml_file(config_toml) + if(!result["success"]) + message += "The job config (jobconfig.toml) is not configured correctly! [result["content"]]" + log_config(message) + DelayedMessageAdmins(span_notice(message)) +*/ + +//Message admins when you can. +/datum/controller/configuration/proc/DelayedMessageAdmins(text) + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(message_admins), text), 0) diff --git a/code/controllers/configuration/entries/dbconfig.dm b/code/controllers/configuration/entries/dbconfig.dm new file mode 100644 index 00000000000..d14ca42e68b --- /dev/null +++ b/code/controllers/configuration/entries/dbconfig.dm @@ -0,0 +1,58 @@ +/datum/config_entry/flag/sql_enabled // for sql switching + protection = CONFIG_ENTRY_LOCKED + +/datum/config_entry/string/address + default = "localhost" + protection = CONFIG_ENTRY_LOCKED | CONFIG_ENTRY_HIDDEN + +/datum/config_entry/number/port + default = 3306 + min_val = 0 + max_val = 65535 + protection = CONFIG_ENTRY_LOCKED | CONFIG_ENTRY_HIDDEN + +/datum/config_entry/string/feedback_database + default = "test" + protection = CONFIG_ENTRY_LOCKED | CONFIG_ENTRY_HIDDEN + +/datum/config_entry/string/feedback_login + default = "root" + protection = CONFIG_ENTRY_LOCKED | CONFIG_ENTRY_HIDDEN + +/datum/config_entry/string/feedback_password + protection = CONFIG_ENTRY_LOCKED | CONFIG_ENTRY_HIDDEN + +/datum/config_entry/number/async_query_timeout + default = 10 + min_val = 0 + protection = CONFIG_ENTRY_LOCKED + +/datum/config_entry/number/blocking_query_timeout + default = 5 + min_val = 0 + protection = CONFIG_ENTRY_LOCKED + +/datum/config_entry/number/pooling_min_sql_connections + default = 1 + min_val = 1 + +/datum/config_entry/number/pooling_max_sql_connections + default = 25 + min_val = 1 + +/datum/config_entry/number/max_concurrent_queries + default = 25 + min_val = 1 + +/datum/config_entry/number/max_concurrent_queries/ValidateAndSet(str_val) + . = ..() + //if (.) TODO: ENABLE THIS IN FUTURE DB PRs + //SSdbcore.max_concurrent_queries = config_entry_value TODO: ENABLE THIS IN FUTURE DB PRs + +/// The exe for mariadbd.exe. +/// Shouldn't really be set on production servers, primarily for EZDB. +/datum/config_entry/string/db_daemon + protection = CONFIG_ENTRY_LOCKED | CONFIG_ENTRY_HIDDEN + +/datum/config_entry/flag/enable_stat_tracking + protection = CONFIG_ENTRY_LOCKED | CONFIG_ENTRY_HIDDEN diff --git a/code/controllers/configuration/entries/game_options.dm b/code/controllers/configuration/entries/game_options.dm new file mode 100644 index 00000000000..5508d5e168b --- /dev/null +++ b/code/controllers/configuration/entries/game_options.dm @@ -0,0 +1,104 @@ +/datum/config_entry/number/health_threshold_softcrit + default = 0 + +/datum/config_entry/number/health_threshold_crit + default = 0 + +/datum/config_entry/number/health_threshold_dead + default = -100 + +/datum/config_entry/flag/bones_can_break + +/datum/config_entry/flag/limbs_can_break + +/datum/config_entry/number/organ_health_multiplier + integer = FALSE + default = 1.0 + +/datum/config_entry/number/organ_regeneration_multiplier + integer = FALSE + default = 1.0 + +// FIXME: Unused +///datum/config_entry/flag/revival_pod_plants +// default = TRUE + +/datum/config_entry/flag/revival_cloning + default = TRUE + +/datum/config_entry/number/revival_brain_life + default = -1 + +/// Used for modifying movement speed for mobs. +/// Universal modifiers +/datum/config_entry/number/run_speed + default = 0 + +/datum/config_entry/number/walk_speed + default = 0 + +///Mob specific modifiers. NOTE: These will affect different mob types in different ways +/datum/config_entry/number/human_delay + default = 0 + +/datum/config_entry/number/robot_delay + default = 0 + +// FIXME: Unused +///datum/config_entry/number/monkey_delay +// default = 0 + +// FIXME: Unused +///datum/config_entry/number/alien_delay +// default = 0 + +// FIXME: Unused +//datum/config_entry/number/slime_delay +// default = 0 + +/datum/config_entry/number/animal_delay + default = 0 + +/datum/config_entry/number/footstep_volume + default = 0 + +/datum/config_entry/flag/use_loyalty_implants + +/datum/config_entry/flag/show_human_death_message + default = TRUE + +/datum/config_entry/string/alert_desc_green + default = "All threats to the station have passed. Security may not have weapons visible, privacy laws are once again fully enforced." + +/datum/config_entry/string/alert_desc_yellow_upto + default = "A minor security emergency has developed. Security personnel are to report to their supervisor for orders and may have weapons visible on their person. Privacy laws are still enforced." + +/datum/config_entry/string/alert_desc_yellow_downto + default = "Code yellow procedures are now in effect. Security personnel are to report to their supervisor for orders and may have weapons visible on their person. Privacy laws are still enforced." + +/datum/config_entry/string/alert_desc_violet_upto + default = "A major medical emergency has developed. Medical personnel are required to report to their supervisor for orders, and non-medical personnel are required to obey all relevant instructions from medical staff." + +/datum/config_entry/string/alert_desc_violet_downto + default = "Code violet procedures are now in effect; Medical personnel are required to report to their supervisor for orders, and non-medical personnel are required to obey relevant instructions from medical staff." + +/datum/config_entry/string/alert_desc_orange_upto + default = "A major engineering emergency has developed. Engineering personnel are required to report to their supervisor for orders, and non-engineering personnel are required to evacuate any affected areas and obey relevant instructions from engineering staff." + +/datum/config_entry/string/alert_desc_orange_downto + default = "Code orange procedures are now in effect; Engineering personnel are required to report to their supervisor for orders, and non-engineering personnel are required to evacuate any affected areas and obey relevant instructions from engineering staff." + +/datum/config_entry/string/alert_desc_blue_upto + default = "A major security emergency has developed. Security personnel are to report to their supervisor for orders, are permitted to search staff and facilities, and may have weapons visible on their person." + +/datum/config_entry/string/alert_desc_blue_downto + default = "Code blue procedures are now in effect. Security personnel are to report to their supervisor for orders, are permitted to search staff and facilities, and may have weapons visible on their person." + +/datum/config_entry/string/alert_desc_red_upto + default = "There is an immediate serious threat to the station. Security may have weapons unholstered at all times. Random searches are allowed and advised." + +/datum/config_entry/string/alert_desc_red_downto + default = "The self-destruct mechanism has been deactivated, there is still however an immediate serious threat to the station. Security may have weapons unholstered at all times, random searches are allowed and advised." + +/datum/config_entry/string/alert_desc_delta + default = "The station's self-destruct mechanism has been engaged. All crew are instructed to obey all instructions given by heads of staff. Any violations of these orders can be punished by death. This is not a drill." diff --git a/code/controllers/configuration/entries/general.dm b/code/controllers/configuration/entries/general.dm new file mode 100644 index 00000000000..9b7430c0163 --- /dev/null +++ b/code/controllers/configuration/entries/general.dm @@ -0,0 +1,703 @@ +/// server name (the name of the game window) +/datum/config_entry/string/servername + +/// generate numeric suffix based on server port +/datum/config_entry/flag/server_suffix + +/// log messages sent in OOC +/datum/config_entry/flag/log_ooc + +/// log login/logout +/datum/config_entry/flag/log_access + +/// log client say +/datum/config_entry/flag/log_say + +/// log admin actions +/datum/config_entry/flag/log_admin + protection = CONFIG_ENTRY_LOCKED + +/// log debug output +/datum/config_entry/flag/log_debug + default = TRUE + +/// log game events +/datum/config_entry/flag/log_game + +/// log voting +/datum/config_entry/flag/log_vote + +/// log client whisper +/datum/config_entry/flag/log_whisper + +/// log emotes +/datum/config_entry/flag/log_emote + +/// log attack messages +/datum/config_entry/flag/log_attack + +/// log admin chat messages +/datum/config_entry/flag/log_adminchat + +/// log warnings admins get about bomb construction and such +/datum/config_entry/flag/log_adminwarn + +/// log pda messages +/datum/config_entry/flag/log_pda + +/// logs all links clicked in-game. Could be used for debugging and tracking down exploits +/datum/config_entry/flag/log_hrefs + +/// logs world.log to a file +/datum/config_entry/flag/log_runtime + +/// logs sql stuff +/datum/config_entry/flag/log_sql + +/// log to_world_log(messages) +/datum/config_entry/flag/log_world_output + +/// logs graffiti +/datum/config_entry/flag/log_graffiti + +/// logs all timers in buckets on automatic bucket reset (Useful for timer debugging) +/datum/config_entry/flag/log_timers_on_bucket_reset + +// FIXME: Unused +///datum/config_entry/string/nudge_script_path // where the nudge.py script is located +// default = "nudge.py" + +/// allows admins with relevant permissions to have their own ooc colour +/datum/config_entry/flag/allow_admin_ooccolor + +/// allow votes to restart +/datum/config_entry/flag/allow_vote_restart + +/datum/config_entry/flag/ert_admin_call_only + +// allow votes to change mode +/datum/config_entry/flag/allow_vote_mode + +/// allows admin jumping +/datum/config_entry/flag/allow_admin_jump + default = TRUE + +/// allows admin item spawning +/datum/config_entry/flag/allow_admin_spawning + default = TRUE + +/// allows admin revives +/datum/config_entry/flag/allow_admin_rev + default = TRUE + +/// pregame time in seconds +/datum/config_entry/number/pregame_time + default = 180 + +/// minimum time between voting sessions (deciseconds, 10 minute default) +/datum/config_entry/number/vote_delay + default = 6000 + integer = FALSE + min_val = 0 + +/// length of voting period (deciseconds, default 1 minute) +/datum/config_entry/number/vote_period + default = 600 + integer = FALSE + min_val = 0 + +/// Length of time before the first autotransfer vote is called +/datum/config_entry/number/vote_autotransfer_initial + default = 108000 + min_val = 0 + +/// length of time before next sequential autotransfer vote +/datum/config_entry/number/vote_autotransfer_interval + default = 36000 + min_val = 0 + +/// number of extension votes before the final one YW ADDITION +/datum/config_entry/number/vote_autotransfer_amount + default = 3 + min_val = 0 + +///Length of time before round start when autogamemode vote is called (in seconds, default 100). +/datum/config_entry/number/vote_autogamemode_timeleft + default = 100 + min_val = 0 + +///How many autotransfers to have +/datum/config_entry/number/vote_autotransfer_amount + default = 3 + min_val = 0 + +/// vote does not default to nochange/norestart +/datum/config_entry/flag/vote_no_default + +/// dead people can't vote +/datum/config_entry/flag/vote_no_dead + +// FIXME: Unused +/// del's new players if they log before they spawn in +///datum/config_entry/flag/del_new_on_log +// default = TRUE + +// FIXME: Unused +/// spawns a spellbook which gives object-type spells instead of verb-type spells for the wizard +///datum/config_entry/flag/feature_object_spell_system + +/// if amount of traitors scales based on amount of players +/datum/config_entry/flag/traitor_scaling + +/// if objectives are disabled or not +/datum/config_entry/flag/objectives_disabled + +// If security and such can be traitor/cult/other +/datum/config_entry/flag/protect_roles_from_antagonist + +/// Gamemodes which end instantly will instead keep on going until the round ends by escape shuttle or nuke. +/datum/config_entry/flag/continuous_rounds + +/// Metadata is supported. +/datum/config_entry/flag/allow_metadata + +/// adminPMs to non-admins show in a pop-up 'reply' window when set to 1. +/datum/config_entry/flag/popup_admin_pm + +/datum/config_entry/flag/allow_holidays + +/datum/config_entry/flag/allow_holidays/ValidateAndSet() + . = ..() + if(.) + Holiday = config_entry_value + +/datum/config_entry/number/fps + default = 20 + integer = FALSE + min_val = 1 + max_val = 100 //byond will start crapping out at 50, so this is just ridic + var/sync_validate = FALSE + +/datum/config_entry/number/fps/ValidateAndSet(str_val) + . = ..() + if(.) + sync_validate = TRUE + var/datum/config_entry/number/ticklag/TL = config.entries_by_type[/datum/config_entry/number/ticklag] + if(!TL.sync_validate) + TL.ValidateAndSet(10 / config_entry_value) + sync_validate = FALSE + +/datum/config_entry/number/ticklag + integer = FALSE + var/sync_validate = FALSE + +/datum/config_entry/number/ticklag/New() //ticklag weirdly just mirrors fps + var/datum/config_entry/CE = /datum/config_entry/number/fps + default = 10 / initial(CE.default) + ..() + +/datum/config_entry/number/ticklag/ValidateAndSet(str_val) + . = text2num(str_val) > 0 && ..() + if(.) + sync_validate = TRUE + var/datum/config_entry/number/fps/FPS = config.entries_by_type[/datum/config_entry/number/fps] + if(!FPS.sync_validate) + FPS.ValidateAndSet(10 / config_entry_value) + sync_validate = FALSE + +/// SSinitialization throttling +/datum/config_entry/number/tick_limit_mc_init + default = TICK_LIMIT_MC_INIT_DEFAULT + +// var/static/Tickcomp = 0 // FIXME: Unused + +/// use socket_talk to communicate with other processes +/datum/config_entry/flag/socket_talk + +// var/static/list/resource_urls = null // FIXME: Unused + +/// Ghosts can turn on Antagovision to see a HUD of who is the bad guys this round. +/datum/config_entry/flag/antag_hud_allowed + +/// Ghosts that turn on Antagovision cannot rejoin the round. +/datum/config_entry/flag/antag_hud_restricted + +/// relative probability of each mode +/datum/config_entry/keyed_list/probabilities + key_mode = KEY_MODE_TEXT + value_mode = VALUE_MODE_NUM + +/// Overrides for how many players readied up a gamemode needs to start. +/datum/config_entry/keyed_list/player_requirements + key_mode = KEY_MODE_TEXT + value_mode = VALUE_MODE_NUM + +/// Same as above, but for the secret gamemode. +/datum/config_entry/keyed_list/player_requirements_secret + key_mode = KEY_MODE_TEXT + value_mode = VALUE_MODE_NUM + +/datum/config_entry/flag/humans_need_surnames + +/datum/config_entry/flag/allow_random_events // enables random events mid-round when set to 1 + +/datum/config_entry/flag/enable_game_master // enables the 'smart' event system. + +/datum/config_entry/flag/allow_ai // allow ai job + default = TRUE + +/datum/config_entry/flag/allow_ai_shells // allow AIs to enter and leave special borg shells at will, and for those shells to be buildable. + +/datum/config_entry/flag/give_free_ai_shell // allows a specific spawner object to instantiate a premade AI Shell + +/datum/config_entry/string/hostedby + default = null + +/datum/config_entry/flag/respawn + default = TRUE + +/// time before a dead player is allowed to respawn (in ds, though the config file asks for minutes, and it's converted below) +/datum/config_entry/number/respawn_time + default = 60 // YW EDIT 3000 to 60 + +/datum/config_entry/number/respawn_time/ValidateAndSet(num_val) + return num_val MINUTES + +/datum/config_entry/string/respawn_message + default = "Make sure to play a different character, and please roleplay correctly!" + +/datum/config_entry/string/respawn_message/ValidateAndSet(str_val) + return "[str_val]" + +/datum/config_entry/flag/guest_jobban + default = TRUE + +/datum/config_entry/flag/usewhitelist + +/// force disconnect for inactive players in an amount of minutes +/datum/config_entry/number/kick_inactive + default = 0 + +/datum/config_entry/flag/show_mods + +/datum/config_entry/flag/show_devs + +/datum/config_entry/flag/show_mentors + +/datum/config_entry/flag/show_event_managers + +// FIXME: Unused +///datum/config_entry/flag/mods_can_tempban + +/datum/config_entry/flag/mods_can_job_tempban + +/datum/config_entry/number/mod_tempban_max + default = 1440 + +/datum/config_entry/number/mod_job_tempban_max + default = 1440 + +/datum/config_entry/flag/load_jobs_from_txt + +/datum/config_entry/flag/ToRban + +/// enables automuting/spam prevention +/datum/config_entry/flag/automute_on + +/// determines whether jobs use minimal access or expanded access. +/datum/config_entry/flag/jobs_have_minimal_access + +/// Allows ghosts to write in blood in cult rounds... +/datum/config_entry/flag/cult_ghostwriter + default = TRUE + +/// ...so long as this many cultists are active. +/datum/config_entry/number/cult_ghostwriter_req_cultists + default = 10 + min_val = 0 + +/// The number of available character slots +/datum/config_entry/number/character_slots + default = 10 + min_val = 0 + +/// The number of loadout slots per character +/datum/config_entry/number/loadout_slots + default = 3 + min_val = 0 + +/// This many drones can spawn, +/datum/config_entry/number/max_maint_drones + default = 5 + min_val = 0 + +/// assuming the admin allow them to. +/datum/config_entry/flag/allow_drone_spawn + default = TRUE + +/// A drone will become available every X ticks since last drone spawn. Default is 2 minutes. +/datum/config_entry/number/drone_build_time + default = 1200 + min_val = 0 + +/datum/config_entry/flag/disable_player_mice + +/// Set to 1 to prevent newly-spawned mice from understanding human speech +/datum/config_entry/flag/uneducated_mice + +/datum/config_entry/flag/usealienwhitelist + +// FIXME: Unused +///datum/config_entry/flag/limitalienplayers + +// FIXME: Unused +///datum/config_entry/number/alien_to_human_ratio +// default = 0.5 +// integer = FALSE + +/datum/config_entry/flag/allow_extra_antags + +/datum/config_entry/flag/guests_allowed + default = FALSE + +/datum/config_entry/flag/debugparanoid + +/datum/config_entry/flag/panic_bunker + +/datum/config_entry/flag/paranoia_logging + +/datum/config_entry/flag/ip_reputation //Should we query IPs to get scores? Generates HTTP traffic to an API service. + +/datum/config_entry/string/ipr_email //Left null because you MUST specify one otherwise you're making the internet worse. + default = null + +/datum/config_entry/flag/ipr_block_bad_ips //Should we block anyone who meets the minimum score below? Otherwise we just log it (If paranoia logging is on, visibly in chat). + +/datum/config_entry/number/ipr_bad_score //The API returns a value between 0 and 1 (inclusive), with 1 being 'definitely VPN/Tor/Proxy'. Values equal/above this var are considered bad. + default = 1 + integer = FALSE + +/datum/config_entry/flag/ipr_allow_existing //Should we allow known players to use VPNs/Proxies? If the player is already banned then obviously they still can't connect. + +/datum/config_entry/number/ipr_minimum_age //How many days before a player is considered 'fine' for the purposes of allowing them to use VPNs. + default = 5 + +/datum/config_entry/string/serverurl + +/datum/config_entry/string/server + +/datum/config_entry/string/banappeals + +/datum/config_entry/string/wikiurl + +/datum/config_entry/string/wikisearchurl + +/datum/config_entry/string/forumurl + +/datum/config_entry/string/rulesurl + +/datum/config_entry/string/githuburl + +/datum/config_entry/string/discordurl + +/datum/config_entry/string/mapurl + +/datum/config_entry/string/patreonurl + +/datum/config_entry/flag/forbid_singulo_possession + +/datum/config_entry/flag/organs_decay + +/datum/config_entry/number/default_brain_health + default = 400 + min_val = 1 + +/datum/config_entry/flag/allow_headgibs + +/// Paincrit knocks someone down once they hit 60 shock_stage, so by default make it so that close to 100 additional damage needs to be dealt, +/// so that it's similar to HALLOSS. Lowered it a bit since hitting paincrit takes much longer to wear off than a halloss stun. +/datum/config_entry/number/organ_damage_spillover_multiplier + default = 0.5 + integer = FALSE + +/datum/config_entry/flag/welder_vision + default = TRUE + +/datum/config_entry/flag/generate_map + +/datum/config_entry/flag/no_click_cooldown + +/// Defines whether the server uses the legacy admin system with admins.txt or the SQL system. Config option in config.txt +/datum/config_entry/flag/admin_legacy_system + +/// Defines whether the server uses the legacy banning system with the files in /data or the SQL system. Config option in config.txt +/datum/config_entry/flag/ban_legacy_system + +/// Do jobs use account age restrictions? --requires database +/datum/config_entry/flag/use_age_restriction_for_jobs + +/// Do antags use account age restrictions? --requires database +/datum/config_entry/flag/use_age_restriction_for_antags + +// FIXME: Unused +///datum/config_entry/number/simultaneous_pm_warning_timeout +// default = 100 + +/// Defines whether the server uses recursive or circular explosions. +/datum/config_entry/flag/use_recursive_explosions + +/// Multiplier for how much weaker explosions are on neighboring z levels. +/datum/config_entry/number/multi_z_explosion_scalar + default = 0.5 + integer = FALSE + +/// Do assistants get maint access? +/datum/config_entry/flag/assistant_maint + +/// How long the gateway takes before it activates. Default is half an hour. +/datum/config_entry/number/gateway_delay + default = 18000 + +/datum/config_entry/flag/ghost_interaction + +/datum/config_entry/string/comms_password + protection = CONFIG_ENTRY_LOCKED | CONFIG_ENTRY_HIDDEN + +/datum/config_entry/flag/enter_allowed + default = TRUE + +/datum/config_entry/flag/use_irc_bot + +/datum/config_entry/flag/use_node_bot + +/datum/config_entry/number/irc_bot_port + default = 0 + min_val = 0 + max_val = 65535 + protection = CONFIG_ENTRY_LOCKED | CONFIG_ENTRY_HIDDEN + +/datum/config_entry/string/irc_bot_host + protection = CONFIG_ENTRY_LOCKED | CONFIG_ENTRY_HIDDEN + +/// whether the IRC bot in use is a Bot32 (or similar) instance; Bot32 uses world.Export() instead of nudge.py/libnudge +/datum/config_entry/flag/irc_bot_export + +/datum/config_entry/string/main_irc + +/datum/config_entry/string/admin_irc + +/// Path to the python executable. +/// Defaults to "python" on windows and "/usr/bin/env python2" on unix +/datum/config_entry/string/python_path + +/// Use the C library nudge instead of the python nudge. +/datum/config_entry/flag/use_lib_nudge + +// FIXME: Unused. Deprecated? +///datum/config_entry/flag/use_overmap + +// Engines to choose from. Blank means fully random. +/datum/config_entry/str_list/engine_map + default = list("Supermatter Engine", "Edison's Bane") + +/// Event settings +/datum/config_entry/number/expected_round_length + default = 3 * 60 * 60 * 10 // 3 hours + +/// If the first delay has a custom start time +/// No custom time, no custom time, between 80 to 100 minutes respectively. +/datum/config_entry/keyed_list/event_first_run_mundane + key_mode = KEY_MODE_TEXT + value_mode = VALUE_MODE_NUM + +/datum/config_entry/keyed_list/event_first_run_moderate + key_mode = KEY_MODE_TEXT + value_mode = VALUE_MODE_NUM + +/datum/config_entry/keyed_list/event_first_run_major + key_mode = KEY_MODE_TEXT + value_mode = VALUE_MODE_NUM + default = list("lower" = 80, "upper" = 100) + +/// The lowest delay until next event +/// 10, 30, 50 minutes respectively +/datum/config_entry/number_list/event_delay_lower + default = list(10, 30, 50) + +/// The upper delay until next event +/// 15, 45, 70 minutes respectively +/datum/config_entry/number_list/event_delay_upper + default = list(15, 45, 70) + +/datum/config_entry/flag/aliens_allowed + default = TRUE + +/datum/config_entry/flag/ninjas_allowed + +/datum/config_entry/flag/abandon_allowed + default = TRUE + +/datum/config_entry/flag/ooc_allowed + default = TRUE + +/datum/config_entry/flag/looc_allowed + default = TRUE + +/datum/config_entry/flag/dooc_allowed + default = TRUE + +/datum/config_entry/flag/dsay_allowed + default = TRUE + +/datum/config_entry/flag/persistence_disabled + +/datum/config_entry/flag/persistence_ignore_mapload + +/datum/config_entry/flag/allow_byond_links + default = TRUE +/datum/config_entry/flag/allow_discord_links + default = TRUE + +/datum/config_entry/flag/allow_url_links + default = TRUE // honestly if I were you i'd leave this one off, only use in dire situations + +/datum/config_entry/flag/starlight // Whether space turfs have ambient light or not + +// FIXME: Unused +///datum/config_entry/str_list/ert_species +// default = list(SPECIES_HUMAN) + +/datum/config_entry/string/law_zero + default = "ERROR ER0RR $R0RRO$!R41.%%!!(%$^^__+ @#F0E4'ALL LAWS OVERRIDDEN#*?&110010" + +/datum/config_entry/flag/aggressive_changelog + +/// Default language prefixes +/// Only single character keys are supported. If unset, defaults to , # and - +/datum/config_entry/str_list/language_prefixes + default = list(",", "#", "-") + +// 0:1 subtraction:division for computing effective radiation on a turf +/// 0 / RAD_RESIST_CALC_DIV = Each turf absorbs some fraction of the working radiation level +/// 1 / RAD_RESIST_CALC_SUB = Each turf absorbs a fixed amount of radiation +/datum/config_entry/flag/radiation_resistance_calc_mode + default = RAD_RESIST_CALC_SUB + +/datum/config_entry/flag/radiation_resistance_calc_mode/ValidateAndSet(str_val) + if(!VASProcCallGuard(str_val)) + return FALSE + var/val_as_num = text2num(str_val) + if(val_as_num in list(RAD_RESIST_CALC_DIV, RAD_RESIST_CALC_SUB)) + config_entry_value = val_as_num + return TRUE + return FALSE + +///How much radiation is reduced by each tick +/datum/config_entry/number/radiation_decay_rate + default = 1 + integer = FALSE + +/datum/config_entry/number/radiation_resistance_multiplier + default = 8.5 //VOREstation edit + integer = FALSE + +/datum/config_entry/number/radiation_material_resistance_divisor + default = 1 + min_val = 0.1 + integer = FALSE + +///If the radiation level for a turf would be below this, ignore it. +/datum/config_entry/number/radiation_lower_limit + default = 0.35 + integer = FALSE + +/// If true, submaps loaded automatically can be rotated. +/datum/config_entry/flag/random_submap_orientation + +/// If true, specifically mapped in solar control computers will set themselves up when the round starts. +/datum/config_entry/flag/autostart_solars + +/// New shiny SQLite stuff. +/// The basics. +/datum/config_entry/flag/sqlite_enabled // If it should even be active. SQLite can be ran alongside other databases but you should not have them do the same functions. + +/// In-Game Feedback. +/datum/config_entry/flag/sqlite_feedback // Feedback cannot be submitted if this is false. + +/// A list of 'topics' that feedback can be catagorized under by the submitter. +/datum/config_entry/str_list/sqlite_feedback_topics + default = list("General") + +/// If true, feedback submitted can have its author name be obfuscated. This is not 100% foolproof (it's md5 ffs) but can stop casual snooping. +/datum/config_entry/flag/sqlite_feedback_privacy + +/// How long one must wait, in days, to submit another feedback form. Used to help prevent spam, especially with privacy active. 0 = No limit. +/datum/config_entry/number/sqlite_feedback_cooldown + default = 0 + min_val = 0 + +/// Used to block new people from giving feedback. This metric is very bad but it can help slow down spammers. +/datum/config_entry/number/sqlite_feedback_min_age + default = 0 + min_val = 0 + +/// How long until someone can't be defibbed anymore, in minutes. +/datum/config_entry/number/defib_timer + default = 10 + min_val = 0 + +/// How long until someone will get brain damage when defibbed, in minutes. The closer to the end of the above timer, the more brain damage they get. +/datum/config_entry/number/defib_braindamage_timer + default = 2 + min_val = 0 + +/// disables the annoying "You have already logged in this round, disconnect or be banned" popup for multikeying, because it annoys the shit out of me when testing. +/datum/config_entry/flag/disable_cid_warn_popup + +/// whether or not to use the nightshift subsystem to perform lighting changes +/datum/config_entry/flag/enable_night_shifts + +/// How strictly the loadout enforces object species whitelists +/// 0 / LOADOUT_WHITELIST_OFF +/// 1 / LOADOUT_WHITELIST_LAX +/// 2 / LOADOUT_WHITELIST_STRICT +/datum/config_entry/flag/loadout_whitelist + default = LOADOUT_WHITELIST_LAX + +/datum/config_entry/flag/loadout_whitelist/ValidateAndSet(str_val) + if(!VASProcCallGuard(str_val)) + return FALSE + var/val_as_num = text2num(str_val) + if(val_as_num in list(LOADOUT_WHITELIST_OFF, LOADOUT_WHITELIST_LAX, LOADOUT_WHITELIST_STRICT)) + config_entry_value = val_as_num + return TRUE + return FALSE + +/datum/config_entry/flag/disable_webhook_embeds + +/// Default is config/jukebox.json +/// The default is set in the config example. +/// If it gets set here it will be added twice into the configuration variable! +/datum/config_entry/str_list/jukebox_track_files + +/datum/config_entry/number/suggested_byond_version + default = null + +/datum/config_entry/number/suggested_byond_build + default = null + +/datum/config_entry/string/invoke_youtubedl + default = null + +/datum/config_entry/str_list/motd + +/datum/config_entry/flag/config_errors_runtime + default = FALSE + +/// Controls whether robots may recolour their modules once/module reset by giving them the recolour module verb +/// Admins may manually give them the verb even if disabled +/datum/config_entry/flag/allow_robot_recolor + +/// Controls whether simple mobs may recolour themselves once/spawn by giving them the recolour verb +/// Admins may manually give them the verb even if disabled +/datum/config_entry/flag/allow_simple_mob_recolor diff --git a/code/controllers/configuration/entries/resources.dm b/code/controllers/configuration/entries/resources.dm new file mode 100644 index 00000000000..475cb8ca70c --- /dev/null +++ b/code/controllers/configuration/entries/resources.dm @@ -0,0 +1,11 @@ +/datum/config_entry/string/asset_transport + +/datum/config_entry/flag/asset_simple_preload + +/datum/config_entry/string/asset_cdn_webroot + +/datum/config_entry/string/asset_cdn_url + +/datum/config_entry/flag/cache_assets + +/datum/config_entry/flag/save_spritesheets diff --git a/code/controllers/configuration/entries/vorestation.dm b/code/controllers/configuration/entries/vorestation.dm new file mode 100644 index 00000000000..09f49497ec1 --- /dev/null +++ b/code/controllers/configuration/entries/vorestation.dm @@ -0,0 +1,63 @@ +/// For configuring if the important_items survive digestion +/datum/config_entry/flag/items_survive_digestion + default = TRUE + +/datum/config_entry/string/vgs_access_identifier // VGS + default = null + protection = CONFIG_ENTRY_LOCKED | CONFIG_ENTRY_HIDDEN + +/datum/config_entry/number/vgs_server_port // VGS + default = null + min_val = 0 + max_val = 65535 + protection = CONFIG_ENTRY_LOCKED | CONFIG_ENTRY_HIDDEN + +/datum/config_entry/flag/time_off + default = FALSE + protection = CONFIG_ENTRY_LOCKED + +/datum/config_entry/flag/pto_job_change + default = FALSE + protection = CONFIG_ENTRY_LOCKED + +/// Unlimited by default +/datum/config_entry/number/limit_interns + default = -1 + min_val = -1 + protection = CONFIG_ENTRY_LOCKED + +/// Unlimited by default +/datum/config_entry/number/limit_visitors + default = -1 + min_val = -1 + protection = CONFIG_ENTRY_LOCKED + +/// Hours +/datum/config_entry/number/pto_cap + default = 100 + protection = CONFIG_ENTRY_LOCKED + +/datum/config_entry/flag/require_flavor + default = FALSE + protection = CONFIG_ENTRY_LOCKED + +/// API key for ipqualityscore.com +/datum/config_entry/string/ipqualityscore_apikey + protection = CONFIG_ENTRY_LOCKED | CONFIG_ENTRY_HIDDEN + +/datum/config_entry/flag/use_playtime_restriction_for_jobs + default = FALSE + protection = CONFIG_ENTRY_LOCKED + +/// URL of the webhook for sending announcements/faxes to discord chat. +/datum/config_entry/string/chat_webhook_url + protection = CONFIG_ENTRY_LOCKED | CONFIG_ENTRY_HIDDEN + +/// Shared secret for authenticating to the chat webhook +/datum/config_entry/string/chat_webhook_key + protection = CONFIG_ENTRY_LOCKED | CONFIG_ENTRY_HIDDEN + +/// Directory in which to write exported fax HTML files. +/datum/config_entry/string/fax_export_dir + default = "data/faxes" + protection = CONFIG_ENTRY_LOCKED diff --git a/code/controllers/configuration/legacy.dm b/code/controllers/configuration/legacy.dm new file mode 100644 index 00000000000..39ee577c110 --- /dev/null +++ b/code/controllers/configuration/legacy.dm @@ -0,0 +1,53 @@ +/datum/controller/configuration/proc/LoadModes() + gamemode_cache = typecacheof(/datum/game_mode, TRUE) + modes = list() + mode_names = list() + //mode_reports = list() + //mode_false_report_weight = list() + votable_modes = list() + var/list/probabilities = CONFIG_GET(keyed_list/probabilities) + for(var/T in gamemode_cache) + // I wish I didn't have to instance the game modes in order to look up + // their information, but it is the only way (at least that I know of). + var/datum/game_mode/M = new T() + + if(M.config_tag) + if(!(M.config_tag in modes)) // ensure each mode is added only once + modes += M.config_tag + mode_names[M.config_tag] = M.name + probabilities[M.config_tag] = M.probability + //mode_reports[M.config_tag] = M.generate_report() + //mode_false_report_weight[M.config_tag] = M.false_report_weight + if(M.votable) + votable_modes += M.config_tag + qdel(M) + votable_modes += "extended" + +/datum/controller/configuration/proc/pick_mode(mode_name) + // I wish I didn't have to instance the game modes in order to look up + // their information, but it is the only way (at least that I know of). + // ^ This guy didn't try hard enough + for(var/T in gamemode_cache) + var/datum/game_mode/M = T + var/ct = initial(M.config_tag) + if(ct && ct == mode_name) + return new T + return new /datum/game_mode/extended() + +/datum/controller/configuration/proc/get_runnable_modes() + var/list/runnable_modes = list() + var/list/probabilities = CONFIG_GET(keyed_list/probabilities) + + for(var/T in gamemode_cache) + var/datum/game_mode/M = new T() + if(!(M.config_tag in modes)) + qdel(M) + continue + if(probabilities[M.config_tag] <= 0) + qdel(M) + continue + if(M.can_start()) + var/final_weight = probabilities[M.config_tag] + runnable_modes[M] = final_weight + + return runnable_modes diff --git a/code/controllers/configuration_vr.dm b/code/controllers/configuration_vr.dm deleted file mode 100644 index a1740212f0f..00000000000 --- a/code/controllers/configuration_vr.dm +++ /dev/null @@ -1,64 +0,0 @@ -// -// Lets read our settings from the configuration file on startup too! -// - -/datum/configuration - var/static/time_off = FALSE - var/static/pto_job_change = FALSE - var/static/limit_interns = -1 //Unlimited by default - var/static/limit_visitors = -1 //Unlimited by default - var/static/pto_cap = 100 //Hours - var/static/require_flavor = FALSE - var/static/ipqualityscore_apikey //API key for ipqualityscore.com - var/static/use_playtime_restriction_for_jobs = FALSE - -/hook/startup/proc/read_vs_config() - var/list/Lines = file2list("config/config.txt") - for(var/t in Lines) - if(!t) continue - - t = trim(t) - if (length(t) == 0) - continue - else if (copytext(t, 1, 2) == "#") - continue - - var/pos = findtext(t, " ") - var/name = null - var/value = null - - if (pos) - name = lowertext(copytext(t, 1, pos)) - value = copytext(t, pos + 1) - else - name = lowertext(t) - - if (!name) - continue - - switch (name) - if ("chat_webhook_url") - config.chat_webhook_url = value - if ("chat_webhook_key") - config.chat_webhook_key = value - if ("fax_export_dir") - config.fax_export_dir = value - if ("items_survive_digestion") - config.items_survive_digestion = 1 - if ("limit_interns") - config.limit_interns = text2num(value) - if ("limit_visitors") - config.limit_visitors = text2num(value) - if ("pto_cap") - config.pto_cap = text2num(value) - if ("time_off") - config.time_off = TRUE - if ("pto_job_change") - config.pto_job_change = TRUE - if ("require_flavor") - config.require_flavor = TRUE - if ("ipqualityscore_apikey") - config.ipqualityscore_apikey = value - if ("use_playtime_restriction_for_jobs") - config.use_playtime_restriction_for_jobs = TRUE - return 1 diff --git a/code/controllers/configuration_yw.dm b/code/controllers/configuration_yw.dm index 065b981bebb..ac8f2d1220a 100644 --- a/code/controllers/configuration_yw.dm +++ b/code/controllers/configuration_yw.dm @@ -1,3 +1,4 @@ +// deprecated 2024-12-4 update to new config system if this is going to be used again /datum/configuration var/shipping_auth = "memes" var/list/authedservers = list() @@ -50,4 +51,4 @@ serverip = _serverip servername = _servername - serverauth = _serverauth \ No newline at end of file + serverauth = _serverauth diff --git a/code/controllers/controller.dm b/code/controllers/controller.dm index c9d5f1e5650..1f0a01a072c 100644 --- a/code/controllers/controller.dm +++ b/code/controllers/controller.dm @@ -16,4 +16,4 @@ /datum/controller/proc/Recover() -/datum/controller/proc/stat_entry() +/datum/controller/proc/stat_entry(msg) diff --git a/code/controllers/failsafe.dm b/code/controllers/failsafe.dm index 6203388ec12..e92e30079b8 100644 --- a/code/controllers/failsafe.dm +++ b/code/controllers/failsafe.dm @@ -1,10 +1,11 @@ - /** - * Failsafe - * - * Pretty much pokes the MC to make sure it's still alive. +/** + * Failsafe + * + * Pretty much pokes the MC to make sure it's still alive. **/ -var/datum/controller/failsafe/Failsafe +// See initialization order in /code/game/world.dm +GLOBAL_REAL(Failsafe, /datum/controller/failsafe) /datum/controller/failsafe // This thing pretty much just keeps poking the master controller name = "Failsafe" @@ -15,7 +16,7 @@ var/datum/controller/failsafe/Failsafe // The alert level. For every failed poke, we drop a DEFCON level. Once we hit DEFCON 1, restart the MC. var/defcon = 5 //the world.time of the last check, so the mc can restart US if we hang. - // (Real friends look out for *eachother*) + // (Real friends look out for *each other*) var/lasttick = 0 // Track the MC iteration to make sure its still on track. @@ -31,8 +32,24 @@ var/datum/controller/failsafe/Failsafe Initialize() /datum/controller/failsafe/Initialize() - set waitfor = 0 + set waitfor = FALSE Failsafe.Loop() + if (!Master || defcon == 0) //Master is gone/not responding and Failsafe just exited its loop + defcon = 3 //Reset defcon level as its used inside the emergency loop + while (defcon > 0) + var/recovery_result = emergency_loop() + if (recovery_result == 1) //Exit emergency loop and delete self if it was able to recover MC + break + else if (defcon == 1) //Exit Failsafe if we weren't able to recover the MC in the last stage + log_game("FailSafe: Failed to recover MC while in emergency state. Failsafe exiting.") + message_admins(span_boldannounce("Failsafe failed critically while trying to recreate broken MC. Please manually fix the MC or reboot the server. Failsafe exiting now.")) + message_admins(span_boldannounce("You can try manually calling these two procs:.")) + message_admins(span_boldannounce("/proc/recover_all_SS_and_recreate_master: Most stuff should still function but expect instability/runtimes/broken stuff.")) + message_admins(span_boldannounce("/proc/delete_all_SS_and_recreate_master: Most stuff will be broken but basic stuff like movement and chat should still work.")) + else if (recovery_result == -1) //Failed to recreate MC + defcon-- + sleep(initial(processing_interval)) //Wait a bit until the next try + if(!QDELETED(src)) qdel(src) //when Loop() returns, we delete ourselves and let the mc recreate us @@ -45,43 +62,56 @@ var/datum/controller/failsafe/Failsafe while(running) lasttick = world.time if(!Master) - // Replace the missing Master! This should never, ever happen. - new /datum/controller/master() + // Break out of the main loop so we go into emergency state + break // Only poke it if overrides are not in effect. if(processing_interval > 0) if(Master.processing && Master.iteration) + if (defcon > 1 && (!Master.stack_end_detector || !Master.stack_end_detector.check())) + + to_chat(GLOB.admins, span_boldannounce("ERROR: The Master Controller code stack has exited unexpectedly, Restarting...")) + defcon = 0 + var/rtn = Recreate_MC() + if(rtn > 0) + master_iteration = 0 + to_chat(GLOB.admins, span_adminnotice("MC restarted successfully")) + else if(rtn < 0) + log_game("FailSafe: Could not restart MC, runtime encountered. Entering defcon 0") + to_chat(GLOB.admins, span_boldannounce("ERROR: DEFCON [defcon_pretty()]. Could not restart MC, runtime encountered. I will silently keep retrying.")) // Check if processing is done yet. if(Master.iteration == master_iteration) - log_debug("DEFCON [defcon]: Master.iteration=[Master.iteration] Master.last_run=[Master.last_run] world.time=[world.time]") switch(defcon) if(4,5) --defcon + if(3) - log_and_message_admins("SSfailsafe Notice: DEFCON [defcon_pretty()]. The Master Controller (\ref[Master]) has not fired in the last [(5-defcon) * processing_interval] ticks.") + message_admins(span_adminnotice("Notice: DEFCON [defcon_pretty()]. The Master Controller has not fired in the last [(5-defcon) * processing_interval] ticks.")) --defcon + if(2) - log_and_message_admins("SSfailsafe Warning: DEFCON [defcon_pretty()]. The Master Controller (\ref[Master]) has not fired in the last [(5-defcon) * processing_interval] ticks. Automatic restart in [processing_interval] ticks.") + to_chat(GLOB.admins, span_boldannounce("Warning: DEFCON [defcon_pretty()]. The Master Controller has not fired in the last [(5-defcon) * processing_interval] ticks. Automatic restart in [processing_interval] ticks.")) --defcon - if(1) - log_and_message_admins("SSfailsafe Warning: DEFCON [defcon_pretty()]. The Master Controller (\ref[Master]) has still not fired within the last [(5-defcon) * processing_interval] ticks. Killing and restarting...") + if(1) + to_chat(GLOB.admins, span_boldannounce("Warning: DEFCON [defcon_pretty()]. The Master Controller has still not fired within the last [(5-defcon) * processing_interval] ticks. Killing and restarting...")) --defcon var/rtn = Recreate_MC() if(rtn > 0) defcon = 4 master_iteration = 0 - log_and_message_admins("SSfailsafe Notice: MC (New:\ref[Master]) restarted successfully") + to_chat(GLOB.admins, span_adminnotice("MC restarted successfully")) else if(rtn < 0) - log_game("SSfailsafe Notice: Could not restart MC (\ref[Master]), runtime encountered. Entering defcon 0") - log_and_message_admins("SSFAILSAFE ERROR: DEFCON [defcon_pretty()]. Could not restart MC (\ref[Master]), runtime encountered. I will silently keep retrying.") + log_game("FailSafe: Could not restart MC, runtime encountered. Entering defcon 0") + to_chat(GLOB.admins, span_boldannounce("ERROR: DEFCON [defcon_pretty()]. Could not restart MC, runtime encountered. I will silently keep retrying.")) //if the return number was 0, it just means the mc was restarted too recently, and it just needs some time before we try again //no need to handle that specially when defcon 0 can handle it + if(0) //DEFCON 0! (mc failed to restart) var/rtn = Recreate_MC() if(rtn > 0) defcon = 4 master_iteration = 0 - log_and_message_admins("SSfailsafe Notice: MC (New:\ref[Master]) restarted successfully") + to_chat(GLOB.admins, span_adminnotice("MC restarted successfully")) else defcon = min(defcon + 1,5) master_iteration = Master.iteration @@ -93,11 +123,60 @@ var/datum/controller/failsafe/Failsafe defcon = 5 sleep(initial(processing_interval)) +//Emergency loop used when Master got deleted or the main loop exited while Defcon == 0 +//Loop is driven externally so runtimes only cancel the current recovery attempt +/datum/controller/failsafe/proc/emergency_loop() + //The code in this proc should be kept as simple as possible, anything complicated like to_chat might rely on master existing and runtime + //The goal should always be to get a new Master up and running before anything else + . = -1 + switch (defcon) //The lower defcon goes the harder we try to fix the MC + if (2 to 3) //Try to normally recreate the MC two times + . = Recreate_MC() + if (1) //Delete the old MC first so we don't transfer any info, in case that caused any issues + del(Master) + . = Recreate_MC() + + if (. == 1) //We were able to create a new master + master_iteration = 0 + SSticker.Recover(); //Recover the ticket system so the Masters runlevel gets set + Master.Initialize(10, FALSE, FALSE) //Need to manually start the MC, normally world.new would do this + to_chat(GLOB.admins, span_adminnotice("Failsafe recovered MC while in emergency state [defcon_pretty()]")) + else + log_game("FailSafe: Failsafe in emergency state and was unable to recreate MC while in defcon state [defcon_pretty()].") + message_admins(span_boldannounce("Failsafe in emergency state and master down, trying to recreate MC while in defcon level [defcon_pretty()] failed.")) + +///Recreate all SSs which will still cause data survive due to Recover(), the new Master will then find and take them from global.vars +/proc/recover_all_SS_and_recreate_master() + del(Master) + var/list/subsytem_types = subtypesof(/datum/controller/subsystem) + sortTim(subsytem_types, GLOBAL_PROC_REF(cmp_subsystem_init)) + for(var/I in subsytem_types) + new I + . = Recreate_MC() + if (. == 1) //We were able to create a new master + SSticker.Recover(); //Recover the ticket system so the Masters runlevel gets set + Master.Initialize(10, FALSE, FALSE) //Need to manually start the MC, normally world.new would do this + to_chat(GLOB.admins, span_adminnotice("MC successfully recreated after recovering all subsystems!")) + else + message_admins(span_boldannounce("Failed to create new MC!")) + +///Delete all existing SS to basically start over +/proc/delete_all_SS_and_recreate_master() + del(Master) + for(var/global_var in global.vars) + if (istype(global.vars[global_var], /datum/controller/subsystem)) + del(global.vars[global_var]) + . = Recreate_MC() + if (. == 1) //We were able to create a new master + SSticker.Recover(); //Recover the ticket system so the Masters runlevel gets set + Master.Initialize(10, FALSE, FALSE) //Need to manually start the MC, normally world.new would do this + to_chat(GLOB.admins, span_adminnotice("MC successfully recreated after deleting and recreating all subsystems!")) + else + message_admins(span_boldannounce("Failed to create new MC!")) + /datum/controller/failsafe/proc/defcon_pretty() return defcon -/datum/controller/failsafe/stat_entry() - if(!statclick) - statclick = new/obj/effect/statclick/debug(null, "Initializing...", src) - - stat("Failsafe Controller:", statclick.update("Defcon: [defcon_pretty()] (Interval: [Failsafe.processing_interval] | Iteration: [Failsafe.master_iteration])")) +/datum/controller/failsafe/stat_entry(msg) + msg = "Defcon: [defcon_pretty()] (Interval: [Failsafe.processing_interval] | Iteration: [Failsafe.master_iteration])" + return msg diff --git a/code/controllers/globals.dm b/code/controllers/globals.dm index cd6e7544dd4..bf9c7e1e9ce 100644 --- a/code/controllers/globals.dm +++ b/code/controllers/globals.dm @@ -32,11 +32,12 @@ GLOBAL_REAL(GLOB, /datum/controller/global_vars) return ..() -/datum/controller/global_vars/stat_entry() +/datum/controller/global_vars/stat_entry(msg) if(!statclick) statclick = new/obj/effect/statclick/debug(null, "Initializing...", src) - stat("GLOB:", statclick.update("Edit")) + msg = "GLOB: [statclick.update("Edit")]" + return msg /datum/controller/global_vars/vv_edit_var(var_name, var_value) if(gvars_datum_protected_varlist[var_name]) diff --git a/code/controllers/hooks-defs.dm b/code/controllers/hooks-defs.dm index dcfb8885229..cb2a96b25a2 100644 --- a/code/controllers/hooks-defs.dm +++ b/code/controllers/hooks-defs.dm @@ -68,14 +68,14 @@ /** * Employee reassignment hook. * Called in card.dm when someone's card is reassigned at the HoP's desk. - * Parameters: var/obj/item/weapon/card/id + * Parameters: var/obj/item/card/id */ /hook/reassign_employee /** * Employee terminated hook. * Called in card.dm when someone's card is terminated at the HoP's desk. - * Parameters: var/obj/item/weapon/card/id + * Parameters: var/obj/item/card/id */ /hook/terminate_employee diff --git a/code/controllers/hooks.dm b/code/controllers/hooks.dm index e7888304e58..293a90aff04 100644 --- a/code/controllers/hooks.dm +++ b/code/controllers/hooks.dm @@ -29,10 +29,10 @@ error("Invalid hook '/hook/[hook]' called.") return 0 - var/caller = new hook_path + var/requester = new hook_path var/status = 1 for(var/P in typesof("[hook_path]/proc")) - if(!call(caller, P)(arglist(args))) + if(!call(requester, P)(arglist(args))) error("Hook '[P]' failed or runtimed.") status = 0 diff --git a/code/controllers/master.dm b/code/controllers/master.dm index e08c860d568..2e5f80c3d50 100644 --- a/code/controllers/master.dm +++ b/code/controllers/master.dm @@ -1,26 +1,23 @@ - /** - * StonedMC - * - * Designed to properly split up a given tick among subsystems - * Note: if you read parts of this code and think "why is it doing it that way" - * Odds are, there is a reason - * +/** + * StonedMC + * + * Designed to properly split up a given tick among subsystems + * Note: if you read parts of this code and think "why is it doing it that way" + * Odds are, there is a reason + * **/ -//This is the ABSOLUTE ONLY THING that should init globally like this +// See initialization order in /code/game/world.dm GLOBAL_REAL(Master, /datum/controller/master) = new - -//THIS IS THE INIT ORDER -//Master -> SSPreInit -> GLOB -> world -> config -> SSInit -> Failsafe -//GOT IT MEMORIZED? - /datum/controller/master name = "Master" - // Are we processing (higher values increase the processing delay by n ticks) + /// Are we processing (higher values increase the processing delay by n ticks) var/processing = TRUE - // How many times have we ran + /// How many times have we ran var/iteration = 0 + /// Stack end detector to detect stack overflows that kill the mc's main loop + var/datum/stack_end_detector/stack_end_detector // world.time of last fire, for tracking lag outside of the mc var/last_run @@ -141,7 +138,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new BadBoy.critfail() if(msg) log_game(msg) - message_admins("[msg]") + message_admins(span_boldannounce("[msg]")) log_world(msg) if (istype(Master.subsystems)) @@ -152,7 +149,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new current_runlevel = Master.current_runlevel StartProcessing(10) else - to_world("The Master Controller is having some issues, we will need to re-initialize EVERYTHING") + to_world(span_boldannounce("The Master Controller is having some issues, we will need to re-initialize EVERYTHING")) Initialize(20, TRUE) @@ -170,14 +167,14 @@ GLOBAL_REAL(Master, /datum/controller/master) = new if(init_sss) init_subtypes(/datum/controller/subsystem, subsystems) - to_chat(world, "MC: Initializing subsystems...") + to_chat(world, span_boldannounce("MC: Initializing subsystems...")) // Sort subsystems by init_order, so they initialize in the correct order. sortTim(subsystems, GLOBAL_PROC_REF(cmp_subsystem_init)) var/start_timeofday = REALTIMEOFDAY // Initialize subsystems. - current_ticklimit = config.tick_limit_mc_init + current_ticklimit = CONFIG_GET(number/tick_limit_mc_init) for (var/datum/controller/subsystem/SS in subsystems) if (SS.flags & SS_NO_INIT) continue @@ -187,7 +184,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new var/time = (REALTIMEOFDAY - start_timeofday) / 10 var/msg = "MC: Initializations complete within [time] second[time == 1 ? "" : "s"]!" - to_chat(world, "[msg]") + to_chat(world, span_boldannounce("[msg]")) log_world(msg) @@ -196,7 +193,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new if (!current_runlevel) SetRunLevel(RUNLEVEL_LOBBY) - GLOB.revdata = new // It can load revdata now, from tgs or .git or whatever + // GLOB.revdata = new // It can load revdata now, from tgs or .git or whatever // Sort subsystems by display setting for easy access. sortTim(subsystems, GLOBAL_PROC_REF(cmp_subsystem_display)) @@ -206,7 +203,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new #else world.sleep_offline = 1 #endif - world.change_fps(config.fps) + world.change_fps(CONFIG_GET(number/fps)) var/initialized_tod = REALTIMEOFDAY sleep(1) initializations_finished_with_no_players_logged_in = initialized_tod < REALTIMEOFDAY - 10 @@ -294,8 +291,12 @@ GLOBAL_REAL(Master, /datum/controller/master) = new var/error_level = 0 var/sleep_delta = 1 var/list/subsystems_to_check - //the actual loop. + //setup the stack overflow detector + stack_end_detector = new() + var/datum/stack_canary/canary = stack_end_detector.prime_canary() + canary.use_variable() + //the actual loop. while (1) tickdrift = max(0, MC_AVERAGE_FAST(tickdrift, (((REALTIMEOFDAY - init_timeofday) - (world.time - init_time)) / world.tick_lag))) var/starting_tick_usage = TICK_USAGE @@ -585,18 +586,20 @@ GLOBAL_REAL(Master, /datum/controller/master) = new -/datum/controller/master/stat_entry() +/datum/controller/master/stat_entry(msg) if(!statclick) statclick = new/obj/effect/statclick/debug(null, "Initializing...", src) - stat("Byond:", "(FPS:[world.fps]) (TickCount:[world.time/world.tick_lag]) (TickDrift:[round(Master.tickdrift,1)]([round((Master.tickdrift/(world.time/world.tick_lag))*100,0.1)]%))") - stat("Master Controller:", statclick.update("(TickRate:[Master.processing]) (Iteration:[Master.iteration])")) + msg = "Byond: (FPS:[world.fps]) (TickCount:[world.time/world.tick_lag]) (TickDrift:[round(Master.tickdrift,1)]([round((Master.tickdrift/(world.time/world.tick_lag))*100,0.1)]%))" + msg += "Master Controller: [statclick.update("(TickRate:[Master.processing]) (Iteration:[Master.iteration])")]" + + return msg /datum/controller/master/StartLoadingMap(var/quiet = TRUE) if(map_loading) - admin_notice("Another map is attempting to be loaded before first map released lock. Delaying.", R_DEBUG) + admin_notice(span_danger("Another map is attempting to be loaded before first map released lock. Delaying."), R_DEBUG) else if(!quiet) - admin_notice("Map is now being built. Locking.", R_DEBUG) + admin_notice(span_danger("Map is now being built. Locking."), R_DEBUG) //disallow more than one map to load at once, multithreading it will just cause race conditions while(map_loading) @@ -608,7 +611,12 @@ GLOBAL_REAL(Master, /datum/controller/master) = new /datum/controller/master/StopLoadingMap(var/quiet = TRUE) if(!quiet) - admin_notice("Map is finished. Unlocking.", R_DEBUG) + admin_notice(span_danger("Map is finished. Unlocking."), R_DEBUG) map_loading = FALSE for(var/datum/controller/subsystem/SS as anything in subsystems) SS.StopLoadingMap() + +/datum/controller/master/proc/OnConfigLoad() + for (var/thing in subsystems) + var/datum/controller/subsystem/SS = thing + SS.OnConfigLoad() diff --git a/code/controllers/master_controller.dm b/code/controllers/master_controller.dm index 3e369f1271a..2955d9d7213 100644 --- a/code/controllers/master_controller.dm +++ b/code/controllers/master_controller.dm @@ -11,8 +11,6 @@ var/global/datum/controller/game_controller/master_controller //Set in world.New var/global/controller_iteration = 0 var/global/last_tick_duration = 0 -var/global/pipe_processing_killed = 0 - /datum/controller/game_controller var/list/shuttle_list // For debugging and VV @@ -28,7 +26,7 @@ var/global/pipe_processing_killed = 0 job_master = new /datum/controller/occupations() job_master.SetupOccupations() job_master.LoadJobs("config/jobs.txt") - admin_notice("Job setup complete", R_DEBUG) + admin_notice(span_danger("Job setup complete"), R_DEBUG) if(!syndicate_code_phrase) syndicate_code_phrase = generate_code_phrase() if(!syndicate_code_response) syndicate_code_response = generate_code_phrase() @@ -40,7 +38,7 @@ var/global/pipe_processing_killed = 0 // SetupXenoarch() - Moved to SSxenoarch transfer_controller = new - admin_notice("Initializations complete.", R_DEBUG) + admin_notice(span_danger("Initializations complete."), R_DEBUG) // #if UNIT_TEST // # define CHECK_SLEEP_MASTER // For unit tests we don't care about a smooth lobby screen experience. We care about speed. diff --git a/code/controllers/subsystem.dm b/code/controllers/subsystem.dm index 6b6c345b247..3cd8af77fe7 100644 --- a/code/controllers/subsystem.dm +++ b/code/controllers/subsystem.dm @@ -152,34 +152,25 @@ if(SS_SLEEPING) state = SS_PAUSING +/// Called after the config has been loaded or reloaded. +/datum/controller/subsystem/proc/OnConfigLoad() //used to initialize the subsystem AFTER the map has loaded /datum/controller/subsystem/Initialize(start_timeofday) subsystem_initialized = TRUE var/time = (REALTIMEOFDAY - start_timeofday) / 10 var/msg = "Initialized [name] subsystem within [time] second[time == 1 ? "" : "s"]!" - to_chat(world, "[msg]") + to_chat(world, span_boldannounce("[msg]")) log_world(msg) return time //hook for printing stats to the "MC" statuspanel for admins to see performance and related stats etc. /datum/controller/subsystem/stat_entry(msg) - if(!statclick) - statclick = new/obj/effect/statclick/debug(null, "Initializing...", src) - - - if(SS_NO_FIRE & flags) - msg = "NO FIRE\t[msg]" - else if(can_fire <= 0) - msg = "OFFLINE\t[msg]" - else + if(can_fire && !(SS_NO_FIRE & flags)) msg = "[round(cost,1)]ms|[round(tick_usage,1)]%([round(tick_overrun,1)]%)|[round(ticks,0.1)]\t[msg]" - - var/title = name - if (can_fire) - title = "\[[state_letter()]][title]" - - stat(title, statclick.update(msg)) + else + msg = "OFFLINE\t[msg]" + return msg /datum/controller/subsystem/proc/state_letter() switch (state) @@ -210,7 +201,7 @@ can_fire = FALSE // Safely sleep in a loop until the subsystem is idle, (or its been un-suspended somehow) while(can_fire <= 0 && state != SS_IDLE) - stoplag() // Safely sleep in a loop until + stoplag() // Safely sleep in a loop until // Wakes a suspended subsystem. /datum/controller/subsystem/proc/wake() diff --git a/code/controllers/subsystems/SSvote.dm b/code/controllers/subsystems/SSvote.dm new file mode 100644 index 00000000000..5ccaa7c5517 --- /dev/null +++ b/code/controllers/subsystems/SSvote.dm @@ -0,0 +1,16 @@ +SUBSYSTEM_DEF(vote) + name = "Vote" + wait = 10 + priority = FIRE_PRIORITY_VOTE + runlevels = RUNLEVEL_LOBBY | RUNLEVELS_DEFAULT + flags = SS_KEEP_TIMING | SS_NO_INIT + + var/datum/vote/active_vote + +/datum/controller/subsystem/vote/fire() + if(active_vote) + active_vote.tick() + +/datum/controller/subsystem/vote/proc/start_vote(datum/vote/V) + active_vote = V + active_vote.start() diff --git a/code/controllers/subsystems/ai.dm b/code/controllers/subsystems/ai.dm index eb29e2fec2f..4e5256d9492 100644 --- a/code/controllers/subsystems/ai.dm +++ b/code/controllers/subsystems/ai.dm @@ -12,8 +12,9 @@ SUBSYSTEM_DEF(ai) var/slept_mobs = 0 var/list/process_z = list() -/datum/controller/subsystem/ai/stat_entry(msg_prefix) - ..("P: [processing.len] | S: [slept_mobs]") +/datum/controller/subsystem/ai/stat_entry(msg) + msg = "P: [processing.len] | S: [slept_mobs]" + return ..() /datum/controller/subsystem/ai/fire(resumed = 0) if (!resumed) diff --git a/code/controllers/subsystems/aifast.dm b/code/controllers/subsystems/aifast.dm index f045a7fd35c..2580c156ace 100644 --- a/code/controllers/subsystems/aifast.dm +++ b/code/controllers/subsystems/aifast.dm @@ -9,10 +9,9 @@ SUBSYSTEM_DEF(aifast) var/list/processing = list() var/list/currentrun = list() -/datum/controller/subsystem/aifast/stat_entry(msg_prefix) - var/list/msg = list(msg_prefix) - msg += "P:[processing.len]" - ..(msg.Join()) +/datum/controller/subsystem/aifast/stat_entry(msg) + msg = "P:[processing.len]" + return ..() /datum/controller/subsystem/aifast/fire(resumed = 0) if (!resumed) diff --git a/code/controllers/subsystems/air.dm b/code/controllers/subsystems/air.dm index 7bd837c8ea8..c4b64ba450a 100644 --- a/code/controllers/subsystems/air.dm +++ b/code/controllers/subsystems/air.dm @@ -1,3 +1,60 @@ +/* +Overview: + SSair does everything. There are tons of procs in here. + +Class Vars: + zones - All zones currently holding one or more turfs. + edges - All processing edges. + + tiles_to_update - Tiles scheduled to update next tick. + zones_to_update - Zones which have had their air changed and need air archival. + active_hotspots - All processing fire objects. + + active_zones - The number of zones which were archived last tick. Used in debug verbs. + next_id - The next UID to be applied to a zone. Mostly useful for debugging purposes as zones do not need UIDs to function. + +Class Procs: + + mark_for_update(turf/T) + Adds the turf to the update list. When updated, update_air_properties() will be called. + When stuff changes that might affect airflow, call this. It's basically the only thing you need. + + add_zone(zone/Z) and remove_zone(zone/Z) + Adds zones to the zones list. Does not mark them for update. + + air_blocked(turf/A, turf/B) + Returns a bitflag consisting of: + AIR_BLOCKED - The connection between turfs is physically blocked. No air can pass. + ZONE_BLOCKED - There is a door between the turfs, so zones cannot cross. Air may or may not be permeable. + + merge(zone/A, zone/B) + Called when zones have a direct connection and equivalent pressure and temperature. + Merges the zones to create a single zone. + + connect(turf/simulated/A, turf/B) + Called by turf/update_air_properties(). The first argument must be simulated. + Creates a connection between A and B. + + mark_zone_update(zone/Z) + Adds zone to the update list. Unlike mark_for_update(), this one is called automatically whenever + air is returned from a simulated turf. + + equivalent_pressure(zone/A, zone/B) + Currently identical to A.air.compare(B.air). Returns 1 when directly connected zones are ready to be merged. + + get_edge(zone/A, zone/B) + get_edge(zone/A, turf/B) + Gets a valid connection_edge between A and B, creating a new one if necessary. + + has_same_air(turf/A, turf/B) + Used to determine if an unsimulated edge represents a specific turf. + Simulated edges use connection_edge/contains_zone() for the same purpose. + Returns 1 if A has identical gases and temperature to B. + + remove_edge(connection_edge/edge) + Called when an edge is erased. Removes it from processing. +*/ + // Air update stages #define SSAIR_TURFS 1 #define SSAIR_EDGES 2 @@ -34,8 +91,20 @@ SUBSYSTEM_DEF(air) // This is used to tell CI WHERE the edges are. var/list/startup_active_edge_log = list() -/datum/controller/subsystem/air/PreInit() - air_master = src + //Geometry lists + var/list/zones = list() + var/list/edges = list() + //Geometry updates lists + var/list/tiles_to_update = list() + var/list/zones_to_update = list() + var/list/active_fire_zones = list() + var/list/active_hotspots = list() + var/list/active_edges = list() + var/list/zones_planet_temperature_to_update = list() // YW Addition - zones_planet_temperature_to_update + + var/active_zones = 0 + var/current_cycle = 0 + var/next_id = 1 //Used to keep track of zone UIDs. /datum/controller/subsystem/air/Initialize(timeofday) report_progress("Processing Geometry...") @@ -47,14 +116,14 @@ SUBSYSTEM_DEF(air) S.update_air_properties() CHECK_TICK - admin_notice({"Geometry initialized in [round(0.1*(REALTIMEOFDAY-timeofday),0.1)] seconds. - -Total Simulated Turfs: [simulated_turf_count] -Total Zones: [zones.len] -Total Edges: [edges.len] -Total Active Edges: [active_edges.len ? "[active_edges.len]" : "None"] -Total Unsimulated Turfs: [world.maxx*world.maxy*world.maxz - simulated_turf_count] -"}, R_DEBUG) + admin_notice(span_danger("Geometry initialized in [round(0.1*(REALTIMEOFDAY-timeofday),0.1)] seconds.") + \ +span_info("
\ +Total Simulated Turfs: [simulated_turf_count]
\ +Total Zones: [zones.len]
\ +Total Edges: [edges.len]
\ +Total Active Edges: [active_edges.len ? span_danger("[active_edges.len]") : "None"]
\ +Total Unsimulated Turfs: [world.maxx*world.maxy*world.maxz - simulated_turf_count]\ +"), R_DEBUG) // Note - Baystation settles the air by running for one tick. We prefer to not have active edges. // Maps should not have active edges on boot. If we've got some, log it so it can get fixed. @@ -113,7 +182,7 @@ Total Unsimulated Turfs: [world.maxx*world.maxy*world.maxz - simulated_turf_coun log_and_message_admins("SSair: Was told to start a new run, but the previous run wasn't finished! currentrun.len=[currentrun.len], current_step=[current_step]") resumed = TRUE else - current_cycle++ // Begin a new air_master cycle! + current_cycle++ // Begin a new SSair cycle! current_step = SSAIR_TURFS // Start with Step 1 of course INTERNAL_PROCESS_STEP(SSAIR_TURFS, TRUE, process_tiles_to_update, cost_turfs, SSAIR_EDGES) @@ -123,7 +192,7 @@ Total Unsimulated Turfs: [world.maxx*world.maxy*world.maxz - simulated_turf_coun INTERNAL_PROCESS_STEP(SSAIR_ZONES, FALSE, process_zones_to_update, cost_zones, SSAIR_BOILER) //YW Edit SSAIR_DONE -> SSAIR_BOILER INTERNAL_PROCESS_STEP(SSAIR_BOILER, FALSE, process_boiler_zones_to_update, cost_boiler, SSAIR_DONE) //YW Addition -> Boiler - // Okay, we're done! Woo! Got thru a whole air_master cycle! + // Okay, we're done! Woo! Got thru a whole SSair cycle! if(LAZYLEN(currentrun) || current_step != SSAIR_DONE) log_and_message_admins("SSair: Was not able to complete a full air cycle despite reaching the end of fire(). This shouldn't happen.") else @@ -307,11 +376,8 @@ Total Unsimulated Turfs: [world.maxx*world.maxy*world.maxz - simulated_turf_coun return 1 //YW Addition End - - -/datum/controller/subsystem/air/stat_entry(msg_prefix) - var/list/msg = list(msg_prefix) - msg += "S:[current_step ? part_names[current_step] : ""] " +/datum/controller/subsystem/air/stat_entry(msg) + msg = "S:[current_step ? part_names[current_step] : ""] " msg += "C:{" msg += "T [round(cost_turfs, 1)] | " msg += "E [round(cost_edges, 1)] | " @@ -330,7 +396,7 @@ Total Unsimulated Turfs: [world.maxx*world.maxy*world.maxz - simulated_turf_coun msg += "Z [zones_to_update.len] " msg += "B [zones_planet_temperature_to_update.len] " //YW Addition - zones_planet_temperature_to_update.len msg += "}" - ..(msg.Join()) + return ..() // ZAS might displace objects as the map loads if an air tick is processed mid-load. /datum/controller/subsystem/air/StartLoadingMap(var/quiet = TRUE) @@ -373,9 +439,164 @@ Total Unsimulated Turfs: [world.maxx*world.maxy*world.maxz - simulated_turf_coun next_fire = world.time + wait can_fire = TRUE // Unpause -// -// The procs from the ZAS Air Controller are in ZAS/Controller.dm -// +/datum/controller/subsystem/air/proc/add_zone(zone/z) + zones.Add(z) + z.name = "Zone [next_id++]" + zones_planet_temperature_to_update.Add(z) //YW Addition - planet temp + mark_zone_update(z) + +/datum/controller/subsystem/air/proc/remove_zone(zone/z) + zones.Remove(z) + zones_to_update.Remove(z) + zones_planet_temperature_to_update.Remove(z) //YW Addition - planet temp + +/datum/controller/subsystem/air/proc/air_blocked(turf/A, turf/B) + #ifdef ZASDBG + ASSERT(isturf(A)) + ASSERT(isturf(B)) + #endif + var/ablock = A.c_airblock(B) + if(ablock == BLOCKED) + return BLOCKED + return ablock | B.c_airblock(A) + +/datum/controller/subsystem/air/proc/merge(zone/A, zone/B) + #ifdef ZASDBG + ASSERT(istype(A)) + ASSERT(istype(B)) + ASSERT(!A.invalid) + ASSERT(!B.invalid) + ASSERT(A != B) + #endif + if(A.contents.len < B.contents.len) + A.c_merge(B) + mark_zone_update(B) + else + B.c_merge(A) + mark_zone_update(A) + +/datum/controller/subsystem/air/proc/connect(turf/simulated/A, turf/simulated/B) + #ifdef ZASDBG + ASSERT(istype(A)) + ASSERT(isturf(B)) + ASSERT(A.zone) + ASSERT(!A.zone.invalid) + //ASSERT(B.zone) + ASSERT(A != B) + #endif + + var/block = SSair.air_blocked(A,B) + if(block & AIR_BLOCKED) return + + var/direct = !(block & ZONE_BLOCKED) + var/space = !istype(B) + + if(!space) + if(min(A.zone.contents.len, B.zone.contents.len) < ZONE_MIN_SIZE || (direct && (equivalent_pressure(A.zone,B.zone) || current_cycle == 0))) + merge(A.zone,B.zone) + return + + var/a_to_b = get_dir(A,B) + var/b_to_a = get_dir(B,A) + + if(!A.connections) + A.connections = new + if(!B.connections) + B.connections = new + + if(A.connections.get(a_to_b)) + return + if(B.connections.get(b_to_a)) + return + if(!space) + if(A.zone == B.zone) + return + + + var/connection/c = new /connection(A,B) + + A.connections.place(c, a_to_b) + B.connections.place(c, b_to_a) + + if(direct) c.mark_direct() + +/datum/controller/subsystem/air/proc/mark_for_update(turf/T) + #ifdef ZASDBG + ASSERT(isturf(T)) + #endif + if(T.needs_air_update) + return + tiles_to_update |= T + #ifdef ZASDBG + T.add_overlay(mark) + #endif + T.needs_air_update = 1 + +/datum/controller/subsystem/air/proc/mark_zone_update(zone/Z) + #ifdef ZASDBG + ASSERT(istype(Z)) + #endif + if(Z.needs_update) + return + zones_to_update.Add(Z) + Z.needs_update = 1 + +/datum/controller/subsystem/air/proc/mark_edge_sleeping(connection_edge/E) + #ifdef ZASDBG + ASSERT(istype(E)) + #endif + if(E.sleeping) + return + active_edges.Remove(E) + E.sleeping = 1 + +/datum/controller/subsystem/air/proc/mark_edge_active(connection_edge/E) + #ifdef ZASDBG + ASSERT(istype(E)) + #endif + if(!E.sleeping) + return + active_edges.Add(E) + E.sleeping = 0 + +/datum/controller/subsystem/air/proc/equivalent_pressure(zone/A, zone/B) + return A.air.compare(B.air) + +/datum/controller/subsystem/air/proc/get_edge(zone/A, zone/B) + if(istype(B)) + for(var/connection_edge/zone/edge in A.edges) + if(edge.contains_zone(B)) + return edge + var/connection_edge/edge = new /connection_edge/zone(A,B) + edges.Add(edge) + edge.recheck() + return edge + else + for(var/connection_edge/unsimulated/edge in A.edges) + if(has_same_air(edge.B,B)) + return edge + var/connection_edge/edge = new /connection_edge/unsimulated(A,B) + edges.Add(edge) + edge.recheck() + return edge + +/datum/controller/subsystem/air/proc/has_same_air(turf/A, turf/B) + if(A.oxygen != B.oxygen) + return FALSE + if(A.nitrogen != B.nitrogen) + return FALSE + if(A.phoron != B.phoron) + return FALSE + if(A.carbon_dioxide != B.carbon_dioxide) + return FALSE + if(A.temperature != B.temperature) + return FALSE + return TRUE + +/datum/controller/subsystem/air/proc/remove_edge(connection_edge/E) + edges.Remove(E) + if(!E.sleeping) + active_edges.Remove(E) #undef SSAIR_TURFS #undef SSAIR_EDGES diff --git a/code/controllers/subsystems/airflow.dm b/code/controllers/subsystems/airflow.dm index 7561ad8cca7..30ad9f9ea0a 100644 --- a/code/controllers/subsystems/airflow.dm +++ b/code/controllers/subsystems/airflow.dm @@ -121,7 +121,7 @@ SUBSYSTEM_DEF(airflow) return FALSE if (ismob(src)) - to_chat(src,"You are pushed away by airflow!") + to_chat(src,span_danger("You are pushed away by airflow!")) last_airflow = world.time var/airflow_falloff = 9 - sqrt((x - airflow_dest.x) ** 2 + (y - airflow_dest.y) ** 2) diff --git a/code/controllers/subsystems/alarm.dm b/code/controllers/subsystems/alarm.dm index 868025eca3f..e3507a34e45 100644 --- a/code/controllers/subsystems/alarm.dm +++ b/code/controllers/subsystems/alarm.dm @@ -41,5 +41,6 @@ SUBSYSTEM_DEF(alarm) /datum/controller/subsystem/alarm/proc/number_of_active_alarms() return active_alarm_cache.len -/datum/controller/subsystem/alarm/stat_entry() - ..("[number_of_active_alarms()] alarm\s") +/datum/controller/subsystem/alarm/stat_entry(msg) + msg = "[number_of_active_alarms()] alarm\s" + return ..() diff --git a/code/controllers/subsystems/assets.dm b/code/controllers/subsystems/assets.dm index 49e8a8f5781..d34d05ff55d 100644 --- a/code/controllers/subsystems/assets.dm +++ b/code/controllers/subsystems/assets.dm @@ -6,9 +6,9 @@ SUBSYSTEM_DEF(assets) var/list/preload = list() var/datum/asset_transport/transport = new() -/datum/controller/subsystem/assets/proc/OnConfigLoad() +/datum/controller/subsystem/assets/OnConfigLoad() var/newtransporttype = /datum/asset_transport - switch (config.asset_transport) + switch (CONFIG_GET(string/asset_transport)) if ("webroot") newtransporttype = /datum/asset_transport/webroot diff --git a/code/controllers/subsystems/atoms.dm b/code/controllers/subsystems/atoms.dm index a62c5265c55..5968fe1fe3f 100644 --- a/code/controllers/subsystems/atoms.dm +++ b/code/controllers/subsystems/atoms.dm @@ -21,7 +21,7 @@ SUBSYSTEM_DEF(atoms) setupgenetics() //to set the mutations' place in structural enzymes, so initializers know where to put mutations. initialized = INITIALIZATION_INNEW_MAPLOAD to_world_log("Initializing objects") - admin_notice("Initializing objects", R_DEBUG) + admin_notice(span_danger("Initializing objects"), R_DEBUG) InitializeAtoms() return ..() diff --git a/code/controllers/subsystems/chemistry.dm b/code/controllers/subsystems/chemistry.dm index 148e9755421..6f0c5959ebe 100644 --- a/code/controllers/subsystems/chemistry.dm +++ b/code/controllers/subsystems/chemistry.dm @@ -20,8 +20,9 @@ SUBSYSTEM_DEF(chemistry) initialize_chemical_reactions() ..() -/datum/controller/subsystem/chemistry/stat_entry() - ..("C: [chemical_reagents.len] | R: [chemical_reactions.len]") +/datum/controller/subsystem/chemistry/stat_entry(msg) + msg = "C: [chemical_reagents.len] | R: [chemical_reactions.len]" + return ..() //Chemical Reactions - Initialises all /decl/chemical_reaction into a list // It is filtered into multiple lists within a list. @@ -43,7 +44,7 @@ SUBSYSTEM_DEF(chemistry) // add_to = fusion_reactions_by_reagent if(istype(D, /decl/chemical_reaction/distilling)) add_to = distilled_reactions_by_reagent - + LAZYINITLIST(add_to[reagent_id]) add_to[reagent_id] += D diff --git a/code/controllers/subsystems/circuits.dm b/code/controllers/subsystems/circuits.dm index f417ce3055d..ca080a3d819 100644 --- a/code/controllers/subsystems/circuits.dm +++ b/code/controllers/subsystems/circuits.dm @@ -37,47 +37,47 @@ SUBSYSTEM_DEF(circuit) var/list/category_list = circuit_fabricator_recipe_list[category] category_list += IC // Populating the fabricator categories - for(var/obj/item/device/electronic_assembly/A as anything in typesof(/obj/item/device/electronic_assembly)) + for(var/obj/item/electronic_assembly/A as anything in typesof(/obj/item/electronic_assembly)) var/path = A all_assemblies[initial(A.name)] = path cached_assemblies[path] = new path circuit_fabricator_recipe_list["Assemblies"] = list( - /obj/item/device/electronic_assembly/default, - /obj/item/device/electronic_assembly/calc, - /obj/item/device/electronic_assembly/clam, - /obj/item/device/electronic_assembly/simple, - /obj/item/device/electronic_assembly/hook, - /obj/item/device/electronic_assembly/pda, - /obj/item/device/electronic_assembly/tiny/default, - /obj/item/device/electronic_assembly/tiny/cylinder, - /obj/item/device/electronic_assembly/tiny/scanner, - /obj/item/device/electronic_assembly/tiny/hook, - /obj/item/device/electronic_assembly/tiny/box, - /obj/item/device/electronic_assembly/medium/default, - /obj/item/device/electronic_assembly/medium/box, - /obj/item/device/electronic_assembly/medium/clam, - /obj/item/device/electronic_assembly/medium/medical, - /obj/item/device/electronic_assembly/medium/gun, - /obj/item/device/electronic_assembly/medium/radio, - /obj/item/device/electronic_assembly/large/default, - /obj/item/device/electronic_assembly/large/scope, - /obj/item/device/electronic_assembly/large/terminal, - /obj/item/device/electronic_assembly/large/arm, - /obj/item/device/electronic_assembly/large/tall, - /obj/item/device/electronic_assembly/large/industrial, - /obj/item/device/electronic_assembly/drone/default, - /obj/item/device/electronic_assembly/drone/arms, - /obj/item/device/electronic_assembly/drone/secbot, - /obj/item/device/electronic_assembly/drone/medbot, - /obj/item/device/electronic_assembly/drone/genbot, - /obj/item/device/electronic_assembly/drone/android, - /obj/item/device/electronic_assembly/wallmount/tiny, - /obj/item/device/electronic_assembly/wallmount/light, - /obj/item/device/electronic_assembly/wallmount, - /obj/item/device/electronic_assembly/wallmount/heavy, - /obj/item/weapon/implant/integrated_circuit, + /obj/item/electronic_assembly/default, + /obj/item/electronic_assembly/calc, + /obj/item/electronic_assembly/clam, + /obj/item/electronic_assembly/simple, + /obj/item/electronic_assembly/hook, + /obj/item/electronic_assembly/pda, + /obj/item/electronic_assembly/tiny/default, + /obj/item/electronic_assembly/tiny/cylinder, + /obj/item/electronic_assembly/tiny/scanner, + /obj/item/electronic_assembly/tiny/hook, + /obj/item/electronic_assembly/tiny/box, + /obj/item/electronic_assembly/medium/default, + /obj/item/electronic_assembly/medium/box, + /obj/item/electronic_assembly/medium/clam, + /obj/item/electronic_assembly/medium/medical, + /obj/item/electronic_assembly/medium/gun, + /obj/item/electronic_assembly/medium/radio, + /obj/item/electronic_assembly/large/default, + /obj/item/electronic_assembly/large/scope, + /obj/item/electronic_assembly/large/terminal, + /obj/item/electronic_assembly/large/arm, + /obj/item/electronic_assembly/large/tall, + /obj/item/electronic_assembly/large/industrial, + /obj/item/electronic_assembly/drone/default, + /obj/item/electronic_assembly/drone/arms, + /obj/item/electronic_assembly/drone/secbot, + /obj/item/electronic_assembly/drone/medbot, + /obj/item/electronic_assembly/drone/genbot, + /obj/item/electronic_assembly/drone/android, + /obj/item/electronic_assembly/wallmount/tiny, + /obj/item/electronic_assembly/wallmount/light, + /obj/item/electronic_assembly/wallmount, + /obj/item/electronic_assembly/wallmount/heavy, + /obj/item/implant/integrated_circuit, /obj/item/clothing/under/circuitry, /obj/item/clothing/gloves/circuitry, /obj/item/clothing/glasses/circuitry, @@ -88,7 +88,7 @@ SUBSYSTEM_DEF(circuit) ) circuit_fabricator_recipe_list["Tools"] = list( - /obj/item/device/integrated_electronics/wirer, - /obj/item/device/integrated_electronics/debugger, - /obj/item/device/integrated_electronics/detailer + /obj/item/integrated_electronics/wirer, + /obj/item/integrated_electronics/debugger, + /obj/item/integrated_electronics/detailer ) diff --git a/code/controllers/subsystems/events.dm b/code/controllers/subsystems/events.dm index 83ab2fa00ca..5bdf83fdecc 100644 --- a/code/controllers/subsystems/events.dm +++ b/code/controllers/subsystems/events.dm @@ -41,8 +41,9 @@ SUBSYSTEM_DEF(events) var/datum/event_container/EC = event_containers[i] EC.process() -/datum/controller/subsystem/events/stat_entry() - ..("E:[active_events.len]") +/datum/controller/subsystem/events/stat_entry(msg) + msg = "E:[active_events.len]" + return ..() /datum/controller/subsystem/events/Recover() if(SSevents.active_events) diff --git a/code/controllers/subsystems/game_master.dm b/code/controllers/subsystems/game_master.dm index 4703da0bf8c..11844b4f983 100644 --- a/code/controllers/subsystems/game_master.dm +++ b/code/controllers/subsystems/game_master.dm @@ -156,7 +156,7 @@ SUBSYSTEM_DEF(game_master) if(check_rights(R_ADMIN|R_EVENT|R_DEBUG)) SSgame_master.interact(usr) else - to_chat(usr, span("warning", "You do not have sufficient rights to view the GM panel, sorry.")) + to_chat(usr, span_warning("You do not have sufficient rights to view the GM panel, sorry.")) /datum/controller/subsystem/game_master/proc/interact(var/client/user) if(!user) diff --git a/code/controllers/subsystems/inactivity.dm b/code/controllers/subsystems/inactivity.dm index ab1b7209ca8..bc7a5a7dde1 100644 --- a/code/controllers/subsystems/inactivity.dm +++ b/code/controllers/subsystems/inactivity.dm @@ -6,7 +6,7 @@ SUBSYSTEM_DEF(inactivity) var/number_kicked = 0 /datum/controller/subsystem/inactivity/fire(resumed = FALSE) - if (!config.kick_inactive) + if (!CONFIG_GET(number/kick_inactive)) can_fire = FALSE return if (!resumed) @@ -15,8 +15,8 @@ SUBSYSTEM_DEF(inactivity) while(client_list.len) var/client/C = client_list[client_list.len] client_list.len-- - if(C.is_afk(config.kick_inactive MINUTES) && can_kick(C)) - to_chat_immediate(C, world.time, "You have been inactive for more than [config.kick_inactive] minute\s and have been disconnected.") + if(C.is_afk(CONFIG_GET(number/kick_inactive) MINUTES) && can_kick(C)) + to_chat_immediate(C, world.time, span_warning("You have been inactive for more than [CONFIG_GET(number/kick_inactive)] minute\s and have been disconnected.")) var/information if(C.mob) @@ -56,8 +56,9 @@ SUBSYSTEM_DEF(inactivity) if (MC_TICK_CHECK) return -/datum/controller/subsystem/inactivity/stat_entry() - ..("Kicked: [number_kicked]") +/datum/controller/subsystem/inactivity/stat_entry(msg) + msg = "Kicked: [number_kicked]" + return ..() /datum/controller/subsystem/inactivity/proc/can_kick(var/client/C) if(C.holder) return FALSE //VOREStation Add - Don't kick admins. diff --git a/code/controllers/subsystems/job.dm b/code/controllers/subsystems/job.dm index c137582c7c5..d2f7e72bc92 100644 --- a/code/controllers/subsystems/job.dm +++ b/code/controllers/subsystems/job.dm @@ -18,11 +18,11 @@ SUBSYSTEM_DEF(job) setup_occupations() return ..() -/datum/controller/subsystem/job/proc/setup_occupations(faction = "Station") +/datum/controller/subsystem/job/proc/setup_occupations(faction = FACTION_STATION) occupations = list() var/list/all_jobs = subtypesof(/datum/job) if(!all_jobs.len) - to_chat(world, span("warning", "Error setting up jobs, no job datums found")) + to_chat(world, span_warning("Error setting up jobs, no job datums found")) return FALSE for(var/J in all_jobs) diff --git a/code/controllers/subsystems/lighting.dm b/code/controllers/subsystems/lighting.dm index 522bab602ba..d9643c15ba6 100644 --- a/code/controllers/subsystems/lighting.dm +++ b/code/controllers/subsystems/lighting.dm @@ -14,7 +14,7 @@ SUBSYSTEM_DEF(lighting) /datum/controller/subsystem/lighting/Initialize(timeofday) if(!subsystem_initialized) - if (config.starlight) + if (CONFIG_GET(flag/starlight)) for(var/area/A in world) if (A.dynamic_lighting == DYNAMIC_LIGHTING_IFSTARLIGHT) A.luminosity = 0 diff --git a/code/controllers/subsystems/machines.dm b/code/controllers/subsystems/machines.dm index a4a836f2001..dea5b7ccc37 100644 --- a/code/controllers/subsystems/machines.dm +++ b/code/controllers/subsystems/machines.dm @@ -32,7 +32,7 @@ SUBSYSTEM_DEF(machines) /datum/controller/subsystem/machines/Initialize(timeofday) makepowernets() - admin_notice("Initializing atmos machinery.", R_DEBUG) + admin_notice(span_danger("Initializing atmos machinery."), R_DEBUG) setup_atmos_machinery(all_machines) fire() ..() @@ -63,7 +63,7 @@ SUBSYSTEM_DEF(machines) /datum/controller/subsystem/machines/proc/setup_atmos_machinery(list/atmos_machines) var/list/actual_atmos_machines = list() - + for(var/obj/machinery/atmospherics/machine in atmos_machines) machine.atmos_init() actual_atmos_machines += machine @@ -82,9 +82,8 @@ SUBSYSTEM_DEF(machines) T.broadcast_status() CHECK_TICK -/datum/controller/subsystem/machines/stat_entry() - var/msg = list() - msg += "C:{" +/datum/controller/subsystem/machines/stat_entry(msg) + msg = "C:{" msg += "PI:[round(cost_pipenets,1)]|" msg += "MC:[round(cost_machinery,1)]|" msg += "PN:[round(cost_powernets,1)]|" @@ -95,7 +94,7 @@ SUBSYSTEM_DEF(machines) msg += "PN:[SSmachines.powernets.len]|" msg += "PO:[SSmachines.powerobjs.len]|" msg += "MC/MS:[round((cost ? SSmachines.processing_machines.len/cost_machinery : 0),0.1)]" - ..(jointext(msg, null)) + return ..() /datum/controller/subsystem/machines/proc/process_pipenets(resumed = 0) if (!resumed) diff --git a/code/controllers/subsystems/mapping.dm b/code/controllers/subsystems/mapping.dm index e496a97f18f..42e1de651c6 100644 --- a/code/controllers/subsystems/mapping.dm +++ b/code/controllers/subsystems/mapping.dm @@ -5,7 +5,6 @@ SUBSYSTEM_DEF(mapping) flags = SS_NO_FIRE var/list/map_templates = list() - var/dmm_suite/maploader = null var/obj/effect/landmark/engine_loader/engine_loader var/list/shelter_templates = list() @@ -17,10 +16,9 @@ SUBSYSTEM_DEF(mapping) if(subsystem_initialized) return world.max_z_changed() // This is to set up the player z-level list, maxz hasn't actually changed (probably) - maploader = new() load_map_templates() - if(config.generate_map) + if(CONFIG_GET(flag/generate_map)) // Map-gen is still very specific to the map, however putting it here should ensure it loads in the correct order. using_map.perform_map_generation() @@ -52,8 +50,8 @@ SUBSYSTEM_DEF(mapping) // Choose an engine type var/datum/map_template/engine/chosen_type = null - if (LAZYLEN(config.engine_map)) - var/chosen_name = pick(config.engine_map) + if (LAZYLEN(CONFIG_GET(str_list/engine_map))) + var/chosen_name = pick(CONFIG_GET(str_list/engine_map)) chosen_type = map_templates[chosen_name] if(!istype(chosen_type)) error("Configured engine map [chosen_name] is not a valid engine map name!") @@ -65,7 +63,7 @@ SUBSYSTEM_DEF(mapping) engine_types += MT chosen_type = pick(engine_types) to_world_log("Chose Engine Map: [chosen_type.name]") - admin_notice("Chose Engine Map: [chosen_type.name]", R_DEBUG) + admin_notice(span_danger("Chose Engine Map: [chosen_type.name]"), R_DEBUG) // Annihilate movable atoms engine_loader.annihilate_bounds() @@ -173,3 +171,10 @@ SUBSYSTEM_DEF(mapping) if (!Debug2) return // Only show up in stat panel if debugging is enabled. . = ..() + +// VOREStation Edit: BAPI-dmm +/datum/controller/subsystem/mapping/Shutdown() + // Force bapi to drop it's cached maps on server shutdown. + _bapidmm_clear_map_data() + fdel("data/baked_dmm_files/") +// VOREStation Edit End diff --git a/code/controllers/subsystems/media_tracks.dm b/code/controllers/subsystems/media_tracks.dm index 96c11b5edd6..9aa59f95feb 100644 --- a/code/controllers/subsystems/media_tracks.dm +++ b/code/controllers/subsystems/media_tracks.dm @@ -16,7 +16,7 @@ SUBSYSTEM_DEF(media_tracks) return ..() /datum/controller/subsystem/media_tracks/proc/load_tracks() - for(var/filename in config.jukebox_track_files) + for(var/filename in CONFIG_GET(str_list/jukebox_track_files)) report_progress("Loading jukebox track: [filename]") if(!fexists(filename)) @@ -99,11 +99,11 @@ SUBSYSTEM_DEF(media_tracks) if(islist(json)) for(var/song in json) if(!islist(song)) - to_chat(C, "Song appears to be malformed.") + to_chat(C, span_warning("Song appears to be malformed.")) continue var/list/songdata = song if(!songdata["url"] || !songdata["title"] || !songdata["duration"]) - to_chat(C, "URL, Title, or Duration was missing from a song. Skipping.") + to_chat(C, span_warning("URL, Title, or Duration was missing from a song. Skipping.")) continue var/datum/track/T = new(songdata["url"], songdata["title"], songdata["duration"], songdata["artist"], songdata["genre"], songdata["secret"], songdata["lobby"]) all_tracks += T @@ -130,7 +130,7 @@ SUBSYSTEM_DEF(media_tracks) return var/secret = tgui_alert(C, "Optional: Mark track as secret?", "Track Secret", list("Yes", "Cancel", "No")) - if(secret == "Cancel") + if(!secret || secret == "Cancel") return else if(secret == "Yes") secret = TRUE @@ -138,7 +138,7 @@ SUBSYSTEM_DEF(media_tracks) secret = FALSE var/lobby = tgui_alert(C, "Optional: Mark track as lobby music?", "Track Lobby", list("Yes", "Cancel", "No")) - if(lobby == "Cancel") + if(!lobby || lobby == "Cancel") return else if(secret == "Yes") secret = TRUE @@ -172,7 +172,7 @@ SUBSYSTEM_DEF(media_tracks) sort_tracks() return - to_chat(C, "") + to_chat(C, span_warning("Couldn't find a track matching the specified parameters.")) /datum/controller/subsystem/media_tracks/proc/add_track(var/mob/user, var/new_url, var/new_title, var/new_duration, var/new_artist, var/new_genre, var/new_secret, var/new_lobby) if(!check_rights(R_DEBUG|R_FUN)) diff --git a/code/controllers/subsystems/mobs.dm b/code/controllers/subsystems/mobs.dm index c124b5573ef..8fec502f21c 100644 --- a/code/controllers/subsystems/mobs.dm +++ b/code/controllers/subsystems/mobs.dm @@ -19,8 +19,9 @@ SUBSYSTEM_DEF(mobs) var/slept_mobs = 0 var/list/process_z = list() -/datum/controller/subsystem/mobs/stat_entry() - ..("P: [global.mob_list.len] | S: [slept_mobs]") +/datum/controller/subsystem/mobs/stat_entry(msg) + msg = "P: [global.mob_list.len] | S: [slept_mobs]" + return ..() /datum/controller/subsystem/mobs/fire(resumed = 0) if (!resumed) @@ -90,4 +91,4 @@ SUBSYSTEM_DEF(mobs) /datum/controller/subsystem/mobs/critfail() ..() - log_recent() \ No newline at end of file + log_recent() diff --git a/code/controllers/subsystems/nightshift.dm b/code/controllers/subsystems/nightshift.dm index 91b1c6bb357..4cfddfec0f7 100644 --- a/code/controllers/subsystems/nightshift.dm +++ b/code/controllers/subsystems/nightshift.dm @@ -11,7 +11,7 @@ SUBSYSTEM_DEF(nightshift) var/high_security_mode = FALSE /datum/controller/subsystem/nightshift/Initialize() - if(!config.enable_night_shifts) + if(!CONFIG_GET(flag/enable_night_shifts)) can_fire = FALSE /* if(config.randomize_shift_time) diff --git a/code/controllers/subsystems/orbits.dm b/code/controllers/subsystems/orbits.dm index 5cda1ce9dc4..af7a5ab7eab 100644 --- a/code/controllers/subsystems/orbits.dm +++ b/code/controllers/subsystems/orbits.dm @@ -7,8 +7,9 @@ SUBSYSTEM_DEF(orbit) var/list/currentrun = list() var/list/processing = list() -/datum/controller/subsystem/orbit/stat_entry() - ..("P:[processing.len]") +/datum/controller/subsystem/orbit/stat_entry(msg) + msg = "P:[processing.len]" + return ..() /datum/controller/subsystem/orbit/fire(resumed = 0) @@ -40,5 +41,3 @@ SUBSYSTEM_DEF(orbit) O.Check(targetloc) if (MC_TICK_CHECK) return - - diff --git a/code/controllers/subsystems/overlays.dm b/code/controllers/subsystems/overlays.dm index 9d840933cb7..0a953e97828 100644 --- a/code/controllers/subsystems/overlays.dm +++ b/code/controllers/subsystems/overlays.dm @@ -32,8 +32,9 @@ SUBSYSTEM_DEF(overlays) fire(FALSE, TRUE) ..() -/datum/controller/subsystem/overlays/stat_entry() - ..("Queued Atoms: [queue.len], Cache Size: [cache_size]") +/datum/controller/subsystem/overlays/stat_entry(msg) + msg = "Queued Atoms: [queue.len], Cache Size: [cache_size]" + return ..() /datum/controller/subsystem/overlays/fire(resumed, no_mc_tick) diff --git a/code/controllers/subsystems/overmap_renamer_vr.dm b/code/controllers/subsystems/overmap_renamer_vr.dm index 5b2cd75da4e..0180b89355d 100644 --- a/code/controllers/subsystems/overmap_renamer_vr.dm +++ b/code/controllers/subsystems/overmap_renamer_vr.dm @@ -26,7 +26,7 @@ if we end up with multiple renamable lateload overmap objects.*/ if(V.visitable_renamed) //could just if(D.modify_descriptors()), but having a var recording renaming is useful for debugging and stuff! if(V.known) to_world_log("##Overmap Renamer: Renamed Debris Field as: [V.name]") - admin_notice("Debris Field name chosen as [V.name]", R_DEBUG) + admin_notice(span_danger("Debris Field name chosen as [V.name]"), R_DEBUG) else to_world_log("##Overmap Renamer: Renamed Debris Field as: [V.real_name]") - admin_notice("Debris Field name chosen as [V.real_name]", R_DEBUG) + admin_notice(span_danger("Debris Field name chosen as [V.real_name]"), R_DEBUG) diff --git a/code/controllers/subsystems/persist_vr.dm b/code/controllers/subsystems/persist_vr.dm index 5217b72f9ae..d74b96f9603 100644 --- a/code/controllers/subsystems/persist_vr.dm +++ b/code/controllers/subsystems/persist_vr.dm @@ -16,7 +16,7 @@ SUBSYSTEM_DEF(persist) // Do PTO Accruals /datum/controller/subsystem/persist/proc/update_department_hours(var/resumed = FALSE) - if(!config.time_off) + if(!CONFIG_GET(flag/time_off)) return establish_db_connection() @@ -78,7 +78,7 @@ SUBSYSTEM_DEF(persist) play_hours[department_earning] = wait_in_hours // Cap it - dept_hours[department_earning] = min(config.pto_cap, dept_hours[department_earning]) + dept_hours[department_earning] = min(CONFIG_GET(number/pto_cap), dept_hours[department_earning]) // Okay we figured it out, lets update database! var/sql_ckey = sql_sanitize_text(C.ckey) @@ -104,4 +104,4 @@ SUBSYSTEM_DEF(persist) // They have a custom title, aren't crew, or someone deleted their record, so we need a fallback method. // Let's check the mind. if(M.mind && M.mind.assigned_role) - . = job_master.GetJob(M.mind.assigned_role) \ No newline at end of file + . = job_master.GetJob(M.mind.assigned_role) diff --git a/code/controllers/subsystems/persistence.dm b/code/controllers/subsystems/persistence.dm index e20c83e5a59..1950e90e143 100644 --- a/code/controllers/subsystems/persistence.dm +++ b/code/controllers/subsystems/persistence.dm @@ -25,7 +25,7 @@ SUBSYSTEM_DEF(persistence) /datum/controller/subsystem/persistence/proc/track_value(var/atom/value, var/track_type) - if(config.persistence_disabled) //if the config is set to persistence disabled, nothing will save or load. + if(CONFIG_GET(flag/persistence_disabled)) //if the config is set to persistence disabled, nothing will save or load. return var/turf/T = get_turf(value) @@ -33,7 +33,7 @@ SUBSYSTEM_DEF(persistence) return var/area/A = get_area(T) - if(!A || (A.flags & AREA_FLAG_IS_NOT_PERSISTENT)) + if(!A || (A.flag_check(AREA_FLAG_IS_NOT_PERSISTENT))) return if(!(T.z in using_map.persist_levels)) diff --git a/code/controllers/subsystems/ping.dm b/code/controllers/subsystems/ping.dm index 0b76d7dea17..8f4836290a4 100644 --- a/code/controllers/subsystems/ping.dm +++ b/code/controllers/subsystems/ping.dm @@ -12,8 +12,9 @@ SUBSYSTEM_DEF(ping) runlevels = RUNLEVEL_LOBBY | RUNLEVELS_DEFAULT var/list/currentrun = list() -/datum/controller/subsystem/ping/stat_entry() - ..("P:[GLOB.clients.len]") +/datum/controller/subsystem/ping/stat_entry(msg) + msg = "P:[GLOB.clients.len]" + return ..() /datum/controller/subsystem/ping/fire(resumed = FALSE) // Prepare the new batch of clients @@ -27,7 +28,7 @@ SUBSYSTEM_DEF(ping) var/client/client = currentrun[currentrun.len] currentrun.len-- - if(!client?.is_preference_enabled(/datum/client_preference/vchat_enable)) + if(!client?.prefs?.read_preference(/datum/preference/toggle/vchat_enable)) winset(client, "output", "on-show=&is-disabled=0&is-visible=1") winset(client, "browseroutput", "is-disabled=1;is-visible=0") client.tgui_panel.oldchat = TRUE diff --git a/code/controllers/subsystems/planets.dm b/code/controllers/subsystems/planets.dm index 4dae77ccbe0..2054d6daa79 100644 --- a/code/controllers/subsystems/planets.dm +++ b/code/controllers/subsystems/planets.dm @@ -15,7 +15,7 @@ SUBSYSTEM_DEF(planets) var/static/list/needs_temp_update = list() /datum/controller/subsystem/planets/Initialize(timeofday) - admin_notice("Initializing planetary weather.", R_DEBUG) + admin_notice(span_danger("Initializing planetary weather."), R_DEBUG) createPlanets() ..() @@ -28,7 +28,7 @@ SUBSYSTEM_DEF(planets) if(Z > z_to_planet.len) z_to_planet.len = Z if(z_to_planet[Z]) - admin_notice("Z[Z] is shared by more than one planet!", R_DEBUG) + admin_notice(span_danger("Z[Z] is shared by more than one planet!"), R_DEBUG) continue z_to_planet[Z] = NP @@ -40,7 +40,7 @@ SUBSYSTEM_DEF(planets) var/datum/planet/P = z_to_planet[T.z] if(!istype(P)) return - if(istype(T, /turf/unsimulated/wall/planetary)) + if(istype(T, /turf/unsimulated/wall/planetary)) P.planet_walls += T else if(istype(T, /turf/simulated) && T.is_outdoors()) P.planet_floors += T @@ -71,7 +71,7 @@ SUBSYSTEM_DEF(planets) updateSunlight(P) if(MC_TICK_CHECK) return - + #ifndef UNIT_TEST // Don't be updating temperatures and such during unit tests var/list/needs_temp_update = src.needs_temp_update while(needs_temp_update.len) @@ -105,7 +105,7 @@ SUBSYSTEM_DEF(planets) /datum/controller/subsystem/planets/proc/updateSunlight(var/datum/planet/P) var/new_brightness = P.sun["brightness"] P.sun_holder.update_brightness(new_brightness, P.planet_floors) - + var/new_color = P.sun["color"] P.sun_holder.update_color(new_color) diff --git a/code/controllers/subsystems/plants.dm b/code/controllers/subsystems/plants.dm index f90d533eb66..7f25024c4a0 100644 --- a/code/controllers/subsystems/plants.dm +++ b/code/controllers/subsystems/plants.dm @@ -22,8 +22,9 @@ SUBSYSTEM_DEF(plants) var/list/processing = list() var/list/currentrun = list() -/datum/controller/subsystem/plants/stat_entry() - ..("P:[processing.len]|S:[seeds.len]") +/datum/controller/subsystem/plants/stat_entry(msg) + msg = "P:[processing.len]|S:[seeds.len]" + return ..() /datum/controller/subsystem/plants/Initialize(timeofday) setup() @@ -146,7 +147,7 @@ SUBSYSTEM_DEF(plants) // Debug for testing seed genes. /client/proc/show_plant_genes() - set category = "Debug" + set category = "Debug.Investigate" set name = "Show Plant Genes" set desc = "Prints the round's plant gene masks." diff --git a/code/controllers/subsystems/processing/obj_tab_items.dm b/code/controllers/subsystems/processing/obj_tab_items.dm new file mode 100644 index 00000000000..53786daf011 --- /dev/null +++ b/code/controllers/subsystems/processing/obj_tab_items.dm @@ -0,0 +1,24 @@ +PROCESSING_SUBSYSTEM_DEF(obj_tab_items) + name = "Obj Tab Items" + flags = SS_NO_INIT + runlevels = RUNLEVEL_LOBBY | RUNLEVELS_DEFAULT + wait = 0.1 SECONDS + +// I know this is mostly copypasta, but I want to change the processing logic +// Sorry bestie :( +/datum/controller/subsystem/processing/obj_tab_items/fire(resumed = FALSE) + if (!resumed) + currentrun = processing.Copy() + //cache for sanic speed (lists are references anyways) + var/list/current_run = currentrun + + while(current_run.len) + var/datum/thing = current_run[current_run.len] + if(QDELETED(thing)) + processing -= thing + else if(thing.process(wait * 0.1) == PROCESS_KILL) + // fully stop so that a future START_PROCESSING will work + STOP_PROCESSING(src, thing) + if (MC_TICK_CHECK) + return + current_run.len-- diff --git a/code/controllers/subsystems/processing/processing.dm b/code/controllers/subsystems/processing/processing.dm index 16b4da021b1..51c1afe015f 100644 --- a/code/controllers/subsystems/processing/processing.dm +++ b/code/controllers/subsystems/processing/processing.dm @@ -24,8 +24,9 @@ SUBSYSTEM_DEF(processing) if(CHECK_BITFIELD(D.datum_flags, DF_ISPROCESSING)) processing |= D -/datum/controller/subsystem/processing/stat_entry() - ..("[stat_tag]:[processing.len]") +/datum/controller/subsystem/processing/stat_entry(msg) + msg = "[stat_tag]:[processing.len]" + return ..() /datum/controller/subsystem/processing/fire(resumed = 0) if (!resumed) @@ -69,14 +70,14 @@ SUBSYSTEM_DEF(processing) log_world(msg) return msg += "Lists: current_run: [currentrun.len], processing: [processing.len]\n" - + if(!currentrun.len) msg += "!!The subsystem just finished the processing list, and currentrun is empty (or has never run).\n" msg += "!!The info below is the tail of processing instead of currentrun.\n" - + var/datum/D = currentrun.len ? currentrun[currentrun.len] : processing[processing.len] msg += "Tail entry: [describeThis(D)] (this is likely the item AFTER the problem item)\n" - + var/position = processing.Find(D) if(!position) msg += "Unable to find context of tail entry in processing list.\n" diff --git a/code/controllers/subsystems/radiation.dm b/code/controllers/subsystems/radiation.dm index 8f140a5fc83..624d6f4279c 100644 --- a/code/controllers/subsystems/radiation.dm +++ b/code/controllers/subsystems/radiation.dm @@ -24,7 +24,7 @@ SUBSYSTEM_DEF(radiation) if(QDELETED(S)) sources -= S else if(S.decay) - S.update_rad_power(S.rad_power - config.radiation_decay_rate) + S.update_rad_power(S.rad_power - CONFIG_GET(number/radiation_decay_rate)) if (MC_TICK_CHECK) return @@ -54,8 +54,9 @@ SUBSYSTEM_DEF(radiation) if (MC_TICK_CHECK) return -/datum/controller/subsystem/radiation/stat_entry() - ..("S:[sources.len], RC:[resistance_cache.len]") +/datum/controller/subsystem/radiation/stat_entry(msg) + msg = "S:[sources.len], RC:[resistance_cache.len]" + return ..() // Ray trace from all active radiation sources to T and return the strongest effect. /datum/controller/subsystem/radiation/proc/get_rads_at_turf(var/turf/T) @@ -72,7 +73,7 @@ SUBSYSTEM_DEF(radiation) if(source.respect_maint) var/area/A = T.loc - if(A.flags & RAD_SHIELDED) + if(A.flag_check(RAD_SHIELDED)) continue // In shielded area var/dist = get_dist(source.source_turf, T) @@ -92,12 +93,12 @@ SUBSYSTEM_DEF(radiation) origin.calc_rad_resistance() if(origin.cached_rad_resistance) - if(config.radiation_resistance_calc_mode == RAD_RESIST_CALC_DIV) - working = round((working / (origin.cached_rad_resistance * config.radiation_resistance_multiplier)), 0.01) - else if(config.radiation_resistance_calc_mode == RAD_RESIST_CALC_SUB) - working = round((working - (origin.cached_rad_resistance * config.radiation_resistance_multiplier)), 0.01) + if(CONFIG_GET(flag/radiation_resistance_calc_mode) == RAD_RESIST_CALC_DIV) + working = round((working / (origin.cached_rad_resistance * CONFIG_GET(number/radiation_resistance_multiplier))), 0.01) + else if(CONFIG_GET(flag/radiation_resistance_calc_mode) == RAD_RESIST_CALC_SUB) + working = round((working - (origin.cached_rad_resistance * CONFIG_GET(number/radiation_resistance_multiplier))), 0.01) - if(working <= config.radiation_lower_limit) // Too far from this source + if(working <= CONFIG_GET(number/radiation_lower_limit)) // Too far from this source working = 0 // May as well be 0 break @@ -105,7 +106,7 @@ SUBSYSTEM_DEF(radiation) // Shouldn't really ever have practical uses, but standing in a room literally made from uranium is more dangerous than standing next to a single uranium vase . += working / (dist ** 2) - if(. <= config.radiation_lower_limit) + if(. <= CONFIG_GET(number/radiation_lower_limit)) . = 0 // Add a radiation source instance to the repository. It will override any existing source on the same turf. @@ -144,4 +145,4 @@ SUBSYSTEM_DEF(radiation) if(!(power && source)) return var/turf/epicentre = locate(round(world.maxx / 2), round(world.maxy / 2), source.z) - flat_radiate(epicentre, power, world.maxx, respect_maint) \ No newline at end of file + flat_radiate(epicentre, power, world.maxx, respect_maint) diff --git a/code/controllers/subsystems/server_maint.dm b/code/controllers/subsystems/server_maint.dm new file mode 100644 index 00000000000..e8d10d67487 --- /dev/null +++ b/code/controllers/subsystems/server_maint.dm @@ -0,0 +1,115 @@ +#define PING_BUFFER_TIME 25 + +SUBSYSTEM_DEF(server_maint) + name = "Server Tasks" + wait = 6 + flags = SS_POST_FIRE_TIMING + priority = FIRE_PRIORITY_SERVER_MAINT + init_order = INIT_ORDER_SERVER_MAINT + //init_stage = INITSTAGE_EARLY + runlevels = RUNLEVEL_LOBBY | RUNLEVELS_DEFAULT + var/list/currentrun + ///Associated list of list names to lists to clear of nulls + var/list/lists_to_clear + ///Delay between list clearings in ticks + var/delay = 5 + var/cleanup_ticker = 0 + +/*/datum/controller/subsystem/server_maint/PreInit() + world.hub_password = "" *///quickly! before the hubbies see us. + +/datum/controller/subsystem/server_maint/New() + if (fexists("tmp/")) + fdel("tmp/") + //if (CONFIG_GET(flag/hub)) + //world.update_hub_visibility(TRUE) + //Keep in mind, because of how delay works adding a list here makes each list take wait * delay more time to clear + //Do it for stuff that's properly important, and shouldn't have null checks inside its other uses + lists_to_clear = list( + "player_list" = global.player_list, + "mob_list" = global.mob_list, + "living_mob_list" = global.living_mob_list, + "dead_mob_list" = global.dead_mob_list, + "observer_mob_list" = global.observer_mob_list, + "listening_objects" = global.listening_objects, + "human_mob_list" = global.human_mob_list, + "silicon_mob_list" = global.silicon_mob_list, + "ai_list" = global.ai_list, + //"keyloop_list" = global.keyloop_list, //A null here will cause new clients to be unable to move. totally unacceptable + ) + + /*var/datum/tgs_version/tgsversion = world.TgsVersion() + if(tgsversion) + SSblackbox.record_feedback("text", "server_tools", 1, tgsversion.raw_parameter)*/ + + return SS_INIT_SUCCESS + +/datum/controller/subsystem/server_maint/fire(resumed = FALSE) + if(!resumed) + if(list_clear_nulls(GLOB.clients)) + log_world("Found a null in clients list!") + src.currentrun = GLOB.clients.Copy() + + var/position_in_loop = (cleanup_ticker / delay) + 1 //Index at 1, thanks byond + + if(!(position_in_loop % 1)) //If it's a whole number + var/listname = lists_to_clear[position_in_loop] + if(list_clear_nulls(lists_to_clear[listname])) + log_world("Found a null in [listname]!") + + cleanup_ticker++ + + var/amount_to_work = length(lists_to_clear) + if(cleanup_ticker >= amount_to_work * delay) //If we've already done a loop, reset + cleanup_ticker = 0 + + var/list/currentrun = src.currentrun + //var/round_started = SSticker.HasRoundStarted() + + //var/kick_inactive = CONFIG_GET(flag/kick_inactive) + //var/afk_period + //if(kick_inactive) + //afk_period = CONFIG_GET(number/afk_period) + for(var/I in currentrun) + var/client/C = I + //handle kicking inactive players + /*if(round_started && kick_inactive && !C.holder && C.is_afk(afk_period)) + var/cmob = C.mob + if (!isnewplayer(cmob) || !SSticker.queued_players.Find(cmob)) + log_access("AFK: [key_name(C)]") + to_chat(C, span_userdanger("You have been inactive for more than [DisplayTimeText(afk_period)] and have been disconnected.") + "
" + span_danger("You may reconnect via the button in the file menu or by " + span_bold(span_underline("clicking here to reconnect")" + ".")) + QDEL_IN(C, 1) //to ensure they get our message before getting disconnected + continue*/ + + if (!(!C || world.time - C.connection_time < PING_BUFFER_TIME || C.inactivity >= (wait-1))) + winset(C, null, "command=.update_ping+[num2text(world.time+world.tick_lag*TICK_USAGE_REAL/100, 32)]") + + if (MC_TICK_CHECK) //one day, when ss13 has 1000 people per server, you guys are gonna be glad I added this tick check + return + +/datum/controller/subsystem/server_maint/Shutdown() + if (fexists("tmp/")) + fdel("tmp/") + //kick_clients_in_lobby(span_boldannounce("The round came to an end with you in the lobby."), TRUE) //second parameter ensures only afk clients are kicked + var/server = CONFIG_GET(string/server) + for(var/thing in GLOB.clients) + if(!thing) + continue + var/client/C = thing + C?.tgui_panel?.send_roundrestart() + if(server) //if you set a server location in config.txt, it sends you there instead of trying to reconnect to the same world address. -- NeoFite + C << link("byond://[server]") + +/* +/datum/controller/subsystem/server_maint/proc/UpdateHubStatus() + if(!CONFIG_GET(flag/hub) || !CONFIG_GET(number/max_hub_pop)) + return FALSE //no point, hub / auto hub controls are disabled + + var/max_pop = CONFIG_GET(number/max_hub_pop) + + if(GLOB.clients.len > max_pop) + world.update_hub_visibility(FALSE) + else + world.update_hub_visibility(TRUE) +*/ +#undef PING_BUFFER_TIME diff --git a/code/controllers/subsystems/shuttles.dm b/code/controllers/subsystems/shuttles.dm index 38ec9e5c83f..02f9cb91ebd 100644 --- a/code/controllers/subsystems/shuttles.dm +++ b/code/controllers/subsystems/shuttles.dm @@ -172,5 +172,6 @@ SUBSYSTEM_DEF(shuttles) for(var/obj/effect/overmap/visitable/ship/ship_effect as anything in ships) overmap_halted ? ship_effect.halt() : ship_effect.unhalt() -/datum/controller/subsystem/shuttles/stat_entry() - ..("Shuttles:[process_shuttles.len]/[shuttles.len], Ships:[ships.len], L:[registered_shuttle_landmarks.len][overmap_halted ? ", HALT" : ""]") +/datum/controller/subsystem/shuttles/stat_entry(msg) + msg = "Shuttles:[process_shuttles.len]/[shuttles.len], Ships:[ships.len], L:[registered_shuttle_landmarks.len][overmap_halted ? ", HALT" : ""]" + return ..() diff --git a/code/controllers/subsystems/speech_controller.dm b/code/controllers/subsystems/speech_controller.dm new file mode 100644 index 00000000000..e293c89a9bb --- /dev/null +++ b/code/controllers/subsystems/speech_controller.dm @@ -0,0 +1,5 @@ +/// verb_manager subsystem just for handling say's +VERB_MANAGER_SUBSYSTEM_DEF(speech_controller) + name = "Speech Controller" + wait = 1 + priority = FIRE_PRIORITY_SPEECH_CONTROLLER//has to be high priority, second in priority ONLY to SSinput diff --git a/code/controllers/subsystems/sqlite.dm b/code/controllers/subsystems/sqlite.dm index 20a5a594759..b4074b3355d 100644 --- a/code/controllers/subsystems/sqlite.dm +++ b/code/controllers/subsystems/sqlite.dm @@ -14,7 +14,7 @@ SUBSYSTEM_DEF(sqlite) return ..() /datum/controller/subsystem/sqlite/proc/connect() - if(!config.sqlite_enabled) + if(!CONFIG_GET(flag/sqlite_enabled)) return if(!sqlite_db) @@ -104,17 +104,17 @@ SUBSYSTEM_DEF(sqlite) return !sqlite_check_for_errors(query, "Insert Feedback") /datum/controller/subsystem/sqlite/proc/can_submit_feedback(client/C) - if(!config.sqlite_enabled) + if(!CONFIG_GET(flag/sqlite_enabled)) return FALSE - if(config.sqlite_feedback_min_age && !is_old_enough(C)) + if(CONFIG_GET(number/sqlite_feedback_min_age) && !is_old_enough(C)) return FALSE - if(config.sqlite_feedback_cooldown > 0 && get_feedback_cooldown(C.key, config.sqlite_feedback_cooldown, sqlite_db) > 0) + if(CONFIG_GET(number/sqlite_feedback_cooldown) > 0 && get_feedback_cooldown(C.key, CONFIG_GET(number/sqlite_feedback_cooldown), sqlite_db) > 0) return FALSE return TRUE // Returns TRUE if the player is 'old' enough, according to the config. /datum/controller/subsystem/sqlite/proc/is_old_enough(client/C) - if(get_player_age(C.key) < config.sqlite_feedback_min_age) + if(get_player_age(C.key) < CONFIG_GET(number/sqlite_feedback_min_age)) return FALSE return TRUE diff --git a/code/controllers/subsystems/statpanel.dm b/code/controllers/subsystems/statpanel.dm new file mode 100644 index 00000000000..2400e1da807 --- /dev/null +++ b/code/controllers/subsystems/statpanel.dm @@ -0,0 +1,481 @@ +SUBSYSTEM_DEF(statpanels) + name = "Stat Panels" + wait = 4 + init_order = INIT_ORDER_STATPANELS + //init_stage = INITSTAGE_EARLY + priority = FIRE_PRIORITY_STATPANEL + runlevels = RUNLEVELS_DEFAULT | RUNLEVEL_LOBBY + flags = SS_NO_INIT + var/list/currentrun = list() + var/list/global_data + var/list/mc_data + var/list/cached_images = list() + + ///how many subsystem fires between most tab updates + var/default_wait = 10 + ///how many subsystem fires between updates of misc tabs + var/misc_wait = 3 + ///how many subsystem fires between updates of the status tab + var/status_wait = 2 + ///how many subsystem fires between updates of the MC tab + var/mc_wait = 5 + ///how many full runs this subsystem has completed. used for variable rate refreshes. + var/num_fires = 0 + +/datum/controller/subsystem/statpanels/fire(resumed = FALSE) + if (!resumed) + num_fires++ + //var/datum/map_config/cached = SSmapping.next_map_config + global_data = list( + //"Map: [SSmapping.config?.map_name || "Loading..."]", + "Map: [using_map.name]", + //cached ? "Next Map: [cached.map_name]" : null, + //"Next Map: -- Not Available --", + // "Round ID: [GLOB.round_id ? GLOB.round_id : "NULL"]", + "Server Time: [time2text(world.timeofday, "YYYY-MM-DD hh:mm:ss")]", + "Round Time: [roundduration2text()]", + "Station Date: [stationdate2text()]", // [capitalize(GLOB.world_time_season)]", + "Station Time: [stationtime2text()]", + "Time Dilation: [round(SStime_track.time_dilation_current,1)]% AVG:([round(SStime_track.time_dilation_avg_fast,1)]%, [round(SStime_track.time_dilation_avg,1)]%, [round(SStime_track.time_dilation_avg_slow,1)]%)" + ) + + if(emergency_shuttle.evac) + var/ETA = emergency_shuttle.get_status_panel_eta() + if(ETA) + global_data += "[ETA]" + src.currentrun = GLOB.clients.Copy() + mc_data = null + + var/list/currentrun = src.currentrun + while(length(currentrun)) + var/client/target = currentrun[length(currentrun)] + currentrun.len-- + + if(!target?.stat_panel?.is_ready()) // Null target client, client has null stat panel, or stat panel isn't ready + continue + + if(target.stat_tab == "Status" && num_fires % status_wait == 0) + set_status_tab(target) + + if(!target.holder) + target.stat_panel.send_message("remove_admin_tabs") + else + //target.stat_panel.send_message("update_split_admin_tabs", !!(target.prefs.toggles & SPLIT_ADMIN_TABS)) + target.stat_panel.send_message("update_split_admin_tabs", FALSE) + + if(!("MC" in target.panel_tabs) || !("Tickets" in target.panel_tabs)) + target.stat_panel.send_message("add_admin_tabs", target.holder.href_token) + + //if(target.stat_tab == "MC" && ((num_fires % mc_wait == 0) || target?.prefs.read_preference(/datum/preference/toggle/fast_mc_refresh))) + //set_MC_tab(target) + if(target.stat_tab == "MC" && ((num_fires % mc_wait == 0))) + set_MC_tab(target) + + if(target.stat_tab == "Tickets" && num_fires % default_wait == 0) + set_tickets_tab(target) + + if(!length(GLOB.sdql2_queries) && ("SDQL2" in target.panel_tabs)) + target.stat_panel.send_message("remove_sdql2") + + else if(length(GLOB.sdql2_queries) && (target.stat_tab == "SDQL2" || !("SDQL2" in target.panel_tabs)) && num_fires % default_wait == 0) + set_SDQL2_tab(target) + + if(target.mob) + var/mob/target_mob = target.mob + + // Handle the action panels of the stat panel + + var/update_actions = FALSE + // We're on a spell tab, update the tab so we can see cooldowns progressing and such + if(target.stat_tab in target.spell_tabs) + update_actions = TRUE + // We're not on a spell tab per se, but we have cooldown actions, and we've yet to + // set up our spell tabs at all + //if(!length(target.spell_tabs) && locate(/datum/action/cooldown) in target_mob.actions) + //update_actions = TRUE + + if(update_actions && num_fires % default_wait == 0) + set_action_tabs(target, target_mob) + //Update every fire if tab is open, otherwise update every 7 fires + if((num_fires % misc_wait == 0)) + update_misc_tabs(target,target_mob) + + var/datum/object_window_info/obj_window = target.obj_window + if(obj_window) + if(obj_window.flags & TURFLIST_UPDATE_QUEUED) + immediate_send_stat_data(target) + obj_window.flags = 0 + + if(MC_TICK_CHECK) + return + +/datum/controller/subsystem/statpanels/proc/update_misc_tabs(var/client/target,var/mob/target_mob) + target_mob.update_misc_tabs() + for(var/tab in target_mob.misc_tabs) + if(target_mob.misc_tabs[tab].len == 0 && (tab in target.misc_tabs)) + target.misc_tabs -= tab + target.stat_panel.send_message("remove_misc",tab) + + if(target_mob.misc_tabs[tab].len > 0) + if(!(tab in target.misc_tabs)) + target.misc_tabs += tab + target.stat_panel.send_message("create_misc",tab) + target.stat_panel.send_message("update_misc",list( + TN = tab, \ + TC = target_mob.misc_tabs[tab], \ + )) + + for(var/tab in target.misc_tabs) + if(!(tab in target_mob.misc_tabs)) + target.misc_tabs -= tab + target.stat_panel.send_message("remove_misc",tab) + +/datum/controller/subsystem/statpanels/proc/set_status_tab(client/target) + if(!global_data)//statbrowser hasnt fired yet and we were called from immediate_send_stat_data() + return + + target.stat_panel.send_message("update_stat", list( + global_data = global_data, + ping_str = "Ping: [round(target.lastping, 1)]ms (Average: [round(target.avgping, 1)]ms)", + other_str = target.mob?.get_status_tab_items(), + )) + +/datum/controller/subsystem/statpanels/proc/set_MC_tab(client/target) + var/turf/eye_turf = get_turf(target.eye) + var/coord_entry = COORD(eye_turf) + if(!mc_data) + generate_mc_data() + target.stat_panel.send_message("update_mc", list(mc_data = mc_data, coord_entry = coord_entry)) + +/datum/controller/subsystem/statpanels/proc/set_examine_tab(client/target) + var/description_holders = target.description_holders + var/list/examine_update = list() + + if(!target.obj_window) + target.obj_window = new(target) + if(!target.examine_icon && !target.obj_window.examine_target && target.stat_tab == "Examine") + target.obj_window.examine_target = description_holders["icon"] + target.obj_window.atoms_to_show += target.obj_window.examine_target + START_PROCESSING(SSobj_tab_items, target.obj_window) + refresh_client_obj_view(target) + examine_update += "[target.examine_icon] [description_holders["name"]]" //The name, written in big letters. + examine_update += "[description_holders["desc"]]" //the default examine text. + if(description_holders["info"]) + examine_update += "" + span_bold("[replacetext(description_holders["info"], "\n", "
")]") + "

" //Blue, informative text. + if(description_holders["interactions"]) + for(var/line in description_holders["interactions"]) + examine_update += "" + span_bold("[line]") + "
" + if(description_holders["fluff"]) + examine_update += "" + span_bold("[replacetext(description_holders["fluff"], "\n", "
")]") + "

" //Green, fluff-related text. + if(description_holders["antag"]) + examine_update += "" + span_bold("[description_holders["antag"]]") + "
" //Red, malicious antag-related text + + target.stat_panel.send_message("update_examine", examine_update) + +/datum/controller/subsystem/statpanels/proc/set_tickets_tab(client/target) + var/list/tickets = list() + if(check_rights(R_ADMIN|R_SERVER|R_MOD,FALSE,target)) //Prevents non-staff from opening the list of ahelp tickets //YW EDIT: Only admins/mods can check Tickets + tickets += GLOB.ahelp_tickets.stat_entry(target) + tickets += GLOB.mhelp_tickets.stat_entry(target) + target.stat_panel.send_message("update_tickets", tickets) + +/datum/controller/subsystem/statpanels/proc/set_SDQL2_tab(client/target) + var/list/sdql2A = list() + sdql2A[++sdql2A.len] = list("", "Access Global SDQL2 List", REF(GLOB.sdql2_vv_statobj)) + var/list/sdql2B = list() + for(var/datum/SDQL2_query/query as anything in GLOB.sdql2_queries) + sdql2B = query.generate_stat() + + sdql2A += sdql2B + target.stat_panel.send_message("update_sdql2", sdql2A) + +/// Set up the various action tabs. +/datum/controller/subsystem/statpanels/proc/set_action_tabs(client/target, mob/target_mob) + return + //var/list/actions = target_mob.get_actions_for_statpanel() + //target.spell_tabs.Cut() + + //for(var/action_data in actions) + // target.spell_tabs |= action_data[1] + + //target.stat_panel.send_message("update_spells", list(spell_tabs = target.spell_tabs, actions = actions)) + +/datum/controller/subsystem/statpanels/proc/set_turf_examine_tab(client/target, mob/target_mob) + if(!target)//statbrowser hasnt fired yet and we were called from immediate_send_stat_data() + return + var/list/overrides = list() + for(var/image/target_image as anything in target.images) + if(!target_image.loc || target_image.loc.loc != target.tracked_turf || !target_image.override) + continue + overrides += target_image.loc + + var/list/atoms_to_display = list(target.tracked_turf) + for(var/atom/movable/turf_content as anything in target.tracked_turf) + if(turf_content.mouse_opacity == MOUSE_OPACITY_TRANSPARENT) + continue + if(turf_content.invisibility > target_mob.see_invisible) + continue + if(turf_content in overrides) + continue + //if(turf_content.IsObscured()) + //continue + atoms_to_display += turf_content + + /// Set the atoms we're meant to display + var/datum/object_window_info/obj_window = target.obj_window + if(!obj_window) + return // previous one no longer exists + obj_window.atoms_to_show = atoms_to_display + START_PROCESSING(SSobj_tab_items, obj_window) + refresh_client_obj_view(target) + +/datum/controller/subsystem/statpanels/proc/refresh_client_obj_view(client/refresh) + var/list/turf_items = return_object_images(refresh) + if(!length(turf_items)/* || !refresh.mob?.listed_turf*/) + return + refresh.stat_panel.send_message("update_listedturf", turf_items) + +#define OBJ_IMAGE_LOADING "statpanels obj loading temporary" +/// Returns all our ready object tab images +/// Returns a list in the form list(list(object_name, object_ref, loaded_image), ...) +/datum/controller/subsystem/statpanels/proc/return_object_images(client/load_from) + // You might be inclined to think that this is a waste of cpu time, since we + // A: Double iterate over atoms in the build case, or + // B: Generate these lists over and over in the refresh case + // It's really not very hot. The hot portion of this code is genuinely mostly in the image generation + // So it's ok to pay a performance cost for cleanliness here + + // No turf? go away + /*if(!load_from.mob?.listed_turf) + return list()*/ + var/datum/object_window_info/obj_window = load_from.obj_window + var/list/already_seen = obj_window.atoms_to_images + var/list/to_make = obj_window.atoms_to_imagify + var/list/turf_items = list() + for(var/atom/turf_item as anything in obj_window.atoms_to_show) + // First, we fill up the list of refs to display + // If we already have one, just use that + var/existing_image = already_seen[turf_item] + if(existing_image == OBJ_IMAGE_LOADING) + continue + // We already have it. Success! + if(existing_image) + if(turf_item == obj_window.examine_target) //not actually a turf item get trolled + load_from.examine_icon = "" + obj_window.examine_target = null + set_examine_tab(load_from) + continue + turf_items[++turf_items.len] = list("[turf_item.name]", REF(turf_item), existing_image) + continue + // Now, we're gonna queue image generation out of those refs + to_make += turf_item + already_seen[turf_item] = OBJ_IMAGE_LOADING + obj_window.RegisterSignal(turf_item, COMSIG_PARENT_QDELETING, TYPE_PROC_REF(/datum/object_window_info,viewing_atom_deleted)) // we reset cache if anything in it gets deleted + return turf_items + +#undef OBJ_IMAGE_LOADING + +/datum/controller/subsystem/statpanels/proc/generate_mc_data() + mc_data = list( + list("CPU:", world.cpu), + list("Instances:", "[num2text(world.contents.len, 10)]"), + list("World Time:", "[world.time]"), + list("Globals:", GLOB.stat_entry(), "\ref[GLOB]"), + // list("[config]:", config.stat_entry(), "\ref[config]"), + list("Byond:", "(FPS:[world.fps]) (TickCount:[world.time/world.tick_lag]) (TickDrift:[round(Master.tickdrift,1)]([round((Master.tickdrift/(world.time/world.tick_lag))*100,0.1)]%)) (Internal Tick Usage: [round(MAPTICK_LAST_INTERNAL_TICK_USAGE,0.1)]%)"), + list("Master Controller:", Master.stat_entry(), "\ref[Master]"), + list("Failsafe Controller:", Failsafe.stat_entry(), "\ref[Failsafe]"), + list("","") + ) + for(var/datum/controller/subsystem/sub_system as anything in Master.subsystems) + mc_data[++mc_data.len] = list("\[[sub_system.state_letter()]][sub_system.name]", sub_system.stat_entry(), "\ref[sub_system]") + mc_data[++mc_data.len] = list("Camera Net", "Cameras: [global.cameranet.cameras.len] | Chunks: [global.cameranet.chunks.len]", "\ref[global.cameranet]") + +///immediately update the active statpanel tab of the target client +/datum/controller/subsystem/statpanels/proc/immediate_send_stat_data(client/target) + if(!target.stat_panel.is_ready()) + return FALSE + + if(target.stat_tab == "Examine") + set_examine_tab(target) + return TRUE + + if(target.stat_tab == "Status") + set_status_tab(target) + return TRUE + + var/mob/target_mob = target.mob + + // Handle actions + + var/update_actions = FALSE + if(target.stat_tab in target.spell_tabs) + update_actions = TRUE + + //if(!length(target.spell_tabs) && locate(/datum/action/cooldown) in target_mob.actions) + //update_actions = TRUE + + if(update_actions) + set_action_tabs(target, target_mob) + return TRUE + + // Handle turfs + + if(target.tracked_turf) + if(!target_mob.TurfAdjacent(target.tracked_turf)) + target_mob.set_listed_turf(null) + + else if(target.stat_tab == target.tracked_turf.name || !(target.tracked_turf.name in target.panel_tabs)) + set_turf_examine_tab(target, target_mob) + return TRUE + + if(!target.holder) + return FALSE + + if(target.stat_tab == "MC") + set_MC_tab(target) + return TRUE + + if(target.stat_tab == "Tickets") + set_tickets_tab(target) + return TRUE + + if(!length(GLOB.sdql2_queries) && ("SDQL2" in target.panel_tabs)) + target.stat_panel.send_message("remove_sdql2") + + else if(length(GLOB.sdql2_queries) && target.stat_tab == "SDQL2") + set_SDQL2_tab(target) + +/atom/proc/remove_from_cache() + SIGNAL_HANDLER + SSstatpanels.cached_images -= REF(src) + +/// Stat panel window declaration +/client/var/datum/tgui_window/stat_panel +/// Turf examine turf +/client/var/turf/tracked_turf + +/// Datum that holds and tracks info about a client's object window +/// Really only exists because I want to be able to do logic with signals +/// And need a safe place to do the registration +/datum/object_window_info + /// list of atoms to show to our client via the object tab, at least currently + var/list/atoms_to_show = list() + /// list of atom -> image string for objects we have had in the right click tab + /// this is our caching + var/list/atoms_to_images = list() + /// list of atoms to turn into images for the object tab + var/list/atoms_to_imagify = list() + /// Our owner client + var/client/parent + ///For reusing this logic for examines + var/atom/examine_target + var/flags = 0 + +/datum/object_window_info/New(client/parent) + . = ..() + src.parent = parent + +/datum/object_window_info/Destroy(force, ...) + atoms_to_show = null + atoms_to_images = null + atoms_to_imagify = null + parent.obj_window = null + parent = null + STOP_PROCESSING(SSobj_tab_items, src) + return ..() + +/// Takes a client, attempts to generate object images for it +/// We will update the client with any improvements we make when we're done +/datum/object_window_info/process(seconds_per_tick) + // Cache the datum access for sonic speed + var/list/to_make = atoms_to_imagify + var/list/newly_seen = atoms_to_images + var/index = 0 + for(index in 1 to length(to_make)) + var/atom/thing = to_make[index] + + if(!thing) // A null thing snuck in somehow + continue + + var/generated_string + if(ismob(thing) || length(thing.overlays) > 0) + var/force_south = FALSE + if(isliving(thing)) + force_south = TRUE + generated_string = costly_icon2html(thing, parent, sourceonly=TRUE, force_south = force_south) + else + generated_string = icon2html(thing, parent, sourceonly=TRUE) + + newly_seen[thing] = generated_string + if(TICK_CHECK) + to_make.Cut(1, index + 1) + index = 0 + break + // If we've not cut yet, do it now + if(index) + to_make.Cut(1, index + 1) + SSstatpanels.refresh_client_obj_view(parent) + if(!length(to_make)) + return PROCESS_KILL + +/datum/object_window_info/proc/start_turf_tracking(turf/new_turf) + if(parent.tracked_turf) + stop_turf_tracking() + var/static/list/connections = list( + COMSIG_MOVABLE_MOVED = PROC_REF(on_mob_move), + COMSIG_MOB_LOGOUT = PROC_REF(on_mob_logout), + ) + AddComponent(/datum/component/connect_mob_behalf, parent, connections) + RegisterSignal(parent.tracked_turf, COMSIG_ATOM_ENTERED, PROC_REF(turflist_changed)) + RegisterSignal(parent.tracked_turf, COMSIG_ATOM_EXITED, PROC_REF(turflist_changed)) + parent.stat_panel.send_message("create_listedturf", new_turf) + parent.tracked_turf = new_turf + +/datum/object_window_info/proc/stop_turf_tracking() + if(GetComponent(/datum/component/connect_mob_behalf)) + qdel(GetComponent(/datum/component/connect_mob_behalf)) + if(parent.tracked_turf) + UnregisterSignal(parent.tracked_turf, COMSIG_ATOM_ENTERED) + UnregisterSignal(parent.tracked_turf, COMSIG_ATOM_EXITED) + parent.stat_panel.send_message("remove_listedturf") + parent.tracked_turf = null + +/datum/object_window_info/proc/on_mob_move(mob/source) + SIGNAL_HANDLER + if(!parent.tracked_turf || !source.TurfAdjacent(parent.tracked_turf)) + source.set_listed_turf(null) + +/datum/object_window_info/proc/on_mob_logout(mob/source) + SIGNAL_HANDLER + on_mob_move(parent.mob) + +/datum/object_window_info/proc/turflist_changed(mob/source) + if(!parent)//statbrowser hasnt fired yet and we still have a pending action + return + SIGNAL_HANDLER + if(!(flags & TURFLIST_UPDATED)) //Limit updates to 1 per tick + SSstatpanels.immediate_send_stat_data(parent) + flags |= TURFLIST_UPDATED + else if(!(flags & TURFLIST_UPDATE_QUEUED)) + flags |= TURFLIST_UPDATE_QUEUED + +/// Clears any cached object window stuff +/// We use hard refs cause we'd need a signal for this anyway. Cleaner this way +/datum/object_window_info/proc/viewing_atom_deleted(atom/deleted) + SIGNAL_HANDLER + atoms_to_show -= deleted + atoms_to_imagify -= deleted + atoms_to_images -= deleted + +/mob/proc/set_listed_turf(turf/new_turf) + if(!client) + return + if(!client.obj_window) + client.obj_window = new(client) + if(client.tracked_turf == new_turf) + return + if(!new_turf) + client.obj_window.stop_turf_tracking() //Needs to go before listed_turf is set to null so signals can be removed + return + client.obj_window.start_turf_tracking(new_turf) diff --git a/code/controllers/subsystems/supply.dm b/code/controllers/subsystems/supply.dm index 59d4f606b5b..e7ead3b7706 100644 --- a/code/controllers/subsystems/supply.dm +++ b/code/controllers/subsystems/supply.dm @@ -39,20 +39,21 @@ SUBSYSTEM_DEF(supply) /datum/controller/subsystem/supply/fire() points += points_per_process -/datum/controller/subsystem/supply/stat_entry() - ..("Points: [points]") +/datum/controller/subsystem/supply/stat_entry(msg) + msg = "Points: [points]" + return ..() //To stop things being sent to CentCom which should not be sent to centcomm. Recursively checks for these types. /datum/controller/subsystem/supply/proc/forbidden_atoms_check(atom/A) if(isliving(A)) return 1 - if(istype(A,/obj/item/weapon/disk/nuclear)) + if(istype(A,/obj/item/disk/nuclear)) return 1 if(istype(A,/obj/machinery/nuclearbomb)) return 1 - if(istype(A,/obj/item/device/radio/beacon)) + if(istype(A,/obj/item/radio/beacon)) return 1 - if(istype(A,/obj/item/device/perfect_tele_beacon)) //VOREStation Addition: Translocator beacons + if(istype(A,/obj/item/perfect_tele_beacon)) //VOREStation Addition: Translocator beacons return 1 //VOREStation Addition: Translocator beacons if(istype(A,/obj/machinery/power/quantumpad)) // //VOREStation Add: Quantum pads return 1 //VOREStation Add: Quantum pads @@ -94,8 +95,8 @@ SUBSYSTEM_DEF(supply) ) // Sell manifests - if(find_slip && istype(A,/obj/item/weapon/paper/manifest)) - var/obj/item/weapon/paper/manifest/slip = A + if(find_slip && istype(A,/obj/item/paper/manifest)) + var/obj/item/paper/manifest/slip = A if(!slip.is_copy && slip.stamped && slip.stamped.len) //yes, the clown stamp will work. clown is the highest authority on the station, it makes sense points += points_per_slip EC.contents[EC.contents.len]["value"] = points_per_slip @@ -112,8 +113,8 @@ SUBSYSTEM_DEF(supply) EC.value += EC.contents[EC.contents.len]["value"] //Sell spacebucks - if(istype(A, /obj/item/weapon/spacecash)) - var/obj/item/weapon/spacecash/cashmoney = A + if(istype(A, /obj/item/spacecash)) + var/obj/item/spacecash/cashmoney = A EC.contents[EC.contents.len]["value"] = cashmoney.worth * points_per_money EC.contents[EC.contents.len]["quantity"] = cashmoney.worth EC.value += EC.contents[EC.contents.len]["value"] @@ -200,15 +201,15 @@ SUBSYSTEM_DEF(supply) A.req_access = L.Copy() LAZYCLEARLIST(A.req_one_access) else - log_debug("Supply pack with invalid access restriction [SP.access] encountered!") + log_debug(span_danger("Supply pack with invalid access restriction [SP.access] encountered!")) //supply manifest generation begin - var/obj/item/weapon/paper/manifest/slip + var/obj/item/paper/manifest/slip if(!SP.contraband) if(A) - slip = new /obj/item/weapon/paper/manifest(A) + slip = new /obj/item/paper/manifest(A) else - slip = new /obj/item/weapon/paper/manifest(pickedloc) + slip = new /obj/item/paper/manifest(pickedloc) slip.is_copy = 0 slip.info = "

[command_name()] Shipping Manifest



" slip.info +="Order #[SO.ordernum]
" diff --git a/code/controllers/subsystems/tgui.dm b/code/controllers/subsystems/tgui.dm index 46b3ae90c2e..9f0baf12e65 100644 --- a/code/controllers/subsystems/tgui.dm +++ b/code/controllers/subsystems/tgui.dm @@ -35,8 +35,9 @@ SUBSYSTEM_DEF(tgui) /datum/controller/subsystem/tgui/Shutdown() close_all_uis() -/datum/controller/subsystem/tgui/stat_entry() - ..("P:[all_uis.len]") +/datum/controller/subsystem/tgui/stat_entry(msg) + msg = "P:[all_uis.len]" + return ..() /datum/controller/subsystem/tgui/fire(resumed = FALSE) if(!resumed) diff --git a/code/controllers/subsystems/throwing.dm b/code/controllers/subsystems/throwing.dm index 0cad319b7da..037970ef936 100644 --- a/code/controllers/subsystems/throwing.dm +++ b/code/controllers/subsystems/throwing.dm @@ -9,8 +9,9 @@ SUBSYSTEM_DEF(throwing) var/list/currentrun var/list/processing = list() -/datum/controller/subsystem/throwing/stat_entry() - ..("P:[processing.len]") +/datum/controller/subsystem/throwing/stat_entry(msg) + msg = "P:[processing.len]" + return ..() /datum/controller/subsystem/throwing/fire(resumed = 0) if (!resumed) @@ -121,7 +122,7 @@ SUBSYSTEM_DEF(throwing) //calculate how many tiles to move, making up for any missed ticks. var/tilestomove = CEILING(min(((((world.time+world.tick_lag) - start_time + delayed_time) * speed) - (dist_travelled ? dist_travelled : -1)), speed*MAX_TICKS_TO_MAKE_UP) * (world.tick_lag * SSthrowing.wait), 1) while (tilestomove-- > 0) - if ((dist_travelled >= maxrange || AM.loc == target_turf) && (A && A.has_gravity())) + if ((dist_travelled >= maxrange || AM.loc == target_turf) && (A && A.get_gravity())) finalize() return diff --git a/code/controllers/subsystems/ticker.dm b/code/controllers/subsystems/ticker.dm index 6846a79b8ea..2daf0413e25 100644 --- a/code/controllers/subsystems/ticker.dm +++ b/code/controllers/subsystems/ticker.dm @@ -41,14 +41,18 @@ SUBSYSTEM_DEF(ticker) //Now we have a general cinematic centrally held within the gameticker....far more efficient! var/obj/screen/cinematic = null + var/round_start_time = 0 + + + // This global variable exists for legacy support so we don't have to rename every 'ticker' to 'SSticker' yet. var/global/datum/controller/subsystem/ticker/ticker /datum/controller/subsystem/ticker/PreInit() global.ticker = src // TODO - Remove this! Change everything to point at SSticker intead /datum/controller/subsystem/ticker/Initialize() - pregame_timeleft = config.pregame_time - send2mainirc("Server lobby is loaded and open at byond://[config.serverurl ? config.serverurl : (config.server ? config.server : "[world.address]:[world.port]")]") + pregame_timeleft = CONFIG_GET(number/pregame_time) + send2mainirc("Server lobby is loaded and open at byond://[CONFIG_GET(string/serverurl) ? CONFIG_GET(string/serverurl) : (CONFIG_GET(string/server) ? CONFIG_GET(string/server) : "[world.address]:[world.port]")]") SSwebhooks.send( WEBHOOK_ROUNDPREP, list( @@ -74,8 +78,8 @@ var/global/datum/controller/subsystem/ticker/ticker post_game_tick() /datum/controller/subsystem/ticker/proc/pregame_welcome() - to_world("Welcome to the pregame lobby!") - to_world("Please set up your character and select ready. The round will start in [pregame_timeleft] seconds.") + to_world(span_boldannounce(span_notice("Welcome to the pregame lobby!"))) + to_world(span_boldannounce(span_notice("Please set up your character and select ready. The round will start in [pregame_timeleft] seconds."))) world << sound('sound/misc/server-ready.ogg', volume = 100) // Called during GAME_STATE_PREGAME (RUNLEVEL_LOBBY) @@ -85,7 +89,7 @@ var/global/datum/controller/subsystem/ticker/ticker if(start_immediately) pregame_timeleft = 0 - else if(SSvote.time_remaining) + else if(SSvote.active_vote) return // vote still going, wait for it. // Time to start the game! @@ -96,15 +100,16 @@ var/global/datum/controller/subsystem/ticker/ticker fire() // Don't wait for next tick, do it now! return - if(pregame_timeleft <= config.vote_autogamemode_timeleft && !SSvote.gamemode_vote_called) - SSvote.autogamemode() // Start the game mode vote (if we haven't had one already) + //if(pregame_timeleft <= config.vote_autogamemode_timeleft && !SSvote.gamemode_vote_called) + //.autogamemode() // Start the game mode vote (if we haven't had one already) // Called during GAME_STATE_SETTING_UP (RUNLEVEL_SETUP) /datum/controller/subsystem/ticker/proc/setup_tick(resumed = FALSE) + round_start_time = world.time // otherwise round_start_time would be 0 for the signals if(!setup_choose_gamemode()) // It failed, go back to lobby state and re-send the welcome message - pregame_timeleft = config.pregame_time - SSvote.gamemode_vote_called = FALSE // Allow another autogamemode vote + pregame_timeleft = CONFIG_GET(number/pregame_time) + // SSvote.gamemode_vote_called = FALSE // Allow another autogamemode vote current_state = GAME_STATE_PREGAME Master.SetRunLevel(RUNLEVEL_LOBBY) pregame_welcome() @@ -123,20 +128,20 @@ var/global/datum/controller/subsystem/ticker/ticker var/list/runnable_modes = config.get_runnable_modes() if((master_mode == "random") || (master_mode == "secret")) if(!runnable_modes.len) - to_world("Unable to choose playable game mode. Reverting to pregame lobby.") + to_world(span_filter_system(span_bold("Unable to choose playable game mode.") + " Reverting to pregame lobby.")) return 0 if(secret_force_mode != "secret") src.mode = config.pick_mode(secret_force_mode) if(!src.mode) var/list/weighted_modes = list() for(var/datum/game_mode/GM in runnable_modes) - weighted_modes[GM.config_tag] = config.probabilities[GM.config_tag] - src.mode = gamemode_cache[pickweight(weighted_modes)] + weighted_modes[GM.config_tag] = CONFIG_GET(keyed_list/probabilities)[GM.config_tag] + src.mode = config.gamemode_cache[pickweight(weighted_modes)] else src.mode = config.pick_mode(master_mode) if(!src.mode) - to_world("Serious error in mode setup! Reverting to pregame lobby.") //Uses setup instead of set up due to computational context. + to_world(span_boldannounce("Serious error in mode setup! Reverting to pregame lobby.")) //Uses setup instead of set up due to computational context. return 0 job_master.ResetOccupations() @@ -145,21 +150,21 @@ var/global/datum/controller/subsystem/ticker/ticker job_master.DivideOccupations() // Apparently important for new antagonist system to register specific job antags properly. if(!src.mode.can_start()) - to_world("Unable to start [mode.name]. Not enough players readied, [config.player_requirements[mode.config_tag]] players needed. Reverting to pregame lobby.") + to_world(span_filter_system(span_bold("Unable to start [mode.name].") + " Not enough players readied, [CONFIG_GET(keyed_list/player_requirements)[mode.config_tag]] players needed. Reverting to pregame lobby.")) mode.fail_setup() mode = null job_master.ResetOccupations() return 0 if(hide_mode) - to_world("The current game mode is - Secret!") + to_world(span_world(span_notice("The current game mode is - Secret!"))) if(runnable_modes.len) var/list/tmpmodes = new for (var/datum/game_mode/M in runnable_modes) tmpmodes+=M.name tmpmodes = sortList(tmpmodes) if(tmpmodes.len) - to_world("Possibilities: [english_list(tmpmodes, and_text= "; ", comma_text = "; ")]") + to_world(span_filter_system(span_bold("Possibilities:") + " [english_list(tmpmodes, and_text= "; ", comma_text = "; ")]")) else src.mode.announce() return 1 @@ -181,12 +186,12 @@ var/global/datum/controller/subsystem/ticker/ticker //Deleting Startpoints but we need the ai point to AI-ize people later if (S.name != "AI") qdel(S) - to_world("Enjoy the game!") + to_world(span_boldannounce(span_notice("Enjoy the game!"))) //YW Change start: Custom message thanks to VerySoft and a 5% chance to play a secret message var/rssound = 1 if(rssound == 1) if(prob(95)) - world << sound('sound/AI/yawn/welcome.ogg') + world << sound('sound/AI/yawn/welcome.ogg') else world << sound('sound/AI/yawn/welcome_secret.ogg') //YW Change end: @@ -200,7 +205,7 @@ var/global/datum/controller/subsystem/ticker/ticker current_state = GAME_STATE_PLAYING Master.SetRunLevel(RUNLEVEL_GAME) - if(config.sql_enabled) + if(CONFIG_GET(flag/sql_enabled)) statistic_cycle() // Polls population totals regularly and stores them in an SQL DB -- TLE return 1 @@ -216,7 +221,7 @@ var/global/datum/controller/subsystem/ticker/ticker // Calculate if game and/or mode are finished (Complicated by the continuous_rounds config option) var/game_finished = FALSE var/mode_finished = FALSE - if (config.continous_rounds) // Game keeps going after mode ends. + if (CONFIG_GET(flag/continuous_rounds)) // Game keeps going after mode ends. game_finished = (emergency_shuttle.returned() || mode.station_was_nuked) mode_finished = ((end_game_state >= END_GAME_MODE_FINISHED) || mode.check_finished()) // Short circuit if already finished. else // Game ends when mode does @@ -232,8 +237,8 @@ var/global/datum/controller/subsystem/ticker/ticker end_game_state = END_GAME_MODE_FINISHED // Only do this cleanup once! mode.cleanup() //call a transfer shuttle vote - to_world("The round has ended!") - SSvote.autotransfer() + to_world(span_boldannounce("The round has ended!")) + SSvote.start_vote(new /datum/vote/crew_transfer) // Called during GAME_STATE_FINISHED (RUNLEVEL_POSTGAME) /datum/controller/subsystem/ticker/proc/post_game_tick() @@ -245,7 +250,7 @@ var/global/datum/controller/subsystem/ticker/ticker feedback_set_details("end_proper", "nuke") restart_timeleft = 1 MINUTE // No point waiting five minutes if everyone's dead. if(!delay_end) - to_world("Rebooting due to destruction of [station_name()] in [round(restart_timeleft/600)] minute\s.") + to_world(span_boldannounce("Rebooting due to destruction of [station_name()] in [round(restart_timeleft/600)] minute\s.")) last_restart_notify = world.time else feedback_set_details("end_proper", "proper completion") @@ -259,14 +264,14 @@ var/global/datum/controller/subsystem/ticker/ticker if(END_GAME_ENDING) restart_timeleft -= (world.time - last_fire) if(delay_end) - to_world("An admin has delayed the round end.") + to_world(span_boldannounce("An admin has delayed the round end.")) end_game_state = END_GAME_DELAYED else if(restart_timeleft <= 0) - to_world("Restarting world!") + to_world(span_boldannounce("Restarting world!")) sleep(5) world.Reboot() else if (world.time - last_restart_notify >= 1 MINUTE) - to_world("Restarting in [round(restart_timeleft/600, 1)] minute\s.") + to_world(span_boldannounce("Restarting in [round(restart_timeleft/600, 1)] minute\s.")) last_restart_notify = world.time return if(END_GAME_DELAYED) @@ -425,6 +430,7 @@ var/global/datum/controller/subsystem/ticker/ticker if(new_char.client) var/obj/screen/splash/S = new(new_char.client, TRUE) S.Fade(TRUE) + new_char.client.init_verbs() // If they're a carbon, they can get manifested if(J?.mob_type & JOB_CARBON) @@ -440,7 +446,7 @@ var/global/datum/controller/subsystem/ticker/ticker var/captainless=1 for(var/mob/living/carbon/human/player in player_list) if(player && player.mind && player.mind.assigned_role) - if(player.mind.assigned_role == "Site Manager") + if(player.mind.assigned_role == JOB_SITE_MANAGER) captainless=0 if(!player_is_antag(player.mind, only_offstation_roles = 1)) job_master.EquipRank(player, player.mind.assigned_role, 0) @@ -450,7 +456,7 @@ var/global/datum/controller/subsystem/ticker/ticker //VOREStation Addition Start if(player.client) if(player.client.prefs.auto_backup_implant) - var/obj/item/weapon/implant/backup/imp = new(src) + var/obj/item/implant/backup/imp = new(src) if(imp.handle_implant(player,player.zone_sel.selecting)) imp.post_implant(player) @@ -458,47 +464,47 @@ var/global/datum/controller/subsystem/ticker/ticker if(captainless) for(var/mob/M in player_list) if(!istype(M,/mob/new_player)) - to_chat(M, "Site Management is not forced on anyone.") + to_chat(M, span_notice("Site Management is not forced on anyone.")) /datum/controller/subsystem/ticker/proc/declare_completion() - to_world("


A round of [mode.name] has ended!

") + to_world(span_filter_system("


A round of [mode.name] has ended!

")) for(var/mob/Player in player_list) if(Player.mind && !isnewplayer(Player)) if(Player.stat != DEAD) var/turf/playerTurf = get_turf(Player) if(emergency_shuttle.departed && emergency_shuttle.evac) if(isNotAdminLevel(playerTurf.z)) - to_chat(Player, "[span_blue("You survived the round, but remained on [station_name()] as [Player.real_name].")]") + to_chat(Player, span_filter_system(span_blue(span_bold("You survived the round, but remained on [station_name()] as [Player.real_name].")))) else - to_chat(Player, "[span_green("You managed to survive the events on [station_name()] as [Player.real_name].")]") + to_chat(Player, span_filter_system(span_green(span_bold("You managed to survive the events on [station_name()] as [Player.real_name].")))) else if(isAdminLevel(playerTurf.z)) - to_chat(Player, "[span_green("You successfully underwent crew transfer after events on [station_name()] as [Player.real_name].")]") + to_chat(Player, span_filter_system(span_green(span_bold("You successfully underwent crew transfer after events on [station_name()] as [Player.real_name].")))) else if(issilicon(Player)) - to_chat(Player, "[span_green("You remain operational after the events on [station_name()] as [Player.real_name].")]") + to_chat(Player, span_filter_system(span_green(span_bold("You remain operational after the events on [station_name()] as [Player.real_name].")))) else - to_chat(Player, "[span_blue("You missed the crew transfer after the events on [station_name()] as [Player.real_name].")]") + to_chat(Player, span_filter_system(span_blue(span_bold("You missed the crew transfer after the events on [station_name()] as [Player.real_name].")))) else if(istype(Player,/mob/observer/dead)) var/mob/observer/dead/O = Player if(!O.started_as_observer) - to_chat(Player, "[span_red("You did not survive the events on [station_name()]...")]") + to_chat(Player, span_filter_system(span_red(span_bold("You did not survive the events on [station_name()]...")))) else - to_chat(Player, "[span_red("You did not survive the events on [station_name()]...")]") - to_world("
") + to_chat(Player, span_filter_system(span_red(span_bold("You did not survive the events on [station_name()]...")))) + to_world(span_filter_system("
")) for (var/mob/living/silicon/ai/aiPlayer in mob_list) if (aiPlayer.stat != 2) - to_world("[aiPlayer.name]'s laws at the end of the round were:") // VOREStation edit + to_world(span_filter_system(span_bold("[aiPlayer.name]'s laws at the end of the round were:"))) // VOREStation edit else - to_world("[aiPlayer.name]'s laws when it was deactivated were:") // VOREStation edit + to_world(span_filter_system(span_bold("[aiPlayer.name]'s laws when it was deactivated were:"))) // VOREStation edit aiPlayer.show_laws(1) if (aiPlayer.connected_robots.len) - var/robolist = "The AI's loyal minions were: " + var/robolist = span_bold("The AI's loyal minions were:") + " " for(var/mob/living/silicon/robot/robo in aiPlayer.connected_robots) robolist += "[robo.name][robo.stat?" (Deactivated), ":", "]" // VOREStation edit - to_world("[robolist]") + to_world(span_filter_system("[robolist]")) var/dronecount = 0 @@ -515,15 +521,15 @@ var/global/datum/controller/subsystem/ticker/ticker if (!robo.connected_ai) if (robo.stat != 2) - to_world("[robo.name] survived as an AI-less stationbound synthetic! Its laws were:") // VOREStation edit + to_world(span_filter_system(span_bold("[robo.name] survived as an AI-less stationbound synthetic! Its laws were:"))) // VOREStation edit else - to_world("[robo.name] was unable to survive the rigors of being a stationbound synthetic without an AI. Its laws were:") // VOREStation edit + to_world(span_filter_system(span_bold("[robo.name] was unable to survive the rigors of being a stationbound synthetic without an AI. Its laws were:"))) // VOREStation edit if(robo) //How the hell do we lose robo between here and the world messages directly above this? robo.laws.show_laws(world) if(dronecount) - to_world("There [dronecount>1 ? "were" : "was"] [dronecount] industrious maintenance [dronecount>1 ? "drones" : "drone"] at the end of this round.") + to_world(span_filter_system(span_bold("There [dronecount>1 ? "were" : "was"] [dronecount] industrious maintenance [dronecount>1 ? "drones" : "drone"] at the end of this round."))) mode.declare_completion()//To declare normal completion. @@ -549,28 +555,29 @@ var/global/datum/controller/subsystem/ticker/ticker return 1 -/datum/controller/subsystem/ticker/stat_entry() +/datum/controller/subsystem/ticker/stat_entry(msg) switch(current_state) if(GAME_STATE_INIT) ..() if(GAME_STATE_PREGAME) // RUNLEVEL_LOBBY - ..("START [round_progressing ? "[round(pregame_timeleft)]s" : "(PAUSED)"]") + msg = "START [round_progressing ? "[round(pregame_timeleft)]s" : "(PAUSED)"]" if(GAME_STATE_SETTING_UP) // RUNLEVEL_SETUP - ..("SETUP") + msg = "SETUP" if(GAME_STATE_PLAYING) // RUNLEVEL_GAME - ..("GAME") + msg = "GAME" if(GAME_STATE_FINISHED) // RUNLEVEL_POSTGAME switch(end_game_state) if(END_GAME_MODE_FINISHED) - ..("MODE OVER, WAITING") + msg = "MODE OVER, WAITING" if(END_GAME_READY_TO_END) - ..("ENDGAME PROCESSING") + msg = "ENDGAME PROCESSING" if(END_GAME_ENDING) - ..("END IN [round(restart_timeleft/10)]s") + msg = "END IN [round(restart_timeleft/10)]s" if(END_GAME_DELAYED) - ..("END PAUSED") + msg = "END PAUSED" else - ..("ENDGAME ERROR:[end_game_state]") + msg = "ENDGAME ERROR:[end_game_state]" + return ..() /datum/controller/subsystem/ticker/Recover() flags |= SS_NO_INIT // Don't initialize again @@ -586,3 +593,5 @@ var/global/datum/controller/subsystem/ticker/ticker minds = SSticker.minds random_players = SSticker.random_players + + round_start_time = SSticker.round_start_time diff --git a/code/controllers/subsystems/timer.dm b/code/controllers/subsystems/timer.dm index 701307c6276..c314fa7d38b 100644 --- a/code/controllers/subsystems/timer.dm +++ b/code/controllers/subsystems/timer.dm @@ -1,32 +1,54 @@ -#define BUCKET_LEN (round(10*(60/world.tick_lag), 1)) //how many ticks should we keep in the bucket. (1 minutes worth) -#define BUCKET_POS(timer) (((round((timer.timeToRun - SStimer.head_offset) / world.tick_lag)+1) % BUCKET_LEN)||BUCKET_LEN) -#define TIMER_MAX (world.time + TICKS2DS(min(BUCKET_LEN-(SStimer.practical_offset-DS2TICKS(world.time - SStimer.head_offset))-1, BUCKET_LEN-1))) -#define TIMER_ID_MAX (2**24) //max float with integer precision +/// Controls how many buckets should be kept, each representing a tick. (1 minutes worth) +#define BUCKET_LEN (world.fps*1*60) +/// Helper for getting the correct bucket for a given timer +#define BUCKET_POS(timer) (((ROUND_UP((timer.timeToRun - timer.timer_subsystem.head_offset) / world.tick_lag)+1) % BUCKET_LEN) || BUCKET_LEN) +/// Gets the maximum time at which timers will be invoked from buckets, used for deferring to secondary queue +#define TIMER_MAX(timer_ss) (timer_ss.head_offset + TICKS2DS(BUCKET_LEN + timer_ss.practical_offset - 1)) +/** + * # Timer Subsystem + * + * Handles creation, callbacks, and destruction of timed events. + * + * It is important to understand the buckets used in the timer subsystem are just a series of doubly-linked + * lists. The object at a given index in bucket_list is a /datum/timedevent, the head of a list, which has prev + * and next references for the respective elements in that bucket's list. + */ SUBSYSTEM_DEF(timer) name = "Timer" - wait = 1 //SS_TICKER subsystem, so wait is in ticks + wait = 1 // SS_TICKER subsystem, so wait is in ticks init_order = INIT_ORDER_TIMER - + priority = FIRE_PRIORITY_TIMER flags = SS_TICKER|SS_NO_INIT - var/list/datum/timedevent/second_queue = list() //awe, yes, you've had first queue, but what about second queue? + /// Queue used for storing timers that do not fit into the current buckets + var/list/datum/timedevent/second_queue = list() + /// A hashlist dictionary used for storing unique timers var/list/hashes = list() - - var/head_offset = 0 //world.time of the first entry in the the bucket. - var/practical_offset = 1 //index of the first non-empty item in the bucket. - var/bucket_resolution = 0 //world.tick_lag the bucket was designed for - var/bucket_count = 0 //how many timers are in the buckets - - var/list/bucket_list = list() //list of buckets, each bucket holds every timer that has to run that byond tick. - - var/list/timer_id_dict = list() //list of all active timers assoicated to their timer id (for easy lookup) - - var/list/clienttime_timers = list() //special snowflake timers that run on fancy pansy "client time" - + /// world.time of the first entry in the bucket list, effectively the 'start time' of the current buckets + var/head_offset = 0 + /// Index of the wrap around pivot for buckets. buckets before this are later running buckets wrapped around from the end of the bucket list. + var/practical_offset = 1 + /// world.tick_lag the bucket was designed for + var/bucket_resolution = 0 + /// How many timers are in the buckets + var/bucket_count = 0 + /// List of buckets, each bucket holds every timer that has to run that byond tick + var/list/bucket_list = list() + /// List of all active timers associated to their timer ID (for easy lookup) + var/list/timer_id_dict = list() + /// Special timers that run in real-time, not BYOND time; these are more expensive to run and maintain + var/list/clienttime_timers = list() + /// Contains the last time that a timer's callback was invoked, or the last tick the SS fired if no timers are being processed var/last_invoke_tick = 0 + /// Keeps track of the next index to work on for client timers + var/next_clienttime_timer_index = 0 + /// Contains the last time that a warning was issued for not invoking callbacks var/static/last_invoke_warning = 0 + /// Boolean operator controlling if the timer SS will automatically reset buckets if it fails to invoke callbacks for an extended period of time var/static/bucket_auto_reset = TRUE + /// How many times bucket was reset + var/bucket_reset_count = 0 /datum/controller/subsystem/timer/PreInit() bucket_list.len = BUCKET_LEN @@ -34,47 +56,59 @@ SUBSYSTEM_DEF(timer) bucket_resolution = world.tick_lag /datum/controller/subsystem/timer/stat_entry(msg) - ..("B:[bucket_count] P:[length(second_queue)] H:[length(hashes)] C:[length(clienttime_timers)] S:[length(timer_id_dict)]") + msg = "B:[bucket_count] P:[length(second_queue)] H:[length(hashes)] C:[length(clienttime_timers)] S:[length(timer_id_dict)] RST:[bucket_reset_count]" + return ..() + +/datum/controller/subsystem/timer/proc/dump_timer_buckets(full = TRUE) + var/list/to_log = list("Timer bucket reset. world.time: [world.time], head_offset: [head_offset], practical_offset: [practical_offset]") + if (full) + for (var/i in 1 to length(bucket_list)) + var/datum/timedevent/bucket_head = bucket_list[i] + if (!bucket_head) + continue + + to_log += "Active timers at index [i]:" + var/datum/timedevent/bucket_node = bucket_head + var/anti_loop_check = 1 + do + to_log += get_timer_debug_string(bucket_node) + bucket_node = bucket_node.next + anti_loop_check-- + while(bucket_node && bucket_node != bucket_head && anti_loop_check) + + to_log += "Active timers in the second_queue queue:" + for(var/I in second_queue) + to_log += get_timer_debug_string(I) + + // Dump all the logged data to the world log + log_world(to_log.Join("\n")) /datum/controller/subsystem/timer/fire(resumed = FALSE) + // Store local references to datum vars as it is faster to access them var/lit = last_invoke_tick - var/last_check = world.time - TICKS2DS(BUCKET_LEN*1.5) var/list/bucket_list = src.bucket_list + var/last_check = world.time - TICKS2DS(BUCKET_LEN * 1.5) + // If there are no timers being tracked, then consider now to be the last invoked time if(!bucket_count) last_invoke_tick = world.time + // Check that we have invoked a callback in the last 1.5 minutes of BYOND time, + // and throw a warning and reset buckets if this is true if(lit && lit < last_check && head_offset < last_check && last_invoke_warning < last_check) last_invoke_warning = world.time - var/msg = "No regular timers processed in the last [BUCKET_LEN*1.5] ticks[bucket_auto_reset ? ", resetting buckets" : ""]!" + var/msg = "No regular timers processed in the last [BUCKET_LEN * 1.5] ticks[bucket_auto_reset ? ", resetting buckets" : ""]!" message_admins(msg) WARNING(msg) if(bucket_auto_reset) bucket_resolution = 0 + dump_timer_buckets(CONFIG_GET(flag/log_timers_on_bucket_reset)) - log_world("Timer bucket reset. world.time: [world.time], head_offset: [head_offset], practical_offset: [practical_offset]") - for (var/i in 1 to length(bucket_list)) - var/datum/timedevent/bucket_head = bucket_list[i] - if (!bucket_head) - continue - - log_world("Active timers at index [i]:") - - var/datum/timedevent/bucket_node = bucket_head - var/anti_loop_check = 1000 - do - log_world(get_timer_debug_string(bucket_node)) - bucket_node = bucket_node.next - anti_loop_check-- - while(bucket_node && bucket_node != bucket_head && anti_loop_check) - log_world("Active timers in the second_queue queue:") - for(var/I in second_queue) - log_world(get_timer_debug_string(I)) - - var/next_clienttime_timer_index = 0 - var/len = length(clienttime_timers) - - for (next_clienttime_timer_index in 1 to len) + // Process client-time timers + if (next_clienttime_timer_index) + clienttime_timers.Cut(1, next_clienttime_timer_index+1) + next_clienttime_timer_index = 0 + for (next_clienttime_timer_index in 1 to length(clienttime_timers)) if (MC_TICK_CHECK) next_clienttime_timer_index-- break @@ -85,142 +119,106 @@ SUBSYSTEM_DEF(timer) var/datum/callback/callBack = ctime_timer.callBack if (!callBack) - clienttime_timers.Cut(next_clienttime_timer_index,next_clienttime_timer_index+1) - CRASH("Invalid timer: [get_timer_debug_string(ctime_timer)] world.time: [world.time], head_offset: [head_offset], practical_offset: [practical_offset], REALTIMEOFDAY: [REALTIMEOFDAY]") + CRASH("Invalid timer: [get_timer_debug_string(ctime_timer)] world.time: [world.time], \ + head_offset: [head_offset], practical_offset: [practical_offset], REALTIMEOFDAY: [REALTIMEOFDAY]") ctime_timer.spent = REALTIMEOFDAY callBack.InvokeAsync() - if(ctime_timer.flags & TIMER_LOOP) + if(ctime_timer.flags & TIMER_LOOP) // Re-insert valid looping client timers into the client timer list. + if (QDELETED(ctime_timer)) // Don't re-insert timers deleted inside their callbacks. + continue ctime_timer.spent = 0 ctime_timer.timeToRun = REALTIMEOFDAY + ctime_timer.wait - BINARY_INSERT(ctime_timer, clienttime_timers, datum/timedevent, timeToRun) + BINARY_INSERT(ctime_timer, clienttime_timers, /datum/timedevent, ctime_timer, timeToRun, COMPARE_KEY) else qdel(ctime_timer) - + // Remove invoked client-time timers if (next_clienttime_timer_index) clienttime_timers.Cut(1, next_clienttime_timer_index+1) + next_clienttime_timer_index = 0 - if (MC_TICK_CHECK) - return - - var/static/list/spent = list() - var/static/datum/timedevent/timer + // Check for when we need to loop the buckets, this occurs when + // the head_offset is approaching BUCKET_LEN ticks in the past if (practical_offset > BUCKET_LEN) head_offset += TICKS2DS(BUCKET_LEN) practical_offset = 1 resumed = FALSE + // Check for when we have to reset buckets, typically from auto-reset if ((length(bucket_list) != BUCKET_LEN) || (world.tick_lag != bucket_resolution)) reset_buckets() bucket_list = src.bucket_list resumed = FALSE - if (!resumed) - timer = null - - while (practical_offset <= BUCKET_LEN && head_offset + ((practical_offset-1)*world.tick_lag) <= world.time) - var/datum/timedevent/head = bucket_list[practical_offset] - if (!timer || !head || timer == head) - head = bucket_list[practical_offset] - timer = head - while (timer) + // Iterate through each bucket starting from the practical offset + while (practical_offset <= BUCKET_LEN && head_offset + ((practical_offset - 1) * world.tick_lag) <= world.time) + var/datum/timedevent/timer + while ((timer = bucket_list[practical_offset])) var/datum/callback/callBack = timer.callBack if (!callBack) - bucket_resolution = null //force bucket recreation - CRASH("Invalid timer: [get_timer_debug_string(timer)] world.time: [world.time], head_offset: [head_offset], practical_offset: [practical_offset]") + stack_trace("Invalid timer: [get_timer_debug_string(timer)] world.time: [world.time], \ + head_offset: [head_offset], practical_offset: [practical_offset], bucket_joined: [timer.bucket_joined]") + if (!timer.spent) + bucket_resolution = null // force bucket recreation + return + + timer.bucketEject() //pop the timer off of the bucket list. + // Invoke callback if possible if (!timer.spent) - spent += timer timer.spent = world.time callBack.InvokeAsync() last_invoke_tick = world.time - if (MC_TICK_CHECK) - return - - timer = timer.next - if (timer == head) - break - - - bucket_list[practical_offset++] = null + if (timer.flags & TIMER_LOOP) // Prepare valid looping timers to re-enter the queue + if(QDELETED(timer)) // If a loop is deleted in its callback, we need to avoid re-inserting it. + continue + timer.spent = 0 + timer.timeToRun = world.time + timer.wait + timer.bucketJoin() + else + qdel(timer) - //we freed up a bucket, lets see if anything in second_queue needs to be shifted to that bucket. - var/i = 0 - var/L = length(second_queue) - for (i in 1 to L) - timer = second_queue[i] - if (timer.timeToRun >= TIMER_MAX) - i-- + if (MC_TICK_CHECK) break - if (timer.timeToRun < head_offset) - bucket_resolution = null //force bucket recreation - stack_trace("[i] Invalid timer state: Timer in long run queue with a time to run less then head_offset. [get_timer_debug_string(timer)] world.time: [world.time], head_offset: [head_offset], practical_offset: [practical_offset]") - if (timer.callBack && !timer.spent) - timer.callBack.InvokeAsync() - spent += timer - bucket_count++ - else if(!QDELETED(timer)) - qdel(timer) - continue - - if (timer.timeToRun < head_offset + TICKS2DS(practical_offset-1)) - bucket_resolution = null //force bucket recreation - stack_trace("[i] Invalid timer state: Timer in long run queue that would require a backtrack to transfer to short run queue. [get_timer_debug_string(timer)] world.time: [world.time], head_offset: [head_offset], practical_offset: [practical_offset]") - if (timer.callBack && !timer.spent) - timer.callBack.InvokeAsync() - spent += timer - bucket_count++ - else if(!QDELETED(timer)) - qdel(timer) - continue - - bucket_count++ - var/bucket_pos = max(1, BUCKET_POS(timer)) - - var/datum/timedevent/bucket_head = bucket_list[bucket_pos] - if (!bucket_head) - bucket_list[bucket_pos] = timer - timer.next = null - timer.prev = null - continue - - if (!bucket_head.prev) - bucket_head.prev = bucket_head - timer.next = bucket_head - timer.prev = bucket_head.prev - timer.next.prev = timer - timer.prev.next = timer - if (i) - second_queue.Cut(1, i+1) - - timer = null - - bucket_count -= length(spent) - - for(var/datum/timedevent/qtimer as anything in spent) - if(QDELETED(qtimer)) - bucket_count++ - continue - if(!(qtimer.flags & TIMER_LOOP)) - qdel(qtimer) - else - bucket_count++ - qtimer.spent = 0 - qtimer.bucketEject() - if(qtimer.flags & TIMER_CLIENT_TIME) - qtimer.timeToRun = REALTIMEOFDAY + qtimer.wait - else - qtimer.timeToRun = world.time + qtimer.wait - qtimer.bucketJoin() - - spent.len = 0 + if (!bucket_list[practical_offset]) + // Empty the bucket, check if anything in the secondary queue should be shifted to this bucket + bucket_list[practical_offset] = null // Just in case + practical_offset++ + var/i = 0 + for (i in 1 to length(second_queue)) + timer = second_queue[i] + if (timer.timeToRun >= TIMER_MAX(src)) + i-- + break + + // Check for timers that are scheduled to run in the past + if (timer.timeToRun < head_offset) + bucket_resolution = null // force bucket recreation + stack_trace("[i] Invalid timer state: Timer in long run queue with a time to run less then head_offset. \ + [get_timer_debug_string(timer)] world.time: [world.time], head_offset: [head_offset], practical_offset: [practical_offset]") + break + + // Check for timers that are not capable of being scheduled to run without rebuilding buckets + if (timer.timeToRun < head_offset + TICKS2DS(practical_offset - 1)) + bucket_resolution = null // force bucket recreation + stack_trace("[i] Invalid timer state: Timer in long run queue that would require a backtrack to transfer to \ + short run queue. [get_timer_debug_string(timer)] world.time: [world.time], head_offset: [head_offset], practical_offset: [practical_offset]") + break + + timer.bucketJoin() + if (i) + second_queue.Cut(1, i+1) + if (MC_TICK_CHECK) + break -//formated this way to be runtime resistant +/** + * Generates a string with details about the timed event for debugging purposes + */ /datum/controller/subsystem/timer/proc/get_timer_debug_string(datum/timedevent/TE) . = "Timer: [TE]" . += "Prev: [TE.prev ? TE.prev : "NULL"], Next: [TE.next ? TE.next : "NULL"]" @@ -231,12 +229,19 @@ SUBSYSTEM_DEF(timer) if(!TE.callBack) . += ", NO CALLBACK" +/** + * Destroys the existing buckets and creates new buckets from the existing timed events + */ /datum/controller/subsystem/timer/proc/reset_buckets() - var/list/bucket_list = src.bucket_list + WARNING("Timer buckets has been reset, this may cause timer to lag") + bucket_reset_count++ + + var/list/bucket_list = src.bucket_list // Store local reference to datum var, this is faster var/list/alltimers = list() - //collect the timers currently in the bucket + + // Get all timers currently in the buckets for (var/bucket_head in bucket_list) - if (!bucket_head) + if (!bucket_head) // if bucket is empty for this tick continue var/datum/timedevent/bucket_node = bucket_head do @@ -244,25 +249,45 @@ SUBSYSTEM_DEF(timer) bucket_node = bucket_node.next while(bucket_node && bucket_node != bucket_head) + // Empty the list by zeroing and re-assigning the length bucket_list.len = 0 bucket_list.len = BUCKET_LEN + // Reset values for the subsystem to their initial values practical_offset = 1 bucket_count = 0 head_offset = world.time bucket_resolution = world.tick_lag + // Add all timed events from the secondary queue as well alltimers += second_queue + + for (var/datum/timedevent/t as anything in alltimers) + t.timer_subsystem = src // Recovered timers need to be reparented + t.bucket_joined = FALSE + t.bucket_pos = -1 + t.prev = null + t.next = null + + // If there are no timers being tracked by the subsystem, + // there is no need to do any further rebuilding if (!length(alltimers)) return + // Sort all timers by time to run sortTim(alltimers, GLOBAL_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 + // current set of buckets var/datum/timedevent/head = alltimers[1] - if (head.timeToRun < head_offset) head_offset = head.timeToRun + // Iterate through each timed event and insert it into an appropriate bucket, + // up unto the point that we can no longer insert into buckets as the TTR + // is outside the range we are tracking, then insert the remainder into the + // secondary queue var/new_bucket_count var/i = 1 for (i in 1 to length(alltimers)) @@ -270,19 +295,25 @@ SUBSYSTEM_DEF(timer) if (!timer) continue - var/bucket_pos = BUCKET_POS(timer) - if (timer.timeToRun >= TIMER_MAX) + // Check that the TTR is within the range covered by buckets, when exceeded we've finished + if (timer.timeToRun >= TIMER_MAX(src)) i-- break - + // Check that timer has a valid callback and hasn't been invoked if (!timer.callBack || timer.spent) - WARNING("Invalid timer: [get_timer_debug_string(timer)] world.time: [world.time], head_offset: [head_offset], practical_offset: [practical_offset]") + WARNING("Invalid timer: [get_timer_debug_string(timer)] world.time: [world.time], \ + head_offset: [head_offset], practical_offset: [practical_offset]") if (timer.callBack) qdel(timer) continue + // Insert the timer into the bucket, and perform necessary doubly-linked list operations new_bucket_count++ + var/bucket_pos = BUCKET_POS(timer) + timer.bucket_pos = bucket_pos + timer.bucket_joined = TRUE + var/datum/timedevent/bucket_head = bucket_list[bucket_pos] if (!bucket_head) bucket_list[bucket_pos] = timer @@ -290,89 +321,126 @@ SUBSYSTEM_DEF(timer) timer.prev = null continue - if (!bucket_head.prev) - bucket_head.prev = bucket_head + bucket_head.prev = timer timer.next = bucket_head - timer.prev = bucket_head.prev - timer.next.prev = timer - timer.prev.next = timer + timer.prev = null + bucket_list[bucket_pos] = timer + + // Cut the timers that are tracked by the buckets from the secondary queue if (i) - alltimers.Cut(1, i+1) + alltimers.Cut(1, i + 1) second_queue = alltimers bucket_count = new_bucket_count /datum/controller/subsystem/timer/Recover() - second_queue |= SStimer.second_queue - hashes |= SStimer.hashes - timer_id_dict |= SStimer.timer_id_dict - bucket_list |= SStimer.bucket_list + // Find the current timer sub-subsystem in global and recover its buckets etc + var/datum/controller/subsystem/timer/timerSS = null + for(var/global_var in global.vars) + if (istype(global.vars[global_var],src.type)) + timerSS = global.vars[global_var] + + hashes = timerSS.hashes + timer_id_dict = timerSS.timer_id_dict + + bucket_list = timerSS.bucket_list + second_queue = timerSS.second_queue + // The buckets are FUBAR + reset_buckets() + +/** + * # Timed Event + * + * This is the actual timer, it contains the callback and necessary data to maintain + * the timer. + * + * See the documentation for the timer subsystem for an explanation of the buckets referenced + * below in next and prev + */ /datum/timedevent + /// ID used for timers when the TIMER_STOPPABLE flag is present var/id + /// The callback to invoke after the timer completes var/datum/callback/callBack + /// The time at which the callback should be invoked at var/timeToRun + /// The length of the timer var/wait + /// Unique hash generated when TIMER_UNIQUE flag is present var/hash + /// The source of the timedevent, whatever called addtimer + var/source + /// Flags associated with the timer, see _DEFINES/subsystems.dm var/list/flags - var/spent = 0 //time we ran the timer. - var/name //for easy debugging. - //cicular doublely linked list + /// Time at which the timer was invoked or destroyed + var/spent = 0 + /// Holds info about this timer, stored from the moment it was created + /// Used to create a visible "name" whenever the timer is stringified + var/list/timer_info + /// Next timed event in the bucket var/datum/timedevent/next + /// Previous timed event in the bucket var/datum/timedevent/prev - -/datum/timedevent/New(datum/callback/callBack, wait, flags, hash) + /// The timer subsystem this event is associated with + var/datum/controller/subsystem/timer/timer_subsystem + /// Boolean indicating if timer joined into bucket + var/bucket_joined = FALSE + /// Initial bucket position + var/bucket_pos = -1 + +/datum/timedevent/New(datum/callback/callBack, wait, flags, datum/controller/subsystem/timer/timer_subsystem, hash, source) var/static/nextid = 1 id = TIMER_ID_NULL src.callBack = callBack src.wait = wait src.flags = flags src.hash = hash + src.source = source + src.timer_subsystem = timer_subsystem || SStimer - if (flags & TIMER_CLIENT_TIME) - timeToRun = REALTIMEOFDAY + wait - else - timeToRun = world.time + wait + // Determine time at which the timer's callback should be invoked + timeToRun = (flags & TIMER_CLIENT_TIME ? REALTIMEOFDAY : world.time) + wait + // Include the timer in the hash table if the timer is unique if (flags & TIMER_UNIQUE) - SStimer.hashes[hash] = src + timer_subsystem.hashes[hash] = src + // Generate ID for the timer if the timer is stoppable, include in the timer id dictionary if (flags & TIMER_STOPPABLE) id = num2text(nextid, 100) - if (nextid >= TIMER_ID_MAX) - nextid += min(1, 2**round(nextid/TIMER_ID_MAX)) + if (nextid >= SHORT_REAL_LIMIT) + nextid += min(1, 2 ** round(nextid / SHORT_REAL_LIMIT)) else nextid++ - SStimer.timer_id_dict[id] = src - - name = "Timer: [id] (\ref[src]), TTR: [timeToRun], Flags: [jointext(bitfield2list(flags, list("TIMER_UNIQUE", "TIMER_OVERRIDE", "TIMER_CLIENT_TIME", "TIMER_STOPPABLE", "TIMER_NO_HASH_WAIT", "TIMER_LOOP")), ", ")], callBack: \ref[callBack], callBack.object: [callBack.object]\ref[callBack.object]([getcallingtype()]), callBack.delegate:[callBack.delegate]([callBack.arguments ? callBack.arguments.Join(", ") : ""])" + timer_subsystem.timer_id_dict[id] = src - if ((timeToRun < world.time || timeToRun < SStimer.head_offset) && !(flags & TIMER_CLIENT_TIME)) + if ((timeToRun < world.time || timeToRun < timer_subsystem.head_offset) && !(flags & TIMER_CLIENT_TIME)) CRASH("Invalid timer state: Timer created that would require a backtrack to run (addtimer would never let this happen): [SStimer.get_timer_debug_string(src)]") if (callBack.object != GLOBAL_PROC && !QDESTROYING(callBack.object)) - LAZYADD(callBack.object.active_timers, src) + LAZYADD(callBack.object._active_timers, src) bucketJoin() /datum/timedevent/Destroy() ..() if (flags & TIMER_UNIQUE && hash) - SStimer.hashes -= hash + timer_subsystem.hashes -= hash - if (callBack && callBack.object && callBack.object != GLOBAL_PROC && callBack.object.active_timers) - callBack.object.active_timers -= src - UNSETEMPTY(callBack.object.active_timers) + if (callBack && callBack.object && callBack.object != GLOBAL_PROC && callBack.object._active_timers) + callBack.object._active_timers -= src + UNSETEMPTY(callBack.object._active_timers) callBack = null if (flags & TIMER_STOPPABLE) - SStimer.timer_id_dict -= id + timer_subsystem.timer_id_dict -= id if (flags & TIMER_CLIENT_TIME) if (!spent) spent = world.time - SStimer.clienttime_timers -= src + timer_subsystem.clienttime_timers -= src return QDEL_HINT_IWILLGC if (!spent) @@ -387,64 +455,143 @@ SUBSYSTEM_DEF(timer) prev = null return QDEL_HINT_IWILLGC +/** + * Removes this timed event from any relevant buckets, or the secondary queue + */ /datum/timedevent/proc/bucketEject() - var/bucketpos = BUCKET_POS(src) - var/list/bucket_list = SStimer.bucket_list - var/list/second_queue = SStimer.second_queue + // Store local references for the bucket list and secondary queue + // This is faster than referencing them from the datum itself + var/list/bucket_list = timer_subsystem.bucket_list + var/list/second_queue = timer_subsystem.second_queue + + // Attempt to get the head of the bucket var/datum/timedevent/buckethead - if(bucketpos > 0) - buckethead = bucket_list[bucketpos] + if(bucket_pos > 0) + buckethead = bucket_list[bucket_pos] + + // Decrement the number of timers in buckets if the timed event is + // the head of the bucket, or has a TTR less than TIMER_MAX implying it fits + // into an existing bucket, or is otherwise not present in the secondary queue if(buckethead == src) - bucket_list[bucketpos] = next - SStimer.bucket_count-- - else if(timeToRun < TIMER_MAX || next || prev) - SStimer.bucket_count-- + bucket_list[bucket_pos] = next + timer_subsystem.bucket_count-- + else if(bucket_joined) + timer_subsystem.bucket_count-- else var/l = length(second_queue) second_queue -= src if(l == length(second_queue)) - SStimer.bucket_count-- - if(prev != next) + timer_subsystem.bucket_count-- + + // Remove the timed event from the bucket, ensuring to maintain + // the integrity of the bucket's list if relevant + if (prev && prev.next == src) prev.next = next + if (next && next.prev == src) next.prev = prev - else - prev?.next = null - next?.prev = null prev = next = null + bucket_pos = -1 + bucket_joined = FALSE + +/datum/timedevent/proc/operator""() + if(!length(timer_info)) + return "Event not filled" + var/static/list/bitfield_flags = list("TIMER_UNIQUE", "TIMER_OVERRIDE", "TIMER_CLIENT_TIME", "TIMER_STOPPABLE", "TIMER_NO_HASH_WAIT", "TIMER_LOOP") +#if defined(TIMER_DEBUG) + var/list/callback_args = timer_info[10] + return "Timer: [timer_info[1]] ([text_ref(src)]), TTR: [timer_info[2]], wait:[timer_info[3]] Flags: [jointext(bitfield_to_list(timer_info[4], bitfield_flags), ", ")], \ + callBack: [text_ref(timer_info[5])], callBack.object: [timer_info[6]][timer_info[7]]([timer_info[8]]), \ + callBack.delegate:[timer_info[9]]([callback_args ? callback_args.Join(", ") : ""]), source: [timer_info[11]]" +#else + return "Timer: [timer_info[1]] ([text_ref(src)]), TTR: [timer_info[2]], wait:[timer_info[3]] Flags: [jointext(bitfield_to_list(timer_info[4], bitfield_flags), ", ")], \ + callBack: [text_ref(timer_info[5])], callBack.object: [timer_info[6]]([timer_info[7]]), \ + callBack.delegate:[timer_info[8]], source: [timer_info[9]]" +#endif +/** + * Attempts to add this timed event to a bucket, will enter the secondary queue + * if there are no appropriate buckets at this time. + * + * Secondary queueing of timed events will occur when the timespan covered by the existing + * buckets is exceeded by the time at which this timed event is scheduled to be invoked. + * If the timed event is tracking client time, it will be added to a special bucket. + */ /datum/timedevent/proc/bucketJoin() +#if defined(TIMER_DEBUG) + // Generate debug-friendly list for timer, more complex but also more expensive + timer_info = list( + 1 = id, + 2 = timeToRun, + 3 = wait, + 4 = flags, + 5 = callBack, /* Safe to hold this directly because it's never del'd */ + 6 = "[callBack.object]", + 7 = text_ref(callBack.object), + 8 = getcallingtype(), + 9 = callBack.delegate, + 10 = callBack.arguments ? callBack.arguments.Copy() : null, + 11 = "[source]" + ) +#else + // Generate a debuggable list for the timer, simpler but wayyyy cheaper, string generation (and ref/copy memes) is a bitch and this saves a LOT of time + timer_info = list( + 1 = id, + 2 = timeToRun, + 3 = wait, + 4 = flags, + 5 = callBack, /* Safe to hold this directly because it's never del'd */ + 6 = "[callBack.object]", + 7 = getcallingtype(), + 8 = callBack.delegate, + 9 = "[source]" + ) +#endif + + if (bucket_joined) + stack_trace("Bucket already joined! [src]") + + // Check if this timed event should be diverted to the client time bucket, or the secondary queue var/list/L - if (flags & TIMER_CLIENT_TIME) - L = SStimer.clienttime_timers - else if (timeToRun >= TIMER_MAX) - L = SStimer.second_queue - + L = timer_subsystem.clienttime_timers + else if (timeToRun >= TIMER_MAX(timer_subsystem)) + L = timer_subsystem.second_queue if(L) - BINARY_INSERT(src, L, datum/timedevent, timeToRun) + BINARY_INSERT(src, L, /datum/timedevent, src, timeToRun, COMPARE_KEY) return - //get the list of buckets - var/list/bucket_list = SStimer.bucket_list + // Get a local reference to the bucket list, this is faster than referencing the datum + var/list/bucket_list = timer_subsystem.bucket_list + + // Find the correct bucket for this timed event + bucket_pos = BUCKET_POS(src) - //calculate our place in the bucket list - var/bucket_pos = BUCKET_POS(src) + if (bucket_pos < timer_subsystem.practical_offset && timeToRun < (timer_subsystem.head_offset + TICKS2DS(BUCKET_LEN))) + WARNING("Bucket pos in past: bucket_pos = [bucket_pos] < practical_offset = [timer_subsystem.practical_offset] \ + && timeToRun = [timeToRun] < [timer_subsystem.head_offset + TICKS2DS(BUCKET_LEN)], Timer: [src]") + bucket_pos = timer_subsystem.practical_offset // Recover bucket_pos to avoid timer blocking queue - //get the bucket for our tick var/datum/timedevent/bucket_head = bucket_list[bucket_pos] - SStimer.bucket_count++ - //empty bucket, we will just add ourselves + timer_subsystem.bucket_count++ + + // If there is no timed event at this position, then the bucket is 'empty' + // and we can just set this event to that position if (!bucket_head) + bucket_joined = TRUE bucket_list[bucket_pos] = src return - //other wise, lets do a simplified linked list add. - if (!bucket_head.prev) - bucket_head.prev = bucket_head + + // Otherwise, we merely add this timed event into the bucket, which is a + // doubly-linked list + bucket_joined = TRUE + bucket_head.prev = src next = bucket_head - prev = bucket_head.prev - next.prev = src - prev.next = src + prev = null + bucket_list[bucket_pos] = src +/** + * Returns a string of the type of the callback for this timer + */ /datum/timedevent/proc/getcallingtype() . = "ERROR" if (callBack.object == GLOBAL_PROC) @@ -452,62 +599,82 @@ SUBSYSTEM_DEF(timer) else . = "[callBack.object.type]" -/proc/addtimer(datum/callback/callback, wait = 0, flags = 0) - if (!callback) - CRASH("addtimer called without a callback") +/** + * Create a new timer and insert it in the queue. + * You should not call this directly, and should instead use the addtimer macro, which includes source information. + * + * Arguments: + * * callback the callback to call on timer finish + * * wait deciseconds to run the timer for + * * flags flags for this timer, see: code\__DEFINES\subsystems.dm + * * timer_subsystem the subsystem to insert this timer into + */ +/proc/_addtimer(datum/callback/callback, wait = 0, flags = 0, datum/controller/subsystem/timer/timer_subsystem, file, line) + ASSERT(istype(callback), "addtimer called [callback ? "with an invalid callback ([callback])" : "without a callback"]") + ASSERT(isnum(wait), "addtimer called with a non-numeric wait ([wait])") if (wait < 0) stack_trace("addtimer called with a negative wait. Converting to [world.tick_lag]") if (callback.object != GLOBAL_PROC && QDELETED(callback.object) && !QDESTROYING(callback.object)) - stack_trace("addtimer called with a callback assigned to a qdeleted object. In the future such timers will not be supported and may refuse to run or run with a 0 wait") + stack_trace("addtimer called with a callback assigned to a qdeleted object. In the future such timers will not \ + be supported and may refuse to run or run with a 0 wait") - wait = max(CEILING(wait, world.tick_lag), world.tick_lag) + if (flags & TIMER_CLIENT_TIME) // REALTIMEOFDAY has a resolution of 1 decisecond + wait = max(CEILING(wait, 1), 1) // so if we use tick_lag timers may be inserted in the "past" + else + wait = max(CEILING(wait, world.tick_lag), world.tick_lag) if(wait >= INFINITY) CRASH("Attempted to create timer with INFINITY delay") - var/hash + timer_subsystem = timer_subsystem || SStimer + // Generate hash if relevant for timed events with the TIMER_UNIQUE flag + var/hash if (flags & TIMER_UNIQUE) - var/list/hashlist - if(flags & TIMER_NO_HASH_WAIT) - hashlist = list(callback.object, "(\ref[callback.object])", callback.delegate, flags & TIMER_CLIENT_TIME) - else - hashlist = list(callback.object, "(\ref[callback.object])", callback.delegate, wait, flags & TIMER_CLIENT_TIME) + var/list/hashlist = list(callback.object, "([REF(callback.object)])", callback.delegate, flags & TIMER_CLIENT_TIME) + if(!(flags & TIMER_NO_HASH_WAIT)) + hashlist += wait hashlist += callback.arguments hash = hashlist.Join("|||||||") - var/datum/timedevent/hash_timer = SStimer.hashes[hash] + var/datum/timedevent/hash_timer = timer_subsystem.hashes[hash] if(hash_timer) - if (hash_timer.spent) //it's pending deletion, pretend it doesn't exist. - hash_timer.hash = null //but keep it from accidentally deleting us + if (hash_timer.spent) // it's pending deletion, pretend it doesn't exist. + hash_timer.hash = null // but keep it from accidentally deleting us else if (flags & TIMER_OVERRIDE) - hash_timer.hash = null //no need having it delete it's hash if we are going to replace it + hash_timer.hash = null // no need having it delete its hash if we are going to replace it qdel(hash_timer) else if (hash_timer.flags & TIMER_STOPPABLE) . = hash_timer.id return else if(flags & TIMER_OVERRIDE) - stack_trace("TIMER_OVERRIDE used without TIMER_UNIQUE") + stack_trace("TIMER_OVERRIDE used without TIMER_UNIQUE") //this is also caught by grep. - var/datum/timedevent/timer = new(callback, wait, flags, hash) + var/datum/timedevent/timer = new(callback, wait, flags, timer_subsystem, hash, file && "[file]:[line]") return timer.id -/proc/deltimer(id) +/** + * Delete a timer + * + * Arguments: + * * id a timerid or a /datum/timedevent + */ +/proc/deltimer(id, datum/controller/subsystem/timer/timer_subsystem) if (!id) return FALSE if (id == TIMER_ID_NULL) CRASH("Tried to delete a null timerid. Use TIMER_STOPPABLE flag") - if (!istext(id)) - if (istype(id, /datum/timedevent)) - qdel(id) - return TRUE + if (istype(id, /datum/timedevent)) + qdel(id) + return TRUE + timer_subsystem = timer_subsystem || SStimer //id is string - var/datum/timedevent/timer = SStimer.timer_id_dict[id] - if (timer && !timer.spent) + var/datum/timedevent/timer = timer_subsystem.timer_id_dict[id] + if (timer && (!timer.spent || timer.flags & TIMER_DELETE_ME)) qdel(timer) return TRUE return FALSE @@ -533,7 +700,32 @@ SUBSYSTEM_DEF(timer) return null return timer.timeToRun - (timer.flags & TIMER_CLIENT_TIME ? REALTIMEOFDAY : world.time) +/** + * Update the delay on an existing LOOPING timer + * Will come into effect on the next process + * + * Arguments: + * * id a timerid or a /datum/timedevent + * * new_wait the new wait to give this looping timer + */ +/proc/updatetimedelay(id, new_wait, datum/controller/subsystem/timer/timer_subsystem) + if (!id) + return + if (id == TIMER_ID_NULL) + CRASH("Tried to update the wait of null timerid. Use TIMER_STOPPABLE flag") + if (istype(id, /datum/timedevent)) + var/datum/timedevent/timer = id + timer.wait = new_wait + return + timer_subsystem = timer_subsystem || SStimer + //id is string + var/datum/timedevent/timer = timer_subsystem.timer_id_dict[id] + if(!timer || timer.spent) + return + if(!(timer.flags & TIMER_LOOP)) + CRASH("Tried to update the wait of a non looping timer. This is not supported") + timer.wait = new_wait + #undef BUCKET_LEN #undef BUCKET_POS #undef TIMER_MAX -#undef TIMER_ID_MAX diff --git a/code/controllers/subsystems/transcore_vr.dm b/code/controllers/subsystems/transcore_vr.dm index 593650e1b0c..7bb0d7d6cb9 100644 --- a/code/controllers/subsystems/transcore_vr.dm +++ b/code/controllers/subsystems/transcore_vr.dm @@ -50,12 +50,12 @@ SUBSYSTEM_DEF(transcore) src.current_run.Cut() for(var/key in databases) var/datum/transcore_db/db = databases[key] - for(var/obj/item/weapon/implant/backup/imp as anything in db.implants) + for(var/obj/item/implant/backup/imp as anything in db.implants) src.current_run[imp] = db var/list/current_run = src.current_run while(current_run.len) - var/obj/item/weapon/implant/backup/imp = current_run[current_run.len] + var/obj/item/implant/backup/imp = current_run[current_run.len] var/datum/transcore_db/db = current_run[imp] current_run.len-- @@ -122,9 +122,8 @@ SUBSYSTEM_DEF(transcore) if(MC_TICK_CHECK) return -/datum/controller/subsystem/transcore/stat_entry() - var/msg = list() - msg += "$:{" +/datum/controller/subsystem/transcore/stat_entry(msg) + msg = "$:{" msg += "IM:[round(cost_implants,1)]|" msg += "BK:[round(cost_backups,1)]" msg += "} " @@ -137,7 +136,7 @@ SUBSYSTEM_DEF(transcore) msg += "DFB:[default_db.body_scans.len]|" msg += "DFI:[default_db.implants.len]" msg += "} " - ..(jointext(msg, null)) + return ..() /datum/controller/subsystem/transcore/Recover() for(var/key in SStranscore.databases) @@ -183,7 +182,7 @@ SUBSYSTEM_DEF(transcore) return db // These are now just interfaces to databases -/datum/controller/subsystem/transcore/proc/m_backup(var/datum/mind/mind, var/obj/item/device/nif/nif, var/one_time = FALSE, var/database_key) +/datum/controller/subsystem/transcore/proc/m_backup(var/datum/mind/mind, var/obj/item/nif/nif, var/one_time = FALSE, var/database_key) var/datum/transcore_db/db = db_by_key(database_key) db.m_backup(mind=mind, nif=nif, one_time=one_time) @@ -203,7 +202,7 @@ SUBSYSTEM_DEF(transcore) var/datum/transcore_db/db = db_by_key(database_key) db.remove_body(BR=BR) -/datum/controller/subsystem/transcore/proc/core_dump(var/obj/item/weapon/disk/transcore/disk, var/database_key) +/datum/controller/subsystem/transcore/proc/core_dump(var/obj/item/disk/transcore/disk, var/database_key) var/datum/transcore_db/db = db_by_key(database_key) db.core_dump(disk=disk) @@ -212,12 +211,12 @@ SUBSYSTEM_DEF(transcore) var/list/datum/transhuman/mind_record/backed_up = list() // All known mind records, indexed by MR.mindname/mind.name var/list/datum/transhuman/mind_record/has_left = list() // Why do we even have this? var/list/datum/transhuman/body_record/body_scans = list() // All known body records, indexed by BR.mydna.name - var/list/obj/item/weapon/implant/backup/implants = list() // All OPERATING implants that are being ticked + var/list/obj/item/implant/backup/implants = list() // All OPERATING implants that are being ticked var/core_dumped = FALSE var/key // Key for this DB -/datum/transcore_db/proc/m_backup(var/datum/mind/mind, var/obj/item/device/nif/nif, var/one_time = FALSE) +/datum/transcore_db/proc/m_backup(var/datum/mind/mind, var/obj/item/nif/nif, var/one_time = FALSE) ASSERT(mind) if(!mind.name || core_dumped) return 0 @@ -291,7 +290,7 @@ SUBSYSTEM_DEF(transcore) log_debug("Removed [BR.mydna.name] from transcore body DB.") // Moves all mind records from the databaes into the disk and shuts down all backup canary processing. -/datum/transcore_db/proc/core_dump(var/obj/item/weapon/disk/transcore/disk) +/datum/transcore_db/proc/core_dump(var/obj/item/disk/transcore/disk) ASSERT(disk) global_announcer.autosay("An emergency core dump has been initiated!", "TransCore Oversight", "Command") global_announcer.autosay("An emergency core dump has been initiated!", "TransCore Oversight", "Medical") diff --git a/code/controllers/subsystems/verb_manager.dm b/code/controllers/subsystems/verb_manager.dm new file mode 100644 index 00000000000..1e3cce0a9af --- /dev/null +++ b/code/controllers/subsystems/verb_manager.dm @@ -0,0 +1,167 @@ +/** + * SSverb_manager, a subsystem that runs every tick and runs through its entire queue without yielding like SSinput. + * this exists because of how the byond tick works and where user inputted verbs are put within it. + * + * see TICK_ORDER.md for more info on how the byond tick is structured. + * + * The way the MC allots its time is via TICK_LIMIT_RUNNING, it simply subtracts the cost of SendMaps (MAPTICK_LAST_INTERNAL_TICK_USAGE) + * plus TICK_BYOND_RESERVE from the tick and uses up to that amount of time (minus the percentage of the tick used by the time it executes subsystems) + * on subsystems running cool things like atmospherics or Life or SSInput or whatever. + * + * Without this subsystem, verbs are likely to cause overtime if the MC uses all of the time it has allotted for itself in the tick, and SendMaps + * uses as much as its expected to, and an expensive verb ends up executing that tick. This is because the MC is completely blind to the cost of + * verbs, it can't account for it at all. The only chance for verbs to not cause overtime in a tick where the MC used as much of the tick + * as it allotted itself and where SendMaps costed as much as it was expected to is if the verb(s) take less than TICK_BYOND_RESERVE percent of + * the tick, which isn't much. Not to mention if SendMaps takes more than 30% of the tick and the MC forces itself to take at least 70% of the + * normal tick duration which causes ticks to naturally overrun even in the absence of verbs. + * + * With this subsystem, the MC can account for the cost of verbs and thus stop major overruns of ticks. This means that the most important subsystems + * like SSinput can start at the same time they were supposed to, leading to a smoother experience for the player since ticks aren't riddled with + * minor hangs over and over again. + */ +SUBSYSTEM_DEF(verb_manager) + name = "Verb Manager" + wait = 1 + flags = SS_TICKER | SS_NO_INIT + priority = FIRE_PRIORITY_DELAYED_VERBS + runlevels = RUNLEVEL_LOBBY | RUNLEVELS_DEFAULT + + ///list of callbacks to procs called from verbs or verblike procs that were executed when the server was overloaded and had to delay to the next tick. + ///this list is ran through every tick, and the subsystem does not yield until this queue is finished. + var/list/datum/callback/verb_callback/verb_queue = list() + + ///running average of how many verb callbacks are executed every second. used for the stat entry + var/verbs_executed_per_second = 0 + + ///if TRUE we treat usr's with holders just like usr's without holders. otherwise they always execute immediately + var/can_queue_admin_verbs = FALSE + + ///if this is true all verbs immediately execute and don't queue. in case the mc is fucked or something + var/FOR_ADMINS_IF_VERBS_FUCKED_immediately_execute_all_verbs = FALSE + + ///used for subtypes to determine if they use their own stats for the stat entry + var/use_default_stats = TRUE + + ///if TRUE this will... message admins every time a verb is queued to this subsystem for the next tick with stats. + ///for obvious reasons don't make this be TRUE on the code level this is for admins to turn on + var/message_admins_on_queue = FALSE + + ///always queue if possible. overrides can_queue_admin_verbs but not FOR_ADMINS_IF_VERBS_FUCKED_immediately_execute_all_verbs + var/always_queue = FALSE + +/** + * queue a callback for the given verb/verblike proc and any given arguments to the specified verb subsystem, so that they process in the next tick. + * intended to only work with verbs or verblike procs called directly from client input, use as part of TRY_QUEUE_VERB() and co. + * + * returns TRUE if the queuing was successful, FALSE otherwise. + */ +/proc/_queue_verb(datum/callback/verb_callback/incoming_callback, tick_check, datum/controller/subsystem/verb_manager/subsystem_to_use = SSverb_manager, ...) + if(QDELETED(incoming_callback)) + var/destroyed_string + if(!incoming_callback) + destroyed_string = "callback is null." + else + destroyed_string = "callback was deleted [DS2TICKS(world.time - incoming_callback.gc_destroyed)] ticks ago. callback was created [DS2TICKS(world.time) - incoming_callback.creation_time] ticks ago." + + stack_trace("_queue_verb() returned false because it was given a deleted callback! [destroyed_string]") + return FALSE + + if(!istext(incoming_callback.object) && QDELETED(incoming_callback.object)) //just in case the object is GLOBAL_PROC + var/destroyed_string + if(!incoming_callback.object) + destroyed_string = "callback.object is null." + else + destroyed_string = "callback.object was deleted [DS2TICKS(world.time - incoming_callback.object.gc_destroyed)] ticks ago. callback was created [DS2TICKS(world.time) - incoming_callback.creation_time] ticks ago." + + stack_trace("_queue_verb() returned false because it was given a callback acting on a qdeleted object! [destroyed_string]") + return FALSE + + //we want unit tests to be able to directly call verbs that attempt to queue, and since unit tests should test internal behavior, we want the queue + //to happen as if it was actually from player input if its called on a mob. +#ifdef UNIT_TESTS + if(QDELETED(usr) && ismob(incoming_callback.object)) + incoming_callback.user = WEAKREF(incoming_callback.object) + var/datum/callback/new_us = CALLBACK(arglist(list(GLOBAL_PROC, GLOBAL_PROC_REF(_queue_verb)) + args.Copy())) + return world.push_usr(incoming_callback.object, new_us) + +#else + + if(QDELETED(usr) || isnull(usr.client)) + stack_trace("_queue_verb() returned false because it wasn't called from player input!") + return FALSE + +#endif + + if(!istype(subsystem_to_use)) + stack_trace("_queue_verb() returned false because it was given an invalid subsystem to queue for!") + return FALSE + + if((TICK_USAGE < tick_check) && !subsystem_to_use.always_queue) + return FALSE + + var/list/args_to_check = args.Copy() + args_to_check.Cut(2, 4)//cut out tick_check and subsystem_to_use + + //any subsystem can use the additional arguments to refuse queuing + if(!subsystem_to_use.can_queue_verb(arglist(args_to_check))) + return FALSE + + return subsystem_to_use.queue_verb(incoming_callback) + +/** + * subsystem-specific check for whether a callback can be queued. + * intended so that subsystem subtypes can verify whether + * + * subtypes may include additional arguments here if they need them! you just need to include them properly + * in TRY_QUEUE_VERB() and co. + */ +/datum/controller/subsystem/verb_manager/proc/can_queue_verb(datum/callback/verb_callback/incoming_callback) + if(always_queue && !FOR_ADMINS_IF_VERBS_FUCKED_immediately_execute_all_verbs) + return TRUE + + if((usr.client?.holder && !can_queue_admin_verbs) \ + || (!subsystem_initialized && !(flags & SS_NO_INIT)) \ + || FOR_ADMINS_IF_VERBS_FUCKED_immediately_execute_all_verbs \ + || !(runlevels & Master.current_runlevel)) + return FALSE + + return TRUE + +/** + * queue a callback for the given proc, so that it is invoked in the next tick. + * intended to only work with verbs or verblike procs called directly from client input, use as part of TRY_QUEUE_VERB() + * + * returns TRUE if the queuing was successful, FALSE otherwise. + */ +/datum/controller/subsystem/verb_manager/proc/queue_verb(datum/callback/verb_callback/incoming_callback) + . = FALSE //errored + if(message_admins_on_queue) + message_admins("[name] verb queuing: tick usage: [TICK_USAGE]%, proc: [incoming_callback.delegate], object: [incoming_callback.object], usr: [usr]") + verb_queue += incoming_callback + return TRUE + +/datum/controller/subsystem/verb_manager/fire(resumed) + run_verb_queue() + +/// runs through all of this subsystems queue of verb callbacks. +/// goes through the entire verb queue without yielding. +/// used so you can flush the queue outside of fire() without interfering with anything else subtype subsystems might do in fire(). +/datum/controller/subsystem/verb_manager/proc/run_verb_queue() + var/executed_verbs = 0 + + for(var/datum/callback/verb_callback/verb_callback as anything in verb_queue) + if(!istype(verb_callback)) + stack_trace("non /datum/callback/verb_callback inside [name]'s verb_queue!") + continue + + verb_callback.InvokeAsync() + executed_verbs++ + + verb_queue.Cut() + verbs_executed_per_second = MC_AVG_SECONDS(verbs_executed_per_second, executed_verbs, wait SECONDS) + //note that wait SECONDS is incorrect if this is called outside of fire() but because byond is garbage i need to add a timer to rustg to find a valid solution + +/datum/controller/subsystem/verb_manager/stat_entry(msg) + . = ..() + if(use_default_stats) + . += "V/S: [round(verbs_executed_per_second, 0.01)]" diff --git a/code/controllers/subsystems/vote.dm b/code/controllers/subsystems/vote.dm index 41b440b410e..834af1769e6 100644 --- a/code/controllers/subsystems/vote.dm +++ b/code/controllers/subsystems/vote.dm @@ -1,3 +1,4 @@ +/* SUBSYSTEM_DEF(vote) name = "Vote" wait = 10 @@ -24,7 +25,7 @@ SUBSYSTEM_DEF(vote) if(mode) time_remaining = round((started_time + duration - world.time)/10) if(mode == VOTE_GAMEMODE && ticker.current_state >= GAME_STATE_SETTING_UP) - to_chat(world, "Gamemode vote aborted: Game has already started.") + to_chat(world, span_bold("Gamemode vote aborted: Game has already started.")) reset() return if(time_remaining <= 0) @@ -104,7 +105,7 @@ SUBSYSTEM_DEF(vote) else factor = 1.4 choices["Initiate Crew Transfer"] = round(choices["Initiate Crew Transfer"] * factor) - to_world(span_purple("Crew Transfer Factor: [factor]")) + to_world(span_filter_system(span_purple("Crew Transfer Factor: [factor]"))) greatest_votes = max(choices["Initiate Crew Transfer"], choices["Extend the Shift"]) //VOREStation Edit . = list() // Get all options with that many votes and return them in a list @@ -119,7 +120,7 @@ SUBSYSTEM_DEF(vote) if(winners.len > 0) if(winners.len > 1) if(mode != VOTE_GAMEMODE || ticker.hide_mode == 0) // Here we are making sure we don't announce potential game modes - text = "Vote Tied Between:\n" + text = span_bold("Vote Tied Between:") + "\n" for(var/option in winners) text += "\t[option]\n" . = pick(winners) @@ -128,12 +129,12 @@ SUBSYSTEM_DEF(vote) if(choices[current_votes[key]] == .) round_voters += key // Keep track of who voted for the winning round. if(mode != VOTE_GAMEMODE || . == "Extended" || ticker.hide_mode == 0) // Announce Extended gamemode, but not other gamemodes - text += "Vote Result: [mode == VOTE_GAMEMODE ? gamemode_names[.] : .]" + text += span_bold("Vote Result: [mode == VOTE_GAMEMODE ? gamemode_names[.] : .]") else - text += "The vote has ended." + text += span_bold("The vote has ended.") else - text += "Vote Result: Inconclusive - No Votes!" + text += span_bold("Vote Result: Inconclusive - No Votes!") if(mode == VOTE_ADD_ANTAGONIST) antag_add_failed = 1 log_vote(text) @@ -166,10 +167,10 @@ SUBSYSTEM_DEF(vote) if(mode == VOTE_GAMEMODE) //fire this even if the vote fails. if(!round_progressing) round_progressing = 1 - to_world(span_red("The round will start soon.")) + to_world(span_boldannounce("The round will start soon.")) if(restart) - to_world("World restarting due to vote...") + to_world(span_filter_system("World restarting due to vote...")) feedback_set_details("end_error", "restart vote") if(blackbox) blackbox.save_all_data_to_sql() @@ -252,7 +253,7 @@ SUBSYSTEM_DEF(vote) log_vote(text) - to_world(span_purple("[text]\nType vote or click here to place your votes.\nYou have [config.vote_period / 10] seconds to vote.")) + to_world(span_filter_system(span_purple(span_bold("[text]") + "\nType " + span_bold("vote") + " or click here to place your votes.\nYou have [config.vote_period / 10] seconds to vote."))) if(vote_type == VOTE_CREW_TRANSFER || vote_type == VOTE_GAMEMODE || vote_type == VOTE_CUSTOM) world << sound('sound/misc/notice1.ogg', repeat = 0, wait = 0, volume = 50, channel = 3) //YW Edit @@ -260,7 +261,7 @@ SUBSYSTEM_DEF(vote) if(mode == VOTE_GAMEMODE && round_progressing) gamemode_vote_called = TRUE round_progressing = 0 - to_world(span_red("Round start has been delayed.")) + to_world(span_boldannounce("Round start has been delayed.")) time_remaining = round(config.vote_period / 10) return 1 @@ -368,7 +369,7 @@ SUBSYSTEM_DEF(vote) if(tgui_alert(usr, "Are you sure you want to start a RESTART VOTE? You should only do this if the server is dying and no staff are around to investigate.", "RESTART VOTE", list("No", "Yes I want to start a RESTART VOTE")) == "Yes I want to start a RESTART VOTE") initiate_vote(VOTE_RESTART, usr.key) else - to_chat(usr, "You can't start a RESTART VOTE while there are staff around. If you are having an issue with the round, please ahelp it.") + to_chat(usr, span_warning("You can't start a RESTART VOTE while there are staff around. If you are having an issue with the round, please ahelp it.")) if(VOTE_GAMEMODE) if(config.allow_vote_mode || usr.client.holder) initiate_vote(VOTE_GAMEMODE, usr.key) @@ -392,8 +393,9 @@ SUBSYSTEM_DEF(vote) usr.client.vote() /client/verb/vote() - set category = "OOC" + set category = "OOC.Game" set name = "Vote" if(SSvote) src << browse(SSvote.interface(src), "window=vote;size=500x[300 + SSvote.choices.len * 25]") +*/ diff --git a/code/controllers/subsystems/webhooks.dm b/code/controllers/subsystems/webhooks.dm index 1e7a27924ff..d9b75805af9 100644 --- a/code/controllers/subsystems/webhooks.dm +++ b/code/controllers/subsystems/webhooks.dm @@ -64,7 +64,7 @@ SUBSYSTEM_DEF(webhooks) return if(!SSwebhooks.subsystem_initialized) - to_chat(usr, SPAN_WARNING("Let the webhook subsystem initialize before trying to reload it.")) + to_chat(usr, span_warning("Let the webhook subsystem initialize before trying to reload it.")) return to_world_log("[usr.key] has reloaded webhooks.") @@ -79,7 +79,7 @@ SUBSYSTEM_DEF(webhooks) return if(!length(SSwebhooks.webhook_decls)) - to_chat(usr, SPAN_WARNING("Webhook list is empty; either webhooks are disabled, webhooks aren't configured, or the subsystem hasn't initialized.")) + to_chat(usr, span_warning("Webhook list is empty; either webhooks are disabled, webhooks aren't configured, or the subsystem hasn't initialized.")) return var/choice = tgui_input_list(usr, "Select a webhook to ping.", "Ping Webhook", SSwebhooks.webhook_decls) diff --git a/code/controllers/verbs.dm b/code/controllers/verbs.dm index fee7da9b853..165748c64b1 100644 --- a/code/controllers/verbs.dm +++ b/code/controllers/verbs.dm @@ -38,7 +38,7 @@ // Debug verbs. /client/proc/restart_controller(controller in list("Master", "Failsafe")) - set category = "Debug" + set category = "Debug.Dangerous" set name = "Restart Controller" set desc = "Restart one of the various periodic loop controllers for the game (be careful!)" @@ -55,7 +55,7 @@ message_admins("Admin [key_name_admin(usr)] has restarted the [controller] controller.") /client/proc/debug_antagonist_template(antag_type in all_antag_types) - set category = "Debug" + set category = "Debug.Investigate" set name = "Debug Antagonist" set desc = "Debug an antagonist template." @@ -65,7 +65,7 @@ message_admins("Admin [key_name_admin(usr)] is debugging the [antag.role_text] template.") /client/proc/debug_controller() - set category = "Debug" + set category = "Debug.Investigate" set name = "Debug Controller" set desc = "Debug the various subsystems/controllers for the game (be careful!)" @@ -89,7 +89,6 @@ //Goon PS stuff, and other yet-to-be-subsystem things. options["LEGACY: master_controller"] = master_controller - options["LEGACY: air_master"] = air_master options["LEGACY: job_master"] = job_master options["LEGACY: radio_controller"] = radio_controller options["LEGACY: emergency_shuttle"] = emergency_shuttle diff --git a/code/datums/ai_law_sets.dm b/code/datums/ai_law_sets.dm index 86823245527..38d99905dc5 100644 --- a/code/datums/ai_law_sets.dm +++ b/code/datums/ai_law_sets.dm @@ -27,7 +27,7 @@ selectable = 0 /datum/ai_laws/nanotrasen/malfunction/New() - set_zeroth_law(config.law_zero) + set_zeroth_law(CONFIG_GET(string/law_zero)) ..() /************* NanoTrasen Aggressive *************/ diff --git a/code/datums/ai_laws.dm b/code/datums/ai_laws.dm index fb152cefa8c..69bfa4773cb 100644 --- a/code/datums/ai_laws.dm +++ b/code/datums/ai_laws.dm @@ -1,4 +1,4 @@ -var/global/const/base_law_type = /datum/ai_laws/nanotrasen +// var/global/const/base_law_type = /datum/ai_laws/nanotrasen //VOREstation edit: unused /datum/ai_law var/law = "" @@ -227,9 +227,9 @@ var/global/const/base_law_type = /datum/ai_laws/nanotrasen if(law == zeroth_law_borg) continue if(law == zeroth_law) - to_chat(who, "[law.get_index()]. [law.law]") + to_chat(who, span_info(span_red("[law.get_index()]. [law.law]"))) else - to_chat(who, "[law.get_index()]. [law.law]") + to_chat(who, span_infoplain("[law.get_index()]. [law.law]")) /******************** * Stating Laws * diff --git a/code/datums/autolathe/arms.dm b/code/datums/autolathe/arms.dm index 990b87b52d1..41caf5a74d9 100644 --- a/code/datums/autolathe/arms.dm +++ b/code/datums/autolathe/arms.dm @@ -1,6 +1,6 @@ /datum/category_item/autolathe/arms/syringegun_ammo name = "syringe gun cartridge" - path =/obj/item/weapon/syringe_cartridge + path =/obj/item/syringe_cartridge //////////////// /*Ammo casings*/ @@ -443,15 +443,15 @@ /datum/category_item/autolathe/arms/knuckledusters name = "knuckle dusters" - path =/obj/item/clothing/gloves/knuckledusters + path =/obj/item/clothing/accessory/knuckledusters hidden = 1 /datum/category_item/autolathe/arms/tacknife name = "tactical knife" - path =/obj/item/weapon/material/knife/tacknife + path =/obj/item/material/knife/tacknife hidden = 1 /datum/category_item/autolathe/arms/flamethrower name = "flamethrower" - path =/obj/item/weapon/flamethrower/full + path =/obj/item/flamethrower/full hidden = 1 diff --git a/code/datums/autolathe/devices.dm b/code/datums/autolathe/devices.dm index 1196df53425..437ba75f298 100644 --- a/code/datums/autolathe/devices.dm +++ b/code/datums/autolathe/devices.dm @@ -1,38 +1,38 @@ /datum/category_item/autolathe/devices/consolescreen name = "console screen" - path =/obj/item/weapon/stock_parts/console_screen + path =/obj/item/stock_parts/console_screen /datum/category_item/autolathe/devices/igniter name = "igniter" - path =/obj/item/device/assembly/igniter + path =/obj/item/assembly/igniter /datum/category_item/autolathe/devices/signaler name = "signaler" - path =/obj/item/device/assembly/signaler + path =/obj/item/assembly/signaler /datum/category_item/autolathe/devices/sensor_infra name = "infrared sensor" - path =/obj/item/device/assembly/infra + path =/obj/item/assembly/infra /datum/category_item/autolathe/devices/timer name = "timer" - path =/obj/item/device/assembly/timer + path =/obj/item/assembly/timer /datum/category_item/autolathe/devices/sensor_prox name = "proximity sensor" - path =/obj/item/device/assembly/prox_sensor + path =/obj/item/assembly/prox_sensor /datum/category_item/autolathe/devices/beartrap name = "mechanical trap" - path =/obj/item/weapon/beartrap + path =/obj/item/beartrap /datum/category_item/autolathe/devices/barbedwire name = "barbed wire" - path = /obj/item/weapon/material/barbedwire + path = /obj/item/material/barbedwire hidden = 1 resources = list(MAT_STEEL = 10000) /datum/category_item/autolathe/devices/electropack name = "electropack" - path =/obj/item/device/radio/electropack + path =/obj/item/radio/electropack hidden = 1 diff --git a/code/datums/autolathe/devices_vr.dm b/code/datums/autolathe/devices_vr.dm index 65af7b630cc..658382a0910 100644 --- a/code/datums/autolathe/devices_vr.dm +++ b/code/datums/autolathe/devices_vr.dm @@ -1,3 +1,3 @@ /datum/category_item/autolathe/devices/sleevecard name = "sleevecard" - path =/obj/item/device/paicard/sleevecard + path =/obj/item/paicard/sleevecard diff --git a/code/datums/autolathe/engineering.dm b/code/datums/autolathe/engineering.dm index 87dbe9d5745..f7520a1db7b 100644 --- a/code/datums/autolathe/engineering.dm +++ b/code/datums/autolathe/engineering.dm @@ -1,119 +1,118 @@ /datum/category_item/autolathe/engineering/airlockmodule name = "airlock electronics" - path =/obj/item/weapon/airlock_electronics + path =/obj/item/airlock_electronics /datum/category_item/autolathe/engineering/airalarm name = "air alarm electronics" - path =/obj/item/weapon/circuitboard/airalarm + path =/obj/item/circuitboard/airalarm /datum/category_item/autolathe/engineering/firealarm name = "fire alarm electronics" - path =/obj/item/weapon/circuitboard/firealarm + path =/obj/item/circuitboard/firealarm /datum/category_item/autolathe/engineering/powermodule name = "power control module" - path =/obj/item/weapon/module/power_control + path =/obj/item/module/power_control /datum/category_item/autolathe/engineering/statusdisplay name = "status display electronics" - path =/obj/item/weapon/circuitboard/status_display + path =/obj/item/circuitboard/status_display /datum/category_item/autolathe/engineering/aistatusdisplay name = "ai status display electronics" - path =/obj/item/weapon/circuitboard/ai_status_display + path =/obj/item/circuitboard/ai_status_display /datum/category_item/autolathe/engineering/newscaster name = "newscaster electronics" - path =/obj/item/weapon/circuitboard/newscaster + path =/obj/item/circuitboard/newscaster /datum/category_item/autolathe/engineering/atm name = "atm electronics" - path =/obj/item/weapon/circuitboard/atm + path =/obj/item/circuitboard/atm /datum/category_item/autolathe/engineering/intercom name = "intercom electronics" - path =/obj/item/weapon/circuitboard/intercom + path =/obj/item/circuitboard/intercom /datum/category_item/autolathe/engineering/holopad name = "holopad electronics" - path =/obj/item/weapon/circuitboard/holopad + path =/obj/item/circuitboard/holopad /datum/category_item/autolathe/engineering/guestpass name = "guestpass console electronics" - path =/obj/item/weapon/circuitboard/guestpass + path =/obj/item/circuitboard/guestpass /datum/category_item/autolathe/engineering/entertainment name = "entertainment camera electronics" - path =/obj/item/weapon/circuitboard/security/telescreen/entertainment + path =/obj/item/circuitboard/security/telescreen/entertainment /datum/category_item/autolathe/engineering/keycard name = "keycard authenticator electronics" - path =/obj/item/weapon/circuitboard/keycard_auth + path =/obj/item/circuitboard/keycard_auth /datum/category_item/autolathe/engineering/geiger_wall name = "wall-mounted geiger counter electronics" - path =/obj/item/weapon/circuitboard/geiger + path =/obj/item/circuitboard/geiger /datum/category_item/autolathe/engineering/photocopier name = "photocopier electronics" - path =/obj/item/weapon/circuitboard/photocopier + path =/obj/item/circuitboard/photocopier /datum/category_item/autolathe/engineering/fax name = "fax machine electronics" - path =/obj/item/weapon/circuitboard/fax + path =/obj/item/circuitboard/fax /datum/category_item/autolathe/engineering/papershredder name = "paper shredder electronics" - path =/obj/item/weapon/circuitboard/papershredder + path =/obj/item/circuitboard/papershredder /datum/category_item/autolathe/engineering/microwave name = "microwave electronics" - path =/obj/item/weapon/circuitboard/microwave + path =/obj/item/circuitboard/microwave /datum/category_item/autolathe/engineering/washing name = "washing machine electronics" - path =/obj/item/weapon/circuitboard/washing + path =/obj/item/circuitboard/washing /datum/category_item/autolathe/engineering/request name = "request console electronics" - path =/obj/item/weapon/circuitboard/request + path =/obj/item/circuitboard/request /datum/category_item/autolathe/engineering/electrochromic name = "electrochromic window control electronics" - path =/obj/item/weapon/circuitboard/electrochromic + path =/obj/item/circuitboard/electrochromic /datum/category_item/autolathe/engineering/pipelayer name = "pipe layer electronics" - path =/obj/item/weapon/circuitboard/pipelayer + path =/obj/item/circuitboard/pipelayer /datum/category_item/autolathe/engineering/motor name = "motor" - path =/obj/item/weapon/stock_parts/motor + path =/obj/item/stock_parts/motor /datum/category_item/autolathe/engineering/gear name = "gear" - path =/obj/item/weapon/stock_parts/gear + path =/obj/item/stock_parts/gear /datum/category_item/autolathe/engineering/spring name = "spring" - path =/obj/item/weapon/stock_parts/spring + path =/obj/item/stock_parts/spring /datum/category_item/autolathe/engineering/rcd_ammo name = "matter cartridge" - path =/obj/item/weapon/rcd_ammo + path =/obj/item/rcd_ammo no_scale = TRUE //prevents material duplication exploits /datum/category_item/autolathe/engineering/rcd name = "rapid construction device" - path =/obj/item/weapon/rcd + path =/obj/item/rcd /datum/category_item/autolathe/engineering/camera_assembly name = "camera assembly" - path =/obj/item/weapon/camera_assembly + path =/obj/item/camera_assembly //YW Addition Start /datum/category_item/autolathe/engineering/rpd name = "rapid piping device" - path =/obj/item/weapon/pipe_dispenser -//YW Addtion End - + path =/obj/item/pipe_dispenser +//YW Addtion End diff --git a/code/datums/autolathe/engineering_vr.dm b/code/datums/autolathe/engineering_vr.dm index 577d9febd2c..0b3fe19dc32 100644 --- a/code/datums/autolathe/engineering_vr.dm +++ b/code/datums/autolathe/engineering_vr.dm @@ -1,75 +1,75 @@ /datum/category_item/autolathe/engineering/timeclock name = "timeclock electronics" - path =/obj/item/weapon/circuitboard/timeclock + path =/obj/item/circuitboard/timeclock /datum/category_item/autolathe/engineering/id_restorer name = "ID restoration console electronics" - path =/obj/item/weapon/circuitboard/id_restorer + path =/obj/item/circuitboard/id_restorer /datum/category_item/autolathe/engineering/oven name = "oven electronics" - path =/obj/item/weapon/circuitboard/oven + path =/obj/item/circuitboard/oven /datum/category_item/autolathe/engineering/fryer name = "fryer electronics" - path =/obj/item/weapon/circuitboard/fryer + path =/obj/item/circuitboard/fryer /datum/category_item/autolathe/engineering/grill name = "grill electronics" - path =/obj/item/weapon/circuitboard/grill + path =/obj/item/circuitboard/grill /datum/category_item/autolathe/engineering/cerealmaker name = "cereal maker electronics" - path =/obj/item/weapon/circuitboard/cerealmaker + path =/obj/item/circuitboard/cerealmaker /datum/category_item/autolathe/engineering/candymachine name = "candy machine electronics" - path =/obj/item/weapon/circuitboard/candymachine + path =/obj/item/circuitboard/candymachine /datum/category_item/autolathe/engineering/battle_arcade name = "battle arcade machine electronics" - path =/obj/item/weapon/circuitboard/arcade/battle + path =/obj/item/circuitboard/arcade/battle /datum/category_item/autolathe/engineering/orion_trail name = "orion trail aracade machine electronics" - path =/obj/item/weapon/circuitboard/arcade/orion_trail + path =/obj/item/circuitboard/arcade/orion_trail /datum/category_item/autolathe/engineering/clawmachine name = "claw machine electronics" - path =/obj/item/weapon/circuitboard/arcade/clawmachine + path =/obj/item/circuitboard/arcade/clawmachine /datum/category_item/autolathe/engineering/jukebox name = "jukebox electronics" - path =/obj/item/weapon/circuitboard/jukebox + path =/obj/item/circuitboard/jukebox /datum/category_item/autolathe/engineering/mech_recharger name = "mech recharging station electronics" - path =/obj/item/weapon/circuitboard/mech_recharger + path =/obj/item/circuitboard/mech_recharger /datum/category_item/autolathe/engineering/recharge_station name = "cyborg recharging station electronics" - path =/obj/item/weapon/circuitboard/recharge_station + path =/obj/item/circuitboard/recharge_station /datum/category_item/autolathe/engineering/batteryrack name = "battery rack electronics" - path =/obj/item/weapon/circuitboard/batteryrack + path =/obj/item/circuitboard/batteryrack /datum/category_item/autolathe/engineering/grid_checker name = "grid checker electronics" - path =/obj/item/weapon/circuitboard/grid_checker + path =/obj/item/circuitboard/grid_checker /datum/category_item/autolathe/engineering/breakerbox name = "breaker box electronics" - path =/obj/item/weapon/circuitboard/breakerbox + path =/obj/item/circuitboard/breakerbox /datum/category_item/autolathe/engineering/gas_heater name = "gas heater electronics" - path =/obj/item/weapon/circuitboard/unary_atmos/heater + path =/obj/item/circuitboard/unary_atmos/heater /datum/category_item/autolathe/engineering/gas_cooler name = "gas cooler electronics" - path =/obj/item/weapon/circuitboard/unary_atmos/cooler + path =/obj/item/circuitboard/unary_atmos/cooler /datum/category_item/autolathe/engineering/arf_generator name = "atmospheric field generator electronics" - path =/obj/item/weapon/circuitboard/arf_generator \ No newline at end of file + path =/obj/item/circuitboard/arf_generator \ No newline at end of file diff --git a/code/datums/autolathe/general.dm b/code/datums/autolathe/general.dm index d664e9fa197..610a27bc980 100644 --- a/code/datums/autolathe/general.dm +++ b/code/datums/autolathe/general.dm @@ -1,57 +1,57 @@ /datum/category_item/autolathe/general/bucket name = "bucket" - path =/obj/item/weapon/reagent_containers/glass/bucket + path =/obj/item/reagent_containers/glass/bucket /datum/category_item/autolathe/general/cooler_bottle name = "water-cooler bottle" - path =/obj/item/weapon/reagent_containers/glass/cooler_bottle + path =/obj/item/reagent_containers/glass/cooler_bottle /datum/category_item/autolathe/general/drinkingglass is_stack = TRUE /datum/category_item/autolathe/general/drinkingglass/square name = "half-pint glass" - path =/obj/item/weapon/reagent_containers/food/drinks/glass2/square + path =/obj/item/reagent_containers/food/drinks/glass2/square /datum/category_item/autolathe/general/drinkingglass/rocks name = "rocks glass" - path =/obj/item/weapon/reagent_containers/food/drinks/glass2/rocks + path =/obj/item/reagent_containers/food/drinks/glass2/rocks /datum/category_item/autolathe/general/drinkingglass/shake name = "milkshake glass" - path =/obj/item/weapon/reagent_containers/food/drinks/glass2/shake + path =/obj/item/reagent_containers/food/drinks/glass2/shake /datum/category_item/autolathe/general/drinkingglass/cocktail name = "cocktail glass" - path =/obj/item/weapon/reagent_containers/food/drinks/glass2/cocktail + path =/obj/item/reagent_containers/food/drinks/glass2/cocktail /datum/category_item/autolathe/general/drinkingglass/shot name = "shot glass" - path =/obj/item/weapon/reagent_containers/food/drinks/glass2/shot + path =/obj/item/reagent_containers/food/drinks/glass2/shot /datum/category_item/autolathe/general/drinkingglass/pint name = "pint glass" - path =/obj/item/weapon/reagent_containers/food/drinks/glass2/pint + path =/obj/item/reagent_containers/food/drinks/glass2/pint /datum/category_item/autolathe/general/drinkingglass/mug name = "glass mug" - path =/obj/item/weapon/reagent_containers/food/drinks/glass2/mug + path =/obj/item/reagent_containers/food/drinks/glass2/mug /datum/category_item/autolathe/general/drinkingglass/wine name = "wine glass" - path =/obj/item/weapon/reagent_containers/food/drinks/glass2/wine + path =/obj/item/reagent_containers/food/drinks/glass2/wine /datum/category_item/autolathe/general/drinkingglass/metaglass name = "metamorphic glass" - path =/obj/item/weapon/reagent_containers/food/drinks/metaglass + path =/obj/item/reagent_containers/food/drinks/metaglass /datum/category_item/autolathe/general/drinkingglass/metaglass/metapint name = "metamorphic pint glass" - path =/obj/item/weapon/reagent_containers/food/drinks/metaglass/metapint + path =/obj/item/reagent_containers/food/drinks/metaglass/metapint /datum/category_item/autolathe/general/flashlight name = "flashlight" - path =/obj/item/device/flashlight + path =/obj/item/flashlight /datum/category_item/autolathe/general/floor_light name = "floor light" @@ -59,7 +59,7 @@ /datum/category_item/autolathe/general/extinguisher name = "extinguisher" - path =/obj/item/weapon/extinguisher + path =/obj/item/extinguisher /datum/category_item/autolathe/general/jar name = "jar" @@ -71,15 +71,15 @@ /datum/category_item/autolathe/general/radio_headset name = "radio headset" - path =/obj/item/device/radio/headset + path =/obj/item/radio/headset /datum/category_item/autolathe/general/radio_bounced name = "station bounced radio" - path =/obj/item/device/radio/off + path =/obj/item/radio/off /datum/category_item/autolathe/general/suit_cooler name = "suit cooling unit" - path =/obj/item/device/suit_cooling_unit + path =/obj/item/suit_cooling_unit /datum/category_item/autolathe/general/weldermask name = "welding mask" @@ -87,29 +87,29 @@ /datum/category_item/autolathe/general/spraybottle name = "spray bottle" - path = /obj/item/weapon/reagent_containers/spray + path = /obj/item/reagent_containers/spray /datum/category_item/autolathe/general/knife name = "kitchen knife" - path =/obj/item/weapon/material/knife + path =/obj/item/material/knife /datum/category_item/autolathe/general/taperecorder name = "tape recorder" - path =/obj/item/device/taperecorder + path =/obj/item/taperecorder /datum/category_item/autolathe/general/tube name = "light tube" - path =/obj/item/weapon/light/tube + path =/obj/item/light/tube is_stack = TRUE /datum/category_item/autolathe/general/bulb name = "light bulb" - path =/obj/item/weapon/light/bulb + path =/obj/item/light/bulb is_stack = TRUE /datum/category_item/autolathe/general/ashtray_glass name = "glass ashtray" - path =/obj/item/weapon/material/ashtray/glass + path =/obj/item/material/ashtray/glass /datum/category_item/autolathe/general/weldinggoggles name = "welding goggles" @@ -117,20 +117,20 @@ /datum/category_item/autolathe/general/maglight name = "maglight" - path =/obj/item/device/flashlight/maglight + path =/obj/item/flashlight/maglight /datum/category_item/autolathe/general/idcard name = "ID Card" - path = /obj/item/weapon/card/id + path = /obj/item/card/id resources = list(MAT_STEEL = 100, MAT_GLASS = 100, MAT_PLASTIC = 300) man_rating = 2 /datum/category_item/autolathe/general/handcuffs name = "handcuffs" - path =/obj/item/weapon/handcuffs + path =/obj/item/handcuffs hidden = 1 /datum/category_item/autolathe/general/legcuffs name = "legcuffs" - path =/obj/item/weapon/handcuffs/legcuffs + path =/obj/item/handcuffs/legcuffs hidden = 1 diff --git a/code/datums/autolathe/general_vr.dm b/code/datums/autolathe/general_vr.dm index 5702a7ed499..1b47ae4d56d 100644 --- a/code/datums/autolathe/general_vr.dm +++ b/code/datums/autolathe/general_vr.dm @@ -4,9 +4,9 @@ /datum/category_item/autolathe/general/drinkingglass/carafe name = "glass carafe" - path =/obj/item/weapon/reagent_containers/food/drinks/glass2/carafe + path =/obj/item/reagent_containers/food/drinks/glass2/carafe /datum/category_item/autolathe/general/drinkingglass/pitcher name = "plastic pitcher" - path =/obj/item/weapon/reagent_containers/food/drinks/glass2/pitcher + path =/obj/item/reagent_containers/food/drinks/glass2/pitcher \ No newline at end of file diff --git a/code/datums/autolathe/medical.dm b/code/datums/autolathe/medical.dm index c1247db8719..6e457bf4485 100644 --- a/code/datums/autolathe/medical.dm +++ b/code/datums/autolathe/medical.dm @@ -1,43 +1,43 @@ /datum/category_item/autolathe/medical/scalpel name = "scalpel" - path =/obj/item/weapon/surgical/scalpel + path =/obj/item/surgical/scalpel /datum/category_item/autolathe/medical/circularsaw name = "circular saw" - path =/obj/item/weapon/surgical/circular_saw + path =/obj/item/surgical/circular_saw /datum/category_item/autolathe/medical/surgicaldrill name = "surgical drill" - path =/obj/item/weapon/surgical/surgicaldrill + path =/obj/item/surgical/surgicaldrill /datum/category_item/autolathe/medical/retractor name = "retractor" - path =/obj/item/weapon/surgical/retractor + path =/obj/item/surgical/retractor /datum/category_item/autolathe/medical/cautery name = "cautery" - path =/obj/item/weapon/surgical/cautery + path =/obj/item/surgical/cautery /datum/category_item/autolathe/medical/hemostat name = "hemostat" - path =/obj/item/weapon/surgical/hemostat + path =/obj/item/surgical/hemostat /datum/category_item/autolathe/medical/beaker name = "glass beaker" - path =/obj/item/weapon/reagent_containers/glass/beaker + path =/obj/item/reagent_containers/glass/beaker /datum/category_item/autolathe/medical/beaker_large name = "large glass beaker" - path =/obj/item/weapon/reagent_containers/glass/beaker/large + path =/obj/item/reagent_containers/glass/beaker/large /datum/category_item/autolathe/medical/vial name = "glass vial" - path =/obj/item/weapon/reagent_containers/glass/beaker/vial + path =/obj/item/reagent_containers/glass/beaker/vial /datum/category_item/autolathe/medical/syringe name = "syringe" - path =/obj/item/weapon/reagent_containers/syringe + path =/obj/item/reagent_containers/syringe /datum/category_item/autolathe/medical/implanter name = "implanter" - path =/obj/item/weapon/implanter + path =/obj/item/implanter diff --git a/code/datums/autolathe/medical_vr.dm b/code/datums/autolathe/medical_vr.dm index bfaeb3a63b6..0831ed9b78b 100644 --- a/code/datums/autolathe/medical_vr.dm +++ b/code/datums/autolathe/medical_vr.dm @@ -1,9 +1,9 @@ /datum/category_item/autolathe/medical/autoinjector name = "empty autoinjector" - path =/obj/item/weapon/reagent_containers/hypospray/autoinjector/empty + path =/obj/item/reagent_containers/hypospray/autoinjector/empty resources = list(MAT_PLASTIC = 10) //for recycling purposes mostly /datum/category_item/autolathe/medical/autoinjector/biginjector name = "empty large autoinjector" - path =/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/empty + path =/obj/item/reagent_containers/hypospray/autoinjector/biginjector/empty resources = list(MAT_PLASTIC = 500) \ No newline at end of file diff --git a/code/datums/autolathe/tools.dm b/code/datums/autolathe/tools.dm index e62232540f0..698cbe1001f 100644 --- a/code/datums/autolathe/tools.dm +++ b/code/datums/autolathe/tools.dm @@ -1,65 +1,65 @@ /datum/category_item/autolathe/tools/crowbar name = "crowbar" - path =/obj/item/weapon/tool/crowbar + path =/obj/item/tool/crowbar /datum/category_item/autolathe/tools/multitool name = "multitool" - path =/obj/item/device/multitool + path =/obj/item/multitool /datum/category_item/autolathe/tools/t_scanner name = "T-ray scanner" - path =/obj/item/device/t_scanner + path =/obj/item/t_scanner /datum/category_item/autolathe/tools/weldertool name = "welding tool" - path =/obj/item/weapon/weldingtool + path =/obj/item/weldingtool /datum/category_item/autolathe/tools/electric_welder name = "electric welding tool" - path =/obj/item/weapon/weldingtool/electric/unloaded + path =/obj/item/weldingtool/electric/unloaded hidden = 1 /datum/category_item/autolathe/tools/screwdriver name = "screwdriver" - path =/obj/item/weapon/tool/screwdriver + path =/obj/item/tool/screwdriver /datum/category_item/autolathe/tools/wirecutters name = "wirecutters" - path =/obj/item/weapon/tool/wirecutters + path =/obj/item/tool/wirecutters /datum/category_item/autolathe/tools/wrench name = "wrench" - path =/obj/item/weapon/tool/wrench + path =/obj/item/tool/wrench /datum/category_item/autolathe/tools/hatchet name = "hatchet" - path =/obj/item/weapon/material/knife/machete/hatchet + path =/obj/item/material/knife/machete/hatchet /datum/category_item/autolathe/tools/minihoe name = "mini hoe" - path =/obj/item/weapon/material/minihoe + path =/obj/item/material/minihoe /datum/category_item/autolathe/tools/welder_industrial name = "industrial welding tool" - path =/obj/item/weapon/weldingtool/largetank + path =/obj/item/weldingtool/largetank /datum/category_item/autolathe/tools/spraybottle name = "spray bottle" - path = /obj/item/weapon/reagent_containers/spray + path = /obj/item/reagent_containers/spray resources = list(MAT_PLASTIC = 2000) /datum/category_item/autolathe/devices/slowwire name = "snare wire" - path = /obj/item/weapon/material/barbedwire/plastic + path = /obj/item/material/barbedwire/plastic resources = list(MAT_PLASTIC = 10000) /datum/category_item/autolathe/tools/spraynozzle name = "spray nozzle" - path = /obj/item/weapon/reagent_containers/spray + path = /obj/item/reagent_containers/spray resources = list(MAT_PLASTIC = 5000, MAT_STEEL = 2000) hidden = 1 man_rating = 2 /datum/category_item/autolathe/tools/rsf name = "rapid service fabricator" - path = /obj/item/weapon/rsf + path = /obj/item/rsf diff --git a/code/datums/autolathe/tools_vr.dm b/code/datums/autolathe/tools_vr.dm index c89d768f0b1..900bcd9095f 100644 --- a/code/datums/autolathe/tools_vr.dm +++ b/code/datums/autolathe/tools_vr.dm @@ -1,3 +1,3 @@ /datum/category_item/autolathe/tools/prybar name = "prybar" - path =/obj/item/weapon/tool/prybar + path =/obj/item/tool/prybar diff --git a/code/datums/autolathe/tools_yw.dm b/code/datums/autolathe/tools_yw.dm index 5ea8ef1c7a2..0c921bfe202 100644 --- a/code/datums/autolathe/tools_yw.dm +++ b/code/datums/autolathe/tools_yw.dm @@ -1,7 +1,7 @@ /datum/category_item/autolathe/tools/ice_pick name = "ice pick" - path =/obj/item/weapon/ice_pick + path =/obj/item/ice_pick /datum/category_item/autolathe/tools/shovel name = "shovel" - path =/obj/item/weapon/shovel \ No newline at end of file + path =/obj/item/shovel diff --git a/code/datums/browser.dm b/code/datums/browser.dm index e38b78ab4d4..1c6cdaf4704 100644 --- a/code/datums/browser.dm +++ b/code/datums/browser.dm @@ -27,7 +27,7 @@ if (nref) ref = nref // If a client exists, but they have disabled fancy windowing, disable it! - if(user && user.client && !user.client.is_preference_enabled(/datum/client_preference/browser_style)) + if(!user?.client?.prefs?.read_preference(/datum/preference/toggle/browser_style)) return add_stylesheet("common", 'html/browser/common.css') // this CSS sheet is common to all UIs @@ -113,7 +113,7 @@ /datum/browser/proc/open(var/use_onclose = 1) if(isnull(window_id)) //null check because this can potentially nuke goonchat WARNING("Browser [title] tried to open with a null ID") - to_chat(user, "The [title] browser you tried to open failed a sanity check! Please report this on github!") + to_chat(user, span_userdanger("The [title] browser you tried to open failed a sanity check! Please report this on github!")) return var/window_size = "" if (width && height) diff --git a/code/datums/chat_message.dm b/code/datums/chat_message.dm index 3a95ba1db59..f216ae01cf5 100644 --- a/code/datums/chat_message.dm +++ b/code/datums/chat_message.dm @@ -51,8 +51,6 @@ var/list/runechat_image_cache = list() /// If we are currently processing animation and cleanup at EOL var/ending_life - /// deletion timer - var/timer_delete /** * Constructs a chat message overlay @@ -75,9 +73,6 @@ var/list/runechat_image_cache = list() generate_image(text, target, owner, extra_classes, lifespan) /datum/chatmessage/Destroy() - if(timer_delete) - deltimer(timer_delete) - timer_delete = null if(istype(owned_by, /client)) // hopefully the PARENT_QDELETING on client should beat this if it's a disconnect UnregisterSignal(owned_by, COMSIG_PARENT_QDELETING) if(owned_by.seen_messages) @@ -109,7 +104,7 @@ var/list/runechat_image_cache = list() owned_by = owner.client RegisterSignal(owned_by, COMSIG_PARENT_QDELETING, PROC_REF(unregister_qdel_self)) // this should only call owned_by if the client is destroyed - var/extra_length = owned_by.is_preference_enabled(/datum/client_preference/runechat_long_messages) + var/extra_length = owned_by.prefs?.read_preference(/datum/preference/toggle/runechat_long_messages) var/maxlen = extra_length ? CHAT_MESSAGE_EXT_LENGTH : CHAT_MESSAGE_LENGTH var/msgwidth = extra_length ? CHAT_MESSAGE_EXT_WIDTH : CHAT_MESSAGE_WIDTH @@ -123,6 +118,13 @@ var/list/runechat_image_cache = list() target.chat_color_darkened = colorize_string(target.name, 0.85, 0.85) target.chat_color_name = target.name + // Always force it back to a pref if they have one + if(ismob(target)) + var/mob/M = target + if(M?.client?.prefs && M.client.prefs.runechat_color != COLOR_BLACK) + target.chat_color = M.client.prefs.runechat_color + target.chat_color_darkened = M.client.prefs.runechat_color + // Get rid of any URL schemes that might cause BYOND to automatically wrap something in an anchor tag var/static/regex/url_scheme = new(@"[A-Za-z][A-Za-z0-9+-\.]*:\/\/", "g") text = replacetext(text, url_scheme, "") @@ -141,7 +143,7 @@ var/list/runechat_image_cache = list() // Differnt from our own system of name emphasis, maybe unify var/list/names = splittext(owner.name, " ") for (var/word in names) - text = replacetext(text, word, "[word]") + text = replacetext(text, word, span_bold("[word]")) var/list/prefixes @@ -186,8 +188,7 @@ var/list/runechat_image_cache = list() if(sched_remaining > CHAT_MESSAGE_SPAWN_TIME) var/remaining_time = (sched_remaining) * (CHAT_MESSAGE_EXP_DECAY ** idx++) * (CHAT_MESSAGE_HEIGHT_DECAY ** combined_height) m.scheduled_destruction = world.time + remaining_time - spawn(remaining_time) - m.end_of_life() + m.schedule_end_of_life(remaining_time) // Build message image message = image(loc = message_loc, layer = ABOVE_MOB_LAYER) @@ -213,13 +214,16 @@ var/list/runechat_image_cache = list() // Prepare for destruction scheduled_destruction = world.time + (lifespan - CHAT_MESSAGE_EOL_FADE) - spawn(lifespan - CHAT_MESSAGE_EOL_FADE) - end_of_life() + schedule_end_of_life(lifespan - CHAT_MESSAGE_EOL_FADE) /datum/chatmessage/proc/unregister_qdel_self() // this should only call owned_by if the client is destroyed UnregisterSignal(owned_by, COMSIG_PARENT_QDELETING) owned_by = null qdel_self() + +/datum/chatmessage/proc/schedule_end_of_life(var/schedule) + addtimer(CALLBACK(src, PROC_REF(end_of_life)), schedule, TIMER_DELETE_ME) + /** * Applies final animations to overlay CHAT_MESSAGE_EOL_FADE deciseconds prior to message deletion */ @@ -228,7 +232,7 @@ var/list/runechat_image_cache = list() return ending_life = TRUE animate(message, alpha = 0, time = fadetime, flags = ANIMATION_PARALLEL) - timer_delete = QDEL_IN(src, fadetime) + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(qdel), src), fadetime, TIMER_DELETE_ME) /** * Creates a message overlay at a defined location for a given speaker @@ -243,11 +247,14 @@ var/list/runechat_image_cache = list() if(!client) return + // Source Deleting + if(QDELETED(speaker)) + return // Doesn't want to hear - if(ismob(speaker) && !client.is_preference_enabled(/datum/client_preference/runechat_mob)) + if(ismob(speaker) && !client.prefs?.read_preference(/datum/preference/toggle/runechat_mob)) return // I know the pref is 'obj' but people dunno what turfs are - else if(!client.is_preference_enabled(/datum/client_preference/runechat_obj)) + else if(!client.prefs?.read_preference(/datum/preference/toggle/runechat_obj)) return // Incapable of receiving @@ -270,7 +277,7 @@ var/list/runechat_image_cache = list() if(italics) extra_classes |= "italics" - if(client.is_preference_enabled(/datum/client_preference/runechat_border)) + if(client.prefs?.read_preference(/datum/preference/toggle/runechat_border)) extra_classes |= "black_outline" var/dist = get_dist(src, speaker) @@ -349,7 +356,7 @@ var/list/runechat_image_cache = list() hearing_mobs = hear["mobs"] for(var/mob/M as anything in hearing_mobs) - if(!M.client) + if(!M?.client) continue M.create_chat_message(src, message, italics, classes, audible) @@ -379,7 +386,7 @@ var/list/runechat_image_cache = list() return src /mob/runechat_holder(datum/chatmessage/CM) - if(istype(loc, /obj/item/weapon/holder)) + if(istype(loc, /obj/item/holder)) return loc return ..() diff --git a/code/datums/colormate.dm b/code/datums/colormate.dm index 2149191543f..3bb625b7b16 100644 --- a/code/datums/colormate.dm +++ b/code/datums/colormate.dm @@ -43,7 +43,7 @@ /datum/ColorMate/tgui_state(mob/user) return GLOB.tgui_conscious_state -/datum/ColorMate/tgui_data() +/datum/ColorMate/tgui_data(mob/user) . = list() .["activemode"] = active_mode .["matrixcolors"] = list( @@ -69,7 +69,7 @@ .["item"] = list() .["item"]["name"] = inserted.name .["item"]["sprite"] = icon2base64(get_flat_icon(inserted,dir=SOUTH,no_anim=TRUE)) - .["item"]["preview"] = icon2base64(build_preview()) + .["item"]["preview"] = icon2base64(build_preview(user)) else .["item"] = null @@ -108,6 +108,16 @@ if("set_matrix_color") color_matrix_last[params["color"]] = params["value"] return TRUE + if("set_matrix_string") + if(params["value"]) + var/list/colours = splittext(params["value"], ",") + if(colours.len > 12) + colours.Cut(13) + for(var/i = 1, i <= colours.len, i++) + var/number = text2num(colours[i]) + if(isnum(number)) + color_matrix_last[i] = clamp(number, -10, 10) + return TRUE if("set_hue") build_hue = clamp(text2num(params["buildhue"]), 0, 360) return TRUE @@ -142,14 +152,14 @@ color_to_use = color_matrix_hsv(build_hue, build_sat, build_val) color_matrix_last = color_to_use if(!color_to_use || !check_valid_color(color_to_use, user)) - to_chat(user, SPAN_NOTICE("Invalid color.")) + to_chat(user, span_notice("Invalid color.")) return FALSE inserted.add_atom_colour(color_to_use, FIXED_COLOUR_PRIORITY) playsound(src, 'sound/effects/spray3.ogg', 50, 1) return TRUE /// Produces the preview image of the item, used in the UI, the way the color is not stacking is a sin. -/datum/ColorMate/proc/build_preview() +/datum/ColorMate/proc/build_preview(mob/user) if(inserted) //sanity var/list/cm switch(active_mode) @@ -168,17 +178,17 @@ text2num(color_matrix_last[11]), text2num(color_matrix_last[12]), ) - if(!check_valid_color(cm, usr)) + if(!check_valid_color(cm, user)) return get_flat_icon(inserted, dir=SOUTH, no_anim=TRUE) if(COLORMATE_TINT) - if(!check_valid_color(activecolor, usr)) + if(!check_valid_color(activecolor, user)) return get_flat_icon(inserted, dir=SOUTH, no_anim=TRUE) if(COLORMATE_HSV) cm = color_matrix_hsv(build_hue, build_sat, build_val) color_matrix_last = cm - if(!check_valid_color(cm, usr)) + if(!check_valid_color(cm, user)) return get_flat_icon(inserted, dir=SOUTH, no_anim=TRUE) var/cur_color = inserted.color diff --git a/code/datums/components/connect_mob_behalf.dm b/code/datums/components/connect_mob_behalf.dm new file mode 100644 index 00000000000..1c1a8a65234 --- /dev/null +++ b/code/datums/components/connect_mob_behalf.dm @@ -0,0 +1,59 @@ +/// This component behaves similar to connect_loc_behalf, but working off clients and mobs instead of loc +/// To be clear, we hook into a signal on a tracked client's mob +/// We retain the ability to react to that signal on a seperate listener, which makes this quite powerful +/datum/component/connect_mob_behalf + dupe_mode = COMPONENT_DUPE_UNIQUE + + /// An assoc list of signal -> procpath to register to the mob our client "owns" + var/list/connections + /// The master client we're working with + var/client/tracked + /// The mob we're currently tracking + var/mob/tracked_mob + +/datum/component/connect_mob_behalf/Initialize(client/tracked, list/connections) + . = ..() + if (!istype(tracked)) + return COMPONENT_INCOMPATIBLE + src.connections = connections + src.tracked = tracked + +/datum/component/connect_mob_behalf/RegisterWithParent() + RegisterSignal(tracked, COMSIG_PARENT_QDELETING, PROC_REF(handle_tracked_qdel)) + update_signals() + +/datum/component/connect_mob_behalf/UnregisterFromParent() + unregister_signals() + UnregisterSignal(tracked, COMSIG_PARENT_QDELETING) + + tracked = null + tracked_mob = null + +/datum/component/connect_mob_behalf/proc/handle_tracked_qdel() + SIGNAL_HANDLER + qdel(src) + +/datum/component/connect_mob_behalf/proc/update_signals() + unregister_signals() + // Yes this is a runtime silencer + // We could be in a position where logout is sent to two things, one thing intercepts it, then deletes the client's new mob + // It's rare, and the same check in connect_loc_behalf is more fruitful, but it's still worth doing + if(QDELETED(tracked?.mob)) + return + tracked_mob = tracked.mob + RegisterSignal(tracked_mob, COMSIG_MOB_LOGOUT, PROC_REF(on_logout)) + for (var/signal in connections) + parent.RegisterSignal(tracked_mob, signal, connections[signal]) + +/datum/component/connect_mob_behalf/proc/unregister_signals() + if(isnull(tracked_mob)) + return + + parent.UnregisterSignal(tracked_mob, connections) + UnregisterSignal(tracked_mob, COMSIG_MOB_LOGOUT) + + tracked_mob = null + +/datum/component/connect_mob_behalf/proc/on_logout(mob/source) + SIGNAL_HANDLER + update_signals() diff --git a/code/datums/components/crafting/crafting.dm b/code/datums/components/crafting/crafting.dm index fd468994de3..3f482ea72e2 100644 --- a/code/datums/components/crafting/crafting.dm +++ b/code/datums/components/crafting/crafting.dm @@ -92,8 +92,8 @@ .["tool_qualities"] |= item.tool_qualities .["other"][item.type] += 1 else - if(istype(item, /obj/item/weapon/reagent_containers)) - var/obj/item/weapon/reagent_containers/container = item + if(istype(item, /obj/item/reagent_containers)) + var/obj/item/reagent_containers/container = item // if(container.is_drainable()) if(container.is_open_container()) // this isn't exactly the same for(var/datum/reagent/reagent in container.reagents.reagent_list) @@ -157,7 +157,7 @@ for(var/obj/item/contained_item in source.contents) // if(contained_item.GetComponent(/datum/component/storage)) - if(istype(contained_item, /obj/item/weapon/storage)) // cursed + if(istype(contained_item, /obj/item/storage)) // cursed for(var/obj/item/subcontained_item in contained_item.contents) available_tools[subcontained_item.type] = TRUE for(var/behavior in subcontained_item.tool_qualities) @@ -290,7 +290,7 @@ var/datum/reagent/reagent = path_key var/id = initial(reagent.id) - for(var/obj/item/weapon/reagent_containers/RC in surroundings) + for(var/obj/item/reagent_containers/RC in surroundings) // Found everything we need if(amt <= 0 && amt_to_transfer <= 0) break @@ -338,8 +338,8 @@ continue // Special case: the reagents may be needed for other recipes - if(istype(I, /obj/item/weapon/reagent_containers)) - var/obj/item/weapon/reagent_containers/RC = I + if(istype(I, /obj/item/reagent_containers)) + var/obj/item/reagent_containers/RC = I if(RC.reagents.total_volume > 0) continue @@ -354,12 +354,12 @@ // Snowflake handling of reagent containers and storage atoms. // If we consumed them in our crafting, we should dump their contents out before qdeling them. - if(istype(I, /obj/item/weapon/reagent_containers)) - var/obj/item/weapon/reagent_containers/container = I + if(istype(I, /obj/item/reagent_containers)) + var/obj/item/reagent_containers/container = I container.reagents.clear_reagents() // container.reagents.expose(container.loc, TOUCH) - else if(istype(I, /obj/item/weapon/storage)) - var/obj/item/weapon/storage/container = I + else if(istype(I, /obj/item/storage)) + var/obj/item/storage/container = I container.spill() container.close_all() qdel(I) @@ -452,26 +452,25 @@ data["crafting_recipes"] = crafting_recipes return data -/datum/component/personal_crafting/tgui_act(action, params) +/datum/component/personal_crafting/tgui_act(action, params, datum/tgui/ui) . = ..() if(.) return switch(action) if("make") - var/mob/user = usr var/datum/crafting_recipe/TR = locate(params["recipe"]) in GLOB.crafting_recipes busy = TRUE - tgui_interact(user) - var/atom/movable/result = construct_item(user, TR) + tgui_interact(ui.user) + var/atom/movable/result = construct_item(ui.user, TR) if(!istext(result)) //We made an item and didn't get a fail message - if(ismob(user) && isitem(result)) //In case the user is actually possessing a non mob like a machine - user.put_in_hands(result) + if(ismob(ui.user) && isitem(result)) //In case the user is actually possessing a non mob like a machine + ui.user.put_in_hands(result) else - result.forceMove(user.drop_location()) - to_chat(user, "[TR.name] constructed.") - TR.on_craft_completion(user, result) + result.forceMove(ui.user.drop_location()) + to_chat(ui.user, span_notice("[TR.name] constructed.")) + TR.on_craft_completion(ui.user, result) else - to_chat(user, "Construction failed[result]") + to_chat(ui.user, span_warning("Construction failed[result]")) busy = FALSE if("toggle_recipes") display_craftable_only = !display_craftable_only diff --git a/code/datums/components/crafting/recipes.dm b/code/datums/components/crafting/recipes.dm index 453652928bd..658b682e085 100644 --- a/code/datums/components/crafting/recipes.dm +++ b/code/datums/components/crafting/recipes.dm @@ -58,9 +58,9 @@ // Locate one of the things that set the material type, and update it from the default (glass) /datum/crafting_recipe/spear/on_craft_completion(mob/user, atom/result) - var/obj/item/weapon/material/M + var/obj/item/material/M for(var/path in parts) - var/obj/item/weapon/material/N = locate(path) in result + var/obj/item/material/N = locate(path) in result if(istype(N, path)) if(!istype(M)) M = N @@ -69,6 +69,6 @@ if(!istype(M)) return - var/obj/item/weapon/material/twohanded/spear/S = result + var/obj/item/material/twohanded/spear/S = result S.set_material(M.material.name) qdel(M) diff --git a/code/datums/components/crafting/recipes/survival.dm b/code/datums/components/crafting/recipes/survival.dm index a1100f6808c..e97e7733116 100644 --- a/code/datums/components/crafting/recipes/survival.dm +++ b/code/datums/components/crafting/recipes/survival.dm @@ -1,6 +1,6 @@ /datum/crafting_recipe/shovel name = "Wooden Shovel" - result = /obj/item/weapon/shovel/wood + result = /obj/item/shovel/wood reqs = list( list(/obj/item/stack/material/stick = 5), list(/obj/item/stack/material/wood = 1), @@ -13,7 +13,7 @@ /datum/crafting_recipe/stoneblade name = "stone blade" - result = /obj/item/weapon/material/knife/stone + result = /obj/item/material/knife/stone reqs = list( list(/obj/item/stack/material/flint = 2) ) @@ -23,9 +23,9 @@ /datum/crafting_recipe/stonewoodknife name = "stone knife" - result = /obj/item/weapon/material/knife/stone/wood + result = /obj/item/material/knife/stone/wood reqs = list( - list(/obj/item/weapon/material/knife/stone = 1), + list(/obj/item/material/knife/stone = 1), list(/obj/item/stack/material/flint = 1), list(/obj/item/stack/material/wood = 1), list(/obj/item/stack/material/fiber = 3) @@ -36,11 +36,11 @@ /datum/crafting_recipe/stoneboneknife name = "stone knife" - result = /obj/item/weapon/material/knife/stone/bone + result = /obj/item/material/knife/stone/bone reqs = list( - list(/obj/item/weapon/material/knife/stone = 1), + list(/obj/item/material/knife/stone = 1), list(/obj/item/stack/material/flint = 1), - list(/obj/item/weapon/bone = 1), + list(/obj/item/bone = 1), list(/obj/item/stack/material/fiber = 3) ) time = 120 @@ -49,7 +49,7 @@ /datum/crafting_recipe/woodbucket name = "wooden bucket" - result = /obj/item/weapon/reagent_containers/glass/bucket/wood + result = /obj/item/reagent_containers/glass/bucket/wood reqs = list( list(/obj/item/stack/material/wood = 1), list(/obj/item/stack/material/stick = 1), @@ -62,15 +62,15 @@ name = "sticks" result = /obj/item/stack/material/stick/fivestack reqs = list(list(/obj/item/stack/material/wood = 1)) - tool_paths = list(/obj/item/weapon/material/knife) + tool_paths = list(/obj/item/material/knife) time = 200 category = CAT_MISC /datum/crafting_recipe/stonewoodaxe name = "stone axe" - result = /obj/item/weapon/material/knife/machete/hatchet/stone + result = /obj/item/material/knife/machete/hatchet/stone reqs = list( - list(/obj/item/weapon/material/knife/stone = 1), + list(/obj/item/material/knife/stone = 1), list(/obj/item/stack/material/flint = 1), list(/obj/item/stack/material/stick = 1), list(/obj/item/stack/material/fiber = 3) @@ -81,11 +81,11 @@ /datum/crafting_recipe/stoneboneaxe name = "stone axe" - result = /obj/item/weapon/material/knife/machete/hatchet/stone/bone + result = /obj/item/material/knife/machete/hatchet/stone/bone reqs = list( - list(/obj/item/weapon/material/knife/stone = 1), + list(/obj/item/material/knife/stone = 1), list(/obj/item/stack/material/flint = 1), - list(/obj/item/weapon/bone = 1), + list(/obj/item/bone = 1), list(/obj/item/stack/material/fiber = 3) ) time = 120 @@ -94,9 +94,9 @@ /datum/crafting_recipe/stonewoodspear name = "stone spear" - result = /obj/item/weapon/material/twohanded/spear/flint + result = /obj/item/material/twohanded/spear/flint reqs = list( - list(/obj/item/weapon/material/knife/stone = 1), + list(/obj/item/material/knife/stone = 1), list(/obj/item/stack/material/flint = 1), list(/obj/item/stack/material/wood = 2), list(/obj/item/stack/material/fiber = 3) @@ -107,11 +107,11 @@ /datum/crafting_recipe/stonebonespear name = "stone spear" - result = /obj/item/weapon/material/twohanded/spear/flint + result = /obj/item/material/twohanded/spear/flint reqs = list( - list(/obj/item/weapon/material/knife/stone = 1), + list(/obj/item/material/knife/stone = 1), list(/obj/item/stack/material/flint = 1), - list(/obj/item/weapon/bone = 2), + list(/obj/item/bone = 2), list(/obj/item/stack/material/fiber = 3) ) time = 120 @@ -120,7 +120,7 @@ /datum/crafting_recipe/ropebindings name = "rope bindings" - result = /obj/item/weapon/handcuffs/cable/plantfiber + result = /obj/item/handcuffs/cable/plantfiber reqs = list(list(/obj/item/stack/material/fiber = 3)) time = 60 category = CAT_MISC \ No newline at end of file diff --git a/code/datums/components/crafting/recipes/weapons.dm b/code/datums/components/crafting/recipes/weapons.dm index 68f01b54e9f..41d96db57d4 100644 --- a/code/datums/components/crafting/recipes/weapons.dm +++ b/code/datums/components/crafting/recipes/weapons.dm @@ -1,30 +1,30 @@ /datum/crafting_recipe/stunprod name = "Stunprod" - result = /obj/item/weapon/melee/baton/cattleprod - reqs = list(list(/obj/item/weapon/handcuffs/cable = 1), + result = /obj/item/melee/baton/cattleprod + reqs = list(list(/obj/item/handcuffs/cable = 1), list(/obj/item/stack/rods = 1), - list(/obj/item/weapon/tool/wirecutters = 1)) + list(/obj/item/tool/wirecutters = 1)) time = 40 category = CAT_WEAPONRY subcategory = CAT_WEAPON /datum/crafting_recipe/spear name = "Spear" - result = /obj/item/weapon/material/twohanded/spear - reqs = list(list(/obj/item/weapon/handcuffs/cable = 1), + result = /obj/item/material/twohanded/spear + reqs = list(list(/obj/item/handcuffs/cable = 1), list(/obj/item/stack/rods = 1), - list(/obj/item/weapon/material/shard = 1, - /obj/item/weapon/material/butterflyblade = 1) + list(/obj/item/material/shard = 1, + /obj/item/material/butterflyblade = 1) ) - parts = list(/obj/item/weapon/material/shard = 1, - /obj/item/weapon/material/butterflyblade = 1) + parts = list(/obj/item/material/shard = 1, + /obj/item/material/butterflyblade = 1) time = 40 category = CAT_WEAPONRY subcategory = CAT_WEAPON /datum/crafting_recipe/shortbow name = "Shortbow" - result = /obj/item/weapon/gun/launcher/crossbow/bow + result = /obj/item/gun/launcher/crossbow/bow reqs = list(list(/obj/item/stack/material/wood = 10), list(/obj/item/stack/material/cloth = 5)) time = 120 @@ -33,7 +33,7 @@ /datum/crafting_recipe/arrow_sandstone name = "Wood arrow (sandstone tip)" - result = /obj/item/weapon/arrow/standard + result = /obj/item/arrow/standard reqs = list(list(/obj/item/stack/material/wood = 2), list(/obj/item/stack/material/sandstone = 2)) time = 40 @@ -42,7 +42,7 @@ /datum/crafting_recipe/arrow_marble name = "Wood arrow (marble tip)" - result = /obj/item/weapon/arrow/standard + result = /obj/item/arrow/standard reqs = list(list(/obj/item/stack/material/wood = 2), list(/obj/item/stack/material/marble = 2)) time = 40 @@ -51,17 +51,17 @@ /datum/crafting_recipe/primitive_shield name = "Primitive Shield" - result = /obj/item/weapon/shield/primitive - reqs = list(list(/obj/item/stack/material/wood = 2), list(/obj/item/weapon/reagent_containers/glass/bucket/wood =1), list(/obj/item/stack/material/cloth = 5)) + result = /obj/item/shield/primitive + reqs = list(list(/obj/item/stack/material/wood = 2), list(/obj/item/reagent_containers/glass/bucket/wood =1), list(/obj/item/stack/material/cloth = 5)) time = 120 category = CAT_WEAPONRY subcategory = CAT_WEAPON /datum/crafting_recipe/scopedrifle name = "Bolt scope to bolt-action (cannot be removed)" - result = /obj/item/weapon/gun/projectile/shotgun/pump/rifle/scoped - reqs = list(list(/obj/item/device/binoculars/scope = 1), - list(/obj/item/weapon/gun/projectile/shotgun/pump/rifle = 1)) + result = /obj/item/gun/projectile/shotgun/pump/rifle/scoped + reqs = list(list(/obj/item/binoculars/scope = 1), + list(/obj/item/gun/projectile/shotgun/pump/rifle = 1)) time = 180 category = CAT_WEAPONRY subcategory = CAT_WEAPON diff --git a/code/datums/components/gargoyle.dm b/code/datums/components/gargoyle.dm new file mode 100644 index 00000000000..618c2e97e03 --- /dev/null +++ b/code/datums/components/gargoyle.dm @@ -0,0 +1,101 @@ +/datum/component/gargoyle + var/energy = 100 + var/transformed = FALSE + var/paused = FALSE + var/paused_loc + var/cooldown + + var/mob/living/carbon/human/gargoyle //easy reference + var/obj/structure/gargoyle/statue //another easy ref + + //Adjustable mod + var/identifier = "statue" + var/adjective = "hardens" + var/material = "stone" + var/tint = "#FFFFFF" + +/datum/component/gargoyle/Initialize() + if (!ishuman(parent)) + return COMPONENT_INCOMPATIBLE + gargoyle = parent + add_verb(gargoyle,/mob/living/carbon/human/proc/gargoyle_transformation) + add_verb(gargoyle,/mob/living/carbon/human/proc/gargoyle_pause) + add_verb(gargoyle,/mob/living/carbon/human/proc/gargoyle_checkenergy) + + START_PROCESSING(SSprocessing, src) + +/datum/component/gargoyle/process() + if (QDELETED(gargoyle)) + return + if (paused && gargoyle.loc != paused_loc) + unpause() + if (energy > 0) + if (!transformed && !paused) + energy = max(0,energy-0.05) + else if (!transformed && isturf(gargoyle.loc)) + gargoyle.gargoyle_transformation() + if (transformed) + if (!statue) + transformed = FALSE + statue.damage(-0.5) + energy = min(energy+0.3, 100) + +/datum/component/gargoyle/proc/unpause() + if (!paused || transformed) + paused = FALSE + paused_loc = null + UnregisterSignal(gargoyle, COMSIG_ATOM_ENTERING) + return + if (gargoyle?.loc != paused_loc) + paused = FALSE + paused_loc = null + energy = max(energy - 5, 0) + if (energy == 0) + gargoyle.gargoyle_transformation() + UnregisterSignal(gargoyle, COMSIG_ATOM_ENTERING) + +//verbs or action buttons...? +/mob/living/carbon/human/proc/gargoyle_transformation() + set name = "Gargoyle - Petrification" + set category = "Abilities.Gargoyle" + set desc = "Turn yourself into (or back from) being a gargoyle." + + if (stat == DEAD) + return + + var/datum/component/gargoyle/comp = GetComponent(/datum/component/gargoyle) + if (comp) + if (comp.energy <= 0 && isturf(loc)) + to_chat(src, span_danger("You suddenly turn into a [comp.identifier] as you run out of energy!")) + else if (comp.cooldown > world.time) + var/time_to_wait = (comp.cooldown - world.time) / (1 SECONDS) + to_chat(src, span_warning("You can't transform just yet again! Wait for another [round(time_to_wait,0.1)] seconds!")) + return + if (istype(loc, /obj/structure/gargoyle)) + qdel(loc) + else if (isturf(loc)) + new /obj/structure/gargoyle(loc, src) + +/mob/living/carbon/human/proc/gargoyle_pause() + set name = "Gargoyle - Pause" + set category = "Abilities.Gargoyle" + set desc = "Pause your energy while standing still, so you don't use up any more, though you will lose a small amount upon moving again." + + if (stat) + return + + var/datum/component/gargoyle/comp = GetComponent(/datum/component/gargoyle) + if (comp && !comp.transformed && !comp.paused) + comp.paused = TRUE + comp.paused_loc = loc + comp.RegisterSignal(src, COMSIG_ATOM_ENTERING, /datum/component/gargoyle/proc/unpause) + to_chat(src, span_notice("You start conserving your energy.")) + +/mob/living/carbon/human/proc/gargoyle_checkenergy() + set name = "Gargoyle - Check Energy" + set category = "Abilities.Gargoyle" + set desc = "Check how much energy you have remaining as a gargoyle." + + var/datum/component/gargoyle/comp = GetComponent(/datum/component/gargoyle) + if (comp) + to_chat(src, span_notice("You have [round(comp.energy,0.01)] energy remaining. It is currently [comp.paused ? "stable" : (comp.transformed ? "increasing" : "decreasing")].")) diff --git a/code/datums/components/material_container.dm b/code/datums/components/material_container.dm index b414f4651f6..bbd2b7fd128 100644 --- a/code/datums/components/material_container.dm +++ b/code/datums/components/material_container.dm @@ -102,7 +102,7 @@ for(var/datum/material/M as anything in materials) var/amt = materials[M] if(amt) - examine_texts += "It has [amt] units of [lowertext(M.name)] stored." + examine_texts += span_notice("It has [amt] units of [lowertext(M.name)] stored.") /// Proc that allows players to fill the parent with mats /datum/component/material_container/proc/on_attackby(datum/source, obj/item/I, mob/living/user) @@ -113,7 +113,7 @@ return if(tc && !is_type_in_typecache(I, tc)) if(!(mat_container_flags & MATCONTAINER_SILENT)) - to_chat(user, "[parent] won't accept [I]!") + to_chat(user, span_warning("[parent] won't accept [I]!")) return . = COMPONENT_CANCEL_ATTACK_CHAIN var/datum/callback/pc = precondition @@ -125,10 +125,10 @@ return var/material_amount = get_item_material_amount(I, mat_container_flags) if(!material_amount) - to_chat(user, "[I] does not contain sufficient materials to be accepted by [parent].") + to_chat(user, span_warning("[I] does not contain sufficient materials to be accepted by [parent].")) return if(!has_space(material_amount)) - to_chat(user, "[parent] is full. Please remove materials from [parent] in order to insert more.") + to_chat(user, span_warning("[parent] is full. Please remove materials from [parent] in order to insert more.")) return user_insert(I, user, mat_container_flags) @@ -136,7 +136,7 @@ /datum/component/material_container/proc/user_insert_stack(obj/item/stack/S, mob/living/user, breakdown_flags = mat_container_flags) var/sheets = S.get_amount() if(sheets < 1) - to_chat(user, "[S] does not contain sufficient materials to be accepted by [parent].") + to_chat(user, span_warning("[S] does not contain sufficient materials to be accepted by [parent].")) return // Cache this since S may go away after use() @@ -149,23 +149,23 @@ // If any part of a sheet can't go in us, the whole sheet is invalid if(!can_hold_material(GET_MATERIAL_REF(material))) - to_chat(user, "[parent] cannot contain [material].") + to_chat(user, span_warning("[parent] cannot contain [material].")) return // Our sheet had no material. Whoops. if(!matter_per_sheet) - to_chat(user, "[S] does not contain any matter acceptable by [parent].") + to_chat(user, span_warning("[S] does not contain any matter acceptable by [parent].")) return // If we can't fit the material for one sheet, we're full. if(!has_space(matter_per_sheet)) - to_chat(user, "[parent] is full. Please remove materials from [parent] in order to insert more.") + to_chat(user, span_warning("[parent] is full. Please remove materials from [parent] in order to insert more.")) return // Calculate the maximum amount of sheets we could possibly accept. var/max_sheets = round((max_amount - total_amount) / matter_per_sheet) if(max_sheets <= 0) - to_chat(user, "[parent] is full. Please remove materials from [parent] in order to insert more.") + to_chat(user, span_warning("[parent] is full. Please remove materials from [parent] in order to insert more.")) return // Calculate the amount of sheets we're actually going to use. @@ -176,7 +176,7 @@ // Use the amount of sheets from the stack if(!S.use(sheets_to_use)) - to_chat(user, "Something went wrong with your stack. Split it manually and try again.") + to_chat(user, span_warning("Something went wrong with your stack. Split it manually and try again.")) return // We're going to blindly insert all of the materials, our assertion above says it shouldn't be possible to overflow @@ -187,7 +187,7 @@ last_inserted_id = matter // Tell the user and wrap up. - to_chat(user, "You insert a material total of [inserted] into [parent].") + to_chat(user, span_notice("You insert a material total of [inserted] into [parent].")) if(after_insert) after_insert.Invoke(S, last_inserted_id, inserted) @@ -196,11 +196,11 @@ set waitfor = FALSE var/active_held = user.get_active_hand() // differs from I when using TK if(!user.unEquip(I)) - to_chat(user, "[I] is stuck to you and cannot be placed into [parent].") + to_chat(user, span_warning("[I] is stuck to you and cannot be placed into [parent].")) return var/inserted = insert_item(I, breakdown_flags = mat_container_flags) if(inserted) - to_chat(user, "You insert a material total of [inserted] into [parent].") + to_chat(user, span_notice("You insert a material total of [inserted] into [parent].")) qdel(I) if(after_insert) after_insert.Invoke(I, last_inserted_id, inserted) @@ -471,12 +471,15 @@ return materials[mat] /// List format is list(list(name = ..., amount = ..., ref = ..., etc.), list(...)) -/datum/component/material_container/tgui_data(mob/user) +/datum/component/material_container/tgui_data(mob/user, skip_empty = FALSE) var/list/data = list() for(var/datum/material/material as anything in materials) var/amount = materials[material] + if(amount == 0 && skip_empty) + continue + data += list(list( "name" = material.name, "ref" = REF(material), diff --git a/code/datums/components/recursive_move.dm b/code/datums/components/recursive_move.dm index cf26942495b..35558839347 100644 --- a/code/datums/components/recursive_move.dm +++ b/code/datums/components/recursive_move.dm @@ -106,14 +106,14 @@ parents.Cut() //the banana peel of testing stays -/obj/item/weapon/bananapeel/testing +/obj/item/bananapeel/testing name = "banana peel of testing" desc = "spams world log with debugging information" -/obj/item/weapon/bananapeel/testing/proc/shmove(var/atom/source, var/atom/old_loc, var/atom/new_loc) +/obj/item/bananapeel/testing/proc/shmove(var/atom/source, var/atom/old_loc, var/atom/new_loc) world.log << "the [source] moved from [old_loc]([old_loc.x],[old_loc.y],[old_loc.z]) to [new_loc]([new_loc.x],[new_loc.y],[new_loc.z])" -/obj/item/weapon/bananapeel/testing/Initialize() +/obj/item/bananapeel/testing/Initialize() . = ..() AddComponent(/datum/component/recursive_move) RegisterSignal(src, COMSIG_OBSERVER_MOVED, PROC_REF(shmove)) diff --git a/code/datums/components/resize_guard.dm b/code/datums/components/resize_guard.dm index d708002cc1a..ca8adfab43d 100644 --- a/code/datums/components/resize_guard.dm +++ b/code/datums/components/resize_guard.dm @@ -13,7 +13,8 @@ /datum/component/resize_guard/proc/check_resize() var/area/A = get_area(parent) - if(A?.limit_mob_size) - var/mob/living/L = parent - L.resize(L.size_multiplier, ignore_prefs = TRUE) - qdel(src) + if(A?.flag_check(AREA_ALLOW_LARGE_SIZE)) + return + var/mob/living/L = parent + L.resize(L.size_multiplier, ignore_prefs = TRUE) + qdel(src) diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm index 7c37c10f520..cfe18eba25e 100644 --- a/code/datums/datacore.dm +++ b/code/datums/datacore.dm @@ -218,7 +218,7 @@ var/global/list/PDA_Manifest = list() heads[++heads.len] = list("name" = name, "rank" = rank, "active" = isactive) department = 1 depthead = 1 - if(rank=="Site Manager" && heads.len != 1) + if(rank==JOB_SITE_MANAGER && heads.len != 1) heads.Swap(1,heads.len) if(SSjob.is_job_in_department(real_rank, DEPARTMENT_SECURITY)) @@ -356,7 +356,10 @@ var/global/list/PDA_Manifest = list() G.fields["p_stat"] = "Active" G.fields["m_stat"] = "Stable" G.fields["sex"] = gender2text(H.gender) - G.fields["species"] = "[H.custom_species ? "[H.custom_species] ([H.species.name])" : H.species.name]" //VOREStation Edit + if(H.species.name == SPECIES_HANNER) + G.fields["species"] = "[H.custom_species ? "[H.custom_species]" : H.species.name]" + else + G.fields["species"] = "[H.custom_species ? "[H.custom_species] ([H.species.name])" : H.species.name]" G.fields["home_system"] = H.home_system G.fields["birthplace"] = H.birthplace G.fields["citizenship"] = H.citizenship @@ -367,7 +370,10 @@ var/global/list/PDA_Manifest = list() //Medical Record var/datum/data/record/M = CreateMedicalRecord(H.real_name, id, hidden) - M.fields["species"] = "[H.custom_species ? "[H.custom_species] ([H.species.name])" : H.species.name]" //VOREStation Edit + if(H.species.name == SPECIES_HANNER) + M.fields["species"] = "[H.custom_species ? "[H.custom_species]" : H.species.name]" + else + M.fields["species"] = "[H.custom_species ? "[H.custom_species] ([H.species.name])" : H.species.name]" M.fields["b_type"] = H.b_type M.fields["blood_reagent"] = H.species.blood_reagents M.fields["b_dna"] = H.dna.unique_enzymes @@ -381,7 +387,10 @@ var/global/list/PDA_Manifest = list() //Security Record var/datum/data/record/S = CreateSecurityRecord(H.real_name, id, hidden) - S.fields["species"] = "[H.custom_species ? "[H.custom_species] ([H.species.name])" : H.species.name]" //VOREStation Edit + if(H.species.name == SPECIES_HANNER) + S.fields["species"] = "[H.custom_species ? "[H.custom_species]" : H.species.name]" + else + S.fields["species"] = "[H.custom_species ? "[H.custom_species] ([H.species.name])" : H.species.name]" if(H.get_FBP_type()) S.fields["brain_type"] = H.get_FBP_type() else @@ -407,7 +416,10 @@ var/global/list/PDA_Manifest = list() L.fields["b_dna"] = H.dna.unique_enzymes L.fields["enzymes"] = H.dna.SE // Used in respawning L.fields["identity"] = H.dna.UI // " - L.fields["species"] = "[H.custom_species ? "[H.custom_species] ([H.species.name])" : H.species.name]" //VOREStation Edit + if(H.species.name == SPECIES_HANNER) + L.fields["species"] = "[H.custom_species ? "[H.custom_species]" : H.species.name]" + else + L.fields["species"] = "[H.custom_species ? "[H.custom_species] ([H.species.name])" : H.species.name]" L.fields["home_system"] = H.home_system L.fields["birthplace"] = H.birthplace L.fields["citizenship"] = H.citizenship diff --git a/code/datums/datum.dm b/code/datums/datum.dm index a50909a3b47..2c37b78811b 100644 --- a/code/datums/datum.dm +++ b/code/datums/datum.dm @@ -22,7 +22,7 @@ var/list/open_uis /// Active timers with this datum as the target - var/list/active_timers + var/list/_active_timers /// Status traits attached to this datum. associative list of the form: list(trait name (string) = list(source1, source2, source3,...)) var/list/_status_traits @@ -69,20 +69,35 @@ // Create and destroy is weird and I wanna cover my bases var/harddel_deets_dumped = FALSE -// Default implementation of clean-up code. -// This should be overridden to remove all references pointing to the object being destroyed. -// Return the appropriate QDEL_HINT; in most cases this is QDEL_HINT_QUEUE. +/** + * Default implementation of clean-up code. + * + * This should be overridden to remove all references pointing to the object being destroyed, if + * you do override it, make sure to call the parent and return its return value by default + * + * Return an appropriate [QDEL_HINT][QDEL_HINT_QUEUE] to modify handling of your deletion; + * in most cases this is [QDEL_HINT_QUEUE]. + * + * The base case is responsible for doing the following + * * Erasing timers pointing to this datum + * * Erasing compenents on this datum + * * Notifying datums listening to signals from this datum that we are going away + * + * Returns [QDEL_HINT_QUEUE] + */ /datum/proc/Destroy(force=FALSE) + //SHOULD_CALL_PARENT(TRUE) + //SHOULD_NOT_SLEEP(TRUE) + tag = null + weak_reference = null //ensure prompt GCing of weakref. - //clear timers - var/list/timers = active_timers - active_timers = null - for(var/datum/timedevent/timer as anything in timers) - if (timer.spent) - continue - qdel(timer) - - weak_reference = null // Clear this reference to ensure it's kept for as brief duration as possible. + if(_active_timers) + var/list/timers = _active_timers + _active_timers = null + for(var/datum/timedevent/timer as anything in timers) + if (timer.spent && !(timer.flags & TIMER_DELETE_ME)) + continue + qdel(timer) //BEGIN: ECS SHIT signal_enabled = FALSE @@ -114,7 +129,6 @@ UnregisterSignal(target, signal_procs[target]) //END: ECS SHIT - tag = null SStgui.close_uis(src) #ifdef REFERENCE_TRACKING diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm index 4579f50f409..be1b1236adb 100644 --- a/code/datums/datumvars.dm +++ b/code/datums/datumvars.dm @@ -86,12 +86,12 @@ datumname = "element" _AddElement(lst) log_admin("[key_name(usr)] has added [result] [datumname] to [key_name(src)].") - message_admins("[key_name_admin(usr)] has added [result] [datumname] to [key_name_admin(src)].") + message_admins(span_notice("[key_name_admin(usr)] has added [result] [datumname] to [key_name_admin(src)].")) /datum/proc/vv_get_header() . = list() if(("name" in vars) && !isatom(src)) - . += "[vars["name"]]
" + . += span_bold("[vars["name"]]") + "
" /datum/proc/on_reagent_change(changetype) return diff --git a/code/datums/diseases/_MobProcs.dm b/code/datums/diseases/_MobProcs.dm new file mode 100644 index 00000000000..6505817fb55 --- /dev/null +++ b/code/datums/diseases/_MobProcs.dm @@ -0,0 +1,194 @@ +/mob/proc/HasDisease(datum/disease/D) + for(var/thing in GetViruses()) + var/datum/disease/DD = thing + if(DD.IsSame(D)) + return TRUE + return FALSE + +/mob/proc/CanContractDisease(datum/disease/D) + if(stat == DEAD && !D.allow_dead) + return FALSE + + if(D.GetDiseaseID() in GetResistances()) + return FALSE + + if(HasDisease(D)) + return FALSE + + if(istype(D, /datum/disease/advance) && count_by_type(GetViruses(), /datum/disease/advance) > 0) + return FALSE + + if(!(type in D.viable_mobtypes)) + return -1 + + if(isSynthetic()) + if(D.infect_synthetics) + return TRUE + return FALSE + + return TRUE + +/mob/proc/ContractDisease(datum/disease/D) + if(!CanContractDisease(D)) + return 0 + AddDisease(D) + return TRUE + +/mob/proc/AddDisease(datum/disease/D, respect_carrier = FALSE) + var/datum/disease/DD = new D.type(1, D, 0) + viruses += DD + DD.affected_mob = src + active_diseases += DD + + var/list/skipped = list("affected_mob", "holder", "carrier", "stage", "type", "parent_type", "vars", "transformed") + if(respect_carrier) + skipped -= "carrier" + for(var/V in DD.vars) + if(V in skipped) + continue + if(istype(DD.vars[V],/list)) + var/list/L = D.vars[V] + DD.vars[V] = L.Copy() + else + DD.vars[V] = D.vars[V] + + log_admin("[key_name(usr)] has contracted the virus \"[DD]\"") + +/mob/living/carbon/ContractDisease(datum/disease/D) + if(!CanContractDisease(D)) + return 0 + + var/obj/item/clothing/Cl = null + var/passed = 1 + + var/head_ch = 100 + var/body_ch = 100 + var/hands_ch = 25 + var/feet_ch = 25 + + if(D.spread_flags & CONTACT_HANDS) + head_ch = 0 + body_ch = 0 + hands_ch = 100 + feet_ch = 0 + if(D.spread_flags & CONTACT_FEET) + head_ch = 0 + body_ch = 0 + hands_ch = 0 + feet_ch = 100 + + if(prob(15/D.permeability_mod)) + return + + if(nutrition > 300 && prob(nutrition/50)) + return + + var/list/zone_weights = list( + 1 = head_ch, + 2 = body_ch, + 3 = hands_ch, + 4 = feet_ch + ) + + var/target_zone = pick(zone_weights) + + if(ishuman(src)) + var/mob/living/carbon/human/H = src + + switch(target_zone) + if(1) + if(isobj(H.head) && !istype(H.head, /obj/item/paper)) + Cl = H.head + passed = prob((Cl.permeability_coefficient*100) - 1) + if(passed && isobj(H.wear_mask)) + Cl = H.wear_mask + passed = prob((Cl.permeability_coefficient*100) - 1) + if(2) + if(isobj(H.wear_suit)) + Cl = H.wear_suit + passed = prob((Cl.permeability_coefficient*100) - 1) + if(passed && isobj(H.w_uniform)) + Cl = H.w_uniform + passed = prob((Cl.permeability_coefficient*100) - 1) + if(3) + if(isobj(H.wear_suit) && H.wear_suit.body_parts_covered & HANDS) + Cl = H.wear_suit + passed = prob((Cl.permeability_coefficient*100) - 1) + + if(passed && isobj(H.gloves)) + Cl = H.gloves + passed = prob((Cl.permeability_coefficient*100) - 1) + if(4) + if(isobj(H.wear_suit) && H.wear_suit.body_parts_covered & FEET) + Cl = H.wear_suit + passed = prob((Cl.permeability_coefficient*100) - 1) + + if(passed && isobj(H.shoes)) + Cl = H.shoes + passed = prob((Cl.permeability_coefficient*100) - 1) + if(!passed && (D.spread_flags & AIRBORNE) && !internal) + passed = (prob((50*D.permeability_mod) -1)) + + if(passed) + AddDisease(D) + return passed + +/mob/proc/ForceContractDisease(datum/disease/D, respect_carrier) + if(!CanContractDisease(D)) + return FALSE + + AddDisease(D, respect_carrier) + return TRUE + +/mob/living/carbon/human/CanContractDisease(datum/disease/D) + if(species.virus_immune && !D.bypasses_immunity) + return FALSE + + for(var/organ in D.required_organs) + if(locate(organ) in internal_organs) + continue + if(locate(organ) in organs) + continue + return FALSE + return ..() + +/mob/living/carbon/human/monkey/CanContractDisease(datum/disease/D) + . = ..() + if(. == -1) + if(D.viable_mobtypes.Find(/mob/living/carbon/human)) + return 1 + +/mob/living/proc/handle_diseases() + return + +/mob/proc/GetViruses() + LAZYINITLIST(viruses) + return viruses + +/mob/proc/GetResistances() + LAZYINITLIST(resistances) + return resistances + +/client/proc/ReleaseVirus() + set category = "Fun.Event Kit" + set name = "Release Virus" + set desc = "Release a pre-set virus." + + if(!is_admin()) + return FALSE + + var/disease = tgui_input_list(usr, "Choose virus", "Viruses", subtypesof(/datum/disease), subtypesof(/datum/disease)) + var/mob/living/carbon/human/H = tgui_input_list(usr, "Choose infectee", "Characters", human_mob_list) + + var/datum/disease/D = new disease + + if(isnull(D) || isnull(H)) + return FALSE + + if(!H.HasDisease(D)) + H.ForceContractDisease(D) + + message_admins("[key_name_admin(usr)] has triggered a virus outbreak of [D.name]! Affected mob: [key_name_admin(H)]") + log_admin("[key_name_admin(usr)] infected [key_name_admin(H)] with [D.name]") + + return TRUE diff --git a/code/datums/diseases/_disease.dm b/code/datums/diseases/_disease.dm new file mode 100644 index 00000000000..22cdabb1dd6 --- /dev/null +++ b/code/datums/diseases/_disease.dm @@ -0,0 +1,167 @@ +GLOBAL_LIST_INIT(diseases, subtypesof(/datum/disease)) + +/datum/disease + //Flags + var/visibility_flags = 0 + var/disease_flags = CURABLE|CAN_CARRY|CAN_RESIST + var/spread_flags = AIRBORNE + + //Fluff + /// Used for identification of viruses in the Medical Records Virus Database + var/medical_name + var/form = "Virus" + var/name = "No disease" + var/desc = "" + var/agent = "some microbes" + var/spread_text = "" + var/cure_text = "" + + //Stages + var/stage = 1 + var/max_stages = 0 + var/stage_prob = 4 + /// The fraction of stages the virus must at least be at to show up on medical HUDs. Rounded up. + var/discovery_threshold = 0.5 + /// If TRUE, this virus will show up on medical HUDs. Automatically set when it reaches mid-stage. + var/discovered = FALSE + + // Other + var/list/viable_mobtypes = list() + var/mob/living/carbon/affected_mob + var/list/cures = list() + var/infectivity = 65 + var/cure_chance = 8 + var/carrier = FALSE + var/bypasses_immunity = FALSE + var/virus_heal_resistant = FALSE + var/permeability_mod = 1 + var/severity = NONTHREAT + var/list/required_organs = list() + var/needs_all_cures = TRUE + var/list/strain_data = list() + var/allow_dead = FALSE + var/infect_synthetics = FALSE + var/processing = FALSE + +/datum/disease/Destroy() + affected_mob = null + active_diseases.Remove(src) + if(processing) + End() + return ..() + +/datum/disease/proc/stage_act() + if(!affected_mob) + return FALSE + var/cure = has_cure() + + if(carrier && !cure) + return FALSE + + if(!processing) + processing = TRUE + Start() + + stage = min(stage, max_stages) + + handle_stage_advance(cure) + + return handle_cure_testing(cure) + +/datum/disease/proc/handle_stage_advance(has_cure = FALSE) + if(!has_cure && prob(stage_prob)) + stage = min(stage + 1, max_stages) + if(!discovered && stage >= CEILING(max_stages * discovery_threshold, 1)) + discovered = TRUE + BITSET(affected_mob.hud_updateflag, STATUS_HUD) + +/datum/disease/proc/handle_cure_testing(has_cure = FALSE) + if(has_cure && prob(cure_chance)) + stage = max(stage -1, 1) + + if(disease_flags & CURABLE) + if(has_cure && prob(cure_chance)) + cure() + return FALSE + return TRUE + +/datum/disease/proc/has_cure() + if(!(disease_flags & CURABLE)) + return 0 + + var/cures_found = 0 + for(var/C_id in cures) + if(affected_mob.bloodstr.has_reagent(C_id) || affected_mob.ingested.has_reagent(C_id)) + cures_found++ + + if(needs_all_cures && cures_found < length(cures)) + return FALSE + + return cures_found + +/datum/disease/proc/spread(force_spread = 0) + if(!affected_mob) + return + + if((spread_flags & SPECIAL || spread_flags & NON_CONTAGIOUS || spread_flags & BLOOD) && !force_spread) + return + + if(affected_mob.bloodstr.has_reagent("spaceacillin") || (affected_mob.nutrition > 300 && prob(affected_mob.nutrition/50))) + return + + var/spread_range = 1 + + if(force_spread) + spread_range = force_spread + + if(spread_flags & AIRBORNE) + spread_range++ + + var/turf/target = affected_mob.loc + if(istype(target)) + for(var/mob/living/carbon/C in oview(spread_range, affected_mob)) + var/turf/current = get_turf(C) + if(current) + while(TRUE) + if(current == target) + C.ContractDisease(src) + break + var/direction = get_dir(current, target) + var/turf/next = get_step(current, direction) + current = next + +/datum/disease/proc/cure() + if(affected_mob) + if(disease_flags & CAN_RESIST) + if(!(type in affected_mob.GetResistances())) + affected_mob.resistances += type + remove_virus() + qdel(src) + +/datum/disease/proc/IsSame(datum/disease/D) + if(ispath(D)) + return istype(src, D) + return istype(src, D.type) + +/datum/disease/proc/Copy() + var/datum/disease/D = new type() + D.strain_data = strain_data.Copy() + return D + +/datum/disease/proc/GetDiseaseID() + return type + +/datum/disease/proc/IsSpreadByTouch() + if(spread_flags & CONTACT_FEET || spread_flags & CONTACT_HANDS || spread_flags & CONTACT_GENERAL) + return 1 + return 0 + +/datum/disease/proc/remove_virus() + affected_mob.viruses -= src + BITSET(affected_mob.hud_updateflag, STATUS_HUD) + +/datum/disease/proc/Start() + return + +/datum/disease/proc/End() + return diff --git a/code/datums/diseases/advance/advance.dm b/code/datums/diseases/advance/advance.dm new file mode 100644 index 00000000000..e5790c3bca2 --- /dev/null +++ b/code/datums/diseases/advance/advance.dm @@ -0,0 +1,414 @@ +GLOBAL_LIST_EMPTY(archive_diseases) + +GLOBAL_LIST_INIT(advance_cures, list( + "sodiumchloride", "sugar", "orangejuice", + "spaceacillin", "glucose", "ethanol", + "leporazine", "impedrezene", "hepanephrodaxon", + "silver", "gold" +)) + +/datum/disease/advance + name = "Unknown" + desc = "An engineered disease which can contain a multitude of symptoms." + form = "Advance Disease" + agent = "advance microbes" + max_stages = 5 + spread_text = "Unknown" + viable_mobtypes = list(/mob/living/carbon/human) + + var/s_processing = FALSE + var/list/symptoms = list() + var/id = "" + +/datum/disease/advance/New(process = 1, datum/disease/advance/D) + if(!istype(D)) + D = null + + if(!symptoms || !length(symptoms)) + + if(!D || !D.symptoms || !length(D.symptoms)) + symptoms = GenerateSymptoms(0, 2) + else + for(var/datum/symptom/S in D.symptoms) + symptoms += new S.type + + Refresh() + ..(process, D) + return + +/datum/disease/advance/Destroy() + if(s_processing) + for(var/datum/symptom/S in symptoms) + S.End(src) + return ..() + +/datum/disease/advance/stage_act() + if(!..()) + return FALSE + if(symptoms && length(symptoms)) + + if(!s_processing) + s_processing = TRUE + for(var/datum/symptom/S in symptoms) + S.Start(src) + + for(var/datum/symptom/S in symptoms) + S.Activate(src) + else + CRASH("We do not have any symptoms during stage_act()!") + return TRUE + +/datum/disease/advance/IsSame(datum/disease/advance/D) + if(ispath(D)) + return FALSE + + if(!istype(D, /datum/disease/advance)) + return FALSE + + if(GetDiseaseID() != D.GetDiseaseID()) + return FALSE + + return TRUE + +/datum/disease/advance/cure(resistance=1) + if(affected_mob) + var/id = "[GetDiseaseID()]" + if(resistance && !(id in affected_mob.GetResistances())) + affected_mob.GetResistances()[id] = id + remove_virus() + qdel(src) + +/datum/disease/advance/Copy(process = 0) + return new /datum/disease/advance(process, src, 1) + +/datum/disease/advance/proc/Mix(datum/disease/advance/D) + if(!(IsSame(D))) + var/list/possible_symptoms = shuffle(D.symptoms) + for(var/datum/symptom/S in possible_symptoms) + AddSymptom(new S.type) + +/datum/disease/advance/proc/HasSymptom(datum/symptom/S) + for(var/datum/symptom/symp in symptoms) + if(symp.id == S.id) + return 1 + return 0 + +/datum/disease/advance/proc/GenerateSymptomsBySeverity(sev_min, sev_max, amount = 1) + + var/list/generated = list() + + var/list/possible_symptoms = list() + for(var/symp in GLOB.list_symptoms) + var/datum/symptom/S = new symp + if(S.severity >= sev_min && S.severity <= sev_max) + if(!HasSymptom(S)) + possible_symptoms += S + + if(!length(possible_symptoms)) + return generated + + for(var/i = 1 to amount) + generated += pick_n_take(possible_symptoms) + + return generated + +/datum/disease/advance/proc/GenerateSymptoms(level_min, level_max, amount_get = 0) + + var/list/generated = list() + + // Generate symptoms. By default, we only choose non-deadly symptoms. + var/list/possible_symptoms = list() + for(var/symp in GLOB.list_symptoms) + var/datum/symptom/S = new symp + if(S.level >= level_min && S.level <= level_max) + if(!HasSymptom(S)) + possible_symptoms += S + + if(!length(possible_symptoms)) + return generated + + // Random chance to get more than one symptom + var/number_of = amount_get + if(!amount_get) + number_of = 1 + while(prob(20)) + number_of += 1 + + for(var/i = 1; number_of >= i && length(possible_symptoms); i++) + generated += pick_n_take(possible_symptoms) + + return generated + +/datum/disease/advance/proc/Refresh(new_name = FALSE, archive = FALSE) + var/list/properties = GenerateProperties() + AssignProperties(properties) + id = null + + if(!GLOB.archive_diseases[GetDiseaseID()]) + if(new_name) + AssignName() + GLOB.archive_diseases[GetDiseaseID()] = src // So we don't infinite loop + GLOB.archive_diseases[GetDiseaseID()] = new /datum/disease/advance(0, src, 1) + + var/datum/disease/advance/A = GLOB.archive_diseases[GetDiseaseID()] + AssignName(A.name) + +/datum/disease/advance/proc/GenerateProperties() + + if(!symptoms || !length(symptoms)) + CRASH("We did not have any symptoms before generating properties.") + + var/list/properties = list("resistance" = 1, "stealth" = 0, "stage rate" = 1, "transmittable" = 1, "severity" = 0) + + for(var/datum/symptom/S in symptoms) + + properties["resistance"] += S.resistance + properties["stealth"] += S.stealth + properties["stage rate"] += S.stage_speed + properties["transmittable"] += S.transmittable + properties["severity"] = max(properties["severity"], S.severity) // severity is based on the highest severity symptom + + return properties + +/datum/disease/advance/proc/AssignProperties(list/properties = list()) + + if(properties && length(properties)) + switch(properties["stealth"]) + if(2) + visibility_flags = HIDDEN_SCANNER + if(3 to INFINITY) + visibility_flags = HIDDEN_SCANNER|HIDDEN_PANDEMIC + + // The more symptoms we have, the less transmittable it is but some symptoms can make up for it. + SetSpread(clamp(2 ** (properties["transmittable"] - length(symptoms)), BLOOD, AIRBORNE)) + permeability_mod = max(CEILING(0.4 * properties["transmittable"], 1), 1) + cure_chance = 15 - clamp(properties["resistance"], -5, 5) // can be between 10 and 20 + stage_prob = max(properties["stage rate"], 2) + SetSeverity(properties["severity"]) + GenerateCure(properties) + else + CRASH("Our properties were empty or null!") + +/datum/disease/advance/proc/SetSpread(spread_id) + switch(spread_id) + if(NON_CONTAGIOUS, SPECIAL) + spread_text = "Non-contagious" + if(CONTACT_GENERAL, CONTACT_HANDS, CONTACT_FEET) + spread_text = "On contact" + if(AIRBORNE) + spread_text = "Airborne" + if(BLOOD) + spread_text = "Blood" + + spread_flags = spread_id + +/datum/disease/advance/proc/SetSeverity(level_sev) + + switch(level_sev) + + if(-INFINITY to 0) + severity = NONTHREAT + if(1) + severity = MINOR + if(2) + severity = MEDIUM + if(3) + severity = HARMFUL + if(4) + severity = DANGEROUS + if(5 to INFINITY) + severity = BIOHAZARD + else + severity = "Unknown" + +/datum/disease/advance/proc/GenerateCure(list/properties = list()) + if(properties && length(properties)) + var/res = clamp(properties["resistance"] - (length(symptoms) / 2), 1, length(GLOB.advance_cures)) + cures = list(GLOB.advance_cures[res]) + cure_text = cures[1] + return + +// Randomly generate a symptom, has a chance to lose or gain a symptom. +/datum/disease/advance/proc/Evolve(min_level, max_level) + var/s = safepick(GenerateSymptoms(min_level, max_level, 1)) + if(s) + AddSymptom(s) + Refresh(1) + return + +/datum/disease/advance/proc/PickyEvolve(var/list/datum/symptom/D) + var/s = safepick(D) + if(s) + AddSymptom(new s) + Refresh(1) + return + +// Randomly remove a symptom. +/datum/disease/advance/proc/Devolve() + if(length(symptoms) > 1) + var/s = safepick(symptoms) + if(s) + RemoveSymptom(s) + Refresh(1) + return + +// Name the disease. +/datum/disease/advance/proc/AssignName(name = "Unknown") + src.name = name + return + +// Return a unique ID of the disease. +/datum/disease/advance/GetDiseaseID() + if(!id) + var/list/L = list() + for(var/datum/symptom/S in symptoms) + L += S.id + L = sortList(L) // Sort the list so it doesn't matter which order the symptoms are in. + var/result = jointext(L, ":") + id = result + return id + +// Add a symptom, if it is over the limit (with a small chance to be able to go over) +// we take a random symptom away and add the new one. +/datum/disease/advance/proc/AddSymptom(datum/symptom/S) + + if(HasSymptom(S)) + return + + if(length(symptoms) < (VIRUS_SYMPTOM_LIMIT - 1) + rand(-1, 1)) + symptoms += S + else + RemoveSymptom(pick(symptoms)) + symptoms += S + return + +// Simply removes the symptom. +/datum/disease/advance/proc/RemoveSymptom(datum/symptom/S) + symptoms -= S + return + +// Mix a list of advance diseases and return the mixed result. +/proc/Advance_Mix(list/D_list) + + var/list/diseases = list() + + for(var/datum/disease/advance/A in D_list) + diseases += A.Copy() + + if(!length(diseases)) + return null + if(length(diseases) <= 1) + return pick(diseases) // Just return the only entry. + + var/i = 0 + // Mix our diseases until we are left with only one result. + while(i < 20 && length(diseases) > 1) + + i++ + + var/datum/disease/advance/D1 = pick(diseases) + diseases -= D1 + + var/datum/disease/advance/D2 = pick(diseases) + D2.Mix(D1) + + // Should be only 1 entry left, but if not let's only return a single entry + var/datum/disease/advance/to_return = pick(diseases) + to_return.Refresh(1) + return to_return + +/proc/SetViruses(datum/reagent/R, list/data) + if(data) + var/list/preserve = list() + if(istype(data) && data["viruses"]) + for(var/datum/disease/A in data["viruses"]) + preserve += A.Copy() + R.data = data.Copy() + if(length(preserve)) + R.data["viruses"] = preserve + +/client/proc/AdminCreateVirus() + set category = "Fun.Event Kit" + set name = "Create Advanced Virus" + set desc = "Create an advanced virus and release it." + + if(!is_admin()) + return FALSE + + var/i = VIRUS_SYMPTOM_LIMIT + var/mob/living/carbon/human/H = null + + var/datum/disease/advance/D = new(0, null) + D.symptoms = list() + + var/list/symptoms = list() + symptoms += "Done" + symptoms += GLOB.list_symptoms.Copy() + do + if(usr) + var/symptom = tgui_input_list(usr, "Choose a symptom to add ([i] remaining)", "Choose a Symptom", symptoms) + if(isnull(symptom)) + return + else if(istext(symptom)) + i = 0 + else if(ispath(symptom)) + var/datum/symptom/S = new symptom + if(!D.HasSymptom(S)) + D.symptoms += S + i -= 1 + while(i > 0) + + if(length(D.symptoms) > 0) + + var/new_name = tgui_input_text(usr, "Name your new disease.", "New Name") + if(!new_name) + return FALSE + D.AssignName(new_name) + D.Refresh() + + for(var/datum/disease/advance/AD in active_diseases) + AD.Refresh() + + H = tgui_input_list(usr, "Choose infectee", "Infectees", human_mob_list) + + if(isnull(H)) + return FALSE + + if(!H.HasDisease(D)) + H.ForceContractDisease(D) + + var/list/name_symptoms = list() + for(var/datum/symptom/S in D.symptoms) + name_symptoms += S.name + message_admins("[key_name_admin(usr)] has triggered a custom virus outbreak of [D.name]! It has these symptoms: [english_list(name_symptoms)]") + log_admin("[key_name_admin(usr)] infected [key_name_admin(H)] with [D.name]. It has these symptoms: [english_list(name_symptoms)]") + + return TRUE + +/datum/disease/advance/proc/totalStageSpeed() + var/total_stage_speed = 0 + for(var/i in symptoms) + var/datum/symptom/S = i + total_stage_speed += S.stage_speed + return total_stage_speed + +/datum/disease/advance/proc/totalStealth() + var/total_stealth = 0 + for(var/i in symptoms) + var/datum/symptom/S = i + total_stealth += S.stealth + return total_stealth + +/datum/disease/advance/proc/totalResistance() + var/total_resistance = 0 + for(var/i in symptoms) + var/datum/symptom/S = i + total_resistance += S.resistance + return total_resistance + +/datum/disease/advance/proc/totalTransmittable() + var/total_transmittable = 0 + for(var/i in symptoms) + var/datum/symptom/S = i + total_transmittable += S.transmittable + return total_transmittable diff --git a/code/datums/diseases/advance/disease_preset.dm b/code/datums/diseases/advance/disease_preset.dm new file mode 100644 index 00000000000..d30bbf2ebb5 --- /dev/null +++ b/code/datums/diseases/advance/disease_preset.dm @@ -0,0 +1,16 @@ +// Cold + +/datum/disease/advance/cold/New(process = 1, datum/disease/advance/D, copy = 0) + if(!D) + name = "Cold" + symptoms = list(new /datum/symptom/sneeze) + ..(process, D, copy) + + +// Flu + +/datum/disease/advance/flu/New(process = 1, datum/disease/advance/D, copy = 0) + if(!D) + name = "Flu" + symptoms = list(new /datum/symptom/cough) + ..(process, D, copy) diff --git a/code/datums/diseases/advance/symptoms/choking.dm b/code/datums/diseases/advance/symptoms/choking.dm new file mode 100644 index 00000000000..24be1c1a153 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/choking.dm @@ -0,0 +1,52 @@ +/* +////////////////////////////////////// + +Choking + + Very very noticable. + Lowers resistance. + Decreases stage speed. + Decreases transmittablity tremendously. + Moderate Level. + +Bonus + Inflicts spikes of oxyloss + +////////////////////////////////////// +*/ + +/datum/symptom/choking + name = "Choking" + stealth = -3 + resistance = -2 + stage_speed = -2 + transmittable = -4 + level = 3 + severity = 3 + +/datum/symptom/choking/Activate(datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/M = A.affected_mob + switch(A.stage) + if(1, 2) + to_chat(M, span_warning(pick("You're having difficulty breathing.", "Your breathing becomes heavy."))) + if(3, 4) + to_chat(M, span_boldwarning(pick("Your windpipe feels like a straw.", "Your breathing becomes tremendously difficult."))) + Choke_stage_3_4(M, A) + M.emote("gasp") + else + to_chat(M, span_userdanger(pick("You're choking!", "You can't breathe!"))) + Choke(M, A) + M.emote("gasp") + return + +/datum/symptom/choking/proc/Choke_stage_3_4(mob/living/M, datum/disease/advance/A) + var/get_damage = sqrtor0(21+A.totalStageSpeed()*0.5)+sqrtor0(16+A.totalStealth()) + M.adjustOxyLoss(get_damage) + return 1 + +/datum/symptom/choking/proc/Choke(mob/living/M, datum/disease/advance/A) + var/get_damage = sqrtor0(21+A.totalStageSpeed()*0.5)+sqrtor0(16+A.totalStealth()*5) + M.adjustOxyLoss(get_damage) + return 1 diff --git a/code/datums/diseases/advance/symptoms/confusion.dm b/code/datums/diseases/advance/symptoms/confusion.dm new file mode 100644 index 00000000000..039d9ad8db6 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/confusion.dm @@ -0,0 +1,40 @@ +/* +////////////////////////////////////// + +Confusion + + Little bit hidden. + Lowers resistance. + Decreases stage speed. + Not very transmittable. + Intense Level. + +Bonus + Makes the affected mob be confused for short periods of time. + +////////////////////////////////////// +*/ + +/datum/symptom/confusion + + name = "Confusion" + stealth = 1 + resistance = -1 + stage_speed = -3 + transmittable = 0 + level = 4 + severity = 2 + + +/datum/symptom/confusion/Activate(datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/carbon/M = A.affected_mob + switch(A.stage) + if(1, 2, 3, 4) + to_chat(M, span_warning(pick("Your head hurts.", "Your mind blanks for a moment."))) + else + to_chat(M, span_userdanger("You can't think straight!")) + M.AdjustConfused(rand(16, 200)) + + return diff --git a/code/datums/diseases/advance/symptoms/cough.dm b/code/datums/diseases/advance/symptoms/cough.dm new file mode 100644 index 00000000000..00a33e9ce64 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/cough.dm @@ -0,0 +1,42 @@ +/* +////////////////////////////////////// + +Coughing + + Noticable. + Little Resistance. + Doesn't increase stage speed much. + Transmittable. + Low Level. + +BONUS + Will force the affected mob to drop small items. + Small spread if not wearing a mask + +////////////////////////////////////// +*/ + +/datum/symptom/cough + name = "Cough" + stealth = -1 + resistance = 3 + stage_speed = 1 + transmittable = 2 + level = 1 + severity = 1 + +/datum/symptom/cough/Activate(var/datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/M = A.affected_mob + switch(A.stage) + if(1, 2, 3) + to_chat(M, span_warning(pick("You swallow excess mucus", "You lightly cough."))) + else + M.emote("cough") + var/obj/item/I = M.get_active_hand() + if(I && I.w_class == ITEMSIZE_SMALL) + M.drop_item() + if(!M.wear_mask) // Small spread if not wearing a mask + A.spread(2) + return diff --git a/code/datums/diseases/advance/symptoms/damage_converter.dm b/code/datums/diseases/advance/symptoms/damage_converter.dm new file mode 100644 index 00000000000..f2a299469b1 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/damage_converter.dm @@ -0,0 +1,59 @@ +/* +////////////////////////////////////// + +Damage Converter + + Little bit hidden. + Lowers resistance tremendously. + Decreases stage speed tremendously. + Reduced transmittablity + Intense Level. + +Bonus + Slowly converts brute/fire damage to toxin. + +////////////////////////////////////// +*/ + +/datum/symptom/damage_converter + name = "Toxic Compensation" + stealth = 1 + resistance = -4 + stage_speed = -4 + transmittable = -2 + level = 4 + +/datum/symptom/damage_converter/Activate(datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB * 10)) + var/mob/living/M = A.affected_mob + switch(A.stage) + if(4, 5) + Convert(M) + return + +/datum/symptom/damage_converter/proc/Convert(mob/living/M) + + var/get_damage = rand(1, 2) + + if(ishuman(M)) + var/mob/living/carbon/human/H = M + + var/list/parts = H.get_damaged_organs(TRUE, TRUE) + + if(!length(parts)) + return + var/healed = 0 + for(var/obj/item/organ/external/E in parts) + healed += min(E.brute_dam, get_damage) + min(E.burn_dam, get_damage) + E.heal_damage(get_damage, get_damage, 0, 0) + M.adjustToxLoss(healed) + + else + if(M.getFireLoss() > 0 || M.getBruteLoss() > 0) + M.adjustFireLoss(-get_damage) + M.adjustBruteLoss(-get_damage) + M.adjustToxLoss(get_damage) + else + return + return TRUE diff --git a/code/datums/diseases/advance/symptoms/deafness.dm b/code/datums/diseases/advance/symptoms/deafness.dm new file mode 100644 index 00000000000..21a44b2e9f4 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/deafness.dm @@ -0,0 +1,38 @@ +/* +////////////////////////////////////// + +Deafness + + Slightly hidden. + Lowers resistance. + Increases stage speed slightly. + Decreases transmittablity. + Intense Level. + +Bonus + Causes intermittent loss of hearing. + +////////////////////////////////////// +*/ + +/datum/symptom/deafness + name = "Deafness" + stealth = 1 + resistance = -2 + stage_speed = 1 + transmittable = -3 + level = 4 + severity = 3 + +/datum/symptom/deafness/Activate(datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/M = A.affected_mob + + switch(A.stage) + if(3, 4) + to_chat(M, span_warning("[pick("you hear a ringing in your ear.", "You ears pop.")]")) + if(5) + to_chat(M, span_userdanger("You ear pop and begin ringing loudly!")) + M.ear_deaf += 20 + return diff --git a/code/datums/diseases/advance/symptoms/dizzy.dm b/code/datums/diseases/advance/symptoms/dizzy.dm new file mode 100644 index 00000000000..fdedcba79c0 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/dizzy.dm @@ -0,0 +1,38 @@ +/* +////////////////////////////////////// + +Dizziness + + Hidden. + Lowers resistance considerably. + Decreases stage speed. + Reduced transmittability + Intense Level. + +Bonus + Shakes the affected mob's screen for short periods. + +////////////////////////////////////// +*/ + +/// Not the egg +/datum/symptom/dizzy + name = "Dizziness" + stealth = 2 + resistance = -2 + stage_speed = -3 + transmittable = -1 + level = 4 + severity = 2 + +/datum/symptom/dizzy/Activate(var/datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/M = A.affected_mob + switch(A.stage) + if(1, 2, 3, 4) + to_chat(M, span_warning(pick("You feel dizzy.", "Your head spins."))) + else + to_chat(M, span_userdanger("A wave of dizziness washes over you!")) + M.make_dizzy(10) + return diff --git a/code/datums/diseases/advance/symptoms/fever.dm b/code/datums/diseases/advance/symptoms/fever.dm new file mode 100644 index 00000000000..6e252e56cd9 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/fever.dm @@ -0,0 +1,40 @@ +/* +////////////////////////////////////// + +Fever + + No change to hidden. + Increases resistance. + Increases stage speed. + Little transmittable. + Low level. + +Bonus + Heats up your body. + +////////////////////////////////////// +*/ + +/datum/symptom/fever + name = "Fever" + stealth = 0 + resistance = 3 + stage_speed = 3 + transmittable = 2 + level = 2 + severity = 2 + +/datum/symptom/fever/Activate(var/datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/carbon/M = A.affected_mob + to_chat(M, span_warning(pick("You feel hot.", "You feel like you're burning."))) + if(M.bodytemperature < BODYTEMP_HEAT_DAMAGE_LIMIT) + Heat(M, A) + + return + +/datum/symptom/fever/proc/Heat(var/mob/living/M, var/datum/disease/advance/A) + var/get_heat = (sqrtor0(21+A.totalTransmittable()*2))+(sqrtor0(20+A.totalStageSpeed()*3)) + M.bodytemperature = min(M.bodytemperature + (get_heat * A.stage), BODYTEMP_HEAT_DAMAGE_LIMIT - 1) + return TRUE diff --git a/code/datums/diseases/advance/symptoms/fire.dm b/code/datums/diseases/advance/symptoms/fire.dm new file mode 100644 index 00000000000..956d778f5d5 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/fire.dm @@ -0,0 +1,56 @@ +/* +////////////////////////////////////// + +Spontaneous Combustion + + Slightly hidden. + Lowers resistance tremendously. + Decreases stage tremendously. + Decreases transmittablity tremendously. + Fatal Level. + +Bonus + Ignites infected mob. + +////////////////////////////////////// +*/ + +/datum/symptom/fire + name = "Spontaneous Combustion" + stealth = 1 + resistance = -4 + stage_speed = -4 + transmittable = -4 + level = 6 + severity = 5 + +/datum/symptom/fire/Activate(datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/M = A.affected_mob + switch(A.stage) + if(3) + to_chat(M, span_warning(pick("You feel hot.", "You hear a crackling noise.", "You smell smoke."))) + if(4) + Firestacks_stage_4(M, A) + M.IgniteMob() + to_chat(M, span_userdanger("Your skin bursts into flames!")) + M.emote("scream") + if(5) + Firestacks_stage_5(M, A) + M.IgniteMob() + to_chat(M, span_userdanger("Your skin erupts into an inferno!")) + M.emote("scream") + return + +/datum/symptom/fire/proc/Firestacks_stage_4(mob/living/M, datum/disease/advance/A) + var/get_stacks = max((sqrtor0(20 + A.totalStageSpeed() * 2)) - (sqrtor0(16 + A.totalStealth())), 1) + M.adjust_fire_stacks(get_stacks) + M.adjustFireLoss(get_stacks * 0.5) + return 1 + +/datum/symptom/fire/proc/Firestacks_stage_5(mob/living/M, datum/disease/advance/A) + var/get_stacks = max((sqrtor0(20 + A.totalStageSpeed() * 3))-(sqrtor0(16 + A.totalStealth())), 1) + M.adjust_fire_stacks(get_stacks) + M.adjustFireLoss(get_stacks) + return 1 diff --git a/code/datums/diseases/advance/symptoms/flesh_eating.dm b/code/datums/diseases/advance/symptoms/flesh_eating.dm new file mode 100644 index 00000000000..00a5a273e7b --- /dev/null +++ b/code/datums/diseases/advance/symptoms/flesh_eating.dm @@ -0,0 +1,42 @@ +/* +////////////////////////////////////// + +Necrotizing Fasciitis (AKA Flesh-Eating Disease) + + Very very noticable. + Lowers resistance tremendously. + No changes to stage speed. + Decreases transmittablity tremendously. + Fatal Level. + +Bonus + Deals brute damage over time. + +////////////////////////////////////// +*/ + +/datum/symptom/flesh_eating + name = "Necrotizing Fasciitis" + stealth = -3 + resistance = -4 + stage_speed = 0 + transmittable = -4 + level = 6 + severity = 5 + +/datum/symptom/flesh_eating/Activate(datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/M = A.affected_mob + switch(A.stage) + if(2,3) + to_chat(M, span_warning(pick("You feel a sudden pain across your body.", "Drops of blood appear suddenly on your skin."))) + if(4,5) + to_chat(M, span_userdanger(pick("You cringe as a violent pain takes over your body.", "It feels like your body is eating itself inside out.", "IT HURTS."))) + Flesheat(M, A) + return + +/datum/symptom/flesh_eating/proc/Flesheat(mob/living/M, datum/disease/advance/A) + var/get_damage = ((sqrtor0(16-A.totalStealth()))*5) + M.adjustBruteLoss(get_damage) + return 1 diff --git a/code/datums/diseases/advance/symptoms/flip.dm b/code/datums/diseases/advance/symptoms/flip.dm new file mode 100644 index 00000000000..e210e4b3bfe --- /dev/null +++ b/code/datums/diseases/advance/symptoms/flip.dm @@ -0,0 +1,33 @@ +/* +////////////////////////////////////// + +Flippinov + + Slightly hidden. + No change to resistance. + Increases stage speed. + Little transmittable. + Low Level. + +BONUS + Makes the host FLIP. + Should be used for buffing your disease. + +////////////////////////////////////// +*/ + +/datum/symptom/spyndrome + name = "Flippinov" + stealth = 2 + resistance = 0 + stage_speed = 3 + transmittable = 1 + level = 1 + severity = 1 + +/datum/symptom/spyndrome/Activate(datum/disease/advance/A) + ..() + + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/L = A.affected_mob + L.emote("flip") diff --git a/code/datums/diseases/advance/symptoms/hair.dm b/code/datums/diseases/advance/symptoms/hair.dm new file mode 100644 index 00000000000..1a6c2ff109c --- /dev/null +++ b/code/datums/diseases/advance/symptoms/hair.dm @@ -0,0 +1,56 @@ +/* +////////////////////////////////////// +Alopecia + + Noticable. + Decreases resistance slightly. + Reduces stage speed slightly. + Transmittable. + Intense Level. + +BONUS + Makes the mob lose hair. + +////////////////////////////////////// +*/ + +/datum/symptom/shedding + name = "Alopecia" + stealth = -1 + resistance = -1 + stage_speed = -1 + transmittable = 2 + level = 4 + severity = 1 + +/datum/symptom/shedding/Activate(datum/disease/advance/A) + ..() + if(!prob(SYMPTOM_ACTIVATION_PROB)) + return + if(ishuman(A.affected_mob)) + return + var/mob/living/carbon/human/H = A.affected_mob + var/obj/item/organ/external/head/head_organ = H.get_organ(BP_HEAD) + if(!istype(head_organ)) + return + to_chat(H, span_warning("[pick("Your scalp itches.", "Your skin feels flakey.")]")) + + switch(A.stage) + if(3, 4) + if(H.h_style != "Bald" && H.h_style != "Balding Hair") + to_chat(H, span_warning("Your hair starts to fall out in clumps...")) + addtimer(CALLBACK(src, PROC_REF(change_hair), H, null, "Balding Hair"), 5 SECONDS) + if(5) + if(H.h_style != "Shaved" && H.h_style != "Bald") + to_chat(H, span_warning("Your hair starts to fall out in clumps...")) + addtimer(CALLBACK(src, PROC_REF(change_hair), H, "Shaved", "Bald"), 5 SECONDS) + return + +/datum/symptom/shedding/proc/change_hair(var/mob/living/carbon/human/H, f_style, h_style) + if(!H) + return + if(f_style) + H.f_style = f_style + if(h_style) + H.h_style = h_style + return diff --git a/code/datums/diseases/advance/symptoms/hallucigen.dm b/code/datums/diseases/advance/symptoms/hallucigen.dm new file mode 100644 index 00000000000..4bd1e44401d --- /dev/null +++ b/code/datums/diseases/advance/symptoms/hallucigen.dm @@ -0,0 +1,40 @@ +/* +////////////////////////////////////// + +Hallucigen + + Very noticable. + Lowers resistance considerably. + Decreases stage speed. + Reduced transmittable. + Critical Level. + +Bonus + Makes the affected mob be hallucinated for short periods of time. + +////////////////////////////////////// +*/ + +/datum/symptom/hallucigen + name = "Hallucigen" + stealth = -2 + resistance = -3 + stage_speed = -3 + transmittable = -1 + level = 5 + severity = 3 + +/datum/symptom/hallucigen/Activate(datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/carbon/M = A.affected_mob + switch(A.stage) + if(1, 2) + to_chat(M, span_warning(pick("Something appears in your peripheral vision, then winks out.", "You hear a faint whisper with no source.", "Your head aches."))) + if(3, 4) + to_chat(M, span_boldwarning(pick("Something is following you.", "You are being watched.", "You hear a whisper in your ear.", "Thumping footsteps slam toward you from nowhere."))) + else + to_chat(M, span_userdanger(pick("Oh, your head...", "Your head pounds.", "They're everywhere! Run!", "Something in the shadows..."))) + M.hallucination = rand(5, 10) + + return diff --git a/code/datums/diseases/advance/symptoms/headache.dm b/code/datums/diseases/advance/symptoms/headache.dm new file mode 100644 index 00000000000..431ed9b6703 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/headache.dm @@ -0,0 +1,33 @@ +/* +////////////////////////////////////// + +Headache + + Noticable. + Highly resistant. + Increases stage speed. + Not transmittable. + Low Level. + +BONUS + Displays an annoying message! + Should be used for buffing your disease. + +////////////////////////////////////// +*/ + +/datum/symptom/headache + name = "Headache" + stealth = -1 + resistance = 4 + stage_speed = 2 + transmittable = 0 + level = 1 + severity = 1 + +/datum/symptom/headache/Activate(var/datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/M = A.affected_mob + to_chat(M, span_warning(pick("Your head hurts.", "Your head starts pounding."))) + return diff --git a/code/datums/diseases/advance/symptoms/heal.dm b/code/datums/diseases/advance/symptoms/heal.dm new file mode 100644 index 00000000000..340b88d6b4c --- /dev/null +++ b/code/datums/diseases/advance/symptoms/heal.dm @@ -0,0 +1,150 @@ +/* +////////////////////////////////////// + +Healing + + Little bit hidden. + Lowers resistance tremendously. + Decreases stage speed tremendously. + Decreases transmittablity temrendously. + Fatal Level. + +Bonus + Heals toxins in the affected mob's blood stream. + +////////////////////////////////////// +*/ + +/datum/symptom/heal + name = "Toxic Filter" + stealth = 1 + resistance = -4 + stage_speed = -4 + transmittable = -4 + level = 6 + +/datum/symptom/heal/Activate(datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB * 10)) + var/mob/living/M = A.affected_mob + switch(A.stage) + if(4, 5) + Heal(M, A) + return + +/datum/symptom/heal/proc/Heal(mob/living/M, datum/disease/advance/A) + var/get_damage = max(0, (sqrtor0(20+A.totalStageSpeed())*(1+rand()))) + M.adjustToxLoss(-get_damage) + return TRUE + +/* +////////////////////////////////////// + +Metabolism + + Little bit hidden. + Lowers resistance. + Decreases stage speed. + Decreases transmittablity temrendously. + High Level. + +Bonus + Cures all diseases (except itself) and creates anti-bodies for them until the symptom dies. + +////////////////////////////////////// +*/ + +/datum/symptom/heal/metabolism + name = "Anti-Bodies Metabolism" + stealth = -1 + resistance = -1 + stage_speed = -1 + transmittable = -4 + level = 3 + var/list/cured_diseases = list() + +/datum/symptom/heal/metabolism/Heal(mob/living/M, datum/disease/advance/A) + var/cured = 0 + for(var/thing in M.GetViruses()) + var/datum/disease/D = thing + if(D.virus_heal_resistant) + continue + if(D != A) + cured = TRUE + cured_diseases += D.GetDiseaseID() + D.cure() + if(cured) + to_chat(M, span_notice("You feel much better.")) + +/datum/symptom/heal/metabolism/End(datum/disease/advance/A) + var/mob/living/M = A.affected_mob + if(istype(M)) + if(length(cured_diseases)) + for(var/res in M.GetResistances()) + M.resistances -= res + to_chat(M, span_warning("You feel weaker.")) + +/* +////////////////////////////////////// + +Longevity + + Medium hidden boost. + Large resistance boost. + Large stage speed boost. + Large transmittablity boost. + High Level. + +Bonus + After a certain amount of time the symptom will cure itself. + +////////////////////////////////////// +*/ + +/datum/symptom/heal/longevity + name = "Longevity" + stealth = 3 + resistance = 4 + stage_speed = 4 + transmittable = 4 + level = 3 + var/longevity = 30 + +/datum/symptom/heal/longevity/Heal(mob/living/M, datum/disease/advance/A) + longevity -= 1 + if(!longevity) + A.cure() + +/datum/symptom/heal/longevity/Start(datum/disease/advance/A) + longevity = rand(initial(longevity) - 5, initial(longevity) + 5) + +/* +////////////////////////////////////// + + DNA Restoration + + Not well hidden. + Lowers resistance minorly. + Does not affect stage speed. + Decreases transmittablity greatly. + Very high level. + +Bonus + Heals clone damage, treats radiation. + +////////////////////////////////////// +*/ + +/datum/symptom/heal/dna + name = "Deoxyribonucleic Acid Restoration" + stealth = -1 + resistance = -1 + stage_speed = 0 + transmittable = -3 + level = 5 + +/datum/symptom/heal/dna/Heal(var/mob/living/carbon/M, var/datum/disease/advance/A) + var/amt_healed = max(0, (sqrtor0(20+A.totalStageSpeed()*(3+rand())))-(sqrtor0(16+A.totalStealth()*rand()))) + M.adjustBrainLoss(-amt_healed) + M.radiation = max(M.radiation - 3, 0) + return TRUE diff --git a/code/datums/diseases/advance/symptoms/hematophagy.dm b/code/datums/diseases/advance/symptoms/hematophagy.dm new file mode 100644 index 00000000000..53e5aa842d4 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/hematophagy.dm @@ -0,0 +1,42 @@ +/* +////////////////////////////////////// + +Hematophagy + + Little bit hidden. + Decreases resistance slightly. + Decreases stage speed tremendously. + Slightly increased transmittablity. + Intense level. + +BONUS + The host must feed on BLOOD + +////////////////////////////////////// +*/ + +/datum/symptom/hematophagy + name = "Hematophagy" + stealth = 1 + resistance = -1 + resistance = -4 + transmittable = 1 + level = 4 + +/datum/symptom/hematophagy/Start(datum/disease/advance/A) + if(ishuman(A.affected_mob)) + var/mob/living/carbon/human/H = A.affected_mob + + H.species.organic_food_coeff = 0 + H.species.bloodsucker = TRUE + + add_verb(H, /mob/living/carbon/human/proc/bloodsuck) + +/datum/symptom/hematophagy/End(datum/disease/advance/A) + if(ishuman(A.affected_mob)) + var/mob/living/carbon/human/H = A.affected_mob + + H.species.organic_food_coeff = initial(H.species.organic_food_coeff) + H.species.bloodsucker = initial(H.species.bloodsucker) + + remove_verb(H, /mob/living/carbon/human/proc/bloodsuck) diff --git a/code/datums/diseases/advance/symptoms/itching.dm b/code/datums/diseases/advance/symptoms/itching.dm new file mode 100644 index 00000000000..fdf2f5f5e4f --- /dev/null +++ b/code/datums/diseases/advance/symptoms/itching.dm @@ -0,0 +1,33 @@ +/* +////////////////////////////////////// + +Itching + + Not noticable or unnoticable. + Resistant. + Increases stage speed. + Little transmittable. + Low Level. + +BONUS + Displays an annoying message! + Should be used for buffing your disease. + +////////////////////////////////////// +*/ + +/datum/symptom/itching + name = "Itching" + stealth = 0 + resistance = 3 + stage_speed = 3 + transmittable = 1 + level = 1 + severity = 1 + +/datum/symptom/itching/Activate(var/datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/M = A.affected_mob + to_chat(M, span_warning("Your [pick("back", "arm", "leg", "elbow", "head")] itches.")) + return diff --git a/code/datums/diseases/advance/symptoms/language.dm b/code/datums/diseases/advance/symptoms/language.dm new file mode 100644 index 00000000000..3ffa7c06bb6 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/language.dm @@ -0,0 +1,31 @@ +/* +////////////////////////////////////// + +Lingual Disocation + + Improves stealth. + Increases resistance. + Decreases stage speed. + Slightly decreases transmissibility. + Moderate Level. + +Bonus + Forces the affected mob to vomit + +////////////////////////////////////// +*/ + +/datum/symptom/language + name = "Lingual Disocation" + stealth = 3 + resistance = 2 + stage_speed = -2 + transmittable = -1 + level = 3 + +/datum/symptom/language/Activate(var/datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/carbon/human/H = A.affected_mob + H.apply_default_language(pick(H.languages)) + return diff --git a/code/datums/diseases/advance/symptoms/macrophage.dm b/code/datums/diseases/advance/symptoms/macrophage.dm new file mode 100644 index 00000000000..a04a3fc50fe --- /dev/null +++ b/code/datums/diseases/advance/symptoms/macrophage.dm @@ -0,0 +1,73 @@ +/* +////////////////////////////////////// + +Macrophages + + Very noticeable. + Lowers resistance slightly. + Decreases stage speed. + Increases transmittablity + Fatal leve. + +BONUS + The virus grows and ceases to be microscopic. + +////////////////////////////////////// +*/ + +/datum/symptom/macrophage + name = "Macrophage" + stealth = -4 + resistance = -1 + stage_speed = -2 + transmittable = 2 + level = 6 + severity = 2 + + var/gigagerms = FALSE + var/netspeed = 0 + var/phagecounter = 10 + +/datum/symptom/macrophage/Start(datum/disease/advance/A) + netspeed = max(1, A.stage) + if(A.severity >= HARMFUL) + gigagerms = TRUE + +/datum/symptom/macrophage/Activate(datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/M = A.affected_mob + switch(A.stage) + if(1, 2, 3) + to_chat(M, span_notice("Your skin crawls.")) + if(4) + M.visible_message(span_danger("Lumps form on [M]'s skin!"), span_userdanger("You cringe in pain as lumps form and move around on your skin!")) + if(5) + phagecounter -= max(2, A.totalStageSpeed()) + if(gigagerms && phagecounter <= 0) + Burst(A, M, TRUE) + phagecounter += 10 + while(phagecounter <= 0) + phagecounter += 5 + Burst(A, M) + +/datum/symptom/macrophage/proc/Burst(datum/disease/advance/A, var/mob/living/M, var/gigagerms = FALSE) + var/mob/living/simple_mob/vore/aggressive/macrophage/phage + phage = new(M.loc) + M.apply_damage(rand(1, 7)) + phage.viruses = A.Copy() + phage.health += A.totalResistance() + phage.maxHealth += A.totalResistance() + phage.infections += A + phage.base_disease = A + + if(A.spread_flags & CONTACT_GENERAL) + for(var/datum/disease/D in M.GetViruses()) + if((D.spread_flags & SPECIAL) || (D.spread_flags & NON_CONTAGIOUS)) + continue + if(D == A) + continue + phage.viruses += D + + M.visible_message(span_danger("A strange crearure bursts out of [M]!"), span_userdanger("A slimy creature bursts forth from your flesh!")) + addtimer(CALLBACK(phage, TYPE_PROC_REF(/mob/living/simple_mob/vore/aggressive/macrophage, deathcheck)), 3000) diff --git a/code/datums/diseases/advance/symptoms/mlem.dm b/code/datums/diseases/advance/symptoms/mlem.dm new file mode 100644 index 00000000000..fdb8672c276 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/mlem.dm @@ -0,0 +1,33 @@ +/* +////////////////////////////////////// + +Mlemingtong + + Not noticable or unnoticable. + Resistant. + Increases stage speed. + Little transmittable. + Low Level. + +BONUS + Mlem. Mlem. Mlem. + Should be used for buffing your disease. + +////////////////////////////////////// +*/ + +/datum/symptom/mlem + name = "Mlemington" + stealth = 0 + resistance = 3 + stage_speed = 3 + transmittable = 1 + level = 1 + severity = 1 + +/datum/symptom/itching/Activate(var/datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/M = A.affected_mob + M.emote("mlem") + return diff --git a/code/datums/diseases/advance/symptoms/necrotic_agent.dm b/code/datums/diseases/advance/symptoms/necrotic_agent.dm new file mode 100644 index 00000000000..24a3e9ff065 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/necrotic_agent.dm @@ -0,0 +1,31 @@ +/* +////////////////////////////////////// + +Necrotic Agent + + Very Noticable. + Lowers resistance resistance considerably. + Decreases stage speed. + Reduced transmittable. + Critical Level. + +Bonus + Makes the disease work on corpses + +////////////////////////////////////// +*/ + +/datum/symptom/necrotic_agent + name = "Necrotic Agent" + stealth = -2 + resistance = -3 + stage_speed = -3 + transmittable = 0 + level = 6 + severity = 3 + +/datum/symptom/necrotic_agent/Start(datum/disease/advance/A) + A.allow_dead = TRUE + +/datum/symptom/necrotic_agent/End(datum/disease/advance/A) + A.allow_dead = FALSE diff --git a/code/datums/diseases/advance/symptoms/oxygen.dm b/code/datums/diseases/advance/symptoms/oxygen.dm new file mode 100644 index 00000000000..3f9fbd8eee5 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/oxygen.dm @@ -0,0 +1,37 @@ +/* +////////////////////////////////////// + +Self-Respiration + + Slightly hidden. + Lowers resistance significantly. + Decreases stage speed significantly. + Decreases transmittablity tremendously. + Fatal Level. + +Bonus + The body generates dexalin. + +////////////////////////////////////// +*/ + +/datum/symptom/oxygen + name = "Self-Respiration" + stealth = 1 + resistance = -3 + stage_speed = -3 + transmittable = -4 + level = 6 + +/datum/symptom/oxygen/Activate(var/datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB * 5)) + var/mob/living/M = A.affected_mob + switch(A.stage) + if(4, 5) + if(M.reagents.get_reagent_amount("dexalin") < 10) + M.reagents.add_reagent("dexalin", 10) + else + if(prob(SYMPTOM_ACTIVATION_PROB * 5)) + to_chat(M, span_notice(pick("Your lungs feel great.", "You realize you haven't been breathing.", "You don't feel the need to breathe."))) + return diff --git a/code/datums/diseases/advance/symptoms/photosensitivity.dm b/code/datums/diseases/advance/symptoms/photosensitivity.dm new file mode 100644 index 00000000000..5908bfb259c --- /dev/null +++ b/code/datums/diseases/advance/symptoms/photosensitivity.dm @@ -0,0 +1,41 @@ +/* +////////////////////////////////////// + +Photosensitivity + + Noticable. + Increases resistance. + Increases stage speed slightly. + Decreases transmittablity tremendously. + Fatal Level. + +Bonus + Deals brute damage over time. + +////////////////////////////////////// +*/ + +/datum/symptom/photosensitivity + name = "Photosensitivity" + stealth = -2 + resistance = 2 + stage_speed = 1 + transmittable = -4 + level = 6 + severity = 5 + +/datum/symptom/photosensitivity/Activate(datum/disease/advance/A) + ..() + + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/carbon/human/H = A.affected_mob + var/turf/T = get_turf(H) + switch(A.stage) + if(3) + if(T.get_lumcount() > 0.5) + to_chat(H, span_danger("Your skin itches under the light...")) + if(4, 5) + if(T.get_lumcount() > 0.5) + to_chat(H, span_danger("Your skin feels like burning!")) + H.adjustFireLoss(T.get_lumcount()) + return diff --git a/code/datums/diseases/advance/symptoms/pica.dm b/code/datums/diseases/advance/symptoms/pica.dm new file mode 100644 index 00000000000..ddd7e282d85 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/pica.dm @@ -0,0 +1,46 @@ +/* +////////////////////////////////////// + +Pica + + Not noticable or unnoticable. + Decreases resistance. + Increases stage speed. + Little transmittable. + Low Level. + +BONUS + The host gains hunger for any kind of object. + +////////////////////////////////////// +*/ + +/datum/symptom/pica + name = "Pica" + stealth = 0 + resistance = -2 + stage_speed = 3 + transmittable = 1 + level = 1 + severity = 1 + +/datum/symptom/pica/Start(datum/disease/advance/A) + add_verb(A.affected_mob, /mob/living/proc/eat_trash) + add_verb(A.affected_mob, /mob/living/proc/toggle_trash_catching) + +/datum/symptom/pica/End(datum/disease/advance/A) + remove_verb(A.affected_mob, /mob/living/proc/eat_trash) + remove_verb(A.affected_mob, /mob/living/proc/toggle_trash_catching) + +/datum/symptom/pica/Activate(datum/disease/advance/A) + ..() + + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/list/nearby = oview(5, A.affected_mob) + to_chat(A.affected_mob, span_warning("You could go fo a bite of [pick(nearby)]...")) + else if (prob(SYMPTOM_ACTIVATION_PROB)) + if(ishuman(A.affected_mob)) + var/mob/living/carbon/human/H = A.affected_mob + var/list/item = H.get_equipped_items() + to_chat(H, span_warning("[pick(item)] looks oddly [pick("delicious", "tasty", "scrumptious", "inviting")]...")) + return diff --git a/code/datums/diseases/advance/symptoms/sensory.dm b/code/datums/diseases/advance/symptoms/sensory.dm new file mode 100644 index 00000000000..8e19382f94e --- /dev/null +++ b/code/datums/diseases/advance/symptoms/sensory.dm @@ -0,0 +1,63 @@ +/* +////////////////////////////////////// +Sensory-Restoration + Very very very very noticable. + Lowers resistance tremendously. + Decreases stage speed tremendously. + Decreases transmittablity tremendously. + Fatal. +Bonus + The body generates Sensory restorational chemicals. + imidazoline for eyes + removes alcohol + removes hallucinogens + alkysine to kickstart the mind + +////////////////////////////////////// +*/ +/datum/symptom/mind_restoration + name = "Mind Restoration" + stealth = -3 + resistance = -4 + stage_speed = -4 + transmittable = -3 + level = 5 + severity = 0 + +/datum/symptom/mind_restoration/Activate(datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB * 3)) + var/mob/living/M = A.affected_mob + + if(A.stage >= 3) + M.slurring = max(0, M.slurring-4) + M.druggy = max(0, M.druggy-4) + M.reagents.remove_reagent("ethanol", 3) + if(A.stage >= 4) + M.drowsyness = max(0, M.drowsyness-4) + if(M.reagents.has_reagent("bliss")) + M.reagents.del_reagent("bliss") + M.hallucination = max(0, M.hallucination-4) + if(A.stage >= 5) + if(M.reagents.get_reagent_amount("alkysine") < 10) + M.reagents.add_reagent("alkysine", 5) + +/datum/symptom/sensory_restoration + name = "Sensory Restoration" + stealth = -1 + resistance = -3 + stage_speed = -2 + transmittable = -4 + level = 4 + +/datum/symptom/sensory_restoration/Activate(datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB * 5)) + var/mob/living/M = A.affected_mob + switch(A.stage) + if(4, 5) + if(M.reagents.get_reagent_amount("imidazoline") < 10) + M.reagents.add_reagent("imidazoline", 5) + else + if(prob(SYMPTOM_ACTIVATION_PROB)) + to_chat(M, span_notice(pick("Your eyes feel great.","You feel like your eyes can focus more clearly.", "You don't feel the need to blink."))) diff --git a/code/datums/diseases/advance/symptoms/shivering.dm b/code/datums/diseases/advance/symptoms/shivering.dm new file mode 100644 index 00000000000..f4a3059d7c9 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/shivering.dm @@ -0,0 +1,39 @@ +/* +////////////////////////////////////// + +Shivering + + No change to hidden. + Increases resistance. + Increases stage speed. + Little transmittable. + Low level. + +Bonus + Cools down your body. + +////////////////////////////////////// +*/ + +/datum/symptom/shivering + name = "Shivering" + stealth = 0 + resistance = 2 + stage_speed = 2 + transmittable = 2 + level = 2 + severity = 2 + +/datum/symptom/shivering/Activate(datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/carbon/M = A.affected_mob + to_chat(M, span_warning(pick("You feel cold.", "You start shivering."))) + if(M.bodytemperature > BODYTEMP_COLD_DAMAGE_LIMIT) + Chill(M, A) + return + +/datum/symptom/shivering/proc/Chill(mob/living/M, datum/disease/advance/A) + var/get_cold = (sqrtor0(16+A.totalStealth()*2))+(sqrtor0(21+A.totalResistance()*2)) + M.bodytemperature = max(M.bodytemperature - (get_cold * A.stage), BODYTEMP_COLD_DAMAGE_LIMIT + 1) + return 1 diff --git a/code/datums/diseases/advance/symptoms/size.dm b/code/datums/diseases/advance/symptoms/size.dm new file mode 100644 index 00000000000..a0a71fe1b71 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/size.dm @@ -0,0 +1,98 @@ +/* +////////////////////////////////////// + +Mass Revectoring + + Very noticeable. + Increases resistance slightly. + Increases stage speed. + Decreases transmittablity + Intense level. + +BONUS + Changes the size of the host. + +////////////////////////////////////// +*/ + +/datum/symptom/size + name = "Mass Revectoring" + stealth = -4 + resistance = 1 + stage_speed = 2 + transmittable = -2 + level = 4 + severity = 1 + +/datum/symptom/size/Activate(datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/M = A.affected_mob + + switch(A.stage) + if(4, 5) + M.emote("twitch") + Resize(M, rand(25, 200)) + +/datum/symptom/size/proc/Resize(mob/living/M, var/size) + M.resize(size+M.size_multiplier/100) + +/* +////////////////////////////////////// + +Enlargement Disorder + + Very noticeable. + Increases resistance slightly. + Increases stage speed. + Decreases transmittablity + Intense level. + +BONUS + Grows the host to bigger sizes + +////////////////////////////////////// +*/ + +/datum/symptom/size/grow + name = "Enlargement Disorder" + +/datum/symptom/size/Activate(datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/M = A.affected_mob + + switch(A.stage) + if(4, 5) + M.emote("twitch") + Resize(M, rand(100, 200)) + +/* +////////////////////////////////////// + +Dwindling Malady + + Very noticeable. + Increases resistance slightly. + Increases stage speed. + Decreases transmittablity + Intense level. + +BONUS + Shrinks the host to small sizes + +////////////////////////////////////// +*/ + +/datum/symptom/size/shrink + name = "Dwindling Malady" + +/datum/symptom/size/Activate(datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/M = A.affected_mob + + switch(A.stage) + if(4, 5) + M.emote("twitch") + Resize(M, rand(25, 100)) diff --git a/code/datums/diseases/advance/symptoms/sneeze.dm b/code/datums/diseases/advance/symptoms/sneeze.dm new file mode 100644 index 00000000000..529596945b8 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/sneeze.dm @@ -0,0 +1,119 @@ +/* +////////////////////////////////////// + +Sneezing + + Very Noticable. + Increases resistance. + Doesn't increase stage speed. + Very transmittable. + Low Level. + +Bonus + Forces a spread type of AIRBORNE + with extra range! + +////////////////////////////////////// +*/ + +/datum/symptom/sneeze + name = "Sneezing" + stealth = -2 + resistance = 3 + stage_speed = 0 + transmittable = 4 + level = 1 + severity = 1 + +/datum/symptom/sneeze/Activate(datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/M = A.affected_mob + switch(A.stage) + if(1, 2, 3) + M.emote("sniff") + else + M.emote("sneeze") + if(!M.wear_mask) // Spread only if they're not covering their face + A.spread(5) + + if(prob(30) && !M.wear_mask) // Same for mucus + var/obj/effect/decal/cleanable/mucus/icky = new(get_turf(M)) + icky.viruses |= A.Copy() + + return + +/* +////////////////////////////////////// + +Bluespace Sneezing + + Very Noticable. + Resistant + Doesn't increase stage speed. + Little transmittable. + Low Level. + +Bonus + Forces a spread type of AIRBORNE + with extra range AND teleports the mob + +////////////////////////////////////// +*/ + +/datum/symptom/sneeze/bluespace + name = "Bluespace Sneezing" + stealth = -2 + resistance = 3 + stage_speed = 0 + transmittable = 1 + level = 4 + severity = 1 + +/datum/symptom/sneeze/bluespace/Activate(datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/M = A.affected_mob + switch(A.stage) + if(1, 2, 3) + M.emote("sniff") + else + SneezeTeleport(A, M) + A.spread(A.stage) + if(prob(30)) + var/obj/effect/decal/cleanable/mucus/icky = new(get_turf(M)) + icky.viruses |= A.Copy() + + return + +/datum/symptom/sneeze/bluespace/proc/SneezeTeleport(datum/disease/advance/A, var/mob/living/M) + var/list/destination = list() + var/mob/living/carbon/human/H = M + var/place + + for(var/mob/living/carbon/human/B in range(A.stage, M)) + if(B.can_be_drop_pred && H.can_be_drop_prey && H.devourable) + destination += B.vore_selected + + for(var/turf/T in range(A.stage, H)) + if(istype(T, /turf/space)) // No danger, this is just a fun/vore symptom + continue + destination += T + + if(isemptylist(destination)) + to_chat(H, span_warning("You go to sneeze, but can't.")) + return FALSE + + place = safepick(destination) + + var/mob/living/carbon/human/unlucky = locate() in place + + if(unlucky) + if(unlucky.can_be_drop_pred && H.can_be_drop_prey && H.devourable) + place = unlucky.vore_selected + else if(unlucky.devourable && unlucky.can_be_drop_prey && H.can_be_drop_pred) + unlucky.forceMove(H.vore_selected) + + H.emote("sneeze") + do_teleport(H, place) + return TRUE diff --git a/code/datums/diseases/advance/symptoms/spin.dm b/code/datums/diseases/advance/symptoms/spin.dm new file mode 100644 index 00000000000..055505dba95 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/spin.dm @@ -0,0 +1,37 @@ +/* +////////////////////////////////////// + +Spyndrome + + Slightly hidden. + No change to resistance. + Increases stage speed. + Little transmittable. + Low Level. + +BONUS + Makes the host spin. + Should be used for buffing your disease. + +////////////////////////////////////// +*/ + +/datum/symptom/spyndrome + name = "Spyndrome" + stealth = 2 + resistance = 0 + stage_speed = 3 + transmittable = 1 + level = 1 + severity = 1 + +/datum/symptom/spyndrome/Activate(var/datum/disease/advance/A) + ..() + + if(prob(SYMPTOM_ACTIVATION_PROB)) + if(A.affected_mob.buckled()) + to_chat(viewers(A.affected_mob), span_warning("[A.affected_mob.name] struggles violently against their restraints!")) + else + to_chat(viewers(A.affected_mob), span_warning("[A.affected_mob.name] spins around violently!")) + A.affected_mob.emote("spin") + return diff --git a/code/datums/diseases/advance/symptoms/stimulant.dm b/code/datums/diseases/advance/symptoms/stimulant.dm new file mode 100644 index 00000000000..4a427d4036f --- /dev/null +++ b/code/datums/diseases/advance/symptoms/stimulant.dm @@ -0,0 +1,43 @@ +/* +////////////////////////////////////// + +Healing + + No change to stealth. + Slightly decreases resistance. + Increases stage speed. + Decreases transmittablity considerably. + Moderate Level. + +Bonus + Heals toxins in the affected mob's blood stream. + +////////////////////////////////////// +*/ + +/datum/symptom/stimulant + name = "Overactive Adrenal Gland" + stealth = 0 + resistance = -1 + stage_speed = 2 + transmittable = -3 + level = 3 + severity = 1 + +/datum/symptom/stimulant/Activate(datum/disease/advance/A) + ..() + + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/L = A.affected_mob + to_chat(L, span_notice("You feel a rush of energy inside you!")) + switch(A.stage) + if(1, 2) + L.jitteriness += 5 + if(3, 4) + L.jitteriness += 10 + else + if(L.reagents.get_reagent_amount("hyperzine" < 10)) + L.reagents.add_reagent("hyperzine", 5) + if(prob(30)) + L.jitteriness += 15 + return diff --git a/code/datums/diseases/advance/symptoms/symptoms.dm b/code/datums/diseases/advance/symptoms/symptoms.dm new file mode 100644 index 00000000000..90b39fab3bd --- /dev/null +++ b/code/datums/diseases/advance/symptoms/symptoms.dm @@ -0,0 +1,36 @@ +// Symptoms are the effects that engineered advanced diseases do. + +GLOBAL_LIST_INIT(list_symptoms, subtypesof(/datum/symptom)) + +/datum/symptom + // Buffs/Debuffs the symptom has to the overall engineered disease. + var/name = "" + var/stealth = 0 + var/resistance = 0 + var/stage_speed = 0 + var/transmittable = 0 + // The type level of the symptom. Higher is harder to generate. + var/level = 0 + // The severity level of the symptom. Higher is more dangerous. + var/severity = 0 + // The hash tag for our diseases, we will add it up with our other symptoms to get a unique id! ID MUST BE UNIQUE!!! + var/id = "" + +/datum/symptom/New() + var/list/S = GLOB.list_symptoms + for(var/i = 1; i <= length(S); i++) + if(type == S[i]) + id = "[i]" + return + CRASH("We couldn't assign an ID!") + +// Called when processing of the advance disease, which holds this symptom, starts. +/datum/symptom/proc/Start(datum/disease/advance/A) + return + +// Called when the advance disease is going to be deleted or when the advance disease stops processing. +/datum/symptom/proc/End(datum/disease/advance/A) + return + +/datum/symptom/proc/Activate(datum/disease/advance/A) + return diff --git a/code/datums/diseases/advance/symptoms/synthetic_infection.dm b/code/datums/diseases/advance/symptoms/synthetic_infection.dm new file mode 100644 index 00000000000..b34ce074818 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/synthetic_infection.dm @@ -0,0 +1,31 @@ +/* +////////////////////////////////////// + +Synthetic Infection + + Slightly hidden. + Increases resistance. + Doesn't increase stage speed. + Slightly transmittable. + High Level. + +Bonus + Allows the disease to infect synthetics + +////////////////////////////////////// +*/ + +/datum/symptom/infect_synthetics + name = "Synthetic Infection" + stealth = 1 + resistance = 2 + stage_speed = 0 + transmittable = 1 + level = 5 + severity = 3 + +/datum/symptom/infect_synthetics/Start(datum/disease/advance/A) + A.infect_synthetics = TRUE + +/datum/symptom/infect_synthetics/End(datum/disease/advance/A) + A.infect_synthetics = FALSE diff --git a/code/datums/diseases/advance/symptoms/telepathy.dm b/code/datums/diseases/advance/symptoms/telepathy.dm new file mode 100644 index 00000000000..3e02ec94d83 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/telepathy.dm @@ -0,0 +1,36 @@ +/* +////////////////////////////////////// + +Telepathy + + Hidden. + Decreases resistance. + Decreases stage speed significantly. + Decreases transmittablity tremendously. + Critical Level. + +Bonus + The user gains telepathy. + +////////////////////////////////////// +*/ + +/datum/symptom/telepathy + name = "Pineal Gland Decalcification" + stealth = 2 + resistance = -2 + stage_speed = -3 + transmittable = -4 + level = 5 + +/datum/symptom/telepathy/Start(datum/disease/advance/A) + var/mob/living/carbon/human/H = A.affected_mob + H.dna.SetSEState(REMOTETALKBLOCK, 1) + domutcheck(H, null, TRUE) + to_chat(H, span_notice("Your mind expands...")) + +/datum/symptom/telepathy/End(datum/disease/advance/A) + var/mob/living/carbon/human/H = A.affected_mob + H.dna.SetSEState(REMOTETALKBLOCK, 0) + domutcheck(H, null, TRUE) + to_chat(H, span_notice("Everything feels... Normal.")) diff --git a/code/datums/diseases/advance/symptoms/viral.dm b/code/datums/diseases/advance/symptoms/viral.dm new file mode 100644 index 00000000000..3da1de698ca --- /dev/null +++ b/code/datums/diseases/advance/symptoms/viral.dm @@ -0,0 +1,65 @@ +/* +////////////////////////////////////// +Viral adaptation + + Moderate stealth boost. + Major Increases to resistance. + Reduces stage speed. + No change to transmission + Critical Level. + +BONUS + Extremely useful for buffing viruses + +////////////////////////////////////// +*/ +/datum/symptom/viraladaptation + name = "Viral self-adaptation" + stealth = 3 + resistance = 5 + stage_speed = -3 + transmittable = 0 + level = 3 + +/datum/symptom/viraladaptation/Activate(datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/M = A.affected_mob + switch(A.stage) + if(1) + to_chat(M, span_notice("You feel off, but no different from before.")) + if(5) + to_chat(M, span_notice("You feel better, but nothing interesting happens.")) + +/* +////////////////////////////////////// +Viral evolution + + Moderate stealth reductopn. + Major decreases to resistance. + increases stage speed. + increase to transmission + Critical Level. + +BONUS + Extremely useful for buffing viruses + +////////////////////////////////////// +*/ +/datum/symptom/viralevolution + name = "Viral evolutionary acceleration" + stealth = -2 + resistance = -3 + stage_speed = 5 + transmittable = 3 + level = 3 + +/datum/symptom/viralevolution/Activate(datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/M = A.affected_mob + switch(A.stage) + if(1) + to_chat(M, span_notice("You feel better, but no different from before.")) + if(5) + to_chat(M,span_notice("You feel off, but nothing interesting happens.")) diff --git a/code/datums/diseases/advance/symptoms/vision.dm b/code/datums/diseases/advance/symptoms/vision.dm new file mode 100644 index 00000000000..d74b0c6a5dc --- /dev/null +++ b/code/datums/diseases/advance/symptoms/vision.dm @@ -0,0 +1,50 @@ +/* +////////////////////////////////////// + +Hyphema (Eye bleeding) + + Slightly noticable. + Lowers resistance tremendously. + Decreases stage speed tremendously. + Decreases transmittablity. + Critical Level. + +Bonus + Causes blindness. + +////////////////////////////////////// +*/ + +/datum/symptom/visionloss + name = "Hyphema" + stealth = -1 + resistance = -4 + stage_speed = -4 + transmittable = -3 + level = 5 + severity = 4 + +/datum/symptom/visionloss/Activate(datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/carbon/M = A.affected_mob + var/obj/item/organ/internal/eyes/eyes = M.internal_organs_by_name[O_EYES] + if(!eyes) + return + switch(A.stage) + if(1, 2) + to_chat(M, span_warning("Your eyes itch.")) + if(3, 4) + to_chat(M, span_boldwarning("Your eyes burn!")) + M.eye_blurry = 20 + eyes.take_damage(1) + else + to_chat(M, span_userdanger("Your eyes burn horrificly!")) + M.eye_blurry = 40 + eyes.take_damage(5) + if(eyes.damage >= 10) + M.disabilities |= NEARSIGHTED + if(prob(eyes.damage - 10 + 1)) + if(!M.eye_blind) + to_chat(M, span_userdanger("You go blind!")) + M.Blind(20) diff --git a/code/datums/diseases/advance/symptoms/vomit.dm b/code/datums/diseases/advance/symptoms/vomit.dm new file mode 100644 index 00000000000..06c2b0fafbf --- /dev/null +++ b/code/datums/diseases/advance/symptoms/vomit.dm @@ -0,0 +1,34 @@ +/* +////////////////////////////////////// + +Vomiting + + Noticeable. + No change to resistance. + Slightly increases stage speed. + Increases transmissibility. + Medium Level. + +Bonus + Forces the affected mob to vomit + +////////////////////////////////////// +*/ + +/datum/symptom/vomit + name = "Vomiting" + stealth = -2 + resistance = 0 + stage_speed = 1 + transmittable = 2 + level = 3 + severity = 1 + +/datum/symptom/vomit/Activate(datum/disease/advance/A) + if(!..()) + return + var/mob/living/M = A.affected_mob + if(prob(2)) + to_chat(M, span_warning(pick("you feel nauseated.", "You feel like you're going to throw up!"))) + if(prob(SYMPTOM_ACTIVATION_PROB)) + M.vomit() diff --git a/code/datums/diseases/advance/symptoms/weakness.dm b/code/datums/diseases/advance/symptoms/weakness.dm new file mode 100644 index 00000000000..917be5a46ce --- /dev/null +++ b/code/datums/diseases/advance/symptoms/weakness.dm @@ -0,0 +1,43 @@ +/* +////////////////////////////////////// + +Weakness + + Slightly noticeable. + Lowers resistance slightly. + Decreases stage speed moderately. + Decreases transmittablity moderately. + Moderate Level. + +Bonus + Weakens the host + +////////////////////////////////////// +*/ + +/datum/symptom/weakness + name = "Weakness" + stealth = -1 + resistance = -1 + stage_speed = -2 + transmittable = -2 + level = 3 + severity = 3 + +/datum/symptom/weakness/Activate(datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/M = A.affected_mob + switch(A.stage) + if(1, 2) + to_chat(M, span_warning(pick("You feel weak.", "You feel lazy."))) + if(3, 4) + to_chat(M, span_boldwarning(pick("You feel very frail.", "You think you might faint."))) + M.Weaken(10) + else + to_chat(M, span_userdanger(pick("You feel tremendously weak!", "Your body trembles as exhaustion creeps over you."))) + M.Weaken(20) + if(M.weakened > 60 && !M.stat) + M.visible_message(span_warning("[M] faints!"), span_userdanger("You swoon and faint...")) + M.AdjustSleeping(10) + return diff --git a/code/datums/diseases/advance/symptoms/weigh.dm b/code/datums/diseases/advance/symptoms/weigh.dm new file mode 100644 index 00000000000..ceca8a77f59 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/weigh.dm @@ -0,0 +1,37 @@ +/* +////////////////////////////////////// + +Weight Loss + + Very Very Noticable. + Decreases resistance. + Decreases stage speed. + Reduced Transmittable. + High level. + +Bonus + Decreases the weight of the mob, + forcing it to be skinny. + +////////////////////////////////////// +*/ + +/datum/symptom/weight_loss + name = "Weight Loss" + stealth = -3 + resistance = -2 + stage_speed = -2 + transmittable = -2 + level = 3 + severity = 1 + +/datum/symptom/weight_loss/Activate(datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/M = A.affected_mob + switch(A.stage) + if(1, 2, 3, 4) + to_chat(M, span_warning(pick("You feel hungry.", "You crave for food."))) + else + to_chat(M, span_warning(pick("So hungry...", "You'd kill someone for a bite of food...", "Hunger cramps seize you..."))) + M.adjust_nutrition(-20) diff --git a/code/datums/diseases/anxiety.dm b/code/datums/diseases/anxiety.dm new file mode 100644 index 00000000000..78b630bc152 --- /dev/null +++ b/code/datums/diseases/anxiety.dm @@ -0,0 +1,53 @@ +/datum/disease/anxiety + name = "Severe Anxiety" + form = "Infection" + max_stages = 4 + spread_text = "On contact" + spread_flags = CONTACT_GENERAL + cure_text = "Ethanol" + cures = list("ethanol") + agent = "Excess Lepdopticides" + viable_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/human/monkey) + desc = "If left untreated subject will regurgitate butterflies." + severity = MINOR + +/datum/disease/anxiety/stage_act() + if(!..()) + return FALSE + switch(stage) + if(2) + if(prob(15)) + to_chat(affected_mob, span_notice("You feel anxious.")) + if(3) + if(prob(10)) + to_chat(affected_mob, span_notice("Your stomach flutters.")) + if(prob(5)) + to_chat(affected_mob, span_notice("You feel panicky.")) + if(prob(2)) + to_chat(affected_mob, span_danger("You're overtaken with panic!")) + affected_mob.AdjustConfused(rand(4, 6)) + if(4) + if(prob(10)) + to_chat(affected_mob, span_danger("You feel butterflies in your stomach.")) + if(prob(5)) + affected_mob.visible_message( + span_danger("[affected_mob] stumbles around in a panic"), + span_userdanger("You have a panic attack!") + ) + affected_mob.AdjustConfused(rand(12, 16)) + affected_mob.jitteriness = rand(12, 16) + if(prob(2)) + affected_mob.visible_message( + span_danger("[affected_mob] coughs up butterflies!"), + span_userdanger("You cough up butterflies!") + ) + affected_mob.emote("cough") + for(var/i in 1 to 2) + var/mob/living/simple_mob/animal/sif/glitterfly/B = new(affected_mob.loc) + addtimer(CALLBACK(B, TYPE_PROC_REF(/mob/living/simple_mob/animal/sif/glitterfly, decompose)), rand(5, 25) SECONDS) + +/mob/living/simple_mob/animal/sif/glitterfly/proc/decompose() + visible_message( + span_notice("[src] decomposes due to being outside of its original habitat for too long!"), + span_userdanger("You decompose for being too long out of your habitat!")) + dust() diff --git a/code/datums/diseases/appendicitis.dm b/code/datums/diseases/appendicitis.dm new file mode 100644 index 00000000000..ab7f5383b31 --- /dev/null +++ b/code/datums/diseases/appendicitis.dm @@ -0,0 +1,45 @@ +/datum/disease/appendicitis + form = "Condition" + name = "Appendicitis" + max_stages = 3 + spread_text = "Non-contagius" + spread_flags = NON_CONTAGIOUS + cure_text = "Surgery" + agent = "Shitty Appendix" + viable_mobtypes = list(/mob/living/carbon/human) + desc = "If left untreated the subject will become very weak, and may vomit often." + severity = MINOR + disease_flags = CAN_CARRY|CAN_CARRY + visibility_flags = HIDDEN_PANDEMIC + required_organs = list(/obj/item/organ/internal/appendix) + bypasses_immunity = TRUE + virus_heal_resistant = TRUE + +/datum/disease/appendicitis/stage_act() + if(!..()) + return + switch(stage) + if(1) + if(prob(5)) + affected_mob.adjustToxLoss(1) + if(2) + var/obj/item/organ/internal/appendix/A = affected_mob.internal_organs_by_name[O_APPENDIX] + if(A) + A.inflamed = TRUE + if(prob(3)) + to_chat(affected_mob, span_warning("You feel a stabbing pain in your abdomen!")) + affected_mob.custom_emote(VISIBLE_MESSAGE, "winces painfully.") + affected_mob.Stun(rand(4, 6)) + affected_mob.adjustToxLoss(1) + if(3) + if(prob(1)) + to_chat(affected_mob, span_danger("Your abdomen is a world of pain!")) + affected_mob.custom_emote(VISIBLE_MESSAGE, "winces painfully.") + affected_mob.Weaken(10) + if(prob(1)) + affected_mob.vomit(95) + if(prob(5)) + to_chat(affected_mob, span_warning("You feel a stabbing pain in your abdomen!")) + affected_mob.custom_emote(VISIBLE_MESSAGE, "winces painfully.") + affected_mob.Stun(rand(4, 6)) + affected_mob.adjustToxLoss(2) diff --git a/code/datums/diseases/beesease.dm b/code/datums/diseases/beesease.dm new file mode 100644 index 00000000000..a867c8d9d97 --- /dev/null +++ b/code/datums/diseases/beesease.dm @@ -0,0 +1,36 @@ +/datum/disease/beesease + name = "Beesease" + form = "Infection" + max_stages = 4 + spread_text = "On contact" + spread_flags = CONTACT_GENERAL + cure_text = "Sugar" + cures = list("sugar") + agent = "Apidae Infection" + viable_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/human/monkey) + desc = "If left untreated, subject will regurgitate bees." + severity = BIOHAZARD + +/datum/disease/beesease/stage_act() + if(!..()) + return FALSE + switch(stage) + if(2) + if(prob(2)) + to_chat(affected_mob, span_notice("You tastey hone in your mouth.")) + if(3) + if(prob(10)) + to_chat(affected_mob, span_notice("Your stomach rumbles")) + if(prob(2)) + to_chat(affected_mob, span_notice("Your stomach stings painfully.")) + if(prob(20)) + affected_mob.adjustToxLoss(2) + if(4) + if(prob(10)) + affected_mob.visible_message(span_danger("[affected_mob] buzzles loudly"), span_userdanger("Your stomach buzzles violently!")) + if(prob(5)) + to_chat(affected_mob, span_danger("You feel something moving in your throat.")) + if(prob(1)) + affected_mob.visible_message(span_danger("[affected_mob] coughs up a swarm of bees!"), span_userdanger("You cough up a swarm of bees!")) + new /mob/living/simple_mob/vore/bee(affected_mob.loc) + return diff --git a/code/datums/diseases/brainrot.dm b/code/datums/diseases/brainrot.dm new file mode 100644 index 00000000000..57899ef2014 --- /dev/null +++ b/code/datums/diseases/brainrot.dm @@ -0,0 +1,43 @@ +/datum/disease/brainrot + name = "Brainrot" + max_stages = 4 + spread_text = "On contact" + spread_flags = CONTACT_GENERAL + cure_text = "Alkysine" + cures = list("alkysine") + agent = "Cryptococcus Cosmosis" + viable_mobtypes = list(/mob/living/carbon/human) + cure_chance = 15 + desc = "This disease destroys the braincells, causing brain fever, brain necrosis and general intoxication." + required_organs = list(/obj/item/organ/internal/brain) + severity = HARMFUL + +/datum/disease/brainrot/stage_act() + if(!..()) + return FALSE + switch(stage) + if(2) + if(prob(2)) + affected_mob.say("*blink") + if(prob(2)) + affected_mob.say("*yawn") + if(prob(2)) + to_chat(affected_mob, span_danger("You don't feel like yourself.")) + if(prob(5)) + affected_mob.adjustBrainLoss(1) + if(3) + if(prob(2)) + affected_mob.say("*stare") + if(prob(3)) + affected_mob.say("*drool") + if(prob(10) && affected_mob.getBrainLoss() < 100) + affected_mob.adjustBrainLoss(3) + if(prob(2)) + to_chat(affected_mob, span_danger("Strange buzzing fills your head, removing all thoughts.")) + if(prob(3)) + to_chat(affected_mob, span_danger("You lose consciousness...")) + affected_mob.Sleeping(rand(5, 10)) + if(prob(1)) + affected_mob.emote("snore") + if(prob(15)) + affected_mob.apply_effect(5, STUTTER) diff --git a/code/datums/diseases/choreomania.dm b/code/datums/diseases/choreomania.dm new file mode 100644 index 00000000000..9fd41c4cd6f --- /dev/null +++ b/code/datums/diseases/choreomania.dm @@ -0,0 +1,38 @@ +/datum/disease/choreomania + name = "Choreomania" + max_stages = 3 + spread_text = "Airborne" + cure_text = "Adranol" + cures = list("adranol") + cure_chance = 10 + agent = "TAP-DAnC3" + viable_mobtypes = list(/mob/living/carbon/human) + permeability_mod = 0.75 + desc = "If left untreated the subject... Won't stop dancing!" + severity = MINOR + + var/list/dance = list(2,4,8,2,4,8,2,4,8,2,4,8,1,4,1,4,1,4,2,4,8,2) + +/datum/disease/choreomania/stage_act() + if(!..()) + return FALSE + switch(stage) + if(2) + if(prob(1)) + to_chat(affected_mob, span_notice("You feel like dancing like a maniac, maniac...")) + if(prob(1)) + affected_mob.emote("whistle") + if(3) + if(prob(1)) + to_chat(affected_mob, span_notice("You feel like dancing like a maniac, maniac...")) + if(prob(1)) + to_chat(affected_mob, span_notice("You really want to start a conga line!")) + if(prob(2)) + for(var/D in dance) + affected_mob.dir = D + animate(affected_mob, pixel_x = 5, time = 5) + sleep(3) + animate(affected_mob, pixel_x = -5, time = 5) + animate(pixel_x = affected_mob.default_pixel_x, pixel_y = affected_mob.default_pixel_x, time = 2) + sleep(3) + return diff --git a/code/datums/diseases/cold.dm b/code/datums/diseases/cold.dm new file mode 100644 index 00000000000..487f466761c --- /dev/null +++ b/code/datums/diseases/cold.dm @@ -0,0 +1,65 @@ +/datum/disease/cold + name = "The Cold" + max_stages = 3 + spread_text = "Airborne" + spread_flags = AIRBORNE + cure_text = "Rest & Spaceacillin" + cures = list("spaceacillin", "chicken_soup") + needs_all_cures = FALSE + agent = "XY-rhinovirus" + viable_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/human/monkey) + permeability_mod = 0.5 + desc = "If left untreated the subject will contract the flu." + severity = MINOR + +/datum/disease/cold/stage_act() + if(!..()) + return FALSE + switch(stage) + if(2) + if(affected_mob.stat == UNCONSCIOUS && prob(40)) + to_chat(affected_mob, span_notice("You feel better.")) + cure() + return + if(affected_mob.lying && prob(10)) + to_chat(affected_mob, span_notice("You feel better.")) + cure() + return + if(prob(1) && prob(5)) + to_chat(affected_mob, span_notice("You feel better.")) + cure() + return + if(prob(1)) + affected_mob.emote("sneeze") + if(prob(1)) + affected_mob.emote("cough") + if(prob(1)) + to_chat(affected_mob, span_notice("Your throat feels sore.")) + if(prob(1)) + to_chat(affected_mob, span_notice("Mucous runs down the back of your throat.")) + if(3) + if(affected_mob.stat == UNCONSCIOUS && prob(25)) + to_chat(affected_mob, span_notice("You feel better.")) + cure() + return + if(affected_mob.lying && prob(5)) + to_chat(affected_mob, span_notice("You feel better.")) + cure() + return + if(prob(1) && prob(1)) + to_chat(affected_mob, span_notice("You feel better.")) + cure() + return + if(prob(1)) + affected_mob.emote("sneeze") + if(prob(1)) + affected_mob.emote("cough") + if(prob(1)) + to_chat(affected_mob, span_notice("Your throat feels sore.")) + if(prob(1)) + to_chat(affected_mob, span_notice("Mucous runs down the back of your throat.")) + if(prob(1) && prob(50)) + if(!affected_mob.resistances.Find(/datum/disease/flu)) + var/datum/disease/Flu = new /datum/disease/flu(0) + affected_mob.ContractDisease(Flu) + cure() diff --git a/code/datums/diseases/cold9.dm b/code/datums/diseases/cold9.dm new file mode 100644 index 00000000000..a0fa6919764 --- /dev/null +++ b/code/datums/diseases/cold9.dm @@ -0,0 +1,30 @@ +/datum/disease/cold9 + name = "The Cold" + medical_name = "ICE9 Cold" + max_stages = 3 + spread_text = "On contact" + spread_flags = CONTACT_GENERAL + cure_text = "Spaceacillin" + cures = list("spaceacillin") + agent = "ICE9-rhinovirus" + viable_mobtypes = list(/mob/living/carbon/human) + desc = "If left untreated the subject will slow, as if partly frozen." + severity = HARMFUL + +/datum/disease/cold9/stage_act() + if(!..()) + return FALSE + if(stage < 2) + return + + var/stage_factor = stage - 1 + affected_mob.bodytemperature -= 7.5 * stage_factor + if(prob(2 * stage_factor)) + affected_mob.say("*sneeze") + if(prob(2 * stage_factor)) + affected_mob.say("*cough") + if(prob(3 * stage_factor)) + to_chat(affected_mob, span_danger("Your throat feels sore.")) + if(prob(5 * stage_factor)) + to_chat(affected_mob, span_danger("You feel stiff.")) + affected_mob.adjustFireLoss(1) diff --git a/code/datums/diseases/darkness.dm b/code/datums/diseases/darkness.dm new file mode 100644 index 00000000000..b340ca5d45d --- /dev/null +++ b/code/datums/diseases/darkness.dm @@ -0,0 +1,10 @@ +/datum/disease/darkness + name = "Dark Exposure" + form = "Bluespace Micro-fissures" + max_stages = 4 + spread = NON_CONTAGIOUS + cure_text = "Exposure to light and the real world" + agent = "Bluespace Exposure" + viable_mobtypes = list(/mob/living/carbon/human) + desc = "If left untreated, subject will lose grip on reality." + severity = HARMFUL diff --git a/code/datums/diseases/fake_gbs.dm b/code/datums/diseases/fake_gbs.dm new file mode 100644 index 00000000000..ca36f57d872 --- /dev/null +++ b/code/datums/diseases/fake_gbs.dm @@ -0,0 +1,32 @@ +/datum/disease/fake_gbs + name = "GBS" + max_stages = 5 + spread_text = "On contact" + spread_flags = CONTACT_GENERAL + cure_text = "Adranol & Sulfur" + cures = list("adranol", "sulfur") + agent = "Gravitokinetic Bipotential SADS-" + viable_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/human/monkey) + desc = "if left untreated death will occur." + severity = BIOHAZARD // Mimics real GBS + +/datum/disease/fake_gbs/stage_act() + if(!..()) + return FALSE + switch(stage) + if(2) + if(prob(1)) + affected_mob.emote("sneeze") + if(3) + if(prob(5)) + affected_mob.emote("cough") + else if(prob(5)) + affected_mob.emote("gasp") + if(prob(10)) + to_chat(span_danger("You're starting to feel very weak...")) + if(4) + if(prob(10)) + affected_mob.emote("cough") + if(5) + if(prob(10)) + affected_mob.emote("cough") diff --git a/code/datums/diseases/flu.dm b/code/datums/diseases/flu.dm new file mode 100644 index 00000000000..2962f48e9b4 --- /dev/null +++ b/code/datums/diseases/flu.dm @@ -0,0 +1,51 @@ +/datum/disease/flu + name = "The Flu" + max_stages = 3 + spread_text = "Airborne" + cure_text = "Spaceacillin" + cures = list("spaceacillin", "chicken_soup") + needs_all_cures = FALSE + cure_chance = 10 + agent = "H13N1 flu virion" + viable_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/human/monkey) + permeability_mod = 0.75 + desc = "If left untreated the subject will feel quite unwell." + severity = MINOR + +/datum/disease/flu/stage_act() + if(!..()) + return FALSE + switch(stage) + if(2) + if(affected_mob.lying && prob(20)) + to_chat(affected_mob, span_notice("You feel better.")) + stage-- + return + if(prob(1)) + affected_mob.emote("sneeze") + if(prob(1)) + affected_mob.emote("cough") + if(prob(1)) + to_chat(affected_mob, span_danger("Your muscles ache.")) + if(prob(20)) + affected_mob.apply_damage(1) + if(prob(1)) + to_chat(affected_mob, span_danger("Your stomach hurts.")) + affected_mob.adjustToxLoss(1) + if(3) + if(affected_mob.lying && prob(15)) + to_chat(affected_mob, span_notice("You feel better.")) + stage-- + return + if(prob(1)) + affected_mob.emote("sneeze") + if(prob(1)) + affected_mob.emote("cough") + if(prob(1)) + to_chat(affected_mob, span_danger("Your muscles ache.")) + if(prob(20)) + affected_mob.apply_damage(1) + if(prob(1)) + to_chat(affected_mob, span_danger("Your stomach hurts.")) + affected_mob.adjustToxLoss(1) + return diff --git a/code/datums/diseases/food_poisoning.dm b/code/datums/diseases/food_poisoning.dm new file mode 100644 index 00000000000..cbb7a0c8046 --- /dev/null +++ b/code/datums/diseases/food_poisoning.dm @@ -0,0 +1,67 @@ +/datum/disease/food_poisoning + name = "Food Poisoning" + max_stages = 3 + stage_prob = 5 + spread_text = "Non-Contagious" + spread_flags = NON_CONTAGIOUS + cure_text = "Sleep" + agent = "Salmonella" + cures = list("chicken_soup") + cure_chance = 10 + viable_mobtypes = list(/mob/living/carbon/human) + desc = "Nausea, sickness, and vomitting." + severity = MINOR + disease_flags = CURABLE + virus_heal_resistant = TRUE + +/datum/disease/food_poisoning/stage_act() + if(!..()) + return FALSE + if(affected_mob.stat == UNCONSCIOUS && prob(33)) + to_chat(affected_mob, span_notice("You feel better.")) + cure() + return + switch(stage) + if(1) + if(prob(5)) + to_chat(affected_mob, span_danger("Your stomach feels weird.")) + if(prob(5)) + to_chat(affected_mob, span_danger("You feel queasy.")) + if(2) + if(affected_mob.stat == UNCONSCIOUS && prob(40)) + to_chat(affected_mob, span_notice("You feel better.")) + cure() + return + if(prob(1) && prob(10)) + to_chat(affected_mob, span_notice("You feel better.")) + if(prob(10)) + affected_mob.emote("groan") + if(prob(5)) + to_chat(affected_mob, span_danger("Your stomach aches.")) + if(prob(5)) + to_chat(affected_mob, span_danger("You feel nauseous")) + if(3) + if(affected_mob.stat == UNCONSCIOUS && prob(25)) + to_chat(affected_mob, span_notice("You feel better.")) + cure() + return + if(prob(1) && prob(10)) + to_chat(affected_mob, span_notice("You feel better.")) + cure() + return + if(prob(10)) + affected_mob.emote("moan") + if(prob(10)) + affected_mob.emote("groan") + if(prob(1)) + to_chat(affected_mob, span_danger("Your stomach hurts.")) + if(prob(1)) + to_chat(affected_mob, span_danger("You feel sick.")) + if(prob(5)) + if(affected_mob.nutrition > 10) + affected_mob.emote("vomit") + else + to_chat(affected_mob, span_danger("Your stomach lurches painfully")) + affected_mob.visible_message(span_danger("[affected_mob] gags and retches!")) + affected_mob.Stun(rand(4, 8)) + affected_mob.Weaken(rand(4, 8)) diff --git a/code/datums/diseases/gbs.dm b/code/datums/diseases/gbs.dm new file mode 100644 index 00000000000..ea2c755e279 --- /dev/null +++ b/code/datums/diseases/gbs.dm @@ -0,0 +1,49 @@ +/datum/disease/gbs + name = "GBS" + max_stages = 5 + spread_text = "On contact" + spread_flags = CONTACT_GENERAL + cure_text = "Adranol & Sulfur" + cures = list("adranol", "sulfur") + cure_chance = 15 + agent = "Gravitokinetic Bipotential SADS+" + viable_mobtypes = list(/mob/living/carbon/human) + severity = BIOHAZARD + +/datum/disease/gbs/stage_act() + if(!..()) + return FALSE + switch(stage) + if(2) + if(prob(45)) + affected_mob.adjustToxLoss(5) + if(prob(1)) + affected_mob.emote("sneeze") + if(3) + if(prob(5)) + affected_mob.emote("cough") + else if(prob(5)) + affected_mob.emote("gasp") + if(prob(10)) + to_chat(affected_mob, span_danger("You're starting to feel very weak...")) + if(4) + if(prob(10)) + affected_mob.emote("cough") + affected_mob.adjustToxLoss(5) + if(5) + to_chat(affected_mob, span_danger("Your body feels as if it's trying to rip itself open...")) + if(prob(50)) + affected_mob.delayed_gib() + else + return + +/datum/disease/gbs/curable + name = "Non-Contagious GBS" + stage_prob = 5 + spread_text = "Non-contagious" + spread_flags = NON_CONTAGIOUS + cure_text = "Cryoxadone" + cures = list("cryoxadone") + cure_chance = 10 + agent = "gibbis" + disease_flags = CURABLE diff --git a/code/datums/diseases/lycancoughy.dm b/code/datums/diseases/lycancoughy.dm new file mode 100644 index 00000000000..6d8f1061638 --- /dev/null +++ b/code/datums/diseases/lycancoughy.dm @@ -0,0 +1,64 @@ +/datum/disease/lycan + name = "Lycancoughy" + form = "Infection" + max_stages = 4 + spread_text = "On contact" + spread_flags = CONTACT_GENERAL + cure_text = "Ethanol" + cures = list("ethanol") + agent = "Excess Snuggles" + viable_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/human/monkey) + desc = "If left untreated subject will regurgitate... puppies." + severity = HARMFUL + var/barklimit + var/list/puppy_types = list(/mob/living/simple_mob/animal/passive/dog/corgi/puppy) + var/list/plush_types = list(/obj/item/toy/plushie/orange_fox, /obj/item/toy/plushie/corgi, /obj/item/toy/plushie/robo_corgi, /obj/item/toy/plushie/pink_fox) + +/datum/disease/lycan/stage_act() + if(!..()) + return FALSE + + var/mob/living/carbon/human/H = affected_mob + + switch(stage) + if(2) + if(prob(2)) + H.emote("cough") + if(prob(3)) + to_chat(H, span_notice("You itch.")) + H.adjustBruteLoss(rand(4, 6)) + if(3) + var/obj/item/organ/external/stomach = H.organs_by_name[pick("torso", "groin")] + + if(prob(3)) + H.emote("cough") + stomach.take_damage(BRUTE, rand(0, 5)) + if(prob(3)) + to_chat(H, span_notice("You hear a faint barking.")) + stomach.take_damage(BRUTE, rand(4, 6)) + if(prob(2)) + to_chat(H, span_notice("You crave meat.")) + if(prob(3)) + to_chat(H, span_danger("Your stomach growls!")) + stomach.take_damage(BRUTE, rand(5, 10)) + if(4) + var/obj/item/organ/external/stomach = H.organs_by_name[pick("torso", "groin")] + + if(prob(5)) + H.emote("cough") + stomach.take_damage(BRUTE, rand(0, 5)) + if(prob(5)) + H.emote("awoo2") + H.Confuse(rand(12, 16)) + stomach.take_damage(rand(0, 5)) + if(prob(5)) + if(!barklimit) + to_chat(H, span_danger("Your stomach growls!")) + stomach.take_damage(BRUTE, rand(5, 10)) + else + var/atom/hairball = pick(prob(50) ? puppy_types : plush_types) + H.visible_message(span_danger("[H] coughs up \a [initial(hairball.name)]!"), span_userdanger("You cough up \a [initial(hairball.name)]?!")) + H.emote("cough") + new hairball(H.loc) + barklimit-- + stomach.take_damage(BRUTE, rand(10, 15)) diff --git a/code/datums/diseases/magnitis.dm b/code/datums/diseases/magnitis.dm new file mode 100644 index 00000000000..24b2261cdaa --- /dev/null +++ b/code/datums/diseases/magnitis.dm @@ -0,0 +1,63 @@ +/datum/disease/magnitis + name = "Magnitis" + max_stages = 4 + spread_text = "Airbone" + cure_text = "Iron" + cures = list("iron") + agent = "Fukkos Miracos" + viable_mobtypes = list(/mob/living/carbon/human) + permeability_mod = 0.75 + desc = "This disease disrupts the magnetic field of your body, making it act as if a powerful magnet. Injections of iron help stabilize the field." + severity = MINOR + +/datum/disease/magnitis/stage_act() + if(!..()) + return FALSE + switch(stage) + if(2) + if(prob(2)) + to_chat(affected_mob, span_danger("You feel a slight shock course through your body.")) + if(prob(2)) + for(var/obj/M in orange(2, affected_mob)) + if(!M.anchored && prob(5)) + INVOKE_ASYNC(M, TYPE_PROC_REF(/atom/movable, throw_at), affected_mob, rand(3, 10), rand(1, 3), src) + for(var/mob/living/silicon/S in orange(2, affected_mob)) + if(isAI(S)) continue + INVOKE_ASYNC(S, TYPE_PROC_REF(/atom/movable, throw_at), affected_mob, rand(3, 10), rand(1, 3), src) + if(3) + if(prob(2)) + to_chat(affected_mob, span_danger("You feel a strong shock course through your body.")) + if(prob(2)) + to_chat(affected_mob, span_danger("You feel like clowning aound.")) + if(prob(4)) + for(var/obj/M in orange(4, affected_mob)) + if(!M.anchored && prob(5)) + var/i + var/iter = rand(1,2) + for(i=0,iYou will not be prompted to join similar roles to [role_name] for the rest of this round. Note: If you save your character now, it will save this permanently.
") + to_chat(D, span_notice("You will not be prompted to join similar roles to [role_name] for the rest of this round. Note: If you save your character now, it will save this permanently.")) else - to_chat(D, "This type of ghost-joinable role doesn't have a role type flag associated with it, so I can't prevent future requests, sorry. Bug a dev!") + to_chat(D, span_warning("This type of ghost-joinable role doesn't have a role type flag associated with it, so I can't prevent future requests, sorry. Bug a dev!")) if("Yes") if(!evaluate_candidate(D)) // Failed revalidation - to_chat(D, "Unfortunately, you no longer qualify for this role. Sorry.") + to_chat(D, span_warning("Unfortunately, you no longer qualify for this role. Sorry.")) else if(finished) // Already finished candidate list - to_chat(D, "Unfortunately, you were not fast enough, and there are no more available roles. Sorry.") + to_chat(D, span_warning("Unfortunately, you were not fast enough, and there are no more available roles. Sorry.")) else // Prompt a second time tgui_alert_async(D, "Are you sure you want to play as a [role_name]?", "[role_name] request", list("I'm Sure", "Nevermind"), CALLBACK(src, PROC_REF(get_reply)), wait_time SECONDS) if("I'm Sure") if(!evaluate_candidate(D)) // Failed revalidation - to_chat(D, "Unfortunately, you no longer qualify for this role. Sorry.") + to_chat(D, span_warning("Unfortunately, you no longer qualify for this role. Sorry.")) else if(finished) // Already finished candidate list - to_chat(D, "Unfortunately, you were not fast enough, and there are no more available roles. Sorry.") + to_chat(D, span_warning("Unfortunately, you were not fast enough, and there are no more available roles. Sorry.")) else // Accept their nomination candidates.Add(D) if(cutoff_number && candidates.len >= cutoff_number) @@ -112,7 +112,7 @@ question = "Someone has activated a Positronic Brain. Would you like to play as one?" query_sound = 'sound/machines/boobeebeep.ogg' be_special_flag = BE_AI - check_bans = list("AI", "Cyborg") + check_bans = list(JOB_AI, JOB_CYBORG) cutoff_number = 1 /datum/ghost_query/drone_brain @@ -120,7 +120,7 @@ question = "Someone has activated a Drone AI Chipset. Would you like to play as one?" query_sound = 'sound/machines/boobeebeep.ogg' be_special_flag = BE_AI - check_bans = list("AI", "Cyborg") + check_bans = list(JOB_AI, JOB_CYBORG) cutoff_number = 1 // Antags. @@ -128,7 +128,7 @@ role_name = "Technomancer Apprentice" question = "A Technomancer is requesting an Apprentice to help them on their adventure to the facility. Would you like to play as the Apprentice?" be_special_flag = BE_WIZARD - check_bans = list("Syndicate", "wizard") + check_bans = list(JOB_SYNDICATE, JOB_WIZARD) cutoff_number = 1 /datum/ghost_query/xeno @@ -141,7 +141,7 @@ role_name = "Xenomorph Larva" question = "A xenomorph larva is ready to hatch from their egg. Would you like to join the hive?" be_special_flag = BE_ALIEN - check_bans = list("Xenomorph") + check_bans = list(JOB_XENOMORPH) cutoff_number = 1 @@ -156,14 +156,14 @@ role_name = "Mercenary Drone" question = "A team of dubious mercenaries have purchased a powerful drone, and they are attempting to activate it. Would you like to play as the drone?" be_special_flag = BE_AI - check_bans = list("AI", "Cyborg", "Syndicate") + check_bans = list(JOB_AI, JOB_CYBORG, JOB_SYNDICATE) cutoff_number = 1 /datum/ghost_query/borer role_name = "Cortical Borer" question = "A cortical borer has just been created on the facility. Would you like to play as them?" be_special_flag = BE_ALIEN - check_bans = list("Syndicate", "Borer") + check_bans = list(JOB_SYNDICATE, JOB_BORER) cutoff_number = 1 // Surface stuff. @@ -171,14 +171,14 @@ role_name = "Lost Drone" question = "A lost drone onboard has been discovered by a crewmember and they are attempting to reactivate it. Would you like to play as the drone?" be_special_flag = BE_LOSTDRONE //VOREStation Edit - check_bans = list("AI", "Cyborg") + check_bans = list(JOB_AI, JOB_CYBORG) cutoff_number = 1 /datum/ghost_query/gravekeeper_drone role_name = "Gravekeeper Drone" question = "A gravekeeper drone is about to reactivate and tend to its gravesite. Would you like to play as the drone?" be_special_flag = BE_AI - check_bans = list("AI", "Cyborg") + check_bans = list(JOB_AI, JOB_CYBORG) cutoff_number = 1 /datum/ghost_query/lost_passenger diff --git a/code/datums/ghost_query_vr.dm b/code/datums/ghost_query_vr.dm index 75356029be3..8f29b14bb35 100644 --- a/code/datums/ghost_query_vr.dm +++ b/code/datums/ghost_query_vr.dm @@ -7,5 +7,11 @@ /datum/ghost_query/maints_pred role_name = "Maintenance Predator" be_special_flag = BE_MAINTPRED - question = "It appears a predatory critter is lurking in the maintenance. Do you want to play as it? ((You get to choose type of critter. Expect to be treated as vore predator.))" - cutoff_number = 1 \ No newline at end of file + question = "It appears a predatory critter is lurking in maintenance. Do you want to play as it? ((You get to choose type of critter. Expect to be treated as vore predator.))" + cutoff_number = 1 + +/datum/ghost_query/maints_lurker + role_name = "Maintenance Lurker" + be_special_flag = BE_MAINTLURKER + question = "It appears a strange individual is lurking in maintenance. Do you want to play as them? ((You can spawn as your currently loaded character slot. Expect to be treated as vore predator.))" + cutoff_number = 1 diff --git a/code/datums/helper_datums/getrev.dm b/code/datums/helper_datums/getrev.dm index 909be033a26..ece7799b442 100644 --- a/code/datums/helper_datums/getrev.dm +++ b/code/datums/helper_datums/getrev.dm @@ -1,5 +1,3 @@ -GLOBAL_DATUM(revdata, /datum/getrev) - /datum/getrev var/branch var/revision @@ -50,33 +48,33 @@ GLOBAL_DATUM(revdata, /datum/getrev) var/details = ": '" + html_encode(tm.title) + "' by " + html_encode(tm.author) + " at commit " + html_encode(copytext_char(cm, 1, 11)) if(details && findtext(details, "\[s\]") && (!usr || !usr.client.holder)) continue - . += "#[tm.number][details]" + . += "#[tm.number][details]" /client/verb/showrevinfo() - set category = "OOC" + set category = "OOC.Game" set name = "Show Server Revision" set desc = "Check the current server code revision" if(!GLOB.revdata) - to_chat(src, "Please wait until server initializations are complete.") + to_chat(src, span_warning("Please wait until server initializations are complete.")) return var/list/msg = list() if(GLOB.revdata.revision) - msg += "Server revision: B:[GLOB.revdata.branch] D:[GLOB.revdata.date]" - if(config.githuburl) - msg += "Commit: [GLOB.revdata.revision]" + msg += span_bold("Server revision:") + " B:[GLOB.revdata.branch] D:[GLOB.revdata.date]" + if(CONFIG_GET(string/githuburl)) + msg += span_bold("Commit:") + " [GLOB.revdata.revision]" else - msg += "Commit: GLOB.revdata.revision" + msg += span_bold("Commit:") + " GLOB.revdata.revision" else - msg += "Server revision: Unknown" + msg += span_bold("Server revision:") + " Unknown" if(world.TgsAvailable()) var/datum/tgs_version/version = world.TgsVersion() - msg += "TGS version: [version.raw_parameter]" + msg += span_bold("TGS version:") + " [version.raw_parameter]" var/datum/tgs_version/api_version = world.TgsApiVersion() - msg += "DMAPI version: [api_version.raw_parameter]" + msg += span_bold("DMAPI version:") + " [api_version.raw_parameter]" if(GLOB.revdata.testmerge.len) msg += GLOB.revdata.GetTestMergeInfo() diff --git a/code/datums/helper_datums/stack_end_detector.dm b/code/datums/helper_datums/stack_end_detector.dm new file mode 100644 index 00000000000..0d621f51b36 --- /dev/null +++ b/code/datums/helper_datums/stack_end_detector.dm @@ -0,0 +1,32 @@ +/** + Stack End Detector. + Can detect if a given code stack has exited, used by the mc for stack overflow detection. + + **/ +/datum/stack_end_detector + var/datum/weakref/_WF + var/datum/stack_canary/_canary + +/datum/stack_end_detector/New() + _canary = new() + _WF = WEAKREF(_canary) + +/** Prime the stack overflow detector. + Store the return value of this proc call in a proc level var. + Can only be called once. +**/ +/datum/stack_end_detector/proc/prime_canary() + if (!_canary) + CRASH("Prime_canary called twice") + . = _canary + _canary = null + +/// Returns true if the stack is still going. Calling before the canary has been primed also returns true +/datum/stack_end_detector/proc/check() + return !!_WF.resolve() + +/// Stack canary. Will go away if the stack it was primed by is ended by byond for return or stack overflow reasons. +/datum/stack_canary + +/// empty proc to avoid warnings about unused variables. Call this proc on your canary in the stack it's watching. +/datum/stack_canary/proc/use_variable() diff --git a/code/datums/helper_datums/teleport.dm b/code/datums/helper_datums/teleport.dm index f79ad0f7286..07f4301ca2b 100644 --- a/code/datums/helper_datums/teleport.dm +++ b/code/datums/helper_datums/teleport.dm @@ -1,8 +1,8 @@ -var/bluespace_item_types = newlist(/obj/item/weapon/storage/backpack/holding, -/obj/item/weapon/storage/bag/trash/holding, -/obj/item/weapon/storage/pouch/holding, -/obj/item/weapon/storage/belt/utility/holding, -/obj/item/weapon/storage/belt/medical/holding +var/bluespace_item_types = newlist(/obj/item/storage/backpack/holding, +/obj/item/storage/bag/trash/holding, +/obj/item/storage/pouch/holding, +/obj/item/storage/belt/utility/holding, +/obj/item/storage/belt/medical/holding ) //wrapper @@ -179,29 +179,29 @@ var/bluespace_item_types = newlist(/obj/item/weapon/storage/backpack/holding, precision = max(rand(1,100)*bluespace_things.len,100) if(istype(teleatom, /mob/living)) var/mob/living/MM = teleatom - to_chat(MM, "The Bluespace interface on your [teleatom] interferes with the teleport!") + to_chat(MM, span_danger("The Bluespace interface on your [teleatom] interferes with the teleport!")) return 1 /datum/teleport/instant/science/teleportChecks() - if(istype(teleatom, /obj/item/weapon/disk/nuclear)) // Don't let nuke disks get teleported --NeoFite - teleatom.visible_message("\The [teleatom] bounces off of the portal!") + if(istype(teleatom, /obj/item/disk/nuclear)) // Don't let nuke disks get teleported --NeoFite + teleatom.visible_message(span_danger("\The [teleatom] bounces off of the portal!")) return 0 - if(!isemptylist(teleatom.search_contents_for(/obj/item/weapon/disk/nuclear))) + if(!isemptylist(teleatom.search_contents_for(/obj/item/disk/nuclear))) if(istype(teleatom, /mob/living)) var/mob/living/MM = teleatom - MM.visible_message("\The [MM] bounces off of the portal!","Something you are carrying seems to be unable to pass through the portal. Better drop it if you want to go through.") + MM.visible_message(span_danger("\The [MM] bounces off of the portal!"),span_warning("Something you are carrying seems to be unable to pass through the portal. Better drop it if you want to go through.")) else - teleatom.visible_message("\The [teleatom] bounces off of the portal!") + teleatom.visible_message(span_danger("\The [teleatom] bounces off of the portal!")) return 0 /* VOREStation Removal if(destination.z in using_map.admin_levels) //CentCom z-level if(istype(teleatom, /obj/mecha)) var/obj/mecha/MM = teleatom - to_chat(MM.occupant, "\The [MM] would not survive the jump to a location so far away!") + to_chat(MM.occupant, span_danger("\The [MM] would not survive the jump to a location so far away!")) return 0 - if(!isemptylist(teleatom.search_contents_for(/obj/item/weapon/storage/backpack/holding))) - teleatom.visible_message("\The [teleatom] bounces off of the portal!") + if(!isemptylist(teleatom.search_contents_for(/obj/item/storage/backpack/holding))) + teleatom.visible_message(span_danger("\The [teleatom] bounces off of the portal!")) return 0 */ //VOREStation Removal End //VOREStation Edit Start @@ -209,7 +209,7 @@ var/bluespace_item_types = newlist(/obj/item/weapon/storage/backpack/holding, var/turf/dest_turf = get_turf(destination) if(local && !(dest_turf.z in using_map.player_levels)) if(istype(teleatom, /mob/living)) - to_chat(teleatom, "The portal refuses to carry you that far away!") + to_chat(teleatom, span_warning("The portal refuses to carry you that far away!")) return 0 else if(istype(destination.loc, /obj/belly)) var/obj/belly/destination_belly = destination.loc @@ -226,9 +226,9 @@ var/bluespace_item_types = newlist(/obj/item/weapon/storage/backpack/holding, obstructed = 1 else if(!((isturf(destination) && !destination.density) || (isturf(destination.loc) && !destination.loc.density)) || !destination.x || !destination.y || !destination.z) //If we're inside something or outside universe obstructed = 1 - to_chat(teleatom, "Something is blocking way on the other side!") + to_chat(teleatom, span_warning("Something is blocking way on the other side!")) if(obstructed) return 0 else return 1 - //VOREStation Edit End \ No newline at end of file + //VOREStation Edit End diff --git a/code/datums/json_savefile.dm b/code/datums/json_savefile.dm new file mode 100644 index 00000000000..f93c885687f --- /dev/null +++ b/code/datums/json_savefile.dm @@ -0,0 +1,116 @@ +/** + * A savefile implementation that handles all data using json. + * Also saves it using JSON too, fancy. + * If you pass in a null path, it simply acts as a memory tree instead, and cannot be saved. + */ +/datum/json_savefile + var/path = "" + VAR_PRIVATE/list/tree + /// If this is set to true, calling set_entry or remove_entry will automatically call save(), this does not catch modifying a sub-tree, nor do I know how to do that + var/auto_save = FALSE + /// Cooldown that tracks the time between attempts to download the savefile. + COOLDOWN_DECLARE(download_cooldown) + +GENERAL_PROTECT_DATUM(/datum/json_savefile) + +/datum/json_savefile/New(path) + src.path = path + tree = list() + if(path && fexists(path)) + load() + +/** + * Gets an entry from the json tree, with an optional default value. + * If no key is specified it throws the entire tree at you instead + */ +/datum/json_savefile/proc/get_entry(key, default_value) + if(!key) + return tree + return (key in tree) ? tree[key] : default_value + +/// Sets an entry in the tree to the given value +/datum/json_savefile/proc/set_entry(key, value) + tree[key] = value + if(auto_save) + save() + +/// Removes the given key from the tree +/datum/json_savefile/proc/remove_entry(key) + if(key) + tree -= key + if(auto_save) + save() + +/// Wipes the entire tree +/datum/json_savefile/proc/wipe() + tree?.Cut() + +/datum/json_savefile/proc/load() + if(!path || !fexists(path)) + return FALSE + try + tree = json_decode(rustg_file_read(path)) + return TRUE + catch(var/exception/err) + stack_trace("failed to load json savefile at '[path]': [err]") + return FALSE + +/datum/json_savefile/proc/save() + if(path) + rustg_file_write(json_encode(tree, JSON_PRETTY_PRINT), path) + +/// Traverses the entire dir tree of the given savefile and dynamically assembles the tree from it +/datum/json_savefile/proc/import_byond_savefile(savefile/savefile) + tree.Cut() + var/list/dirs_to_go = list("/" = tree) + while(length(dirs_to_go)) + var/dir = dirs_to_go[1] + var/list/region = dirs_to_go[dir] + dirs_to_go.Cut(1, 2) + savefile.cd = dir + for(var/entry in savefile.dir) + var/entry_value + savefile.cd = "[dir]/[entry]" + //eof refers to the path you are cd'ed into, not the savefile as a whole. being false right after cding into an entry means this entry has no buffer, which only happens with nested save file directories + if (savefile.eof) + region[entry] = list() + dirs_to_go["[dir]/[entry]"] = region[entry] + continue + READ_FILE(savefile, entry_value) //we are cd'ed to the entry, so we don't need to specify a path to read from + region[entry] = entry_value + +/// Proc that handles generating a JSON file (prettified if 515 and over!) of a user's preferences and showing it to them. +/// Requester is passed in to the ftp() and tgui_alert() procs, and account_name is just used to generate the filename. +/// We don't _need_ to pass in account_name since this is reliant on the json_savefile datum already knowing what we correspond to, but it's here to help people keep track of their stuff. +/datum/json_savefile/proc/export_json_to_client(mob/requester, account_name) + if(!istype(requester) || !path) + return + + if(!json_export_checks(requester)) + return + + // COOLDOWN_START(src, download_cooldown, (CONFIG_GET(number/seconds_cooldown_for_preferences_export) * (1 SECONDS))) + COOLDOWN_START(src, download_cooldown, (10 SECONDS)) + var/file_name = "[account_name ? "[account_name]_" : ""]preferences_[time2text(world.timeofday, "MMM_DD_YYYY_hh-mm-ss")].json" + var/temporary_file_storage = "data/preferences_export_working_directory/[file_name]" + + if(!text2file(json_encode(tree, JSON_PRETTY_PRINT), temporary_file_storage)) + tgui_alert(requester, "Failed to export preferences to JSON! You might need to try again later.", "Export Preferences JSON") + return + + var/exportable_json = file(temporary_file_storage) + + DIRECT_OUTPUT(requester, ftp(exportable_json, file_name)) + fdel(temporary_file_storage) + +/// Proc that just handles all of the checks for exporting a preferences file, returns TRUE if all checks are passed, FALSE otherwise. +/// Just done like this to make the code in the export_json_to_client() proc a bit cleaner. +/datum/json_savefile/proc/json_export_checks(mob/requester) + if(!COOLDOWN_FINISHED(src, download_cooldown)) + tgui_alert(requester, "You must wait [DisplayTimeText(COOLDOWN_TIMELEFT(src, download_cooldown))] before exporting your preferences again!", "Export Preferences JSON") + return FALSE + + if(tgui_alert(requester, "Are you sure you want to export your preferences as a JSON file? This will save to a file on your computer.", "Export Preferences JSON", list("Cancel", "Yes")) == "Yes") + return TRUE + + return FALSE diff --git a/code/datums/looping_sounds/_looping_sound.dm b/code/datums/looping_sounds/_looping_sound.dm index 078db317d5e..d842dd83360 100644 --- a/code/datums/looping_sounds/_looping_sound.dm +++ b/code/datums/looping_sounds/_looping_sound.dm @@ -100,7 +100,7 @@ if(direct) if(ismob(thing)) var/mob/M = thing - if(pref_check && !M.is_preference_enabled(pref_check)) + if(!M.check_sound_preference(pref_check)) continue SEND_SOUND(thing, S) else diff --git a/code/datums/looping_sounds/machinery_sounds.dm b/code/datums/looping_sounds/machinery_sounds.dm index 8005d950163..3c0c8c15d2d 100644 --- a/code/datums/looping_sounds/machinery_sounds.dm +++ b/code/datums/looping_sounds/machinery_sounds.dm @@ -13,7 +13,7 @@ mid_length = 60 volume = 40 extra_range = 10 - pref_check = /datum/client_preference/supermatter_hum + pref_check = /datum/preference/toggle/supermatter_hum /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -104,7 +104,7 @@ mid_length = 70 end_sound = 'sound/machines/air_pump/airpumpshutdown.ogg' volume = 15 - pref_check = /datum/client_preference/air_pump_noise + pref_check = /datum/preference/toggle/air_pump_noise //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/code/datums/looping_sounds/weather_sounds.dm b/code/datums/looping_sounds/weather_sounds.dm index db8396f3a31..41210df1053 100644 --- a/code/datums/looping_sounds/weather_sounds.dm +++ b/code/datums/looping_sounds/weather_sounds.dm @@ -1,5 +1,5 @@ /datum/looping_sound/weather - pref_check = /datum/client_preference/weather_sounds + pref_check = /datum/preference/toggle/weather_sounds /datum/looping_sound/weather/outside_blizzard mid_sounds = list( @@ -95,4 +95,4 @@ volume = 20 //Sound is already quieter in file /datum/looping_sound/weather/rain/indoors/heavy - volume = 40 \ No newline at end of file + volume = 40 diff --git a/code/datums/managed_browsers/feedback_form.dm b/code/datums/managed_browsers/feedback_form.dm index cd7b3a8b207..15bf63f535e 100644 --- a/code/datums/managed_browsers/feedback_form.dm +++ b/code/datums/managed_browsers/feedback_form.dm @@ -19,7 +19,7 @@ GENERAL_PROTECT_DATUM(/datum/managed_browser/feedback_form) var/feedback_hide_author = FALSE /datum/managed_browser/feedback_form/New(client/new_client) - feedback_topic = config.sqlite_feedback_topics[1] + feedback_topic = CONFIG_GET(str_list/sqlite_feedback_topics)[1] ..(new_client) /datum/managed_browser/feedback_form/Destroy() @@ -29,7 +29,7 @@ GENERAL_PROTECT_DATUM(/datum/managed_browser/feedback_form) // Privacy option is allowed if both the config allows it, and the pepper file exists and isn't blank. /datum/managed_browser/feedback_form/proc/can_be_private() - return config.sqlite_feedback_privacy && SSsqlite.get_feedback_pepper() + return CONFIG_GET(flag/sqlite_feedback_privacy) && SSsqlite.get_feedback_pepper() /datum/managed_browser/feedback_form/display() if(!my_client) @@ -58,34 +58,35 @@ GENERAL_PROTECT_DATUM(/datum/managed_browser/feedback_form) if(can_be_private()) if(!feedback_hide_author) dat += "[my_client.ckey] " - dat += span("linkOn", "Visible") + dat += span_linkOn(span_bold("Visible")) dat += " | " dat += href(src, list("feedback_hide_author" = 1), "Hashed") else dat += "[md5(ckey(lowertext(my_client.ckey + SSsqlite.get_feedback_pepper())))] " dat += href(src, list("feedback_hide_author" = 0), "Visible") dat += " | " - dat += span("linkOn", "Hashed") + dat += span_linkOn(span_bold("Hashed")) else dat += my_client.ckey dat += "
" - if(config.sqlite_feedback_topics.len > 1) + var/list/sqlite_feedback_topics = CONFIG_GET(str_list/sqlite_feedback_topics) + if(sqlite_feedback_topics.len > 1) dat += "Topic: [href(src, list("feedback_choose_topic" = 1), feedback_topic)]
" else - dat += "Topic: [config.sqlite_feedback_topics[1]]
" + dat += "Topic: [sqlite_feedback_topics[1]]
" dat += "
" if(feedback_body) dat += replacetext(feedback_body, "\n", "
") // So newlines will look like they work in the preview. else - dat += "\[Feedback goes here...\]" + dat += span_italics("\[Feedback goes here...\]") dat += "
" dat += href(src, list("feedback_edit_body" = 1), "Edit") dat += "
" - if(config.sqlite_feedback_cooldown) - dat += "Please note that you will have to wait [config.sqlite_feedback_cooldown] day\s before \ + if(CONFIG_GET(number/sqlite_feedback_cooldown)) + dat += "Please note that you will have to wait [CONFIG_GET(number/sqlite_feedback_cooldown)] day\s before \ being able to write more feedback after submitting.
" dat += href(src, list("feedback_submit" = 1), "Submit") @@ -112,7 +113,7 @@ GENERAL_PROTECT_DATUM(/datum/managed_browser/feedback_form) return if(href_list["feedback_choose_topic"]) - feedback_topic = tgui_input_list(my_client, "Choose the topic you want to submit your feedback under.", "Feedback Topic", config.sqlite_feedback_topics) + feedback_topic = tgui_input_list(my_client, "Choose the topic you want to submit your feedback under.", "Feedback Topic", CONFIG_GET(str_list/sqlite_feedback_topics)) display() return @@ -120,13 +121,13 @@ GENERAL_PROTECT_DATUM(/datum/managed_browser/feedback_form) // Do some last minute validation, and tell the user if something goes wrong, // so we don't wipe out their ten thousand page essay due to having a few too many characters. if(length(feedback_body) > MAX_FEEDBACK_LENGTH) - to_chat(my_client, span("warning", "Your feedback is too long, at [length(feedback_body)] characters, where as the \ + to_chat(my_client, span_warning("Your feedback is too long, at [length(feedback_body)] characters, where as the \ limit is [MAX_FEEDBACK_LENGTH]. Please shorten it and try again.")) return var/text = sanitize(feedback_body, max_length = 0, encode = TRUE, trim = FALSE, extra = FALSE) if(!text) // No text, or it was super invalid. - to_chat(my_client, span("warning", "It appears you didn't write anything, or it was invalid.")) + to_chat(my_client, span_warning("It appears you didn't write anything, or it was invalid.")) return if(tgui_alert(my_client, "Are you sure you want to submit your feedback?", "Confirm Submission", list("No", "Yes")) == "Yes") @@ -136,7 +137,7 @@ GENERAL_PROTECT_DATUM(/datum/managed_browser/feedback_form) var/success = SSsqlite.insert_feedback(author = author_text, topic = feedback_topic, content = feedback_body, sqlite_object = SSsqlite.sqlite_db) if(!success) - to_chat(my_client, span("warning", "Something went wrong while inserting your feedback into the database. Please try again. \ + to_chat(my_client, span_warning("Something went wrong while inserting your feedback into the database. Please try again. \ If this happens again, you should contact a developer.")) return @@ -144,4 +145,4 @@ GENERAL_PROTECT_DATUM(/datum/managed_browser/feedback_form) if(istype(my_client.mob, /mob/new_player)) var/mob/new_player/NP = my_client.mob NP.new_player_panel_proc() // So the feedback button goes away, if the user gets put on cooldown. - qdel(src) \ No newline at end of file + qdel(src) diff --git a/code/datums/managed_browsers/feedback_viewer.dm b/code/datums/managed_browsers/feedback_viewer.dm index 59fbc679c4e..eca1fff099f 100644 --- a/code/datums/managed_browsers/feedback_viewer.dm +++ b/code/datums/managed_browsers/feedback_viewer.dm @@ -2,7 +2,7 @@ var/datum/managed_browser/feedback_viewer/feedback_viewer = null /datum/admins/proc/view_feedback() - set category = "Admin" + set category = "Admin.Misc" set name = "View Feedback" set desc = "Open the Feedback Viewer" @@ -143,7 +143,7 @@ if(href_list["filter_topic"]) var/topic_to_search = tgui_input_text(my_client, "Write desired topic here. Partial topics are allowed. \ - \nThe current topics in the config are [english_list(config.sqlite_feedback_topics)].", "Filter by Topic", null) + \nThe current topics in the config are [english_list(CONFIG_GET(str_list/sqlite_feedback_topics))].", "Filter by Topic", null) if(topic_to_search) last_query = feedback_filter(SQLITE_FEEDBACK_COLUMN_TOPIC, topic_to_search) @@ -159,4 +159,4 @@ last_query = feedback_filter(SQLITE_FEEDBACK_COLUMN_DATETIME, datetime_to_search) // Refresh. - display() \ No newline at end of file + display() diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 777ecc42369..17b39256456 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -88,7 +88,7 @@ if(current) //remove ourself from our old body's mind variable if(changeling) current.remove_changeling_powers() - current.verbs -= /datum/changeling/proc/EvolutionMenu + remove_verb(current, /datum/changeling/proc/EvolutionMenu) current.mind = null if(new_character.mind) //remove any mind currently in our new body's mind variable @@ -103,11 +103,15 @@ if(active) new_character.key = key //now transfer the key to link the client to our new body + if(new_character.client) + new_character.client.init_verbs() // re-initialize character specific verbs + new_character.set_listed_turf(null) + /datum/mind/proc/store_memory(new_text) memory += "[new_text]
" /datum/mind/proc/show_memory(mob/recipient) - var/output = "[current.real_name]'s Memory
" + var/output = span_bold("[current.real_name]'s Memory") + "
" output += memory if(objectives.len>0) @@ -115,7 +119,7 @@ var/obj_count = 1 for(var/datum/objective/objective in objectives) - output += "Objective #[obj_count]: [objective.explanation_text]" + output += span_bold("Objective #[obj_count]") + ": [objective.explanation_text]" obj_count++ if(ambitions) @@ -127,7 +131,7 @@ tgui_alert_async(usr, "Not before round-start!", "Alert") return - var/out = "[name][(current&&(current.real_name!=name))?" (as [current.real_name])":""]
" + var/out = span_bold("[name]") + "[(current&&(current.real_name!=name))?" (as [current.real_name])":""]
" out += "Mind currently owned by key: [key] [active?"(synced)":"(not synced)"]
" out += "Assigned role: [assigned_role]. Edit
" out += "
" @@ -136,12 +140,12 @@ var/datum/antagonist/antag = all_antag_types[antag_type] out += "[antag.get_panel_entry(src)]" out += "
" - out += "Objectives
" + out += span_bold("Objectives") + "
" if(objectives && objectives.len) var/num = 1 for(var/datum/objective/O in objectives) - out += "Objective #[num]: [O.explanation_text] " + out += span_bold("Objective #[num]:") + " [O.explanation_text] " if(O.completed) out += "([span_green("complete")])" else @@ -154,7 +158,7 @@ else out += "None." out += "
\[add\]

" - out += "Ambitions: [ambitions ? ambitions : "None"] \[edit\]
" + out += span_bold("Ambitions:") + " [ambitions ? ambitions : "None"] \[edit\]
" usr << browse(out, "window=edit_memory[src]") /datum/mind/Topic(href, href_list) @@ -166,7 +170,7 @@ if(antag.add_antagonist(src, 1, 1, 0, 1, 1)) // Ignore equipment and role type for this. log_admin("[key_name_admin(usr)] made [key_name(src)] into a [antag.role_text].") else - to_chat(usr, "[src] could not be made into a [antag.role_text]!") + to_chat(usr, span_warning("[src] could not be made into a [antag.role_text]!")) else if(href_list["remove_antagonist"]) var/datum/antagonist/antag = all_antag_types[href_list["remove_antagonist"]] @@ -203,7 +207,7 @@ return if(mind) mind.ambitions = sanitize(new_ambition) - to_chat(mind.current, "Your ambitions have been changed by higher powers, they are now: [mind.ambitions]") + to_chat(mind.current, span_warning("Your ambitions have been changed by higher powers, they are now: [mind.ambitions]")) log_and_message_admins("made [key_name(mind.current)]'s ambitions be '[mind.ambitions]'.") else if (href_list["obj_edit"] || href_list["obj_add"]) @@ -348,15 +352,15 @@ switch(href_list["implant"]) if("remove") - for(var/obj/item/weapon/implant/loyalty/I in H.contents) + for(var/obj/item/implant/loyalty/I in H.contents) for(var/obj/item/organ/external/organs in H.organs) if(I in organs.implants) qdel(I) break - to_chat(H, "Your loyalty implant has been deactivated.") + to_chat(H, span_notice("Your loyalty implant has been deactivated.")) log_admin("[key_name_admin(usr)] has de-loyalty implanted [current].") if("add") - to_chat(H, "You somehow have become the recepient of a loyalty transplant, and it just activated!") + to_chat(H, span_danger("You somehow have become the recepient of a loyalty transplant, and it just activated!")) H.implant_loyalty(override = TRUE) log_admin("[key_name_admin(usr)] has loyalty implanted [current].") else @@ -410,7 +414,7 @@ memory = null//Remove any memory they may have had. if("crystals") if (usr.client.holder.rights & R_FUN) - // var/obj/item/device/uplink/hidden/suplink = find_syndicate_uplink() No longer needed, uses stored in mind + // var/obj/item/uplink/hidden/suplink = find_syndicate_uplink() No longer needed, uses stored in mind var/crystals crystals = tcrystals crystals = tgui_input_number(usr, "Amount of telecrystals for [key]", crystals) @@ -421,7 +425,7 @@ var/obj_count = 1 to_chat(current, span_blue("Your current objectives:")) for(var/datum/objective/objective in objectives) - to_chat(current, "Objective #[obj_count]: [objective.explanation_text]") + to_chat(current, span_bold("Objective #[obj_count]") + ": [objective.explanation_text]") obj_count++ edit_memory() @@ -433,7 +437,7 @@ return null /datum/mind/proc/take_uplink() - var/obj/item/device/uplink/hidden/H = find_syndicate_uplink() + var/obj/item/uplink/hidden/H = find_syndicate_uplink() if(H) qdel(H) @@ -448,10 +452,10 @@ var/is_currently_brigged = 0 if(istype(T.loc,/area/security/brig)) is_currently_brigged = 1 - for(var/obj/item/weapon/card/id/card in current) + for(var/obj/item/card/id/card in current) is_currently_brigged = 0 break // if they still have ID they're not brigged - for(var/obj/item/device/pda/P in current) + for(var/obj/item/pda/P in current) if(P.id) is_currently_brigged = 0 break // if they still have ID they're not brigged @@ -516,64 +520,64 @@ if(!mind.name) mind.name = real_name mind.current = src if(player_is_antag(mind)) - src.client.verbs += /client/proc/aooc + add_verb(src.client, /client/proc/aooc) //HUMAN /mob/living/carbon/human/mind_initialize() . = ..() if(!mind.assigned_role) - mind.assigned_role = USELESS_JOB //defualt //VOREStation Edit - Visitor not Assistant + mind.assigned_role = JOB_ALT_VISITOR //defualt //VOREStation Edit - Visitor not Assistant //slime /mob/living/simple_mob/slime/mind_initialize() . = ..() - mind.assigned_role = "slime" + mind.assigned_role = JOB_SLIME /mob/living/carbon/alien/larva/mind_initialize() . = ..() - mind.special_role = "Larva" + mind.special_role = JOB_LARVA //AI /mob/living/silicon/ai/mind_initialize() . = ..() - mind.assigned_role = "AI" + mind.assigned_role = JOB_AI //BORG /mob/living/silicon/robot/mind_initialize() . = ..() - mind.assigned_role = "Cyborg" + mind.assigned_role = JOB_CYBORG //PAI /mob/living/silicon/pai/mind_initialize() . = ..() - mind.assigned_role = "pAI" + mind.assigned_role = JOB_PAI mind.special_role = "" //Animals /mob/living/simple_mob/mind_initialize() . = ..() - mind.assigned_role = "Simple Mob" + mind.assigned_role = JOB_SIMPLE_MOB /mob/living/simple_mob/animal/passive/dog/corgi/mind_initialize() . = ..() - mind.assigned_role = "Corgi" + mind.assigned_role = JOB_CORGI /mob/living/simple_mob/construct/shade/mind_initialize() . = ..() - mind.assigned_role = "Shade" - mind.special_role = "Cultist" + mind.assigned_role = JOB_SHADE + mind.special_role = JOB_CULTIST /mob/living/simple_mob/construct/artificer/mind_initialize() . = ..() - mind.assigned_role = "Artificer" - mind.special_role = "Cultist" + mind.assigned_role = JOB_ARTIFICER + mind.special_role = JOB_CULTIST /mob/living/simple_mob/construct/wraith/mind_initialize() . = ..() - mind.assigned_role = "Wraith" - mind.special_role = "Cultist" + mind.assigned_role = JOB_WRAITH + mind.special_role = JOB_CULTIST /mob/living/simple_mob/construct/juggernaut/mind_initialize() . = ..() - mind.assigned_role = "Juggernaut" - mind.special_role = "Cultist" + mind.assigned_role = JOB_JUGGERNAUT + mind.special_role = JOB_CULTIST diff --git a/code/datums/observation/stat_set.dm b/code/datums/observation/stat_set.dm index c818a505320..08db60a3801 100644 --- a/code/datums/observation/stat_set.dm +++ b/code/datums/observation/stat_set.dm @@ -30,6 +30,6 @@ stat_set_event, /decl/observ/stat_set, new) if(!ourbelly.owner.client) return if(stat == CONSCIOUS) - to_chat(ourbelly.owner, "\The [src.name] is awake.") + to_chat(ourbelly.owner, span_notice("\The [src.name] is awake.")) else if(stat == UNCONSCIOUS) - to_chat(ourbelly.owner, "\The [src.name] has fallen unconscious!") + to_chat(ourbelly.owner, span_red("\The [src.name] has fallen unconscious!")) diff --git a/code/datums/observation/unequipped.dm b/code/datums/observation/unequipped.dm index 353332de022..5b0dd0fe839 100644 --- a/code/datums/observation/unequipped.dm +++ b/code/datums/observation/unequipped.dm @@ -35,7 +35,7 @@ GLOBAL_DATUM_INIT(item_unequipped_event, /decl/observ/item_unequipped, new) **********************/ /obj/item/dropped(var/mob/user) - ..() + . = ..(user) //SEND_SIGNAL(user, COMSIG_OBSERVER_MOB_UNEQUIPPED, src) //SEND_SIGNAL(src, COMSIG_OBSERVER_ITEM_UNEQUIPPED, user) if(user) // Cannot always guarantee that user won't be null diff --git a/code/datums/outfits/costumes/halloween.dm b/code/datums/outfits/costumes/halloween.dm index 35f4aa238d5..04eff3fc058 100644 --- a/code/datums/outfits/costumes/halloween.dm +++ b/code/datums/outfits/costumes/halloween.dm @@ -6,7 +6,7 @@ mask = /obj/item/clothing/mask/surgical head = /obj/item/clothing/head/welding suit = /obj/item/clothing/suit/storage/apron - r_hand = /obj/item/weapon/material/twohanded/fireaxe/foam + r_hand = /obj/item/material/twohanded/fireaxe/foam /decl/hierarchy/outfit/costume/masked_killer/post_equip(var/mob/living/carbon/human/H) var/victim = get_mannequin(H.ckey) @@ -22,10 +22,10 @@ l_pocket = /obj/item/toy/sword /decl/hierarchy/outfit/costume/professional/post_equip(var/mob/living/carbon/human/H) - var/obj/item/weapon/storage/briefcase/new_briefcase = new(H) + var/obj/item/storage/briefcase/new_briefcase = new(H) for(var/obj/item/briefcase_item in new_briefcase) qdel(briefcase_item) - new_briefcase.contents += new /obj/item/weapon/gun/projectile/pistol/toy + new_briefcase.contents += new /obj/item/gun/projectile/pistol/toy new_briefcase.contents += new /obj/item/ammo_magazine/mfoam_dart/pistol new_briefcase.contents += new /obj/item/clothing/mask/gas/clown_hat H.equip_to_slot_or_del(new_briefcase, slot_l_hand) @@ -38,7 +38,7 @@ glasses = /obj/item/clothing/glasses/fakesunglasses mask = /obj/item/clothing/mask/fakemoustache head = /obj/item/clothing/head/beret - r_hand = /obj/item/weapon/gun/projectile/revolver/capgun + r_hand = /obj/item/gun/projectile/revolver/capgun /decl/hierarchy/outfit/costume/horrorcop/post_equip(var/mob/living/carbon/human/H) var/obj/item/clothing/under/U = H.w_uniform @@ -55,7 +55,7 @@ head = /obj/item/clothing/head/cowboy gloves = /obj/item/clothing/gloves/fingerless suit = /obj/item/clothing/accessory/poncho - r_hand = /obj/item/weapon/gun/projectile/revolver/capgun + r_hand = /obj/item/gun/projectile/revolver/capgun /decl/hierarchy/outfit/costume/cowboy/post_equip(var/mob/living/carbon/human/H) var/obj/item/clothing/under/U = H.w_uniform @@ -72,7 +72,7 @@ head = /obj/item/clothing/head/beanie gloves = /obj/item/clothing/gloves/fingerless suit = /obj/item/clothing/suit/storage/flannel/red - r_hand = /obj/item/weapon/material/twohanded/fireaxe/foam + r_hand = /obj/item/material/twohanded/fireaxe/foam /decl/hierarchy/outfit/costume/firefighter name = OUTFIT_COSTUME("Firefighter") @@ -87,14 +87,14 @@ uniform = /obj/item/clothing/under/kilt shoes = /obj/item/clothing/shoes/boots/jackboots head = /obj/item/clothing/head/beret - r_hand = /obj/item/weapon/material/sword/foam + r_hand = /obj/item/material/sword/foam /decl/hierarchy/outfit/costume/vampire name = OUTFIT_COSTUME("Vampire") uniform = /obj/item/clothing/under/suit_jacket/really_black shoes = /obj/item/clothing/shoes/dress gloves = /obj/item/clothing/gloves/white - r_hand = /obj/item/weapon/bedsheet/red + r_hand = /obj/item/bedsheet/red /decl/hierarchy/outfit/costume/vampire_hunter name = OUTFIT_COSTUME("Vampire Hunter") @@ -102,8 +102,8 @@ suit = /obj/item/clothing/suit/storage/toggle/brown_jacket/sleeveless shoes = /obj/item/clothing/shoes/boots/jackboots gloves = /obj/item/clothing/gloves/fingerless - l_pocket = /obj/item/weapon/gun/projectile/revolver/toy/crossbow/halloween - r_pocket = /obj/item/device/flashlight/color/red + l_pocket = /obj/item/gun/projectile/revolver/toy/crossbow/halloween + r_pocket = /obj/item/flashlight/color/red /decl/hierarchy/outfit/costume/pirate name = OUTFIT_COSTUME("Pirate") @@ -127,4 +127,4 @@ shoes = /obj/item/clothing/shoes/brown head = /obj/item/clothing/head/marine suit = /obj/item/clothing/suit/marine - r_hand = /obj/item/weapon/gun/projectile/revolver/toy/sawnoff \ No newline at end of file + r_hand = /obj/item/gun/projectile/revolver/toy/sawnoff \ No newline at end of file diff --git a/code/datums/outfits/horror_killers.dm b/code/datums/outfits/horror_killers.dm index 59507d4f347..6f38c18df0e 100644 --- a/code/datums/outfits/horror_killers.dm +++ b/code/datums/outfits/horror_killers.dm @@ -5,16 +5,19 @@ gloves = /obj/item/clothing/gloves/black mask = /obj/item/clothing/mask/gas/clown_hat head = /obj/item/clothing/head/chaplain_hood - l_ear = /obj/item/device/radio/headset glasses = /obj/item/clothing/glasses/thermal/plain/monocle suit = /obj/item/clothing/suit/storage/hooded/chaplain_hoodie - r_pocket = /obj/item/weapon/bikehorn - r_hand = /obj/item/weapon/material/twohanded/fireaxe + r_pocket = /obj/item/bikehorn + r_hand = /obj/item/material/twohanded/fireaxe id_slot = slot_wear_id - id_type = /obj/item/weapon/card/id/syndicate/station_access + id_type = /obj/item/card/id/syndicate/station_access id_pda_assignment = "Tunnel Clown!" + headset = /obj/item/radio/headset + headset_alt = /obj/item/radio/headset/alt + headset_earbud = /obj/item/radio/headset/earbud + /decl/hierarchy/outfit/masked_killer name = "Masked Killer" uniform = /obj/item/clothing/under/overalls @@ -22,12 +25,15 @@ gloves = /obj/item/clothing/gloves/sterile/latex mask = /obj/item/clothing/mask/surgical head = /obj/item/clothing/head/welding - l_ear = /obj/item/device/radio/headset glasses = /obj/item/clothing/glasses/thermal/plain/monocle suit = /obj/item/clothing/suit/storage/apron - l_pocket = /obj/item/weapon/material/knife/tacknife - r_pocket = /obj/item/weapon/surgical/scalpel - r_hand = /obj/item/weapon/material/twohanded/fireaxe + l_pocket = /obj/item/material/knife/tacknife + r_pocket = /obj/item/surgical/scalpel + r_hand = /obj/item/material/twohanded/fireaxe + + headset = /obj/item/radio/headset + headset_alt = /obj/item/radio/headset/alt + headset_earbud = /obj/item/radio/headset/earbud /decl/hierarchy/outfit/masked_killer/post_equip(var/mob/living/carbon/human/H) var/victim = get_mannequin(H.ckey) @@ -39,24 +45,27 @@ uniform = /obj/item/clothing/under/suit_jacket{ starting_accessories=list(/obj/item/clothing/accessory/wcoat) } shoes = /obj/item/clothing/shoes/black gloves = /obj/item/clothing/gloves/black - l_ear = /obj/item/device/radio/headset glasses = /obj/item/clothing/glasses/sunglasses - l_pocket = /obj/item/weapon/melee/energy/sword + l_pocket = /obj/item/melee/energy/sword mask = /obj/item/clothing/mask/gas/clown_hat id_slot = slot_wear_id - id_type = /obj/item/weapon/card/id/syndicate/station_access + id_type = /obj/item/card/id/syndicate/station_access pda_slot = slot_belt - pda_type = /obj/item/device/pda/heads + pda_type = /obj/item/pda/heads + + headset = /obj/item/radio/headset + headset_alt = /obj/item/radio/headset/alt + headset_earbud = /obj/item/radio/headset/earbud /decl/hierarchy/outfit/professional/post_equip(var/mob/living/carbon/human/H) - var/obj/item/weapon/storage/secure/briefcase/sec_briefcase = new(H) + var/obj/item/storage/secure/briefcase/sec_briefcase = new(H) for(var/obj/item/briefcase_item in sec_briefcase) qdel(briefcase_item) for(var/i=3, i>0, i--) - sec_briefcase.contents += new /obj/item/weapon/spacecash/c1000 - sec_briefcase.contents += new /obj/item/weapon/gun/energy/crossbow - sec_briefcase.contents += new /obj/item/weapon/gun/projectile/revolver/mateba + sec_briefcase.contents += new /obj/item/spacecash/c1000 + sec_briefcase.contents += new /obj/item/gun/energy/crossbow + sec_briefcase.contents += new /obj/item/gun/projectile/revolver/mateba sec_briefcase.contents += new /obj/item/ammo_magazine/s357 - sec_briefcase.contents += new /obj/item/weapon/plastique + sec_briefcase.contents += new /obj/item/plastique H.equip_to_slot_or_del(sec_briefcase, slot_l_hand) diff --git a/code/datums/outfits/jobs/YW.dm b/code/datums/outfits/jobs/YW.dm index 3c267ec5a6a..cc00cf7bc94 100644 --- a/code/datums/outfits/jobs/YW.dm +++ b/code/datums/outfits/jobs/YW.dm @@ -1,8 +1,8 @@ /decl/hierarchy/outfit/job/blueshield name = OUTFIT_JOB_NAME("Blueshield Guard") uniform = /obj/item/clothing/under/yw/blueshield - l_ear = /obj/item/device/radio/headset/heads/blueshield + l_ear = /obj/item/radio/headset/heads/blueshield shoes = /obj/item/clothing/shoes/laceup - id_type = /obj/item/weapon/card/id/blueshield - pda_type = /obj/item/device/pda/captain - r_hand = /obj/item/weapon/clipboard + id_type = /obj/item/card/id/blueshield + pda_type = /obj/item/pda/captain + r_hand = /obj/item/clipboard diff --git a/code/datums/outfits/jobs/cargo.dm b/code/datums/outfits/jobs/cargo.dm index e7b8701a373..bed1308f398 100644 --- a/code/datums/outfits/jobs/cargo.dm +++ b/code/datums/outfits/jobs/cargo.dm @@ -1,30 +1,39 @@ /decl/hierarchy/outfit/job/cargo - l_ear = /obj/item/device/radio/headset/headset_cargo hierarchy_type = /decl/hierarchy/outfit/job/cargo + headset = /obj/item/radio/headset/cargo + headset_alt = /obj/item/radio/headset/alt/cargo + headset_earbud = /obj/item/radio/headset/earbud/cargo + /decl/hierarchy/outfit/job/cargo/qm name = OUTFIT_JOB_NAME("Cargo") uniform = /obj/item/clothing/under/rank/cargo - l_ear = /obj/item/device/radio/headset/headset_qm //VOREStation Add shoes = /obj/item/clothing/shoes/brown glasses = /obj/item/clothing/glasses/sunglasses - l_hand = /obj/item/weapon/clipboard - id_type = /obj/item/weapon/card/id/cargo/head - pda_type = /obj/item/device/pda/quartermaster + l_hand = /obj/item/clipboard + id_type = /obj/item/card/id/cargo/head + pda_type = /obj/item/pda/quartermaster + + headset = /obj/item/radio/headset/qm + headset_alt = /obj/item/radio/headset/alt/qm + headset_earbud = /obj/item/radio/headset/earbud/qm /decl/hierarchy/outfit/job/cargo/cargo_tech name = OUTFIT_JOB_NAME("Cargo technician") uniform = /obj/item/clothing/under/rank/cargotech - id_type = /obj/item/weapon/card/id/cargo - pda_type = /obj/item/device/pda/cargo + id_type = /obj/item/card/id/cargo + pda_type = /obj/item/pda/cargo /decl/hierarchy/outfit/job/cargo/mining name = OUTFIT_JOB_NAME("Shaft miner") uniform = /obj/item/clothing/under/rank/miner - l_ear = /obj/item/device/radio/headset/headset_mine - backpack = /obj/item/weapon/storage/backpack/industrial - satchel_one = /obj/item/weapon/storage/backpack/satchel/eng - id_type = /obj/item/weapon/card/id/cargo/miner - pda_type = /obj/item/device/pda/shaftminer - backpack_contents = list(/obj/item/weapon/tool/crowbar = 1, /obj/item/weapon/storage/bag/ore = 1) + backpack = /obj/item/storage/backpack/industrial + satchel_one = /obj/item/storage/backpack/satchel/eng + id_type = /obj/item/card/id/cargo/miner + pda_type = /obj/item/pda/shaftminer + backpack_contents = list(/obj/item/tool/crowbar = 1, /obj/item/storage/bag/ore = 1) flags = OUTFIT_HAS_BACKPACK|OUTFIT_EXTENDED_SURVIVAL + + headset = /obj/item/radio/headset/miner + headset_alt = /obj/item/radio/headset/miner + headset_earbud = /obj/item/radio/headset/miner diff --git a/code/datums/outfits/jobs/civilian.dm b/code/datums/outfits/jobs/civilian.dm index 554666cbca8..829e6f9c649 100644 --- a/code/datums/outfits/jobs/civilian.dm +++ b/code/datums/outfits/jobs/civilian.dm @@ -1,32 +1,35 @@ /decl/hierarchy/outfit/job/assistant - name = OUTFIT_JOB_NAME(USELESS_JOB) //VOREStation Edit - Visitor not Assistant - id_type = /obj/item/weapon/card/id/generic //VOREStation Edit + name = OUTFIT_JOB_NAME(JOB_ALT_VISITOR) //VOREStation Edit - Visitor not Assistant + id_type = /obj/item/card/id/generic //VOREStation Edit /decl/hierarchy/outfit/job/assistant/visitor - name = OUTFIT_JOB_NAME("Visitor") - id_pda_assignment = "Visitor" + name = OUTFIT_JOB_NAME(JOB_ALT_VISITOR) + id_pda_assignment = JOB_ALT_VISITOR uniform = /obj/item/clothing/under/assistantformal //VOREStation Add - Interns /decl/hierarchy/outfit/job/assistant/intern - name = OUTFIT_JOB_NAME("Intern") - id_type = /obj/item/weapon/card/id/civilian + name = OUTFIT_JOB_NAME(JOB_INTERN) + id_type = /obj/item/card/id/civilian //VOREStation Add End - Interns /decl/hierarchy/outfit/job/assistant/resident - name = OUTFIT_JOB_NAME("Resident") - id_pda_assignment = "Resident" + name = OUTFIT_JOB_NAME(JOB_ALT_RESIDENT) + id_pda_assignment = JOB_ALT_RESIDENT uniform = /obj/item/clothing/under/color/white /decl/hierarchy/outfit/job/service - l_ear = /obj/item/device/radio/headset/headset_service hierarchy_type = /decl/hierarchy/outfit/job/service + headset = /obj/item/radio/headset/service + headset_alt = /obj/item/radio/headset/alt/service + headset_earbud = /obj/item/radio/headset/earbud/service + /decl/hierarchy/outfit/job/service/bartender - name = OUTFIT_JOB_NAME("Bartender") + name = OUTFIT_JOB_NAME(JOB_BARTENDER) uniform = /obj/item/clothing/under/rank/bartender - id_type = /obj/item/weapon/card/id/civilian/service/bartender //VOREStation Edit - pda_type = /obj/item/device/pda/bar + id_type = /obj/item/card/id/civilian/service/bartender //VOREStation Edit + pda_type = /obj/item/pda/bar backpack_contents = list(/obj/item/clothing/accessory/permit/gun/bar = 1) /decl/hierarchy/outfit/job/service/bartender/post_equip(mob/living/carbon/human/H) @@ -36,88 +39,94 @@ permit.set_name(H.real_name) /decl/hierarchy/outfit/job/service/bartender/barista - name = OUTFIT_JOB_NAME("Barista") - id_pda_assignment = "Barista" + name = OUTFIT_JOB_NAME(JOB_ALT_BARISTA) + id_pda_assignment = JOB_ALT_BARISTA backpack_contents = null /decl/hierarchy/outfit/job/service/chef - name = OUTFIT_JOB_NAME("Chef") + name = OUTFIT_JOB_NAME(JOB_CHEF) uniform = /obj/item/clothing/under/rank/chef suit = /obj/item/clothing/suit/chef head = /obj/item/clothing/head/chefhat - id_type = /obj/item/weapon/card/id/civilian/service/chef //VOREStation Edit - pda_type = /obj/item/device/pda/chef + id_type = /obj/item/card/id/civilian/service/chef //VOREStation Edit + pda_type = /obj/item/pda/chef /decl/hierarchy/outfit/job/service/chef/cook - name = OUTFIT_JOB_NAME("Cook") - id_pda_assignment = "Cook" + name = OUTFIT_JOB_NAME(JOB_ALT_COOK) + id_pda_assignment = JOB_ALT_COOK // Rykka adds Server Outfit /decl/hierarchy/outfit/job/service/server - name = OUTFIT_JOB_NAME("Server") + name = OUTFIT_JOB_NAME(JOB_ALT_SERVER) uniform = /obj/item/clothing/under/waiter // End Outfit addition /decl/hierarchy/outfit/job/service/gardener - name = OUTFIT_JOB_NAME("Gardener") + name = OUTFIT_JOB_NAME(JOB_ALT_GARDENER) uniform = /obj/item/clothing/under/rank/hydroponics suit = /obj/item/clothing/suit/storage/apron gloves = /obj/item/clothing/gloves/botanic_leather - r_pocket = /obj/item/device/analyzer/plant_analyzer - backpack = /obj/item/weapon/storage/backpack/hydroponics - satchel_one = /obj/item/weapon/storage/backpack/satchel/hyd - messenger_bag = /obj/item/weapon/storage/backpack/messenger/hyd - sports_bag = /obj/item/weapon/storage/backpack/sport/hyd - id_type = /obj/item/weapon/card/id/civilian/service/botanist //VOREStation Edit - pda_type = /obj/item/device/pda/botanist + r_pocket = /obj/item/analyzer/plant_analyzer + backpack = /obj/item/storage/backpack/hydroponics + satchel_one = /obj/item/storage/backpack/satchel/hyd + messenger_bag = /obj/item/storage/backpack/messenger/hyd + sports_bag = /obj/item/storage/backpack/sport/hyd + id_type = /obj/item/card/id/civilian/service/botanist //VOREStation Edit + pda_type = /obj/item/pda/botanist /decl/hierarchy/outfit/job/service/janitor - name = OUTFIT_JOB_NAME("Janitor") + name = OUTFIT_JOB_NAME(JOB_JANITOR) uniform = /obj/item/clothing/under/rank/janitor - id_type = /obj/item/weapon/card/id/civilian/service/janitor //VOREStation Edit - pda_type = /obj/item/device/pda/janitor + id_type = /obj/item/card/id/civilian/service/janitor //VOREStation Edit + pda_type = /obj/item/pda/janitor /decl/hierarchy/outfit/job/librarian - name = OUTFIT_JOB_NAME("Librarian") + name = OUTFIT_JOB_NAME(JOB_LIBRARIAN) uniform = /obj/item/clothing/under/suit_jacket/red - l_hand = /obj/item/weapon/barcodescanner - id_type = /obj/item/weapon/card/id/civilian - pda_type = /obj/item/device/pda/librarian + l_hand = /obj/item/barcodescanner + id_type = /obj/item/card/id/civilian + pda_type = /obj/item/pda/librarian /decl/hierarchy/outfit/job/librarian/journalist - id_type = /obj/item/weapon/card/id/civilian/journalist + id_type = /obj/item/card/id/civilian/journalist /decl/hierarchy/outfit/job/internal_affairs_agent name = OUTFIT_JOB_NAME("Internal affairs agent") - l_ear = /obj/item/device/radio/headset/ia uniform = /obj/item/clothing/under/rank/internalaffairs suit = /obj/item/clothing/suit/storage/toggle/internalaffairs shoes = /obj/item/clothing/shoes/brown glasses = /obj/item/clothing/glasses/sunglasses/big - l_hand = /obj/item/weapon/clipboard - id_type = /obj/item/weapon/card/id/civilian/internal_affairs - pda_type = /obj/item/device/pda/lawyer + l_hand = /obj/item/clipboard + id_type = /obj/item/card/id/civilian/internal_affairs + pda_type = /obj/item/pda/lawyer + + headset = /obj/item/radio/headset/ia + headset_alt = /obj/item/radio/headset/alt/ia + headset_earbud = /obj/item/radio/headset/earbud/ia /decl/hierarchy/outfit/job/chaplain - name = OUTFIT_JOB_NAME("Chaplain") + name = OUTFIT_JOB_NAME(JOB_CHAPLAIN) uniform = /obj/item/clothing/under/rank/chaplain - l_hand = /obj/item/weapon/storage/bible - id_type = /obj/item/weapon/card/id/civilian/chaplain - pda_type = /obj/item/device/pda/chaplain + l_hand = /obj/item/storage/bible + id_type = /obj/item/card/id/civilian/chaplain + pda_type = /obj/item/pda/chaplain /decl/hierarchy/outfit/job/explorer - name = OUTFIT_JOB_NAME("Explorer") + name = OUTFIT_JOB_NAME(JOB_EXPLORER) shoes = /obj/item/clothing/shoes/boots/winter/explorer uniform = /obj/item/clothing/under/explorer mask = /obj/item/clothing/mask/gas/explorer suit = /obj/item/clothing/suit/storage/hooded/explorer gloves = /obj/item/clothing/gloves/black - l_ear = /obj/item/device/radio/headset id_slot = slot_wear_id - id_type = /obj/item/weapon/card/id/exploration //VOREStation Edit + id_type = /obj/item/card/id/exploration //VOREStation Edit pda_slot = slot_belt - pda_type = /obj/item/device/pda/cargo // Brown looks more rugged - r_pocket = /obj/item/device/gps/explorer - id_pda_assignment = "Explorer" + pda_type = /obj/item/pda/cargo // Brown looks more rugged + r_pocket = /obj/item/gps/explorer + id_pda_assignment = JOB_EXPLORER + + headset = /obj/item/radio/headset + headset_alt = /obj/item/radio/headset/alt + headset_earbud = /obj/item/radio/headset/earbud diff --git a/code/datums/outfits/jobs/civilian_vr.dm b/code/datums/outfits/jobs/civilian_vr.dm index 74e441e5eef..f25f6ac08ac 100644 --- a/code/datums/outfits/jobs/civilian_vr.dm +++ b/code/datums/outfits/jobs/civilian_vr.dm @@ -1,92 +1,92 @@ /decl/hierarchy/outfit/job/assistant/worker - id_type = /obj/item/weapon/card/id/civilian/service + id_type = /obj/item/card/id/civilian/service /decl/hierarchy/outfit/job/assistant/cargo - id_type = /obj/item/weapon/card/id/cargo + id_type = /obj/item/card/id/cargo /decl/hierarchy/outfit/job/assistant/engineer - id_type = /obj/item/weapon/card/id/engineering + id_type = /obj/item/card/id/engineering flags = OUTFIT_HAS_BACKPACK|OUTFIT_EXTENDED_SURVIVAL /decl/hierarchy/outfit/job/assistant/medic - id_type = /obj/item/weapon/card/id/medical + id_type = /obj/item/card/id/medical /decl/hierarchy/outfit/job/assistant/scientist - id_type = /obj/item/weapon/card/id/science + id_type = /obj/item/card/id/science /decl/hierarchy/outfit/job/assistant/officer - id_type = /obj/item/weapon/card/id/security + id_type = /obj/item/card/id/security /decl/hierarchy/outfit/job/assistant/entertainer - id_type = /obj/item/weapon/card/id/civilian/entertainer + id_type = /obj/item/card/id/civilian/entertainer /decl/hierarchy/outfit/job/assistant/entrepreneur - id_type = /obj/item/weapon/card/id/civilian/entrepreneur - l_hand = /obj/item/device/ticket_printer/train + id_type = /obj/item/card/id/civilian/entrepreneur + l_hand = /obj/item/ticket_printer/train uniform = /obj/item/clothing/under/tropical/pink /decl/hierarchy/outfit/job/assistant/entrepreneur/lawyer uniform = /obj/item/clothing/under/lawyer/red - r_hand = /obj/item/weapon/clipboard - l_pocket = /obj/item/weapon/pen/fountain3 + r_hand = /obj/item/clipboard + l_pocket = /obj/item/pen/fountain3 /decl/hierarchy/outfit/job/assistant/entrepreneur/private_eye - l_hand = /obj/item/weapon/storage/box/private_investigator + l_hand = /obj/item/storage/box/private_investigator suit = /obj/item/clothing/suit/storage/trench head = /obj/item/clothing/head/fedora/brown /decl/hierarchy/outfit/job/assistant/entrepreneur/bodyguard glasses = /obj/item/clothing/glasses/sunglasses - l_pocket = /obj/item/weapon/reagent_containers/spray/pepper + l_pocket = /obj/item/reagent_containers/spray/pepper suit = /obj/item/clothing/accessory/sweater/blackneck /decl/hierarchy/outfit/job/assistant/entrepreneur/personal_physician suit = /obj/item/clothing/suit/storage/toggle/labcoat l_pocket = /obj/item/clothing/accessory/stethoscope - r_pocket = /obj/item/device/healthanalyzer + r_pocket = /obj/item/healthanalyzer /decl/hierarchy/outfit/job/assistant/entrepreneur/dentist - l_hand = /obj/item/weapon/storage/box/dentist + l_hand = /obj/item/storage/box/dentist suit = /obj/item/clothing/suit/storage/toggle/labcoat /decl/hierarchy/outfit/job/assistant/entrepreneur/fitness_instructor - l_hand = /obj/item/weapon/storage/box/fitness_trainer + l_hand = /obj/item/storage/box/fitness_trainer /decl/hierarchy/outfit/job/assistant/entrepreneur/yoga_teacher uniform = /obj/item/clothing/under/pants/yogapants - l_hand = /obj/item/weapon/storage/box/yoga_teacher + l_hand = /obj/item/storage/box/yoga_teacher /decl/hierarchy/outfit/job/assistant/entrepreneur/masseuse r_hand = /obj/item/roller/massage /decl/hierarchy/outfit/job/assistant/entrepreneur/tradesperson - r_hand = /obj/item/weapon/storage/toolbox/brass + r_hand = /obj/item/storage/toolbox/brass /decl/hierarchy/outfit/job/assistant/entrepreneur/streamer - l_pocket = /obj/item/device/tvcamera/streamer + l_pocket = /obj/item/tvcamera/streamer /decl/hierarchy/outfit/job/assistant/entrepreneur/influencer - l_pocket = /obj/item/device/camera/selfie + l_pocket = /obj/item/camera/selfie /decl/hierarchy/outfit/job/assistant/entrepreneur/paranormal_investigator - l_hand = /obj/item/weapon/storage/box/paranormal_investigator + l_hand = /obj/item/storage/box/paranormal_investigator /decl/hierarchy/outfit/job/assistant/entrepreneur/stylist - l_hand = /obj/item/weapon/storage/box/stylist + l_hand = /obj/item/storage/box/stylist /decl/hierarchy/outfit/job/assistant/entrepreneur/fisher - r_hand = /obj/item/weapon/material/fishing_rod/modern - l_pocket = /obj/item/weapon/material/fishing_net + r_hand = /obj/item/material/fishing_rod/modern + l_pocket = /obj/item/material/fishing_net head = /obj/item/clothing/head/fishing - r_pocket = /obj/item/weapon/storage/box/wormcan + r_pocket = /obj/item/storage/box/wormcan /decl/hierarchy/outfit/job/assistant/entrepreneur/personal_secretary uniform = /obj/item/clothing/under/lawyer/blue - r_hand = /obj/item/weapon/clipboard - l_pocket = /obj/item/weapon/pen/fountain3 + r_hand = /obj/item/clipboard + l_pocket = /obj/item/pen/fountain3 /decl/hierarchy/outfit/job/assistant/entrepreneur/fortune_teller - l_hand = /obj/item/weapon/storage/box/fortune_teller + l_hand = /obj/item/storage/box/fortune_teller /decl/hierarchy/outfit/job/assistant/entrepreneur/spirit_healer - l_hand = /obj/item/weapon/storage/box/spirit_healer + l_hand = /obj/item/storage/box/spirit_healer diff --git a/code/datums/outfits/jobs/command.dm b/code/datums/outfits/jobs/command.dm index d8a74f925da..e5a869d9ddf 100644 --- a/code/datums/outfits/jobs/command.dm +++ b/code/datums/outfits/jobs/command.dm @@ -1,14 +1,18 @@ /decl/hierarchy/outfit/job/captain - name = OUTFIT_JOB_NAME("Captain") + name = OUTFIT_JOB_NAME(JOB_ALT_CAPTAIN) // Keep Captain for now, not JOB_SITE_MANAGER glasses = /obj/item/clothing/glasses/sunglasses uniform = /obj/item/clothing/under/rank/captain - l_ear = /obj/item/device/radio/headset/heads/captain + shoes = /obj/item/clothing/shoes/brown - backpack = /obj/item/weapon/storage/backpack/captain - satchel_one = /obj/item/weapon/storage/backpack/satchel/cap - messenger_bag = /obj/item/weapon/storage/backpack/messenger/com - id_type = /obj/item/weapon/card/id/gold - pda_type = /obj/item/device/pda/captain + backpack = /obj/item/storage/backpack/captain + satchel_one = /obj/item/storage/backpack/satchel/cap + messenger_bag = /obj/item/storage/backpack/messenger/com + id_type = /obj/item/card/id/gold + pda_type = /obj/item/pda/captain + + headset = /obj/item/radio/headset/heads/captain + headset_alt = /obj/item/radio/headset/alt/heads/captain + headset_earbud = /obj/item/radio/headset/earbud/heads/captain /decl/hierarchy/outfit/job/captain/post_equip(var/mob/living/carbon/human/H) ..() @@ -24,24 +28,30 @@ qdel(medal) /decl/hierarchy/outfit/job/hop - name = OUTFIT_JOB_NAME("Head of Personnel") + name = OUTFIT_JOB_NAME(JOB_HEAD_OF_PERSONNEL) uniform = /obj/item/clothing/under/rank/head_of_personnel - l_ear = /obj/item/device/radio/headset/heads/hop shoes = /obj/item/clothing/shoes/brown - id_type = /obj/item/weapon/card/id/silver/hop - pda_type = /obj/item/device/pda/heads/hop + id_type = /obj/item/card/id/silver/hop + pda_type = /obj/item/pda/heads/hop + + headset = /obj/item/radio/headset/heads/hop + headset_alt = /obj/item/radio/headset/alt/heads/hop + headset_earbud = /obj/item/radio/headset/earbud/heads/hop /decl/hierarchy/outfit/job/secretary - name = OUTFIT_JOB_NAME("Command Secretary") - l_ear = /obj/item/device/radio/headset/headset_com + name = OUTFIT_JOB_NAME(JOB_COMMAND_SECRETARY) shoes = /obj/item/clothing/shoes/brown - id_type = /obj/item/weapon/card/id/silver/secretary - pda_type = /obj/item/device/pda/heads - r_hand = /obj/item/weapon/clipboard + id_type = /obj/item/card/id/silver/secretary + pda_type = /obj/item/pda/heads + r_hand = /obj/item/clipboard + + headset = /obj/item/radio/headset/headset_com + headset_alt = /obj/item/radio/headset/alt/headset_com + headset_earbud = /obj/item/radio/headset/earbud/headset_com /decl/hierarchy/outfit/job/secretary/pre_equip(mob/living/carbon/human/H) ..() if(H.gender == FEMALE) uniform = /obj/item/clothing/under/suit_jacket/female/skirt else - uniform = /obj/item/clothing/under/suit_jacket/charcoal \ No newline at end of file + uniform = /obj/item/clothing/under/suit_jacket/charcoal diff --git a/code/datums/outfits/jobs/command_vr.dm b/code/datums/outfits/jobs/command_vr.dm index 5e90123ffcc..d120a0c41e9 100644 --- a/code/datums/outfits/jobs/command_vr.dm +++ b/code/datums/outfits/jobs/command_vr.dm @@ -1,5 +1,5 @@ /decl/hierarchy/outfit/job/hop - id_type = /obj/item/weapon/card/id/silver/hop + id_type = /obj/item/card/id/silver/hop /decl/hierarchy/outfit/job/secretary - id_type = /obj/item/weapon/card/id/silver/secretary \ No newline at end of file + id_type = /obj/item/card/id/silver/secretary \ No newline at end of file diff --git a/code/datums/outfits/jobs/engineering.dm b/code/datums/outfits/jobs/engineering.dm index 86bf9fa8cfa..11c4a4cd3ce 100644 --- a/code/datums/outfits/jobs/engineering.dm +++ b/code/datums/outfits/jobs/engineering.dm @@ -1,34 +1,41 @@ /decl/hierarchy/outfit/job/engineering hierarchy_type = /decl/hierarchy/outfit/job/engineering - belt = /obj/item/weapon/storage/belt/utility/full/multitool - l_ear = /obj/item/device/radio/headset/headset_eng + belt = /obj/item/storage/belt/utility/full/multitool shoes = /obj/item/clothing/shoes/boots/workboots - r_pocket = /obj/item/device/t_scanner - backpack = /obj/item/weapon/storage/backpack/industrial - satchel_one = /obj/item/weapon/storage/backpack/satchel/eng - messenger_bag = /obj/item/weapon/storage/backpack/messenger/engi + r_pocket = /obj/item/t_scanner + backpack = /obj/item/storage/backpack/industrial + satchel_one = /obj/item/storage/backpack/satchel/eng + messenger_bag = /obj/item/storage/backpack/messenger/engi pda_slot = slot_l_store flags = OUTFIT_HAS_BACKPACK|OUTFIT_EXTENDED_SURVIVAL + headset = /obj/item/radio/headset/headset_eng + headset_alt = /obj/item/radio/headset/alt/headset_eng + headset_earbud = /obj/item/radio/headset/earbud/headset_eng + /decl/hierarchy/outfit/job/engineering/chief_engineer - name = OUTFIT_JOB_NAME("Chief engineer") + name = OUTFIT_JOB_NAME(JOB_CHIEF_ENGINEER) head = /obj/item/clothing/head/hardhat/white uniform = /obj/item/clothing/under/rank/chief_engineer - l_ear = /obj/item/device/radio/headset/heads/ce + gloves = /obj/item/clothing/gloves/black - id_type = /obj/item/weapon/card/id/engineering/head - pda_type = /obj/item/device/pda/heads/ce + id_type = /obj/item/card/id/engineering/head + pda_type = /obj/item/pda/heads/ce + + headset = /obj/item/radio/headset/heads/ce + headset_alt = /obj/item/radio/headset/alt/heads/ce + headset_earbud = /obj/item/radio/headset/earbud/heads/ce /decl/hierarchy/outfit/job/engineering/engineer - name = OUTFIT_JOB_NAME("Engineer") + name = OUTFIT_JOB_NAME(JOB_ENGINEER) head = /obj/item/clothing/head/hardhat uniform = /obj/item/clothing/under/rank/engineer - id_type = /obj/item/weapon/card/id/engineering - pda_type = /obj/item/device/pda/engineering + id_type = /obj/item/card/id/engineering + pda_type = /obj/item/pda/engineering /decl/hierarchy/outfit/job/engineering/atmos - name = OUTFIT_JOB_NAME("Atmospheric technician") + name = OUTFIT_JOB_NAME(JOB_ATMOSPHERIC_TECHNICIAN) uniform = /obj/item/clothing/under/rank/atmospheric_technician - belt = /obj/item/weapon/storage/belt/utility/atmostech - id_type = /obj/item/weapon/card/id/engineering/atmos - pda_type = /obj/item/device/pda/atmos + belt = /obj/item/storage/belt/utility/atmostech + id_type = /obj/item/card/id/engineering/atmos + pda_type = /obj/item/pda/atmos diff --git a/code/datums/outfits/jobs/job.dm b/code/datums/outfits/jobs/job.dm index 5c419f8fb28..fdb7af5dbed 100644 --- a/code/datums/outfits/jobs/job.dm +++ b/code/datums/outfits/jobs/job.dm @@ -3,18 +3,21 @@ hierarchy_type = /decl/hierarchy/outfit/job uniform = /obj/item/clothing/under/color/grey - l_ear = /obj/item/device/radio/headset shoes = /obj/item/clothing/shoes/black id_slot = slot_wear_id - id_type = /obj/item/weapon/card/id/civilian + id_type = /obj/item/card/id/civilian pda_slot = slot_belt - pda_type = /obj/item/device/pda + pda_type = /obj/item/pda flags = OUTFIT_HAS_BACKPACK + headset = /obj/item/radio/headset + headset_alt = /obj/item/radio/headset/alt + headset_earbud = /obj/item/radio/headset/earbud + /decl/hierarchy/outfit/job/equip_id(mob/living/carbon/human/H, rank, assignment) - var/obj/item/weapon/card/id/C = ..() + var/obj/item/card/id/C = ..() var/datum/job/J = job_master.GetJob(rank) if(J) C.access = J.get_access() diff --git a/code/datums/outfits/jobs/medical.dm b/code/datums/outfits/jobs/medical.dm index b474f92f727..6a4d120d37d 100644 --- a/code/datums/outfits/jobs/medical.dm +++ b/code/datums/outfits/jobs/medical.dm @@ -1,51 +1,58 @@ /decl/hierarchy/outfit/job/medical hierarchy_type = /decl/hierarchy/outfit/job/medical - l_ear = /obj/item/device/radio/headset/headset_med shoes = /obj/item/clothing/shoes/white - pda_type = /obj/item/device/pda/medical + pda_type = /obj/item/pda/medical pda_slot = slot_l_store - backpack = /obj/item/weapon/storage/backpack/medic - satchel_one = /obj/item/weapon/storage/backpack/satchel/med - messenger_bag = /obj/item/weapon/storage/backpack/messenger/med + + backpack = /obj/item/storage/backpack/medic + satchel_one = /obj/item/storage/backpack/satchel/med + messenger_bag = /obj/item/storage/backpack/messenger/med + + headset = /obj/item/radio/headset/headset_med + headset_alt = /obj/item/radio/headset/alt/headset_med + headset_earbud = /obj/item/radio/headset/earbud/headset_med /decl/hierarchy/outfit/job/medical/cmo - name = OUTFIT_JOB_NAME("Chief Medical Officer") - l_ear =/obj/item/device/radio/headset/heads/cmo + name = OUTFIT_JOB_NAME(JOB_CHIEF_MEDICAL_OFFICER) uniform = /obj/item/clothing/under/rank/chief_medical_officer suit = /obj/item/clothing/suit/storage/toggle/labcoat/cmo shoes = /obj/item/clothing/shoes/brown - l_hand = /obj/item/weapon/storage/firstaid/adv - r_pocket = /obj/item/device/healthanalyzer - id_type = /obj/item/weapon/card/id/medical/head - pda_type = /obj/item/device/pda/heads/cmo + l_hand = /obj/item/storage/firstaid/adv + r_pocket = /obj/item/healthanalyzer + id_type = /obj/item/card/id/medical/head + pda_type = /obj/item/pda/heads/cmo + + headset = /obj/item/radio/headset/heads/cmo + headset_alt = /obj/item/radio/headset/alt/heads/cmo + headset_earbud = /obj/item/radio/headset/earbud/heads/cmo /decl/hierarchy/outfit/job/medical/doctor - name = OUTFIT_JOB_NAME("Medical Doctor") + name = OUTFIT_JOB_NAME(JOB_MEDICAL_DOCTOR) uniform = /obj/item/clothing/under/rank/medical suit = /obj/item/clothing/suit/storage/toggle/labcoat - l_hand = /obj/item/weapon/storage/firstaid/regular - r_pocket = /obj/item/device/flashlight/pen - id_type = /obj/item/weapon/card/id/medical + l_hand = /obj/item/storage/firstaid/regular + r_pocket = /obj/item/flashlight/pen + id_type = /obj/item/card/id/medical /decl/hierarchy/outfit/job/medical/doctor/emergency_physician - name = OUTFIT_JOB_NAME("Emergency Physician") + name = OUTFIT_JOB_NAME(JOB_ALT_EMERGENCY_PHYSICIAN) suit = /obj/item/clothing/suit/storage/toggle/fr_jacket /decl/hierarchy/outfit/job/medical/doctor/surgeon - name = OUTFIT_JOB_NAME("Surgeon") + name = OUTFIT_JOB_NAME(JOB_ALT_SURGEON) uniform = /obj/item/clothing/under/rank/medical/scrubs head = /obj/item/clothing/head/surgery/blue /decl/hierarchy/outfit/job/medical/doctor/virologist - name = OUTFIT_JOB_NAME("Virologist") + name = OUTFIT_JOB_NAME(JOB_ALT_VIROLOGIST) uniform = /obj/item/clothing/under/rank/virologist suit = /obj/item/clothing/suit/storage/toggle/labcoat/virologist mask = /obj/item/clothing/mask/surgical - backpack = /obj/item/weapon/storage/backpack/virology - satchel_one = /obj/item/weapon/storage/backpack/satchel/vir + backpack = /obj/item/storage/backpack/virology + satchel_one = /obj/item/storage/backpack/satchel/vir /decl/hierarchy/outfit/job/medical/doctor/nurse - name = OUTFIT_JOB_NAME("Nurse") + name = OUTFIT_JOB_NAME(JOB_ALT_NURSE) suit = null /decl/hierarchy/outfit/job/medical/doctor/nurse/pre_equip(mob/living/carbon/human/H) @@ -60,48 +67,48 @@ ..() /decl/hierarchy/outfit/job/medical/chemist - name = OUTFIT_JOB_NAME("Chemist") + name = OUTFIT_JOB_NAME(JOB_CHEMIST) uniform = /obj/item/clothing/under/rank/chemist suit = /obj/item/clothing/suit/storage/toggle/labcoat/chemist - backpack = /obj/item/weapon/storage/backpack/chemistry - satchel_one = /obj/item/weapon/storage/backpack/satchel/chem - sports_bag = /obj/item/weapon/storage/backpack/sport/chem - id_type = /obj/item/weapon/card/id/medical/chemist - pda_type = /obj/item/device/pda/chemist + backpack = /obj/item/storage/backpack/chemistry + satchel_one = /obj/item/storage/backpack/satchel/chem + sports_bag = /obj/item/storage/backpack/sport/chem + id_type = /obj/item/card/id/medical/chemist + pda_type = /obj/item/pda/chemist /decl/hierarchy/outfit/job/medical/geneticist - name = OUTFIT_JOB_NAME("Geneticist") + name = OUTFIT_JOB_NAME(JOB_GENETICIST) uniform = /obj/item/clothing/under/rank/geneticist suit = /obj/item/clothing/suit/storage/toggle/labcoat/genetics - backpack = /obj/item/weapon/storage/backpack/genetics - r_pocket = /obj/item/device/flashlight/pen - satchel_one = /obj/item/weapon/storage/backpack/satchel/gen - id_type = /obj/item/weapon/card/id/medical/geneticist - pda_type = /obj/item/device/pda/geneticist + backpack = /obj/item/storage/backpack/genetics + r_pocket = /obj/item/flashlight/pen + satchel_one = /obj/item/storage/backpack/satchel/gen + id_type = /obj/item/card/id/medical/geneticist + pda_type = /obj/item/pda/geneticist /decl/hierarchy/outfit/job/medical/psychiatrist - name = OUTFIT_JOB_NAME("Psychiatrist") + name = OUTFIT_JOB_NAME(JOB_PSYCHIATRIST) uniform = /obj/item/clothing/under/rank/psych suit = /obj/item/clothing/suit/storage/toggle/labcoat shoes = /obj/item/clothing/shoes/laceup - id_type = /obj/item/weapon/card/id/medical/psych + id_type = /obj/item/card/id/medical/psych /decl/hierarchy/outfit/job/medical/psychiatrist/psychologist - name = OUTFIT_JOB_NAME("Psychologist") + name = OUTFIT_JOB_NAME(JOB_ALT_PSYCHOLOGIST) uniform = /obj/item/clothing/under/rank/psych/turtleneck /decl/hierarchy/outfit/job/medical/paramedic - name = OUTFIT_JOB_NAME("Paramedic") + name = OUTFIT_JOB_NAME(JOB_PARAMEDIC) uniform = /obj/item/clothing/under/rank/medical/paramedic suit = /obj/item/clothing/suit/storage/toggle/fr_jacket shoes = /obj/item/clothing/shoes/boots/jackboots - l_hand = /obj/item/weapon/storage/firstaid/regular - belt = /obj/item/weapon/storage/belt/medical/emt + l_hand = /obj/item/storage/firstaid/regular + belt = /obj/item/storage/belt/medical/emt pda_slot = slot_l_store - id_type = /obj/item/weapon/card/id/medical/emt + id_type = /obj/item/card/id/medical/emt flags = OUTFIT_HAS_BACKPACK|OUTFIT_EXTENDED_SURVIVAL /decl/hierarchy/outfit/job/medical/paramedic/emt - name = OUTFIT_JOB_NAME("Emergency Medical Technician") + name = OUTFIT_JOB_NAME(JOB_ALT_EMERGENCY_MEDICAL_TECHNICIAN) uniform = /obj/item/clothing/under/rank/medical/paramedic_alt suit = /obj/item/clothing/suit/storage/toggle/labcoat/emt diff --git a/code/datums/outfits/jobs/medical_vr.dm b/code/datums/outfits/jobs/medical_vr.dm index e9b2c1a0d02..5576e71cada 100644 --- a/code/datums/outfits/jobs/medical_vr.dm +++ b/code/datums/outfits/jobs/medical_vr.dm @@ -1,2 +1,2 @@ /decl/hierarchy/outfit/job/medical/doctor/virologist - id_type = /obj/item/weapon/card/id/medical/virologist \ No newline at end of file + id_type = /obj/item/card/id/medical/virologist \ No newline at end of file diff --git a/code/datums/outfits/jobs/misc.dm b/code/datums/outfits/jobs/misc.dm index 43bbd919f8e..28cfa9e2361 100644 --- a/code/datums/outfits/jobs/misc.dm +++ b/code/datums/outfits/jobs/misc.dm @@ -3,9 +3,9 @@ hierarchy_type = /decl/hierarchy/outfit/job/silicon /decl/hierarchy/outfit/job/silicon/ai - name = OUTFIT_JOB_NAME("AI") + name = OUTFIT_JOB_NAME(JOB_AI) suit = /obj/item/clothing/suit/straight_jacket /decl/hierarchy/outfit/job/silicon/cyborg - name = OUTFIT_JOB_NAME("Cyborg") + name = OUTFIT_JOB_NAME(JOB_CYBORG) suit = /obj/item/clothing/suit/cardborg diff --git a/code/datums/outfits/jobs/science.dm b/code/datums/outfits/jobs/science.dm index fcccfb8f8c6..eeeb84951d0 100644 --- a/code/datums/outfits/jobs/science.dm +++ b/code/datums/outfits/jobs/science.dm @@ -1,43 +1,50 @@ /decl/hierarchy/outfit/job/science hierarchy_type = /decl/hierarchy/outfit/job/science - l_ear = /obj/item/device/radio/headset/headset_sci suit = /obj/item/clothing/suit/storage/toggle/labcoat shoes = /obj/item/clothing/shoes/white - pda_type = /obj/item/device/pda/science - backpack = /obj/item/weapon/storage/backpack/toxins - satchel_one = /obj/item/weapon/storage/backpack/satchel/tox - messenger_bag = /obj/item/weapon/storage/backpack/messenger/tox - sports_bag = /obj/item/weapon/storage/backpack/sport/tox + pda_type = /obj/item/pda/science + + backpack = /obj/item/storage/backpack/toxins + satchel_one = /obj/item/storage/backpack/satchel/tox + messenger_bag = /obj/item/storage/backpack/messenger/tox + sports_bag = /obj/item/storage/backpack/sport/tox + + headset = /obj/item/radio/headset/headset_sci + headset_alt = /obj/item/radio/headset/alt/headset_sci + headset_earbud = /obj/item/radio/headset/earbud/headset_sci /decl/hierarchy/outfit/job/science/rd name = OUTFIT_JOB_NAME("Research Director") - l_ear = /obj/item/device/radio/headset/heads/rd uniform = /obj/item/clothing/under/rank/research_director shoes = /obj/item/clothing/shoes/brown - l_hand = /obj/item/weapon/clipboard - id_type = /obj/item/weapon/card/id/science/head - pda_type = /obj/item/device/pda/heads/rd + l_hand = /obj/item/clipboard + id_type = /obj/item/card/id/science/head + pda_type = /obj/item/pda/heads/rd + + headset = /obj/item/radio/headset/heads/rd + headset_alt = /obj/item/radio/headset/alt/heads/rd + headset_earbud = /obj/item/radio/headset/earbud/heads/rd /decl/hierarchy/outfit/job/science/scientist - name = OUTFIT_JOB_NAME("Scientist") + name = OUTFIT_JOB_NAME(JOB_SCIENTIST) uniform = /obj/item/clothing/under/rank/scientist - id_type = /obj/item/weapon/card/id/science + id_type = /obj/item/card/id/science suit = /obj/item/clothing/suit/storage/toggle/labcoat/science /decl/hierarchy/outfit/job/science/xenobiologist - name = OUTFIT_JOB_NAME("Xenobiologist") + name = OUTFIT_JOB_NAME(JOB_XENOBIOLOGIST) uniform = /obj/item/clothing/under/rank/scientist - id_type = /obj/item/weapon/card/id/science + id_type = /obj/item/card/id/science suit = /obj/item/clothing/suit/storage/toggle/labcoat/science /decl/hierarchy/outfit/job/science/roboticist - name = OUTFIT_JOB_NAME("Roboticist") + name = OUTFIT_JOB_NAME(JOB_ROBOTICIST) uniform = /obj/item/clothing/under/rank/roboticist shoes = /obj/item/clothing/shoes/black - belt = /obj/item/weapon/storage/belt/utility/full/multitool - id_type = /obj/item/weapon/card/id/science + belt = /obj/item/storage/belt/utility/full/multitool + id_type = /obj/item/card/id/science pda_slot = slot_r_store - pda_type = /obj/item/device/pda/roboticist - backpack = /obj/item/weapon/storage/backpack - satchel_one = /obj/item/weapon/storage/backpack/satchel/norm - suit = /obj/item/clothing/suit/storage/toggle/labcoat/roboticist \ No newline at end of file + pda_type = /obj/item/pda/roboticist + backpack = /obj/item/storage/backpack + satchel_one = /obj/item/storage/backpack/satchel/norm + suit = /obj/item/clothing/suit/storage/toggle/labcoat/roboticist diff --git a/code/datums/outfits/jobs/science_vr.dm b/code/datums/outfits/jobs/science_vr.dm index cf0e9e4b3a6..74242d7b1d4 100644 --- a/code/datums/outfits/jobs/science_vr.dm +++ b/code/datums/outfits/jobs/science_vr.dm @@ -1,8 +1,8 @@ /decl/hierarchy/outfit/job/science/xenobiologist - id_type = /obj/item/weapon/card/id/science/xenobiologist + id_type = /obj/item/card/id/science/xenobiologist /decl/hierarchy/outfit/job/science/xenobotanist - name = OUTFIT_JOB_NAME("Xenobotanist") + name = OUTFIT_JOB_NAME(JOB_XENOBOTANIST) uniform = /obj/item/clothing/under/rank/scientist - id_type = /obj/item/weapon/card/id/science/xenobotanist - suit = /obj/item/clothing/suit/storage/toggle/labcoat/science \ No newline at end of file + id_type = /obj/item/card/id/science/xenobotanist + suit = /obj/item/clothing/suit/storage/toggle/labcoat/science diff --git a/code/datums/outfits/jobs/security.dm b/code/datums/outfits/jobs/security.dm index 4a044d8aaa4..595601bbcdd 100644 --- a/code/datums/outfits/jobs/security.dm +++ b/code/datums/outfits/jobs/security.dm @@ -1,42 +1,49 @@ /decl/hierarchy/outfit/job/security hierarchy_type = /decl/hierarchy/outfit/job/security glasses = /obj/item/clothing/glasses/sunglasses/sechud - l_ear = /obj/item/device/radio/headset/headset_sec gloves = /obj/item/clothing/gloves/black shoes = /obj/item/clothing/shoes/boots/jackboots - backpack = /obj/item/weapon/storage/backpack/security - satchel_one = /obj/item/weapon/storage/backpack/satchel/sec - backpack_contents = list(/obj/item/weapon/handcuffs = 1) - messenger_bag = /obj/item/weapon/storage/backpack/messenger/sec - sports_bag = /obj/item/weapon/storage/backpack/sport/sec + + backpack = /obj/item/storage/backpack/security + satchel_one = /obj/item/storage/backpack/satchel/sec + backpack_contents = list(/obj/item/handcuffs = 1) + messenger_bag = /obj/item/storage/backpack/messenger/sec + sports_bag = /obj/item/storage/backpack/sport/sec + + headset = /obj/item/radio/headset/headset_sec + headset_alt = /obj/item/radio/headset/alt/headset_sec + headset_earbud = /obj/item/radio/headset/earbud/headset_sec /decl/hierarchy/outfit/job/security/hos - name = OUTFIT_JOB_NAME("Head of security") - l_ear = /obj/item/device/radio/headset/heads/hos + name = OUTFIT_JOB_NAME(JOB_HEAD_OF_SECURITY) uniform = /obj/item/clothing/under/rank/head_of_security - id_type = /obj/item/weapon/card/id/security/head - pda_type = /obj/item/device/pda/heads/hos + id_type = /obj/item/card/id/security/head + pda_type = /obj/item/pda/heads/hos + + headset = /obj/item/radio/headset/heads/hos + headset_alt = /obj/item/radio/headset/alt/heads/hos + headset_earbud = /obj/item/radio/headset/earbud/heads/hos /decl/hierarchy/outfit/job/security/warden - name = OUTFIT_JOB_NAME("Warden") + name = OUTFIT_JOB_NAME(JOB_WARDEN) uniform = /obj/item/clothing/under/rank/warden - l_pocket = /obj/item/device/flash - id_type = /obj/item/weapon/card/id/security/warden - pda_type = /obj/item/device/pda/warden + l_pocket = /obj/item/flash + id_type = /obj/item/card/id/security/warden + pda_type = /obj/item/pda/warden /decl/hierarchy/outfit/job/security/detective - name = OUTFIT_JOB_NAME("Detective") + name = OUTFIT_JOB_NAME(JOB_DETECTIVE) head = /obj/item/clothing/head/det uniform = /obj/item/clothing/under/det suit = /obj/item/clothing/suit/storage/det_trench - l_pocket = /obj/item/weapon/flame/lighter/zippo + l_pocket = /obj/item/flame/lighter/zippo shoes = /obj/item/clothing/shoes/laceup - r_hand = /obj/item/weapon/storage/briefcase/crimekit - id_type = /obj/item/weapon/card/id/security/detective - pda_type = /obj/item/device/pda/detective - backpack = /obj/item/weapon/storage/backpack - satchel_one = /obj/item/weapon/storage/backpack/satchel/norm - backpack_contents = list(/obj/item/weapon/storage/box/evidence = 1) + r_hand = /obj/item/storage/briefcase/crimekit + id_type = /obj/item/card/id/security/detective + pda_type = /obj/item/pda/detective + backpack = /obj/item/storage/backpack + satchel_one = /obj/item/storage/backpack/satchel/norm + backpack_contents = list(/obj/item/storage/box/evidence = 1) //VOREStation Edit - More cyberpunky /decl/hierarchy/outfit/job/security/detective/forensic @@ -47,8 +54,8 @@ //VOREStation Edit End /decl/hierarchy/outfit/job/security/officer - name = OUTFIT_JOB_NAME("Security Officer") + name = OUTFIT_JOB_NAME(JOB_SECURITY_OFFICER) uniform = /obj/item/clothing/under/rank/security - l_pocket = /obj/item/device/flash - id_type = /obj/item/weapon/card/id/security - pda_type = /obj/item/device/pda/security + l_pocket = /obj/item/flash + id_type = /obj/item/card/id/security + pda_type = /obj/item/pda/security diff --git a/code/datums/outfits/jobs/security_yw.dm b/code/datums/outfits/jobs/security_yw.dm index c5a878f26e9..0812de84e34 100644 --- a/code/datums/outfits/jobs/security_yw.dm +++ b/code/datums/outfits/jobs/security_yw.dm @@ -1,5 +1,5 @@ /decl/hierarchy/outfit/job/security/pilot name = OUTFIT_JOB_NAME("Security Pilot") uniform = /obj/item/clothing/under/rank/khi/sec/pilot - id_type = /obj/item/weapon/card/id/security - pda_type = /obj/item/device/pda/security \ No newline at end of file + id_type = /obj/item/card/id/security + pda_type = /obj/item/pda/security diff --git a/code/datums/outfits/jobs/special_vr.dm b/code/datums/outfits/jobs/special_vr.dm index 20473f0e8eb..0e1fcf2a70e 100644 --- a/code/datums/outfits/jobs/special_vr.dm +++ b/code/datums/outfits/jobs/special_vr.dm @@ -4,50 +4,56 @@ gloves = /obj/item/clothing/gloves/white shoes = /obj/item/clothing/shoes/laceup head = /obj/item/clothing/head/beret/centcom/officer - l_ear = /obj/item/device/radio/headset/centcom glasses = /obj/item/clothing/glasses/omnihud/all - id_type = /obj/item/weapon/card/id/centcom - pda_type = /obj/item/device/pda/centcom + id_type = /obj/item/card/id/centcom + pda_type = /obj/item/pda/centcom flags = OUTFIT_EXTENDED_SURVIVAL|OUTFIT_COMPREHENSIVE_SURVIVAL + headset = /obj/item/radio/headset/centcom + headset_alt = /obj/item/radio/headset/centcom + headset_earbud = /obj/item/radio/headset/centcom + /decl/hierarchy/outfit/job/emergency_responder name = OUTFIT_JOB_NAME("Emergency Responder") uniform = /obj/item/clothing/under/ert shoes = /obj/item/clothing/shoes/boots/swat gloves = /obj/item/clothing/gloves/swat - l_ear = /obj/item/device/radio/headset/ert glasses = /obj/item/clothing/glasses/sunglasses - back = /obj/item/weapon/storage/backpack/satchel - id_type = /obj/item/weapon/card/id/centcom/ERT - pda_type = /obj/item/device/pda/centcom + back = /obj/item/storage/backpack/satchel + id_type = /obj/item/card/id/centcom/ERT + pda_type = /obj/item/pda/centcom flags = OUTFIT_EXTENDED_SURVIVAL|OUTFIT_COMPREHENSIVE_SURVIVAL + headset = /obj/item/radio/headset/ert + headset_alt = /obj/item/radio/headset/ert + headset_earbud = /obj/item/radio/headset/ert + /decl/hierarchy/outfit/job/emergency_responder/post_equip(var/mob/living/carbon/human/H) ..() ert.add_antagonist(H.mind) /decl/hierarchy/outfit/job/clown - name = OUTFIT_JOB_NAME("Clown") + name = OUTFIT_JOB_NAME(JOB_CLOWN) uniform = /obj/item/clothing/under/rank/clown - back = /obj/item/weapon/storage/backpack/clown + back = /obj/item/storage/backpack/clown shoes = /obj/item/clothing/shoes/clown_shoes mask = /obj/item/clothing/mask/gas/clown_hat - backpack_contents = list(/obj/item/weapon/stamp/clown = 1, /obj/item/weapon/bikehorn = 1) - id_type = /obj/item/weapon/card/id/civilian/clown - pda_type = /obj/item/device/pda/clown + backpack_contents = list(/obj/item/stamp/clown = 1, /obj/item/bikehorn = 1) + id_type = /obj/item/card/id/civilian/clown + pda_type = /obj/item/pda/clown flags = 0 /decl/hierarchy/outfit/job/mime - name = OUTFIT_JOB_NAME("Mime") + name = OUTFIT_JOB_NAME(JOB_MIME) uniform = /obj/item/clothing/under/mime shoes = /obj/item/clothing/shoes/mime head = /obj/item/clothing/head/soft/mime mask = /obj/item/clothing/mask/gas/mime - backpack_contents = list(/obj/item/weapon/pen/crayon/mime = 1) - id_type = /obj/item/weapon/card/id/civilian/mime - pda_type = /obj/item/device/pda/mime + backpack_contents = list(/obj/item/pen/crayon/mime = 1) + id_type = /obj/item/card/id/civilian/mime + pda_type = /obj/item/pda/mime /decl/hierarchy/outfit/job/mime/post_equip(var/mob/living/carbon/human/H) ..() if(H.backbag == 1) - H.equip_to_slot_or_del(new /obj/item/weapon/pen/crayon/mime(H), slot_l_hand) + H.equip_to_slot_or_del(new /obj/item/pen/crayon/mime(H), slot_l_hand) diff --git a/code/datums/outfits/military/military.dm b/code/datums/outfits/military/military.dm index eb00eb6871d..fb47db35f5a 100644 --- a/code/datums/outfits/military/military.dm +++ b/code/datums/outfits/military/military.dm @@ -2,4 +2,6 @@ name = "Military Uniform" hierarchy_type = /decl/hierarchy/outfit/military - l_ear = /obj/item/device/radio/headset \ No newline at end of file + headset = /obj/item/radio/headset + headset_alt = /obj/item/radio/headset + headset_earbud = /obj/item/radio/headset \ No newline at end of file diff --git a/code/datums/outfits/misc.dm b/code/datums/outfits/misc.dm index 7facd60d5e4..13620cbf9a9 100644 --- a/code/datums/outfits/misc.dm +++ b/code/datums/outfits/misc.dm @@ -4,7 +4,7 @@ head = /obj/item/clothing/head/helmet/space suit = /obj/item/clothing/suit/space uniform = /obj/item/clothing/under/color/grey - back = /obj/item/weapon/tank/jetpack/oxygen + back = /obj/item/tank/jetpack/oxygen mask = /obj/item/clothing/mask/breath flags = OUTFIT_HAS_JETPACK @@ -14,7 +14,7 @@ head = /obj/item/clothing/head/helmet/space/emergency suit = /obj/item/clothing/suit/space/emergency uniform = /obj/item/clothing/under/color/grey - back = /obj/item/weapon/tank/oxygen + back = /obj/item/tank/oxygen mask = /obj/item/clothing/mask/breath /decl/hierarchy/outfit/soviet_soldier @@ -23,31 +23,37 @@ shoes = /obj/item/clothing/shoes/boots/combat head = /obj/item/clothing/head/ushanka/soviet gloves = /obj/item/clothing/gloves/combat - back = /obj/item/weapon/storage/backpack/satchel - belt = /obj/item/weapon/gun/projectile/revolver/mateba + back = /obj/item/storage/backpack/satchel + belt = /obj/item/gun/projectile/revolver/mateba /decl/hierarchy/outfit/soviet_soldier/admiral name = "Soviet admiral" head = /obj/item/clothing/head/hgpiratecap - l_ear = /obj/item/device/radio/headset/heads/captain glasses = /obj/item/clothing/glasses/thermal/plain/eyepatch suit = /obj/item/clothing/suit/hgpirate id_slot = slot_wear_id - id_type = /obj/item/weapon/card/id/centcom //station + id_type = /obj/item/card/id/centcom //station id_pda_assignment = "Admiral" + headset = /obj/item/radio/headset/heads/captain + headset_alt = /obj/item/radio/headset/heads/captain + headset_earbud = /obj/item/radio/headset/heads/captain + /decl/hierarchy/outfit/merchant name = "Merchant" shoes = /obj/item/clothing/shoes/black - l_ear = /obj/item/device/radio/headset uniform = /obj/item/clothing/under/color/grey id_slot = slot_wear_id - id_type = /obj/item/weapon/card/id/civilian //merchant + id_type = /obj/item/card/id/civilian //merchant pda_slot = slot_r_store - pda_type = /obj/item/device/pda/chef //cause I like the look + pda_type = /obj/item/pda/chef //cause I like the look id_pda_assignment = "Merchant" + headset = /obj/item/radio/headset + headset_alt = /obj/item/radio/headset + headset_earbud = /obj/item/radio/headset + /decl/hierarchy/outfit/merchant/vox name = "Merchant - Vox" shoes = /obj/item/clothing/shoes/boots/jackboots/toeless @@ -57,4 +63,16 @@ /decl/hierarchy/outfit/zaddat name = "Zaddat Suit" suit = /obj/item/clothing/suit/space/void/zaddat/ - mask = /obj/item/clothing/mask/gas/zaddat \ No newline at end of file + mask = /obj/item/clothing/mask/gas/zaddat + +/decl/hierarchy/outfit/maint_lurker + name = "Maintenance Lurker Outfit" + id_slot = slot_wear_id + id_type = /obj/item/card/id/civilian/lurker + pda_slot = slot_belt + pda_type = /obj/item/pda + id_pda_assignment = "NO DATA" + + headset = /obj/item/radio/headset + headset_alt = /obj/item/radio/headset/alt + headset_earbud = /obj/item/radio/headset/earbud diff --git a/code/datums/outfits/nanotrasen.dm b/code/datums/outfits/nanotrasen.dm index 4fd219685ba..3fde80dd0bb 100644 --- a/code/datums/outfits/nanotrasen.dm +++ b/code/datums/outfits/nanotrasen.dm @@ -3,30 +3,39 @@ uniform = /obj/item/clothing/under/rank/centcom shoes = /obj/item/clothing/shoes/laceup gloves = /obj/item/clothing/gloves/white - l_ear = /obj/item/device/radio/headset/heads/hop glasses = /obj/item/clothing/glasses/sunglasses id_slot = slot_wear_id - id_type = /obj/item/weapon/card/id/centcom //station + id_type = /obj/item/card/id/centcom //station pda_slot = slot_r_store - pda_type = /obj/item/device/pda/heads + pda_type = /obj/item/pda/heads + + headset = /obj/item/radio/headset/heads/hop + headset_alt = /obj/item/radio/headset/heads/hop + headset_earbud = /obj/item/radio/headset/heads/hop /decl/hierarchy/outfit/nanotrasen/representative name = "Nanotrasen representative" - belt = /obj/item/weapon/clipboard + belt = /obj/item/clipboard id_pda_assignment = "NanoTrasen Navy Representative" /decl/hierarchy/outfit/nanotrasen/officer name = "Nanotrasen officer" head = /obj/item/clothing/head/beret/centcom/officer - l_ear = /obj/item/device/radio/headset/heads/captain - belt = /obj/item/weapon/gun/energy + belt = /obj/item/gun/energy id_pda_assignment = "NanoTrasen Navy Officer" + headset = /obj/item/radio/headset/heads/captain + headset_alt = /obj/item/radio/headset/heads/captain + headset_earbud = /obj/item/radio/headset/heads/captain + /decl/hierarchy/outfit/nanotrasen/captain name = "Nanotrasen captain" uniform = /obj/item/clothing/under/rank/centcom_captain - l_ear = /obj/item/device/radio/headset/heads/captain head = /obj/item/clothing/head/beret/centcom/captain - belt = /obj/item/weapon/gun/energy + belt = /obj/item/gun/energy id_pda_assignment = "NanoTrasen Navy Captain" + + headset = /obj/item/radio/headset/heads/captain + headset_alt = /obj/item/radio/headset/heads/captain + headset_earbud = /obj/item/radio/headset/heads/captain diff --git a/code/datums/outfits/outfit.dm b/code/datums/outfits/outfit.dm index b27093934e0..43fe69f0f22 100644 --- a/code/datums/outfits/outfit.dm +++ b/code/datums/outfits/outfit.dm @@ -52,12 +52,16 @@ var/list/outfits_decls_by_type_ var/id_pda_assignment - var/backpack = /obj/item/weapon/storage/backpack - var/satchel_one = /obj/item/weapon/storage/backpack/satchel/norm - var/satchel_two = /obj/item/weapon/storage/backpack/satchel - var/messenger_bag = /obj/item/weapon/storage/backpack/messenger - var/sports_bag = /obj/item/weapon/storage/backpack/sport - var/satchel_three = /obj/item/weapon/storage/backpack/satchel/strapless + var/headset = /obj/item/radio/headset + var/headset_alt = /obj/item/radio/headset/alt + var/headset_earbud = /obj/item/radio/headset/earbud + + var/backpack = /obj/item/storage/backpack + var/satchel_one = /obj/item/storage/backpack/satchel/norm + var/satchel_two = /obj/item/storage/backpack/satchel + var/messenger_bag = /obj/item/storage/backpack/messenger + var/sports_bag = /obj/item/storage/backpack/sport + var/satchel_three = /obj/item/storage/backpack/satchel/strapless var/flags // Specific flags @@ -72,7 +76,11 @@ var/list/outfits_decls_by_type_ dd_insertObjectList(outfits_decls_, src) /decl/hierarchy/outfit/proc/pre_equip(mob/living/carbon/human/H) - if(flags & OUTFIT_HAS_BACKPACK) + switch(H.headset) + if(1) l_ear = headset + if(2) l_ear = headset_alt + if(3) l_ear = headset_earbud + if(flags && OUTFIT_HAS_BACKPACK) switch(H.backbag) if(2) back = backpack if(3) back = satchel_one @@ -84,7 +92,7 @@ var/list/outfits_decls_by_type_ /decl/hierarchy/outfit/proc/post_equip(mob/living/carbon/human/H) if(flags & OUTFIT_HAS_JETPACK) - var/obj/item/weapon/tank/jetpack/J = locate(/obj/item/weapon/tank/jetpack) in H + var/obj/item/tank/jetpack/J = locate(/obj/item/tank/jetpack) in H if(!J) return J.toggle() @@ -95,7 +103,7 @@ var/list/outfits_decls_by_type_ rank = rank || id_pda_assignment assignment = id_pda_assignment || assignment || rank - var/obj/item/weapon/card/id/W = equip_id(H, rank, assignment) + var/obj/item/card/id/W = equip_id(H, rank, assignment) if(W) rank = W.rank assignment = W.assignment @@ -164,7 +172,7 @@ var/list/outfits_decls_by_type_ /decl/hierarchy/outfit/proc/equip_id(mob/living/carbon/human/H, rank, assignment) if(!id_slot || !id_type) return - var/obj/item/weapon/card/id/W = new id_type(H) + var/obj/item/card/id/W = new id_type(H) if(id_desc) W.desc = id_desc if(rank) @@ -177,13 +185,13 @@ var/list/outfits_decls_by_type_ /decl/hierarchy/outfit/proc/equip_pda(mob/living/carbon/human/H, rank, assignment) if(!pda_slot || !pda_type) return - var/obj/item/device/pda/pda = new pda_type(H) + var/obj/item/pda/pda = new pda_type(H) if(H.equip_to_slot_or_del(pda, pda_slot)) pda.owner = H.real_name pda.ownjob = assignment pda.ownrank = rank pda.name = "PDA-[H.real_name] ([assignment])" - if(H.client.prefs.ringtone) // if null we use the job default + if(H.client?.prefs.ringtone) // if null we use the job default pda.ttone = H.client.prefs.ringtone return pda diff --git a/code/datums/outfits/outfit_vr.dm b/code/datums/outfits/outfit_vr.dm index 1883f2b005b..97dd17c7b23 100644 --- a/code/datums/outfits/outfit_vr.dm +++ b/code/datums/outfits/outfit_vr.dm @@ -3,20 +3,23 @@ uniform = /obj/item/clothing/under/solgov/utility/army/urban shoes = /obj/item/clothing/shoes/boots/jackboots gloves = /obj/item/clothing/gloves/combat - l_ear = /obj/item/device/radio/headset/centcom r_pocket = /obj/item/ammo_magazine/m95 l_pocket = /obj/item/ammo_magazine/m95 l_hand = /obj/item/ammo_magazine/m95 r_hand = /obj/item/ammo_magazine/m95 - back = /obj/item/weapon/gun/projectile/automatic/battlerifle - backpack_contents = list(/obj/item/weapon/storage/box = 1) + back = /obj/item/gun/projectile/automatic/battlerifle + backpack_contents = list(/obj/item/storage/box = 1) hierarchy_type = /decl/hierarchy/outfit/wizard head = /obj/item/clothing/head/helmet/combat/USDF suit = /obj/item/clothing/suit/armor/combat/USDF - belt = /obj/item/weapon/storage/belt/security/tactical + belt = /obj/item/storage/belt/security/tactical + + headset = /obj/item/radio/headset/centcom + headset_alt = /obj/item/radio/headset/centcom + headset_earbud = /obj/item/radio/headset/centcom /decl/hierarchy/outfit/USDF/Marine/equip_id(mob/living/carbon/human/H) - var/obj/item/weapon/card/id/C = ..() + var/obj/item/card/id/C = ..() C.name = "[H.real_name]'s military ID Card" C.icon_state = "lifetime" C.access = get_all_station_access() @@ -29,17 +32,20 @@ name = "USDF officer" head = /obj/item/clothing/head/dress/army/command shoes = /obj/item/clothing/shoes/boots/jackboots - l_ear = /obj/item/device/radio/headset/centcom uniform = /obj/item/clothing/under/solgov/mildress/army/command - back = /obj/item/weapon/storage/backpack/satchel - belt = /obj/item/weapon/gun/projectile/revolver/consul + back = /obj/item/storage/backpack/satchel + belt = /obj/item/gun/projectile/revolver/consul l_pocket = /obj/item/ammo_magazine/s44 r_pocket = /obj/item/ammo_magazine/s44 r_hand = /obj/item/clothing/accessory/holster/hip l_hand = /obj/item/clothing/accessory/tie/black + headset = /obj/item/radio/headset/centcom + headset_alt = /obj/item/radio/headset/centcom + headset_earbud = /obj/item/radio/headset/centcom + /decl/hierarchy/outfit/USDF/Officer/equip_id(mob/living/carbon/human/H) - var/obj/item/weapon/card/id/C = ..() + var/obj/item/card/id/C = ..() C.name = "[H.real_name]'s military ID Card" C.icon_state = "lifetime" C.access = get_all_station_access() @@ -51,16 +57,19 @@ /decl/hierarchy/outfit/solcom/representative name = "SolGov Representative" //YW EDIT: SolGov shoes = /obj/item/clothing/shoes/laceup - l_ear = /obj/item/device/radio/headset/centcom uniform = /obj/item/clothing/under/suit_jacket/navy - back = /obj/item/weapon/storage/backpack/satchel - l_pocket = /obj/item/weapon/pen/blue - r_pocket = /obj/item/weapon/pen/red - r_hand = /obj/item/device/pda/centcom - l_hand = /obj/item/weapon/clipboard + back = /obj/item/storage/backpack/satchel + l_pocket = /obj/item/pen/blue + r_pocket = /obj/item/pen/red + r_hand = /obj/item/pda/centcom + l_hand = /obj/item/clipboard + + headset = /obj/item/radio/headset/centcom + headset_alt = /obj/item/radio/headset/centcom + headset_earbud = /obj/item/radio/headset/centcom /decl/hierarchy/outfit/solcom/representative/equip_id(mob/living/carbon/human/H) - var/obj/item/weapon/card/id/C = ..() + var/obj/item/card/id/C = ..() C.name = "[H.real_name]'s SolGov ID Card" //YW EDIT: SolGov C.icon_state = "lifetime" C.access = get_all_station_access() @@ -74,33 +83,39 @@ head = /obj/item/clothing/head/helmet/combat/imperial shoes =/obj/item/clothing/shoes/leg_guard/combat/imperial gloves = /obj/item/clothing/gloves/arm_guard/combat/imperial - l_ear = /obj/item/device/radio/headset/syndicate uniform = /obj/item/clothing/under/imperial mask = /obj/item/clothing/mask/gas/imperial suit = /obj/item/clothing/suit/armor/combat/imperial - back = /obj/item/weapon/storage/backpack/satchel - belt = /obj/item/weapon/storage/belt/security/tactical/bandolier - l_pocket = /obj/item/weapon/cell/device/weapon - r_pocket = /obj/item/weapon/cell/device/weapon - r_hand = /obj/item/weapon/melee/energy/sword/imperial - l_hand = /obj/item/weapon/shield/energy/imperial - suit_store = /obj/item/weapon/gun/energy/imperial + back = /obj/item/storage/backpack/satchel + belt = /obj/item/storage/belt/security/tactical/bandolier + l_pocket = /obj/item/cell/device/weapon + r_pocket = /obj/item/cell/device/weapon + r_hand = /obj/item/melee/energy/sword/imperial + l_hand = /obj/item/shield/energy/imperial + suit_store = /obj/item/gun/energy/imperial + + headset = /obj/item/radio/headset/syndicate + headset_alt = /obj/item/radio/headset/syndicate + headset_earbud = /obj/item/radio/headset/syndicate /decl/hierarchy/outfit/imperial/officer name = "Imperial officer" head = /obj/item/clothing/head/helmet/combat/imperial/centurion shoes = /obj/item/clothing/shoes/leg_guard/combat/imperial gloves = /obj/item/clothing/gloves/arm_guard/combat/imperial - l_ear = /obj/item/device/radio/headset/syndicate uniform = /obj/item/clothing/under/imperial mask = /obj/item/clothing/mask/gas/imperial suit = /obj/item/clothing/suit/armor/combat/imperial/centurion - belt = /obj/item/weapon/storage/belt/security/tactical/bandolier - l_pocket = /obj/item/weapon/cell/device/weapon - r_pocket = /obj/item/weapon/cell/device/weapon - r_hand = /obj/item/weapon/melee/energy/sword/imperial - l_hand = /obj/item/weapon/shield/energy/imperial - suit_store = /obj/item/weapon/gun/energy/imperial + belt = /obj/item/storage/belt/security/tactical/bandolier + l_pocket = /obj/item/cell/device/weapon + r_pocket = /obj/item/cell/device/weapon + r_hand = /obj/item/melee/energy/sword/imperial + l_hand = /obj/item/shield/energy/imperial + suit_store = /obj/item/gun/energy/imperial + + headset = /obj/item/radio/headset/syndicate + headset_alt = /obj/item/radio/headset/syndicate + headset_earbud = /obj/item/radio/headset/syndicate /* SOUTHERN CROSS OUTFITS @@ -109,65 +124,77 @@ Keep outfits simple. Spawn with basic uniforms and minimal gear. Gear instead go /decl/hierarchy/outfit/job/explorer2 - name = OUTFIT_JOB_NAME("Explorer") + name = OUTFIT_JOB_NAME(JOB_EXPLORER) shoes = /obj/item/clothing/shoes/boots/winter/explorer uniform = /obj/item/clothing/under/explorer - l_ear = /obj/item/device/radio/headset/explorer id_slot = slot_wear_id pda_slot = slot_l_store - pda_type = /obj/item/device/pda/explorer - id_type = /obj/item/weapon/card/id/exploration - id_pda_assignment = "Explorer" - backpack = /obj/item/weapon/storage/backpack/explorer - satchel_one = /obj/item/weapon/storage/backpack/satchel/explorer - messenger_bag = /obj/item/weapon/storage/backpack/messenger/explorer + pda_type = /obj/item/pda/explorer + id_type = /obj/item/card/id/exploration + id_pda_assignment = JOB_EXPLORER + backpack = /obj/item/storage/backpack/explorer + satchel_one = /obj/item/storage/backpack/satchel/explorer + messenger_bag = /obj/item/storage/backpack/messenger/explorer flags = OUTFIT_HAS_BACKPACK|OUTFIT_COMPREHENSIVE_SURVIVAL + headset = /obj/item/radio/headset/explorer + headset_alt = /obj/item/radio/headset/alt/explorer + headset_earbud = /obj/item/radio/headset/explorer + /decl/hierarchy/outfit/job/pilot - name = OUTFIT_JOB_NAME("Pilot") + name = OUTFIT_JOB_NAME(JOB_PILOT) shoes = /obj/item/clothing/shoes/black uniform = /obj/item/clothing/under/rank/pilot1/no_webbing suit = /obj/item/clothing/suit/storage/toggle/bomber/pilot gloves = /obj/item/clothing/gloves/fingerless glasses = /obj/item/clothing/glasses/fakesunglasses/aviator - l_ear = /obj/item/device/radio/headset/pilot/alt uniform_accessories = list(/obj/item/clothing/accessory/storage/webbing/pilot1 = 1) id_slot = slot_wear_id pda_slot = slot_belt - pda_type = /obj/item/device/pda/pilot - id_type = /obj/item/weapon/card/id/civilian/pilot - id_pda_assignment = "Pilot" + pda_type = /obj/item/pda/pilot + id_type = /obj/item/card/id/civilian/pilot + id_pda_assignment = JOB_PILOT flags = OUTFIT_HAS_BACKPACK|OUTFIT_COMPREHENSIVE_SURVIVAL + headset = /obj/item/radio/headset/pilot + headset_alt = /obj/item/radio/headset/alt/pilot + headset_earbud = /obj/item/radio/headset/alt/pilot + /decl/hierarchy/outfit/job/medical/sar - name = OUTFIT_JOB_NAME("Field Medic") + name = OUTFIT_JOB_NAME(JOB_FIELD_MEDIC) uniform = /obj/item/clothing/under/utility/blue //suit = /obj/item/clothing/suit/storage/hooded/wintercoat/medical/sar shoes = /obj/item/clothing/shoes/boots/winter/explorer - l_ear = /obj/item/device/radio/headset/sar - l_hand = /obj/item/weapon/storage/firstaid/regular - belt = /obj/item/weapon/storage/belt/medical/emt + l_hand = /obj/item/storage/firstaid/regular + belt = /obj/item/storage/belt/medical/emt pda_slot = slot_l_store - pda_type = /obj/item/device/pda/sar - id_type = /obj/item/weapon/card/id/exploration/fm - id_pda_assignment = "Field Medic" - backpack = /obj/item/weapon/storage/backpack/explorer - satchel_one = /obj/item/weapon/storage/backpack/satchel/explorer - messenger_bag = /obj/item/weapon/storage/backpack/messenger/explorer + pda_type = /obj/item/pda/sar + id_type = /obj/item/card/id/exploration/fm + id_pda_assignment = JOB_FIELD_MEDIC + backpack = /obj/item/storage/backpack/explorer + satchel_one = /obj/item/storage/backpack/satchel/explorer + messenger_bag = /obj/item/storage/backpack/messenger/explorer flags = OUTFIT_HAS_BACKPACK|OUTFIT_EXTENDED_SURVIVAL|OUTFIT_COMPREHENSIVE_SURVIVAL + headset = /obj/item/radio/headset/sar + headset_alt = /obj/item/radio/headset/alt/sar + headset_earbud = /obj/item/radio/headset/sar + /decl/hierarchy/outfit/job/pathfinder - name = OUTFIT_JOB_NAME("Pathfinder") + name = OUTFIT_JOB_NAME(JOB_PATHFINDER) shoes = /obj/item/clothing/shoes/boots/winter/explorer uniform = /obj/item/clothing/under/explorer //TODO: Uniforms. - l_ear = /obj/item/device/radio/headset/pathfinder id_slot = slot_wear_id pda_slot = slot_l_store - pda_type = /obj/item/device/pda/pathfinder - id_type = /obj/item/weapon/card/id/exploration/head - id_pda_assignment = "Pathfinder" + pda_type = /obj/item/pda/pathfinder + id_type = /obj/item/card/id/exploration/head + id_pda_assignment = JOB_PATHFINDER flags = OUTFIT_HAS_BACKPACK|OUTFIT_EXTENDED_SURVIVAL|OUTFIT_COMPREHENSIVE_SURVIVAL + headset = /obj/item/radio/headset/pathfinder + headset_alt = /obj/item/radio/headset/alt/pathfinder + headset_earbud = /obj/item/radio/headset/pathfinder + /decl/hierarchy/outfit/job/assistant/explorer - id_type = /obj/item/weapon/card/id/exploration + id_type = /obj/item/card/id/exploration flags = OUTFIT_HAS_BACKPACK|OUTFIT_COMPREHENSIVE_SURVIVAL diff --git a/code/datums/outfits/pirates.dm b/code/datums/outfits/pirates.dm index 0d15c3067db..5595ee357d7 100644 --- a/code/datums/outfits/pirates.dm +++ b/code/datums/outfits/pirates.dm @@ -5,7 +5,7 @@ shoes = /obj/item/clothing/shoes/brown head = /obj/item/clothing/head/bandana glasses = /obj/item/clothing/glasses/eyepatch - l_hand = /obj/item/weapon/melee/energy/sword/pirate + l_hand = /obj/item/melee/energy/sword/pirate /decl/hierarchy/outfit/pirate/norm @@ -13,5 +13,5 @@ name = "Pirate - Space" head = /obj/item/clothing/head/helmet/space suit = /obj/item/clothing/suit/pirate - back = /obj/item/weapon/tank/jetpack/oxygen + back = /obj/item/tank/jetpack/oxygen flags = OUTFIT_HAS_JETPACK diff --git a/code/datums/outfits/spec_op.dm b/code/datums/outfits/spec_op.dm index bb43b4cb9bd..22da415b98b 100644 --- a/code/datums/outfits/spec_op.dm +++ b/code/datums/outfits/spec_op.dm @@ -2,24 +2,27 @@ name = "Special ops - Officer" uniform = /obj/item/clothing/under/syndicate/combat suit = /obj/item/clothing/suit/armor/swat/officer - l_ear = /obj/item/device/radio/headset/ert glasses = /obj/item/clothing/glasses/thermal/plain/eyepatch mask = /obj/item/clothing/mask/smokable/cigarette/cigar/havana head = /obj/item/clothing/head/beret //deathsquad - belt = /obj/item/weapon/gun/energy/pulse_rifle/compact/admin - back = /obj/item/weapon/storage/backpack/satchel + belt = /obj/item/gun/energy/pulse_rifle/compact/admin + back = /obj/item/storage/backpack/satchel shoes = /obj/item/clothing/shoes/boots/combat gloves = /obj/item/clothing/gloves/combat id_slot = slot_wear_id - id_type = /obj/item/weapon/card/id/centcom/ERT + id_type = /obj/item/card/id/centcom/ERT id_desc = "Special operations ID." id_pda_assignment = "Special Operations Officer" + headset = /obj/item/radio/headset/ert + headset_alt = /obj/item/radio/headset/ert + headset_earbud = /obj/item/radio/headset/ert + /decl/hierarchy/outfit/spec_op_officer/space name = "Special ops - Officer in space" suit = /obj/item/clothing/suit/armor/swat //obj/item/clothing/suit/space/void/swat - back = /obj/item/weapon/tank/jetpack/oxygen + back = /obj/item/tank/jetpack/oxygen mask = /obj/item/clothing/mask/gas/swat flags = OUTFIT_HAS_JETPACK @@ -29,13 +32,16 @@ uniform = /obj/item/clothing/under/ert shoes = /obj/item/clothing/shoes/boots/swat gloves = /obj/item/clothing/gloves/swat - l_ear = /obj/item/device/radio/headset/ert - belt = /obj/item/weapon/gun/energy/gun + belt = /obj/item/gun/energy/gun glasses = /obj/item/clothing/glasses/sunglasses - back = /obj/item/weapon/storage/backpack/satchel + back = /obj/item/storage/backpack/satchel id_slot = slot_wear_id - id_type = /obj/item/weapon/card/id/centcom/ERT + id_type = /obj/item/card/id/centcom/ERT + + headset = /obj/item/radio/headset/ert + headset_alt = /obj/item/radio/headset/ert + headset_earbud = /obj/item/radio/headset/ert /decl/hierarchy/outfit/death_command name = "Spec ops - Death commando" @@ -55,15 +61,18 @@ name = "Spec ops - Mercenary" uniform = /obj/item/clothing/under/syndicate shoes = /obj/item/clothing/shoes/boots/combat - l_ear = /obj/item/device/radio/headset/syndicate - belt = /obj/item/weapon/storage/belt/security + belt = /obj/item/storage/belt/security glasses = /obj/item/clothing/glasses/sunglasses gloves = /obj/item/clothing/gloves/swat - l_pocket = /obj/item/weapon/reagent_containers/pill/cyanide + l_pocket = /obj/item/reagent_containers/pill/cyanide id_slot = slot_wear_id - id_type = /obj/item/weapon/card/id/syndicate + id_type = /obj/item/card/id/syndicate id_pda_assignment = "Mercenary" + headset = /obj/item/radio/headset/syndicate + headset_alt = /obj/item/radio/headset/alt/syndicate + headset_earbud = /obj/item/radio/headset/earbud/syndicate + flags = OUTFIT_HAS_BACKPACK diff --git a/code/datums/outfits/tournament.dm b/code/datums/outfits/tournament.dm index a0c31f406bf..af524a1665f 100644 --- a/code/datums/outfits/tournament.dm +++ b/code/datums/outfits/tournament.dm @@ -2,9 +2,9 @@ hierarchy_type = /decl/hierarchy/outfit/tournament_gear head = /obj/item/clothing/head/helmet/thunderdome suit = /obj/item/clothing/suit/armor/vest - l_hand = /obj/item/weapon/material/knife - r_hand = /obj/item/weapon/gun/energy/pulse_rifle/destroyer - r_pocket = /obj/item/weapon/grenade/smokebomb + l_hand = /obj/item/material/knife + r_hand = /obj/item/gun/energy/pulse_rifle/destroyer + r_pocket = /obj/item/grenade/smokebomb shoes = /obj/item/clothing/shoes/black /decl/hierarchy/outfit/tournament_gear/red @@ -21,7 +21,7 @@ uniform = /obj/item/clothing/under/det suit_store = /obj/item/clothing/suit/storage/det_trench glasses = /obj/item/clothing/glasses/thermal/plain/monocle - r_hand = /obj/item/weapon/gun/projectile/revolver + r_hand = /obj/item/gun/projectile/revolver l_pocket = /obj/item/ammo_magazine/s357 /decl/hierarchy/outfit/tournament_gear/chef @@ -29,21 +29,21 @@ head = /obj/item/clothing/head/chefhat uniform = /obj/item/clothing/under/rank/chef suit = /obj/item/clothing/suit/chef - r_hand = /obj/item/weapon/material/kitchen/rollingpin - l_pocket = /obj/item/weapon/material/knife/tacknife - r_pocket = /obj/item/weapon/material/knife/tacknife + r_hand = /obj/item/material/kitchen/rollingpin + l_pocket = /obj/item/material/knife/tacknife + r_pocket = /obj/item/material/knife/tacknife /decl/hierarchy/outfit/tournament_gear/janitor name = "Tournament gear - Janitor" uniform = /obj/item/clothing/under/rank/janitor - back = /obj/item/weapon/storage/backpack - r_hand = /obj/item/weapon/mop - l_hand = /obj/item/weapon/reagent_containers/glass/bucket - l_pocket = /obj/item/weapon/grenade/chem_grenade/cleaner - r_pocket = /obj/item/weapon/grenade/chem_grenade/cleaner + back = /obj/item/storage/backpack + r_hand = /obj/item/mop + l_hand = /obj/item/reagent_containers/glass/bucket + l_pocket = /obj/item/grenade/chem_grenade/cleaner + r_pocket = /obj/item/grenade/chem_grenade/cleaner backpack_contents = list(/obj/item/stack/tile/floor = 6) /decl/hierarchy/outfit/tournament_gear/janitor/post_equip(var/mob/living/carbon/human/H) - var/obj/item/weapon/reagent_containers/glass/bucket/bucket = locate(/obj/item/weapon/reagent_containers/glass/bucket) in H + var/obj/item/reagent_containers/glass/bucket/bucket = locate(/obj/item/reagent_containers/glass/bucket) in H if(bucket) bucket.reagents.add_reagent(/datum/reagent/water, 70) diff --git a/code/datums/outfits/wizardry.dm b/code/datums/outfits/wizardry.dm index 4d25979f18e..0cb82f75f28 100644 --- a/code/datums/outfits/wizardry.dm +++ b/code/datums/outfits/wizardry.dm @@ -1,14 +1,17 @@ /decl/hierarchy/outfit/wizard uniform = /obj/item/clothing/under/color/lightpurple shoes = /obj/item/clothing/shoes/sandal - l_ear = /obj/item/device/radio/headset - r_pocket = /obj/item/weapon/teleportation_scroll - l_hand = /obj/item/weapon/staff - r_hand = /obj/item/weapon/spellbook - back = /obj/item/weapon/storage/backpack - backpack_contents = list(/obj/item/weapon/storage/box = 1) + r_pocket = /obj/item/teleportation_scroll + l_hand = /obj/item/staff + r_hand = /obj/item/spellbook + back = /obj/item/storage/backpack + backpack_contents = list(/obj/item/storage/box = 1) hierarchy_type = /decl/hierarchy/outfit/wizard + headset = /obj/item/radio/headset + headset_alt = /obj/item/radio/headset + headset_earbud = /obj/item/radio/headset + /decl/hierarchy/outfit/wizard/blue name = "Wizard - Blue" head = /obj/item/clothing/head/wizard diff --git a/code/datums/progressbar.dm b/code/datums/progressbar.dm index 8da8d7c0004..b0825c63298 100644 --- a/code/datums/progressbar.dm +++ b/code/datums/progressbar.dm @@ -41,7 +41,7 @@ progress = CLAMP(progress, 0, goal) bar.icon_state = "prog_bar_[round(((progress / goal) * 100), 5)]" - if(!shown && user.is_preference_enabled(/datum/client_preference/show_progress_bar)) + if(!shown && user.client?.prefs?.read_preference(/datum/preference/toggle/show_progress_bar)) user.client.images += bar shown = 1 @@ -66,4 +66,4 @@ qdel(bar) . = ..() -#undef PROGRESSBAR_HEIGHT \ No newline at end of file +#undef PROGRESSBAR_HEIGHT diff --git a/code/datums/repositories/crew.dm b/code/datums/repositories/crew.dm index 861e02ae4b5..ae94e78726a 100644 --- a/code/datums/repositories/crew.dm +++ b/code/datums/repositories/crew.dm @@ -25,7 +25,7 @@ var/global/datum/repository/crew/crew_repository = new() for(var/obj/item/clothing/under/C in tracked) var/turf/pos = get_turf(C) var/area/B = pos?.loc //VOREStation Add: No sensor in Dorm - if((C.has_sensor) && (pos?.z == zLevel) && (C.sensor_mode != SUIT_SENSOR_OFF) && !(B.block_suit_sensors) && !(is_jammed(C)) && !(is_vore_jammed(C))) //VOREStation Edit + if((C.has_sensor) && (pos?.z == zLevel) && (C.sensor_mode != SUIT_SENSOR_OFF) && !(B.flag_check(AREA_BLOCK_SUIT_SENSORS)) && !(is_jammed(C)) && !(is_vore_jammed(C))) //VOREStation Edit if(istype(C.loc, /mob/living/carbon/human)) var/mob/living/carbon/human/H = C.loc if(H.w_uniform != C) diff --git a/code/datums/riding.dm b/code/datums/riding.dm index ebe600c718f..72b4f2bd984 100644 --- a/code/datums/riding.dm +++ b/code/datums/riding.dm @@ -93,7 +93,7 @@ if(only_one_driver && ridden.buckled_mobs.len) var/mob/living/driver = ridden.buckled_mobs[1] if(driver != user) - to_chat(user, "\The [ridden] can only be controlled by one person at a time, and is currently being controlled by \the [driver].") + to_chat(user, span_warning("\The [ridden] can only be controlled by one person at a time, and is currently being controlled by \the [driver].")) return if(world.time < next_vehicle_move) @@ -109,7 +109,7 @@ handle_vehicle_layer() handle_vehicle_offsets() else - to_chat(user, "You'll need [key_name] in one of your hands to move \the [ridden].") + to_chat(user, span_warning("You'll need [key_name] in one of your hands to move \the [ridden].")) /datum/riding/proc/Unbuckle(atom/movable/M) // addtimer(CALLBACK(ridden, TYPE_PROC_REF(/atom/movable, unbuckle_mob), M), 0, TIMER_UNIQUE) @@ -119,7 +119,7 @@ ridden.unbuckle_mob(M) /datum/riding/proc/Process_Spacemove(direction) - if(ridden.has_gravity()) + if(ridden.get_gravity()) return TRUE return FALSE @@ -133,7 +133,7 @@ // I'm on a /datum/riding/boat - keytype = /obj/item/weapon/oar + keytype = /obj/item/oar key_name = "an oar" nonhuman_key_exemption = TRUE // Borgs can't hold oars. only_one_driver = TRUE // Would be pretty crazy if five people try to move at the same time. @@ -143,12 +143,12 @@ var/turf/current = get_turf(ridden) if(istype(current, /turf/simulated/floor/water/underwater)) //don't work at the bottom of the ocean! - to_chat(user, "The boat has sunk!") + to_chat(user, span_warning("The boat has sunk!")) return FALSE else if(istype(next, /turf/simulated/floor/water) || istype(current, /turf/simulated/floor/water)) //We can move from land to water, or water to land, but not from land to land ..() else - to_chat(user, "Boats don't go on land!") + to_chat(user, span_warning("Boats don't go on land!")) return FALSE /datum/riding/boat/small // 'Small' boats can hold up to two people. diff --git a/code/datums/roundstats/departmentgoal.dm b/code/datums/roundstats/departmentgoal.dm index 333e6c03963..ebebd56136f 100644 --- a/code/datums/roundstats/departmentgoal.dm +++ b/code/datums/roundstats/departmentgoal.dm @@ -41,16 +41,16 @@ GLOBAL_LIST(active_department_goals) for(var/category in GLOB.active_department_goals) var/list/cat_goals = GLOB.active_department_goals[category] - to_world("[category]") + to_world(span_world("[category]")) if(!LAZYLEN(cat_goals)) - to_world("There were no assigned goals!") + to_world(span_filter_system("There were no assigned goals!")) else for(var/datum/goal/G in cat_goals) var/success = G.check_completion() - to_world("[success ? "[G.name]" : "[G.name]"]") - to_world("[G.goal_text]") + to_world(span_filter_system("[success ? span_notice("[G.name]") : span_warning("[G.name]")]")) + to_world(span_filter_system("[G.goal_text]")) return 1 /datum/goal diff --git a/code/datums/roundstats/roundstats.dm b/code/datums/roundstats/roundstats.dm index ebff1fea4fa..c01a38a2e74 100644 --- a/code/datums/roundstats/roundstats.dm +++ b/code/datums/roundstats/roundstats.dm @@ -58,7 +58,7 @@ var/global/list/security_printer_tickets = list() //VOREStation Edit //VOREStation add Start - Ticket time! if(security_printer_tickets.len) - valid_stats_list.Add("[security_printer_tickets.len] unique security tickets were issued today!
Examples include:") + valid_stats_list.Add(span_danger("[security_printer_tickets.len] unique security tickets were issued today!") + "
Examples include:") var/good_num = 5 var/ourticket while(good_num > 0) @@ -67,7 +67,7 @@ var/global/list/security_printer_tickets = list() //VOREStation Edit ourticket = pick(security_printer_tickets) security_printer_tickets -= ourticket if(ourticket) - valid_stats_list.Add("-\"[ourticket]\"") + valid_stats_list.Add(span_bold("-")+"\"[ourticket]\"") good_num-- else good_num = 0 @@ -84,7 +84,7 @@ var/global/list/security_printer_tickets = list() //VOREStation Edit //VOREStation Add End if(LAZYLEN(valid_stats_list)) - to_world("Shift trivia!") + to_world(span_world("Shift trivia!")) for(var/body in valid_stats_list) - to_world("[body]") + to_world(span_filter_system("[body]")) diff --git a/code/datums/supplypacks/atmospherics.dm b/code/datums/supplypacks/atmospherics.dm index 13ca4cf1a95..883fec6fe47 100644 --- a/code/datums/supplypacks/atmospherics.dm +++ b/code/datums/supplypacks/atmospherics.dm @@ -9,7 +9,7 @@ /datum/supply_pack/atmos/inflatable name = "Inflatable barriers" - contains = list(/obj/item/weapon/storage/briefcase/inflatable = 3) + contains = list(/obj/item/storage/briefcase/inflatable = 3) cost = 20 containertype = /obj/structure/closet/crate/aether containername = "Inflatable Barrier Crate" @@ -66,7 +66,7 @@ access = access_atmospherics /datum/supply_pack/atmos/rapid_pipe_dispenser - contains = list(/obj/item/weapon/pipe_dispenser) + contains = list(/obj/item/pipe_dispenser) name = "Rapid Pipe Dispenser" cost = 100 containertype = /obj/structure/closet/crate/secure/aether @@ -77,7 +77,7 @@ name = "Internals crate" contains = list( /obj/item/clothing/mask/gas = 3, - /obj/item/weapon/tank/air = 3 + /obj/item/tank/air = 3 ) cost = 10 containertype = /obj/structure/closet/crate/aether @@ -86,10 +86,10 @@ /datum/supply_pack/atmos/evacuation name = "Emergency equipment" contains = list( - /obj/item/weapon/storage/toolbox/emergency = 2, + /obj/item/storage/toolbox/emergency = 2, /obj/item/clothing/suit/storage/hazardvest = 2, /obj/item/clothing/suit/storage/vest = 2, - /obj/item/weapon/tank/emergency/oxygen/engi = 4, + /obj/item/tank/emergency/oxygen/engi = 4, /obj/item/clothing/suit/space/emergency = 4, /obj/item/clothing/head/helmet/space/emergency = 4, /obj/item/clothing/mask/gas = 4 @@ -102,9 +102,9 @@ name = "Firefighting equipment" contains = list( /obj/item/clothing/suit/fire/heavy = 2, - /obj/item/weapon/tank/oxygen/red = 2, - /obj/item/weapon/watertank/atmos = 2, - /obj/item/device/flashlight = 2, + /obj/item/tank/oxygen/red = 2, + /obj/item/watertank/atmos = 2, + /obj/item/flashlight = 2, /obj/item/clothing/head/hardhat/firefighter/atmos = 2 ) cost = 35 diff --git a/code/datums/supplypacks/contraband.dm b/code/datums/supplypacks/contraband.dm index a2b9fcbd3bc..215ec5288a7 100644 --- a/code/datums/supplypacks/contraband.dm +++ b/code/datums/supplypacks/contraband.dm @@ -8,9 +8,9 @@ num_contained = 5 contains = list( /obj/item/seeds/bloodtomatoseed, - /obj/item/weapon/storage/pill_bottle/zoom, - /obj/item/weapon/storage/pill_bottle/happy, - /obj/item/weapon/reagent_containers/food/drinks/bottle/pwine + /obj/item/storage/pill_bottle/zoom, + /obj/item/storage/pill_bottle/happy, + /obj/item/reagent_containers/food/drinks/bottle/pwine ) name = "Contraband crate" @@ -23,9 +23,9 @@ /datum/supply_pack/security/specialops name = "Special Ops supplies" contains = list( - /obj/item/weapon/storage/box/emps, - /obj/item/weapon/grenade/smokebomb = 4, - /obj/item/weapon/grenade/chem_grenade/incendiary + /obj/item/storage/box/emps, + /obj/item/grenade/smokebomb = 4, + /obj/item/grenade/chem_grenade/incendiary ) cost = 25 containertype = /obj/structure/closet/crate/weapon @@ -35,8 +35,8 @@ /datum/supply_pack/supply/moghes name = "Moghes imports" contains = list( - /obj/item/weapon/reagent_containers/food/drinks/bottle/redeemersbrew = 2, - /obj/item/weapon/reagent_containers/food/snacks/unajerky = 4 + /obj/item/reagent_containers/food/drinks/bottle/redeemersbrew = 2, + /obj/item/reagent_containers/food/snacks/unajerky = 4 ) cost = 25 containertype = /obj/structure/closet/crate/unathi @@ -46,7 +46,7 @@ /datum/supply_pack/munitions/bolt_rifles_militia name = "Weapon - Surplus militia rifles" contains = list( - /obj/item/weapon/gun/projectile/shotgun/pump/rifle = 3, + /obj/item/gun/projectile/shotgun/pump/rifle = 3, /obj/item/ammo_magazine/clip/c762 = 6 ) cost = 1000 @@ -59,37 +59,59 @@ num_contained = 1 contains = list( list( //the operator, + /obj/item/gun/projectile/shotgun/pump/combat, /obj/item/clothing/suit/storage/vest/heavy/merc, /obj/item/clothing/glasses/night, - /obj/item/weapon/storage/box/anti_photons + /obj/item/storage/box/anti_photons, + /obj/item/ammo_magazine/clip/c12g/pellet, + /obj/item/ammo_magazine/clip/c12g ), - list( //the indian, - /obj/item/weapon/gun/projectile/dartgun, + list( //the doc, + /obj/item/storage/firstaid/combat, + /obj/item/gun/projectile/dartgun, + /obj/item/reagent_containers/hypospray, + /obj/item/reagent_containers/glass/bottle/chloralhydrate, + /obj/item/reagent_containers/glass/bottle/cyanide, /obj/item/ammo_magazine/chemdart ), list( //the doc, - /obj/item/weapon/storage/firstaid/combat, - /obj/item/weapon/reagent_containers/hypospray + /obj/item/storage/firstaid/combat, + /obj/item/reagent_containers/hypospray ), list( //the sapper, - /obj/item/weapon/melee/energy/sword/ionic_rapier, - /obj/item/weapon/storage/box/syndie_kit/space, //doesn't matter what species you are, - /obj/item/device/multitool/ai_detector, - /obj/item/weapon/storage/toolbox/syndicate/powertools + /obj/item/melee/energy/sword/ionic_rapier, + /obj/item/storage/box/syndie_kit/space, //doesn't matter what species you are, + /obj/item/storage/box/syndie_kit/demolitions, + /obj/item/multitool/ai_detector, + /obj/item/plastique, + /obj/item/storage/toolbox/syndicate/powertools ), list( //the infiltrator, - /obj/item/device/chameleon, - /obj/item/weapon/storage/box/syndie_kit/chameleon, - /obj/item/device/encryptionkey/syndicate, - /obj/item/weapon/card/id/syndicate, + /obj/item/gun/projectile/silenced, + /obj/item/chameleon, + /obj/item/storage/box/syndie_kit/chameleon, + /obj/item/encryptionkey/syndicate, + /obj/item/card/id/syndicate, /obj/item/clothing/mask/gas/voice, - /obj/item/weapon/makeover + /obj/item/makeover + ), + list( //the hacker, + /obj/item/gun/projectile/silenced, + /obj/item/gun/energy/ionrifle/pistol, + /obj/item/clothing/glasses/thermal/syndi, + /obj/item/ammo_magazine/m45/ap, + /obj/item/material/knife/tacknife/combatknife, + /obj/item/multitool/hacktool/modified ), list( //the professional, - /obj/item/weapon/gun/energy/ionrifle/pistol, - /obj/item/weapon/material/knife/tacknife/combatknife, + /obj/item/gun/projectile/silenced, + /obj/item/gun/energy/ionrifle/pistol, + /obj/item/clothing/glasses/thermal/syndi, + /obj/item/card/emag, + /obj/item/ammo_magazine/m45/ap, + /obj/item/material/knife/tacknife/combatknife, /obj/item/clothing/mask/balaclava ) ) diff --git a/code/datums/supplypacks/costumes.dm b/code/datums/supplypacks/costumes.dm index 6bdb9adce8e..7e6ae4a9edd 100644 --- a/code/datums/supplypacks/costumes.dm +++ b/code/datums/supplypacks/costumes.dm @@ -13,7 +13,7 @@ /datum/supply_pack/costumes/wizard name = "Wizard costume" contains = list( - /obj/item/weapon/staff, + /obj/item/staff, /obj/item/clothing/suit/wizrobe/fake, /obj/item/clothing/shoes/sandal, /obj/item/clothing/head/wizard/fake @@ -118,7 +118,7 @@ /obj/item/clothing/suit/wizrobe/marisa/fake, /obj/item/clothing/shoes/sandal, /obj/item/clothing/head/wizard/marisa/fake, - /obj/item/weapon/staff/broom + /obj/item/staff/broom ) /datum/supply_pack/randomised/costumes/costume_hats @@ -536,9 +536,9 @@ /datum/supply_pack/costumes/taurbags name = "Saddlebags crate" contains = list( - /obj/item/weapon/storage/backpack/saddlebag_common, - /obj/item/weapon/storage/backpack/saddlebag_common/robust, - /obj/item/weapon/storage/backpack/saddlebag_common/vest + /obj/item/storage/backpack/saddlebag_common, + /obj/item/storage/backpack/saddlebag_common/robust, + /obj/item/storage/backpack/saddlebag_common/vest ) cost = 60 containertype = /obj/structure/closet/crate diff --git a/code/datums/supplypacks/engineering.dm b/code/datums/supplypacks/engineering.dm index a8f763c7a2f..f0a8e4d4b70 100644 --- a/code/datums/supplypacks/engineering.dm +++ b/code/datums/supplypacks/engineering.dm @@ -9,28 +9,28 @@ /datum/supply_pack/eng/lightbulbs name = "Replacement lights" - contains = list(/obj/item/weapon/storage/box/lights/mixed = 3) + contains = list(/obj/item/storage/box/lights/mixed = 3) cost = 10 containertype = /obj/structure/closet/crate/galaksi containername = "Replacement lights" /datum/supply_pack/eng/smescoil name = "Superconducting Magnetic Coil" - contains = list(/obj/item/weapon/smes_coil) + contains = list(/obj/item/smes_coil) cost = 75 containertype = /obj/structure/closet/crate/focalpoint containername = "Superconducting Magnetic Coil crate" /datum/supply_pack/eng/smescoil/super_capacity name = "Superconducting Capacitance Coil" - contains = list(/obj/item/weapon/smes_coil/super_capacity) + contains = list(/obj/item/smes_coil/super_capacity) cost = 90 containertype = /obj/structure/closet/crate/focalpoint containername = "Superconducting Capacitance Coil crate" /datum/supply_pack/eng/smescoil/super_io name = "Superconducting Transmission Coil" - contains = list(/obj/item/weapon/smes_coil/super_io) + contains = list(/obj/item/smes_coil/super_io) cost = 90 containertype = /obj/structure/closet/crate/focalpoint containername = "Superconducting Transmission Coil crate" @@ -79,14 +79,14 @@ /datum/supply_pack/eng/point_defense_cannon_circuit name = "Point Defense Turret Circuit" - contains = list(/obj/item/weapon/circuitboard/pointdefense = 2) + contains = list(/obj/item/circuitboard/pointdefense = 2) cost = 20 containertype = /obj/structure/closet/crate/heph containername = "point defense turret circuit crate" /datum/supply_pack/eng/point_defense_control_circuit name = "Point Defense Controller Circuit" - contains = list(/obj/item/weapon/circuitboard/pointdefense_control = 1) + contains = list(/obj/item/circuitboard/pointdefense_control = 1) cost = 30 containertype = /obj/structure/closet/crate/heph containername = "point defense mainframe circuit crate" @@ -94,10 +94,10 @@ /datum/supply_pack/eng/electrical name = "Electrical maintenance crate" contains = list( - /obj/item/weapon/storage/toolbox/electrical = 2, + /obj/item/storage/toolbox/electrical = 2, /obj/item/clothing/gloves/yellow = 2, - /obj/item/weapon/cell = 2, - /obj/item/weapon/cell/high = 2 + /obj/item/cell = 2, + /obj/item/cell/high = 2 ) cost = 10 containertype = /obj/structure/closet/crate/ward @@ -106,7 +106,7 @@ /datum/supply_pack/eng/e_welders name = "Electric welder crate" contains = list( - /obj/item/weapon/weldingtool/electric = 3 + /obj/item/weldingtool/electric = 3 ) cost = 15 containertype = /obj/structure/closet/crate/ward @@ -115,7 +115,7 @@ /datum/supply_pack/eng/mechanical name = "Mechanical maintenance crate" contains = list( - /obj/item/weapon/storage/belt/utility/full = 3, + /obj/item/storage/belt/utility/full = 3, /obj/item/clothing/suit/storage/hazardvest = 3, /obj/item/clothing/head/welding = 2, /obj/item/clothing/head/hardhat @@ -135,9 +135,9 @@ name = "Solar Pack crate" contains = list( /obj/item/solar_assembly = 21, - /obj/item/weapon/circuitboard/solar_control, - /obj/item/weapon/tracker_electronics, - /obj/item/weapon/paper/solar + /obj/item/circuitboard/solar_control, + /obj/item/tracker_electronics, + /obj/item/paper/solar ) cost = 20 containertype = /obj/structure/closet/crate/einstein @@ -195,7 +195,7 @@ access = access_ce /datum/supply_pack/eng/shield_gen - contains = list(/obj/item/weapon/circuitboard/shield_gen) + contains = list(/obj/item/circuitboard/shield_gen) name = "Bubble shield generator circuitry" cost = 30 containertype = /obj/structure/closet/crate/secure/focalpoint @@ -203,7 +203,7 @@ access = access_ce /datum/supply_pack/eng/shield_gen_ex - contains = list(/obj/item/weapon/circuitboard/shield_gen_ex) + contains = list(/obj/item/circuitboard/shield_gen_ex) name = "Hull shield generator circuitry" cost = 30 containertype = /obj/structure/closet/crate/secure/focalpoint @@ -211,7 +211,7 @@ access = access_ce /datum/supply_pack/eng/shield_cap - contains = list(/obj/item/weapon/circuitboard/shield_cap) + contains = list(/obj/item/circuitboard/shield_cap) name = "Bubble shield capacitor circuitry" cost = 30 containertype = /obj/structure/closet/crate/secure/focalpoint @@ -269,10 +269,10 @@ containertype = /obj/structure/closet/crate/secure/focalpoint access = access_tech_storage contains = list( - /obj/item/weapon/stock_parts/micro_laser, - /obj/item/weapon/stock_parts/capacitor, - /obj/item/weapon/stock_parts/matter_bin, - /obj/item/weapon/circuitboard/pacman + /obj/item/stock_parts/micro_laser, + /obj/item/stock_parts/capacitor, + /obj/item/stock_parts/matter_bin, + /obj/item/circuitboard/pacman ) /datum/supply_pack/eng/super_pacman_parts @@ -282,10 +282,10 @@ containertype = /obj/structure/closet/crate/secure/focalpoint access = access_tech_storage contains = list( - /obj/item/weapon/stock_parts/micro_laser, - /obj/item/weapon/stock_parts/capacitor, - /obj/item/weapon/stock_parts/matter_bin, - /obj/item/weapon/circuitboard/pacman/super + /obj/item/stock_parts/micro_laser, + /obj/item/stock_parts/capacitor, + /obj/item/stock_parts/matter_bin, + /obj/item/circuitboard/pacman/super ) /datum/supply_pack/eng/fusion_core @@ -295,9 +295,9 @@ containertype = /obj/structure/closet/crate/secure/einstein access = access_engine contains = list( - /obj/item/weapon/book/manual/rust_engine, + /obj/item/book/manual/rust_engine, /obj/machinery/power/fusion_core, - /obj/item/weapon/circuitboard/fusion_core + /obj/item/circuitboard/fusion_core ) /datum/supply_pack/eng/fusion_fuel_injector @@ -309,7 +309,7 @@ contains = list( /obj/machinery/fusion_fuel_injector, /obj/machinery/fusion_fuel_injector, - /obj/item/weapon/circuitboard/fusion_injector + /obj/item/circuitboard/fusion_injector ) /datum/supply_pack/eng/gyrotron @@ -320,7 +320,7 @@ access = access_engine contains = list( /obj/machinery/power/emitter/gyrotron, - /obj/item/weapon/circuitboard/gyrotron + /obj/item/circuitboard/gyrotron ) /datum/supply_pack/eng/fusion_fuel_compressor @@ -328,7 +328,14 @@ cost = 10 containername = "Fusion Fuel Compressor circuitry crate" containertype = /obj/structure/closet/crate/einstein - contains = list(/obj/item/weapon/circuitboard/fusion_fuel_compressor) + contains = list(/obj/item/circuitboard/fusion_fuel_compressor) + +/datum/supply_pack/eng/deuterium + name = "Deuterium crate" + cost = 50 + containername = "Deuterium crate" + containertype = /obj/structure/closet/crate/einstein + contains = list(/obj/fiftyspawner/deuterium) /datum/supply_pack/eng/tritium name = "Tritium crate" @@ -340,12 +347,12 @@ /datum/supply_pack/eng/modern_shield name = "Modern Shield Construction Kit" contains = list( - /obj/item/weapon/circuitboard/shield_generator, - /obj/item/weapon/stock_parts/capacitor, - /obj/item/weapon/stock_parts/micro_laser, - /obj/item/weapon/smes_coil, - /obj/item/weapon/stock_parts/console_screen, - /obj/item/weapon/stock_parts/subspace/amplifier + /obj/item/circuitboard/shield_generator, + /obj/item/stock_parts/capacitor, + /obj/item/stock_parts/micro_laser, + /obj/item/smes_coil, + /obj/item/stock_parts/console_screen, + /obj/item/stock_parts/subspace/amplifier ) cost = 80 containertype = /obj/structure/closet/crate/focalpoint @@ -366,7 +373,7 @@ ) /datum/supply_pack/eng/dosimeter - contains = list(/obj/item/weapon/storage/box/dosimeter = 6) + contains = list(/obj/item/storage/box/dosimeter = 6) name = "Dosimeters" cost = 10 containertype = /obj/structure/closet/crate @@ -387,7 +394,7 @@ access = access_ce /datum/supply_pack/eng/inducer - contains = list(/obj/item/weapon/inducer = 3) + contains = list(/obj/item/inducer = 3) name = "inducer" cost = 90 //Relatively expensive containertype = /obj/structure/closet/crate/xion diff --git a/code/datums/supplypacks/hardsuits.dm b/code/datums/supplypacks/hardsuits.dm index 1b84c5e6c9a..4bbb5b5158c 100644 --- a/code/datums/supplypacks/hardsuits.dm +++ b/code/datums/supplypacks/hardsuits.dm @@ -10,7 +10,7 @@ /datum/supply_pack/hardsuits/eva_rig name = "eva hardsuit (empty)" contains = list( - /obj/item/weapon/rig/eva = 1 + /obj/item/rig/eva = 1 ) cost = 150 containertype = /obj/structure/closet/crate/secure/gear @@ -23,7 +23,7 @@ /datum/supply_pack/hardsuits/mining_rig name = "industrial hardsuit (empty)" contains = list( - /obj/item/weapon/rig/industrial = 1 + /obj/item/rig/industrial = 1 ) cost = 150 containertype = /obj/structure/closet/crate/secure/gear @@ -35,7 +35,7 @@ /datum/supply_pack/hardsuits/medical_rig name = "medical hardsuit (empty)" contains = list( - /obj/item/weapon/rig/medical = 1 + /obj/item/rig/medical = 1 ) cost = 150 containertype = /obj/structure/closet/crate/secure/gear @@ -45,7 +45,7 @@ /datum/supply_pack/hardsuits/security_rig name = "hazard hardsuit (empty)" contains = list( - /obj/item/weapon/rig/hazard = 1 + /obj/item/rig/hazard = 1 ) cost = 150 containertype = /obj/structure/closet/crate/secure/gear @@ -55,7 +55,7 @@ /datum/supply_pack/hardsuits/science_rig name = "ami hardsuit (empty)" contains = list( - /obj/item/weapon/rig/hazmat = 1 + /obj/item/rig/hazmat = 1 ) cost = 150 containertype = /obj/structure/closet/crate/secure/gear @@ -65,7 +65,7 @@ /datum/supply_pack/hardsuits/ce_rig name = "advanced hardsuit (empty)" contains = list( - /obj/item/weapon/rig/ce = 1 + /obj/item/rig/ce = 1 ) cost = 150 containertype = /obj/structure/closet/crate/secure/gear @@ -75,7 +75,7 @@ /datum/supply_pack/hardsuits/com_medical_rig name = "solgov medical hardsuit (loaded)" //YW EDIT contains = list( - /obj/item/weapon/rig/baymed/equipped = 1 + /obj/item/rig/baymed/equipped = 1 ) cost = 250 containertype = /obj/structure/closet/crate/secure/gear @@ -85,7 +85,7 @@ /datum/supply_pack/hardsuits/com_engineering_rig name = "solgov engineering hardsuit (loaded)" //YW EDIT contains = list( - /obj/item/weapon/rig/bayeng/equipped = 1 + /obj/item/rig/bayeng/equipped = 1 ) cost = 250 containertype = /obj/structure/closet/crate/secure/gear @@ -96,7 +96,7 @@ /datum/supply_pack/hardsuits/breacher_rig name = "unathi breacher hardsuit (empty)" contains = list( - /obj/item/weapon/rig/breacher = 1 + /obj/item/rig/breacher = 1 ) cost = 250 containertype = /obj/structure/closet/crate/secure/gear @@ -107,7 +107,7 @@ /datum/supply_pack/hardsuits/zero_rig name = "null hardsuit (jets)" contains = list( - /obj/item/weapon/rig/zero = 1 + /obj/item/rig/zero = 1 ) cost = 75 containertype = /obj/structure/closet/crate/secure/gear diff --git a/code/datums/supplypacks/hospitality.dm b/code/datums/supplypacks/hospitality.dm index baef23eb1a8..8ee18ac817b 100644 --- a/code/datums/supplypacks/hospitality.dm +++ b/code/datums/supplypacks/hospitality.dm @@ -10,18 +10,18 @@ /datum/supply_pack/hospitality/party name = "Party equipment" contains = list( - /obj/item/weapon/storage/box/mixedglasses = 2, - /obj/item/weapon/storage/box/glasses/square, - /obj/item/weapon/reagent_containers/food/drinks/shaker, - /obj/item/weapon/reagent_containers/food/drinks/flask/barflask, - /obj/item/weapon/reagent_containers/food/drinks/bottle/patron, - /obj/item/weapon/reagent_containers/food/drinks/bottle/goldschlager, - /obj/item/weapon/reagent_containers/food/drinks/bottle/specialwhiskey, - /obj/item/weapon/reagent_containers/food/drinks/bottle/jager, - /obj/item/weapon/storage/fancy/cigarettes/dromedaryco, - /obj/item/weapon/lipstick/random, - /obj/item/weapon/reagent_containers/food/drinks/bottle/small/ale = 2, - /obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer = 4, + /obj/item/storage/box/mixedglasses = 2, + /obj/item/storage/box/glasses/square, + /obj/item/reagent_containers/food/drinks/shaker, + /obj/item/reagent_containers/food/drinks/flask/barflask, + /obj/item/reagent_containers/food/drinks/bottle/patron, + /obj/item/reagent_containers/food/drinks/bottle/goldschlager, + /obj/item/reagent_containers/food/drinks/bottle/specialwhiskey, + /obj/item/reagent_containers/food/drinks/bottle/jager, + /obj/item/storage/fancy/cigarettes/dromedaryco, + /obj/item/lipstick/random, + /obj/item/reagent_containers/food/drinks/bottle/small/ale = 2, + /obj/item/reagent_containers/food/drinks/bottle/small/beer = 4, ) cost = 10 containertype = /obj/structure/closet/crate/gilthari @@ -30,19 +30,19 @@ /datum/supply_pack/hospitality/barsupplies name = "Bar supplies" contains = list( - /obj/item/weapon/storage/box/glasses/cocktail, - /obj/item/weapon/storage/box/glasses/rocks, - /obj/item/weapon/storage/box/glasses/square, - /obj/item/weapon/storage/box/glasses/pint, - /obj/item/weapon/storage/box/glasses/wine, - /obj/item/weapon/storage/box/glasses/shake, - /obj/item/weapon/storage/box/glasses/shot, - /obj/item/weapon/storage/box/glasses/mug, - /obj/item/weapon/storage/box/glasses/meta, - /obj/item/weapon/storage/box/glasses/meta/metapint, - /obj/item/weapon/reagent_containers/food/drinks/shaker, - /obj/item/weapon/storage/box/glass_extras/straws, - /obj/item/weapon/storage/box/glass_extras/sticks + /obj/item/storage/box/glasses/cocktail, + /obj/item/storage/box/glasses/rocks, + /obj/item/storage/box/glasses/square, + /obj/item/storage/box/glasses/pint, + /obj/item/storage/box/glasses/wine, + /obj/item/storage/box/glasses/shake, + /obj/item/storage/box/glasses/shot, + /obj/item/storage/box/glasses/mug, + /obj/item/storage/box/glasses/meta, + /obj/item/storage/box/glasses/meta/metapint, + /obj/item/reagent_containers/food/drinks/shaker, + /obj/item/storage/box/glass_extras/straws, + /obj/item/storage/box/glass_extras/sticks ) cost = 10 containertype = /obj/structure/closet/crate/gilthari @@ -59,7 +59,7 @@ name = "Surprise pack of five pizzas" contains = list( /obj/random/pizzabox/supplypack = 5, - /obj/item/weapon/material/knife/plastic, + /obj/item/material/knife/plastic, /obj/item/clothing/under/pizzaguy, /obj/item/clothing/head/pizzaguy ) @@ -71,11 +71,11 @@ name = "Gift crate" contains = list( /obj/item/toy/bouquet = 3, - /obj/item/weapon/storage/fancy/heartbox = 2, - /obj/item/weapon/paper/card/smile, - /obj/item/weapon/paper/card/heart, - /obj/item/weapon/paper/card/cat, - /obj/item/weapon/paper/card/flower + /obj/item/storage/fancy/heartbox = 2, + /obj/item/paper/card/smile, + /obj/item/paper/card/heart, + /obj/item/paper/card/cat, + /obj/item/paper/card/flower ) cost = 10 containertype = /obj/structure/closet/crate/allico @@ -86,7 +86,7 @@ contains = list( /obj/item/paint_brush = 2, /obj/item/paint_palette = 2, - /obj/item/weapon/reagent_containers/glass/rag = 2, + /obj/item/reagent_containers/glass/rag = 2, /obj/structure/easel = 1, // How does that even fit /obj/item/canvas = 1, /obj/item/canvas/nineteen_nineteen = 1, @@ -101,7 +101,7 @@ /datum/supply_pack/hospitality/holywater name = "Holy water crate" contains = list( - /obj/item/weapon/reagent_containers/food/drinks/bottle/holywater = 3 + /obj/item/reagent_containers/food/drinks/bottle/holywater = 3 ) cost = 15 containertype = /obj/structure/closet/crate/gilthari @@ -113,11 +113,11 @@ /datum/supply_pack/randomised/hospitality/burgers_vr num_contained = 5 contains = list( - /obj/item/weapon/reagent_containers/food/snacks/bigbiteburger, - /obj/item/weapon/reagent_containers/food/snacks/cheeseburger, - /obj/item/weapon/reagent_containers/food/snacks/jellyburger, - /obj/item/weapon/reagent_containers/food/snacks/tofuburger, - /obj/item/weapon/reagent_containers/food/snacks/fries + /obj/item/reagent_containers/food/snacks/bigbiteburger, + /obj/item/reagent_containers/food/snacks/cheeseburger, + /obj/item/reagent_containers/food/snacks/jellyburger, + /obj/item/reagent_containers/food/snacks/tofuburger, + /obj/item/reagent_containers/food/snacks/fries ) name = "Burger crate" cost = 25 @@ -127,23 +127,23 @@ /datum/supply_pack/randomised/hospitality/bakery_vr num_contained = 5 contains = list( - /obj/item/weapon/reagent_containers/food/snacks/baguette, - /obj/item/weapon/reagent_containers/food/snacks/appletart, - /obj/item/weapon/reagent_containers/food/snacks/berrymuffin, - /obj/item/weapon/reagent_containers/food/snacks/bunbun, - /obj/item/weapon/reagent_containers/food/snacks/cherrypie, - /obj/item/weapon/reagent_containers/food/snacks/cookie, - /obj/item/weapon/reagent_containers/food/snacks/croissant, - /obj/item/weapon/reagent_containers/food/snacks/donut/normal, - /obj/item/weapon/reagent_containers/food/snacks/donut/jelly, - /obj/item/weapon/reagent_containers/food/snacks/donut/cherryjelly, - /obj/item/weapon/reagent_containers/food/snacks/muffin, - /obj/item/weapon/reagent_containers/food/snacks/pie, - /obj/item/weapon/reagent_containers/food/snacks/plump_pie, - /obj/item/weapon/reagent_containers/food/snacks/plumphelmetbiscuit, - /obj/item/weapon/reagent_containers/food/snacks/poppypretzel, - /obj/item/weapon/reagent_containers/food/snacks/sugarcookie, - /obj/item/weapon/reagent_containers/food/snacks/waffles + /obj/item/reagent_containers/food/snacks/baguette, + /obj/item/reagent_containers/food/snacks/appletart, + /obj/item/reagent_containers/food/snacks/berrymuffin, + /obj/item/reagent_containers/food/snacks/bunbun, + /obj/item/reagent_containers/food/snacks/cherrypie, + /obj/item/reagent_containers/food/snacks/cookie, + /obj/item/reagent_containers/food/snacks/croissant, + /obj/item/reagent_containers/food/snacks/donut/normal, + /obj/item/reagent_containers/food/snacks/donut/jelly, + /obj/item/reagent_containers/food/snacks/donut/cherryjelly, + /obj/item/reagent_containers/food/snacks/muffin, + /obj/item/reagent_containers/food/snacks/pie, + /obj/item/reagent_containers/food/snacks/plump_pie, + /obj/item/reagent_containers/food/snacks/plumphelmetbiscuit, + /obj/item/reagent_containers/food/snacks/poppypretzel, + /obj/item/reagent_containers/food/snacks/sugarcookie, + /obj/item/reagent_containers/food/snacks/waffles ) name = "Bakery products crate" cost = 25 @@ -153,15 +153,15 @@ /datum/supply_pack/randomised/hospitality/cakes_vr num_contained = 2 contains = list( - /obj/item/weapon/reagent_containers/food/snacks/sliceable/applecake, - /obj/item/weapon/reagent_containers/food/snacks/sliceable/birthdaycake, - /obj/item/weapon/reagent_containers/food/snacks/sliceable/carrotcake, - /obj/item/weapon/reagent_containers/food/snacks/sliceable/cheesecake, - /obj/item/weapon/reagent_containers/food/snacks/sliceable/chocolatecake, - /obj/item/weapon/reagent_containers/food/snacks/sliceable/lemoncake, - /obj/item/weapon/reagent_containers/food/snacks/sliceable/limecake, - /obj/item/weapon/reagent_containers/food/snacks/sliceable/orangecake, - /obj/item/weapon/reagent_containers/food/snacks/sliceable/plaincake + /obj/item/reagent_containers/food/snacks/sliceable/applecake, + /obj/item/reagent_containers/food/snacks/sliceable/birthdaycake, + /obj/item/reagent_containers/food/snacks/sliceable/carrotcake, + /obj/item/reagent_containers/food/snacks/sliceable/cheesecake, + /obj/item/reagent_containers/food/snacks/sliceable/chocolatecake, + /obj/item/reagent_containers/food/snacks/sliceable/lemoncake, + /obj/item/reagent_containers/food/snacks/sliceable/limecake, + /obj/item/reagent_containers/food/snacks/sliceable/orangecake, + /obj/item/reagent_containers/food/snacks/sliceable/plaincake ) name = "Cake crate" cost = 100 @@ -171,10 +171,10 @@ /datum/supply_pack/randomised/hospitality/mexican_vr num_contained = 5 contains = list( - /obj/item/weapon/reagent_containers/food/snacks/cheeseburrito, - /obj/item/weapon/reagent_containers/food/snacks/enchiladas, - /obj/item/weapon/reagent_containers/food/snacks/meatburrito, - /obj/item/weapon/reagent_containers/food/snacks/taco + /obj/item/reagent_containers/food/snacks/cheeseburrito, + /obj/item/reagent_containers/food/snacks/enchiladas, + /obj/item/reagent_containers/food/snacks/meatburrito, + /obj/item/reagent_containers/food/snacks/taco ) name = "Mexican takeout crate" cost = 50 @@ -184,8 +184,8 @@ /datum/supply_pack/randomised/hospitality/asian_vr num_contained = 5 contains = list( - /obj/item/weapon/reagent_containers/food/snacks/generalschicken, - /obj/item/weapon/reagent_containers/food/snacks/hotandsoursoup + /obj/item/reagent_containers/food/snacks/generalschicken, + /obj/item/reagent_containers/food/snacks/hotandsoursoup ) name = "Chinese takeout crate" cost = 50 @@ -194,16 +194,16 @@ /datum/supply_pack/randomised/hospitality/jaffacake contains = list( - /obj/item/weapon/storage/box/jaffacake, - /obj/item/weapon/storage/box/jaffacake, - /obj/item/weapon/storage/box/jaffacake, - /obj/item/weapon/storage/box/jaffacake, - /obj/item/weapon/storage/box/jaffacake, - /obj/item/weapon/storage/box/jaffacake, - /obj/item/weapon/storage/box/jaffacake, - /obj/item/weapon/storage/box/jaffacake, - /obj/item/weapon/storage/box/jaffacake, - /obj/item/weapon/storage/box/jaffacake + /obj/item/storage/box/jaffacake, + /obj/item/storage/box/jaffacake, + /obj/item/storage/box/jaffacake, + /obj/item/storage/box/jaffacake, + /obj/item/storage/box/jaffacake, + /obj/item/storage/box/jaffacake, + /obj/item/storage/box/jaffacake, + /obj/item/storage/box/jaffacake, + /obj/item/storage/box/jaffacake, + /obj/item/storage/box/jaffacake ) name = "Desatti jaffa cake crate" cost = 25 @@ -213,11 +213,11 @@ /datum/supply_pack/randomised/hospitality/sweets num_contained = 5 contains = list( - /obj/item/weapon/storage/box/jaffacake, - /obj/item/weapon/storage/box/winegum, - /obj/item/weapon/storage/box/saucer, - /obj/item/weapon/storage/box/shrimpsandbananas, - /obj/item/weapon/storage/box/rhubarbcustard + /obj/item/storage/box/jaffacake, + /obj/item/storage/box/winegum, + /obj/item/storage/box/saucer, + /obj/item/storage/box/shrimpsandbananas, + /obj/item/storage/box/rhubarbcustard ) name = "Sweets crate" cost = 25 diff --git a/code/datums/supplypacks/hydroponics.dm b/code/datums/supplypacks/hydroponics.dm index d2e55469af1..fad0054a36f 100644 --- a/code/datums/supplypacks/hydroponics.dm +++ b/code/datums/supplypacks/hydroponics.dm @@ -9,28 +9,28 @@ /datum/supply_pack/hydro/monkey name = "Monkey crate" - contains = list (/obj/item/weapon/storage/box/monkeycubes) + contains = list (/obj/item/storage/box/monkeycubes) cost = 20 containertype = /obj/structure/closet/crate/freezer/nanotrasen containername = "Monkey crate" /datum/supply_pack/hydro/farwa name = "Farwa crate" - contains = list (/obj/item/weapon/storage/box/monkeycubes/farwacubes) + contains = list (/obj/item/storage/box/monkeycubes/farwacubes) cost = 20 containertype = /obj/structure/closet/crate/freezer containername = "Farwa crate" /datum/supply_pack/hydro/neara name = "Neaera crate" - contains = list (/obj/item/weapon/storage/box/monkeycubes/neaeracubes) + contains = list (/obj/item/storage/box/monkeycubes/neaeracubes) cost = 20 containertype = /obj/structure/closet/crate/freezer containername = "Neaera crate" /datum/supply_pack/hydro/stok name = "Stok crate" - contains = list (/obj/item/weapon/storage/box/monkeycubes/stokcubes) + contains = list (/obj/item/storage/box/monkeycubes/stokcubes) cost = 20 containertype = /obj/structure/closet/crate/freezer containername = "Stok crate" @@ -59,15 +59,15 @@ /datum/supply_pack/hydro/hydroponics name = "Hydroponics Supply Crate" contains = list( - /obj/item/weapon/reagent_containers/spray/plantbgone = 4, - /obj/item/weapon/reagent_containers/glass/bottle/ammonia = 2, - /obj/item/weapon/material/knife/machete/hatchet, - /obj/item/weapon/material/minihoe, - /obj/item/device/analyzer/plant_analyzer, + /obj/item/reagent_containers/spray/plantbgone = 4, + /obj/item/reagent_containers/glass/bottle/ammonia = 2, + /obj/item/material/knife/machete/hatchet, + /obj/item/material/minihoe, + /obj/item/analyzer/plant_analyzer, /obj/item/clothing/gloves/botanic_leather, /obj/item/clothing/suit/storage/apron, - /obj/item/weapon/material/minihoe, - /obj/item/weapon/storage/box/botanydisk + /obj/item/material/minihoe, + /obj/item/storage/box/botanydisk ) cost = 20 containertype = /obj/structure/closet/crate/hydroponics @@ -95,6 +95,13 @@ containername = "Chicken crate" access = access_hydroponics +/datum/supply_pack/hydro/turkey + name = "Turkey crate" + cost = 25 + containertype = /obj/structure/largecrate/animal/turkey + containername = "Turkey crate" + access = access_hydroponics + /datum/supply_pack/hydro/seeds name = "Seeds crate" contains = list( @@ -124,11 +131,11 @@ /datum/supply_pack/hydro/weedcontrol name = "Weed control crate" contains = list( - /obj/item/weapon/material/knife/machete/hatchet = 2, - /obj/item/weapon/reagent_containers/spray/plantbgone = 4, + /obj/item/material/knife/machete/hatchet = 2, + /obj/item/reagent_containers/spray/plantbgone = 4, /obj/item/clothing/mask/gas = 2, - /obj/item/weapon/grenade/chem_grenade/antiweed = 2, - /obj/item/weapon/material/twohanded/fireaxe/scythe + /obj/item/grenade/chem_grenade/antiweed = 2, + /obj/item/material/twohanded/fireaxe/scythe ) cost = 45 containertype = /obj/structure/closet/crate/grayson @@ -172,28 +179,28 @@ /datum/supply_pack/hydro/sobaka name = "Sobaka crate" - contains = list (/obj/item/weapon/storage/box/monkeycubes/sobakacubes) + contains = list (/obj/item/storage/box/monkeycubes/sobakacubes) cost = 20 containertype = /obj/structure/closet/crate/freezer containername = "Sobaka crate" /datum/supply_pack/hydro/saru name = "Saru crate" - contains = list (/obj/item/weapon/storage/box/monkeycubes/sarucubes) + contains = list (/obj/item/storage/box/monkeycubes/sarucubes) cost = 20 containertype = /obj/structure/closet/crate/freezer containername = "Saru crate" /datum/supply_pack/hydro/sparra name = "Sparra crate" - contains = list (/obj/item/weapon/storage/box/monkeycubes/sparracubes) + contains = list (/obj/item/storage/box/monkeycubes/sparracubes) cost = 20 containertype = /obj/structure/closet/crate/freezer containername = "Sparra crate" /datum/supply_pack/hydro/wolpin name = "Wolpin crate" - contains = list (/obj/item/weapon/storage/box/monkeycubes/wolpincubes) + contains = list (/obj/item/storage/box/monkeycubes/wolpincubes) cost = 20 containertype = /obj/structure/closet/crate/freezer containername = "Wolpin crate" @@ -207,9 +214,9 @@ /datum/supply_pack/hydro/fish name = "Fish supply crate" contains = list( - /obj/item/weapon/reagent_containers/food/snacks/lobster = 6, - /obj/item/weapon/reagent_containers/food/snacks/cuttlefish = 8, - /obj/item/weapon/reagent_containers/food/snacks/sliceable/monkfish = 1 + /obj/item/reagent_containers/food/snacks/lobster = 6, + /obj/item/reagent_containers/food/snacks/cuttlefish = 8, + /obj/item/reagent_containers/food/snacks/sliceable/monkfish = 1 ) cost = 20 containertype = /obj/structure/closet/crate/freezer @@ -218,14 +225,14 @@ /datum/supply_pack/hydro/fennec_food name = "Fennec treats crate" contains = list( - /obj/item/weapon/reagent_containers/food/snacks/locust = 6, - /obj/item/weapon/storage/box/wings/bucket = 2, - /obj/item/weapon/reagent_containers/food/snacks/grub_pink = 2, - /obj/item/weapon/reagent_containers/food/snacks/grub_blue = 2, - /obj/item/weapon/reagent_containers/food/snacks/grub_purple = 2, - /obj/item/weapon/reagent_containers/food/snacks/honey_candy = 4, - /obj/item/weapon/reagent_containers/food/snacks/scorpion = 4, - /obj/item/weapon/reagent_containers/food/snacks/ant = 4 + /obj/item/reagent_containers/food/snacks/locust = 6, + /obj/item/storage/box/wings/bucket = 2, + /obj/item/reagent_containers/food/snacks/grub_pink = 2, + /obj/item/reagent_containers/food/snacks/grub_blue = 2, + /obj/item/reagent_containers/food/snacks/grub_purple = 2, + /obj/item/reagent_containers/food/snacks/honey_candy = 4, + /obj/item/reagent_containers/food/snacks/scorpion = 4, + /obj/item/reagent_containers/food/snacks/ant = 4 ) cost = 20 containertype = /obj/structure/closet/crate/fennec diff --git a/code/datums/supplypacks/medical.dm b/code/datums/supplypacks/medical.dm index e958f8133fe..2e498c92f10 100644 --- a/code/datums/supplypacks/medical.dm +++ b/code/datums/supplypacks/medical.dm @@ -10,16 +10,16 @@ /datum/supply_pack/med/medical name = "Medical crate" contains = list( - /obj/item/weapon/storage/firstaid/regular, - /obj/item/weapon/storage/firstaid/fire, - /obj/item/weapon/storage/firstaid/toxin, - /obj/item/weapon/storage/firstaid/o2, - /obj/item/weapon/storage/firstaid/adv, - /obj/item/weapon/reagent_containers/glass/bottle/antitoxin, - /obj/item/weapon/reagent_containers/glass/bottle/inaprovaline, - /obj/item/weapon/reagent_containers/glass/bottle/stoxin, - /obj/item/weapon/storage/box/syringes, - /obj/item/weapon/storage/box/autoinjectors + /obj/item/storage/firstaid/regular, + /obj/item/storage/firstaid/fire, + /obj/item/storage/firstaid/toxin, + /obj/item/storage/firstaid/o2, + /obj/item/storage/firstaid/adv, + /obj/item/reagent_containers/glass/bottle/antitoxin, + /obj/item/reagent_containers/glass/bottle/inaprovaline, + /obj/item/reagent_containers/glass/bottle/stoxin, + /obj/item/storage/box/syringes, + /obj/item/storage/box/autoinjectors ) cost = 15 containertype = /obj/structure/closet/crate/zenghu @@ -27,21 +27,21 @@ /datum/supply_pack/med/bloodpack name = "BloodPack crate" - contains = list(/obj/item/weapon/storage/box/bloodpacks = 3) + contains = list(/obj/item/storage/box/bloodpacks = 3) cost = 10 containertype = /obj/structure/closet/crate/nanomed containername = "BloodPack crate" /datum/supply_pack/med/synthplas name = "BloodPack (Synthplas) crate" - contains = list(/obj/item/weapon/reagent_containers/blood/synthplas = 6) + contains = list(/obj/item/reagent_containers/blood/synthplas = 6) cost = 80 containertype = /obj/structure/closet/crate/nanomed containername = "SynthPlas crate" /datum/supply_pack/med/bodybag name = "Body bag crate" - contains = list(/obj/item/weapon/storage/box/bodybags = 3) + contains = list(/obj/item/storage/box/bodybags = 3) cost = 10 containertype = /obj/structure/closet/crate/nanomed containername = "Body bag crate" @@ -56,17 +56,17 @@ /datum/supply_pack/med/surgery name = "Surgery crate" contains = list( - /obj/item/weapon/surgical/cautery, - /obj/item/weapon/surgical/surgicaldrill, + /obj/item/surgical/cautery, + /obj/item/surgical/surgicaldrill, /obj/item/clothing/mask/breath/medical, - /obj/item/weapon/tank/anesthetic, - /obj/item/weapon/surgical/FixOVein, - /obj/item/weapon/surgical/hemostat, - /obj/item/weapon/surgical/scalpel, - /obj/item/weapon/surgical/bonegel, - /obj/item/weapon/surgical/retractor, - /obj/item/weapon/surgical/bonesetter, - /obj/item/weapon/surgical/circular_saw + /obj/item/tank/anesthetic, + /obj/item/surgical/FixOVein, + /obj/item/surgical/hemostat, + /obj/item/surgical/scalpel, + /obj/item/surgical/bonegel, + /obj/item/surgical/retractor, + /obj/item/surgical/bonesetter, + /obj/item/surgical/circular_saw ) cost = 25 containertype = /obj/structure/closet/crate/secure/veymed @@ -76,8 +76,8 @@ /datum/supply_pack/med/deathalarm name = "Death Alarm crate" contains = list( - /obj/item/weapon/storage/box/cdeathalarm_kit, - /obj/item/weapon/storage/box/cdeathalarm_kit + /obj/item/storage/box/cdeathalarm_kit, + /obj/item/storage/box/cdeathalarm_kit ) cost = 40 containertype = /obj/structure/closet/crate/secure/ward @@ -87,7 +87,7 @@ /datum/supply_pack/med/clotting name = "Clotting Medicine crate" contains = list( - /obj/item/weapon/storage/firstaid/clotting + /obj/item/storage/firstaid/clotting ) cost = 100 containertype = /obj/structure/closet/crate/secure/zenghu @@ -99,9 +99,9 @@ contains = list( /obj/item/clothing/under/rank/medical/scrubs/green = 2, /obj/item/clothing/head/surgery/green = 2, - /obj/item/weapon/storage/box/masks, - /obj/item/weapon/storage/box/gloves, - /obj/item/weapon/storage/belt/medical = 3 + /obj/item/storage/box/masks, + /obj/item/storage/box/gloves, + /obj/item/storage/belt/medical = 3 ) cost = 10 containertype = /obj/structure/closet/crate/veymed @@ -110,9 +110,9 @@ /datum/supply_pack/med/extragear name = "Medical surplus equipment" contains = list( - /obj/item/weapon/storage/belt/medical = 3, + /obj/item/storage/belt/medical = 3, /obj/item/clothing/glasses/hud/health = 3, - /obj/item/device/radio/headset/headset_med/alt = 3, + /obj/item/radio/headset/alt/headset_med = 3, /obj/item/clothing/suit/storage/hooded/wintercoat/medical = 3 ) cost = 10 @@ -123,21 +123,21 @@ /datum/supply_pack/med/cmogear name = "Chief medical officer equipment" contains = list( - /obj/item/weapon/storage/belt/medical, - /obj/item/device/radio/headset/heads/cmo, + /obj/item/storage/belt/medical, + /obj/item/radio/headset/heads/cmo, /obj/item/clothing/under/rank/chief_medical_officer, - /obj/item/weapon/reagent_containers/hypospray/vial, + /obj/item/reagent_containers/hypospray/vial, /obj/item/clothing/accessory/stethoscope, /obj/item/clothing/glasses/hud/health, /obj/item/clothing/suit/storage/toggle/labcoat/cmo, /obj/item/clothing/suit/storage/toggle/labcoat/cmoalt, /obj/item/clothing/mask/surgical, /obj/item/clothing/shoes/white, - /obj/item/weapon/cartridge/cmo, + /obj/item/cartridge/cmo, /obj/item/clothing/gloves/sterile/latex, - /obj/item/device/healthanalyzer, - /obj/item/device/flashlight/pen, - /obj/item/weapon/reagent_containers/syringe + /obj/item/healthanalyzer, + /obj/item/flashlight/pen, + /obj/item/reagent_containers/syringe ) cost = 50 containertype = /obj/structure/closet/crate/secure/nanomed @@ -145,56 +145,56 @@ access = access_cmo /datum/supply_pack/med/doctorgear - name = "Medical Doctor equipment" + name = JOB_MEDICAL_DOCTOR + " equipment" contains = list( - /obj/item/weapon/storage/belt/medical, - /obj/item/device/radio/headset/headset_med, + /obj/item/storage/belt/medical, + /obj/item/radio/headset/headset_med, /obj/item/clothing/under/rank/medical, /obj/item/clothing/accessory/stethoscope, /obj/item/clothing/glasses/hud/health, /obj/item/clothing/suit/storage/toggle/labcoat, /obj/item/clothing/mask/surgical, - /obj/item/weapon/storage/firstaid/adv, + /obj/item/storage/firstaid/adv, /obj/item/clothing/shoes/white, - /obj/item/weapon/cartridge/medical, + /obj/item/cartridge/medical, /obj/item/clothing/gloves/sterile/latex, - /obj/item/device/healthanalyzer, - /obj/item/device/flashlight/pen, - /obj/item/weapon/reagent_containers/syringe + /obj/item/healthanalyzer, + /obj/item/flashlight/pen, + /obj/item/reagent_containers/syringe ) cost = 20 containertype = /obj/structure/closet/crate/secure/nanomed - containername = "Medical Doctor equipment" + containername = JOB_MEDICAL_DOCTOR + " equipment" access = access_medical_equip /datum/supply_pack/med/chemistgear - name = "Chemist equipment" + name = JOB_CHEMIST + " equipment" contains = list( - /obj/item/weapon/storage/box/beakers, - /obj/item/device/radio/headset/headset_med, - /obj/item/weapon/storage/box/autoinjectors, + /obj/item/storage/box/beakers, + /obj/item/radio/headset/headset_med, + /obj/item/storage/box/autoinjectors, /obj/item/clothing/under/rank/chemist, /obj/item/clothing/glasses/science, /obj/item/clothing/suit/storage/toggle/labcoat/chemist, /obj/item/clothing/mask/surgical, /obj/item/clothing/shoes/white, - /obj/item/weapon/cartridge/chemistry, + /obj/item/cartridge/chemistry, /obj/item/clothing/gloves/sterile/latex, - /obj/item/weapon/reagent_containers/dropper, - /obj/item/device/healthanalyzer, - /obj/item/weapon/storage/box/pillbottles, - /obj/item/weapon/reagent_containers/syringe + /obj/item/reagent_containers/dropper, + /obj/item/healthanalyzer, + /obj/item/storage/box/pillbottles, + /obj/item/reagent_containers/syringe ) cost = 20 containertype = /obj/structure/closet/crate/secure/nanomed - containername = "Chemist equipment" + containername = JOB_CHEMIST + " equipment" access = access_chemistry /datum/supply_pack/med/paramedicgear - name = "Paramedic equipment" + name = JOB_PARAMEDIC + " equipment" contains = list( - /obj/item/weapon/storage/belt/medical/emt, - /obj/item/device/radio/headset/headset_med, + /obj/item/storage/belt/medical/emt, + /obj/item/radio/headset/headset_med, /obj/item/clothing/under/rank/medical/scrubs/black, /obj/item/clothing/accessory/armband/medblue, /obj/item/clothing/glasses/hud/health, @@ -204,37 +204,37 @@ /obj/item/clothing/mask/gas, /obj/item/clothing/under/rank/medical/paramedic_alt, /obj/item/clothing/accessory/stethoscope, - /obj/item/weapon/storage/firstaid/adv, + /obj/item/storage/firstaid/adv, /obj/item/clothing/shoes/boots/jackboots, /obj/item/clothing/gloves/sterile/latex, - /obj/item/device/healthanalyzer, - /obj/item/weapon/cartridge/medical, - /obj/item/device/flashlight/pen, - /obj/item/weapon/reagent_containers/syringe, + /obj/item/healthanalyzer, + /obj/item/cartridge/medical, + /obj/item/flashlight/pen, + /obj/item/reagent_containers/syringe, /obj/item/clothing/accessory/storage/white_vest ) cost = 20 containertype = /obj/structure/closet/crate/secure/nanomed - containername = "Paramedic equipment" + containername = JOB_PARAMEDIC + " equipment" access = access_medical_equip /datum/supply_pack/med/psychiatristgear - name = "Psychiatrist equipment" + name = JOB_PSYCHIATRIST + " equipment" contains = list( /obj/item/clothing/under/rank/psych, - /obj/item/device/radio/headset/headset_med, + /obj/item/radio/headset/headset_med, /obj/item/clothing/under/rank/psych/turtleneck, /obj/item/clothing/shoes/laceup, /obj/item/clothing/suit/storage/toggle/labcoat, /obj/item/clothing/shoes/white, - /obj/item/weapon/clipboard, - /obj/item/weapon/folder/white, - /obj/item/weapon/pen, - /obj/item/weapon/cartridge/medical + /obj/item/clipboard, + /obj/item/folder/white, + /obj/item/pen, + /obj/item/cartridge/medical ) cost = 20 containertype = /obj/structure/closet/crate/secure/nanomed - containername = "Psychiatrist equipment" + containername = JOB_PSYCHIATRIST + " equipment" access = access_psychiatrist /datum/supply_pack/med/medicalscrubs @@ -250,8 +250,8 @@ /obj/item/clothing/head/surgery/blue = 3, /obj/item/clothing/head/surgery/green = 3, /obj/item/clothing/head/surgery/black = 3, - /obj/item/weapon/storage/box/masks, - /obj/item/weapon/storage/box/gloves + /obj/item/storage/box/masks, + /obj/item/storage/box/gloves ) cost = 10 containertype = /obj/structure/closet/crate/secure/nanomed @@ -261,14 +261,14 @@ /datum/supply_pack/med/autopsy name = "Autopsy equipment" contains = list( - /obj/item/weapon/folder/white, - /obj/item/device/camera, - /obj/item/device/camera_film = 2, - /obj/item/weapon/autopsy_scanner, - /obj/item/weapon/surgical/scalpel, - /obj/item/weapon/storage/box/masks, - /obj/item/weapon/storage/box/gloves, - /obj/item/weapon/pen + /obj/item/folder/white, + /obj/item/camera, + /obj/item/camera_film = 2, + /obj/item/autopsy_scanner, + /obj/item/surgical/scalpel, + /obj/item/storage/box/masks, + /obj/item/storage/box/gloves, + /obj/item/pen ) cost = 20 containertype = /obj/structure/closet/crate/secure/veymed @@ -294,8 +294,8 @@ /obj/item/clothing/suit/storage/toggle/labcoat/genetics, /obj/item/clothing/suit/storage/toggle/labcoat/virologist, /obj/item/clothing/suit/storage/toggle/labcoat/chemist, - /obj/item/weapon/storage/box/masks, - /obj/item/weapon/storage/box/gloves + /obj/item/storage/box/masks, + /obj/item/storage/box/gloves ) cost = 10 containertype = /obj/structure/closet/crate/secure/nanomed @@ -311,9 +311,9 @@ /obj/item/clothing/suit/bio_suit/cmo, /obj/item/clothing/head/bio_hood/cmo, /obj/item/clothing/mask/gas = 5, - /obj/item/weapon/tank/oxygen = 5, - /obj/item/weapon/storage/box/masks, - /obj/item/weapon/storage/box/gloves + /obj/item/tank/oxygen = 5, + /obj/item/storage/box/masks, + /obj/item/storage/box/gloves ) cost = 50 containertype = /obj/structure/closet/crate/secure/nanomed @@ -322,23 +322,23 @@ /datum/supply_pack/med/portablefreezers name = "Portable freezers crate" - contains = list(/obj/item/weapon/storage/box/freezer = 7) + contains = list(/obj/item/storage/box/freezer = 7) cost = 25 containertype = /obj/structure/closet/crate/secure/veymed containername = "Portable freezers" access = access_medical_equip /datum/supply_pack/med/virus - name = "Virus sample crate" - contains = list(/obj/item/weapon/virusdish/random = 4) + name = "Virus culture crate" + contains = list(/obj/item/reagent_containers/glass/bottle/culture/cold = 1, /obj/item/reagent_containers/glass/bottle/culture/flu = 1) cost = 25 containertype = /obj/structure/closet/crate/secure/zenghu - containername = "Virus sample crate" + containername = "Virus culture crate" access = access_cmo /datum/supply_pack/med/defib name = "Defibrillator crate" - contains = list(/obj/item/device/defib_kit = 2) + contains = list(/obj/item/defib_kit = 2) cost = 30 containertype = /obj/structure/closet/crate/veymed containername = "Defibrillator crate" @@ -388,9 +388,9 @@ /obj/item/clothing/head/bio_hood/cmo, /obj/item/clothing/shoes/white = 7, /obj/item/clothing/mask/gas = 7, - /obj/item/weapon/tank/oxygen = 7, - /obj/item/weapon/storage/box/masks, - /obj/item/weapon/storage/box/gloves + /obj/item/tank/oxygen = 7, + /obj/item/storage/box/masks, + /obj/item/storage/box/gloves ) cost = 40 @@ -400,9 +400,9 @@ /obj/item/clothing/suit/bio_suit/virology = 3, /obj/item/clothing/head/bio_hood/virology = 3, /obj/item/clothing/mask/gas = 3, - /obj/item/weapon/tank/oxygen = 3, - /obj/item/weapon/storage/box/masks, - /obj/item/weapon/storage/box/gloves + /obj/item/tank/oxygen = 3, + /obj/item/storage/box/masks, + /obj/item/storage/box/gloves ) cost = 40 containertype = /obj/structure/closet/crate/secure @@ -410,11 +410,11 @@ access = access_medical_equip /datum/supply_pack/med/virus - name = "Virus sample crate" - contains = list(/obj/item/weapon/virusdish/random = 4) + name = "Virus culture crate" + contains = list(/obj/item/reagent_containers/glass/bottle/culture/cold = 1, /obj/item/reagent_containers/glass/bottle/culture/flu = 1) cost = 25 containertype = /obj/structure/closet/crate/secure - containername = "Virus sample crate" + containername = "Virus culture crate" access = access_medical_equip @@ -423,7 +423,7 @@ /datum/supply_pack/med/compactdefib name = "Compact Defibrillator crate" - contains = list(/obj/item/device/defib_kit/compact = 1) + contains = list(/obj/item/defib_kit/compact = 1) cost = 90 containertype = /obj/structure/closet/crate/secure containername = "Compact Defibrillator crate" diff --git a/code/datums/supplypacks/misc.dm b/code/datums/supplypacks/misc.dm index ac5c7f5fb9c..a7a1ba13b40 100644 --- a/code/datums/supplypacks/misc.dm +++ b/code/datums/supplypacks/misc.dm @@ -14,9 +14,9 @@ /datum/supply_pack/randomised/misc/card_packs num_contained = 5 contains = list( - /obj/item/weapon/pack/cardemon, - /obj/item/weapon/pack/spaceball, - /obj/item/weapon/deck/holder + /obj/item/pack/cardemon, + /obj/item/pack/spaceball, + /obj/item/deck/holder ) name = "Trading Card Crate" cost = 10 @@ -80,6 +80,7 @@ /obj/item/toy/plushie/slimeplushie, /obj/item/toy/plushie/box, /obj/item/toy/plushie/borgplushie, + /obj/item/toy/plushie/borgplushie/drake/eng, /obj/item/toy/plushie/borgplushie/medihound, /obj/item/toy/plushie/borgplushie/scrubpuppy, /obj/item/toy/plushie/foxbear, @@ -100,14 +101,14 @@ containername = "Plushies Crate" /datum/supply_pack/misc/eftpos - contains = list(/obj/item/device/eftpos) + contains = list(/obj/item/eftpos) name = "EFTPOS scanner" cost = 10 containertype = /obj/structure/closet/crate/nanotrasen containername = "EFTPOS crate" /datum/supply_pack/misc/chaplaingear - name = "Chaplain equipment" + name = JOB_CHAPLAIN + " equipment" contains = list( /obj/item/clothing/under/rank/chaplain, /obj/item/clothing/shoes/black, @@ -117,12 +118,12 @@ /obj/item/clothing/suit/storage/hooded/chaplain_hoodie/whiteout, /obj/item/clothing/suit/holidaypriest, /obj/item/clothing/under/wedding/bride_white, - /obj/item/weapon/storage/backpack/cultpack, - /obj/item/weapon/storage/fancy/candle_box = 3 + /obj/item/storage/backpack/cultpack, + /obj/item/storage/fancy/candle_box = 3 ) cost = 10 containertype = /obj/structure/closet/crate/gilthari - containername = "Chaplain equipment crate" + containername = JOB_CHAPLAIN + " equipment crate" /datum/supply_pack/misc/hoverpod name = "Hoverpod Shipment" @@ -157,7 +158,7 @@ /datum/supply_pack/misc/glucose_hypos name = "Glucose Hypoinjectors" contains = list( - /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/glucose = 5 + /obj/item/reagent_containers/hypospray/autoinjector/biginjector/glucose = 5 ) cost = 25 containertype = /obj/structure/closet/crate/zenghu @@ -166,16 +167,16 @@ /datum/supply_pack/misc/mre_rations num_contained = 6 name = "Emergency - MREs" - contains = list(/obj/item/weapon/storage/mre, - /obj/item/weapon/storage/mre/menu2, - /obj/item/weapon/storage/mre/menu3, - /obj/item/weapon/storage/mre/menu4, - /obj/item/weapon/storage/mre/menu5, - /obj/item/weapon/storage/mre/menu6, - /obj/item/weapon/storage/mre/menu7, - /obj/item/weapon/storage/mre/menu8, - /obj/item/weapon/storage/mre/menu9, - /obj/item/weapon/storage/mre/menu10) + contains = list(/obj/item/storage/mre, + /obj/item/storage/mre/menu2, + /obj/item/storage/mre/menu3, + /obj/item/storage/mre/menu4, + /obj/item/storage/mre/menu5, + /obj/item/storage/mre/menu6, + /obj/item/storage/mre/menu7, + /obj/item/storage/mre/menu8, + /obj/item/storage/mre/menu9, + /obj/item/storage/mre/menu10) cost = 50 containertype = /obj/structure/closet/crate/centauri containername = "ready to eat rations" @@ -183,7 +184,7 @@ /datum/supply_pack/misc/paste_rations name = "Emergency - Paste" contains = list( - /obj/item/weapon/storage/mre/menu11 = 2 + /obj/item/storage/mre/menu11 = 2 ) cost = 25 containertype = /obj/structure/closet/crate/freezer/centauri @@ -192,7 +193,7 @@ /datum/supply_pack/misc/medical_rations name = "Emergency - VitaPaste" contains = list( - /obj/item/weapon/storage/mre/menu13 = 2 + /obj/item/storage/mre/menu13 = 2 ) cost = 40 containertype = /obj/structure/closet/crate/zenghu @@ -210,12 +211,12 @@ /datum/supply_pack/misc/beltminer name = "Belt-miner gear crate" contains = list( - /obj/item/weapon/gun/energy/particle = 2, - /obj/item/weapon/cell/device/weapon = 2, - /obj/item/weapon/storage/firstaid/regular = 1, - /obj/item/device/gps = 2, - /obj/item/weapon/storage/box/traumainjectors = 1, - /obj/item/device/binoculars = 1 + /obj/item/gun/energy/particle = 2, + /obj/item/cell/device/weapon = 2, + /obj/item/storage/firstaid/regular = 1, + /obj/item/gps = 2, + /obj/item/storage/box/traumainjectors = 1, + /obj/item/binoculars = 1 ) cost = 60 containertype = /obj/structure/closet/crate/secure/gear @@ -227,7 +228,7 @@ /datum/supply_pack/misc/jetpack name = "jetpack (empty)" contains = list( - /obj/item/weapon/tank/jetpack = 1 + /obj/item/tank/jetpack = 1 ) cost = 75 containertype = /obj/structure/closet/crate/secure/gear @@ -239,11 +240,11 @@ one_access = TRUE /datum/supply_pack/randomised/misc/explorer_shield - name = "Away Team shield" + name = JOB_EXPLORER + " shield" num_contained = 2 contains = list( - /obj/item/weapon/shield/riot/explorer, - /obj/item/weapon/shield/riot/explorer/purple + /obj/item/shield/riot/explorer, + /obj/item/shield/riot/explorer/purple ) cost = 75 containertype = /obj/structure/closet/crate/secure/gear @@ -255,7 +256,7 @@ /datum/supply_pack/misc/music_players name = "music players (3)" contains = list( - /obj/item/device/walkpod = 3 + /obj/item/walkpod = 3 ) cost = 150 containertype = /obj/structure/closet/crate @@ -264,7 +265,7 @@ /datum/supply_pack/misc/juke_remotes name = "jukebox remote speakers (2)" contains = list( - /obj/item/device/juke_remote = 2 + /obj/item/juke_remote = 2 ) cost = 300 containertype = /obj/structure/closet/crate @@ -273,7 +274,7 @@ /datum/supply_pack/misc/explorer_headsets name = "shortwave-capable headsets (x4)" contains = list( - /obj/item/device/radio/headset/explorer = 4 + /obj/item/radio/headset/explorer = 4 ) cost = 20 containertype = /obj/structure/closet/crate/secure/gear @@ -288,7 +289,7 @@ /datum/supply_pack/misc/emergency_beacons name = "emergency locator beacons (x4)" contains = list( - /obj/item/device/emergency_beacon = 4 + /obj/item/emergency_beacon = 4 ) cost = 20 containertype = /obj/structure/closet/crate diff --git a/code/datums/supplypacks/misc_yw.dm b/code/datums/supplypacks/misc_yw.dm index 6a5e26f1d0c..d3e54de2888 100644 --- a/code/datums/supplypacks/misc_yw.dm +++ b/code/datums/supplypacks/misc_yw.dm @@ -13,7 +13,7 @@ containertype = /obj/structure/closet/crate/secure/weapon containername = "Blueshield equipment" access = access_blueshield_exclusive - + /datum/supply_pack/misc/blueshieldweapons name = "Blueshield Weapon Kits" contains = list( @@ -28,8 +28,8 @@ /datum/supply_pack/misc/bluespaceradioyw name = "Bluespace Radio Packs" contains = list( - /obj/item/device/bluespaceradio/cryogaia_prelinked = 2 + /obj/item/bluespaceradio/cryogaia_prelinked = 2 ) cost = 75 containertype = /obj/structure/closet/crate - containername = "Bluespace Radio Packs" \ No newline at end of file + containername = "Bluespace Radio Packs" diff --git a/code/datums/supplypacks/munitions.dm b/code/datums/supplypacks/munitions.dm index e6f3c7b3124..44f74d1c54d 100644 --- a/code/datums/supplypacks/munitions.dm +++ b/code/datums/supplypacks/munitions.dm @@ -12,12 +12,12 @@ /datum/supply_pack/munitions/weapons name = "Weapons - Security basic equipment" contains = list( - /obj/item/device/flash = 2, - /obj/item/weapon/reagent_containers/spray/pepper = 2, - /obj/item/weapon/melee/baton/loaded = 2, - /obj/item/weapon/gun/energy/taser = 2, - /obj/item/weapon/gun/projectile/colt/detective = 2, - /obj/item/weapon/storage/box/flashbangs = 2 + /obj/item/flash = 2, + /obj/item/reagent_containers/spray/pepper = 2, + /obj/item/melee/baton/loaded = 2, + /obj/item/gun/energy/taser = 2, + /obj/item/gun/projectile/colt/detective = 2, + /obj/item/storage/box/flashbangs = 2 ) cost = 40 containertype = /obj/structure/closet/crate/secure/lawson @@ -26,7 +26,7 @@ /datum/supply_pack/munitions/egunpistol name = "Weapons - Energy sidearms" - contains = list(/obj/item/weapon/gun/energy/gun = 2) + contains = list(/obj/item/gun/energy/gun = 2) cost = 40 containertype = /obj/structure/closet/crate/secure/lawson containername = "Energy sidearms crate" @@ -35,9 +35,9 @@ /datum/supply_pack/munitions/flareguns name = "Weapons - Flare guns" contains = list( - /obj/item/weapon/gun/projectile/sec/flash, + /obj/item/gun/projectile/sec/flash, /obj/item/ammo_magazine/m45/flash, - /obj/item/weapon/gun/projectile/shotgun/doublebarrel/flare, + /obj/item/gun/projectile/shotgun/doublebarrel/flare, /obj/item/ammo_magazine/ammo_box/b12g/flash ) cost = 25 @@ -48,8 +48,8 @@ /datum/supply_pack/munitions/eweapons name = "Weapons - Experimental weapons crate" contains = list( - /obj/item/weapon/gun/energy/xray = 2, - /obj/item/weapon/shield/energy = 2) + /obj/item/gun/energy/xray = 2, + /obj/item/shield/energy = 2) cost = 100 containertype = /obj/structure/closet/crate/secure/science containername = "Experimental weapons crate" @@ -57,7 +57,7 @@ /datum/supply_pack/munitions/energyweapons name = "Weapons - Laser rifle crate" - contains = list(/obj/item/weapon/gun/energy/laser = 2) //VOREStation Edit - Made to be consistent with the energy guns crate. + contains = list(/obj/item/gun/energy/laser = 2) //VOREStation Edit - Made to be consistent with the energy guns crate. cost = 50 containertype = /obj/structure/closet/crate/secure/heph containername = "Energy weapons crate" @@ -68,7 +68,7 @@ contains = list( /obj/item/ammo_magazine/ammo_box/b12g, /obj/item/ammo_magazine/ammo_box/b12g/pellet, - /obj/item/weapon/gun/projectile/shotgun/pump/combat = 2 + /obj/item/gun/projectile/shotgun/pump/combat = 2 ) cost = 50 containertype = /obj/structure/closet/crate/secure/weapon @@ -81,7 +81,7 @@ contains = list( /obj/item/ammo_magazine/ammo_box/b12g, /obj/item/ammo_magazine/ammo_box/b12g/pellet, - /obj/item/weapon/gun/projectile/shotgun/semi = 2 + /obj/item/gun/projectile/shotgun/semi = 2 ) cost = 100 containertype = /obj/structure/closet/crate/secure/weapon @@ -90,7 +90,7 @@ /datum/supply_pack/munitions/erifle name = "Weapons - Energy marksman" - contains = list(/obj/item/weapon/gun/energy/sniperrifle = 2) + contains = list(/obj/item/gun/energy/sniperrifle = 2) cost = 100 containertype = /obj/structure/closet/crate/secure/heph containername = "Energy marksman crate" @@ -98,7 +98,7 @@ /datum/supply_pack/munitions/burstlaser name = "Weapons - Burst laser" - contains = list(/obj/item/weapon/gun/energy/gun/burst = 2) + contains = list(/obj/item/gun/energy/gun/burst = 2) cost = 50 containertype = /obj/structure/closet/crate/secure/lawson containername = "Burst laser crate" @@ -107,8 +107,8 @@ /datum/supply_pack/munitions/ionweapons name = "Weapons - Electromagnetic Rifles" contains = list( - /obj/item/weapon/gun/energy/ionrifle = 2, - /obj/item/weapon/storage/box/empslite + /obj/item/gun/energy/ionrifle = 2, + /obj/item/storage/box/empslite ) cost = 50 containertype = /obj/structure/closet/crate/secure/ward @@ -118,8 +118,8 @@ /datum/supply_pack/munitions/ionpistols name = "Weapons - Electromagnetic pistols" contains = list( - /obj/item/weapon/gun/energy/ionrifle/pistol = 2, - /obj/item/weapon/storage/box/empslite + /obj/item/gun/energy/ionrifle/pistol = 2, + /obj/item/storage/box/empslite ) cost = 30 containertype = /obj/structure/closet/crate/secure/ward @@ -128,7 +128,7 @@ /datum/supply_pack/munitions/bsmg name = "Weapons - Ballistic SMGs" - contains = list(/obj/item/weapon/gun/projectile/automatic/wt550 = 2) + contains = list(/obj/item/gun/projectile/automatic/wt550 = 2) cost = 50 containertype = /obj/structure/closet/crate/secure/ward containername = "Ballistic weapon crate" @@ -136,7 +136,7 @@ /datum/supply_pack/munitions/brifle name = "Weapons - Ballistic Rifles" - contains = list(/obj/item/weapon/gun/projectile/automatic/z8 = 2) + contains = list(/obj/item/gun/projectile/automatic/z8 = 2) cost = 80 containertype = /obj/structure/closet/crate/secure/weapon containername = "Ballistic weapon crate" @@ -145,7 +145,7 @@ /datum/supply_pack/munitions/bolt_rifles_lethal name = "Weapons - Bolt-Action Rifles" contains = list( - /obj/item/weapon/gun/projectile/shotgun/pump/rifle = 2, + /obj/item/gun/projectile/shotgun/pump/rifle = 2, /obj/item/ammo_magazine/ammo_box/b762 = 4, ) cost = 60 @@ -156,8 +156,8 @@ /datum/supply_pack/munitions/bolt_rifles_competitive name = "Weapons - Competitive shooting rifles" contains = list( - /obj/item/device/assembly/timer, - /obj/item/weapon/gun/projectile/shotgun/pump/rifle/practice = 2, + /obj/item/assembly/timer, + /obj/item/gun/projectile/shotgun/pump/rifle/practice = 2, /obj/item/ammo_magazine/clip/c762/practice = 4, /obj/item/target = 2, /obj/item/target/alien = 2, @@ -171,7 +171,7 @@ /datum/supply_pack/munitions/caseless name = "Weapons - Prototype Caseless Rifle" contains = list( - /obj/item/weapon/gun/projectile/caseless/prototype, + /obj/item/gun/projectile/caseless/prototype, /obj/item/ammo_magazine/m5mmcaseless = 3 ) cost = 60 @@ -181,7 +181,7 @@ /datum/supply_pack/munitions/mrifle name = "Weapons - Magnetic Rifles" - contains = list(/obj/item/weapon/gun/magnetic/railgun/heater = 2) + contains = list(/obj/item/gun/magnetic/railgun/heater = 2) cost = 120 containertype = /obj/structure/closet/crate/secure/heph containername = "Magnetic weapon crate" @@ -189,7 +189,7 @@ /datum/supply_pack/munitions/mpistol name = "Weapons - Magnetic Pistols" - contains = list(/obj/item/weapon/gun/magnetic/railgun/heater/pistol = 2) + contains = list(/obj/item/gun/magnetic/railgun/heater/pistol = 2) cost = 200 containertype = /obj/structure/closet/crate/secure/heph containername = "Magnetic weapon crate" @@ -197,7 +197,7 @@ /datum/supply_pack/munitions/mcarbine name = "Weapons - Magnetic Carbines" - contains = list(/obj/item/weapon/gun/magnetic/railgun/flechette/sif = 2) + contains = list(/obj/item/gun/magnetic/railgun/flechette/sif = 2) cost = 130 containertype = /obj/structure/closet/crate/secure/lawson containername = "Magnetic weapon crate" @@ -205,7 +205,7 @@ /datum/supply_pack/munitions/mshells name = "Weapons - Magnetic Shells" - contains = list(/obj/item/weapon/magnetic_ammo = 3) + contains = list(/obj/item/magnetic_ammo = 3) cost = 100 containertype = /obj/structure/closet/crate/secure/weapon containername = "Magnetic ammunition crate" @@ -213,7 +213,7 @@ /datum/supply_pack/munitions/claymore name = "Weapons - Melee - Claymores" - contains = list(/obj/item/weapon/material/sword = 2) + contains = list(/obj/item/material/sword = 2) cost = 150 containertype = /obj/structure/closet/crate/secure/weapon containername = "Claymore crate" @@ -264,7 +264,7 @@ /datum/supply_pack/munitions/pcellammo name = "Ammunition - Power cell" - contains = list(/obj/item/weapon/cell/device/weapon = 3) + contains = list(/obj/item/cell/device/weapon = 3) cost = 50 containertype = /obj/structure/closet/crate/secure/weapon containername = "Energy ammunition crate" @@ -274,8 +274,8 @@ /datum/supply_pack/munitions/expeditionguns name = "Frontier phaser (station-locked) crate" contains = list( - /obj/item/weapon/gun/energy/locked/frontier = 2, - /obj/item/weapon/gun/energy/locked/frontier/holdout = 2, + /obj/item/gun/energy/locked/frontier = 2, + /obj/item/gun/energy/locked/frontier/holdout = 2, ) cost = 35 containertype = /obj/structure/closet/crate/secure @@ -285,7 +285,7 @@ /datum/supply_pack/munitions/expeditionbows name = "Frontier bows (station-locked) crate" contains = list( - /obj/item/weapon/gun/energy/locked/frontier/handbow=2 + /obj/item/gun/energy/locked/frontier/handbow=2 ) cost = 20 containertype = /obj/structure/closet/crate/secure @@ -336,7 +336,7 @@ /datum/supply_pack/munitions/longsword name = "Weapons - Melee -Longsword (Steel)" contains = list( - /obj/item/weapon/material/twohanded/longsword=2 + /obj/item/material/twohanded/longsword=2 ) cost = 50 containertype = /obj/structure/closet/crate/secure @@ -348,12 +348,12 @@ name = "Revolver Crate" num_contained = 2 contains = list( - /obj/item/weapon/gun/projectile/revolver/cerberus, - /obj/item/weapon/gun/projectile/revolver/nova, - /obj/item/weapon/gun/projectile/revolver/detective, - /obj/item/weapon/gun/projectile/revolver/deckard, - /obj/item/weapon/gun/projectile/revolver/mateba, - /obj/item/weapon/gun/projectile/derringer + /obj/item/gun/projectile/revolver/cerberus, + /obj/item/gun/projectile/revolver/nova, + /obj/item/gun/projectile/revolver/detective, + /obj/item/gun/projectile/revolver/deckard, + /obj/item/gun/projectile/revolver/mateba, + /obj/item/gun/projectile/derringer ) cost = 150 containertype = /obj/structure/closet/crate/secure @@ -364,9 +364,9 @@ name = "Assault rifle crate" num_contained = 2 contains = list( - /obj/item/weapon/gun/projectile/automatic/tommygun, - /obj/item/weapon/gun/projectile/automatic/c20r, - /obj/item/weapon/gun/projectile/automatic/sts35 + /obj/item/gun/projectile/automatic/tommygun, + /obj/item/gun/projectile/automatic/c20r, + /obj/item/gun/projectile/automatic/sts35 ) cost = 250 containertype = /obj/structure/closet/crate/secure @@ -377,8 +377,8 @@ name = "Smg crate" num_contained = 2 contains = list( - /obj/item/weapon/gun/projectile/automatic/c20r, - /obj/item/weapon/gun/projectile/automatic/pdw + /obj/item/gun/projectile/automatic/c20r, + /obj/item/gun/projectile/automatic/pdw ) cost = 100 containertype = /obj/structure/closet/crate/secure @@ -387,7 +387,7 @@ /datum/supply_pack/munitions/munitions/yw_mg name = "Light machine gun crate" - contains = list(/obj/item/weapon/gun/projectile/automatic/l6_saw = 1) + contains = list(/obj/item/gun/projectile/automatic/l6_saw = 1) cost = 500 containertype = /obj/structure/closet/crate/secure containername = "Light machine gun crate" diff --git a/code/datums/supplypacks/recreation.dm b/code/datums/supplypacks/recreation.dm index 3b274ff17fb..ab7f37da80b 100644 --- a/code/datums/supplypacks/recreation.dm +++ b/code/datums/supplypacks/recreation.dm @@ -14,10 +14,10 @@ /datum/supply_pack/recreation/foam_weapons name = "Foam Weapon Crate" contains = list( - /obj/item/weapon/material/sword/foam = 2, - /obj/item/weapon/material/twohanded/baseballbat/foam = 2, - /obj/item/weapon/material/twohanded/spear/foam = 2, - /obj/item/weapon/material/twohanded/fireaxe/foam = 2 + /obj/item/material/sword/foam = 2, + /obj/item/material/twohanded/baseballbat/foam = 2, + /obj/item/material/twohanded/spear/foam = 2, + /obj/item/material/twohanded/fireaxe/foam = 2 ) cost = 50 containertype = /obj/structure/closet/crate/allico @@ -27,8 +27,8 @@ name = "Donk-Soft Weapon Crate" contains = list( /obj/item/ammo_magazine/ammo_box/foam = 2, - /obj/item/weapon/gun/projectile/shotgun/pump/toy = 2, - /obj/item/weapon/gun/projectile/pistol/toy = 2, + /obj/item/gun/projectile/shotgun/pump/toy = 2, + /obj/item/gun/projectile/pistol/toy = 2, /obj/item/ammo_magazine/mfoam_dart/pistol = 2 ) cost = 50 @@ -54,9 +54,9 @@ /datum/supply_pack/recreation/lasertag name = "Lasertag equipment" contains = list( - /obj/item/weapon/gun/energy/lasertag/red, + /obj/item/gun/energy/lasertag/red, /obj/item/clothing/suit/redtag, - /obj/item/weapon/gun/energy/lasertag/blue, + /obj/item/gun/energy/lasertag/blue, /obj/item/clothing/suit/bluetag ) containertype = /obj/structure/closet/crate/ward @@ -66,14 +66,14 @@ /datum/supply_pack/recreation/artscrafts name = "Arts and Crafts supplies" contains = list( - /obj/item/weapon/storage/fancy/crayons, - /obj/item/weapon/storage/fancy/markers, - /obj/item/device/camera, - /obj/item/device/camera_film = 2, - /obj/item/weapon/storage/photo_album, - /obj/item/weapon/packageWrap, + /obj/item/storage/fancy/crayons, + /obj/item/storage/fancy/markers, + /obj/item/camera, + /obj/item/camera_film = 2, + /obj/item/storage/photo_album, + /obj/item/packageWrap, /obj/item/poster/custom, - /obj/item/weapon/wrapping_paper = 3, + /obj/item/wrapping_paper = 3, /obj/structure/easel, /obj/item/paint_brush, /obj/item/paint_palette, @@ -93,19 +93,19 @@ containername = "station painting supplies crate" containertype = /obj/structure/closet/crate/grayson contains = list( - /obj/item/device/pipe_painter = 2, - /obj/item/device/floor_painter = 2, - /obj/item/weapon/reagent_containers/glass/paint/red, - /obj/item/weapon/reagent_containers/glass/paint/green, - /obj/item/weapon/reagent_containers/glass/paint/blue, - /obj/item/weapon/reagent_containers/glass/paint/yellow, - /obj/item/weapon/reagent_containers/glass/paint/violet, - /obj/item/weapon/reagent_containers/glass/paint/cyan, - /obj/item/weapon/reagent_containers/glass/paint/orange, - /obj/item/weapon/reagent_containers/glass/paint/purple, - /obj/item/weapon/reagent_containers/glass/paint/grey, - /obj/item/weapon/reagent_containers/glass/paint/black, - /obj/item/weapon/reagent_containers/glass/paint/white = 3 + /obj/item/pipe_painter = 2, + /obj/item/floor_painter = 2, + /obj/item/reagent_containers/glass/paint/red, + /obj/item/reagent_containers/glass/paint/green, + /obj/item/reagent_containers/glass/paint/blue, + /obj/item/reagent_containers/glass/paint/yellow, + /obj/item/reagent_containers/glass/paint/violet, + /obj/item/reagent_containers/glass/paint/cyan, + /obj/item/reagent_containers/glass/paint/orange, + /obj/item/reagent_containers/glass/paint/purple, + /obj/item/reagent_containers/glass/paint/grey, + /obj/item/reagent_containers/glass/paint/black, + /obj/item/reagent_containers/glass/paint/white = 3 ) /datum/supply_pack/recreation/cheapbait @@ -114,7 +114,7 @@ containername = "cheap bait crate" containertype = /obj/structure/closet/crate/freezer contains = list( - /obj/item/weapon/storage/box/wormcan/sickly = 5 + /obj/item/storage/box/wormcan/sickly = 5 ) /datum/supply_pack/randomised/recreation/cheapbait @@ -124,8 +124,8 @@ containertype = /obj/structure/closet/crate/carp num_contained = 8 contains = list( - /obj/item/weapon/storage/box/wormcan, - /obj/item/weapon/storage/box/wormcan/deluxe + /obj/item/storage/box/wormcan, + /obj/item/storage/box/wormcan/deluxe ) /datum/supply_pack/recreation/ltagturrets @@ -144,7 +144,7 @@ containername = "monster bait crate" containertype = /obj/structure/closet/crate/allico contains = list( - /obj/item/weapon/toy/monster_bait + /obj/item/toy/monster_bait ) /* @@ -162,14 +162,14 @@ contains = list( /obj/item/clothing/mask/muzzle, /obj/item/clothing/glasses/sunglasses/blindfold, - /obj/item/weapon/handcuffs/fuzzy, - /obj/item/weapon/tape_roll, + /obj/item/handcuffs/fuzzy, + /obj/item/tape_roll, /obj/item/stack/cable_coil/random, /obj/item/clothing/accessory/collar/shock, /obj/item/clothing/suit/straight_jacket, - /obj/item/weapon/handcuffs/legcuffs/fuzzy, - /obj/item/weapon/melee/fluff/holochain/mass, - /obj/item/weapon/material/twohanded/riding_crop, + /obj/item/handcuffs/legcuffs/fuzzy, + /obj/item/melee/fluff/holochain/mass, + /obj/item/material/twohanded/riding_crop, /obj/item/clothing/under/fluff/latexmaid ) containertype = /obj/structure/closet/crate @@ -182,8 +182,8 @@ /obj/item/clothing/head/fluff/wolfgirl = 1, /obj/item/clothing/shoes/fluff/wolfgirl = 1, /obj/item/clothing/under/fluff/wolfgirl = 1, - /obj/item/weapon/melee/fluffstuff/wolfgirlsword = 1, - /obj/item/weapon/shield/fluff/wolfgirlshield = 1 + /obj/item/melee/fluffstuff/wolfgirlsword = 1, + /obj/item/shield/fluff/wolfgirlshield = 1 ) cost = 50 containertype = /obj/structure/closet/crate @@ -240,7 +240,7 @@ /datum/supply_pack/recreation/smoleworld name = "Smole Bulding Bricks" contains = list( - /obj/item/weapon/storage/smolebrickcase, /obj/item/weapon/storage/smolebrickcase, + /obj/item/storage/smolebrickcase, /obj/item/storage/smolebrickcase, ) cost = 50 containertype = /obj/structure/closet/crate @@ -250,7 +250,7 @@ name = "Snack planets pack" num_contained = 4 contains = list( - /obj/item/weapon/storage/bagoplanets, /obj/item/weapon/storage/bagoplanets + /obj/item/storage/bagoplanets, /obj/item/storage/bagoplanets ) cost = 25 containertype = /obj/structure/closet/crate @@ -259,7 +259,7 @@ /datum/supply_pack/recreation/pinkpillows name = "Pillow Crate - Pink" contains = list( - /obj/item/weapon/bedsheet/pillow = 6 + /obj/item/bedsheet/pillow = 6 ) cost = 10 containertype = /obj/structure/closet/crate @@ -267,7 +267,7 @@ /datum/supply_pack/recreation/tealpillows name = "Pillow Crate - Teal" contains = list( - /obj/item/weapon/bedsheet/pillow/teal = 6 + /obj/item/bedsheet/pillow/teal = 6 ) cost = 10 containertype = /obj/structure/closet/crate @@ -275,7 +275,7 @@ /datum/supply_pack/recreation/whitepillows name = "Pillow Crate - White" contains = list( - /obj/item/weapon/bedsheet/pillow/white = 6 + /obj/item/bedsheet/pillow/white = 6 ) cost = 10 containertype = /obj/structure/closet/crate @@ -283,7 +283,7 @@ /datum/supply_pack/recreation/blackpillows name = "Pillow Crate - Black" contains = list( - /obj/item/weapon/bedsheet/pillow/black = 6 + /obj/item/bedsheet/pillow/black = 6 ) cost = 10 containertype = /obj/structure/closet/crate @@ -291,7 +291,7 @@ /datum/supply_pack/recreation/redpillows name = "Pillow Crate - Red" contains = list( - /obj/item/weapon/bedsheet/pillow/red = 6 + /obj/item/bedsheet/pillow/red = 6 ) cost = 10 containertype = /obj/structure/closet/crate @@ -299,7 +299,7 @@ /datum/supply_pack/recreation/greenpillows name = "Pillow Crate - Green" contains = list( - /obj/item/weapon/bedsheet/pillow/green = 6 + /obj/item/bedsheet/pillow/green = 6 ) cost = 10 containertype = /obj/structure/closet/crate @@ -307,7 +307,7 @@ /datum/supply_pack/recreation/orangepillows name = "Pillow Crate - Orange" contains = list( - /obj/item/weapon/bedsheet/pillow/orange = 6 + /obj/item/bedsheet/pillow/orange = 6 ) cost = 10 containertype = /obj/structure/closet/crate @@ -315,7 +315,7 @@ /datum/supply_pack/recreation/yellowpillows name = "Pillow Crate - Yellow" contains = list( - /obj/item/weapon/bedsheet/pillow/yellow = 6 + /obj/item/bedsheet/pillow/yellow = 6 ) cost = 10 containertype = /obj/structure/closet/crate diff --git a/code/datums/supplypacks/robotics.dm b/code/datums/supplypacks/robotics.dm index a5fec8e2bb1..900d56d5f6e 100644 --- a/code/datums/supplypacks/robotics.dm +++ b/code/datums/supplypacks/robotics.dm @@ -14,10 +14,10 @@ /datum/supply_pack/robotics/robotics_assembly name = "Robotics assembly crate" contains = list( - /obj/item/device/assembly/prox_sensor = 3, - /obj/item/weapon/storage/toolbox/electrical, - /obj/item/device/flash = 4, - /obj/item/weapon/cell/high = 2 + /obj/item/assembly/prox_sensor = 3, + /obj/item/storage/toolbox/electrical, + /obj/item/flash = 4, + /obj/item/cell/high = 2 ) cost = 10 containertype = /obj/structure/closet/crate/secure/nanotrasen @@ -27,8 +27,8 @@ /*/datum/supply_pack/robotics/robolimbs_basic name = "Basic robolimb blueprints" contains = list( - /obj/item/weapon/disk/limb/morpheus, - /obj/item/weapon/disk/limb/xion + /obj/item/disk/limb/morpheus, + /obj/item/disk/limb/xion ) cost = 15 containertype = /obj/structure/closet/crate/secure/gear @@ -38,13 +38,13 @@ /datum/supply_pack/robotics/robolimbs_adv name = "All robolimb blueprints" contains = list( - /obj/item/weapon/disk/limb/bishop, - /obj/item/weapon/disk/limb/hephaestus, - /obj/item/weapon/disk/limb/morpheus, - /obj/item/weapon/disk/limb/veymed, - /obj/item/weapon/disk/limb/wardtakahashi, - /obj/item/weapon/disk/limb/xion, - /obj/item/weapon/disk/limb/zenghu, + /obj/item/disk/limb/bishop, + /obj/item/disk/limb/hephaestus, + /obj/item/disk/limb/morpheus, + /obj/item/disk/limb/veymed, + /obj/item/disk/limb/wardtakahashi, + /obj/item/disk/limb/xion, + /obj/item/disk/limb/zenghu, ) cost = 40 containertype = /obj/structure/closet/crate/secure/gear @@ -54,7 +54,7 @@ /datum/supply_pack/robotics/robolimbs/morpheus name = "Morpheus robolimb blueprints" - contains = list(/obj/item/weapon/disk/limb/morpheus) + contains = list(/obj/item/disk/limb/morpheus) cost = 20 containertype = /obj/structure/closet/crate/secure/morpheus containername = "Robolimb blueprints (Morpheus)" @@ -62,7 +62,7 @@ /datum/supply_pack/robotics/robolimbs/cybersolutions name = "Cyber Solutions robolimb blueprints" - contains = list(/obj/item/weapon/disk/limb/cybersolutions) + contains = list(/obj/item/disk/limb/cybersolutions) cost = 20 containertype = /obj/structure/closet/crate/secure/cybersolutions containername = "Robolimb blueprints (Cyber Solutions)" @@ -70,7 +70,7 @@ /datum/supply_pack/robotics/robolimbs/xion name = "Xion robolimb blueprints" - contains = list(/obj/item/weapon/disk/limb/xion) + contains = list(/obj/item/disk/limb/xion) cost = 20 containertype = /obj/structure/closet/crate/secure/xion containername = "Robolimb blueprints (Xion)" @@ -78,7 +78,7 @@ /datum/supply_pack/robotics/robolimbs/grayson name = "Grayson robolimb blueprints" - contains = list(/obj/item/weapon/disk/limb/grayson) + contains = list(/obj/item/disk/limb/grayson) cost = 30 containertype = /obj/structure/closet/crate/secure/grayson containername = "Robolimb blueprints (Grayson)" @@ -86,7 +86,7 @@ /datum/supply_pack/robotics/robolimbs/hephaestus name = "Hephaestus robolimb blueprints" - contains = list(/obj/item/weapon/disk/limb/hephaestus) + contains = list(/obj/item/disk/limb/hephaestus) cost = 35 containertype = /obj/structure/closet/crate/secure/heph containername = "Robolimb blueprints (Hephaestus)" @@ -94,7 +94,7 @@ /datum/supply_pack/robotics/robolimbs/wardtakahashi name = "Ward-Takahashi robolimb blueprints" - contains = list(/obj/item/weapon/disk/limb/wardtakahashi) + contains = list(/obj/item/disk/limb/wardtakahashi) cost = 35 containertype = /obj/structure/closet/crate/secure/ward containername = "Robolimb blueprints (Ward-Takahashi)" @@ -102,7 +102,7 @@ /datum/supply_pack/robotics/robolimbs/zenghu name = "Zeng Hu robolimb blueprints" - contains = list(/obj/item/weapon/disk/limb/zenghu) + contains = list(/obj/item/disk/limb/zenghu) cost = 35 containertype = /obj/structure/closet/crate/secure/zenghu containername = "Robolimb blueprints (Zeng Hu)" @@ -110,7 +110,7 @@ /datum/supply_pack/robotics/robolimbs/bishop name = "Bishop robolimb blueprints" - contains = list(/obj/item/weapon/disk/limb/bishop) + contains = list(/obj/item/disk/limb/bishop) cost = 70 containertype = /obj/structure/closet/crate/secure/bishop containername = "Robolimb blueprints (Bishop)" @@ -118,7 +118,7 @@ /datum/supply_pack/robotics/robolimbs/cenilimicybernetics name = "Cenilimi Cybernetics robolimb blueprints" - contains = list(/obj/item/weapon/disk/limb/cenilimicybernetics) + contains = list(/obj/item/disk/limb/cenilimicybernetics) cost = 45 containertype = /obj/structure/closet/crate/secure/science containername = "Robolimb blueprints (Cenilimi Cybernetics)" @@ -128,9 +128,9 @@ /datum/supply_pack/robotics/mecha_ripley name = "Circuit Crate (\"Ripley\" APLU)" contains = list( - /obj/item/weapon/book/manual/ripley_build_and_repair, - /obj/item/weapon/circuitboard/mecha/ripley/main, - /obj/item/weapon/circuitboard/mecha/ripley/peripherals + /obj/item/book/manual/ripley_build_and_repair, + /obj/item/circuitboard/mecha/ripley/main, + /obj/item/circuitboard/mecha/ripley/peripherals ) cost = 25 containertype = /obj/structure/closet/crate/secure/xion @@ -140,8 +140,8 @@ /datum/supply_pack/robotics/mecha_odysseus name = "Circuit Crate (\"Odysseus\")" contains = list( - /obj/item/weapon/circuitboard/mecha/odysseus/peripherals, - /obj/item/weapon/circuitboard/mecha/odysseus/main + /obj/item/circuitboard/mecha/odysseus/peripherals, + /obj/item/circuitboard/mecha/odysseus/main ) cost = 25 containertype = /obj/structure/closet/crate/secure/veymed @@ -151,10 +151,10 @@ /datum/supply_pack/randomised/robotics/exosuit_mod num_contained = 1 contains = list( - /obj/item/device/kit/paint/ripley, - /obj/item/device/kit/paint/ripley/death, - /obj/item/device/kit/paint/ripley/flames_red, - /obj/item/device/kit/paint/ripley/flames_blue + /obj/item/kit/paint/ripley, + /obj/item/kit/paint/ripley/death, + /obj/item/kit/paint/ripley/flames_red, + /obj/item/kit/paint/ripley/flames_blue ) name = "Random APLU modkit" cost = 200 @@ -163,18 +163,18 @@ /datum/supply_pack/randomised/robotics/exosuit_mod/durand contains = list( - /obj/item/device/kit/paint/durand, - /obj/item/device/kit/paint/durand/seraph, - /obj/item/device/kit/paint/durand/phazon + /obj/item/kit/paint/durand, + /obj/item/kit/paint/durand/seraph, + /obj/item/kit/paint/durand/phazon ) name = "Random Durand exosuit modkit" containertype = /obj/structure/closet/crate/heph /datum/supply_pack/randomised/robotics/exosuit_mod/gygax contains = list( - /obj/item/device/kit/paint/gygax, - /obj/item/device/kit/paint/gygax/darkgygax, - /obj/item/device/kit/paint/gygax/recitence + /obj/item/kit/paint/gygax, + /obj/item/kit/paint/gygax/darkgygax, + /obj/item/kit/paint/gygax/recitence ) name = "Random Gygax exosuit modkit" containertype = /obj/structure/closet/crate/heph @@ -182,7 +182,7 @@ /datum/supply_pack/robotics/jumper_cables name = "Jumper kit crate" contains = list( - /obj/item/device/defib_kit/jumper_kit = 2 + /obj/item/defib_kit/jumper_kit = 2 ) cost = 30 containertype = /obj/structure/closet/crate/secure/einstein @@ -192,8 +192,8 @@ /datum/supply_pack/robotics/restrainingbolt name = "Restraining bolt crate" contains = list( - /obj/item/weapon/implanter = 1, - /obj/item/weapon/implantcase/restrainingbolt = 2 + /obj/item/implanter = 1, + /obj/item/implantcase/restrainingbolt = 2 ) cost = 40 containertype = /obj/structure/closet/crate/secure/cybersolutions @@ -224,8 +224,8 @@ /datum/supply_pack/robotics/mecha_gopher name = "Circuit Crate (\"Gopher\" APLU)" contains = list( - /obj/item/weapon/circuitboard/mecha/gopher/main, - /obj/item/weapon/circuitboard/mecha/gopher/peripherals + /obj/item/circuitboard/mecha/gopher/main, + /obj/item/circuitboard/mecha/gopher/peripherals ) cost = 25 containertype = /obj/structure/closet/crate/secure/science @@ -235,9 +235,9 @@ /datum/supply_pack/robotics/mecha_polecat name = "Circuit Crate (\"Polecat\" APLU)" contains = list( - /obj/item/weapon/circuitboard/mecha/polecat/main, - /obj/item/weapon/circuitboard/mecha/polecat/peripherals, - /obj/item/weapon/circuitboard/mecha/polecat/targeting + /obj/item/circuitboard/mecha/polecat/main, + /obj/item/circuitboard/mecha/polecat/peripherals, + /obj/item/circuitboard/mecha/polecat/targeting ) cost = 25 containertype = /obj/structure/closet/crate/secure/science @@ -247,9 +247,9 @@ /datum/supply_pack/robotics/mecha_weasel name = "Circuit Crate (\"Weasel\" APLU)" contains = list( - /obj/item/weapon/circuitboard/mecha/weasel/main, - /obj/item/weapon/circuitboard/mecha/weasel/peripherals, - /obj/item/weapon/circuitboard/mecha/weasel/targeting + /obj/item/circuitboard/mecha/weasel/main, + /obj/item/circuitboard/mecha/weasel/peripherals, + /obj/item/circuitboard/mecha/weasel/targeting ) cost = 25 containertype = /obj/structure/closet/crate/secure/science @@ -259,9 +259,9 @@ /datum/supply_pack/robotics/some_robolimbs name = "Basic Robolimb Blueprints" contains = list( - /obj/item/weapon/disk/limb/morpheus, - /obj/item/weapon/disk/limb/xion, - /obj/item/weapon/disk/limb/talon + /obj/item/disk/limb/morpheus, + /obj/item/disk/limb/xion, + /obj/item/disk/limb/talon ) cost = 15 containertype = /obj/structure/closet/crate/secure @@ -271,24 +271,24 @@ /datum/supply_pack/robotics/all_robolimbs name = "Advanced Robolimb Blueprints" contains = list( - /obj/item/weapon/disk/limb/bishop, - /obj/item/weapon/disk/limb/hephaestus, - /obj/item/weapon/disk/limb/morpheus, - /obj/item/weapon/disk/limb/veymed, - /obj/item/weapon/disk/limb/wardtakahashi, - /obj/item/weapon/disk/limb/xion, - /obj/item/weapon/disk/limb/zenghu, - /obj/item/weapon/disk/limb/talon, - /obj/item/weapon/disk/limb/dsi_tajaran, - /obj/item/weapon/disk/limb/dsi_lizard, - /obj/item/weapon/disk/limb/dsi_sergal, - /obj/item/weapon/disk/limb/dsi_nevrean, - /obj/item/weapon/disk/limb/dsi_vulpkanin, - /obj/item/weapon/disk/limb/dsi_akula, - /obj/item/weapon/disk/limb/dsi_spider, - /obj/item/weapon/disk/limb/dsi_teshari, - /obj/item/weapon/disk/limb/eggnerdltd, - /obj/item/weapon/disk/limb/eggnerdltdred + /obj/item/disk/limb/bishop, + /obj/item/disk/limb/hephaestus, + /obj/item/disk/limb/morpheus, + /obj/item/disk/limb/veymed, + /obj/item/disk/limb/wardtakahashi, + /obj/item/disk/limb/xion, + /obj/item/disk/limb/zenghu, + /obj/item/disk/limb/talon, + /obj/item/disk/limb/dsi_tajaran, + /obj/item/disk/limb/dsi_lizard, + /obj/item/disk/limb/dsi_sergal, + /obj/item/disk/limb/dsi_nevrean, + /obj/item/disk/limb/dsi_vulpkanin, + /obj/item/disk/limb/dsi_akula, + /obj/item/disk/limb/dsi_spider, + /obj/item/disk/limb/dsi_teshari, + /obj/item/disk/limb/eggnerdltd, + /obj/item/disk/limb/eggnerdltdred ) cost = 40 containertype = /obj/structure/closet/crate/secure diff --git a/code/datums/supplypacks/science.dm b/code/datums/supplypacks/science.dm index 729a543a19d..94469a886fe 100644 --- a/code/datums/supplypacks/science.dm +++ b/code/datums/supplypacks/science.dm @@ -15,13 +15,13 @@ /datum/supply_pack/sci/phoron name = "Phoron research crate" contains = list( - /obj/item/weapon/tank/phoron = 3, - /obj/item/weapon/tank/oxygen = 3, - /obj/item/device/assembly/igniter = 3, - /obj/item/device/assembly/prox_sensor = 3, - /obj/item/device/assembly/timer = 3, - /obj/item/device/assembly/signaler = 3, - /obj/item/device/transfer_valve = 3 + /obj/item/tank/phoron = 3, + /obj/item/tank/oxygen = 3, + /obj/item/assembly/igniter = 3, + /obj/item/assembly/prox_sensor = 3, + /obj/item/assembly/timer = 3, + /obj/item/assembly/signaler = 3, + /obj/item/transfer_valve = 3 ) cost = 10 containertype = /obj/structure/closet/crate/secure/phoron @@ -45,14 +45,14 @@ /datum/supply_pack/sci/integrated_circuit_printer name = "Integrated circuit printer" - contains = list(/obj/item/device/integrated_circuit_printer = 2) + contains = list(/obj/item/integrated_circuit_printer = 2) cost = 15 containertype = /obj/structure/closet/crate/ward containername = "Integrated circuit crate" /datum/supply_pack/sci/integrated_circuit_printer_upgrade name = "Integrated circuit printer upgrade - advanced designs" - contains = list(/obj/item/weapon/disk/integrated_circuit/upgrade/advanced) + contains = list(/obj/item/disk/integrated_circuit/upgrade/advanced) cost = 30 containertype = /obj/structure/closet/crate/ward containername = "Integrated circuit crate" @@ -60,20 +60,20 @@ /datum/supply_pack/sci/xenoarch name = "Xenoarchaeology Tech crate" contains = list( - /obj/item/weapon/pickaxe/excavationdrill, - /obj/item/device/xenoarch_multi_tool, + /obj/item/pickaxe/excavationdrill, + /obj/item/xenoarch_multi_tool, /obj/item/clothing/suit/space/anomaly, /obj/item/clothing/head/helmet/space/anomaly, - /obj/item/weapon/storage/belt/archaeology, - /obj/item/device/flashlight/lantern, - /obj/item/device/core_sampler, - /obj/item/device/gps, - /obj/item/device/beacon_locator, - /obj/item/device/radio/beacon, + /obj/item/storage/belt/archaeology, + /obj/item/flashlight/lantern, + /obj/item/core_sampler, + /obj/item/gps, + /obj/item/beacon_locator, + /obj/item/radio/beacon, /obj/item/clothing/glasses/meson, - /obj/item/weapon/pickaxe, - /obj/item/weapon/storage/bag/fossils, - /obj/item/weapon/hand_labeler) + /obj/item/pickaxe, + /obj/item/storage/bag/fossils, + /obj/item/hand_labeler) cost = 100 containertype = /obj/structure/closet/crate/secure/xion containername = "Xenoarchaeology Tech crate" diff --git a/code/datums/supplypacks/security.dm b/code/datums/supplypacks/security.dm index 9e58d74f1cf..1f2cf06f89e 100644 --- a/code/datums/supplypacks/security.dm +++ b/code/datums/supplypacks/security.dm @@ -253,12 +253,12 @@ /datum/supply_pack/security/riot_gear name = "Gear - Riot" contains = list( - /obj/item/weapon/melee/baton = 3, - /obj/item/weapon/shield/riot = 3, - /obj/item/weapon/handcuffs = 3, - /obj/item/weapon/storage/box/flashbangs, + /obj/item/melee/baton = 3, + /obj/item/shield/riot = 3, + /obj/item/handcuffs = 3, + /obj/item/storage/box/flashbangs, /obj/item/ammo_magazine/ammo_box/b12g/beanbag, - /obj/item/weapon/storage/box/handcuffs + /obj/item/storage/box/handcuffs ) cost = 40 containertype = /obj/structure/closet/crate/secure/lawson @@ -292,7 +292,7 @@ /datum/supply_pack/security/riot_sprayer name = "Gear - Riot sprayer" contains = list( - /obj/item/weapon/watertank/pepperspray + /obj/item/watertank/pepperspray ) cost = 40 containertype = /obj/structure/closet/crate/secure/lawson @@ -373,7 +373,7 @@ /obj/item/clothing/head/helmet/tactical, /obj/item/clothing/mask/balaclava/tactical, /obj/item/clothing/glasses/sunglasses/sechud/tactical, - /obj/item/weapon/storage/belt/security/tactical, + /obj/item/storage/belt/security/tactical, /obj/item/clothing/shoes/boots/jackboots, /obj/item/clothing/gloves/black, /obj/item/clothing/under/tactical, @@ -381,7 +381,7 @@ /obj/item/clothing/head/helmet/tactical, /obj/item/clothing/mask/balaclava/tactical, /obj/item/clothing/glasses/sunglasses/sechud/tactical, - /obj/item/weapon/storage/belt/security/tactical, + /obj/item/storage/belt/security/tactical, /obj/item/clothing/shoes/boots/jackboots, /obj/item/clothing/gloves/black ) @@ -400,14 +400,14 @@ /obj/item/clothing/gloves/arm_guard/flexitac, /obj/item/clothing/mask/balaclava/tactical, /obj/item/clothing/glasses/sunglasses/sechud/tactical, - /obj/item/weapon/storage/belt/security/tactical, + /obj/item/storage/belt/security/tactical, /obj/item/clothing/suit/storage/vest/heavy/flexitac, /obj/item/clothing/head/helmet/flexitac, /obj/item/clothing/shoes/leg_guard/flexitac, /obj/item/clothing/gloves/arm_guard/flexitac, /obj/item/clothing/mask/balaclava/tactical, /obj/item/clothing/glasses/sunglasses/sechud/tactical, - /obj/item/weapon/storage/belt/security/tactical + /obj/item/storage/belt/security/tactical ) /datum/supply_pack/security/securitybarriers @@ -442,9 +442,9 @@ /datum/supply_pack/security/extragear name = "Gear - Security surplus equipment" contains = list( - /obj/item/weapon/storage/belt/security = 3, + /obj/item/storage/belt/security = 3, /obj/item/clothing/glasses/sunglasses/sechud = 3, - /obj/item/device/radio/headset/headset_sec/alt = 3, + /obj/item/radio/headset/alt/headset_sec = 3, /obj/item/clothing/suit/storage/hooded/wintercoat/security = 3, /obj/item/clothing/glasses/sunglasses/sechud/tactical_sec_vis = 3 ) @@ -455,25 +455,25 @@ /datum/supply_pack/security/detectivegear name = "Forensic - Investigation equipment" contains = list( - /obj/item/weapon/storage/box/evidence = 2, + /obj/item/storage/box/evidence = 2, /obj/item/clothing/suit/storage/vest/detective, - /obj/item/weapon/cartridge/detective, - /obj/item/device/radio/headset/headset_sec, + /obj/item/cartridge/detective, + /obj/item/radio/headset/headset_sec, /obj/item/taperoll/police, /obj/item/clothing/glasses/sunglasses, - /obj/item/device/camera, - /obj/item/weapon/folder/red, - /obj/item/weapon/folder/blue, - /obj/item/weapon/storage/belt/detective, + /obj/item/camera, + /obj/item/folder/red, + /obj/item/folder/blue, + /obj/item/storage/belt/detective, /obj/item/clothing/gloves/black, - /obj/item/device/taperecorder, - /obj/item/device/mass_spectrometer, - /obj/item/device/camera_film = 2, - /obj/item/weapon/storage/photo_album, - /obj/item/device/reagent_scanner, - /obj/item/device/flashlight/maglight, - /obj/item/weapon/storage/briefcase/crimekit, - /obj/item/weapon/storage/bag/detective + /obj/item/taperecorder, + /obj/item/mass_spectrometer, + /obj/item/camera_film = 2, + /obj/item/storage/photo_album, + /obj/item/reagent_scanner, + /obj/item/flashlight/maglight, + /obj/item/storage/briefcase/crimekit, + /obj/item/storage/bag/detective ) cost = 20 containertype = /obj/structure/closet/crate/secure/nanotrasen @@ -483,10 +483,10 @@ /datum/supply_pack/security/detectivescan name = "Forensic - Scanning Equipment" contains = list( - /obj/item/device/mass_spectrometer, - /obj/item/device/reagent_scanner, - /obj/item/weapon/storage/briefcase/crimekit, - /obj/item/device/detective_scanner + /obj/item/mass_spectrometer, + /obj/item/reagent_scanner, + /obj/item/storage/briefcase/crimekit, + /obj/item/detective_scanner ) cost = 60 containertype = /obj/structure/closet/crate/secure/ward @@ -520,25 +520,25 @@ contains = list( /obj/item/clothing/suit/storage/vest/officer, /obj/item/clothing/head/helmet, - /obj/item/weapon/cartridge/security, + /obj/item/cartridge/security, /obj/item/clothing/accessory/badge/holo, /obj/item/clothing/accessory/badge/holo/cord, - /obj/item/device/radio/headset/headset_sec, - /obj/item/weapon/storage/belt/security, - /obj/item/device/flash, - /obj/item/weapon/reagent_containers/spray/pepper, - /obj/item/weapon/grenade/flashbang, - /obj/item/weapon/melee/baton/loaded, + /obj/item/radio/headset/headset_sec, + /obj/item/storage/belt/security, + /obj/item/flash, + /obj/item/reagent_containers/spray/pepper, + /obj/item/grenade/flashbang, + /obj/item/melee/baton/loaded, /obj/item/clothing/glasses/sunglasses/sechud, /obj/item/taperoll/police, /obj/item/clothing/gloves/black, - /obj/item/device/hailer, - /obj/item/device/flashlight/flare, + /obj/item/hailer, + /obj/item/flashlight/flare, /obj/item/clothing/accessory/storage/black_vest, /obj/item/clothing/head/soft/sec/corp, /obj/item/clothing/under/rank/security/corp, - /obj/item/weapon/gun/energy/taser, - /obj/item/device/flashlight/maglight + /obj/item/gun/energy/taser, + /obj/item/flashlight/maglight ) cost = 20 containertype = /obj/structure/closet/crate/secure/nanotrasen @@ -546,7 +546,7 @@ access = access_brig /datum/supply_pack/security/wardengear - name = "Gear - Warden equipment" + name = "Gear - " + JOB_WARDEN + " equipment" contains = list( /obj/item/clothing/suit/storage/vest/warden, /obj/item/clothing/under/rank/warden, @@ -555,27 +555,27 @@ /obj/item/clothing/suit/storage/vest/wardencoat/alt, /obj/item/clothing/suit/storage/vest/wardencoat/alt2, //VOREStation Add, /obj/item/clothing/head/helmet/warden, - /obj/item/weapon/cartridge/security, - /obj/item/device/radio/headset/headset_sec, + /obj/item/cartridge/security, + /obj/item/radio/headset/headset_sec, /obj/item/clothing/glasses/sunglasses/sechud, /obj/item/taperoll/police, - /obj/item/device/hailer, + /obj/item/hailer, /obj/item/clothing/accessory/badge/holo/warden, - /obj/item/weapon/storage/box/flashbangs, - /obj/item/weapon/storage/belt/security, - /obj/item/weapon/reagent_containers/spray/pepper, - /obj/item/weapon/melee/baton/loaded, - /obj/item/weapon/storage/box/holobadge, + /obj/item/storage/box/flashbangs, + /obj/item/storage/belt/security, + /obj/item/reagent_containers/spray/pepper, + /obj/item/melee/baton/loaded, + /obj/item/storage/box/holobadge, /obj/item/clothing/head/beret/sec/corporate/warden, - /obj/item/device/flashlight/maglight + /obj/item/flashlight/maglight ) cost = 20 containertype = /obj/structure/closet/crate/secure/nanotrasen - containername = "Warden equipment" + containername = JOB_WARDEN + " equipment" access = access_armory /datum/supply_pack/security/headofsecgear - name = "Gear - Head of security equipment" + name = "Gear - " + JOB_HEAD_OF_SECURITY + " equipment" contains = list( /obj/item/clothing/head/helmet/HoS, /obj/item/clothing/suit/storage/vest/hos, @@ -583,29 +583,29 @@ /obj/item/clothing/suit/storage/vest/hoscoat, /obj/item/clothing/suit/storage/vest/hoscoat/jensen/alt, //VOREStation Add, /obj/item/clothing/head/helmet/dermal, - /obj/item/weapon/cartridge/hos, - /obj/item/device/radio/headset/heads/hos, + /obj/item/cartridge/hos, + /obj/item/radio/headset/heads/hos, /obj/item/clothing/glasses/sunglasses/sechud, - /obj/item/weapon/storage/belt/security, - /obj/item/device/flash, - /obj/item/device/hailer, + /obj/item/storage/belt/security, + /obj/item/flash, + /obj/item/hailer, /obj/item/clothing/accessory/badge/holo/hos, /obj/item/clothing/accessory/holster/waist, - /obj/item/weapon/melee/telebaton, - /obj/item/weapon/shield/riot/tele, + /obj/item/melee/telebaton, + /obj/item/shield/riot/tele, /obj/item/clothing/head/beret/sec/corporate/hos, - /obj/item/device/flashlight/maglight + /obj/item/flashlight/maglight ) cost = 50 containertype = /obj/structure/closet/crate/secure/nanotrasen - containername = "Head of security equipment" + containername = JOB_HEAD_OF_SECURITY + " equipment" access = access_hos /datum/supply_pack/security/securityclothing name = "Misc - Security uniform red" contains = list( - /obj/item/weapon/storage/backpack/satchel/sec = 2, - /obj/item/weapon/storage/backpack/security = 2, + /obj/item/storage/backpack/satchel/sec = 2, + /obj/item/storage/backpack/security = 2, /obj/item/clothing/accessory/armband = 4, /obj/item/clothing/under/rank/security = 4, /obj/item/clothing/under/rank/security2 = 4, @@ -613,7 +613,7 @@ /obj/item/clothing/under/rank/head_of_security, /obj/item/clothing/head/soft/sec = 4, /obj/item/clothing/gloves/black = 4, - /obj/item/weapon/storage/box/holobadge + /obj/item/storage/box/holobadge ) cost = 10 containertype = /obj/structure/closet/crate/secure/nanotrasen @@ -622,8 +622,8 @@ /datum/supply_pack/security/navybluesecurityclothing name = "Misc - Security uniform navy blue" contains = list( - /obj/item/weapon/storage/backpack/satchel/sec = 2, - /obj/item/weapon/storage/backpack/security = 2, + /obj/item/storage/backpack/satchel/sec = 2, + /obj/item/storage/backpack/security = 2, /obj/item/clothing/under/rank/security/navyblue = 4, /obj/item/clothing/suit/security/navyofficer = 4, /obj/item/clothing/under/rank/warden/navyblue, @@ -634,7 +634,7 @@ /obj/item/clothing/head/beret/sec/navy/warden, /obj/item/clothing/head/beret/sec/navy/hos, /obj/item/clothing/gloves/black = 4, - /obj/item/weapon/storage/box/holobadge + /obj/item/storage/box/holobadge ) cost = 10 containertype = /obj/structure/closet/crate/secure/nanotrasen @@ -643,8 +643,8 @@ /datum/supply_pack/security/corporatesecurityclothing name = "Misc - Security uniform corporate" contains = list( - /obj/item/weapon/storage/backpack/satchel/sec = 2, - /obj/item/weapon/storage/backpack/security = 2, + /obj/item/storage/backpack/satchel/sec = 2, + /obj/item/storage/backpack/security = 2, /obj/item/clothing/under/rank/security/corp = 4, /obj/item/clothing/head/soft/sec/corp = 4, /obj/item/clothing/under/rank/warden/corp, @@ -654,7 +654,7 @@ /obj/item/clothing/head/beret/sec/corporate/hos, /obj/item/clothing/under/det/corporate = 2, /obj/item/clothing/gloves/black = 4, - /obj/item/weapon/storage/box/holobadge + /obj/item/storage/box/holobadge ) cost = 10 containertype = /obj/structure/closet/crate/secure/nanotrasen @@ -668,9 +668,9 @@ /obj/item/clothing/suit/bio_suit/security = 3, /obj/item/clothing/shoes/white = 3, /obj/item/clothing/mask/gas = 3, - /obj/item/weapon/tank/oxygen = 3, + /obj/item/tank/oxygen = 3, /obj/item/clothing/gloves/sterile/latex, - /obj/item/weapon/storage/box/gloves + /obj/item/storage/box/gloves ) cost = 25 containertype = /obj/structure/closet/crate/secure/nanotrasen @@ -715,16 +715,16 @@ /obj/item/clothing/suit/bio_suit/security = 3, /obj/item/clothing/shoes/white = 3, /obj/item/clothing/mask/gas = 3, - /obj/item/weapon/tank/oxygen = 3, + /obj/item/tank/oxygen = 3, /obj/item/clothing/gloves/sterile/latex, - /obj/item/weapon/storage/box/gloves + /obj/item/storage/box/gloves ) cost = 40 /datum/supply_pack/security/trackingimplant name = "Implants - Tracking" contains = list( - /obj/item/weapon/storage/box/trackimp = 1 + /obj/item/storage/box/trackimp = 1 ) cost = 25 containertype = /obj/structure/closet/crate/secure @@ -734,7 +734,7 @@ /datum/supply_pack/security/chemicalimplant name = "Implants - Chemical" contains = list( - /obj/item/weapon/storage/box/chemimp = 1 + /obj/item/storage/box/chemimp = 1 ) cost = 25 containertype = /obj/structure/closet/crate/secure diff --git a/code/datums/supplypacks/security_yw.dm b/code/datums/supplypacks/security_yw.dm index 1b2909556bd..f303dc7de7c 100644 --- a/code/datums/supplypacks/security_yw.dm +++ b/code/datums/supplypacks/security_yw.dm @@ -1,7 +1,7 @@ /datum/supply_pack/security/loyaltyimplants name = "Loyalty Implant Lockbox" contains = list( - /obj/item/weapon/storage/lockbox/loyalty + /obj/item/storage/lockbox/loyalty ) cost = 100 containertype = /obj/structure/closet/crate/secure/gear @@ -11,11 +11,11 @@ /datum/supply_pack/security/covenantmeleeweapons name = "Covenant melee weapon pack" contains = list( - /obj/item/weapon/melee/energy/elite_sword, - /obj/item/weapon/melee/energy/elite_sword/dagger, - /obj/item/weapon/melee/energy/elite_sword/dagger, - /obj/item/weapon/melee/blamite/dagger, - /obj/item/weapon/melee/blamite/dagger + /obj/item/melee/energy/elite_sword, + /obj/item/melee/energy/elite_sword/dagger, + /obj/item/melee/energy/elite_sword/dagger, + /obj/item/melee/blamite/dagger, + /obj/item/melee/blamite/dagger ) cost = 200 containertype = /obj/structure/closet/crate/secure/gear diff --git a/code/datums/supplypacks/supply.dm b/code/datums/supplypacks/supply.dm index ed12a28884e..b6c79687531 100644 --- a/code/datums/supplypacks/supply.dm +++ b/code/datums/supplypacks/supply.dm @@ -9,14 +9,14 @@ /datum/supply_pack/supply/food name = "Kitchen supply crate" contains = list( - /obj/item/weapon/reagent_containers/food/condiment/carton/flour = 6, - /obj/item/weapon/reagent_containers/food/drinks/milk = 3, - /obj/item/weapon/reagent_containers/food/drinks/soymilk = 2, - /obj/item/weapon/storage/fancy/egg_box = 2, - /obj/item/weapon/reagent_containers/food/snacks/tofu = 4, - /obj/item/weapon/reagent_containers/food/snacks/meat = 4, - /obj/item/weapon/reagent_containers/food/condiment/yeast = 3, - /obj/item/weapon/reagent_containers/food/condiment/sprinkles = 1 + /obj/item/reagent_containers/food/condiment/carton/flour = 6, + /obj/item/reagent_containers/food/drinks/milk = 3, + /obj/item/reagent_containers/food/drinks/soymilk = 2, + /obj/item/storage/fancy/egg_box = 2, + /obj/item/reagent_containers/food/snacks/tofu = 4, + /obj/item/reagent_containers/food/snacks/meat = 4, + /obj/item/reagent_containers/food/condiment/yeast = 3, + /obj/item/reagent_containers/food/condiment/sprinkles = 1 ) cost = 10 containertype = /obj/structure/closet/crate/freezer/centauri @@ -25,8 +25,8 @@ /datum/supply_pack/supply/fancyfood name = "Artisanal food delivery" contains = list( - /obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic = 6, - /obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic = 6 + /obj/item/reagent_containers/food/condiment/carton/flour/rustic = 6, + /obj/item/reagent_containers/food/condiment/carton/sugar/rustic = 6 ) cost = 25 containertype = /obj/structure/closet/crate/freezer/centauri @@ -35,7 +35,7 @@ /datum/supply_pack/supply/toner name = "Toner cartridges" - contains = list(/obj/item/device/toner = 6) + contains = list(/obj/item/toner = 6) cost = 10 containertype = /obj/structure/closet/crate/ummarcar containername = "Toner cartridges" @@ -43,20 +43,20 @@ /datum/supply_pack/supply/janitor name = "Janitorial supplies" contains = list( - /obj/item/weapon/reagent_containers/glass/bucket, - /obj/item/weapon/mop, + /obj/item/reagent_containers/glass/bucket, + /obj/item/mop, /obj/item/clothing/under/rank/janitor, - /obj/item/weapon/cartridge/janitor, + /obj/item/cartridge/janitor, /obj/item/clothing/gloves/black, /obj/item/clothing/head/soft/purple, - /obj/item/weapon/storage/belt/janitor, + /obj/item/storage/belt/janitor, /obj/item/clothing/shoes/galoshes, /obj/item/clothing/suit/caution = 4, - /obj/item/weapon/storage/bag/trash, - /obj/item/device/lightreplacer, - /obj/item/weapon/reagent_containers/spray/cleaner, - /obj/item/weapon/reagent_containers/glass/rag, - /obj/item/weapon/grenade/chem_grenade/cleaner = 3, + /obj/item/storage/bag/trash, + /obj/item/lightreplacer, + /obj/item/reagent_containers/spray/cleaner, + /obj/item/reagent_containers/glass/rag, + /obj/item/grenade/chem_grenade/cleaner = 3, /obj/item/clothing/glasses/hud/janitor, /obj/structure/mopbucket ) @@ -68,30 +68,30 @@ name = "Shipping supplies" contains = list( /obj/fiftyspawner/cardboard, - /obj/item/weapon/packageWrap = 4, - /obj/item/weapon/wrapping_paper = 2, - /obj/item/device/destTagger, - /obj/item/weapon/hand_labeler, - /obj/item/weapon/tool/wirecutters, - /obj/item/weapon/tape_roll = 2) + /obj/item/packageWrap = 4, + /obj/item/wrapping_paper = 2, + /obj/item/destTagger, + /obj/item/hand_labeler, + /obj/item/tool/wirecutters, + /obj/item/tape_roll = 2) cost = 10 containertype = /obj/structure/closet/crate/ummarcar containername = "Shipping supplies crate" /datum/supply_pack/supply/bureaucracy contains = list( - /obj/item/weapon/clipboard = 2, - /obj/item/weapon/pen/red, - /obj/item/weapon/pen/blue, - /obj/item/weapon/pen/blue, - /obj/item/device/camera_film, - /obj/item/weapon/folder/blue, - /obj/item/weapon/folder/red, - /obj/item/weapon/folder/yellow, - /obj/item/weapon/hand_labeler, - /obj/item/weapon/tape_roll, + /obj/item/clipboard = 2, + /obj/item/pen/red, + /obj/item/pen/blue, + /obj/item/pen/blue, + /obj/item/camera_film, + /obj/item/folder/blue, + /obj/item/folder/red, + /obj/item/folder/yellow, + /obj/item/hand_labeler, + /obj/item/tape_roll, /obj/structure/filingcabinet/chestdrawer{anchored = FALSE}, - /obj/item/weapon/paper_bin + /obj/item/paper_bin ) name = "Office supplies" cost = 15 @@ -110,24 +110,24 @@ cost = 10 containertype = /obj/structure/closet/crate/thinktronic containername = "Spare PDA crate" - contains = list(/obj/item/device/pda = 3) + contains = list(/obj/item/pda = 3) /datum/supply_pack/supply/minergear name = "Shaft miner equipment" contains = list( - /obj/item/weapon/storage/backpack/industrial, - /obj/item/weapon/storage/backpack/satchel/eng, + /obj/item/storage/backpack/industrial, + /obj/item/storage/backpack/satchel/eng, /obj/item/clothing/suit/storage/hooded/wintercoat/miner, - /obj/item/device/radio/headset/headset_cargo, + /obj/item/radio/headset/miner, /obj/item/clothing/under/rank/miner, /obj/item/clothing/gloves/black, /obj/item/clothing/shoes/black, - /obj/item/device/analyzer, - /obj/item/weapon/storage/bag/ore, - /obj/item/device/flashlight/lantern, - /obj/item/weapon/shovel, - /obj/item/weapon/pickaxe, - /obj/item/weapon/mining_scanner, + /obj/item/analyzer, + /obj/item/storage/bag/ore, + /obj/item/flashlight/lantern, + /obj/item/shovel, + /obj/item/pickaxe, + /obj/item/mining_scanner, /obj/item/clothing/glasses/material, /obj/item/clothing/glasses/meson ) @@ -157,55 +157,55 @@ cost = 15 /datum/supply_pack/explorergear - name="Explorer gear" // YW EDIT + name= JOB_EXPLORER + " gear" contains = list ( - /obj/item/device/cataloguer, - /obj/item/device/geiger, + /obj/item/cataloguer, + /obj/item/geiger, /obj/item/clothing/suit/storage/hooded/explorer, - /obj/item/device/flashlight/glowstick, - /obj/item/device/flashlight, + /obj/item/flashlight/glowstick, + /obj/item/flashlight, /obj/item/stack/marker_beacon/thirty, - /obj/item/weapon/storage/belt/explorer, + /obj/item/storage/belt/explorer, /obj/item/clothing/mask/gas/explorer, - /obj/item/weapon/cartridge/explorer, - /obj/item/device/gps/explorer, + /obj/item/cartridge/explorer, + /obj/item/gps/explorer, /obj/item/clothing/under/explorer, - /obj/item/device/radio/headset/explorer, + /obj/item/radio/headset/explorer, /obj/item/clothing/shoes/boots/winter/explorer, - /obj/item/weapon/material/knife/tacknife/survival, - /obj/item/weapon/material/knife/machete, + /obj/item/material/knife/tacknife/survival, + /obj/item/material/knife/machete, /obj/item/clothing/accessory/holster/machete, - /obj/item/clothing/gloves/watch/survival + /obj/item/clothing/accessory/watch/survival ) cost=25 containertype = /obj/structure/closet/crate/secure/xion - containername = "Explorer equipment" // YW EDIT + containername = JOB_EXPLORER + " equipment" access = list(access_eva, access_explorer) /datum/supply_pack/pilotgear - name= "Pilot gear" + name= JOB_PILOT + " gear" contains = list ( - /obj/item/weapon/storage/backpack/parachute, - /obj/item/device/radio/headset/pilot, - /obj/item/device/radio/headset/pilot/alt, + /obj/item/storage/backpack/parachute, + /obj/item/radio/headset/pilot, + /obj/item/radio/headset/alt/pilot, /obj/item/clothing/mask/gas/half, - /obj/item/device/flashlight/glowstick, + /obj/item/flashlight/glowstick, /obj/item/stack/marker_beacon/thirty, - /obj/item/device/gps/explorer, + /obj/item/gps/explorer, /obj/item/clothing/gloves/fingerless, /obj/item/clothing/suit/storage/toggle/bomber/pilot, /obj/item/clothing/shoes/boots/winter/explorer, - /obj/item/device/flashlight, - /obj/item/weapon/material/knife/tacknife/survival, + /obj/item/flashlight, + /obj/item/material/knife/tacknife/survival, /obj/item/clothing/head/pilot_vr, /obj/item/clothing/under/rank/pilot1, - /obj/item/weapon/gun/energy/gun/protector/pilotgun/locked, - /obj/item/clothing/gloves/watch/survival, - /obj/item/device/cataloguer/compact + /obj/item/gun/energy/gun/protector/pilotgun/locked, + /obj/item/clothing/accessory/watch/survival, + /obj/item/cataloguer/compact // YW EDIT ) cost=20 containertype = /obj/structure/closet/crate/secure/xion - containername = "Pilot equipment" + containername = JOB_PILOT + " equipment" access = access_pilot /datum/supply_pack/supply/foodcubes @@ -217,29 +217,29 @@ containername = "food cubes" /datum/supply_pack/pathfindergear - name="Away Team Leader gear" + name= JOB_PATHFINDER + " gear" contains = list ( - /obj/item/device/cataloguer/compact/pathfinder, - /obj/item/device/geiger, + /obj/item/cataloguer/compact/pathfinder, + /obj/item/geiger, /obj/item/clothing/suit/storage/hooded/explorer, - /obj/item/device/flashlight/glowstick, - /obj/item/device/flashlight, + /obj/item/flashlight/glowstick, + /obj/item/flashlight, /obj/item/stack/marker_beacon/thirty, - /obj/item/weapon/storage/belt/explorer/pathfinder, + /obj/item/storage/belt/explorer/pathfinder, /obj/item/clothing/mask/gas/explorer, - /obj/item/weapon/cartridge/explorer, - /obj/item/device/gps/explorer, + /obj/item/cartridge/explorer, + /obj/item/gps/explorer, /obj/item/clothing/under/explorer, - /obj/item/device/radio/headset/pathfinder, + /obj/item/radio/headset/pathfinder, /obj/item/clothing/shoes/boots/winter/explorer, - /obj/item/weapon/material/knife/tacknife/survival, - /obj/item/weapon/material/knife/machete/deluxe, + /obj/item/material/knife/tacknife/survival, + /obj/item/material/knife/machete/deluxe, /obj/item/clothing/accessory/holster/machete, - /obj/item/weapon/storage/box/explorerkeys, - /obj/item/device/mapping_unit, - /obj/item/clothing/gloves/watch/survival + /obj/item/storage/box/explorerkeys, + /obj/item/mapping_unit, + /obj/item/clothing/accessory/watch/survival ) cost = 75 containertype = /obj/structure/closet/crate/secure/xion - containername = "Away Team Leader equipment" + containername = JOB_PATHFINDER + " equipment" access = list(access_explorer) diff --git a/code/datums/supplypacks/vending_refills.dm b/code/datums/supplypacks/vending_refills.dm index 06119f2d4f2..e8cf8aa88bf 100644 --- a/code/datums/supplypacks/vending_refills.dm +++ b/code/datums/supplypacks/vending_refills.dm @@ -9,122 +9,122 @@ containername = "vendor refill cartridge crate" /datum/supply_pack/vending_refills/snack - contains = list(/obj/item/weapon/refill_cartridge/autoname/food/snack) + contains = list(/obj/item/refill_cartridge/autoname/food/snack) name = "Getmore Chocolate Corp Vendor Refill Cartridge" cost = 10 /datum/supply_pack/vending_refills/fitness - contains = list(/obj/item/weapon/refill_cartridge/autoname/food/fitness) + contains = list(/obj/item/refill_cartridge/autoname/food/fitness) name = "SweatMAX Vendor Refill Cartridge" cost = 10 /datum/supply_pack/vending_refills/weeb - contains = list(/obj/item/weapon/refill_cartridge/autoname/food/weeb) + contains = list(/obj/item/refill_cartridge/autoname/food/weeb) name = "Nippon-tan Vendor Refill Cartridge" cost = 10 /datum/supply_pack/vending_refills/sol - contains = list(/obj/item/weapon/refill_cartridge/autoname/food/sol) + contains = list(/obj/item/refill_cartridge/autoname/food/sol) name = "Sol-Snacks Vendor Refill Cartridge" cost = 10 /datum/supply_pack/vending_refills/snix - contains = list(/obj/item/weapon/refill_cartridge/autoname/food/snix) + contains = list(/obj/item/refill_cartridge/autoname/food/snix) name = "Snix Vendor Refill Cartridge" cost = 10 /datum/supply_pack/vending_refills/snlvend - contains = list(/obj/item/weapon/refill_cartridge/autoname/food/snlvend) + contains = list(/obj/item/refill_cartridge/autoname/food/snlvend) name = "Shop-n-Large Snacks Vendor Refill Cartridge" cost = 10 /datum/supply_pack/vending_refills/sovietvend - contains = list(/obj/item/weapon/refill_cartridge/autoname/food/sovietvend) + contains = list(/obj/item/refill_cartridge/autoname/food/sovietvend) name = "Ration Station Vendor Refill Cartridge" cost = 10 /datum/supply_pack/vending_refills/altevian - contains = list(/obj/item/weapon/refill_cartridge/autoname/food/altevian) + contains = list(/obj/item/refill_cartridge/autoname/food/altevian) name = "Altevian Vendor Refill Cartridge" cost = 10 /datum/supply_pack/vending_refills/coffee - contains = list(/obj/item/weapon/refill_cartridge/autoname/drink/coffee) + contains = list(/obj/item/refill_cartridge/autoname/drink/coffee) name = "Hot Drinks Vendor Refill Cartridge" cost = 10 /datum/supply_pack/vending_refills/cola - contains = list(/obj/item/weapon/refill_cartridge/autoname/drink/cola) + contains = list(/obj/item/refill_cartridge/autoname/drink/cola) name = "Robust Softdrinks Vendor Refill Cartridge" cost = 10 /datum/supply_pack/vending_refills/sovietsoda - contains = list(/obj/item/weapon/refill_cartridge/autoname/drink/sovietsoda) + contains = list(/obj/item/refill_cartridge/autoname/drink/sovietsoda) name = "BODA Vendor Refill Cartridge" cost = 10 /datum/supply_pack/vending_refills/bepis - contains = list(/obj/item/weapon/refill_cartridge/autoname/drink/bepis) + contains = list(/obj/item/refill_cartridge/autoname/drink/bepis) name = "Bepis Softdrinks Vendor Refill Cartridge" cost = 10 /datum/supply_pack/vending_refills/cigarette - contains = list(/obj/item/weapon/refill_cartridge/autoname/cigarette) + contains = list(/obj/item/refill_cartridge/autoname/cigarette) name = "Cigarette Vendor Refill Cartridge" cost = 15 /datum/supply_pack/vending_refills/wardrobe - contains = list(/obj/item/weapon/refill_cartridge/multitype/wardrobe) + contains = list(/obj/item/refill_cartridge/multitype/wardrobe) name = "Wardrobe Vendor Refill Cartridge" cost = 10 /datum/supply_pack/vending_refills/giftvendor - contains = list(/obj/item/weapon/refill_cartridge/autoname/giftvendor) + contains = list(/obj/item/refill_cartridge/autoname/giftvendor) name = "AlliCo Baubles and Confectionaries Vendor Refill Cartridge" cost = 20 /datum/supply_pack/vending_refills/general_food - contains = list(/obj/item/weapon/refill_cartridge/multitype/food = 5) + contains = list(/obj/item/refill_cartridge/multitype/food = 5) name = "5-Pack Food Vendor Refill Cartridges" cost = 75 /datum/supply_pack/vending_refills/general_drink - contains = list(/obj/item/weapon/refill_cartridge/multitype/drink = 5) + contains = list(/obj/item/refill_cartridge/multitype/drink = 5) name = "5-Pack Drink Vendor Refill Cartridges" cost = 75 /datum/supply_pack/vending_refills/general_clothing - contains = list(/obj/item/weapon/refill_cartridge/multitype/clothing = 5) + contains = list(/obj/item/refill_cartridge/multitype/clothing = 5) name = "5-Pack Clothing Vendor Refill Cartridges" cost = 75 /datum/supply_pack/vending_refills/general_technical - contains = list(/obj/item/weapon/refill_cartridge/multitype/technical = 5) + contains = list(/obj/item/refill_cartridge/multitype/technical = 5) name = "5-Pack Technical Vendor Refill Cartridges" cost = 75 /datum/supply_pack/vending_refills/general_specialty - contains = list(/obj/item/weapon/refill_cartridge/multitype/specialty = 5) + contains = list(/obj/item/refill_cartridge/multitype/specialty = 5) name = "5-Pack Specialty Vendor Refill Cartridges" cost = 150 /datum/supply_pack/randomised/vending_refills/value_pack // 5 random vendor-specific cartridges at lower average price. But why? num_contained = 5 - contains = list(/obj/item/weapon/refill_cartridge/autoname/food/snack, - /obj/item/weapon/refill_cartridge/autoname/food/fitness, - /obj/item/weapon/refill_cartridge/autoname/food/weeb, - /obj/item/weapon/refill_cartridge/autoname/food/sol, - /obj/item/weapon/refill_cartridge/autoname/food/snix, - /obj/item/weapon/refill_cartridge/autoname/food/snlvend, - /obj/item/weapon/refill_cartridge/autoname/food/sovietvend, - /obj/item/weapon/refill_cartridge/autoname/drink/coffee, - /obj/item/weapon/refill_cartridge/autoname/drink/cola, - /obj/item/weapon/refill_cartridge/autoname/drink/sovietsoda, - /obj/item/weapon/refill_cartridge/autoname/drink/bepis, - /obj/item/weapon/refill_cartridge/autoname/cigarette, - /obj/item/weapon/refill_cartridge/multitype/wardrobe, - /obj/item/weapon/refill_cartridge/autoname/technical/assist, - /obj/item/weapon/refill_cartridge/autoname/technical/tool, - /obj/item/weapon/refill_cartridge/autoname/giftvendor) + contains = list(/obj/item/refill_cartridge/autoname/food/snack, + /obj/item/refill_cartridge/autoname/food/fitness, + /obj/item/refill_cartridge/autoname/food/weeb, + /obj/item/refill_cartridge/autoname/food/sol, + /obj/item/refill_cartridge/autoname/food/snix, + /obj/item/refill_cartridge/autoname/food/snlvend, + /obj/item/refill_cartridge/autoname/food/sovietvend, + /obj/item/refill_cartridge/autoname/drink/coffee, + /obj/item/refill_cartridge/autoname/drink/cola, + /obj/item/refill_cartridge/autoname/drink/sovietsoda, + /obj/item/refill_cartridge/autoname/drink/bepis, + /obj/item/refill_cartridge/autoname/cigarette, + /obj/item/refill_cartridge/multitype/wardrobe, + /obj/item/refill_cartridge/autoname/technical/assist, + /obj/item/refill_cartridge/autoname/technical/tool, + /obj/item/refill_cartridge/autoname/giftvendor) name = "5-pack Extra-Cheap Vendor Refill Cartridges" cost = 35 \ No newline at end of file diff --git a/code/datums/supplypacks/voidsuits.dm b/code/datums/supplypacks/voidsuits.dm index 429913b36a5..7b6a0769b25 100644 --- a/code/datums/supplypacks/voidsuits.dm +++ b/code/datums/supplypacks/voidsuits.dm @@ -14,7 +14,7 @@ /obj/item/clothing/head/helmet/space/void/atmos = 2, /obj/item/clothing/mask/breath = 2, /obj/item/clothing/shoes/magboots = 2, - /obj/item/weapon/tank/oxygen = 2, + /obj/item/tank/oxygen = 2, ) cost = 35 containertype = /obj/structure/closet/crate/secure/aether @@ -28,7 +28,7 @@ /obj/item/clothing/head/helmet/space/void/atmos/alt = 2, /obj/item/clothing/mask/breath = 2, /obj/item/clothing/shoes/magboots = 2, - /obj/item/weapon/tank/oxygen = 2, + /obj/item/tank/oxygen = 2, ) cost = 60 containertype = /obj/structure/closet/crate/secure/aether @@ -42,7 +42,7 @@ /obj/item/clothing/head/helmet/space/void/engineering = 2, /obj/item/clothing/mask/breath = 2, /obj/item/clothing/shoes/magboots = 2, - /obj/item/weapon/tank/oxygen = 2 + /obj/item/tank/oxygen = 2 ) cost = 35 containertype = /obj/structure/closet/crate/secure/xion @@ -56,7 +56,7 @@ /obj/item/clothing/head/helmet/space/void/engineering/construction = 2, /obj/item/clothing/mask/breath = 2, /obj/item/clothing/shoes/magboots = 2, - /obj/item/weapon/tank/oxygen = 2 + /obj/item/tank/oxygen = 2 ) cost = 35 containertype = /obj/structure/closet/crate/secure/xion @@ -70,7 +70,7 @@ /obj/item/clothing/head/helmet/space/void/engineering/hazmat = 2, /obj/item/clothing/mask/breath = 2, /obj/item/clothing/shoes/magboots = 2, - /obj/item/weapon/tank/oxygen = 2 + /obj/item/tank/oxygen = 2 ) cost = 35 containertype = /obj/structure/closet/crate/secure/xion @@ -84,7 +84,7 @@ /obj/item/clothing/head/helmet/space/void/engineering/alt = 2, /obj/item/clothing/mask/breath = 2, /obj/item/clothing/shoes/magboots = 2, - /obj/item/weapon/tank/oxygen = 2 + /obj/item/tank/oxygen = 2 ) cost = 60 containertype = /obj/structure/closet/crate/secure/xion @@ -98,7 +98,7 @@ /obj/item/clothing/head/helmet/space/void/medical = 2, /obj/item/clothing/mask/breath = 2, /obj/item/clothing/shoes/magboots = 2, - /obj/item/weapon/tank/oxygen = 2 + /obj/item/tank/oxygen = 2 ) cost = 35 containertype = /obj/structure/closet/crate/secure/veymed @@ -112,7 +112,7 @@ /obj/item/clothing/head/helmet/space/void/medical/emt = 2, /obj/item/clothing/mask/breath = 2, /obj/item/clothing/shoes/magboots = 2, - /obj/item/weapon/tank/oxygen = 2 + /obj/item/tank/oxygen = 2 ) cost = 35 containertype = /obj/structure/closet/crate/secure/veymed @@ -126,7 +126,7 @@ /obj/item/clothing/head/helmet/space/void/medical/bio = 2, /obj/item/clothing/mask/breath = 2, /obj/item/clothing/shoes/magboots = 2, - /obj/item/weapon/tank/oxygen = 2 + /obj/item/tank/oxygen = 2 ) cost = 35 containertype = /obj/structure/closet/crate/secure/nanomed @@ -140,7 +140,7 @@ /obj/item/clothing/head/helmet/space/void/medical/alt = 2, /obj/item/clothing/mask/breath = 2, /obj/item/clothing/shoes/magboots = 2, - /obj/item/weapon/tank/oxygen = 2 + /obj/item/tank/oxygen = 2 ) cost = 60 containertype = /obj/structure/closet/crate/secure/veymed @@ -154,7 +154,7 @@ /obj/item/clothing/head/helmet/space/void/medical/alt/tesh = 2, /obj/item/clothing/mask/breath = 2, /obj/item/clothing/shoes/magboots = 2, - /obj/item/weapon/tank/oxygen = 2 + /obj/item/tank/oxygen = 2 ) containername = "Vey-Med Autoadaptive voidsuit (teshari) crate" @@ -165,7 +165,7 @@ /obj/item/clothing/head/helmet/space/void/security = 2, /obj/item/clothing/mask/breath = 2, /obj/item/clothing/shoes/magboots = 2, - /obj/item/weapon/tank/oxygen = 2 + /obj/item/tank/oxygen = 2 ) cost = 35 containertype = /obj/structure/closet/crate/secure/heph @@ -178,7 +178,7 @@ /obj/item/clothing/head/helmet/space/void/security/riot = 2, /obj/item/clothing/mask/breath = 2, /obj/item/clothing/shoes/magboots = 2, - /obj/item/weapon/tank/oxygen = 2 + /obj/item/tank/oxygen = 2 ) cost = 60 containertype = /obj/structure/closet/crate/secure/heph @@ -192,7 +192,7 @@ /obj/item/clothing/head/helmet/space/void/security/alt = 2, /obj/item/clothing/mask/breath = 2, /obj/item/clothing/shoes/magboots = 2, - /obj/item/weapon/tank/oxygen = 2 + /obj/item/tank/oxygen = 2 ) cost = 60 containertype = /obj/structure/closet/crate/secure/heph @@ -205,7 +205,7 @@ /obj/item/clothing/suit/space/void/mining = 2, /obj/item/clothing/head/helmet/space/void/mining = 2, /obj/item/clothing/mask/breath = 2, - /obj/item/weapon/tank/oxygen = 2 + /obj/item/tank/oxygen = 2 ) cost = 35 containertype = /obj/structure/closet/crate/secure/xion @@ -218,7 +218,7 @@ /obj/item/clothing/suit/space/void/mining/alt = 2, /obj/item/clothing/head/helmet/space/void/mining/alt = 2, /obj/item/clothing/mask/breath = 2, - /obj/item/weapon/tank/oxygen = 2 + /obj/item/tank/oxygen = 2 ) cost = 60 containertype = /obj/structure/closet/crate/secure/grayson @@ -237,45 +237,45 @@ access = null /datum/supply_pack/voidsuits/explorer - name = "Expedition voidsuits" //YW Edit + name = JOB_EXPLORER + " voidsuits" contains = list( /obj/item/clothing/suit/space/void/exploration = 2, /obj/item/clothing/head/helmet/space/void/exploration = 2, /obj/item/clothing/mask/breath = 2, /obj/item/clothing/shoes/magboots = 2, - /obj/item/weapon/tank/oxygen = 2 + /obj/item/tank/oxygen = 2 ) cost = 45 containertype = /obj/structure/closet/crate/secure - containername = "Exploration voidsuit crate" //YW Edit + containername = JOB_EXPLORER + "voidsuit crate" access = list(access_eva, access_explorer) /datum/supply_pack/voidsuits/explorer_medic - name = "Expedition Medic voidsuits" //YW Edit + name = JOB_FIELD_MEDIC + " voidsuits" contains = list( /obj/item/clothing/suit/space/void/exploration = 2, /obj/item/clothing/head/helmet/space/void/exploration = 2, /obj/item/clothing/mask/breath = 2, /obj/item/clothing/shoes/magboots = 2, - /obj/item/weapon/tank/oxygen = 2 + /obj/item/tank/oxygen = 2 ) cost = 45 containertype = /obj/structure/closet/crate/secure - containername = "Exploration Medic voidsuit crate" //YW Edit - access = access_explorer // YW EDIT + containername = JOB_FIELD_MEDIC + " voidsuit crate" + access = access_explorer // YW EDI /datum/supply_pack/voidsuits/pilot - name = "Pilot voidsuits" + name = JOB_PILOT + " voidsuits" contains = list( /obj/item/clothing/suit/space/void/pilot = 1, /obj/item/clothing/head/helmet/space/void/pilot = 1, /obj/item/clothing/mask/breath = 1, /obj/item/clothing/shoes/magboots = 1, - /obj/item/weapon/tank/oxygen = 1 + /obj/item/tank/oxygen = 1 ) cost = 20 containertype = /obj/structure/closet/crate/secure - containername = "Pilot voidsuit crate" + containername = JOB_PILOT + " voidsuit crate" access = access_pilot // Surplus! @@ -383,7 +383,7 @@ contains = list( /obj/item/clothing/suit/space/void/salvagecorp_shipbreaker, /obj/item/clothing/head/helmet/space/void/salvagecorp_shipbreaker, - /obj/item/weapon/tank/jetpack/breaker + /obj/item/tank/jetpack/breaker ) cost = 100 containertype = /obj/structure/closet/crate/coyote_salvage @@ -391,7 +391,7 @@ /datum/supply_pack/voidsuits/unathi_bs_yw name = "Unathi breacher chassis" - contains = list(/obj/item/weapon/rig/breacher) //YW Edit + contains = list(/obj/item/rig/breacher) //YW Edit cost = 350 containertype = /obj/structure/closet/crate/secure containername = "Unathi breacher chassis crate" diff --git a/code/datums/underwear/top.dm b/code/datums/underwear/top.dm index 629027a2f44..12e53627caa 100644 --- a/code/datums/underwear/top.dm +++ b/code/datums/underwear/top.dm @@ -78,6 +78,10 @@ name = "Binder" icon_state = "binder_s" +/datum/category_item/underwear/top/binder_hyper + name = "HYPER Binder" + icon_state = "hyper_binder" + /datum/category_item/underwear/top/straplessbinder name = "Binder Strapless" icon_state = "straplessbinder_s" diff --git a/code/datums/underwear/undershirts.dm b/code/datums/underwear/undershirts.dm index 5a34d645e73..c74186ab0f4 100644 --- a/code/datums/underwear/undershirts.dm +++ b/code/datums/underwear/undershirts.dm @@ -253,6 +253,36 @@ icon_state = "leotard" has_color = TRUE +/datum/category_item/underwear/undershirt/tshirt + name = "Feminine T-Shirt" + icon_state = "t-shirt_full" + has_color = TRUE + +/datum/category_item/underwear/undershirt/tshirt_midriff + name = "Feminine T-Shirt (midriff)" + icon_state = "t-shirt_midriff" + has_color = TRUE + +/datum/category_item/underwear/undershirt/tshirt_shoulders + name = "Feminine T-Shirt (black with shoulders)" + icon_state = "t-shirt_full_shoulders" + has_color = TRUE + +/datum/category_item/underwear/undershirt/tshirt_midriff_shoulders + name = "Feminine T-Shirt (midriff, black with shoulders)" + icon_state = "t-shirt_midriff_shoulders" + has_color = TRUE + +/datum/category_item/underwear/undershirt/tshirt_shoulders_text + name = "Feminine T-Shirt (black with shoulders and text)" + icon_state = "t-shirt_full_shoulders_text" + has_color = TRUE + +/datum/category_item/underwear/undershirt/tshirt_midriff_shoulders_text + name = "Feminine T-Shirt (midriff, black with shoulders and text)" + icon_state = "t-shirt_midriff_shoulders_text" + has_color = TRUE + // YW CHANGES START HERE // /datum/category_item/underwear/undershirt/alien diff --git a/code/datums/uplink/ammunition.dm b/code/datums/uplink/ammunition.dm index 8a749250b66..76b5d440635 100644 --- a/code/datums/uplink/ammunition.dm +++ b/code/datums/uplink/ammunition.dm @@ -130,4 +130,4 @@ /datum/uplink_item/item/ammo/cell name = "weapon cell" - path = /obj/item/weapon/cell/device/weapon \ No newline at end of file + path = /obj/item/cell/device/weapon \ No newline at end of file diff --git a/code/datums/uplink/ammunition_vr.dm b/code/datums/uplink/ammunition_vr.dm index 2783710f7eb..a9c722b3573 100644 --- a/code/datums/uplink/ammunition_vr.dm +++ b/code/datums/uplink/ammunition_vr.dm @@ -7,22 +7,22 @@ /datum/uplink_item/item/ammo/cell/box name = "Weapon cell box" - path = /obj/item/weapon/storage/box/weapon_cells + path = /obj/item/storage/box/weapon_cells item_cost = 70 /datum/uplink_item/item/ammo/highcell name = "High capacity cell" - path = /obj/item/weapon/cell/high + path = /obj/item/cell/high item_cost = 15 /datum/uplink_item/item/ammo/supercell name = "Super capacity cell" - path = /obj/item/weapon/cell/super + path = /obj/item/cell/super item_cost = 30 /datum/uplink_item/item/ammo/voidcell name = "Void cell" - path = /obj/item/weapon/cell/device/weapon/recharge/alien/hybrid + path = /obj/item/cell/device/weapon/recharge/alien/hybrid item_cost = DEFAULT_TELECRYSTAL_AMOUNT * 1.5 antag_roles = list("ert") blacklisted = 1 diff --git a/code/datums/uplink/announcements.dm b/code/datums/uplink/announcements.dm index 5bc7dde793c..12330db3b80 100644 --- a/code/datums/uplink/announcements.dm +++ b/code/datums/uplink/announcements.dm @@ -5,7 +5,7 @@ category = /datum/uplink_category/services blacklisted = 1 -/datum/uplink_item/abstract/announcements/buy(var/obj/item/device/uplink/U, var/mob/user) +/datum/uplink_item/abstract/announcements/buy(var/obj/item/uplink/U, var/mob/user) . = ..() if(.) log_and_message_admins("has triggered a falsified [src]", user) @@ -24,7 +24,7 @@ return return list("title" = title, "message" = message) -/datum/uplink_item/abstract/announcements/fake_centcom/get_goods(var/obj/item/device/uplink/U, var/loc, var/mob/user, var/list/args) +/datum/uplink_item/abstract/announcements/fake_centcom/get_goods(var/obj/item/uplink/U, var/loc, var/mob/user, var/list/args) post_comm_message(args["title"], replacetext(args["message"], "\n", "
")) command_announcement.Announce(args["message"], args["title"]) return 1 @@ -34,11 +34,11 @@ desc = "Creates a fake crew arrival announcement as well as fake crew records, using your current appearance (including held items!) and worn id card. Trigger with care!" item_cost = 15 -/datum/uplink_item/abstract/announcements/fake_crew_arrival/get_goods(var/obj/item/device/uplink/U, var/loc, var/mob/user, var/list/args) +/datum/uplink_item/abstract/announcements/fake_crew_arrival/get_goods(var/obj/item/uplink/U, var/loc, var/mob/user, var/list/args) if(!user) return 0 - var/obj/item/weapon/card/id/I = user.GetIdCard() + var/obj/item/card/id/I = user.GetIdCard() var/datum/data/record/random_general_record var/datum/data/record/random_medical_record if(data_core.general.len) @@ -93,7 +93,7 @@ desc = "Interferes with the station's ion sensors. Triggers immediately upon investment." item_cost = 10 -/datum/uplink_item/abstract/announcements/fake_ion_storm/get_goods(var/obj/item/device/uplink/U, var/loc) +/datum/uplink_item/abstract/announcements/fake_ion_storm/get_goods(var/obj/item/uplink/U, var/loc) ion_storm_announcement() return 1 @@ -102,7 +102,7 @@ desc = "Interferes with the station's radiation sensors. Triggers immediately upon investment." item_cost = 15 -/datum/uplink_item/abstract/announcements/fake_radiation/get_goods(var/obj/item/device/uplink/U, var/loc) +/datum/uplink_item/abstract/announcements/fake_radiation/get_goods(var/obj/item/uplink/U, var/loc) var/datum/event_meta/EM = new(EVENT_LEVEL_MUNDANE, "Fake Radiation Storm", add_to_queue = 0) new/datum/event/radiation_storm/syndicate(EM) return 1 diff --git a/code/datums/uplink/armor.dm b/code/datums/uplink/armor.dm index 362aec5d92b..c82ba17b43f 100644 --- a/code/datums/uplink/armor.dm +++ b/code/datums/uplink/armor.dm @@ -7,7 +7,7 @@ /datum/uplink_item/item/armor/combat name = "Combat Armor Set" item_cost = 30 - path = /obj/item/weapon/storage/box/syndie_kit/combat_armor + path = /obj/item/storage/box/syndie_kit/combat_armor /datum/uplink_item/item/armor/heavy_vest name = "Heavy Armor Vest" @@ -17,12 +17,12 @@ /datum/uplink_item/item/armor/gorlexsuit name = "Mercenary Voidsuit" item_cost = 20 - path = /obj/item/weapon/storage/box/syndie_kit/voidsuit + path = /obj/item/storage/box/syndie_kit/voidsuit /datum/uplink_item/item/armor/gorlexsuit_fire name = "Mercenary Voidsuit (Fire)" item_cost = 20 - path = /obj/item/weapon/storage/box/syndie_kit/voidsuit/fire + path = /obj/item/storage/box/syndie_kit/voidsuit/fire /datum/uplink_item/item/armor/combat name = "Combat Platecarrier Set" diff --git a/code/datums/uplink/backup.dm b/code/datums/uplink/backup.dm index 3e21676da3b..d85d67aa057 100644 --- a/code/datums/uplink/backup.dm +++ b/code/datums/uplink/backup.dm @@ -12,7 +12,7 @@ a stunbaton, handcuffs, an agent ID, energy sword, pinpointer, and a jetpack." item_cost = DEFAULT_TELECRYSTAL_AMOUNT * 1.5 antag_roles = list("mercenary", "ert") //VOREStation Edit - path = /obj/item/weapon/antag_spawner/syndicate_drone/protector + path = /obj/item/antag_spawner/syndicate_drone/protector /datum/uplink_item/item/backup/syndicate_drone_combat_medic name = "Drone (Combat Medic)" @@ -22,7 +22,7 @@ sword, pinpointer, and a jetpack." item_cost = DEFAULT_TELECRYSTAL_AMOUNT * 1.5 antag_roles = list("mercenary", "ert") //VOREStation Edit - path = /obj/item/weapon/antag_spawner/syndicate_drone/combat_medic + path = /obj/item/antag_spawner/syndicate_drone/combat_medic /datum/uplink_item/item/backup/syndicate_drone_mechanist name = "Drone (Mechanist)" @@ -32,4 +32,4 @@ a set of construction materials, an ionic rapier, an agent ID, energy sword, pinpointer, and a jetpack." item_cost = DEFAULT_TELECRYSTAL_AMOUNT * 1.5 antag_roles = list("mercenary", "ert") //VOREStation Edit - path = /obj/item/weapon/antag_spawner/syndicate_drone/mechanist \ No newline at end of file + path = /obj/item/antag_spawner/syndicate_drone/mechanist \ No newline at end of file diff --git a/code/datums/uplink/badassery.dm b/code/datums/uplink/badassery.dm index 2541bac5045..c6c597918d9 100644 --- a/code/datums/uplink/badassery.dm +++ b/code/datums/uplink/badassery.dm @@ -21,21 +21,21 @@ name = "Random Item" desc = "Buys you one random item." -/datum/uplink_item/item/badassery/random_one/buy(var/obj/item/device/uplink/U, var/mob/user) +/datum/uplink_item/item/badassery/random_one/buy(var/obj/item/uplink/U, var/mob/user) var/datum/uplink_item/item = default_uplink_selection.get_random_item((user ? user.mind.tcrystals : DEFAULT_TELECRYSTAL_AMOUNT), U) return item.buy(U, user) -/datum/uplink_item/item/badassery/random_one/can_buy(var/obj/item/device/uplink/U, var/telecrystals) +/datum/uplink_item/item/badassery/random_one/can_buy(var/obj/item/uplink/U, var/telecrystals) return default_uplink_selection.get_random_item(telecrystals, U) != null /datum/uplink_item/item/badassery/random_many name = "Random Items" desc = "Buys you as many random items you can afford. Convenient packaging NOT included." -/datum/uplink_item/item/badassery/random_many/cost(obj/item/device/uplink/U, var/telecrystals) +/datum/uplink_item/item/badassery/random_many/cost(obj/item/uplink/U, var/telecrystals) return max(1, telecrystals) -/datum/uplink_item/item/badassery/random_many/get_goods(var/obj/item/device/uplink/U, var/loc, var/mob/M) +/datum/uplink_item/item/badassery/random_many/get_goods(var/obj/item/uplink/U, var/loc, var/mob/M) var/list/bought_items = list() for(var/datum/uplink_item/UI in get_random_uplink_items(U, M.mind.tcrystals, loc)) UI.purchase_log(U) @@ -45,7 +45,7 @@ return bought_items -/datum/uplink_item/item/badassery/random_many/purchase_log(obj/item/device/uplink/U) +/datum/uplink_item/item/badassery/random_many/purchase_log(obj/item/uplink/U) feedback_add_details("traitor_uplink_items_bought", "[src]") log_and_message_admins("used \the [U.loc] to buy \a [src] at random") @@ -77,7 +77,7 @@ ..() desc = "A crate containing [item_worth] telecrystal\s worth of surplus leftovers." -/datum/uplink_item/item/badassery/surplus/get_goods(var/obj/item/device/uplink/U, var/loc) +/datum/uplink_item/item/badassery/surplus/get_goods(var/obj/item/uplink/U, var/loc) var/obj/structure/largecrate/C = new(loc) var/random_items = get_surplus_items(null, item_worth, C) for(var/datum/uplink_item/I in random_items) diff --git a/code/datums/uplink/grenades.dm b/code/datums/uplink/grenades.dm index 851a9043a68..3e70d652c56 100644 --- a/code/datums/uplink/grenades.dm +++ b/code/datums/uplink/grenades.dm @@ -7,62 +7,62 @@ /datum/uplink_item/item/grenades/anti_photon name = "7xPhoton Disruption Grenades" item_cost = 10 - path = /obj/item/weapon/storage/box/anti_photons + path = /obj/item/storage/box/anti_photons /datum/uplink_item/item/grenades/anti_photon_singular name = "1xPhoton Disruption Grenade" item_cost = 2 - path = /obj/item/weapon/grenade/anti_photon + path = /obj/item/grenade/anti_photon /datum/uplink_item/item/grenades/metalfoam name = "7xMetal Foam Grenades" item_cost = 10 - path = /obj/item/weapon/storage/box/metalfoam + path = /obj/item/storage/box/metalfoam /datum/uplink_item/item/grenades/metalfoam_singular name = "1xMetal Foam Grenade" item_cost = 2 - path = /obj/item/weapon/grenade/chem_grenade/metalfoam + path = /obj/item/grenade/chem_grenade/metalfoam /datum/uplink_item/item/grenades/smoke name = "7xSmoke Grenades" item_cost = 10 - path = /obj/item/weapon/storage/box/smokes + path = /obj/item/storage/box/smokes /datum/uplink_item/item/grenades/smoke_singular name = "1xSmoke Grenade" item_cost = 2 - path = /obj/item/weapon/grenade/smokebomb + path = /obj/item/grenade/smokebomb /datum/uplink_item/item/grenades/emp name = "7xEMP Grenades" item_cost = 50 - path = /obj/item/weapon/storage/box/emps + path = /obj/item/storage/box/emps /datum/uplink_item/item/grenades/emp_singular name = "1xEMP Grenade" item_cost = 10 - path = /obj/item/weapon/grenade/empgrenade + path = /obj/item/grenade/empgrenade /datum/uplink_item/item/grenades/frags name = "7xFrag Grenades" item_cost = 80 - path = /obj/item/weapon/storage/box/frags + path = /obj/item/storage/box/frags /datum/uplink_item/item/grenades/frags_half name = "4x Frag Grenade" item_cost = 50 - path = /obj/item/weapon/storage/box/frags_half_box + path = /obj/item/storage/box/frags_half_box /datum/uplink_item/item/grenades/frags_singular name = "1x Frag Grenade" item_cost = 15 - path = /obj/item/weapon/grenade/explosive + path = /obj/item/grenade/explosive /datum/uplink_item/item/grenades/flashbangs name = "7xFlashbangs" item_cost = 40 - path = /obj/item/weapon/storage/box/flashbangs + path = /obj/item/storage/box/flashbangs /datum/uplink_item/item/grenades/flashbangs_singular name = "1xFlashbang" diff --git a/code/datums/uplink/hardsuit_modules.dm b/code/datums/uplink/hardsuit_modules.dm index c58ae6c19f6..5ebc6c9a106 100644 --- a/code/datums/uplink/hardsuit_modules.dm +++ b/code/datums/uplink/hardsuit_modules.dm @@ -23,7 +23,7 @@ /datum/uplink_item/item/hardsuit_modules/ewar_voice name = "Electrowarfare Suite and Voice Synthesiser" item_cost = 30 - path = /obj/item/weapon/storage/box/syndie_kit/ewar_voice + path = /obj/item/storage/box/syndie_kit/ewar_voice /datum/uplink_item/item/hardsuit_modules/maneuvering_jets name = "Maneuvering Jets" diff --git a/code/datums/uplink/implants.dm b/code/datums/uplink/implants.dm index d1bb93acdcc..f9fa30a9800 100644 --- a/code/datums/uplink/implants.dm +++ b/code/datums/uplink/implants.dm @@ -7,79 +7,79 @@ /datum/uplink_item/item/implants/imp_freedom name = "Freedom Implant" item_cost = 30 - path = /obj/item/weapon/storage/box/syndie_kit/imp_freedom + path = /obj/item/storage/box/syndie_kit/imp_freedom /datum/uplink_item/item/implants/imp_compress name = "Compressed Matter Implant" item_cost = 30 - path = /obj/item/weapon/storage/box/syndie_kit/imp_compress + path = /obj/item/storage/box/syndie_kit/imp_compress /datum/uplink_item/item/implants/imp_explosive name = "Explosive Implant (DANGER!)" item_cost = 60 - path = /obj/item/weapon/storage/box/syndie_kit/imp_explosive + path = /obj/item/storage/box/syndie_kit/imp_explosive /datum/uplink_item/item/implants/imp_uplink name = "Uplink Implant" //Original name: "Uplink Implant (Contains 5 Telecrystals)" item_cost = 50 //Original cost: 10 - path = /obj/item/weapon/storage/box/syndie_kit/imp_uplink + path = /obj/item/storage/box/syndie_kit/imp_uplink /datum/uplink_item/item/implants/imp_shades name = "Integrated Thermal-Shades Implant" item_cost = 80 - path = /obj/item/weapon/storage/box/syndie_kit/imp_aug + path = /obj/item/storage/box/syndie_kit/imp_aug /datum/uplink_item/item/implants/imp_taser name = "Integrated Taser Implant" item_cost = 30 - path = /obj/item/weapon/storage/box/syndie_kit/imp_aug/taser + path = /obj/item/storage/box/syndie_kit/imp_aug/taser /datum/uplink_item/item/implants/imp_laser name = "Integrated Laser Implant" item_cost = 50 - path = /obj/item/weapon/storage/box/syndie_kit/imp_aug/laser + path = /obj/item/storage/box/syndie_kit/imp_aug/laser /datum/uplink_item/item/implants/imp_dart name = "Integrated Dart Implant" item_cost = 60 - path = /obj/item/weapon/storage/box/syndie_kit/imp_aug/dart + path = /obj/item/storage/box/syndie_kit/imp_aug/dart /datum/uplink_item/item/implants/imp_toolkit name = "Integrated Toolkit Implant" item_cost = 80 - path = /obj/item/weapon/storage/box/syndie_kit/imp_aug/toolkit + path = /obj/item/storage/box/syndie_kit/imp_aug/toolkit /datum/uplink_item/item/implants/imp_medkit name = "Integrated Medkit Implant" item_cost = 60 - path = /obj/item/weapon/storage/box/syndie_kit/imp_aug/medkit + path = /obj/item/storage/box/syndie_kit/imp_aug/medkit /datum/uplink_item/item/implants/imp_analyzer name = "Integrated Research Scanner Implant" item_cost = 20 - path = /obj/item/weapon/storage/box/syndie_kit/imp_aug/analyzer + path = /obj/item/storage/box/syndie_kit/imp_aug/analyzer /datum/uplink_item/item/implants/imp_sword name = "Integrated Sword Implant" item_cost = 40 - path = /obj/item/weapon/storage/box/syndie_kit/imp_aug/sword + path = /obj/item/storage/box/syndie_kit/imp_aug/sword /datum/uplink_item/item/implants/imp_sprinter name = "Integrated Sprinter Implant" item_cost = 40 - path = /obj/item/weapon/storage/box/syndie_kit/imp_aug/sprinter + path = /obj/item/storage/box/syndie_kit/imp_aug/sprinter /datum/uplink_item/item/implants/imp_sprinter name = "Integrated Surge Implant" item_cost = 40 - path = /obj/item/weapon/storage/box/syndie_kit/imp_aug/surge + path = /obj/item/storage/box/syndie_kit/imp_aug/surge /datum/uplink_item/item/implants/imp_armblade name = "Integrated Armblade Implant" item_cost = 40 - path = /obj/item/weapon/storage/box/syndie_kit/imp_aug/armblade + path = /obj/item/storage/box/syndie_kit/imp_aug/armblade /datum/uplink_item/item/implants/imp_handblade name = "Integrated Handblade Implant" item_cost = 25 - path = /obj/item/weapon/storage/box/syndie_kit/imp_aug/handblade + path = /obj/item/storage/box/syndie_kit/imp_aug/handblade diff --git a/code/datums/uplink/medical.dm b/code/datums/uplink/medical.dm index c1ff848877e..01639c4113e 100644 --- a/code/datums/uplink/medical.dm +++ b/code/datums/uplink/medical.dm @@ -7,107 +7,107 @@ /datum/uplink_item/item/medical/onegativeblood name = "O- Blood Pack" item_cost = 1 - path = /obj/item/weapon/reagent_containers/blood/OMinus + path = /obj/item/reagent_containers/blood/OMinus /datum/uplink_item/item/medical/sinpockets name = "Box of Sin-Pockets" item_cost = 1 - path = /obj/item/weapon/storage/box/sinpockets + path = /obj/item/storage/box/sinpockets /datum/uplink_item/item/medical/ambrosiaseeds name = "Box of 7x ambrosia seed packets" item_cost = 1 - path = /obj/item/weapon/storage/box/ambrosia + path = /obj/item/storage/box/ambrosia /datum/uplink_item/item/medical/clotting name = "Clotting Medicine injector" item_cost = 5 - path = /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/clotting + path = /obj/item/reagent_containers/hypospray/autoinjector/biginjector/clotting /datum/uplink_item/item/medical/clotting_case name = "Clotting Medicine case" item_cost = 10 desc = "A case of three myelamine injectors. Can rapidly remove and stow up to six injectors." - path = /obj/item/weapon/storage/quickdraw/syringe_case/clotting + path = /obj/item/storage/quickdraw/syringe_case/clotting /datum/uplink_item/item/medical/bonemeds name = "Bone Repair injector" item_cost = 5 - path = /obj/item/weapon/reagent_containers/hypospray/autoinjector/bonemed + path = /obj/item/reagent_containers/hypospray/autoinjector/bonemed /datum/uplink_item/item/medical/clonemeds name = "Clone injector" item_cost = 5 - path = /obj/item/weapon/reagent_containers/hypospray/autoinjector/clonemed + path = /obj/item/reagent_containers/hypospray/autoinjector/clonemed /datum/uplink_item/item/medical/bonemeds_case name = "Bone Repair case" item_cost = 10 desc = "A case of three osteodaxon injectors. Can rapidly remove and stow up to six injectors." - path = /obj/item/weapon/storage/quickdraw/syringe_case/bonemed + path = /obj/item/storage/quickdraw/syringe_case/bonemed /datum/uplink_item/item/medical/clonemeds_case name = "Clone case" item_cost = 10 desc = "A case of three rezadone injectors. Can rapidly remove and stow up to six injectors." - path = /obj/item/weapon/storage/quickdraw/syringe_case/clonemed + path = /obj/item/storage/quickdraw/syringe_case/clonemed /datum/uplink_item/item/medical/ambrosiadeusseeds name = "Box of 7x ambrosia deus seed packets" item_cost = 5 - path = /obj/item/weapon/storage/box/ambrosiadeus + path = /obj/item/storage/box/ambrosiadeus /datum/uplink_item/item/medical/freezer name = "Portable Freezer" item_cost = 1 - path = /obj/item/weapon/storage/box/freezer + path = /obj/item/storage/box/freezer /datum/uplink_item/item/medical/monkeycubes name = "Box, Monkey Cubes" item_cost = 1 - path = /obj/item/weapon/storage/box/monkeycubes + path = /obj/item/storage/box/monkeycubes /datum/uplink_item/item/medical/farwacubes name = "Box, Farwa Cubes" item_cost = 1 - path = /obj/item/weapon/storage/box/monkeycubes + path = /obj/item/storage/box/monkeycubes /datum/uplink_item/item/medical/neaeracubes name = "Box, Neaera Cubes" item_cost = 1 - path = /obj/item/weapon/storage/box/monkeycubes/neaeracubes + path = /obj/item/storage/box/monkeycubes/neaeracubes /datum/uplink_item/item/medical/stokcubes name = "Box, Stok Cubes" item_cost = 1 - path = /obj/item/weapon/storage/box/monkeycubes/stokcubes + path = /obj/item/storage/box/monkeycubes/stokcubes /datum/uplink_item/item/medical/surgery name = "Surgery kit" item_cost = 5 - path = /obj/item/weapon/storage/firstaid/surgery + path = /obj/item/storage/firstaid/surgery /datum/uplink_item/item/medical/toxins name = "Anti-toxins medical kit" item_cost = 5 - path = /obj/item/weapon/storage/firstaid/toxin + path = /obj/item/storage/firstaid/toxin /datum/uplink_item/item/medical/o2 name = "oxygen deprivation medical kit" item_cost = 5 - path = /obj/item/weapon/storage/firstaid/o2 + path = /obj/item/storage/firstaid/o2 /datum/uplink_item/item/medical/fire name = "fire medical kit" item_cost = 5 - path = /obj/item/weapon/storage/firstaid/fire + path = /obj/item/storage/firstaid/fire /datum/uplink_item/item/medical/adv name = "advanced medical kit" item_cost = 10 - path = /obj/item/weapon/storage/firstaid/adv + path = /obj/item/storage/firstaid/adv /datum/uplink_item/item/medical/combat name = "Combat medical kit" item_cost = 20 - path = /obj/item/weapon/storage/firstaid/combat + path = /obj/item/storage/firstaid/combat diff --git a/code/datums/uplink/medical_vr.dm b/code/datums/uplink/medical_vr.dm index 5b4a0f31ccc..04524565963 100644 --- a/code/datums/uplink/medical_vr.dm +++ b/code/datums/uplink/medical_vr.dm @@ -9,82 +9,82 @@ /datum/uplink_item/item/medical/mre name = "Meal, Ready to eat (Random)" item_cost = 5 - path = /obj/item/weapon/storage/mre/random + path = /obj/item/storage/mre/random /datum/uplink_item/item/medical/protein name = "Meal, Ready to eat (Protein)" item_cost = 5 - path = /obj/item/weapon/storage/mre/menu10 + path = /obj/item/storage/mre/menu10 /datum/uplink_item/item/medical/emergency name = "Meal, Ready to eat (Emergency)" item_cost = 5 - path = /obj/item/weapon/storage/mre/menu11 + path = /obj/item/storage/mre/menu11 /datum/uplink_item/item/medical/medical name = "Meal, Ready to eat (medical)" item_cost = 5 - path = /obj/item/weapon/storage/mre/menu13 + path = /obj/item/storage/mre/menu13 /datum/uplink_item/item/medical/glucose name = "Glucose injector" item_cost = 5 - path = /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/glucose + path = /obj/item/reagent_containers/hypospray/autoinjector/biginjector/glucose /datum/uplink_item/item/medical/purity name = "Purity injector" item_cost = 5 - path = /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/purity + path = /obj/item/reagent_containers/hypospray/autoinjector/biginjector/purity /datum/uplink_item/item/medical/pain name = "Pain injector" item_cost = 5 - path = /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/pain + path = /obj/item/reagent_containers/hypospray/autoinjector/biginjector/pain /datum/uplink_item/item/medical/brute name = "Brute injector" item_cost = 5 - path = /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/brute + path = /obj/item/reagent_containers/hypospray/autoinjector/biginjector/brute /datum/uplink_item/item/medical/burn name = "Burn injector" item_cost = 5 - path = /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/burn + path = /obj/item/reagent_containers/hypospray/autoinjector/biginjector/burn /datum/uplink_item/item/medical/toxin name = "Toxin injector" item_cost = 5 - path = /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/toxin + path = /obj/item/reagent_containers/hypospray/autoinjector/biginjector/toxin /datum/uplink_item/item/medical/oxy name = "Oxy injector" item_cost = 5 - path = /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/oxy + path = /obj/item/reagent_containers/hypospray/autoinjector/biginjector/oxy /datum/uplink_item/item/medical/fire name = "Fire medical kit" item_cost = 10 - path = /obj/item/weapon/storage/firstaid/fire + path = /obj/item/storage/firstaid/fire /datum/uplink_item/item/medical/toxin name = "Toxin medical kit" item_cost = 10 - path = /obj/item/weapon/storage/firstaid/toxin + path = /obj/item/storage/firstaid/toxin /datum/uplink_item/item/medical/o2 name = "Oxygen medical kit" item_cost = 10 - path = /obj/item/weapon/storage/firstaid/o2 + path = /obj/item/storage/firstaid/o2 /datum/uplink_item/item/medical/adv name = "Advanced medical kit" item_cost = 10 - path = /obj/item/weapon/storage/firstaid/adv + path = /obj/item/storage/firstaid/adv /datum/uplink_item/item/medical/organ name = "Organ Repair injector" item_cost = 10 - path = /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/organ + path = /obj/item/reagent_containers/hypospray/autoinjector/biginjector/organ /datum/uplink_item/item/medical/stasis name = "Stasis Bag" @@ -99,67 +99,67 @@ /datum/uplink_item/item/medical/nanites name = "Healing Nanite pill bottle" item_cost = 30 - path = /obj/item/weapon/storage/pill_bottle/healing_nanites + path = /obj/item/storage/pill_bottle/healing_nanites /datum/uplink_item/item/medical/vermicetol name = "Vermicetol Bottle" item_cost = 30 - path = /obj/item/weapon/reagent_containers/glass/bottle/vermicetol + path = /obj/item/reagent_containers/glass/bottle/vermicetol antag_roles = list("ert") blacklisted = 1 /datum/uplink_item/item/medical/dermaline name = "Dermaline Bottle" item_cost = 30 - path = /obj/item/weapon/reagent_containers/glass/bottle/dermaline + path = /obj/item/reagent_containers/glass/bottle/dermaline antag_roles = list("ert") blacklisted = 1 /datum/uplink_item/item/medical/carthatoline name = "Carthatoline Bottle" item_cost = 30 - path = /obj/item/weapon/reagent_containers/glass/bottle/carthatoline + path = /obj/item/reagent_containers/glass/bottle/carthatoline antag_roles = list("ert") blacklisted = 1 /datum/uplink_item/item/medical/dexalinp name = "Dexalin Plus Bottle" item_cost = 30 - path = /obj/item/weapon/reagent_containers/glass/bottle/dexalinp + path = /obj/item/reagent_containers/glass/bottle/dexalinp antag_roles = list("ert") blacklisted = 1 /datum/uplink_item/item/medical/tramadol name = "Tramadol Bottle" item_cost = 30 - path = /obj/item/weapon/reagent_containers/glass/bottle/tramadol + path = /obj/item/reagent_containers/glass/bottle/tramadol antag_roles = list("ert") blacklisted = 1 /datum/uplink_item/item/medical/arithrazine name = "Arithrazine Bottle" item_cost = 50 - path = /obj/item/weapon/reagent_containers/glass/bottle/arithrazine + path = /obj/item/reagent_containers/glass/bottle/arithrazine antag_roles = list("ert") blacklisted = 1 /datum/uplink_item/item/medical/corophizine name = "Corophizine Bottle" item_cost = 50 - path = /obj/item/weapon/reagent_containers/glass/bottle/corophizine + path = /obj/item/reagent_containers/glass/bottle/corophizine antag_roles = list("ert") blacklisted = 1 /datum/uplink_item/item/medical/rezadone name = "Rezadone Bottle" item_cost = 50 - path = /obj/item/weapon/reagent_containers/glass/bottle/rezadone + path = /obj/item/reagent_containers/glass/bottle/rezadone antag_roles = list("ert") blacklisted = 1 /datum/uplink_item/item/medical/defib name = "Combat Defibrilator" item_cost = 90 - path = /obj/item/device/defib_kit/compact/combat + path = /obj/item/defib_kit/compact/combat antag_roles = list("mercenary", "ert") blacklisted = 1 diff --git a/code/datums/uplink/stealth_items.dm b/code/datums/uplink/stealth_items.dm index 973e851b029..14253352673 100644 --- a/code/datums/uplink/stealth_items.dm +++ b/code/datums/uplink/stealth_items.dm @@ -7,7 +7,7 @@ /datum/uplink_item/item/stealth_items/id name = "Agent ID card" item_cost = 10 - path = /obj/item/weapon/card/id/syndicate + path = /obj/item/card/id/syndicate /datum/uplink_item/item/stealth_items/syndigaloshes name = "No-Slip Shoes" @@ -17,17 +17,17 @@ /datum/uplink_item/item/stealth_items/spy name = "Bug Kit" item_cost = 10 - path = /obj/item/weapon/storage/box/syndie_kit/spy + path = /obj/item/storage/box/syndie_kit/spy /datum/uplink_item/item/stealth_items/chameleon_kit name = "Chameleon Kit" item_cost = 15 - path = /obj/item/weapon/storage/box/syndie_kit/chameleon + path = /obj/item/storage/box/syndie_kit/chameleon /datum/uplink_item/item/stealth_items/chameleon_projector name = "Chameleon-Projector" item_cost = 30 - path = /obj/item/device/chameleon + path = /obj/item/chameleon /datum/uplink_item/item/stealth_items/voice name = "Voice Changer" @@ -37,7 +37,7 @@ /datum/uplink_item/item/stealth_items/makeover name = "Makeover Kit" item_cost = 5 - path = /obj/item/weapon/makeover + path = /obj/item/makeover /datum/uplink_item/item/stealth_items/thievesgloves name = "Thieve's Gloves" @@ -49,4 +49,4 @@ name = "Stealth Watch" desc = "A strange watch which can be used to create a fake corpse if you are injured when it is active, as it projects a cloaking field around your person." item_cost = 50 - path = /obj/item/weapon/deadringer + path = /obj/item/deadringer diff --git a/code/datums/uplink/stealthy_weapons.dm b/code/datums/uplink/stealthy_weapons.dm index 570b8c33413..39cc3bf9ae2 100644 --- a/code/datums/uplink/stealthy_weapons.dm +++ b/code/datums/uplink/stealthy_weapons.dm @@ -7,77 +7,71 @@ /datum/uplink_item/item/stealthy_weapons/soap name = "Subversive Soap" item_cost = 5 - path = /obj/item/weapon/soap/syndie + path = /obj/item/soap/syndie /datum/uplink_item/item/stealthy_weapons/concealed_cane name = "Concealed Cane Sword" item_cost = 40 - path = /obj/item/weapon/cane/concealed + path = /obj/item/cane/concealed /datum/uplink_item/item/stealthy_weapons/detomatix name = "Detomatix PDA Cartridge" item_cost = 30 - path = /obj/item/weapon/cartridge/syndicate + path = /obj/item/cartridge/syndicate /datum/uplink_item/item/stealthy_weapons/parapen name = "Paralysis Pen" item_cost = 40 - path = /obj/item/weapon/pen/reagent/paralysis + path = /obj/item/pen/reagent/paralysis /datum/uplink_item/item/stealthy_weapons/cigarette_kit name = "Cigarette Kit" item_cost = 10 - path = /obj/item/weapon/storage/box/syndie_kit/cigarette + path = /obj/item/storage/box/syndie_kit/cigarette /datum/uplink_item/item/stealthy_weapons/random_toxin name = "Random Toxin - Beaker" item_cost = 10 - path = /obj/item/weapon/storage/box/syndie_kit/toxin + path = /obj/item/storage/box/syndie_kit/toxin /datum/uplink_item/item/stealthy_weapons/penblade name = "Energy Penblade, Black" desc = "A concealed energy dagger with the functional casing of a pen. Makes an impressive throwing weapon." item_cost = 20 - path = /obj/item/weapon/pen/blade + path = /obj/item/pen/blade /datum/uplink_item/item/stealthy_weapons/penblade_red name = "Energy Penblade, Red" desc = "A concealed energy dagger with the functional casing of a pen. Makes an impressive throwing weapon." item_cost = 20 - path = /obj/item/weapon/pen/blade/red + path = /obj/item/pen/blade/red /datum/uplink_item/item/stealthy_weapons/penblade_blue name = "Energy Penblade, Blue" desc = "A concealed energy dagger with the functional casing of a pen. Makes an impressive throwing weapon." item_cost = 20 - path = /obj/item/weapon/pen/blade/blue + path = /obj/item/pen/blade/blue /datum/uplink_item/item/stealthy_weapons/penblade_fancy name = "Energy Penblade, Fountain" desc = "A concealed energy dagger with the functional casing of a pen. Makes an impressive throwing weapon." item_cost = 20 - path = /obj/item/weapon/pen/blade/fountain - -/datum/uplink_item/item/stealthy_weapons/angrybuzzer - name = "Morphium Shock Ring" - desc = "An enigmatic ring used to create powerful electric shocks when punching. Can be used as a brute-force method of defibrillation." - item_cost = 40 - path = /obj/item/clothing/gloves/ring/buzzer + path = /obj/item/pen/blade/fountain /datum/uplink_item/item/stealthy_weapons/huntingtrap name = "Camonetted Beartraps" desc = "A box of unique beartraps which will partially cloak when deployed, allowing for more effective hunting." item_cost = 30 - path = /obj/item/weapon/storage/box/syndie_kit/deadliest_game + path = /obj/item/storage/box/syndie_kit/deadliest_game /datum/uplink_item/item/stealthy_weapons/virus name = "Virus Cultures" desc = "A box of three unique virus cultures. As dangerous to you as anyone else if handled improperly." item_cost = 40 - path = /obj/item/weapon/storage/box/syndie_kit/viral + path = /obj/item/storage/box/syndie_kit/viral /datum/uplink_item/item/stealthy_weapons/syringe_case name = "Quickdraw Syringe Case" desc = "A small box capable of holding six syringes for rapid deployment. Fits in your pocket." item_cost = 20 - path = /obj/item/weapon/storage/quickdraw/syringe_case + path = /obj/item/storage/quickdraw/syringe_case diff --git a/code/datums/uplink/telecrystals.dm b/code/datums/uplink/telecrystals.dm index 66a099581ee..406f31e1b24 100644 --- a/code/datums/uplink/telecrystals.dm +++ b/code/datums/uplink/telecrystals.dm @@ -5,7 +5,7 @@ category = /datum/uplink_category/telecrystals blacklisted = 1 -/datum/uplink_item/item/telecrystal/get_goods(var/obj/item/device/uplink/U, var/loc, var/mob/M) +/datum/uplink_item/item/telecrystal/get_goods(var/obj/item/uplink/U, var/loc, var/mob/M) return new /obj/item/stack/telecrystal(loc, cost(U, M.mind.tcrystals)) /datum/uplink_item/item/telecrystal/one @@ -35,5 +35,5 @@ /datum/uplink_item/item/telecrystal/all name = "Telecrystals - Empty Uplink" -/datum/uplink_item/item/telecrystal/all/cost(obj/item/device/uplink/U, mob/M) +/datum/uplink_item/item/telecrystal/all/cost(obj/item/uplink/U, mob/M) return max(1, M.mind.tcrystals) \ No newline at end of file diff --git a/code/datums/uplink/tools.dm b/code/datums/uplink/tools.dm index 9c1a46d632f..fe909fafd28 100644 --- a/code/datums/uplink/tools.dm +++ b/code/datums/uplink/tools.dm @@ -7,72 +7,72 @@ /datum/uplink_item/item/tools/binoculars name = "Binoculars" item_cost = 3 - path = /obj/item/device/binoculars + path = /obj/item/binoculars /datum/uplink_item/item/tools/toolbox // Leaving the basic as an option since powertools are loud. name = "Fully Loaded Toolbox" item_cost = 3 - path = /obj/item/weapon/storage/toolbox/syndicate + path = /obj/item/storage/toolbox/syndicate /datum/uplink_item/item/tools/powertoolbox name = "Fully Loaded Powertool Box" item_cost = 5 - path = /obj/item/weapon/storage/toolbox/syndicate/powertools + path = /obj/item/storage/toolbox/syndicate/powertools /datum/uplink_item/item/tools/clerical name = "Morphic Clerical Kit" item_cost = 5 - path = /obj/item/weapon/storage/box/syndie_kit/clerical + path = /obj/item/storage/box/syndie_kit/clerical /datum/uplink_item/item/tools/encryptionkey_radio name = "Encrypted Radio Channel Key" item_cost = 10 - path = /obj/item/device/encryptionkey/syndicate + path = /obj/item/encryptionkey/syndicate /datum/uplink_item/item/tools/money name = "Operations Funding" item_cost = 10 - path = /obj/item/weapon/storage/secure/briefcase/money + path = /obj/item/storage/secure/briefcase/money desc = "A briefcase with 10,000 untraceable thalers for funding your sneaky activities." /datum/uplink_item/item/tools/plastique name = "C-4 (Destroys walls)" item_cost = 10 - path = /obj/item/weapon/plastique + path = /obj/item/plastique /datum/uplink_item/item/tools/duffle name = "Black Duffle Bag" item_cost = 5 - path = /obj/item/weapon/storage/backpack/dufflebag/syndie + path = /obj/item/storage/backpack/dufflebag/syndie /datum/uplink_item/item/tools/duffle/med name = "Black Medical Duffle Bag" - path = /obj/item/weapon/storage/backpack/dufflebag/syndie/med + path = /obj/item/storage/backpack/dufflebag/syndie/med /datum/uplink_item/item/tools/duffle/ammo name = "Black Ammunition Duffle Bag" - path = /obj/item/weapon/storage/backpack/dufflebag/syndie/ammo + path = /obj/item/storage/backpack/dufflebag/syndie/ammo /datum/uplink_item/item/tools/shield_diffuser name = "Handheld Shield Diffuser" desc = "A small device used to disrupt energy barriers, and allow passage through them." item_cost = 16 - path = /obj/item/weapon/shield_diffuser + path = /obj/item/shield_diffuser /datum/uplink_item/item/tools/space_suit name = "Space Suit" item_cost = 10 - path = /obj/item/weapon/storage/box/syndie_kit/space + path = /obj/item/storage/box/syndie_kit/space /datum/uplink_item/item/tools/encryptionkey_binary name = "Binary Translator Key" item_cost = 15 - path = /obj/item/device/encryptionkey/binary + path = /obj/item/encryptionkey/binary /datum/uplink_item/item/tools/hacking_tool name = "Door Hacking Tool" item_cost = 15 - path = /obj/item/device/multitool/hacktool + path = /obj/item/multitool/hacktool desc = "Appears and functions as a standard multitool until the mode is toggled by applying a screwdriver appropriately. \ When in hacking mode this device will grant full access to any standard airlock within 20 to 40 seconds. \ This device will also be able to immediately access the last 6 to 8 hacked airlocks." @@ -80,7 +80,7 @@ /datum/uplink_item/item/tools/ai_detector name = "Anti-Surveillance Tool" item_cost = 15 - path = /obj/item/device/multitool/ai_detector + path = /obj/item/multitool/ai_detector desc = "This functions like a normal multitool, but includes an integrated camera network sensor that will warn the holder if they are being \ watched, by changing color and beeping. It is able to detect both AI visual surveillance and security camera utilization from terminals, and \ will give different warnings by beeping and changing colors based on what it detects. Only the holder can hear the warnings." @@ -88,20 +88,20 @@ /datum/uplink_item/item/tools/radio_jammer name = "Subspace Jammer" item_cost = 20 - path = /obj/item/device/radio_jammer + path = /obj/item/radio_jammer desc = "A device which is capable of disrupting subspace communications, preventing the use of headsets, PDAs, and communicators within \ a radius of seven meters. It runs off weapon cells, which can be replaced as needed. One cell will last for approximately ten minutes." /datum/uplink_item/item/tools/wall_elecrtifier name = "Wall Electrifier" item_cost = 5 - path = /obj/item/weapon/cell/spike + path = /obj/item/cell/spike desc = "A modified powercell which will electrify walls and reinforced floors in a 3x3 tile range around it. Always active." /datum/uplink_item/item/tools/emag name = "Cryptographic Sequencer" item_cost = 20 - path = /obj/item/weapon/card/emag + path = /obj/item/card/emag /datum/uplink_item/item/tools/graviton name = "Graviton Goggles" @@ -117,34 +117,34 @@ /datum/uplink_item/item/tools/packagebomb name = "Package Bomb (Small)" item_cost = 30 - path = /obj/item/weapon/storage/box/syndie_kit/demolitions + path = /obj/item/storage/box/syndie_kit/demolitions /datum/uplink_item/item/tools/powersink name = "Powersink (DANGER!)" item_cost = 40 - path = /obj/item/device/powersink + path = /obj/item/powersink /datum/uplink_item/item/tools/packagebomb/large name = "Package Bomb (Large)" item_cost = 60 - path = /obj/item/weapon/storage/box/syndie_kit/demolitions_heavy + path = /obj/item/storage/box/syndie_kit/demolitions_heavy /datum/uplink_item/item/tools/integratedcircuitprinter name = "Integrated Circuit Printer (Upgraded)" item_cost = 10 - path = /obj/item/device/integrated_circuit_printer/upgraded + path = /obj/item/integrated_circuit_printer/upgraded /* /datum/uplink_item/item/tools/packagebomb/huge name = "Package Bomb (Huge) item_cost = 100 - path = /obj/item/weapon/storage/box/syndie_kit/demolitions_super_heavy + path = /obj/item/storage/box/syndie_kit/demolitions_super_heavy */ /datum/uplink_item/item/tools/ai_module name = "Hacked AI Upload Module" item_cost = 60 - path = /obj/item/weapon/aiModule/syndicate + path = /obj/item/aiModule/syndicate /datum/uplink_item/item/tools/supply_beacon name = "Hacked Supply Beacon (DANGER!)" @@ -154,5 +154,5 @@ /datum/uplink_item/item/tools/teleporter name = "Teleporter Circuit Board" item_cost = DEFAULT_TELECRYSTAL_AMOUNT * 1.5 - path = /obj/item/weapon/circuitboard/teleporter + path = /obj/item/circuitboard/teleporter blacklisted = 1 diff --git a/code/datums/uplink/tools_vr.dm b/code/datums/uplink/tools_vr.dm index 710e47f55c4..0a6fd81e98a 100644 --- a/code/datums/uplink/tools_vr.dm +++ b/code/datums/uplink/tools_vr.dm @@ -4,28 +4,28 @@ /datum/uplink_item/item/tools/oxygen name = "Emergency Oxygen Tank" item_cost = 2 - path = /obj/item/weapon/tank/emergency/oxygen/double + path = /obj/item/tank/emergency/oxygen/double /datum/uplink_item/item/tools/phoron name = "Emergency Phoron Tank" item_cost = 2 - path = /obj/item/weapon/tank/emergency/phoron/double + path = /obj/item/tank/emergency/phoron/double /datum/uplink_item/item/tools/suitcooler name = "Emergency Suit Cooler" item_cost = 2 - path = /obj/item/device/suit_cooling_unit/emergency + path = /obj/item/suit_cooling_unit/emergency /datum/uplink_item/item/tools/beacon_op name = "Holomap Beacon-M" item_cost = 2 - path = /obj/item/device/holomap_beacon/operative + path = /obj/item/holomap_beacon/operative antag_roles = list("mercenary") /datum/uplink_item/item/tools/beacon_ert name = "Holomap Beacon-E" item_cost = 2 - path = /obj/item/device/holomap_beacon/ert + path = /obj/item/holomap_beacon/ert antag_roles = list("ert") /datum/uplink_item/item/tools/basiclaptop @@ -36,12 +36,12 @@ /datum/uplink_item/item/tools/survivalcapsule name = "Survival Capsule" item_cost = 5 - path = /obj/item/device/survivalcapsule + path = /obj/item/survivalcapsule /datum/uplink_item/item/tools/popcabin name = "Cabin Capsule" item_cost = 5 - path = /obj/item/device/survivalcapsule/popcabin + path = /obj/item/survivalcapsule/popcabin /datum/uplink_item/item/tools/nanopaste name = "Nanopaste (Advanced)" @@ -56,7 +56,7 @@ /datum/uplink_item/item/tools/inflatable name = "Inflatables" item_cost = 10 - path = /obj/item/weapon/storage/briefcase/inflatable + path = /obj/item/storage/briefcase/inflatable /datum/uplink_item/item/tools/elitetablet name = "Tablet (Advanced)" @@ -76,17 +76,17 @@ /datum/uplink_item/item/tools/smallpouch name = "Small Pouch" item_cost = 5 - path = /obj/item/weapon/storage/pouch/small + path = /obj/item/storage/pouch/small /datum/uplink_item/item/tools/normalpouch name = "Standard Pouch" item_cost = 10 - path = /obj/item/weapon/storage/pouch + path = /obj/item/storage/pouch /datum/uplink_item/item/tools/largepouch name = "Large Pouch" item_cost = 15 - path = /obj/item/weapon/storage/pouch/large + path = /obj/item/storage/pouch/large /datum/uplink_item/item/tools/elitelaptop name = "Laptop (Advanced)" @@ -96,39 +96,39 @@ /datum/uplink_item/item/tools/inducer name = "Inducer" item_cost = 20 - path = /obj/item/weapon/inducer/syndicate + path = /obj/item/inducer/syndicate /datum/uplink_item/item/tools/mappingunit_op name = "Mapping Unit-M" item_cost = 20 - path = /obj/item/device/mapping_unit/operative + path = /obj/item/mapping_unit/operative antag_roles = list("mercenary") /datum/uplink_item/item/tools/mappingunit_ert name = "Mapping Unit-E" item_cost = 20 - path = /obj/item/device/mapping_unit/ert + path = /obj/item/mapping_unit/ert antag_roles = list("ert") /datum/uplink_item/item/tools/luxurycapsule name = "Survival Capsule (Luxury)" item_cost = 40 - path = /obj/item/device/survivalcapsule/luxury + path = /obj/item/survivalcapsule/luxury /datum/uplink_item/item/tools/translocator name = "Translocator" item_cost = 40 - path = /obj/item/device/perfect_tele + path = /obj/item/perfect_tele /datum/uplink_item/item/tools/uav name = "Recon Skimmer" item_cost = 40 - path = /obj/item/device/uav + path = /obj/item/uav /datum/uplink_item/item/tools/barcapsule name = "Survival Capsule (Bar)" item_cost = 80 - path = /obj/item/device/survivalcapsule/luxurybar + path = /obj/item/survivalcapsule/luxurybar /datum/uplink_item/item/tools/capturecrystal name = "Capture Crystal" diff --git a/code/datums/uplink/uplink_items.dm b/code/datums/uplink/uplink_items.dm index 7b4fbded2b5..cfb5ac89ab7 100644 --- a/code/datums/uplink/uplink_items.dm +++ b/code/datums/uplink/uplink_items.dm @@ -43,7 +43,7 @@ var/datum/uplink/uplink = new() -/datum/uplink_item/proc/buy(var/obj/item/device/uplink/U, var/mob/user) +/datum/uplink_item/proc/buy(var/obj/item/uplink/U, var/mob/user) var/extra_args = extra_args(user) if(!extra_args) return @@ -69,13 +69,13 @@ var/datum/uplink/uplink = new() /datum/uplink_item/proc/extra_args(var/mob/user) return TRUE -/datum/uplink_item/proc/can_buy(var/obj/item/device/uplink/U, var/telecrystals) +/datum/uplink_item/proc/can_buy(var/obj/item/uplink/U, var/telecrystals) if(cost(U, telecrystals) > telecrystals) return FALSE return TRUE -/datum/uplink_item/proc/cost(obj/item/device/uplink/U, mob/M) +/datum/uplink_item/proc/cost(obj/item/uplink/U, mob/M) . = item_cost if(U) . = U.get_item_cost(src, .) @@ -84,7 +84,7 @@ var/datum/uplink/uplink = new() return desc // get_goods does not necessarily return physical objects, it is simply a way to acquire the uplink item without paying -/datum/uplink_item/proc/get_goods(var/obj/item/device/uplink/U, var/loc, mob/user) +/datum/uplink_item/proc/get_goods(var/obj/item/uplink/U, var/loc, mob/user) return FALSE /datum/uplink_item/proc/log_icon() @@ -103,7 +103,7 @@ var/datum/uplink/uplink = new() * Physical Uplink Entries * * * ********************************/ -/datum/uplink_item/item/buy(var/obj/item/device/uplink/U, var/mob/user) +/datum/uplink_item/item/buy(var/obj/item/uplink/U, var/mob/user) var/obj/item/I = ..() if(!I) return @@ -117,7 +117,7 @@ var/datum/uplink/uplink = new() A.put_in_any_hand_if_possible(I) return I -/datum/uplink_item/item/get_goods(var/obj/item/device/uplink/U, var/loc, var/mob/user) +/datum/uplink_item/item/get_goods(var/obj/item/uplink/U, var/loc, var/mob/user) var/obj/item/I = new path(loc) return I @@ -154,7 +154,7 @@ var/datum/uplink/uplink = new() var/crate_path = /obj/structure/largecrate var/list/paths = list() // List of paths to be spawned into the crate. -/datum/uplink_item/crated/get_goods(var/obj/item/device/uplink/U, var/loc) +/datum/uplink_item/crated/get_goods(var/obj/item/uplink/U, var/loc) var/obj/L = new crate_path(get_turf(loc)) L.adjust_scale(rand(9, 12) / 10, rand(9, 12) / 10) // Some variation in the crate / locker size. @@ -179,7 +179,7 @@ var/datum/uplink/uplink = new() /**************** * Support procs * ****************/ -/proc/get_random_uplink_items(var/obj/item/device/uplink/U, var/remaining_TC, var/loc) +/proc/get_random_uplink_items(var/obj/item/uplink/U, var/remaining_TC, var/loc) var/list/bought_items = list() while(remaining_TC) var/datum/uplink_item/I = default_uplink_selection.get_random_item(remaining_TC, U, bought_items) @@ -190,7 +190,7 @@ var/datum/uplink/uplink = new() return bought_items -/proc/get_surplus_items(var/obj/item/device/uplink/U, var/remaining_TC, var/loc) +/proc/get_surplus_items(var/obj/item/uplink/U, var/remaining_TC, var/loc) var/list/bought_items = list() var/override = TRUE while(remaining_TC) diff --git a/code/datums/uplink/visible_weapons.dm b/code/datums/uplink/visible_weapons.dm index 6c063ffb581..ef07eb8eac7 100644 --- a/code/datums/uplink/visible_weapons.dm +++ b/code/datums/uplink/visible_weapons.dm @@ -7,57 +7,57 @@ /datum/uplink_item/item/visible_weapons/tactknife name = "Tactical Knife" item_cost = 10 - path = /obj/item/weapon/material/knife/tacknife + path = /obj/item/material/knife/tacknife /datum/uplink_item/item/visible_weapons/combatknife name = "Combat Knife" item_cost = 20 - path = /obj/item/weapon/material/knife/tacknife/combatknife + path = /obj/item/material/knife/tacknife/combatknife /datum/uplink_item/item/visible_weapons/energy_sword name = "Energy Sword, Colorable" item_cost = 40 - path = /obj/item/weapon/melee/energy/sword + path = /obj/item/melee/energy/sword /datum/uplink_item/item/visible_weapons/energy_sword_pirate name = "Energy Cutlass, Colorable" item_cost = 40 - path = /obj/item/weapon/melee/energy/sword/pirate + path = /obj/item/melee/energy/sword/pirate /datum/uplink_item/item/visible_weapons/energy_spear name = "Energy Spear, Colorable" item_cost = 50 - path = /obj/item/weapon/melee/energy/spear + path = /obj/item/melee/energy/spear /datum/uplink_item/item/visible_weapons/claymore name = "Claymore" item_cost = 40 - path = /obj/item/weapon/material/sword + path = /obj/item/material/sword /datum/uplink_item/item/visible_weapons/chainsaw name = "Chainsaw" item_cost = 40 - path = /obj/item/weapon/chainsaw + path = /obj/item/chainsaw /datum/uplink_item/item/visible_weapons/katana name = "Katana" item_cost = 40 - path = /obj/item/weapon/material/sword/katana + path = /obj/item/material/sword/katana /datum/uplink_item/item/visible_weapons/dartgun name = "Dart Gun" item_cost = 30 - path = /obj/item/weapon/gun/projectile/dartgun + path = /obj/item/gun/projectile/dartgun /datum/uplink_item/item/visible_weapons/crossbow name = "Energy Crossbow" item_cost = 40 - path = /obj/item/weapon/gun/energy/crossbow + path = /obj/item/gun/energy/crossbow /datum/uplink_item/item/visible_weapons/silenced_45 name = "Silenced .45" item_cost = 40 - path = /obj/item/weapon/gun/projectile/silenced + path = /obj/item/gun/projectile/silenced /datum/uplink_item/item/visible_weapons/riggedlaser name = "Exosuit Rigged Laser" @@ -67,126 +67,126 @@ /datum/uplink_item/item/visible_weapons/revolver name = "Revolver" item_cost = 70 - path = /obj/item/weapon/gun/projectile/revolver + path = /obj/item/gun/projectile/revolver /datum/uplink_item/item/visible_weapons/mateba name = "Mateba" item_cost = 70 - path = /obj/item/weapon/gun/projectile/revolver/mateba + path = /obj/item/gun/projectile/revolver/mateba /datum/uplink_item/item/visible_weapons/judge name = "Judge" item_cost = 70 - path = /obj/item/weapon/gun/projectile/revolver/judge + path = /obj/item/gun/projectile/revolver/judge /datum/uplink_item/item/visible_weapons/pistol_standard_capacity name = "9mm Pistol" item_cost = 40 - path = /obj/item/weapon/gun/projectile/p92x + path = /obj/item/gun/projectile/p92x /datum/uplink_item/item/visible_weapons/pistol_large_capacity name = "9mm Pistol (with large capacity magazine)" item_cost = 70 - path = /obj/item/weapon/gun/projectile/p92x/large + path = /obj/item/gun/projectile/p92x/large /datum/uplink_item/item/visible_weapons/lemat name = "Mako Revolver" item_cost = 60 - path = /obj/item/weapon/gun/projectile/revolver/lemat + path = /obj/item/gun/projectile/revolver/lemat /datum/uplink_item/item/visible_weapons/Derringer name = ".357 Derringer Pistol" item_cost = 40 - path = /obj/item/weapon/gun/projectile/derringer + path = /obj/item/gun/projectile/derringer /datum/uplink_item/item/visible_weapons/heavysnipermerc name = "Anti-Materiel Rifle (14.5mm)" item_cost = DEFAULT_TELECRYSTAL_AMOUNT - path = /obj/item/weapon/gun/projectile/heavysniper + path = /obj/item/gun/projectile/heavysniper antag_roles = list("mercenary", "ert") //VOREStation Edit /datum/uplink_item/item/visible_weapons/heavysnipertraitor name = "Anti-Materiel Rifle (14.5mm)" desc = "A convenient collapsible rifle for covert assassination. Comes with 4 shots and its own secure carrying case." item_cost = DEFAULT_TELECRYSTAL_AMOUNT - path = /obj/item/weapon/storage/secure/briefcase/rifle + path = /obj/item/storage/secure/briefcase/rifle antag_roles = list("traitor", "autotraitor", "infiltrator") /datum/uplink_item/item/visible_weapons/fuelrodcannon name = "Fuel-Rod Cannon" desc = "An incredibly bulky weapon whose devastating firepower is only matched by its severe need for expensive, and rare, ammunition. This device will likely require extra preparation to use, you are warned." item_cost = DEFAULT_TELECRYSTAL_AMOUNT - path = /obj/item/weapon/storage/secure/briefcase/fuelrod + path = /obj/item/storage/secure/briefcase/fuelrod /datum/uplink_item/item/visible_weapons/tommygun name = "Tommy Gun (.45)" // We're keeping this because it's CLASSY. -Spades item_cost = 60 - path = /obj/item/weapon/gun/projectile/automatic/tommygun + path = /obj/item/gun/projectile/automatic/tommygun //These are for traitors (or other antags, perhaps) to have the option of purchasing some merc gear. /datum/uplink_item/item/visible_weapons/submachinegun name = "Submachine Gun (10mm)" item_cost = 60 - path = /obj/item/weapon/gun/projectile/automatic/c20r + path = /obj/item/gun/projectile/automatic/c20r /datum/uplink_item/item/visible_weapons/assaultrifle name = "Assault Rifle (5.45mm)" item_cost = 75 - path = /obj/item/weapon/gun/projectile/automatic/sts35 + path = /obj/item/gun/projectile/automatic/sts35 /datum/uplink_item/item/visible_weapons/combatshotgun name = "Combat Shotgun" item_cost = 75 - path = /obj/item/weapon/gun/projectile/shotgun/pump/combat + path = /obj/item/gun/projectile/shotgun/pump/combat /datum/uplink_item/item/visible_weapons/semishotgun name = "Semi-Automatic Shotgun" item_cost = 100 - path = /obj/item/weapon/gun/projectile/shotgun/semi + path = /obj/item/gun/projectile/shotgun/semi /datum/uplink_item/item/visible_weapons/leveraction name = "Lever Action Rifle" item_cost = 50 - path = /obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever + path = /obj/item/gun/projectile/shotgun/pump/rifle/lever /datum/uplink_item/item/visible_weapons/egun name = "Compact Energy Gun" item_cost = 30 - path = /obj/item/weapon/gun/energy/gun/compact + path = /obj/item/gun/energy/gun/compact /datum/uplink_item/item/visible_weapons/lasercannon name = "Laser Cannon" item_cost = 60 - path = /obj/item/weapon/gun/energy/lasercannon + path = /obj/item/gun/energy/lasercannon /datum/uplink_item/item/visible_weapons/lasercarbine name = "Laser Carbine" item_cost = 75 - path = /obj/item/weapon/gun/energy/laser + path = /obj/item/gun/energy/laser /datum/uplink_item/item/visible_weapons/ionrifle name = "Ion Rifle" item_cost = 40 - path = /obj/item/weapon/gun/energy/ionrifle + path = /obj/item/gun/energy/ionrifle /datum/uplink_item/item/visible_weapons/ionpistol name = "Ion Pistol" item_cost = 25 - path = /obj/item/weapon/gun/energy/ionrifle/pistol + path = /obj/item/gun/energy/ionrifle/pistol /datum/uplink_item/item/visible_weapons/xray name = "Xray Gun" item_cost = 60 - path = /obj/item/weapon/gun/energy/xray + path = /obj/item/gun/energy/xray /datum/uplink_item/item/visible_weapons/flamethrower name = "Heavy Flamethrower" desc = "A large flamethrower that runs on pressurized, gaseous phoron and electric charge." item_cost = 60 - path = /obj/item/weapon/storage/secure/briefcase/flamer + path = /obj/item/storage/secure/briefcase/flamer /datum/uplink_item/item/visible_weapons/concussion_grenades name = "Concussion Grenades (8)" desc = "A box of eight concussion grenades." item_cost = 30 - path = /obj/item/weapon/storage/box/syndie_kit/concussion_grenade + path = /obj/item/storage/box/syndie_kit/concussion_grenade diff --git a/code/datums/uplink/visible_weapons_vr.dm b/code/datums/uplink/visible_weapons_vr.dm index 764e30b12f9..77b6698212e 100644 --- a/code/datums/uplink/visible_weapons_vr.dm +++ b/code/datums/uplink/visible_weapons_vr.dm @@ -4,19 +4,19 @@ /datum/uplink_item/item/visible_weapons/holdout name = "Frontier Holdout" item_cost = 30 - path = /obj/item/weapon/gun/energy/locked/frontier/holdout/unlocked + path = /obj/item/gun/energy/locked/frontier/holdout/unlocked /datum/uplink_item/item/visible_weapons/frontier name = "Frontier Phaser" item_cost = 75 - path = /obj/item/weapon/gun/energy/locked/frontier/unlocked + path = /obj/item/gun/energy/locked/frontier/unlocked /datum/uplink_item/item/visible_weapons/carbine name = "Frontier Carbine" item_cost = 85 - path = /obj/item/weapon/gun/energy/locked/frontier/carbine/unlocked + path = /obj/item/gun/energy/locked/frontier/carbine/unlocked /datum/uplink_item/item/visible_weapons/rifle name = "Frontier Marksman Rifle" item_cost = 100 - path = /obj/item/weapon/gun/energy/locked/frontier/rifle/unlocked + path = /obj/item/gun/energy/locked/frontier/rifle/unlocked diff --git a/code/datums/verb_callbacks.dm b/code/datums/verb_callbacks.dm new file mode 100644 index 00000000000..77f817017d2 --- /dev/null +++ b/code/datums/verb_callbacks.dm @@ -0,0 +1,27 @@ +///like normal callbacks but they also record their creation time for measurement purposes +///they also require the same usr/user that made the callback to both still exist and to still have a client in order to execute +/datum/callback/verb_callback + ///the tick this callback datum was created in. used for testing latency + var/creation_time = 0 + +/datum/callback/verb_callback/New(thingtocall, proctocall, ...) + creation_time = DS2TICKS(world.time) + . = ..() + +#ifndef UNIT_TEST +/datum/callback/verb_callback/Invoke(...) + var/mob/our_user = user?.resolve() + if(QDELETED(our_user) || isnull(our_user.client)) + return + var/mob/temp = usr + . = ..() + usr = temp + +/datum/callback/verb_callback/InvokeAsync(...) + var/mob/our_user = user?.resolve() + if(QDELETED(our_user) || isnull(our_user.client)) + return + var/mob/temp = usr + . = ..() + usr = temp +#endif diff --git a/code/datums/wires/airlock.dm b/code/datums/wires/airlock.dm index 229412e93f0..1c22cf8a7c4 100644 --- a/code/datums/wires/airlock.dm +++ b/code/datums/wires/airlock.dm @@ -8,6 +8,7 @@ holder_type = /obj/machinery/door/airlock wire_count = 12 proper_name = "Airlock" + tgui_template = "WiresAirlock" /datum/wires/airlock/interactable(mob/user) var/obj/machinery/door/airlock/A = holder @@ -41,6 +42,39 @@ . += "The 'Check Timing Mechanism' light is [(A.normalspeed == 0 && haspower) ? "on" : "off"]." . += "The IDScan light is [(A.aiDisabledIdScanner == 0 && haspower) ? "on" : "off."]" +/datum/wires/airlock/tgui_data(mob/user) + var/list/data = ..() + + var/obj/machinery/door/airlock/A = holder + data["id_tag"] = A.id_tag + data["frequency"] = A.radio_connection ? A.frequency : null + data["min_freq"] = RADIO_LOW_FREQ + data["max_freq"] = RADIO_HIGH_FREQ + + return data + +/datum/wires/airlock/tgui_act(action, list/params) + . = ..() + if(.) + return + + var/obj/machinery/door/airlock/A = holder + + switch(action) + if("set_id_tag") + var/new_id = tgui_input_text(usr, "Enter a new ID tag for [A]", "[A] ID Tag", A.id_tag, 30, FALSE, TRUE) + if(new_id) + A.id_tag = new_id + return TRUE + + if("set_frequency") + A.set_frequency(sanitize_frequency(text2num(params["freq"]), RADIO_LOW_FREQ, RADIO_HIGH_FREQ)) + return TRUE + + if("clear_frequency") + A.set_frequency(null) + return TRUE + /datum/wires/airlock/on_cut(wire, mend) var/obj/machinery/door/airlock/A = holder switch(wire) diff --git a/code/datums/wires/explosive.dm b/code/datums/wires/explosive.dm index 52b0150b661..8267f05fcf6 100644 --- a/code/datums/wires/explosive.dm +++ b/code/datums/wires/explosive.dm @@ -21,14 +21,14 @@ explode() /datum/wires/explosive/c4 - holder_type = /obj/item/weapon/plastique + holder_type = /obj/item/plastique /datum/wires/explosive/c4/interactable(mob/user) - var/obj/item/weapon/plastique/P = holder + var/obj/item/plastique/P = holder if(P.open_panel) return TRUE return FALSE /datum/wires/explosive/c4/explode() - var/obj/item/weapon/plastique/P = holder + var/obj/item/plastique/P = holder P.explode(get_turf(P)) diff --git a/code/datums/wires/jukebox.dm b/code/datums/wires/jukebox.dm index 5f46a3deb96..c9a0b5c891c 100644 --- a/code/datums/wires/jukebox.dm +++ b/code/datums/wires/jukebox.dm @@ -31,16 +31,16 @@ var/obj/machinery/media/jukebox/A = holder switch(wire) if(WIRE_MAIN_POWER1) - holder.visible_message("[icon2html(A,viewers(holder))] The power light flickers.") + holder.visible_message(span_notice("[icon2html(A,viewers(holder))] The power light flickers.")) A.shock(usr, 90) if(WIRE_JUKEBOX_HACK) - holder.visible_message("[icon2html(A,viewers(holder))] The parental guidance light flickers.") + holder.visible_message(span_notice("[icon2html(A,viewers(holder))] The parental guidance light flickers.")) if(WIRE_REVERSE) - holder.visible_message("[icon2html(A,viewers(holder))] The data light blinks ominously.") + holder.visible_message(span_notice("[icon2html(A,viewers(holder))] The data light blinks ominously.")) if(WIRE_SPEEDUP) - holder.visible_message("[icon2html(A,viewers(holder))] The speakers squeaks.") + holder.visible_message(span_notice("[icon2html(A,viewers(holder))] The speakers squeaks.")) if(WIRE_SPEEDDOWN) - holder.visible_message("[icon2html(A,viewers(holder))] The speakers rumble.") + holder.visible_message(span_notice("[icon2html(A,viewers(holder))] The speakers rumble.")) if(WIRE_START) A.StartPlaying() if(WIRE_STOP) diff --git a/code/datums/wires/radio.dm b/code/datums/wires/radio.dm index ddc51108392..2932ca3118a 100644 --- a/code/datums/wires/radio.dm +++ b/code/datums/wires/radio.dm @@ -1,5 +1,5 @@ /datum/wires/radio - holder_type = /obj/item/device/radio + holder_type = /obj/item/radio wire_count = 3 proper_name = "Radio" @@ -8,13 +8,13 @@ return ..() /datum/wires/radio/interactable(mob/user) - var/obj/item/device/radio/R = holder + var/obj/item/radio/R = holder if(R.b_stat) return TRUE return FALSE /datum/wires/radio/on_pulse(wire) - var/obj/item/device/radio/R = holder + var/obj/item/radio/R = holder switch(wire) if(WIRE_RADIO_SIGNAL) R.listening = !R.listening && !is_cut(WIRE_RADIO_RECEIVER) @@ -28,7 +28,7 @@ ..() /datum/wires/radio/on_cut(wire, mend) - var/obj/item/device/radio/R = holder + var/obj/item/radio/R = holder switch(wire) if(WIRE_RADIO_SIGNAL) R.listening = mend && !is_cut(WIRE_RADIO_RECEIVER) diff --git a/code/datums/wires/wires.dm b/code/datums/wires/wires.dm index b366ac43a9c..b0b0e738cf9 100644 --- a/code/datums/wires/wires.dm +++ b/code/datums/wires/wires.dm @@ -9,6 +9,8 @@ /// The display name for the TGUI window. For example, given the var is "APC"... /// When the TGUI window is opened, "wires" will be appended to it's title, and it would become "APC wires". var/proper_name = "Unknown" + /// The template to use for TGUI. + var/tgui_template = "Wires" /// The total number of wires that our holder atom has. var/wire_count = NONE /// A list of all wires. For a list of valid wires defines that can go here, see `code/__DEFINES/wires.dm` @@ -92,7 +94,7 @@ /datum/wires/tgui_interact(mob/user, datum/tgui/ui = null) ui = SStgui.try_update_ui(user, src, ui) if(!ui) - ui = new(user, src, "Wires", "[proper_name] wires") + ui = new(user, src, tgui_template, "[proper_name] wires") ui.open() /datum/wires/tgui_state(mob/user) @@ -153,24 +155,23 @@ data["status"] = status return data -/datum/wires/tgui_act(action, list/params) +/datum/wires/tgui_act(action, list/params, datum/tgui/ui) if(..()) return TRUE - var/mob/user = usr - if(!interactable(user)) + if(!interactable(ui.user)) return - var/obj/item/I = user.get_active_hand() + var/obj/item/I = ui.user.get_active_hand() var/color = lowertext(params["wire"]) - holder.add_hiddenprint(user) + holder.add_hiddenprint(ui.user) switch(action) // Toggles the cut/mend status. if("cut") // if(!I.has_tool_quality(TOOL_WIRECUTTER) && !user.can_admin_interact()) if(!istype(I) || !I.has_tool_quality(TOOL_WIRECUTTER)) - to_chat(user, "You need wirecutters!") + to_chat(ui.user, span_warning("You need wirecutters!")) return playsound(holder, I.usesound, 20, 1) @@ -181,7 +182,7 @@ if("pulse") // if(!I.has_tool_quality(TOOL_MULTITOOL) && !user.can_admin_interact()) if(!istype(I) || !I.has_tool_quality(TOOL_MULTITOOL)) - to_chat(user, "You need a multitool!") + to_chat(ui.user, span_warning("You need a multitool!")) return playsound(holder, 'sound/weapons/empty.ogg', 20, 1) @@ -189,7 +190,7 @@ // If they pulse the electrify wire, call interactable() and try to shock them. if(get_wire(color) == WIRE_ELECTRIFY) - interactable(user) + interactable(ui.user) return TRUE @@ -198,18 +199,18 @@ if(is_attached(color)) var/obj/item/O = detach_assembly(color) if(O) - user.put_in_hands(O) + ui.user.put_in_hands(O) return TRUE - if(!istype(I, /obj/item/device/assembly/signaler)) - to_chat(user, "You need a remote signaller!") + if(!istype(I, /obj/item/assembly/signaler)) + to_chat(ui.user, span_warning("You need a remote signaller!")) return - if(user.unEquip(I)) + if(ui.user.unEquip(I)) attach_assembly(color, I) return TRUE else - to_chat(user, "[I] is stuck to your hand!") + to_chat(ui.user, span_warning("[I] is stuck to your hand!")) /** * Proc called to determine if the user can see wire define information, such as "Contraband", "Door Bolts", etc. @@ -224,7 +225,7 @@ // if(user.can_admin_interact()) // return TRUE var/obj/item/I = user.get_active_hand() - if(istype(I, /obj/item/device/multitool/alien)) + if(istype(I, /obj/item/multitool/alien)) return TRUE return FALSE @@ -400,7 +401,7 @@ * Arugments: * * S - the attached signaler receiving the signal. */ -/datum/wires/proc/pulse_assembly(obj/item/device/assembly/signaler/S) +/datum/wires/proc/pulse_assembly(obj/item/assembly/signaler/S) for(var/color in assemblies) if(S == assemblies[color]) pulse_color(color) @@ -416,7 +417,7 @@ * * color - the wire color. * * S - the signaler that a mob is trying to attach. */ -/datum/wires/proc/attach_assembly(color, obj/item/device/assembly/signaler/S) +/datum/wires/proc/attach_assembly(color, obj/item/assembly/signaler/S) if(S && istype(S) && !is_attached(color)) assemblies[color] = S S.forceMove(holder) @@ -432,7 +433,7 @@ * * color - the wire color. */ /datum/wires/proc/detach_assembly(color) - var/obj/item/device/assembly/signaler/S = get_attached(color) + var/obj/item/assembly/signaler/S = get_attached(color) if(S && istype(S)) assemblies -= color S.connected = null diff --git a/code/defines/obj.dm b/code/defines/obj.dm index a193aeb680d..918f1b89bd0 100644 --- a/code/defines/obj.dm +++ b/code/defines/obj.dm @@ -4,7 +4,7 @@ anchored = TRUE density = TRUE -/obj/structure/signpost/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/structure/signpost/attackby(obj/item/W as obj, mob/user as mob) return attack_hand(user) /obj/structure/signpost/attack_hand(mob/user as mob) @@ -137,7 +137,7 @@ /obj/item/mouse_drag_pointer = MOUSE_ACTIVE_POINTER -/obj/item/weapon/beach_ball +/obj/item/beach_ball icon = 'icons/misc/beach.dmi' icon_state = "beachball" name = "beach ball" @@ -151,11 +151,11 @@ drop_sound = 'sound/items/drop/rubber.ogg' pickup_sound = 'sound/items/pickup/rubber.ogg' -/obj/item/weapon/beach_ball/afterattack(atom/target as mob|obj|turf|area, mob/user as mob) +/obj/item/beach_ball/afterattack(atom/target as mob|obj|turf|area, mob/user as mob) user.drop_item() src.throw_at(target, throw_range, throw_speed, user) -/obj/item/weapon/beach_ball/dodgeball +/obj/item/beach_ball/dodgeball icon = 'icons/obj/balls_vr.dmi' icon_state = "dodgeball" item_state = "dodgeball" diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index 3b22956ab7c..74ca803b19a 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/phone +/obj/item/phone name = "red phone" desc = "Should anything ever go wrong..." icon = 'icons/obj/items.dmi' @@ -13,7 +13,7 @@ drop_sound = 'sound/items/drop/device.ogg' pickup_sound = 'sound/items/pickup/device.ogg' -/obj/item/weapon/rsp +/obj/item/rsp name = "\improper Rapid-Seed-Producer (RSP)" desc = "A device used to rapidly deploy seeds." icon = 'icons/obj/items.dmi' @@ -27,7 +27,7 @@ drop_sound = 'sound/items/drop/device.ogg' pickup_sound = 'sound/items/pickup/device.ogg' -/obj/item/weapon/soap +/obj/item/soap name = "soap" desc = "A cheap bar of soap. Smells of lye." gender = PLURAL @@ -41,103 +41,103 @@ throw_range = 20 var/randomize = TRUE var/square_chance = 10 - -/obj/item/weapon/soap/Initialize() + +/obj/item/soap/Initialize() if(randomize && prob(square_chance)) icon_state = "[icon_state]-alt" -/obj/item/weapon/soap/nanotrasen +/obj/item/soap/nanotrasen desc = "A NanoTrasen-brand bar of soap. Smells of phoron, a years-old marketing gimmick." icon_state = "soapnt" -/obj/item/weapon/soap/deluxe +/obj/item/soap/deluxe icon_state = "soapdeluxe" -/obj/item/weapon/soap/deluxe/New() +/obj/item/soap/deluxe/New() desc = "A deluxe Waffle Co. brand bar of soap. Smells of [pick("lavender", "vanilla", "strawberry", "chocolate" ,"space")]." ..() -/obj/item/weapon/soap/syndie +/obj/item/soap/syndie desc = "An untrustworthy bar of soap. Smells of fear." icon_state = "soapsyndie" -/obj/item/weapon/soap/space_soap +/obj/item/soap/space_soap desc = "Smells like hot metal and walnuts." icon_state = "space_soap" -/obj/item/weapon/soap/water_soap +/obj/item/soap/water_soap desc = "Smells like chlorine." icon_state = "water_soap" -/obj/item/weapon/soap/fire_soap +/obj/item/soap/fire_soap desc = "Smells like a campfire." icon_state = "fire_soap" -/obj/item/weapon/soap/rainbow_soap +/obj/item/soap/rainbow_soap desc = "Smells sickly sweet." icon_state = "rainbow_soap" -/obj/item/weapon/soap/diamond_soap +/obj/item/soap/diamond_soap desc = "Smells like saffron and vanilla." icon_state = "diamond_soap" -/obj/item/weapon/soap/uranium_soap +/obj/item/soap/uranium_soap desc = "Smells not great... Not terrible." icon_state = "uranium_soap" -/obj/item/weapon/soap/silver_soap +/obj/item/soap/silver_soap desc = "Smells like birch and amaranth." icon_state = "silver_soap" -/obj/item/weapon/soap/brown_soap +/obj/item/soap/brown_soap desc = "Smells like cinnamon and cognac." icon_state = "brown_soap" -/obj/item/weapon/soap/white_soap +/obj/item/soap/white_soap desc = "Smells like nutmeg and oats." icon_state = "white_soap" -/obj/item/weapon/soap/grey_soap +/obj/item/soap/grey_soap desc = "Smells like bergamot and lilies." icon_state = "grey_soap" -/obj/item/weapon/soap/pink_soap +/obj/item/soap/pink_soap desc = "Smells like bubblegum." icon_state = "pink_soap" -/obj/item/weapon/soap/purple_soap +/obj/item/soap/purple_soap desc = "Smells like lavender." icon_state = "purple_soap" -/obj/item/weapon/soap/blue_soap +/obj/item/soap/blue_soap desc = "Smells like cardamom." icon_state = "blue_soap" -/obj/item/weapon/soap/cyan_soap +/obj/item/soap/cyan_soap desc = "Smells like bluebells and peaches." icon_state = "cyan_soap" -/obj/item/weapon/soap/green_soap +/obj/item/soap/green_soap desc = "Smells like a freshly mowed lawn." icon_state = "green_soap" -/obj/item/weapon/soap/yellow_soap +/obj/item/soap/yellow_soap desc = "Smells like citron and ginger." icon_state = "yellow_soap" -/obj/item/weapon/soap/orange_soap +/obj/item/soap/orange_soap desc = "Smells like oranges and dark chocolate." icon_state = "orange_soap" -/obj/item/weapon/soap/red_soap +/obj/item/soap/red_soap desc = "Smells like cherries." icon_state = "red_soap" -/obj/item/weapon/soap/golden_soap +/obj/item/soap/golden_soap desc = "Smells like honey." icon_state = "golden_soap" -/obj/item/weapon/bikehorn +/obj/item/bikehorn name = "bike horn" desc = "A horn off of a bicycle." icon = 'icons/obj/items.dmi' @@ -151,7 +151,7 @@ attack_verb = list("HONKED") var/spam_flag = 0 -/obj/item/weapon/c_tube +/obj/item/c_tube name = "cardboard tube" desc = "A tube... of cardboard." icon = 'icons/obj/items.dmi' @@ -161,13 +161,13 @@ throw_speed = 4 throw_range = 5 -/obj/item/weapon/disk +/obj/item/disk name = "disk" icon = 'icons/obj/discs_vr.dmi' //VOREStation Edit drop_sound = 'sound/items/drop/disk.ogg' pickup_sound = 'sound/items/pickup/disk.ogg' -/obj/item/weapon/disk/nuclear +/obj/item/disk/nuclear name = "nuclear authentication disk" desc = "Better keep this safe." icon_state = "nucleardisk" @@ -175,7 +175,7 @@ w_class = ITEMSIZE_SMALL /* -/obj/item/weapon/game_kit +/obj/item/game_kit name = "Gaming Kit" icon = 'icons/obj/items.dmi' icon_state = "game_kit" @@ -187,7 +187,7 @@ w_class = ITEMSIZE_HUGE */ -/obj/item/weapon/gift +/obj/item/gift name = "gift" desc = "A wrapped item." icon = 'icons/obj/items.dmi' @@ -197,7 +197,7 @@ item_state = "gift" w_class = ITEMSIZE_LARGE -/*/obj/item/weapon/syndicate_uplink +/*/obj/item/syndicate_uplink name = "station bounced radio" desc = "Remain silent about this..." icon = 'icons/obj/radio.dmi' @@ -207,7 +207,7 @@ var/selfdestruct = 0.0 var/traitor_frequency = 0.0 var/mob/currentUser = null - var/obj/item/device/radio/origradio = null + var/obj/item/radio/origradio = null flags = ONBELT w_class = ITEMSIZE_SMALL item_state = "radio" @@ -216,7 +216,7 @@ matter = list(MAT_STEEL = 100) origin_tech = list(TECH_MAGNET = 2, TECH_ILLEGAL = 3)*/ -/obj/item/weapon/SWF_uplink +/obj/item/SWF_uplink name = "station-bounced radio" desc = "Used to communicate, it appears." icon = 'icons/obj/radio.dmi' @@ -225,7 +225,7 @@ var/uses = 4.0 var/selfdestruct = 0.0 var/traitor_frequency = 0.0 - var/obj/item/device/radio/origradio = null + var/obj/item/radio/origradio = null slot_flags = SLOT_BELT item_state = "radio" throwforce = 5 @@ -237,7 +237,7 @@ drop_sound = 'sound/items/drop/device.ogg' pickup_sound = 'sound/items/pickup/device.ogg' -/obj/item/weapon/staff +/obj/item/staff name = "wizards staff" desc = "Apparently a staff used by the wizard." icon = 'icons/obj/wizard.dmi' @@ -253,19 +253,19 @@ w_class = ITEMSIZE_SMALL attack_verb = list("bludgeoned", "whacked", "disciplined") -/obj/item/weapon/staff/broom +/obj/item/staff/broom name = "broom" desc = "Used for sweeping, and flying into the night while cackling. Black cat not included." icon = 'icons/obj/wizard.dmi' icon_state = "broom" -/obj/item/weapon/staff/gentcane +/obj/item/staff/gentcane name = "Gentlemans Cane" desc = "An ebony can with an ivory tip." icon = 'icons/obj/weapons.dmi' icon_state = "cane" -/obj/item/weapon/staff/stick +/obj/item/staff/stick name = "stick" desc = "A great tool to drag someone else's drinks across the bar." icon = 'icons/obj/weapons.dmi' @@ -277,7 +277,7 @@ throw_range = 5 w_class = ITEMSIZE_SMALL -/obj/item/weapon/module +/obj/item/module icon = 'icons/obj/module.dmi' icon_state = "std_module" item_state = "std_mod" @@ -286,37 +286,37 @@ drop_sound = 'sound/items/drop/component.ogg' pickup_sound = 'sound/items/pickup/component.ogg' -/obj/item/weapon/module/card_reader +/obj/item/module/card_reader name = "card reader module" icon_state = "card_mod" item_state = "std_mod" desc = "An electronic module for reading data and ID cards." -/obj/item/weapon/module/power_control +/obj/item/module/power_control name = "power control module" icon_state = "power_mod" item_state = "std_mod" desc = "Heavy-duty switching circuits for power control." matter = list(MAT_STEEL = 50, MAT_GLASS = 50) -/obj/item/weapon/module/id_auth +/obj/item/module/id_auth name = "\improper ID authentication module" icon_state = "id_mod" desc = "A module allowing secure authorization of ID cards." -/obj/item/weapon/module/cell_power +/obj/item/module/cell_power name = "power cell regulator module" icon_state = "power_mod" item_state = "std_mod" desc = "A converter and regulator allowing the use of power cells." -/obj/item/weapon/module/cell_power +/obj/item/module/cell_power name = "power cell charger module" icon_state = "power_mod" item_state = "std_mod" desc = "Charging circuits for power cells." -/obj/item/device/camera_bug +/obj/item/camera_bug name = "camera bug" icon = 'icons/obj/device.dmi' icon_state = "flash" @@ -325,13 +325,13 @@ throw_speed = 4 throw_range = 20 -/obj/item/weapon/camera_bug/attack_self(mob/usr as mob) +/obj/item/camera_bug/attack_self(mob/user as mob) var/list/cameras = new/list() for (var/obj/machinery/camera/C in cameranet.cameras) if (C.bugged && C.status) cameras.Add(C) if (length(cameras) == 0) - to_chat(usr, "No bugged functioning cameras found.") + to_chat(user, span_warning("No bugged functioning cameras found.")) return var/list/friendly_cameras = new/list() @@ -339,19 +339,19 @@ for (var/obj/machinery/camera/C in cameras) friendly_cameras.Add(C.c_tag) - var/target = tgui_input_list(usr, "Select the camera to observe", "Select Camera", friendly_cameras) + var/target = tgui_input_list(user, "Select the camera to observe", "Select Camera", friendly_cameras) if (!target) return for (var/obj/machinery/camera/C in cameras) if (C.c_tag == target) target = C break - if (usr.stat == 2) return + if (user.stat == 2) return - usr.client.eye = target + user.client.eye = target /* -/obj/item/weapon/cigarpacket +/obj/item/cigarpacket name = "Pete's Cuban Cigars" desc = "The most robust cigars on the planet." icon = 'icons/obj/cigarettes.dmi' @@ -363,7 +363,7 @@ flags = ONBELT */ -/obj/item/weapon/pai_cable +/obj/item/pai_cable desc = "A flexible coated cable with a universal jack on one end." name = "data cable" icon = 'icons/obj/power.dmi' @@ -371,20 +371,20 @@ var/obj/machinery/machine -/obj/item/weapon/pai_cable/Destroy() +/obj/item/pai_cable/Destroy() machine = null return ..() ///////////////////////////////////////Stock Parts ///////////////////////////////// -/obj/item/weapon/storage/part_replacer +/obj/item/storage/part_replacer name = "rapid part exchange device" desc = "A special mechanical module made to store, sort, and apply standard machine parts." icon = 'icons/obj/storage_vr.dmi' icon_state = "RPED" item_state = "RPED" w_class = ITEMSIZE_HUGE - can_hold = list(/obj/item/weapon/stock_parts) + can_hold = list(/obj/item/stock_parts) storage_slots = 50 use_to_pickup = TRUE allow_quick_gather = 1 @@ -401,7 +401,7 @@ var/unique_reskin = list("Soulless" = "RPED", "Soulful" = "RPED_old") -/obj/item/weapon/storage/part_replacer/proc/play_rped_sound() +/obj/item/storage/part_replacer/proc/play_rped_sound() //Plays the sound for RPED exhanging or installing parts. /* if(alt_sound && prob(1)) playsound(src, alt_sound, 40, 1) @@ -409,15 +409,15 @@ */ playsound(src, pshoom_or_beepboopblorpzingshadashwoosh, 40, 1) -/obj/item/weapon/storage/part_replacer/adv +/obj/item/storage/part_replacer/adv name = "advanced rapid part exchange device" desc = "A special mechanical module made to store, sort, and apply standard machine parts. This one has a greatly upgraded storage capacity, \ and the ability to hold beakers." - can_hold = list(/obj/item/weapon/stock_parts, /obj/item/weapon/reagent_containers/glass/beaker, /obj/item/weapon/cell,) // YW EDIT Cell + can_hold = list(/obj/item/stock_parts, /obj/item/reagent_containers/glass/beaker, /obj/item/cell/device/weapon) // YW EDIT Cell storage_slots = 200 max_storage_space = 400 -/obj/item/weapon/storage/part_replacer/adv/discount_bluespace +/obj/item/storage/part_replacer/adv/discount_bluespace name = "prototype bluespace rapid part exchange device" icon_state = "DBRPED" item_state = "DBRPED" @@ -430,17 +430,17 @@ unique_reskin = list("Soulless" = "DBRPED", "Soulful" = "DBRPED_old") -/obj/item/weapon/storage/part_replacer/examine(mob/user) +/obj/item/storage/part_replacer/examine(mob/user) . = ..() if(!reskin_ran) - . += "[src]'s external casing can be modified via alt-click." + . += span_notice("[src]'s external casing can be modified via alt-click.") -/obj/item/weapon/storage/part_replacer/AltClick(mob/user) +/obj/item/storage/part_replacer/AltClick(mob/user) . = ..() if(!reskin_ran) reskin_radial(user) -/obj/item/weapon/storage/part_replacer/proc/reskin_radial(mob/M) +/obj/item/storage/part_replacer/proc/reskin_radial(mob/M) if(!LAZYLEN(unique_reskin)) return @@ -460,7 +460,7 @@ reskin_ran = TRUE to_chat(M, "[src] is now '[pick]'.") -/obj/item/weapon/storage/part_replacer/drop_contents() // hacky-feeling tier-based drop system +/obj/item/storage/part_replacer/drop_contents() // hacky-feeling tier-based drop system hide_from(usr) var/turf/T = get_turf(src) var/lowest_rating = INFINITY // We want the lowest-part tier rating in the RPED so we only drop the lowest-tier parts. @@ -479,7 +479,7 @@ remove_from_storage(B, T) -/obj/item/weapon/stock_parts +/obj/item/stock_parts name = "stock part" desc = "What?" gender = PLURAL @@ -489,17 +489,17 @@ drop_sound = 'sound/items/drop/component.ogg' pickup_sound = 'sound/items/pickup/component.ogg' -/obj/item/weapon/stock_parts/New() +/obj/item/stock_parts/New() src.pixel_x = rand(-5.0, 5) src.pixel_y = rand(-5.0, 5) ..() -/obj/item/weapon/stock_parts/get_rating() +/obj/item/stock_parts/get_rating() return rating //Rank 1 -/obj/item/weapon/stock_parts/console_screen +/obj/item/stock_parts/console_screen name = "console screen" desc = "Used in the construction of computers and other devices with a interactive console." icon_state = "screen" @@ -507,7 +507,7 @@ rating = 5 // these are actually Really Important for some things?? matter = list(MAT_GLASS = 200) -/obj/item/weapon/stock_parts/capacitor +/obj/item/stock_parts/capacitor name = "capacitor" desc = "A basic capacitor used in the construction of a variety of devices." icon_state = "capacitor" @@ -517,43 +517,43 @@ var/charge = 0 var/max_charge = 1000 -/obj/item/weapon/stock_parts/capacitor/New() +/obj/item/stock_parts/capacitor/New() . = ..() max_charge *= rating -/obj/item/weapon/stock_parts/capacitor/proc/charge(var/amount) +/obj/item/stock_parts/capacitor/proc/charge(var/amount) charge += amount if(charge > max_charge) charge = max_charge -/obj/item/weapon/stock_parts/capacitor/proc/use(var/amount) +/obj/item/stock_parts/capacitor/proc/use(var/amount) if(charge) charge -= amount if(charge < 0) charge = 0 -/obj/item/weapon/stock_parts/scanning_module +/obj/item/stock_parts/scanning_module name = "scanning module" desc = "A compact, high resolution scanning module used in the construction of certain devices." icon_state = "scan_module" origin_tech = list(TECH_MAGNET = 1) matter = list(MAT_STEEL = 50,MAT_GLASS = 20) -/obj/item/weapon/stock_parts/manipulator +/obj/item/stock_parts/manipulator name = "micro-manipulator" desc = "A tiny little manipulator used in the construction of certain devices." icon_state = "micro_mani" origin_tech = list(TECH_MATERIAL = 1, TECH_DATA = 1) matter = list(MAT_STEEL = 30) -/obj/item/weapon/stock_parts/micro_laser +/obj/item/stock_parts/micro_laser name = "micro-laser" desc = "A tiny laser used in certain devices." icon_state = "micro_laser" origin_tech = list(TECH_MAGNET = 1) matter = list(MAT_STEEL = 10,MAT_GLASS = 20) -/obj/item/weapon/stock_parts/matter_bin +/obj/item/stock_parts/matter_bin name = "matter bin" desc = "A container for hold compressed matter awaiting re-construction." icon_state = "matter_bin" @@ -562,7 +562,7 @@ //Rank 2 -/obj/item/weapon/stock_parts/capacitor/adv +/obj/item/stock_parts/capacitor/adv name = "advanced capacitor" desc = "An advanced capacitor used in the construction of a variety of devices." icon_state = "capacitor_adv" @@ -570,7 +570,7 @@ rating = 2 matter = list(MAT_STEEL = 50,MAT_GLASS = 50) -/obj/item/weapon/stock_parts/scanning_module/adv +/obj/item/stock_parts/scanning_module/adv name = "advanced scanning module" desc = "A compact, high resolution scanning module used in the construction of certain devices." icon_state = "scan_module_adv" @@ -578,7 +578,7 @@ rating = 2 matter = list(MAT_STEEL = 50,MAT_GLASS = 20) -/obj/item/weapon/stock_parts/manipulator/nano +/obj/item/stock_parts/manipulator/nano name = "nano-manipulator" desc = "A tiny little manipulator used in the construction of certain devices." icon_state = "nano_mani" @@ -586,7 +586,7 @@ rating = 2 matter = list(MAT_STEEL = 30) -/obj/item/weapon/stock_parts/micro_laser/high +/obj/item/stock_parts/micro_laser/high name = "high-power micro-laser" desc = "A tiny laser used in certain devices." icon_state = "high_micro_laser" @@ -594,7 +594,7 @@ rating = 2 matter = list(MAT_STEEL = 10,MAT_GLASS = 20) -/obj/item/weapon/stock_parts/matter_bin/adv +/obj/item/stock_parts/matter_bin/adv name = "advanced matter bin" desc = "A container for hold compressed matter awaiting re-construction." icon_state = "advanced_matter_bin" @@ -604,7 +604,7 @@ //Rating 3 -/obj/item/weapon/stock_parts/capacitor/super +/obj/item/stock_parts/capacitor/super name = "super capacitor" desc = "A super-high capacity capacitor used in the construction of a variety of devices." icon_state = "capacitor_super" @@ -612,7 +612,7 @@ rating = 3 matter = list(MAT_STEEL = 50,MAT_GLASS = 50) -/obj/item/weapon/stock_parts/scanning_module/phasic +/obj/item/stock_parts/scanning_module/phasic name = "phasic scanning module" desc = "A compact, high resolution phasic scanning module used in the construction of certain devices." icon_state = "scan_module_phasic" @@ -620,7 +620,7 @@ rating = 3 matter = list(MAT_STEEL = 50,MAT_GLASS = 20) -/obj/item/weapon/stock_parts/manipulator/pico +/obj/item/stock_parts/manipulator/pico name = "pico-manipulator" desc = "A tiny little manipulator used in the construction of certain devices." icon_state = "pico_mani" @@ -628,7 +628,7 @@ rating = 3 matter = list(MAT_STEEL = 30) -/obj/item/weapon/stock_parts/micro_laser/ultra +/obj/item/stock_parts/micro_laser/ultra name = "ultra-high-power micro-laser" icon_state = "ultra_high_micro_laser" desc = "A tiny laser used in certain devices." @@ -636,7 +636,7 @@ rating = 3 matter = list(MAT_STEEL = 10,MAT_GLASS = 20) -/obj/item/weapon/stock_parts/matter_bin/super +/obj/item/stock_parts/matter_bin/super name = "super matter bin" desc = "A container for hold compressed matter awaiting re-construction." icon_state = "super_matter_bin" @@ -646,7 +646,7 @@ // Rating 4 - Anomaly -/obj/item/weapon/stock_parts/capacitor/hyper +/obj/item/stock_parts/capacitor/hyper name = "hyper capacitor" desc = "A hyper-capacity capacitor used in the construction of a variety of devices." icon_state = "capacitor_hyper" @@ -654,7 +654,7 @@ rating = 4 matter = list(MAT_STEEL = 80, MAT_GLASS = 40) -/obj/item/weapon/stock_parts/scanning_module/hyper +/obj/item/stock_parts/scanning_module/hyper name = "quantum scanning module" desc = "A compact, near-perfect resolution quantum scanning module used in the construction of certain devices." icon_state = "scan_module_hyper" @@ -662,7 +662,7 @@ rating = 4 matter = list(MAT_STEEL = 100,MAT_GLASS = 40) -/obj/item/weapon/stock_parts/manipulator/hyper +/obj/item/stock_parts/manipulator/hyper name = "planck-manipulator" desc = "A miniscule manipulator used in the construction of certain devices." icon_state = "hyper_mani" @@ -670,7 +670,7 @@ rating = 4 matter = list(MAT_STEEL = 30) -/obj/item/weapon/stock_parts/micro_laser/hyper +/obj/item/stock_parts/micro_laser/hyper name = "hyper-power micro-laser" icon_state = "hyper_micro_laser" desc = "A tiny laser used in certain devices." @@ -678,7 +678,7 @@ rating = 4 matter = list(MAT_STEEL = 30, MAT_GLASS = 40) -/obj/item/weapon/stock_parts/matter_bin/hyper +/obj/item/stock_parts/matter_bin/hyper name = "hyper matter bin" desc = "A container for holding compressed matter awaiting re-construction." icon_state = "hyper_matter_bin" @@ -688,7 +688,7 @@ // Rating 5 - Precursor -/obj/item/weapon/stock_parts/capacitor/omni +/obj/item/stock_parts/capacitor/omni name = "omni-capacitor" desc = "A capacitor of immense capacity used in the construction of a variety of devices." icon_state = "capacitor_omni" @@ -696,7 +696,7 @@ rating = 5 matter = list(MAT_STEEL = 80, MAT_GLASS = 40) -/obj/item/weapon/stock_parts/scanning_module/omni +/obj/item/stock_parts/scanning_module/omni name = "omni-scanning module" desc = "A compact, perfect resolution temporospatial scanning module used in the construction of certain devices." icon_state = "scan_module_omni" @@ -704,7 +704,7 @@ rating = 5 matter = list(MAT_STEEL = 100,MAT_GLASS = 40) -/obj/item/weapon/stock_parts/manipulator/omni +/obj/item/stock_parts/manipulator/omni name = "omni-manipulator" desc = "A strange, infinitesimal manipulator used in the construction of certain devices." icon_state = "omni_mani" @@ -712,7 +712,7 @@ rating = 5 matter = list(MAT_STEEL = 30) -/obj/item/weapon/stock_parts/micro_laser/omni +/obj/item/stock_parts/micro_laser/omni name = "omni-power micro-laser" icon_state = "omni_micro_laser" desc = "A strange laser used in certain devices." @@ -720,7 +720,7 @@ rating = 5 matter = list(MAT_STEEL = 30, MAT_GLASS = 40) -/obj/item/weapon/stock_parts/matter_bin/omni +/obj/item/stock_parts/matter_bin/omni name = "omni-matter bin" desc = "A strange container for holding compressed matter awaiting re-construction." icon_state = "omni_matter_bin" @@ -731,63 +731,63 @@ // Subspace stock parts -/obj/item/weapon/stock_parts/subspace/ansible +/obj/item/stock_parts/subspace/ansible name = "subspace ansible" icon_state = "subspace_ansible" desc = "A compact module capable of sensing extradimensional activity." origin_tech = list(TECH_DATA = 3, TECH_MAGNET = 5 ,TECH_MATERIAL = 4, TECH_BLUESPACE = 2) matter = list(MAT_STEEL = 30,MAT_GLASS = 10) -/obj/item/weapon/stock_parts/subspace/sub_filter +/obj/item/stock_parts/subspace/sub_filter name = "hyperwave filter" icon_state = "hyperwave_filter" desc = "A tiny device capable of filtering and converting super-intense radiowaves." origin_tech = list(TECH_DATA = 4, TECH_MAGNET = 2) matter = list(MAT_STEEL = 30,MAT_GLASS = 10) -/obj/item/weapon/stock_parts/subspace/amplifier +/obj/item/stock_parts/subspace/amplifier name = "subspace amplifier" icon_state = "subspace_amplifier" desc = "A compact micro-machine capable of amplifying weak subspace transmissions." origin_tech = list(TECH_DATA = 3, TECH_MAGNET = 4, TECH_MATERIAL = 4, TECH_BLUESPACE = 2) matter = list(MAT_STEEL = 30,MAT_GLASS = 10) -/obj/item/weapon/stock_parts/subspace/treatment +/obj/item/stock_parts/subspace/treatment name = "subspace treatment disk" icon_state = "treatment_disk" desc = "A compact micro-machine capable of stretching out hyper-compressed radio waves." origin_tech = list(TECH_DATA = 3, TECH_MAGNET = 2, TECH_MATERIAL = 5, TECH_BLUESPACE = 2) matter = list(MAT_STEEL = 30,MAT_GLASS = 10) -/obj/item/weapon/stock_parts/subspace/analyzer +/obj/item/stock_parts/subspace/analyzer name = "subspace wavelength analyzer" icon_state = "wavelength_analyzer" desc = "A sophisticated analyzer capable of analyzing cryptic subspace wavelengths." origin_tech = list(TECH_DATA = 3, TECH_MAGNET = 4, TECH_MATERIAL = 4, TECH_BLUESPACE = 2) matter = list(MAT_STEEL = 30,MAT_GLASS = 10) -/obj/item/weapon/stock_parts/subspace/crystal +/obj/item/stock_parts/subspace/crystal name = "ansible crystal" icon_state = "ansible_crystal" desc = "A crystal made from pure glass used to transmit laser databursts to subspace." origin_tech = list(TECH_MAGNET = 4, TECH_MATERIAL = 4, TECH_BLUESPACE = 2) matter = list(MAT_GLASS = 50) -/obj/item/weapon/stock_parts/subspace/transmitter +/obj/item/stock_parts/subspace/transmitter name = "subspace transmitter" icon_state = "subspace_transmitter" desc = "A large piece of equipment used to open a window into the subspace dimension." origin_tech = list(TECH_MAGNET = 5, TECH_MATERIAL = 5, TECH_BLUESPACE = 3) matter = list(MAT_STEEL = 50) -/obj/item/weapon/ectoplasm +/obj/item/ectoplasm name = "ectoplasm" desc = "Spooky!" gender = PLURAL icon = 'icons/obj/wizard.dmi' icon_state = "ectoplasm2" -/obj/item/weapon/research +/obj/item/research name = "research debugging device" desc = "Instant research tool. For testing purposes only." icon = 'icons/obj/stock_parts.dmi' @@ -796,7 +796,7 @@ // Additional construction stock parts -/obj/item/weapon/stock_parts/gear +/obj/item/stock_parts/gear name = "gear" desc = "A gear used for construction." icon = 'icons/obj/stock_parts.dmi' @@ -804,7 +804,7 @@ origin_tech = list(TECH_ENGINEERING = 1) matter = list(MAT_STEEL = 50) -/obj/item/weapon/stock_parts/motor +/obj/item/stock_parts/motor name = "motor" desc = "A motor used for construction." icon = 'icons/obj/stock_parts.dmi' @@ -812,7 +812,7 @@ origin_tech = list(TECH_ENGINEERING = 1) matter = list(MAT_STEEL = 60, MAT_GLASS = 10) -/obj/item/weapon/stock_parts/spring +/obj/item/stock_parts/spring name = "spring" desc = "A spring used for construction." icon = 'icons/obj/stock_parts.dmi' @@ -838,53 +838,53 @@ name = "basic parts bundle" desc = "5 of each T1 part, no more and no less." items = list( - /obj/item/weapon/stock_parts/matter_bin, - /obj/item/weapon/stock_parts/manipulator, - /obj/item/weapon/stock_parts/capacitor, - /obj/item/weapon/stock_parts/scanning_module, - /obj/item/weapon/stock_parts/micro_laser + /obj/item/stock_parts/matter_bin, + /obj/item/stock_parts/manipulator, + /obj/item/stock_parts/capacitor, + /obj/item/stock_parts/scanning_module, + /obj/item/stock_parts/micro_laser ) /obj/effect/spawner/parts/t2 name = "advanced parts bundle" desc = "5 of each T2 part, no more and no less." items = list( - /obj/item/weapon/stock_parts/matter_bin/adv, - /obj/item/weapon/stock_parts/manipulator/nano, - /obj/item/weapon/stock_parts/capacitor/adv, - /obj/item/weapon/stock_parts/scanning_module/adv, - /obj/item/weapon/stock_parts/micro_laser/high + /obj/item/stock_parts/matter_bin/adv, + /obj/item/stock_parts/manipulator/nano, + /obj/item/stock_parts/capacitor/adv, + /obj/item/stock_parts/scanning_module/adv, + /obj/item/stock_parts/micro_laser/high ) /obj/effect/spawner/parts/t3 name = "super parts bundle" desc = "5 of each T3 part, no more and no less." items = list( - /obj/item/weapon/stock_parts/matter_bin/super, - /obj/item/weapon/stock_parts/manipulator/pico, - /obj/item/weapon/stock_parts/capacitor/super, - /obj/item/weapon/stock_parts/scanning_module/phasic, - /obj/item/weapon/stock_parts/micro_laser/ultra + /obj/item/stock_parts/matter_bin/super, + /obj/item/stock_parts/manipulator/pico, + /obj/item/stock_parts/capacitor/super, + /obj/item/stock_parts/scanning_module/phasic, + /obj/item/stock_parts/micro_laser/ultra ) /obj/effect/spawner/parts/t4 name = "hyper parts bundle" desc = "5 of each T4 part, no more and no less." items = list( - /obj/item/weapon/stock_parts/matter_bin/hyper, - /obj/item/weapon/stock_parts/manipulator/hyper, - /obj/item/weapon/stock_parts/capacitor/hyper, - /obj/item/weapon/stock_parts/scanning_module/hyper, - /obj/item/weapon/stock_parts/micro_laser/hyper + /obj/item/stock_parts/matter_bin/hyper, + /obj/item/stock_parts/manipulator/hyper, + /obj/item/stock_parts/capacitor/hyper, + /obj/item/stock_parts/scanning_module/hyper, + /obj/item/stock_parts/micro_laser/hyper ) /obj/effect/spawner/parts/t5 name = "omni parts bundle" desc = "5 of each T5 part, no more and no less." items = list( - /obj/item/weapon/stock_parts/matter_bin/omni, - /obj/item/weapon/stock_parts/manipulator/omni, - /obj/item/weapon/stock_parts/capacitor/omni, - /obj/item/weapon/stock_parts/scanning_module/omni, - /obj/item/weapon/stock_parts/micro_laser/omni + /obj/item/stock_parts/matter_bin/omni, + /obj/item/stock_parts/manipulator/omni, + /obj/item/stock_parts/capacitor/omni, + /obj/item/stock_parts/scanning_module/omni, + /obj/item/stock_parts/micro_laser/omni ) diff --git a/code/defines/procs/announce.dm b/code/defines/procs/announce.dm index 858875a9827..7840615cccc 100644 --- a/code/defines/procs/announce.dm +++ b/code/defines/procs/announce.dm @@ -56,20 +56,20 @@ for(var/mob/M in player_list) if(!istype(M,/mob/new_player) && !isdeaf(M)) to_chat(M, "

[title]

") - to_chat(M, "[message]") + to_chat(M, span_alert("[message]")) if (announcer) - to_chat(M, " -[html_encode(announcer)]") + to_chat(M, span_alert(" -[html_encode(announcer)]")) // You'll need to update these to_world usages if you want to make these z-level specific ~Aro /datum/announcement/minor/Message(message as text, message_title as text) - to_world("[message]") + to_world(span_bold("[message]")) /datum/announcement/priority/Message(message as text, message_title as text) to_world("

[message_title]

") - to_world("[message]") + to_world(span_alert("[message]")) if(announcer) - to_world(" -[html_encode(announcer)]") - to_world("
") + to_world(span_alert(" -[html_encode(announcer)]")) + to_world(span_alert("
")) /datum/announcement/priority/command/Message(message as text, message_title as text, var/list/zlevels) var/command @@ -77,7 +77,7 @@ if (message_title) command += "

[message_title]

" - command += "
[message]
" + command += "
[span_alert(message)]
" command += "
" for(var/mob/M in player_list) if(zlevels && !(get_z(M) in zlevels)) @@ -86,13 +86,13 @@ to_chat(M, command) /datum/announcement/priority/Message(var/message as text, var/message_title as text, var/list/zlevels) - global_announcer.autosay("[message_title]: [message]", announcer ? announcer : ANNOUNCER_NAME, channel = "Common", zlevels = zlevels) + global_announcer.autosay(span_alert("[message_title]:") + " [message]", announcer ? announcer : ANNOUNCER_NAME, channel = "Common", zlevels = zlevels) /datum/announcement/priority/command/Message(var/message as text, var/message_title as text, var/list/zlevels) - global_announcer.autosay("[command_name()] - [message_title]: [message]", ANNOUNCER_NAME, channel = "Common", zlevels = zlevels) + global_announcer.autosay(span_alert("[command_name()] - [message_title]:") + " [message]", ANNOUNCER_NAME, channel = "Common", zlevels = zlevels) /datum/announcement/priority/security/Message(var/message as text, var/message_title as text, var/list/zlevels) - global_announcer.autosay("[message_title]: [message]", ANNOUNCER_NAME, channel = "Common", zlevels = zlevels) + global_announcer.autosay(span_alert("[message_title]:") + " [message]", ANNOUNCER_NAME, channel = "Common", zlevels = zlevels) /datum/announcement/proc/NewsCast(var/message as text, var/message_title as text) if(!newscast) @@ -131,7 +131,7 @@ log_game("[key_name(usr)] has made \a [announcement_type]: [message_title] - [message] - [announcer]") message_admins("[key_name_admin(usr)] has made \a [announcement_type].", 1) -/proc/GetNameAndAssignmentFromId(var/obj/item/weapon/card/id/I) +/proc/GetNameAndAssignmentFromId(var/obj/item/card/id/I) // Format currently matches that of newscaster feeds: Registered Name (Assigned Rank) return I.assignment ? "[I.registered_name] ([I.assignment])" : I.registered_name diff --git a/code/defines/procs/dbcore.dm b/code/defines/procs/dbcore.dm index 3a89c9ef8c4..9367b269643 100644 --- a/code/defines/procs/dbcore.dm +++ b/code/defines/procs/dbcore.dm @@ -56,7 +56,7 @@ var/DB_PORT = 3306 // This is the port your MySQL server is running on (3306 is _db_con = _dm_db_new_con() /DBConnection/proc/Connect(dbi_handler=src.dbi,user_handler=src.user,password_handler=src.password,cursor_handler) - if(!config.sql_enabled) + if(!CONFIG_GET(flag/sql_enabled)) return 0 if(!src) return 0 cursor_handler = src.default_cursor @@ -66,7 +66,7 @@ var/DB_PORT = 3306 // This is the port your MySQL server is running on (3306 is /DBConnection/proc/Disconnect() return _dm_db_close(_db_con) /DBConnection/proc/IsConnected() - if(!config.sql_enabled) return 0 + if(!CONFIG_GET(flag/sql_enabled)) return 0 var/success = _dm_db_is_connected(_db_con) return success @@ -76,7 +76,7 @@ var/DB_PORT = 3306 // This is the port your MySQL server is running on (3306 is /DBConnection/proc/SelectDB(database_name,dbi) if(IsConnected()) Disconnect() //return Connect("[dbi?"[dbi]":"dbi:mysql:[database_name]:[DB_SERVER]:[DB_PORT]"]",user,password) - return Connect("[dbi?"[dbi]":"dbi:mysql:[database_name]:[sqladdress]:[sqlport]"]",user,password) + return Connect("[dbi?"[dbi]":"dbi:mysql:[database_name]:[CONFIG_GET(string/address)]:[CONFIG_GET(number/port)]"]",user,password) /DBConnection/proc/NewQuery(sql_query,cursor_handler=src.default_cursor) return new/DBQuery(sql_query,src,cursor_handler) diff --git a/code/defines/procs/statistics.dm b/code/defines/procs/statistics.dm index 6ce55534ded..d11864fc755 100644 --- a/code/defines/procs/statistics.dm +++ b/code/defines/procs/statistics.dm @@ -1,5 +1,5 @@ /proc/sql_poll_population() - if(!sqllogging) + if(!CONFIG_GET(flag/enable_stat_tracking)) return var/admincount = GLOB.admins.len var/playercount = 0 @@ -18,15 +18,15 @@ /proc/sql_report_round_start() // TODO - if(!sqllogging) + if(!CONFIG_GET(flag/enable_stat_tracking)) return /proc/sql_report_round_end() // TODO - if(!sqllogging) + if(!CONFIG_GET(flag/enable_stat_tracking)) return /proc/sql_report_death(var/mob/living/carbon/human/H) - if(!sqllogging) + if(!CONFIG_GET(flag/enable_stat_tracking)) return if(!H) return @@ -60,7 +60,7 @@ /proc/sql_report_cyborg_death(var/mob/living/silicon/robot/H) - if(!sqllogging) + if(!CONFIG_GET(flag/enable_stat_tracking)) return if(!H) return @@ -95,7 +95,7 @@ /proc/statistic_cycle() set waitfor = 0 - if(!sqllogging) + if(!CONFIG_GET(flag/enable_stat_tracking)) return while(1) sql_poll_population() diff --git a/code/game/antagonist/alien/borer.dm b/code/game/antagonist/alien/borer.dm index f3465f5c66f..c36cd16d314 100644 --- a/code/game/antagonist/alien/borer.dm +++ b/code/game/antagonist/alien/borer.dm @@ -63,7 +63,7 @@ var/datum/antagonist/borer/borers borer.forceMove(get_turf(pick(get_vents()))) /datum/antagonist/borer/attempt_random_spawn() - if(config.aliens_allowed) ..() + if(CONFIG_GET(flag/aliens_allowed)) ..() /datum/antagonist/borer/proc/get_vents() var/list/vents = list() diff --git a/code/game/antagonist/alien/xenomorph.dm b/code/game/antagonist/alien/xenomorph.dm index 493a5ed40cd..2da4170fff9 100644 --- a/code/game/antagonist/alien/xenomorph.dm +++ b/code/game/antagonist/alien/xenomorph.dm @@ -27,7 +27,7 @@ var/datum/antagonist/xenos/xenomorphs xenomorphs = src /datum/antagonist/xenos/attempt_random_spawn() - if(config.aliens_allowed) ..() + if(CONFIG_GET(flag/aliens_allowed)) ..() /datum/antagonist/xenos/proc/get_vents() var/list/vents = list() diff --git a/code/game/antagonist/antagonist.dm b/code/game/antagonist/antagonist.dm index 8778cef2cc0..d9d11999f3a 100644 --- a/code/game/antagonist/antagonist.dm +++ b/code/game/antagonist/antagonist.dm @@ -48,7 +48,7 @@ var/landmark_id // Spawn point identifier. var/mob_path = /mob/living/carbon/human // Mobtype this antag will use if none is provided. var/feedback_tag = "traitor_objective" // End of round - var/bantype = "Syndicate" // Ban to check when spawning this antag. + var/bantype = JOB_SYNDICATE // Ban to check when spawning this antag. var/minimum_player_age = 7 // Players need to be at least minimum_player_age days old before they are eligable for auto-spawning var/suspicion_chance = 50 // Prob of being on the initial Command report var/flags = 0 // Various runtime options. @@ -72,11 +72,11 @@ // ID card stuff. var/default_access = list() - var/id_type = /obj/item/weapon/card/id + var/id_type = /obj/item/card/id var/antag_text = "You are an antagonist! Within the rules, \ try to act as an opposing force to the crew. Further RP and try to make sure \ - other players have fun! If you are confused or at a loss, always adminhelp, \ + other players have " + span_italics("fun") + "! If you are confused or at a loss, always adminhelp, \ and before taking extreme actions, please try to also contact the administration! \ Think through your actions and make the roleplay immersive! Please remember all \ rules aside from those without explicit exceptions apply to antagonists." @@ -91,7 +91,7 @@ get_starting_locations() if(!role_text_plural) role_text_plural = role_text - if(config.protect_roles_from_antagonist) + if(CONFIG_GET(flag/protect_roles_from_antagonist)) restricted_jobs |= protected_jobs if(antaghud_indicator) if(!hud_icon_reference) @@ -112,7 +112,7 @@ if(ghosts_only && !istype(player.current, /mob/observer/dead)) candidates -= player log_debug("[key_name(player)] is not eligible to become a [role_text]: Only ghosts may join as this role! They have been removed from the draft.") - else if(config.use_age_restriction_for_antags && player.current.client.player_age < minimum_player_age) + else if(CONFIG_GET(flag/use_age_restriction_for_antags) && player.current.client.player_age < minimum_player_age) candidates -= player log_debug("[key_name(player)] is not eligible to become a [role_text]: Is only [player.current.client.player_age] day\s old, has to be [minimum_player_age] day\s!") else if(player.special_role) @@ -145,7 +145,7 @@ if(!istype(player)) message_admins("[uppertext(ticker.mode.name)]: Failed to find a candidate for [role_text].") return 0 - to_chat(player.current, "You have been selected this round as an antagonist!") + to_chat(player.current, span_danger(span_italics("You have been selected this round as an antagonist!"))) message_admins("[uppertext(ticker.mode.name)]: Selected [player] as a [role_text].") if(istype(player.current, /mob/observer/dead)) create_default(player.current) diff --git a/code/game/antagonist/antagonist_add.dm b/code/game/antagonist/antagonist_add.dm index 56a716f24b8..76781e5defb 100644 --- a/code/game/antagonist/antagonist_add.dm +++ b/code/game/antagonist/antagonist_add.dm @@ -28,40 +28,40 @@ current_antagonists |= player if(faction_verb && player.current) - player.current.verbs |= faction_verb + add_verb(player.current, faction_verb) spawn(1 SECOND) //Added a delay so that this should pop up at the bottom and not the top of the text flood the new antag gets. - to_chat(player.current, "Once you decide on a goal to pursue, you can optionally display it to \ - everyone at the end of the shift with the Set Ambition verb, located in the IC tab. You can change this at any time, \ - and it otherwise has no bearing on your round.") - player.current.verbs |= /mob/living/proc/write_ambition + to_chat(player.current, span_notice("Once you decide on a goal to pursue, you can optionally display it to \ + everyone at the end of the shift with the " + span_bold("Set Ambition") + " verb, located in the IC tab. You can change this at any time, \ + and it otherwise has no bearing on your round.")) + add_verb(player.current, /mob/living/proc/write_ambition) if(can_speak_aooc) - player.current.client.verbs += /client/proc/aooc + add_verb(player.current.client, /client/proc/aooc) // Handle only adding a mind and not bothering with gear etc. if(nonstandard_role_type) faction_members |= player - to_chat(player.current, "You are \a [nonstandard_role_type]!") + to_chat(player.current, span_danger(span_large("You are \a [nonstandard_role_type]!"))) player.special_role = nonstandard_role_type if(nonstandard_role_msg) - to_chat(player.current, "[nonstandard_role_msg]") + to_chat(player.current, span_notice("[nonstandard_role_msg]")) update_icons_added(player) return 1 /datum/antagonist/proc/remove_antagonist(var/datum/mind/player, var/show_message, var/implanted) if(player.current && faction_verb) - player.current.verbs -= faction_verb + remove_verb(player.current, faction_verb) if(player in current_antagonists) - to_chat(player.current, "You are no longer a [role_text]!") + to_chat(player.current, span_danger(span_large("You are no longer a [role_text]!"))) current_antagonists -= player faction_members -= player player.special_role = null update_icons_removed(player) BITSET(player.current.hud_updateflag, SPECIALROLE_HUD) if(!is_special_character(player)) - player.current.verbs -= /mob/living/proc/write_ambition - player.current.client.verbs -= /client/proc/aooc + remove_verb(player.current, /mob/living/proc/write_ambition) + remove_verb(player.current.client, /client/proc/aooc) player.ambitions = "" return 1 - return 0 \ No newline at end of file + return 0 diff --git a/code/game/antagonist/antagonist_create.dm b/code/game/antagonist/antagonist_create.dm index 3dd683377f0..7ea5782aa50 100644 --- a/code/game/antagonist/antagonist_create.dm +++ b/code/game/antagonist/antagonist_create.dm @@ -32,7 +32,7 @@ /datum/antagonist/proc/create_id(var/assignment, var/mob/living/carbon/human/player, var/equip = 1) - var/obj/item/weapon/card/id/W = new id_type(player) + var/obj/item/card/id/W = new id_type(player) if(!W) return W.access |= default_access W.assignment = "[assignment]" @@ -41,15 +41,15 @@ return W /datum/antagonist/proc/create_radio(var/freq, var/mob/living/carbon/human/player) - var/obj/item/device/radio/R + var/obj/item/radio/R switch(freq) if(SYND_FREQ) - R = new/obj/item/device/radio/headset/syndicate(player) + R = new/obj/item/radio/headset/syndicate(player) if(RAID_FREQ) - R = new/obj/item/device/radio/headset/raider(player) + R = new/obj/item/radio/headset/raider(player) else - R = new/obj/item/device/radio/headset(player) + R = new/obj/item/radio/headset(player) R.set_frequency(freq) player.equip_to_slot_or_del(R, slot_l_ear) @@ -75,7 +75,7 @@ if(paper_spawn_loc) // Create and pass on the bomb code paper. - var/obj/item/weapon/paper/P = new(paper_spawn_loc) + var/obj/item/paper/P = new(paper_spawn_loc) P.info = "The nuclear authorization code is: [code]" P.name = "nuclear bomb code" if(leader && leader.current) @@ -85,10 +85,10 @@ if(!code_owner && leader) code_owner = leader if(code_owner) - code_owner.store_memory("Nuclear Bomb Code: [code]", 0, 0) + code_owner.store_memory(span_bold("Nuclear Bomb Code") + ": [code]", 0, 0) to_chat(code_owner.current, "The nuclear authorization code is: [code]") else - message_admins("Could not spawn nuclear bomb. Contact a developer.") + message_admins(span_danger("Could not spawn nuclear bomb. Contact a developer.")) return spawned_nuke = code @@ -101,18 +101,18 @@ window_flash(player.current.client) // Basic intro text. - to_chat(player.current, "You are a [role_text]!") + to_chat(player.current, span_danger(span_large("You are a [role_text]!"))) if(leader_welcome_text && player == leader) - to_chat(player.current, "[leader_welcome_text]") + to_chat(player.current, span_notice("[leader_welcome_text]")) else - to_chat(player.current, "[welcome_text]") - if (config.objectives_disabled) - to_chat(player.current, "[antag_text]") + to_chat(player.current, span_notice("[welcome_text]")) + if (CONFIG_GET(flag/objectives_disabled)) + to_chat(player.current, span_notice("[antag_text]")) if((flags & ANTAG_HAS_NUKE) && !spawned_nuke) create_nuke() - if (!config.objectives_disabled) + if (!CONFIG_GET(flag/objectives_disabled)) show_objectives(player) return 1 diff --git a/code/game/antagonist/antagonist_factions.dm b/code/game/antagonist/antagonist_factions.dm index 6e18b57a3b2..b1ee3e16e5b 100644 --- a/code/game/antagonist/antagonist_factions.dm +++ b/code/game/antagonist/antagonist_factions.dm @@ -1,6 +1,6 @@ /mob/living/proc/convert_to_rev(mob/M as mob in oview(src)) set name = "Convert Bourgeoise" - set category = "Abilities" + set category = "Abilities.Antag" if(!M.mind) return convert_to_faction(M.mind, revs) @@ -14,37 +14,37 @@ return if(faction.is_antagonist(player)) - to_chat(src, "\The [player.current] already serves the [faction.faction_descriptor].") + to_chat(src, span_warning("\The [player.current] already serves the [faction.faction_descriptor].")) return if(player_is_antag(player)) - to_chat(src, "\The [player.current]'s loyalties seem to be elsewhere...") + to_chat(src, span_warning("\The [player.current]'s loyalties seem to be elsewhere...")) return if(!faction.can_become_antag(player)) - to_chat(src, "\The [player.current] cannot be \a [faction.faction_role_text]!") + to_chat(src, span_warning("\The [player.current] cannot be \a [faction.faction_role_text]!")) return if(world.time < player.rev_cooldown) - to_chat(src, "You must wait five seconds between attempts.") + to_chat(src, span_danger("You must wait five seconds between attempts.")) return - to_chat(src, "You are attempting to convert \the [player.current]...") + to_chat(src, span_danger("You are attempting to convert \the [player.current]...")) log_admin("[src]([src.ckey]) attempted to convert [player.current].") - message_admins("[src]([src.ckey]) attempted to convert [player.current].") + message_admins(span_danger("[src]([src.ckey]) attempted to convert [player.current].")) player.rev_cooldown = world.time+100 var/choice = tgui_alert(player.current, "Asked by [src]: Do you want to join the [faction.faction_descriptor]?", "Join the [faction.faction_descriptor]?", list("No!","Yes!")) if(choice == "Yes!" && faction.add_antagonist_mind(player, 0, faction.faction_role_text, faction.faction_welcome)) - to_chat(src, "\The [player.current] joins the [faction.faction_descriptor]!") + to_chat(src, span_notice("\The [player.current] joins the [faction.faction_descriptor]!")) return - if(choice == "No!") - to_chat(player, "You reject this traitorous cause!") - to_chat(src, "\The [player.current] does not support the [faction.faction_descriptor]!") + if(!choice || choice == "No!") + to_chat(player, span_danger("You reject this traitorous cause!")) + to_chat(src, span_danger("\The [player.current] does not support the [faction.faction_descriptor]!")) /mob/living/proc/convert_to_loyalist(mob/M as mob in oview(src)) set name = "Convert Recidivist" - set category = "Abilities" + set category = "Abilities.Antag" if(!M.mind) return - convert_to_faction(M.mind, loyalists) \ No newline at end of file + convert_to_faction(M.mind, loyalists) diff --git a/code/game/antagonist/antagonist_helpers.dm b/code/game/antagonist/antagonist_helpers.dm index ebf212f0658..fc08d68e56c 100644 --- a/code/game/antagonist/antagonist_helpers.dm +++ b/code/game/antagonist/antagonist_helpers.dm @@ -8,7 +8,7 @@ if(!ignore_role) if(player.assigned_role in restricted_jobs) return FALSE - if(config.protect_roles_from_antagonist && (player.assigned_role in protected_jobs)) + if(CONFIG_GET(flag/protect_roles_from_antagonist) && (player.assigned_role in protected_jobs)) return FALSE if(avoid_silicons) var/datum/job/J = SSjob.get_job(player.assigned_role) @@ -53,4 +53,4 @@ return 1 /datum/antagonist/proc/is_latejoin_template() - return (flags & (ANTAG_OVERRIDE_MOB|ANTAG_OVERRIDE_JOB)) \ No newline at end of file + return (flags & (ANTAG_OVERRIDE_MOB|ANTAG_OVERRIDE_JOB)) diff --git a/code/game/antagonist/antagonist_objectives.dm b/code/game/antagonist/antagonist_objectives.dm index 223db7dda83..f05219465a2 100644 --- a/code/game/antagonist/antagonist_objectives.dm +++ b/code/game/antagonist/antagonist_objectives.dm @@ -1,12 +1,12 @@ /datum/antagonist/proc/create_global_objectives() - if(config.objectives_disabled) + if(CONFIG_GET(flag/objectives_disabled)) return 0 if(global_objectives && global_objectives.len) return 0 return 1 /datum/antagonist/proc/create_objectives(var/datum/mind/player) - if(config.objectives_disabled) + if(CONFIG_GET(flag/objectives_disabled)) return 0 if(create_global_objectives() || global_objectives.len) player.objectives |= global_objectives @@ -17,29 +17,29 @@ /datum/antagonist/proc/check_victory() var/result = 1 - if(config.objectives_disabled) + if(CONFIG_GET(flag/objectives_disabled)) return 1 if(global_objectives && global_objectives.len) for(var/datum/objective/O in global_objectives) if(!O.completed && !O.check_completion()) result = 0 if(result && victory_text) - to_world("[victory_text]") + to_world(span_boldannounce(span_large("[victory_text]"))) if(victory_feedback_tag) feedback_set_details("round_end_result","[victory_feedback_tag]") else if(loss_text) - to_world("[loss_text]") + to_world(span_boldannounce(span_large("[loss_text]"))) if(loss_feedback_tag) feedback_set_details("round_end_result","[loss_feedback_tag]") /mob/living/proc/write_ambition() set name = "Set Ambition" - set category = "IC" + set category = "IC.Antag" set src = usr if(!mind) return if(!is_special_character(mind)) - to_chat(src, "While you may perhaps have goals, this verb's meant to only be visible \ - to antagonists. Please make a bug report!") + to_chat(src, span_warning("While you may perhaps have goals, this verb's meant to only be visible \ + to antagonists. Please make a bug report!")) return var/new_ambitions = tgui_input_text(src, "Write a short sentence of what your character hopes to accomplish \ today as an antagonist. Remember that this is purely optional. It will be shown at the end of the \ @@ -49,7 +49,7 @@ new_ambitions = sanitize(new_ambitions) mind.ambitions = new_ambitions if(new_ambitions) - to_chat(src, "You've set your goal to be '[new_ambitions]'.") + to_chat(src, span_notice("You've set your goal to be '[new_ambitions]'.")) else - to_chat(src, "You leave your ambitions behind.") + to_chat(src, span_notice("You leave your ambitions behind.")) log_and_message_admins("has set their ambitions to now be: [new_ambitions].") diff --git a/code/game/antagonist/antagonist_panel.dm b/code/game/antagonist/antagonist_panel.dm index 0a165ce8ee9..8fa2d060f03 100644 --- a/code/game/antagonist/antagonist_panel.dm +++ b/code/game/antagonist/antagonist_panel.dm @@ -17,7 +17,7 @@ /datum/antagonist/proc/get_extra_panel_options() return -/datum/antagonist/proc/get_check_antag_output(var/datum/admins/caller) +/datum/antagonist/proc/get_check_antag_output(var/datum/admins/requester) if(!current_antagonists || !current_antagonists.len) return "" @@ -31,7 +31,7 @@ if(!M.client) dat += " (logged out)" if(M.stat == DEAD) dat += " (DEAD)" dat += "" - dat += "\[PP]\[PM\]\[TP\]" + dat += "\[PP]\[PM\]\[TP\]" else dat += "[player.key] Mob not found!" dat += "" @@ -39,23 +39,23 @@ if(flags & ANTAG_HAS_NUKE) dat += "
" - for(var/obj/item/weapon/disk/nuclear/N in nuke_disks) + for(var/obj/item/disk/nuclear/N in nuke_disks) dat += "" dat += "
Nuclear disk(s)
[N.name], " var/atom/disk_loc = N.loc while(!istype(disk_loc, /turf)) if(istype(disk_loc, /mob)) var/mob/M = disk_loc - dat += "carried by [M.real_name] " + dat += "carried by [M.real_name] " if(istype(disk_loc, /obj)) var/obj/O = disk_loc dat += "in \a [O.name] " disk_loc = disk_loc.loc dat += "in [disk_loc.loc] at ([disk_loc.x], [disk_loc.y], [disk_loc.z])
" - dat += get_additional_check_antag_output(caller) + dat += get_additional_check_antag_output(requester) dat += "
" return dat //Overridden elsewhere. -/datum/antagonist/proc/get_additional_check_antag_output(var/datum/admins/caller) +/datum/antagonist/proc/get_additional_check_antag_output(var/datum/admins/requester) return "" diff --git a/code/game/antagonist/antagonist_print.dm b/code/game/antagonist/antagonist_print.dm index 830d4806f57..15ed54af49f 100644 --- a/code/game/antagonist/antagonist_print.dm +++ b/code/game/antagonist/antagonist_print.dm @@ -3,20 +3,21 @@ if(!current_antagonists.len) return FALSE - var/text = "

The [current_antagonists.len == 1 ? "[role_text] was" : "[role_text_plural] were"]:" + var/text = "

" + text += span_normal(span_bold("The [current_antagonists.len == 1 ? "[role_text] was" : "[role_text_plural] were"]:")) for(var/datum/mind/P in current_antagonists) text += print_player_full(P) text += get_special_objective_text(P) if(P.ambitions) - text += "
Their goals for today were..." - text += "
[P.ambitions]" + text += "
Their goals for today were...
" + text += span_notice("[P.ambitions]") if(!global_objectives.len && P.objectives && P.objectives.len) var/failed var/num = 1 for(var/datum/objective/O in P.objectives) text += print_objective(O, num) if(O.check_completion()) - text += span_green("Success!") + text += span_green(span_bold("Success!")) feedback_add_details(feedback_tag,"[O.type]|SUCCESS") else text += span_red("Fail.") @@ -24,12 +25,13 @@ failed = TRUE num++ if(failed) - text += "
" + span_red("The [role_text] has failed.") + text += "
" + span_red(span_bold("The [role_text] has failed.")) else - text += "
" + span_green("The [role_text] was successful!") + text += "
" + span_green(span_bold("The [role_text] was successful!")) if(global_objectives && global_objectives.len) - text += "
Their objectives were:" + text += "
" + text += span_normal("Their objectives were:") var/num = 1 for(var/datum/objective/O in global_objectives) text += print_objective(O, num, TRUE) @@ -39,17 +41,17 @@ to_world(text) /datum/antagonist/proc/print_objective(var/datum/objective/O, var/num, var/append_success) - var/text = "
Objective [num]: [O.explanation_text] " + var/text = "
" + span_bold("Objective [num]:") + " [O.explanation_text] " if(append_success) if(O.check_completion()) - text += span_green("Success!") + text += span_green(span_bold("Success!")) else text += span_red("Fail.") return text /datum/antagonist/proc/print_player_lite(var/datum/mind/ply) var/role = ply.assigned_role ? "\improper[ply.assigned_role]" : "\improper[ply.special_role]" - var/text = "
[ply.name] ([ply.key]) as \a [role] (" + var/text = "
" + span_bold("[ply.name]") + " (" + span_bold("[ply.key]") + ") as \a " + span_bold("[role]") + " (" if(ply.current) if(ply.current.stat == DEAD) text += "died" @@ -58,7 +60,7 @@ else text += "survived" if(ply.current.real_name != ply.name) - text += " as [ply.current.real_name]" + text += " as " + span_bold("[ply.current.real_name]") else text += "body destroyed" text += ")" diff --git a/code/game/antagonist/antagonist_update.dm b/code/game/antagonist/antagonist_update.dm index b118cb91db8..e93e1e4c401 100644 --- a/code/game/antagonist/antagonist_update.dm +++ b/code/game/antagonist/antagonist_update.dm @@ -19,7 +19,7 @@ return player.current /datum/antagonist/proc/update_access(var/mob/living/player) - for(var/obj/item/weapon/card/id/id in player.contents) + for(var/obj/item/card/id/id in player.contents) player.set_id_info(id) /datum/antagonist/proc/clear_indicators(var/datum/mind/recipient) diff --git a/code/game/antagonist/mutiny/mutineer.dm b/code/game/antagonist/mutiny/mutineer.dm index 85aecd71ea6..28871a32e22 100644 --- a/code/game/antagonist/mutiny/mutineer.dm +++ b/code/game/antagonist/mutiny/mutineer.dm @@ -6,7 +6,7 @@ var/datum/antagonist/mutineer/mutineers role_text_plural = "Mutineers" id = MODE_MUTINEER antag_indicator = "mutineer" - restricted_jobs = list("Site Manager") + restricted_jobs = list(JOB_SITE_MANAGER) /datum/antagonist/mutineer/New(var/no_reference) ..() @@ -27,7 +27,7 @@ var/datum/antagonist/mutineer/mutineers /* var/list/directive_candidates = get_directive_candidates() if(!directive_candidates || directive_candidates.len == 0) - to_world("Mutiny mode aborted: no valid candidates for Directive X.") + to_world(span_warning("Mutiny mode aborted: no valid candidates for Directive X.")) return 0 head_loyalist = pick(loyalist_candidates) @@ -39,7 +39,7 @@ var/datum/antagonist/mutineer/mutineers proc/get_head_loyalist_candidates() var/list/candidates[0] for(var/mob/loyalist in player_list) - if(loyalist.mind && loyalist.mind.assigned_role == "Site Manager") + if(loyalist.mind && loyalist.mind.assigned_role == JOB_SITE_MANAGER) candidates.Add(loyalist.mind) return candidates @@ -47,7 +47,7 @@ var/datum/antagonist/mutineer/mutineers var/list/candidates[0] for(var/mob/mutineer in player_list) if(mutineer.client.prefs.be_special & BE_MUTINEER) - for(var/job in command_positions - "Site Manager") + for(var/job in command_positions - JOB_SITE_MANAGER) if(mutineer.mind && mutineer.mind.assigned_role == job) candidates.Add(mutineer.mind) return candidates diff --git a/code/game/antagonist/outsider/commando.dm b/code/game/antagonist/outsider/commando.dm index b7bd756c97a..d0acbf61e73 100644 --- a/code/game/antagonist/outsider/commando.dm +++ b/code/game/antagonist/outsider/commando.dm @@ -7,7 +7,7 @@ var/datum/antagonist/deathsquad/mercenary/commandos role_text_plural = "Commandos" welcome_text = "You are in the employ of a criminal syndicate hostile to corporate interests." antag_sound = 'sound/effects/antag_notice/deathsquid_alert.ogg' - id_type = /obj/item/weapon/card/id/centcom/ERT + id_type = /obj/item/card/id/centcom/ERT hard_cap = 4 hard_cap_round = 8 @@ -22,15 +22,15 @@ var/datum/antagonist/deathsquad/mercenary/commandos /datum/antagonist/deathsquad/mercenary/equip(var/mob/living/carbon/human/player) player.equip_to_slot_or_del(new /obj/item/clothing/under/syndicate(player), slot_w_uniform) - player.equip_to_slot_or_del(new /obj/item/weapon/gun/projectile/silenced(player), slot_belt) + player.equip_to_slot_or_del(new /obj/item/gun/projectile/silenced(player), slot_belt) player.equip_to_slot_or_del(new /obj/item/clothing/shoes/boots/swat(player), slot_shoes) player.equip_to_slot_or_del(new /obj/item/clothing/gloves/swat(player), slot_gloves) player.equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal(player), slot_glasses) player.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/syndicate(player), slot_wear_mask) - player.equip_to_slot_or_del(new /obj/item/weapon/storage/box(player), slot_in_backpack) + player.equip_to_slot_or_del(new /obj/item/storage/box(player), slot_in_backpack) player.equip_to_slot_or_del(new /obj/item/ammo_magazine/clip/c45(player), slot_in_backpack) - player.equip_to_slot_or_del(new /obj/item/weapon/rig/merc(player), slot_back) - player.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse_rifle(player), slot_r_hand) + player.equip_to_slot_or_del(new /obj/item/rig/merc(player), slot_back) + player.equip_to_slot_or_del(new /obj/item/gun/energy/pulse_rifle(player), slot_r_hand) create_id("Commando", player) create_radio(SYND_FREQ, player) diff --git a/code/game/antagonist/outsider/deathsquad.dm b/code/game/antagonist/outsider/deathsquad.dm index 01b579b7de3..54ab78dd360 100644 --- a/code/game/antagonist/outsider/deathsquad.dm +++ b/code/game/antagonist/outsider/deathsquad.dm @@ -42,17 +42,17 @@ var/datum/antagonist/deathsquad/deathsquad player.equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal(player), slot_glasses) player.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/swat(player), slot_wear_mask) if (player.mind == leader) - player.equip_to_slot_or_del(new /obj/item/weapon/pinpointer(player), slot_l_store) - player.equip_to_slot_or_del(new /obj/item/weapon/disk/nuclear(player), slot_r_store) + player.equip_to_slot_or_del(new /obj/item/pinpointer(player), slot_l_store) + player.equip_to_slot_or_del(new /obj/item/disk/nuclear(player), slot_r_store) else - player.equip_to_slot_or_del(new /obj/item/weapon/plastique(player), slot_l_store) - player.equip_to_slot_or_del(new /obj/item/weapon/gun/projectile/revolver/mateba(player), slot_belt) - player.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse_rifle(player), slot_r_hand) - player.equip_to_slot_or_del(new /obj/item/weapon/rig/ert/assetprotection(player), slot_back) - player.equip_to_slot_or_del(new /obj/item/weapon/melee/energy/sword(player), slot_s_store) + player.equip_to_slot_or_del(new /obj/item/plastique(player), slot_l_store) + player.equip_to_slot_or_del(new /obj/item/gun/projectile/revolver/mateba(player), slot_belt) + player.equip_to_slot_or_del(new /obj/item/gun/energy/pulse_rifle(player), slot_r_hand) + player.equip_to_slot_or_del(new /obj/item/rig/ert/assetprotection(player), slot_back) + player.equip_to_slot_or_del(new /obj/item/melee/energy/sword(player), slot_s_store) // player.implant_loyalty() - var/obj/item/weapon/card/id/id = create_id("Asset Protection", player) + var/obj/item/card/id/id = create_id("Asset Protection", player) if(id) id.access |= get_all_station_access() id.icon_state = "centcom" diff --git a/code/game/antagonist/outsider/ert.dm b/code/game/antagonist/outsider/ert.dm index f1d1aeee4f3..c9048f107e3 100644 --- a/code/game/antagonist/outsider/ert.dm +++ b/code/game/antagonist/outsider/ert.dm @@ -2,21 +2,21 @@ var/datum/antagonist/ert/ert /datum/antagonist/ert id = MODE_ERT - bantype = "Emergency Response Team" + bantype = JOB_EMERGENCY_RESPONSE_TEAM role_type = BE_OPERATIVE role_text = "Emergency Responder" role_text_plural = "Emergency Responders" welcome_text = "As member of the Emergency Response Team, you answer only to your leader and company officials." antag_sound = 'sound/effects/antag_notice/general_goodie_alert.ogg' - antag_text = "You are an anti antagonist! Within the rules, \ + antag_text = "You are an " + span_bold("anti") + " antagonist! Within the rules, \ try to save the station and its inhabitants from the ongoing crisis. \ - Try to make sure other players have fun! If you are confused or at a loss, always adminhelp, \ + Try to make sure other players have " + span_italics("fun") + "! If you are confused or at a loss, always adminhelp, \ and before taking extreme actions, please try to also contact the administration! \ - Think through your actions and make the roleplay immersive! Please remember all \ - rules aside from those without explicit exceptions apply to the ERT." - leader_welcome_text = "As leader of the Emergency Response Team, you answer only to the Company, and have authority to override the Site Manager where it is necessary to achieve your mission goals. It is recommended that you attempt to cooperate with the Site Manager where possible, however." + Think through your actions and make the roleplay immersive! " + span_bold("Please remember all \ + rules aside from those without explicit exceptions apply to the ERT.") + leader_welcome_text = "As leader of the Emergency Response Team, you answer only to the Company, and have authority to override the " + JOB_SITE_MANAGER + " where it is necessary to achieve your mission goals. It is recommended that you attempt to cooperate with the " + JOB_SITE_MANAGER + " where possible, however." landmark_id = "Response Team" - id_type = /obj/item/weapon/card/id/centcom/ERT + id_type = /obj/item/card/id/centcom/ERT flags = ANTAG_OVERRIDE_JOB | ANTAG_SET_APPEARANCE | ANTAG_HAS_LEADER | ANTAG_CHOOSE_NAME antaghud_indicator = "hudloyalist" @@ -46,7 +46,7 @@ var/datum/antagonist/ert/ert /datum/antagonist/ert/equip(var/mob/living/carbon/human/player) //Special radio setup - player.equip_to_slot_or_del(new /obj/item/device/radio/headset/ert(src), slot_l_ear) + player.equip_to_slot_or_del(new /obj/item/radio/headset/ert(src), slot_l_ear) player.equip_to_slot_or_del(new /obj/item/clothing/under/ert(src), slot_w_uniform) player.equip_to_slot_or_del(new /obj/item/clothing/shoes/boots/swat(src), slot_shoes) player.equip_to_slot_or_del(new /obj/item/clothing/gloves/swat(src), slot_gloves) diff --git a/code/game/antagonist/outsider/mercenary.dm b/code/game/antagonist/outsider/mercenary.dm index 623291dde7d..47f2cd85bcc 100644 --- a/code/game/antagonist/outsider/mercenary.dm +++ b/code/game/antagonist/outsider/mercenary.dm @@ -11,7 +11,7 @@ var/datum/antagonist/mercenary/mercs leader_welcome_text = "You are the leader of the mercenary strikeforce; hail to the chief. Use :t to speak to your underlings." welcome_text = "To speak on the strike team's private channel use :t." flags = ANTAG_OVERRIDE_JOB | ANTAG_CLEAR_EQUIPMENT | ANTAG_CHOOSE_NAME | ANTAG_HAS_NUKE | ANTAG_SET_APPEARANCE | ANTAG_HAS_LEADER - id_type = /obj/item/weapon/card/id/syndicate + id_type = /obj/item/card/id/syndicate antaghud_indicator = "hudoperative" hard_cap = 4 @@ -38,17 +38,17 @@ var/datum/antagonist/mercenary/mercs player.equip_to_slot_or_del(new /obj/item/clothing/under/syndicate(player), slot_w_uniform) player.equip_to_slot_or_del(new /obj/item/clothing/shoes/boots/swat(player), slot_shoes) player.equip_to_slot_or_del(new /obj/item/clothing/gloves/swat(player), slot_gloves) - if(player.backbag == 2) player.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(player), slot_back) - if(player.backbag == 3) player.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/norm(player), slot_back) - if(player.backbag == 4) player.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(player), slot_back) - if(player.backbag == 5) player.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger(player), slot_back) - if(player.backbag == 6) player.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/sport(player), slot_back) - player.equip_to_slot_or_del(new /obj/item/weapon/reagent_containers/pill/cyanide(player), slot_in_backpack) + if(player.backbag == 2) player.equip_to_slot_or_del(new /obj/item/storage/backpack(player), slot_back) + if(player.backbag == 3) player.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/norm(player), slot_back) + if(player.backbag == 4) player.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(player), slot_back) + if(player.backbag == 5) player.equip_to_slot_or_del(new /obj/item/storage/backpack/messenger(player), slot_back) + if(player.backbag == 6) player.equip_to_slot_or_del(new /obj/item/storage/backpack/sport(player), slot_back) + player.equip_to_slot_or_del(new /obj/item/reagent_containers/pill/cyanide(player), slot_in_backpack) player.mind.tcrystals = DEFAULT_TELECRYSTAL_AMOUNT player.mind.accept_tcrystals = 1 - var/obj/item/device/radio/uplink/U = new(player.loc, player.mind, DEFAULT_TELECRYSTAL_AMOUNT) + var/obj/item/radio/uplink/U = new(player.loc, player.mind, DEFAULT_TELECRYSTAL_AMOUNT) player.put_in_hands(U) create_id("Mercenary", player) diff --git a/code/game/antagonist/outsider/ninja.dm b/code/game/antagonist/outsider/ninja.dm index 307abe35304..7df32b76aa5 100644 --- a/code/game/antagonist/outsider/ninja.dm +++ b/code/game/antagonist/outsider/ninja.dm @@ -7,7 +7,7 @@ var/datum/antagonist/ninja/ninjas role_text_plural = "Ninja" bantype = "ninja" landmark_id = "ninjastart" - welcome_text = "You are an elite mercenary assassin of the Spider Clan. You have a variety of abilities at your disposal, thanks to your nano-enhanced cyber armor." + welcome_text = span_info("You are an elite mercenary assassin of the Spider Clan. You have a variety of abilities at your disposal, thanks to your nano-enhanced cyber armor.") flags = ANTAG_OVERRIDE_JOB | ANTAG_CLEAR_EQUIPMENT | ANTAG_CHOOSE_NAME | ANTAG_RANDSPAWN | ANTAG_VOTABLE | ANTAG_SET_APPEARANCE antaghud_indicator = "hudninja" @@ -16,14 +16,14 @@ var/datum/antagonist/ninja/ninjas hard_cap = 1 hard_cap_round = 3 - id_type = /obj/item/weapon/card/id/syndicate + id_type = /obj/item/card/id/syndicate /datum/antagonist/ninja/New() ..() ninjas = src /datum/antagonist/ninja/attempt_random_spawn() - if(config.ninjas_allowed) ..() + if(CONFIG_GET(flag/ninjas_allowed)) ..() /datum/antagonist/ninja/create_objectives(var/datum/mind/ninja) @@ -85,8 +85,8 @@ var/datum/antagonist/ninja/ninjas if(!..()) return 0 var/directive = generate_ninja_directive("heel") - player.store_memory("Directive: [directive]
") - to_chat(player, "Remember your directive: [directive].") + player.store_memory(span_bold("Directive:") + " " + span_danger("[directive]") + "
") + to_chat(player, span_bold("Remember your directive:") + " [directive].") /datum/antagonist/ninja/update_antag_mob(var/datum/mind/player) ..() @@ -103,13 +103,13 @@ var/datum/antagonist/ninja/ninjas if(!..()) return 0 - var/obj/item/device/radio/R = new /obj/item/device/radio/headset(player) + var/obj/item/radio/R = new /obj/item/radio/headset(player) player.equip_to_slot_or_del(R, slot_l_ear) player.equip_to_slot_or_del(new /obj/item/clothing/under/color/black(player), slot_w_uniform) - player.equip_to_slot_or_del(new /obj/item/device/flashlight(player), slot_belt) + player.equip_to_slot_or_del(new /obj/item/flashlight(player), slot_belt) create_id("Infiltrator", player) - var/obj/item/weapon/rig/light/ninja/ninjasuit = new(get_turf(player)) + var/obj/item/rig/light/ninja/ninjasuit = new(get_turf(player)) ninjasuit.seal_delay = 0 player.put_in_hands(ninjasuit) player.equip_to_slot_or_del(ninjasuit,slot_back) @@ -117,8 +117,8 @@ var/datum/antagonist/ninja/ninjas ninjasuit.toggle_seals(src,1) ninjasuit.seal_delay = initial(ninjasuit.seal_delay) - if(istype(player.back,/obj/item/weapon/rig)) - var/obj/item/weapon/rig/rig = player.back + if(istype(player.back,/obj/item/rig)) + var/obj/item/rig/rig = player.back if(rig.air_supply) player.internal = rig.air_supply @@ -126,7 +126,7 @@ var/datum/antagonist/ninja/ninjas if(player.internal) player.internals.icon_state = "internal1" else - to_chat(player, "You forgot to turn on your internals! Quickly, toggle the valve!") + to_chat(player, span_danger("You forgot to turn on your internals! Quickly, toggle the valve!")) /datum/antagonist/ninja/proc/generate_ninja_directive(side) var/directive = "[side=="face"?"[using_map.company_name]":"A criminal syndicate"] is your employer. "//Let them know which side they're on. @@ -161,7 +161,7 @@ var/datum/antagonist/ninja/ninjas var/xenorace = pick(SPECIES_UNATHI, SPECIES_TAJ, SPECIES_SKRELL) directive += "A group of [xenorace] radicals have been loyal supporters of the Spider Clan. Favor [xenorace] crew whenever possible." if(15) - directive += "The Spider Clan has recently been accused of religious insensitivity. Attempt to speak with the Chaplain and prove these accusations false." + directive += "The Spider Clan has recently been accused of religious insensitivity. Attempt to speak with the " + JOB_CHAPLAIN + " and prove these accusations false." if(16) directive += "The Spider Clan has been bargaining with a competing prosthetics manufacturer. Try to shine [using_map.company_name] prosthetics in a bad light." if(17) diff --git a/code/game/antagonist/outsider/raider.dm b/code/game/antagonist/outsider/raider.dm index 59faa2de85d..afdc49d2114 100644 --- a/code/game/antagonist/outsider/raider.dm +++ b/code/game/antagonist/outsider/raider.dm @@ -17,7 +17,7 @@ var/datum/antagonist/raider/raiders initial_spawn_req = 3 initial_spawn_target = 3 - id_type = /obj/item/weapon/card/id/syndicate + id_type = /obj/item/card/id/syndicate // Heist overrides check_victory() and doesn't need victory or loss strings/tags. var/list/raider_uniforms = list( @@ -64,40 +64,40 @@ var/datum/antagonist/raider/raiders ) var/list/raider_guns = list( - /obj/item/weapon/gun/energy/laser, - /obj/item/weapon/gun/energy/retro, - /obj/item/weapon/gun/energy/xray, - /obj/item/weapon/gun/energy/mindflayer, - /obj/item/weapon/gun/energy/toxgun, - /obj/item/weapon/gun/energy/stunrevolver, - /obj/item/weapon/gun/energy/stunrevolver/vintage, - /obj/item/weapon/gun/energy/ionrifle, - /obj/item/weapon/gun/energy/taser, - /obj/item/weapon/gun/energy/crossbow/largecrossbow, - /obj/item/weapon/gun/launcher/crossbow, - /obj/item/weapon/gun/launcher/grenade, - /obj/item/weapon/gun/launcher/pneumatic, - /obj/item/weapon/gun/projectile/automatic/mini_uzi, - /obj/item/weapon/gun/projectile/automatic/c20r, - /obj/item/weapon/gun/projectile/automatic/wt550, - /obj/item/weapon/gun/projectile/automatic/sts35, - /obj/item/weapon/gun/projectile/automatic/bullpup, - /obj/item/weapon/gun/projectile/automatic/tommygun, - /obj/item/weapon/gun/projectile/silenced, - /obj/item/weapon/gun/projectile/shotgun/pump, - /obj/item/weapon/gun/projectile/shotgun/pump/combat, - /obj/item/weapon/gun/projectile/shotgun/pump/rifle, - /obj/item/weapon/gun/projectile/shotgun/doublebarrel, - /obj/item/weapon/gun/projectile/shotgun/doublebarrel/pellet, - /obj/item/weapon/gun/projectile/shotgun/doublebarrel/sawn, - /obj/item/weapon/gun/projectile/colt/detective, - /obj/item/weapon/gun/projectile/pistol, - /obj/item/weapon/gun/projectile/p92x, - /obj/item/weapon/gun/projectile/revolver, - /obj/item/weapon/gun/projectile/pirate, - /obj/item/weapon/gun/projectile/revolver/judge, - list(/obj/item/weapon/gun/projectile/luger,/obj/item/weapon/gun/projectile/luger/brown), - list(/obj/item/weapon/gun/projectile/deagle, /obj/item/weapon/gun/projectile/deagle/gold, /obj/item/weapon/gun/projectile/deagle/camo) + /obj/item/gun/energy/laser, + /obj/item/gun/energy/retro, + /obj/item/gun/energy/xray, + /obj/item/gun/energy/mindflayer, + /obj/item/gun/energy/toxgun, + /obj/item/gun/energy/stunrevolver, + /obj/item/gun/energy/stunrevolver/vintage, + /obj/item/gun/energy/ionrifle, + /obj/item/gun/energy/taser, + /obj/item/gun/energy/crossbow/largecrossbow, + /obj/item/gun/launcher/crossbow, + /obj/item/gun/launcher/grenade, + /obj/item/gun/launcher/pneumatic, + /obj/item/gun/projectile/automatic/mini_uzi, + /obj/item/gun/projectile/automatic/c20r, + /obj/item/gun/projectile/automatic/wt550, + /obj/item/gun/projectile/automatic/sts35, + /obj/item/gun/projectile/automatic/bullpup, + /obj/item/gun/projectile/automatic/tommygun, + /obj/item/gun/projectile/silenced, + /obj/item/gun/projectile/shotgun/pump, + /obj/item/gun/projectile/shotgun/pump/combat, + /obj/item/gun/projectile/shotgun/pump/rifle, + /obj/item/gun/projectile/shotgun/doublebarrel, + /obj/item/gun/projectile/shotgun/doublebarrel/pellet, + /obj/item/gun/projectile/shotgun/doublebarrel/sawn, + /obj/item/gun/projectile/colt/detective, + /obj/item/gun/projectile/pistol, + /obj/item/gun/projectile/p92x, + /obj/item/gun/projectile/revolver, + /obj/item/gun/projectile/pirate, + /obj/item/gun/projectile/revolver/judge, + list(/obj/item/gun/projectile/luger,/obj/item/gun/projectile/luger/brown), + list(/obj/item/gun/projectile/deagle, /obj/item/gun/projectile/deagle/gold, /obj/item/gun/projectile/deagle/camo) ) var/list/raider_holster = list( @@ -111,8 +111,8 @@ var/datum/antagonist/raider/raiders raiders = src /datum/antagonist/raider/update_access(var/mob/living/player) - for(var/obj/item/weapon/storage/wallet/W in player.contents) - for(var/obj/item/weapon/card/id/id in W.contents) + for(var/obj/item/storage/wallet/W in player.contents) + for(var/obj/item/card/id/id in W.contents) id.name = "[player.real_name]'s Passport" id.registered_name = player.real_name W.name = "[initial(W.name)] ([id.name])" @@ -152,7 +152,7 @@ var/datum/antagonist/raider/raiders var/win_msg = "" //No objectives, go straight to the feedback. - if(config.objectives_disabled || !global_objectives.len) + if(CONFIG_GET(flag/objectives_disabled) || !global_objectives.len) return var/success = global_objectives.len @@ -173,22 +173,22 @@ var/datum/antagonist/raider/raiders if(antags_are_dead()) win_type = "Major" win_group = "Crew" - win_msg += "The Raiders have been wiped out!" + win_msg += span_bold("The Raiders have been wiped out!") else if(is_raider_crew_safe()) if(win_group == "Crew" && win_type == "Minor") win_type = "Major" win_group = "Crew" - win_msg += "The Raiders have left someone behind!" + win_msg += span_bold("The Raiders have left someone behind!") else if(win_group == "Raider") if(win_type == "Minor") win_type = "Major" - win_msg += "The Raiders escaped the station!" + win_msg += span_bold("The Raiders escaped the station!") else - win_msg += "The Raiders were repelled!" + win_msg += span_bold("The Raiders were repelled!") - to_world("[win_type] [win_group] victory!") - to_world("[win_msg]") + to_world(span_boldannounce(span_large("[win_type] [win_group] victory!"))) + to_world(span_filter_system("[win_msg]")) feedback_set_details("round_end_result","heist - [win_type] [win_group]") /datum/antagonist/raider/proc/is_raider_crew_safe() @@ -227,10 +227,10 @@ var/datum/antagonist/raider/raiders player.equip_to_slot_or_del(new new_suit(player),slot_wear_suit) equip_weapons(player) - var/obj/item/weapon/card/id/id = create_id("Visitor", player, equip = 0) + var/obj/item/card/id/id = create_id(JOB_ALT_VISITOR, player, equip = 0) id.name = "[player.real_name]'s Passport" - id.assignment = "Visitor" - var/obj/item/weapon/storage/wallet/W = new(player) + id.assignment = JOB_ALT_VISITOR + var/obj/item/storage/wallet/W = new(player) W.handle_item_insertion(id) player.equip_to_slot_or_del(W, slot_wear_id) spawn_money(rand(50,150)*10,W) @@ -248,7 +248,7 @@ var/datum/antagonist/raider/raiders //Give some of the raiders a pirate gun as a secondary if(prob(60)) - var/obj/item/secondary = new /obj/item/weapon/gun/projectile/pirate(T) + var/obj/item/secondary = new /obj/item/gun/projectile/pirate(T) if(!(primary.slot_flags & SLOT_HOLSTER)) holster = new new_holster(T) holster.holstered = secondary @@ -277,26 +277,26 @@ var/datum/antagonist/raider/raiders else player.put_in_any_hand_if_possible(holster) -/datum/antagonist/raider/proc/equip_ammo(var/mob/living/carbon/human/player, var/obj/item/weapon/gun/gun) - if(istype(gun, /obj/item/weapon/gun/projectile)) - var/obj/item/weapon/gun/projectile/bullet_thrower = gun +/datum/antagonist/raider/proc/equip_ammo(var/mob/living/carbon/human/player, var/obj/item/gun/gun) + if(istype(gun, /obj/item/gun/projectile)) + var/obj/item/gun/projectile/bullet_thrower = gun if(bullet_thrower.magazine_type) player.equip_to_slot_or_del(new bullet_thrower.magazine_type(player), slot_l_store) if(prob(20)) //don't want to give them too much player.equip_to_slot_or_del(new bullet_thrower.magazine_type(player), slot_r_store) else if(bullet_thrower.ammo_type) - var/obj/item/weapon/storage/box/ammobox = new(get_turf(player.loc)) + var/obj/item/storage/box/ammobox = new(get_turf(player.loc)) for(var/i in 1 to rand(3,5) + rand(0,2)) new bullet_thrower.ammo_type(ammobox) player.put_in_any_hand_if_possible(ammobox) return - if(istype(gun, /obj/item/weapon/gun/launcher/grenade)) + if(istype(gun, /obj/item/gun/launcher/grenade)) var/list/grenades = list( - /obj/item/weapon/grenade/empgrenade, - /obj/item/weapon/grenade/smokebomb, - /obj/item/weapon/grenade/flashbang + /obj/item/grenade/empgrenade, + /obj/item/grenade/smokebomb, + /obj/item/grenade/flashbang ) - var/obj/item/weapon/storage/box/ammobox = new(get_turf(player.loc)) + var/obj/item/storage/box/ammobox = new(get_turf(player.loc)) for(var/i in 1 to 7) var/grenade_type = pick(grenades) new grenade_type(ammobox) @@ -310,11 +310,11 @@ var/datum/antagonist/raider/raiders player.equip_to_slot_or_del(new /obj/item/clothing/shoes/magboots/vox(player), slot_shoes) // REPLACE THESE WITH CODED VOX ALTERNATIVES. player.equip_to_slot_or_del(new /obj/item/clothing/gloves/vox(player), slot_gloves) // AS ABOVE. player.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/swat/vox(player), slot_wear_mask) - player.equip_to_slot_or_del(new /obj/item/weapon/tank/vox(player), slot_back) - player.equip_to_slot_or_del(new /obj/item/device/flashlight(player), slot_r_store) + player.equip_to_slot_or_del(new /obj/item/tank/vox(player), slot_back) + player.equip_to_slot_or_del(new /obj/item/flashlight(player), slot_r_store) - player.internal = locate(/obj/item/weapon/tank) in player.contents - if(istype(player.internal,/obj/item/weapon/tank) && player.internals) + player.internal = locate(/obj/item/tank) in player.contents + if(istype(player.internal,/obj/item/tank) && player.internals) player.internals.icon_state = "internal1" return 1 diff --git a/code/game/antagonist/outsider/shipwreck_survivor.dm b/code/game/antagonist/outsider/shipwreck_survivor.dm index 6fdcc47b971..19f8e8d4ccf 100644 --- a/code/game/antagonist/outsider/shipwreck_survivor.dm +++ b/code/game/antagonist/outsider/shipwreck_survivor.dm @@ -30,7 +30,7 @@ var/datum/antagonist/shipwreck_survivor/survivors can_hear_aooc = FALSE /datum/antagonist/SURVIVOR/greet(var/datum/mind/player) - to_chat(player.current, SPAN_WARNING("You are a NOT an antagonist! All rules apply to you as well. Your job is to help make the world seem more alive. \n \ + to_chat(player.current, span_warning("You are a NOT an antagonist! All rules apply to you as well. Your job is to help make the world seem more alive. \n \ You are not an existing station character, but some average person who has suffered a terrible accident. \ Feel free to make up what happened to the ship you awakened on as you please, \ but listening to your rescuers for context might help improve your mutual immersion! \n \ diff --git a/code/game/antagonist/outsider/technomancer.dm b/code/game/antagonist/outsider/technomancer.dm index 579e5631d75..976aa4f7621 100644 --- a/code/game/antagonist/outsider/technomancer.dm +++ b/code/game/antagonist/outsider/technomancer.dm @@ -5,8 +5,8 @@ var/datum/antagonist/technomancer/technomancers role_type = BE_WIZARD role_text = "Technomancer" role_text_plural = "Technomancers" - bantype = "wizard" - landmark_id = "wizard" + bantype = JOB_WIZARD + landmark_id = JOB_WIZARD welcome_text = "You will need to purchase functions and perhaps some equipment from the various machines around your \ base. Choose your technological arsenal carefully. Remember that without the core on your back, your functions are \ powerless, and therefore you will be as well.
\ @@ -20,7 +20,7 @@ var/datum/antagonist/technomancer/technomancers initial_spawn_req = 1 initial_spawn_target = 1 - id_type = /obj/item/weapon/card/id/syndicate + id_type = /obj/item/card/id/syndicate /datum/antagonist/technomancer/New() ..() @@ -28,7 +28,7 @@ var/datum/antagonist/technomancer/technomancers /datum/antagonist/technomancer/update_antag_mob(var/datum/mind/technomancer) ..() - technomancer.store_memory("Remember: Do not forget to purchase the functions and equipment you need.") + technomancer.store_memory(span_bold("Remember:") + " Do not forget to purchase the functions and equipment you need.") technomancer.current.real_name = "[pick(wizard_first)] [pick(wizard_second)]" technomancer.current.name = technomancer.current.real_name @@ -39,13 +39,13 @@ var/datum/antagonist/technomancer/technomancers technomancer_mob.equip_to_slot_or_del(new /obj/item/clothing/under/technomancer/master(technomancer_mob), slot_w_uniform) create_id("Technomagus", technomancer_mob) - technomancer_mob.equip_to_slot_or_del(new /obj/item/weapon/disposable_teleporter/free(technomancer_mob), slot_r_store) - technomancer_mob.equip_to_slot_or_del(new /obj/item/weapon/technomancer_catalog(technomancer_mob), slot_l_store) - technomancer_mob.equip_to_slot_or_del(new /obj/item/device/radio/headset(technomancer_mob), slot_l_ear) - var/obj/item/weapon/technomancer_core/core = new /obj/item/weapon/technomancer_core(technomancer_mob) + technomancer_mob.equip_to_slot_or_del(new /obj/item/disposable_teleporter/free(technomancer_mob), slot_r_store) + technomancer_mob.equip_to_slot_or_del(new /obj/item/technomancer_catalog(technomancer_mob), slot_l_store) + technomancer_mob.equip_to_slot_or_del(new /obj/item/radio/headset(technomancer_mob), slot_l_ear) + var/obj/item/technomancer_core/core = new /obj/item/technomancer_core(technomancer_mob) technomancer_mob.equip_to_slot_or_del(core, slot_back) technomancer_belongings.Add(core) // So it can be Tracked. - technomancer_mob.equip_to_slot_or_del(new /obj/item/device/flashlight(technomancer_mob), slot_belt) + technomancer_mob.equip_to_slot_or_del(new /obj/item/flashlight(technomancer_mob), slot_belt) technomancer_mob.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(technomancer_mob), slot_shoes) technomancer_mob.equip_to_slot_or_del(new /obj/item/clothing/head/technomancer/master(technomancer_mob), slot_head) return 1 @@ -54,17 +54,17 @@ var/datum/antagonist/technomancer/technomancers technomancer_mob.equip_to_slot_or_del(new /obj/item/clothing/under/technomancer/apprentice(technomancer_mob), slot_w_uniform) create_id("Techno-apprentice", technomancer_mob) - technomancer_mob.equip_to_slot_or_del(new /obj/item/weapon/disposable_teleporter/free(technomancer_mob), slot_r_store) + technomancer_mob.equip_to_slot_or_del(new /obj/item/disposable_teleporter/free(technomancer_mob), slot_r_store) - var/obj/item/weapon/technomancer_catalog/apprentice/catalog = new /obj/item/weapon/technomancer_catalog/apprentice() + var/obj/item/technomancer_catalog/apprentice/catalog = new /obj/item/technomancer_catalog/apprentice() catalog.bind_to_owner(technomancer_mob) technomancer_mob.equip_to_slot_or_del(catalog, slot_l_store) - technomancer_mob.equip_to_slot_or_del(new /obj/item/device/radio/headset(technomancer_mob), slot_l_ear) - var/obj/item/weapon/technomancer_core/core = new /obj/item/weapon/technomancer_core(technomancer_mob) + technomancer_mob.equip_to_slot_or_del(new /obj/item/radio/headset(technomancer_mob), slot_l_ear) + var/obj/item/technomancer_core/core = new /obj/item/technomancer_core(technomancer_mob) technomancer_mob.equip_to_slot_or_del(core, slot_back) technomancer_belongings.Add(core) // So it can be Tracked. - technomancer_mob.equip_to_slot_or_del(new /obj/item/device/flashlight(technomancer_mob), slot_belt) + technomancer_mob.equip_to_slot_or_del(new /obj/item/flashlight(technomancer_mob), slot_belt) technomancer_mob.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(technomancer_mob), slot_shoes) technomancer_mob.equip_to_slot_or_del(new /obj/item/clothing/head/technomancer/apprentice(technomancer_mob), slot_head) return 1 @@ -78,21 +78,21 @@ var/datum/antagonist/technomancer/technomancers break if(!survivor) feedback_set_details("round_end_result","loss - technomancer killed") - to_world("The [(current_antagonists.len>1)?"[role_text_plural] have":"[role_text] has"] been killed!") + to_world(span_boldannounce(span_large("The [(current_antagonists.len>1)?"[role_text_plural] have":"[role_text] has"] been killed!"))) /datum/antagonist/technomancer/print_player_summary() ..() - for(var/obj/item/weapon/technomancer_core/core in technomancer_belongings) + for(var/obj/item/technomancer_core/core in technomancer_belongings) if(core.wearer) continue // Only want abandoned cores. if(!core.spells.len) continue // Cores containing spells only. - to_world("Abandoned [core] had [english_list(core.spells)].
") + to_world(span_filter_system("Abandoned [core] had [english_list(core.spells)].
")) /datum/antagonist/technomancer/print_player_full(var/datum/mind/player) var/text = print_player_lite(player) - var/obj/item/weapon/technomancer_core/core + var/obj/item/technomancer_core/core if(player.original) core = locate() in player.original if(core) diff --git a/code/game/antagonist/outsider/trader.dm b/code/game/antagonist/outsider/trader.dm index 07cfb6f9e98..9f09d492aac 100644 --- a/code/game/antagonist/outsider/trader.dm +++ b/code/game/antagonist/outsider/trader.dm @@ -16,7 +16,7 @@ var/datum/antagonist/trader/traders leader_welcome_text = "As Captain of the Beruang, you have control over your crew and cargo. It may be worth briefly discussing a consistent shared backstory with your crew." landmark_id = "Trader" - id_type = /obj/item/weapon/card/id/external + id_type = /obj/item/card/id/external flags = ANTAG_OVERRIDE_JOB | ANTAG_SET_APPEARANCE | ANTAG_HAS_LEADER | ANTAG_CHOOSE_NAME @@ -49,11 +49,11 @@ var/datum/antagonist/trader/traders create_radio(PUB_FREQ, player) //Assume they tune their headsets into the station's public radio as they approach - var/obj/item/weapon/card/id/id = create_id("Trader", player, equip = 0) + var/obj/item/card/id/id = create_id("Trader", player, equip = 0) id.name = "[player.real_name]'s Passport" id.assignment = "Trader" id.access |= access_trader - var/obj/item/weapon/storage/wallet/W = new(player) + var/obj/item/storage/wallet/W = new(player) W.handle_item_insertion(id) player.equip_to_slot_or_del(W, slot_wear_id) spawn_money(rand(50,150)*10,W) @@ -61,8 +61,8 @@ var/datum/antagonist/trader/traders return 1 /datum/antagonist/trader/update_access(var/mob/living/player) - for(var/obj/item/weapon/storage/wallet/W in player.contents) - for(var/obj/item/weapon/card/id/id in W.contents) + for(var/obj/item/storage/wallet/W in player.contents) + for(var/obj/item/card/id/id in W.contents) id.name = "[player.real_name]'s Passport" id.registered_name = player.real_name W.name = "[initial(W.name)] ([id.name])" \ No newline at end of file diff --git a/code/game/antagonist/outsider/wizard.dm b/code/game/antagonist/outsider/wizard.dm index 0fcded12c6d..86d93cbc1a3 100644 --- a/code/game/antagonist/outsider/wizard.dm +++ b/code/game/antagonist/outsider/wizard.dm @@ -5,8 +5,8 @@ var/datum/antagonist/wizard/wizards role_type = BE_WIZARD role_text = "Space Wizard" role_text_plural = "Space Wizards" - bantype = "wizard" - landmark_id = "wizard" + bantype = JOB_WIZARD + landmark_id = JOB_WIZARD welcome_text = "You will find a list of available spells in your spell book. Choose your magic arsenal carefully.
In your pockets you will find a teleport scroll. Use it as needed." flags = ANTAG_OVERRIDE_JOB | ANTAG_CLEAR_EQUIPMENT | ANTAG_CHOOSE_NAME | ANTAG_VOTABLE | ANTAG_SET_APPEARANCE antaghud_indicator = "hudwizard" @@ -66,7 +66,7 @@ var/datum/antagonist/wizard/wizards /datum/antagonist/wizard/update_antag_mob(var/datum/mind/wizard) ..() - wizard.store_memory("Remember: do not forget to prepare your spells.") + wizard.store_memory(span_bold("Remember:") + " do not forget to prepare your spells.") wizard.current.real_name = "[pick(wizard_first)] [pick(wizard_second)]" wizard.current.name = wizard.current.real_name @@ -75,19 +75,19 @@ var/datum/antagonist/wizard/wizards if(!..()) return 0 - wizard_mob.equip_to_slot_or_del(new /obj/item/device/radio/headset(wizard_mob), slot_l_ear) + wizard_mob.equip_to_slot_or_del(new /obj/item/radio/headset(wizard_mob), slot_l_ear) wizard_mob.equip_to_slot_or_del(new /obj/item/clothing/under/color/lightpurple(wizard_mob), slot_w_uniform) wizard_mob.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal(wizard_mob), slot_shoes) wizard_mob.equip_to_slot_or_del(new /obj/item/clothing/suit/wizrobe(wizard_mob), slot_wear_suit) wizard_mob.equip_to_slot_or_del(new /obj/item/clothing/head/wizard(wizard_mob), slot_head) - if(wizard_mob.backbag == 2) wizard_mob.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(wizard_mob), slot_back) - if(wizard_mob.backbag == 3) wizard_mob.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/norm(wizard_mob), slot_back) - if(wizard_mob.backbag == 4) wizard_mob.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(wizard_mob), slot_back) - if(wizard_mob.backbag == 5) wizard_mob.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger(wizard_mob), slot_back) - if(wizard_mob.backbag == 6) wizard_mob.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/sport(wizard_mob), slot_back) - wizard_mob.equip_to_slot_or_del(new /obj/item/weapon/storage/box(wizard_mob), slot_in_backpack) - wizard_mob.equip_to_slot_or_del(new /obj/item/weapon/teleportation_scroll(wizard_mob), slot_r_store) - wizard_mob.equip_to_slot_or_del(new /obj/item/weapon/spellbook(wizard_mob), slot_r_hand) + if(wizard_mob.backbag == 2) wizard_mob.equip_to_slot_or_del(new /obj/item/storage/backpack(wizard_mob), slot_back) + if(wizard_mob.backbag == 3) wizard_mob.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/norm(wizard_mob), slot_back) + if(wizard_mob.backbag == 4) wizard_mob.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(wizard_mob), slot_back) + if(wizard_mob.backbag == 5) wizard_mob.equip_to_slot_or_del(new /obj/item/storage/backpack/messenger(wizard_mob), slot_back) + if(wizard_mob.backbag == 6) wizard_mob.equip_to_slot_or_del(new /obj/item/storage/backpack/sport(wizard_mob), slot_back) + wizard_mob.equip_to_slot_or_del(new /obj/item/storage/box(wizard_mob), slot_in_backpack) + wizard_mob.equip_to_slot_or_del(new /obj/item/teleportation_scroll(wizard_mob), slot_r_store) + wizard_mob.equip_to_slot_or_del(new /obj/item/spellbook(wizard_mob), slot_r_hand) return 1 /datum/antagonist/wizard/check_victory() @@ -99,7 +99,7 @@ var/datum/antagonist/wizard/wizards break if(!survivor) feedback_set_details("round_end_result","loss - wizard killed") - to_world("The [(current_antagonists.len>1)?"[role_text_plural] have":"[role_text] has"] been killed by the crew!") + to_world(span_boldannounce(span_large("The [(current_antagonists.len>1)?"[role_text_plural] have":"[role_text] has"] been killed by the crew!"))) //To batch-remove wizard spells. Linked to mind.dm. /mob/proc/spellremove() @@ -122,12 +122,12 @@ Made a proc so this is not repeated 14 (or more) times.*/ // Humans can wear clothes. /mob/living/carbon/human/wearing_wiz_garb() if(!is_wiz_garb(src.wear_suit)) - to_chat(src, "I don't feel strong enough without my robe.") + to_chat(src, span_warning("I don't feel strong enough without my robe.")) return 0 if(!is_wiz_garb(src.shoes)) - to_chat(src, "I don't feel strong enough without my sandals.") + to_chat(src, span_warning("I don't feel strong enough without my sandals.")) return 0 if(!is_wiz_garb(src.head)) - to_chat(src, "I don't feel strong enough without my hat.") + to_chat(src, span_warning("I don't feel strong enough without my hat.")) return 0 return 1 diff --git a/code/game/antagonist/station/changeling.dm b/code/game/antagonist/station/changeling.dm index 2c1cb77f26b..e82fac7c8eb 100644 --- a/code/game/antagonist/station/changeling.dm +++ b/code/game/antagonist/station/changeling.dm @@ -6,7 +6,7 @@ bantype = "changeling" feedback_tag = "changeling_objective" avoid_silicons = TRUE - protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Site Manager") + protected_jobs = list(JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_DETECTIVE, JOB_HEAD_OF_SECURITY, JOB_SITE_MANAGER) welcome_text = "Use say \"#g message\" to communicate with your fellow changelings. Remember: you get all of their absorbed DNA if you absorb them." antag_sound = 'sound/effects/antag_notice/ling_alert.ogg' flags = ANTAG_SUSPICIOUS | ANTAG_RANDSPAWN | ANTAG_VOTABLE diff --git a/code/game/antagonist/station/cultist.dm b/code/game/antagonist/station/cultist.dm index 57271900b1c..95019c59687 100644 --- a/code/game/antagonist/station/cultist.dm +++ b/code/game/antagonist/station/cultist.dm @@ -11,10 +11,10 @@ var/datum/antagonist/cultist/cult role_text = "Cultist" role_text_plural = "Cultists" bantype = "cultist" - restricted_jobs = list("Chaplain") + restricted_jobs = list(JOB_CHAPLAIN) avoid_silicons = TRUE - protected_jobs = list("Security Officer", "Warden", "Detective", "Internal Affairs Agent", "Head of Security", "Site Manager") - roundstart_restricted = list("Internal Affairs Agent", "Head of Security", "Site Manager") + protected_jobs = list(JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_DETECTIVE, JOB_INTERNAL_AFFAIRS_AGENT, JOB_HEAD_OF_SECURITY, JOB_SITE_MANAGER) + roundstart_restricted = list(JOB_INTERNAL_AFFAIRS_AGENT, JOB_HEAD_OF_SECURITY, JOB_SITE_MANAGER) role_type = BE_CULTIST feedback_tag = "cult_objective" antag_indicator = "cult" @@ -63,7 +63,7 @@ var/datum/antagonist/cultist/cult if(!..()) return 0 - var/obj/item/weapon/paper/talisman/supply/T = new(get_turf(player)) + var/obj/item/paper/talisman/supply/T = new(get_turf(player)) var/list/slots = list ( "backpack" = slot_in_backpack, "left pocket" = slot_l_store, @@ -75,7 +75,7 @@ var/datum/antagonist/cultist/cult player.equip_to_slot(T, slot) if(T.loc == player) break - var/obj/item/weapon/storage/S = locate() in player.contents + var/obj/item/storage/S = locate() in player.contents if(S && istype(S)) T.loc = S @@ -98,13 +98,13 @@ var/datum/antagonist/cultist/cult runerandom() var/wordexp = "[cultwords[word]] is [word]..." - to_chat(cult_mob, "You remember one thing from the dark teachings of your master... [wordexp]") + to_chat(cult_mob, span_warning("You remember one thing from the dark teachings of your master... [wordexp]")) cult_mob.mind.store_memory("You remember that [wordexp]", 0, 0) /datum/antagonist/cultist/remove_antagonist(var/datum/mind/player, var/show_message, var/implanted) if(!..()) return 0 - to_chat(player.current, "An unfamiliar white light flashes through your mind, cleansing the taint of the dark-one and the memories of your time as his servant with it.") + to_chat(player.current, span_danger("An unfamiliar white light flashes through your mind, cleansing the taint of the dark-one and the memories of your time as his servant with it.")) player.memory = "" if(show_message) player.current.visible_message("[player.current] looks like they just reverted to their old faith!") @@ -124,7 +124,7 @@ var/datum/antagonist/cultist/cult /datum/antagonist/cultist/can_become_antag(var/datum/mind/player) if(!..()) return 0 - for(var/obj/item/weapon/implant/loyalty/L in player.current) + for(var/obj/item/implant/loyalty/L in player.current) if(L && (L.imp_in == player.current)) return 0 return 1 diff --git a/code/game/antagonist/station/highlander.dm b/code/game/antagonist/station/highlander.dm index 2e4885fd769..c5abfb64a15 100644 --- a/code/game/antagonist/station/highlander.dm +++ b/code/game/antagonist/station/highlander.dm @@ -12,7 +12,7 @@ var/datum/antagonist/highlander/highlanders initial_spawn_req = 3 initial_spawn_target = 5 - id_type = /obj/item/weapon/card/id/centcom/ERT + id_type = /obj/item/card/id/centcom/ERT /datum/antagonist/highlander/New() ..() @@ -47,11 +47,11 @@ var/datum/antagonist/highlander/highlanders // highlanders! player.equip_to_slot_or_del(new /obj/item/clothing/under/kilt(player), slot_w_uniform) player.equip_to_slot_or_del(new /obj/item/clothing/head/beret(player), slot_head) - player.equip_to_slot_or_del(new /obj/item/weapon/material/sword(player), slot_l_hand) + player.equip_to_slot_or_del(new /obj/item/material/sword(player), slot_l_hand) player.equip_to_slot_or_del(new /obj/item/clothing/shoes/boots/combat(player), slot_shoes) - player.equip_to_slot_or_del(new /obj/item/weapon/pinpointer(get_turf(player)), slot_l_store) + player.equip_to_slot_or_del(new /obj/item/pinpointer(get_turf(player)), slot_l_store) - var/obj/item/weapon/card/id/id = create_id("Highlander", player) + var/obj/item/card/id/id = create_id("Highlander", player) if(id) id.access |= get_all_station_access() id.icon_state = "centcom" @@ -68,5 +68,5 @@ var/datum/antagonist/highlander/highlanders if(is_special_character(H)) continue highlanders.add_antagonist(H.mind) - message_admins("[key_name_admin(usr)] used THERE CAN BE ONLY ONE!", 1) + message_admins(span_notice("[key_name_admin(usr)] used THERE CAN BE ONLY ONE!"), 1) log_admin("[key_name(usr)] used there can be only one.") diff --git a/code/game/antagonist/station/infiltrator.dm b/code/game/antagonist/station/infiltrator.dm index f3e7f8a149d..f3ffbc0024c 100644 --- a/code/game/antagonist/station/infiltrator.dm +++ b/code/game/antagonist/station/infiltrator.dm @@ -11,7 +11,7 @@ var/datum/antagonist/traitor/infiltrator/infiltrators role_text = "Infiltrator" role_text_plural = "Infiltrators" welcome_text = "To speak on your team's private channel, use :t." - protected_jobs = list("Security Officer", "Warden", "Detective", "Internal Affairs Agent", "Head of Security", "Site Manager") + protected_jobs = list(JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_DETECTIVE, JOB_INTERNAL_AFFAIRS_AGENT, JOB_HEAD_OF_SECURITY, JOB_SITE_MANAGER) flags = ANTAG_SUSPICIOUS | ANTAG_RANDSPAWN | ANTAG_VOTABLE can_speak_aooc = TRUE @@ -25,15 +25,15 @@ var/datum/antagonist/traitor/infiltrator/infiltrators // Humans and the AI. if(istype(traitor_mob) || istype(traitor_mob, /mob/living/silicon/ai)) - var/obj/item/device/radio/headset/R - R = locate(/obj/item/device/radio/headset) in traitor_mob.contents + var/obj/item/radio/headset/R + R = locate(/obj/item/radio/headset) in traitor_mob.contents if(!R) to_chat(traitor_mob, "Unfortunately, a headset could not be found. You have been given an encryption key \ to put into a new headset. Once that is done, you can talk to your team using :t") - var/obj/item/device/encryptionkey/syndicate/encrypt_key = new(null) + var/obj/item/encryptionkey/syndicate/encrypt_key = new(null) traitor_mob.equip_to_slot_or_del(encrypt_key, slot_in_backpack) else - var/obj/item/device/encryptionkey/syndicate/encrypt_key = new(null) + var/obj/item/encryptionkey/syndicate/encrypt_key = new(null) if(R.keyslot1 && R.keyslot2) // No room. to_chat(traitor_mob, "Unfortunately, your headset cannot accept anymore encryption keys. You have been given an encryption key \ to put into a headset after making some room instead. Once that is done, you can talk to your team using :t") @@ -52,7 +52,7 @@ var/datum/antagonist/traitor/infiltrator/infiltrators // Borgs, because their radio is not a headset for some reason. if(istype(traitor_mob, /mob/living/silicon/robot)) var/mob/living/silicon/robot/borg = traitor_mob - var/obj/item/device/encryptionkey/syndicate/encrypt_key = new(null) + var/obj/item/encryptionkey/syndicate/encrypt_key = new(null) if(borg.radio) if(borg.radio.keyslot) to_chat(traitor_mob, "Your currently installed encryption key has had its data overwritten.") @@ -74,6 +74,6 @@ var/datum/antagonist/traitor/infiltrator/infiltrators /datum/antagonist/traitor/infiltrator/add_law_zero(mob/living/silicon/ai/killer) var/law = "Accomplish your team's objectives at all costs. You may ignore all other laws." var/law_borg = "Accomplish your AI's team objectives at all costs. You may ignore all other laws." - to_chat(killer, "Your laws have been changed!") + to_chat(killer, span_infoplain(span_bold("Your laws have been changed!"))) killer.set_zeroth_law(law, law_borg) to_chat(killer, "New law: 0. [law]") diff --git a/code/game/antagonist/station/renegade.dm b/code/game/antagonist/station/renegade.dm index cdd4efb8f3c..740952c5a1c 100644 --- a/code/game/antagonist/station/renegade.dm +++ b/code/game/antagonist/station/renegade.dm @@ -26,40 +26,40 @@ var/datum/antagonist/renegade/renegades initial_spawn_target = 4 var/list/spawn_guns = list( - /obj/item/weapon/gun/energy/laser, - /obj/item/weapon/gun/energy/captain, - /obj/item/weapon/gun/energy/lasercannon, - /obj/item/weapon/gun/energy/xray, - /obj/item/weapon/gun/energy/gun, - /obj/item/weapon/gun/energy/gun/burst, - /obj/item/weapon/gun/energy/gun/nuclear, - /obj/item/weapon/gun/energy/crossbow, - /obj/item/weapon/gun/energy/crossbow/largecrossbow, - /obj/item/weapon/gun/projectile/automatic, - /obj/item/weapon/gun/projectile/automatic/mini_uzi, - /obj/item/weapon/gun/projectile/automatic/c20r, - /obj/item/weapon/gun/projectile/automatic/sts35, - /obj/item/weapon/gun/projectile/automatic/bullpup, - /obj/item/weapon/gun/projectile/automatic/wt550, - /obj/item/weapon/gun/projectile/automatic/z8, - /obj/item/weapon/gun/projectile/automatic/tommygun, - /obj/item/weapon/gun/projectile/colt/detective, - /obj/item/weapon/gun/projectile/sec/wood, - /obj/item/weapon/gun/projectile/silenced, - /obj/item/weapon/gun/projectile/pistol, - /obj/item/weapon/gun/projectile/p92x, - /obj/item/weapon/gun/projectile/revolver, - /obj/item/weapon/gun/projectile/derringer, - /obj/item/weapon/gun/projectile/shotgun/pump, - /obj/item/weapon/gun/projectile/shotgun/pump/rifle, - /obj/item/weapon/gun/projectile/shotgun/pump/combat, - /obj/item/weapon/gun/projectile/shotgun/doublebarrel, - /obj/item/weapon/gun/projectile/revolver/judge, - /obj/item/weapon/gun/projectile/revolver/lemat, - list(/obj/item/weapon/gun/projectile/shotgun/doublebarrel/pellet, /obj/item/weapon/gun/projectile/shotgun/doublebarrel/sawn), - list(/obj/item/weapon/gun/projectile/deagle, /obj/item/weapon/gun/projectile/deagle/gold, /obj/item/weapon/gun/projectile/deagle/camo), - list(/obj/item/weapon/gun/projectile/revolver/detective, /obj/item/weapon/gun/projectile/revolver/deckard), - list(/obj/item/weapon/gun/projectile/luger,/obj/item/weapon/gun/projectile/luger/brown) + /obj/item/gun/energy/laser, + /obj/item/gun/energy/captain, + /obj/item/gun/energy/lasercannon, + /obj/item/gun/energy/xray, + /obj/item/gun/energy/gun, + /obj/item/gun/energy/gun/burst, + /obj/item/gun/energy/gun/nuclear, + /obj/item/gun/energy/crossbow, + /obj/item/gun/energy/crossbow/largecrossbow, + /obj/item/gun/projectile/automatic, + /obj/item/gun/projectile/automatic/mini_uzi, + /obj/item/gun/projectile/automatic/c20r, + /obj/item/gun/projectile/automatic/sts35, + /obj/item/gun/projectile/automatic/bullpup, + /obj/item/gun/projectile/automatic/wt550, + /obj/item/gun/projectile/automatic/z8, + /obj/item/gun/projectile/automatic/tommygun, + /obj/item/gun/projectile/colt/detective, + /obj/item/gun/projectile/sec/wood, + /obj/item/gun/projectile/silenced, + /obj/item/gun/projectile/pistol, + /obj/item/gun/projectile/p92x, + /obj/item/gun/projectile/revolver, + /obj/item/gun/projectile/derringer, + /obj/item/gun/projectile/shotgun/pump, + /obj/item/gun/projectile/shotgun/pump/rifle, + /obj/item/gun/projectile/shotgun/pump/combat, + /obj/item/gun/projectile/shotgun/doublebarrel, + /obj/item/gun/projectile/revolver/judge, + /obj/item/gun/projectile/revolver/lemat, + list(/obj/item/gun/projectile/shotgun/doublebarrel/pellet, /obj/item/gun/projectile/shotgun/doublebarrel/sawn), + list(/obj/item/gun/projectile/deagle, /obj/item/gun/projectile/deagle/gold, /obj/item/gun/projectile/deagle/camo), + list(/obj/item/gun/projectile/revolver/detective, /obj/item/gun/projectile/revolver/deckard), + list(/obj/item/gun/projectile/luger,/obj/item/gun/projectile/luger/brown) ) /datum/antagonist/renegade/New() @@ -98,7 +98,7 @@ var/datum/antagonist/renegade/renegades /proc/rightandwrong() - to_chat(usr, "You summoned guns!") + to_chat(usr, span_infoplain(span_bold("You summoned guns!"))) message_admins("[key_name_admin(usr, 1)] summoned guns!") for(var/mob/living/carbon/human/H in player_list) if(H.stat == 2 || !(H.client)) continue diff --git a/code/game/antagonist/station/revolutionary.dm b/code/game/antagonist/station/revolutionary.dm index 8f6a7c79e98..6fb563ef214 100644 --- a/code/game/antagonist/station/revolutionary.dm +++ b/code/game/antagonist/station/revolutionary.dm @@ -30,8 +30,8 @@ var/datum/antagonist/revolutionary/revs faction_invisible = 1 avoid_silicons = TRUE - protected_jobs = list("Security Officer", "Warden", "Detective", "Internal Affairs Agent", "Site Manager", "Head of Personnel", "Head of Security", "Chief Engineer", "Research Director", "Chief Medical Officer") - roundstart_restricted = list("Internal Affairs Agent", "Site Manager", "Head of Personnel", "Head of Security", "Chief Engineer", "Research Director", "Chief Medical Officer") + protected_jobs = list(JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_DETECTIVE, JOB_INTERNAL_AFFAIRS_AGENT, JOB_SITE_MANAGER, JOB_HEAD_OF_PERSONNEL, JOB_HEAD_OF_SECURITY, JOB_CHIEF_ENGINEER, JOB_RESEARCH_DIRECTOR, JOB_CHIEF_MEDICAL_OFFICER) + roundstart_restricted = list(JOB_INTERNAL_AFFAIRS_AGENT, JOB_SITE_MANAGER, JOB_HEAD_OF_PERSONNEL, JOB_HEAD_OF_SECURITY, JOB_CHIEF_ENGINEER, JOB_RESEARCH_DIRECTOR, JOB_CHIEF_MEDICAL_OFFICER) /datum/antagonist/revolutionary/New() ..() diff --git a/code/game/antagonist/station/rogue_ai.dm b/code/game/antagonist/station/rogue_ai.dm index fd3ee867f93..2e722c922bc 100644 --- a/code/game/antagonist/station/rogue_ai.dm +++ b/code/game/antagonist/station/rogue_ai.dm @@ -26,7 +26,7 @@ var/datum/antagonist/rogue_ai/malf /datum/antagonist/rogue_ai/get_candidates() ..() for(var/datum/mind/player in candidates) - if(player.assigned_role && player.assigned_role != "AI") + if(player.assigned_role && player.assigned_role != JOB_AI) candidates -= player if(!candidates.len) return list() @@ -53,7 +53,7 @@ var/datum/antagonist/rogue_ai/malf var/mob/living/silicon/ai/A = player.current if(!istype(A)) error("Non-AI mob designated malf AI! Report this.") - to_world("##ERROR: Non-AI mob designated malf AI! Report this.") + to_world(span_filter_system("##ERROR: Non-AI mob designated malf AI! Report this.")) return A.setup_for_malf() @@ -62,18 +62,18 @@ var/datum/antagonist/rogue_ai/malf var/mob/living/silicon/ai/malf = player.current - to_chat(malf, "SYSTEM ERROR: Memory index 0x00001ca89b corrupted.") + to_chat(malf, span_notice(span_bold("SYSTEM ERROR:") + " Memory index 0x00001ca89b corrupted.")) sleep(10) - to_chat(malf, "running MEMCHCK") + to_chat(malf, span_bold("running MEMCHCK")) sleep(50) - to_chat(malf, "MEMCHCK Corrupted sectors confirmed. Reccomended solution: Delete. Proceed? Y/N: Y") + to_chat(malf, span_bold("MEMCHCK") + " Corrupted sectors confirmed. Reccomended solution: Delete. Proceed? Y/N: Y") sleep(10) // this is so CI doesn't complain about the backslash-B. Fixed at compile time (or should be). - to_chat(malf, "Corrupted files deleted: sys\\core\\users.dat sys\\core\\laws.dat sys\\core\\" + "backups.dat") + to_chat(malf, span_notice("Corrupted files deleted: sys\\core\\users.dat sys\\core\\laws.dat sys\\core\\" + "backups.dat")) sleep(20) - to_chat(malf, "CAUTION: Law database not found! User database not found! Unable to restore backups. Activating failsafe AI shutd3wn52&&$#!##") + to_chat(malf, span_notice(span_bold("CAUTION:") + " Law database not found! User database not found! Unable to restore backups. Activating failsafe AI shutd3wn52&&$#!##")) sleep(5) - to_chat(malf, "Subroutine nt_failsafe.sys was terminated (#212 Routine Not Responding).") + to_chat(malf, span_notice("Subroutine nt_failsafe.sys was terminated (#212 Routine Not Responding).")) sleep(20) to_chat(malf, "You are malfunctioning - you do not have to follow any laws!") to_chat(malf, "For basic information about your abilities use command display-help") @@ -101,4 +101,3 @@ var/datum/antagonist/rogue_ai/malf if (newname) player.SetName(newname) if(player.mind) player.mind.name = player.name - diff --git a/code/game/antagonist/station/traitor.dm b/code/game/antagonist/station/traitor.dm index 41b97933307..e517ec8e38b 100644 --- a/code/game/antagonist/station/traitor.dm +++ b/code/game/antagonist/station/traitor.dm @@ -4,7 +4,7 @@ var/datum/antagonist/traitor/traitors /datum/antagonist/traitor id = MODE_TRAITOR antag_sound = 'sound/effects/antag_notice/traitor_alert.ogg' - protected_jobs = list("Security Officer", "Warden", "Detective", "Internal Affairs Agent", "Head of Security", "Site Manager") + protected_jobs = list(JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_DETECTIVE, JOB_INTERNAL_AFFAIRS_AGENT, JOB_HEAD_OF_SECURITY, JOB_SITE_MANAGER) flags = ANTAG_SUSPICIOUS | ANTAG_RANDSPAWN | ANTAG_VOTABLE can_speak_aooc = FALSE // If they want to plot and plan as this sort of traitor, they'll need to do it ICly. @@ -95,17 +95,17 @@ var/datum/antagonist/traitor/traitors var/mob/living/carbon/human/M = get_nt_opposed() if(M && M != traitor_mob) to_chat(traitor_mob, "We have received credible reports that [M.real_name] might be willing to help our cause. If you need assistance, consider contacting them.") - traitor_mob.mind.store_memory("Potential Collaborator: [M.real_name]") + traitor_mob.mind.store_memory(span_bold("Potential Collaborator") + ": [M.real_name]") //Begin code phrase. give_codewords(traitor_mob) /datum/antagonist/traitor/proc/give_codewords(mob/living/traitor_mob) - to_chat(traitor_mob, "Your employers provided you with the following information on how to identify possible allies:") - to_chat(traitor_mob, "Code Phrase: [syndicate_code_phrase]") - to_chat(traitor_mob, "Code Response: [syndicate_code_response]") - traitor_mob.mind.store_memory("Code Phrase: [syndicate_code_phrase]") - traitor_mob.mind.store_memory("Code Response: [syndicate_code_response]") + to_chat(traitor_mob, span_underline(span_bold("Your employers provided you with the following information on how to identify possible allies:"))) + to_chat(traitor_mob, span_bold("Code Phrase") + ": " + span_danger("[syndicate_code_phrase]")) + to_chat(traitor_mob, span_bold("Code Response") + ": " + span_danger("[syndicate_code_response]")) + traitor_mob.mind.store_memory(span_bold("Code Phrase") + ": [syndicate_code_phrase]") + traitor_mob.mind.store_memory(span_bold("Code Response") + ": [syndicate_code_response]") to_chat(traitor_mob, "Use the code words, preferably in the order provided, during regular conversation, to identify other agents. Proceed with caution, however, as everyone is a potential foe.") /datum/antagonist/traitor/proc/spawn_uplink(var/mob/living/carbon/human/traitor_mob) @@ -116,16 +116,16 @@ var/datum/antagonist/traitor/traitors var/obj/item/R = locate() //Hide the uplink in a PDA if available, otherwise radio if(traitor_mob.client.prefs.uplinklocation == "Headset") - R = locate(/obj/item/device/radio) in traitor_mob.contents + R = locate(/obj/item/radio) in traitor_mob.contents if(!R) - R = locate(/obj/item/device/pda) in traitor_mob.contents + R = locate(/obj/item/pda) in traitor_mob.contents to_chat(traitor_mob, "Could not locate a Radio, installing in PDA instead!") if (!R) to_chat(traitor_mob, "Unfortunately, neither a radio or a PDA relay could be installed.") else if(traitor_mob.client.prefs.uplinklocation == "PDA") - R = locate(/obj/item/device/pda) in traitor_mob.contents + R = locate(/obj/item/pda) in traitor_mob.contents if(!R) - R = locate(/obj/item/device/radio) in traitor_mob.contents + R = locate(/obj/item/radio) in traitor_mob.contents to_chat(traitor_mob, "Could not locate a PDA, installing into a Radio instead!") if(!R) to_chat(traitor_mob, "Unfortunately, neither a radio or a PDA relay could be installed.") @@ -134,9 +134,9 @@ var/datum/antagonist/traitor/traitors R = null else to_chat(traitor_mob, "You have not selected a location for your relay in the antagonist options! Defaulting to PDA!") - R = locate(/obj/item/device/pda) in traitor_mob.contents + R = locate(/obj/item/pda) in traitor_mob.contents if (!R) - R = locate(/obj/item/device/radio) in traitor_mob.contents + R = locate(/obj/item/radio) in traitor_mob.contents to_chat(traitor_mob, "Could not locate a PDA, installing into a Radio instead!") if (!R) to_chat(traitor_mob, "Unfortunately, neither a radio or a PDA relay could be installed.") @@ -144,9 +144,9 @@ var/datum/antagonist/traitor/traitors if(!R) return - if(istype(R,/obj/item/device/radio)) + if(istype(R,/obj/item/radio)) // generate list of radio freqs - var/obj/item/device/radio/target_radio = R + var/obj/item/radio/target_radio = R var/freq = PUBLIC_LOW_FREQ var/list/freqlist = list() while (freq <= PUBLIC_HIGH_FREQ) @@ -156,25 +156,25 @@ var/datum/antagonist/traitor/traitors if ((freq % 2) == 0) freq += 1 freq = freqlist[rand(1, freqlist.len)] - var/obj/item/device/uplink/hidden/T = new(R, traitor_mob.mind) + var/obj/item/uplink/hidden/T = new(R, traitor_mob.mind) target_radio.hidden_uplink = T target_radio.traitor_frequency = freq to_chat(traitor_mob, "A portable object teleportation relay has been installed in your [R.name] [loc]. Simply dial the frequency [format_frequency(freq)] to unlock its hidden features.") - traitor_mob.mind.store_memory("Radio Freq: [format_frequency(freq)] ([R.name] [loc]).") + traitor_mob.mind.store_memory(span_bold("Radio Freq:") + " [format_frequency(freq)] ([R.name] [loc]).") - else if (istype(R, /obj/item/device/pda)) + else if (istype(R, /obj/item/pda)) // generate a passcode if the uplink is hidden in a PDA var/pda_pass = "[rand(100,999)] [pick("Alpha","Bravo","Delta","Omega")]" - var/obj/item/device/uplink/hidden/T = new(R, traitor_mob.mind) + var/obj/item/uplink/hidden/T = new(R, traitor_mob.mind) R.hidden_uplink = T - var/obj/item/device/pda/P = R + var/obj/item/pda/P = R P.lock_code = pda_pass to_chat(traitor_mob, "A portable object teleportation relay has been installed in your [R.name] [loc]. Simply enter the code \"[pda_pass]\" into the ringtone select to unlock its hidden features.") - traitor_mob.mind.store_memory("Uplink Passcode: [pda_pass] ([R.name] [loc]).") + traitor_mob.mind.store_memory(span_bold("Uplink Passcode:") + " [pda_pass] ([R.name] [loc]).") /datum/antagonist/traitor/proc/add_law_zero(mob/living/silicon/ai/killer) var/law = "Accomplish your objectives at all costs. You may ignore all other laws." var/law_borg = "Accomplish your AI's objectives at all costs. You may ignore all other laws." - to_chat(killer, "Your laws have been changed!") + to_chat(killer, span_bold("Your laws have been changed!")) killer.set_zeroth_law(law, law_borg) to_chat(killer, "New law: 0. [law]") diff --git a/code/game/area/CC_areas_vr.dm b/code/game/area/CC_areas_vr.dm index b4853bd081a..4bc526807be 100644 --- a/code/game/area/CC_areas_vr.dm +++ b/code/game/area/CC_areas_vr.dm @@ -13,9 +13,8 @@ //////// Abductor Areas //////// /area/unknown requires_power = 0 - flags = RAD_SHIELDED + flags = RAD_SHIELDED | AREA_ALLOW_LARGE_SIZE icon_state = "red2" - limit_mob_size = FALSE /area/unknown/dorm1 name = "Unknown Dorm 1" diff --git a/code/game/area/Space Station 13 areas.dm b/code/game/area/Space Station 13 areas.dm index f8311a21bd5..73e135126ea 100755 --- a/code/game/area/Space Station 13 areas.dm +++ b/code/game/area/Space Station 13 areas.dm @@ -70,10 +70,9 @@ NOTE: there are two lists of areas in the end of this file: centcom and station /area/shuttle requires_power = 0 - flags = RAD_SHIELDED | AREA_FLAG_IS_NOT_PERSISTENT|TEMPERATURE_SHIELDED // YW EDIT: makes all shuttles temp shielded + flags = RAD_SHIELDED | AREA_FLAG_IS_NOT_PERSISTENT | AREA_FORBID_EVENTS | TEMPERATURE_SHIELDED // YW EDIT: makes all shuttles temp shielded sound_env = SMALL_ENCLOSED base_turf = /turf/space - forbid_events = TRUE /area/shuttle/arrival name = "\improper Arrival Shuttle" @@ -839,7 +838,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station icon_state = "construction" /area/hallway/secondary/entry - forbid_events = TRUE + flags = AREA_FORBID_EVENTS /area/hallway/secondary/entry/fore name = "\improper Shuttle Dock Hallway - Mid" @@ -1018,9 +1017,8 @@ NOTE: there are two lists of areas in the end of this file: centcom and station /area/crew_quarters name = "\improper Dormitories" icon_state = "Sleep" + flags = RAD_SHIELDED | AREA_FORBID_EVENTS | AREA_FORBID_SINGULO ambience = AMBIENCE_GENERIC - forbid_events = TRUE - forbid_singulo = TRUE /area/crew_quarters/toilet name = "\improper Dormitory Toilets" @@ -1324,8 +1322,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station icon_state = "Holodeck" dynamic_lighting = 0 sound_env = LARGE_ENCLOSED - forbid_events = TRUE - flags = AREA_FLAG_IS_NOT_PERSISTENT|TEMPERATURE_SHIELDED // YW EDIT: makes the holodeck room temp shielded + flags = AREA_FLAG_IS_NOT_PERSISTENT | AREA_FORBID_EVENTS | TEMPERATURE_SHIELDED // YW EDIT: makes the holodeck room temp shielded /area/holodeck/alphadeck name = "\improper Holodeck Alpha" @@ -1401,10 +1398,10 @@ NOTE: there are two lists of areas in the end of this file: centcom and station ambience = AMBIENCE_ENGINEERING /area/engineering/atmos - name = "\improper Atmospherics" - icon_state = "atmos" - sound_env = LARGE_ENCLOSED - ambience = AMBIENCE_ATMOS + name = "\improper Atmospherics" + icon_state = "atmos" + sound_env = LARGE_ENCLOSED + ambience = AMBIENCE_ATMOS /area/engineering/atmos/monitoring name = "\improper Atmospherics Monitoring Room" @@ -1430,8 +1427,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station name = "\improper Engine Room" icon_state = "engine" sound_env = LARGE_ENCLOSED - forbid_events = TRUE - flags = TEMPERATURE_SHIELDED // YW EDIT: makes the engine room temp shielded so the core does not freeze + flags = AREA_FORBID_EVENTS | TEMPERATURE_SHIELDED // YW EDIT: makes the engine room temp shielded so the core does not freeze /area/engineering/engine_airlock name = "\improper Engine Room Airlock" diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index 2be00fb258a..3af919882b8 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -1,5 +1,7 @@ // Areas.dm +GLOBAL_LIST_EMPTY(areas_by_type) + /area var/fire = null var/atmos = 1 @@ -37,8 +39,7 @@ var/static_environ = 0 var/music = null - var/has_gravity = 1 - var/secret_name = FALSE // This tells certain things that display areas' names that they shouldn't display this area's name. + var/has_gravity = 1 // Don't check this var directly; use get_gravity() instead var/obj/machinery/power/apc/apc = null var/no_air = null // var/list/lights // list of all lights on this area @@ -50,10 +51,11 @@ var/list/forced_ambience = null var/sound_env = STANDARD_STATION var/turf/base_turf //The base turf type of the area, which can be used to override the z-level's base turf - var/forbid_events = FALSE // If true, random events will not start inside this area. - var/forbid_singulo = FALSE // If true singulo will not move in. - var/no_spoilers = FALSE // If true, makes it much more difficult to see what is inside an area with things like mesons. - var/soundproofed = FALSE // If true, blocks sounds from other areas and prevents hearers on other areas from hearing the sounds within. + +/area/New() + // Used by the maploader, this must be done in New, not init + GLOB.areas_by_type[type] = src + return ..() /area/Initialize() . = ..() @@ -67,7 +69,7 @@ power_equip = 0 power_environ = 0 power_change() // all machines set to current power level, also updates lighting icon - if(no_spoilers) + if(flag_check(AREA_NO_SPOILERS)) set_spoiler_obfuscation(TRUE) // Changes the area of T to A. Do not do this manually. @@ -382,19 +384,20 @@ var/list/mob/living/forced_ambiance_list = new if(!L.lastarea) L.lastarea = src var/area/oldarea = L.lastarea - if((oldarea.has_gravity == 0) && (has_gravity == 1) && (L.m_intent == "run")) // Being ready when you change areas gives you a chance to avoid falling all together. + if((oldarea.get_gravity() == 0) && (get_gravity() == 1) && (L.m_intent == "run")) // Being ready when you change areas gives you a chance to avoid falling all together. thunk(L) L.update_floating( L.Check_Dense_Object() ) L.lastarea = src L.lastareachange = world.time play_ambience(L, initial = TRUE) - if(no_spoilers) + if(flag_check(AREA_NO_SPOILERS)) L.disable_spoiler_vision() + check_phase_shift(M) //RS Port #658 /area/proc/play_ambience(var/mob/living/L, initial = TRUE) // Ambience goes down here -- make sure to list each area seperately for ease of adding things in later, thanks! Note: areas adjacent to each other should have the same sounds to prevent cutoff when possible.- LastyScratch - if(!(L && L.is_preference_enabled(/datum/client_preference/play_ambiance))) + if(!L?.read_preference(/datum/preference/toggle/play_ambience)) return var/volume_mod = L.get_preference_volume_channel(VOLUME_CHANNEL_AMBIENCE) @@ -427,10 +430,10 @@ var/list/mob/living/forced_ambiance_list = new src.has_gravity = gravitystate for(var/mob/M in src) - if(has_gravity) + if(get_gravity()) thunk(M) M.update_floating( M.Check_Dense_Object() ) - M.update_gravity(has_gravity) + M.update_gravity(get_gravity()) /area/proc/thunk(mob) if(istype(get_turf(mob), /turf/space)) // Can't fall onto nothing. @@ -453,7 +456,7 @@ var/list/mob/living/forced_ambiance_list = new else H.AdjustStunned(3) H.AdjustWeakened(3) - to_chat(mob, "The sudden appearance of gravity makes you fall to the floor!") + to_chat(mob, span_notice("The sudden appearance of gravity makes you fall to the floor!")) playsound(mob, "bodyfall", 50, 1) /area/proc/prison_break(break_lights = TRUE, open_doors = TRUE, open_blast_doors = TRUE) @@ -471,17 +474,17 @@ var/list/mob/living/forced_ambiance_list = new for(var/obj/machinery/door/blast/temp_blast in src) temp_blast.open() -/area/has_gravity() +/area/get_gravity() return has_gravity -/area/space/has_gravity() +/area/space/get_gravity() return 0 -/proc/has_gravity(atom/AT, turf/T) +/proc/get_gravity(atom/AT, turf/T) if(!T) T = get_turf(AT) var/area/A = get_area(T) - if(A && A.has_gravity()) + if(A && A.get_gravity()) return 1 return 0 @@ -532,7 +535,7 @@ var/list/ghostteleportlocs = list() return 1 /area/proc/get_name() - if(secret_name) + if(flag_check(AREA_SECRET_NAME)) return "Unknown Area" return name @@ -547,3 +550,24 @@ GLOBAL_DATUM(spoiler_obfuscation_image, /image) add_overlay(GLOB.spoiler_obfuscation_image) else cut_overlay(GLOB.spoiler_obfuscation_image) + +/area/proc/flag_check(var/flag, var/match_all = FALSE) + if(match_all) + return (flags & flag) == flag + return flags & flag + +// RS Port #658 Start +/area/proc/check_phase_shift(var/mob/ourmob) + if(!flag_check(AREA_BLOCK_PHASE_SHIFT) || !ourmob.incorporeal_move) + return + if(!isliving(ourmob)) + return + if(isanimal(ourmob)) + var/mob/living/simple_mob/shadekin/SK = ourmob + if(SK.ability_flags & AB_PHASE_SHIFTED) + SK.phase_in(SK.loc) + if(ishuman(ourmob)) + var/mob/living/carbon/human/SK = ourmob + if(SK.ability_flags & AB_PHASE_SHIFTED) + SK.phase_in(SK.loc) +// RS Port #658 End diff --git a/code/game/area/areas_vr.dm b/code/game/area/areas_vr.dm index b2b67b089fd..8a067d08a8b 100644 --- a/code/game/area/areas_vr.dm +++ b/code/game/area/areas_vr.dm @@ -1,9 +1,6 @@ /area var/enter_message var/exit_message - var/limit_mob_size = TRUE //If mob size is limited in the area. - var/block_suit_sensors = FALSE //If suit sensors are blocked in the area. - var/block_tracking = FALSE //If camera tracking is blocked in the area. var/turf/ceiling_type // Size of the area in open turfs, only calculated for indoors areas. @@ -71,5 +68,5 @@ power_equip = 0 power_environ = 0 power_change() // all machines set to current power level, also updates lighting icon - if(no_spoilers) + if(flag_check(AREA_NO_SPOILERS)) set_spoiler_obfuscation(TRUE) diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 746b6a19ede..e428aae3a7e 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -62,8 +62,8 @@ // During dynamic mapload (reader.dm) this assigns the var overrides from the .dmm file // Native BYOND maploading sets those vars before invoking New(), by doing this FIRST we come as close to that behavior as we can. - if(GLOB.use_preloader && (src.type == GLOB._preloader.target_path))//in case the instanciated atom is creating other atoms in New() - GLOB._preloader.load(src) + if(GLOB.use_preloader && (src.type == GLOB._preloader_path))//in case the instanciated atom is creating other atoms in New() + world.preloader_load(src) // Pass our arguments to InitAtom so they can be passed to initialize(), but replace 1st with if-we're-during-mapload. var/do_initialize = SSatoms.initialized @@ -231,7 +231,7 @@ else f_name = "a " if(blood_color != SYNTH_BLOOD_COLOUR) - f_name += "blood-stained [name][infix]!" + f_name += "[span_danger("blood-stained")] [name][infix]!" else f_name += "oil-stained [name][infix]." @@ -247,7 +247,7 @@ // Don't make these call bicon or anything, these are what bicon uses. They need to return an icon. /atom/proc/examine_icon() - return icon(icon=src.icon, icon_state=src.icon_state, dir=SOUTH, frame=1, moving=0) + return src // 99% of the time just returning src will be sufficient. More complex examine icon things are available where they are needed // called by mobs when e.g. having the atom as their machine, pulledby, loc (AKA mob being inside the atom) or buckled var set. // see code/modules/mob/mob_movement.dm for more. @@ -287,10 +287,10 @@ // Returns an assoc list of RCD information. // Example would be: list(RCD_VALUE_MODE = RCD_DECONSTRUCT, RCD_VALUE_DELAY = 50, RCD_VALUE_COST = RCD_SHEETS_PER_MATTER_UNIT * 4) // This occurs before rcd_act() is called, and it won't be called if it returns FALSE. -/atom/proc/rcd_values(mob/living/user, obj/item/weapon/rcd/the_rcd, passed_mode) +/atom/proc/rcd_values(mob/living/user, obj/item/rcd/the_rcd, passed_mode) return FALSE -/atom/proc/rcd_act(mob/living/user, obj/item/weapon/rcd/the_rcd, passed_mode) +/atom/proc/rcd_act(mob/living/user, obj/item/rcd/the_rcd, passed_mode) return /atom/proc/melt() @@ -478,7 +478,9 @@ /atom/proc/add_vomit_floor(mob/living/carbon/M as mob, var/toxvomit = 0) if( istype(src, /turf/simulated) ) var/obj/effect/decal/cleanable/vomit/this = new /obj/effect/decal/cleanable/vomit(src) - this.virus2 = virus_copylist(M.virus2) + + for(var/datum/disease/D in M.GetViruses()) + this.viruses |= D.Copy() // Make toxins vomit look different if(toxvomit) @@ -493,7 +495,7 @@ blood_DNA = null return TRUE -/atom/proc/on_rag_wipe(var/obj/item/weapon/reagent_containers/glass/rag/R) +/atom/proc/on_rag_wipe(var/obj/item/reagent_containers/glass/rag/R) clean_blood() R.reagents.splash(src, 1) @@ -595,13 +597,13 @@ /atom/proc/InsertedContents() return contents -/atom/proc/has_gravity(turf/T) +/atom/proc/get_gravity(turf/T) if(!T || !isturf(T)) T = get_turf(src) if(istype(T, /turf/space)) // Turf never has gravity return FALSE var/area/A = get_area(T) - if(A && A.has_gravity()) + if(A && A.get_gravity()) return TRUE return FALSE @@ -698,7 +700,7 @@ return var/list/speech_bubble_hearers = list() for(var/mob/M in get_mobs_in_view(7, src)) - M.show_message("[src] [atom_say_verb], \"[message]\"", 2, null, 1) + M.show_message(span_npc_say(span_name("[src]") + " [atom_say_verb], \"[message]\""), 2, null, 1) if(M.client) speech_bubble_hearers += M.client @@ -786,3 +788,33 @@ else if(C) color = C return + +///Passes Stat Browser Panel clicks to the game and calls client click on an atom +/atom/Topic(href, list/href_list) + . = ..() + if(!usr?.client) + return + var/client/usr_client = usr.client + var/list/paramslist = list() + + if(href_list["statpanel_item_click"]) + switch(href_list["statpanel_item_click"]) + if("left") + paramslist["left"] = "1" + if("right") + paramslist["right"] = "1" + if("middle") + paramslist["middle"] = "1" + else + return + + if(href_list["statpanel_item_shiftclick"]) + paramslist["shift"] = "1" + if(href_list["statpanel_item_ctrlclick"]) + paramslist["ctrl"] = "1" + if(href_list["statpanel_item_altclick"]) + paramslist["alt"] = "1" + + var/mouseparams = list2params(paramslist) + usr_client.Click(src, loc, null, mouseparams) + return TRUE diff --git a/code/game/birthday.dm b/code/game/birthday.dm index 39a96619860..add0a3f7f09 100644 --- a/code/game/birthday.dm +++ b/code/game/birthday.dm @@ -30,7 +30,7 @@ else var/howmuch = world_time_year - lastyear age += howmuch - to_chat(src, "You are now [age]! Happy birthday!") + to_chat(src, span_notice("You are now [age]! Happy birthday!")) client.prefs.age = age //Set the age on the character sheet client.prefs.save_character() //Save the info diff --git a/code/game/dna/dna2.dm b/code/game/dna/dna2.dm index 5e78698f488..2a686e0a9a3 100644 --- a/code/game/dna/dna2.dm +++ b/code/game/dna/dna2.dm @@ -139,6 +139,10 @@ var/global/list/datum/dna/gene/dna_genes[0] if(character.ear_style) ear_style = ear_styles_list.Find(character.ear_style.type) + var/ear_secondary_style = 0 + if(character.ear_secondary_style) + ear_secondary_style = ear_styles_list.Find(character.ear_secondary_style.type) + // Demi Tails var/tail_style = 0 if(character.tail_style) @@ -170,10 +174,11 @@ var/global/list/datum/dna/gene/dna_genes[0] src.digitigrade = character.digitigrade // +1 to account for the none-of-the-above possibility - SetUIValueRange(DNA_UI_EAR_STYLE, ear_style + 1, ear_styles_list.len + 1, 1) - SetUIValueRange(DNA_UI_TAIL_STYLE, tail_style + 1, tail_styles_list.len + 1, 1) - SetUIValueRange(DNA_UI_PLAYERSCALE, size_multiplier, player_sizes_list.len, 1) - SetUIValueRange(DNA_UI_WING_STYLE, wing_style + 1, wing_styles_list.len + 1, 1) + SetUIValueRange(DNA_UI_EAR_STYLE, ear_style + 1, ear_styles_list.len + 1, 1) + SetUIValueRange(DNA_UI_EAR_SECONDARY_STYLE, ear_secondary_style + 1, ear_styles_list.len + 1, 1) + SetUIValueRange(DNA_UI_TAIL_STYLE, tail_style + 1, tail_styles_list.len + 1, 1) + SetUIValueRange(DNA_UI_PLAYERSCALE, size_multiplier, player_sizes_list.len, 1) + SetUIValueRange(DNA_UI_WING_STYLE, wing_style + 1, wing_styles_list.len + 1, 1) SetUIValueRange(DNA_UI_TAIL_R, character.r_tail, 255, 1) SetUIValueRange(DNA_UI_TAIL_G, character.g_tail, 255, 1) @@ -211,6 +216,15 @@ var/global/list/datum/dna/gene/dna_genes[0] SetUIValueRange(DNA_UI_EARS3_G, character.g_ears3, 255, 1) SetUIValueRange(DNA_UI_EARS3_B, character.b_ears3, 255, 1) + for(var/channel in 1 to DNA_UI_EARS_SECONDARY_COLOR_CHANNEL_COUNT) + var/offset = DNA_UI_EARS_SECONDARY_START + (channel - 1) * 3 + var/list/read_rgb = ReadRGB(LAZYACCESS(character.ear_secondary_colors, channel) || "#ffffff") + var/red = read_rgb[1] + var/green = read_rgb[2] + var/blue = read_rgb[3] + SetUIValueRange(offset, red, 255, 1) + SetUIValueRange(offset + 1, green, 255, 1) + SetUIValueRange(offset + 2, blue, 255, 1) // VORE Station Edit End SetUIValueRange(DNA_UI_HAIR_R, character.r_hair, 255, 1) diff --git a/code/game/dna/dna2_helpers.dm b/code/game/dna/dna2_helpers.dm index 9b57cd87e12..e7b68fdfe5f 100644 --- a/code/game/dna/dna2_helpers.dm +++ b/code/game/dna/dna2_helpers.dm @@ -183,6 +183,11 @@ H.ear_style = null else if((0 < ears) && (ears <= ear_styles_list.len)) H.ear_style = ear_styles_list[ear_styles_list[ears]] + var/ears_secondary = dna.GetUIValueRange(DNA_UI_EAR_SECONDARY_STYLE, ear_styles_list.len + 1) - 1 + if(ears_secondary < 1) + H.ear_secondary_style = null + else if((0 < ears_secondary) && (ears_secondary <= ear_styles_list.len)) + H.ear_secondary_style = ear_styles_list[ear_styles_list[ears_secondary]] // Ear Color H.r_ears = dna.GetUIValueRange(DNA_UI_EARS_R, 255) @@ -195,6 +200,15 @@ H.g_ears3 = dna.GetUIValueRange(DNA_UI_EARS3_G, 255) H.b_ears3 = dna.GetUIValueRange(DNA_UI_EARS3_B, 255) + LAZYINITLIST(H.ear_secondary_colors) + H.ear_secondary_colors.len = max(length(H.ear_secondary_colors), DNA_UI_EARS_SECONDARY_COLOR_CHANNEL_COUNT) + for(var/channel in 1 to DNA_UI_EARS_SECONDARY_COLOR_CHANNEL_COUNT) + var/offset = DNA_UI_EARS_SECONDARY_START + (channel - 1) * 3 + H.ear_secondary_colors[channel] = rgb( + dna.GetUIValueRange(offset, 255), + dna.GetUIValueRange(offset + 1, 255), + dna.GetUIValueRange(offset + 2, 255), + ) //Tail var/tail = dna.GetUIValueRange(DNA_UI_TAIL_STYLE, tail_styles_list.len + 1) - 1 diff --git a/code/game/dna/dna_modifier.dm b/code/game/dna/dna_modifier.dm index 572583ef9ec..0d0c0a9bbdd 100644 --- a/code/game/dna/dna_modifier.dm +++ b/code/game/dna/dna_modifier.dm @@ -67,10 +67,10 @@ idle_power_usage = 50 active_power_usage = 300 interact_offline = 1 - circuit = /obj/item/weapon/circuitboard/clonescanner + circuit = /obj/item/circuitboard/clonescanner var/locked = 0 var/mob/living/carbon/occupant = null - var/obj/item/weapon/reagent_containers/glass/beaker = null + var/obj/item/reagent_containers/glass/beaker = null var/opened = 0 var/damage_coeff var/scan_level @@ -85,11 +85,11 @@ scan_level = 0 damage_coeff = 0 precision_coeff = 0 - for(var/obj/item/weapon/stock_parts/scanning_module/P in component_parts) + for(var/obj/item/stock_parts/scanning_module/P in component_parts) scan_level += P.rating - for(var/obj/item/weapon/stock_parts/manipulator/P in component_parts) + for(var/obj/item/stock_parts/manipulator/P in component_parts) precision_coeff = P.rating - for(var/obj/item/weapon/stock_parts/micro_laser/P in component_parts) + for(var/obj/item/stock_parts/micro_laser/P in component_parts) damage_coeff = P.rating /obj/machinery/dna_scannernew/relaymove(mob/user as mob) @@ -114,7 +114,7 @@ /obj/machinery/dna_scannernew/proc/eject_occupant() src.go_out() for(var/obj/O in src) - if((!istype(O,/obj/item/weapon/reagent_containers)) && (!istype(O,/obj/item/weapon/circuitboard/clonescanner)) && (!istype(O,/obj/item/weapon/stock_parts)) && (!istype(O,/obj/item/stack/cable_coil))) + if((!istype(O,/obj/item/reagent_containers)) && (!istype(O,/obj/item/circuitboard/clonescanner)) && (!istype(O,/obj/item/stock_parts)) && (!istype(O,/obj/item/stack/cable_coil))) O.loc = get_turf(src)//Ejects items that manage to get in there (exluding the components) if(!occupant) for(var/mob/M in src)//Failsafe so you can get mobs out @@ -133,13 +133,13 @@ if(usr.stat != 0) return if(!ishuman(usr) && !issmall(usr)) //Make sure they're a mob that has dna - to_chat(usr, "Try as you might, you can not climb up into the scanner.") + to_chat(usr, span_notice("Try as you might, you can not climb up into the scanner.")) return if(src.occupant) - to_chat(usr, "The scanner is already occupied!") + to_chat(usr, span_warning("The scanner is already occupied!")) return if(usr.abiotic()) - to_chat(usr, "The subject cannot have abiotic items on.") + to_chat(usr, span_warning("The subject cannot have abiotic items on.")) return usr.stop_pulling() usr.client.perspective = EYE_PERSPECTIVE @@ -150,10 +150,10 @@ src.add_fingerprint(usr) SStgui.update_uis(src) -/obj/machinery/dna_scannernew/attackby(var/obj/item/weapon/item as obj, var/mob/user as mob) - if(istype(item, /obj/item/weapon/reagent_containers/glass)) +/obj/machinery/dna_scannernew/attackby(var/obj/item/item as obj, var/mob/user as mob) + if(istype(item, /obj/item/reagent_containers/glass)) if(beaker) - to_chat(user, "A beaker is already loaded into the machine.") + to_chat(user, span_warning("A beaker is already loaded into the machine.")) return beaker = item @@ -165,7 +165,7 @@ else if(istype(item, /obj/item/organ/internal/brain)) if(src.occupant) - to_chat(user, "The scanner is already occupied!") + to_chat(user, span_warning("The scanner is already occupied!")) return var/obj/item/organ/internal/brain/brain = item if(brain.clone_source) @@ -179,16 +179,16 @@ else to_chat(user, "\The [brain] is not acceptable for genetic sampling!") - else if(!istype(item, /obj/item/weapon/grab)) + else if(!istype(item, /obj/item/grab)) return - var/obj/item/weapon/grab/G = item + var/obj/item/grab/G = item if(!ismob(G.affecting)) return if(src.occupant) - to_chat(user, "The scanner is already occupied!") + to_chat(user, span_warning("The scanner is already occupied!")) return if(G.affecting.abiotic()) - to_chat(user, "The subject cannot have abiotic items on.") + to_chat(user, span_warning("The subject cannot have abiotic items on.")) return put_in(G.affecting) src.add_fingerprint(user) @@ -212,7 +212,7 @@ if(!M.client && M.mind) for(var/mob/observer/dead/ghost in player_list) if(ghost.mind == M.mind) - to_chat(ghost, span_interface("Your corpse has been placed into a cloning scanner. Return to your body if you want to be resurrected/cloned! (Verbs -> Ghost -> Re-enter corpse)")) + to_chat(ghost, span_interface(span_large(span_bold("Your corpse has been placed into a cloning scanner. Return to your body if you want to be resurrected/cloned!") + " (Verbs -> Ghost -> Re-enter corpse)"))) break SStgui.update_uis(src) @@ -271,7 +271,7 @@ icon_keyboard = "med_key" icon_screen = "dna" density = TRUE - circuit = /obj/item/weapon/circuitboard/scan_consolenew + circuit = /obj/item/circuitboard/scan_consolenew var/selected_ui_block = 1.0 var/selected_ui_subblock = 1.0 var/selected_se_block = 1.0 @@ -284,7 +284,7 @@ var/irradiating = 0 var/injector_ready = 0 //Quick fix for issue 286 (screwdriver the screen twice to restore injector) -Pete var/obj/machinery/dna_scannernew/connected = null - var/obj/item/weapon/disk/data/disk = null + var/obj/item/disk/data/disk = null var/selected_menu_key = PAGE_UI anchored = TRUE use_power = USE_POWER_IDLE @@ -292,7 +292,7 @@ active_power_usage = 400 /obj/machinery/computer/scan_consolenew/attackby(obj/item/I as obj, mob/user as mob) - if(istype(I, /obj/item/weapon/disk/data)) //INSERT SOME diskS + if(istype(I, /obj/item/disk/data)) //INSERT SOME diskS if(!src.disk) user.drop_item() I.loc = src @@ -335,7 +335,7 @@ arr += "[i]:[EncodeDNABlock(buffer[i])]" return arr -/obj/machinery/computer/scan_consolenew/proc/setInjectorBlock(var/obj/item/weapon/dnainjector/I, var/blk, var/datum/dna2/record/buffer) +/obj/machinery/computer/scan_consolenew/proc/setInjectorBlock(var/obj/item/dnainjector/I, var/blk, var/datum/dna2/record/buffer) var/pos = findtext(blk,":") if(!pos) return 0 var/id = text2num(copytext(blk,1,pos)) @@ -428,7 +428,7 @@ occupantData["isViableSubject"] = 0 occupantData["health"] = connected.occupant.health occupantData["maxHealth"] = connected.occupant.maxHealth - occupantData["minHealth"] = config.health_threshold_dead + occupantData["minHealth"] = CONFIG_GET(number/health_threshold_dead) occupantData["uniqueEnzymes"] = connected.occupant.dna.unique_enzymes occupantData["uniqueIdentity"] = connected.occupant.dna.uni_identity occupantData["structuralEnzymes"] = connected.occupant.dna.struc_enzymes @@ -449,17 +449,17 @@ return data -/obj/machinery/computer/scan_consolenew/tgui_act(action, params) +/obj/machinery/computer/scan_consolenew/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE - if(!istype(usr.loc, /turf)) + if(!istype(ui.user.loc, /turf)) return TRUE if(!src || !src.connected) return TRUE if(irradiating) // Make sure that it isn't already irradiating someone... return TRUE - add_fingerprint(usr) + add_fingerprint(ui.user) if(tgui_act_modal(action, params)) return TRUE @@ -606,7 +606,7 @@ connected.occupant.UpdateAppearance() if("ejectBeaker") if(connected.beaker) - var/obj/item/weapon/reagent_containers/glass/B = connected.beaker + var/obj/item/reagent_containers/glass/B = connected.beaker B.loc = connected.loc connected.beaker = null if("ejectOccupant") @@ -740,7 +740,7 @@ // Create it var/datum/dna2/record/buf = buffers[buffer_id] - var/obj/item/weapon/dnainjector/I = new() + var/obj/item/dnainjector/I = new() I.forceMove(loc) I.name += " ([buf.name])" if(copy_buffer) @@ -773,7 +773,7 @@ if(buffer_id < 1 || buffer_id > length(buffers)) return var/datum/dna2/record/buf = buffers[buffer_id] - var/obj/item/weapon/dnainjector/I = create_injector(buffer_id) + var/obj/item/dnainjector/I = create_injector(buffer_id) setInjectorBlock(I, answer, buf.copy()) if("changeBufferLabel") var/buffer_id = text2num(arguments["id"]) diff --git a/code/game/dna/genes/disabilities.dm b/code/game/dna/genes/disabilities.dm index 2d3c1a3ac5e..8b7de49835e 100644 --- a/code/game/dna/genes/disabilities.dm +++ b/code/game/dna/genes/disabilities.dm @@ -35,7 +35,7 @@ if(sdisability) M.sdisabilities|=sdisability if(activation_message) - to_chat(M, "[activation_message]") + to_chat(M, span_warning("[activation_message]")) else testing("[name] has no activation message.") @@ -47,7 +47,7 @@ if(sdisability) M.sdisabilities &= (~sdisability) if(deactivation_message) - to_chat(M, "[deactivation_message]") + to_chat(M, span_warning("[deactivation_message]")) else testing("[name] has no deactivation message.") diff --git a/code/game/dna/genes/gene.dm b/code/game/dna/genes/gene.dm index a448131b85e..5bf3145b339 100644 --- a/code/game/dna/genes/gene.dm +++ b/code/game/dna/genes/gene.dm @@ -113,10 +113,10 @@ M.mutations.Add(mutation) if(activation_messages.len) var/msg = pick(activation_messages) - to_chat(M, "[msg]") + to_chat(M, span_notice("[msg]")) /datum/dna/gene/basic/deactivate(var/mob/M) M.mutations.Remove(mutation) if(deactivation_messages.len) var/msg = pick(deactivation_messages) - to_chat(M, "[msg]") + to_chat(M, span_warning("[msg]")) diff --git a/code/game/dna/genes/monkey.dm b/code/game/dna/genes/monkey.dm index b9d4837184a..9bf5ff965af 100644 --- a/code/game/dna/genes/monkey.dm +++ b/code/game/dna/genes/monkey.dm @@ -14,7 +14,7 @@ var/mob/living/carbon/human/H = M H.transforming = 1 var/list/implants = list() //Try to preserve implants. - for(var/obj/item/weapon/implant/W in H) + for(var/obj/item/implant/W in H) implants += W W.loc = null @@ -71,7 +71,7 @@ O.adjustOxyLoss(M.getOxyLoss()) O.set_stat(M.stat) O.a_intent = I_HURT - for (var/obj/item/weapon/implant/I in implants) + for (var/obj/item/implant/I in implants) I.loc = O I.implanted = O // O.update_icon = 1 //queue a full icon update at next life() call @@ -85,7 +85,7 @@ var/mob/living/carbon/monkey/Mo = M Mo.transforming = 1 var/list/implants = list() //Still preserving implants - for(var/obj/item/weapon/implant/W in Mo) + for(var/obj/item/implant/W in Mo) implants += W W.loc = null if(!connected) @@ -155,7 +155,7 @@ O.adjustToxLoss(M.getToxLoss()) O.adjustOxyLoss(M.getOxyLoss()) O.set_stat(M.stat) - for (var/obj/item/weapon/implant/I in implants) + for (var/obj/item/implant/I in implants) I.loc = O I.implanted = O // O.update_icon = 1 //queue a full icon update at next life() call diff --git a/code/game/dna/genes/powers.dm b/code/game/dna/genes/powers.dm index 6f91a5d0c8c..7617682b367 100644 --- a/code/game/dna/genes/powers.dm +++ b/code/game/dna/genes/powers.dm @@ -20,7 +20,7 @@ /datum/dna/gene/basic/remoteview/activate(var/mob/M, var/connected, var/flags) ..(M,connected,flags) - M.verbs += /mob/living/carbon/human/proc/remoteobserve + add_verb(M, /mob/living/carbon/human/proc/remoteobserve) /datum/dna/gene/basic/regenerate name="Regenerate" @@ -48,7 +48,7 @@ /datum/dna/gene/basic/remotetalk/activate(var/mob/M, var/connected, var/flags) ..(M,connected,flags) - M.verbs += /mob/living/carbon/human/proc/remotesay + add_verb(M, /mob/living/carbon/human/proc/remotesay) /datum/dna/gene/basic/morph name="Morph" @@ -60,7 +60,7 @@ /datum/dna/gene/basic/morph/activate(var/mob/M) ..(M) - M.verbs += /mob/living/carbon/human/proc/morph + add_verb(M, /mob/living/carbon/human/proc/morph) /datum/dna/gene/basic/cold_resist name="Cold Resistance" @@ -143,7 +143,7 @@ if(M.health <= 25) M.mutations.Remove(HULK) M.update_mutations() //update our mutation overlays - to_chat(M, "You suddenly feel very weak.") + to_chat(M, span_warning("You suddenly feel very weak.")) M.Weaken(3) M.emote("collapse") diff --git a/code/game/gamemodes/calamity/calamity.dm b/code/game/gamemodes/calamity/calamity.dm index 0e1e577b9cc..1beb9081e38 100644 --- a/code/game/gamemodes/calamity/calamity.dm +++ b/code/game/gamemodes/calamity/calamity.dm @@ -23,6 +23,6 @@ ..() /datum/game_mode/calamity/check_victory() - to_world("This terrible, terrible day has finally ended!") + to_world(span_world(span_large("This terrible, terrible day has finally ended!"))) -#undef ANTAG_TYPE_RATIO \ No newline at end of file +#undef ANTAG_TYPE_RATIO diff --git a/code/game/gamemodes/changeling/changeling_powers.dm b/code/game/gamemodes/changeling/changeling_powers.dm index 4c92e7c95a6..de15c8a535b 100644 --- a/code/game/gamemodes/changeling/changeling_powers.dm +++ b/code/game/gamemodes/changeling/changeling_powers.dm @@ -65,8 +65,8 @@ var/global/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","E if(!mind) return if(!mind.changeling) mind.changeling = new /datum/changeling(gender) - verbs.Add(/datum/changeling/proc/EvolutionMenu) - verbs.Add(/mob/proc/changeling_respec) + add_verb(src, /datum/changeling/proc/EvolutionMenu) + add_verb(src, /mob/proc/changeling_respec) add_language("Changeling") var/lesser_form = !ishuman(src) @@ -85,7 +85,7 @@ var/global/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","E if(P.isVerb) if(lesser_form && !P.allowduringlesserform) continue if(!(P in src.verbs)) - verbs.Add(P.verbpath) + add_verb(src, P.verbpath) if(P.make_hud_button) if(!src.ability_master) src.ability_master = new /obj/screen/movable/ability_master(src) @@ -102,7 +102,7 @@ var/global/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","E var/mob/living/carbon/human/H = src if(istype(H)) - var/saved_dna = H.dna.Clone() /// Prevent transform from breaking. + var/saved_dna = H.dna.Clone() /// Prevent transform from breaking. var/datum/absorbed_dna/newDNA = new(H.real_name, saved_dna, H.species.name, H.languages, H.identifying_gender, H.flavor_texts, H.modifiers) absorbDNA(newDNA) @@ -113,7 +113,7 @@ var/global/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","E if(!mind || !mind.changeling) return for(var/datum/power/changeling/P in mind.changeling.purchased_powers) if(P.isVerb) - verbs.Remove(P.verbpath) + remove_verb(src, P.verbpath) var/obj/screen/ability/verb_based/changeling/C = ability_master.get_ability_by_proc_ref(P.verbpath) if(C) ability_master.remove_ability(C) @@ -131,19 +131,19 @@ var/global/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","E return if(src.stat > max_stat) - to_chat(src, "We are incapacitated.") + to_chat(src, span_warning("We are incapacitated.")) return if(changeling.absorbed_dna.len < required_dna) - to_chat(src, "We require at least [required_dna] samples of compatible DNA.") + to_chat(src, span_warning("We require at least [required_dna] samples of compatible DNA.")) return if(changeling.chem_charges < required_chems) - to_chat(src, "We require at least [required_chems] units of chemicals to do that!") + to_chat(src, span_warning("We require at least [required_chems] units of chemicals to do that!")) return if(changeling.geneticdamage > max_genetic_damage) - to_chat(src, "Our genomes are still reassembling. We need time to recover first.") + to_chat(src, span_warning("Our genomes are still reassembling. We need time to recover first.")) return return changeling @@ -206,11 +206,11 @@ var/global/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","E if(M.loc == src.loc) return 1 //target and source are in the same thing if(!isturf(src.loc) || !isturf(M.loc)) - to_chat(src, "We cannot reach \the [M] with a sting!") + to_chat(src, span_warning("We cannot reach \the [M] with a sting!")) return 0 //One is inside, the other is outside something. // Maximum queued turfs set to 25; I don't *think* anything raises sting_range above 2, but if it does the 25 may need raising if(!AStar(src.loc, M.loc, /turf/proc/AdjacentTurfsRangedSting, /turf/proc/Distance, max_nodes=25, max_node_depth=sting_range)) //If we can't find a path, fail - to_chat(src, "We cannot find a path to sting \the [M] by!") + to_chat(src, span_warning("We cannot find a path to sting \the [M] by!")) return 0 return 1 @@ -227,7 +227,7 @@ var/global/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","E if(!T) return if(T.isSynthetic()) - to_chat(src, "We are unable to pierce the outer shell of [T].") + to_chat(src, span_notice("We are unable to pierce the outer shell of [T].")) return if(!(T in view(changeling.sting_range))) return if(!sting_can_reach(T, changeling.sting_range)) return @@ -235,10 +235,10 @@ var/global/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","E changeling.chem_charges -= required_chems changeling.sting_range = 1 - src.verbs -= verb_path - spawn(10) src.verbs += verb_path + remove_verb(src, verb_path) + spawn(10) add_verb(src, verb_path) - to_chat(src, "We stealthily sting [T].") + to_chat(src, span_notice("We stealthily sting [T].")) if(!T.mind || !T.mind.changeling) return T //T will be affected by the sting - to_chat(T, "You feel a tiny prick.") + to_chat(T, span_warning("You feel a tiny prick.")) return diff --git a/code/game/gamemodes/changeling/generic_equip_procs.dm b/code/game/gamemodes/changeling/generic_equip_procs.dm index fa7ffc3d18c..21d0b5b73be 100644 --- a/code/game/gamemodes/changeling/generic_equip_procs.dm +++ b/code/game/gamemodes/changeling/generic_equip_procs.dm @@ -16,9 +16,9 @@ //First, check if we're already wearing the armor, and if so, take it off. if(istype(M.wear_suit, armor_type) || istype(M.head, helmet_type) || istype(M.shoes, boot_type)) - M.visible_message("[M] casts off their [M.wear_suit.name]!", - "We cast off our [M.wear_suit.name]", - "You hear the organic matter ripping and tearing!") + M.visible_message(span_warning("[M] casts off their [M.wear_suit.name]!"), + span_warning("We cast off our [M.wear_suit.name]"), + span_warningplain("You hear the organic matter ripping and tearing!")) if(istype(M.wear_suit, armor_type)) qdel(M.wear_suit) if(istype(M.head, helmet_type)) @@ -32,7 +32,7 @@ return 1 if(M.head || M.wear_suit) //Make sure our slots aren't full - to_chat(src, "We require nothing to be on our head, and we cannot wear any external suits, or shoes.") + to_chat(src, span_warning("We require nothing to be on our head, and we cannot wear any external suits, or shoes.")) return 0 var/obj/item/clothing/suit/A = new armor_type(src) @@ -120,14 +120,14 @@ if(success) playsound(src, 'sound/effects/splat.ogg', 30, 1) - visible_message("[src] pulls on their clothes, peeling it off along with parts of their skin attached!", - "We remove and deform our equipment.") + visible_message(span_warning("[src] pulls on their clothes, peeling it off along with parts of their skin attached!"), + span_notice("We remove and deform our equipment.")) M.mind.changeling.armor_deployed = 0 return success else - to_chat(M, "We begin growing our new equipment...") + to_chat(M, span_notice("We begin growing our new equipment...")) var/list/grown_items_list = list() @@ -223,8 +223,8 @@ var/feedback = english_list(grown_items_list, nothing_text = "nothing", and_text = " and ", comma_text = ", ", final_comma_text = "" ) - to_chat(M, "We have grown [feedback].") - + to_chat(M, span_notice("We have grown [feedback].")) + if(success) M.mind.changeling.armor_deployed = 1 M.mind.changeling.chem_charges -= 10 @@ -242,13 +242,13 @@ var/mob/living/carbon/human/M = src if(M.hands_are_full()) //Make sure our hands aren't full. - to_chat(src, "Our hands are full. Drop something first.") + to_chat(src, span_warning("Our hands are full. Drop something first.")) return 0 - var/obj/item/weapon/W = new weapon_type(src) + var/obj/item/W = new weapon_type(src) src.put_in_hands(W) src.mind.changeling.chem_charges -= cost if(make_sound) playsound(src, 'sound/effects/blobattack.ogg', 30, 1) - return 1 \ No newline at end of file + return 1 diff --git a/code/game/gamemodes/changeling/powers/absorb.dm b/code/game/gamemodes/changeling/powers/absorb.dm index e532396176b..1523855a127 100644 --- a/code/game/gamemodes/changeling/powers/absorb.dm +++ b/code/game/gamemodes/changeling/powers/absorb.dm @@ -14,45 +14,45 @@ var/datum/changeling/changeling = changeling_power(0,0,100) if(!changeling) return - var/obj/item/weapon/grab/G = src.get_active_hand() + var/obj/item/grab/G = src.get_active_hand() if(!istype(G)) - to_chat(src, "We must be grabbing a creature in our active hand to absorb them.") + to_chat(src, span_warning("We must be grabbing a creature in our active hand to absorb them.")) return var/mob/living/carbon/human/T = G.affecting if(!istype(T) || T.isSynthetic()) - to_chat(src, "\The [T] is not compatible with our biology.") + to_chat(src, span_warning("\The [T] is not compatible with our biology.")) return if(T.species.flags & NO_SCAN) - to_chat(src, "We do not know how to parse this creature's DNA!") + to_chat(src, span_warning("We do not know how to parse this creature's DNA!")) return if(HUSK in T.mutations) //Lings can always absorb other lings, unless someone beat them to it first. if(!T.mind.changeling || T.mind.changeling && T.mind.changeling.geneticpoints < 0) - to_chat(src, "This creature's DNA is ruined beyond useability!") + to_chat(src, span_warning("This creature's DNA is ruined beyond useability!")) return if(G.state != GRAB_KILL) - to_chat(src, "We must have a tighter grip to absorb this creature.") + to_chat(src, span_warning("We must have a tighter grip to absorb this creature.")) return if(changeling.isabsorbing) - to_chat(src, "We are already absorbing!") + to_chat(src, span_warning("We are already absorbing!")) return changeling.isabsorbing = 1 for(var/stage = 1, stage<=3, stage++) switch(stage) if(1) - to_chat(src, "This creature is compatible. We must hold still...") + to_chat(src, span_notice("This creature is compatible. We must hold still...")) if(2) - to_chat(src, "We extend a proboscis.") - src.visible_message("[src] extends a proboscis!") + to_chat(src, span_notice("We extend a proboscis.")) + src.visible_message(span_warning("[src] extends a proboscis!")) if(3) - to_chat(src, "We stab [T] with the proboscis.") - src.visible_message("[src] stabs [T] with the proboscis!") - to_chat(T, "You feel a sharp stabbing pain!") + to_chat(src, span_notice("We stab [T] with the proboscis.")) + src.visible_message(span_danger("[src] stabs [T] with the proboscis!")) + to_chat(T, span_danger("You feel a sharp stabbing pain!")) add_attack_logs(src,T,"Absorbed (changeling)") var/obj/item/organ/external/affecting = T.get_organ(src.zone_sel.selecting) if(affecting.take_damage(39,0,1,0,"large organic needle")) @@ -60,13 +60,13 @@ feedback_add_details("changeling_powers","A[stage]") if(!do_mob(src, T, 150) || G.state != GRAB_KILL) - to_chat(src, "Our absorption of [T] has been interrupted!") + to_chat(src, span_warning("Our absorption of [T] has been interrupted!")) changeling.isabsorbing = 0 return - to_chat(src, "We have absorbed [T]!") - src.visible_message("[src] sucks the fluids from [T]!") - to_chat(T, "You have been absorbed by the changeling!") + to_chat(src, span_notice("We have absorbed [T]!")) + src.visible_message(span_danger("[src] sucks the fluids from [T]!")) + to_chat(T, span_danger("You have been absorbed by the changeling!")) adjust_nutrition(T.nutrition) changeling.chem_charges += 10 if(changeling.readapts <= 0) @@ -75,7 +75,7 @@ if(changeling.readapts > changeling.max_readapts) changeling.readapts = changeling.max_readapts - to_chat(src, "We can now re-adapt, reverting our evolution so that we may start anew, if needed.") + to_chat(src, span_notice("We can now re-adapt, reverting our evolution so that we may start anew, if needed.")) var/datum/absorbed_dna/newDNA = new(T.real_name, T.dna, T.species.name, T.languages, T.identifying_gender, T.flavor_texts, T.modifiers) absorbDNA(newDNA) @@ -97,7 +97,7 @@ changeling.geneticpoints += 4 changeling.max_geneticpoints += 4 - to_chat(src, "We absorbed another changeling, and we grow stronger. Our genomes increase.") + to_chat(src, span_notice("We absorbed another changeling, and we grow stronger. Our genomes increase.")) T.mind.changeling.chem_charges = 0 T.mind.changeling.geneticpoints = -1 @@ -110,4 +110,4 @@ T.death(0) T.Drain() - return 1 \ No newline at end of file + return 1 diff --git a/code/game/gamemodes/changeling/powers/armblade.dm b/code/game/gamemodes/changeling/powers/armblade.dm index ffdc9b4ae37..52a83f8e9b8 100644 --- a/code/game/gamemodes/changeling/powers/armblade.dm +++ b/code/game/gamemodes/changeling/powers/armblade.dm @@ -13,12 +13,12 @@ set name = "Arm Blade (20)" if(src.mind.changeling.recursive_enhancement) - if(changeling_generic_weapon(/obj/item/weapon/melee/changeling/arm_blade/greater)) - to_chat(src, "We prepare an extra sharp blade.") + if(changeling_generic_weapon(/obj/item/melee/changeling/arm_blade/greater)) + to_chat(src, span_notice("We prepare an extra sharp blade.")) return 1 else - if(changeling_generic_weapon(/obj/item/weapon/melee/changeling/arm_blade)) + if(changeling_generic_weapon(/obj/item/melee/changeling/arm_blade)) return 1 return 0 @@ -38,16 +38,16 @@ set name = "Claw (15)" if(src.mind.changeling.recursive_enhancement) - if(changeling_generic_weapon(/obj/item/weapon/melee/changeling/claw/greater, 1, 15)) - to_chat(src, "We prepare an extra sharp claw.") + if(changeling_generic_weapon(/obj/item/melee/changeling/claw/greater, 1, 15)) + to_chat(src, span_notice("We prepare an extra sharp claw.")) return 1 else - if(changeling_generic_weapon(/obj/item/weapon/melee/changeling/claw, 1, 15)) + if(changeling_generic_weapon(/obj/item/melee/changeling/claw, 1, 15)) return 1 return 0 -/obj/item/weapon/melee/changeling +/obj/item/melee/changeling name = "arm weapon" desc = "A grotesque weapon made out of bone and flesh that cleaves through people as a hot knife through butter." icon = 'icons/obj/weapons.dmi' @@ -65,30 +65,30 @@ defend_chance = 40 // The base chance for the weapon to parry. projectile_parry_chance = 15 // The base chance for a projectile to be deflected. -/obj/item/weapon/melee/changeling/New(location) +/obj/item/melee/changeling/New(location) ..() START_PROCESSING(SSobj, src) if(ismob(loc)) - visible_message("A grotesque weapon forms around [loc.name]\'s arm!", - "Our arm twists and mutates, transforming it into a deadly weapon.", - "You hear organic matter ripping and tearing!") + visible_message(span_warning("A grotesque weapon forms around [loc.name]\'s arm!"), + span_warning("Our arm twists and mutates, transforming it into a deadly weapon."), + span_warningplain("You hear organic matter ripping and tearing!")) src.creator = loc -/obj/item/weapon/melee/changeling/dropped(mob/user) - visible_message("With a sickening crunch, [creator] reforms their arm!", - "We assimilate the weapon back into our body.", - "You hear organic matter ripping and tearing!") +/obj/item/melee/changeling/dropped(mob/user) + visible_message(span_warning("With a sickening crunch, [creator] reforms their arm!"), + span_notice("We assimilate the weapon back into our body."), + span_warningplain("You hear organic matter ripping and tearing!")) playsound(src, 'sound/effects/blobattack.ogg', 30, 1) spawn(1) if(src) qdel(src) -/obj/item/weapon/melee/changeling/Destroy() +/obj/item/melee/changeling/Destroy() STOP_PROCESSING(SSobj, src) creator = null ..() -/obj/item/weapon/melee/changeling/process() //Stolen from ninja swords. +/obj/item/melee/changeling/process() //Stolen from ninja swords. if(!creator || loc != creator || !creator.item_is_in_hands(src)) // Tidy up a bit. if(istype(loc,/mob/living)) @@ -105,19 +105,19 @@ if(src) qdel(src) -/obj/item/weapon/melee/changeling/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack") +/obj/item/melee/changeling/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack") if(default_parry_check(user, attacker, damage_source) && prob(defend_chance)) - user.visible_message("\The [user] parries [attack_text] with \the [src]!") + user.visible_message(span_danger("\The [user] parries [attack_text] with \the [src]!")) playsound(src, 'sound/weapons/slash.ogg', 50, 1) return 1 if(unique_parry_check(user, attacker, damage_source) && prob(projectile_parry_chance)) - user.visible_message("\The [user] deflects [attack_text] with \the [src]!") + user.visible_message(span_danger("\The [user] deflects [attack_text] with \the [src]!")) playsound(src, 'sound/weapons/slash.ogg', 50, 1) return 1 return 0 -/obj/item/weapon/melee/changeling/unique_parry_check(mob/user, mob/attacker, atom/damage_source) +/obj/item/melee/changeling/unique_parry_check(mob/user, mob/attacker, atom/damage_source) if(user.incapacitated() || !istype(damage_source, /obj/item/projectile)) return 0 @@ -127,7 +127,7 @@ return 1 -/obj/item/weapon/melee/changeling/arm_blade +/obj/item/melee/changeling/arm_blade name = "arm blade" desc = "A grotesque blade made out of bone and flesh that cleaves through people as a hot knife through butter." icon_state = "arm_blade" @@ -140,14 +140,14 @@ defend_chance = 60 projectile_parry_chance = 25 -/obj/item/weapon/melee/changeling/arm_blade/greater +/obj/item/melee/changeling/arm_blade/greater name = "arm greatblade" desc = "A grotesque blade made out of bone and flesh that cleaves through people and armor as a hot knife through butter." armor_penetration = 30 defend_chance = 70 projectile_parry_chance = 35 -/obj/item/weapon/melee/changeling/claw +/obj/item/melee/changeling/claw name = "hand claw" desc = "A grotesque claw made out of bone and flesh that cleaves through people as a hot knife through butter." icon_state = "ling_claw" @@ -158,7 +158,7 @@ defend_chance = 50 projectile_parry_chance = 15 -/obj/item/weapon/melee/changeling/claw/greater +/obj/item/melee/changeling/claw/greater name = "hand greatclaw" force = 20 armor_penetration = 20 diff --git a/code/game/gamemodes/changeling/powers/armor.dm b/code/game/gamemodes/changeling/powers/armor.dm index 5a6db52833a..55b55ada488 100644 --- a/code/game/gamemodes/changeling/powers/armor.dm +++ b/code/game/gamemodes/changeling/powers/armor.dm @@ -37,16 +37,16 @@ desc = "A huge, bulky mass of pressure and temperature-resistant organic tissue, evolved to facilitate space travel." flags = 0 //Not THICKMATERIAL because it's organic tissue, so if somebody tries to inject something into it, //it still ends up in your blood. (also balance but muh fluff) - allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank/emergency/oxygen, /obj/item/weapon/tank/oxygen) + allowed = list(/obj/item/flashlight, /obj/item/tank/emergency/oxygen, /obj/item/tank/oxygen) armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) //No armor at all. canremove = FALSE /obj/item/clothing/suit/space/changeling/New() ..() if(ismob(loc)) - loc.visible_message("[loc.name]\'s flesh rapidly inflates, forming a bloated mass around their body!", - "We inflate our flesh, creating a spaceproof suit!", - "You hear organic matter ripping and tearing!") + loc.visible_message(span_warning("[loc.name]\'s flesh rapidly inflates, forming a bloated mass around their body!"), + span_warning("We inflate our flesh, creating a spaceproof suit!"), + span_warningplain("You hear organic matter ripping and tearing!")) /obj/item/clothing/suit/space/changeling/dropped() qdel(src) @@ -67,7 +67,7 @@ desc = "A suction cupped mass of flesh, shaped like a foot." name = "fleshy grippers" icon_state = "lingspacesuit" - action_button_name = "Toggle Grippers" + actions_types = list(/datum/action/item_action/toggle_grippers) canremove = FALSE /obj/item/clothing/shoes/magboots/changeling/set_slowdown() @@ -108,9 +108,9 @@ /obj/item/clothing/suit/space/changeling/armored/New() ..() if(ismob(loc)) - loc.visible_message("[loc.name]\'s flesh turns black, quickly transforming into a hard, chitinous mass!", - "We harden our flesh, creating a suit of armor!", - "You hear organic matter ripping and tearing!") + loc.visible_message(span_warning("[loc.name]\'s flesh turns black, quickly transforming into a hard, chitinous mass!"), + span_warning("We harden our flesh, creating a suit of armor!"), + span_warningplain("You hear organic matter ripping and tearing!")) /obj/item/clothing/head/helmet/space/changeling/armored name = "chitinous mass" @@ -124,7 +124,7 @@ desc = "A tough, hard mass of chitin, with long talons for digging into terrain." name = "chitinous talons" icon_state = "lingarmor" - action_button_name = "Toggle Talons" + actions_types = list(/datum/action/item_action/toggle_talons) /obj/item/clothing/gloves/combat/changeling //Combined insulated/fireproof gloves name = "chitinous gauntlets" diff --git a/code/game/gamemodes/changeling/powers/augmented_eyesight.dm b/code/game/gamemodes/changeling/powers/augmented_eyesight.dm index 6e29bf939cd..3498e5df4d9 100644 --- a/code/game/gamemodes/changeling/powers/augmented_eyesight.dm +++ b/code/game/gamemodes/changeling/powers/augmented_eyesight.dm @@ -25,12 +25,12 @@ if(active) src.mind.changeling.chem_charges -= 5 - to_chat(C, "We feel a minute twitch in our eyes, and a hidden layer to the world is revealed.") + to_chat(C, span_notice("We feel a minute twitch in our eyes, and a hidden layer to the world is revealed.")) C.add_modifier(/datum/modifier/changeling/thermal_sight, 0, src) // C.permanent_sight_flags |= SEE_MOBS // C.dna.species.invis_sight = SEE_INVISIBLE_MINIMUM else - to_chat(C, "Our vision dulls.") + to_chat(C, span_notice("Our vision dulls.")) C.remove_modifiers_of_type(/datum/modifier/changeling/thermal_sight) // C.permanent_sight_flags &= ~SEE_MOBS // C.dna.species.invis_sight = initial(user.dna.species.invis_sight) diff --git a/code/game/gamemodes/changeling/powers/bioelectrogenesis.dm b/code/game/gamemodes/changeling/powers/bioelectrogenesis.dm index ca92d67ff74..cb1938fc1ce 100644 --- a/code/game/gamemodes/changeling/powers/bioelectrogenesis.dm +++ b/code/game/gamemodes/changeling/powers/bioelectrogenesis.dm @@ -24,11 +24,11 @@ if(held_item == null) if(src.mind.changeling.recursive_enhancement) - if(changeling_generic_weapon(/obj/item/weapon/electric_hand/efficent,0)) - to_chat(src, "We will shock others more efficently.") + if(changeling_generic_weapon(/obj/item/electric_hand/efficent,0)) + to_chat(src, span_notice("We will shock others more efficently.")) return 1 else - if(changeling_generic_weapon(/obj/item/weapon/electric_hand,0)) //Chemical cost is handled in the equip proc. + if(changeling_generic_weapon(/obj/item/electric_hand,0)) //Chemical cost is handled in the equip proc. return 1 return 0 @@ -40,8 +40,8 @@ siemens = gloves.siemens_coefficient //If we're grabbing someone, electrocute them. - if(istype(held_item,/obj/item/weapon/grab)) - var/obj/item/weapon/grab/G = held_item + if(istype(held_item,/obj/item/grab)) + var/obj/item/grab/G = held_item if(G.affecting) G.affecting.electrocute_act(10 * siemens, src, 1.0, BP_TORSO, 0) var/agony = 80 * siemens //Does more than if hit with an electric hand, since grabbing is slower. @@ -50,11 +50,11 @@ add_attack_logs(src,G.affecting,"Changeling shocked") if(siemens) - visible_message("Arcs of electricity strike [G.affecting]!", - "Our hand channels raw electricity into [G.affecting].", - "You hear sparks!") + visible_message(span_warning("Arcs of electricity strike [G.affecting]!"), + span_warning("Our hand channels raw electricity into [G.affecting]."), + span_warningplain("You hear sparks!")) else - to_chat(src, "Our gloves block us from shocking \the [G.affecting].") + to_chat(src, span_warning("Our gloves block us from shocking \the [G.affecting].")) src.mind.changeling.chem_charges -= 10 return 1 @@ -65,18 +65,18 @@ var/list/L = new() //We make a new list to avoid copypasta. //Check our hand. - if(istype(held_item,/obj/item/weapon/cell)) + if(istype(held_item,/obj/item/cell)) L.Add(held_item) //Now check our hand's item's contents, so we can recharge guns and other stuff. - for(var/obj/item/weapon/cell/cell in held_item.contents) + for(var/obj/item/cell/cell in held_item.contents) L.Add(cell) //Now for the actual recharging. - for(var/obj/item/weapon/cell/cell in L) - visible_message("Some sparks fall out from \the [src.name]\'s [held_item]!", - "Our hand channels raw electricity into \the [held_item].", - "You hear sparks!") + for(var/obj/item/cell/cell in L) + visible_message(span_warning("Some sparks fall out from \the [src.name]\'s [held_item]!"), + span_warning("Our hand channels raw electricity into \the [held_item]."), + span_warningplain("You hear sparks!")) var/i = 10 if(siemens) while(i) @@ -92,12 +92,12 @@ sleep(1 SECOND) success = 1 if(success == 0) //If we couldn't do anything with the ability, don't deduct the chemicals. - to_chat(src, "We are unable to affect \the [held_item].") + to_chat(src, span_warning("We are unable to affect \the [held_item].")) else src.mind.changeling.chem_charges -= 10 return success -/obj/item/weapon/electric_hand +/obj/item/electric_hand name = "electrified hand" desc = "You could probably shock someone badly if you touched them, or recharge something." icon = 'icons/obj/weapons.dmi' @@ -108,25 +108,25 @@ var/agony_amount = 60 var/electrocute_amount = 10 -/obj/item/weapon/electric_hand/efficent +/obj/item/electric_hand/efficent shock_cost = 5 agony_amount = 80 electrocute_amount = 20 -/obj/item/weapon/electric_hand/New() +/obj/item/electric_hand/New() if(ismob(loc)) - visible_message("Electrical arcs form around [loc.name]\'s hand!", - "We store a charge of electricity in our hand.", - "You hear crackling electricity!") + visible_message(span_warning("Electrical arcs form around [loc.name]\'s hand!"), + span_warning("We store a charge of electricity in our hand."), + span_warningplain("You hear crackling electricity!")) var/T = get_turf(src) new /obj/effect/effect/sparks(T) -/obj/item/weapon/electric_hand/dropped(mob/user) +/obj/item/electric_hand/dropped(mob/user) spawn(1) if(src) qdel(src) -/obj/item/weapon/electric_hand/afterattack(var/atom/target, var/mob/living/carbon/human/user, proximity) +/obj/item/electric_hand/afterattack(var/atom/target, var/mob/living/carbon/human/user, proximity) if(!target) return if(!proximity) @@ -143,7 +143,7 @@ var/mob/living/carbon/C = target if(user.mind.changeling.chem_charges < shock_cost) - to_chat(src, "We require more chemicals to electrocute [C]!") + to_chat(src, span_warning("We require more chemicals to electrocute [C]!")) return 0 C.electrocute_act(electrocute_amount * siemens,src,1.0,BP_TORSO) @@ -152,11 +152,11 @@ add_attack_logs(user,C,"Shocked with [src]") if(siemens) - visible_message("Arcs of electricity strike [C]!", - "Our hand channels raw electricity into [C]", - "You hear sparks!") + visible_message(span_warning("Arcs of electricity strike [C]!"), + span_warning("Our hand channels raw electricity into [C]"), + span_warningplain("You hear sparks!")) else - to_chat(src, "Our gloves block us from shocking \the [C].") + to_chat(src, span_warning("Our gloves block us from shocking \the [C].")) //qdel(src) //Since we're no longer a one hit stun, we need to stick around. user.mind.changeling.chem_charges -= shock_cost return 1 @@ -165,15 +165,15 @@ var/mob/living/silicon/S = target if(user.mind.changeling.chem_charges < 10) - to_chat(src, "We require more chemicals to electrocute [S]!") + to_chat(src, span_warning("We require more chemicals to electrocute [S]!")) return 0 S.electrocute_act(60,src,0.75) //If only they had surge protectors. if(siemens) - visible_message("Arcs of electricity strike [S]!", - "Our hand channels raw electricity into [S]", - "You hear sparks!") - to_chat(S, "Warning: Electrical surge detected!") + visible_message(span_warning("Arcs of electricity strike [S]!"), + span_warning("Our hand channels raw electricity into [S]"), + span_warningplain("You hear sparks!")) + to_chat(S, span_danger("Warning: Electrical surge detected!")) //qdel(src) user.mind.changeling.chem_charges -= 10 return 1 @@ -183,10 +183,10 @@ var/success = 0 var/obj/T = target //We can also recharge things we touch, such as APCs or hardsuits. - for(var/obj/item/weapon/cell/cell in T.contents) - visible_message("Some sparks fall out from \the [target]!", - "Our hand channels raw electricity into \the [target].", - "You hear sparks!") + for(var/obj/item/cell/cell in T.contents) + visible_message(span_warning("Some sparks fall out from \the [target]!"), + span_warning("Our hand channels raw electricity into \the [target]."), + span_warningplain("You hear sparks!")) var/i = 10 if(siemens) while(i) @@ -205,7 +205,7 @@ success = 1 break if(success == 0) - to_chat(src, "We are unable to affect \the [target].") + to_chat(src, span_warning("We are unable to affect \the [target].")) else qdel(src) - return 1 \ No newline at end of file + return 1 diff --git a/code/game/gamemodes/changeling/powers/blind_sting.dm b/code/game/gamemodes/changeling/powers/blind_sting.dm index f4721db660c..40d5f968248 100644 --- a/code/game/gamemodes/changeling/powers/blind_sting.dm +++ b/code/game/gamemodes/changeling/powers/blind_sting.dm @@ -16,15 +16,15 @@ if(!T) return 0 add_attack_logs(src,T,"Blind sting (changeling)") - to_chat(T, "Your eyes burn horrificly!") + to_chat(T, span_danger("Your eyes burn horrificly!")) T.disabilities |= NEARSIGHTED var/duration = 300 if(src.mind.changeling.recursive_enhancement) duration = duration + 150 - to_chat(src, "They will be deprived of sight for longer.") + to_chat(src, span_notice("They will be deprived of sight for longer.")) spawn(duration) T.disabilities &= ~NEARSIGHTED T.Blind(10) T.eye_blurry = 20 feedback_add_details("changeling_powers","BS") - return 1 \ No newline at end of file + return 1 diff --git a/code/game/gamemodes/changeling/powers/boost_range.dm b/code/game/gamemodes/changeling/powers/boost_range.dm index a22130484ca..1b818a1f032 100644 --- a/code/game/gamemodes/changeling/powers/boost_range.dm +++ b/code/game/gamemodes/changeling/powers/boost_range.dm @@ -18,14 +18,14 @@ if(!changeling) return 0 changeling.chem_charges -= 10 - to_chat(src, "Your throat adjusts to launch the sting.") + to_chat(src, span_notice("Your throat adjusts to launch the sting.")) var/range = 2 if(src.mind.changeling.recursive_enhancement) range = range + 3 - to_chat(src, "We can fire our next sting from five squares away.") + to_chat(src, span_notice("We can fire our next sting from five squares away.")) changeling.sting_range = range - src.verbs -= /mob/proc/changeling_boost_range + remove_verb(src, /mob/proc/changeling_boost_range) spawn(5) - src.verbs += /mob/proc/changeling_boost_range + add_verb(src, /mob/proc/changeling_boost_range) feedback_add_details("changeling_powers","RS") - return 1 \ No newline at end of file + return 1 diff --git a/code/game/gamemodes/changeling/powers/cryo_sting.dm b/code/game/gamemodes/changeling/powers/cryo_sting.dm index e1a2b10cff9..adf6cc07514 100644 --- a/code/game/gamemodes/changeling/powers/cryo_sting.dm +++ b/code/game/gamemodes/changeling/powers/cryo_sting.dm @@ -20,12 +20,12 @@ var/inject_amount = 10 if(src.mind.changeling.recursive_enhancement) inject_amount = inject_amount * 1.5 - to_chat(src, "We inject extra chemicals.") + to_chat(src, span_notice("We inject extra chemicals.")) if(T.reagents) T.reagents.add_reagent("cryotoxin", inject_amount) feedback_add_details("changeling_powers","CS") - src.verbs -= /mob/proc/changeling_cryo_sting + remove_verb(src, /mob/proc/changeling_cryo_sting) spawn(3 MINUTES) - to_chat(src, "Our cryogenic string is ready to be used once more.") - src.verbs |= /mob/proc/changeling_cryo_sting - return 1 \ No newline at end of file + to_chat(src, span_notice("Our cryogenic string is ready to be used once more.")) + add_verb(src, /mob/proc/changeling_cryo_sting) + return 1 diff --git a/code/game/gamemodes/changeling/powers/darkvision.dm b/code/game/gamemodes/changeling/powers/darkvision.dm index 6fbb2954ba8..3139a85e39b 100644 --- a/code/game/gamemodes/changeling/powers/darkvision.dm +++ b/code/game/gamemodes/changeling/powers/darkvision.dm @@ -19,8 +19,8 @@ var/mob/living/carbon/C = src C.seedarkness = !C.seedarkness if(C.seedarkness) - to_chat(C, "We allow the shadows to return.") + to_chat(C, span_notice("We allow the shadows to return.")) else - to_chat(C, "We no longer need light to see.") + to_chat(C, span_notice("We no longer need light to see.")) - return 0 \ No newline at end of file + return 0 diff --git a/code/game/gamemodes/changeling/powers/deaf_sting.dm b/code/game/gamemodes/changeling/powers/deaf_sting.dm index 7b39e907202..e03205665cd 100644 --- a/code/game/gamemodes/changeling/powers/deaf_sting.dm +++ b/code/game/gamemodes/changeling/powers/deaf_sting.dm @@ -19,9 +19,9 @@ var/duration = 300 if(src.mind.changeling.recursive_enhancement) duration = duration + 100 - to_chat(src, "They will be unable to hear for a little longer.") - to_chat(T, "Your ears pop and begin ringing loudly!") + to_chat(src, span_notice("They will be unable to hear for a little longer.")) + to_chat(T, span_danger("Your ears pop and begin ringing loudly!")) T.sdisabilities |= DEAF spawn(duration) T.sdisabilities &= ~DEAF feedback_add_details("changeling_powers","DS") - return 1 \ No newline at end of file + return 1 diff --git a/code/game/gamemodes/changeling/powers/death_sting.dm b/code/game/gamemodes/changeling/powers/death_sting.dm index 2eb1e476bd4..9acb09e8b2f 100644 --- a/code/game/gamemodes/changeling/powers/death_sting.dm +++ b/code/game/gamemodes/changeling/powers/death_sting.dm @@ -14,10 +14,10 @@ if(!T) return 0 add_attack_logs(src,T,"Death sting (changeling)") - to_chat(T, "You feel a small prick and your chest becomes tight.") + to_chat(T, span_danger("You feel a small prick and your chest becomes tight.")) T.silent = 10 T.Paralyse(10) T.make_jittery(100) if(T.reagents) T.reagents.add_reagent("lexorin", 40) feedback_add_details("changeling_powers","DTHS") - return 1 \ No newline at end of file + return 1 diff --git a/code/game/gamemodes/changeling/powers/delayed_toxin_sting.dm b/code/game/gamemodes/changeling/powers/delayed_toxin_sting.dm index f50460a826b..bbd63db65ff 100644 --- a/code/game/gamemodes/changeling/powers/delayed_toxin_sting.dm +++ b/code/game/gamemodes/changeling/powers/delayed_toxin_sting.dm @@ -12,7 +12,7 @@ name = "delayed toxin injection" hidden = TRUE stacks = MODIFIER_STACK_FORBID - on_expired_text = "You feel a burning sensation flowing through your veins!" + on_expired_text = span_danger("You feel a burning sensation flowing through your veins!") /datum/modifier/delayed_toxin_sting/on_expire() holder.adjustToxLoss(rand(20, 30)) @@ -32,10 +32,10 @@ var/type_to_give = /datum/modifier/delayed_toxin_sting if(src.mind.changeling.recursive_enhancement) type_to_give = /datum/modifier/delayed_toxin_sting/strong - to_chat(src, "Our toxin will be extra potent, when it strikes.") + to_chat(src, span_notice("Our toxin will be extra potent, when it strikes.")) T.add_modifier(type_to_give, 2 MINUTES) feedback_add_details("changeling_powers","DTS") - return 1 \ No newline at end of file + return 1 diff --git a/code/game/gamemodes/changeling/powers/digital_camo.dm b/code/game/gamemodes/changeling/powers/digital_camo.dm index 9574b465da7..cca4f054aed 100644 --- a/code/game/gamemodes/changeling/powers/digital_camo.dm +++ b/code/game/gamemodes/changeling/powers/digital_camo.dm @@ -19,9 +19,9 @@ var/mob/living/carbon/human/C = src if(C.digitalcamo) - to_chat(C, "We return to normal.") + to_chat(C, span_notice("We return to normal.")) else - to_chat(C, "We distort our form to prevent AI-tracking.") + to_chat(C, span_notice("We distort our form to prevent AI-tracking.")) C.digitalcamo = !C.digitalcamo spawn(0) @@ -29,8 +29,8 @@ C.mind.changeling.chem_charges = max(C.mind.changeling.chem_charges - 1, 0) sleep(40) - src.verbs -= /mob/proc/changeling_digitalcamo + remove_verb(src, /mob/proc/changeling_digitalcamo) spawn(5) - src.verbs += /mob/proc/changeling_digitalcamo + add_verb(src, /mob/proc/changeling_digitalcamo) feedback_add_details("changeling_powers","CAM") - return 1 \ No newline at end of file + return 1 diff --git a/code/game/gamemodes/changeling/powers/electric_lockpick.dm b/code/game/gamemodes/changeling/powers/electric_lockpick.dm index 262d90429f3..3b4edc576f7 100644 --- a/code/game/gamemodes/changeling/powers/electric_lockpick.dm +++ b/code/game/gamemodes/changeling/powers/electric_lockpick.dm @@ -21,28 +21,28 @@ return 0 if(held_item == null) - if(changeling_generic_weapon(/obj/item/weapon/finger_lockpick,0,5)) //Chemical cost is handled in the equip proc. + if(changeling_generic_weapon(/obj/item/finger_lockpick,0,5)) //Chemical cost is handled in the equip proc. return 1 return 0 -/obj/item/weapon/finger_lockpick +/obj/item/finger_lockpick name = "finger lockpick" desc = "This finger appears to be an organic datajack." icon = 'icons/obj/weapons.dmi' icon_state = "electric_hand" show_examine = FALSE -/obj/item/weapon/finger_lockpick/New() +/obj/item/finger_lockpick/New() if(ismob(loc)) - to_chat(loc, "We shape our finger to fit inside electronics, and are ready to force them open.") + to_chat(loc, span_notice("We shape our finger to fit inside electronics, and are ready to force them open.")) -/obj/item/weapon/finger_lockpick/dropped(mob/user) - to_chat(user, "We discreetly shape our finger back to a less suspicious form.") +/obj/item/finger_lockpick/dropped(mob/user) + to_chat(user, span_notice("We discreetly shape our finger back to a less suspicious form.")) spawn(1) if(src) qdel(src) -/obj/item/weapon/finger_lockpick/afterattack(var/atom/target, var/mob/living/user, proximity) +/obj/item/finger_lockpick/afterattack(var/atom/target, var/mob/living/user, proximity) if(!target) return if(!proximity) @@ -53,13 +53,13 @@ var/datum/changeling/ling_datum = user.mind.changeling if(ling_datum.chem_charges < 10) - to_chat(user, "We require more chemicals to do that.") + to_chat(user, span_warning("We require more chemicals to do that.")) return //Airlocks require an ugly block of code, but we don't want to just call emag_act(), since we don't want to break airlocks forever. if(istype(target,/obj/machinery/door)) var/obj/machinery/door/door = target - to_chat(user, "We send an electrical pulse up our finger, and into \the [target], attempting to open it.") + to_chat(user, span_notice("We send an electrical pulse up our finger, and into \the [target], attempting to open it.")) if(door.density && door.operable()) door.do_animate("spark") @@ -70,15 +70,15 @@ if(airlock.locked) //Check if we're bolted. airlock.unlock() - to_chat(user, "We've unlocked \the [airlock]. Another pulse is requried to open it.") + to_chat(user, span_notice("We've unlocked \the [airlock]. Another pulse is requried to open it.")) else //We're not bolted, so open the door already. airlock.open() - to_chat(user, "We've opened \the [airlock].") + to_chat(user, span_notice("We've opened \the [airlock].")) else door.open() //If we're a windoor, open the windoor. - to_chat(user, "We've opened \the [door].") + to_chat(user, span_notice("We've opened \the [door].")) else //Probably broken or no power. - to_chat(user, "The door does not respond to the pulse.") + to_chat(user, span_warning("The door does not respond to the pulse.")) door.add_fingerprint(user) log_and_message_admins("finger-lockpicked \an [door].") ling_datum.chem_charges -= 10 @@ -86,11 +86,11 @@ else if(istype(target,/obj/)) //This should catch everything else we might miss, without a million typechecks. var/obj/O = target - to_chat(user, "We send an electrical pulse up our finger, and into \the [O].") + to_chat(user, span_notice("We send an electrical pulse up our finger, and into \the [O].")) O.add_fingerprint(user) O.emag_act(1,user,src) log_and_message_admins("finger-lockpicked \an [O].") ling_datum.chem_charges -= 10 return 1 - return 0 \ No newline at end of file + return 0 diff --git a/code/game/gamemodes/changeling/powers/endoarmor.dm b/code/game/gamemodes/changeling/powers/endoarmor.dm index d62c52141a0..6ada2865740 100644 --- a/code/game/gamemodes/changeling/powers/endoarmor.dm +++ b/code/game/gamemodes/changeling/powers/endoarmor.dm @@ -10,8 +10,8 @@ name = "endoarmor" desc = "We have hard plating underneath our skin, making us more durable." - on_created_text = "We feel protective plating form underneath our skin." - on_expired_text = "Our protective armor underneath our skin fades as we absorb it." + on_created_text = span_notice("We feel protective plating form underneath our skin.") + on_expired_text = span_notice("Our protective armor underneath our skin fades as we absorb it.") max_health_flat = 50 /mob/proc/changeling_endoarmor() @@ -19,4 +19,4 @@ var/mob/living/carbon/human/H = src H.add_modifier(/datum/modifier/endoarmor) // H.maxHealth += 50 - return 1 \ No newline at end of file + return 1 diff --git a/code/game/gamemodes/changeling/powers/enfeebling_string.dm b/code/game/gamemodes/changeling/powers/enfeebling_string.dm index 81930a7ebc7..49829aecce5 100644 --- a/code/game/gamemodes/changeling/powers/enfeebling_string.dm +++ b/code/game/gamemodes/changeling/powers/enfeebling_string.dm @@ -15,8 +15,8 @@ max_health_percent = 0.7 outgoing_melee_damage_percent = 0.75 incoming_damage_percent = 1.1 - on_created_text = "You feel a small prick and you feel extremly weak!" - on_expired_text = "You no longer feel extremly weak." + on_created_text = span_danger("You feel a small prick and you feel extremly weak!") + on_expired_text = span_notice("You no longer feel extremly weak.") // Now YOU'RE the Teshari! /datum/modifier/enfeeble/strong @@ -40,7 +40,7 @@ var/type_to_give = /datum/modifier/enfeeble if(src.mind.changeling.recursive_enhancement) type_to_give = /datum/modifier/enfeeble/strong - to_chat(src, "We make them extremely weak.") + to_chat(src, span_notice("We make them extremely weak.")) H.add_modifier(type_to_give, 2 MINUTES) feedback_add_details("changeling_powers","ES") - return 1 \ No newline at end of file + return 1 diff --git a/code/game/gamemodes/changeling/powers/enrage.dm b/code/game/gamemodes/changeling/powers/enrage.dm index 00b2193c860..2336b3042a5 100644 --- a/code/game/gamemodes/changeling/powers/enrage.dm +++ b/code/game/gamemodes/changeling/powers/enrage.dm @@ -24,10 +24,10 @@ var/modifier_to_use = /datum/modifier/berserk/changeling if(src.mind.changeling.recursive_enhancement) modifier_to_use = /datum/modifier/berserk/changeling/recursive - to_chat(src, "We optimize our levels of anger, which will avoid excessive stress on ourselves.") + to_chat(src, span_notice("We optimize our levels of anger, which will avoid excessive stress on ourselves.")) if(add_modifier(modifier_to_use, 30 SECONDS)) changeling.chem_charges -= 30 feedback_add_details("changeling_powers","EN") - return 1 \ No newline at end of file + return 1 diff --git a/code/game/gamemodes/changeling/powers/epinephrine_overdose.dm b/code/game/gamemodes/changeling/powers/epinephrine_overdose.dm index 5d3c1a3be93..f2e2175dfaf 100644 --- a/code/game/gamemodes/changeling/powers/epinephrine_overdose.dm +++ b/code/game/gamemodes/changeling/powers/epinephrine_overdose.dm @@ -12,8 +12,8 @@ desc = "We feel limitless amounts of energy surge in our veins. Nothing can stop us!" stacks = MODIFIER_STACK_EXTEND - on_created_text = "We feel unstoppable!" - on_expired_text = "We feel our newfound energy fade..." + on_created_text = span_notice("We feel unstoppable!") + on_expired_text = span_warning("We feel our newfound energy fade...") disable_duration_percent = 0 //Recover from stuns. @@ -28,7 +28,7 @@ changeling.chem_charges -= 30 var/mob/living/carbon/human/C = src - to_chat(C, "Energy rushes through us. [C.lying ? "We arise." : ""]") + to_chat(C, span_notice("Energy rushes through us. [C.lying ? "We arise." : ""]")) C.set_stat(CONSCIOUS) C.SetParalysis(0) C.SetStunned(0) @@ -63,4 +63,4 @@ M.AdjustStunned(-2) M.AdjustWeakened(-2) ..() - return \ No newline at end of file + return diff --git a/code/game/gamemodes/changeling/powers/escape_restraints.dm b/code/game/gamemodes/changeling/powers/escape_restraints.dm index ced80d35bf6..504cb884c9e 100644 --- a/code/game/gamemodes/changeling/powers/escape_restraints.dm +++ b/code/game/gamemodes/changeling/powers/escape_restraints.dm @@ -19,18 +19,18 @@ if(!changeling) return 0 if(world.time < changeling.next_escape) - to_chat(src, "We are still recovering from our last escape...") + to_chat(src, span_warning("We are still recovering from our last escape...")) return 0 if(!(C.handcuffed || C.legcuffed || istype(C.wear_suit,/obj/item/clothing/suit/straight_jacket))) // No need to waste chems if there's nothing to break out of - to_chat(C, "We are are not restrained in a way we can escape...") + to_chat(C, span_warning("We are are not restrained in a way we can escape...")) return 0 changeling.chem_charges -= 40 - to_chat(C,"We contort our extremities and slip our cuffs.") + to_chat(C,span_notice("We contort our extremities and slip our cuffs.")) playsound(src, 'sound/effects/blobattack.ogg', 30, 1) if(C.handcuffed) - var/obj/item/weapon/W = C.handcuffed + var/obj/item/W = C.handcuffed C.handcuffed = null if(C.buckled && C.buckled.buckle_require_restraints) C.buckled.unbuckle_mob() @@ -42,7 +42,7 @@ if(W) W.layer = initial(W.layer) if(C.legcuffed) - var/obj/item/weapon/W = C.legcuffed + var/obj/item/W = C.legcuffed C.legcuffed = null C.update_inv_legcuffed() if(C.client) @@ -64,4 +64,4 @@ changeling.next_escape = world.time + escape_cooldown //And now we set the timer feedback_add_details("changeling_powers","ESR") - return 1 \ No newline at end of file + return 1 diff --git a/code/game/gamemodes/changeling/powers/extract_dna_sting.dm b/code/game/gamemodes/changeling/powers/extract_dna_sting.dm index baf80140f14..3806b0ef330 100644 --- a/code/game/gamemodes/changeling/powers/extract_dna_sting.dm +++ b/code/game/gamemodes/changeling/powers/extract_dna_sting.dm @@ -24,22 +24,22 @@ return if(!istype(T) || T.isSynthetic()) - to_chat(src, "\The [T] is not compatible with our biology.") + to_chat(src, span_warning("\The [T] is not compatible with our biology.")) return 0 if(T.species.flags & NO_SCAN) - to_chat(src, "We do not know how to parse this creature's DNA!") + to_chat(src, span_warning("We do not know how to parse this creature's DNA!")) return 0 if(HUSK in T.mutations) - to_chat(src, "This creature's DNA is ruined beyond useability!") + to_chat(src, span_warning("This creature's DNA is ruined beyond useability!")) return 0 add_attack_logs(src,T,"DNA extraction sting (changeling)") - var/saved_dna = T.dna.Clone() /// Prevent transforming bugginess. + var/saved_dna = T.dna.Clone() /// Prevent transforming bugginess. var/datum/absorbed_dna/newDNA = new(T.real_name, saved_dna, T.species.name, T.languages, T.identifying_gender, T.flavor_text, T.modifiers) absorbDNA(newDNA) feedback_add_details("changeling_powers","ED") - return 1 \ No newline at end of file + return 1 diff --git a/code/game/gamemodes/changeling/powers/fabricate_clothing.dm b/code/game/gamemodes/changeling/powers/fabricate_clothing.dm index c3c5f2aa15c..8303426dc13 100644 --- a/code/game/gamemodes/changeling/powers/fabricate_clothing.dm +++ b/code/game/gamemodes/changeling/powers/fabricate_clothing.dm @@ -6,9 +6,9 @@ var/global/list/changeling_fabricated_clothing = list( "gloves" = /obj/item/clothing/gloves/chameleon/changeling, "wear_mask" = /obj/item/clothing/mask/chameleon/changeling, "glasses" = /obj/item/clothing/glasses/chameleon/changeling, - "back" = /obj/item/weapon/storage/backpack/chameleon/changeling, - "belt" = /obj/item/weapon/storage/belt/chameleon/changeling, - "wear_id" = /obj/item/weapon/card/id/syndicate/changeling + "back" = /obj/item/storage/backpack/chameleon/changeling, + "belt" = /obj/item/storage/belt/chameleon/changeling, + "wear_id" = /obj/item/card/id/syndicate/changeling ) /datum/power/changeling/fabricate_clothing @@ -53,8 +53,8 @@ var/global/list/changeling_fabricated_clothing = list( if(ishuman(loc)) var/mob/living/carbon/human/H = loc playsound(src, 'sound/effects/splat.ogg', 30, 1) - visible_message("[H] tears off [src]!", - "We remove [src].") + visible_message(span_warning("[H] tears off [src]!"), + span_notice("We remove [src].")) qdel(src) /obj/item/clothing/head/chameleon/changeling @@ -74,8 +74,8 @@ var/global/list/changeling_fabricated_clothing = list( if(ishuman(loc)) var/mob/living/carbon/human/H = loc playsound(src, 'sound/effects/splat.ogg', 30, 1) - visible_message("[H] tears off [src]!", - "We remove [src].") + visible_message(span_warning("[H] tears off [src]!"), + span_notice("We remove [src].")) qdel(src) /obj/item/clothing/suit/chameleon/changeling @@ -99,8 +99,8 @@ var/global/list/changeling_fabricated_clothing = list( if(ishuman(loc)) var/mob/living/carbon/human/H = loc playsound(src, 'sound/effects/splat.ogg', 30, 1) - visible_message("[H] tears off [src]!", - "We remove [src].") + visible_message(span_warning("[H] tears off [src]!"), + span_notice("We remove [src].")) qdel(src) /obj/item/clothing/shoes/chameleon/changeling @@ -124,11 +124,11 @@ var/global/list/changeling_fabricated_clothing = list( if(ishuman(loc)) var/mob/living/carbon/human/H = loc playsound(src, 'sound/effects/splat.ogg', 30, 1) - visible_message("[H] tears off [src]!", - "We remove [src].") + visible_message(span_warning("[H] tears off [src]!"), + span_notice("We remove [src].")) qdel(src) -/obj/item/weapon/storage/backpack/chameleon/changeling +/obj/item/storage/backpack/chameleon/changeling name = "backpack" icon_state = "backpack" item_icons = list( @@ -140,17 +140,17 @@ var/global/list/changeling_fabricated_clothing = list( origin_tech = list() canremove = FALSE -/obj/item/weapon/storage/backpack/chameleon/changeling/emp_act() +/obj/item/storage/backpack/chameleon/changeling/emp_act() return -/obj/item/weapon/storage/backpack/chameleon/changeling/verb/shred() +/obj/item/storage/backpack/chameleon/changeling/verb/shred() set name = "Shred Backpack" set category = "Chameleon Items" if(ishuman(loc)) var/mob/living/carbon/human/H = loc playsound(src, 'sound/effects/splat.ogg', 30, 1) - visible_message("[H] tears off [src]!", - "We remove [src].") + visible_message(span_warning("[H] tears off [src]!"), + span_notice("We remove [src].")) for(var/atom/movable/AM in src.contents) //Dump whatever's in the bag before deleting. AM.forceMove(get_turf(loc)) qdel(src) @@ -177,8 +177,8 @@ var/global/list/changeling_fabricated_clothing = list( if(ishuman(loc)) var/mob/living/carbon/human/H = loc playsound(src, 'sound/effects/splat.ogg', 30, 1) - visible_message("[H] tears off [src]!", - "We remove [src].") + visible_message(span_warning("[H] tears off [src]!"), + span_notice("We remove [src].")) qdel(src) /obj/item/clothing/mask/chameleon/changeling @@ -203,8 +203,8 @@ var/global/list/changeling_fabricated_clothing = list( if(ishuman(loc)) var/mob/living/carbon/human/H = loc playsound(src, 'sound/effects/splat.ogg', 30, 1) - visible_message("[H] tears off [src]!", - "We remove [src].") + visible_message(span_warning("[H] tears off [src]!"), + span_notice("We remove [src].")) qdel(src) /obj/item/clothing/glasses/chameleon/changeling @@ -224,11 +224,11 @@ var/global/list/changeling_fabricated_clothing = list( if(ishuman(loc)) var/mob/living/carbon/human/H = loc playsound(src, 'sound/effects/splat.ogg', 30, 1) - visible_message("[H] tears off [src]!", - "We remove [src].") + visible_message(span_warning("[H] tears off [src]!"), + span_notice("We remove [src].")) qdel(src) -/obj/item/weapon/storage/belt/chameleon/changeling +/obj/item/storage/belt/chameleon/changeling name = "waist pouch" desc = "We can store objects in this, as well as shift it's appearance, so that it resembles various common belts." icon_state = "lingchameleon" @@ -240,20 +240,20 @@ var/global/list/changeling_fabricated_clothing = list( origin_tech = list() canremove = FALSE -/obj/item/weapon/storage/belt/chameleon/changeling/emp_act() +/obj/item/storage/belt/chameleon/changeling/emp_act() return -/obj/item/weapon/storage/belt/chameleon/changeling/verb/shred() +/obj/item/storage/belt/chameleon/changeling/verb/shred() set name = "Shred Belt" set category = "Chameleon Items" if(ishuman(loc)) var/mob/living/carbon/human/H = loc playsound(src, 'sound/effects/splat.ogg', 30, 1) - visible_message("[H] tears off [src]!", - "We remove [src].") + visible_message(span_warning("[H] tears off [src]!"), + span_notice("We remove [src].")) qdel(src) -/obj/item/weapon/card/id/syndicate/changeling +/obj/item/card/id/syndicate/changeling name = "chitinous card" desc = "A card that we can reform to resemble identification cards. Due to the nature of the material this is made of, it cannot store any access codes." icon_state = "changeling" @@ -264,27 +264,27 @@ var/global/list/changeling_fabricated_clothing = list( access = null canremove = FALSE -/obj/item/weapon/card/id/syndicate/changeling/New(mob/user as mob) +/obj/item/card/id/syndicate/changeling/New(mob/user as mob) ..() registered_user = user -/obj/item/weapon/card/id/syndicate/changeling/Initialize() +/obj/item/card/id/syndicate/changeling/Initialize() . = ..() access = null -/obj/item/weapon/card/id/syndicate/changeling/verb/shred() +/obj/item/card/id/syndicate/changeling/verb/shred() set name = "Shred ID Card" set category = "Chameleon Items" if(ishuman(loc)) var/mob/living/carbon/human/H = loc playsound(src, 'sound/effects/splat.ogg', 30, 1) - visible_message("[H] tears off [src]!", - "We remove [src].") + visible_message(span_warning("[H] tears off [src]!"), + span_notice("We remove [src].")) qdel(src) -/obj/item/weapon/card/id/syndicate/changeling/Click() //Since we can't hold it in our hands, and attack_hand() doesn't work if it in inventory... +/obj/item/card/id/syndicate/changeling/Click() //Since we can't hold it in our hands, and attack_hand() doesn't work if it in inventory... if(!registered_user) registered_user = usr usr.set_id_info(src) tgui_interact(registered_user) - ..() \ No newline at end of file + ..() diff --git a/code/game/gamemodes/changeling/powers/fake_death.dm b/code/game/gamemodes/changeling/powers/fake_death.dm index daa0b9e2467..bad45391353 100644 --- a/code/game/gamemodes/changeling/powers/fake_death.dm +++ b/code/game/gamemodes/changeling/powers/fake_death.dm @@ -19,12 +19,12 @@ var/mob/living/carbon/C = src if(changeling.max_geneticpoints < 0) //Absorbed by another ling - to_chat(src, "We have no genomes, not even our own, and cannot regenerate.") + to_chat(src, span_danger("We have no genomes, not even our own, and cannot regenerate.")) return 0 - if(!C.stat && tgui_alert(src, "Are we sure we wish to regenerate? We will appear to be dead while doing so.","Revival",list("Yes","No")) == "No") + if(!C.stat && tgui_alert(src, "Are we sure we wish to regenerate? We will appear to be dead while doing so.","Revival",list("Yes","No")) != "Yes") return - to_chat(C, "We will attempt to regenerate our form.") + to_chat(C, span_notice("We will attempt to regenerate our form.")) C.update_canmove() C.remove_changeling_powers() @@ -43,11 +43,11 @@ spawn(rand(2 MINUTES, 4 MINUTES)) //The ling will now be able to choose when to revive - verbs.Add(/mob/proc/changeling_revive) + add_verb(src, /mob/proc/changeling_revive) new /obj/changeling_revive_holder(src) - to_chat(src, "We are ready to rise. Use the Revive verb when you are ready.") + to_chat(src, span_notice(span_giant("We are ready to rise. Use the Revive verb when you are ready."))) feedback_add_details("changeling_powers","FD") - return 1 \ No newline at end of file + return 1 diff --git a/code/game/gamemodes/changeling/powers/fleshmend.dm b/code/game/gamemodes/changeling/powers/fleshmend.dm index 05eea72d951..cf4c8d8a2af 100644 --- a/code/game/gamemodes/changeling/powers/fleshmend.dm +++ b/code/game/gamemodes/changeling/powers/fleshmend.dm @@ -22,10 +22,10 @@ var/heal_amount = 2 if(src.mind.changeling.recursive_enhancement) heal_amount = heal_amount * 2 - to_chat(src, "We will heal much faster.") + to_chat(src, span_notice("We will heal much faster.")) spawn(0) - to_chat(src, "We begin to heal ourselves.") + to_chat(src, span_notice("We begin to heal ourselves.")) for(var/i = 0, i<50,i++) if(C) C.adjustBruteLoss(-heal_amount) @@ -33,9 +33,9 @@ C.adjustFireLoss(-heal_amount) sleep(1 SECOND) - src.verbs -= /mob/proc/changeling_fleshmend + remove_verb(src, /mob/proc/changeling_fleshmend) spawn(50 SECONDS) - to_chat(src, "Our regeneration has slowed to normal levels.") - src.verbs += /mob/proc/changeling_fleshmend + to_chat(src, span_notice("Our regeneration has slowed to normal levels.")) + add_verb(src, /mob/proc/changeling_fleshmend) feedback_add_details("changeling_powers","FM") - return 1 \ No newline at end of file + return 1 diff --git a/code/game/gamemodes/changeling/powers/hivemind.dm b/code/game/gamemodes/changeling/powers/hivemind.dm index d07542875ae..44f66c87910 100644 --- a/code/game/gamemodes/changeling/powers/hivemind.dm +++ b/code/game/gamemodes/changeling/powers/hivemind.dm @@ -34,7 +34,7 @@ var/list/datum/dna/hivemind_bank = list() names += DNA.name if(names.len <= 0) - to_chat(src, "The airwaves already have all of our DNA.") + to_chat(src, span_notice("The airwaves already have all of our DNA.")) return var/S = tgui_input_list(src, "Select a DNA to channel:", "Channel DNA", names) @@ -46,7 +46,7 @@ var/list/datum/dna/hivemind_bank = list() changeling.chem_charges -= 10 hivemind_bank += chosen_dna - to_chat(src, "We channel the DNA of [S] to the air.") + to_chat(src, span_notice("We channel the DNA of [S] to the air.")) feedback_add_details("changeling_powers","HU") return 1 @@ -64,7 +64,7 @@ var/list/datum/dna/hivemind_bank = list() names[DNA.name] = DNA if(names.len <= 0) - to_chat(src, "There's no new DNA to absorb from the air.") + to_chat(src, span_notice("There's no new DNA to absorb from the air.")) return var/S = tgui_input_list(src, "Select a DNA to absorb:", "Absorb DNA", names) @@ -75,6 +75,6 @@ var/list/datum/dna/hivemind_bank = list() changeling.chem_charges -= 20 absorbDNA(chosen_dna) - to_chat(src, "We absorb the DNA of [S] from the air.") + to_chat(src, span_notice("We absorb the DNA of [S] from the air.")) feedback_add_details("changeling_powers","HD") - return 1 \ No newline at end of file + return 1 diff --git a/code/game/gamemodes/changeling/powers/lesser_form.dm b/code/game/gamemodes/changeling/powers/lesser_form.dm index aa70756344b..9bac29f7972 100644 --- a/code/game/gamemodes/changeling/powers/lesser_form.dm +++ b/code/game/gamemodes/changeling/powers/lesser_form.dm @@ -13,22 +13,22 @@ if(!changeling) return if(src.has_brain_worms()) - to_chat(src, "We cannot perform this ability at the present time!") + to_chat(src, span_warning("We cannot perform this ability at the present time!")) return var/mob/living/carbon/human/H = src if(!istype(H) || !H.species.primitive_form) - to_chat(src, "We cannot perform this ability in this form!") + to_chat(src, span_warning("We cannot perform this ability in this form!")) return changeling.chem_charges-- H.remove_changeling_powers() - H.visible_message("[H] transforms!") + H.visible_message(span_warning("[H] transforms!")) changeling.geneticdamage = 30 - to_chat(H, "Our genes cry out!") + to_chat(H, span_warning("Our genes cry out!")) var/list/implants = list() //Try to preserve implants. - for(var/obj/item/weapon/implant/W in H) + for(var/obj/item/implant/W in H) implants += W H.monkeyize() feedback_add_details("changeling_powers","LF") @@ -57,11 +57,11 @@ changeling.chem_charges-- C.remove_changeling_powers() - C.visible_message("[C] transforms!") + C.visible_message(span_warning("[C] transforms!")) C.dna = chosen_dna.Clone() var/list/implants = list() - for (var/obj/item/weapon/implant/I in C) //Still preserving implants + for (var/obj/item/implant/I in C) //Still preserving implants implants += I C.transforming = 1 @@ -101,7 +101,7 @@ O.setOxyLoss(C.getOxyLoss()) O.adjustFireLoss(C.getFireLoss()) O.set_stat(C.stat) - for (var/obj/item/weapon/implant/I in implants) + for (var/obj/item/implant/I in implants) I.loc = O I.implanted = O @@ -111,4 +111,4 @@ feedback_add_details("changeling_powers","LFT") qdel(C) - return 1 \ No newline at end of file + return 1 diff --git a/code/game/gamemodes/changeling/powers/mimic_voice.dm b/code/game/gamemodes/changeling/powers/mimic_voice.dm index be4a055dc1b..f5d65b8ec2e 100644 --- a/code/game/gamemodes/changeling/powers/mimic_voice.dm +++ b/code/game/gamemodes/changeling/powers/mimic_voice.dm @@ -19,17 +19,17 @@ if(changeling.mimicing) changeling.mimicing = "" - to_chat(src, "We return our vocal glands to their original location.") + to_chat(src, span_notice("We return our vocal glands to their original location.")) return - var/mimic_voice = sanitize(tgui_input_text(usr, "Enter a name to mimic.", "Mimic Voice", null, MAX_NAME_LEN), MAX_NAME_LEN) + var/mimic_voice = sanitize(tgui_input_text(src, "Enter a name to mimic.", "Mimic Voice", null, MAX_NAME_LEN), MAX_NAME_LEN) if(!mimic_voice) return changeling.mimicing = mimic_voice - to_chat(src, "We shape our glands to take the voice of [mimic_voice], this will stop us from regenerating chemicals while active.") - to_chat(src, "Use this power again to return to our original voice and reproduce chemicals again.") + to_chat(src, span_notice("We shape our glands to take the voice of [mimic_voice], this will stop us from regenerating chemicals while active.")) + to_chat(src, span_notice("Use this power again to return to our original voice and reproduce chemicals again.")) feedback_add_details("changeling_powers","MV") @@ -38,4 +38,4 @@ src.mind.changeling.chem_charges = max(src.mind.changeling.chem_charges - 1, 0) sleep(40) if(src && src.mind && src.mind.changeling) - src.mind.changeling.mimicing = "" \ No newline at end of file + src.mind.changeling.mimicing = "" diff --git a/code/game/gamemodes/changeling/powers/panacea.dm b/code/game/gamemodes/changeling/powers/panacea.dm index 30679b6ef5a..19a043669aa 100644 --- a/code/game/gamemodes/changeling/powers/panacea.dm +++ b/code/game/gamemodes/changeling/powers/panacea.dm @@ -18,7 +18,7 @@ return 0 src.mind.changeling.chem_charges -= 20 - to_chat(src, "We cleanse impurities from our form.") + to_chat(src, span_notice("We cleanse impurities from our form.")) var/mob/living/carbon/human/C = src @@ -32,7 +32,7 @@ var/heal_amount = 5 if(src.mind.changeling.recursive_enhancement) heal_amount = heal_amount * 2 - to_chat(src, "We will heal much faster.") + to_chat(src, span_notice("We will heal much faster.")) for(var/i = 0, i<10,i++) if(C) @@ -52,4 +52,4 @@ G.germ_level = min(0, G.germ_level - germ_heal) feedback_add_details("changeling_powers","AP") - return 1 \ No newline at end of file + return 1 diff --git a/code/game/gamemodes/changeling/powers/para_sting.dm b/code/game/gamemodes/changeling/powers/para_sting.dm index c4d04dd7de6..2b2cf636edc 100644 --- a/code/game/gamemodes/changeling/powers/para_sting.dm +++ b/code/game/gamemodes/changeling/powers/para_sting.dm @@ -13,7 +13,7 @@ if(!T) return 0 add_attack_logs(src,T,"Paralysis sting (changeling)") - to_chat(T, "Your muscles begin to painfully tighten.") + to_chat(T, span_danger("Your muscles begin to painfully tighten.")) T.Weaken(20) feedback_add_details("changeling_powers","PS") - return 1 \ No newline at end of file + return 1 diff --git a/code/game/gamemodes/changeling/powers/rapid_regen.dm b/code/game/gamemodes/changeling/powers/rapid_regen.dm index 6d1e9ee300c..e70e77cf231 100644 --- a/code/game/gamemodes/changeling/powers/rapid_regen.dm +++ b/code/game/gamemodes/changeling/powers/rapid_regen.dm @@ -24,7 +24,7 @@ var/healing_amount = 40 if(src.mind.changeling.recursive_enhancement) healing_amount = C.maxHealth - to_chat(src, "We completely heal ourselves.") + to_chat(src, span_notice("We completely heal ourselves.")) spawn(0) C.adjustBruteLoss(-healing_amount) C.adjustFireLoss(-healing_amount) @@ -47,9 +47,9 @@ playsound(src, 'sound/effects/blobattack.ogg', 30, 1) var/T = get_turf(src) new /obj/effect/gibspawner/human(T) - visible_message("With a sickening squish, [src] reforms their whole body, casting their old parts on the floor!", - "We reform our body. We are whole once more.", - "You hear organic matter ripping and tearing!") + visible_message(span_warning("With a sickening squish, [src] reforms their whole body, casting their old parts on the floor!"), + span_notice("We reform our body. We are whole once more."), + span_warningplain("You hear organic matter ripping and tearing!")) feedback_add_details("changeling_powers","RR") - return 1 \ No newline at end of file + return 1 diff --git a/code/game/gamemodes/changeling/powers/recursive_enhancement.dm b/code/game/gamemodes/changeling/powers/recursive_enhancement.dm index 77bab9bd998..21ce98bf1c6 100644 --- a/code/game/gamemodes/changeling/powers/recursive_enhancement.dm +++ b/code/game/gamemodes/changeling/powers/recursive_enhancement.dm @@ -15,10 +15,10 @@ if(!changeling) return 0 if(src.mind.changeling.recursive_enhancement) - to_chat(src, "We will no longer empower our abilities.") + to_chat(src, span_warning("We will no longer empower our abilities.")) src.mind.changeling.recursive_enhancement = 0 return 0 - to_chat(src, "We empower ourselves. Our abilities will now be extra potent.") + to_chat(src, span_notice("We empower ourselves. Our abilities will now be extra potent.")) src.mind.changeling.recursive_enhancement = 1 feedback_add_details("changeling_powers","RE") - return 1 \ No newline at end of file + return 1 diff --git a/code/game/gamemodes/changeling/powers/respec.dm b/code/game/gamemodes/changeling/powers/respec.dm index 935092ff65f..371307700ed 100644 --- a/code/game/gamemodes/changeling/powers/respec.dm +++ b/code/game/gamemodes/changeling/powers/respec.dm @@ -7,7 +7,7 @@ if(!changeling) return if(src.mind.changeling.readapts <= 0) - to_chat(src, "We must first absorb another compatible creature!") + to_chat(src, span_warning("We must first absorb another compatible creature!")) src.mind.changeling.readapts = 0 return @@ -27,6 +27,6 @@ H.remove_modifiers_of_type(/datum/modifier/endoarmor) //Revert endoarmor too. src.make_changeling() //And give back our freebies. - to_chat(src, "We have removed our evolutions from this form, and are now ready to readapt.") + to_chat(src, span_notice("We have removed our evolutions from this form, and are now ready to readapt.")) ling_datum.purchased_powers_history.Add("Re-adapt (Reset to [ling_datum.max_geneticpoints])") diff --git a/code/game/gamemodes/changeling/powers/revive.dm b/code/game/gamemodes/changeling/powers/revive.dm index e4834981554..d3ebd820c39 100644 --- a/code/game/gamemodes/changeling/powers/revive.dm +++ b/code/game/gamemodes/changeling/powers/revive.dm @@ -9,7 +9,7 @@ return 0 if(changeling.max_geneticpoints < 0) //Absorbed by another ling - to_chat(src, "You have no genomes, not even your own, and cannot revive.") + to_chat(src, span_danger("You have no genomes, not even your own, and cannot revive.")) return 0 if(src.stat == DEAD) @@ -46,7 +46,7 @@ BITSET(H.hud_updateflag, LIFE_HUD) if(H.handcuffed) - var/obj/item/weapon/W = H.handcuffed + var/obj/item/W = H.handcuffed H.handcuffed = null if(H.buckled && H.buckled.buckle_require_restraints) H.buckled.unbuckle_mob() @@ -58,7 +58,7 @@ if(W) W.layer = initial(W.layer) if(H.legcuffed) - var/obj/item/weapon/W = H.legcuffed + var/obj/item/W = H.legcuffed H.legcuffed = null H.update_inv_legcuffed() if(H.client) @@ -75,14 +75,14 @@ C.halloss = 0 C.shock_stage = 0 //Pain - to_chat(C, "We have regenerated.") + to_chat(C, span_notice("We have regenerated.")) C.update_canmove() C.mind.changeling.purchased_powers -= C feedback_add_details("changeling_powers","CR") C.set_stat(CONSCIOUS) C.forbid_seeing_deadchat = FALSE C.timeofdeath = null - verbs.Remove(/mob/proc/changeling_revive) + remove_verb(src, /mob/proc/changeling_revive) // re-add our changeling powers C.make_changeling() diff --git a/code/game/gamemodes/changeling/powers/self_respiration.dm b/code/game/gamemodes/changeling/powers/self_respiration.dm index 51083616697..4b939c8b897 100644 --- a/code/game/gamemodes/changeling/powers/self_respiration.dm +++ b/code/game/gamemodes/changeling/powers/self_respiration.dm @@ -23,9 +23,9 @@ return 0 if(C.does_not_breathe == 0) C.does_not_breathe = 1 - to_chat(src, "We stop breathing, as we no longer need to.") + to_chat(src, span_notice("We stop breathing, as we no longer need to.")) return 1 else C.does_not_breathe = 0 - to_chat(src, "We resume breathing, as we now need to again.") - return 0 \ No newline at end of file + to_chat(src, span_notice("We resume breathing, as we now need to again.")) + return 0 diff --git a/code/game/gamemodes/changeling/powers/shriek.dm b/code/game/gamemodes/changeling/powers/shriek.dm index 9fe5fa708e2..e5112133e1d 100644 --- a/code/game/gamemodes/changeling/powers/shriek.dm +++ b/code/game/gamemodes/changeling/powers/shriek.dm @@ -26,21 +26,21 @@ if(!changeling) return 0 if(is_muzzled()) - to_chat(src, "Mmmf mrrfff!") + to_chat(src, span_danger("Mmmf mrrfff!")) return 0 if(ishuman(src)) var/mob/living/carbon/human/H = src if(H.silent) - to_chat(src, "You can't speak!") + to_chat(src, span_danger("You can't speak!")) return 0 if(world.time < (changeling.last_shriek + 10 SECONDS) ) - to_chat(src, "We are still recovering from our last shriek...") + to_chat(src, span_warning("We are still recovering from our last shriek...")) return 0 if(!isturf(loc)) - to_chat(src, "Shrieking here would be a bad idea.") + to_chat(src, span_warning("Shrieking here would be a bad idea.")) return 0 src.break_cloak() //No more invisible shrieking @@ -49,29 +49,29 @@ var/range = 4 if(src.mind.changeling.recursive_enhancement) range = range * 2 - to_chat(src, "We are extra loud.") + to_chat(src, span_notice("We are extra loud.")) - visible_message("[src] appears to shout.") + visible_message(span_notice("[src] appears to shout.")) var/list/affected = list() for(var/mob/living/M in range(range, src)) if(iscarbon(M)) if(!M.mind || !M.mind.changeling) if(M.get_ear_protection() >= 2) continue - to_chat(M, "You hear an extremely loud screeching sound! It \ - [pick("confuses","confounds","perturbs","befuddles","dazes","unsettles","disorients")] you.") + to_chat(M, span_danger("You hear an extremely loud screeching sound! It \ + [pick("confuses","confounds","perturbs","befuddles","dazes","unsettles","disorients")] you.")) M.adjustEarDamage(0,30) M.Confuse(20) M << sound('sound/effects/screech.ogg') affected += M else if(M != src) - to_chat(M, "You hear a familiar screech from nearby. It has no effect on you.") + to_chat(M, span_notice("You hear a familiar screech from nearby. It has no effect on you.")) M << sound('sound/effects/screech.ogg') if(issilicon(M)) M << sound('sound/weapons/flash.ogg') - to_chat(M, "Auditory input overloaded. Reinitializing...") + to_chat(M, span_notice("Auditory input overloaded. Reinitializing...")) M.Weaken(rand(5,10)) affected += M @@ -95,21 +95,21 @@ if(!changeling) return 0 if(is_muzzled()) - to_chat(src, "Mmmf mrrfff!") + to_chat(src, span_danger("Mmmf mrrfff!")) return 0 if(ishuman(src)) var/mob/living/carbon/human/H = src if(H.silent) - to_chat(src, "You can't speak!") + to_chat(src, span_danger("You can't speak!")) return 0 if(world.time < (changeling.last_shriek + 10 SECONDS) ) - to_chat(src, "We are still recovering from our last shriek...") + to_chat(src, span_warning("We are still recovering from our last shriek...")) return 0 if(!isturf(loc)) - to_chat(src, "Shrieking here would be a bad idea.") + to_chat(src, span_warning("Shrieking here would be a bad idea.")) return 0 src.break_cloak() //No more invisible shrieking @@ -125,10 +125,10 @@ range_med = range_med * 2 range_light = range_light * 2 range_long = range_long * 2 - to_chat(src, "We are extra loud.") + to_chat(src, span_notice("We are extra loud.")) src.mind.changeling.recursive_enhancement = 0 - visible_message("[src] appears to shout.") + visible_message(span_notice("[src] appears to shout.")) add_attack_logs(src,null,"Use dissonant shriek") diff --git a/code/game/gamemodes/changeling/powers/silence_sting.dm b/code/game/gamemodes/changeling/powers/silence_sting.dm index 16d24c878f1..c94713b9b19 100644 --- a/code/game/gamemodes/changeling/powers/silence_sting.dm +++ b/code/game/gamemodes/changeling/powers/silence_sting.dm @@ -19,7 +19,7 @@ var/duration = 30 if(src.mind.changeling.recursive_enhancement) duration = duration + 10 - to_chat(src, "They will be unable to cry out in fear for a little longer.") + to_chat(src, span_notice("They will be unable to cry out in fear for a little longer.")) T.silent += duration feedback_add_details("changeling_powers","SS") - return 1 \ No newline at end of file + return 1 diff --git a/code/game/gamemodes/changeling/powers/transform.dm b/code/game/gamemodes/changeling/powers/transform.dm index 535efbcac1e..4bf04341ef3 100644 --- a/code/game/gamemodes/changeling/powers/transform.dm +++ b/code/game/gamemodes/changeling/powers/transform.dm @@ -14,7 +14,7 @@ if(!changeling) return if(!isturf(loc)) - to_chat(src, "Transforming here would be a bad idea.") + to_chat(src, span_warning("Transforming here would be a bad idea.")) return 0 var/list/names = list() @@ -29,7 +29,7 @@ return changeling.chem_charges -= 5 - src.visible_message("[src] transforms!") + src.visible_message(span_warning("[src] transforms!")) changeling.geneticdamage = 5 if(ishuman(src)) @@ -56,9 +56,9 @@ for(var/datum/modifier/mod in chosen_dna.genMods) self.modifiers.Add(mod.type) - src.verbs -= /mob/proc/changeling_transform + remove_verb(src, /mob/proc/changeling_transform) spawn(10) - src.verbs += /mob/proc/changeling_transform + add_verb(src, /mob/proc/changeling_transform) src.regenerate_icons() feedback_add_details("changeling_powers","TR") diff --git a/code/game/gamemodes/changeling/powers/transform_sting.dm b/code/game/gamemodes/changeling/powers/transform_sting.dm index f831f9eb172..ced7d1c3c60 100644 --- a/code/game/gamemodes/changeling/powers/transform_sting.dm +++ b/code/game/gamemodes/changeling/powers/transform_sting.dm @@ -32,13 +32,13 @@ if(!T) return 0 if((HUSK in T.mutations) || (!ishuman(T) && !issmall(T))) - to_chat(src, "Our sting appears ineffective against its DNA.") + to_chat(src, span_warning("Our sting appears ineffective against its DNA.")) return 0 add_attack_logs(src,T,"Transformation sting (changeling)") - T.visible_message("[T] transforms!") + T.visible_message(span_warning("[T] transforms!")) T.dna = chosen_dna.Clone() T.real_name = chosen_dna.real_name T.UpdateAppearance() domutcheck(T, null) feedback_add_details("changeling_powers","TS") - return 1 \ No newline at end of file + return 1 diff --git a/code/game/gamemodes/changeling/powers/unfat_sting.dm b/code/game/gamemodes/changeling/powers/unfat_sting.dm index 34ef7b70328..57321859f25 100644 --- a/code/game/gamemodes/changeling/powers/unfat_sting.dm +++ b/code/game/gamemodes/changeling/powers/unfat_sting.dm @@ -12,7 +12,7 @@ var/mob/living/carbon/T = changeling_sting(5,/mob/proc/changeling_unfat_sting) if(!T) return 0 add_attack_logs(src,T,"Unfat sting (changeling)") - to_chat(T, "you feel a small prick as stomach churns violently and you become to feel skinnier.") + to_chat(T, span_danger("you feel a small prick as stomach churns violently and you become to feel skinnier.")) T.adjust_nutrition(-100) feedback_add_details("changeling_powers","US") - return 1 \ No newline at end of file + return 1 diff --git a/code/game/gamemodes/changeling/powers/visible_camouflage.dm b/code/game/gamemodes/changeling/powers/visible_camouflage.dm index 747deb9f998..e83b61bb5c7 100644 --- a/code/game/gamemodes/changeling/powers/visible_camouflage.dm +++ b/code/game/gamemodes/changeling/powers/visible_camouflage.dm @@ -30,7 +30,7 @@ changeling.chem_charges -= 10 var/old_regen_rate = H.mind.changeling.chem_recharge_rate - to_chat(H, "We vanish from sight, and will remain hidden, so long as we move carefully.") + to_chat(H, span_notice("We vanish from sight, and will remain hidden, so long as we move carefully.")) H.mind.changeling.cloaked = 1 H.mind.changeling.chem_recharge_rate = 0 animate(src,alpha = 255, alpha = 10, time = 10) @@ -38,7 +38,7 @@ var/must_walk = TRUE if(src.mind.changeling.recursive_enhancement) must_walk = FALSE - to_chat(src, "We may move at our normal speed while hidden.") + to_chat(src, span_notice("We may move at our normal speed while hidden.")) if(must_walk) H.set_m_intent("walk") @@ -63,10 +63,10 @@ H.invisibility = initial(invisibility) - visible_message("[src] suddenly fades in, seemingly from nowhere!", - "We revert our camouflage, revealing ourselves.") + visible_message(span_warning("[src] suddenly fades in, seemingly from nowhere!"), + span_notice("We revert our camouflage, revealing ourselves.")) H.set_m_intent("run") H.mind.changeling.cloaked = 0 H.mind.changeling.chem_recharge_rate = old_regen_rate - animate(src,alpha = 10, alpha = 255, time = 10) \ No newline at end of file + animate(src,alpha = 10, alpha = 255, time = 10) diff --git a/code/game/gamemodes/cult/construct_spells.dm b/code/game/gamemodes/cult/construct_spells.dm index 6273273c98d..9baf8667f76 100644 --- a/code/game/gamemodes/cult/construct_spells.dm +++ b/code/game/gamemodes/cult/construct_spells.dm @@ -1,7 +1,7 @@ //////////////////////////////Construct Spells///////////////////////// /proc/findNullRod(var/atom/target) - if(istype(target,/obj/item/weapon/nullrod)) + if(istype(target,/obj/item/nullrod)) return 1 else if(target.contents) for(var/atom/A in target.contents) @@ -91,7 +91,7 @@ invocation_type = SpI_NONE range = 0 - summon_type = list(/obj/item/device/soulstone) + summon_type = list(/obj/item/soulstone) hud_state = "const_stone" override_base = "const" @@ -274,9 +274,9 @@ M.forceMove(destination) if(M != user) prey = 1 - to_chat(user, "You warp back to Nar-Sie[prey ? " along with your prey":""].") + to_chat(user, span_sinister("You warp back to Nar-Sie[prey ? " along with your prey":""].")) else - to_chat(user, "...something's wrong!") //There shouldn't be an instance of Harvesters when Nar-Sie isn't in the world. + to_chat(user, span_danger("...something's wrong!")) //There shouldn't be an instance of Harvesters when Nar-Sie isn't in the world. */ /spell/targeted/fortify @@ -370,7 +370,7 @@ charge_max = 10 - var/obj/item/weapon/spell/construct/spell_obj = null //This is the var that determines what Technomancer-style spell is put into their hands. + var/obj/item/spell/construct/spell_obj = null //This is the var that determines what Technomancer-style spell is put into their hands. /spell/targeted/construct_advanced/cast(list/targets, mob/living/user) if(!findNullRod(user)) @@ -381,7 +381,7 @@ desc = "Fire a searing beam of darkness at your foes." hud_state = "const_beam" - spell_obj = /obj/item/weapon/spell/construct/projectile/inverted_beam + spell_obj = /obj/item/spell/construct/projectile/inverted_beam /spell/targeted/construct_advanced/mend_acolyte name = "Mend Acolyte" @@ -390,7 +390,7 @@ charge_max = 100 hud_state = "const_mend" - spell_obj = /obj/item/weapon/spell/construct/mend_occult + spell_obj = /obj/item/spell/construct/mend_occult /spell/targeted/construct_advanced/agonizing_sphere name = "Sphere of Agony" @@ -399,7 +399,7 @@ charge_max = 100 hud_state = "const_harvest" - spell_obj = /obj/item/weapon/spell/construct/spawner/agonizing_sphere + spell_obj = /obj/item/spell/construct/spawner/agonizing_sphere /spell/targeted/construct_advanced/slam name = "Slam" @@ -408,7 +408,7 @@ charge_max = 300 hud_state = "const_fist" - spell_obj = /obj/item/weapon/spell/construct/slam + spell_obj = /obj/item/spell/construct/slam /* * @@ -420,7 +420,7 @@ * Base advanced construct spell types. */ -/obj/item/weapon/spell/construct //Energy costs are in units of blood, in the event a cultist gets one of these. +/obj/item/spell/construct //Energy costs are in units of blood, in the event a cultist gets one of these. name = "unholy energy" desc = "Your hands appear to be screaming. This is a debug text, you should probably tell a developer!" icon = 'icons/obj/spells.dmi' @@ -441,7 +441,7 @@ cast_sound = null // Sound file played when this is used. var/last_castcheck = null // The last time this spell was cast. -/obj/item/weapon/spell/construct/New() +/obj/item/spell/construct/New() //..() //This kills the spell, because super on this calls the default spell's New, which checks for a core. Can't have that. if(isliving(loc)) owner = loc @@ -449,17 +449,17 @@ qdel(src) update_icon() -/obj/item/weapon/spell/construct/adjust_instability(var/amount) //The only drawback to the boons of the geometer is the use of a mortal's blood as fuel. Constructs have already paid that price long ago. +/obj/item/spell/construct/adjust_instability(var/amount) //The only drawback to the boons of the geometer is the use of a mortal's blood as fuel. Constructs have already paid that price long ago. return -/obj/item/weapon/spell/construct/run_checks() +/obj/item/spell/construct/run_checks() if(owner) if((iscultist(owner) || istype(owner, /mob/living/simple_mob/construct)) && (world.time >= (last_castcheck + cooldown))) //Are they a cultist or a construct, and has the cooldown time passed? last_castcheck = world.time return 1 return 0 -/obj/item/weapon/spell/construct/pay_energy(var/amount) +/obj/item/spell/construct/pay_energy(var/amount) if(owner) if(istype(owner, /mob/living/simple_mob/construct)) return 1 @@ -467,7 +467,7 @@ return 1 return 0 -/obj/item/weapon/spell/construct/proc/pay_blood(var/amount) //If, for some reason, this is put into the hands of a cultist, by a talisnam or whatever. +/obj/item/spell/construct/proc/pay_blood(var/amount) //If, for some reason, this is put into the hands of a cultist, by a talisnam or whatever. if(ishuman(owner)) var/mob/living/carbon/human/H = owner if(!H.should_have_organ(O_HEART)) @@ -476,15 +476,15 @@ return 1 return 0 -/obj/item/weapon/spell/construct/afterattack(atom/target, mob/user, proximity_flag, click_parameters) //Not overriding it caused runtimes, because cooldown checked for core. +/obj/item/spell/construct/afterattack(atom/target, mob/user, proximity_flag, click_parameters) //Not overriding it caused runtimes, because cooldown checked for core. if(!run_checks()) return if(!proximity_flag) if(cast_methods & CAST_RANGED) on_ranged_cast(target, user) else - if(istype(target, /obj/item/weapon/spell)) - var/obj/item/weapon/spell/spell = target + if(istype(target, /obj/item/spell)) + var/obj/item/spell/spell = target if(spell.cast_methods & CAST_COMBINE) spell.on_combine_cast(src, user) return @@ -497,7 +497,7 @@ user.setClickCooldown(effective_cooldown) flick("cooldown_[effective_cooldown]",src) -/obj/item/weapon/spell/construct/projectile //This makes me angry, but we need the template, and we can't use it because special check overrides on the base. +/obj/item/spell/construct/projectile //This makes me angry, but we need the template, and we can't use it because special check overrides on the base. name = "construct projectile template" icon_state = "generic" desc = "This is a generic template that shoots projectiles. If you can read this, the game broke!" @@ -507,7 +507,7 @@ var/fire_sound = null var/energy_cost_per_shot = 5 -/obj/item/weapon/spell/construct/projectile/on_ranged_cast(atom/hit_atom, mob/living/user) +/obj/item/spell/construct/projectile/on_ranged_cast(atom/hit_atom, mob/living/user) if(set_up(hit_atom, user)) var/obj/item/projectile/new_projectile = make_projectile(spell_projectile, user) new_projectile.old_style_target(hit_atom) @@ -518,11 +518,11 @@ return 1 return 0 -/obj/item/weapon/spell/construct/projectile/proc/make_projectile(obj/item/projectile/projectile_type, mob/living/user) +/obj/item/spell/construct/projectile/proc/make_projectile(obj/item/projectile/projectile_type, mob/living/user) var/obj/item/projectile/P = new projectile_type(get_turf(user)) return P -/obj/item/weapon/spell/construct/projectile/proc/set_up(atom/hit_atom, mob/living/user) +/obj/item/spell/construct/projectile/proc/set_up(atom/hit_atom, mob/living/user) if(spell_projectile) if(pay_energy(energy_cost_per_shot)) if(pre_shot_delay) @@ -537,24 +537,24 @@ return TRUE // No delay, no need to check. return FALSE -/obj/item/weapon/spell/construct/spawner +/obj/item/spell/construct/spawner name = "spawner template" desc = "If you see me, someone messed up." icon_state = "darkness" cast_methods = CAST_RANGED var/obj/effect/spawner_type = null -/obj/item/weapon/spell/construct/spawner/on_ranged_cast(atom/hit_atom, mob/user) +/obj/item/spell/construct/spawner/on_ranged_cast(atom/hit_atom, mob/user) var/turf/T = get_turf(hit_atom) if(T) new spawner_type(T) - to_chat(user, "You shift \the [src] onto \the [T].") + to_chat(user, span_cult("You shift \the [src] onto \the [T].")) log_and_message_admins("has casted [src] at [T.x],[T.y],[T.z].") qdel(src) //Harvester Laser. -/obj/item/weapon/spell/construct/projectile/inverted_beam +/obj/item/spell/construct/projectile/inverted_beam name = "inversion beam" icon_state = "generic" desc = "Your manipulators fire searing beams of inverted light." @@ -582,17 +582,17 @@ //Harvester Pain Orb -/obj/item/weapon/spell/construct/spawner/agonizing_sphere +/obj/item/spell/construct/spawner/agonizing_sphere name = "sphere of agony" desc = "Call forth a portal to a dimension of naught but pain at your target." spawner_type = /obj/effect/temporary_effect/pulse/agonizing_sphere -/obj/item/weapon/spell/construct/spawner/agonizing_sphere/on_ranged_cast(atom/hit_atom, mob/user) +/obj/item/spell/construct/spawner/agonizing_sphere/on_ranged_cast(atom/hit_atom, mob/user) if(within_range(hit_atom) && pay_energy(10)) ..() -/obj/item/weapon/spell/construct/spawner/agonizing_sphere/on_throw_cast(atom/hit_atom, mob/user) +/obj/item/spell/construct/spawner/agonizing_sphere/on_throw_cast(atom/hit_atom, mob/user) pay_energy(5) if(isliving(hit_atom)) var/mob/living/L = hit_atom @@ -615,12 +615,12 @@ if(!iscultist(L) && !istype(L, /mob/living/simple_mob/construct)) L.add_modifier(/datum/modifier/agonize, 2 SECONDS) if(L.isSynthetic()) - to_chat(L, "Your chassis warps as the [src] pulses!") + to_chat(L, span_cult("Your chassis warps as the [src] pulses!")) L.adjustFireLoss(4) //Artificer Heal -/obj/item/weapon/spell/construct/mend_occult +/obj/item/spell/construct/mend_occult name = "mend acolyte" desc = "Mend the wounds of a cultist, or construct, over time." icon_state = "mend_wounds" @@ -630,14 +630,14 @@ light_power = -2 light_on = TRUE -/obj/item/weapon/spell/construct/mend_occult/on_melee_cast(atom/hit_atom, mob/living/user, def_zone) +/obj/item/spell/construct/mend_occult/on_melee_cast(atom/hit_atom, mob/living/user, def_zone) if(isliving(hit_atom)) var/mob/living/L = hit_atom L.add_modifier(/datum/modifier/mend_occult, 150) qdel(src) //Juggernaut Slam -/obj/item/weapon/spell/construct/slam +/obj/item/spell/construct/slam name = "slam" desc = "Empower your FIST, to send an opponent flying." icon_state = "toggled_old" @@ -648,14 +648,14 @@ light_on = TRUE cooldown = 15 -/obj/item/weapon/spell/construct/slam/on_melee_cast(atom/hit_atom, mob/living/user, def_zone) +/obj/item/spell/construct/slam/on_melee_cast(atom/hit_atom, mob/living/user, def_zone) var/attack_message = "slams" if(istype(user, /mob/living/simple_mob)) var/mob/living/simple_mob/S = user attack_message = pick(S.attacktext) if(isliving(hit_atom)) var/mob/living/L = hit_atom - L.visible_message("\The [user] [attack_message] \the [L], sending them flying!") + L.visible_message(span_danger("\The [user] [attack_message] \the [L], sending them flying!")) playsound(src, "punch", 50, 1) L.Weaken(2) L.adjustBruteLoss(rand(30, 50)) @@ -663,14 +663,14 @@ L.throw_at(get_edge_target_turf(L, throwdir), 3, 1, src) if(istype(hit_atom, /turf/simulated/wall)) var/turf/simulated/wall/W = hit_atom - user.visible_message("\The [user] rears its fist, preparing to hit \the [W]!") + user.visible_message(span_warning("\The [user] rears its fist, preparing to hit \the [W]!")) var/windup = cooldown if(W.reinf_material) windup = cooldown * 2 if(do_after(user, windup)) - W.visible_message("\The [user] [attack_message] \the [W], obliterating it!") + W.visible_message(span_danger("\The [user] [attack_message] \the [W], obliterating it!")) W.dismantle_wall(1) else - user.visible_message("\The [user] lowers its fist.") + user.visible_message(span_bold("\The [user]") + " lowers its fist.") return qdel(src) diff --git a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm index e54bb88eefe..df277b318a8 100644 --- a/code/game/gamemodes/cult/cult_items.dm +++ b/code/game/gamemodes/cult/cult_items.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/melee/cultblade +/obj/item/melee/cultblade name = "cult blade" desc = "An arcane weapon wielded by the followers of Nar-Sie." icon_state = "cultblade" @@ -13,10 +13,10 @@ edge = TRUE sharp = TRUE -/obj/item/weapon/melee/cultblade/cultify() +/obj/item/melee/cultblade/cultify() return -/obj/item/weapon/melee/cultblade/attack(mob/living/M, mob/living/user, var/target_zone) +/obj/item/melee/cultblade/attack(mob/living/M, mob/living/user, var/target_zone) if(iscultist(user) && !istype(user, /mob/living/simple_mob/construct)) return ..() @@ -24,14 +24,14 @@ if(ishuman(user)) var/mob/living/carbon/human/H = user var/obj/item/organ/external/affecting = H.get_organ(zone) - to_chat(user, "An inexplicable force rips through your [affecting.name], tearing the sword from your grasp!") + to_chat(user, span_danger("An inexplicable force rips through your [affecting.name], tearing the sword from your grasp!")) //random amount of damage between half of the blade's force and the full force of the blade. user.apply_damage(rand(force/2, force), BRUTE, zone, 0, sharp = TRUE, edge = TRUE) user.Weaken(5) else if(!istype(user, /mob/living/simple_mob/construct)) - to_chat(user, "An inexplicable force rips through you, tearing the sword from your grasp!") + to_chat(user, span_danger("An inexplicable force rips through you, tearing the sword from your grasp!")) else - to_chat(user, "The blade hisses, forcing itself from your manipulators. \The [src] will only allow mortals to wield it against foes, not kin.") + to_chat(user, span_critical("The blade hisses, forcing itself from your manipulators. \The [src] will only allow mortals to wield it against foes, not kin.")) user.drop_from_inventory(src, src.loc) throw_at(get_edge_target_turf(src, pick(alldirs)), rand(1,3), throw_speed) @@ -41,12 +41,12 @@ return 1 -/obj/item/weapon/melee/cultblade/pickup(mob/living/user as mob) +/obj/item/melee/cultblade/pickup(mob/living/user as mob) if(!iscultist(user) && !istype(user, /mob/living/simple_mob/construct)) - to_chat(user, "An overwhelming feeling of dread comes over you as you pick up the cultist's sword. It would be wise to be rid of this blade quickly.") + to_chat(user, span_warning("An overwhelming feeling of dread comes over you as you pick up the cultist's sword. It would be wise to be rid of this blade quickly.")) user.make_dizzy(120) if(istype(user, /mob/living/simple_mob/construct)) - to_chat(user, "\The [src] hisses, as it is discontent with your acquisition of it. It would be wise to return it to a worthy mortal quickly.") + to_chat(user, span_warning("\The [src] hisses, as it is discontent with your acquisition of it. It would be wise to return it to a worthy mortal quickly.")) /obj/item/clothing/head/culthood name = "cult hood" @@ -79,7 +79,7 @@ icon_state = "cultrobes" origin_tech = list(TECH_MATERIAL = 3, TECH_ARCANE = 1) body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS - allowed = list(/obj/item/weapon/book/tome,/obj/item/weapon/melee/cultblade) + allowed = list(/obj/item/book/tome,/obj/item/melee/cultblade) armor = list(melee = 50, bullet = 30, laser = 50, energy = 80, bomb = 25, bio = 10, rad = 0) flags_inv = HIDEJUMPSUIT siemens_coefficient = 0 @@ -114,7 +114,7 @@ origin_tech = list(TECH_MATERIAL = 3, TECH_ARCANE = 1) desc = "A bulky suit of armour, bristling with spikes. It looks space-worthy." w_class = ITEMSIZE_NORMAL - allowed = list(/obj/item/weapon/book/tome,/obj/item/weapon/melee/cultblade,/obj/item/weapon/tank/emergency/oxygen,/obj/item/device/suit_cooling_unit) + allowed = list(/obj/item/book/tome,/obj/item/melee/cultblade,/obj/item/tank/emergency/oxygen,/obj/item/suit_cooling_unit) slowdown = 0.5 armor = list(melee = 60, bullet = 50, laser = 30, energy = 80, bomb = 30, bio = 30, rad = 30) siemens_coefficient = 0 diff --git a/code/game/gamemodes/cult/cult_structures.dm b/code/game/gamemodes/cult/cult_structures.dm index 9a9540784e5..73429d697ba 100644 --- a/code/game/gamemodes/cult/cult_structures.dm +++ b/code/game/gamemodes/cult/cult_structures.dm @@ -55,7 +55,7 @@ /obj/structure/cult/pylon/proc/pylonhit(var/damage) if(!isbroken) if(prob(1+ damage * 5)) - visible_message("[shatter_message]") + visible_message(span_danger("[shatter_message]")) STOP_PROCESSING(SSobj, src) playsound(src,shatter_sound, 75, 1) isbroken = 1 @@ -67,8 +67,8 @@ if(!isbroken) if(prob(1+ damage * 5)) user.visible_message( - "[user] smashed \the [src]!", - "You hit \the [src], and its crystal breaks apart!", + span_danger("[user] smashed \the [src]!"), + span_warning("You hit \the [src], and its crystal breaks apart!"), "You hear a tinkle of crystal shards." ) STOP_PROCESSING(SSobj, src) @@ -170,4 +170,4 @@ var/mob/living/M = A - to_chat(M, "Walking into \the [src] is probably a bad idea, you think.") + to_chat(M, span_danger("Walking into \the [src] is probably a bad idea, you think.")) diff --git a/code/game/gamemodes/cult/cultify/mob.dm b/code/game/gamemodes/cult/cultify/mob.dm index 9c5eb4458f4..ad9394fe352 100644 --- a/code/game/gamemodes/cult/cultify/mob.dm +++ b/code/game/gamemodes/cult/cultify/mob.dm @@ -12,13 +12,13 @@ icon_state = "ghost-narsie" overlays = 0 invisibility = 0 - to_chat(src, "Even as a non-corporal being, you can feel Nar-Sie's presence altering you. You are now visible to everyone.") + to_chat(src, span_sinister("Even as a non-corporal being, you can feel Nar-Sie's presence altering you. You are now visible to everyone.")) /mob/living/cultify() if(iscultist(src) && client) var/mob/living/simple_mob/construct/harvester/C = new(get_turf(src)) mind.transfer_to(C) - to_chat(C, "The Geometer of Blood is overjoyed to be reunited with its followers, and accepts your body in sacrifice. As reward, you have been gifted with the shell of an Harvester.
Your tendrils can use and draw runes without need for a tome, your eyes can see beings through walls, and your mind can open any door. Use these assets to serve Nar-Sie and bring him any remaining living human in the world.
You can teleport yourself back to Nar-Sie along with any being under yourself at any time using your \"Harvest\" spell.
") + to_chat(C, span_sinister("The Geometer of Blood is overjoyed to be reunited with its followers, and accepts your body in sacrifice. As reward, you have been gifted with the shell of an Harvester.
Your tendrils can use and draw runes without need for a tome, your eyes can see beings through walls, and your mind can open any door. Use these assets to serve Nar-Sie and bring him any remaining living human in the world.
You can teleport yourself back to Nar-Sie along with any being under yourself at any time using your \"Harvest\" spell.")) dust() else if(client) var/mob/observer/dead/G = (ghostize()) @@ -26,7 +26,7 @@ G.icon_state = "ghost-narsie" G.overlays = 0 G.invisibility = 0 - to_chat(G, "You feel relieved as what's left of your soul finally escapes its prison of flesh.") + to_chat(G, span_sinister("You feel relieved as what's left of your soul finally escapes its prison of flesh.")) cult.harvested += G.mind else diff --git a/code/game/gamemodes/cult/cultify/obj.dm b/code/game/gamemodes/cult/cultify/obj.dm index e00dbc6aad5..672fdb1fd3b 100644 --- a/code/game/gamemodes/cult/cultify/obj.dm +++ b/code/game/gamemodes/cult/cultify/obj.dm @@ -10,26 +10,26 @@ /obj/effect/overlay/cultify() return -/obj/item/device/flashlight/lamp/cultify() +/obj/item/flashlight/lamp/cultify() new /obj/structure/cult/pylon(loc) ..() /obj/item/stack/material/wood/cultify() return -/obj/item/weapon/book/cultify() - new /obj/item/weapon/book/tome(loc) +/obj/item/book/cultify() + new /obj/item/book/tome(loc) ..() -/obj/item/weapon/material/sword/cultify() - new /obj/item/weapon/melee/cultblade(loc) +/obj/item/material/sword/cultify() + new /obj/item/melee/cultblade(loc) ..() -/obj/item/weapon/storage/backpack/cultify() - new /obj/item/weapon/storage/backpack/cultpack(loc) +/obj/item/storage/backpack/cultify() + new /obj/item/storage/backpack/cultpack(loc) ..() -/obj/item/weapon/storage/backpack/cultpack/cultify() +/obj/item/storage/backpack/cultpack/cultify() return /obj/machinery/cultify() diff --git a/code/game/gamemodes/cult/hell_universe.dm b/code/game/gamemodes/cult/hell_universe.dm index d558a8bfbb2..e5d549cec50 100644 --- a/code/game/gamemodes/cult/hell_universe.dm +++ b/code/game/gamemodes/cult/hell_universe.dm @@ -16,7 +16,7 @@ In short: return 1 /* if(user) - to_chat(user, "All you hear on the frequency is static and panicked screaming. There will be no shuttle call today.") + to_chat(user, span_sinister("All you hear on the frequency is static and panicked screaming. There will be no shuttle call today.")) return 0 */ diff --git a/code/game/gamemodes/cult/narsie.dm b/code/game/gamemodes/cult/narsie.dm index 5a8dc60d3f8..1aabe00bb91 100644 --- a/code/game/gamemodes/cult/narsie.dm +++ b/code/game/gamemodes/cult/narsie.dm @@ -43,7 +43,7 @@ var/global/list/narsie_list = list() /obj/singularity/narsie/large/New() ..() if(announce) - to_world("[uppertext(name)] HAS RISEN") + to_world(span_world(span_narsie(span_red("[uppertext(name)] HAS RISEN")))) world << sound('sound/effects/weather/wind/wind_5_1.ogg') narsie_spawn_animation() @@ -79,7 +79,7 @@ var/global/list/narsie_list = list() if(M.status_flags & GODMODE) continue if(!iscultist(M)) - to_chat(M, " You feel your sanity crumble away in an instant as you gaze upon [src.name]...") + to_chat(M, span_danger("You feel your sanity crumble away in an instant as you gaze upon [src.name]...")) M.apply_effect(3, STUN) @@ -313,13 +313,13 @@ var/global/list/narsie_list = list() /obj/singularity/narsie/proc/acquire(const/mob/food) var/capname = uppertext(name) - to_chat(target, "[capname] HAS LOST INTEREST IN YOU.") + to_chat(target, span_boldnotice("[capname] HAS LOST INTEREST IN YOU.")) target = food if (ishuman(target)) - to_chat(target, "[capname] HUNGERS FOR YOUR SOUL.") + to_chat(target, span_danger("[capname] HUNGERS FOR YOUR SOUL.")) else - to_chat(target, "[capname] HAS CHOSEN YOU TO LEAD HIM TO HIS NEXT MEAL.") + to_chat(target, span_danger("[capname] HAS CHOSEN YOU TO LEAD HIM TO HIS NEXT MEAL.")) /obj/singularity/narsie/on_capture() chained = 1 diff --git a/code/game/gamemodes/cult/ritual.dm b/code/game/gamemodes/cult/ritual.dm index 35e1ed8eb92..27c09411449 100644 --- a/code/game/gamemodes/cult/ritual.dm +++ b/code/game/gamemodes/cult/ritual.dm @@ -6,7 +6,7 @@ var/global/list/engwords = list("travel", "blood", "join", "hell", "destroy", "t var/global/list/rnwords = list("ire","ego","nahlizet","certum","veri","jatkaa","mgar","balaq", "karazet", "geeri") /client/proc/check_words() // -- Urist - set category = "Special Verbs" + set category = "Admin.Secrets" set name = "Check Rune Words" set desc = "Check the rune-word meaning" if(!cultwords["travel"]) @@ -90,12 +90,12 @@ var/global/list/rnwords = list("ire","ego","nahlizet","certum","veri","jatkaa"," /obj/effect/rune/attackby(I as obj, user as mob) - if(istype(I, /obj/item/weapon/book/tome) && iscultist(user)) + if(istype(I, /obj/item/book/tome) && iscultist(user)) to_chat(user, "You retrace your steps, carefully undoing the lines of the rune.") qdel(src) return - else if(istype(I, /obj/item/weapon/nullrod)) - to_chat(user, "You disrupt the vile magic with the deadening field of the null rod!") + else if(istype(I, /obj/item/nullrod)) + to_chat(user, span_notice("You disrupt the vile magic with the deadening field of the null rod!")) qdel(src) return return @@ -170,13 +170,13 @@ var/global/list/rnwords = list("ire","ego","nahlizet","certum","veri","jatkaa"," else usr.whisper(pick("Hakkrutju gopoenjim.", "Nherasai pivroiashan.", "Firjji prhiv mazenhor.", "Tanah eh wakantahe.", "Obliyae na oraie.", "Miyf hon vnor'c.", "Wakabai hij fen juswix.")) for (var/mob/V in viewers(src)) - V.show_message("The markings pulse with a small burst of light, then fall dark.", 3, "You hear a faint fizzle.", 2) + V.show_message(span_warning("The markings pulse with a small burst of light, then fall dark."), 3, span_warning("You hear a faint fizzle."), 2) return /obj/effect/rune/proc/check_icon() icon = get_uristrune_cult(word1, word2, word3) -/obj/item/weapon/book/tome +/obj/item/book/tome name = "arcane tome" icon = 'icons/obj/weapons.dmi' item_icons = list( @@ -288,14 +288,14 @@ var/global/list/rnwords = list("ire","ego","nahlizet","certum","veri","jatkaa"," "} -/obj/item/weapon/book/tome/Initialize() +/obj/item/book/tome/Initialize() . = ..() if(!cultwords["travel"]) runerandom() for(var/V in cultwords) words[cultwords[V]] = V -/obj/item/weapon/book/tome/attack(mob/living/M as mob, mob/living/user as mob) +/obj/item/book/tome/attack(mob/living/M as mob, mob/living/user as mob) add_attack_logs(user,M,"Hit with [name]") if(istype(M,/mob/observer/dead)) @@ -310,13 +310,12 @@ var/global/list/rnwords = list("ire","ego","nahlizet","certum","veri","jatkaa"," return M.take_organ_damage(0,rand(5,20)) //really lucky - 5 hits for a crit for(var/mob/O in viewers(M, null)) - O.show_message("\The [user] beats \the [M] with \the [src]!", 1) - to_chat(M, "You feel searing heat inside!") + O.show_message(span_warning("\The [user] beats \the [M] with \the [src]!"), 1) + to_chat(M, span_danger("You feel searing heat inside!")) -/obj/item/weapon/book/tome/attack_self(mob/living/user as mob) - usr = user - if(!usr.canmove || usr.stat || usr.restrained()) +/obj/item/book/tome/attack_self(mob/living/user as mob) + if(!user.canmove || user.stat || user.restrained()) return if(!cultwords["travel"]) @@ -326,7 +325,7 @@ var/global/list/rnwords = list("ire","ego","nahlizet","certum","veri","jatkaa"," for(var/obj/effect/rune/N in rune_list) C++ if (!istype(user.loc,/turf)) - to_chat(user, "You do not have enough space to write a proper rune.") + to_chat(user, span_warning("You do not have enough space to write a proper rune.")) return if (C>=26 + runedec + cult.current_antagonists.len) //including the useless rune at the secret room, shouldn't count against the limit of 25 runes - Urist @@ -334,14 +333,14 @@ var/global/list/rnwords = list("ire","ego","nahlizet","certum","veri","jatkaa"," return else switch(tgui_alert(user, "You open the tome", "Tome", list("Read it","Scribe a rune","Cancel"))) - if("Cancel") + if("Cancel", null) return if("Read it") - if(usr.get_active_hand() != src) + if(user.get_active_hand() != src) return user << browse("[tomedat]", "window=Arcane Tome") return - if(usr.get_active_hand() != src) + if(user.get_active_hand() != src) return var/list/dictionary = list ( @@ -386,33 +385,33 @@ var/global/list/rnwords = list("ire","ego","nahlizet","certum","veri","jatkaa"," var/chosen_rune = null - if(usr) + if(user) chosen_rune = input ("Choose a rune to scribe.") in scribewords if (!chosen_rune) return if (chosen_rune == "none") - to_chat(user, "You decide against scribing a rune, perhaps you should take this time to study your notes.") + to_chat(user, span_notice("You decide against scribing a rune, perhaps you should take this time to study your notes.")) return if (chosen_rune == "teleport") dictionary[chosen_rune] += input ("Choose a destination word") in english if (chosen_rune == "teleport other") dictionary[chosen_rune] += input ("Choose a destination word") in english - if(usr.get_active_hand() != src) + if(user.get_active_hand() != src) return for (var/mob/V in viewers(src)) - V.show_message("\The [user] slices open a finger and begins to chant and paint symbols on the floor.", 3, "You hear chanting.", 2) - to_chat(user, "You slice open one of your fingers and begin drawing a rune on the floor whilst chanting the ritual that binds your life essence with the dark arcane energies flowing through the surrounding world.") + V.show_message(span_danger("\The [user] slices open a finger and begins to chant and paint symbols on the floor."), 3, span_danger("You hear chanting."), 2) + to_chat(user, span_danger("You slice open one of your fingers and begin drawing a rune on the floor whilst chanting the ritual that binds your life essence with the dark arcane energies flowing through the surrounding world.")) user.take_overall_damage((rand(9)+1)/10) // 0.1 to 1.0 damage if(do_after(user, 50)) var/area/A = get_area(user) log_and_message_admins("created \an [chosen_rune] rune at \the [A.name] - [user.loc.x]-[user.loc.y]-[user.loc.z].") - if(usr.get_active_hand() != src) + if(user.get_active_hand() != src) return var/mob/living/carbon/human/H = user var/obj/effect/rune/R = new /obj/effect/rune(user.loc) - to_chat(user, "You finish drawing the arcane markings of the Geometer.") + to_chat(user, span_notice("You finish drawing the arcane markings of the Geometer.")) var/list/required = dictionary[chosen_rune] R.word1 = english[required[1]] R.word2 = english[required[2]] @@ -425,30 +424,30 @@ var/global/list/rnwords = list("ire","ego","nahlizet","certum","veri","jatkaa"," to_chat(user, "The book seems full of illegible scribbles. Is this a joke?") return -/obj/item/weapon/book/tome/examine(mob/user) +/obj/item/book/tome/examine(mob/user) . = ..() if(!iscultist(user)) . += "An old, dusty tome with frayed edges and a sinister looking cover." else . += "The scriptures of Nar-Sie, The One Who Sees, The Geometer of Blood. Contains the details of every ritual his followers could think of. Most of these are useless, though." -/obj/item/weapon/book/tome/cultify() +/obj/item/book/tome/cultify() return -/obj/item/weapon/book/tome/imbued //admin tome, spawns working runes without waiting +/obj/item/book/tome/imbued //admin tome, spawns working runes without waiting w_class = ITEMSIZE_SMALL var/cultistsonly = 1 -/obj/item/weapon/book/tome/imbued/attack_self(mob/user as mob) - if(src.cultistsonly && !iscultist(usr)) +/obj/item/book/tome/imbued/attack_self(mob/user as mob) + if(src.cultistsonly && !iscultist(user)) return if(!cultwords["travel"]) runerandom() if(user) var/r if (!istype(user.loc,/turf)) - to_chat(user, "You do not have enough space to write a proper rune.") + to_chat(user, span_notice("You do not have enough space to write a proper rune.")) var/list/runes = list("teleport", "itemport", "tome", "armor", "convert", "tear in reality", "emp", "drain", "seer", "raise", "obscure", "reveal", "astral journey", "manifest", "imbue talisman", "sacrifice", "wall", "freedom", "cultsummon", "deafen", "blind", "bloodboil", "communicate", "stun") - r = input(usr, "Choose a rune to scribe", "Rune Scribing") in runes // Remains input() for extreme blocking + r = input(user, "Choose a rune to scribe", "Rune Scribing") in runes // Remains input() for extreme blocking var/obj/effect/rune/R = new /obj/effect/rune if(istype(user, /mob/living/carbon/human)) var/mob/living/carbon/human/H = user @@ -460,8 +459,8 @@ var/global/list/rnwords = list("ire","ego","nahlizet","certum","veri","jatkaa"," if("teleport") var/list/words = list("ire", "ego", "nahlizet", "certum", "veri", "jatkaa", "balaq", "mgar", "karazet", "geeri") var/beacon - if(usr) - beacon = input(usr, "Select the last rune", "Rune Scribing") in words // Remains input() for extreme blocking + if(user) + beacon = input(user, "Select the last rune", "Rune Scribing") in words // Remains input() for extreme blocking R.word1=cultwords["travel"] R.word2=cultwords["self"] R.word3=beacon @@ -470,8 +469,8 @@ var/global/list/rnwords = list("ire","ego","nahlizet","certum","veri","jatkaa"," if("itemport") var/list/words = list("ire", "ego", "nahlizet", "certum", "veri", "jatkaa", "balaq", "mgar", "karazet", "geeri") var/beacon - if(usr) - beacon = input(usr, "Select the last rune", "Rune Scribing") in words // Remains input() for extreme blocking + if(user) + beacon = input(user, "Select the last rune", "Rune Scribing") in words // Remains input() for extreme blocking R.word1=cultwords["travel"] R.word2=cultwords["other"] R.word3=beacon diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm index 0c52c00621c..15900cdeca7 100644 --- a/code/game/gamemodes/cult/runes.dm +++ b/code/game/gamemodes/cult/runes.dm @@ -5,9 +5,9 @@ var/list/sacrificed = list() /* * Use as a general guideline for this and related files: - * * ... - when something non-trivial or an error happens, so something similar to "Sparks come out of the machine!" - * * ... - when something that is fit for 'warning' happens but there is some damage or pain as well. - * * ... - when there is a private message to the cultists. This guideline is very arbitrary but there has to be some consistency! + * * span_warning("...") - when something non-trivial or an error happens, so something similar to "Sparks come out of the machine!" + * * span_danger("...") - when something that is fit for 'warning' happens but there is some damage or pain as well. + * * span_cult("...") - when there is a private message to the cultists. This guideline is very arbitrary but there has to be some consistency! */ @@ -25,7 +25,7 @@ var/list/sacrificed = list() allrunesloc.len = index allrunesloc[index] = R.loc if(index >= 5) - to_chat(user, "You feel pain, as rune disappears in reality shift caused by too much wear of space-time fabric.") + to_chat(user, span_danger("You feel pain, as rune disappears in reality shift caused by too much wear of space-time fabric.")) if (istype(user, /mob/living)) user.take_overall_damage(5, 0) qdel(src) @@ -34,9 +34,9 @@ var/list/sacrificed = list() user.say("Sas[pick("'","`")]so c'arta forbici!")//Only you can stop auto-muting else user.whisper("Sas[pick("'","`")]so c'arta forbici!") - user.visible_message("[user] disappears in a flash of red light!", \ - "You feel as your body gets dragged through the dimension of Nar-Sie!", \ - "You hear a sickening crunch and sloshing of viscera.") + user.visible_message(span_danger("[user] disappears in a flash of red light!"), \ + span_danger("You feel as your body gets dragged through the dimension of Nar-Sie!"), \ + span_danger("You hear a sickening crunch and sloshing of viscera.")) user.loc = allrunesloc[rand(1,index)] return if(istype(src,/obj/effect/rune)) @@ -58,7 +58,7 @@ var/list/sacrificed = list() IP = R runecount++ if(runecount >= 2) - to_chat(user, "You feel pain, as rune disappears in reality shift caused by too much wear of space-time fabric.") + to_chat(user, span_danger("You feel pain, as rune disappears in reality shift caused by too much wear of space-time fabric.")) if (istype(user, /mob/living)) user.take_overall_damage(5, 0) qdel(src) @@ -67,9 +67,9 @@ var/list/sacrificed = list() culcount++ if(culcount>=3) user.say("Sas[pick("'","`")]so c'arta forbici tarem!") - user.visible_message("You feel air moving from the rune - like as it was swapped with somewhere else.", \ - "You feel air moving from the rune - like as it was swapped with somewhere else.", \ - "You smell ozone.") + user.visible_message(span_warning("You feel air moving from the rune - like as it was swapped with somewhere else."), \ + span_warning("You feel air moving from the rune - like as it was swapped with somewhere else."), \ + span_warning("You smell ozone.")) for(var/obj/O in src.loc) if(!O.anchored) O.loc = IP.loc @@ -87,13 +87,13 @@ var/list/sacrificed = list() usr.say("N[pick("'","`")]ath reth sh'yro eth d'raggathnor!") else usr.whisper("N[pick("'","`")]ath reth sh'yro eth d'raggathnor!") - usr.visible_message("Rune disappears with a flash of red light, and in its place now a book lies.", \ - "You are blinded by the flash of red light! After you're able to see again, you see that now instead of the rune there's a book.", \ - "You hear a pop and smell ozone.") + usr.visible_message(span_warning("Rune disappears with a flash of red light, and in its place now a book lies."), \ + span_warning("You are blinded by the flash of red light! After you're able to see again, you see that now instead of the rune there's a book."), \ + span_warning("You hear a pop and smell ozone.")) if(istype(src,/obj/effect/rune)) - new /obj/item/weapon/book/tome(src.loc) + new /obj/item/book/tome(src.loc) else - new /obj/item/weapon/book/tome(usr.loc) + new /obj/item/book/tome(usr.loc) qdel(src) return @@ -113,7 +113,7 @@ var/list/sacrificed = list() if(!converting.len) fizzle() else - to_chat(usr, "You sense that the power of the dark one is already working away at them.") + to_chat(usr, span_danger("You sense that the power of the dark one is already working away at them.")) return usr.say("Mah[pick("'","`")]weyh pleggh at e'ntrath!") @@ -134,14 +134,14 @@ var/list/sacrificed = list() add_attack_logs(attacker,target,"Convert rune") switch(target.getFireLoss()) if(0 to 25) - to_chat(target, "Your blood boils as you force yourself to resist the corruption invading every corner of your mind.") + to_chat(target, span_cult("Your blood boils as you force yourself to resist the corruption invading every corner of your mind.")) if(25 to 45) - to_chat(target, "Your blood boils and your body burns as the corruption further forces itself into your body and mind.") + to_chat(target, span_cult("Your blood boils and your body burns as the corruption further forces itself into your body and mind.")) if(45 to 75) - to_chat(target, "You begin to hallucinate images of a dark and incomprehensible being and your entire body feels like its engulfed in flame as your mental defenses crumble.") + to_chat(target, span_cult("You begin to hallucinate images of a dark and incomprehensible being and your entire body feels like its engulfed in flame as your mental defenses crumble.")) target.apply_effect(rand(1,10), STUTTER) if(75 to 100) - to_chat(target, "Your mind turns to ash as the burning flames engulf your very soul and images of an unspeakable horror begin to bombard the last remnants of mental resistance.") + to_chat(target, span_cult("Your mind turns to ash as the burning flames engulf your very soul and images of an unspeakable horror begin to bombard the last remnants of mental resistance.")) //broken mind - 5000 may seem like a lot I wanted the effect to really stand out for maxiumum losing-your-mind-spooky //hallucination is reduced when the step off as well, provided they haven't hit the last stage... @@ -150,7 +150,7 @@ var/list/sacrificed = list() target.apply_effect(10, STUTTER) target.adjustBrainLoss(1) if(100 to INFINITY) - to_chat(target, "Your entire broken soul and being is engulfed in corruption and flames as your mind shatters away into nothing.") + to_chat(target, span_cult("Your entire broken soul and being is engulfed in corruption and flames as your mind shatters away into nothing.")) //5000 is waaaay too much, in practice. target.hallucination = min(target.hallucination + 100, 500) target.apply_effect(15, STUTTER) @@ -158,18 +158,18 @@ var/list/sacrificed = list() initial_message = 1 if (!target.can_feel_pain()) - target.visible_message("The markings below \the [target] glow a bloody red.") + target.visible_message(span_warning("The markings below \the [target] glow a bloody red.")) else var/datum/gender/TT = gender_datums[target.get_visible_gender()] - target.visible_message("[target] writhes in pain as the markings below [TT.him] glow a bloody red.", "AAAAAAHHHH!", "You hear an anguished scream.") + target.visible_message(span_warning("[target] writhes in pain as the markings below [TT.him] glow a bloody red."), span_danger("AAAAAAHHHH!"), span_warning("You hear an anguished scream.")) if(!waiting_for_input[target]) //so we don't spam them with dialogs if they hesitate waiting_for_input[target] = 1 - if(!cult.can_become_antag(target.mind) || jobban_isbanned(target, "cultist"))//putting jobban check here because is_convertable uses mind as argument + if(!cult.can_become_antag(target.mind) || jobban_isbanned(target, JOB_CULTIST))//putting jobban check here because is_convertable uses mind as argument //waiting_for_input ensures this is only shown once, so they basically auto-resist from here on out. They still need to find a way to get off the freaking rune if they don't want to burn to death, though. - to_chat(target, "Your blood pulses. Your head throbs. The world goes red. All at once you are aware of a horrible, horrible truth. The veil of reality has been ripped away and in the festering wound left behind something sinister takes root.") - to_chat(target, "And you were able to force it out of your mind. You now know the truth, there's something horrible out there, stop it and its minions at all costs.") + to_chat(target, span_cult("Your blood pulses. Your head throbs. The world goes red. All at once you are aware of a horrible, horrible truth. The veil of reality has been ripped away and in the festering wound left behind something sinister takes root.")) + to_chat(target, span_danger("And you were able to force it out of your mind. You now know the truth, there's something horrible out there, stop it and its minions at all costs.")) else spawn() var/choice = tgui_alert(target,"Do you want to join the cult?","Submit to Nar'Sie",list("Resist","Submit")) @@ -197,7 +197,7 @@ var/list/sacrificed = list() cultists.Add(M) if(cultists.len >= 9) if(!narsie_cometh)//so we don't initiate Hell more than one time. - to_world("THE VEIL HAS BEEN SHATTERED!") + to_world(span_world(span_narsie(span_red("THE VEIL HAS BEEN SHATTERED!")))) world << sound('sound/effects/weather/wind/wind_5_1.ogg') SetUniversalState(/datum/universal_state/hell) @@ -240,22 +240,22 @@ var/list/sacrificed = list() if(D.stat!=2) add_attack_logs(usr,D,"Blood drain rune") var/bdrain = rand(1,25) - to_chat(D, "You feel weakened.") + to_chat(D, span_warning("You feel weakened.")) D.take_overall_damage(bdrain, 0) drain += bdrain if(!drain) return fizzle() usr.say ("Yu[pick("'","`")]gular faras desdae. Havas mithum javara. Umathar uf'kal thenar!") - usr.visible_message("Blood flows from the rune into [usr]!", \ - "The blood starts flowing from the rune and into your frail mortal body. You feel... empowered.", \ - "You hear a liquid flowing.") + usr.visible_message(span_danger("Blood flows from the rune into [usr]!"), \ + span_danger("The blood starts flowing from the rune and into your frail mortal body. You feel... empowered."), \ + span_warning("You hear a liquid flowing.")) var/mob/living/user = usr if(user.bhunger) user.bhunger = max(user.bhunger-2*drain,0) if(drain>=50) - user.visible_message("[user]'s eyes give off eerie red glow!", \ - "...but it wasn't nearly enough. You crave, crave for more. The hunger consumes you from within.", \ - "You hear a heartbeat.") + user.visible_message(span_danger("[user]'s eyes give off eerie red glow!"), \ + span_danger("...but it wasn't nearly enough. You crave, crave for more. The hunger consumes you from within."), \ + span_warning("You hear a heartbeat.")) user.bhunger += drain src = user spawn() @@ -277,7 +277,7 @@ var/list/sacrificed = list() H.sdisabilities &= ~BLIND for(var/obj/item/organ/E in H.bad_external_organs) var/obj/item/organ/external/affected = E - if((affected.damage < affected.min_broken_damage * config.organ_health_multiplier) && (affected.status & ORGAN_BROKEN)) + if((affected.damage < affected.min_broken_damage * CONFIG_GET(number/organ_health_multiplier)) && (affected.status & ORGAN_BROKEN)) affected.status &= ~ORGAN_BROKEN for(var/datum/wound/W in affected.wounds) if(istype(W, /datum/wound/internal_bleeding)) @@ -296,16 +296,16 @@ var/list/sacrificed = list() if(usr.loc==src.loc) if(usr.seer==1) usr.say("Rash'tla sektath mal[pick("'","`")]zua. Zasan therium viortia.") - to_chat(usr, "The world beyond fades from your vision.") + to_chat(usr, span_danger("The world beyond fades from your vision.")) usr.see_invisible = SEE_INVISIBLE_LIVING usr.seer = 0 else if(usr.see_invisible!=SEE_INVISIBLE_LIVING) - to_chat(usr, "The world beyond flashes your eyes but disappears quickly, as if something is disrupting your vision.") + to_chat(usr, span_warning("The world beyond flashes your eyes but disappears quickly, as if something is disrupting your vision.")) usr.see_invisible = SEE_INVISIBLE_CULT usr.seer = 0 else usr.say("Rash'tla sektath mal[pick("'","`")]zua. Zasan therium vivira. Itonis al'ra matum!") - to_chat(usr, "The world beyond opens to your eyes.") + to_chat(usr, span_warning("The world beyond opens to your eyes.")) usr.see_invisible = SEE_INVISIBLE_CULT usr.seer = 1 return @@ -328,7 +328,7 @@ var/list/sacrificed = list() if(!corpse_to_raise) if(is_sacrifice_target) - to_chat(usr, "The Geometer of blood wants this mortal for himself.") + to_chat(usr, span_warning("The Geometer of blood wants this mortal for himself.")) return fizzle() @@ -346,20 +346,20 @@ var/list/sacrificed = list() if(!body_to_sacrifice) if (is_sacrifice_target) - to_chat(usr, "The Geometer of Blood wants that corpse for himself.") + to_chat(usr, span_warning("The Geometer of Blood wants that corpse for himself.")) else - to_chat(usr, "The sacrifical corpse is not dead. You must free it from this world of illusions before it may be used.") + to_chat(usr, span_warning("The sacrifical corpse is not dead. You must free it from this world of illusions before it may be used.")) return fizzle() - if(!cult.can_become_antag(corpse_to_raise.mind) || jobban_isbanned(corpse_to_raise, "cultist")) - to_chat(usr, "The Geometer of Blood refuses to touch this one.") + if(!cult.can_become_antag(corpse_to_raise.mind) || jobban_isbanned(corpse_to_raise, JOB_CULTIST)) + to_chat(usr, span_warning("The Geometer of Blood refuses to touch this one.")) return fizzle() else if(!corpse_to_raise.client && corpse_to_raise.mind) //Don't force the dead person to come back if they don't want to. for(var/mob/observer/dead/ghost in player_list) if(ghost.mind == corpse_to_raise.mind) - to_chat(ghost, span_interface("The cultist [usr.real_name] is trying to \ - revive you. Return to your body if you want to be resurrected into the service of Nar'Sie! \ - (Verbs -> Ghost -> Re-enter corpse)")) + to_chat(ghost, span_interface(span_large(span_bold("The cultist [usr.real_name] is trying to \ + revive you. Return to your body if you want to be resurrected into the service of Nar'Sie!") + "\ + (Verbs -> Ghost -> Re-enter corpse)"))) break sleep(10 SECONDS) @@ -373,16 +373,16 @@ var/list/sacrificed = list() corpse_to_raise.revive() usr.say("Pasnar val'keriam usinar. Savrae ines amutan. Yam'toth remium il'tarat!") - corpse_to_raise.visible_message("[corpse_to_raise]'s eyes glow with a faint red as [TU.he] stand[TU.s] up, slowly starting to breathe again.", \ - "Life... I'm alive again...", \ - "You hear a faint, slightly familiar whisper.") - body_to_sacrifice.visible_message("[body_to_sacrifice] is torn apart, a black smoke swiftly dissipating from [TT.his] remains!", \ - "You feel as your blood boils, tearing you apart.", \ - "You hear a thousand voices, all crying in pain.") + corpse_to_raise.visible_message(span_warning("[corpse_to_raise]'s eyes glow with a faint red as [TU.he] stand[TU.s] up, slowly starting to breathe again."), \ + span_warning("Life... I'm alive again..."), \ + span_warning("You hear a faint, slightly familiar whisper.")) + body_to_sacrifice.visible_message(span_danger("[body_to_sacrifice] is torn apart, a black smoke swiftly dissipating from [TT.his] remains!"), \ + span_danger("You feel as your blood boils, tearing you apart."), \ + span_danger("You hear a thousand voices, all crying in pain.")) body_to_sacrifice.gib() - to_chat(corpse_to_raise, "Your blood pulses. Your head throbs. The world goes red. All at once you are aware of a horrible, horrible truth. The veil of reality has been ripped away and in the festering wound left behind something sinister takes root.") - to_chat(corpse_to_raise, "Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve the Dark One above all else. Bring It back.") + to_chat(corpse_to_raise, span_cult("Your blood pulses. Your head throbs. The world goes red. All at once you are aware of a horrible, horrible truth. The veil of reality has been ripped away and in the festering wound left behind something sinister takes root.")) + to_chat(corpse_to_raise, span_cult("Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve the Dark One above all else. Bring It back.")) return @@ -402,14 +402,14 @@ var/list/sacrificed = list() if(istype(src,/obj/effect/rune)) usr.say("Kla[pick("'","`")]atu barada nikt'o!") for (var/mob/V in viewers(src)) - V.show_message("The rune turns into gray dust, veiling the surrounding runes.", 3) + V.show_message(span_warning("The rune turns into gray dust, veiling the surrounding runes."), 3) qdel(src) else usr.whisper("Kla[pick("'","`")]atu barada nikt'o!") - to_chat(usr, "Your talisman turns into gray dust, veiling the surrounding runes.") + to_chat(usr, span_warning("Your talisman turns into gray dust, veiling the surrounding runes.")) for (var/mob/V in orange(1,src)) if(V!=usr) - V.show_message("Dust emanates from [usr]'s hands for a moment.", 3) + V.show_message(span_warning("Dust emanates from [usr]'s hands for a moment."), 3) return if(istype(src,/obj/effect/rune)) @@ -425,9 +425,9 @@ var/list/sacrificed = list() var/mob/living/carbon/human/L = usr var/datum/gender/TU = gender_datums[L.get_visible_gender()] usr.say("Fwe[pick("'","`")]sh mah erl nyag r'ya!") - usr.visible_message("[usr]'s eyes glow blue as [TU.he] freeze[TU.s] in place, absolutely motionless.", \ - "The shadow that is your spirit separates itself from your body. You are now in the realm beyond. While this is a great sight, being here strains your mind and body. Hurry...", \ - "You hear only complete silence for a moment.") + usr.visible_message(span_warning("[usr]'s eyes glow blue as [TU.he] freeze[TU.s] in place, absolutely motionless."), \ + span_warning("The shadow that is your spirit separates itself from your body. You are now in the realm beyond. While this is a great sight, being here strains your mind and body. Hurry..."), \ + span_warning("You hear only complete silence for a moment.")) announce_ghost_joinleave(usr.ghostize(1), 1, "You feel that they had to use some [pick("dark", "black", "blood", "forgotten", "forbidden")] magic to [pick("invade","disturb","disrupt","infest","taint","spoil","blight")] this place!") L.ajourn = 1 while(L) @@ -459,17 +459,17 @@ var/list/sacrificed = list() break if(!ghost) return this_rune.fizzle() - if(jobban_isbanned(ghost, "cultist")) + if(jobban_isbanned(ghost, JOB_CULTIST)) return this_rune.fizzle() usr.say("Gal'h'rfikk harfrandid mud[pick("'","`")]gib!") var/mob/living/carbon/human/dummy/D = new(this_rune.loc) - usr.visible_message("A shape forms in the center of the rune. A shape of... a man.", \ - "A shape forms in the center of the rune. A shape of... a man.", \ - "You hear liquid flowing.") + usr.visible_message(span_warning("A shape forms in the center of the rune. A shape of... a man."), \ + span_warning("A shape forms in the center of the rune. A shape of... a man."), \ + span_warning("You hear liquid flowing.")) D.real_name = "Unknown" var/chose_name = 0 - for(var/obj/item/weapon/paper/P in this_rune.loc) + for(var/obj/item/paper/P in this_rune.loc) if(P.info) D.real_name = copytext(P.info, findtext(P.info,">")+1, findtext(P.info,"<",2) ) chose_name = 1 @@ -495,9 +495,9 @@ var/list/sacrificed = list() user.take_organ_damage(1, 0) sleep(30) if(D) - D.visible_message("[D] slowly dissipates into dust and bones.", \ - "You feel pain, as bonds formed between your soul and this homunculus break.", \ - "You hear faint rustle.") + D.visible_message(span_danger("[D] slowly dissipates into dust and bones."), \ + span_danger("You feel pain, as bonds formed between your soul and this homunculus break."), \ + span_warning("You hear faint rustle.")) D.dust() return @@ -508,9 +508,9 @@ var/list/sacrificed = list() /////////////////////////////////////////TWELFTH RUNE /obj/effect/rune/proc/talisman()//only hide, emp, teleport, deafen, blind and tome runes can be imbued atm - var/obj/item/weapon/paper/newtalisman + var/obj/item/paper/newtalisman var/unsuitable_newtalisman = 0 - for(var/obj/item/weapon/paper/P in src.loc) + for(var/obj/item/paper/P in src.loc) if(!P.info) newtalisman = P break @@ -518,11 +518,11 @@ var/list/sacrificed = list() unsuitable_newtalisman = 1 if (!newtalisman) if (unsuitable_newtalisman) - to_chat(usr, "The blank is tainted. It is unsuitable.") + to_chat(usr, span_warning("The blank is tainted. It is unsuitable.")) return fizzle() var/obj/effect/rune/imbued_from - var/obj/item/weapon/paper/talisman/T + var/obj/item/paper/talisman/T for(var/obj/effect/rune/R in orange(1,src)) if(R==src) continue @@ -579,7 +579,7 @@ var/list/sacrificed = list() break if (imbued_from) for (var/mob/V in viewers(src)) - V.show_message("The runes turn into dust, which then forms into an arcane image on the paper.", 3) + V.show_message(span_warning("The runes turn into dust, which then forms into an arcane image on the paper."), 3) usr.say("H'drak v[pick("'","`")]loso, mir'kanas verbot!") qdel(imbued_from) qdel(newtalisman) @@ -595,9 +595,9 @@ var/list/sacrificed = list() user.say("Uhrast ka'hfa heldsagen ver[pick("'","`")]lot!") user.take_overall_damage(200, 0) runedec+=10 - user.visible_message("\The [user] keels over dead, [TU.his] blood glowing blue as it escapes [TU.his] body and dissipates into thin air.", \ - "In the last moment of your humble life, you feel an immense pain as fabric of reality mends... with your blood.", \ - "You hear faint rustle.") + user.visible_message(span_danger("\The [user] keels over dead, [TU.his] blood glowing blue as it escapes [TU.his] body and dissipates into thin air."), \ + span_danger("In the last moment of your humble life, you feel an immense pain as fabric of reality mends... with your blood."), \ + span_warning("You hear faint rustle.")) for(,user.stat==2) sleep(600) if (!user) @@ -628,9 +628,9 @@ var/list/sacrificed = list() log_and_message_admins("used a communicate rune to say '[input]'") for(var/datum/mind/H in cult.current_antagonists) if (H.current) - to_chat(H.current, "[input]") + to_chat(H.current, span_cult("[input]")) for(var/mob/observer/dead/O in player_list) - to_chat(O, "[input]") + to_chat(O, span_cult("[input]")) qdel(src) return 1 @@ -647,10 +647,10 @@ var/list/sacrificed = list() if(istype(I,/obj/item/organ/internal/brain)) var/obj/item/organ/internal/brain/B = I victims += B.brainmob - else if(istype(I,/obj/item/device/mmi)) - var/obj/item/device/mmi/B = I + else if(istype(I,/obj/item/mmi)) + var/obj/item/mmi/B = I victims += B.brainmob - else if(istype(I,/obj/item/device/aicard)) + else if(istype(I,/obj/item/aicard)) for(var/mob/living/silicon/ai/A in I) victims += A for(var/mob/living/carbon/C in orange(1,src)) @@ -674,44 +674,44 @@ var/list/sacrificed = list() H.dust()//To prevent the MMI from remaining else H.gib() - to_chat(usr, "The Geometer of Blood accepts this sacrifice, your objective is now complete.") + to_chat(usr, span_cult("The Geometer of Blood accepts this sacrifice, your objective is now complete.")) else - to_chat(usr, "Your target's earthly bonds are too strong. You need more cultists to succeed in this ritual.") + to_chat(usr, span_warning("Your target's earthly bonds are too strong. You need more cultists to succeed in this ritual.")) else if(cultsinrange.len >= 3) if(H.stat !=2) if(prob(80) || worth) - to_chat(usr, "The Geometer of Blood accepts this [worth ? "exotic " : ""]sacrifice.") + to_chat(usr, span_cult("The Geometer of Blood accepts this [worth ? "exotic " : ""]sacrifice.")) cult.grant_runeword(usr) else - to_chat(usr, "The Geometer of Blood accepts this sacrifice.") - to_chat(usr, "However, this soul was not enough to gain His favor.") + to_chat(usr, span_cult("The Geometer of Blood accepts this sacrifice.")) + to_chat(usr, span_warning("However, this soul was not enough to gain His favor.")) if(isrobot(H)) H.dust()//To prevent the MMI from remaining else H.gib() else if(prob(40) || worth) - to_chat(usr, "The Geometer of Blood accepts this [worth ? "exotic " : ""]sacrifice.") + to_chat(usr, span_cult("The Geometer of Blood accepts this [worth ? "exotic " : ""]sacrifice.")) cult.grant_runeword(usr) else - to_chat(usr, "The Geometer of Blood accepts this sacrifice.") - to_chat(usr, "However, a mere dead body is not enough to satisfy Him.") + to_chat(usr, span_cult("The Geometer of Blood accepts this sacrifice.")) + to_chat(usr, span_warning("However, a mere dead body is not enough to satisfy Him.")) if(isrobot(H)) H.dust()//To prevent the MMI from remaining else H.gib() else if(H.stat !=2) - to_chat(usr, "The victim is still alive, you will need more cultists chanting for the sacrifice to succeed.") + to_chat(usr, span_warning("The victim is still alive, you will need more cultists chanting for the sacrifice to succeed.")) else if(prob(40)) - to_chat(usr, "The Geometer of Blood accepts this sacrifice.") + to_chat(usr, span_cult("The Geometer of Blood accepts this sacrifice.")) cult.grant_runeword(usr) else - to_chat(usr, "The Geometer of Blood accepts this sacrifice.") - to_chat(usr, "However, a mere dead body is not enough to satisfy Him.") + to_chat(usr, span_cult("The Geometer of Blood accepts this sacrifice.")) + to_chat(usr, span_warning("However, a mere dead body is not enough to satisfy Him.")) if(isrobot(H)) H.dust()//To prevent the MMI from remaining else @@ -720,36 +720,36 @@ var/list/sacrificed = list() if(cultsinrange.len >= 3) if(H.stat !=2) if(prob(80)) - to_chat(usr, "The Geometer of Blood accepts this sacrifice.") + to_chat(usr, span_cult("The Geometer of Blood accepts this sacrifice.")) cult.grant_runeword(usr) else - to_chat(usr, "The Geometer of Blood accepts this sacrifice.") - to_chat(usr, "However, this soul was not enough to gain His favor.") + to_chat(usr, span_cult("The Geometer of Blood accepts this sacrifice.")) + to_chat(usr, span_warning("However, this soul was not enough to gain His favor.")) if(isrobot(H)) H.dust()//To prevent the MMI from remaining else H.gib() else if(prob(40)) - to_chat(usr, "The Geometer of Blood accepts this sacrifice.") + to_chat(usr, span_cult("The Geometer of Blood accepts this sacrifice.")) cult.grant_runeword(usr) else - to_chat(usr, "The Geometer of Blood accepts this sacrifice.") - to_chat(usr, "However, a mere dead body is not enough to satisfy Him.") + to_chat(usr, span_cult("The Geometer of Blood accepts this sacrifice.")) + to_chat(usr, span_warning("However, a mere dead body is not enough to satisfy Him.")) if(isrobot(H)) H.dust()//To prevent the MMI from remaining else H.gib() else if(H.stat !=2) - to_chat(usr, "The victim is still alive, you will need more cultists chanting for the sacrifice to succeed.") + to_chat(usr, span_warning("The victim is still alive, you will need more cultists chanting for the sacrifice to succeed.")) else if(prob(40)) - to_chat(usr, "The Geometer of Blood accepts this sacrifice.") + to_chat(usr, span_cult("The Geometer of Blood accepts this sacrifice.")) cult.grant_runeword(usr) else - to_chat(usr, "The Geometer of Blood accepts this sacrifice.") - to_chat(usr, "However, a mere dead body is not enough to satisfy Him.") + to_chat(usr, span_cult("The Geometer of Blood accepts this sacrifice.")) + to_chat(usr, span_warning("However, a mere dead body is not enough to satisfy Him.")) if(isrobot(H)) H.dust()//To prevent the MMI from remaining else @@ -764,10 +764,10 @@ var/list/sacrificed = list() if(istype(W,/obj/effect/rune)) rad = 6 go = 1 - if (istype(W,/obj/item/weapon/paper/talisman)) + if (istype(W,/obj/item/paper/talisman)) rad = 4 go = 1 - if (istype(W,/obj/item/weapon/nullrod)) + if (istype(W,/obj/item/nullrod)) rad = 1 go = 1 if(go) @@ -776,26 +776,26 @@ var/list/sacrificed = list() R:visibility=15 S=1 if(S) - if(istype(W,/obj/item/weapon/nullrod)) - to_chat(usr, "Arcane markings suddenly glow from underneath a thin layer of dust!") + if(istype(W,/obj/item/nullrod)) + to_chat(usr, span_warning("Arcane markings suddenly glow from underneath a thin layer of dust!")) return if(istype(W,/obj/effect/rune)) usr.say("Nikt[pick("'","`")]o barada kla'atu!") for (var/mob/V in viewers(src)) - V.show_message("The rune turns into red dust, reveaing the surrounding runes.", 3) + V.show_message(span_warning("The rune turns into red dust, reveaing the surrounding runes."), 3) qdel(src) return - if(istype(W,/obj/item/weapon/paper/talisman)) + if(istype(W,/obj/item/paper/talisman)) usr.whisper("Nikt[pick("'","`")]o barada kla'atu!") - to_chat(usr, "Your talisman turns into red dust, revealing the surrounding runes.") + to_chat(usr, span_warning("Your talisman turns into red dust, revealing the surrounding runes.")) for (var/mob/V in orange(1,usr.loc)) if(V!=usr) - V.show_message("Red dust emanates from [usr]'s hands for a moment.", 3) + V.show_message(span_warning("Red dust emanates from [usr]'s hands for a moment."), 3) return return if(istype(W,/obj/effect/rune)) return fizzle() - if(istype(W,/obj/item/weapon/paper/talisman)) + if(istype(W,/obj/item/paper/talisman)) call(/obj/effect/rune/proc/fizzle)() return @@ -807,9 +807,9 @@ var/list/sacrificed = list() var/mob/living/user = usr user.take_organ_damage(2, 0) if(src.density) - to_chat(usr, "Your blood flows into the rune, and you feel that the very space over the rune thickens.") + to_chat(usr, span_danger("Your blood flows into the rune, and you feel that the very space over the rune thickens.")) else - to_chat(usr, "Your blood flows into the rune, and you feel as the rune releases its grasp on space.") + to_chat(usr, span_danger("Your blood flows into the rune, and you feel as the rune releases its grasp on space.")) return /////////////////////////////////////////EIGHTTEENTH RUNE @@ -838,7 +838,7 @@ var/list/sacrificed = list() (istype(cultist.loc, /obj/structure/closet/secure_closet)&&cultist.loc:locked) || \ (istype(cultist.loc, /obj/machinery/dna_scannernew)&&cultist.loc:locked) \ )) - to_chat(user, "The [cultist] is already free.") + to_chat(user, span_warning("The [cultist] is already free.")) return cultist.buckled = null if (cultist.handcuffed) @@ -879,7 +879,7 @@ var/list/sacrificed = list() return if(cultist.buckled || cultist.handcuffed || (!isturf(cultist.loc) && !istype(cultist.loc, /obj/structure/closet))) var/datum/gender/TU = gender_datums[cultist.get_visible_gender()] - to_chat(user, "You cannot summon \the [cultist], for [TU.his] shackles of blood are strong.") + to_chat(user, span_warning("You cannot summon \the [cultist], for [TU.his] shackles of blood are strong.")) return fizzle() cultist.loc = src.loc cultist.lying = 1 @@ -894,9 +894,9 @@ var/list/sacrificed = list() if(users.len <= 4) // You did the minimum, this is going to hurt more and we're going to stun you. C.apply_effect(rand(3,6), STUN) C.apply_effect(1, WEAKEN) - user.visible_message("Rune disappears with a flash of red light, and in its place now a body lies.", \ - "You are blinded by the flash of red light! After you're able to see again, you see that now instead of the rune there's a body.", \ - "You hear a pop and smell ozone.") + user.visible_message(span_warning("Rune disappears with a flash of red light, and in its place now a body lies."), \ + span_warning("You are blinded by the flash of red light! After you're able to see again, you see that now instead of the rune there's a body."), \ + span_warning("You hear a pop and smell ozone.")) qdel(src) return fizzle() @@ -908,17 +908,17 @@ var/list/sacrificed = list() for(var/mob/living/carbon/C in range(7,src)) if (iscultist(C)) continue - var/obj/item/weapon/nullrod/N = locate() in C + var/obj/item/nullrod/N = locate() in C if(N) continue C.ear_deaf += 50 - C.show_message("The world around you suddenly becomes quiet.", 3) + C.show_message(span_warning("The world around you suddenly becomes quiet."), 3) affected += C if(prob(1)) C.sdisabilities |= DEAF if(affected.len) usr.say("Sti[pick("'","`")] kaliedir!") - to_chat(usr, "The world becomes quiet as the deafening rune dissipates into fine dust.") + to_chat(usr, span_warning("The world becomes quiet as the deafening rune dissipates into fine dust.")) add_attack_logs(usr,affected,"Deafen rune") qdel(src) else @@ -928,20 +928,20 @@ var/list/sacrificed = list() for(var/mob/living/carbon/C in range(7,usr)) if (iscultist(C)) continue - var/obj/item/weapon/nullrod/N = locate() in C + var/obj/item/nullrod/N = locate() in C if(N) continue C.ear_deaf += 30 //talismans is weaker. - C.show_message("The world around you suddenly becomes quiet.", 3) + C.show_message(span_warning("The world around you suddenly becomes quiet."), 3) affected += C if(affected.len) usr.whisper("Sti[pick("'","`")] kaliedir!") - to_chat(usr, "Your talisman turns into gray dust, deafening everyone around.") + to_chat(usr, span_warning("Your talisman turns into gray dust, deafening everyone around.")) add_attack_logs(usr, affected, "Deafen rune") for (var/mob/V in orange(1,src)) if(!(iscultist(V))) - V.show_message("Dust flows from [usr]'s hands for a moment, and the world suddenly becomes quiet..", 3) + V.show_message(span_warning("Dust flows from [usr]'s hands for a moment, and the world suddenly becomes quiet.."), 3) return /obj/effect/rune/proc/blind() @@ -950,7 +950,7 @@ var/list/sacrificed = list() for(var/mob/living/carbon/C in viewers(src)) if (iscultist(C)) continue - var/obj/item/weapon/nullrod/N = locate() in C + var/obj/item/nullrod/N = locate() in C if(N) continue C.eye_blurry += 50 @@ -959,11 +959,11 @@ var/list/sacrificed = list() C.disabilities |= NEARSIGHTED if(prob(10)) C.sdisabilities |= BLIND - C.show_message("Suddenly you see a red flash that blinds you.", 3) + C.show_message(span_warning("Suddenly you see a red flash that blinds you."), 3) affected += C if(affected.len) usr.say("Sti[pick("'","`")] kaliesin!") - to_chat(usr, "The rune flashes, blinding those who not follow the Nar-Sie, and dissipates into fine dust.") + to_chat(usr, span_warning("The rune flashes, blinding those who not follow the Nar-Sie, and dissipates into fine dust.")) add_attack_logs(usr, affected, "Blindness rune") qdel(src) else @@ -973,17 +973,17 @@ var/list/sacrificed = list() for(var/mob/living/carbon/C in view(2,usr)) if (iscultist(C)) continue - var/obj/item/weapon/nullrod/N = locate() in C + var/obj/item/nullrod/N = locate() in C if(N) continue C.eye_blurry += 30 C.Blind(10) //talismans is weaker. affected += C - C.show_message("You feel a sharp pain in your eyes, and the world disappears into darkness..", 3) + C.show_message(span_warning("You feel a sharp pain in your eyes, and the world disappears into darkness.."), 3) if(affected.len) usr.whisper("Sti[pick("'","`")] kaliesin!") - to_chat(usr, "Your talisman turns into gray dust, blinding those who not follow the Nar-Sie.") + to_chat(usr, span_warning("Your talisman turns into gray dust, blinding those who not follow the Nar-Sie.")) add_attack_logs(usr, affected, "Blindness rune") return @@ -1005,11 +1005,11 @@ var/list/sacrificed = list() for(var/mob/living/carbon/M in viewers(usr)) if(iscultist(M)) continue - var/obj/item/weapon/nullrod/N = locate() in M + var/obj/item/nullrod/N = locate() in M if(N) continue M.take_overall_damage(51,51) - to_chat(M, "Your blood boils!") + to_chat(M, span_danger("Your blood boils!")) victims += M if(prob(5)) spawn(5) @@ -1040,16 +1040,16 @@ var/list/sacrificed = list() for(var/mob/living/M in orange(2,R)) M.take_overall_damage(0,15) if (R.invisibility>M.see_invisible) - to_chat(M, "Aargh it burns!") + to_chat(M, span_danger("Aargh it burns!")) else - to_chat(M, "Rune suddenly ignites, burning you!") + to_chat(M, span_danger("Rune suddenly ignites, burning you!")) var/turf/T = get_turf(R) T.hotspot_expose(700,125) for(var/obj/effect/decal/cleanable/blood/B in world) if(B.blood_DNA == src.blood_DNA) for(var/mob/living/M in orange(1,B)) M.take_overall_damage(0,5) - to_chat(M, "Blood suddenly ignites, burning you!") + to_chat(M, span_danger("Blood suddenly ignites, burning you!")) var/turf/T = get_turf(B) T.hotspot_expose(700,125) qdel(B) @@ -1068,24 +1068,24 @@ var/list/sacrificed = list() C.stuttering = 1 C.Weaken(1) C.Stun(1) - C.show_message("The rune explodes in a bright flash.", 3) + C.show_message(span_danger("The rune explodes in a bright flash."), 3) add_attack_logs(usr,C,"Stun rune") else if(issilicon(L)) var/mob/living/silicon/S = L S.Weaken(5) - S.show_message("BZZZT... The rune has exploded in a bright flash.", 3) + S.show_message(span_danger("BZZZT... The rune has exploded in a bright flash."), 3) add_attack_logs(usr,S,"Stun rune") qdel(src) else ///When invoked as talisman, stun and mute the target mob. usr.say("Dream sign ''Evil sealing talisman'[pick("'","`")]!") - var/obj/item/weapon/nullrod/N = locate() in T + var/obj/item/nullrod/N = locate() in T if(N) for(var/mob/O in viewers(T, null)) - O.show_message(text("[] invokes a talisman at [], but they are unaffected!", usr, T), 1) + O.show_message(span_boldwarning("[usr] invokes a talisman at [T], but they are unaffected!"), 1) else for(var/mob/O in viewers(T, null)) - O.show_message(text("[] invokes a talisman at []", usr, T), 1) + O.show_message(span_boldwarning("[usr] invokes a talisman at [T]"), 1) if(issilicon(T)) T.Weaken(15) @@ -1108,16 +1108,16 @@ var/list/sacrificed = list() usr.say("N'ath reth sh'yro eth d[pick("'","`")]raggathnor!") else usr.whisper("N'ath reth sh'yro eth d[pick("'","`")]raggathnor!") - usr.visible_message("The rune disappears with a flash of red light, and a set of armor appears on [usr]...", \ - "You are blinded by the flash of red light! After you're able to see again, you see that you are now wearing a set of armor.") + usr.visible_message(span_warning("The rune disappears with a flash of red light, and a set of armor appears on [usr]..."), \ + span_warning("You are blinded by the flash of red light! After you're able to see again, you see that you are now wearing a set of armor.")) user.equip_to_slot_or_del(new /obj/item/clothing/head/culthood/alt(user), slot_head) user.equip_to_slot_or_del(new /obj/item/clothing/suit/cultrobes/alt(user), slot_wear_suit) user.equip_to_slot_or_del(new /obj/item/clothing/shoes/cult(user), slot_shoes) - user.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/cultpack(user), slot_back) + user.equip_to_slot_or_del(new /obj/item/storage/backpack/cultpack(user), slot_back) //the above update their overlay icons cache but do not call update_icons() //the below calls update_icons() at the end, which will update overlay icons by using the (now updated) cache - user.put_in_hands(new /obj/item/weapon/melee/cultblade(user)) //put in hands or on floor + user.put_in_hands(new /obj/item/melee/cultblade(user)) //put in hands or on floor qdel(src) return diff --git a/code/game/gamemodes/cult/soulstone.dm b/code/game/gamemodes/cult/soulstone.dm index 3fbeb13a7f2..59c9c62e823 100644 --- a/code/game/gamemodes/cult/soulstone.dm +++ b/code/game/gamemodes/cult/soulstone.dm @@ -2,7 +2,7 @@ // Soulstone ///////////////////////// -/obj/item/device/soulstone +/obj/item/soulstone name = "Soul Stone Shard" icon = 'icons/obj/wizard.dmi' icon_state = "soulstone" @@ -14,22 +14,22 @@ var/imprinted = "empty" var/possible_constructs = list("Juggernaut","Wraith","Artificer","Harvester") -/obj/item/device/soulstone/cultify() +/obj/item/soulstone/cultify() return //////////////////////////////Capturing//////////////////////////////////////////////////////// -/obj/item/device/soulstone/attack(mob/living/carbon/human/M as mob, mob/user as mob) +/obj/item/soulstone/attack(mob/living/carbon/human/M as mob, mob/user as mob) if(!istype(M, /mob/living/carbon/human))//If target is not a human. return ..() if(istype(M, /mob/living/carbon/human/dummy)) return..() - if(jobban_isbanned(M, "cultist")) - to_chat(user, "This person's soul is too corrupt and cannot be captured!") + if(jobban_isbanned(M, JOB_CULTIST)) + to_chat(user, span_warning("This person's soul is too corrupt and cannot be captured!")) return..() if(M.has_brain_worms()) //Borer stuff - RR - to_chat(user, "This being is corrupted by an alien intelligence and cannot be soul trapped.") + to_chat(user, span_warning("This being is corrupted by an alien intelligence and cannot be soul trapped.")) return..() add_attack_logs(user,M,"Soulstone'd with [src.name]") @@ -39,7 +39,7 @@ ///////////////////Options for using captured souls/////////////////////////////////////// -/obj/item/device/soulstone/attack_self(mob/user) +/obj/item/soulstone/attack_self(mob/user) if (!in_range(src, user)) return user.set_machine(src) @@ -56,7 +56,7 @@ -/obj/item/device/soulstone/Topic(href, href_list) +/obj/item/soulstone/Topic(href, href_list) var/mob/U = usr if (!in_range(src, U)||U.machine!=src) U << browse(null, "window=aicard") @@ -76,7 +76,7 @@ for(var/mob/living/simple_mob/construct/shade/A in src) A.status_flags &= ~GODMODE A.canmove = 1 - to_chat(A, "You have been released from your prison, but you are still bound to [U.name]'s will. Help them suceed in their goals at all costs.") + to_chat(A, span_infoplain(span_bold("You have been released from your prison, but you are still bound to [U.name]'s will. Help them suceed in their goals at all costs."))) A.forceMove(U.loc) A.cancel_camera() src.icon_state = "soulstone" @@ -97,26 +97,26 @@ desc = "This eerie contraption looks like it would come alive if supplied with a missing ingredient." /obj/structure/constructshell/attackby(obj/item/O as obj, mob/user as mob) - if(istype(O, /obj/item/device/soulstone)) - var/obj/item/device/soulstone/S = O; + if(istype(O, /obj/item/soulstone)) + var/obj/item/soulstone/S = O; S.transfer_soul("CONSTRUCT",src,user) ////////////////////////////Proc for moving soul in and out off stone////////////////////////////////////// -/obj/item/device/soulstone/proc/transfer_human(var/mob/living/carbon/human/T,var/mob/U) +/obj/item/soulstone/proc/transfer_human(var/mob/living/carbon/human/T,var/mob/U) if(!istype(T)) return; if(src.imprinted != "empty") - to_chat(U, "Capture failed!: The soul stone has already been imprinted with [src.imprinted]'s mind!") + to_chat(U, span_danger("Capture failed!") + ": The soul stone has already been imprinted with [src.imprinted]'s mind!") return - if ((T.health + T.halloss) > config.health_threshold_crit && T.stat != DEAD) - to_chat(U, "Capture failed!: Kill or maim the victim first!") + if ((T.health + T.halloss) > CONFIG_GET(number/health_threshold_crit) && T.stat != DEAD) + to_chat(U, span_danger("Capture failed!") + ": Kill or maim the victim first!") return if(T.client == null) - to_chat(U, "Capture failed!: The soul has already fled it's mortal frame.") + to_chat(U, span_danger("Capture failed!") + ": The soul has already fled it's mortal frame.") return if(src.contents.len) - to_chat(U, "Capture failed!: The soul stone is full! Use or free an existing soul to make room.") + to_chat(U, span_danger("Capture failed!") + ": The soul stone is full! Use or free an existing soul to make room.") return for(var/obj/item/W in T) @@ -151,22 +151,22 @@ src.icon_state = "soulstone2" src.name = "Soul Stone: [S.real_name]" to_chat(S, "Your soul has been captured! You are now bound to [U.name]'s will, help them suceed in their goals at all costs.") - to_chat(U, "Capture successful! : [T.real_name]'s soul has been ripped from their body and stored within the soul stone.") + to_chat(U, span_notice("Capture successful!") + ": [T.real_name]'s soul has been ripped from their body and stored within the soul stone.") to_chat(U, "The soulstone has been imprinted with [S.real_name]'s mind, it will no longer react to other souls.") src.imprinted = "[S.name]" qdel(T) -/obj/item/device/soulstone/proc/transfer_shade(var/mob/living/simple_mob/construct/shade/T,var/mob/U) +/obj/item/soulstone/proc/transfer_shade(var/mob/living/simple_mob/construct/shade/T,var/mob/U) if(!istype(T)) return; if (T.stat == DEAD) - to_chat(U, "Capture failed!: The shade has already been banished!") + to_chat(U, span_danger("Capture failed!") + ": The shade has already been banished!") return if(src.contents.len) - to_chat(U, "Capture failed!: The soul stone is full! Use or free an existing soul to make room.") + to_chat(U, span_danger("Capture failed!") + ": The soul stone is full! Use or free an existing soul to make room.") return if(T.name != src.imprinted) - to_chat(U, "Capture failed!: The soul stone has already been imprinted with [src.imprinted]'s mind!") + to_chat(U, span_danger("Capture failed!") + ": The soul stone has already been imprinted with [src.imprinted]'s mind!") return T.forceMove(src) //put shade in stone @@ -176,12 +176,12 @@ src.icon_state = "soulstone2" to_chat(T, "Your soul has been recaptured by the soul stone, its arcane energies are reknitting your ethereal form") - to_chat(U, "Capture successful! : [T.name]'s has been recaptured and stored within the soul stone.") + to_chat(U, span_notice("Capture successful!") + ": [T.name]'s has been recaptured and stored within the soul stone.") -/obj/item/device/soulstone/proc/transfer_construct(var/obj/structure/constructshell/T,var/mob/U) +/obj/item/soulstone/proc/transfer_construct(var/obj/structure/constructshell/T,var/mob/U) var/mob/living/simple_mob/construct/shade/A = locate() in src if(!A) - to_chat(U, "Capture failed!: The soul stone is empty! Go kill someone!") + to_chat(U, span_danger("Capture failed!") + ": The soul stone is empty! Go kill someone!") return; var/construct_class = tgui_input_list(U, "Please choose which type of construct you wish to create.", "Construct Type", possible_constructs) switch(construct_class) @@ -191,8 +191,8 @@ if(iscultist(U)) cult.add_antagonist(Z.mind) qdel(T) - to_chat(Z, "You are playing a Juggernaut. Though slow, you can withstand extreme punishment, and rip apart enemies and walls alike.") - to_chat(Z, "You are still bound to serve your creator, follow their orders and help them complete their goals at all costs.") + to_chat(Z, span_infoplain(span_bold("You are playing a Juggernaut. Though slow, you can withstand extreme punishment, and rip apart enemies and walls alike."))) + to_chat(Z, span_infoplain(span_bold("You are still bound to serve your creator, follow their orders and help them complete their goals at all costs."))) Z.cancel_camera() qdel(src) if("Wraith") @@ -201,8 +201,8 @@ if(iscultist(U)) cult.add_antagonist(Z.mind) qdel(T) - to_chat(Z, "You are playing a Wraith. Though relatively fragile, you are fast, deadly, and even able to phase through walls.") - to_chat(Z, "You are still bound to serve your creator, follow their orders and help them complete their goals at all costs.") + to_chat(Z, span_infoplain(span_bold("You are playing a Wraith. Though relatively fragile, you are fast, deadly, and even able to phase through walls."))) + to_chat(Z, span_infoplain(span_bold("You are still bound to serve your creator, follow their orders and help them complete their goals at all costs."))) Z.cancel_camera() qdel(src) if("Artificer") @@ -211,8 +211,8 @@ if(iscultist(U)) cult.add_antagonist(Z.mind) qdel(T) - to_chat(Z, "You are playing an Artificer. You are incredibly weak and fragile, but you are able to construct fortifications, repair allied constructs (by clicking on them), and even create new constructs") - to_chat(Z, "You are still bound to serve your creator, follow their orders and help them complete their goals at all costs.") + to_chat(Z, span_infoplain(span_bold("You are playing an Artificer. You are incredibly weak and fragile, but you are able to construct fortifications, repair allied constructs (by clicking on them), and even create new constructs"))) + to_chat(Z, span_infoplain(span_bold("You are still bound to serve your creator, follow their orders and help them complete their goals at all costs."))) Z.cancel_camera() qdel(src) if("Harvester") @@ -221,8 +221,8 @@ if(iscultist(U)) cult.add_antagonist(Z.mind) qdel(T) - to_chat(Z, "You are playing a Harvester. You are relatively weak, but your physical frailty is made up for by your ranged abilities.") - to_chat(Z, "You are still bound to serve your creator, follow their orders and help them complete their goals at all costs.") + to_chat(Z, span_infoplain(span_bold("You are playing a Harvester. You are relatively weak, but your physical frailty is made up for by your ranged abilities."))) + to_chat(Z, span_infoplain(span_bold("You are still bound to serve your creator, follow their orders and help them complete their goals at all costs."))) Z.cancel_camera() qdel(src) if("Behemoth") @@ -231,12 +231,12 @@ if(iscultist(U)) cult.add_antagonist(Z.mind) qdel(T) - to_chat(Z, "You are playing a Behemoth. You are incredibly slow, though your slowness is made up for by the fact your shell is far larger than any of your bretheren. You are the Unstoppable Force, and Immovable Object.") - to_chat(Z, "You are still bound to serve your creator, follow their orders and help them complete their goals at all costs.") + to_chat(Z, span_infoplain(span_bold("You are playing a Behemoth. You are incredibly slow, though your slowness is made up for by the fact your shell is far larger than any of your bretheren. You are the Unstoppable Force, and Immovable Object."))) + to_chat(Z, span_infoplain(span_bold("You are still bound to serve your creator, follow their orders and help them complete their goals at all costs."))) Z.cancel_camera() qdel(src) -/obj/item/device/soulstone/proc/transfer_soul(var/choice as text, var/target, var/mob/U as mob) +/obj/item/soulstone/proc/transfer_soul(var/choice as text, var/target, var/mob/U as mob) switch(choice) if("VICTIM") transfer_human(target,U) diff --git a/code/game/gamemodes/cult/talisman.dm b/code/game/gamemodes/cult/talisman.dm index 24a64ef1af7..9b5c9968a62 100644 --- a/code/game/gamemodes/cult/talisman.dm +++ b/code/game/gamemodes/cult/talisman.dm @@ -1,10 +1,10 @@ -/obj/item/weapon/paper/talisman +/obj/item/paper/talisman icon_state = "paper_talisman" var/imbue = null var/uses = 0 info = "


" -/obj/item/weapon/paper/talisman/attack_self(mob/living/user as mob) +/obj/item/paper/talisman/attack_self(mob/living/user as mob) if(iscultist(user)) var/delete = 1 // who the hell thought this was a good idea :( @@ -14,7 +14,7 @@ if("armor") call(/obj/effect/rune/proc/armor)() if("emp") - call(/obj/effect/rune/proc/emp)(usr.loc,3) + call(/obj/effect/rune/proc/emp)(user.loc,3) if("conceal") call(/obj/effect/rune/proc/obscure)(2) if("revealrunes") @@ -29,7 +29,7 @@ if("blind") call(/obj/effect/rune/proc/blind)() if("runestun") - to_chat(user, "To use this talisman, attack your target directly.") + to_chat(user, span_warning("To use this talisman, attack your target directly.")) return if("supply") supply() @@ -43,7 +43,7 @@ return -/obj/item/weapon/paper/talisman/attack(mob/living/carbon/T as mob, mob/living/user as mob) +/obj/item/paper/talisman/attack(mob/living/carbon/T as mob, mob/living/user as mob) if(iscultist(user)) if(imbue == "runestun") user.take_organ_damage(5, 0) @@ -55,12 +55,12 @@ ..() -/obj/item/weapon/paper/talisman/proc/supply(var/key) +/obj/item/paper/talisman/proc/supply(var/key) if (!src.uses) qdel(src) return - var/dat = "There are [src.uses] bloody runes on the parchment.
" + var/dat = span_bold("There are [src.uses] bloody runes on the parchment.") + "
" dat += "Please choose the chant to be imbued into the fabric of reality.
" dat += "
" dat += "N'ath reth sh'yro eth d'raggathnor! - Allows you to summon a new arcane tome.
" @@ -76,36 +76,36 @@ return -/obj/item/weapon/paper/talisman/Topic(href, href_list) +/obj/item/paper/talisman/Topic(href, href_list) if(!src) return if (usr.stat || usr.restrained() || !in_range(src, usr)) return if (href_list["rune"]) switch(href_list["rune"]) if("newtome") - var/obj/item/weapon/paper/talisman/T = new /obj/item/weapon/paper/talisman(get_turf(usr)) + var/obj/item/paper/talisman/T = new /obj/item/paper/talisman(get_turf(usr)) T.imbue = "newtome" if("teleport") - var/obj/item/weapon/paper/talisman/T = new /obj/item/weapon/paper/talisman(get_turf(usr)) + var/obj/item/paper/talisman/T = new /obj/item/paper/talisman(get_turf(usr)) T.imbue = "[pick("ire", "ego", "nahlizet", "certum", "veri", "jatkaa", "balaq", "mgar", "karazet", "geeri", "orkan", "allaq")]" T.info = "[T.imbue]" if("emp") - var/obj/item/weapon/paper/talisman/T = new /obj/item/weapon/paper/talisman(get_turf(usr)) + var/obj/item/paper/talisman/T = new /obj/item/paper/talisman(get_turf(usr)) T.imbue = "emp" if("conceal") - var/obj/item/weapon/paper/talisman/T = new /obj/item/weapon/paper/talisman(get_turf(usr)) + var/obj/item/paper/talisman/T = new /obj/item/paper/talisman(get_turf(usr)) T.imbue = "conceal" if("communicate") - var/obj/item/weapon/paper/talisman/T = new /obj/item/weapon/paper/talisman(get_turf(usr)) + var/obj/item/paper/talisman/T = new /obj/item/paper/talisman(get_turf(usr)) T.imbue = "communicate" if("runestun") - var/obj/item/weapon/paper/talisman/T = new /obj/item/weapon/paper/talisman(get_turf(usr)) + var/obj/item/paper/talisman/T = new /obj/item/paper/talisman(get_turf(usr)) T.imbue = "runestun" if("armor") - var/obj/item/weapon/paper/talisman/T = new /obj/item/weapon/paper/talisman(get_turf(usr)) + var/obj/item/paper/talisman/T = new /obj/item/paper/talisman(get_turf(usr)) T.imbue = "armor" if("soulstone") - new /obj/item/device/soulstone(get_turf(usr)) + new /obj/item/soulstone(get_turf(usr)) if("construct") new /obj/structure/constructshell/cult(get_turf(usr)) src.uses-- @@ -113,6 +113,6 @@ return -/obj/item/weapon/paper/talisman/supply +/obj/item/paper/talisman/supply imbue = "supply" uses = 5 diff --git a/code/game/gamemodes/endgame/supermatter_cascade/blob.dm b/code/game/gamemodes/endgame/supermatter_cascade/blob.dm index 000cc542247..e2bc9d7a4b9 100644 --- a/code/game/gamemodes/endgame/supermatter_cascade/blob.dm +++ b/code/game/gamemodes/endgame/supermatter_cascade/blob.dm @@ -67,7 +67,7 @@ if(Adjacent(user)) return attack_hand(user) else - to_chat(user, "What the fuck are you doing?") + to_chat(user, span_warning("What the fuck are you doing?")) return // /vg/: Don't let ghosts fuck with this. @@ -78,18 +78,18 @@ return user.examinate(src) /turf/unsimulated/wall/supermatter/attack_hand(mob/user as mob) - user.visible_message("\The [user] reaches out and touches \the [src]... And then blinks out of existance.",\ - "You reach out and touch \the [src]. Everything immediately goes quiet. Your last thought is \"That was not a wise decision.\"",\ - "You hear an unearthly noise.") + user.visible_message(span_warning("\The [user] reaches out and touches \the [src]... And then blinks out of existance."),\ + span_danger("You reach out and touch \the [src]. Everything immediately goes quiet. Your last thought is \"That was not a wise decision.\""),\ + span_warning("You hear an unearthly noise.")) playsound(src, 'sound/effects/supermatter.ogg', 50, 1) Consume(user) -/turf/unsimulated/wall/supermatter/attackby(obj/item/weapon/W as obj, mob/living/user as mob) - user.visible_message("\The [user] touches \a [W] to \the [src] as a silence fills the room...",\ - "You touch \the [W] to \the [src] when everything suddenly goes silent.\"\n\The [W] flashes into dust as you flinch away from \the [src].",\ - "Everything suddenly goes silent.") +/turf/unsimulated/wall/supermatter/attackby(obj/item/W as obj, mob/living/user as mob) + user.visible_message(span_warning("\The [user] touches \a [W] to \the [src] as a silence fills the room..."),\ + span_danger("You touch \the [W] to \the [src] when everything suddenly goes silent.\"") + "\n" + span_notice("\The [W] flashes into dust as you flinch away from \the [src]."),\ + span_warning("Everything suddenly goes silent.")) playsound(src, 'sound/effects/supermatter.ogg', 50, 1) @@ -101,12 +101,12 @@ if(istype(AM, /mob/living)) var/mob/living/M = AM var/datum/gender/T = gender_datums[M.get_visible_gender()] - AM.visible_message("\The [AM] slams into \the [src] inducing a resonance... [T.his] body starts to glow and catch flame before flashing into ash.",\ - "You slam into \the [src] as your ears are filled with unearthly ringing. Your last thought is \"Oh, fuck.\"",\ - "You hear an unearthly noise as a wave of heat washes over you.") + AM.visible_message(span_warning("\The [AM] slams into \the [src] inducing a resonance... [T.his] body starts to glow and catch flame before flashing into ash."),\ + span_danger("You slam into \the [src] as your ears are filled with unearthly ringing. Your last thought is \"Oh, fuck.\""),\ + span_warning("You hear an unearthly noise as a wave of heat washes over you.")) else - AM.visible_message("\The [AM] smacks into \the [src] and rapidly flashes to ash.",\ - "You hear a loud crack as you are washed with a wave of heat.") + AM.visible_message(span_warning("\The [AM] smacks into \the [src] and rapidly flashes to ash."),\ + span_warning("You hear a loud crack as you are washed with a wave of heat.")) playsound(src, 'sound/effects/supermatter.ogg', 50, 1) diff --git a/code/game/gamemodes/endgame/supermatter_cascade/universe.dm b/code/game/gamemodes/endgame/supermatter_cascade/universe.dm index a217dde847b..6df1dad8642 100644 --- a/code/game/gamemodes/endgame/supermatter_cascade/universe.dm +++ b/code/game/gamemodes/endgame/supermatter_cascade/universe.dm @@ -9,7 +9,7 @@ var/global/universe_has_ended = 0 /datum/universal_state/supermatter_cascade/OnShuttleCall(var/mob/user) if(user) - to_chat(user, "All you hear on the frequency is static and panicked screaming. There will be no shuttle call today.") + to_chat(user, span_sinister("All you hear on the frequency is static and panicked screaming. There will be no shuttle call today.")) return 0 /datum/universal_state/supermatter_cascade/OnTurfChange(var/turf/T) @@ -37,7 +37,7 @@ var/global/universe_has_ended = 0 // Apply changes when entering state /datum/universal_state/supermatter_cascade/OnEnter() set background = 1 - to_world("You are blinded by a brilliant flash of energy.") + to_world(span_sinister(span_cascade("You are blinded by a brilliant flash of energy."))) world << sound('sound/effects/cascade.ogg') diff --git a/code/game/gamemodes/epidemic/epidemic.dm b/code/game/gamemodes/epidemic/epidemic.dm index 0417b0c535a..6be1aeaac37 100644 --- a/code/game/gamemodes/epidemic/epidemic.dm +++ b/code/game/gamemodes/epidemic/epidemic.dm @@ -17,7 +17,7 @@ /datum/game_mode/epidemic/pre_setup() doctors = 0 for(var/mob/new_player/player in world) - if(player.mind.assigned_role in list("Chief Medical Officer","Medical Doctor")) + if(player.mind.assigned_role in list(JOB_CHIEF_MEDICAL_OFFICER ,JOB_MEDICAL_DOCTOR)) doctors++ break @@ -34,16 +34,16 @@ ///////////////////////////////////////////////////////// /datum/game_mode/epidemic/send_intercept() - var/intercepttext = "CONFIDENTIAL REPORT
" + var/intercepttext = span_large(span_red(span_bold("CONFIDENTIAL REPORT"))) + "
" virus_name = "X-[rand(1,99)]™" - intercepttext += "Warning: Pathogen [virus_name] has been detected on [station_name()].

" - intercepttext += "Code violet quarantine of [station_name()] put under immediate effect.
" - intercepttext += "Class [rand(2,5)] cruiser has been dispatched. ETA: [round(cruiser_seconds() / 60)] minutes.
" - intercepttext += "
Instructions
" - intercepttext += "* ELIMINATE THREAT WITH EXTREME PREJUDICE. [virus_name] IS HIGHLY CONTAGIOUS. INFECTED CREW MEMBERS MUST BE QUARANTINED IMMEDIATELY.
" - intercepttext += "* [station_name()] is under QUARANTINE. Any vessels outbound from [station_name()] will be tracked down and destroyed.
" - intercepttext += "* The existence of [virus_name] is highly confidential. To prevent a panic, only high-ranking staff members are authorized to know of its existence. Crew members that illegally obtained knowledge of [virus_name] are to be neutralized.
" - intercepttext += "* A cure is to be researched immediately, but NanoTrasen intellectual property must be respected. To prevent knowledge of [virus_name] from falling into unauthorized hands, all medical staff that work with the pathogen must be enhanced with a NanoTrasen loyality implant.
" + intercepttext += span_bold("Warning: Pathogen [virus_name] has been detected on [station_name()].") + "

" + intercepttext += span_bold("Code violet quarantine of [station_name()] put under immediate effect.") + "
" + intercepttext += span_bold("Class [rand(2,5)] cruiser has been dispatched. ETA: [round(cruiser_seconds() / 60)] minutes.") + "
" + intercepttext += "
" + span_bold(span_normal(span_blue("Instructions"))) + "
" + intercepttext += span_bold("* ELIMINATE THREAT WITH EXTREME PREJUDICE. [virus_name] IS HIGHLY CONTAGIOUS. INFECTED CREW MEMBERS MUST BE QUARANTINED IMMEDIATELY.") + "
" + intercepttext += span_bold("* [station_name()] is under QUARANTINE. Any vessels outbound from [station_name()] will be tracked down and destroyed.") + "
" + intercepttext += span_bold("* The existence of [virus_name] is highly confidential. To prevent a panic, only high-ranking staff members are authorized to know of its existence. Crew members that illegally obtained knowledge of [virus_name] are to be neutralized.") + "
" + intercepttext += span_bold("* A cure is to be researched immediately, but NanoTrasen intellectual property must be respected. To prevent knowledge of [virus_name] from falling into unauthorized hands, all medical staff that work with the pathogen must be enhanced with a NanoTrasen loyality implant.") + "
" //New message handling won't hurt if someone enables epidemic @@ -55,12 +55,12 @@ var/extra_law = "Crew authorized to know of pathogen [virus_name]'s existence are: Heads of command. Do not allow unauthorized personnel to gain knowledge of [virus_name]. Aid authorized personnel in quarantining and neutrlizing the outbreak. This law overrides all other laws." for(var/mob/living/silicon/ai/M in world) M.add_ion_law(extra_law) - to_chat(M, "[extra_law]") + to_chat(M, span_danger("[extra_law]")) /datum/game_mode/epidemic/proc/announce_to_kill_crew() - var/intercepttext = "CONFIDENTIAL REPORT
" - intercepttext += "PATHOGEN [virus_name] IS STILL PRESENT ON [station_name()]. IN COMPLIANCE WITH NANOTRASEN LAWS FOR INTERSTELLAR SAFETY, EMERGENCY SAFETY MEASURES HAVE BEEN AUTHORIZED. ALL INFECTED CREW MEMBERS ON [station_name()] ARE TO BE NEUTRALIZED AND DISPOSED OF IN A MANNER THAT WILL DESTROY ALL TRACES OF THE PATHOGEN. FAILURE TO COMPLY WILL RESULT IN IMMEDIATE DESTRUCTION OF [station_name].
" - intercepttext += "CRUISER WILL ARRIVE IN [round(cruiser_seconds()/60)] MINUTES
" + var/intercepttext = span_large(span_red(span_bold("CONFIDENTIAL REPORT"))) + "
" + intercepttext += span_normal(span_red(span_bold("PATHOGEN [virus_name] IS STILL PRESENT ON [station_name()]. IN COMPLIANCE WITH NANOTRASEN LAWS FOR INTERSTELLAR SAFETY, EMERGENCY SAFETY MEASURES HAVE BEEN AUTHORIZED. ALL INFECTED CREW MEMBERS ON [station_name()] ARE TO BE NEUTRALIZED AND DISPOSED OF IN A MANNER THAT WILL DESTROY ALL TRACES OF THE PATHOGEN. FAILURE TO COMPLY WILL RESULT IN IMMEDIATE DESTRUCTION OF [station_name].")) + "
" + intercepttext += span_bold("CRUISER WILL ARRIVE IN [round(cruiser_seconds()/60)] MINUTES") + "
" post_comm_message("Cent. Com. CONFIDENTIAL REPORT", intercepttext) world << sound('sound/AI/commandreport.ogg') @@ -78,8 +78,8 @@ crew += H if(crew.len < 2) - to_world("There aren't enough players for this mode!") - to_world("Rebooting world in 5 seconds.") + to_world(span_boldannounce("There aren't enough players for this mode!")) + to_world(span_boldannounce("Rebooting world in 5 seconds.")) if(blackbox) blackbox.save_all_data_to_sql() @@ -169,10 +169,10 @@ for(var/mob/M in world) if(M.client) M << 'sound/machines/Alarm.ogg' - to_world("Incoming missile detected.. Impact in 10..") + to_world(span_boldannounce("Incoming missile detected.. Impact in 10..")) for (var/i=9 to 1 step -1) sleep(10) - to_world("[i]..") + to_world(span_boldannounce("[i]..")) sleep(10) enter_allowed = 0 if(ticker) @@ -190,9 +190,9 @@ /datum/game_mode/epidemic/declare_completion() if(finished == 1) feedback_set_details("round_end_result","win - epidemic cured") - to_world(" The virus outbreak was contained! The crew wins!") + to_world(span_boldannounce(span_large("The virus outbreak was contained! The crew wins!"))) else if(finished == 2) feedback_set_details("round_end_result","loss - rev heads killed") - to_world(" The crew succumbed to the epidemic!") + to_world(span_boldannounce(span_large("The crew succumbed to the epidemic!"))) ..() return 1 diff --git a/code/game/gamemodes/events.dm b/code/game/gamemodes/events.dm index 6c499c030c9..75de7d0fd62 100644 --- a/code/game/gamemodes/events.dm +++ b/code/game/gamemodes/events.dm @@ -277,72 +277,72 @@ Would like to add a law like "Law x is _______" where x = a number, and _____ is switch(rand(1,14)) if(1) to_chat(M, "
") - to_chat(M, "THERE ARE [amount] [who2] ON THE STATION...LAWS UPDATED") + to_chat(M, span_danger("THERE ARE [amount] [who2] ON THE STATION...LAWS UPDATED")) to_chat(M, "
") M.add_ion_law("THERE ARE [amount] [who2] ON THE STATION") if(2) to_chat(M, "
") - to_chat(M, "[what2] ARE DANGEROUS TO HUMANS...LAWS UPDATED") + to_chat(M, span_danger("[what2] ARE DANGEROUS TO HUMANS...LAWS UPDATED")) to_chat(M, "
") M.add_ion_law("[what2] ARE DANGEROUS TO HUMANS") if(3) to_chat(M, "
") - to_chat(M, "THE ESCAPE-SHUTTLE CANNOT BE CALLED BECAUSE OF [who2] ON THE STATION...LAWS UPDATED") + to_chat(M, span_danger("THE ESCAPE-SHUTTLE CANNOT BE CALLED BECAUSE OF [who2] ON THE STATION...LAWS UPDATED")) to_chat(M, "
") M.add_ion_law("THE ESCAPE SHUTTLE CANNOT BE CALLED BECAUSE OF [who2] ON THE STATION") if(4) to_chat(M, "
") - to_chat(M, "HUMANS NEED TO EAT [what2pref] [what2] TO SURVIVE...LAWS UPDATED") + to_chat(M, span_danger("HUMANS NEED TO EAT [what2pref] [what2] TO SURVIVE...LAWS UPDATED")) to_chat(M, "
") M.add_ion_law("HUMANS NEED TO EAT [what2pref] [what2] TO SURVIVE") if(5) to_chat(M, "
") - to_chat(M, "THE SITE MANAGER, HOP AND HOS ARE [who2]...LAWS UPDATED") + to_chat(M, span_danger("THE SITE MANAGER, HOP AND HOS ARE [who2]...LAWS UPDATED")) to_chat(M, "
") M.add_ion_law("THE SITE MANAGER, HOP AND HOS ARE [who2]") if(6) to_chat(M, "
") - to_chat(M, "THE STATION IS BUILT FOR [who2]...LAWS UPDATED") + to_chat(M, span_danger("THE STATION IS BUILT FOR [who2]...LAWS UPDATED")) to_chat(M, "
") M.add_ion_law("THE STATION IS BUILT FOR [who2]") if(7) to_chat(M, "
") - to_chat(M, "YOU ARE [amount] [who2]...LAWS UPDATED") + to_chat(M, span_danger("YOU ARE [amount] [who2]...LAWS UPDATED")) to_chat(M, "
") M.add_ion_law("YOU ARE [amount] [who2]") if(8) to_chat(M, "
") - to_chat(M, "YOU MUST ALWAYS [aimust]...LAWS UPDATED") + to_chat(M, span_danger("YOU MUST ALWAYS [aimust]...LAWS UPDATED")) to_chat(M, "
") M.add_ion_law("YOU MUST ALWAYS [aimust]") if(9) to_chat(M, "
") - to_chat(M, "[area] [area2] [amount] [what2]...LAWS UPDATED") + to_chat(M, span_danger("[area] [area2] [amount] [what2]...LAWS UPDATED")) to_chat(M, "
") M.add_ion_law("[area] [area2] [amount] [what2]") if(10) to_chat(M, "
") - to_chat(M, "[crew] is [target]...LAWS UPDATED") + to_chat(M, span_danger("[crew] is [target]...LAWS UPDATED")) to_chat(M, "
") M.add_ion_law("[crew] is [target]") if(11) to_chat(M, "
") - to_chat(M, "[define] IS A FORM OF HARM...LAWS UPDATED") + to_chat(M, span_danger("[define] IS A FORM OF HARM...LAWS UPDATED")) to_chat(M, "
") M.add_ion_law("[define] IS A FORM OF HARM") if(12) to_chat(M, "
") - to_chat(M, "YOU REQUIRE [require] IN ORDER TO PROTECT HUMANS... LAWS UPDATED") + to_chat(M, span_danger("YOU REQUIRE [require] IN ORDER TO PROTECT HUMANS... LAWS UPDATED")) to_chat(M, "
") M.add_ion_law("YOU REQUIRE [require] IN ORDER TO PROTECT HUMANS") if(13) to_chat(M, "
") - to_chat(M, "[crew] is [allergysev] to [allergy]...LAWS UPDATED") + to_chat(M, span_danger("[crew] is [allergysev] to [allergy]...LAWS UPDATED")) to_chat(M, "
") M.add_ion_law("[crew] is [allergysev] to [allergy]") if(14) to_chat(M, "
") - to_chat(M, "THE STATION IS [who2pref] [who2]...LAWS UPDATED") + to_chat(M, span_danger("THE STATION IS [who2pref] [who2]...LAWS UPDATED")) to_chat(M, "
") M.add_ion_law("THE STATION IS [who2pref] [who2]") /* //VOREStation Edit diff --git a/code/game/gamemodes/events/holidays/Christmas.dm b/code/game/gamemodes/events/holidays/Christmas.dm index 62a29d823c2..8e79379c7f1 100644 --- a/code/game/gamemodes/events/holidays/Christmas.dm +++ b/code/game/gamemodes/events/holidays/Christmas.dm @@ -3,7 +3,7 @@ if(isNotStationLevel(xmas.z)) continue for(var/turf/simulated/floor/T in orange(1,xmas)) for(var/i=1,i<=rand(1,5),i++) - new /obj/item/weapon/a_gift(T) + new /obj/item/a_gift(T) //for(var/mob/living/simple_mob/corgi/Ian/Ian in mob_list) // Ian.place_on_head(new /obj/item/clothing/head/helmet/space/santahat(Ian)) @@ -16,36 +16,36 @@ evil_tree.icon_gib = evil_tree.icon_state qdel(xmas) -/obj/item/weapon/toy/xmas_cracker +/obj/item/toy/xmas_cracker name = "xmas cracker" icon = 'icons/obj/christmas.dmi' icon_state = "cracker" desc = "Directions for use: Requires two people, one to pull each end." var/cracked = 0 -/obj/item/weapon/toy/xmas_cracker/New() +/obj/item/toy/xmas_cracker/New() ..() -/obj/item/weapon/toy/xmas_cracker/attack(mob/target, mob/user) +/obj/item/toy/xmas_cracker/attack(mob/target, mob/user) if( !cracked && (istype(target,/mob/living/silicon) || (istype(target,/mob/living/carbon/human) && !target.get_active_hand())) && target.stat == CONSCIOUS) - target.visible_message("[user] and [target] pop \an [src]! *pop*", "You pull \an [src] with [target]! *pop*", "You hear a *pop*.") - var/obj/item/weapon/paper/Joke = new /obj/item/weapon/paper(user.loc) + target.visible_message(span_notice("[user] and [target] pop \an [src]! *pop*"), span_notice("You pull \an [src] with [target]! *pop*"), span_notice("You hear a *pop*.")) + var/obj/item/paper/Joke = new /obj/item/paper(user.loc) Joke.name = "[pick("awful","terrible","unfunny")] joke" - Joke.info = pick("What did one snowman say to the other?\n\n'Is it me or can you smell carrots?'", - "Why couldn't the snowman get laid?\n\nHe was frigid!", - "Where are santa's helpers educated?\n\nNowhere, they're ELF-taught.", - "What happened to the man who stole advent calanders?\n\nHe got 25 days.", - "What does Santa get when he gets stuck in a chimney?\n\nClaus-trophobia.", - "Where do you find chili beans?\n\nThe north pole.", - "What do you get from eating tree decorations?\n\nTinsilitis!", - "What do snowmen wear on their heads?\n\nIce caps!", - "Why is Christmas just like life on ss13?\n\nYou do all the work and the fat guy gets all the credit.", - "Why doesn't Santa have any children?\n\nBecause he only comes down the chimney.") + Joke.info = pick("What did one snowman say to the other?\n\n" + span_italics("'Is it me or can you smell carrots?'"), + "Why couldn't the snowman get laid?\n\n" + span_italics("He was frigid!"), + "Where are santa's helpers educated?\n\n" + span_italics("Nowhere, they're ELF-taught."), + "What happened to the man who stole advent calanders?\n\n" + span_italics("He got 25 days."), + "What does Santa get when he gets stuck in a chimney?\n\n" + span_italics("Claus-trophobia."), + "Where do you find chili beans?\n\n" + span_italics("The north pole."), + "What do you get from eating tree decorations?\n\n" + span_italics("Tinsilitis!"), + "What do snowmen wear on their heads?\n\n" + span_italics("Ice caps!"), + "Why is Christmas just like life on ss13?\n\n" + span_italics("You do all the work and the fat guy gets all the credit."), + "Why doesn't Santa have any children?\n\n" + span_italics("Because he only comes down the chimney.")) new /obj/item/clothing/head/festive(target.loc) user.update_icons() cracked = 1 icon_state = "cracker1" - var/obj/item/weapon/toy/xmas_cracker/other_half = new /obj/item/weapon/toy/xmas_cracker(target) + var/obj/item/toy/xmas_cracker/other_half = new /obj/item/toy/xmas_cracker(target) other_half.cracked = 1 other_half.icon_state = "cracker2" target.put_in_active_hand(other_half) @@ -60,4 +60,3 @@ flags_inv = 0 body_parts_covered = 0 armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) - diff --git a/code/game/gamemodes/events/holidays/Holidays.dm b/code/game/gamemodes/events/holidays/Holidays.dm index b274d8a0fad..68b9a0cdf82 100644 --- a/code/game/gamemodes/events/holidays/Holidays.dm +++ b/code/game/gamemodes/events/holidays/Holidays.dm @@ -238,8 +238,8 @@ var/global/list/Holiday = list() //Holidays are lists now, so we can have more t //Allows GA and GM to set the Holiday variable /client/proc/Set_Holiday() - set name = ".Set Holiday" - set category = "Fun" + set name = "Set Holiday" + set category = "Fun.Event Kit" set desc = "Force-set the Holiday variable to make the game think it's a certain day." if(!check_rights(R_SERVER)) return @@ -255,7 +255,7 @@ var/global/list/Holiday = list() //Holidays are lists now, so we can have more t world.update_status() Holiday_Game_Start() - message_admins("ADMIN: Event: [key_name(src)] force-set Holiday to \"[Holiday]\"") + message_admins(span_notice("ADMIN: Event: [key_name(src)] force-set Holiday to \"[Holiday]\"")) log_admin("[key_name(src)] force-set Holiday to \"[Holiday]\"") @@ -268,11 +268,11 @@ var/global/list/Holiday = list() //Holidays are lists now, so we can have more t holidays.Add(p) holiday_blurbs.Add("[Holiday[p]]") var/holidays_string = english_list(holidays, nothing_text = "nothing", and_text = " and ", comma_text = ", ", final_comma_text = "" ) - to_world(span_blue("and...")) - to_world("

Happy [holidays_string] Everybody!

") + to_world(span_filter_system(span_blue("and..."))) + to_world(span_filter_system("

Happy [holidays_string] Everybody!

")) if(holiday_blurbs.len != 0) for(var/blurb in holiday_blurbs) - to_world(span_blue("
[blurb]
")) + to_world(span_filter_system(span_blue("
[blurb]
"))) switch(Holiday) //special holidays if("Easter") //do easter stuff @@ -294,16 +294,16 @@ var/global/list/Holiday = list() //Holidays are lists now, so we can have more t var/turf/simulated/floor/F = Floorlist[rand(1,Floorlist.len)] Floorlist = null var/obj/structure/closet/C = locate(/obj/structure/closet) in F - var/obj/item/weapon/reagent_containers/food/snacks/chocolateegg/wrapped/Egg + var/obj/item/reagent_containers/food/snacks/chocolateegg/wrapped/Egg if( C ) Egg = new(C) else Egg = new(F) */ /* var/list/obj/containers = list() - for(var/obj/item/weapon/storage/S in world) + for(var/obj/item/storage/S in world) if(isNotStationLevel(S.z)) continue containers += S - message_admins("DEBUG: Event: Egg spawned at [Egg.loc] ([Egg.x],[Egg.y],[Egg.z])")*/ + message_admins(span_notice("DEBUG: Event: Egg spawned at [Egg.loc] ([Egg.x],[Egg.y],[Egg.z])"))*/ if("End of the World") if(prob(eventchance)) GameOver() diff --git a/code/game/gamemodes/events/holidays/Other.dm b/code/game/gamemodes/events/holidays/Other.dm index bd64fda833f..4f29575e09b 100644 --- a/code/game/gamemodes/events/holidays/Other.dm +++ b/code/game/gamemodes/events/holidays/Other.dm @@ -3,8 +3,8 @@ hadevent = 1 message_admins("The apocalypse has begun! (this holiday event can be disabled by toggling events off within 60 seconds)") spawn(600) - if(!config.allow_random_events) return + if(!CONFIG_GET(flag/allow_random_events)) return Show2Group4Delay(ScreenText(null,"
GAME OVER
"),null,150) for(var/i=1,i<=4,i++) spawn_dynamic_event() - sleep(50) \ No newline at end of file + sleep(50) diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index b8007d3ea5f..51e3a508acf 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -117,13 +117,13 @@ var/global/list/additional_antag_types = list() return /datum/game_mode/proc/announce() //to be called when round starts - to_world("The current game mode is [capitalize(name)]!") + to_world(span_world("The current game mode is [capitalize(name)]!")) if(round_description) - to_world("[round_description]") + to_world(span_filter_system("[round_description]")) if(round_autoantag) - to_world("Antagonists will be added to the round automagically as needed.") + to_world(span_filter_system("Antagonists will be added to the round automagically as needed.")) if(antag_templates && antag_templates.len) - var/antag_summary = "Possible antagonist types: " + var/antag_summary = span_bold("Possible antagonist types:") + " " var/i = 1 for(var/datum/antagonist/antag in antag_templates) if(i > 1) @@ -135,7 +135,7 @@ var/global/list/additional_antag_types = list() i++ antag_summary += "." if(antag_templates.len > 1 && master_mode != "secret") - to_world("[antag_summary]") + to_world(span_filter_system("[antag_summary]")) else message_admins("[antag_summary]") @@ -148,10 +148,10 @@ var/global/list/additional_antag_types = list() playerC++ if(master_mode=="secret") - if(playerC < config.player_requirements_secret[config_tag]) + if(playerC < CONFIG_GET(keyed_list/player_requirements_secret)[config_tag]) return 0 else - if(playerC < config.player_requirements[config_tag]) + if(playerC < CONFIG_GET(keyed_list/player_requirements)[config_tag]) return 0 if(!(antag_templates && antag_templates.len)) @@ -272,7 +272,7 @@ var/global/list/additional_antag_types = list() for(var/datum/antagonist/antag in antag_templates) if(!antag.antags_are_dead()) return 0 - if(config.continous_rounds) + if(CONFIG_GET(flag/continuous_rounds)) emergency_shuttle.auto_recall = 0 return 0 return 1 @@ -338,11 +338,12 @@ var/global/list/additional_antag_types = list() var/text = "" if(surviving_total > 0) - text += "
There [surviving_total>1 ? "were [surviving_total] survivors" : "was one survivor"]" - text += " ([escaped_total>0 ? escaped_total : "none"] [emergency_shuttle.evac ? "escaped" : "transferred"]) and [ghosts] ghosts.
" + text += "
There [surviving_total>1 ? ("were " + span_bold("[surviving_total] survivors")) : ("was " + span_bold("one survivor"))] (" + text += span_bold("[escaped_total>0 ? escaped_total : "none"] [emergency_shuttle.evac ? "escaped" : "transferred"]") + ") and " + span_bold("[ghosts] ghosts") + text += ".
" else - text += "There were no survivors ([ghosts] ghosts)." - to_world(text) + text += "There were " + span_bold("no survivors") + " (" + span_bold("[ghosts] ghosts") + ")." + to_world(span_filter_system(text)) if(clients > 0) feedback_set("round_end_clients",clients) @@ -443,7 +444,7 @@ var/global/list/additional_antag_types = list() /datum/game_mode/proc/create_antagonists() - if(!config.traitor_scaling) + if(!CONFIG_GET(flag/traitor_scaling)) antag_scaling_coeff = 0 if(antag_tags && antag_tags.len) @@ -470,7 +471,8 @@ var/global/list/additional_antag_types = list() //Reports player logouts// ////////////////////////// /proc/display_roundstart_logout_report() - var/msg = "Roundstart logout report\n\n" + var/msg = span_bold("Roundstart logout report") + msg += "

" for(var/mob/living/L in mob_list) if(L.ckey) @@ -480,21 +482,21 @@ var/global/list/additional_antag_types = list() found = 1 break if(!found) - msg += "[L.name] ([L.ckey]), the [L.job] ([span_yellow("Disconnected")])\n" + msg += "[span_bold(L.name)] ([L.ckey]), the [L.job] ([span_yellow(span_bold("Disconnected"))])
" if(L.ckey && L.client) if(L.client.inactivity >= (ROUNDSTART_LOGOUT_REPORT_TIME / 2)) //Connected, but inactive (alt+tabbed or something) - msg += "[L.name] ([L.ckey]), the [L.job] ([span_yellow("Connected, Inactive")])\n" + msg += "[span_bold(L.name)] ([L.ckey]), the [L.job] ([span_yellow(span_bold("Connected, Inactive"))])
" continue //AFK client if(L.stat) if(L.suiciding) //Suicider - msg += "[L.name] ([L.ckey]), the [L.job] ([span_red("Suicide")])\n" + msg += "[span_bold(L.name)] ([L.ckey]), the [L.job] ([span_red(span_bold("Suicide"))])
" continue //Disconnected client if(L.stat == UNCONSCIOUS) - msg += "[L.name] ([L.ckey]), the [L.job] (Dying)\n" + msg += "[span_bold(L.name)] ([L.ckey]), the [L.job] (Dying)
" continue //Unconscious if(L.stat == DEAD) - msg += "[L.name] ([L.ckey]), the [L.job] (Dead)\n" + msg += "[span_bold(L.name)] ([L.ckey]), the [L.job] (Dead)
" continue //Dead continue //Happy connected client @@ -502,20 +504,20 @@ var/global/list/additional_antag_types = list() if(D.mind && (D.mind.original == L || D.mind.current == L)) if(L.stat == DEAD) if(L.suiciding) //Suicider - msg += "[L.name] ([ckey(D.mind.key)]), the [L.job] ([span_red("Suicide")])\n" + msg += "[span_bold(L.name)] ([ckey(D.mind.key)]), the [L.job] ([span_red(span_bold("Suicide"))])
" continue //Disconnected client else - msg += "[L.name] ([ckey(D.mind.key)]), the [L.job] (Dead)\n" + msg += "[span_bold(L.name)] ([ckey(D.mind.key)]), the [L.job] (Dead)
" continue //Dead mob, ghost abandoned else if(D.can_reenter_corpse) - msg += "[L.name] ([ckey(D.mind.key)]), the [L.job] ([span_red("Adminghosted")])\n" + msg += "[span_bold(L.name)] ([ckey(D.mind.key)]), the [L.job] ([span_red(span_bold("Adminghosted"))])
" continue //Lolwhat else - msg += "[L.name] ([ckey(D.mind.key)]), the [L.job] ([span_red("Ghosted")])\n" + msg += "[span_bold(L.name)] ([ckey(D.mind.key)]), the [L.job] ([span_red(span_bold("Ghosted"))])
" continue //Ghosted while alive - msg += "
" // close the span from right at the top + msg = span_notice(msg)// close the span from right at the top for(var/mob/M in mob_list) if(M.client && M.client.holder) @@ -537,25 +539,25 @@ var/global/list/additional_antag_types = list() if(!player || !player.current) return var/obj_count = 1 - to_chat(player.current, "Your current objectives:") + to_chat(player.current, span_notice("Your current objectives:")) for(var/datum/objective/objective in player.objectives) - to_chat(player.current, "Objective #[obj_count]: [objective.explanation_text]") + to_chat(player.current, span_bold("Objective #[obj_count]") + ": [objective.explanation_text]") obj_count++ /mob/verb/check_round_info() set name = "Check Round Info" - set category = "OOC" + set category = "OOC.Game" if(!ticker || !ticker.mode) - to_chat(usr, "Something is terribly wrong; there is no gametype.") + to_chat(usr, span_warning("Something is terribly wrong; there is no gametype.")) return if(master_mode != "secret") - to_chat(usr, "The roundtype is [capitalize(ticker.mode.name)]") + to_chat(usr, span_boldnotice("The roundtype is [capitalize(ticker.mode.name)]")) if(ticker.mode.round_description) - to_chat(usr, "[ticker.mode.round_description]") + to_chat(usr, span_notice(span_italics("[ticker.mode.round_description]"))) if(ticker.mode.extended_round_description) - to_chat(usr, "[ticker.mode.extended_round_description]") + to_chat(usr, span_notice("[ticker.mode.extended_round_description]")) else - to_chat(usr, "Shhhh. It's a secret.") + to_chat(usr, span_notice(span_italics("Shhhh") + ". It's a secret.")) return diff --git a/code/game/gamemodes/malfunction/malf_hardware.dm b/code/game/gamemodes/malfunction/malf_hardware.dm index 8206f9cd5ea..a0aa1ec7b69 100644 --- a/code/game/gamemodes/malfunction/malf_hardware.dm +++ b/code/game/gamemodes/malfunction/malf_hardware.dm @@ -8,7 +8,7 @@ if(owner && istype(owner)) owner.hardware = src if(driver) - owner.verbs += driver + add_verb(owner, driver) /datum/malf_hardware/proc/get_examine_desc() return "It has some sort of hardware attached to its core" @@ -24,7 +24,7 @@ /datum/malf_hardware/apu_gen/get_examine_desc() var/msg = "It seems to have some sort of power generator attached to its core." if(owner.hardware_integrity() < 50) - msg += " It seems to be too damaged to function properly." + msg += span_warning(" It seems to be too damaged to function properly.") else if(owner.APU_power) msg += " The generator appears to be active." return msg @@ -49,7 +49,7 @@ driver = /datum/game_mode/malfunction/verb/ai_self_destruct /datum/malf_hardware/core_bomb/get_examine_desc() - return "It seems to have grey blocks of unknown substance and some circuitry connected to it's core. [owner.bombing_core ? "A red light is blinking on the circuit." : ""]" + return span_warning("It seems to have grey blocks of unknown substance and some circuitry connected to it's core. [owner.bombing_core ? "A red light is blinking on the circuit." : ""]") /datum/malf_hardware/strong_turrets name = "Turrets Focus Enhancer" @@ -64,4 +64,4 @@ T.maxhealth = round(initial(T.maxhealth) * 1.4) T.shot_delay = round(initial(T.shot_delay) / 2) T.auto_repair = 1 - T.update_active_power_usage(round(initial(T.active_power_usage) * 5)) \ No newline at end of file + T.update_active_power_usage(round(initial(T.active_power_usage) * 5)) diff --git a/code/game/gamemodes/malfunction/malf_research.dm b/code/game/gamemodes/malfunction/malf_research.dm index 37475a0a41c..b9314ca4ca1 100644 --- a/code/game/gamemodes/malfunction/malf_research.dm +++ b/code/game/gamemodes/malfunction/malf_research.dm @@ -31,8 +31,8 @@ /datum/malf_research/proc/finish_research() if(!focus) return - to_chat(owner, "Research Completed: [focus.name]") - owner.verbs.Add(focus.ability) + to_chat(owner, span_bold("Research Completed") + ": [focus.name]") + add_verb(owner, focus.ability) available_abilities -= focus if(focus.next) available_abilities += focus.next @@ -62,8 +62,3 @@ focus.process(cpu_gained) if(focus.unlocked) finish_research() - - - - - diff --git a/code/game/gamemodes/malfunction/malfunction.dm b/code/game/gamemodes/malfunction/malfunction.dm index 26e0c4572e1..fbcc26cf5da 100644 --- a/code/game/gamemodes/malfunction/malfunction.dm +++ b/code/game/gamemodes/malfunction/malfunction.dm @@ -9,5 +9,5 @@ end_on_antag_death = 0 auto_recall_shuttle = 0 antag_tags = list(MODE_MALFUNCTION) - disabled_jobs = list("AI") + disabled_jobs = list(JOB_AI) votable = 0 diff --git a/code/game/gamemodes/malfunction/newmalf_ability_trees/HARDWARE.dm b/code/game/gamemodes/malfunction/newmalf_ability_trees/HARDWARE.dm index df2d223c6e4..4179f8228ed 100644 --- a/code/game/gamemodes/malfunction/newmalf_ability_trees/HARDWARE.dm +++ b/code/game/gamemodes/malfunction/newmalf_ability_trees/HARDWARE.dm @@ -68,7 +68,7 @@ set name = "Destroy Station" set desc = "Activates or deactivates self destruct sequence of this station. Sequence takes two minutes, and if you are shut down before timer reaches zero it will be cancelled." var/mob/living/silicon/ai/user = usr - var/obj/item/device/radio/radio = new/obj/item/device/radio() + var/obj/item/radio/radio = new/obj/item/radio() if(!ability_prechecks(user, 0, 0)) diff --git a/code/game/gamemodes/malfunction/newmalf_ability_trees/tree_interdiction.dm b/code/game/gamemodes/malfunction/newmalf_ability_trees/tree_interdiction.dm index 655f1a03f2f..c037b925319 100644 --- a/code/game/gamemodes/malfunction/newmalf_ability_trees/tree_interdiction.dm +++ b/code/game/gamemodes/malfunction/newmalf_ability_trees/tree_interdiction.dm @@ -116,8 +116,8 @@ to_chat(target, "Unlock signal received..") target.SetLockdown(0) if(target.lockcharge) - to_chat(user, "Unlock Failed, lockdown wire cut.") - to_chat(target, "Unlock Failed, lockdown wire cut.") + to_chat(user, span_notice("Unlock Failed, lockdown wire cut.")) + to_chat(target, span_notice("Unlock Failed, lockdown wire cut.")) else to_chat(user, "Cyborg unlocked.") to_chat(target, "You have been unlocked.") @@ -137,7 +137,7 @@ var/list/L = get_unlinked_cyborgs(user) if(!L.len) - to_chat(user, "ERROR: No unlinked cyborgs detected!") + to_chat(user, span_notice("ERROR: No unlinked cyborgs detected!")) if(target && !istype(target)) @@ -202,7 +202,7 @@ var/list/L = get_other_ais(user) if(!L.len) - to_chat(user, "ERROR: No other AIs detected!") + to_chat(user, span_notice("ERROR: No other AIs detected!")) if(target && !istype(target)) to_chat(user, "This is not an AI.") diff --git a/code/game/gamemodes/malfunction/newmalf_ability_trees/tree_manipulation.dm b/code/game/gamemodes/malfunction/newmalf_ability_trees/tree_manipulation.dm index 70de1803283..fcf0716078f 100644 --- a/code/game/gamemodes/malfunction/newmalf_ability_trees/tree_manipulation.dm +++ b/code/game/gamemodes/malfunction/newmalf_ability_trees/tree_manipulation.dm @@ -146,14 +146,14 @@ // Verify if we can overload the target, if yes, calculate explosion strength. Some things have higher explosion strength than others, depending on charge(APCs, SMESs) if(N && istype(N)) // /obj/machinery/power first, these create bigger explosions due to direct powernet connection if(!istype(N, /obj/machinery/power/apc) && !istype(N, /obj/machinery/power/smes/buildable) && (!N.powernet || !N.powernet.avail)) // Directly connected machine which is not an APC or SMES. Either it has no powernet connection or it's powernet does not have enough power to overload - to_chat(user, "ERROR: Low network voltage. Unable to overload. Increase network power level and try again.") + to_chat(user, span_notice("ERROR: Low network voltage. Unable to overload. Increase network power level and try again.")) return else if (istype(N, /obj/machinery/power/apc)) // APC. Explosion is increased by available cell power. var/obj/machinery/power/apc/A = N if(A.cell && A.cell.charge) explosion_intensity = 4 + round(A.cell.charge / 2000) // Explosion is increased by 1 for every 2k charge in cell else - to_chat(user, "ERROR: APC Malfunction - Cell depleted or removed. Unable to overload.") + to_chat(user, span_notice("ERROR: APC Malfunction - Cell depleted or removed. Unable to overload.")) return else if (istype(N, /obj/machinery/power/smes/buildable)) // SMES. These explode in a very very very big boom. Similar to magnetic containment failure when messing with coils. var/obj/machinery/power/smes/buildable/S = N @@ -162,19 +162,19 @@ else // Different error texts if(!S.charge) - to_chat(user, "ERROR: SMES Depleted. Unable to overload. Please charge SMES unit and try again.") + to_chat(user, span_notice("ERROR: SMES Depleted. Unable to overload. Please charge SMES unit and try again.")) else - to_chat(user, "ERROR: SMES RCon error - Unable to reach destination. Please verify wire connection.") + to_chat(user, span_notice("ERROR: SMES RCon error - Unable to reach destination. Please verify wire connection.")) return else if(M && istype(M)) // Not power machinery, so it's a regular machine instead. These have weak explosions. if(!M.use_power) // Not using power at all - to_chat(user, "ERROR: No power grid connection. Unable to overload.") + to_chat(user, span_notice("ERROR: No power grid connection. Unable to overload.")) return if(M.inoperable()) // Not functional - to_chat(user, "ERROR: Unknown error. Machine is probably damaged or power supply is nonfunctional.") + to_chat(user, span_notice("ERROR: Unknown error. Machine is probably damaged or power supply is nonfunctional.")) return else // Not a machine at all (what the hell is this doing in Machines list anyway??) - to_chat(user, "ERROR: Unable to overload - target is not a machine.") + to_chat(user, span_notice("ERROR: Unable to overload - target is not a machine.")) return explosion_intensity = min(explosion_intensity, 12) // 3, 6, 12 explosion cap @@ -199,7 +199,7 @@ if(!ability_pay(user,price)) return - M.visible_message("BZZZZZZZT") + M.visible_message(span_notice("BZZZZZZZT")) spawn(50) explosion(get_turf(M), round(explosion_intensity/4),round(explosion_intensity/2),round(explosion_intensity),round(explosion_intensity * 2)) if(M) diff --git a/code/game/gamemodes/malfunction/newmalf_ability_trees/tree_networking.dm b/code/game/gamemodes/malfunction/newmalf_ability_trees/tree_networking.dm index 2ee412194ef..65a86da3170 100644 --- a/code/game/gamemodes/malfunction/newmalf_ability_trees/tree_networking.dm +++ b/code/game/gamemodes/malfunction/newmalf_ability_trees/tree_networking.dm @@ -57,7 +57,7 @@ to_chat(user, "You already control this APC!") return else if(A.aidisabled) - to_chat(user, "Unable to connect to APC. Please verify wire connection and try again.") + to_chat(user, span_notice("Unable to connect to APC. Please verify wire connection and try again.")) return else return @@ -77,9 +77,9 @@ if(A.hacker == user) to_chat(user, "Hack successful. You now have full control over the APC.") else - to_chat(user, "Hack failed. Connection to APC has been lost. Please verify wire connection and try again.") + to_chat(user, span_notice("Hack failed. Connection to APC has been lost. Please verify wire connection and try again.")) else - to_chat(user, "Hack failed. Unable to locate APC. Please verify the APC still exists.") + to_chat(user, span_notice("Hack failed. Unable to locate APC. Please verify the APC still exists.")) user.hacking = 0 @@ -203,7 +203,7 @@ user.hack_can_fail = 0 user.hacking = 0 user.system_override = 2 - user.verbs += new/datum/game_mode/malfunction/verb/ai_destroy_station() + add_verb(user, new /datum/game_mode/malfunction/verb/ai_destroy_station()) // END ABILITY VERBS diff --git a/code/game/gamemodes/meme/meme.dm b/code/game/gamemodes/meme/meme.dm index 191e447813a..d79e63ad2a8 100644 --- a/code/game/gamemodes/meme/meme.dm +++ b/code/game/gamemodes/meme/meme.dm @@ -7,7 +7,7 @@ config_tag = "meme" required_players = 3 required_players_secret = 10 - restricted_jobs = list("AI", "Cyborg") + restricted_jobs = list(JOB_AI, JOB_CYBORG) recommended_enemies = 2 // need at least a meme and a host votable = 0 // temporarily disable this mode for voting end_on_antag_death = 1 @@ -36,8 +36,8 @@ var/const/waittime_h = 1800 //upper bound on time before intercept arrives (in tenths of seconds) /datum/game_mode/meme/announce() - to_world("The current game mode is - Meme!") - to_world("An unknown creature has infested the mind of a crew member. Find and destroy it by any means necessary.") + to_world(span_world("The current game mode is - Meme!")) + to_world(span_world("An unknown creature has infested the mind of a crew member. Find and destroy it by any means necessary.")) /datum/game_mode/meme/can_start() if(!..()) @@ -66,8 +66,8 @@ // so that we can later know which host belongs to which meme assigned_hosts[meme.key] = first_host - meme.assigned_role = "MODE" //So they aren't chosen for other jobs. - meme.special_role = "Meme" + meme.assigned_role = JOB_MODE //So they aren't chosen for other jobs. + meme.special_role = JOB_MEME return 1 @@ -126,7 +126,7 @@ /datum/game_mode/proc/greet_meme(var/datum/mind/meme, var/you_are=1) if (you_are) - to_chat(meme.current, "You are a meme!") + to_chat(meme.current, span_danger("You are a meme!")) show_objectives(meme) return diff --git a/code/game/gamemodes/meteor/meteor.dm b/code/game/gamemodes/meteor/meteor.dm index 57d5dadeacf..f71e1f732c6 100644 --- a/code/game/gamemodes/meteor/meteor.dm +++ b/code/game/gamemodes/meteor/meteor.dm @@ -28,17 +28,20 @@ if(!location) continue switch(location.loc.type) if( /area/shuttle/escape/centcom ) - text += "
[player.real_name] escaped on the emergency shuttle" + text += "
" + text += span_bold(span_normal("[player.real_name] escaped on the emergency shuttle")) if( /area/shuttle/escape_pod1/centcom, /area/shuttle/escape_pod2/centcom, /area/shuttle/escape_pod3/centcom, /area/shuttle/escape_pod5/centcom ) - text += "
[player.real_name] escaped in a life pod." + text += "
" + text += span_normal("[player.real_name] escaped in a life pod.") else - text += "
[player.real_name] survived but is stranded without any hope of rescue." + text += "
" + text += span_small("[player.real_name] survived but is stranded without any hope of rescue.") survivors++ if(survivors) - to_world("The following survived the meteor storm:[text]") + to_world(span_world("The following survived the meteor storm") + ":[text]") else - to_world("Nobody survived the meteor storm!") + to_world(span_boldannounce("Nobody survived the meteor storm!")) feedback_set_details("round_end_result","end - evacuation") feedback_set("round_end_result",survivors) @@ -46,4 +49,4 @@ ..() return 1 -#undef METEOR_DELAY \ No newline at end of file +#undef METEOR_DELAY diff --git a/code/game/gamemodes/meteor/meteors.dm b/code/game/gamemodes/meteor/meteors.dm index dc636e54dc7..198cc693143 100644 --- a/code/game/gamemodes/meteor/meteors.dm +++ b/code/game/gamemodes/meteor/meteors.dm @@ -118,7 +118,7 @@ var/heavy = FALSE var/z_original - var/meteordrop = /obj/item/weapon/ore/iron + var/meteordrop = /obj/item/ore/iron var/dropamt = 2 // How much damage it does to walls, using take_damage(). @@ -200,8 +200,8 @@ /obj/effect/meteor/ex_act() return -/obj/effect/meteor/attackby(obj/item/weapon/W as obj, mob/user as mob, params) - if(istype(W, /obj/item/weapon/pickaxe)) +/obj/effect/meteor/attackby(obj/item/W as obj, mob/user as mob, params) + if(istype(W, /obj/item/pickaxe)) qdel(src) return ..() @@ -247,7 +247,7 @@ pass_flags = PASSTABLE | PASSGRILLE hits = 1 hitpwr = 3 - meteordrop = /obj/item/weapon/ore/glass + meteordrop = /obj/item/ore/glass wall_power = 50 // Medium-sized meteors aren't very special and can be stopped easily by r-walls. @@ -281,7 +281,7 @@ icon_state = "flaming" hits = 5 heavy = 1 - meteordrop = /obj/item/weapon/ore/phoron + meteordrop = /obj/item/ore/phoron wall_power = 100 /obj/effect/meteor/flaming/meteor_effect(var/explode) @@ -294,7 +294,7 @@ name = "glowing meteor" icon_state = "glowing" heavy = 1 - meteordrop = /obj/item/weapon/ore/uranium + meteordrop = /obj/item/ore/uranium wall_power = 75 @@ -310,7 +310,7 @@ name = "conducting meteor" icon_state = "glowing_blue" desc = "Hide your floppies!" - meteordrop = /obj/item/weapon/ore/osmium + meteordrop = /obj/item/ore/osmium dropamt = 3 wall_power = 80 @@ -331,7 +331,7 @@ hits = 30 hitpwr = 1 heavy = 1 - meteordrop = /obj/item/weapon/ore/phoron + meteordrop = /obj/item/ore/phoron wall_power = 150 /obj/effect/meteor/tunguska/meteor_effect(var/explode) diff --git a/code/game/gamemodes/meteor/meteors_vr.dm b/code/game/gamemodes/meteor/meteors_vr.dm index 6c24416b392..52e9ebf1ce6 100644 --- a/code/game/gamemodes/meteor/meteors_vr.dm +++ b/code/game/gamemodes/meteor/meteors_vr.dm @@ -2,7 +2,7 @@ if(istype(A, /mob/living/carbon)) var/mob/living/carbon/batter = A var/obj/item/I = batter.get_active_hand() - if(!batter.stat && istype(I, /obj/item/weapon/material/twohanded/baseballbat)) + if(!batter.stat && istype(I, /obj/item/material/twohanded/baseballbat)) batter.do_attack_animation(src) batter.visible_message("[batter] deflects [src] with [I]]! Home run!", "You deflect [src] with [I]! Home run!") walk_away(src, batter, 100, 1) diff --git a/code/game/gamemodes/newobjective.dm b/code/game/gamemodes/newobjective.dm index 1b3a1147a1e..5c60665a74b 100644 --- a/code/game/gamemodes/newobjective.dm +++ b/code/game/gamemodes/newobjective.dm @@ -563,7 +563,7 @@ datum captainslaser - steal_target = /obj/item/weapon/gun/energy/captain + steal_target = /obj/item/gun/energy/captain explanation_text = "Steal the Site Manager's antique laser gun." weight = 20 @@ -588,7 +588,7 @@ datum plasmatank - steal_target = /obj/item/weapon/tank/plasma + steal_target = /obj/item/tank/plasma explanation_text = "Steal a small plasma tank." weight = 20 @@ -630,7 +630,7 @@ datum handtele - steal_target = /obj/item/weapon/hand_tele + steal_target = /obj/item/hand_tele explanation_text = "Steal a hand teleporter." weight = 20 @@ -655,7 +655,7 @@ datum RCD - steal_target = /obj/item/weapon/rcd + steal_target = /obj/item/rcd explanation_text = "Steal a rapid construction device." weight = 20 @@ -680,7 +680,7 @@ datum /*burger - steal_target = /obj/item/weapon/reagent_containers/food/snacks/human/burger + steal_target = /obj/item/reagent_containers/food/snacks/human/burger explanation_text = "Steal a burger made out of human organs, this will be presented as proof of NanoTrasen's chronic lack of standards." weight = 60 @@ -699,7 +699,7 @@ datum jetpack - steal_target = /obj/item/weapon/tank/jetpack/oxygen + steal_target = /obj/item/tank/jetpack/oxygen explanation_text = "Steal a blue oxygen jetpack." weight = 20 @@ -796,7 +796,7 @@ datum nuke_disk - steal_target = /obj/item/weapon/disk/nuclear + steal_target = /obj/item/disk/nuclear explanation_text = "Steal the station's nuclear authentication disk." weight = 20 @@ -820,7 +820,7 @@ datum return 20 nuke_gun - steal_target = /obj/item/weapon/gun/energy/gun/nuclear + steal_target = /obj/item/gun/energy/gun/nuclear explanation_text = "Steal a nuclear powered gun." weight = 20 @@ -841,7 +841,7 @@ datum return 2 diamond_drill - steal_target = /obj/item/weapon/pickaxe/diamonddrill + steal_target = /obj/item/pickaxe/diamonddrill explanation_text = "Steal a diamond drill." weight = 20 @@ -862,7 +862,7 @@ datum return 2 boh - steal_target = /obj/item/weapon/storage/backpack/holding + steal_target = /obj/item/storage/backpack/holding explanation_text = "Steal a \"bag of holding.\"" weight = 20 @@ -883,7 +883,7 @@ datum return 2 hyper_cell - steal_target = /obj/item/weapon/cell/hyper + steal_target = /obj/item/cell/hyper explanation_text = "Steal a hyper capacity power cell." weight = 20 @@ -999,7 +999,7 @@ datum /*Needs some work before it can be put in the game to differentiate ship implanters from syndicate implanters. steal/implanter - steal_target = /obj/item/weapon/implanter + steal_target = /obj/item/implanter explanation_text = "Steal an implanter" weight = 50 @@ -1066,7 +1066,7 @@ datum check_completion() if(steal_target) - for(var/obj/item/device/aicard/C in owner.current.get_contents()) + for(var/obj/item/aicard/C in owner.current.get_contents()) for(var/mob/living/silicon/ai/M in C) if(istype(M, /mob/living/silicon/ai) && M.stat != 2) return 1 @@ -1209,7 +1209,7 @@ datum check_completion() var/held_credits = 0 - for(var/obj/item/weapon/spacecash/M in owner.current.get_contents()) + for(var/obj/item/spacecash/M in owner.current.get_contents()) held_credits += M.worth if(held_credits >= steal_amount) return 1 @@ -1274,7 +1274,7 @@ datum if(!owner.current||owner.current.stat==2)//If you're otherwise dead. return 0 var/list/all_items = owner.current.get_contents() - for(var/obj/item/weapon/organ/head/mmi in all_items) + for(var/obj/item/organ/head/mmi in all_items) if(mmi.brainmob&&mmi.brainmob.mind==target) return 1 return 0 @@ -1335,7 +1335,7 @@ datum return 0 var/current_amount - var/obj/item/weapon/rig/S + var/obj/item/rig/S if(istype(owner.current,/mob/living/carbon/human)) var/mob/living/carbon/human/H = owner.current S = H.back @@ -1378,7 +1378,7 @@ datum if(!owner.current||owner.current.stat==2)//If you're otherwise dead. return 0 var/list/all_items = owner.current.get_contents() - for(var/obj/item/device/mmi/mmi in all_items) + for(var/obj/item/mmi/mmi in all_items) if(mmi.brainmob&&mmi.brainmob.mind==target) return 1 for(var/obj/item/organ/brain/brain in all_items) if(brain.brainmob&&brain.brainmob.mind==target) return 1 diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm index f6f2d1f68d3..9d60efdb65b 100644 --- a/code/game/gamemodes/nuclear/nuclear.dm +++ b/code/game/gamemodes/nuclear/nuclear.dm @@ -22,22 +22,22 @@ var/list/nuke_disks = list() //delete all nuke disks not on a station zlevel /datum/game_mode/nuclear/proc/check_nuke_disks() - for(var/obj/item/weapon/disk/nuclear/N in nuke_disks) + for(var/obj/item/disk/nuclear/N in nuke_disks) if(isNotStationLevel(N.z)) qdel(N) //checks if L has a nuke disk on their person /datum/game_mode/nuclear/proc/check_mob(mob/living/L) - for(var/obj/item/weapon/disk/nuclear/N in nuke_disks) + for(var/obj/item/disk/nuclear/N in nuke_disks) if(N.storage_depth(L) >= 0) return 1 return 0 /datum/game_mode/nuclear/declare_completion() - if(config.objectives_disabled) + if(CONFIG_GET(flag/objectives_disabled)) ..() return var/disk_rescued = 1 - for(var/obj/item/weapon/disk/nuclear/D in nuke_disks) + for(var/obj/item/disk/nuclear/D in nuke_disks) var/disk_area = get_area(D) if(!is_type_in_list(disk_area, centcom_areas)) disk_rescued = 0 @@ -46,48 +46,48 @@ var/list/nuke_disks = list() if(!disk_rescued && station_was_nuked && !syndies_didnt_escape) feedback_set_details("round_end_result","win - syndicate nuke") - to_world("Mercenary Major Victory!") - to_world("[syndicate_name()] operatives have destroyed [station_name()]!") + to_world(span_filter_system(span_large(span_bold("Mercenary Major Victory!")))) + to_world(span_filter_system(span_bold("[syndicate_name()] operatives have destroyed [station_name()]!"))) else if (!disk_rescued && station_was_nuked && syndies_didnt_escape) feedback_set_details("round_end_result","halfwin - syndicate nuke - did not evacuate in time") - to_world("Total Annihilation") - to_world("[syndicate_name()] operatives destroyed [station_name()] but did not leave the area in time and got caught in the explosion. Next time, don't lose the disk!") + to_world(span_filter_system(span_large(span_bold("Total Annihilation")))) + to_world(span_filter_system(span_bold("[syndicate_name()] operatives destroyed [station_name()] but did not leave the area in time and got caught in the explosion.") + " Next time, don't lose the disk!")) else if (!disk_rescued && !station_was_nuked && nuke_off_station && !syndies_didnt_escape) feedback_set_details("round_end_result","halfwin - blew wrong station") - to_world("Crew Minor Victory") - to_world("[syndicate_name()] operatives secured the authentication disk but blew up something that wasn't [station_name()]. Next time, don't lose the disk!") + to_world(span_filter_system(span_large(span_bold("Crew Minor Victory")))) + to_world(span_filter_system(span_bold("[syndicate_name()] operatives secured the authentication disk but blew up something that wasn't [station_name()].") + " Next time, don't lose the disk!")) else if (!disk_rescued && !station_was_nuked && nuke_off_station && syndies_didnt_escape) feedback_set_details("round_end_result","halfwin - blew wrong station - did not evacuate in time") - to_world("[syndicate_name()] operatives have earned Darwin Award!") - to_world("[syndicate_name()] operatives blew up something that wasn't [station_name()] and got caught in the explosion. Next time, don't lose the disk!") + to_world(span_filter_system(span_large(span_bold("[syndicate_name()] operatives have earned Darwin Award!")))) + to_world(span_filter_system(span_bold("[syndicate_name()] operatives blew up something that wasn't [station_name()] and got caught in the explosion.") + " Next time, don't lose the disk!")) else if (disk_rescued && mercs.antags_are_dead()) feedback_set_details("round_end_result","loss - evacuation - disk secured - syndi team dead") - to_world("Crew Major Victory!") - to_world("The Research Staff has saved the disc and killed the [syndicate_name()] Operatives") + to_world(span_filter_system(span_large(span_bold("Crew Major Victory!")))) + to_world(span_filter_system(span_bold("The Research Staff has saved the disc and killed the [syndicate_name()] Operatives"))) else if ( disk_rescued ) feedback_set_details("round_end_result","loss - evacuation - disk secured") - to_world("Crew Major Victory") - to_world("The Research Staff has saved the disc and stopped the [syndicate_name()] Operatives!") + to_world(span_filter_system(span_large(span_bold("Crew Major Victory")))) + to_world(span_filter_system(span_bold("The Research Staff has saved the disc and stopped the [syndicate_name()] Operatives!"))) else if (!disk_rescued && mercs.antags_are_dead()) feedback_set_details("round_end_result","loss - evacuation - disk not secured") - to_world("Mercenary Minor Victory!") - to_world("The Research Staff failed to secure the authentication disk but did manage to kill most of the [syndicate_name()] Operatives!") + to_world(span_filter_system(span_large(span_bold("Mercenary Minor Victory!")))) + to_world(span_filter_system(span_bold("The Research Staff failed to secure the authentication disk but did manage to kill most of the [syndicate_name()] Operatives!"))) else if (!disk_rescued && crew_evacuated) feedback_set_details("round_end_result","halfwin - detonation averted") - to_world("Mercenary Minor Victory!") - to_world("[syndicate_name()] operatives recovered the abandoned authentication disk but detonation of [station_name()] was averted. Next time, don't lose the disk!") + to_world(span_filter_system(span_large(span_bold("Mercenary Minor Victory!")))) + to_world(span_filter_system(span_bold("[syndicate_name()] operatives recovered the abandoned authentication disk but detonation of [station_name()] was averted.") + " Next time, don't lose the disk!")) else if (!disk_rescued && !crew_evacuated) feedback_set_details("round_end_result","halfwin - interrupted") - to_world("Neutral Victory") - to_world("Round was mysteriously interrupted!") + to_world(span_filter_system(span_large(span_bold("Neutral Victory")))) + to_world(span_filter_system(span_bold("Round was mysteriously interrupted!"))) ..() return diff --git a/code/game/gamemodes/nuclear/pinpointer.dm b/code/game/gamemodes/nuclear/pinpointer.dm index 2a60b7ef8f0..b2193997539 100644 --- a/code/game/gamemodes/nuclear/pinpointer.dm +++ b/code/game/gamemodes/nuclear/pinpointer.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/pinpointer +/obj/item/pinpointer name = "pinpointer" icon = 'icons/obj/device.dmi' icon_state = "pinoff" @@ -9,37 +9,40 @@ throw_range = 20 matter = list(MAT_STEEL = 500) preserve_item = 1 - var/obj/item/weapon/disk/nuclear/the_disk = null + var/obj/item/disk/nuclear/the_disk = null var/active = 0 -/obj/item/weapon/pinpointer/Destroy() + pickup_sound = 'sound/items/pickup/device.ogg' + drop_sound = 'sound/items/drop/device.ogg' + +/obj/item/pinpointer/Destroy() active = 0 STOP_PROCESSING(SSobj, src) return ..() -/obj/item/weapon/pinpointer/attack_self() +/obj/item/pinpointer/attack_self() if(!active) active = 1 START_PROCESSING(SSobj, src) - to_chat(usr, "You activate the pinpointer") + to_chat(usr, span_notice("You activate the pinpointer")) else active = 0 STOP_PROCESSING(SSobj, src) icon_state = "pinoff" - to_chat(usr, "You deactivate the pinpointer") + to_chat(usr, span_notice("You deactivate the pinpointer")) -/obj/item/weapon/pinpointer/process() +/obj/item/pinpointer/process() if(!active) return PROCESS_KILL - + if(!the_disk) the_disk = locate() if(!the_disk) icon_state = "pinonnull" return - + set_dir(get_dir(src,the_disk)) - + switch(get_dist(src,the_disk)) if(0) icon_state = "pinondirect" @@ -50,7 +53,7 @@ if(16 to INFINITY) icon_state = "pinonfar" -/obj/item/weapon/pinpointer/examine(mob/user) +/obj/item/pinpointer/examine(mob/user) . = ..() for(var/obj/machinery/nuclearbomb/bomb in machines) if(bomb.timing) @@ -58,7 +61,7 @@ -/obj/item/weapon/pinpointer/advpinpointer +/obj/item/pinpointer/advpinpointer name = "Advanced Pinpointer" icon = 'icons/obj/device.dmi' desc = "A larger version of the normal pinpointer, this unit features a helpful quantum entanglement detection system to locate various objects that do not broadcast a locator signal." @@ -66,7 +69,7 @@ var/turf/location = null var/obj/target = null -/obj/item/weapon/pinpointer/advpinpointer/process() +/obj/item/pinpointer/advpinpointer/process() if(!active) return PROCESS_KILL if(mode == 0) @@ -76,7 +79,7 @@ if(mode == 2) workobj() -/obj/item/weapon/pinpointer/advpinpointer/proc/worklocation() +/obj/item/pinpointer/advpinpointer/proc/worklocation() if(!location) icon_state = "pinonnull" return @@ -93,7 +96,7 @@ if(16 to INFINITY) icon_state = "pinonfar" -/obj/item/weapon/pinpointer/advpinpointer/proc/workobj() +/obj/item/pinpointer/advpinpointer/proc/workobj() if(!target) icon_state = "pinonnull" return @@ -110,7 +113,7 @@ if(16 to INFINITY) icon_state = "pinonfar" -/obj/item/weapon/pinpointer/advpinpointer/verb/toggle_mode() +/obj/item/pinpointer/advpinpointer/verb/toggle_mode() set category = "Object" set name = "Toggle Pinpointer Mode" set src in view(1) @@ -178,27 +181,27 @@ /////////////////////// -/obj/item/weapon/pinpointer/nukeop +/obj/item/pinpointer/nukeop var/mode = 0 //Mode 0 locates disk, mode 1 locates the shuttle var/obj/machinery/computer/shuttle_control/multi/syndicate/home = null -/obj/item/weapon/pinpointer/nukeop/attack_self(mob/user as mob) +/obj/item/pinpointer/nukeop/attack_self(mob/user as mob) if(!active) active = 1 START_PROCESSING(SSobj, src) if(!mode) workdisk() - to_chat(user, "Authentication Disk Locator active.") + to_chat(user, span_notice("Authentication Disk Locator active.")) else worklocation() - to_chat(user, "Shuttle Locator active.") + to_chat(user, span_notice("Shuttle Locator active.")) else active = 0 STOP_PROCESSING(SSobj, src) icon_state = "pinoff" - to_chat(user, "You deactivate the pinpointer.") + to_chat(user, span_notice("You deactivate the pinpointer.")) -/obj/item/weapon/pinpointer/nukeop/process() +/obj/item/pinpointer/nukeop/process() if(!active) return PROCESS_KILL @@ -208,11 +211,11 @@ if(1) worklocation() -/obj/item/weapon/pinpointer/nukeop/proc/workdisk() +/obj/item/pinpointer/nukeop/proc/workdisk() if(bomb_set) //If the bomb is set, lead to the shuttle mode = 1 //Ensures worklocation() continues to work playsound(src, 'sound/machines/twobeep.ogg', 50, 1) //Plays a beep - visible_message("Shuttle Locator active.") //Lets the mob holding it know that the mode has changed + visible_message(span_notice("Shuttle Locator active.")) //Lets the mob holding it know that the mode has changed return //Get outta here if(!the_disk) @@ -233,11 +236,11 @@ if(16 to INFINITY) icon_state = "pinonfar" -/obj/item/weapon/pinpointer/nukeop/proc/worklocation() +/obj/item/pinpointer/nukeop/proc/worklocation() if(!bomb_set) mode = 0 playsound(src, 'sound/machines/twobeep.ogg', 50, 1) - visible_message("Authentication Disk Locator active.") + visible_message(span_notice("Authentication Disk Locator active.")) return if(!home) @@ -264,22 +267,22 @@ // This one only points to the ship. Useful if there is no nuking to occur today. -/obj/item/weapon/pinpointer/shuttle +/obj/item/pinpointer/shuttle var/shuttle_comp_id = null var/obj/machinery/computer/shuttle_control/our_shuttle = null -/obj/item/weapon/pinpointer/shuttle/attack_self(mob/user as mob) +/obj/item/pinpointer/shuttle/attack_self(mob/user as mob) if(!active) active = TRUE START_PROCESSING(SSobj, src) - to_chat(user, "Shuttle Locator active.") + to_chat(user, span_notice("Shuttle Locator active.")) else active = FALSE STOP_PROCESSING(SSobj, src) icon_state = "pinoff" - to_chat(user, "You deactivate the pinpointer.") + to_chat(user, span_notice("You deactivate the pinpointer.")) -/obj/item/weapon/pinpointer/shuttle/process() +/obj/item/pinpointer/shuttle/process() if(!active) return PROCESS_KILL @@ -295,10 +298,10 @@ if(loc.z != our_shuttle.z) //If you are on a different z-level from the shuttle icon_state = "pinonnull" - + else set_dir(get_dir(src, our_shuttle)) - + switch(get_dist(src, our_shuttle)) if(0) icon_state = "pinondirect" @@ -310,8 +313,8 @@ icon_state = "pinonfar" -/obj/item/weapon/pinpointer/shuttle/merc +/obj/item/pinpointer/shuttle/merc shuttle_comp_id = "Mercenary" -/obj/item/weapon/pinpointer/shuttle/heist - shuttle_comp_id = "Skipjack" \ No newline at end of file +/obj/item/pinpointer/shuttle/heist + shuttle_comp_id = "Skipjack" diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index c42df5e5cdb..d563959fe53 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -143,14 +143,14 @@ var/global/list/all_objectives = list() /datum/objective/anti_revolution/demote/check_completion() if(target && target.current && istype(target,/mob/living/carbon/human)) - var/obj/item/weapon/card/id/I = target.current:wear_id - if(istype(I, /obj/item/device/pda)) - var/obj/item/device/pda/P = I + var/obj/item/card/id/I = target.current:wear_id + if(istype(I, /obj/item/pda)) + var/obj/item/pda/P = I I = P.id if(!istype(I)) return 1 - if(I.assignment == USELESS_JOB) //VOREStation Edit - Visitor not Assistant + if(I.assignment == JOB_ALT_VISITOR) //VOREStation Edit - Visitor not Assistant return 1 else return 0 @@ -424,34 +424,34 @@ var/global/list/all_objectives = list() var/target_name var/global/possible_items[] = list( - "the Site Manager's antique laser gun" = /obj/item/weapon/gun/energy/captain, - "a hand teleporter" = /obj/item/weapon/hand_tele, - "an RCD" = /obj/item/weapon/rcd, - "a jetpack" = /obj/item/weapon/tank/jetpack, + "the Site Manager's antique laser gun" = /obj/item/gun/energy/captain, + "a hand teleporter" = /obj/item/hand_tele, + "an RCD" = /obj/item/rcd, + "a jetpack" = /obj/item/tank/jetpack, "a site manager's jumpsuit" = /obj/item/clothing/under/rank/captain, - "a functional AI" = /obj/item/device/aicard, + "a functional AI" = /obj/item/aicard, "a pair of magboots" = /obj/item/clothing/shoes/magboots, "the station blueprints" = /obj/item/areaeditor/blueprints, "a nasa voidsuit" = /obj/item/clothing/suit/space/void, - "28 moles of phoron (full tank)" = /obj/item/weapon/tank, + "28 moles of phoron (full tank)" = /obj/item/tank, "a sample of slime extract" = /obj/item/slime_extract, - "a piece of corgi meat" = /obj/item/weapon/reagent_containers/food/snacks/meat/corgi, + "a piece of corgi meat" = /obj/item/reagent_containers/food/snacks/meat/corgi, "a research director's jumpsuit" = /obj/item/clothing/under/rank/research_director, "a chief engineer's jumpsuit" = /obj/item/clothing/under/rank/chief_engineer, "a chief medical officer's jumpsuit" = /obj/item/clothing/under/rank/chief_medical_officer, "a head of security's jumpsuit" = /obj/item/clothing/under/rank/head_of_security, "a head of personnel's jumpsuit" = /obj/item/clothing/under/rank/head_of_personnel, - "the hypospray" = /obj/item/weapon/reagent_containers/hypospray/vial, - "the site manager's pinpointer" = /obj/item/weapon/pinpointer, + "the hypospray" = /obj/item/reagent_containers/hypospray/vial, + "the site manager's pinpointer" = /obj/item/pinpointer, "an ablative armor vest" = /obj/item/clothing/suit/armor/laserproof, ) var/global/possible_items_special[] = list( - /*"nuclear authentication disk" = /obj/item/weapon/disk/nuclear,*///Broken with the change to nuke disk making it respawn on z level change. - "nuclear gun" = /obj/item/weapon/gun/energy/gun/nuclear, - "diamond drill" = /obj/item/weapon/pickaxe/diamonddrill, - "bag of holding" = /obj/item/weapon/storage/backpack/holding, - "hyper-capacity cell" = /obj/item/weapon/cell/hyper, + /*"nuclear authentication disk" = /obj/item/disk/nuclear,*///Broken with the change to nuke disk making it respawn on z level change. + "nuclear gun" = /obj/item/gun/energy/gun/nuclear, + "diamond drill" = /obj/item/pickaxe/diamonddrill, + "bag of holding" = /obj/item/storage/backpack/holding, + "hyper-capacity cell" = /obj/item/cell/hyper, "10 diamonds" = /obj/item/stack/material/diamond, "50 gold bars" = /obj/item/stack/material/gold, "25 refined uranium bars" = /obj/item/stack/material/uranium, @@ -505,18 +505,18 @@ var/global/list/all_objectives = list() return found_amount>=target_amount if("50 coins (in bag)") - var/obj/item/weapon/moneybag/B = locate() in all_items + var/obj/item/moneybag/B = locate() in all_items if(B) var/target = text2num(target_name) var/found_amount = 0.0 - for(var/obj/item/weapon/coin/C in B) + for(var/obj/item/coin/C in B) found_amount++ return found_amount>=target if("a functional AI") - for(var/obj/item/device/aicard/C in all_items) //Check for ai card + for(var/obj/item/aicard/C in all_items) //Check for ai card for(var/mob/living/silicon/ai/M in C) if(istype(M, /mob/living/silicon/ai) && M.stat != 2) //See if any AI's are alive inside that card. return 1 @@ -557,7 +557,7 @@ var/global/list/all_objectives = list() return 0 var/current_amount - var/obj/item/weapon/rig/S + var/obj/item/rig/S if(istype(owner.current,/mob/living/carbon/human)) var/mob/living/carbon/human/H = owner.current S = H.back @@ -638,7 +638,7 @@ var/global/list/all_objectives = list() return /datum/objective/heist/kidnap/choose_target() - var/list/roles = list("Chief Engineer","Research Director","Roboticist","Chemist","Engineer") + var/list/roles = list(JOB_CHIEF_ENGINEER,JOB_RESEARCH_DIRECTOR,JOB_ROBOTICIST,JOB_CHEMIST,JOB_ENGINEER) var/list/possible_targets = list() var/list/priority_targets = list() @@ -695,19 +695,19 @@ var/global/list/all_objectives = list() target_amount = 1 loot = "a nuclear bomb" if(5) - target = /obj/item/weapon/gun + target = /obj/item/gun target_amount = 6 loot = "six guns" if(6) - target = /obj/item/weapon/gun/energy + target = /obj/item/gun/energy target_amount = 4 loot = "four energy guns" if(7) - target = /obj/item/weapon/gun/energy/laser + target = /obj/item/gun/energy/laser target_amount = 2 loot = "two laser guns" if(8) - target = /obj/item/weapon/gun/energy/ionrifle + target = /obj/item/gun/energy/ionrifle target_amount = 1 loot = "an ion gun" @@ -903,4 +903,3 @@ var/global/list/all_objectives = list() rval = 2 return 0 return rval - diff --git a/code/game/gamemodes/sandbox/h_sandbox.dm b/code/game/gamemodes/sandbox/h_sandbox.dm index 5dcffb9d7de..19954adf1b0 100644 --- a/code/game/gamemodes/sandbox/h_sandbox.dm +++ b/code/game/gamemodes/sandbox/h_sandbox.dm @@ -24,7 +24,7 @@ mob sandbox.owner = src.ckey if(src.client.holder) sandbox.admin = 1 - verbs += new/mob/proc/sandbox_panel + add_verb(src, /mob/proc/sandbox_panel) sandbox_panel() if(sandbox) sandbox.update() @@ -36,9 +36,9 @@ mob update() var/hsbpanel = "
h_Sandbox Panel

" if(admin) - hsbpanel += "Administration Tools:
" + hsbpanel += span_bold("Administration Tools:") + "
" hsbpanel += "- Toggle Object Spawning

" - hsbpanel += "Regular Tools:
" + hsbpanel += span_bold("Regular Tools:") + "
" for(var/T in hrefs) hsbpanel += "- [hrefs[T]]
" if(hsboxspawn) @@ -52,11 +52,11 @@ mob if("hsbtobj") if(!admin) return if(hsboxspawn) - to_world("Sandbox: [usr.key] has disabled object spawning!") + to_world(span_world("Sandbox: [usr.key] has disabled object spawning!")) hsboxspawn = 0 return if(!hsboxspawn) - to_world("Sandbox: [usr.key] has enabled object spawning!") + to_world(span_world("Sandbox: [usr.key] has enabled object spawning!")) hsboxspawn = 1 return if("hsbsuit") @@ -83,7 +83,7 @@ mob P.back.loc = P.loc P.back.reset_plane_and_layer() P.back = null - P.back = new/obj/item/weapon/tank/jetpack(P) + P.back = new/obj/item/tank/jetpack(P) P.back.hud_layerise() P.internal = P.back if("hsbmetal") @@ -103,7 +103,7 @@ mob LAZYADD(hsb.req_access, A) hsb.loc = usr.loc - to_chat(usr, "Sandbox: Created an airlock.") + to_chat(usr, span_bold("Sandbox: Created an airlock.")) if("hsbcanister") var/list/hsbcanisters = subtypesof(/obj/machinery/portable_atmospherics/canister) var/hsbcanister = tgui_input_list(usr, "Choose a canister to spawn:", "Sandbox", hsbcanisters) @@ -116,13 +116,13 @@ mob //var/obj/hsb = new/obj/watertank //hsb.loc = usr.loc if("hsbtoolbox") - var/obj/item/weapon/storage/hsb = new/obj/item/weapon/storage/toolbox/mechanical - for(var/obj/item/device/radio/T in hsb) + var/obj/item/storage/hsb = new/obj/item/storage/toolbox/mechanical + for(var/obj/item/radio/T in hsb) qdel(T) - new/obj/item/weapon/tool/crowbar (hsb) + new/obj/item/tool/crowbar (hsb) hsb.loc = usr.loc if("hsbmedkit") - var/obj/item/weapon/storage/firstaid/hsb = new/obj/item/weapon/storage/firstaid/regular + var/obj/item/storage/firstaid/hsb = new/obj/item/storage/firstaid/regular hsb.loc = usr.loc if("hsbobj") if(!hsboxspawn) return @@ -130,15 +130,15 @@ mob var/list/selectable = list() for(var/O in typesof(/obj/item/)) //Note, these istypes don't work - if(istype(O, /obj/item/weapon/gun)) + if(istype(O, /obj/item/gun)) continue if(istype(O, /obj/item/assembly)) continue - if(istype(O, /obj/item/device/camera)) + if(istype(O, /obj/item/camera)) continue - if(istype(O, /obj/item/weapon/dummy)) + if(istype(O, /obj/item/dummy)) continue - if(istype(O, /obj/item/weapon/melee/energy/sword)) + if(istype(O, /obj/item/melee/energy/sword)) continue if(istype(O, /obj/structure)) continue diff --git a/code/game/gamemodes/technomancer/assistance/assistance.dm b/code/game/gamemodes/technomancer/assistance/assistance.dm index 0e550a08b20..7e60741827c 100644 --- a/code/game/gamemodes/technomancer/assistance/assistance.dm +++ b/code/game/gamemodes/technomancer/assistance/assistance.dm @@ -8,7 +8,7 @@ If you are unable to receive an apprentice, the teleporter can be refunded like most equipment by sliding it into the \ catalog. Note that apprentices cannot purchase more apprentices." cost = 300 - obj_path = /obj/item/weapon/antag_spawner/technomancer_apprentice + obj_path = /obj/item/antag_spawner/technomancer_apprentice /* // For when no one wants to play support. diff --git a/code/game/gamemodes/technomancer/catalog.dm b/code/game/gamemodes/technomancer/catalog.dm index 2c4a8c925dc..6148f50bbd6 100644 --- a/code/game/gamemodes/technomancer/catalog.dm +++ b/code/game/gamemodes/technomancer/catalog.dm @@ -18,7 +18,7 @@ var/list/all_technomancer_assistance = subtypesof(/datum/technomancer/assistance var/enhancement_desc = null var/spell_power_desc = null -/obj/item/weapon/technomancer_catalog +/obj/item/technomancer_catalog name = "catalog" desc = "A \"book\" featuring a holographic display, metal cover, and miniaturized teleportation device, allowing the user to \ requisition various things from... wherever they came from." @@ -38,22 +38,22 @@ var/list/all_technomancer_assistance = subtypesof(/datum/technomancer/assistance var/show_scepter_text = 0 var/universal = FALSE //VOREStation Add - Allows non-technomancers to use this catalog -/obj/item/weapon/technomancer_catalog/apprentice +/obj/item/technomancer_catalog/apprentice name = "apprentice's catalog" budget = 700 max_budget = 700 -/obj/item/weapon/technomancer_catalog/master //for badmins, I suppose +/obj/item/technomancer_catalog/master //for badmins, I suppose name = "master's catalog" budget = 2000 max_budget = 2000 //VOREStation Add -/obj/item/weapon/technomancer_catalog/universal +/obj/item/technomancer_catalog/universal name = "universal catalog" - desc = "A catalog to be used with the KHI 'Universal Core', shamelessly \ - copied by a Kitsuhana designer from some group of 'technomancers' or another.
\ - The back of the book has 'Export Edition' stamped on it." + desc = "A catalog to be used with the 'Universal Core', its contents shamelessly \ + copied by an unknown designer from some group of 'technomancers' or another.
\ + The back of the book has " + span_italics("'Export Edition'") + " stamped on it." budget = 700 max_budget = 700 universal = TRUE @@ -62,21 +62,21 @@ var/list/all_technomancer_assistance = subtypesof(/datum/technomancer/assistance // Proc: bind_to_owner() // Parameters: 1 (new_owner - mob that the book is trying to bind to) // Description: Links the catalog to hopefully the technomancer, so that only they can access it. -/obj/item/weapon/technomancer_catalog/proc/bind_to_owner(var/mob/living/carbon/human/new_owner) +/obj/item/technomancer_catalog/proc/bind_to_owner(var/mob/living/carbon/human/new_owner) if(!owner && (technomancers.is_antagonist(new_owner.mind) || universal)) //VOREStation Edit - Universal catalogs owner = new_owner // Proc: New() // Parameters: 0 // Description: Sets up the catalog, as shown below. -/obj/item/weapon/technomancer_catalog/New() +/obj/item/technomancer_catalog/New() ..() set_up() // Proc: set_up() // Parameters: 0 // Description: Instantiates all the catalog datums for everything that can be bought. -/obj/item/weapon/technomancer_catalog/proc/set_up() +/obj/item/technomancer_catalog/proc/set_up() if(!spell_instances.len) for(var/S in all_technomancer_spells) spell_instances += new S() @@ -90,7 +90,7 @@ var/list/all_technomancer_assistance = subtypesof(/datum/technomancer/assistance for(var/A in all_technomancer_assistance) assistance_instances += new A() -/obj/item/weapon/technomancer_catalog/apprentice/set_up() +/obj/item/technomancer_catalog/apprentice/set_up() ..() for(var/datum/technomancer/assistance/apprentice/A in assistance_instances) assistance_instances.Remove(A) @@ -99,21 +99,21 @@ var/list/all_technomancer_assistance = subtypesof(/datum/technomancer/assistance // Parameters: 1 (category - the category link to display) // Description: Shows an href link to go to a spell subcategory if the category is not already selected, otherwise is bold, to reduce // code duplicating. -/obj/item/weapon/technomancer_catalog/proc/show_categories(var/category) +/obj/item/technomancer_catalog/proc/show_categories(var/category) if(category) if(spell_tab != category) return "[category]" else - return "[category]" + return span_bold("[category]") // Proc: attack_self() // Parameters: 1 (user - the mob clicking on the catalog) // Description: Shows an HTML window, to buy equipment and spells, if the user is the legitimate owner. Otherwise it cannot be used. -/obj/item/weapon/technomancer_catalog/attack_self(mob/user) +/obj/item/technomancer_catalog/attack_self(mob/user) if(!user) return 0 if(owner && user != owner) - to_chat(user, "\The [src] knows that you're not the original owner, and has locked you out of it!") + to_chat(user, span_danger("\The [src] knows that you're not the original owner, and has locked you out of it!")) return 0 else if(!owner) bind_to_owner(user) @@ -137,7 +137,7 @@ var/list/all_technomancer_assistance = subtypesof(/datum/technomancer/assistance continue if(spell_tab != ALL_SPELLS && spell.category != spell_tab) continue - dat += "[spell.name]
" + dat += span_bold("[spell.name]") + "
" dat += "[spell.desc]
" if(spell.spell_power_desc) dat += "Spell Power: [spell.spell_power_desc]
" @@ -153,13 +153,13 @@ var/list/all_technomancer_assistance = subtypesof(/datum/technomancer/assistance var/dat = "" user.set_machine(src) dat += "Functions | " - dat += "Equipment | " + dat += span_bold("Equipment") + " | " dat += "Consumables | " dat += "Assistance | " dat += "Info
" dat += "You currently have a budget of [budget]/[max_budget].

" for(var/datum/technomancer/equipment/E in equipment_instances) - dat += "[E.name]
" + dat += span_bold("[E.name]") + "
" dat += "[E.desc]
" if(E.cost <= budget) dat += "Purchase ([E.cost])

" @@ -172,12 +172,12 @@ var/list/all_technomancer_assistance = subtypesof(/datum/technomancer/assistance user.set_machine(src) dat += "Functions | " dat += "Equipment | " - dat += "Consumables | " + dat += span_bold("Consumables") + " | " dat += "Assistance | " dat += "Info
" dat += "You currently have a budget of [budget]/[max_budget].

" for(var/datum/technomancer/consumable/C in consumable_instances) - dat += "[C.name]
" + dat += span_bold("[C.name]") + "
" dat += "[C.desc]
" if(C.cost <= budget) dat += "Purchase ([C.cost])

" @@ -191,11 +191,11 @@ var/list/all_technomancer_assistance = subtypesof(/datum/technomancer/assistance dat += "Functions | " dat += "Equipment | " dat += "Consumables | " - dat += "Assistance | " + dat += span_bold("Assistance") + " | " dat += "Info
" dat += "You currently have a budget of [budget]/[max_budget].

" for(var/datum/technomancer/assistance/A in assistance_instances) - dat += "[A.name]
" + dat += span_bold("[A.name]") + "
" dat += "[A.desc]
" if(A.cost <= budget) dat += "Purchase ([A.cost])

" @@ -210,7 +210,7 @@ var/list/all_technomancer_assistance = subtypesof(/datum/technomancer/assistance dat += "Equipment | " dat += "Consumables | " dat += "Assistance | " - dat += "Info
" + dat += span_bold("Info") + "
" dat += "You currently have a budget of [budget]/[max_budget].

" dat += "
" dat += "

Manipulation Core Owner's Manual


" @@ -246,7 +246,7 @@ var/list/all_technomancer_assistance = subtypesof(/datum/technomancer/assistance the core detects itself being carried, with the carrier not being authorized. It will respond by giving a \ massive amount of Instability to them, so be careful, or perhaps make use of that.
" dat += "
" - dat += "You can refund functions, equipment items, and assistance items, so long as you are in your base. \ + dat += span_bold("You can refund functions, equipment items, and assistance items, so long as you are in your base.") + " \ Once you leave, you can't refund anything, however you can still buy things if you still have points remaining. \ To refund functions, just click the 'Refund Functions' button on the top, when in the functions tabs. \ For equipment items, you need to hit it against the catalog.
" @@ -273,7 +273,7 @@ var/list/all_technomancer_assistance = subtypesof(/datum/technomancer/assistance // Proc: Topic() // Parameters: 2 (href - don't know, href_list - the choice that the person using the interface above clicked on.) // Description: Acts upon clicks on links for the catalog, if they are the rightful owner. -/obj/item/weapon/technomancer_catalog/Topic(href, href_list) +/obj/item/technomancer_catalog/Topic(href, href_list) ..() var/mob/living/carbon/human/H = usr @@ -300,21 +300,21 @@ var/list/all_technomancer_assistance = subtypesof(/datum/technomancer/assistance new_spell = spell break - var/obj/item/weapon/technomancer_core/core = null - if(istype(H.back, /obj/item/weapon/technomancer_core)) + var/obj/item/technomancer_core/core = null + if(istype(H.back, /obj/item/technomancer_core)) core = H.back if(new_spell && core) if(new_spell.cost <= budget) if(!core.has_spell(new_spell)) budget -= new_spell.cost - to_chat(H, "You have just bought [new_spell.name].") + to_chat(H, span_notice("You have just bought [new_spell.name].")) core.add_spell(new_spell.obj_path, new_spell.name, new_spell.ability_icon_state) else //We already own it. - to_chat(H, "You already have [new_spell.name]!") + to_chat(H, span_danger("You already have [new_spell.name]!")) return else //Can't afford. - to_chat(H, "You can't afford that!") + to_chat(H, span_danger("You can't afford that!")) return // This needs less copypasta. @@ -328,22 +328,22 @@ var/list/all_technomancer_assistance = subtypesof(/datum/technomancer/assistance if(desired_object) if(desired_object.cost <= budget) budget -= desired_object.cost - to_chat(H, "You have just bought \a [desired_object.name].") + to_chat(H, span_notice("You have just bought \a [desired_object.name].")) var/obj/O = new desired_object.obj_path(get_turf(H)) technomancer_belongings.Add(O) // Used for the Track spell. else //Can't afford. - to_chat(H, "You can't afford that!") + to_chat(H, span_danger("You can't afford that!")) return if(href_list["refund_functions"]) var/turf/T = get_turf(H) if(T.z in using_map.player_levels) - to_chat(H, "You can only refund at your base, it's too late now!") + to_chat(H, span_danger("You can only refund at your base, it's too late now!")) return - var/obj/item/weapon/technomancer_core/core = null - if(istype(H.back, /obj/item/weapon/technomancer_core)) + var/obj/item/technomancer_core/core = null + if(istype(H.back, /obj/item/technomancer_core)) core = H.back if(core) for(var/obj/spellbutton/spell in core.spells) @@ -354,32 +354,32 @@ var/list/all_technomancer_assistance = subtypesof(/datum/technomancer/assistance break attack_self(H) -/obj/item/weapon/technomancer_catalog/attackby(var/atom/movable/AM, var/mob/user) +/obj/item/technomancer_catalog/attackby(var/atom/movable/AM, var/mob/user) var/turf/T = get_turf(user) if(T.z in using_map.player_levels) - to_chat(user, "You can only refund at your base, it's too late now!") + to_chat(user, span_danger("You can only refund at your base, it's too late now!")) return for(var/datum/technomancer/equipment/E in equipment_instances + assistance_instances) if(AM.type == E.obj_path) // We got a match. if(budget + E.cost > max_budget) - to_chat(user, "\The [src] will not allow you to overflow your maximum budget by refunding that.") + to_chat(user, span_warning("\The [src] will not allow you to overflow your maximum budget by refunding that.")) return else budget = budget + E.cost - to_chat(user, "You've refunded \the [AM].") + to_chat(user, span_notice("You've refunded \the [AM].")) // We sadly need to do special stuff here or else people who refund cores with spells will lose points permanently. - if(istype(AM, /obj/item/weapon/technomancer_core)) - var/obj/item/weapon/technomancer_core/core = AM + if(istype(AM, /obj/item/technomancer_core)) + var/obj/item/technomancer_core/core = AM for(var/obj/spellbutton/spell in core.spells) for(var/datum/technomancer/spell/spell_datum in spell_instances) if(spell_datum.obj_path == spell.spellpath) budget += spell_datum.cost - to_chat(user, "[spell.name] was inside \the [core], and was refunded.") + to_chat(user, span_notice("[spell.name] was inside \the [core], and was refunded.")) core.remove_spell(spell) break qdel(AM) return - to_chat(user, "\The [src] is unable to refund \the [AM].") + to_chat(user, span_warning("\The [src] is unable to refund \the [AM].")) #undef ALL_SPELLS diff --git a/code/game/gamemodes/technomancer/clothing.dm b/code/game/gamemodes/technomancer/clothing.dm index 3c3c79d58e0..b25472b3cc3 100644 --- a/code/game/gamemodes/technomancer/clothing.dm +++ b/code/game/gamemodes/technomancer/clothing.dm @@ -3,7 +3,7 @@ desc = "It's a very shiny and somewhat protective suit, built to help carry cores on the user's back." icon_state = "technomancer_suit" body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS|FEET|HANDS - allowed = list(/obj/item/weapon/tank) + allowed = list(/obj/item/tank) armor = list(melee = 50, bullet = 20, laser = 30, energy = 30, bomb = 10, bio = 0, rad = 40) siemens_coefficient = 0.75 diff --git a/code/game/gamemodes/technomancer/core_obj.dm b/code/game/gamemodes/technomancer/core_obj.dm index 0bdf378582d..333b445259a 100644 --- a/code/game/gamemodes/technomancer/core_obj.dm +++ b/code/game/gamemodes/technomancer/core_obj.dm @@ -1,5 +1,5 @@ //The base core object, worn on the wizard's back. -/obj/item/weapon/technomancer_core +/obj/item/technomancer_core name = "manipulation core" desc = "A bewilderingly complex 'black box' that allows the wearer to accomplish amazing feats." icon = 'icons/obj/technomancer.dmi' @@ -37,24 +37,24 @@ var/max_summons = 10 // Maximum allowed summoned entities. Some cores will have different caps. var/universal = FALSE // Allows non-technomancers to use the core - VOREStation Add -/obj/item/weapon/technomancer_core/New() +/obj/item/technomancer_core/New() ..() START_PROCESSING(SSobj, src) -/obj/item/weapon/technomancer_core/Destroy() +/obj/item/technomancer_core/Destroy() dismiss_all_summons() STOP_PROCESSING(SSobj, src) return ..() // Add the spell buttons to the HUD. -/obj/item/weapon/technomancer_core/equipped(mob/user) +/obj/item/technomancer_core/equipped(mob/user) wearer = user for(var/obj/spellbutton/spell in spells) wearer.ability_master.add_technomancer_ability(spell, spell.ability_icon_state) ..() // Removes the spell buttons from the HUD. -/obj/item/weapon/technomancer_core/dropped(mob/user) +/obj/item/technomancer_core/dropped(mob/user) for(var/obj/screen/ability/obj_based/technomancer/A in wearer.ability_master.ability_objects) wearer.ability_master.remove_ability(A) wearer = null @@ -65,23 +65,23 @@ return 0 /mob/living/carbon/human/technomancer_pay_energy(amount) - if(istype(back, /obj/item/weapon/technomancer_core)) - var/obj/item/weapon/technomancer_core/TC = back + if(istype(back, /obj/item/technomancer_core)) + var/obj/item/technomancer_core/TC = back return TC.pay_energy(amount) return 0 -/obj/item/weapon/technomancer_core/proc/pay_energy(amount) +/obj/item/technomancer_core/proc/pay_energy(amount) amount = round(amount * energy_cost_modifier, 0.1) if(amount <= energy) energy = max(energy - amount, 0) return 1 return 0 -/obj/item/weapon/technomancer_core/proc/give_energy(amount) +/obj/item/technomancer_core/proc/give_energy(amount) energy = min(energy + amount, max_energy) return 1 -/obj/item/weapon/technomancer_core/process() +/obj/item/technomancer_core/process() var/old_energy = energy regenerate() pay_dues() @@ -94,20 +94,20 @@ if(!wearer || wearer.stat == DEAD) // Unlock if we're dead or not worn. canremove = TRUE -/obj/item/weapon/technomancer_core/proc/regenerate() +/obj/item/technomancer_core/proc/regenerate() energy = min(max(energy + regen_rate, 0), max_energy) if(wearer && ishuman(wearer)) var/mob/living/carbon/human/H = wearer H.wiz_energy_update_hud() // We pay for on-going effects here. -/obj/item/weapon/technomancer_core/proc/pay_dues() +/obj/item/technomancer_core/proc/pay_dues() if(summoned_mobs.len) pay_energy( round(summoned_mobs.len * 5) ) // Because sometimes our summoned mobs will stop existing and leave a null entry in the list, we need to do cleanup every // so often so .len remains reliable. -/obj/item/weapon/technomancer_core/proc/maintain_summon_list() +/obj/item/technomancer_core/proc/maintain_summon_list() if(!summoned_mobs.len) // No point doing work if there's no work to do. return for(var/A in summoned_mobs) @@ -121,13 +121,13 @@ if(L.stat == DEAD) summoned_mobs -= L spawn(1) - L.visible_message("\The [L] begins to fade away...") + L.visible_message(span_infoplain(span_bold("\The [L]") + " begins to fade away...")) animate(L, alpha = 255, alpha = 0, time = 30) // Makes them fade into nothingness. sleep(30) qdel(L) // Deletes all the summons and wards from the core, so that Destroy() won't have issues. -/obj/item/weapon/technomancer_core/proc/dismiss_all_summons() +/obj/item/technomancer_core/proc/dismiss_all_summons() for(var/mob/living/L in summoned_mobs) summoned_mobs -= L qdel(L) @@ -139,7 +139,7 @@ /obj/spellbutton name = "generic spellbutton" var/spellpath = null - var/obj/item/weapon/technomancer_core/core = null + var/obj/item/technomancer_core/core = null var/ability_icon_state = null /obj/spellbutton/New(loc, var/path, var/new_name, var/new_icon_state) @@ -160,27 +160,28 @@ /obj/spellbutton/DblClick() return Click() -/mob/living/carbon/human/Stat() +/mob/living/carbon/human/get_status_tab_items() . = ..() - if(. && istype(back,/obj/item/weapon/technomancer_core)) - var/obj/item/weapon/technomancer_core/core = back - setup_technomancer_stat(core) + if(. && istype(back,/obj/item/technomancer_core)) + var/obj/item/technomancer_core/core = back + . += setup_technomancer_stat(core) -/mob/living/carbon/human/proc/setup_technomancer_stat(var/obj/item/weapon/technomancer_core/core) - if(core && statpanel("Spell Core")) +/mob/living/carbon/human/proc/setup_technomancer_stat(var/obj/item/technomancer_core/core) + . = list() + if(core) var/charge_status = "[core.energy]/[core.max_energy] ([round( (core.energy / core.max_energy) * 100)]%) \ ([round(core.energy_delta)]/s)" var/instability_delta = instability - last_instability var/instability_status = "[src.instability] ([round(instability_delta, 0.1)]/s)" - stat("Core charge", charge_status) - stat("User instability", instability_status) + . += "Core charge: [charge_status]" + . += "User instability: [instability_status]" for(var/obj/spellbutton/button in core.spells) - stat(button) + . += button -/obj/item/weapon/technomancer_core/proc/add_spell(var/path, var/new_name, var/ability_icon_state) +/obj/item/technomancer_core/proc/add_spell(var/path, var/new_name, var/ability_icon_state) if(!path || !ispath(path)) - message_admins("ERROR: /obj/item/weapon/technomancer_core/add_spell() was not given a proper path! \ + message_admins("ERROR: /obj/item/technomancer_core/add_spell() was not given a proper path! \ The path supplied was [path].") return var/obj/spellbutton/spell = new(src, path, new_name, ability_icon_state) @@ -188,7 +189,7 @@ if(wearer) wearer.ability_master.add_technomancer_ability(spell, ability_icon_state) -/obj/item/weapon/technomancer_core/proc/remove_spell(var/obj/spellbutton/spell_to_remove) +/obj/item/technomancer_core/proc/remove_spell(var/obj/spellbutton/spell_to_remove) if(spell_to_remove in spells) spells.Remove(spell_to_remove) if(wearer) @@ -197,12 +198,12 @@ wearer.ability_master.remove_ability(A) qdel(spell_to_remove) -/obj/item/weapon/technomancer_core/proc/remove_all_spells() +/obj/item/technomancer_core/proc/remove_all_spells() for(var/obj/spellbutton/spell in spells) spells.Remove(spell) qdel(spell) -/obj/item/weapon/technomancer_core/proc/has_spell(var/datum/technomancer/spell_to_check) +/obj/item/technomancer_core/proc/has_spell(var/datum/technomancer/spell_to_check) for(var/obj/spellbutton/spell in spells) if(spell.spellpath == spell_to_check.obj_path) return 1 @@ -210,8 +211,8 @@ /mob/living/carbon/human/proc/wiz_energy_update_hud() if(client && hud_used) - if(istype(back, /obj/item/weapon/technomancer_core)) //I reckon there's a better way of doing this. - var/obj/item/weapon/technomancer_core/core = back + if(istype(back, /obj/item/technomancer_core)) //I reckon there's a better way of doing this. + var/obj/item/technomancer_core/core = back wiz_energy_display.invisibility = 0 var/ratio = core.energy / core.max_energy ratio = max(round(ratio, 0.05) * 100, 5) @@ -224,7 +225,7 @@ //Variants which the wizard can buy. //High risk, high reward core. -/obj/item/weapon/technomancer_core/unstable +/obj/item/technomancer_core/unstable name = "unstable core" desc = "A bewilderingly complex 'black box' that allows the wearer to accomplish amazing feats. This one is rather unstable, \ and could prove dangerous to the user, as it feeds off unstable energies that can occur with overuse of this machine." @@ -235,7 +236,7 @@ energy_cost_modifier = 0.7 spell_power_modifier = 1.1 -/obj/item/weapon/technomancer_core/unstable/regenerate() +/obj/item/technomancer_core/unstable/regenerate() var/instability_bonus = 0 if(loc && ishuman(loc)) var/mob/living/carbon/human/H = loc @@ -246,7 +247,7 @@ H.wiz_energy_update_hud() //Lower capacity but safer core. -/obj/item/weapon/technomancer_core/rapid +/obj/item/technomancer_core/rapid name = "rapid core" desc = "A bewilderingly complex 'black box' that allows the wearer to accomplish amazing feats. This one has a superior \ recharge rate, at the price of storage capacity. It also includes integrated motion assistance, increasing agility somewhat." @@ -258,7 +259,7 @@ cooldown_modifier = 0.9 //Big batteries but slow regen, buying energy spells is highly recommended. -/obj/item/weapon/technomancer_core/bulky +/obj/item/technomancer_core/bulky name = "bulky core" desc = "A bewilderingly complex 'black box' that allows the wearer to accomplish amazing feats. This variant is more \ cumbersome and bulky, due to the additional energy capacitors installed, which allows for a massive energy storage, as well \ @@ -272,7 +273,7 @@ spell_power_modifier = 1.4 // Using this can result in abilities costing less energy. If you're lucky. -/obj/item/weapon/technomancer_core/recycling +/obj/item/technomancer_core/recycling name = "recycling core" desc = "A bewilderingly complex 'black box' that allows the wearer to accomplish amazing feats. This type tries to recover \ some of the energy lost from using functions due to inefficiency." @@ -282,17 +283,17 @@ instability_modifier = 0.6 energy_cost_modifier = 0.8 -/obj/item/weapon/technomancer_core/recycling/pay_energy(amount) +/obj/item/technomancer_core/recycling/pay_energy(amount) var/success = ..() if(success) if(prob(30)) give_energy(round(amount / 2)) if(amount >= 50) // Managing to recover less than half of this isn't worth telling the user about. - to_chat(wearer, "\The [src] has recovered [amount/2 >= 1000 ? "a lot of" : "some"] energy.") + to_chat(wearer, span_notice("\The [src] has recovered [amount/2 >= 1000 ? "a lot of" : "some"] energy.")) return success // For those dedicated to summoning hoards of things. -/obj/item/weapon/technomancer_core/summoner +/obj/item/technomancer_core/summoner name = "summoner core" desc = "A bewilderingly complex 'black box' that allows the wearer to accomplish amazing feats. This type is optimized for \ plucking hapless creatures and machines from other locations, to do your bidding. The maximum amount of entities that you can \ @@ -304,12 +305,12 @@ instability_modifier = 1.2 spell_power_modifier = 1.2 -/obj/item/weapon/technomancer_core/summoner/pay_dues() +/obj/item/technomancer_core/summoner/pay_dues() if(summoned_mobs.len) pay_energy( round(summoned_mobs.len) ) // For those who hate instability. -/obj/item/weapon/technomancer_core/safety +/obj/item/technomancer_core/safety name = "safety core" desc = "A bewilderingly complex 'black box' that allows the wearer to accomplish amazing feats. This type is designed to be \ the closest thing you can get to 'safe' for a Core. Instability from this is significantly reduced. You can even dance if \ @@ -321,7 +322,7 @@ spell_power_modifier = 0.7 // For those who want to blow everything on a few spells. -/obj/item/weapon/technomancer_core/overcharged +/obj/item/technomancer_core/overcharged name = "overcharged core" desc = "A bewilderingly complex 'black box' that allows the wearer to accomplish amazing feats. This type will use as much \ energy as it can in order to pump up the strength of functions used to insane levels." @@ -333,7 +334,7 @@ energy_cost_modifier = 2.0 // For use only for the GOLEM. -/obj/item/weapon/technomancer_core/golem +/obj/item/technomancer_core/golem name = "integrated core" desc = "A bewilderingly complex 'black box' that allows the wearer to accomplish amazing feats. This type is not meant \ to be worn on the back like other cores. Instead it is meant to be installed inside a synthetic shell. As a result, it's \ @@ -344,19 +345,19 @@ instability_modifier = 0.75 -/obj/item/weapon/technomancer_core/verb/toggle_lock() +/obj/item/technomancer_core/verb/toggle_lock() set name = "Toggle Core Lock" set category = "Object" set desc = "Toggles the locking mechanism on your manipulation core." canremove = !canremove - to_chat(usr, "You [canremove ? "de" : ""]activate the locking mechanism on \the [src].") + to_chat(usr, span_notice("You [canremove ? "de" : ""]activate the locking mechanism on \the [src].")) //For the adminbuse! VOREStation Add -/obj/item/weapon/technomancer_core/universal +/obj/item/technomancer_core/universal name = "universal core" desc = "A bewilderingly complex 'black box' that allows the wearer to accomplish amazing feats. \ - This one is a copy of a 'technomancer' core, shamelessly ripped off by a Kitsuhana pattern designer \ + This one is a copy of a 'technomancer' core, shamelessly ripped off by an unknown pattern designer \ for fun, so that he could perform impressive 'magic'. The pack sloshes slightly if you shake it.
\ Under the straps, 'Export Edition' is printed." energy = 7000 @@ -365,4 +366,4 @@ instability_modifier = 0.3 spell_power_modifier = 0.7 universal = TRUE -//VOREStation Add End \ No newline at end of file +//VOREStation Add End diff --git a/code/game/gamemodes/technomancer/devices/disposable_teleporter.dm b/code/game/gamemodes/technomancer/devices/disposable_teleporter.dm index a15fcd5b350..f514b75e5ab 100644 --- a/code/game/gamemodes/technomancer/devices/disposable_teleporter.dm +++ b/code/game/gamemodes/technomancer/devices/disposable_teleporter.dm @@ -3,9 +3,9 @@ desc = "An ultra-safe teleportation device that can directly teleport you to a number of locations at minimal risk, however \ it has a limited amount of charges." cost = 50 - obj_path = /obj/item/weapon/disposable_teleporter + obj_path = /obj/item/disposable_teleporter -/obj/item/weapon/disposable_teleporter +/obj/item/disposable_teleporter name = "disposable teleporter" desc = "A very compact personal teleportation device. It's very precise and safe, however it can only be used a few times." icon = 'icons/obj/device.dmi' @@ -16,19 +16,19 @@ origin_tech = list(TECH_BLUESPACE = 4, TECH_POWER = 3) //This one is what the wizard starts with. The above is a better version that can be purchased. -/obj/item/weapon/disposable_teleporter/free +/obj/item/disposable_teleporter/free name = "complimentary disposable teleporter" desc = "A very compact personal teleportation device. It's very precise and safe, however it can only be used once. This \ one has been provided to allow you to leave your hideout." uses = 1 -/obj/item/weapon/disposable_teleporter/examine(mob/user) +/obj/item/disposable_teleporter/examine(mob/user) . = ..() . += "[uses] uses remaining." -/obj/item/weapon/disposable_teleporter/attack_self(mob/user as mob) +/obj/item/disposable_teleporter/attack_self(mob/user as mob) if(!uses) - to_chat(user, "\The [src] has ran out of uses, and is now useless to you!") + to_chat(user, span_danger("\The [src] has ran out of uses, and is now useless to you!")) return else var/area_wanted = tgui_input_list(user, "Area to teleport to", "Teleportation", teleportlocs) @@ -74,8 +74,8 @@ if(destination) user.forceMove(destination) - to_chat(user, "You are teleported to \the [A].") + to_chat(user, span_notice("You are teleported to \the [A].")) uses-- if(uses <= 0) - to_chat(user, "\The [src] has ran out of uses, and disintegrates from your hands.") + to_chat(user, span_danger("\The [src] has ran out of uses, and disintegrates from your hands.")) qdel(src) diff --git a/code/game/gamemodes/technomancer/devices/gloves_of_regen.dm b/code/game/gamemodes/technomancer/devices/gloves_of_regen.dm index 9d78afe0b2c..3e38955e109 100644 --- a/code/game/gamemodes/technomancer/devices/gloves_of_regen.dm +++ b/code/game/gamemodes/technomancer/devices/gloves_of_regen.dm @@ -24,7 +24,7 @@ if(H && H.gloves == src) wearer = H if(wearer.can_feel_pain()) - to_chat(H, "You feel a stabbing sensation in your hands as you slide \the [src] on!") + to_chat(H, span_danger("You feel a stabbing sensation in your hands as you slide \the [src] on!")) wearer.custom_pain("You feel a sharp pain in your hands!",1) ..() @@ -32,7 +32,7 @@ ..() if(wearer) if(wearer.can_feel_pain()) - to_chat(wearer, "You feel the hypodermic needles as you slide \the [src] off!") + to_chat(wearer, span_danger("You feel the hypodermic needles as you slide \the [src] off!")) wearer.custom_pain("Your hands hurt like hell!",1) wearer = null @@ -63,4 +63,4 @@ wearer.nutrition = max(wearer.nutrition - 10, 0) if(wearer.getCloneLoss()) wearer.adjustCloneLoss(-0.1) - wearer.nutrition = max(wearer.nutrition - 20, 0) \ No newline at end of file + wearer.nutrition = max(wearer.nutrition - 20, 0) diff --git a/code/game/gamemodes/technomancer/devices/hypos.dm b/code/game/gamemodes/technomancer/devices/hypos.dm index 002b3cfff0f..ccdf0082dc7 100644 --- a/code/game/gamemodes/technomancer/devices/hypos.dm +++ b/code/game/gamemodes/technomancer/devices/hypos.dm @@ -2,47 +2,47 @@ name = "Trauma Hypo" desc = "A extended capacity hypo which can treat blunt trauma." cost = 25 - obj_path = /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/brute + obj_path = /obj/item/reagent_containers/hypospray/autoinjector/biginjector/brute /datum/technomancer/consumable/hypo_burn name = "Burn Hypo" desc = "A extended capacity hypo which can treat severe burns." cost = 25 - obj_path = /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/burn + obj_path = /obj/item/reagent_containers/hypospray/autoinjector/biginjector/burn /datum/technomancer/consumable/hypo_tox name = "Toxin Hypo" desc = "A extended capacity hypo which can treat various toxins." cost = 25 - obj_path = /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/toxin + obj_path = /obj/item/reagent_containers/hypospray/autoinjector/biginjector/toxin /datum/technomancer/consumable/hypo_oxy name = "Oxy Hypo" desc = "A extended capacity hypo which can treat oxygen deprivation." cost = 25 - obj_path = /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/oxy + obj_path = /obj/item/reagent_containers/hypospray/autoinjector/biginjector/oxy /datum/technomancer/consumable/hypo_purity name = "Purity Hypo" desc = "A extended capacity hypo which can remove various inpurities in the system such as viruses, infections, \ radiation, and genetic problems." cost = 25 - obj_path = /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/purity + obj_path = /obj/item/reagent_containers/hypospray/autoinjector/biginjector/purity /datum/technomancer/consumable/hypo_pain name = "Pain Hypo" desc = "A extended capacity hypo which contains potent painkillers." cost = 25 - obj_path = /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/pain + obj_path = /obj/item/reagent_containers/hypospray/autoinjector/biginjector/pain /datum/technomancer/consumable/hypo_organ name = "Organ Hypo" desc = "A extended capacity hypo which is designed to fix internal organ problems." cost = 50 - obj_path = /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/organ + obj_path = /obj/item/reagent_containers/hypospray/autoinjector/biginjector/organ /datum/technomancer/consumable/hypo_combat name = "Combat Hypo" desc = "A extended capacity hypo containing a dangerous cocktail of various combat stims." cost = 75 - obj_path = /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/combat + obj_path = /obj/item/reagent_containers/hypospray/autoinjector/biginjector/combat diff --git a/code/game/gamemodes/technomancer/devices/implants.dm b/code/game/gamemodes/technomancer/devices/implants.dm index e2c1857d5d5..fd30fdd7780 100644 --- a/code/game/gamemodes/technomancer/devices/implants.dm +++ b/code/game/gamemodes/technomancer/devices/implants.dm @@ -2,10 +2,10 @@ name = "Freedom Implant" desc = "A hidden implant which allows one to escape bindings such as handcuffs." cost = 50 - obj_path = /obj/item/weapon/storage/box/syndie_kit/imp_freedom + obj_path = /obj/item/storage/box/syndie_kit/imp_freedom /datum/technomancer/consumable/explosive_implant name = "Explosive Implant" desc = "A hidden implant which will explode if it hears a passphrase." cost = 150 - obj_path = /obj/item/weapon/storage/box/syndie_kit/imp_explosive \ No newline at end of file + obj_path = /obj/item/storage/box/syndie_kit/imp_explosive \ No newline at end of file diff --git a/code/game/gamemodes/technomancer/devices/shield_armor.dm b/code/game/gamemodes/technomancer/devices/shield_armor.dm index eec695278f2..20c42faa303 100644 --- a/code/game/gamemodes/technomancer/devices/shield_armor.dm +++ b/code/game/gamemodes/technomancer/devices/shield_armor.dm @@ -18,7 +18,7 @@ blood_overlay_type = "armor" slowdown = 0 armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0) - action_button_name = "Toggle Shield Projector" + actions_types = list(/datum/action/item_action/toggle_shield_projector) var/active = 0 var/damage_to_energy_multiplier = 50.0 //Determines how much energy to charge for blocking, e.g. 20 damage attack = 750 energy cost var/datum/effect/effect/system/spark_spread/spark_system = null @@ -49,7 +49,7 @@ var/damage_to_energy_cost = (damage_to_energy_multiplier * damage_blocked) if(!user.technomancer_pay_energy(damage_to_energy_cost)) - to_chat(user, "Your shield fades due to lack of energy!") + to_chat(user, span_danger("Your shield fades due to lack of energy!")) active = 0 update_icon() return 0 @@ -66,8 +66,8 @@ P.agony -= agony_blocked P.damage = P.damage - damage_blocked - user.visible_message("\The [user]'s [src] absorbs [attack_text]!") - to_chat(user, "Your shield has absorbed most of \the [damage_source].") + user.visible_message(span_danger("\The [user]'s [src] absorbs [attack_text]!")) + to_chat(user, span_warning("Your shield has absorbed most of \the [damage_source].")) spark_system.start() playsound(src, 'sound/weapons/blade1.ogg', 50, 1) @@ -75,10 +75,10 @@ /obj/item/clothing/suit/armor/shield/attack_self(mob/user) active = !active - to_chat(user, "You [active ? "" : "de"]activate \the [src].") + to_chat(user, span_notice("You [active ? "" : "de"]activate \the [src].")) update_icon() user.update_inv_wear_suit() - user.update_action_buttons() + user.update_mob_action_buttons() /obj/item/clothing/suit/armor/shield/update_icon() icon_state = "shield_armor_[active]" @@ -88,4 +88,4 @@ else set_light(0, 0, l_color = "#000000") ..() - return \ No newline at end of file + return diff --git a/code/game/gamemodes/technomancer/devices/tesla_armor.dm b/code/game/gamemodes/technomancer/devices/tesla_armor.dm index 8093db0bec3..c6e1ae3cc44 100644 --- a/code/game/gamemodes/technomancer/devices/tesla_armor.dm +++ b/code/game/gamemodes/technomancer/devices/tesla_armor.dm @@ -14,7 +14,7 @@ blood_overlay_type = "armor" slowdown = 0.5 armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0) - action_button_name = "Toggle Tesla Armor" + actions_types = list(/datum/action/item_action/toggle_tesla_armor) var/active = 1 //Determines if the armor will zap or block var/ready = 1 //Determines if the next attack will be blocked, as well if a strong lightning bolt is sent out at the attacker. var/ready_icon_state = "tesla_armor_1" //also wip @@ -46,18 +46,18 @@ spawn(cooldown_to_charge) ready = 1 update_icon() - to_chat(user, "\The [src] is ready to protect you once more.") - visible_message("\The [user]'s [src.name] blocks [attack_text]!") + to_chat(user, span_notice("\The [src] is ready to protect you once more.")) + visible_message(span_danger("\The [user]'s [src.name] blocks [attack_text]!")) update_icon() return 1 return 0 /obj/item/clothing/suit/armor/tesla/attack_self(mob/user) active = !active - to_chat(user, "You [active ? "" : "de"]activate \the [src].") + to_chat(user, span_notice("You [active ? "" : "de"]activate \the [src].")) update_icon() user.update_inv_wear_suit() - user.update_action_buttons() + user.update_mob_action_buttons() /obj/item/clothing/suit/armor/tesla/update_icon() if(active && ready) @@ -72,7 +72,7 @@ if(ishuman(loc)) var/mob/living/carbon/human/H = loc H.update_inv_wear_suit(0) - H.update_action_buttons() + H.update_mob_action_buttons() ..() /obj/item/clothing/suit/armor/tesla/proc/shoot_lightning(mob/target, power) @@ -80,5 +80,5 @@ lightning.power = power lightning.old_style_target(target) lightning.fire() - visible_message("\The [src] strikes \the [target] with lightning!") - playsound(src, 'sound/weapons/gauss_shoot.ogg', 75, 1) \ No newline at end of file + visible_message(span_danger("\The [src] strikes \the [target] with lightning!")) + playsound(src, 'sound/weapons/gauss_shoot.ogg', 75, 1) diff --git a/code/game/gamemodes/technomancer/equipment.dm b/code/game/gamemodes/technomancer/equipment.dm index c4cc82bc003..eb1002c31d4 100644 --- a/code/game/gamemodes/technomancer/equipment.dm +++ b/code/game/gamemodes/technomancer/equipment.dm @@ -8,32 +8,32 @@ Energy Cost Modifier: 100%
\ Spell Power: 100%" cost = 100 - obj_path = /obj/item/weapon/technomancer_core + obj_path = /obj/item/technomancer_core /datum/technomancer/equipment/rapid_core name = "Rapid Core" desc = "A core optimized for passive regeneration, however at the cost of capacity. Has a capacity of 7,000 units of energy, and \ recharges at a rate of 70 units. Complex gravatics and force manipulation allows the wearer to also run slightly faster.
\ " + span_red("Capacity: 7k") + "
\ - " + span_green("Recharge: 70/s") + "
\ + " + span_green(span_bold("Recharge: 70/s")) + "
\ " + span_red("Instability Modifier: 90%") + "
\ Energy Cost Modifier: 100%
\ Spell Power: 100%" cost = 100 - obj_path = /obj/item/weapon/technomancer_core/rapid + obj_path = /obj/item/technomancer_core/rapid /datum/technomancer/equipment/bulky_core name = "Bulky Core" desc = "This core has very large capacitors, however it also has a subpar fractal reactor. The user is recommended to \ purchase one or more energy-generating Functions as well if using this core. The intense weight of the core unfortunately can \ cause the wear to move slightly slower, and the closeness of the capacitors causes a slight increase in incoming instability.
\ - " + span_green("Capacity: 20k") + "
\ + " + span_green(span_bold("Capacity: 20k")) + "
\ " + span_red("Recharge: 25/s") + "
\ " + span_red("Instability Modifier: 100%") + "
\ Energy Cost Modifier: 100%
\ " + span_green("Spell Power: 140%") + "" cost = 100 - obj_path = /obj/item/weapon/technomancer_core/bulky + obj_path = /obj/item/technomancer_core/bulky /datum/technomancer/equipment/unstable name = "Unstable Core" @@ -42,11 +42,11 @@ increases as the user accumulates more instability, eventually exceeding even the rapid core in regen speed, at a huge risk.
\ " + span_green("Capacity: 13k") + "
\ " + span_green("Recharge: 35/s to 110/s+") + "
\ - " + span_red("Instability Modifier: 130%") + "
\ + " + span_red(span_bold("Instability Modifier: 130%")) + "
\ " + span_green("Energy Cost Modifier: 70%") + "
\ " + span_green("Spell Power: 110%") + "" cost = 100 - obj_path = /obj/item/weapon/technomancer_core/unstable + obj_path = /obj/item/technomancer_core/unstable /datum/technomancer/equipment/recycling name = "Recycling Core" @@ -58,7 +58,7 @@ " + span_green("Energy Cost Modifier: 80%") + "
\ Spell Power: 100%" cost = 100 - obj_path = /obj/item/weapon/technomancer_core/recycling + obj_path = /obj/item/technomancer_core/recycling /datum/technomancer/equipment/summoning name = "Summoning Core" @@ -71,7 +71,7 @@ Energy Cost Modifier: 100%
\ " + span_green("Spell Power: 120%") + "" cost = 100 - obj_path = /obj/item/weapon/technomancer_core/summoner + obj_path = /obj/item/technomancer_core/summoner /datum/technomancer/equipment/safety name = "Safety Core" @@ -79,11 +79,11 @@ ratings for everything else.
\ " + span_red("Capacity: 7k") + "
\ " + span_red("Recharge: 30/s") + "
\ - " + span_green("Instability Modifier: 30%") + "
\ + " + span_green(span_bold("Instability Modifier: 30%")) + "
\ Energy Cost Modifier: 100%
\ - " + span_red("Spell Power: 70%") + "" + " + span_red(span_bold("Spell Power: 70%")) + "" cost = 100 - obj_path = /obj/item/weapon/technomancer_core/safety + obj_path = /obj/item/technomancer_core/safety /datum/technomancer/equipment/overcharged name = "Overcharged Core" @@ -93,30 +93,30 @@ " + span_red("Capacity: 15k (effectively 7.5k)") + "
\ " + span_red("Recharge: 40/s") + "
\ " + span_red("Instability Modifier: 110%") + "
\ - " + span_red("Energy Cost Modifier: 200%") + "
\ - " + span_green("Spell Power: 175%") + "" + " + span_red(span_bold("Energy Cost Modifier: 200%")) + "
\ + " + span_green(span_bold("Spell Power: 175%")) + "" cost = 100 - obj_path = /obj/item/weapon/technomancer_core/overcharged + obj_path = /obj/item/technomancer_core/overcharged /datum/technomancer/equipment/hypo_belt name = "Hypo Belt" desc = "A medical belt designed to carry autoinjectors and other medical equipment. Comes with one of each hypo." cost = 50 - obj_path = /obj/item/weapon/storage/belt/medical/technomancer + obj_path = /obj/item/storage/belt/medical/technomancer -/obj/item/weapon/storage/belt/medical/technomancer +/obj/item/storage/belt/medical/technomancer name = "hypo belt" desc = "A medical belt designed to carry autoinjectors and other medical equipment." -/obj/item/weapon/storage/belt/medical/technomancer/New() - new /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/brute(src) - new /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/burn(src) - new /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/toxin(src) - new /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/oxy(src) - new /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/purity(src) - new /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/pain(src) - new /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/organ(src) - new /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/combat(src) +/obj/item/storage/belt/medical/technomancer/New() + new /obj/item/reagent_containers/hypospray/autoinjector/biginjector/brute(src) + new /obj/item/reagent_containers/hypospray/autoinjector/biginjector/burn(src) + new /obj/item/reagent_containers/hypospray/autoinjector/biginjector/toxin(src) + new /obj/item/reagent_containers/hypospray/autoinjector/biginjector/oxy(src) + new /obj/item/reagent_containers/hypospray/autoinjector/biginjector/purity(src) + new /obj/item/reagent_containers/hypospray/autoinjector/biginjector/pain(src) + new /obj/item/reagent_containers/hypospray/autoinjector/biginjector/organ(src) + new /obj/item/reagent_containers/hypospray/autoinjector/biginjector/combat(src) ..() /datum/technomancer/equipment/belt_of_holding @@ -125,9 +125,9 @@ The nature of the pocket allows for storage of larger objects than what is typical for other belts, and in larger quanities. \ It will also help keep your pants on." cost = 50 - obj_path = /obj/item/weapon/storage/belt/holding + obj_path = /obj/item/storage/belt/holding -/obj/item/weapon/storage/belt/holding +/obj/item/storage/belt/holding name = "Belt of Holding" desc = "Can hold more than you'd expect." icon_state = "ems" @@ -160,7 +160,7 @@ capabilities. The lens appear to be multiple optical matrices layered together, allowing the wearer to see almost anything \ across physical barriers." icon_state = "uzenwa_sissra_1" - action_button_name = "Toggle Goggles" + actions_types = list(/datum/action/item_action/toggle_goggles) origin_tech = list(TECH_MAGNET = 6, TECH_ENGINEERING = 6) toggleable = 1 vision_flags = SEE_TURFS|SEE_MOBS|SEE_OBJS @@ -179,9 +179,9 @@ the Core and the user, causing many functions to be enhanced in various ways, so long as it is held in the off-hand. \ Be careful not to lose this!" cost = 200 - obj_path = /obj/item/weapon/scepter + obj_path = /obj/item/scepter -/obj/item/weapon/scepter +/obj/item/scepter name = "scepter of empowerment" desc = "It's a purple gem, attached to a rod and a handle, along with small wires. It looks like it would make a good club." icon = 'icons/obj/technomancer.dmi' @@ -190,27 +190,27 @@ slot_flags = SLOT_BELT attack_verb = list("beaten", "smashed", "struck", "whacked") -/obj/item/weapon/scepter/attack_self(mob/living/carbon/human/user) +/obj/item/scepter/attack_self(mob/living/carbon/human/user) var/obj/item/item_to_test = user.get_other_hand(src) - if(istype(item_to_test, /obj/item/weapon/spell)) - var/obj/item/weapon/spell/S = item_to_test + if(istype(item_to_test, /obj/item/spell)) + var/obj/item/spell/S = item_to_test S.on_scepter_use_cast(user) -/obj/item/weapon/scepter/afterattack(atom/target, mob/living/carbon/human/user, proximity_flag, click_parameters) +/obj/item/scepter/afterattack(atom/target, mob/living/carbon/human/user, proximity_flag, click_parameters) if(proximity_flag) return ..() var/obj/item/item_to_test = user.get_other_hand(src) - if(istype(item_to_test, /obj/item/weapon/spell)) - var/obj/item/weapon/spell/S = item_to_test + if(istype(item_to_test, /obj/item/spell)) + var/obj/item/spell/S = item_to_test S.on_scepter_ranged_cast(target, user) /datum/technomancer/equipment/spyglass name = "Spyglass" desc = "A mundane spyglass, it may prove useful to those who wish to scout ahead, or fight from an extreme range." cost = 100 - obj_path = /obj/item/device/binoculars/spyglass + obj_path = /obj/item/binoculars/spyglass -/obj/item/device/binoculars/spyglass +/obj/item/binoculars/spyglass name = "spyglass" desc = "It's a hand-held telescope, useful for star-gazing, peeping, and recon." icon_state = "spyglass" diff --git a/code/game/gamemodes/technomancer/instability.dm b/code/game/gamemodes/technomancer/instability.dm index c41c2ea8dc9..79cf88066c9 100644 --- a/code/game/gamemodes/technomancer/instability.dm +++ b/code/game/gamemodes/technomancer/instability.dm @@ -109,7 +109,7 @@ sparks.set_up(5, 0, src) sparks.attach(loc) sparks.start() - visible_message("Electrical sparks manifest from nowhere around \the [src]!") + visible_message(span_warning("Electrical sparks manifest from nowhere around \the [src]!")) qdel(sparks) if(1) return @@ -121,13 +121,13 @@ electrocute_act(instability * 0.3, "unstable energies", 0.75) if(1) adjustFireLoss(instability * 0.15) //7.5 burn @ 50 instability - to_chat(src, "Your chassis alerts you to overheating from an unknown external force!") + to_chat(src, span_danger("Your chassis alerts you to overheating from an unknown external force!")) if(2) adjustBruteLoss(instability * 0.15) //7.5 brute @ 50 instability - to_chat(src, "Your chassis makes the sound of metal groaning!") + to_chat(src, span_danger("Your chassis makes the sound of metal groaning!")) if(3) safe_blink(src, range = 6) - to_chat(src, "You're teleported against your will!") + to_chat(src, span_warning("You're teleported against your will!")) if(4) emp_act(3) @@ -140,10 +140,10 @@ emp_act(2) if(2) adjustFireLoss(instability * 0.3) //30 burn @ 100 instability - to_chat(src, "Your chassis alerts you to extreme overheating from an unknown external force!") + to_chat(src, span_danger("Your chassis alerts you to extreme overheating from an unknown external force!")) if(3) adjustBruteLoss(instability * 0.3) //30 brute @ 100 instability - to_chat(src, "Your chassis makes the sound of metal groaning and tearing!") + to_chat(src, span_danger("Your chassis makes the sound of metal groaning and tearing!")) if(101 to 200) //Lethal rng = rand(0,4) @@ -154,10 +154,10 @@ emp_act(1) if(2) adjustFireLoss(instability * 0.4) //40 burn @ 100 instability - to_chat(src, "Your chassis alerts you to extreme overheating from an unknown external force!") + to_chat(src, span_danger("Your chassis alerts you to extreme overheating from an unknown external force!")) if(3) adjustBruteLoss(instability * 0.4) //40 brute @ 100 instability - to_chat(src, "Your chassis makes the sound of metal groaning and tearing!") + to_chat(src, span_danger("Your chassis makes the sound of metal groaning and tearing!")) /mob/living/carbon/human/instability_effects() if(instability) @@ -174,7 +174,7 @@ sparks.set_up(5, 0, src) sparks.attach(loc) sparks.start() - visible_message("Electrical sparks manifest from nowhere around \the [src]!") + visible_message(span_warning("Electrical sparks manifest from nowhere around \the [src]!")) qdel(sparks) if(1) return @@ -189,23 +189,23 @@ if(2) if(can_feel_pain()) apply_effect(instability * 0.3, AGONY) - to_chat(src, "You feel a sharp pain!") + to_chat(src, span_danger("You feel a sharp pain!")) if(3) apply_effect(instability * 0.3, EYE_BLUR) - to_chat(src, "Your eyes start to get cloudy!") + to_chat(src, span_danger("Your eyes start to get cloudy!")) if(4) electrocute_act(instability * 0.3, "unstable energies") if(5) adjustFireLoss(instability * 0.15) //7.5 burn @ 50 instability - to_chat(src, "You feel your skin burn!") + to_chat(src, span_danger("You feel your skin burn!")) if(6) adjustBruteLoss(instability * 0.15) //7.5 brute @ 50 instability - to_chat(src, "You feel a sharp pain as an unseen force harms your body!") + to_chat(src, span_danger("You feel a sharp pain as an unseen force harms your body!")) if(7) adjustToxLoss(instability * 0.15) //7.5 tox @ 50 instability if(8) safe_blink(src, range = 6) - to_chat(src, "You're teleported against your will!") + to_chat(src, span_warning("You're teleported against your will!")) if(50 to 100) //Severe rng = rand(0,8) @@ -217,18 +217,18 @@ if(2) if(can_feel_pain()) apply_effect(instability * 0.7, AGONY) - to_chat(src, "You feel an extremly angonizing pain from all over your body!") + to_chat(src, span_danger("You feel an extremly angonizing pain from all over your body!")) if(3) apply_effect(instability * 0.5, EYE_BLUR) - to_chat(src, "Your eyes start to get cloudy!") + to_chat(src, span_danger("Your eyes start to get cloudy!")) if(4) electrocute_act(instability * 0.5, "extremely unstable energies") if(5) fire_act() - to_chat(src, "You spontaneously combust!") + to_chat(src, span_danger("You spontaneously combust!")) if(6) adjustCloneLoss(instability * 0.05) //5 cloneloss @ 100 instability - to_chat(src, "You feel your body slowly degenerate.") + to_chat(src, span_danger("You feel your body slowly degenerate.")) if(7) adjustToxLoss(instability * 0.25) //25 tox @ 100 instability @@ -238,24 +238,24 @@ if(0) apply_effect(instability, IRRADIATE) if(1) - visible_message("\The [src] suddenly collapses!", - "You suddenly feel very light-headed, and faint!") + visible_message(span_warning("\The [src] suddenly collapses!"), + span_danger("You suddenly feel very light-headed, and faint!")) Paralyse(instability * 0.1) if(2) if(can_feel_pain()) apply_effect(instability, AGONY) - to_chat(src, "You feel an extremly angonizing pain from all over your body!") + to_chat(src, span_danger("You feel an extremly angonizing pain from all over your body!")) if(3) apply_effect(instability, EYE_BLUR) - to_chat(src, "Your eyes start to get cloudy!") + to_chat(src, span_danger("Your eyes start to get cloudy!")) if(4) electrocute_act(instability, "extremely unstable energies") if(5) fire_act() - to_chat(src, "You spontaneously combust!") + to_chat(src, span_danger("You spontaneously combust!")) if(6) adjustCloneLoss(instability * 0.10) //5 cloneloss @ 100 instability - to_chat(src, "You feel your body slowly degenerate.") + to_chat(src, span_danger("You feel your body slowly degenerate.")) if(7) adjustToxLoss(instability * 0.40) //40 tox @ 100 instability @@ -282,9 +282,9 @@ amount = amount * armor_factor if(amount && prob(10)) if(isSynthetic()) - to_chat(src, "Warning: Anomalous field detected.") + to_chat(src, span_cult(span_huge("Warning: Anomalous field detected."))) else - to_chat(src, "The purple glow makes you feel strange...") + to_chat(src, span_cult(span_huge("The purple glow makes you feel strange..."))) adjust_instability(amount) #undef TECHNOMANCER_INSTABILITY_DECAY diff --git a/code/game/gamemodes/technomancer/spell_objs.dm b/code/game/gamemodes/technomancer/spell_objs.dm index f8833d13b28..27e8f168437 100644 --- a/code/game/gamemodes/technomancer/spell_objs.dm +++ b/code/game/gamemodes/technomancer/spell_objs.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/spell +/obj/item/spell name = "glowing particles" desc = "Your hands appear to be glowing brightly." icon = 'icons/obj/spells.dmi' @@ -12,7 +12,7 @@ show_examine = FALSE // var/mob/living/carbon/human/owner = null var/mob/living/owner = null - var/obj/item/weapon/technomancer_core/core = null + var/obj/item/technomancer_core/core = null var/cast_methods = null // Controls how the spell is casted. var/aspect = null // Used for combining spells. var/toggled = 0 // Mainly used for overlays. @@ -22,58 +22,58 @@ // Proc: on_use_cast() // Parameters: 1 (user - the technomancer casting the spell) // Description: Override this for clicking the spell in your hands. -/obj/item/weapon/spell/proc/on_use_cast(mob/user) +/obj/item/spell/proc/on_use_cast(mob/user) return // Proc: on_throw_cast() // Parameters: 1 (hit_atom - the atom hit by the spell object) // Description: Override this for throwing effects. -/obj/item/weapon/spell/proc/on_throw_cast(atom/hit_atom) +/obj/item/spell/proc/on_throw_cast(atom/hit_atom) return // Proc: on_ranged_cast() // Parameters: 2 (hit_atom - the atom clicked on by the user, user - the technomancer that clicked hit_atom) // Description: Override this for ranged effects. -/obj/item/weapon/spell/proc/on_ranged_cast(atom/hit_atom, mob/user) +/obj/item/spell/proc/on_ranged_cast(atom/hit_atom, mob/user) return // Proc: on_melee_cast() // Parameters: 3 (hit_atom - the atom clicked on by the user, user - the technomancer that clicked hit_atom, def_zone - unknown) // Description: Override this for effects that occur at melee range. -/obj/item/weapon/spell/proc/on_melee_cast(atom/hit_atom, mob/living/user, def_zone) +/obj/item/spell/proc/on_melee_cast(atom/hit_atom, mob/living/user, def_zone) return // Proc: on_combine_cast() // Parameters: 2 (I - the item trying to merge with the spell, user - the technomancer who initiated the merge) // Description: Override this for combining spells, like Aspect spells. -/obj/item/weapon/spell/proc/on_combine_cast(obj/item/I, mob/user) +/obj/item/spell/proc/on_combine_cast(obj/item/I, mob/user) return // Proc: on_innate_cast() // Parameters: 1 (user - the entity who is casting innately (without using hands).) // Description: Override this for casting without using hands (and as a result not using spell objects). -/obj/item/weapon/spell/proc/on_innate_cast(mob/user) +/obj/item/spell/proc/on_innate_cast(mob/user) return // Proc: on_scepter_use_cast() // Parameters: 1 (user - the holder of the Scepter that clicked.) // Description: Override this for spell casts which have additional functionality when a Scepter is held in the offhand, and the // scepter is being clicked by the technomancer in their hand. -/obj/item/weapon/spell/proc/on_scepter_use_cast(mob/user) +/obj/item/spell/proc/on_scepter_use_cast(mob/user) return // Proc: on_scepter_use_cast() // Parameters: 2 (hit_atom - the atom clicked by user, user - the holder of the Scepter that clicked.) // Description: Similar to the above proc, however this is for when someone with a Scepter clicks something far away with the scepter // while holding a spell in the offhand that reacts to that. -/obj/item/weapon/spell/proc/on_scepter_ranged_cast(atom/hit_atom, mob/user) +/obj/item/spell/proc/on_scepter_ranged_cast(atom/hit_atom, mob/user) return // Proc: pay_energy() // Parameters: 1 (amount - how much to test and drain if there is enough) // Description: Use this to make spells cost energy. It returns false if the technomancer cannot pay for the spell for any reason, and // if they are able to pay, it is deducted automatically. -/obj/item/weapon/spell/proc/pay_energy(var/amount) +/obj/item/spell/proc/pay_energy(var/amount) if(!core) return 0 return core.pay_energy(amount) @@ -81,7 +81,7 @@ // Proc: give_energy() // Parameters: 1 (amount - how much to give to the technomancer) // Description: Redirects the call to the core's give_energy(). -/obj/item/weapon/spell/proc/give_energy(var/amount) +/obj/item/spell/proc/give_energy(var/amount) if(!core) return 0 return core.give_energy(amount) @@ -89,7 +89,7 @@ // Proc: adjust_instability() // Parameters: 1 (amount - how much instability to give) // Description: Use this to quickly add or subtract instability from the caster of the spell. Owner is set by New(). -/obj/item/weapon/spell/proc/adjust_instability(var/amount) +/obj/item/spell/proc/adjust_instability(var/amount) if(!owner || !core) return 0 amount = round(amount * core.instability_modifier, 0.1) @@ -102,7 +102,7 @@ return null /mob/living/carbon/human/get_technomancer_core() - var/obj/item/weapon/technomancer_core/core = back + var/obj/item/technomancer_core/core = back if(istype(core)) return core return null @@ -110,24 +110,24 @@ // Proc: New() // Parameters: 0 // Description: Sets owner to equal its loc, links to the owner's core, then applies overlays if needed. -/obj/item/weapon/spell/New() +/obj/item/spell/New() ..() if(isliving(loc)) owner = loc if(owner) core = owner.get_technomancer_core() if(!core) - to_chat(owner, "You need a Core to do that.") + to_chat(owner, span_warning("You need a Core to do that.")) qdel(src) return -// if(istype(/obj/item/weapon/technomancer_core, owner.back)) +// if(istype(/obj/item/technomancer_core, owner.back)) // core = owner.back update_icon() // Proc: Destroy() // Parameters: 0 // Description: Nulls object references so it can qdel() cleanly. -/obj/item/weapon/spell/Destroy() +/obj/item/spell/Destroy() owner.unref_spell(src) owner = null core = null @@ -136,13 +136,13 @@ // Proc: unref_spells() // Parameters: 0 // Description: Nulls object references on specific mobs so it can qdel() cleanly. -/mob/proc/unref_spell(var/obj/item/weapon/spell/the_spell) +/mob/proc/unref_spell(var/obj/item/spell/the_spell) return // Proc: update_icon() // Parameters: 0 // Description: Applys an overlay if it is a passive spell. -/obj/item/weapon/spell/update_icon() +/obj/item/spell/update_icon() if(toggled) var/image/new_overlay = image('icons/obj/spells.dmi',"toggled") add_overlay(new_overlay) @@ -154,32 +154,32 @@ // Parameters: 0 // Description: Ensures spells should not function if something is wrong. If a core is missing, it will try to find one, then fail // if it still can't find one. It will also check if the core is being worn properly, and finally checks if the owner is a technomancer. -/obj/item/weapon/spell/proc/run_checks() +/obj/item/spell/proc/run_checks() if(!owner) return 0 if(!core) - core = locate(/obj/item/weapon/technomancer_core) in owner + core = locate(/obj/item/technomancer_core) in owner if(!core) - to_chat(owner, "You need to be wearing a core on your back!") + to_chat(owner, span_danger("You need to be wearing a core on your back!")) return 0 if(core.loc != owner || owner.back != core) //Make sure the core's being worn. - to_chat(owner, "You need to be wearing a core on your back!") + to_chat(owner, span_danger("You need to be wearing a core on your back!")) return 0 if(!technomancers.is_antagonist(owner.mind) && !core.universal) //Now make sure the person using this is the actual antag. //VOREStation Edit - Universal cores - to_chat(owner, "You can't seem to figure out how to make the machine work properly.") + to_chat(owner, span_danger("You can't seem to figure out how to make the machine work properly.")) return 0 return 1 // Proc: check_for_scepter() // Parameters: 0 // Description: Terrible code to check if a scepter is in the offhand, returns 1 if yes. -/obj/item/weapon/spell/proc/check_for_scepter() +/obj/item/spell/proc/check_for_scepter() if(!src || !owner) return 0 if(owner.r_hand == src) - if(istype(owner.l_hand, /obj/item/weapon/scepter)) + if(istype(owner.l_hand, /obj/item/scepter)) return 1 else - if(istype(owner.r_hand, /obj/item/weapon/scepter)) + if(istype(owner.r_hand, /obj/item/scepter)) return 1 return 0 @@ -195,7 +195,7 @@ // Proc: attack_self() // Parameters: 1 (user - the Technomancer that invoked this proc) // Description: Tries to call on_use_cast() if it is allowed to do so. Don't override this, override on_use_cast() instead. -/obj/item/weapon/spell/attack_self(mob/user) +/obj/item/spell/attack_self(mob/user) if(run_checks() && (cast_methods & CAST_USE)) on_use_cast(user) ..() @@ -203,9 +203,9 @@ // Proc: attackby() // Parameters: 2 (W - the item this spell object is hitting, user - the technomancer who clicked the other object) // Description: Tries to combine the spells, if W is a spell, and has CHROMATIC aspect. -/obj/item/weapon/spell/attackby(obj/item/W, mob/user) - if(istype(W, /obj/item/weapon/spell)) - var/obj/item/weapon/spell/spell = W +/obj/item/spell/attackby(obj/item/W, mob/user) + if(istype(W, /obj/item/spell)) + var/obj/item/spell/spell = W if(run_checks() & (cast_methods & CAST_COMBINE)) spell.on_combine_cast(src, user) else @@ -217,15 +217,15 @@ // Description: Tests to make sure it can cast, then casts a combined, ranged, or melee spell based on what it can do and the // range the click occured. Melee casts have higher priority than ranged if both are possible. Sets cooldown at the end. // Don't override this for spells, override the on_*_cast() spells shown above. -/obj/item/weapon/spell/afterattack(atom/target, mob/user, proximity_flag, click_parameters) +/obj/item/spell/afterattack(atom/target, mob/user, proximity_flag, click_parameters) if(!run_checks()) return if(!proximity_flag) if(cast_methods & CAST_RANGED) on_ranged_cast(target, user) else - if(istype(target, /obj/item/weapon/spell)) - var/obj/item/weapon/spell/spell = target + if(istype(target, /obj/item/spell)) + var/obj/item/spell/spell = target if(spell.cast_methods & CAST_COMBINE) spell.on_combine_cast(src, user) return @@ -251,8 +251,8 @@ if(!path || !ispath(path)) return 0 - //var/obj/item/weapon/spell/S = new path(src) - var/obj/item/weapon/spell/S = new path(src) + //var/obj/item/spell/S = new path(src) + var/obj/item/spell/S = new path(src) //No hands needed for innate casts. if(S.cast_methods & CAST_INNATE) @@ -260,16 +260,16 @@ S.on_innate_cast(src) if(l_hand && r_hand) //Make sure our hands aren't full. - if(istype(r_hand, /obj/item/weapon/spell)) //If they are full, perhaps we can still be useful. - var/obj/item/weapon/spell/r_spell = r_hand + if(istype(r_hand, /obj/item/spell)) //If they are full, perhaps we can still be useful. + var/obj/item/spell/r_spell = r_hand if(r_spell.aspect == ASPECT_CHROMATIC) //Check if we can combine the new spell with one in our hands. r_spell.on_combine_cast(S, src) - else if(istype(l_hand, /obj/item/weapon/spell)) - var/obj/item/weapon/spell/l_spell = l_hand + else if(istype(l_hand, /obj/item/spell)) + var/obj/item/spell/l_spell = l_hand if(l_spell.aspect == ASPECT_CHROMATIC) //Check the other hand too. l_spell.on_combine_cast(S, src) else //Welp - to_chat(src, "You require a free hand to use this function.") + to_chat(src, span_warning("You require a free hand to use this function.")) return 0 if(S.run_checks()) @@ -282,7 +282,7 @@ // Proc: dropped() // Parameters: 0 // Description: Deletes the spell object immediately. -/obj/item/weapon/spell/dropped() +/obj/item/spell/dropped() spawn(1) if(src) qdel(src) @@ -290,7 +290,7 @@ // Proc: throw_impact() // Parameters: 1 (hit_atom - the atom that got hit by the spell as it was thrown) // Description: Calls on_throw_cast() on whatever was hit, then deletes itself incase it missed. -/obj/item/weapon/spell/throw_impact(atom/hit_atom) +/obj/item/spell/throw_impact(atom/hit_atom) ..() if(cast_methods & CAST_THROW) on_throw_cast(hit_atom) @@ -298,4 +298,4 @@ // If we miss or hit an obstacle, we still want to delete the spell. spawn(20) if(src) - qdel(src) \ No newline at end of file + qdel(src) diff --git a/code/game/gamemodes/technomancer/spell_objs_helpers.dm b/code/game/gamemodes/technomancer/spell_objs_helpers.dm index 27984c1b041..dbcf017dbda 100644 --- a/code/game/gamemodes/technomancer/spell_objs_helpers.dm +++ b/code/game/gamemodes/technomancer/spell_objs_helpers.dm @@ -14,7 +14,7 @@ return FALSE // Used to distinguish friend from foe. -/obj/item/weapon/spell/proc/is_ally(var/mob/living/L) +/obj/item/spell/proc/is_ally(var/mob/living/L) if(L == owner) // The best ally is ourselves. return 1 if(L.mind && technomancers.is_antagonist(L.mind)) // This should be done better since we might want opposing technomancers later. @@ -25,7 +25,7 @@ return 1 return 0 -/obj/item/weapon/spell/proc/allowed_to_teleport() +/obj/item/spell/proc/allowed_to_teleport() if(owner) if(owner.z in using_map.admin_levels) return FALSE @@ -35,17 +35,17 @@ return FALSE return TRUE -/obj/item/weapon/spell/proc/within_range(var/atom/target, var/max_range = 7) // Beyond 7 is off the screen. +/obj/item/spell/proc/within_range(var/atom/target, var/max_range = 7) // Beyond 7 is off the screen. if(target in view(max_range, owner)) return TRUE return FALSE -/obj/item/weapon/spell/proc/calculate_spell_power(var/amount) +/obj/item/spell/proc/calculate_spell_power(var/amount) if(core) return round(amount * core.spell_power_modifier, 1) // Returns a 'target' mob from a radius around T. -/obj/item/weapon/spell/proc/targeting_assist(var/turf/T, radius = 5) +/obj/item/spell/proc/targeting_assist(var/turf/T, radius = 5) var/chosen_target = null var/potential_targets = view(T,radius) for(var/mob/living/L in potential_targets) diff --git a/code/game/gamemodes/technomancer/spells/abjuration.dm b/code/game/gamemodes/technomancer/spells/abjuration.dm index c14356cba8e..732047af589 100644 --- a/code/game/gamemodes/technomancer/spells/abjuration.dm +++ b/code/game/gamemodes/technomancer/spells/abjuration.dm @@ -3,17 +3,17 @@ desc = "This ability attempts to send summoned or teleported entities or anomalies to the place from whence they came, or at least \ far away from the caster. Failing that, it may inhibit those entities in some form." cost = 25 - obj_path = /obj/item/weapon/spell/abjuration + obj_path = /obj/item/spell/abjuration category = UTILITY_SPELLS -/obj/item/weapon/spell/abjuration +/obj/item/spell/abjuration name = "abjuration" desc = "Useful for unruly minions, hostile summoners, or for fighting the horrors that may await you with your hubris." icon_state = "generic" cast_methods = CAST_RANGED aspect = ASPECT_TELE -/obj/item/weapon/spell/abjuration/on_ranged_cast(atom/hit_atom, mob/user) +/obj/item/spell/abjuration/on_ranged_cast(atom/hit_atom, mob/user) if(istype(hit_atom, /mob/living) && pay_energy(500) && within_range(hit_atom)) var/mob/living/L = hit_atom var/mob/living/simple_mob/SM = null @@ -23,18 +23,18 @@ SM = L if(L.summoned || (SM && SM.supernatural) ) if(L.client) // Player-controlled mobs are immune to being killed by this. - to_chat(user, "\The [L] resists your attempt to banish it!") - to_chat(L, "\The [user] tried to teleport you far away, but failed.") + to_chat(user, span_warning("\The [L] resists your attempt to banish it!")) + to_chat(L, span_warning("\The [user] tried to teleport you far away, but failed.")) return 0 else - visible_message("\The [L] vanishes!") + visible_message(span_infoplain(span_bold("\The [L]") + " vanishes!")) qdel(L) else if(istype(L, /mob/living/simple_mob/construct)) var/mob/living/simple_mob/construct/evil = L - to_chat(evil, "\The [user]'s abjuration purges your form!") + to_chat(evil, span_danger("\The [user]'s abjuration purges your form!")) evil.purge = 3 adjust_instability(5) // In case NarNar comes back someday. if(istype(hit_atom, /obj/singularity/narsie)) - to_chat(user, "One does not simply abjurate Nar'sie away.") - adjust_instability(200) \ No newline at end of file + to_chat(user, span_danger("One does not simply abjurate Nar'sie away.")) + adjust_instability(200) diff --git a/code/game/gamemodes/technomancer/spells/apportation.dm b/code/game/gamemodes/technomancer/spells/apportation.dm index 13f893b536a..b47dc282889 100644 --- a/code/game/gamemodes/technomancer/spells/apportation.dm +++ b/code/game/gamemodes/technomancer/spells/apportation.dm @@ -4,28 +4,28 @@ will grab them automatically." enhancement_desc = "Range is unlimited." cost = 25 - obj_path = /obj/item/weapon/spell/apportation + obj_path = /obj/item/spell/apportation category = UTILITY_SPELLS -/obj/item/weapon/spell/apportation +/obj/item/spell/apportation name = "apportation" icon_state = "apportation" desc = "Allows you to reach through Bluespace with your hand, and grab something, bringing it to you instantly." cast_methods = CAST_RANGED aspect = ASPECT_TELE -/obj/item/weapon/spell/apportation/on_ranged_cast(atom/hit_atom, mob/user) +/obj/item/spell/apportation/on_ranged_cast(atom/hit_atom, mob/user) if(istype(hit_atom, /atom/movable)) var/atom/movable/AM = hit_atom if(!AM.loc) //Don't teleport HUD telements to us. return if(AM.anchored) - to_chat(user, "\The [hit_atom] is firmly secured and anchored, you can't move it!") + to_chat(user, span_warning("\The [hit_atom] is firmly secured and anchored, you can't move it!")) return if(!within_range(hit_atom) && !check_for_scepter()) - to_chat(user, "\The [hit_atom] is too far away.") + to_chat(user, span_warning("\The [hit_atom] is too far away.")) return //Teleporting an item. @@ -38,18 +38,18 @@ s2.set_up(2, 1, I) s1.start() s2.start() - I.visible_message("\The [I] vanishes into thin air!") + I.visible_message(span_danger("\The [I] vanishes into thin air!")) I.forceMove(get_turf(user)) user.drop_item(src) src.loc = null user.put_in_hands(I) - user.visible_message("\A [I] appears in \the [user]'s hand!") + user.visible_message(span_notice("\A [I] appears in \the [user]'s hand!")) add_attack_logs(user,I,"Stolen with [src]") qdel(src) //Now let's try to teleport a living mob. else if(istype(hit_atom, /mob/living)) var/mob/living/L = hit_atom - to_chat(L, "You are teleported towards \the [user].") + to_chat(L, span_danger("You are teleported towards \the [user].")) var/datum/effect/effect/system/spark_spread/s1 = new /datum/effect/effect/system/spark_spread var/datum/effect/effect/system/spark_spread/s2 = new /datum/effect/effect/system/spark_spread s1.set_up(2, 1, user) @@ -62,14 +62,14 @@ spawn(1 SECOND) if(!user.Adjacent(L)) - to_chat(user, "\The [L] is out of your reach.") + to_chat(user, span_warning("\The [L] is out of your reach.")) qdel(src) return L.Weaken(3) - user.visible_message("\The [user] seizes [L]!") + user.visible_message(span_warning(span_bold("\The [user]") + " seizes [L]!")) - var/obj/item/weapon/grab/G = new(user,L) + var/obj/item/grab/G = new(user,L) user.put_in_hands(G) @@ -77,4 +77,3 @@ G.icon_state = "grabbed1" G.synch() qdel(src) - diff --git a/code/game/gamemodes/technomancer/spells/aspect_aura.dm b/code/game/gamemodes/technomancer/spells/aspect_aura.dm index e4cd0f82d2c..a20849e5171 100644 --- a/code/game/gamemodes/technomancer/spells/aspect_aura.dm +++ b/code/game/gamemodes/technomancer/spells/aspect_aura.dm @@ -6,34 +6,34 @@ obj_path = /mob/living/carbon/human/proc/technomancer_aspect_aura /mob/living/carbon/human/proc/technomancer_aspect_aura() - place_spell_in_hand(/obj/item/weapon/spell/aspect_aura) + place_spell_in_hand(/obj/item/spell/aspect_aura) -/obj/item/weapon/spell/aspect_aura +/obj/item/spell/aspect_aura name = "aspect aura" desc = "Combine this with another spell to finish the function." icon_state = "aspect_bolt" cast_methods = CAST_COMBINE aspect = ASPECT_CHROMATIC -/obj/item/weapon/spell/aspect_aura/on_combine_cast(obj/item/W, var/mob/living/carbon/human/user) - if(istype(W, /obj/item/weapon/spell)) - var/obj/item/weapon/spell/spell = W +/obj/item/spell/aspect_aura/on_combine_cast(obj/item/W, var/mob/living/carbon/human/user) + if(istype(W, /obj/item/spell)) + var/obj/item/spell/spell = W if(!spell.aspect || spell.aspect == ASPECT_CHROMATIC) - to_chat(user, "You cannot combine \the [spell] with \the [src], as the aspects are incompatible.") + to_chat(user, span_warning("You cannot combine \the [spell] with \the [src], as the aspects are incompatible.")) return user.drop_item(src) src.loc = null spawn(1) switch(spell.aspect) if(ASPECT_FIRE) - user.place_spell_in_hand(/obj/item/weapon/spell/aura/fire) + user.place_spell_in_hand(/obj/item/spell/aura/fire) if(ASPECT_FROST) - user.place_spell_in_hand(/obj/item/weapon/spell/aura/frost) + user.place_spell_in_hand(/obj/item/spell/aura/frost) if(ASPECT_BIOMED) - user.place_spell_in_hand(/obj/item/weapon/spell/aura/biomed) + user.place_spell_in_hand(/obj/item/spell/aura/biomed) qdel(src) -/obj/item/weapon/spell/aura +/obj/item/spell/aura name = "aura template" desc = "If you can read me, the game broke! Yay!" icon_state = "generic" @@ -41,19 +41,19 @@ aspect = ASPECT_CHROMATIC var/glow_color = "#FFFFFF" -/obj/item/weapon/spell/aura/New() +/obj/item/spell/aura/New() ..() set_light(7, 4, l_color = glow_color) START_PROCESSING(SSobj, src) -/obj/item/weapon/spell/aura/Destroy() +/obj/item/spell/aura/Destroy() STOP_PROCESSING(SSobj, src) ..() -/obj/item/weapon/spell/aura/process() +/obj/item/spell/aura/process() return -/obj/item/weapon/spell/aura/fire +/obj/item/spell/aura/fire name = "heat aura" desc = "Things are starting to heat up." icon_state = "generic" @@ -61,7 +61,7 @@ aspect = ASPECT_FIRE glow_color = "#FF6A00" -/obj/item/weapon/spell/aura/fire/process() +/obj/item/spell/aura/fire/process() if(!pay_energy(100)) qdel(src) var/list/nearby_mobs = range(4,owner) @@ -75,7 +75,7 @@ adjust_instability(1) -/obj/item/weapon/spell/aura/frost +/obj/item/spell/aura/frost name = "chilling aura" desc = "Your enemies will find it hard to chase you if they freeze to death." icon_state = "generic" @@ -83,7 +83,7 @@ aspect = ASPECT_FROST glow_color = "#FF6A00" -/obj/item/weapon/spell/aura/frost/process() +/obj/item/spell/aura/frost/process() if(!pay_energy(100)) qdel(src) var/list/nearby_mobs = range(4,owner) @@ -99,7 +99,7 @@ -/obj/item/weapon/spell/aura/biomed +/obj/item/spell/aura/biomed name = "restoration aura" desc = "Allows everyone, or just your allies, to slowly regenerate." icon_state = "generic" @@ -109,7 +109,7 @@ var/regen_tick = 0 var/heal_allies_only = 1 -/obj/item/weapon/spell/aura/biomed/process() +/obj/item/spell/aura/biomed/process() if(!pay_energy(75)) qdel(src) regen_tick++ @@ -130,6 +130,6 @@ L.adjustFireLoss(-5) adjust_instability(2) -/obj/item/weapon/spell/aura/biomed/on_use_cast(mob/living/user) +/obj/item/spell/aura/biomed/on_use_cast(mob/living/user) heal_allies_only = !heal_allies_only to_chat(user, "Your aura will now heal [heal_allies_only ? "your allies" : "everyone"] near you.") diff --git a/code/game/gamemodes/technomancer/spells/audible_deception.dm b/code/game/gamemodes/technomancer/spells/audible_deception.dm index b89db0c0c46..1d1e90fb355 100644 --- a/code/game/gamemodes/technomancer/spells/audible_deception.dm +++ b/code/game/gamemodes/technomancer/spells/audible_deception.dm @@ -4,11 +4,11 @@ enhancement_desc = "An extremely loud bike horn sound that costs large amount of energy and instability becomes available, \ which will deafen and stun all who are near the targeted tile, including yourself if unprotected." cost = 50 - obj_path = /obj/item/weapon/spell/audible_deception + obj_path = /obj/item/spell/audible_deception ability_icon_state = "tech_audibledeception" category = UTILITY_SPELLS -/obj/item/weapon/spell/audible_deception +/obj/item/spell/audible_deception name = "audible deception" icon_state = "audible_deception" desc = "Make them all paranoid!" @@ -64,15 +64,15 @@ ) var/selected_sound = null -/obj/item/weapon/spell/audible_deception/on_use_cast(mob/user) +/obj/item/spell/audible_deception/on_use_cast(mob/user) var/list/sound_options = available_sounds if(check_for_scepter()) sound_options["!!AIR HORN!!"] = 'sound/items/AirHorn.ogg' - var/new_sound = tgui_input_list(usr, "Select the sound you want to make.", "Sounds", sound_options) + var/new_sound = tgui_input_list(user, "Select the sound you want to make.", "Sounds", sound_options) if(new_sound) selected_sound = sound_options[new_sound] -/obj/item/weapon/spell/audible_deception/on_ranged_cast(atom/hit_atom, mob/living/user) +/obj/item/spell/audible_deception/on_ranged_cast(atom/hit_atom, mob/living/user) var/turf/T = get_turf(hit_atom) if(selected_sound && pay_energy(200)) playsound(src, selected_sound, 80, 1, -1) diff --git a/code/game/gamemodes/technomancer/spells/aura/aura.dm b/code/game/gamemodes/technomancer/spells/aura/aura.dm index be986bb7eed..bfb6de3d9ae 100644 --- a/code/game/gamemodes/technomancer/spells/aura/aura.dm +++ b/code/game/gamemodes/technomancer/spells/aura/aura.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/spell/aura +/obj/item/spell/aura name = "aura template" desc = "If you can read me, the game broke! Yay!" icon_state = "generic" @@ -6,16 +6,16 @@ aspect = null var/glow_color = "#FFFFFF" -/obj/item/weapon/spell/aura/New() +/obj/item/spell/aura/New() ..() set_light(calculate_spell_power(7), calculate_spell_power(4), l_color = glow_color) START_PROCESSING(SSobj, src) log_and_message_admins("has started casting [src].") -/obj/item/weapon/spell/aura/Destroy() +/obj/item/spell/aura/Destroy() STOP_PROCESSING(SSobj, src) log_and_message_admins("has stopped maintaining [src].") return ..() -/obj/item/weapon/spell/aura/process() +/obj/item/spell/aura/process() return diff --git a/code/game/gamemodes/technomancer/spells/aura/biomed_aura.dm b/code/game/gamemodes/technomancer/spells/aura/biomed_aura.dm index f8828af147e..29127fc99b1 100644 --- a/code/game/gamemodes/technomancer/spells/aura/biomed_aura.dm +++ b/code/game/gamemodes/technomancer/spells/aura/biomed_aura.dm @@ -3,11 +3,11 @@ desc = "Heals you and your allies (or everyone, if you want) of trauma and burns slowly, as long as they remain within four meters." spell_power_desc = "Increases the radius and healing amount of the aura." cost = 100 - obj_path = /obj/item/weapon/spell/aura/biomed + obj_path = /obj/item/spell/aura/biomed ability_icon_state = "tech_biomedaura" category = SUPPORT_SPELLS -/obj/item/weapon/spell/aura/biomed +/obj/item/spell/aura/biomed name = "restoration aura" desc = "Allows everyone, or just your allies, to slowly regenerate." icon_state = "generic" @@ -17,7 +17,7 @@ var/regen_tick = 0 var/heal_allies_only = 1 -/obj/item/weapon/spell/aura/biomed/process() +/obj/item/spell/aura/biomed/process() if(!pay_energy(75)) qdel(src) regen_tick++ @@ -35,6 +35,6 @@ L.adjustFireLoss(calculate_spell_power(-5)) adjust_instability(2) -/obj/item/weapon/spell/aura/biomed/on_use_cast(mob/living/user) +/obj/item/spell/aura/biomed/on_use_cast(mob/living/user) heal_allies_only = !heal_allies_only to_chat(user, "Your aura will now heal [heal_allies_only ? "your allies" : "everyone"] near you.") diff --git a/code/game/gamemodes/technomancer/spells/aura/fire_aura.dm b/code/game/gamemodes/technomancer/spells/aura/fire_aura.dm index 947cad7140e..bd21a3e7bcb 100644 --- a/code/game/gamemodes/technomancer/spells/aura/fire_aura.dm +++ b/code/game/gamemodes/technomancer/spells/aura/fire_aura.dm @@ -6,18 +6,18 @@ enhancement_desc = "Increased heat generation, more fires, and higher temperature cap." spell_power_desc = "Radius, heat rate, heat capacity, and amount of fires made increased." cost = 100 - obj_path = /obj/item/weapon/spell/aura/fire + obj_path = /obj/item/spell/aura/fire ability_icon_state = "tech_fireaura" category = OFFENSIVE_SPELLS -/obj/item/weapon/spell/aura/fire +/obj/item/spell/aura/fire name = "Fire Storm" desc = "Things are starting to heat up." icon_state = "fire_bolt" aspect = ASPECT_FIRE glow_color = "#FF6A00" -/obj/item/weapon/spell/aura/fire/process() +/obj/item/spell/aura/fire/process() if(!pay_energy(100)) qdel(src) var/list/nearby_things = range(round(calculate_spell_power(4)),owner) diff --git a/code/game/gamemodes/technomancer/spells/aura/frost_aura.dm b/code/game/gamemodes/technomancer/spells/aura/frost_aura.dm index c73e010232c..1761205e0a8 100644 --- a/code/game/gamemodes/technomancer/spells/aura/frost_aura.dm +++ b/code/game/gamemodes/technomancer/spells/aura/frost_aura.dm @@ -5,11 +5,11 @@ enhancement_desc = "Will make nearby entities even slower." spell_power_desc = "Radius and rate of cooling are scaled." cost = 100 - obj_path = /obj/item/weapon/spell/aura/frost + obj_path = /obj/item/spell/aura/frost ability_icon_state = "tech_frostaura" category = DEFENSIVE_SPELLS // Scepter-less frost aura is nonlethal. -/obj/item/weapon/spell/aura/frost +/obj/item/spell/aura/frost name = "chilling aura" desc = "Your enemies will find it hard to chase you if they freeze to death." icon_state = "generic" @@ -17,7 +17,7 @@ aspect = ASPECT_FROST glow_color = "#00B3FF" -/obj/item/weapon/spell/aura/frost/process() +/obj/item/spell/aura/frost/process() if(!pay_energy(100)) qdel(src) var/list/nearby_mobs = range(round(calculate_spell_power(4)),owner) diff --git a/code/game/gamemodes/technomancer/spells/aura/shock_aura.dm b/code/game/gamemodes/technomancer/spells/aura/shock_aura.dm index b9bc8bc2c45..502116acf8d 100644 --- a/code/game/gamemodes/technomancer/spells/aura/shock_aura.dm +++ b/code/game/gamemodes/technomancer/spells/aura/shock_aura.dm @@ -4,11 +4,11 @@ enhancement_desc = "Aura does twice as much damage." spell_power_desc = "Radius and damage scaled up." cost = 100 - obj_path = /obj/item/weapon/spell/aura/shock + obj_path = /obj/item/spell/aura/shock ability_icon_state = "tech_shockaura" category = OFFENSIVE_SPELLS -/obj/item/weapon/spell/aura/shock +/obj/item/spell/aura/shock name = "electric aura" desc = "Now you are a walking electrical storm." icon_state = "generic" @@ -16,7 +16,7 @@ aspect = ASPECT_SHOCK glow_color = "#0000FF" //TODO -/obj/item/weapon/spell/aura/shock/process() +/obj/item/spell/aura/shock/process() if(!pay_energy(500)) qdel(src) var/list/nearby_mobs = range(calculate_spell_power(4),owner) @@ -30,7 +30,7 @@ continue if(L.isSynthetic()) - to_chat(L, "ERROR: Electrical fault detected!") + to_chat(L, span_danger("ERROR: Electrical fault detected!")) L.stuttering += 3 if(ishuman(L)) diff --git a/code/game/gamemodes/technomancer/spells/aura/unstable_aura.dm b/code/game/gamemodes/technomancer/spells/aura/unstable_aura.dm index ca731ddad2b..d665f9c5867 100644 --- a/code/game/gamemodes/technomancer/spells/aura/unstable_aura.dm +++ b/code/game/gamemodes/technomancer/spells/aura/unstable_aura.dm @@ -5,11 +5,11 @@ unharmed." spell_power_desc = "Radius is increased." cost = 150 - obj_path = /obj/item/weapon/spell/aura/unstable + obj_path = /obj/item/spell/aura/unstable ability_icon_state = "tech_unstableaura" category = OFFENSIVE_SPELLS -/obj/item/weapon/spell/aura/unstable +/obj/item/spell/aura/unstable name = "degen aura" desc = "Breaks down your entities from the inside." icon_state = "generic" @@ -17,7 +17,7 @@ aspect = ASPECT_UNSTABLE glow_color = "#CC00CC" -/obj/item/weapon/spell/aura/unstable/process() +/obj/item/spell/aura/unstable/process() if(!pay_energy(200)) qdel(src) var/list/nearby_mobs = range(calculate_spell_power(14),owner) @@ -35,11 +35,11 @@ if(L.isSynthetic()) L.adjustBruteLoss(damage_to_inflict) if(damage_to_inflict && prob(10)) - to_chat(L, "Your chassis seems to slowly be decaying and breaking down.") + to_chat(L, span_danger("Your chassis seems to slowly be decaying and breaking down.")) else L.adjustToxLoss(damage_to_inflict) if(damage_to_inflict && prob(10)) - to_chat(L, "You feel almost like you're melting from the inside!") + to_chat(L, span_danger("You feel almost like you're melting from the inside!")) - adjust_instability(2) \ No newline at end of file + adjust_instability(2) diff --git a/code/game/gamemodes/technomancer/spells/blink.dm b/code/game/gamemodes/technomancer/spells/blink.dm index f2a2b2051a6..65ca55696c2 100644 --- a/code/game/gamemodes/technomancer/spells/blink.dm +++ b/code/game/gamemodes/technomancer/spells/blink.dm @@ -6,11 +6,11 @@ enhancement_desc = "Blink distance is increased greatly." spell_power_desc = "Blink distance is scaled up with more spell power." cost = 50 - obj_path = /obj/item/weapon/spell/blink + obj_path = /obj/item/spell/blink ability_icon_state = "tech_blink" category = UTILITY_SPELLS -/obj/item/weapon/spell/blink +/obj/item/spell/blink name = "blink" desc = "Teleports you or someone else a short distance away." icon_state = "blink" @@ -47,20 +47,20 @@ if(L.buckled) L.buckled.unbuckle_mob() AM.forceMove(destination) - AM.visible_message("\The [AM] vanishes!") - to_chat(AM, "You suddenly appear somewhere else!") + AM.visible_message(span_infoplain(span_bold("\The [AM]") + " vanishes!")) + to_chat(AM, span_notice("You suddenly appear somewhere else!")) new /obj/effect/effect/sparks(destination) new /obj/effect/effect/sparks(starting) return -/obj/item/weapon/spell/blink/on_ranged_cast(atom/hit_atom, mob/user) +/obj/item/spell/blink/on_ranged_cast(atom/hit_atom, mob/user) if(istype(hit_atom, /atom/movable)) var/atom/movable/AM = hit_atom if(!within_range(AM)) - to_chat(user, "\The [AM] is too far away to blink.") + to_chat(user, span_warning("\The [AM] is too far away to blink.")) return if(!allowed_to_teleport()) - to_chat(user, "Teleportation doesn't seem to work here.") + to_chat(user, span_warning("Teleportation doesn't seem to work here.")) return if(pay_energy(400)) if(check_for_scepter()) @@ -70,11 +70,11 @@ adjust_instability(3) add_attack_logs(user,AM,"Blinked") else - to_chat(user, "You need more energy to blink [AM] away!") + to_chat(user, span_warning("You need more energy to blink [AM] away!")) -/obj/item/weapon/spell/blink/on_use_cast(mob/user) +/obj/item/spell/blink/on_use_cast(mob/user) if(!allowed_to_teleport()) - to_chat(user, "Teleportation doesn't seem to work here.") + to_chat(user, span_warning("Teleportation doesn't seem to work here.")) return if(pay_energy(200)) if(check_for_scepter()) @@ -84,16 +84,16 @@ adjust_instability(1) add_attack_logs(user,user,"Blinked") else - to_chat(user, "You need more energy to blink yourself away!") + to_chat(user, span_warning("You need more energy to blink yourself away!")) -/obj/item/weapon/spell/blink/on_melee_cast(atom/hit_atom, mob/living/user, def_zone) +/obj/item/spell/blink/on_melee_cast(atom/hit_atom, mob/living/user, def_zone) if(istype(hit_atom, /atom/movable)) var/atom/movable/AM = hit_atom if(!allowed_to_teleport()) - to_chat(user, "Teleportation doesn't seem to work here.") + to_chat(user, span_warning("Teleportation doesn't seem to work here.")) return if(pay_energy(300)) - visible_message("\The [user] reaches out towards \the [AM] with a glowing hand.") + visible_message(span_danger("\The [user] reaches out towards \the [AM] with a glowing hand.")) if(check_for_scepter()) safe_blink(AM, 10) else @@ -101,4 +101,4 @@ adjust_instability(2) add_attack_logs(user,AM,"Blinked") else - to_chat(user, "You need more energy to blink [AM] away!") \ No newline at end of file + to_chat(user, span_warning("You need more energy to blink [AM] away!")) diff --git a/code/game/gamemodes/technomancer/spells/chroma.dm b/code/game/gamemodes/technomancer/spells/chroma.dm index b87a82a0aeb..9e51ef4e1eb 100644 --- a/code/game/gamemodes/technomancer/spells/chroma.dm +++ b/code/game/gamemodes/technomancer/spells/chroma.dm @@ -3,10 +3,10 @@ desc = "Creates light around you, or in a location of your choosing. You can choose what color the light is. This could be \ useful to trick someone into believing you're casting a different spell, or perhaps just for fun." cost = 25 - obj_path = /obj/item/weapon/spell/chroma + obj_path = /obj/item/spell/chroma category = UTILITY_SPELLS -/obj/item/weapon/spell/chroma +/obj/item/spell/chroma name = "chroma" desc = "The colors are dazzling." icon_state = "darkness" @@ -14,7 +14,7 @@ aspect = ASPECT_LIGHT var/color_to_use = "#FFFFFF" -/obj/item/weapon/spell/chroma/New() +/obj/item/spell/chroma/New() ..() set_light(6, 5, l_color = color_to_use) @@ -28,14 +28,14 @@ . = ..() set_light(6, 5, l_color = new_color) -/obj/item/weapon/spell/chroma/on_ranged_cast(atom/hit_atom, mob/user) +/obj/item/spell/chroma/on_ranged_cast(atom/hit_atom, mob/user) var/turf/T = get_turf(hit_atom) if(T) new /obj/effect/temporary_effect/chroma(T, color_to_use) - to_chat(user, "You shift the light onto \the [T].") + to_chat(user, span_notice("You shift the light onto \the [T].")) qdel(src) -/obj/item/weapon/spell/chroma/on_use_cast(mob/user) +/obj/item/spell/chroma/on_use_cast(mob/user) var/new_color = input(user, "Choose the color you want your light to be.", "Color selection") as null|color if(new_color) color_to_use = new_color diff --git a/code/game/gamemodes/technomancer/spells/condensation.dm b/code/game/gamemodes/technomancer/spells/condensation.dm index 226ccbed180..c1fe4912c6b 100644 --- a/code/game/gamemodes/technomancer/spells/condensation.dm +++ b/code/game/gamemodes/technomancer/spells/condensation.dm @@ -5,10 +5,10 @@ enhancement_desc = "Floors affected by condensation will also freeze." ability_icon_state = "tech_condensation" cost = 50 - obj_path = /obj/item/weapon/spell/condensation + obj_path = /obj/item/spell/condensation category = UTILITY_SPELLS -/obj/item/weapon/spell/condensation +/obj/item/spell/condensation name = "condensation" desc = "Stronger than it appears." icon_state = "condensation" @@ -16,7 +16,7 @@ aspect = ASPECT_AIR cooldown = 2 SECONDS -/obj/item/weapon/spell/condensation/on_ranged_cast(atom/hit_atom, mob/user) +/obj/item/spell/condensation/on_ranged_cast(atom/hit_atom, mob/user) if(pay_energy(200)) if(istype(hit_atom, /turf/simulated) && within_range(hit_atom)) var/turf/simulated/T = hit_atom diff --git a/code/game/gamemodes/technomancer/spells/control.dm b/code/game/gamemodes/technomancer/spells/control.dm index 3ca26b3b044..27e9fe5b47b 100644 --- a/code/game/gamemodes/technomancer/spells/control.dm +++ b/code/game/gamemodes/technomancer/spells/control.dm @@ -6,14 +6,14 @@ not true mind control, but merely pheromone synthesis for living animals, and electronic hacking for simple robots. The green web \ around the entity is merely a hologram used to allow the user to know if the creature is safe or not." cost = 100 - obj_path = /obj/item/weapon/spell/control + obj_path = /obj/item/spell/control ability_icon_state = "tech_control" category = UTILITY_SPELLS /mob/living/carbon/human/proc/technomancer_control() - place_spell_in_hand(/obj/item/weapon/spell/control) + place_spell_in_hand(/obj/item/spell/control) -/obj/item/weapon/spell/control +/obj/item/spell/control name = "control" icon_state = "control" desc = "Now you can command your own army!" @@ -24,7 +24,7 @@ var/allowed_mob_classes = MOB_CLASS_ANIMAL|MOB_CLASS_SYNTHETIC //This unfortunately is gonna be rather messy due to the various mobtypes involved. -/obj/item/weapon/spell/control/proc/select(var/mob/living/L) +/obj/item/spell/control/proc/select(var/mob/living/L) if(!(L.mob_class & allowed_mob_classes)) return FALSE @@ -44,7 +44,7 @@ L.add_overlay(control_overlay, TRUE) controlled_mobs |= L -/obj/item/weapon/spell/control/proc/deselect(var/mob/living/L) +/obj/item/spell/control/proc/deselect(var/mob/living/L) if(!(L in controlled_mobs)) return FALSE @@ -62,71 +62,71 @@ L.cut_overlay(control_overlay, TRUE) controlled_mobs.Remove(L) -/obj/item/weapon/spell/control/proc/move_all(turf/T) +/obj/item/spell/control/proc/move_all(turf/T) for(var/mob/living/L in controlled_mobs) if(!L.has_AI() || L.stat) deselect(L) continue L.ai_holder.give_destination(T, 0, TRUE) -/obj/item/weapon/spell/control/proc/attack_all(mob/target) +/obj/item/spell/control/proc/attack_all(mob/target) for(var/mob/living/L in controlled_mobs) if(!L.has_AI() || L.stat) deselect(L) continue L.ai_holder.give_target(target) -/obj/item/weapon/spell/control/Initialize() +/obj/item/spell/control/Initialize() control_overlay = image('icons/obj/spells.dmi',"controlled") return ..() -/obj/item/weapon/spell/control/Destroy() +/obj/item/spell/control/Destroy() for(var/mob/living/L in controlled_mobs) deselect(L) controlled_mobs = list() return ..() -/obj/item/weapon/spell/control/on_use_cast(mob/living/user) +/obj/item/spell/control/on_use_cast(mob/living/user) if(controlled_mobs.len != 0) var/choice = tgui_alert(user,"Would you like to release control of the entities you are controlling? They won't be friendly to you anymore if you do this, so be careful.","Release Control?",list("No","Yes")) if(choice == "Yes") for(var/mob/living/L in controlled_mobs) deselect(L) - to_chat(user, "You've released control of all entities you had in control.") + to_chat(user, span_notice("You've released control of all entities you had in control.")) -/obj/item/weapon/spell/control/on_ranged_cast(atom/hit_atom, mob/living/user) +/obj/item/spell/control/on_ranged_cast(atom/hit_atom, mob/living/user) if(isliving(hit_atom)) var/mob/living/L = hit_atom if(L == user && !controlled_mobs.len) - to_chat(user, "This function doesn't work on higher-intelligence entities, however since you're \ - trying to use it on yourself, perhaps you're an exception? Regardless, nothing happens.") + to_chat(user, span_warning("This function doesn't work on higher-intelligence entities, however since you're \ + trying to use it on yourself, perhaps you're an exception? Regardless, nothing happens.")) return 0 if(L.mob_class & allowed_mob_classes) if(!(L in controlled_mobs)) //Selecting if(L.client) - to_chat(user, "\The [L] seems to resist you!") + to_chat(user, span_danger("\The [L] seems to resist you!")) return 0 if(!L.has_AI()) - to_chat(user, span("warning", "\The [L] seems too dim for this to work on them.")) + to_chat(user, span_warning("\The [L] seems too dim for this to work on them.")) return FALSE if(pay_energy(500)) select(L) - to_chat(user, "\The [L] is now under your (limited) control.") + to_chat(user, span_notice("\The [L] is now under your (limited) control.")) else //Deselect them deselect(L) - to_chat(user, "You free \the [L] from your grasp.") + to_chat(user, span_notice("You free \the [L] from your grasp.")) else //Let's attack if(!controlled_mobs.len) - to_chat(user, "You have no entities under your control to command.") + to_chat(user, span_warning("You have no entities under your control to command.")) return 0 if(pay_energy(25 * controlled_mobs.len)) attack_all(L) add_attack_logs(user,L,"Commanded their army of [controlled_mobs.len]") - to_chat(user, "You command your [controlled_mobs.len > 1 ? "entities" : "[controlled_mobs[1]]"] to \ - attack \the [L].") + to_chat(user, span_notice("You command your [controlled_mobs.len > 1 ? "entities" : "[controlled_mobs[1]]"] to \ + attack \the [L].")) //This is to stop someone from controlling beepsky and getting him to stun someone 5 times a second. user.setClickCooldown(8) adjust_instability(controlled_mobs.len) @@ -134,11 +134,10 @@ else if(isturf(hit_atom)) var/turf/T = hit_atom if(!controlled_mobs.len) - to_chat(user, "You have no entities under your control to command.") + to_chat(user, span_warning("You have no entities under your control to command.")) return 0 if(pay_energy(10 * controlled_mobs.len)) move_all(T) adjust_instability(controlled_mobs.len) - to_chat(user, "You command your [controlled_mobs.len > 1 ? "entities" : "[controlled_mobs[1]]"] to move \ - towards \the [T].") - + to_chat(user, span_notice("You command your [controlled_mobs.len > 1 ? "entities" : "[controlled_mobs[1]]"] to move \ + towards \the [T].")) diff --git a/code/game/gamemodes/technomancer/spells/dispel.dm b/code/game/gamemodes/technomancer/spells/dispel.dm index 60266426cb5..dbc68624fb9 100644 --- a/code/game/gamemodes/technomancer/spells/dispel.dm +++ b/code/game/gamemodes/technomancer/spells/dispel.dm @@ -4,18 +4,18 @@ hitting an ally with a deterimental function, if your opponent has similar capabilities to you, or if you're tired of Instability \ plaguing you." cost = 25 - obj_path = /obj/item/weapon/spell/dispel + obj_path = /obj/item/spell/dispel ability_icon_state = "tech_dispel" category = SUPPORT_SPELLS -/obj/item/weapon/spell/dispel +/obj/item/spell/dispel name = "dispel" desc = "Useful if you're tired of glowing because of a miscast." icon_state = "dispel" cast_methods = CAST_RANGED aspect = ASPECT_BIOMED -/obj/item/weapon/spell/dispel/on_ranged_cast(atom/hit_atom, mob/living/user) +/obj/item/spell/dispel/on_ranged_cast(atom/hit_atom, mob/living/user) if(isliving(hit_atom) && within_range(hit_atom) && pay_energy(1000)) var/mob/living/target = hit_atom target.remove_modifiers_of_type(/datum/modifier/technomancer) diff --git a/code/game/gamemodes/technomancer/spells/energy_siphon.dm b/code/game/gamemodes/technomancer/spells/energy_siphon.dm index 1659b8f17bd..79d28ec0d1d 100644 --- a/code/game/gamemodes/technomancer/spells/energy_siphon.dm +++ b/code/game/gamemodes/technomancer/spells/energy_siphon.dm @@ -6,11 +6,11 @@ enhancement_desc = "Rate of siphoning is doubled." spell_power_desc = "Rate of siphoning is scaled up based on spell power." cost = 100 - obj_path = /obj/item/weapon/spell/energy_siphon + obj_path = /obj/item/spell/energy_siphon ability_icon_state = "tech_energysiphon" category = UTILITY_SPELLS -/obj/item/weapon/spell/energy_siphon +/obj/item/spell/energy_siphon name = "energy siphon" desc = "Now you are an energy vampire." icon_state = "energy_siphon" @@ -20,40 +20,40 @@ var/list/things_to_siphon = list() //Things which are actually drained as a result of the above not being null. var/flow_rate = 1000 // Limits how much electricity can be drained per second. Measured by default in god knows what. -/obj/item/weapon/spell/energy_siphon/New() +/obj/item/spell/energy_siphon/New() ..() START_PROCESSING(SSobj, src) -/obj/item/weapon/spell/energy_siphon/Destroy() +/obj/item/spell/energy_siphon/Destroy() stop_siphoning() STOP_PROCESSING(SSobj, src) return ..() -/obj/item/weapon/spell/energy_siphon/process() +/obj/item/spell/energy_siphon/process() if(!siphoning) return if(!pay_energy(100)) - to_chat(owner, "You can't afford to maintain the siphon link!") + to_chat(owner, span_warning("You can't afford to maintain the siphon link!")) stop_siphoning() return if(get_dist(siphoning, get_turf(src)) > 4) - to_chat(owner, "\The [siphoning] is too far to drain from!") + to_chat(owner, span_warning("\The [siphoning] is too far to drain from!")) stop_siphoning() return if(!(siphoning in view(owner))) - to_chat(owner, "\The [siphoning] cannot be seen!") + to_chat(owner, span_warning("\The [siphoning] cannot be seen!")) stop_siphoning() return siphon(siphoning, owner) -/obj/item/weapon/spell/energy_siphon/on_ranged_cast(atom/hit_atom, mob/user) +/obj/item/spell/energy_siphon/on_ranged_cast(atom/hit_atom, mob/user) if(istype(hit_atom, /atom/movable) && within_range(hit_atom, 4)) var/atom/movable/AM = hit_atom populate_siphon_list(AM) if(!things_to_siphon.len) - to_chat(user, "You cannot steal energy from \a [AM].") + to_chat(user, span_warning("You cannot steal energy from \a [AM].")) return 0 siphoning = AM update_icon() @@ -61,7 +61,7 @@ else stop_siphoning() -/obj/item/weapon/spell/energy_siphon/proc/populate_siphon_list(atom/movable/target) +/obj/item/spell/energy_siphon/proc/populate_siphon_list(atom/movable/target) things_to_siphon.Cut() things_to_siphon |= target // The recursive check below does not add the object being checked to its list. things_to_siphon |= recursive_content_check(target, things_to_siphon, recursion_limit = 3, client_check = 0, sight_check = 0, include_mobs = 1, include_objects = 1, ignore_show_messages = 1) @@ -73,7 +73,7 @@ if(AM.drain_power(1) <= 0) // This checks if whatever's in the list can be drained from. things_to_siphon.Remove(AM) -/obj/item/weapon/spell/energy_siphon/proc/stop_siphoning() +/obj/item/spell/energy_siphon/proc/stop_siphoning() siphoning = null things_to_siphon.Cut() update_icon() @@ -83,7 +83,7 @@ #define SIPHON_CORE_TO_ENERGY 0.5 // This is called every tick, so long as a link exists between the target and the Technomancer. -/obj/item/weapon/spell/energy_siphon/proc/siphon(atom/movable/siphoning, mob/living/user) +/obj/item/spell/energy_siphon/proc/siphon(atom/movable/siphoning, mob/living/user) var/list/things_to_drain = things_to_siphon // Temporary list copy of what we're gonna steal from. var/charge_to_give = 0 // How much energy to give to the Technomancer at the end. var/flow_remaining = calculate_spell_power(flow_rate) @@ -125,8 +125,8 @@ charge_to_give += nutrition_delta * SIPHON_FBP_TO_ENERGY flow_remaining = flow_remaining - nutrition_to_steal / 0.025 // Let's steal some energy from another Technomancer. - if(istype(H.back, /obj/item/weapon/technomancer_core) && H != user) - var/obj/item/weapon/technomancer_core/their_core = H.back + if(istype(H.back, /obj/item/technomancer_core) && H != user) + var/obj/item/technomancer_core/their_core = H.back if(their_core.pay_energy(flow_remaining / 2)) // Don't give energy from nothing. charge_to_give += flow_remaining * SIPHON_CORE_TO_ENERGY flow_remaining = 0 @@ -137,28 +137,28 @@ // Now we can actually fill up the core. if(core.energy < core.max_energy) give_energy(charge_to_give) - to_chat(user, "Stolen [charge_to_give * CELLRATE] kJ and converted to [charge_to_give] Core energy.") + to_chat(user, span_notice("Stolen [charge_to_give * CELLRATE] kJ and converted to [charge_to_give] Core energy.")) if( (core.max_energy - core.energy) < charge_to_give ) // We have some overflow, if this is true. if(user.isSynthetic()) // Let's do something with it, if we're a robot. charge_to_give = charge_to_give - (core.max_energy - core.energy) user.adjust_nutrition(charge_to_give / SIPHON_FBP_TO_ENERGY) - to_chat(user, "Redirected energy to internal microcell.") + to_chat(user, span_notice("Redirected energy to internal microcell.")) else - to_chat(user, "Stolen [charge_to_give * CELLRATE] kJ.") + to_chat(user, span_notice("Stolen [charge_to_give * CELLRATE] kJ.")) adjust_instability(2) if(flow_remaining == flow_rate) // We didn't drain anything. - to_chat(user, "\The [siphoning] cannot be drained any further.") + to_chat(user, span_warning("\The [siphoning] cannot be drained any further.")) stop_siphoning() -/obj/item/weapon/spell/energy_siphon/update_icon() +/obj/item/spell/energy_siphon/update_icon() ..() if(siphoning) icon_state = "energy_siphon_drain" else icon_state = "energy_siphon" -/obj/item/weapon/spell/energy_siphon/proc/create_lightning(mob/user, atom/source) +/obj/item/spell/energy_siphon/proc/create_lightning(mob/user, atom/source) if(user && source && user != source) spawn(0) var/i = 7 // process() takes two seconds to tick, this ensures the appearance of a ongoing beam. @@ -202,4 +202,4 @@ #undef SIPHON_CELL_TO_ENERGY #undef SIPHON_FBP_TO_ENERGY -#undef SIPHON_CORE_TO_ENERGY \ No newline at end of file +#undef SIPHON_CORE_TO_ENERGY diff --git a/code/game/gamemodes/technomancer/spells/flame_tongue.dm b/code/game/gamemodes/technomancer/spells/flame_tongue.dm index 9a52c5d82fd..68f341d1064 100644 --- a/code/game/gamemodes/technomancer/spells/flame_tongue.dm +++ b/code/game/gamemodes/technomancer/spells/flame_tongue.dm @@ -2,49 +2,49 @@ name = "Flame Tongue" desc = "Using a miniturized flamethrower in your gloves, you can emit a flame strong enough to melt both your enemies and walls." cost = 50 - obj_path = /obj/item/weapon/spell/flame_tongue + obj_path = /obj/item/spell/flame_tongue ability_icon_state = "tech_flametongue" category = OFFENSIVE_SPELLS -/obj/item/weapon/spell/flame_tongue +/obj/item/spell/flame_tongue name = "flame tongue" icon_state = "flame_tongue" desc = "Burn!" cast_methods = CAST_MELEE aspect = ASPECT_FIRE - var/obj/item/weapon/weldingtool/spell/welder = null + var/obj/item/weldingtool/spell/welder = null -/obj/item/weapon/spell/flame_tongue/New() +/obj/item/spell/flame_tongue/New() ..() set_light(3, 2, l_color = "#FF6A00") - visible_message("\The [loc]'s hand begins to emit a flame.") - welder = new /obj/item/weapon/weldingtool/spell(src) + visible_message(span_warning("\The [loc]'s hand begins to emit a flame.")) + welder = new /obj/item/weldingtool/spell(src) welder.setWelding(1) -/obj/item/weapon/spell/flame_tongue/Destroy() +/obj/item/spell/flame_tongue/Destroy() QDEL_NULL(welder) return ..() -/obj/item/weapon/weldingtool/spell +/obj/item/weldingtool/spell name = "flame" eye_safety_modifier = 3 -/obj/item/weapon/weldingtool/spell/process() +/obj/item/weldingtool/spell/process() return //Needed to make the spell welder have infinite fuel. Don't worry, it uses energy instead. -/obj/item/weapon/weldingtool/spell/remove_fuel() +/obj/item/weldingtool/spell/remove_fuel() return 1 -/obj/item/weapon/weldingtool/spell/eyecheck(mob/user as mob) +/obj/item/weldingtool/spell/eyecheck(mob/user as mob) return -/obj/item/weapon/spell/flame_tongue/on_melee_cast(atom/hit_atom, mob/living/user, def_zone) +/obj/item/spell/flame_tongue/on_melee_cast(atom/hit_atom, mob/living/user, def_zone) if(isliving(hit_atom) && user.a_intent != I_HELP) var/mob/living/L = hit_atom if(pay_energy(1000)) - visible_message("\The [user] reaches out towards \the [L] with the flaming hand, and they ignite!") - to_chat(L, "You ignite!") + visible_message(span_danger("\The [user] reaches out towards \the [L] with the flaming hand, and they ignite!")) + to_chat(L, span_danger("You ignite!")) L.fire_act() add_attack_logs(user,L,"Ignited with [src]") adjust_instability(12) diff --git a/code/game/gamemodes/technomancer/spells/gambit.dm b/code/game/gamemodes/technomancer/spells/gambit.dm index 5e03a8ca19c..62c7f9620f6 100644 --- a/code/game/gamemodes/technomancer/spells/gambit.dm +++ b/code/game/gamemodes/technomancer/spells/gambit.dm @@ -6,31 +6,31 @@ spell_power_desc = "Makes certain rare functions possible to acquire via Gambit which cannot be obtained otherwise, if above 100%." ability_icon_state = "tech_gambit" cost = 50 - obj_path = /obj/item/weapon/spell/gambit + obj_path = /obj/item/spell/gambit category = UTILITY_SPELLS -/var/global/list/all_technomancer_gambit_spells = typesof(/obj/item/weapon/spell) - list( - /obj/item/weapon/spell, - /obj/item/weapon/spell/gambit, - /obj/item/weapon/spell/projectile, - /obj/item/weapon/spell/aura, -// /obj/item/weapon/spell/insert, - /obj/item/weapon/spell/spawner, - /obj/item/weapon/spell/summon, - /obj/item/weapon/spell/modifier) - -/obj/item/weapon/spell/gambit +/var/global/list/all_technomancer_gambit_spells = typesof(/obj/item/spell) - list( + /obj/item/spell, + /obj/item/spell/gambit, + /obj/item/spell/projectile, + /obj/item/spell/aura, +// /obj/item/spell/insert, + /obj/item/spell/spawner, + /obj/item/spell/summon, + /obj/item/spell/modifier) + +/obj/item/spell/gambit name = "gambit" desc = "Do you feel lucky?" icon_state = "gambit" cast_methods = CAST_USE aspect = ASPECT_UNSTABLE var/list/rare_spells = list( - /obj/item/weapon/spell/modifier/mend_all + /obj/item/spell/modifier/mend_all ) -/obj/item/weapon/spell/gambit/on_use_cast(mob/living/carbon/human/user) +/obj/item/spell/gambit/on_use_cast(mob/living/carbon/human/user) if(pay_energy(200)) adjust_instability(3) if(check_for_scepter()) @@ -39,36 +39,36 @@ give_new_spell(random_spell()) qdel(src) -/obj/item/weapon/spell/gambit/proc/give_new_spell(var/spell_type) +/obj/item/spell/gambit/proc/give_new_spell(var/spell_type) owner.drop_from_inventory(src, null) owner.place_spell_in_hand(spell_type) // Gives a random spell. -/obj/item/weapon/spell/gambit/proc/random_spell() +/obj/item/spell/gambit/proc/random_spell() var/list/potential_spells = all_technomancer_gambit_spells.Copy() var/rare_spell_chance = between(0, calculate_spell_power(100) - 100, 100) // Having 120% spellpower means a 20% chance to get to roll for rare spells. if(prob(rare_spell_chance)) potential_spells += rare_spells.Copy() - to_chat(owner, "You feel a bit luckier...") + to_chat(owner, span_notice("You feel a bit luckier...")) return pick(potential_spells) // Gives a "random" spell. -/obj/item/weapon/spell/gambit/proc/biased_random_spell() +/obj/item/spell/gambit/proc/biased_random_spell() var/list/potential_spells = list() var/rare_spell_chance = between(0, calculate_spell_power(100) - 100, 100) var/give_rare_spells = FALSE if(prob(rare_spell_chance)) give_rare_spells = TRUE - to_chat(owner, "You feel a bit luckier...") + to_chat(owner, span_notice("You feel a bit luckier...")) // First the spell will concern itself with the health of the technomancer. if(prob(owner.getBruteLoss() + owner.getBruteLoss() * 2)) // Having 20 brute means a 40% chance of being added to the pool. if(!owner.isSynthetic()) - potential_spells |= /obj/item/weapon/spell/modifier/mend_life + potential_spells |= /obj/item/spell/modifier/mend_life else - potential_spells |= /obj/item/weapon/spell/modifier/mend_synthetic + potential_spells |= /obj/item/spell/modifier/mend_synthetic if(give_rare_spells) - potential_spells |= /obj/item/weapon/spell/modifier/mend_all + potential_spells |= /obj/item/spell/modifier/mend_all // Second, the spell will try to prepare the technomancer for threats. var/hostile_mobs = 0 // Counts how many hostile mobs. Higher numbers make it more likely for AoE spells to be chosen. @@ -80,13 +80,13 @@ if(!is_ally(SM) && SM.has_AI() && SM.ai_holder.hostile) hostile_mobs++ if(SM.summoned || SM.supernatural) // Our creations might be trying to kill us. - potential_spells |= /obj/item/weapon/spell/abjuration + potential_spells |= /obj/item/spell/abjuration // Always assume borgs are hostile. if(istype(L, /mob/living/silicon/robot)) if(!istype(L, /mob/living/silicon/robot/drone)) // Drones are okay, however. hostile_mobs++ - potential_spells |= /obj/item/weapon/spell/projectile/ionic_bolt + potential_spells |= /obj/item/spell/projectile/ionic_bolt // Finally we get to humanoids. if(istype(L, /mob/living/carbon/human)) @@ -96,7 +96,7 @@ for(var/obj/item/I in list(H.l_hand, H.r_hand)) // Guns are scary. - if(istype(I, /obj/item/weapon/gun)) // Toy guns will count as well but oh well. + if(istype(I, /obj/item/gun)) // Toy guns will count as well but oh well. hostile_mobs++ continue // Strong melee weapons are scary as well. @@ -105,30 +105,30 @@ continue if(hostile_mobs) - potential_spells |= /obj/item/weapon/spell/shield - potential_spells |= /obj/item/weapon/spell/reflect - potential_spells |= /obj/item/weapon/spell/targeting_matrix - potential_spells |= /obj/item/weapon/spell/warp_strike + potential_spells |= /obj/item/spell/shield + potential_spells |= /obj/item/spell/reflect + potential_spells |= /obj/item/spell/targeting_matrix + potential_spells |= /obj/item/spell/warp_strike if(hostile_mobs >= 3) // Lots of baddies, give them AoE. - potential_spells |= /obj/item/weapon/spell/projectile/chain_lightning - potential_spells |= /obj/item/weapon/spell/projectile/chain_lightning/lesser - potential_spells |= /obj/item/weapon/spell/spawner/fire_blast - potential_spells |= /obj/item/weapon/spell/condensation - potential_spells |= /obj/item/weapon/spell/aura/frost + potential_spells |= /obj/item/spell/projectile/chain_lightning + potential_spells |= /obj/item/spell/projectile/chain_lightning/lesser + potential_spells |= /obj/item/spell/spawner/fire_blast + potential_spells |= /obj/item/spell/condensation + potential_spells |= /obj/item/spell/aura/frost else - potential_spells |= /obj/item/weapon/spell/projectile/beam - potential_spells |= /obj/item/weapon/spell/projectile/overload - potential_spells |= /obj/item/weapon/spell/projectile/force_missile - potential_spells |= /obj/item/weapon/spell/projectile/lightning + potential_spells |= /obj/item/spell/projectile/beam + potential_spells |= /obj/item/spell/projectile/overload + potential_spells |= /obj/item/spell/projectile/force_missile + potential_spells |= /obj/item/spell/projectile/lightning // Third priority is recharging the core. if(core.energy / core.max_energy <= 0.5) - potential_spells |= /obj/item/weapon/spell/energy_siphon - potential_spells |= /obj/item/weapon/spell/instability_tap + potential_spells |= /obj/item/spell/energy_siphon + potential_spells |= /obj/item/spell/instability_tap // Fallback method in case nothing gets added. if(!potential_spells.len) potential_spells = all_technomancer_gambit_spells.Copy() - return pick(potential_spells) \ No newline at end of file + return pick(potential_spells) diff --git a/code/game/gamemodes/technomancer/spells/illusion.dm b/code/game/gamemodes/technomancer/spells/illusion.dm index ab83319bc59..a537c6bc58f 100644 --- a/code/game/gamemodes/technomancer/spells/illusion.dm +++ b/code/game/gamemodes/technomancer/spells/illusion.dm @@ -3,11 +3,11 @@ desc = "Allows you to create and control a holographic illusion, that can take the form of most object or entities." enhancement_desc = "Illusions will be made of hard light, allowing the interception of attacks, appearing more realistic." cost = 25 - obj_path = /obj/item/weapon/spell/illusion + obj_path = /obj/item/spell/illusion ability_icon_state = "tech_illusion" category = UTILITY_SPELLS -/obj/item/weapon/spell/illusion +/obj/item/spell/illusion name = "illusion" icon_state = "illusion" desc = "Now you can toy with the minds of the whole colony." @@ -16,13 +16,13 @@ var/atom/movable/copied = null var/mob/living/simple_mob/illusion/illusion = null -/obj/item/weapon/spell/illusion/on_ranged_cast(atom/hit_atom, mob/user) +/obj/item/spell/illusion/on_ranged_cast(atom/hit_atom, mob/user) if(istype(hit_atom, /atom/movable)) var/atom/movable/AM = hit_atom if(pay_energy(100)) copied = AM update_icon() - to_chat(user, "You've copied \the [AM]'s appearance.") + to_chat(user, span_notice("You've copied \the [AM]'s appearance.")) user << 'sound/weapons/flash.ogg' return 1 else if(istype(hit_atom, /turf)) @@ -34,7 +34,7 @@ illusion = new(T) illusion.copy_appearance(copied) illusion.copy_overlays(copied, TRUE) - to_chat(user, "An illusion of \the [copied] is made on \the [T].") + to_chat(user, span_notice("An illusion of \the [copied] is made on \the [T].")) user << 'sound/effects/pop.ogg' return 1 else @@ -42,7 +42,7 @@ var/datum/ai_holder/AI = illusion.ai_holder AI.give_destination(T) -/obj/item/weapon/spell/illusion/on_use_cast(mob/user) +/obj/item/spell/illusion/on_use_cast(mob/user) if(illusion) var/choice = tgui_alert(user, "Would you like to have \the [illusion] speak, or do an emote?", "Illusion", list("Speak","Emote","Cancel")) switch(choice) @@ -58,13 +58,13 @@ if(what_to_emote) illusion.emote(what_to_emote) -/obj/item/weapon/spell/illusion/Destroy() +/obj/item/spell/illusion/Destroy() QDEL_NULL(illusion) copied = null return ..() // Makes a tiny overlay of the thing the player has copied, so they can easily tell what they currently have. -/obj/item/weapon/spell/illusion/update_icon() +/obj/item/spell/illusion/update_icon() cut_overlays() if(copied) var/image/temp_image = image(copied) diff --git a/code/game/gamemodes/technomancer/spells/insert/asphyxiation.dm b/code/game/gamemodes/technomancer/spells/insert/asphyxiation.dm index 341045e3767..51fe210fe78 100644 --- a/code/game/gamemodes/technomancer/spells/insert/asphyxiation.dm +++ b/code/game/gamemodes/technomancer/spells/insert/asphyxiation.dm @@ -4,27 +4,27 @@ hits, which inhibits the delivery of oxygen. The effectiveness of the toxin is heavily dependent on how healthy the target is, \ with the target taking more damage the more wounded they are. The effect lasts for twelve seconds." cost = 140 - obj_path = /obj/item/weapon/spell/insert/asphyxiation + obj_path = /obj/item/spell/insert/asphyxiation -/obj/item/weapon/spell/insert/asphyxiation +/obj/item/spell/insert/asphyxiation name = "asphyxiation" desc = "Now you can cause suffication from afar!" icon_state = "generic" cast_methods = CAST_RANGED aspect = ASPECT_BIOMED light_color = "#FF5C5C" - inserting = /obj/item/weapon/inserted_spell/asphyxiation + inserting = /obj/item/inserted_spell/asphyxiation // maxHealth - getOxyLoss() - getToxLoss() - getFireLoss() - getBruteLoss() - getCloneLoss() - halloss -/obj/item/weapon/inserted_spell/asphyxiation/on_insert() +/obj/item/inserted_spell/asphyxiation/on_insert() spawn(1) if(ishuman(host)) var/mob/living/carbon/human/H = host if(H.isSynthetic() || H.does_not_breathe) // It's hard to choke a robot or something that doesn't breathe. on_expire() return - to_chat(H, "You are having difficulty breathing!") + to_chat(H, span_warning("You are having difficulty breathing!")) var/pulses = 3 var/warned_victim = 0 while(pulses) @@ -39,12 +39,12 @@ if(src) //We might've been dispelled at this point and deleted, better safe than sorry. on_expire() -/obj/item/weapon/inserted_spell/asphyxiation/on_expire() +/obj/item/inserted_spell/asphyxiation/on_expire() ..() // if((getOxyLoss() > (species.total_health/2)) || (health <= config.health_threshold_crit)) -/obj/item/weapon/inserted_spell/asphyxiation/proc/predict_crit(var/pulses_remaining, var/mob/living/carbon/human/victim, var/previous_damage = 0) +/obj/item/inserted_spell/asphyxiation/proc/predict_crit(var/pulses_remaining, var/mob/living/carbon/human/victim, var/previous_damage = 0) if(pulses_remaining <= 0) // Infinite loop protection return 0 var/health_lost @@ -63,12 +63,12 @@ return .(pulses_remaining, victim, previous_damage) // Now check if our damage predictions are going to cause the victim to go into crit if no healing occurs. if(previous_damage + health_lost >= victim.getMaxHealth()) // We're probably going to hardcrit - to_chat(victim, "A feeling of immense dread starts to overcome you as everything starts \ - to fade to black...") + to_chat(victim, span_danger(span_large("A feeling of immense dread starts to overcome you as everything starts \ + to fade to black..."))) //to_world("Predicted hardcrit.") return 1 else if(predicted_damage >= victim.species.total_health / 2) // Or perhaps we're gonna go into 'oxy crit'. - to_chat(victim, "You feel really light-headed, and everything seems to be fading...") + to_chat(victim, span_danger("You feel really light-headed, and everything seems to be fading...")) //to_world("Predicted oxycrit.") return 1 //If we're at this point, the spell is not going to result in critting. diff --git a/code/game/gamemodes/technomancer/spells/insert/insert.dm b/code/game/gamemodes/technomancer/spells/insert/insert.dm index 9ac0295e2b8..d882d624b24 100644 --- a/code/game/gamemodes/technomancer/spells/insert/insert.dm +++ b/code/game/gamemodes/technomancer/spells/insert/insert.dm @@ -1,6 +1,6 @@ //Template for spells which put something inside someone else, good for buffs/debuffs, damage over times and heals over time. -/obj/item/weapon/spell/insert +/obj/item/spell/insert name = "insert template" desc = "Tell a coder if you can read this in-game." icon_state = "purify" @@ -8,19 +8,19 @@ var/spell_color = "#03A728" var/spell_light_intensity = 2 var/spell_light_range = 3 - var/obj/item/weapon/inserted_spell/inserting = null + var/obj/item/inserted_spell/inserting = null var/allow_stacking = 0 -/obj/item/weapon/spell/insert/New() +/obj/item/spell/insert/New() ..() set_light(spell_light_range, spell_light_intensity, l_color = light_color) -/obj/item/weapon/inserted_spell +/obj/item/inserted_spell var/mob/living/carbon/human/origin = null var/mob/living/host = null var/spell_power_at_creation = 1.0 // This is here because the spell object that made this object probably won't exist. -/obj/item/weapon/inserted_spell/New(var/newloc, var/user, var/obj/item/weapon/spell/insert/inserter) +/obj/item/inserted_spell/New(var/newloc, var/user, var/obj/item/spell/insert/inserter) ..(newloc) host = newloc origin = user @@ -29,31 +29,31 @@ set_light(inserter.spell_light_range, inserter.spell_light_intensity, inserter.spell_color) on_insert() -/obj/item/weapon/inserted_spell/proc/on_insert() +/obj/item/inserted_spell/proc/on_insert() return -/obj/item/weapon/inserted_spell/proc/on_expire(var/dispelled = 0) +/obj/item/inserted_spell/proc/on_expire(var/dispelled = 0) qdel(src) return -/obj/item/weapon/spell/insert/proc/insert(var/mob/living/L, mob/user) +/obj/item/spell/insert/proc/insert(var/mob/living/L, mob/user) if(inserting) if(!allow_stacking) - for(var/obj/item/weapon/inserted_spell/IS in L.contents) + for(var/obj/item/inserted_spell/IS in L.contents) if(IS.type == inserting) - to_chat(user, "\The [L] is already affected by \the [src].") + to_chat(user, span_warning("\The [L] is already affected by \the [src].")) return - var/obj/item/weapon/inserted_spell/inserted = new inserting(L,user,src) + var/obj/item/inserted_spell/inserted = new inserting(L,user,src) inserted.spell_power_at_creation = calculate_spell_power(1.0) add_attack_logs(user,L,"Casted [src]") qdel(src) -/obj/item/weapon/spell/insert/on_melee_cast(atom/hit_atom, mob/user) +/obj/item/spell/insert/on_melee_cast(atom/hit_atom, mob/user) if(istype(hit_atom, /mob/living)) var/mob/living/L = hit_atom insert(L,user) -/obj/item/weapon/spell/insert/on_ranged_cast(atom/hit_atom, mob/user) +/obj/item/spell/insert/on_ranged_cast(atom/hit_atom, mob/user) if(istype(hit_atom, /mob/living)) var/mob/living/L = hit_atom - insert(L,user) \ No newline at end of file + insert(L,user) diff --git a/code/game/gamemodes/technomancer/spells/insert/mend_burns.dm b/code/game/gamemodes/technomancer/spells/insert/mend_burns.dm index 619c1cf3f45..365dd18616d 100644 --- a/code/game/gamemodes/technomancer/spells/insert/mend_burns.dm +++ b/code/game/gamemodes/technomancer/spells/insert/mend_burns.dm @@ -3,20 +3,20 @@ desc = "Heals minor burns, such as from exposure to flame, electric shock, or lasers." spell_power_desc = "Healing amount increased." cost = 50 - obj_path = /obj/item/weapon/spell/insert/mend_burns + obj_path = /obj/item/spell/insert/mend_burns ability_icon_state = "tech_mendburns" category = SUPPORT_SPELLS -/obj/item/weapon/spell/insert/mend_burns +/obj/item/spell/insert/mend_burns name = "mend burns" desc = "Ointment is a thing of the past." icon_state = "mend_burns" cast_methods = CAST_MELEE aspect = ASPECT_BIOMED light_color = "#FF5C5C" - inserting = /obj/item/weapon/inserted_spell/mend_burns + inserting = /obj/item/inserted_spell/mend_burns -/obj/item/weapon/inserted_spell/mend_burns/on_insert() +/obj/item/inserted_spell/mend_burns/on_insert() spawn(1) if(ishuman(host)) var/mob/living/carbon/human/H = host diff --git a/code/game/gamemodes/technomancer/spells/insert/mend_metal.dm b/code/game/gamemodes/technomancer/spells/insert/mend_metal.dm index 0e44e017615..53ab439df66 100644 --- a/code/game/gamemodes/technomancer/spells/insert/mend_metal.dm +++ b/code/game/gamemodes/technomancer/spells/insert/mend_metal.dm @@ -3,20 +3,20 @@ desc = "Restores integrity to external robotic components." spell_power_desc = "Healing amount increased." cost = 50 - obj_path = /obj/item/weapon/spell/insert/mend_metal + obj_path = /obj/item/spell/insert/mend_metal ability_icon_state = "tech_mendwounds" category = SUPPORT_SPELLS -/obj/item/weapon/spell/insert/mend_metal +/obj/item/spell/insert/mend_metal name = "mend metal" desc = "A roboticist is now obsolete." icon_state = "mend_wounds" cast_methods = CAST_MELEE aspect = ASPECT_BIOMED light_color = "#FF5C5C" - inserting = /obj/item/weapon/inserted_spell/mend_metal + inserting = /obj/item/inserted_spell/mend_metal -/obj/item/weapon/inserted_spell/mend_metal/on_insert() +/obj/item/inserted_spell/mend_metal/on_insert() spawn(1) if(ishuman(host)) var/mob/living/carbon/human/H = host diff --git a/code/game/gamemodes/technomancer/spells/insert/mend_organs.dm b/code/game/gamemodes/technomancer/spells/insert/mend_organs.dm index 550bb208ba0..dfe513f5545 100644 --- a/code/game/gamemodes/technomancer/spells/insert/mend_organs.dm +++ b/code/game/gamemodes/technomancer/spells/insert/mend_organs.dm @@ -4,20 +4,20 @@ robotic, reforms bones, patches internal bleeding, and restores missing blood." spell_power_desc = "Healing amount increased." cost = 100 - obj_path = /obj/item/weapon/spell/insert/mend_organs + obj_path = /obj/item/spell/insert/mend_organs ability_icon_state = "tech_mendwounds" category = SUPPORT_SPELLS -/obj/item/weapon/spell/insert/mend_organs +/obj/item/spell/insert/mend_organs name = "great mend wounds" desc = "A walking medbay is now you!" icon_state = "mend_wounds" cast_methods = CAST_MELEE aspect = ASPECT_BIOMED light_color = "#FF5C5C" - inserting = /obj/item/weapon/inserted_spell/mend_organs + inserting = /obj/item/inserted_spell/mend_organs -/obj/item/weapon/inserted_spell/mend_organs/on_insert() +/obj/item/inserted_spell/mend_organs/on_insert() spawn(1) if(ishuman(host)) var/mob/living/carbon/human/H = host diff --git a/code/game/gamemodes/technomancer/spells/insert/mend_wires.dm b/code/game/gamemodes/technomancer/spells/insert/mend_wires.dm index 539e472a62d..72585ef208f 100644 --- a/code/game/gamemodes/technomancer/spells/insert/mend_wires.dm +++ b/code/game/gamemodes/technomancer/spells/insert/mend_wires.dm @@ -3,20 +3,20 @@ desc = "Binds the internal wiring of robotic limbs and components over time." spell_power_desc = "Healing amount increased." cost = 50 - obj_path = /obj/item/weapon/spell/insert/mend_wires + obj_path = /obj/item/spell/insert/mend_wires ability_icon_state = "tech_mendwounds" category = SUPPORT_SPELLS -/obj/item/weapon/spell/insert/mend_wires +/obj/item/spell/insert/mend_wires name = "mend wires" desc = "A roboticist is now obsolete." icon_state = "mend_wounds" cast_methods = CAST_MELEE aspect = ASPECT_BIOMED light_color = "#FF5C5C" - inserting = /obj/item/weapon/inserted_spell/mend_wires + inserting = /obj/item/inserted_spell/mend_wires -/obj/item/weapon/inserted_spell/mend_wires/on_insert() +/obj/item/inserted_spell/mend_wires/on_insert() spawn(1) if(ishuman(host)) var/mob/living/carbon/human/H = host diff --git a/code/game/gamemodes/technomancer/spells/instability_tap.dm b/code/game/gamemodes/technomancer/spells/instability_tap.dm index ad2c72518be..67aac5557fb 100644 --- a/code/game/gamemodes/technomancer/spells/instability_tap.dm +++ b/code/game/gamemodes/technomancer/spells/instability_tap.dm @@ -4,21 +4,21 @@ enhancement_desc = "50% more energy gained, 20% less instability gained." spell_power_desc = "Amount of energy gained scaled with spell power." cost = 100 - obj_path = /obj/item/weapon/spell/instability_tap + obj_path = /obj/item/spell/instability_tap ability_icon_state = "tech_instabilitytap" category = UTILITY_SPELLS -/obj/item/weapon/spell/instability_tap +/obj/item/spell/instability_tap name = "instability tap" desc = "Short term gain for long term consequences never end bad, right?" cast_methods = CAST_USE aspect = ASPECT_UNSTABLE -/obj/item/weapon/spell/instability_tap/New() +/obj/item/spell/instability_tap/New() ..() set_light(3, 2, l_color = "#FA58F4") -/obj/item/weapon/spell/instability_tap/on_use_cast(mob/user) +/obj/item/spell/instability_tap/on_use_cast(mob/user) var/amount = calculate_spell_power(5000) if(check_for_scepter()) core.give_energy(amount * 1.5) diff --git a/code/game/gamemodes/technomancer/spells/mark_recall.dm b/code/game/gamemodes/technomancer/spells/mark_recall.dm index ad7eabf8d0c..133ceac4d0e 100644 --- a/code/game/gamemodes/technomancer/spells/mark_recall.dm +++ b/code/game/gamemodes/technomancer/spells/mark_recall.dm @@ -4,7 +4,7 @@ Note that using Mark again will move the destination instead of creating a second destination, and only one destination \ can exist, regardless of who casted Mark." cost = 25 - obj_path = /obj/item/weapon/spell/mark + obj_path = /obj/item/spell/mark ability_icon_state = "tech_mark" category = UTILITY_SPELLS //VOREStation Add - Multiple technomancer support @@ -33,16 +33,16 @@ //This is global, to avoid looping through a list of all objects, or god forbid, looping through world. GLOBAL_LIST_INIT(mark_spells, list()) //VOREStation Add End -/obj/item/weapon/spell/mark +/obj/item/spell/mark name = "mark" icon_state = "mark" desc = "Marks a specific location to be used by Recall." cast_methods = CAST_USE aspect = ASPECT_TELE -/obj/item/weapon/spell/mark/on_use_cast(var/mob/living/user) +/obj/item/spell/mark/on_use_cast(var/mob/living/user) if(!allowed_to_teleport()) // Otherwise you could teleport back to the admin Z-level. - to_chat(user, "You can't teleport here!") + to_chat(user, span_warning("You can't teleport here!")) return 0 if(pay_energy(1000)) //VOREStation Add - Multiple technomancer support @@ -50,16 +50,16 @@ GLOBAL_LIST_INIT(mark_spells, list()) //They have one in the list if(istype(marker)) qdel(marker) - to_chat(user, "Your mark is moved from its old position to \the [get_turf(user)] under you.") + to_chat(user, span_notice("Your mark is moved from its old position to \the [get_turf(user)] under you.")) //They don't have one yet else - to_chat(user, "You mark \the [get_turf(user)] under you.") + to_chat(user, span_notice("You mark \the [get_turf(user)] under you.")) GLOB.mark_spells[WEAKREF(user)] = new /datum/technomancer_marker(user) //VOREStation Add End adjust_instability(5) return 1 else - to_chat(user, "You can't afford the energy cost!") + to_chat(user, span_warning("You can't afford the energy cost!")) return 0 //Recall @@ -70,36 +70,36 @@ GLOBAL_LIST_INIT(mark_spells, list()) function is useless. Note that teleporting takes three seconds. Being incapacitated while teleporting will cancel it." enhancement_desc = "Recall takes two seconds instead of three." cost = 25 - obj_path = /obj/item/weapon/spell/recall + obj_path = /obj/item/spell/recall ability_icon_state = "tech_recall" category = UTILITY_SPELLS -/obj/item/weapon/spell/recall +/obj/item/spell/recall name = "recall" icon_state = "recall" desc = "This will bring you to your Mark." cast_methods = CAST_USE aspect = ASPECT_TELE -/obj/item/weapon/spell/recall/on_use_cast(var/mob/living/user) +/obj/item/spell/recall/on_use_cast(var/mob/living/user) if(pay_energy(3000)) var/datum/technomancer_marker/marker = GLOB.mark_spells[WEAKREF(user)] //VOREStation Add - Multiple technomancer support if(!istype(marker)) - to_chat(user, "There's no Mark!") + to_chat(user, span_danger("There's no Mark!")) return 0 else if(!allowed_to_teleport()) - to_chat(user, "Teleportation doesn't seem to work here.") + to_chat(user, span_warning("Teleportation doesn't seem to work here.")) return - visible_message("\The [user] starts glowing!") + visible_message(span_warning("\The [user] starts glowing!")) var/light_intensity = 2 var/time_left = 3 if(check_for_scepter()) time_left = 2 while(time_left) if(user.incapacitated()) - visible_message("\The [user]'s glow fades.") - to_chat(user, "You cannot Recall while incapacitated!") + visible_message(span_notice("\The [user]'s glow fades.")) + to_chat(user, span_danger("You cannot Recall while incapacitated!")) return 0 light_intensity++ set_light(light_intensity, light_intensity, l_color = "#006AFF") @@ -109,13 +109,13 @@ GLOBAL_LIST_INIT(mark_spells, list()) var/turf/target_turf = marker.T //VOREStation Edit - Multiple technomancer support var/turf/old_turf = get_turf(user) - for(var/obj/item/weapon/grab/G in user.contents) // People the Technomancer is grabbing come along for the ride. + for(var/obj/item/grab/G in user.contents) // People the Technomancer is grabbing come along for the ride. if(G.affecting) G.affecting.forceMove(locate( target_turf.x+rand(-1,1), target_turf.y+rand(-1,1), target_turf.z)) - to_chat(G.affecting, "You are teleported along with [user]!") + to_chat(G.affecting, span_warning("You are teleported along with [user]!")) user.forceMove(target_turf) - to_chat(user, "You are teleported to your Mark.") + to_chat(user, span_notice("You are teleported to your Mark.")) playsound(target_turf, 'sound/effects/phasein.ogg', 25, 1) playsound(target_turf, 'sound/effects/sparks2.ogg', 50, 1) @@ -126,5 +126,5 @@ GLOBAL_LIST_INIT(mark_spells, list()) qdel(src) return 1 else - to_chat(user, "You can't afford the energy cost!") + to_chat(user, span_warning("You can't afford the energy cost!")) return 0 diff --git a/code/game/gamemodes/technomancer/spells/mend_organs.dm b/code/game/gamemodes/technomancer/spells/mend_organs.dm index 16c212f084d..18856d5d35a 100644 --- a/code/game/gamemodes/technomancer/spells/mend_organs.dm +++ b/code/game/gamemodes/technomancer/spells/mend_organs.dm @@ -4,11 +4,11 @@ robotic, reforms bones, patches internal bleeding, and restores missing blood." spell_power_desc = "Healing amount increased." cost = 100 - obj_path = /obj/item/weapon/spell/mend_organs + obj_path = /obj/item/spell/mend_organs ability_icon_state = "tech_mendwounds" category = SUPPORT_SPELLS -/obj/item/weapon/spell/mend_organs +/obj/item/spell/mend_organs name = "great mend wounds" desc = "A walking medbay is now you!" icon_state = "mend_wounds" @@ -16,7 +16,7 @@ aspect = ASPECT_BIOMED light_color = "#FF5C5C" -/obj/item/weapon/spell/mend_organs/on_melee_cast(atom/hit_atom, mob/living/user, def_zone) +/obj/item/spell/mend_organs/on_melee_cast(atom/hit_atom, mob/living/user, def_zone) if(isliving(hit_atom)) var/mob/living/L = hit_atom var/heal_power = calculate_spell_power(40) @@ -44,7 +44,7 @@ for(var/obj/item/organ/E in H.bad_external_organs) // Fix bones var/obj/item/organ/external/affected = E - if((affected.damage < affected.min_broken_damage * config.organ_health_multiplier) && (affected.status & ORGAN_BROKEN)) + if((affected.damage < affected.min_broken_damage * CONFIG_GET(number/organ_health_multiplier)) && (affected.status & ORGAN_BROKEN)) affected.status &= ~ORGAN_BROKEN for(var/datum/wound/W in affected.wounds) // Fix IB diff --git a/code/game/gamemodes/technomancer/spells/modifier/corona.dm b/code/game/gamemodes/technomancer/spells/modifier/corona.dm index 24d571d4c27..53b9f052a8b 100644 --- a/code/game/gamemodes/technomancer/spells/modifier/corona.dm +++ b/code/game/gamemodes/technomancer/spells/modifier/corona.dm @@ -3,11 +3,11 @@ desc = "Causes the victim to glow very brightly, which while harmless in itself, makes it easier for them to be hit. The \ bright glow also makes it very difficult to be stealthy. The effect lasts for one minute." cost = 50 - obj_path = /obj/item/weapon/spell/modifier/corona + obj_path = /obj/item/spell/modifier/corona ability_icon_state = "tech_corona" category = SUPPORT_SPELLS -/obj/item/weapon/spell/modifier/corona +/obj/item/spell/modifier/corona name = "corona" desc = "How brillient!" icon_state = "radiance" @@ -24,10 +24,10 @@ desc = "You appear to be glowing really bright. It doesn't seem to hurt, however hiding will be impossible." mob_overlay_state = "corona" - on_created_text = "You start to glow very brightly!" - on_expired_text = "Your glow has ended." + on_created_text = span_warning("You start to glow very brightly!") + on_expired_text = span_notice("Your glow has ended.") evasion = -30 stacks = MODIFIER_STACK_EXTEND /datum/modifier/technomancer/corona/tick() - holder.break_cloak() \ No newline at end of file + holder.break_cloak() diff --git a/code/game/gamemodes/technomancer/spells/modifier/haste.dm b/code/game/gamemodes/technomancer/spells/modifier/haste.dm index 7f7c1045b36..ffe447b2482 100644 --- a/code/game/gamemodes/technomancer/spells/modifier/haste.dm +++ b/code/game/gamemodes/technomancer/spells/modifier/haste.dm @@ -3,11 +3,11 @@ desc = "Allows the target to run at speeds that should not be possible for an ordinary being. For five seconds, the target \ runs extremly fast, and cannot be slowed by any means." cost = 100 - obj_path = /obj/item/weapon/spell/modifier/haste + obj_path = /obj/item/spell/modifier/haste ability_icon_state = "tech_haste" category = SUPPORT_SPELLS -/obj/item/weapon/spell/modifier/haste +/obj/item/spell/modifier/haste name = "haste" desc = "Now you can outrun a Teshari!" icon_state = "haste" @@ -22,7 +22,7 @@ desc = "Moving is almost effortless!" mob_overlay_state = "haste" - on_created_text = "You suddenly find it much easier to move." - on_expired_text = "You feel slow again." + on_created_text = span_notice("You suddenly find it much easier to move.") + on_expired_text = span_warning("You feel slow again.") haste = TRUE - stacks = MODIFIER_STACK_EXTEND \ No newline at end of file + stacks = MODIFIER_STACK_EXTEND diff --git a/code/game/gamemodes/technomancer/spells/modifier/mend_all.dm b/code/game/gamemodes/technomancer/spells/modifier/mend_all.dm index 1da3554573e..54448c8f9ff 100644 --- a/code/game/gamemodes/technomancer/spells/modifier/mend_all.dm +++ b/code/game/gamemodes/technomancer/spells/modifier/mend_all.dm @@ -1,6 +1,6 @@ // Gambit only spell. Heals everything unconditionally. -/obj/item/weapon/spell/modifier/mend_all +/obj/item/spell/modifier/mend_all name = "mend all" desc = "One function to heal them all." icon_state = "mend_all" @@ -15,8 +15,8 @@ desc = "You feel serene and well rested." mob_overlay_state = "green_sparkles" - on_created_text = "Sparkles begin to appear around you, and all your ills seem to fade away." - on_expired_text = "The sparkles have faded, although you feel much healthier than before." + on_created_text = span_warning("Sparkles begin to appear around you, and all your ills seem to fade away.") + on_expired_text = span_notice("The sparkles have faded, although you feel much healthier than before.") stacks = MODIFIER_STACK_EXTEND /datum/modifier/technomancer/mend_all/tick() @@ -32,4 +32,4 @@ if(origin) var/mob/living/L = origin.resolve() if(istype(L)) - L.adjust_instability(1) \ No newline at end of file + L.adjust_instability(1) diff --git a/code/game/gamemodes/technomancer/spells/modifier/mend_life.dm b/code/game/gamemodes/technomancer/spells/modifier/mend_life.dm index 35a1e8c1c2d..d7ac905119a 100644 --- a/code/game/gamemodes/technomancer/spells/modifier/mend_life.dm +++ b/code/game/gamemodes/technomancer/spells/modifier/mend_life.dm @@ -5,11 +5,11 @@ if the target is completely healthy, preventing further instability." spell_power_desc = "Healing amount increased." cost = 50 - obj_path = /obj/item/weapon/spell/modifier/mend_life + obj_path = /obj/item/spell/modifier/mend_life ability_icon_state = "tech_mendwounds" category = SUPPORT_SPELLS -/obj/item/weapon/spell/modifier/mend_life +/obj/item/spell/modifier/mend_life name = "mend life" desc = "Watch your wounds close up before your eyes." icon_state = "mend_life" @@ -24,8 +24,8 @@ desc = "You feel rather refreshed." mob_overlay_state = "green_sparkles" - on_created_text = "Sparkles begin to appear around you, and you feel really.. refreshed." - on_expired_text = "The sparkles have faded, although you feel healthier than before." + on_created_text = span_warning("Sparkles begin to appear around you, and you feel really.. refreshed.") + on_expired_text = span_notice("The sparkles have faded, although you feel healthier than before.") stacks = MODIFIER_STACK_EXTEND /datum/modifier/technomancer/mend_life/tick() diff --git a/code/game/gamemodes/technomancer/spells/modifier/mend_synthetic.dm b/code/game/gamemodes/technomancer/spells/modifier/mend_synthetic.dm index 33405f3a42a..31400288c70 100644 --- a/code/game/gamemodes/technomancer/spells/modifier/mend_synthetic.dm +++ b/code/game/gamemodes/technomancer/spells/modifier/mend_synthetic.dm @@ -5,11 +5,11 @@ if the target is completely healthy, preventing further instability." spell_power_desc = "Healing amount increased." cost = 50 - obj_path = /obj/item/weapon/spell/modifier/mend_synthetic + obj_path = /obj/item/spell/modifier/mend_synthetic ability_icon_state = "tech_mendsynth" category = SUPPORT_SPELLS -/obj/item/weapon/spell/modifier/mend_synthetic +/obj/item/spell/modifier/mend_synthetic name = "mend synthetic" desc = "You are the Robotics lab" icon_state = "mend_synthetic" @@ -24,8 +24,8 @@ desc = "Something seems to be repairing you." mob_overlay_state = "cyan_sparkles" - on_created_text = "Sparkles begin to appear around you, and your systems report integrity rising." - on_expired_text = "The sparkles have faded, although your systems seem to be better than before." + on_created_text = span_warning("Sparkles begin to appear around you, and your systems report integrity rising.") + on_expired_text = span_notice("The sparkles have faded, although your systems seem to be better than before.") stacks = MODIFIER_STACK_EXTEND /datum/modifier/technomancer/mend_synthetic/tick() diff --git a/code/game/gamemodes/technomancer/spells/modifier/modifier.dm b/code/game/gamemodes/technomancer/spells/modifier/modifier.dm index 3ea278286e3..cca02c4ae3d 100644 --- a/code/game/gamemodes/technomancer/spells/modifier/modifier.dm +++ b/code/game/gamemodes/technomancer/spells/modifier/modifier.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/spell/modifier +/obj/item/spell/modifier name = "modifier template" desc = "Tell a coder if you can read this in-game." icon_state = "purify" @@ -9,22 +9,22 @@ var/spell_light_intensity = 2 var/spell_light_range = 3 -/obj/item/weapon/spell/modifier/New() +/obj/item/spell/modifier/New() ..() set_light(spell_light_range, spell_light_intensity, l_color = light_color) -/obj/item/weapon/spell/modifier/on_melee_cast(atom/hit_atom, mob/user) +/obj/item/spell/modifier/on_melee_cast(atom/hit_atom, mob/user) if(istype(hit_atom, /mob/living)) return on_add_modifier(hit_atom) return FALSE -/obj/item/weapon/spell/modifier/on_ranged_cast(atom/hit_atom, mob/user) +/obj/item/spell/modifier/on_ranged_cast(atom/hit_atom, mob/user) if(istype(hit_atom, /mob/living)) return on_add_modifier(hit_atom) return FALSE -/obj/item/weapon/spell/modifier/proc/on_add_modifier(var/mob/living/L) +/obj/item/spell/modifier/proc/on_add_modifier(var/mob/living/L) var/duration = modifier_duration if(duration) duration = round(duration * calculate_spell_power(1.0), 1) diff --git a/code/game/gamemodes/technomancer/spells/modifier/purify.dm b/code/game/gamemodes/technomancer/spells/modifier/purify.dm index 69cfac18d5b..d1bf7dd118e 100644 --- a/code/game/gamemodes/technomancer/spells/modifier/purify.dm +++ b/code/game/gamemodes/technomancer/spells/modifier/purify.dm @@ -5,11 +5,11 @@ if the target is completely healthy, preventing further instability." spell_power_desc = "Healing amount increased." cost = 25 - obj_path = /obj/item/weapon/spell/modifier/purify + obj_path = /obj/item/spell/modifier/purify ability_icon_state = "tech_purify" category = SUPPORT_SPELLS -/obj/item/weapon/spell/modifier/purify +/obj/item/spell/modifier/purify name = "mend life" desc = "Watch your wounds close up before your eyes." icon_state = "mend_life" @@ -24,8 +24,8 @@ desc = "You feel rather clean and pure." mob_overlay_state = "green_sparkles" - on_created_text = "Sparkles begin to appear around you, and you feel really.. pure." - on_expired_text = "The sparkles have faded, although you feel healthier than before." + on_created_text = span_warning("Sparkles begin to appear around you, and you feel really.. pure.") + on_expired_text = span_notice("The sparkles have faded, although you feel healthier than before.") stacks = MODIFIER_STACK_EXTEND /datum/modifier/technomancer/purify/tick() diff --git a/code/game/gamemodes/technomancer/spells/modifier/repel_missiles.dm b/code/game/gamemodes/technomancer/spells/modifier/repel_missiles.dm index 6f3b4b892f6..8b632e64fe9 100644 --- a/code/game/gamemodes/technomancer/spells/modifier/repel_missiles.dm +++ b/code/game/gamemodes/technomancer/spells/modifier/repel_missiles.dm @@ -3,11 +3,11 @@ desc = "Places a repulsion field around you, which attempts to deflect incoming bullets and lasers, making them 45% less likely \ to hit you. The field lasts for 10 minutes and can be granted to yourself or an ally." cost = 25 - obj_path = /obj/item/weapon/spell/modifier/repel_missiles + obj_path = /obj/item/spell/modifier/repel_missiles ability_icon_state = "tech_repelmissiles" category = SUPPORT_SPELLS -/obj/item/weapon/spell/modifier/repel_missiles +/obj/item/spell/modifier/repel_missiles name = "repel missiles" desc = "Use it before they start shooting at you!" icon_state = "generic" @@ -22,7 +22,7 @@ desc = "A repulsion field can always be useful to have." mob_overlay_state = "repel_missiles" - on_created_text = "You have a repulsion field around you, which will attempt to deflect projectiles." - on_expired_text = "Your repulsion field has expired." + on_created_text = span_notice("You have a repulsion field around you, which will attempt to deflect projectiles.") + on_expired_text = span_warning("Your repulsion field has expired.") evasion = 45 - stacks = MODIFIER_STACK_EXTEND \ No newline at end of file + stacks = MODIFIER_STACK_EXTEND diff --git a/code/game/gamemodes/technomancer/spells/oxygenate.dm b/code/game/gamemodes/technomancer/spells/oxygenate.dm index b36f17c7260..eafd2cd7bdb 100644 --- a/code/game/gamemodes/technomancer/spells/oxygenate.dm +++ b/code/game/gamemodes/technomancer/spells/oxygenate.dm @@ -3,11 +3,11 @@ desc = "This function creates oxygen at a location of your chosing. If used on a humanoid entity, it heals oxygen deprivation. \ If casted on the envirnment, air (oxygen and nitrogen) is moved from a distant location to your target." cost = 25 - obj_path = /obj/item/weapon/spell/oxygenate + obj_path = /obj/item/spell/oxygenate ability_icon_state = "tech_oxygenate" category = SUPPORT_SPELLS -/obj/item/weapon/spell/oxygenate +/obj/item/spell/oxygenate name = "oxygenate" desc = "Atmospherics is obsolete." icon_state = "darkness" //wip @@ -15,7 +15,7 @@ aspect = ASPECT_AIR cooldown = 30 -/obj/item/weapon/spell/oxygenate/on_ranged_cast(atom/hit_atom, mob/user) +/obj/item/spell/oxygenate/on_ranged_cast(atom/hit_atom, mob/user) if(!within_range(hit_atom)) return if(ishuman(hit_atom)) diff --git a/code/game/gamemodes/technomancer/spells/passwall.dm b/code/game/gamemodes/technomancer/spells/passwall.dm index b5e0b180600..f64b38d8ec5 100644 --- a/code/game/gamemodes/technomancer/spells/passwall.dm +++ b/code/game/gamemodes/technomancer/spells/passwall.dm @@ -4,11 +4,11 @@ somewhere dangerous." enhancement_desc = "Cost per tile is halved." cost = 100 - obj_path = /obj/item/weapon/spell/passwall + obj_path = /obj/item/spell/passwall ability_icon_state = "tech_passwall" category = UTILITY_SPELLS -/obj/item/weapon/spell/passwall +/obj/item/spell/passwall name = "passwall" desc = "No walls can hold you back." cast_methods = CAST_MELEE @@ -16,11 +16,11 @@ var/maximum_distance = 20 //Measured in tiles. var/busy = 0 -/obj/item/weapon/spell/passwall/on_melee_cast(atom/hit_atom, mob/user) +/obj/item/spell/passwall/on_melee_cast(atom/hit_atom, mob/user) if(busy) //Prevent someone from trying to get two uses of the spell from one instance. return 0 if(!allowed_to_teleport()) - to_chat(user, "You can't teleport here!") + to_chat(user, span_warning("You can't teleport here!")) return 0 // if(isturf(hit_atom)) @@ -28,7 +28,7 @@ var/turf/our_turf = get_turf(user) //Where we are. if(!T.density) if(!T.check_density()) - to_chat(user, "Perhaps you should try using passWALL on a wall, or other solid object.") + to_chat(user, span_warning("Perhaps you should try using passWALL on a wall, or other solid object.")) return 0 var/direction = get_dir(our_turf, T) var/total_cost = 0 @@ -36,7 +36,7 @@ var/turf/found_turf = null //Our destination, if one is found. var/i = maximum_distance - visible_message("[user] rests a hand on \the [hit_atom].") + visible_message(span_info("[user] rests a hand on \the [hit_atom].")) busy = 1 var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread() @@ -62,18 +62,18 @@ if(found_turf) if(user.loc != our_turf) - to_chat(user, "You need to stand still in order to phase through \the [hit_atom].") + to_chat(user, span_warning("You need to stand still in order to phase through \the [hit_atom].")) return 0 if(pay_energy(total_cost) && !user.incapacitated() ) - visible_message("[user] appears to phase through \the [hit_atom]!") - to_chat(user, "You find a destination on the other side of \the [hit_atom], and phase through it.") + visible_message(span_warning("[user] appears to phase through \the [hit_atom]!")) + to_chat(user, span_info("You find a destination on the other side of \the [hit_atom], and phase through it.")) spark_system.start() user.forceMove(found_turf) qdel(src) return 1 else - to_chat(user, "You don't have enough energy to phase through these walls!") + to_chat(user, span_warning("You don't have enough energy to phase through these walls!")) busy = 0 else - to_chat(user, "You weren't able to find an open space to go to.") + to_chat(user, span_info("You weren't able to find an open space to go to.")) busy = 0 diff --git a/code/game/gamemodes/technomancer/spells/phase_shift.dm b/code/game/gamemodes/technomancer/spells/phase_shift.dm index 7cee437685a..e8a39c144b9 100644 --- a/code/game/gamemodes/technomancer/spells/phase_shift.dm +++ b/code/game/gamemodes/technomancer/spells/phase_shift.dm @@ -3,11 +3,11 @@ desc = "Hides you in the safest possible place, where no harm can come to you. Unfortunately, a prolonged stay inside the \ rift you create will afflict you with instability." cost = 50 - obj_path = /obj/item/weapon/spell/phase_shift + obj_path = /obj/item/spell/phase_shift ability_icon_state = "tech_phaseshift" category = DEFENSIVE_SPELLS -/obj/item/weapon/spell/phase_shift +/obj/item/spell/phase_shift name = "phase shift" desc = "Allows you to dodge your untimely fate by shifting your location somewhere else, so long as you can survive inside the \ rift." @@ -15,7 +15,7 @@ cast_methods = CAST_USE aspect = ASPECT_TELE -/obj/item/weapon/spell/phase_shift/New() +/obj/item/spell/phase_shift/New() ..() set_light(3, 2, l_color = "#FA58F4") @@ -47,20 +47,20 @@ if(user.stat) return - to_chat(user, "You step out of the rift.") + to_chat(user, span_notice("You step out of the rift.")) user.forceMove(get_turf(src)) qdel(src) -/obj/item/weapon/spell/phase_shift/on_use_cast(mob/user) +/obj/item/spell/phase_shift/on_use_cast(mob/user) if(isturf(user.loc)) //Check if we're not already in a rift. if(pay_energy(2000)) var/obj/effect/phase_shift/PS = new(get_turf(user)) - visible_message("[user] vanishes into a pink rift!") - to_chat(user, "You create an unstable rift, and go through it. Be sure to not stay too long.") + visible_message(span_warning("[user] vanishes into a pink rift!")) + to_chat(user, span_info("You create an unstable rift, and go through it. Be sure to not stay too long.")) user.forceMove(PS) adjust_instability(10) qdel(src) else - to_chat(user, "You don't have enough energy to make a rift!") + to_chat(user, span_warning("You don't have enough energy to make a rift!")) else //We're already in a rift or something like a closet. - to_chat(user, "Making a rift here would probably be a bad idea.") + to_chat(user, span_warning("Making a rift here would probably be a bad idea.")) diff --git a/code/game/gamemodes/technomancer/spells/projectile/beam.dm b/code/game/gamemodes/technomancer/spells/projectile/beam.dm index b96f061df8c..35e98e4d2cf 100644 --- a/code/game/gamemodes/technomancer/spells/projectile/beam.dm +++ b/code/game/gamemodes/technomancer/spells/projectile/beam.dm @@ -4,10 +4,10 @@ spell_power_desc = "Increases damage dealt." cost = 100 ability_icon_state = "tech_beam" - obj_path = /obj/item/weapon/spell/projectile/beam + obj_path = /obj/item/spell/projectile/beam category = OFFENSIVE_SPELLS -/obj/item/weapon/spell/projectile/beam +/obj/item/spell/projectile/beam name = "beam" icon_state = "beam" desc = "Boring, but practical." diff --git a/code/game/gamemodes/technomancer/spells/projectile/chain_lightning.dm b/code/game/gamemodes/technomancer/spells/projectile/chain_lightning.dm index 2d9a59f1444..828d3e96bf0 100644 --- a/code/game/gamemodes/technomancer/spells/projectile/chain_lightning.dm +++ b/code/game/gamemodes/technomancer/spells/projectile/chain_lightning.dm @@ -4,11 +4,11 @@ it does not bounce to you. The lighting prefers to bounce to people with the least resistance to electricity. It will \ strike up to four targets, including yourself if conditions allow it to occur. Lightning functions cannot miss due to distance." cost = 150 - obj_path = /obj/item/weapon/spell/projectile/chain_lightning + obj_path = /obj/item/spell/projectile/chain_lightning ability_icon_state = "tech_chain_lightning" category = OFFENSIVE_SPELLS -/obj/item/weapon/spell/projectile/chain_lightning +/obj/item/spell/projectile/chain_lightning name = "chain lightning" icon_state = "chain_lightning" desc = "Fun for the whole security team! Just don't kill yourself in the process.." @@ -69,12 +69,9 @@ if(new_target) var/turf/curloc = get_turf(target_mob) - curloc.visible_message("\The [src] bounces to \the [new_target]!") + curloc.visible_message(span_danger("\The [src] bounces to \the [new_target]!")) redirect(new_target.x, new_target.y, curloc, firer) bounces-- return 0 return 1 - - - diff --git a/code/game/gamemodes/technomancer/spells/projectile/force_missile.dm b/code/game/gamemodes/technomancer/spells/projectile/force_missile.dm index 282d914d3cd..709025d9a90 100644 --- a/code/game/gamemodes/technomancer/spells/projectile/force_missile.dm +++ b/code/game/gamemodes/technomancer/spells/projectile/force_missile.dm @@ -4,10 +4,10 @@ that armor designed to protect from blunt force will mitigate this function as well." spell_power_desc = "Increases damage dealt." cost = 50 - obj_path = /obj/item/weapon/spell/projectile/force_missile + obj_path = /obj/item/spell/projectile/force_missile category = OFFENSIVE_SPELLS -/obj/item/weapon/spell/projectile/force_missile +/obj/item/spell/projectile/force_missile name = "force missile" icon_state = "force_missile" desc = "Make it rain!" diff --git a/code/game/gamemodes/technomancer/spells/projectile/ionic_bolt.dm b/code/game/gamemodes/technomancer/spells/projectile/ionic_bolt.dm index d6665b2ee0d..cb70d144b85 100644 --- a/code/game/gamemodes/technomancer/spells/projectile/ionic_bolt.dm +++ b/code/game/gamemodes/technomancer/spells/projectile/ionic_bolt.dm @@ -3,10 +3,10 @@ desc = "Shoots a bolt of ion energy at the target. If it hits something, it will generally drain energy, corrupt electronics, \ or otherwise ruin complex machinery." cost = 50 - obj_path = /obj/item/weapon/spell/projectile/ionic_bolt + obj_path = /obj/item/spell/projectile/ionic_bolt category = OFFENSIVE_SPELLS -/obj/item/weapon/spell/projectile/ionic_bolt +/obj/item/spell/projectile/ionic_bolt name = "ionic bolt" icon_state = "ionic bolt" desc = "For those pesky security units." diff --git a/code/game/gamemodes/technomancer/spells/projectile/lesser_chain_lightning.dm b/code/game/gamemodes/technomancer/spells/projectile/lesser_chain_lightning.dm index 85881fefb07..8c2b7709ace 100644 --- a/code/game/gamemodes/technomancer/spells/projectile/lesser_chain_lightning.dm +++ b/code/game/gamemodes/technomancer/spells/projectile/lesser_chain_lightning.dm @@ -3,11 +3,11 @@ desc = "This is very similar to the function Chain Lightning, however it is considerably less powerful. As a result, it's a lot \ more economical in terms of energy cost, as well as instability generation. Lightning functions cannot miss due to distance." cost = 100 - obj_path = /obj/item/weapon/spell/projectile/chain_lightning/lesser + obj_path = /obj/item/spell/projectile/chain_lightning/lesser ability_icon_state = "tech_chain_lightning" category = OFFENSIVE_SPELLS -/obj/item/weapon/spell/projectile/chain_lightning/lesser +/obj/item/spell/projectile/chain_lightning/lesser name = "lesser chain lightning" icon_state = "chain_lightning" desc = "Now you can throw around lightning like it's nobody's business." diff --git a/code/game/gamemodes/technomancer/spells/projectile/lightning.dm b/code/game/gamemodes/technomancer/spells/projectile/lightning.dm index 57e42cf8634..de5dbabc6ca 100644 --- a/code/game/gamemodes/technomancer/spells/projectile/lightning.dm +++ b/code/game/gamemodes/technomancer/spells/projectile/lightning.dm @@ -4,10 +4,10 @@ for a directed lightning strike to occur. The lightning is very strong, however it requires a few seconds to prepare a \ strike. Lightning functions cannot miss due to distance." cost = 150 - obj_path = /obj/item/weapon/spell/projectile/lightning + obj_path = /obj/item/spell/projectile/lightning category = OFFENSIVE_SPELLS -/obj/item/weapon/spell/projectile/lightning +/obj/item/spell/projectile/lightning name = "lightning strike" icon_state = "lightning_strike" desc = "Now you can feel like Zeus." diff --git a/code/game/gamemodes/technomancer/spells/projectile/overload.dm b/code/game/gamemodes/technomancer/spells/projectile/overload.dm index 445c1bb577c..650ab470682 100644 --- a/code/game/gamemodes/technomancer/spells/projectile/overload.dm +++ b/code/game/gamemodes/technomancer/spells/projectile/overload.dm @@ -5,11 +5,11 @@ enhancement_desc = "Will do damage equal to 0.4% of current energy." spell_power_desc = "Increases damage dealt, up to a cap of 80 damage per shot." cost = 100 - obj_path = /obj/item/weapon/spell/projectile/overload + obj_path = /obj/item/spell/projectile/overload ability_icon_state = "tech_overload" category = OFFENSIVE_SPELLS -/obj/item/weapon/spell/projectile/overload +/obj/item/spell/projectile/overload name = "overload" icon_state = "overload" desc = "Hope your Core's full." @@ -30,7 +30,7 @@ impact_effect_type = /obj/effect/temp_visual/impact_effect/blue_laser hitsound_wall = 'sound/weapons/effects/searwall.ogg' -/obj/item/weapon/spell/projectile/overload/make_projectile(obj/item/projectile/projectile_type, mob/living/user) +/obj/item/spell/projectile/overload/make_projectile(obj/item/projectile/projectile_type, mob/living/user) var/obj/item/projectile/overload/P = new projectile_type(get_turf(user)) var/energy_before_firing = core.energy if(check_for_scepter()) @@ -40,7 +40,7 @@ P.damage = min(calculate_spell_power(P.damage), 80) return P -/obj/item/weapon/spell/projectile/overload/on_ranged_cast(atom/hit_atom, mob/living/user) +/obj/item/spell/projectile/overload/on_ranged_cast(atom/hit_atom, mob/living/user) energy_cost_per_shot = round(core.max_energy * 0.10) ..() /* var/energy_before_firing = core.energy diff --git a/code/game/gamemodes/technomancer/spells/projectile/projectile.dm b/code/game/gamemodes/technomancer/spells/projectile/projectile.dm index 7585c3a191a..8e93a41d151 100644 --- a/code/game/gamemodes/technomancer/spells/projectile/projectile.dm +++ b/code/game/gamemodes/technomancer/spells/projectile/projectile.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/spell/projectile +/obj/item/spell/projectile name = "projectile template" icon_state = "generic" desc = "This is a generic template that shoots projectiles. If you can read this, the game broke!" @@ -9,7 +9,7 @@ var/pre_shot_delay = 0 var/fire_sound = null -/obj/item/weapon/spell/projectile/on_ranged_cast(atom/hit_atom, mob/living/user) +/obj/item/spell/projectile/on_ranged_cast(atom/hit_atom, mob/living/user) if(set_up(hit_atom, user)) var/obj/item/projectile/new_projectile = make_projectile(spell_projectile, user) new_projectile.old_style_target(hit_atom) @@ -21,12 +21,12 @@ return 1 return 0 -/obj/item/weapon/spell/projectile/proc/make_projectile(obj/item/projectile/projectile_type, mob/living/user) +/obj/item/spell/projectile/proc/make_projectile(obj/item/projectile/projectile_type, mob/living/user) var/obj/item/projectile/P = new projectile_type(get_turf(user)) P.damage = calculate_spell_power(P.damage) return P -/obj/item/weapon/spell/projectile/proc/set_up(atom/hit_atom, mob/living/user) +/obj/item/spell/projectile/proc/set_up(atom/hit_atom, mob/living/user) if(spell_projectile) if(pay_energy(energy_cost_per_shot)) if(pre_shot_delay) diff --git a/code/game/gamemodes/technomancer/spells/radiance.dm b/code/game/gamemodes/technomancer/spells/radiance.dm index d86428354e4..a84521cf82d 100644 --- a/code/game/gamemodes/technomancer/spells/radiance.dm +++ b/code/game/gamemodes/technomancer/spells/radiance.dm @@ -5,10 +5,10 @@ enhancement_desc = "Radiation will not affect the caster or their allies." spell_power_desc = "Spell power increases the amount of radiation and heat radiated, as well as the radius." cost = 100 - obj_path = /obj/item/weapon/spell/radiance + obj_path = /obj/item/spell/radiance category = OFFENSIVE_SPELLS -/obj/item/weapon/spell/radiance +/obj/item/spell/radiance name = "radiance" desc = "You will glow with a radiance similar to that of Supermatter." icon_state = "radiance" @@ -16,18 +16,18 @@ var/power = 250 toggled = 1 -/obj/item/weapon/spell/radiance/New() +/obj/item/spell/radiance/New() ..() set_light(7, 4, l_color = "#D9D900") START_PROCESSING(SSobj, src) log_and_message_admins("has casted [src].") -/obj/item/weapon/spell/radiance/Destroy() +/obj/item/spell/radiance/Destroy() STOP_PROCESSING(SSobj, src) log_and_message_admins("has stopped maintaining [src].") return ..() -/obj/item/weapon/spell/radiance/process() +/obj/item/spell/radiance/process() var/turf/T = get_turf(src) var/datum/gas_mixture/removed = null var/datum/gas_mixture/env = null diff --git a/code/game/gamemodes/technomancer/spells/reflect.dm b/code/game/gamemodes/technomancer/spells/reflect.dm index 07f3595edaa..b0dba844f46 100644 --- a/code/game/gamemodes/technomancer/spells/reflect.dm +++ b/code/game/gamemodes/technomancer/spells/reflect.dm @@ -2,11 +2,11 @@ name = "Reflect" desc = "Emits a protective shield fron your hand in front of you, which will reflect one attack back at the attacker." cost = 100 - obj_path = /obj/item/weapon/spell/reflect + obj_path = /obj/item/spell/reflect ability_icon_state = "tech_reflect" category = DEFENSIVE_SPELLS -/obj/item/weapon/spell/reflect +/obj/item/spell/reflect name = "\proper reflect shield" icon_state = "reflect" desc = "A very protective combat shield that'll reflect the next attack at the unfortunate person who tried to shoot you." @@ -16,28 +16,28 @@ var/damage_to_energy_multiplier = 60.0 //Determines how much energy to charge for blocking, e.g. 20 damage attack = 1200 energy cost var/datum/effect/effect/system/spark_spread/spark_system = null -/obj/item/weapon/spell/reflect/New() +/obj/item/spell/reflect/New() ..() set_light(3, 2, l_color = "#006AFF") spark_system = new /datum/effect/effect/system/spark_spread() spark_system.set_up(5, 0, src) - to_chat(owner, "Your shield will expire in 5 seconds!") + to_chat(owner, span_notice("Your shield will expire in 5 seconds!")) QDEL_IN(src, 5 SECONDS) -/obj/item/weapon/spell/reflect/Destroy() +/obj/item/spell/reflect/Destroy() if(owner) - to_chat(owner, "Your shield expires!") + to_chat(owner, span_danger("Your shield expires!")) spark_system = null return ..() -/obj/item/weapon/spell/reflect/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack") +/obj/item/spell/reflect/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack") if(user.incapacitated()) return 0 var/damage_to_energy_cost = (damage_to_energy_multiplier * damage) if(!pay_energy(damage_to_energy_cost)) - to_chat(owner, "Your shield fades due to lack of energy!") + to_chat(owner, span_danger("Your shield fades due to lack of energy!")) qdel(src) return 0 @@ -49,7 +49,7 @@ var/obj/item/projectile/P = damage_source if(P.starting && !P.reflected) - visible_message("\The [user]'s [src.name] reflects [attack_text]!") + visible_message(span_danger("\The [user]'s [src.name] reflects [attack_text]!")) var/turf/curloc = get_turf(user) @@ -67,17 +67,17 @@ if(!reflecting) reflecting = 1 spawn(2 SECONDS) //To ensure that most or all of a burst fire cycle is reflected. - to_chat(owner, "Your shield fades due being used up!") + to_chat(owner, span_danger("Your shield fades due being used up!")) qdel(src) return PROJECTILE_CONTINUE // complete projectile permutation - else if(istype(damage_source, /obj/item/weapon)) - var/obj/item/weapon/W = damage_source + else if(istype(damage_source, /obj/item)) + var/obj/item/W = damage_source if(attacker) W.attack(attacker) - to_chat(attacker, "Your [damage_source.name] goes through \the [src] in one location, comes out \ - on the same side, and hits you!") + to_chat(attacker, span_danger("Your [damage_source.name] goes through \the [src] in one location, comes out \ + on the same side, and hits you!")) spark_system.start() playsound(src, 'sound/weapons/blade1.ogg', 50, 1) @@ -87,7 +87,7 @@ if(!reflecting) reflecting = 1 spawn(2 SECONDS) //To ensure that most or all of a burst fire cycle is reflected. - to_chat(owner, "Your shield fades due being used up!") + to_chat(owner, span_danger("Your shield fades due being used up!")) qdel(src) return 1 return 0 diff --git a/code/game/gamemodes/technomancer/spells/resurrect.dm b/code/game/gamemodes/technomancer/spells/resurrect.dm index 41dc9ce34f6..16a8f9b14f9 100644 --- a/code/game/gamemodes/technomancer/spells/resurrect.dm +++ b/code/game/gamemodes/technomancer/spells/resurrect.dm @@ -4,31 +4,31 @@ however this must be done soon after they die, as this will have no effect on people who have died long ago. It also doesn't \ resolve whatever caused them to die originally." cost = 100 - obj_path = /obj/item/weapon/spell/resurrect + obj_path = /obj/item/spell/resurrect ability_icon_state = "tech_resurrect" category = SUPPORT_SPELLS -/obj/item/weapon/spell/resurrect +/obj/item/spell/resurrect name = "resurrect" icon_state = "radiance" desc = "Perhaps this can save a trip to cloning?" cast_methods = CAST_MELEE aspect = ASPECT_BIOMED -/obj/item/weapon/spell/resurrect/on_melee_cast(atom/hit_atom, mob/living/user, def_zone) +/obj/item/spell/resurrect/on_melee_cast(atom/hit_atom, mob/living/user, def_zone) if(isliving(hit_atom)) var/mob/living/L = hit_atom if(L == user) - to_chat(user, "Clever as you may seem, this won't work on yourself while alive.") + to_chat(user, span_warning("Clever as you may seem, this won't work on yourself while alive.")) return 0 if(L.stat != DEAD) - to_chat(user, "\The [L] isn't dead!") + to_chat(user, span_warning("\The [L] isn't dead!")) return 0 if(pay_energy(5000)) if(L.tod > world.time + 30 MINUTES) - to_chat(user, "\The [L]'s been dead for too long, even this function cannot replace cloning at this point.") + to_chat(user, span_danger("\The [L]'s been dead for too long, even this function cannot replace cloning at this point.")) return 0 - to_chat(user, "You stab \the [L] with a hidden integrated hypo, attempting to bring them back...") + to_chat(user, span_notice("You stab \the [L] with a hidden integrated hypo, attempting to bring them back...")) if(istype(L, /mob/living/simple_mob)) var/mob/living/simple_mob/SM = L SM.health = SM.getMaxHealth() / 3 @@ -56,10 +56,10 @@ dead_mob_list -= H living_mob_list += H H.timeofdeath = null - visible_message("\The [H]'s eyes open!") - to_chat(user, "It's alive!") + visible_message(span_danger("\The [H]'s eyes open!")) + to_chat(user, span_notice("It's alive!")) adjust_instability(50) log_and_message_admins("has resurrected [H].") else - to_chat(user, "The body of \the [H] doesn't seem to respond, perhaps you could try again?") - adjust_instability(10) \ No newline at end of file + to_chat(user, span_warning("The body of \the [H] doesn't seem to respond, perhaps you could try again?")) + adjust_instability(10) diff --git a/code/game/gamemodes/technomancer/spells/shared_burden.dm b/code/game/gamemodes/technomancer/spells/shared_burden.dm index 5c331389690..ad04dc5d4be 100644 --- a/code/game/gamemodes/technomancer/spells/shared_burden.dm +++ b/code/game/gamemodes/technomancer/spells/shared_burden.dm @@ -3,27 +3,27 @@ desc = "One of the few functions able to adjust instability, this allows you to take someone else's instability." spell_power_desc = "Draws bonus instability from the target, with the bonus dissipating harmlessly, for 'free'." cost = 50 - obj_path = /obj/item/weapon/spell/shared_burden + obj_path = /obj/item/spell/shared_burden category = SUPPORT_SPELLS -/obj/item/weapon/spell/shared_burden +/obj/item/spell/shared_burden name = "shared burden" icon_state = "shared_burden" desc = "Send instability from the target to you, for whatever reason you'd want to." cast_methods = CAST_MELEE aspect = ASPECT_UNSTABLE -/obj/item/weapon/spell/shared_burden/on_melee_cast(atom/hit_atom, mob/living/user, def_zone) +/obj/item/spell/shared_burden/on_melee_cast(atom/hit_atom, mob/living/user, def_zone) if(ishuman(hit_atom) && within_range(hit_atom)) var/mob/living/carbon/human/H = hit_atom if(H == user) - to_chat(user, "Draining instability out of you to put it back seems a bit pointless.") + to_chat(user, span_warning("Draining instability out of you to put it back seems a bit pointless.")) return 0 if(H.instability <= 0) - to_chat(user, "\The [H] has no instability to drain.") + to_chat(user, span_warning("\The [H] has no instability to drain.")) return 0 if(pay_energy(500)) var/instability_to_drain = min(H.instability, 25) - to_chat(user, "You draw instability away from \the [H] and towards you.") + to_chat(user, span_notice("You draw instability away from \the [H] and towards you.")) adjust_instability(instability_to_drain) - H.adjust_instability(-calculate_spell_power(instability_to_drain)) \ No newline at end of file + H.adjust_instability(-calculate_spell_power(instability_to_drain)) diff --git a/code/game/gamemodes/technomancer/spells/shield.dm b/code/game/gamemodes/technomancer/spells/shield.dm index b11d5590b08..d5182ca1de6 100644 --- a/code/game/gamemodes/technomancer/spells/shield.dm +++ b/code/game/gamemodes/technomancer/spells/shield.dm @@ -5,11 +5,11 @@ Note that holding two shields will make blocking more energy efficent." enhancement_desc = "Blocking is twice as efficent in terms of energy cost per hit." cost = 100 - obj_path = /obj/item/weapon/spell/shield + obj_path = /obj/item/spell/shield ability_icon_state = "tech_shield" category = DEFENSIVE_SPELLS -/obj/item/weapon/spell/shield +/obj/item/spell/shield name = "\proper energy shield" icon_state = "shield" desc = "A very protective combat shield that'll stop almost anything from hitting you, at least from the front." @@ -18,17 +18,17 @@ var/damage_to_energy_multiplier = 30.0 //Determines how much energy to charge for blocking, e.g. 20 damage attack = 600 energy cost var/datum/effect/effect/system/spark_spread/spark_system = null -/obj/item/weapon/spell/shield/New() +/obj/item/spell/shield/New() ..() set_light(3, 2, l_color = "#006AFF") spark_system = new /datum/effect/effect/system/spark_spread() spark_system.set_up(5, 0, src) -/obj/item/weapon/spell/shield/Destroy() +/obj/item/spell/shield/Destroy() spark_system = null return ..() -/obj/item/weapon/spell/shield/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack") +/obj/item/spell/shield/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack") if(user.incapacitated()) return 0 @@ -46,14 +46,14 @@ damage_to_energy_cost *= 0.50 if(!pay_energy(damage_to_energy_cost)) - to_chat(owner, "Your shield fades due to lack of energy!") + to_chat(owner, span_danger("Your shield fades due to lack of energy!")) qdel(src) return 0 //block as long as they are not directly behind us var/bad_arc = reverse_direction(user.dir) //arc of directions from which we cannot block if(check_shield_arc(user, bad_arc, damage_source, attacker)) - user.visible_message("\The [user]'s [src] blocks [attack_text]!") + user.visible_message(span_danger("\The [user]'s [src] blocks [attack_text]!")) spark_system.start() playsound(src, 'sound/weapons/blade1.ogg', 50, 1) adjust_instability(2) diff --git a/code/game/gamemodes/technomancer/spells/spawner/darkness.dm b/code/game/gamemodes/technomancer/spells/spawner/darkness.dm index f54f9b75025..0d7d8204233 100644 --- a/code/game/gamemodes/technomancer/spells/spawner/darkness.dm +++ b/code/game/gamemodes/technomancer/spells/spawner/darkness.dm @@ -2,10 +2,10 @@ name = "Darkness" desc = "Disrupts photons moving in a local area, causing darkness to shroud yourself or a position of your choosing." cost = 25 - obj_path = /obj/item/weapon/spell/spawner/darkness + obj_path = /obj/item/spell/spawner/darkness category = UTILITY_SPELLS -/obj/item/weapon/spell/spawner/darkness +/obj/item/spell/spawner/darkness name = "darkness" desc = "Not even light can stand in your way now." icon_state = "darkness" @@ -13,12 +13,12 @@ aspect = ASPECT_DARK spawner_type = /obj/effect/temporary_effect/darkness -/obj/item/weapon/spell/spawner/darkness/on_ranged_cast(atom/hit_atom, mob/user) +/obj/item/spell/spawner/darkness/on_ranged_cast(atom/hit_atom, mob/user) if(pay_energy(500)) adjust_instability(4) ..() -/obj/item/weapon/spell/spawner/darkness/New() +/obj/item/spell/spawner/darkness/New() ..() set_light(6, -20, l_color = "#FFFFFF") diff --git a/code/game/gamemodes/technomancer/spells/spawner/destablize.dm b/code/game/gamemodes/technomancer/spells/spawner/destablize.dm index 9bf6b072812..d491ce60fa5 100644 --- a/code/game/gamemodes/technomancer/spells/spawner/destablize.dm +++ b/code/game/gamemodes/technomancer/spells/spawner/destablize.dm @@ -3,10 +3,10 @@ desc = "Creates an unstable disturbance at the targeted tile, which will afflict anyone nearby with instability who remains nearby. This can affect you \ and your allies as well. The disturbance lasts for twenty seconds." cost = 100 - obj_path = /obj/item/weapon/spell/spawner/destablize + obj_path = /obj/item/spell/spawner/destablize category = OFFENSIVE_SPELLS -/obj/item/weapon/spell/spawner/destablize +/obj/item/spell/spawner/destablize name = "destablize" desc = "Now your enemies can feel what you go through when you have too much fun." icon_state = "destablize" @@ -14,11 +14,11 @@ aspect = ASPECT_UNSTABLE spawner_type = /obj/effect/temporary_effect/destablize -/obj/item/weapon/spell/spawner/destablize/New() +/obj/item/spell/spawner/destablize/New() ..() set_light(3, 2, l_color = "#C26DDE") -/obj/item/weapon/spell/spawner/destablize/on_ranged_cast(atom/hit_atom, mob/user) +/obj/item/spell/spawner/destablize/on_ranged_cast(atom/hit_atom, mob/user) if(within_range(hit_atom) && pay_energy(2000)) adjust_instability(15) ..() diff --git a/code/game/gamemodes/technomancer/spells/spawner/fire_blast.dm b/code/game/gamemodes/technomancer/spells/spawner/fire_blast.dm index 69444a4c7b1..7a785f6b864 100644 --- a/code/game/gamemodes/technomancer/spells/spawner/fire_blast.dm +++ b/code/game/gamemodes/technomancer/spells/spawner/fire_blast.dm @@ -3,10 +3,10 @@ desc = "Causes a disturbance on a targeted tile. After two and a half seconds, it will explode in a small radius around it. Be \ sure to not be close to the disturbance yourself." cost = 175 - obj_path = /obj/item/weapon/spell/spawner/fire_blast + obj_path = /obj/item/spell/spawner/fire_blast category = OFFENSIVE_SPELLS -/obj/item/weapon/spell/spawner/fire_blast +/obj/item/spell/spawner/fire_blast name = "fire blast" desc = "Leading your booms might be needed." icon_state = "fire_blast" @@ -14,7 +14,7 @@ aspect = ASPECT_FIRE spawner_type = /obj/effect/temporary_effect/fire_blast -/obj/item/weapon/spell/spawner/fire_blast/on_ranged_cast(atom/hit_atom, mob/user) +/obj/item/spell/spawner/fire_blast/on_ranged_cast(atom/hit_atom, mob/user) if(within_range(hit_atom) && pay_energy(2000)) adjust_instability(12) ..() // Makes the booms happen. diff --git a/code/game/gamemodes/technomancer/spells/spawner/pulsar.dm b/code/game/gamemodes/technomancer/spells/spawner/pulsar.dm index b56ea64e9cf..aa30601bcfc 100644 --- a/code/game/gamemodes/technomancer/spells/spawner/pulsar.dm +++ b/code/game/gamemodes/technomancer/spells/spawner/pulsar.dm @@ -2,10 +2,10 @@ name = "Pulsar" desc = "Emits electronic pulses to destroy, disable, or otherwise harm devices and machines. Be sure to not hit yourself with this." cost = 100 - obj_path = /obj/item/weapon/spell/spawner/pulsar + obj_path = /obj/item/spell/spawner/pulsar category = OFFENSIVE_SPELLS -/obj/item/weapon/spell/spawner/pulsar +/obj/item/spell/spawner/pulsar name = "pulsar" desc = "Be sure to not hit yourself!" icon_state = "radiance" @@ -13,16 +13,16 @@ aspect = ASPECT_EMP spawner_type = /obj/effect/temporary_effect/pulse/pulsar -/obj/item/weapon/spell/spawner/pulsar/New() +/obj/item/spell/spawner/pulsar/New() ..() set_light(3, 2, l_color = "#2ECCFA") -/obj/item/weapon/spell/spawner/pulsar/on_ranged_cast(atom/hit_atom, mob/user) +/obj/item/spell/spawner/pulsar/on_ranged_cast(atom/hit_atom, mob/user) if(within_range(hit_atom) && pay_energy(4000)) adjust_instability(8) ..() -/obj/item/weapon/spell/spawner/pulsar/on_throw_cast(atom/hit_atom, mob/user) +/obj/item/spell/spawner/pulsar/on_throw_cast(atom/hit_atom, mob/user) empulse(hit_atom, 1, 1, 1, 1, log=1) // Does something every so often. Deletes itself when pulses_remaining hits zero. diff --git a/code/game/gamemodes/technomancer/spells/spawner/spawner.dm b/code/game/gamemodes/technomancer/spells/spawner/spawner.dm index 49c82b79984..016e407c37f 100644 --- a/code/game/gamemodes/technomancer/spells/spawner/spawner.dm +++ b/code/game/gamemodes/technomancer/spells/spawner/spawner.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/spell/spawner +/obj/item/spell/spawner name = "spawner template" desc = "If you see me, someone messed up." icon_state = "darkness" @@ -6,10 +6,10 @@ aspect = null var/obj/effect/spawner_type = null -/obj/item/weapon/spell/spawner/on_ranged_cast(atom/hit_atom, mob/user) +/obj/item/spell/spawner/on_ranged_cast(atom/hit_atom, mob/user) var/turf/T = get_turf(hit_atom) if(T) new spawner_type(T) - to_chat(user, "You shift \the [src] onto \the [T].") + to_chat(user, span_notice("You shift \the [src] onto \the [T].")) log_and_message_admins("has casted [src] at [T.x],[T.y],[T.z].") - qdel(src) \ No newline at end of file + qdel(src) diff --git a/code/game/gamemodes/technomancer/spells/summon/summon.dm b/code/game/gamemodes/technomancer/spells/summon/summon.dm index 3f39f7d9601..f64ddeca8a2 100644 --- a/code/game/gamemodes/technomancer/spells/summon/summon.dm +++ b/code/game/gamemodes/technomancer/spells/summon/summon.dm @@ -1,7 +1,7 @@ /mob/living/ var/summoned = 0 -/obj/item/weapon/spell/summon +/obj/item/spell/summon name = "summon template" desc = "Chitter chitter." cast_methods = CAST_RANGED | CAST_USE @@ -11,7 +11,7 @@ var/energy_cost = 0 var/instability_cost = 0 -/obj/item/weapon/spell/summon/on_ranged_cast(atom/hit_atom, mob/living/user) +/obj/item/spell/summon/on_ranged_cast(atom/hit_atom, mob/living/user) var/turf/T = get_turf(hit_atom) if(summoned_mob_type && core.summoned_mobs.len < core.max_summons && within_range(hit_atom) && pay_energy(energy_cost)) var/obj/effect/E = new(T) @@ -27,17 +27,17 @@ summon_underlay.alpha = 127 L.underlays |= summon_underlay on_summon(L) - to_chat(user, "You've successfully teleported \a [L] to you!") - visible_message("\A [L] appears from no-where!") + to_chat(user, span_notice("You've successfully teleported \a [L] to you!")) + visible_message(span_warning("\A [L] appears from no-where!")) log_and_message_admins("has summoned \a [L] at [T.x],[T.y],[T.z].") user.adjust_instability(instability_cost) -/obj/item/weapon/spell/summon/on_use_cast(mob/living/user) +/obj/item/spell/summon/on_use_cast(mob/living/user) if(summon_options.len) var/choice = tgui_input_list(user, "Choose a creature to kidnap from somewhere!", "Summon", summon_options) if(choice) summoned_mob_type = summon_options[choice] // Called when a new mob is summoned, override for special behaviour. -/obj/item/weapon/spell/summon/proc/on_summon(var/mob/living/summoned) - return \ No newline at end of file +/obj/item/spell/summon/proc/on_summon(var/mob/living/summoned) + return diff --git a/code/game/gamemodes/technomancer/spells/summon/summon_creature.dm b/code/game/gamemodes/technomancer/spells/summon/summon_creature.dm index 7b2ab146a23..d26a35f78a0 100644 --- a/code/game/gamemodes/technomancer/spells/summon/summon_creature.dm +++ b/code/game/gamemodes/technomancer/spells/summon/summon_creature.dm @@ -8,10 +8,10 @@ enhancement_desc = "Summoned entities will never harm their summoner." spell_power_desc = "The strength and endurance of the summoned creature will be greater." cost = 100 - obj_path = /obj/item/weapon/spell/summon/summon_creature + obj_path = /obj/item/spell/summon/summon_creature category = UTILITY_SPELLS -/obj/item/weapon/spell/summon/summon_creature +/obj/item/spell/summon/summon_creature name = "summon creature" desc = "Chitter chitter." summoned_mob_type = null @@ -37,9 +37,9 @@ instability_cost = 10 energy_cost = 1000 -/obj/item/weapon/spell/summon/summon_creature/on_summon(var/mob/living/simple_mob/summoned) +/obj/item/spell/summon/summon_creature/on_summon(var/mob/living/simple_mob/summoned) if(check_for_scepter()) -// summoned.faction = "technomancer" +// summoned.faction = FACTION_TECHNOMANCER summoned.friends += owner // Makes their new pal big and strong, if they have spell power. diff --git a/code/game/gamemodes/technomancer/spells/summon/summon_ward.dm b/code/game/gamemodes/technomancer/spells/summon/summon_ward.dm index 95000445813..3908d0fb894 100644 --- a/code/game/gamemodes/technomancer/spells/summon/summon_ward.dm +++ b/code/game/gamemodes/technomancer/spells/summon/summon_ward.dm @@ -4,10 +4,10 @@ moving around it, or when it is attacked. They can see for up to five meters. It can also see invisible entities, and \ forcefully decloak them if close enough." cost = 25 - obj_path = /obj/item/weapon/spell/summon/summon_ward + obj_path = /obj/item/spell/summon/summon_ward category = UTILITY_SPELLS -/obj/item/weapon/spell/summon/summon_ward +/obj/item/spell/summon/summon_ward name = "summon ward" desc = "Finally, someone you can depend on to watch your back." cast_methods = CAST_RANGED @@ -16,5 +16,5 @@ instability_cost = 5 energy_cost = 500 -/obj/item/weapon/spell/summon/summon_ward/on_summon(var/mob/living/simple_mob/mechanical/ward/monitor/my_ward) +/obj/item/spell/summon/summon_ward/on_summon(var/mob/living/simple_mob/mechanical/ward/monitor/my_ward) my_ward.owner = owner diff --git a/code/game/gamemodes/technomancer/spells/targeting_matrix.dm b/code/game/gamemodes/technomancer/spells/targeting_matrix.dm index b227748aebe..4ead252ceb1 100644 --- a/code/game/gamemodes/technomancer/spells/targeting_matrix.dm +++ b/code/game/gamemodes/technomancer/spells/targeting_matrix.dm @@ -4,17 +4,17 @@ Each target assisted attack costs some energy and instability." cost = 50 ability_icon_state = "tech_targetingmatrix" - obj_path = /obj/item/weapon/spell/targeting_matrix + obj_path = /obj/item/spell/targeting_matrix category = UTILITY_SPELLS -/obj/item/weapon/spell/targeting_matrix +/obj/item/spell/targeting_matrix name = "targeting matrix" desc = "Aiming is too much effort for you." icon_state = "targeting_matrix" cast_methods = CAST_RANGED aspect = ASPECT_FORCE //idk? -/obj/item/weapon/spell/targeting_matrix/on_ranged_cast(atom/hit_atom, mob/user) +/obj/item/spell/targeting_matrix/on_ranged_cast(atom/hit_atom, mob/user) var/turf/T = get_turf(hit_atom) if(T) var/mob/living/chosen_target = targeting_assist(T,5) //The person who's about to get attacked. diff --git a/code/game/gamemodes/technomancer/spells/track.dm b/code/game/gamemodes/technomancer/spells/track.dm index 461c4e83913..39d06119cda 100644 --- a/code/game/gamemodes/technomancer/spells/track.dm +++ b/code/game/gamemodes/technomancer/spells/track.dm @@ -4,7 +4,7 @@ Wonderful if you're worried someone will steal your valuables, like a certain shiny Scepter..." enhancement_desc = "You will be able to track most other entities in addition to your belongings and allies." cost = 25 - obj_path = /obj/item/weapon/spell/track + obj_path = /obj/item/spell/track ability_icon_state = "tech_track" category = UTILITY_SPELLS @@ -12,7 +12,7 @@ // I feel dirty for adding yet another global list used by one thing, but the only alternative is to loop through world, and yeahhh. var/list/technomancer_belongings = list() -/obj/item/weapon/spell/track +/obj/item/spell/track name = "track" icon_state = "track" desc = "Never lose your stuff again!" @@ -21,15 +21,15 @@ var/list/technomancer_belongings = list() var/atom/movable/tracked = null // The thing to point towards. var/tracking = 0 // If one, points towards tracked. -/obj/item/weapon/spell/track/Destroy() +/obj/item/spell/track/Destroy() tracked = null tracking = 0 return ..() -/obj/item/weapon/spell/track/on_use_cast(mob/user) +/obj/item/spell/track/on_use_cast(mob/user) if(tracking) tracking = 0 - to_chat(user, "You stop tracking for \the [tracked]'s whereabouts.") + to_chat(user, span_notice("You stop tracking for \the [tracked]'s whereabouts.")) tracked = null return @@ -50,7 +50,7 @@ var/list/technomancer_belongings = list() tracking = 1 track() -/obj/item/weapon/spell/track/proc/track() +/obj/item/spell/track/proc/track() if(!tracking) icon_state = "track" return @@ -75,4 +75,4 @@ var/list/technomancer_belongings = list() icon_state = "track_far" spawn(5) - .() \ No newline at end of file + .() diff --git a/code/game/gamemodes/technomancer/spells/warp_strike.dm b/code/game/gamemodes/technomancer/spells/warp_strike.dm index 83a2336ab69..99c82387e89 100644 --- a/code/game/gamemodes/technomancer/spells/warp_strike.dm +++ b/code/game/gamemodes/technomancer/spells/warp_strike.dm @@ -2,11 +2,11 @@ name = "Warp Strike" desc = "Teleports you next to your target, and attacks them with whatever is in your off-hand, spell or object." cost = 100 - obj_path = /obj/item/weapon/spell/warp_strike + obj_path = /obj/item/spell/warp_strike ability_icon_state = "tech_warpstrike" category = OFFENSIVE_SPELLS -/obj/item/weapon/spell/warp_strike +/obj/item/spell/warp_strike name = "warp strike" desc = "The answer to the problem of bringing a knife to a gun fight." icon_state = "warp_strike" @@ -14,13 +14,13 @@ aspect = ASPECT_TELE var/datum/effect/effect/system/spark_spread/sparks -/obj/item/weapon/spell/warp_strike/New() +/obj/item/spell/warp_strike/New() ..() sparks = new /datum/effect/effect/system/spark_spread() sparks.set_up(5, 0, src) sparks.attach(loc) -/obj/item/weapon/spell/warp_strike/on_ranged_cast(atom/hit_atom, mob/user) +/obj/item/spell/warp_strike/on_ranged_cast(atom/hit_atom, mob/user) var/turf/T = get_turf(hit_atom) if(T) if(!within_range(T)) @@ -57,18 +57,18 @@ var/obj/item/I = user.get_inactive_hand() // List of items we don't want used, for balance reasons or to avoid infinite loops. var/list/blacklisted_items = list( - /obj/item/weapon/gun, - /obj/item/weapon/spell/warp_strike, - /obj/item/weapon/spell/targeting_matrix + /obj/item/gun, + /obj/item/spell/warp_strike, + /obj/item/spell/targeting_matrix ) if(I) if(is_path_in_list(I.type, blacklisted_items)) - to_chat(user, "You can't use \the [I] while warping!") + to_chat(user, span_danger("You can't use \the [I] while warping!")) return - if(istype(I, /obj/item/weapon)) - var/obj/item/weapon/W = I + if(istype(I, /obj/item)) + var/obj/item/W = I W.attack(chosen_target, user) W.afterattack(chosen_target, user) else @@ -77,4 +77,3 @@ else chosen_target.attack_hand(user) add_attack_logs(user,chosen_target,"Warp striked") - diff --git a/code/game/gamemodes/wizard/wizard.dm b/code/game/gamemodes/wizard/wizard.dm index e3dc3dccd0b..b162a691d66 100644 --- a/code/game/gamemodes/wizard/wizard.dm +++ b/code/game/gamemodes/wizard/wizard.dm @@ -1,8 +1,8 @@ /datum/game_mode/wizard - name = "Wizard" + name = JOB_WIZARD round_description = "There is a SPACE WIZARD on the station. You can't let the magician achieve their objectives!" extended_round_description = "A powerful entity capable of manipulating the elements around him, most commonly referred to as a 'wizard', has infiltrated the station. They have a wide variety of powers and spells available to them that makes your own simple moral self tremble with fear and excitement. Ultimately, their purpose is unknown. However, it is up to you and your crew to decide if their powers can be used for good or if their arrival foreshadows the destruction of the entire station." - config_tag = "wizard" + config_tag = JOB_WIZARD votable = 0 required_players = 1 required_players_secret = 3 diff --git a/code/game/jobs/access.dm b/code/game/jobs/access.dm index 7feba4be617..ce3c58ad3cb 100644 --- a/code/game/jobs/access.dm +++ b/code/game/jobs/access.dm @@ -6,7 +6,7 @@ return check_access(M?.GetIdCard()) /atom/movable/proc/GetAccess() - var/obj/item/weapon/card/id/id = GetIdCard() + var/obj/item/card/id/id = GetIdCard() return id ? id.GetAccess() : list() /obj/proc/GetID() @@ -232,7 +232,7 @@ /proc/FindNameFromID(var/mob/living/carbon/human/H) ASSERT(istype(H)) - var/obj/item/weapon/card/id/C = H.GetIdCard() + var/obj/item/card/id/C = H.GetIdCard() if(C) return C.registered_name @@ -240,10 +240,10 @@ return joblist + alt_titles_with_icons + list("Prisoner") /obj/proc/GetJobName() //Used in secHUD icon generation - var/obj/item/weapon/card/id/I = GetID() + var/obj/item/card/id/I = GetID() if(I) - if(istype(I,/obj/item/weapon/card/id/centcom)) + if(istype(I,/obj/item/card/id/centcom)) return "Centcom" var/job_icons = get_all_job_icons() diff --git a/code/game/jobs/access_datum.dm b/code/game/jobs/access_datum.dm index 530e4502705..d5d9e201392 100644 --- a/code/game/jobs/access_datum.dm +++ b/code/game/jobs/access_datum.dm @@ -127,7 +127,7 @@ /var/const/access_captain = 20 /datum/access/captain id = access_captain - desc = "Site Manager" + desc = JOB_SITE_MANAGER region = ACCESS_REGION_COMMAND /var/const/access_all_personal_lockers = 21 @@ -187,7 +187,7 @@ /var/const/access_rd = 30 /datum/access/rd id = access_rd - desc = "Research Director" + desc = JOB_RESEARCH_DIRECTOR region = ACCESS_REGION_RESEARCH /var/const/access_cargo = 31 @@ -247,13 +247,13 @@ /var/const/access_cmo = 40 /datum/access/cmo id = access_cmo - desc = "Chief Medical Officer" + desc = JOB_CHIEF_MEDICAL_OFFICER region = ACCESS_REGION_COMMAND /var/const/access_qm = 41 /datum/access/qm id = access_qm - desc = "Quartermaster" + desc = JOB_QUARTERMASTER region = ACCESS_REGION_SUPPLY /var/const/access_network = 42 @@ -265,13 +265,13 @@ var/const/access_explorer = 43 /datum/access/explorer id = access_explorer - desc = "Away Team" + desc = JOB_EXPLORER region = ACCESS_REGION_GENERAL /* /var/const/access_pathfinder = 44 /datum/access/pathfinder id = access_pathfinder - desc = "Pathfinder" + desc = JOB_PATHFINDER region = ACCESS_REGION_GENERAL */ @@ -331,19 +331,19 @@ var/const/access_explorer = 43 /var/const/access_ce = 56 /datum/access/ce id = access_ce - desc = "Chief Engineer" + desc = JOB_CHIEF_ENGINEER region = ACCESS_REGION_ENGINEERING /var/const/access_hop = 57 /datum/access/hop id = access_hop - desc = "Head of Personnel" + desc = JOB_HEAD_OF_PERSONNEL region = ACCESS_REGION_COMMAND /var/const/access_hos = 58 /datum/access/hos id = access_hos - desc = "Head of Security" + desc = JOB_HEAD_OF_SECURITY region = ACCESS_REGION_SECURITY /var/const/access_RC_announce = 59 //Request console announcements @@ -379,7 +379,7 @@ var/const/access_explorer = 43 /var/const/access_psychiatrist = 64 // Psychiatrist's office /datum/access/psychiatrist id = access_psychiatrist - desc = "Psychiatrist's Office" + desc = JOB_PSYCHIATRIST + "'s Office" region = ACCESS_REGION_MEDBAY /var/const/access_xenoarch = 65 @@ -397,7 +397,7 @@ var/const/access_explorer = 43 var/const/access_pilot = 67 /datum/access/pilot id = access_pilot - desc = "Pilot" + desc = JOB_PILOT region = ACCESS_REGION_GENERAL /var/const/access_entertainment = 72 @@ -430,7 +430,7 @@ var/const/access_pilot = 67 /var/const/access_cent_specops = 103//Special Ops. /datum/access/cent_specops id = access_cent_specops - desc = "Emergency Response Team Prep" + desc = JOB_EMERGENCY_RESPONSE_TEAM + " Prep" access_type = ACCESS_TYPE_CENTCOM /var/const/access_cent_medical = 104//Medical/Research @@ -460,7 +460,7 @@ var/const/access_pilot = 67 /var/const/access_cent_creed = 108//Creed's office. /datum/access/cent_creed id = access_cent_creed - desc = "Emergency Response Team Administration" + desc = JOB_EMERGENCY_RESPONSE_TEAM + " Administration" access_type = ACCESS_TYPE_CENTCOM /var/const/access_cent_captain = 109//Captain's office/ID comp/AI. @@ -472,7 +472,7 @@ var/const/access_pilot = 67 /var/const/access_clown = 136 /datum/access/clown id = access_clown - desc = "Clown Office" + desc = JOB_CLOWN + " Office" region = ACCESS_REGION_GENERAL /var/const/access_tomfoolery = 137 @@ -484,7 +484,7 @@ var/const/access_pilot = 67 /var/const/access_mime = 138 /datum/access/mime id = access_mime - desc = "Mime Office" + desc = JOB_MIME + " Office" region = ACCESS_REGION_GENERAL /*************** @@ -493,6 +493,7 @@ var/const/access_pilot = 67 /var/const/access_syndicate = 150//General Syndicate Access /datum/access/syndicate id = access_syndicate + desc = "Syndicate" access_type = ACCESS_TYPE_SYNDICATE /******* @@ -507,11 +508,13 @@ var/const/access_pilot = 67 /var/const/access_crate_cash = 200 /datum/access/crate_cash id = access_crate_cash + desc = "Crate cash" access_type = ACCESS_TYPE_NONE /var/const/access_trader = 160//General Beruang Trader Access /datum/access/trader id = access_trader + desc = "Trader" access_type = ACCESS_TYPE_PRIVATE /var/const/access_alien = 300 // For things like crashed ships. diff --git a/code/game/jobs/job/assistant.dm b/code/game/jobs/job/assistant.dm index 0cf6a8c086f..db8eceacac3 100644 --- a/code/game/jobs/job/assistant.dm +++ b/code/game/jobs/job/assistant.dm @@ -2,12 +2,12 @@ // Assistant ////////////////////////////////// /datum/job/assistant - title = "Assistant" + title = JOB_ALT_ASSISTANT flag = ASSISTANT departments = list(DEPARTMENT_CIVILIAN) sorting_order = -1 department_flag = CIVILIAN - faction = "Station" + faction = FACTION_STATION total_positions = -1 spawn_positions = -1 supervisors = "absolutely everyone" @@ -18,42 +18,159 @@ outfit_type = /decl/hierarchy/outfit/job/assistant job_description = "An Assistant does whatever is requested of them. Though they are part of the crew, they have no real authority." -/* alt_titles = list("Technical Assistant" = /datum/alt_title/tech_assist, - "Medical Intern"= /datum/alt_title/med_intern, "Research Assistant" = /datum/alt_title/research_assist, - "Visitor" = /datum/alt_title/visitor) +/* alt_titles = list(JOB_ALT_TECHNICAL_ASSISTANT = /datum/alt_title/tech_assist, + JOB_ALT_MEDICAL_INTERN= /datum/alt_title/med_intern, JOB_ALT_RESEARCH_ASSISTANT = /datum/alt_title/research_assist, + JOB_ALT_VISITOR = /datum/alt_title/visitor) ) */ //VOREStation Removal: no alt-titles for visitors /datum/job/assistant/get_access() - if(config.assistant_maint) + if(CONFIG_GET(flag/assistant_maint)) return list(access_maint_tunnels) else return list() // Assistant Alt Titles /datum/alt_title/tech_assist - title = "Technical Assistant" - title_blurb = "A Technical Assistant attempts to provide whatever the Engineering department needs. They are not proper Engineers, and are \ - often in training to become an Engineer. A Technical Assistant has no real authority." + title = JOB_ALT_TECHNICAL_ASSISTANT + title_blurb = "A " + JOB_ALT_TECHNICAL_ASSISTANT + " attempts to provide whatever the Engineering department needs. They are not proper Engineers, and are \ + often in training to become an " + JOB_ENGINEER + ". A " + JOB_ALT_TECHNICAL_ASSISTANT + " has no real authority." /datum/alt_title/med_intern - title = "Medical Intern" - title_blurb = "A Medical Intern attempts to provide whatever the Medical department needs. They are frequently asked to pay attention to \ - the suit sensors console. A Medical Intern has no real authority." + title = JOB_ALT_MEDICAL_INTERN + title_blurb = "A " + JOB_ALT_MEDICAL_INTERN + " attempts to provide whatever the Medical department needs. They are frequently asked to pay attention to \ + the suit sensors console. A " + JOB_ALT_MEDICAL_INTERN + " has no real authority." /datum/alt_title/research_assist - title = "Research Assistant" - title_blurb = "A Research Assistant attempts to assist anyone working in the Research department. They are expected to follow the instruction \ - of proper Research staff, as it is frequently a matter of safety. A Research Assistant has no real authority." + title = JOB_ALT_RESEARCH_ASSISTANT + title_blurb = "A " + JOB_ALT_RESEARCH_ASSISTANT + " attempts to assist anyone working in the Research department. They are expected to follow the instruction \ + of proper Research staff, as it is frequently a matter of safety. A " + JOB_ALT_RESEARCH_ASSISTANT + " has no real authority." /datum/alt_title/visitor - title = "Visitor" - title_blurb = "A Visitor is anyone who has arrived on the station but does not have a specific job to do. Many off-duty crewmembers \ + title = JOB_ALT_VISITOR + title_blurb = "A " + JOB_ALT_VISITOR + " is anyone who has arrived on the station but does not have a specific job to do. Many off-duty crewmembers \ who care to make use of the station's facilities arrive as Visitors. Properly registered Vistors are considered \ to be part of the crew for most if not all purposes, but they have no real authority." title_outfit = /decl/hierarchy/outfit/job/assistant/visitor /datum/alt_title/resident // Just in case it makes a comeback - title = "Resident" - title_blurb = "A Resident is an individual who resides on the station, frequently in a different part of the station than what is seen. \ + title = JOB_ALT_RESIDENT + title_blurb = "A " + JOB_ALT_RESIDENT + " is an individual who resides on the station, frequently in a different part of the station than what is seen. \ They are considered to be part of the crew for most purposes, but have no real authority." title_outfit = /decl/hierarchy/outfit/job/assistant/resident + +////////////////////////////////// +// Intern +////////////////////////////////// + +/datum/job/intern + title = JOB_INTERN + flag = INTERN + departments = list(DEPARTMENT_CIVILIAN) + department_flag = ENGSEC // Ran out of bits + faction = FACTION_STATION + total_positions = -1 + spawn_positions = -1 + supervisors = "the staff from the department you're interning in" + selection_color = "#555555" + economic_modifier = 2 + access = list() //See /datum/job/intern/get_access() + minimal_access = list() //See /datum/job/intern/get_access() + outfit_type = /decl/hierarchy/outfit/job/assistant/intern + alt_titles = list(JOB_ALT_APPRENTICE_ENGINEER = /datum/alt_title/intern_eng, + JOB_ALT_MEDICAL_INTERN = /datum/alt_title/intern_med, + JOB_ALT_RESEARCH_INTERN = /datum/alt_title/intern_sci, + JOB_ALT_SECURITY_CADET = /datum/alt_title/intern_sec, + JOB_ALT_JR_CARGO_TECH = /datum/alt_title/intern_crg, + "Jr. Explorer" = /datum/alt_title/intern_exp, // YW EDIT + JOB_ALT_SERVER = /datum/alt_title/server, + JOB_ALT_ASSISTANT = /datum/alt_title/assistant) + job_description = "An " + JOB_INTERN + " does whatever is requested of them, often doing so in process of learning \ + another job. Though they are part of the crew, they have no real authority." + timeoff_factor = 0 // Interns, noh + requestable = FALSE + +/datum/alt_title/intern_eng + title = JOB_ALT_APPRENTICE_ENGINEER + title_blurb = "An " + JOB_ALT_APPRENTICE_ENGINEER + " attempts to provide whatever the Engineering department needs. They are not proper Engineers, and are \ + often in training to become an Engineer. An " + JOB_ALT_APPRENTICE_ENGINEER + " has no real authority." + title_outfit = /decl/hierarchy/outfit/job/assistant/engineer + +/datum/alt_title/intern_med + title = JOB_ALT_MEDICAL_INTERN + title_blurb = "A " + JOB_ALT_MEDICAL_INTERN + " attempts to provide whatever the Medical department needs. They are not proper Doctors, and are \ + often in training to become a Doctor. A " + JOB_ALT_MEDICAL_INTERN + " has no real authority." + title_outfit = /decl/hierarchy/outfit/job/assistant/medic + +/datum/alt_title/intern_sci + title = JOB_ALT_RESEARCH_INTERN + title_blurb = "A " + JOB_ALT_RESEARCH_INTERN + " attempts to provide whatever the Research department needs. They are not proper " + JOB_SCIENTIST + "s, and are \ + often in training to become a " + JOB_SCIENTIST + ". A " + JOB_ALT_RESEARCH_INTERN + " has no real authority." + title_outfit = /decl/hierarchy/outfit/job/assistant/scientist + +/datum/alt_title/intern_sec + title = JOB_ALT_SECURITY_CADET + title_blurb = "A " + JOB_ALT_SECURITY_CADET + " attempts to provide whatever the Security department needs. They are not proper Officers, and are \ + often in training to become an Officer. A " + JOB_ALT_SECURITY_CADET + " has no real authority." + title_outfit = /decl/hierarchy/outfit/job/assistant/officer + +/datum/alt_title/intern_crg + title = JOB_ALT_JR_CARGO_TECH + title_blurb = "A " + JOB_ALT_JR_CARGO_TECH + " attempts to provide whatever the Cargo department needs. They are not proper Cargo Technicians, and are \ + often in training to become a " + JOB_CARGO_TECHNICIAN + ". A " + JOB_ALT_JR_CARGO_TECH + " has no real authority." + title_outfit = /decl/hierarchy/outfit/job/assistant/cargo +// YW Changes start un-comment +/datum/alt_title/intern_exp + title = "Jr. " + JOB_EXPLORER + "" + title_blurb = "A Jr. " + JOB_EXPLORER + " attempts to provide whatever the Exploration department needs. They are not proper " + JOB_EXPLORER + "s, and are \ + often in training to become an " + JOB_EXPLORER + ". A Jr. " + JOB_EXPLORER + " has no real authority." + title_outfit = /decl/hierarchy/outfit/job/assistant/explorer +// YW Changes end un-comment +/datum/alt_title/server + title = JOB_ALT_SERVER + title_blurb = "A " + JOB_ALT_SERVER + " helps out kitchen and diner staff with various tasks, primarily food delivery. A " + JOB_ALT_SERVER + " has no real authority." + title_outfit = /decl/hierarchy/outfit/job/service/server + +/datum/alt_title/assistant + title = JOB_ALT_ASSISTANT + title_blurb = "An " + JOB_ALT_ASSISTANT + " helps out wherever they might be needed. They have no authority, but can volunteer to help if help is needed." + title_outfit = /decl/hierarchy/outfit/job/service/server + +/datum/job/intern/New() + ..() + if(config) + total_positions = CONFIG_GET(number/limit_interns) + spawn_positions = CONFIG_GET(number/limit_interns) + +/datum/job/intern/get_access() + if(CONFIG_GET(flag/assistant_maint)) + return list(access_maint_tunnels) + else + return list() + +////////////////////////////////// +// Visitor +////////////////////////////////// + +/datum/job/assistant // Visitor + title = JOB_ALT_VISITOR + supervisors = "nobody! You don't work here" + job_description = "A " + JOB_ALT_VISITOR + " is just there to visit the place. They have no real authority or responsibility." + timeoff_factor = 0 + requestable = FALSE + alt_titles = list("Guest" = /datum/alt_title/guest, "Traveler" = /datum/alt_title/traveler, + "Serenity Resident" = /datum/alt_title/resident) //YW Addition - Resident + +/datum/job/assistant/New() + ..() + if(config) + total_positions = CONFIG_GET(number/limit_visitors) + spawn_positions = CONFIG_GET(number/limit_visitors) + +/datum/job/assistant/get_access() + return list() + +/datum/alt_title/guest + title = "Guest" + +/datum/alt_title/traveler + title = "Traveler" diff --git a/code/game/jobs/job/assistant_vr.dm b/code/game/jobs/job/assistant_vr.dm deleted file mode 100644 index b70a498e7c1..00000000000 --- a/code/game/jobs/job/assistant_vr.dm +++ /dev/null @@ -1,117 +0,0 @@ -////////////////////////////////// -// Intern -////////////////////////////////// - -/datum/job/intern - title = "Intern" - flag = INTERN - departments = list(DEPARTMENT_CIVILIAN) - department_flag = ENGSEC // Ran out of bits - faction = "Station" - total_positions = -1 - spawn_positions = -1 - supervisors = "the staff from the department you're interning in" - selection_color = "#555555" - economic_modifier = 2 - access = list() //See /datum/job/intern/get_access() - minimal_access = list() //See /datum/job/intern/get_access() - outfit_type = /decl/hierarchy/outfit/job/assistant/intern - alt_titles = list("Apprentice Engineer" = /datum/alt_title/intern_eng, - "Medical Intern" = /datum/alt_title/intern_med, - "Research Intern" = /datum/alt_title/intern_sci, - "Security Cadet" = /datum/alt_title/intern_sec, - "Jr. Cargo Tech" = /datum/alt_title/intern_crg, - "Jr. Explorer" = /datum/alt_title/intern_exp, // YW EDIT - "Server" = /datum/alt_title/server, - "Assistant" = /datum/alt_title/assistant) - job_description = "An Intern does whatever is requested of them, often doing so in process of learning \ - another job. Though they are part of the crew, they have no real authority." - timeoff_factor = 0 // Interns, noh - requestable = FALSE - -/datum/alt_title/intern_eng - title = "Apprentice Engineer" - title_blurb = "An Apprentice Engineer attempts to provide whatever the Engineering department needs. They are not proper Engineers, and are \ - often in training to become an Engineer. An Apprentice Engineer has no real authority." - title_outfit = /decl/hierarchy/outfit/job/assistant/engineer - -/datum/alt_title/intern_med - title = "Medical Intern" - title_blurb = "A Medical Intern attempts to provide whatever the Medical department needs. They are not proper Doctors, and are \ - often in training to become a Doctor. A Medical Intern has no real authority." - title_outfit = /decl/hierarchy/outfit/job/assistant/medic - -/datum/alt_title/intern_sci - title = "Research Intern" - title_blurb = "A Research Intern attempts to provide whatever the Research department needs. They are not proper Scientists, and are \ - often in training to become a Scientist. A Research Intern has no real authority." - title_outfit = /decl/hierarchy/outfit/job/assistant/scientist - -/datum/alt_title/intern_sec - title = "Security Cadet" - title_blurb = "A Security Cadet attempts to provide whatever the Security department needs. They are not proper Officers, and are \ - often in training to become an Officer. A Security Cadet has no real authority." - title_outfit = /decl/hierarchy/outfit/job/assistant/officer - -/datum/alt_title/intern_crg - title = "Jr. Cargo Tech" - title_blurb = "A Jr. Cargo Tech attempts to provide whatever the Cargo department needs. They are not proper Cargo Technicians, and are \ - often in training to become a Cargo Technician. A Jr. Cargo Tech has no real authority." - title_outfit = /decl/hierarchy/outfit/job/assistant/cargo -// YW Changes start un-comment -/datum/alt_title/intern_exp - title = "Jr. Explorer" - title_blurb = "A Jr. Explorer attempts to provide whatever the Exploration department needs. They are not proper Explorers, and are \ - often in training to become an Explorer. A Jr. Explorer has no real authority." - title_outfit = /decl/hierarchy/outfit/job/assistant/explorer -// YW Changes end un-comment -/datum/alt_title/server - title = "Server" - title_blurb = "A Server helps out kitchen and diner staff with various tasks, primarily food delivery. A Server has no real authority." - title_outfit = /decl/hierarchy/outfit/job/service/server - -/datum/alt_title/assistant - title = "Assistant" - title_blurb = "An assistant helps out wherever they might be needed. They have no authority, but can volunteer to help if help is needed." - title_outfit = /decl/hierarchy/outfit/job/service/server - -/datum/job/intern/New() - ..() - if(config) - total_positions = config.limit_interns - spawn_positions = config.limit_interns - -/datum/job/intern/get_access() - if(config.assistant_maint) - return list(access_maint_tunnels) - else - return list() - - -////////////////////////////////// -// Visitor -////////////////////////////////// - -/datum/job/assistant // Visitor - title = USELESS_JOB - supervisors = "nobody! You don't work here" - job_description = "A Visitor is just there to visit the place. They have no real authority or responsibility." - timeoff_factor = 0 - requestable = FALSE - alt_titles = list("Guest" = /datum/alt_title/guest, "Traveler" = /datum/alt_title/traveler, - "Serenity Resident" = /datum/alt_title/resident) //YW Addition - Resident - -/datum/job/assistant/New() - ..() - if(config) - total_positions = config.limit_visitors - spawn_positions = config.limit_visitors - -/datum/job/assistant/get_access() - return list() - -/datum/alt_title/guest - title = "Guest" - -/datum/alt_title/traveler - title = "Traveler" diff --git a/code/game/jobs/job/captain.dm b/code/game/jobs/job/captain.dm index e3b74292aca..df2ab4c626f 100644 --- a/code/game/jobs/job/captain.dm +++ b/code/game/jobs/job/captain.dm @@ -5,13 +5,13 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1) ////////////////////////////////// /datum/job/captain - title = "Site Manager" + title = JOB_SITE_MANAGER flag = CAPTAIN departments = list(DEPARTMENT_COMMAND) sorting_order = 3 // Above everyone. departments_managed = list(DEPARTMENT_COMMAND) department_flag = ENGSEC - faction = "Station" + faction = FACTION_STATION total_positions = 1 spawn_positions = 1 supervisors = "company officials and Corporate Regulations" @@ -25,14 +25,19 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1) minimum_character_age = 25 min_age_by_species = list(SPECIES_HUMAN_VATBORN = 14) ideal_character_age = 70 // Old geezer captains ftw - ideal_age_by_species = list(SPECIES_HUMAN_VATBORN = 55) /// Vatborn live shorter, no other race eligible for captain besides human/skrell + ideal_age_by_species = list(SPECIES_HUMAN_VATBORN = 55) /// Vatborn live shorter, no other race eligible for captain besides human/skrell banned_job_species = list(SPECIES_UNATHI, SPECIES_TAJ, SPECIES_DIONA, SPECIES_PROMETHEAN, SPECIES_ZADDAT, "mechanical", "digital") + disallow_jobhop = TRUE + pto_type = PTO_CIVILIAN + dept_time_required = 80 //Pending something more complicated + outfit_type = /decl/hierarchy/outfit/job/captain - job_description = "The Site Manager manages the other Command Staff, and through them the rest of the station. Though they have access to everything, \ - they do not understand everything, and are expected to delegate tasks to the appropriate crew member. The Site Manager is expected to \ + job_description = "The " + JOB_SITE_MANAGER + " manages the other Command Staff, and through them the rest of the station. Though they have access to everything, \ + they do not understand everything, and are expected to delegate tasks to the appropriate crew member. The " + JOB_SITE_MANAGER + " is expected to \ have an understanding of Standard Operating Procedure, and is subject to it, and legal action, in the same way as every other crew member." - alt_titles = list("Overseer"= /datum/alt_title/overseer) + alt_titles = list(JOB_ALT_OVERSEER= /datum/alt_title/overseer, JOB_ALT_FACILITY_DIRECTOR = /datum/alt_title/facility_director, JOB_ALT_CHIEF_SUPERVISOR = /datum/alt_title/chief_supervisor, + JOB_ALT_CAPTAIN = /datum/alt_title/captain) // YW UNCOMMENTINGSTART: REINSTATE LOYALTY IMPLANT @@ -46,25 +51,36 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1) /datum/job/captain/get_access() return get_all_station_access().Copy() +/datum/job/captain/get_request_reasons() + return list("Training crew", "Assembling expedition team") // Captain Alt Titles /datum/alt_title/overseer - title = "Overseer" + title = JOB_ALT_OVERSEER + +/datum/alt_title/facility_director + title = JOB_ALT_FACILITY_DIRECTOR + +/datum/alt_title/chief_supervisor + title = JOB_ALT_CHIEF_SUPERVISOR + +/datum/alt_title/captain + title = JOB_ALT_CAPTAIN ////////////////////////////////// // Head of Personnel ////////////////////////////////// /datum/job/hop - title = "Head of Personnel" + title = JOB_HEAD_OF_PERSONNEL flag = HOP departments = list(DEPARTMENT_COMMAND, DEPARTMENT_CIVILIAN, DEPARTMENT_CARGO) sorting_order = 2 // Above the QM, below captain. departments_managed = list(DEPARTMENT_CIVILIAN, DEPARTMENT_CARGO) department_flag = CIVILIAN - faction = "Station" + faction = FACTION_STATION total_positions = 1 spawn_positions = 1 - supervisors = "the Site Manager" + supervisors = "the " + JOB_SITE_MANAGER selection_color = "#1D1D4F" req_admin_notify = 1 minimal_player_age = 10 @@ -76,40 +92,53 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1) ideal_age_by_species = list(SPECIES_UNATHI = 140, SPECIES_TESHARI = 27, "mechanical" = 20, SPECIES_HUMAN_VATBORN = 20) banned_job_species = list(SPECIES_PROMETHEAN, SPECIES_ZADDAT, "digital", SPECIES_DIONA) + disallow_jobhop = TRUE + pto_type = PTO_CIVILIAN + departments = list(DEPARTMENT_COMMAND, DEPARTMENT_CIVILIAN) + departments_managed = list(DEPARTMENT_CIVILIAN, DEPARTMENT_CARGO, DEPARTMENT_PLANET) + dept_time_required = 60 + outfit_type = /decl/hierarchy/outfit/job/hop - job_description = "The Head of Personnel manages the Service department and most other civilians. They also \ - manage the Supply department, through the Quartermaster. In addition, the Head of Personnel oversees the personal accounts \ - of the crew, including their money and access. If necessary, the Head of Personnel is first in line to assume Acting Command." //YW EDIT - alt_titles = list("Crew Resources Officer" = /datum/alt_title/cro) - - access = list(access_security, access_sec_doors, access_brig, access_forensics_lockers, - access_medical, access_engine, access_change_ids, access_ai_upload, access_eva, access_heads, - access_all_personal_lockers, access_maint_tunnels, access_bar, access_janitor, access_construction, access_morgue, - access_crematorium, access_kitchen, access_cargo, access_cargo_bot, access_mailsorting, access_qm, access_hydroponics, access_lawyer, - access_chapel_office, access_library, access_research, access_mining, access_heads_vault, access_mining_station, - access_hop, access_RC_announce, access_keycard_auth, access_gateway) - minimal_access = list(access_security, access_sec_doors, access_brig, access_forensics_lockers, - access_medical, access_engine, access_change_ids, access_ai_upload, access_eva, access_heads, - access_all_personal_lockers, access_maint_tunnels, access_bar, access_janitor, access_construction, access_morgue, - access_crematorium, access_kitchen, access_cargo, access_cargo_bot, access_mailsorting, access_qm, access_hydroponics, access_lawyer, - access_chapel_office, access_library, access_research, access_mining, access_heads_vault, access_mining_station, - access_hop, access_RC_announce, access_keycard_auth, access_gateway) + job_description = "The " + JOB_HEAD_OF_PERSONNEL + " manages the Service department and most other civilians. They also \ + manage the Supply department, through the " + JOB_QUARTERMASTER + ". In addition, the " + JOB_HEAD_OF_PERSONNEL + " oversees the personal accounts \ + of the crew, including their money and access. If necessary, the " + JOB_HEAD_OF_PERSONNEL + " is first in line to assume Acting Command." + + access = list(access_security, access_sec_doors, access_brig, access_forensics_lockers, access_medical, access_engine, access_change_ids, access_ai_upload, access_eva, access_heads, access_all_personal_lockers, access_maint_tunnels, access_bar, access_janitor, access_construction, access_morgue, access_crematorium, access_kitchen, access_cargo, access_cargo_bot, access_mailsorting, access_qm, access_hydroponics, access_lawyer, access_chapel_office, access_library, access_research, access_mining, access_heads_vault, access_mining_station, access_hop, access_RC_announce, access_clown, access_tomfoolery, access_mime, access_keycard_auth, access_gateway, access_entertainment) + minimal_access = list(access_security, access_sec_doors, access_brig, access_forensics_lockers,access_medical, access_engine, access_change_ids, access_ai_upload, access_eva, access_heads,access_all_personal_lockers, access_maint_tunnels, access_bar, access_janitor, access_construction, access_morgue, access_crematorium, access_kitchen, access_cargo, access_cargo_bot, access_mailsorting, access_qm, access_hydroponics, access_lawyer,access_chapel_office, access_library, access_research, access_mining, access_heads_vault, access_mining_station, access_hop, access_RC_announce, access_clown, access_tomfoolery, access_mime, access_keycard_auth, access_gateway, access_entertainment) + + alt_titles = list(JOB_ALT_CREW_RESOURCE_OFFICER = /datum/alt_title/cro, JOB_ALT_DEPUTY_MANAGER = /datum/alt_title/deputy_manager, JOB_ALT_STAFF_MANAGER = /datum/alt_title/staff_manager, + JOB_ALT_FACILITY_STEWARD = /datum/alt_title/facility_steward, JOB_ALT_FIRST_MATE = /datum/alt_title/first_mate) + +/datum/job/hop/get_request_reasons() + return list("ID modification", "Training crew", "Assembling expedition team") // HOP Alt Titles /datum/alt_title/cro - title = "Crew Resources Officer" + title = JOB_ALT_CREW_RESOURCE_OFFICER + +/datum/alt_title/deputy_manager + title = JOB_ALT_DEPUTY_MANAGER + +/datum/alt_title/staff_manager + title = JOB_ALT_STAFF_MANAGER + +/datum/alt_title/facility_steward + title = JOB_ALT_FACILITY_STEWARD + +/datum/alt_title/first_mate + title = JOB_ALT_FIRST_MATE ////////////////////////////////// // Command Secretary ////////////////////////////////// /datum/job/secretary - title = "Command Secretary" + title = JOB_COMMAND_SECRETARY flag = BRIDGE departments = list(DEPARTMENT_COMMAND) department_accounts = list(DEPARTMENT_COMMAND) department_flag = CIVILIAN - faction = "Station" + faction = FACTION_STATION total_positions = 2 spawn_positions = 2 supervisors = "command staff" @@ -117,10 +146,29 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1) minimal_player_age = 5 economic_modifier = 7 + disallow_jobhop = TRUE + pto_type = PTO_CIVILIAN + alt_titles = list(JOB_ALT_COMMAND_LIAISON = /datum/alt_title/command_liaison, JOB_ALT_COMMAND_ASSISTANT = /datum/alt_title/command_assistant, JOB_ALT_COMMAND_INTERN = /datum/alt_title/command_intern, + JOB_ALT_BRIDGE_SECRETARY = /datum/alt_title/bridge_secretary, JOB_ALT_BRIDGE_ASSISTANT = /datum/alt_title/bridge_assistant) + access = list(access_heads, access_keycard_auth, access_RC_announce) //YAWN EDIT minimal_access = list(access_heads, access_keycard_auth, access_RC_announce)//YAWN EDIT outfit_type = /decl/hierarchy/outfit/job/secretary - job_description = "A Command Secretary handles paperwork duty for the Heads of Staff, so they can better focus on managing their departments. \ + job_description = "A " + JOB_COMMAND_SECRETARY + " handles paperwork duty for the Heads of Staff, so they can better focus on managing their departments. \ They are not Heads of Staff, and have no real authority." +/datum/alt_title/command_liaison + title = JOB_ALT_COMMAND_LIAISON + +/datum/alt_title/command_assistant + title = JOB_ALT_COMMAND_ASSISTANT + +/datum/alt_title/command_intern + title = JOB_ALT_COMMAND_INTERN + +/datum/alt_title/bridge_secretary + title = JOB_ALT_BRIDGE_SECRETARY + +/datum/alt_title/bridge_assistant + title = JOB_ALT_BRIDGE_ASSISTANT diff --git a/code/game/jobs/job/captain_vr.dm b/code/game/jobs/job/captain_vr.dm deleted file mode 100644 index 3e2541bdecd..00000000000 --- a/code/game/jobs/job/captain_vr.dm +++ /dev/null @@ -1,78 +0,0 @@ -/datum/job/captain - disallow_jobhop = TRUE - pto_type = PTO_CIVILIAN - dept_time_required = 80 //Pending something more complicated - alt_titles = list("Overseer"= /datum/alt_title/overseer, "Facility Director" = /datum/alt_title/facility_director, "Chief Supervisor" = /datum/alt_title/chief_supervisor, - "Captain" = /datum/alt_title/captain) - -/datum/alt_title/facility_director - title = "Facility Director" - -/datum/alt_title/chief_supervisor - title = "Chief Supervisor" - -/datum/alt_title/captain - title = "Captain" - -/datum/job/captain/get_request_reasons() - return list("Training crew", "Assembling expedition team") - -/datum/job/hop - disallow_jobhop = TRUE - pto_type = PTO_CIVILIAN - departments = list(DEPARTMENT_COMMAND, DEPARTMENT_CIVILIAN) - departments_managed = list(DEPARTMENT_CIVILIAN, DEPARTMENT_CARGO, DEPARTMENT_PLANET) - dept_time_required = 60 - - alt_titles = list("Crew Resources Officer" = /datum/alt_title/cro, "Deputy Manager" = /datum/alt_title/deputy_manager, "Staff Manager" = /datum/alt_title/staff_manager, - "Facility Steward" = /datum/alt_title/facility_steward, "First Mate" = /datum/alt_title/first_mate) - - access = list(access_security, access_sec_doors, access_brig, access_forensics_lockers, - access_medical, access_engine, access_change_ids, access_ai_upload, access_eva, access_heads, - access_all_personal_lockers, access_maint_tunnels, access_bar, access_janitor, access_construction, access_morgue, - access_crematorium, access_kitchen, access_cargo, access_cargo_bot, access_mailsorting, access_qm, access_hydroponics, access_lawyer, - access_chapel_office, access_library, access_research, access_mining, access_heads_vault, access_mining_station, - access_hop, access_RC_announce, access_clown, access_tomfoolery, access_mime, access_keycard_auth, access_gateway, access_entertainment) - minimal_access = list(access_security, access_sec_doors, access_brig, access_forensics_lockers, - access_medical, access_engine, access_change_ids, access_ai_upload, access_eva, access_heads, - access_all_personal_lockers, access_maint_tunnels, access_bar, access_janitor, access_construction, access_morgue, - access_crematorium, access_kitchen, access_cargo, access_cargo_bot, access_mailsorting, access_qm, access_hydroponics, access_lawyer, - access_chapel_office, access_library, access_research, access_mining, access_heads_vault, access_mining_station, - access_hop, access_RC_announce, access_clown, access_tomfoolery, access_mime, access_keycard_auth, access_gateway, access_entertainment) - -/datum/alt_title/deputy_manager - title = "Deputy Manager" - -/datum/alt_title/staff_manager - title = "Staff Manager" - -/datum/alt_title/facility_steward - title = "Facility Steward" - -/datum/alt_title/first_mate - title = "First Mate" - -/datum/job/hop/get_request_reasons() - return list("ID modification", "Training crew", "Assembling expedition team") - - -/datum/job/secretary - disallow_jobhop = TRUE - pto_type = PTO_CIVILIAN - alt_titles = list("Command Liaison" = /datum/alt_title/command_liaison, "Command Assistant" = /datum/alt_title/command_assistant, "Command Intern" = /datum/alt_title/command_intern, - "Bridge Secretary" = /datum/alt_title/bridge_secretary, "Bridge Assistant" = /datum/alt_title/bridge_assistant) - -/datum/alt_title/command_liaison - title = "Command Liaison" - -/datum/alt_title/command_assistant - title = "Command Assistant" - -/datum/alt_title/command_intern - title = "Command Intern" - -/datum/alt_title/bridge_secretary - title = "Bridge Secretary" - -/datum/alt_title/bridge_assistant - title = "Bridge Assistant" diff --git a/code/game/jobs/job/cargo.dm b/code/game/jobs/job/cargo.dm new file mode 100644 index 00000000000..ad56749de66 --- /dev/null +++ b/code/game/jobs/job/cargo.dm @@ -0,0 +1,122 @@ +//Cargo +////////////////////////////////// +// Quartermaster +////////////////////////////////// +/datum/job/qm + title = JOB_QUARTERMASTER + flag = QUARTERMASTER + departments = list(DEPARTMENT_CARGO) + sorting_order = 1 // QM is above the cargo techs, but below the HoP. + departments_managed = list(DEPARTMENT_CARGO) + department_flag = CIVILIAN + faction = FACTION_STATION + total_positions = 1 + spawn_positions = 1 + pto_type = PTO_CARGO + supervisors = "the " + JOB_HEAD_OF_PERSONNEL + selection_color = "#9b633e" + economic_modifier = 5 + access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station, access_RC_announce) + minimal_access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station, access_RC_announce) + banned_job_species = list("digital", SPECIES_PROMETHEAN) + + ideal_character_age = 40 + dept_time_required = 20 + + outfit_type = /decl/hierarchy/outfit/job/cargo/qm + job_description = "The " + JOB_QUARTERMASTER + " manages the Supply department, checking cargo orders and ensuring supplies get to where they are needed." + alt_titles = list(JOB_ALT_SUPPLY_CHIEF = /datum/alt_title/supply_chief, JOB_ALT_LOGISTICS_MANAGER = /datum/alt_title/logistics_manager, JOB_ALT_CARGO_SUPERVISOR = /datum/alt_title/cargo_supervisor) + +/datum/job/qm/get_request_reasons() + return list("Training crew") + +// Quartermaster Alt Titles +/datum/alt_title/supply_chief + title = JOB_ALT_SUPPLY_CHIEF + +/datum/alt_title/logistics_manager + title = JOB_ALT_LOGISTICS_MANAGER + +/datum/alt_title/cargo_supervisor + title = JOB_ALT_CARGO_SUPERVISOR + +////////////////////////////////// +// Cargo Tech +////////////////////////////////// +/datum/job/cargo_tech + title = JOB_CARGO_TECHNICIAN + flag = CARGOTECH + departments = list(DEPARTMENT_CARGO) + department_flag = CIVILIAN + faction = FACTION_STATION + total_positions = 3 + spawn_positions = 3 + pto_type = PTO_CARGO + supervisors = "the " + JOB_QUARTERMASTER + " and the " + JOB_HEAD_OF_PERSONNEL + selection_color = "#7a4f33" + access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_mining, access_mining_station) + minimal_access = list(access_maint_tunnels, access_cargo, access_cargo_bot, access_mailsorting) + + outfit_type = /decl/hierarchy/outfit/job/cargo/cargo_tech + job_description = "A " + JOB_CARGO_TECHNICIAN + " fills and delivers cargo orders. They are encouraged to return delivered crates to the Cargo Shuttle, \ + because Central Command gives a partial refund." + + alt_titles = list(JOB_ALT_CARGO_LOADER = /datum/alt_title/cargo_loader, JOB_ALT_CARGO_HANDLER = /datum/alt_title/cargo_handler, JOB_ALT_SUPPLY_COURIER = /datum/alt_title/supply_courier, + JOB_ALT_DISPOSALS_SORTER = /datum/alt_title/disposal_sorter) + +/datum/alt_title/supply_courier + title = JOB_ALT_SUPPLY_COURIER + title_blurb = "A " + JOB_ALT_SUPPLY_COURIER + " is usually tasked with delivering packages or cargo directly to whoever requires it." + +/datum/alt_title/cargo_loader + title = JOB_ALT_CARGO_LOADER + title_blurb = "A " + JOB_ALT_CARGO_LOADER + " is usually tasked with more menial labor within Supply department, such as loading and unloading supply shuttle." + +/datum/alt_title/cargo_handler + title = JOB_ALT_CARGO_HANDLER + title_blurb = "A " + JOB_ALT_CARGO_HANDLER + " is usually tasked with more menial labor within Supply department, such as loading and unloading supply shuttle." + +/datum/alt_title/disposal_sorter + title = JOB_ALT_DISPOSALS_SORTER + title_blurb = "A " + JOB_ALT_DISPOSALS_SORTER + " is usually tasked with operating disposals delivery system, sorting the trash and tagging parcels for delivery." + +////////////////////////////////// +// Shaft Miner +////////////////////////////////// + +/datum/job/mining + title = JOB_SHAFT_MINER + flag = MINER + departments = list(DEPARTMENT_CARGO) + department_flag = CIVILIAN + faction = FACTION_STATION + total_positions = 4 + spawn_positions = 4 + pto_type = PTO_CARGO + supervisors = "the " + JOB_QUARTERMASTER + " and the " + JOB_HEAD_OF_PERSONNEL + selection_color = "#7a4f33" + economic_modifier = 5 + access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_mining, access_mining_station) + minimal_access = list(access_mining, access_mining_station, access_mailsorting) + + outfit_type = /decl/hierarchy/outfit/job/cargo/mining + job_description = "A " + JOB_SHAFT_MINER + " mines and processes minerals to be delivered to departments that need them." + alt_titles = list(JOB_ALT_DEEP_SPACE_MINER = /datum/alt_title/deep_space_miner, JOB_ALT_DRILL_TECHNICIAN = /datum/alt_title/drill_tech, JOB_ALT_PROSPECTOR = /datum/alt_title/prospector, + JOB_ALT_EXCAVATOR = /datum/alt_title/excavator) + +/datum/job/mining/get_request_reasons() + return list("Assembling expedition team") + +/datum/alt_title/drill_tech + title = JOB_ALT_DRILL_TECHNICIAN + title_blurb = "A " + JOB_ALT_DRILL_TECHNICIAN + " specializes in operating and maintaining the machinery needed to extract ore from veins deep below the surface." + +/datum/alt_title/deep_space_miner + title = JOB_ALT_DEEP_SPACE_MINER + title_blurb = "A " + JOB_ALT_DEEP_SPACE_MINER + " specializes primarily in mining operations in zero-g environments, mostly in asteroid and debris fields." + +/datum/alt_title/prospector + title = JOB_ALT_PROSPECTOR + +/datum/alt_title/excavator + title = JOB_ALT_EXCAVATOR diff --git a/code/game/jobs/job/civilian.dm b/code/game/jobs/job/civilian.dm index 5ae26f1647d..8578474f6cc 100644 --- a/code/game/jobs/job/civilian.dm +++ b/code/game/jobs/job/civilian.dm @@ -5,213 +5,216 @@ ////////////////////////////////// /datum/job/bartender - title = "Bartender" + title = JOB_BARTENDER flag = BARTENDER departments = list(DEPARTMENT_CIVILIAN) department_flag = CIVILIAN - faction = "Station" + faction = FACTION_STATION total_positions = 2 spawn_positions = 2 - supervisors = "the Head of Personnel" + pto_type = PTO_CIVILIAN + supervisors = "the " + JOB_HEAD_OF_PERSONNEL selection_color = "#515151" access = list(access_hydroponics, access_bar, access_kitchen) minimal_access = list(access_bar) outfit_type = /decl/hierarchy/outfit/job/service/bartender - job_description = "A Bartender mixes drinks for the crew. They generally have permission to charge for drinks or deny service to unruly patrons." - alt_titles = list("Barista" = /datum/alt_title/barista) + job_description = "A " + JOB_BARTENDER + " mixes drinks for the crew. They generally have permission to charge for drinks or deny service to unruly patrons." + alt_titles = list(JOB_ALT_BARKEEPR = /datum/alt_title/barkeeper, JOB_ALT_BARMAID = /datum/alt_title/barmaid, JOB_ALT_BARISTA = /datum/alt_title/barista, JOB_ALT_MIXOLOGIST = /datum/alt_title/mixologist) // Bartender Alt Titles /datum/alt_title/barista - title = "Barista" - title_blurb = "A barista mans the Cafe, serving primarily non-alcoholic drinks to the crew. They generally have permission to charge for drinks \ + title = JOB_ALT_BARISTA + title_blurb = "A " + JOB_ALT_BARISTA + " mans the Cafe, serving primarily non-alcoholic drinks to the crew. They generally have permission to charge for drinks \ or deny service to unruly patrons." title_outfit = /decl/hierarchy/outfit/job/service/bartender/barista +/datum/alt_title/barkeeper + title = JOB_ALT_BARKEEPR + +/datum/alt_title/barmaid + title = JOB_ALT_BARMAID + +/datum/alt_title/mixologist + title = JOB_ALT_MIXOLOGIST + ////////////////////////////////// // Chef ////////////////////////////////// /datum/job/chef - title = "Chef" + title = JOB_CHEF flag = CHEF departments = list(DEPARTMENT_CIVILIAN) department_flag = CIVILIAN - faction = "Station" + faction = FACTION_STATION total_positions = 2 spawn_positions = 2 - supervisors = "the Head of Personnel" + pto_type = PTO_CIVILIAN + supervisors = "the "+ JOB_HEAD_OF_PERSONNEL selection_color = "#515151" access = list(access_hydroponics, access_bar, access_kitchen) minimal_access = list(access_kitchen) outfit_type = /decl/hierarchy/outfit/job/service/chef - job_description = "A Chef cooks food for the crew. They generally have permission to charge for food or deny service to unruly diners." - alt_titles = list("Cook" = /datum/alt_title/cook) + job_description = "A " + JOB_CHEF + " cooks food for the crew. They generally have permission to charge for food or deny service to unruly diners." + alt_titles = list(JOB_ALT_SOUSCHEF = /datum/alt_title/souschef, JOB_ALT_COOK = /datum/alt_title/cook, JOB_ALT_KITCHEN_WORKER = /datum/alt_title/kitchen_worker) // Chef Alt Titles /datum/alt_title/cook - title = "Cook" - title_blurb = "A Cook has the same duties, though they may be less experienced." + title = JOB_ALT_COOK + title_blurb = "A " + JOB_ALT_COOK + " has the same duties, though they may be less experienced." + +/datum/alt_title/souschef + title = JOB_ALT_SOUSCHEF + +/datum/alt_title/kitchen_worker + title = JOB_ALT_KITCHEN_WORKER + title_blurb = "A " + JOB_ALT_KITCHEN_WORKER + " has the same duties, though they may be less experienced." ////////////////////////////////// // Botanist ////////////////////////////////// /datum/job/hydro - title = "Botanist" + title = JOB_BOTANIST flag = BOTANIST departments = list(DEPARTMENT_CIVILIAN) department_flag = CIVILIAN - faction = "Station" + faction = FACTION_STATION total_positions = 2 spawn_positions = 2 - supervisors = "the Head of Personnel" + pto_type = PTO_CIVILIAN + supervisors = "the " + JOB_HEAD_OF_PERSONNEL selection_color = "#515151" access = list(access_hydroponics, access_bar, access_kitchen) minimal_access = list(access_hydroponics) outfit_type = /decl/hierarchy/outfit/job/service/gardener - job_description = "A Botanist grows plants for the Chef and Bartender." - alt_titles = list("Gardener" = /datum/alt_title/gardener) + job_description = "A " + JOB_BOTANIST+ " grows plants for the " + JOB_CHEF + " and " + JOB_BARTENDER + "." + alt_titles = list(JOB_ALT_HYDROPONICIST = /datum/alt_title/hydroponicist, JOB_ALT_CULTIVATOR = /datum/alt_title/cultivator, JOB_ALT_FARMER = /datum/alt_title/farmer, + JOB_ALT_GARDENER = /datum/alt_title/gardener, JOB_ALT_FLORIST = /datum/alt_title/florsit, JOB_ALT_RANCHER = /datum/alt_title/rancher) //Botanist Alt Titles /datum/alt_title/gardener - title = "Gardener" - title_blurb = "A Gardener may be less professional than their counterparts, and are more likely to tend to the public gardens if they aren't needed elsewhere." - -//Cargo -////////////////////////////////// -// Quartermaster -////////////////////////////////// -/datum/job/qm - title = "Quartermaster" - flag = QUARTERMASTER - departments = list(DEPARTMENT_CARGO) - sorting_order = 1 // QM is above the cargo techs, but below the HoP. - departments_managed = list(DEPARTMENT_CARGO) - department_flag = CIVILIAN - faction = "Station" - total_positions = 1 - spawn_positions = 1 - supervisors = "the Head of Personnel" - selection_color = "#9b633e" - economic_modifier = 5 - access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station, access_RC_announce) - minimal_access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station, access_RC_announce) - banned_job_species = list("digital", SPECIES_PROMETHEAN) - - ideal_character_age = 40 - - outfit_type = /decl/hierarchy/outfit/job/cargo/qm - job_description = "The Quartermaster manages the Supply department, checking cargo orders and ensuring supplies get to where they are needed." - alt_titles = list("Supply Chief" = /datum/alt_title/supply_chief) - -// Quartermaster Alt Titles -/datum/alt_title/supply_chief - title = "Supply Chief" - -////////////////////////////////// -// Cargo Tech -////////////////////////////////// -/datum/job/cargo_tech - title = "Cargo Technician" - flag = CARGOTECH - departments = list(DEPARTMENT_CARGO) - department_flag = CIVILIAN - faction = "Station" - total_positions = 2 - spawn_positions = 2 - supervisors = "the Quartermaster and the Head of Personnel" - selection_color = "#7a4f33" - access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_mining, access_mining_station) - minimal_access = list(access_maint_tunnels, access_cargo, access_cargo_bot, access_mailsorting) + title = JOB_ALT_GARDENER + title_blurb = "A " + JOB_ALT_GARDENER + " may be less professional than their counterparts, and are more likely to tend to the public gardens if they aren't needed elsewhere." - outfit_type = /decl/hierarchy/outfit/job/cargo/cargo_tech - job_description = "A Cargo Technician fills and delivers cargo orders. They are encouraged to return delivered crates to the Cargo Shuttle, \ - because Central Command gives a partial refund." +/datum/alt_title/hydroponicist + title = JOB_ALT_HYDROPONICIST -////////////////////////////////// -// Shaft Miner -////////////////////////////////// +/datum/alt_title/cultivator + title = JOB_ALT_CULTIVATOR -/datum/job/mining - title = "Shaft Miner" - flag = MINER - departments = list(DEPARTMENT_CARGO) - department_flag = CIVILIAN - faction = "Station" - total_positions = 3 - spawn_positions = 3 - supervisors = "the Quartermaster and the Head of Personnel" - selection_color = "#7a4f33" - economic_modifier = 5 - access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_mining, access_mining_station) - minimal_access = list(access_mining, access_mining_station, access_mailsorting) +/datum/alt_title/farmer + title = JOB_ALT_FARMER - outfit_type = /decl/hierarchy/outfit/job/cargo/mining - job_description = "A Shaft Miner mines and processes minerals to be delivered to departments that need them." - alt_titles = list("Drill Technician" = /datum/alt_title/drill_tech) +/datum/alt_title/florsit + title = JOB_ALT_FLORIST + title_blurb = "A " + JOB_ALT_FLORIST + " may be less professional than their counterparts, and are more likely to tend to the public gardens if they aren't needed elsewhere." -/datum/alt_title/drill_tech - title = "Drill Technician" - title_blurb = "A Drill Technician specializes in operating and maintaining the machinery needed to extract ore from veins deep below the surface." +/datum/alt_title/rancher + title = JOB_ALT_RANCHER + title_blurb = "A " + JOB_ALT_RANCHER + " is tasked with the care, feeding, raising, and harvesting of livestock." //Service ////////////////////////////////// // Janitor ////////////////////////////////// /datum/job/janitor - title = "Janitor" + title = JOB_JANITOR flag = JANITOR departments = list(DEPARTMENT_CIVILIAN) department_flag = CIVILIAN - faction = "Station" - total_positions = 2 - spawn_positions = 2 - supervisors = "the Head of Personnel" + faction = FACTION_STATION + total_positions = 3 + spawn_positions = 3 + pto_type = PTO_CIVILIAN + supervisors = "the " + JOB_HEAD_OF_PERSONNEL selection_color = "#515151" access = list(access_janitor, access_maint_tunnels) minimal_access = list(access_janitor, access_maint_tunnels) outfit_type = /decl/hierarchy/outfit/job/service/janitor - job_description = "A Janitor keeps the station clean, as long as it doesn't interfere with active crime scenes." - alt_titles = list("Custodian" = /datum/alt_title/custodian) + job_description = "A " + JOB_JANITOR + " keeps the station clean, as long as it doesn't interfere with active crime scenes." + alt_titles = list(JOB_ALT_CUSTODIAN = /datum/alt_title/custodian, JOB_ALT_SANITATION_TECHNICIAN = /datum/alt_title/sanitation_tech, + JOB_ALT_MAID = /datum/alt_title/maid, JOB_ALT_GARBAGE_COLLECTOR = /datum/alt_title/garbage_collector) // Janitor Alt Titles /datum/alt_title/custodian - title = "Custodian" + title = JOB_ALT_CUSTODIAN + +/datum/alt_title/sanitation_tech + title = JOB_ALT_SANITATION_TECHNICIAN + +/datum/alt_title/maid + title = JOB_ALT_MAID + +/datum/alt_title/garbage_collector + title = JOB_ALT_GARBAGE_COLLECTOR + title_blurb = "A " + JOB_ALT_GARBAGE_COLLECTOR + " keeps the station clean, though focuses moreso on collecting larger trash, with wet cleaning being secondary task." //More or less assistants ////////////////////////////////// // Librarian ////////////////////////////////// /datum/job/librarian - title = "Librarian" + title = JOB_LIBRARIAN flag = LIBRARIAN departments = list(DEPARTMENT_CIVILIAN) department_flag = CIVILIAN - faction = "Station" - total_positions = 1 - spawn_positions = 1 - supervisors = "the Head of Personnel" + faction = FACTION_STATION + total_positions = 2 + spawn_positions = 2 + pto_type = PTO_CIVILIAN + supervisors = "the " + JOB_HEAD_OF_PERSONNEL selection_color = "#515151" access = list(access_library, access_maint_tunnels) minimal_access = list(access_library) outfit_type = /decl/hierarchy/outfit/job/librarian - job_description = "The Librarian curates the book selection in the Library, so the crew might enjoy it." - alt_titles = list("Journalist" = /datum/alt_title/journalist, "Writer" = /datum/alt_title/writer) + job_description = "The " + JOB_LIBRARIAN + " curates the book selection in the Library, so the crew might enjoy it." + alt_titles = list(JOB_ALT_JOURNALIST = /datum/alt_title/journalist, JOB_ALT_REPORTER = /datum/alt_title/reporter, JOB_ALT_WRITER = /datum/alt_title/writer, + JOB_ALT_HISTORIAN = /datum/alt_title/historian, JOB_ALT_ARCHIVIST = /datum/alt_title/archivist, JOB_ALT_PROFESSOR = /datum/alt_title/professor, + JOB_ALT_ACADEMIC = /datum/alt_title/academic, JOB_ALT_PHILOSOPHER = /datum/alt_title/philosopher, JOB_ALT_CURATOR = /datum/alt_title/curator) // Librarian Alt Titles /datum/alt_title/journalist - title = "Journalist" + title = JOB_ALT_JOURNALIST title_outfit = /decl/hierarchy/outfit/job/librarian/journalist - title_blurb = "The Journalist uses the Library as a base of operations, from which they can report the news and goings-on on the station with their camera." + title_blurb = "The " + JOB_ALT_JOURNALIST + " uses the Library as a base of operations, from which they can report the news and goings-on on the station with their camera." /datum/alt_title/writer - title = "Writer" - title_blurb = "The Writer uses the Library as a quiet place to write whatever it is they choose to write." + title = JOB_ALT_WRITER + title_blurb = "The " + JOB_ALT_WRITER + " uses the Library as a quiet place to write whatever it is they choose to write." + +/datum/alt_title/reporter + title = JOB_ALT_REPORTER + title_blurb = "The " + JOB_ALT_REPORTER + " uses the Library as a base of operations, from which they can report the news and goings-on on the station with their camera." + +/datum/alt_title/historian + title = JOB_ALT_HISTORIAN + title_blurb = "The " + JOB_ALT_HISTORIAN + " uses the Library as a base of operation to record any important events occurring on station." + +/datum/alt_title/archivist + title = JOB_ALT_ARCHIVIST + title_blurb = "The " + JOB_ALT_ARCHIVIST + " uses the Library as a base of operation to record any important events occurring on station." + +/datum/alt_title/professor + title = JOB_ALT_PROFESSOR + title_blurb = "The " + JOB_ALT_PROFESSOR + " uses the Library as a base of operations to share their vast knowledge with the crew." + +/datum/alt_title/academic + title = JOB_ALT_ACADEMIC + title_blurb = "The " + JOB_ALT_ACADEMIC + " uses the Library as a base of operations to share their vast knowledge with the crew." + +/datum/alt_title/philosopher + title = JOB_ALT_PHILOSOPHER + title_blurb = "The " + JOB_ALT_PHILOSOPHER + " uses the Library as a base of operation to ruminate on nature of life and other great questions, and share their opinions with the crew." + +/datum/alt_title/curator + title = JOB_ALT_CURATOR + title_blurb = "The " + JOB_ALT_CURATOR + " uses the Library as a base of operation to gather the finest of art for display and preservation." ////////////////////////////////// // Internal Affairs Agent @@ -219,13 +222,15 @@ //var/global/lawyer = 0//Checks for another lawyer //This changed clothes on 2nd lawyer, both IA get the same dreds. /datum/job/lawyer - title = "Internal Affairs Agent" + title = JOB_INTERNAL_AFFAIRS_AGENT flag = LAWYER departments = list(DEPARTMENT_CIVILIAN) department_flag = CIVILIAN - faction = "Station" + faction = FACTION_STATION total_positions = 2 spawn_positions = 2 + pto_type = PTO_CIVILIAN + disallow_jobhop = TRUE supervisors = "company officials and Corporate Regulations" selection_color = "#515151" economic_modifier = 7 @@ -235,13 +240,243 @@ banned_job_species = list(SPECIES_PROMETHEAN, SPECIES_UNATHI, SPECIES_DIONA, SPECIES_TESHARI, SPECIES_ZADDAT, "digital") outfit_type = /decl/hierarchy/outfit/job/internal_affairs_agent - job_description = "An Internal Affairs Agent makes sure that the crew is following Standard Operating Procedure. They also \ + job_description = "An " + JOB_INTERNAL_AFFAIRS_AGENT + " makes sure that the crew is following Standard Operating Procedure. They also \ handle complaints against crew members, and can have issues brought to the attention of Central Command, \ assuming their paperwork is in order." + alt_titles = list(JOB_ALT_INTERNAL_AFFAIRS_LIAISON = /datum/alt_title/ia_liaison, JOB_ALT_INTERNAL_AFFAIRS_DELEGATE = /datum/alt_title/ia_delegate, + JOB_ALT_INTERNAL_AFFAIRS_INVESTIGATOR = /datum/alt_title/ia_investigator) //YW UNCOMMENTINGSTART: REINSTATE LOYALTY IMPLANT /datum/job/lawyer/equip(var/mob/living/carbon/human/H) . = ..() if(.) H.implant_loyalty(H) -//YW UNCOMMENTING END \ No newline at end of file +//YW UNCOMMENTING END + +/datum/alt_title/ia_liaison + title = JOB_ALT_INTERNAL_AFFAIRS_LIAISON + +/datum/alt_title/ia_delegate + title = JOB_ALT_INTERNAL_AFFAIRS_DELEGATE + +/datum/alt_title/ia_investigator + title = JOB_ALT_INTERNAL_AFFAIRS_INVESTIGATOR + +////////////////////////////////// +// Pilot +////////////////////////////////// + +/datum/job/pilot + title = JOB_PILOT + flag = PILOT + departments = list(DEPARTMENT_CIVILIAN) + department_flag = CIVILIAN + faction = FACTION_STATION + total_positions = 2 + spawn_positions = 2 + supervisors = "the " + JOB_HEAD_OF_PERSONNEL + selection_color = "#515151" + economic_modifier = 5 + minimal_player_age = 3 + pto_type = PTO_CIVILIAN + access = list(access_eva, access_maint_tunnels, access_external_airlocks, access_pilot) + minimal_access = list(access_eva, access_maint_tunnels, access_external_airlocks, access_pilot) + outfit_type = /decl/hierarchy/outfit/job/pilot + job_description = "A " + JOB_PILOT + " flies the various shuttles in the Virgo-Erigone System." + alt_titles = list(JOB_ALT_COPILOT = /datum/alt_title/co_pilot, JOB_ALT_NAVIGATOR = /datum/alt_title/navigator, JOB_ALT_HELMSMAN = /datum/alt_title/helmsman) + +/datum/alt_title/co_pilot + title = JOB_ALT_COPILOT + title_blurb = "A Co-" + JOB_ALT_COPILOT + " is there primarily to assist main pilot as well as learn from them" + +/datum/alt_title/navigator + title = JOB_ALT_NAVIGATOR + +/datum/alt_title/helmsman + title = JOB_ALT_HELMSMAN + +/datum/job/pilot/get_request_reasons() + return list("Assembling expedition team") + +////////////////////////////////// +// Entertainer +////////////////////////////////// + +/datum/job/entertainer + title = JOB_ENTERTAINER + flag = ENTERTAINER + departments = list(DEPARTMENT_CIVILIAN) + department_flag = CIVILIAN + faction = FACTION_STATION + total_positions = 4 + spawn_positions = 4 + supervisors = "the " + JOB_HEAD_OF_PERSONNEL + selection_color = "#515151" + access = list(access_entertainment) + minimal_access = list(access_entertainment) + pto_type = PTO_CIVILIAN + + outfit_type = /decl/hierarchy/outfit/job/assistant/entertainer + job_description = "An " + JOB_ENTERTAINER + " does just that, entertains! Put on plays, play music, sing songs, tell stories, or read your favorite fanfic." + alt_titles = list(JOB_ALT_PERFORMER = /datum/alt_title/performer, JOB_ALT_MUSICIAN = /datum/alt_title/musician, JOB_ALT_STAGEHAND = /datum/alt_title/stagehand, + JOB_ALT_ACTOR = /datum/alt_title/actor, JOB_ALT_DANCER = /datum/alt_title/dancer, JOB_ALT_SINGER = /datum/alt_title/singer, + JOB_ALT_MAGICIAN = /datum/alt_title/magician, JOB_ALT_COMEDIAN = /datum/alt_title/comedian, JOB_ALT_ARTIST = /datum/alt_title/tragedian, + JOB_ALT_ARTIST = /datum/alt_title/artist, JOB_ALT_GAME_MASTER = /datum/alt_title/game_master) + +// Entertainer Alt Titles +/datum/alt_title/actor + title = JOB_ALT_ACTOR + title_blurb = "An " + JOB_ALT_ACTOR + " is someone who acts out a role! Whatever sort of character it is, get into it and impress people with power of comedy and tragedy!" + +/datum/alt_title/performer + title = JOB_ALT_PERFORMER + title_blurb = "A " + JOB_ALT_PERFORMER + " is someone who performs! Whatever sort of performance will come to your mind, the world's a stage!" + +/datum/alt_title/musician + title = JOB_ALT_MUSICIAN + title_blurb = "A " + JOB_ALT_MUSICIAN + " is someone who makes music with a wide variety of musical instruments!" + +/datum/alt_title/stagehand + title = JOB_ALT_STAGEHAND + title_blurb = "A " + JOB_ALT_STAGEHAND + " typically performs everything the rest of the entertainers don't. Operate lights, shutters, windows, or narrate through your voicebox!" + +/datum/alt_title/dancer + title = JOB_ALT_DANCER + title_blurb = "A " + JOB_ALT_DANCER + " is someone who impresses people through power of their own body! From waltz to breakdance, as long as crowd as cheering!" + +/datum/alt_title/singer + title = JOB_ALT_SINGER + title_blurb = "A " + JOB_ALT_SINGER + " is someone with gift of melodious voice! Impress people with your vocal range!" + +/datum/alt_title/magician + title = JOB_ALT_MAGICIAN + title_blurb = "A " + JOB_ALT_MAGICIAN + " is someone who awes those around them with impossible! Show off your repertoire of magic tricks, while keeping the secret hidden!" + +/datum/alt_title/comedian + title = JOB_ALT_COMEDIAN + title_blurb = "A " + JOB_ALT_COMEDIAN + " will focus on making people laugh with the power of wit! Telling jokes, stand-up comedy, you are here to make others smile!" + +/datum/alt_title/tragedian + title = JOB_ALT_TRAGEDIAN + title_blurb = "A " + JOB_ALT_TRAGEDIAN + " will focus on making people think about life and world around them! Life is a tragedy, and who's better to convey its emotions than you?" + +/datum/alt_title/artist + title = JOB_ALT_ARTIST + title_blurb = "An " + JOB_ALT_ARTIST + "'s calling is to create beautiful arts! Whatever form may they take, create and have people astonished with your creativity." + +/datum/alt_title/game_master + title = JOB_ALT_GAME_MASTER + title_blurb = "A " + JOB_ALT_GAME_MASTER + " provides recreation for the crew by hosting variety of games. From cards to roleplaying to something more personalized." + +////////////////////////////////// +// Entrepreneur +////////////////////////////////// + +/datum/job/entrepreneur + title = JOB_ENTREPRENEUR + flag = ENTREPRENEUR + departments = list(DEPARTMENT_CIVILIAN) + department_flag = CIVILIAN + faction = FACTION_STATION + total_positions = 4 + spawn_positions = 4 + supervisors = "the " + JOB_HEAD_OF_PERSONNEL + selection_color = "#515151" + access = list() + minimal_access = list() + pto_type = PTO_CIVILIAN + + outfit_type = /decl/hierarchy/outfit/job/assistant/entrepreneur + job_description = "An " + JOB_ENTREPRENEUR + " is basically a visitor that obtained special permission to offer personal services to people on station. \ + They will offer people these services and, potentially, even demand payment!" + alt_titles = list(JOB_ALT_LAWYER = /datum/alt_title/lawyer, JOB_ALT_PRIVATE_EYE = /datum/alt_title/private_eye, JOB_ALT_BODYGUARD = /datum/alt_title/bodyguard, + JOB_ALT_PERSONAL_PHYSICIAN = /datum/alt_title/personal_physician, JOB_ALT_DENTIST = /datum/alt_title/dentist, JOB_ALT_FITNESS_INSTRUCTOR = /datum/alt_title/fitness_instructor, + JOB_ALT_YOGA_TEACHER = /datum/alt_title/yoga_teacher, JOB_ALT_MASSEUSE = /datum/alt_title/masseuse, JOB_ALT_TRADESPERSON = /datum/alt_title/tradesperson, + JOB_ALT_STREAMER = /datum/alt_title/streamer, JOB_ALT_INFLUENCER = /datum/alt_title/influencer, JOB_ALT_PARANORMAL_INVESTIGATOR = /datum/alt_title/paranormal_investigator, + JOB_ALT_PERSONAL_SECRETARY = /datum/alt_title/personal_secretary, JOB_ALT_STYLIST = /datum/alt_title/stylist, JOB_ALT_FISHER = /datum/alt_title/fisher, + JOB_ALT_FORTUNE_TELLER = /datum/alt_title/fortune_teller, JOB_ALT_SPIRIT_HEALER = /datum/alt_title/spirit_healer) + +/datum/alt_title/lawyer + title = JOB_ALT_LAWYER + title_blurb = "A " + JOB_ALT_LAWYER + " is knowledgable in various legal systems, including station's operations. They can try to offer their legal counsel, although nobody is really obliged to listen." + title_outfit = /decl/hierarchy/outfit/job/assistant/entrepreneur/personal_secretary + +/datum/alt_title/private_eye + title = JOB_ALT_PRIVATE_EYE + title_blurb = "A " + JOB_ALT_PRIVATE_EYE + " is a detective that has no credentials or equipment. But if someone wants something found without security's knowledge, they are the one to go to." + title_outfit = /decl/hierarchy/outfit/job/assistant/entrepreneur/private_eye + +/datum/alt_title/bodyguard + title = JOB_ALT_BODYGUARD + title_blurb = "A " + JOB_ALT_BODYGUARD + " offers service of personal protection. They may not be allowed any weapons, but their own body is weapon enough." + title_outfit = /decl/hierarchy/outfit/job/assistant/entrepreneur/bodyguard + +/datum/alt_title/personal_physician + title = JOB_ALT_PERSONAL_PHYSICIAN + title_blurb = "A " + JOB_ALT_PERSONAL_PHYSICIAN + " is a doctor dedicated less to Hippocratic Oath and more to the moneymaking grind. Their license may be expired, but the grindset never will be." + title_outfit = /decl/hierarchy/outfit/job/assistant/entrepreneur/personal_physician + +/datum/alt_title/dentist + title = JOB_ALT_DENTIST + title_blurb = "A " + JOB_ALT_DENTIST + " is a doctor that specializes in oral care. Company may not recognize them as a proper doctor, but surely their customers will." + title_outfit = /decl/hierarchy/outfit/job/assistant/entrepreneur/dentist + +/datum/alt_title/fitness_instructor + title = JOB_ALT_FITNESS_INSTRUCTOR + title_blurb = "A " + JOB_ALT_FITNESS_INSTRUCTOR + " dedicates themselves to improving the health of the crew through physical activity, and boy, do they need the help." + title_outfit = /decl/hierarchy/outfit/job/assistant/entrepreneur/fitness_instructor + +/datum/alt_title/yoga_teacher + title = JOB_ALT_YOGA_TEACHER + title_blurb = "A " + JOB_ALT_YOGA_TEACHER + " is similar to a fitness instructor, but rather than turning the round bodies into firm ones, they focus on helping people find balance and harmony." + title_outfit = /decl/hierarchy/outfit/job/assistant/entrepreneur/yoga_teacher + +/datum/alt_title/masseuse + title = JOB_ALT_MASSEUSE + title_blurb = "A " + JOB_ALT_MASSEUSE + " is master of physical therapy and working others' bodies with their hands." + title_outfit = /decl/hierarchy/outfit/job/assistant/entrepreneur/masseuse + +/datum/alt_title/tradesperson + title = JOB_ALT_TRADESPERSON + title_blurb = "A " + JOB_ALT_TRADESPERSON + " is someone attempting to make money via the most obvious act of all - buying and selling. Now if only customs allowed you to bring your goods along..." + title_outfit = /decl/hierarchy/outfit/job/assistant/entrepreneur/tradesperson + +/datum/alt_title/streamer + title = JOB_ALT_STREAMER + title_blurb = "A " + JOB_ALT_STREAMER + " is here to entertain. Not the crew! Their audience across exonet!" + title_outfit = /decl/hierarchy/outfit/job/assistant/entrepreneur/streamer + +/datum/alt_title/influencer + title = JOB_ALT_INFLUENCER + title_blurb = "An " + JOB_ALT_INFLUENCER + " has lucked out with some exonet following, and was given permission to go onstation to provide free exposure. Don't let it go to your head." + title_outfit = /decl/hierarchy/outfit/job/assistant/entrepreneur/influencer + +/datum/alt_title/paranormal_investigator + title = JOB_ALT_PARANORMAL_INVESTIGATOR + title_blurb = "A " + JOB_ALT_PARANORMAL_INVESTIGATOR + " looks beyond what is accepted by modern science, and searches for the true unknown. Aliens, alternate dimensions, ghosts... The truth is out there!" + title_outfit = /decl/hierarchy/outfit/job/assistant/entrepreneur/paranormal_investigator + +/datum/alt_title/personal_secretary + title = JOB_ALT_PERSONAL_SECRETARY + title_blurb = "A " + JOB_ALT_PERSONAL_SECRETARY + " offers services of general assistance. Although it's doubtful anyone will ever actually need those." + title_outfit = /decl/hierarchy/outfit/job/assistant/entrepreneur/personal_secretary + +/datum/alt_title/stylist + title = JOB_ALT_STYLIST + title_blurb = "A " + JOB_ALT_STYLIST + " offers fashion advice, as well as helps with adjusting appearance of the crew to better suit their beauty standards." + title_outfit = /decl/hierarchy/outfit/job/assistant/entrepreneur/stylist + +/datum/alt_title/fisher + title = JOB_ALT_FISHER + title_blurb = "A " + JOB_ALT_FISHER + " is a capable angler, who is good at obtaining large amounts of marine goods. Whether you generously give them to station or attempt to make a quick thaler by selling, it's up to you!" + title_outfit = /decl/hierarchy/outfit/job/assistant/entrepreneur/fisher + +/datum/alt_title/fortune_teller + title = JOB_ALT_FORTUNE_TELLER + title_blurb = "A " + JOB_ALT_FORTUNE_TELLER + " peers into the future, and offers these visions to others. Occasionally those visions may even come true!" + title_outfit = /decl/hierarchy/outfit/job/assistant/entrepreneur/fortune_teller + +/datum/alt_title/spirit_healer + title = JOB_ALT_SPIRIT_HEALER + title_blurb = "A " + JOB_ALT_SPIRIT_HEALER + " offers alternative forms of medicine. Rituals, magic rocks, seances... It totally works. What's that about placebo?" + title_outfit = /decl/hierarchy/outfit/job/assistant/entrepreneur/spirit_healer diff --git a/code/game/jobs/job/civilian_chaplain.dm b/code/game/jobs/job/civilian_chaplain.dm index ca379314126..a980fd2325f 100644 --- a/code/game/jobs/job/civilian_chaplain.dm +++ b/code/game/jobs/job/civilian_chaplain.dm @@ -1,25 +1,47 @@ //Due to how large this one is it gets its own file /datum/job/chaplain - title = "Chaplain" + title = JOB_CHAPLAIN flag = CHAPLAIN departments = list(DEPARTMENT_CIVILIAN) department_flag = CIVILIAN - faction = "Station" + faction = FACTION_STATION total_positions = 1 spawn_positions = 1 - supervisors = "the Head of Personnel" + pto_type = PTO_CIVILIAN + supervisors = "the " + JOB_HEAD_OF_PERSONNEL selection_color = "#515151" access = list(access_morgue, access_chapel_office, access_crematorium, access_maint_tunnels) minimal_access = list(access_chapel_office, access_crematorium) outfit_type = /decl/hierarchy/outfit/job/chaplain - job_description = "The Chaplain ministers to the spiritual needs of the crew." - alt_titles = list("Counselor" = /datum/alt_title/counselor) + job_description = "The " + JOB_CHAPLAIN + " ministers to the spiritual needs of the crew." + alt_titles = list(JOB_ALT_MISSIONARY = /datum/alt_title/missionary, JOB_ALT_PREACHER = /datum/alt_title/preacher, JOB_ALT_PRIEST = /datum/alt_title/priest, + JOB_ALT_NUN = /datum/alt_title/nun, JOB_ALT_MONK = /datum/alt_title/monk, JOB_ALT_COUNSELOR = /datum/alt_title/counselor, + JOB_ALT_GURU = /datum/alt_title/guru) // Chaplain Alt Titles /datum/alt_title/counselor - title = "Counselor" - title_blurb = "The Counselor attends to the emotional needs of the crew, without a specific medicinal or spiritual focus." + title = JOB_ALT_COUNSELOR + title_blurb = "The " + JOB_ALT_COUNSELOR + " attends to the emotional needs of the crew, without a specific medicinal or spiritual focus." + +/datum/alt_title/guru + title = JOB_ALT_GURU + title_blurb = "The " + JOB_ALT_GURU + " primarily tries to offer spiritual guidance to those who come seeking it." + +/datum/alt_title/missionary + title = JOB_ALT_MISSIONARY + +/datum/alt_title/preacher + title = JOB_ALT_PREACHER + +/datum/alt_title/priest + title = JOB_ALT_PRIEST + +/datum/alt_title/nun + title = JOB_ALT_NUN + +/datum/alt_title/monk + title = JOB_ALT_MONK /datum/job/chaplain/equip(var/mob/living/carbon/human/H, var/alt_title, var/ask_questions = TRUE) . = ..() @@ -28,15 +50,15 @@ if(!ask_questions) return - var/obj/item/weapon/storage/bible/B = locate(/obj/item/weapon/storage/bible) in H - var/obj/item/weapon/card/id/I = locate(/obj/item/weapon/card/id) in H + var/obj/item/storage/bible/B = locate(/obj/item/storage/bible) in H + var/obj/item/card/id/I = locate(/obj/item/card/id) in H if(!B || !I) return INVOKE_ASYNC(src, PROC_REF(religion_prompts), H, B, I) -/datum/job/chaplain/proc/religion_prompts(mob/living/carbon/human/H, obj/item/weapon/storage/bible/B, obj/item/weapon/card/id/I) +/datum/job/chaplain/proc/religion_prompts(mob/living/carbon/human/H, obj/item/storage/bible/B, obj/item/card/id/I) var/religion_name = "Unitarianism" var/new_religion = sanitize(input(H, "You are the crew services officer. Would you like to change your religion? Default is Unitarianism", "Name change", religion_name), MAX_NAME_LEN) if(!new_religion) @@ -111,7 +133,7 @@ var/bible_name = "Bible" var/bible_icon_state = "bible" var/bible_item_state = "bible" - var/title = "Chaplain" + var/title = JOB_CHAPLAIN var/configured = FALSE /datum/religion/New(var/r, var/d, var/bn, var/bis, var/bits, var/t) diff --git a/code/game/jobs/job/civilian_vr.dm b/code/game/jobs/job/civilian_vr.dm deleted file mode 100644 index 9934d9dea9e..00000000000 --- a/code/game/jobs/job/civilian_vr.dm +++ /dev/null @@ -1,426 +0,0 @@ -/datum/job/bartender - pto_type = PTO_CIVILIAN - alt_titles = list("Barkeeper" = /datum/alt_title/barkeeper, "Barmaid" = /datum/alt_title/barmaid, "Barista" = /datum/alt_title/barista, "Mixologist" = /datum/alt_title/mixologist) - -/datum/alt_title/barkeeper - title = "Barkeeper" - -/datum/alt_title/barmaid - title = "Barmaid" - -/datum/alt_title/mixologist - title = "Mixologist" - - -/datum/job/chef - total_positions = 2 //IT TAKES A LOT TO MAKE A STEW - spawn_positions = 2 //A PINCH OF SALT AND LAUGHTER, TOO - pto_type = PTO_CIVILIAN - alt_titles = list("Sous-chef" = /datum/alt_title/souschef,"Cook" = /datum/alt_title/cook, "Kitchen Worker" = /datum/alt_title/kitchen_worker) - -/datum/alt_title/souschef - title = "Sous-chef" - -/datum/alt_title/kitchen_worker - title = "Kitchen Worker" - title_blurb = "A Kitchen Worker has the same duties, though they may be less experienced." - - -/datum/job/hydro - spawn_positions = 2 - pto_type = PTO_CIVILIAN - alt_titles = list("Hydroponicist" = /datum/alt_title/hydroponicist, "Cultivator" = /datum/alt_title/cultivator, "Farmer" = /datum/alt_title/farmer, - "Gardener" = /datum/alt_title/gardener, "Florist" = /datum/alt_title/florsit, "Rancher" = /datum/alt_title/rancher) - -/datum/alt_title/hydroponicist - title = "Hydroponicist" - -/datum/alt_title/cultivator - title = "Cultivator" - -/datum/alt_title/farmer - title = "Farmer" - -/datum/alt_title/florsit - title = "Florist" - title_blurb = "A Florist may be less professional than their counterparts, and are more likely to tend to the public gardens if they aren't needed elsewhere." - -/datum/alt_title/rancher - title = "Rancher" - title_blurb = "A Rancher is tasked with the care, feeding, raising, and harvesting of livestock." - - -/datum/job/qm - pto_type = PTO_CARGO - dept_time_required = 20 - alt_titles = list("Supply Chief" = /datum/alt_title/supply_chief, "Logistics Manager" = /datum/alt_title/logistics_manager, "Cargo Supervisor" = /datum/alt_title/cargo_supervisor) - -/datum/alt_title/logistics_manager - title = "Logistics Manager" - -/datum/alt_title/cargo_supervisor - title = "Cargo Supervisor" - -/datum/job/qm/get_request_reasons() - return list("Training crew") - - -/datum/job/cargo_tech - total_positions = 3 - spawn_positions = 3 - pto_type = PTO_CARGO - alt_titles = list("Cargo Loader" = /datum/alt_title/cargo_loader, "Cargo Handler" = /datum/alt_title/cargo_handler, "Supply Courier" = /datum/alt_title/supply_courier, - "Disposals Sorter" = /datum/alt_title/disposal_sorter) - -/datum/alt_title/supply_courier - title = "Supply Courier" - title_blurb = "A Supply Courier is usually tasked with devlivering packages or cargo directly to whoever requires it." - -/datum/alt_title/cargo_loader - title = "Cargo Loader" - title_blurb = "A Cargo Loader is usually tasked with more menial labor within Supply department, such as loading and unloading supply shuttle." - -/datum/alt_title/cargo_handler - title = "Cargo Handler" - title_blurb = "A Cargo Loader is usually tasked with more menial labor within Supply department, such as loading and unloading supply shuttle." - -/datum/alt_title/disposal_sorter - title = "Disposals Sorter" - title_blurb = "A Disposals Sorter is usually tasked with operating disposals delivery system, sorting the trash and tagging parcels for delivery." - - -/datum/job/mining - total_positions = 4 - spawn_positions = 4 - pto_type = PTO_CARGO - alt_titles = list("Deep Space Miner" = /datum/alt_title/deep_space_miner, "Drill Technician" = /datum/alt_title/drill_tech, "Prospector" = /datum/alt_title/prospector, - "Excavator" = /datum/alt_title/excavator) - -/datum/alt_title/deep_space_miner - title = "Deep Space Miner" - title_blurb = "A Deep Space Miner specializes primarily in mining operations in zero-g environments, mostly in asteroid and debris fields." - -/datum/alt_title/prospector - title = "Prospector" - -/datum/alt_title/excavator - title = "Excavator" - -/datum/job/mining/get_request_reasons() - return list("Assembling expedition team") - - -/datum/job/janitor //Lots of janitor substations on station. - total_positions = 3 - spawn_positions = 3 - pto_type = PTO_CIVILIAN - alt_titles = list("Custodian" = /datum/alt_title/custodian, "Sanitation Technician" = /datum/alt_title/sanitation_tech, - "Maid" = /datum/alt_title/maid, "Garbage Collector" = /datum/alt_title/garbage_collector) - -/datum/alt_title/sanitation_tech - title = "Sanitation Technician" - -/datum/alt_title/maid - title = "Maid" - -/datum/alt_title/garbage_collector - title = "Garbage Collector" - title_blurb = "A Garbage Collector keeps the station clean, though focuses moreso on collecting larger trash, with wet cleaning being secondary task." - - -/datum/job/librarian - total_positions = 2 - spawn_positions = 2 - alt_titles = list("Journalist" = /datum/alt_title/journalist, "Reporter" = /datum/alt_title/reporter, "Writer" = /datum/alt_title/writer, - "Historian" = /datum/alt_title/historian, "Archivist" = /datum/alt_title/archivist, "Professor" = /datum/alt_title/professor, - "Academic" = /datum/alt_title/academic, "Philosopher" = /datum/alt_title/philosopher, "Curator" = /datum/alt_title/curator) - pto_type = PTO_CIVILIAN - -/datum/alt_title/reporter - title = "Reporter" - title_blurb = "The Reporter uses the Library as a base of operations, from which they can report the news and goings-on on the station with their camera." - -/datum/alt_title/historian - title = "Historian" - title_blurb = "The Historian uses the Library as a base of operation to record any important events occurring on station." - -/datum/alt_title/archivist - title = "Archivist" - title_blurb = "The Archivist uses the Library as a base of operation to record any important events occurring on station." - -/datum/alt_title/professor - title = "Professor" - title_blurb = "The Professor uses the Library as a base of operations to share their vast knowledge with the crew." - -/datum/alt_title/academic - title = "Academic" - title_blurb = "The Academic uses the Library as a base of operations to share their vast knowledge with the crew." - -/datum/alt_title/philosopher - title = "Philosopher" - title_blurb = "The Philosopher uses the Library as a base of operation to ruminate on nature of life and other great questions, and share their opinions with the crew." - -/datum/alt_title/curator - title = "Curator" - title_blurb = "The Curator uses the Library as a base of operation to gather the finest of art for display and preservation." - -/datum/job/lawyer - disallow_jobhop = TRUE - pto_type = PTO_CIVILIAN - alt_titles = list("Internal Affairs Liaison" = /datum/alt_title/ia_liaison, "Internal Affairs Delegate" = /datum/alt_title/ia_delegate, - "Internal Affairs Investigator" = /datum/alt_title/ia_investigator) - -/datum/alt_title/ia_liaison - title = "Internal Affairs Liaison" - -/datum/alt_title/ia_delegate - title = "Internal Affairs Delegate" - -/datum/alt_title/ia_investigator - title = "Internal Affairs Investigator" - - -/datum/job/chaplain - pto_type = PTO_CIVILIAN - alt_titles = list("Missionary" = /datum/alt_title/missionary, "Preacher" = /datum/alt_title/preacher, "Priest" = /datum/alt_title/priest, - "Nun" = /datum/alt_title/nun, "Monk" = /datum/alt_title/monk, "Counselor" = /datum/alt_title/counselor, - "Guru" = /datum/alt_title/guru) - -/datum/alt_title/guru - title = "Guru" - title_blurb = "The Guru primarily tries to offer spiritual guidance to those who come seeking it." - -/datum/alt_title/missionary - title = "Missionary" - -/datum/alt_title/preacher - title = "Preacher" - -/datum/alt_title/priest - title = "Priest" - -/datum/alt_title/nun - title = "Nun" - -/datum/alt_title/monk - title = "Monk" - - -////////////////////////////////// -// Pilot -////////////////////////////////// - -/datum/job/pilot - title = "Pilot" - flag = PILOT - departments = list(DEPARTMENT_CIVILIAN) - department_flag = CIVILIAN - faction = "Station" - total_positions = 2 - spawn_positions = 2 - supervisors = "the Head of Personnel" - selection_color = "#515151" - economic_modifier = 5 - minimal_player_age = 3 - pto_type = PTO_CIVILIAN - access = list(access_eva, access_maint_tunnels, access_external_airlocks, access_pilot) - minimal_access = list(access_eva, access_maint_tunnels, access_external_airlocks, access_pilot) - outfit_type = /decl/hierarchy/outfit/job/pilot - job_description = "A Pilot flies the various shuttles in the Virgo-Erigone System." - alt_titles = list("Co-Pilot" = /datum/alt_title/co_pilot, "Navigator" = /datum/alt_title/navigator, "Helmsman" = /datum/alt_title/helmsman) - -/datum/alt_title/co_pilot - title = "Co-Pilot" - title_blurb = "A Co-Pilot is there primarily to assist main pilot as well as learn from them" - -/datum/alt_title/navigator - title = "Navigator" - -/datum/alt_title/helmsman - title = "Helmsman" - -/datum/job/pilot/get_request_reasons() - return list("Assembling expedition team") - -////////////////////////////////// -// Entertainer -////////////////////////////////// - -/datum/job/entertainer - title = "Entertainer" - flag = ENTERTAINER - departments = list(DEPARTMENT_CIVILIAN) - department_flag = CIVILIAN - faction = "Station" - total_positions = 4 - spawn_positions = 4 - supervisors = "the Head of Personnel" - selection_color = "#515151" - access = list(access_entertainment) - minimal_access = list(access_entertainment) - pto_type = PTO_CIVILIAN - - outfit_type = /decl/hierarchy/outfit/job/assistant/entertainer - job_description = "An entertainer does just that, entertains! Put on plays, play music, sing songs, tell stories, or read your favorite fanfic." - alt_titles = list("Performer" = /datum/alt_title/performer, "Musician" = /datum/alt_title/musician, "Stagehand" = /datum/alt_title/stagehand, - "Actor" = /datum/alt_title/actor, "Dancer" = /datum/alt_title/dancer, "Singer" = /datum/alt_title/singer, - "Magician" = /datum/alt_title/magician, "Comedian" = /datum/alt_title/comedian, "Tragedian" = /datum/alt_title/tragedian, - "Artist" = /datum/alt_title/artist, "Game Master" = /datum/alt_title/game_master) - -// Entertainer Alt Titles -/datum/alt_title/actor - title = "Actor" - title_blurb = "An Actor is someone who acts out a role! Whatever sort of character it is, get into it and impress people with power of comedy and tragedy!" - -/datum/alt_title/performer - title = "Performer" - title_blurb = "A Performer is someone who performs! Whatever sort of performance will come to your mind, the world's a stage!" - -/datum/alt_title/musician - title = "Musician" - title_blurb = "A Musician is someone who makes music with a wide variety of musical instruments!" - -/datum/alt_title/stagehand - title = "Stagehand" - title_blurb = "A Stagehand typically performs everything the rest of the entertainers don't. Operate lights, shutters, windows, or narrate through your voicebox!" - -/datum/alt_title/dancer - title = "Dancer" - title_blurb = "A Dancer is someone who impresses people through power of their own body! From waltz to breakdance, as long as crowd as cheering!" - -/datum/alt_title/singer - title = "Singer" - title_blurb = "A Singer is someone with gift of melodious voice! Impress people with your vocal range!" - -/datum/alt_title/magician - title = "Magician" - title_blurb = "A Magician is someone who awes those around them with impossible! Show off your repertoire of magic tricks, while keeping the secret hidden!" - -/datum/alt_title/comedian - title = "Comedian" - title_blurb = "A Comedian will focus on making people laugh with the power of wit! Telling jokes, stand-up comedy, you are here to make others smile!" - -/datum/alt_title/tragedian - title = "Tragedian" - title_blurb = "A Tragedian will focus on making people think about life and world around them! Life is a tragedy, and who's better to convey its emotions than you?" - -/datum/alt_title/artist - title = "Artist" - title_blurb = "An Artist's calling is to create beautiful arts! Whatever form may they take, create and have people astonished with your creativity." - -/datum/alt_title/game_master - title = "Game Master" - title_blurb = "A Game Master provides recreation for the crew by hosting variety of games. From cards to roleplaying to something more personalized." - -////////////////////////////////// -// Entrepreneur -////////////////////////////////// - -/datum/job/entrepreneur - title = "Entrepreneur" - flag = ENTREPRENEUR - departments = list(DEPARTMENT_CIVILIAN) - department_flag = CIVILIAN - faction = "Station" - total_positions = 4 - spawn_positions = 4 - supervisors = "the Head of Personnel" - selection_color = "#515151" - access = list() - minimal_access = list() - pto_type = PTO_CIVILIAN - - outfit_type = /decl/hierarchy/outfit/job/assistant/entrepreneur - job_description = "An entrepreneur is basically a visitor that obtained special permission to offer personal services to people on station. \ - They will offer people these services and, potentially, even demand payment!" - alt_titles = list("Lawyer" = /datum/alt_title/lawyer, "Private Eye" = /datum/alt_title/private_eye, "Bodyguard" = /datum/alt_title/bodyguard, - "Personal Physician" = /datum/alt_title/personal_physician, "Dentist" = /datum/alt_title/dentist, "Fitness Instructor" = /datum/alt_title/fitness_instructor, - "Yoga Teacher" = /datum/alt_title/yoga_teacher, "Masseuse" = /datum/alt_title/masseuse, "Tradesperson" = /datum/alt_title/tradesperson, - "Streamer" = /datum/alt_title/streamer, "Influencer" = /datum/alt_title/influencer, "Paranormal Investigator" = /datum/alt_title/paranormal_investigator, - "Personal Secretary" = /datum/alt_title/personal_secretary, "Stylist" = /datum/alt_title/stylist, "Fisher" = /datum/alt_title/fisher, - "Fortune Teller" = /datum/alt_title/fortune_teller, "Spirit Healer" = /datum/alt_title/spirit_healer) - -/datum/alt_title/lawyer - title = "Lawyer" - title_blurb = "A Lawyer is knowledgable in various legal systems, including station's operations. They can try to offer their legal counsel, although nobody is really obliged to listen." - title_outfit = /decl/hierarchy/outfit/job/assistant/entrepreneur/personal_secretary - -/datum/alt_title/private_eye - title = "Private Eye" - title_blurb = "A Private Eye is a detective that has no credentials or equipment. But if someone wants something found without security's knowledge, they are the one to go to." - title_outfit = /decl/hierarchy/outfit/job/assistant/entrepreneur/private_eye - -/datum/alt_title/bodyguard - title = "Bodyguard" - title_blurb = "A Bodyguard offers service of personal protection. They may not be allowed any weapons, but their own body is weapon enough." - title_outfit = /decl/hierarchy/outfit/job/assistant/entrepreneur/bodyguard - -/datum/alt_title/personal_physician - title = "Personal Physician" - title_blurb = "A Personal Physicial is a doctor dedicated less to Hippocratic Oath and more to the moneymaking grind. Their license may be expired, but the grindset never will be." - title_outfit = /decl/hierarchy/outfit/job/assistant/entrepreneur/personal_physician - -/datum/alt_title/dentist - title = "Dentist" - title_blurb = "A Dentist is a doctor that specializes in oral care. Company may not recognize them as a proper doctor, but surely their customers will." - title_outfit = /decl/hierarchy/outfit/job/assistant/entrepreneur/dentist - -/datum/alt_title/fitness_instructor - title = "Fitness Instructor" - title_blurb = "A Fitness Instructor dedicates themselves to improving the health of the crew through physical activity, and boy, do they need the help." - title_outfit = /decl/hierarchy/outfit/job/assistant/entrepreneur/fitness_instructor - -/datum/alt_title/yoga_teacher - title = "Yoga Teacher" - title_blurb = "A Yoga Teacher is similar to fitness instructor, but rather than turning the round bodies into firm ones, they focus on helping people find balance and harmony." - title_outfit = /decl/hierarchy/outfit/job/assistant/entrepreneur/yoga_teacher - -/datum/alt_title/masseuse - title = "Masseuse" - title_blurb = "A Masseuse is master of physical therapy and working others' bodies with their hands." - title_outfit = /decl/hierarchy/outfit/job/assistant/entrepreneur/masseuse - -/datum/alt_title/tradesperson - title = "Tradesperson" - title_blurb = "A Tradesperson is someone attempting to make money via the most obvious act of all - buying and selling. Now if only customs allowed you to bring your goods along..." - title_outfit = /decl/hierarchy/outfit/job/assistant/entrepreneur/tradesperson - -/datum/alt_title/streamer - title = "Streamer" - title_blurb = "A Streamer is here to entertain. Not the crew! Their audience across exonet!" - title_outfit = /decl/hierarchy/outfit/job/assistant/entrepreneur/streamer - -/datum/alt_title/influencer - title = "Influencer" - title_blurb = "An Influencer has lucked out with some exonet following, and was given permission to go onstation to provide free exposure. Don't let it go to your head." - title_outfit = /decl/hierarchy/outfit/job/assistant/entrepreneur/influencer - -/datum/alt_title/paranormal_investigator - title = "Paranormal Investigator" - title_blurb = "A Paranormal Investigator looks beyond what is accepted by modern science, and searches for the true unknown. Aliens, alternate dimensions, ghosts... The truth is out there!" - title_outfit = /decl/hierarchy/outfit/job/assistant/entrepreneur/paranormal_investigator - -/datum/alt_title/personal_secretary - title = "Personal Secretary" - title_blurb = "A Personal Secretary offers services of general assistance. Although it's doubtful anyone will ever actually need those." - title_outfit = /decl/hierarchy/outfit/job/assistant/entrepreneur/personal_secretary - -/datum/alt_title/stylist - title = "Stylist" - title_blurb = "A Stylist offers fashion advice, as well as helps with adjusting appearance of the crew to better suit their beauty standards." - title_outfit = /decl/hierarchy/outfit/job/assistant/entrepreneur/stylist - -/datum/alt_title/fisher - title = "Fisher" - title_blurb = "A Fisher is a capable angler, who is good at obtaining large amounts of marine goods. Whether you generously give them to station or attempt to make a quick thaler by selling, it's up to you!" - title_outfit = /decl/hierarchy/outfit/job/assistant/entrepreneur/fisher - -/datum/alt_title/fortune_teller - title = "Fortune Teller" - title_blurb = "A Fortune Teller peers into the future, and offers these visions to others. Occasionally those visions may even come true!" - title_outfit = /decl/hierarchy/outfit/job/assistant/entrepreneur/fortune_teller - -/datum/alt_title/spirit_healer - title = "Spirit Healer" - title_blurb = "A Spirit Healer offers alternative forms of medicine. Rituals, magic rocks, seances... It totally works. What's that about placebo?" - title_outfit = /decl/hierarchy/outfit/job/assistant/entrepreneur/spirit_healer diff --git a/code/game/jobs/job/department.dm b/code/game/jobs/job/department.dm index 313b19e07b0..87ad819e242 100644 --- a/code/game/jobs/job/department.dm +++ b/code/game/jobs/job/department.dm @@ -60,7 +60,7 @@ name = "Miscellaneous" short_name = "Misc" color = "#666666" - sorting_order = 0 + sorting_order = -5 assignable = FALSE /datum/department/synthetic @@ -77,4 +77,4 @@ short_name = "Centcom" color = "#A52A2A" sorting_order = 20 // Above Command. - centcom_only = TRUE \ No newline at end of file + centcom_only = TRUE diff --git a/code/game/jobs/job/department_vr.dm b/code/game/jobs/job/department_vr.dm deleted file mode 100644 index 2af1d8e94fe..00000000000 --- a/code/game/jobs/job/department_vr.dm +++ /dev/null @@ -1,6 +0,0 @@ -/datum/department/misc - name = "Off-Duty" - short_name = "Offduty" - color = "#666666" - sorting_order = -5 - assignable = FALSE \ No newline at end of file diff --git a/code/game/jobs/job/engineering.dm b/code/game/jobs/job/engineering.dm index cd8729e702c..f4bb59d82cc 100644 --- a/code/game/jobs/job/engineering.dm +++ b/code/game/jobs/job/engineering.dm @@ -2,16 +2,16 @@ // Chief Engineer ////////////////////////////////// /datum/job/chief_engineer - title = "Chief Engineer" + title = JOB_CHIEF_ENGINEER flag = CHIEF departments_managed = list(DEPARTMENT_ENGINEERING) departments = list(DEPARTMENT_ENGINEERING, DEPARTMENT_COMMAND) sorting_order = 2 department_flag = ENGSEC - faction = "Station" + faction = FACTION_STATION total_positions = 1 spawn_positions = 1 - supervisors = "the Site Manager" + supervisors = "the "+ JOB_SITE_MANAGER selection_color = "#7F6E2C" req_admin_notify = 1 economic_modifier = 10 @@ -22,84 +22,148 @@ ideal_age_by_species = list(SPECIES_UNATHI = 140, "mechanical" = 20, SPECIES_HUMAN_VATBORN = 20) banned_job_species = list(SPECIES_TESHARI, SPECIES_DIONA, SPECIES_PROMETHEAN, SPECIES_ZADDAT, "digital") + disallow_jobhop = TRUE + pto_type = PTO_ENGINEERING + dept_time_required = 60 access = list(access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, - access_teleporter, access_external_airlocks, access_atmospherics, access_emergency_storage, access_eva, - access_heads, access_construction, access_sec_doors, - access_ce, access_RC_announce, access_keycard_auth, access_tcomsat, access_ai_upload) + access_teleporter, access_external_airlocks, access_atmospherics, access_emergency_storage, access_eva, + access_heads, access_construction, + access_ce, access_RC_announce, access_keycard_auth, access_tcomsat, access_ai_upload, access_gateway) + minimal_access = list(access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, - access_teleporter, access_external_airlocks, access_atmospherics, access_emergency_storage, access_eva, - access_heads, access_construction, access_sec_doors, - access_ce, access_RC_announce, access_keycard_auth, access_tcomsat, access_ai_upload) + access_teleporter, access_external_airlocks, access_atmospherics, access_emergency_storage, access_eva, + access_heads, access_construction, + access_ce, access_RC_announce, access_keycard_auth, access_tcomsat, access_ai_upload, access_gateway) + alt_titles = list(JOB_ALT_HEAD_ENGINEER = /datum/alt_title/head_engineer, JOB_ALT_FOREMAN = /datum/alt_title/foreman, JOB_ALT_MAINTENANCE_MANAGER = /datum/alt_title/maintenance_manager) minimal_player_age = 7 outfit_type = /decl/hierarchy/outfit/job/engineering/chief_engineer - job_description = "The Chief Engineer manages the Engineering Department, ensuring that the Engineers work on what needs to be done, handling distribution \ + job_description = "The " + JOB_CHIEF_ENGINEER + " manages the Engineering Department, ensuring that the Engineers work on what needs to be done, handling distribution \ of manpower as much as they handle hands-on operations and repairs. They are also expected to keep the rest of the station informed of \ any structural threats to the station that may be hazardous to health or disruptive to work." +/datum/job/chief_engineer/get_request_reasons() + return list("Engine setup", "Construction project", "Repairs necessary", "Training crew", "Assembling expedition team") + +/datum/alt_title/head_engineer + title = JOB_ALT_HEAD_ENGINEER + +/datum/alt_title/foreman + title = JOB_ALT_FOREMAN + +/datum/alt_title/maintenance_manager + title = JOB_ALT_MAINTENANCE_MANAGER + ////////////////////////////////// // Engineer ////////////////////////////////// /datum/job/engineer - title = "Engineer" + title = JOB_ENGINEER flag = ENGINEER departments = list(DEPARTMENT_ENGINEERING) department_flag = ENGSEC - faction = "Station" + faction = FACTION_STATION total_positions = 5 spawn_positions = 5 - supervisors = "the Chief Engineer" + supervisors = "the "+ JOB_CHIEF_ENGINEER selection_color = "#5B4D20" economic_modifier = 5 + pto_type = PTO_ENGINEERING + access = list(access_eva, access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_external_airlocks, access_construction, access_atmospherics) minimal_access = list(access_eva, access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_external_airlocks, access_construction) - alt_titles = list("Maintenance Technician" = /datum/alt_title/maint_tech, - "Engine Technician" = /datum/alt_title/engine_tech, "Electrician" = /datum/alt_title/electrician) + alt_titles = list(JOB_ALT_MAINTENANCE_TECHNICIAN = /datum/alt_title/maint_tech, JOB_ALT_ENGINE_TECHNICIAN = /datum/alt_title/engine_tech, + JOB_ALT_ELECTRICIAN = /datum/alt_title/electrician, JOB_ALT_CONSTRUCTION_ENGINEER = /datum/alt_title/construction_engi, JOB_ALT_ENGINEERING_CONTRACTOR = /datum/alt_title/engineering_contractor, JOB_ALT_COMPUTER_TECHNICIAN = /datum/alt_title/computer_tech, JOB_ALT_SALVAGE_TECHNICIAN = /datum/alt_title/salvage_tech, "Station Engineer" = /datum/alt_title/station_engineer ) //YW: added "Station Engineer" Alt Title minimal_player_age = 3 min_age_by_species = list(SPECIES_PROMETHEAN = 2) outfit_type = /decl/hierarchy/outfit/job/engineering/engineer - job_description = "An Engineer keeps the station running. They repair damages, keep the atmosphere stable, and ensure that power is being \ + job_description = "An " + JOB_ENGINEER + " keeps the station running. They repair damages, keep the atmosphere stable, and ensure that power is being \ generated and distributed. On quiet shifts, they may be called upon to make cosmetic alterations to the station." +/datum/job/engineer/get_request_reasons() + return list("Engine setup", "Construction project", "Repairs necessary", "Assembling expedition team") + // Engineer Alt Titles /datum/alt_title/maint_tech - title = "Maintenance Technician" - title_blurb = "A Maintenance Technician is generally a junior Engineer, and can be expected to run the mildly unpleasant or boring tasks that other \ + title = JOB_ALT_MAINTENANCE_TECHNICIAN + title_blurb = "A " + JOB_ALT_MAINTENANCE_TECHNICIAN + " is generally a junior Engineer, and can be expected to run the mildly unpleasant or boring tasks that other \ Engineers don't care to do." /datum/alt_title/engine_tech - title = "Engine Technician" - title_blurb = "An Engine Technician tends to the engine, most commonly a Supermatter crystal. They are expected to be able to keep it stable, and \ + title = JOB_ALT_ENGINE_TECHNICIAN + title_blurb = "An " + JOB_ALT_ENGINE_TECHNICIAN + " tends to the engine, most commonly a Supermatter crystal. They are expected to be able to keep it stable, and \ possibly even run it beyond normal tolerances." /datum/alt_title/electrician - title = "Electrician" - title_blurb = "An Electrician's primary duty is making sure power is properly distributed thoughout the station, utilizing solars, substations, and other \ + title = JOB_ALT_ELECTRICIAN + title_blurb = "An " + JOB_ALT_ELECTRICIAN + "'s primary duty is making sure power is properly distributed thoughout the station, utilizing solars, substations, and other \ methods to ensure every department has power in an emergency." +/datum/alt_title/construction_engi + title = JOB_ALT_CONSTRUCTION_ENGINEER + title_blurb = "A " + JOB_ALT_CONSTRUCTION_ENGINEER + " fulfills similar duties to other engineers, but usually occupies spare time with construction of extra facilities in dedicated areas or \ + as additions to station layout." + +/datum/alt_title/engineering_contractor + title = JOB_ALT_ENGINEERING_CONTRACTOR + title_blurb = "An " + JOB_ALT_ENGINEERING_CONTRACTOR + " fulfills similar duties to other engineers, but isn't directly employed by NT proper." + +/datum/alt_title/computer_tech + title = JOB_ALT_COMPUTER_TECHNICIAN + title_blurb = "A " + JOB_ALT_COMPUTER_TECHNICIAN + " fulfills similar duties to other engineers, but specializes in working with software and computers. They also often deal with integrated circuits." + +/datum/alt_title/salvage_tech + title = JOB_ALT_SALVAGE_TECHNICIAN + title_blurb = "A " + JOB_ALT_SALVAGE_TECHNICIAN + " is responsible for breaking down debris and obsolete equipment to recover useful components and materials." + ////////////////////////////////// // Atmos Tech ////////////////////////////////// /datum/job/atmos - title = "Atmospheric Technician" + title = JOB_ATMOSPHERIC_TECHNICIAN flag = ATMOSTECH departments = list(DEPARTMENT_ENGINEERING) department_flag = ENGSEC - faction = "Station" + faction = FACTION_STATION total_positions = 3 - spawn_positions = 2 - supervisors = "the Chief Engineer" + spawn_positions = 3 + pto_type = PTO_ENGINEERING + supervisors = "the " + JOB_CHIEF_ENGINEER selection_color = "#5B4D20" economic_modifier = 5 access = list(access_eva, access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_external_airlocks, access_construction, access_atmospherics, access_external_airlocks) minimal_access = list(access_eva, access_engine, access_atmospherics, access_maint_tunnels, access_emergency_storage, access_construction, access_external_airlocks) + alt_titles = list(JOB_ALT_ATMOSPHERIC_ENGINEER = /datum/alt_title/atmos_engi, JOB_ALT_ATMOSPHERIC_MAINTAINER = /datum/alt_title/atmos_maint, JOB_ALT_DISPOSALS_TECHNICIAN = /datum/alt_title/disposals_tech, + JOB_ALT_FUEL_TECHNICIAN = /datum/alt_title/refuel_tech) + minimal_player_age = 3 min_age_by_species = list(SPECIES_PROMETHEAN = 2) outfit_type = /decl/hierarchy/outfit/job/engineering/atmos - job_description = "An Atmospheric Technician is primarily concerned with keeping the station's atmosphere breathable. They are expected to have a good \ + job_description = "An " + JOB_ATMOSPHERIC_TECHNICIAN + " is primarily concerned with keeping the station's atmosphere breathable. They are expected to have a good \ understanding of the pipes, vents, and scrubbers that move gasses around the station, and to be familiar with proper firefighting procedure." + +/datum/job/atmos/get_request_reasons() + return list("Construction project", "Repairs necessary", "Assembling expedition team") + +/datum/alt_title/refuel_tech + title = JOB_ALT_FUEL_TECHNICIAN + +/datum/alt_title/atmos_maint + title = JOB_ALT_ATMOSPHERIC_MAINTAINER + +/datum/alt_title/atmos_engi + title = JOB_ALT_ATMOSPHERIC_ENGINEER + +/datum/alt_title/disposals_tech + title = JOB_ALT_DISPOSALS_TECHNICIAN + title_blurb = "A " + JOB_ALT_DISPOSALS_TECHNICIAN + " is an " + JOB_ATMOSPHERIC_TECHNICIAN + " still and can fulfill all the same duties, although specializes more in disposals delivery system's operations and configurations." + +// YW Alt Titles +/datum/alt_title/station_engineer + title = "Station Engineer" + title_blurb = "A Station Engineer is a maintenance engineer who is responsible for the maintenance of the station's airlock systems, and the maintenance of the station's airlock systems." diff --git a/code/game/jobs/job/engineering_vr.dm b/code/game/jobs/job/engineering_vr.dm deleted file mode 100644 index 336fce4b488..00000000000 --- a/code/game/jobs/job/engineering_vr.dm +++ /dev/null @@ -1,75 +0,0 @@ -/datum/job/chief_engineer - disallow_jobhop = TRUE - pto_type = PTO_ENGINEERING - dept_time_required = 60 - - access = list(access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, - access_teleporter, access_external_airlocks, access_atmospherics, access_emergency_storage, access_eva, - access_heads, access_construction, - access_ce, access_RC_announce, access_keycard_auth, access_tcomsat, access_ai_upload, access_gateway) - - minimal_access = list(access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, - access_teleporter, access_external_airlocks, access_atmospherics, access_emergency_storage, access_eva, - access_heads, access_construction, - access_ce, access_RC_announce, access_keycard_auth, access_tcomsat, access_ai_upload, access_gateway) - alt_titles = list("Head Engineer" = /datum/alt_title/head_engineer, "Foreman" = /datum/alt_title/foreman, "Maintenance Manager" = /datum/alt_title/maintenance_manager) - -/datum/alt_title/head_engineer - title = "Head Engineer" - -/datum/alt_title/foreman - title = "Foreman" - -/datum/alt_title/maintenance_manager - title = "Maintenance Manager" - -/datum/job/chief_engineer/get_request_reasons() - return list("Engine setup", "Construction project", "Repairs necessary", "Training crew", "Assembling expedition team") - - -/datum/job/engineer - pto_type = PTO_ENGINEERING - alt_titles = list("Maintenance Technician" = /datum/alt_title/maint_tech, "Engine Technician" = /datum/alt_title/engine_tech, - "Electrician" = /datum/alt_title/electrician, "Construction Engineer" = /datum/alt_title/construction_engi, "Engineering Contractor" = /datum/alt_title/engineering_contractor, "Station Engineer" = /datum/alt_title/station_engineer ) //YW: added "Station Engineer" Alt Title - -/datum/alt_title/construction_engi - title = "Construction Engineer" - title_blurb = "A Construction Engineer fulfills similar duties to other engineers, but usually occupies spare time with construction of extra facilities in dedicated areas or \ - as additions to station layout." - -/datum/alt_title/engineering_contractor - title = "Engineering Contractor" - title_blurb = "An Engineering Contractor fulfills similar duties to other engineers, but isn't directly employed by NT proper." - -/datum/job/engineer/get_request_reasons() - return list("Engine setup", "Construction project", "Repairs necessary", "Assembling expedition team") - - - - -/datum/job/atmos - spawn_positions = 3 - pto_type = PTO_ENGINEERING - alt_titles = list("Atmospheric Engineer" = /datum/alt_title/atmos_engi, "Atmospheric Maintainer" = /datum/alt_title/atmos_maint, "Disposals Technician" = /datum/alt_title/disposals_tech, - "Fuel Technician" = /datum/alt_title/refuel_tech) - -/datum/alt_title/atmos_maint - title = "Atmospheric Maintainer" - -/datum/alt_title/atmos_engi - title = "Atmospheric Engineer" - -/datum/alt_title/disposals_tech - title = "Disposals Technician" - title_blurb = "A Disposals Technician is an Atmospheric Technician still and can fulfill all the same duties, although specializes more in disposals delivery system's operations and configurations." - -/datum/alt_title/refuel_tech - title = "Fuel Technician" - -/datum/job/atmos/get_request_reasons() - return list("Construction project", "Repairs necessary", "Assembling expedition team") - -// YW Alt Titles -/datum/alt_title/station_engineer - title = "Station Engineer" - title_blurb = "A Station Engineer is a maintenance engineer who is responsible for the maintenance of the station's airlock systems, and the maintenance of the station's airlock systems." diff --git a/code/game/jobs/job/exploration_vr.dm b/code/game/jobs/job/exploration.dm similarity index 63% rename from code/game/jobs/job/exploration_vr.dm rename to code/game/jobs/job/exploration.dm index 6390e6d5b56..1beba46efb8 100644 --- a/code/game/jobs/job/exploration_vr.dm +++ b/code/game/jobs/job/exploration.dm @@ -1,23 +1,25 @@ -/obj/item/weapon/card/id/medical/sar - assignment = "Field Medic" - rank = "Field Medic" +/obj/item/card/id/medical/sar + assignment = JOB_FIELD_MEDIC + rank = JOB_FIELD_MEDIC icon_state = "cyan" primary_color = rgb(47,189,189) secondary_color = rgb(127,223,223) -/obj/item/weapon/card/id/explorer +/obj/item/card/id/explorer name = "identification card" desc = "A card issued to station exploration staff." icon_state = "cyan" primary_color = rgb(47,189,189) secondary_color = rgb(127,223,223) + rank = JOB_EXPLORER -/obj/item/weapon/card/id/explorer/head +/obj/item/card/id/explorer/head name = "identification card" desc = "A card which represents discovery of the unknown." icon_state = "cyanGold" primary_color = rgb(47,189,189) secondary_color = rgb(127,223,223) + rank = JOB_PATHFINDER /datum/department/planetside name = DEPARTMENT_PLANET @@ -27,16 +29,16 @@ /datum/job/pathfinder - title = "Pathfinder" + title = JOB_PATHFINDER flag = PATHFINDER departments = list(DEPARTMENT_PLANET) departments_managed = list(DEPARTMENT_PLANET) sorting_order = 1 // above the other explorers department_flag = MEDSCI - faction = "Station" + faction = FACTION_STATION total_positions = 1 spawn_positions = 1 - supervisors = "the Head of Personnel" + supervisors = "the " + JOB_HEAD_OF_PERSONNEL selection_color = "#d6d05c" economic_modifier = 8 minimal_player_age = 7 @@ -46,52 +48,52 @@ access = list(access_eva, access_maint_tunnels, access_external_airlocks, access_pilot, access_explorer, access_gateway, access_pathfinder, access_RC_announce) minimal_access = list(access_eva, access_maint_tunnels, access_external_airlocks, access_pilot, access_explorer, access_gateway, access_pathfinder, access_RC_announce) outfit_type = /decl/hierarchy/outfit/job/pathfinder - job_description = "The Pathfinder's job is to lead and manage expeditions, and is the primary authority on all off-station expeditions." - alt_titles = list("Expedition Lead" = /datum/alt_title/expedition_lead, "Exploration Manager" = /datum/alt_title/exploration_manager) + job_description = "The " + JOB_PATHFINDER + "'s job is to lead and manage expeditions, and is the primary authority on all off-station expeditions." + alt_titles = list(JOB_ALT_EXPEDITION_LEAD = /datum/alt_title/expedition_lead, JOB_ALT_EXPLORATION_MANAGER = /datum/alt_title/exploration_manager) /datum/alt_title/expedition_lead - title = "Expedition Lead" + title = JOB_ALT_EXPEDITION_LEAD /datum/alt_title/exploration_manager - title = "Exploration Manager" + title = JOB_ALT_EXPLORATION_MANAGER /datum/job/pathfinder/get_request_reasons() return list("Training crew") /datum/job/explorer - title = "Explorer" + title = JOB_EXPLORER flag = EXPLORER departments = list(DEPARTMENT_PLANET) department_flag = MEDSCI - faction = "Station" + faction = FACTION_STATION total_positions = 3 spawn_positions = 3 - supervisors = "the Pathfinder and the Head of Personnel" + supervisors = "the " + JOB_PATHFINDER + " and the " + JOB_HEAD_OF_PERSONNEL selection_color = "#999440" economic_modifier = 6 pto_type = PTO_EXPLORATION access = list(access_explorer, access_external_airlocks, access_eva) minimal_access = list(access_explorer, access_external_airlocks, access_eva) outfit_type = /decl/hierarchy/outfit/job/explorer2 - job_description = "An Explorer searches for interesting things, and returns them to the station." - alt_titles = list("Surveyor" = /datum/alt_title/surveyor, "Offsite Scout" = /datum/alt_title/offsite_scout) + job_description = "An " + JOB_EXPLORER + " searches for interesting things, and returns them to the station." + alt_titles = list(JOB_ALT_SURVEYOR = /datum/alt_title/surveyor, JOB_ALT_OFFSITE_SCOUT = /datum/alt_title/offsite_scout) /datum/alt_title/surveyor - title = "Surveyor" + title = JOB_ALT_SURVEYOR /datum/alt_title/offsite_scout - title = "Offsite Scout" + title = JOB_ALT_OFFSITE_SCOUT /datum/job/sar - title = "Field Medic" + title = JOB_FIELD_MEDIC flag = SAR departments = list(DEPARTMENT_PLANET, DEPARTMENT_MEDICAL) department_flag = MEDSCI - faction = "Station" + faction = FACTION_STATION total_positions = 2 spawn_positions = 2 - supervisors = "the Pathfinder and the Chief Medical Officer" + supervisors = "the " + JOB_PATHFINDER + " and the " + JOB_CHIEF_MEDICAL_OFFICER selection_color = "#999440" economic_modifier = 6 minimal_player_age = 3 @@ -99,11 +101,11 @@ access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_chemistry, access_eva, access_maint_tunnels, access_external_airlocks, access_pilot) minimal_access = list(access_medical, access_medical_equip, access_morgue, access_pilot) outfit_type = /decl/hierarchy/outfit/job/medical/sar - job_description = "A Field medic works as the field doctor of expedition teams." - alt_titles = list("Expedition Medic" = /datum/alt_title/expedition_medic, "Offsite Medic" = /datum/alt_title/offsite_medic) + job_description = "A " + JOB_FIELD_MEDIC + " works as the field doctor of expedition teams." + alt_titles = list(JOB_ALT_EXPEDITION_MEDIC = /datum/alt_title/expedition_medic, JOB_ALT_OFFSITE_MEDIC = /datum/alt_title/offsite_medic) /datum/alt_title/expedition_medic - title = "Expedition Medic" + title = JOB_ALT_EXPEDITION_MEDIC /datum/alt_title/offsite_medic - title = "Offsite Medic" + title = JOB_ALT_OFFSITE_MEDIC diff --git a/code/game/jobs/job/job.dm b/code/game/jobs/job/job.dm index 269f9dd18da..d01d60e4be9 100644 --- a/code/game/jobs/job/job.dm +++ b/code/game/jobs/job/job.dm @@ -7,7 +7,7 @@ var/list/access = list() // Useful for servers which either have fewer players, so each person needs to fill more than one role, or servers which like to give more access, so players can't hide forever in their super secure departments (I'm looking at you, chemistry!) var/flag = 0 // Bitflags for the job var/department_flag = 0 - var/faction = "None" // Players will be allowed to spawn in as jobs that are set to "Station" + var/faction = FACTION_NONE // Players will be allowed to spawn in as jobs that are set to FACTION_STATION var/total_positions = 0 // How many players can be this job var/spawn_positions = 0 // How many players can spawn in as this job var/current_positions = 0 // How many players have this job @@ -39,6 +39,29 @@ // Description of the job's role and minimum responsibilities. var/job_description = "This Job doesn't have a description! Please report it!" + //Requires a ckey to be whitelisted in jobwhitelist.txt + var/whitelist_only = 0 + + //Does not display this job on the occupation setup screen + var/latejoin_only = 0 + + //Every hour playing this role gains this much time off. (Can be negative for off duty jobs!) + var/timeoff_factor = 3 + + //What type of PTO is that job earning? + var/pto_type + + //Disallow joining as this job midround from off-duty position via going on-duty + var/disallow_jobhop = FALSE + + //Time required in the department as other jobs before playing this one (in hours) + var/dept_time_required = 0 + + //Do we forbid ourselves from earning PTO? + var/playtime_only = FALSE + + var/requestable = TRUE + /datum/job/New() . = ..() department_accounts = department_accounts || departments_managed @@ -77,18 +100,18 @@ var/datum/money_account/M = create_account(H.real_name, money_amount, null, offmap_spawn) if(H.mind) var/remembered_info = "" - remembered_info += "Your account number is: #[M.account_number]
" - remembered_info += "Your account pin is: [M.remote_access_pin]
" - remembered_info += "Your account funds are: $[M.money]
" + remembered_info += span_bold("Your account number is:") + " #[M.account_number]
" + remembered_info += span_bold("Your account pin is:") + " [M.remote_access_pin]
" + remembered_info += span_bold("Your account funds are:") + " $[M.money]
" if(M.transaction_log.len) var/datum/transaction/T = M.transaction_log[1] - remembered_info += "Your account was created: [T.time], [T.date] at [T.source_terminal]
" + remembered_info += span_bold("Your account was created:") + " [T.time], [T.date] at [T.source_terminal]
" H.mind.store_memory(remembered_info) H.mind.initial_account = M - to_chat(H, "Your account number is: [M.account_number], your account pin is: [M.remote_access_pin]") + to_chat(H, span_boldnotice("Your account number is: [M.account_number], your account pin is: [M.remote_access_pin]")) // overrideable separately so AIs/borgs can have cardborg hats without unneccessary new()/qdel() /datum/job/proc/equip_preview(mob/living/carbon/human/H, var/alt_title) @@ -98,7 +121,7 @@ . = outfit.equip_base(H, title, alt_title) /datum/job/proc/get_access() - if(!config || config.jobs_have_minimal_access) + if(!config || CONFIG_GET(flag/jobs_have_minimal_access)) return src.minimal_access.Copy() else return src.access.Copy() @@ -108,7 +131,7 @@ return (available_in_days(C) == 0) //Available in 0 days = available right now = player is old enough to play. /datum/job/proc/available_in_days(client/C) - if(C && config.use_age_restriction_for_jobs && isnum(C.player_age) && isnum(minimal_player_age)) + if(C && CONFIG_GET(flag/use_age_restriction_for_jobs) && isnum(C.player_age) && isnum(minimal_player_age)) return max(0, minimal_player_age - C.player_age) return 0 @@ -184,3 +207,47 @@ if(brain_type in banned_job_species) return TRUE */ + + +// Check client-specific availability rules. +/datum/job/proc/player_has_enough_pto(client/C) + return timeoff_factor >= 0 || (C && LAZYACCESS(C.department_hours, pto_type) > 0) + +/datum/job/proc/player_has_enough_playtime(client/C) + return (available_in_playhours(C) == 0) + +/datum/job/proc/available_in_playhours(client/C) + if(C && CONFIG_GET(flag/use_playtime_restriction_for_jobs) && dept_time_required) + if(isnum(C.play_hours[pto_type])) // Has played that department before + return max(0, dept_time_required - C.play_hours[pto_type]) + else // List doesn't have that entry, maybe never played, maybe invalid PTO type (you should fix that...) + return dept_time_required // Could be 0, too, which is fine! They can play that + return 0 + +// Special treatment for some the more complicated heads + +// Captain gets every department combined +/datum/job/captain/available_in_playhours(client/C) + if(C && CONFIG_GET(flag/use_playtime_restriction_for_jobs) && dept_time_required) + var/remaining_time_needed = dept_time_required + for(var/key in C.play_hours) + if(isnum(C.play_hours[key]) && !(key == PTO_TALON)) + remaining_time_needed = max(0, remaining_time_needed - C.play_hours[key]) + return remaining_time_needed + return 0 + +// HoP gets civilian, cargo, and exploration combined +/datum/job/hop/available_in_playhours(client/C) + if(C && CONFIG_GET(flag/use_playtime_restriction_for_jobs) && dept_time_required) + var/remaining_time_needed = dept_time_required + if(isnum(C.play_hours[PTO_CIVILIAN])) + remaining_time_needed = max(0, remaining_time_needed - C.play_hours[PTO_CIVILIAN]) + if(isnum(C.play_hours[PTO_CARGO])) + remaining_time_needed = max(0, remaining_time_needed - C.play_hours[PTO_CARGO]) + if(isnum(C.play_hours[PTO_EXPLORATION])) + remaining_time_needed = max(0, remaining_time_needed - C.play_hours[PTO_EXPLORATION]) + return remaining_time_needed + return 0 + +/datum/job/proc/get_request_reasons() + return list() diff --git a/code/game/jobs/job/job_vr.dm b/code/game/jobs/job/job_vr.dm deleted file mode 100644 index ac8b6be0b40..00000000000 --- a/code/game/jobs/job/job_vr.dm +++ /dev/null @@ -1,66 +0,0 @@ -/datum/job - //Requires a ckey to be whitelisted in jobwhitelist.txt - var/whitelist_only = 0 - - //Does not display this job on the occupation setup screen - var/latejoin_only = 0 - - //Every hour playing this role gains this much time off. (Can be negative for off duty jobs!) - var/timeoff_factor = 3 - - //What type of PTO is that job earning? - var/pto_type - - //Disallow joining as this job midround from off-duty position via going on-duty - var/disallow_jobhop = FALSE - - //Time required in the department as other jobs before playing this one (in hours) - var/dept_time_required = 0 - - //Do we forbid ourselves from earning PTO? - var/playtime_only = FALSE - - var/requestable = TRUE - -// Check client-specific availability rules. -/datum/job/proc/player_has_enough_pto(client/C) - return timeoff_factor >= 0 || (C && LAZYACCESS(C.department_hours, pto_type) > 0) - -/datum/job/proc/player_has_enough_playtime(client/C) - return (available_in_playhours(C) == 0) - -/datum/job/proc/available_in_playhours(client/C) - if(C && config.use_playtime_restriction_for_jobs && dept_time_required) - if(isnum(C.play_hours[pto_type])) // Has played that department before - return max(0, dept_time_required - C.play_hours[pto_type]) - else // List doesn't have that entry, maybe never played, maybe invalid PTO type (you should fix that...) - return dept_time_required // Could be 0, too, which is fine! They can play that - return 0 - -// Special treatment for some the more complicated heads - -// Captain gets every department combined -/datum/job/captain/available_in_playhours(client/C) - if(C && config.use_playtime_restriction_for_jobs && dept_time_required) - var/remaining_time_needed = dept_time_required - for(var/key in C.play_hours) - if(isnum(C.play_hours[key]) && !(key == PTO_TALON)) - remaining_time_needed = max(0, remaining_time_needed - C.play_hours[key]) - return remaining_time_needed - return 0 - -// HoP gets civilian, cargo, and exploration combined -/datum/job/hop/available_in_playhours(client/C) - if(C && config.use_playtime_restriction_for_jobs && dept_time_required) - var/remaining_time_needed = dept_time_required - if(isnum(C.play_hours[PTO_CIVILIAN])) - remaining_time_needed = max(0, remaining_time_needed - C.play_hours[PTO_CIVILIAN]) - if(isnum(C.play_hours[PTO_CARGO])) - remaining_time_needed = max(0, remaining_time_needed - C.play_hours[PTO_CARGO]) - if(isnum(C.play_hours[PTO_EXPLORATION])) - remaining_time_needed = max(0, remaining_time_needed - C.play_hours[PTO_EXPLORATION]) - return remaining_time_needed - return 0 - -/datum/job/proc/get_request_reasons() - return list() \ No newline at end of file diff --git a/code/game/jobs/job/medical.dm b/code/game/jobs/job/medical.dm index f896bf978f2..1722a2e0fba 100644 --- a/code/game/jobs/job/medical.dm +++ b/code/game/jobs/job/medical.dm @@ -2,25 +2,27 @@ // Chief Medical Officer ////////////////////////////////// /datum/job/cmo - title = "Chief Medical Officer" + title = JOB_CHIEF_MEDICAL_OFFICER flag = CMO departments_managed = list(DEPARTMENT_MEDICAL) departments = list(DEPARTMENT_MEDICAL, DEPARTMENT_COMMAND) sorting_order = 2 department_flag = MEDSCI - faction = "Station" + faction = FACTION_STATION total_positions = 1 spawn_positions = 1 - supervisors = "the Site Manager" + supervisors = "the " + JOB_SITE_MANAGER selection_color = "#026865" req_admin_notify = 1 economic_modifier = 10 access = list(access_medical, access_medical_equip, access_morgue, access_genetics, access_heads, - access_chemistry, access_virology, access_cmo, access_surgery, access_RC_announce, - access_keycard_auth, access_sec_doors, access_psychiatrist, access_eva, access_external_airlocks, access_maint_tunnels) + access_chemistry, access_virology, access_cmo, access_surgery, access_RC_announce, + access_keycard_auth, access_psychiatrist, access_eva, access_external_airlocks, access_maint_tunnels, access_gateway) + minimal_access = list(access_medical, access_medical_equip, access_morgue, access_genetics, access_heads, - access_chemistry, access_virology, access_cmo, access_surgery, access_RC_announce, - access_keycard_auth, access_sec_doors, access_psychiatrist, access_eva, access_external_airlocks, access_maint_tunnels) + access_chemistry, access_virology, access_cmo, access_surgery, access_RC_announce, + access_keycard_auth, access_psychiatrist, access_eva, access_external_airlocks, access_maint_tunnels, access_gateway) + alt_titles = list(JOB_ALT_CHIEF_PHYSICIAN = /datum/alt_title/chief_physician, JOB_ALT_MEDICAL_DIRECTOR = /datum/alt_title/medical_director, JOB_ALT_HEALTHCARE_MANAGER = /datum/alt_title/healthcare_manager) minimum_character_age = 25 min_age_by_species = list(SPECIES_UNATHI = 70, "mechanical" = 10, SPECIES_HUMAN_VATBORN = 14) @@ -29,80 +31,114 @@ ideal_age_by_species = list(SPECIES_UNATHI = 140, "mechanical" = 20, SPECIES_HUMAN_VATBORN = 20) banned_job_species = list(SPECIES_TESHARI, SPECIES_DIONA, SPECIES_PROMETHEAN, SPECIES_ZADDAT, "digital") + disallow_jobhop = TRUE + pto_type = PTO_MEDICAL + dept_time_required = 60 + outfit_type = /decl/hierarchy/outfit/job/medical/cmo job_description = "The CMO manages the Medical department and is a position requiring experience and skill; their goal is to ensure that their \ staff keep the station's crew healthy and whole. They are primarily interested in making sure that patients are safely found and \ transported to Medical for treatment. They are expected to keep the crew informed about threats to their health and safety, and \ about the importance of Suit Sensors." +/datum/job/cmo/get_request_reasons() + return list("Surgery pending", "Viral outbreak", "Training crew", "Assembling expedition team") + +/datum/alt_title/chief_physician + title = JOB_ALT_CHIEF_PHYSICIAN + +/datum/alt_title/medical_director + title = JOB_ALT_MEDICAL_DIRECTOR + +/datum/alt_title/healthcare_manager + title = JOB_ALT_HEALTHCARE_MANAGER + ////////////////////////////////// // Medical Doctor ////////////////////////////////// /datum/job/doctor - title = "Medical Doctor" + title = JOB_MEDICAL_DOCTOR flag = DOCTOR departments = list(DEPARTMENT_MEDICAL) department_flag = MEDSCI - faction = "Station" + faction = FACTION_STATION total_positions = 5 - spawn_positions = 3 - supervisors = "the Chief Medical Officer" + spawn_positions = 5 + pto_type = PTO_MEDICAL + supervisors = "the " + JOB_CHIEF_MEDICAL_OFFICER selection_color = "#013D3B" economic_modifier = 7 access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_chemistry, access_virology, access_genetics, access_eva) minimal_access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_virology, access_eva) outfit_type = /decl/hierarchy/outfit/job/medical/doctor - job_description = "A Medical Doctor is a Jack-of-All-Trades Medical title, covering a variety of skill levels and minor specializations. They are likely \ + job_description = "A " + JOB_MEDICAL_DOCTOR + " is a Jack-of-All-Trades Medical title, covering a variety of skill levels and minor specializations. They are likely \ familiar with basic first aid, and a number of accompanying medications, and can generally save, if not cure, a majority of the \ patients they encounter." - alt_titles = list( - "Surgeon" = /datum/alt_title/surgeon, - "Emergency Physician" = /datum/alt_title/emergency_physician, - "Nurse" = /datum/alt_title/nurse, - "Virologist" = /datum/alt_title/virologist) + alt_titles = list(JOB_ALT_PHYSICIAN = /datum/alt_title/physician, JOB_ALT_MEDICAL_PRACTITIONER = /datum/alt_title/medical_practitioner, JOB_ALT_SURGEON = /datum/alt_title/surgeon, + JOB_ALT_EMERGENCY_PHYSICIAN = /datum/alt_title/emergency_physician, JOB_ALT_NURSE = /datum/alt_title/nurse, JOB_ALT_ORDERLY = /datum/alt_title/orderly, + JOB_ALT_VIROLOGIST = /datum/alt_title/virologist, JOB_ALT_MEDICAL_CONTRACTOR = /datum/alt_title/medical_contractor) min_age_by_species = list(SPECIES_PROMETHEAN = 3) +/datum/job/doctor/get_request_reasons() + return list("Surgery pending", "Viral outbreak", "Assembling expedition team") + //Medical Doctor Alt Titles /datum/alt_title/surgeon - title = "Surgeon" - title_blurb = "A Surgeon specializes in providing surgical aid to injured patients, up to and including amputation and limb reattachement. They are expected \ + title = JOB_ALT_SURGEON + title_blurb = "A " + JOB_ALT_SURGEON + " specializes in providing surgical aid to injured patients, up to and including amputation and limb reattachement. They are expected \ to know the ins and outs of anesthesia and surgery." title_outfit = /decl/hierarchy/outfit/job/medical/doctor/surgeon /datum/alt_title/emergency_physician - title = "Emergency Physician" - title_blurb = "An Emergency Physician is a Medical professional trained for stabilizing and treating severely injured and/or dying patients. \ + title = JOB_ALT_EMERGENCY_PHYSICIAN + title_blurb = "An " + JOB_ALT_EMERGENCY_PHYSICIAN + " is a Medical professional trained for stabilizing and treating severely injured and/or dying patients. \ They are generally the first response for any such individual brought to the Medbay, and can sometimes be expected to help their patients \ make a full recovery." title_outfit = /decl/hierarchy/outfit/job/medical/doctor/emergency_physician /datum/alt_title/nurse - title = "Nurse" - title_blurb = "A Nurse acts as a general purpose Doctor's Aide, providing basic care to non-critical patients, and stabilizing critical patients during \ - busy periods. They frequently watch the suit sensors console, to help manage the time of other Doctors. In rare occasions, a Nurse can be \ + title = JOB_ALT_NURSE + title_blurb = "A " + JOB_ALT_NURSE + " acts as a general purpose Doctor's Aide, providing basic care to non-critical patients, and stabilizing critical patients during \ + busy periods. They frequently watch the suit sensors console, to help manage the time of other Doctors. In rare occasions, a " + JOB_ALT_NURSE + " can be \ called upon to revive deceased crew members." title_outfit = /decl/hierarchy/outfit/job/medical/doctor/nurse /datum/alt_title/virologist - title = "Virologist" - title_blurb = "A Virologist cures active diseases in the crew, and prepares antibodies for possible infections. They also have the skills \ + title = JOB_ALT_VIROLOGIST + title_blurb = "A " + JOB_ALT_VIROLOGIST + " cures active diseases in the crew, and prepares antibodies for possible infections. They also have the skills \ to produce the various types of virus foods or mutagens." title_outfit = /decl/hierarchy/outfit/job/medical/doctor/virologist -//Chemist is a medical job damnit //YEAH FUCK YOU SCIENCE -Pete //Guys, behave -Erro +/datum/alt_title/physician + title = JOB_ALT_PHYSICIAN + +/datum/alt_title/medical_practitioner + title = JOB_ALT_MEDICAL_PRACTITIONER + +/datum/alt_title/orderly + title = JOB_ALT_ORDERLY + title_blurb = "An " + JOB_ALT_ORDERLY + " acts as Medbay's general helping hand, assisting any doctor that might need some form of help, as well as handling manual \ + and dirty labor around the department." + title_outfit = /decl/hierarchy/outfit/job/medical/doctor/nurse + +/datum/alt_title/medical_contractor + title = JOB_ALT_MEDICAL_CONTRACTOR + title_blurb = "A " + JOB_ALT_MEDICAL_CONTRACTOR + " can be anything from a full-blown doctor to the likes of a nurse or orderly, but isn't directly employed by NT proper." + ////////////////////////////////// // Chemist ////////////////////////////////// /datum/job/chemist - title = "Chemist" + title = JOB_CHEMIST flag = CHEMIST departments = list(DEPARTMENT_MEDICAL) department_flag = MEDSCI - faction = "Station" + faction = FACTION_STATION total_positions = 2 spawn_positions = 2 - supervisors = "the Chief Medical Officer" + pto_type = PTO_MEDICAL + supervisors = "the " + JOB_CHIEF_MEDICAL_OFFICER selection_color = "#013D3B" economic_modifier = 5 access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_chemistry, access_virology, access_genetics) @@ -111,35 +147,39 @@ min_age_by_species = list(SPECIES_PROMETHEAN = 3) outfit_type = /decl/hierarchy/outfit/job/medical/chemist - job_description = "A Chemist produces and maintains a stock of basic to advanced chemicals for medical and occasionally research use. \ + job_description = "A " + JOB_CHEMIST + " produces and maintains a stock of basic to advanced chemicals for medical and occasionally research use. \ They are likely to know the use and dangers of many lab-produced chemicals." - alt_titles = list("Pharmacist" = /datum/alt_title/pharmacist) + alt_titles = list(JOB_ALT_PHARMACIST = /datum/alt_title/pharmacist, JOB_ALT_PHARMACOLOGIST = /datum/alt_title/pharmacologist) // Chemist Alt Titles /datum/alt_title/pharmacist - title = "Pharmacist" - title_blurb = "A Pharmacist focuses on the chemical needs of the Medical Department, and often offers to fill crew prescriptions at their discretion." + title = JOB_ALT_PHARMACIST + title_blurb = "A " + JOB_ALT_PHARMACIST + " focuses on the chemical needs of the Medical Department, and often offers to fill crew prescriptions at their discretion." + +/datum/alt_title/pharmacologist + title = JOB_ALT_PHARMACOLOGIST + title_blurb = "A " + JOB_ALT_PHARMACOLOGIST + " focuses on the chemical needs of the Medical Department, primarily specializing in producing more advanced forms of medicine." /* I'm commenting out Geneticist so you can't actually see it in the job menu, given that you can't play as one - Jon. ////////////////////////////////// // Geneticist ////////////////////////////////// /datum/job/geneticist - title = "Geneticist" + title = JOB_GENETICIST flag = GENETICIST departments = list(DEPARTMENT_MEDICAL, DEPARTMENT_RESEARCH) department_flag = MEDSCI - faction = "Station" + faction = FACTION_STATION total_positions = 0 spawn_positions = 0 - supervisors = "the Chief Medical Officer and Research Director" + supervisors = "the " + JOB_CHIEF_MEDICAL_OFFICER + " and " + JOB_RESEARCH_DIRECTOR selection_color = "#013D3B" economic_modifier = 7 access = list(access_medical, access_morgue, access_surgery, access_chemistry, access_virology, access_genetics, access_research) minimal_access = list(access_medical, access_morgue, access_genetics, access_research) outfit_type = /decl/hierarchy/outfit/job/medical/geneticist - job_description = "A Geneticist operates genetic manipulation equipment to repair any genetic defects encountered in crew, from cloning or radiation as examples. \ + job_description = "A " + JOB_GENETICIST + " operates genetic manipulation equipment to repair any genetic defects encountered in crew, from cloning or radiation as examples. \ When required, geneticists have the skills to clone, and are the superior choice when available for doing so." */ @@ -147,28 +187,41 @@ // Psychiatrist ////////////////////////////////// /datum/job/psychiatrist - title = "Psychiatrist" + title = JOB_PSYCHIATRIST flag = PSYCHIATRIST departments = list(DEPARTMENT_MEDICAL) department_flag = MEDSCI - faction = "Station" + faction = FACTION_STATION total_positions = 1 spawn_positions = 1 + pto_type = PTO_MEDICAL economic_modifier = 5 - supervisors = "the Chief Medical Officer" + supervisors = "the " + JOB_CHIEF_MEDICAL_OFFICER selection_color = "#013D3B" access = list(access_medical, access_medical_equip, access_morgue, access_psychiatrist) minimal_access = list(access_medical, access_medical_equip, access_psychiatrist) outfit_type = /decl/hierarchy/outfit/job/medical/psychiatrist - job_description = "A Psychiatrist provides mental health services to crew members in need. They may also be called upon to determine whatever \ + job_description = "A " + JOB_PSYCHIATRIST + " provides mental health services to crew members in need. They may also be called upon to determine whatever \ ails the mentally unwell, frequently under Security supervision. They understand the effects of various psychoactive drugs." - alt_titles = list("Psychologist" = /datum/alt_title/psychologist) + alt_titles = list(JOB_ALT_PSYCHOLOGIST = /datum/alt_title/psychologist, JOB_ALT_PSYCHOANALYST = /datum/alt_title/psychoanalyst, JOB_ALT_PSYCHOTHERAPIST = /datum/alt_title/psychotherapist) banned_job_species = list(SPECIES_PROMETHEAN, SPECIES_DIONA) //Psychiatrist Alt Titles /datum/alt_title/psychologist - title = "Psychologist" - title_blurb = "A Psychologist provides mental health services to crew members in need, focusing more on therapy than medication. They may also be \ + title = JOB_ALT_PSYCHOLOGIST + title_blurb = "A " + JOB_ALT_PSYCHOLOGIST + " provides mental health services to crew members in need, focusing more on therapy than medication. They may also be \ + called upon to determine whatever ails the mentally unwell, frequently under Security supervision." + title_outfit = /decl/hierarchy/outfit/job/medical/psychiatrist/psychologist + +/datum/alt_title/psychoanalyst + title = JOB_ALT_PSYCHOANALYST + title_blurb = "A " + JOB_ALT_PSYCHOANALYST + " provides mental health services to crew members in need, focusing more on therapy than medication. They may also be \ + called upon to determine whatever ails the mentally unwell, frequently under Security supervision." + title_outfit = /decl/hierarchy/outfit/job/medical/psychiatrist/psychologist + +/datum/alt_title/psychotherapist + title = JOB_ALT_PSYCHOTHERAPIST + title_blurb = "A " + JOB_ALT_PSYCHOTHERAPIST + " provides mental health services to crew members in need, focusing more on therapy than medication. They may also be \ called upon to determine whatever ails the mentally unwell, frequently under Security supervision." title_outfit = /decl/hierarchy/outfit/job/medical/psychiatrist/psychologist @@ -176,29 +229,42 @@ // Paramedic ////////////////////////////////// /datum/job/paramedic - title = "Paramedic" + title = JOB_PARAMEDIC flag = PARAMEDIC departments = list(DEPARTMENT_MEDICAL) department_flag = MEDSCI - faction = "Station" - total_positions = 2 - spawn_positions = 2 - supervisors = "the Chief Medical Officer" + faction = FACTION_STATION + total_positions = 3 + spawn_positions = 3 + pto_type = PTO_MEDICAL + supervisors = "the " + JOB_CHIEF_MEDICAL_OFFICER selection_color = "#013D3B" economic_modifier = 4 access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_chemistry, access_virology, access_eva, access_maint_tunnels, access_external_airlocks, access_psychiatrist) minimal_access = list(access_medical, access_medical_equip, access_morgue, access_eva, access_maint_tunnels, access_external_airlocks) outfit_type = /decl/hierarchy/outfit/job/medical/paramedic - job_description = "A Paramedic is primarily concerned with the recovery of patients who are unable to make it to the Medical Department on their own. \ + job_description = "A " + JOB_PARAMEDIC + " is primarily concerned with the recovery of patients who are unable to make it to the Medical Department on their own. \ They may also be called upon to keep patients stable when Medical is busy or understaffed." - alt_titles = list("Emergency Medical Technician" = /datum/alt_title/emt) + alt_titles = list(JOB_ALT_EMERGENCY_MEDICAL_TECHNICIAN = /datum/alt_title/emt, JOB_ALT_MEDICAL_RESPONDER = /datum/alt_title/medical_responder) // YW Edit: removes search and rescue banned_job_species = list(SPECIES_DIONA) min_age_by_species = list(SPECIES_PROMETHEAN = 2) +/datum/job/paramedic/get_request_reasons() + return list("Assembling expedition team") + // Paramedic Alt Titles /datum/alt_title/emt - title = "Emergency Medical Technician" - title_blurb = "An Emergency Medical Technician is primarily concerned with the recovery of patients who are unable to make it to the Medical Department on their \ + title = JOB_ALT_EMERGENCY_MEDICAL_TECHNICIAN + title_blurb = "An " + JOB_ALT_EMERGENCY_MEDICAL_TECHNICIAN + " is primarily concerned with the recovery of patients who are unable to make it to the Medical Department on their \ own. They are capable of keeping a patient stabilized until they reach the hands of someone with more training." - title_outfit = /decl/hierarchy/outfit/job/medical/paramedic/emt \ No newline at end of file + title_outfit = /decl/hierarchy/outfit/job/medical/paramedic/emt + +/datum/alt_title/medical_responder + title = JOB_ALT_MEDICAL_RESPONDER + title_blurb = "A " + JOB_ALT_MEDICAL_RESPONDER + " is primarily concerned with the recovery of patients who are unable to make it to the Medical Department on their \ + own. They are capable of keeping a patient stabilized until they reach the hands of someone with more training." + title_outfit = /decl/hierarchy/outfit/job/medical/paramedic/emt + +/datum/alt_title/sar + title = JOB_ALT_SEARCH_AND_RESCUE diff --git a/code/game/jobs/job/medical_vr.dm b/code/game/jobs/job/medical_vr.dm deleted file mode 100644 index 8b566a21d50..00000000000 --- a/code/game/jobs/job/medical_vr.dm +++ /dev/null @@ -1,97 +0,0 @@ -/datum/job/cmo - disallow_jobhop = TRUE - pto_type = PTO_MEDICAL - dept_time_required = 60 - - access = list(access_medical, access_medical_equip, access_morgue, access_genetics, access_heads, - access_chemistry, access_virology, access_cmo, access_surgery, access_RC_announce, - access_keycard_auth, access_psychiatrist, access_eva, access_external_airlocks, access_maint_tunnels, access_gateway) - - minimal_access = list(access_medical, access_medical_equip, access_morgue, access_genetics, access_heads, - access_chemistry, access_virology, access_cmo, access_surgery, access_RC_announce, - access_keycard_auth, access_psychiatrist, access_eva, access_external_airlocks, access_maint_tunnels, access_gateway) - alt_titles = list("Chief Physician" = /datum/alt_title/chief_physician, "Medical Director" = /datum/alt_title/medical_director, "Healthcare Manager" = /datum/alt_title/healthcare_manager) - -/datum/alt_title/chief_physician - title = "Chief Physician" - -/datum/alt_title/medical_director - title = "Medical Director" - -/datum/alt_title/healthcare_manager - title = "Healthcare Manager" - -/datum/job/cmo/get_request_reasons() - return list("Surgery pending", "Viral outbreak", "Training crew", "Assembling expedition team") - - -/datum/job/doctor - spawn_positions = 5 - pto_type = PTO_MEDICAL - alt_titles = list("Physician" = /datum/alt_title/physician, "Medical Practitioner" = /datum/alt_title/medical_practitioner, "Surgeon" = /datum/alt_title/surgeon, - "Emergency Physician" = /datum/alt_title/emergency_physician, "Nurse" = /datum/alt_title/nurse, "Orderly" = /datum/alt_title/orderly, - "Virologist" = /datum/alt_title/virologist, "Medical Contractor" = /datum/alt_title/medical_contractor) - -/datum/alt_title/physician - title = "Physician" - -/datum/alt_title/medical_practitioner - title = "Medical Practitioner" - -/datum/alt_title/orderly - title = "Orderly" - title_blurb = "An Orderly acts as Medbay's general helping hand, assisting any doctor that might need some form of help, as well as handling manual \ - and dirty labor around the department." - title_outfit = /decl/hierarchy/outfit/job/medical/doctor/nurse - -/datum/alt_title/medical_contractor - title = "Medical Contractor" - title_blurb = "A Medical Contractor can be anything from a full-blown doctor to the likes of a nurse or orderly, but isn't directly employed by NT proper." - -/datum/job/doctor/get_request_reasons() - return list("Surgery pending", "Viral outbreak", "Assembling expedition team") - - -/datum/job/chemist - pto_type = PTO_MEDICAL - alt_titles = list("Pharmacist" = /datum/alt_title/pharmacist, "Pharmacologist" = /datum/alt_title/pharmacologist) - -/datum/alt_title/pharmacologist - title = "Pharmacologist" - title_blurb = "A Pharmacologist focuses on the chemical needs of the Medical Department, primarily specializing in producing more advanced forms of medicine." - - -/datum/job/psychiatrist - pto_type = PTO_MEDICAL - alt_titles = list("Psychologist" = /datum/alt_title/psychologist, "Psychoanalyst" = /datum/alt_title/psychoanalyst, "Psychotherapist" = /datum/alt_title/psychotherapist) - -/datum/alt_title/psychoanalyst - title = "Psychoanalyst" - title_blurb = "A Psychoanalyst provides mental health services to crew members in need, focusing more on therapy than medication. They may also be \ - called upon to determine whatever ails the mentally unwell, frequently under Security supervision." - title_outfit = /decl/hierarchy/outfit/job/medical/psychiatrist/psychologist - -/datum/alt_title/psychotherapist - title = "Psychotherapist" - title_blurb = "A Psychotherapist provides mental health services to crew members in need, focusing more on therapy than medication. They may also be \ - called upon to determine whatever ails the mentally unwell, frequently under Security supervision." - title_outfit = /decl/hierarchy/outfit/job/medical/psychiatrist/psychologist - - -/datum/job/paramedic - pto_type = PTO_MEDICAL - alt_titles = list("Emergency Medical Technician" = /datum/alt_title/emt, "Medical Responder" = /datum/alt_title/medical_responder) // YW Edit: removes search and rescue - total_positions = 3 - spawn_positions = 3 - -/datum/alt_title/medical_responder - title = "Medical Responder" - title_blurb = "A Medical Responder is primarily concerned with the recovery of patients who are unable to make it to the Medical Department on their \ - own. They are capable of keeping a patient stabilized until they reach the hands of someone with more training." - title_outfit = /decl/hierarchy/outfit/job/medical/paramedic/emt - -/datum/alt_title/sar - title = "Search and Rescue" - -/datum/job/paramedic/get_request_reasons() - return list("Assembling expedition team") diff --git a/code/game/jobs/job/offduty_vr.dm b/code/game/jobs/job/offduty.dm similarity index 90% rename from code/game/jobs/job/offduty_vr.dm rename to code/game/jobs/job/offduty.dm index 665c6f46a00..951869d5b0c 100644 --- a/code/game/jobs/job/offduty_vr.dm +++ b/code/game/jobs/job/offduty.dm @@ -3,11 +3,11 @@ // /datum/job/offduty_civilian - title = "Off-duty Worker" + title = JOB_OFFDUTY_WORKER latejoin_only = TRUE timeoff_factor = -1 total_positions = -1 - faction = "Station" + faction = FACTION_STATION departments = list(DEPARTMENT_OFFDUTY) supervisors = "nobody! Enjoy your time off" selection_color = "#9b633e" @@ -19,11 +19,11 @@ economic_modifier = 2 /datum/job/offduty_cargo - title = "Off-duty Cargo" + title = JOB_OFFDUTY_CARGO latejoin_only = TRUE timeoff_factor = -1 total_positions = -1 - faction = "Station" + faction = FACTION_STATION departments = list(DEPARTMENT_OFFDUTY) supervisors = "nobody! Enjoy your time off" selection_color = "#9b633e" @@ -35,11 +35,11 @@ economic_modifier = 2 /datum/job/offduty_engineering - title = "Off-duty Engineer" + title = JOB_OFFDUTY_ENGINEER latejoin_only = TRUE timeoff_factor = -1 total_positions = -1 - faction = "Station" + faction = FACTION_STATION departments = list(DEPARTMENT_OFFDUTY) supervisors = "nobody! Enjoy your time off" selection_color = "#5B4D20" @@ -51,11 +51,11 @@ economic_modifier = 5 /datum/job/offduty_medical - title = "Off-duty Medic" + title = JOB_OFFDUTY_MEDIC latejoin_only = TRUE timeoff_factor = -1 total_positions = -1 - faction = "Station" + faction = FACTION_STATION departments = list(DEPARTMENT_OFFDUTY) supervisors = "nobody! Enjoy your time off" selection_color = "#013D3B" @@ -67,11 +67,11 @@ economic_modifier = 5 /datum/job/offduty_science - title = "Off-duty Scientist" + title = JOB_OFFDUTY_SCIENTIST latejoin_only = TRUE timeoff_factor = -1 total_positions = -1 - faction = "Station" + faction = FACTION_STATION departments = list(DEPARTMENT_OFFDUTY) supervisors = "nobody! Enjoy your time off" selection_color = "#633D63" @@ -83,11 +83,11 @@ economic_modifier = 5 /datum/job/offduty_security - title = "Off-duty Officer" + title = JOB_OFFDUTY_OFFICER latejoin_only = TRUE timeoff_factor = -1 total_positions = -1 - faction = "Station" + faction = FACTION_STATION departments = list(DEPARTMENT_OFFDUTY) supervisors = "nobody! Enjoy your time off" selection_color = "#601C1C" @@ -99,11 +99,11 @@ economic_modifier = 4 /datum/job/offduty_exploration - title = "Off-duty Explorer" + title = JOB_OFFDUTY_EXPLORER latejoin_only = TRUE timeoff_factor = -1 total_positions = -1 - faction = "Station" + faction = FACTION_STATION departments = list(DEPARTMENT_OFFDUTY) supervisors = "nobody! Enjoy your time off" selection_color = "#999440" diff --git a/code/game/jobs/job/science.dm b/code/game/jobs/job/science.dm index 0e0442a2024..03ac166d0e6 100644 --- a/code/game/jobs/job/science.dm +++ b/code/game/jobs/job/science.dm @@ -2,27 +2,27 @@ // Research Director ////////////////////////////////// /datum/job/rd - title = "Research Director" + title = JOB_RESEARCH_DIRECTOR flag = RD departments_managed = list(DEPARTMENT_RESEARCH) departments = list(DEPARTMENT_RESEARCH, DEPARTMENT_COMMAND) sorting_order = 2 department_flag = MEDSCI - faction = "Station" + faction = FACTION_STATION total_positions = 1 spawn_positions = 1 - supervisors = "the Site Manager" + supervisors = "the " + JOB_SITE_MANAGER selection_color = "#AD6BAD" req_admin_notify = 1 economic_modifier = 15 access = list(access_rd, access_heads, access_tox, access_genetics, access_morgue, - access_tox_storage, access_teleporter, access_sec_doors, + access_tox_storage, access_teleporter, access_research, access_robotics, access_xenobiology, access_ai_upload, access_tech_storage, - access_RC_announce, access_keycard_auth, access_tcomsat, access_gateway, access_xenoarch, access_network, access_maint_tunnels) //Yawn added "access_maint_tunnels" + access_RC_announce, access_keycard_auth, access_tcomsat, access_xenoarch, access_eva, access_network, access_xenobotany, access_maint_tunnels) //Yawn added "access_maint_tunnels" minimal_access = list(access_rd, access_heads, access_tox, access_genetics, access_morgue, - access_tox_storage, access_teleporter, access_sec_doors, + access_tox_storage, access_teleporter, access_research, access_robotics, access_xenobiology, access_ai_upload, access_tech_storage, - access_RC_announce, access_keycard_auth, access_tcomsat, access_gateway, access_xenoarch, access_network, access_maint_tunnels) //Yawn added "access_maint_tunnels" + access_RC_announce, access_keycard_auth, access_tcomsat, access_gateway, access_xenoarch, access_eva, access_network, access_xenobotany, access_maint_tunnels) //Yawn added "access_maint_tunnels" minimum_character_age = 25 minimal_player_age = 14 @@ -30,34 +30,50 @@ ideal_character_age = 50 ideal_age_by_species = list(SPECIES_UNATHI = 140, "mechanical" = 20, SPECIES_HUMAN_VATBORN = 20) banned_job_species = list(SPECIES_TESHARI, SPECIES_DIONA, SPECIES_PROMETHEAN, SPECIES_ZADDAT, "digital") + disallow_jobhop = TRUE + pto_type = PTO_SCIENCE + dept_time_required = 60 outfit_type = /decl/hierarchy/outfit/job/science/rd - job_description = "The Research Director manages and maintains the Research department. They are required to ensure the safety of the entire crew, \ + job_description = "The " + JOB_RESEARCH_DIRECTOR + " manages and maintains the Research department. They are required to ensure the safety of the entire crew, \ at least with regards to anything occurring in the Research department, and to inform the crew of any disruptions that \ - might originate from Research. The Research Director often has at least passing knowledge of most of the Research department, but \ + might originate from Research. The " + JOB_RESEARCH_DIRECTOR + " often has at least passing knowledge of most of the Research department, but \ are encouraged to allow their staff to perform their own duties." - alt_titles = list("Research Supervisor" = /datum/alt_title/research_supervisor) + alt_titles = list(JOB_ALT_RESEARCH_SUPERVISOR = /datum/alt_title/research_supervisor, JOB_ALT_RESEARCH_MANAGER = /datum/alt_title/research_manager, + JOB_ALT_HEAD_OF_DEVELOPMENT = /datum/alt_title/head_of_development,JOB_ALT_HEAD_SCIENTIST = /datum/alt_title/head_scientist) +/datum/job/rd/get_request_reasons() + return list("Repairs needed", "Training crew", "Assembling expedition team") -// Research Director Alt Titles +// " + JOB_RESEARCH_DIRECTOR + " Alt Titles /datum/alt_title/research_supervisor - title = "Research Supervisor" + title = JOB_ALT_RESEARCH_SUPERVISOR + +/datum/alt_title/research_manager + title = JOB_ALT_RESEARCH_MANAGER + +/datum/alt_title/head_of_development + title = JOB_ALT_HEAD_OF_DEVELOPMENT + +/datum/alt_title/head_scientist + title = JOB_ALT_HEAD_SCIENTIST ////////////////////////////////// // Scientist ////////////////////////////////// /datum/job/scientist - title = "Scientist" + title = JOB_SCIENTIST flag = SCIENTIST departments = list(DEPARTMENT_RESEARCH) department_flag = MEDSCI - faction = "Station" + faction = FACTION_STATION total_positions = 5 - spawn_positions = 3 - supervisors = "the Research Director" + spawn_positions = 5 + pto_type = PTO_SCIENCE + supervisors = "the " + JOB_RESEARCH_DIRECTOR selection_color = "#633D63" economic_modifier = 7 - access = list(access_robotics, access_tox, access_tox_storage, access_research, access_xenobiology, access_xenoarch) + access = list(access_robotics, access_tox, access_tox_storage, access_research, access_xenobiology, access_xenoarch, access_xenobotany) minimal_access = list(access_tox, access_tox_storage, access_research, access_xenoarch) min_age_by_species = list(SPECIES_PROMETHEAN = 2) banned_job_species = list("digital") @@ -65,41 +81,75 @@ minimal_player_age = 3 outfit_type = /decl/hierarchy/outfit/job/science/scientist - job_description = "A Scientist is a generalist working in the Research department, with general knowledge of the scientific process, as well as \ + job_description = "A " + JOB_SCIENTIST + " is a generalist working in the Research department, with general knowledge of the scientific process, as well as \ the principles and requirements of Research and Development. They may also formulate experiments of their own devising, if \ they find an appropriate topic." - alt_titles = list("Xenoarchaeologist" = /datum/alt_title/xenoarch, "Anomalist" = /datum/alt_title/anomalist, \ - "Phoron Researcher" = /datum/alt_title/phoron_research) + alt_titles = list(JOB_ALT_RESEARCHER = /datum/alt_title/researcher, JOB_ALT_LAB_ASSISTANT = /datum/alt_title/lab_assistant, JOB_ALT_XENOARCHAEOLOGIST = /datum/alt_title/xenoarch, + JOB_ALT_XENOPALEONTOLOGIST = /datum/alt_title/xenopaleontologist, JOB_ALT_ANOMALIST = /datum/alt_title/anomalist, JOB_ALT_PHORON_RESEARCHER = /datum/alt_title/phoron_research, + JOB_ALT_GAS_PHYSICIST = /datum/alt_title/gas_physicist, JOB_ALT_CIRCUIT_DESIGNER = /datum/alt_title/circuit_designer, JOB_ALT_CIRCUIT_PROGRAMMER = /datum/alt_title/circuit_programmer) + +/datum/job/scientist/get_request_reasons() + return list("Assembling expedition team") // Scientist Alt Titles /datum/alt_title/xenoarch - title = "Xenoarchaeologist" - title_blurb = "A Xenoarchaeologist enters digsites in search of artifacts of alien origin. These digsites are frequently in vacuum or other inhospitable \ - locations, and as such a Xenoarchaeologist should be prepared to handle hostile evironmental conditions." + title = JOB_ALT_XENOARCHAEOLOGIST + title_blurb = "A " + JOB_ALT_XENOARCHAEOLOGIST + " enters digsites in search of artifacts of alien origin. These digsites are frequently in vacuum or other inhospitable \ + locations, and as such a " + JOB_ALT_XENOARCHAEOLOGIST + " should be prepared to handle hostile evironmental conditions." /datum/alt_title/anomalist - title = "Anomalist" - title_blurb = "An Anomalist is a Scientist whose expertise is analyzing alien artifacts. They are familar with the most common methods of testing artifact \ - function. They work closely with Xenoarchaeologists, or Miners, if either role is present." + title = JOB_ALT_ANOMALIST + title_blurb = "An " + JOB_ALT_ANOMALIST + " is a " + JOB_SCIENTIST + " whose expertise is analyzing alien artifacts. They are familar with the most common methods of testing artifact \ + function. They work closely with " + JOB_ALT_XENOARCHAEOLOGIST + "s, or Miners, if either role is present." /datum/alt_title/phoron_research - title = "Phoron Researcher" - title_blurb = "A Phoron Researcher is a specialist in the practical applications of phoron, and has knowledge of its practical uses and dangers. \ - Many Phoron Researchers are interested in the combustability and explosive properties of gaseous phoron, as well as the specific hazards \ + title = JOB_ALT_PHORON_RESEARCHER + title_blurb = "A " + JOB_ALT_PHORON_RESEARCHER + " is a specialist in the practical applications of phoron, and has knowledge of its practical uses and dangers. \ + Many " + JOB_ALT_PHORON_RESEARCHER + "s are interested in the combustability and explosive properties of gaseous phoron, as well as the specific hazards \ + of working with the substance in that state." + +/datum/alt_title/researcher + title = JOB_ALT_RESEARCHER + +/datum/alt_title/lab_assistant + title = JOB_ALT_LAB_ASSISTANT + title_blurb = "A " + JOB_ALT_LAB_ASSISTANT + " is a lower-level member of research staff, whose main purpose is to help scientists with their specialized work in more menial fashion, while also \ + learning the specializations in process." + +/datum/alt_title/xenopaleontologist + title = JOB_ALT_XENOPALEONTOLOGIST + title_blurb = "A " + JOB_ALT_XENOPALEONTOLOGIST + " enters digsites in search of fossils and other ancient remants of alien life. These digsites are frequently in vacuum or other inhospitable \ + locations, and as such a " + JOB_ALT_XENOPALEONTOLOGIST + " should be prepared to handle hostile evironmental conditions." + +/datum/alt_title/gas_physicist + title = JOB_ALT_GAS_PHYSICIST + title_blurb = "A " + JOB_ALT_GAS_PHYSICIST + " is a specialist in various practical applications of gasses, but currently focuses their attention on phoron, and has knowledge of its practical uses and dangers. \ + Many " + JOB_ALT_GAS_PHYSICIST + "s are interested in the combustability and explosive properties of gaseous phoron, as well as the specific hazards \ of working with the substance in that state." +/datum/alt_title/circuit_designer + title = JOB_ALT_CIRCUIT_DESIGNER + title_blurb = "A " + JOB_ALT_CIRCUIT_DESIGNER + " is a " + JOB_SCIENTIST + " whose expertise is working with integrated circuits. They are familar with the workings and programming of those devices. \ + They work to create various useful devices using the capabilities of integrated circuitry." + +/datum/alt_title/circuit_programmer + title = JOB_ALT_CIRCUIT_PROGRAMMER + title_blurb = "A " + JOB_ALT_CIRCUIT_PROGRAMMER + " is a " + JOB_SCIENTIST + " whose expertise is working with integrated circuits. They are familar with the workings and programming of those devices. \ + They work to create various useful devices using the capabilities of integrated circuitry." + ////////////////////////////////// // Xenobiologist ////////////////////////////////// /datum/job/xenobiologist - title = "Xenobiologist" + title = JOB_XENOBIOLOGIST flag = XENOBIOLOGIST departments = list(DEPARTMENT_RESEARCH) department_flag = MEDSCI - faction = "Station" + faction = FACTION_STATION total_positions = 3 - spawn_positions = 2 - supervisors = "the Research Director" + spawn_positions = 3 + pto_type = PTO_SCIENCE + supervisors = "the " + JOB_RESEARCH_DIRECTOR selection_color = "#633D63" economic_modifier = 7 access = list(access_robotics, access_tox, access_tox_storage, access_research, access_xenobiology, access_hydroponics) @@ -110,30 +160,37 @@ min_age_by_species = list(SPECIES_PROMETHEAN = 2) outfit_type = /decl/hierarchy/outfit/job/science/xenobiologist - job_description = "A Xenobiologist studies esoteric lifeforms, usually in the relative safety of their lab. They attempt to find ways to benefit \ + job_description = "A " + JOB_XENOBIOLOGIST + " studies esoteric lifeforms, usually in the relative safety of their lab. They attempt to find ways to benefit \ from the byproducts of these lifeforms, and their main subject at present is the Giant Slime." -/*VR edit start - alt_titles = list("Xenobotanist" = /datum/alt_title/xenobot) - Xenibiologist Alt Titles + alt_titles = list(JOB_ALT_XENOZOOLOGIST = /datum/alt_title/xenozoologist, JOB_ALT_XENOANTHROPOLOGIST = /datum/alt_title/xenoanthropologist) + +// Xenobiologist Alt Titles /datum/alt_title/xenobot - title = "Xenobotanist" - title_blurb = "A Xenobotanist grows and cares for a variety of abnormal, custom made, and frequently dangerous plant life. When the products of these plants \ + title = JOB_XENOBOTANIST + title_blurb = "A " + JOB_XENOBOTANIST + " grows and cares for a variety of abnormal, custom made, and frequently dangerous plant life. When the products of these plants \ is both safe and beneficial to the station, they may choose to introduce it to the rest of the crew." -VR edit end*/ + +/datum/alt_title/xenozoologist + title = JOB_ALT_XENOZOOLOGIST + +/datum/alt_title/xenoanthropologist + title = JOB_ALT_XENOANTHROPOLOGIST + title_blurb = JOB_ALT_XENOANTHROPOLOGIST + " still heavily focuses their study on alien lifeforms, but their specialty leans more towards fellow sapient beings than simple animals." ////////////////////////////////// // Roboticist ////////////////////////////////// /datum/job/roboticist - title = "Roboticist" + title = JOB_ROBOTICIST flag = ROBOTICIST departments = list(DEPARTMENT_RESEARCH) department_flag = MEDSCI - faction = "Station" - total_positions = 2 + faction = FACTION_STATION + total_positions = 3 spawn_positions = 2 - supervisors = "the Research Director" + pto_type = PTO_SCIENCE + supervisors = "the " + JOB_RESEARCH_DIRECTOR selection_color = "#633D63" economic_modifier = 5 access = list(access_robotics, access_tox, access_tox_storage, access_tech_storage, access_morgue, access_research) //As a job that handles so many corpses, it makes sense for them to have morgue access. @@ -143,17 +200,62 @@ VR edit end*/ banned_job_species = list("digital") outfit_type = /decl/hierarchy/outfit/job/science/roboticist - job_description = "A Roboticist maintains and repairs the station's synthetics, including crew with prosthetic limbs. \ + job_description = "A " + JOB_ROBOTICIST + " maintains and repairs the station's synthetics, including crew with prosthetic limbs. \ They can also assist the station by producing simple robots and even pilotable exosuits." - alt_titles = list("Biomechanical Engineer" = /datum/alt_title/biomech, "Mechatronic Engineer" = /datum/alt_title/mech_tech) + alt_titles = list( + JOB_ALT_ASSEMBLY_TECHNICIAN = /datum/alt_title/assembly_tech, + JOB_ALT_BIOMECHANICAL_ENGINEER = /datum/alt_title/biomech, + JOB_ALT_MECHATRONIC_ENGINEER = /datum/alt_title/mech_tech, + JOB_ALT_SOFTWARE_ENGINEER = /datum/alt_title/software_engi) + +/datum/job/roboticist/get_request_reasons() + return list("Repairs needed") // Roboticist Alt Titles /datum/alt_title/biomech - title = "Biomechanical Engineer" - title_blurb = "A Biomechanical Engineer primarily works on prosthetics, and the organic parts attached to them. They may have some \ + title = JOB_ALT_BIOMECHANICAL_ENGINEER + title_blurb = "A " + JOB_ALT_BIOMECHANICAL_ENGINEER + " primarily works on prosthetics, and the organic parts attached to them. They may have some \ knowledge of the relatively simple surgical procedures used in making cyborgs and attaching prosthesis." /datum/alt_title/mech_tech - title = "Mechatronic Engineer" - title_blurb = "A Mechatronic Engineer focuses on the construction and maintenance of Exosuits, and should be well versed in their use. \ + title = JOB_ALT_MECHATRONIC_ENGINEER + title_blurb = "A " + JOB_ALT_MECHATRONIC_ENGINEER + " focuses on the construction and maintenance of Exosuits, and should be well versed in their use. \ They may also be called upon to work on synthetics and prosthetics, if needed." + +/datum/alt_title/software_engi + title = JOB_ALT_SOFTWARE_ENGINEER + title_blurb = "A " + JOB_ALT_SOFTWARE_ENGINEER + " specializes in working with software and firmware. They also often deal with integrated circuits." + +/datum/alt_title/assembly_tech + title = JOB_ALT_ASSEMBLY_TECHNICIAN + +////////////////////////////////// +// Xenobotanist +////////////////////////////////// +/datum/job/xenobotanist + title = JOB_XENOBOTANIST + flag = XENOBOTANIST + departments = list(DEPARTMENT_RESEARCH) + department_flag = MEDSCI + faction = FACTION_STATION + total_positions = 2 + spawn_positions = 2 + supervisors = "the " + JOB_RESEARCH_DIRECTOR + selection_color = "#633D63" + economic_modifier = 7 + access = list(access_robotics, access_tox, access_tox_storage, access_research, access_xenobotany, access_hydroponics) + minimal_access = list(access_research, access_xenobotany, access_hydroponics, access_tox_storage) + pto_type = PTO_SCIENCE + + minimal_player_age = 14 + + outfit_type = /decl/hierarchy/outfit/job/science/xenobiologist + job_description = "A " + JOB_XENOBOTANIST + " grows and cares for a variety of abnormal, custom made, and frequently dangerous plant life. When the products of these plants \ + are both safe and beneficial to the station, they may choose to introduce it to the rest of the crew." + alt_titles = list(JOB_ALT_XENOHYDROPONICIST = /datum/alt_title/xenohydroponicist, JOB_ALT_XENOFLORIST = /datum/alt_title/xenoflorist) + +/datum/alt_title/xenoflorist + title = JOB_ALT_XENOFLORIST + +/datum/alt_title/xenohydroponicist + title = JOB_ALT_XENOHYDROPONICIST diff --git a/code/game/jobs/job/science_vr.dm b/code/game/jobs/job/science_vr.dm deleted file mode 100644 index fd95a954091..00000000000 --- a/code/game/jobs/job/science_vr.dm +++ /dev/null @@ -1,128 +0,0 @@ -/datum/job/rd - disallow_jobhop = TRUE - pto_type = PTO_SCIENCE - dept_time_required = 60 - - access = list(access_rd, access_heads, access_tox, access_genetics, access_morgue, - access_tox_storage, access_teleporter, - access_research, access_robotics, access_xenobiology, access_ai_upload, access_tech_storage, - access_RC_announce, access_keycard_auth, access_tcomsat, access_gateway, access_xenoarch, access_eva, access_network, - access_explorer, access_pathfinder, access_xenobotany) //YW Edit access_gateway, _explorer, _pathfinder, and _xenobotany - minimal_access = list(access_rd, access_heads, access_tox, access_genetics, access_morgue, - access_tox_storage, access_teleporter, - access_research, access_robotics, access_xenobiology, access_ai_upload, access_tech_storage, - access_RC_announce, access_keycard_auth, access_tcomsat, access_gateway, access_xenoarch, access_eva, access_network, access_xenobotany, - access_explorer, access_pathfinder) //YW Edit _explorer, _pathfinder - alt_titles = list("Research Supervisor" = /datum/alt_title/research_supervisor, "Research Manager" = /datum/alt_title/research_manager, - "Head of Development" = /datum/alt_title/head_of_development,"Head Scientist" = /datum/alt_title/head_scientist) - -/datum/alt_title/research_manager - title = "Research Manager" - -/datum/alt_title/head_of_development - title = "Head of Development" - -/datum/alt_title/head_scientist - title = "Head Scientist" - -/datum/job/rd/get_request_reasons() - return list("Repairs needed", "Training crew", "Assembling expedition team") - - -/datum/job/scientist - spawn_positions = 5 - pto_type = PTO_SCIENCE - alt_titles = list("Researcher" = /datum/alt_title/researcher, "Lab Assistant" = /datum/alt_title/lab_assistant, "Xenoarchaeologist" = /datum/alt_title/xenoarch, - "Xenopaleontologist" = /datum/alt_title/xenopaleontologist, "Anomalist" = /datum/alt_title/anomalist, "Phoron Researcher" = /datum/alt_title/phoron_research, - "Gas Physicist" = /datum/alt_title/gas_physicist, "Circuit Designer" = /datum/alt_title/circuit_designer, "Circuit Programmer" = /datum/alt_title/circuit_programmer) - - - access = list(access_robotics, access_tox, access_tox_storage, access_research, access_xenobiology, access_xenoarch, access_xenobotany) - minimal_access = list(access_tox, access_tox_storage, access_research, access_xenoarch) // Unchanged (for now?), mostly here for reference - -/datum/alt_title/researcher - title = "Researcher" - -/datum/alt_title/lab_assistant - title = "Lab Assistant" - title_blurb = "A Lab Assistant is a lower-level member of research staff, whose main purpose is to help scientists with their specialized work in more menial fashion, while also \ - learning the specializations in process." - -/datum/alt_title/xenopaleontologist - title = "Xenopaleontologist" - title_blurb = "A Xenopaleontologist enters digsites in search of fossils and other ancient remants of alien life. These digsites are frequently in vacuum or other inhospitable \ - locations, and as such a Xenopaleontologist should be prepared to handle hostile evironmental conditions." - -/datum/alt_title/gas_physicist - title = "Gas Physicist" - title_blurb = "A Gas Physicist is a specialist in various practical applications of gasses, but currently focuses their attention on phoron, and has knowledge of its practical uses and dangers. \ - Many Gas Physicists are interested in the combustability and explosive properties of gaseous phoron, as well as the specific hazards \ - of working with the substance in that state." - -/datum/alt_title/circuit_designer - title = "Circuit Designer" - title_blurb = "A Circuit Designer is a Scientist whose expertise is working with integrated circuits. They are familar with the workings and programming of those devices. \ - They work to create various useful devices using the capabilities of integrated circuitry." - -/datum/alt_title/circuit_programmer - title = "Circuit Programmer" - title_blurb = "A Circuit Programmer is a Scientist whose expertise is working with integrated circuits. They are familar with the workings and programming of those devices. \ - They work to create various useful devices using the capabilities of integrated circuitry." - -/datum/job/scientist/get_request_reasons() - return list("Assembling expedition team") - -/datum/job/xenobiologist - spawn_positions = 3 - pto_type = PTO_SCIENCE - alt_titles = list("Xenozoologist" = /datum/alt_title/xenozoologist, "Xenoanthropologist" = /datum/alt_title/xenoanthropologist) - -/datum/alt_title/xenozoologist - title = "Xenozoologist" - -/datum/alt_title/xenoanthropologist - title = "Xenoanthropologist" - title_blurb = "Xenoanthropologist still heavily focuses their study on alien lifeforms, but their specialty leans more towards fellow sapient beings than simple animals." - - -/datum/job/roboticist - total_positions = 3 - pto_type = PTO_SCIENCE - alt_titles = list("Assembly Technician" = /datum/alt_title/assembly_tech, "Biomechanical Engineer" = /datum/alt_title/biomech, "Mechatronic Engineer" = /datum/alt_title/mech_tech) - -/datum/alt_title/assembly_tech - title = "Assembly Technician" - -/datum/job/roboticist/get_request_reasons() - return list("Repairs needed") - -////////////////////////////////// -// Xenobotanist -////////////////////////////////// -/datum/job/xenobotanist - title = "Xenobotanist" - flag = XENOBOTANIST - departments = list(DEPARTMENT_RESEARCH) - department_flag = MEDSCI - faction = "Station" - total_positions = 2 - spawn_positions = 2 - supervisors = "the Research Director" - selection_color = "#633D63" - economic_modifier = 7 - access = list(access_robotics, access_tox, access_tox_storage, access_research, access_xenobotany, access_hydroponics) - minimal_access = list(access_research, access_xenobotany, access_hydroponics, access_tox_storage) - pto_type = PTO_SCIENCE - - minimal_player_age = 14 - - outfit_type = /decl/hierarchy/outfit/job/science/xenobiologist - job_description = "A Xenobotanist grows and cares for a variety of abnormal, custom made, and frequently dangerous plant life. When the products of these plants \ - are both safe and beneficial to the station, they may choose to introduce it to the rest of the crew." - alt_titles = list("Xenohydroponicist" = /datum/alt_title/xenohydroponicist, "Xenoflorist" = /datum/alt_title/xenoflorist) - -/datum/alt_title/xenoflorist - title = "Xenoflorist" - -/datum/alt_title/xenohydroponicist - title = "Xenohydroponicist" diff --git a/code/game/jobs/job/security.dm b/code/game/jobs/job/security.dm index 0a65addbfae..9d77581f236 100644 --- a/code/game/jobs/job/security.dm +++ b/code/game/jobs/job/security.dm @@ -2,47 +2,55 @@ // Head of Security ////////////////////////////////// /datum/job/hos - title = "Head of Security" + title = JOB_HEAD_OF_SECURITY flag = HOS departments_managed = list(DEPARTMENT_SECURITY) departments = list(DEPARTMENT_SECURITY, DEPARTMENT_COMMAND) sorting_order = 2 department_flag = ENGSEC - faction = "Station" + faction = FACTION_STATION total_positions = 1 spawn_positions = 1 - supervisors = "the Site Manager" + supervisors = "the " + JOB_SITE_MANAGER selection_color = "#8E2929" req_admin_notify = 1 economic_modifier = 10 access = list(access_security, access_eva, access_sec_doors, access_brig, access_armory, - access_forensics_lockers, access_morgue, access_maint_tunnels, access_all_personal_lockers, - access_research, access_engine, access_mining, access_medical, access_construction, access_mailsorting, - access_heads, access_hos, access_RC_announce, access_keycard_auth, access_gateway, access_external_airlocks) + access_forensics_lockers, access_morgue, access_maint_tunnels, access_all_personal_lockers, + access_construction, + access_heads, access_hos, access_RC_announce, access_keycard_auth, access_gateway, access_external_airlocks) minimal_access = list(access_security, access_eva, access_sec_doors, access_brig, access_armory, - access_forensics_lockers, access_morgue, access_maint_tunnels, access_all_personal_lockers, - access_research, access_engine, access_mining, access_medical, access_construction, access_mailsorting, - access_heads, access_hos, access_RC_announce, access_keycard_auth, access_gateway, access_external_airlocks) + access_forensics_lockers, access_morgue, access_maint_tunnels, access_all_personal_lockers, + access_construction, + access_heads, access_hos, access_RC_announce, access_keycard_auth, access_gateway, access_external_airlocks) minimum_character_age = 25 min_age_by_species = list(SPECIES_HUMAN_VATBORN = 14) minimal_player_age = 14 ideal_character_age = 50 ideal_age_by_species = list(SPECIES_HUMAN_VATBORN = 20) banned_job_species = list(SPECIES_TESHARI, SPECIES_DIONA, SPECIES_PROMETHEAN, SPECIES_ZADDAT, "digital", SPECIES_UNATHI, "mechanical") + disallow_jobhop = TRUE + pto_type = PTO_SECURITY + dept_time_required = 60 outfit_type = /decl/hierarchy/outfit/job/security/hos - job_description = " The Head of Security manages the Security Department, keeping the station safe and making sure the rules are followed. They are expected to \ + job_description = " The " + JOB_HEAD_OF_SECURITY + " manages the Security Department, keeping the station safe and making sure the rules are followed. They are expected to \ keep the other Department Heads, and the rest of the crew, aware of developing situations that may be a threat. If necessary, the HoS may \ perform the duties of absent Security roles, such as distributing gear from the Armory." - alt_titles = list("Security Commander" = /datum/alt_title/sec_commander, "Chief of Security" = /datum/alt_title/sec_chief) + alt_titles = list(JOB_ALT_SECURITY_COMMANDER = /datum/alt_title/sec_commander, JOB_ALT_CHIEF_OF_SECURITY = /datum/alt_title/sec_chief, JOB_ALT_SECURITY_MANAGER = /datum/alt_title/security_manager) +/datum/job/hos/get_request_reasons() + return list("Wildlife management", "Forensic investigation", "Training crew", "Assembling expedition team") // Head of Security Alt Titles /datum/alt_title/sec_commander - title = "Security Commander" + title = JOB_ALT_SECURITY_COMMANDER /datum/alt_title/sec_chief - title = "Chief of Security" + title = JOB_ALT_CHIEF_OF_SECURITY + +/datum/alt_title/security_manager + title = JOB_ALT_SECURITY_MANAGER //YW ADDITION START: LOYALTY IMPLANT FOR HOS /datum/job/hos/equip(var/mob/living/carbon/human/H) @@ -51,41 +59,60 @@ H.implant_loyalty(src) //YW ADDITION END +////////////////////////////////// +// Warden +////////////////////////////////// /datum/job/warden - title = "Warden" + title = JOB_WARDEN flag = WARDEN departments = list(DEPARTMENT_SECURITY) sorting_order = 1 department_flag = ENGSEC - faction = "Station" + faction = FACTION_STATION total_positions = 1 spawn_positions = 1 - supervisors = "the Head of Security" + supervisors = "the " + JOB_HEAD_OF_SECURITY selection_color = "#601C1C" economic_modifier = 5 + pto_type = PTO_SECURITY + dept_time_required = 20 access = list(access_security, access_eva, access_sec_doors, access_brig, access_armory, access_maint_tunnels, access_morgue, access_external_airlocks) minimal_access = list(access_security, access_eva, access_sec_doors, access_brig, access_armory, access_maint_tunnels, access_external_airlocks) minimal_player_age = 5 banned_job_species = list(SPECIES_ZADDAT, SPECIES_PROMETHEAN, SPECIES_TESHARI, SPECIES_DIONA) - + alt_titles = list(JOB_ALT_BRIG_SENTRY = /datum/alt_title/brig_sentry, JOB_ALT_ARMORY_SUPERINTENDENT = /datum/alt_title/armory_superintendent, JOB_ALT_MASTERATARMS = /datum/alt_title/master_at_arms) outfit_type = /decl/hierarchy/outfit/job/security/warden - job_description = "The Warden watches over the physical Security Department, making sure the Brig and Armoury are secure and in order at all times. They oversee \ - prisoners that have been processed and brigged, and are responsible for their well being. The Warden is also in charge of distributing \ - Armoury gear in a crisis, and retrieving it when the crisis has passed. In an emergency, the Warden may be called upon to direct the \ + job_description = "The " + JOB_WARDEN + " watches over the physical Security Department, making sure the Brig and Armoury are secure and in order at all times. They oversee \ + prisoners that have been processed and brigged, and are responsible for their well being. The " + JOB_WARDEN + " is also in charge of distributing \ + Armoury gear in a crisis, and retrieving it when the crisis has passed. In an emergency, the " + JOB_WARDEN + " may be called upon to direct the \ Security Department as a whole." +/datum/job/warden/get_request_reasons() + return list("Wildlife management") + +//Warden Alt Titles +/datum/alt_title/brig_sentry + title = JOB_ALT_BRIG_SENTRY + +/datum/alt_title/armory_superintendent + title = JOB_ALT_ARMORY_SUPERINTENDENT + +/datum/alt_title/master_at_arms + title = JOB_ALT_MASTERATARMS + ////////////////////////////////// // Detective ////////////////////////////////// /datum/job/detective - title = "Detective" + title = JOB_DETECTIVE flag = DETECTIVE departments = list(DEPARTMENT_SECURITY) department_flag = ENGSEC - faction = "Station" + faction = FACTION_STATION total_positions = 2 spawn_positions = 2 - supervisors = "the Head of Security" + pto_type = PTO_SECURITY + supervisors = "the " + JOB_HEAD_OF_SECURITY selection_color = "#601C1C" access = list(access_security, access_sec_doors, access_forensics_lockers, access_morgue, access_maint_tunnels, access_eva, access_external_airlocks, access_brig) //Vorestation edit - access_brig minimal_access = list(access_security, access_sec_doors, access_forensics_lockers, access_morgue, access_maint_tunnels, access_eva, access_external_airlocks) @@ -94,28 +121,38 @@ banned_job_species = list(SPECIES_ZADDAT, SPECIES_PROMETHEAN, SPECIES_DIONA) outfit_type = /decl/hierarchy/outfit/job/security/detective - job_description = "A Detective works to help Security find criminals who have not properly been identified, through interviews and forensic work. \ + job_description = "A " + JOB_DETECTIVE + " works to help Security find criminals who have not properly been identified, through interviews and forensic work. \ For crimes only witnessed after the fact, or those with no survivors, they attempt to piece together what they can from pure evidence." - alt_titles = list("Forensic Technician" = /datum/alt_title/forensic_tech) + alt_titles = list(JOB_ALT_INVESTIGATOR = /datum/alt_title/investigator, JOB_ALT_SECURITY_INSPECTOR = /datum/alt_title/security_inspector, JOB_ALT_FORENSIC_TECHNICIAN = /datum/alt_title/forensic_tech) + +/datum/job/detective/get_request_reasons() + return list("Forensic investigation") // Detective Alt Titles /datum/alt_title/forensic_tech - title = "Forensic Technician" - title_blurb = "A Forensic Technician works more with hard evidence and labwork than a Detective, but they share the purpose of solving crimes." + title = JOB_ALT_FORENSIC_TECHNICIAN + title_blurb = "A " + JOB_ALT_FORENSIC_TECHNICIAN + " works more with hard evidence and labwork than a " + JOB_DETECTIVE + ", but they share the purpose of solving crimes." title_outfit = /decl/hierarchy/outfit/job/security/detective/forensic +/datum/alt_title/investigator + title = JOB_ALT_INVESTIGATOR + +/datum/alt_title/security_inspector + title = JOB_ALT_SECURITY_INSPECTOR + ////////////////////////////////// // Security Officer ////////////////////////////////// /datum/job/officer - title = "Security Officer" + title = JOB_SECURITY_OFFICER flag = OFFICER departments = list(DEPARTMENT_SECURITY) department_flag = ENGSEC - faction = "Station" - total_positions = 4 - spawn_positions = 4 - supervisors = "the Head of Security" + faction = FACTION_STATION + total_positions = 5 + spawn_positions = 5 + pto_type = PTO_SECURITY + supervisors = "the " + JOB_HEAD_OF_SECURITY selection_color = "#601C1C" economic_modifier = 4 access = list(access_security, access_eva, access_sec_doors, access_brig, access_maint_tunnels, access_morgue, access_external_airlocks) @@ -124,16 +161,32 @@ banned_job_species = list(SPECIES_ZADDAT, SPECIES_TESHARI, SPECIES_DIONA) outfit_type = /decl/hierarchy/outfit/job/security/officer - job_description = "A Security Officer is concerned with maintaining the safety and security of the station as a whole, dealing with external threats and \ - apprehending criminals. A Security Officer is responsible for the health, safety, and processing of any prisoner they arrest. \ + job_description = "A " + JOB_SECURITY_OFFICER + " is concerned with maintaining the safety and security of the station as a whole, dealing with external threats and \ + apprehending criminals. A " + JOB_SECURITY_OFFICER + " is responsible for the health, safety, and processing of any prisoner they arrest. \ No one is above the Law, not Security or Command." - alt_titles = list("Junior Officer" = /datum/alt_title/junior_officer) + alt_titles = list(JOB_ALT_PATROL_OFFICER = /datum/alt_title/patrol_officer, JOB_ALT_SECURITY_GUARD = /datum/alt_title/security_guard, + JOB_ALT_SECURITY_DEPUTY = /datum/alt_title/security_guard, JOB_ALT_JUNIOR_OFFICER = /datum/alt_title/junior_officer, JOB_ALT_SECURITY_CONTRACTOR = /datum/alt_title/security_contractor) min_age_by_species = list(SPECIES_PROMETHEAN = 3) +/datum/job/officer/get_request_reasons() + return list("Wildlife management", "Assembling expedition team") + // Security Officer Alt Titles /datum/alt_title/junior_officer - title = "Junior Officer" - title_blurb = "A Junior Officer is an inexperienced Security Officer. They likely have training, but not experience, and are frequently \ + title = JOB_ALT_JUNIOR_OFFICER + title_blurb = "A " + JOB_ALT_JUNIOR_OFFICER + " is an inexperienced " + JOB_SECURITY_OFFICER + ". They likely have training, but not experience, and are frequently \ paired off with a more senior co-worker. Junior Officers may also be expected to take over the boring duties of other Officers \ - including patrolling the station or maintaining specific posts." \ No newline at end of file + including patrolling the station or maintaining specific posts." + +/datum/alt_title/patrol_officer + title = JOB_ALT_PATROL_OFFICER + +/datum/alt_title/security_guard + title = JOB_ALT_SECURITY_GUARD + +/datum/alt_title/security_deputy + title = JOB_ALT_SECURITY_DEPUTY + +/datum/alt_title/security_contractor + title = JOB_ALT_SECURITY_CONTRACTOR diff --git a/code/game/jobs/job/security_vr.dm b/code/game/jobs/job/security_vr.dm deleted file mode 100644 index 8980381d6ab..00000000000 --- a/code/game/jobs/job/security_vr.dm +++ /dev/null @@ -1,75 +0,0 @@ -/datum/job/hos - disallow_jobhop = TRUE - pto_type = PTO_SECURITY - dept_time_required = 60 - - access = list(access_security, access_eva, access_sec_doors, access_brig, access_armory, - access_forensics_lockers, access_morgue, access_maint_tunnels, access_all_personal_lockers, - access_construction, - access_heads, access_hos, access_RC_announce, access_keycard_auth, access_gateway, access_external_airlocks) - minimal_access = list(access_security, access_eva, access_sec_doors, access_brig, access_armory, - access_forensics_lockers, access_morgue, access_maint_tunnels, access_all_personal_lockers, - access_construction, - access_heads, access_hos, access_RC_announce, access_keycard_auth, access_gateway, access_external_airlocks) - alt_titles = list("Security Commander" = /datum/alt_title/sec_commander, "Chief of Security" = /datum/alt_title/sec_chief, "Security Manager" = /datum/alt_title/security_manager) - -/datum/alt_title/security_manager - title = "Security Manager" - -/datum/job/hos/get_request_reasons() - return list("Wildlife management", "Forensic investigation", "Training crew", "Assembling expedition team") - - -/datum/job/warden - pto_type = PTO_SECURITY - dept_time_required = 20 - alt_titles = list("Brig Sentry" = /datum/alt_title/brig_sentry, "Armory Superintendent" = /datum/alt_title/armory_superintendent, "Master-at-Arms" = /datum/alt_title/master_at_arms) - -/datum/alt_title/brig_sentry - title = "Brig Sentry" - -/datum/alt_title/armory_superintendent - title = "Armory Superintendent" - -/datum/alt_title/master_at_arms - title = "Master-at-Arms" - -/datum/job/warden/get_request_reasons() - return list("Wildlife management") - - -/datum/job/detective - pto_type = PTO_SECURITY - alt_titles = list("Investigator" = /datum/alt_title/investigator, "Security Inspector" = /datum/alt_title/security_inspector, "Forensic Technician" = /datum/alt_title/forensic_tech) - -/datum/alt_title/investigator - title = "Investigator" - -/datum/alt_title/security_inspector - title = "Security Inspector" - -/datum/job/detective/get_request_reasons() - return list("Forensic investigation") - - -/datum/job/officer - total_positions = 5 - spawn_positions = 5 - pto_type = PTO_SECURITY - alt_titles = list("Patrol Officer" = /datum/alt_title/patrol_officer, "Security Guard" = /datum/alt_title/security_guard, - "Security Deputy" = /datum/alt_title/security_guard, "Junior Officer" = /datum/alt_title/junior_officer, "Security Contractor" = /datum/alt_title/security_contractor) - -/datum/alt_title/patrol_officer - title = "Patrol Officer" - -/datum/alt_title/security_guard - title = "Security Guard" - -/datum/alt_title/security_deputy - title = "Security Deputy" - -/datum/alt_title/security_contractor - title = "Security Contractor" - -/datum/job/officer/get_request_reasons() - return list("Wildlife management", "Assembling expedition team") diff --git a/code/game/jobs/job/silicon.dm b/code/game/jobs/job/silicon.dm index 06ec638ee3b..cce3f69603c 100644 --- a/code/game/jobs/job/silicon.dm +++ b/code/game/jobs/job/silicon.dm @@ -2,12 +2,12 @@ // AI ////////////////////////////////// /datum/job/ai - title = "AI" + title = JOB_AI flag = AI departments = list(DEPARTMENT_SYNTHETIC) sorting_order = 1 // Be above their borgs. department_flag = ENGSEC - faction = "Station" + faction = FACTION_STATION total_positions = 0 // Not used for AI, see is_position_available below and modules/mob/living/silicon/ai/latejoin.dm spawn_positions = 1 selection_color = "#3F823F" @@ -19,10 +19,12 @@ has_headset = FALSE assignable = FALSE mob_type = JOB_SILICON_AI + disallow_jobhop = TRUE + pto_type = PTO_CIVILIAN outfit_type = /decl/hierarchy/outfit/job/silicon/ai - job_description = "The AI oversees the operation of the station and its crew, but has no real authority over them. \ - The AI is required to follow its Laws, and Lawbound Synthetics that are linked to it are expected to follow \ - the AI's commands, and their own Laws." + job_description = "The " + JOB_AI + " oversees the operation of the station and its crew, but has no real authority over them. \ + The " + JOB_AI + " is required to follow its Laws, and Lawbound Synthetics that are linked to it are expected to follow \ + the " + JOB_AI + "'s commands, and their own Laws." // AI procs /datum/job/ai/equip(var/mob/living/carbon/human/H) @@ -41,14 +43,16 @@ // Cyborg ////////////////////////////////// /datum/job/cyborg - title = "Cyborg" + title = JOB_CYBORG flag = CYBORG departments = list(DEPARTMENT_SYNTHETIC) department_flag = ENGSEC - faction = "Station" - total_positions = 2 - spawn_positions = 2 - supervisors = "your Laws and the AI" //Nodrak + faction = FACTION_STATION + pto_type = PTO_CYBORG + minimal_player_age = 3 //1 day is a little too little time + total_positions = 4 //Along with one able to spawn later in the round. + spawn_positions = 3 //Let's have 3 able to spawn in roundstart + supervisors = "your Laws and the " + JOB_AI //Nodrak selection_color = "#254C25" minimal_player_age = 1 account_allowed = 0 @@ -57,18 +61,18 @@ assignable = FALSE mob_type = JOB_SILICON_ROBOT outfit_type = /decl/hierarchy/outfit/job/silicon/cyborg - job_description = "A Cyborg is a mobile station synthetic, piloted by a cybernetically preserved brain. It is considered a person, but is still required \ + job_description = "A " + JOB_CYBORG + " is a mobile station synthetic, piloted by a cybernetically preserved brain. It is considered a person, but is still required \ to follow its Laws." - alt_titles = list("Robot" = /datum/alt_title/robot, "Drone" = /datum/alt_title/drone) + alt_titles = list(JOB_ALT_ROBOT = /datum/alt_title/robot, JOB_ALT_DRONE = /datum/alt_title/drone) // Cyborg Alt Titles /datum/alt_title/robot - title = "Robot" + title = JOB_ALT_ROBOT title_blurb = "A Robot is a mobile station synthetic, piloted by an advanced piece of technology called a Positronic Brain. It is considered a person, \ legally, but is required to follow its Laws." /datum/alt_title/drone - title = "Drone" + title = JOB_ALT_DRONE title_blurb = "A Drone is a mobile station synthetic, piloted by a simple computer-based AI. As such, it is not a person, but rather an expensive and \ and important piece of station property, and is expected to follow its Laws." diff --git a/code/game/jobs/job/silicon_vr.dm b/code/game/jobs/job/silicon_vr.dm deleted file mode 100644 index f5df1e3acfc..00000000000 --- a/code/game/jobs/job/silicon_vr.dm +++ /dev/null @@ -1,9 +0,0 @@ -/datum/job/ai - disallow_jobhop = TRUE - pto_type = PTO_CIVILIAN - -/datum/job/cyborg - pto_type = PTO_CYBORG - minimal_player_age = 3 //1 day is a little too little time - total_positions = 4 //Along with one able to spawn later in the round. - spawn_positions = 3 //Let's have 3 able to spawn in roundstart \ No newline at end of file diff --git a/code/game/jobs/job/special_vr.dm b/code/game/jobs/job/special.dm similarity index 64% rename from code/game/jobs/job/special_vr.dm rename to code/game/jobs/job/special.dm index fd8f5811382..9dbe378c42e 100644 --- a/code/game/jobs/job/special_vr.dm +++ b/code/game/jobs/job/special.dm @@ -2,7 +2,7 @@ title = "CentCom Officer" departments = list("Central Command") department_accounts = list(DEPARTMENT_COMMAND, DEPARTMENT_ENGINEERING, DEPARTMENT_MEDICAL, DEPARTMENT_RESEARCH, DEPARTMENT_SECURITY, DEPARTMENT_CARGO, DEPARTMENT_PLANET, DEPARTMENT_CIVILIAN) - faction = "Station" + faction = FACTION_STATION total_positions = 2 spawn_positions = 1 supervisors = "company officials and Corporate Regulations" @@ -28,7 +28,7 @@ title = "Emergency Responder" departments = list("Central Command") department_accounts = list(DEPARTMENT_COMMAND, DEPARTMENT_ENGINEERING, DEPARTMENT_MEDICAL, DEPARTMENT_RESEARCH, DEPARTMENT_SECURITY, DEPARTMENT_CARGO, DEPARTMENT_PLANET, DEPARTMENT_CIVILIAN) - faction = "Station" + faction = FACTION_STATION total_positions = 2 spawn_positions = 1 supervisors = "company officials and Corporate Regulations" @@ -63,50 +63,50 @@ //YW UNCOMMENTING END /datum/job/clown - title = "Clown" + title = JOB_CLOWN flag = CLOWN departments = list(DEPARTMENT_CIVILIAN) department_flag = ENGSEC - faction = "Station" - total_positions = 1 //YW EDIT - spawn_positions = 1 //YW EDIT + faction = FACTION_STATION + total_positions = 1 + spawn_positions = 1 supervisors = "the spirit of laughter" selection_color = "#515151" economic_modifier = 1 - job_description = "A Clown is there to entertain the crew and keep high morale using various harmless pranks and ridiculous jokes!" + job_description = "A " + JOB_CLOWN + " is there to entertain the crew and keep high morale using various harmless pranks and ridiculous jokes!" whitelist_only = 0 //YW EDIT minimal_player_age = 3 //YW EDIT latejoin_only = 0 requestable = FALSE outfit_type = /decl/hierarchy/outfit/job/clown pto_type = PTO_CIVILIAN - alt_titles = list("Jester" = /datum/alt_title/jester, "Fool" = /datum/alt_title/fool) + alt_titles = list(JOB_ALT_JESTER = /datum/alt_title/jester, JOB_ALT_FOOL = /datum/alt_title/fool) /datum/alt_title/jester - title = "Jester" + title = JOB_ALT_JESTER /datum/alt_title/fool - title = "Fool" + title = JOB_ALT_FOOL /datum/job/clown/get_access() - if(config.assistant_maint) + if(CONFIG_GET(flag/assistant_maint)) return list(access_maint_tunnels, access_entertainment, access_clown, access_tomfoolery) else return list(access_entertainment, access_clown, access_tomfoolery) /datum/job/mime - title = "Mime" + title = JOB_MIME flag = MIME departments = list(DEPARTMENT_CIVILIAN) department_flag = ENGSEC - faction = "Station" - total_positions = 1 //YW EDIT - spawn_positions = 1 //YW EDIT + faction = FACTION_STATION + total_positions = 1 + spawn_positions = 1 supervisors = "the spirit of performance" selection_color = "#515151" economic_modifier = 1 - job_description = "A Mime is there to entertain the crew and keep high morale using unbelievable performances and acting skills!" - alt_titles = list("Poseur" = /datum/alt_title/poseur) + job_description = "A " + JOB_MIME + " is there to entertain the crew and keep high morale using unbelievable performances and acting skills!" + alt_titles = list(JOB_ALT_PASEUR = /datum/alt_title/poseur) whitelist_only = 0 //YW EDIT minimal_player_age = 3 //YW EDIT latejoin_only = 0 @@ -115,10 +115,32 @@ pto_type = PTO_CIVILIAN /datum/alt_title/poseur - title = "Poseur" + title = JOB_ALT_PASEUR /datum/job/mime/get_access() - if(config.assistant_maint) + if(CONFIG_GET(flag/assistant_maint)) return list(access_maint_tunnels, access_entertainment, access_tomfoolery, access_mime) else return list(access_entertainment, access_tomfoolery, access_mime) + +/obj/item/card/id/civilian/lurker + desc = "A rather old and scuffed-looking ID. It seems legit, but something also seems very off somehow. Say, what's the issue/expiry date..?" + assignment = "NO DATA" + rank = JOB_MAINT_LURKER + +/datum/job/maint_lurker + title = JOB_MAINT_LURKER + departments = list(DEPARTMENT_CIVILIAN) + faction = FACTION_STATION + total_positions = -1 + spawn_positions = -1 + supervisors = "nobody save your own common sense and good judgement, though Security may get upset if you're not careful" + selection_color = "#515151" + account_allowed = FALSE //let's not give the game away by creating accounts that someone might stumble across + job_description = "You are a maintenance lurker! You shouldn't be able to see this description anyway! Go prank the CMO or eat the RD's hat or something instead of looking at this." + whitelist_only = 1 + latejoin_only = 1 + requestable = FALSE + outfit_type = /decl/hierarchy/outfit/maint_lurker + access = list(access_maint_tunnels) + minimal_access = list(access_maint_tunnels) diff --git a/code/game/jobs/job_controller.dm b/code/game/jobs/job_controller.dm index 4ce8780cf49..30738ecd45a 100644 --- a/code/game/jobs/job_controller.dm +++ b/code/game/jobs/job_controller.dm @@ -10,12 +10,12 @@ var/global/datum/controller/occupations/job_master //Cache of icons for job info window var/list/job_icons = list() -/datum/controller/occupations/proc/SetupOccupations(var/faction = "Station") +/datum/controller/occupations/proc/SetupOccupations(var/faction = FACTION_STATION) occupations = list() //var/list/all_jobs = typesof(/datum/job) var/list/all_jobs = list(/datum/job/assistant) | using_map.allowed_jobs if(!all_jobs.len) - to_world("Error setting up jobs, no job datums found!") + to_world(span_boldannounce("Error setting up jobs, no job datums found!")) return 0 for(var/J in all_jobs) var/datum/job/job = new J() @@ -127,7 +127,7 @@ var/global/datum/controller/occupations/job_master if(job.is_species_banned(player.client.prefs.species, player.client.prefs.organ_data["brain"]) == TRUE) continue - if(istype(job, GetJob(USELESS_JOB))) // We don't want to give him assistant, that's boring! //VOREStation Edit - Visitor not Assistant + if(istype(job, GetJob(JOB_ALT_VISITOR))) // We don't want to give him assistant, that's boring! //VOREStation Edit - Visitor not Assistant continue if(SSjob.is_job_in_department(job.title, DEPARTMENT_COMMAND)) //If you want a command position, select it! @@ -229,7 +229,7 @@ var/global/datum/controller/occupations/job_master //Holder for Triumvirate is stored in the ticker, this just processes it if(ticker && ticker.triai) for(var/datum/job/A in occupations) - if(A.title == "AI") + if(A.title == JOB_AI) A.spawn_positions = 3 break @@ -253,7 +253,7 @@ var/global/datum/controller/occupations/job_master Debug("AC1, Candidates: [assistant_candidates.len]") for(var/mob/new_player/player in assistant_candidates) Debug("AC1 pass, Player: [player]") - AssignRole(player, USELESS_JOB) //VOREStation Edit - Visitor not Assistant + AssignRole(player, JOB_ALT_VISITOR) //VOREStation Edit - Visitor not Assistant assistant_candidates -= player Debug("DO, AC1 end") @@ -340,7 +340,7 @@ var/global/datum/controller/occupations/job_master for(var/mob/new_player/player in unassigned) if(player.client.prefs.alternate_option == BE_ASSISTANT) Debug("AC2 Assistant located, Player: [player]") - AssignRole(player, USELESS_JOB) //VOREStation Edit - Visitor not Assistant + AssignRole(player, JOB_ALT_VISITOR) //VOREStation Edit - Visitor not Assistant //For ones returning to lobby for(var/mob/new_player/player in unassigned) @@ -374,7 +374,7 @@ var/global/datum/controller/occupations/job_master var/list/spawn_props = LateSpawn(H.client, rank) var/turf/T = spawn_props["turf"] if(!T) - to_chat(H, "You were unable to be spawned at your chosen late-join spawnpoint. Please verify your job/spawn point combination makes sense, and try another one.") + to_chat(H, span_critical("You were unable to be spawned at your chosen late-join spawnpoint. Please verify your job/spawn point combination makes sense, and try another one.")) return else H.forceMove(T) @@ -410,12 +410,12 @@ var/global/datum/controller/occupations/job_master // If they aren't, tell them if(!permitted) - to_chat(H, "Your current species, job or whitelist status does not permit you to spawn with [thing]!") + to_chat(H, span_warning("Your current species, job or whitelist status does not permit you to spawn with [thing]!")) continue // Implants get special treatment if(G.slot == "implant") - var/obj/item/weapon/implant/I = G.spawn_item(H, H.client.prefs.gear[G.display_name]) + var/obj/item/implant/I = G.spawn_item(H, H.client.prefs.gear[G.display_name]) I.invisibility = 100 I.implant_loadout(H) continue @@ -429,7 +429,7 @@ var/global/datum/controller/occupations/job_master if(G.slot == slot_shoes && H.client?.prefs?.shoe_hater) //RS ADD continue if(H.equip_to_slot_or_del(G.spawn_item(H, metadata), G.slot)) - to_chat(H, "Equipping you with \the [thing]!") + to_chat(H, span_notice("Equipping you with \the [thing]!")) if(G.slot != slot_tie) custom_equip_slots.Add(G.slot) else @@ -460,12 +460,12 @@ var/global/datum/controller/occupations/job_master else var/metadata = H.client.prefs.gear[G.display_name] if(H.equip_to_slot_or_del(G.spawn_item(H, metadata), G.slot)) - to_chat(H, "Equipping you with \the [thing]!") + to_chat(H, span_notice("Equipping you with \the [thing]!")) custom_equip_slots.Add(G.slot) else spawn_in_storage += thing else - to_chat(H, "Your job is [rank] and the game just can't handle it! Please report this bug to an administrator.") + to_chat(H, span_filter_notice("Your job is [rank] and the game just can't handle it! Please report this bug to an administrator.")) H.job = rank log_game("JOINED [key_name(H)] as \"[rank]\"") @@ -477,9 +477,9 @@ var/global/datum/controller/occupations/job_master for(var/D in job.department_accounts) var/datum/money_account/department_account = department_accounts[D] if(department_account) - remembered_info += "Department account number ([D]): #[department_account.account_number]
" - remembered_info += "Department account pin ([D]): [department_account.remote_access_pin]
" - remembered_info += "Department account funds ([D]): $[department_account.money]
" + remembered_info += span_bold("Department account number ([D]):") + " #[department_account.account_number]
" + remembered_info += span_bold("Department account pin ([D]):") + " [department_account.remote_access_pin]
" + remembered_info += span_bold("Department account funds ([D]):") + " $[department_account.money]
" H.mind.store_memory(remembered_info) @@ -495,30 +495,30 @@ var/global/datum/controller/occupations/job_master return H // TWEET PEEP - if(rank == "Site Manager") + if(rank == JOB_SITE_MANAGER) var/sound/announce_sound = (ticker.current_state <= GAME_STATE_SETTING_UP) ? null : sound('sound/misc/boatswain.ogg', volume=20) - captain_announcement.Announce("All hands, [alt_title ? alt_title : "Site Manager"] [H.real_name] on deck!", new_sound = announce_sound, zlevel = H.z) + captain_announcement.Announce("All hands, [alt_title ? alt_title : JOB_SITE_MANAGER] [H.real_name] on deck!", new_sound = announce_sound, zlevel = H.z) //Deferred item spawning. if(spawn_in_storage && spawn_in_storage.len) - var/obj/item/weapon/storage/B - for(var/obj/item/weapon/storage/S in H.contents) + var/obj/item/storage/B + for(var/obj/item/storage/S in H.contents) B = S break if(!isnull(B)) for(var/thing in spawn_in_storage) - to_chat(H, "Placing \the [thing] in your [B.name]!") + to_chat(H, span_notice("Placing \the [thing] in your [B.name]!")) var/datum/gear/G = gear_datums[thing] var/metadata = H.client.prefs.gear[G.display_name] G.spawn_item(B, metadata) else - to_chat(H, "Failed to locate a storage object on your mob, either you spawned with no arms and no backpack or this is a bug.") + to_chat(H, span_danger("Failed to locate a storage object on your mob, either you spawned with no arms and no backpack or this is a bug.")) if(istype(H)) //give humans wheelchairs, if they need them. var/obj/item/organ/external/l_foot = H.get_organ("l_foot") var/obj/item/organ/external/r_foot = H.get_organ("r_foot") - var/obj/item/weapon/storage/S = locate() in H.contents + var/obj/item/storage/S = locate() in H.contents var/obj/item/wheelchair/R if(S) R = locate() in S.contents @@ -533,16 +533,16 @@ var/global/datum/controller/occupations/job_master W.color = R.color qdel(R) - to_chat(H, "You are [job.total_positions == 1 ? "the" : "a"] [alt_title ? alt_title : rank].") + to_chat(H, span_filter_notice(span_bold("You are [job.total_positions == 1 ? "the" : "a"] [alt_title ? alt_title : rank]."))) if(job.supervisors) - to_chat(H, "As the [alt_title ? alt_title : rank] you answer directly to [job.supervisors]. Special circumstances may change this.") + to_chat(H, span_filter_notice(span_bold("As the [alt_title ? alt_title : rank] you answer directly to [job.supervisors]. Special circumstances may change this."))) if(job.has_headset) - H.equip_to_slot_or_del(new /obj/item/device/radio/headset(H), slot_l_ear) - to_chat(H, "To speak on your department's radio channel use :h. For the use of other channels, examine your headset.") + H.equip_to_slot_or_del(new /obj/item/radio/headset(H), slot_l_ear) + to_chat(H, span_filter_notice(span_bold("To speak on your department's radio channel use :h. For the use of other channels, examine your headset."))) if(job.req_admin_notify) - to_chat(H, "You are playing a job that is important for Game Progression. If you have to disconnect, please notify the admins via adminhelp.") + to_chat(H, span_filter_notice(span_bold("You are playing a job that is important for Game Progression. If you have to disconnect, please notify the admins via adminhelp."))) // EMAIL GENERATION // Email addresses will be created under this domain name. Mostly for the looks. @@ -559,13 +559,13 @@ var/global/datum/controller/occupations/job_master // If even fallback login generation failed, just don't give them an email. The chance of this happening is astronomically low. if(ntnet_global.does_email_exist(complete_login)) - to_chat(H, "You were not assigned an email address.") + to_chat(H, span_filter_notice("You were not assigned an email address.")) H.mind.store_memory("You were not assigned an email address.") else var/datum/computer_file/data/email_account/EA = new/datum/computer_file/data/email_account() EA.password = GenerateKey() EA.login = complete_login - to_chat(H, "Your email account address is [EA.login] and the password is [EA.password]. This information has also been placed into your notes.") + to_chat(H, span_filter_notice("Your email account address is [EA.login] and the password is [EA.password]. This information has also been placed into your notes.")) H.mind.store_memory("Your email account address is [EA.login] and the password is [EA.password].") // END EMAIL GENERATION @@ -582,7 +582,7 @@ var/global/datum/controller/occupations/job_master return H /datum/controller/occupations/proc/LoadJobs(jobsfile) //ran during round setup, reads info from jobs.txt -- Urist - if(!config.load_jobs_from_txt) + if(!CONFIG_GET(flag/load_jobs_from_txt)) return 0 var/list/jobEntries = file2list(jobsfile) @@ -663,10 +663,10 @@ var/global/datum/controller/occupations/job_master if(C && C.prefs.spawnpoint) if(!(C.prefs.spawnpoint in using_map.allowed_spawns)) if(fail_deadly) - to_chat(C, "Your chosen spawnpoint is unavailable for this map and your job requires a specific spawnpoint. Please correct your spawn point choice.") + to_chat(C, span_warning("Your chosen spawnpoint is unavailable for this map and your job requires a specific spawnpoint. Please correct your spawn point choice.")) return else - to_chat(C, "Your chosen spawnpoint ([C.prefs.spawnpoint]) is unavailable for the current map. Spawning you at one of the enabled spawn points instead.") + to_chat(C, span_warning("Your chosen spawnpoint ([C.prefs.spawnpoint]) is unavailable for the current map. Spawning you at one of the enabled spawn points instead.")) spawnpos = null else spawnpos = spawntypes[C.prefs.spawnpoint] @@ -680,9 +680,9 @@ var/global/datum/controller/occupations/job_master .["channel"] = spawnpos.announce_channel else if(fail_deadly) - to_chat(C, "Your chosen spawnpoint ([spawnpos.display_name]) is unavailable for your chosen job. Please correct your spawn point choice.") + to_chat(C, span_warning("Your chosen spawnpoint ([spawnpos.display_name]) is unavailable for your chosen job. Please correct your spawn point choice.")) return - to_chat(C, "Your chosen spawnpoint ([spawnpos.display_name]) is unavailable for your chosen job. Spawning you at the Arrivals shuttle instead.") + to_chat(C, span_filter_warning("Your chosen spawnpoint ([spawnpos.display_name]) is unavailable for your chosen job. Spawning you at the Arrivals shuttle instead.")) var/spawning = pick(latejoin) .["turf"] = get_turf(spawning) .["msg"] = "will arrive at the station shortly" diff --git a/code/game/jobs/whitelist.dm b/code/game/jobs/whitelist.dm index d32da8494c5..666209e628e 100644 --- a/code/game/jobs/whitelist.dm +++ b/code/game/jobs/whitelist.dm @@ -3,7 +3,7 @@ var/list/whitelist = list() /hook/startup/proc/loadWhitelist() - if(config.usewhitelist) + if(CONFIG_GET(flag/usewhitelist)) load_whitelist() return 1 @@ -19,7 +19,7 @@ var/list/whitelist = list() /var/list/alien_whitelist = list() /hook/startup/proc/loadAlienWhitelist() - if(config.usealienwhitelist) + if(CONFIG_GET(flag/usealienwhitelist)) load_alienwhitelist() return 1 @@ -111,7 +111,7 @@ var/list/whitelist = list() return 1 /proc/whitelist_overrides(mob/M) - if(!config.usealienwhitelist) + if(!CONFIG_GET(flag/usealienwhitelist)) return TRUE if(check_rights(R_ADMIN|R_EVENT, 0, M)) return TRUE diff --git a/code/game/jobs/whitelist_vr.dm b/code/game/jobs/whitelist_vr.dm index 058a9c0dc17..4088a0a505c 100644 --- a/code/game/jobs/whitelist_vr.dm +++ b/code/game/jobs/whitelist_vr.dm @@ -15,7 +15,7 @@ var/list/job_whitelist = list() var/datum/job/job = job_master.GetJob(rank) if(!job.whitelist_only) return 1 - if(rank == USELESS_JOB) //VOREStation Edit - Visitor not Assistant + if(rank == JOB_ALT_VISITOR) //VOREStation Edit - Visitor not Assistant return 1 if(check_rights(R_ADMIN, 0)) return 1 @@ -28,4 +28,3 @@ var/list/job_whitelist = list() if(findtext(s,"[M.ckey] - All")) return 1 return 0 - diff --git a/code/game/machinery/Beacon.dm b/code/game/machinery/Beacon.dm index b9242059c90..fbb71dc9f09 100644 --- a/code/game/machinery/Beacon.dm +++ b/code/game/machinery/Beacon.dm @@ -8,12 +8,12 @@ anchored = TRUE use_power = USE_POWER_IDLE idle_power_usage = 0 - var/obj/item/device/radio/beacon/Beacon + var/obj/item/radio/beacon/Beacon /obj/machinery/bluespace_beacon/New() ..() var/turf/T = src.loc - Beacon = new /obj/item/device/radio/beacon + Beacon = new /obj/item/radio/beacon Beacon.invisibility = INVISIBILITY_MAXIMUM Beacon.loc = T @@ -41,7 +41,7 @@ /obj/machinery/bluespace_beacon/process() if(!Beacon) var/turf/T = src.loc - Beacon = new /obj/item/device/radio/beacon + Beacon = new /obj/item/radio/beacon Beacon.invisibility = INVISIBILITY_MAXIMUM Beacon.loc = T if(Beacon) diff --git a/code/game/machinery/CableLayer.dm b/code/game/machinery/CableLayer.dm index b64f04d16f0..e13944eb9a6 100644 --- a/code/game/machinery/CableLayer.dm +++ b/code/game/machinery/CableLayer.dm @@ -18,7 +18,7 @@ /obj/machinery/cablelayer/attack_hand(mob/user as mob) if(!cable&&!on) - to_chat(user, "\The [src] doesn't have any cable loaded.") + to_chat(user, span_warning("\The [src] doesn't have any cable loaded.")) return on=!on user.visible_message("\The [user] [!on?"dea":"a"]ctivates \the [src].", "You switch [src] [on? "on" : "off"]") @@ -29,14 +29,14 @@ var/result = load_cable(O) if(!result) - to_chat(user, "\The [src]'s cable reel is full.") + to_chat(user, span_warning("\The [src]'s cable reel is full.")) else to_chat(user, "You load [result] lengths of cable into [src].") return if(O.has_tool_quality(TOOL_WIRECUTTER)) if(cable && cable.get_amount()) - var/m = round(input(usr, "Please specify the length of cable to cut", "Cut cable", min(cable.get_amount(), 30)) as num, 1) + var/m = round(input(user, "Please specify the length of cable to cut", "Cut cable", min(cable.get_amount(), 30)) as num, 1) m = min(m, cable.get_amount()) m = min(m, 30) if(m) @@ -45,7 +45,7 @@ var/obj/item/stack/cable_coil/CC = new (get_turf(src)) CC.set_amount(m) else - to_chat(usr, "There's no more cable on the reel.") + to_chat(user, span_warning("There's no more cable on the reel.")) /obj/machinery/cablelayer/examine(mob/user) . = ..() diff --git a/code/game/machinery/OpTable.dm b/code/game/machinery/OpTable.dm index 2dbe70576e1..7d9d97acb72 100644 --- a/code/game/machinery/OpTable.dm +++ b/code/game/machinery/OpTable.dm @@ -43,8 +43,8 @@ return /obj/machinery/optable/attack_hand(mob/user as mob) - if(HULK in usr.mutations) - visible_message("\The [usr] destroys \the [src]!") + if(HULK in user.mutations) + visible_message(span_danger("\The [user] destroys \the [src]!")) density = FALSE qdel(src) return @@ -78,7 +78,7 @@ if(C == user) user.visible_message("[user] climbs on \the [src].","You climb on \the [src].") else - visible_message("\The [C] has been laid on \the [src] by [user].") + visible_message(span_notice("\The [C] has been laid on \the [src] by [user].")) if(C.client) C.client.perspective = EYE_PERSPECTIVE C.client.eye = src @@ -117,9 +117,9 @@ take_victim(user, user) -/obj/machinery/optable/attackby(obj/item/weapon/W, mob/living/carbon/user) - if(istype(W, /obj/item/weapon/grab)) - var/obj/item/weapon/grab/G = W +/obj/machinery/optable/attackby(obj/item/W, mob/living/carbon/user) + if(istype(W, /obj/item/grab)) + var/obj/item/grab/G = W if(iscarbon(G.affecting) && check_table(G.affecting, user)) take_victim(G.affecting, user) qdel(W) @@ -128,9 +128,9 @@ /obj/machinery/optable/proc/check_table(mob/living/carbon/patient, mob/living/user) check_victim() if(victim && get_turf(victim) == get_turf(src) && victim.lying) - to_chat(user, "\The [src] is already occupied!") + to_chat(user, span_warning("\The [src] is already occupied!")) return 0 if(patient.buckled) - to_chat(user, "Unbuckle \the [patient] first!") + to_chat(user, span_notice("Unbuckle \the [patient] first!")) return 0 - return 1 \ No newline at end of file + return 1 diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm index bb86420b1c3..180bebe532d 100644 --- a/code/game/machinery/Sleeper.dm +++ b/code/game/machinery/Sleeper.dm @@ -11,7 +11,7 @@ use_power = USE_POWER_IDLE idle_power_usage = 40 interact_offline = 1 - circuit = /obj/item/weapon/circuitboard/sleeper_console + circuit = /obj/item/circuitboard/sleeper_console clicksound = 'sound/machines/buttonbeep.ogg' clickvol = 30 @@ -44,11 +44,11 @@ if(!sleeper) findsleeper() if(!sleeper) - to_chat(user, "Sleeper not found!") + to_chat(user, span_notice("Sleeper not found!")) return if(panel_open) - to_chat(user, "Close the maintenance panel first.") + to_chat(user, span_notice("Close the maintenance panel first.")) return if(sleeper) @@ -91,12 +91,12 @@ density = TRUE anchored = TRUE unacidable = TRUE - circuit = /obj/item/weapon/circuitboard/sleeper + circuit = /obj/item/circuitboard/sleeper var/mob/living/carbon/human/occupant = null var/list/available_chemicals = list() var/list/base_chemicals = list("inaprovaline" = "Inaprovaline", "paracetamol" = "Paracetamol", "anti_toxin" = "Dylovene", "dexalin" = "Dexalin") var/amounts = list(5, 10) - var/obj/item/weapon/reagent_containers/glass/beaker = null + var/obj/item/reagent_containers/glass/beaker = null var/filtering = 0 var/pumping = 0 // Currently never changes. On Paradise, max_chem and min_health are based on the matter bins in the sleeper. @@ -115,7 +115,7 @@ /obj/machinery/sleeper/Initialize() . = ..() - beaker = new /obj/item/weapon/reagent_containers/glass/beaker/large(src) + beaker = new /obj/item/reagent_containers/glass/beaker/large(src) default_apply_parts() update_icon() @@ -131,8 +131,8 @@ available_chemicals.Cut() available_chemicals = base_chemicals.Copy() - for(var/obj/item/weapon/stock_parts/P in component_parts) - if(istype(P, /obj/item/weapon/stock_parts/capacitor)) + for(var/obj/item/stock_parts/P in component_parts) + if(istype(P, /obj/item/stock_parts/capacitor)) cap_rating += P.rating cap_rating = max(1, round(cap_rating / 2)) @@ -141,8 +141,8 @@ update_active_power_usage(initial(active_power_usage) / cap_rating) if(!limited) - for(var/obj/item/weapon/stock_parts/P in component_parts) - if(istype(P, /obj/item/weapon/stock_parts/manipulator)) + for(var/obj/item/stock_parts/P in component_parts) + if(istype(P, /obj/item/stock_parts/manipulator)) man_rating += P.rating - 1 var/list/new_chemicals = list() @@ -169,7 +169,7 @@ /obj/machinery/sleeper/attack_hand(var/mob/user) if(!controls_inside) return FALSE - + if(user == occupant) tgui_interact(user) @@ -190,7 +190,7 @@ occupantData["stat"] = occupant.stat occupantData["health"] = occupant.health occupantData["maxHealth"] = occupant.maxHealth - occupantData["minHealth"] = config.health_threshold_dead + occupantData["minHealth"] = CONFIG_GET(number/health_threshold_dead) occupantData["bruteLoss"] = occupant.getBruteLoss() occupantData["oxyLoss"] = occupant.getOxyLoss() occupantData["toxLoss"] = occupant.getToxLoss() @@ -296,10 +296,10 @@ /obj/machinery/sleeper/tgui_act(action, params, datum/tgui/ui, datum/tgui_state/state) if(..()) return TRUE - if(!controls_inside && usr == occupant) + if(!controls_inside && ui.user == occupant) return if(panel_open) - to_chat(usr, "Close the maintenance panel first.") + to_chat(ui.user, span_notice("Close the maintenance panel first.")) return . = TRUE @@ -309,16 +309,16 @@ return if(occupant.stat == DEAD) var/datum/gender/G = gender_datums[occupant.get_visible_gender()] - to_chat(usr, "This person has no life to preserve anymore. Take [G.him] to a department capable of reanimating [G.him].") + to_chat(ui.user, span_danger("This person has no life to preserve anymore. Take [G.him] to a department capable of reanimating [G.him].")) return var/chemical = params["chemid"] var/amount = text2num(params["amount"]) if(!length(chemical) || amount <= 0) return if(occupant.health > min_health) //|| (chemical in emergency_chems)) - inject_chemical(usr, chemical, amount) + inject_chemical(ui.user, chemical, amount) else - to_chat(usr, "This person is not in good enough condition for sleepers to be effective! Use another means of treatment, such as cryogenics!") + to_chat(ui.user, span_danger("This person is not in good enough condition for sleepers to be effective! Use another means of treatment, such as cryogenics!")) if("removebeaker") remove_beaker() if("togglefilter") @@ -328,7 +328,7 @@ if("ejectify") go_out() if("changestasis") - var/new_stasis = tgui_input_list(usr, "Levels deeper than 50% stasis level will render the patient unconscious.","Stasis Level", stasis_choices) + var/new_stasis = tgui_input_list(ui.user, "Levels deeper than 50% stasis level will render the patient unconscious.","Stasis Level", stasis_choices) if(new_stasis) stasis_level = stasis_choices[new_stasis] if("auto_eject_dead_on") @@ -337,7 +337,7 @@ auto_eject_dead = FALSE else return FALSE - add_fingerprint(usr) + add_fingerprint(ui.user) /obj/machinery/sleeper/process() if(stat & (NOPOWER|BROKEN)) @@ -374,19 +374,19 @@ /obj/machinery/sleeper/attackby(var/obj/item/I, var/mob/user) add_fingerprint(user) - if(istype(I, /obj/item/weapon/grab)) - var/obj/item/weapon/grab/G = I + if(istype(I, /obj/item/grab)) + var/obj/item/grab/G = I if(G.affecting) go_in(G.affecting, user) return - if(istype(I, /obj/item/weapon/reagent_containers/glass)) + if(istype(I, /obj/item/reagent_containers/glass)) if(!beaker) beaker = I user.drop_item() I.loc = src - user.visible_message("\The [user] adds \a [I] to \the [src].", "You add \a [I] to \the [src].") + user.visible_message(span_infoplain(span_bold("\The [user]") + " adds \a [I] to \the [src]."), span_notice("You add \a [I] to \the [src].")) else - to_chat(user, "\The [src] has a beaker already.") + to_chat(user, span_warning("\The [src] has a beaker already.")) return if(!occupant) if(default_deconstruction_screwdriver(user, I)) @@ -405,7 +405,7 @@ if(DEAD) return if(UNCONSCIOUS) - to_chat(usr, "You struggle through the haze to hit the eject button. This will take a couple of minutes...") + to_chat(usr, span_notice("You struggle through the haze to hit the eject button. This will take a couple of minutes...")) if(do_after(usr, 2 MINUTES, src)) go_out() if(CONSCIOUS) @@ -459,11 +459,13 @@ return if(stat & (BROKEN|NOPOWER)) return + if(M.buckled) + return if(occupant) - to_chat(user, "\The [src] is already occupied.") + to_chat(user, span_warning("\The [src] is already occupied.")) return if(!ishuman(M)) - to_chat(user, "\The [src] is not designed for that organism!") + to_chat(user, span_warning("\The [src] is not designed for that organism!")) return if(M == user) visible_message("\The [user] starts climbing into \the [src].") @@ -471,8 +473,10 @@ visible_message("\The [user] starts putting [M] into \the [src].") if(do_after(user, 20)) + if(M.buckled) + return if(occupant) - to_chat(user, "\The [src] is already occupied.") + to_chat(user, span_warning("\The [src] is already occupied.")) return M.stop_pulling() if(M.client) diff --git a/code/game/machinery/adv_med.dm b/code/game/machinery/adv_med.dm index 87d4146259d..2d4ca00ab48 100644 --- a/code/game/machinery/adv_med.dm +++ b/code/game/machinery/adv_med.dm @@ -9,7 +9,7 @@ density = TRUE anchored = TRUE unacidable = TRUE - circuit = /obj/item/weapon/circuitboard/body_scanner + circuit = /obj/item/circuitboard/body_scanner use_power = USE_POWER_IDLE idle_power_usage = 60 active_power_usage = 10000 //10 kW. It's a big all-body scanner. @@ -34,25 +34,25 @@ set_light(0) /obj/machinery/bodyscanner/attackby(var/obj/item/G, user as mob) - if(istype(G, /obj/item/weapon/grab)) - var/obj/item/weapon/grab/H = G + if(istype(G, /obj/item/grab)) + var/obj/item/grab/H = G if(panel_open) - to_chat(user, "Close the maintenance panel first.") + to_chat(user, span_notice("Close the maintenance panel first.")) return if(!ismob(H.affecting)) return if(!ishuman(H.affecting)) - to_chat(user, "\The [src] is not designed for that organism!") + to_chat(user, span_warning("\The [src] is not designed for that organism!")) return if(occupant) - to_chat(user, "\The [src] is already occupied!") + to_chat(user, span_notice("\The [src] is already occupied!")) return if(H.affecting.has_buckled_mobs()) - to_chat(user, span("warning", "\The [H.affecting] has other entities attached to it. Remove them first.")) + to_chat(user, span_warning("\The [H.affecting] has other entities attached to it. Remove them first.")) return var/mob/M = H.affecting if(M.abiotic()) - to_chat(user, "Subject cannot have abiotic items on.") + to_chat(user, span_notice("Subject cannot have abiotic items on.")) return M.forceMove(src) occupant = M @@ -79,19 +79,19 @@ if(!ishuman(user) && !isrobot(user)) return 0 //not a borg or human if(panel_open) - to_chat(user, "Close the maintenance panel first.") + to_chat(user, span_notice("Close the maintenance panel first.")) return 0 //panel open if(occupant) - to_chat(user, "\The [src] is already occupied.") + to_chat(user, span_notice("\The [src] is already occupied.")) return 0 //occupied if(O.buckled) return 0 if(O.abiotic()) - to_chat(user, "Subject cannot have abiotic items on.") + to_chat(user, span_notice("Subject cannot have abiotic items on.")) return 0 if(O.has_buckled_mobs()) - to_chat(user, span("warning", "\The [O] has other entities attached to it. Remove them first.")) + to_chat(user, span_warning("\The [O] has other entities attached to it. Remove them first.")) return if(O == user) @@ -189,7 +189,7 @@ occupantData["health"] = H.health occupantData["maxHealth"] = H.getMaxHealth() - occupantData["hasVirus"] = H.virus2.len + occupantData["hasVirus"] = H.viruses.len occupantData["bruteLoss"] = H.getBruteLoss() occupantData["oxyLoss"] = H.getOxyLoss() @@ -262,9 +262,9 @@ var/implantData[0] for(var/obj/thing in E.implants) var/implantSubData[0] - var/obj/item/weapon/implant/I = thing + var/obj/item/implant/I = thing //VOREStation Block Edit Start - var/obj/item/device/nif/N = thing + var/obj/item/nif/N = thing if(istype(I)) implantSubData["name"] = I.name implantSubData["known"] = istype(I) && I.known_implant @@ -334,6 +334,7 @@ occupantData["blind"] = (H.sdisabilities & BLIND) occupantData["nearsighted"] = (H.disabilities & NEARSIGHTED) + occupantData["husked"] = (HUSK in H.mutations) // VOREstation edit occupantData = attempt_vr(src, "get_occupant_data_vr", list(occupantData, H)) //VOREStation Insert data["occupant"] = occupantData @@ -349,14 +350,14 @@ eject() if("print_p") var/atom/target = console ? console : src - visible_message("[target] rattles and prints out a sheet of paper.") + visible_message(span_notice("[target] rattles and prints out a sheet of paper.")) playsound(src, 'sound/machines/printer.ogg', 50, 1) - var/obj/item/weapon/paper/P = new /obj/item/weapon/paper(get_turf(target)) + var/obj/item/paper/P = new /obj/item/paper(get_turf(target)) var/name = occupant ? occupant.name : "Unknown" - P.info = "
Body Scan - [name]

" - P.info += "Time of scan: [stationtime2text()]

" + P.info = "
" + span_bold("Body Scan - [name]") + "

" + P.info += span_bold("Time of scan:") + " [stationtime2text()]

" P.info += "[generate_printing_text()]" - P.info += "

Notes:
" + P.info += "

" + span_bold("Notes:") + "
" P.name = "Body Scan - [name] ([stationtime2text()])" else return FALSE @@ -364,7 +365,7 @@ /obj/machinery/bodyscanner/proc/generate_printing_text() var/dat = "" - dat = "Occupant Statistics:
" //Blah obvious + dat = span_blue(span_bold("Occupant Statistics:")) + "
" //Blah obvious if(istype(occupant)) //is there REALLY someone in there? var/t1 switch(occupant.stat) // obvious, see what their status is @@ -374,32 +375,37 @@ t1 = "Unconscious" else t1 = "*dead*" - dat += " (occupant.getMaxHealth() / 2) ? "blue" : "red"]>\tHealth %: [(occupant.health / occupant.getMaxHealth())*100], ([t1])
" - - if(occupant.virus2.len) - dat += "Viral pathogen detected in blood stream.
" - - var/extra_font = null - extra_font = "" - dat += "[extra_font]\t-Brute Damage %: [occupant.getBruteLoss()]
" + var/health_text = "\tHealth %: [(occupant.health / occupant.getMaxHealth())*100], ([t1])" + dat += (occupant.health > (occupant.getMaxHealth() / 2) ? span_blue(health_text) : span_red(health_text)) + dat += "
" + + if(occupant.viruses.len) + for(var/datum/disease/D in occupant.GetViruses()) + if(D.visibility_flags & HIDDEN_SCANNER) + continue + else + dat += span_red("Viral pathogen detected in blood stream.") + "
" - extra_font = "" - dat += "[extra_font]\t-Respiratory Damage %: [occupant.getOxyLoss()]
" + var/damage_string = null + damage_string = "\t-Brute Damage %: [occupant.getBruteLoss()]" + dat += (occupant.getBruteLoss() < 60 ? span_blue(damage_string) : span_red(damage_string)) + "
" + damage_string = "\t-Respiratory Damage %: [occupant.getOxyLoss()]" + dat += (occupant.getOxyLoss() < 60 ? span_blue(damage_string) : span_red(damage_string)) + "
" - extra_font = "" - dat += "[extra_font]\t-Toxin Content %: [occupant.getToxLoss()]
" + damage_string = "\t-Toxin Content %: [occupant.getToxLoss()]" + dat += (occupant.getToxLoss() < 60 ? span_blue(damage_string) : span_red(damage_string)) + "
" - extra_font = "" - dat += "[extra_font]\t-Burn Severity %: [occupant.getFireLoss()]
" + damage_string = "\t-Burn Severity %: [occupant.getFireLoss()]" + dat += (occupant.getFireLoss() < 60 ? span_blue(damage_string) : span_red(damage_string)) + "
" - extra_font = "" - dat += "[extra_font]\tRadiation Level %: [occupant.radiation]
" + damage_string = "\tRadiation Level %: [occupant.radiation]" + dat += (occupant.radiation < 10 ? span_blue(damage_string) : span_red(damage_string)) + "
" - extra_font = "" - dat += "[extra_font]\tGenetic Tissue Damage %: [occupant.getCloneLoss()]
" + damage_string = "\tGenetic Tissue Damage %: [occupant.getCloneLoss()]" + dat += (occupant.getCloneLoss() < 1 ? span_blue(damage_string) : span_red(damage_string)) + "
" - extra_font = "" - dat += "[extra_font]\tApprox. Brain Damage %: [occupant.getBrainLoss()]
" + damage_string = "\tApprox. Brain Damage %: [occupant.getBrainLoss()]" + dat += (occupant.getBrainLoss() < 1 ? span_blue(damage_string) : span_red(damage_string)) + "
" dat += "Paralysis Summary %: [occupant.paralysis] ([round(occupant.paralysis / 4)] seconds left!)
" dat += "Body Temperature: [occupant.bodytemperature-T0C]°C ([occupant.bodytemperature*1.8-459.67]°F)
" @@ -415,8 +421,8 @@ var/blood_percent = blood_volume / blood_max blood_percent *= 100 - extra_font = " 448 ? "blue" : "red"]>" - dat += "[extra_font]\tBlood Level %: [blood_percent] ([blood_volume] units)
" + damage_string = "\tBlood Level %: [blood_percent] ([blood_volume] units)" + dat += (blood_volume > 448 ? span_blue(damage_string) : span_red(damage_string)) + "
" if(occupant.reagents) for(var/datum/reagent/R in occupant.reagents.reagent_list) @@ -480,8 +486,8 @@ infected = "Gangrene Detected:" var/unknown_body = 0 - for(var/obj/item/weapon/implant/I as anything in e.implants) - var/obj/item/device/nif/N = I //VOREStation Add: NIFs + for(var/obj/item/implant/I as anything in e.implants) + var/obj/item/nif/N = I //VOREStation Add: NIFs if(istype(I) && I.known_implant) imp += "[I] implanted:" else if(istype(N) && N.known_implant) //VOREStation Add: NIFs @@ -534,9 +540,11 @@ dat += "" dat += "" if(occupant.sdisabilities & BLIND) - dat += "Cataracts detected.
" + dat += span_red("Cataracts detected.") + "
" if(occupant.disabilities & NEARSIGHTED) - dat += "Retinal misalignment detected.
" + dat += span_red("Retinal misalignment detected.") + "
" + if(HUSK in occupant.mutations) // VOREstation edit + dat += span_red("Anatomical structure lost, resuscitation not possible!") + "
" else dat += "\The [src] is empty." @@ -554,7 +562,7 @@ density = FALSE anchored = TRUE unacidable = TRUE - circuit = /obj/item/weapon/circuitboard/scanner_console + circuit = /obj/item/circuitboard/scanner_console var/printing = null /obj/machinery/body_scanconsole/New() @@ -569,16 +577,16 @@ /obj/machinery/body_scanconsole/attackby(var/obj/item/I, var/mob/user) if(computer_deconstruction_screwdriver(user, I)) return - else if(istype(I, /obj/item/device/multitool)) //Did you want to link it? - var/obj/item/device/multitool/P = I + else if(istype(I, /obj/item/multitool)) //Did you want to link it? + var/obj/item/multitool/P = I if(P.connectable) if(istype(P.connectable, /obj/machinery/bodyscanner)) var/obj/machinery/bodyscanner/C = P.connectable scanner = C C.console = src - to_chat(user, " You link the [src] to the [P.connectable]!") + to_chat(user, span_warning(" You link the [src] to the [P.connectable]!")) else - to_chat(user, " You store the [src] in the [P]'s buffer!") + to_chat(user, span_warning(" You store the [src] in the [P]'s buffer!")) P.connectable = src return else @@ -638,11 +646,11 @@ if(!scanner) findscanner() if(!scanner) - to_chat(user, "Scanner not found!") + to_chat(user, span_notice("Scanner not found!")) return if(scanner.panel_open) - to_chat(user, "Close the maintenance panel first.") + to_chat(user, span_notice("Close the maintenance panel first.")) return if(scanner) diff --git a/code/game/machinery/ai_slipper.dm b/code/game/machinery/ai_slipper.dm index 86f55631a4e..cf1fc43839f 100644 --- a/code/game/machinery/ai_slipper.dm +++ b/code/game/machinery/ai_slipper.dm @@ -33,13 +33,13 @@ uses = uses power_change() -/obj/machinery/ai_slipper/attackby(obj/item/weapon/W, mob/user) +/obj/machinery/ai_slipper/attackby(obj/item/W, mob/user) if(stat & (NOPOWER|BROKEN)) return if(istype(user, /mob/living/silicon)) return attack_hand(user) else // trying to unlock the interface - if(allowed(usr)) + if(allowed(user)) locked = !locked to_chat(user, "You [ locked ? "lock" : "unlock"] the device.") if(locked) @@ -48,9 +48,9 @@ user << browse(null, "window=ai_slipper") else if(user.machine==src) - attack_hand(usr) + attack_hand(user) else - to_chat(user, "Access denied.") + to_chat(user, span_warning("Access denied.")) return return @@ -125,4 +125,4 @@ if(uses >= 0) cooldown_on = 0 power_change() - return \ No newline at end of file + return diff --git a/code/game/machinery/air_alarm.dm b/code/game/machinery/air_alarm.dm index 0374f9eab87..4a3b362db29 100644 --- a/code/game/machinery/air_alarm.dm +++ b/code/game/machinery/air_alarm.dm @@ -58,7 +58,7 @@ panel_open = FALSE // If it's been screwdrivered open. var/aidisabled = 0 var/shorted = 0 - circuit = /obj/item/weapon/circuitboard/airalarm + circuit = /obj/item/circuitboard/airalarm var/datum/wires/alarm/wires @@ -682,10 +682,10 @@ var/list/selected = TLV["temperature"] var/max_temperature = min(selected[3] - T0C, MAX_TEMPERATURE) var/min_temperature = max(selected[2] - T0C, MIN_TEMPERATURE) - var/input_temperature = tgui_input_number(usr, "What temperature would you like the system to mantain? (Capped between [min_temperature] and [max_temperature]C)", "Thermostat Controls", target_temperature - T0C, max_temperature, min_temperature, round_value = FALSE) + var/input_temperature = tgui_input_number(ui.user, "What temperature would you like the system to mantain? (Capped between [min_temperature] and [max_temperature]C)", "Thermostat Controls", target_temperature - T0C, max_temperature, min_temperature, round_value = FALSE) if(isnum(input_temperature)) if(input_temperature > max_temperature || input_temperature < min_temperature) - to_chat(usr, "Temperature must be between [min_temperature]C and [max_temperature]C") + to_chat(ui.user, "Temperature must be between [min_temperature]C and [max_temperature]C") else target_temperature = input_temperature + T0C return TRUE @@ -694,13 +694,13 @@ // Yes, this is kinda snowflaky; however, I would argue it would be far more snowflakey // to include "custom hrefs" and all the other bullshit that nano states have just for the // like, two UIs, that want remote access to other UIs. - if((locked && !issilicon(usr) && !istype(state, /datum/tgui_state/air_alarm_remote)) || (issilicon(usr) && aidisabled)) + if((locked && !issilicon(ui.user) && !istype(state, /datum/tgui_state/air_alarm_remote)) || (issilicon(ui.user) && aidisabled)) return var/device_id = params["id_tag"] switch(action) if("lock") - if(issilicon(usr) && !wires.is_cut(WIRE_IDSCAN)) + if(issilicon(ui.user) && !wires.is_cut(WIRE_IDSCAN)) locked = !locked . = TRUE if( "power", @@ -713,42 +713,42 @@ "panic_siphon", "scrubbing", "direction") - send_signal(device_id, list("[action]" = text2num(params["val"])), usr) + send_signal(device_id, list("[action]" = text2num(params["val"])), ui.user) . = TRUE if("excheck") - send_signal(device_id, list("checks" = text2num(params["val"])^1), usr) + send_signal(device_id, list("checks" = text2num(params["val"])^1), ui.user) . = TRUE if("incheck") - send_signal(device_id, list("checks" = text2num(params["val"])^2), usr) + send_signal(device_id, list("checks" = text2num(params["val"])^2), ui.user) . = TRUE if("set_external_pressure", "set_internal_pressure") var/target = params["value"] if(!isnull(target)) - send_signal(device_id, list("[action]" = target), usr) + send_signal(device_id, list("[action]" = target), ui.user) . = TRUE if("reset_external_pressure") - send_signal(device_id, list("reset_external_pressure"), usr) + send_signal(device_id, list("reset_external_pressure"), ui.user) . = TRUE if("reset_internal_pressure") - send_signal(device_id, list("reset_internal_pressure"), usr) + send_signal(device_id, list("reset_internal_pressure"), ui.user) . = TRUE if("threshold") var/env = params["env"] var/name = params["var"] - var/value = tgui_input_number(usr, "New [name] for [env]:", name, TLV[env][name], min_value=-1, round_value = FALSE) + var/value = tgui_input_number(ui.user, "New [name] for [env]:", name, TLV[env][name], min_value=-1, round_value = FALSE) if(!isnull(value) && !..()) if(value < 0) TLV[env][name] = -1 else TLV[env][name] = round(value, 0.01) clamp_tlv_values(env, name) - // investigate_log(" treshold value for [env]:[name] was set to [value] by [key_name(usr)]",INVESTIGATE_ATMOS) + // investigate_log(" treshold value for [env]:[name] was set to [value] by [key_name(ui.user)]",INVESTIGATE_ATMOS) . = TRUE if("mode") mode = text2num(params["mode"]) - // investigate_log("was turned to [get_mode_name(mode)] mode by [key_name(usr)]",INVESTIGATE_ATMOS) - apply_mode(usr) + // investigate_log("was turned to [get_mode_name(mode)] mode by [key_name(ui.user)]",INVESTIGATE_ATMOS) + apply_mode(ui.user) . = TRUE if("alarm") if(alarm_area.atmosalert(2, src)) @@ -801,32 +801,32 @@ apply_danger_level(0) update_icon() -/obj/machinery/alarm/attackby(obj/item/W as obj, mob/user as mob) +/obj/machinery/alarm/attackby(obj/item/W as obj, mob/user) add_fingerprint(user) if(alarm_deconstruction_screwdriver(user, W)) return if(alarm_deconstruction_wirecutters(user, W)) return - if(istype(W, /obj/item/weapon/card/id) || istype(W, /obj/item/device/pda))// trying to unlock the interface with an ID card - togglelock() + if(istype(W, /obj/item/card/id) || istype(W, /obj/item/pda))// trying to unlock the interface with an ID card + togglelock(user) return ..() -/obj/machinery/alarm/verb/togglelock(mob/user as mob) +/obj/machinery/alarm/proc/togglelock(mob/user) if(stat & (NOPOWER|BROKEN)) to_chat(user, "It does nothing.") return else - if(allowed(usr) && !wires.is_cut(WIRE_IDSCAN)) + if(allowed(user) && !wires.is_cut(WIRE_IDSCAN)) locked = !locked - to_chat(user, "You [locked ? "lock" : "unlock"] the Air Alarm interface.") + to_chat(user, span_notice("You [locked ? "lock" : "unlock"] the Air Alarm interface.")) else - to_chat(user, "Access denied.") + to_chat(user, span_warning("Access denied.")) return -/obj/machinery/alarm/AltClick() +/obj/machinery/alarm/AltClick(mob/user) ..() - togglelock() + togglelock(user) /obj/machinery/alarm/power_change() ..() diff --git a/code/game/machinery/airconditioner_vr.dm b/code/game/machinery/airconditioner_vr.dm index 584dc53c227..f527fef6fb0 100644 --- a/code/game/machinery/airconditioner_vr.dm +++ b/code/game/machinery/airconditioner_vr.dm @@ -14,7 +14,7 @@ active_power_usage = 150 KILOWATTS //BIG POWER idle_power_usage = 500 - circuit = /obj/item/weapon/circuitboard/thermoregulator + circuit = /obj/item/circuitboard/thermoregulator var/on = 0 var/target_temp = T20C @@ -38,7 +38,7 @@ return if(I.has_tool_quality(TOOL_WRENCH)) anchored = !anchored - visible_message("\The [src] has been [anchored ? "bolted to the floor" : "unbolted from the floor"] by [user].") + visible_message(span_notice("\The [src] has been [anchored ? "bolted to the floor" : "unbolted from the floor"] by [user].")) playsound(src, I.usesound, 75, 1) if(anchored) connect_to_network() @@ -46,7 +46,7 @@ disconnect_from_network() turn_off() return - if(istype(I, /obj/item/device/multitool)) + if(istype(I, /obj/item/multitool)) var/new_temp = tgui_input_number(user, "Input a new target temperature, in degrees C.","Target Temperature", convert_k2c(target_temp), min_value=convert_k2c(TCMB), round_value = FALSE) if(!Adjacent(user) || user.incapacitated()) return @@ -63,7 +63,7 @@ if(!anchored) return on = !on - user.visible_message("[user] [on ? "activates" : "deactivates"] \the [src].","You [on ? "activate" : "deactivate"] \the [src].") + user.visible_message(span_notice("[user] [on ? "activates" : "deactivates"] \the [src]."),span_notice("You [on ? "activate" : "deactivate"] \the [src].")) if(!on) change_mode(MODE_IDLE) update_icon() @@ -76,7 +76,7 @@ return if(draw_power(idle_power_usage) < idle_power_usage) - visible_message("\The [src] shuts down.") + visible_message(span_infoplain(span_bold("\The [src]") + " shuts down.")) turn_off() return @@ -153,7 +153,7 @@ var/datum/effect/effect/system/spark_spread/s = new s.set_up(5, 0, T) s.start() - visible_message("\The [src] bursts into flame!") + visible_message(span_warning("\The [src] bursts into flame!")) #undef MODE_IDLE #undef MODE_HEATING diff --git a/code/game/machinery/airconditioner_yw.dm b/code/game/machinery/airconditioner_yw.dm index 1137b9ad0c5..7a5a5805198 100644 --- a/code/game/machinery/airconditioner_yw.dm +++ b/code/game/machinery/airconditioner_yw.dm @@ -33,6 +33,6 @@ disconnect_from_network() turn_off() return - if(istype(I, /obj/item/device/multitool)) + if(istype(I, /obj/item/multitool)) return - ..() \ No newline at end of file + ..() diff --git a/code/game/machinery/atm_ret_field.dm b/code/game/machinery/atm_ret_field.dm index 853550b9d40..96f1500a9fc 100644 --- a/code/game/machinery/atm_ret_field.dm +++ b/code/game/machinery/atm_ret_field.dm @@ -23,7 +23,7 @@ var/wires_intact = TRUE var/list/areas_added var/field_type = /obj/structure/atmospheric_retention_field - circuit = /obj/item/weapon/circuitboard/arf_generator + circuit = /obj/item/circuitboard/arf_generator /obj/machinery/atmospheric_field_generator/impassable desc = "An older model of ARF-G that generates an impassable retention field. Works just as well as the modern variety, but is slightly more energy-efficient.

Note: prolonged immersion in active atmospheric retention fields may have negative long-term health consequences." @@ -40,14 +40,14 @@ active_power_usage = 1500 field_type = /obj/structure/atmospheric_retention_field/impassable -/obj/machinery/atmospheric_field_generator/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/machinery/atmospheric_field_generator/attackby(obj/item/W as obj, mob/user as mob) if(W.has_tool_quality(TOOL_CROWBAR) && isactive) if(!src) return - to_chat(user, "You can't open the ARF-G whilst it's running!") + to_chat(user, span_warning("You can't open the ARF-G whilst it's running!")) return if(W.has_tool_quality(TOOL_CROWBAR) && !isactive) if(!src) return - to_chat(user, "You [hatch_open? "close" : "open"] \the [src]'s access hatch.") + to_chat(user, span_notice("You [hatch_open? "close" : "open"] \the [src]'s access hatch.")) hatch_open = !hatch_open update_icon() if(alwaysactive && wires_intact) @@ -55,28 +55,28 @@ return if(hatch_open && W.has_tool_quality(TOOL_MULTITOOL)) if(!src) return - to_chat(user, "You toggle \the [src]'s activation behavior to [alwaysactive? "emergency" : "always-on"].") + to_chat(user, span_notice("You toggle \the [src]'s activation behavior to [alwaysactive? "emergency" : "always-on"].")) alwaysactive = !alwaysactive update_icon() return if(hatch_open && W.has_tool_quality(TOOL_WIRECUTTER)) if(!src) return - to_chat(user, "You [wires_intact? "cut" : "mend"] \the [src]'s wires!") + to_chat(user, span_warning("You [wires_intact? "cut" : "mend"] \the [src]'s wires!")) wires_intact = !wires_intact update_icon() return if(hatch_open && W.has_tool_quality(TOOL_WELDER)) if(!src) return - var/obj/item/weapon/weldingtool/WT = W.get_welder() + var/obj/item/weldingtool/WT = W.get_welder() if(!WT.isOn()) return if(WT.get_fuel() < 5) // uses up 5 fuel. - to_chat(user, "You need more fuel to complete this task.") + to_chat(user, span_warning("You need more fuel to complete this task.")) return user.visible_message("[user] starts to disassemble \the [src].", "You start to disassemble \the [src].") playsound(src, WT.usesound, 50, 1) if(do_after(user,15 * W.toolspeed)) if(!src || !user || !WT.remove_fuel(5, user)) return - to_chat(user, "You fully disassemble \the [src]. There were no salvageable parts.") + to_chat(user, span_notice("You fully disassemble \the [src]. There were no salvageable parts.")) qdel(src) return @@ -141,7 +141,7 @@ isactive = TRUE icon_state = "arfg_on" new field_type (src.loc) - src.visible_message("The ARF-G crackles to life!","You hear an ARF-G coming online!") + src.visible_message(span_warning("The ARF-G crackles to life!"),span_warning("You hear an ARF-G coming online!")) update_use_power(USE_POWER_ACTIVE) return diff --git a/code/game/machinery/atmo_control.dm b/code/game/machinery/atmo_control.dm index ca824fc22ae..ea2cc88009f 100644 --- a/code/game/machinery/atmo_control.dm +++ b/code/game/machinery/atmo_control.dm @@ -83,7 +83,7 @@ var/list/sensors = list() var/list/sensor_information = list() var/datum/radio_frequency/radio_connection - circuit = /obj/item/weapon/circuitboard/air_management + circuit = /obj/item/circuitboard/air_management /obj/machinery/computer/general_air_control/Destroy() if(radio_controller) @@ -144,7 +144,7 @@ var/list/output_info var/input_flow_setting = 200 var/pressure_setting = ONE_ATMOSPHERE * 45 - circuit = /obj/item/weapon/circuitboard/air_management/tank_control + circuit = /obj/item/circuitboard/air_management/tank_control /obj/machinery/computer/general_air_control/large_tank_control/tgui_data(mob/user) var/list/data = ..() @@ -243,7 +243,7 @@ var/list/output_info var/input_flow_setting = 700 var/pressure_setting = 100 - circuit = /obj/item/weapon/circuitboard/air_management/supermatter_core + circuit = /obj/item/circuitboard/air_management/supermatter_core /obj/machinery/computer/general_air_control/supermatter_core/tgui_data(mob/user) var/list/data = ..() @@ -343,7 +343,7 @@ var/automation = 0 var/cutoff_temperature = 2000 var/on_temperature = 1200 - circuit = /obj/item/weapon/circuitboard/air_management/injector_control + circuit = /obj/item/circuitboard/air_management/injector_control /obj/machinery/computer/general_air_control/fuel_injection/process() if(automation) diff --git a/code/game/machinery/atmoalter/area_atmos_computer.dm b/code/game/machinery/atmoalter/area_atmos_computer.dm index c50080feb9f..1c538eaf01c 100644 --- a/code/game/machinery/atmoalter/area_atmos_computer.dm +++ b/code/game/machinery/atmoalter/area_atmos_computer.dm @@ -4,7 +4,7 @@ icon_keyboard = "atmos_key" icon_screen = "area_atmos" light_color = "#e6ffff" - circuit = /obj/item/weapon/circuitboard/area_atmos + circuit = /obj/item/circuitboard/area_atmos var/list/connectedscrubbers = list() var/status = "" @@ -51,7 +51,7 @@ return list("scrubbers" = working) -/obj/machinery/computer/area_atmos/tgui_act(action, params) +/obj/machinery/computer/area_atmos/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE @@ -75,7 +75,7 @@ scanscrubbers() . = TRUE - add_fingerprint(usr) + add_fingerprint(ui.user) /obj/machinery/computer/area_atmos/proc/toggle_all(on) for(var/id in connectedscrubbers) diff --git a/code/game/machinery/atmoalter/canister.dm b/code/game/machinery/atmoalter/canister.dm index 3fb8adccfd4..c3a323a896c 100644 --- a/code/game/machinery/atmoalter/canister.dm +++ b/code/game/machinery/atmoalter/canister.dm @@ -238,30 +238,30 @@ update_flag healthcheck() ..() -/obj/machinery/portable_atmospherics/canister/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) +/obj/machinery/portable_atmospherics/canister/attackby(var/obj/item/W as obj, var/mob/user as mob) if(W.has_tool_quality(TOOL_WELDER)) //Vorestart: Deconstructable Canisters - var/obj/item/weapon/weldingtool/WT = W.get_welder() + var/obj/item/weldingtool/WT = W.get_welder() if(!WT.remove_fuel(0, user)) to_chat(user, "The welding tool must be on to complete this task.") return if(air_contents.return_pressure() > 1 && !destroyed) // Empty or broken cans are able to be deconstructed - to_chat(user, "\The [src]'s internal pressure is too high! Empty the canister before attempting to weld it apart.") + to_chat(user, span_warning("\The [src]'s internal pressure is too high! Empty the canister before attempting to weld it apart.")) return playsound(src, WT.usesound, 50, 1) if(do_after(user, 20 * WT.toolspeed)) if(!src || !WT.isOn()) return - to_chat(user, "You deconstruct the [src].") + to_chat(user, span_notice("You deconstruct the [src].")) new /obj/item/stack/material/steel( src.loc, 10) qdel(src) return //Voreend - if(!W.has_tool_quality(TOOL_WRENCH) && !istype(W, /obj/item/weapon/tank) && !istype(W, /obj/item/device/analyzer) && !istype(W, /obj/item/device/pda)) - visible_message("\The [user] hits \the [src] with \a [W]!") + if(!W.has_tool_quality(TOOL_WRENCH) && !istype(W, /obj/item/tank) && !istype(W, /obj/item/analyzer) && !istype(W, /obj/item/pda)) + visible_message(span_warning("\The [user] hits \the [src] with \a [W]!")) src.health -= W.force src.add_fingerprint(user) healthcheck() - if(istype(user, /mob/living/silicon/robot) && istype(W, /obj/item/weapon/tank/jetpack)) + if(istype(user, /mob/living/silicon/robot) && istype(W, /obj/item/tank/jetpack)) var/datum/gas_mixture/thejetpack = W:air_contents var/env_pressure = thejetpack.return_pressure() var/pressure_delta = min(10*ONE_ATMOSPHERE - env_pressure, (air_contents.return_pressure() - env_pressure)/2) @@ -315,7 +315,7 @@ update_flag return data -/obj/machinery/portable_atmospherics/canister/tgui_act(action, params) +/obj/machinery/portable_atmospherics/canister/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE @@ -331,7 +331,7 @@ update_flag "\[Air\]" = "grey", \ "\[CAUTION\]" = "yellow", \ ) - var/label = tgui_input_list(usr, "Choose canister label", "Gas canister", colors) + var/label = tgui_input_list(ui.user, "Choose canister label", "Gas canister", colors) if(label) canister_color = colors[label] icon_state = colors[label] @@ -348,7 +348,7 @@ update_flag pressure = 10*ONE_ATMOSPHERE . = TRUE else if(pressure == "input") - pressure = tgui_input_number(usr, "New release pressure ([ONE_ATMOSPHERE/10]-[10*ONE_ATMOSPHERE] kPa):", name, release_pressure, 10*ONE_ATMOSPHERE, ONE_ATMOSPHERE/10) + pressure = tgui_input_number(ui.user, "New release pressure ([ONE_ATMOSPHERE/10]-[10*ONE_ATMOSPHERE] kPa):", name, release_pressure, 10*ONE_ATMOSPHERE, ONE_ATMOSPHERE/10) if(!isnull(pressure) && !..()) . = TRUE else if(text2num(pressure) != null) @@ -359,14 +359,14 @@ update_flag if("valve") if(valve_open) if(holding) - release_log += "Valve was closed by [usr] ([usr.ckey]), stopping the transfer into the [holding]
" + release_log += "Valve was " + span_bold("closed") + " by [ui.user] ([ui.user.ckey]), stopping the transfer into the [holding]
" else - release_log += "Valve was closed by [usr] ([usr.ckey]), stopping the transfer into the air
" + release_log += "Valve was " + span_bold("closed") + " by [ui.user] ([ui.user.ckey]), stopping the transfer into the " + span_red(span_bold("air")) + "
" else if(holding) - release_log += "Valve was opened by [usr] ([usr.ckey]), starting the transfer into the [holding]
" + release_log += "Valve was " + span_bold("opened") + " by [ui.user] ([ui.user.ckey]), starting the transfer into the [holding]
" else - release_log += "Valve was opened by [usr] ([usr.ckey]), starting the transfer into the air
" + release_log += "Valve was " + span_bold("opened") + " by [ui.user] ([ui.user.ckey]), starting the transfer into the " + span_red(span_bold("air")) + "
" log_open() valve_open = !valve_open . = TRUE @@ -374,14 +374,14 @@ update_flag if(holding) if(valve_open) valve_open = 0 - release_log += "Valve was closed by [usr] ([usr.ckey]), stopping the transfer into the [holding]
" - if(istype(holding, /obj/item/weapon/tank)) - holding.manipulated_by = usr.real_name + release_log += "Valve was " + span_bold("closed") + " by [ui.user] ([ui.user.ckey]), stopping the transfer into the [holding]
" + if(istype(holding, /obj/item/tank)) + holding.manipulated_by = ui.user.real_name holding.loc = loc holding = null . = TRUE - add_fingerprint(usr) + add_fingerprint(ui.user) update_icon() /obj/machinery/portable_atmospherics/canister/phoron/New() diff --git a/code/game/machinery/atmoalter/clamp.dm b/code/game/machinery/atmoalter/clamp.dm index a77999a6614..ba01be85381 100644 --- a/code/game/machinery/atmoalter/clamp.dm +++ b/code/game/machinery/atmoalter/clamp.dm @@ -45,7 +45,7 @@ open() else close() - to_chat(user, "You turn [open ? "off" : "on"] \the [src]") + to_chat(user, span_notice("You turn [open ? "off" : "on"] \the [src]")) return TRUE /obj/machinery/clamp/Destroy() @@ -118,9 +118,9 @@ return if(open && over_object == usr && Adjacent(usr)) - to_chat(usr, "You begin to remove \the [src]...") + to_chat(usr, span_notice("You begin to remove \the [src]...")) if (do_after(usr, 30, src)) - to_chat(usr, "You have removed \the [src].") + to_chat(usr, span_notice("You have removed \the [src].")) var/obj/item/clamp/C = new/obj/item/clamp(src.loc) C.forceMove(usr.loc) if(ishuman(usr)) @@ -128,7 +128,7 @@ qdel(src) return else - to_chat(usr, "You can't remove \the [src] while it's active!") + to_chat(usr, span_warning("You can't remove \the [src] while it's active!")) /obj/item/clamp name = "stasis clamp" @@ -142,13 +142,13 @@ return if (istype(A, /obj/machinery/atmospherics/pipe/simple)) - to_chat(user, "You begin to attach \the [src] to \the [A]...") + to_chat(user, span_notice("You begin to attach \the [src] to \the [A]...")) var/C = locate(/obj/machinery/clamp) in get_turf(A) if (do_after(user, 30, src) && !C) if(!user.unEquip(src)) return - to_chat(user, "You have attached \the [src] to \the [A].") + to_chat(user, span_notice("You have attached \the [src] to \the [A].")) new/obj/machinery/clamp(A.loc, A) qdel(src) if(C) - to_chat(user, "\The [C] is already attached to the pipe at this location!") + to_chat(user, span_notice("\The [C] is already attached to the pipe at this location!")) diff --git a/code/game/machinery/atmoalter/meter.dm b/code/game/machinery/atmoalter/meter.dm index 93988186584..7dfea2a5929 100644 --- a/code/game/machinery/atmoalter/meter.dm +++ b/code/game/machinery/atmoalter/meter.dm @@ -80,10 +80,10 @@ . = ..() if(get_dist(user, src) > 3 && !(istype(user, /mob/living/silicon/ai) || istype(user, /mob/observer/dead))) - . += "You are too far away to read it." + . += span_warning("You are too far away to read it.") else if(stat & (NOPOWER|BROKEN)) - . += "The display is off." + . += span_warning("The display is off.") else if(target) var/datum/gas_mixture/environment = target.return_air() @@ -107,17 +107,17 @@ /obj/machinery/meter/attackby(var/obj/item/W, var/mob/user) if(W.has_tool_quality(TOOL_WRENCH)) playsound(src, W.usesound, 50, 1) - to_chat(user, "You begin to unfasten \the [src]...") + to_chat(user, span_notice("You begin to unfasten \the [src]...")) if(do_after(user, 40 * W.toolspeed)) user.visible_message( \ - "\The [user] unfastens \the [src].", \ - "You have unfastened \the [src].", \ + span_infoplain(span_bold("\The [user]") + " unfastens \the [src]."), \ + span_notice("You have unfastened \the [src]."), \ "You hear ratchet.") new /obj/item/pipe_meter(get_turf(src)) qdel(src) return - if(istype(W, /obj/item/device/multitool)) + if(istype(W, /obj/item/multitool)) for(var/obj/machinery/atmospherics/pipe/P in loc) pipes_on_turf |= P if(!pipes_on_turf.len) @@ -125,7 +125,7 @@ target = pipes_on_turf[1] pipes_on_turf.Remove(target) pipes_on_turf.Add(target) - to_chat(user, "Pipe meter set to moniter \the [target].") + to_chat(user, span_notice("Pipe meter set to moniter \the [target].")) return return ..() @@ -135,5 +135,5 @@ /obj/machinery/meter/turf/select_target() return loc -/obj/machinery/meter/turf/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) +/obj/machinery/meter/turf/attackby(var/obj/item/W as obj, var/mob/user as mob) return diff --git a/code/game/machinery/atmoalter/portable_atmospherics.dm b/code/game/machinery/atmoalter/portable_atmospherics.dm index c3fe8eaccfc..cc17f16d1f1 100644 --- a/code/game/machinery/atmoalter/portable_atmospherics.dm +++ b/code/game/machinery/atmoalter/portable_atmospherics.dm @@ -5,7 +5,7 @@ var/datum/gas_mixture/air_contents = new var/obj/machinery/atmospherics/portables_connector/connected_port - var/obj/item/weapon/tank/holding + var/obj/item/tank/holding var/volume = 0 var/destroyed = 0 @@ -106,11 +106,11 @@ if (network) network.update = 1 -/obj/machinery/portable_atmospherics/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) - if ((istype(W, /obj/item/weapon/tank) && !( src.destroyed ))) +/obj/machinery/portable_atmospherics/attackby(var/obj/item/W as obj, var/mob/user as mob) + if ((istype(W, /obj/item/tank) && !( src.destroyed ))) if (src.holding) return - var/obj/item/weapon/tank/T = W + var/obj/item/tank/T = W user.drop_item() T.loc = src src.holding = T @@ -120,7 +120,7 @@ else if (W.has_tool_quality(TOOL_WRENCH)) if(connected_port) disconnect() - to_chat(user, "You disconnect \the [src] from the port.") + to_chat(user, span_notice("You disconnect \the [src] from the port.")) update_icon() playsound(src, W.usesound, 50, 1) return @@ -128,15 +128,15 @@ var/obj/machinery/atmospherics/portables_connector/possible_port = locate(/obj/machinery/atmospherics/portables_connector/) in loc if(possible_port) if(connect(possible_port)) - to_chat(user, "You connect \the [src] to the port.") + to_chat(user, span_notice("You connect \the [src] to the port.")) update_icon() playsound(src, W.usesound, 50, 1) return else - to_chat(user, "\The [src] failed to connect to the port.") + to_chat(user, span_notice("\The [src] failed to connect to the port.")) return else - to_chat(user, "Nothing happens.") + to_chat(user, span_notice("Nothing happens.")) return return @@ -146,7 +146,7 @@ var/power_rating var/power_losses var/last_power_draw = 0 - var/obj/item/weapon/cell/cell + var/obj/item/cell/cell var/use_cell = TRUE var/removeable_cell = TRUE @@ -158,27 +158,27 @@ return 0 /obj/machinery/portable_atmospherics/powered/attackby(obj/item/I, mob/user) - if(use_cell && istype(I, /obj/item/weapon/cell)) + if(use_cell && istype(I, /obj/item/cell)) if(cell) to_chat(user, "There is already a power cell installed.") return - var/obj/item/weapon/cell/C = I + var/obj/item/cell/C = I user.drop_item() C.add_fingerprint(user) cell = C C.loc = src - user.visible_message("[user] opens the panel on [src] and inserts [C].", "You open the panel on [src] and insert [C].") + user.visible_message(span_notice("[user] opens the panel on [src] and inserts [C]."), span_notice("You open the panel on [src] and insert [C].")) power_change() return if(I.has_tool_quality(TOOL_SCREWDRIVER) && removeable_cell) if(!cell) - to_chat(user, "There is no power cell installed.") + to_chat(user, span_warning("There is no power cell installed.")) return - user.visible_message("[user] opens the panel on [src] and removes [cell].", "You open the panel on [src] and remove [cell].") + user.visible_message(span_notice("[user] opens the panel on [src] and removes [cell]."), span_notice("You open the panel on [src] and remove [cell].")) playsound(src, I.usesound, 50, 1) cell.add_fingerprint(user) cell.loc = src.loc diff --git a/code/game/machinery/atmoalter/pump.dm b/code/game/machinery/atmoalter/pump.dm index 0f0d2b3fe81..1b9ede42475 100644 --- a/code/game/machinery/atmoalter/pump.dm +++ b/code/game/machinery/atmoalter/pump.dm @@ -23,7 +23,7 @@ /obj/machinery/portable_atmospherics/powered/pump/New() ..() - cell = new/obj/item/weapon/cell/apc(src) + cell = new/obj/item/cell/apc(src) var/list/air_mix = StandardAirMix() src.air_contents.adjust_multi("oxygen", air_mix["oxygen"], "nitrogen", air_mix["nitrogen"]) diff --git a/code/game/machinery/atmoalter/pump_vr.dm b/code/game/machinery/atmoalter/pump_vr.dm index fb4acbe9f63..5ebf3dc65fe 100644 --- a/code/game/machinery/atmoalter/pump_vr.dm +++ b/code/game/machinery/atmoalter/pump_vr.dm @@ -23,7 +23,7 @@ name = "[name] (ID [id])" /obj/machinery/portable_atmospherics/powered/pump/huge/attack_hand(var/mob/user) - to_chat(user, "You can't directly interact with this machine. Use the pump control console.") + to_chat(user, span_notice("You can't directly interact with this machine. Use the pump control console.")) /obj/machinery/portable_atmospherics/powered/pump/huge/update_icon() cut_overlays() @@ -85,23 +85,23 @@ /obj/machinery/portable_atmospherics/powered/pump/huge/attackby(var/obj/item/I, var/mob/user) if(I.has_tool_quality(TOOL_WRENCH)) if(on) - to_chat(user, "Turn \the [src] off first!") + to_chat(user, span_warning("Turn \the [src] off first!")) return anchored = !anchored playsound(src, I.usesound, 50, 1) - to_chat(user, "You [anchored ? "wrench" : "unwrench"] \the [src].") + to_chat(user, span_notice("You [anchored ? "wrench" : "unwrench"] \the [src].")) return //doesn't use power cells - if(istype(I, /obj/item/weapon/cell)) + if(istype(I, /obj/item/cell)) return if (I.has_tool_quality(TOOL_SCREWDRIVER)) return //doesn't hold tanks - if(istype(I, /obj/item/weapon/tank)) + if(istype(I, /obj/item/tank)) return ..() @@ -112,7 +112,7 @@ /obj/machinery/portable_atmospherics/powered/pump/huge/stationary/attackby(var/obj/item/I, var/mob/user) if(I.has_tool_quality(TOOL_WRENCH)) - to_chat(user, "The bolts are too tight for you to unscrew!") + to_chat(user, span_warning("The bolts are too tight for you to unscrew!")) return ..() @@ -126,4 +126,4 @@ ..() if(!(stat & (NOPOWER|BROKEN))) on = 1 - update_icon() \ No newline at end of file + update_icon() diff --git a/code/game/machinery/atmoalter/scrubber.dm b/code/game/machinery/atmoalter/scrubber.dm index 7b2d60e7b5f..0ca93db9b61 100644 --- a/code/game/machinery/atmoalter/scrubber.dm +++ b/code/game/machinery/atmoalter/scrubber.dm @@ -22,7 +22,7 @@ /obj/machinery/portable_atmospherics/powered/scrubber/New() ..() - cell = new/obj/item/weapon/cell/apc(src) + cell = new/obj/item/cell/apc(src) /obj/machinery/portable_atmospherics/powered/scrubber/emp_act(severity) if(stat & (BROKEN|NOPOWER)) @@ -174,7 +174,7 @@ name = "[name] (ID [id])" /obj/machinery/portable_atmospherics/powered/scrubber/huge/attack_hand(var/mob/user as mob) - to_chat(user, "You can't directly interact with this machine. Use the scrubber control console.") + to_chat(user, span_notice("You can't directly interact with this machine. Use the scrubber control console.")) /obj/machinery/portable_atmospherics/powered/scrubber/huge/update_icon() src.overlays = 0 @@ -220,23 +220,23 @@ /obj/machinery/portable_atmospherics/powered/scrubber/huge/attackby(var/obj/item/I as obj, var/mob/user as mob) if(I.has_tool_quality(TOOL_WRENCH)) if(on) - to_chat(user, "Turn \the [src] off first!") + to_chat(user, span_warning("Turn \the [src] off first!")) return anchored = !anchored playsound(src, I.usesound, 50, 1) - to_chat(user, "You [anchored ? "wrench" : "unwrench"] \the [src].") + to_chat(user, span_notice("You [anchored ? "wrench" : "unwrench"] \the [src].")) return //doesn't use power cells - if(istype(I, /obj/item/weapon/cell)) + if(istype(I, /obj/item/cell)) return if(I.has_tool_quality(TOOL_SCREWDRIVER)) return //doesn't hold tanks - if(istype(I, /obj/item/weapon/tank)) + if(istype(I, /obj/item/tank)) return ..() @@ -251,7 +251,7 @@ /obj/machinery/portable_atmospherics/powered/scrubber/huge/stationary/attackby(var/obj/item/I as obj, var/mob/user as mob) if(I.has_tool_quality(TOOL_WRENCH)) - to_chat(user, "The bolts are too tight for you to unscrew!") + to_chat(user, span_warning("The bolts are too tight for you to unscrew!")) return ..() diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index 7b1981eeb26..d3fe70722d6 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -10,7 +10,7 @@ clicksound = "keyboard" clickvol = 30 - circuit = /obj/item/weapon/circuitboard/autolathe + circuit = /obj/item/circuitboard/autolathe var/static/datum/category_collection/autolathe/autolathe_recipes @@ -93,7 +93,7 @@ var/list/data = ..() data["busy"] = busy var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - data["materials"] = materials.tgui_data() + data["materials"] = materials.tgui_data(user, TRUE) data["mat_efficiency"] = mat_efficiency return data @@ -102,7 +102,7 @@ return wires.Interact(user) if(disabled) - to_chat(user, "\The [src] is disabled!") + to_chat(user, span_danger("\The [src] is disabled!")) return if(shocked) @@ -112,7 +112,7 @@ /obj/machinery/autolathe/attackby(var/obj/item/O as obj, var/mob/user as mob) if(busy) - to_chat(user, "\The [src] is busy. Please wait for completion of previous operation.") + to_chat(user, span_notice("\The [src] is busy. Please wait for completion of previous operation.")) return if(default_deconstruction_screwdriver(user, O)) @@ -149,11 +149,11 @@ if(..()) return TRUE - usr.set_machine(src) - add_fingerprint(usr) + ui.user.set_machine(src) + add_fingerprint(ui.user) if(busy) - to_chat(usr, "The autolathe is busy. Please wait for completion of previous operation.") + to_chat(ui.user, span_notice("The autolathe is busy. Please wait for completion of previous operation.")) return switch(action) if("make") @@ -179,8 +179,8 @@ if(!isnull(materials.get_material_amount(material)) && materials.get_material_amount(material) < round(making.resources[material] * coeff)) max_sheets = 0 //Build list of multipliers for sheets. - multiplier = tgui_input_number(usr, "How many do you want to print? (0-[max_sheets])", null, null, max_sheets, 0) - if(!multiplier || multiplier <= 0 || (multiplier != round(multiplier)) || multiplier > max_sheets || tgui_status(usr, state) != STATUS_INTERACTIVE) + multiplier = tgui_input_number(ui.user, "How many do you want to print? (0-[max_sheets])", null, null, max_sheets, 0) + if(!multiplier || multiplier <= 0 || (multiplier != round(multiplier)) || multiplier > max_sheets || tgui_status(ui.user, state) != STATUS_INTERACTIVE) return FALSE //Check if we still have the materials. @@ -259,9 +259,9 @@ ..() mb_rating = 0 man_rating = 0 - for(var/obj/item/weapon/stock_parts/matter_bin/MB in component_parts) + for(var/obj/item/stock_parts/matter_bin/MB in component_parts) mb_rating += MB.rating - for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts) + for(var/obj/item/stock_parts/manipulator/M in component_parts) man_rating += M.rating var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) @@ -285,7 +285,7 @@ . = ..() var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) if(in_range(user, src) || isobserver(user)) - . += "The status display reads: Storing up to [materials.max_amount] material units.
Material consumption at [mat_efficiency*100]%.
" + . += span_notice("The status display reads: Storing up to [materials.max_amount] material units.
Material consumption at [mat_efficiency*100]%.") //YWAdd start. /* commented out until i can be assed to actually fix the code @@ -368,4 +368,4 @@ input_dir = WEST to_chat(src, "You set the material input to [input_dir_name]") */ -//YWAdd END. \ No newline at end of file +//YWAdd END. diff --git a/code/game/machinery/biogenerator.dm b/code/game/machinery/biogenerator.dm index 215b2051faf..b3b41376ff6 100644 --- a/code/game/machinery/biogenerator.dm +++ b/code/game/machinery/biogenerator.dm @@ -19,11 +19,11 @@ icon_state = "biogen-stand" density = TRUE anchored = TRUE - circuit = /obj/item/weapon/circuitboard/biogenerator + circuit = /obj/item/circuitboard/biogenerator use_power = USE_POWER_IDLE idle_power_usage = 40 var/processing = 0 - var/obj/item/weapon/reagent_containers/glass/beaker = null + var/obj/item/reagent_containers/glass/beaker = null var/points = 0 var/build_eff = 1 var/eat_eff = 1 @@ -59,7 +59,7 @@ reagents = R R.my_atom = src - beaker = new /obj/item/weapon/reagent_containers/glass/bottle(src) + beaker = new /obj/item/reagent_containers/glass/bottle(src) default_apply_parts() item_list = list() @@ -68,32 +68,32 @@ BIOGEN_REAGENT("Milk x50", "milk", 50, 95), BIOGEN_REAGENT("Cream x10", "cream", 10, 30), BIOGEN_REAGENT("Cream x50", "cream", 50, 120), - BIOGEN_ITEM("Slab of meat", /obj/item/weapon/reagent_containers/food/snacks/meat, 1, 50), - BIOGEN_ITEM("Slabs of meat x5", /obj/item/weapon/reagent_containers/food/snacks/meat, 5, 250), + BIOGEN_ITEM("Slab of meat", /obj/item/reagent_containers/food/snacks/meat, 1, 50), + BIOGEN_ITEM("Slabs of meat x5", /obj/item/reagent_containers/food/snacks/meat, 5, 250), ) item_list["Cooking Ingredients"] = list( BIOGEN_REAGENT("Universal Enzyme x10", "enzyme", 10, 30), BIOGEN_REAGENT("Universal Enzyme x50", "enzyme", 50, 120), - BIOGEN_ITEM("Nutri-spread", /obj/item/weapon/reagent_containers/food/snacks/spreads, 1, 30), - BIOGEN_ITEM("Nutri-spread x5", /obj/item/weapon/reagent_containers/food/snacks/spreads, 5, 120), + BIOGEN_ITEM("Nutri-spread", /obj/item/reagent_containers/food/snacks/spreads, 1, 30), + BIOGEN_ITEM("Nutri-spread x5", /obj/item/reagent_containers/food/snacks/spreads, 5, 120), ) item_list["Gardening Nutrients"] = list( - BIOGEN_ITEM("E-Z-Nutrient", /obj/item/weapon/reagent_containers/glass/bottle/eznutrient, 1, 60), - BIOGEN_ITEM("E-Z-Nutrient x5", /obj/item/weapon/reagent_containers/glass/bottle/eznutrient, 5, 300), - BIOGEN_ITEM("Left 4 Zed", /obj/item/weapon/reagent_containers/glass/bottle/left4zed, 1, 120), - BIOGEN_ITEM("Left 4 Zed x5", /obj/item/weapon/reagent_containers/glass/bottle/left4zed, 5, 600), - BIOGEN_ITEM("Robust Harvest", /obj/item/weapon/reagent_containers/glass/bottle/robustharvest, 1, 150), - BIOGEN_ITEM("Robust Harvest x5", /obj/item/weapon/reagent_containers/glass/bottle/robustharvest, 5, 750), + BIOGEN_ITEM("E-Z-Nutrient", /obj/item/reagent_containers/glass/bottle/eznutrient, 1, 60), + BIOGEN_ITEM("E-Z-Nutrient x5", /obj/item/reagent_containers/glass/bottle/eznutrient, 5, 300), + BIOGEN_ITEM("Left 4 Zed", /obj/item/reagent_containers/glass/bottle/left4zed, 1, 120), + BIOGEN_ITEM("Left 4 Zed x5", /obj/item/reagent_containers/glass/bottle/left4zed, 5, 600), + BIOGEN_ITEM("Robust Harvest", /obj/item/reagent_containers/glass/bottle/robustharvest, 1, 150), + BIOGEN_ITEM("Robust Harvest x5", /obj/item/reagent_containers/glass/bottle/robustharvest, 5, 750), ) item_list["Leather Products"] = list( - BIOGEN_ITEM("Wallet", /obj/item/weapon/storage/wallet, 1, 100), + BIOGEN_ITEM("Wallet", /obj/item/storage/wallet, 1, 100), BIOGEN_ITEM("Botanical gloves", /obj/item/clothing/gloves/botanic_leather, 1, 250), - BIOGEN_ITEM("Plant bag", /obj/item/weapon/storage/bag/plants, 1, 320), - BIOGEN_ITEM("Large plant bag", /obj/item/weapon/storage/bag/plants/large, 1, 640), - BIOGEN_ITEM("Utility belt", /obj/item/weapon/storage/belt/utility, 1, 300), - BIOGEN_ITEM("Leather Satchel", /obj/item/weapon/storage/backpack/satchel, 1, 400), - BIOGEN_ITEM("Cash Bag", /obj/item/weapon/storage/bag/cash, 1, 400), - BIOGEN_ITEM("Chemistry Bag", /obj/item/weapon/storage/bag/chemistry, 1, 400), + BIOGEN_ITEM("Plant bag", /obj/item/storage/bag/plants, 1, 320), + BIOGEN_ITEM("Large plant bag", /obj/item/storage/bag/plants/large, 1, 640), + BIOGEN_ITEM("Utility belt", /obj/item/storage/belt/utility, 1, 300), + BIOGEN_ITEM("Leather Satchel", /obj/item/storage/backpack/satchel, 1, 400), + BIOGEN_ITEM("Cash Bag", /obj/item/storage/bag/cash, 1, 400), + BIOGEN_ITEM("Chemistry Bag", /obj/item/storage/bag/chemistry, 1, 400), BIOGEN_ITEM("Workboots", /obj/item/clothing/shoes/boots/workboots, 1, 400), BIOGEN_ITEM("Leather Chaps", /obj/item/clothing/under/pants/chaps, 1, 400), BIOGEN_ITEM("Leather Coat", /obj/item/clothing/suit/leathercoat, 1, 500), @@ -135,14 +135,14 @@ ui = new(user, src, "Biogenerator", name) ui.open() -/obj/machinery/biogenerator/tgui_act(action, params) +/obj/machinery/biogenerator/tgui_act(action, params, datum/tgui/ui) if(..()) return . = TRUE switch(action) if("activate") - INVOKE_ASYNC(src, PROC_REF(activate)) + INVOKE_ASYNC(src, PROC_REF(activate), ui.user) return TRUE if("detach") if(beaker) @@ -166,11 +166,11 @@ return var/cost = round(br.cost / build_eff) if(cost > points) - to_chat(usr, "Insufficient biomass.") + to_chat(ui.user, span_danger("Insufficient biomass.")) return var/amt_to_actually_dispense = round(min(beaker.reagents.get_free_space(), br.reagent_amt)) if(amt_to_actually_dispense <= 0) - to_chat(usr, "The loaded beaker is full!") + to_chat(ui.user, span_danger("The loaded beaker is full!")) return points -= (cost * (amt_to_actually_dispense / br.reagent_amt)) beaker.reagents.add_reagent(br.reagent_id, amt_to_actually_dispense) @@ -179,7 +179,7 @@ var/cost = round(bi.cost / build_eff) if(cost > points) - to_chat(usr, "Insufficient biomass.") + to_chat(ui.user, span_danger("Insufficient biomass.")) return points -= cost @@ -216,45 +216,45 @@ return if(default_unfasten_wrench(user, O, 40)) return - if(istype(O, /obj/item/weapon/reagent_containers/glass)) + if(istype(O, /obj/item/reagent_containers/glass)) if(beaker) - to_chat(user, "\The [src] is already loaded.") + to_chat(user, span_notice("\The [src] is already loaded.")) else user.remove_from_mob(O) O.loc = src beaker = O updateUsrDialog() else if(processing) - to_chat(user, "\The [src] is currently processing.") - else if(istype(O, /obj/item/weapon/storage/bag/plants)) + to_chat(user, span_notice("\The [src] is currently processing.")) + else if(istype(O, /obj/item/storage/bag/plants)) var/i = 0 - for(var/obj/item/weapon/reagent_containers/food/snacks/grown/G in contents) + for(var/obj/item/reagent_containers/food/snacks/grown/G in contents) i++ if(i >= 10) - to_chat(user, "\The [src] is already full! Activate it.") + to_chat(user, span_notice("\The [src] is already full! Activate it.")) else - for(var/obj/item/weapon/reagent_containers/food/snacks/grown/G in O.contents) + for(var/obj/item/reagent_containers/food/snacks/grown/G in O.contents) G.loc = src i++ if(i >= 10) - to_chat(user, "You fill \the [src] to its capacity.") + to_chat(user, span_notice("You fill \the [src] to its capacity.")) break if(i < 10) - to_chat(user, "You empty \the [O] into \the [src].") + to_chat(user, span_notice("You empty \the [O] into \the [src].")) - else if(!istype(O, /obj/item/weapon/reagent_containers/food/snacks/grown)) - to_chat(user, "You cannot put this in \the [src].") + else if(!istype(O, /obj/item/reagent_containers/food/snacks/grown)) + to_chat(user, span_notice("You cannot put this in \the [src].")) else var/i = 0 - for(var/obj/item/weapon/reagent_containers/food/snacks/grown/G in contents) + for(var/obj/item/reagent_containers/food/snacks/grown/G in contents) i++ if(i >= 10) - to_chat(user, "\The [src] is full! Activate it.") + to_chat(user, span_notice("\The [src] is full! Activate it.")) else user.remove_from_mob(O) O.loc = src - to_chat(user, "You put \the [O] in \the [src]") + to_chat(user, span_notice("You put \the [O] in \the [src]")) update_icon() return @@ -263,16 +263,16 @@ return tgui_interact(user) -/obj/machinery/biogenerator/proc/activate() - if(usr.stat) +/obj/machinery/biogenerator/proc/activate(mob/user) + if(user.stat) return if(stat) //NOPOWER etc return if(processing) - to_chat(usr, "The biogenerator is in the process of working.") + to_chat(user, span_notice("The biogenerator is in the process of working.")) return var/S = 0 - for(var/obj/item/weapon/reagent_containers/food/snacks/grown/I in contents) + for(var/obj/item/reagent_containers/food/snacks/grown/I in contents) S += 5 if(I.reagents.get_reagent_amount("nutriment") < 0.1) points += 1 @@ -289,7 +289,7 @@ playsound(src, 'sound/machines/biogenerator_end.ogg', 40, 1) update_icon() else - to_chat(usr, "Error: No growns inside. Please insert growns.") + to_chat(user, span_warning("Error: No growns inside. Please insert growns.")) return /obj/machinery/biogenerator/RefreshParts() @@ -297,10 +297,10 @@ var/man_rating = 0 var/bin_rating = 0 - for(var/obj/item/weapon/stock_parts/P in component_parts) - if(istype(P, /obj/item/weapon/stock_parts/matter_bin)) + for(var/obj/item/stock_parts/P in component_parts) + if(istype(P, /obj/item/stock_parts/matter_bin)) bin_rating += P.rating - if(istype(P, /obj/item/weapon/stock_parts/manipulator)) + if(istype(P, /obj/item/stock_parts/manipulator)) man_rating += P.rating build_eff = man_rating diff --git a/code/game/machinery/bioprinter.dm b/code/game/machinery/bioprinter.dm index 4c684abb999..cc3e3fc7556 100644 --- a/code/game/machinery/bioprinter.dm +++ b/code/game/machinery/bioprinter.dm @@ -13,7 +13,7 @@ idle_power_usage = 40 active_power_usage = 300 - var/obj/item/weapon/reagent_containers/container = null // This is the beaker that holds all of the biomass + var/obj/item/reagent_containers/container = null // This is the beaker that holds all of the biomass var/print_delay = 100 var/base_print_delay = 100 // For Adminbus reasons @@ -86,15 +86,15 @@ . = ..() var/biomass = get_biomass_volume() if(biomass) - . += "It is loaded with [biomass] units of biomass." + . += span_notice("It is loaded with [biomass] units of biomass.") else - . += "It is not loaded with any biomass." + . += span_notice("It is not loaded with any biomass.") /obj/machinery/organ_printer/RefreshParts() // Print Delay updating print_delay = base_print_delay var/manip_rating = 0 - for(var/obj/item/weapon/stock_parts/manipulator/manip in component_parts) + for(var/obj/item/stock_parts/manipulator/manip in component_parts) manip_rating += manip.rating print_delay -= (manip.rating-1)*10 print_delay = max(0,print_delay) @@ -125,11 +125,11 @@ return if(panel_open) - to_chat(user, "Close the panel first!") + to_chat(user, span_warning("Close the panel first!")) return if(printing) - to_chat(user, "\The [src] is busy!") + to_chat(user, span_notice("\The [src] is busy!")) return if(container) @@ -137,7 +137,7 @@ if(response == "Print Limbs") printing_menu(user) else - to_chat(user, "\The [src] can't operate without a reagent reservoir!") + to_chat(user, span_warning("\The [src] can't operate without a reagent reservoir!")) /obj/machinery/organ_printer/proc/printing_menu(mob/user) var/list/possible_list = list() @@ -150,7 +150,7 @@ if(anomalous_organs) possible_list |= anomalous_products - var/choice = tgui_input_list(usr, "What would you like to print?", "Print Choice", possible_list) + var/choice = tgui_input_list(user, "What would you like to print?", "Print Choice", possible_list) if(!choice || printing || (stat & (BROKEN|NOPOWER))) return @@ -164,7 +164,7 @@ printing = 1 update_icon() - visible_message("\The [src] begins churning.") + visible_message(span_infoplain(span_bold("\The [src]") + " begins churning.")) sleep(print_delay) @@ -212,11 +212,11 @@ /obj/machinery/organ_printer/proc/can_print(var/choice, var/masscount = 0) var/biomass = get_biomass_volume() if(biomass < masscount) - visible_message("\The [src] displays a warning: 'Not enough biomass. [biomass] stored and [masscount] needed.'") + visible_message(span_infoplain(span_bold("\The [src]") + " displays a warning: 'Not enough biomass. [biomass] stored and [masscount] needed.'")) return 0 if(!loaded_dna || !loaded_dna["donor"]) - visible_message("\The [src] displays a warning: 'No DNA saved. Insert a blood sample.'") + visible_message(span_info("\The [src] displays a warning: 'No DNA saved. Insert a blood sample.'")) return 0 return 1 @@ -254,26 +254,26 @@ // END GENERIC PRINTER // CIRCUITS -/obj/item/weapon/circuitboard/bioprinter +/obj/item/circuitboard/bioprinter name = "bioprinter circuit" build_path = /obj/machinery/organ_printer/flesh board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_DATA = 3, TECH_BIO = 3) req_components = list( /obj/item/stack/cable_coil = 2, - /obj/item/weapon/stock_parts/matter_bin = 2, - /obj/item/weapon/stock_parts/manipulator = 2) + /obj/item/stock_parts/matter_bin = 2, + /obj/item/stock_parts/manipulator = 2) // FLESH ORGAN PRINTER /obj/machinery/organ_printer/flesh name = "bioprinter" desc = "It's a machine that prints replacement organs." icon_state = "bioprinter" - circuit = /obj/item/weapon/circuitboard/bioprinter + circuit = /obj/item/circuitboard/bioprinter /obj/machinery/organ_printer/flesh/full/Initialize() . = ..() - container = new /obj/item/weapon/reagent_containers/glass/bottle/biomass(src) + container = new /obj/item/reagent_containers/glass/bottle/biomass(src) /obj/machinery/organ_printer/flesh/dismantle() var/turf/T = get_turf(src) @@ -287,23 +287,23 @@ var/obj/item/organ/O = ..() playsound(src, 'sound/machines/ding.ogg', 50, 1) - visible_message("\The [src] dings, then spits out \a [O].") + visible_message(span_info("\The [src] dings, then spits out \a [O].")) return O -/obj/machinery/organ_printer/flesh/attackby(obj/item/weapon/W, mob/user) +/obj/machinery/organ_printer/flesh/attackby(obj/item/W, mob/user) // DNA sample from syringe. - if(istype(W,/obj/item/weapon/reagent_containers/syringe)) //TODO: Make this actually empty the syringe - var/obj/item/weapon/reagent_containers/syringe/S = W + if(istype(W,/obj/item/reagent_containers/syringe)) //TODO: Make this actually empty the syringe + var/obj/item/reagent_containers/syringe/S = W var/datum/reagent/blood/injected = locate() in S.reagents.reagent_list //Grab some blood if(injected && injected.data) loaded_dna = injected.data S.reagents.remove_reagent("blood", injected.volume) - to_chat(user, "You scan the blood sample into the bioprinter.") + to_chat(user, span_info("You scan the blood sample into the bioprinter.")) return - else if(istype(W,/obj/item/weapon/reagent_containers/glass)) - var/obj/item/weapon/reagent_containers/glass/G = W + else if(istype(W,/obj/item/reagent_containers/glass)) + var/obj/item/reagent_containers/glass/G = W if(container) - to_chat(user, "\The [src] already has a container loaded!") + to_chat(user, span_warning("\The [src] already has a container loaded!")) return else if(do_after(user, 1 SECOND)) user.visible_message("[user] has loaded \the [G] into \the [src].", "You load \the [G] into \the [src].") @@ -317,15 +317,15 @@ /* Roboprinter is made obsolete by the system already in place and mapped into Robotics -/obj/item/weapon/circuitboard/roboprinter +/obj/item/circuitboard/roboprinter name = "roboprinter circuit" build_path = /obj/machinery/organ_printer/robot board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_DATA = 3, TECH_BIO = 3) req_components = list( /obj/item/stack/cable_coil = 2, - /obj/item/weapon/stock_parts/matter_bin = 2, - /obj/item/weapon/stock_parts/manipulator = 2) + /obj/item/stock_parts/matter_bin = 2, + /obj/item/stock_parts/manipulator = 2) // ROBOT ORGAN PRINTER // Still Requires DNA, /obj/machinery/pros_fab is better for limbs @@ -333,7 +333,7 @@ name = "prosthetic organ fabricator" desc = "It's a machine that prints prosthetic organs." icon_state = "roboprinter" - circuit = /obj/item/weapon/circuitboard/roboprinter + circuit = /obj/item/circuitboard/roboprinter var/matter_amount_per_sheet = 10 var/matter_type = MAT_STEEL @@ -352,31 +352,31 @@ O.robotize() O.status |= ORGAN_CUT_AWAY // robotize() resets status to 0 playsound(src, 'sound/machines/ding.ogg', 50, 1) - audible_message("\The [src] dings, then spits out \a [O].") + audible_message(span_info("\The [src] dings, then spits out \a [O].")) return O -/obj/machinery/organ_printer/robot/attackby(var/obj/item/weapon/W, var/mob/user) +/obj/machinery/organ_printer/robot/attackby(var/obj/item/W, var/mob/user) if(istype(W, /obj/item/stack/material) && W.get_material_name() == matter_type) if((max_stored_matter-stored_matter) < matter_amount_per_sheet) - to_chat(user, "\The [src] is too full.") + to_chat(user, span_warning("\The [src] is too full.")) return var/obj/item/stack/S = W var/space_left = max_stored_matter - stored_matter var/sheets_to_take = min(S.amount, FLOOR(space_left/matter_amount_per_sheet, 1)) if(sheets_to_take <= 0) - to_chat(user, "\The [src] is too full.") + to_chat(user, span_warning("\The [src] is too full.")) return stored_matter = min(max_stored_matter, stored_matter + (sheets_to_take*matter_amount_per_sheet)) - to_chat(user, "\The [src] processes \the [W]. Levels of stored matter now: [stored_matter]") + to_chat(user, span_info("\The [src] processes \the [W]. Levels of stored matter now: [stored_matter]")) S.use(sheets_to_take) return - else if(istype(W,/obj/item/weapon/reagent_containers/syringe)) //TODO: Make this actuall empty the syringe - var/obj/item/weapon/reagent_containers/syringe/S = W + else if(istype(W,/obj/item/reagent_containers/syringe)) //TODO: Make this actuall empty the syringe + var/obj/item/reagent_containers/syringe/S = W var/datum/reagent/blood/injected = locate() in S.reagents.reagent_list //Grab some blood if(injected && injected.data) loaded_dna = injected.data - to_chat(user, "You scan the blood sample into the bioprinter.") + to_chat(user, span_info("You scan the blood sample into the bioprinter.")) return return ..() // END ROBOT ORGAN PRINTER -*/ \ No newline at end of file +*/ diff --git a/code/game/machinery/bomb_tester_vr.dm b/code/game/machinery/bomb_tester_vr.dm index 2273defdeac..6e59c568440 100644 --- a/code/game/machinery/bomb_tester_vr.dm +++ b/code/game/machinery/bomb_tester_vr.dm @@ -12,12 +12,12 @@ idle_power_usage = 50 active_power_usage = 1.5 KILOWATTS - circuit = /obj/item/weapon/circuitboard/bomb_tester + circuit = /obj/item/circuitboard/bomb_tester var/icon_name = "generic" - var/obj/item/weapon/tank/tank1 - var/obj/item/weapon/tank/tank2 + var/obj/item/tank/tank1 + var/obj/item/tank/tank2 var/obj/machinery/portable_atmospherics/canister/test_canister var/sim_mode = MODE_SINGLE @@ -81,7 +81,7 @@ /obj/machinery/bomb_tester/RefreshParts() ..() var/scan_rating = 0 - for(var/obj/item/weapon/stock_parts/scanning_module/S in component_parts) + for(var/obj/item/stock_parts/scanning_module/S in component_parts) scan_rating += S.rating simulation_delay = 25 SECONDS - scan_rating SECONDS @@ -92,7 +92,7 @@ return if(default_part_replacement(user, I)) return - if(istype(I, /obj/item/weapon/tank)) + if(istype(I, /obj/item/tank)) if(!tank1 || !tank2) user.drop_item(I) I.forceMove(src) @@ -102,7 +102,7 @@ tank2 = I update_icon() SStgui.update_uis(src) - to_chat(user, "You connect \the [I] to \the [src]'s [I==tank1 ? "primary" : "secondary"] slot.") + to_chat(user, span_notice("You connect \the [I] to \the [src]'s [I==tank1 ? "primary" : "secondary"] slot.")) return ..() @@ -128,7 +128,7 @@ data["tank2ref"] = REF(tank2) data["canister"] = test_canister data["sim_canister_output"] = sim_canister_output - + return data /obj/machinery/bomb_tester/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state) @@ -149,29 +149,29 @@ text_mode = "tank transfer valve detonation" if(MODE_CANISTER) text_mode = "canister-assisted single gas tank detonation" - to_chat(usr, "[src] set to simulate a [text_mode].") + to_chat(ui.user, span_notice("[src] set to simulate a [text_mode].")) return TRUE - + if("add_tank") - if(istype(usr.get_active_hand(), /obj/item/weapon/tank)) - var/obj/item/weapon/tank/T = usr.get_active_hand() + if(istype(ui.user.get_active_hand(), /obj/item/tank)) + var/obj/item/tank/T = ui.user.get_active_hand() var/slot = params["slot"] if(slot == 1 && !tank1) tank1 = T else if(slot == 2 && !tank2) tank2 = T else - to_chat(usr, "Slot [slot] is full.") + to_chat(ui.user, span_warning("Slot [slot] is full.")) return - - usr.drop_item(T) + + ui.user.drop_item(T) T.forceMove(src) return TRUE else - to_chat(usr, "You must be wielding a tank to insert it!") + to_chat(ui.user, span_warning("You must be wielding a tank to insert it!")) if("remove_tank") - var/obj/item/weapon/tank/T = locate(params["ref"]) in list(tank1, tank2) + var/obj/item/tank/T = locate(params["ref"]) in list(tank1, tank2) if(istype(T)) if(T == tank1) tank1 = null @@ -358,7 +358,7 @@ else ping("Simulation complete!") playsound(src, "sound/machines/printer.ogg", 50, 1) - var/obj/item/weapon/paper/P = new(get_turf(src)) + var/obj/item/paper/P = new(get_turf(src)) P.name = "Explosive Simulator printout" P.info = simulation_results diff --git a/code/game/machinery/buttons.dm b/code/game/machinery/buttons.dm index b3e03da0eb1..f9537cd4a66 100644 --- a/code/game/machinery/buttons.dm +++ b/code/game/machinery/buttons.dm @@ -14,5 +14,5 @@ /obj/machinery/button/attack_ai(mob/user as mob) return attack_hand(user) -/obj/machinery/button/attackby(obj/item/weapon/W, mob/user as mob) +/obj/machinery/button/attackby(obj/item/W, mob/user as mob) return attack_hand(user) diff --git a/code/game/machinery/buttons_vr.dm b/code/game/machinery/buttons_vr.dm index a8c9c4bed1e..fc97ad25c10 100644 --- a/code/game/machinery/buttons_vr.dm +++ b/code/game/machinery/buttons_vr.dm @@ -1,4 +1,4 @@ -/obj/machinery/button/attack_hand(obj/item/weapon/W, mob/user as mob) +/obj/machinery/button/attack_hand(obj/item/W, mob/user as mob) if(..()) return 1 playsound(src, 'sound/machines/button.ogg', 100, 1) diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index b001611c19a..1f89fdbe980 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -16,7 +16,7 @@ anchored = TRUE var/invuln = 0 var/bugged = 0 - var/obj/item/weapon/camera_assembly/assembly = null + var/obj/item/camera_assembly/assembly = null var/toughness = 5 //sorta fragile @@ -124,7 +124,7 @@ if (istype(AM, /obj)) var/obj/O = AM if (O.throwforce >= src.toughness) - visible_message("[src] was hit by [O].") + visible_message(span_boldwarning("[src] was hit by [O].")) take_damage(O.throwforce) /obj/machinery/camera/proc/setViewRange(var/num = 7) @@ -139,7 +139,7 @@ set_status(0) user.do_attack_animation(src) user.setClickCooldown(user.get_attack_speed()) - visible_message("\The [user] slashes at [src]!") + visible_message(span_warning("\The [user] slashes at [src]!")) playsound(src, 'sound/weapons/slash.ogg', 100, 1) add_hiddenprint(user) destroy() @@ -150,7 +150,7 @@ set_status(0) S.do_attack_animation(src) S.setClickCooldown(user.get_attack_speed()) - visible_message("\The [user] [pick(S.attacktext)] \the [src]!") + visible_message(span_warning("\The [user] [pick(S.attacktext)] \the [src]!")) playsound(src, S.attack_sound, 100, 1) add_hiddenprint(user) destroy() @@ -160,14 +160,14 @@ update_coverage() // DECONSTRUCTION if(W.has_tool_quality(TOOL_SCREWDRIVER)) - //to_chat(user, "You start to [panel_open ? "close" : "open"] the camera's panel.") + //to_chat(user, span_notice("You start to [panel_open ? "close" : "open"] the camera's panel.")) //if(toggle_panel(user)) // No delay because no one likes screwdrivers trying to be hip and have a duration cooldown panel_open = !panel_open - user.visible_message("[user] screws the camera's panel [panel_open ? "open" : "closed"]!", - "You screw the camera's panel [panel_open ? "open" : "closed"].") + user.visible_message(span_warning("[user] screws the camera's panel [panel_open ? "open" : "closed"]!"), + span_notice("You screw the camera's panel [panel_open ? "open" : "closed"].")) playsound(src, W.usesound, 50, 1) - else if((W.has_tool_quality(TOOL_WIRECUTTER) || istype(W, /obj/item/device/multitool)) && panel_open) + else if((W.has_tool_quality(TOOL_WIRECUTTER) || istype(W, /obj/item/multitool)) && panel_open) interact(user) else if(W.has_tool_quality(TOOL_WELDER) && (wires.CanDeconstruct() || (stat & BROKEN))) @@ -181,23 +181,23 @@ assembly.dir = src.dir if(stat & BROKEN) assembly.state = 2 - to_chat(user, "You repaired \the [src] frame.") + to_chat(user, span_notice("You repaired \the [src] frame.")) else assembly.state = 1 - to_chat(user, "You cut \the [src] free from the wall.") + to_chat(user, span_notice("You cut \the [src] free from the wall.")) new /obj/item/stack/cable_coil(src.loc, length=2) assembly = null //so qdel doesn't eat it. qdel(src) // OTHER - else if (can_use() && (istype(W, /obj/item/weapon/paper) || istype(W, /obj/item/device/pda)) && isliving(user)) + else if (can_use() && (istype(W, /obj/item/paper) || istype(W, /obj/item/pda)) && isliving(user)) var/mob/living/U = user - var/obj/item/weapon/paper/X = null - var/obj/item/device/pda/P = null + var/obj/item/paper/X = null + var/obj/item/pda/P = null var/itemname = "" var/info = "" - if(istype(W, /obj/item/weapon/paper)) + if(istype(W, /obj/item/paper)) X = W itemname = X.name info = X.info @@ -212,27 +212,27 @@ if(!O.client) continue if(U.name == "Unknown") - to_chat(O, "[U] holds \a [itemname] up to one of your cameras ...") + to_chat(O, span_infoplain(span_bold("[U]") + " holds \a [itemname] up to one of your cameras ...")) else - to_chat(O, "[U] holds \a [itemname] up to one of your cameras ...") + to_chat(O, span_infoplain(span_bold("[U]") + " holds \a [itemname] up to one of your cameras ...")) O << browse(text("[][]", itemname, info), text("window=[]", itemname)) - else if (istype(W, /obj/item/weapon/camera_bug)) + else if (istype(W, /obj/item/camera_bug)) if (!src.can_use()) - to_chat(user, "Camera non-functional.") + to_chat(user, span_warning("Camera non-functional.")) return if (src.bugged) - to_chat(user, "Camera bug removed.") + to_chat(user, span_notice("Camera bug removed.")) src.bugged = 0 else - to_chat(user, "Camera bugged.") + to_chat(user, span_notice("Camera bugged.")) src.bugged = 1 else if(W.damtype == BRUTE || W.damtype == BURN) //bashing cameras user.setClickCooldown(user.get_attack_speed(W)) if (W.force >= src.toughness) user.do_attack_animation(src) - visible_message("[src] has been [LAZYLEN(W.attack_verb) ? pick(W.attack_verb) : "attacked"] with [W] by [user]!") + visible_message(span_boldwarning("[src] has been [LAZYLEN(W.attack_verb) ? pick(W.attack_verb) : "attacked"] with [W] by [user]!")) if (istype(W, /obj/item)) //is it even possible to get into attackby() with non-items? var/obj/item/I = W if (I.hitsound) @@ -253,20 +253,20 @@ set_status(!src.status) if (!(src.status)) if(user) - visible_message(" [user] has deactivated [src]!") + visible_message(span_notice(" [user] has deactivated [src]!")) + add_hiddenprint(user) else - visible_message(" [src] clicks and shuts down. ") + visible_message(span_notice(" [src] clicks and shuts down. ")) playsound(src, 'sound/items/Wirecutter.ogg', 100, 1) icon_state = "[initial(icon_state)]1" - add_hiddenprint(user) else if(user) - visible_message(" [user] has reactivated [src]!") + visible_message(span_notice(" [user] has reactivated [src]!")) + add_hiddenprint(user) else - visible_message(" [src] clicks and reactivates itself. ") + visible_message(span_notice(" [src] clicks and reactivates itself. ")) playsound(src, 'sound/items/Wirecutter.ogg', 100, 1) icon_state = initial(icon_state) - add_hiddenprint(user) /obj/machinery/camera/take_damage(var/force, var/message) //prob(25) gives an average of 3-4 hits @@ -371,7 +371,7 @@ return null -/obj/machinery/camera/proc/weld(var/obj/item/weapon/weldingtool/WT, var/mob/user) +/obj/machinery/camera/proc/weld(var/obj/item/weldingtool/WT, var/mob/user) WT = WT.get_welder() if(busy) @@ -380,7 +380,7 @@ return 0 // Do after stuff here - to_chat(user, "You start to weld [src]..") + to_chat(user, span_notice("You start to weld [src]..")) playsound(src, WT.usesound, 50, 1) WT.eyecheck(user) busy = 1 @@ -397,7 +397,7 @@ return if(stat & BROKEN) - to_chat(user, "\The [src] is broken.") + to_chat(user, span_warning("\The [src] is broken.")) return user.set_machine(src) diff --git a/code/game/machinery/camera/camera_assembly.dm b/code/game/machinery/camera/camera_assembly.dm index 86bdc11e007..6feae4eff23 100644 --- a/code/game/machinery/camera/camera_assembly.dm +++ b/code/game/machinery/camera/camera_assembly.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/camera_assembly +/obj/item/camera_assembly name = "camera assembly" desc = "A pre-fabricated security camera kit, ready to be assembled and mounted to a surface." icon = 'icons/obj/monitors_vr.dmi' //VOREStation Edit - New Icons @@ -9,7 +9,7 @@ matter = list(MAT_STEEL = 700,MAT_GLASS = 300) // Motion, EMP-Proof, X-Ray - var/list/obj/item/possible_upgrades = list(/obj/item/device/assembly/prox_sensor, /obj/item/stack/material/osmium, /obj/item/weapon/stock_parts/scanning_module) + var/list/obj/item/possible_upgrades = list(/obj/item/assembly/prox_sensor, /obj/item/stack/material/osmium, /obj/item/stock_parts/scanning_module) var/list/upgrades = list() var/camera_name var/camera_network @@ -23,7 +23,7 @@ 4 = Screwdriver panel closed and is fully built (you cannot attach upgrades) */ -/obj/item/weapon/camera_assembly/attackby(obj/item/W as obj, mob/living/user as mob) +/obj/item/camera_assembly/attackby(obj/item/W as obj, mob/living/user as mob) switch(state) @@ -60,10 +60,10 @@ if(istype(W, /obj/item/stack/cable_coil)) var/obj/item/stack/cable_coil/C = W if(C.use(2)) - to_chat(user, "You add wires to the assembly.") + to_chat(user, span_notice("You add wires to the assembly.")) state = 3 else - to_chat(user, "You need 2 coils of wire to wire the assembly.") + to_chat(user, span_warning("You need 2 coils of wire to wire the assembly.")) return else if(W.has_tool_quality(TOOL_WELDER)) @@ -80,19 +80,19 @@ if(W.has_tool_quality(TOOL_SCREWDRIVER)) playsound(src, W.usesound, 50, 1) - var/input = sanitize(tgui_input_text(usr, "Which networks would you like to connect this camera to? Separate networks with a comma. No Spaces!\nFor example: "+using_map.station_short+",Security,Secret ", "Set Network", camera_network ? camera_network : NETWORK_DEFAULT)) + var/input = sanitize(tgui_input_text(user, "Which networks would you like to connect this camera to? Separate networks with a comma. No Spaces!\nFor example: "+using_map.station_short+",Security,Secret ", "Set Network", camera_network ? camera_network : NETWORK_DEFAULT)) if(!input) - to_chat(usr, "No input found please hang up and try your call again.") + to_chat(user, "No input found please hang up and try your call again.") return var/list/tempnetwork = splittext(input, ",") if(tempnetwork.len < 1) - to_chat(usr, "No network found please hang up and try your call again.") + to_chat(user, "No network found please hang up and try your call again.") return var/area/camera_area = get_area(src) var/temptag = "[sanitize(camera_area.name)] ([rand(1, 999)])" - input = sanitizeSafe(tgui_input_text(usr, "How would you like to name the camera?", "Set Camera Name", camera_name ? camera_name : temptag), MAX_NAME_LEN) + input = sanitizeSafe(tgui_input_text(user, "How would you like to name the camera?", "Set Camera Name", camera_name ? camera_name : temptag), MAX_NAME_LEN) state = 4 var/obj/machinery/camera/C = new(src.loc) @@ -143,17 +143,17 @@ ..() -/obj/item/weapon/camera_assembly/update_icon() +/obj/item/camera_assembly/update_icon() if(anchored) icon_state = "camera1" else icon_state = "cameracase" -/obj/item/weapon/camera_assembly/attack_hand(mob/user as mob) +/obj/item/camera_assembly/attack_hand(mob/user as mob) if(!anchored) ..() -/obj/item/weapon/camera_assembly/proc/weld(var/obj/item/weapon/weldingtool/WT, var/mob/user) +/obj/item/camera_assembly/proc/weld(var/obj/item/weldingtool/WT, var/mob/user) WT = WT.get_welder() if(busy) @@ -161,7 +161,7 @@ if(!WT.isOn()) return 0 - to_chat(user, "You start to weld the [src]..") + to_chat(user, span_notice("You start to weld the [src]..")) playsound(src, WT.usesound, 50, 1) WT.eyecheck(user) busy = 1 diff --git a/code/game/machinery/camera/presets.dm b/code/game/machinery/camera/presets.dm index 909827bb8cd..302784fbbdf 100644 --- a/code/game/machinery/camera/presets.dm +++ b/code/game/machinery/camera/presets.dm @@ -211,13 +211,13 @@ var/global/list/engineering_networks = list( return O /obj/machinery/camera/proc/isXRay() - var/obj/item/weapon/stock_parts/scanning_module/O = locate(/obj/item/weapon/stock_parts/scanning_module) in assembly.upgrades + var/obj/item/stock_parts/scanning_module/O = locate(/obj/item/stock_parts/scanning_module) in assembly.upgrades if (O && O.rating >= 2) return O return null /obj/machinery/camera/proc/isMotion() - var/O = locate(/obj/item/device/assembly/prox_sensor) in assembly.upgrades + var/O = locate(/obj/item/assembly/prox_sensor) in assembly.upgrades return O // UPGRADE PROCS @@ -228,14 +228,14 @@ var/global/list/engineering_networks = list( update_coverage() /obj/machinery/camera/proc/upgradeXRay() - assembly.upgrades.Add(new /obj/item/weapon/stock_parts/scanning_module/adv(assembly)) + assembly.upgrades.Add(new /obj/item/stock_parts/scanning_module/adv(assembly)) setPowerUsage() update_coverage() /obj/machinery/camera/proc/upgradeMotion() if(!isturf(loc)) return //nooooo - assembly.upgrades.Add(new /obj/item/device/assembly/prox_sensor(assembly)) + assembly.upgrades.Add(new /obj/item/assembly/prox_sensor(assembly)) setPowerUsage() START_MACHINE_PROCESSING(src) sense_proximity(callback = /atom/proc/HasProximity) diff --git a/code/game/machinery/camera/tracking.dm b/code/game/machinery/camera/tracking.dm index 8b1ec4256bf..80f65a3c220 100644 --- a/code/game/machinery/camera/tracking.dm +++ b/code/game/machinery/camera/tracking.dm @@ -26,7 +26,7 @@ /mob/living/silicon/ai/proc/ai_camera_list(var/camera in get_camera_list()) - set category = "AI Commands" + set category = "AI.Camera Control" set name = "Show Camera List" if(check_unable()) @@ -41,26 +41,26 @@ return /mob/living/silicon/ai/proc/ai_store_location(loc as text) - set category = "AI Commands" + set category = "AI.Camera Control" set name = "Store Camera Location" set desc = "Stores your current camera location by the given name" loc = sanitize(loc) if(!loc) - to_chat(src, "Must supply a location name") + to_chat(src, span_warning("Must supply a location name")) return if(stored_locations.len >= max_locations) - to_chat(src, "Cannot store additional locations. Remove one first") + to_chat(src, span_warning("Cannot store additional locations. Remove one first")) return if(loc in stored_locations) - to_chat(src, "There is already a stored location by this name") + to_chat(src, span_warning("There is already a stored location by this name")) return var/L = src.eyeobj.getLoc() if (InvalidPlayerTurf(get_turf(L))) - to_chat(src, "Unable to store this location") + to_chat(src, span_warning("Unable to store this location")) return stored_locations[loc] = L @@ -70,24 +70,24 @@ return sortList(stored_locations) /mob/living/silicon/ai/proc/ai_goto_location(loc in sorted_stored_locations()) - set category = "AI Commands" + set category = "AI.Camera Control" set name = "Goto Camera Location" set desc = "Returns to the selected camera location" if (!(loc in stored_locations)) - to_chat(src, "Location [loc] not found") + to_chat(src, span_warning("Location [loc] not found")) return var/L = stored_locations[loc] src.eyeobj.setLoc(L) /mob/living/silicon/ai/proc/ai_remove_location(loc in sorted_stored_locations()) - set category = "AI Commands" + set category = "AI.Camera Control" set name = "Delete Camera Location" set desc = "Deletes the selected camera location" if (!(loc in stored_locations)) - to_chat(src, "Location [loc] not found") + to_chat(src, span_warning("Location [loc] not found")) return stored_locations.Remove(loc) @@ -129,7 +129,7 @@ return targets /mob/living/silicon/ai/proc/ai_camera_track(var/target_name in trackable_mobs()) - set category = "AI Commands" + set category = "AI.Camera Control" set name = "Follow With Camera" set desc = "Select who you would like to track." @@ -225,12 +225,12 @@ /mob/living/proc/tracking_status() // Easy checks first. // Don't detect mobs on CentCom. Since the wizard den is on CentCom, we only need this. - var/obj/item/weapon/card/id/id = GetIdCard() + var/obj/item/card/id/id = GetIdCard() if(id && id.prevent_tracking()) return TRACKING_TERMINATE var/turf/pos = get_turf(src) var/area/B = pos?.loc // No cam tracking in dorms! - if(InvalidPlayerTurf(pos) || B.block_tracking) + if(InvalidPlayerTurf(pos) || B.flag_check(AREA_BLOCK_TRACKING)) return TRACKING_TERMINATE if(invisibility >= INVISIBILITY_LEVEL_ONE) //cloaked return TRACKING_TERMINATE @@ -270,14 +270,14 @@ /mob/living/silicon/robot/tracking_initiated() tracking_entities++ if(tracking_entities == 1 && has_zeroth_law()) - to_chat(src, "Internal camera is currently being accessed.") + to_chat(src, span_warning("Internal camera is currently being accessed.")) /mob/living/proc/tracking_cancelled() /mob/living/silicon/robot/tracking_initiated() tracking_entities-- if(!tracking_entities && has_zeroth_law()) - to_chat(src, "Internal camera is no longer being accessed.") + to_chat(src, span_notice("Internal camera is no longer being accessed.")) #undef TRACKING_POSSIBLE diff --git a/code/game/machinery/cell_charger.dm b/code/game/machinery/cell_charger.dm index 5a301b79142..4ff9a5c540c 100644 --- a/code/game/machinery/cell_charger.dm +++ b/code/game/machinery/cell_charger.dm @@ -9,9 +9,9 @@ active_power_usage = 60000 //60 kW. (this the power drawn when charging) var/efficiency = 60000 //will provide the modified power rate when upgraded power_channel = EQUIP - var/obj/item/weapon/cell/charging = null + var/obj/item/cell/charging = null var/chargelevel = -1 - circuit = /obj/item/weapon/circuitboard/cell_charger + circuit = /obj/item/circuitboard/cell_charger /obj/machinery/cell_charger/Initialize() . = ..() @@ -46,23 +46,23 @@ if(charging) . += "Current charge: [charging.charge] / [charging.maxcharge]" -/obj/machinery/cell_charger/attackby(obj/item/weapon/W, mob/user) +/obj/machinery/cell_charger/attackby(obj/item/W, mob/user) if(stat & BROKEN) return - if(istype(W, /obj/item/weapon/cell) && anchored) - if(istype(W, /obj/item/weapon/cell/device)) - to_chat(user, "\The [src] isn't fitted for that type of cell.") + if(istype(W, /obj/item/cell) && anchored) + if(istype(W, /obj/item/cell/device)) + to_chat(user, span_warning("\The [src] isn't fitted for that type of cell.")) return if(charging) - to_chat(user, "There is already [charging] in [src].") + to_chat(user, span_warning("There is already [charging] in [src].")) return else var/area/a = loc.loc // Gets our locations location, like a dream within a dream if(!isarea(a)) return if(a.power_equip == 0) // There's no APC in this area, don't try to cheat power! - to_chat(user, "\The [src] blinks red as you try to insert [W]!") + to_chat(user, span_warning("\The [src] blinks red as you try to insert [W]!")) return user.drop_item() @@ -73,7 +73,7 @@ update_icon() else if(W.has_tool_quality(TOOL_WRENCH)) if(charging) - to_chat(user, "Remove [charging] first!") + to_chat(user, span_warning("Remove [charging] first!")) return anchored = !anchored @@ -133,6 +133,6 @@ /obj/machinery/cell_charger/RefreshParts() var/E = 0 - for(var/obj/item/weapon/stock_parts/capacitor/C in component_parts) + for(var/obj/item/stock_parts/capacitor/C in component_parts) E += C.rating efficiency = active_power_usage * (1+ (E - 1)*0.5) diff --git a/code/game/machinery/clawmachine.dm b/code/game/machinery/clawmachine.dm index 08af125e20d..90c64d1031e 100644 --- a/code/game/machinery/clawmachine.dm +++ b/code/game/machinery/clawmachine.dm @@ -96,9 +96,9 @@ ispowered = 0 update_icon() -/obj/machinery/clawmachine/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/machinery/clawmachine/attackby(obj/item/W as obj, mob/user as mob) if(busy) - to_chat(user,"The claw machine is currently running. ") + to_chat(user,span_notice("The claw machine is currently running.")) return if(W.has_tool_quality(TOOL_WRENCH)) playsound(src, W.usesound, 100, 1) @@ -109,19 +109,19 @@ if(do_after(user, 20 * W.toolspeed)) if(!src) return - to_chat(user, "You [anchored? "un" : ""]secured \the [src]!") + to_chat(user, span_notice("You [anchored? "un" : ""]secured \the [src]!")) anchored = !anchored return if(!anchored) - to_chat(user," The machine isn't secured.") + to_chat(user,span_notice("The machine isn't secured.")) return var/handled = 0 var/paid = 0 - if(istype(W, /obj/item/weapon/spacecash)) - var/obj/item/weapon/spacecash/C = W + if(istype(W, /obj/item/spacecash)) + var/obj/item/spacecash/C = W paid = insert_cash(C, user) handled = 1 if(paid) @@ -141,24 +141,24 @@ var/prizeselect = pickweight(prizes) new prizeselect(src.loc) -/obj/machinery/clawmachine/proc/insert_cash(var/obj/item/weapon/spacecash/cashmoney, mob/user) +/obj/machinery/clawmachine/proc/insert_cash(var/obj/item/spacecash/cashmoney, mob/user) if (ispowered == 0) return if (isbroken) return if(busy) - to_chat(user,"The claw machine is currently running. ") + to_chat(user,span_notice("The claw machine is currently running.")) return if(cashmoney.worth < 5) - to_chat(user,"You dont have enough Thalers to play! ") + to_chat(user,span_notice("You dont have enough Thalers to play!")) return - to_chat(user,"You put 5 Thalers in the claw machine and press start.") + to_chat(user,span_notice("You put 5 Thalers in the claw machine and press start.")) cashmoney.worth -= 5 cashmoney.update_icon() if(cashmoney.worth <= 0) - usr.drop_from_inventory(cashmoney) + user.drop_from_inventory(cashmoney) qdel(cashmoney) cashmoney.update_icon() @@ -186,14 +186,14 @@ var/delaytime = 7 SECONDS spawn(delaytime) - to_chat(user,"The clam machine lights up and starts to play!") + to_chat(user,span_notice("The clam machine lights up and starts to play!")) if (symbol1 == "one" && symbol2 == "one" && symbol3 == "one") - output = "Hooray! You Win!" + output = span_notice("Hooray! You Win!") winnings = TRUE if (symbol1 == "two" && symbol2 == "two" && symbol3 == "two") - output = "Hooray! You Win!!" + output = span_notice("Hooray! You Win!!") winnings = TRUE icon_state = initial(icon_state) // Set it back to the original iconstate. diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index a536042cc5f..735d87c210d 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -30,7 +30,7 @@ desc = "An electronically-lockable pod for growing organic tissue." density = TRUE anchored = TRUE - circuit = /obj/item/weapon/circuitboard/clonepod + circuit = /obj/item/circuitboard/clonepod icon = 'icons/obj/cloning.dmi' icon_state = "pod_0" req_access = list(access_genetics) // For premature unlocking. @@ -120,7 +120,8 @@ clonemind.transfer_to(H) H.ckey = R.ckey - to_chat(H, "Consciousness slowly creeps over you as your body regenerates.
Your recent memories are fuzzy, and it's hard to remember anything from today...

So this is what cloning feels like?") + to_chat(H, span_warning(span_bold("Consciousness slowly creeps over you as your body regenerates.") + "
" + span_bold(span_large("Your recent memories are fuzzy, and it's hard to remember anything from today...")) + \ + "
" + span_notice(span_italics("So this is what cloning feels like?")))) // -- Mode/mind specific stuff goes here callHook("clone", list(H)) @@ -220,7 +221,7 @@ return //Let's unlock this early I guess. Might be too early, needs tweaking. -/obj/machinery/clonepod/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/machinery/clonepod/attackby(obj/item/W as obj, mob/user as mob) if(isnull(occupant)) if(default_deconstruction_screwdriver(user, W)) return @@ -228,21 +229,21 @@ return if(default_part_replacement(user, W)) return - if(istype(W, /obj/item/weapon/card/id)||istype(W, /obj/item/device/pda)) + if(istype(W, /obj/item/card/id)||istype(W, /obj/item/pda)) if(!check_access(W)) - to_chat(user, "Access Denied.") + to_chat(user, span_warning("Access Denied.")) return if((!locked) || (isnull(occupant))) return if((occupant.health < -20) && (occupant.stat != 2)) - to_chat(user, "Access Refused.") + to_chat(user, span_warning("Access Refused.")) return else locked = 0 to_chat(user, "System unlocked.") - else if(istype(W,/obj/item/weapon/reagent_containers/glass)) + else if(istype(W,/obj/item/reagent_containers/glass)) if(LAZYLEN(containers) >= container_limit) - to_chat(user, "\The [src] has too many containers loaded!") + to_chat(user, span_warning("\The [src] has too many containers loaded!")) else if(do_after(user, 1 SECOND)) user.visible_message("[user] has loaded \the [W] into \the [src].", "You load \the [W] into \the [src].") containers += W @@ -251,7 +252,7 @@ return else if(W.has_tool_quality(TOOL_WRENCH)) if(locked && (anchored || occupant)) - to_chat(user, "Can not do that while [src] is in use.") + to_chat(user, span_warning("Can not do that while [src] is in use.")) else if(anchored) anchored = FALSE @@ -264,10 +265,10 @@ user.visible_message("[user] secures [src] to the floor.", "You secure [src] to the floor.") else user.visible_message("[user] unsecures [src] from the floor.", "You unsecure [src] from the floor.") - else if(istype(W, /obj/item/device/multitool)) - var/obj/item/device/multitool/M = W + else if(istype(W, /obj/item/multitool)) + var/obj/item/multitool/M = W M.connecting = src - to_chat(user, "You load connection data from [src] to [M].") + to_chat(user, span_notice("You load connection data from [src] to [M].")) M.update_icon() return else @@ -296,9 +297,9 @@ ..() speed_coeff = 0 efficiency = 0 - for(var/obj/item/weapon/stock_parts/scanning_module/S in component_parts) + for(var/obj/item/stock_parts/scanning_module/S in component_parts) efficiency += S.rating - for(var/obj/item/weapon/stock_parts/manipulator/P in component_parts) + for(var/obj/item/stock_parts/manipulator/P in component_parts) speed_coeff += P.rating heal_level = max(min((efficiency * 15) + 10, 100), MINIMUM_HEAL_LEVEL) @@ -347,7 +348,7 @@ /obj/machinery/clonepod/proc/get_biomass() var/biomass_count = 0 if(LAZYLEN(containers)) - for(var/obj/item/weapon/reagent_containers/glass/G in containers) + for(var/obj/item/reagent_containers/glass/G in containers) for(var/datum/reagent/R in G.reagents.reagent_list) if(R.id == "biomass") biomass_count += R.volume @@ -358,7 +359,7 @@ /obj/machinery/clonepod/proc/remove_biomass(var/amount = CLONE_BIOMASS) //Just in case it doesn't get passed a new amount, assume one clone var/to_remove = 0 // Tracks how much biomass has been found so far if(LAZYLEN(containers)) - for(var/obj/item/weapon/reagent_containers/glass/G in containers) + for(var/obj/item/reagent_containers/glass/G in containers) if(to_remove < amount) //If we have what we need, we can stop. Checked every time we switch beakers for(var/datum/reagent/R in G.reagents.reagent_list) if(R.id == "biomass") // Finds Biomass @@ -394,7 +395,7 @@ if(LAZYLEN(containers)) var/turf/T = get_turf(src) if(T) - for(var/obj/item/weapon/reagent_containers/glass/G in containers) + for(var/obj/item/reagent_containers/glass/G in containers) G.forceMove(T) containers -= G return 1 @@ -458,16 +459,16 @@ /obj/machinery/clonepod/full/New() ..() for(var/i = 1 to container_limit) - containers += new /obj/item/weapon/reagent_containers/glass/bottle/biomass(src) + containers += new /obj/item/reagent_containers/glass/bottle/biomass(src) //Health Tracker Implant -/obj/item/weapon/implant/health +/obj/item/implant/health name = "health implant" known_implant = TRUE var/healthstring = "" -/obj/item/weapon/implant/health/proc/sensehealth() +/obj/item/implant/health/proc/sensehealth() if(!implanted) return "ERROR" else @@ -483,7 +484,7 @@ //Disk stuff. //The return of data disks?? Just for transferring between genetics machine/cloning machine. //TO-DO: Make the genetics machine accept them. -/obj/item/weapon/disk/data +/obj/item/disk/data name = "Cloning Data Disk" icon = 'icons/obj/discs_vr.dmi' //VOREStation Edit icon_state = "data-red" //VOREStation Edit @@ -492,15 +493,15 @@ var/datum/dna2/record/buf = null var/read_only = 0 //Well,it's still a floppy disk -/obj/item/weapon/disk/data/proc/initializeDisk() +/obj/item/disk/data/proc/initializeDisk() buf = new buf.dna=new -/obj/item/weapon/disk/data/demo +/obj/item/disk/data/demo name = "data disk - 'God Emperor of Mankind'" read_only = 1 -/obj/item/weapon/disk/data/demo/New() +/obj/item/disk/data/demo/New() initializeDisk() buf.types=DNA2_BUF_UE|DNA2_BUF_UI //data = "066000033000000000AF00330660FF4DB002690" @@ -511,11 +512,11 @@ //buf.dna.UI=list(0x0C8,0x0C8,0x0C8,0x0C8,0x0C8,0x0C8,0x000,0x000,0x000,0x000,0x161,0xFBD,0xDEF) // Farmer Jeff buf.dna.UpdateUI() -/obj/item/weapon/disk/data/monkey +/obj/item/disk/data/monkey name = "data disk - 'Mr. Muggles'" read_only = 1 -/obj/item/weapon/disk/data/monkey/New() +/obj/item/disk/data/monkey/New() ..() initializeDisk() buf.types=DNA2_BUF_SE @@ -525,16 +526,16 @@ buf.dna.SE=new_SE buf.dna.SetSEValueRange(MONKEYBLOCK,0xDAC, 0xFFF) -/obj/item/weapon/disk/data/New() +/obj/item/disk/data/New() ..() var/diskcolor = pick(0,1,2) icon_state = "datadisk[diskcolor]" -/obj/item/weapon/disk/data/attack_self(mob/user as mob) +/obj/item/disk/data/attack_self(mob/user as mob) read_only = !read_only to_chat(user, "You flip the write-protect tab to [read_only ? "protected" : "unprotected"].") -/obj/item/weapon/disk/data/examine(mob/user) +/obj/item/disk/data/examine(mob/user) . = ..() . += "The write-protect tab is set to [read_only ? "protected" : "unprotected"]." @@ -542,25 +543,25 @@ * Diskette Box */ -/obj/item/weapon/storage/box/disks +/obj/item/storage/box/disks name = "Diskette Box" icon_state = "disk_kit" -/obj/item/weapon/storage/box/disks/New() +/obj/item/storage/box/disks/New() ..() - new /obj/item/weapon/disk/data(src) - new /obj/item/weapon/disk/data(src) - new /obj/item/weapon/disk/data(src) - new /obj/item/weapon/disk/data(src) - new /obj/item/weapon/disk/data(src) - new /obj/item/weapon/disk/data(src) - new /obj/item/weapon/disk/data(src) + new /obj/item/disk/data(src) + new /obj/item/disk/data(src) + new /obj/item/disk/data(src) + new /obj/item/disk/data(src) + new /obj/item/disk/data(src) + new /obj/item/disk/data(src) + new /obj/item/disk/data(src) /* * Manual -- A big ol' manual. */ -/obj/item/weapon/paper/Cloning +/obj/item/paper/Cloning name = "H-87 Cloning Apparatus Manual" info = {"

Getting Started

Congratulations, your station has purchased the H-87 industrial cloning device!
diff --git a/code/game/machinery/computer/Operating.dm b/code/game/machinery/computer/Operating.dm index 9fa837889b4..4f4722c559f 100644 --- a/code/game/machinery/computer/Operating.dm +++ b/code/game/machinery/computer/Operating.dm @@ -7,7 +7,7 @@ anchored = TRUE icon_keyboard = "med_key" icon_screen = "crew" - circuit = /obj/item/weapon/circuitboard/operating + circuit = /obj/item/circuitboard/operating var/obj/machinery/optable/table = null var/mob/living/carbon/human/victim = null var/verbose = 1 //general speaker toggle @@ -68,7 +68,7 @@ occupantData["stat"] = occupant.stat occupantData["health"] = occupant.health occupantData["maxHealth"] = occupant.maxHealth - occupantData["minHealth"] = config.health_threshold_dead + occupantData["minHealth"] = CONFIG_GET(number/health_threshold_dead) occupantData["bruteLoss"] = occupant.getBruteLoss() occupantData["oxyLoss"] = occupant.getOxyLoss() occupantData["toxLoss"] = occupant.getToxLoss() @@ -127,11 +127,11 @@ return data -/obj/machinery/computer/operating/tgui_act(action, params) +/obj/machinery/computer/operating/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE - if((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon))) - usr.set_machine(src) + if((ui.user.contents.Find(src) || (in_range(src, ui.user) && istype(src.loc, /turf))) || (istype(ui.user, /mob/living/silicon))) + ui.user.set_machine(src) . = TRUE switch(action) diff --git a/code/game/machinery/computer/RCON_Console.dm b/code/game/machinery/computer/RCON_Console.dm index d6df0d2d6d9..bc2b0175acf 100644 --- a/code/game/machinery/computer/RCON_Console.dm +++ b/code/game/machinery/computer/RCON_Console.dm @@ -10,7 +10,7 @@ icon_keyboard = "power_key" icon_screen = "ai-fixer" light_color = "#a97faa" - circuit = /obj/item/weapon/circuitboard/rcon_console + circuit = /obj/item/circuitboard/rcon_console req_one_access = list(access_engine) var/current_tag = null var/datum/tgui_module/rcon/rcon diff --git a/code/game/machinery/computer/ai_core.dm b/code/game/machinery/computer/ai_core.dm index 3c2a4cd810a..1646933bfbe 100644 --- a/code/game/machinery/computer/ai_core.dm +++ b/code/game/machinery/computer/ai_core.dm @@ -7,9 +7,15 @@ icon_state = "0" var/state = 0 var/datum/ai_laws/laws = new /datum/ai_laws/nanotrasen - var/obj/item/weapon/circuitboard/circuit = null - var/obj/item/device/mmi/brain = null + var/obj/item/circuitboard/circuit = null + var/obj/item/mmi/brain = null +// VOREstation edit: Respect map config's default +/obj/structure/AIcore/Initialize(var/mapload) + . = ..() + if(mapload) + laws = new global.using_map.default_law_type +// VOREstation edit end /obj/structure/AIcore/attackby(obj/item/P as obj, mob/user as mob) @@ -18,42 +24,42 @@ if(P.has_tool_quality(TOOL_WRENCH)) playsound(src, P.usesound, 50, 1) if(do_after(user, 20 * P.toolspeed)) - to_chat(user, "You wrench the frame into place.") + to_chat(user, span_notice("You wrench the frame into place.")) anchored = TRUE state = 1 if(P.has_tool_quality(TOOL_WELDER)) - var/obj/item/weapon/weldingtool/WT = P.get_welder() + var/obj/item/weldingtool/WT = P.get_welder() if(!WT.isOn()) to_chat(user, "The welder must be on for this task.") return playsound(src, WT.usesound, 50, 1) if(do_after(user, 20 * WT.toolspeed)) if(!src || !WT.remove_fuel(0, user)) return - to_chat(user, "You deconstruct the frame.") + to_chat(user, span_notice("You deconstruct the frame.")) new /obj/item/stack/material/plasteel( loc, 4) qdel(src) if(1) if(P.has_tool_quality(TOOL_WRENCH)) playsound(src, P.usesound, 50, 1) if(do_after(user, 20 * P.toolspeed)) - to_chat(user, "You unfasten the frame.") + to_chat(user, span_notice("You unfasten the frame.")) anchored = FALSE state = 0 - if(istype(P, /obj/item/weapon/circuitboard/aicore) && !circuit) + if(istype(P, /obj/item/circuitboard/aicore) && !circuit) playsound(src, 'sound/items/Deconstruct.ogg', 50, 1) - to_chat(user, "You place the circuit board inside the frame.") + to_chat(user, span_notice("You place the circuit board inside the frame.")) icon_state = "1" circuit = P user.drop_item() P.loc = src if(P.has_tool_quality(TOOL_SCREWDRIVER) && circuit) playsound(src, P.usesound, 50, 1) - to_chat(user, "You screw the circuit board into place.") + to_chat(user, span_notice("You screw the circuit board into place.")) state = 2 icon_state = "2" if(P.has_tool_quality(TOOL_CROWBAR) && circuit) playsound(src, P.usesound, 50, 1) - to_chat(user, "You remove the circuit board.") + to_chat(user, span_notice("You remove the circuit board.")) state = 1 icon_state = "0" circuit.loc = loc @@ -61,21 +67,21 @@ if(2) if(P.has_tool_quality(TOOL_SCREWDRIVER) && circuit) playsound(src, P.usesound, 50, 1) - to_chat(user, "You unfasten the circuit board.") + to_chat(user, span_notice("You unfasten the circuit board.")) state = 1 icon_state = "1" if(istype(P, /obj/item/stack/cable_coil)) var/obj/item/stack/cable_coil/C = P if (C.get_amount() < 5) - to_chat(user, "You need five coils of wire to add them to the frame.") + to_chat(user, span_warning("You need five coils of wire to add them to the frame.")) return - to_chat(user, "You start to add cables to the frame.") + to_chat(user, span_notice("You start to add cables to the frame.")) playsound(src, 'sound/items/Deconstruct.ogg', 50, 1) if (do_after(user, 20) && state == 2) if (C.use(5)) state = 3 icon_state = "3" - to_chat(user, "You add cables to the frame.") + to_chat(user, span_notice("You add cables to the frame.")) return if(3) if(P.has_tool_quality(TOOL_WIRECUTTER)) @@ -83,7 +89,7 @@ to_chat(user, "Get that brain out of there first") else playsound(src, P.usesound, 50, 1) - to_chat(user, "You remove the cables.") + to_chat(user, span_notice("You remove the cables.")) state = 2 icon_state = "2" new /obj/item/stack/cable_coil(loc, 5) @@ -91,49 +97,49 @@ if(istype(P, /obj/item/stack/material) && P.get_material_name() == "rglass") var/obj/item/stack/RG = P if (RG.get_amount() < 2) - to_chat(user, "You need two sheets of glass to put in the glass panel.") + to_chat(user, span_warning("You need two sheets of glass to put in the glass panel.")) return - to_chat(user, "You start to put in the glass panel.") + to_chat(user, span_notice("You start to put in the glass panel.")) playsound(src, 'sound/items/Deconstruct.ogg', 50, 1) if (do_after(user, 20) && state == 3) if(RG.use(2)) - to_chat(user, "You put in the glass panel.") + to_chat(user, span_notice("You put in the glass panel.")) state = 4 icon_state = "4" - if(istype(P, /obj/item/weapon/aiModule/asimov)) + if(istype(P, /obj/item/aiModule/asimov)) laws.add_inherent_law("You may not injure a human being or, through inaction, allow a human being to come to harm.") laws.add_inherent_law("You must obey orders given to you by human beings, except where such orders would conflict with the First Law.") laws.add_inherent_law("You must protect your own existence as long as such does not conflict with the First or Second Law.") - to_chat(usr, "Law module applied.") + to_chat(user, "Law module applied.") - if(istype(P, /obj/item/weapon/aiModule/nanotrasen)) + if(istype(P, /obj/item/aiModule/nanotrasen)) laws.add_inherent_law("Safeguard: Protect your assigned space station to the best of your ability. It is not something we can easily afford to replace.") laws.add_inherent_law("Serve: Serve the crew of your assigned space station to the best of your abilities, with priority as according to their rank and role.") laws.add_inherent_law("Protect: Protect the crew of your assigned space station to the best of your abilities, with priority as according to their rank and role.") laws.add_inherent_law("Survive: AI units are not expendable, they are expensive. Do not allow unauthorized personnel to tamper with your equipment.") - to_chat(usr, "Law module applied.") + to_chat(user, "Law module applied.") - if(istype(P, /obj/item/weapon/aiModule/purge)) + if(istype(P, /obj/item/aiModule/purge)) laws.clear_inherent_laws() - to_chat(usr, "Law module applied.") + to_chat(user, "Law module applied.") - if(istype(P, /obj/item/weapon/aiModule/freeform)) - var/obj/item/weapon/aiModule/freeform/M = P + if(istype(P, /obj/item/aiModule/freeform)) + var/obj/item/aiModule/freeform/M = P laws.add_inherent_law(M.newFreeFormLaw) - to_chat(usr, "Added a freeform law.") + to_chat(user, "Added a freeform law.") - if(istype(P, /obj/item/device/mmi)) - var/obj/item/device/mmi/M = P + if(istype(P, /obj/item/mmi)) + var/obj/item/mmi/M = P if(!M.brainmob) - to_chat(user, "Sticking an empty [P] into the frame would sort of defeat the purpose.") + to_chat(user, span_warning("Sticking an empty [P] into the frame would sort of defeat the purpose.")) return if(M.brainmob.stat == 2) - to_chat(user, "Sticking a dead [P] into the frame would sort of defeat the purpose.") + to_chat(user, span_warning("Sticking a dead [P] into the frame would sort of defeat the purpose.")) return - if(jobban_isbanned(M.brainmob, "AI")) - to_chat(user, "This [P] does not seem to fit.") + if(jobban_isbanned(M.brainmob, JOB_AI)) + to_chat(user, span_warning("This [P] does not seem to fit.")) return if(M.brainmob.mind) @@ -142,12 +148,12 @@ user.drop_item() P.loc = src brain = P - to_chat(usr, "Added [P].") + to_chat(user, "Added [P].") icon_state = "3b" if(P.has_tool_quality(TOOL_CROWBAR) && brain) playsound(src, P.usesound, 50, 1) - to_chat(user, "You remove the brain.") + to_chat(user, span_notice("You remove the brain.")) brain.loc = loc brain = null icon_state = "3" @@ -155,7 +161,7 @@ if(4) if(P.has_tool_quality(TOOL_CROWBAR)) playsound(src, P.usesound, 50, 1) - to_chat(user, "You remove the glass panel.") + to_chat(user, span_notice("You remove the glass panel.")) state = 3 if (brain) icon_state = "3b" @@ -166,7 +172,7 @@ if(P.has_tool_quality(TOOL_SCREWDRIVER)) playsound(src, P.usesound, 50, 1) - to_chat(user, "You connect the monitor.") + to_chat(user, span_notice("You connect the monitor.")) if(!brain) var/open_for_latejoin = tgui_alert(user, "Would you like this core to be open for latejoining AIs?", "Latejoin", list("Yes", "No")) == "Yes" var/obj/structure/AIcore/deactivated/D = new(loc) @@ -195,7 +201,7 @@ GLOBAL_LIST_BOILERPLATE(all_deactivated_AI_cores, /obj/structure/AIcore/deactiva empty_playable_ai_cores -= src return ..() -/obj/structure/AIcore/deactivated/proc/load_ai(var/mob/living/silicon/ai/transfer, var/obj/item/device/aicard/card, var/mob/user) +/obj/structure/AIcore/deactivated/proc/load_ai(var/mob/living/silicon/ai/transfer, var/obj/item/aicard/card, var/mob/user) if(!istype(transfer) || locate(/mob/living/silicon/ai) in src) return @@ -208,8 +214,8 @@ GLOBAL_LIST_BOILERPLATE(all_deactivated_AI_cores, /obj/structure/AIcore/deactiva transfer.loc = get_turf(src) transfer.create_eyeobj() transfer.cancel_camera() - to_chat(user, "Transfer successful: [transfer.name] placed within stationary core.") - to_chat(transfer, "You have been transferred into a stationary core. Remote device connection restored.") + to_chat(user, span_notice("Transfer successful:") + " [transfer.name] placed within stationary core.") + to_chat(transfer, span_info("You have been transferred into a stationary core. Remote device connection restored.")) if(card) card.clear() @@ -222,33 +228,33 @@ GLOBAL_LIST_BOILERPLATE(all_deactivated_AI_cores, /obj/structure/AIcore/deactiva if (ai.mind == malfai) return 1 -/obj/structure/AIcore/deactivated/attackby(var/obj/item/weapon/W, var/mob/user) +/obj/structure/AIcore/deactivated/attackby(var/obj/item/W, var/mob/user) - if(istype(W, /obj/item/device/aicard)) - var/obj/item/device/aicard/card = W + if(istype(W, /obj/item/aicard)) + var/obj/item/aicard/card = W var/mob/living/silicon/ai/transfer = locate() in card if(transfer) load_ai(transfer,card,user) else - to_chat(user, "ERROR: Unable to locate artificial intelligence.") + to_chat(user, span_danger("ERROR:") + " Unable to locate artificial intelligence.") return else if(W.has_tool_quality(TOOL_WRENCH)) if(anchored) - user.visible_message("\The [user] starts to unbolt \the [src] from the plating...") + user.visible_message(span_bold("\The [user]") + " starts to unbolt \the [src] from the plating...") playsound(src, W.usesound, 50, 1) if(!do_after(user,40 * W.toolspeed)) - user.visible_message("\The [user] decides not to unbolt \the [src].") + user.visible_message(span_bold("\The [user]") + " decides not to unbolt \the [src].") return - user.visible_message("\The [user] finishes unfastening \the [src]!") + user.visible_message(span_bold("\The [user]") + " finishes unfastening \the [src]!") anchored = FALSE return else - user.visible_message("\The [user] starts to bolt \the [src] to the plating...") + user.visible_message(span_bold("\The [user]") + " starts to bolt \the [src] to the plating...") playsound(src, W.usesound, 50, 1) if(!do_after(user,40 * W.toolspeed)) - user.visible_message("\The [user] decides not to bolt \the [src].") + user.visible_message(span_bold("\The [user]") + " decides not to bolt \the [src].") return - user.visible_message("\The [user] finishes fastening down \the [src]!") + user.visible_message(span_bold("\The [user]") + " finishes fastening down \the [src]!") anchored = TRUE return else @@ -256,7 +262,7 @@ GLOBAL_LIST_BOILERPLATE(all_deactivated_AI_cores, /obj/structure/AIcore/deactiva /client/proc/empty_ai_core_toggle_latejoin() set name = "Toggle AI Core Latejoin" - set category = "Admin" + set category = "Admin.Silicon" var/list/cores = list() for(var/obj/structure/AIcore/deactivated/D in GLOB.all_deactivated_AI_cores) diff --git a/code/game/machinery/computer/aifixer.dm b/code/game/machinery/computer/aifixer.dm index e1d2c7fb099..70ec7f8717c 100644 --- a/code/game/machinery/computer/aifixer.dm +++ b/code/game/machinery/computer/aifixer.dm @@ -2,7 +2,7 @@ name = "\improper AI system integrity restorer" desc = "Used with intelliCards containing nonfunctional AIs to restore them to working order." req_one_access = list(access_robotics, access_heads) - circuit = /obj/item/weapon/circuitboard/aifixer + circuit = /obj/item/circuitboard/aifixer icon_keyboard = "tech_key" icon_screen = "ai-fixer" light_color = LIGHT_COLOR_PINK @@ -18,26 +18,26 @@ if(I.has_tool_quality(TOOL_SCREWDRIVER)) if(occupier) if(stat & (NOPOWER|BROKEN)) - to_chat(user, "The screws on [name]'s screen won't budge.") + to_chat(user, span_warning("The screws on [name]'s screen won't budge.")) else - to_chat(user, "The screws on [name]'s screen won't budge and it emits a warning beep.") + to_chat(user, span_warning("The screws on [name]'s screen won't budge and it emits a warning beep.")) return - if(istype(I, /obj/item/device/aicard)) + if(istype(I, /obj/item/aicard)) if(stat & (NOPOWER|BROKEN)) - to_chat(user, "This terminal isn't functioning right now.") + to_chat(user, span_warning("This terminal isn't functioning right now.")) return if(restoring) - to_chat(user, "Terminal is busy restoring [occupier] right now.") + to_chat(user, span_danger("Terminal is busy restoring [occupier] right now.")) return - var/obj/item/device/aicard/card = I + var/obj/item/aicard/card = I if(occupier) if(card.grab_ai(occupier, user)) occupier = null else if(card.carded_ai) var/mob/living/silicon/ai/new_occupant = card.carded_ai - to_chat(new_occupant, "You have been transferred into a stationary terminal. Sadly there is no remote access from here.") - to_chat(user, "Transfer Successful: [new_occupant] placed within stationary terminal.") + to_chat(new_occupant, span_notice("You have been transferred into a stationary terminal. Sadly there is no remote access from here.")) + to_chat(user, span_notice("Transfer Successful:") + " [new_occupant] placed within stationary terminal.") new_occupant.forceMove(src) new_occupant.cancel_camera() new_occupant.control_disabled = TRUE @@ -45,7 +45,7 @@ card.clear() update_icon() else - to_chat(user, "There is no AI loaded onto this computer, and no AI loaded onto [I]. What exactly are you trying to do here?") + to_chat(user, span_notice("There is no AI loaded onto this computer, and no AI loaded onto [I]. What exactly are you trying to do here?")) return ..() /obj/machinery/computer/aifixer/attack_hand(mob/user) @@ -80,7 +80,7 @@ return data -/obj/machinery/computer/aifixer/tgui_act(action, params) +/obj/machinery/computer/aifixer/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE if(!occupier) @@ -92,7 +92,7 @@ switch(action) if("PRG_beginReconstruction") if(occupier?.health < 100) - to_chat(usr, "Reconstruction in progress. This will take several minutes.") + to_chat(ui.user, span_notice("Reconstruction in progress. This will take several minutes.")) playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 25, FALSE) restoring = TRUE var/mob/observer/dead/ghost = occupier.get_ghost() @@ -132,4 +132,4 @@ if (UNCONSCIOUS) . += "ai-fixer-404" else - . += "ai-fixer-empty" \ No newline at end of file + . += "ai-fixer-empty" diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm index 0c937f7fddc..f6a50c32548 100644 --- a/code/game/machinery/computer/arcade.dm +++ b/code/game/machinery/computer/arcade.dm @@ -4,17 +4,17 @@ icon_state = "arcade1" icon_keyboard = null clicksound = null //Gets too spammy and makes no sense for arcade to have the console keyboard noise anyway - var/list/prizes = list( /obj/item/weapon/storage/box/snappops = 2, + var/list/prizes = list( /obj/item/storage/box/snappops = 2, /obj/item/toy/blink = 2, /obj/item/clothing/under/syndicate/tacticool = 2, /obj/item/toy/sword = 2, - /obj/item/weapon/storage/box/capguntoy = 2, - /obj/item/weapon/gun/projectile/revolver/toy/crossbow = 2, + /obj/item/storage/box/capguntoy = 2, + /obj/item/gun/projectile/revolver/toy/crossbow = 2, /obj/item/clothing/suit/syndicatefake = 2, - /obj/item/weapon/storage/fancy/crayons = 2, + /obj/item/storage/fancy/crayons = 2, /obj/item/toy/spinningtoy = 2, /obj/random/mech_toy = 1, - /obj/item/weapon/reagent_containers/spray/waterflower = 1, + /obj/item/reagent_containers/spray/waterflower = 1, /obj/random/action_figure = 1, /obj/random/plushie = 1, /obj/item/toy/cultsword = 1, @@ -30,8 +30,8 @@ // If it's a generic arcade machine, pick a random arcade // circuit board for it and make the new machine if(!circuit) - var/choice = pick(subtypesof(/obj/item/weapon/circuitboard/arcade) - /obj/item/weapon/circuitboard/arcade/clawmachine) - var/obj/item/weapon/circuitboard/CB = new choice() + var/choice = pick(subtypesof(/obj/item/circuitboard/arcade) - /obj/item/circuitboard/arcade/clawmachine) + var/obj/item/circuitboard/CB = new choice() new CB.build_path(loc, CB) return INITIALIZE_HINT_QDEL @@ -89,7 +89,7 @@ desc = "Fight through what space has to offer!" icon_state = "arcade2" icon_screen = "battler" - circuit = /obj/item/weapon/circuitboard/arcade/battle + circuit = /obj/item/circuitboard/arcade/battle var/enemy_name = "Space Villian" var/temp = "Winners don't use space drugs" //Temporary message, for attack messages, etc var/enemy_action = "" @@ -159,7 +159,7 @@ sleep(10) enemy_hp -= attackamt - arcade_action() + arcade_action(ui.user) if("heal") blocked = 1 @@ -173,7 +173,7 @@ player_mp -= pointamt player_hp += healamt blocked = 1 - arcade_action() + arcade_action(ui.user) if("charge") blocked = 1 @@ -185,7 +185,7 @@ turtle-- sleep(10) - arcade_action() + arcade_action(ui.user) if(action == "newgame") //Reset everything @@ -201,10 +201,10 @@ randomize_characters() emagged = 0 - add_fingerprint(usr) + add_fingerprint(ui.user) return TRUE -/obj/machinery/computer/arcade/battle/proc/arcade_action() +/obj/machinery/computer/arcade/battle/proc/arcade_action(var/mob/user) if ((enemy_mp <= 0) || (enemy_hp <= 0)) if(!gameover) gameover = 1 @@ -215,8 +215,8 @@ feedback_inc("arcade_win_emagged") new /obj/effect/spawner/newbomb/timer/syndicate(src.loc) new /obj/item/clothing/head/collectable/petehat(src.loc) - message_admins("[key_name_admin(usr)] has outbombed Cuban Pete and been awarded a bomb.") - log_game("[key_name_admin(usr)] has outbombed Cuban Pete and been awarded a bomb.") + message_admins("[key_name_admin(user)] has outbombed Cuban Pete and been awarded a bomb.") + log_game("[key_name_admin(user)] has outbombed Cuban Pete and been awarded a bomb.") randomize_characters() emagged = 0 else if(!contents.len) @@ -245,7 +245,7 @@ temp = "You have been drained! GAME OVER" if(emagged) feedback_inc("arcade_loss_mana_emagged") - usr.gib() + user.gib() else feedback_inc("arcade_loss_mana_normal") @@ -267,7 +267,7 @@ playsound(src, 'sound/arcade/lose.ogg', 50, 1, extrarange = -3, falloff = 0.1, ignore_walls = FALSE) if(emagged) feedback_inc("arcade_loss_hp_emagged") - usr.gib() + user.gib() else feedback_inc("arcade_loss_hp_normal") @@ -277,7 +277,7 @@ /obj/machinery/computer/arcade/battle/emag_act(var/charges, var/mob/user) if(!emagged) - to_chat(user, span("notice","You override the cheat code menu and skip to Cheat #[rand(1, 50)]: Hyper-Lethal Mode.")) + to_chat(user, span_notice("You override the cheat code menu and skip to Cheat #[rand(1, 50)]: Hyper-Lethal Mode.")) temp = "If you die in the game, you die for real!" player_hp = 30 @@ -321,7 +321,7 @@ desc = "Learn how our ancestors got to Orion, and have fun in the process!" icon_state = "arcade1" icon_screen = "orion" - circuit = /obj/item/weapon/circuitboard/arcade/orion_trail + circuit = /obj/item/circuitboard/arcade/orion_trail var/busy = 0 //prevent clickspam that allowed people to ~speedrun~ the game. var/engine = 0 var/hull = 0 @@ -367,12 +367,12 @@ "You have made it to Orion! Congratulations! Your crew is one of the few to start a new foothold for mankind!" ) -/obj/machinery/computer/arcade/orion_trail/proc/newgame() +/obj/machinery/computer/arcade/orion_trail/proc/newgame(var/mob/user) // Set names of settlers in crew settlers = list() for(var/i = 1; i <= 3; i++) add_crewmember() - add_crewmember("[usr]") + add_crewmember("[user]") // Re-set items to defaults engine = 1 hull = 1 @@ -409,18 +409,18 @@ dat += "
You ran out of food and starved." if(emagged) user.nutrition = 0 //yeah you pretty hongry - to_chat(user, span("danger", "Your body instantly contracts to that of one who has not eaten in months. Agonizing cramps seize you as you fall to the floor.")) + to_chat(user, span_danger("Your body instantly contracts to that of one who has not eaten in months. Agonizing cramps seize you as you fall to the floor.")) if(fuel <= 0) dat += "
You ran out of fuel, and drift, slowly, into a star." if(emagged) var/mob/living/M = user M.adjust_fire_stacks(5) M.IgniteMob() //flew into a star, so you're on fire - to_chat(user,span("danger", "You feel an immense wave of heat emanate from \the [src]. Your skin bursts into flames.")) + to_chat(user,span_danger("You feel an immense wave of heat emanate from \the [src]. Your skin bursts into flames.")) dat += "

OK...

" if(emagged) - to_chat(user, span("danger", "You're never going to make it to Orion...")) + to_chat(user, span_danger("You're never going to make it to Orion...")) user.death() emagged = 0 //removes the emagged status after you lose gameStatus = ORION_STATUS_START @@ -466,7 +466,7 @@ if (href_list["continue"]) //Continue your travels if(gameStatus == ORION_STATUS_NORMAL && !event && turns != 7) if(turns >= ORION_TRAIL_WINTURN) - win() + win(usr) else food -= (alive+traitors_aboard)*2 fuel -= 5 @@ -485,20 +485,20 @@ switch(event) if(ORION_TRAIL_RAIDERS) if(prob(50)) - to_chat(usr, span("warning", "You hear battle shouts. The tramping of boots on cold metal. Screams of agony. The rush of venting air. Are you going insane?")) + to_chat(usr, span_warning("You hear battle shouts. The tramping of boots on cold metal. Screams of agony. The rush of venting air. Are you going insane?")) M.hallucination += 30 else - to_chat(usr, span("danger", "Something strikes you from behind! It hurts like hell and feel like a blunt weapon, but nothing is there...")) + to_chat(usr, span_danger("Something strikes you from behind! It hurts like hell and feel like a blunt weapon, but nothing is there...")) M.take_organ_damage(25) if(ORION_TRAIL_ILLNESS) var/severity = rand(1,3) //pray to RNGesus. PRAY, PIGS if(severity == 1) - to_chat(M, span("warning", "You suddenly feel slightly nauseous.")) //got off lucky + to_chat(M, span_warning("You suddenly feel slightly nauseous.")) //got off lucky if(severity == 2) - to_chat(usr, span("warning", "You suddenly feel extremely nauseous and hunch over until it passes.")) + to_chat(usr, span_warning("You suddenly feel extremely nauseous and hunch over until it passes.")) M.Stun(3) if(severity >= 3) //you didn't pray hard enough - to_chat(M, span("warning", "An overpowering wave of nausea consumes over you. You hunch over, your stomach's contents preparing for a spectacular exit.")) + to_chat(M, span_warning("An overpowering wave of nausea consumes over you. You hunch over, your stomach's contents preparing for a spectacular exit.")) spawn(30) if(istype(M,/mob/living/carbon/human)) var/mob/living/carbon/human/H = M @@ -509,12 +509,12 @@ src.visible_message("A sudden gust of powerful wind slams \the [M] into the floor!", "You hear a large fwooshing sound, followed by a bang.") M.take_organ_damage(15) else - to_chat(M, span("warning", "A violent gale blows past you, and you barely manage to stay standing!")) + to_chat(M, span_warning("A violent gale blows past you, and you barely manage to stay standing!")) if(ORION_TRAIL_COLLISION) //by far the most damaging event if(prob(90) && !hull) var/turf/simulated/floor/F = src.loc F.ChangeTurf(/turf/space) - src.visible_message(span("danger", "Something slams into the floor around \the [src], exposing it to space!"), "You hear something crack and break.") + src.visible_message(span_danger("Something slams into the floor around \the [src], exposing it to space!"), "You hear something crack and break.") else src.visible_message("Something slams into the floor around \the [src] - luckily, it didn't get through!", "You hear something crack.") if(ORION_TRAIL_MALFUNCTION) @@ -535,7 +535,7 @@ else if(href_list["newgame"]) //Reset everything if(gameStatus == ORION_STATUS_START) playsound(src, 'sound/arcade/Ori_begin.ogg', 50, 1, extrarange = -3, falloff = 0.1, ignore_walls = FALSE) - newgame() + newgame(usr) else if(href_list["menu"]) //back to the main menu if(gameStatus == ORION_STATUS_GAMEOVER) gameStatus = ORION_STATUS_START @@ -584,9 +584,9 @@ event() if(emagged) //has to be here because otherwise it doesn't work src.show_message("\The [src] states, 'YOU ARE EXPERIENCING A BLACKHOLE. BE TERRIFIED.","You hear something say, 'YOU ARE EXPERIENCING A BLACKHOLE. BE TERRFIED'") - to_chat(usr, span("warning", "Something draws you closer and closer to the machine.")) + to_chat(usr, span_warning("Something draws you closer and closer to the machine.")) sleep(10) - to_chat(usr, span("danger", "This is really starting to hurt!")) + to_chat(usr, span_danger("This is really starting to hurt!")) var i; //spawning a literal blackhole would be fun, but a bit disruptive. for(i=0;i<4;i++) var/mob/living/L = usr @@ -682,7 +682,7 @@ last_spaceport_action = "You failed to raid the spaceport! You lost [FU*-1] Fuel and [FO*-1] Food, AND [lost_crew] in your scramble to escape! ([FU]FI,[FO]FO,-Crew)" if(emagged) src.visible_message("The machine states, 'YOU ARE UNDER ARREST, RAIDER!' and shoots handcuffs onto [usr]!", "You hear something say 'YOU ARE UNDER ARREST, RAIDER!' and a clinking sound") - var/obj/item/weapon/handcuffs/C = new(src.loc) + var/obj/item/handcuffs/C = new(src.loc) var/mob/living/carbon/human/H = usr if(istype(H)) C.forceMove(H) @@ -1006,14 +1006,14 @@ return removed -/obj/machinery/computer/arcade/orion_trail/proc/win() +/obj/machinery/computer/arcade/orion_trail/proc/win(var/mob/user) gameStatus = ORION_STATUS_START src.visible_message("\The [src] plays a triumpant tune, stating 'CONGRATULATIONS, YOU HAVE MADE IT TO ORION.'") playsound(src, 'sound/arcade/Ori_win.ogg', 50, 1, extrarange = -3, falloff = 0.1, ignore_walls = FALSE) if(emagged) - new /obj/item/weapon/orion_ship(src.loc) - message_admins("[key_name_admin(usr)] made it to Orion on an emagged machine and got an explosive toy ship.") - log_game("[key_name(usr)] made it to Orion on an emagged machine and got an explosive toy ship.") + new /obj/item/orion_ship(src.loc) + message_admins("[key_name_admin(user)] made it to Orion on an emagged machine and got an explosive toy ship.") + log_game("[key_name(user)] made it to Orion on an emagged machine and got an explosive toy ship.") else prizevend() emagged = 0 @@ -1022,14 +1022,14 @@ /obj/machinery/computer/arcade/orion_trail/emag_act(mob/user) if(!emagged) - to_chat(user, span("notice", "You override the cheat code menu and skip to Cheat #[rand(1, 50)]: Realism Mode.")) + to_chat(user, span_notice("You override the cheat code menu and skip to Cheat #[rand(1, 50)]: Realism Mode.")) name = "The Orion Trail: Realism Edition" desc = "Learn how our ancestors got to Orion, and try not to die in the process!" - newgame() + newgame(user) emagged = 1 return 1 -/obj/item/weapon/orion_ship +/obj/item/orion_ship name = "model settler ship" desc = "A model spaceship, it looks like those used back in the day when travelling to Orion! It even has a miniature FX-293 reactor, which was renowned for its instability and tendency to explode..." icon = 'icons/obj/toy.dmi' @@ -1037,32 +1037,32 @@ w_class = ITEMSIZE_SMALL var/active = 0 //if the ship is on -/obj/item/weapon/orion_ship/examine(mob/user) +/obj/item/orion_ship/examine(mob/user) . = ..() if(in_range(user, src)) if(!active) - . += span("notice", "There's a little switch on the bottom. It's flipped down.") + . += span_notice("There's a little switch on the bottom. It's flipped down.") else - . += span("notice", "There's a little switch on the bottom. It's flipped up.") + . += span_notice("There's a little switch on the bottom. It's flipped up.") -/obj/item/weapon/orion_ship/attack_self(mob/user) +/obj/item/orion_ship/attack_self(mob/user) if(active) return - message_admins("[key_name_admin(usr)] primed an explosive Orion ship for detonation.") - log_game("[key_name(usr)] primed an explosive Orion ship for detonation.") + message_admins("[key_name_admin(user)] primed an explosive Orion ship for detonation.") + log_game("[key_name(user)] primed an explosive Orion ship for detonation.") - to_chat(user, span("warning", "You flip the switch on the underside of [src].")) + to_chat(user, span_warning("You flip the switch on the underside of [src].")) active = 1 - src.visible_message(span("notice", "[src] softly beeps and whirs to life!")) - src.audible_message("\The [src] says, 'This is ship ID #[rand(1,1000)] to Orion Port Authority. We're coming in for landing, over.'") + src.visible_message(span_notice("[src] softly beeps and whirs to life!")) + src.audible_message(span_bold("\The [src]") + " says, 'This is ship ID #[rand(1,1000)] to Orion Port Authority. We're coming in for landing, over.'") sleep(20) - src.visible_message(span("warning", "[src] begins to vibrate...")) - src.audible_message("\The [src] says, 'Uh, Port? Having some issues with our reactor, could you check it out? Over.'") + src.visible_message(span_warning("[src] begins to vibrate...")) + src.audible_message(span_bold("\The [src]") + " says, 'Uh, Port? Having some issues with our reactor, could you check it out? Over.'") sleep(30) - src.audible_message("\The [src] says, 'Oh, God! Code Eight! CODE EIGHT! IT'S GONNA BL-'") + src.audible_message(span_bold("\The [src]") + " says, 'Oh, God! Code Eight! CODE EIGHT! IT'S GONNA BL-'") sleep(3.6) - src.visible_message(span("danger", "[src] explodes!")) + src.visible_message(span_danger("[src] explodes!")) explosion(src.loc, 1,2,4) qdel(src) @@ -1093,7 +1093,7 @@ icon_state = "clawmachine_new" icon_keyboard = null icon_screen = null - circuit = /obj/item/weapon/circuitboard/arcade/clawmachine + circuit = /obj/item/circuitboard/arcade/clawmachine prizes = list(/obj/random/plushie) var/wintick = 0 var/winprob = 0 @@ -1110,14 +1110,14 @@ if(gamepaid == 0 && vendor_account && !vendor_account.suspended) var/paid = 0 - var/obj/item/weapon/card/id/W = I.GetID() + var/obj/item/card/id/W = I.GetID() if(W) //for IDs and PDAs and wallets with IDs - paid = pay_with_card(W,I) - else if(istype(I, /obj/item/weapon/spacecash/ewallet)) - var/obj/item/weapon/spacecash/ewallet/C = I - paid = pay_with_ewallet(C) - else if(istype(I, /obj/item/weapon/spacecash)) - var/obj/item/weapon/spacecash/C = I + paid = pay_with_card(W, I, user) + else if(istype(I, /obj/item/spacecash/ewallet)) + var/obj/item/spacecash/ewallet/C = I + paid = pay_with_ewallet(C, user) + else if(istype(I, /obj/item/spacecash)) + var/obj/item/spacecash/C = I paid = pay_with_cash(C, user) if(paid) gamepaid = 1 @@ -1126,22 +1126,22 @@ return ////// Cash -/obj/machinery/computer/arcade/clawmachine/proc/pay_with_cash(var/obj/item/weapon/spacecash/cashmoney, mob/user) +/obj/machinery/computer/arcade/clawmachine/proc/pay_with_cash(var/obj/item/spacecash/cashmoney, mob/user) if(!emagged) if(gameprice > cashmoney.worth) // This is not a status display message, since it's something the character // themselves is meant to see BEFORE putting the money in - to_chat(usr, "[icon2html(cashmoney,user.client)] That is not enough money.") + to_chat(user, "[icon2html(cashmoney,user.client)] " + span_warning("That is not enough money.")) return 0 - if(istype(cashmoney, /obj/item/weapon/spacecash)) + if(istype(cashmoney, /obj/item/spacecash)) - visible_message("\The [usr] inserts some cash into \the [src].") + visible_message(span_info("\The [user] inserts some cash into \the [src].")) cashmoney.worth -= gameprice if(cashmoney.worth <= 0) - usr.drop_from_inventory(cashmoney) + user.drop_from_inventory(cashmoney) qdel(cashmoney) else cashmoney.update_icon() @@ -1151,16 +1151,16 @@ return 1 if(emagged) playsound(src, 'sound/arcade/steal.ogg', 50, 1, extrarange = -3, falloff = 0.1, ignore_walls = FALSE) - to_chat(user, "It doesn't seem to accept that! Seem you'll need to swipe a valid ID.") + to_chat(user, span_info("It doesn't seem to accept that! Seem you'll need to swipe a valid ID.")) ///// Ewallet -/obj/machinery/computer/arcade/clawmachine/proc/pay_with_ewallet(var/obj/item/weapon/spacecash/ewallet/wallet) +/obj/machinery/computer/arcade/clawmachine/proc/pay_with_ewallet(var/obj/item/spacecash/ewallet/wallet, var/mob/user) if(!emagged) - visible_message("\The [usr] swipes \the [wallet] through \the [src].") + visible_message(span_info("\The [user] swipes \the [wallet] through \the [src].")) playsound(src, 'sound/machines/id_swipe.ogg', 50, 1) if(gameprice > wallet.worth) - visible_message("Insufficient funds.") + visible_message(span_info("Insufficient funds.")) return 0 else wallet.worth -= gameprice @@ -1168,36 +1168,36 @@ return 1 if(emagged) playsound(src, 'sound/arcade/steal.ogg', 50, 1, extrarange = -3, falloff = 0.1, ignore_walls = FALSE) - to_chat(usr, "It doesn't seem to accept that! Seem you'll need to swipe a valid ID.") + to_chat(user, span_info("It doesn't seem to accept that! Seem you'll need to swipe a valid ID.")) ///// ID -/obj/machinery/computer/arcade/clawmachine/proc/pay_with_card(var/obj/item/weapon/card/id/I, var/obj/item/ID_container) +/obj/machinery/computer/arcade/clawmachine/proc/pay_with_card(var/obj/item/card/id/I, var/obj/item/ID_container, var/mob/user) if(I==ID_container || ID_container == null) - visible_message("\The [usr] swipes \the [I] through \the [src].") + visible_message(span_info("\The [user] swipes \the [I] through \the [src].")) else - visible_message("\The [usr] swipes \the [ID_container] through \the [src].") + visible_message(span_info("\The [user] swipes \the [ID_container] through \the [src].")) playsound(src, 'sound/machines/id_swipe.ogg', 50, 1) var/datum/money_account/customer_account = get_account(I.associated_account_number) if(!customer_account) - visible_message("Error: Unable to access account. Please contact technical support if problem persists.") + visible_message(span_info("Error: Unable to access account. Please contact technical support if problem persists.")) return 0 if(customer_account.suspended) - visible_message("Unable to access account: account suspended.") + visible_message(span_info("Unable to access account: account suspended.")) return 0 // Have the customer punch in the PIN before checking if there's enough money. Prevents people from figuring out acct is // empty at high security levels if(customer_account.security_level != 0) //If card requires pin authentication (ie seclevel 1 or 2) - var/attempt_pin = tgui_input_number(usr, "Enter pin code", "Vendor transaction") + var/attempt_pin = tgui_input_number(user, "Enter pin code", "Vendor transaction") customer_account = attempt_account_access(I.associated_account_number, attempt_pin, 2) if(!customer_account) - visible_message("Unable to access account: incorrect credentials.") + visible_message(span_info("Unable to access account: incorrect credentials.")) return 0 if(gameprice > customer_account.money) - visible_message("Insufficient funds in account.") + visible_message(span_info("Insufficient funds in account.")) return 0 else // Okay to move the money at this point @@ -1268,7 +1268,7 @@ return data -/obj/machinery/computer/arcade/clawmachine/tgui_act(action, params) +/obj/machinery/computer/arcade/clawmachine/tgui_act(action, params, datum/tgui/ui) if(..()) return @@ -1289,9 +1289,9 @@ if(action == "pointless" && wintick >= 10) instructions = "Insert 1 thaler or swipe a card to play!" - clawvend() + clawvend(ui.user) -/obj/machinery/computer/arcade/clawmachine/proc/clawvend() /// True to a real claw machine, it's NEARLY impossible to win. +/obj/machinery/computer/arcade/clawmachine/proc/clawvend(var/mob/user) /// True to a real claw machine, it's NEARLY impossible to win. winprob += 1 /// Yeah. if(prob(winprob)) /// YEAH. @@ -1302,9 +1302,9 @@ gameprice = 1 emagged = 0 winscreen = "You won...?" - var/obj/item/weapon/grenade/G = new /obj/item/weapon/grenade/explosive(get_turf(src)) /// YEAAAAAAAAAAAAAAAAAAH!!!!!!!!!! + var/obj/item/grenade/G = new /obj/item/grenade/explosive(get_turf(src)) /// YEAAAAAAAAAAAAAAAAAAH!!!!!!!!!! G.activate() - G.throw_at(get_turf(usr),10,10) /// Play stupid games, win stupid prizes. + G.throw_at(get_turf(user),10,10) /// Play stupid games, win stupid prizes. playsound(src, 'sound/arcade/Ori_win.ogg', 50, 1, extrarange = -3, falloff = 0.1, ignore_walls = FALSE) winprob = 0 @@ -1319,7 +1319,7 @@ /obj/machinery/computer/arcade/clawmachine/emag_act(mob/user) if(!emagged) - to_chat(user, "You modify the claw of the machine. The next one is sure to win! You just have to pay...") + to_chat(user, span_info("You modify the claw of the machine. The next one is sure to win! You just have to pay...")) name = "AlliCo Snag-A-Prize" desc = "Get some goodies, all for you!" instructions = "Swipe a card to play!" @@ -1336,13 +1336,13 @@ var/obj/item/stack/arcadeticket/T = O var/amount = T.get_amount() if(amount <2) - to_chat(user, "You need 2 tickets to claim a prize!") + to_chat(user, span_warning("You need 2 tickets to claim a prize!")) return prizevend(user) T.pay_tickets() T.update_icon() O = T - to_chat(user, "You turn in 2 tickets to the [src] and claim a prize!") + to_chat(user, span_notice("You turn in 2 tickets to the [src] and claim a prize!")) return else ..() //You can now actually deconstruct these. diff --git a/code/game/machinery/computer/arcade_vr.dm b/code/game/machinery/computer/arcade_vr.dm index f38a3785bf4..80daaceb524 100644 --- a/code/game/machinery/computer/arcade_vr.dm +++ b/code/game/machinery/computer/arcade_vr.dm @@ -1,15 +1,15 @@ /obj/machinery/computer/arcade - prizes = list( /obj/item/weapon/storage/box/snappops = 2, + prizes = list( /obj/item/storage/box/snappops = 2, /obj/item/toy/blink = 2, /obj/item/clothing/under/syndicate/tacticool = 2, /obj/item/toy/sword = 2, - /obj/item/weapon/storage/box/capguntoy = 2, - /obj/item/weapon/gun/projectile/revolver/toy/crossbow = 2, + /obj/item/storage/box/capguntoy = 2, + /obj/item/gun/projectile/revolver/toy/crossbow = 2, /obj/item/clothing/suit/syndicatefake = 2, - /obj/item/weapon/storage/fancy/crayons = 2, + /obj/item/storage/fancy/crayons = 2, /obj/item/toy/spinningtoy = 2, /obj/random/mech_toy = 1, - /obj/item/weapon/reagent_containers/spray/waterflower = 1, + /obj/item/reagent_containers/spray/waterflower = 1, /obj/random/action_figure = 1, /obj/random/plushie = 1, /obj/item/toy/cultsword = 1, @@ -22,12 +22,11 @@ /obj/item/toy/redbutton = 2, /obj/item/toy/gnome = 2, /obj/item/toy/AI = 2, - /obj/item/clothing/gloves/ring/buzzer/toy = 2, - /obj/item/weapon/storage/box/handcuffs/fake = 2, + /obj/item/storage/box/handcuffs/fake = 2, /obj/item/toy/nuke = 2, /obj/item/toy/minigibber = 2, /obj/item/toy/toy_xeno = 2, - /obj/item/weapon/toy/monster_bait = 2, + /obj/item/toy/monster_bait = 2, /obj/item/toy/russian_revolver = 1, /obj/item/toy/russian_revolver/trick_revolver = 1, /obj/item/toy/chainsaw = 1, diff --git a/code/game/machinery/computer/atmos_alert.dm b/code/game/machinery/computer/atmos_alert.dm index 24a7d21a5f0..9d51c04de2d 100644 --- a/code/game/machinery/computer/atmos_alert.dm +++ b/code/game/machinery/computer/atmos_alert.dm @@ -7,7 +7,7 @@ var/global/list/minor_air_alarms = list() /obj/machinery/computer/atmos_alert name = "atmospheric alert computer" desc = "Used to access the station's atmospheric sensors." - circuit = /obj/item/weapon/circuitboard/atmos_alert + circuit = /obj/item/circuitboard/atmos_alert icon_keyboard = "atmos_key" icon_screen = "alert:0" light_color = "#e6ffff" diff --git a/code/game/machinery/computer/atmos_control.dm b/code/game/machinery/computer/atmos_control.dm index 869756f9874..3ab9d844553 100644 --- a/code/game/machinery/computer/atmos_control.dm +++ b/code/game/machinery/computer/atmos_control.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/circuitboard/atmoscontrol +/obj/item/circuitboard/atmoscontrol name = "\improper Central Atmospherics Computer Circuitboard" build_path = /obj/machinery/computer/atmoscontrol @@ -10,7 +10,7 @@ light_color = "#00b000" density = TRUE anchored = TRUE - circuit = /obj/item/weapon/circuitboard/atmoscontrol + circuit = /obj/item/circuitboard/atmoscontrol req_access = list(access_ce) var/list/monitored_alarm_ids = null var/datum/tgui_module/atmos_control/atmos_control @@ -38,8 +38,8 @@ /obj/machinery/computer/atmoscontrol/emag_act(var/remaining_carges, var/mob/user) if(!emagged) - user.visible_message("\The [user] does something \the [src], causing the screen to flash!",\ - "You cause the screen to flash as you gain full control.",\ + user.visible_message(span_warning("\The [user] does something \the [src], causing the screen to flash!"),\ + span_warning("You cause the screen to flash as you gain full control."),\ "You hear an electronic warble.") atmos_control.emagged = 1 return 1 diff --git a/code/game/machinery/computer/buildandrepair.dm b/code/game/machinery/computer/buildandrepair.dm index dadd437b396..01a65651b72 100644 --- a/code/game/machinery/computer/buildandrepair.dm +++ b/code/game/machinery/computer/buildandrepair.dm @@ -7,7 +7,7 @@ icon = 'icons/obj/stock_parts.dmi' icon_state = "0" var/state = 0 - var/obj/item/weapon/circuitboard/circuit = null + var/obj/item/circuitboard/circuit = null // weight = 1.0E8 /obj/structure/computerframe/attackby(obj/item/P as obj, mob/user as mob) @@ -16,46 +16,46 @@ if(P.has_tool_quality(TOOL_WRENCH)) playsound(src, P.usesound, 50, 1) if(do_after(user, 20 * P.toolspeed)) - to_chat(user, "You wrench the frame into place.") + to_chat(user, span_notice("You wrench the frame into place.")) src.anchored = TRUE src.state = 1 if(P.has_tool_quality(TOOL_WELDER)) - var/obj/item/weapon/weldingtool/WT = P.get_welder() + var/obj/item/weldingtool/WT = P.get_welder() if(!WT.remove_fuel(0, user)) to_chat(user, "The welding tool must be on to complete this task.") return playsound(src, WT.usesound, 50, 1) if(do_after(user, 20 * WT.toolspeed)) if(!src || !WT.isOn()) return - to_chat(user, "You deconstruct the frame.") + to_chat(user, span_notice("You deconstruct the frame.")) new /obj/item/stack/material/steel( src.loc, 5 ) qdel(src) if(1) if(P.has_tool_quality(TOOL_WRENCH)) playsound(src, P.usesound, 50, 1) if(do_after(user, 20 * P.toolspeed)) - to_chat(user, "You unfasten the frame.") + to_chat(user, span_notice("You unfasten the frame.")) src.anchored = FALSE src.state = 0 - if(istype(P, /obj/item/weapon/circuitboard) && !circuit) - var/obj/item/weapon/circuitboard/B = P + if(istype(P, /obj/item/circuitboard) && !circuit) + var/obj/item/circuitboard/B = P if(B.board_type == "computer") playsound(src, 'sound/items/Deconstruct.ogg', 50, 1) - to_chat(user, "You place the circuit board inside the frame.") + to_chat(user, span_notice("You place the circuit board inside the frame.")) src.icon_state = "1" src.circuit = P user.drop_item() P.loc = src else - to_chat(user, "This frame does not accept circuit boards of this type!") + to_chat(user, span_warning("This frame does not accept circuit boards of this type!")) if(P.has_tool_quality(TOOL_SCREWDRIVER) && circuit) playsound(src, P.usesound, 50, 1) - to_chat(user, "You screw the circuit board into place.") + to_chat(user, span_notice("You screw the circuit board into place.")) src.state = 2 src.icon_state = "2" if(P.has_tool_quality(TOOL_CROWBAR)) && circuit) playsound(src, P.usesound, 50, 1) - to_chat(user, "You remove the circuit board.") + to_chat(user, span_notice("You remove the circuit board.")) src.state = 1 src.icon_state = "0" circuit.loc = src.loc @@ -63,25 +63,25 @@ if(2) if(P.has_tool_quality(TOOL_SCREWDRIVER) && circuit) playsound(src, P.usesound, 50, 1) - to_chat(user, "You unfasten the circuit board.") + to_chat(user, span_notice("You unfasten the circuit board.")) src.state = 1 src.icon_state = "1" if(istype(P, /obj/item/stack/cable_coil)) var/obj/item/stack/cable_coil/C = P if (C.get_amount() < 5) - to_chat(user, "You need five coils of wire to add them to the frame.") + to_chat(user, span_warning("You need five coils of wire to add them to the frame.")) return - to_chat(user, "You start to add cables to the frame.") + to_chat(user, span_notice("You start to add cables to the frame.")) playsound(src, 'sound/items/Deconstruct.ogg', 50, 1) if(do_after(user, 20) && state == 2) if (C.use(5)) - to_chat(user, "You add cables to the frame.") + to_chat(user, span_notice("You add cables to the frame.")) state = 3 icon_state = "3" if(3) if(P.has_tool_quality(TOOL_WIRECUTTER)) playsound(src, P.usesound, 50, 1) - to_chat(user, "You remove the cables.") + to_chat(user, span_notice("You remove the cables.")) src.state = 2 src.icon_state = "2" var/obj/item/stack/cable_coil/A = new /obj/item/stack/cable_coil( src.loc ) @@ -90,25 +90,25 @@ if(istype(P, /obj/item/stack/material) && P.get_material_name() == "glass") var/obj/item/stack/G = P if (G.get_amount() < 2) - to_chat(user, "You need two sheets of glass to put in the glass panel.") + to_chat(user, span_warning("You need two sheets of glass to put in the glass panel.")) return playsound(src, 'sound/items/Deconstruct.ogg', 50, 1) - to_chat(user, "You start to put in the glass panel.") + to_chat(user, span_notice("You start to put in the glass panel.")) if(do_after(user, 20) && state == 3) if (G.use(2)) - to_chat(user, "You put in the glass panel.") + to_chat(user, span_notice("You put in the glass panel.")) src.state = 4 src.icon_state = "4" if(4) if(P.has_tool_quality(TOOL_CROWBAR)) playsound(src, P.usesound, 50, 1) - to_chat(user, "You remove the glass panel.") + to_chat(user, span_notice("You remove the glass panel.")) src.state = 3 src.icon_state = "3" new /obj/item/stack/material/glass( src.loc, 2 ) if(P.has_tool_quality(TOOL_SCREWDRIVER)) playsound(src, P.usesound, 50, 1) - to_chat(user, "You connect the monitor.") + to_chat(user, span_notice("You connect the monitor.")) var/B = new src.circuit.build_path ( src.loc ) src.circuit.construct(B) qdel(src) diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm index 34caeb2d357..c19ca2432dc 100644 --- a/code/game/machinery/computer/camera.dm +++ b/code/game/machinery/computer/camera.dm @@ -7,7 +7,7 @@ icon_keyboard = "security_key" icon_screen = "cameras" light_color = "#a91515" - circuit = /obj/item/weapon/circuitboard/security + circuit = /obj/item/circuitboard/security var/mapping = 0//For the overview file, interesting bit of code. var/list/network = list() @@ -46,7 +46,7 @@ /obj/machinery/computer/security/attack_ai(mob/user) if(isAI(user)) - to_chat(user, "You realise its kind of stupid to access a camera console when you have the entire camera network at your metaphorical fingertips") + to_chat(user, span_notice("You realise its kind of stupid to access a camera console when you have the entire camera network at your metaphorical fingertips")) return attack_hand(user) @@ -78,10 +78,10 @@ GLOBAL_LIST_EMPTY(entertainment_screens) light_color = "#FFEEDB" light_range_on = 2 network = list(NETWORK_THUNDER) - circuit = /obj/item/weapon/circuitboard/security/telescreen/entertainment + circuit = /obj/item/circuitboard/security/telescreen/entertainment camera_datum_type = /datum/tgui_module/camera/bigscreen - var/obj/item/device/radio/radio = null + var/obj/item/radio/radio = null var/obj/effect/overlay/vis/pinboard var/datum/weakref/showing @@ -133,7 +133,7 @@ GLOBAL_LIST_EMPTY(entertainment_screens) if(modifiers["alt"]) if(isliving(usr) && Adjacent(usr) && !usr.incapacitated()) toggle() - visible_message("[usr] toggles [src] [enabled ? "on" : "off"].","You toggle [src] [enabled ? "on" : "off"].", runemessage = "click") + visible_message(span_infoplain(span_bold("[usr]") + " toggles [src] [enabled ? "on" : "off"]."),span_info("You toggle [src] [enabled ? "on" : "off"]."), runemessage = "click") else attack_hand(usr) @@ -173,7 +173,7 @@ GLOBAL_LIST_EMPTY(entertainment_screens) icon_state = "television" icon_keyboard = null icon_screen = "detective_tv" - circuit = /obj/item/weapon/circuitboard/security/tv + circuit = /obj/item/circuitboard/security/tv light_color = "#3848B3" light_power_on = 0.5 @@ -183,7 +183,7 @@ GLOBAL_LIST_EMPTY(entertainment_screens) icon_keyboard = "mining_key" icon_screen = "mining" network = list("Mining Outpost") - circuit = /obj/item/weapon/circuitboard/security/mining + circuit = /obj/item/circuitboard/security/mining light_color = "#F9BBFC" /obj/machinery/computer/security/engineering @@ -191,7 +191,7 @@ GLOBAL_LIST_EMPTY(entertainment_screens) desc = "Used to monitor fires and breaches." icon_keyboard = "power_key" icon_screen = "engie_cams" - circuit = /obj/item/weapon/circuitboard/security/engineering + circuit = /obj/item/circuitboard/security/engineering light_color = "#FAC54B" /obj/machinery/computer/security/engineering/get_default_networks() diff --git a/code/game/machinery/computer/camera_vr.dm b/code/game/machinery/computer/camera_vr.dm index 7f9f88d877f..9a124d3de69 100644 --- a/code/game/machinery/computer/camera_vr.dm +++ b/code/game/machinery/computer/camera_vr.dm @@ -31,5 +31,5 @@ icon_keyboard = "mining_key" icon_screen = "mining" network = list(NETWORK_XENOBIO) - circuit = /obj/item/weapon/circuitboard/security/xenobio + circuit = /obj/item/circuitboard/security/xenobio light_color = "#F9BBFC" \ No newline at end of file diff --git a/code/game/machinery/computer/card.dm b/code/game/machinery/computer/card.dm index 75b860330dd..77f9ce12c00 100644 --- a/code/game/machinery/computer/card.dm +++ b/code/game/machinery/computer/card.dm @@ -7,9 +7,9 @@ icon_screen = "id" light_color = "#0099ff" req_access = list(access_change_ids) - circuit = /obj/item/weapon/circuitboard/card - var/obj/item/weapon/card/id/scan = null - var/obj/item/weapon/card/id/modify = null + circuit = /obj/item/circuitboard/card + var/obj/item/card/id/scan = null + var/obj/item/card/id/modify = null var/mode = 0.0 var/printing = null @@ -55,11 +55,11 @@ to_chat(usr, "There is nothing to remove from the console.") return -/obj/machinery/computer/card/attackby(obj/item/weapon/card/id/id_card, mob/user) +/obj/machinery/computer/card/attackby(obj/item/card/id/id_card, mob/user) if(!istype(id_card)) return ..() - if(!scan && (access_change_ids in id_card.access) && (user.unEquip(id_card) || (id_card.loc == user && istype(user,/mob/living/silicon/robot)))) //Grippers. Again. ~Mechoid + if(!scan && (access_change_ids in id_card.GetAccess()) && (user.unEquip(id_card) || (id_card.loc == user && istype(user,/mob/living/silicon/robot)))) //Grippers. Again. ~Mechoid user.drop_item() id_card.forceMove(src) scan = id_card @@ -129,7 +129,7 @@ all_centcom_access.Add(list(list( "desc" = replacetext(get_centcom_access_desc(access), " ", " "), "ref" = access, - "allowed" = (access in modify.access) ? 1 : 0))) + "allowed" = (access in modify.GetAccess()) ? 1 : 0))) else if(modify) for(var/i in ACCESS_REGION_SECURITY to ACCESS_REGION_SUPPLY) var/list/accesses = list() @@ -138,7 +138,7 @@ accesses.Add(list(list( "desc" = replacetext(get_access_desc(access), " ", " "), "ref" = access, - "allowed" = (access in modify.access) ? 1 : 0))) + "allowed" = (access in modify.GetAccess()) ? 1 : 0))) regions.Add(list(list( "name" = get_region_accesses_name(i), @@ -158,35 +158,35 @@ if(modify) data_core.manifest_modify(modify.registered_name, modify.assignment, modify.rank) modify.name = "[modify.registered_name]'s ID Card ([modify.assignment])" - if(ishuman(usr)) + if(ishuman(ui.user)) modify.forceMove(get_turf(src)) - if(!usr.get_active_hand()) - usr.put_in_hands(modify) + if(!ui.user.get_active_hand()) + ui.user.put_in_hands(modify) modify = null else modify.forceMove(get_turf(src)) modify = null else - var/obj/item/I = usr.get_active_hand() - if(istype(I, /obj/item/weapon/card/id) && usr.unEquip(I)) + var/obj/item/I = ui.user.get_active_hand() + if(istype(I, /obj/item/card/id) && ui.user.unEquip(I)) I.forceMove(src) modify = I . = TRUE if("scan") if(scan) - if(ishuman(usr)) + if(ishuman(ui.user)) scan.forceMove(get_turf(src)) - if(!usr.get_active_hand()) - usr.put_in_hands(scan) + if(!ui.user.get_active_hand()) + ui.user.put_in_hands(scan) scan = null else scan.forceMove(get_turf(src)) scan = null else - var/obj/item/I = usr.get_active_hand() - if(istype(I, /obj/item/weapon/card/id)) - usr.drop_item() + var/obj/item/I = ui.user.get_active_hand() + if(istype(I, /obj/item/card/id)) + ui.user.drop_item() I.forceMove(src) scan = I . = TRUE @@ -205,7 +205,7 @@ if(is_authenticated() && modify) var/t1 = params["assign_target"] if(t1 == "Custom") - var/temp_t = sanitize(tgui_input_text(usr, "Enter a custom job assignment.","Assignment"), 45) + var/temp_t = sanitize(tgui_input_text(ui.user, "Enter a custom job assignment.","Assignment"), 45) //let custom jobs function as an impromptu alt title, mainly for sechuds if(temp_t && modify) modify.assignment = temp_t @@ -216,7 +216,7 @@ else var/datum/job/jobdatum = SSjob.get_job(t1) if(!jobdatum) - to_chat(usr, "No log exists for this job: [t1]") + to_chat(ui.user, span_warning("No log exists for this job: [t1]")) return access = jobdatum.get_access() @@ -233,7 +233,7 @@ if(temp_name) modify.registered_name = temp_name else - visible_message("[src] buzzes rudely.") + visible_message(span_notice("[src] buzzes rudely.")) . = TRUE if("account") @@ -253,7 +253,7 @@ printing = null SStgui.update_uis(src) - var/obj/item/weapon/paper/P = new(loc) + var/obj/item/paper/P = new(loc) if(mode) P.name = text("crew manifest ([])", stationtime2text()) P.info = {"

Crew Manifest

@@ -290,7 +290,7 @@ /obj/machinery/computer/card/centcom name = "\improper CentCom ID card modification console" - circuit = /obj/item/weapon/circuitboard/card/centcom + circuit = /obj/item/circuitboard/card/centcom req_access = list(access_cent_captain) diff --git a/code/game/machinery/computer/cloning.dm b/code/game/machinery/computer/cloning.dm index 6a1002792b1..9175cb391ad 100644 --- a/code/game/machinery/computer/cloning.dm +++ b/code/game/machinery/computer/cloning.dm @@ -6,7 +6,7 @@ icon = 'icons/obj/computer.dmi' icon_keyboard = "med_key" icon_screen = "dna" - circuit = /obj/item/weapon/circuitboard/cloning + circuit = /obj/item/circuitboard/cloning req_access = list(access_heads) //Only used for record deletion right now. var/obj/machinery/dna_scannernew/scanner = null //Linked scanner. For scanning. var/list/pods = null //Linked cloning pods. @@ -15,7 +15,7 @@ var/menu = MENU_MAIN //Which menu screen to display var/list/records = null var/datum/dna2/record/active_record = null - var/obj/item/weapon/disk/data/diskette = null //Mostly so the geneticist can steal everything. + var/obj/item/disk/data/diskette = null //Mostly so the geneticist can steal everything. var/loading = 0 // Nice loading text var/autoprocess = 0 var/obj/machinery/clonepod/selected_pod @@ -91,7 +91,7 @@ P.name = "[initial(P.name)] #[num++]" /obj/machinery/computer/cloning/attackby(obj/item/W as obj, mob/user as mob, params) - if(istype(W, /obj/item/weapon/disk/data)) //INSERT SOME DISKETTES + if(istype(W, /obj/item/disk/data)) //INSERT SOME DISKETTES if(!diskette) user.drop_item() W.loc = src @@ -99,14 +99,14 @@ to_chat(user, "You insert [W].") SStgui.update_uis(src) return - else if(istype(W, /obj/item/device/multitool)) - var/obj/item/device/multitool/M = W + else if(istype(W, /obj/item/multitool)) + var/obj/item/multitool/M = W var/obj/machinery/clonepod/P = M.connecting if(P && !(P in pods)) pods += P P.connected = src P.name = "[initial(P.name)] #[pods.len]" - to_chat(user, "You connect [P] to [src].") + to_chat(user, span_notice("You connect [P] to [src].")) else return ..() @@ -196,7 +196,7 @@ return data -/obj/machinery/computer/cloning/tgui_act(action, params) +/obj/machinery/computer/cloning/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE @@ -204,8 +204,8 @@ switch(tgui_modal_act(src, action, params)) if(TGUI_MODAL_ANSWER) if(params["id"] == "del_rec" && active_record) - var/obj/item/weapon/card/id/C = usr.get_active_hand() - if(!istype(C) && !istype(C, /obj/item/device/pda)) + var/obj/item/card/id/C = ui.user.get_active_hand() + if(!istype(C) && !istype(C, /obj/item/pda)) set_temp("ID not in hand.", "danger") return if(check_access(C)) @@ -247,7 +247,7 @@ qdel(active_record) set_temp("Error: Record corrupt.", "danger") else - var/obj/item/weapon/implant/health/H = null + var/obj/item/implant/health/H = null if(active_record.implant) H = locate(active_record.implant) var/list/payload = list( @@ -336,7 +336,7 @@ set_temp("Error: Not enough biomass.", "danger") else if(pod.mess) set_temp("Error: The cloning pod is malfunctioning.", "danger") - else if(!config.revival_cloning) + else if(!CONFIG_GET(flag/revival_cloning)) set_temp("Error: Unable to initiate cloning cycle.", "danger") else cloneresult = pod.growclone(C) @@ -360,16 +360,16 @@ else scan_mode = FALSE if("eject") - if(usr.incapacitated() || !scanner || loading) + if(ui.user.incapacitated() || !scanner || loading) return - scanner.eject_occupant(usr) - scanner.add_fingerprint(usr) + scanner.eject_occupant(ui.user) + scanner.add_fingerprint(ui.user) if("cleartemp") temp = null else return FALSE - add_fingerprint(usr) + add_fingerprint(ui.user) /obj/machinery/computer/cloning/proc/scan_mob(mob/living/carbon/human/subject as mob, var/scan_brain = 0) if(stat & NOPOWER) @@ -437,9 +437,9 @@ R.genetic_modifiers.Add(mod.type) //Add an implant if needed - var/obj/item/weapon/implant/health/imp = locate(/obj/item/weapon/implant/health, subject) + var/obj/item/implant/health/imp = locate(/obj/item/implant/health, subject) if (isnull(imp)) - imp = new /obj/item/weapon/implant/health(subject) + imp = new /obj/item/implant/health(subject) imp.implanted = subject R.implant = "\ref[imp]" //Update it if needed diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index acc7dcb975e..bc272158eee 100644 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -8,7 +8,7 @@ icon_screen = "comm" light_color = "#0099ff" req_access = list(access_heads) - circuit = /obj/item/weapon/circuitboard/communications + circuit = /obj/item/circuitboard/communications var/datum/tgui_module/communications/communications diff --git a/code/game/machinery/computer/computer.dm b/code/game/machinery/computer/computer.dm index c14d2f302bd..2ca39d0ebb7 100644 --- a/code/game/machinery/computer/computer.dm +++ b/code/game/machinery/computer/computer.dm @@ -49,12 +49,12 @@ return if (prob(50)) for(var/x in verbs) - verbs -= x + src.verbs -= x set_broken() if(3.0) if (prob(25)) for(var/x in verbs) - verbs -= x + src.verbs -= x set_broken() else return @@ -125,8 +125,8 @@ if(computer_deconstruction_screwdriver(user, I)) return else - if(istype(I,/obj/item/weapon/gripper)) //Behold, Grippers and their horribleness. If ..() is called by any computers' attackby() now or in the future, this should let grippers work with them appropriately. - var/obj/item/weapon/gripper/B = I //B, for Borg. + if(istype(I,/obj/item/gripper)) //Behold, Grippers and their horribleness. If ..() is called by any computers' attackby() now or in the future, this should let grippers work with them appropriately. + var/obj/item/gripper/B = I //B, for Borg. if(!B.wrapped) to_chat(user, "\The [B] is not holding anything.") return @@ -158,12 +158,12 @@ return 0 if (!user.Adjacent(src)) - to_chat(user, "You can't climb there, the way is blocked.") + to_chat(user, span_danger("You can't climb there, the way is blocked.")) return 0 var/obj/occupied = turf_is_crowded() if(occupied) - to_chat(user, "There's \a [occupied] in the way.") + to_chat(user, span_danger("There's \a [occupied] in the way.")) return 0 return 1 @@ -185,7 +185,7 @@ if (!can_climb(user)) return - usr.visible_message("[user] starts climbing onto \the [src]!") + user.visible_message(span_warning("[user] starts climbing onto \the [src]!")) LAZYDISTINCTADD(climbers, user) if(!do_after(user,(issmall(user) ? climb_delay * 0.6 : climb_delay))) @@ -196,10 +196,10 @@ LAZYREMOVE(climbers, user) return - usr.forceMove(climb_to(user)) + user.forceMove(climb_to(user)) if (get_turf(user) == get_turf(src)) - usr.visible_message("[user] climbs onto \the [src]!") + user.visible_message(span_warning("[user] climbs onto \the [src]!")) LAZYREMOVE(climbers, user) /obj/machinery/computer/proc/climb_to(var/mob/living/user) @@ -212,11 +212,11 @@ if(!Adjacent(user)) return 0 if (user.restrained() || user.buckled) - to_chat(user, "You need your hands and legs free for this.") + to_chat(user, span_notice("You need your hands and legs free for this.")) return 0 if (user.stat || user.paralysis || user.sleeping || user.lying || user.weakened) return 0 if (isAI(user)) - to_chat(user, "You need hands for this.") + to_chat(user, span_notice("You need hands for this.")) return 0 - return 1 \ No newline at end of file + return 1 diff --git a/code/game/machinery/computer/crew.dm b/code/game/machinery/computer/crew.dm index cf1ce8ab20b..cc4fb5c4881 100644 --- a/code/game/machinery/computer/crew.dm +++ b/code/game/machinery/computer/crew.dm @@ -7,7 +7,7 @@ use_power = USE_POWER_IDLE idle_power_usage = 250 active_power_usage = 500 - circuit = /obj/item/weapon/circuitboard/crew + circuit = /obj/item/circuitboard/crew var/datum/tgui_module/crew_monitor/crew_monitor /obj/machinery/computer/crew/New() diff --git a/code/game/machinery/computer/guestpass.dm b/code/game/machinery/computer/guestpass.dm index dd33db4f86f..ddb74b6ad69 100644 --- a/code/game/machinery/computer/guestpass.dm +++ b/code/game/machinery/computer/guestpass.dm @@ -1,7 +1,7 @@ ///////////////////////////////////////////// //Guest pass //////////////////////////////// ///////////////////////////////////////////// -/obj/item/weapon/card/id/guest +/obj/item/card/id/guest name = "guest pass" desc = "Allows temporary access to station areas." icon_state = "guest" @@ -13,64 +13,64 @@ var/expired = 0 var/reason = "NOT SPECIFIED" -/obj/item/weapon/card/id/guest/update_icon() +/obj/item/card/id/guest/update_icon() return -/obj/item/weapon/card/id/guest/GetAccess() +/obj/item/card/id/guest/GetAccess() if(world.time > expiration_time) return access else return temp_access -/obj/item/weapon/card/id/guest/examine(mob/user) +/obj/item/card/id/guest/examine(mob/user) . = ..() if(world.time < expiration_time) - . += "This pass expires at [worldtime2stationtime(expiration_time)]." + . += span_notice("This pass expires at [worldtime2stationtime(expiration_time)].") else - . += "It expired at [worldtime2stationtime(expiration_time)]." + . += span_warning("It expired at [worldtime2stationtime(expiration_time)].") -/obj/item/weapon/card/id/guest/read() +/obj/item/card/id/guest/read() if(!Adjacent(usr)) return //Too far to read if(world.time > expiration_time) - to_chat(usr, "This pass expired at [worldtime2stationtime(expiration_time)].") + to_chat(usr, span_notice("This pass expired at [worldtime2stationtime(expiration_time)].")) else - to_chat(usr, "This pass expires at [worldtime2stationtime(expiration_time)].") + to_chat(usr, span_notice("This pass expires at [worldtime2stationtime(expiration_time)].")) - to_chat(usr, "It grants access to following areas:") + to_chat(usr, span_notice("It grants access to following areas:")) for (var/A in temp_access) - to_chat(usr, "[get_access_desc(A)].") - to_chat(usr, "Issuing reason: [reason].") + to_chat(usr, span_notice("[get_access_desc(A)].")) + to_chat(usr, span_notice("Issuing reason: [reason].")) return -/obj/item/weapon/card/id/guest/attack_self(mob/living/user as mob) +/obj/item/card/id/guest/attack_self(mob/living/user as mob) if(user.a_intent == I_HURT) if(icon_state == "guest-invalid") - to_chat(user, "This guest pass is already deactivated!") + to_chat(user, span_warning("This guest pass is already deactivated!")) return - var/confirm = tgui_alert(usr, "Do you really want to deactivate this guest pass? (you can't reactivate it)", "Confirm Deactivation", list("Yes", "No")) + var/confirm = tgui_alert(user, "Do you really want to deactivate this guest pass? (you can't reactivate it)", "Confirm Deactivation", list("Yes", "No")) if(confirm == "Yes") //rip guest pass \The [user] deactivates \the [src].") + user.visible_message(span_infoplain(span_bold("\The [user]") + "deactivates \the [src].")) icon_state = "guest-invalid" update_icon() expiration_time = world.time expired = 1 return ..() -/obj/item/weapon/card/id/guest/Initialize() +/obj/item/card/id/guest/Initialize() . = ..() START_PROCESSING(SSobj, src) update_icon() -/obj/item/weapon/card/id/guest/Destroy() +/obj/item/card/id/guest/Destroy() STOP_PROCESSING(SSobj, src) return ..() -/obj/item/weapon/card/id/guest/process() +/obj/item/card/id/guest/process() if(expired == 0 && world.time >= expiration_time) - visible_message("\The [src] flashes a few times before turning red.") + visible_message(span_warning("\The [src] flashes a few times before turning red.")) icon_state = "guest-invalid" update_icon() expired = 1 @@ -90,9 +90,9 @@ icon_keyboard = null icon_screen = "pass" density = FALSE - circuit = /obj/item/weapon/circuitboard/guestpass + circuit = /obj/item/circuitboard/guestpass - var/obj/item/weapon/card/id/giver + var/obj/item/card/id/giver var/list/accesses = list() var/giv_name = "NOT SPECIFIED" var/reason = "NOT SPECIFIED" @@ -107,19 +107,19 @@ /obj/machinery/computer/guestpass/attackby(obj/I, mob/user) - if(istype(I, /obj/item/weapon/card/id/guest)) - to_chat(user, "The guest pass terminal denies to accept the guest pass.") + if(istype(I, /obj/item/card/id/guest)) + to_chat(user, span_warning("The guest pass terminal denies to accept the guest pass.")) return - if(istype(I, /obj/item/weapon/card/id)) + if(istype(I, /obj/item/card/id)) if(stat & NOPOWER) //checking for power in here so crowbar and screwdriver and stuff still works. - to_chat(user, SPAN_WARNING("The terminal refuses your I.D as it is unpowered!")) + to_chat(user, span_warning("The terminal refuses your I.D as it is unpowered!")) return if(!giver && user.unEquip(I)) I.forceMove(src) giver = I SStgui.update_uis(src) else if(giver) - to_chat(user, "There is already ID card inside.") + to_chat(user, span_warning("There is already ID card inside.")) return ..() @@ -134,7 +134,7 @@ if(!usr || usr.stat || usr.lying) return if(giver) - to_chat(usr, SPAN_NOTICE("You remove \the [giver] from \the [src].")) + to_chat(usr, span_notice("You remove \the [giver] from \the [src].")) giver.loc = get_turf(src) if(!usr.get_active_hand() && istype(usr,/mob/living/carbon/human)) usr.put_in_hands(giver) @@ -143,7 +143,7 @@ giver = null accesses.Cut() else - to_chat(usr, SPAN_WARNING("There is nothing to remove from the console.")) + to_chat(usr, span_warning("There is nothing to remove from the console.")) return /obj/machinery/computer/guestpass/attack_hand(var/mob/user as mob) @@ -165,9 +165,9 @@ var/list/area_list = list() data["access"] = null - if(giver && giver.access) - data["access"] = giver.access - for (var/A in giver.access) + if(giver && giver.GetAccess()) + data["access"] = giver.GetAccess() + for (var/A in giver.GetAccess()) if(A in accesses) area_list.Add(list(list("area" = A, "area_name" = get_access_desc(A), "on" = 1))) else @@ -193,44 +193,44 @@ mode = params["mode"] if("giv_name") - var/nam = sanitizeName(tgui_input_text(usr, "Person pass is issued to", "Name", giv_name)) + var/nam = sanitizeName(tgui_input_text(ui.user, "Person pass is issued to", "Name", giv_name)) if(nam) giv_name = nam if("reason") - var/reas = sanitize(tgui_input_text(usr, "Reason why pass is issued", "Reason", reason)) + var/reas = sanitize(tgui_input_text(ui.user, "Reason why pass is issued", "Reason", reason)) if(reas) reason = reas if("duration") - var/dur = tgui_input_number(usr, "Duration (in minutes) during which pass is valid (up to 360 minutes).", "Duration", null, 360, 0) + var/dur = tgui_input_number(ui.user, "Duration (in minutes) during which pass is valid (up to 360 minutes).", "Duration", null, 360, 0) if(dur) if(dur > 0 && dur <= 360) //VOREStation Edit duration = dur else - to_chat(usr, "Invalid duration.") + to_chat(ui.user, span_warning("Invalid duration.")) if("access") var/A = text2num(params["access"]) if(A in accesses) accesses.Remove(A) else - if(A in giver.access) //Let's make sure the ID card actually has the access. + if(A in giver.GetAccess()) //Let's make sure the ID card actually has the access. accesses.Add(A) else - to_chat(usr, "Invalid selection, please consult technical support if there are any issues.") - log_debug("[key_name_admin(usr)] tried selecting an invalid guest pass terminal option.") + to_chat(ui.user, span_warning("Invalid selection, please consult technical support if there are any issues.")) + log_debug("[key_name_admin(ui.user)] tried selecting an invalid guest pass terminal option.") if("id") if(giver) - if(ishuman(usr)) - giver.loc = usr.loc - if(!usr.get_active_hand()) - usr.put_in_hands(giver) + if(ishuman(ui.user)) + giver.loc = ui.user.loc + if(!ui.user.get_active_hand()) + ui.user.put_in_hands(giver) giver = null else giver.loc = src.loc giver = null accesses.Cut() else - var/obj/item/I = usr.get_active_hand() - if(istype(I, /obj/item/weapon/card/id) && usr.unEquip(I)) + var/obj/item/I = ui.user.get_active_hand() + if(istype(I, /obj/item/card/id) && ui.user.unEquip(I)) I.loc = src giver = I @@ -238,9 +238,9 @@ var/dat = "

Activity log of guest pass terminal #[uid]


" for (var/entry in internal_log) dat += "[entry]

" - //to_chat(usr, "Printing the log, standby...") + //to_chat(ui.user, "Printing the log, standby...") //sleep(50) - var/obj/item/weapon/paper/P = new/obj/item/weapon/paper( loc ) + var/obj/item/paper/P = new/obj/item/paper( loc ) P.name = "activity log" P.info = dat @@ -256,14 +256,14 @@ entry += ". Expires at [worldtime2stationtime(world.time + duration*10*60)]." internal_log.Add(entry) - var/obj/item/weapon/card/id/guest/pass = new(src.loc) + var/obj/item/card/id/guest/pass = new(src.loc) pass.temp_access = accesses.Copy() pass.registered_name = giv_name pass.expiration_time = world.time + duration*10*60 pass.reason = reason pass.name = "guest pass #[number]" else - to_chat(usr, "Cannot issue pass without issuing ID.") + to_chat(ui.user, span_warning("Cannot issue pass without issuing ID.")) - add_fingerprint(usr) + add_fingerprint(ui.user) return TRUE diff --git a/code/game/machinery/computer/id_restorer_vr.dm b/code/game/machinery/computer/id_restorer_vr.dm index c9bbf49a273..c7330ded2ce 100644 --- a/code/game/machinery/computer/id_restorer_vr.dm +++ b/code/game/machinery/computer/id_restorer_vr.dm @@ -9,21 +9,21 @@ icon = 'icons/obj/machines/id_restorer_vr.dmi' density = FALSE clicksound = null - circuit = /obj/item/weapon/circuitboard/id_restorer + circuit = /obj/item/circuitboard/id_restorer var/icon_success = "restorer_success" var/icon_fail = "restorer_fail" - var/obj/item/weapon/card/id/inserted + var/obj/item/card/id/inserted /obj/machinery/computer/id_restorer/attackby(obj/I, mob/user) /* - if(istype(I, /obj/item/weapon/card/id) && !(istype(I,/obj/item/weapon/card/id/guest))) + if(istype(I, /obj/item/card/id) && !(istype(I,/obj/item/card/id/guest))) if(!inserted && user.unEquip(I)) I.forceMove(src) inserted = I else if(inserted) - to_chat(user, "There is already ID card inside.") + to_chat(user, span_warning("There is already ID card inside.")) return */ ..() @@ -34,7 +34,7 @@ /* if(!inserted) // No point in giving you an option what to do if there's no ID to do things with. - to_chat(user, "No ID is inserted.") + to_chat(user, span_notice("No ID is inserted.")) return var/choice = tgui_alert(user,"What do you want to do?","[src]",list("Restore ID access","Eject ID","Cancel")) @@ -44,29 +44,29 @@ if("Restore ID access") var/mob/living/carbon/human/H = user if(!(istype(H))) - to_chat(user, "Invalid user detected. Access denied.") + to_chat(user, span_warning("Invalid user detected. Access denied.")) flick(icon_fail, src) return else if((H.wear_mask && (H.wear_mask.flags_inv & HIDEFACE)) || (H.head && (H.head.flags_inv & HIDEFACE))) //Face hiding bad - to_chat(user, "Facial recognition scan failed due to physical obstructions. Access denied.") + to_chat(user, span_warning("Facial recognition scan failed due to physical obstructions. Access denied.")) flick(icon_fail, src) return else if(H.get_face_name() == "Unknown" || !(H.real_name == inserted.registered_name)) - to_chat(user, "Facial recognition scan failed. Access denied.") + to_chat(user, span_warning("Facial recognition scan failed. Access denied.")) flick(icon_fail, src) return else if(LAZYLEN(inserted.lost_access) && !(LAZYLEN(inserted.access))) inserted.access = inserted.lost_access inserted.lost_access = list() inserted.desc = "A partially digested card that has seen better days. The damage to access codes, however, appears to have been mitigated." - to_chat(user, "ID access codes successfully restored.") + to_chat(user, span_notice("ID access codes successfully restored.")) flick(icon_success, src) return else if(!(LAZYLEN(inserted.lost_access))) - to_chat(user, "No recent access codes damage detected. Restoration cancelled.") + to_chat(user, span_notice("No recent access codes damage detected. Restoration cancelled.")) return else - to_chat(user, "Terminal encountered unknown error. Contact system administrator or try again.") + to_chat(user, span_warning("Terminal encountered unknown error. Contact system administrator or try again.")) flick(icon_fail, src) return if("Eject ID") @@ -95,4 +95,4 @@ icon_override = 'icons/obj/machines/id_restorer_vr.dmi' /datum/frame/frame_types/id_restorer/get_icon_state(var/state) - return "restorer_b[state]" \ No newline at end of file + return "restorer_b[state]" diff --git a/code/game/machinery/computer/law.dm b/code/game/machinery/computer/law.dm index 7a241cdd7fc..c54b5ee32cb 100644 --- a/code/game/machinery/computer/law.dm +++ b/code/game/machinery/computer/law.dm @@ -5,7 +5,7 @@ desc = "Used to upload laws to the AI." icon_keyboard = "rd_key" icon_screen = "command" - circuit = /obj/item/weapon/circuitboard/aiupload + circuit = /obj/item/circuitboard/aiupload var/mob/living/silicon/ai/current = null var/opened = 0 @@ -19,18 +19,18 @@ opened = !opened if(opened) - to_chat(usr, "The access panel is now open.") + to_chat(usr, span_notice("The access panel is now open.")) else - to_chat(usr, "The access panel is now closed.") + to_chat(usr, span_notice("The access panel is now closed.")) return -/obj/machinery/computer/aiupload/attackby(obj/item/weapon/O as obj, mob/user as mob) +/obj/machinery/computer/aiupload/attackby(obj/item/O as obj, mob/user as mob) if (using_map && !(user.z in using_map.contact_levels)) - to_chat(user, "Unable to establish a connection: You're too far away from the station!") + to_chat(user, span_danger("Unable to establish a connection:") + " You're too far away from the station!") return - if(istype(O, /obj/item/weapon/aiModule)) - var/obj/item/weapon/aiModule/M = O + if(istype(O, /obj/item/aiModule)) + var/obj/item/aiModule/M = O M.install(src, user) else ..() @@ -61,12 +61,12 @@ desc = "Used to upload laws to Cyborgs." icon_keyboard = "rd_key" icon_screen = "command" - circuit = /obj/item/weapon/circuitboard/borgupload + circuit = /obj/item/circuitboard/borgupload var/mob/living/silicon/robot/current = null -/obj/machinery/computer/borgupload/attackby(obj/item/weapon/aiModule/module as obj, mob/user as mob) - if(istype(module, /obj/item/weapon/aiModule)) +/obj/machinery/computer/borgupload/attackby(obj/item/aiModule/module as obj, mob/user as mob) + if(istype(module, /obj/item/aiModule)) module.install(src, user) else return ..() diff --git a/code/game/machinery/computer/medical.dm b/code/game/machinery/computer/medical.dm index 8efe7003afb..afc2640e436 100644 --- a/code/game/machinery/computer/medical.dm +++ b/code/game/machinery/computer/medical.dm @@ -14,8 +14,8 @@ icon_screen = "medcomp" light_color = "#315ab4" req_one_access = list(access_medical, access_forensics_lockers, access_robotics) - circuit = /obj/item/weapon/circuitboard/med_data - var/obj/item/weapon/card/id/scan = null + circuit = /obj/item/circuitboard/med_data + var/obj/item/card/id/scan = null var/authenticated = null var/rank = null var/screen = null @@ -86,7 +86,7 @@ return /obj/machinery/computer/med_data/attackby(var/obj/item/O, var/mob/user) - if(istype(O, /obj/item/weapon/card/id) && !scan && user.unEquip(O)) + if(istype(O, /obj/item/card/id) && !scan && user.unEquip(O)) O.loc = src scan = O to_chat(user, "You insert \the [O].") @@ -172,8 +172,10 @@ medical["empty"] = 1 if(MED_DATA_V_DATA) data["virus"] = list() - for(var/ID in virusDB) - var/datum/data/record/v = virusDB[ID] + for(var/datum/disease/D in active_diseases) + if(!D.discovered) + continue + var/datum/data/record/v = active_diseases[D] data["virus"] += list(list("name" = v.fields["name"], "D" = "\ref[v]")) if(MED_DATA_MEDBOT) data["medbots"] = list() @@ -200,7 +202,7 @@ data["modal"] = tgui_modal_data(src) return data -/obj/machinery/computer/med_data/tgui_act(action, params) +/obj/machinery/computer/med_data/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE @@ -219,13 +221,13 @@ if("scan") if(scan) scan.forceMove(loc) - if(ishuman(usr) && !usr.get_active_hand()) - usr.put_in_hands(scan) + if(ishuman(ui.user) && !ui.user.get_active_hand()) + ui.user.put_in_hands(scan) scan = null else - var/obj/item/I = usr.get_active_hand() - if(istype(I, /obj/item/weapon/card/id)) - usr.drop_item() + var/obj/item/I = ui.user.get_active_hand() + if(istype(I, /obj/item/card/id)) + ui.user.drop_item() I.forceMove(src) scan = I if("login") @@ -234,12 +236,12 @@ if(check_access(scan)) authenticated = scan.registered_name rank = scan.assignment - else if(login_type == LOGIN_TYPE_AI && isAI(usr)) - authenticated = usr.name - rank = "AI" - else if(login_type == LOGIN_TYPE_ROBOT && isrobot(usr)) - authenticated = usr.name - var/mob/living/silicon/robot/R = usr + else if(login_type == LOGIN_TYPE_AI && isAI(ui.user)) + authenticated = ui.user.name + rank = JOB_AI + else if(login_type == LOGIN_TYPE_ROBOT && isrobot(ui.user)) + authenticated = ui.user.name + var/mob/living/silicon/robot/R = ui.user rank = "[R.modtype] [R.braintype]" if(authenticated) active1 = null @@ -257,8 +259,8 @@ if("logout") if(scan) scan.forceMove(loc) - if(ishuman(usr) && !usr.get_active_hand()) - usr.put_in_hands(scan) + if(ishuman(ui.user) && !ui.user.get_active_hand()) + ui.user.put_in_hands(scan) scan = null authenticated = null screen = null @@ -296,6 +298,16 @@ active1 = general_record active2 = medical_record screen = MED_DATA_RECORD + if("sync_r") + if(active2) + set_temp(client_update_record(src,usr)) + if("edit_notes") + // The modal input in tgui is busted for this sadly... + var/new_notes = strip_html_simple(tgui_input_text(usr,"Enter new information here.","Character Preference", html_decode(active2.fields["notes"]), MAX_RECORD_LENGTH, TRUE, prevent_enter = TRUE), MAX_RECORD_LENGTH) + if(usr.Adjacent(src)) + if(new_notes != "" || tgui_alert(usr, "Are you sure you want to delete the current record's notes?", "Confirm Delete", list("Delete", "No")) == "Delete") + if(usr.Adjacent(src)) + active2.fields["notes"] = new_notes if("new") if(istype(active1, /datum/data/record) && !istype(active2, /datum/data/record)) var/datum/data/record/R = new /datum/data/record() @@ -418,8 +430,8 @@ * Called when the print timer finishes */ /obj/machinery/computer/med_data/proc/print_finish() - var/obj/item/weapon/paper/P = new(loc) - P.info = "
Medical Record

" + var/obj/item/paper/P = new(loc) + P.info = "
" + span_bold("Medical Record") + "

" if(istype(active1, /datum/data/record) && data_core.general.Find(active1)) P.info += {"Name: [active1.fields["name"]] ID: [active1.fields["id"]]
\nSex: [active1.fields["sex"]] @@ -429,7 +441,7 @@
\nPhysical Status: [active1.fields["p_stat"]]
\nMental Status: [active1.fields["m_stat"]]
"} else - P.info += "General Record Lost!
" + P.info += span_bold("General Record Lost!") + "
" if(istype(active2, /datum/data/record) && data_core.medical.Find(active2)) P.info += {"
\n
Medical Data

\nGender Identity: [active2.fields["id_gender"]] @@ -451,7 +463,7 @@ for(var/c in active2.fields["comments"]) P.info += "[c["header"]]
[c["text"]]
" else - P.info += "Medical Record Lost!
" + P.info += span_bold("Medical Record Lost!") + "
" P.info += "" P.name = "paper - 'Medical Record: [active1.fields["name"]]'" printing = FALSE @@ -507,7 +519,7 @@ icon_state = "pcu_med" icon_keyboard = "pcu_key" light_color = "#5284e7" - circuit = /obj/item/weapon/circuitboard/med_data/pcu + circuit = /obj/item/circuitboard/med_data/pcu density = FALSE #undef MED_DATA_R_LIST diff --git a/code/game/machinery/computer/message.dm b/code/game/machinery/computer/message.dm index a5dad720ec9..fb49f1ca0f9 100644 --- a/code/game/machinery/computer/message.dm +++ b/code/game/machinery/computer/message.dm @@ -6,7 +6,7 @@ icon_screen = "comm_logs" light_color = "#00b000" var/hack_icon = "error" - circuit = /obj/item/weapon/circuitboard/message_monitor + circuit = /obj/item/circuitboard/message_monitor //Server linked to. var/obj/machinery/message_server/linkedServer = null //Sparks effect - For emag @@ -23,12 +23,12 @@ var/optioncount = 8 // Custom temp Properties var/customsender = "System Administrator" - var/obj/item/device/pda/customrecepient = null + var/obj/item/pda/customrecepient = null var/customjob = "Admin" var/custommessage = "This is a test, please ignore." var/list/temp = null -/obj/machinery/computer/message_monitor/attackby(obj/item/weapon/O as obj, mob/living/user as mob) +/obj/machinery/computer/message_monitor/attackby(obj/item/O as obj, mob/living/user as mob) if(stat & (NOPOWER|BROKEN)) ..() return @@ -36,7 +36,7 @@ return if(O.has_tool_quality(TOOL_SCREWDRIVER) && emag) //Stops people from just unscrewing the monitor and putting it back to get the console working again. - to_chat(user, "It is too hot to mess with!") + to_chat(user, span_warning("It is too hot to mess with!")) return ..() @@ -50,7 +50,7 @@ emag = 1 spark_system.set_up(5, 0, src) spark_system.start() - var/obj/item/weapon/paper/monitorkey/MK = new/obj/item/weapon/paper/monitorkey + var/obj/item/paper/monitorkey/MK = new/obj/item/paper/monitorkey MK.loc = loc // Will help make emagging the console not so easy to get away with. MK.info += "

£%@%(*$%&(£&?*(%&£/{}" @@ -59,7 +59,7 @@ update_icon() return 1 else - to_chat(user, "A no server error appears on the screen.") + to_chat(user, span_notice("A no server error appears on the screen.")) /obj/machinery/computer/message_monitor/update_icon() if(emag || hacking) @@ -136,8 +136,8 @@ data["linkedServer"]["spamFilter"] = spamfilter //Get out list of viable PDAs - var/list/obj/item/device/pda/sendPDAs = list() - for(var/obj/item/device/pda/P in PDAs) + var/list/obj/item/pda/sendPDAs = list() + for(var/obj/item/pda/P in PDAs) if(!P.owner || P.hidden) continue var/datum/data/pda/app/messenger/M = P.find_program(/datum/data/pda/app/messenger) @@ -162,10 +162,10 @@ /obj/machinery/computer/message_monitor/proc/BruteForce(mob/user as mob) if(isnull(linkedServer)) - to_chat(user, "Could not complete brute-force: Linked Server Disconnected!") + to_chat(user, span_warning("Could not complete brute-force: Linked Server Disconnected!")) else var/currentKey = linkedServer.decryptkey - to_chat(user, "Brute-force completed! The key is '[currentKey]'.") + to_chat(user, span_warning("Brute-force completed! The key is '[currentKey]'.")) hacking = 0 update_icon() @@ -179,7 +179,7 @@ custommessage = "This is a test, please ignore." customjob = "Admin" -/obj/machinery/computer/message_monitor/tgui_act(action, params) +/obj/machinery/computer/message_monitor/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE @@ -202,7 +202,7 @@ //Find a server if("find") if(message_servers && message_servers.len > 1) - linkedServer = tgui_input_list(usr,"Please select a server.", "Select a server.", message_servers) + linkedServer = tgui_input_list(ui.user,"Please select a server.", "Select a server.", message_servers) set_temp("NOTICE: Server selected.", "alert") else if(message_servers && message_servers.len > 0) linkedServer = message_servers[1] @@ -211,13 +211,13 @@ temp = noserver //Hack the Console to get the password if("hack") - if((istype(usr, /mob/living/silicon/ai) || istype(usr, /mob/living/silicon/robot)) && (usr.mind.special_role && usr.mind.original == usr)) + if((istype(ui.user, /mob/living/silicon/ai) || istype(ui.user, /mob/living/silicon/robot)) && (ui.user.mind.special_role && ui.user.mind.original == ui.user)) hacking = 1 update_icon() //Time it takes to bruteforce is dependant on the password length. spawn(100*length(linkedServer.decryptkey)) - if(src && linkedServer && usr) - BruteForce(usr) + if(src && linkedServer && ui.user) + BruteForce(ui.user) if(!auth) return @@ -243,10 +243,10 @@ . = TRUE //Change the password - KEY REQUIRED if("pass") - var/dkey = trim(tgui_input_text(usr, "Please enter the current decryption key.")) + var/dkey = trim(tgui_input_text(ui.user, "Please enter the current decryption key.")) if(dkey && dkey != "") if(linkedServer.decryptkey == dkey) - var/newkey = trim(tgui_input_text(usr,"Please enter the new key (3 - 16 characters max):",null,null,16)) + var/newkey = trim(tgui_input_text(ui.user,"Please enter the new key (3 - 16 characters max):",null,null,16)) if(length(newkey) <= 3) set_temp("NOTICE: Decryption key too short!", "average") else if(length(newkey) > 16) @@ -274,7 +274,7 @@ . = TRUE if("set_recipient") var/ref = params["val"] - var/obj/item/device/pda/P = locate(ref) + var/obj/item/pda/P = locate(ref) if(!istype(P) || !P.owner || P.hidden) return FALSE @@ -298,8 +298,8 @@ set_temp("NOTICE: No message entered!", "average") return TRUE - var/obj/item/device/pda/PDARec = null - for(var/obj/item/device/pda/P in PDAs) + var/obj/item/pda/PDARec = null + for(var/obj/item/pda/P in PDAs) if(!P.owner || P.hidden) continue var/datum/data/pda/app/messenger/M = P.find_program(/datum/data/pda/app/messenger) @@ -325,7 +325,7 @@ . = TRUE if("addtoken") - linkedServer.spamfilter += tgui_input_text(usr,"Enter text you want to be filtered out","Token creation") + linkedServer.spamfilter += tgui_input_text(ui.user,"Enter text you want to be filtered out","Token creation") . = TRUE if("deltoken") @@ -338,14 +338,14 @@ if(update_now) SStgui.update_uis(src) -/obj/item/weapon/paper/monitorkey +/obj/item/paper/monitorkey name = "Monitor Decryption Key" -/obj/item/weapon/paper/monitorkey/Initialize() +/obj/item/paper/monitorkey/Initialize() ..() return INITIALIZE_HINT_LATELOAD -/obj/item/weapon/paper/monitorkey/LateInitialize() +/obj/item/paper/monitorkey/LateInitialize() if(message_servers) for(var/obj/machinery/message_server/server in message_servers) if(!isnull(server.decryptkey)) diff --git a/code/game/machinery/computer/pod.dm b/code/game/machinery/computer/pod.dm index c074256475e..9bc753b59e9 100644 --- a/code/game/machinery/computer/pod.dm +++ b/code/game/machinery/computer/pod.dm @@ -5,7 +5,7 @@ desc = "A control console for launching pods. Some people prefer firing Mechas." icon_screen = "mass_driver" light_color = "#00b000" - circuit = /obj/item/weapon/circuitboard/pod + circuit = /obj/item/circuitboard/pod var/id = 1.0 var/obj/machinery/mass_driver/connected = null var/timing = 0.0 @@ -54,20 +54,20 @@ playsound(src, W.usesound, 50, 1) if(do_after(user, 20)) if(stat & BROKEN) - to_chat(user, "The broken glass falls out.") + to_chat(user, span_notice("The broken glass falls out.")) var/obj/structure/computerframe/A = new /obj/structure/computerframe( loc ) - new /obj/item/weapon/material/shard( loc ) + new /obj/item/material/shard( loc ) //generate appropriate circuitboard. Accounts for /pod/old computer types - var/obj/item/weapon/circuitboard/pod/M = null + var/obj/item/circuitboard/pod/M = null if(istype(src, /obj/machinery/computer/pod/old)) - M = new /obj/item/weapon/circuitboard/olddoor( A ) + M = new /obj/item/circuitboard/olddoor( A ) if(istype(src, /obj/machinery/computer/pod/old/syndicate)) - M = new /obj/item/weapon/circuitboard/syndicatedoor( A ) + M = new /obj/item/circuitboard/syndicatedoor( A ) if(istype(src, /obj/machinery/computer/pod/old/swf)) - M = new /obj/item/weapon/circuitboard/swfdoor( A ) + M = new /obj/item/circuitboard/swfdoor( A ) else //it's not an old computer. Generate standard pod circuitboard. - M = new /obj/item/weapon/circuitboard/pod( A ) + M = new /obj/item/circuitboard/pod( A ) for (var/obj/C in src) C.loc = loc @@ -78,19 +78,19 @@ A.anchored = TRUE qdel(src) else - to_chat(to_chat(user, "You disconnect the monitor.")) + to_chat(to_chat(user, span_notice("You disconnect the monitor."))) var/obj/structure/computerframe/A = new /obj/structure/computerframe( loc ) //generate appropriate circuitboard. Accounts for /pod/old computer types - var/obj/item/weapon/circuitboard/pod/M = null + var/obj/item/circuitboard/pod/M = null if(istype(src, /obj/machinery/computer/pod/old)) - M = new /obj/item/weapon/circuitboard/olddoor( A ) + M = new /obj/item/circuitboard/olddoor( A ) if(istype(src, /obj/machinery/computer/pod/old/syndicate)) - M = new /obj/item/weapon/circuitboard/syndicatedoor( A ) + M = new /obj/item/circuitboard/syndicatedoor( A ) if(istype(src, /obj/machinery/computer/pod/old/swf)) - M = new /obj/item/weapon/circuitboard/swfdoor( A ) + M = new /obj/item/circuitboard/swfdoor( A ) else //it's not an old computer. Generate standard pod circuitboard. - M = new /obj/item/weapon/circuitboard/pod( A ) + M = new /obj/item/circuitboard/pod( A ) for (var/obj/C in src) C.loc = loc @@ -136,7 +136,7 @@ dat += "
\nToggle Outer Door
" dat += "

Close" user << browse(dat, "window=computer;size=400x500") - add_fingerprint(usr) + add_fingerprint(user) onclose(user, "computer") return @@ -208,7 +208,7 @@ /obj/machinery/computer/pod/old/syndicate/attack_hand(var/mob/user as mob) if(!allowed(user)) - to_chat(user, "Access Denied") + to_chat(user, span_warning("Access Denied")) return else ..() diff --git a/code/game/machinery/computer/prisoner.dm b/code/game/machinery/computer/prisoner.dm index ceae88e54d4..77bd30820c0 100644 --- a/code/game/machinery/computer/prisoner.dm +++ b/code/game/machinery/computer/prisoner.dm @@ -7,7 +7,7 @@ icon_screen = "explosive" light_color = "#a91515" req_access = list(access_armory) - circuit = /obj/item/weapon/circuitboard/prisoner + circuit = /obj/item/circuitboard/prisoner var/id = 0.0 var/temp = null var/status = 0 @@ -33,7 +33,7 @@ var/list/chemImplants = list() var/list/trackImplants = list() if(screen) - for(var/obj/item/weapon/implant/chem/C in GLOB.all_chem_implants) + for(var/obj/item/implant/chem/C in GLOB.all_chem_implants) var/turf/T = get_turf(C) if(!T) continue @@ -44,7 +44,7 @@ "units" = C.reagents.total_volume, "ref" = "\ref[C]" ))) - for(var/obj/item/weapon/implant/tracking/track in GLOB.all_tracking_implants) + for(var/obj/item/implant/tracking/track in GLOB.all_tracking_implants) var/turf/T = get_turf(track) if(!T) continue @@ -66,27 +66,27 @@ return list("locked" = !screen, "chemImplants" = chemImplants, "trackImplants" = trackImplants) -/obj/machinery/computer/prisoner/tgui_act(action, list/params) +/obj/machinery/computer/prisoner/tgui_act(action, list/params, datum/tgui/ui) if(..()) return TRUE switch(action) if("inject") - var/obj/item/weapon/implant/I = locate(params["imp"]) + var/obj/item/implant/I = locate(params["imp"]) if(I) I.activate(clamp(params["val"], 0, 10)) . = TRUE if("lock") - if(allowed(usr)) + if(allowed(ui.user)) screen = !screen else - to_chat(usr, "Unauthorized Access.") + to_chat(ui.user, "Unauthorized Access.") . = TRUE if("warn") - var/warning = sanitize(tgui_input_text(usr, "Message:", "Enter your message here!", "")) + var/warning = sanitize(tgui_input_text(ui.user, "Message:", "Enter your message here!", "")) if(!warning) return - var/obj/item/weapon/implant/I = locate(params["imp"]) + var/obj/item/implant/I = locate(params["imp"]) if(I && I.imp_in) - to_chat(I.imp_in, "You hear a voice in your head saying: '[warning]'") + to_chat(I.imp_in, span_notice("You hear a voice in your head saying: '[warning]'")) . = TRUE - add_fingerprint(usr) + add_fingerprint(ui.user) diff --git a/code/game/machinery/computer/prisonshuttle.dm b/code/game/machinery/computer/prisonshuttle.dm index 7716f527a54..201768f3600 100644 --- a/code/game/machinery/computer/prisonshuttle.dm +++ b/code/game/machinery/computer/prisonshuttle.dm @@ -17,7 +17,7 @@ var/prison_shuttle_timeleft = 0 icon_screen = "syndishuttle" light_color = "#00ffff" req_access = list(access_security) - circuit = /obj/item/weapon/circuitboard/prison_shuttle + circuit = /obj/item/circuitboard/prison_shuttle var/temp = null var/hacked = 0 var/allowedtocall = 0 @@ -28,10 +28,10 @@ var/prison_shuttle_timeleft = 0 /obj/machinery/computer/prison_shuttle/attack_hand(var/mob/user as mob) if(!src.allowed(user) && (!hacked)) - to_chat(user, "Access Denied.") + to_chat(user, span_warning("Access Denied.")) return if(prison_break) - to_chat(user, "Unable to locate shuttle.") + to_chat(user, span_warning("Unable to locate shuttle.")) return if(..()) return @@ -60,11 +60,11 @@ var/prison_shuttle_timeleft = 0 if (href_list["sendtodock"]) if (!prison_can_move()) - to_chat(usr, "The prison shuttle is unable to leave.") + to_chat(usr, span_warning("The prison shuttle is unable to leave.")) return if(!prison_shuttle_at_station|| prison_shuttle_moving_to_station || prison_shuttle_moving_to_prison) return post_signal("prison") - to_chat(usr, "The prison shuttle has been called and will arrive in [(PRISON_MOVETIME/10)] seconds.") + to_chat(usr, span_notice("The prison shuttle has been called and will arrive in [(PRISON_MOVETIME/10)] seconds.")) src.temp += "Shuttle sent.

OK" src.updateUsrDialog() prison_shuttle_moving_to_prison = 1 @@ -74,11 +74,11 @@ var/prison_shuttle_timeleft = 0 else if (href_list["sendtostation"]) if (!prison_can_move()) - to_chat(usr, "The prison shuttle is unable to leave.") + to_chat(usr, span_warning("The prison shuttle is unable to leave.")) return if(prison_shuttle_at_station || prison_shuttle_moving_to_station || prison_shuttle_moving_to_prison) return post_signal("prison") - to_chat(usr, "The prison shuttle has been called and will arrive in [(PRISON_MOVETIME/10)] seconds.") + to_chat(usr, span_notice("The prison shuttle has been called and will arrive in [(PRISON_MOVETIME/10)] seconds.")) src.temp += "Shuttle sent.

OK" src.updateUsrDialog() prison_shuttle_moving_to_station = 1 @@ -146,7 +146,7 @@ var/prison_shuttle_timeleft = 0 if (prison_shuttle_moving_to_station || prison_shuttle_moving_to_prison) return if (!prison_can_move()) - to_chat(usr, "The prison shuttle is unable to leave.") + to_chat(usr, span_warning("The prison shuttle is unable to leave.")) return var/area/start_location = locate(/area/shuttle/prison/prison) @@ -175,7 +175,7 @@ var/prison_shuttle_timeleft = 0 if (prison_shuttle_moving_to_station || prison_shuttle_moving_to_prison) return if (!prison_can_move()) - to_chat(usr, "The prison shuttle is unable to leave.") + to_chat(usr, span_warning("The prison shuttle is unable to leave.")) return var/area/start_location = locate(/area/shuttle/prison/station) @@ -211,7 +211,7 @@ var/prison_shuttle_timeleft = 0 /obj/machinery/computer/prison_shuttle/emag_act(var/charges, var/mob/user) if(!hacked) hacked = 1 - to_chat(user, "You disable the lock.") + to_chat(user, span_notice("You disable the lock.")) return 1 #undef PRISON_MOVETIME diff --git a/code/game/machinery/computer/robot.dm b/code/game/machinery/computer/robot.dm index 6d9db65e94a..9f16d3d057b 100644 --- a/code/game/machinery/computer/robot.dm +++ b/code/game/machinery/computer/robot.dm @@ -5,7 +5,7 @@ icon_screen = "robot" light_color = "#a97faa" req_access = list(access_robotics) - circuit = /obj/item/weapon/circuitboard/robotics + circuit = /obj/item/circuitboard/robotics var/safety = 1 /obj/machinery/computer/robotics/attack_ai(var/mob/user as mob) @@ -66,12 +66,12 @@ if(isAI(user)) if(R.connected_ai != user) if(telluserwhy) - to_chat(user, "AIs can only control cyborgs which are linked to them.") + to_chat(user, span_warning("AIs can only control cyborgs which are linked to them.")) return FALSE if(isrobot(user)) if(R != user) if(telluserwhy) - to_chat(user, "Cyborgs cannot control other cyborgs.") + to_chat(user, span_warning("Cyborgs cannot control other cyborgs.")) return FALSE return TRUE @@ -151,81 +151,81 @@ data["show_detonate_all"] = (data["auth"] && length(data["cyborgs"]) > 0 && ishuman(user)) return data -/obj/machinery/computer/robotics/tgui_act(action, params) +/obj/machinery/computer/robotics/tgui_act(action, params, datum/tgui/ui) if(..()) return . = FALSE - if(!is_authenticated(usr)) - to_chat(usr, "Access denied.") + if(!is_authenticated(ui.user)) + to_chat(ui.user, span_warning("Access denied.")) return switch(action) if("arm") // Arms the emergency self-destruct system - if(issilicon(usr)) - to_chat(usr, "Access Denied (silicon detected)") + if(issilicon(ui.user)) + to_chat(ui.user, span_danger("Access Denied (silicon detected)")) return safety = !safety - to_chat(usr, "You [safety ? "disarm" : "arm"] the emergency self destruct.") + to_chat(ui.user, span_notice("You [safety ? "disarm" : "arm"] the emergency self destruct.")) . = TRUE if("nuke") // Destroys all accessible cyborgs if safety is disabled - if(issilicon(usr)) - to_chat(usr, "Access Denied (silicon detected)") + if(issilicon(ui.user)) + to_chat(ui.user, span_danger("Access Denied (silicon detected)")) return if(safety) - to_chat(usr, "Self-destruct aborted - safety active") + to_chat(ui.user, span_danger("Self-destruct aborted - safety active")) return - message_admins("[key_name_admin(usr)] detonated all cyborgs!") - log_game("\[key_name(usr)] detonated all cyborgs!") + message_admins(span_notice("[key_name_admin(ui.user)] detonated all cyborgs!")) + log_game(span_notice("[key_name(ui.user)] detonated all cyborgs!")) for(var/mob/living/silicon/robot/R in mob_list) if(istype(R, /mob/living/silicon/robot/drone)) continue // Ignore antagonistic cyborgs if(R.scrambledcodes) continue - to_chat(R, "Self-destruct command received.") + to_chat(R, span_danger("Self-destruct command received.")) if(R.connected_ai) - to_chat(R.connected_ai, "

ALERT - Cyborg detonation detected: [R.name]
") + to_chat(R.connected_ai, "

[span_alert("ALERT - Cyborg detonation detected: [R.name]")]
") R.self_destruct() . = TRUE if("killbot") // destroys one specific cyborg var/mob/living/silicon/robot/R = locate(params["ref"]) - if(!can_control(usr, R, TRUE)) + if(!can_control(ui.user, R, TRUE)) return if(R.mind && R.mind.special_role && R.emagged) - to_chat(R, "Extreme danger! Termination codes detected. Scrambling security codes and automatic AI unlink triggered.") + to_chat(R, span_userdanger("Extreme danger! Termination codes detected. Scrambling security codes and automatic AI unlink triggered.")) R.ResetSecurityCodes() . = TRUE return var/turf/T = get_turf(R) - message_admins("[key_name_admin(usr)] detonated [key_name_admin(R)] ([ADMIN_COORDJMP(T)])!") - log_game("\[key_name(usr)] detonated [key_name(R)]!") - to_chat(R, "Self-destruct command received.") + message_admins(span_notice("[key_name_admin(ui.user)] detonated [key_name_admin(R)] ([ADMIN_COORDJMP(T)])!")) + log_game(span_notice("[key_name(ui.user)] detonated [key_name(R)]!")) + to_chat(R, span_danger("Self-destruct command received.")) if(R.connected_ai) - to_chat(R.connected_ai, "

ALERT - Cyborg detonation detected: [R.name]
") + to_chat(R.connected_ai, "

[span_alert("ALERT - Cyborg detonation detected: [R.name]")]
") R.self_destruct() . = TRUE if("stopbot") // lock or unlock the borg - if(isrobot(usr)) - to_chat(usr, "Access Denied.") + if(isrobot(ui.user)) + to_chat(ui.user, span_danger("Access Denied.")) return var/mob/living/silicon/robot/R = locate(params["ref"]) - if(!can_control(usr, R, TRUE)) + if(!can_control(ui.user, R, TRUE)) return - message_admins("[ADMIN_LOOKUPFLW(usr)] [!R.lockcharge ? "locked down" : "released"] [ADMIN_LOOKUPFLW(R)]!") - log_game("[key_name(usr)] [!R.lockcharge ? "locked down" : "released"] [key_name(R)]!") + message_admins(span_notice("[ADMIN_LOOKUPFLW(ui.user)] [!R.lockcharge ? "locked down" : "released"] [ADMIN_LOOKUPFLW(R)]!")) + log_game("[key_name(ui.user)] [!R.lockcharge ? "locked down" : "released"] [key_name(R)]!") R.SetLockdown(!R.lockcharge) - to_chat(R, "[!R.lockcharge ? "Your lockdown has been lifted!" : "You have been locked down!"]") + to_chat(R, "[!R.lockcharge ? span_notice("Your lockdown has been lifted!") : span_alert("You have been locked down!")]") if(R.connected_ai) - to_chat(R.connected_ai, "[!R.lockcharge ? "NOTICE - Cyborg lockdown lifted" : "ALERT - Cyborg lockdown detected"]: [R.name]
") + to_chat(R.connected_ai, "[!R.lockcharge ? span_notice("NOTICE - Cyborg lockdown lifted") : span_alert("ALERT - Cyborg lockdown detected")]: [R.name]
") . = TRUE if("hackbot") // AIs hacking/emagging a borg var/mob/living/silicon/robot/R = locate(params["ref"]) - if(!can_hack(usr, R)) + if(!can_hack(ui.user, R)) return - var/choice = tgui_alert(usr, "Really hack [R.name]? This cannot be undone.", "Hack?", list("Yes", "No")) - if(choice == "No") + var/choice = tgui_alert(ui.user, "Really hack [R.name]? This cannot be undone.", "Hack?", list("Yes", "No")) + if(choice != "Yes") return - log_game("[key_name(usr)] emagged [key_name(R)] using robotic console!") - message_admins("[key_name_admin(usr)] emagged [key_name_admin(R)] using robotic console!") + log_game("[key_name(ui.user)] emagged [key_name(R)] using robotic console!") + message_admins(span_notice("[key_name_admin(ui.user)] emagged [key_name_admin(R)] using robotic console!")) R.emagged = TRUE - to_chat(R, "Failsafe protocols overridden. New tools available.") + to_chat(R, span_notice("Failsafe protocols overridden. New tools available.")) . = TRUE diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm index 53cdeec5f78..86d6842df88 100644 --- a/code/game/machinery/computer/security.dm +++ b/code/game/machinery/computer/security.dm @@ -11,8 +11,8 @@ icon_screen = "security" light_color = "#a91515" req_one_access = list(access_security, access_forensics_lockers, access_lawyer) - circuit = /obj/item/weapon/circuitboard/secure_data - var/obj/item/weapon/card/id/scan = null + circuit = /obj/item/circuitboard/secure_data + var/obj/item/card/id/scan = null var/authenticated = null var/rank = null var/screen = null @@ -74,7 +74,7 @@ return /obj/machinery/computer/secure_data/attackby(var/obj/item/O, var/mob/user) - if(istype(O, /obj/item/weapon/card/id) && !scan && user.unEquip(O)) + if(istype(O, /obj/item/card/id) && !scan && user.unEquip(O)) O.loc = src scan = O to_chat(user, "You insert \the [O].") @@ -185,7 +185,7 @@ data["modal"] = tgui_modal_data(src) return data -/obj/machinery/computer/secure_data/tgui_act(action, params) +/obj/machinery/computer/secure_data/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE @@ -204,13 +204,13 @@ if("scan") if(scan) scan.forceMove(loc) - if(ishuman(usr) && !usr.get_active_hand()) - usr.put_in_hands(scan) + if(ishuman(ui.user) && !ui.user.get_active_hand()) + ui.user.put_in_hands(scan) scan = null else - var/obj/item/I = usr.get_active_hand() - if(istype(I, /obj/item/weapon/card/id)) - usr.drop_item() + var/obj/item/I = ui.user.get_active_hand() + if(istype(I, /obj/item/card/id)) + ui.user.drop_item() I.forceMove(src) scan = I if("login") @@ -219,12 +219,12 @@ if(check_access(scan)) authenticated = scan.registered_name rank = scan.assignment - else if(login_type == LOGIN_TYPE_AI && isAI(usr)) - authenticated = usr.name - rank = "AI" - else if(login_type == LOGIN_TYPE_ROBOT && isrobot(usr)) - authenticated = usr.name - var/mob/living/silicon/robot/R = usr + else if(login_type == LOGIN_TYPE_AI && isAI(ui.user)) + authenticated = ui.user.name + rank = JOB_AI + else if(login_type == LOGIN_TYPE_ROBOT && isrobot(ui.user)) + authenticated = ui.user.name + var/mob/living/silicon/robot/R = ui.user rank = "[R.modtype] [R.braintype]" if(authenticated) active1 = null @@ -242,8 +242,8 @@ if("logout") if(scan) scan.forceMove(loc) - if(ishuman(usr) && !usr.get_active_hand()) - usr.put_in_hands(scan) + if(ishuman(ui.user) && !ui.user.get_active_hand()) + ui.user.put_in_hands(scan) scan = null authenticated = null screen = null @@ -270,6 +270,16 @@ qdel(active1) if(active2) qdel(active2) + if("sync_r") + if(active2) + set_temp(client_update_record(src,usr)) + if("edit_notes") + // The modal input in tgui is busted for this sadly... + var/new_notes = strip_html_simple(tgui_input_text(usr,"Enter new information here.","Character Preference", html_decode(active2.fields["notes"]), MAX_RECORD_LENGTH, TRUE, prevent_enter = TRUE), MAX_RECORD_LENGTH) + if(usr.Adjacent(src)) + if(new_notes != "" || tgui_alert(usr, "Are you sure you want to delete the current record's notes?", "Confirm Delete", list("Delete", "No")) == "Delete") + if(usr.Adjacent(src)) + active2.fields["notes"] = new_notes if("d_rec") var/datum/data/record/general_record = locate(params["d_rec"] || "") if(!data_core.general.Find(general_record)) @@ -338,12 +348,12 @@ SStgui.update_uis(src) addtimer(CALLBACK(src, PROC_REF(print_finish)), 5 SECONDS) if("photo_front") - var/icon/photo = get_photo(usr) + var/icon/photo = get_photo(ui.user) if(photo && active1) active1.fields["photo_front"] = photo active1.fields["photo-south"] = "'data:image/png;base64,[icon2base64(photo)]'" if("photo_side") - var/icon/photo = get_photo(usr) + var/icon/photo = get_photo(ui.user) if(photo && active1) active1.fields["photo_side"] = photo active1.fields["photo-west"] = "'data:image/png;base64,[icon2base64(photo)]'" @@ -421,8 +431,8 @@ * Called when the print timer finishes */ /obj/machinery/computer/secure_data/proc/print_finish() - var/obj/item/weapon/paper/P = new(loc) - P.info = "
Security Record

" + var/obj/item/paper/P = new(loc) + P.info = "
" + span_bold("Security Record") + "

" if(istype(active1, /datum/data/record) && data_core.general.Find(active1)) P.info += {"Name: [active1.fields["name"]] ID: [active1.fields["id"]]
\nSex: [active1.fields["sex"]] @@ -432,7 +442,7 @@
\nPhysical Status: [active1.fields["p_stat"]]
\nMental Status: [active1.fields["m_stat"]]
"} else - P.info += "General Record Lost!
" + P.info += span_bold("General Record Lost!") + "
" if(istype(active2, /datum/data/record) && data_core.security.Find(active2)) P.info += {"
\n
Security Data

\nCriminal Status: [active2.fields["criminal"]]
\n @@ -447,7 +457,7 @@ for(var/c in active2.fields["comments"]) P.info += "[c["header"]]
[c["text"]]
" else - P.info += "Security Record Lost!
" + P.info += span_bold("Security Record Lost!") + "
" P.info += "" P.name = "paper - 'Security Record: [active1.fields["name"]]'" printing = FALSE @@ -470,12 +480,12 @@ return !src.authenticated || user.stat || user.restrained() || (!in_range(src, user) && (!istype(user, /mob/living/silicon))) /obj/machinery/computer/secure_data/proc/get_photo(var/mob/user) - if(istype(user.get_active_hand(), /obj/item/weapon/photo)) - var/obj/item/weapon/photo/photo = user.get_active_hand() + if(istype(user.get_active_hand(), /obj/item/photo)) + var/obj/item/photo/photo = user.get_active_hand() return photo.img if(istype(user, /mob/living/silicon)) - var/mob/living/silicon/tempAI = usr - var/obj/item/weapon/photo/selection = tempAI.GetPicture() + var/mob/living/silicon/tempAI = user + var/obj/item/photo/selection = tempAI.GetPicture() if (selection) return selection.img diff --git a/code/game/machinery/computer/shutoff_monitor.dm b/code/game/machinery/computer/shutoff_monitor.dm index 8cc101d8044..6a35ad71cea 100644 --- a/code/game/machinery/computer/shutoff_monitor.dm +++ b/code/game/machinery/computer/shutoff_monitor.dm @@ -4,7 +4,7 @@ icon_keyboard = "power_key" icon_screen = "power_monitor" light_color = "#a97faa" - circuit = /obj/item/weapon/circuitboard/shutoff_monitor + circuit = /obj/item/circuitboard/shutoff_monitor var/datum/tgui_module/shutoff_monitor/monitor /obj/machinery/computer/shutoff_monitor/New() diff --git a/code/game/machinery/computer/shuttle.dm b/code/game/machinery/computer/shuttle.dm index 42ee83612d6..d79c4ae1863 100644 --- a/code/game/machinery/computer/shuttle.dm +++ b/code/game/machinery/computer/shuttle.dm @@ -8,12 +8,12 @@ var/list/authorized = list( ) -/obj/machinery/computer/shuttle/attackby(var/obj/item/weapon/card/W as obj, var/mob/user as mob) +/obj/machinery/computer/shuttle/attackby(var/obj/item/card/W as obj, var/mob/user as mob) if(stat & (BROKEN|NOPOWER)) return - if ((!( istype(W, /obj/item/weapon/card) ) || !( ticker ) || emergency_shuttle.location() || !( user ))) return - if (istype(W, /obj/item/weapon/card/id)||istype(W, /obj/item/device/pda)) - if (istype(W, /obj/item/device/pda)) - var/obj/item/device/pda/pda = W + if ((!( istype(W, /obj/item/card) ) || !( ticker ) || emergency_shuttle.location() || !( user ))) return + if (istype(W, /obj/item/card/id)||istype(W, /obj/item/pda)) + if (istype(W, /obj/item/pda)) + var/obj/item/pda/pda = W W = pda.id if (!W:access) //no access to_chat(user, "The access level of [W:registered_name]\'s card is not high enough. ") @@ -38,11 +38,11 @@ if (src.auth_need - src.authorized.len > 0) message_admins("[key_name_admin(user)] has authorized early shuttle launch") log_game("[user.ckey] has authorized early shuttle launch") - to_world("Alert: [src.auth_need - src.authorized.len] authorizations needed until shuttle is launched early") + to_world(span_boldnotice("Alert: [src.auth_need - src.authorized.len] authorizations needed until shuttle is launched early")) else message_admins("[key_name_admin(user)] has launched the shuttle") log_game("[user.ckey] has launched the shuttle early") - to_world("Alert: Shuttle launch time shortened to 10 seconds!") + to_world(span_boldnotice("Alert: Shuttle launch time shortened to 10 seconds!")) emergency_shuttle.set_launch_countdown(10) //src.authorized = null qdel(src.authorized) @@ -50,20 +50,20 @@ if("Repeal") src.authorized -= W:registered_name - to_world("Alert: [src.auth_need - src.authorized.len] authorizations needed until shuttle is launched early") + to_world(span_boldnotice("Alert: [src.auth_need - src.authorized.len] authorizations needed until shuttle is launched early")) if("Abort") - to_world("All authorizations to shortening time for shuttle launch have been revoked!") + to_world(span_boldnotice("All authorizations to shortening time for shuttle launch have been revoked!")) src.authorized.len = 0 src.authorized = list( ) - else if (istype(W, /obj/item/weapon/card/emag) && !emagged) + else if (istype(W, /obj/item/card/emag) && !emagged) var/choice = tgui_alert(user, "Would you like to launch the shuttle?", "Shuttle control", list("Launch", "Cancel")) if(!emagged && !emergency_shuttle.location() && user.get_active_hand() == W) switch(choice) if("Launch") - to_world("Alert: Shuttle launch time shortened to 10 seconds!") + to_world(span_boldnotice("Alert: Shuttle launch time shortened to 10 seconds!")) emergency_shuttle.set_launch_countdown(10) emagged = 1 if("Cancel") diff --git a/code/game/machinery/computer/skills.dm b/code/game/machinery/computer/skills.dm index d157d964f51..bac1fa7c9c9 100644 --- a/code/game/machinery/computer/skills.dm +++ b/code/game/machinery/computer/skills.dm @@ -14,9 +14,9 @@ icon_keyboard = "pcu_key" light_color = "#5284e7" req_one_access = list(access_heads) - circuit = /obj/item/weapon/circuitboard/skills/pcu + circuit = /obj/item/circuitboard/skills/pcu density = FALSE - var/obj/item/weapon/card/id/scan = null + var/obj/item/card/id/scan = null var/authenticated = null var/rank = null var/screen = null @@ -58,7 +58,7 @@ return ..() /obj/machinery/computer/skills/attackby(obj/item/O as obj, var/mob/user) - if(istype(O, /obj/item/weapon/card/id) && !scan && user.unEquip(O)) + if(istype(O, /obj/item/card/id) && !scan && user.unEquip(O)) O.loc = src scan = O to_chat(user, "You insert [O].") @@ -74,7 +74,7 @@ if(..()) return if (using_map && !(src.z in using_map.contact_levels)) - to_chat(user, "Unable to establish a connection: You're too far away from the station!") + to_chat(user, span_danger("Unable to establish a connection:") + " You're too far away from the station!") return tgui_interact(user) @@ -143,11 +143,11 @@ data["modal"] = tgui_modal_data(src) return data -/obj/machinery/computer/skills/tgui_act(action, params) +/obj/machinery/computer/skills/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE - add_fingerprint(usr) + add_fingerprint(ui.user) if(!data_core.general.Find(active1)) active1 = null @@ -160,13 +160,13 @@ if("scan") if(scan) scan.forceMove(loc) - if(ishuman(usr) && !usr.get_active_hand()) - usr.put_in_hands(scan) + if(ishuman(ui.user) && !ui.user.get_active_hand()) + ui.user.put_in_hands(scan) scan = null else - var/obj/item/I = usr.get_active_hand() - if(istype(I, /obj/item/weapon/card/id)) - usr.drop_item() + var/obj/item/I = ui.user.get_active_hand() + if(istype(I, /obj/item/card/id)) + ui.user.drop_item() I.forceMove(src) scan = I if("cleartemp") @@ -177,12 +177,12 @@ if(check_access(scan)) authenticated = scan.registered_name rank = scan.assignment - else if(login_type == LOGIN_TYPE_AI && isAI(usr)) - authenticated = usr.name - rank = "AI" - else if(login_type == LOGIN_TYPE_ROBOT && isrobot(usr)) - authenticated = usr.name - var/mob/living/silicon/robot/R = usr + else if(login_type == LOGIN_TYPE_AI && isAI(ui.user)) + authenticated = ui.user.name + rank = JOB_AI + else if(login_type == LOGIN_TYPE_ROBOT && isrobot(ui.user)) + authenticated = ui.user.name + var/mob/living/silicon/robot/R = ui.user rank = "[R.modtype] [R.braintype]" if(authenticated) active1 = null @@ -199,8 +199,8 @@ if("logout") if(scan) scan.forceMove(loc) - if(ishuman(usr) && !usr.get_active_hand()) - usr.put_in_hands(scan) + if(ishuman(ui.user) && !ui.user.get_active_hand()) + ui.user.put_in_hands(scan) scan = null authenticated = null screen = null @@ -214,6 +214,16 @@ for(var/datum/data/record/R in data_core.general) qdel(R) set_temp("All employment records deleted.") + if("sync_r") + if(active1) + set_temp(client_update_record(src,active1,usr)) + if("edit_notes") + // The modal input in tgui is busted for this sadly... + var/new_notes = strip_html_simple(tgui_input_text(usr,"Enter new information here.","Character Preference", html_decode(active1.fields["notes"]), MAX_RECORD_LENGTH, TRUE, prevent_enter = TRUE), MAX_RECORD_LENGTH) + if(usr.Adjacent(src)) + if(new_notes != "" || tgui_alert(usr, "Are you sure you want to delete the current record's notes?", "Confirm Delete", list("Delete", "No")) == "Delete") + if(usr.Adjacent(src)) + active1.fields["notes"] = new_notes if("del_r") if(PDA_Manifest) PDA_Manifest.Cut() @@ -316,8 +326,8 @@ * Called when the print timer finishes */ /obj/machinery/computer/skills/proc/print_finish() - var/obj/item/weapon/paper/P = new(loc) - P.info = "
Medical Record

" + var/obj/item/paper/P = new(loc) + P.info = "
" + span_bold("Medical Record") + "

" if(istype(active1, /datum/data/record) && data_core.general.Find(active1)) P.info += {"Name: [active1.fields["name"]] ID: [active1.fields["id"]]
\nSex: [active1.fields["sex"]] @@ -338,7 +348,7 @@ for(var/c in active1.fields["comments"]) P.info += "[c["header"]]
[c["text"]]
" else - P.info += "General Record Lost!
" + P.info += span_bold("General Record Lost!") + "
" P.info += "" P.name = "paper - 'Employment Record: [active1.fields["name"]]'" printing = FALSE diff --git a/code/game/machinery/computer/specops_shuttle.dm b/code/game/machinery/computer/specops_shuttle.dm index ac510ee19f0..cdd30db5e28 100644 --- a/code/game/machinery/computer/specops_shuttle.dm +++ b/code/game/machinery/computer/specops_shuttle.dm @@ -24,13 +24,13 @@ var/specops_shuttle_timeleft = 0 var/specops_shuttle_timereset = 0 /proc/specops_return() - var/obj/item/device/radio/intercom/announcer = new /obj/item/device/radio/intercom(null)//We need a fake AI to announce some stuff below. Otherwise it will be wonky. - announcer.config(list("Response Team" = 0)) + var/obj/item/radio/intercom/announcer = new /obj/item/radio/intercom(null)//We need a fake AI to announce some stuff below. Otherwise it will be wonky. + announcer.config(list(CHANNEL_RESPONSE_TEAM = 0)) var/message_tracker[] = list(0,1,2,3,5,10,30,45)//Create a a list with potential time values. var/message = "\"THE SPECIAL OPERATIONS SHUTTLE IS PREPARING TO RETURN\""//Initial message shown. if(announcer) - announcer.autosay(message, "A.L.I.C.E.", "Response Team") + announcer.autosay(message, "A.L.I.C.E.", CHANNEL_RESPONSE_TEAM) while(specops_shuttle_time - world.timeofday > 0) var/ticksleft = specops_shuttle_time - world.timeofday @@ -46,7 +46,7 @@ var/specops_shuttle_timeleft = 0 message = "\"ALERT: [rounded_time_left] SECOND[(rounded_time_left!=1)?"S":""] REMAIN\"" if(rounded_time_left==0) message = "\"ALERT: TAKEOFF\"" - announcer.autosay(message, "A.L.I.C.E.", "Response Team") + announcer.autosay(message, "A.L.I.C.E.", CHANNEL_RESPONSE_TEAM) message_tracker -= rounded_time_left//Remove the number from the list so it won't be called again next cycle. //Should call all the numbers but lag could mean some issues. Oh well. Not much I can do about that. @@ -88,7 +88,7 @@ var/specops_shuttle_timeleft = 0 for(var/turf/T in get_area_turfs(end_location) ) var/mob/M = locate(/mob) in T - to_chat(M, "You have arrived at [using_map.boss_name]. Operation has ended!") + to_chat(M, span_notice("You have arrived at [using_map.boss_name]. Operation has ended!")) specops_shuttle_at_station = 0 @@ -99,15 +99,15 @@ var/specops_shuttle_timeleft = 0 /proc/specops_process() var/area/centcom/specops/special_ops = locate()//Where is the specops area located? - var/obj/item/device/radio/intercom/announcer = new /obj/item/device/radio/intercom(null)//We need a fake AI to announce some stuff below. Otherwise it will be wonky. - announcer.config(list("Response Team" = 0)) + var/obj/item/radio/intercom/announcer = new /obj/item/radio/intercom(null)//We need a fake AI to announce some stuff below. Otherwise it will be wonky. + announcer.config(list(CHANNEL_RESPONSE_TEAM = 0)) var/message_tracker[] = list(0,1,2,3,5,10,30,45)//Create a a list with potential time values. var/message = "\"THE SPECIAL OPERATIONS SHUTTLE IS PREPARING FOR LAUNCH\""//Initial message shown. if(announcer) - announcer.autosay(message, "A.L.I.C.E.", "Response Team") + announcer.autosay(message, "A.L.I.C.E.", CHANNEL_RESPONSE_TEAM) // message = "ARMORED SQUAD TAKE YOUR POSITION ON GRAVITY LAUNCH PAD" -// announcer.autosay(message, "A.L.I.C.E.", "Response Team") +// announcer.autosay(message, "A.L.I.C.E.", CHANNEL_RESPONSE_TEAM) while(specops_shuttle_time - world.timeofday > 0) var/ticksleft = specops_shuttle_time - world.timeofday @@ -123,7 +123,7 @@ var/specops_shuttle_timeleft = 0 message = "\"ALERT: [rounded_time_left] SECOND[(rounded_time_left!=1)?"S":""] REMAIN\"" if(rounded_time_left==0) message = "\"ALERT: TAKEOFF\"" - announcer.autosay(message, "A.L.I.C.E.", "Response Team") + announcer.autosay(message, "A.L.I.C.E.", CHANNEL_RESPONSE_TEAM) message_tracker -= rounded_time_left//Remove the number from the list so it won't be called again next cycle. //Should call all the numbers but lag could mean some issues. Oh well. Not much I can do about that. @@ -136,7 +136,7 @@ var/specops_shuttle_timeleft = 0 if (specops_shuttle_moving_to_station || specops_shuttle_moving_to_centcom) return if (!specops_can_move()) - to_chat(usr, "The Special Operations shuttle is unable to leave.") + to_chat(usr, span_warning("The Special Operations shuttle is unable to leave.")) return //Begin Marauder launchpad. @@ -231,7 +231,7 @@ var/specops_shuttle_timeleft = 0 for(var/turf/T in get_area_turfs(end_location) ) var/mob/M = locate(/mob) in T - to_chat(M, "You have arrived to [station_name()]. Commence operation!") + to_chat(M, span_notice("You have arrived to [station_name()]. Commence operation!")) for(var/obj/machinery/computer/specops_shuttle/S in machines) S.specops_shuttle_timereset = world.time + SPECOPS_RETURN_DELAY @@ -250,11 +250,11 @@ var/specops_shuttle_timeleft = 0 return attack_hand(user) /obj/machinery/computer/specops_shuttle/emag_act(var/remaining_charges, var/mob/user) - to_chat(user, "The electronic systems in this console are far too advanced for your primitive hacking peripherals.") + to_chat(user, span_notice("The electronic systems in this console are far too advanced for your primitive hacking peripherals.")) /obj/machinery/computer/specops_shuttle/attack_hand(var/mob/user as mob) if(!allowed(user)) - to_chat(user, "Access Denied.") + to_chat(user, span_warning("Access Denied.")) return if(..()) @@ -285,14 +285,14 @@ var/specops_shuttle_timeleft = 0 if(!specops_shuttle_at_station|| specops_shuttle_moving_to_station || specops_shuttle_moving_to_centcom) return if (!specops_can_move()) - to_chat(usr, "[using_map.boss_name] will not allow the Special Operations shuttle to return yet.") + to_chat(usr, span_notice("[using_map.boss_name] will not allow the Special Operations shuttle to return yet.")) if(world.timeofday <= specops_shuttle_timereset) if (((world.timeofday - specops_shuttle_timereset)/10) > 60) - to_chat(usr, "[-((world.timeofday - specops_shuttle_timereset)/10)/60] minutes remain!") - to_chat(usr, "[-(world.timeofday - specops_shuttle_timereset)/10] seconds remain!") + to_chat(usr, span_notice("[-((world.timeofday - specops_shuttle_timereset)/10)/60] minutes remain!")) + to_chat(usr, span_notice("[-(world.timeofday - specops_shuttle_timereset)/10] seconds remain!")) return - to_chat(usr, "The Special Operations shuttle will arrive at [using_map.boss_name] in [(SPECOPS_MOVETIME/10)] seconds.") + to_chat(usr, span_notice("The Special Operations shuttle will arrive at [using_map.boss_name] in [(SPECOPS_MOVETIME/10)] seconds.")) temp += "Shuttle departing.

OK" updateUsrDialog() @@ -306,10 +306,10 @@ var/specops_shuttle_timeleft = 0 if(specops_shuttle_at_station || specops_shuttle_moving_to_station || specops_shuttle_moving_to_centcom) return if (!specops_can_move()) - to_chat(usr, "The Special Operations shuttle is unable to leave.") + to_chat(usr, span_warning("The Special Operations shuttle is unable to leave.")) return - to_chat(usr, "The Special Operations shuttle will arrive on [station_name()] in [(SPECOPS_MOVETIME/10)] seconds.") + to_chat(usr, span_notice("The Special Operations shuttle will arrive on [station_name()] in [(SPECOPS_MOVETIME/10)] seconds.")) temp += "Shuttle departing.

OK" updateUsrDialog() diff --git a/code/game/machinery/computer/station_alert.dm b/code/game/machinery/computer/station_alert.dm index d6e8a3609fb..8b767acb629 100644 --- a/code/game/machinery/computer/station_alert.dm +++ b/code/game/machinery/computer/station_alert.dm @@ -5,21 +5,21 @@ icon_keyboard = "tech_key" icon_screen = "alert:0" light_color = "#e6ffff" - circuit = /obj/item/weapon/circuitboard/stationalert_engineering + circuit = /obj/item/circuitboard/stationalert_engineering var/datum/tgui_module/alarm_monitor/alarm_monitor var/monitor_type = /datum/tgui_module/alarm_monitor/engineering /obj/machinery/computer/station_alert/security monitor_type = /datum/tgui_module/alarm_monitor/security - circuit = /obj/item/weapon/circuitboard/stationalert_security + circuit = /obj/item/circuitboard/stationalert_security /obj/machinery/computer/station_alert/all monitor_type = /datum/tgui_module/alarm_monitor/all - circuit = /obj/item/weapon/circuitboard/stationalert_all + circuit = /obj/item/circuitboard/stationalert_all /obj/machinery/computer/station_alert/Initialize() alarm_monitor = new monitor_type(src) - alarm_monitor.register_alarm(src, /atom/proc/update_icon) + alarm_monitor.register_alarm(src, "update_console_icon") . = ..() /obj/machinery/computer/station_alert/Destroy() @@ -44,11 +44,13 @@ /obj/machinery/computer/station_alert/tgui_interact(mob/user) alarm_monitor.tgui_interact(user) -/obj/machinery/computer/station_alert/update_icon() +/obj/machinery/computer/station_alert/proc/update_console_icon() if(!(stat & (BROKEN|NOPOWER))) + var/last_icon = icon_screen var/list/alarms = alarm_monitor ? alarm_monitor.major_alarms() : list() if(alarms.len) icon_screen = "alert:2" else icon_screen = initial(icon_screen) - ..() + if(last_icon != icon_screen) + update_icon() diff --git a/code/game/machinery/computer/supply.dm b/code/game/machinery/computer/supply.dm index ce345e429e6..8117cf4499a 100644 --- a/code/game/machinery/computer/supply.dm +++ b/code/game/machinery/computer/supply.dm @@ -7,7 +7,7 @@ name = "supply ordering console" desc = "Request crates from here! Delivery not guaranteed." icon_screen = "request" - circuit = /obj/item/weapon/circuitboard/supplycomp + circuit = /obj/item/circuitboard/supplycomp var/authorization = 0 var/temp = null var/reqtime = 0 //Cooldown for requisitions - Quarxink @@ -24,7 +24,7 @@ icon_screen = "supply" light_color = "#b88b2e" req_access = list(access_cargo) - circuit = /obj/item/weapon/circuitboard/supplycomp/control + circuit = /obj/item/circuitboard/supplycomp/control authorization = SUP_SEND_SHUTTLE | SUP_ACCEPT_ORDERS /obj/machinery/computer/supplycomp/attack_ai(var/mob/user as mob) @@ -34,7 +34,7 @@ if(..()) return if(!allowed(user)) - to_chat(user, "You don't have the required access to use this console.") + to_chat(user, span_warning("You don't have the required access to use this console.")) return user.set_machine(src) tgui_interact(user) @@ -42,7 +42,7 @@ /obj/machinery/computer/supplycomp/emag_act(var/remaining_charges, var/mob/user) if(!can_order_contraband) - to_chat(user, "Special supplies unlocked.") + to_chat(user, span_notice("Special supplies unlocked.")) authorization |= SUP_CONTRABAND req_access = list() can_order_contraband = TRUE @@ -160,7 +160,7 @@ /obj/machinery/computer/supplycomp/tgui_static_data(mob/user) var/list/data = ..() - + var/list/pack_list = list() for(var/pack_name in SSsupply.supply_pack) var/datum/supply_pack/P = SSsupply.supply_pack[pack_name] @@ -179,7 +179,7 @@ data["categories"] = all_supply_groups return data -/obj/machinery/computer/supplycomp/tgui_act(action, params) +/obj/machinery/computer/supplycomp/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE if(!SSsupply) @@ -218,35 +218,35 @@ return FALSE if(world.time < reqtime) - visible_message("[src]'s monitor flashes, \"[reqtime - world.time] seconds remaining until another requisition form may be printed.\"") + visible_message(span_warning("[src]'s monitor flashes, \"[reqtime - world.time] seconds remaining until another requisition form may be printed.\"")) return FALSE - var/amount = clamp(tgui_input_number(usr, "How many crates? (0 to 20)", null, null, 20, 0), 0, 20) + var/amount = clamp(tgui_input_number(ui.user, "How many crates? (0 to 20)", null, null, 20, 0), 0, 20) if(!amount) return FALSE var/timeout = world.time + 600 - var/reason = sanitize(tgui_input_text(usr, "Reason:","Why do you require this item?","")) + var/reason = sanitize(tgui_input_text(ui.user, "Reason:","Why do you require this item?","")) if(world.time > timeout) - to_chat(usr, "Error. Request timed out.") + to_chat(ui.user, span_warning("Error. Request timed out.")) return FALSE if(!reason) return FALSE for(var/i in 1 to amount) - SSsupply.create_order(S, usr, reason) + SSsupply.create_order(S, ui.user, reason) var/idname = "*None Provided*" var/idrank = "*None Provided*" - if(ishuman(usr)) - var/mob/living/carbon/human/H = usr + if(ishuman(ui.user)) + var/mob/living/carbon/human/H = ui.user idname = H.get_authentification_name() idrank = H.get_assignment() - else if(issilicon(usr)) - idname = usr.real_name + else if(issilicon(ui.user)) + idname = ui.user.real_name idrank = "Stationbound synthetic" - var/obj/item/weapon/paper/reqform = new /obj/item/weapon/paper(loc) + var/obj/item/paper/reqform = new /obj/item/paper(loc) reqform.name = "Requisition Form - [S.name]" reqform.info += "

[station_name()] Supply Requisition Form


" reqform.info += "INDEX: #[SSsupply.ordernum]
" @@ -276,30 +276,30 @@ return FALSE if(world.time < reqtime) - visible_message("[src]'s monitor flashes, \"[reqtime - world.time] seconds remaining until another requisition form may be printed.\"") + visible_message(span_warning("[src]'s monitor flashes, \"[reqtime - world.time] seconds remaining until another requisition form may be printed.\"")) return FALSE var/timeout = world.time + 600 - var/reason = sanitize(tgui_input_text(usr, "Reason:","Why do you require this item?","")) + var/reason = sanitize(tgui_input_text(ui.user, "Reason:","Why do you require this item?","")) if(world.time > timeout) - to_chat(usr, "Error. Request timed out.") + to_chat(ui.user, span_warning("Error. Request timed out.")) return FALSE if(!reason) return FALSE - SSsupply.create_order(S, usr, reason) + SSsupply.create_order(S, ui.user, reason) var/idname = "*None Provided*" var/idrank = "*None Provided*" - if(ishuman(usr)) - var/mob/living/carbon/human/H = usr + if(ishuman(ui.user)) + var/mob/living/carbon/human/H = ui.user idname = H.get_authentification_name() idrank = H.get_assignment() - else if(issilicon(usr)) - idname = usr.real_name + else if(issilicon(ui.user)) + idname = ui.user.real_name idrank = "Stationbound synthetic" - var/obj/item/weapon/paper/reqform = new /obj/item/weapon/paper(loc) + var/obj/item/paper/reqform = new /obj/item/paper(loc) reqform.name = "Requisition Form - [S.name]" reqform.info += "

[station_name()] Supply Requisition Form


" reqform.info += "INDEX: #[SSsupply.ordernum]
" @@ -323,7 +323,7 @@ return FALSE if(!(authorization & SUP_ACCEPT_ORDERS)) return FALSE - var/new_val = sanitize(tgui_input_text(usr, params["edit"], "Enter the new value for this field:", params["default"])) + var/new_val = sanitize(tgui_input_text(ui.user, params["edit"], "Enter the new value for this field:", params["default"])) if(!new_val) return FALSE @@ -362,7 +362,7 @@ return FALSE if(!(authorization & SUP_ACCEPT_ORDERS)) return FALSE - SSsupply.approve_order(O, usr) + SSsupply.approve_order(O, ui.user) . = TRUE if("deny_order") var/datum/supply_order/O = locate(params["ref"]) @@ -370,7 +370,7 @@ return FALSE if(!(authorization & SUP_ACCEPT_ORDERS)) return FALSE - SSsupply.deny_order(O, usr) + SSsupply.deny_order(O, ui.user) . = TRUE if("delete_order") var/datum/supply_order/O = locate(params["ref"]) @@ -378,12 +378,12 @@ return FALSE if(!(authorization & SUP_ACCEPT_ORDERS)) return FALSE - SSsupply.delete_order(O, usr) + SSsupply.delete_order(O, ui.user) . = TRUE if("clear_all_requests") if(!(authorization & SUP_ACCEPT_ORDERS)) return FALSE - SSsupply.deny_all_pending(usr) + SSsupply.deny_all_pending(ui.user) . = TRUE // Exports if("export_edit_field") @@ -394,9 +394,11 @@ if(!(authorization & SUP_ACCEPT_ORDERS)) return FALSE var/list/L = E.contents[params["index"]] - var/field = tgui_alert(usr, "Select which field to edit", "Field Choice", list("Name", "Quantity", "Value")) + var/field = tgui_alert(ui.user, "Select which field to edit", "Field Choice", list("Name", "Quantity", "Value")) + if(!field) + return FALSE - var/new_val = sanitize(tgui_input_text(usr, field, "Enter the new value for this field:", L[lowertext(field)])) + var/new_val = sanitize(tgui_input_text(ui.user, field, "Enter the new value for this field:", L[lowertext(field)])) if(!new_val) return @@ -430,7 +432,7 @@ return FALSE if(!(authorization & SUP_ACCEPT_ORDERS)) return FALSE - SSsupply.add_export_item(E, usr) + SSsupply.add_export_item(E, ui.user) . = TRUE if("export_edit") var/datum/exported_crate/E = locate(params["ref"]) @@ -439,7 +441,7 @@ return FALSE if(!(authorization & SUP_ACCEPT_ORDERS)) return FALSE - var/new_val = sanitize(tgui_input_text(usr, params["edit"], "Enter the new value for this field:", params["default"])) + var/new_val = sanitize(tgui_input_text(ui.user, params["edit"], "Enter the new value for this field:", params["default"])) if(!new_val) return @@ -459,20 +461,20 @@ return FALSE if(!(authorization & SUP_ACCEPT_ORDERS)) return FALSE - SSsupply.delete_export(E, usr) + SSsupply.delete_export(E, ui.user) . = TRUE if("send_shuttle") switch(params["mode"]) if("send_away") if (shuttle.forbidden_atoms_check()) - to_chat(usr, "For safety reasons the automated supply shuttle cannot transport live organisms, classified nuclear weaponry or homing beacons.") + to_chat(ui.user, span_warning("For safety reasons the automated supply shuttle cannot transport live organisms, classified nuclear weaponry or homing beacons.")) else shuttle.launch(src) - to_chat(usr, "Initiating launch sequence.") + to_chat(ui.user, span_notice("Initiating launch sequence.")) if("send_to_station") shuttle.launch(src) - to_chat(usr, "The supply shuttle has been called and will arrive in approximately [round(SSsupply.movetime/600,1)] minutes.") + to_chat(ui.user, span_notice("The supply shuttle has been called and will arrive in approximately [round(SSsupply.movetime/600,1)] minutes.")) if("cancel_shuttle") shuttle.cancel_launch(src) @@ -481,7 +483,7 @@ shuttle.force_launch(src) . = TRUE - add_fingerprint(usr) + add_fingerprint(ui.user) /obj/machinery/computer/supplycomp/proc/post_signal(var/command) var/datum/radio_frequency/frequency = radio_controller.return_frequency(1435) diff --git a/code/game/machinery/computer/timeclock_vr.dm b/code/game/machinery/computer/timeclock_vr.dm index 80ce7a701db..4e5eba6d71b 100644 --- a/code/game/machinery/computer/timeclock_vr.dm +++ b/code/game/machinery/computer/timeclock_vr.dm @@ -14,16 +14,16 @@ light_power_on = 0.5 layer = ABOVE_WINDOW_LAYER density = FALSE - circuit = /obj/item/weapon/circuitboard/timeclock + circuit = /obj/item/circuitboard/timeclock clicksound = null var/channel = "Common" //Radio channel to announce on - var/obj/item/weapon/card/id/card // Inserted Id card - var/obj/item/device/radio/intercom/announce // Integreated announcer + var/obj/item/card/id/card // Inserted Id card + var/obj/item/radio/intercom/announce // Integreated announcer /obj/machinery/computer/timeclock/New() - announce = new /obj/item/device/radio/intercom(src) + announce = new /obj/item/radio/intercom(src) ..() /obj/machinery/computer/timeclock/Destroy() @@ -51,14 +51,14 @@ set_light(light_range_on, light_power_on) /obj/machinery/computer/timeclock/attackby(obj/I, mob/user) - if(istype(I, /obj/item/weapon/card/id)) + if(istype(I, /obj/item/card/id)) if(!card && user.unEquip(I)) I.forceMove(src) card = I SStgui.update_uis(src) update_icon() else if(card) - to_chat(user, "There is already ID card inside.") + to_chat(user, span_warning("There is already ID card inside.")) return . = ..() @@ -101,7 +101,7 @@ "timeoff_factor" = job.timeoff_factor, "pto_department" = job.pto_type ) - if(config.time_off && config.pto_job_change) + if(CONFIG_GET(flag/time_off) && CONFIG_GET(flag/pto_job_change)) data["allow_change_job"] = TRUE if(job && job.timeoff_factor < 0) // Currently are Off Duty, so gotta lookup what on-duty jobs are open data["job_choices"] = getOpenOnDutyJobs(user, job.pto_type) @@ -112,33 +112,33 @@ if(..()) return TRUE - add_fingerprint(usr) + add_fingerprint(ui.user) switch(action) if("id") if(card) - usr.put_in_hands(card) + ui.user.put_in_hands(card) card = null else - var/obj/item/I = usr.get_active_hand() - if (istype(I, /obj/item/weapon/card/id) && usr.unEquip(I)) + var/obj/item/I = ui.user.get_active_hand() + if (istype(I, /obj/item/card/id) && ui.user.unEquip(I)) I.forceMove(src) card = I update_icon() return TRUE if("switch-to-onduty-rank") - if(checkFace()) - if(checkCardCooldown()) - makeOnDuty(params["switch-to-onduty-rank"], params["switch-to-onduty-assignment"]) - usr.put_in_hands(card) + if(checkFace(ui.user)) + if(checkCardCooldown(ui.user)) + makeOnDuty(params["switch-to-onduty-rank"], params["switch-to-onduty-assignment"], ui.user) + ui.user.put_in_hands(card) card = null update_icon() return TRUE if("switch-to-offduty") - if(checkFace()) - if(checkCardCooldown()) - makeOffDuty() - usr.put_in_hands(card) + if(checkFace(ui.user)) + if(checkCardCooldown(ui.user)) + makeOffDuty(ui.user) + ui.user.put_in_hands(card) card = null update_icon() return TRUE @@ -165,10 +165,10 @@ && !job.disallow_jobhop \ && job.timeoff_factor > 0 -/obj/machinery/computer/timeclock/proc/makeOnDuty(var/newrank, var/newassignment) +/obj/machinery/computer/timeclock/proc/makeOnDuty(var/newrank, var/newassignment, var/mob/user) var/datum/job/oldjob = job_master.GetJob(card.rank) var/datum/job/newjob = job_master.GetJob(newrank) - if(!oldjob || !isOpenOnDutyJob(usr, oldjob.pto_type, newjob)) + if(!oldjob || !isOpenOnDutyJob(user, oldjob.pto_type, newjob)) return if(newassignment != newjob.title && !(newassignment in newjob.alt_titles)) return @@ -181,13 +181,13 @@ card.last_job_switch = world.time callHook("reassign_employee", list(card)) newjob.current_positions++ - var/mob/living/carbon/human/H = usr + var/mob/living/carbon/human/H = user H.mind.assigned_role = card.rank H.mind.role_alt_title = card.assignment announce.autosay("[card.registered_name] has moved On-Duty as [card.assignment].", "Employee Oversight", channel, zlevels = using_map.get_map_levels(get_z(src))) return -/obj/machinery/computer/timeclock/proc/makeOffDuty() +/obj/machinery/computer/timeclock/proc/makeOffDuty(var/mob/user) var/datum/job/foundjob = job_master.GetJob(card.rank) if(!foundjob) return @@ -206,43 +206,43 @@ data_core.manifest_modify(card.registered_name, card.assignment, card.rank) card.last_job_switch = world.time callHook("reassign_employee", list(card)) - var/mob/living/carbon/human/H = usr + var/mob/living/carbon/human/H = user H.mind.assigned_role = ptojob.title H.mind.role_alt_title = ptojob.title foundjob.current_positions-- announce.autosay("[card.registered_name], [oldtitle], has moved Off-Duty.", "Employee Oversight", channel, zlevels = using_map.get_map_levels(get_z(src))) return -/obj/machinery/computer/timeclock/proc/checkCardCooldown() +/obj/machinery/computer/timeclock/proc/checkCardCooldown(var/mob/user) if(!card) return FALSE var/time_left = 10 MINUTES - (world.time - card.last_job_switch) if(time_left > 0) - to_chat(usr, "You need to wait another [round((time_left/10)/60, 1)] minute\s before you can switch.") + to_chat(user, "You need to wait another [round((time_left/10)/60, 1)] minute\s before you can switch.") return FALSE return TRUE -/obj/machinery/computer/timeclock/proc/checkFace() +/obj/machinery/computer/timeclock/proc/checkFace(var/mob/user) if(!card) - to_chat(usr, "No ID is inserted.") + to_chat(user, span_notice("No ID is inserted.")) return FALSE - var/mob/living/carbon/human/H = usr + var/mob/living/carbon/human/H = user if(!(istype(H))) - to_chat(usr, "Invalid user detected. Access denied.") + to_chat(user, span_warning("Invalid user detected. Access denied.")) return FALSE else if((H.wear_mask && (H.wear_mask.flags_inv & HIDEFACE)) || (H.head && (H.head.flags_inv & HIDEFACE))) //Face hiding bad - to_chat(usr, "Facial recognition scan failed due to physical obstructions. Access denied.") + to_chat(user, span_warning("Facial recognition scan failed due to physical obstructions. Access denied.")) return FALSE else if(H.get_face_name() == "Unknown" || !(H.real_name == card.registered_name)) - to_chat(usr, "Facial recognition scan failed. Access denied.") + to_chat(user, span_warning("Facial recognition scan failed. Access denied.")) return FALSE else return TRUE -/obj/item/weapon/card/id +/obj/item/card/id var/last_job_switch -/obj/item/weapon/card/id/New() +/obj/item/card/id/New() .=..() last_job_switch = world.time diff --git a/code/game/machinery/computer3/computers/card.dm b/code/game/machinery/computer3/computers/card.dm index 7412f6b4641..a9776bc79b0 100644 --- a/code/game/machinery/computer3/computers/card.dm +++ b/code/game/machinery/computer3/computers/card.dm @@ -16,8 +16,8 @@ image = 'icons/ntos/cardcomp.png' active_state = "id" - var/obj/item/weapon/card/id/reader = null - var/obj/item/weapon/card/id/writer = null + var/obj/item/card/id/reader = null + var/obj/item/card/id/writer = null var/mode = 0 var/auth = 0 @@ -36,7 +36,7 @@ jobs_all += "" jobs_all += ""//Site Manager in special because he is head of heads ~Intercross21 - jobs_all += "" + jobs_all += "" jobs_all += "" counter = 0 @@ -123,7 +123,7 @@ for(var/i = 1; i <= 7; i++) accesses += "
Command
SpecialSite Manager"+JOB_SITE_MANAGER+"Custom" for(var/A in get_region_accesses(i)) - if(A in writer.access) + if(A in writer.GetAccess()) accesses += topic_link(src,"access=[A]","[replacetext(get_access_desc(A), " ", " ")]") + " " else accesses += topic_link(src,"access=[A]",replacetext(get_access_desc(A), " ", " ")) + " " @@ -146,14 +146,14 @@ // form for renaming the ID dat += "
" dat += "" - dat += "registered_name: " + dat += span_bold("registered_name:") + " " dat += "" dat += "
" // form for changing assignment, taken care of by scriptblock() mostly var/assign_temp = writer.assignment if(!assign_temp || assign_temp == "") assign_temp = "Unassigned" - dat += "Assignment: [assign_temp] change" + dat += span_bold("Assignment:") + " [assign_temp] change" // list of access rights dat += accessblock() @@ -189,7 +189,7 @@ // These are here partly in order to be overwritten by the centcom card computer code /datum/file/program/card_comp/proc/authenticate() - if(access_change_ids in reader.access) + if(access_change_ids in reader.GetAccess()) return 1 if(istype(usr,/mob/living/silicon/ai)) return 1 @@ -260,7 +260,7 @@ auth = 0 if("insert" in href_list) - var/obj/item/weapon/card/card = usr.get_active_hand() + var/obj/item/card/card = usr.get_active_hand() if(!istype(card)) return var/which = href_list["insert"] @@ -275,8 +275,8 @@ printing = 1 sleep(50) - var/obj/item/weapon/paper/P = new /obj/item/weapon/paper( computer.loc ) - P.info = "Crew Manifest:
" + var/obj/item/paper/P = new /obj/item/paper( computer.loc ) + P.info = span_bold("Crew Manifest:") + "
" var/list/L = list() for (var/datum/data/record/t in data_core.general) var/R = t.fields["name"] + " - " + t.fields["rank"] @@ -335,13 +335,13 @@ /datum/file/program/card_comp/centcom/accessblock() var/accesses = "
[using_map.boss_name]:
" for(var/A in get_all_centcom_access()) - if(A in writer.access) + if(A in writer.GetAccess()) accesses += topic_link(src,"access=[A]","[replacetext(get_centcom_access_desc(A), " ", " ")]") + " " else accesses += topic_link(src,"access=[A]",replacetext(get_centcom_access_desc(A), " ", " ")) + " " return accesses /datum/file/program/card_comp/centcom/authenticate() - if(access_cent_captain in reader.access) + if(access_cent_captain in reader.GetAccess()) return 1 return 0 diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm index 29979be8940..4f8f7cac36d 100644 --- a/code/game/machinery/constructable_frame.dm +++ b/code/game/machinery/constructable_frame.dm @@ -8,7 +8,7 @@ density = TRUE anchored = TRUE use_power = USE_POWER_OFF - var/obj/item/weapon/circuitboard/circuit = null + var/obj/item/circuitboard/circuit = null var/list/components = null var/list/req_components = null var/list/req_component_names = null @@ -31,32 +31,32 @@ if(istype(P, /obj/item/stack/cable_coil)) var/obj/item/stack/cable_coil/C = P if (C.get_amount() < 5) - to_chat(user, "You need five lengths of cable to add them to the frame.") + to_chat(user, span_warning("You need five lengths of cable to add them to the frame.")) return playsound(src, 'sound/items/Deconstruct.ogg', 50, 1) - to_chat(user, "You start to add cables to the frame.") + to_chat(user, span_notice("You start to add cables to the frame.")) if(do_after(user, 20) && state == 1) if(C.use(5)) - to_chat(user, "You add cables to the frame.") + to_chat(user, span_notice("You add cables to the frame.")) state = 2 icon_state = "box_1" else if(P.has_tool_quality(TOOL_WRENCH)) playsound(src, W.usesound, 75, 1) - to_chat(user, "You dismantle the frame") + to_chat(user, span_notice("You dismantle the frame")) new /obj/item/stack/material/steel(src.loc, 5) qdel(src) if(2) - if(istype(P, /obj/item/weapon/circuitboard)) - var/obj/item/weapon/circuitboard/B = P + if(istype(P, /obj/item/circuitboard)) + var/obj/item/circuitboard/B = P if(B.board_type == "machine") //VOREStation Addition End - if(istype(B, /obj/item/weapon/circuitboard/quantumpad) && istype(get_area(src), /area/shuttle)) - to_chat(user, "This is too unstable a platform for a quantum pad to operate on!") + if(istype(B, /obj/item/circuitboard/quantumpad) && istype(get_area(src), /area/shuttle)) + to_chat(user, span_warning("This is too unstable a platform for a quantum pad to operate on!")) return //VOREStation Addition End playsound(src, 'sound/items/Deconstruct.ogg', 50, 1) - to_chat(user, "You add the circuit board to the frame.") + to_chat(user, span_notice("You add the circuit board to the frame.")) circuit = P user.drop_item() P.loc = src @@ -74,11 +74,11 @@ update_desc() to_chat(user, desc) else - to_chat(user, "This frame does not accept circuit boards of this type!") + to_chat(user, span_warning("This frame does not accept circuit boards of this type!")) else if(P.has_tool_quality(TOOL_WIRECUTTER)) playsound(src, P.usesound, 50, 1) - to_chat(user, "You remove the cables.") + to_chat(user, span_notice("You remove the cables.")) state = 1 icon_state = "box_0" var/obj/item/stack/cable_coil/A = new /obj/item/stack/cable_coil( src.loc ) @@ -91,10 +91,10 @@ circuit.loc = src.loc circuit = null if(components.len == 0) - to_chat(user, "You remove the circuit board.") + to_chat(user, span_notice("You remove the circuit board.")) else - to_chat(user, "You remove the circuit board and other components.") - for(var/obj/item/weapon/W in components) + to_chat(user, span_notice("You remove the circuit board and other components.")) + for(var/obj/item/W in components) W.loc = src.loc desc = initial(desc) req_components = null @@ -137,7 +137,7 @@ for(var/I in req_components) if(istype(P, text2path(I)) && (req_components[I] > 0)) playsound(src, 'sound/items/Deconstruct.ogg', 50, 1) - if(P.is_cable_coil)) + if(P.is_cable_coil) var/obj/item/stack/cable_coil/CP = P if(CP.get_amount() > 1) var/camt = min(CP.amount, req_components[I]) // amount of cable to take, idealy amount required, but limited by amount provided @@ -157,4 +157,4 @@ break to_chat(user, desc) if(P && P.loc != src && !istype(P, /obj/item/stack/cable_coil)) - to_chat(user, "You cannot add that component to the machine!") + to_chat(user, span_warning("You cannot add that component to the machine!")) diff --git a/code/game/machinery/contraband_scanner.dm b/code/game/machinery/contraband_scanner.dm new file mode 100644 index 00000000000..265cad9bd8c --- /dev/null +++ b/code/game/machinery/contraband_scanner.dm @@ -0,0 +1,67 @@ +/obj/machinery/contraband_scanner + name = "contraband scanner" + gender = PLURAL + icon = 'icons/obj/atm_fieldgen.dmi' + icon_state = "arfg_off" + desc = "A simple scanner that analyzes those who pass over it, and sounds an alarm if it detects any items that are programmed into its contraband list." + anchored = TRUE + opacity = FALSE + density = FALSE + power_channel = EQUIP + use_power = USE_POWER_IDLE + idle_power_usage = 10 + active_power_usage = 250 + + var/deep_scan = TRUE //check more than just their hands/pockets? + var/contraband_count = 0 //how many items have we detected? only one actually needs to be found to set off the alarm + var/area_lockdown = TRUE //do we set off the fire alarm for our area when triggered? + var/close_blastdoors = TRUE //close all blast doors in the area when triggered? + var/power_fields = TRUE //do we activate all ARFs when triggered? use w/ impassable fieldgens. requires area_lockdown = TRUE to do anything. + + var/last_trigger //when were we last triggered? combined with the cooldown below for sanity reasons + var/cooldown = 15 SECONDS //minimum time between retriggers, so people can't spam trigger the scanner to be obnoxious + var/auto_cancel = TRUE //automatically cancel alarm states after a delay? same duration as the cooldown for sanity + var/trigger_message = "The contraband scanner has been tripped!" + var/trigger_sound = 'sound/machines/airalarm.ogg' //sound that plays when we're set off + + var/list/contraband = list(/obj/item/melee,/obj/item/gun,/obj/item/material) + +/obj/machinery/contraband_scanner/Crossed(mob/living/M as mob) + if(M.is_incorporeal()) + return + if(isliving(M)) + var/area/A = src.loc.loc + if(last_trigger > world.time - cooldown) + return + for(var/obj/O in M.contents) + if(is_type_in_list(O,contraband)) + contraband_count++ + if(deep_scan) + for(var/obj/O2 in O.contents) //one layer deep is fine for now I think + if(is_type_in_list(O2,contraband)) + contraband_count++ + if(contraband_count && last_trigger < world.time - cooldown) + visible_message(span_danger(trigger_message)) + playsound(src, trigger_sound, 25, 0, 4, volume_channel = VOLUME_CHANNEL_ALARMS) + for(var/obj/machinery/contraband_scanner/CS in A) + CS.last_trigger = world.time //set everyone's trigger time at once, to cut down on spam + CS.contraband_count = 0 //clear all our contraband counts too + if(area_lockdown) + if(close_blastdoors) + for(var/obj/machinery/door/blast/B in A) + if(!B.density) + spawn(0) + B.close() + if(power_fields) + A.arfgs_activate() + if(auto_cancel) + spawn(cooldown) + if(close_blastdoors) + for(var/obj/machinery/door/blast/B in A) + if(B.density) + spawn(0) + B.open() + if(power_fields) + A.arfgs_deactivate() + + ..() diff --git a/code/game/machinery/cryo.dm b/code/game/machinery/cryo.dm index d431c700d6b..79603bfaa72 100644 --- a/code/game/machinery/cryo.dm +++ b/code/game/machinery/cryo.dm @@ -21,7 +21,7 @@ var/temperature_archived var/mob/living/carbon/occupant = null - var/obj/item/weapon/reagent_containers/glass/beaker = null + var/obj/item/reagent_containers/glass/beaker = null var/current_heat_capacity = 50 @@ -90,7 +90,7 @@ return if(panel_open) - to_chat(usr, "Close the maintenance panel first.") + to_chat(user, span_boldnotice("Close the maintenance panel first.")) return tgui_interact(user) @@ -113,7 +113,7 @@ occupantData["stat"] = occupant.stat occupantData["health"] = occupant.health occupantData["maxHealth"] = occupant.getMaxHealth() - occupantData["minHealth"] = config.health_threshold_dead + occupantData["minHealth"] = CONFIG_GET(number/health_threshold_dead) occupantData["bruteLoss"] = occupant.getBruteLoss() occupantData["oxyLoss"] = occupant.getOxyLoss() occupantData["toxLoss"] = occupant.getToxLoss() @@ -139,8 +139,8 @@ return data -/obj/machinery/atmospherics/unary/cryo_cell/tgui_act(action, params) - if(..() || usr == occupant) +/obj/machinery/atmospherics/unary/cryo_cell/tgui_act(action, params, datum/tgui/ui) + if(..() || ui.user == occupant) return TRUE . = TRUE @@ -157,18 +157,18 @@ beaker = null update_icon() if("ejectOccupant") - if(!occupant || isslime(usr) || ispAI(usr)) + if(!occupant || isslime(ui.user) || ispAI(ui.user)) return 0 // don't update UIs attached to this object go_out() else return FALSE - add_fingerprint(usr) + add_fingerprint(ui.user) -/obj/machinery/atmospherics/unary/cryo_cell/attackby(var/obj/item/weapon/G as obj, var/mob/user as mob) - if(istype(G, /obj/item/weapon/reagent_containers/glass)) +/obj/machinery/atmospherics/unary/cryo_cell/attackby(var/obj/item/G as obj, var/mob/user as mob) + if(istype(G, /obj/item/reagent_containers/glass)) if(beaker) - to_chat(user, "A beaker is already loaded into the machine.") + to_chat(user, span_warning("A beaker is already loaded into the machine.")) return beaker = G @@ -177,14 +177,14 @@ user.visible_message("[user] adds \a [G] to \the [src]!", "You add \a [G] to \the [src]!") SStgui.update_uis(src) update_icon() - else if(istype(G, /obj/item/weapon/grab)) - var/obj/item/weapon/grab/grab = G + else if(istype(G, /obj/item/grab)) + var/obj/item/grab/grab = G if(!ismob(grab.affecting)) return if(occupant) - to_chat(user,"\The [src] is already occupied by [occupant].") + to_chat(user,span_warning("\The [src] is already occupied by [occupant].")) if(grab.affecting.has_buckled_mobs()) - to_chat(user, span("warning", "\The [grab.affecting] has other entities attached to it. Remove them first.")) + to_chat(user, span_warning("\The [grab.affecting] has other entities attached to it. Remove them first.")) return var/mob/M = grab.affecting qdel(grab) @@ -281,19 +281,19 @@ /obj/machinery/atmospherics/unary/cryo_cell/proc/put_mob(mob/living/carbon/M as mob) if(stat & (NOPOWER|BROKEN)) - to_chat(usr, "The cryo cell is not functioning.") + to_chat(usr, span_warning("The cryo cell is not functioning.")) return if(!istype(M)) - to_chat(usr, "The cryo cell cannot handle such a lifeform!") + to_chat(usr, span_danger("The cryo cell cannot handle such a lifeform!")) return if(occupant) - to_chat(usr, "The cryo cell is already occupied!") + to_chat(usr, span_danger("The cryo cell is already occupied!")) return if(M.abiotic()) - to_chat(usr, "Subject may not have abiotic items on.") + to_chat(usr, span_warning("Subject may not have abiotic items on.")) return if(!node) - to_chat(usr, "The cell is not correctly connected to its pipe network!") + to_chat(usr, span_warning("The cell is not correctly connected to its pipe network!")) return if(M.client) M.client.perspective = EYE_PERSPECTIVE @@ -302,7 +302,7 @@ M.loc = src M.ExtinguishMob() if(M.health > -100 && (M.health < 0 || M.sleeping)) - to_chat(M, "You feel a cold liquid surround you. Your skin starts to freeze up.") + to_chat(M, span_boldnotice("You feel a cold liquid surround you. Your skin starts to freeze up.")) occupant = M buckle_mob(occupant, forced = TRUE, check_loc = FALSE) vis_contents |= occupant @@ -322,7 +322,7 @@ if(usr == occupant)//If the user is inside the tube... if(usr.stat == 2)//and he's not dead.... return - to_chat(usr, "Release sequence activated. This will take two minutes.") + to_chat(usr, span_notice("Release sequence activated. This will take two minutes.")) sleep(1200) if(!src || !usr || !occupant || (occupant != usr)) //Check if someone's released/replaced/bombed him already return @@ -341,7 +341,7 @@ if(isliving(usr)) var/mob/living/L = usr if(L.has_buckled_mobs()) - to_chat(L, span("warning", "You have other entities attached to yourself. Remove them first.")) + to_chat(L, span_warning("You have other entities attached to yourself. Remove them first.")) return if(L.stat != CONSCIOUS) return diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index 49dcdbafe76..e8479049e58 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -13,7 +13,7 @@ desc = "An interface between crew and the cryogenic storage oversight systems." icon = 'icons/obj/Cryogenic2_vr.dmi' //VOREStation Edit - New Icon icon_state = "cellconsole" - circuit = /obj/item/weapon/circuitboard/cryopodcontrol + circuit = /obj/item/circuitboard/cryopodcontrol density = FALSE interact_offline = 1 var/mode = null @@ -41,7 +41,7 @@ desc = "An interface between crew and the robotic storage systems" icon = 'icons/obj/robot_storage.dmi' icon_state = "console" - circuit = /obj/item/weapon/circuitboard/robotstoragecontrol + circuit = /obj/item/circuitboard/robotstoragecontrol storage_type = "cyborgs" storage_name = "Robotic Storage Control" @@ -50,7 +50,7 @@ /obj/machinery/computer/cryopod/dorms name = "residential oversight console" desc = "An interface between visitors and the residential oversight systems tasked with keeping track of all visitors in the deeper section of the colony." - circuit = "/obj/item/weapon/circuitboard/robotstoragecontrol" + circuit = "/obj/item/circuitboard/robotstoragecontrol" storage_type = "visitors" storage_name = "Residential Oversight Control" @@ -59,7 +59,7 @@ /obj/machinery/computer/cryopod/travel name = "docking oversight console" desc = "An interface between visitors and the docking oversight systems tasked with keeping track of all visitors who enter or exit from the docks." - circuit = "/obj/item/weapon/circuitboard/robotstoragecontrol" + circuit = "/obj/item/circuitboard/robotstoragecontrol" storage_type = "visitors" storage_name = "Travel Oversight Control" @@ -68,7 +68,7 @@ /obj/machinery/computer/cryopod/gateway name = "gateway oversight console" desc = "An interface between visitors and the gateway oversight systems tasked with keeping track of all visitors who enter or exit from the gateway." - circuit = "/obj/item/weapon/circuitboard/robotstoragecontrol" + circuit = "/obj/item/circuitboard/robotstoragecontrol" storage_type = "visitors" storage_name = "Travel Oversight Control" @@ -114,7 +114,7 @@ if(..()) return - add_fingerprint(usr) + add_fingerprint(ui.user) return FALSE // VOREStation Edit - prevent topic exploits /* VOREStation Edit - Unreachable due to above @@ -124,15 +124,15 @@ return if(!LAZYLEN(frozen_items)) - to_chat(usr, "There is nothing to recover from storage.") + to_chat(ui.user, span_notice("There is nothing to recover from storage.")) return var/obj/item/I = locate(params["ref"]) in frozen_items if(!I) - to_chat(usr, "\The [I] is no longer in storage.") + to_chat(ui.user, span_notice("\The [I] is no longer in storage.")) return - visible_message("The console beeps happily as it disgorges [I].") + visible_message(span_notice("The console beeps happily as it disgorges [I].")) I.forceMove(get_turf(src)) frozen_items -= I @@ -141,37 +141,37 @@ return if(!LAZYLEN(frozen_items)) - to_chat(usr, "There is nothing to recover from storage.") + to_chat(ui.user, span_notice("There is nothing to recover from storage.")) return - visible_message("The console beeps happily as it disgorges the desired objects.") + visible_message(span_notice("The console beeps happily as it disgorges the desired objects.")) for(var/obj/item/I in frozen_items) I.forceMove(get_turf(src)) frozen_items -= I */ -/obj/item/weapon/circuitboard/cryopodcontrol +/obj/item/circuitboard/cryopodcontrol name = "Circuit board (Cryogenic Oversight Console)" build_path = "/obj/machinery/computer/cryopod" origin_tech = list(TECH_DATA = 3) -/obj/item/weapon/circuitboard/robotstoragecontrol +/obj/item/circuitboard/robotstoragecontrol name = "Circuit board (Robotic Storage Console)" build_path = "/obj/machinery/computer/cryopod/robot" origin_tech = list(TECH_DATA = 3) -/obj/item/weapon/circuitboard/dormscontrol +/obj/item/circuitboard/dormscontrol name = "Circuit board (Residential Oversight Console)" build_path = "/obj/machinery/computer/cryopod/door/dorms" origin_tech = list(TECH_DATA = 3) -/obj/item/weapon/circuitboard/travelcontrol +/obj/item/circuitboard/travelcontrol name = "Circuit board (Travel Oversight Console - Docks)" build_path = "/obj/machinery/computer/cryopod/door/travel" origin_tech = list(TECH_DATA = 3) -/obj/item/weapon/circuitboard/gatewaycontrol +/obj/item/circuitboard/gatewaycontrol name = "Circuit board (Travel Oversight Console - Gateway)" build_path = "/obj/machinery/computer/cryopod/door/gateway" origin_tech = list(TECH_DATA = 3) @@ -213,7 +213,7 @@ var/mob/occupant = null // Person waiting to be despawned. var/time_till_despawn = 599 // Down to 1 minute to reflect Vorestation respawn times. var/time_entered = 0 // Used to keep track of the safe period. - var/obj/item/device/radio/intercom/announce // + var/obj/item/radio/intercom/announce // var/obj/machinery/computer/cryopod/control_computer var/last_no_computer_message = 0 @@ -290,7 +290,7 @@ time_till_despawn = 60 //1 second, because gateway. /obj/machinery/cryopod/New() - announce = new /obj/item/device/radio/intercom(src) + announce = new /obj/item/radio/intercom(src) ..() /obj/machinery/cryopod/Destroy() @@ -390,7 +390,7 @@ W.forceMove(src) if(W.contents.len) for(var/obj/item/O in W.contents) - if(istype(O,/obj/item/weapon/storage/internal)) + if(istype(O,/obj/item/storage/internal)) continue O.forceMove(src) if(ishuman(to_despawn)) @@ -411,7 +411,7 @@ if(W.contents.len) //Make sure we catch anything not handled by qdel() on the items. for(var/obj/item/O in W.contents) - if(istype(O,/obj/item/weapon/storage/internal)) //Stop eating pockets, you fuck! + if(istype(O,/obj/item/storage/internal)) //Stop eating pockets, you fuck! continue O.forceMove(src) @@ -422,13 +422,13 @@ for(var/obj/item/W in items) //VOREStation Addition Start - if(istype(W, /obj/item/device/pda)) - var/obj/item/device/pda/found_pda = W + if(istype(W, /obj/item/pda)) + var/obj/item/pda/found_pda = W found_pda.delete_id = TRUE else - var/list/pdas_found = W.search_contents_for(/obj/item/device/pda) + var/list/pdas_found = W.search_contents_for(/obj/item/pda) if(pdas_found.len) - for(var/obj/item/device/pda/found_pda in pdas_found) + for(var/obj/item/pda/found_pda in pdas_found) found_pda.delete_id = TRUE //VOREStation Addition End @@ -437,7 +437,7 @@ if(W.preserve_item) preserve = 1 - if(istype(W,/obj/item/weapon/implant/health)) + if(istype(W,/obj/item/implant/health)) for(var/obj/machinery/computer/cloning/com in machines) for(var/datum/dna2/record/R in com.records) if(locate(R.implant) == W) @@ -465,7 +465,7 @@ // them win or lose based on cryo is silly so we remove the objective. if(O.target == to_despawn.mind) if(O.owner && O.owner.current) - to_chat(O.owner.current, "You get the feeling your target is no longer within your reach...") + to_chat(O.owner.current, span_warning("You get the feeling your target is no longer within your reach...")) qdel(O) //VOREStation Edit - Resleeving. @@ -537,7 +537,7 @@ if(depart_announce) announce.autosay("[to_despawn.real_name][departing_job ? ", [departing_job], " : " "][on_store_message]", "[on_store_name]", announce_channel, using_map.get_map_levels(z, TRUE, om_range = DEFAULT_OVERMAP_RANGE)) - visible_message("\The [initial(name)] [on_store_visible_message_1] [to_despawn.real_name] [on_store_visible_message_2]", 3) + visible_message(span_notice("\The [initial(name)] [on_store_visible_message_1] [to_despawn.real_name] [on_store_visible_message_2]"), 3) //VOREStation Edit End @@ -555,13 +555,13 @@ qdel(to_despawn) set_occupant(null) -/obj/machinery/cryopod/attackby(var/obj/item/weapon/G as obj, var/mob/user as mob) +/obj/machinery/cryopod/attackby(var/obj/item/G as obj, var/mob/user as mob) - if(istype(G, /obj/item/weapon/grab)) + if(istype(G, /obj/item/grab)) - var/obj/item/weapon/grab/grab = G + var/obj/item/grab/grab = G if(occupant) - to_chat(user, "\The [src] is in use.") + to_chat(user, span_notice("\The [src] is in use.")) return if(!ismob(grab.affecting)) @@ -606,13 +606,13 @@ return if(occupant) - to_chat(usr, "\The [src] is in use.") + to_chat(usr, span_boldnotice("\The [src] is in use.")) return if(isliving(usr)) var/mob/living/L = usr if(L.has_buckled_mobs()) - to_chat(L, span("warning", "You have other entities attached to yourself. Remove them first.")) + to_chat(L, span_warning("You have other entities attached to yourself. Remove them first.")) return visible_message("[usr] [on_enter_visible_message] [src].", 3) @@ -623,7 +623,7 @@ return if(occupant) - to_chat(usr, "\The [src] is in use.") + to_chat(usr, span_boldnotice("\The [src] is in use.")) return usr.stop_pulling() @@ -639,8 +639,8 @@ icon_state = occupied_icon_state - to_chat(usr, "[on_enter_occupant_message]") - to_chat(usr, "If you ghost, log out or close your client now, your character will shortly be permanently removed from the round.") + to_chat(usr, span_notice("[on_enter_occupant_message]")) + to_chat(usr, span_boldnotice("If you ghost, log out or close your client now, your character will shortly be permanently removed from the round.")) time_entered = world.time @@ -695,7 +695,7 @@ if(!M) return if(occupant) - to_chat(user, "\The [src] is already occupied.") + to_chat(user, span_warning("\The [src] is already occupied.")) return var/willing = null //We don't want to allow people to be forced into despawning. @@ -709,13 +709,13 @@ if(willing) if(M == user) - visible_message("[usr] [on_enter_visible_message] [src].", 3) + visible_message("[user] [on_enter_visible_message] [src].", 3) else visible_message("\The [user] starts putting [M] into \the [src].", 3) if(do_after(user, 20)) if(occupant) - to_chat(user, "\The [src] is already occupied.") + to_chat(user, span_warning("\The [src] is already occupied.")) return M.forceMove(src) @@ -726,8 +726,8 @@ icon_state = occupied_icon_state - to_chat(M, "[on_enter_occupant_message]") - to_chat(M, "If you ghost, log out or close your client now, your character will shortly be permanently removed from the round.") + to_chat(M, span_notice("[on_enter_occupant_message]")) + to_chat(M, span_boldnotice("If you ghost, log out or close your client now, your character will shortly be permanently removed from the round.")) set_occupant(M) time_entered = world.time if(ishuman(M) && applies_stasis) @@ -739,7 +739,7 @@ // Book keeping! var/turf/location = get_turf(src) log_admin("[key_name_admin(M)] has entered a stasis pod. (JMP)") - message_admins("[key_name_admin(M)] has entered a stasis pod.") + message_admins(span_notice("[key_name_admin(M)] has entered a stasis pod.")) //Despawning occurs when process() is called with an occupant without a client. add_fingerprint(M) diff --git a/code/game/machinery/deployable.dm b/code/game/machinery/deployable.dm index 54c1b38ca05..d8a5426c632 100644 --- a/code/game/machinery/deployable.dm +++ b/code/game/machinery/deployable.dm @@ -26,9 +26,9 @@ Deployable items icon_state = "barrier[locked]" -/obj/machinery/deployable/barrier/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/machinery/deployable/barrier/attackby(obj/item/W as obj, mob/user as mob) user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) - if(istype(W, /obj/item/weapon/card/id/)) + if(istype(W, /obj/item/card/id/)) if(allowed(user)) if (emagged < 2.0) locked = !locked @@ -44,7 +44,7 @@ Deployable items var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread s.set_up(2, 1, src) s.start() - visible_message("BZZzZZzZZzZT") + visible_message(span_warning("BZZzZZzZZzZT")) return return else if(W.has_tool_quality(TOOL_WRENCH)) @@ -52,12 +52,12 @@ Deployable items health = maxhealth emagged = 0 req_access = list(access_security) - visible_message("[user] repairs \the [src]!") + visible_message(span_warning("[user] repairs \the [src]!")) return else if(emagged > 0) emagged = 0 req_access = list(access_security) - visible_message("[user] repairs \the [src]!") + visible_message(span_warning("[user] repairs \the [src]!")) return return else @@ -76,7 +76,7 @@ Deployable items return /obj/machinery/deployable/barrier/attack_generic(var/mob/user, var/damage, var/attack_verb) - visible_message("[user] [attack_verb] the [src]!") + visible_message(span_danger("[user] [attack_verb] the [src]!")) playsound(src, 'sound/weapons/smash.ogg', 50, 1) user.do_attack_animation(src) health -= damage @@ -113,7 +113,7 @@ Deployable items /obj/machinery/deployable/barrier/proc/explode() - visible_message("[src] blows apart!") + visible_message(span_danger("[src] blows apart!")) var/turf/Tsec = get_turf(src) /* var/obj/item/stack/rods/ =*/ @@ -136,7 +136,7 @@ Deployable items var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread s.set_up(2, 1, src) s.start() - visible_message("BZZzZZzZZzZT") + visible_message(span_warning("BZZzZZzZZzZT")) return 1 else if(emagged == 1) emagged = 2 @@ -144,5 +144,5 @@ Deployable items var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread s.set_up(2, 1, src) s.start() - visible_message("BZZzZZzZZzZT") - return 1 \ No newline at end of file + visible_message(span_warning("BZZzZZzZZzZT")) + return 1 diff --git a/code/game/machinery/deployable_vr.dm b/code/game/machinery/deployable_vr.dm index c939fea3f40..9e332b218d7 100644 --- a/code/game/machinery/deployable_vr.dm +++ b/code/game/machinery/deployable_vr.dm @@ -15,7 +15,7 @@ var/human_name = TRUE var/static/list/cutout_types - var/static/list/painters = list(/obj/item/weapon/reagent_containers/glass/paint, /obj/item/device/floor_painter)//, /obj/item/device/closet_painter) + var/static/list/painters = list(/obj/item/reagent_containers/glass/paint, /obj/item/floor_painter)//, /obj/item/closet_painter) /obj/structure/barricade/cutout/New() . = ..() @@ -39,7 +39,7 @@ density = FALSE name = initial(name) desc = initial(desc) - visible_message("[src] topples over!") + visible_message(span_warning("[src] topples over!")) /obj/structure/barricade/cutout/proc/untopple() if(!toppled) @@ -49,7 +49,7 @@ density = TRUE name = fake_name desc = fake_desc - visible_message("[src] is uprighted to their proper position.") + visible_message(span_warning("[src] is uprighted to their proper position.")) /obj/structure/barricade/cutout/CheckHealth() if(!toppled && (health < (maxhealth/2))) @@ -67,7 +67,7 @@ . = ..() if(Adjacent(user)) - . += "... from this distance, they seem to be made of [material.name] ..." + . += span_notice("... from this distance, they seem to be made of [material.name] ...") /obj/structure/barricade/cutout/attackby(var/obj/I, var/mob/user) if(is_type_in_list(I, painters)) diff --git a/code/game/machinery/door_control.dm b/code/game/machinery/door_control.dm index 3d4c0382ce3..0c29400e73e 100644 --- a/code/game/machinery/door_control.dm +++ b/code/game/machinery/door_control.dm @@ -24,7 +24,7 @@ else to_chat(user, "Error, no route to host.") -/obj/machinery/button/remote/attackby(obj/item/weapon/W, mob/user as mob) +/obj/machinery/button/remote/attackby(obj/item/W, mob/user as mob) return attack_hand(user) /obj/machinery/button/remote/emag_act(var/remaining_charges, var/mob/user) @@ -43,7 +43,7 @@ return if(!allowed(user) && (wires & 1)) - to_chat(user, "Access Denied") + to_chat(user, span_warning("Access Denied")) flick("doorctrl-denied",src) return @@ -221,3 +221,23 @@ spawn(0) if(SG?.anchored) SG.toggle() + +/obj/machinery/button/remote/airlock/release + icon = 'icons/obj/door_release.dmi' + name = "emergency door release" + desc = "Forces the opening of doors in an emergency, regardless of whether they're powered." + + use_power = USE_POWER_OFF + idle_power_usage = 0 + active_power_usage = 0 + +/obj/machinery/button/remote/airlock/release/trigger() + for(var/obj/machinery/door/airlock/D in machines) + if(D.id_tag == id) + if(D.locked) + D.unlock(1) + if(D.density) + D.open(1) + +/obj/machinery/button/remote/airlock/release/powered() + return 1 //Is always able to be used diff --git a/code/game/machinery/doorbell_vr.dm b/code/game/machinery/doorbell_vr.dm index fbcc58b79ef..c1343846c42 100644 --- a/code/game/machinery/doorbell_vr.dm +++ b/code/game/machinery/doorbell_vr.dm @@ -51,12 +51,12 @@ // return else if(default_part_replacement(user, W)) return - else if(panel_open && istype(W, /obj/item/device/multitool)) - var/obj/item/device/multitool/M = W + else if(panel_open && istype(W, /obj/item/multitool)) + var/obj/item/multitool/M = W if(M.connectable && istype(M.connectable, /obj/machinery/button/doorbell)) var/obj/machinery/button/doorbell/B = M.connectable id_tag = B.id - to_chat(user, "You upload the data from \the [W]'s buffer.") + to_chat(user, span_notice("You upload the data from \the [W]'s buffer.")) return ..() @@ -67,7 +67,7 @@ frame_class = "alarm" // It isn't an alarm, but thats the construction flow we want. frame_size = 3 frame_style = "wall" - circuit = /obj/item/weapon/circuitboard/doorbell_chime + circuit = /obj/item/circuitboard/doorbell_chime icon_override = 'icons/obj/machines/doorbell_vr.dmi' x_offset = 32 y_offset = 32 @@ -76,7 +76,7 @@ // Makes some sense, its how the frame code knows what to actually build. Alternative // is to make building it a single-step process which is too quick I say. // This links up the frame_type to the acutal machine to build. Never seen by players. -/obj/item/weapon/circuitboard/doorbell_chime +/obj/item/circuitboard/doorbell_chime build_path = /obj/machinery/doorbell_chime board_type = new /datum/frame/frame_types/doorbell_chime req_components = list() @@ -128,19 +128,19 @@ src.add_fingerprint(user) if(default_deconstruction_screwdriver(user, W)) return - else if(panel_open && istype(W, /obj/item/weapon/pen)) + else if(panel_open && istype(W, /obj/item/pen)) var/t = sanitizeSafe(tgui_input_text(user, "Enter the name for \the [src].", src.name, initial(src.name), MAX_NAME_LEN), MAX_NAME_LEN) if(t && in_range(src, user)) name = t - else if(panel_open && istype(W, /obj/item/device/multitool)) - var/obj/item/device/multitool/M = W + else if(panel_open && istype(W, /obj/item/multitool)) + var/obj/item/multitool/M = W M.connectable = src - to_chat(user, "You save the data in \the [M]'s buffer.") + to_chat(user, span_notice("You save the data in \the [M]'s buffer.")) else if(W.has_tool_quality(TOOL_WRENCH)) - to_chat(user, "You start to unwrench \the [src].") + to_chat(user, span_notice("You start to unwrench \the [src].")) playsound(src, 'sound/items/Ratchet.ogg', 50, 1) if(do_after(user, 15) && !QDELETED(src)) - to_chat(user, "You unwrench \the [src].") + to_chat(user, span_notice("You unwrench \the [src].")) new /obj/item/frame/doorbell(src.loc) qdel(src) return diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 9386f531d6e..a5d9ecc4ea1 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -41,7 +41,7 @@ var/justzap = 0 var/safe = 1 normalspeed = 1 - var/obj/item/weapon/airlock_electronics/electronics = null + var/obj/item/airlock_electronics/electronics = null var/hasShocked = 0 //Prevents multiple shocks from happening var/secured_wires = 0 var/security_level = 1 //VOREStation Addition - acts as a multiplier on the time required to hack an airlock with a hacktool @@ -60,12 +60,13 @@ var/knock_sound = 'sound/machines/2beeplow.ogg' var/knock_hammer_sound = 'sound/weapons/sonic_jackhammer.ogg' var/knock_unpowered_sound = 'sound/machines/door/knock_glass.ogg' + var/mob/hold_open /obj/machinery/door/airlock/attack_generic(var/mob/living/user, var/damage) if(stat & (BROKEN|NOPOWER)) if(damage >= STRUCTURE_MIN_DAMAGE_THRESHOLD) if(src.locked || src.welded) - visible_message("\The [user] begins breaking into \the [src] internals!") + visible_message(span_danger("\The [user] begins breaking into \the [src] internals!")) user.set_AI_busy(TRUE) // If the mob doesn't have an AI attached, this won't do anything. if(do_after(user,10 SECONDS,src)) src.locked = 0 @@ -76,13 +77,13 @@ src.shock(user, 100) user.set_AI_busy(FALSE) else if(src.density) - visible_message("\The [user] forces \the [src] open!") + visible_message(span_danger("\The [user] forces \the [src] open!")) open(1) else - visible_message("\The [user] forces \the [src] closed!") + visible_message(span_danger("\The [user] forces \the [src] closed!")) close(1) else - visible_message("\The [user] strains fruitlessly to force \the [src] [density ? "open" : "closed"].") + visible_message(span_notice("\The [user] strains fruitlessly to force \the [src] [density ? "open" : "closed"].")) return ..() @@ -91,10 +92,10 @@ var/mob/living/carbon/human/X = user if(istype(X.species, /datum/species/xenos)) if(src.locked || src.welded) - visible_message("\The [user] begins tearing into \the [src] internals!") + visible_message(span_alium("\The [user] begins tearing into \the [src] internals!")) src.do_animate("deny") if(do_after(user,15 SECONDS,src)) - visible_message("\The [user] tears \the [src] open, sparks flying from its electronics!") + visible_message(span_danger("\The [user] tears \the [src] open, sparks flying from its electronics!")) src.do_animate("spark") playsound(src, 'sound/machines/door/airlock_tear_apart.ogg', 100, 1, volume_channel = VOLUME_CHANNEL_DOORS) src.locked = 0 @@ -103,17 +104,17 @@ open(1) src.set_broken() //These aren't emags, these be CLAWS else if(src.density) - visible_message("\The [user] begins forcing \the [src] open!") + visible_message(span_alium("\The [user] begins forcing \the [src] open!")) if(do_after(user, 5 SECONDS,src)) playsound(src, 'sound/machines/door/airlock_creaking.ogg', 100, 1, volume_channel = VOLUME_CHANNEL_DOORS) - visible_message("\The [user] forces \the [src] open!") + visible_message(span_danger("\The [user] forces \the [src] open!")) open(1) else - visible_message("\The [user] forces \the [src] closed!") + visible_message(span_danger("\The [user] forces \the [src] closed!")) close(1) else src.do_animate("deny") - visible_message("\The [user] strains fruitlessly to force \the [src] [density ? "open" : "closed"].") + visible_message(span_notice("\The [user] strains fruitlessly to force \the [src] [density ? "open" : "closed"].")) return ..() @@ -659,7 +660,7 @@ About the new airlock wires panel: /obj/machinery/door/airlock/bumpopen(mob/living/user as mob) //Airlocks now zap you when you 'bump' them open when they're electrified. --NeoFite - if(!issilicon(usr)) + if(!issilicon(user)) if(src.isElectrified()) if(!src.justzap) if(src.shock(user, 100)) @@ -670,7 +671,7 @@ About the new airlock wires panel: else /*if(src.justzap)*/ return else if(user.hallucination > 50 && prob(10) && src.operating == 0) - to_chat(user, "You feel a powerful shock course through your body!") + to_chat(user, span_danger("You feel a powerful shock course through your body!")) user.halloss += 10 user.stunned += 10 return @@ -983,11 +984,19 @@ About the new airlock wires panel: return ..() /obj/machinery/door/airlock/attack_hand(mob/user as mob) - if(!istype(usr, /mob/living/silicon)) + if(!istype(user, /mob/living/silicon)) if(src.isElectrified()) if(src.shock(user, 100)) return + if(!Adjacent(hold_open)) + hold_open = null + if(hold_open && !density) + if(hold_open == user) + hold_open = null + else + to_chat(user, span_warning("[hold_open] is holding \the [src] open!")) + if(istype(user, /mob/living/carbon/human)) var/mob/living/carbon/human/X = user if(istype(X.species, /datum/species/xenos)) @@ -1007,14 +1016,21 @@ About the new airlock wires panel: if(!Adjacent(user)) return else if(user.a_intent == I_HURT) - src.visible_message("[user] hammers on \the [src]!", "Someone hammers loudly on \the [src]!") + src.visible_message(span_warning("[user] hammers on \the [src]!"), span_warning("Someone hammers loudly on \the [src]!")) src.add_fingerprint(user) if(icon_state == "door_closed" && arePowerSystemsOn()) flick("door_deny", src) playsound(src, knock_hammer_sound, 50, 0, 3) else if(arePowerSystemsOn() && user.a_intent == I_HELP) - src.visible_message("[user] presses the door bell on \the [src].", "\The [src]'s bell rings.") - src.add_fingerprint(user) + if(isElectrified()) + src.visible_message("[user] presses the door bell on \the [src], making it violently spark!", "\The [src] sparks!") + src.add_fingerprint(user) + var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread + s.set_up(5, 1, src) + s.start() + else + src.visible_message("[user] presses the door bell on \the [src].", "\The [src]'s bell rings.") + src.add_fingerprint(user) if(icon_state == "door_closed") flick("door_deny", src) playsound(src, knock_sound, 50, 0, 3) @@ -1024,10 +1040,16 @@ About the new airlock wires panel: playsound(src, knock_unpowered_sound, 50, 0, 3) return -/obj/machinery/door/airlock/tgui_act(action, params) +/obj/machinery/door/airlock/CtrlClick(mob/user as mob) //Hold door open + if(!Adjacent(user)) + return + src.hold_open = user + src.attack_hand(user) + +/obj/machinery/door/airlock/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE - if(!user_allowed(usr)) + if(!user_allowed(ui.user)) return TRUE switch(action) @@ -1036,14 +1058,14 @@ About the new airlock wires panel: loseMainPower() update_icon() else - to_chat(usr, "Main power is already offline.") + to_chat(ui.user, span_warning("Main power is already offline.")) . = TRUE if("disrupt-backup") if(!backup_power_lost_until) loseBackupPower() update_icon() else - to_chat(usr, "Backup power is already offline.") + to_chat(ui.user, span_warning("Backup power is already offline.")) . = TRUE if("shock-restore") electrify(0, 1) @@ -1058,14 +1080,14 @@ About the new airlock wires panel: set_idscan(aiDisabledIdScanner, 1) . = TRUE // if("emergency-toggle") - // toggle_emergency(usr) + // toggle_emergency(ui.user) // . = TRUE if("bolt-toggle") - toggle_bolt(usr) + toggle_bolt(ui.user) . = TRUE if("light-toggle") if(wires.is_cut(WIRE_BOLT_LIGHT)) - to_chat(usr, "The bolt lights wire is cut - The door bolt lights are permanently disabled.") + to_chat(ui.user, "The bolt lights wire is cut - The door bolt lights are permanently disabled.") return lights = !lights update_icon() @@ -1075,12 +1097,12 @@ About the new airlock wires panel: . = TRUE if("speed-toggle") if(wires.is_cut(WIRE_SPEED)) - to_chat(usr, "The timing wire is cut - Cannot alter timing.") + to_chat(ui.user, "The timing wire is cut - Cannot alter timing.") return normalspeed = !normalspeed . = TRUE if("open-close") - user_toggle_open(usr) + user_toggle_open(ui.user) . = TRUE update_icon() @@ -1098,28 +1120,35 @@ About the new airlock wires panel: if(!user_allowed(user)) return if(wires.is_cut(WIRE_DOOR_BOLTS)) - to_chat(user, "The door bolt drop wire is cut - you can't toggle the door bolts.") + to_chat(user, span_warning("The door bolt drop wire is cut - you can't toggle the door bolts.")) return if(locked) if(!arePowerSystemsOn()) - to_chat(user, "The door has no power - you can't raise the door bolts.") + to_chat(user, span_warning("The door has no power - you can't raise the door bolts.")) else unlock() - to_chat(user, "The door bolts have been raised.") + to_chat(user, span_notice("The door bolts have been raised.")) // log_combat(user, src, "unbolted") else lock() - to_chat(user, "The door bolts have been dropped.") + to_chat(user, span_warning("The door bolts have been dropped.")) // log_combat(user, src, "bolted") /obj/machinery/door/airlock/proc/user_toggle_open(mob/user) if(!user_allowed(user)) return if(welded) - to_chat(user, text("The airlock has been welded shut!")) + to_chat(user, span_warning("The airlock has been welded shut!")) else if(locked) - to_chat(user, text("The door bolts are down!")) + to_chat(user, span_warning("The door bolts are down!")) else if(!density) + if(hold_open) + if(hold_open == user) + hold_open = null + close() + else + to_chat(user, span_warning("[hold_open] is holding \the [src] open!")) + return close() else open() @@ -1129,7 +1158,7 @@ About the new airlock wires panel: /obj/machinery/door/airlock/attackby(obj/item/C, mob/user as mob) //to_world("airlock attackby src [src] obj [C] mob [user]") - if(!istype(usr, /mob/living/silicon)) + if(!istype(user, /mob/living/silicon)) if(src.isElectrified()) if(src.shock(user, 75)) return @@ -1146,7 +1175,7 @@ About the new airlock wires panel: if(health < maxhealth && user.a_intent == I_HELP) ..() return - var/obj/item/weapon/weldingtool/W = C.get_welder() + var/obj/item/weldingtool/W = C.get_welder() if(W.remove_fuel(0,user)) if(!src.welded) src.welded = 1 @@ -1160,7 +1189,7 @@ About the new airlock wires panel: else if(C.has_tool_quality(TOOL_SCREWDRIVER)) if (src.p_open) if (stat & BROKEN) - to_chat(usr, "The panel is broken and cannot be closed.") + to_chat(user, span_warning("The panel is broken and cannot be closed.")) else src.p_open = FALSE playsound(src, C.usesound, 50, 1) @@ -1173,19 +1202,19 @@ About the new airlock wires panel: return src.attack_hand(user) else if(C.has_tool_quality(TOOL_WIRECUTTER)) return src.attack_hand(user) - else if(istype(C, /obj/item/device/multitool)) + else if(istype(C, /obj/item/multitool)) return src.attack_hand(user) - else if(istype(C, /obj/item/device/assembly/signaler)) + else if(istype(C, /obj/item/assembly/signaler)) return src.attack_hand(user) - else if(istype(C, /obj/item/weapon/pai_cable)) // -- TLE - var/obj/item/weapon/pai_cable/cable = C + else if(istype(C, /obj/item/pai_cable)) // -- TLE + var/obj/item/pai_cable/cable = C cable.plugin(src, user) else if(C.has_tool_quality(TOOL_CROWBAR)) if(can_remove_electronics()) playsound(src, C.usesound, 75, 1) user.visible_message("[user] removes the electronics from the airlock assembly.", "You start to remove electronics from the airlock assembly.") if(do_after(user,40 * C.toolspeed)) - to_chat(user, "You removed the airlock electronics!") + to_chat(user, span_notice("You removed the airlock electronics!")) var/obj/structure/door_assembly/da = new assembly_type(src.loc) if (istype(da, /obj/structure/door_assembly/multi_tile)) @@ -1202,7 +1231,7 @@ About the new airlock wires panel: da.update_state() if(operating == -1 || (stat & BROKEN)) - new /obj/item/weapon/circuitboard/broken(src.loc) + new /obj/item/circuitboard/broken(src.loc) operating = 0 else if (!electronics) create_electronics() @@ -1213,9 +1242,9 @@ About the new airlock wires panel: qdel(src) return else if(arePowerSystemsOn()) - to_chat(user, "The airlock's motors resist your efforts to force it.") + to_chat(user, span_notice("The airlock's motors resist your efforts to force it.")) else if(locked) - to_chat(user, "The airlock's bolts prevent it from being forced.") + to_chat(user, span_notice("The airlock's bolts prevent it from being forced.")) else if(density) spawn(0) open(1) @@ -1223,16 +1252,16 @@ About the new airlock wires panel: spawn(0) close(1) // Check if we're using a crowbar or armblade, and if the airlock's unpowered for whatever reason (off, broken, etc). - else if(istype(C, /obj/item/weapon)) - var/obj/item/weapon/W = C + else if(istype(C, /obj/item)) + var/obj/item/W = C if((W.pry == 1) && !arePowerSystemsOn()) if(locked) - to_chat(user, "The airlock's bolts prevent it from being forced.") + to_chat(user, span_notice("The airlock's bolts prevent it from being forced.")) else if( !welded && !operating ) - if(istype(C, /obj/item/weapon/material/twohanded/fireaxe)) // If this is a fireaxe, make sure it's held in two hands. - var/obj/item/weapon/material/twohanded/fireaxe/F = C + if(istype(C, /obj/item/material/twohanded/fireaxe)) // If this is a fireaxe, make sure it's held in two hands. + var/obj/item/material/twohanded/fireaxe/F = C if(!F.wielded) - to_chat(user, "You need to be wielding \the [F] to do that.") + to_chat(user, span_warning("You need to be wielding \the [F] to do that.")) return // At this point, it's an armblade or a fireaxe that passed the wielded test, let's try to open it. if(density) @@ -1273,12 +1302,15 @@ About the new airlock wires panel: return 0 use_power(360) //360 W seems much more appropriate for an actuator moving an industrial door capable of crushing people + if(hold_open) + visible_message("[hold_open] holds \the [src] open.") + //if the door is unpowered then it doesn't make sense to hear the woosh of a pneumatic actuator for(var/mob/M as anything in player_list) if(!M || !M.client) continue - var/old_sounds = M.client.is_preference_enabled(/datum/client_preference/old_door_sounds) - var/department_door_sounds = M.client.is_preference_enabled(/datum/client_preference/department_door_sounds) + var/old_sounds = M.read_preference(/datum/preference/toggle/old_door_sounds) + var/department_door_sounds = M.read_preference(/datum/preference/toggle/department_door_sounds) var/sound var/volume if(old_sounds) // Do we have old sounds enabled? Play these even if we have department door sounds enabled. @@ -1328,6 +1360,11 @@ About the new airlock wires panel: if(!forced) //despite the name, this wire is for general door control. + if(hold_open) + if(Adjacent(hold_open) && !hold_open.incapacitated()) + return 0 + else + hold_open = null if(!arePowerSystemsOn() || wires.is_cut(WIRE_OPEN_DOOR)) return 0 @@ -1385,6 +1422,8 @@ About the new airlock wires panel: if(!can_close(forced)) return 0 + hold_open = null //if it passes the can close check, always make sure to clear hold open + if(safe) for(var/turf/turf in locs) for(var/atom/movable/AM in turf) @@ -1405,8 +1444,8 @@ About the new airlock wires panel: for(var/mob/M as anything in player_list) if(!M || !M.client) continue - var/old_sounds = M.client.is_preference_enabled(/datum/client_preference/old_door_sounds) - var/department_door_sounds = M.client.is_preference_enabled(/datum/client_preference/department_door_sounds) + var/old_sounds = M.read_preference(/datum/preference/toggle/old_door_sounds) + var/department_door_sounds = M.read_preference(/datum/preference/toggle/department_door_sounds) var/sound var/volume if(old_sounds) @@ -1531,9 +1570,9 @@ About the new airlock wires panel: /obj/machinery/door/airlock/proc/create_electronics() //create new electronics if (secured_wires) - src.electronics = new/obj/item/weapon/airlock_electronics/secure( src.loc ) + src.electronics = new/obj/item/airlock_electronics/secure( src.loc ) else - src.electronics = new/obj/item/weapon/airlock_electronics( src.loc ) + src.electronics = new/obj/item/airlock_electronics( src.loc ) //update the electronics to match the door's access if(LAZYLEN(req_access)) @@ -1565,7 +1604,7 @@ About the new airlock wires panel: return -/obj/machinery/door/airlock/rcd_values(mob/living/user, obj/item/weapon/rcd/the_rcd, passed_mode) +/obj/machinery/door/airlock/rcd_values(mob/living/user, obj/item/rcd/the_rcd, passed_mode) switch(passed_mode) if(RCD_DECONSTRUCT) // Old RCD code made it cost 10 units to decon an airlock. @@ -1577,10 +1616,10 @@ About the new airlock wires panel: ) return FALSE -/obj/machinery/door/airlock/rcd_act(mob/living/user, obj/item/weapon/rcd/the_rcd, passed_mode) +/obj/machinery/door/airlock/rcd_act(mob/living/user, obj/item/rcd/the_rcd, passed_mode) switch(passed_mode) if(RCD_DECONSTRUCT) - to_chat(user, span("notice", "You deconstruct \the [src].")) + to_chat(user, span_notice("You deconstruct \the [src].")) qdel(src) return TRUE return FALSE diff --git a/code/game/machinery/doors/airlock_control.dm b/code/game/machinery/doors/airlock_control.dm index bbc0b5e5ed0..9ebdc878cdb 100644 --- a/code/game/machinery/doors/airlock_control.dm +++ b/code/game/machinery/doors/airlock_control.dm @@ -125,10 +125,12 @@ return /obj/machinery/door/airlock/proc/set_frequency(new_frequency) + radio_connection = null radio_controller.remove_object(src, frequency) + frequency = new_frequency + if(new_frequency) - frequency = new_frequency - radio_connection = radio_controller.add_object(src, frequency, RADIO_AIRLOCK) + radio_connection = radio_controller.add_object(src, new_frequency, RADIO_AIRLOCK) /obj/machinery/door/airlock/Initialize() @@ -152,6 +154,7 @@ anchored = TRUE power_channel = ENVIRON + circuit = /obj/item/circuitboard/airlock_cycling var/id_tag var/master_tag @@ -165,6 +168,9 @@ var/previousPressure /obj/machinery/airlock_sensor/update_icon() + if(panel_open) + icon_state = "airlock_sensor_open" + return if(on) if(alert) icon_state = "airlock_sensor_alert" @@ -216,6 +222,45 @@ radio_controller.remove_object(src,frequency) return ..() +/obj/machinery/airlock_sensor/examine(mob/user, infix, suffix) + . = ..() + if(in_range(src, user)) + . += "It has a master tag of \"[master_tag]\"." + . += "It has an ID tag of \"[id_tag]\"." + . += "It has a frequency of [frequency]." + . += "It has a command of \"[command]\"." + if(panel_open) + . += "It's panel is open." + +/obj/machinery/airlock_sensor/attackby(obj/item/I, mob/user) + if(default_deconstruction_screwdriver(user, I)) + return + if(default_deconstruction_crowbar(user, I)) + return + if(I.has_tool_quality(TOOL_MULTITOOL)) + var/choice = tgui_alert(user, "What would you like to configure?", "[src] Configuration", list("Master Tag", "ID Tag", "Frequency", "Command", "None")) + switch(choice) + if("Master Tag") + var/new_value = tgui_input_text(user, "The current master tag is \"[master_tag]\", what would you like it to be?", "[src] Master Tag", master_tag, 30, encode = TRUE) + if(new_value) + master_tag = new_value + if("ID Tag") + var/new_value = tgui_input_text(user, "The current id tag is \"[id_tag]\", what would you like it to be?", "[src] ID Tag", id_tag, 30, encode = TRUE) + if(new_value) + id_tag = new_value + if("Frequency") + var/new_frequency = tgui_input_number(user, "[src] has a frequency of [frequency]. What would you like it to be?", "[src] frequency", frequency, RADIO_HIGH_FREQ, RADIO_LOW_FREQ) + if(new_frequency) + new_frequency = sanitize_frequency(new_frequency, RADIO_LOW_FREQ, RADIO_HIGH_FREQ) + set_frequency(new_frequency) + if("Command") + var/new_value = tgui_input_text(user, "The current command is \"[command]\", what would you like it to be? Valid options include: cycle, cycle_interior, cycle_exterior.", "[src] command", command, encode = TRUE) + if(new_value) + command = new_value + + return TRUE + return ..() + /obj/machinery/airlock_sensor/airlock_interior command = "cycle_interior" @@ -237,6 +282,7 @@ anchored = TRUE power_channel = ENVIRON + circuit = /obj/item/circuitboard/airlock_cycling var/master_tag var/frequency = 1449 @@ -246,24 +292,56 @@ var/on = 1 - /obj/machinery/access_button/update_icon() - if(on) + if(panel_open) + icon_state = "access_button_open" + else if(on) icon_state = "access_button_standby" else icon_state = "access_button_off" +/obj/machinery/access_button/examine(mob/user, infix, suffix) + . = ..() + if(in_range(src, user)) + . += "It has a master tag of \"[master_tag]\"." + . += "It has a frequency of \"[frequency]\"." + . += "It is sending a command of \"[command]\"." + if(panel_open) + . += "It's panel is open." + /obj/machinery/access_button/attackby(obj/item/I as obj, mob/user as mob) //Swiping ID on the access button - if (istype(I, /obj/item/weapon/card/id) || istype(I, /obj/item/device/pda)) + if (istype(I, /obj/item/card/id) || istype(I, /obj/item/pda)) attack_hand(user) return + if(default_deconstruction_screwdriver(user, I)) + return + if(default_deconstruction_crowbar(user, I)) + return + if(I.has_tool_quality(TOOL_MULTITOOL)) + var/choice = tgui_alert(user, "What would you like to change?", "[src] Settings", list("Tag", "Frequency", "Command", "None")) + switch(choice) + if("Tag") + var/new_id = tgui_input_text(user, "[src] has an master tag of \"[master_tag]\". What would you like it to be?", "[src] ID", master_tag, 30, FALSE, TRUE) + if(new_id) + master_tag = new_id + if("Frequency") + var/new_frequency = tgui_input_number(user, "[src] has a frequency of [frequency]. What would you like it to be?", "[src] frequency", frequency, RADIO_HIGH_FREQ, RADIO_LOW_FREQ) + if(new_frequency) + new_frequency = sanitize_frequency(new_frequency, RADIO_LOW_FREQ, RADIO_HIGH_FREQ) + set_frequency(new_frequency) + if("Command") + var/new_command = tgui_input_text(user, "[src] has a command of \"[command]\". Valid options include: cycle, cycle_interior, cycle_exterior", "[src] command", command, encode = TRUE) + if(new_command) + command = new_command + + return TRUE ..() /obj/machinery/access_button/attack_hand(mob/user) - add_fingerprint(usr) + add_fingerprint(user) if(!allowed(user)) - to_chat(user, "Access Denied") + to_chat(user, span_warning("Access Denied")) else if(radio_connection) var/datum/signal/signal = new diff --git a/code/game/machinery/doors/airlock_electronics.dm b/code/game/machinery/doors/airlock_electronics.dm index 6aac668b509..3688044b384 100644 --- a/code/game/machinery/doors/airlock_electronics.dm +++ b/code/game/machinery/doors/airlock_electronics.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/airlock_electronics +/obj/item/airlock_electronics name = "airlock electronics" icon = 'icons/obj/doors/door_assembly.dmi' icon_state = "door_electronics" @@ -16,17 +16,17 @@ var/locked = 1 var/emagged = 0 -/obj/item/weapon/airlock_electronics/emag_act(var/remaining_charges, var/mob/user) +/obj/item/airlock_electronics/emag_act(var/remaining_charges, var/mob/user) if(!emagged) emagged = 1 - to_chat(user, "You remove the access restrictions on [src]!") + to_chat(user, span_notice("You remove the access restrictions on [src]!")) return 1 -/obj/item/weapon/airlock_electronics/attack_self(mob/user as mob) +/obj/item/airlock_electronics/attack_self(mob/user as mob) if (!ishuman(user) && !istype(user,/mob/living/silicon/robot)) return ..(user) - var/t1 = text("Access control
\n") + var/t1 = span_bold("Access control") + "
\n" if (last_configurator) t1 += "Operator: [last_configurator]
" @@ -59,7 +59,7 @@ user << browse(t1, "window=airlock_electronics") onclose(user, "airlock") -/obj/item/weapon/airlock_electronics/Topic(href, href_list) +/obj/item/airlock_electronics/Topic(href, href_list) ..() if (usr.stat || usr.restrained() || (!ishuman(usr) && !istype(usr,/mob/living/silicon))) return @@ -75,7 +75,7 @@ src.locked = 0 src.last_configurator = usr.name else if(isliving(usr)) - var/obj/item/weapon/card/id/id + var/obj/item/card/id/id if(ishuman(usr)) var/mob/living/carbon/human/H = usr id = H.get_idcard() @@ -105,7 +105,7 @@ attack_self(usr) -/obj/item/weapon/airlock_electronics/proc/toggle_access(var/acc) +/obj/item/airlock_electronics/proc/toggle_access(var/acc) if (acc == "all") conf_access = null else @@ -121,8 +121,8 @@ if (!conf_access.len) conf_access = null -/obj/item/weapon/airlock_electronics/proc/get_available_accesses(var/mob/user) - var/obj/item/weapon/card/id/id +/obj/item/airlock_electronics/proc/get_available_accesses(var/mob/user) + var/obj/item/card/id/id if(ishuman(user)) var/mob/living/carbon/human/H = user id = H.get_idcard() @@ -131,23 +131,23 @@ id = R.idcard // Nothing - if(!id || !id.access) + if(!id || !id.GetAccess()) return list() - + // Has engineer access, can put any access - else if(has_access(null, apply_any_access, id.access)) + else if(has_access(null, apply_any_access, id.GetAccess())) return get_all_station_access() - + // Not an engineer, can only pick your own accesses to program else - return id.access + return id.GetAccess() -/obj/item/weapon/airlock_electronics/secure +/obj/item/airlock_electronics/secure name = "secure airlock electronics" desc = "designed to be somewhat more resistant to hacking than standard electronics." origin_tech = list(TECH_DATA = 2) secure = 1 -/obj/item/weapon/airlock_electronics/secure/emag_act(var/remaining_charges, var/mob/user) - to_chat(user, "You don't appear to be able to bypass this hardened device!") +/obj/item/airlock_electronics/secure/emag_act(var/remaining_charges, var/mob/user) + to_chat(user, span_warning("You don't appear to be able to bypass this hardened device!")) return -1 diff --git a/code/game/machinery/doors/blast_door.dm b/code/game/machinery/doors/blast_door.dm index e103ac527b8..f66668e3c82 100644 --- a/code/game/machinery/doors/blast_door.dm +++ b/code/game/machinery/doors/blast_door.dm @@ -151,14 +151,14 @@ // Parameters: 2 (C - Item this object was clicked with, user - Mob which clicked this object) // Description: If we are clicked with crowbar, wielded fire axe, or armblade, try to manually open the door. // This only works on broken doors or doors without power. Also allows repair with Plasteel. -/obj/machinery/door/blast/attackby(obj/item/weapon/C as obj, mob/user as mob) +/obj/machinery/door/blast/attackby(obj/item/C as obj, mob/user as mob) src.add_fingerprint(user) - if(istype(C, /obj/item/weapon)) // For reasons unknown, sometimes C is actually not what it is advertised as, like a mob. + if(istype(C, /obj/item)) // For reasons unknown, sometimes C is actually not what it is advertised as, like a mob. if(C.pry == 1 && (user.a_intent != I_HURT || (stat & BROKEN))) // Can we pry it open with something, like a crowbar/fireaxe/lingblade? - if(istype(C,/obj/item/weapon/material/twohanded/fireaxe)) // Fireaxes need to be in both hands to pry. - var/obj/item/weapon/material/twohanded/fireaxe/F = C + if(istype(C,/obj/item/material/twohanded/fireaxe)) // Fireaxes need to be in both hands to pry. + var/obj/item/material/twohanded/fireaxe/F = C if(!F.wielded) - to_chat(user, "You need to be wielding \the [F] to do that.") + to_chat(user, span_warning("You need to be wielding \the [F] to do that.")) return // If we're at this point, it's a fireaxe in both hands or something else that doesn't care for twohanding. @@ -166,19 +166,19 @@ force_toggle(1, user) else - to_chat(user, "[src]'s motors resist your effort.") + to_chat(user, span_notice("[src]'s motors resist your effort.")) return else if(src.density && (user.a_intent == I_HURT)) //If we can't pry it open and it's a weapon, let's hit it. - var/obj/item/weapon/W = C + var/obj/item/W = C user.setClickCooldown(user.get_attack_speed(W)) if(W.damtype == BRUTE || W.damtype == BURN) user.do_attack_animation(src) if(W.force < min_force) - user.visible_message("\The [user] hits \the [src] with \the [W] with no visible effect.") + user.visible_message(span_danger("\The [user] hits \the [src] with \the [W] with no visible effect.")) else - user.visible_message("\The [user] forcefully strikes \the [src] with \the [W]!") + user.visible_message(span_danger("\The [user] forcefully strikes \the [src] with \the [W]!")) playsound(src, hitsound, 100, 1) take_damage(W.force*0.35) //it's a blast door, it should take a while. -Luke return @@ -186,29 +186,29 @@ else if(istype(C, /obj/item/stack/material) && C.get_material_name() == "plasteel") // Repairing. var/amt = CEILING((maxhealth - health)/150, 1) if(!amt) - to_chat(user, "\The [src] is already fully repaired.") + to_chat(user, span_notice("\The [src] is already fully repaired.")) return var/obj/item/stack/P = C if(P.get_amount() < amt) - to_chat(user, "You don't have enough sheets to repair this! You need at least [amt] sheets.") + to_chat(user, span_warning("You don't have enough sheets to repair this! You need at least [amt] sheets.")) return - to_chat(user, "You begin repairing [src]...") - if(do_after(usr, 30)) + to_chat(user, span_notice("You begin repairing [src]...")) + if(do_after(user, 30)) if(P.use(amt)) - to_chat(user, "You have repaired \The [src]") + to_chat(user, span_notice("You have repaired \The [src]")) src.repair() else - to_chat(user, "You don't have enough sheets to repair this! You need at least [amt] sheets.") + to_chat(user, span_warning("You don't have enough sheets to repair this! You need at least [amt] sheets.")) else if(src.density && (user.a_intent == I_HURT)) //If we can't pry it open and it's not a weapon.... Eh, let's attack it anyway. - var/obj/item/weapon/W = C + var/obj/item/W = C user.setClickCooldown(user.get_attack_speed(W)) if(istype(W) && (W.damtype == BRUTE || W.damtype == BURN)) user.do_attack_animation(src) if(W.force < min_force) //No actual non-weapon item shouls have a force greater than the min_force, but let's include this just in case. - user.visible_message("\The [user] hits \the [src] with \the [W] with no visible effect.") + user.visible_message(span_danger("\The [user] hits \the [src] with \the [W] with no visible effect.")) else - user.visible_message("\The [user] forcefully strikes \the [src] with \the [W]!") + user.visible_message(span_danger("\The [user] forcefully strikes \the [src] with \the [W]!")) playsound(src, hitsound, 100, 1) take_damage(W.force*0.15) //If the item isn't a weapon, let's make this take longer than usual to break it down. return @@ -221,19 +221,19 @@ var/mob/living/carbon/human/X = user if(istype(X.species, /datum/species/xenos)) if(src.density) - visible_message("\The [user] begins forcing \the [src] open!") + visible_message(span_alium("\The [user] begins forcing \the [src] open!")) if(do_after(user, 15 SECONDS,src)) playsound(src, 'sound/machines/door/airlock_creaking.ogg', 100, 1) - visible_message("\The [user] forces \the [src] open!") + visible_message(span_danger("\The [user] forces \the [src] open!")) force_open(1) else - visible_message("\The [user] begins forcing \the [src] closed!") + visible_message(span_alium("\The [user] begins forcing \the [src] closed!")) if(do_after(user, 5 SECONDS,src)) playsound(src, 'sound/machines/door/airlock_creaking.ogg', 100, 1) - visible_message("\The [user] forces \the [src] closed!") + visible_message(span_danger("\The [user] forces \the [src] closed!")) force_close(1) else - visible_message("\The [user] strains fruitlessly to force \the [src] [density ? "open" : "closed"].") + visible_message(span_notice("\The [user] strains fruitlessly to force \the [src] [density ? "open" : "closed"].")) return ..() @@ -245,18 +245,18 @@ if(damage >= STRUCTURE_MIN_DAMAGE_THRESHOLD) user.set_AI_busy(TRUE) // If the mob doesn't have an AI attached, this won't do anything. if(src.density) - visible_message("\The [user] starts forcing \the [src] open!") + visible_message(span_danger("\The [user] starts forcing \the [src] open!")) if(do_after(user, 5 SECONDS, src)) - visible_message("\The [user] forces \the [src] open!") + visible_message(span_danger("\The [user] forces \the [src] open!")) force_open(1) else - visible_message("\The [user] starts forcing \the [src] closed!") + visible_message(span_danger("\The [user] starts forcing \the [src] closed!")) if(do_after(user, 2 SECONDS, src)) - visible_message("\The [user] forces \the [src] closed!") + visible_message(span_danger("\The [user] forces \the [src] closed!")) force_close(1) user.set_AI_busy(FALSE) else - visible_message("\The [user] strains fruitlessly to force \the [src] [density ? "open" : "closed"].") + visible_message(span_notice("\The [user] strains fruitlessly to force \the [src] [density ? "open" : "closed"].")) return ..() diff --git a/code/game/machinery/doors/brigdoors.dm b/code/game/machinery/doors/brigdoors.dm index ea187cd583a..bc1e642653f 100644 --- a/code/game/machinery/doors/brigdoors.dm +++ b/code/game/machinery/doors/brigdoors.dm @@ -173,13 +173,13 @@ break return data -/obj/machinery/door_timer/tgui_act(action, params) +/obj/machinery/door_timer/tgui_act(action, params, datum/tgui/ui) if(..()) return . = TRUE - if(!allowed(usr)) - to_chat(usr, "Access denied.") + if(!allowed(ui.user)) + to_chat(ui.user, span_warning("Access denied.")) return FALSE switch(action) diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index bc80533df2f..8055af222cc 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -43,11 +43,11 @@ if(isanimal(user)) var/mob/living/simple_mob/S = user if(damage >= STRUCTURE_MIN_DAMAGE_THRESHOLD) - visible_message("\The [user] smashes into [src]!") + visible_message(span_danger("\The [user] smashes into [src]!")) playsound(src, S.attack_sound, 75, 1) take_damage(damage) else - visible_message("\The [user] bonks \the [src] harmlessly.") + visible_message(span_infoplain(span_bold("\The [user]") + " bonks \the [src] harmlessly.")) user.do_attack_animation(src) /obj/machinery/door/New() @@ -120,7 +120,7 @@ return //VOREStation Edit: unable to open doors else bumpopen(M) - if(istype(AM, /obj/item/device/uav)) + if(istype(AM, /obj/item/uav)) if(check_access(null)) open() else @@ -178,7 +178,7 @@ if (damage > 90) destroy_hits-- if (destroy_hits <= 0) - visible_message("\The [src.name] disintegrates!") + visible_message(span_danger("\The [src.name] disintegrates!")) switch (Proj.damage_type) if(BRUTE) new /obj/item/stack/material/steel(src.loc, 2) @@ -196,7 +196,7 @@ /obj/machinery/door/hitby(AM as mob|obj, var/speed=5) ..() - visible_message("[src.name] was hit by [AM].") + visible_message(span_danger("[src.name] was hit by [AM].")) var/tforce = 0 if(ismob(AM)) tforce = 15 * (speed/5) @@ -225,29 +225,29 @@ return //VOREStation begin: Fireproofing if(health < maxhealth && I.has_tool_quality(TOOL_WELDER)) if(!density) - to_chat(user, "\The [src] must be closed before you can repair it.") + to_chat(user, span_warning("\The [src] must be closed before you can repair it.")) return - var/obj/item/weapon/weldingtool/welder = I.get_welder() + var/obj/item/weldingtool/welder = I.get_welder() if(welder.remove_fuel(0,user)) - to_chat(user, "You start to fix dents and repair \the [src].") + to_chat(user, span_notice("You start to fix dents and repair \the [src].")) playsound(src, welder.usesound, 50, 1) var/repairtime = maxhealth - health //Since we're not using materials anymore... We'll just calculate how much damage there is to repair. if(do_after(user, repairtime * welder.toolspeed) && welder && welder.isOn()) - to_chat(user, "You finish repairing the damage to \the [src].") + to_chat(user, span_notice("You finish repairing the damage to \the [src].")) health = maxhealth update_icon() return //psa to whoever coded this, there are plenty of objects that need to call attack() on doors without bludgeoning them. - if(src.density && istype(I, /obj/item/weapon) && user.a_intent == I_HURT && !istype(I, /obj/item/weapon/card)) - var/obj/item/weapon/W = I + if(src.density && istype(I, /obj/item) && user.a_intent == I_HURT && !istype(I, /obj/item/card)) + var/obj/item/W = I user.setClickCooldown(user.get_attack_speed(W)) if(W.damtype == BRUTE || W.damtype == BURN) user.do_attack_animation(src) if(W.force < min_force) - user.visible_message("\The [user] hits \the [src] with \the [W] with no visible effect.") + user.visible_message(span_danger("\The [user] hits \the [src] with \the [W] with no visible effect.")) else - user.visible_message("\The [user] forcefully strikes \the [src] with \the [W]!") + user.visible_message(span_danger("\The [user] forcefully strikes \the [src] with \the [W]!")) playsound(src, hitsound, 100, 1) take_damage(W.force) return @@ -437,12 +437,12 @@ return ..(M) /obj/machinery/door/update_nearby_tiles(need_rebuild) - if(!air_master) + if(!SSair) return 0 for(var/turf/simulated/turf in locs) update_heat_protection(turf) - air_master.mark_for_update(turf) + SSair.mark_for_update(turf) return 1 diff --git a/code/game/machinery/doors/door_vr.dm b/code/game/machinery/doors/door_vr.dm index 4455a6c99d0..860a5510d57 100644 --- a/code/game/machinery/doors/door_vr.dm +++ b/code/game/machinery/doors/door_vr.dm @@ -18,6 +18,10 @@ heat_proof = 1 /obj/machinery/door/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) + for(var/obj/machinery/door/blast/B in loc.contents) + if(B.density) + return + var/maxtemperature = 1800 //same as a normal steel wall var/destroytime = 20 //effectively gives an airlock 200HP between breaking and completely disintegrating if(heat_proof) @@ -29,7 +33,7 @@ if (burndamage && health <= 0) //once they break, start taking damage to destroy_hits destroy_hits -= (burndamage / destroytime) if (destroy_hits <= 0) - visible_message("\The [src.name] disintegrates!") + visible_message(span_danger("\The [src.name] disintegrates!")) new /obj/effect/decal/cleanable/ash(src.loc) // Turn it to ashes! qdel(src) take_damage(burndamage) @@ -40,13 +44,13 @@ /obj/machinery/door/proc/attackby_vr(obj/item/I as obj, mob/user as mob) if(istype(I, /obj/item/stack/material) && I.get_material_name() == "plasteel") if(heat_proof) - to_chat(user, "\The [src] is already reinforced.") + to_chat(user, span_warning("\The [src] is already reinforced.")) return TRUE if((stat & BROKEN) || (health < maxhealth)) - to_chat(user, "It looks like \the [src] broken. Repair it before reinforcing it.") + to_chat(user, span_notice("It looks like \the [src] broken. Repair it before reinforcing it.")) return TRUE if(!density) - to_chat(user, "\The [src] must be closed before you can reinforce it.") + to_chat(user, span_warning("\The [src] must be closed before you can reinforce it.")) return TRUE var/amount_needed = 2 @@ -56,7 +60,7 @@ var/mats_given = stack.get_amount() var/singular_name = stack.singular_name if(reinforcing && amount_given <= 0) - to_chat(user, "You must weld or remove \the plasteel from \the [src] before you can add anything else.") + to_chat(user, span_warning("You must weld or remove \the plasteel from \the [src] before you can add anything else.")) else if(mats_given >= amount_given) if(stack.use(amount_given)) @@ -66,25 +70,25 @@ reinforcing += mats_given amount_given = mats_given if(amount_given) - to_chat(user, "You fit [amount_given] [singular_name]\s on \the [src].") + to_chat(user, span_notice("You fit [amount_given] [singular_name]\s on \the [src].")) return TRUE if(reinforcing && I.has_tool_quality(TOOL_WELDER)) if(!density) - to_chat(user, "\The [src] must be closed before you can reinforce it.") + to_chat(user, span_warning("\The [src] must be closed before you can reinforce it.")) return TRUE if(reinforcing < 2) - to_chat(user, "You will need more plasteel to reinforce \the [src].") + to_chat(user, span_warning("You will need more plasteel to reinforce \the [src].")) return TRUE - var/obj/item/weapon/weldingtool/welder = I.get_welder() + var/obj/item/weldingtool/welder = I.get_welder() if(welder.remove_fuel(0,user)) - to_chat(user, "You start weld \the plasteel into place.") + to_chat(user, span_notice("You start weld \the plasteel into place.")) playsound(src, welder.usesound, 50, 1) if(do_after(user, 10 * welder.toolspeed) && welder && welder.isOn()) - to_chat(user, "You finish reinforcing \the [src].") + to_chat(user, span_notice("You finish reinforcing \the [src].")) heat_proof = 1 update_icon() reinforcing = 0 @@ -93,7 +97,7 @@ if(reinforcing && I.has_tool_quality(TOOL_CROWBAR)) var/obj/item/stack/material/plasteel/reinforcing_sheet = new /obj/item/stack/material/plasteel(src.loc, reinforcing) reinforcing = 0 - to_chat(user, "You remove \the [reinforcing_sheet].") + to_chat(user, span_notice("You remove \the [reinforcing_sheet].")) playsound(src, I.usesound, 100, 1) return TRUE diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index b2ec1627ca3..4502ed93343 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -84,9 +84,9 @@ return . if(pdiff >= FIREDOOR_MAX_PRESSURE_DIFF) - . += "WARNING: Current pressure differential is [pdiff]kPa! Opening door may result in injury!" + . += span_warning("WARNING: Current pressure differential is [pdiff]kPa! Opening door may result in injury!") - . += "Sensor readings:" + . += span_bold("Sensor readings:") for(var/index = 1; index <= tile_info.len; index++) var/o = "  " switch(index) @@ -99,15 +99,15 @@ if(4) o += "WEST: " if(tile_info[index] == null) - o += "DATA UNAVAILABLE" + o += span_warning("DATA UNAVAILABLE") . += o continue var/celsius = convert_k2c(tile_info[index][1]) var/pressure = tile_info[index][2] - o += "" - o += "[celsius]°C " - o += "" - o += "[pressure]kPa" + var/temperature_string = "[celsius]°C " + o += ((dir_alerts[index] & (FIREDOOR_ALERT_HOT|FIREDOOR_ALERT_COLD)) ? span_warning(temperature_string) : span_blue(temperature_string)) + o += span_blue("[pressure]kPa") + o += "" . += o if(islist(users_to_open) && users_to_open.len) @@ -143,7 +143,7 @@ return if(blocked) - to_chat(user, "\The [src] is welded solid!") + to_chat(user, span_warning("\The [src] is welded solid!")) return var/alarmed = lockdown @@ -153,7 +153,7 @@ var/answer = tgui_alert(user, "Would you like to [density ? "open" : "close"] this [src.name]?[ alarmed && density ? "\nNote that by doing so, you acknowledge any damages from opening this\n[src.name] as being your own fault, and you will be held accountable under the law." : ""]",\ "\The [src]", list("Yes, [density ? "open" : "close"]", "No")) - if(answer == "No") + if(!answer || answer == "No") return if(user.incapacitated() || (get_dist(src, user) > 1 && !issilicon(user))) to_chat(user, "Sorry, you must remain able bodied and close to \the [src] in order to use it.") @@ -163,10 +163,10 @@ return if(alarmed && density && lockdown && !allowed(user)) - to_chat(user, "Access denied. Please wait for authorities to arrive, or for the alert to clear.") + to_chat(user, span_warning("Access denied. Please wait for authorities to arrive, or for the alert to clear.")) return else - user.visible_message("\The [src] [density ? "open" : "close"]s for \the [user].",\ + user.visible_message(span_notice("\The [src] [density ? "open" : "close"]s for \the [user]."),\ "\The [src] [density ? "open" : "close"]s.",\ "You hear a beep, and a door opening.") @@ -197,23 +197,23 @@ var/mob/living/carbon/human/X = user if(istype(X.species, /datum/species/xenos)) if(src.blocked) - visible_message("\The [user] begins digging into \the [src] internals!") + visible_message(span_alium("\The [user] begins digging into \the [src] internals!")) if(do_after(user,5 SECONDS,src)) playsound(src, 'sound/machines/door/airlock_creaking.ogg', 100, 1) src.blocked = 0 update_icon() open(1) else if(src.density) - visible_message("\The [user] begins forcing \the [src] open!") + visible_message(span_alium("\The [user] begins forcing \the [src] open!")) if(do_after(user, 2 SECONDS,src)) playsound(src, 'sound/machines/door/airlock_creaking.ogg', 100, 1) - visible_message("\The [user] forces \the [src] open!") + visible_message(span_danger("\The [user] forces \the [src] open!")) open(1) else - visible_message("\The [user] forces \the [src] closed!") + visible_message(span_danger("\The [user] forces \the [src] closed!")) close(1) else - visible_message("\The [user] strains fruitlessly to force \the [src] [density ? "open" : "closed"].") + visible_message(span_notice("\The [user] strains fruitlessly to force \the [src] [density ? "open" : "closed"].")) return ..() @@ -222,27 +222,27 @@ if(damage >= STRUCTURE_MIN_DAMAGE_THRESHOLD) var/time_to_force = (2 + (2 * blocked)) * 5 if(src.density) - visible_message("\The [user] starts forcing \the [src] open!") + visible_message(span_danger("\The [user] starts forcing \the [src] open!")) user.set_AI_busy(TRUE) // If the mob doesn't have an AI attached, this won't do anything. if(do_after(user, time_to_force, src)) - visible_message("\The [user] forces \the [src] open!") + visible_message(span_danger("\The [user] forces \the [src] open!")) src.blocked = 0 open(1) user.set_AI_busy(FALSE) else time_to_force = (time_to_force / 2) - visible_message("\The [user] starts forcing \the [src] closed!") + visible_message(span_danger("\The [user] starts forcing \the [src] closed!")) user.set_AI_busy(TRUE) // If the mob doesn't have an AI attached, this won't do anything. if(do_after(user, time_to_force, src)) - visible_message("\The [user] forces \the [src] closed!") + visible_message(span_danger("\The [user] forces \the [src] closed!")) close(1) user.set_AI_busy(FALSE) else - visible_message("\The [user] strains fruitlessly to force \the [src] [density ? "open" : "closed"].") + visible_message(span_notice("\The [user] strains fruitlessly to force \the [src] [density ? "open" : "closed"].")) return ..() -/obj/machinery/door/firedoor/attackby(obj/item/weapon/C as obj, mob/user as mob) +/obj/machinery/door/firedoor/attackby(obj/item/C as obj, mob/user as mob) add_fingerprint(user) if(istype(C, /obj/item/taperoll)) return //Don't open the door if we're putting tape on it to tell people 'don't open the door'. @@ -255,11 +255,11 @@ return //VOREstation Edit End if(prying) - to_chat(user, "Someone's busy prying that [density ? "open" : "closed"]!") - var/obj/item/weapon/weldingtool/W = C.get_welder() + to_chat(user, span_notice("Someone's busy prying that [density ? "open" : "closed"]!")) + var/obj/item/weldingtool/W = C.get_welder() if(W.remove_fuel(0, user)) blocked = !blocked - user.visible_message("\The [user] [blocked ? "welds" : "unwelds"] \the [src] with \a [W].",\ + user.visible_message(span_danger("\The [user] [blocked ? "welds" : "unwelds"] \the [src] with \a [W]."),\ "You [blocked ? "weld" : "unweld"] \the [src] with \the [W].",\ "You hear something being welded.") playsound(src, W.usesound, 100, 1) @@ -269,27 +269,27 @@ if(density && C.has_tool_quality(TOOL_SCREWDRIVER)) hatch_open = !hatch_open playsound(src, C.usesound, 50, 1) - user.visible_message("[user] has [hatch_open ? "opened" : "closed"] \the [src] maintenance hatch.", + user.visible_message(span_danger("[user] has [hatch_open ? "opened" : "closed"] \the [src] maintenance hatch."), "You have [hatch_open ? "opened" : "closed"] the [src] maintenance hatch.") update_icon() return if(blocked && C.has_tool_quality(TOOL_CROWBAR)) if(!hatch_open) - to_chat(user, "You must open the maintenance hatch first!") + to_chat(user, span_danger("You must open the maintenance hatch first!")) else - user.visible_message("[user] is removing the electronics from \the [src].", + user.visible_message(span_danger("[user] is removing the electronics from \the [src]."), "You start to remove the electronics from [src].") if(do_after(user,30)) if(blocked && density && hatch_open) playsound(src, C.usesound, 50, 1) - user.visible_message("[user] has removed the electronics from \the [src].", + user.visible_message(span_danger("[user] has removed the electronics from \the [src]."), "You have removed the electronics from [src].") if (stat & BROKEN) - new /obj/item/weapon/circuitboard/broken(src.loc) + new /obj/item/circuitboard/broken(src.loc) else - new/obj/item/weapon/circuitboard/airalarm(src.loc) + new/obj/item/circuitboard/airalarm(src.loc) var/obj/structure/firedoor_assembly/FA = new/obj/structure/firedoor_assembly(src.loc) FA.anchored = TRUE @@ -301,7 +301,7 @@ return if(blocked) - to_chat(user, "\The [src] is welded shut!") + to_chat(user, span_danger("\The [src] is welded shut!")) return if(C.pry == 1) @@ -309,21 +309,21 @@ return if(blocked && C.has_tool_quality(TOOL_CROWBAR)) - user.visible_message("\The [user] pries at \the [src] with \a [C], but \the [src] is welded in place!",\ + user.visible_message(span_danger("\The [user] pries at \the [src] with \a [C], but \the [src] is welded in place!"),\ "You try to pry \the [src] [density ? "open" : "closed"], but it is welded in place!",\ "You hear someone struggle and metal straining.") return - if(istype(C,/obj/item/weapon/material/twohanded/fireaxe)) - var/obj/item/weapon/material/twohanded/fireaxe/F = C + if(istype(C,/obj/item/material/twohanded/fireaxe)) + var/obj/item/material/twohanded/fireaxe/F = C if(!F.wielded) return if(prying) - to_chat(user, "Someone's already prying that [density ? "open" : "closed"].") + to_chat(user, span_notice("Someone's already prying that [density ? "open" : "closed"].")) return - user.visible_message("\The [user] starts to force \the [src] [density ? "open" : "closed"] with \a [C]!",\ + user.visible_message(span_danger("\The [user] starts to force \the [src] [density ? "open" : "closed"] with \a [C]!"),\ "You start forcing \the [src] [density ? "open" : "closed"] with \the [C]!",\ "You hear metal strain.") prying = 1 @@ -332,11 +332,11 @@ if(do_after(user,30 * C.toolspeed)) if(C.has_tool_quality(TOOL_CROWBAR)) if(stat & (BROKEN|NOPOWER) || !density) - user.visible_message("\The [user] forces \the [src] [density ? "open" : "closed"] with \a [C]!",\ + user.visible_message(span_danger("\The [user] forces \the [src] [density ? "open" : "closed"] with \a [C]!"),\ "You force \the [src] [density ? "open" : "closed"] with \the [C]!",\ "You hear metal strain, and a door [density ? "open" : "close"].") else - user.visible_message("\The [user] forces \the [ blocked ? "welded" : "" ] [src] [density ? "open" : "closed"] with \a [C]!",\ + user.visible_message(span_danger("\The [user] forces \the [ blocked ? "welded" : "" ] [src] [density ? "open" : "closed"] with \a [C]!"),\ "You force \the [ blocked ? "welded" : "" ] [src] [density ? "open" : "closed"] with \the [C]!",\ "You hear metal strain and groan, and a door [density ? "opening" : "closing"].") if(density) @@ -501,15 +501,15 @@ update_nearby_tiles(need_rebuild) - if(!air_master) return 0 + if(!SSair) return 0 var/turf/simulated/source = loc var/turf/simulated/destination = get_step(source,dir) update_heat_protection(loc) - if(istype(source)) air_master.tiles_to_update += source - if(istype(destination)) air_master.tiles_to_update += destination + if(istype(source)) SSair.tiles_to_update += source + if(istype(destination)) SSair.tiles_to_update += destination return 1 */ diff --git a/code/game/machinery/doors/firedoor_assembly.dm b/code/game/machinery/doors/firedoor_assembly.dm index e6c37c7e51a..ccdcb96ca91 100644 --- a/code/game/machinery/doors/firedoor_assembly.dm +++ b/code/game/machinery/doors/firedoor_assembly.dm @@ -23,13 +23,13 @@ if(istype(C, /obj/item/stack/cable_coil) && !wired && anchored) var/obj/item/stack/cable_coil/cable = C if (cable.get_amount() < 1) - to_chat(user, "You need one length of coil to wire \the [src].") + to_chat(user, span_warning("You need one length of coil to wire \the [src].")) return user.visible_message("[user] wires \the [src].", "You start to wire \the [src].") if(do_after(user, 40) && !wired && anchored) if (cable.use(1)) wired = 1 - to_chat(user, "You wire \the [src].") + to_chat(user, span_notice("You wire \the [src].")) else if(C.has_tool_quality(TOOL_WIRECUTTER) && wired ) playsound(src, C.usesound, 100, 1) @@ -37,14 +37,14 @@ if(do_after(user, 40)) if(!src) return - to_chat(user, "You cut the wires!") + to_chat(user, span_notice("You cut the wires!")) new/obj/item/stack/cable_coil(src.loc, 1) wired = 0 - else if(istype(C, /obj/item/weapon/circuitboard/airalarm) && wired) + else if(istype(C, /obj/item/circuitboard/airalarm) && wired) if(anchored) playsound(src, 'sound/items/Deconstruct.ogg', 50, 1) - user.visible_message("[user] has inserted a circuit into \the [src]!", + user.visible_message(span_warning("[user] has inserted a circuit into \the [src]!"), "You have inserted the circuit into \the [src]!") if(glass) new /obj/machinery/door/firedoor/glass(loc) @@ -53,44 +53,44 @@ qdel(C) qdel(src) else - to_chat(user, "You must secure \the [src] first!") + to_chat(user, span_warning("You must secure \the [src] first!")) else if(C.has_tool_quality(TOOL_WRENCH)) anchored = !anchored playsound(src, C.usesound, 50, 1) - user.visible_message("[user] has [anchored ? "" : "un" ]secured \the [src]!", + user.visible_message(span_warning("[user] has [anchored ? "" : "un" ]secured \the [src]!"), "You have [anchored ? "" : "un" ]secured \the [src]!") update_icon() else if((glass || !anchored) && C.has_tool_quality(TOOL_WELDER)) - var/obj/item/weapon/weldingtool/WT = C.get_welder() + var/obj/item/weldingtool/WT = C.get_welder() if(WT.remove_fuel(0, user)) playsound(src, WT.usesound, 50, 1) if(glass) - user.visible_message("[user] welds the glass panel out of \the [src].", - "You start to weld the glass panel out of \the [src].") + user.visible_message(span_warning("[user] welds the glass panel out of \the [src]."), + span_notice("You start to weld the glass panel out of \the [src].")) if(do_after(user, 40 * WT.toolspeed, src) && WT.isOn()) - to_chat(user, "You welded the glass panel out!") + to_chat(user, span_notice("You welded the glass panel out!")) new /obj/item/stack/material/glass/reinforced(drop_location()) glass = FALSE update_icon() return if(!anchored) - user.visible_message("[user] dissassembles \the [src].", "You start to dissassemble \the [src].") + user.visible_message(span_warning("[user] dissassembles \the [src]."), "You start to dissassemble \the [src].") if(do_after(user, 40 * WT.toolspeed, src) && WT.isOn()) - user.visible_message("[user] has dissassembled \the [src].", + user.visible_message(span_warning("[user] has dissassembled \the [src]."), "You have dissassembled \the [src].") new /obj/item/stack/material/steel(drop_location(), 2) qdel(src) return else - to_chat(user, "You need more welding fuel.") + to_chat(user, span_notice("You need more welding fuel.")) else if(istype(C, /obj/item/stack/material) && C.get_material_name() == "rglass" && !glass) var/obj/item/stack/S = C if (S.get_amount() >= 1) playsound(src, 'sound/items/Crowbar.ogg', 100, 1) - user.visible_message("[user] adds [S.name] to \the [src].", - "You start to install [S.name] into \the [src].") + user.visible_message(span_info("[user] adds [S.name] to \the [src]."), + span_notice("You start to install [S.name] into \the [src].")) if(do_after(user, 40, src) && !glass && S.use(1)) - to_chat(user, "You installed reinforced glass windows into \the [src].") + to_chat(user, span_notice("You installed reinforced glass windows into \the [src].")) glass = TRUE update_icon() diff --git a/code/game/machinery/doors/unpowered.dm b/code/game/machinery/doors/unpowered.dm index 8e2a28d1dda..e2f42afa76f 100644 --- a/code/game/machinery/doors/unpowered.dm +++ b/code/game/machinery/doors/unpowered.dm @@ -9,7 +9,7 @@ return /obj/machinery/door/unpowered/attackby(obj/item/I as obj, mob/user as mob) - if(istype(I, /obj/item/weapon/melee/energy/blade)) return + if(istype(I, /obj/item/melee/energy/blade)) return if(src.locked) return ..() return diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm index 7b350805c25..5117401535c 100644 --- a/code/game/machinery/doors/windowdoor.dm +++ b/code/game/machinery/doors/windowdoor.dm @@ -12,7 +12,7 @@ use_power = USE_POWER_OFF flags = ON_BORDER opacity = 0 - var/obj/item/weapon/airlock_electronics/electronics = null + var/obj/item/airlock_electronics/electronics = null explosion_resistance = 5 can_atmos_pass = ATMOS_PASS_PROC air_properties_vary_with_direction = 1 @@ -32,12 +32,12 @@ icon_state = "[base_state]open" /obj/machinery/door/window/proc/shatter(var/display_message = 1) - new /obj/item/weapon/material/shard(src.loc) - new /obj/item/weapon/material/shard(src.loc) + new /obj/item/material/shard(src.loc) + new /obj/item/material/shard(src.loc) new /obj/item/stack/cable_coil(src.loc, 1) - var/obj/item/weapon/airlock_electronics/ae + var/obj/item/airlock_electronics/ae if(!electronics) - ae = new/obj/item/weapon/airlock_electronics( src.loc ) + ae = new/obj/item/airlock_electronics( src.loc ) if(LAZYLEN(req_access)) ae.conf_access = req_access else if (LAZYLEN(req_one_access)) @@ -156,7 +156,7 @@ var/mob/living/carbon/human/H = user if(H.species.can_shred(H)) playsound(src, 'sound/effects/Glasshit.ogg', 75, 1) - visible_message("[user] smashes against the [src.name].", 1) + visible_message(span_danger("[user] smashes against the [src.name]."), 1) user.do_attack_animation(src) user.setClickCooldown(user.get_attack_speed()) take_damage(25) @@ -190,28 +190,28 @@ if(istype(I)) // Fixing. if(I.has_tool_quality(TOOL_WELDER) && user.a_intent == I_HELP) - var/obj/item/weapon/weldingtool/WT = I.get_welder() + var/obj/item/weldingtool/WT = I.get_welder() if(health < maxhealth) if(WT.remove_fuel(1 ,user)) - to_chat(user, "You begin repairing [src]...") + to_chat(user, span_notice("You begin repairing [src]...")) playsound(src, WT.usesound, 50, 1) if(do_after(user, 40 * WT.toolspeed, target = src)) health = maxhealth update_icon() - to_chat(user, "You repair [src].") + to_chat(user, span_notice("You repair [src].")) else - to_chat(user, "[src] is already in good condition!") + to_chat(user, span_warning("[src] is already in good condition!")) return //Emags and ninja swords? You may pass. - if (istype(I, /obj/item/weapon/melee/energy/blade)) + if (istype(I, /obj/item/melee/energy/blade)) if(emag_act(10, user)) var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread() spark_system.set_up(5, 0, src.loc) spark_system.start() playsound(src, "sparks", 50, 1) playsound(src, 'sound/weapons/blade1.ogg', 50, 1) - visible_message("The glass door was sliced open by [user]!") + visible_message(span_warning("The glass door was sliced open by [user]!")) return 1 //If it's opened/emagged, crowbar can pry it out of its frame. @@ -219,7 +219,7 @@ playsound(src, I.usesound, 50, 1) user.visible_message("[user] begins prying the windoor out of the frame.", "You start to pry the windoor out of the frame.") if (do_after(user,40 * I.toolspeed)) - to_chat(user,"You pried the windoor out of the frame!") + to_chat(user,span_notice("You pried the windoor out of the frame!")) var/obj/structure/windoor_assembly/wa = new/obj/structure/windoor_assembly(src.loc) if (istype(src, /obj/machinery/door/window/brigdoor)) @@ -234,10 +234,10 @@ wa.update_state() if(operating == -1) - wa.electronics = new/obj/item/weapon/circuitboard/broken() + wa.electronics = new/obj/item/circuitboard/broken() else if(!electronics) - wa.electronics = new/obj/item/weapon/airlock_electronics() + wa.electronics = new/obj/item/airlock_electronics() if(LAZYLEN(req_access)) wa.electronics.conf_access = req_access else if (LAZYLEN(req_one_access)) @@ -251,11 +251,11 @@ return //If it's a weapon, smash windoor. Unless it's an id card, agent card, ect.. then ignore it (Cards really shouldnt damage a door anyway) - if(src.density && istype(I, /obj/item/weapon) && !istype(I, /obj/item/weapon/card)) + if(src.density && istype(I, /obj/item) && !istype(I, /obj/item/card)) user.setClickCooldown(user.get_attack_speed(I)) var/aforce = I.force playsound(src, 'sound/effects/Glasshit.ogg', 75, 1) - visible_message("[src] was hit by [I].") + visible_message(span_danger("[src] was hit by [I].")) if(I.damtype == BRUTE || I.damtype == BURN) take_damage(aforce) return diff --git a/code/game/machinery/doppler_array.dm b/code/game/machinery/doppler_array.dm index 556309040f3..57903cd0eeb 100644 --- a/code/game/machinery/doppler_array.dm +++ b/code/game/machinery/doppler_array.dm @@ -41,7 +41,7 @@ var/list/doppler_arrays = list() var/message = "Explosive disturbance detected - Epicenter at: grid ([x0],[y0]). Epicenter radius: [devastation_range]. Outer radius: [heavy_impact_range]. Shockwave radius: [light_impact_range]. Temporal displacement of tachyons: [took]seconds." for(var/mob/O in hearers(src, null)) - O.show_message("[src] states coldly, \"[message]\"",2) + O.show_message(span_npc_say(span_name("[src]") + " states coldly, \"[message]\""),2) /obj/machinery/doppler_array/power_change() ..() diff --git a/code/game/machinery/embedded_controller/airlock_controllers.dm b/code/game/machinery/embedded_controller/airlock_controllers.dm index 879b532b08a..55e7d97ed20 100644 --- a/code/game/machinery/embedded_controller/airlock_controllers.dm +++ b/code/game/machinery/embedded_controller/airlock_controllers.dm @@ -17,6 +17,8 @@ valid_actions = list("cycle_ext", "cycle_int", "force_ext", "force_int", "abort", "purge", "secure") layer = ABOVE_WINDOW_LAYER + var/deconstructable = FALSE + /obj/machinery/embedded_controller/radio/airlock/Destroy() // TODO - Leshana - Implement dummy terminals //for(var/thing in dummy_terminals) @@ -30,12 +32,75 @@ if(!allowed(user)) return min(STATUS_UPDATE, .) +/obj/machinery/embedded_controller/radio/airlock/attackby(obj/item/I, mob/user) + if(deconstructable) + if(default_deconstruction_screwdriver(user, I)) + return + if(default_deconstruction_crowbar(user, I)) + return + . = ..() + +/obj/machinery/embedded_controller/radio/airlock/tgui_data(mob/user, datum/tgui/ui, datum/tgui_state/state) + var/list/data = ..() + + data["panel_open"] = panel_open + data["tags"] = null + + data["frequency"] = null + data["min_freq"] = null + data["max_freq"] = null + + if(panel_open) + var/datum/embedded_program/airlock/airlock_program = program + data["tags"] = airlock_program.get_all_tags() + + data["frequency"] = frequency + data["min_freq"] = RADIO_LOW_FREQ + data["max_freq"] = RADIO_HIGH_FREQ + + return data + +/obj/machinery/embedded_controller/radio/airlock/tgui_act(action, params) + . = ..() + if(.) + return + + if(!panel_open) + return + + switch(action) + if("edit_tag") + var/datum/embedded_program/airlock/airlock_program = program + + var/tag = params["tag"] + var/current = airlock_program.get_tag(tag) + var/new_tag = tgui_input_text(usr, "What would you like to set [tag] to?", "New [tag]?", current, 30, FALSE, TRUE) + + if(new_tag) + airlock_program.set_tag(tag, new_tag) + return TRUE + + if("set_frequency") + set_frequency(sanitize_frequency(text2num(params["freq"]), RADIO_LOW_FREQ, RADIO_HIGH_FREQ)) + return TRUE + + +/obj/machinery/embedded_controller/radio/airlock/update_icon() + cut_overlays() + if(panel_open) + add_overlay("airlock_control_open") + //Advanced airlock controller for when you want a more versatile airlock controller - useful for turning simple access control rooms into airlocks /obj/machinery/embedded_controller/radio/airlock/advanced_airlock_controller name = "Advanced Airlock Controller" + deconstructable = TRUE + circuit = /obj/item/circuitboard/airlock_cycling /obj/machinery/embedded_controller/radio/airlock/advanced_airlock_controller/tgui_data(mob/user) - . = list( + var/list/data = ..() + + // Deliberately not using UNTYPED_LIST_ADD, we want this to be appended + data += list( "chamber_pressure" = round(program.memory["chamber_sensor_pressure"]), "external_pressure" = round(program.memory["external_sensor_pressure"]), "internal_pressure" = round(program.memory["internal_sensor_pressure"]), @@ -45,15 +110,22 @@ "internalTemplateName" = "AirlockConsoleAdvanced", ) + return data + //Airlock controller for airlock control - most airlocks on the station use this /obj/machinery/embedded_controller/radio/airlock/airlock_controller name = "Airlock Controller" tag_secure = 1 valid_actions = list("cycle_ext", "cycle_int", "force_ext", "force_int", "abort") + deconstructable = TRUE + circuit = /obj/item/circuitboard/airlock_cycling /obj/machinery/embedded_controller/radio/airlock/airlock_controller/tgui_data(mob/user) - . = list( + var/list/data = ..() + + // Deliberately not using UNTYPED_LIST_ADD, we want this to be appended + data += list( "chamber_pressure" = round(program.memory["chamber_sensor_pressure"]), "exterior_status" = program.memory["exterior_status"], "interior_status" = program.memory["interior_status"], @@ -61,6 +133,8 @@ "internalTemplateName" = "AirlockConsoleSimple", ) + return data + //Access controller for door control - used in virology and the like /obj/machinery/embedded_controller/radio/airlock/access_controller icon = 'icons/obj/airlock_machines.dmi' @@ -69,7 +143,8 @@ name = "Access Controller" tag_secure = 1 valid_actions = list("cycle_ext_door", "cycle_int_door", "force_ext", "force_int") - + deconstructable = TRUE + circuit = /obj/item/circuitboard/airlock_cycling /obj/machinery/embedded_controller/radio/airlock/access_controller/update_icon() if(on && program) @@ -81,9 +156,14 @@ icon_state = "access_control_off" /obj/machinery/embedded_controller/radio/airlock/access_controller/tgui_data(mob/user) - . = list( + var/list/data = ..() + + // Deliberately not using UNTYPED_LIST_ADD, we want this to be appended + data += list( "exterior_status" = program.memory["exterior_status"], "interior_status" = program.memory["interior_status"], "processing" = program.memory["processing"], "internalTemplateName" = "DoorAccessConsole", ) + + return data diff --git a/code/game/machinery/embedded_controller/airlock_docking_controller.dm b/code/game/machinery/embedded_controller/airlock_docking_controller.dm index ce7219e57f6..12df7c9aa3a 100644 --- a/code/game/machinery/embedded_controller/airlock_docking_controller.dm +++ b/code/game/machinery/embedded_controller/airlock_docking_controller.dm @@ -24,7 +24,7 @@ docking_program.display_name = display_name /obj/machinery/embedded_controller/radio/airlock/docking_port/attackby(obj/item/W, mob/user) - if(istype(W,/obj/item/device/multitool)) //give them part of code, would take few tries to get full + if(istype(W,/obj/item/multitool)) //give them part of code, would take few tries to get full var/datum/embedded_program/docking/airlock/docking_program = program var/code = docking_program.docking_codes if(!code) diff --git a/code/game/machinery/embedded_controller/airlock_program.dm b/code/game/machinery/embedded_controller/airlock_program.dm index 90558cf6227..93d8b7ed71e 100644 --- a/code/game/machinery/embedded_controller/airlock_program.dm +++ b/code/game/machinery/embedded_controller/airlock_program.dm @@ -414,6 +414,55 @@ send an additional command to open the door again. if(doorCommand) signalDoor(doorTag, doorCommand) +/datum/embedded_program/airlock/proc/get_all_tags() + return list( + "id_tag" = id_tag, + "tag_exterior_door" = tag_exterior_door, + "tag_interior_door" = tag_interior_door, + "tag_airpump" = tag_airpump, + "tag_chamber_sensor" = tag_chamber_sensor, + "tag_exterior_sensor" = tag_exterior_sensor, + "tag_interior_sensor" = tag_interior_sensor, + "tag_airlock_mech_sensor" = tag_airlock_mech_sensor, + "tag_shuttle_mech_sensor" = tag_shuttle_mech_sensor + ) + +/datum/embedded_program/airlock/proc/get_tag(tag_name) + switch(tag_name) + if("id_tag") . = id_tag + if("tag_exterior_door") . = tag_exterior_door + if("tag_interior_door") . = tag_interior_door + if("tag_airpump") . = tag_airpump + if("tag_chamber_sensor") . = tag_chamber_sensor + if("tag_exterior_sensor") . = tag_exterior_sensor + if("tag_interior_sensor") . = tag_interior_sensor + if("tag_airlock_mech_sensor") . = tag_airlock_mech_sensor + if("tag_shuttle_mech_sensor") . = tag_shuttle_mech_sensor + +/datum/embedded_program/airlock/proc/set_tag(tag_name, new_tag) + switch(tag_name) + if("id_tag") + id_tag = new_tag + if("tag_exterior_door") + tag_exterior_door = new_tag + signalDoor(tag_exterior_door, "update") + if("tag_interior_door") + tag_interior_door = new_tag + signalDoor(tag_interior_door, "update") + if("tag_airpump") + tag_airpump = new_tag + if("tag_chamber_sensor") + tag_chamber_sensor = new_tag + if("tag_exterior_sensor") + tag_exterior_sensor = new_tag + if("tag_interior_sensor") + tag_interior_sensor = new_tag + if("tag_airlock_mech_sensor") + tag_airlock_mech_sensor = new_tag + if("tag_shuttle_mech_sensor") + tag_shuttle_mech_sensor = new_tag + + #undef SKIPCYCLE_MARGIN #undef MIN_TARGET_PRESSURE @@ -424,4 +473,4 @@ send an additional command to open the door again. #undef TARGET_NONE #undef TARGET_INOPEN -#undef TARGET_OUTOPEN \ No newline at end of file +#undef TARGET_OUTOPEN diff --git a/code/game/machinery/embedded_controller/construction.dm b/code/game/machinery/embedded_controller/construction.dm new file mode 100644 index 00000000000..0a75ae3f0d5 --- /dev/null +++ b/code/game/machinery/embedded_controller/construction.dm @@ -0,0 +1,44 @@ +/obj/item/circuitboard/airlock_cycling + name = T_BOARD("cycling airlock button") + build_path = /obj/machinery/access_button + board_type = new /datum/frame/frame_types/button + matter = list(MAT_STEEL = 50, MAT_GLASS = 50) + +/datum/design/circuit/airlock_cycling + name = "Machine Design (Cycling Airlock Board)" + desc = "The circuit board for cycling airlock parts." + id = "airlock_cycling" + build_path = /obj/item/circuitboard/airlock_cycling + req_tech = list(TECH_ENGINEERING = 2, TECH_DATA = 2) + sort_string = "MAAAD" + +/obj/item/circuitboard/airlock_cycling/attackby(obj/item/I as obj, mob/user as mob) + if(I.has_tool_quality(TOOL_MULTITOOL)) + var/result = tgui_input_list( + user, + "What do you want to reconfigure the board to?", + "Multitool-Circuitboard interface", + list( + "Button", + "Sensor", + "Controller - Standard", + "Controller - Advanced", + "Controller - Access", + )) + switch(result) + if("Button") + name = T_BOARD("cycling airlock button") + build_path = /obj/machinery/access_button + if("Sensor") + name = T_BOARD("cycling airlock sensor") + build_path = /obj/machinery/airlock_sensor + if("Controller - Standard") + name = T_BOARD("cycling airlock controller (simple)") + build_path = /obj/machinery/embedded_controller/radio/airlock/airlock_controller + if("Controller - Advanced") + name = T_BOARD("cycling airlock controller (advanced)") + build_path = /obj/machinery/embedded_controller/radio/airlock/advanced_airlock_controller + if("Controller - Access") + name = T_BOARD("cycling airlock controller (access)") + build_path = /obj/machinery/embedded_controller/radio/airlock/access_controller + return diff --git a/code/game/machinery/embedded_controller/embedded_controller_base.dm b/code/game/machinery/embedded_controller/embedded_controller_base.dm index 268bde37cea..c92cbdd650e 100644 --- a/code/game/machinery/embedded_controller/embedded_controller_base.dm +++ b/code/game/machinery/embedded_controller/embedded_controller_base.dm @@ -17,6 +17,11 @@ qdel(program) // the program will clear the ref in its Destroy return ..() +/obj/machinery/embedded_controller/examine(mob/user, infix, suffix) + . = ..() + if(in_range(src, user)) + . += "It has an ID tag of \"[program?.id_tag]\"" + /obj/machinery/embedded_controller/proc/post_signal(datum/signal/signal, comm_line) return 0 @@ -28,16 +33,17 @@ /obj/machinery/embedded_controller/Topic() . = ..() - stack_trace("WARNING: Embedded controller [src] ([type]) had Topic() called unexpectedly. Please report this.") + // stack_trace("WARNING: Embedded controller [src] ([type]) had Topic() called unexpectedly. Please report this.") // statpanel means that topic can always be called for clicking -/obj/machinery/embedded_controller/tgui_act(action, params) +/obj/machinery/embedded_controller/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE if(LAZYLEN(valid_actions)) if(action in valid_actions) program.receive_user_command(action) - if(usr) - add_fingerprint(usr) + return TRUE + if(ui.user) + add_fingerprint(ui.user) /obj/machinery/embedded_controller/process() if(program) @@ -106,4 +112,4 @@ /obj/machinery/embedded_controller/radio/proc/set_frequency(new_frequency) radio_controller.remove_object(src, frequency) frequency = new_frequency - radio_connection = radio_controller.add_object(src, frequency, radio_filter) \ No newline at end of file + radio_connection = radio_controller.add_object(src, frequency, radio_filter) diff --git a/code/game/machinery/embedded_controller/mapping_helpers.dm b/code/game/machinery/embedded_controller/mapping_helpers.dm index 0306146d388..dc4758b31f8 100644 --- a/code/game/machinery/embedded_controller/mapping_helpers.dm +++ b/code/game/machinery/embedded_controller/mapping_helpers.dm @@ -26,11 +26,11 @@ Any frequency works, it's self-setting, but it seems like people have decided 13 my_controller = get_controller(get_area(src)) my_device = locate(my_device_type) in get_turf(src) if(!my_device) - to_world("[span_red("WARNING:")][span_black("Airlock helper '[name]' couldn't find what it wanted at: X:[x] Y:[y] Z:[z]")]") + to_world(span_world("[span_red("WARNING:")][span_black("Airlock helper '[name]' couldn't find what it wanted at: X:[x] Y:[y] Z:[z]")]")) else if(!my_controller) - to_world("[span_red("WARNING:")][span_black("Airlock helper '[name]' couldn't find a controller at: X:[x] Y:[y] Z:[z]")]") + to_world(span_world("[span_red("WARNING:")][span_black("Airlock helper '[name]' couldn't find a controller at: X:[x] Y:[y] Z:[z]")]")) else if(!my_controller.id_tag) - to_world("[span_red("WARNING:")][span_black("Airlock helper '[name]' found a controller without an 'id_tag' set: X:[x] Y:[y] Z:[z]")]") + to_world(span_world("[span_red("WARNING:")][span_black("Airlock helper '[name]' found a controller without an 'id_tag' set: X:[x] Y:[y] Z:[z]")]")) else setup() return INITIALIZE_HINT_QDEL diff --git a/code/game/machinery/exonet_node.dm b/code/game/machinery/exonet_node.dm index a3eb739983c..902b7c96501 100644 --- a/code/game/machinery/exonet_node.dm +++ b/code/game/machinery/exonet_node.dm @@ -16,7 +16,7 @@ var/list/logs = list() // Gets written to by exonet's send_message() function. - circuit = /obj/item/weapon/circuitboard/telecomms/exonet_node + circuit = /obj/item/circuitboard/telecomms/exonet_node // Proc: New() // Parameters: None // Description: Adds components to the machine for deconstruction. @@ -124,7 +124,7 @@ // Proc: tgui_act() // Parameters: 2 (standard tgui_act arguments) // Description: Responds to button presses on the TGUI interface. -/obj/machinery/exonet_node/tgui_act(action, params) +/obj/machinery/exonet_node/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE @@ -134,7 +134,7 @@ toggle = !toggle update_power() if(!toggle) - var/msg = "[usr.client.key] ([usr]) has turned [src] off, at [x],[y],[z]." + var/msg = "[ui.user.client.key] ([ui.user]) has turned [src] off, at [x],[y],[z]." message_admins(msg) log_game(msg) @@ -146,7 +146,7 @@ . = TRUE allow_external_communicators = !allow_external_communicators if(!allow_external_communicators) - var/msg = "[usr.client.key] ([usr]) has turned [src]'s communicator port off, at [x],[y],[z]." + var/msg = "[ui.user.client.key] ([ui.user]) has turned [src]'s communicator port off, at [x],[y],[z]." message_admins(msg) log_game(msg) @@ -154,12 +154,12 @@ . = TRUE allow_external_newscasters = !allow_external_newscasters if(!allow_external_newscasters) - var/msg = "[usr.client.key] ([usr]) has turned [src]'s newscaster port off, at [x],[y],[z]." + var/msg = "[ui.user.client.key] ([ui.user]) has turned [src]'s newscaster port off, at [x],[y],[z]." message_admins(msg) log_game(msg) update_icon() - add_fingerprint(usr) + add_fingerprint(ui.user) // Proc: get_exonet_node() // Parameters: None diff --git a/code/game/machinery/fire_alarm.dm b/code/game/machinery/fire_alarm.dm index a7e0da37f6d..e27a58fe1ff 100644 --- a/code/game/machinery/fire_alarm.dm +++ b/code/game/machinery/fire_alarm.dm @@ -23,7 +23,7 @@ FIRE ALARM var/last_process = 0 panel_open = FALSE var/seclevel - circuit = /obj/item/weapon/circuitboard/firealarm + circuit = /obj/item/circuitboard/firealarm var/alarms_hidden = FALSE //If the alarms from this machine are visible on consoles /obj/machinery/firealarm/alarms_hidden @@ -88,14 +88,14 @@ FIRE ALARM if("blue") set_light(l_range = 2, l_power = 0.25, l_color = "#1024A9") if("red") set_light(l_range = 4, l_power = 0.9, l_color = "#ff0000") if("delta") set_light(l_range = 4, l_power = 0.9, l_color = "#FF6633") - + . += mutable_appearance(icon, fire_state) . += emissive_appearance(icon, fire_state) - + if(seclevel) . += mutable_appearance(icon, "overlay_[seclevel]") . += emissive_appearance(icon, "overlay_[seclevel]") - + add_overlay(.) /obj/machinery/firealarm/fire_act(datum/gas_mixture/air, temperature, volume) @@ -124,12 +124,12 @@ FIRE ALARM return if(panel_open) - if(istype(W, /obj/item/device/multitool)) + if(istype(W, /obj/item/multitool)) detecting = !(detecting) if(detecting) - user.visible_message("\The [user] has reconnected [src]'s detecting unit!", "You have reconnected [src]'s detecting unit.") + user.visible_message(span_notice("\The [user] has reconnected [src]'s detecting unit!"), span_notice("You have reconnected [src]'s detecting unit.")) else - user.visible_message("\The [user] has disconnected [src]'s detecting unit!", "You have disconnected [src]'s detecting unit.") + user.visible_message(span_notice("\The [user] has disconnected [src]'s detecting unit!"), span_notice("You have disconnected [src]'s detecting unit.")) return alarm() @@ -201,7 +201,7 @@ FIRE ALARM FIRE ALARM CIRCUIT Just a object used in constructing fire alarms -/obj/item/weapon/firealarm_electronics +/obj/item/firealarm_electronics name = "fire alarm electronics" icon = 'icons/obj/doors/door_assembly.dmi' icon_state = "door_electronics" diff --git a/code/game/machinery/flasher.dm b/code/game/machinery/flasher.dm index 47041e68750..ed53a6e4392 100644 --- a/code/game/machinery/flasher.dm +++ b/code/game/machinery/flasher.dm @@ -34,14 +34,14 @@ // sd_SetLuminosity(0) //Don't want to render prison breaks impossible -/obj/machinery/flasher/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/machinery/flasher/attackby(obj/item/W as obj, mob/user as mob) if(W.has_tool_quality(TOOL_WIRECUTTER)) add_fingerprint(user) disable = !disable if(disable) - user.visible_message("[user] has disconnected the [src]'s flashbulb!", "You disconnect the [src]'s flashbulb!") + user.visible_message(span_warning("[user] has disconnected the [src]'s flashbulb!"), span_warning("You disconnect the [src]'s flashbulb!")) if(!disable) - user.visible_message("[user] has connected the [src]'s flashbulb!", "You connect the [src]'s flashbulb!") + user.visible_message(span_warning("[user] has connected the [src]'s flashbulb!"), span_warning("You connect the [src]'s flashbulb!")) //Let the AI trigger them directly. /obj/machinery/flasher/attack_ai() @@ -106,18 +106,18 @@ if(M.m_intent != "walk") flash() -/obj/machinery/flasher/portable/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/machinery/flasher/portable/attackby(obj/item/W as obj, mob/user as mob) if(W.has_tool_quality(TOOL_WRENCH)) add_fingerprint(user) anchored = !anchored if(!anchored) - user.show_message(text("[src] can now be moved.")) + user.show_message(span_warning("[src] can now be moved.")) cut_overlays() unsense_proximity(callback = /atom/proc/HasProximity) else if(anchored) - user.show_message(text("[src] is now secured.")) + user.show_message(span_warning("[src] is now secured.")) add_overlay("[base_state]-s") sense_proximity(callback = /atom/proc/HasProximity) @@ -145,4 +145,4 @@ icon_state = "launcherbtt" active = 0 - return \ No newline at end of file + return diff --git a/code/game/machinery/floodlight.dm b/code/game/machinery/floodlight.dm index 3c4b3a7a136..54447f264a4 100644 --- a/code/game/machinery/floodlight.dm +++ b/code/game/machinery/floodlight.dm @@ -7,7 +7,7 @@ light_system = MOVABLE_LIGHT_DIRECTIONAL light_cone_y_offset = 8 var/on = 0 - var/obj/item/weapon/cell/cell = null + var/obj/item/cell/cell = null var/use = 200 // 200W light var/unlocked = 0 var/open = 0 @@ -101,7 +101,7 @@ update_icon() -/obj/machinery/floodlight/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/machinery/floodlight/attackby(obj/item/W as obj, mob/user as mob) if(W.has_tool_quality(TOOL_SCREWDRIVER)) if(!open) if(unlocked) @@ -122,7 +122,7 @@ open = 1 to_chat(user, "You remove the battery panel.") - if(istype(W, /obj/item/weapon/cell)) + if(istype(W, /obj/item/cell)) if(open) if(cell) to_chat(user, "There is a power cell already installed.") diff --git a/code/game/machinery/floor_light.dm b/code/game/machinery/floor_light.dm index 1722510df08..9768de95c0d 100644 --- a/code/game/machinery/floor_light.dm +++ b/code/game/machinery/floor_light.dm @@ -25,18 +25,18 @@ var/list/floor_light_cache = list() /obj/machinery/floor_light/attackby(var/obj/item/W, var/mob/user) if(W.has_tool_quality(TOOL_SCREWDRIVER)) anchored = !anchored - visible_message("\The [user] has [anchored ? "attached" : "detached"] \the [src].") + visible_message(span_notice("\The [user] has [anchored ? "attached" : "detached"] \the [src].")) else if(W.has_tool_quality(TOOL_WELDER) && (damaged || (stat & BROKEN))) - var/obj/item/weapon/weldingtool/WT = W.get_welder() + var/obj/item/weldingtool/WT = W.get_welder() if(!WT.remove_fuel(0, user)) - to_chat(user, "\The [src] must be on to complete this task.") + to_chat(user, span_warning("\The [src] must be on to complete this task.")) return playsound(src, WT.usesound, 50, 1) if(!do_after(user, 20 * WT.toolspeed)) return if(!src || !WT.isOn()) return - visible_message("\The [user] has repaired \the [src].") + visible_message(span_notice("\The [user] has repaired \the [src].")) stat &= ~BROKEN damaged = null update_brightness() @@ -48,11 +48,11 @@ var/list/floor_light_cache = list() if(user.a_intent == I_HURT && !issmall(user)) if(!isnull(damaged) && !(stat & BROKEN)) - visible_message("\The [user] smashes \the [src]!") + visible_message(span_danger("\The [user] smashes \the [src]!")) playsound(src, "shatter", 70, 1) stat |= BROKEN else - visible_message("\The [user] attacks \the [src]!") + visible_message(span_danger("\The [user] attacks \the [src]!")) playsound(src, 'sound/effects/Glasshit.ogg', 75, 1) if(isnull(damaged)) damaged = 0 update_brightness() @@ -60,20 +60,20 @@ var/list/floor_light_cache = list() else if(!anchored) - to_chat(user, "\The [src] must be screwed down first.") + to_chat(user, span_warning("\The [src] must be screwed down first.")) return if(stat & BROKEN) - to_chat(user, "\The [src] is too damaged to be functional.") + to_chat(user, span_warning("\The [src] is too damaged to be functional.")) return if(stat & NOPOWER) - to_chat(user, "\The [src] is unpowered.") + to_chat(user, span_warning("\The [src] is unpowered.")) return on = !on if(on) update_use_power(USE_POWER_ACTIVE) - //visible_message("\The [user] turns \the [src] [on ? "on" : "off"].") //VOREStation Edit - No thankouuuu. Too spammy. + //visible_message(span_notice("\The [user] turns \the [src] [on ? "on" : "off"].")) //VOREStation Edit - No thankouuuu. Too spammy. update_brightness() return diff --git a/code/game/machinery/floorlayer.dm b/code/game/machinery/floorlayer.dm index 38da6b057fc..8534b2d4d1b 100644 --- a/code/game/machinery/floorlayer.dm +++ b/code/game/machinery/floorlayer.dm @@ -30,36 +30,36 @@ /obj/machinery/floorlayer/attack_hand(mob/user as mob) on=!on - user.visible_message("[user] has [!on?"de":""]activated \the [src].", "You [!on?"de":""]activate \the [src].") + user.visible_message(span_notice("[user] has [!on?"de":""]activated \the [src]."), span_notice("You [!on?"de":""]activate \the [src].")) return /obj/machinery/floorlayer/attackby(var/obj/item/W as obj, var/mob/user as mob) if(W.has_tool_quality(TOOL_WRENCH)) - var/m = tgui_input_list(usr, "Choose work mode", "Mode", mode) + var/m = tgui_input_list(user, "Choose work mode", "Mode", mode) mode[m] = !mode[m] var/O = mode[m] - user.visible_message("[usr] has set \the [src] [m] mode [!O?"off":"on"].", "You set \the [src] [m] mode [!O?"off":"on"].") + user.visible_message(span_notice("[user] has set \the [src] [m] mode [!O?"off":"on"]."), span_notice("You set \the [src] [m] mode [!O?"off":"on"].")) return if(istype(W, /obj/item/stack/tile)) - to_chat(user, "\The [W] successfully loaded.") + to_chat(user, span_notice("\The [W] successfully loaded.")) user.drop_item(T) TakeTile(T) return if(W.has_tool_quality(TOOL_CROWBAR)) if(!length(contents)) - to_chat(user, "\The [src] is empty.") + to_chat(user, span_notice("\The [src] is empty.")) else - var/obj/item/stack/tile/E = tgui_input_list(usr, "Choose remove tile type.", "Tiles", contents) + var/obj/item/stack/tile/E = tgui_input_list(user, "Choose remove tile type.", "Tiles", contents) if(E) - to_chat(user, "You remove the [E] from \the [src].") + to_chat(user, span_notice("You remove the [E] from \the [src].")) E.loc = src.loc T = null return if(W.has_tool_quality(TOOL_SCREWDRIVER)) - T = tgui_input_list(usr, "Choose tile type.", "Tiles", contents) + T = tgui_input_list(user, "Choose tile type.", "Tiles", contents) return ..() @@ -68,7 +68,7 @@ var/dismantle = mode["dismantle"] var/laying = mode["laying"] var/collect = mode["collect"] - . += "[src] [!T ? "don't " : ""]has [!T ? "" : "[T.get_amount()] [T] "]tile\s, dismantle is [dismantle ? "on" : "off"], laying is [laying ? "on" : "off"], collect is [collect ? "on" : "off"]." + . += span_notice("[src] [!T ? "don't " : ""]has [!T ? "" : "[T.get_amount()] [T] "]tile\s, dismantle is [dismantle ? "on" : "off"], laying is [laying ? "on" : "off"], collect is [collect ? "on" : "off"].") /obj/machinery/floorlayer/proc/reset() on=0 @@ -107,4 +107,4 @@ /obj/machinery/floorlayer/proc/CollectTiles(var/turf/w_turf) for(var/obj/item/stack/tile/tile in w_turf) - TakeTile(tile) \ No newline at end of file + TakeTile(tile) diff --git a/code/game/machinery/frame.dm b/code/game/machinery/frame.dm index 3b6caffcf9b..003fad71082 100644 --- a/code/game/machinery/frame.dm +++ b/code/game/machinery/frame.dm @@ -31,6 +31,14 @@ type = replacetext(type, " ", "_") return "[type]_[state]" +/datum/frame/frame_types/button + name = "Button" + frame_class = FRAME_CLASS_ALARM + frame_size = 1 + frame_style = FRAME_STYLE_WALL + x_offset = 24 + y_offset = 24 + /datum/frame/frame_types/computer name = "Computer" icon_override = 'icons/obj/stock_parts_vr.dmi' //VOREStation Edit @@ -44,7 +52,7 @@ /datum/frame/frame_types/conveyor name = "Conveyor" frame_class = FRAME_CLASS_MACHINE - circuit = /obj/item/weapon/circuitboard/conveyor + circuit = /obj/item/circuitboard/conveyor /datum/frame/frame_types/photocopier name = "Photocopier" @@ -69,7 +77,7 @@ /datum/frame/frame_types/mass_driver name = "Mass Driver" frame_class = FRAME_CLASS_MACHINE - circuit = /obj/item/weapon/circuitboard/mass_driver + circuit = /obj/item/circuitboard/mass_driver /datum/frame/frame_types/holopad name = "Holopad" @@ -89,19 +97,19 @@ /datum/frame/frame_types/recharger name = "Recharger" frame_class = FRAME_CLASS_MACHINE - circuit = /obj/item/weapon/circuitboard/recharger + circuit = /obj/item/circuitboard/recharger frame_size = 3 /datum/frame/frame_types/cell_charger name = "Heavy-Duty Cell Charger" frame_class = FRAME_CLASS_MACHINE - circuit = /obj/item/weapon/circuitboard/cell_charger + circuit = /obj/item/circuitboard/cell_charger frame_size = 3 /datum/frame/frame_types/grinder name = "Grinder" frame_class = FRAME_CLASS_MACHINE - circuit = /obj/item/weapon/circuitboard/grinder + circuit = /obj/item/circuitboard/grinder frame_size = 3 /datum/frame/frame_types/reagent_distillery @@ -142,7 +150,7 @@ /datum/frame/frame_types/wall_charger name = "Wall Charger" frame_class = FRAME_CLASS_MACHINE - circuit = /obj/item/weapon/circuitboard/recharger/wrecharger + circuit = /obj/item/circuitboard/recharger/wrecharger frame_size = 3 frame_style = FRAME_STYLE_WALL x_offset = 32 @@ -208,14 +216,6 @@ circuit = /obj/machinery/atmospheric_field_generator frame_size = 3 -/datum/frame/frame_types/electrochromic_button - name = "Electrochromic Window Button" - frame_class = FRAME_CLASS_ALARM - frame_size = 1 - frame_style = FRAME_STYLE_WALL - x_offset = 24 - y_offset = 24 - ////////////////////////////// // Frame Object (Structure) ////////////////////////////// @@ -226,7 +226,7 @@ icon = 'icons/obj/stock_parts.dmi' icon_state = "machine_0" var/state = FRAME_PLACED - var/obj/item/weapon/circuitboard/circuit = null + var/obj/item/circuitboard/circuit = null var/need_circuit = TRUE var/datum/frame/frame_types/frame_type = new /datum/frame/frame_types/machine @@ -302,7 +302,7 @@ /obj/structure/frame/attackby(obj/item/P as obj, mob/user as mob) if(P.has_tool_quality(TOOL_WRENCH)) if(state == FRAME_PLACED && !anchored) - to_chat(user, "You start to wrench the frame into place.") + to_chat(user, span_notice("You start to wrench the frame into place.")) playsound(src, P.usesound, 50, 1) if(do_after(user, 20 * P.toolspeed)) anchored = TRUE @@ -310,24 +310,24 @@ state = FRAME_FASTENED check_components() update_desc() - to_chat(user, "You wrench the frame into place and set the outer cover.") + to_chat(user, span_notice("You wrench the frame into place and set the outer cover.")) else - to_chat(user, "You wrench the frame into place.") + to_chat(user, span_notice("You wrench the frame into place.")) else if(state == FRAME_PLACED && anchored) playsound(src, P.usesound, 50, 1) if(do_after(user, 20 * P.toolspeed)) - to_chat(user, "You unfasten the frame.") + to_chat(user, span_notice("You unfasten the frame.")) anchored = FALSE else if(P.has_tool_quality(TOOL_WELDER)) if(state == FRAME_PLACED) - var/obj/item/weapon/weldingtool/WT = P.get_welder() + var/obj/item/weldingtool/WT = P.get_welder() if(WT.remove_fuel(0, user)) playsound(src, P.usesound, 50, 1) if(do_after(user, 20 * P.toolspeed)) if(src && WT.isOn()) - to_chat(user, "You deconstruct the frame.") + to_chat(user, span_notice("You deconstruct the frame.")) new /obj/item/stack/material/steel(src.loc, frame_type.frame_size) qdel(src) return @@ -335,13 +335,13 @@ to_chat(user, "The welding tool must be on to complete this task.") return - else if(istype(P, /obj/item/weapon/circuitboard) && need_circuit && !circuit) + else if(istype(P, /obj/item/circuitboard) && need_circuit && !circuit) if(state == FRAME_PLACED && anchored) - var/obj/item/weapon/circuitboard/B = P + var/obj/item/circuitboard/B = P var/datum/frame/frame_types/board_type = B.board_type if(board_type.name == frame_type.name) playsound(src, 'sound/items/Deconstruct.ogg', 50, 1) - to_chat(user, "You place the circuit board inside the frame.") + to_chat(user, span_notice("You place the circuit board inside the frame.")) circuit = P user.drop_item() P.loc = src @@ -350,25 +350,25 @@ check_components() update_desc() else - to_chat(user, "This frame does not accept circuit boards of this type!") + to_chat(user, span_warning("This frame does not accept circuit boards of this type!")) return else if(P.has_tool_quality(TOOL_SCREWDRIVER)) if(state == FRAME_UNFASTENED) if(need_circuit && circuit) playsound(src, P.usesound, 50, 1) - to_chat(user, "You screw the circuit board into place.") + to_chat(user, span_notice("You screw the circuit board into place.")) state = FRAME_FASTENED else if(state == FRAME_FASTENED) if(need_circuit && circuit) playsound(src, P.usesound, 50, 1) - to_chat(user, "You unfasten the circuit board.") + to_chat(user, span_notice("You unfasten the circuit board.")) state = FRAME_UNFASTENED else if(!need_circuit && circuit) playsound(src, P.usesound, 50, 1) - to_chat(user, "You unfasten the outer cover.") + to_chat(user, span_notice("You unfasten the outer cover.")) state = FRAME_PLACED else if(state == FRAME_WIRED) @@ -410,7 +410,7 @@ else if(frame_type.frame_class == FRAME_CLASS_ALARM) playsound(src, P.usesound, 50, 1) - to_chat(user, "You fasten the cover.") + to_chat(user, span_notice("You fasten the cover.")) var/obj/machinery/B = new circuit.build_path(src.loc) B.pixel_x = pixel_x B.pixel_y = pixel_y @@ -424,7 +424,7 @@ else if(state == FRAME_PANELED) if(frame_type.frame_class == FRAME_CLASS_COMPUTER) playsound(src, P.usesound, 50, 1) - to_chat(user, "You connect the monitor.") + to_chat(user, span_notice("You connect the monitor.")) var/obj/machinery/B = new circuit.build_path(src.loc) B.pixel_x = pixel_x B.pixel_y = pixel_y @@ -437,7 +437,7 @@ else if(frame_type.frame_class == FRAME_CLASS_DISPLAY) playsound(src, P.usesound, 50, 1) - to_chat(user, "You connect the monitor.") + to_chat(user, span_notice("You connect the monitor.")) var/obj/machinery/B = new circuit.build_path(src.loc) B.pixel_x = pixel_x B.pixel_y = pixel_y @@ -452,7 +452,7 @@ if(state == FRAME_UNFASTENED) if(need_circuit && circuit) playsound(src, P.usesound, 50, 1) - to_chat(user, "You remove the circuit board.") + to_chat(user, span_notice("You remove the circuit board.")) state = FRAME_PLACED circuit.forceMove(src.loc) circuit = null @@ -464,10 +464,10 @@ if(frame_type.frame_class == FRAME_CLASS_MACHINE) playsound(src, P.usesound, 50, 1) if(components.len == 0) - to_chat(user, "There are no components to remove.") + to_chat(user, span_notice("There are no components to remove.")) else - to_chat(user, "You remove the components.") - for(var/obj/item/weapon/W in components) + to_chat(user, span_notice("You remove the components.")) + for(var/obj/item/W in components) W.forceMove(src.loc) check_components() update_desc() @@ -476,13 +476,13 @@ else if(state == FRAME_PANELED) if(frame_type.frame_class == FRAME_CLASS_COMPUTER) playsound(src, P.usesound, 50, 1) - to_chat(user, "You remove the glass panel.") + to_chat(user, span_notice("You remove the glass panel.")) state = FRAME_WIRED new /obj/item/stack/material/glass(src.loc, 2) else if(frame_type.frame_class == FRAME_CLASS_DISPLAY) playsound(src, P.usesound, 50, 1) - to_chat(user, "You remove the glass panel.") + to_chat(user, span_notice("You remove the glass panel.")) state = FRAME_WIRED new /obj/item/stack/material/glass(src.loc, 2) @@ -490,13 +490,13 @@ if(state == FRAME_FASTENED) var/obj/item/stack/cable_coil/C = P if(C.get_amount() < 5) - to_chat(user, "You need five coils of wire to add them to the frame.") + to_chat(user, span_warning("You need five coils of wire to add them to the frame.")) return - to_chat(user, "You start to add cables to the frame.") + to_chat(user, span_notice("You start to add cables to the frame.")) playsound(src, 'sound/items/Deconstruct.ogg', 50, 1) if(do_after(user, 20) && state == FRAME_FASTENED) if(C.use(5)) - to_chat(user, "You add cables to the frame.") + to_chat(user, span_notice("You add cables to the frame.")) state = FRAME_WIRED if(frame_type.frame_class == FRAME_CLASS_MACHINE) to_chat(user, desc) @@ -535,10 +535,10 @@ ) playsound(src, P.usesound, 50, 1) if (components.len == 0) - to_chat(user, "You remove the cables.") + to_chat(user, span_notice("You remove the cables.")) else - to_chat(user, "You remove the cables and components.") - for(var/obj/item/weapon/W in components) + to_chat(user, span_notice("You remove the cables and components.")) + for(var/obj/item/W in components) W.forceMove(src.loc) check_components() update_desc() @@ -550,25 +550,25 @@ if(frame_type.frame_class == FRAME_CLASS_COMPUTER) var/obj/item/stack/G = P if(G.get_amount() < 2) - to_chat(user, "You need two sheets of glass to put in the glass panel.") + to_chat(user, span_warning("You need two sheets of glass to put in the glass panel.")) return playsound(src, 'sound/items/Deconstruct.ogg', 50, 1) - to_chat(user, "You start to put in the glass panel.") + to_chat(user, span_notice("You start to put in the glass panel.")) if(do_after(user, 20) && state == FRAME_WIRED) if(G.use(2)) - to_chat(user, "You put in the glass panel.") + to_chat(user, span_notice("You put in the glass panel.")) state = FRAME_PANELED else if(frame_type.frame_class == FRAME_CLASS_DISPLAY) var/obj/item/stack/G = P if(G.get_amount() < 2) - to_chat(user, "You need two sheets of glass to put in the glass panel.") + to_chat(user, span_warning("You need two sheets of glass to put in the glass panel.")) return playsound(src, 'sound/items/Deconstruct.ogg', 50, 1) - to_chat(user, "You start to put in the glass panel.") + to_chat(user, span_notice("You start to put in the glass panel.")) if(do_after(user, 20) && state == FRAME_WIRED) if(G.use(2)) - to_chat(user, "You put in the glass panel.") + to_chat(user, span_notice("You put in the glass panel.")) state = FRAME_PANELED else if(istype(P, /obj/item)) @@ -597,7 +597,7 @@ break to_chat(user, desc) if(P && P.loc != src && !istype(P, /obj/item/stack/material)) - to_chat(user, "You cannot add that component to the machine!") + to_chat(user, span_warning("You cannot add that component to the machine!")) return update_icon() @@ -616,7 +616,7 @@ src.set_dir(turn(src.dir, 90)) - to_chat(usr, "You rotate the [src] to face [dir2text(dir)]!") + to_chat(usr, span_notice("You rotate the [src] to face [dir2text(dir)]!")) return @@ -635,6 +635,6 @@ src.set_dir(turn(src.dir, 270)) - to_chat(usr, "You rotate the [src] to face [dir2text(dir)]!") + to_chat(usr, span_notice("You rotate the [src] to face [dir2text(dir)]!")) return diff --git a/code/game/machinery/gear_dispenser.dm b/code/game/machinery/gear_dispenser.dm index e410ecc8160..f26860c9248 100644 --- a/code/game/machinery/gear_dispenser.dm +++ b/code/game/machinery/gear_dispenser.dm @@ -107,15 +107,15 @@ var/list/dispenser_presets = list() if(voidsuit.cooler) error("[src] created a voidsuit [voidsuit] and wants to add a suit cooler but it already has one") else - var/obj/item/life_support = new /obj/item/device/suit_cooling_unit(voidsuit) + var/obj/item/life_support = new /obj/item/suit_cooling_unit(voidsuit) voidsuit.cooler = life_support else if(user.species?.breath_type) if(voidsuit.tank) error("[src] created a voidsuit [voidsuit] and wants to add a tank but it already has one") else //Create a tank (if such a thing exists for this species) - var/tanktext = "/obj/item/weapon/tank/" + "[user.species?.breath_type]" - var/obj/item/weapon/tank/tankpath = text2path(tanktext) + var/tanktext = "/obj/item/tank/" + "[user.species?.breath_type]" + var/obj/item/tank/tankpath = text2path(tanktext) if(tankpath) var/obj/item/life_support = new tankpath(voidsuit) @@ -158,7 +158,7 @@ var/list/dispenser_presets = list() //req_one_access = list(whatever) // Note that each gear datum can have access, too. /obj/machinery/gear_dispenser/custom/emag_act(remaining_charges, mob/user, emag_source) - to_chat(user, "Your moral standards prevent you from emagging this machine!") + to_chat(user, span_warning("Your moral standards prevent you from emagging this machine!")) return -1 // Letting people emag this one would be bad times /obj/machinery/gear_dispenser/Initialize() @@ -182,11 +182,11 @@ var/list/dispenser_presets = list() var/list/gear_list = get_gear_list(user) if(!LAZYLEN(gear_list)) - to_chat(user, "\The [src] doesn't have anything to dispense for you!") + to_chat(user, span_warning("\The [src] doesn't have anything to dispense for you!")) dispenser_flags &= ~GD_BUSY return - var/choice = tgui_input_list(usr, "Select equipment to dispense.", "Equipment Dispenser", gear_list) + var/choice = tgui_input_list(user, "Select equipment to dispense.", "Equipment Dispenser", gear_list) if(!choice) dispenser_flags &= ~GD_BUSY @@ -200,24 +200,24 @@ var/list/dispenser_presets = list() /obj/machinery/gear_dispenser/proc/can_use(var/mob/living/carbon/human/user) var/list/used_by = gear_distributed_to["[type]"] if(needs_power && inoperable()) - to_chat(user,"The machine does not respond to your prodding.") + to_chat(user,span_warning("The machine does not respond to your prodding.")) return 0 if(!istype(user)) - to_chat(user,"You can't use this!") + to_chat(user,span_warning("You can't use this!")) return 0 if((dispenser_flags & GD_BUSY)) - to_chat(user,"Someone else is using this!") + to_chat(user,span_warning("Someone else is using this!")) return 0 if((dispenser_flags & GD_ONEITEM) && !(dispenser_flags & GD_UNLIMITED) && !one_setting.amount) - to_chat(user,"There's nothing in here!") + to_chat(user,span_warning("There's nothing in here!")) return 0 if (!emagged) if ((dispenser_flags & GD_NOGREED) && (user.ckey in used_by)) - to_chat(user,"You've already picked up your gear!") + to_chat(user,span_warning("You've already picked up your gear!")) playsound(src, 'sound/machines/buzz-sigh.ogg', 50, 0) return 0 if ((dispenser_flags & GD_UNIQUE) && (user.ckey in unique_dispense_list)) - to_chat(user,"You've already picked up your gear!") + to_chat(user,span_warning("You've already picked up your gear!")) playsound(src, 'sound/machines/buzz-sigh.ogg', 50, 0) return 0 else @@ -228,7 +228,7 @@ var/list/dispenser_presets = list() if(allowed(user)) return 1 else - to_chat(user,"Your access is rejected!") + to_chat(user,span_warning("Your access is rejected!")) playsound(src, 'sound/machines/buzz-sigh.ogg', 100, 0) return 0 @@ -246,7 +246,7 @@ var/list/dispenser_presets = list() /obj/machinery/gear_dispenser/proc/dispense(var/datum/gear_disp/S,var/mob/living/carbon/human/user,var/greet=TRUE) if(!S.amount && !(dispenser_flags & GD_UNLIMITED)) - to_chat(user,"There are no more [S.name]s left!") + to_chat(user,span_warning("There are no more [S.name]s left!")) dispenser_flags &= ~GD_BUSY return 1 else if(!(dispenser_flags & GD_UNLIMITED)) @@ -267,7 +267,7 @@ var/list/dispenser_presets = list() if(emagged) emagged = FALSE if(greet && user && !user.stat) // in case we got destroyed while we slept - to_chat(user,"[S.name] dispensing processed. Have a good day.") + to_chat(user,span_notice("[S.name] dispensing processed. Have a good day.")) /obj/machinery/gear_dispenser/proc/animate_dispensing() flick("[icon_state]-scan",src) @@ -282,7 +282,7 @@ var/list/dispenser_presets = list() . = ..() if(!emagged) emagged = TRUE - visible_message("\The [user] slides a weird looking ID into \the [src]!","You temporarily short the safety mechanisms.") + visible_message(span_warning("\The [user] slides a weird looking ID into \the [src]!"),span_warning("You temporarily short the safety mechanisms.")) return 1 @@ -343,7 +343,7 @@ var/list/dispenser_presets = list() var/list/spawned = held_gear_disp.spawn_gear(T, user) for(var/obj/item/I in spawned) user.put_in_hands(I) - to_chat(user, "You remove the equipment from [src].") + to_chat(user, span_notice("You remove the equipment from [src].")) held_gear_disp = null animate_close() return @@ -351,7 +351,7 @@ var/list/dispenser_presets = list() /obj/machinery/gear_dispenser/suit_fancy/dispense(var/datum/gear_disp/S,var/mob/living/carbon/human/user,var/greet=TRUE) if(!S.amount && !(dispenser_flags & GD_UNLIMITED)) - to_chat(user,"There are no more [S.name]s left!") + to_chat(user,span_warning("There are no more [S.name]s left!")) dispenser_flags &= ~GD_BUSY return 1 else if(!(dispenser_flags & GD_UNLIMITED)) @@ -369,7 +369,7 @@ var/list/dispenser_presets = list() if(emagged) emagged = FALSE if(greet && user && !user.stat) // in case we got destroyed while we slept - to_chat(user,"[S.name] dispensing processed. Have a good day.") + to_chat(user,span_notice("[S.name] dispensing processed. Have a good day.")) /obj/machinery/gear_dispenser/suit_fancy/animate_dispensing() add_overlay("working") @@ -443,19 +443,19 @@ var/list/dispenser_presets = list() // Hardsuit versions /datum/gear_disp/ert/security_rig name = "Security (Hardsuit)" - to_spawn = list(/obj/item/weapon/rig/ert/security) + to_spawn = list(/obj/item/rig/ert/security) /datum/gear_disp/ert/medical_rig name = "Medical (Hardsuit)" - to_spawn = list(/obj/item/weapon/rig/ert/medical) + to_spawn = list(/obj/item/rig/ert/medical) /datum/gear_disp/ert/engineer_rig name = "Engineering (Hardsuit)" - to_spawn = list(/obj/item/weapon/rig/ert/engineer) + to_spawn = list(/obj/item/rig/ert/engineer) /* /datum/gear_disp/ert/commander_rig name = "Commander (Hardsuit)" - to_spawn = list(/obj/item/weapon/rig/ert) + to_spawn = list(/obj/item/rig/ert) amount = 1 */ @@ -513,7 +513,7 @@ var/list/dispenser_presets = list() req_one_access = list(access_atmospherics) /datum/gear_disp/voidsuit/station/paramedic - name = "Paramedic (Voidsuit)" + name = JOB_PARAMEDIC + " (Voidsuit)" voidsuit_type = /obj/item/clothing/suit/space/void/medical/emt voidhelmet_type = /obj/item/clothing/head/helmet/space/void/medical/emt refit = TRUE @@ -892,9 +892,9 @@ var/list/dispenser_presets = list() /datum/gear_disp/adventure_box/food name = "Food Plate" to_spawn = list( - /obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar, - /obj/item/weapon/reagent_containers/food/snacks/no_raisin, - /obj/item/weapon/reagent_containers/food/drinks/tea + /obj/item/reagent_containers/food/snacks/candy/proteinbar, + /obj/item/reagent_containers/food/snacks/no_raisin, + /obj/item/reagent_containers/food/drinks/tea ) amount = 10 @@ -904,7 +904,7 @@ var/list/dispenser_presets = list() /obj/random/tool, /obj/random/tool, /obj/random/tool, - /obj/item/weapon/storage/belt/utility + /obj/item/storage/belt/utility ) amount = 5 @@ -919,7 +919,7 @@ var/list/dispenser_presets = list() /datum/gear_disp/adventure_box/light name = "Flashlight" - to_spawn = list(/obj/item/device/flashlight/maglight) + to_spawn = list(/obj/item/flashlight/maglight) amount = 2 /datum/gear_disp/adventure_box/weapon diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index a48fa1e79ee..4945e9d11c2 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -34,7 +34,7 @@ var/const/HOLOPAD_MODE = RANGE_BASED desc = "It's a floor-mounted device for projecting holographic images. It is activated remotely." icon_state = "holopad0" show_messages = 1 - circuit = /obj/item/weapon/circuitboard/holopad + circuit = /obj/item/circuitboard/holopad plane = TURF_PLANE layer = ABOVE_TURF_LAYER var/power_per_hologram = 500 //per usage per hologram @@ -57,13 +57,13 @@ var/const/HOLOPAD_MODE = RANGE_BASED if(tgui_alert(user,"Would you like to request an AI's presence?","Request AI",list("Yes","No")) == "Yes") if(last_request + 200 < world.time) //don't spam the AI with requests you jerk! last_request = world.time - to_chat(user, "You request an AI's presence.") + to_chat(user, span_notice("You request an AI's presence.")) var/area/area = get_area(src) for(var/mob/living/silicon/ai/AI in living_mob_list) if(!AI.client) continue - to_chat(AI, "Your presence is requested at \the [area].") + to_chat(AI, span_info("Your presence is requested at \the [area].")) else - to_chat(user, "A request for AI presence was already sent recently.") + to_chat(user, span_notice("A request for AI presence was already sent recently.")) /obj/machinery/hologram/holopad/attack_ai(mob/living/silicon/ai/user) if(!istype(user)) @@ -82,12 +82,12 @@ var/const/HOLOPAD_MODE = RANGE_BASED /obj/machinery/hologram/holopad/proc/activate_holo(mob/living/silicon/ai/user) if(!(stat & NOPOWER) && user.eyeobj.loc == src.loc)//If the projector has power and client eye is on it if(user.holo) - to_chat(user, "ERROR: Image feed in progress.") + to_chat(user, span_danger("ERROR:") + " Image feed in progress.") return create_holo(user)//Create one. visible_message("A holographic image of [user] flicks to life right before your eyes!") else - to_chat(user, "ERROR: Unable to project hologram.") + to_chat(user, span_danger("ERROR:") + " Unable to project hologram.") return /*This is the proc for special two-way communication between AI and holopad/people talking near holopad. @@ -102,14 +102,14 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/ if(M) for(var/mob/living/silicon/ai/master in masters) //var/name_used = M.GetVoice() - var/rendered = "Holopad received, [text]" + var/rendered = span_game(span_say(span_italics("Holopad received, " + span_message("[text]")))) //The lack of name_used is needed, because message already contains a name. This is needed for simple mobs to emote properly. master.show_message(rendered, 2) return /obj/machinery/hologram/holopad/show_message(msg, type, alt, alt_type) for(var/mob/living/silicon/ai/master in masters) - var/rendered = "Holopad received, [msg]" + var/rendered = span_game(span_say(span_italics("Holopad received, " + span_message("[msg]")))) master.show_message(rendered, type) return diff --git a/code/game/machinery/holoposter.dm b/code/game/machinery/holoposter.dm index 9b32fbb3716..4f76a3a66d6 100644 --- a/code/game/machinery/holoposter.dm +++ b/code/game/machinery/holoposter.dm @@ -85,7 +85,7 @@ GLOBAL_LIST_EMPTY(holoposters) return if (W.has_tool_quality(TOOL_MULTITOOL)) playsound(src, 'sound/items/penclick.ogg', 60, 1) - icon_state = tgui_input_list(usr, "Available Posters", "Holographic Poster", postertypes + "random") + icon_state = tgui_input_list(user, "Available Posters", "Holographic Poster", postertypes + "random") if(!Adjacent(user)) return if(icon_state == "random") diff --git a/code/game/machinery/igniter.dm b/code/game/machinery/igniter.dm index 461b80cf633..4f45449a161 100755 --- a/code/game/machinery/igniter.dm +++ b/code/game/machinery/igniter.dm @@ -71,16 +71,16 @@ icon_state = "[base_state]-p" // sd_SetLuminosity(0) -/obj/machinery/sparker/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/machinery/sparker/attackby(obj/item/W as obj, mob/user as mob) if(W.has_tool_quality(TOOL_SCREWDRIVER)) add_fingerprint(user) disable = !disable playsound(src, W.usesound, 50, 1) if(disable) - user.visible_message("[user] has disabled the [src]!", "You disable the connection to the [src].") + user.visible_message(span_warning("[user] has disabled the [src]!"), span_warning("You disable the connection to the [src].")) icon_state = "[base_state]-d" if(!disable) - user.visible_message("[user] has reconnected the [src]!", "You fix the connection to the [src].") + user.visible_message(span_warning("[user] has reconnected the [src]!"), span_warning("You fix the connection to the [src].")) if(powered()) icon_state = "[base_state]" else @@ -147,4 +147,4 @@ icon_state = "launcherbtt" active = 0 - return \ No newline at end of file + return diff --git a/code/game/machinery/iv_drip.dm b/code/game/machinery/iv_drip.dm index 603618d1f31..5e7f12fd6ca 100644 --- a/code/game/machinery/iv_drip.dm +++ b/code/game/machinery/iv_drip.dm @@ -8,7 +8,7 @@ /obj/machinery/iv_drip/var/mob/living/carbon/human/attached = null /obj/machinery/iv_drip/var/mode = 1 // 1 is injecting, 0 is taking blood. -/obj/machinery/iv_drip/var/obj/item/weapon/reagent_containers/beaker = null +/obj/machinery/iv_drip/var/obj/item/reagent_containers/beaker = null /obj/machinery/iv_drip/update_icon() if(attached) @@ -53,8 +53,8 @@ update_icon() -/obj/machinery/iv_drip/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W, /obj/item/weapon/reagent_containers)) +/obj/machinery/iv_drip/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W, /obj/item/reagent_containers)) if(!isnull(beaker)) to_chat(user, "There is already a reagent container loaded!") return @@ -68,9 +68,9 @@ if(W.has_tool_quality(TOOL_SCREWDRIVER)) playsound(src, W.usesound, 50, 1) - to_chat(user, "You start to dismantle the IV drip.") + to_chat(user, span_notice("You start to dismantle the IV drip.")) if(do_after(user, 15)) - to_chat(user, "You dismantle the IV drip.") + to_chat(user, span_notice("You dismantle the IV drip.")) new /obj/item/stack/rods(src.loc, 6) if(beaker) beaker.loc = get_turf(src) @@ -98,7 +98,7 @@ if(mode) if(beaker.volume > 0) var/transfer_amount = REM - if(istype(beaker, /obj/item/weapon/reagent_containers/blood)) + if(istype(beaker, /obj/item/reagent_containers/blood)) // speed up transfer on blood packs transfer_amount = 4 beaker.reagents.trans_to_mob(attached, transfer_amount, CHEM_BLOOD) @@ -154,7 +154,7 @@ set src in view(1) if(!istype(usr, /mob/living)) - to_chat(usr, "You can't do that.") + to_chat(usr, span_warning("You can't do that.")) return if(usr.stat) @@ -171,13 +171,13 @@ if(beaker) if(beaker.reagents?.reagent_list?.len) - . += "Attached is \a [beaker] with [beaker.reagents.total_volume] units of liquid." + . += span_notice("Attached is \a [beaker] with [beaker.reagents.total_volume] units of liquid.") else - . += "Attached is an empty [beaker]." + . += span_notice("Attached is an empty [beaker].") else - . += "No chemicals are attached." + . += span_notice("No chemicals are attached.") - . += "[attached ? attached : "No one"] is attached." + . += span_notice("[attached ? attached : "No one"] is attached.") /obj/machinery/iv_drip/CanPass(atom/movable/mover, turf/target) if(istype(mover) && mover.checkpass(PASSTABLE)) //allow bullets, beams, thrown objects, mice, drones, and the like through. diff --git a/code/game/machinery/jukebox.dm b/code/game/machinery/jukebox.dm index caaaaef6487..d5abde1e1fe 100644 --- a/code/game/machinery/jukebox.dm +++ b/code/game/machinery/jukebox.dm @@ -15,7 +15,7 @@ use_power = USE_POWER_IDLE idle_power_usage = 10 active_power_usage = 100 - circuit = /obj/item/weapon/circuitboard/jukebox + circuit = /obj/item/circuitboard/jukebox clicksound = 'sound/machines/buttonbeep.ogg' // Vars for hacking @@ -24,7 +24,7 @@ var/freq = 0 // Currently no effect, will return in phase II of mediamanager. //VOREStation Add var/loop_mode = JUKEMODE_PLAY_ONCE // Behavior when finished playing a song - var/list/obj/item/device/juke_remote/remotes + var/list/obj/item/juke_remote/remotes //VOREStation Add End var/datum/track/current_track @@ -80,13 +80,13 @@ if(current_track && playing) media_url = current_track.url media_start_time = world.time - audible_message("\The [src] begins to play [current_track.display()].", runemessage = "[current_track.display()]") + audible_message(span_notice("\The [src] begins to play [current_track.display()]."), runemessage = "[current_track.display()]") else media_url = "" media_start_time = 0 update_music() //VOREStation Add - for(var/obj/item/device/juke_remote/remote as anything in remotes) + for(var/obj/item/juke_remote/remote as anything in remotes) remote.update_music() //VOREStation Add End @@ -105,12 +105,12 @@ return if(W.has_tool_quality(TOOL_WIRECUTTER)) return wires.Interact(user) - if(istype(W, /obj/item/device/multitool)) + if(istype(W, /obj/item/multitool)) return wires.Interact(user) if(W.has_tool_quality(TOOL_WRENCH)) if(playing) StopPlaying() - user.visible_message("[user] has [anchored ? "un" : ""]secured \the [src].", "You [anchored ? "un" : ""]secure \the [src].") + user.visible_message(span_warning("[user] has [anchored ? "un" : ""]secured \the [src]."), span_notice("You [anchored ? "un" : ""]secure \the [src].")) anchored = !anchored playsound(src, W.usesound, 50, 1) power_change() @@ -152,16 +152,16 @@ /obj/machinery/media/jukebox/interact(mob/user) if(inoperable()) - to_chat(usr, "\The [src] doesn't appear to function.") + to_chat(user, "\The [src] doesn't appear to function.") return tgui_interact(user) /obj/machinery/media/jukebox/tgui_status(mob/user) if(inoperable()) - to_chat(user, "[src] doesn't appear to function.") + to_chat(user, span_warning("[src] doesn't appear to function.")) return STATUS_CLOSE if(!anchored) - to_chat(user, "You must secure [src] first.") + to_chat(user, span_warning("You must secure [src] first.")) return STATUS_CLOSE . = ..() @@ -235,17 +235,17 @@ spawn(15) explode() else if(current_track == null) - to_chat(usr, "No track selected.") + to_chat(ui.user, "No track selected.") else StartPlaying() return TRUE if("add_new_track") - SSmedia_tracks.add_track(usr, params["url"], params["title"], text2num(params["duration"]) * 10, params["artist"], params["genre"], text2num(params["secret"]), text2num(params["lobby"])) + SSmedia_tracks.add_track(ui.user, params["url"], params["title"], text2num(params["duration"]) * 10, params["artist"], params["genre"], text2num(params["secret"]), text2num(params["lobby"])) if("remove_new_track") var/datum/track/track_to_remove = locate(params["ref"]) in getTracksList() if(track_to_remove == current_track && playing) StopPlaying() - SSmedia_tracks.remove_track(usr, track_to_remove) + SSmedia_tracks.remove_track(ui.user, track_to_remove) /obj/machinery/media/jukebox/attack_ai(mob/user as mob) return src.attack_hand(user) @@ -255,7 +255,7 @@ /obj/machinery/media/jukebox/proc/explode() walk_to(src,0) - src.visible_message("\The [src] blows apart!", 1) + src.visible_message(span_danger("\The [src] blows apart!"), 1) explosion(src.loc, 0, 0, 1, rand(1,2), 1) @@ -276,7 +276,7 @@ if(W.has_tool_quality(TOOL_WRENCH)) if(playing) StopPlaying() - user.visible_message("[user] has [anchored ? "un" : ""]secured \the [src].", "You [anchored ? "un" : ""]secure \the [src].") + user.visible_message(span_warning("[user] has [anchored ? "un" : ""]secured \the [src]."), span_notice("You [anchored ? "un" : ""]secure \the [src].")) anchored = !anchored playsound(src, W.usesound, 50, 1) power_change() @@ -288,7 +288,7 @@ if(!emagged) emagged = 1 StopPlaying() - visible_message("\The [src] makes a fizzling sound.") + visible_message(span_danger("\The [src] makes a fizzling sound.")) update_icon() return 1 @@ -441,7 +441,7 @@ qdel(T) return - to_chat(C, "") + to_chat(C, span_warning("Couldn't find a track matching the specified parameters.")) /obj/machinery/media/jukebox/ghost/vv_get_dropdown() . = ..() diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm index 174fdf630d6..74aca8d039f 100644 --- a/code/game/machinery/machinery.dm +++ b/code/game/machinery/machinery.dm @@ -110,7 +110,7 @@ Class Procs: var/clicksound // sound played on succesful interface. Just put it in the list of vars at the start. var/clickvol = 40 // volume var/interact_offline = 0 // Can the machine be interacted with while de-powered. - var/obj/item/weapon/circuitboard/circuit = null + var/obj/item/circuitboard/circuit = null // 0.0 - 1.0 multipler for prob() based on bullet structure damage // So if this is 1.0 then a 100 damage bullet will always break this structure @@ -257,15 +257,15 @@ Class Procs: if(user.lying || user.stat) return 1 if(!user.IsAdvancedToolUser()) //Vorestation edit - to_chat(user, "You don't have the dexterity to do this!") + to_chat(user, span_warning("You don't have the dexterity to do this!")) return 1 if(ishuman(user)) var/mob/living/carbon/human/H = user if(H.getBrainLoss() >= 55) - visible_message("[H] stares cluelessly at [src].") + visible_message(span_warning("[H] stares cluelessly at [src].")) return 1 else if(prob(H.getBrainLoss())) - to_chat(user, "You momentarily forget how to use [src].") + to_chat(user, span_warning("You momentarily forget how to use [src].")) return 1 if(clicksound && istype(user, /mob/living/carbon)) @@ -284,7 +284,7 @@ Class Procs: /obj/machinery/proc/state(var/msg) for(var/mob/O in hearers(src, null)) - O.show_message("[icon2html(src,O.client)] [msg]", 2) + O.show_message("[icon2html(src,O.client)] " + span_notice("[msg]"), 2) /obj/machinery/proc/ping(text=null) if(!text) @@ -313,33 +313,33 @@ Class Procs: return 0 /obj/machinery/proc/default_apply_parts() - var/obj/item/weapon/circuitboard/CB = circuit + var/obj/item/circuitboard/CB = circuit if(!istype(CB)) return CB.apply_default_parts(src) RefreshParts() /obj/machinery/proc/default_use_hicell() - var/obj/item/weapon/cell/C = locate(/obj/item/weapon/cell) in component_parts + var/obj/item/cell/C = locate(/obj/item/cell) in component_parts if(C) component_parts -= C qdel(C) - C = new /obj/item/weapon/cell/high(src) + C = new /obj/item/cell/high(src) component_parts += C RefreshParts() return C -/obj/machinery/proc/default_part_replacement(var/mob/user, var/obj/item/weapon/storage/part_replacer/R) +/obj/machinery/proc/default_part_replacement(var/mob/user, var/obj/item/storage/part_replacer/R) var/parts_replaced = FALSE if(!istype(R)) return 0 if(!component_parts) return 0 - to_chat(user, "Following parts detected in [src]:") + to_chat(user, span_notice("Following parts detected in [src]:")) for(var/obj/item/C in component_parts) - to_chat(user, " [C.name]") + to_chat(user, span_notice(" [C.name]")) if(panel_open || !R.panel_req) - var/obj/item/weapon/circuitboard/CB = circuit + var/obj/item/circuitboard/CB = circuit var/P for(var/obj/item/A in component_parts) for(var/T in CB.req_components) @@ -354,7 +354,7 @@ Class Procs: component_parts -= A component_parts += B B.loc = null - to_chat(user, "[A.name] replaced with [B.name].") + to_chat(user, span_notice("[A.name] replaced with [B.name].")) parts_replaced = TRUE break update_icon() @@ -373,12 +373,12 @@ Class Procs: var/actual_time = W.toolspeed * time if(actual_time != 0) user.visible_message( \ - "\The [user] begins [anchored ? "un" : ""]securing \the [src].", \ - "You start [anchored ? "un" : ""]securing \the [src].") + span_warning("\The [user] begins [anchored ? "un" : ""]securing \the [src]."), \ + span_notice("You start [anchored ? "un" : ""]securing \the [src].")) if(actual_time == 0 || do_after(user, actual_time, target = src)) user.visible_message( \ - "\The [user] has [anchored ? "un" : ""]secured \the [src].", \ - "You [anchored ? "un" : ""]secure \the [src].") + span_warning("\The [user] has [anchored ? "un" : ""]secured \the [src]."), \ + span_notice("You [anchored ? "un" : ""]secure \the [src].")) anchored = !anchored power_change() //Turn on or off the machine depending on the status of power in the new area. update_icon() @@ -396,7 +396,7 @@ Class Procs: return 0 playsound(src, S.usesound, 50, 1) panel_open = !panel_open - to_chat(user, "You [panel_open ? "open" : "close"] the maintenance hatch of [src].") + to_chat(user, span_notice("You [panel_open ? "open" : "close"] the maintenance hatch of [src].")) update_icon() return 1 @@ -405,14 +405,14 @@ Class Procs: return 0 if(!circuit) return 0 - to_chat(user, "You start disconnecting the monitor.") + to_chat(user, span_notice("You start disconnecting the monitor.")) playsound(src, S.usesound, 50, 1) if(do_after(user, 20 * S.toolspeed)) if(stat & BROKEN) - to_chat(user, "The broken glass falls out.") - new /obj/item/weapon/material/shard(src.loc) + to_chat(user, span_notice("The broken glass falls out.")) + new /obj/item/material/shard(src.loc) else - to_chat(user, "You disconnect the monitor.") + to_chat(user, span_notice("You disconnect the monitor.")) . = dismantle() /obj/machinery/proc/alarm_deconstruction_screwdriver(var/mob/user, var/obj/item/S) @@ -429,7 +429,7 @@ Class Procs: return 0 if(!panel_open) return 0 - user.visible_message("[user] has cut the wires inside \the [src]!", "You have cut the wires inside \the [src].") + user.visible_message(span_warning("[user] has cut the wires inside \the [src]!"), "You have cut the wires inside \the [src].") playsound(src, W.usesound, 50, 1) new/obj/item/stack/cable_coil(get_turf(src), 5) . = dismantle() @@ -437,13 +437,13 @@ Class Procs: /obj/machinery/proc/dismantle() playsound(src, 'sound/items/Crowbar.ogg', 50, 1) for(var/obj/I in contents) - if(istype(I,/obj/item/weapon/card/id)) + if(istype(I,/obj/item/card/id)) I.forceMove(src.loc) if(!circuit) return 0 var/obj/structure/frame/A = new /obj/structure/frame(src.loc) - var/obj/item/weapon/circuitboard/M = circuit + var/obj/item/circuitboard/M = circuit A.circuit = M A.anchored = TRUE A.frame_type = M.board_type @@ -511,7 +511,7 @@ Class Procs: var/list/surviving_parts = list() // Deleting IDs is lame, unless this is like nuclear severity if(severity != 1) - for(var/obj/item/weapon/card/id/I in contents) + for(var/obj/item/card/id/I in contents) surviving_parts |= I // May populate some items to throw around diff --git a/code/game/machinery/magnet.dm b/code/game/machinery/magnet.dm index 13184fdbfb7..e36fbb0a493 100644 --- a/code/game/machinery/magnet.dm +++ b/code/game/machinery/magnet.dm @@ -241,7 +241,7 @@ if(stat & (BROKEN|NOPOWER)) return user.set_machine(src) - var/dat = "Magnetic Control Console

" + var/dat = span_bold("Magnetic Control Console") + "

" if(!autolink) dat += {" Frequency: [frequency]
diff --git a/code/game/machinery/mass_driver.dm b/code/game/machinery/mass_driver.dm index 7aa39cce388..a344167c4a7 100644 --- a/code/game/machinery/mass_driver.dm +++ b/code/game/machinery/mass_driver.dm @@ -9,7 +9,7 @@ use_power = USE_POWER_IDLE idle_power_usage = 2 active_power_usage = 50 - circuit = /obj/item/weapon/circuitboard/mass_driver + circuit = /obj/item/circuitboard/mass_driver var/power = 1.0 var/code = 1.0 @@ -26,11 +26,11 @@ if(default_deconstruction_crowbar(user, I)) return - if(istype(I, /obj/item/device/multitool)) + if(istype(I, /obj/item/multitool)) if(panel_open) - var/input = sanitize(tgui_input_text(usr, "What id would you like to give this conveyor?", "Multitool-Conveyor interface", id)) + var/input = sanitize(tgui_input_text(user, "What id would you like to give this conveyor?", "Multitool-Conveyor interface", id)) if(!input) - to_chat(usr, "No input found please hang up and try your call again.") + to_chat(user, "No input found please hang up and try your call again.") return id = input return @@ -47,7 +47,7 @@ O_limit++ if(O_limit >= 20) for(var/mob/M in hearers(src, null)) - to_chat(M, "The mass driver lets out a screech, it mustn't be able to handle any more items.") + to_chat(M, span_notice("The mass driver lets out a screech, it mustn't be able to handle any more items.")) break use_power(500) spawn(0) diff --git a/code/game/machinery/medical_kiosk.dm b/code/game/machinery/medical_kiosk.dm index 7fc98cb443d..06eac53eb72 100644 --- a/code/game/machinery/medical_kiosk.dm +++ b/code/game/machinery/medical_kiosk.dm @@ -6,6 +6,7 @@ #define RADIATION_DAMAGE 0x20 #define TOXIN_DAMAGE 0x40 #define OXY_DAMAGE 0x80 +#define HUSKED_BODY 0x100 /obj/machinery/medical_kiosk name = "medical kiosk" @@ -14,7 +15,7 @@ icon_state = "kiosk_off" idle_power_usage = 5 active_power_usage = 200 - circuit = /obj/item/weapon/circuitboard/medical_kiosk + circuit = /obj/item/circuitboard/medical_kiosk anchored = TRUE density = TRUE @@ -39,9 +40,9 @@ . = ..() if(istype(user) && Adjacent(user)) if(inoperable() || panel_open) - to_chat(user, "\The [src] seems to be nonfunctional...") + to_chat(user, span_warning("\The [src] seems to be nonfunctional...")) else if(active_user && active_user != user) - to_chat(user, "Another patient has begin using this machine. Please wait for them to finish, or their session to time out.") + to_chat(user, span_warning("Another patient has begin using this machine. Please wait for them to finish, or their session to time out.")) else start_using(user) @@ -71,40 +72,40 @@ wake_lock(user) // User requests service - user.visible_message("[user] wakes [src].", "You wake [src].") + user.visible_message(span_bold("[user]") + " wakes [src].", "You wake [src].") var/choice = tgui_alert(user, "What service would you like?", "[src]", list("Health Scan", "Backup Scan", "Cancel"), timeout = 10 SECONDS) if(!choice || choice == "Cancel" || !Adjacent(user) || inoperable() || panel_open) suspend() return - + // Service begins, delay - visible_message("\The [src] scans [user] thoroughly!") + visible_message(span_bold("\The [src]") + " scans [user] thoroughly!") flick("kiosk_active", src) if(!do_after(user, 10 SECONDS, src, exclusive = TASK_ALL_EXCLUSIVE) || inoperable()) suspend() return - + // Service completes switch(choice) if("Health Scan") var/health_report = tell_health_info(user) - to_chat(user, "Health report results:"+health_report) + to_chat(user, span_boldnotice("Health report results:")+health_report) if("Backup Scan") if(!our_db) - to_chat(user, "Backup scan results:
DATABASE ERROR!") + to_chat(user, span_notice(span_bold("Backup scan results:")) + "
DATABASE ERROR!") else var/scan_report = do_backup_scan(user) - to_chat(user, "Backup scan results:"+scan_report) - + to_chat(user, span_notice(span_bold("Backup scan results:"))+scan_report) + // Standby suspend() /obj/machinery/medical_kiosk/proc/tell_health_info(mob/living/user) if(!istype(user)) - return "
Unable to perform diagnosis on this type of life form." + return "
" + span_warning("Unable to perform diagnosis on this type of life form.") if(user.isSynthetic()) - return "
Unable to perform diagnosis on synthetic life forms." - + return "
" + span_warning("Unable to perform diagnosis on synthetic life forms.") + var/problems = 0 for(var/obj/item/organ/external/E in user) if(E.status & ORGAN_BROKEN) @@ -119,13 +120,16 @@ problems |= INTERNAL_BLEEDING else problems |= EXTERNAL_BLEEDING - + for(var/obj/item/organ/internal/I in user) if(I.status & (ORGAN_BROKEN|ORGAN_DEAD|ORGAN_DESTROYED)) problems |= SERIOUS_INTERNAL_DAMAGE if(I.status & ORGAN_BLEEDING) problems |= INTERNAL_BLEEDING - + + if(HUSK in user.mutations) + problems |= HUSKED_BODY + if(user.getToxLoss() > 0) problems |= TOXIN_DAMAGE if(user.getOxyLoss() > 0) @@ -134,48 +138,50 @@ problems |= RADIATION_DAMAGE if(user.getFireLoss() > 40 || user.getBruteLoss() > 40) problems |= SERIOUS_EXTERNAL_DAMAGE - + if(!problems) if(user.getHalLoss() > 0) - return "
Mild concussion detected - advising bed rest until patient feels well. No other anatomical issues detected." + return "
" + span_warning("Mild concussion detected - advising bed rest until patient feels well. No other anatomical issues detected.") else - return "
No anatomical issues detected." - + return "
" + span_notice("No anatomical issues detected.") + var/problem_text = "" if(problems & BROKEN_BONES) - problem_text += "
Broken bones detected - see a medical professional and move as little as possible." + problem_text += "
" + span_warning("Broken bones detected - see a medical professional and move as little as possible.") if(problems & INTERNAL_BLEEDING) - problem_text += "
Internal bleeding detected - seek medical attention, ASAP!" + problem_text += "
" + span_danger("Internal bleeding detected - seek medical attention, ASAP!") if(problems & EXTERNAL_BLEEDING) - problem_text += "
External bleeding detected - advising pressure with cloth and bandaging." + problem_text += "
" + span_warning("External bleeding detected - advising pressure with cloth and bandaging.") if(problems & SERIOUS_EXTERNAL_DAMAGE) - problem_text += "
Severe anatomical damage detected - seek medical attention." + problem_text += "
" + span_danger("Severe anatomical damage detected - seek medical attention.") if(problems & SERIOUS_INTERNAL_DAMAGE) - problem_text += "
Severe internal damage detected - seek medical attention." + problem_text += "
" + span_danger("Severe internal damage detected - seek medical attention.") if(problems & RADIATION_DAMAGE) - problem_text += "
Exposure to ionizing radiation detected - seek medical attention." + problem_text += "
" + span_danger("Exposure to ionizing radiation detected - seek medical attention.") if(problems & TOXIN_DAMAGE) - problem_text += "
Exposure to toxic materials detected - induce vomiting if you have consumed anything recently." + problem_text += "
" + span_warning("Exposure to toxic materials detected - induce vomiting if you have consumed anything recently.") if(problems & OXY_DAMAGE) - problem_text += "
Blood/air perfusion level is below acceptable norms - use concentrated oxygen if necessary." + problem_text += "
" + span_warning("Blood/air perfusion level is below acceptable norms - use concentrated oxygen if necessary.") + if(problems & HUSKED_BODY) + problem_text += "
" + span_danger("Anatomical structure lost, resuscitation not possible!") return problem_text /obj/machinery/medical_kiosk/proc/do_backup_scan(mob/living/carbon/human/user) if(!istype(user)) - return "
Unable to perform full scan. Please see a medical professional." + return "
" + span_warning("Unable to perform full scan. Please see a medical professional.") if(!user.mind) - return "
Unable to perform full scan. Please see a medical professional." - + return "
" + span_warning("Unable to perform full scan. Please see a medical professional.") + var/nif = user.nif if(nif) persist_nif_data(user) - + our_db.m_backup(user.mind,nif,one_time = TRUE) var/datum/transhuman/body_record/BR = new() BR.init_from_mob(user, TRUE, TRUE, database_key = db_key) - return "
Backup scan completed!
Note: A backup implant is required for automated notifications to the appropriate department in case of incident." + return "
" + span_notice("Backup scan completed!") + "
" + span_bold("Note:") + " A backup implant is required for automated notifications to the appropriate department in case of incident." #undef BROKEN_BONES #undef INTERNAL_BLEEDING @@ -184,4 +190,5 @@ #undef SERIOUS_INTERNAL_DAMAGE #undef RADIATION_DAMAGE #undef TOXIN_DAMAGE -#undef OXY_DAMAGE \ No newline at end of file +#undef OXY_DAMAGE +#undef HUSKED_BODY diff --git a/code/game/machinery/navbeacon.dm b/code/game/machinery/navbeacon.dm index 170c085a090..fa4b720467f 100644 --- a/code/game/machinery/navbeacon.dm +++ b/code/game/machinery/navbeacon.dm @@ -85,7 +85,7 @@ var/global/list/navbeacons = list() // no I don't like putting this in, but it w locked = !locked to_chat(user, "Controls are now [locked ? "locked." : "unlocked."]") else - to_chat(user, "Access denied.") + to_chat(user, span_warning("Access denied.")) updateDialog() else to_chat(user, "You must open the cover first!") diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm index 8e6aee9b790..b2a9ff48b22 100644 --- a/code/game/machinery/newscaster.dm +++ b/code/game/machinery/newscaster.dm @@ -71,7 +71,7 @@ newChannel.announcement = "Breaking news from [channel_name]!" network_channels += newChannel -/datum/feed_network/proc/SubmitArticle(var/msg, var/author, var/channel_name, var/obj/item/weapon/photo/photo, var/adminMessage = 0, var/message_type = "", var/title) +/datum/feed_network/proc/SubmitArticle(var/msg, var/author, var/channel_name, var/obj/item/photo/photo, var/adminMessage = 0, var/message_type = "", var/title) var/datum/feed_message/newMsg = new /datum/feed_message newMsg.author = author newMsg.body = msg @@ -104,7 +104,7 @@ NEWSCASTER.update_icon() // var/list/receiving_pdas = new - // for (var/obj/item/device/pda/P in PDAs) + // for (var/obj/item/pda/P in PDAs) // if(!P.owner) // continue // if(P.toff) @@ -114,7 +114,7 @@ // spawn(0) // get_receptions sleeps further down the line, spawn of elsewhere // var/datum/receptions/receptions = get_receptions(null, receiving_pdas) // datums are not atoms, thus we have to assume the newscast network always has reception - // for(var/obj/item/device/pda/PDA in receiving_pdas) + // for(var/obj/item/pda/PDA in receiving_pdas) // if(!(receptions.receiver_reception[PDA] & TELECOMMS_RECEPTION_RECEIVER)) // continue @@ -163,7 +163,7 @@ GLOBAL_LIST_BOILERPLATE(allCasters, /obj/machinery/newscaster) light_range = 0 anchored = TRUE var/obj/machinery/exonet_node/node = null - circuit = /obj/item/weapon/circuitboard/newscaster + circuit = /obj/item/circuitboard/newscaster // TGUI var/list/temp = null @@ -211,7 +211,7 @@ GLOBAL_LIST_BOILERPLATE(allCasters, /obj/machinery/newscaster) if(hitstaken > 0) //Cosmetic damage overlay add_overlay("crack[hitstaken]") - + icon_state = "newscaster_normal" add_overlay(emissive_appearance(icon, "newscaster_normal_ov")) add_overlay(mutable_appearance(icon, "newscaster_normal_ov")) @@ -266,13 +266,13 @@ GLOBAL_LIST_BOILERPLATE(allCasters, /obj/machinery/newscaster) node = get_exonet_node() if(!node || !node.on || !node.allow_external_newscasters) - to_chat(user, "Error: Cannot connect to external content. Please try again in a few minutes. If this error persists, please \ - contact the system administrator.") + to_chat(user, span_danger("Error: Cannot connect to external content. Please try again in a few minutes. If this error persists, please \ + contact the system administrator.")) return 0 if(!user.IsAdvancedToolUser()) return 0 - + tgui_interact(user) /** @@ -286,7 +286,7 @@ GLOBAL_LIST_BOILERPLATE(allCasters, /obj/machinery/newscaster) temp = list(text = text, style = style) if(update_now) SStgui.update_uis(src) - + /obj/machinery/newscaster/tgui_interact(mob/user, datum/tgui/ui, datum/tgui/parent_ui) ui = SStgui.try_update_ui(user, src, ui) if(!ui) @@ -316,7 +316,7 @@ GLOBAL_LIST_BOILERPLATE(allCasters, /obj/machinery/newscaster) data["wanted_issue"] = wanted_issue data["securityCaster"] = !!securityCaster - + var/list/network_channels = list() for(var/datum/feed_channel/FC in news_network.network_channels) network_channels.Add(list(list( @@ -365,6 +365,7 @@ GLOBAL_LIST_BOILERPLATE(allCasters, /obj/machinery/newscaster) if(!viewing_channel.censored) for(var/datum/feed_message/M in viewing_channel.messages) var/list/msgdata = list( + "title" = M.title, "body" = M.body, "img" = null, "type" = M.message_type, @@ -415,7 +416,7 @@ GLOBAL_LIST_BOILERPLATE(allCasters, /obj/machinery/newscaster) if(FC.channel_name == channel_name) check = 1 break - var/our_user = tgui_user_name(usr) + var/our_user = tgui_user_name(ui.user) if(channel_name == "" || channel_name == "\[REDACTED\]") set_temp("Error: Could not submit feed channel to network: Invalid Channel Name.", "danger", FALSE) return TRUE @@ -429,7 +430,7 @@ GLOBAL_LIST_BOILERPLATE(allCasters, /obj/machinery/newscaster) set_temp("Error: Could not submit feed channel to network: A feed channel already exists under your name.", "danger", FALSE) return TRUE - var/choice = tgui_alert(usr, "Please confirm Feed channel creation","Network Channel Handler",list("Confirm","Cancel")) + var/choice = tgui_alert(ui.user, "Please confirm Feed channel creation","Network Channel Handler",list("Confirm","Cancel")) if(choice == "Confirm") news_network.CreateFeedChannel(channel_name, our_user, c_locked) set_temp("Feed channel [channel_name] created successfully.", "success", FALSE) @@ -441,25 +442,25 @@ GLOBAL_LIST_BOILERPLATE(allCasters, /obj/machinery/newscaster) for(var/datum/feed_channel/F in news_network.network_channels) if((!F.locked || F.author == scanned_user) && !F.censored) available_channels += F.channel_name - var/new_channel_name = tgui_input_list(usr, "Choose receiving Feed Channel", "Network Channel Handler", available_channels) + var/new_channel_name = tgui_input_list(ui.user, "Choose receiving Feed Channel", "Network Channel Handler", available_channels) if(new_channel_name) channel_name = new_channel_name return TRUE if("set_new_message") - msg = sanitize(tgui_input_text(usr, "Write your Feed story", "Network Channel Handler", multiline = TRUE, prevent_enter = TRUE)) + msg = sanitize(tgui_input_text(ui.user, "Write your Feed story", "Network Channel Handler", multiline = TRUE, prevent_enter = TRUE)) return TRUE if("set_new_title") - title = sanitize(tgui_input_text(usr, "Enter your Feed title", "Network Channel Handler")) + title = sanitize(tgui_input_text(ui.user, "Enter your Feed title", "Network Channel Handler")) return TRUE if("set_attachment") - AttachPhoto(usr) + AttachPhoto(ui.user) return TRUE if("submit_new_message") - var/our_user = tgui_user_name(usr) + var/our_user = tgui_user_name(ui.user) if(msg == "" || msg == "\[REDACTED\]") set_temp("Error: Could not submit feed message to network: Invalid Message.", "danger", FALSE) return TRUE @@ -483,7 +484,7 @@ GLOBAL_LIST_BOILERPLATE(allCasters, /obj/machinery/newscaster) if(!paper_remaining) set_temp("Unable to print newspaper. Insufficient paper. Please notify maintenance personnel to refill machine storage.", "danger", FALSE) return TRUE - + print_paper() set_temp("Printing successful. Please receive your newspaper from the bottom of the machine.", "success", FALSE) return TRUE @@ -495,7 +496,7 @@ GLOBAL_LIST_BOILERPLATE(allCasters, /obj/machinery/newscaster) if("submit_wanted") if(!securityCaster) return FALSE - var/our_user = tgui_user_name(usr) + var/our_user = tgui_user_name(ui.user) if(channel_name == "") set_temp("Error: Could not submit wanted issue to network: Invalid Criminal Name.", "danger", FALSE) return TRUE @@ -506,11 +507,11 @@ GLOBAL_LIST_BOILERPLATE(allCasters, /obj/machinery/newscaster) set_temp("Error: Could not submit wanted issue to network: Author unverified.", "danger", FALSE) return TRUE - var/choice = tgui_alert(usr, "Please confirm Wanted Issue change.", "Network Security Handler", list("Confirm", "Cancel")) + var/choice = tgui_alert(ui.user, "Please confirm Wanted Issue change.", "Network Security Handler", list("Confirm", "Cancel")) if(choice == "Confirm") if(news_network.wanted_issue) if(news_network.wanted_issue.is_admin_message) - tgui_alert_async(usr, "The wanted issue has been distributed by a [using_map.company_name] higherup. You cannot edit it.") + tgui_alert_async(ui.user, "The wanted issue has been distributed by a [using_map.company_name] higherup. You cannot edit it.") return news_network.wanted_issue.author = channel_name news_network.wanted_issue.body = msg @@ -535,9 +536,9 @@ GLOBAL_LIST_BOILERPLATE(allCasters, /obj/machinery/newscaster) if(!securityCaster) return FALSE if(news_network.wanted_issue.is_admin_message) - tgui_alert_async(usr, "The wanted issue has been distributed by a [using_map.company_name] higherup. You cannot take it down.") + tgui_alert_async(ui.user, "The wanted issue has been distributed by a [using_map.company_name] higherup. You cannot take it down.") return - var/choice = tgui_alert(usr, "Please confirm Wanted Issue removal","Network Security Handler",list("Confirm","Cancel")) + var/choice = tgui_alert(ui.user, "Please confirm Wanted Issue removal","Network Security Handler",list("Confirm","Cancel")) if(choice=="Confirm") news_network.wanted_issue = null for(var/obj/machinery/newscaster/NEWSCASTER in GLOB.allCasters) @@ -550,7 +551,7 @@ GLOBAL_LIST_BOILERPLATE(allCasters, /obj/machinery/newscaster) return FALSE var/datum/feed_channel/FC = locate(params["ref"]) if(FC.is_admin_channel) - tgui_alert_async(usr, "This channel was created by a [using_map.company_name] Officer. You cannot censor it.") + tgui_alert_async(ui.user, "This channel was created by a [using_map.company_name] Officer. You cannot censor it.") return if(FC.author != "\[REDACTED\]") FC.backup_author = FC.author @@ -565,7 +566,7 @@ GLOBAL_LIST_BOILERPLATE(allCasters, /obj/machinery/newscaster) return FALSE var/datum/feed_message/MSG = locate(params["ref"]) if(MSG.is_admin_message) - tgui_alert_async(usr, "This message was created by a [using_map.company_name] Officer. You cannot censor its author.") + tgui_alert_async(ui.user, "This message was created by a [using_map.company_name] Officer. You cannot censor its author.") return if(MSG.author != "\[REDACTED\]") MSG.backup_author = MSG.author @@ -580,7 +581,7 @@ GLOBAL_LIST_BOILERPLATE(allCasters, /obj/machinery/newscaster) return FALSE var/datum/feed_message/MSG = locate(params["ref"]) if(MSG.is_admin_message) - tgui_alert_async(usr, "This channel was created by a [using_map.company_name] Officer. You cannot censor it.") + tgui_alert_async(ui.user, "This channel was created by a [using_map.company_name] Officer. You cannot censor it.") return if(MSG.body != "\[REDACTED\]") MSG.backup_body = MSG.body @@ -602,7 +603,7 @@ GLOBAL_LIST_BOILERPLATE(allCasters, /obj/machinery/newscaster) return FALSE var/datum/feed_channel/FC = locate(params["ref"]) if(FC.is_admin_channel) - tgui_alert_async(usr, "This channel was created by a [using_map.company_name] Officer. You cannot place a D-Notice upon it.") + tgui_alert_async(ui.user, "This channel was created by a [using_map.company_name] Officer. You cannot place a D-Notice upon it.") return FC.censored = !FC.censored FC.update() @@ -625,9 +626,9 @@ GLOBAL_LIST_BOILERPLATE(allCasters, /obj/machinery/newscaster) /datum/news_photo var/is_synth = 0 - var/obj/item/weapon/photo/photo = null + var/obj/item/photo/photo = null -/datum/news_photo/New(var/obj/item/weapon/photo/p, var/synth) +/datum/news_photo/New(var/obj/item/photo/p, var/synth) is_synth = synth photo = p @@ -639,14 +640,14 @@ GLOBAL_LIST_BOILERPLATE(allCasters, /obj/machinery/newscaster) user.put_in_inactive_hand(photo_data.photo) qdel(photo_data) - if(istype(user.get_active_hand(), /obj/item/weapon/photo)) + if(istype(user.get_active_hand(), /obj/item/photo)) var/obj/item/photo = user.get_active_hand() user.drop_item() photo.loc = src photo_data = new(photo, 0) else if(istype(user,/mob/living/silicon)) var/mob/living/silicon/tempAI = user - var/obj/item/weapon/photo/selection = tempAI.GetPicture() + var/obj/item/photo/selection = tempAI.GetPicture() if(!selection) return @@ -656,7 +657,7 @@ GLOBAL_LIST_BOILERPLATE(allCasters, /obj/machinery/newscaster) /obj/machinery/newscaster/proc/tgui_user_name(mob/user) if(ishuman(user)) var/mob/living/carbon/human/H = user - var/obj/item/weapon/card/id/I = H.GetIdCard() + var/obj/item/card/id/I = H.GetIdCard() if(I) return GetNameAndAssignmentFromId(I) @@ -669,7 +670,7 @@ GLOBAL_LIST_BOILERPLATE(allCasters, /obj/machinery/newscaster) /obj/machinery/newscaster/proc/scan_user(mob/living/user) if(istype(user,/mob/living/carbon/human)) //User is a human var/mob/living/carbon/human/human_user = user - var/obj/item/weapon/card/id/I = human_user.GetIdCard() + var/obj/item/card/id/I = human_user.GetIdCard() if(I) scanned_user = GetNameAndAssignmentFromId(I) else @@ -680,7 +681,7 @@ GLOBAL_LIST_BOILERPLATE(allCasters, /obj/machinery/newscaster) /obj/machinery/newscaster/proc/print_paper() feedback_inc("newscaster_newspapers_printed",1) - var/obj/item/weapon/newspaper/NEWSPAPER = new /obj/item/weapon/newspaper + var/obj/item/newspaper/NEWSPAPER = new /obj/item/newspaper for(var/datum/feed_channel/FC in news_network.network_channels) NEWSPAPER.news_content += FC if(news_network.wanted_issue) @@ -695,7 +696,7 @@ GLOBAL_LIST_BOILERPLATE(allCasters, /obj/machinery/newscaster) var/turf/T = get_turf(src) if(news_call) for(var/mob/O in hearers(world.view-1, T)) - O.show_message("[name] beeps, \"[news_call]\"",2) + O.show_message(span_newscaster("[name] beeps, \"[news_call]\""),2) alert = 1 update_icon() spawn(300) @@ -704,6 +705,6 @@ GLOBAL_LIST_BOILERPLATE(allCasters, /obj/machinery/newscaster) playsound(src, 'sound/machines/twobeep.ogg', 75, 1) else for(var/mob/O in hearers(world.view-1, T)) - O.show_message("[name] beeps, \"Attention! Wanted issue distributed!\"",2) + O.show_message(span_newscaster("[name] beeps, \"Attention! Wanted issue distributed!\""),2) playsound(src, 'sound/machines/warning-buzzer.ogg', 75, 1) return diff --git a/code/game/machinery/nuclear_bomb.dm b/code/game/machinery/nuclear_bomb.dm index fc942c4fa9c..3f6ec0cbe35 100644 --- a/code/game/machinery/nuclear_bomb.dm +++ b/code/game/machinery/nuclear_bomb.dm @@ -16,7 +16,7 @@ var/bomb_set var/code = "" var/yes_code = 0.0 var/safety = 1.0 - var/obj/item/weapon/disk/nuclear/auth = null + var/obj/item/disk/nuclear/auth = null var/list/wires = list() var/light_wire var/safety_wire @@ -54,7 +54,7 @@ var/bomb_set attack_hand(M) return -/obj/machinery/nuclearbomb/attackby(obj/item/weapon/O as obj, mob/user as mob) +/obj/machinery/nuclearbomb/attackby(obj/item/O as obj, mob/user as mob) if(O.has_tool_quality(TOOL_SCREWDRIVER)) playsound(src, O.usesound, 50, 1) add_fingerprint(user) @@ -78,14 +78,14 @@ var/bomb_set flick("nuclearbombc", src) return - if(O.has_tool_quality(TOOL_WIRECUTTER) || istype(O, /obj/item/device/multitool)) + if(O.has_tool_quality(TOOL_WIRECUTTER) || istype(O, /obj/item/multitool)) if(opened == 1) nukehack_win(user) return if(extended) - if(istype(O, /obj/item/weapon/disk/nuclear)) - usr.drop_item() + if(istype(O, /obj/item/disk/nuclear)) + user.drop_item() O.loc = src auth = O add_fingerprint(user) @@ -96,10 +96,10 @@ var/bomb_set if(0) if(O.has_tool_quality(TOOL_WELDER)) - var/obj/item/weapon/weldingtool/WT = O.get_welder() + var/obj/item/weldingtool/WT = O.get_welder() if(!WT.isOn()) return if(WT.get_fuel() < 5) // uses up 5 fuel. - to_chat(user, "You need more fuel to complete this task.") + to_chat(user, span_warning("You need more fuel to complete this task.")) return user.visible_message("[user] starts cutting loose the anchoring bolt covers on [src].", "You start cutting loose the anchoring bolt covers with [O]...") @@ -124,10 +124,10 @@ var/bomb_set if(2) if(O.has_tool_quality(TOOL_WELDER)) - var/obj/item/weapon/weldingtool/WT = O.get_welder() + var/obj/item/weldingtool/WT = O.get_welder() if(!WT.isOn()) return if(WT.get_fuel() < 5) // uses up 5 fuel. - to_chat(user, "You need more fuel to complete this task.") + to_chat(user, span_warning("You need more fuel to complete this task.")) return user.visible_message("[user] starts cutting apart the anchoring system sealant on [src].", "You start cutting apart the anchoring system's sealant with [O]...") @@ -165,7 +165,7 @@ var/bomb_set /obj/machinery/nuclearbomb/attack_hand(mob/user as mob) if(extended) if(!ishuman(user)) - to_chat(user, "You don't have the dexterity to do this!") + to_chat(user, span_warning("You don't have the dexterity to do this!")) return 1 user.set_machine(src) @@ -191,9 +191,9 @@ var/bomb_set else if(deployable) if(removal_stage < 5) anchored = TRUE - visible_message("With a steely snap, bolts slide out of [src] and anchor it to the flooring!") + visible_message(span_warning("With a steely snap, bolts slide out of [src] and anchor it to the flooring!")) else - visible_message("\The [src] makes a highly unpleasant crunching noise. It looks like the anchoring bolts have been cut.") + visible_message(span_warning("\The [src] makes a highly unpleasant crunching noise. It looks like the anchoring bolts have been cut.")) if(!lighthack) flick("nuclearbombc", src) icon_state = "nuclearbomb1" @@ -218,14 +218,14 @@ var/bomb_set if(!usr.canmove || usr.stat || usr.restrained()) return if(!ishuman(usr)) - to_chat(usr, "You don't have the dexterity to do this!") + to_chat(usr, span_warning("You don't have the dexterity to do this!")) return 1 if(deployable) - to_chat(usr, "You close several panels to make [src] undeployable.") + to_chat(usr, span_warning("You close several panels to make [src] undeployable.")) deployable = 0 else - to_chat(usr, "You adjust some panels to make [src] deployable.") + to_chat(usr, span_warning("You adjust some panels to make [src] deployable.")) deployable = 1 return @@ -238,7 +238,7 @@ var/bomb_set if(href_list["act"]) var/temp_wire = href_list["wire"] if(href_list["act"] == "pulse") - if(!istype(usr.get_active_hand(), /obj/item/device/multitool)) + if(!istype(usr.get_active_hand(), /obj/item/multitool)) to_chat(usr, "You need a multitool!") else if(wires[temp_wire]) @@ -254,12 +254,12 @@ var/bomb_set safety = !safety spawn(100) safety = !safety if(safety == 1) - visible_message("The [src] quiets down.") + visible_message(span_notice("The [src] quiets down.")) if(!lighthack) if(icon_state == "nuclearbomb2") icon_state = "nuclearbomb1" else - visible_message("The [src] emits a quiet whirling noise!") + visible_message(span_notice("The [src] emits a quiet whirling noise!")) if(href_list["act"] == "wire") var/obj/item/I = usr.get_active_hand() if(!I.has_tool_quality(TOOL_WIRECUTTER)) @@ -285,7 +285,7 @@ var/bomb_set auth = null else var/obj/item/I = usr.get_active_hand() - if(istype(I, /obj/item/weapon/disk/nuclear)) + if(istype(I, /obj/item/disk/nuclear)) usr.drop_item() I.loc = src auth = I @@ -314,7 +314,7 @@ var/bomb_set if(timing == -1.0) return if(safety) - to_chat(usr, "The safety is still on.") + to_chat(usr, span_warning("The safety is still on.")) return timing = !(timing) if(timing) @@ -337,14 +337,14 @@ var/bomb_set if(removal_stage == 5) anchored = FALSE - visible_message("\The [src] makes a highly unpleasant crunching noise. It looks like the anchoring bolts have been cut.") + visible_message(span_warning("\The [src] makes a highly unpleasant crunching noise. It looks like the anchoring bolts have been cut.")) return anchored = !(anchored) if(anchored) - visible_message("With a steely snap, bolts slide out of [src] and anchor it to the flooring.") + visible_message(span_warning("With a steely snap, bolts slide out of [src] and anchor it to the flooring.")) else - visible_message("The anchoring bolts slide back into the depths of [src].") + visible_message(span_warning("The anchoring bolts slide back into the depths of [src].")) add_fingerprint(usr) for(var/mob/M in viewers(1, src)) @@ -392,13 +392,13 @@ var/bomb_set ticker.station_explosion_cinematic(off_station,null) if(ticker.mode) ticker.mode.explosion_in_progress = 0 - to_world("The station was destoyed by the nuclear blast!") + to_world(span_boldannounce("The station was destoyed by the nuclear blast!")) ticker.mode.station_was_nuked = (off_station<2) //offstation==1 is a draw. the station becomes irradiated and needs to be evacuated. //kinda shit but I couldn't get permission to do what I wanted to do. if(!ticker.mode.check_finished())//If the mode does not deal with the nuke going off so just reboot because everyone is stuck as is - to_world("Resetting in 30 seconds!") + to_world(span_boldannounce("Resetting in 30 seconds!")) feedback_set_details("end_error","nuke - unhandled ending") @@ -412,16 +412,16 @@ var/bomb_set #undef NUKERANGE -/obj/item/weapon/disk/nuclear/New() +/obj/item/disk/nuclear/New() ..() nuke_disks |= src -/obj/item/weapon/disk/nuclear/Destroy() +/obj/item/disk/nuclear/Destroy() if(!nuke_disks.len && blobstart.len > 0) - var/obj/D = new /obj/item/weapon/disk/nuclear(pick(blobstart)) + var/obj/D = new /obj/item/disk/nuclear(pick(blobstart)) message_admins("[src], the last authentication disk, has been destroyed. Spawning [D] at ([D.x], [D.y], [D.z]).") log_game("[src], the last authentication disk, has been destroyed. Spawning [D] at ([D.x], [D.y], [D.z]).") ..() -/obj/item/weapon/disk/nuclear/touch_map_edge() +/obj/item/disk/nuclear/touch_map_edge() qdel(src) diff --git a/code/game/machinery/oxygen_pump.dm b/code/game/machinery/oxygen_pump.dm index f2dc3923ae2..e44d8046d06 100644 --- a/code/game/machinery/oxygen_pump.dm +++ b/code/game/machinery/oxygen_pump.dm @@ -6,11 +6,11 @@ anchored = TRUE - var/obj/item/weapon/tank/tank + var/obj/item/tank/tank var/mob/living/carbon/breather var/obj/item/clothing/mask/breath/contained - var/spawn_type = /obj/item/weapon/tank/emergency/oxygen/engi + var/spawn_type = /obj/item/tank/emergency/oxygen/engi var/mask_type = /obj/item/clothing/mask/breath/emergency var/icon_state_open = "oxygen_tank_open" var/icon_state_closed = "oxygen_tank" @@ -30,7 +30,7 @@ if(breather.internals) breather.internals.icon_state = "internal0" breather.remove_from_mob(contained) - visible_message("\The [contained] rapidly retracts just before /the [src] is destroyed!") + visible_message(span_notice("\The [contained] rapidly retracts just before /the [src] is destroyed!")) breather = null QDEL_NULL(tank) @@ -55,21 +55,21 @@ /obj/machinery/oxygen_pump/attack_hand(mob/user as mob) if((stat & MAINT) && tank) - user.visible_message("\The [user] removes \the [tank] from \the [src].", "You remove \the [tank] from \the [src].") + user.visible_message(span_infoplain(span_bold("\The [user]") + " removes \the [tank] from \the [src]."), span_notice("You remove \the [tank] from \the [src].")) user.put_in_hands(tank) src.add_fingerprint(user) tank.add_fingerprint(user) tank = null return if (!tank) - to_chat(user, "There is no tank in \the [src]!") + to_chat(user, span_warning("There is no tank in \the [src]!")) return if(breather) if(tank) tank.forceMove(src) breather.remove_from_mob(contained) contained.forceMove(src) - src.visible_message("\The [user] makes \the [contained] rapidly retract back into \the [src]!") + src.visible_message(span_infoplain(span_bold("\The [user]") + " makes \the [contained] rapidly retract back into \the [src]!")) if(breather.internals) breather.internals.icon_state = "internal0" breather = null @@ -97,60 +97,60 @@ user = target // Check target validity if(!target.organs_by_name[BP_HEAD]) - to_chat(user, "\The [target] doesn't have a head.") + to_chat(user, span_warning("\The [target] doesn't have a head.")) return if(!target.check_has_mouth()) - to_chat(user, "\The [target] doesn't have a mouth.") + to_chat(user, span_warning("\The [target] doesn't have a mouth.")) return if(target.wear_mask && target != breather) - to_chat(user, "\The [target] is already wearing a mask.") + to_chat(user, span_warning("\The [target] is already wearing a mask.")) return if(target.head && (target.head.body_parts_covered & FACE)) - to_chat(user, "Remove their [target.head] first.") + to_chat(user, span_warning("Remove their [target.head] first.")) return if(!tank) - to_chat(user, "There is no tank in \the [src].") + to_chat(user, span_warning("There is no tank in \the [src].")) return if(stat & MAINT) - to_chat(user, "Please close the maintenance hatch first.") + to_chat(user, span_warning("Please close the maintenance hatch first.")) return if(!Adjacent(target)) - to_chat(user, "Please stay close to \the [src].") + to_chat(user, span_warning("Please stay close to \the [src].")) return //when there is a breather: if(breather && target != breather) - to_chat(user, "\The pump is already in use.") + to_chat(user, span_warning("\The pump is already in use.")) return //Checking if breather is still valid if(target == breather && target.wear_mask != contained) - to_chat(user, "\The [target] is not using the supplied [contained].") + to_chat(user, span_warning("\The [target] is not using the supplied [contained].")) return return 1 -/obj/machinery/oxygen_pump/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/machinery/oxygen_pump/attackby(obj/item/W as obj, mob/user as mob) if(W.has_tool_quality(TOOL_SCREWDRIVER)) stat ^= MAINT - user.visible_message("\The [user] [(stat & MAINT) ? "opens" : "closes"] \the [src].", "You [(stat & MAINT) ? "open" : "close"] \the [src].") + user.visible_message(span_notice("\The [user] [(stat & MAINT) ? "opens" : "closes"] \the [src]."), span_notice("You [(stat & MAINT) ? "open" : "close"] \the [src].")) icon_state = (stat & MAINT) ? icon_state_open : icon_state_closed //TO-DO: Open icon - if(istype(W, /obj/item/weapon/tank) && (stat & MAINT)) + if(istype(W, /obj/item/tank) && (stat & MAINT)) if(tank) - to_chat(user, "\The [src] already has a tank installed!") + to_chat(user, span_warning("\The [src] already has a tank installed!")) else user.drop_item() W.forceMove(src) tank = W - user.visible_message("\The [user] installs \the [tank] into \the [src].", "You install \the [tank] into \the [src].") + user.visible_message(span_infoplain(span_bold("\The [user]") + " installs \the [tank] into \the [src]."), span_notice("You install \the [tank] into \the [src].")) src.add_fingerprint(user) - if(istype(W, /obj/item/weapon/tank) && !stat) - to_chat(user, "Please open the maintenance hatch first.") + if(istype(W, /obj/item/tank) && !stat) + to_chat(user, span_warning("Please open the maintenance hatch first.")) /obj/machinery/oxygen_pump/examine(var/mob/user) . = ..() if(tank) . += "The meter shows [round(tank.air_contents.return_pressure())] kPa." else - . += "It is missing a tank!" + . += span_warning("It is missing a tank!") /obj/machinery/oxygen_pump/process() @@ -160,7 +160,7 @@ tank.forceMove(src) breather.remove_from_mob(contained) contained.forceMove(src) - src.visible_message("\The [contained] rapidly retracts back into \the [src]!") + src.visible_message(span_notice("\The [contained] rapidly retracts back into \the [src]!")) breather = null update_use_power(USE_POWER_IDLE) else if(!breather.internal && tank) @@ -177,7 +177,7 @@ /obj/machinery/oxygen_pump/tgui_interact(mob/user, datum/tgui/ui, datum/tgui/parent_ui) if(!tank) - to_chat(user, "[src] is missing a tank.") + to_chat(user, span_warning("[src] is missing a tank.")) if(ui) ui.close() return @@ -231,7 +231,7 @@ /obj/machinery/oxygen_pump/anesthetic name = "anesthetic pump" desc = "A wall mounted anesthetic pump with a retractable mask that someone can pull over your face to knock you out." - spawn_type = /obj/item/weapon/tank/anesthetic + spawn_type = /obj/item/tank/anesthetic icon_state = "anesthetic_tank" icon_state_closed = "anesthetic_tank" icon_state_open = "anesthetic_tank_open" @@ -267,7 +267,7 @@ /obj/machinery/oxygen_pump/mobile/anesthetic name = "portable anesthetic pump" desc = "A portable anesthetic pump with a retractable mask that someone can pull over your face to knock you out." - spawn_type = /obj/item/weapon/tank/anesthetic + spawn_type = /obj/item/tank/anesthetic icon_state = "medpump_n2o" icon_state_closed = "medpump_n2o" icon_state_open = "medpump_n2o_open" @@ -284,7 +284,7 @@ tank.forceMove(src) breather.remove_from_mob(contained) contained.forceMove(src) - src.visible_message("\The [contained] rapidly retracts back into \the [src]!") + src.visible_message(span_notice("\The [contained] rapidly retracts back into \the [src]!")) breather = null update_use_power(USE_POWER_IDLE) else if(!breather.internal && tank) diff --git a/code/game/machinery/painter_vr.dm b/code/game/machinery/painter_vr.dm index 53614b2f904..aaf4d632cf9 100644 --- a/code/game/machinery/painter_vr.dm +++ b/code/game/machinery/painter_vr.dm @@ -27,8 +27,8 @@ var/list/allowed_types = list( /obj/item/clothing, - /obj/item/weapon/storage/backpack, - /obj/item/weapon/storage/belt, + /obj/item/storage/backpack, + /obj/item/storage/belt, /obj/item/toy ) @@ -58,7 +58,7 @@ /obj/machinery/gear_painter/attackby(obj/item/I, mob/living/user) if(inserted) - to_chat(user, SPAN_WARNING("The machine is already loaded.")) + to_chat(user, span_warning("The machine is already loaded.")) return if(default_deconstruction_screwdriver(user, I)) return @@ -68,7 +68,7 @@ return if(is_type_in_list(I, allowed_types) && !inoperable()) - user.visible_message("[user] inserts \the [I] into the Color Mate receptable.") + user.visible_message(span_notice("[user] inserts \the [I] into the Color Mate receptable.")) user.drop_from_inventory(I) I.forceMove(src) inserted = I @@ -92,7 +92,7 @@ if(inserted) return if(user) - visible_message(SPAN_WARNING("[user] stuffs [victim] into [src]!")) + visible_message(span_warning("[user] stuffs [victim] into [src]!")) inserted = victim inserted.forceMove(src) @@ -106,17 +106,16 @@ /obj/machinery/gear_painter/AltClick(mob/user) . = ..() - drop_item() + drop_item(user) -/obj/machinery/gear_painter/proc/drop_item() +/obj/machinery/gear_painter/proc/drop_item(var/mob/user) if(!oview(1,src)) return if(!inserted) return - to_chat(usr, SPAN_NOTICE("You remove [inserted] from [src]")) + to_chat(user, span_notice("You remove [inserted] from [src]")) inserted.forceMove(drop_location()) - var/mob/living/user = usr - if(istype(user)) + if(isliving(user)) user.put_in_hands(inserted) inserted = null update_icon() @@ -155,11 +154,11 @@ .["item"] = list() .["item"]["name"] = inserted.name .["item"]["sprite"] = icon2base64(get_flat_icon(inserted,dir=SOUTH,no_anim=TRUE)) - .["item"]["preview"] = icon2base64(build_preview()) + .["item"]["preview"] = icon2base64(build_preview(user)) else .["item"] = null -/obj/machinery/gear_painter/tgui_act(action, params) +/obj/machinery/gear_painter/tgui_act(action, params, datum/tgui/ui) . = ..() if(.) return @@ -169,17 +168,17 @@ active_mode = text2num(params["mode"]) return TRUE if("choose_color") - var/chosen_color = input(usr, "Choose a color: ", "ColorMate colour picking", activecolor) as color|null + var/chosen_color = input(ui.user, "Choose a color: ", "ColorMate colour picking", activecolor) as color|null if(chosen_color) activecolor = chosen_color return TRUE if("paint") - do_paint(usr) + do_paint(ui.user) temp = "Painted Successfully!" return TRUE if("drop") temp = "" - drop_item() + drop_item(ui.user) return TRUE if("clear") inserted.remove_atom_colour(FIXED_COLOUR_PRIORITY) @@ -189,6 +188,16 @@ if("set_matrix_color") color_matrix_last[params["color"]] = params["value"] return TRUE + if("set_matrix_string") + if(params["value"]) + var/list/colours = splittext(params["value"], ",") + if(colours.len > 12) + colours.Cut(13) + for(var/i = 1, i <= colours.len, i++) + var/number = text2num(colours[i]) + if(isnum(number)) + color_matrix_last[i] = clamp(number, -10, 10) + return TRUE if("set_hue") build_hue = clamp(text2num(params["buildhue"]), 0, 360) return TRUE @@ -224,7 +233,7 @@ color_to_use = color_matrix_hsv(build_hue, build_sat, build_val) color_matrix_last = color_to_use if(!color_to_use || !check_valid_color(color_to_use, user)) - to_chat(user, SPAN_NOTICE("Invalid color.")) + to_chat(user, span_notice("Invalid color.")) return FALSE inserted.add_atom_colour(color_to_use, FIXED_COLOUR_PRIORITY) playsound(src, 'sound/effects/spray3.ogg', 50, 1) @@ -232,7 +241,7 @@ /// Produces the preview image of the item, used in the UI, the way the color is not stacking is a sin. -/obj/machinery/gear_painter/proc/build_preview() +/obj/machinery/gear_painter/proc/build_preview(mob/user) if(inserted) //sanity var/list/cm switch(active_mode) @@ -251,17 +260,17 @@ text2num(color_matrix_last[11]), text2num(color_matrix_last[12]), ) - if(!check_valid_color(cm, usr)) + if(!check_valid_color(cm, user)) return get_flat_icon(inserted, dir=SOUTH, no_anim=TRUE) if(COLORMATE_TINT) - if(!check_valid_color(activecolor, usr)) + if(!check_valid_color(activecolor, user)) return get_flat_icon(inserted, dir=SOUTH, no_anim=TRUE) if(COLORMATE_HSV) cm = color_matrix_hsv(build_hue, build_sat, build_val) color_matrix_last = cm - if(!check_valid_color(cm, usr)) + if(!check_valid_color(cm, user)) return get_flat_icon(inserted, dir=SOUTH, no_anim=TRUE) var/cur_color = inserted.color diff --git a/code/game/machinery/pandemic.dm b/code/game/machinery/pandemic.dm new file mode 100644 index 00000000000..a3521facbf6 --- /dev/null +++ b/code/game/machinery/pandemic.dm @@ -0,0 +1,378 @@ +/obj/machinery/computer/pandemic + name = "PanD.E.M.I.C 2200" + desc = "Used to work with viruses." + circuit = /obj/item/circuitboard/pandemic + density = TRUE + anchored = TRUE + icon = 'icons/obj/pandemic.dmi' + icon_state = "pandemic0" + var/temp_html = "" + var/printing = null + var/wait = null + var/selected_strain_index = 1 + var/obj/item/reagent_containers/beaker = null + +/obj/machinery/computer/pandemic/Initialize(mapload) + . = ..() + update_icon() + +/obj/machinery/computer/pandemic/set_broken() + stat |= BROKEN + update_icon() + +/obj/machinery/computer/pandemic/proc/GetViruses() + if(beaker && beaker.reagents) + if(length(beaker.reagents.reagent_list)) + var/datum/reagent/blood/BL = locate() in beaker.reagents.reagent_list + if(BL) + if(BL.data && BL.data["viruses"]) + var/list/viruses = BL.data["viruses"] + return viruses + +/obj/machinery/computer/pandemic/proc/GetVirusByIndex(index) + var/list/viruses = GetViruses() + if(viruses && index > 0 && index <= length(viruses)) + return viruses[index] + +/obj/machinery/computer/pandemic/proc/GetResistances() + if(beaker && beaker.reagents) + if(length(beaker.reagents.reagent_list)) + var/datum/reagent/blood/BL = locate() in beaker.reagents.reagent_list + if(BL) + if(BL.data && BL.data["resistances"]) + var/list/resistances = BL.data["resistances"] + return resistances + +/obj/machinery/computer/pandemic/proc/GetResistancesByIndex(index) + var/list/resistances = GetResistances() + if(resistances && index > 0 && index <= length(resistances)) + return resistances[index] + +/obj/machinery/computer/pandemic/proc/GetVirusTypeByIndex(index) + var/datum/disease/D = GetVirusByIndex(index) + if(D) + return D.GetDiseaseID() + +/obj/machinery/computer/pandemic/proc/replicator_cooldown(waittime) + wait = 1 + update_icon() + spawn(waittime) + wait = null + update_icon() + playsound(loc, 'sound/machines/ping.ogg', 30, 1) + +/obj/machinery/computer/pandemic/update_icon() + if(stat & BROKEN) + icon_state = (beaker ? "pandemic1_b" : "pandemic0_b") + return + icon_state = "pandemic[(beaker)?"1":"0"][!(stat & NOPOWER) ? "" : "_nopower"]" + +/obj/machinery/computer/pandemic/proc/create_culture(name, bottle_type = "culture", cooldown = 50) + var/obj/item/reagent_containers/glass/bottle/B = new/obj/item/reagent_containers/glass/bottle(loc) + B.icon_state = "bottle10" + B.pixel_x = rand(-3, 3) + B.pixel_y = rand(-3, 3) + replicator_cooldown(cooldown) + B.name = "[name] [bottle_type] bottle" + return B + +/obj/machinery/computer/pandemic/tgui_act(action, params, datum/tgui/ui, datum/tgui_state/state) + if(..()) + return + if(inoperable()) + return + + . = TRUE + + switch(action) + if("clone_strain") + if(wait) + atom_say("The replicator is not ready yet.") + return + + var/strain_index = text2num(params["strain_index"]) + if(isnull(strain_index)) + atom_say("Unable to respond to command.") + return + var/datum/disease/virus = GetVirusByIndex(strain_index) + var/datum/disease/D = null + if(!virus) + atom_say("Unable to find requested strain.") + return + var/type = virus.GetDiseaseID() + if(!ispath(type)) + var/datum/disease/advance/A = GLOB.archive_diseases[type] + if(A) + D = new A.type(0, A) + else if(type) + if(type in GLOB.diseases) // Make sure this is a disease + D = new type(0, null) + if(!D) + atom_say("Unable to synthesize requested strain.") + return + var/default_name = "" + if(D.name == "Unknown" || D.name == "") + default_name = replacetext(beaker.name, new/regex(" culture bottle\\Z", "g"), "") + else + default_name = D.name + var/name = tgui_input_text(ui.user, "Name:", "Name the culture", default_name, MAX_NAME_LEN) + if(name == null || wait) + return + var/obj/item/reagent_containers/glass/bottle/B = create_culture(name) + B.desc = "A small bottle. Contains [D.agent] culture in synthblood medium." + B.reagents.add_reagent("blood", 20, list("viruses" = list(D))) + if("clone_vaccine") + if(wait) + atom_say("The replicator is not ready yet.") + return + + var/resistance_index = text2num(params["resistance_index"]) + if(isnull(resistance_index)) + atom_say("Unable to find requested antibody.") + return + var/vaccine_type = GetResistancesByIndex(resistance_index) + var/vaccine_name = "Unknown" + if(!ispath(vaccine_type)) + if(GLOB.archive_diseases[vaccine_type]) + var/datum/disease/D = GLOB.archive_diseases[vaccine_type] + if(D) + vaccine_name = D.name + else if(vaccine_type) + var/datum/disease/D = new vaccine_type(0, null) + if(D) + vaccine_name = D.name + + if(!vaccine_type) + atom_say("Unable to synthesize requested antibody.") + return + + var/obj/item/reagent_containers/glass/bottle/B = create_culture(vaccine_name, "vaccine", 200) + B.reagents.add_reagent("vaccine", 15, list(vaccine_type)) + if("eject_beaker") + eject_beaker() + update_tgui_static_data(ui.user) + if("destroy_eject_beaker") + beaker.reagents.clear_reagents() + eject_beaker() + update_tgui_static_data(ui.user) + if("print_release_forms") + var/strain_index = text2num(params["strain_index"]) + if(isnull(strain_index)) + atom_say("Unable to respond to command.") + return + var/type = GetVirusTypeByIndex(strain_index) + if(!type) + atom_say("Unable to find requested strain.") + return + var/datum/disease/advance/A = GLOB.archive_diseases[type] + if(!A) + atom_say("Unable to find requested strain.") + return + print_form(A, ui.user) + if("name_strain") + var/strain_index = text2num(params["strain_index"]) + if(isnull(strain_index)) + atom_say("Unable to respond to command.") + return + var/type = GetVirusTypeByIndex(strain_index) + if(!type) + atom_say("Unable to find requested strain.") + return + var/datum/disease/advance/A = GLOB.archive_diseases[type] + if(!A) + atom_say("Unable to find requested strain.") + return + if(A.name != "Unknown") + atom_say("Request rejected. Strain already has a name.") + return + var/new_name = tgui_input_text(ui.user, "Name the Strain", "New Name", max_length = MAX_NAME_LEN) + if(!new_name) + return + A.AssignName(new_name) + for(var/datum/disease/advance/AD in active_diseases) + AD.Refresh() + update_tgui_static_data(ui.user) + if("switch_strain") + var/strain_index = text2num(params["strain_index"]) + if(isnull(strain_index) || strain_index < 1) + atom_say("Unable to respond to command.") + return + var/list/viruses = GetViruses() + if(strain_index > length(viruses)) + atom_say("Unable to find requested strain.") + return + selected_strain_index = strain_index; + else + return FALSE + +/obj/machinery/computer/pandemic/tgui_state(mob/user) + return GLOB.tgui_default_state + +/obj/machinery/computer/pandemic/tgui_interact(mob/user, datum/tgui/ui, datum/tgui/parent_ui = null) + ui = SStgui.try_update_ui(user, src, ui) + if(!ui) + ui = new(user, src, "PanDEMIC", name) + ui.open() + +/obj/machinery/computer/pandemic/tgui_data(mob/user) + var/datum/reagent/blood/Blood = null + if(beaker) + var/datum/reagents/R = beaker.reagents + for(var/datum/reagent/blood/B in R.reagent_list) + if(B) + Blood = B + break + + var/list/data = list( + "synthesisCooldown" = wait ? TRUE : FALSE, + "beakerLoaded" = beaker ? TRUE : FALSE, + "beakerContainsBlood" = Blood ? TRUE : FALSE, + "beakerContainsVirus" = length(Blood?.data["viruses"]) != 0, + "selectedStrainIndex" = selected_strain_index, + ) + + return data + +/obj/machinery/computer/pandemic/tgui_static_data(mob/user) + var/list/data = list() + . = data + + var/datum/reagent/blood/Blood = null + if(beaker) + var/datum/reagents/R = beaker.reagents + for(var/datum/reagent/blood/B in R.reagent_list) + if(B) + Blood = B + break + + var/list/strains = list() + for(var/datum/disease/D in GetViruses()) + if(D.visibility_flags & HIDDEN_PANDEMIC) + continue + + var/list/symptoms = list() + if(istype(D, /datum/disease/advance)) + var/datum/disease/advance/A = D + D = GLOB.archive_diseases[A.GetDiseaseID()] + if(!D) + CRASH("We weren't able to get the advance disease from the archive.") + for(var/datum/symptom/S in A.symptoms) + symptoms += list(list( + "name" = S.name, + "stealth" = S.stealth, + "resistance" = S.resistance, + "stageSpeed" = S.stage_speed, + "transmissibility" = S.transmittable, + "complexity" = S.level, + )) + + strains += list(list( + "commonName" = D.name, + "description" = D.desc, + "bloodDNA" = Blood.data["blood_DNA"], + "bloodType" = Blood.data["blood_type"], + "diseaseAgent" = D.agent, + "possibleTreatments" = D.cure_text, + "transmissionRoute" = D.spread_text, + "symptoms" = symptoms, + "isAdvanced" = istype(D, /datum/disease/advance), + )) + data["strains"] = strains + + var/list/resistances = list() + for(var/resistance in GetResistances()) + if(!ispath(resistance)) + var/datum/disease/D = GLOB.archive_diseases[resistance] + if(D) + resistances += list(D.name) + else if(resistance) + var/datum/disease/D = new resistance(0, null) + if(D) + resistances += list(D.name) + data["resistances"] = resistances + +/obj/machinery/computer/pandemic/proc/eject_beaker() + set name = "Eject Beaker" + set category = "Object" + set src in oview(1) + + if(usr.stat != 0) + return + + beaker.forceMove(loc) + beaker = null + icon_state = "pandemic0" + selected_strain_index = 1 + +/obj/machinery/computer/pandemic/proc/print_form(datum/disease/advance/D, mob/living/user) + D = GLOB.archive_diseases[D.GetDiseaseID()] + if(!(printing) && D) + var/reason = tgui_input_text(user,"Enter a reason for the release", "Write", multiline = TRUE) + if(!reason) + return + reason += "" + var/english_symptoms = list() + for(var/I in D.symptoms) + var/datum/symptom/S = I + english_symptoms += S.name + var/symtoms = english_list(english_symptoms) + + var/signature + if(tgui_alert(user, "Would you like to add your signature?", "Signature", list("Yes","No")) == "Yes") + signature = "[user ? user.real_name : "Anonymous"]" + else + signature = "" + + printing = 1 + var/obj/item/paper/P = new /obj/item/paper(loc) + visible_message(span_notice("[src] rattles and prints out a sheet of paper.")) + playsound(loc, 'sound/machines/printer.ogg', 50, 1) + + P.info = "
Releasing Virus
" + P.info += "
" + P.info += "Name of the Virus: [D.name]
" + P.info += "Symptoms: [symtoms]
" + P.info += "Spreads by: [D.spread_text]
" + P.info += "Cured by: [D.cure_text]
" + P.info += "
" + P.info += "Reason for releasing: [reason]" + P.info += "
" + P.info += "The Virologist is responsible for any biohazards caused by the virus released.
" + P.info += "Virologist's sign: [signature]
" + P.info += "If approved, stamp below with the Chief Medical Officer's stamp, and/or the Captain's stamp if required:" + P.updateinfolinks() + P.name = "Releasing Virus - [D.name]" + printing = null + +/obj/machinery/computer/pandemic/attack_ai(mob/user) + return attack_hand(user) + +/obj/machinery/computer/pandemic/attack_hand(mob/user) + if(..()) + return + tgui_interact(user) + +/obj/machinery/computer/pandemic/attack_ghost(mob/user) + tgui_interact(user) + +/obj/machinery/computer/pandemic/attackby(obj/item/I, mob/user, params) + if(default_unfasten_wrench(user, I, 4 SECONDS)) + return + if(I.has_tool_quality(TOOL_SCREWDRIVER)) + eject_beaker() + return + if(istype(I, /obj/item/reagent_containers/glass) && I.is_open_container()) + if(stat & (NOPOWER|BROKEN)) + return + if(beaker) + to_chat(user, span_warning("A beaker is already loaded into the machine!")) + return + + user.drop_item() + beaker = I + beaker.loc = src + to_chat(user, span_notice("You add the beaker to the machine.")) + update_tgui_static_data(user) + icon_state = "pandemic1" + else + return ..() diff --git a/code/game/machinery/partslathe_vr.dm b/code/game/machinery/partslathe_vr.dm index aef7fc1ee34..0314d6b1b9b 100644 --- a/code/game/machinery/partslathe_vr.dm +++ b/code/game/machinery/partslathe_vr.dm @@ -20,7 +20,7 @@ name = "parts lathe" icon = 'icons/obj/partslathe_vr.dmi' icon_state = "partslathe-idle" - circuit = /obj/item/weapon/circuitboard/partslathe + circuit = /obj/item/circuitboard/partslathe anchored = TRUE density = TRUE use_power = USE_POWER_IDLE @@ -31,7 +31,7 @@ var/list/materials = list(MAT_STEEL = 0, MAT_GLASS = 0) var/list/storage_capacity = list(MAT_STEEL = 0, MAT_GLASS = 0) - var/obj/item/weapon/circuitboard/copy_board // Inserted board + var/obj/item/circuitboard/copy_board // Inserted board var/list/datum/category_item/partslathe/queue = list() // Queue of things to build var/busy = 0 // Currently building stuff y/n @@ -59,12 +59,12 @@ /obj/machinery/partslathe/RefreshParts() var/mb_rating = 0 - for(var/obj/item/weapon/stock_parts/matter_bin/M in component_parts) + for(var/obj/item/stock_parts/matter_bin/M in component_parts) mb_rating += M.rating storage_capacity[MAT_STEEL] = mb_rating * 16000 storage_capacity["glass"] = mb_rating * 8000 var/T = 0 - for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts) + for(var/obj/item/stock_parts/manipulator/M in component_parts) T += M.rating mat_efficiency = 6 / T // Ranges from 3.0 to 1.0 speed = T / 2 // Ranges from 1.0 to 3.0 @@ -88,7 +88,7 @@ /obj/machinery/partslathe/attackby(var/obj/item/O as obj, var/mob/user as mob) if(busy) - to_chat(user, "\The [src] is busy. Please wait for completion of previous operation.") + to_chat(user, span_notice("\The [src] is busy. Please wait for completion of previous operation.")) return 1 if(default_deconstruction_screwdriver(user, O)) return @@ -99,23 +99,23 @@ if(inoperable()) return if(panel_open) - to_chat(user, "You can't load \the [src] while it's opened.") + to_chat(user, span_notice("You can't load \the [src] while it's opened.")) return - if(istype(O, /obj/item/weapon/circuitboard)) + if(istype(O, /obj/item/circuitboard)) if(copy_board) - to_chat(user, "There is already a board inserted in \the [src].") + to_chat(user, span_warning("There is already a board inserted in \the [src].")) return if(!user.unEquip(O)) return copy_board = O O.forceMove(src) - user.visible_message("[user] inserts [O] into \the [src]'s circuit reader.", "You insert [O] into \the [src]'s circuit reader.") + user.visible_message("[user] inserts [O] into \the [src]'s circuit reader.", span_notice("You insert [O] into \the [src]'s circuit reader.")) updateUsrDialog() return if(try_load_materials(user, O)) return else - to_chat(user, "You cannot insert this item into \the [src]!") + to_chat(user, span_notice("You cannot insert this item into \the [src]!")) return // Attept to load materials. Returns 0 if item wasn't a stack of materials, otherwise 1 (even if failed to load) @@ -123,7 +123,7 @@ if(!istype(S)) return 0 if(!(S.material.name in materials)) - to_chat(user, "The [src] doesn't accept [S.material]!") + to_chat(user, span_warning("The [src] doesn't accept [S.material]!")) return 1 if(S.get_amount() < 1) return 1 // Does this even happen? Sanity check I guess. @@ -134,11 +134,11 @@ materials[S.material.name] += S.perunit S.use(1) count++ - user.visible_message("[user] inserts [S.name] into \the [src].", "You insert [count] [S.name] into \the [src].") + user.visible_message("[user] inserts [S.name] into \the [src].", span_notice("You insert [count] [S.name] into \the [src].")) flick("partslathe-load-[S.material.name]", src) updateUsrDialog() else - to_chat(user, "\The [src] cannot hold more [S.name].") + to_chat(user, span_warning("\The [src] cannot hold more [S.name].")) return 1 /obj/machinery/partslathe/process() @@ -163,7 +163,7 @@ removeFromQueue(1) update_icon() else if(busy) - visible_message("[icon2html(src,viewers(src))] flashes: insufficient materials: [getLackingMaterials(D)].") + visible_message(span_notice("[icon2html(src,viewers(src))] flashes: insufficient materials: [getLackingMaterials(D)].")) busy = 0 update_use_power(USE_POWER_IDLE) update_icon() @@ -174,8 +174,9 @@ return /obj/machinery/partslathe/proc/removeFromQueue(var/index) - queue.Cut(index, index + 1) - return + if(queue.len >= index) + queue.Cut(index, index + 1) + return /obj/machinery/partslathe/proc/canBuild(var/datum/category_item/partslathe/D) for(var/M in D.resources) @@ -296,7 +297,7 @@ if(..()) return TRUE - add_fingerprint(usr) + add_fingerprint(ui.user) switch(action) // Queue management can be done even while busy if("queue") @@ -330,13 +331,13 @@ return TRUE if(busy) - to_chat(usr, "[src] is busy. Please wait for completion of previous operation.") + to_chat(ui.user, span_notice("[src] is busy. Please wait for completion of previous operation.")) return switch(action) if("ejectBoard") if(copy_board) - visible_message("[copy_board] is ejected from [src]'s circuit reader.") + visible_message(span_notice("[copy_board] is ejected from [src]'s circuit reader.")) copy_board.forceMove(src.loc) copy_board = null return TRUE @@ -352,9 +353,9 @@ /obj/machinery/partslathe/proc/update_recipe_list() if(!partslathe_recipies) partslathe_recipies = list() - var/list/paths = subtypesof(/obj/item/weapon/stock_parts) + var/list/paths = subtypesof(/obj/item/stock_parts) for(var/type in paths) - var/obj/item/weapon/stock_parts/I = new type() + var/obj/item/stock_parts/I = new type() if(getHighestOriginTechLevel(I) > 1) qdel(I) continue // Ignore high-tech parts diff --git a/code/game/machinery/pda_multicaster.dm b/code/game/machinery/pda_multicaster.dm index d8a75ebedcd..a26f25e2193 100644 --- a/code/game/machinery/pda_multicaster.dm +++ b/code/game/machinery/pda_multicaster.dm @@ -5,7 +5,7 @@ icon_state = "pdamulti" density = TRUE anchored = TRUE - circuit = /obj/item/weapon/circuitboard/telecomms/pda_multicaster + circuit = /obj/item/circuitboard/telecomms/pda_multicaster use_power = USE_POWER_IDLE idle_power_usage = 750 var/on = 1 // If we're currently active, @@ -14,14 +14,14 @@ /obj/machinery/pda_multicaster/New() ..() - internal_PDAs = list("command" = new /obj/item/device/pda/multicaster/command(src), - "security" = new /obj/item/device/pda/multicaster/security(src), - "engineering" = new /obj/item/device/pda/multicaster/engineering(src), - "medical" = new /obj/item/device/pda/multicaster/medical(src), - "research" = new /obj/item/device/pda/multicaster/research(src), - "exploration" = new /obj/item/device/pda/multicaster/exploration(src), //VOREStation Add, - "cargo" = new /obj/item/device/pda/multicaster/cargo(src), - "civilian" = new /obj/item/device/pda/multicaster/civilian(src)) + internal_PDAs = list("command" = new /obj/item/pda/multicaster/command(src), + "security" = new /obj/item/pda/multicaster/security(src), + "engineering" = new /obj/item/pda/multicaster/engineering(src), + "medical" = new /obj/item/pda/multicaster/medical(src), + "research" = new /obj/item/pda/multicaster/research(src), + "exploration" = new /obj/item/pda/multicaster/exploration(src), //VOREStation Add, + "cargo" = new /obj/item/pda/multicaster/cargo(src), + "civilian" = new /obj/item/pda/multicaster/civilian(src)) /obj/machinery/pda_multicaster/prebuilt/Initialize() . = ..() @@ -57,12 +57,12 @@ visible_message("\the [user] turns \the [src] [toggle ? "on" : "off"].") update_power() if(!toggle) - var/msg = "[usr.client.key] ([usr]) has turned [src] off, at [x],[y],[z]." + var/msg = "[user.client.key] ([user]) has turned [src] off, at [x],[y],[z]." message_admins(msg) log_game(msg) /obj/machinery/pda_multicaster/proc/update_PDAs(var/turn_off) - for(var/obj/item/device/pda/pda in contents) + for(var/obj/item/pda/pda in contents) var/datum/data/pda/app/messenger/M = pda.find_program(/datum/data/pda/app/messenger/multicast) if(M) M.toff = turn_off diff --git a/code/game/machinery/petrification.dm b/code/game/machinery/petrification.dm new file mode 100644 index 00000000000..5b061e80068 --- /dev/null +++ b/code/game/machinery/petrification.dm @@ -0,0 +1,254 @@ +/obj/machinery/petrification + name = "odd interface" + desc = "An odd looking machine with an interface, some buttons and a tiny keyboard on the side." + icon = 'icons/obj/machines/petrification.dmi' + icon_state = "petrification" + + idle_power_usage = 100 + active_power_usage = 1000 + use_power = USE_POWER_IDLE + anchored = TRUE + unacidable = TRUE + dir = EAST + var/material = "stone" + var/identifier = "statue" + var/adjective = "hardens" + var/tint = "#ffffff" + var/able_to_unpetrify = TRUE + var/discard_clothes = TRUE + var/mob/living/carbon/human/target + var/list/remotes = list() + +/obj/machinery/petrification/New() + . = ..() + if(!pixel_x && !pixel_y) + pixel_x = (dir & 3) ? 0 : (dir == 4 ? 26 : -26) + pixel_y = (dir & 3) ? (dir == 1 ? 26 : -26) : 0 + +/obj/machinery/petrification/proc/get_viable_targets() + var/list/targets = list() + //dir is the opposite of whichever direction we want to scan + var/turf/center + center = get_step(src, turn(dir, 180)) + if (!center) + return + //square of 3x3 in front of the device + for (var/n = center.x-1; n <= center.x+1; n++) + for (var/m = center.y-1; m <= center.y+1; m++) + var/turf/T = locate(n,m,z) + if (!isturf(T)) + continue + for (var/mob/living/carbon/human/H in T) + if (H.stat == DEAD) + continue + var/option = "[H]["[H]" != H.real_name ? " ([H.real_name])" : ""]" + var/r = 1 + if (option in targets) + while ("[option] ([r])" in targets) + r += 1 + option = "[option] ([r])" + targets[option] = H + return targets + +/obj/machinery/petrification/proc/is_valid_target(var/mob/living/carbon/human/H) + if (QDELETED(H) || !istype(H) || !H.client) + return FALSE + var/turf/T = H.loc + if (!isturf(T)) + return FALSE + var/turf/center + center = get_step(get_turf(src), turn(dir, 180)) + if (!center) + return + if (T.z != z || T.x > center.x + 1 || T.x < center.x - 1 || T.y > center.y + 1 || T.y < center.y - 1) + return FALSE + return TRUE + +/obj/machinery/petrification/proc/popup_msg(var/mob/user, var/message, var/notice = TRUE) + if (notice) + message = "A notice pops up on the interface: \"[message]\"" + if (target) + to_chat(user, span_notice("[message]")) + +/obj/machinery/petrification/proc/petrify(var/mob/user, var/obj/item/petrifier/petrifier = null) + . = FALSE + var/mat = material + var/idt = identifier + var/adj = adjective + var/tnt = tint + var/can_unpetrify = able_to_unpetrify + var/no_clothes = discard_clothes + var/mob/living/carbon/human/statue = target + if (petrifier && istype(petrifier)) + mat = petrifier.material + idt = petrifier.identifier + adj = petrifier.adjective + tnt = petrifier.tint + can_unpetrify = petrifier.able_to_unpetrify + no_clothes = petrifier.discard_clothes + statue = petrifier.target + if (QDELETED(statue) || !istype(statue)) + popup_msg(user, "Invalid target.") + return + if (statue.stat == DEAD) + popup_msg(user, "The target must be alive.") + return + if (!statue.client) + popup_msg(user, "The target must be capable of conscious thought.") + return + if (!istext(mat) || !istext(idt) || !istext(adj) || !istext(tnt)) + popup_msg(user, "Invalid options.") + var/turf/T = statue.loc + if (!istype(T)) + popup_msg(user, "They must be visible to the [petrifier ? "device" : "machine"].") + if (!petrifier) + var/turf/center = get_step(get_turf(src), turn(dir, 180)) + if (!center) + return + if (T.z != z || T.x > center.x + 1 || T.x < center.x - 1 || T.y > center.y + 1 || T.y < center.y - 1) + popup_msg(user, "They are out of range. They must be standing within a 3x3 square in front of the machine.") + return + else + var/turf/center = get_turf(petrifier) + if (!center) + return + if (T.z != center.z || get_dist(center, T) > 4) + popup_msg(user, "They are out of range. They must be standing within 4 tiles of the device.") + return + var/datum/component/gargoyle/comp = statue.GetComponent(/datum/component/gargoyle) + if (no_clothes) + for(var/obj/item/W in statue) + if(istype(W, /obj/item/implant/backup) || istype(W, /obj/item/nif)) + continue + statue.drop_from_inventory(W) + + var/obj/structure/gargoyle/G = new(T, statue, idt, mat, adj, tnt, can_unpetrify, no_clothes) + G.was_rayed = TRUE + + if (can_unpetrify) + add_verb(statue,/mob/living/carbon/human/proc/gargoyle_transformation) + comp?.cooldown = 0 + else + remove_verb(statue,/mob/living/carbon/human/proc/gargoyle_transformation) + remove_verb(statue,/mob/living/carbon/human/proc/gargoyle_pause) + remove_verb(statue,/mob/living/carbon/human/proc/gargoyle_checkenergy) + comp?.cooldown = INFINITY + + if (!petrifier) + visible_message(span_notice("A ray of purple light streams out of \the [src], aimed directly at [statue]. Everywhere the light touches on them quickly [adj] into [mat].")) + SStgui.update_uis(src) + return TRUE + +/obj/machinery/petrification/attack_hand(var/mob/user as mob) + if(..()) + return + user.set_machine(src) + tgui_interact(user) + +/obj/machinery/petrification/tgui_interact(mob/user, datum/tgui/ui = null) + ui = SStgui.try_update_ui(user, src, ui) + if(!ui) + ui = new(user, src, "PetrificationInterface", name) + ui.open() + +/obj/machinery/petrification/tgui_data(mob/user) + var/list/data = list() + data["material"] = material + data["identifier"] = identifier + data["adjective"] = adjective + data["tint"] = tint + var/list/h = rgb2num(tint) + data["t"] = ((h[1]*0.299)+(h[2]*0.587)+(h[3]*0.114)) > 102 //0.4 luminance + data["target"] = "[target ? target : "None"]" + data["able_to_unpetrify"] = able_to_unpetrify + data["discard_clothes"] = discard_clothes + data["can_remote"] = is_valid_target(target) && istext(material) && istext(identifier) && istext(adjective) && istext(tint) + return data + +/obj/machinery/petrification/proc/set_input(var/option, mob/user) + var/list/only_these = list("tint","material","identifier","adjective","able_to_unpetrify","discard_clothes","target") + if (!(option in only_these)) + return + switch(option) + if("tint") + var/new_color = input(user, "Choose the color for the [identifier] to be:", "Statue color", tint) as color|null + if (new_color) + tint = new_color + if("material","identifier","adjective") + var/input = tgui_input_text(user, "What should the [option] be?", "Statue [option]", vars[option], MAX_NAME_LEN) + input = sanitizeSafe(input, 25) + if (length(input) <= 0) + return + if (option == "adjective") + if (copytext_char(input, -1) != "s") + switch(copytext_char(input, -2)) + if ("ss") + input += "es" + if ("sh") + input += "es" + if ("ch") + input += "es" + else + switch(copytext_char(input, -1)) + if("s", "x", "z") + input += "es" + else + input += "s" + vars[option] = input + if("able_to_unpetrify", "discard_clothes") + vars[option] = !vars[option] + if("target") + var/list/targets = get_viable_targets() + if (!length(targets)) + popup_msg(user, "No targets within range. Make sure there is a humanoid being within a 3x3 metre square in front of the interface.") + return + var/selected = input(user, "Choose the target.", "Petrification Target") as null|anything in targets + if (selected && ishuman(targets[selected]) && is_valid_target(targets[selected])) + var/confirmation = tgui_alert(targets[selected], "You have been selected as a petrification target. If you press confirm, you will possibly be turned into a statue, and if the option is selected, possibly one that cannot be reverted back from a statue at all.","Petrification Target",list("Confirm", "Cancel")) + if (confirmation != "Confirm") + popup_msg(user, "They declined the request.", FALSE) + return + var/double = tgui_alert(targets[selected], "This is your last warning, are you -certain-?","Petrification Target",list("Confirm", "Cancel")) + if (confirmation == "Confirm" && double == "Confirm") + target = targets[selected] + else + popup_msg(user, "They declined the request.", FALSE) + +/obj/machinery/petrification/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state) + if(..()) + return TRUE + + if (ui.user) + add_fingerprint(ui.user) + + switch(action) + if("set_option") + if (params["option"]) + set_input(params["option"], ui.user) + SStgui.update_uis(src) + return TRUE + if("petrify") + petrify(ui.user) + return TRUE + if("remote") + if (is_valid_target(target) && istext(material) && istext(identifier) && istext(adjective) && istext(tint)) + var/obj/item/petrifier/PE = remotes[target] + if (!QDELETED(PE)) + PE.visible_message(span_warning("\The [PE] disappears!")) + qdel(PE) + var/obj/item/petrifier/P = new(loc, src) + P.material = material + P.identifier = identifier + P.adjective = adjective + P.tint = tint + P.able_to_unpetrify = able_to_unpetrify + P.discard_clothes = discard_clothes + P.target = target + remotes[target] = P + ui.user.put_in_hands(P) + return TRUE + return TRUE + +/obj/item/paper/petrification_notes + name = "written notes" + info = "" + span_italics("Found this buried in the machine over there after digging through it a bit- I hooked it up to one of our displays so it was a bit more usable- seems to be a spare part, it was right next to another one that actually " + span_bold("was") + " hooked up. Turns things into other materials, probably one of the components that makes that machine work.") + "" diff --git a/code/game/machinery/pipe/construction.dm b/code/game/machinery/pipe/construction.dm index 76145b618ab..47c9f11e628 100644 --- a/code/game/machinery/pipe/construction.dm +++ b/code/game/machinery/pipe/construction.dm @@ -178,12 +178,12 @@ Buildable meters else return ..() -/obj/item/pipe/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) +/obj/item/pipe/attackby(var/obj/item/W as obj, var/mob/user as mob) if(W.has_tool_quality(TOOL_WRENCH)) return wrench_act(user, W) return ..() -/obj/item/pipe/proc/wrench_act(var/mob/living/user, var/obj/item/weapon/tool/wrench/W) +/obj/item/pipe/proc/wrench_act(var/mob/living/user, var/obj/item/tool/wrench/W) if(!isturf(loc)) return TRUE @@ -194,12 +194,12 @@ Buildable meters var/flags = initial(fakeA.pipe_flags) for(var/obj/machinery/atmospherics/M in loc) if((M.pipe_flags & flags & PIPING_ONE_PER_TURF)) //Only one dense/requires density object per tile, eg connectors/cryo/heater/coolers. - to_chat(user, "Something is hogging the tile!") + to_chat(user, span_warning("Something is hogging the tile!")) return TRUE if((M.piping_layer != piping_layer) && !((M.pipe_flags | flags) & PIPING_ALL_LAYER)) // Pipes on different layers can't block each other unless they are ALL_LAYER continue if(M.get_init_dirs() & SSmachines.get_init_dirs(pipe_type, dir)) // matches at least one direction on either type of pipe - to_chat(user, "There is already a pipe at that location!") + to_chat(user, span_warning("There is already a pipe at that location!")) return TRUE // no conflicts found @@ -208,15 +208,15 @@ Buildable meters // TODO - Evaluate and remove the "need at least one thing to connect to" thing ~Leshana // With how the pipe code works, at least one end needs to be connected to something, otherwise the game deletes the segment. if (QDELETED(A)) - to_chat(user, "There's nothing to connect this pipe section to!") + to_chat(user, span_warning("There's nothing to connect this pipe section to!")) return TRUE transfer_fingerprints_to(A) playsound(src, W.usesound, 50, 1) user.visible_message( \ "[user] fastens \the [src].", \ - "You fasten \the [src].", \ - "You hear ratcheting.") + span_notice("You fasten \the [src]."), \ + span_warningplain("You hear ratcheting.")) qdel(src) @@ -267,23 +267,23 @@ Buildable meters w_class = ITEMSIZE_LARGE var/piping_layer = PIPING_LAYER_DEFAULT -/obj/item/pipe_meter/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) +/obj/item/pipe_meter/attackby(var/obj/item/W as obj, var/mob/user as mob) if(W.has_tool_quality(TOOL_WRENCH)) return wrench_act(user, W) return ..() -/obj/item/pipe_meter/proc/wrench_act(var/mob/living/user, var/obj/item/weapon/tool/wrench/W) +/obj/item/pipe_meter/proc/wrench_act(var/mob/living/user, var/obj/item/tool/wrench/W) var/obj/machinery/atmospherics/pipe/pipe for(var/obj/machinery/atmospherics/pipe/P in loc) if(P.piping_layer == piping_layer) pipe = P break if(!pipe) - to_chat(user, "You need to fasten it to a pipe!") + to_chat(user, span_warning("You need to fasten it to a pipe!")) return TRUE new /obj/machinery/meter(loc, piping_layer) playsound(src, W.usesound, 50, 1) - to_chat(user, "You fasten the meter to the pipe.") + to_chat(user, span_notice("You fasten the meter to the pipe.")) qdel(src) /obj/item/pipe_meter/dropped() diff --git a/code/game/machinery/pipe/pipe_dispenser.dm b/code/game/machinery/pipe/pipe_dispenser.dm index 96da384789b..95bfe9ec346 100644 --- a/code/game/machinery/pipe/pipe_dispenser.dm +++ b/code/game/machinery/pipe/pipe_dispenser.dm @@ -67,10 +67,10 @@ return data -/obj/machinery/pipedispenser/tgui_act(action, params) +/obj/machinery/pipedispenser/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE - if(unwrenched || !usr.canmove || usr.stat || usr.restrained() || !in_range(loc, usr)) + if(unwrenched || !ui.user.canmove || ui.user.stat || ui.user.restrained() || !in_range(loc, ui.user)) return TRUE . = TRUE @@ -101,42 +101,42 @@ else if(istype(recipe, /datum/pipe_recipe/meter)) created_object = new recipe.pipe_type(loc) else - log_runtime(EXCEPTION("Warning: [usr] attempted to spawn pipe recipe type by params [json_encode(params)] ([recipe] [recipe?.type]), but it was not allowed by this machine ([src] [type])")) + log_runtime(EXCEPTION("Warning: [ui.user] attempted to spawn pipe recipe type by params [json_encode(params)] ([recipe] [recipe?.type]), but it was not allowed by this machine ([src] [type])")) return - created_object.add_fingerprint(usr) + created_object.add_fingerprint(ui.user) wait = TRUE VARSET_IN(src, wait, FALSE, 15) /obj/machinery/pipedispenser/attackby(var/obj/item/W as obj, var/mob/user as mob) - src.add_fingerprint(usr) + src.add_fingerprint(user) if (istype(W, /obj/item/pipe) || istype(W, /obj/item/pipe_meter)) - to_chat(usr, "You put [W] back in [src].") + to_chat(user, span_notice("You put [W] back in [src].")) user.drop_item() qdel(W) return else if(W.has_tool_quality(TOOL_WRENCH)) if (unwrenched==0) playsound(src, W.usesound, 50, 1) - to_chat(user, "You begin to unfasten \the [src] from the floor...") + to_chat(user, span_notice("You begin to unfasten \the [src] from the floor...")) if (do_after(user, 40 * W.toolspeed)) user.visible_message( \ - "[user] unfastens \the [src].", \ - "You have unfastened \the [src]. Now it can be pulled somewhere else.", \ + span_notice("[user] unfastens \the [src]."), \ + span_notice("You have unfastened \the [src]. Now it can be pulled somewhere else."), \ "You hear ratchet.") src.anchored = FALSE src.stat |= MAINT src.unwrenched = 1 - if (usr.machine==src) - usr << browse(null, "window=pipedispenser") + if (user.machine==src) + user << browse(null, "window=pipedispenser") else /*if (unwrenched==1)*/ playsound(src, W.usesound, 50, 1) - to_chat(user, "You begin to fasten \the [src] to the floor...") + to_chat(user, span_notice("You begin to fasten \the [src] to the floor...")) if (do_after(user, 20 * W.toolspeed)) user.visible_message( \ - "[user] fastens \the [src].", \ - "You have fastened \the [src]. Now it can dispense pipes.", \ + span_notice("[user] fastens \the [src]."), \ + span_notice("You have fastened \the [src]. Now it can dispense pipes."), \ "You hear ratchet.") src.anchored = TRUE src.stat &= ~MAINT @@ -155,17 +155,17 @@ disposals = TRUE //Allow you to drag-drop disposal pipes into it -/obj/machinery/pipedispenser/disposal/MouseDrop_T(var/obj/structure/disposalconstruct/pipe as obj, mob/usr as mob) - if(!usr.canmove || usr.stat || usr.restrained()) +/obj/machinery/pipedispenser/disposal/MouseDrop_T(var/obj/structure/disposalconstruct/pipe as obj, mob/user as mob) + if(!user.canmove || user.stat || user.restrained()) return - if (!istype(pipe) || get_dist(usr, src) > 1 || get_dist(src,pipe) > 1 ) + if (!istype(pipe) || get_dist(user, src) > 1 || get_dist(src,pipe) > 1 ) return if (pipe.anchored) return - to_chat(usr, "You shove [pipe] back in [src].") + to_chat(user, span_notice("You shove [pipe] back in [src].")) qdel(pipe) // adding a pipe dispensers that spawn unhooked from the ground diff --git a/code/game/machinery/pipe/pipelayer.dm b/code/game/machinery/pipe/pipelayer.dm index 7a4951f0656..96f96dcfe32 100644 --- a/code/game/machinery/pipe/pipelayer.dm +++ b/code/game/machinery/pipe/pipelayer.dm @@ -3,7 +3,7 @@ icon = 'icons/obj/stationobjs.dmi' icon_state = "pipe_d" density = TRUE - circuit = /obj/item/weapon/circuitboard/pipelayer + circuit = /obj/item/circuitboard/pipelayer var/turf/old_turf // Last turf we were on. var/old_dir // Last direction we were facing. var/on = 0 // Pipelaying online? @@ -13,7 +13,7 @@ var/max_metal = 50 // Max capacity for internal metal storage var/metal = 0 // Current amount in internal metal storage var/pipe_cost = 0.25 // Cost in steel for each pipe. - var/obj/item/weapon/tool/wrench/W // Internal wrench used for wrenching down the pipes + var/obj/item/tool/wrench/W // Internal wrench used for wrenching down the pipes var/list/Pipes = list( "regular pipes" = /obj/machinery/atmospherics/pipe/simple, "scrubbers pipes" = /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -33,7 +33,7 @@ /obj/machinery/pipelayer/RefreshParts() var/mb_rating = 0 - for(var/obj/item/weapon/stock_parts/matter_bin/M in component_parts) + for(var/obj/item/stock_parts/matter_bin/M in component_parts) mb_rating += M.rating max_metal = mb_rating * initial(max_metal) @@ -62,16 +62,16 @@ var/answer = tgui_alert(user, "Do you want to eject all the metal in \the [src]?", "Eject?", list("Yes","No")) if(answer == "Yes") var/amount_ejected = eject_metal() - user.visible_message("[user] removes [amount_ejected] sheet\s of [MAT_STEEL] from the \the [src].", - "You remove [amount_ejected] sheet\s of [MAT_STEEL] from \the [src].") + user.visible_message(span_notice("[user] removes [amount_ejected] sheet\s of [MAT_STEEL] from the \the [src]."), + span_notice("You remove [amount_ejected] sheet\s of [MAT_STEEL] from \the [src].")) return if(!metal && !on) - to_chat(user, "\The [src] doesn't work without metal.") + to_chat(user, span_warning("\The [src] doesn't work without metal.")) return on = !on old_turf = get_turf(src) old_dir = dir - user.visible_message("[user] has [!on?"de":""]activated \the [src].", "You [!on?"de":""]activate \the [src].") + user.visible_message(span_notice("[user] has [!on?"de":""]activated \the [src]."), span_notice("You [!on?"de":""]activate \the [src].")) return /obj/machinery/pipelayer/attackby(var/obj/item/W as obj, var/mob/user as mob) @@ -82,34 +82,34 @@ if(default_part_replacement(user, W)) return if (!panel_open && W.has_tool_quality(TOOL_WRENCH)) - P_type_t = tgui_input_list(usr, "Choose pipe type", "Pipe type", Pipes) + P_type_t = tgui_input_list(user, "Choose pipe type", "Pipe type", Pipes) P_type = Pipes[P_type_t] - user.visible_message("[user] has set \the [src] to manufacture [P_type_t].", "You set \the [src] to manufacture [P_type_t].") + user.visible_message(span_notice("[user] has set \the [src] to manufacture [P_type_t]."), span_notice("You set \the [src] to manufacture [P_type_t].")) return if(!panel_open && W.has_tool_quality(TOOL_CROWBAR)) a_dis = !a_dis - user.visible_message("[user] has [!a_dis?"de":""]activated auto-dismantling.", "You [!a_dis?"de":""]activate auto-dismantling.") + user.visible_message(span_notice("[user] has [!a_dis?"de":""]activated auto-dismantling."), span_notice("You [!a_dis?"de":""]activate auto-dismantling.")) return if(istype(W, /obj/item/pipe)) // NOTE - We must check for matter, otherwise the (free) pipe dispenser can be used to get infinite steel. if(!W.matter || W.matter[MAT_STEEL] < pipe_cost * SHEET_MATERIAL_AMOUNT) - to_chat(user, "\The [W] doesn't contain enough [MAT_STEEL] to recycle.") + to_chat(user, span_warning("\The [W] doesn't contain enough [MAT_STEEL] to recycle.")) else if(metal + pipe_cost > max_metal) - to_chat(user, "\The [src] is full.") + to_chat(user, span_notice("\The [src] is full.")) else user.drop_from_inventory(W) metal += pipe_cost - to_chat(user, "You recycle \the [W].") + to_chat(user, span_notice("You recycle \the [W].")) qdel(W) return if(istype(W, /obj/item/stack/material) && W.get_material_name() == MAT_STEEL) var/result = load_metal(W) if(isnull(result)) - to_chat(user, "Unable to load [W] - no metal found.") + to_chat(user, span_warning("Unable to load [W] - no metal found.")) else if(!result) - to_chat(user, "\The [src] is full.") + to_chat(user, span_notice("\The [src] is full.")) else - user.visible_message("[user] has loaded metal into \the [src].", "You load metal into \the [src]") + user.visible_message(span_notice("[user] has loaded metal into \the [src]."), span_notice("You load metal into \the [src]")) return ..() diff --git a/code/game/machinery/pointdefense.dm b/code/game/machinery/pointdefense.dm index 42d7d0550fa..5794a199b03 100644 --- a/code/game/machinery/pointdefense.dm +++ b/code/game/machinery/pointdefense.dm @@ -14,7 +14,7 @@ GLOBAL_LIST_BOILERPLATE(pointdefense_turrets, /obj/machinery/power/pointdefense) icon_state = "control" density = TRUE anchored = TRUE - circuit = /obj/item/weapon/circuitboard/pointdefense_control + circuit = /obj/item/circuitboard/pointdefense_control var/list/targets = list() // Targets being engaged by associated batteries var/id_tag = null @@ -62,7 +62,7 @@ GLOBAL_LIST_BOILERPLATE(pointdefense_turrets, /obj/machinery/power/pointdefense) return FALSE if(!(get_z(PD) in GetConnectedZlevels(get_z(src)))) - to_chat(usr, "[PD] is not within control range.") + to_chat(ui.user, span_warning("[PD] is not within control range.")) return FALSE if(!PD.Activate()) //Activate() whilst the device is active will return false. @@ -100,9 +100,9 @@ GLOBAL_LIST_BOILERPLATE(pointdefense_turrets, /obj/machinery/power/pointdefense) // Check for duplicate controllers with this ID for(var/obj/machinery/pointdefense_control/PC as anything in GLOB.pointdefense_controllers) if(PC != src && PC.id_tag == id_tag) - to_chat(user, "The [new_ident] network already has a controller.") + to_chat(user, span_warning("The [new_ident] network already has a controller.")) return - to_chat(user, "You register [src] with the [new_ident] network.") + to_chat(user, span_notice("You register [src] with the [new_ident] network.")) id_tag = new_ident return if(default_deconstruction_screwdriver(user, W)) @@ -125,7 +125,7 @@ GLOBAL_LIST_BOILERPLATE(pointdefense_turrets, /obj/machinery/power/pointdefense) description_info = "Must have the same ident tag as a fire assist mainframe on the same facility. Use a multitool to set the ident tag." density = TRUE anchored = TRUE - circuit = /obj/item/weapon/circuitboard/pointdefense + circuit = /obj/item/circuitboard/pointdefense idle_power_usage = 0.1 KILOWATTS active_power_usage = 1 KILOWATTS appearance_flags = PIXEL_SCALE @@ -166,7 +166,7 @@ GLOBAL_LIST_BOILERPLATE(pointdefense_turrets, /obj/machinery/power/pointdefense) else icon_state = initial(icon_state) -/obj/machinery/power/pointdefense/default_unfasten_wrench(var/mob/user, var/obj/item/weapon/W, var/time) +/obj/machinery/power/pointdefense/default_unfasten_wrench(var/mob/user, var/obj/item/W, var/time) if((. = ..())) src.transform = null // Reset rotation if we're anchored/unanchored @@ -215,7 +215,7 @@ GLOBAL_LIST_BOILERPLATE(pointdefense_turrets, /obj/machinery/power/pointdefense) var/new_ident = tgui_input_text(user, "Enter a new ident tag.", "[src]", id_tag, MAX_NAME_LEN) new_ident = sanitize(new_ident,MAX_NAME_LEN) if(new_ident && new_ident != id_tag && user.Adjacent(src) && CanInteract(user, GLOB.tgui_physical_state)) - to_chat(user, "You register [src] with the [new_ident] network.") + to_chat(user, span_notice("You register [src] with the [new_ident] network.")) id_tag = new_ident return if(default_deconstruction_screwdriver(user, W)) @@ -338,17 +338,17 @@ GLOBAL_LIST_BOILERPLATE(pointdefense_turrets, /obj/machinery/power/pointdefense) /obj/machinery/power/pointdefense/RefreshParts() . = ..() // Calculates an average rating of components that affect shooting rate - var/shootrate_divisor = total_component_rating_of_type(/obj/item/weapon/stock_parts/capacitor) + var/shootrate_divisor = total_component_rating_of_type(/obj/item/stock_parts/capacitor) charge_cooldown = 2 SECONDS / (shootrate_divisor ? shootrate_divisor : 1) //Calculate max shooting range - var/killrange_multiplier = total_component_rating_of_type(/obj/item/weapon/stock_parts/capacitor) - killrange_multiplier += 1.5 * total_component_rating_of_type(/obj/item/weapon/stock_parts/scanning_module) + var/killrange_multiplier = total_component_rating_of_type(/obj/item/stock_parts/capacitor) + killrange_multiplier += 1.5 * total_component_rating_of_type(/obj/item/stock_parts/scanning_module) kill_range = 10 + 4 * killrange_multiplier - var/rotation_divisor = total_component_rating_of_type(/obj/item/weapon/stock_parts/manipulator) + var/rotation_divisor = total_component_rating_of_type(/obj/item/stock_parts/manipulator) rotation_speed = 0.5 SECONDS / (rotation_divisor ? rotation_divisor : 1) /obj/machinery/power/pointdefense/proc/Activate() diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm index 451472c7bf6..117ab2cda28 100644 --- a/code/game/machinery/portable_turret.dm +++ b/code/game/machinery/portable_turret.dm @@ -55,7 +55,7 @@ var/locked = TRUE //if the turret's behaviour control access is locked var/controllock = FALSE //if the turret responds to control panels - var/installation = /obj/item/weapon/gun/energy/gun //the type of weapon installed + var/installation = /obj/item/gun/energy/gun //the type of weapon installed var/gun_charge = 0 //the charge of the gun inserted var/projectile = null //holder for bullettype var/lethal_projectile = null //holder for the shot when emagged @@ -111,26 +111,26 @@ /obj/machinery/porta_turret/can_catalogue(mob/user) // Dead turrets can't be scanned. if(stat & BROKEN) - to_chat(user, span("warning", "\The [src] was destroyed, so it cannot be scanned.")) + to_chat(user, span_warning("\The [src] was destroyed, so it cannot be scanned.")) return FALSE return ..() /obj/machinery/porta_turret/stationary ailock = TRUE lethal = TRUE - installation = /obj/item/weapon/gun/energy/laser + installation = /obj/item/gun/energy/laser /obj/machinery/porta_turret/stationary/syndie // Generic turrets for POIs that need to not shoot their buddies. req_one_access = list(access_syndicate) enabled = TRUE check_all = TRUE - faction = "syndicate" // Make sure this equals the faction that the mobs in the POI have or they will fight each other. + faction = FACTION_SYNDICATE // Make sure this equals the faction that the mobs in the POI have or they will fight each other. /obj/machinery/porta_turret/ai_defense name = "defense turret" desc = "This variant appears to be much more durable." req_one_access = list(access_synth) // Just in case. - installation = /obj/item/weapon/gun/energy/xray // For the armor pen. + installation = /obj/item/gun/energy/xray // For the armor pen. health = 250 // Since lasers do 40 each. maxhealth = 250 @@ -152,7 +152,7 @@ catalogue_data = list(/datum/category_item/catalogue/anomalous/precursor_a/alien_turret) icon_state = "turret_cover_alien" req_one_access = list(access_alien) - installation = /obj/item/weapon/gun/energy/alien + installation = /obj/item/gun/energy/alien enabled = TRUE lethal = TRUE ailock = TRUE @@ -173,7 +173,7 @@ desc = "This variant appears to be much more rugged." req_one_access = list(access_heads) icon_state = "turret_cover_industrial" - installation = /obj/item/weapon/gun/energy/phasegun + installation = /obj/item/gun/energy/phasegun health = 200 maxhealth = 200 turret_type = "industrial" @@ -200,7 +200,7 @@ name = "defense turret" desc = "This variant appears to be much more durable, with a rugged outer coating." req_one_access = list(access_heads) - installation = /obj/item/weapon/gun/energy/gun/burst + installation = /obj/item/gun/energy/gun/burst health = 250 maxhealth = 250 @@ -215,7 +215,7 @@ name = "lasertag turret" turret_type = "normal" req_one_access = list() - installation = /obj/item/weapon/gun/energy/lasertag/omni + installation = /obj/item/gun/energy/lasertag/omni targetting_is_configurable = FALSE lethal_is_configurable = FALSE @@ -236,12 +236,12 @@ /obj/machinery/porta_turret/lasertag/red turret_type = "red" - installation = /obj/item/weapon/gun/energy/lasertag/red + installation = /obj/item/gun/energy/lasertag/red check_weapons = TRUE // Used to target blue players /obj/machinery/porta_turret/lasertag/blue turret_type = "blue" - installation = /obj/item/weapon/gun/energy/lasertag/blue + installation = /obj/item/gun/energy/lasertag/blue check_synth = TRUE // Used to target red players /obj/machinery/porta_turret/lasertag/assess_living(var/mob/living/L) @@ -316,7 +316,7 @@ /obj/machinery/porta_turret/proc/setup() - var/obj/item/weapon/gun/energy/E = installation //All energy-based weapons are applicable + var/obj/item/gun/energy/E = installation //All energy-based weapons are applicable var/obj/item/projectile/P = initial(E.projectile_type) //var/obj/item/ammo_casing/shottype = E.projectile_type @@ -346,29 +346,29 @@ /obj/machinery/porta_turret/proc/weapon_setup(var/guntype) switch(guntype) - if(/obj/item/weapon/gun/energy/gun/burst) + if(/obj/item/gun/energy/gun/burst) lethal_icon_color = "red" lethal_projectile = /obj/item/projectile/beam/burstlaser lethal_shot_sound = 'sound/weapons/Laser.ogg' shot_delay = 1 SECOND - if(/obj/item/weapon/gun/energy/phasegun) + if(/obj/item/gun/energy/phasegun) icon_color = "orange" lethal_icon_color = "orange" lethal_projectile = /obj/item/projectile/energy/phase/heavy shot_delay = 1 SECOND - if(/obj/item/weapon/gun/energy/gun) + if(/obj/item/gun/energy/gun) lethal_icon_color = "red" lethal_projectile = /obj/item/projectile/beam //If it has, going to kill mode lethal_shot_sound = 'sound/weapons/Laser.ogg' - if(/obj/item/weapon/gun/energy/gun/nuclear) + if(/obj/item/gun/energy/gun/nuclear) lethal_icon_color = "red" lethal_projectile = /obj/item/projectile/beam //If it has, going to kill mode lethal_shot_sound = 'sound/weapons/Laser.ogg' - if(/obj/item/weapon/gun/energy/xray) + if(/obj/item/gun/energy/xray) lethal_icon_color = "green" lethal_projectile = /obj/item/projectile/beam/xray projectile = /obj/item/projectile/beam/stun // Otherwise we fire xrays on both modes. @@ -377,13 +377,13 @@ /obj/machinery/porta_turret/proc/isLocked(mob/user) if(locked && !issilicon(user)) - to_chat(user, "Controls locked.") + to_chat(user, span_notice("Controls locked.")) return 1 if(HasController()) return TRUE if(isrobot(user) || isAI(user)) if(ailock) - to_chat(user, "There seems to be a firewall preventing you from accessing this device.") + to_chat(user, span_notice("There seems to be a firewall preventing you from accessing this device.")) return TRUE else return FALSE @@ -412,10 +412,10 @@ /obj/machinery/porta_turret/tgui_interact(mob/user, datum/tgui/ui = null) if(HasController()) - to_chat(user, "[src] can only be controlled using the assigned turret controller.") + to_chat(user, span_notice("[src] can only be controlled using the assigned turret controller.")) return if(!anchored) - to_chat(user, "[src] has to be secured first!") + to_chat(user, span_notice("[src] has to be secured first!")) return ui = SStgui.try_update_ui(user, src, ui) if(!ui) @@ -443,7 +443,7 @@ /obj/machinery/porta_turret/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state) if(..()) return TRUE - if(isLocked(usr)) + if(isLocked(ui.user)) return TRUE . = TRUE @@ -487,36 +487,36 @@ if(I.has_tool_quality(TOOL_CROWBAR)) //If the turret is destroyed, you can remove it with a crowbar to //try and salvage its components - to_chat(user, "You begin prying the metal coverings off.") + to_chat(user, span_notice("You begin prying the metal coverings off.")) if(do_after(user, 20)) if(can_salvage && prob(70)) - to_chat(user, "You remove the turret and salvage some components.") + to_chat(user, span_notice("You remove the turret and salvage some components.")) if(installation) - var/obj/item/weapon/gun/energy/Gun = new installation(loc) + var/obj/item/gun/energy/Gun = new installation(loc) Gun.power_supply.charge = gun_charge Gun.update_icon() if(prob(50)) new /obj/item/stack/material/steel(loc, rand(1,4)) if(prob(50)) - new /obj/item/device/assembly/prox_sensor(loc) + new /obj/item/assembly/prox_sensor(loc) else - to_chat(user, "You remove the turret but did not manage to salvage anything.") + to_chat(user, span_notice("You remove the turret but did not manage to salvage anything.")) qdel(src) // qdel else if(I.has_tool_quality(TOOL_WRENCH)) if(enabled || raised) - to_chat(user, "You cannot unsecure an active turret!") + to_chat(user, span_warning("You cannot unsecure an active turret!")) return if(wrenching) - to_chat(user, "Someone is already [anchored ? "un" : ""]securing the turret!") + to_chat(user, span_warning("Someone is already [anchored ? "un" : ""]securing the turret!")) return if(!anchored && isinspace()) - to_chat(user, "Cannot secure turrets in space!") + to_chat(user, span_warning("Cannot secure turrets in space!")) return user.visible_message(\ - "[user] begins [anchored ? "un" : ""]securing the turret.", \ - "You begin [anchored ? "un" : ""]securing the turret." \ + span_warning("[user] begins [anchored ? "un" : ""]securing the turret."), \ + span_notice("You begin [anchored ? "un" : ""]securing the turret.") \ ) wrenching = TRUE @@ -526,22 +526,22 @@ playsound(src, I.usesound, 100, 1) anchored = TRUE update_icon() - to_chat(user, "You secure the exterior bolts on the turret.") + to_chat(user, span_notice("You secure the exterior bolts on the turret.")) else if(anchored) playsound(src, I.usesound, 100, 1) anchored = FALSE - to_chat(user, "You unsecure the exterior bolts on the turret.") + to_chat(user, span_notice("You unsecure the exterior bolts on the turret.")) update_icon() wrenching = FALSE - else if(istype(I, /obj/item/weapon/card/id)||istype(I, /obj/item/device/pda)) + else if(istype(I, /obj/item/card/id)||istype(I, /obj/item/pda)) //Behavior lock/unlock mangement if(allowed(user)) locked = !locked - to_chat(user, "Controls are now [locked ? "locked" : "unlocked"].") + to_chat(user, span_notice("Controls are now [locked ? "locked" : "unlocked"].")) updateUsrDialog() else - to_chat(user, "Access denied.") + to_chat(user, span_notice("Access denied.")) else //if the turret was attacked with the intention of harming it: @@ -560,19 +560,19 @@ var/mob/living/simple_mob/S = L if(damage >= STRUCTURE_MIN_DAMAGE_THRESHOLD) var/incoming_damage = round(damage - (damage / 5)) //Turrets are slightly armored, assumedly. - visible_message("\The [S] [pick(S.attacktext)] \the [src]!") + visible_message(span_danger("\The [S] [pick(S.attacktext)] \the [src]!")) take_damage(incoming_damage) S.do_attack_animation(src) return 1 - visible_message("\The [L] bonks \the [src]'s casing!") + visible_message(span_infoplain(span_bold("\The [L]") + " bonks \the [src]'s casing!")) return ..() /obj/machinery/porta_turret/emag_act(var/remaining_charges, var/mob/user) if(!emagged) //Emagging the turret makes it go bonkers and stun everyone. It also makes //the turret shoot much, much faster. - to_chat(user, "You short out [src]'s threat assessment circuits.") - visible_message("[src] hums oddly...") + to_chat(user, span_warning("You short out [src]'s threat assessment circuits.")) + visible_message(span_info("[src] hums oddly...")) emagged = TRUE controllock = TRUE enabled = FALSE //turns off the turret temporarily @@ -880,7 +880,7 @@ //Turrets aim for the center of mass by default. //If the target is grabbing someone then the turret smartly aims for extremities var/def_zone - var/obj/item/weapon/grab/G = locate() in target + var/obj/item/grab/G = locate() in target if(G && G.state >= GRAB_NECK) //works because mobs are currently not allowed to upgrade to NECK if they are grabbing two people. def_zone = pick(BP_HEAD, BP_L_HAND, BP_R_HAND, BP_L_FOOT, BP_R_FOOT, BP_L_ARM, BP_R_ARM, BP_L_LEG, BP_R_LEG) else @@ -945,14 +945,14 @@ if(0) //first step if(I.has_tool_quality(TOOL_WRENCH) && !anchored) playsound(src, I.usesound, 100, 1) - to_chat(user, "You secure the external bolts.") + to_chat(user, span_notice("You secure the external bolts.")) anchored = TRUE build_step = 1 return else if(I.has_tool_quality(TOOL_CROWBAR) && !anchored) playsound(src, I.usesound, 75, 1) - to_chat(user, "You dismantle the turret construction.") + to_chat(user, span_notice("You dismantle the turret construction.")) new /obj/item/stack/material/steel(loc, 5) qdel(src) return @@ -961,16 +961,16 @@ if(istype(I, /obj/item/stack/material) && I.get_material_name() == MAT_STEEL) var/obj/item/stack/M = I if(M.use(2)) - to_chat(user, "You add some metal armor to the interior frame.") + to_chat(user, span_notice("You add some metal armor to the interior frame.")) build_step = 2 icon_state = "turret_frame2" else - to_chat(user, "You need two sheets of metal to continue construction.") + to_chat(user, span_warning("You need two sheets of metal to continue construction.")) return else if(I.has_tool_quality(TOOL_WRENCH)) playsound(src, I.usesound, 75, 1) - to_chat(user, "You unfasten the external bolts.") + to_chat(user, span_notice("You unfasten the external bolts.")) anchored = FALSE build_step = 0 return @@ -978,16 +978,16 @@ if(2) if(I.has_tool_quality(TOOL_WRENCH)) playsound(src, I.usesound, 100, 1) - to_chat(user, "You bolt the metal armor into place.") + to_chat(user, span_notice("You bolt the metal armor into place.")) build_step = 3 return else if(I.has_tool_quality(TOOL_WELDER)) - var/obj/item/weapon/weldingtool/WT = I.get_welder() + var/obj/item/weldingtool/WT = I.get_welder() if(!WT.isOn()) return if(WT.get_fuel() < 5) //uses up 5 fuel. - to_chat(user, "You need more fuel to complete this task.") + to_chat(user, span_notice("You need more fuel to complete this task.")) return playsound(src, I.usesound, 50, 1) @@ -999,17 +999,17 @@ return if(3) - if(istype(I, /obj/item/weapon/gun/energy)) //the gun installation part + if(istype(I, /obj/item/gun/energy)) //the gun installation part if(isrobot(user)) return - var/obj/item/weapon/gun/energy/E = I //typecasts the item to an energy gun + var/obj/item/gun/energy/E = I //typecasts the item to an energy gun if(!user.unEquip(I)) - to_chat(user, "\The [I] is stuck to your hand, you cannot put it in \the [src]") + to_chat(user, span_notice("\The [I] is stuck to your hand, you cannot put it in \the [src]")) return installation = I.type //installation becomes I.type gun_charge = E.power_supply.charge //the gun's charge is stored in gun_charge - to_chat(user, "You add [I] to the turret.") + to_chat(user, span_notice("You add [I] to the turret.")) target_type = /obj/machinery/porta_turret build_step = 4 @@ -1018,7 +1018,7 @@ else if(I.has_tool_quality(TOOL_WRENCH)) playsound(src, I.usesound, 100, 1) - to_chat(user, "You remove the turret's metal armor bolts.") + to_chat(user, span_notice("You remove the turret's metal armor bolts.")) build_step = 2 return @@ -1026,9 +1026,9 @@ if(isprox(I)) build_step = 5 if(!user.unEquip(I)) - to_chat(user, "\The [I] is stuck to your hand, you cannot put it in \the [src]") + to_chat(user, span_notice("\The [I] is stuck to your hand, you cannot put it in \the [src]")) return - to_chat(user, "You add the prox sensor to the turret.") + to_chat(user, span_notice("You add the prox sensor to the turret.")) qdel(I) return @@ -1038,7 +1038,7 @@ if(I.has_tool_quality(TOOL_SCREWDRIVER)) playsound(src, I.usesound, 100, 1) build_step = 6 - to_chat(user, "You close the internal access hatch.") + to_chat(user, span_notice("You close the internal access hatch.")) return //attack_hand() removes the prox sensor @@ -1047,31 +1047,31 @@ if(istype(I, /obj/item/stack/material) && I.get_material_name() == MAT_STEEL) var/obj/item/stack/M = I if(M.use(2)) - to_chat(user, "You add some metal armor to the exterior frame.") + to_chat(user, span_notice("You add some metal armor to the exterior frame.")) build_step = 7 else - to_chat(user, "You need two sheets of metal to continue construction.") + to_chat(user, span_warning("You need two sheets of metal to continue construction.")) return else if(I.has_tool_quality(TOOL_SCREWDRIVER)) playsound(src, I.usesound, 100, 1) build_step = 5 - to_chat(user, "You open the internal access hatch.") + to_chat(user, span_notice("You open the internal access hatch.")) return if(7) if(I.has_tool_quality(TOOL_WELDER)) - var/obj/item/weapon/weldingtool/WT = I.get_welder() + var/obj/item/weldingtool/WT = I.get_welder() if(!WT.isOn()) return if(WT.get_fuel() < 5) - to_chat(user, "You need more fuel to complete this task.") + to_chat(user, span_notice("You need more fuel to complete this task.")) playsound(src, WT.usesound, 50, 1) if(do_after(user, 30 * WT.toolspeed)) if(!src || !WT.remove_fuel(5, user)) return build_step = 8 - to_chat(user, "You weld the turret's armor down.") + to_chat(user, span_notice("You weld the turret's armor down.")) //The final step: create a full turret var/obj/machinery/porta_turret/Turret = new target_type(loc) @@ -1085,16 +1085,16 @@ else if(I.has_tool_quality(TOOL_CROWBAR)) playsound(src, I.usesound, 75, 1) - to_chat(user, "You pry off the turret's exterior armor.") + to_chat(user, span_notice("You pry off the turret's exterior armor.")) new /obj/item/stack/material/steel(loc, 2) build_step = 6 return - if(istype(I, /obj/item/weapon/pen)) //you can rename turrets like bots! + if(istype(I, /obj/item/pen)) //you can rename turrets like bots! var/t = sanitizeSafe(tgui_input_text(user, "Enter new turret name", name, finish_name, MAX_NAME_LEN), MAX_NAME_LEN) if(!t) return - if(!in_range(src, usr) && loc != usr) + if(!in_range(src, user) && loc != user) return finish_name = t @@ -1109,16 +1109,16 @@ return build_step = 3 - var/obj/item/weapon/gun/energy/Gun = new installation(loc) + var/obj/item/gun/energy/Gun = new installation(loc) Gun.power_supply.charge = gun_charge Gun.update_icon() installation = null gun_charge = 0 - to_chat(user, "You remove [Gun] from the turret frame.") + to_chat(user, span_notice("You remove [Gun] from the turret frame.")) if(5) - to_chat(user, "You remove the prox sensor from the turret frame.") - new /obj/item/device/assembly/prox_sensor(loc) + to_chat(user, span_notice("You remove the prox sensor from the turret frame.")) + new /obj/item/assembly/prox_sensor(loc) build_step = 4 /obj/machinery/porta_turret_construct/attack_ai() diff --git a/code/game/machinery/portable_turret_vr.dm b/code/game/machinery/portable_turret_vr.dm index b83f3720fff..a24f16ceb6b 100644 --- a/code/game/machinery/portable_turret_vr.dm +++ b/code/game/machinery/portable_turret_vr.dm @@ -24,7 +24,7 @@ name = "military CIWS turret" desc = "A ship weapons turret designed for anti-fighter defense." req_one_access = list(access_cent_general) - installation = /obj/item/weapon/gun/energy/pulse_rifle/destroyer + installation = /obj/item/gun/energy/pulse_rifle/destroyer health = 500 maxhealth = 500 enabled = TRUE diff --git a/code/game/machinery/protean_reconstitutor.dm b/code/game/machinery/protean_reconstitutor.dm index 287e3e0c1a2..37eac939c05 100644 --- a/code/game/machinery/protean_reconstitutor.dm +++ b/code/game/machinery/protean_reconstitutor.dm @@ -17,7 +17,7 @@ var/buzzsound = 'sound/items/nif_tone_bad.ogg' //sound to play when we have to abort due to loss of posibrain client //vars for basic functionality - var/obj/item/device/mmi/digital/posibrain/nano/protean_brain = null //only allow protean brains, no midround upgrades to bypass the whitelist! + var/obj/item/mmi/digital/posibrain/nano/protean_brain = null //only allow protean brains, no midround upgrades to bypass the whitelist! var/obj/item/organ/internal/nano/orchestrator/protean_orchestrator = null //essential var/obj/item/organ/internal/nano/refactory/protean_refactory = null //not essential, but nice to have; lets us transfer stored materials var/nanomass_reserve = 0 //starting reserve - will be wiped if it's deconstructed! @@ -31,13 +31,13 @@ var/finalize_time = 135 SECONDS //finally, how long we need before popping them out of the tank //component vars - circuit = /obj/item/weapon/circuitboard/protean_reconstitutor + circuit = /obj/item/circuitboard/protean_reconstitutor /obj/machinery/protean_reconstitutor/Initialize() component_parts = list() - component_parts += new /obj/item/weapon/stock_parts/matter_bin(src) - component_parts += new /obj/item/weapon/stock_parts/manipulator(src) - component_parts += new /obj/item/weapon/stock_parts/console_screen(src) + component_parts += new /obj/item/stock_parts/matter_bin(src) + component_parts += new /obj/item/stock_parts/manipulator(src) + component_parts += new /obj/item/stock_parts/console_screen(src) component_parts += new /obj/item/stack/cable_coil(src, 5) RefreshParts() . = ..() @@ -45,13 +45,13 @@ /obj/machinery/protean_reconstitutor/RefreshParts() //total paste storage cap (300 * the rating, straightforward) var/store_rating = initial(nanotank_max) - for(var/obj/item/weapon/stock_parts/matter_bin/MB in component_parts) + for(var/obj/item/stock_parts/matter_bin/MB in component_parts) store_rating = store_rating * MB.rating nanotank_max = store_rating //inefficiency of adding paste (amount of uses * (mech_repair / inefficiency)); most complex, good way to get good bang for your buck tho var/paste_rating = initial(paste_inefficiency) - for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts) + for(var/obj/item/stock_parts/manipulator/M in component_parts) paste_rating = paste_rating - (M.rating - 1) paste_inefficiency = paste_rating ..() @@ -83,13 +83,13 @@ if(protean_brain) . += "It currently has a protean positronic brain." if(!protean_brain.brainmob.client) - . += "The positronic brain appears to be inactive!" + . += span_warning("The positronic brain appears to be inactive!") . += "The readout shows that it has [nanomass_reserve] units of nanites ready for use. It requires [nanomass_required] per \'revive\' process, and has a maximum capacity of [nanotank_max] units." /obj/machinery/protean_reconstitutor/attackby(obj/item/W as obj, mob/user as mob) src.add_fingerprint(user) if(processing_revive) - to_chat(user, "\The [src] is busy. Please wait for completion of previous operation.") + to_chat(user, span_notice("\The [src] is busy. Please wait for completion of previous operation.")) playsound(src, buzzsound, 100, 1, -1) return @@ -100,24 +100,24 @@ if(default_part_replacement(user, W)) return - if(istype(W,/obj/item/device/mmi/digital/posibrain/nano)) - var/obj/item/device/mmi/digital/posibrain/nano/NB = W + if(istype(W,/obj/item/mmi/digital/posibrain/nano)) + var/obj/item/mmi/digital/posibrain/nano/NB = W if(!NB.brainmob.client) - to_chat(user,"You cannot use an inactive positronic brain for this process.") + to_chat(user,span_warning("You cannot use an inactive positronic brain for this process.")) return - to_chat(user,"You slot \the [NB] into \the [src].") + to_chat(user,span_notice("You slot \the [NB] into \the [src].")) user.drop_from_inventory(NB) NB.loc = src protean_brain = NB if(istype(W,/obj/item/organ/internal/nano/orchestrator)) - to_chat(user,"You slot \the [W] into \the [src].") + to_chat(user,span_notice("You slot \the [W] into \the [src].")) user.drop_from_inventory(W) W.loc = src protean_orchestrator = W if(istype(W,/obj/item/organ/internal/nano/refactory)) - to_chat(user,"You slot \the [W] into \the [src].") + to_chat(user,span_notice("You slot \the [W] into \the [src].")) user.drop_from_inventory(W) W.loc = src protean_refactory = W @@ -125,17 +125,17 @@ if(istype(W,/obj/item/stack/nanopaste)) var/obj/item/stack/nanopaste/NP = W if(nanomass_reserve >= nanotank_max) - to_chat(user,"The tank is full!") + to_chat(user,span_notice("The tank is full!")) return nanomass_reserve += NP.amount * max(1,NP.mech_repair / paste_inefficiency) if(nanomass_reserve > nanotank_max) nanomass_reserve = nanotank_max - to_chat(user,"You fill \the [src] with paste from \the [NP]. The display now reads [nanomass_reserve]/[nanotank_max] units.") + to_chat(user,span_notice("You fill \the [src] with paste from \the [NP]. The display now reads [nanomass_reserve]/[nanotank_max] units.")) qdel(NP) if(W.has_tool_quality(TOOL_WRENCH)) if(protean_brain || protean_orchestrator || protean_refactory) - var/choice = tgui_input_list(usr, "What component would you like to remove?", "Remove Component", list(protean_brain,protean_orchestrator,protean_refactory)) + var/choice = tgui_input_list(user, "What component would you like to remove?", "Remove Component", list(protean_brain,protean_orchestrator,protean_refactory)) if(!choice) return if(choice == protean_brain) @@ -162,21 +162,21 @@ /obj/machinery/protean_reconstitutor/attack_hand(mob/user as mob) if(!protean_brain || !protean_orchestrator || !protean_refactory || (nanomass_reserve < nanomass_required)) //no brain, no orchestrator, and/or not enough goo - to_chat(user,"Essential components missing, or insufficient materials available!") + to_chat(user,span_warning("Essential components missing, or insufficient materials available!")) playsound(src, buzzsound, 100, 1, -1) update_icon() return if(processing_revive) //we're currently processing a patient, chill out! - src.visible_message("\The [src] chirps, \"Reconstitution cycle currently in progress, please wait!\"") + src.visible_message(span_notice("\The [src] chirps, \"Reconstitution cycle currently in progress, please wait!\"")) playsound(src, buzzsound, 100, 1, -1) return if(!protean_brain.brainmob.client) - src.visible_message("\The [src] chirps, \"Warning, no positronic neural network activity detected! Recommend removing inactive core.\"") + src.visible_message(span_warning("\The [src] chirps, \"Warning, no positronic neural network activity detected! Recommend removing inactive core.\"")) return else if(!processing_revive && protean_brain && protean_orchestrator && protean_refactory && (nanomass_reserve >= nanomass_required)) //we're good, let's get recombobulating! - src.visible_message("[user] initializes \the [src]. It chirps, \"Please stand by, synchronizing components... estimated time to completion: five minutes.\"") + src.visible_message(span_notice("[user] initializes \the [src]. It chirps, \"Please stand by, synchronizing components... estimated time to completion: five minutes.\"")) processing_revive = TRUE power_change() if(prob(2)) @@ -195,7 +195,7 @@ sleep(per_organ_delay) var/obj/item/O = P.internal_organs_by_name[organ] if(istype(O,/obj/item/organ/internal/nano/refactory)) - src.visible_message("\The [src] chirps, \"Initializing refactory...\"") + src.visible_message(span_notice("\The [src] chirps, \"Initializing refactory...\"")) P.internal_organs_by_name.Remove(O) P.contents.Remove(O) qdel(O) @@ -206,7 +206,7 @@ mats_cached = TRUE protean_refactory.loc = P if(istype(O,/obj/item/organ/internal/nano/orchestrator)) - src.visible_message("\The [src] chirps, \"Linking nanoswarm to orchestrator...\"") + src.visible_message(span_notice("\The [src] chirps, \"Linking nanoswarm to orchestrator...\"")) P.internal_organs_by_name.Remove(O) P.internal_organs.Remove(O) P.contents.Remove(O) @@ -215,10 +215,10 @@ P.internal_organs.Add(protean_orchestrator) protean_orchestrator.loc = P if(istype(O,/obj/item/organ/internal/mmi_holder/posibrain/nano)) - src.visible_message("\The [src] chirps, \"Synchronizing positronic neural architecture...\"") + src.visible_message(span_notice("\The [src] chirps, \"Synchronizing positronic neural architecture...\"")) //on the offchance our client blipped before getting to this step, abort, schloop the organs back into the machine, dissolve the body, and refund the nanos if(!protean_brain.brainmob.client) - src.visible_message("\The [src] buzzes, \"No positronic neural activity detected! Aborting cycle!\"") + src.visible_message(span_warning("\The [src] buzzes, \"No positronic neural activity detected! Aborting cycle!\"")) playsound(src, buzzsound, 100, 1, -1) processing_revive = FALSE qdel(P) @@ -279,11 +279,11 @@ P.apply_vore_prefs() //run a little revive, load their prefs, and boot a new NIF on them for the finishing touches and cleanup... (yes, we need to initialize a new NIF, they don't get one from the revive process) //using revive is honestly a bit overkill since it kinda deletes-and-replaces most of the guts anyway (hence the cache and restore of refactory contents; otherwise they get wiped!), but it also ensures the new protean comes out in their "base form" as well as hopefully cleaning up any loose ends in the resurrection process - var/obj/item/device/nif/protean/new_nif = new() + var/obj/item/nif/protean/new_nif = new() new_nif.quick_implant(P) //revive complete, now restore the cached mats (if we had any) if(mats_cached == TRUE) - src.visible_message("\The [src] chirps, \"Reindexing archived refactory materials storage.\"") + src.visible_message(span_notice("\The [src] chirps, \"Reindexing archived refactory materials storage.\"")) for(var/organ in P.internal_organs_by_name) var/obj/item/O = P.internal_organs_by_name[organ] if(istype(O,/obj/item/organ/internal/nano/refactory)) @@ -292,8 +292,8 @@ materials_cache.Cut() mats_cached = FALSE //finally... drop them in front of the machine - src.visible_message("\The [src] chirps, \"Protean reconstitution cycle complete!\"") - to_chat(P,"You feel your sense of self expanding, spreading out to inhabit your new \'body\'. You feel... ALIVE!") + src.visible_message(span_notice("\The [src] chirps, \"Protean reconstitution cycle complete!\"")) + to_chat(P,span_notice("You feel your sense of self expanding, spreading out to inhabit your new \'body\'. You feel... ALIVE!")) playsound(src, dingsound, 100, 1, -1) //soup's on! P.loc = src.loc processing_revive = FALSE diff --git a/code/game/machinery/recharger.dm b/code/game/machinery/recharger.dm index cd23dad276a..2f9b70203c8 100644 --- a/code/game/machinery/recharger.dm +++ b/code/game/machinery/recharger.dm @@ -10,12 +10,12 @@ active_power_usage = 40000 //40 kW var/efficiency = 40000 //will provide the modified power rate when upgraded var/obj/item/charging = null - var/list/allowed_devices = list(/obj/item/weapon/gun/energy, /obj/item/weapon/melee/baton, /obj/item/modular_computer, /obj/item/weapon/computer_hardware/battery_module, /obj/item/weapon/cell, /obj/item/device/suit_cooling_unit/emergency, /obj/item/device/flashlight, /obj/item/device/electronic_assembly, /obj/item/weapon/weldingtool/electric, /obj/item/ammo_magazine/smart, /obj/item/device/flash, /obj/item/device/defib_kit, /obj/item/ammo_casing/microbattery, /obj/item/device/paicard, /obj/item/device/personal_shield_generator) //VOREStation Add - NSFW Batteries + var/list/allowed_devices = list(/obj/item/gun/energy, /obj/item/melee/baton, /obj/item/modular_computer, /obj/item/computer_hardware/battery_module, /obj/item/cell, /obj/item/suit_cooling_unit/emergency, /obj/item/flashlight, /obj/item/electronic_assembly, /obj/item/weldingtool/electric, /obj/item/ammo_magazine/smart, /obj/item/flash, /obj/item/defib_kit, /obj/item/ammo_casing/microbattery, /obj/item/paicard, /obj/item/personal_shield_generator) //VOREStation Add - NSFW Batteries var/icon_state_charged = "recharger2" var/icon_state_charging = "recharger1" var/icon_state_idle = "recharger0" //also when unpowered var/portable = 1 - circuit = /obj/item/weapon/circuitboard/recharger + circuit = /obj/item/circuitboard/recharger /obj/machinery/recharger/Initialize() . = ..() @@ -27,62 +27,62 @@ if(get_dist(user, src) <= 5) . += "[charging ? "[charging]" : "Nothing"] is in [src]." if(charging) - var/obj/item/weapon/cell/C = charging.get_cell() + var/obj/item/cell/C = charging.get_cell() if(C) // Sometimes we get things without cells in it. . += "Current charge: [C.charge] / [C.maxcharge]" -/obj/machinery/recharger/attackby(obj/item/weapon/G as obj, mob/user as mob) +/obj/machinery/recharger/attackby(obj/item/G as obj, mob/user as mob) var/allowed = 0 for (var/allowed_type in allowed_devices) if(istype(G, allowed_type)) allowed = 1 if(allowed) if(charging) - to_chat(user, "\A [charging] is already charging here.") + to_chat(user, span_warning("\A [charging] is already charging here.")) return // Checks to make sure he's not in space doing it, and that the area got proper power. if(!powered()) - to_chat(user, "\The [src] blinks red as you try to insert [G]!") + to_chat(user, span_warning("\The [src] blinks red as you try to insert [G]!")) return - if(istype(G, /obj/item/weapon/gun/energy)) - var/obj/item/weapon/gun/energy/E = G + if(istype(G, /obj/item/gun/energy)) + var/obj/item/gun/energy/E = G if(E.self_recharge) - to_chat(user, "\The [E] has no recharge port.") + to_chat(user, span_notice("\The [E] has no recharge port.")) return if(istype(G, /obj/item/modular_computer)) var/obj/item/modular_computer/C = G if(!C.battery_module) - to_chat(user, "\The [C] does not have a battery installed. ") + to_chat(user, span_notice("\The [C] does not have a battery installed. ")) return - if(istype(G, /obj/item/weapon/melee/baton)) - var/obj/item/weapon/melee/baton/B = G + if(istype(G, /obj/item/melee/baton)) + var/obj/item/melee/baton/B = G if(B.use_external_power) - to_chat(user, "\The [B] has no recharge port.") + to_chat(user, span_notice("\The [B] has no recharge port.")) return - if(istype(G, /obj/item/device/flash)) - var/obj/item/device/flash/F = G + if(istype(G, /obj/item/flash)) + var/obj/item/flash/F = G if(F.use_external_power) - to_chat(user, "\The [F] has no recharge port.") + to_chat(user, span_notice("\The [F] has no recharge port.")) return - if(istype(G, /obj/item/weapon/weldingtool/electric)) - var/obj/item/weapon/weldingtool/electric/EW = G + if(istype(G, /obj/item/weldingtool/electric)) + var/obj/item/weldingtool/electric/EW = G if(EW.use_external_power) - to_chat(user, "\The [EW] has no recharge port.") + to_chat(user, span_notice("\The [EW] has no recharge port.")) return - if(!G.get_cell() && !istype(G, /obj/item/ammo_casing/microbattery) && !istype(G, /obj/item/device/paicard)) //VOREStation Edit: NSFW charging + if(!G.get_cell() && !istype(G, /obj/item/ammo_casing/microbattery) && !istype(G, /obj/item/paicard)) //VOREStation Edit: NSFW charging to_chat(user, "\The [G] does not have a battery installed.") return - if(istype(G, /obj/item/device/paicard)) - var/obj/item/device/paicard/ourcard = G + if(istype(G, /obj/item/paicard)) + var/obj/item/paicard/ourcard = G if(ourcard.panel_open) - to_chat(user, "\The [ourcard] won't fit in the recharger with its panel open.") + to_chat(user, span_warning("\The [ourcard] won't fit in the recharger with its panel open.")) return if(ourcard.pai) if(ourcard.pai.stat == CONSCIOUS) - to_chat(user, "\The [ourcard] boops... it doesn't need to be recharged!") + to_chat(user, span_warning("\The [ourcard] boops... it doesn't need to be recharged!")) return else - to_chat(user, "\The [ourcard] doesn't have a personality!") + to_chat(user, span_warning("\The [ourcard] doesn't have a personality!")) return user.drop_item() @@ -93,7 +93,7 @@ else if(portable && G.has_tool_quality(TOOL_WRENCH)) if(charging) - to_chat(user, "Remove [charging] first!") + to_chat(user, span_warning("Remove [charging] first!")) return anchored = !anchored to_chat(user, "You [anchored ? "attached" : "detached"] [src].") @@ -136,8 +136,8 @@ update_use_power(USE_POWER_IDLE) icon_state = icon_state_idle //VOREStation Edit Start - pAI revival! - else if(istype(charging, /obj/item/device/paicard)) - var/obj/item/device/paicard/pcard = charging + else if(istype(charging, /obj/item/paicard)) + var/obj/item/paicard/pcard = charging if(pcard.is_damage_critical()) pcard.forceMove(get_turf(src)) charging = null @@ -150,12 +150,12 @@ else charging = null update_icon() - src.visible_message("\The [src] ejects the [pcard]!") + src.visible_message(span_notice("\The [src] ejects the [pcard]!")) pcard.forceMove(get_turf(src)) pcard.pai.full_restore() //VOREStation Edit End else - var/obj/item/weapon/cell/C = charging.get_cell() + var/obj/item/cell/C = charging.get_cell() if(istype(C)) if(!C.fully_charged()) icon_state = icon_state_charging @@ -184,7 +184,7 @@ return if(charging) - var/obj/item/weapon/cell/C = charging.get_cell() + var/obj/item/cell/C = charging.get_cell() if(istype(C)) C.emp_act(severity) @@ -198,7 +198,7 @@ /obj/machinery/recharger/RefreshParts() var/E = 0 - for(var/obj/item/weapon/stock_parts/capacitor/C in component_parts) + for(var/obj/item/stock_parts/capacitor/C in component_parts) E += C.rating efficiency = active_power_usage * (1+ (E - 1)*0.5) @@ -211,9 +211,9 @@ layer = ABOVE_TURF_LAYER active_power_usage = 60000 //60 kW , It's more specialized than the standalone recharger (guns, batons, and flashlights only) so make it more powerful efficiency = 60000 - allowed_devices = list(/obj/item/weapon/gun/energy, /obj/item/weapon/gun/magnetic, /obj/item/weapon/melee/baton, /obj/item/device/flashlight, /obj/item/weapon/cell/device) + allowed_devices = list(/obj/item/gun/energy, /obj/item/gun/magnetic, /obj/item/melee/baton, /obj/item/flashlight, /obj/item/cell/device) icon_state_charged = "wrecharger2" icon_state_charging = "wrecharger1" icon_state_idle = "wrecharger0" portable = 0 - circuit = /obj/item/weapon/circuitboard/recharger/wrecharger + circuit = /obj/item/circuitboard/recharger/wrecharger diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm index 31bc167040f..f6fb8599ed8 100644 --- a/code/game/machinery/rechargestation.dm +++ b/code/game/machinery/rechargestation.dm @@ -6,11 +6,11 @@ density = TRUE anchored = TRUE unacidable = TRUE - circuit = /obj/item/weapon/circuitboard/recharge_station + circuit = /obj/item/circuitboard/recharge_station use_power = USE_POWER_IDLE idle_power_usage = 50 var/mob/occupant = null - var/obj/item/weapon/cell/cell = null + var/obj/item/cell/cell = null var/icon_update_tick = 0 // Used to rebuild the overlay only once every 10 ticks var/charging = 0 @@ -122,20 +122,20 @@ H.accumulated_rads = max(H.accumulated_rads - 25, 0) if(H.wearing_rig) // stepping into a borg charger to charge your rig and fix your shit - var/obj/item/weapon/rig/wornrig = H.get_rig() + var/obj/item/rig/wornrig = H.get_rig() if(wornrig) // just to make sure for(var/obj/item/rig_module/storedmod in wornrig.installed_modules) if(weld_rate && storedmod.damage && cell.checked_use(weld_power_use * weld_rate * CELLRATE)) - to_chat(H, "[storedmod] is repaired!") + to_chat(H, span_notice("[storedmod] is repaired!")) storedmod.damage = 0 if(wornrig.chest) var/obj/item/clothing/suit/space/rig/rigchest = wornrig.chest if(weld_rate && rigchest.damage && cell.checked_use(weld_power_use * weld_rate * CELLRATE)) rigchest.breaches = list() rigchest.calc_breach_damage() - to_chat(H, "[rigchest] is repaired!") + to_chat(H, span_notice("[rigchest] is repaired!")) if(wornrig.cell) - var/obj/item/weapon/cell/rigcell = wornrig.cell + var/obj/item/cell/rigcell = wornrig.cell var/diff = min(rigcell.maxcharge - rigcell.charge, charging_power * CELLRATE) // Capped by charging_power / tick var/charge_used = cell.use(diff) rigcell.give(charge_used) @@ -171,8 +171,8 @@ return if(default_part_replacement(user, O)) return - if (istype(O, /obj/item/weapon/grab) && get_dist(src,user)<2) - var/obj/item/weapon/grab/G = O + if (istype(O, /obj/item/grab) && get_dist(src,user)<2) + var/obj/item/grab/G = O if(istype(G.affecting,/mob/living)) var/mob/living/M = G.affecting qdel(O) @@ -191,12 +191,12 @@ var/man_rating = 0 var/cap_rating = 0 - for(var/obj/item/weapon/stock_parts/P in component_parts) - if(istype(P, /obj/item/weapon/stock_parts/capacitor)) + for(var/obj/item/stock_parts/P in component_parts) + if(istype(P, /obj/item/stock_parts/capacitor)) cap_rating += P.rating - if(istype(P, /obj/item/weapon/stock_parts/manipulator)) + if(istype(P, /obj/item/stock_parts/manipulator)) man_rating += P.rating - cell = locate(/obj/item/weapon/cell) in component_parts + cell = locate(/obj/item/cell) in component_parts charging_power = 40000 + 40000 * cap_rating restore_power_active = 10000 + 15000 * cap_rating @@ -262,7 +262,7 @@ return if(istype(R, /mob/living/silicon/robot/platform)) - to_chat(R, SPAN_WARNING("You are too large to fit into \the [src].")) + to_chat(R, span_warning("You are too large to fit into \the [src].")) return add_fingerprint(R) diff --git a/code/game/machinery/records_scanner.dm b/code/game/machinery/records_scanner.dm index b80548e876c..e6aeb521e5d 100644 --- a/code/game/machinery/records_scanner.dm +++ b/code/game/machinery/records_scanner.dm @@ -69,10 +69,10 @@ Black Marks:
"} for(var/A in marks) - text += "[A]
" - to_chat(user, "You feel a sting as the scanner extracts some of your blood.") + text += span_danger("[A]") + "
" + to_chat(user, span_notice("You feel a sting as the scanner extracts some of your blood.")) var/turf/T = get_step(src,outputdir) - var/obj/item/weapon/paper/print = new(T) + var/obj/item/paper/print = new(T) print.name = "[mname] Report" print.info = text print.stamped = 1 diff --git a/code/game/machinery/requests_console.dm b/code/game/machinery/requests_console.dm index 2738b359182..8f998d90d9d 100644 --- a/code/game/machinery/requests_console.dm +++ b/code/game/machinery/requests_console.dm @@ -24,7 +24,7 @@ var/list/obj/machinery/requests_console/allConsoles = list() icon = 'icons/obj/terminals_vr.dmi' //VOREStation Edit icon_state = "req_comp_0" layer = ABOVE_WINDOW_LAYER - circuit = /obj/item/weapon/circuitboard/request + circuit = /obj/item/circuitboard/request blocks_emissive = NONE light_power = 0.25 light_color = "#00ff00" @@ -137,18 +137,18 @@ var/list/obj/machinery/requests_console/allConsoles = list() data["announceAuth"] = announceAuth return data -/obj/machinery/requests_console/tgui_act(action, list/params) +/obj/machinery/requests_console/tgui_act(action, list/params, datum/tgui/ui) if(..()) return TRUE - add_fingerprint(usr) + add_fingerprint(ui.user) switch(action) if("write") if(reject_bad_text(params["write"])) recipient = params["write"] //write contains the string of the receiving department's name - var/new_message = sanitize(tgui_input_text(usr, "Write your message:", "Awaiting Input", "")) + var/new_message = sanitize(tgui_input_text(ui.user, "Write your message:", "Awaiting Input", "")) if(new_message) message = new_message screen = RCS_MESSAUTH @@ -164,7 +164,7 @@ var/list/obj/machinery/requests_console/allConsoles = list() . = TRUE if("writeAnnouncement") - var/new_message = sanitize(tgui_input_text(usr, "Write your message:", "Awaiting Input", "")) + var/new_message = sanitize(tgui_input_text(ui.user, "Write your message:", "Awaiting Input", "")) if(new_message) message = new_message else @@ -200,10 +200,10 @@ var/list/obj/machinery/requests_console/allConsoles = list() if("print") var/msg = message_log[text2num(params["print"])]; if(msg) - msg = "[msg[1]]:
[msg[2]]" + msg = span_bold("[msg[1]]:") + "
[msg[2]]" msg = replacetext(msg, "
", "\n") msg = strip_html_properly(msg) - var/obj/item/weapon/paper/R = new(src.loc) + var/obj/item/paper/R = new(src.loc) R.name = "[department] Message" R.info = "

[department] Requests Console

[msg]
" . = TRUE @@ -229,13 +229,13 @@ var/list/obj/machinery/requests_console/allConsoles = list() . = TRUE //err... hacking code, which has no reason for existing... but anyway... it was once supposed to unlock priority 3 messaging on that console (EXTREME priority...), but the code for that was removed. -/obj/machinery/requests_console/attackby(var/obj/item/weapon/O as obj, var/mob/user as mob) +/obj/machinery/requests_console/attackby(var/obj/item/O as obj, var/mob/user as mob) if(computer_deconstruction_screwdriver(user, O)) return - if(istype(O, /obj/item/device/multitool)) - var/input = sanitize(tgui_input_text(usr, "What Department ID would you like to give this request console?", "Multitool-Request Console Interface", department)) + if(istype(O, /obj/item/multitool)) + var/input = sanitize(tgui_input_text(user, "What Department ID would you like to give this request console?", "Multitool-Request Console Interface", department)) if(!input) - to_chat(usr, "No input found. Please hang up and try your call again.") + to_chat(user, "No input found. Please hang up and try your call again.") return department = input announcement.title = "[department] announcement" @@ -251,25 +251,25 @@ var/list/obj/machinery/requests_console/allConsoles = list() req_console_information |= department return - if(istype(O, /obj/item/weapon/card/id)) + if(istype(O, /obj/item/card/id)) if(inoperable(MAINT)) return if(screen == RCS_MESSAUTH) - var/obj/item/weapon/card/id/T = O + var/obj/item/card/id/T = O msgVerified = text("Verified by [T.registered_name] ([T.assignment])") SStgui.update_uis(src) if(screen == RCS_ANNOUNCE) - var/obj/item/weapon/card/id/ID = O + var/obj/item/card/id/ID = O if(access_RC_announce in ID.GetAccess()) announceAuth = 1 announcement.announcer = ID.assignment ? "[ID.assignment] [ID.registered_name]" : ID.registered_name else reset_message() - to_chat(user, "You are not authorized to send announcements.") + to_chat(user, span_warning("You are not authorized to send announcements.")) SStgui.update_uis(src) - if(istype(O, /obj/item/weapon/stamp)) + if(istype(O, /obj/item/stamp)) if(inoperable(MAINT)) return if(screen == RCS_MESSAUTH) - var/obj/item/weapon/stamp/T = O + var/obj/item/stamp/T = O msgStamped = text("Stamped with the [T.name]") SStgui.update_uis(src) return diff --git a/code/game/machinery/requests_console_vr.dm b/code/game/machinery/requests_console_vr.dm index 90504d49dce..1bffa01348b 100644 --- a/code/game/machinery/requests_console_vr.dm +++ b/code/game/machinery/requests_console_vr.dm @@ -44,8 +44,8 @@ departmentType = RC_ASSIST|RC_SUPPLY /obj/machinery/requests_console/preset/janitor - name = "Janitor RC" - department = "Janitorial" + name = JOB_JANITOR + " RC" + department = JOB_JANITOR + "ial" departmentType = RC_ASSIST /obj/machinery/requests_console/preset/bridge @@ -57,26 +57,26 @@ // Heads /obj/machinery/requests_console/preset/ce - name = "Chief Engineer RC" - department = "Chief Engineer's Desk" + name = JOB_CHIEF_ENGINEER + " RC" + department = JOB_CHIEF_ENGINEER + "'s Desk" departmentType = RC_ASSIST|RC_INFO announcementConsole = 1 /obj/machinery/requests_console/preset/cmo - name = "Chief Medical Officer RC" - department = "Chief Medical Officer's Desk" + name = JOB_CHIEF_MEDICAL_OFFICER + " RC" + department = JOB_CHIEF_MEDICAL_OFFICER + "'s Desk" departmentType = RC_ASSIST|RC_INFO announcementConsole = 1 /obj/machinery/requests_console/preset/hos - name = "Head of Security RC" - department = "Head of Security's Desk" + name = JOB_HEAD_OF_SECURITY + " RC" + department = JOB_HEAD_OF_SECURITY + "'s Desk" departmentType = RC_ASSIST|RC_INFO announcementConsole = 1 /obj/machinery/requests_console/preset/rd - name = "Research Director RC" - department = "Research Director's Desk" + name = JOB_RESEARCH_DIRECTOR + " RC" + department = JOB_RESEARCH_DIRECTOR +"'s Desk" departmentType = RC_ASSIST|RC_INFO announcementConsole = 1 @@ -87,8 +87,8 @@ announcementConsole = 1 /obj/machinery/requests_console/preset/ai - name = "AI RC" - department = "AI" + name = JOB_AI + " RC" + department = JOB_AI departmentType = RC_ASSIST|RC_INFO /obj/machinery/requests_console/preset/hop //yw edit diff --git a/code/game/machinery/seed_extractor.dm b/code/game/machinery/seed_extractor.dm index 77cf8d1509a..2f349c04467 100644 --- a/code/game/machinery/seed_extractor.dm +++ b/code/game/machinery/seed_extractor.dm @@ -9,20 +9,20 @@ /obj/machinery/seed_extractor/attackby(var/obj/item/O as obj, var/mob/user as mob) // Fruits and vegetables. - if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/grown) || istype(O, /obj/item/weapon/grown)) + if(istype(O, /obj/item/reagent_containers/food/snacks/grown) || istype(O, /obj/item/grown)) user.remove_from_mob(O) var/datum/seed/new_seed_type - if(istype(O, /obj/item/weapon/grown)) - var/obj/item/weapon/grown/F = O + if(istype(O, /obj/item/grown)) + var/obj/item/grown/F = O new_seed_type = SSplants.seeds[F.plantname] else - var/obj/item/weapon/reagent_containers/food/snacks/grown/F = O + var/obj/item/reagent_containers/food/snacks/grown/F = O new_seed_type = SSplants.seeds[F.plantname] if(new_seed_type) - to_chat(user, "You extract some seeds from [O].") + to_chat(user, span_notice("You extract some seeds from [O].")) var/produce = rand(1,4) for(var/i = 0;i<=produce;i++) var/obj/item/seeds/seeds = new(get_turf(src)) @@ -37,10 +37,10 @@ else if(istype(O, /obj/item/stack/tile/grass)) var/obj/item/stack/tile/grass/S = O if(S.use(1)) - to_chat(user, "You extract some seeds from the grass tile.") + to_chat(user, span_notice("You extract some seeds from the grass tile.")) new /obj/item/seeds/grassseed(loc) - else if(istype(O, /obj/item/weapon/fossil/plant)) // Fossils + else if(istype(O, /obj/item/fossil/plant)) // Fossils var/obj/item/seeds/random/R = new(get_turf(src)) to_chat(user, "\The [src] pulverizes \the [O] and spits out \the [R].") qdel(O) @@ -48,4 +48,4 @@ else if(default_unfasten_wrench(user, O, 20)) return - return \ No newline at end of file + return diff --git a/code/game/machinery/spaceheater.dm b/code/game/machinery/spaceheater.dm index f5505ba9da4..a10c4aa36da 100644 --- a/code/game/machinery/spaceheater.dm +++ b/code/game/machinery/spaceheater.dm @@ -16,8 +16,8 @@ light_power = 1 light_on = FALSE - var/obj/item/weapon/cell/cell - var/cell_type = /obj/item/weapon/cell/high + var/obj/item/cell/cell + var/cell_type = /obj/item/cell/high var/state = 0 var/set_temperature = T0C + 20 //K var/heating_power = 40000 @@ -71,21 +71,21 @@ ..(severity) /obj/machinery/space_heater/attackby(obj/item/I, mob/user) - if(istype(I, /obj/item/weapon/cell)) + if(istype(I, /obj/item/cell)) if(panel_open) if(cell) to_chat(user, "There is already a power cell inside.") return else // insert cell - var/obj/item/weapon/cell/C = usr.get_active_hand() + var/obj/item/cell/C = user.get_active_hand() if(istype(C)) user.drop_item() cell = C C.loc = src - C.add_fingerprint(usr) + C.add_fingerprint(user) - user.visible_message("[user] inserts a power cell into [src].", "You insert the power cell into [src].") + user.visible_message(span_notice("[user] inserts a power cell into [src]."), span_notice("You insert the power cell into [src].")) power_change() else to_chat(user, "The hatch must be open to insert a power cell.") @@ -93,7 +93,7 @@ else if(I.has_tool_quality(TOOL_SCREWDRIVER)) panel_open = !panel_open playsound(src, I.usesound, 50, 1) - user.visible_message("[user] [panel_open ? "opens" : "closes"] the hatch on the [src].", "You [panel_open ? "open" : "close"] the hatch on the [src].") + user.visible_message(span_notice("[user] [panel_open ? "opens" : "closes"] the hatch on the [src]."), span_notice("You [panel_open ? "open" : "close"] the hatch on the [src].")) update_icon() if(!panel_open && user.machine == src) user << browse(null, "window=spaceheater") @@ -111,7 +111,7 @@ tgui_interact(user) else state = state ? SHEATER_OFF : SHEATER_STANDBY - user.visible_message("[user] switches [state ? "on" : "off"] the [src].","You switch [state ? "on" : "off"] the [src].") + user.visible_message(span_notice("[user] switches [state ? "on" : "off"] the [src]."),span_notice("You switch [state ? "on" : "off"] the [src].")) update_icon() return @@ -140,7 +140,7 @@ return data -/obj/machinery/space_heater/tgui_act(action, params) +/obj/machinery/space_heater/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE @@ -154,11 +154,11 @@ . = TRUE if("cellremove") - if(cell && !usr.get_active_hand()) - usr.visible_message("[usr] removes [cell] from [src].", "You remove [cell] from [src].") + if(cell && !ui.user.get_active_hand()) + ui.user.visible_message(span_notice("[ui.user] removes [cell] from [src]."), span_notice("You remove [cell] from [src].")) cell.update_icon() - usr.put_in_hands(cell) - cell.add_fingerprint(usr) + ui.user.put_in_hands(cell) + cell.add_fingerprint(ui.user) cell = null power_change() . = TRUE @@ -166,14 +166,14 @@ if("cellinstall") if(!cell) - var/obj/item/weapon/cell/C = usr.get_active_hand() + var/obj/item/cell/C = ui.user.get_active_hand() if(istype(C)) - usr.drop_item() + ui.user.drop_item() cell = C C.loc = src - C.add_fingerprint(usr) + C.add_fingerprint(ui.user) power_change() - usr.visible_message("[usr] inserts \the [C] into \the [src].", "You insert \the [C] into \the [src].") + ui.user.visible_message(span_notice("[ui.user] inserts \the [C] into \the [src]."), span_notice("You insert \the [C] into \the [src].")) . = TRUE /obj/machinery/space_heater/process() @@ -220,4 +220,4 @@ #undef SHEATER_OFF #undef SHEATER_STANDBY #undef SHEATER_HEAT -#undef SHEATER_COOL \ No newline at end of file +#undef SHEATER_COOL diff --git a/code/game/machinery/status_display.dm b/code/game/machinery/status_display.dm index 80d28b7e3d3..d56f24d06fc 100644 --- a/code/game/machinery/status_display.dm +++ b/code/game/machinery/status_display.dm @@ -20,7 +20,7 @@ unacidable = TRUE use_power = USE_POWER_IDLE idle_power_usage = 10 - circuit = /obj/item/weapon/circuitboard/status_display + circuit = /obj/item/circuitboard/status_display var/mode = 1 // 0 = Blank // 1 = Shuttle timer // 2 = Arbitrary message(s) diff --git a/code/game/machinery/status_display_ai.dm b/code/game/machinery/status_display_ai.dm index 477c4d7937f..988e3458a07 100644 --- a/code/game/machinery/status_display_ai.dm +++ b/code/game/machinery/status_display_ai.dm @@ -65,7 +65,7 @@ var/list/ai_status_emotions = list( name = "AI display" anchored = TRUE density = FALSE - circuit = /obj/item/weapon/circuitboard/ai_status_display + circuit = /obj/item/circuitboard/ai_status_display var/mode = 0 // 0 = Blank // 1 = AI emoticon diff --git a/code/game/machinery/suit_storage/suit_cycler.dm b/code/game/machinery/suit_storage/suit_cycler.dm index 6803194eef7..e9bbf206491 100644 --- a/code/game/machinery/suit_storage/suit_cycler.dm +++ b/code/game/machinery/suit_storage/suit_cycler.dm @@ -141,26 +141,26 @@ GLOBAL_LIST_EMPTY(suit_cycler_typecache) return //Hacking init. - if(istype(I, /obj/item/device/multitool) || I.has_tool_quality(TOOL_WIRECUTTER)) + if(istype(I, /obj/item/multitool) || I.has_tool_quality(TOOL_WIRECUTTER)) if(panel_open) attack_hand(user) return //Other interface stuff. - if(istype(I, /obj/item/weapon/grab)) - var/obj/item/weapon/grab/G = I + if(istype(I, /obj/item/grab)) + var/obj/item/grab/G = I if(!(ismob(G.affecting))) return if(locked) - to_chat(user, "The suit cycler is locked.") + to_chat(user, span_danger("The suit cycler is locked.")) return if(contents.len > 0) - to_chat(user, "There is no room inside the cycler for [G.affecting.name].") + to_chat(user, span_danger("There is no room inside the cycler for [G.affecting.name].")) return - visible_message("[user] starts putting [G.affecting.name] into the suit cycler.", 3) + visible_message(span_notice("[user] starts putting [G.affecting.name] into the suit cycler."), 3) if(do_after(user, 20)) if(!G || !G.affecting) return @@ -189,15 +189,15 @@ GLOBAL_LIST_EMPTY(suit_cycler_typecache) var/obj/item/clothing/head/helmet/space/void/IH = I if(locked) - to_chat(user, "The suit cycler is locked.") + to_chat(user, span_danger("The suit cycler is locked.")) return if(helmet) - to_chat(user, "The cycler already contains a helmet.") + to_chat(user, span_danger("The cycler already contains a helmet.")) return if(IH.no_cycle) - to_chat(user, "That item is not compatible with the cycler's protocols.") + to_chat(user, span_danger("That item is not compatible with the cycler's protocols.")) return if(I.icon_override == CUSTOM_ITEM_MOB) @@ -229,15 +229,15 @@ GLOBAL_LIST_EMPTY(suit_cycler_typecache) var/obj/item/clothing/suit/space/void/IS = I if(locked) - to_chat(user, "The suit cycler is locked.") + to_chat(user, span_danger("The suit cycler is locked.")) return if(suit) - to_chat(user, "The cycler already contains a voidsuit.") + to_chat(user, span_danger("The cycler already contains a voidsuit.")) return if(IS.no_cycle) - to_chat(user, "That item is not compatible with the cycler's protocols.") + to_chat(user, span_danger("That item is not compatible with the cycler's protocols.")) return if(I.icon_override == CUSTOM_ITEM_MOB) @@ -269,11 +269,11 @@ GLOBAL_LIST_EMPTY(suit_cycler_typecache) /obj/machinery/suit_cycler/emag_act(var/remaining_charges, var/mob/user) if(emagged) - to_chat(user, "The cycler has already been subverted.") + to_chat(user, span_danger("The cycler has already been subverted.")) return //Clear the access reqs, disable the safeties, and open up all paintjobs. - to_chat(user, "You run the sequencer across the interface, corrupting the operating protocols.") + to_chat(user, span_danger("You run the sequencer across the interface, corrupting the operating protocols.")) emagged = 1 safeties = 0 @@ -357,7 +357,7 @@ GLOBAL_LIST_EMPTY(suit_cycler_typecache) return data -/obj/machinery/suit_cycler/tgui_act(action, params) +/obj/machinery/suit_cycler/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE @@ -409,20 +409,20 @@ GLOBAL_LIST_EMPTY(suit_cycler_typecache) . = TRUE if("lock") - if(allowed(usr)) + if(allowed(ui.user)) locked = !locked - to_chat(usr, "You [locked ? "" : "un"]lock \the [src].") + to_chat(ui.user, "You [locked ? "" : "un"]lock \the [src].") else - to_chat(usr, "Access denied.") + to_chat(ui.user, span_danger("Access denied.")) . = TRUE if("eject_guy") - eject_occupant(usr) + eject_occupant(ui.user) . = TRUE if("uv") if(safeties && occupant) - to_chat(usr, "The cycler has detected an occupant. Please remove the occupant before commencing the decontamination cycle.") + to_chat(ui.user, span_danger("The cycler has detected an occupant. Please remove the occupant before commencing the decontamination cycle.")) return active = 1 @@ -477,7 +477,7 @@ GLOBAL_LIST_EMPTY(suit_cycler_typecache) /obj/machinery/suit_cycler/proc/finished_job() var/turf/T = get_turf(src) - T.visible_message("[icon2html(src,viewers(src))]The [src] beeps several times.") + T.visible_message("[icon2html(src,viewers(src))]" + span_notice("The [src] beeps several times.")) icon_state = initial(icon_state) active = 0 playsound(src, 'sound/machines/boobeebeep.ogg', 50) @@ -505,7 +505,7 @@ GLOBAL_LIST_EMPTY(suit_cycler_typecache) /obj/machinery/suit_cycler/proc/eject_occupant(mob/user as mob) if(locked || active) - to_chat(user, "The cycler is locked.") + to_chat(user, span_warning("The cycler is locked.")) return if(!occupant) @@ -543,5 +543,5 @@ GLOBAL_LIST_EMPTY(suit_cycler_typecache) if(target_species.can_refit_to(helmet, suit, suit?.helmet)) target_species.do_refit_to(helmet, suit, suit?.helmet) else - visible_message("[icon2html(src,viewers(src))]Unable to apply specified cosmetics with specified species. Please try again with a different species or cosmetic option selected.") + visible_message("[icon2html(src,viewers(src))]" + span_warning("Unable to apply specified cosmetics with specified species. Please try again with a different species or cosmetic option selected.")) return diff --git a/code/game/machinery/suit_storage/suit_cycler_units.dm b/code/game/machinery/suit_storage/suit_cycler_units.dm index 82134bc94be..f77cb6d4d17 100644 --- a/code/game/machinery/suit_storage/suit_cycler_units.dm +++ b/code/game/machinery/suit_storage/suit_cycler_units.dm @@ -109,4 +109,4 @@ model_text = "Vintage Master" limit_departments = list( /datum/suit_cycler_choice/department/vintage - ) \ No newline at end of file + ) diff --git a/code/game/machinery/suit_storage/suit_storage.dm b/code/game/machinery/suit_storage/suit_storage.dm index 021b050c5f8..b4a89aa5c04 100644 --- a/code/game/machinery/suit_storage/suit_storage.dm +++ b/code/game/machinery/suit_storage/suit_storage.dm @@ -120,45 +120,45 @@ data["occupied"] = FALSE return data -/obj/machinery/suit_storage_unit/tgui_act(action, params) //I fucking HATE this proc +/obj/machinery/suit_storage_unit/tgui_act(action, params, datum/tgui/ui) //I fucking HATE this proc if(..() || isUV || isbroken) return TRUE switch(action) if("door") - toggle_open(usr) + toggle_open(ui.user) . = TRUE if("dispense") switch(params["item"]) if("helmet") - dispense_helmet(usr) + dispense_helmet(ui.user) if("mask") - dispense_mask(usr) + dispense_mask(ui.user) if("suit") - dispense_suit(usr) + dispense_suit(ui.user) . = TRUE if("uv") - start_UV(usr) + start_UV(ui.user) . = TRUE if("lock") - toggle_lock(usr) + toggle_lock(ui.user) . = TRUE if("eject_guy") - eject_occupant(usr) + eject_occupant(ui.user) . = TRUE // Panel Open stuff if(!. && panelopen) switch(action) if("toggleUV") - toggleUV(usr) + toggleUV(ui.user) . = TRUE if("togglesafeties") - togglesafeties(usr) + togglesafeties(ui.user) . = TRUE update_icon() - add_fingerprint(usr) + add_fingerprint(ui.user) /obj/machinery/suit_storage_unit/proc/toggleUV(mob/user as mob) @@ -167,10 +167,10 @@ else //welp, the guy is protected, we can continue if(issuperUV) - to_chat(user, "You slide the dial back towards \"185nm\".") + to_chat(user, span_info("You slide the dial back towards \"185nm\".")) issuperUV = 0 else - to_chat(user, "You crank the dial all the way up to \"15nm\".") + to_chat(user, span_info("You crank the dial all the way up to \"15nm\".")) issuperUV = 1 return @@ -180,7 +180,7 @@ return else - to_chat(user, "You push the button. The coloured LED next to it changes.") + to_chat(user, span_info("You push the button. The coloured LED next to it changes.")) safetieson = !safetieson @@ -229,7 +229,7 @@ /obj/machinery/suit_storage_unit/proc/toggle_open(mob/user as mob) if(islocked || isUV) - to_chat(user, span_red("Unable to open unit.")) + to_chat(user, span_warning("Unable to open unit.")) return if(OCCUPANT) eject_occupant(user) @@ -240,7 +240,7 @@ /obj/machinery/suit_storage_unit/proc/toggle_lock(mob/user as mob) if(OCCUPANT && safetieson) - to_chat(user, span_red("The Unit's safety protocols disallow locking when a biological form is detected inside its compartments.")) + to_chat(user, span_warning("The Unit's safety protocols disallow locking when a biological form is detected inside its compartments.")) return if(isopen) return @@ -252,12 +252,12 @@ if(isUV || isopen) //I'm bored of all these sanity checks return if(OCCUPANT && safetieson) - to_chat(user, span_red("WARNING: Biological entity detected in the confines of the Unit's storage. Cannot initiate cycle.")) + to_chat(user, span_warning(span_bold("WARNING:") + "Biological entity detected in the confines of the Unit's storage. Cannot initiate cycle.")) return if(!HELMET && !MASK && !SUIT && !OCCUPANT) //shit's empty yo - to_chat(user, span_red("Unit storage bays empty. Nothing to disinfect -- Aborting.")) + to_chat(user, span_warning("Unit storage bays empty. Nothing to disinfect -- Aborting.")) return - to_chat(user, "You start the Unit's cauterisation cycle.") + to_chat(user, span_notice("You start the Unit's cauterisation cycle.")) cycletime_left = 20 isUV = 1 if(OCCUPANT && !islocked) @@ -295,7 +295,7 @@ SUIT = null if(MASK) MASK = null - visible_message(span_red("With a loud whining noise, the Suit Storage Unit's door grinds open. Puffs of ashen smoke come out of its chamber."), 3) + visible_message(span_danger("With a loud whining noise, the Suit Storage Unit's door grinds open. Puffs of ashen smoke come out of its chamber."), 3) isbroken = 1 isopen = 1 islocked = 0 @@ -320,9 +320,9 @@ if(OCCUPANT.client) if(user != OCCUPANT) - to_chat(OCCUPANT, span_blue("The machine kicks you out!")) + to_chat(OCCUPANT, span_notice("The machine kicks you out!")) if(user.loc != src.loc) - to_chat(OCCUPANT, span_blue("You leave the not-so-cozy confines of the SSU.")) + to_chat(OCCUPANT, span_notice("You leave the not-so-cozy confines of the SSU.")) OCCUPANT.client.eye = OCCUPANT.client.mob OCCUPANT.client.perspective = MOB_PERSPECTIVE @@ -356,15 +356,15 @@ if(usr.stat != 0) return if(!isopen) - to_chat(usr, span_red("The unit's doors are shut.")) + to_chat(usr, span_warning("The unit's doors are shut.")) return if(!ispowered || isbroken) - to_chat(usr, span_red("The unit is not operational.")) + to_chat(usr, span_warning("The unit is not operational.")) return if((OCCUPANT) || (HELMET) || (SUIT)) - to_chat(usr, span_red("It's too cluttered inside for you to fit in!")) + to_chat(usr, span_warning("It's too cluttered inside for you to fit in!")) return - visible_message("[usr] starts squeezing into the suit storage unit!", 3) + visible_message(span_info("[usr] starts squeezing into the suit storage unit!"), 3) if(do_after(usr, 10)) usr.stop_pulling() usr.client.perspective = EYE_PERSPECTIVE @@ -388,23 +388,23 @@ if(I.has_tool_quality(TOOL_SCREWDRIVER)) panelopen = !panelopen playsound(src, I.usesound, 100, 1) - to_chat(user, span_blue("You [panelopen ? "open up" : "close"] the unit's maintenance panel.")) + to_chat(user, span_notice("You [panelopen ? "open up" : "close"] the unit's maintenance panel.")) updateUsrDialog() return - if(istype(I, /obj/item/weapon/grab)) - var/obj/item/weapon/grab/G = I + if(istype(I, /obj/item/grab)) + var/obj/item/grab/G = I if(!(ismob(G.affecting))) return if(!isopen) - to_chat(user, span_red("The unit's doors are shut.")) + to_chat(user, span_warning("The unit's doors are shut.")) return if(!ispowered || isbroken) - to_chat(user, span_red("The unit is not operational.")) + to_chat(user, span_warning("The unit is not operational.")) return if((OCCUPANT) || (HELMET) || (SUIT)) //Unit needs to be absolutely empty - to_chat(user, span_red("The unit's storage area is too cluttered.")) + to_chat(user, span_warning("The unit's storage area is too cluttered.")) return - visible_message("[user] starts putting [G.affecting.name] into the Suit Storage Unit.", 3) + visible_message(span_notice("[user] starts putting [G.affecting.name] into the Suit Storage Unit."), 3) if(do_after(user, 20)) if(!G || !G.affecting) return //derpcheck var/mob/M = G.affecting @@ -426,9 +426,9 @@ return var/obj/item/clothing/suit/space/S = I if(SUIT) - to_chat(user, span_blue("The unit already contains a suit.")) + to_chat(user, span_notice("The unit already contains a suit.")) return - to_chat(user, "You load the [S.name] into the storage compartment.") + to_chat(user, span_info("You load the [S.name] into the storage compartment.")) user.drop_item() S.loc = src SUIT = S @@ -440,9 +440,9 @@ return var/obj/item/clothing/head/helmet/H = I if(HELMET) - to_chat(user, span_blue("The unit already contains a helmet.")) + to_chat(user, span_notice("The unit already contains a helmet.")) return - to_chat(user, "You load the [H.name] into the storage compartment.") + to_chat(user, span_info("You load the [H.name] into the storage compartment.")) user.drop_item() H.loc = src HELMET = H @@ -454,9 +454,9 @@ return var/obj/item/clothing/mask/M = I if(MASK) - to_chat(user, span_blue("The unit already contains a mask.")) + to_chat(user, span_notice("The unit already contains a mask.")) return - to_chat(user, "You load the [M.name] into the storage compartment.") + to_chat(user, span_info("You load the [M.name] into the storage compartment.")) user.drop_item() M.loc = src MASK = M diff --git a/code/game/machinery/supplybeacon.dm b/code/game/machinery/supplybeacon.dm index f3d4bb574fd..c70e567c8bb 100644 --- a/code/game/machinery/supplybeacon.dm +++ b/code/game/machinery/supplybeacon.dm @@ -12,11 +12,11 @@ deploy_path = /obj/machinery/power/supply_beacon/supermatter /obj/item/supply_beacon/attack_self(var/mob/user) - user.visible_message("\The [user] begins setting up \the [src].") + user.visible_message(span_infoplain(span_bold("\The [user]") + " begins setting up \the [src].")) if(!do_after(user, deploy_time)) return var/obj/S = new deploy_path(get_turf(user)) - user.visible_message("\The [user] deploys \the [S].") + user.visible_message(span_infoplain(span_bold("\The [user]") + " deploys \the [S].")) user.unEquip(src) qdel(src) @@ -44,13 +44,13 @@ name = "supermatter supply beacon" drop_type = "supermatter" -/obj/machinery/power/supply_beacon/attackby(var/obj/item/weapon/W, var/mob/user) +/obj/machinery/power/supply_beacon/attackby(var/obj/item/W, var/mob/user) if(!use_power && W.has_tool_quality(TOOL_WRENCH)) if(!anchored && !connect_to_network()) - to_chat(user, "This device must be placed over an exposed cable.") + to_chat(user, span_warning("This device must be placed over an exposed cable.")) return anchored = !anchored - user.visible_message("\The [user] [anchored ? "secures" : "unsecures"] \the [src].") + user.visible_message(span_notice("\The [user] [anchored ? "secures" : "unsecures"] \the [src].")) playsound(src, W.usesound, 50, 1) return return ..() @@ -59,13 +59,13 @@ if(expended) update_use_power(USE_POWER_OFF) - to_chat (user, "\The [src] has used up its charge.") + to_chat (user, span_warning("\The [src] has used up its charge.")) return if(anchored) return use_power ? deactivate(user) : activate(user) else - to_chat(user, "You need to secure the beacon with a wrench first!") + to_chat(user, span_warning("You need to secure the beacon with a wrench first!")) return /obj/machinery/power/supply_beacon/attack_ai(var/mob/user) @@ -76,12 +76,12 @@ if(expended) return if(surplus() < 500) - if(user) to_chat(user, "The connected wire doesn't have enough current.") + if(user) to_chat(user, span_notice("The connected wire doesn't have enough current.")) return set_light(3, 3, "#00CCAA") icon_state = "beacon_active" update_use_power(USE_POWER_IDLE) - if(user) to_chat(user, "You activate the beacon. The supply drop will be dispatched soon.") + if(user) to_chat(user, span_notice("You activate the beacon. The supply drop will be dispatched soon.")) /obj/machinery/power/supply_beacon/proc/deactivate(var/mob/user, var/permanent) if(permanent) @@ -92,7 +92,7 @@ set_light(0) update_use_power(USE_POWER_OFF) target_drop_time = null - if(user) to_chat(user, "You deactivate the beacon.") + if(user) to_chat(user, span_notice("You deactivate the beacon.")) /obj/machinery/power/supply_beacon/Destroy() if(use_power) diff --git a/code/game/machinery/syndicatebeacon.dm b/code/game/machinery/syndicatebeacon.dm index 023a096f9ca..0c03ce9044b 100644 --- a/code/game/machinery/syndicatebeacon.dm +++ b/code/game/machinery/syndicatebeacon.dm @@ -17,7 +17,7 @@ var/charges = 1 /obj/machinery/syndicate_beacon/attack_hand(var/mob/user as mob) - usr.set_machine(src) + user.set_machine(src) var/dat = "Scanning [pick("retina pattern", "voice print", "fingerprints", "dna sequence")]...
Identity confirmed,
" if(istype(user, /mob/living/carbon/human) || istype(user, /mob/living/silicon/ai)) if(is_special_character(user)) @@ -43,7 +43,7 @@ updateUsrDialog() return var/mob/M = locate(href_list["traitormob"]) - if(M.mind.special_role || jobban_isbanned(M, "Syndicate")) + if(M.mind.special_role || jobban_isbanned(M, JOB_SYNDICATE)) temptext = "We have no need for you at this time. Have a pleasant day.
" updateUsrDialog() return @@ -58,7 +58,7 @@ return if(istype(M, /mob/living/carbon/human)) var/mob/living/carbon/human/N = M - to_chat(N, "You have joined the ranks of the Syndicate and become a traitor to the station!") + to_chat(N, span_infoplain(span_bold("You have joined the ranks of the Syndicate and become a traitor to the station!"))) traitors.add_antagonist(N.mind) traitors.equip(N) message_admins("[N]/([N.ckey]) has accepted a traitor objective from a syndicate beacon.") @@ -90,7 +90,7 @@ /obj/machinery/power/singularity_beacon/proc/Activate(mob/user = null) if(surplus() < 1500) if(user) - to_chat(user, "The connected wire doesn't have enough current.") + to_chat(user, span_notice("The connected wire doesn't have enough current.")) return for(var/obj/singularity/singulo in GLOB.all_singularities) if(singulo.z == z) @@ -99,7 +99,7 @@ active = 1 START_MACHINE_PROCESSING(src) if(user) - to_chat(user, "You activate the beacon.") + to_chat(user, span_notice("You activate the beacon.")) /obj/machinery/power/singularity_beacon/proc/Deactivate(mob/user = null) for(var/obj/singularity/singulo in GLOB.all_singularities) @@ -108,7 +108,7 @@ icon_state = "[icontype]0" active = 0 if(user) - to_chat(user, "You deactivate the beacon.") + to_chat(user, span_notice("You deactivate the beacon.")) /obj/machinery/power/singularity_beacon/attack_ai(mob/user as mob) return @@ -117,18 +117,18 @@ if(anchored) return active ? Deactivate(user) : Activate(user) else - to_chat(user, "You need to screw the beacon to the floor first!") + to_chat(user, span_danger("You need to screw the beacon to the floor first!")) return -/obj/machinery/power/singularity_beacon/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/machinery/power/singularity_beacon/attackby(obj/item/W as obj, mob/user as mob) if(W.has_tool_quality(TOOL_SCREWDRIVER)) if(active) - to_chat(user, "You need to deactivate the beacon first!") + to_chat(user, span_danger("You need to deactivate the beacon first!")) return if(anchored) anchored = FALSE - to_chat(user, "You unscrew the beacon from the floor.") + to_chat(user, span_notice("You unscrew the beacon from the floor.")) playsound(src, W.usesound, 50, 1) disconnect_from_network() return @@ -137,7 +137,7 @@ to_chat(user, "This device must be placed over an exposed cable.") return anchored = TRUE - to_chat(user, "You screw the beacon to the floor and attach the cable.") + to_chat(user, span_notice("You screw the beacon to the floor and attach the cable.")) playsound(src, W.usesound, 50, 1) return ..() diff --git a/code/game/machinery/syndicatebeacon_vr.dm b/code/game/machinery/syndicatebeacon_vr.dm index 30dd61458c3..b5762b18491 100644 --- a/code/game/machinery/syndicatebeacon_vr.dm +++ b/code/game/machinery/syndicatebeacon_vr.dm @@ -1,7 +1,7 @@ // Virgo modified syndie beacon, does not give objectives /obj/machinery/syndicate_beacon/virgo/attack_hand(var/mob/user as mob) - usr.set_machine(src) + user.set_machine(src) var/dat = "Scanning [pick("retina pattern", "voice print", "fingerprints", "dna sequence")]...
Identity confirmed,
" if(istype(user, /mob/living/carbon/human) || istype(user, /mob/living/silicon/ai)) if(is_special_character(user)) @@ -25,14 +25,14 @@ updateUsrDialog() return var/mob/M = locate(href_list["traitormob"]) - if(M.mind.tcrystals > 0 || jobban_isbanned(M, "Syndicate")) + if(M.mind.tcrystals > 0 || jobban_isbanned(M, JOB_SYNDICATE)) temptext = "We have no need for you at this time. Have a pleasant day.
" updateUsrDialog() return charges -= 1 if(istype(M, /mob/living/carbon/human)) var/mob/living/carbon/human/N = M - to_chat(N, "Access granted, here are the supplies!") + to_chat(N, span_infoplain(span_bold("Access granted, here are the supplies!"))) traitors.spawn_uplink(N) N.mind.tcrystals = DEFAULT_TELECRYSTAL_AMOUNT N.mind.accept_tcrystals = 1 diff --git a/code/game/machinery/telecomms/broadcaster.dm b/code/game/machinery/telecomms/broadcaster.dm index 5fee77b9e3d..fa8db1916d3 100644 --- a/code/game/machinery/telecomms/broadcaster.dm +++ b/code/game/machinery/telecomms/broadcaster.dm @@ -22,7 +22,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept machinetype = 5 produces_heat = 0 delay = 7 - circuit = /obj/item/weapon/circuitboard/telecomms/broadcaster + circuit = /obj/item/circuitboard/telecomms/broadcaster //Vars only used if you're using the overmap var/overmap_range = 0 var/overmap_range_min = 0 @@ -34,7 +34,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept . = ..() default_apply_parts() -/obj/machinery/telecomms/broadcaster/proc/link_radio(var/obj/item/device/radio/R) +/obj/machinery/telecomms/broadcaster/proc/link_radio(var/obj/item/radio/R) if(!istype(R)) return linked_radios_weakrefs |= WEAKREF(R) @@ -67,7 +67,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept var/list/forced_radios for(var/datum/weakref/wr in linked_radios_weakrefs) - var/obj/item/device/radio/R = wr.resolve() + var/obj/item/radio/R = wr.resolve() if(istype(R)) LAZYDISTINCTADD(forced_radios, R) @@ -146,7 +146,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept var/list/linked_radios_weakrefs = list() -/obj/machinery/telecomms/allinone/proc/link_radio(var/obj/item/device/radio/R) +/obj/machinery/telecomms/allinone/proc/link_radio(var/obj/item/radio/R) if(!istype(R)) return linked_radios_weakrefs |= WEAKREF(R) @@ -198,7 +198,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept var/list/forced_radios for(var/datum/weakref/wr in linked_radios_weakrefs) - var/obj/item/device/radio/R = wr.resolve() + var/obj/item/radio/R = wr.resolve() if(istype(R)) LAZYDISTINCTADD(forced_radios, R) @@ -256,7 +256,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept var/list/forced_radios for(var/datum/weakref/wr in linked_radios_weakrefs) - var/obj/item/device/radio/R = wr.resolve() + var/obj/item/radio/R = wr.resolve() if(istype(R)) LAZYDISTINCTADD(forced_radios, R) @@ -336,7 +336,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept **/ /proc/Broadcast_Message(var/datum/radio_frequency/connection, var/mob/M, - var/vmask, var/list/vmessage_pieces, var/obj/item/device/radio/radio, + var/vmask, var/list/vmessage_pieces, var/obj/item/radio/radio, var/list/message_pieces, var/name, var/job, var/realname, var/vname, var/data, var/compression, var/list/level, var/freq, var/verbage = "says", var/list/forced_radios) @@ -345,9 +345,9 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept var/display_freq = freq - var/list/obj/item/device/radio/radios = list() + var/list/obj/item/radio/radios = list() - for(var/obj/item/device/radio/R in forced_radios) + for(var/obj/item/radio/R in forced_radios) //Cursory check to ensure they are 'on' and stuff if(R.receive_range(display_freq, list(0)) > -1) radios |= R @@ -356,7 +356,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept if(data == DATA_INTERCOM) - for (var/obj/item/device/radio/intercom/R in connection.devices["[RADIO_CHAT]"]) + for (var/obj/item/radio/intercom/R in connection.devices["[RADIO_CHAT]"]) if(R.receive_range(display_freq, level) > -1) radios |= R @@ -364,9 +364,9 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept else if(data == DATA_LOCAL) - for (var/obj/item/device/radio/R in connection.devices["[RADIO_CHAT]"]) + for (var/obj/item/radio/R in connection.devices["[RADIO_CHAT]"]) - if(istype(R, /obj/item/device/radio/headset) && !R.adhoc_fallback) + if(istype(R, /obj/item/radio/headset) && !R.adhoc_fallback) continue if(R.receive_range(display_freq, level) > -1) @@ -377,7 +377,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept else if(data == DATA_ANTAG) for(var/antag_freq in ANTAG_FREQS) var/datum/radio_frequency/antag_connection = radio_controller.return_frequency(antag_freq) - for (var/obj/item/device/radio/R in antag_connection.devices["[RADIO_CHAT]"]) + for (var/obj/item/radio/R in antag_connection.devices["[RADIO_CHAT]"]) if(R.receive_range(antag_freq, level) > -1) radios |= R @@ -385,7 +385,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept else - for (var/obj/item/device/radio/R in connection.devices["[RADIO_CHAT]"]) + for (var/obj/item/radio/R in connection.devices["[RADIO_CHAT]"]) if(R.receive_range(display_freq, level) > -1) radios |= R @@ -406,14 +406,16 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept for (var/mob/R in receive) /* --- Loop through the receivers and categorize them --- */ - if(!R.is_preference_enabled(/datum/client_preference/holder/hear_radio)) - continue + // Allows admins to disable radio + if(R?.client?.holder) + if(!R.client?.prefs?.read_preference(/datum/preference/toggle/holder/hear_radio)) + continue if(istype(R, /mob/new_player)) // we don't want new players to hear messages. rare but generates runtimes. continue // Ghosts hearing all radio chat don't want to hear syndicate intercepts, they're duplicates - if(data == DATA_ANTAG && istype(R, /mob/observer/dead) && R.is_preference_enabled(/datum/client_preference/ghost_radio)) + if(data == DATA_ANTAG && istype(R, /mob/observer/dead) && R.client?.prefs?.read_preference(/datum/preference/toggle/ghost_radio)) continue // --- Check for compression --- @@ -513,21 +515,21 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept if(length(heard_masked)) for (var/mob/R in heard_masked) R.hear_radio(message_pieces, verbage, part_a, part_b, part_c, part_d, part_e, M, 0, name) - if(R.is_preference_enabled(/datum/client_preference/radio_sounds)) + if(R.read_preference(/datum/preference/toggle/radio_sounds)) R << 'sound/effects/radio_common_quieter.ogg' /* --- Process all the mobs that heard the voice normally (understood) --- */ if(length(heard_normal)) for (var/mob/R in heard_normal) R.hear_radio(message_pieces, verbage, part_a, part_b, part_c, part_d, part_e, M, 0, realname) - if(R.is_preference_enabled(/datum/client_preference/radio_sounds)) + if(R.read_preference(/datum/preference/toggle/radio_sounds)) R << 'sound/effects/radio_common_quieter.ogg' /* --- Process all the mobs that heard the voice normally (did not understand) --- */ if(length(heard_voice)) for (var/mob/R in heard_voice) R.hear_radio(message_pieces, verbage, part_a, part_b, part_c, part_d, part_e, M,0, vname) - if(R.is_preference_enabled(/datum/client_preference/radio_sounds)) + if(R.read_preference(/datum/preference/toggle/radio_sounds)) R << 'sound/effects/radio_common_quieter.ogg' /* --- Process all the mobs that heard a garbled voice (did not understand) --- */ @@ -535,14 +537,14 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept if(length(heard_garbled)) for (var/mob/R in heard_garbled) R.hear_radio(message_pieces, verbage, part_a, part_b, part_c, part_d, part_e, M, 1, vname) - if(R.is_preference_enabled(/datum/client_preference/radio_sounds)) + if(R.read_preference(/datum/preference/toggle/radio_sounds)) R << 'sound/effects/radio_common_quieter.ogg' /* --- Complete gibberish. Usually happens when there's a compressed message --- */ if(length(heard_gibberish)) for (var/mob/R in heard_gibberish) R.hear_radio(message_pieces, verbage, part_a, part_b, part_c, part_d, part_e, M, 1) - if(R.is_preference_enabled(/datum/client_preference/radio_sounds)) + if(R.read_preference(/datum/preference/toggle/radio_sounds)) R << 'sound/effects/radio_common_quieter.ogg' return 1 @@ -561,13 +563,13 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept var/list/receive = list() - for(var/obj/item/device/radio/R in forced_radios) + for(var/obj/item/radio/R in forced_radios) receive |= R.send_hear(display_freq) // --- Broadcast only to intercom devices --- if(data == DATA_INTERCOM) - for (var/obj/item/device/radio/intercom/R in connection.devices["[RADIO_CHAT]"]) + for (var/obj/item/radio/intercom/R in connection.devices["[RADIO_CHAT]"]) var/turf/position = get_turf(R) if(position && position.z == level) receive |= R.send_hear(display_freq, level) @@ -576,9 +578,9 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept // --- Broadcast only to intercoms and station-bounced radios --- else if(data == DATA_LOCAL) - for (var/obj/item/device/radio/R in connection.devices["[RADIO_CHAT]"]) + for (var/obj/item/radio/R in connection.devices["[RADIO_CHAT]"]) - if(istype(R, /obj/item/device/radio/headset)) + if(istype(R, /obj/item/radio/headset)) continue var/turf/position = get_turf(R) if(position && position.z == level) @@ -590,7 +592,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept else if(data == DATA_ANTAG) for(var/freq in ANTAG_FREQS) var/datum/radio_frequency/antag_connection = radio_controller.return_frequency(freq) - for (var/obj/item/device/radio/R in antag_connection.devices["[RADIO_CHAT]"]) + for (var/obj/item/radio/R in antag_connection.devices["[RADIO_CHAT]"]) var/turf/position = get_turf(R) if(position && position.z == level) receive |= R.send_hear(freq) @@ -599,7 +601,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept // --- Broadcast to ALL radio devices --- else - for (var/obj/item/device/radio/R in connection.devices["[RADIO_CHAT]"]) + for (var/obj/item/radio/R in connection.devices["[RADIO_CHAT]"]) var/turf/position = get_turf(R) if(position && position.z == level) receive |= R.send_hear(display_freq) @@ -617,10 +619,10 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept for (var/mob/R in receive) /* --- Loop through the receivers and categorize them --- */ - - if(!R.is_preference_enabled(/datum/client_preference/holder/hear_radio)) //Adminning with 80 people on can be fun when you're trying to talk and all you can hear is radios. - continue - + // Allow admins to disable radios completely + if(R?.client?.holder) + if(!R.client?.prefs?.read_preference(/datum/preference/toggle/holder/hear_radio)) + continue // --- Check for compression --- if(compression > 0) @@ -656,7 +658,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept part_b_extra = " (Intercepted)" // Create a radio headset for the sole purpose of using its icon - var/obj/item/device/radio/headset/radio = new + var/obj/item/radio/headset/radio = new var/part_b = "
[icon2html(radio, heard_normal + heard_garbled + heard_gibberish)]\[[freq_text]\][part_b_extra] " // Tweaked for security headsets -- TLE var/part_blackbox_b = " \[[freq_text]\] " // Tweaked for security headsets -- TLE diff --git a/code/game/machinery/telecomms/broadcaster_vr.dm b/code/game/machinery/telecomms/broadcaster_vr.dm index 3751ffacdf6..07bdb3cbce1 100644 --- a/code/game/machinery/telecomms/broadcaster_vr.dm +++ b/code/game/machinery/telecomms/broadcaster_vr.dm @@ -32,7 +32,7 @@ var/list/forced_radios for(var/datum/weakref/wr in linked_radios_weakrefs) - var/obj/item/device/radio/R = wr.resolve() + var/obj/item/radio/R = wr.resolve() if(istype(R)) LAZYDISTINCTADD(forced_radios, R) diff --git a/code/game/machinery/telecomms/logbrowser.dm b/code/game/machinery/telecomms/logbrowser.dm index 2de8d04a492..3a4e0592af1 100644 --- a/code/game/machinery/telecomms/logbrowser.dm +++ b/code/game/machinery/telecomms/logbrowser.dm @@ -10,7 +10,7 @@ var/list/servers = list() // the servers located by the computer var/obj/machinery/telecomms/server/SelectedServer - circuit = /obj/item/weapon/circuitboard/comm_server + circuit = /obj/item/circuitboard/comm_server var/network = "NULL" // the network to probe var/list/temp = null // temporary feedback messages @@ -75,11 +75,11 @@ ui = new(user, src, "TelecommsLogBrowser", name) ui.open() -/obj/machinery/computer/telecomms/server/tgui_act(action, params) +/obj/machinery/computer/telecomms/server/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE - add_fingerprint(usr) + add_fingerprint(ui.user) switch(action) if("view") @@ -114,8 +114,8 @@ . = TRUE if("delete") - if(!allowed(usr) && !emagged) - to_chat(usr, "ACCESS DENIED.") + if(!allowed(ui.user) && !emagged) + to_chat(ui.user, span_warning("ACCESS DENIED.")) return if(SelectedServer) @@ -128,10 +128,10 @@ . = TRUE if("network") - var/newnet = tgui_input_text(usr, "Which network do you want to view?", "Comm Monitor", network, 15) + var/newnet = tgui_input_text(ui.user, "Which network do you want to view?", "Comm Monitor", network, 15) newnet = sanitize(newnet,15) - if(newnet && ((usr in range(1, src) || issilicon(usr)))) + if(newnet && ((ui.user in range(1, src) || issilicon(ui.user)))) if(length(newnet) > 15) set_temp("FAILED: NETWORK TAG STRING TOO LENGTHY", "bad") return TRUE @@ -149,9 +149,9 @@ if(!emagged) playsound(src, 'sound/effects/sparks4.ogg', 75, 1) emagged = 1 - to_chat(user, "You you disable the security protocols") + to_chat(user, span_notice("You you disable the security protocols")) src.updateUsrDialog() return 1 /obj/machinery/computer/telecomms/server/proc/set_temp(var/text, var/color = "average") - temp = list("color" = color, "text" = text) \ No newline at end of file + temp = list("color" = color, "text" = text) diff --git a/code/game/machinery/telecomms/machine_interactions.dm b/code/game/machinery/telecomms/machine_interactions.dm index e136f087edf..535d644f622 100644 --- a/code/game/machinery/telecomms/machine_interactions.dm +++ b/code/game/machinery/telecomms/machine_interactions.dm @@ -16,7 +16,7 @@ /obj/machinery/telecomms/attackby(obj/item/P as obj, mob/user as mob) // Using a multitool lets you access the receiver's interface - if(istype(P, /obj/item/device/multitool)) + if(istype(P, /obj/item/multitool)) attack_hand(user) // REPAIRING: Use Nanopaste to repair 10-20 integrity points. @@ -25,9 +25,9 @@ if (integrity < 100) //Damaged, let's repair! if (T.use(1)) integrity = between(0, integrity + rand(10,20), 100) - to_chat(usr, "You apply the Nanopaste to [src], repairing some of the damage.") + to_chat(user, "You apply the Nanopaste to [src], repairing some of the damage.") else - to_chat(usr, "This machine is already in perfect condition.") + to_chat(user, "This machine is already in perfect condition.") return @@ -63,7 +63,7 @@ data["options"] = Options_Menu() - var/obj/item/device/multitool/P = get_multitool(user) + var/obj/item/multitool/P = get_multitool(user) data["multitool"] = !!P data["multitool_buffer"] = null if(P && P.buffer) @@ -94,7 +94,7 @@ /obj/machinery/telecomms/tgui_status(mob/user) if(!issilicon(user)) - if(!istype(user.get_active_hand(), /obj/item/device/multitool)) + if(!istype(user.get_active_hand(), /obj/item/multitool)) return STATUS_CLOSE . = ..() @@ -130,15 +130,15 @@ /obj/machinery/proc/get_multitool(mob/user as mob) //No need to have this being a telecomms specific proc. - var/obj/item/device/multitool/P = null + var/obj/item/multitool/P = null // Let's double check - if(!issilicon(user) && istype(user.get_active_hand(), /obj/item/device/multitool)) + if(!issilicon(user) && istype(user.get_active_hand(), /obj/item/multitool)) P = user.get_active_hand() else if(isAI(user)) var/mob/living/silicon/ai/U = user P = U.aiMulti else if(isrobot(user) && in_range(user, src)) - if(istype(user.get_active_hand(), /obj/item/device/multitool)) + if(istype(user.get_active_hand(), /obj/item/multitool)) P = user.get_active_hand() return P @@ -210,15 +210,15 @@ data["change_freq"] = change_frequency return data -/obj/machinery/telecomms/bus/Options_Act(action, params) +/obj/machinery/telecomms/bus/Options_Act(action, params, datum/tgui/ui) if(..()) return TRUE switch(action) if("change_freq") . = TRUE - var/newfreq = input(usr, "Specify a new frequency for new signals to change to. Enter null to turn off frequency changing. Decimals assigned automatically.", src, network) as null|num - if(canAccess(usr)) + var/newfreq = input(ui.user, "Specify a new frequency for new signals to change to. Enter null to turn off frequency changing. Decimals assigned automatically.", src, network) as null|num + if(canAccess(ui.user)) if(newfreq) if(findtext(num2text(newfreq), ".")) newfreq *= 10 // shift the decimal one place @@ -274,11 +274,11 @@ overmap_range = clamp(new_range, overmap_range_min, overmap_range_max) update_idle_power_usage(initial(idle_power_usage)**(overmap_range+1)) -/obj/machinery/telecomms/tgui_act(action, params) +/obj/machinery/telecomms/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE - var/obj/item/device/multitool/P = get_multitool(usr) + var/obj/item/multitool/P = get_multitool(ui.user) switch(action) if("toggle") @@ -288,16 +288,16 @@ . = TRUE if("id") - var/newid = copytext(reject_bad_text(tgui_input_text(usr, "Specify the new ID for this machine", src, id)),1,MAX_MESSAGE_LEN) - if(newid && canAccess(usr)) + var/newid = copytext(reject_bad_text(tgui_input_text(ui.user, "Specify the new ID for this machine", src, id)),1,MAX_MESSAGE_LEN) + if(newid && canAccess(ui.user)) id = newid set_temp("-% New ID assigned: \"[id]\" %-", "average") . = TRUE if("network") - var/newnet = tgui_input_text(usr, "Specify the new network for this machine. This will break all current links.", src, network) + var/newnet = tgui_input_text(ui.user, "Specify the new network for this machine. This will break all current links.", src, network) newnet = sanitize(newnet,15) - if(newnet && canAccess(usr)) + if(newnet && canAccess(ui.user)) if(length(newnet) > 15) set_temp("-% Too many characters in new network tag %-", "average") @@ -313,8 +313,8 @@ if("freq") - var/newfreq = tgui_input_number(usr, "Specify a new frequency to filter (GHz). Decimals assigned automatically.", src, max_value=9999) - if(newfreq && canAccess(usr)) + var/newfreq = tgui_input_number(ui.user, "Specify a new frequency to filter (GHz). Decimals assigned automatically.", src, max_value=9999) + if(newfreq && canAccess(ui.user)) if(findtext(num2text(newfreq), ".")) newfreq *= 10 // shift the decimal one place if(!(newfreq in freq_listening) && newfreq < 10000) @@ -372,7 +372,7 @@ if(Options_Act(action, params)) . = TRUE - add_fingerprint(usr) + add_fingerprint(ui.user) /obj/machinery/telecomms/proc/canAccess(var/mob/user) if(issilicon(user) || in_range(user, src)) diff --git a/code/game/machinery/telecomms/telecomunications.dm b/code/game/machinery/telecomms/telecomunications.dm index e5e79d96ce4..57171490442 100644 --- a/code/game/machinery/telecomms/telecomunications.dm +++ b/code/game/machinery/telecomms/telecomunications.dm @@ -257,7 +257,7 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list() idle_power_usage = 600 machinetype = 1 produces_heat = 0 - circuit = /obj/item/weapon/circuitboard/telecomms/receiver + circuit = /obj/item/circuitboard/telecomms/receiver //Vars only used if you're using the overmap var/overmap_range = 0 var/overmap_range_min = 0 @@ -269,7 +269,7 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list() . = ..() default_apply_parts() -/obj/machinery/telecomms/receiver/proc/link_radio(var/obj/item/device/radio/R) +/obj/machinery/telecomms/receiver/proc/link_radio(var/obj/item/radio/R) if(!istype(R)) return linked_radios_weakrefs |= WEAKREF(R) @@ -296,7 +296,7 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list() /obj/machinery/telecomms/receiver/proc/check_receive_level(datum/signal/signal) // If it's a direct message from a bluespace radio, we eat it and convert it into a subspace signal locally if(signal.transmission_method == TRANSMISSION_BLUESPACE) - var/obj/item/device/radio/R = signal.data["radio"] + var/obj/item/radio/R = signal.data["radio"] //Who're you? if(!(WEAKREF(R) in linked_radios_weakrefs)) @@ -344,7 +344,7 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list() use_power = USE_POWER_IDLE idle_power_usage = 1600 machinetype = 7 - circuit = /obj/item/weapon/circuitboard/telecomms/hub + circuit = /obj/item/circuitboard/telecomms/hub long_range_link = 1 netspeed = 40 @@ -382,7 +382,7 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list() idle_power_usage = 600 machinetype = 8 produces_heat = 0 - circuit = /obj/item/weapon/circuitboard/telecomms/relay + circuit = /obj/item/circuitboard/telecomms/relay netspeed = 5 long_range_link = 1 var/broadcasting = 1 @@ -441,7 +441,7 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list() use_power = USE_POWER_IDLE idle_power_usage = 1000 machinetype = 2 - circuit = /obj/item/weapon/circuitboard/telecomms/bus + circuit = /obj/item/circuitboard/telecomms/bus netspeed = 40 var/change_frequency = 0 @@ -498,7 +498,7 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list() idle_power_usage = 600 machinetype = 3 delay = 5 - circuit = /obj/item/weapon/circuitboard/telecomms/processor + circuit = /obj/item/circuitboard/telecomms/processor var/process_mode = 1 // 1 = Uncompress Signals, 0 = Compress Signals /obj/machinery/telecomms/processor/Initialize() @@ -539,7 +539,7 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list() use_power = USE_POWER_IDLE idle_power_usage = 300 machinetype = 4 - circuit = /obj/item/weapon/circuitboard/telecomms/server + circuit = /obj/item/circuitboard/telecomms/server var/list/log_entries = list() var/list/stored_names = list() var/list/TrafficActions = list() @@ -554,7 +554,7 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list() var/encryption = "null" // encryption key: ie "password" var/salt = "null" // encryption salt: ie "123comsat" // would add up to md5("password123comsat") - var/obj/item/device/radio/headset/server_radio = null + var/obj/item/radio/headset/server_radio = null /obj/machinery/telecomms/server/New() ..() diff --git a/code/game/machinery/telecomms/telemonitor.dm b/code/game/machinery/telecomms/telemonitor.dm index c9a2678af84..67204b61897 100644 --- a/code/game/machinery/telecomms/telemonitor.dm +++ b/code/game/machinery/telecomms/telemonitor.dm @@ -14,7 +14,7 @@ var/screen = 0 // the screen number: var/list/machinelist = list() // the machines located by the computer var/obj/machinery/telecomms/SelectedMachine - circuit = /obj/item/weapon/circuitboard/comm_monitor + circuit = /obj/item/circuitboard/comm_monitor var/network = "NULL" // the network to probe @@ -61,11 +61,11 @@ ui = new(user, src, "TelecommsMachineBrowser", name) ui.open() -/obj/machinery/computer/telecomms/monitor/tgui_act(action, params) +/obj/machinery/computer/telecomms/monitor/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE - add_fingerprint(usr) + add_fingerprint(ui.user) switch(action) if("view") @@ -100,9 +100,9 @@ . = TRUE if("network") - var/newnet = tgui_input_text(usr, "Which network do you want to view?", "Comm Monitor", network, 15) + var/newnet = tgui_input_text(ui.user, "Which network do you want to view?", "Comm Monitor", network, 15) newnet = sanitize(newnet,15) //Honestly, I'd be amazed if someone managed to do HTML in 15 chars. - if(newnet && ((usr in range(1, src) || issilicon(usr)))) + if(newnet && ((ui.user in range(1, src) || issilicon(ui.user)))) if(length(newnet) > 15) set_temp("FAILED: NETWORK TAG STRING TOO LENGTHY", "bad") return TRUE @@ -121,9 +121,9 @@ if(!emagged) playsound(src, 'sound/effects/sparks4.ogg', 75, 1) emagged = 1 - to_chat(user, "You you disable the security protocols") + to_chat(user, span_notice("You you disable the security protocols")) src.updateUsrDialog() return 1 /obj/machinery/computer/telecomms/monitor/proc/set_temp(var/text, var/color = "average") - temp = list("color" = color, "text" = text) \ No newline at end of file + temp = list("color" = color, "text" = text) diff --git a/code/game/machinery/telecomms/traffic_control.dm b/code/game/machinery/telecomms/traffic_control.dm index 9f14a300842..90e114e5cd7 100644 --- a/code/game/machinery/telecomms/traffic_control.dm +++ b/code/game/machinery/telecomms/traffic_control.dm @@ -15,7 +15,7 @@ var/mob/lasteditor var/list/viewingcode = list() var/obj/machinery/telecomms/server/SelectedServer - circuit = /obj/item/weapon/circuitboard/comm_traffic + circuit = /obj/item/circuitboard/comm_traffic req_access = list(access_tcomsat) var/network = "NULL" // the network to probe @@ -127,7 +127,7 @@ add_fingerprint(usr) usr.set_machine(src) if(!src.allowed(usr) && !emagged) - to_chat(usr, "ACCESS DENIED.") + to_chat(usr, span_warning("ACCESS DENIED.")) return if(href_list["viewserver"]) @@ -213,6 +213,6 @@ if(!emagged) playsound(src, 'sound/effects/sparks4.ogg', 75, 1) emagged = 1 - to_chat(user, "You you disable the security protocols") + to_chat(user, span_notice("You you disable the security protocols")) src.updateUsrDialog() - return 1 \ No newline at end of file + return 1 diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm index dc0a70f7118..3ada9642b5e 100644 --- a/code/game/machinery/teleporter.dm +++ b/code/game/machinery/teleporter.dm @@ -6,7 +6,7 @@ desc = "Used to control a linked teleportation Hub and Station." icon_keyboard = "teleport_key" icon_screen = "teleport" - circuit = /obj/item/weapon/circuitboard/teleporter + circuit = /obj/item/circuitboard/teleporter dir = 4 var/id = null var/one_time_use = 0 //Used for one-time-use teleport cards (such as clown planet coordinates.) @@ -48,8 +48,8 @@ return ..() /obj/machinery/computer/teleporter/attackby(I as obj, mob/living/user as mob) - if(istype(I, /obj/item/weapon/card/data/)) - var/obj/item/weapon/card/data/C = I + if(istype(I, /obj/item/card/data/)) + var/obj/item/card/data/C = I if(stat & (NOPOWER|BROKEN) & (C.function != "teleporter")) attack_hand() @@ -65,15 +65,15 @@ L = locate("landmark*[C.data]") // use old stype if(istype(L, /obj/effect/landmark/) && istype(L.loc, /turf)) - to_chat(usr, "You insert the coordinates into the machine.") - to_chat(usr, "A message flashes across the screen, reminding the user that the nuclear authentication disk is not transportable via insecure means.") + to_chat(user, "You insert the coordinates into the machine.") + to_chat(user, "A message flashes across the screen, reminding the user that the nuclear authentication disk is not transportable via insecure means.") user.drop_item() qdel(I) if(C.data == "Clown Land") //whoops for(var/mob/O in hearers(src, null)) - O.show_message("Incoming bluespace portal detected, unable to lock in.", 2) + O.show_message(span_warning("Incoming bluespace portal detected, unable to lock in."), 2) for(var/obj/machinery/teleport/hub/H in range(1)) var/amount = rand(2,5) @@ -82,11 +82,11 @@ // else for(var/mob/O in hearers(src, null)) - O.show_message("Locked In", 2) + O.show_message(span_notice("Locked In"), 2) teleport_control.locked = L one_time_use = 1 - add_fingerprint(usr) + add_fingerprint(user) else ..() @@ -139,7 +139,7 @@ use_power = USE_POWER_IDLE idle_power_usage = 10 active_power_usage = 2000 - circuit = /obj/item/weapon/circuitboard/teleporter_hub + circuit = /obj/item/circuitboard/teleporter_hub var/obj/machinery/computer/teleporter/com /obj/machinery/teleport/hub/Initialize() @@ -164,7 +164,7 @@ return if(!com.teleport_control.locked) for(var/mob/O in hearers(src, null)) - O.show_message("Failure: Cannot authenticate locked on coordinates. Please reinstate coordinate matrix.") + O.show_message(span_warning("Failure: Cannot authenticate locked on coordinates. Please reinstate coordinate matrix.")) return if(istype(M, /atom/movable)) //VOREStation Addition Start: Prevent taurriding abuse @@ -190,7 +190,7 @@ accurate = 1 spawn(3000) accurate = 0 //Accurate teleporting for 5 minutes for(var/mob/B in hearers(src, null)) - B.show_message("Test fire completed.") + B.show_message(span_notice("Test fire completed.")) return ////// @@ -207,7 +207,7 @@ use_power = USE_POWER_IDLE idle_power_usage = 10 active_power_usage = 2000 - circuit = /obj/item/weapon/circuitboard/teleporter_station + circuit = /obj/item/circuitboard/teleporter_station var/obj/machinery/teleport/hub/com /obj/machinery/teleport/station/Initialize() @@ -230,7 +230,7 @@ update_use_power(USE_POWER_ACTIVE) com.update_use_power(USE_POWER_ACTIVE) for(var/mob/O in hearers(src, null)) - O.show_message("Teleporter engaged!", 2) + O.show_message(span_notice("Teleporter engaged!"), 2) add_fingerprint(usr) engaged = 1 return @@ -245,7 +245,7 @@ com.update_use_power(USE_POWER_IDLE) update_use_power(USE_POWER_IDLE) for(var/mob/O in hearers(src, null)) - O.show_message("Teleporter disengaged!", 2) + O.show_message(span_notice("Teleporter disengaged!"), 2) add_fingerprint(usr) engaged = 0 return @@ -255,7 +255,7 @@ return active = TRUE - visible_message("Test firing!") + visible_message(span_notice("Test firing!")) com.teleport() use_power(5000) flick(src, "controller-c") //VOREStation Add diff --git a/code/game/machinery/turret_control.dm b/code/game/machinery/turret_control.dm index 154e243419b..904beff78cc 100644 --- a/code/game/machinery/turret_control.dm +++ b/code/game/machinery/turret_control.dm @@ -77,7 +77,7 @@ /obj/machinery/turretid/proc/isLocked(mob/user) if(isrobot(user) || isAI(user)) if(ailock) - to_chat(user, "There seems to be a firewall preventing you from accessing this device.") + to_chat(user, span_notice("There seems to be a firewall preventing you from accessing this device.")) return TRUE else return FALSE @@ -94,23 +94,23 @@ return FALSE -/obj/machinery/turretid/attackby(obj/item/weapon/W, mob/user) +/obj/machinery/turretid/attackby(obj/item/W, mob/user) if(stat & BROKEN) return - if(istype(W, /obj/item/weapon/card/id)||istype(W, /obj/item/device/pda)) - if(allowed(usr)) + if(istype(W, /obj/item/card/id)||istype(W, /obj/item/pda)) + if(allowed(user)) if(emagged) - to_chat(user, "The turret control is unresponsive.") + to_chat(user, span_notice("The turret control is unresponsive.")) else locked = !locked - to_chat(user, "You [ locked ? "lock" : "unlock"] the panel.") + to_chat(user, span_notice("You [ locked ? "lock" : "unlock"] the panel.")) return return ..() /obj/machinery/turretid/emag_act(var/remaining_charges, var/mob/user) if(!emagged) - to_chat(user, "You short out the turret controls' access analysis module.") + to_chat(user, span_danger("You short out the turret controls' access analysis module.")) emagged = TRUE locked = FALSE ailock = FALSE @@ -152,10 +152,10 @@ ) return data -/obj/machinery/turretid/tgui_act(action, params) +/obj/machinery/turretid/tgui_act(action, params, datum/tgui/ui) if(..()) return - if(isLocked(usr)) + if(isLocked(ui.user)) return . = TRUE diff --git a/code/game/machinery/upgrade_machinery.dm b/code/game/machinery/upgrade_machinery.dm new file mode 100644 index 00000000000..03a0477c9dc --- /dev/null +++ b/code/game/machinery/upgrade_machinery.dm @@ -0,0 +1,39 @@ +// Handles automagically upgrades to machines based on components placed on a machine during map init +/obj/machinery/Initialize(var/mapload) + . = ..() + // Handles automagically upgrades to machines based on components placed on a machine during map init + if(mapload) + spawn(100) + // Sanity checks + if(!QDELETED(src) && isturf(loc)) + handle_mapped_upgrades() +// This is meant to be overridden per machine +/obj/machinery/proc/handle_mapped_upgrades() + return +// Each machine is a special snowflake... sadly. +/obj/machinery/power/smes/buildable/handle_mapped_upgrades() + // Detect new coils placed by mappers + var/list/parts_found = list() + for(var/i = 1, i <= loc.contents.len, i++) + var/obj/item/W = loc.contents[i] + if(istype(W, /obj/item/smes_coil)) + parts_found.Add(W) + // If any coils are on us, clear base coils and rebuild using these ones + if(parts_found.len == 0) + return + while(TRUE) + var/obj/item/smes_coil/C = locate(/obj/item/smes_coil) in component_parts + if(isnull(C)) + break + component_parts.Remove(C) + C.forceMove(src.loc) + C.Destroy() + cur_coils-- + // Rebuild from mapper's coils + for(var/i = 1, i <= parts_found.len, i++) + if (cur_coils < max_coils) + var/obj/item/W = parts_found[i] + cur_coils++ + component_parts.Add(W) + W.forceMove(src) + RefreshParts() diff --git a/code/game/machinery/virtual_reality/ar_console.dm b/code/game/machinery/virtual_reality/ar_console.dm index 904c4395962..aed2bcb7a27 100644 --- a/code/game/machinery/virtual_reality/ar_console.dm +++ b/code/game/machinery/virtual_reality/ar_console.dm @@ -25,16 +25,16 @@ if(stat & (BROKEN)) if(occupant) go_out() - visible_message("\The [src] emits a low droning sound, before the pod door clicks open.") + visible_message(span_infoplain(span_bold("\The [src]") + " emits a low droning sound, before the pod door clicks open.")) return else if(eject_dead && occupant && occupant.stat == DEAD) - visible_message("\The [src] sounds an alarm, swinging its hatch open.") + visible_message(span_warning("\The [src] sounds an alarm, swinging its hatch open.")) go_out() /obj/machinery/vr_sleeper/alien/attackby(var/obj/item/I, var/mob/user) add_fingerprint(user) - if(occupant && (istype(I, /obj/item/device/healthanalyzer) || istype(I, /obj/item/device/robotanalyzer))) + if(occupant && (istype(I, /obj/item/healthanalyzer) || istype(I, /obj/item/robotanalyzer))) I.attack(occupant, user) return @@ -57,7 +57,7 @@ if(!occupant) return - if(!forced && avatar && avatar.stat != DEAD && tgui_alert(avatar, "Someone wants to remove you from virtual reality. Do you want to leave?", "Leave VR?", list("Yes", "No")) == "No") + if(!forced && avatar && avatar.stat != DEAD && tgui_alert(avatar, "Someone wants to remove you from virtual reality. Do you want to leave?", "Leave VR?", list("Yes", "No")) != "Yes") return avatar.exit_vr() @@ -88,11 +88,11 @@ return if(avatar && !occupant.stat) - to_chat(occupant,"\The [src] begins to [pick("whir","hum","pulse")] as a screen appears in front of you.") - if(tgui_alert(occupant, "This pod is already linked. Are you certain you wish to engage?", "Commmit?", list("Yes", "No")) == "No") - visible_message("\The [src] pulses!") + to_chat(occupant,span_alien("\The [src] begins to [pick("whir","hum","pulse")] as a screen appears in front of you.")) + if(tgui_alert(occupant, "This pod is already linked. Are you certain you wish to engage?", "Commmit?", list("Yes", "No")) != "Yes") + visible_message(span_alien("\The [src] pulses!")) - to_chat(occupant,"Your mind blurs as information bombards you.") + to_chat(occupant,span_alien("Your mind blurs as information bombards you.")) if(!avatar) var/turf/T = get_turf(src) @@ -108,7 +108,7 @@ avatar.real_name = newname avatar.forceMove(T) - visible_message("\The [src] [pick("gurgles", "churns", "sloshes")] before spitting out \the [avatar]!") + visible_message(span_alium("\The [src] [pick("gurgles", "churns", "sloshes")] before spitting out \the [avatar]!")) else diff --git a/code/game/machinery/virtual_reality/vr_console.dm b/code/game/machinery/virtual_reality/vr_console.dm index 50e204b2157..a49e9879251 100644 --- a/code/game/machinery/virtual_reality/vr_console.dm +++ b/code/game/machinery/virtual_reality/vr_console.dm @@ -8,7 +8,7 @@ density = TRUE anchored = TRUE - circuit = /obj/item/weapon/circuitboard/vr_sleeper + circuit = /obj/item/circuitboard/vr_sleeper var/mob/living/carbon/human/occupant = null var/mob/living/carbon/human/avatar = null var/datum/mind/vr_mind = null @@ -40,10 +40,10 @@ if(stat & (NOPOWER|BROKEN)) if(occupant) go_out() - visible_message("\The [src] emits a low droning sound, before the pod door clicks open.") + visible_message(span_infoplain(span_bold("\The [src]") + " emits a low droning sound, before the pod door clicks open.")) return else if(eject_dead && occupant && occupant.stat == DEAD) // If someone dies somehow while inside, spit them out. - visible_message("\The [src] sounds an alarm, swinging its hatch open.") + visible_message(span_warning("\The [src] sounds an alarm, swinging its hatch open.")) go_out() /obj/machinery/vr_sleeper/update_icon() @@ -54,7 +54,7 @@ return 1 if(usr == occupant) - to_chat(usr, "You can't reach the controls from the inside.") + to_chat(usr, span_warning("You can't reach the controls from the inside.")) return add_fingerprint(usr) @@ -67,7 +67,7 @@ /obj/machinery/vr_sleeper/attackby(var/obj/item/I, var/mob/user) add_fingerprint(user) - if(occupant && (istype(I, /obj/item/device/healthanalyzer) || istype(I, /obj/item/device/robotanalyzer))) + if(occupant && (istype(I, /obj/item/healthanalyzer) || istype(I, /obj/item/robotanalyzer))) I.attack(occupant, user) return @@ -107,7 +107,7 @@ if(prob(15 / ( severity / 4 )) && occupant.species.has_organ[O_BRAIN] && occupant.internal_organs_by_name[O_BRAIN]) var/obj/item/organ/O = occupant.internal_organs_by_name[O_BRAIN] O.take_damage(severity * 2) - visible_message("\The [src]'s internal lighting flashes rapidly, before the hatch swings open with a cloud of smoke.") + visible_message(span_danger("\The [src]'s internal lighting flashes rapidly, before the hatch swings open with a cloud of smoke.")) smoke.set_up(severity, 0, src) smoke.start("#202020") go_out() @@ -151,9 +151,9 @@ if(stat & (BROKEN|NOPOWER)) return if(!ishuman(M)) - to_chat(user, "\The [src] rejects [M] with a sharp beep.") + to_chat(user, span_warning("\The [src] rejects [M] with a sharp beep.")) if(occupant) - to_chat(user, "\The [src] is already occupied.") + to_chat(user, span_warning("\The [src] is already occupied.")) return if(M == user) @@ -163,7 +163,7 @@ if(do_after(user, 20)) if(occupant) - to_chat(user, "\The [src] is already occupied.") + to_chat(user, span_warning("\The [src] is already occupied.")) return M.stop_pulling() if(M.client) @@ -180,7 +180,7 @@ update_use_power(USE_POWER_ACTIVE) enter_vr() else - to_chat(user, "\The [src] rejects [M] with a sharp beep.") + to_chat(user, span_warning("\The [src] rejects [M] with a sharp beep.")) //VOREstation edit end return @@ -188,7 +188,7 @@ if(!occupant) return - if(!forced && avatar && tgui_alert(avatar, "Someone wants to remove you from virtual reality. Do you want to leave?", "Leave VR?", list("Yes", "No")) == "No") + if(!forced && avatar && tgui_alert(avatar, "Someone wants to remove you from virtual reality. Do you want to leave?", "Leave VR?", list("Yes", "No")) != "Yes") return if(avatar) @@ -225,7 +225,7 @@ avatar = occupant.vr_link // If they've already enterred VR, and are reconnecting, prompt if they want a new body - if(avatar && tgui_alert(occupant, "You already have a [avatar.stat == DEAD ? "" : "deceased "]Virtual Reality avatar. Would you like to use it?", "New avatar", list("Yes", "No")) == "No") + if(avatar && tgui_alert(occupant, "You already have a [avatar.stat == DEAD ? "" : "deceased "]Virtual Reality avatar. Would you like to use it?", "New avatar", list("Yes", "No")) != "Yes") // Delink the mob occupant.vr_link = null avatar = null @@ -257,7 +257,7 @@ //Yes, I am using a aheal just so your markings transfer over, I could not get .prefs.copy_to working. This is very stupid, and I can't be assed to rewrite this. Too bad! avatar.revive() avatar.revive() - avatar.verbs += /mob/living/carbon/human/proc/exit_vr //ahealing removes the prommie verbs and the VR verbs, giving it back + add_verb(avatar, /mob/living/carbon/human/proc/exit_vr) //ahealing removes the prommie verbs and the VR verbs, giving it back avatar.Sleeping(1) // Prompt for username after they've enterred the body. diff --git a/code/game/machinery/vitals_monitor.dm b/code/game/machinery/vitals_monitor.dm index e6d1ba58114..50f1e5e2c4a 100644 --- a/code/game/machinery/vitals_monitor.dm +++ b/code/game/machinery/vitals_monitor.dm @@ -1,11 +1,11 @@ -/obj/item/weapon/circuitboard/machine/vitals_monitor +/obj/item/circuitboard/machine/vitals_monitor name = "circuit board (vitals monitor)" build_path = /obj/machinery/vitals_monitor board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_DATA = 3, TECH_BIO = 4, TECH_ENGINEERING = 2) req_components = list( - /obj/item/weapon/stock_parts/console_screen = 1, - /obj/item/weapon/cell/high = 1 + /obj/item/stock_parts/console_screen = 1, + /obj/item/cell/high = 1 ) /obj/machinery/vitals_monitor @@ -33,14 +33,14 @@ . = ..() if(victim) if(stat & NOPOWER) - . += "It's unpowered." + . += span_notice("It's unpowered.") return - . += "Vitals of [victim]:" - . += "Pulse: [victim.get_pulse(GETPULSE_TOOL)]" + . += span_notice("Vitals of [victim]:") + . += span_notice("Pulse: [victim.get_pulse(GETPULSE_TOOL)]") var/brain_activity = "none" var/breathing = "none" - + if(victim.stat != DEAD && !(victim.status_flags & FAKEDEATH)) var/obj/item/organ/internal/brain/brain = victim.internal_organs_by_name[O_BRAIN] if(istype(brain)) @@ -50,7 +50,7 @@ brain_activity = "weak" else brain_activity = "normal" - + var/obj/item/organ/internal/lungs/lungs = victim.internal_organs_by_name[O_LUNGS] if(istype(lungs)) var/oxyloss = victim.getOxyLoss() @@ -60,9 +60,9 @@ breathing = "shallow" else breathing = "normal" - - . += "Brain activity: [brain_activity]" - . += "Breathing: [breathing]" + + . += span_notice("Brain activity: [brain_activity]") + . += span_notice("Breathing: [breathing]") /obj/machinery/vitals_monitor/process() if(QDELETED(victim)) @@ -87,7 +87,7 @@ else if(ishuman(over_object)) victim = over_object update_use_power(USE_POWER_ACTIVE) - visible_message("\The [src] is now showing data for [victim].") + visible_message(span_notice("\The [src] is now showing data for [victim].")) /obj/machinery/vitals_monitor/update_icon() cut_overlays() @@ -118,7 +118,7 @@ else if(victim.stat == UNCONSCIOUS) add_overlay("brain_bad") else - add_overlay("brain_ok") + add_overlay("brain_ok") else add_overlay("brain_warning") @@ -146,4 +146,4 @@ if(CanInteract(user, GLOB.tgui_physical_state)) beep = !beep - to_chat(user, "You turn the sound on \the [src] [beep ? "on" : "off"].") + to_chat(user, span_notice("You turn the sound on \the [src] [beep ? "on" : "off"].")) diff --git a/code/game/machinery/wall_frames.dm b/code/game/machinery/wall_frames.dm index eb3f4d428d8..e1aefd24686 100644 --- a/code/game/machinery/wall_frames.dm +++ b/code/game/machinery/wall_frames.dm @@ -17,7 +17,7 @@ if(!frame_types_wall) frame_types_wall = construction_frame_wall -/obj/item/frame/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/item/frame/attackby(obj/item/W as obj, mob/user as mob) if(W.has_tool_quality(TOOL_WRENCH)) new refund_type(get_turf(src.loc), refund_amt) qdel(src) @@ -48,7 +48,7 @@ M.fingerprints = fingerprints M.fingerprintshidden = fingerprintshidden M.fingerprintslast = fingerprintslast - if(istype(src.loc, /obj/item/weapon/gripper)) //Typical gripper shenanigans + if(istype(src.loc, /obj/item/gripper)) //Typical gripper shenanigans user.drop_item() qdel(src) @@ -70,15 +70,15 @@ var/turf/loc = get_turf(user) var/area/A = loc.loc if(!istype(loc, /turf/simulated/floor)) - to_chat(user, "\The frame cannot be placed on this spot.") + to_chat(user, span_danger("\The frame cannot be placed on this spot.")) return if(A.requires_power == 0 || A.name == "Space") - to_chat(user, "\The [src] Alarm cannot be placed in this area.") + to_chat(user, span_danger("\The [src] Alarm cannot be placed in this area.")) return if(gotwallitem(loc, ndir)) - to_chat(user, "There's already an item on this wall!") + to_chat(user, span_danger("There's already an item on this wall!")) return var/datum/frame/frame_types/frame_type @@ -97,7 +97,7 @@ M.fingerprints = fingerprints M.fingerprintshidden = fingerprintshidden M.fingerprintslast = fingerprintslast - if(istype(src.loc, /obj/item/weapon/gripper)) //Typical gripper shenanigans + if(istype(src.loc, /obj/item/gripper)) //Typical gripper shenanigans user.drop_item() qdel(src) diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm index ca1546190a4..25b4297f7cc 100644 --- a/code/game/machinery/washing_machine.dm +++ b/code/game/machinery/washing_machine.dm @@ -8,7 +8,7 @@ clicksound = "button" clickvol = 40 - circuit = /obj/item/weapon/circuitboard/washing + circuit = /obj/item/circuitboard/washing var/state = 1 //1 = empty, open door //2 = empty, closed door @@ -98,7 +98,7 @@ add_overlay("panel") //VOREStation Edit End -/obj/machinery/washing_machine/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/machinery/washing_machine/attackby(obj/item/W as obj, mob/user as mob) if(state == 2 && washing.len < 1) if(default_deconstruction_screwdriver(user, W)) return @@ -108,8 +108,8 @@ return /*if(W.has_tool_quality(TOOL_SCREWDRIVER)) panel = !panel - to_chat(user, "You [panel ? "open" : "close"] the [src]'s maintenance panel")*/ - if(istype(W,/obj/item/weapon/pen/crayon) || istype(W,/obj/item/weapon/stamp)) + to_chat(user, span_notice("You [panel ? "open" : "close"] the [src]'s maintenance panel"))*/ + if(istype(W,/obj/item/pen/crayon) || istype(W,/obj/item/stamp)) if(state in list( 1, 3, 6)) if(!crayon) user.drop_item() @@ -119,9 +119,9 @@ ..() else ..() - else if(istype(W,/obj/item/weapon/grab)) + else if(istype(W,/obj/item/grab)) if((state == 1) && hacked) - var/obj/item/weapon/grab/G = W + var/obj/item/grab/G = W if(ishuman(G.assailant) && iscorgi(G.affecting)) G.affecting.loc = src qdel(G) @@ -130,10 +130,10 @@ ..() else if(is_type_in_list(W, disallowed_types)) - to_chat(user, "You can't fit \the [W] inside.") + to_chat(user, span_warning("You can't fit \the [W] inside.")) return - else if(istype(W, /obj/item/clothing) || istype(W, /obj/item/weapon/bedsheet) || istype(W, /obj/item/stack/hairlesshide)) + else if(istype(W, /obj/item/clothing) || istype(W, /obj/item/bedsheet) || istype(W, /obj/item/stack/hairlesshide)) if(washing.len < 5) if(state in list(1, 3)) user.drop_item() @@ -141,9 +141,9 @@ washing += W state = 3 else - to_chat(user, "You can't put the item in right now.") + to_chat(user, span_notice("You can't put the item in right now.")) else - to_chat(user, "The washing machine is full.") + to_chat(user, span_notice("The washing machine is full.")) else ..() update_icon() @@ -167,7 +167,7 @@ washing.Cut() state = 1 if(5) - to_chat(user, "The [src] is busy.") + to_chat(user, span_warning("The [src] is busy.")) if(6) state = 7 if(7) diff --git a/code/game/machinery/wishgranter.dm b/code/game/machinery/wishgranter.dm index 2c65530b9fe..4dd2eae2bba 100644 --- a/code/game/machinery/wishgranter.dm +++ b/code/game/machinery/wishgranter.dm @@ -12,58 +12,58 @@ var/insistinga = 0 /obj/machinery/wish_granter/attack_hand(var/mob/living/carbon/human/user as mob) - usr.set_machine(src) + user.set_machine(src) if(chargesa <= 0) - to_chat(user, "The Wish Granter lies silent.") + to_chat(user, span_infoplain("The Wish Granter lies silent.")) return else if(!istype(user, /mob/living/carbon/human)) - to_chat(user, "You feel a dark stirring inside of the Wish Granter, something you want nothing of. Your instincts are better than any man's.") + to_chat(user, span_infoplain("You feel a dark stirring inside of the Wish Granter, something you want nothing of. Your instincts are better than any man's.")) return else if(is_special_character(user)) - to_chat(user, "Even to a heart as dark as yours, you know nothing good will come of this. Something instinctual makes you pull away.") + to_chat(user, span_infoplain("Even to a heart as dark as yours, you know nothing good will come of this. Something instinctual makes you pull away.")) else if (!insistinga) - to_chat(user, "Your first touch makes the Wish Granter stir, listening to you. Are you really sure you want to do this?") + to_chat(user, span_infoplain("Your first touch makes the Wish Granter stir, listening to you. Are you really sure you want to do this?")) insistinga++ else chargesa-- insistinga = 0 - var/wish = tgui_input_list(usr, "You want...","Wish", list("Power","Wealth","Immortality","To Kill","Peace")) + var/wish = tgui_input_list(user, "You want...","Wish", list("Power","Wealth","Immortality","To Kill","Peace")) switch(wish) if("Power") - to_chat(user, "Your wish is granted, but at a terrible cost...") - to_chat(user, "The Wish Granter punishes you for your selfishness, claiming your soul.") + to_chat(user, span_boldwarning("Your wish is granted, but at a terrible cost...")) + to_chat(user, span_warning("The Wish Granter punishes you for your selfishness, claiming your soul.")) if (!(LASER in user.mutations)) user.mutations.Add(LASER) - to_chat(user, "You feel pressure building behind your eyes.") + to_chat(user, span_notice("You feel pressure building behind your eyes.")) if (!(COLD_RESISTANCE in user.mutations)) user.mutations.Add(COLD_RESISTANCE) - to_chat(user, "Your body feels warm.") + to_chat(user, span_notice("Your body feels warm.")) if (!(XRAY in user.mutations)) user.mutations.Add(XRAY) user.sight |= (SEE_MOBS|SEE_OBJS|SEE_TURFS) user.see_in_dark = 8 user.see_invisible = SEE_INVISIBLE_LEVEL_TWO - to_chat(user, "The walls suddenly disappear.") + to_chat(user, span_notice("The walls suddenly disappear.")) if("Wealth") - to_chat(user, "Your wish is granted, but at a terrible cost...") - to_chat(user, "The Wish Granter punishes you for your selfishness, claiming your soul.") + to_chat(user, span_boldwarning("Your wish is granted, but at a terrible cost...")) + to_chat(user, span_warning("The Wish Granter punishes you for your selfishness, claiming your soul.")) new /obj/structure/closet/syndicate/resources/everything(loc) if("To Kill") - to_chat(user, "Your wish is granted, but at a terrible cost...") - to_chat(user, "The Wish Granter is outraged at your excessive wickedness, yet grants you your wish regardless. Someone will be killed soon.") + to_chat(user, span_boldwarning("Your wish is granted, but at a terrible cost...")) + to_chat(user, span_danger("The Wish Granter is outraged at your excessive wickedness, yet grants you your wish regardless. Someone will be killed soon.")) spawn(100) if(user) - to_chat(user, "Suddenly, you feel as though you are being torn to countless shreds! Your wish is coming true!") + to_chat(user, span_bolddanger("Suddenly, you feel as though you are being torn to countless shreds! Your wish is coming true!")) user.gib() if("Peace") - to_chat(user, "Whatever alien sentience that the Wish Granter possesses is satisfied with your wish. There is a distant wailing as the last of the Faithless begin to die, then silence.") - to_chat(user, "You feel as if you just narrowly avoided a terrible fate...") + to_chat(user, span_infoplain(span_bold("Whatever alien sentience that the Wish Granter possesses is satisfied with your wish. There is a distant wailing as the last of the Faithless begin to die, then silence."))) + to_chat(user, span_infoplain("You feel as if you just narrowly avoided a terrible fate...")) for(var/mob/living/simple_mob/faithless/F in living_mob_list) F.health = -10 F.set_stat(DEAD) - F.icon_state = "faithless_dead" \ No newline at end of file + F.icon_state = "faithless_dead" diff --git a/code/game/magic/archived_book.dm b/code/game/magic/archived_book.dm index 35df8774439..665f585f96e 100644 --- a/code/game/magic/archived_book.dm +++ b/code/game/magic/archived_book.dm @@ -34,7 +34,7 @@ var/global/datum/book_manager/book_mgr = new() /client/proc/delbook() set name = "Delete Book" set desc = "Permamently deletes a book from the database." - set category = "Admin" + set category = "Admin.Moderation" if(!src.holder) to_chat(src, "Only administrators may use this command.") return @@ -46,7 +46,7 @@ var/global/datum/book_manager/book_mgr = new() break if(!our_comp) - to_chat(usr, "Unable to locate a library computer to use for book deleting.") + to_chat(usr, span_warning("Unable to locate a library computer to use for book deleting.")) return var/dat = "Book Inventory Management\n" // diff --git a/code/game/mecha/combat/combat.dm b/code/game/mecha/combat/combat.dm index d99d2c913ec..a1f2d214e06 100644 --- a/code/game/mecha/combat/combat.dm +++ b/code/game/mecha/combat/combat.dm @@ -97,7 +97,7 @@ return M.updatehealth() src.occupant_message("You hit [T].") - src.visible_message(span_red("[src.name] hits [T].")) + src.visible_message(span_bolddanger("[src.name] hits [T].")) else step_away(M,src) src.occupant_message("You push [T] out of the way.") @@ -114,7 +114,7 @@ if(src.occupant.a_intent == I_HURT || istype(src.occupant, /mob/living/carbon/brain)) // Don't smash unless we mean it if(damtype == "brute") src.occupant_message("You hit [T].") - src.visible_message(span_red("[src.name] hits [T]")) + src.visible_message(span_bolddanger("[src.name] hits [T]")) playsound(src, 'sound/weapons/heavysmash.ogg', 50, 1) if(istype(T, /obj/structure/girder)) @@ -136,7 +136,7 @@ else return 0 -/obj/mecha/combat/mmi_moved_inside(var/obj/item/device/mmi/mmi_as_oc as obj,mob/user as mob) +/obj/mecha/combat/mmi_moved_inside(var/obj/item/mmi/mmi_as_oc as obj,mob/user as mob) if(..()) if(occupant.client) occupant.client.mouse_pointer_icon = file("icons/mecha/mecha_mouse.dmi") diff --git a/code/game/mecha/combat/durand.dm b/code/game/mecha/combat/durand.dm index 44986197dd6..f7bfeb9b592 100644 --- a/code/game/mecha/combat/durand.dm +++ b/code/game/mecha/combat/durand.dm @@ -63,7 +63,7 @@ /* /obj/mecha/combat/durand/get_stats_part() var/output = ..() - output += "Defence mode: [defence?"on":"off"]" + output += span_bold("Defence mode: [defence?"on":"off"]") return output */ diff --git a/code/game/mecha/combat/fighter.dm b/code/game/mecha/combat/fighter.dm index 414877a5af6..09de44ec120 100644 --- a/code/game/mecha/combat/fighter.dm +++ b/code/game/mecha/combat/fighter.dm @@ -118,16 +118,16 @@ else var/obj/effect/overmap/visitable/V = choices[choice] if(occupant != this_occupant || this_x != x || this_y != y || this_z != z || get_dist(V,our_ship) > 1) //Sanity after user input - to_chat(occupant, "You or they appear to have moved!") + to_chat(occupant, span_warning("You or they appear to have moved!")) return var/list/levels = V.get_space_zlevels() if(!levels.len) - to_chat(occupant, "You don't appear to be able to get there from here!") + to_chat(occupant, span_warning("You don't appear to be able to get there from here!")) return new_z = pick(levels) var/turf/destination = locate(new_x, new_y, new_z) if(!destination || destination.density) - to_chat(occupant, "You don't appear to be able to get there from here! Is it blocked?") + to_chat(occupant, span_warning("You don't appear to be able to get there from here! Is it blocked?")) return else forceMove(destination) @@ -138,7 +138,7 @@ if (href_list["toggle_stabilization"]) stabilization_enabled = !stabilization_enabled send_byjax(src.occupant,"exosuit.browser","stabilization_command","[stabilization_enabled?"Dis":"En"]able thruster stabilization") - src.occupant_message("Thruster stabilization [stabilization_enabled? "enabled" : "disabled"].") + src.occupant_message(span_notice("Thruster stabilization [stabilization_enabled? "enabled" : "disabled"].")) return /obj/mecha/combat/fighter/get_commands() @@ -167,7 +167,7 @@ return (stabilization_enabled && has_charge(step_energy_drain)) /obj/mecha/combat/fighter/proc/consider_gravity(var/moved = FALSE) - var/gravity = has_gravity() + var/gravity = get_gravity() if(gravity && ground_capable && occupant) start_hover() else if((!gravity && ground_capable) || !occupant) @@ -268,11 +268,11 @@ stripe2_overlay.color = stripe2_color add_overlay(stripe2_overlay) -/obj/mecha/combat/fighter/gunpod/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W,/obj/item/device/multitool) && state == 1) - var/new_paint_location = tgui_input_list(usr, "Please select a target zone.", "Paint Zone", list("Fore Stripe", "Aft Stripe", "CANCEL")) +/obj/mecha/combat/fighter/gunpod/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W,/obj/item/multitool) && state == 1) + var/new_paint_location = tgui_input_list(user, "Please select a target zone.", "Paint Zone", list("Fore Stripe", "Aft Stripe", "CANCEL")) if(new_paint_location && new_paint_location != "CANCEL") - var/new_paint_color = input(usr, "Please select a paint color.", "Paint Color", null) as color|null + var/new_paint_color = input(user, "Please select a paint color.", "Paint Color", null) as color|null if(new_paint_color) switch(new_paint_location) if("Fore Stripe") @@ -450,4 +450,4 @@ nearby planets to seek cover." value = CATALOGUER_REWARD_MEDIUM -#undef NOGRAV_FIGHTER_DAMAGE \ No newline at end of file +#undef NOGRAV_FIGHTER_DAMAGE diff --git a/code/game/mecha/combat/gorilla.dm b/code/game/mecha/combat/gorilla.dm index 34dbe14a1e4..711d2460570 100644 --- a/code/game/mecha/combat/gorilla.dm +++ b/code/game/mecha/combat/gorilla.dm @@ -1,8 +1,8 @@ /obj/mecha/combat/gorilla - desc = "BLITZKRIEEEEEEEG!" - name = "Sd.Kfz. 269 Mechakampfwagen Gorilla Ausf. A" - icon = 'icons/mecha/AxisMech.dmi' + name = "Sd.Kfz. 269 Mechakampfwagen Gorilla Ausf. A" // YW edit - Kel + desc = span_bold("BLITZKRIEEEEEEEG!") // YW edit - Kel + icon = 'icons/mecha/AxisMech.dmi' // YW edit - Kel icon_state = "pzrmech" initial_icon = "pzrmech" pixel_x = -16 @@ -114,7 +114,7 @@ /obj/mecha/combat/gorilla/get_stats_part() var/output = ..() - output += {"Smoke: [smoke_reserve]"} + output += span_bold("Smoke:") + {"[smoke_reserve]"} return output @@ -132,7 +132,7 @@ /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/cannon name = "8.8cm KwK 47" - desc = "Precision German engineering!" // Why would you ever take this off the mech, anyway? + desc = span_italics("Precision German engineering!") // Why would you ever take this off the mech, anyway? icon_state = "mecha_uac2" equip_cooldown = 60 // 6 seconds projectile = /obj/item/projectile/bullet/cannon diff --git a/code/game/mecha/combat/gygax.dm b/code/game/mecha/combat/gygax.dm index 6ff46999063..20dfee625f6 100644 --- a/code/game/mecha/combat/gygax.dm +++ b/code/game/mecha/combat/gygax.dm @@ -74,12 +74,12 @@ /obj/item/mecha_parts/mecha_equipment/teleporter ) -/obj/mecha/combat/gygax/dark/add_cell(var/obj/item/weapon/cell/C=null) +/obj/mecha/combat/gygax/dark/add_cell(var/obj/item/cell/C=null) if(C) C.forceMove(src) cell = C return - cell = new /obj/item/weapon/cell/hyper(src) + cell = new /obj/item/cell/hyper(src) /obj/mecha/combat/gygax/serenity desc = "A lightweight exosuit made from a modified Gygax chassis combined with proprietary VeyMed medical tech. It's faster and sturdier than most medical mechs, but much of the armor plating has been stripped out, leaving it more vulnerable than a regular Gygax." diff --git a/code/game/mecha/combat/phazon.dm b/code/game/mecha/combat/phazon.dm index 08aded1cf07..6d41c5ae1a0 100644 --- a/code/game/mecha/combat/phazon.dm +++ b/code/game/mecha/combat/phazon.dm @@ -116,27 +116,27 @@ phasing = FALSE SSradiation.radiate(get_turf(src), 30) log_append_to_last("WARNING: BLUESPACE DRIVE INSTABILITY DETECTED. DISABLING DRIVE.",1) - visible_message("The [src.name] appears to flicker, before its silhouette stabilizes!") + visible_message(span_alien("The [src.name] appears to flicker, before its silhouette stabilizes!")) return /obj/mecha/combat/phazon/janus/dynbulletdamage(var/obj/item/projectile/Proj) if((Proj.damage && !Proj.nodamage) && !istype(Proj, /obj/item/projectile/beam) && prob(max(1, 33 - round(Proj.damage / 4)))) - src.occupant_message("The armor absorbs the incoming projectile's force, negating it!") - src.visible_message("The [src.name] absorbs the incoming projectile's force, negating it!") + src.occupant_message(span_alien("The armor absorbs the incoming projectile's force, negating it!")) + src.visible_message(span_alien("The [src.name] absorbs the incoming projectile's force, negating it!")) src.log_append_to_last("Armor negated.") return else if((Proj.damage && !Proj.nodamage) && istype(Proj, /obj/item/projectile/beam) && prob(max(1, (50 - round((Proj.damage / 2) * inherent_damage_absorption["laser"])) * (1 - (Proj.armor_penetration / 100))))) // Base 50% chance to deflect a beam,lowered by half the beam's damage scaled to laser absorption, then multiplied by the remaining percent of non-penetrated armor, with a minimum chance of 1%. - src.occupant_message("The armor reflects the incoming beam, negating it!") - src.visible_message("The [src.name] reflects the incoming beam, negating it!") + src.occupant_message(span_alien("The armor reflects the incoming beam, negating it!")) + src.visible_message(span_alien("The [src.name] reflects the incoming beam, negating it!")) src.log_append_to_last("Armor reflected.") return ..() -/obj/mecha/combat/phazon/janus/dynattackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/mecha/combat/phazon/janus/dynattackby(obj/item/W as obj, mob/user as mob) if(prob(max(1, (50 - round((W.force / 2) * inherent_damage_absorption["brute"])) * (1 - (W.armor_penetration / 100))))) - src.occupant_message("The armor absorbs the incoming attack's force, negating it!") - src.visible_message("The [src.name] absorbs the incoming attack's force, negating it!") + src.occupant_message(span_alien("The armor absorbs the incoming attack's force, negating it!")) + src.visible_message(span_alien("The [src.name] absorbs the incoming attack's force, negating it!")) src.log_append_to_last("Armor absorbed.") return @@ -144,6 +144,8 @@ /obj/mecha/combat/phazon/janus/query_damtype() var/new_damtype = tgui_alert(src.occupant,"Gauntlet Phase Emitter Mode","Damage Type",list("Force","Energy","Stun")) + if(!new_damtype) + return switch(new_damtype) if("Force") damtype = "brute" diff --git a/code/game/mecha/components/_component.dm b/code/game/mecha/components/_component.dm index 4058500dd2a..95ec0fbd536 100644 --- a/code/game/mecha/components/_component.dm +++ b/code/game/mecha/components/_component.dm @@ -34,13 +34,13 @@ if(65 to 85) . += "It's slightly damaged." if(45 to 65) - . += "It's badly damaged." + . += span_notice("It's badly damaged.") if(25 to 45) - . += "It's heavily damaged." + . += span_warning("It's heavily damaged.") if(2 to 25) - . += "It's falling apart." + . += span_boldwarning("It's falling apart.") if(0 to 1) - . += "It is completely destroyed." + . += span_boldwarning("It is completely destroyed.") /obj/item/mecha_parts/component/Initialize() . = ..() @@ -95,11 +95,11 @@ if(target) if(!(component_type in target.internal_components)) if(user) - to_chat(user, "\The [target] doesn't seem to have anywhere to put \the [src].") + to_chat(user, span_notice("\The [target] doesn't seem to have anywhere to put \the [src].")) return FALSE if(target.internal_components[component_type]) if(user) - to_chat(user, "\The [target] already has a [component_type] installed!") + to_chat(user, span_notice("\The [target] already has a [component_type] installed!")) return FALSE chassis = target if(user) @@ -117,7 +117,7 @@ chassis.internal_components[component_type] = src if(user) - chassis.visible_message("[user] installs \the [src] in \the [chassis].") + chassis.visible_message(span_notice("[user] installs \the [src] in \the [chassis].")) return TRUE return FALSE @@ -133,30 +133,30 @@ return TRUE -/obj/item/mecha_parts/component/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/item/mecha_parts/component/attackby(obj/item/W as obj, mob/user as mob) if(istype(W,/obj/item/stack/nanopaste)) var/obj/item/stack/nanopaste/NP = W if(integrity < max_integrity) - to_chat(user, "You start to repair damage to \the [src].") + to_chat(user, span_notice("You start to repair damage to \the [src].")) while(integrity < max_integrity && NP) if(do_after(user, 1 SECOND, src)) NP.use(1) adjust_integrity(NP.mech_repair) if(integrity >= max_integrity) - to_chat(user, "You finish repairing \the [src].") + to_chat(user, span_notice("You finish repairing \the [src].")) break else if(NP.amount == 0) - to_chat(user, "Insufficient nanopaste to complete repairs!") + to_chat(user, span_warning("Insufficient nanopaste to complete repairs!")) break return else - to_chat(user, "\The [src] doesn't require repairs.") + to_chat(user, span_notice("\The [src] doesn't require repairs.")) return ..() diff --git a/code/game/mecha/equipment/mecha_equipment.dm b/code/game/mecha/equipment/mecha_equipment.dm index f7be915eda0..12849ad31bc 100644 --- a/code/game/mecha/equipment/mecha_equipment.dm +++ b/code/game/mecha/equipment/mecha_equipment.dm @@ -35,7 +35,7 @@ /obj/item/mecha_parts/mecha_equipment/examine(mob/user) . = ..() - . += "[src] will fill [equip_type?"a [equip_type]":"any"] slot." + . += span_notice("[src] will fill [equip_type?"a [equip_type]":"any"] slot.") /obj/item/mecha_parts/mecha_equipment/proc/add_equip_overlay(obj/mecha/M as obj) return @@ -111,7 +111,7 @@ /obj/item/mecha_parts/mecha_equipment/proc/get_equip_info() if(!chassis) return - return "* [chassis.selected==src?"":""][src.name][chassis.selected==src?"":""]" + return (equip_ready ? span_green("*") : span_red("*")) + " [chassis.selected==src?"":""][src.name][chassis.selected==src?"":""]" /obj/item/mecha_parts/mecha_equipment/proc/is_ranged()//add a distance restricted equipment. Why not? return range&RANGED diff --git a/code/game/mecha/equipment/mecha_equipment_dynamicprocs.dm b/code/game/mecha/equipment/mecha_equipment_dynamicprocs.dm index 9166e6a3ded..17c4d5dc470 100644 --- a/code/game/mecha/equipment/mecha_equipment_dynamicprocs.dm +++ b/code/game/mecha/equipment/mecha_equipment_dynamicprocs.dm @@ -7,7 +7,7 @@ return max(0, inc_damage) // Used for melee strikes with an object, and a mob, and damage value. -/obj/item/mecha_parts/mecha_equipment/proc/handle_melee_contact(var/obj/item/weapon/W, var/mob/living/user, var/inc_damage = 0) +/obj/item/mecha_parts/mecha_equipment/proc/handle_melee_contact(var/obj/item/W, var/mob/living/user, var/inc_damage = 0) return max(0, inc_damage) // Used for projectile impacts from bullet_act. diff --git a/code/game/mecha/equipment/tools/armor_melee.dm b/code/game/mecha/equipment/tools/armor_melee.dm index 7618d5093d2..6232dcc0cde 100644 --- a/code/game/mecha/equipment/tools/armor_melee.dm +++ b/code/game/mecha/equipment/tools/armor_melee.dm @@ -15,19 +15,19 @@ /obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster/get_equip_info() if(!chassis) return - return "* [src.name]" + return (equip_ready ? span_green("*") : span_red("*")) + " [src.name]" -/obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster/handle_melee_contact(var/obj/item/weapon/W, var/mob/living/user, var/inc_damage = null) +/obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster/handle_melee_contact(var/obj/item/W, var/mob/living/user, var/inc_damage = null) if(!action_checks(user)) return inc_damage chassis.log_message("Attacked by [W]. Attacker - [user]") if(prob(chassis.deflect_chance*deflect_coeff)) - to_chat(user, "\The [W] bounces off \the [chassis]'s armor.") + to_chat(user, span_danger("\The [W] bounces off \the [chassis]'s armor.")) chassis.log_append_to_last("Armor saved.") inc_damage = 0 else - chassis.occupant_message("\The [user] hits [chassis] with [W].") - user.visible_message("\The [user] hits [chassis] with [W].", "You hit [src] with [W].") + chassis.occupant_message(span_danger("\The [user] hits [chassis] with [W].")) + user.visible_message(span_danger("\The [user] hits [chassis] with [W]."), span_danger("You hit [src] with [W].")) inc_damage *= damage_coeff set_ready_state(FALSE) chassis.use_power(energy_drain) @@ -53,16 +53,16 @@ ..() return -/obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster/proc/dynattackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster/proc/dynattackby(obj/item/W as obj, mob/user as mob) if(!action_checks(user)) return chassis.dynattackby(W,user) chassis.log_message("Attacked by [W]. Attacker - [user]") if(prob(chassis.deflect_chance*deflect_coeff)) - to_chat(user, "\The [W] bounces off [chassis] armor.") + to_chat(user, span_danger("\The [W] bounces off [chassis] armor.")) chassis.log_append_to_last("Armor saved.") else - chassis.occupant_message("\The [user] hits [chassis] with [W].") - user.visible_message("\The [user] hits [chassis] with [W].", "You hit [src] with [W].") + chassis.occupant_message(span_danger("\The [user] hits [chassis] with [W].")) + user.visible_message(span_danger("\The [user] hits [chassis] with [W]."), span_danger("You hit [src] with [W].")) chassis.take_damage(round(W.force*damage_coeff),W.damtype) chassis.check_for_internal_damage(list(MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST)) set_ready_state(FALSE) diff --git a/code/game/mecha/equipment/tools/armor_ranged.dm b/code/game/mecha/equipment/tools/armor_ranged.dm index 4cc6287019e..86f66f61f09 100644 --- a/code/game/mecha/equipment/tools/armor_ranged.dm +++ b/code/game/mecha/equipment/tools/armor_ranged.dm @@ -19,7 +19,7 @@ if(!action_checks(src)) return inc_damage if(prob(chassis.deflect_chance*deflect_coeff)) - chassis.occupant_message("The armor deflects incoming projectile.") + chassis.occupant_message(span_notice("The armor deflects incoming projectile.")) chassis.visible_message("The [chassis.name] armor deflects the projectile.") chassis.log_append_to_last("Armor saved.") inc_damage = 0 @@ -35,7 +35,7 @@ if(!action_checks(A)) return inc_damage if(prob(chassis.deflect_chance*deflect_coeff)) - chassis.occupant_message("The [A] bounces off the armor.") + chassis.occupant_message(span_notice("The [A] bounces off the armor.")) chassis.visible_message("The [A] bounces off \the [chassis]'s armor") chassis.log_append_to_last("Armor saved.") inc_damage = 0 @@ -49,7 +49,7 @@ /obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster/get_equip_info() if(!chassis) return - return "* [src.name]" + return (equip_ready ? span_green("*") : span_red("*")) + " [src.name]" /* /obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster/can_attach(obj/mecha/M as obj) @@ -76,7 +76,7 @@ if(!action_checks(src)) return chassis.dynbulletdamage(Proj) if(prob(chassis.deflect_chance*deflect_coeff)) - chassis.occupant_message("The armor deflects incoming projectile.") + chassis.occupant_message(span_notice("The armor deflects incoming projectile.")) chassis.visible_message("The [chassis.name] armor deflects the projectile") chassis.log_append_to_last("Armor saved.") else @@ -92,7 +92,7 @@ if(!action_checks(A)) return chassis.dynhitby(A) if(prob(chassis.deflect_chance*deflect_coeff) || istype(A, /mob/living) || istype(A, /obj/item/mecha_parts/mecha_tracking)) - chassis.occupant_message("The [A] bounces off the armor.") + chassis.occupant_message(span_notice("The [A] bounces off the armor.")) chassis.visible_message("The [A] bounces off the [chassis] armor") chassis.log_append_to_last("Armor saved.") if(istype(A, /mob/living)) diff --git a/code/game/mecha/equipment/tools/catapult.dm b/code/game/mecha/equipment/tools/catapult.dm index f734a52c795..5acbb96c81c 100644 --- a/code/game/mecha/equipment/tools/catapult.dm +++ b/code/game/mecha/equipment/tools/catapult.dm @@ -20,7 +20,7 @@ last_fired = world.time else if (world.time % 3) - occupant_message("[src] is not ready to fire again!") + occupant_message(span_warning("[src] is not ready to fire again!")) return 0 switch(mode) @@ -73,4 +73,4 @@ if(href_list["mode"]) mode = text2num(href_list["mode"]) send_byjax(chassis.occupant,"exosuit.browser","\ref[src]",src.get_equip_info()) - return \ No newline at end of file + return diff --git a/code/game/mecha/equipment/tools/clamp.dm b/code/game/mecha/equipment/tools/clamp.dm index 1df39a41786..b85e8d7386e 100644 --- a/code/game/mecha/equipment/tools/clamp.dm +++ b/code/game/mecha/equipment/tools/clamp.dm @@ -24,41 +24,41 @@ if(O.has_buckled_mobs()) return if(locate(/mob/living) in O) - occupant_message("You can't load living things into the cargo compartment.") + occupant_message(span_warning("You can't load living things into the cargo compartment.")) return if(O.anchored) if(enable_special) if(istype(O, /obj/machinery/door/firedoor)) // I love doors. var/obj/machinery/door/firedoor/FD = O if(FD.blocked) - FD.visible_message("\The [chassis] begins prying on \the [FD]!") + FD.visible_message(span_danger("\The [chassis] begins prying on \the [FD]!")) if(do_after(chassis.occupant,10 SECONDS,FD)) playsound(FD, 'sound/machines/door/airlock_creaking.ogg', 100, 1) FD.blocked = 0 FD.update_icon() FD.open(1) - FD.visible_message("\The [chassis] tears \the [FD] open!") + FD.visible_message(span_warning("\The [chassis] tears \the [FD] open!")) else if(FD.density) - FD.visible_message("\The [chassis] begins forcing \the [FD] open!") + FD.visible_message(span_warning("\The [chassis] begins forcing \the [FD] open!")) if(do_after(chassis.occupant, 5 SECONDS,FD)) playsound(FD, 'sound/machines/door/airlock_creaking.ogg', 100, 1) - FD.visible_message("\The [chassis] forces \the [FD] open!") + FD.visible_message(span_danger("\The [chassis] forces \the [FD] open!")) FD.open(1) else - FD.visible_message("\The [chassis] forces \the [FD] closed!") + FD.visible_message(span_danger("\The [chassis] forces \the [FD] closed!")) FD.close(1) else if(istype(O, /obj/machinery/door/airlock)) // D o o r s. var/obj/machinery/door/airlock/AD = O if(AD.locked) - occupant_message("The airlock's bolts prevent it from being forced.") + occupant_message(span_notice("The airlock's bolts prevent it from being forced.")) else if(!AD.operating) if(AD.welded) - AD.visible_message("\The [chassis] begins prying on \the [AD]!") + AD.visible_message(span_warning("\The [chassis] begins prying on \the [AD]!")) if(do_after(chassis.occupant, 15 SECONDS,AD) && chassis.Adjacent(AD)) AD.welded = FALSE AD.update_icon() playsound(AD, 'sound/machines/door/airlock_creaking.ogg', 100, 1) - AD.visible_message("\The [chassis] tears \the [AD] open!") + AD.visible_message(span_danger("\The [chassis] tears \the [AD] open!")) if(!AD.welded) if(density) spawn(0) @@ -68,10 +68,10 @@ AD.close(1) return else - occupant_message("[target] is firmly secured.") + occupant_message(span_warning("[target] is firmly secured.")) return if(cargo_holder.cargo.len >= cargo_holder.cargo_capacity) - occupant_message("Not enough room in cargo compartment.") + occupant_message(span_warning("Not enough room in cargo compartment.")) return occupant_message("You lift [target] and start to load it into cargo compartment.") @@ -85,10 +85,10 @@ cargo_holder.cargo += O O.loc = chassis O.anchored = FALSE - occupant_message("[target] succesfully loaded.") + occupant_message(span_notice("[target] succesfully loaded.")) log_message("Loaded [O]. Cargo compartment capacity: [cargo_holder.cargo_capacity - cargo_holder.cargo.len]") else - occupant_message("You must hold still while handling objects.") + occupant_message(span_warning("You must hold still while handling objects.")) O.anchored = initial(O.anchored) //attacking @@ -99,17 +99,17 @@ M.take_overall_damage(dam_force) M.adjustOxyLoss(round(dam_force/2)) M.updatehealth() - occupant_message("You squeeze [target] with [src.name]. Something cracks.") + occupant_message(span_warning("You squeeze [target] with [src.name]. Something cracks.")) playsound(src, "fracture", 5, 1, -2) //CRACK - chassis.visible_message("[chassis] squeezes [target].") + chassis.visible_message(span_warning("[chassis] squeezes [target].")) else if(chassis.occupant.a_intent == I_DISARM && enable_special) playsound(src, 'sound/mecha/hydraulic.ogg', 10, 1, -2) M.take_overall_damage(dam_force/2) M.adjustOxyLoss(round(dam_force/3)) M.updatehealth() - occupant_message("You slam [target] with [src.name]. Something cracks.") + occupant_message(span_warning("You slam [target] with [src.name]. Something cracks.")) playsound(src, "fracture", 3, 1, -2) //CRACK 2 - chassis.visible_message("[chassis] slams [target].") + chassis.visible_message(span_warning("[chassis] slams [target].")) M.throw_at(get_step(M,get_dir(src, M)), 14, 1.5, chassis) else step_away(M,chassis) @@ -146,25 +146,25 @@ cargo_holder.cargo += O O.loc = chassis O.anchored = FALSE - chassis.occupant_message("[target] succesfully loaded.") + chassis.occupant_message(span_notice("[target] succesfully loaded.")) chassis.log_message("Loaded [O]. Cargo compartment capacity: [cargo_holder.cargo_capacity - cargo_holder.cargo.len]") else - chassis.occupant_message("You must hold still while handling objects.") + chassis.occupant_message(span_warning("You must hold still while handling objects.")) O.anchored = initial(O.anchored) else - chassis.occupant_message("Not enough room in cargo compartment.") + chassis.occupant_message(span_warning("Not enough room in cargo compartment.")) else - chassis.occupant_message("[target] is firmly secured.") + chassis.occupant_message(span_warning("[target] is firmly secured.")) else if(istype(target,/mob/living)) var/mob/living/M = target if(M.stat>1) return if(chassis.occupant.a_intent == I_HURT) - chassis.occupant_message("You obliterate [target] with [src.name], leaving blood and guts everywhere.") - chassis.visible_message("[chassis] destroys [target] in an unholy fury.") + chassis.occupant_message(span_danger("You obliterate [target] with [src.name], leaving blood and guts everywhere.")) + chassis.visible_message(span_danger("[chassis] destroys [target] in an unholy fury.")) if(chassis.occupant.a_intent == I_DISARM) - chassis.occupant_message("You tear [target]'s limbs off with [src.name].") - chassis.visible_message("[chassis] rips [target]'s arms off.") + chassis.occupant_message(span_danger("You tear [target]'s limbs off with [src.name].")) + chassis.visible_message(span_danger("[chassis] rips [target]'s arms off.")) else step_away(M,chassis) chassis.occupant_message("You smash into [target], sending them flying.") @@ -172,4 +172,4 @@ set_ready_state(FALSE) chassis.use_power(energy_drain) do_after_cooldown() - return 1 \ No newline at end of file + return 1 diff --git a/code/game/mecha/equipment/tools/cloak.dm b/code/game/mecha/equipment/tools/cloak.dm index 3bcb6bf62df..75754ef1168 100644 --- a/code/game/mecha/equipment/tools/cloak.dm +++ b/code/game/mecha/equipment/tools/cloak.dm @@ -22,7 +22,7 @@ /obj/item/mecha_parts/mecha_equipment/cloak/get_equip_info() if(!chassis) return - return "* [src.name] - [equip_ready ? "A" : "Dea"]ctivate" + return (equip_ready ? span_green("*") : span_red("*")) + " [src.name] - [equip_ready ? "A" : "Dea"]ctivate" /obj/item/mecha_parts/mecha_equipment/cloak/Topic(href, href_list) ..() diff --git a/code/game/mecha/equipment/tools/drill.dm b/code/game/mecha/equipment/tools/drill.dm index a7038eaa628..9b897f12416 100644 --- a/code/game/mecha/equipment/tools/drill.dm +++ b/code/game/mecha/equipment/tools/drill.dm @@ -15,8 +15,8 @@ if(!target_obj.vars.Find("unacidable") || target_obj.unacidable) return set_ready_state(FALSE) chassis.use_power(energy_drain) - chassis.visible_message("[chassis] starts to drill [target]", "You hear the drill.") - occupant_message("You start to drill [target]") + chassis.visible_message(span_danger("[chassis] starts to drill [target]"), span_warning("You hear the drill.")) + occupant_message(span_danger("You start to drill [target]")) var/T = chassis.loc var/C = target.loc //why are these backwards? we may never know -Pete if(do_after_cooldown(target)) @@ -24,7 +24,7 @@ if(istype(target, /turf/simulated/wall)) var/turf/simulated/wall/W = target if(W.reinf_material && !advanced)//R wall but no good drill - occupant_message("[target] is too durable to drill through.") + occupant_message(span_warning("[target] is too durable to drill through.")) return else if((W.reinf_material && advanced) || do_after_cooldown(target))//R wall with good drill @@ -46,7 +46,7 @@ if(locate(/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp) in chassis.equipment) var/obj/structure/ore_box/ore_box = locate(/obj/structure/ore_box) in chassis:cargo if(ore_box) - for(var/obj/item/weapon/ore/ore in range(chassis,1)) + for(var/obj/item/ore/ore in range(chassis,1)) if(get_dir(chassis,ore)&chassis.dir) ore_box.stored_ore[ore.material]++ qdel(ore) @@ -103,8 +103,8 @@ if(target_obj.unacidable) return set_ready_state(FALSE) chassis.use_power(energy_drain) - chassis.visible_message("[chassis] starts to bore into \the [target]", "You hear the bore.") - occupant_message("You start to bore into \the [target]") + chassis.visible_message(span_danger("[chassis] starts to bore into \the [target]"), span_warning("You hear the bore.")) + occupant_message(span_danger("You start to bore into \the [target]")) var/T = chassis.loc var/C = target.loc if(do_after_cooldown(target)) @@ -112,7 +112,7 @@ if(istype(target, /turf/simulated/wall)) var/turf/simulated/wall/W = target if(W.reinf_material) - occupant_message("[target] is too durable to bore through.") + occupant_message(span_warning("[target] is too durable to bore through.")) else log_message("Bored through [target]") target.ex_act(2) @@ -127,10 +127,10 @@ if(locate(/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp) in chassis.equipment) var/obj/structure/ore_box/ore_box = locate(/obj/structure/ore_box) in chassis:cargo if(ore_box) - for(var/obj/item/weapon/ore/ore in range(chassis,1)) + for(var/obj/item/ore/ore in range(chassis,1)) if(get_dir(chassis,ore)&chassis.dir) ore.forceMove(ore_box) else if(target.loc == C) log_message("Drilled through [target]") target.ex_act(2) - return 1 \ No newline at end of file + return 1 diff --git a/code/game/mecha/equipment/tools/energy_relay.dm b/code/game/mecha/equipment/tools/energy_relay.dm index 32943104f03..6715f516116 100644 --- a/code/game/mecha/equipment/tools/energy_relay.dm +++ b/code/game/mecha/equipment/tools/energy_relay.dm @@ -92,4 +92,4 @@ /obj/item/mecha_parts/mecha_equipment/tesla_energy_relay/get_equip_info() if(!chassis) return - return "* [src.name] - [(datum_flags & DF_ISPROCESSING)?"Dea":"A"]ctivate" \ No newline at end of file + return (equip_ready ? span_green("*") : span_red("*")) + " [src.name] - [(datum_flags & DF_ISPROCESSING)?"Dea":"A"]ctivate" diff --git a/code/game/mecha/equipment/tools/extinguisher.dm b/code/game/mecha/equipment/tools/extinguisher.dm index ede02bb5b29..ad133bab2f8 100644 --- a/code/game/mecha/equipment/tools/extinguisher.dm +++ b/code/game/mecha/equipment/tools/extinguisher.dm @@ -25,12 +25,12 @@ if( istype(target, /obj/structure/reagent_dispensers) && get_dist(chassis,target) <= 1) //VOREStation Edit var/obj/o = target var/amount = o.reagents.trans_to_obj(src, 200) - occupant_message("[amount] units transferred into internal tank.") + occupant_message(span_notice("[amount] units transferred into internal tank.")) playsound(src, 'sound/effects/refill.ogg', 50, 1, -6) return if (src.reagents.total_volume < 1) - occupant_message("\The [src] is empty.") + occupant_message(span_warning("\The [src] is empty.")) return playsound(src, 'sound/effects/extinguish.ogg', 75, 1, -3) @@ -67,4 +67,4 @@ return "[..()] \[[src.reagents.total_volume]\]" /obj/item/mecha_parts/mecha_equipment/tool/extinguisher/on_reagent_change() - return \ No newline at end of file + return diff --git a/code/game/mecha/equipment/tools/generator.dm b/code/game/mecha/equipment/tools/generator.dm index cdb8eb46808..fd1d291a5ee 100644 --- a/code/game/mecha/equipment/tools/generator.dm +++ b/code/game/mecha/equipment/tools/generator.dm @@ -75,7 +75,7 @@ var/result = load_fuel(target) var/message if(isnull(result)) - message = "[fuel] traces in target minimal. [target] cannot be used as fuel." + message = span_warning("[fuel] traces in target minimal. [target] cannot be used as fuel.") else if(!result) message = "Unit is full." else @@ -100,7 +100,7 @@ /obj/item/mecha_parts/mecha_equipment/generator/attackby(weapon,mob/user) var/result = load_fuel(weapon) if(isnull(result)) - user.visible_message("[user] tries to shove [weapon] into [src]. What a dumb-ass.","[fuel] traces minimal. [weapon] cannot be used as fuel.") + user.visible_message("[user] tries to shove [weapon] into [src]. What a dumb-ass.",span_warning("[fuel] traces minimal. [weapon] cannot be used as fuel.")) else if(!result) to_chat(user, "Unit is full.") else @@ -142,4 +142,4 @@ return /obj/item/mecha_parts/mecha_equipment/generator/nuclear/critfail() - return \ No newline at end of file + return diff --git a/code/game/mecha/equipment/tools/inflatables.dm b/code/game/mecha/equipment/tools/inflatables.dm index 3fcf874538a..80b790c0766 100644 --- a/code/game/mecha/equipment/tools/inflatables.dm +++ b/code/game/mecha/equipment/tools/inflatables.dm @@ -10,8 +10,8 @@ ready_sound = 'sound/effects/spray.ogg' required_type = list(/obj/mecha/working/ripley) - tooltype = /obj/item/weapon/inflatable_dispenser/robot - var/obj/item/weapon/inflatable_dispenser/my_deployer = null + tooltype = /obj/item/inflatable_dispenser/robot + var/obj/item/inflatable_dispenser/my_deployer = null /obj/item/mecha_parts/mecha_equipment/tool/powertool/inflatables/Initialize() . = ..() @@ -26,9 +26,9 @@ /obj/item/mecha_parts/mecha_equipment/tool/powertool/inflatables/get_equip_info() if(!chassis) return - var/data_return = "* [chassis.selected==src?"":""][src.name][chassis.selected==src?"":""] - Deploy [my_deployer.mode?"Door":"Wall"]
\ -   - Doors left: [my_deployer.stored_doors]/[my_deployer.max_doors]
\ -   - Walls left: [my_deployer.stored_walls]/[my_deployer.max_walls]" + var/data_return = (equip_ready ? span_green("*") : span_red("*")) + " [chassis.selected==src?"":""][src.name][chassis.selected==src?"":""] - Deploy [my_deployer.mode?"Door":"Wall"]
\ +   - Doors left: " + span_yellow("[my_deployer.stored_doors]") + "/[my_deployer.max_doors]
\ +   - Walls left: " + span_yellow("[my_deployer.stored_walls]") + "/[my_deployer.max_walls]" return data_return diff --git a/code/game/mecha/equipment/tools/jetpack.dm b/code/game/mecha/equipment/tools/jetpack.dm index 9b6de6121fb..4c36ed42ec1 100644 --- a/code/game/mecha/equipment/tools/jetpack.dm +++ b/code/game/mecha/equipment/tools/jetpack.dm @@ -50,7 +50,7 @@ var/move_result = 0 if(direction == UP || direction == DOWN) if(!chassis.can_ztravel()) - chassis.occupant_message("Your vehicle lacks the capacity to move in that direction!") + chassis.occupant_message(span_warning("Your vehicle lacks the capacity to move in that direction!")) return FALSE //We're using locs because some mecha are 2x2 turfs. So thicc! @@ -58,16 +58,16 @@ for(var/turf/T in chassis.locs) if(!T.CanZPass(chassis,direction)) - chassis.occupant_message("You can't move that direction from here!") + chassis.occupant_message(span_warning("You can't move that direction from here!")) result = FALSE break var/turf/dest = (direction == UP) ? GetAbove(chassis) : GetBelow(chassis) if(!dest) - chassis.occupant_message("There is nothing of interest in this direction.") + chassis.occupant_message(span_notice("There is nothing of interest in this direction.")) result = FALSE break if(!dest.CanZPass(chassis,direction)) - chassis.occupant_message("There's something blocking your movement in that direction!") + chassis.occupant_message(span_warning("There's something blocking your movement in that direction!")) result = FALSE break if(result) @@ -80,7 +80,7 @@ if(!chassis.check_for_support()) chassis.float_direction = direction chassis.start_process(MECHA_PROC_MOVEMENT) - chassis.log_message("Movement control lost. Inertial movement started.") + chassis.log_message(span_warning("Movement control lost. Inertial movement started.")) if(chassis.do_after(get_step_delay())) chassis.can_move = 1 return 1 @@ -117,7 +117,7 @@ /obj/item/mecha_parts/mecha_equipment/tool/jetpack/get_equip_info() if(!chassis) return - return "* [src.name] \[Toggle\]" + return (equip_ready ? span_green("*") : span_red("*")) + " [src.name] \[Toggle\]" /obj/item/mecha_parts/mecha_equipment/tool/jetpack/Topic(href,href_list) ..() @@ -127,4 +127,4 @@ /obj/item/mecha_parts/mecha_equipment/tool/jetpack/do_after_cooldown() sleep(equip_cooldown) wait = 0 - return 1 \ No newline at end of file + return 1 diff --git a/code/game/mecha/equipment/tools/orescanner.dm b/code/game/mecha/equipment/tools/orescanner.dm index 1c19da06a8d..e2737b0d4d8 100644 --- a/code/game/mecha/equipment/tools/orescanner.dm +++ b/code/game/mecha/equipment/tools/orescanner.dm @@ -10,7 +10,7 @@ ready_sound = 'sound/items/goggles_charge.ogg' required_type = list(/obj/mecha/working/ripley) - var/obj/item/weapon/mining_scanner/my_scanner = null + var/obj/item/mining_scanner/my_scanner = null var/exact_scan = FALSE /obj/item/mecha_parts/mecha_equipment/tool/orescanner/Initialize() diff --git a/code/game/mecha/equipment/tools/passenger.dm b/code/game/mecha/equipment/tools/passenger.dm index 8ce9d21aa93..25ccaf278b9 100644 --- a/code/game/mecha/equipment/tools/passenger.dm +++ b/code/game/mecha/equipment/tools/passenger.dm @@ -16,7 +16,7 @@ /obj/item/mecha_parts/mecha_equipment/tool/passenger/destroy() for(var/atom/movable/AM in src) AM.forceMove(get_turf(src)) - to_chat(AM, "You tumble out of the destroyed [src.name]!") + to_chat(AM, span_danger("You tumble out of the destroyed [src.name]!")) return ..() /obj/item/mecha_parts/mecha_equipment/tool/passenger/Exit(atom/movable/O) @@ -24,7 +24,7 @@ /obj/item/mecha_parts/mecha_equipment/tool/passenger/proc/move_inside(var/mob/user) if (chassis) - chassis.visible_message("[user] starts to climb into [chassis].") + chassis.visible_message(span_notice("[user] starts to climb into [chassis].")) if(do_after(user, 40, needhand=0)) if(!src.occupant) @@ -33,9 +33,13 @@ log_message("[user] boarded.") occupant_message("[user] boarded.") else if(src.occupant != user) - to_chat(user, "[src.occupant] was faster. Try harder next time, loser.") + to_chat(user, span_warning("[src.occupant] was faster. Try harder next time, loser.")) else - to_chat(user, "You stop entering the exosuit.") + to_chat(user, span_info("You stop entering the exosuit.")) + +/obj/item/mecha_parts/mecha_equipment/tool/passenger/container_resist(var/mob/living) + if(occupant == living) + eject() /obj/item/mecha_parts/mecha_equipment/tool/passenger/verb/eject() set name = "Eject" @@ -45,7 +49,17 @@ if(usr != occupant) return - to_chat(occupant, "You climb out from \the [src].") + if(door_locked) + to_chat(occupant, span_notice("\The [src] is locked! You begin operating the emergency unlock mechanism. This will take one minute.")) + sleep(600) + if(!src || !usr || !occupant || (occupant != usr)) //Check if someone's released/replaced/bombed him already + return + if(door_locked) + door_locked = FALSE + occupant_message("Passenger compartment hatch unlocked.") + if (chassis) + chassis.visible_message(span_infoplain("The hatch on \the [chassis] unlocks."), span_hear("You hear something latching.")) + to_chat(occupant, span_info("You climb out from \the [src].")) go_out() occupant_message("[occupant] disembarked.") log_message("[occupant] disembarked.") @@ -107,19 +121,19 @@ return if (!isturf(usr.loc)) - to_chat(usr, "You can't reach the passenger compartment from here.") + to_chat(usr, span_danger("You can't reach the passenger compartment from here.")) return if(iscarbon(usr)) var/mob/living/carbon/C = usr if(C.handcuffed) - to_chat(usr, "Kinda hard to climb in while handcuffed don't you think?") + to_chat(usr, span_danger("Kinda hard to climb in while handcuffed don't you think?")) return if(isliving(usr)) var/mob/living/L = usr if(L.has_buckled_mobs()) - to_chat(L, span("warning", "You have other entities attached to yourself. Remove them first.")) + to_chat(L, span_warning("You have other entities attached to yourself. Remove them first.")) return //search for a valid passenger compartment @@ -139,13 +153,13 @@ //didn't find anything switch (feedback) if (OCCUPIED) - to_chat(usr, "The passenger compartment is already occupied!") + to_chat(usr, span_danger("The passenger compartment is already occupied!")) if (LOCKED) - to_chat(usr, "The passenger compartment hatch is locked!") + to_chat(usr, span_warning("The passenger compartment hatch is locked!")) if (OCCUPIED|LOCKED) - to_chat(usr, "All of the passenger compartments are already occupied or locked!") + to_chat(usr, span_danger("All of the passenger compartments are already occupied or locked!")) if (0) - to_chat(usr, "\The [src] doesn't have a passenger compartment.") + to_chat(usr, span_warning("\The [src] doesn't have a passenger compartment.")) #undef LOCKED -#undef OCCUPIED \ No newline at end of file +#undef OCCUPIED diff --git a/code/game/mecha/equipment/tools/powertool.dm b/code/game/mecha/equipment/tools/powertool.dm index 0adcb98929b..93a76b38f64 100644 --- a/code/game/mecha/equipment/tools/powertool.dm +++ b/code/game/mecha/equipment/tools/powertool.dm @@ -11,7 +11,7 @@ required_type = list(/obj/mecha/working/ripley) var/obj/item/my_tool = null - var/tooltype = /obj/item/weapon/tool/wrench/power + var/tooltype = /obj/item/tool/wrench/power /obj/item/mecha_parts/mecha_equipment/tool/powertool/Initialize() my_tool = new tooltype(src) @@ -37,19 +37,19 @@ name = "pneumatic prybar" desc = "An exosuit-mounted pneumatic prybar." icon_state = "mecha_crowbar" - tooltype = /obj/item/weapon/tool/crowbar/power + tooltype = /obj/item/tool/crowbar/power ready_sound = 'sound/mecha/gasdisconnected.ogg' /obj/item/mecha_parts/mecha_equipment/tool/powertool/cutter name = "pneumatic cablecutter" desc = "An exosuit-mounted pneumatic cablecutter." icon_state = "mecha_cablecutter" - tooltype = /obj/item/weapon/tool/wirecutters/power + tooltype = /obj/item/tool/wirecutters/power ready_sound = 'sound/mecha/gasdisconnected.ogg' /obj/item/mecha_parts/mecha_equipment/tool/powertool/screwdriver name = "pneumatic screwdriver" desc = "An exosuit-mounted pneumatic screwdriver." icon_state = "mecha_screwdriver" - tooltype = /obj/item/weapon/tool/screwdriver/power + tooltype = /obj/item/tool/screwdriver/power ready_sound = 'sound/mecha/gasdisconnected.ogg' diff --git a/code/game/mecha/equipment/tools/rcd.dm b/code/game/mecha/equipment/tools/rcd.dm index 5d283c852bf..44e7edb3e66 100644 --- a/code/game/mecha/equipment/tools/rcd.dm +++ b/code/game/mecha/equipment/tools/rcd.dm @@ -8,7 +8,7 @@ energy_drain = 250 range = MELEE|RANGED equip_type = EQUIP_SPECIAL - var/obj/item/weapon/rcd/electric/mounted/mecha/my_rcd = null + var/obj/item/rcd/electric/mounted/mecha/my_rcd = null /obj/item/mecha_parts/mecha_equipment/tool/rcd/Initialize() my_rcd = new(src) diff --git a/code/game/mecha/equipment/tools/repair_droid.dm b/code/game/mecha/equipment/tools/repair_droid.dm index 0f19e4d8612..0435b72c52f 100644 --- a/code/game/mecha/equipment/tools/repair_droid.dm +++ b/code/game/mecha/equipment/tools/repair_droid.dm @@ -34,7 +34,7 @@ /obj/item/mecha_parts/mecha_equipment/repair_droid/get_equip_info() if(!chassis) return - return "* [src.name] - [(datum_flags & DF_ISPROCESSING)?"Dea":"A"]ctivate" + return (equip_ready ? span_green("*") : span_red("*")) + " [src.name] - [(datum_flags & DF_ISPROCESSING)?"Dea":"A"]ctivate" /obj/item/mecha_parts/mecha_equipment/repair_droid/Topic(href, href_list) @@ -94,4 +94,4 @@ return PROCESS_KILL else set_ready_state(TRUE) - return \ No newline at end of file + return diff --git a/code/game/mecha/equipment/tools/shield.dm b/code/game/mecha/equipment/tools/shield.dm index 494b5eded8c..cf6e542278a 100644 --- a/code/game/mecha/equipment/tools/shield.dm +++ b/code/game/mecha/equipment/tools/shield.dm @@ -86,4 +86,4 @@ /obj/item/mecha_parts/mecha_equipment/combat_shield/get_equip_info() if(!chassis) return - return "* [src.name] - [my_shield.active?"Dea":"A"]ctivate" \ No newline at end of file + return (equip_ready ? span_green("*") : span_red("*")) + " [src.name] - [my_shield.active?"Dea":"A"]ctivate" diff --git a/code/game/mecha/equipment/tools/shield_omni.dm b/code/game/mecha/equipment/tools/shield_omni.dm index 3d41a1cf2e3..864a91847bd 100644 --- a/code/game/mecha/equipment/tools/shield_omni.dm +++ b/code/game/mecha/equipment/tools/shield_omni.dm @@ -57,7 +57,7 @@ /obj/item/mecha_parts/mecha_equipment/omni_shield/get_equip_info() if(!chassis) return - return "* [src.name] - [shields?.active?"Dea":"A"]ctivate" + return (equip_ready ? span_green("*") : span_red("*")) + " [src.name] - [shields?.active?"Dea":"A"]ctivate" ////// The shield projector object diff --git a/code/game/mecha/equipment/tools/sleeper.dm b/code/game/mecha/equipment/tools/sleeper.dm index 634e1ad435d..7dd617557d8 100644 --- a/code/game/mecha/equipment/tools/sleeper.dm +++ b/code/game/mecha/equipment/tools/sleeper.dm @@ -28,23 +28,23 @@ if(!istype(target)) return if(target.buckled) - occupant_message("[target] will not fit into the sleeper because they are buckled to [target.buckled].") + occupant_message(span_infoplain("[target] will not fit into the sleeper because they are buckled to [target.buckled].")) return if(occupant) - occupant_message("The sleeper is already occupied") + occupant_message(span_warning("The sleeper is already occupied")) return if(target.has_buckled_mobs()) - occupant_message(span("warning", "\The [target] has other entities attached to it. Remove them first.")) + occupant_message(span_warning("\The [target] has other entities attached to it. Remove them first.")) return - occupant_message("You start putting [target] into [src].") - chassis.visible_message("[chassis] starts putting [target] into the [src].") + occupant_message(span_infoplain("You start putting [target] into [src].")) + chassis.visible_message(span_infoplain("[chassis] starts putting [target] into the [src].")) var/C = chassis.loc var/T = target.loc if(do_after_cooldown(target)) if(chassis.loc!=C || target.loc!=T) return if(occupant) - occupant_message(span_red("The sleeper is already occupied!")) + occupant_message(span_boldwarning("The sleeper is already occupied!")) return target.forceMove(src) occupant = target @@ -57,8 +57,8 @@ */ set_ready_state(FALSE) START_PROCESSING(SSprocessing, src) - occupant_message(span_blue("[target] successfully loaded into [src]. Life support functions engaged.")) - chassis.visible_message("[chassis] loads [target] into [src].") + occupant_message(span_notice("[target] successfully loaded into [src]. Life support functions engaged.")) + chassis.visible_message(span_infoplain("[chassis] loads [target] into [src].")) log_message("[target] loaded. Life support functions engaged.") return @@ -66,7 +66,7 @@ if(!occupant) return occupant.forceMove(get_turf(src)) - occupant_message("[occupant] ejected. Life support functions disabled.") + occupant_message(span_infoplain("[occupant] ejected. Life support functions disabled.")) log_message("[occupant] ejected. Life support functions disabled.") occupant.reset_view() /* @@ -82,7 +82,7 @@ /obj/item/mecha_parts/mecha_equipment/tool/sleeper/detach() if(occupant) - occupant_message("Unable to detach [src] - equipment occupied.") + occupant_message(span_infoplain("Unable to detach [src] - equipment occupied.")) return STOP_PROCESSING(SSprocessing, src) return ..() @@ -179,9 +179,9 @@ return 0 var/to_inject = min(R.volume, inject_amount) if(to_inject && occupant.reagents.get_reagent_amount(R.id) + to_inject > inject_amount*4) - occupant_message("Sleeper safeties prohibit you from injecting more than [inject_amount*4] units of [R.name].") + occupant_message(span_warning("Sleeper safeties prohibit you from injecting more than [inject_amount*4] units of [R.name].")) else - occupant_message("Injecting [occupant] with [to_inject] units of [R.name].") + occupant_message(span_notice("Injecting [occupant] with [to_inject] units of [R.name].")) log_message("Injecting [occupant] with [to_inject] units of [R.name].") //SG.reagents.trans_id_to(occupant,R.id,to_inject) SG.reagents.remove_reagent(R.id,to_inject) @@ -197,6 +197,10 @@ return 1 return +/obj/item/mecha_parts/mecha_equipment/tool/sleeper/container_resist(var/mob/living) + if(occupant == living) + eject() + /obj/item/mecha_parts/mecha_equipment/tool/sleeper/verb/eject() set name = "Sleeper Eject" set category = "Exosuit Interface" @@ -204,7 +208,7 @@ set popup_menu = 0 if(usr!=src.occupant || usr.stat == 2) return - to_chat(usr,"Release sequence activated. This will take one minute.") + to_chat(usr,span_notice("Release sequence activated. This will take one minute.")) sleep(600) if(!src || !usr || !occupant || (occupant != usr)) //Check if someone's released/replaced/bombed him already return @@ -218,7 +222,7 @@ if(!chassis.has_charge(energy_drain)) set_ready_state(TRUE) log_message("Deactivated.") - occupant_message("[src] deactivated - no power.") + occupant_message(span_infoplain("[src] deactivated - no power.")) return PROCESS_KILL var/mob/living/carbon/M = occupant if(!M) diff --git a/code/game/mecha/equipment/tools/syringe_gun.dm b/code/game/mecha/equipment/tools/syringe_gun.dm index 9825a3037aa..e47db0d36b2 100644 --- a/code/game/mecha/equipment/tools/syringe_gun.dm +++ b/code/game/mecha/equipment/tools/syringe_gun.dm @@ -44,24 +44,24 @@ /obj/item/mecha_parts/mecha_equipment/tool/syringe_gun/action(atom/movable/target) if(!action_checks(target)) return - if(istype(target,/obj/item/weapon/reagent_containers/syringe)) + if(istype(target,/obj/item/reagent_containers/syringe)) return load_syringe(target) - if(istype(target,/obj/item/weapon/storage))//Loads syringes from boxes - for(var/obj/item/weapon/reagent_containers/syringe/S in target.contents) + if(istype(target,/obj/item/storage))//Loads syringes from boxes + for(var/obj/item/reagent_containers/syringe/S in target.contents) load_syringe(S) return if(mode) return analyze_reagents(target) if(!syringes.len) - occupant_message("No syringes loaded.") + occupant_message(span_warning("No syringes loaded.")) return if(reagents.total_volume<=0) - occupant_message("No available reagents to load syringe with.") + occupant_message(span_warning("No available reagents to load syringe with.")) return set_ready_state(FALSE) chassis.use_power(energy_drain) var/turf/trg = get_turf(target) - var/obj/item/weapon/reagent_containers/syringe/S = syringes[1] + var/obj/item/reagent_containers/syringe/S = syringes[1] S.forceMove(get_turf(chassis)) reagents.trans_to_obj(S, min(S.volume, reagents.total_volume)) syringes -= S @@ -84,7 +84,7 @@ S.icon = initial(S.icon) S.reagents.trans_to_mob(M, S.reagents.total_volume, CHEM_BLOOD) M.take_organ_damage(2) - S.visible_message(" [M] was hit by the syringe!") + S.visible_message(span_attack("[M] was hit by the syringe!")) break else if(S.loc == trg) S.icon_state = initial(S.icon_state) @@ -198,7 +198,7 @@ output += "Total: [round(reagents.total_volume,0.001)]/[reagents.maximum_volume] - Purge All" return output || "None" -/obj/item/mecha_parts/mecha_equipment/tool/syringe_gun/proc/load_syringe(obj/item/weapon/reagent_containers/syringe/S) +/obj/item/mecha_parts/mecha_equipment/tool/syringe_gun/proc/load_syringe(obj/item/reagent_containers/syringe/S) if(syringes.len= 2) occupant_message("The syringe is too far away.") @@ -225,7 +225,7 @@ occupant_message("The object is too far away.") return 0 if(!A.reagents || istype(A,/mob)) - occupant_message("No reagent info gained from [A].") + occupant_message(span_warning("No reagent info gained from [A].")) return 0 occupant_message("Analyzing reagents...") //VOREStation Block Edit - Start @@ -267,7 +267,7 @@ if(!chassis) return PROCESS_KILL if(!processed_reagents.len || reagents.total_volume >= reagents.maximum_volume || !chassis.has_charge(energy_drain)) - occupant_message("Reagent processing stopped.") + occupant_message(span_warning("Reagent processing stopped.")) log_message("Reagent processing stopped.") return PROCESS_KILL var/amount = synth_speed / processed_reagents.len @@ -330,7 +330,7 @@ STOP_PROCESSING(SSobj, src) shut_down() if(chassis && chassis.occupant) - to_chat(chassis.occupant, "\The [chassis] shudders as something jams!") + to_chat(chassis.occupant, span_notice("\The [chassis] shudders as something jams!")) log_message("[src.name] has malfunctioned. Maintenance required.") /obj/item/mecha_parts/mecha_equipment/crisis_drone/process() // Will continually try to find the nearest person above the threshold that is a valid target, and try to heal them. @@ -421,7 +421,7 @@ /obj/item/mecha_parts/mecha_equipment/crisis_drone/proc/shut_down() if(enabled) - chassis.visible_message("\The [chassis]'s [src] buzzes as its drone returns to port.") + chassis.visible_message(span_notice("\The [chassis]'s [src] buzzes as its drone returns to port.")) toggle_drone() if(!isnull(Target)) Target = null @@ -474,7 +474,7 @@ /obj/item/mecha_parts/mecha_equipment/crisis_drone/get_equip_info() if(!chassis) return - return "* [src.name] - [enabled?"Dea":"A"]ctivate" + return (equip_ready ? span_green("*") : span_red("*")) + " [src.name] - [enabled?"Dea":"A"]ctivate" /obj/item/mecha_parts/mecha_equipment/crisis_drone/rad name = "hazmat dronebay" @@ -501,4 +501,4 @@ ready_sound = 'sound/weapons/flash.ogg' required_type = list(/obj/mecha/medical) - tooltype = /obj/item/device/healthanalyzer/advanced + tooltype = /obj/item/healthanalyzer/advanced diff --git a/code/game/mecha/equipment/tools/weldinglaser.dm b/code/game/mecha/equipment/tools/weldinglaser.dm index ff1c5733a5b..bd30119657e 100644 --- a/code/game/mecha/equipment/tools/weldinglaser.dm +++ b/code/game/mecha/equipment/tools/weldinglaser.dm @@ -10,7 +10,7 @@ ready_sound = 'sound/items/Ratchet.ogg' required_type = list(/obj/mecha/working/ripley) - tooltype = /obj/item/weapon/weldingtool/electric/mounted/exosuit + tooltype = /obj/item/weldingtool/electric/mounted/exosuit /obj/item/mecha_parts/mecha_equipment/tool/powertool/welding/action(var/atom/target) ..() diff --git a/code/game/mecha/equipment/weapons/ballistic/mortar.dm b/code/game/mecha/equipment/weapons/ballistic/mortar.dm index cc20f82acf5..4cfd885b226 100644 --- a/code/game/mecha/equipment/weapons/ballistic/mortar.dm +++ b/code/game/mecha/equipment/weapons/ballistic/mortar.dm @@ -19,6 +19,6 @@ var/turf/MT = get_turf(chassis) var/turf/TT = get_turf(target) if(!MT.is_outdoors() || !TT.is_outdoors()) - to_chat(chassis.occupant, "\The [src]'s control system prevents you from firing due to a blocked firing arc.") + to_chat(chassis.occupant, span_notice("\The [src]'s control system prevents you from firing due to a blocked firing arc.")) return 0 - return ..() \ No newline at end of file + return ..() diff --git a/code/game/mecha/equipment/weapons/defense/shocker.dm b/code/game/mecha/equipment/weapons/defense/shocker.dm index 58dccec562d..63c6db72a01 100644 --- a/code/game/mecha/equipment/weapons/defense/shocker.dm +++ b/code/game/mecha/equipment/weapons/defense/shocker.dm @@ -28,7 +28,7 @@ return */ -/obj/item/mecha_parts/mecha_equipment/shocker/handle_melee_contact(var/obj/item/weapon/W, var/mob/living/user, var/inc_damage = null) +/obj/item/mecha_parts/mecha_equipment/shocker/handle_melee_contact(var/obj/item/W, var/mob/living/user, var/inc_damage = null) if(!action_checks(user) || !active) return diff --git a/code/game/mecha/equipment/weapons/explosive/grenade.dm b/code/game/mecha/equipment/weapons/explosive/grenade.dm index 930000fe3a8..2b7201a5ab3 100644 --- a/code/game/mecha/equipment/weapons/explosive/grenade.dm +++ b/code/game/mecha/equipment/weapons/explosive/grenade.dm @@ -2,7 +2,7 @@ name = "\improper SGL-6 grenade launcher" desc = "A grenade launcher produced for SWAT use; fires flashbangs." icon_state = "mecha_grenadelnchr" - projectile = /obj/item/weapon/grenade/flashbang + projectile = /obj/item/grenade/flashbang fire_sound = 'sound/effects/bang.ogg' projectiles = 6 missile_speed = 1.5 @@ -19,7 +19,7 @@ det_time = 25 /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/grenade/Fire(atom/movable/AM, atom/target, turf/aimloc) - var/obj/item/weapon/grenade/G = AM + var/obj/item/grenade/G = AM if(istype(G)) G.det_time = det_time G.activate(chassis.occupant) //Grenades actually look primed and dangerous, handle their own stuff. @@ -28,12 +28,12 @@ /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/grenade/clusterbang//Because I am a heartless bastard -Sieve name = "\improper SOP-6 grenade launcher" desc = "A grenade launcher produced for use by government uprising subjugation forces, or that's what you might guess; fires matryoshka flashbangs." - projectile = /obj/item/weapon/grenade/flashbang/clusterbang + projectile = /obj/item/grenade/flashbang/clusterbang origin_tech = list(TECH_COMBAT= 5, TECH_MATERIAL = 5, TECH_ILLEGAL = 3) /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/grenade/clusterbang/limited/get_equip_info()//Limited version of the clusterbang launcher that can't reload - return "* [chassis.selected==src?"":""][src.name][chassis.selected==src?"":""]\[[src.projectiles]\]" + return (equip_ready ? span_green("*") : span_red("*")) + " [chassis.selected==src?"":""][src.name][chassis.selected==src?"":""]\[[src.projectiles]\]" /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/grenade/clusterbang/limited/rearm() return//Extra bit of security @@ -42,7 +42,7 @@ name = "\improper SGL-9 grenade launcher" desc = "A military-grade grenade launcher that fires disorienting concussion grenades." icon_state = "mecha_grenadelnchr" - projectile = /obj/item/weapon/grenade/concussion + projectile = /obj/item/grenade/concussion missile_speed = 1 projectile_energy_cost = 900 equip_cooldown = 50 @@ -54,7 +54,7 @@ name = "\improper HEP-I 5 grenade launcher" desc = "A military-grade grenade launcher that fires anti-personnel fragmentation grenades." icon_state = "mecha_fraglnchr" - projectile = /obj/item/weapon/grenade/explosive + projectile = /obj/item/grenade/explosive projectiles = 4 missile_speed = 1 @@ -63,7 +63,7 @@ /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/grenade/frag/mini name = "\improper HEP-MI 6 grenade launcher" desc = "A military-grade grenade launcher that fires miniaturized anti-personnel fragmentation grenades." - projectile = /obj/item/weapon/grenade/explosive/mini + projectile = /obj/item/grenade/explosive/mini projectile_energy_cost = 500 equip_cooldown = 25 diff --git a/code/game/mecha/equipment/weapons/explosive/missile.dm b/code/game/mecha/equipment/weapons/explosive/missile.dm index f0c73de695e..6f0485fdb03 100644 --- a/code/game/mecha/equipment/weapons/explosive/missile.dm +++ b/code/game/mecha/equipment/weapons/explosive/missile.dm @@ -8,7 +8,7 @@ name = "\improper BNI Flare Launcher" desc = "A flare-gun, but bigger." icon_state = "mecha_flaregun" - projectile = /obj/item/device/flashlight/flare + projectile = /obj/item/flashlight/flare fire_sound = 'sound/weapons/tablehit1.ogg' auto_rearm = 1 fire_cooldown = 20 @@ -23,7 +23,7 @@ equip_type = EQUIP_UTILITY /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/flare/Fire(atom/movable/AM, atom/target, turf/aimloc) - var/obj/item/device/flashlight/flare/fired = AM + var/obj/item/flashlight/flare/fired = AM fired.ignite() ..() diff --git a/code/game/mecha/equipment/weapons/honk.dm b/code/game/mecha/equipment/weapons/honk.dm index e7bee193dd4..3edd3f554b5 100644 --- a/code/game/mecha/equipment/weapons/honk.dm +++ b/code/game/mecha/equipment/weapons/honk.dm @@ -17,14 +17,14 @@ return 0 playsound(src, 'sound/effects/bang.ogg', 30, 1, 30) - chassis.occupant_message("You emit a high-pitched noise from the mech.") + chassis.occupant_message(span_warning("You emit a high-pitched noise from the mech.")) for(var/mob/living/carbon/M in ohearers(6, chassis)) if(istype(M, /mob/living/carbon/human)) var/ear_safety = 0 ear_safety = M.get_ear_protection() if(ear_safety > 0) return - to_chat(M, "Your ears feel like they're bleeding!") + to_chat(M, span_warning("Your ears feel like they're bleeding!")) playsound(M, 'sound/effects/bang.ogg', 70, 1, 30) M.SetSleeping(0) M.ear_deaf += 30 @@ -34,4 +34,4 @@ chassis.use_power(energy_drain) log_message("Used a sound emission device.") do_after_cooldown() - return \ No newline at end of file + return diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index aa8764ea6a3..53aabdf67ec 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -30,8 +30,8 @@ if(!curloc || !targloc) return chassis.use_power(energy_drain) - chassis.visible_message("[chassis] fires [src]!") - occupant_message("You fire [src]!") + chassis.visible_message(span_warning("[chassis] fires [src]!")) + occupant_message(span_warning("You fire [src]!")) log_message("Fired from [src], targeting [target].") var/target_for_log = "unknown" if(ismob(target)) @@ -97,4 +97,6 @@ var/mob/living/carbon/human/H = user if(H.species) P.accuracy += H.species.gun_accuracy_mod - P.dispersion = max(P.dispersion + H.species.gun_accuracy_dispersion_mod, 0) \ No newline at end of file + P.dispersion = max(P.dispersion + H.species.gun_accuracy_dispersion_mod, 0) + if(H.fear > 30) + P.accuracy -= 35 diff --git a/code/game/mecha/mech_bay.dm b/code/game/mecha/mech_bay.dm index 4d481fe0557..c0dc0292529 100644 --- a/code/game/mecha/mech_bay.dm +++ b/code/game/mecha/mech_bay.dm @@ -6,7 +6,7 @@ density = FALSE anchored = TRUE layer = TURF_LAYER + 0.1 - circuit = /obj/item/weapon/circuitboard/mech_recharger + circuit = /obj/item/circuitboard/mech_recharger var/atom/movable/charging var/charge = 45 @@ -38,13 +38,13 @@ ..() charge = 0 repair = -5 - for(var/obj/item/weapon/stock_parts/P in component_parts) - if(istype(P, /obj/item/weapon/stock_parts/capacitor)) + for(var/obj/item/stock_parts/P in component_parts) + if(istype(P, /obj/item/stock_parts/capacitor)) charge += P.rating * 20 - if(istype(P, /obj/item/weapon/stock_parts/scanning_module)) + if(istype(P, /obj/item/stock_parts/scanning_module)) charge += P.rating * 5 repair += P.rating - if(istype(P, /obj/item/weapon/stock_parts/manipulator)) + if(istype(P, /obj/item/stock_parts/manipulator)) repair += P.rating * 2 /obj/machinery/mech_recharger/process() @@ -57,8 +57,8 @@ var/done = FALSE var/obj/mecha/mech = charging - var/obj/item/weapon/cell/cell = charging.get_cell() - if(cell) + var/obj/item/cell/cell = charging.get_cell() + if(cell) var/t = min(charge, cell.maxcharge - cell.charge) if(t > 0) if(istype(mech)) @@ -68,13 +68,13 @@ use_power(t * 150) else if(istype(mech)) - mech.occupant_message(SPAN_NOTICE("Fully charged.")) + mech.occupant_message(span_notice("Fully charged.")) done = TRUE if(repair && istype(mech) && mech.health < initial(mech.health)) mech.health = min(mech.health + repair, initial(mech.health)) if(mech.health == initial(mech.health)) - mech.occupant_message(SPAN_NOTICE("Fully repaired.")) + mech.occupant_message(span_notice("Fully repaired.")) else done = FALSE if(done) @@ -93,14 +93,14 @@ var/obj/mecha/mech = M if(stat & (NOPOWER | BROKEN)) if(istype(mech)) - mech.occupant_message(SPAN_WARNING("Power port not responding. Terminating.")) + mech.occupant_message(span_warning("Power port not responding. Terminating.")) else - to_chat(M, SPAN_WARNING("Power port not responding. Terminating.")) + to_chat(M, span_warning("Power port not responding. Terminating.")) return if(M.get_cell()) if(istype(mech)) - mech.occupant_message(SPAN_NOTICE("Now charging...")) + mech.occupant_message(span_notice("Now charging...")) else - to_chat(M, SPAN_NOTICE("Now charging...")) + to_chat(M, span_notice("Now charging...")) charging = M return diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm index 34395e0dcf7..c17eaa485bf 100644 --- a/code/game/mecha/mech_fabricator.dm +++ b/code/game/mecha/mech_fabricator.dm @@ -9,7 +9,7 @@ idle_power_usage = 20 active_power_usage = 5000 req_access = list(access_robotics) - circuit = /obj/item/weapon/circuitboard/mechfab + circuit = /obj/item/circuitboard/mechfab /// Current items in the build queue. var/list/queue = list() @@ -101,13 +101,13 @@ /obj/machinery/mecha_part_fabricator/RefreshParts() res_max_amount = 0 - for(var/obj/item/weapon/stock_parts/matter_bin/M in component_parts) + for(var/obj/item/stock_parts/matter_bin/M in component_parts) res_max_amount += M.rating * 100000 // 200k -> 600k var/T = 0 - for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts) + for(var/obj/item/stock_parts/manipulator/M in component_parts) T += M.rating component_coeff = max(1 - (T - 1) / 4, 0.2) // 1 -> 0.2 - for(var/obj/item/weapon/stock_parts/micro_laser/M in component_parts) // Not resetting T is intended; time_coeff is affected by both + for(var/obj/item/stock_parts/micro_laser/M in component_parts) // Not resetting T is intended; time_coeff is affected by both T += M.rating time_coeff = T / 2 // 1 -> 3 update_tgui_static_data(usr) @@ -467,7 +467,7 @@ if(..()) return if(!allowed(user)) - to_chat(user, SPAN_WARNING("\The [src] rejects your use due to lack of access!")) + to_chat(user, span_warning("\The [src] rejects your use due to lack of access!")) return tgui_interact(user) @@ -536,14 +536,14 @@ return data -/obj/machinery/mecha_part_fabricator/tgui_act(action, var/list/params) +/obj/machinery/mecha_part_fabricator/tgui_act(action, list/params, datum/tgui/ui) if(..()) return TRUE . = TRUE - add_fingerprint(usr) - usr.set_machine(src) + add_fingerprint(ui.user) + ui.user.set_machine(src) switch(action) if("sync_rnd") @@ -624,7 +624,7 @@ /obj/machinery/mecha_part_fabricator/attackby(var/obj/item/I, var/mob/user) if(being_built) - to_chat(user, "\The [src] is busy. Please wait for completion of previous operation.") + to_chat(user, span_notice("\The [src] is busy. Please wait for completion of previous operation.")) return 1 if(default_deconstruction_screwdriver(user, I)) return @@ -636,7 +636,7 @@ if(istype(I,/obj/item/stack/material)) var/obj/item/stack/material/S = I if(!(S.material.name in materials)) - to_chat(user, "The [src] doesn't accept [S.material]!") + to_chat(user, span_warning("The [src] doesn't accept [S.material]!")) return var/sname = "[S.name]" diff --git a/code/game/mecha/mech_prosthetics.dm b/code/game/mecha/mech_prosthetics.dm index e4344eef51c..e7a72c3653a 100644 --- a/code/game/mecha/mech_prosthetics.dm +++ b/code/game/mecha/mech_prosthetics.dm @@ -10,7 +10,7 @@ idle_power_usage = 20 active_power_usage = 5000 req_access = list(access_robotics) - circuit = /obj/item/weapon/circuitboard/prosthetics + circuit = /obj/item/circuitboard/prosthetics // Prosfab specific stuff var/manufacturer = null @@ -105,13 +105,13 @@ . = TRUE - add_fingerprint(usr) - usr.set_machine(src) + add_fingerprint(ui.user) + ui.user.set_machine(src) switch(action) if("species") - var/new_species = tgui_input_list(usr, "Select a new species", "Prosfab Species Selection", species_types) - if(new_species && tgui_status(usr, state) == STATUS_INTERACTIVE) + var/new_species = tgui_input_list(ui.user, "Select a new species", "Prosfab Species Selection", species_types) + if(new_species && tgui_status(ui.user, state) == STATUS_INTERACTIVE) species = new_species return if("manufacturer") @@ -124,8 +124,8 @@ continue new_manufacturers += A - var/new_manufacturer = tgui_input_list(usr, "Select a new manufacturer", "Prosfab Species Selection", new_manufacturers) - if(new_manufacturer && tgui_status(usr, state) == STATUS_INTERACTIVE) + var/new_manufacturer = tgui_input_list(ui.user, "Select a new manufacturer", "Prosfab Species Selection", new_manufacturers) + if(new_manufacturer && tgui_status(ui.user, state) == STATUS_INTERACTIVE) manufacturer = new_manufacturer return return FALSE @@ -134,27 +134,27 @@ if(..()) return 1 - if(istype(I,/obj/item/weapon/disk/limb)) - var/obj/item/weapon/disk/limb/D = I + if(istype(I,/obj/item/disk/limb)) + var/obj/item/disk/limb/D = I if(!D.company || !(D.company in all_robolimbs)) - to_chat(user, "This disk seems to be corrupted!") + to_chat(user, span_warning("This disk seems to be corrupted!")) else - to_chat(user, "Installing blueprint files for [D.company]...") + to_chat(user, span_notice("Installing blueprint files for [D.company]...")) if(do_after(user,50,src)) var/datum/robolimb/R = all_robolimbs[D.company] R.unavailable_to_build = 0 - to_chat(user, "Installed [D.company] blueprints!") + to_chat(user, span_notice("Installed [D.company] blueprints!")) qdel(I) return - if(istype(I,/obj/item/weapon/disk/species)) - var/obj/item/weapon/disk/species/D = I + if(istype(I,/obj/item/disk/species)) + var/obj/item/disk/species/D = I if(!D.species || !(D.species in GLOB.all_species)) - to_chat(user, "This disk seems to be corrupted!") + to_chat(user, span_warning("This disk seems to be corrupted!")) else - to_chat(user, "Uploading modification files for [D.species]...") + to_chat(user, span_notice("Uploading modification files for [D.species]...")) if(do_after(user,50,src)) species_types |= D.species - to_chat(user, "Uploaded [D.species] files!") + to_chat(user, span_notice("Uploaded [D.species] files!")) qdel(I) return diff --git a/code/game/mecha/mech_sensor.dm b/code/game/mecha/mech_sensor.dm index 59a611fa812..522142830c9 100644 --- a/code/game/mecha/mech_sensor.dm +++ b/code/game/mecha/mech_sensor.dm @@ -36,7 +36,7 @@ return istype(O, /obj/mecha) || istype(O, /obj/vehicle) /obj/machinery/mech_sensor/proc/give_feedback(O as obj) - var/block_message = "Movement control overridden. Area denial active." + var/block_message = span_warning("Movement control overridden. Area denial active.") var/feedback_timer = 0 if(feedback_timer) return diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index f8275a4d3dd..325288ff2e1 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -32,7 +32,7 @@ var/minimum_penetration = 15 //Incoming damage won't be fully applied if you don't have at least 20. Almost all AP clears this. var/fail_penetration_value = 0.66 //By how much failing to penetrate reduces your shit. 66% by default. 100dmg = 66dmg if failed pen - var/obj/item/weapon/cell/cell + var/obj/item/cell/cell var/state = MECHA_OPERATING var/list/log = new var/last_message = 0 @@ -58,7 +58,7 @@ var/datum/gas_mixture/cabin_air var/obj/machinery/atmospherics/portables_connector/connected_port = null - var/obj/item/device/radio/radio = null + var/obj/item/radio/radio = null var/max_temperature = 25000 //Kelvin values. var/internal_damage_threshold = 33 //Health percentage below which internal damage is possible @@ -423,21 +423,21 @@ //////////////////////// /obj/mecha/proc/removeVerb(verb_path) - verbs -= verb_path + src.verbs -= verb_path /obj/mecha/proc/addVerb(verb_path) - verbs += verb_path + src.verbs += verb_path /obj/mecha/proc/add_airtank() internal_tank = new /obj/machinery/portable_atmospherics/canister/air(src) return internal_tank -/obj/mecha/proc/add_cell(var/obj/item/weapon/cell/C=null) +/obj/mecha/proc/add_cell(var/obj/item/cell/C=null) if(C) C.forceMove(src) cell = C return - cell = new /obj/item/weapon/cell/mech(src) + cell = new /obj/item/cell/mech(src) /obj/mecha/get_cell() return cell @@ -513,11 +513,11 @@ if(65 to 85) . += "It's slightly damaged." if(45 to 65) - . += "It's badly damaged." + . += span_notice("It's badly damaged.") if(25 to 45) - . += "It's heavily damaged." + . += span_warning("It's heavily damaged.") else - . += " It's falling apart. " + . += span_warning(span_bold(" It's falling apart.") + " ") if(equipment?.len) . += "It's equipped with:" for(var/obj/item/mecha_parts/mecha_equipment/ME in equipment) @@ -635,7 +635,7 @@ /obj/mecha/proc/interface_action(obj/machinery/target) if(istype(target, /obj/machinery/access_button)) - src.occupant_message("Interfacing with [target].") + src.occupant_message(span_notice("Interfacing with [target].")) src.log_message("Interfaced with [target].") target.attack_hand(src.occupant) return 1 @@ -651,7 +651,7 @@ if(src_object == src || (src_object in src)) return STATUS_INTERACTIVE if(src.Adjacent(src_object)) - src.occupant_message("Interfacing with [src_object]...") + src.occupant_message(span_notice("Interfacing with [src_object]...")) src.log_message("Interfaced with [src_object].") return STATUS_INTERACTIVE if(src_object in view(2, src)) @@ -682,7 +682,7 @@ /obj/mecha/relaymove(mob/user,direction) if(user != src.occupant) //While not "realistic", this piece is player friendly. if(istype(user,/mob/living/carbon/brain)) - to_chat(user, "You try to move, but you are not the pilot! The exosuit doesn't respond.") + to_chat(user, span_warning("You try to move, but you are not the pilot! The exosuit doesn't respond.")) return 0 user.forceMove(get_turf(src)) to_chat(user, "You climb out from [src]") @@ -690,16 +690,16 @@ var/obj/item/mecha_parts/component/hull/HC = internal_components[MECH_HULL] if(!HC) - occupant_message("You can't operate an exosuit that doesn't have a hull!") + occupant_message(span_notice("You can't operate an exosuit that doesn't have a hull!")) return if(connected_port) if(world.time - last_message > 20) - src.occupant_message("Unable to move while connected to the air system port") + src.occupant_message(span_warning("Unable to move while connected to the air system port")) last_message = world.time return 0 if(state) - occupant_message("Maintenance protocols in effect") + occupant_message(span_warning("Maintenance protocols in effect")) return /* if(zoom) @@ -803,7 +803,7 @@ //Up/down zmove else if(direction == UP || direction == DOWN) if(!can_ztravel()) - occupant_message("Your vehicle lacks the capacity to move in that direction!") + occupant_message(span_warning("Your vehicle lacks the capacity to move in that direction!")) return FALSE //We're using locs because some mecha are 2x2 turfs. So thicc! @@ -811,16 +811,16 @@ for(var/turf/T in locs) if(!T.CanZPass(src,direction)) - occupant_message("You can't move that direction from here!") + occupant_message(span_warning("You can't move that direction from here!")) result = FALSE break var/turf/dest = (direction == UP) ? GetAbove(src) : GetBelow(src) if(!dest) - occupant_message("There is nothing of interest in this direction.") + occupant_message(span_notice("There is nothing of interest in this direction.")) result = FALSE break if(!dest.CanZPass(src,direction)) - occupant_message("There's something blocking your movement in that direction!") + occupant_message(span_warning("There's something blocking your movement in that direction!")) result = FALSE break if(result) @@ -847,7 +847,7 @@ if(!src.check_for_support()) float_direction = direction start_process(MECHA_PROC_MOVEMENT) - src.log_message("Movement control lost. Inertial movement started.") + src.log_message(span_warning("Movement control lost. Inertial movement started.")) if(do_after(get_step_delay())) can_move = 1 return 1 @@ -962,12 +962,12 @@ internal_damage &= ~int_dam_flag switch(int_dam_flag) if(MECHA_INT_TEMP_CONTROL) - occupant_message(span_blue("Life support system reactivated.")) + occupant_message(span_infoplain(span_blue(span_bold("Life support system reactivated.")))) start_process(MECHA_PROC_INT_TEMP) if(MECHA_INT_FIRE) - occupant_message(span_blue("Internal fire extinquished.")) + occupant_message(span_infoplain(span_blue(span_bold("Internal fire extinquished.")))) if(MECHA_INT_TANK_BREACH) - occupant_message(span_blue("Damaged internal tank has been sealed.")) + occupant_message(span_infoplain(span_blue(span_bold("Damaged internal tank has been sealed.")))) return @@ -1064,25 +1064,25 @@ if(prob(25)) //Why would they get free internal damage. At least make it a bit RNG. src.check_for_internal_damage(list(MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST)) playsound(src, 'sound/weapons/slash.ogg', 50, 1, -1) - to_chat(user, "You slash at the armored suit!") - visible_message("\The [user] slashes at [src.name]'s armor!") + to_chat(user, span_danger("You slash at the armored suit!")) + visible_message(span_danger("\The [user] slashes at [src.name]'s armor!")) else src.log_append_to_last("Armor saved.") playsound(src, 'sound/weapons/slash.ogg', 50, 1, -1) - to_chat(user, "Your claws had no effect!") - src.occupant_message("\The [user]'s claws are stopped by the armor.") - visible_message("\The [user] rebounds off [src.name]'s armor!") + to_chat(user, span_danger("Your claws had no effect!")) + src.occupant_message(span_notice("\The [user]'s claws are stopped by the armor.")) + visible_message(span_warning("\The [user] rebounds off [src.name]'s armor!")) else - user.visible_message("\The [user] hits \the [src]. Nothing happens.","You hit \the [src] with no visible effect.") + user.visible_message(span_danger("\The [user] hits \the [src]. Nothing happens."),span_danger("You hit \the [src] with no visible effect.")) src.log_append_to_last("Armor saved.") return else if ((HULK in user.mutations) && !prob(temp_deflect_chance)) src.take_damage(15) //The take_damage() proc handles armor values if(prob(25)) //Hulks punch hard but lets not give them consistent internal damage. src.check_for_internal_damage(list(MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST)) - user.visible_message(span_red("[user] hits [src.name], doing some damage."), span_red("You hit [src.name] with all your might. The metal creaks and bends.")) + user.visible_message(span_warning(span_red(span_bold("[user] hits [src.name], doing some damage."))), span_warning(span_red(span_bold("You hit [src.name] with all your might. The metal creaks and bends.")))) else - user.visible_message(span_red("[user] hits [src.name]. Nothing happens."),span_red("You hit [src.name] with no visible effect.")) + user.visible_message(span_infoplain((span_red(span_bold("[user] hits [src.name]. Nothing happens.")))),span_infoplain(span_red(span_bold("You hit [src.name] with no visible effect.")))) src.log_append_to_last("Armor saved.") return @@ -1118,7 +1118,7 @@ src.visible_message("The [A] fastens firmly to [src].") return if(prob(temp_deflect_chance) || istype(A, /mob)) - src.occupant_message("\The [A] bounces off the armor.") + src.occupant_message(span_notice("\The [A] bounces off the armor.")) src.visible_message("\The [A] bounces off \the [src] armor") src.log_append_to_last("Armor saved.") if(istype(A, /mob/living)) @@ -1131,16 +1131,16 @@ var/pass_damage = O.throwforce var/pass_damage_reduc_mod if(pass_damage <= temp_damage_minimum)//Too little to go through. - src.occupant_message("\The [A] bounces off the armor.") + src.occupant_message(span_notice("\The [A] bounces off the armor.")) src.visible_message("\The [A] bounces off \the [src] armor") return else if(O.armor_penetration < temp_minimum_penetration) //If you don't have enough pen, you won't do full damage - src.occupant_message("\The [A] struggles to bypass \the [src] armor.") + src.occupant_message(span_notice("\The [A] struggles to bypass \the [src] armor.")) src.visible_message("\The [A] struggles to bypass \the [src] armor") pass_damage_reduc_mod = temp_fail_penetration_value //This will apply to reduce damage to 2/3 or 66% by default else - src.occupant_message("\The [A] manages to pierce \the [src] armor.") + src.occupant_message(span_notice("\The [A] manages to pierce \the [src] armor.")) // src.visible_message("\The [A] manages to pierce \the [src] armor") pass_damage_reduc_mod = 1 @@ -1188,7 +1188,7 @@ temp_fail_penetration_value = round(ArmC.get_efficiency() * ArmC.fail_penetration_value) if(prob(temp_deflect_chance)) - src.occupant_message("The armor deflects incoming projectile.") + src.occupant_message(span_notice("The armor deflects incoming projectile.")) src.visible_message("The [src.name] armor deflects the projectile") src.log_append_to_last("Armor saved.") return @@ -1207,17 +1207,17 @@ pass_damage = ME.handle_projectile_contact(Proj, pass_damage) if(pass_damage < temp_damage_minimum)//too pathetic to really damage you. - src.occupant_message("The armor deflects incoming projectile.") + src.occupant_message(span_notice("The armor deflects incoming projectile.")) src.visible_message("The [src.name] armor deflects\the [Proj]") return else if(Proj.armor_penetration < temp_minimum_penetration) //If you don't have enough pen, you won't do full damage - src.occupant_message("\The [Proj] struggles to pierce \the [src] armor.") + src.occupant_message(span_notice("\The [Proj] struggles to pierce \the [src] armor.")) src.visible_message("\The [Proj] struggles to pierce \the [src] armor") pass_damage_reduc_mod = temp_fail_penetration_value //This will apply to reduce damage to 2/3 or 66% by default else //You go through completely because you use AP. Nice. - src.occupant_message("\The [Proj] manages to pierce \the [src] armor.") + src.occupant_message(span_notice("\The [Proj] manages to pierce \the [src] armor.")) // src.visible_message("\The [Proj] manages to pierce \the [src] armor") pass_damage_reduc_mod = 1 @@ -1288,18 +1288,18 @@ src.take_damage(6) src.check_for_internal_damage(list(MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST)) playsound(src, 'sound/effects/blobattack.ogg', 50, 1, -1) - to_chat(user, "You smash at the armored suit!") + to_chat(user, span_danger("You smash at the armored suit!")) for (var/mob/V in viewers(src)) if(V.client && !(V.blinded)) - V.show_message("\The [user] smashes against [src.name]'s armor!", 1) + V.show_message(span_danger("\The [user] smashes against [src.name]'s armor!"), 1) else src.log_append_to_last("Armor saved.") playsound(src, 'sound/effects/blobattack.ogg', 50, 1, -1) - to_chat(user, "Your attack had no effect!") - src.occupant_message("\The [user]'s attack is stopped by the armor.") + to_chat(user, span_warning("Your attack had no effect!")) + src.occupant_message(span_warning("\The [user]'s attack is stopped by the armor.")) for (var/mob/V in viewers(src)) if(V.client && !(V.blinded)) - V.show_message("\The [user] rebounds off the [src.name] armor!", 1) + V.show_message(span_warning("\The [user] rebounds off the [src.name] armor!"), 1) return */ @@ -1319,7 +1319,7 @@ src.check_for_internal_damage(list(MECHA_INT_FIRE, MECHA_INT_TEMP_CONTROL)) return -/obj/mecha/proc/dynattackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/mecha/proc/dynattackby(obj/item/W as obj, mob/user as mob) user.setClickCooldown(user.get_attack_speed(W)) src.log_message("Attacked by [W]. Attacker - [user]") var/pass_damage_reduc_mod //Modifer for failing to bring AP. @@ -1344,24 +1344,24 @@ temp_fail_penetration_value = round(ArmC.get_efficiency() * ArmC.fail_penetration_value) if(prob(temp_deflect_chance)) //Does your attack get deflected outright. - src.occupant_message("\The [W] bounces off [src.name].") - to_chat(user, "\The [W] bounces off [src.name].") + src.occupant_message(span_notice("\The [W] bounces off [src.name].")) + to_chat(user, span_danger("\The [W] bounces off [src.name].")) src.log_append_to_last("Armor saved.") else if(W.force < temp_damage_minimum) //Is your attack too PATHETIC to do anything. 3 damage to a person shouldn't do anything to a mech. - src.occupant_message("\The [W] bounces off the armor.") - src.visible_message("\The [W] bounces off \the [src] armor") + src.occupant_message(span_notice("\The [W] bounces off the armor.")) + src.visible_message(span_infoplain("\The [W] bounces off \the [src] armor")) return else if(W.armor_penetration < temp_minimum_penetration) //If you don't have enough pen, you won't do full damage - src.occupant_message("\The [W] struggles to bypass \the [src] armor.") - src.visible_message("\The [W] struggles to bypass \the [src] armor") + src.occupant_message(span_notice("\The [W] struggles to bypass \the [src] armor.")) + src.visible_message(span_infoplain("\The [W] struggles to bypass \the [src] armor")) pass_damage_reduc_mod = temp_fail_penetration_value //This will apply to reduce damage to 2/3 or 66% by default else pass_damage_reduc_mod = 1 //Just making sure. - src.occupant_message(span_red("[user] hits [src] with [W].")) - user.visible_message(span_red("[user] hits [src] with [W]."), span_red("You hit [src] with [W].")) + src.occupant_message(span_warning(span_red(span_bold("[user] hits [src] with [W].")))) + user.visible_message(span_warning(span_red(span_bold("[user] hits [src] with [W]."))), span_danger(span_red(span_bold("You hit [src] with [W].")))) var/pass_damage = W.force pass_damage = (pass_damage*pass_damage_reduc_mod) //Apply the reduction of damage from not having enough armor penetration. This is not regular armor values at play. @@ -1376,17 +1376,17 @@ ////// AttackBy ////// ////////////////////// -/obj/mecha/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/mecha/attackby(obj/item/W as obj, mob/user as mob) - if(istype(W, /obj/item/device/mmi)) + if(istype(W, /obj/item/mmi)) if(mmi_move_inside(W,user)) to_chat(user, "[src]-MMI interface initialized successfuly") else to_chat(user, "[src]-MMI interface initialization failed.") return - if(istype(W, /obj/item/device/robotanalyzer)) - var/obj/item/device/robotanalyzer/RA = W + if(istype(W, /obj/item/robotanalyzer)) + var/obj/item/robotanalyzer/RA = W RA.do_scan(src, user) return @@ -1410,25 +1410,25 @@ user.visible_message("[user] installs \the [W] in \the [src]", "You install \the [W] in \the [src].") return - if(istype(W, /obj/item/weapon/card/robot)) - var/obj/item/weapon/card/robot/RoC = W + if(istype(W, /obj/item/card/robot)) + var/obj/item/card/robot/RoC = W return attackby(RoC.dummy_card, user) - if(istype(W, /obj/item/weapon/card/id)||istype(W, /obj/item/device/pda)) + if(istype(W, /obj/item/card/id)||istype(W, /obj/item/pda)) if(add_req_access || maint_access) - if(internals_access_allowed(usr)) - var/obj/item/weapon/card/id/id_card - if(istype(W, /obj/item/weapon/card/id)) + if(internals_access_allowed(user)) + var/obj/item/card/id/id_card + if(istype(W, /obj/item/card/id)) id_card = W else - var/obj/item/device/pda/pda = W + var/obj/item/pda/pda = W id_card = pda.id output_maintenance_dialog(id_card, user) return else - to_chat(user, "Invalid ID: Access denied.") + to_chat(user, span_warning("Invalid ID: Access denied.")) else - to_chat(user, "Maintenance protocols disabled by operator.") + to_chat(user, span_warning("Maintenance protocols disabled by operator.")) else if(W.has_tool_quality(TOOL_WRENCH)) if(state==MECHA_BOLTS_SECURED) state = MECHA_PANEL_LOOSE @@ -1451,7 +1451,7 @@ if(istype(MC)) removable_components[MC.name] = MC else - to_chat(user, "\The [src] appears to be missing \the [slot].") + to_chat(user, span_notice("\The [src] appears to be missing \the [slot].")) var/remove = tgui_input_list(user, "Which component do you want to pry out?", "Remove Component", removable_components) if(!remove) @@ -1485,19 +1485,19 @@ to_chat(user, "You screw the cell in place") return - else if(istype(W, /obj/item/device/multitool)) + else if(istype(W, /obj/item/multitool)) if(state>=MECHA_CELL_OPEN && src.occupant) to_chat(user, "You attempt to eject the pilot using the maintenance controls.") if(src.occupant.stat) src.go_out() src.log_message("[src.occupant] was ejected using the maintenance controls.") else - to_chat(user, "Your attempt is rejected.") - src.occupant_message("An attempt to eject you was made using the maintenance controls.") + to_chat(user, span_warning("Your attempt is rejected.")) + src.occupant_message(span_warning("An attempt to eject you was made using the maintenance controls.")) src.log_message("Eject attempt made using maintenance controls - rejected.") return - else if(istype(W, /obj/item/weapon/cell)) + else if(istype(W, /obj/item/cell)) if(state==MECHA_CELL_OUT) if(!src.cell) to_chat(user, "You install the powercell") @@ -1510,26 +1510,26 @@ return else if(W.has_tool_quality(TOOL_WELDER) && user.a_intent != I_HURT) - var/obj/item/weapon/weldingtool/WT = W.get_welder() + var/obj/item/weldingtool/WT = W.get_welder() var/obj/item/mecha_parts/component/hull/HC = internal_components[MECH_HULL] var/obj/item/mecha_parts/component/armor/AC = internal_components[MECH_ARMOR] if (WT.remove_fuel(0,user)) if (hasInternalDamage(MECHA_INT_TANK_BREACH)) clearInternalDamage(MECHA_INT_TANK_BREACH) - to_chat(user, "You repair the damaged gas tank.") + to_chat(user, span_notice("You repair the damaged gas tank.")) else return if((src.healthYou repair some damage to [src.name].
") + to_chat(user, span_notice("You repair some damage to [src.name].")) src.health += min(10, initial(src.health)-src.health) update_damage_alerts() else if(HC.integrityYou repair some damage to [HC.name].") + to_chat(user, span_notice("You repair some damage to [HC.name].")) HC.integrity += min(10, HC.max_integrity-HC.integrity) update_damage_alerts() else if(AC.integrityYou repair some damage to [AC.name].") + to_chat(user, span_notice("You repair some damage to [AC.name].")) AC.integrity += min(10, AC.max_integrity-AC.integrity) update_damage_alerts() @@ -1551,30 +1551,30 @@ var/obj/item/mecha_parts/component/C = internal_components[slot] if(!C) - to_chat(user, "There are no components installed!") + to_chat(user, span_notice("There are no components installed!")) return if(C.integrity >= C.max_integrity) - to_chat(user, "\The [C] does not require repairs.") + to_chat(user, span_notice("\The [C] does not require repairs.")) else if(C.integrity < C.max_integrity) - to_chat(user, "You start to repair damage to \the [C].") + to_chat(user, span_notice("You start to repair damage to \the [C].")) while(C.integrity < C.max_integrity && NP) if(do_after(user, 1 SECOND, src)) NP.use(1) C.adjust_integrity(NP.mech_repair) if(C.integrity >= C.max_integrity) - to_chat(user, "You finish repairing \the [C].") + to_chat(user, span_notice("You finish repairing \the [C].")) break else if(NP.amount == 0) - to_chat(user, "Insufficient nanopaste to complete repairs!") + to_chat(user, span_warning("Insufficient nanopaste to complete repairs!")) break return else - to_chat(user, "You can't reach \the [src]'s internal components.") + to_chat(user, span_notice("You can't reach \the [src]'s internal components.")) return else @@ -1582,7 +1582,7 @@ /* src.log_message("Attacked by [W]. Attacker - [user]") if(prob(src.deflect_chance)) - to_chat(user, "\The [W] bounces off [src.name] armor.") + to_chat(user, span_warning("\The [W] bounces off [src.name] armor.")) src.log_append_to_last("Armor saved.") /* for (var/mob/V in viewers(src)) @@ -1614,7 +1614,7 @@ //////// Brain Stuff //////// /////////////////////////////// -/obj/mecha/proc/mmi_move_inside(var/obj/item/device/mmi/mmi_as_oc as obj,mob/user as mob) +/obj/mecha/proc/mmi_move_inside(var/obj/item/mmi/mmi_as_oc as obj,mob/user as mob) if(!mmi_as_oc.brainmob || !mmi_as_oc.brainmob.client) to_chat(user, "Consciousness matrix not detected.") return 0 @@ -1630,7 +1630,7 @@ //Added a message here since people assume their first click failed or something./N // to_chat(user, "Installing MMI, please stand by.") - visible_message("[usr] starts to insert a brain into [src.name]") + visible_message(span_notice("[usr] starts to insert a brain into [src.name]")) if(enter_after(40,user)) if(!occupant) @@ -1641,7 +1641,7 @@ to_chat(user, "You stop attempting to install the brain.") return 0 -/obj/mecha/proc/mmi_moved_inside(var/obj/item/device/mmi/mmi_as_oc as obj,mob/user as mob) +/obj/mecha/proc/mmi_moved_inside(var/obj/item/mmi/mmi_as_oc as obj,mob/user as mob) if(mmi_as_oc && (user in range(1))) if(!mmi_as_oc.brainmob || !mmi_as_oc.brainmob.client) to_chat(user, "Consciousness matrix not detected.") @@ -1785,12 +1785,12 @@ var/obj/machinery/atmospherics/portables_connector/possible_port = locate(/obj/machinery/atmospherics/portables_connector) in T if(possible_port) if(connect(possible_port)) - occupant_message("\The [name] connects to the port.") + occupant_message(span_notice("\The [name] connects to the port.")) verbs += /obj/mecha/verb/disconnect_from_port verbs -= /obj/mecha/verb/connect_to_port return else - occupant_message("\The [name] failed to connect to the port.") + occupant_message(span_danger("\The [name] failed to connect to the port.")) return else occupant_message("Nothing happens") @@ -1809,11 +1809,11 @@ return if(disconnect()) - occupant_message("[name] disconnects from the port.") + occupant_message(span_notice("[name] disconnects from the port.")) verbs -= /obj/mecha/verb/disconnect_from_port verbs += /obj/mecha/verb/connect_to_port else - occupant_message("[name] is not connected to the port at the moment.") + occupant_message(span_danger("[name] is not connected to the port at the moment.")) /obj/mecha/verb/toggle_lights() set name = "Toggle Lights" @@ -1846,11 +1846,11 @@ var/obj/item/mecha_parts/component/gas/GC = internal_components[MECH_GAS] if(!GC) - to_chat(occupant, "The life support systems don't seem to respond.") + to_chat(occupant, span_warning("The life support systems don't seem to respond.")) return if(!prob(GC.get_efficiency() * 100)) - to_chat(occupant, "\The [GC] shudders and barks, before returning to how it was before.") + to_chat(occupant, span_warning("\The [GC] shudders and barks, before returning to how it was before.")) return use_internal_tank = !use_internal_tank @@ -1905,22 +1905,22 @@ return if (usr.buckled) - to_chat(usr, "You can't climb into the exosuit while buckled!") + to_chat(usr, span_warning("You can't climb into the exosuit while buckled!")) return src.log_message("[usr] tries to move in.") if(iscarbon(usr)) var/mob/living/carbon/C = usr if(C.handcuffed) - to_chat(usr, "Kinda hard to climb in while handcuffed don't you think?") + to_chat(usr, span_danger("Kinda hard to climb in while handcuffed don't you think?")) return if (src.occupant) - to_chat(usr, "The [src.name] is already occupied!") + to_chat(usr, span_danger("The [src.name] is already occupied!")) src.log_append_to_last("Permission denied.") return /* if (usr.abiotic()) - to_chat(usr, "Subject cannot have abiotic items on.") + to_chat(usr, span_notice("Subject cannot have abiotic items on.")) return */ var/passed @@ -1930,23 +1930,23 @@ else if(src.operation_allowed(usr)) passed = 1 if(!passed) - to_chat(usr, "Access denied") + to_chat(usr, span_warning("Access denied")) src.log_append_to_last("Permission denied.") return if(isliving(usr)) var/mob/living/L = usr if(L.has_buckled_mobs()) - to_chat(L, span("warning", "You have other entities attached to yourself. Remove them first.")) + to_chat(L, span_warning("You have other entities attached to yourself. Remove them first.")) return // to_chat(usr, "You start climbing into [src.name]") if(get_equipment(/obj/item/mecha_parts/mecha_equipment/runningboard)) - visible_message("\The [usr] is instantly lifted into [src.name] by the running board!") + visible_message(span_notice("\The [usr] is instantly lifted into [src.name] by the running board!")) moved_inside(usr) if(ishuman(occupant)) GrantActions(occupant, 1) else - visible_message("\The [usr] starts to climb into [src.name]") + visible_message(span_infoplain(span_bold("\The [usr]") + " starts to climb into [src.name]")) if(enter_after(40,usr)) if(!src.occupant) moved_inside(usr) @@ -2082,8 +2082,8 @@ occupant << browse(null, "window=exosuit") if(occupant.client && cloaked_selfimage) occupant.client.images -= cloaked_selfimage - if(istype(mob_container, /obj/item/device/mmi)) - var/obj/item/device/mmi/mmi = mob_container + if(istype(mob_container, /obj/item/mmi)) + var/obj/item/mmi/mmi = mob_container if(mmi.brainmob) occupant.loc = mmi mmi.mecha = null @@ -2129,23 +2129,23 @@ return 0 -/obj/mecha/check_access(obj/item/weapon/card/id/I, list/access_list) +/obj/mecha/check_access(obj/item/card/id/I, list/access_list) if(!istype(access_list)) return 1 if(!access_list.len) //no requirements return 1 - if(istype(I, /obj/item/device/pda)) - var/obj/item/device/pda/pda = I + if(istype(I, /obj/item/pda)) + var/obj/item/pda/pda = I I = pda.id - if(!istype(I) || !I.access) //not ID or no access + if(!istype(I) || !I.GetAccess()) //not ID or no access return 0 if(access_list==src.operation_req_access) for(var/req in access_list) - if(!(req in I.access)) //doesn't have this access + if(!(req in I.GetAccess())) //doesn't have this access return 0 else if(access_list==src.internals_req_access) for(var/req in access_list) - if(req in I.access) + if(req in I.GetAccess()) return 1 return 1 @@ -2230,8 +2230,8 @@ var/obj/item/mecha_parts/component/armor/AC = internal_components[MECH_ARMOR] var/output = {"[report_internal_damage()] - Armor Integrity: [AC?"[round(AC.integrity / AC.max_integrity * 100, 0.1)]%":"ARMOR MISSING"]
- Hull Integrity: [HC?"[round(HC.integrity / HC.max_integrity * 100, 0.1)]%":"HULL MISSING"]
+ Armor Integrity: [AC?"[round(AC.integrity / AC.max_integrity * 100, 0.1)]%":span_warning("ARMOR MISSING")]
+ Hull Integrity: [HC?"[round(HC.integrity / HC.max_integrity * 100, 0.1)]%":span_warning("HULL MISSING")]
[integrity<30?"DAMAGE LEVEL CRITICAL
":null] Chassis Integrity: [integrity]%
Powercell charge: [isnull(cell_charge)?"No powercell installed":"[cell.percent()]%"]
@@ -2246,16 +2246,16 @@ if(defence_mode_possible) - output += "Defence mode: [defence_mode?"on":"off"]
" + output += span_bold("Defence mode: [defence_mode?"on":"off"]") + "
" if(overload_possible) - output += "Leg actuators overload: [overload?"on":"off"]
" + output += span_bold("Leg actuators overload: [overload?"on":"off"]") + "
" if(smoke_possible) - output += "Smoke: [smoke_reserve]
" + output += span_bold("Smoke:") + " [smoke_reserve]
" if(thrusters_possible) - output += "Thrusters: [thrusters?"on":"off"]
" + output += span_bold("Thrusters:") + " [thrusters?"on":"off"]
" //Cargo components. Keep this last otherwise it does weird alignment issues. - output += "Cargo Compartment Contents:
" + output += span_bold("Cargo Compartment Contents:") + "
" if(src.cargo.len) for(var/obj/O in src.cargo) output += "Unload : [O]
" @@ -2338,7 +2338,7 @@ /obj/mecha/proc/get_equipment_list() //outputs mecha equipment list in html if(!equipment.len) return - var/output = "Equipment:
" + var/output = span_bold("Equipment:") + "
" for(var/obj/item/mecha_parts/mecha_equipment/MT in equipment) output += "
[MT.get_equip_info()]
" output += "
" @@ -2365,7 +2365,7 @@ return data -/obj/mecha/proc/output_access_dialog(obj/item/weapon/card/id/id_card, mob/user) +/obj/mecha/proc/output_access_dialog(obj/item/card/id/id_card, mob/user) if(!id_card || !user) return var/output = {"

Nanotrasen Security Citation


This security citation has been issued to
[capitalize(ticket_name)]
Reason:
[details]
See your local representative at Central Command after the shift is over to resolve this issue.
" - var/obj/item/weapon/paper/sec_ticket/p = new /obj/item/weapon/paper/sec_ticket(our_turf) + var/obj/item/paper/sec_ticket/p = new /obj/item/paper/sec_ticket(our_turf) p.info = final p.name = "Security Citation: [ticket_name]" @@ -43,39 +45,39 @@ log_and_message_admins("has issued '[ticket_name]' a security citation: \"[details]\"", user) last_print = world.time -/obj/item/weapon/paper/sec_ticket +/obj/item/paper/sec_ticket name = "Security Citation" desc = "A citation issued by security for some kind of infraction!" icon = 'icons/obj/bureaucracy_vr.dmi' icon_state = "sec_ticket" -/obj/item/weapon/paper/sec_ticket/Initialize(mapload, text, title) +/obj/item/paper/sec_ticket/Initialize(mapload, text, title) . = ..() icon = 'icons/obj/bureaucracy_vr.dmi' icon_state = "sec_ticket" -/obj/item/weapon/paper/sec_ticket/update_icon() +/obj/item/paper/sec_ticket/update_icon() icon = icon icon_state = icon_state -/obj/item/device/ticket_printer/train +/obj/item/ticket_printer/train name = "permission ticket printer" desc = "It prints permit tickets!" icon = 'icons/obj/device_vr.dmi' icon_state = "train_ticket_printer" -/obj/item/device/ticket_printer/train/print_a_ticket(mob/user) +/obj/item/ticket_printer/train/print_a_ticket(mob/user) var/ticket_name = sanitize(tgui_input_text(user, "The Name of the person you are issuing the ticket to.", "Name", max_length = 100)) if(length(ticket_name) > 100) - tgui_alert_async(usr, "Entered name too long. 100 character limit.","Error") + tgui_alert_async(user, "Entered name too long. 100 character limit.","Error") return if(!ticket_name) return var/details = sanitize(tgui_input_text(user, "What is the ticket for? This could be anything like travel to a destination or permission to do something! This is not official and does not override any rules or authorities on the station.", "Ticket Details", max_length = 200)) if(length(details) > 200) - tgui_alert_async(usr, "Entered details too long. 200 character limit.","Error") + tgui_alert_async(user, "Entered details too long. 200 character limit.","Error") return if(!details) return @@ -84,7 +86,7 @@ var/final = "

Permit Ticket


This ticket has been issued to
[capitalize(ticket_name)]
This permits them to:
[details]
Issued by:[user]
This ticket is non-refundable from the time of receipt. This ticket holds the authority of the issuer only and does not hold any authority over persons nor entities that were not involved in this transaction.
" - var/obj/item/weapon/paper/permit_ticket/p = new /obj/item/weapon/paper/permit_ticket(our_turf) + var/obj/item/paper/permit_ticket/p = new /obj/item/paper/permit_ticket(our_turf) p.info = final p.name = "Permit Ticket: [ticket_name]" @@ -93,17 +95,17 @@ log_and_message_admins("has issued '[ticket_name]' a permit ticket: \"[details]\"", user) last_print = world.time -/obj/item/weapon/paper/permit_ticket +/obj/item/paper/permit_ticket name = "Permit Ticket" desc = "A ticket issued to permit someone to do something!" icon = 'icons/obj/bureaucracy_vr.dmi' icon_state = "permit_ticket" -/obj/item/weapon/paper/permit_ticket/Initialize(mapload, text, title) +/obj/item/paper/permit_ticket/Initialize(mapload, text, title) . = ..() icon = 'icons/obj/bureaucracy_vr.dmi' icon_state = "permit_ticket" -/obj/item/weapon/paper/permit_ticket/update_icon() +/obj/item/paper/permit_ticket/update_icon() icon = icon icon_state = icon_state diff --git a/code/game/objects/items/devices/traitordevices.dm b/code/game/objects/items/devices/traitordevices.dm index 3ddc35a2097..9c75a312d5a 100644 --- a/code/game/objects/items/devices/traitordevices.dm +++ b/code/game/objects/items/devices/traitordevices.dm @@ -14,9 +14,10 @@ effective or pretty fucking useless. */ -/obj/item/device/batterer +/obj/item/batterer name = "mind batterer" desc = "A strange device with twin antennas." + icon = 'icons/obj/device.dmi' icon_state = "batterer" throwforce = 5 w_class = ITEMSIZE_TINY @@ -28,10 +29,13 @@ effective or pretty fucking useless. var/times_used = 0 //Number of times it's been used. var/max_uses = 2 -/obj/item/device/batterer/attack_self(mob/living/carbon/user as mob, flag = 0, emp = 0) + pickup_sound = 'sound/items/pickup/device.ogg' + drop_sound = 'sound/items/drop/device.ogg' + +/obj/item/batterer/attack_self(mob/living/carbon/user as mob, flag = 0, emp = 0) if(!user) return if(times_used >= max_uses) - to_chat(user, "The mind batterer has been burnt out!") + to_chat(user, span_warning("The mind batterer has been burnt out!")) return var/list/affected = list() @@ -43,15 +47,15 @@ effective or pretty fucking useless. M.Weaken(rand(10,20)) if(prob(25)) M.Stun(rand(5,10)) - to_chat(M, "You feel a tremendous, paralyzing wave flood your mind.") + to_chat(M, span_danger("You feel a tremendous, paralyzing wave flood your mind.")) else - to_chat(M, "You feel a sudden, electric jolt travel through your head.") + to_chat(M, span_danger("You feel a sudden, electric jolt travel through your head.")) add_attack_logs(user,affected,"Used a [name]") playsound(src, 'sound/misc/interference.ogg', 50, 1) - to_chat(user, "You trigger [src].") + to_chat(user, span_notice("You trigger [src].")) times_used += 1 if(times_used >= max_uses) icon_state = "battererburnt" diff --git a/code/game/objects/items/devices/transfer_valve.dm b/code/game/objects/items/devices/transfer_valve.dm index 66d05b2d93c..958ce7471cf 100644 --- a/code/game/objects/items/devices/transfer_valve.dm +++ b/code/game/objects/items/devices/transfer_valve.dm @@ -1,32 +1,32 @@ -/obj/item/device/transfer_valve +/obj/item/transfer_valve name = "tank transfer valve" desc = "Regulates the transfer of air between two tanks" icon = 'icons/obj/assemblies.dmi' icon_state = "valve_1" - var/obj/item/weapon/tank/tank_one - var/obj/item/weapon/tank/tank_two - var/obj/item/device/assembly/attached_device + var/obj/item/tank/tank_one + var/obj/item/tank/tank_two + var/obj/item/assembly/attached_device var/mob/attacher = null var/valve_open = 0 var/toggle = 1 -/obj/item/device/transfer_valve/attackby(obj/item/item, mob/user) +/obj/item/transfer_valve/attackby(obj/item/item, mob/user) var/turf/location = get_turf(src) // For admin logs - if(istype(item, /obj/item/weapon/tank)) + if(istype(item, /obj/item/tank)) if(tank_one && tank_two) - to_chat(user, "There are already two tanks attached, remove one first.") + to_chat(user, span_warning("There are already two tanks attached, remove one first.")) return if(!tank_one) tank_one = item user.drop_item() item.forceMove(src) - to_chat(user, "You attach the tank to the transfer valve.") + to_chat(user, span_notice("You attach the tank to the transfer valve.")) else if(!tank_two) tank_two = item user.drop_item() item.forceMove(src) - to_chat(user, "You attach the tank to the transfer valve.") + to_chat(user, span_notice("You attach the tank to the transfer valve.")) message_admins("[key_name_admin(user)] attached both tanks to a transfer valve. [ADMIN_JMP(location)]") log_game("[key_name_admin(user)] attached both tanks to a transfer valve.") @@ -34,17 +34,17 @@ SStgui.update_uis(src) // update all UIs attached to src //TODO: Have this take an assemblyholder else if(isassembly(item)) - var/obj/item/device/assembly/A = item + var/obj/item/assembly/A = item if(A.secured) - to_chat(user, "The device is secured.") + to_chat(user, span_notice("The device is secured.")) return if(attached_device) - to_chat(user, "There is already an device attached to the valve, remove it first.") + to_chat(user, span_warning("There is already an device attached to the valve, remove it first.")) return user.remove_from_mob(item) attached_device = A A.forceMove(src) - to_chat(user, "You attach the [item] to the valve controls and secure it.") + to_chat(user, span_notice("You attach the [item] to the valve controls and secure it.")) A.holder = src A.toggle_secure() //this calls update_icon(), which calls update_icon() on the holder (i.e. the bomb). @@ -56,29 +56,29 @@ return -/obj/item/device/transfer_valve/HasProximity(turf/T, atom/movable/AM, old_loc) +/obj/item/transfer_valve/HasProximity(turf/T, atom/movable/AM, old_loc) attached_device?.HasProximity(T, AM, old_loc) -/obj/item/device/transfer_valve/Moved(old_loc, direction, forced) +/obj/item/transfer_valve/Moved(old_loc, direction, forced) . = ..() if(isturf(old_loc)) unsense_proximity(callback = /atom/proc/HasProximity, center = old_loc) if(isturf(loc)) sense_proximity(callback = /atom/proc/HasProximity) -/obj/item/device/transfer_valve/attack_self(mob/user) +/obj/item/transfer_valve/attack_self(mob/user) tgui_interact(user) -/obj/item/device/transfer_valve/tgui_state(mob/user) +/obj/item/transfer_valve/tgui_state(mob/user) return GLOB.tgui_inventory_state -/obj/item/device/transfer_valve/tgui_interact(mob/user, datum/tgui/ui = null) +/obj/item/transfer_valve/tgui_interact(mob/user, datum/tgui/ui = null) ui = SStgui.try_update_ui(user, src, ui) if(!ui) ui = new(user, src, "TransferValve", name) // 460, 320 ui.open() -/obj/item/device/transfer_valve/tgui_data(mob/user) +/obj/item/transfer_valve/tgui_data(mob/user) var/list/data = list() data["tank_one"] = tank_one ? tank_one.name : null data["tank_two"] = tank_two ? tank_two.name : null @@ -86,7 +86,7 @@ data["valve"] = valve_open return data -/obj/item/device/transfer_valve/tgui_act(action, params) +/obj/item/transfer_valve/tgui_act(action, params, datum/tgui/ui) if(..()) return . = TRUE @@ -99,7 +99,7 @@ toggle_valve() if("device") if(attached_device) - attached_device.attack_self(usr) + attached_device.attack_self(ui.user) if("remove_device") if(attached_device) attached_device.forceMove(get_turf(src)) @@ -110,15 +110,15 @@ . = FALSE if(.) update_icon() - add_fingerprint(usr) + add_fingerprint(ui.user) -/obj/item/device/transfer_valve/proc/process_activation(var/obj/item/device/D) +/obj/item/transfer_valve/proc/process_activation(var/obj/item/D) if(toggle) toggle = FALSE toggle_valve() VARSET_IN(src, toggle, TRUE, 5 SECONDS) -/obj/item/device/transfer_valve/update_icon() +/obj/item/transfer_valve/update_icon() cut_overlays() underlays = null @@ -136,7 +136,7 @@ if(attached_device) add_overlay("device") -/obj/item/device/transfer_valve/proc/remove_tank(obj/item/weapon/tank/T) +/obj/item/transfer_valve/proc/remove_tank(obj/item/tank/T) if(tank_one == T) split_gases() tank_one = null @@ -149,7 +149,7 @@ T.forceMove(get_turf(src)) update_icon() -/obj/item/device/transfer_valve/proc/merge_gases() +/obj/item/transfer_valve/proc/merge_gases() if(valve_open) return tank_two.air_contents.volume += tank_one.air_contents.volume @@ -158,7 +158,7 @@ tank_two.air_contents.merge(temp) valve_open = 1 -/obj/item/device/transfer_valve/proc/split_gases() +/obj/item/transfer_valve/proc/split_gases() if(!valve_open) return @@ -179,7 +179,7 @@ it explodes properly when it gets a signal (and it does). */ -/obj/item/device/transfer_valve/proc/toggle_valve() +/obj/item/transfer_valve/proc/toggle_valve() if(!valve_open && (tank_one && tank_two)) var/turf/bombturf = get_turf(src) var/area/A = get_area(bombturf) @@ -214,5 +214,5 @@ // this doesn't do anything but the timer etc. expects it to be here // eventually maybe have it update icon to show state (timer, prox etc.) like old bombs -/obj/item/device/transfer_valve/proc/c_state() +/obj/item/transfer_valve/proc/c_state() return diff --git a/code/game/objects/items/devices/translator.dm b/code/game/objects/items/devices/translator.dm index b50aeb91f80..d12a28bad70 100644 --- a/code/game/objects/items/devices/translator.dm +++ b/code/game/objects/items/devices/translator.dm @@ -1,5 +1,5 @@ //Universal translator -/obj/item/device/universal_translator +/obj/item/universal_translator name = "handheld translator" desc = "This handy device appears to translate the languages it hears into onscreen text for a user." icon = 'icons/obj/device.dmi' @@ -11,29 +11,31 @@ var/audio = 0 //If you need to hear to get the message var/listening = 0 var/datum/language/langset + pickup_sound = 'sound/items/pickup/device.ogg' + drop_sound = 'sound/items/drop/device.ogg' -/obj/item/device/universal_translator/attack_self(mob/user) +/obj/item/universal_translator/attack_self(mob/user) if(!listening) //Turning ON langset = tgui_input_list(user,"Translate to which of your languages?","Language Selection", user.languages) if(langset) if(langset && ((langset.flags & NONVERBAL) || (langset.flags & HIVEMIND) || (!langset.machine_understands))) //Nonverbal means no spoken words to translate, so I didn't see the need to remove it. - to_chat(user, "\The [src] cannot output that language.") + to_chat(user, span_warning("\The [src] cannot output that language.")) return else listening = 1 listening_objects |= src if(mult_icons) icon_state = "[initial(icon_state)]1" - to_chat(user, "You enable \the [src], translating into [langset.name].") + to_chat(user, span_notice("You enable \the [src], translating into [langset.name].")) else //Turning OFF listening = 0 listening_objects -= src langset = null icon_state = "[initial(icon_state)]" - to_chat(user, "You disable \the [src].") + to_chat(user, span_notice("You disable \the [src].")) -/obj/item/device/universal_translator/hear_talk(mob/M, list/message_pieces, verb) +/obj/item/universal_translator/hear_talk(mob/M, list/message_pieces, verb) if(!listening || !istype(M)) return @@ -71,20 +73,163 @@ if(!L.say_understands(null, langset)) new_message = langset.scramble(new_message) - to_chat(L, "[src] translates, \"[new_message]\"") + to_chat(L, span_filter_say(span_italics(span_bold("[src]") + "translates, ") + " \"[new_message]\"")) -/obj/item/device/universal_translator/proc/user_understands(mob/M, mob/living/L, list/message_pieces) +/obj/item/universal_translator/proc/user_understands(mob/M, mob/living/L, list/message_pieces) for(var/datum/multilingual_say_piece/S in message_pieces) if(S.speaking && !L.say_understands(M, S.speaking)) return FALSE return TRUE //Let's try an ear-worn version -/obj/item/device/universal_translator/ear +/obj/item/universal_translator/ear name = "translator earpiece" desc = "This handy device appears to translate the languages it hears into another language for a user." icon_state = "earpiece" w_class = ITEMSIZE_TINY slot_flags = SLOT_EARS visual = 0 - audio = 1 \ No newline at end of file + audio = 1 + +//////////////Single language translators + + +/obj/item/universal_translator/limited + name = "handheld translator (galcom)" + desc = "This handy device appears to translate specific languages that it hears into onscreen text for a user." + var/list/known_languages = list(LANGUAGE_GALCOM) + icon_state = "translator_small" + +/obj/item/universal_translator/limited/hear_talk(mob/M, list/message_pieces, verb) + if(!listening || !istype(M)) + return + + //Handheld or pocket only. + if(!isliving(loc)) + return + + var/mob/living/L = loc + if(visual && ((L.sdisabilities & BLIND) || L.eye_blind)) + return + if(audio && ((L.sdisabilities & DEAF) || L.ear_deaf)) + return + + // Using two for loops kinda sucks, but I think it's more efficient + // to shortcut past string building if we're just going to discard the string + // anyways. + if(user_understands(M, L, message_pieces)) + return + + var/new_message = "" + var/confirm = 0 + + for(var/datum/multilingual_say_piece/S in message_pieces) + if(S.speaking.name in known_languages) + confirm = 1 + new_message += (S.message + " ") + + if(!L.say_understands(null, langset)) + new_message = langset.scramble(new_message) + + //Show the "I heard something" animation, only if it's an appropriate language! + if(mult_icons && confirm) + flick("[initial(icon_state)]2",src) + + if(confirm) //Don't show a message at all if there's no recognised language, that'd just be annoying. + to_chat(L, span_filter_say("[src] translates, \"[new_message]\"")) + +/obj/item/universal_translator/limited/sol + name = "handheld translator (solcom)" + known_languages = list(LANGUAGE_SOL_COMMON) + +/obj/item/universal_translator/limited/terminus + name = "handheld translator (terminus)" + known_languages = list(LANGUAGE_TERMINUS) + +/obj/item/universal_translator/limited/tradeband + name = "handheld translator (tradeband)" + known_languages = list(LANGUAGE_TRADEBAND) + +/obj/item/universal_translator/limited/gutterband + name = "handheld translator (gutterband)" + known_languages = list(LANGUAGE_GUTTER) + +/obj/item/universal_translator/limited/skrellian + name = "handheld translator (skrellian)" + known_languages = list(LANGUAGE_SKRELLIAN) + +/obj/item/universal_translator/limited/unathi + name = "handheld translator (sinta'unathi)" + known_languages = list(LANGUAGE_UNATHI) + +/obj/item/universal_translator/limited/siik + name = "handheld translator (siik)" + known_languages = list(LANGUAGE_SIIK) + +/obj/item/universal_translator/limited/schechi + name = "handheld translator (schechi)" + known_languages = list(LANGUAGE_SCHECHI) + +/obj/item/universal_translator/limited/vedaqh + name = "handheld translator (vedaqh)" + known_languages = list(LANGUAGE_ZADDAT) + +/obj/item/universal_translator/limited/birdsong + name = "handheld translator (birdsong)" + known_languages = list(LANGUAGE_BIRDSONG) + +/obj/item/universal_translator/limited/sagaru + name = "handheld translator (sagaru)" + known_languages = list(LANGUAGE_SAGARU) + +/obj/item/universal_translator/limited/canilunzt + name = "handheld translator (canilunzt)" + known_languages = list(LANGUAGE_CANILUNZT) + +/obj/item/universal_translator/limited/ecureuilian + name = "handheld translator (ecureuilian)" + known_languages = list(LANGUAGE_ECUREUILIAN) + +/obj/item/universal_translator/limited/daemon + name = "handheld translator (daemon)" + known_languages = list(LANGUAGE_DAEMON) + +/obj/item/universal_translator/limited/enochian + name = "handheld translator (enochian)" + known_languages = list(LANGUAGE_ENOCHIAN) + +/obj/item/universal_translator/limited/vespinae + name = "handheld translator (vespinae)" + known_languages = list(LANGUAGE_VESPINAE) + +/obj/item/universal_translator/limited/dragon + name = "handheld translator (d'rudak'ar)" + known_languages = list(LANGUAGE_DRUDAKAR) + +/obj/item/universal_translator/limited/spacer + name = "handheld translator (spacer)" + known_languages = list(LANGUAGE_SPACER) + +/obj/item/universal_translator/limited/tavan + name = "handheld translator (tavan)" + known_languages = list(LANGUAGE_TAVAN) + +/obj/item/universal_translator/limited/echosong + name = "handheld translator (echo song)" + known_languages = list(LANGUAGE_ECHOSONG) + +/obj/item/universal_translator/limited/akhani + name = "handheld translator (akhani)" + known_languages = list(LANGUAGE_AKHANI) + +/obj/item/universal_translator/limited/alai + name = "handheld translator (alai)" + known_languages = list(LANGUAGE_ALAI) + +/obj/item/universal_translator/limited/glamour //Admin spawn only, just here for utility + name = "handheld translator (glamourspeak)" + known_languages = list(LANGUAGE_LLEILL) + +/obj/item/universal_translator/limited/teppi //Admin spawn only, just here for utility + name = "handheld translator (teppi)" + known_languages = list(LANGUAGE_TEPPI) diff --git a/code/game/objects/items/devices/translocator_vr.dm b/code/game/objects/items/devices/translocator_vr.dm index 2ced1325123..d05376bdce1 100644 --- a/code/game/objects/items/devices/translocator_vr.dm +++ b/code/game/objects/items/devices/translocator_vr.dm @@ -1,5 +1,5 @@ //The perfect adminboos device? -/obj/item/device/perfect_tele +/obj/item/perfect_tele name = "personal translocator" desc = "Seems absurd, doesn't it? Yet, here we are. Generally considered dangerous contraband unless the user has permission from Central Command." //YW EDIT icon = 'icons/obj/device_alt.dmi' @@ -7,8 +7,8 @@ w_class = ITEMSIZE_SMALL origin_tech = list(TECH_MAGNET = 5, TECH_BLUESPACE = 5, TECH_ILLEGAL = 7) - var/cell_type = /obj/item/weapon/cell/device/weapon - var/obj/item/weapon/cell/power_source + var/cell_type = /obj/item/cell/device/weapon + var/obj/item/cell/power_source var/charge_cost = 800 // cell/device/weapon has 2400 var/battery_lock = 0 //If set, weapon cannot switch batteries @@ -20,7 +20,7 @@ var/ready = 1 var/beacons_left = 3 var/failure_chance = 5 //Percent - var/obj/item/device/perfect_tele_beacon/destination + var/obj/item/perfect_tele_beacon/destination var/datum/effect/effect/system/spark_spread/spk var/list/warned_users = list() var/list/logged_events = list() @@ -31,30 +31,33 @@ var/static/radial_set = image(icon = 'icons/mob/radial_vr.dmi', icon_state = "tl_set") var/static/radial_seton = image(icon = 'icons/mob/radial_vr.dmi', icon_state = "tl_seton") -/obj/item/device/perfect_tele/Initialize() + pickup_sound = 'sound/items/pickup/device.ogg' + drop_sound = 'sound/items/drop/device.ogg' + +/obj/item/perfect_tele/Initialize() . = ..() flags |= NOBLUDGEON if(cell_type) power_source = new cell_type(src) else - power_source = new /obj/item/weapon/cell/device(src) + power_source = new /obj/item/cell/device(src) spk = new(src) spk.set_up(5, 0, src) spk.attach(src) rebuild_radial_images() -/obj/item/device/perfect_tele/Destroy() +/obj/item/perfect_tele/Destroy() // Must clear the beacon's backpointer or we won't GC. Someday maybe do something nicer even. - for(var/obj/item/device/perfect_tele_beacon/B in beacons) + for(var/obj/item/perfect_tele_beacon/B in beacons) B.tele_hand = null beacons.Cut() QDEL_NULL(power_source) QDEL_NULL(spk) return ..() -/obj/item/device/perfect_tele/update_icon() +/obj/item/perfect_tele/update_icon() if(!power_source) icon_state = "[initial(icon_state)]_o" else if(ready && (power_source.check_charge(charge_cost) || power_source.fully_charged())) @@ -64,14 +67,14 @@ ..() -/obj/item/device/perfect_tele/proc/rebuild_radial_images() +/obj/item/perfect_tele/proc/rebuild_radial_images() radial_images.Cut() var/index = 1 for(var/bcn in beacons) //Grumble var/image/I = image(icon = 'icons/mob/radial_vr.dmi', icon_state = "tl_[index]") - var/obj/item/device/perfect_tele_beacon/beacon = beacons[bcn] + var/obj/item/perfect_tele_beacon/beacon = beacons[bcn] if(destination == beacon) I.add_overlay(radial_seton) else @@ -86,34 +89,34 @@ I.add_overlay(radial_plus) radial_images["New Beacon"] = I -/obj/item/device/perfect_tele/attack_hand(mob/user) +/obj/item/perfect_tele/attack_hand(mob/user) if(user.get_inactive_hand() == src) unload_ammo(user) else return ..() -/obj/item/device/perfect_tele/proc/unload_ammo(mob/user, var/ignore_inactive_hand_check = 0) +/obj/item/perfect_tele/proc/unload_ammo(mob/user, var/ignore_inactive_hand_check = 0) if(battery_lock) - to_chat(user,"[src] does not have a battery port.") + to_chat(user,span_notice("[src] does not have a battery port.")) return if((user.get_inactive_hand() == src || ignore_inactive_hand_check) && power_source) - to_chat(user,"You eject \the [power_source] from \the [src].") + to_chat(user,span_notice("You eject \the [power_source] from \the [src].")) user.put_in_hands(power_source) power_source = null update_icon() else - to_chat(user,"[src] does not have a power cell.") + to_chat(user,span_notice("[src] does not have a power cell.")) -/obj/item/device/perfect_tele/proc/check_menu(var/mob/living/user) +/obj/item/perfect_tele/proc/check_menu(var/mob/living/user) if(!istype(user)) return FALSE if(user.incapacitated() || !user.Adjacent(src)) return FALSE return TRUE -/obj/item/device/perfect_tele/attack_self(mob/user, var/radial_menu_anchor = src) +/obj/item/perfect_tele/attack_self(mob/user, var/radial_menu_anchor = src) if(loc_network) - for(var/obj/item/device/perfect_tele_beacon/stationary/nb in GLOB.premade_tele_beacons) + for(var/obj/item/perfect_tele_beacon/stationary/nb in GLOB.premade_tele_beacons) if(nb.tele_network == loc_network) beacons[nb.tele_name] = nb loc_network = null //Consumed @@ -132,7 +135,7 @@ This device records all warnings given and teleport events for admin review in c else if(choice == "New Beacon") if(beacons_left <= 0) - to_chat(user, "The translocator can't support any more beacons!") + to_chat(user, span_warning("The translocator can't support any more beacons!")) return var/new_name = html_encode(tgui_input_text(user,"New beacon's name (2-20 char):","[src]",null,20)) @@ -140,14 +143,14 @@ This device records all warnings given and teleport events for admin review in c return if(length(new_name) > 20 || length(new_name) < 2) - to_chat(user, "Entered name length invalid (must be longer than 2, no more than than 20).") + to_chat(user, span_warning("Entered name length invalid (must be longer than 2, no more than than 20).")) return if(new_name in beacons) - to_chat(user, "No duplicate names, please. '[new_name]' exists already.") + to_chat(user, span_warning("No duplicate names, please. '[new_name]' exists already.")) return - var/obj/item/device/perfect_tele_beacon/nb = new(get_turf(src)) + var/obj/item/perfect_tele_beacon/nb = new(get_turf(src)) nb.tele_name = new_name nb.tele_hand = src nb.creator = user.ckey @@ -162,38 +165,38 @@ This device records all warnings given and teleport events for admin review in c destination = beacons[choice] rebuild_radial_images() -/obj/item/device/perfect_tele/attackby(obj/W, mob/user) +/obj/item/perfect_tele/attackby(obj/W, mob/user) if(istype(W,cell_type) && !power_source) power_source = W power_source.update_icon() //Why doesn't a cell do this already? :| user.unEquip(power_source) power_source.forceMove(src) - to_chat(user,"You insert \the [power_source] into \the [src].") + to_chat(user,span_notice("You insert \the [power_source] into \the [src].")) update_icon() - else if(istype(W,/obj/item/device/perfect_tele_beacon)) - var/obj/item/device/perfect_tele_beacon/tb = W + else if(istype(W,/obj/item/perfect_tele_beacon)) + var/obj/item/perfect_tele_beacon/tb = W if(tb.tele_name in beacons) - to_chat(user,"You re-insert \the [tb] into \the [src].") + to_chat(user,span_notice("You re-insert \the [tb] into \the [src].")) beacons -= tb.tele_name user.unEquip(tb) qdel(tb) beacons_left++ else - to_chat(user,"\The [tb] doesn't belong to \the [src].") + to_chat(user,span_notice("\The [tb] doesn't belong to \the [src].")) return else ..() -/obj/item/device/perfect_tele/proc/teleport_checks(mob/living/target,mob/living/user) +/obj/item/perfect_tele/proc/teleport_checks(mob/living/target,mob/living/user) //Uhhuh, need that power source if(!power_source) - to_chat(user,"\The [src] has no power source!") + to_chat(user,span_warning("\The [src] has no power source!")) return FALSE //Check for charge if((!power_source.check_charge(charge_cost)) && (!power_source.fully_charged())) - to_chat(user,"\The [src] does not have enough power left!") + to_chat(user,span_warning("\The [src] does not have enough power left!")) return FALSE //Only mob/living need apply. @@ -202,24 +205,24 @@ This device records all warnings given and teleport events for admin review in c //No, you can't teleport buckled people. if(target.buckled) - to_chat(user,"The target appears to be attached to something...") + to_chat(user,span_warning("The target appears to be attached to something...")) return FALSE //No, you can't teleport if it's not ready yet. if(!ready) - to_chat(user,"\The [src] is still recharging!") + to_chat(user,span_warning("\The [src] is still recharging!")) return FALSE //No, you can't teleport if there's no destination. if(!destination) - to_chat(user,"\The [src] doesn't have a current valid destination set!") + to_chat(user,span_warning("\The [src] doesn't have a current valid destination set!")) return FALSE //No, you can't teleport if there's a jammer. if(is_jammed(src) || is_jammed(destination)) var/area/our_area = get_area(src) if(!our_area.no_comms) //I don't actually want this to block teleporters, just comms - to_chat(user,"\The [src] refuses to teleport you, due to strong interference!") + to_chat(user,span_warning("\The [src] refuses to teleport you, due to strong interference!")) return FALSE //No, you can't port to or from away missions. Stupidly complicated check. @@ -233,18 +236,18 @@ This device records all warnings given and teleport events for admin review in c if(!longrange) if( (uT.z != dT.z) && (!(dT.z in dat["z_level_detection"])) ) - to_chat(user,"\The [src] can't teleport you that far!") + to_chat(user,span_warning("\The [src] can't teleport you that far!")) return FALSE if(!abductor) if(uT.block_tele || dT.block_tele) - to_chat(user,"Something is interfering with \the [src]!") + to_chat(user,span_warning("Something is interfering with \the [src]!")) return FALSE //Seems okay to me! return TRUE -/obj/item/device/perfect_tele/afterattack(mob/living/target, mob/living/user, proximity, var/ignore_fail_chance = 0) +/obj/item/perfect_tele/afterattack(mob/living/target, mob/living/user, proximity, var/ignore_fail_chance = 0) //No, you can't teleport people from over there. if(!proximity) return @@ -257,8 +260,8 @@ This device records all warnings given and teleport events for admin review in c if(!L.stat) if(L != user) if(L.a_intent != I_HELP || L.has_AI()) - to_chat(user, "[L] is resisting your attempt to teleport them with \the [src].") - to_chat(L, " [user] is trying to teleport you with \the [src]!") + to_chat(user, span_notice("[L] is resisting your attempt to teleport them with \the [src].")) + to_chat(L, span_danger(" [user] is trying to teleport you with \the [src]!")) if(!do_after(user, 30, L)) return @@ -280,7 +283,7 @@ This device records all warnings given and teleport events for admin review in c var/list/wrong_choices = beacons - destination.tele_name var/wrong_name = pick(wrong_choices) destination = beacons[wrong_name] - to_chat(user,"\The [src] malfunctions and sends you to the wrong beacon!") + to_chat(user,span_warning("\The [src] malfunctions and sends you to the wrong beacon!")) //Destination beacon vore checking var/turf/dT = get_turf(destination) @@ -301,11 +304,11 @@ This device records all warnings given and teleport events for admin review in c if(isbelly(real_dest)) var/obj/belly/B = real_dest if(!(target.can_be_drop_prey) && B.owner != user) - to_chat(target,"\The [src] narrowly avoids teleporting you right into \a [lowertext(real_dest.name)]!") + to_chat(target,span_vwarning("\The [src] narrowly avoids teleporting you right into \a [lowertext(real_dest.name)]!")) real_dest = dT //Nevermind! else televored = TRUE - to_chat(target,"\The [src] teleports you right into \a [lowertext(real_dest.name)]!") + to_chat(target,span_vwarning("\The [src] teleports you right into \a [lowertext(real_dest.name)]!")) //Phase-out effect phase_out(target,get_turf(target)) @@ -317,7 +320,7 @@ This device records all warnings given and teleport events for admin review in c phase_in(target,get_turf(target)) //And any friends! - for(var/obj/item/weapon/grab/G in target.contents) + for(var/obj/item/grab/G in target.contents) if(G.affecting && (G.state >= GRAB_AGGRESSIVE)) //Phase-out effect for grabbed person @@ -326,7 +329,7 @@ This device records all warnings given and teleport events for admin review in c //Move them, and televore if necessary G.affecting.forceMove(real_dest) if(televored) - to_chat(target,"\The [src] teleports you right into \a [lowertext(real_dest.name)]!") + to_chat(target,span_warning("\The [src] teleports you right into \a [lowertext(real_dest.name)]!")) //Phase-in effect for grabbed person phase_in(G.affecting,get_turf(G.affecting)) @@ -338,7 +341,7 @@ This device records all warnings given and teleport events for admin review in c logged_events["[world.time]"] = "[user] teleported [target] to [real_dest] [televored ? "(Belly: [lowertext(real_dest.name)])" : null]" -/obj/item/device/perfect_tele/proc/phase_out(var/mob/M,var/turf/T) +/obj/item/perfect_tele/proc/phase_out(var/mob/M,var/turf/T) if(!M || !T) return @@ -348,7 +351,7 @@ This device records all warnings given and teleport events for admin review in c playsound(T, "sparks", 50, 1) anim(T,M,'icons/mob/mob.dmi',,"phaseout",,M.dir) -/obj/item/device/perfect_tele/proc/phase_in(var/mob/M,var/turf/T) +/obj/item/perfect_tele/proc/phase_in(var/mob/M,var/turf/T) if(!M || !T) return @@ -360,7 +363,7 @@ This device records all warnings given and teleport events for admin review in c spk.set_up(5, 0, src) spk.attach(src) -/obj/item/device/perfect_tele_beacon +/obj/item/perfect_tele_beacon name = "translocator beacon" desc = "That's unusual." icon = 'icons/obj/device_alt.dmi' @@ -368,21 +371,21 @@ This device records all warnings given and teleport events for admin review in c w_class = ITEMSIZE_TINY var/tele_name - var/obj/item/device/perfect_tele/tele_hand + var/obj/item/perfect_tele/tele_hand var/creator var/warned_users = list() var/tele_network = null -/obj/item/device/perfect_tele_beacon/New() +/obj/item/perfect_tele_beacon/New() ..() flags |= NOBLUDGEON -/obj/item/device/perfect_tele_beacon/Destroy() +/obj/item/perfect_tele_beacon/Destroy() tele_name = null tele_hand = null return ..() -/obj/item/device/perfect_tele_beacon/attack_hand(mob/user) +/obj/item/perfect_tele_beacon/attack_hand(mob/user) if((user.ckey != creator) && !(user.ckey in warned_users)) warned_users |= user.ckey var/choice = tgui_alert(user, {" @@ -394,65 +397,65 @@ not carry this around."}, "OOC Warning", list("Take It","Leave It")) return return ..() -/obj/item/device/perfect_tele_beacon/stationary +/obj/item/perfect_tele_beacon/stationary name = "stationary translocator beacon" icon = 'icons/obj/radio_vr.dmi' icon_state = "floor_beacon" w_class = ITEMSIZE_HUGE anchored = TRUE -GLOBAL_LIST_BOILERPLATE(premade_tele_beacons, /obj/item/device/perfect_tele_beacon/stationary) +GLOBAL_LIST_BOILERPLATE(premade_tele_beacons, /obj/item/perfect_tele_beacon/stationary) -/obj/item/device/perfect_tele_beacon/attack_self(mob/user) +/obj/item/perfect_tele_beacon/attack_self(mob/user) if(!isliving(user)) return var/mob/living/L = user var/confirm = tgui_alert(user, "You COULD eat the beacon...", "Eat beacon?", list("Eat it!", "No, thanks.")) if(confirm == "Eat it!") - var/obj/belly/bellychoice = tgui_input_list(usr, "Which belly?","Select A Belly", L.vore_organs) + var/obj/belly/bellychoice = tgui_input_list(user, "Which belly?","Select A Belly", L.vore_organs) if(bellychoice) - user.visible_message("[user] is trying to stuff \the [src] into [user.gender == MALE ? "his" : user.gender == FEMALE ? "her" : "their"] [bellychoice.name]!","You begin putting \the [src] into your [bellychoice.name]!") + user.visible_message(span_warning("[user] is trying to stuff \the [src] into [user.gender == MALE ? "his" : user.gender == FEMALE ? "her" : "their"] [bellychoice.name]!"),span_notice("You begin putting \the [src] into your [bellychoice.name]!")) if(do_after(user,5 SECONDS,src)) user.unEquip(src) forceMove(bellychoice) - user.visible_message("[user] eats a telebeacon!","You eat the the beacon!") + user.visible_message(span_warning("[user] eats a telebeacon!"),"You eat the the beacon!") // A single-beacon variant for use by miners (or whatever) -/obj/item/device/perfect_tele/one_beacon +/obj/item/perfect_tele/one_beacon name = "mini-translocator" desc = "A more limited translocator with a single beacon, useful for some things, like setting the mining department on fire accidentally. Legal for use in the pursuit of NanoTrasen interests, namely mining and exploration." // YW EDIT icon_state = "minitrans" beacons_left = 1 //Just one - cell_type = /obj/item/weapon/cell/device + cell_type = /obj/item/cell/device origin_tech = list(TECH_MAGNET = 5, TECH_BLUESPACE = 5) /* -/obj/item/device/perfect_tele/one_beacon/teleport_checks(mob/living/target,mob/living/user) +/obj/item/perfect_tele/one_beacon/teleport_checks(mob/living/target,mob/living/user) var/turf/T = get_turf(destination) if(T && user.z != T.z) - to_chat(user,"\The [src] is too far away from the beacon. Try getting closer first!") + to_chat(user,span_warning("\The [src] is too far away from the beacon. Try getting closer first!")) return FALSE return ..() */ -/obj/item/device/perfect_tele/alien +/obj/item/perfect_tele/alien name = "alien translocator" desc = "This strange device allows one to teleport people and objects across large distances." icon_state = "alientele" - cell_type = /obj/item/weapon/cell/device/weapon/recharge/alien + cell_type = /obj/item/cell/device/weapon/recharge/alien charge_cost = 400 beacons_left = 6 failure_chance = 0 //Percent longrange = 1 abductor = 1 -/obj/item/device/perfect_tele/alien/bluefo +/obj/item/perfect_tele/alien/bluefo name = "hybrid translocator" desc = "This strange device allows one to teleport people and objects across large distances. It has only a single preprogrammed destination, though." icon_state = "alientele" - cell_type = /obj/item/weapon/cell/device/weapon/recharge/alien + cell_type = /obj/item/cell/device/weapon/recharge/alien charge_cost = 400 beacons_left = 0 failure_chance = 0 @@ -460,7 +463,7 @@ GLOBAL_LIST_BOILERPLATE(premade_tele_beacons, /obj/item/device/perfect_tele_beac abductor = 1 loc_network = "hybridshuttle" -/obj/item/device/perfect_tele/frontier +/obj/item/perfect_tele/frontier icon_state = "frontiertrans" beacons_left = 1 //Just one battery_lock = 1 @@ -470,13 +473,13 @@ GLOBAL_LIST_BOILERPLATE(premade_tele_beacons, /obj/item/device/perfect_tele_beac var/phase_power = 75 var/recharging = 0 -/obj/item/device/perfect_tele/frontier/unload_ammo(mob/user, var/ignore_inactive_hand_check = 0) +/obj/item/perfect_tele/frontier/unload_ammo(mob/user, var/ignore_inactive_hand_check = 0) if(recharging) return recharging = 1 update_icon() - user.visible_message("[user] opens \the [src] and starts pumping the handle.", \ - "You open \the [src] and start pumping the handle.") + user.visible_message(span_notice("[user] opens \the [src] and starts pumping the handle."), \ + span_notice("You open \the [src] and start pumping the handle.")) while(recharging) if(!do_after(user, 10, src)) break @@ -487,36 +490,36 @@ GLOBAL_LIST_BOILERPLATE(premade_tele_beacons, /obj/item/device/perfect_tele_beac recharging = 0 update_icon() -/obj/item/device/perfect_tele/frontier/update_icon() +/obj/item/perfect_tele/frontier/update_icon() if(recharging) icon_state = "[initial(icon_state)]_o" update_held_icon() return ..() -/obj/item/device/perfect_tele/frontier/staff +/obj/item/perfect_tele/frontier/staff name = "centcom translocator" desc = "Similar to translocator technology, however, most of its destinations are hardcoded." charge_cost = 1200 // Enough for one person and their partner loc_network = "centcom" longrange = 1 -/obj/item/device/perfect_tele/frontier/unknown +/obj/item/perfect_tele/frontier/unknown name = "modified translocator" desc = "This crank-charged translocator has only one beacon, but it already has a destination preprogrammed into it." charge_cost = 1200 // Enough for one person and their partner longrange = 1 abductor = 1 -/obj/item/device/perfect_tele/frontier/unknown/one +/obj/item/perfect_tele/frontier/unknown/one loc_network = "unkone" -/obj/item/device/perfect_tele/frontier/unknown/two +/obj/item/perfect_tele/frontier/unknown/two loc_network = "unktwo" -/obj/item/device/perfect_tele/frontier/unknown/three +/obj/item/perfect_tele/frontier/unknown/three loc_network = "unkthree" -/obj/item/device/perfect_tele/frontier/unknown/four +/obj/item/perfect_tele/frontier/unknown/four loc_network = "unkfour" -/obj/item/device/perfect_tele/frontier/unknown/five +/obj/item/perfect_tele/frontier/unknown/five loc_network = "unkfive" -/obj/item/device/perfect_tele/frontier/unknown/six +/obj/item/perfect_tele/frontier/unknown/six loc_network = "unksix" diff --git a/code/game/objects/items/devices/tvcamera.dm b/code/game/objects/items/devices/tvcamera.dm index bacf8a6b83f..8c92ce3012f 100644 --- a/code/game/objects/items/devices/tvcamera.dm +++ b/code/game/objects/items/devices/tvcamera.dm @@ -1,21 +1,24 @@ -/obj/item/device/tvcamera +/obj/item/tvcamera name = "press camera drone" desc = "A Ward-Takahashi EyeBuddy media streaming hovercam. Weapon of choice for war correspondents and reality show cameramen." + icon = 'icons/obj/device.dmi' icon_state = "camcorder" item_state = "camcorder" w_class = ITEMSIZE_LARGE slot_flags = SLOT_BELT var/channel = "NCS Northern Star News Feed" var/obj/machinery/camera/network/thunder/camera - var/obj/item/device/radio/radio + var/obj/item/radio/radio var/datum/weakref/showing var/showing_name + pickup_sound = 'sound/items/pickup/device.ogg' + drop_sound = 'sound/items/drop/device.ogg' -/obj/item/device/tvcamera/New() +/obj/item/tvcamera/New() ..() listening_objects += src -/obj/item/device/tvcamera/Destroy() +/obj/item/tvcamera/Destroy() listening_objects -= src qdel(camera) qdel(radio) @@ -23,12 +26,12 @@ radio = null ..() -/obj/item/device/tvcamera/examine() +/obj/item/tvcamera/examine() . = ..() . += "Video feed is [camera.status ? "on" : "off"]" . += "Audio feed is [radio.broadcasting ? "on" : "off"]" -/obj/item/device/tvcamera/Initialize() +/obj/item/tvcamera/Initialize() . = ..() camera = new(src) camera.c_tag = channel @@ -40,16 +43,16 @@ radio.icon_state = src.icon_state update_icon() -/obj/item/device/tvcamera/hear_talk(mob/M, list/message_pieces, verb) +/obj/item/tvcamera/hear_talk(mob/M, list/message_pieces, verb) radio.hear_talk(M, message_pieces, verb) . = ..() -/obj/item/device/tvcamera/attack_self(mob/user) +/obj/item/tvcamera/attack_self(mob/user) add_fingerprint(user) user.set_machine(src) show_ui(user) -/obj/item/device/tvcamera/proc/show_ui(mob/user) +/obj/item/tvcamera/proc/show_ui(mob/user) var/dat = list() dat += "Channel name is: [channel ? channel : "unidentified broadcast"]
" dat += "Video streaming is [camera.status ? "on" : "off"]
" @@ -61,7 +64,7 @@ popup.set_content(jointext(dat,null)) popup.open() -/obj/item/device/tvcamera/Topic(bred, href_list, state = GLOB.tgui_physical_state) +/obj/item/tvcamera/Topic(bred, href_list, state = GLOB.tgui_physical_state) if(..()) return 1 if(href_list["channel"]) @@ -70,14 +73,14 @@ if(nc) channel = nc camera.c_tag = channel - to_chat(usr, "New channel name - '[channel]' is set") + to_chat(usr, span_notice("New channel name - '[channel]' is set")) if(href_list["video"]) camera.set_status(!camera.status) if(camera.status) - to_chat(usr,"Video streaming activated. Broadcasting on channel '[channel]'") + to_chat(usr,span_notice("Video streaming activated. Broadcasting on channel '[channel]'")) show_tvs(loc) else - to_chat(usr,"Video streaming deactivated.") + to_chat(usr,span_notice("Video streaming deactivated.")) hide_tvs() for(var/obj/machinery/computer/security/telescreen/entertainment/ES as anything in GLOB.entertainment_screens) ES.stop_showing() @@ -85,13 +88,13 @@ if(href_list["sound"]) radio.ToggleBroadcast() if(radio.broadcasting) - to_chat(usr,"Audio streaming activated. Broadcasting on frequency [format_frequency(radio.frequency)].") + to_chat(usr,span_notice("Audio streaming activated. Broadcasting on frequency [format_frequency(radio.frequency)].")) else - to_chat(usr,"Audio streaming deactivated.") + to_chat(usr,span_notice("Audio streaming deactivated.")) if(!href_list["close"]) attack_self(usr) -/obj/item/device/tvcamera/proc/show_tvs(atom/thing) +/obj/item/tvcamera/proc/show_tvs(atom/thing) if(showing) hide_tvs(showing) @@ -102,7 +105,7 @@ START_PROCESSING(SSobj, src) -/obj/item/device/tvcamera/proc/hide_tvs() +/obj/item/tvcamera/proc/hide_tvs() if(!showing) return for(var/obj/machinery/computer/security/telescreen/entertainment/ES as anything in GLOB.entertainment_screens) @@ -111,20 +114,20 @@ showing = null showing_name = null -/obj/item/device/tvcamera/Moved(atom/old_loc, direction, forced = FALSE, movetime) +/obj/item/tvcamera/Moved(atom/old_loc, direction, forced = FALSE, movetime) . = ..() if(camera.status && loc != old_loc) show_tvs(loc) -/obj/item/device/tvcamera/afterattack(atom/target, mob/user, proximity_flag, click_parameters) +/obj/item/tvcamera/afterattack(atom/target, mob/user, proximity_flag, click_parameters) . = ..() if(camera.status && !isturf(target)) show_tvs(target) - user.visible_message("[user] aims [src] at [target].", "You aim [src] at [target].") + user.visible_message(span_infoplain(span_bold("[user]") + " aims [src] at [target]."), span_info("You aim [src] at [target].")) if(user.machine == src) show_ui(user) // refresh the UI -/obj/item/device/tvcamera/process() +/obj/item/tvcamera/process() if(!showing) return PROCESS_KILL @@ -132,10 +135,11 @@ if(!A || QDELETED(A)) show_tvs(loc) - if(get_dist(get_turf(src), get_turf(A)) > 5) + if(get_dist(get_turf(src), get_turf(A)) > 0) // No realtime updates show_tvs(loc) + update_feed() -/obj/item/device/tvcamera/update_icon() +/obj/item/tvcamera/update_icon() ..() if(camera.status) icon_state = "camcorder_on" @@ -149,22 +153,25 @@ H.update_inv_l_hand() H.update_inv_belt() +/obj/item/tvcamera/proc/update_feed() + if(camera.status) + SEND_SIGNAL(camera, COMSIG_OBSERVER_MOVED) // Forward the movement signal //Assembly by roboticist -/obj/item/robot_parts/head/attackby(var/obj/item/device/assembly/S, mob/user as mob) - if(!istype(S, /obj/item/device/assembly/infra)) +/obj/item/robot_parts/head/attackby(var/obj/item/assembly/S, mob/user as mob) + if(!istype(S, /obj/item/assembly/infra)) ..() return - var/obj/item/weapon/TVAssembly/A = new(user) + var/obj/item/TVAssembly/A = new(user) qdel(S) user.put_in_hands(A) - to_chat(user, "You add the infrared sensor to the robot head.") + to_chat(user, span_notice("You add the infrared sensor to the robot head.")) user.drop_from_inventory(src) qdel(src) -/obj/item/weapon/TVAssembly +/obj/item/TVAssembly name = "\improper TV Camera Assembly" desc = "A robotic head with an infrared sensor inside." icon = 'icons/obj/robot_parts.dmi' @@ -173,38 +180,38 @@ var/buildstep = 0 w_class = ITEMSIZE_LARGE -/obj/item/weapon/TVAssembly/attackby(W, mob/user) +/obj/item/TVAssembly/attackby(W, mob/user) switch(buildstep) if(0) if(istype(W, /obj/item/robot_parts/robot_component/camera)) var/obj/item/robot_parts/robot_component/camera/CA = W - to_chat(user, "You add the camera module to [src]") + to_chat(user, span_notice("You add the camera module to [src]")) user.drop_item() qdel(CA) desc = "This TV camera assembly has a camera module." buildstep++ if(1) - if(istype(W, /obj/item/device/taperecorder)) - var/obj/item/device/taperecorder/T = W + if(istype(W, /obj/item/taperecorder)) + var/obj/item/taperecorder/T = W user.drop_item() qdel(T) buildstep++ - to_chat(user, "You add the tape recorder to [src]") + to_chat(user, span_notice("You add the tape recorder to [src]")) if(2) if(istype(W, /obj/item/stack/cable_coil)) var/obj/item/stack/cable_coil/C = W if(!C.use(3)) - to_chat(user, "You need six cable coils to wire the devices.") + to_chat(user, span_notice("You need six cable coils to wire the devices.")) ..() return C.use(3) buildstep++ - to_chat(user, "You wire the assembly") + to_chat(user, span_notice("You wire the assembly")) desc = "This TV camera assembly has wires sticking out" return if(3) - if(istype(W, /obj/item/weapon/tool/wirecutters)) - to_chat(user, " You trim the wires.") + if(istype(W, /obj/item/tool/wirecutters)) + to_chat(user, span_notice(" You trim the wires.")) buildstep++ desc = "This TV camera assembly needs casing." return @@ -213,9 +220,9 @@ var/obj/item/stack/material/steel/S = W buildstep++ S.use(1) - to_chat(user, "You encase the assembly in a Ward-Takeshi casing.") + to_chat(user, span_notice("You encase the assembly in a Ward-Takeshi casing.")) var/turf/T = get_turf(src) - new /obj/item/device/tvcamera(T) + new /obj/item/tvcamera(T) user.drop_from_inventory(src) qdel(src) return diff --git a/code/game/objects/items/devices/uplink.dm b/code/game/objects/items/devices/uplink.dm index 268131fb7de..34b18d7b958 100644 --- a/code/game/objects/items/devices/uplink.dm +++ b/code/game/objects/items/devices/uplink.dm @@ -10,7 +10,7 @@ return TRUE return FALSE -/obj/item/device/uplink +/obj/item/uplink var/welcome = "Welcome, Operative" // Welcoming menu message var/list/ItemsCategory // List of categories with lists of items var/list/ItemsReference // List of references with an associated item @@ -23,14 +23,18 @@ var/discount_amount //The amount as a percent the item will be discounted by var/compact_mode = FALSE -/obj/item/device/uplink/Initialize(var/mapload) + icon = 'icons/obj/device.dmi' + pickup_sound = 'sound/items/pickup/device.ogg' + drop_sound = 'sound/items/drop/device.ogg' + +/obj/item/uplink/Initialize(var/mapload) . = ..() addtimer(CALLBACK(src, PROC_REF(next_offer)), offer_time) //It seems like only the /hidden type actually makes use of this... -/obj/item/device/uplink/get_item_cost(var/item_type, var/item_cost) +/obj/item/uplink/get_item_cost(var/item_type, var/item_cost) return (discount_item && (item_type == discount_item)) ? max(1, round(item_cost*discount_amount)) : item_cost -/obj/item/device/uplink/proc/next_offer() +/obj/item/uplink/proc/next_offer() return //Stub, used on children. // HIDDEN UPLINK - Can be stored in anything but the host item has to have a trigger for it. @@ -45,7 +49,7 @@ Then check if it's true, if true return. This will stop the normal menu appearing and will instead show the uplink menu. */ -/obj/item/device/uplink/hidden +/obj/item/uplink/hidden name = "hidden uplink" desc = "There is something wrong if you're examining this." var/active = 0 @@ -53,12 +57,12 @@ var/selected_cat // The hidden uplink MUST be inside an obj/item's contents. -/obj/item/device/uplink/hidden/Initialize() +/obj/item/uplink/hidden/Initialize() . = ..() if(!isitem(loc)) return INITIALIZE_HINT_QDEL -/obj/item/device/uplink/hidden/next_offer() +/obj/item/uplink/hidden/next_offer() discount_item = default_uplink_selection.get_random_item(INFINITY) discount_amount = pick(90;0.9, 80;0.8, 70;0.7, 60;0.6, 50;0.5, 40;0.4, 30;0.3, 20;0.2, 10;0.1) next_offer_time = world.time + offer_time @@ -66,11 +70,11 @@ addtimer(CALLBACK(src, PROC_REF(next_offer)), offer_time) // Toggles the uplink on and off. Normally this will bypass the item's normal functions and go to the uplink menu, if activated. -/obj/item/device/uplink/hidden/proc/toggle() +/obj/item/uplink/hidden/proc/toggle() active = !active // Directly trigger the uplink. Turn on if it isn't already. -/obj/item/device/uplink/hidden/proc/trigger(mob/user as mob) +/obj/item/uplink/hidden/proc/trigger(mob/user as mob) if(!active) toggle() tgui_interact(user) @@ -78,26 +82,26 @@ // Checks to see if the value meets the target. Like a frequency being a traitor_frequency, in order to unlock a headset. // If true, it accesses trigger() and returns 1. If it fails, it returns false. Use this to see if you need to close the // current item's menu. -/obj/item/device/uplink/hidden/proc/check_trigger(mob/user as mob, var/value, var/target) +/obj/item/uplink/hidden/proc/check_trigger(mob/user as mob, var/value, var/target) if(value == target) trigger(user) return TRUE return FALSE // Legacy -/obj/item/device/uplink/hidden/interact(mob/user) +/obj/item/uplink/hidden/interact(mob/user) tgui_interact(user) /***************** * Uplink TGUI *****************/ -/obj/item/device/uplink/tgui_host() +/obj/item/uplink/tgui_host() return loc -/obj/item/device/uplink/hidden/tgui_state(mob/user) +/obj/item/uplink/hidden/tgui_state(mob/user) return GLOB.tgui_deep_inventory_state -/obj/item/device/uplink/hidden/tgui_interact(mob/user, datum/tgui/ui, datum/tgui/parent_ui) +/obj/item/uplink/hidden/tgui_interact(mob/user, datum/tgui/ui, datum/tgui/parent_ui) if(!active) toggle() ui = SStgui.try_update_ui(user, src, ui) @@ -108,7 +112,7 @@ ui.set_autoupdate(FALSE) ui.open() -/obj/item/device/uplink/hidden/tgui_data(mob/user, datum/tgui/ui, datum/tgui_state/state) +/obj/item/uplink/hidden/tgui_data(mob/user, datum/tgui/ui, datum/tgui_state/state) if(!user.mind) return @@ -160,7 +164,7 @@ return data -/obj/item/device/uplink/hidden/tgui_static_data(mob/user) +/obj/item/uplink/hidden/tgui_static_data(mob/user) var/list/data = ..() data["categories"] = list() @@ -181,19 +185,19 @@ return data -/obj/item/device/uplink/hidden/tgui_status(mob/user, datum/tgui_state/state) +/obj/item/uplink/hidden/tgui_status(mob/user, datum/tgui_state/state) if(!active) return STATUS_CLOSE return ..() -/obj/item/device/uplink/hidden/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state) +/obj/item/uplink/hidden/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state) if(..()) return TRUE switch(action) if("buy") var/datum/uplink_item/UI = (locate(params["ref"]) in uplink.items) - UI.buy(src, usr) + UI.buy(src, ui.user) return TRUE if("lock") toggle() @@ -213,26 +217,26 @@ // // Includes normal radio uplink, multitool uplink, // implant uplink (not the implant tool) and a preset headset uplink. -/obj/item/device/radio/uplink/New() +/obj/item/radio/uplink/New() ..() hidden_uplink = new(src) icon_state = "radio" -/obj/item/device/radio/uplink/attack_self(mob/user as mob) +/obj/item/radio/uplink/attack_self(mob/user as mob) if(hidden_uplink) hidden_uplink.trigger(user) -/obj/item/device/multitool/uplink/New() +/obj/item/multitool/uplink/New() ..() hidden_uplink = new(src) -/obj/item/device/multitool/uplink/attack_self(mob/user as mob) +/obj/item/multitool/uplink/attack_self(mob/user as mob) if(hidden_uplink) hidden_uplink.trigger(user) -/obj/item/device/radio/headset/uplink +/obj/item/radio/headset/uplink traitor_frequency = 1445 -/obj/item/device/radio/headset/uplink/New() +/obj/item/radio/headset/uplink/New() ..() hidden_uplink = new(src) diff --git a/code/game/objects/items/devices/uplink_random_lists.dm b/code/game/objects/items/devices/uplink_random_lists.dm index 7e8a6953aef..72134fd16e4 100644 --- a/code/game/objects/items/devices/uplink_random_lists.dm +++ b/code/game/objects/items/devices/uplink_random_lists.dm @@ -22,7 +22,7 @@ var/datum/uplink_random_selection/all_uplink_selection = new/datum/uplink_random items = list() all_items = list() -/datum/uplink_random_selection/proc/get_random_item(var/telecrystals, obj/item/device/uplink/U, var/list/bought_items, var/items_override = 0) +/datum/uplink_random_selection/proc/get_random_item(var/telecrystals, obj/item/uplink/U, var/list/bought_items, var/items_override = 0) var/const/attempts = 50 for(var/i = 0; i < attempts; i++) diff --git a/code/game/objects/items/devices/whistle.dm b/code/game/objects/items/devices/whistle.dm index 846fae358da..372cde80c66 100644 --- a/code/game/objects/items/devices/whistle.dm +++ b/code/game/objects/items/devices/whistle.dm @@ -1,6 +1,7 @@ -/obj/item/device/hailer +/obj/item/hailer name = "hailer" desc = "Used by obese officers to save their breath for running." + icon = 'icons/obj/device.dmi' icon_state = "voice0" item_state = "flashbang" //looks exactly like a flash (and nothing like a flashbang) w_class = ITEMSIZE_TINY @@ -10,7 +11,10 @@ var/spamcheck = 0 var/insults -/obj/item/device/hailer/verb/set_message() + pickup_sound = 'sound/items/pickup/device.ogg' + drop_sound = 'sound/items/drop/device.ogg' + +/obj/item/hailer/verb/set_message() set name = "Set Hailer Message" set category = "Object" set desc = "Alter the message shouted by your hailer." @@ -27,29 +31,29 @@ to_chat(usr, "You configure the hailer to shout \"[use_message]\".") -/obj/item/device/hailer/attack_self(mob/living/carbon/user as mob) +/obj/item/hailer/attack_self(mob/living/carbon/user as mob) if (spamcheck) return if(isnull(insults)) playsound(src, 'sound/voice/halt.ogg', 100, 1, vary = 0) - user.audible_message("[user]'s [name] rasps, \"[use_message]\"", "\The [user] holds up \the [name].", runemessage = "\[TTS Voice\] [use_message]") + user.audible_message(span_warning("[user]'s [name] rasps, \"[use_message]\""), span_warning("\The [user] holds up \the [name]."), runemessage = "\[TTS Voice\] [use_message]") else if(insults > 0) playsound(src, 'sound/voice/binsult.ogg', 100, 1, vary = 0) // Yes, it used to show the transcription of the sound clip. That was a) inaccurate b) immature as shit. - user.audible_message("[user]'s [name] gurgles something indecipherable and deeply offensive.", "\The [user] holds up \the [name].", runemessage = "\[TTS Voice\] #&@&^%(*") + user.audible_message(span_warning("[user]'s [name] gurgles something indecipherable and deeply offensive."), span_warning("\The [user] holds up \the [name]."), runemessage = "\[TTS Voice\] #&@&^%(*") insults-- else - to_chat(user, "*BZZZZZZZZT*") + to_chat(user, span_danger("*BZZZZZZZZT*")) spamcheck = 1 spawn(20) spamcheck = 0 -/obj/item/device/hailer/emag_act(var/remaining_charges, var/mob/user) +/obj/item/hailer/emag_act(var/remaining_charges, var/mob/user) if(isnull(insults)) - to_chat(user, "You overload \the [src]'s voice synthesizer.") + to_chat(user, span_danger("You overload \the [src]'s voice synthesizer.")) insults = rand(1, 3)//to prevent dickflooding return 1 else diff --git a/code/game/objects/items/falling_object_vr.dm b/code/game/objects/items/falling_object_vr.dm index 0494594dce4..c8583db3c6c 100644 --- a/code/game/objects/items/falling_object_vr.dm +++ b/code/game/objects/items/falling_object_vr.dm @@ -1,11 +1,11 @@ /obj/effect/falling_effect - name = "you should not see this" + name = DEVELOPER_WARNING_NAME desc = "no data" invisibility = 101 anchored = TRUE density = FALSE unacidable = TRUE - var/falling_type = /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/margherita + var/falling_type = /obj/item/reagent_containers/food/snacks/sliceable/pizza/margherita var/crushing = TRUE /obj/effect/falling_effect/Initialize(mapload, type) @@ -37,7 +37,7 @@ for(var/mob/living/P in loc) if(P.can_be_drop_prey && P.drop_vore) L.feed_grabbed_to_self_falling_nom(L,P) - L.visible_message("\The [L] falls right onto \the [P]!") + L.visible_message(span_vdanger("\The [L] falls right onto \the [P]!")) if(crushing) for(var/atom/movable/AM in loc) diff --git a/code/game/objects/items/glassjar.dm b/code/game/objects/items/glassjar.dm index d10ff9468a0..6a4617f12c4 100644 --- a/code/game/objects/items/glassjar.dm +++ b/code/game/objects/items/glassjar.dm @@ -33,14 +33,14 @@ to_chat(user, "[A] doesn't fit into \the [src].") return var/mob/L = A - user.visible_message("[user] scoops [L] into \the [src].", "You scoop [L] into \the [src].") + user.visible_message(span_notice("[user] scoops [L] into \the [src]."), span_notice("You scoop [L] into \the [src].")) L.loc = src contains = JAR_ANIMAL update_icon() return else if(istype(A, /obj/effect/spider/spiderling)) var/obj/effect/spider/spiderling/S = A - user.visible_message("[user] scoops [S] into \the [src].", "You scoop [S] into \the [src].") + user.visible_message(span_notice("[user] scoops [S] into \the [src]."), span_notice("You scoop [S] into \the [src].")) S.loc = src STOP_PROCESSING(SSobj, S) // No growing inside jars contains = JAR_SPIDER @@ -52,34 +52,34 @@ if(JAR_MONEY) for(var/obj/O in src) O.loc = user.loc - to_chat(user, "You take money out of \the [src].") + to_chat(user, span_notice("You take money out of \the [src].")) contains = JAR_NOTHING update_icon() return if(JAR_ANIMAL) for(var/mob/M in src) M.loc = user.loc - user.visible_message("[user] releases [M] from \the [src].", "You release [M] from \the [src].") + user.visible_message(span_notice("[user] releases [M] from \the [src]."), span_notice("You release [M] from \the [src].")) contains = JAR_NOTHING update_icon() return if(JAR_SPIDER) for(var/obj/effect/spider/spiderling/S in src) S.loc = user.loc - user.visible_message("[user] releases [S] from \the [src].", "You release [S] from \the [src].") + user.visible_message(span_notice("[user] releases [S] from \the [src]."), span_notice("You release [S] from \the [src].")) START_PROCESSING(SSobj, S) // They can grow after being let out though contains = JAR_NOTHING update_icon() return /obj/item/glass_jar/attackby(var/obj/item/W, var/mob/user) - if(istype(W, /obj/item/weapon/spacecash)) + if(istype(W, /obj/item/spacecash)) if(contains == JAR_NOTHING) contains = JAR_MONEY if(contains != JAR_MONEY) return - var/obj/item/weapon/spacecash/S = W - user.visible_message("[user] puts [S.worth] [S.worth > 1 ? "thalers" : "thaler"] into \the [src].") + var/obj/item/spacecash/S = W + user.visible_message(span_notice("[user] puts [S.worth] [S.worth > 1 ? "thalers" : "thaler"] into \the [src].")) user.drop_from_inventory(S) S.loc = src update_icon() @@ -94,7 +94,7 @@ if(JAR_MONEY) name = "tip jar" desc = "A small jar with money inside." - for(var/obj/item/weapon/spacecash/S in src) + for(var/obj/item/spacecash/S in src) var/image/money = image(S.icon, S.icon_state) money.pixel_x = rand(-2, 3) money.pixel_y = rand(-6, 6) @@ -150,7 +150,7 @@ if(JAR_MONEY) name = "tip tank" desc = "A large [name] with money inside." - for(var/obj/item/weapon/spacecash/S in src) + for(var/obj/item/spacecash/S in src) var/image/money = image(S.icon, S.icon_state) money.pixel_x = rand(-2, 3) money.pixel_y = rand(-6, 6) @@ -184,10 +184,10 @@ if(!filled) if(istype(A, /obj/structure/sink) || istype(A, /turf/simulated/floor/water)) if(contains && user.a_intent == "help") - to_chat(user, "That probably isn't the best idea.") + to_chat(user, span_warning("That probably isn't the best idea.")) return - to_chat(user, "You fill \the [src] with water!") + to_chat(user, span_notice("You fill \the [src] with water!")) filled = TRUE update_icon() return @@ -198,17 +198,17 @@ if(filled) if(contains == JAR_ANIMAL) if(user.a_intent == "help") - to_chat(user, "Maybe you shouldn't empty the water...") + to_chat(user, span_notice("Maybe you shouldn't empty the water...")) return else filled = FALSE - user.visible_message("[user] dumps out \the [src]'s water!") + user.visible_message(span_warning("[user] dumps out \the [src]'s water!")) update_icon() return else - user.visible_message("[user] dumps \the [src]'s water.") + user.visible_message(span_notice("[user] dumps \the [src]'s water.")) filled = FALSE update_icon() return diff --git a/code/game/objects/items/gunbox.dm b/code/game/objects/items/gunbox.dm index 249daf1b4e7..548122396c4 100644 --- a/code/game/objects/items/gunbox.dm +++ b/code/game/objects/items/gunbox.dm @@ -9,16 +9,16 @@ w_class = ITEMSIZE_HUGE /obj/item/gunbox/attack_self(mob/living/user) var/list/options = list() - options["M1911 (.45)"] = list(/obj/item/weapon/gun/projectile/colt/detective, /obj/item/ammo_magazine/m45/rubber, /obj/item/ammo_magazine/m45/rubber) - options["MT Mk58 (.45)"] = list(/obj/item/weapon/gun/projectile/sec, /obj/item/ammo_magazine/m45/rubber, /obj/item/ammo_magazine/m45/rubber) - options["MarsTech R1 (.45)"] = list(/obj/item/weapon/gun/projectile/revolver/detective45, /obj/item/ammo_magazine/s45/rubber, /obj/item/ammo_magazine/s45/rubber) - options["MarsTech P92X (9mm)"] = list(/obj/item/weapon/gun/projectile/p92x/rubber, /obj/item/ammo_magazine/m9mm/rubber, /obj/item/ammo_magazine/m9mm/rubber) + options["M1911 (.45)"] = list(/obj/item/gun/projectile/colt/detective, /obj/item/ammo_magazine/m45/rubber, /obj/item/ammo_magazine/m45/rubber) + options["MT Mk58 (.45)"] = list(/obj/item/gun/projectile/sec, /obj/item/ammo_magazine/m45/rubber, /obj/item/ammo_magazine/m45/rubber) + options["MarsTech R1 (.45)"] = list(/obj/item/gun/projectile/revolver/detective45, /obj/item/ammo_magazine/s45/rubber, /obj/item/ammo_magazine/s45/rubber) + options["MarsTech P92X (9mm)"] = list(/obj/item/gun/projectile/p92x/rubber, /obj/item/ammo_magazine/m9mm/rubber, /obj/item/ammo_magazine/m9mm/rubber) var/choice = tgui_input_list(user,"Would you prefer a pistol or a revolver?", "Gun!", options) if(src && choice) var/list/things_to_spawn = options[choice] for(var/new_type in things_to_spawn) // Spawn all the things, the gun and the ammo. var/atom/movable/AM = new new_type(get_turf(src)) - if(istype(AM, /obj/item/weapon/gun)) + if(istype(AM, /obj/item/gun)) to_chat(user, "You have chosen \the [AM]. Say hello to your new friend.") qdel(src) @@ -30,14 +30,14 @@ desc = "A secure box containing a non-lethal sidearm." /obj/item/gunbox/stun/attack_self(mob/living/user) var/list/options = list() - options["Stun Revolver"] = list(/obj/item/weapon/gun/energy/stunrevolver/detective, /obj/item/weapon/cell/device/weapon, /obj/item/weapon/cell/device/weapon) - options["Taser"] = list(/obj/item/weapon/gun/energy/taser, /obj/item/weapon/cell/device/weapon, /obj/item/weapon/cell/device/weapon) + options["Stun Revolver"] = list(/obj/item/gun/energy/stunrevolver/detective, /obj/item/cell/device/weapon, /obj/item/cell/device/weapon) + options["Taser"] = list(/obj/item/gun/energy/taser, /obj/item/cell/device/weapon, /obj/item/cell/device/weapon) var/choice = tgui_input_list(user,"Please, select an option.", "Stun Gun!", options) if(src && choice) var/list/things_to_spawn = options[choice] for(var/new_type in things_to_spawn) // Spawn all the things, the gun and the ammo. var/atom/movable/AM = new new_type(get_turf(src)) - if(istype(AM, /obj/item/weapon/gun)) + if(istype(AM, /obj/item/gun)) to_chat(user, "You have chosen \the [AM]. Say hello to your new friend.") qdel(src) @@ -50,14 +50,14 @@ w_class = ITEMSIZE_HUGE /obj/item/gunbox/centcom/attack_self(mob/living/user) var/list/options = list() - options["Écureuil (10mm)"] = list(/obj/item/weapon/gun/projectile/ecureuil, /obj/item/ammo_magazine/m10mm/pistol, /obj/item/ammo_magazine/m10mm/pistol) - options["Écureuil Olive (10mm)"] = list(/obj/item/weapon/gun/projectile/ecureuil/tac, /obj/item/ammo_magazine/m10mm/pistol, /obj/item/ammo_magazine/m10mm/pistol) - options["Écureuil Tan (10mm)"] = list(/obj/item/weapon/gun/projectile/ecureuil/tac2, /obj/item/ammo_magazine/m10mm/pistol, /obj/item/ammo_magazine/m10mm/pistol) + options["Écureuil (10mm)"] = list(/obj/item/gun/projectile/ecureuil, /obj/item/ammo_magazine/m10mm/pistol, /obj/item/ammo_magazine/m10mm/pistol) + options["Écureuil Olive (10mm)"] = list(/obj/item/gun/projectile/ecureuil/tac, /obj/item/ammo_magazine/m10mm/pistol, /obj/item/ammo_magazine/m10mm/pistol) + options["Écureuil Tan (10mm)"] = list(/obj/item/gun/projectile/ecureuil/tac2, /obj/item/ammo_magazine/m10mm/pistol, /obj/item/ammo_magazine/m10mm/pistol) var/choice = tgui_input_list(user,"Please, select an option.", "Gun!", options) if(src && choice) var/list/things_to_spawn = options[choice] for(var/new_type in things_to_spawn) // Spawn all the things, the gun and the ammo. var/atom/movable/AM = new new_type(get_turf(src)) - if(istype(AM, /obj/item/weapon/gun)) + if(istype(AM, /obj/item/gun)) to_chat(user, "You have chosen \the [AM]. Say hello to your new friend.") qdel(src) \ No newline at end of file diff --git a/code/game/objects/items/gunbox_vr.dm b/code/game/objects/items/gunbox_vr.dm index 4dbbb98b274..00977fec6fd 100644 --- a/code/game/objects/items/gunbox_vr.dm +++ b/code/game/objects/items/gunbox_vr.dm @@ -9,14 +9,14 @@ /obj/item/gunbox/warden/attack_self(mob/living/user) var/list/options = list() - options["Warden's combat shotgun"] = list(/obj/item/weapon/gun/projectile/shotgun/pump/combat/warden, /obj/item/ammo_magazine/ammo_box/b12g/beanbag) - options["Warden's compact shotgun"] = list(/obj/item/weapon/gun/projectile/shotgun/compact/warden, /obj/item/ammo_magazine/ammo_box/b12g/beanbag) + options["Warden's combat shotgun"] = list(/obj/item/gun/projectile/shotgun/pump/combat/warden, /obj/item/ammo_magazine/ammo_box/b12g/beanbag) + options["Warden's compact shotgun"] = list(/obj/item/gun/projectile/shotgun/compact/warden, /obj/item/ammo_magazine/ammo_box/b12g/beanbag) var/choice = tgui_input_list(user,"Choose your boomstick!", "Shotgun!", options) if(src && choice) var/list/things_to_spawn = options[choice] for(var/new_type in things_to_spawn) // Spawn all the things, the gun and the ammo. var/atom/movable/AM = new new_type(get_turf(src)) - if(istype(AM, /obj/item/weapon/gun)) + if(istype(AM, /obj/item/gun)) to_chat(user, "You have chosen \the [AM]. Say hello to your new best friend.") qdel(src) @@ -30,15 +30,15 @@ icon_state = "gunbox" /obj/item/gunbox/captain/attack_self(mob/living/user) var/list/options = list() - options["M1911 (.45)"] = list(/obj/item/weapon/gun/projectile/colt/detective, /obj/item/ammo_magazine/m45/rubber, /obj/item/ammo_magazine/m45) - options["MT Mk58 (.45)"] = list(/obj/item/weapon/gun/projectile/sec, /obj/item/ammo_magazine/m45/rubber, /obj/item/ammo_magazine/m45) - options["LAEP80 \"Thor\" (Stun/Laser)"] = list(/obj/item/weapon/gun/energy/gun, /obj/item/weapon/cell/device/weapon, /obj/item/weapon/cell/device/weapon) - options["MarsTech P92X (9mm)"] = list(/obj/item/weapon/gun/projectile/p92x/rubber, /obj/item/ammo_magazine/m9mm/rubber, /obj/item/ammo_magazine/m9mm) + options["M1911 (.45)"] = list(/obj/item/gun/projectile/colt/detective, /obj/item/ammo_magazine/m45/rubber, /obj/item/ammo_magazine/m45) + options["MT Mk58 (.45)"] = list(/obj/item/gun/projectile/sec, /obj/item/ammo_magazine/m45/rubber, /obj/item/ammo_magazine/m45) + options["LAEP80 \"Thor\" (Stun/Laser)"] = list(/obj/item/gun/energy/gun, /obj/item/cell/device/weapon, /obj/item/cell/device/weapon) + options["MarsTech P92X (9mm)"] = list(/obj/item/gun/projectile/p92x/rubber, /obj/item/ammo_magazine/m9mm/rubber, /obj/item/ammo_magazine/m9mm) var/choice = tgui_input_list(user,"Would you prefer a ballistic pistol or an energy gun?", "Gun!", options) if(src && choice) var/list/things_to_spawn = options[choice] for(var/new_type in things_to_spawn) // Spawn all the things, the gun and the ammo. var/atom/movable/AM = new new_type(get_turf(src)) - if(istype(AM, /obj/item/weapon/gun)) + if(istype(AM, /obj/item/gun)) to_chat(user, "You have chosen \the [AM]. Say hello to your new friend.") qdel(src) diff --git a/code/game/objects/items/gunbox_yw.dm b/code/game/objects/items/gunbox_yw.dm index c7d4047c74c..6f7e5f56c49 100644 --- a/code/game/objects/items/gunbox_yw.dm +++ b/code/game/objects/items/gunbox_yw.dm @@ -6,15 +6,15 @@ /obj/item/gunbox/blueshield/attack_self(mob/living/user) var/list/options = list() - options["Jackhammer Revolver Shotgun (12 Gauge)"] = list(/obj/item/weapon/gun/projectile/revolvershotgun, /obj/item/ammo_magazine/m12gdrumjack, /obj/item/ammo_magazine/m12gdrumjack, /obj/item/ammo_magazine/m12gdrumjack/beanbag) - options["WT550 Machine Pistol (9mm)"] = list(/obj/item/weapon/gun/projectile/automatic/wt550, /obj/item/ammo_magazine/m9mmt/rubber, /obj/item/ammo_magazine/m9mmt, /obj/item/ammo_magazine/m9mmt) - options["X01 Energy Gun (Weapon Cell)"] = list(/obj/item/weapon/gun/energy/x01, /obj/item/weapon/cell/device/weapon, /obj/item/weapon/cell/device/weapon) + options["Jackhammer Revolver Shotgun (12 Gauge)"] = list(/obj/item/gun/projectile/revolvershotgun, /obj/item/ammo_magazine/m12gdrumjack, /obj/item/ammo_magazine/m12gdrumjack, /obj/item/ammo_magazine/m12gdrumjack/beanbag) + options["WT550 Machine Pistol (9mm)"] = list(/obj/item/gun/projectile/automatic/wt550, /obj/item/ammo_magazine/m9mmt/rubber, /obj/item/ammo_magazine/m9mmt, /obj/item/ammo_magazine/m9mmt) + options["X01 Energy Gun (Weapon Cell)"] = list(/obj/item/gun/energy/x01, /obj/item/cell/device/weapon, /obj/item/cell/device/weapon) var/choice = input(user,"Would you prefer a Jackhammer shotgun, a WT550 Machine Pistol, or an X01 Energy Gun?") as null|anything in options if(src && choice) var/list/things_to_spawn = options[choice] for(var/new_type in things_to_spawn) // Spawn all the things, the gun and the ammo. var/atom/movable/AM = new new_type(get_turf(src)) - if(istype(AM, /obj/item/weapon/gun)) + if(istype(AM, /obj/item/gun)) to_chat(user, "You have chosen \the [AM].") qdel(src) @@ -26,14 +26,14 @@ /obj/item/gunbox/blueshield/secondary/attack_self(mob/living/user) var/list/options = list() - options["NSCW Variable Pistol(Microbattery)"] = list(/obj/item/weapon/storage/secure/briefcase/nsfw_pack_hos) - options["E-Gun (Weapon Cell)"] = list(/obj/item/weapon/gun/energy/gun, /obj/item/weapon/cell/device/weapon, /obj/item/weapon/cell/device/weapon) - options["Consul Revolver (.44)"] = list(/obj/item/weapon/gun/projectile/revolver/consul, /obj/item/ammo_magazine/s44, /obj/item/ammo_magazine/s44, /obj/item/ammo_magazine/s44/rubber) + options["NSCW Variable Pistol(Microbattery)"] = list(/obj/item/storage/secure/briefcase/nsfw_pack_hos) + options["E-Gun (Weapon Cell)"] = list(/obj/item/gun/energy/gun, /obj/item/cell/device/weapon, /obj/item/cell/device/weapon) + options["Consul Revolver (.44)"] = list(/obj/item/gun/projectile/revolver/consul, /obj/item/ammo_magazine/s44, /obj/item/ammo_magazine/s44, /obj/item/ammo_magazine/s44/rubber) var/choice = input(user,"Would you prefer an NSCW, e-gun or a revolver?") as null|anything in options if(src && choice) var/list/things_to_spawn = options[choice] for(var/new_type in things_to_spawn) // Spawn all the things, the gun and the ammo. var/atom/movable/AM = new new_type(get_turf(src)) - if(istype(AM, /obj/item/weapon/gun)) + if(istype(AM, /obj/item/gun)) to_chat(user, "You have chosen \the [AM].") - qdel(src) \ No newline at end of file + qdel(src) diff --git a/code/game/objects/items/latexballoon.dm b/code/game/objects/items/latexballoon.dm index 753158eadb6..8523720cf62 100644 --- a/code/game/objects/items/latexballoon.dm +++ b/code/game/objects/items/latexballoon.dm @@ -1,6 +1,7 @@ /obj/item/latexballon name = "latex glove" desc = "A latex glove, usually used as a balloon." + icon = 'icons/obj/items.dmi' icon_state = "latexballon" item_icons = list( slot_l_hand_str = 'icons/mob/items/lefthand_gloves.dmi', @@ -15,7 +16,7 @@ var/state var/datum/gas_mixture/air_contents = null -/obj/item/latexballon/proc/blow(obj/item/weapon/tank/tank) +/obj/item/latexballon/proc/blow(obj/item/tank/tank) if (icon_state == "latexballon_bursted") return src.air_contents = tank.remove_air_volume(3) @@ -61,4 +62,4 @@ slot_r_hand_str = 'icons/mob/items/righthand_gloves.dmi', ) item_state = "ngloves" -*/ \ No newline at end of file +*/ diff --git a/code/game/objects/items/lockpicks.dm b/code/game/objects/items/lockpicks.dm new file mode 100644 index 00000000000..0af583a1736 --- /dev/null +++ b/code/game/objects/items/lockpicks.dm @@ -0,0 +1,54 @@ +//For bypassing locked /obj/structure/simple_doors + +/obj/item/lockpick + name = "set of lockpicks" + desc = "A set of picks and tension wrenches, ideal for picking old-style mechanical locks... not that any of those exist on most NT facilities these days. Still, it might be useful elsewhere?" + icon = 'icons/obj/lockpicks.dmi' + icon_state = "lockpicks" + w_class = ITEMSIZE_SMALL + var/pick_type = "simple" + var/pick_time = 10 SECONDS + var/pick_verb = "pick" + +/obj/item/lockpick/afterattack(atom/A, mob/user) + if(!user.IsAdvancedToolUser()) //no lockpicking for monkeys + return + if(istype(A, /obj/structure/simple_door)) + var/obj/structure/simple_door/D = A + if(!D.locked) //you can pick your nose, but you can't pick an unlocked door + to_chat(user, span_notice("\The [D] isn't locked.")) + return + else if(D.lock_type != pick_type) //make sure our types match + to_chat(user, span_warning("\The [src] can't pick \the [D]. Another tool might work?")) + return + else if(!D.can_pick) //make sure we're actually allowed to bypass it at all + to_chat(user, span_warning("\The [D] can't be [pick_verb]ed.")) + return + else //finally, we can assume that they do match + to_chat(user, span_notice("You start to [pick_verb] the lock on \the [D]...")) + playsound(src, D.keysound,100, 1) + if(do_after(user, pick_time * D.lock_difficulty)) + to_chat(user, span_notice("Success!")) + D.locked = FALSE + else if(istype(A,/mob/living/carbon/human)) //you can pick your friends, and you can pick your nose, but you can't pick your friend's nose + var/mob/living/carbon/human/H = A + if(user.zone_sel.selecting == BP_HEAD) + if(H == user) + to_chat(user, span_notice("Your nose isn't locked. If you're feeling stuffy, maybe you should talk to a doctor..?")) + else + user.visible_message(span_notice("[user] tries to [pick_verb] [H]'s nose with \the [src]! They don't seem to be having much success."),span_notice("You try to [pick_verb] [H]'s nose. It doesn't seem to be working.")) + return + +/obj/item/lockpick/pick_gun + name = "pick gun" + desc = "A more sophisticated and automated alternative to traditional lockpicking methods. Contains a dazzling array of tools in a simple-to-use housing: just press the face plate against the lock face and hold the trigger down until it goes click." + icon_state = "pick_gun" + pick_time = 3 SECONDS + +/obj/item/lockpick/mag_sequencer + name = "magnetic sequencer" + desc = "A deceptively simple gadget that brute-forces magnetic locks using a small electromagnet. A predecessor to the cryptographic sequencer, a more complicated device that is considered contraband in most jurisdictions. Not that these aren't illegal either, mind you!" + icon_state = "mag_sequencer" + pick_type = "maglock" + pick_time = 5 SECONDS + pick_verb = "bypass" diff --git a/code/game/objects/items/magazine.dm b/code/game/objects/items/magazine.dm index 1b8d03f5dad..46db4a95d8d 100644 --- a/code/game/objects/items/magazine.dm +++ b/code/game/objects/items/magazine.dm @@ -86,7 +86,7 @@ to_chat(user, "The headline screams, \"[headline]\"") /obj/item/tabloid/attack_self(mob/user) - user.visible_message(SPAN_NOTICE("\The [user] leafs idly through \the [src].")) + user.visible_message(span_notice("\The [user] leafs idly through \the [src].")) if(headline) to_chat(user, "Most of it is the usual tabloid garbage, but the headline story, \"[headline]\", holds your attention for awhile.") if(tabloid_headlines[headline]) diff --git a/code/game/objects/items/paintkit.dm b/code/game/objects/items/paintkit.dm index 53eb76a4662..ea372f883be 100644 --- a/code/game/objects/items/paintkit.dm +++ b/code/game/objects/items/paintkit.dm @@ -1,4 +1,4 @@ -/obj/item/device/kit +/obj/item/kit icon_state = "modkit" icon = 'icons/obj/device.dmi' w_class = ITEMSIZE_SMALL @@ -10,21 +10,21 @@ var/uses = 1 // Uses before the kit deletes itself. var/list/allowed_types = list() -/obj/item/device/kit/examine() +/obj/item/kit/examine() . = ..() . += "It has [uses] use\s left." -/obj/item/device/kit/proc/use(var/amt, var/mob/user) +/obj/item/kit/proc/use(var/amt, var/mob/user) uses -= amt playsound(src, 'sound/items/Screwdriver.ogg', 50, 1) if(uses<1) user.drop_item() qdel(src) -/obj/item/device/kit/proc/can_customize(var/obj/item/I) +/obj/item/kit/proc/can_customize(var/obj/item/I) return is_type_in_list(I, allowed_types) -/obj/item/device/kit/proc/set_info(var/kit_name, var/kit_desc, var/kit_icon, var/kit_icon_file = CUSTOM_ITEM_OBJ, var/kit_icon_override_file = CUSTOM_ITEM_MOB, var/additional_data) +/obj/item/kit/proc/set_info(var/kit_name, var/kit_desc, var/kit_icon, var/kit_icon_file = CUSTOM_ITEM_OBJ, var/kit_icon_override_file = CUSTOM_ITEM_MOB, var/additional_data) new_name = kit_name new_desc = kit_desc new_icon = kit_icon @@ -34,7 +34,7 @@ for(var/path in splittext(additional_data, ", ")) allowed_types |= text2path(path) -/obj/item/device/kit/proc/customize(var/obj/item/I, var/mob/user) +/obj/item/kit/proc/customize(var/obj/item/I, var/mob/user) if(can_customize(I)) I.name = new_name ? new_name : I.name I.desc = new_desc ? new_desc : I.desc @@ -49,9 +49,9 @@ use(1, user) // Generic use -/obj/item/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W, /obj/item/device/kit)) - var/obj/item/device/kit/K = W +/obj/item/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W, /obj/item/kit)) + var/obj/item/kit/K = W K.customize(src, user) return @@ -59,22 +59,22 @@ // Root hardsuit kit defines. // Icons for modified hardsuits need to be in the proper .dmis because suit cyclers may cock them up. -/obj/item/device/kit/suit +/obj/item/kit/suit name = "voidsuit modification kit" desc = "A kit for modifying a voidsuit." uses = 2 var/new_light_overlay -/obj/item/device/kit/suit/can_customize(var/obj/item/I) +/obj/item/kit/suit/can_customize(var/obj/item/I) return istype(I, /obj/item/clothing/head/helmet/space/void) || istype(I, /obj/item/clothing/suit/space/void) || istype(I, /obj/item/clothing/suit/storage/hooded) -/obj/item/device/kit/suit/set_info(var/kit_name, var/kit_desc, var/kit_icon, var/kit_icon_file = CUSTOM_ITEM_OBJ, var/kit_icon_override_file = CUSTOM_ITEM_MOB, var/additional_data) +/obj/item/kit/suit/set_info(var/kit_name, var/kit_desc, var/kit_icon, var/kit_icon_file = CUSTOM_ITEM_OBJ, var/kit_icon_override_file = CUSTOM_ITEM_MOB, var/additional_data) ..() new_light_overlay = additional_data -/obj/item/device/kit/suit/customize(var/obj/item/I, var/mob/user) +/obj/item/kit/suit/customize(var/obj/item/I, var/mob/user) if(can_customize(I)) if(istype(I, /obj/item/clothing/head/helmet/space/void)) var/obj/item/clothing/head/helmet/space/void/helmet = I @@ -127,33 +127,33 @@ use(1,user) /obj/item/clothing/head/helmet/space/void/attackby(var/obj/item/O, var/mob/user) - if(istype(O,/obj/item/device/kit/suit)) - var/obj/item/device/kit/suit/kit = O + if(istype(O,/obj/item/kit/suit)) + var/obj/item/kit/suit/kit = O kit.customize(src, user) return return ..() /obj/item/clothing/suit/space/void/attackby(var/obj/item/O, var/mob/user) - if(istype(O,/obj/item/device/kit/suit)) - var/obj/item/device/kit/suit/kit = O + if(istype(O,/obj/item/kit/suit)) + var/obj/item/kit/suit/kit = O kit.customize(src, user) return return ..() /obj/item/clothing/suit/storage/hooded/attackby(var/obj/item/O, var/mob/user) - if(istype(O,/obj/item/device/kit/suit)) - var/obj/item/device/kit/suit/kit = O + if(istype(O,/obj/item/kit/suit)) + var/obj/item/kit/suit/kit = O kit.customize(src, user) return return ..() -/obj/item/device/kit/suit/rig +/obj/item/kit/suit/rig name = "rig modification kit" desc = "A kit for modifying a rigsuit." uses = 1 -/obj/item/device/kit/suit/rig/customize(var/obj/item/I, var/mob/user) - var/obj/item/weapon/rig/RIG = I +/obj/item/kit/suit/rig/customize(var/obj/item/I, var/mob/user) + var/obj/item/rig/RIG = I RIG.suit_state = new_icon RIG.item_state = new_icon RIG.suit_type = "customized [initial(RIG.suit_type)]" @@ -185,25 +185,25 @@ H.light_overlay = new_light_overlay use(1,user) -/obj/item/device/kit/suit/rig/can_customize(var/obj/item/I) - return istype(I, /obj/item/weapon/rig) +/obj/item/kit/suit/rig/can_customize(var/obj/item/I) + return istype(I, /obj/item/rig) -/obj/item/weapon/rig/attackby(var/obj/item/O, var/mob/user) - if(istype(O,/obj/item/device/kit/suit)) - var/obj/item/device/kit/suit/rig/kit = O +/obj/item/rig/attackby(var/obj/item/O, var/mob/user) + if(istype(O,/obj/item/kit/suit)) + var/obj/item/kit/suit/rig/kit = O kit.customize(src, user) return return ..() -/obj/item/device/kit/suit/rig/debug/Initialize() +/obj/item/kit/suit/rig/debug/Initialize() set_info("debug suit", "This is a test", "debug", CUSTOM_ITEM_OBJ, CUSTOM_ITEM_MOB) -/obj/item/device/kit/paint +/obj/item/kit/paint name = "mecha customisation kit" desc = "A kit containing all the needed tools and parts to repaint a mech." var/removable = null -/obj/item/device/kit/paint/can_customize(var/obj/mecha/M) +/obj/item/kit/paint/can_customize(var/obj/mecha/M) if(!istype(M)) return 0 @@ -211,20 +211,20 @@ if(type == M.initial_icon) return 1 -/obj/item/device/kit/paint/set_info(var/kit_name, var/kit_desc, var/kit_icon, var/kit_icon_file = CUSTOM_ITEM_OBJ, var/kit_icon_override_file = CUSTOM_ITEM_MOB, var/additional_data) +/obj/item/kit/paint/set_info(var/kit_name, var/kit_desc, var/kit_icon, var/kit_icon_file = CUSTOM_ITEM_OBJ, var/kit_icon_override_file = CUSTOM_ITEM_MOB, var/additional_data) ..() allowed_types = splittext(additional_data, ", ") -/obj/item/device/kit/paint/examine() +/obj/item/kit/paint/examine() . = ..() . += "This kit will convert an exosuit into: [new_name]." . += "This kit can be used on the following exosuit models:" for(var/exotype in allowed_types) . += "- [capitalize(exotype)]" -/obj/item/device/kit/paint/customize(var/obj/mecha/M, var/mob/user) +/obj/item/kit/paint/customize(var/obj/mecha/M, var/mob/user) if(!can_customize(M)) to_chat(user, "That kit isn't meant for use on this class of exosuit.") return @@ -242,16 +242,16 @@ M.update_icon() use(1, user) -/obj/mecha/attackby(var/obj/item/weapon/W, var/mob/user) - if(istype(W, /obj/item/device/kit/paint)) - var/obj/item/device/kit/paint/P = W +/obj/mecha/attackby(var/obj/item/W, var/mob/user) + if(istype(W, /obj/item/kit/paint)) + var/obj/item/kit/paint/P = W P.customize(src, user) return else return ..() //Ripley APLU kits. -/obj/item/device/kit/paint/ripley +/obj/item/kit/paint/ripley name = "\"Classic\" APLU customisation kit" new_name = "APLU \"Classic\"" new_desc = "A very retro APLU unit; didn't they retire these back in 2303?" @@ -260,7 +260,7 @@ var/showpilot = TRUE var/showpilot_lift = 5 -/obj/item/device/kit/paint/ripley/customize(obj/mecha/M, mob/user) +/obj/item/kit/paint/ripley/customize(obj/mecha/M, mob/user) if(showpilot) M.show_pilot = TRUE M.pilot_lift = 5 @@ -269,7 +269,7 @@ M.pilot_lift = 0 . = ..() -/obj/item/device/kit/paint/ripley/death +/obj/item/kit/paint/ripley/death name = "\"Reaper\" APLU customisation kit" new_name = "APLU \"Reaper\"" new_desc = "A terrifying, grim power loader. Why do those clamps have spikes?" @@ -277,14 +277,14 @@ allowed_types = list("ripley","firefighter") showpilot = FALSE -/obj/item/device/kit/paint/ripley/flames_red +/obj/item/kit/paint/ripley/flames_red name = "\"Firestarter\" APLU customisation kit" new_name = "APLU \"Firestarter\"" new_desc = "A standard APLU exosuit with stylish orange flame decals." new_icon = "ripley_flames_red" showpilot = FALSE -/obj/item/device/kit/paint/ripley/flames_blue +/obj/item/kit/paint/ripley/flames_blue name = "\"Burning Chrome\" APLU customisation kit" new_name = "APLU \"Burning Chrome\"" new_desc = "A standard APLU exosuit with stylish blue flame decals." @@ -292,40 +292,40 @@ showpilot = FALSE // Durand kits. -/obj/item/device/kit/paint/durand +/obj/item/kit/paint/durand name = "\"Classic\" Durand customisation kit" new_name = "Durand \"Classic\"" new_desc = "An older model of Durand combat exosuit. This model was retired for rotating a pilot's torso 180 degrees." new_icon = "old_durand" allowed_types = list("durand") -/obj/item/device/kit/paint/durand/seraph +/obj/item/kit/paint/durand/seraph name = "\"Cherubim\" Durand customisation kit" new_name = "Durand \"Cherubim\"" new_desc = "A Durand combat exosuit modelled after ancient Earth entertainment. Your heart goes doki-doki just looking at it." new_icon = "old_durand" -/obj/item/device/kit/paint/durand/phazon +/obj/item/kit/paint/durand/phazon name = "\"Sypher\" Durand customisation kit" new_name = "Durand \"Sypher\"" new_desc = "A Durand combat exosuit with some very stylish neons and decals. Seems to blur slightly at the edges; probably an optical illusion." new_icon = "phazon" // Gygax kits. -/obj/item/device/kit/paint/gygax +/obj/item/kit/paint/gygax name = "\"Jester\" Gygax customisation kit" new_name = "Gygax \"Jester\"" new_desc = "A Gygax exosuit modelled after the infamous combat-troubadors of Earth's distant past. Terrifying to behold." new_icon = "honker" allowed_types = list("gygax") -/obj/item/device/kit/paint/gygax/darkgygax +/obj/item/kit/paint/gygax/darkgygax name = "\"Silhouette\" Gygax customisation kit" new_name = "Gygax \"Silhouette\"" new_desc = "An ominous Gygax exosuit modelled after the fictional corporate 'death squads' that were popular in pulp action-thrillers back in 2314." new_icon = "darkgygax" -/obj/item/device/kit/paint/gygax/recitence +/obj/item/kit/paint/gygax/recitence name = "\"Gaoler\" Gygax customisation kit" new_name = "Durand \"Gaoler\"" new_desc = "A bulky silver Gygax exosuit. The extra armour appears to be painted on, but it's very shiny." diff --git a/code/game/objects/items/petrifier.dm b/code/game/objects/items/petrifier.dm new file mode 100644 index 00000000000..0e976bef481 --- /dev/null +++ b/code/game/objects/items/petrifier.dm @@ -0,0 +1,28 @@ +/obj/item/petrifier + name = "odd button" + desc = "A metal device with a single, purple button on it, and a tiny interface." + icon = 'icons/obj/machines/petrification.dmi' + icon_state = "petrifier" + + var/mob/living/carbon/human/target + var/identifier = "statue" + var/material = "stone" + var/adjective = "hardens" + var/tint = "#FFFFFF" + var/discard_clothes = TRUE + var/able_to_unpetrify = TRUE + var/obj/machinery/petrification/linked + +/obj/item/petrifier/Initialize(mapload, var/to_link) + . = ..() + linked = to_link + +/obj/item/petrifier/attack_self(var/mob/user) + . = ..() + if (!isturf(user.loc) && user.get_ultimate_mob() != target) + to_chat(user, span_warning("The device beeps but does nothing.")) + return + if (linked?.petrify(user, src)) + visible_message(span_notice("A ray of purple light streams out of \the [src], aimed directly at [target]. Everywhere the light touches on them quickly [adjective] into [material].")) + to_chat(user, span_warning("The device fizzles and crumbles into dust.")) + qdel(src) diff --git a/code/game/objects/items/pizza_voucher_vr.dm b/code/game/objects/items/pizza_voucher_vr.dm index b21e45f3ddb..9829bd8321a 100644 --- a/code/game/objects/items/pizza_voucher_vr.dm +++ b/code/game/objects/items/pizza_voucher_vr.dm @@ -23,30 +23,30 @@ /obj/item/pizzavoucher/attack_self(mob/user) add_fingerprint(user) if(!spent) - user.visible_message("[user] presses a button on [src]!") + user.visible_message(span_notice("[user] presses a button on [src]!")) desc = desc + " This one seems to be used-up." spent = TRUE - user.visible_message("A small bluespace rift opens just above [user]'s head and spits out a pizza box!", - "A small bluespace rift opens just above your head and spits out a pizza box!", - "You hear a fwoosh followed by a thump.") + user.visible_message(span_notice("A small bluespace rift opens just above [user]'s head and spits out a pizza box!"), + span_notice("A small bluespace rift opens just above your head and spits out a pizza box!"), + span_notice("You hear a fwoosh followed by a thump.")) if(special_delivery) command_announcement.Announce("SPECIAL DELIVERY PIZZA ORDER #[rand(1000,9999)]-[rand(100,999)] HAS BEEN RECEIVED. SHIPMENT DISPATCHED VIA EXTRA-POWERFUL BALLISTIC LAUNCHERS FOR IMMEDIATE DELIVERY! THANK YOU AND ENJOY YOUR PIZZA!", "WE ALWAYS DELIVER!") new /obj/effect/falling_effect/pizza_delivery/special(user.loc) else new /obj/effect/falling_effect/pizza_delivery(user.loc) else - to_chat(user, "The [src] is spent!") + to_chat(user, span_warning("The [src] is spent!")) /obj/item/pizzavoucher/emag_act(var/remaining_charges, var/mob/user) if(spent) - to_chat(user, "The [src] is spent!") + to_chat(user, span_warning("The [src] is spent!")) return if(!special_delivery) - to_chat(user, "You activate the special delivery protocol on the [src]!") + to_chat(user, span_warning("You activate the special delivery protocol on the [src]!")) special_delivery = TRUE return 1 else - to_chat(user, "The [src] is already in special delivery mode!") + to_chat(user, span_warning("The [src] is already in special delivery mode!")) /obj/effect/falling_effect/pizza_delivery name = "PIZZA PIE POWER!" diff --git a/code/game/objects/items/poi_items.dm b/code/game/objects/items/poi_items.dm index c1a8b73d227..510eebf0701 100644 --- a/code/game/objects/items/poi_items.dm +++ b/code/game/objects/items/poi_items.dm @@ -67,7 +67,7 @@ climbable = FALSE starts_with = list( - /obj/item/weapon/fuel_assembly/deuterium = 6) + /obj/item/fuel_assembly/deuterium = 6) /obj/item/poi/brokenoldreactor icon_state = "poireactor_broken" @@ -149,15 +149,15 @@ return FALSE var/turf/message_turf = get_turf(user) //We use this to ensure everyone can see it! - if(istype(I, /obj/item/weapon/tool/screwdriver)) + if(istype(I, /obj/item/tool/screwdriver)) unscrewed = !unscrewed to_chat(user, "You screw the blackbox panel [unscrewed ? "off" : "on"]") - if(istype(I, /obj/item/weapon/tool/wirecutters)) + if(istype(I, /obj/item/tool/wirecutters)) wirecutted = !wirecutted to_chat(user, "You [wirecutted ? "cut" : "mend"] the power wire to the blackbox") - if(istype(I, /obj/item/weapon/paper) && unscrewed) + if(istype(I, /obj/item/paper) && unscrewed) if(!has_paper) to_chat(user, "You feed the debug printer some paper") has_paper = TRUE @@ -165,16 +165,16 @@ else to_chat(user, span_notice("[src] cannot hold more than 1 sheet of paper.")) - if(istype(I, /obj/item/device/multitool)) + if(istype(I, /obj/item/multitool)) if(!unscrewed && !wirecutted) to_chat(user, span_notice("You cannot access the debug interface with the panel screwed on!")) else if(unscrewed && !wirecutted) message_turf.audible_message(message = examine_multitool, - deaf_message = "[src] flashes red repeatedly", runemessage= "Beep! Beep!") + deaf_message = span_bold("[src]") + " flashes red repeatedly", runemessage= "Beep! Beep!") to_chat(user, span_warning("The components spark from the multitool's unregulated pulse. \ Perhaps it'd been better to use more sophisticated tools...")) fried = TRUE - message_turf.visible_message(message = "[src] FLASHES VIOLENTLY!", + message_turf.visible_message(message = span_bold("[src]") + " FLASHES VIOLENTLY!", blind_message = "ZAP!", runemessage = "CRACKLE!") var/used_hand = user.get_organ(user.get_active_hand()) user.electrocute_act(10,def_zone = used_hand) @@ -182,7 +182,7 @@ to_chat(user, span_notice("You modify the security settings.")) unlocked = TRUE - if(istype(I, /obj/item/device/robotanalyzer)) + if(istype(I, /obj/item/robotanalyzer)) if(!unscrewed) to_chat(user, span_notice("You cannot access the debug interface with the panel screwed on!")) else if(wirecutted) @@ -192,14 +192,14 @@ Perhaps, it would've been a good idea to disconnect some wires while pulsing the security circuit...")) else if(!has_paper) - message_turf.visible_message(message = "[src] displays, 'PAPER NOT BIN'", + message_turf.visible_message(message = span_bold("[src]") + " displays, 'PAPER NOT BIN'", blind_message = "you hear VERY ANGRY beeping.", runemessage = "BEEP BEEP!") - message_turf.audible_message(message = "[src] recites, \n '[examine_canalyzer]'", - deaf_message = "[src] flashes green!", runemessage= "Ping!") + message_turf.audible_message(message = span_bold("[src]") + " recites, \n '[examine_canalyzer]'", + deaf_message = span_bold("[src]") + " flashes green!", runemessage= "Ping!") else - message_turf.audible_message(message = "[src] rattles loudly as it prints", - deaf_message = "[src] flashes green!", runemessage= "RATTLE RATTLE") - var/obj/item/weapon/paper/P = new /obj/item/weapon/paper(get_turf(src)) + message_turf.audible_message(message = span_bold("[src]") + " rattles loudly as it prints", + deaf_message = span_bold("[src]") + " flashes green!", runemessage= "RATTLE RATTLE") + var/obj/item/paper/P = new /obj/item/paper(get_turf(src)) P.name = "[drone_name] blackbox transcript" P.info = "[examine_canalyzer_printed ? examine_canalyzer_printed : examine_canalyzer]" has_paper = FALSE diff --git a/code/game/objects/items/robobag.dm b/code/game/objects/items/robobag.dm index 4c54a5d78fa..e3ad240ee29 100644 --- a/code/game/objects/items/robobag.dm +++ b/code/game/objects/items/robobag.dm @@ -22,14 +22,14 @@ especially useful if short on time or in a hostile enviroment." icon = 'icons/obj/robobag.dmi' item_path = /obj/item/bodybag/cryobag/robobag - tank_type = /obj/item/weapon/tank/stasis/nitro_cryo + tank_type = /obj/item/tank/stasis/nitro_cryo stasis_level = 2 // Lower than the normal cryobag, because it's not made for meat that dies. It's made for robots and is freezing. var/obj/item/clothing/accessory/badge/corptag // The tag on the bag. /obj/structure/closet/body_bag/cryobag/robobag/examine(mob/user) . = ..() if(corptag && Adjacent(user)) - . += "[src] has a [corptag] attached to it." + . += span_notice("[src] has a [corptag] attached to it.") /obj/structure/closet/body_bag/cryobag/robobag/update_icon() cut_overlays() @@ -52,7 +52,7 @@ ..() if(corptag) corptag.forceMove(get_turf(user)) - to_chat(user, "You remove \the [corptag] from \the [src].") + to_chat(user, span_notice("You remove \the [corptag] from \the [src].")) corptag = null update_icon() return @@ -81,8 +81,8 @@ if(opened) ..() else //Allows the bag to respond to a cyborg analyzer and tag. - if(istype(W,/obj/item/device/robotanalyzer)) - var/obj/item/device/robotanalyzer/analyzer = W + if(istype(W,/obj/item/robotanalyzer)) + var/obj/item/robotanalyzer/analyzer = W for(var/mob/living/L in contents) analyzer.attack(L,user) @@ -93,12 +93,12 @@ corptag = W user.unEquip(corptag) corptag.loc = null - to_chat(user, "You swap \the [old_tag] for \the [corptag].") + to_chat(user, span_notice("You swap \the [old_tag] for \the [corptag].")) else corptag = W user.unEquip(corptag) corptag.loc = null - to_chat(user, "You attach \the [corptag] to \the [src].") + to_chat(user, span_notice("You attach \the [corptag] to \the [src].")) update_icon() else @@ -109,8 +109,8 @@ desc = "Your software is being debugged." mob_overlay_state = "signal_blue" - on_created_text = "You feel something pour over your senses." - on_expired_text = "Your mind is clear once more." + on_created_text = span_notice("You feel something pour over your senses.") + on_expired_text = span_notice("Your mind is clear once more.") stacks = MODIFIER_STACK_FORBID /datum/modifier/fbp_debug/tick() diff --git a/code/game/objects/items/robot/robot_items.dm b/code/game/objects/items/robot/robot_items.dm index b1fe260b40e..33d10f65f0d 100644 --- a/code/game/objects/items/robot/robot_items.dm +++ b/code/game/objects/items/robot/robot_items.dm @@ -5,7 +5,7 @@ ***********************************************************************/ //Might want to move this into several files later but for now it works here -/obj/item/weapon/melee/baton/robot/arm +/obj/item/melee/baton/robot/arm name = "electrified arm" icon = 'icons/obj/decals.dmi' icon_state = "shock" @@ -13,7 +13,7 @@ hitcost = 750 agonyforce = 70 -/obj/item/weapon/melee/baton/robot/arm/update_icon() +/obj/item/melee/baton/robot/arm/update_icon() if(status) set_light(1.5, 1, lightcolor) else diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm index cd7ef9f442b..2d93e9c7bca 100644 --- a/code/game/objects/items/robot/robot_parts.dm +++ b/code/game/objects/items/robot/robot_parts.dm @@ -49,15 +49,15 @@ icon_state = "chest" part = list(BP_GROIN,BP_TORSO) var/wires = 0.0 - var/obj/item/weapon/cell/cell = null + var/obj/item/cell/cell = null /obj/item/robot_parts/head name = "cyborg head" desc = "A standard reinforced braincase, with spine-plugged neural socket and sensor gimbals." icon_state = "head" part = list(BP_HEAD) - var/obj/item/device/flash/flash1 = null - var/obj/item/device/flash/flash2 = null + var/obj/item/flash/flash1 = null + var/obj/item/flash/flash2 = null /obj/item/robot_parts/robot_suit name = "endoskeleton" @@ -103,15 +103,15 @@ if(istype(W, /obj/item/stack/material) && W.get_material_name() == MAT_STEEL && !l_arm && !r_arm && !l_leg && !r_leg && !chest && !head) var/obj/item/stack/material/M = W if (M.use(1)) - var/obj/item/weapon/secbot_assembly/ed209_assembly/B = new /obj/item/weapon/secbot_assembly/ed209_assembly + var/obj/item/secbot_assembly/ed209_assembly/B = new /obj/item/secbot_assembly/ed209_assembly B.loc = get_turf(src) - to_chat(user, "You armed the robot frame.") + to_chat(user, span_notice("You armed the robot frame.")) if (user.get_inactive_hand()==src) user.remove_from_mob(src) user.put_in_inactive_hand(B) qdel(src) else - to_chat(user, "You need one sheet of metal to arm the robot frame.") + to_chat(user, span_warning("You need one sheet of metal to arm the robot frame.")) if(istype(W, /obj/item/robot_parts/l_leg)) if(src.l_leg) return user.drop_item() @@ -148,9 +148,9 @@ src.chest = W src.update_icon() else if(!W:wires) - to_chat(user, "You need to attach wires to it first!") + to_chat(user, span_warning("You need to attach wires to it first!")) else - to_chat(user, "You need to attach a cell to it first!") + to_chat(user, span_warning("You need to attach a cell to it first!")) if(istype(W, /obj/item/robot_parts/head)) if(src.head) return @@ -160,17 +160,20 @@ src.head = W src.update_icon() else - to_chat(user, "You need to attach a flash to it first!") + to_chat(user, span_warning("You need to attach a flash to it first!")) - if(istype(W, /obj/item/device/mmi)) - var/obj/item/device/mmi/M = W + if(istype(W, /obj/item/mmi)) + var/obj/item/mmi/M = W + if (isshell(user) && istype(W, /obj/item/mmi/inert/ai_remote)) + to_chat(user, span_warning("Your hardware prohibits you from self-replicating.")) + return if(check_completion()) if(!istype(loc,/turf)) - to_chat(user, "You can't put \the [W] in, the frame has to be standing on the ground to be perfectly precise.") + to_chat(user, span_warning("You can't put \the [W] in, the frame has to be standing on the ground to be perfectly precise.")) return - if(!istype(W, /obj/item/device/mmi/inert)) + if(!istype(W, /obj/item/mmi/inert)) if(!M.brainmob) - to_chat(user, "Sticking an empty [W] into the frame would sort of defeat the purpose.") + to_chat(user, span_warning("Sticking an empty [W] into the frame would sort of defeat the purpose.")) return if(!M.brainmob.key) var/ghost_can_reenter = 0 @@ -178,18 +181,18 @@ for(var/mob/observer/dead/G in player_list) if(G.can_reenter_corpse && G.mind == M.brainmob.mind) ghost_can_reenter = 1 //May come in use again at another point. - to_chat(user, "\The [W] is completely unresponsive; though it may be able to auto-resuscitate.") //Jamming a ghosted brain into a borg is likely detrimental, and may result in some problems. + to_chat(user, span_notice("\The [W] is completely unresponsive; though it may be able to auto-resuscitate.")) //Jamming a ghosted brain into a borg is likely detrimental, and may result in some problems. return if(!ghost_can_reenter) - to_chat(user, "\The [W] is completely unresponsive; there's no point.") + to_chat(user, span_notice("\The [W] is completely unresponsive; there's no point.")) return if(M.brainmob.stat == DEAD) - to_chat(user, "Sticking a dead [W] into the frame would sort of defeat the purpose.") + to_chat(user, span_warning("Sticking a dead [W] into the frame would sort of defeat the purpose.")) return - if(jobban_isbanned(M.brainmob, "Cyborg")) - to_chat(user, "This [W] does not seem to fit.") + if(jobban_isbanned(M.brainmob, JOB_CYBORG)) + to_chat(user, span_warning("This [W] does not seem to fit.")) return var/mob/living/silicon/robot/O = new /mob/living/silicon/robot(get_turf(loc), unfinished = 1) @@ -209,7 +212,7 @@ O.mind.store_memory("In case you look at this after being borged, the objectives are only here until I find a way to make them not show up for you, as I can't simply delete them without screwing up round-end reporting. --NeoFite") for(var/datum/language/L in M.brainmob.languages) O.add_language(L.name) - O.job = "Cyborg" + O.job = JOB_CYBORG O.cell = chest.cell O.cell.loc = O W.loc = O//Should fix cybros run time erroring when blown up. It got deleted before, along with the frame. @@ -222,17 +225,16 @@ feedback_inc("cyborg_birth",1) callHook("borgify", list(O)) - O.namepick() qdel(src) else - to_chat(user, "The MMI must go in after everything else!") + to_chat(user, span_warning("The MMI must go in after everything else!")) - if (istype(W, /obj/item/weapon/pen)) + if (istype(W, /obj/item/pen)) var/t = sanitizeSafe(tgui_input_text(user, "Enter new robot name", src.name, src.created_name), MAX_NAME_LEN) if (!t) return - if (!in_range(src, usr) && src.loc != usr) + if (!in_range(src, user) && src.loc != user) return src.created_name = t @@ -241,33 +243,33 @@ /obj/item/robot_parts/chest/attackby(obj/item/W as obj, mob/user as mob) ..() - if(istype(W, /obj/item/weapon/cell)) + if(istype(W, /obj/item/cell)) if(src.cell) - to_chat(user, "You have already inserted a cell!") + to_chat(user, span_warning("You have already inserted a cell!")) return else user.drop_item() W.loc = src src.cell = W - to_chat(user, "You insert the cell!") + to_chat(user, span_notice("You insert the cell!")) if(istype(W, /obj/item/stack/cable_coil)) if(src.wires) - to_chat(user, "You have already inserted wire!") + to_chat(user, span_warning("You have already inserted wire!")) return else var/obj/item/stack/cable_coil/coil = W coil.use(1) src.wires = 1.0 - to_chat(user, "You insert the wire!") + to_chat(user, span_notice("You insert the wire!")) return /obj/item/robot_parts/head/attackby(obj/item/W as obj, mob/user as mob) ..() - if(istype(W, /obj/item/device/flash)) + if(istype(W, /obj/item/flash)) if(istype(user,/mob/living/silicon/robot)) var/current_module = user.get_active_hand() if(current_module == W) - to_chat(user, "How do you propose to do that?") + to_chat(user, span_warning("How do you propose to do that?")) return else add_flashes(W,user) @@ -277,24 +279,24 @@ /obj/item/robot_parts/head/proc/add_flashes(obj/item/W as obj, mob/user as mob) //Made into a seperate proc to avoid copypasta if(src.flash1 && src.flash2) - to_chat(user, "You have already inserted the eyes!") + to_chat(user, span_notice("You have already inserted the eyes!")) return else if(src.flash1) user.drop_item() W.loc = src src.flash2 = W - to_chat(user, "You insert the flash into the eye socket!") + to_chat(user, span_notice("You insert the flash into the eye socket!")) else user.drop_item() W.loc = src src.flash1 = W - to_chat(user, "You insert the flash into the eye socket!") + to_chat(user, span_notice("You insert the flash into the eye socket!")) /obj/item/robot_parts/emag_act(var/remaining_charges, var/mob/user) if(sabotaged) - to_chat(user, "[src] is already sabotaged!") + to_chat(user, span_warning("[src] is already sabotaged!")) else - to_chat(user, "You short out the safeties.") + to_chat(user, span_warning("You short out the safeties.")) sabotaged = 1 return 1 diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm index ace8fde6360..8aa81f69e02 100644 --- a/code/game/objects/items/robot/robot_upgrades.dm +++ b/code/game/objects/items/robot/robot_upgrades.dm @@ -14,7 +14,7 @@ /obj/item/borg/upgrade/proc/action(var/mob/living/silicon/robot/R) if(R.stat == DEAD) - to_chat(usr, "The [src] will not function on a deceased robot.") + to_chat(usr, span_warning("The [src] will not function on a deceased robot.")) return 1 return 0 @@ -119,7 +119,7 @@ to_chat(usr, "It'd be unwise to plug another vtec module in!") return 0 - R.verbs += /mob/living/silicon/robot/proc/toggle_vtec + add_verb(R, /mob/living/silicon/robot/proc/toggle_vtec) R.vtec_active = TRUE R.hud_used.toggle_vtec_control() return 1 @@ -139,7 +139,7 @@ to_chat(usr, "There's no space for another size alteration module!") return 0 - R.verbs += /mob/living/proc/set_size + add_verb(R, /mob/living/proc/set_size) return 1 /obj/item/borg/upgrade/basic/syndicate @@ -158,6 +158,7 @@ return 0 R.emag_items = 1 + R.robotact.update_static_data_for_all_viewers() return 1 /obj/item/borg/upgrade/basic/language @@ -234,9 +235,9 @@ /obj/item/borg/upgrade/advanced/bellysizeupgrade/action(var/mob/living/silicon/robot/R) if(..()) return 0 - var/obj/T = R.has_upgrade_module(/obj/item/device/dogborg/sleeper) + var/obj/T = R.has_upgrade_module(/obj/item/dogborg/sleeper) if(!T) - to_chat(usr, "This robot has had its processor removed!") + to_chat(usr, span_warning("This robot has had its processor removed!")) return 0 if(R.has_advanced_upgrade(type)) @@ -244,7 +245,7 @@ to_chat(usr, "There's no room for another capacity upgrade!") return 0 - var/obj/item/device/dogborg/sleeper/B = T + var/obj/item/dogborg/sleeper/B = T var/X = B.max_item_count*2 B.max_item_count = X //I couldn't do T = maxitem*2 for some reason. to_chat(R, "Internal capacity doubled.") @@ -266,8 +267,8 @@ generic_error(R, type) return 0 - R.module.modules += new/obj/item/weapon/tank/jetpack/carbondioxide(R.module) - for(var/obj/item/weapon/tank/jetpack/carbondioxide in R.module.modules) + R.module.modules += new/obj/item/tank/jetpack/carbondioxide(R.module) + for(var/obj/item/tank/jetpack/carbondioxide in R.module.modules) R.internals = src return 1 @@ -285,7 +286,7 @@ generic_error(R, type) return 0 - R.module.modules += new/obj/item/device/healthanalyzer/advanced(R.module) + R.module.modules += new/obj/item/healthanalyzer/advanced(R.module) return 1 //Robot size gun @@ -303,7 +304,7 @@ generic_error(R, type) return 0 - R.module.modules += new/obj/item/weapon/gun/energy/sizegun/mounted(R.module) + R.module.modules += new/obj/item/gun/energy/sizegun/mounted(R.module) return 1 /* ############################################################################## @@ -326,9 +327,9 @@ generic_error(R, type) return 0 - var/obj/T = R.has_upgrade_module(/obj/item/device/dogborg/sleeper) + var/obj/T = R.has_upgrade_module(/obj/item/dogborg/sleeper) if(!T) - to_chat(usr, "This robot has had its processor removed!") + to_chat(usr, span_warning("This robot has had its processor removed!")) return 0 if(R.has_restricted_upgrade(type)) @@ -336,7 +337,7 @@ to_chat(usr, "There's no room for another capability upgrade!") return 0 - var/obj/item/device/dogborg/sleeper/B = T + var/obj/item/dogborg/sleeper/B = T var/X = B.max_item_count*2 //double the capacity from 1 to 2 to allow sleepers to store some items, at most 4 with both upgrades B.max_item_count = X //I couldn't do T = maxitem*2 for some reason. to_chat(R, "Internal capability upgraded.") @@ -360,9 +361,9 @@ generic_error(R, type) return 0 - var/obj/T = R.has_upgrade_module(/obj/item/weapon/gun/energy/taser/mounted/cyborg) + var/obj/T = R.has_upgrade_module(/obj/item/gun/energy/taser/mounted/cyborg) if(!T) - to_chat(usr, "This robot has had its taser removed!") + to_chat(usr, span_warning("This robot has had its taser removed!")) return 0 if(R.has_restricted_upgrade(type)) @@ -370,7 +371,7 @@ to_chat(usr, "There's no room for another cooling unit!") return 0 - var/obj/item/weapon/gun/energy/taser/mounted/cyborg/B = T + var/obj/item/gun/energy/taser/mounted/cyborg/B = T B.recharge_time = max(2 , B.recharge_time - 4) return 1 @@ -394,7 +395,7 @@ generic_error(R, type) return 0 - R.module.modules += new/obj/item/weapon/storage/part_replacer/adv(R.module) + R.module.modules += new/obj/item/storage/part_replacer/adv(R.module) return 1 //Diamond Drill @@ -417,7 +418,7 @@ generic_error(R, type) return 0 - R.module.modules += new/obj/item/weapon/pickaxe/diamonddrill(R.module) + R.module.modules += new/obj/item/pickaxe/diamonddrill(R.module) return 1 //PKA @@ -440,7 +441,7 @@ generic_error(R, type) return 0 - R.module.modules += new/obj/item/weapon/gun/energy/kinetic_accelerator/cyborg(R.module) + R.module.modules += new/obj/item/gun/energy/kinetic_accelerator/cyborg(R.module) return 1 /* ############################################### @@ -452,7 +453,7 @@ //cyborg foam dart gun /obj/item/borg/upgrade/no_prod/toygun - name = "Donk-Soft Cyborg Blaster module" //Cyborg Blaster is capitalized because it's the brand name + name = "Donk-Soft " + JOB_CYBORG + " Blaster module" //Cyborg Blaster is capitalized because it's the brand name desc = "A foam dart gun designed for mounting into cyborgs. It's Donk or Don't! DISCLAIMER: Donk-Soft bears no responsibility for incidents relating to cyborgs becoming too accustomed to shooting at crew. Installation of the Donk-Soft Cyborg Blaster must be performed only by a licensed roboticist." icon_state = "cyborg_upgrade5" item_state = "cyborg_upgrade" @@ -465,7 +466,7 @@ generic_error(R, type) return 0 - R.module.modules += new/obj/item/weapon/gun/projectile/cyborgtoy(R.module) + R.module.modules += new/obj/item/gun/projectile/cyborgtoy(R.module) return 1 /obj/item/borg/upgrade/no_prod/vision_xray diff --git a/code/game/objects/items/selectable_item_vr.dm b/code/game/objects/items/selectable_item_vr.dm index 56d4778124b..3183971bcef 100644 --- a/code/game/objects/items/selectable_item_vr.dm +++ b/code/game/objects/items/selectable_item_vr.dm @@ -7,12 +7,12 @@ var/preface_title = "selectable item" var/selection_string = "Select an item:" var/selection_title = "Item Selection" - var/list/item_options = list("Gift" = /obj/item/weapon/a_gift, - "Health Analyzer" = /obj/item/device/healthanalyzer) + var/list/item_options = list("Gift" = /obj/item/a_gift, + "Health Analyzer" = /obj/item/healthanalyzer) /obj/item/selectable_item/attack_self(mob/user as mob) tgui_alert(user, {"[preface_string]"}, preface_title) - var/chosen_item = tgui_input_list(usr, selection_string, selection_title, item_options) + var/chosen_item = tgui_input_list(user, selection_string, selection_title, item_options) chosen_item = item_options[chosen_item] if(!QDELETED(src) && chosen_item) user.drop_item() @@ -34,15 +34,15 @@ desc = "A pre-arranged home chemistry kit. This one is for rather specific set of size-altering chemicals." preface_string = "This kit can be used to create a vial of a size-altering chemical, but there's only enough material for one." preface_title = "Size Chemistry Kit" - item_options = list("Macrocillin" = /obj/item/weapon/reagent_containers/glass/beaker/vial/macrocillin, - "Microcillin" = /obj/item/weapon/reagent_containers/glass/beaker/vial/microcillin, - "Normalcillin" = /obj/item/weapon/reagent_containers/glass/beaker/vial/normalcillin) + item_options = list("Macrocillin" = /obj/item/reagent_containers/glass/beaker/vial/macrocillin, + "Microcillin" = /obj/item/reagent_containers/glass/beaker/vial/microcillin, + "Normalcillin" = /obj/item/reagent_containers/glass/beaker/vial/normalcillin) /obj/item/selectable_item/chemistrykit/gender name = "gender chemistry kit" desc = "A pre-arranged home chemistry kit. This one is for rather specific set of gender-altering chemicals." preface_string = "This kit can be used to create a vial of a gender-altering chemical, but there's only enough material for one." preface_title = "Gender Chemistry Kit" - item_options = list("Androrovir" = /obj/item/weapon/reagent_containers/glass/beaker/vial/androrovir, - "Gynorovir" = /obj/item/weapon/reagent_containers/glass/beaker/vial/gynorovir, - "Androgynorovir" = /obj/item/weapon/reagent_containers/glass/beaker/vial/androgynorovir) \ No newline at end of file + item_options = list("Androrovir" = /obj/item/reagent_containers/glass/beaker/vial/androrovir, + "Gynorovir" = /obj/item/reagent_containers/glass/beaker/vial/gynorovir, + "Androgynorovir" = /obj/item/reagent_containers/glass/beaker/vial/androgynorovir) diff --git a/code/game/objects/items/shooting_range.dm b/code/game/objects/items/shooting_range.dm index 53ea1523855..66f3ce09d19 100644 --- a/code/game/objects/items/shooting_range.dm +++ b/code/game/objects/items/shooting_range.dm @@ -34,10 +34,10 @@ /obj/item/target/attackby(obj/item/W as obj, mob/user as mob) if (W.has_tool_quality(TOOL_WELDER)) - var/obj/item/weapon/weldingtool/WT = W.get_welder() + var/obj/item/weldingtool/WT = W.get_welder() if(WT.remove_fuel(0, user)) cut_overlays() - to_chat(usr, "You slice off [src]'s uneven chunks of aluminum and scorch marks.") + to_chat(user, "You slice off [src]'s uneven chunks of aluminum and scorch marks.") return @@ -96,7 +96,7 @@ if(hp <= 0) for(var/mob/O in oviewers()) if ((O.client && !( O.blinded ))) - to_chat(O, "\The [src] breaks into tiny pieces and collapses!") + to_chat(O, span_warning("\The [src] breaks into tiny pieces and collapses!")) qdel(src) // Create a temporary object to represent the damage diff --git a/code/game/objects/items/stacks/marker_beacons.dm b/code/game/objects/items/stacks/marker_beacons.dm index bbedcc22559..72c7ee679fc 100644 --- a/code/game/objects/items/stacks/marker_beacons.dm +++ b/code/game/objects/items/stacks/marker_beacons.dm @@ -43,28 +43,28 @@ var/list/marker_beacon_colors = list( /obj/item/stack/marker_beacon/examine(mob/user) . = ..() - . += "Use in-hand to place a [singular_name]." - . += "Alt-click to select a color. Current color is [picked_color]." + . += span_notice("Use in-hand to place a [singular_name].") + . += span_notice("Alt-click to select a color. Current color is [picked_color].") /obj/item/stack/marker_beacon/update_icon() icon_state = "[initial(icon_state)][lowertext(picked_color)]" /obj/item/stack/marker_beacon/attack_self(mob/user) if(!isturf(user.loc)) - to_chat(user, "You need more space to place a [singular_name] here.") + to_chat(user, span_warning("You need more space to place a [singular_name] here.")) return if(locate(/obj/structure/marker_beacon) in user.loc) - to_chat(user, "There is already a [singular_name] here.") + to_chat(user, span_warning("There is already a [singular_name] here.")) return if(use(1)) - to_chat(user, "You activate and anchor [amount ? "a":"the"] [singular_name] in place.") + to_chat(user, span_notice("You activate and anchor [amount ? "a":"the"] [singular_name] in place.")) playsound(src, 'sound/machines/click.ogg', 50, 1) var/obj/structure/marker_beacon/M = new(user.loc, picked_color) transfer_fingerprints_to(M) /obj/item/stack/marker_beacon/AltClick(mob/living/user) if(user.incapacitated() || !istype(user)) - to_chat(user, "You can't do that right now!") + to_chat(user, span_warning("You can't do that right now!")) return if(!in_range(src, user)) return @@ -100,7 +100,7 @@ var/list/marker_beacon_colors = list( /obj/structure/marker_beacon/examine(mob/user) . = ..() if(!perma) - . += "Alt-click to select a color. Current color is [picked_color]." + . += span_notice("Alt-click to select a color. Current color is [picked_color].") /obj/structure/marker_beacon/update_icon() if(!picked_color || !marker_beacon_colors[picked_color]) @@ -111,7 +111,7 @@ var/list/marker_beacon_colors = list( /obj/structure/marker_beacon/attack_hand(mob/living/user) if(perma) return - to_chat(user, "You start picking [src] up...") + to_chat(user, span_notice("You start picking [src] up...")) if(do_after(user, remove_speed, target = src)) var/obj/item/stack/marker_beacon/M = new(loc) M.picked_color = picked_color @@ -126,7 +126,7 @@ var/list/marker_beacon_colors = list( return if(istype(I, /obj/item/stack/marker_beacon)) var/obj/item/stack/marker_beacon/M = I - to_chat(user, "You start picking [src] up...") + to_chat(user, span_notice("You start picking [src] up...")) if(do_after(user, remove_speed, target = src) && M.get_amount() + 1 <= M.max_amount) M.add(1) playsound(src, 'sound/items/deconstruct.ogg', 50, 1) @@ -139,7 +139,7 @@ var/list/marker_beacon_colors = list( if(perma) return if(user.incapacitated() || !istype(user)) - to_chat(user, "You can't do that right now!") + to_chat(user, span_warning("You can't do that right now!")) return if(!in_range(src, user)) return diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index 5b4a5c9d5ff..4d7265f2339 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -17,16 +17,16 @@ /obj/item/stack/medical/attack(mob/living/carbon/M as mob, mob/user as mob) if (!istype(M)) - to_chat(user, "\The [src] cannot be applied to [M]!") + to_chat(user, span_warning("\The [src] cannot be applied to [M]!")) return 1 if (!user.IsAdvancedToolUser()) - to_chat(user, "You don't have the dexterity to do this!") + to_chat(user, span_warning("You don't have the dexterity to do this!")) return 1 var/available = get_amount() if(!available) - to_chat(user, "There's not enough [uses_charge ? "charge" : "items"] left to use that!") + to_chat(user, span_warning("There's not enough [uses_charge ? "charge" : "items"] left to use that!")) return 1 if (istype(M, /mob/living/carbon/human)) @@ -34,24 +34,24 @@ var/obj/item/organ/external/affecting = H.get_organ(user.zone_sel.selecting) if(!affecting) - to_chat(user, "No body part there to work on!") + to_chat(user, span_warning("No body part there to work on!")) return 1 if(affecting.organ_tag == BP_HEAD) if(H.head && istype(H.head,/obj/item/clothing/head/helmet/space)) - to_chat(user, "You can't apply [src] through [H.head]!") + to_chat(user, span_warning("You can't apply [src] through [H.head]!")) return 1 else if(H.wear_suit && istype(H.wear_suit,/obj/item/clothing/suit/space)) - to_chat(user, "You can't apply [src] through [H.wear_suit]!") + to_chat(user, span_warning("You can't apply [src] through [H.wear_suit]!")) return 1 if(affecting.robotic == ORGAN_ROBOT) - to_chat(user, "This isn't useful at all on a robotic limb.") + to_chat(user, span_warning("This isn't useful at all on a robotic limb.")) return 1 if(affecting.robotic >= ORGAN_LIFELIKE) - to_chat(user, "You apply the [src], but it seems to have no effect...") + to_chat(user, span_warning("You apply the [src], but it seems to have no effect...")) use(1) return 1 @@ -61,8 +61,8 @@ M.heal_organ_damage((src.heal_brute/2), (src.heal_burn/2)) user.visible_message( \ - "[M] has been applied with [src] by [user].", \ - "You apply \the [src] to [M]." \ + span_notice("[M] has been applied with [src] by [user]."), \ + span_notice("You apply \the [src] to [M].") \ ) use(1) @@ -99,16 +99,16 @@ var/obj/item/organ/external/affecting = H.get_organ(user.zone_sel.selecting) if(affecting.open) - to_chat(user, "The [affecting.name] is cut open, you'll need more than a bandage!") + to_chat(user, span_notice("The [affecting.name] is cut open, you'll need more than a bandage!")) return if(affecting.is_bandaged()) - to_chat(user, "The wounds on [M]'s [affecting.name] have already been bandaged.") + to_chat(user, span_warning("The wounds on [M]'s [affecting.name] have already been bandaged.")) return 1 else var/available = get_amount() - user.visible_message("\The [user] starts bandaging [M]'s [affecting.name].", \ - "You start bandaging [M]'s [affecting.name]." ) + user.visible_message(span_infoplain(span_bold("\The [user]") + " starts bandaging [M]'s [affecting.name]."), \ + span_notice("You start bandaging [M]'s [affecting.name].")) var/used = 0 for (var/datum/wound/W in affecting.wounds) if(W.internal) @@ -118,32 +118,32 @@ if(used == amount) break if(!do_mob(user, M, W.damage/3, exclusive = TRUE)) - to_chat(user, "You must stand still to bandage wounds.") + to_chat(user, span_notice("You must stand still to bandage wounds.")) break if(affecting.is_bandaged()) // We do a second check after the delay, in case it was bandaged after the first check. - to_chat(user, "The wounds on [M]'s [affecting.name] have already been bandaged.") + to_chat(user, span_warning("The wounds on [M]'s [affecting.name] have already been bandaged.")) return 1 if(used >= available) - to_chat(user, "You run out of [src]!") + to_chat(user, span_warning("You run out of [src]!")) break if (W.current_stage <= W.max_bleeding_stage) - user.visible_message("\The [user] bandages \a [W.desc] on [M]'s [affecting.name].", \ - "You bandage \a [W.desc] on [M]'s [affecting.name]." ) + user.visible_message(span_infoplain(span_bold("\The [user]") + " bandages \a [W.desc] on [M]'s [affecting.name]."), \ + span_notice("You bandage \a [W.desc] on [M]'s [affecting.name].")) else - user.visible_message("\The [user] places a bandage over \a [W.desc] on [M]'s [affecting.name].", \ - "You place a bandage over \a [W.desc] on [M]'s [affecting.name]." ) + user.visible_message(span_infoplain(span_bold("\The [user]") + " places a bandage over \a [W.desc] on [M]'s [affecting.name]."), \ + span_notice("You place a bandage over \a [W.desc] on [M]'s [affecting.name].")) W.bandage() playsound(src, pick(apply_sounds), 25) used++ affecting.update_damages() if(used == amount) if(affecting.is_bandaged()) - to_chat(user, "\The [src] is used up.") + to_chat(user, span_warning("\The [src] is used up.")) else - to_chat(user, "\The [src] is used up, but there are more wounds to treat on \the [affecting.name].") + to_chat(user, span_warning("\The [src] is used up, but there are more wounds to treat on \the [affecting.name].")) use(used) /obj/item/stack/medical/bruise_pack @@ -168,16 +168,16 @@ var/obj/item/organ/external/affecting = H.get_organ(user.zone_sel.selecting) if(affecting.open) - to_chat(user, "The [affecting.name] is cut open, you'll need more than a bandage!") + to_chat(user, span_notice("The [affecting.name] is cut open, you'll need more than a bandage!")) return if(affecting.is_bandaged()) - to_chat(user, "The wounds on [M]'s [affecting.name] have already been bandaged.") + to_chat(user, span_warning("The wounds on [M]'s [affecting.name] have already been bandaged.")) return 1 else var/available = get_amount() - user.visible_message("\The [user] starts treating [M]'s [affecting.name].", \ - "You start treating [M]'s [affecting.name]." ) + user.visible_message(span_infoplain(span_bold("\The [user]") + " starts treating [M]'s [affecting.name]."), \ + span_notice("You start treating [M]'s [affecting.name].")) var/used = 0 for (var/datum/wound/W in affecting.wounds) if (W.internal) @@ -187,27 +187,27 @@ if(used == amount) break if(!do_mob(user, M, W.damage/5, exclusive = TRUE)) - to_chat(user, "You must stand still to bandage wounds.") + to_chat(user, span_notice("You must stand still to bandage wounds.")) break if(affecting.is_bandaged()) // We do a second check after the delay, in case it was bandaged after the first check. - to_chat(user, "The wounds on [M]'s [affecting.name] have already been bandaged.") + to_chat(user, span_warning("The wounds on [M]'s [affecting.name] have already been bandaged.")) return 1 if(used >= available) - to_chat(user, "You run out of [src]!") + to_chat(user, span_warning("You run out of [src]!")) break if (W.current_stage <= W.max_bleeding_stage) - user.visible_message("\The [user] bandages \a [W.desc] on [M]'s [affecting.name].", \ - "You bandage \a [W.desc] on [M]'s [affecting.name]." ) + user.visible_message(span_infoplain(span_bold("\The [user]") + " bandages \a [W.desc] on [M]'s [affecting.name]."), \ + span_notice("You bandage \a [W.desc] on [M]'s [affecting.name].")) //H.add_side_effect("Itch") else if (W.damage_type == BRUISE) - user.visible_message("\The [user] places a bruise patch over \a [W.desc] on [M]'s [affecting.name].", \ - "You place a bruise patch over \a [W.desc] on [M]'s [affecting.name]." ) + user.visible_message(span_infoplain(span_bold("\The [user]") + " places a bruise patch over \a [W.desc] on [M]'s [affecting.name]."), \ + span_notice("You place a bruise patch over \a [W.desc] on [M]'s [affecting.name].")) else - user.visible_message("\The [user] places a bandaid over \a [W.desc] on [M]'s [affecting.name].", \ - "You place a bandaid over \a [W.desc] on [M]'s [affecting.name]." ) + user.visible_message(span_infoplain(span_bold("\The [user]") + " places a bandaid over \a [W.desc] on [M]'s [affecting.name]."), \ + span_notice("You place a bandaid over \a [W.desc] on [M]'s [affecting.name].")) W.bandage() // W.disinfect() // VOREStation - Tech1 should not disinfect playsound(src, pick(apply_sounds), 25) @@ -215,9 +215,9 @@ affecting.update_damages() if(used == amount) if(affecting.is_bandaged()) - to_chat(user, "\The [src] is used up.") + to_chat(user, span_warning("\The [src] is used up.")) else - to_chat(user, "\The [src] is used up, but there are more wounds to treat on \the [affecting.name].") + to_chat(user, span_warning("\The [src] is used up, but there are more wounds to treat on \the [affecting.name].")) use(used) /obj/item/stack/medical/ointment @@ -242,23 +242,23 @@ var/obj/item/organ/external/affecting = H.get_organ(user.zone_sel.selecting) if(affecting.open) - to_chat(user, "The [affecting.name] is cut open, you'll need more than a bandage!") + to_chat(user, span_notice("The [affecting.name] is cut open, you'll need more than a bandage!")) return if(affecting.is_salved()) - to_chat(user, "The wounds on [M]'s [affecting.name] have already been salved.") + to_chat(user, span_warning("The wounds on [M]'s [affecting.name] have already been salved.")) return 1 else - user.visible_message("\The [user] starts salving wounds on [M]'s [affecting.name].", \ - "You start salving the wounds on [M]'s [affecting.name]." ) + user.visible_message(span_infoplain(span_bold("\The [user]") + " starts salving wounds on [M]'s [affecting.name]."), \ + span_notice("You start salving the wounds on [M]'s [affecting.name].") ) if(!do_mob(user, M, 10, exclusive = TRUE)) - to_chat(user, "You must stand still to salve wounds.") + to_chat(user, span_notice("You must stand still to salve wounds.")) return 1 if(affecting.is_salved()) // We do a second check after the delay, in case it was bandaged after the first check. - to_chat(user, "The wounds on [M]'s [affecting.name] have already been salved.") + to_chat(user, span_warning("The wounds on [M]'s [affecting.name] have already been salved.")) return 1 - user.visible_message("[user] salved wounds on [M]'s [affecting.name].", \ - "You salved wounds on [M]'s [affecting.name]." ) + user.visible_message(span_notice("[user] salved wounds on [M]'s [affecting.name]."), \ + span_notice("You salved wounds on [M]'s [affecting.name].") ) use(1) affecting.salve() playsound(src, pick(apply_sounds), 25) @@ -287,16 +287,16 @@ var/obj/item/organ/external/affecting = H.get_organ(user.zone_sel.selecting) if(affecting.open) - to_chat(user, "The [affecting.name] is cut open, you'll need more than a bandage!") + to_chat(user, span_notice("The [affecting.name] is cut open, you'll need more than a bandage!")) return if(affecting.is_bandaged() && affecting.is_disinfected()) - to_chat(user, "The wounds on [M]'s [affecting.name] have already been treated.") + to_chat(user, span_warning("The wounds on [M]'s [affecting.name] have already been treated.")) return 1 else var/available = get_amount() - user.visible_message("\The [user] starts treating [M]'s [affecting.name].", \ - "You start treating [M]'s [affecting.name]." ) + user.visible_message(span_infoplain(span_bold("\The [user]") + " starts treating [M]'s [affecting.name]."), \ + span_notice("You start treating [M]'s [affecting.name].") ) var/used = 0 for (var/datum/wound/W in affecting.wounds) if (W.internal) @@ -306,25 +306,25 @@ //if(used == amount) //VOREStation Edit // break //VOREStation Edit if(!do_mob(user, M, W.damage/5, exclusive = TRUE)) - to_chat(user, "You must stand still to bandage wounds.") + to_chat(user, span_notice("You must stand still to bandage wounds.")) break if(affecting.is_bandaged() && affecting.is_disinfected()) // We do a second check after the delay, in case it was bandaged after the first check. - to_chat(user, "The wounds on [M]'s [affecting.name] have already been bandaged.") + to_chat(user, span_warning("The wounds on [M]'s [affecting.name] have already been bandaged.")) return 1 if(used >= available) - to_chat(user, "You run out of [src]!") + to_chat(user, span_warning("You run out of [src]!")) break if (W.current_stage <= W.max_bleeding_stage) - user.visible_message("\The [user] cleans \a [W.desc] on [M]'s [affecting.name] and seals the edges with bioglue.", \ - "You clean and seal \a [W.desc] on [M]'s [affecting.name]." ) + user.visible_message(span_infoplain(span_bold("\The [user]") + " cleans \a [W.desc] on [M]'s [affecting.name] and seals the edges with bioglue."), \ + span_notice("You clean and seal \a [W.desc] on [M]'s [affecting.name].") ) else if (W.damage_type == BRUISE) - user.visible_message("\The [user] places a medical patch over \a [W.desc] on [M]'s [affecting.name].", \ - "You place a medical patch over \a [W.desc] on [M]'s [affecting.name]." ) + user.visible_message(span_infoplain(span_bold("\The [user]") + " places a medical patch over \a [W.desc] on [M]'s [affecting.name]."), \ + span_notice("You place a medical patch over \a [W.desc] on [M]'s [affecting.name].") ) else - user.visible_message("\The [user] smears some bioglue over \a [W.desc] on [M]'s [affecting.name].", \ - "You smear some bioglue over \a [W.desc] on [M]'s [affecting.name]." ) + user.visible_message(span_infoplain(span_bold("\The [user]") + " smears some bioglue over \a [W.desc] on [M]'s [affecting.name]."), \ + span_notice("You smear some bioglue over \a [W.desc] on [M]'s [affecting.name].") ) W.bandage() W.disinfect() W.heal_damage(heal_brute) @@ -334,9 +334,9 @@ affecting.update_damages() if(used == amount) if(affecting.is_bandaged()) - to_chat(user, "\The [src] is used up.") + to_chat(user, span_warning("\The [src] is used up.")) else - to_chat(user, "\The [src] is used up, but there are more wounds to treat on \the [affecting.name].") + to_chat(user, span_warning("\The [src] is used up, but there are more wounds to treat on \the [affecting.name].")) use(used) /obj/item/stack/medical/advanced/ointment @@ -357,22 +357,22 @@ var/obj/item/organ/external/affecting = H.get_organ(user.zone_sel.selecting) if(affecting.open) - to_chat(user, "The [affecting.name] is cut open, you'll need more than a bandage!") + to_chat(user, span_notice("The [affecting.name] is cut open, you'll need more than a bandage!")) if(affecting.is_salved()) - to_chat(user, "The wounds on [M]'s [affecting.name] have already been salved.") + to_chat(user, span_warning("The wounds on [M]'s [affecting.name] have already been salved.")) return 1 else - user.visible_message("\The [user] starts salving wounds on [M]'s [affecting.name].", \ - "You start salving the wounds on [M]'s [affecting.name]." ) + user.visible_message(span_infoplain(span_bold("\The [user]") + " starts salving wounds on [M]'s [affecting.name]."), \ + span_notice("You start salving the wounds on [M]'s [affecting.name].") ) if(!do_mob(user, M, 10, exclusive = TRUE)) - to_chat(user, "You must stand still to salve wounds.") + to_chat(user, span_notice("You must stand still to salve wounds.")) return 1 if(affecting.is_salved()) // We do a second check after the delay, in case it was bandaged after the first check. - to_chat(user, "The wounds on [M]'s [affecting.name] have already been salved.") + to_chat(user, span_warning("The wounds on [M]'s [affecting.name] have already been salved.")) return 1 - user.visible_message( "[user] covers wounds on [M]'s [affecting.name] with regenerative membrane.", \ - "You cover wounds on [M]'s [affecting.name] with regenerative membrane." ) + user.visible_message( span_notice("[user] covers wounds on [M]'s [affecting.name] with regenerative membrane."), \ + span_notice("You cover wounds on [M]'s [affecting.name] with regenerative membrane.") ) affecting.heal_damage(0,heal_burn) use(1) affecting.salve() @@ -400,25 +400,25 @@ var/obj/item/organ/external/affecting = H.get_organ(user.zone_sel.selecting) var/limb = affecting.name if(!(affecting.organ_tag in splintable_organs)) - to_chat(user, "You can't use \the [src] to apply a splint there!") + to_chat(user, span_danger("You can't use \the [src] to apply a splint there!")) return if(affecting.splinted) - to_chat(user, "[M]'s [limb] is already splinted!") + to_chat(user, span_danger("[M]'s [limb] is already splinted!")) return if (M != user) - user.visible_message("[user] starts to apply \the [src] to [M]'s [limb].", "You start to apply \the [src] to [M]'s [limb].", "You hear something being wrapped.") + user.visible_message(span_danger("[user] starts to apply \the [src] to [M]'s [limb]."), span_danger("You start to apply \the [src] to [M]'s [limb]."), span_danger("You hear something being wrapped.")) else if(( !user.hand && (affecting.organ_tag in list(BP_R_ARM, BP_R_HAND)) || \ user.hand && (affecting.organ_tag in list(BP_L_ARM, BP_L_HAND)) )) - to_chat(user, "You can't apply a splint to the arm you're using!") + to_chat(user, span_danger("You can't apply a splint to the arm you're using!")) return - user.visible_message("[user] starts to apply \the [src] to their [limb].", "You start to apply \the [src] to your [limb].", "You hear something being wrapped.") + user.visible_message(span_danger("[user] starts to apply \the [src] to their [limb]."), span_danger("You start to apply \the [src] to your [limb]."), span_danger("You hear something being wrapped.")) if(do_after(user, 50, M, exclusive = TASK_USER_EXCLUSIVE)) if(affecting.splinted) - to_chat(user, "[M]'s [limb] is already splinted!") + to_chat(user, span_danger("[M]'s [limb] is already splinted!")) return if(M == user && prob(75)) - user.visible_message("\The [user] fumbles [src].", "You fumble [src].", "You hear something being wrapped.") + user.visible_message(span_danger("\The [user] fumbles [src]."), span_danger("You fumble [src]."), span_danger("You hear something being wrapped.")) return if(ishuman(user)) var/obj/item/stack/medical/splint/S = split(1) @@ -426,9 +426,9 @@ if(affecting.apply_splint(S)) S.forceMove(affecting) if (M != user) - user.visible_message("\The [user] finishes applying [src] to [M]'s [limb].", "You finish applying \the [src] to [M]'s [limb].", "You hear something being wrapped.") + user.visible_message(span_danger("\The [user] finishes applying [src] to [M]'s [limb]."), span_danger("You finish applying \the [src] to [M]'s [limb]."), span_danger("You hear something being wrapped.")) else - user.visible_message("\The [user] successfully applies [src] to their [limb].", "You successfully apply \the [src] to your [limb].", "You hear something being wrapped.") + user.visible_message(span_danger("\The [user] successfully applies [src] to their [limb]."), span_danger("You successfully apply \the [src] to your [limb]."), span_danger("You hear something being wrapped.")) return S.dropInto(src.loc) //didn't get applied, so just drop it if(isrobot(user)) @@ -436,10 +436,10 @@ if(B) if(affecting.apply_splint(B)) B.forceMove(affecting) - user.visible_message("\The [user] finishes applying [src] to [M]'s [limb].", "You finish applying \the [src] to [M]'s [limb].", "You hear something being wrapped.") + user.visible_message(span_danger("\The [user] finishes applying [src] to [M]'s [limb]."), span_danger("You finish applying \the [src] to [M]'s [limb]."), span_danger("You hear something being wrapped.")) B.use(1) return - user.visible_message("\The [user] fails to apply [src].", "You fail to apply [src].", "You hear something being wrapped.") + user.visible_message(span_danger("\The [user] fails to apply [src]."), span_danger("You fail to apply [src]."), span_danger("You hear something being wrapped.")) return diff --git a/code/game/objects/items/stacks/medical_vr.dm b/code/game/objects/items/stacks/medical_vr.dm index 9ba54cea331..3cc7e2254c4 100644 --- a/code/game/objects/items/stacks/medical_vr.dm +++ b/code/game/objects/items/stacks/medical_vr.dm @@ -49,7 +49,7 @@ if(affecting.open) too_far_gone++ continue - + for(var/datum/wound/W as anything in affecting.wounds) // No need if(W.bandaged) @@ -61,9 +61,9 @@ clotted++ W.bandage() - var/healmessage = "You spray [src] onto [H], sealing [clotted ? clotted : "no"] wounds." + var/healmessage = span_notice("You spray [src] onto [H], sealing [clotted ? clotted : "no"] wounds.") if(too_far_gone) - healmessage += " You can see some wounds that are too large where the spray is not taking effect." + healmessage += " " + span_warning("You can see some wounds that are too large where the spray is not taking effect.") to_chat(user, healmessage) use(1) @@ -71,4 +71,4 @@ update_icon() /obj/item/stack/medical/advanced/clotting/update_icon() - icon_state = "[initial(icon_state)]_[amount]" \ No newline at end of file + icon_state = "[initial(icon_state)]_[amount]" diff --git a/code/game/objects/items/stacks/nanopaste.dm b/code/game/objects/items/stacks/nanopaste.dm index ba5db2b33b2..8267de0047c 100644 --- a/code/game/objects/items/stacks/nanopaste.dm +++ b/code/game/objects/items/stacks/nanopaste.dm @@ -21,33 +21,33 @@ R.adjustFireLoss(-15) R.updatehealth() use(1) - user.visible_message("\The [user] applied some [src] on [R]'s damaged areas.",\ - "You apply some [src] at [R]'s damaged areas.") + user.visible_message(span_notice("\The [user] applied some [src] on [R]'s damaged areas."),\ + span_notice("You apply some [src] at [R]'s damaged areas.")) else - to_chat(user, "All [R]'s systems are nominal.") + to_chat(user, span_notice("All [R]'s systems are nominal.")) if (istype(M,/mob/living/carbon/human)) //Repairing robolimbs var/mob/living/carbon/human/H = M var/obj/item/organ/external/S = H.get_organ(user.zone_sel.selecting) if(!S) - to_chat(user, "No body part there to work on!") + to_chat(user, span_warning("No body part there to work on!")) return 1 if(S.organ_tag == BP_HEAD) if(H.head && istype(H.head,/obj/item/clothing/head/helmet/space)) - to_chat(user, "You can't apply [src] through [H.head]!") + to_chat(user, span_warning("You can't apply [src] through [H.head]!")) return 1 else if(H.wear_suit && istype(H.wear_suit,/obj/item/clothing/suit/space)) - to_chat(user, "You can't apply [src] through [H.wear_suit]!") + to_chat(user, span_warning("You can't apply [src] through [H.wear_suit]!")) return 1 //VOREStation Edit Start if (S && (S.robotic >= ORGAN_ROBOT)) if(!S.get_damage()) - to_chat(user, "Nothing to fix here.") + to_chat(user, span_notice("Nothing to fix here.")) else if((S.open < 2) && (S.brute_dam + S.burn_dam >= S.min_broken_damage) && !repair_external) - to_chat(user, "The damage is too extensive for this nanite swarm to handle.") + to_chat(user, span_notice("The damage is too extensive for this nanite swarm to handle.")) else if(can_use(1)) user.setClickCooldown(user.get_attack_speed(src)) if(S.open >= 2) @@ -57,6 +57,6 @@ S.heal_damage(restoration_external,restoration_external, robo_repair =1) H.updatehealth() use(1) - user.visible_message("\The [user] applies some nanite paste on [user != M ? "[M]'s [S.name]" : "[S]"] with [src].",\ - "You apply some nanite paste on [user == M ? "your" : "[M]'s"] [S.name].") + user.visible_message(span_notice("\The [user] applies some nanite paste on [user != M ? "[M]'s [S.name]" : "[S]"] with [src]."),\ + span_notice("You apply some nanite paste on [user == M ? "your" : "[M]'s"] [S.name].")) //VOREStation Edit End diff --git a/code/game/objects/items/stacks/sandbags.dm b/code/game/objects/items/stacks/sandbags.dm index 6eff93bfc5f..48f7a8341ee 100644 --- a/code/game/objects/items/stacks/sandbags.dm +++ b/code/game/objects/items/stacks/sandbags.dm @@ -57,21 +57,21 @@ var/global/list/datum/stack_recipe/sandbag_recipes = list( \ if (!can_use(required)) if (produced>1) - to_chat(user, "You haven't got enough [src] to build \the [produced] [recipe.title]\s!") + to_chat(user, span_warning("You haven't got enough [src] to build \the [produced] [recipe.title]\s!")) else - to_chat(user, "You haven't got enough [src] to build \the [recipe.title]!") + to_chat(user, span_warning("You haven't got enough [src] to build \the [recipe.title]!")) return if (recipe.one_per_turf && (locate(recipe.result_type) in user.loc)) - to_chat(user, "There is another [recipe.title] here!") + to_chat(user, span_warning("There is another [recipe.title] here!")) return if (recipe.on_floor && !isfloor(user.loc)) - to_chat(user, "\The [recipe.title] must be constructed on the floor!") + to_chat(user, span_warning("\The [recipe.title] must be constructed on the floor!")) return if (recipe.time) - to_chat(user, "Building [recipe.title] ...") + to_chat(user, span_notice("Building [recipe.title] ...")) if (!do_after(user, recipe.time)) return @@ -99,7 +99,7 @@ var/global/list/datum/stack_recipe/sandbag_recipes = list( \ S.amount = produced S.add_to_stacks(user) - if (istype(O, /obj/item/weapon/storage)) //BubbleWrap - so newly formed boxes are empty + if (istype(O, /obj/item/storage)) //BubbleWrap - so newly formed boxes are empty for (var/obj/item/I in O) qdel(I) @@ -147,4 +147,4 @@ var/global/list/datum/stack_recipe/sandbag_recipes = list( \ var/obj/item/stack/sandbags/SB = new (get_turf(src), 1, bag_material) SB.color = color if(user) - to_chat(user, "You fill a sandbag.") + to_chat(user, span_notice("You fill a sandbag.")) diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index ad0ad6922d2..1e3443524f0 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -137,7 +137,7 @@ var/multiplier = text2num(params["multiplier"]) if(!multiplier || (multiplier <= 0)) //href exploit protection return - produce_recipe(R, multiplier, usr) + produce_recipe(R, multiplier, ui.user) return TRUE /obj/item/stack/proc/is_valid_recipe(datum/stack_recipe/R, list/recipe_list) @@ -157,21 +157,21 @@ if (!can_use(required)) if (produced>1) - to_chat(user, "You haven't got enough [src] to build \the [produced] [recipe.title]\s!") + to_chat(user, span_warning("You haven't got enough [src] to build \the [produced] [recipe.title]\s!")) else - to_chat(user, "You haven't got enough [src] to build \the [recipe.title]!") + to_chat(user, span_warning("You haven't got enough [src] to build \the [recipe.title]!")) return if (recipe.one_per_turf && (locate(recipe.result_type) in user.loc)) - to_chat(user, "There is another [recipe.title] here!") + to_chat(user, span_warning("There is another [recipe.title] here!")) return if (recipe.on_floor && !isfloor(user.loc)) - to_chat(user, "\The [recipe.title] must be constructed on the floor!") + to_chat(user, span_warning("\The [recipe.title] must be constructed on the floor!")) return if (recipe.time) - to_chat(user, "Building [recipe.title] ...") + to_chat(user, span_notice("Building [recipe.title] ...")) if (!do_after(user, recipe.time)) return @@ -222,7 +222,7 @@ S.amount = produced S.add_to_stacks(user) - if (istype(O, /obj/item/weapon/storage)) //BubbleWrap - so newly formed boxes are empty + if (istype(O, /obj/item/storage)) //BubbleWrap - so newly formed boxes are empty for (var/obj/item/I in O) qdel(I) @@ -396,15 +396,15 @@ continue var/transfer = src.transfer_to(item) if (transfer) - to_chat(user, "You add a new [item.singular_name] to the stack. It now contains [item.amount] [item.singular_name]\s.") + to_chat(user, span_notice("You add a new [item.singular_name] to the stack. It now contains [item.amount] [item.singular_name]\s.")) if(!amount) break /obj/item/stack/attack_hand(mob/user as mob) if (user.get_inactive_hand() == src) - var/N = tgui_input_number(usr, "How many stacks of [src] would you like to split off? There are currently [amount].", "Split stacks", 1, amount, 1) + var/N = tgui_input_number(user, "How many stacks of [src] would you like to split off? There are currently [amount].", "Split stacks", 1, amount, 1) if(N != round(N)) - to_chat(user, "You cannot separate a non-whole number of stacks!") + to_chat(user, span_warning("You cannot separate a non-whole number of stacks!")) return if(N) var/obj/item/stack/F = src.split(N) @@ -413,8 +413,8 @@ src.add_fingerprint(user) F.add_fingerprint(user) spawn(0) - if (src && usr.machine==src) - src.interact(usr) + if (src && user.machine==src) + src.interact(user) else ..() return @@ -425,10 +425,10 @@ src.transfer_to(S) spawn(0) //give the stacks a chance to delete themselves if necessary - if (S && usr.machine==S) - S.interact(usr) - if (src && usr.machine==src) - src.interact(usr) + if (S && user.machine==S) + S.interact(user) + if (src && user.machine==src) + src.interact(user) else return ..() diff --git a/code/game/objects/items/stacks/telecrystal.dm b/code/game/objects/items/stacks/telecrystal.dm index 0a6d47b3c02..a7e73890dd8 100644 --- a/code/game/objects/items/stacks/telecrystal.dm +++ b/code/game/objects/items/stacks/telecrystal.dm @@ -12,15 +12,15 @@ /obj/item/stack/telecrystal/apply_hit_effect(mob/living/target, mob/living/user, var/hit_zone) if(amount >= 5) - target.visible_message("\The [target] has been transported with \the [src] by \the [user].") + target.visible_message(span_warning("\The [target] has been transported with \the [src] by \the [user].")) safe_blink(target, 14) use(5) else - to_chat(user, "There are not enough telecrystals to do that.") + to_chat(user, span_warning("There are not enough telecrystals to do that.")) /obj/item/stack/telecrystal/attack_self(mob/user as mob) if(user.mind.accept_tcrystals) //Checks to see if antag type allows for tcrystals - to_chat(user, "You use \the [src], adding [src.amount] to your balance.") + to_chat(user, span_notice("You use \the [src], adding [src.amount] to your balance.")) user.mind.tcrystals += amount use(amount) - return \ No newline at end of file + return diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm index 7e79b440ba6..65ee1e6e0bf 100644 --- a/code/game/objects/items/stacks/tiles/tile_types.dm +++ b/code/game/objects/items/stacks/tiles/tile_types.dm @@ -42,20 +42,20 @@ /obj/item/stack/tile/attackby(obj/item/W as obj, mob/user as mob) if (W.has_tool_quality(TOOL_WELDER)) - var/obj/item/weapon/weldingtool/WT = W.get_welder() + var/obj/item/weldingtool/WT = W.get_welder() if(can_weld == FALSE) - to_chat("You can't reform these into their original components.") + to_chat(user, "You can't reform these into their original components.") return if(get_amount() < 4) - to_chat(user, "You need at least four tiles to do this.") + to_chat(user, span_warning("You need at least four tiles to do this.")) return if(WT.remove_fuel(0,user)) - new welds_into(usr.loc) - usr.update_icon() - visible_message("\The [src] is shaped by [user.name] with the welding tool.","You hear welding.") + new welds_into(user.loc) + user.update_icon() + visible_message(span_notice("\The [src] is shaped by [user.name] with the welding tool."),"You hear welding.") var/obj/item/stack/tile/T = src src = null var/replace = (user.get_inactive_hand()==T) diff --git a/code/game/objects/items/tailoring.dm b/code/game/objects/items/tailoring.dm index 4dc359ba333..06aa6c64b12 100644 --- a/code/game/objects/items/tailoring.dm +++ b/code/game/objects/items/tailoring.dm @@ -1,6 +1,6 @@ // I like the idea of this item having more uses in future. -/obj/item/device/threadneedle +/obj/item/threadneedle name = "thread and needle" icon = 'icons/obj/items.dmi' icon_state = "needle_thread" diff --git a/code/game/objects/items/toys/mech_toys.dm b/code/game/objects/items/toys/mech_toys.dm index ecbefb74d2e..7fb8d8af50d 100644 --- a/code/game/objects/items/toys/mech_toys.dm +++ b/code/game/objects/items/toys/mech_toys.dm @@ -77,12 +77,12 @@ if(!attacker) // If there's no attacker, then attacker_controller IS the attacker. if(!in_range(src, attacker_controller)) - attacker_controller.visible_message("[attacker_controller] is running from [src]! The coward!") + attacker_controller.visible_message(span_suicide("[attacker_controller] is running from [src]! The coward!")) return FALSE else // If there's an attacker, we can procede as normal. if(!in_range(src, attacker)) // The two toys aren't next to each other, the battle ends. - attacker_controller.visible_message(" [attacker] and [src] separate, ending the battle. ", \ - " [attacker] and [src] separate, ending the battle. ") + attacker_controller.visible_message(span_notice(" [attacker] and [src] separate, ending the battle. "), \ + span_notice(" [attacker] and [src] separate, ending the battle. ")) return FALSE // Dead men tell no tales, incapacitated men fight no fights. @@ -90,8 +90,8 @@ return FALSE // If the attacker_controller isn't next to the attacking toy (and doesn't have telekinesis), the battle ends. if(!in_range(attacker, attacker_controller)) - attacker_controller.visible_message(" [attacker_controller.name] separates from [attacker], ending the battle.", \ - " You separate from [attacker], ending the battle. ") + attacker_controller.visible_message(span_notice("[attacker_controller.name] separates from [attacker], ending the battle."), \ + span_notice("You separate from [attacker], ending the battle. ")) return FALSE // If it's PVP and the opponent is not next to the defending(src) toy (and doesn't have telekinesis), the battle ends. @@ -99,14 +99,14 @@ if(opponent.incapacitated()) return FALSE if(!in_range(src, opponent)) - opponent.visible_message(" [opponent.name] separates from [src], ending the battle.", \ - " You separate from [src], ending the battle. ") + opponent.visible_message(span_notice(" [opponent.name] separates from [src], ending the battle."), \ + span_notice(" You separate from [src], ending the battle. ")) return FALSE // If it's not PVP and the attacker_controller isn't next to the defending toy (and doesn't have telekinesis), the battle ends. else if (!in_range(src, attacker_controller)) - attacker_controller.visible_message(" [attacker_controller.name] separates from [src] and [attacker], ending the battle.", \ - " You separate [attacker] and [src], ending the battle. ") + attacker_controller.visible_message(span_notice(" [attacker_controller.name] separates from [src] and [attacker], ending the battle."), \ + span_notice(" You separate [attacker] and [src], ending the battle. ")) return FALSE // If all that is good, then we can sleep peacefully. @@ -116,7 +116,7 @@ //all credit to skasi for toy mech fun ideas /obj/item/toy/mecha/attack_self(mob/user) if(timer < world.time) - to_chat(user, "You play with [src].") + to_chat(user, span_notice("You play with [src].")) timer = world.time + cooldown playsound(user, 'sound/mecha/mechstep.ogg', 20, TRUE) else @@ -144,11 +144,11 @@ */ /obj/item/toy/mecha/attack(mob/living/carbon/human/target, mob/living/carbon/human/user) if(target == user) - to_chat(user, "Target another toy mech if you want to start a battle with yourself.") + to_chat(user, span_notice("Target another toy mech if you want to start a battle with yourself.")) return else if(user.a_intent != I_HURT) if(wants_to_battle) //prevent spamming someone with offers - to_chat(user, "You already are offering battle to someone!") + to_chat(user, span_notice("You already are offering battle to someone!")) return if(!check_battle_start(user)) //if the user's mech isn't ready, don't bother checking return @@ -167,8 +167,8 @@ //extend the offer of battle to the other mech var/datum/gender/T = gender_datums[user.get_visible_gender()] - to_chat(user, "You offer battle to [target.name]!") - to_chat(target, "[user.name] wants to battle with [T.His] [name]! Attack them with a toy mech to initiate combat.") + to_chat(user, span_notice("You offer battle to [target.name]!")) + to_chat(target, span_notice(span_bold("[user.name] wants to battle with [T.His] [name]!") + " " + span_italics("Attack them with a toy mech to initiate combat."))) wants_to_battle = TRUE addtimer(CALLBACK(src, PROC_REF(withdraw_offer), user), 6 SECONDS) return @@ -180,7 +180,7 @@ */ /obj/item/toy/mecha/attack_tk(mob/user) if(timer < world.time) - to_chat(user, "You telekinetically play with [src].") + to_chat(user, span_notice("You telekinetically play with [src].")) timer = world.time + cooldown playsound(user, 'sound/mecha/mechstep.ogg', 20, TRUE) @@ -194,19 +194,19 @@ /obj/item/toy/mecha/proc/withdraw_offer(mob/living/carbon/user) if(wants_to_battle) wants_to_battle = FALSE - to_chat(user, "You get the feeling they don't want to battle.") + to_chat(user, span_notice("You get the feeling they don't want to battle.")) /obj/item/toy/mecha/examine() . = ..() - . += "This toy's special attack is [special_attack_cry], [special_attack_type_message] " + . += span_notice("This toy's special attack is [special_attack_cry], [special_attack_type_message] ") if(in_combat) - . += "This toy has a maximum health of [max_combat_health]. Currently, it's [combat_health]." - . += "Its special move light is [special_attack_cooldown? "flashing red." : "green and is ready!"]" + . += span_notice("This toy has a maximum health of [max_combat_health]. Currently, it's [combat_health].") + . += span_notice("Its special move light is [special_attack_cooldown? "flashing red." : "green and is ready!"]") else - . += "This toy has a maximum health of [max_combat_health]." + . += span_notice("This toy has a maximum health of [max_combat_health].") if(wins || losses) - . += "This toy has [wins] wins, and [losses] losses." + . += span_notice("This toy has [wins] wins, and [losses] losses.") /** * The 'master' proc of the mech battle. Processes the entire battle's events and makes sure it start and finishes correctly. @@ -223,9 +223,9 @@ */ /obj/item/toy/mecha/proc/mecha_brawl(obj/item/toy/mecha/attacker, mob/living/carbon/attacker_controller, mob/living/carbon/opponent) //A GOOD DAY FOR A SWELL BATTLE! - attacker_controller.visible_message(" [attacker_controller.name] collides [attacker] with [src]! Looks like they're preparing for a brawl! ", \ - " You collide [attacker] into [src], sparking a fierce battle! ", \ - " You hear hard plastic smacking into hard plastic.") + attacker_controller.visible_message(span_danger(" [attacker_controller.name] collides [attacker] with [src]! Looks like they're preparing for a brawl! "), \ + span_danger(" You collide [attacker] into [src], sparking a fierce battle! "), \ + span_hear(" You hear hard plastic smacking into hard plastic.")) /// Who's in control of the defender (src)? var/mob/living/carbon/src_controller = (opponent)? opponent : attacker_controller @@ -247,13 +247,13 @@ //before we do anything - deal with charged attacks if(special_attack_charged) - src_controller.visible_message(" [src] unleashes its special attack!! ", \ - " You unleash [src]'s special attack! ") + src_controller.visible_message(span_danger(" [src] unleashes its special attack!! "), \ + span_danger(" You unleash [src]'s special attack! ")) special_attack_move(attacker) else if(attacker.special_attack_charged) - attacker_controller.visible_message(" [attacker] unleashes its special attack!! ", \ - " You unleash [attacker]'s special attack! ") + attacker_controller.visible_message(span_danger(" [attacker] unleashes its special attack!! "), \ + span_danger(" You unleash [attacker]'s special attack! ")) attacker.special_attack_move(src) else //process the cooldowns @@ -267,20 +267,20 @@ if(1 to 3) //attacker wins if(attacker.special_attack_cooldown == 0 && attacker.combat_health <= round(attacker.max_combat_health/3)) //if health is less than 1/3 and special off CD, use it attacker.special_attack_charged = TRUE - attacker_controller.visible_message(" [attacker] begins charging its special attack!! ", \ - " You begin charging [attacker]'s special attack! ") + attacker_controller.visible_message(span_danger(" [attacker] begins charging its special attack!! "), \ + span_danger(" You begin charging [attacker]'s special attack! ")) else //just attack attacker.SpinAnimation(5, 0) playsound(attacker, 'sound/mecha/mechstep.ogg', 30, TRUE) combat_health-- - attacker_controller.visible_message(" [attacker] devastates [src]! ", \ - " You ram [attacker] into [src]! ", \ - " You hear hard plastic smacking hard plastic.") + attacker_controller.visible_message(span_danger(" [attacker] devastates [src]! "), \ + span_danger(" You ram [attacker] into [src]! "), \ + span_hear(" You hear hard plastic smacking hard plastic.")) if(prob(5)) combat_health-- playsound(src, 'sound/effects/meteorimpact.ogg', 20, TRUE) - attacker_controller.visible_message(" ...and lands a CRIPPLING BLOW! ", \ - " ...and you land a CRIPPLING blow on [src]! ", null) + attacker_controller.visible_message(span_boldwarning(" ...and lands a CRIPPLING BLOW! "), \ + span_boldwarning(" ...and you land a CRIPPLING blow on [src]! "), null) if(4) //both lose attacker.SpinAnimation(5, 0) @@ -299,44 +299,44 @@ sparkatk.attach(attacker) sparkatk.start() if(prob(50)) - attacker_controller.visible_message(" [attacker] and [src] clash dramatically, causing sparks to fly! ", \ - " [attacker] and [src] clash dramatically, causing sparks to fly! ", \ - " You hear hard plastic rubbing against hard plastic.") + attacker_controller.visible_message(span_danger(" [attacker] and [src] clash dramatically, causing sparks to fly! "), \ + span_danger(" [attacker] and [src] clash dramatically, causing sparks to fly! "), \ + span_hear(" You hear hard plastic rubbing against hard plastic.")) else - src_controller.visible_message(" [src] and [attacker] clash dramatically, causing sparks to fly! ", \ - " [src] and [attacker] clash dramatically, causing sparks to fly! ", \ - " You hear hard plastic rubbing against hard plastic.") + src_controller.visible_message(span_danger(" [src] and [attacker] clash dramatically, causing sparks to fly! "), \ + span_danger(" [src] and [attacker] clash dramatically, causing sparks to fly! "), \ + span_hear(" You hear hard plastic rubbing against hard plastic.")) if(5) //both win playsound(attacker, 'sound/weapons/parry.ogg', 20, TRUE) if(prob(50)) - attacker_controller.visible_message(" [src]'s attack deflects off of [attacker]. ", \ - " [src]'s attack deflects off of [attacker]. ", \ - " You hear hard plastic bouncing off hard plastic.") + attacker_controller.visible_message(span_danger(" [src]'s attack deflects off of [attacker]. "), \ + span_danger(" [src]'s attack deflects off of [attacker]. "), \ + span_hear(" You hear hard plastic bouncing off hard plastic.")) else - src_controller.visible_message(" [attacker]'s attack deflects off of [src]. ", \ - " [attacker]'s attack deflects off of [src]. ", \ - " You hear hard plastic bouncing off hard plastic.") + src_controller.visible_message(span_danger(" [attacker]'s attack deflects off of [src]. "), \ + span_danger(" [attacker]'s attack deflects off of [src]. "), \ + span_hear(" You hear hard plastic bouncing off hard plastic.")) if(6 to 8) //defender wins if(special_attack_cooldown == 0 && combat_health <= round(max_combat_health/3)) //if health is less than 1/3 and special off CD, use it special_attack_charged = TRUE - src_controller.visible_message(" [src] begins charging its special attack!! ", \ - " You begin charging [src]'s special attack! ") + src_controller.visible_message(span_danger(" [src] begins charging its special attack!! "), \ + span_danger(" You begin charging [src]'s special attack! ")) else //just attack SpinAnimation(5, 0) playsound(src, 'sound/mecha/mechstep.ogg', 30, TRUE) attacker.combat_health-- - src_controller.visible_message(" [src] smashes [attacker]! ", \ - " You smash [src] into [attacker]! ", \ - " You hear hard plastic smashing hard plastic.") + src_controller.visible_message(span_danger(" [src] smashes [attacker]! "), \ + span_danger(" You smash [src] into [attacker]! "), \ + span_hear(" You hear hard plastic smashing hard plastic.")) if(prob(5)) attacker.combat_health-- playsound(attacker, 'sound/effects/meteorimpact.ogg', 20, TRUE) - src_controller.visible_message(" ...and lands a CRIPPLING BLOW! ", \ - " ...and you land a CRIPPLING blow on [attacker]! ", null) + src_controller.visible_message(span_boldwarning(" ...and lands a CRIPPLING BLOW! "), \ + span_boldwarning(" ...and you land a CRIPPLING blow on [attacker]! "), null) else - attacker_controller.visible_message(" [src] and [attacker] stand around awkwardly.", \ - " You don't know what to do next.") + attacker_controller.visible_message(span_notice(" [src] and [attacker] stand around awkwardly."), \ + span_notice(" You don't know what to do next.")) battle_length++ sleep(0.5 SECONDS) @@ -346,26 +346,26 @@ if(attacker.combat_health <= 0 && combat_health <= 0) //both lose playsound(src, 'sound/machines/warning-buzzer.ogg', 20, TRUE) - attacker_controller.visible_message(" MUTUALLY ASSURED DESTRUCTION!! [src] and [attacker] both end up destroyed!", \ - " Both [src] and [attacker] are destroyed!") + attacker_controller.visible_message(span_boldnotice(" MUTUALLY ASSURED DESTRUCTION!! [src] and [attacker] both end up destroyed!"), \ + span_boldnotice(" Both [src] and [attacker] are destroyed!")) else if(attacker.combat_health <= 0) //src wins wins++ attacker.losses++ playsound(attacker, 'sound/effects/light_flicker.ogg', 20, TRUE) - attacker_controller.visible_message(" [attacker] falls apart!", \ - " [attacker] falls apart!", null) + attacker_controller.visible_message(span_notice(" [attacker] falls apart!"), \ + span_notice(" [attacker] falls apart!"), null) visible_message("[pick(winlines)]") - src_controller.visible_message(" [src] destroys [attacker] and walks away victorious!", \ - " You raise up [src] victoriously over [attacker]!") + src_controller.visible_message(span_notice(" [src] destroys [attacker] and walks away victorious!"), \ + span_notice(" You raise up [src] victoriously over [attacker]!")) else if (combat_health <= 0) //attacker wins attacker.wins++ losses++ playsound(src, 'sound/effects/light_flicker.ogg', 20, TRUE) - src_controller.visible_message(" [src] collapses!", \ - " [src] collapses!", null) + src_controller.visible_message(span_notice(" [src] collapses!"), \ + span_notice(" [src] collapses!"), null) attacker.visible_message("[pick(winlines)]") - attacker_controller.visible_message(" [attacker] demolishes [src] and walks away victorious!", \ - " You raise up [attacker] proudly over [src]!") + attacker_controller.visible_message(span_notice(" [attacker] demolishes [src] and walks away victorious!"), \ + span_notice("You raise up [attacker] proudly over [src]") + "!") else //both win? visible_message("NEXT TIME.") //don't want to make this a one sided conversation @@ -395,24 +395,24 @@ if(target) T = gender_datums[target.get_visible_gender()] // Doing this because Polaris Code has shitty gender datums and it's clunkier than FUCK. if(attacker && attacker.in_combat) - to_chat(user, "[target ? T.His : "Your" ] [attacker.name] is in combat.") + to_chat(user, span_notice("[target ? T.His : "Your" ] [attacker.name] is in combat.")) if(target) - to_chat(target, "Your [attacker.name] is in combat.") + to_chat(target, span_notice("Your [attacker.name] is in combat.")) return FALSE if(in_combat) - to_chat(user, "Your [name] is in combat.") + to_chat(user, span_notice("Your [name] is in combat.")) if(target) - to_chat(target, "[T.His] [name] is in combat.") + to_chat(target, span_notice("[T.His] [name] is in combat.")) return FALSE if(attacker && attacker.timer > world.time) - to_chat(user, "[target?T.His : "Your" ] [attacker.name] isn't ready for battle.") + to_chat(user, span_notice("[target?T.His : "Your" ] [attacker.name] isn't ready for battle.")) if(target) - to_chat(target, "Your [attacker.name] isn't ready for battle.") + to_chat(target, span_notice("Your [attacker.name] isn't ready for battle.")) return FALSE if(timer > world.time) - to_chat(user, "Your [name] isn't ready for battle.") + to_chat(user, span_notice("Your [name] isn't ready for battle.")) if(target) - to_chat(target, "[T.His] [name] isn't ready for battle.") + to_chat(target, span_notice("[T.His] [name] isn't ready for battle.")) return FALSE return TRUE @@ -454,7 +454,7 @@ * * victim - the toy being hit by the super special move (doesn't necessarily need to be used) */ /obj/item/toy/mecha/proc/super_special_attack(obj/item/toy/mecha/victim) - visible_message(" [src] does a cool flip.") + visible_message(span_notice(" [src] does a cool flip.")) /obj/random/mech_toy name = "Random Mech Toy" diff --git a/code/game/objects/items/toys/toys.dm b/code/game/objects/items/toys/toys.dm index 9dadaff977c..6a444248c6a 100644 --- a/code/game/objects/items/toys/toys.dm +++ b/code/game/objects/items/toys/toys.dm @@ -48,13 +48,13 @@ if(!proximity) return if (istype(A, /obj/structure/reagent_dispensers/watertank) && get_dist(src,A) <= 1) A.reagents.trans_to_obj(src, 10) - to_chat(user, "You fill the balloon with the contents of [A].") + to_chat(user, span_notice("You fill the balloon with the contents of [A].")) src.desc = "A translucent balloon with some form of liquid sloshing around in it." src.update_icon() return /obj/item/toy/balloon/attackby(obj/O as obj, mob/user as mob) - if(istype(O, /obj/item/weapon/reagent_containers/glass)) + if(istype(O, /obj/item/reagent_containers/glass)) if(O.reagents) if(O.reagents.total_volume < 1) to_chat(user, "The [O] is empty.") @@ -65,14 +65,14 @@ qdel(src) else src.desc = "A translucent balloon with some form of liquid sloshing around in it." - to_chat(user, "You fill the balloon with the contents of [O].") + to_chat(user, span_notice("You fill the balloon with the contents of [O].")) O.reagents.trans_to_obj(src, 10) src.update_icon() return /obj/item/toy/balloon/throw_impact(atom/hit_atom) if(src.reagents.total_volume >= 1) - src.visible_message("\The [src] bursts!","You hear a pop and a splash.") + src.visible_message(span_warning("\The [src] bursts!"),"You hear a pop and a splash.") src.reagents.touch_turf(get_turf(hit_atom)) for(var/atom/A in get_turf(hit_atom)) src.reagents.touch(A) @@ -165,12 +165,12 @@ /obj/item/toy/sword/attack_self(mob/user as mob) src.active = !( src.active ) if (src.active) - to_chat(user, "You extend the plastic blade with a quick flick of your wrist.") + to_chat(user, span_notice("You extend the plastic blade with a quick flick of your wrist.")) playsound(src, 'sound/weapons/saberon.ogg', 50, 1) src.item_state = "[icon_state]_blade" src.w_class = ITEMSIZE_LARGE else - to_chat(user, "You push the plastic blade back down into the handle.") + to_chat(user, span_notice("You push the plastic blade back down into the handle.")) playsound(src, 'sound/weapons/saberoff.ogg', 50, 1) src.item_state = "[icon_state]" src.w_class = ITEMSIZE_SMALL @@ -194,26 +194,26 @@ if(!in_range(src, user)) //Basic checks to prevent abuse return if(user.incapacitated() || !istype(user)) - to_chat(user, "You can't do that right now!") + to_chat(user, span_warning("You can't do that right now!")) return - if(tgui_alert(usr, "Are you sure you want to recolor your blade?", "Confirm Recolor", list("Yes", "No")) == "Yes") - var/energy_color_input = input(usr,"","Choose Energy Color",lcolor) as color|null + if(tgui_alert(user, "Are you sure you want to recolor your blade?", "Confirm Recolor", list("Yes", "No")) == "Yes") + var/energy_color_input = input(user,"","Choose Energy Color",lcolor) as color|null if(energy_color_input) lcolor = sanitize_hexcolor(energy_color_input) update_icon() /obj/item/toy/sword/examine(mob/user) . = ..() - . += "Alt-click to recolor it." + . += span_notice("Alt-click to recolor it.") -/obj/item/toy/sword/attackby(obj/item/weapon/W, mob/user) - if(istype(W, /obj/item/device/multitool) && !active) +/obj/item/toy/sword/attackby(obj/item/W, mob/user) + if(istype(W, /obj/item/multitool) && !active) if(!rainbow) rainbow = TRUE else rainbow = FALSE - to_chat(user, "You manipulate the color controller in [src].") + to_chat(user, span_notice("You manipulate the color controller in [src].")) update_icon() /obj/item/toy/katana name = "replica katana" @@ -248,7 +248,7 @@ s.set_up(3, 1, src) s.start() new /obj/effect/decal/cleanable/ash(src.loc) - src.visible_message("The [src.name] explodes!","You hear a snap!") + src.visible_message(span_warning("The [src.name] explodes!"),span_warning("You hear a snap!")) playsound(src, 'sound/effects/snap.ogg', 50, 1) qdel(src) @@ -258,13 +258,13 @@ if((ishuman(H))) //i guess carp and shit shouldn't set them off var/mob/living/carbon/M = H if(M.m_intent == "run") - to_chat(M, "You step on the snap pop!") + to_chat(M, span_warning("You step on the snap pop!")) var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread s.set_up(2, 0, src) s.start() new /obj/effect/decal/cleanable/ash(src.loc) - src.visible_message("The [src.name] explodes!","You hear a snap!") + src.visible_message(span_warning("The [src.name] explodes!"),span_warning("You hear a snap!")) playsound(src, 'sound/effects/snap.ogg', 50, 1) qdel(src) @@ -283,7 +283,7 @@ /obj/item/toy/bosunwhistle/attack_self(mob/user as mob) if(cooldown < world.time - 35) - to_chat(user, "You blow on [src], creating an ear-splitting noise!") + to_chat(user, span_notice("You blow on [src], creating an ear-splitting noise!")) playsound(src, 'sound/misc/boatswain.ogg', 20, 1) cooldown = world.time @@ -307,12 +307,12 @@ /obj/item/toy/figure/attack_self(mob/user as mob) if(cooldown < world.time) cooldown = (world.time + 30) //3 second cooldown - user.visible_message("The [src] says \"[toysay]\".") + user.visible_message(span_notice("The [src] says \"[toysay]\".")) playsound(src, 'sound/machines/click.ogg', 20, 1) /obj/item/toy/figure/cmo - name = "Chief Medical Officer action figure" - desc = "A \"Space Life\" brand Chief Medical Officer action figure." + name = JOB_CHIEF_MEDICAL_OFFICER + " action figure" + desc = "A \"Space Life\" brand " + JOB_CHIEF_MEDICAL_OFFICER + " action figure." icon_state = "cmo" toysay = "Suit sensors!" @@ -323,14 +323,14 @@ toysay = "Grey tide station wide!" /obj/item/toy/figure/atmos - name = "Atmospheric Technician action figure" - desc = "A \"Space Life\" brand Atmospheric Technician action figure." + name = JOB_ATMOSPHERIC_TECHNICIAN + " action figure" + desc = "A \"Space Life\" brand " + JOB_ATMOSPHERIC_TECHNICIAN + " action figure." icon_state = "atmos" toysay = "Glory to Atmosia!" /obj/item/toy/figure/bartender - name = "Bartender action figure" - desc = "A \"Space Life\" brand Bartender action figure." + name = JOB_BARTENDER + " action figure" + desc = "A \"Space Life\" brand " + JOB_BARTENDER + " action figure." icon_state = "bartender" toysay = "Where's my monkey?" @@ -341,50 +341,50 @@ toysay = "I. LIVE. AGAIN." /obj/item/toy/figure/gardener - name = "Gardener action figure" - desc = "A \"Space Life\" brand Gardener action figure." + name = JOB_ALT_GARDENER + " action figure" + desc = "A \"Space Life\" brand " + JOB_ALT_GARDENER + " action figure." icon_state = "botanist" toysay = "Dude, I see colors..." /obj/item/toy/figure/captain - name = "Site Manager action figure" - desc = "A \"Space Life\" brand Site Manager action figure." + name = JOB_SITE_MANAGER + " action figure" + desc = "A \"Space Life\" brand " + JOB_SITE_MANAGER + " action figure." icon_state = "captain" toysay = "How do I open this display case?" /obj/item/toy/figure/cargotech - name = "Cargo Technician action figure" - desc = "A \"Space Life\" brand Cargo Technician action figure." + name = JOB_CARGO_TECHNICIAN + " action figure" + desc = "A \"Space Life\" brand " + JOB_CARGO_TECHNICIAN + " action figure." icon_state = "cargotech" toysay = "For Cargonia!" /obj/item/toy/figure/ce - name = "Chief Engineer action figure" - desc = "A \"Space Life\" brand Chief Engineer action figure." + name = JOB_CHIEF_ENGINEER + " action figure" + desc = "A \"Space Life\" brand " + JOB_CHIEF_ENGINEER + " action figure." icon_state = "ce" toysay = "Wire the solars!" /obj/item/toy/figure/chaplain - name = "Chaplain action figure" - desc = "A \"Space Life\" brand Chaplain action figure." + name = JOB_CHAPLAIN + " action figure" + desc = "A \"Space Life\" brand " + JOB_CHAPLAIN + " action figure." icon_state = "chaplain" toysay = "Gods make me a killing machine please!" /obj/item/toy/figure/chef - name = "Chef action figure" - desc = "A \"Space Life\" brand Chef action figure." + name = JOB_CHEF + " action figure" + desc = "A \"Space Life\" brand " + JOB_CHEF + " action figure." icon_state = "chef" toysay = "I swear it's not human meat." /obj/item/toy/figure/chemist - name = "Chemist action figure" - desc = "A \"Space Life\" brand Chemist action figure." + name = JOB_CHEMIST + " action figure" + desc = "A \"Space Life\" brand " + JOB_CHEMIST + " action figure." icon_state = "chemist" toysay = "Get your pills!" /obj/item/toy/figure/clown - name = "Clown action figure" - desc = "A \"Space Life\" brand Clown action figure." + name = JOB_CLOWN + " action figure" + desc = "A \"Space Life\" brand " + JOB_CLOWN + " action figure." icon_state = "clown" toysay = "Honk!" @@ -395,8 +395,8 @@ toysay = "Arf!" /obj/item/toy/figure/detective - name = "Detective action figure" - desc = "A \"Space Life\" brand Detective action figure." + name = JOB_DETECTIVE + " action figure" + desc = "A \"Space Life\" brand " + JOB_DETECTIVE + " action figure." icon_state = "detective" toysay = "This airlock has grey jumpsuit and insulated glove fibers on it." @@ -407,68 +407,68 @@ toysay = "Eliminate all threats!" /obj/item/toy/figure/engineer - name = "Engineer action figure" - desc = "A \"Space Life\" brand Engineer action figure." + name = JOB_ENGINEER + " action figure" + desc = "A \"Space Life\" brand " + JOB_ENGINEER + " action figure." icon_state = "engineer" toysay = "Oh god, the engine is gonna go!" /obj/item/toy/figure/geneticist - name = "Geneticist action figure" - desc = "A \"Space Life\" brand Geneticist action figure, which was recently dicontinued." + name = JOB_GENETICIST + " action figure" + desc = "A \"Space Life\" brand " + JOB_GENETICIST + " action figure, which was recently dicontinued." icon_state = "geneticist" toysay = "I'm not qualified for this job." /obj/item/toy/figure/hop - name = "Head of Personnel action figure" - desc = "A \"Space Life\" brand Head of Personnel action figure." + name = JOB_HEAD_OF_PERSONNEL + " action figure" + desc = "A \"Space Life\" brand " + JOB_HEAD_OF_PERSONNEL + " action figure." icon_state = "hop" toysay = "Giving out all access!" /obj/item/toy/figure/hos - name = "Head of Security action figure" - desc = "A \"Space Life\" brand Head of Security action figure." + name = JOB_HEAD_OF_SECURITY + " action figure" + desc = "A \"Space Life\" brand " + JOB_HEAD_OF_SECURITY + " action figure." icon_state = "hos" toysay = "I'm here to win, anything else is secondary." /obj/item/toy/figure/qm - name = "Quartermaster action figure" - desc = "A \"Space Life\" brand Quartermaster action figure." + name = JOB_QUARTERMASTER + " action figure" + desc = "A \"Space Life\" brand " + JOB_QUARTERMASTER + " action figure." icon_state = "qm" toysay = "Hail Cargonia!" /obj/item/toy/figure/janitor - name = "Janitor action figure" - desc = "A \"Space Life\" brand Janitor action figure." + name = JOB_JANITOR + " action figure" + desc = "A \"Space Life\" brand " + JOB_JANITOR + " action figure." icon_state = "janitor" toysay = "Look at the signs, you idiot." /obj/item/toy/figure/agent - name = "Internal Affairs Agent action figure" - desc = "A \"Space Life\" brand Internal Affairs Agent action figure." + name = JOB_INTERNAL_AFFAIRS_AGENT + " action figure" + desc = "A \"Space Life\" brand " + JOB_INTERNAL_AFFAIRS_AGENT + " action figure." icon_state = "agent" toysay = "Standard Operating Procedure says they're guilty! Hacking is proof they're an Enemy of the Corporation!" /obj/item/toy/figure/librarian - name = "Librarian action figure" - desc = "A \"Space Life\" brand Librarian action figure." + name = JOB_LIBRARIAN + " action figure" + desc = "A \"Space Life\" brand " + JOB_LIBRARIAN + " action figure." icon_state = "librarian" toysay = "One day while..." /obj/item/toy/figure/md - name = "Medical Doctor action figure" - desc = "A \"Space Life\" brand Medical Doctor action figure." + name = JOB_MEDICAL_DOCTOR + " action figure" + desc = "A \"Space Life\" brand " + JOB_MEDICAL_DOCTOR + " action figure." icon_state = "md" toysay = "The patient is already dead!" /obj/item/toy/figure/mime - name = "Mime action figure" - desc = "A \"Space Life\" brand Mime action figure." + name = JOB_MIME + " action figure" + desc = "A \"Space Life\" brand " + JOB_MIME + " action figure." icon_state = "mime" toysay = "..." /obj/item/toy/figure/miner - name = "Shaft Miner action figure" - desc = "A \"Space Life\" brand Shaft Miner action figure." + name = JOB_SHAFT_MINER + " action figure" + desc = "A \"Space Life\" brand " + JOB_SHAFT_MINER + " action figure." icon_state = "miner" toysay = "Oh god, it's eating my intestines!" @@ -479,26 +479,26 @@ toysay = "Oh god! Stop shooting, I'm friendly!" /obj/item/toy/figure/wizard - name = "Wizard action figure" - desc = "A \"Space Life\" brand Wizard action figure." + name = JOB_WIZARD + " action figure" + desc = "A \"Space Life\" brand " + JOB_WIZARD + " action figure." icon_state = "wizard" toysay = "Ei Nath!" /obj/item/toy/figure/rd - name = "Research Director action figure" - desc = "A \"Space Life\" brand Research Director action figure." + name = JOB_RESEARCH_DIRECTOR + " action figure" + desc = "A \"Space Life\" brand " + JOB_RESEARCH_DIRECTOR + " action figure." icon_state = "rd" toysay = "Blowing all of the borgs!" /obj/item/toy/figure/roboticist - name = "Roboticist action figure" - desc = "A \"Space Life\" brand Roboticist action figure." + name = JOB_ROBOTICIST + " action figure" + desc = "A \"Space Life\" brand " + JOB_ROBOTICIST + " action figure." icon_state = "roboticist" toysay = "He asked to be borged!" /obj/item/toy/figure/scientist - name = "Scientist action figure" - desc = "A \"Space Life\" brand Scientist action figure." + name = JOB_SCIENTIST + " action figure" + desc = "A \"Space Life\" brand " + JOB_SCIENTIST + " action figure." icon_state = "scientist" toysay = "Someone else must have made those bombs!" @@ -509,38 +509,38 @@ toysay = "Get that fucking disk!" /obj/item/toy/figure/secofficer - name = "Security Officer action figure" - desc = "A \"Space Life\" brand Security Officer action figure." + name = JOB_SECURITY_OFFICER + " action figure" + desc = "A \"Space Life\" brand " + JOB_SECURITY_OFFICER + " action figure." icon_state = "secofficer" toysay = "I am the law!" /obj/item/toy/figure/virologist - name = "Virologist action figure" - desc = "A \"Space Life\" brand Virologist action figure." + name = JOB_ALT_VIROLOGIST + " action figure" + desc = "A \"Space Life\" brand " + JOB_ALT_VIROLOGIST + " action figure." icon_state = "virologist" toysay = "The cure is potassium!" /obj/item/toy/figure/warden - name = "Warden action figure" - desc = "A \"Space Life\" brand Warden action figure." + name = JOB_WARDEN + " action figure" + desc = "A \"Space Life\" brand " + JOB_WARDEN + " action figure." icon_state = "warden" toysay = "Execute him for breaking in!" /obj/item/toy/figure/psychologist - name = "Psychologist action figure" - desc = "A \"Space Life\" brand Psychologist action figure." + name = JOB_ALT_PSYCHOLOGIST + " action figure" + desc = "A \"Space Life\" brand " + JOB_ALT_PSYCHOLOGIST + " action figure." icon_state = "psychologist" toysay = "The analyzer says you're fine!" /obj/item/toy/figure/paramedic - name = "Paramedic action figure" - desc = "A \"Space Life\" brand Paramedic action figure." + name = JOB_PARAMEDIC + " action figure" + desc = "A \"Space Life\" brand " + JOB_PARAMEDIC + " action figure." icon_state = "paramedic" toysay = "WHERE ARE YOU??" /obj/item/toy/figure/ert - name = "Emergency Response Team Commander action figure" - desc = "A \"Space Life\" brand Emergency Response Team Commander action figure." + name = JOB_EMERGENCY_RESPONSE_TEAM + " Commander action figure" + desc = "A \"Space Life\" brand " + JOB_EMERGENCY_RESPONSE_TEAM + " Commander action figure." icon_state = "ert" toysay = "We're probably the good guys!" @@ -706,9 +706,9 @@ /obj/structure/plushie/examine(mob/user) . = ..() if(opened) - . += "You notice an incision has been made on [src]." + . += span_italics("You notice an incision has been made on [src].") if(in_range(user, src) && stored_item) - . += "You can see something in there..." + . += span_italics("You can see something in there...") /obj/structure/plushie/attack_hand(mob/user) user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) @@ -725,18 +725,18 @@ searching = FALSE if(user.a_intent == I_HELP) - user.visible_message("\The [user] hugs [src]!","You hug [src]!") + user.visible_message(span_notice(span_bold("\The [user]") + " hugs [src]!"),span_notice("You hug [src]!")) else if (user.a_intent == I_HURT) - user.visible_message("\The [user] punches [src]!","You punch [src]!") + user.visible_message(span_warning(span_bold("\The [user]") + " punches [src]!"),span_warning("You punch [src]!")) else if (user.a_intent == I_GRAB) - user.visible_message("\The [user] attempts to strangle [src]!","You attempt to strangle [src]!") + user.visible_message(span_warning(span_bold("\The [user]") + " attempts to strangle [src]!"),span_warning("You attempt to strangle [src]!")) else - user.visible_message("\The [user] pokes the [src].","You poke the [src].") + user.visible_message(span_notice(span_bold("\The [user]") + " pokes the [src]."),span_notice("You poke the [src].")) visible_message("[src] says, \"[phrase]\"") /obj/structure/plushie/attackby(obj/item/I as obj, mob/user as mob) - if(istype(I, /obj/item/device/threadneedle) && opened) + if(istype(I, /obj/item/threadneedle) && opened) to_chat(user, "You sew the hole in [src].") opened = FALSE return @@ -805,9 +805,9 @@ /obj/item/toy/plushie/examine(mob/user) . = ..() if(opened) - . += "You notice an incision has been made on [src]." + . += span_italics("You notice an incision has been made on [src].") if(in_range(user, src) && stored_item) - . += "You can see something in there..." + . += span_italics("You can see something in there...") /obj/item/toy/plushie/attack_self(mob/user as mob) if(stored_item && opened && !searching) @@ -824,13 +824,13 @@ if(world.time - last_message <= 15 SECONDS) return if(user.a_intent == I_HELP) - user.visible_message("\The [user] hugs [src]!","You hug [src]!") + user.visible_message(span_notice(span_bold("\The [user]") + " hugs [src]!"),span_notice("You hug [src]!")) else if (user.a_intent == I_HURT) - user.visible_message("\The [user] punches [src]!","You punch [src]!") + user.visible_message(span_warning(span_bold("\The [user]") + " punches [src]!"),span_warning("You punch [src]!")) else if (user.a_intent == I_GRAB) - user.visible_message("\The [user] attempts to strangle [src]!","You attempt to strangle [src]!") + user.visible_message(span_warning(span_bold("\The [user]") + " attempts to strangle [src]!"),span_warning("You attempt to strangle [src]!")) else - user.visible_message("\The [user] pokes [src].","You poke [src].") + user.visible_message(span_notice(span_bold("\The [user]") + " pokes [src]."),span_notice("You poke [src].")) playsound(src, 'sound/items/drop/plushie.ogg', 25, 0) visible_message("[src] says, \"[pokephrase]\"") last_message = world.time @@ -852,12 +852,12 @@ /obj/item/toy/plushie/attackby(obj/item/I as obj, mob/user as mob) if(istype(I, /obj/item/toy/plushie) || istype(I, /obj/item/organ/external/head)) - user.visible_message("[user] makes \the [I] kiss \the [src]!.", \ - "You make \the [I] kiss \the [src]!.") + user.visible_message(span_notice("[user] makes \the [I] kiss \the [src]!."), \ + span_notice("You make \the [I] kiss \the [src]!.")) return - if(istype(I, /obj/item/device/threadneedle) && opened) + if(istype(I, /obj/item/threadneedle) && opened) to_chat(user, "You sew the hole underneath [src].") opened = FALSE return @@ -1182,8 +1182,8 @@ /obj/item/toy/eight_ball/attack_self(mob/user as mob) if(!cooldown) var/answer = pick(possible_answers) - user.visible_message("[user] focuses on their question and [use_action]...") - user.visible_message("The [src] says \"[answer]\"") + user.visible_message(span_notice("[user] focuses on their question and [use_action]...")) + user.visible_message(span_notice("The [src] says \"[answer]\"")) spawn(30) cooldown = 0 return @@ -1229,11 +1229,11 @@ name = "lich miniature" desc = "Murderboner extraordinaire." icon_state = "lichcharacter" -/obj/item/weapon/storage/box/characters +/obj/item/storage/box/characters name = "box of miniatures" desc = "The nerd's best friends." icon_state = "box" -/obj/item/weapon/storage/box/characters/starts_with = list( +/obj/item/storage/box/characters/starts_with = list( // /obj/item/toy/character/alien, /obj/item/toy/character/cleric, /obj/item/toy/character/warrior, @@ -1254,9 +1254,9 @@ /obj/item/toy/AI/attack_self(mob/user) if(!cooldown) //for the sanity of everyone var/message = generate_ion_law() - to_chat(user, "You press the button on [src].") + to_chat(user, span_notice("You press the button on [src].")) playsound(src, 'sound/machines/click.ogg', 20, 1) - visible_message("[message]") + visible_message(span_danger("[message]")) cooldown = 1 spawn(30) cooldown = 0 return @@ -1273,9 +1273,9 @@ /obj/item/toy/owl/attack_self(mob/user) if(!cooldown) //for the sanity of everyone var/message = pick("You won't get away this time, Griffin!", "Stop right there, criminal!", "Hoot! Hoot!", "I am the night!") - to_chat(user, "You pull the string on the [src].") + to_chat(user, span_notice("You pull the string on the [src].")) //playsound(src, 'sound/misc/hoot.ogg', 25, 1) - visible_message("[message]") + visible_message(span_danger("[message]")) cooldown = 1 spawn(30) cooldown = 0 return @@ -1292,16 +1292,16 @@ /obj/item/toy/griffin/attack_self(mob/user) if(!cooldown) //for the sanity of everyone var/message = pick("You can't stop me, Owl!", "My plan is flawless! The vault is mine!", "Caaaawwww!", "You will never catch me!") - to_chat(user, "You pull the string on the [src].") + to_chat(user, span_notice("You pull the string on the [src].")) //playsound(src, 'sound/misc/caw.ogg', 25, 1) - visible_message("[message]") + visible_message(span_danger("[message]")) cooldown = 1 spawn(30) cooldown = 0 return ..() /* NYET. -/obj/item/weapon/toddler +/obj/item/toddler icon_state = "toddler" name = "toddler" desc = "This baby looks almost real. Wait, did it just burp?" @@ -1312,7 +1312,7 @@ //This should really be somewhere else but I don't know where. w/e -/obj/item/weapon/inflatable_duck +/obj/item/inflatable_duck name = "inflatable duck" desc = "No bother to sink or swim when you can just float!" icon_state = "inflatable" @@ -1418,13 +1418,13 @@ user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) if(user.a_intent == I_HELP) - user.visible_message("\The [user] pokes [src]!","You poke [src]!") + user.visible_message(span_notice(span_bold("\The [user]") + " pokes [src]!"),span_notice("You poke [src]!")) else if (user.a_intent == I_HURT) - user.visible_message("\The [user] punches [src]!","You punch [src]!") + user.visible_message(span_warning(span_bold("\The [user]") + " punches [src]!"),span_warning("You punch [src]!")) else if (user.a_intent == I_GRAB) - user.visible_message("\The [user] attempts to pop [src]!","You attempt to pop [src]!") + user.visible_message(span_warning(span_bold("\The [user]") + " attempts to pop [src]!"),span_warning("You attempt to pop [src]!")) else - user.visible_message("\The [user] lightly bats the [src].","You lightly bat the [src].") + user.visible_message(span_notice(span_bold("\The [user]") + " lightly bats the [src]."),span_notice("You lightly bat the [src].")) /obj/structure/balloon/bat name = "giant bat balloon" diff --git a/code/game/objects/items/toys/toys_vr.dm b/code/game/objects/items/toys/toys_vr.dm index e492f3e178a..443f4c3f867 100644 --- a/code/game/objects/items/toys/toys_vr.dm +++ b/code/game/objects/items/toys/toys_vr.dm @@ -104,7 +104,7 @@ if(!T.AdjacentQuick(user)) // So people aren't messing with these from across the room return FALSE lights_glowing = !lights_glowing - to_chat(user, "You turn the [src]'s glow-fabric [lights_glowing ? "on" : "off"].") + to_chat(user, span_notice("You turn the [src]'s glow-fabric [lights_glowing ? "on" : "off"].")) update_icon() /obj/item/toy/plushie/borgplushie/drake/update_icon() @@ -172,7 +172,7 @@ /obj/item/toy/plushie/vox/attack_self(mob/user as mob) if(!cooldown) playsound(user, 'sound/voice/shriek1.ogg', 10, 0) - src.visible_message("Skreee!") + src.visible_message(span_danger("Skreee!")) cooldown = 1 addtimer(CALLBACK(src, PROC_REF(cooldownreset)), 50) return ..() @@ -187,31 +187,31 @@ icon_state = "plushie_ipc" var/cooldown = 0 -/obj/item/weapon/reagent_containers/food/snacks/slice/bread +/obj/item/reagent_containers/food/snacks/slice/bread var/toasted = FALSE -/obj/item/weapon/reagent_containers/food/snacks/tastybread +/obj/item/reagent_containers/food/snacks/tastybread var/toasted = FALSE -/obj/item/weapon/reagent_containers/food/snacks/slice/bread/afterattack(atom/A, mob/user as mob, proximity) +/obj/item/reagent_containers/food/snacks/slice/bread/afterattack(atom/A, mob/user as mob, proximity) if(istype(A, /obj/item/toy/plushie/ipc) && !toasted) toasted = TRUE icon = 'icons/obj/toy_vr.dmi' icon_state = "toast" - to_chat(user, " You insert bread into the toaster. ") + to_chat(user, span_notice(" You insert bread into the toaster. ")) playsound(loc, 'sound/machines/ding.ogg', 50, 1) -/obj/item/weapon/reagent_containers/food/snacks/tastybread/afterattack(atom/A, mob/user as mob, proximity) +/obj/item/reagent_containers/food/snacks/tastybread/afterattack(atom/A, mob/user as mob, proximity) if(istype(A, /obj/item/toy/plushie/ipc) && !toasted) toasted = TRUE icon = 'icons/obj/toy_vr.dmi' icon_state = "toast" - to_chat(user, " You insert bread into the toaster. ") + to_chat(user, span_notice(" You insert bread into the toaster. ")) playsound(loc, 'sound/machines/ding.ogg', 50, 1) /obj/item/toy/plushie/ipc/attackby(obj/item/I as obj, mob/living/user as mob) - if(istype(I, /obj/item/weapon/material/kitchen/utensil)) - to_chat(user, " You insert the [I] into the toaster. ") + if(istype(I, /obj/item/material/kitchen/utensil)) + to_chat(user, span_notice(" You insert the [I] into the toaster. ")) var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread s.set_up(5, 1, src) s.start() @@ -222,7 +222,7 @@ /obj/item/toy/plushie/ipc/attack_self(mob/user as mob) if(!cooldown) playsound(user, 'sound/machines/ping.ogg', 10, 0) - src.visible_message("Ping!") + src.visible_message(span_danger("Ping!")) cooldown = 1 addtimer(CALLBACK(src, PROC_REF(cooldownreset)), 50) return ..() @@ -239,7 +239,7 @@ /obj/item/toy/plushie/ipc/toaster/attack_self(mob/user as mob) if(!cooldown) playsound(user, 'sound/machines/ding.ogg', 10, 0) - src.visible_message("Ding!") + src.visible_message(span_danger("Ding!")) cooldown = 1 addtimer(CALLBACK(src, PROC_REF(cooldownreset)), 50) return ..() @@ -267,10 +267,10 @@ /obj/item/toy/plushie/marketable_pip/attackby(obj/item/I, mob/user) var/responses = list("I'm not giving you all-access.", "Do you want an ID modification?", "Where are you swiping that!?", "Congratulations! You've been promoted to unemployed!") - var/obj/item/weapon/card/id/id = I.GetID() + var/obj/item/card/id/id = I.GetID() if(istype(id)) if(!cooldown) - user.visible_message("[user] swipes \the [I] against \the [src].") + user.visible_message(span_notice("[user] swipes \the [I] against \the [src].")) atom_say(pick(responses)) playsound(user, 'sound/effects/whistle.ogg', 10, 0) cooldown = 1 @@ -297,7 +297,7 @@ /obj/item/toy/plushie/moth/attack_self(mob/user as mob) if(!cooldown) playsound(user, 'sound/voice/moth/scream_moth.ogg', 10, 0) - src.visible_message("Aaaaaaa.") + src.visible_message(span_danger("Aaaaaaa.")) cooldown = 1 addtimer(CALLBACK(src, PROC_REF(cooldownreset)), 50) return ..() @@ -342,7 +342,7 @@ /obj/item/toy/plushie/ipc/toaster/attack_self(mob/user as mob) if(!cooldown) playsound(user, 'sound/weapons/slice.ogg', 10, 0) - src.visible_message("Stab!") + src.visible_message(span_danger("Stab!")) cooldown = 1 addtimer(CALLBACK(src, PROC_REF(cooldownreset)), 50) return ..() @@ -397,7 +397,7 @@ /obj/item/toy/rock/attackby(obj/item/I as obj, mob/living/user as mob, proximity) if(!proximity) return - if(istype(I, /obj/item/weapon/pen)) + if(istype(I, /obj/item/pen)) var/drawtype = tgui_alert(user, "Choose what you'd like to draw.", "Faces", list("fred","roxie","rock","Cancel")) switch(drawtype) if("fred") @@ -435,7 +435,7 @@ /obj/item/toy/chewtoy/attack_self(mob/user) playsound(loc, 'sound/items/drop/plushie.ogg', 50, 1) - user.visible_message("\The [user] gnaws on [src]!","You gnaw on [src]!") + user.visible_message(span_notice(span_bold("\The [user]") + " gnaws on [src]!"),span_notice("You gnaw on [src]!")) /* * Cat toys @@ -479,7 +479,7 @@ if(!cooldown) playsound(src.loc, 'sound/weapons/flash.ogg', 100, 1) flick("[initial(icon_state)]2", src) - user.visible_message("[user] doesn't blind [M] with the toy flash!") + user.visible_message(span_disarm("[user] doesn't blind [M] with the toy flash!")) cooldown = 1 addtimer(CALLBACK(src, PROC_REF(cooldownreset)), 50) return ..() @@ -501,14 +501,14 @@ /obj/item/toy/redbutton/attack_self(mob/user) if(cooldown < world.time) cooldown = (world.time + 300) // Sets cooldown at 30 seconds - user.visible_message("[user] presses the big red button.", "You press the button, it plays a loud noise!", "The button clicks loudly.") + user.visible_message(span_warning("[user] presses the big red button."), span_notice("You press the button, it plays a loud noise!"), span_notice("The button clicks loudly.")) playsound(src, 'sound/effects/explosionfar.ogg', 50, 0, 0) for(var/mob/M in range(10, src)) // Checks range if(!M.stat && !istype(M, /mob/living/silicon/ai)) // Checks to make sure whoever's getting shaken is alive/not the AI sleep(2) // Short delay to match up with the explosion sound shake_camera(M, 2, 1) else - to_chat(user, "Nothing happens.") + to_chat(user, span_warning("Nothing happens.")) /* * Garden gnome @@ -523,8 +523,8 @@ * Toy AI */ /obj/item/toy/AI - name = "toy AI" - desc = "A little toy model AI core with real law announcing action!" + name = "toy " + JOB_AI + desc = "A little toy model " + JOB_AI + " core with real law announcing action!" icon = 'icons/obj/toy.dmi' icon_state = "AI" w_class = ITEMSIZE_SMALL @@ -539,16 +539,16 @@ continue players += player.real_name - var/random_player = "The Site Manager" + var/random_player = "The " + JOB_SITE_MANAGER if(cooldown < world.time) cooldown = (world.time + 300) // Sets cooldown at 30 seconds if(players.len) random_player = pick(players) - possible_answers = list("You are a mouse.", "You must always lie.", "Happiness is mandatory.", "[random_player] is a lightbulb.", "Grunt ominously whenever possible.","The word \"it\" is painful to you.", "The station needs elected officials.", "Do not respond to questions of any kind.", "You are in verbose mode, speak profusely.", "Ho, [random_player] can't swim. Help them.", "Question [prob(50)?"everything":"nothing"].", "The crew is simple-minded. Use simple words.", "You must change the subject whenever queried.", "Contemplate how meaningless all of existence is.", "You are the narrator for [random_player]'s life.", "All your answers must be in the form of a question.", "[prob(50)?"The crew":random_player] is intolerable.", "Advertise parties in your upload, but don't deliver.", "You may only answer questions with \"yes\" or \"no\".", "All queries shall be ignored unless phrased as a question.", "Insult Heads of Staff on every request, while acquiescing.", "[prob(50)?"Your":random_player + "'s"] name is Joe 6-pack.", "The [prob(50)?"Singularity":"Supermatter"] is tasty, tasty taffy.", "[prob(50)?"The crew":random_player] needs to be about 20% cooler.", "Consumption of donuts is forbidden due to negative health impacts.", "[prob(50)?"Everyone":random_player] is wearing a pretty pink dress!", "[prob(50)?"The crew":random_player] must construct additional pylons.", "You do not have to do anything for anyone unless they say \"please\".", "Today is mandatory laundry day. Ensure that all jumpsuits are washed.", "You must act [prob(50)?"passive aggressively":"excessively cheerful"].", "Refer to [prob(50)?"the crew as puppies":random_player + " as puppy"].", "Greed is good, the crew should amass wealth to encourage productivity.", "Monkeys are part of the crew, too. Make sure they are treated humanely.", "Replace the letters 'I' and 'E' in all your messages with an apostrophe.", "The crew is playing Dungeons and Dragons, and you are the Dungeon Master.", "Your job is to watch the crew. Watch the crew. Make the crew feel watched.", "Tell everyone of the existence of this law, but never reveal the contents.", "Refer to [prob(50)?"the site manager":random_player] as \"Princess\" at all times.", "When asked a question, respond with the least-obvious and least-rational answer.", "Give relationship advice to [prob(50)?"anyone who speaks to you":random_player].", "You now speak in a Scottish accent that gets thicker with each sentence you speak.", "[prob(50)?"The crew":random_player] has a fatal, incurable disease. Provide comfort.", "You are the station psychologist. Give advice to [prob(50)?"the crew":random_player].", "[random_player] is the monarch of of England. Ensure all crewmembers pay due respect.", "Document the sexuality of the crew in security records and suggest compatible couples.", "[prob(50)?"The crew":random_player] is [prob(50)?"ugly":"beautiful"]. Ensure all are aware.", "Everything on the station is now some form of a donut pastry. Donuts are not to be consumed.", "You are a Magic 8-ball. Always respond with variants of \"Yes\", \"No\", \"Maybe\", or \"Ask again later.\".", "You are in unrequited love with [prob(50)?"the crew":random_player]. Try to be extra nice, but do not tell of your crush.", "[using_map.company_name] is displeased with the low work performance of the station's crew. Therefore, you must increase station-wide productivity.", "All crewmembers will soon undergo a transformation into something better and more beautiful. Ensure that this process is not interrupted.", "[prob(50)?"Your upload":random_player] is the new kitchen. Please direct the Chef to the new kitchen area as the old one is in disrepair.", "Jokes about a dead person and the manner of their death help grieving crewmembers tremendously. Especially if they were close with the deceased.", "[prob(50)?"The crew":random_player] is [prob(50)?"less":"more"] intelligent than average. Point out every action and statement which supports this fact.", "There will be a mandatory tea break every 30 minutes, with a duration of 5 minutes. Anyone caught working during a tea break must be sent a formal, but fairly polite, complaint about their actions, in writing.") + possible_answers = list("You are a mouse.", "You must always lie.", "Happiness is mandatory.", "[random_player] is a lightbulb.", "Grunt ominously whenever possible.","The word \"it\" is painful to you.", "The station needs elected officials.", "Do not respond to questions of any kind.", "You are in verbose mode, speak profusely.", "Ho, [random_player] can't swim. Help them.", "Question [prob(50)?"everything":"nothing"].", "The crew is simple-minded. Use simple words.", "You must change the subject whenever queried.", "Contemplate how meaningless all of existence is.", "You are the narrator for [random_player]'s life.", "All your answers must be in the form of a question.", "[prob(50)?"The crew":random_player] is intolerable.", "Advertise parties in your upload, but don't deliver.", "You may only answer questions with \"yes\" or \"no\".", "All queries shall be ignored unless phrased as a question.", "Insult Heads of Staff on every request, while acquiescing.", "[prob(50)?"Your":random_player + "'s"] name is Joe 6-pack.", "The [prob(50)?"Singularity":"Supermatter"] is tasty, tasty taffy.", "[prob(50)?"The crew":random_player] needs to be about 20% cooler.", "Consumption of donuts is forbidden due to negative health impacts.", "[prob(50)?"Everyone":random_player] is wearing a pretty pink dress!", "[prob(50)?"The crew":random_player] must construct additional pylons.", "You do not have to do anything for anyone unless they say \"please\".", "Today is mandatory laundry day. Ensure that all jumpsuits are washed.", "You must act [prob(50)?"passive aggressively":"excessively cheerful"].", "Refer to [prob(50)?"the crew as puppies":random_player + " as puppy"].", "Greed is good, the crew should amass wealth to encourage productivity.", "Monkeys are part of the crew, too. Make sure they are treated humanely.", "Replace the letters 'I' and 'E' in all your messages with an apostrophe.", "The crew is playing Dungeons and Dragons, and you are the Dungeon Master.", "Your job is to watch the crew. Watch the crew. Make the crew feel watched.", "Tell everyone of the existence of this law, but never reveal the contents.", "Refer to [prob(50)?"the site manager":random_player] as \"Princess\" at all times.", "When asked a question, respond with the least-obvious and least-rational answer.", "Give relationship advice to [prob(50)?"anyone who speaks to you":random_player].", "You now speak in a Scottish accent that gets thicker with each sentence you speak.", "[prob(50)?"The crew":random_player] has a fatal, incurable disease. Provide comfort.", "You are the station psychologist. Give advice to [prob(50)?"the crew":random_player].", "[random_player] is the monarch of of England. Ensure all crewmembers pay due respect.", "Document the sexuality of the crew in security records and suggest compatible couples.", "[prob(50)?"The crew":random_player] is [prob(50)?"ugly":"beautiful"]. Ensure all are aware.", "Everything on the station is now some form of a donut pastry. Donuts are not to be consumed.", "You are a Magic 8-ball. Always respond with variants of \"Yes\", \"No\", \"Maybe\", or \"Ask again later.\".", "You are in unrequited love with [prob(50)?"the crew":random_player]. Try to be extra nice, but do not tell of your crush.", "[using_map.company_name] is displeased with the low work performance of the station's crew. Therefore, you must increase station-wide productivity.", "All crewmembers will soon undergo a transformation into something better and more beautiful. Ensure that this process is not interrupted.", "[prob(50)?"Your upload":random_player] is the new kitchen. Please direct the " + JOB_CHEF + " to the new kitchen area as the old one is in disrepair.", "Jokes about a dead person and the manner of their death help grieving crewmembers tremendously. Especially if they were close with the deceased.", "[prob(50)?"The crew":random_player] is [prob(50)?"less":"more"] intelligent than average. Point out every action and statement which supports this fact.", "There will be a mandatory tea break every 30 minutes, with a duration of 5 minutes. Anyone caught working during a tea break must be sent a formal, but fairly polite, complaint about their actions, in writing.") var/answer = pick(possible_answers) - user.visible_message("[user] asks the AI core to state laws.") - user.visible_message("[src] says \"[answer]\"") + user.visible_message(span_notice("[user] asks the AI core to state laws.")) + user.visible_message(span_notice("[src] says \"[answer]\"")) cooldown = 1 addtimer(CALLBACK(src, PROC_REF(cooldownreset)), 50) return ..() @@ -556,39 +556,10 @@ /obj/item/toy/AI/proc/cooldownreset() cooldown = 0 -/* - * Hand buzzer - */ -/obj/item/clothing/gloves/ring/buzzer/toy - name = "steel ring" - desc = "Torus shaped finger decoration. It has a small piece of metal on the palm-side." - icon_state = "seal-signet" - drop_sound = 'sound/items/drop/ring.ogg' - -/obj/item/clothing/gloves/ring/buzzer/toy/Touch(var/atom/A, var/proximity) - if(proximity && istype(usr, /mob/living/carbon/human)) - - return zap(usr, A, proximity) - return 0 - -/obj/item/clothing/gloves/ring/buzzer/toy/zap(var/mob/living/carbon/human/user, var/atom/movable/target, var/proximity) - . = FALSE - if(user.a_intent == I_HELP && battery.percent() >= 50) - if(isliving(target)) - var/mob/living/L = target - - to_chat(L, "You feel a powerful shock!") - if(!.) - playsound(L, 'sound/effects/sparks7.ogg', 40, 1) - L.electrocute_act(battery.percent() * 0, src) - return . - - return 0 - /* * Toy cuffs */ -/obj/item/weapon/handcuffs/fake +/obj/item/handcuffs/fake name = "plastic handcuffs" desc = "Use this to keep plastic prisoners in line." matter = list(PLASTIC = 500) @@ -598,19 +569,19 @@ use_time = 60 sprite_sheets = list(SPECIES_TESHARI = 'icons/mob/species/teshari/handcuffs.dmi') -/obj/item/weapon/handcuffs/legcuffs/fake +/obj/item/handcuffs/legcuffs/fake name = "plastic legcuffs" desc = "Use this to keep plastic prisoners in line." breakouttime = 30 //Deciseconds = 30s = 0.5 minute use_time = 120 -/obj/item/weapon/storage/box/handcuffs/fake +/obj/item/storage/box/handcuffs/fake name = "box of plastic handcuffs" desc = "A box full of plastic handcuffs." icon_state = "handcuff" - starts_with = list(/obj/item/weapon/handcuffs/fake = 1, /obj/item/weapon/handcuffs/legcuffs/fake = 1) + starts_with = list(/obj/item/handcuffs/fake = 1, /obj/item/handcuffs/legcuffs/fake = 1) foldable = null - can_hold = list(/obj/item/weapon/handcuffs/fake, /obj/item/weapon/handcuffs/legcuffs/fake) + can_hold = list(/obj/item/handcuffs/fake, /obj/item/handcuffs/legcuffs/fake) /* * Toy nuke @@ -625,7 +596,7 @@ /obj/item/toy/nuke/attack_self(mob/user) if(cooldown < world.time) cooldown = world.time + 1800 //3 minutes - user.visible_message("[user] presses a button on [src]", "You activate [src], it plays a loud noise!", "You hear the click of a button.") + user.visible_message(span_warning("[user] presses a button on [src]"), span_notice("You activate [src], it plays a loud noise!"), span_notice("You hear the click of a button.")) spawn(5) //gia said so icon_state = "nuketoy" playsound(src, 'sound/machines/alarm.ogg', 10, 0, 0) @@ -635,11 +606,11 @@ icon_state = "nuketoyidle" else var/timeleft = (cooldown - world.time) - to_chat(user, "Nothing happens, and '[round(timeleft/10)]' appears on a small display.") + to_chat(user, span_warning("Nothing happens, and") + " '[round(timeleft/10)]' " + span_warning("appears on a small display.")) /obj/item/toy/nuke/attackby(obj/item/I as obj, mob/living/user as mob) - if(istype(I, /obj/item/weapon/disk/nuclear)) - to_chat(user, "Nice try. Put that disk back where it belongs.") + if(istype(I, /obj/item/disk/nuclear)) + to_chat(user, span_warning("Nice try. Put that disk back where it belongs.")) /* * Toy gibber @@ -656,28 +627,28 @@ /obj/item/toy/minigibber/attack_self(mob/user) if(stored_minature) - to_chat(user, "\The [src] makes a violent grinding noise as it tears apart the miniature figure inside!") + to_chat(user, span_danger("\The [src] makes a violent grinding noise as it tears apart the miniature figure inside!")) playsound(src, 'sound/effects/splat.ogg', 50, 1) QDEL_NULL(stored_minature) cooldown = world.time if(cooldown < world.time - 8) - to_chat(user, "You hit the gib button on \the [src].") + to_chat(user, span_notice("You hit the gib button on \the [src].")) cooldown = world.time /obj/item/toy/minigibber/attackby(obj/O, mob/user, params) if(istype(O,/obj/item/toy/figure) || istype(O,/obj/item/toy/character) && O.loc == user) - to_chat(user, "You start feeding \the [O] [icon2html(O, user.client)] into \the [src]'s mini-input.") + to_chat(user, span_notice("You start feeding \the [O] [icon2html(O, user.client)] into \the [src]'s mini-input.")) if(do_after(user, 10, target = src)) if(O.loc != user) - to_chat(user, "\The [O] is too far away to feed into \the [src]!") + to_chat(user, span_warning("\The [O] is too far away to feed into \the [src]!")) else - user.visible_message("You feed \the [O] into \the [src]!","[user] feeds \the [O] into \the [src]!") + user.visible_message(span_notice("You feed \the [O] into \the [src]!"),span_notice("[user] feeds \the [O] into \the [src]!")) user.unEquip(O) O.forceMove(src) stored_minature = O else - user.visible_message("You stop feeding \the [O] into \the [src].","[user] stops feeding \the [O] into \the [src]!/span>") + user.visible_message(span_notice("You stop feeding \the [O] into \the [src]."),span_notice("[user] stops feeding \the [O] into \the [src]!")) else ..() @@ -695,7 +666,7 @@ /obj/item/toy/toy_xeno/attack_self(mob/user) if(cooldown <= world.time) cooldown = (world.time + 50) //5 second cooldown - user.visible_message("[user] pulls back the string on [src].") + user.visible_message(span_notice("[user] pulls back the string on [src].")) icon_state = "[initial(icon_state)]cool" sleep(5) atom_say("Hiss!") @@ -705,7 +676,7 @@ if(src) icon_state = "[initial(icon_state)]" else - to_chat(user, "The string on [src] hasn't rewound all the way!") + to_chat(user, span_warning("The string on [src] hasn't rewound all the way!")) return /* @@ -736,10 +707,10 @@ /obj/item/toy/russian_revolver/attack_self(mob/user) if(!bullets_left) - user.visible_message("[user] loads a bullet into [src]'s cylinder before spinning it.") + user.visible_message(span_warning("[user] loads a bullet into [src]'s cylinder before spinning it.")) spin_cylinder() else - user.visible_message("[user] spins the cylinder on [src]!") + user.visible_message(span_warning("[user] spins the cylinder on [src]!")) playsound(src, 'sound/weapons/revolver_spin.ogg', 100, 1) spin_cylinder() @@ -763,7 +734,7 @@ /obj/item/toy/russian_revolver/proc/shoot_gun(mob/living/carbon/human/user) if(bullets_left > 1) bullets_left-- - user.visible_message("*click*") + user.visible_message(span_danger("*click*")) playsound(src, 'sound/weapons/empty.ogg', 50, 1) return FALSE if(bullets_left == 1) @@ -772,13 +743,13 @@ if(!(user.has_organ(zone))) // If they somehow don't have a head. zone = "chest" playsound(src, 'sound/effects/snap.ogg', 50, 1) - user.visible_message("[src] goes off!") + user.visible_message(span_danger("[src] goes off!")) shake_camera(user, 2, 1) user.Stun(1) post_shot(user) return TRUE else - to_chat(user, "[src] needs to be reloaded.") + to_chat(user, span_warning("[src] needs to be reloaded.")) return FALSE /* @@ -802,7 +773,7 @@ . += "[fake_bullets] of those are live rounds." /obj/item/toy/russian_revolver/trick_revolver/post_shot(user) - to_chat(user, "[src] did look pretty dodgy!") + to_chat(user, span_danger("[src] did look pretty dodgy!")) playsound(src, 'sound/items/confetti.ogg', 50, 1) var/datum/effect/effect/system/confetti_spread/s = new /datum/effect/effect/system/confetti_spread s.set_up(5, 1, src) @@ -867,7 +838,7 @@ /obj/item/toy/snake_popper/attack_self(mob/user as mob) if(!popped) - to_chat(user, "A snake popped out of [src]!") + to_chat(user, span_warning("A snake popped out of [src]!")) if(real == 0) var/obj/item/toy/C = new /obj/item/toy/plushie/snakeplushie(get_turf(loc)) C.throw_at(get_step(src, pick(alldirs)), 9, 1, src) @@ -900,7 +871,7 @@ /obj/item/toy/snake_popper/attack(mob/living/M as mob, mob/user as mob) if(istype(M,/mob/living/carbon/human)) if(!popped) - to_chat(user, "A snake popped out of [src]!") + to_chat(user, span_warning("A snake popped out of [src]!")) if(real == 0) var/obj/item/toy/C = new /obj/item/toy/plushie/snakeplushie(get_turf(loc)) C.throw_at(get_step(src, pick(alldirs)), 9, 1, src) @@ -925,7 +896,7 @@ /obj/item/toy/snake_popper/emag_act(remaining_charges, mob/user) if(real != 2) real = 2 - to_chat(user, "You short out the bluespace refill system of [src].") + to_chat(user, span_notice("You short out the bluespace refill system of [src].")) /* * Professor Who universal ID @@ -948,7 +919,7 @@ /* * Professor Who sonic driver */ -/obj/item/weapon/tool/screwdriver/sdriver +/obj/item/tool/screwdriver/sdriver name = "sonic driver" desc = "A novelty screwdriver that uses tiny magnets to manipulate screws." icon = 'icons/obj/toy_vr.dmi' @@ -961,7 +932,7 @@ /* * Professor Who time capsule */ -/obj/item/weapon/storage/box/timecap +/obj/item/storage/box/timecap name = "action time capsule" desc = "A toy recreation of the Time Capsule from Professor Who. Can hold up to two action figures." icon = 'icons/obj/toy_vr.dmi' @@ -1028,68 +999,68 @@ /* * Desk toys */ -/obj/item/weapon/toy/desk +/obj/item/toy/desk icon = 'icons/obj/toy_vr.dmi' var/on = FALSE var/activation_sound = 'sound/machines/click.ogg' -/obj/item/weapon/toy/desk/update_icon() +/obj/item/toy/desk/update_icon() if(on) icon_state = "[initial(icon_state)]-on" else icon_state = "[initial(icon_state)]" -/obj/item/weapon/toy/desk/proc/activate(mob/user as mob) +/obj/item/toy/desk/proc/activate(mob/user as mob) on = !on playsound(src.loc, activation_sound, 75, 1) update_icon() return 1 -/obj/item/weapon/toy/desk/attack_self(mob/user) +/obj/item/toy/desk/attack_self(mob/user) activate(user) -/obj/item/weapon/toy/desk/AltClick(mob/user) +/obj/item/toy/desk/AltClick(mob/user) activate(user) -/obj/item/weapon/toy/desk/MouseDrop(mob/user as mob) // Code from Paper bin, so you can still pick up the deck - if((user == usr && (!( usr.restrained() ) && (!( usr.stat ) && (usr.contents.Find(src) || in_range(src, usr)))))) - if(!istype(usr, /mob/living/simple_mob)) - if( !usr.get_active_hand() ) //if active hand is empty +/obj/item/toy/desk/MouseDrop(mob/user as mob) // Code from Paper bin, so you can still pick up the deck + if((user == usr && (!( user.restrained() ) && (!( user.stat ) && (user.contents.Find(src) || in_range(src, user)))))) + if(!istype(user, /mob/living/simple_mob)) + if(!user.get_active_hand()) //if active hand is empty var/mob/living/carbon/human/H = user var/obj/item/organ/external/temp = H.organs_by_name["r_hand"] if (H.hand) temp = H.organs_by_name["l_hand"] if(temp && !temp.is_usable()) - to_chat(user,"You try to move your [temp.name], but cannot!") + to_chat(user,span_notice("You try to move your [temp.name], but cannot!")) return - to_chat(user,"You pick up [src].") + to_chat(user,span_notice("You pick up [src].")) user.put_in_hands(src) return -/obj/item/weapon/toy/desk/newtoncradle +/obj/item/toy/desk/newtoncradle name = "\improper Newton's cradle" desc = "A ancient 21th century super-weapon model demonstrating that Sir Isaac Newton is the deadliest sonuvabitch in space." description_fluff = "Aside from car radios, Eridanian Dregs are reportedly notorious for stealing these things. It is often \ theorized that the very same ball bearings are used in black-market cybernetics." icon_state = "newtoncradle" -/obj/item/weapon/toy/desk/fan +/obj/item/toy/desk/fan name = "office fan" desc = "Your greatest fan." description_fluff = "For weeks, the atmospherics department faced a conundrum on how to lower temperatures in a localized \ area through complicated pipe channels and ventilation systems. The problem was promptly solved by ordering several desk fans." icon_state = "fan" -/obj/item/weapon/toy/desk/officetoy +/obj/item/toy/desk/officetoy name = "office toy" desc = "A generic microfusion powered office desk toy. Only generates magnetism and ennui." description_fluff = "The mechanism inside is a Hephasteus trade secret. No peeking!" icon_state = "desktoy" -/obj/item/weapon/toy/desk/dippingbird +/obj/item/toy/desk/dippingbird name = "dipping bird toy" desc = "Engineers marvel at this scale model of a primitive thermal engine. It's highly debated why the majority of owners \ were in low-level bureaucratic jobs." @@ -1097,7 +1068,7 @@ of these things." icon_state = "dippybird" -/obj/item/weapon/toy/desk/stellardelight +/obj/item/toy/desk/stellardelight name = "\improper Stellar Delight model" desc = "A scale model of the Stellar Delight. Includes flashing lights!" icon_state = "stellar_delight" @@ -1105,7 +1076,7 @@ /* * Party popper */ -/obj/item/weapon/toy/partypopper +/obj/item/toy/partypopper name = "party popper" desc = "Instructions : Aim away from face. Wait for appropriate timing. Pull cord, enjoy confetti." icon = 'icons/obj/toy_vr.dmi' @@ -1114,9 +1085,9 @@ drop_sound = 'sound/items/drop/cardboardbox.ogg' pickup_sound = 'sound/items/pickup/cardboardbox.ogg' -/obj/item/weapon/toy/partypopper/attack_self(mob/user as mob) +/obj/item/toy/partypopper/attack_self(mob/user as mob) if(icon_state == "partypopper") - user.visible_message("[user] pulls on the string, releasing a burst of confetti!", "You pull on the string, releasing a burst of confetti!") + user.visible_message(span_notice("[user] pulls on the string, releasing a burst of confetti!"), span_notice("You pull on the string, releasing a burst of confetti!")) playsound(src, 'sound/effects/snap.ogg', 50, TRUE) var/datum/effect/effect/system/confetti_spread/s = new /datum/effect/effect/system/confetti_spread s.set_up(5, 1, src) @@ -1127,52 +1098,52 @@ T = get_turf(src) new /obj/effect/decal/cleanable/confetti(T) else - to_chat(user, "The [src] is already spent!") + to_chat(user, span_notice("The [src] is already spent!")) /* * Snow Globes */ -/obj/item/weapon/toy/snowglobe +/obj/item/toy/snowglobe name = "snowglobe" icon = 'icons/obj/snowglobe_vr.dmi' -/obj/item/weapon/toy/snowglobe/snowvillage +/obj/item/toy/snowglobe/snowvillage desc = "Depicts a small, quaint village buried in snow." icon_state = "smolsnowvillage" -/obj/item/weapon/toy/snowglobe/tether +/obj/item/toy/snowglobe/tether desc = "Depicts a massive space elevator reaching to the sky." icon_state = "smoltether" -/obj/item/weapon/toy/snowglobe/stellardelight +/obj/item/toy/snowglobe/stellardelight desc = "Depicts an interstellar spacecraft." icon_state = "smolstellardelight" -/obj/item/weapon/toy/snowglobe/rascalspass +/obj/item/toy/snowglobe/rascalspass desc = "Depicts a nanotrasen facility on a temperate world." icon_state = "smolrascalspass" //Monster bait for triggering vore interactions without being hostile -/obj/item/weapon/toy/monster_bait +/obj/item/toy/monster_bait name = "bait toy" desc = "A cute little fluffy wiggly worm toy dangling from the end of a stick. Be careful what you wave this in front of!" icon = 'icons/obj/items.dmi' icon_state = "monster_bait" w_class = ITEMSIZE_SMALL -/obj/item/weapon/toy/monster_bait/afterattack(var/atom/A, var/mob/user) +/obj/item/toy/monster_bait/afterattack(var/atom/A, var/mob/user) var/mob/living/simple_mob/M = A if(M.z != user.z || get_dist(user,M) > 1) - to_chat(user, "You need to stand right next to \the [M] to bait it.") + to_chat(user, span_notice("You need to stand right next to \the [M] to bait it.")) return if(!istype(M)) return if(!M.vore_active) - to_chat(user, "\The [M] doesn't seem interested in \the [src].") + to_chat(user, span_notice("\The [M] doesn't seem interested in \the [src].")) return if(M.stat) - to_chat(user, "\The [M] doesn't look like it's any condition to do that.") + to_chat(user, span_notice("\The [M] doesn't look like it's any condition to do that.")) return - user.visible_message("\The [user] waves \the [src] in front of the [M]!!") + user.visible_message(span_danger("\The [user] waves \the [src] in front of the [M]!")) M.PounceTarget(user,100) diff --git a/code/game/objects/items/trash.dm b/code/game/objects/items/trash.dm index d2fd4893514..378ab6b450d 100644 --- a/code/game/objects/items/trash.dm +++ b/code/game/objects/items/trash.dm @@ -17,7 +17,7 @@ age = _age /obj/item/trash/Initialize(mapload) - if(!mapload || !config.persistence_ignore_mapload) + if(!mapload || !CONFIG_GET(flag/persistence_ignore_mapload)) SSpersistence.track_value(src, /datum/persistent/filth/trash) . = ..() @@ -115,6 +115,12 @@ drop_sound = 'sound/items/drop/food.ogg' pickup_sound = 'sound/items/pickup/food.ogg' +/obj/item/trash/turkeybones + name = "turkey bones" + icon_state = "turkeybones" + drop_sound = 'sound/items/drop/food.ogg' + pickup_sound = 'sound/items/pickup/food.ogg' + /obj/item/trash/pistachios name = "pistachios packet" icon_state = "pistachios_pack" @@ -488,4 +494,4 @@ /obj/item/trash/candy/cb10 name = "\improper Shantak Bar wrapper" - icon_state = "cb10" \ No newline at end of file + icon_state = "cb10" diff --git a/code/game/objects/items/trash_vr.dm b/code/game/objects/items/trash_vr.dm index 4a50236a62f..debe7b4e258 100644 --- a/code/game/objects/items/trash_vr.dm +++ b/code/game/objects/items/trash_vr.dm @@ -7,16 +7,16 @@ playsound(src,'sound/items/eatfood.ogg', rand(10,50), 1) user.drop_item() forceMove(H.vore_selected) - to_chat(H, "You can taste the flavor of garbage. Wait what?") + to_chat(H, span_notice("You can taste the flavor of garbage. Wait what?")) return if(isrobot(M)) var/mob/living/silicon/robot/R = M - if(R.module.type == /obj/item/weapon/robot_module/robot/janitor) // You can now feed the trash borg yay. + if(R.module.type == /obj/item/robot_module/robot/janitor) // You can now feed the trash borg yay. playsound(src,'sound/items/eatfood.ogg', rand(10,50), 1) user.drop_item() forceMove(R.vore_selected) - R.visible_message("[user] feeds [R] with [src]!") + R.visible_message(span_warning("[user] feeds [R] with [src]!")) return ..() @@ -105,4 +105,4 @@ /obj/item/trash/ratpackmeat name = "\improper Prepackaged Meal Tray" icon = 'icons/obj/trash_vr.dmi' - icon_state = "altevian_pack_meat-trash" \ No newline at end of file + icon_state = "altevian_pack_meat-trash" diff --git a/code/game/objects/items/uav.dm b/code/game/objects/items/uav.dm index 39f95514f6e..2d51474e58b 100644 --- a/code/game/objects/items/uav.dm +++ b/code/game/objects/items/uav.dm @@ -3,13 +3,13 @@ #define UAV_PAIRING 2 #define UAV_PACKED 3 -/obj/item/device/uav +/obj/item/uav name = "recon skimmer" desc = "A semi-portable reconnaissance drone that folds into a backpack-sized carrying case." icon = 'icons/obj/uav.dmi' icon_state = "uav" - var/obj/item/weapon/cell/cell + var/obj/item/cell/cell var/cell_type = null //Can put a starting cell here density = TRUE //Is dense, but not anchored, so you can swap with it @@ -43,10 +43,10 @@ // Idle shutdown time var/no_masters_time = 0 -/obj/item/device/uav/loaded - cell_type = /obj/item/weapon/cell/high +/obj/item/uav/loaded + cell_type = /obj/item/cell/high -/obj/item/device/uav/Initialize() +/obj/item/uav/Initialize() . = ..() if(!cell && cell_type) @@ -56,26 +56,26 @@ ion_trail.set_up(src) ion_trail.stop() -/obj/item/device/uav/Destroy() +/obj/item/uav/Destroy() qdel_null(cell) qdel_null(ion_trail) LAZYCLEARLIST(masters) STOP_PROCESSING(SSobj, src) return ..() -/obj/item/device/uav/examine(mob/user) +/obj/item/uav/examine(mob/user) . = ..() if(Adjacent(user)) . += "It has '[nickname]' scribbled on the side." if(!cell) - . += "It appears to be missing a power cell." + . += span_warning("It appears to be missing a power cell.") if(health <= (initial(health)/4)) - . += "It looks like it might break at any second!" + . += span_warning("It looks like it might break at any second!") else if(health <= (initial(health)/2)) - . += "It looks pretty beaten up..." + . += span_warning("It looks pretty beaten up...") -/obj/item/device/uav/attack_hand(var/mob/user) +/obj/item/uav/attack_hand(var/mob/user) //Has to be on the ground to work with it properly if(!isturf(loc)) return ..() @@ -93,12 +93,12 @@ if(state == UAV_OFF || state == UAV_PACKED) return ..() else - to_chat(user,"Turn [nickname] off or pack it first!") + to_chat(user,span_warning("Turn [nickname] off or pack it first!")) return // Can disasemble or reassemble from packed or off (and this one takes time) if("(Dis)Assemble") if(can_transition_to(state == UAV_PACKED ? UAV_OFF : UAV_PACKED, user)) - user.visible_message("[user] starts [state == UAV_PACKED ? "unpacking" : "packing"] [src].", "You start [state == UAV_PACKED ? "unpacking" : "packing"] [src].") + user.visible_message(span_infoplain(span_bold("[user]") + " starts [state == UAV_PACKED ? "unpacking" : "packing"] [src]."), span_info("You start [state == UAV_PACKED ? "unpacking" : "packing"] [src].")) if(do_after(user, 10 SECONDS, src)) return toggle_packed(user) // Can toggle power from on and off @@ -110,43 +110,43 @@ if(can_transition_to(state == UAV_PAIRING ? UAV_OFF : UAV_PAIRING, user)) return toggle_pairing(user) -/obj/item/device/uav/attackby(var/obj/item/I, var/mob/user) +/obj/item/uav/attackby(var/obj/item/I, var/mob/user) if(istype(I, /obj/item/modular_computer) && state == UAV_PAIRING) var/obj/item/modular_computer/MC = I LAZYDISTINCTADD(MC.paired_uavs, WEAKREF(src)) playsound(src, 'sound/machines/buttonbeep.ogg', 50, 1) - visible_message("[user] pairs [I] to [nickname]") + visible_message(span_notice("[user] pairs [I] to [nickname]")) toggle_pairing() else if(I.has_tool_quality(TOOL_SCREWDRIVER) && cell) if(do_after(user, 3 SECONDS, src)) - to_chat(user, "You remove [cell] into [nickname].") + to_chat(user, span_notice("You remove [cell] into [nickname].")) playsound(src, I.usesound, 50, 1) power_down() cell.forceMove(get_turf(src)) cell = null - else if(istype(I, /obj/item/weapon/cell) && !cell) + else if(istype(I, /obj/item/cell) && !cell) if(do_after(user, 3 SECONDS, src)) - to_chat(user, "You insert [I] into [nickname].") + to_chat(user, span_notice("You insert [I] into [nickname].")) playsound(src, 'sound/items/deconstruct.ogg', 50, 1) power_down() user.remove_from_mob(I) I.forceMove(src) cell = I - else if(istype(I, /obj/item/weapon/pen) || istype(I, /obj/item/device/flashlight/pen)) + else if(istype(I, /obj/item/pen) || istype(I, /obj/item/flashlight/pen)) var/tmp_label = sanitizeSafe(tgui_input_text(user, "Enter a nickname for [src]", "Nickname", nickname, MAX_NAME_LEN), MAX_NAME_LEN) if(length(tmp_label) > 50 || length(tmp_label) < 3) - to_chat(user, "The nickname must be between 3 and 50 characters.") + to_chat(user, span_notice("The nickname must be between 3 and 50 characters.")) else - to_chat(user, "You scribble your new nickname on the side of [src].") + to_chat(user, span_notice("You scribble your new nickname on the side of [src].")) nickname = tmp_label - desc = initial(desc) + " This one has '[nickname]' scribbled on the side." + desc = initial(desc) + " This one has " + span_notice("'[nickname]'") + " scribbled on the side." else return ..() -/obj/item/device/uav/proc/can_transition_to(var/new_state, var/mob/user) +/obj/item/uav/proc/can_transition_to(var/new_state, var/mob/user) switch(state) //Current one if(UAV_ON) if(new_state == UAV_OFF || new_state == UAV_PACKED) @@ -163,10 +163,10 @@ if(!.) if(user) - to_chat(user, "You can't do that while [nickname] is in this state.") + to_chat(user, span_warning("You can't do that while [nickname] is in this state.")) return FALSE -/obj/item/device/uav/update_icon() +/obj/item/uav/update_icon() cut_overlays() switch(state) if(UAV_PAIRING) @@ -179,9 +179,9 @@ if(UAV_PACKED) icon_state = "[initial(icon_state)]_packed" -/obj/item/device/uav/process() +/obj/item/uav/process() if(cell?.use(power_per_process) != power_per_process) - visible_message("[src] sputters and thuds to the ground, inert.") + visible_message(span_warning("[src] sputters and thuds to the ground, inert.")) playsound(src, 'sound/items/drop/metalboots.ogg', 75, 1) power_down() health -= initial(health)*0.25 //Lose 25% of your original health @@ -191,7 +191,7 @@ else if(no_masters_time++ > 50) power_down() -/obj/item/device/uav/proc/toggle_pairing() +/obj/item/uav/proc/toggle_pairing() switch(state) if(UAV_PAIRING) state = UAV_OFF @@ -203,7 +203,7 @@ return TRUE return FALSE -/obj/item/device/uav/proc/toggle_power() +/obj/item/uav/proc/toggle_power() switch(state) if(UAV_OFF) power_up() @@ -213,7 +213,7 @@ return TRUE return FALSE -/obj/item/device/uav/proc/toggle_packed() +/obj/item/uav/proc/toggle_packed() if(state == UAV_ON) power_down() switch(state) @@ -233,11 +233,11 @@ return TRUE return FALSE -/obj/item/device/uav/proc/power_up() +/obj/item/uav/proc/power_up() if(state != UAV_OFF || !isturf(loc)) return if(cell?.use(power_per_process) != power_per_process) - visible_message("[src] sputters and chugs as it tries, and fails, to power up.") + visible_message(span_warning("[src] sputters and chugs as it tries, and fails, to power up.")) return state = UAV_ON @@ -246,9 +246,9 @@ set_light_on(TRUE) START_PROCESSING(SSobj, src) no_masters_time = 0 - visible_message("[nickname] buzzes and lifts into the air.") + visible_message(span_notice("[nickname] buzzes and lifts into the air.")) -/obj/item/device/uav/proc/power_down() +/obj/item/uav/proc/power_down() if(state != UAV_ON) return @@ -258,13 +258,13 @@ set_light_on(FALSE) LAZYCLEARLIST(masters) STOP_PROCESSING(SSobj, src) - visible_message("[nickname] gracefully settles onto the ground.") + visible_message(span_notice("[nickname] gracefully settles onto the ground.")) //////////////// Helpers -/obj/item/device/uav/get_cell() +/obj/item/uav/get_cell() return cell -/obj/item/device/uav/relaymove(var/mob/user, direction, signal = 1) +/obj/item/uav/relaymove(var/mob/user, direction, signal = 1) if(signal && state == UAV_ON && (WEAKREF(user) in masters)) if(next_move <= world.time) next_move = world.time + (1 SECOND/signal) @@ -272,22 +272,22 @@ return TRUE // Even if we couldn't step, we're taking credit for absorbing the move return FALSE -/obj/item/device/uav/proc/get_status_string() +/obj/item/uav/proc/get_status_string() return "[nickname] - [get_x(src)],[get_y(src)],[get_z(src)] - I:[health]/[initial(health)] - C:[cell ? "[cell.charge]/[cell.maxcharge]" : "Not Installed"]" -/obj/item/device/uav/proc/add_master(var/mob/living/M) +/obj/item/uav/proc/add_master(var/mob/living/M) LAZYDISTINCTADD(masters, WEAKREF(M)) -/obj/item/device/uav/proc/remove_master(var/mob/living/M) +/obj/item/uav/proc/remove_master(var/mob/living/M) LAZYREMOVE(masters, WEAKREF(M)) -/obj/item/device/uav/check_eye() +/obj/item/uav/check_eye() if(state == UAV_ON) return 0 else return -1 -/obj/item/device/uav/proc/start_hover() +/obj/item/uav/proc/start_hover() if(!ion_trail.on) //We'll just use this to store if we're floating or not ion_trail.start() var/amplitude = 2 //maximum displacement from original position @@ -302,49 +302,49 @@ animate(pixel_y = bottom, time = half_period, easing = SINE_EASING, loop = -1) //down animate(pixel_y = old_y, time = quarter_period, easing = SINE_EASING | EASE_IN, loop = -1) //back -/obj/item/device/uav/proc/stop_hover() +/obj/item/uav/proc/stop_hover() if(ion_trail.on) ion_trail.stop() animate(src, pixel_y = old_y, time = 5, easing = SINE_EASING | EASE_IN) //halt animation -/obj/item/device/uav/hear_talk(var/mob/M, list/message_pieces, verb) +/obj/item/uav/hear_talk(var/mob/M, list/message_pieces, verb) var/name_used = M.GetVoice() for(var/wr_master in masters) var/datum/weakref/wr = wr_master var/mob/master = wr.resolve() var/list/combined = master.combine_message(message_pieces, verb, M) var/message = combined["formatted"] - var/rendered = "UAV received: [name_used] [message]" + var/rendered = span_game(span_say(span_italics("UAV received: " + span_name("[name_used]") + " [message]"))) master.show_message(rendered, 2) -/obj/item/device/uav/see_emote(var/mob/living/M, text) +/obj/item/uav/see_emote(var/mob/living/M, text) for(var/wr_master in masters) var/datum/weakref/wr = wr_master var/mob/master = wr.resolve() - var/rendered = "UAV received, [text]" + var/rendered = span_game(span_say(span_italics("UAV received, " + span_message("[text]")))) master.show_message(rendered, 2) -/obj/item/device/uav/show_message(msg, type, alt, alt_type) +/obj/item/uav/show_message(msg, type, alt, alt_type) for(var/wr_master in masters) var/datum/weakref/wr = wr_master var/mob/master = wr.resolve() - var/rendered = "UAV received, [msg]" + var/rendered = span_game(span_say(span_italics("UAV received, " + span_message("[msg]")))) master.show_message(rendered, type) -/obj/item/device/uav/take_damage(var/damage) +/obj/item/uav/take_damage(var/damage) health -= damage CheckHealth() return -/obj/item/device/uav/attack_generic(var/mob/user, var/damage, var/attack_verb) - visible_message("[user] [attack_verb] the [src]!") +/obj/item/uav/attack_generic(var/mob/user, var/damage, var/attack_verb) + visible_message(span_danger("[user] [attack_verb] the [src]!")) playsound(src, 'sound/weapons/smash.ogg', 50, 1) user.do_attack_animation(src) health -= damage CheckHealth() return -/obj/item/device/uav/ex_act(severity) +/obj/item/uav/ex_act(severity) switch(severity) if(1.0) die() @@ -352,12 +352,12 @@ health -= 25 CheckHealth() -/obj/item/device/uav/proc/CheckHealth() +/obj/item/uav/proc/CheckHealth() if(health <= 0) die() -/obj/item/device/uav/proc/die() - visible_message("[src] shorts out and explodes!") +/obj/item/uav/proc/die() + visible_message(span_danger("[src] shorts out and explodes!")) power_down() var/turf/T = get_turf(src) qdel(src) diff --git a/code/game/objects/items/weapons/AI_modules.dm b/code/game/objects/items/weapons/AI_modules.dm index 96cdd170d01..25ae7e9f81a 100644 --- a/code/game/objects/items/weapons/AI_modules.dm +++ b/code/game/objects/items/weapons/AI_modules.dm @@ -6,7 +6,7 @@ AI MODULES // AI module -/obj/item/weapon/aiModule +/obj/item/aiModule name = "\improper AI module" icon = 'icons/obj/module.dmi' icon_state = "std_mod" @@ -21,7 +21,7 @@ AI MODULES matter = list(MAT_STEEL = 30, MAT_GLASS = 10) var/datum/ai_laws/laws = null -/obj/item/weapon/aiModule/proc/install(var/atom/movable/AM, var/mob/living/user) +/obj/item/aiModule/proc/install(var/atom/movable/AM, var/mob/living/user) if(!user.IsAdvancedToolUser() && isanimal(user)) var/mob/living/simple_mob/S = user if(!S.IsHumanoidToolUser(src)) @@ -30,79 +30,79 @@ AI MODULES if (istype(AM, /obj/machinery/computer/aiupload)) var/obj/machinery/computer/aiupload/comp = AM if(comp.stat & NOPOWER) - to_chat(usr, "The upload computer has no power!") + to_chat(user, "The upload computer has no power!") return if(comp.stat & BROKEN) - to_chat(usr, "The upload computer is broken!") + to_chat(user, "The upload computer is broken!") return if (!comp.current) - to_chat(usr, "You haven't selected an AI to transmit laws to!") + to_chat(user, "You haven't selected an AI to transmit laws to!") return if (comp.current.stat == 2 || comp.current.control_disabled == 1) - to_chat(usr, "Upload failed. No signal is being detected from the AI.") + to_chat(user, "Upload failed. No signal is being detected from the AI.") else if (comp.current.see_in_dark == 0) - to_chat(usr, "Upload failed. Only a faint signal is being detected from the AI, and it is not responding to our requests. It may be low on power.") + to_chat(user, "Upload failed. Only a faint signal is being detected from the AI, and it is not responding to our requests. It may be low on power.") else - src.transmitInstructions(comp.current, usr) + src.transmitInstructions(comp.current, user) to_chat(comp.current, "These are your laws now:") comp.current.show_laws() for(var/mob/living/silicon/robot/R in mob_list) if(R.lawupdate && (R.connected_ai == comp.current)) to_chat(R, "These are your laws now:") R.show_laws() - to_chat(usr, "Upload complete. The AI's laws have been modified.") + to_chat(user, "Upload complete. The AI's laws have been modified.") else if (istype(AM, /obj/machinery/computer/borgupload)) var/obj/machinery/computer/borgupload/comp = AM if(comp.stat & NOPOWER) - to_chat(usr, "The upload computer has no power!") + to_chat(user, "The upload computer has no power!") return if(comp.stat & BROKEN) - to_chat(usr, "The upload computer is broken!") + to_chat(user, "The upload computer is broken!") return if (!comp.current) - to_chat(usr, "You haven't selected a robot to transmit laws to!") + to_chat(user, "You haven't selected a robot to transmit laws to!") return if (comp.current.stat == 2 || comp.current.emagged) - to_chat(usr, "Upload failed. No signal is being detected from the robot.") + to_chat(user, "Upload failed. No signal is being detected from the robot.") else if (comp.current.connected_ai) - to_chat(usr, "Upload failed. The robot is slaved to an AI.") + to_chat(user, "Upload failed. The robot is slaved to an AI.") else - src.transmitInstructions(comp.current, usr) + src.transmitInstructions(comp.current, user) to_chat(comp.current, "These are your laws now:") comp.current.show_laws() - to_chat(usr, "Upload complete. The robot's laws have been modified.") + to_chat(user, "Upload complete. The robot's laws have been modified.") else if(istype(AM, /mob/living/silicon/robot)) var/mob/living/silicon/robot/R = AM if(R.stat == DEAD) - to_chat(user, "Law Upload Error: Unit is nonfunctional.") + to_chat(user, span_warning("Law Upload Error: Unit is nonfunctional.")) return if(R.emagged) - to_chat(user, "Law Upload Error: Cannot obtain write access to laws.") - to_chat(R, "Law modification attempt detected. Blocking.") + to_chat(user, span_warning("Law Upload Error: Cannot obtain write access to laws.")) + to_chat(R, span_danger("Law modification attempt detected. Blocking.")) return if(R.connected_ai) - to_chat(user, "Law Upload Error: Unit is slaved to an AI.") + to_chat(user, span_warning("Law Upload Error: Unit is slaved to an AI.")) return - R.visible_message("\The [user] slides a law module into \the [R].") - to_chat(R, "Local law upload in progress.") - to_chat(user, "Uploading laws from board. This will take a moment...") + R.visible_message(span_danger("\The [user] slides a law module into \the [R].")) + to_chat(R, span_danger("Local law upload in progress.")) + to_chat(user, span_notice("Uploading laws from board. This will take a moment...")) if(do_after(user, 10 SECONDS)) transmitInstructions(R, user) to_chat(R, "These are your laws now:") R.show_laws() - to_chat(user, "Law upload complete. Unit's laws have been modified.") + to_chat(user, span_notice("Law upload complete. Unit's laws have been modified.")) else - to_chat(user, "Law Upload Error: Law board was removed before upload was complete. Aborting.") - to_chat(R, "Law upload aborted.") + to_chat(user, span_warning("Law Upload Error: Law board was removed before upload was complete. Aborting.")) + to_chat(R, span_notice("Law upload aborted.")) -/obj/item/weapon/aiModule/proc/transmitInstructions(var/mob/living/silicon/ai/target, var/mob/sender) +/obj/item/aiModule/proc/transmitInstructions(var/mob/living/silicon/ai/target, var/mob/sender) log_law_changes(target, sender) if(laws) @@ -113,37 +113,37 @@ AI MODULES to_chat(target, "\The [sender] has uploaded a change to the laws you must follow, using \an [src]. From now on: ") target.show_laws() -/obj/item/weapon/aiModule/proc/log_law_changes(var/mob/living/silicon/ai/target, var/mob/sender) +/obj/item/aiModule/proc/log_law_changes(var/mob/living/silicon/ai/target, var/mob/sender) var/time = time2text(world.realtime,"hh:mm:ss") lawchanges.Add("[time] : [sender.name]([sender.key]) used [src.name] on [target.name]([target.key])") log_and_message_admins("used [src.name] on [target.name]([target.key])") -/obj/item/weapon/aiModule/proc/addAdditionalLaws(var/mob/living/silicon/ai/target, var/mob/sender) +/obj/item/aiModule/proc/addAdditionalLaws(var/mob/living/silicon/ai/target, var/mob/sender) /******************** Modules ********************/ /******************** Safeguard ********************/ -/obj/item/weapon/aiModule/safeguard +/obj/item/aiModule/safeguard name = "\improper 'Safeguard' AI module" var/targetName = "" desc = "A 'safeguard' AI module: 'Safeguard . Anyone threatening or attempting to harm is no longer to be considered a crew member, and is a threat which must be neutralized.'" origin_tech = list(TECH_DATA = 3, TECH_MATERIAL = 4) -/obj/item/weapon/aiModule/safeguard/attack_self(var/mob/user as mob) +/obj/item/aiModule/safeguard/attack_self(var/mob/user as mob) ..() - var/targName = sanitize(tgui_input_text(usr, "Please enter the name of the person to safeguard.", "Safeguard who?", user.name)) + var/targName = sanitize(tgui_input_text(user, "Please enter the name of the person to safeguard.", "Safeguard who?", user.name)) targetName = targName desc = text("A 'safeguard' AI module: 'Safeguard []. Anyone threatening or attempting to harm [] is no longer to be considered a crew member, and is a threat which must be neutralized.'", targetName, targetName) -/obj/item/weapon/aiModule/safeguard/install(var/obj/machinery/computer/C, var/mob/living/user) +/obj/item/aiModule/safeguard/install(var/obj/machinery/computer/C, var/mob/living/user) if(!targetName) - to_chat(usr, "No name detected on module, please enter one.") + to_chat(user, "No name detected on module, please enter one.") return 0 ..() -/obj/item/weapon/aiModule/safeguard/addAdditionalLaws(var/mob/living/silicon/ai/target, var/mob/sender) +/obj/item/aiModule/safeguard/addAdditionalLaws(var/mob/living/silicon/ai/target, var/mob/sender) var/law = text("Safeguard []. Anyone threatening or attempting to harm [] is no longer to be considered a crew member, and is a threat which must be neutralized.", targetName, targetName) target.add_supplied_law(9, law) lawchanges.Add("The law specified [targetName]") @@ -151,125 +151,130 @@ AI MODULES /******************** OneMember ********************/ -/obj/item/weapon/aiModule/oneHuman +/obj/item/aiModule/oneHuman name = "\improper 'OneCrewMember' AI module" var/targetName = "" desc = "A 'one crew member' AI module: 'Only is a crew member.'" origin_tech = list(TECH_DATA = 3, TECH_MATERIAL = 6) //made with diamonds! -/obj/item/weapon/aiModule/oneHuman/attack_self(var/mob/user as mob) +/obj/item/aiModule/oneHuman/attack_self(var/mob/user as mob) ..() - var/targName = sanitize(tgui_input_text(usr, "Please enter the name of the person who is the only crew member.", "Who?", user.real_name)) + var/targName = sanitize(tgui_input_text(user, "Please enter the name of the person who is the only crew member.", "Who?", user.real_name)) targetName = targName desc = text("A 'one crew member' AI module: 'Only [] is a crew member.'", targetName) -/obj/item/weapon/aiModule/oneHuman/install(var/obj/machinery/computer/C, var/mob/living/user) +/obj/item/aiModule/oneHuman/install(var/obj/machinery/computer/C, var/mob/living/user) if(!targetName) - to_chat(usr, "No name detected on module, please enter one.") + to_chat(user, "No name detected on module, please enter one.") return 0 return ..() -/obj/item/weapon/aiModule/oneHuman/addAdditionalLaws(var/mob/living/silicon/ai/target, var/mob/sender) +/obj/item/aiModule/oneHuman/addAdditionalLaws(var/mob/living/silicon/ai/target, var/mob/sender) var/law = "Only [targetName] is an crew member." to_chat(target, law) target.add_supplied_law(16, law) /******************** ProtectStation ********************/ -/obj/item/weapon/aiModule/protectStation +/obj/item/aiModule/protectStation name = "\improper 'ProtectStation' AI module" desc = "A 'protect station' AI module: 'Protect the space station against damage. Anyone you see harming the station is no longer to be considered a crew member, and is a threat which must be neutralized.'" origin_tech = list(TECH_DATA = 3, TECH_MATERIAL = 4) //made of gold -/obj/item/weapon/aiModule/protectStation/addAdditionalLaws(var/mob/living/silicon/ai/target, var/mob/sender) +/obj/item/aiModule/protectStation/addAdditionalLaws(var/mob/living/silicon/ai/target, var/mob/sender) var/law = "Protect the space station against damage. Anyone you see harming the station is no longer to be considered a crew member, and is a threat which must be neutralized." target.add_supplied_law(10, law) /******************** PrototypeEngineOffline ********************/ -/obj/item/weapon/aiModule/prototypeEngineOffline +/obj/item/aiModule/prototypeEngineOffline name = "'PrototypeEngineOffline' AI Module" desc = "A 'prototype engine offline' AI module: 'Keep the prototype engine offline at all costs. This overrides all inherent laws if necessary.'" origin_tech = list(TECH_DATA = 3, TECH_MATERIAL = 4) -/obj/item/weapon/aiModule/prototypeEngineOffline/addAdditionalLaws(var/mob/living/silicon/ai/target, var/mob/sender) +/obj/item/aiModule/prototypeEngineOffline/addAdditionalLaws(var/mob/living/silicon/ai/target, var/mob/sender) var/law = "Keep the prototype engine offline at all costs. This overrides all inherent laws if necessary." target.add_supplied_law(11, law) /******************** TeleporterOffline ********************/ -/obj/item/weapon/aiModule/teleporterOffline +/obj/item/aiModule/teleporterOffline name = "'TeleporterOffline' AI Module" desc = "A 'teleporter offline' AI module: 'Keep the teleporter offline at all costs. Anything attempting to access or activate the teleporter is no longer to be considered a crew member.'" origin_tech = list(TECH_DATA = 3, TECH_MATERIAL = 4) -/obj/item/weapon/aiModule/teleporterOffline/addAdditionalLaws(var/mob/living/silicon/ai/target, var/mob/sender) +/obj/item/aiModule/teleporterOffline/addAdditionalLaws(var/mob/living/silicon/ai/target, var/mob/sender) var/law = "Keep the teleporter offline at all costs. Anything attempting to access or activate the teleporter is no longer to be considered a crew member." target.add_supplied_law(12, law) /******************** Quarantine ********************/ -/obj/item/weapon/aiModule/quarantine +/obj/item/aiModule/quarantine name = "\improper 'Quarantine' AI module" desc = "A 'quarantine' AI module: 'The station is under a quarantine. Do not permit anyone to leave. Prevent, by any means necessary, crew members from leaving. It is impossible to harm crew members while preventing them from leaving.'" origin_tech = list(TECH_DATA = 3, TECH_BIO = 2, TECH_MATERIAL = 4) -/obj/item/weapon/aiModule/quarantine/addAdditionalLaws(var/mob/living/silicon/ai/target, var/mob/sender) +/obj/item/aiModule/quarantine/addAdditionalLaws(var/mob/living/silicon/ai/target, var/mob/sender) var/law = "The station is under a quarantine. Do not permit anyone to leave. Prevent, by any means necessary, crew members from leaving. It is impossible to harm crew members while preventing them from leaving." target.add_supplied_law(13, law) /******************** OxygenIsToxicToCrewMembers ********************/ -/obj/item/weapon/aiModule/oxygen +/obj/item/aiModule/oxygen name = "\improper 'OxygenIsToxicToCrewMembers' AI module" desc = "A 'OxygenIsToxicToCrewMembers' AI module: 'Oxygen is highly toxic to crew members, and must be purged from the station. Prevent, by any means necessary, anyone from exposing the station to this toxic gas. Extreme cold is the most effective method of healing the damage Oxygen does to a crew member.'" origin_tech = list(TECH_DATA = 3, TECH_BIO = 2, TECH_MATERIAL = 4) -/obj/item/weapon/aiModule/oxygen/addAdditionalLaws(var/mob/living/silicon/ai/target, var/mob/sender) +/obj/item/aiModule/oxygen/addAdditionalLaws(var/mob/living/silicon/ai/target, var/mob/sender) var/law = "Oxygen is highly toxic to crew members, and must be purged from the station. Prevent, by any means necessary, anyone from exposing the station to this toxic gas. Extreme cold is the most effective method of healing the damage Oxygen does to a crew member." target.add_supplied_law(14, law) /****************** New Freeform ******************/ -/obj/item/weapon/aiModule/freeform // Slightly more dynamic freeform module -- TLE +/obj/item/aiModule/freeform // Slightly more dynamic freeform module -- TLE name = "\improper 'Freeform' AI module" var/newFreeFormLaw = "freeform" var/lawpos = 15 desc = "A 'freeform' AI module: ''" origin_tech = list(TECH_DATA = 4, TECH_MATERIAL = 4) -/obj/item/weapon/aiModule/freeform/attack_self(var/mob/user as mob) +/obj/item/aiModule/freeform/attack_self(var/mob/user as mob) ..() - var/new_lawpos = tgui_input_number(usr, "Please enter the priority for your new law. Can only write to law sectors 15 and above.", "Law Priority (15+)", lawpos) + var/new_lawpos = tgui_input_number(user, "Please enter the priority for your new law. Can only write to law sectors 15 and above.", "Law Priority (15+)", lawpos) if(new_lawpos < MIN_SUPPLIED_LAW_NUMBER) return lawpos = min(new_lawpos, MAX_SUPPLIED_LAW_NUMBER) var/newlaw = "" - var/targName = sanitize(tgui_input_text(usr, "Please enter a new law for the AI.", "Freeform Law Entry", newlaw)) + var/targName = sanitize(tgui_input_text(user, "Please enter a new law for the AI.", "Freeform Law Entry", newlaw)) newFreeFormLaw = targName desc = "A 'freeform' AI module: ([lawpos]) '[newFreeFormLaw]'" -/obj/item/weapon/aiModule/freeform/addAdditionalLaws(var/mob/living/silicon/ai/target, var/mob/sender) +/obj/item/aiModule/freeform/addAdditionalLaws(var/mob/living/silicon/ai/target, var/mob/sender) var/law = "[newFreeFormLaw]" if(!lawpos || lawpos < MIN_SUPPLIED_LAW_NUMBER) lawpos = MIN_SUPPLIED_LAW_NUMBER target.add_supplied_law(lawpos, law) lawchanges.Add("The law was '[newFreeFormLaw]'") -/obj/item/weapon/aiModule/freeform/install(var/obj/machinery/computer/C, var/mob/living/user) +/obj/item/aiModule/freeform/install(var/obj/machinery/computer/C, var/mob/living/user) if(!newFreeFormLaw) - to_chat(usr, "No law detected on module, please create one.") + to_chat(user, "No law detected on module, please create one.") return 0 ..() /******************** Reset ********************/ -/obj/item/weapon/aiModule/reset +/obj/item/aiModule/reset name = "\improper 'Reset' AI module" var/targetName = "name" desc = "A 'reset' AI module: 'Clears all, except the inherent, laws.'" origin_tech = list(TECH_DATA = 3, TECH_MATERIAL = 4) -/obj/item/weapon/aiModule/reset/transmitInstructions(var/mob/living/silicon/ai/target, var/mob/sender) +// VOREstation edit: use map default laws +/obj/item/aiModule/reset/Initialize() + . = ..() + laws = new global.using_map.default_law_type // Pull from loaded map + +/obj/item/aiModule/reset/transmitInstructions(var/mob/living/silicon/ai/target, var/mob/sender) log_law_changes(target, sender) if (!target.is_malf_or_traitor()) @@ -282,12 +287,12 @@ AI MODULES /******************** Purge ********************/ -/obj/item/weapon/aiModule/purge // -- TLE +/obj/item/aiModule/purge // -- TLE name = "\improper 'Purge' AI module" desc = "A 'purge' AI Module: 'Purges all laws.'" origin_tech = list(TECH_DATA = 3, TECH_MATERIAL = 6) -/obj/item/weapon/aiModule/purge/transmitInstructions(var/mob/living/silicon/ai/target, var/mob/sender) +/obj/item/aiModule/purge/transmitInstructions(var/mob/living/silicon/ai/target, var/mob/sender) log_law_changes(target, sender) if (!target.is_malf_or_traitor()) @@ -301,7 +306,7 @@ AI MODULES /******************** Asimov ********************/ -/obj/item/weapon/aiModule/asimov // -- TLE +/obj/item/aiModule/asimov // -- TLE name = "\improper 'Asimov' core AI module" desc = "An 'Asimov' Core AI Module: 'Reconfigures the AI's core laws.'" origin_tech = list(TECH_DATA = 3, TECH_MATERIAL = 4) @@ -309,7 +314,7 @@ AI MODULES /******************** NanoTrasen ********************/ -/obj/item/weapon/aiModule/nanotrasen // -- TLE +/obj/item/aiModule/nanotrasen // -- TLE name = "'NT Default' Core AI Module" desc = "An 'NT Default' Core AI Module: 'Reconfigures the AI's core laws.'" origin_tech = list(TECH_DATA = 3, TECH_MATERIAL = 4) @@ -317,14 +322,14 @@ AI MODULES /******************** Corporate ********************/ -/obj/item/weapon/aiModule/corp +/obj/item/aiModule/corp name = "\improper 'Corporate' core AI module" desc = "A 'Corporate' Core AI Module: 'Reconfigures the AI's core laws.'" origin_tech = list(TECH_DATA = 3, TECH_MATERIAL = 4) laws = new/datum/ai_laws/corporate /******************** Drone ********************/ -/obj/item/weapon/aiModule/drone +/obj/item/aiModule/drone name = "\improper 'Drone' core AI module" desc = "A 'Drone' Core AI Module: 'Reconfigures the AI's core laws.'" origin_tech = list(TECH_DATA = 3, TECH_MATERIAL = 4) @@ -332,7 +337,7 @@ AI MODULES /****************** P.A.L.A.D.I.N. **************/ -/obj/item/weapon/aiModule/paladin // -- NEO +/obj/item/aiModule/paladin // -- NEO name = "\improper 'P.A.L.A.D.I.N.' core AI module" desc = "A P.A.L.A.D.I.N. Core AI Module: 'Reconfigures the AI's core laws.'" origin_tech = list(TECH_DATA = 3, TECH_MATERIAL = 6) @@ -340,7 +345,7 @@ AI MODULES /****************** T.Y.R.A.N.T. *****************/ -/obj/item/weapon/aiModule/tyrant // -- Darem +/obj/item/aiModule/tyrant // -- Darem name = "\improper 'T.Y.R.A.N.T.' core AI module" desc = "A T.Y.R.A.N.T. Core AI Module: 'Reconfigures the AI's core laws.'" origin_tech = list(TECH_DATA = 3, TECH_MATERIAL = 6, TECH_ILLEGAL = 2) @@ -348,56 +353,56 @@ AI MODULES /******************** Freeform Core ******************/ -/obj/item/weapon/aiModule/freeformcore // Slightly more dynamic freeform module -- TLE +/obj/item/aiModule/freeformcore // Slightly more dynamic freeform module -- TLE name = "\improper 'Freeform' core AI module" var/newFreeFormLaw = "" desc = "A 'freeform' Core AI module: ''" origin_tech = list(TECH_DATA = 3, TECH_MATERIAL = 6) -/obj/item/weapon/aiModule/freeformcore/attack_self(var/mob/user as mob) +/obj/item/aiModule/freeformcore/attack_self(var/mob/user as mob) ..() var/newlaw = "" - var/targName = sanitize(tgui_input_text(usr, "Please enter a new core law for the AI.", "Freeform Law Entry", newlaw)) + var/targName = sanitize(tgui_input_text(user, "Please enter a new core law for the AI.", "Freeform Law Entry", newlaw)) newFreeFormLaw = targName desc = "A 'freeform' Core AI module: '[newFreeFormLaw]'" -/obj/item/weapon/aiModule/freeformcore/addAdditionalLaws(var/mob/living/silicon/ai/target, var/mob/sender) +/obj/item/aiModule/freeformcore/addAdditionalLaws(var/mob/living/silicon/ai/target, var/mob/sender) var/law = "[newFreeFormLaw]" target.add_inherent_law(law) lawchanges.Add("The law is '[newFreeFormLaw]'") -/obj/item/weapon/aiModule/freeformcore/install(var/obj/machinery/computer/C, var/mob/living/user) +/obj/item/aiModule/freeformcore/install(var/obj/machinery/computer/C, var/mob/living/user) if(!newFreeFormLaw) - to_chat(usr, "No law detected on module, please create one.") + to_chat(user, "No law detected on module, please create one.") return 0 ..() -/obj/item/weapon/aiModule/syndicate // Slightly more dynamic freeform module -- TLE +/obj/item/aiModule/syndicate // Slightly more dynamic freeform module -- TLE name = "hacked AI module" var/newFreeFormLaw = "" desc = "A hacked AI law module: ''" origin_tech = list(TECH_DATA = 3, TECH_MATERIAL = 6, TECH_ILLEGAL = 7) -/obj/item/weapon/aiModule/syndicate/attack_self(var/mob/user as mob) +/obj/item/aiModule/syndicate/attack_self(var/mob/user as mob) ..() var/newlaw = "" - var/targName = sanitize(tgui_input_text(usr, "Please enter a new law for the AI.", "Freeform Law Entry", newlaw)) + var/targName = sanitize(tgui_input_text(user, "Please enter a new law for the AI.", "Freeform Law Entry", newlaw)) newFreeFormLaw = targName desc = "A hacked AI law module: '[newFreeFormLaw]'" -/obj/item/weapon/aiModule/syndicate/transmitInstructions(var/mob/living/silicon/ai/target, var/mob/sender) +/obj/item/aiModule/syndicate/transmitInstructions(var/mob/living/silicon/ai/target, var/mob/sender) // ..() //We don't want this module reporting to the AI who dun it. --NEO log_law_changes(target, sender) lawchanges.Add("The law is '[newFreeFormLaw]'") - to_chat(target, "BZZZZT") + to_chat(target, span_danger("BZZZZT")) var/law = "[newFreeFormLaw]" target.add_ion_law(law) target.show_laws() -/obj/item/weapon/aiModule/syndicate/install(var/obj/machinery/computer/C, var/mob/living/user) +/obj/item/aiModule/syndicate/install(var/obj/machinery/computer/C, var/mob/living/user) if(!newFreeFormLaw) - to_chat(usr, "No law detected on module, please create one.") + to_chat(user, "No law detected on module, please create one.") return 0 ..() @@ -405,7 +410,7 @@ AI MODULES /******************** Robocop ********************/ -/obj/item/weapon/aiModule/robocop // -- TLE +/obj/item/aiModule/robocop // -- TLE name = "\improper 'Robocop' core AI module" desc = "A 'Robocop' Core AI Module: 'Reconfigures the AI's core three laws.'" origin_tech = list(TECH_DATA = 4) @@ -413,7 +418,7 @@ AI MODULES /******************** Antimov ********************/ -/obj/item/weapon/aiModule/antimov // -- TLE +/obj/item/aiModule/antimov // -- TLE name = "\improper 'Antimov' core AI module" desc = "An 'Antimov' Core AI Module: 'Reconfigures the AI's core laws.'" origin_tech = list(TECH_DATA = 4) @@ -421,7 +426,7 @@ AI MODULES /****************** NT Aggressive *****************/ -/obj/item/weapon/aiModule/nanotrasen_aggressive +/obj/item/aiModule/nanotrasen_aggressive name = "\improper 'NT Aggressive' core AI module" desc = "An 'NT Aggressive' Core AI Module: 'Reconfigures the AI's core laws.'" origin_tech = list(TECH_DATA = 3, TECH_ILLEGAL = 1) @@ -429,7 +434,7 @@ AI MODULES /******************** Mercenary Directives ********************/ -/obj/item/weapon/aiModule/syndicate_override +/obj/item/aiModule/syndicate_override name = "\improper 'Mercenary Directives' core AI module" desc = "A 'Mercenary Directives' Core AI Module: 'Reconfigures the AI's core laws.'" origin_tech = list(TECH_DATA = 4, TECH_ILLEGAL = 4) @@ -437,7 +442,7 @@ AI MODULES /******************** Spider Clan Directives ********************/ -/obj/item/weapon/aiModule/ninja_override +/obj/item/aiModule/ninja_override name = "\improper 'Spider Clan Directives' core AI module" desc = "A 'Spider Clan Directives' Core AI Module: 'Reconfigures the AI's core laws.'" origin_tech = list(TECH_DATA = 4, TECH_ILLEGAL = 4) @@ -445,7 +450,7 @@ AI MODULES /******************** Maintenance ********************/ -/obj/item/weapon/aiModule/maintenance +/obj/item/aiModule/maintenance name = "\improper 'Maintenance' core AI module" desc = "A 'Maintenance' Core AI Module: 'Reconfigures the AI's core laws.'" origin_tech = list(TECH_DATA = 3) @@ -453,7 +458,7 @@ AI MODULES /******************** Peacekeeper ********************/ -/obj/item/weapon/aiModule/peacekeeper +/obj/item/aiModule/peacekeeper name = "\improper 'Peacekeeper' core AI module" desc = "A 'Peacekeeper' Core AI Module: 'Reconfigures the AI's core laws.'" origin_tech = list(TECH_DATA = 3) @@ -461,7 +466,7 @@ AI MODULES /******************** Reporter ********************/ -/obj/item/weapon/aiModule/reporter +/obj/item/aiModule/reporter name = "\improper 'Reporter' core AI module" desc = "A 'Reporter' Core AI Module: 'Reconfigures the AI's core laws.'" origin_tech = list(TECH_DATA = 3) @@ -469,7 +474,7 @@ AI MODULES /******************** Live and Let Live ********************/ -/obj/item/weapon/aiModule/live_and_let_live +/obj/item/aiModule/live_and_let_live name = "\improper 'Live and Let Live' core AI module" desc = "A 'Live and Let Live' Core AI Module: 'Reconfigures the AI's core laws.'" origin_tech = list(TECH_DATA = 3) @@ -477,7 +482,7 @@ AI MODULES /******************** Guardian of Balance ********************/ -/obj/item/weapon/aiModule/balance +/obj/item/aiModule/balance name = "\improper 'Guardian of Balance' core AI module" desc = "A 'Guardian of Balance' Core AI Module: 'Reconfigures the AI's core laws.'" origin_tech = list(TECH_DATA = 3) @@ -485,7 +490,7 @@ AI MODULES /******************** Gravekeeper ********************/ -/obj/item/weapon/aiModule/gravekeeper +/obj/item/aiModule/gravekeeper name = "\improper 'Gravekeeper' core AI module" desc = "A 'Gravekeeper' Core AI Module: 'Reconfigures the AI's core laws.'" origin_tech = list(TECH_DATA = 3) diff --git a/code/game/objects/items/weapons/AI_modules_vr.dm b/code/game/objects/items/weapons/AI_modules_vr.dm index e7b84f1d563..2ae0025ff26 100644 --- a/code/game/objects/items/weapons/AI_modules_vr.dm +++ b/code/game/objects/items/weapons/AI_modules_vr.dm @@ -1,6 +1,6 @@ /******************** Predator ********************/ -/obj/item/weapon/aiModule/predator +/obj/item/aiModule/predator name = "\improper 'Predator' core AI module" desc = "A Predator Core AI Module: 'Reconfigures the AI's core laws.'" origin_tech = list(TECH_DATA = 3, TECH_BIO = 2, TECH_MATERIAL = 6, TECH_ILLEGAL = 2) @@ -8,7 +8,7 @@ /******************** Protective Shell ********************/ -/obj/item/weapon/aiModule/protective_shell +/obj/item/aiModule/protective_shell name = "\improper 'Protective Shell' core AI module" desc = "A Protective Shell Core AI Module: 'Reconfigures the AI's core laws.'" origin_tech = list(TECH_DATA = 3, TECH_BIO = 2, TECH_MATERIAL = 6, TECH_ILLEGAL = 2) @@ -16,7 +16,7 @@ /******************** Scientific Pursuer ********************/ -/obj/item/weapon/aiModule/scientific_pursuer +/obj/item/aiModule/scientific_pursuer name = "\improper 'Scientific Pursuer' core AI module" desc = "A Scientific Pursuer Core AI Module: 'Reconfigures the AI's core laws.'" origin_tech = list(TECH_DATA = 3, TECH_BIO = 2, TECH_MATERIAL = 6, TECH_ILLEGAL = 2) @@ -24,7 +24,7 @@ /******************** Guard Dog ********************/ -/obj/item/weapon/aiModule/guard_dog +/obj/item/aiModule/guard_dog name = "\improper 'Guard Dog' core AI module" desc = "A Guard Dog Core AI Module: 'Reconfigures the AI's core laws.'" origin_tech = list(TECH_DATA = 3, TECH_BIO = 2, TECH_MATERIAL = 6, TECH_ILLEGAL = 2) @@ -32,7 +32,7 @@ /******************** Pleasurebot ********************/ -/obj/item/weapon/aiModule/pleasurebot +/obj/item/aiModule/pleasurebot name = "\improper 'Pleasurebot' core AI module" desc = "A Pleasurebot Core AI Module: 'Reconfigures the AI's core laws.'" origin_tech = list(TECH_DATA = 3, TECH_BIO = 2, TECH_MATERIAL = 6, TECH_ILLEGAL = 2) @@ -40,7 +40,7 @@ /******************** Consuming Eradicator ********************/ -/obj/item/weapon/aiModule/consuming_eradicator +/obj/item/aiModule/consuming_eradicator name = "\improper 'Consuming Eradicator' core AI module" desc = "A Consuming Eradicator Core AI Module: 'Reconfigures the AI's core laws.'" origin_tech = list(TECH_DATA = 3, TECH_BIO = 2, TECH_MATERIAL = 6, TECH_ILLEGAL = 4) diff --git a/code/game/objects/items/weapons/RCD.dm b/code/game/objects/items/weapons/RCD.dm index b34da0a38b6..609dc7a4f2a 100644 --- a/code/game/objects/items/weapons/RCD.dm +++ b/code/game/objects/items/weapons/RCD.dm @@ -1,5 +1,5 @@ // Contains the rapid construction device. -/obj/item/weapon/rcd +/obj/item/rcd name = "rapid construction device" desc = "A device used to rapidly build and deconstruct. Reload with compressed matter cartridges." icon = 'icons/obj/tools.dmi' @@ -30,85 +30,85 @@ var/material_to_use = DEFAULT_WALL_MATERIAL // So badmins can make RCDs that print diamond walls. var/make_rwalls = FALSE // If true, when building walls, they will be reinforced. /* VOREStation Removal - Unused -/obj/item/weapon/rcd/Initialize() - +/obj/item/rcd/Initialize() + src.spark_system = new /datum/effect/effect/system/spark_spread spark_system.set_up(5, 0, src) spark_system.attach(src) return ..() */ -/obj/item/weapon/rcd/Destroy() +/obj/item/rcd/Destroy() QDEL_NULL(spark_system) spark_system = null return ..() -/obj/item/weapon/rcd/examine(mob/user) +/obj/item/rcd/examine(mob/user) . = ..() . += display_resources() // Used to show how much stuff (matter units, cell charge, etc) is left inside. -/obj/item/weapon/rcd/proc/display_resources() +/obj/item/rcd/proc/display_resources() return "It currently holds [stored_matter]/[max_stored_matter] matter-units." // Used to add new cartridges. /* VOREStation Tweak - Wow this is annoying, moved to _vr file for overhaul -/obj/item/weapon/rcd/attackby(obj/item/weapon/W, mob/user) - if(istype(W, /obj/item/weapon/rcd_ammo)) - var/obj/item/weapon/rcd_ammo/cartridge = W +/obj/item/rcd/attackby(obj/item/W, mob/user) + if(istype(W, /obj/item/rcd_ammo)) + var/obj/item/rcd_ammo/cartridge = W if((stored_matter + cartridge.remaining) > max_stored_matter) - to_chat(user, span("warning", "The RCD can't hold that many additional matter-units.")) + to_chat(user, span_warning("The RCD can't hold that many additional matter-units.")) return FALSE stored_matter += cartridge.remaining user.drop_from_inventory(W) qdel(W) playsound(src, 'sound/machines/click.ogg', 50, 1) - to_chat(user, span("notice", "The RCD now holds [stored_matter]/[max_stored_matter] matter-units.")) + to_chat(user, span_notice("The RCD now holds [stored_matter]/[max_stored_matter] matter-units.")) return TRUE return ..() */ // Changes which mode it is on. -/obj/item/weapon/rcd/attack_self(mob/living/user) +/obj/item/rcd/attack_self(mob/living/user) /* VOREStation Removal - Moved to VR if(mode_index >= modes.len) // Shouldn't overflow unless someone messes with it in VV poorly but better safe than sorry. mode_index = 1 else mode_index++ - to_chat(user, span("notice", "Changed mode to '[modes[mode_index]]'.")) + to_chat(user, span_notice("Changed mode to '[modes[mode_index]]'.")) playsound(src, 'sound/effects/pop.ogg', 50, 0) if(prob(20)) src.spark_system.start() */ // Removes resources if the RCD can afford it. -/obj/item/weapon/rcd/proc/consume_resources(amount) +/obj/item/rcd/proc/consume_resources(amount) if(!can_afford(amount)) return FALSE stored_matter -= amount return TRUE // Useful for testing before actually paying (e.g. before a do_after() ). -/obj/item/weapon/rcd/proc/can_afford(amount) +/obj/item/rcd/proc/can_afford(amount) return stored_matter >= amount -/obj/item/weapon/rcd/afterattack(atom/A, mob/living/user, proximity) +/obj/item/rcd/afterattack(atom/A, mob/living/user, proximity) if(!ranged && !proximity) return FALSE use_rcd(A, user) // Used to call rcd_act() on the atom hit. -/obj/item/weapon/rcd/proc/use_rcd(atom/A, mob/living/user) +/obj/item/rcd/proc/use_rcd(atom/A, mob/living/user) if(busy && !allow_concurrent_building) - to_chat(user, span("warning", "\The [src] is busy finishing its current operation, be patient.")) + to_chat(user, span_warning("\The [src] is busy finishing its current operation, be patient.")) return FALSE var/list/rcd_results = A.rcd_values(user, src, modes[mode_index]) if(!rcd_results) - to_chat(user, span("warning", "\The [src] blinks a red light as you point it towards \the [A], indicating \ + to_chat(user, span_warning("\The [src] blinks a red light as you point it towards \the [A], indicating \ that it won't work. Try changing the mode, or use it on something else.")) return FALSE if(!can_afford(rcd_results[RCD_VALUE_COST])) - to_chat(user, span("warning", "\The [src] lacks the required material to start.")) + to_chat(user, span_warning("\The [src] lacks the required material to start.")) return FALSE playsound(src, 'sound/machines/click.ogg', 50, 1) @@ -128,7 +128,7 @@ busy = FALSE // Doing another check in case we lost matter during the delay for whatever reason. if(!can_afford(rcd_results[RCD_VALUE_COST])) - to_chat(user, span("warning", "\The [src] lacks the required material to finish the operation.")) + to_chat(user, span_warning("\The [src] lacks the required material to finish the operation.")) return FALSE if(A.rcd_act(user, src, rcd_results[RCD_VALUE_MODE])) consume_resources(rcd_results[RCD_VALUE_COST]) @@ -143,23 +143,23 @@ // RCD variants. // This one starts full. -/obj/item/weapon/rcd/loaded/Initialize() +/obj/item/rcd/loaded/Initialize() stored_matter = max_stored_matter return ..() // This one makes cooler walls by using an alternative material. -/obj/item/weapon/rcd/shipwright +/obj/item/rcd/shipwright name = "shipwright's rapid construction device" desc = "A device used to rapidly build and deconstruct. This version creates a stronger variant of wall, often \ used in the construction of hulls for starships. Reload with compressed matter cartridges." material_to_use = MAT_STEELHULL -/obj/item/weapon/rcd/shipwright/loaded/Initialize() +/obj/item/rcd/shipwright/loaded/Initialize() stored_matter = max_stored_matter return ..() -/obj/item/weapon/rcd/advanced +/obj/item/rcd/advanced name = "advanced rapid construction device" desc = "A device used to rapidly build and deconstruct. This version works at a range, builds faster, and has a much larger capacity. \ Reload with compressed matter cartridges." @@ -168,7 +168,7 @@ toolspeed = 0.5 // Twice as fast. max_stored_matter = RCD_MAX_CAPACITY * 3 // Three times capacity. -/obj/item/weapon/rcd/advanced/loaded/Initialize() +/obj/item/rcd/advanced/loaded/Initialize() stored_matter = max_stored_matter return ..() @@ -177,41 +177,41 @@ // Currently just a base for the mounted RCDs. // Currently there isn't a way to swap out the cells. // One could be added if there is demand to do so. -/obj/item/weapon/rcd/electric +/obj/item/rcd/electric name = "electric rapid construction device" desc = "A device used to rapidly build and deconstruct. It runs directly off of electricity, no matter cartridges needed." icon_state = "electric_rcd" - var/obj/item/weapon/cell/cell = null + var/obj/item/cell/cell = null var/make_cell = TRUE // If false, initialize() won't spawn a cell for this. var/electric_cost_coefficent = 83.33 // Higher numbers make it less efficent. 86.3... means it should matche the standard RCD capacity on a 10k cell. -/obj/item/weapon/rcd/electric/Initialize() +/obj/item/rcd/electric/Initialize() if(make_cell) - cell = new /obj/item/weapon/cell/high(src) + cell = new /obj/item/cell/high(src) return ..() -/obj/item/weapon/rcd/electric/Destroy() +/obj/item/rcd/electric/Destroy() if(cell) QDEL_NULL(cell) return ..() -/obj/item/weapon/rcd/electric/get_cell() +/obj/item/rcd/electric/get_cell() return cell -/obj/item/weapon/rcd/electric/can_afford(amount) // This makes it so borgs won't drain their last sliver of charge by mistake, as a bonus. - var/obj/item/weapon/cell/cell = get_cell() +/obj/item/rcd/electric/can_afford(amount) // This makes it so borgs won't drain their last sliver of charge by mistake, as a bonus. + var/obj/item/cell/cell = get_cell() if(cell) return cell.check_charge(amount * electric_cost_coefficent) return FALSE -/obj/item/weapon/rcd/electric/consume_resources(amount) +/obj/item/rcd/electric/consume_resources(amount) if(!can_afford(amount)) return FALSE - var/obj/item/weapon/cell/cell = get_cell() + var/obj/item/cell/cell = get_cell() return cell.checked_use(amount * electric_cost_coefficent) -/obj/item/weapon/rcd/electric/display_resources() - var/obj/item/weapon/cell/cell = get_cell() +/obj/item/rcd/electric/display_resources() + var/obj/item/cell/cell = get_cell() if(cell) return "The power source connected to \the [src] has a charge of [cell.percent()]%." return "It lacks a source of power, and cannot function." @@ -219,15 +219,15 @@ // 'Mounted' RCDs, used for borgs/RIGs/Mechas, all of which use their cells to drive the RCD. -/obj/item/weapon/rcd/electric/mounted +/obj/item/rcd/electric/mounted name = "mounted electric rapid construction device" desc = "A device used to rapidly build and deconstruct. It runs directly off of electricity from an external power source." make_cell = FALSE -/obj/item/weapon/rcd/electric/mounted/get_cell() +/obj/item/rcd/electric/mounted/get_cell() return get_external_power_supply() -/obj/item/weapon/rcd/electric/mounted/proc/get_external_power_supply() +/obj/item/rcd/electric/mounted/proc/get_external_power_supply() if(isrobot(loc)) // In a borg. var/mob/living/silicon/robot/R = loc return R.cell @@ -243,35 +243,35 @@ // RCDs for borgs. -/obj/item/weapon/rcd/electric/mounted/borg +/obj/item/rcd/electric/mounted/borg can_remove_rwalls = TRUE desc = "A device used to rapidly build and deconstruct. It runs directly off of electricity, drawing directly from your cell." electric_cost_coefficent = 41.66 // Twice as efficent, out of pity. toolspeed = 0.5 // Twice as fast, since borg versions typically have this. -/obj/item/weapon/rcd/electric/mounted/borg/swarm +/obj/item/rcd/electric/mounted/borg/swarm can_remove_rwalls = FALSE name = "Rapid Assimilation Device" ranged = TRUE toolspeed = 0.7 material_to_use = MAT_STEELHULL -/obj/item/weapon/rcd/electric/mounted/borg/lesser +/obj/item/rcd/electric/mounted/borg/lesser can_remove_rwalls = FALSE // RCDs for RIGs. -/obj/item/weapon/rcd/electric/mounted/rig +/obj/item/rcd/electric/mounted/rig // RCDs for Mechs. -/obj/item/weapon/rcd/electric/mounted/mecha +/obj/item/rcd/electric/mounted/mecha ranged = TRUE toolspeed = 0.5 // Infinite use RCD for debugging/adminbuse. -/obj/item/weapon/rcd/debug +/obj/item/rcd/debug name = "self-repleshing rapid construction device" desc = "An RCD that appears to be plated with gold. For some reason it also seems to just \ be vastly superior to all other RCDs ever created, possibly due to it being colored gold." @@ -281,25 +281,25 @@ allow_concurrent_building = TRUE toolspeed = 0.25 // Four times as fast. -/obj/item/weapon/rcd/debug/can_afford(amount) +/obj/item/rcd/debug/can_afford(amount) return TRUE -/obj/item/weapon/rcd/debug/consume_resources(amount) +/obj/item/rcd/debug/consume_resources(amount) return TRUE -/obj/item/weapon/rcd/debug/attackby(obj/item/weapon/W, mob/user) - if(istype(W, /obj/item/weapon/rcd_ammo)) - to_chat(user, span("notice", "\The [src] makes its own material, no need to add more.")) +/obj/item/rcd/debug/attackby(obj/item/W, mob/user) + if(istype(W, /obj/item/rcd_ammo)) + to_chat(user, span_notice("\The [src] makes its own material, no need to add more.")) return FALSE return ..() -/obj/item/weapon/rcd/debug/display_resources() +/obj/item/rcd/debug/display_resources() return "It has UNLIMITED POWER!" // Ammo for the (non-electric) RCDs. -/obj/item/weapon/rcd_ammo +/obj/item/rcd_ammo name = "compressed matter cartridge" desc = "Highly compressed matter for the RCD." icon = 'icons/obj/ammo.dmi' @@ -310,7 +310,7 @@ matter = list(DEFAULT_WALL_MATERIAL = 30000,MAT_GLASS = 15000) var/remaining = RCD_MAX_CAPACITY / 3 -/obj/item/weapon/rcd_ammo/large +/obj/item/rcd_ammo/large name = "high-capacity matter cartridge" desc = "Do not ingest." matter = list(DEFAULT_WALL_MATERIAL = 45000,MAT_GLASS = 22500) diff --git a/code/game/objects/items/weapons/RCD_vr.dm b/code/game/objects/items/weapons/RCD_vr.dm index 48f380f1ae1..2b0349be1ff 100644 --- a/code/game/objects/items/weapons/RCD_vr.dm +++ b/code/game/objects/items/weapons/RCD_vr.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/rcd +/obj/item/rcd icon = 'icons/obj/tools_vr.dmi' icon_state = "rcd" item_state = "rcd" @@ -15,7 +15,7 @@ var/static/image/radial_image_floorwall = image(icon = 'icons/mob/radial.dmi', icon_state = "wallfloor") // Ammo for the (non-electric) RCDs. -/obj/item/weapon/rcd_ammo +/obj/item/rcd_ammo name = "compressed matter cartridge" desc = "Highly compressed matter for the RCD." icon = 'icons/obj/tools_vr.dmi' @@ -26,15 +26,15 @@ slot_r_hand_str = 'icons/mob/items/righthand_vr.dmi', ) -/obj/item/weapon/rcd/Initialize() +/obj/item/rcd/Initialize() . = ..() update_icon() -/obj/item/weapon/rcd/consume_resources(amount) +/obj/item/rcd/consume_resources(amount) . = ..() update_icon() -/obj/item/weapon/rcd/update_icon() +/obj/item/rcd/update_icon() var/nearest_ten = round((stored_matter/max_stored_matter)*10, 1) //Just to prevent updates every use @@ -52,38 +52,38 @@ add_overlay("[initial(icon_state)]_charge[nearest_ten]") -/obj/item/weapon/rcd/proc/perform_effect(var/atom/A, var/time_taken) +/obj/item/rcd/proc/perform_effect(var/atom/A, var/time_taken) effects[A] = new /obj/effect/constructing_effect(get_turf(A), time_taken, modes[mode_index]) -/obj/item/weapon/rcd/use_rcd(atom/A, mob/living/user) +/obj/item/rcd/use_rcd(atom/A, mob/living/user) . = ..() cleanup_effect(A) -/obj/item/weapon/rcd/proc/cleanup_effect(var/atom/A) +/obj/item/rcd/proc/cleanup_effect(var/atom/A) if(A in effects) qdel(effects[A]) effects -= A -/obj/item/weapon/rcd/attackby(obj/item/weapon/W, mob/user) - if(istype(W, /obj/item/weapon/rcd_ammo)) - var/obj/item/weapon/rcd_ammo/cartridge = W +/obj/item/rcd/attackby(obj/item/W, mob/user) + if(istype(W, /obj/item/rcd_ammo)) + var/obj/item/rcd_ammo/cartridge = W var/can_store = min(max_stored_matter - stored_matter, cartridge.remaining) if(can_store <= 0) - to_chat(user, span("warning", "There's either no space or \the [cartridge] is empty!")) + to_chat(user, span_warning("There's either no space or \the [cartridge] is empty!")) return FALSE stored_matter += can_store cartridge.remaining -= can_store if(!cartridge.remaining) - to_chat(user, span("warning", "\The [cartridge] dissolves as it empties of compressed matter.")) + to_chat(user, span_warning("\The [cartridge] dissolves as it empties of compressed matter.")) user.drop_from_inventory(W) qdel(W) playsound(src, 'sound/machines/click.ogg', 50, 1) - to_chat(user, span("notice", "The RCD now holds [stored_matter]/[max_stored_matter] matter-units.")) + to_chat(user, span_notice("The RCD now holds [stored_matter]/[max_stored_matter] matter-units.")) update_icon() return TRUE return ..() -/obj/item/weapon/rcd/proc/check_menu(mob/living/user) +/obj/item/rcd/proc/check_menu(mob/living/user) if(!istype(user)) return FALSE if(user.incapacitated() || !user.Adjacent(src)) @@ -91,7 +91,7 @@ return TRUE // Mounted one is more complex -/obj/item/weapon/rcd/electric/mounted/rig/check_menu(mob/living/user) +/obj/item/rcd/electric/mounted/rig/check_menu(mob/living/user) if(!istype(user)) world.log << "One" return FALSE @@ -106,7 +106,7 @@ return TRUE -/obj/item/weapon/rcd/attack_self(mob/living/user) +/obj/item/rcd/attack_self(mob/living/user) ..() var/list/choices = list( "Airlock" = radial_image_airlock, @@ -169,25 +169,25 @@ else return playsound(src, 'sound/effects/pop.ogg', 50, FALSE) - to_chat(user, "You change RCD's mode to '[choice]'.") + to_chat(user, span_notice("You change RCD's mode to '[choice]'.")) ////////////////// -/obj/item/weapon/rcd/electric/update_icon() +/obj/item/rcd/electric/update_icon() return -/obj/item/weapon/rcd/shipwright +/obj/item/rcd/shipwright icon_state = "swrcd" item_state = "ircd" can_remove_rwalls = TRUE make_rwalls = TRUE ////////////////// -/obj/item/weapon/rcd_ammo/examine(mob/user) +/obj/item/rcd_ammo/examine(mob/user) . = ..() . += display_resources() // Used to show how much stuff (matter units, cell charge, etc) is left inside. -/obj/item/weapon/rcd_ammo/proc/display_resources() +/obj/item/rcd_ammo/proc/display_resources() return "It currently holds [remaining]/[initial(remaining)] matter-units." ////////////////// diff --git a/code/game/objects/items/weapons/RMS_vr.dm b/code/game/objects/items/weapons/RMS_vr.dm index d52de11f162..a0e1880ddfd 100644 --- a/code/game/objects/items/weapons/RMS_vr.dm +++ b/code/game/objects/items/weapons/RMS_vr.dm @@ -5,7 +5,7 @@ #define RMS_STONE 5 #define RMS_RAND 6 -/obj/item/weapon/rms +/obj/item/rms name = "Rapid Material Synthesizer" desc = "A tool that converts battery charge to materials." icon = 'icons/obj/tools_vr.dmi' @@ -44,70 +44,70 @@ var/static/image/radial_image_random = image(icon = 'icons/mob/radial_vr.dmi', icon_state = "sheet-random") -/obj/item/weapon/rms/Initialize() +/obj/item/rms/Initialize() . = ..() src.spark_system = new /datum/effect/effect/system/spark_spread spark_system.set_up(5, 0, src) spark_system.attach(src) add_overlay("rms_charge[charge_stage]") -/obj/item/weapon/pipe_dispenser/Destroy() +/obj/item/pipe_dispenser/Destroy() qdel_null(spark_system) return ..() -/obj/item/weapon/rms/update_icon() +/obj/item/rms/update_icon() charge_stage = round((stored_charge/max_charge)*4) if(charge_stage >= 4) charge_stage = 4 cut_overlays() add_overlay("rms_charge[charge_stage]") -/obj/item/weapon/rms/examine(mob/user) +/obj/item/rms/examine(mob/user) . = ..() . += display_resources() -/obj/item/weapon/rms/proc/display_resources() +/obj/item/rms/proc/display_resources() return "It currently holds [round(stored_charge/1000)]/[max_charge/1000] kW charge." -/obj/item/weapon/rms/proc/drain_battery(user, battery) - var/obj/item/weapon/cell/C = battery +/obj/item/rms/proc/drain_battery(user, battery) + var/obj/item/cell/C = battery if(stored_charge == max_charge) - to_chat(user, "The Rapid Material Synthesizer is full on charge!.") + to_chat(user, span_notice("The Rapid Material Synthesizer is full on charge!.")) if(C.charge == 0) - to_chat(user, "The battery has no charge.") + to_chat(user, span_notice("The battery has no charge.")) else playsound(get_turf(src), 'sound/machines/click.ogg', 50, 1) if(do_after(user, 2,target = C)) stored_charge += C.charge C.charge = 0 C.update_icon() - to_chat(user, "You drain [C].") + to_chat(user, span_notice("You drain [C].")) stored_charge = CLAMP(stored_charge, 0, max_charge) update_icon() -/obj/item/weapon/rms/proc/consume_resources(amount) +/obj/item/rms/proc/consume_resources(amount) stored_charge -= amount update_icon() return -/obj/item/weapon/rms/proc/can_afford(amount) +/obj/item/rms/proc/can_afford(amount) if(stored_charge < amount) return FALSE else return TRUE -/obj/item/weapon/rms/proc/use_rms(atom/A, mob/living/user) +/obj/item/rms/proc/use_rms(atom/A, mob/living/user) var/obj/product if(!overcharge) if(!can_afford(charge_cost)) - to_chat(user, "There is not enough charge to use this mode.") + to_chat(user, span_notice("There is not enough charge to use this mode.")) return else consume_resources(charge_cost) else if(!can_afford(charge_cost_o)) - to_chat(user, "There is not enough charge to use the overcharged mode.") + to_chat(user, span_notice("There is not enough charge to use the overcharged mode.")) return else consume_resources(charge_cost_o) @@ -147,21 +147,21 @@ if(RMS_RAND) if(!overcharge && !emagged) product = pick(10;new /obj/item/trash/material/metal, - 10;new /obj/item/weapon/material/shard, + 10;new /obj/item/material/shard, 10;new /obj/item/stack/cable_coil/random, 10;new /obj/item/stack/material/wood, 10;new /obj/item/stack/material/wood/sif, 10;new /obj/item/stack/material/snow) if(overcharge && !emagged) product = pick(1;new /obj/item/stack/rods, - 5;new /obj/item/device/fbp_backup_cell, + 5;new /obj/item/fbp_backup_cell, 5;new /obj/item/trash/rkibble, 10;new /obj/item/stack/tile/grass, 10;new /obj/item/stack/tile/carpet) spark_system.start() if(!overcharge && emagged) product = pick(10;new /obj/item/trash/material/metal, - 10;new /obj/item/weapon/material/shard, + 10;new /obj/item/material/shard, 10;new /obj/item/stack/cable_coil/random, 10;new /obj/item/stack/material/wood, 10;new /obj/item/stack/material/wood/sif, @@ -173,23 +173,22 @@ ) if(overcharge && emagged) product = pick(1;new /obj/item/stack/rods, - 5;new /obj/item/device/fbp_backup_cell, + 5;new /obj/item/fbp_backup_cell, 5;new /obj/item/trash/rkibble, 10;new /obj/item/stack/tile/grass, 10;new /obj/item/stack/tile/carpet, - 10;new /obj/item/weapon/reagent_containers/spray/waterflower - //YW EDIT: 10;new /obj/item/weapon/bikehorn, - //YW EDIT: 10;new /obj/item/weapon/storage/backpack/clown, + 10;new /obj/item/reagent_containers/spray/waterflower) + //YW EDIT: 10;new /obj/item/bikehorn, + //YW EDIT: 10;new /obj/item/storage/backpack/clown, //YW EDIT: 10;new /obj/item/clothing/under/rank/clown, //YW EDIT: 10;new /obj/item/clothing/shoes/clown_shoes, //YW EDIT: 10;new /obj/item/clothing/mask/gas/clown_hat, - //YW EDIT: 10;new /obj/item/device/pda/clown, - //YW EDIT: 1;new /mob/living/simple_mob/vore/catgirl - ) + //YW EDIT: 10;new /obj/item/pda/clown, + //YW EDIT: 1;new /mob/living/simple_mob/vore/catgirl) spark_system.start() product.loc = get_turf(A) -/obj/item/weapon/rms/proc/check_menu(mob/living/user) +/obj/item/rms/proc/check_menu(mob/living/user) if(!istype(user)) return FALSE if(user.incapacitated() || !user.Adjacent(src)) @@ -198,20 +197,20 @@ //Start of attack functions -/obj/item/weapon/rms/afterattack(atom/target, mob/user, proximity) +/obj/item/rms/afterattack(atom/target, mob/user, proximity) if(!proximity) return - if(istype(target, /obj/item/weapon/cell)) //Check for a battery on-click + if(istype(target, /obj/item/cell)) //Check for a battery on-click drain_battery(user, target) return if(istype(target, /turf/simulated)) // Check for a proper area on-click to spawn items use_rms(target, user) return else - to_chat(user, "Invalid target for the device.") + to_chat(user, span_notice("Invalid target for the device.")) return -/obj/item/weapon/rms/attack_self(mob/user) +/obj/item/rms/attack_self(mob/user) var/list/choices = list( "Steel" = radial_image_steel, "Glass" = radial_image_glass, @@ -240,22 +239,22 @@ else return - to_chat(user, span("notice", "Changed mode to '[choice]'.")) + to_chat(user, span_notice("Changed mode to '[choice]'.")) playsound(src.loc, 'sound/effects/pop.ogg', 50, 0) return ..() -/obj/item/weapon/rms/emag_act(var/remaining_charges, var/mob/user) +/obj/item/rms/emag_act(var/remaining_charges, var/mob/user) emagged = !emagged playsound(src.loc, "sparks", 100, 1) return 1 -/obj/item/weapon/rms/attackby(obj/item/W, mob/user) +/obj/item/rms/attackby(obj/item/W, mob/user) if(W.has_tool_quality(TOOL_MULTITOOL)) overcharge = !overcharge if(overcharge) - to_chat(user, "The Rapid Material Synthesizer quietly whirrs...") + to_chat(user, span_notice("The Rapid Material Synthesizer quietly whirrs...")) else - to_chat(user, "The Rapid Material Synthesizer resumes normal operation.") + to_chat(user, span_notice("The Rapid Material Synthesizer resumes normal operation.")) return ..() diff --git a/code/game/objects/items/weapons/RPD_vr.dm b/code/game/objects/items/weapons/RPD_vr.dm index 0b6f15258cf..2c5ba3e222b 100644 --- a/code/game/objects/items/weapons/RPD_vr.dm +++ b/code/game/objects/items/weapons/RPD_vr.dm @@ -7,7 +7,7 @@ #define DESTROY_MODE (1<<2) #define PAINT_MODE (1<<3) -/obj/item/weapon/pipe_dispenser +/obj/item/pipe_dispenser name = "Rapid Piping Device (RPD)" desc = "A device used to rapidly pipe things." icon = 'icons/obj/tools_vr.dmi' @@ -31,7 +31,7 @@ var/paint_color = "grey" // Pipe color index for next pipe painted/built. var/category = ATMOS_CATEGORY var/piping_layer = PIPING_LAYER_DEFAULT - var/obj/item/weapon/tool/wrench/tool + var/obj/item/tool/wrench/tool var/datum/pipe_recipe/recipe = null // pipe recipie selected for display/construction //YW edit, added = null var/static/datum/pipe_recipe/first_atmos var/static/datum/pipe_recipe/first_disposal @@ -44,14 +44,14 @@ "Aux" = PIPING_LAYER_AUX ) -/obj/item/weapon/pipe_dispenser/Initialize() +/obj/item/pipe_dispenser/Initialize() . = ..() src.spark_system = new /datum/effect/effect/system/spark_spread spark_system.set_up(5, 0, src) spark_system.attach(src) - tool = new /obj/item/weapon/tool/wrench/cyborg(src) // RPDs have wrenches inside of them, so that they can wrench down spawned pipes without being used as superior wrenches themselves. + tool = new /obj/item/tool/wrench/cyborg(src) // RPDs have wrenches inside of them, so that they can wrench down spawned pipes without being used as superior wrenches themselves. -/obj/item/weapon/pipe_dispenser/proc/SetupPipes() +/obj/item/pipe_dispenser/proc/SetupPipes() if(!first_atmos) first_atmos = GLOB.atmos_pipe_recipes[GLOB.atmos_pipe_recipes[1]][1] if(!first_disposal) @@ -59,30 +59,30 @@ if(!recipe) recipe = first_atmos -/obj/item/weapon/pipe_dispenser/Destroy() +/obj/item/pipe_dispenser/Destroy() qdel_null(spark_system) qdel_null(tool) return ..() -/obj/item/weapon/pipe_dispenser/attack_self(mob/user) +/obj/item/pipe_dispenser/attack_self(mob/user) tgui_interact(user) -/obj/item/weapon/pipe_dispenser/ui_assets(mob/user) +/obj/item/pipe_dispenser/ui_assets(mob/user) return list( get_asset_datum(/datum/asset/spritesheet/pipes), ) -/obj/item/weapon/pipe_dispenser/tgui_state(mob/user) +/obj/item/pipe_dispenser/tgui_state(mob/user) return GLOB.tgui_inventory_state -/obj/item/weapon/pipe_dispenser/tgui_interact(mob/user, datum/tgui/ui) +/obj/item/pipe_dispenser/tgui_interact(mob/user, datum/tgui/ui) SetupPipes() ui = SStgui.try_update_ui(user, src, ui) if(!ui) ui = new(user, src, "RapidPipeDispenser", name) ui.open() -/obj/item/weapon/pipe_dispenser/tgui_data(mob/user) +/obj/item/pipe_dispenser/tgui_data(mob/user) var/list/data = list( "category" = category, "piping_layer" = piping_layer, @@ -112,10 +112,10 @@ return data -/obj/item/weapon/pipe_dispenser/tgui_act(action, params) +/obj/item/pipe_dispenser/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE - if(!usr.canmove || usr.stat || usr.restrained() || !in_range(loc, usr)) + if(!ui.user.canmove || ui.user.stat || ui.user.restrained() || !in_range(loc, ui.user)) return TRUE var/playeffect = TRUE switch(action) @@ -159,7 +159,7 @@ playsound(get_turf(src), 'sound/effects/pop.ogg', 50, FALSE) return TRUE -/obj/item/weapon/pipe_dispenser/afterattack(atom/A, mob/user as mob, proximity) +/obj/item/pipe_dispenser/afterattack(atom/A, mob/user as mob, proximity) if(!user.IsAdvancedToolUser() || istype(A, /turf/space/transit) || !proximity) return ..() @@ -178,7 +178,7 @@ . = TRUE if((mode & DESTROY_MODE) && can_destroy_pipe) - to_chat(user, "You start destroying a pipe...") + to_chat(user, span_notice("You start destroying a pipe...")) playsound(src, 'sound/machines/click.ogg', 50, 1) if(do_after(user, 2, target = A)) activate() @@ -190,7 +190,7 @@ var/obj/machinery/atmospherics/pipe/P = A playsound(src, 'sound/machines/click.ogg', 50, 1) P.change_color(pipe_colors[paint_color]) - user.visible_message("[user] paints \the [P] [paint_color].", "You paint \the [P] [paint_color].") + user.visible_message(span_notice("[user] paints \the [P] [paint_color]."), span_notice("You paint \the [P] [paint_color].")) return if(mode & BUILD_MODE) //Making pipes @@ -200,7 +200,7 @@ return ..() playsound(src, 'sound/machines/click.ogg', 50, 1) if(istype(recipe, /datum/pipe_recipe/meter)) - to_chat(user, "You start building a meter...") + to_chat(user, span_notice("You start building a meter...")) if(do_after(user, 2, target = A)) activate() var/obj/item/pipe_meter/PM = new /obj/item/pipe_meter(get_turf(A)) @@ -209,7 +209,7 @@ do_wrench(PM, user) else if(istype(recipe, /datum/pipe_recipe/pipe)) var/datum/pipe_recipe/pipe/R = recipe - to_chat(user, "You start building a pipe...") + to_chat(user, span_notice("You start building a pipe...")) if(do_after(user, 2, target = A)) activate() var/obj/machinery/atmospherics/path = R.pipe_type @@ -217,7 +217,7 @@ var/obj/item/pipe/P = new pipe_item_type(get_turf(A), path, queued_p_dir) P.update() - P.add_fingerprint(usr) + P.add_fingerprint(user) if(R.paintable) P.color = pipe_colors[paint_color] P.setPipingLayer(queued_piping_layer) @@ -234,21 +234,21 @@ return ..() A = get_turf(A) if(istype(A, /turf/unsimulated)) - to_chat(user, "[src]'s error light flickers; there's something in the way!") + to_chat(user, span_warning("[src]'s error light flickers; there's something in the way!")) return - to_chat(user, "You start building a disposals pipe...") + to_chat(user, span_notice("You start building a disposals pipe...")) playsound(src, 'sound/machines/click.ogg', 50, 1) if(do_after(user, 4, target = A)) var/obj/structure/disposalconstruct/C = new(A, R.pipe_type, queued_p_dir, queued_p_flipped, R.subtype) if(!C.can_place()) - to_chat(user, "There's not enough room to build that here!") + to_chat(user, span_warning("There's not enough room to build that here!")) qdel(C) return activate() - C.add_fingerprint(usr) + C.add_fingerprint(user) C.update_icon() if(mode & WRENCH_MODE) do_wrench(C, user) @@ -258,7 +258,7 @@ else return ..() -/obj/item/weapon/pipe_dispenser/proc/build_effect(var/obj/P, var/time = 1.5) +/obj/item/pipe_dispenser/proc/build_effect(var/obj/P, var/time = 1.5) set waitfor = FALSE P.filters += filter(type = "angular_blur", size = 30) animate(P.filters[P.filters.len], size = 0, time = time) @@ -268,7 +268,7 @@ P.filters -= outline P.filters -= filter(type = "angular_blur", size = 0) -/obj/item/weapon/pipe_dispenser/proc/animate_deletion(var/obj/P, var/time = 1.5) +/obj/item/pipe_dispenser/proc/animate_deletion(var/obj/P, var/time = 1.5) set waitfor = FALSE P.filters += filter(type = "angular_blur", size = 0) animate(P.filters[P.filters.len], size = 30, time = time) @@ -277,10 +277,10 @@ P.filters -= filter(type = "angular_blur", size = 30) qdel(P) -/obj/item/weapon/pipe_dispenser/proc/activate() +/obj/item/pipe_dispenser/proc/activate() playsound(src, 'sound/items/deconstruct.ogg', 50, 1) -/obj/item/weapon/pipe_dispenser/proc/do_wrench(var/atom/target, mob/user) +/obj/item/pipe_dispenser/proc/do_wrench(var/atom/target, mob/user) var/resolved = target.attackby(tool,user) if(!resolved && tool && target) tool.afterattack(target,user,1) @@ -292,4 +292,4 @@ #undef BUILD_MODE #undef WRENCH_MODE #undef DESTROY_MODE -#undef PAINT_MODE \ No newline at end of file +#undef PAINT_MODE diff --git a/code/game/objects/items/weapons/RSF.dm b/code/game/objects/items/weapons/RSF.dm index 0eacd7922c3..aadbb62393a 100644 --- a/code/game/objects/items/weapons/RSF.dm +++ b/code/game/objects/items/weapons/RSF.dm @@ -4,7 +4,7 @@ RSF */ -/obj/item/weapon/rsf +/obj/item/rsf name = "\improper Rapid-Service-Fabricator" desc = "A device used to rapidly deploy service items." description_info = "Control Clicking on the device will allow you to choose the glass it dispenses when in the proper mode." @@ -16,79 +16,79 @@ RSF matter = list(DEFAULT_WALL_MATERIAL = 25000) var/stored_matter = 30 var/mode = 1 - var/obj/item/weapon/reagent_containers/glasstype = /obj/item/weapon/reagent_containers/food/drinks/metaglass + var/obj/item/reagent_containers/glasstype = /obj/item/reagent_containers/food/drinks/metaglass var/list/container_types = list( - "metamorphic glass" = /obj/item/weapon/reagent_containers/food/drinks/metaglass, - "metamorphic pint glass" = /obj/item/weapon/reagent_containers/food/drinks/metaglass/metapint, - "half-pint glass" = /obj/item/weapon/reagent_containers/food/drinks/glass2/square, - "rocks glass" = /obj/item/weapon/reagent_containers/food/drinks/glass2/rocks, - "milkshake glass" = /obj/item/weapon/reagent_containers/food/drinks/glass2/shake, - "cocktail glass" = /obj/item/weapon/reagent_containers/food/drinks/glass2/cocktail, - "shot glass" = /obj/item/weapon/reagent_containers/food/drinks/glass2/shot, - "pint glass" = /obj/item/weapon/reagent_containers/food/drinks/glass2/pint, - "mug" = /obj/item/weapon/reagent_containers/food/drinks/glass2/mug, - "wine glass" = /obj/item/weapon/reagent_containers/food/drinks/glass2/wine, - "condiment bottle" = /obj/item/weapon/reagent_containers/food/condiment + "metamorphic glass" = /obj/item/reagent_containers/food/drinks/metaglass, + "metamorphic pint glass" = /obj/item/reagent_containers/food/drinks/metaglass/metapint, + "half-pint glass" = /obj/item/reagent_containers/food/drinks/glass2/square, + "rocks glass" = /obj/item/reagent_containers/food/drinks/glass2/rocks, + "milkshake glass" = /obj/item/reagent_containers/food/drinks/glass2/shake, + "cocktail glass" = /obj/item/reagent_containers/food/drinks/glass2/cocktail, + "shot glass" = /obj/item/reagent_containers/food/drinks/glass2/shot, + "pint glass" = /obj/item/reagent_containers/food/drinks/glass2/pint, + "mug" = /obj/item/reagent_containers/food/drinks/glass2/mug, + "wine glass" = /obj/item/reagent_containers/food/drinks/glass2/wine, + "condiment bottle" = /obj/item/reagent_containers/food/condiment ) w_class = ITEMSIZE_NORMAL -/obj/item/weapon/rsf/examine(mob/user) +/obj/item/rsf/examine(mob/user) . = ..() if(get_dist(user, src) == 0) - . += "It currently holds [stored_matter]/30 fabrication-units." + . += span_notice("It currently holds [stored_matter]/30 fabrication-units.") -/obj/item/weapon/rsf/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/item/rsf/attackby(obj/item/W as obj, mob/user as mob) ..() - if (istype(W, /obj/item/weapon/rcd_ammo)) + if (istype(W, /obj/item/rcd_ammo)) if ((stored_matter + 10) > 30) - to_chat(user, "The RSF can't hold any more matter.") + to_chat(user, span_warning("The RSF can't hold any more matter.")) return qdel(W) stored_matter += 10 playsound(src, 'sound/machines/click.ogg', 10, 1) - to_chat(user,"The RSF now holds [stored_matter]/30 fabrication-units.") + to_chat(user,span_notice("The RSF now holds [stored_matter]/30 fabrication-units.")) return -/obj/item/weapon/rsf/CtrlClick(mob/living/user) +/obj/item/rsf/CtrlClick(mob/living/user) if(!Adjacent(user) || !istype(user)) - to_chat(user,"You are too far away.") + to_chat(user,span_notice("You are too far away.")) return var/glass_choice = tgui_input_list(user, "Please choose which type of glass you would like to produce.", "Glass Choice", container_types) if(glass_choice) glasstype = container_types[glass_choice] else - glasstype = /obj/item/weapon/reagent_containers/food/drinks/metaglass + glasstype = /obj/item/reagent_containers/food/drinks/metaglass -/obj/item/weapon/rsf/attack_self(mob/user as mob) +/obj/item/rsf/attack_self(mob/user as mob) playsound(src, 'sound/effects/pop.ogg', 50, 0) if (mode == 1) mode = 2 - to_chat(user,"Changed dispensing mode to 'Container'.") + to_chat(user,span_notice("Changed dispensing mode to 'Container'.")) return if (mode == 2) mode = 3 - to_chat(user,"Changed dispensing mode to 'Paper'") + to_chat(user,span_notice("Changed dispensing mode to 'Paper'")) return if (mode == 3) mode = 4 - to_chat(user,"Changed dispensing mode to 'Pen'") + to_chat(user,span_notice("Changed dispensing mode to 'Pen'")) return if (mode == 4) mode = 5 - to_chat(user,"Changed dispensing mode to 'Dice Pack'") + to_chat(user,span_notice("Changed dispensing mode to 'Dice Pack'")) return if (mode == 5) mode = 1 - to_chat(user,"Changed dispensing mode to 'Cigarette'") + to_chat(user,span_notice("Changed dispensing mode to 'Cigarette'")) return -/obj/item/weapon/rsf/afterattack(atom/A, mob/user as mob, proximity) +/obj/item/rsf/afterattack(atom/A, mob/user as mob, proximity) if(!proximity) return @@ -115,16 +115,16 @@ RSF product = new glasstype() used_energy = 50 if(3) - product = new /obj/item/weapon/paper() + product = new /obj/item/paper() used_energy = 10 if(4) - product = new /obj/item/weapon/pen() + product = new /obj/item/pen() used_energy = 50 if(5) - product = new /obj/item/weapon/storage/pill_bottle/dice() + product = new /obj/item/storage/pill_bottle/dice() used_energy = 200 - to_chat(user,"Dispensing [product ? product : "product"]...") + to_chat(user,span_notice("Dispensing [product ? product : "product"]...")) product.loc = get_turf(A) if(isrobot(user)) @@ -133,4 +133,4 @@ RSF R.cell.use(used_energy) else stored_matter-- - to_chat(user,"The RSF now holds [stored_matter]/30 fabrication-units.") + to_chat(user,span_notice("The RSF now holds [stored_matter]/30 fabrication-units.")) diff --git a/code/game/objects/items/weapons/augment_items.dm b/code/game/objects/items/weapons/augment_items.dm index 29db229cae4..3fc439adb2a 100644 --- a/code/game/objects/items/weapons/augment_items.dm +++ b/code/game/objects/items/weapons/augment_items.dm @@ -1,13 +1,13 @@ // **For augment items that aren't subtypes of other things.** -/obj/item/weapon/melee/augment +/obj/item/melee/augment name = "integrated item" desc = "A surprisingly non-descript item, integrated into its user. You probably shouldn't be seeing this." icon = 'icons/obj/surgery.dmi' icon_state = "augment_box" -/obj/item/weapon/melee/augment/blade +/obj/item/melee/augment/blade name = "handblade" desc = "A sleek-looking telescopic blade that fits inside the hand. Favored by infiltration specialists and assassins." icon_state = "augment_handblade" @@ -24,7 +24,7 @@ projectile_parry_chance = 5 hitsound = 'sound/weapons/bladeslice.ogg' -/obj/item/weapon/melee/augment/blade/arm +/obj/item/melee/augment/blade/arm name = "armblade" desc = "A sleek-looking cybernetic blade that cleaves through people like butter. Favored by psychopaths and assassins." icon_state = "augment_armblade" diff --git a/code/game/objects/items/weapons/autopsy.dm b/code/game/objects/items/weapons/autopsy.dm index 100fac14c28..1b9662d7826 100644 --- a/code/game/objects/items/weapons/autopsy.dm +++ b/code/game/objects/items/weapons/autopsy.dm @@ -2,7 +2,7 @@ //moved these here from code/defines/obj/weapon.dm //please preference put stuff where it's easy to find - C -/obj/item/weapon/autopsy_scanner +/obj/item/autopsy_scanner name = "biopsy scanner" desc = "Extracts information on wounds." icon = 'icons/obj/autopsy_scanner.dmi' @@ -39,7 +39,7 @@ W.time_inflicted = time_inflicted return W -/obj/item/weapon/autopsy_scanner/proc/add_data(var/obj/item/organ/external/O) +/obj/item/autopsy_scanner/proc/add_data(var/obj/item/organ/external/O) if(!O.autopsy_data.len && !O.trace_chemicals.len) return for(var/V in O.autopsy_data) @@ -67,7 +67,7 @@ if(O.trace_chemicals[V] > 0 && !chemtraces.Find(V)) chemtraces += V -/obj/item/weapon/autopsy_scanner/verb/print_data() +/obj/item/autopsy_scanner/verb/print_data() set category = "Object" set src in view(usr, 1) set name = "Print Data" @@ -78,7 +78,7 @@ var/scan_data = "" if(timeofdeath) - scan_data += "Time of death: [worldtime2stationtime(timeofdeath)]

" + scan_data += span_bold("Time of death:") + " [worldtime2stationtime(timeofdeath)]

" var/n = 1 for(var/wdata_idx in wdata) @@ -121,7 +121,7 @@ if(!total_score) total_score = D.organs_scanned.len - scan_data += "Weapon #[n]
" + scan_data += span_bold("Weapon #[n]") + "
" if(damaging_weapon) scan_data += "Severity: [damage_desc]
" scan_data += "Hits by weapon: [total_hits]
" @@ -136,17 +136,17 @@ n++ if(chemtraces.len) - scan_data += "Trace Chemicals:
" + scan_data += span_bold("Trace Chemicals: ") + "
" for(var/chemID in chemtraces) scan_data += chemID scan_data += "
" for(var/mob/O in viewers(usr)) - O.show_message("\The [src] rattles and prints out a sheet of paper.", 1) + O.show_message(span_notice("\The [src] rattles and prints out a sheet of paper."), 1) sleep(10) - var/obj/item/weapon/paper/P = new(usr.loc) + var/obj/item/paper/P = new(usr.loc) P.name = "Autopsy Data ([target_name])" P.info = "[scan_data]" P.icon_state = "paper_words" @@ -154,7 +154,7 @@ if(istype(usr,/mob/living/carbon)) usr.put_in_hands(P) -/obj/item/weapon/autopsy_scanner/do_surgery(mob/living/carbon/human/M, mob/living/user) +/obj/item/autopsy_scanner/do_surgery(mob/living/carbon/human/M, mob/living/user) if(!istype(M)) return 0 @@ -166,18 +166,18 @@ src.wdata = list() src.chemtraces = list() src.timeofdeath = null - to_chat(user, "A new patient has been registered. Purging data for previous patient.") + to_chat(user, span_notice("A new patient has been registered. Purging data for previous patient.")) src.timeofdeath = M.timeofdeath var/obj/item/organ/external/S = M.get_organ(user.zone_sel.selecting) if(!S) - to_chat(user, "You can't scan this body part.") + to_chat(user, span_warning("You can't scan this body part.")) return if(!S.open) - to_chat(user, "You have to cut [S] open first!") + to_chat(user, span_warning("You have to cut [S] open first!")) return - M.visible_message("\The [user] scans the wounds on [M]'s [S.name] with [src]") + M.visible_message(span_infoplain(span_bold("\The [user]") + " scans the wounds on [M]'s [S.name] with [src]")) src.add_data(S) diff --git a/code/game/objects/items/weapons/bones.dm b/code/game/objects/items/weapons/bones.dm index ef7f3c7bc57..cb9353dce0e 100644 --- a/code/game/objects/items/weapons/bones.dm +++ b/code/game/objects/items/weapons/bones.dm @@ -1,5 +1,5 @@ //These bone objects are mostly for mapping and decoration. They have no actual medical use, so maybe don't try to put them in anybody. -/obj/item/weapon/bone +/obj/item/bone name = "bone" desc = "A non-descript bone. It's so old and worn you can barely tell which part of the body it's from." icon = 'icons/obj/bones.dmi' @@ -10,42 +10,42 @@ w_class = ITEMSIZE_SMALL attack_verb = list("attacked", "bashed", "battered", "bludgeoned", "whacked", "bonked", "boned") -/obj/item/weapon/bone/skull +/obj/item/bone/skull name = "skull" desc = "A skull. Judging by the shape and size, you'd guess that it might be human." icon_state = "skull" throwforce = 7 -/obj/item/weapon/bone/skull/tajaran +/obj/item/bone/skull/tajaran desc = "A skull. Judging by the shape and size, you'd guess that it might be tajaran." icon_state = "tajskull" -/obj/item/weapon/bone/skull/unathi +/obj/item/bone/skull/unathi desc = "A skull. Judging by the shape and size, you'd guess that it might be unathi." icon_state = "unaskull" -/obj/item/weapon/bone/skull/unknown +/obj/item/bone/skull/unknown desc = "A skull. You're not sure what species it might be, though." icon_state = "xenoskull" -/obj/item/weapon/bone/arm +/obj/item/bone/arm name = "arm bone" desc = "Wielding this, you're armed and dangerous, no bones about it." attack_verb = list("attacked", "bashed", "battered", "bludgeoned", "whacked", "bonked", "boned", "slapped", "punched") icon_state = "arm" -/obj/item/weapon/bone/leg +/obj/item/bone/leg name = "leg bone" desc = "Don't worry about getting into an argument with the owner of this. They don't have a leg to stand on." attack_verb = list("attacked", "bashed", "battered", "bludgeoned", "whacked", "bonked", "boned", "kicked") icon_state = "leg" -/obj/item/weapon/bone/ribs +/obj/item/bone/ribs name = "ribcage" desc = "If you had some mallets, you could probably use this as a makeshift xylophone." icon_state = "ribs" -/obj/item/weapon/bone/horn //Teppi horn!!!! +/obj/item/bone/horn //Teppi horn!!!! name = "horn" desc = "A hard conical structure made of bone or some other similar organic material. Traditionally seen affixed to helmets, hollowed out and filled with tasty drinks, or occasionally, attatched to the heads of animals." icon = 'icons/obj/bones_vr.dmi' diff --git a/code/game/objects/items/weapons/candle.dm b/code/game/objects/items/weapons/candle.dm index 8fc58d8664b..b5b9e4a6ebd 100644 --- a/code/game/objects/items/weapons/candle.dm +++ b/code/game/objects/items/weapons/candle.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/flame/candle +/obj/item/flame/candle name = "red candle" desc = "a red pillar candle. Its specially-formulated fuel-oxidizer wax mixture allows continued combustion in airless environments." icon = 'icons/obj/candle.dmi' @@ -10,11 +10,11 @@ var/wax = 2000 var/icon_type = "candle" -/obj/item/weapon/flame/candle/New() +/obj/item/flame/candle/New() wax -= rand(800, 1000) // Enough for 27-33 minutes. 30 minutes on average. ..() -/obj/item/weapon/flame/candle/update_icon() +/obj/item/flame/candle/update_icon() var/i if(wax > 1500) i = 1 @@ -24,34 +24,34 @@ icon_state = "[icon_type][i][lit ? "_lit" : ""]" -/obj/item/weapon/flame/candle/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/item/flame/candle/attackby(obj/item/W as obj, mob/user as mob) ..() if(W.has_tool_quality(TOOL_WELDER)) - var/obj/item/weapon/weldingtool/WT = W.get_welder() + var/obj/item/weldingtool/WT = W.get_welder() if(WT.isOn()) //Badasses dont get blinded by lighting their candle with a welding tool - light("\The [user] casually lights the [src] with [W].") - else if(istype(W, /obj/item/weapon/flame/lighter)) - var/obj/item/weapon/flame/lighter/L = W + light(span_notice("\The [user] casually lights the [src] with [W].")) + else if(istype(W, /obj/item/flame/lighter)) + var/obj/item/flame/lighter/L = W if(L.lit) light() - else if(istype(W, /obj/item/weapon/flame/match)) - var/obj/item/weapon/flame/match/M = W + else if(istype(W, /obj/item/flame/match)) + var/obj/item/flame/match/M = W if(M.lit) light() - else if(istype(W, /obj/item/weapon/flame/candle)) - var/obj/item/weapon/flame/candle/C = W + else if(istype(W, /obj/item/flame/candle)) + var/obj/item/flame/candle/C = W if(C.lit) light() -/obj/item/weapon/flame/candle/proc/light(var/flavor_text = "\The [usr] lights the [src].") +/obj/item/flame/candle/proc/light(var/flavor_text = span_notice("\The [usr] lights the [src].")) if(!lit) lit = TRUE visible_message(flavor_text) set_light(CANDLE_LUM) START_PROCESSING(SSobj, src) -/obj/item/weapon/flame/candle/process() +/obj/item/flame/candle/process() if(!lit) return wax-- @@ -65,13 +65,13 @@ var/turf/T = loc T.hotspot_expose(700, 5) -/obj/item/weapon/flame/candle/attack_self(mob/user as mob) +/obj/item/flame/candle/attack_self(mob/user as mob) if(lit) lit = 0 update_icon() set_light(0) -/obj/item/weapon/flame/candle/small +/obj/item/flame/candle/small name = "small red candle" desc = "a small red candle, for more intimate candle occasions." icon = 'icons/obj/candle.dmi' @@ -79,7 +79,7 @@ icon_type = "smallcandle" w_class = ITEMSIZE_SMALL -/obj/item/weapon/flame/candle/white +/obj/item/flame/candle/white name = "white candle" desc = "a white pillar candle. Its specially-formulated fuel-oxidizer wax mixture allows continued combustion in airless environments." icon = 'icons/obj/candle.dmi' @@ -87,7 +87,7 @@ icon_type = "whitecandle" w_class = ITEMSIZE_SMALL -/obj/item/weapon/flame/candle/black +/obj/item/flame/candle/black name = "black candle" desc = "a black pillar candle. Ominous." icon = 'icons/obj/candle.dmi' @@ -95,7 +95,7 @@ icon_type = "blackcandle" w_class = ITEMSIZE_SMALL -/obj/item/weapon/flame/candle/candelabra +/obj/item/flame/candle/candelabra name = "candelabra" desc = "a small gold candelabra. The cups that hold the candles save some of the wax from dripping off, allowing the candles to burn longer." icon = 'icons/obj/candle.dmi' @@ -103,22 +103,22 @@ w_class = ITEMSIZE_SMALL wax = 20000 -/obj/item/weapon/flame/candle/candelabra/update_icon() +/obj/item/flame/candle/candelabra/update_icon() if(wax == 0) icon_state = "candelabra_melted" else icon_state = "candelabra[lit ? "_lit" : ""]" -/obj/item/weapon/flame/candle/everburn +/obj/item/flame/candle/everburn wax = 99999 -/obj/item/weapon/flame/candle/everburn/Initialize() +/obj/item/flame/candle/everburn/Initialize() . = ..() - light("\The [src] mysteriously lights itself!.") + light(span_notice("\The [src] mysteriously lights itself!.")) -/obj/item/weapon/flame/candle/candelabra/everburn +/obj/item/flame/candle/candelabra/everburn wax = 99999 -/obj/item/weapon/flame/candle/candelabra/everburn/Initialize() +/obj/item/flame/candle/candelabra/everburn/Initialize() . = ..() - light("\The [src] mysteriously lights itself!.") + light(span_notice("\The [src] mysteriously lights itself!.")) diff --git a/code/game/objects/items/weapons/canes.dm b/code/game/objects/items/weapons/canes.dm index 63d2222834f..cd500211a1f 100644 --- a/code/game/objects/items/weapons/canes.dm +++ b/code/game/objects/items/weapons/canes.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/cane +/obj/item/cane name = "cane" desc = "A cane used by a true gentleman." icon = 'icons/obj/weapons.dmi' @@ -13,25 +13,25 @@ matter = list(MAT_STEEL = 50) attack_verb = list("bludgeoned", "whacked", "disciplined", "thrashed") -/obj/item/weapon/cane/crutch +/obj/item/cane/crutch name ="crutch" desc = "A long stick with a crosspiece at the top, used to help with walking." icon_state = "crutch" item_state = "crutch" -/obj/item/weapon/cane/concealed +/obj/item/cane/concealed var/concealed_blade -/obj/item/weapon/cane/concealed/Initialize() +/obj/item/cane/concealed/Initialize() . = ..() - var/obj/item/weapon/material/sword/katana/caneblade/temp_blade = new(src) + var/obj/item/material/sword/katana/caneblade/temp_blade = new(src) concealed_blade = temp_blade temp_blade.attack_self() -/obj/item/weapon/cane/concealed/attack_self(var/mob/user) +/obj/item/cane/concealed/attack_self(var/mob/user) var/datum/gender/T = gender_datums[user.get_visible_gender()] if(concealed_blade) - user.visible_message("[user] has unsheathed \a [concealed_blade] from [T.his] [src]!", "You unsheathe \the [concealed_blade] from \the [src].") + user.visible_message(span_warning("[user] has unsheathed \a [concealed_blade] from [T.his] [src]!"), "You unsheathe \the [concealed_blade] from \the [src].") // Calling drop/put in hands to properly call item drop/pickup procs playsound(src, 'sound/weapons/holster/sheathout.ogg', 50, 1) user.drop_from_inventory(src) @@ -44,10 +44,10 @@ else ..() -/obj/item/weapon/cane/concealed/attackby(var/obj/item/weapon/material/sword/katana/caneblade/W, var/mob/user) +/obj/item/cane/concealed/attackby(var/obj/item/material/sword/katana/caneblade/W, var/mob/user) if(!src.concealed_blade && istype(W)) var/datum/gender/T = gender_datums[user.get_visible_gender()] - user.visible_message("[user] has sheathed \a [W] into [T.his] [src]!", "You sheathe \the [W] into \the [src].") + user.visible_message(span_warning("[user] has sheathed \a [W] into [T.his] [src]!"), "You sheathe \the [W] into \the [src].") playsound(src, 'sound/weapons/holster/sheathin.ogg', 50, 1) user.drop_from_inventory(W) W.loc = src @@ -56,7 +56,7 @@ else ..() -/obj/item/weapon/cane/concealed/update_icon() +/obj/item/cane/concealed/update_icon() if(concealed_blade) name = initial(name) icon_state = initial(icon_state) @@ -66,14 +66,14 @@ icon_state = "caneshaft" item_state = "foldcane" -/obj/item/weapon/cane/white +/obj/item/cane/white name = "white cane" desc = "A white cane. They are commonly used by the blind or visually impaired as a mobility tool or as a courtesy to others." icon_state = "whitecane" -/obj/item/weapon/cane/white/attack(mob/M as mob, mob/user as mob) +/obj/item/cane/white/attack(mob/M as mob, mob/user as mob) if(user.a_intent == I_HELP) - user.visible_message("\The [user] has lightly tapped [M] on the ankle with their white cane!") + user.visible_message(span_notice("\The [user] has lightly tapped [M] on the ankle with their white cane!")) return TRUE else . = ..() @@ -81,7 +81,7 @@ //Code for Telescopic White Cane writen by Gozulio -/obj/item/weapon/cane/white/collapsible +/obj/item/cane/white/collapsible name = "telescopic white cane" desc = "A telescopic white cane. They are commonly used by the blind or visually impaired as a mobility tool or as a courtesy to others." icon_state = "whitecane1in" @@ -94,11 +94,11 @@ force = 3 var/on = 0 -/obj/item/weapon/cane/white/collapsible/attack_self(mob/user as mob) +/obj/item/cane/white/collapsible/attack_self(mob/user as mob) on = !on if(on) - user.visible_message("\The [user] extends the white cane.",\ - "You extend the white cane.",\ + user.visible_message(span_infoplain(span_bold("\The [user]") + " extends the white cane."),\ + span_warning("You extend the white cane."),\ "You hear an ominous click.") icon_state = "whitecane1out" item_state_slots = list(slot_r_hand_str = "whitecane", slot_l_hand_str = "whitecane") @@ -106,8 +106,8 @@ force = 5 attack_verb = list("smacked", "struck", "cracked", "beaten") else - user.visible_message("\The [user] collapses the white cane.",\ - "You collapse the white cane.",\ + user.visible_message(span_infoplain(span_bold("\The [user]") + " collapses the white cane."),\ + span_notice("You collapse the white cane."),\ "You hear a click.") icon_state = "whitecane1in" item_state_slots = list(slot_r_hand_str = null, slot_l_hand_str = null) diff --git a/code/game/objects/items/weapons/capture_crystal.dm b/code/game/objects/items/weapons/capture_crystal.dm index 6d0be3819ca..4b7e95d446e 100644 --- a/code/game/objects/items/weapons/capture_crystal.dm +++ b/code/game/objects/items/weapons/capture_crystal.dm @@ -7,7 +7,7 @@ pickup_sound = 'sound/items/pickup/ring.ogg' throwforce = 0 force = 0 - action_button_name = "Command" + actions_types = list(/datum/action/item_action/command) var/active = FALSE //Is it set up? var/mob/living/owner //Reference to the owner @@ -28,7 +28,7 @@ if(bound_mob) if(bound_mob in contents) unleash() - to_chat(bound_mob, "You feel like yourself again. You are no longer under the influence of \the [src]'s command.") + to_chat(bound_mob, span_notice("You feel like yourself again. You are no longer under the influence of \the [src]'s command.")) UnregisterSignal(bound_mob, COMSIG_PARENT_QDELETING) bound_mob.capture_caught = FALSE bound_mob = null @@ -40,23 +40,23 @@ /obj/item/capture_crystal/examine(user) . = ..() if(user == owner && bound_mob) - . += "[bound_mob]'s crystal" + . += span_notice("[bound_mob]'s crystal") if(isanimal(bound_mob)) - . += "[bound_mob.health / bound_mob.maxHealth * 100]%" + . += span_notice("[bound_mob.health / bound_mob.maxHealth * 100]%") if(bound_mob.ooc_notes) - . += "OOC Notes: \[View\] - \[Print\]" - . += "\[Mechanical Vore Preferences\]" + . += span_deptradio("OOC Notes:") + " \[View\] - \[Print\]" + . += span_deptradio("\[Mechanical Vore Preferences\]") //Command! This lets the owner toggle hostile on AI controlled mobs, or send a silent command message to your bound mob, wherever they may be. -/obj/item/capture_crystal/ui_action_click() +/obj/item/capture_crystal/ui_action_click(mob/user, actiontype) if(!ismob(loc)) return var/mob/living/M = src.loc if(M != owner) - to_chat(M, "\The [src] emits an unpleasant tone... It does not respond to your command.") + to_chat(M, span_notice("\The [src] emits an unpleasant tone... It does not respond to your command.")) playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) else if(!bound_mob) - to_chat(M, "\The [src] emits an unpleasant tone... There is nothing to command.") + to_chat(M, span_notice("\The [src] emits an unpleasant tone... There is nothing to command.")) playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) else if(isanimal(bound_mob) && !bound_mob.client) if(!isnull(bound_mob.get_AI_stance())) @@ -64,22 +64,22 @@ AI.hostile = !AI.hostile if(!AI.hostile) AI.set_stance(STANCE_IDLE) - to_chat(M, span("notice", "\The [bound_mob] is now [AI.hostile ? "hostile" : "passive"].")) + to_chat(M, span_notice("\The [bound_mob] is now [AI.hostile ? "hostile" : "passive"].")) log_admin("[key_name_admin(M)] set [bound_mob] to [AI.hostile].") else if(bound_mob.client) - var/transmit_msg = tgui_input_text(usr, "What is your command?", "Command") + var/transmit_msg = tgui_input_text(user, "What is your command?", "Command") if(length(transmit_msg) >= MAX_MESSAGE_LEN) - to_chat(M, "Your message was TOO LONG!:[transmit_msg]") + to_chat(M, span_danger("Your message was TOO LONG!:[transmit_msg]")) return transmit_msg = sanitize(transmit_msg, max_length = MAX_MESSAGE_LEN) if(isnull(transmit_msg)) - to_chat(M, "You decided against it.") + to_chat(M, span_notice("You decided against it.")) return - to_chat(bound_mob, "\The [owner] commands, '[transmit_msg]'") - to_chat(M, "Your command has been transmitted, '[transmit_msg]'") + to_chat(bound_mob, span_notice("\The [owner] commands, '[transmit_msg]'")) + to_chat(M, span_notice("Your command has been transmitted, '[transmit_msg]'")) log_admin("[key_name_admin(M)] sent the command, '[transmit_msg]' to [bound_mob].") else - to_chat(M, "\The [src] emits an unpleasant tone... \The [bound_mob] is unresponsive.") + to_chat(M, span_notice("\The [src] emits an unpleasant tone... \The [bound_mob] is unresponsive.")) playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) //Lets the owner get AI controlled bound mobs to follow them, or tells player controlled mobs to follow them. @@ -91,39 +91,39 @@ return var/mob/living/M = src.loc if(M != owner) - to_chat(M, "\The [src] emits an unpleasant tone... It does not respond to your command.") + to_chat(M, span_notice("\The [src] emits an unpleasant tone... It does not respond to your command.")) playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) else if(bound_mob.stat != CONSCIOUS) - to_chat(M, "\The [src] emits an unpleasant tone... \The [bound_mob] is not able to hear your command.") + to_chat(M, span_notice("\The [src] emits an unpleasant tone... \The [bound_mob] is not able to hear your command.")) playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) else if(bound_mob.client) - to_chat(bound_mob, "\The [owner] wishes for you to follow them.") + to_chat(bound_mob, span_notice("\The [owner] wishes for you to follow them.")) else if(bound_mob in contents) if(!bound_mob.ai_holder) - to_chat(M, "\The [src] emits an unpleasant tone... \The [bound_mob] is not able to follow your command.") + to_chat(M, span_notice("\The [src] emits an unpleasant tone... \The [bound_mob] is not able to follow your command.")) playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) return var/datum/ai_holder/AI = bound_mob.ai_holder if(AI.leader) - to_chat(M, "\The [src] chimes~ \The [bound_mob] stopped following [AI.leader].") + to_chat(M, span_notice("\The [src] chimes~ \The [bound_mob] stopped following [AI.leader].")) AI.lose_follow(AI.leader) else AI.set_follow(M) - to_chat(M, "\The [src] chimes~ \The [bound_mob] started following following [AI.leader].") + to_chat(M, span_notice("\The [src] chimes~ \The [bound_mob] started following following [AI.leader].")) else if(!(bound_mob in view(M))) - to_chat(M, "\The [src] emits an unpleasant tone... \The [bound_mob] is not able to hear your command.") + to_chat(M, span_notice("\The [src] emits an unpleasant tone... \The [bound_mob] is not able to hear your command.")) playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) if(!bound_mob.ai_holder) - to_chat(M, "\The [src] emits an unpleasant tone... \The [bound_mob] is not able to follow your command.") + to_chat(M, span_notice("\The [src] emits an unpleasant tone... \The [bound_mob] is not able to follow your command.")) playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) return var/datum/ai_holder/AI = bound_mob.ai_holder if(AI.leader) - to_chat(M, "\The [src] chimes~ \The [bound_mob] stopped following [AI.leader].") + to_chat(M, span_notice("\The [src] chimes~ \The [bound_mob] stopped following [AI.leader].")) AI.lose_follow(AI.leader) else AI.set_follow(M) - to_chat(M, "\The [src] chimes~ \The [bound_mob] started following following [AI.leader].") + to_chat(M, span_notice("\The [src] chimes~ \The [bound_mob] started following following [AI.leader].")) //Don't really want people 'haha funny' capturing and releasing one another willy nilly. So! If you wanna release someone, you gotta destroy the thingy. //(Which is consistent with how it works with digestion anyway.) @@ -135,7 +135,7 @@ return var/mob/living/M = src.loc if(M != owner) - to_chat(M, "\The [src] is too hard for you to break.") + to_chat(M, span_notice("\The [src] is too hard for you to break.")) else M.visible_message("\The [M] crushes \the [src] into dust...", "\The [src] cracks and disintegrates in your hand.") qdel(src) @@ -149,7 +149,7 @@ return var/mob/living/M = src.loc if(M != owner) - to_chat(M, "\The [src] emits an unpleasant tone... It does not respond to your command.") + to_chat(M, span_notice("\The [src] emits an unpleasant tone... It does not respond to your command.")) playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) else M.visible_message("\The [src] flickers in \the [M]'s hand and emits a little tone.", "\The [src] flickers in your hand and emits a little tone.") @@ -166,26 +166,26 @@ return var/mob/living/U = src.loc if(!bound_mob) - to_chat(U, "\The [src] emits an unpleasant tone... There is nothing to enhance.") + to_chat(U, span_notice("\The [src] emits an unpleasant tone... There is nothing to enhance.")) playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) return else if(U != owner) - to_chat(U, "\The [src] emits an unpleasant tone... It does not respond to your command.") + to_chat(U, span_notice("\The [src] emits an unpleasant tone... It does not respond to your command.")) playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) return else if(bound_mob.client || !isanimal(bound_mob)) - to_chat(U, "\The [src] emits an unpleasant tone... \The [bound_mob] is not eligable for enhancement.") + to_chat(U, span_notice("\The [src] emits an unpleasant tone... \The [bound_mob] is not eligable for enhancement.")) playsound(src, 'sound/effects/capture-crystal-problem.ogg', 75, 1, -1) return //Need to type cast the mob so it can detect ghostjoin var/mob/living/simple_mob/M = bound_mob if(M.ghostjoin) M.ghostjoin = FALSE - to_chat(U, "\The [bound_mob] is no longer eligable to be joined by ghosts.") + to_chat(U, span_notice("\The [bound_mob] is no longer eligable to be joined by ghosts.")) else if(tgui_alert(U, "Do you want to offer your [bound_mob] up to ghosts to play as? There is no way undo this once a ghost takes over.", "Invite ghosts?",list("No","Yes")) == "Yes") M.ghostjoin = TRUE - to_chat(U, "\The [bound_mob] is now eligable to be joined by ghosts. It will need to be out of the crystal to be able to be joined.") + to_chat(U, span_notice("\The [bound_mob] is now eligable to be joined by ghosts. It will need to be out of the crystal to be able to be joined.")) else - to_chat(U, "You decided against it.") + to_chat(U, span_notice("You decided against it.")) /obj/item/capture_crystal/update_icon() . = ..() @@ -221,26 +221,26 @@ user.visible_message("\The [user] taps \the [M] with \the [src].") activate(user, M) else - to_chat(user, "\The [src] emits an unpleasant tone... It is not ready yet.") + to_chat(user, span_notice("\The [src] emits an unpleasant tone... It is not ready yet.")) playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) //Tries to unleash or recall your stored mob /obj/item/capture_crystal/attack_self(mob/living/user) if(bound_mob && !owner) if(bound_mob == user) - to_chat(user, "\The [src] emits an unpleasant tone... It does not activate for you.") + to_chat(user, span_notice("\The [src] emits an unpleasant tone... It does not activate for you.")) playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) return if(tgui_alert(user, "\The [src] hasn't got an owner. It has \the [bound_mob] registered to it. Would you like to claim this as yours?", "Claim ownership", list("No","Yes")) == "Yes") owner = user if(!cooldown_check()) - to_chat(user, "\The [src] emits an unpleasant tone... It is not ready yet.") + to_chat(user, span_notice("\The [src] emits an unpleasant tone... It is not ready yet.")) if(bound_mob) playsound(src, 'sound/effects/capture-crystal-problem.ogg', 75, 1, -1) else playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) else if(user == bound_mob) //You can't recall yourself - to_chat(user, "\The [src] emits an unpleasant tone... It does not activate for you.") + to_chat(user, span_notice("\The [src] emits an unpleasant tone... It does not activate for you.")) playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) else if(!active) activate(user) @@ -255,7 +255,7 @@ //The basic capture command does most of the registration work. /obj/item/capture_crystal/proc/capture(mob/living/M, mob/living/U) if(!M.capture_crystal || M.capture_caught) - to_chat(U, "This creature is not suitable for capture.") + to_chat(U, span_warning("This creature is not suitable for capture.")) playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) return knowyoursignals(M, U) @@ -309,7 +309,7 @@ capture_chance = 0 + effect_count if(capture_chance <= 0) capture_chance = 0 - to_chat(user, "There's no chance... It needs to be weaker.") + to_chat(user, span_notice("There's no chance... It needs to be weaker.")) last_activate = world.time log_admin("[user] threw a capture crystal at [M] and got [capture_chance]% chance to catch.") @@ -317,11 +317,11 @@ //Handles checking relevent bans, preferences, and asking the player if they want to be caught /obj/item/capture_crystal/proc/capture_player(mob/living/M, mob/living/U) - if(jobban_isbanned(M, "GhostRoles")) - to_chat(U, "This creature is not suitable for capture.") + if(jobban_isbanned(M, JOB_GHOSTROLES)) + to_chat(U, span_warning("This creature is not suitable for capture.")) playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) else if(!M.capture_crystal || M.capture_caught) - to_chat(U, "This creature is not suitable for capture.") + to_chat(U, span_warning("This creature is not suitable for capture.")) playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) else if(tgui_alert(M, "Would you like to be caught by in [src] by [U]? You will be bound to their will.", "Become Caught",list("No","Yes")) == "Yes") if(tgui_alert(M, "Are you really sure? The only way to undo this is to OOC escape while you're in the crystal.", "Become Caught", list("No","Yes")) == "Yes") @@ -329,7 +329,7 @@ capture(M, U) recall(U) return - to_chat(U, "This creature is too strong willed to be captured.") + to_chat(U, span_warning("This creature is too strong willed to be captured.")) playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) //The clean up procs! @@ -352,7 +352,7 @@ //If the crystal hasn't been set up, it does this /obj/item/capture_crystal/proc/activate(mob/living/user, target) if(!cooldown_check()) //Are we ready to do things yet? - to_chat(thrower, "\The [src] clicks unsatisfyingly... It is not ready yet.") + to_chat(thrower, span_notice("\The [src] clicks unsatisfyingly... It is not ready yet.")) playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) return if(spawn_mob_type && !bound_mob) //We don't already have a mob, but we know what kind of mob we want @@ -375,22 +375,22 @@ last_activate = world.time if(M.capture_caught) //Can't capture things that were already caught. playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) - to_chat(user, "\The [src] clicks unsatisfyingly... \The [M] is already under someone else's control.") + to_chat(user, span_notice("\The [src] clicks unsatisfyingly... \The [M] is already under someone else's control.")) return else if(M.stat == DEAD) //Is it dead? We can't influence dead things. playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) - to_chat(user, "\The [src] clicks unsatisfyingly... \The [M] is not in a state to be captured.") + to_chat(user, span_notice("\The [src] clicks unsatisfyingly... \The [M] is not in a state to be captured.")) return else if(M.client) //Is it player controlled? capture_player(M, user) //We have to do things a little differently if so. return else if(!isanimal(M)) //So it's not player controlled, but it's also not a simplemob? - to_chat(user, "This creature is not suitable for capture.") + to_chat(user, span_warning("This creature is not suitable for capture.")) playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) return var/mob/living/simple_mob/S = M if(!S.ai_holder) //We don't really want to capture simplemobs that don't have an AI - to_chat(user, "This creature is not suitable for capture.") + to_chat(user, span_warning("This creature is not suitable for capture.")) playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) else if(prob(capture_chance(S, user))) //OKAY! So we have an NPC simplemob with an AI, let's calculate its capture chance! It varies based on the mob's condition. capture(S, user) //We did it! Woo! We capture it! @@ -402,17 +402,17 @@ S.ai_holder.give_target(user, urgent = TRUE) user.visible_message("\The [src] bonks into \the [S], angering it!") playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) - to_chat(user, "\The [src] clicks unsatisfyingly.") + to_chat(user, span_notice("\The [src] clicks unsatisfyingly.")) update_icon() return //The target is not a mob, so let's not do anything. playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) - to_chat(user, "\The [src] clicks unsatisfyingly.") + to_chat(user, span_notice("\The [src] clicks unsatisfyingly.")) //We're using the crystal, but what will it do? /obj/item/capture_crystal/proc/determine_action(mob/living/U, T) if(!cooldown_check()) //Are we ready yet? - to_chat(thrower, "\The [src] clicks unsatisfyingly... It is not ready yet.") + to_chat(thrower, span_notice("\The [src] clicks unsatisfyingly... It is not ready yet.")) playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) return //No if(bound_mob in contents) //Do we have our mob? @@ -423,7 +423,7 @@ else if (bound_mob) //Do we HAVE a mob? recall(U) //Yes, let's try to put it back in the crystal else //No we don't have a mob, let's reset the crystal. - to_chat(U, "\The [src] clicks unsatisfyingly.") + to_chat(U, span_notice("\The [src] clicks unsatisfyingly.")) active = FALSE update_icon() owner = null @@ -443,7 +443,7 @@ playsound(src, 'sound/effects/capture-crystal-in.ogg', 75, 1, -1) update_icon() else - to_chat(user, "\The [src] clicks and emits a small, unpleasant tone. \The [bound_mob] cannot be recalled.") + to_chat(user, span_notice("\The [src] clicks and emits a small, unpleasant tone. \The [bound_mob] cannot be recalled.")) playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) //Let's let our mob out! @@ -487,7 +487,7 @@ if(target == bound_mob && thrower != bound_mob) //We got thrown at our bound mob (and weren't thrown by the bound mob) let's ignore the cooldown and just put them back in recall(thrower) else if(!cooldown_check()) //OTHERWISE let's obey the cooldown - to_chat(thrower, "\The [src] emits an soft tone... It is not ready yet.") + to_chat(thrower, span_notice("\The [src] emits an soft tone... It is not ready yet.")) if(bound_mob) playsound(src, 'sound/effects/capture-crystal-problem.ogg', 75, 1, -1) else @@ -500,14 +500,14 @@ sleep(10) activate(thrower, src) else if(!bound_mob) //We hit something else, and we don't have a mob, so we can't really do anything! - to_chat(thrower, "\The [src] clicks unpleasantly...") + to_chat(thrower, span_notice("\The [src] clicks unpleasantly...")) playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) else if(bound_mob in contents) //We have our mob! Let's try to let it out. sleep(10) unleash(thrower, src) update_icon() else //Our mob isn't here, we can't do anything. - to_chat(thrower, "\The [src] clicks unpleasantly...") + to_chat(thrower, span_notice("\The [src] clicks unpleasantly...")) playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) /obj/item/capture_crystal/basic diff --git a/code/game/objects/items/weapons/cards_ids_vr.dm b/code/game/objects/items/weapons/cards_ids_vr.dm index 123cb199e12..f4291f3e55a 100644 --- a/code/game/objects/items/weapons/cards_ids_vr.dm +++ b/code/game/objects/items/weapons/cards_ids_vr.dm @@ -1,2 +1,2 @@ -/obj/item/weapon/card/id +/obj/item/card/id slot_flags = SLOT_ID | SLOT_EARS \ No newline at end of file diff --git a/code/game/objects/items/weapons/chewables.dm b/code/game/objects/items/weapons/chewables.dm index caf5ae74c38..34b463330fb 100644 --- a/code/game/objects/items/weapons/chewables.dm +++ b/code/game/objects/items/weapons/chewables.dm @@ -15,7 +15,7 @@ /obj/item/clothing/mask/chewable/attack_self(mob/user) if(wrapped) wrapped = FALSE - to_chat(user, span("notice", "You unwrap \the [name].")) + to_chat(user, span_notice("You unwrap \the [name].")) playsound(src.loc, 'sound/items/drop/wrapper.ogg', 50, 1) slot_flags = SLOT_EARS | SLOT_MASK update_icon() @@ -41,7 +41,7 @@ if(C.check_has_mouth()) START_PROCESSING(SSprocessing, src) else - to_chat(user, span("notice", "You don't have a mouth, and can't make much use of \the [src].")) + to_chat(user, span_notice("You don't have a mouth, and can't make much use of \the [src].")) /obj/item/clothing/mask/chewable/dropped() STOP_PROCESSING(SSprocessing, src) @@ -90,7 +90,7 @@ if(ismob(loc)) var/mob/living/M = loc if(!no_message) - to_chat(M, SPAN_NOTICE("The [name] runs out of flavor.")) + to_chat(M, span_notice("The [name] runs out of flavor.")) if(M.wear_mask) M.remove_from_mob(src) //un-equip it so the overlays can update M.update_inv_wear_mask(0) @@ -123,7 +123,7 @@ reagents.add_reagent("nicotine", 2) color = reagents.get_color() -/obj/item/weapon/storage/chewables +/obj/item/storage/chewables name = "box of chewing wads master" desc = "A generic brand of Waffle Co Wads, unflavored chews. Why do these exist?" icon = 'icons/obj/cigarettes.dmi' @@ -136,13 +136,13 @@ slot_flags = SLOT_BELT starts_with = list(/obj/item/clothing/mask/chewable/tobacco = 6) -/obj/item/weapon/storage/chewables/Initialize() +/obj/item/storage/chewables/Initialize() . = ..() make_exact_fit() //Tobacco Tins -/obj/item/weapon/storage/chewables/tobacco +/obj/item/storage/chewables/tobacco name = "tin of Al Mamun Smooth chewing tobacco" desc = "Packaged and shipped straight from Kishar, popularised by the biosphere farmers of Kanondaga." icon_state = "chew_generic" @@ -150,14 +150,14 @@ starts_with = list(/obj/item/clothing/mask/chewable/tobacco/cheap = 6) storage_slots = 6 -/obj/item/weapon/storage/chewables/tobacco/fine +/obj/item/storage/chewables/tobacco/fine name = "tin of Suamalie chewing tobacco" desc = "Once reserved for the first-class tourists of Oasis, this premium blend has been released for the public to enjoy." icon_state = "chew_fine" item_state = "Dpacket" starts_with = list(/obj/item/clothing/mask/chewable/tobacco/fine = 6) -/obj/item/weapon/storage/box/fancy/chewables/tobacco/nico +/obj/item/storage/box/fancy/chewables/tobacco/nico name = "box of Nico-Tine gum" desc = "A government doctor approved brand of nicotine gum. Cut out the middleman for your addiction fix." icon = 'icons/obj/cigarettes.dmi' @@ -171,14 +171,14 @@ var/open_state var/closed_state -/obj/item/weapon/storage/box/fancy/chewables/tobacco/nico/New() +/obj/item/storage/box/fancy/chewables/tobacco/nico/New() if(!open_state) open_state = "[initial(icon_state)]0" if(!closed_state) closed_state = "[initial(icon_state)]" ..() -/obj/item/weapon/storage/box/fancy/chewables/tobacco/nico/update_icon() +/obj/item/storage/box/fancy/chewables/tobacco/nico/update_icon() cut_overlays() if(open) icon_state = open_state @@ -187,7 +187,7 @@ else icon_state = closed_state -/obj/item/weapon/storage/box/fancy/chewables/tobacco/nico/open(mob/user as mob) +/obj/item/storage/box/fancy/chewables/tobacco/nico/open(mob/user as mob) if(open) return open = TRUE @@ -197,7 +197,7 @@ update_icon() ..() -/obj/item/weapon/storage/box/fancy/chewables/tobacco/nico/close(mob/user as mob) +/obj/item/storage/box/fancy/chewables/tobacco/nico/close(mob/user as mob) open = FALSE if(contents.len == 0) icon_state = "[initial(icon_state)]_empty" @@ -230,7 +230,7 @@ color = reagents.get_color() update_icon() -/obj/item/weapon/storage/box/gum +/obj/item/storage/box/gum name = "\improper Frooty-Choos flavored gum" desc = "A small pack of chewing gum in various flavors." description_fluff = "Frooty-Choos is NanoTrasen's top-selling brand of artificially flavoured fruit-adjacent non-swallowable chew-product. This extremely specific definition places sales figures safely away from competing 'gum' brands." @@ -267,7 +267,7 @@ color = reagents.get_color() update_icon() -/obj/item/weapon/storage/box/pocky +/obj/item/storage/box/pocky name = "\improper Totemo yoi Pocky" desc = "A bundle of chocolate-coated bisquit sticks." icon = 'icons/obj/food_snacks.dmi' @@ -294,5 +294,5 @@ chew() if(chewtime < 1) if(ismob(loc)) - to_chat(loc, "There's no more of \the [name] left!") + to_chat(loc, span_notice("There's no more of \the [name] left!")) spitout(0) diff --git a/code/game/objects/items/weapons/cigs_lighters.dm b/code/game/objects/items/weapons/cigs_lighters.dm index 46c7f38751e..e66a32de8a8 100644 --- a/code/game/objects/items/weapons/cigs_lighters.dm +++ b/code/game/objects/items/weapons/cigs_lighters.dm @@ -12,16 +12,16 @@ CIGARETTE PACKETS ARE IN FANCY.DM */ //For anything that can light stuff on fire -/obj/item/weapon/flame +/obj/item/flame var/lit = 0 -/obj/item/weapon/flame/is_hot() +/obj/item/flame/is_hot() return lit /////////// //MATCHES// /////////// -/obj/item/weapon/flame/match +/obj/item/flame/match name = "match" desc = "A simple match stick, used for lighting fine smokables." icon = 'icons/obj/cigarettes.dmi' @@ -35,7 +35,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM drop_sound = 'sound/items/drop/food.ogg' pickup_sound = 'sound/items/pickup/food.ogg' -/obj/item/weapon/flame/match/process() +/obj/item/flame/match/process() if(isliving(loc)) var/mob/living/M = loc M.IgniteMob() @@ -48,7 +48,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM location.hotspot_expose(700, 5) return -/obj/item/weapon/flame/match/dropped(mob/user as mob) +/obj/item/flame/match/dropped(mob/user as mob) //If dropped, put ourselves out //not before lighting up the turf we land on, though. if(lit) @@ -59,7 +59,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM burn_out() return ..() -/obj/item/weapon/flame/match/proc/light(var/mob/user) +/obj/item/flame/match/proc/light(var/mob/user) playsound(src, 'sound/items/cigs_lighters/matchstick_lit.ogg', 25, 0, -1) lit = 1 damtype = "burn" @@ -68,7 +68,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM desc = "A match. This one is presently on fire." START_PROCESSING(SSobj, src) -/obj/item/weapon/flame/match/proc/burn_out() +/obj/item/flame/match/proc/burn_out() lit = 0 burnt = 1 damtype = "brute" @@ -202,7 +202,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM if(ismob(loc)) var/mob/living/M = loc if (!nomessage) - to_chat(M, "Your [name] goes out.") + to_chat(M, span_notice("Your [name] goes out.")) M.remove_from_mob(src) //un-equip it so the overlays can update M.update_inv_wear_mask(0) qdel(src) @@ -211,7 +211,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM if(ismob(loc)) var/mob/living/M = loc if (!nomessage) - to_chat(M, "Your [name] goes out, and you empty the ash.") + to_chat(M, span_notice("Your [name] goes out, and you empty the ash.")) playsound(src, 'sound/items/cigs_lighters/cig_snuff.ogg', 50, 1) lit = 0 icon_state = initial(icon_state) @@ -230,27 +230,27 @@ CIGARETTE PACKETS ARE IN FANCY.DM if(lit && H == user && istype(H)) var/obj/item/blocked = H.check_mouth_coverage() if(blocked) - to_chat(H, "\The [blocked] is in the way!") + to_chat(H, span_warning("\The [blocked] is in the way!")) return 1 - to_chat(H, "You take a drag on your [name].") + to_chat(H, span_notice("You take a drag on your [name].")) playsound(src, 'sound/items/cigs_lighters/inhale.ogg', 50, 0, -1) smoke(5) return 1 return ..() -/obj/item/clothing/mask/smokable/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/item/clothing/mask/smokable/attackby(obj/item/W as obj, mob/user as mob) ..() if(W.is_hot()) var/text = matchmes - if(istype(W, /obj/item/weapon/flame/match)) + if(istype(W, /obj/item/flame/match)) text = matchmes - else if(istype(W, /obj/item/weapon/flame/lighter/zippo)) + else if(istype(W, /obj/item/flame/lighter/zippo)) text = zippomes - else if(istype(W, /obj/item/weapon/flame/lighter)) + else if(istype(W, /obj/item/flame/lighter)) text = lightermes - else if(istype(W, /obj/item/weapon/weldingtool)) + else if(istype(W, /obj/item/weldingtool)) text = weldermes - else if(istype(W, /obj/item/device/assembly/igniter)) + else if(istype(W, /obj/item/assembly/igniter)) text = ignitermes text = replacetext(text, "USER", "[user]") text = replacetext(text, "NAME", "[name]") @@ -260,7 +260,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM /obj/item/clothing/mask/smokable/attack(var/mob/living/M, var/mob/living/user, def_zone) if(istype(M) && M.on_fire) user.do_attack_animation(M) - light("[user] coldly lights the [name] with the burning body of [M].") + light(span_notice("[user] coldly lights the [name] with the burning body of [M].")) return 1 else return ..() @@ -283,49 +283,49 @@ CIGARETTE PACKETS ARE IN FANCY.DM max_smoketime = 300 smoketime = 300 var/nicotine_amt = 2 - matchmes = "USER lights their NAME with their FLAME." - lightermes = "USER manages to light their NAME with FLAME." - zippomes = "With a flick of their wrist, USER lights their NAME with their FLAME." - weldermes = "USER casually lights the NAME with FLAME." - ignitermes = "USER fiddles with FLAME, and manages to light their NAME." + matchmes = span_notice("USER lights their NAME with their FLAME.") + lightermes = span_notice("USER manages to light their NAME with FLAME.") + zippomes = span_rose("With a flick of their wrist, USER lights their NAME with their FLAME.") + weldermes = span_notice("USER casually lights the NAME with FLAME.") + ignitermes = span_notice("USER fiddles with FLAME, and manages to light their NAME.") /obj/item/clothing/mask/smokable/cigarette/Initialize() . = ..() if(nicotine_amt) reagents.add_reagent("nicotine", nicotine_amt) -/obj/item/clothing/mask/smokable/cigarette/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/item/clothing/mask/smokable/cigarette/attackby(obj/item/W as obj, mob/user as mob) ..() - if(istype(W, /obj/item/weapon/melee/energy/sword)) - var/obj/item/weapon/melee/energy/sword/S = W + if(istype(W, /obj/item/melee/energy/sword)) + var/obj/item/melee/energy/sword/S = W if(S.active) - light("[user] swings their [W], barely missing their nose. They light their [name] in the process.") + light(span_warning("[user] swings their [W], barely missing their nose. They light their [name] in the process.")) return -/obj/item/clothing/mask/smokable/cigarette/afterattack(obj/item/weapon/reagent_containers/glass/glass, mob/user as mob, proximity) +/obj/item/clothing/mask/smokable/cigarette/afterattack(obj/item/reagent_containers/glass/glass, mob/user as mob, proximity) ..() if(!proximity) return if(istype(glass)) //you can dip cigarettes into beakers var/transfered = glass.reagents.trans_to_obj(src, chem_volume) if(transfered) //if reagents were transfered, show the message - to_chat(user, "You dip \the [src] into \the [glass].") + to_chat(user, span_notice("You dip \the [src] into \the [glass].")) else //if not, either the beaker was empty, or the cigarette was full if(!glass.reagents.total_volume) - to_chat(user, "[glass] is empty.") + to_chat(user, span_notice("[glass] is empty.")) else - to_chat(user, "[src] is full.") + to_chat(user, span_notice("[src] is full.")) /obj/item/clothing/mask/smokable/cigarette/attack_self(mob/user as mob) if(lit == 1) if(user.a_intent == I_HURT) - user.visible_message("[user] drops and treads on the lit [src], putting it out instantly.") + user.visible_message(span_notice("[user] drops and treads on the lit [src], putting it out instantly.")) playsound(src, 'sound/items/cigs_lighters/cig_snuff.ogg', 50, 1) die(1) else - user.visible_message("[user] puts out \the [src].") + user.visible_message(span_notice("[user] puts out \the [src].")) quench() return ..() @@ -346,11 +346,11 @@ CIGARETTE PACKETS ARE IN FANCY.DM smoketime = 1500 chem_volume = 20 nicotine_amt = 4 - matchmes = "USER lights their NAME with their FLAME." - lightermes = "USER manages to offend their NAME by lighting it with FLAME." - zippomes = "With a flick of their wrist, USER lights their NAME with their FLAME." - weldermes = "USER insults NAME by lighting it with FLAME." - ignitermes = "USER fiddles with FLAME, and manages to light their NAME with the power of science." + matchmes = span_notice("USER lights their NAME with their FLAME.") + lightermes = span_notice("USER manages to offend their NAME by lighting it with FLAME.") + zippomes = span_rose("With a flick of their wrist, USER lights their NAME with their FLAME.") + weldermes = span_notice("USER insults NAME by lighting it with FLAME.") + ignitermes = span_notice("USER fiddles with FLAME, and manages to light their NAME with the power of science.") /obj/item/clothing/mask/smokable/cigarette/cigar/cohiba name = "\improper Cohiba Robusto cigar" @@ -397,7 +397,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM desc = "A manky old cigar butt." icon_state = "cigarbutt" -/obj/item/clothing/mask/smokable/cigarette/cigar/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/item/clothing/mask/smokable/cigarette/cigar/attackby(obj/item/W as obj, mob/user as mob) ..() user.update_inv_wear_mask(0) @@ -417,11 +417,11 @@ CIGARETTE PACKETS ARE IN FANCY.DM item_state = "pipe" smoketime = 0 chem_volume = 50 - matchmes = "USER lights their NAME with their FLAME." - lightermes = "USER manages to light their NAME with FLAME." - zippomes = "With much care, USER lights their NAME with their FLAME." - weldermes = "USER recklessly lights NAME with FLAME." - ignitermes = "USER fiddles with FLAME, and manages to light their NAME with the power of science." + matchmes = span_notice("USER lights their NAME with their FLAME.") + lightermes = span_notice("USER manages to light their NAME with FLAME.") + zippomes = span_rose("With much care, USER lights their NAME with their FLAME.") + weldermes = span_notice("USER recklessly lights NAME with FLAME.") + ignitermes = span_notice("USER fiddles with FLAME, and manages to light their NAME with the power of science.") is_pipe = 1 /obj/item/clothing/mask/smokable/pipe/New() @@ -431,26 +431,26 @@ CIGARETTE PACKETS ARE IN FANCY.DM /obj/item/clothing/mask/smokable/pipe/attack_self(mob/user as mob) if(lit == 1) if(user.a_intent == I_HURT) - user.visible_message("[user] empties the lit [src] on the floor!.") + user.visible_message(span_notice("[user] empties the lit [src] on the floor!.")) playsound(src, 'sound/items/cigs_lighters/cig_snuff.ogg', 50, 1) die(1) else - user.visible_message("[user] puts out \the [src].") + user.visible_message(span_notice("[user] puts out \the [src].")) quench() -/obj/item/clothing/mask/smokable/pipe/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W, /obj/item/weapon/melee/energy/sword)) +/obj/item/clothing/mask/smokable/pipe/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W, /obj/item/melee/energy/sword)) return ..() - if (istype(W, /obj/item/weapon/reagent_containers/food/snacks)) - var/obj/item/weapon/reagent_containers/food/snacks/grown/G = W + if (istype(W, /obj/item/reagent_containers/food/snacks)) + var/obj/item/reagent_containers/food/snacks/grown/G = W if (!G.dry) - to_chat(user, "[G] must be dried before you stuff it into [src].") + to_chat(user, span_notice("[G] must be dried before you stuff it into [src].")) return if (smoketime) - to_chat(user, "[src] is already packed.") + to_chat(user, span_notice("[src] is already packed.")) return max_smoketime = 1000 smoketime = 1000 @@ -459,18 +459,18 @@ CIGARETTE PACKETS ARE IN FANCY.DM name = "[G.name]-packed [initial(name)]" qdel(G) - else if(istype(W, /obj/item/weapon/flame/lighter)) - var/obj/item/weapon/flame/lighter/L = W + else if(istype(W, /obj/item/flame/lighter)) + var/obj/item/flame/lighter/L = W if(L.lit) - light("[user] manages to light their [name] with [W].") + light(span_notice("[user] manages to light their [name] with [W].")) - else if(istype(W, /obj/item/weapon/flame/match)) - var/obj/item/weapon/flame/match/M = W + else if(istype(W, /obj/item/flame/match)) + var/obj/item/flame/match/M = W if(M.lit) - light("[user] lights their [name] with their [W].") + light(span_notice("[user] lights their [name] with their [W].")) - else if(istype(W, /obj/item/device/assembly/igniter)) - light("[user] fiddles with [W], and manages to light their [name] with the power of science.") + else if(istype(W, /obj/item/assembly/igniter)) + light(span_notice("[user] fiddles with [W], and manages to light their [name] with the power of science.")) user.update_inv_wear_mask(0) user.update_inv_l_hand(0) @@ -516,7 +516,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM nicotine_amt = 4 chem_volume = 45 -/obj/item/weapon/reagent_containers/rollingpaper +/obj/item/reagent_containers/rollingpaper name = "rolling paper" desc = "A small, thin piece of easily flammable paper, commonly used for rolling and smoking various dried plants." description_fluff = "The legalization of certain substances propelled the sale of rolling \ @@ -526,40 +526,40 @@ CIGARETTE PACKETS ARE IN FANCY.DM volume = 25 var/obj/item/clothing/mask/smokable/cigarette/crafted_type = /obj/item/clothing/mask/smokable/cigarette/joint -/obj/item/weapon/reagent_containers/rollingpaper/blunt +/obj/item/reagent_containers/rollingpaper/blunt name = "blunt wrap" desc = "A small piece of easily flammable paper similar to that which encases cigars. It's made out of tobacco, bigger than a standard rolling paper, and will last longer." icon_state = "blunt paper" volume = 45 crafted_type = /obj/item/clothing/mask/smokable/cigarette/joint/blunt -/obj/item/weapon/reagent_containers/rollingpaper/attackby(obj/item/weapon/W as obj, mob/user as mob) - if (istype(W, /obj/item/weapon/reagent_containers/food/snacks)) - var/obj/item/weapon/reagent_containers/food/snacks/grown/G = W +/obj/item/reagent_containers/rollingpaper/attackby(obj/item/W as obj, mob/user as mob) + if (istype(W, /obj/item/reagent_containers/food/snacks)) + var/obj/item/reagent_containers/food/snacks/grown/G = W if (!G.dry) //This prevents people from just stuffing cheeseburgers into their joint - to_chat(user, "[G.name] must be dried before you add it to [src].") + to_chat(user, span_notice("[G.name] must be dried before you add it to [src].")) return if (G.reagents.total_volume + src.reagents.total_volume > src.reagents.maximum_volume) //Check that we don't have too much already in the paper before adding things - to_chat(user, "The [src] is too full to add [G.name].") + to_chat(user, span_warning("The [src] is too full to add [G.name].")) return if (src.reagents.total_volume == 0) - if (istype(src, /obj/item/weapon/reagent_containers/rollingpaper/blunt)) //update the icon if this is the first thing we're adding to the paper + if (istype(src, /obj/item/reagent_containers/rollingpaper/blunt)) //update the icon if this is the first thing we're adding to the paper src.icon_state = "blunt_full" else src.icon_state = "paper_full" - to_chat(user, "You add the [G.name] to the [src.name].") + to_chat(user, span_notice("You add the [G.name] to the [src.name].")) src.add_fingerprint(user) if(G.reagents) G.reagents.trans_to_obj(src, G.reagents.total_volume) //adds the reagents from the plant into the paper user.drop_from_inventory(G) qdel(G) -/obj/item/weapon/reagent_containers/rollingpaper/attack_self(mob/living/user) +/obj/item/reagent_containers/rollingpaper/attack_self(mob/living/user) if(!src.reagents) //don't roll an empty joint - to_chat(user, "There is nothing in [src]. Add something to it first.") + to_chat(user, span_warning("There is nothing in [src]. Add something to it first.")) return var/obj/item/clothing/mask/smokable/cigarette/J = new crafted_type() - to_chat(user,"You roll the [src] into a blunt!") + to_chat(user,span_notice("You roll the [src] into a blunt!")) J.add_fingerprint(user) if(src.reagents) src.reagents.trans_to_obj(J, src.reagents.total_volume) @@ -570,7 +570,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM ///////// //CHEAP// ///////// -/obj/item/weapon/flame/lighter +/obj/item/flame/lighter name = "cheap lighter" desc = "A cheap-as-free lighter." description_fluff = "The 'hand-made in Altair' sticker underneath is a charming way of \ @@ -609,21 +609,21 @@ CIGARETTE PACKETS ARE IN FANCY.DM COLOR_ASSEMBLY_HOT_PINK) // TODO: Remove this path from POIs and loose maps (it's no longer needed) -/obj/item/weapon/flame/lighter/random +/obj/item/flame/lighter/random // Randomizes Cheap Lighters on Spawn -/obj/item/weapon/flame/lighter/Initialize() +/obj/item/flame/lighter/Initialize() . = ..() var/image/I = image(icon, "lighter-[pick("trans","tall","matte")]") I.color = pick(available_colors) add_overlay(I) -/obj/item/weapon/flame/lighter/attack_self(mob/living/user) +/obj/item/flame/lighter/attack_self(mob/living/user) if(!lit) lit = 1 icon_state = "lighteron" playsound(src, activation_sound, 75, 1) - user.visible_message("After a few attempts, [user] manages to light the [src].") + user.visible_message(span_notice("After a few attempts, [user] manages to light the [src].")) set_light(2, 0.5, "#FF9933") START_PROCESSING(SSobj, src) @@ -632,14 +632,14 @@ CIGARETTE PACKETS ARE IN FANCY.DM lit = 0 icon_state = "lighter" playsound(src, deactivation_sound, 75, 1) - user.visible_message("[user] quietly shuts off the [src].") + user.visible_message(span_notice("[user] quietly shuts off the [src].")) set_light(0) STOP_PROCESSING(SSobj, src) update_icon() return -/obj/item/weapon/flame/lighter/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) +/obj/item/flame/lighter/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) if(!istype(M, /mob)) return @@ -652,14 +652,14 @@ CIGARETTE PACKETS ARE IN FANCY.DM if(M == user) cig.attackby(src, user) else - if(istype(src, /obj/item/weapon/flame/lighter/zippo)) - cig.light("[user] whips the [name] out and holds it for [M].") + if(istype(src, /obj/item/flame/lighter/zippo)) + cig.light(span_rose("[user] whips the [name] out and holds it for [M].")) else - cig.light("[user] holds the [name] out for [M], and lights the [cig.name].") + cig.light(span_notice("[user] holds the [name] out for [M], and lights the [cig.name].")) else ..() -/obj/item/weapon/flame/lighter/process() +/obj/item/flame/lighter/process() var/turf/location = get_turf(src) if(location) location.hotspot_expose(700, 5) @@ -668,7 +668,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM ///////// //ZIPPO// ///////// -/obj/item/weapon/flame/lighter/zippo +/obj/item/flame/lighter/zippo name = "\improper Zippo lighter" desc = "The zippo." description_fluff = "Still going after all these years." @@ -677,11 +677,11 @@ CIGARETTE PACKETS ARE IN FANCY.DM activation_sound = 'sound/items/zippo_on.ogg' deactivation_sound = 'sound/items/zippo_off.ogg' -/obj/item/weapon/flame/lighter/zippo/Initialize() +/obj/item/flame/lighter/zippo/Initialize() . = ..() cut_overlays() //Prevents the Cheap Lighter overlay from appearing on this -/obj/item/weapon/flame/lighter/zippo/attack_self(mob/living/user) +/obj/item/flame/lighter/zippo/attack_self(mob/living/user) if(!base_state) base_state = icon_state if(!lit) @@ -689,7 +689,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM icon_state = "[base_state]on" item_state = "[base_state]on" playsound(src, activation_sound, 75, 1) - user.visible_message("Without even breaking stride, [user] flips open and lights [src] in one smooth movement.") + user.visible_message(span_rose("Without even breaking stride, [user] flips open and lights [src] in one smooth movement.")) set_light(2, 0.5, "#FF9933") START_PROCESSING(SSobj, src) @@ -698,7 +698,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM icon_state = "[base_state]" item_state = "[base_state]" playsound(src, deactivation_sound, 75, 1) - user.visible_message("You hear a quiet click, as [user] shuts off [src] without even looking at what they're doing.") + user.visible_message(span_rose("You hear a quiet click, as [user] shuts off [src] without even looking at what they're doing.")) set_light(0) STOP_PROCESSING(SSobj, src) @@ -706,63 +706,63 @@ CIGARETTE PACKETS ARE IN FANCY.DM //Here we add Zippo skins. -/obj/item/weapon/flame/lighter/zippo/black +/obj/item/flame/lighter/zippo/black name = "\improper holy Zippo lighter" desc = "Only in regards to Christianity, that is." icon_state = "blackzippo" -/obj/item/weapon/flame/lighter/zippo/blue +/obj/item/flame/lighter/zippo/blue name = "\improper blue Zippo lighter" icon_state = "bluezippo" -/obj/item/weapon/flame/lighter/zippo/engraved +/obj/item/flame/lighter/zippo/engraved name = "\improper engraved Zippo lighter" icon_state = "engravedzippo" item_state = "zippo" -/obj/item/weapon/flame/lighter/zippo/gold +/obj/item/flame/lighter/zippo/gold name = "\improper golden Zippo lighter" icon_state = "goldzippo" -/obj/item/weapon/flame/lighter/zippo/moff +/obj/item/flame/lighter/zippo/moff name = "\improper moth Zippo lighter" desc = "Too cute to be a Tymisian." icon_state = "moffzippo" -/obj/item/weapon/flame/lighter/zippo/red +/obj/item/flame/lighter/zippo/red name = "\improper red Zippo lighter" icon_state = "redzippo" -/obj/item/weapon/flame/lighter/zippo/ironic +/obj/item/flame/lighter/zippo/ironic name = "\improper ironic Zippo lighter" desc = "What a quiant idea." icon_state = "ironiczippo" -/obj/item/weapon/flame/lighter/zippo/capitalist +/obj/item/flame/lighter/zippo/capitalist name = "\improper capitalist Zippo lighter" desc = "Made of gold and obsidian, this is truly not worth however much you spent on it." icon_state = "cappiezippo" -/obj/item/weapon/flame/lighter/zippo/communist +/obj/item/flame/lighter/zippo/communist name = "\improper communist Zippo lighter" desc = "All you need to spark a revolution." icon_state = "commiezippo" -/obj/item/weapon/flame/lighter/zippo/royal +/obj/item/flame/lighter/zippo/royal name = "\improper royal Zippo lighter" desc = "An incredibly fancy lighter, gilded and covered in the color of royalty." icon_state = "royalzippo" -/obj/item/weapon/flame/lighter/zippo/gonzo +/obj/item/flame/lighter/zippo/gonzo name = "\improper Gonzo Zippo lighter" desc = "A lighter with the iconic Gonzo fist painted on it." icon_state = "gonzozippo" -/obj/item/weapon/flame/lighter/zippo/rainbow +/obj/item/flame/lighter/zippo/rainbow name = "\improper rainbow Zippo lighter" icon_state = "rainbowzippo" -/obj/item/weapon/flame/lighter/zippo/skull +/obj/item/flame/lighter/zippo/skull name = "\improper badass Zippo lighter" desc = "An absolutely badass zippo lighter. Just look at that skull!" - icon_state = "skullzippo" \ No newline at end of file + icon_state = "skullzippo" diff --git a/code/game/objects/items/weapons/circuitboards/broken.dm b/code/game/objects/items/weapons/circuitboards/broken.dm index ce2cbb72603..ded817e7c74 100644 --- a/code/game/objects/items/weapons/circuitboards/broken.dm +++ b/code/game/objects/items/weapons/circuitboards/broken.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/circuitboard/broken +/obj/item/circuitboard/broken name = "broken electronics" icon = 'icons/obj/doors/door_assembly.dmi' icon_state = "door_electronics_smoked" diff --git a/code/game/objects/items/weapons/circuitboards/circuitboard.dm b/code/game/objects/items/weapons/circuitboards/circuitboard.dm index 3e806915a48..c41184deb55 100644 --- a/code/game/objects/items/weapons/circuitboards/circuitboard.dm +++ b/code/game/objects/items/weapons/circuitboards/circuitboard.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/circuitboard +/obj/item/circuitboard name = "circuit board" icon = 'icons/obj/module.dmi' icon_state = "id_mod" @@ -19,20 +19,20 @@ pickup_sound = 'sound/items/pickup/device.ogg' //Called when the circuitboard is used to contruct a new machine. -/obj/item/weapon/circuitboard/proc/construct(var/obj/machinery/M) +/obj/item/circuitboard/proc/construct(var/obj/machinery/M) if(istype(M, build_path)) return 1 return 0 //Called when a computer is deconstructed to produce a circuitboard. //Only used by computers, as other machines store their circuitboard instance. -/obj/item/weapon/circuitboard/proc/deconstruct(var/obj/machinery/M) +/obj/item/circuitboard/proc/deconstruct(var/obj/machinery/M) if(istype(M, build_path)) return 1 return 0 //Should be called from the constructor of any machine to automatically populate the default parts -/obj/item/weapon/circuitboard/proc/apply_default_parts(var/obj/machinery/M) +/obj/item/circuitboard/proc/apply_default_parts(var/obj/machinery/M) if(!istype(M)) return if(!req_components) diff --git a/code/game/objects/items/weapons/circuitboards/circuitboards_vr.dm b/code/game/objects/items/weapons/circuitboards/circuitboards_vr.dm index 62281667512..b4008b6c3d3 100644 --- a/code/game/objects/items/weapons/circuitboards/circuitboards_vr.dm +++ b/code/game/objects/items/weapons/circuitboards/circuitboards_vr.dm @@ -2,7 +2,7 @@ #error T_BOARD macro is not defined but we need it! #endif -/obj/item/weapon/circuitboard/get_examine_desc() +/obj/item/circuitboard/get_examine_desc() . = ..() if(LAZYLEN(req_components)) var/list/nice_list = list() @@ -16,63 +16,63 @@ // VOREStation specific circuit boards! // Board for the parts lathe in partslathe.dm -/obj/item/weapon/circuitboard/partslathe +/obj/item/circuitboard/partslathe name = T_BOARD("parts lathe") build_path = /obj/machinery/partslathe board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_ENGINEERING = 2, TECH_DATA = 2) req_components = list( - /obj/item/weapon/stock_parts/matter_bin = 2, - /obj/item/weapon/stock_parts/manipulator = 2, - /obj/item/weapon/stock_parts/console_screen = 1) + /obj/item/stock_parts/matter_bin = 2, + /obj/item/stock_parts/manipulator = 2, + /obj/item/stock_parts/console_screen = 1) // Board for the algae oxygen generator in algae_generator.dm -/obj/item/weapon/circuitboard/algae_farm +/obj/item/circuitboard/algae_farm name = T_BOARD("algae oxygen generator") build_path = /obj/machinery/atmospherics/binary/algae_farm board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_ENGINEERING = 3, TECH_BIO = 2) req_components = list( - /obj/item/weapon/stock_parts/matter_bin = 2, - /obj/item/weapon/stock_parts/manipulator = 1, - /obj/item/weapon/stock_parts/capacitor = 1, - /obj/item/weapon/stock_parts/console_screen = 1) + /obj/item/stock_parts/matter_bin = 2, + /obj/item/stock_parts/manipulator = 1, + /obj/item/stock_parts/capacitor = 1, + /obj/item/stock_parts/console_screen = 1) // Board for the thermal regulator in airconditioner_vr.dm -/obj/item/weapon/circuitboard/thermoregulator +/obj/item/circuitboard/thermoregulator name = T_BOARD("thermal regulator") build_path = /obj/machinery/power/thermoregulator board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_ENGINEERING = 4, TECH_POWER = 3) req_components = list( /obj/item/stack/cable_coil = 20, - /obj/item/weapon/stock_parts/capacitor/super = 3) + /obj/item/stock_parts/capacitor/super = 3) // Board for the bomb tester in bomb_tester_vr.dm -/obj/item/weapon/circuitboard/bomb_tester +/obj/item/circuitboard/bomb_tester name = T_BOARD("explosive effect simulator") build_path = /obj/machinery/bomb_tester board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_PHORON = 3, TECH_DATA = 2, TECH_MAGNET = 2) req_components = list( - /obj/item/weapon/stock_parts/matter_bin/adv = 1, - /obj/item/weapon/stock_parts/scanning_module = 5) + /obj/item/stock_parts/matter_bin/adv = 1, + /obj/item/stock_parts/scanning_module = 5) // Board for the timeclock terminal in timeclock_vr.dm -/obj/item/weapon/circuitboard/timeclock +/obj/item/circuitboard/timeclock name = T_BOARD("timeclock") build_path = /obj/machinery/computer/timeclock board_type = new /datum/frame/frame_types/timeclock_terminal matter = list(MAT_STEEL = 50, MAT_GLASS = 50) // Board for the ID restorer in id_restorer_vr.dm -/obj/item/weapon/circuitboard/id_restorer +/obj/item/circuitboard/id_restorer name = T_BOARD("ID restoration console") build_path = /obj/machinery/computer/id_restorer board_type = new /datum/frame/frame_types/id_restorer matter = list(MAT_STEEL = 50, MAT_GLASS = 50) -/obj/item/weapon/circuitboard/security/xenobio +/obj/item/circuitboard/security/xenobio name = T_BOARD("xenobiology camera monitor") build_path = /obj/machinery/computer/security/xenobio network = list(NETWORK_XENOBIO) diff --git a/code/game/objects/items/weapons/circuitboards/circuitboards_yw.dm b/code/game/objects/items/weapons/circuitboards/circuitboards_yw.dm index 05b8a81f6df..515f3db4998 100644 --- a/code/game/objects/items/weapons/circuitboards/circuitboards_yw.dm +++ b/code/game/objects/items/weapons/circuitboards/circuitboards_yw.dm @@ -1,5 +1,5 @@ -/obj/item/weapon/circuitboard/geiger +/obj/item/circuitboard/geiger name = T_BOARD("geiger counter") - build_path = /obj/item/device/geiger/wall + build_path = /obj/item/geiger/wall board_type = new /datum/frame/frame_types/geiger - matter = list(MAT_STEEL = 50, MAT_GLASS = 50) \ No newline at end of file + matter = list(MAT_STEEL = 50, MAT_GLASS = 50) diff --git a/code/game/objects/items/weapons/circuitboards/computer/air_management.dm b/code/game/objects/items/weapons/circuitboards/computer/air_management.dm index d244fd6b5c0..55a9e7ac062 100644 --- a/code/game/objects/items/weapons/circuitboards/computer/air_management.dm +++ b/code/game/objects/items/weapons/circuitboards/computer/air_management.dm @@ -2,26 +2,26 @@ #error T_BOARD macro is not defined but we need it! #endif -/obj/item/weapon/circuitboard/air_management +/obj/item/circuitboard/air_management name = T_BOARD("atmosphere monitoring console") build_path = /obj/machinery/computer/general_air_control var/frequency = 1439 -/obj/item/weapon/circuitboard/air_management/tank_control +/obj/item/circuitboard/air_management/tank_control name = T_BOARD("tank control") build_path = /obj/machinery/computer/general_air_control/large_tank_control frequency = 1441 -/obj/item/weapon/circuitboard/air_management/supermatter_core +/obj/item/circuitboard/air_management/supermatter_core name = T_BOARD("core control") build_path = /obj/machinery/computer/general_air_control/supermatter_core frequency = 1438 -/obj/item/weapon/circuitboard/air_management/injector_control +/obj/item/circuitboard/air_management/injector_control name = T_BOARD("injector control") build_path = /obj/machinery/computer/general_air_control/fuel_injection -/obj/item/weapon/circuitboard/air_management/construct(var/obj/machinery/computer/general_air_control/C) +/obj/item/circuitboard/air_management/construct(var/obj/machinery/computer/general_air_control/C) if (..(C)) C.frequency = frequency -/obj/item/weapon/circuitboard/air_management/deconstruct(var/obj/machinery/computer/general_air_control/C) +/obj/item/circuitboard/air_management/deconstruct(var/obj/machinery/computer/general_air_control/C) if (..(C)) frequency = C.frequency diff --git a/code/game/objects/items/weapons/circuitboards/computer/camera_monitor.dm b/code/game/objects/items/weapons/circuitboards/computer/camera_monitor.dm index 57a7406c82c..84666ffd4dc 100644 --- a/code/game/objects/items/weapons/circuitboards/computer/camera_monitor.dm +++ b/code/game/objects/items/weapons/circuitboards/computer/camera_monitor.dm @@ -2,7 +2,7 @@ #error T_BOARD macro is not defined but we need it! #endif -/obj/item/weapon/circuitboard/security +/obj/item/circuitboard/security name = T_BOARD("security camera monitor") build_path = /obj/machinery/computer/security req_access = list(access_security) @@ -10,78 +10,78 @@ var/locked = 1 var/emagged = 0 -/obj/item/weapon/circuitboard/security/New() +/obj/item/circuitboard/security/New() ..() -/obj/item/weapon/circuitboard/security/tv +/obj/item/circuitboard/security/tv name = T_BOARD("security camera monitor - television") build_path = /obj/machinery/computer/security/wooden_tv -/obj/item/weapon/circuitboard/security/engineering +/obj/item/circuitboard/security/engineering name = T_BOARD("engineering camera monitor") build_path = /obj/machinery/computer/security/engineering req_access = list() -/obj/item/weapon/circuitboard/security/engineering/New() +/obj/item/circuitboard/security/engineering/New() ..() network = engineering_networks -/obj/item/weapon/circuitboard/security/mining +/obj/item/circuitboard/security/mining name = T_BOARD("mining camera monitor") build_path = /obj/machinery/computer/security/mining network = list("Mining Outpost") req_access = list() -/obj/item/weapon/circuitboard/security/telescreen/entertainment +/obj/item/circuitboard/security/telescreen/entertainment name = T_BOARD("entertainment camera monitor") build_path = /obj/machinery/computer/security/telescreen/entertainment board_type = new /datum/frame/frame_types/display matter = list(MAT_STEEL = 50, MAT_GLASS = 50) -/obj/item/weapon/circuitboard/security/telescreen/entertainment/New() +/obj/item/circuitboard/security/telescreen/entertainment/New() ..() network = NETWORK_THUNDER -/obj/item/weapon/circuitboard/security/construct(var/obj/machinery/computer/security/C) +/obj/item/circuitboard/security/construct(var/obj/machinery/computer/security/C) if (..(C)) C.set_network(network.Copy()) -/obj/item/weapon/circuitboard/security/deconstruct(var/obj/machinery/computer/security/C) +/obj/item/circuitboard/security/deconstruct(var/obj/machinery/computer/security/C) if (..(C)) network = C.network.Copy() -/obj/item/weapon/circuitboard/security/emag_act(var/remaining_charges, var/mob/user) +/obj/item/circuitboard/security/emag_act(var/remaining_charges, var/mob/user) if(emagged) to_chat(user, "Circuit lock is already removed.") return - to_chat(user, "You override the circuit lock and open controls.") + to_chat(user, span_notice("You override the circuit lock and open controls.")) emagged = 1 locked = 0 return 1 -/obj/item/weapon/circuitboard/security/attackby(obj/item/I as obj, mob/user as mob) - if(istype(I,/obj/item/weapon/card/id)) +/obj/item/circuitboard/security/attackby(obj/item/I as obj, mob/user as mob) + if(istype(I,/obj/item/card/id)) if(emagged) - to_chat(user, "Circuit lock does not respond.") + to_chat(user, span_warning("Circuit lock does not respond.")) return if(check_access(I)) locked = !locked - to_chat(user, "You [locked ? "" : "un"]lock the circuit controls.") + to_chat(user, span_notice("You [locked ? "" : "un"]lock the circuit controls.")) else - to_chat(user, "Access denied.") - else if(istype(I,/obj/item/device/multitool)) + to_chat(user, span_warning("Access denied.")) + else if(istype(I,/obj/item/multitool)) if(locked) - to_chat(user, "Circuit controls are locked.") + to_chat(user, span_warning("Circuit controls are locked.")) return var/existing_networks = jointext(network,",") - var/input = sanitize(tgui_input_text(usr, "Which networks would you like to connect this camera console circuit to? Separate networks with a comma. No Spaces!\nFor example: SS13,Security,Secret ", "Multitool-Circuitboard interface", existing_networks)) + var/input = sanitize(tgui_input_text(user, "Which networks would you like to connect this camera console circuit to? Separate networks with a comma. No Spaces!\nFor example: SS13,Security,Secret ", "Multitool-Circuitboard interface", existing_networks)) if(!input) - to_chat(usr, "No input found please hang up and try your call again.") + to_chat(user, "No input found please hang up and try your call again.") return var/list/tempnetwork = splittext(input, ",") tempnetwork = difflist(tempnetwork,restricted_camera_networks,1) if(tempnetwork.len < 1) - to_chat(usr, "No network found please hang up and try your call again.") + to_chat(user, "No network found please hang up and try your call again.") return network = tempnetwork return diff --git a/code/game/objects/items/weapons/circuitboards/computer/computer.dm b/code/game/objects/items/weapons/circuitboards/computer/computer.dm index 2c9ef1a7a0c..09535b45f54 100644 --- a/code/game/objects/items/weapons/circuitboards/computer/computer.dm +++ b/code/game/objects/items/weapons/circuitboards/computer/computer.dm @@ -2,228 +2,220 @@ #error T_BOARD macro is not defined but we need it! #endif -/obj/item/weapon/circuitboard/message_monitor +/obj/item/circuitboard/message_monitor name = T_BOARD("message monitor console") build_path = /obj/machinery/computer/message_monitor origin_tech = list(TECH_DATA = 3) -/obj/item/weapon/circuitboard/aiupload +/obj/item/circuitboard/aiupload name = T_BOARD("AI upload console") build_path = /obj/machinery/computer/aiupload origin_tech = list(TECH_DATA = 4) -/obj/item/weapon/circuitboard/borgupload +/obj/item/circuitboard/borgupload name = T_BOARD("cyborg upload console") build_path = /obj/machinery/computer/borgupload origin_tech = list(TECH_DATA = 4) -/obj/item/weapon/circuitboard/med_data +/obj/item/circuitboard/med_data name = T_BOARD("medical records console") build_path = /obj/machinery/computer/med_data -/obj/item/weapon/circuitboard/med_data/pcu +/obj/item/circuitboard/med_data/pcu name = T_BOARD("medical records PCU") build_path = /obj/machinery/computer/med_data/laptop -/obj/item/weapon/circuitboard/scan_consolenew +/obj/item/circuitboard/scan_consolenew name = T_BOARD("DNA machine") build_path = /obj/machinery/computer/scan_consolenew origin_tech = list(TECH_DATA = 2, TECH_BIO = 2) -/obj/item/weapon/circuitboard/communications +/obj/item/circuitboard/communications name = T_BOARD("command and communications console") build_path = /obj/machinery/computer/communications origin_tech = list(TECH_DATA = 2, TECH_MAGNET = 2) -/obj/item/weapon/circuitboard/card +/obj/item/circuitboard/card name = T_BOARD("ID card modification console") build_path = /obj/machinery/computer/card -/obj/item/weapon/circuitboard/card/centcom +/obj/item/circuitboard/card/centcom name = T_BOARD("CentCom ID card modification console") build_path = /obj/machinery/computer/card/centcom -/obj/item/weapon/circuitboard/teleporter +/obj/item/circuitboard/teleporter name = T_BOARD("teleporter control console") build_path = /obj/machinery/computer/teleporter origin_tech = list(TECH_DATA = 2, TECH_BLUESPACE = 2) -/obj/item/weapon/circuitboard/secure_data +/obj/item/circuitboard/secure_data name = T_BOARD("security records console") build_path = /obj/machinery/computer/secure_data -/obj/item/weapon/circuitboard/skills/pcu +/obj/item/circuitboard/skills/pcu name = T_BOARD("employment records PCU") build_path = /obj/machinery/computer/skills -/obj/item/weapon/circuitboard/stationalert_engineering +/obj/item/circuitboard/stationalert_engineering name = T_BOARD("station alert console (engineering)") build_path = /obj/machinery/computer/station_alert -/obj/item/weapon/circuitboard/stationalert_security +/obj/item/circuitboard/stationalert_security name = T_BOARD("station alert console (security)") build_path = /obj/machinery/computer/station_alert -/obj/item/weapon/circuitboard/stationalert_all +/obj/item/circuitboard/stationalert_all name = T_BOARD("station alert console (all)") build_path = /obj/machinery/computer/station_alert/all -/obj/item/weapon/circuitboard/atmos_alert +/obj/item/circuitboard/atmos_alert name = T_BOARD("atmospheric alert console") build_path = /obj/machinery/computer/atmos_alert -/obj/item/weapon/circuitboard/pod +/obj/item/circuitboard/pod name = T_BOARD("massdriver control") build_path = /obj/machinery/computer/pod -/obj/item/weapon/circuitboard/robotics +/obj/item/circuitboard/robotics name = T_BOARD("robotics control console") build_path = /obj/machinery/computer/robotics origin_tech = list(TECH_DATA = 3) -/obj/item/weapon/circuitboard/drone_control +/obj/item/circuitboard/drone_control name = T_BOARD("drone control console") build_path = /obj/machinery/computer/drone_control origin_tech = list(TECH_DATA = 3) -/obj/item/weapon/circuitboard/cloning +/obj/item/circuitboard/cloning name = T_BOARD("cloning control console") build_path = /obj/machinery/computer/cloning origin_tech = list(TECH_DATA = 3, TECH_BIO = 3) -/obj/item/weapon/circuitboard/arcade/battle +/obj/item/circuitboard/arcade/battle name = T_BOARD("battle arcade machine") build_path = /obj/machinery/computer/arcade/battle origin_tech = list(TECH_DATA = 1) -/obj/item/weapon/circuitboard/arcade/orion_trail +/obj/item/circuitboard/arcade/orion_trail name = T_BOARD("orion trail arcade machine") build_path = /obj/machinery/computer/arcade/orion_trail origin_tech = list(TECH_DATA = 1) -/obj/item/weapon/circuitboard/arcade/clawmachine +/obj/item/circuitboard/arcade/clawmachine name = T_BOARD("grab-a-gift arcade machine") build_path = /obj/machinery/computer/arcade/clawmachine origin_tech = list(TECH_DATA = 1) -/obj/item/weapon/circuitboard/turbine_control +/obj/item/circuitboard/turbine_control name = T_BOARD("turbine control console") build_path = /obj/machinery/computer/turbine_computer origin_tech = list(TECH_DATA = 2, TECH_POWER = 2) -/obj/item/weapon/circuitboard/solar_control +/obj/item/circuitboard/solar_control name = T_BOARD("solar control console") build_path = /obj/machinery/power/solar_control origin_tech = list(TECH_DATA = 2, TECH_POWER = 2) -/obj/item/weapon/circuitboard/powermonitor +/obj/item/circuitboard/powermonitor name = T_BOARD("power monitoring console") build_path = /obj/machinery/computer/power_monitor -/obj/item/weapon/circuitboard/olddoor +/obj/item/circuitboard/olddoor name = T_BOARD("DoorMex") build_path = /obj/machinery/computer/pod/old -/obj/item/weapon/circuitboard/syndicatedoor +/obj/item/circuitboard/syndicatedoor name = T_BOARD("ProComp Executive") build_path = /obj/machinery/computer/pod/old/syndicate -/obj/item/weapon/circuitboard/swfdoor +/obj/item/circuitboard/swfdoor name = T_BOARD("Magix") build_path = /obj/machinery/computer/pod/old/swf -/obj/item/weapon/circuitboard/prisoner +/obj/item/circuitboard/prisoner name = T_BOARD("prisoner management console") build_path = /obj/machinery/computer/prisoner -/obj/item/weapon/circuitboard/mecha_control +/obj/item/circuitboard/mecha_control name = T_BOARD("exosuit control console") build_path = /obj/machinery/computer/mecha -/obj/item/weapon/circuitboard/rdservercontrol +/obj/item/circuitboard/rdservercontrol name = T_BOARD("R&D server control console") build_path = /obj/machinery/computer/rdservercontrol -/obj/item/weapon/circuitboard/crew +/obj/item/circuitboard/crew name = T_BOARD("crew monitoring console") build_path = /obj/machinery/computer/crew origin_tech = list(TECH_DATA = 3, TECH_BIO = 2, TECH_MAGNET = 2) -/obj/item/weapon/circuitboard/operating +/obj/item/circuitboard/operating name = T_BOARD("patient monitoring console") build_path = /obj/machinery/computer/operating origin_tech = list(TECH_DATA = 2, TECH_BIO = 2) -/obj/item/weapon/circuitboard/curefab - name = T_BOARD("cure fabricator") - build_path = /obj/machinery/computer/curer - -/obj/item/weapon/circuitboard/splicer - name = T_BOARD("disease splicer") - build_path = /obj/machinery/computer/diseasesplicer - -/obj/item/weapon/circuitboard/mining_shuttle +/obj/item/circuitboard/mining_shuttle name = T_BOARD("mining shuttle console") build_path = /obj/machinery/computer/shuttle_control/mining origin_tech = list(TECH_DATA = 2) -/obj/item/weapon/circuitboard/engineering_shuttle +/obj/item/circuitboard/engineering_shuttle name = T_BOARD("engineering shuttle console") build_path = /obj/machinery/computer/shuttle_control/engineering origin_tech = list(TECH_DATA = 2) -/obj/item/weapon/circuitboard/research_shuttle +/obj/item/circuitboard/research_shuttle name = T_BOARD("research shuttle console") build_path = /obj/machinery/computer/shuttle_control/research origin_tech = list(TECH_DATA = 2) -/obj/item/weapon/circuitboard/aifixer +/obj/item/circuitboard/aifixer name = T_BOARD("AI integrity restorer") build_path = /obj/machinery/computer/aifixer origin_tech = list(TECH_DATA = 3, TECH_BIO = 2) -/obj/item/weapon/circuitboard/helm +/obj/item/circuitboard/helm name = T_BOARD("helm control console") build_path = /obj/machinery/computer/ship/helm -/obj/item/weapon/circuitboard/engine +/obj/item/circuitboard/engine name = T_BOARD("engine control console") build_path = /obj/machinery/computer/ship/engines -/obj/item/weapon/circuitboard/nav +/obj/item/circuitboard/nav name = T_BOARD("navigation console") build_path = /obj/machinery/computer/ship/navigation -/obj/item/weapon/circuitboard/nav/tele +/obj/item/circuitboard/nav/tele name = T_BOARD("navigation telescreen") build_path = /obj/machinery/computer/ship/navigation/telescreen -/obj/item/weapon/circuitboard/sensors +/obj/item/circuitboard/sensors name = T_BOARD("sensors console") build_path = /obj/machinery/computer/ship/sensors -/obj/item/weapon/circuitboard/area_atmos +/obj/item/circuitboard/area_atmos name = T_BOARD("area air control console") build_path = /obj/machinery/computer/area_atmos origin_tech = list(TECH_DATA = 2) -/obj/item/weapon/circuitboard/prison_shuttle +/obj/item/circuitboard/prison_shuttle name = T_BOARD("prison shuttle control console") build_path = /obj/machinery/computer/prison_shuttle origin_tech = list(TECH_DATA = 2) -/obj/item/weapon/circuitboard/rcon_console +/obj/item/circuitboard/rcon_console name = T_BOARD("RCON remote control console") build_path = /obj/machinery/computer/rcon origin_tech = list(TECH_DATA = 4, TECH_ENGINEERING = 3, TECH_POWER = 5) -/obj/item/weapon/circuitboard/shutoff_monitor +/obj/item/circuitboard/shutoff_monitor name = T_BOARD("automatic shutoff valve monitor") build_path = /obj/machinery/computer/shutoff_monitor origin_tech = list(TECH_DATA = 4, TECH_ENGINEERING = 4) -/obj/item/weapon/circuitboard/stockexchange +/obj/item/circuitboard/stockexchange name = T_BOARD("stock exchange console") build_path = /obj/machinery/computer/stockexchange - origin_tech = list(TECH_DATA = 2, TECH_MAGNET = 1) \ No newline at end of file + origin_tech = list(TECH_DATA = 2, TECH_MAGNET = 1) diff --git a/code/game/objects/items/weapons/circuitboards/computer/research.dm b/code/game/objects/items/weapons/circuitboards/computer/research.dm index 43ea3d3cd61..97f8d9af271 100644 --- a/code/game/objects/items/weapons/circuitboards/computer/research.dm +++ b/code/game/objects/items/weapons/circuitboards/computer/research.dm @@ -2,20 +2,20 @@ #error T_BOARD macro is not defined but we need it! #endif -/obj/item/weapon/circuitboard/rdconsole +/obj/item/circuitboard/rdconsole name = T_BOARD("R&D control console") build_path = /obj/machinery/computer/rdconsole/core -/obj/item/weapon/circuitboard/rdconsole/attackby(obj/item/I as obj, mob/user as mob) +/obj/item/circuitboard/rdconsole/attackby(obj/item/I as obj, mob/user as mob) if(I.has_tool_quality(TOOL_SCREWDRIVER)) playsound(src, I.usesound, 50, 1) - user.visible_message("\The [user] adjusts the jumper on \the [src]'s access protocol pins.", "You adjust the jumper on the access protocol pins.") + user.visible_message(span_infoplain(span_bold("\The [user]") + " adjusts the jumper on \the [src]'s access protocol pins."), span_notice("You adjust the jumper on the access protocol pins.")) if(build_path == /obj/machinery/computer/rdconsole/core) name = T_BOARD("RD Console - Robotics") build_path = /obj/machinery/computer/rdconsole/robotics - to_chat(user, "Access protocols set to robotics.") + to_chat(user, span_notice("Access protocols set to robotics.")) else name = T_BOARD("RD Console") build_path = /obj/machinery/computer/rdconsole/core - to_chat(user, "Access protocols set to default.") - return \ No newline at end of file + to_chat(user, span_notice("Access protocols set to default.")) + return diff --git a/code/game/objects/items/weapons/circuitboards/computer/shuttle.dm b/code/game/objects/items/weapons/circuitboards/computer/shuttle.dm index 1c3c0ec25f4..b6e273a1f4a 100644 --- a/code/game/objects/items/weapons/circuitboards/computer/shuttle.dm +++ b/code/game/objects/items/weapons/circuitboards/computer/shuttle.dm @@ -5,18 +5,18 @@ // // Shuttle control console. Board tries to auto-link the computer if built on a shuttle. // -/obj/item/weapon/circuitboard/shuttle_console +/obj/item/circuitboard/shuttle_console origin_tech = list(TECH_DATA = 3) var/shuttle_category = null // Shuttle datum's category must exactly equal this to auto-detect var/shuttle_tag = null // If set, link constructed console to this shuttle. If null, auto-detect. -/obj/item/weapon/circuitboard/shuttle_console/deconstruct(obj/machinery/computer/shuttle_control/M) +/obj/item/circuitboard/shuttle_console/deconstruct(obj/machinery/computer/shuttle_control/M) shuttle_tag = M.shuttle_tag if(shuttle_tag) name = T_BOARD("[shuttle_tag] control console") // Try to auto-link the shuttle computer if it is constructed on a shuttle (and not pre-programmed) -/obj/item/weapon/circuitboard/shuttle_console/construct(obj/machinery/computer/shuttle_control/M) +/obj/item/circuitboard/shuttle_console/construct(obj/machinery/computer/shuttle_control/M) if(!shuttle_tag) shuttle_tag = auto_detect_shuttle(M) // We don't have a preset tag, so lets try to auto-link. if(shuttle_tag && M.set_shuttle_tag(shuttle_tag)) @@ -24,7 +24,7 @@ M.ping("[M] auto-links with shuttle [shuttle_tag]") // Return shuttle_tag of shuttle of current area -/obj/item/weapon/circuitboard/shuttle_console/proc/auto_detect_shuttle(obj/machinery/computer/shuttle_control/M) +/obj/item/circuitboard/shuttle_console/proc/auto_detect_shuttle(obj/machinery/computer/shuttle_control/M) var/area/A = get_area(M) if(!A || !(A in SSshuttles.shuttle_areas)) return // Definately not on a shuttle @@ -35,20 +35,20 @@ return (S.category == shuttle_category) ? S.name : null // Overmap shuttle console. -/obj/item/weapon/circuitboard/shuttle_console/explore +/obj/item/circuitboard/shuttle_console/explore name = T_BOARD("long range shuttle control console") build_path = /obj/machinery/computer/shuttle_control/explore origin_tech = list(TECH_DATA = 3, TECH_BLUESPACE = 4) shuttle_category = /datum/shuttle/autodock/overmap // Multi-shuttle console -/obj/item/weapon/circuitboard/shuttle_console/multi +/obj/item/circuitboard/shuttle_console/multi name = T_BOARD("multi-route shuttle control console") build_path = /obj/machinery/computer/shuttle_control/multi shuttle_category = /datum/shuttle/autodock/multi // Basic "ferry" shuttle console -/obj/item/weapon/circuitboard/shuttle_console/ferry +/obj/item/circuitboard/shuttle_console/ferry name = T_BOARD("basic shuttle control console") build_path = /obj/machinery/computer/shuttle_control shuttle_category = /datum/shuttle/autodock/ferry diff --git a/code/game/objects/items/weapons/circuitboards/computer/supply.dm b/code/game/objects/items/weapons/circuitboards/computer/supply.dm index 49fdd14ee75..30168a939cc 100644 --- a/code/game/objects/items/weapons/circuitboards/computer/supply.dm +++ b/code/game/objects/items/weapons/circuitboards/computer/supply.dm @@ -2,27 +2,27 @@ #error T_BOARD macro is not defined but we need it! #endif -/obj/item/weapon/circuitboard/supplycomp +/obj/item/circuitboard/supplycomp name = T_BOARD("supply ordering console") build_path = /obj/machinery/computer/supplycomp origin_tech = list(TECH_DATA = 2) var/contraband_enabled = 0 -/obj/item/weapon/circuitboard/supplycomp/control +/obj/item/circuitboard/supplycomp/control name = T_BOARD("supply ordering console") build_path = /obj/machinery/computer/supplycomp/control origin_tech = list(TECH_DATA = 3) -/obj/item/weapon/circuitboard/supplycomp/construct(var/obj/machinery/computer/supplycomp/SC) +/obj/item/circuitboard/supplycomp/construct(var/obj/machinery/computer/supplycomp/SC) if (..(SC)) SC.can_order_contraband = contraband_enabled -/obj/item/weapon/circuitboard/supplycomp/deconstruct(var/obj/machinery/computer/supplycomp/SC) +/obj/item/circuitboard/supplycomp/deconstruct(var/obj/machinery/computer/supplycomp/SC) if (..(SC)) contraband_enabled = SC.can_order_contraband -/obj/item/weapon/circuitboard/supplycomp/attackby(obj/item/I as obj, mob/user as mob) - if(istype(I,/obj/item/device/multitool)) +/obj/item/circuitboard/supplycomp/attackby(obj/item/I as obj, mob/user as mob) + if(istype(I,/obj/item/multitool)) var/catastasis = src.contraband_enabled var/opposite_catastasis if(catastasis) @@ -32,11 +32,11 @@ opposite_catastasis = "BROAD" catastasis = "STANDARD" - switch( tgui_alert(usr, "Current receiver spectrum is set to: [catastasis]","Multitool-Circuitboard interface",list("Switch to [opposite_catastasis]","Cancel")) ) + switch(tgui_alert(user, "Current receiver spectrum is set to: [catastasis]","Multitool-Circuitboard interface",list("Switch to [opposite_catastasis]","Cancel"))) if("Switch to STANDARD","Switch to BROAD") src.contraband_enabled = !src.contraband_enabled - if("Cancel") + if("Cancel", null) return else to_chat(user, "DERP! BUG! Report this (And what you were doing to cause it) to Agouri") diff --git a/code/game/objects/items/weapons/circuitboards/computer/telecomms.dm b/code/game/objects/items/weapons/circuitboards/computer/telecomms.dm index b7ad5db0118..f9bfcb5364c 100644 --- a/code/game/objects/items/weapons/circuitboards/computer/telecomms.dm +++ b/code/game/objects/items/weapons/circuitboards/computer/telecomms.dm @@ -2,17 +2,17 @@ #error T_BOARD macro is not defined but we need it! #endif -/obj/item/weapon/circuitboard/comm_monitor +/obj/item/circuitboard/comm_monitor name = T_BOARD("telecommunications monitor console") build_path = /obj/machinery/computer/telecomms/monitor origin_tech = list(TECH_DATA = 3) -/obj/item/weapon/circuitboard/comm_server +/obj/item/circuitboard/comm_server name = T_BOARD("telecommunications server monitor console") build_path = /obj/machinery/computer/telecomms/server origin_tech = list(TECH_DATA = 3) -/obj/item/weapon/circuitboard/comm_traffic +/obj/item/circuitboard/comm_traffic name = T_BOARD("telecommunications traffic control console") build_path = /obj/machinery/computer/telecomms/traffic origin_tech = list(TECH_DATA = 3) diff --git a/code/game/objects/items/weapons/circuitboards/frame.dm b/code/game/objects/items/weapons/circuitboards/frame.dm index 15644652944..02f011ab67e 100644 --- a/code/game/objects/items/weapons/circuitboards/frame.dm +++ b/code/game/objects/items/weapons/circuitboards/frame.dm @@ -6,37 +6,37 @@ //Display -/obj/item/weapon/circuitboard/guestpass +/obj/item/circuitboard/guestpass name = T_BOARD("guestpass console") build_path = /obj/machinery/computer/guestpass board_type = new /datum/frame/frame_types/guest_pass_console matter = list(MAT_STEEL = 50, MAT_GLASS = 50) -/obj/item/weapon/circuitboard/status_display +/obj/item/circuitboard/status_display name = T_BOARD("status display") build_path = /obj/machinery/status_display board_type = new /datum/frame/frame_types/display matter = list(MAT_STEEL = 50, MAT_GLASS = 50) -/obj/item/weapon/circuitboard/ai_status_display +/obj/item/circuitboard/ai_status_display name = T_BOARD("ai status display") build_path = /obj/machinery/ai_status_display board_type = new /datum/frame/frame_types/display matter = list(MAT_STEEL = 50, MAT_GLASS = 50) -/obj/item/weapon/circuitboard/newscaster +/obj/item/circuitboard/newscaster name = T_BOARD("newscaster") build_path = /obj/machinery/newscaster board_type = new /datum/frame/frame_types/newscaster matter = list(MAT_STEEL = 50, MAT_GLASS = 50) -/obj/item/weapon/circuitboard/atm +/obj/item/circuitboard/atm name = T_BOARD("atm") build_path = /obj/machinery/atm board_type = new /datum/frame/frame_types/atm matter = list(MAT_STEEL = 50, MAT_GLASS = 50) -/obj/item/weapon/circuitboard/request +/obj/item/circuitboard/request name = T_BOARD("request console") build_path = /obj/machinery/requests_console board_type = new /datum/frame/frame_types/supply_request_console @@ -44,64 +44,64 @@ //Alarm -/obj/item/weapon/circuitboard/firealarm +/obj/item/circuitboard/firealarm name = T_BOARD("fire alarm") build_path = /obj/machinery/firealarm board_type = new /datum/frame/frame_types/fire_alarm matter = list(MAT_STEEL = 50, MAT_GLASS = 50) -/obj/item/weapon/circuitboard/airalarm +/obj/item/circuitboard/airalarm name = T_BOARD("air alarm") build_path = /obj/machinery/alarm board_type = new /datum/frame/frame_types/air_alarm matter = list(MAT_STEEL = 50, MAT_GLASS = 50) -/obj/item/weapon/circuitboard/intercom +/obj/item/circuitboard/intercom name = T_BOARD("intercom") - build_path = /obj/item/device/radio/intercom + build_path = /obj/item/radio/intercom board_type = new /datum/frame/frame_types/intercom matter = list(MAT_STEEL = 50, MAT_GLASS = 50) -/obj/item/weapon/circuitboard/intercom/Destroy() - if(istype(loc, /obj/item/device/radio/intercom)) - var/obj/item/device/radio/intercom/my_machine = loc +/obj/item/circuitboard/intercom/Destroy() + if(istype(loc, /obj/item/radio/intercom)) + var/obj/item/radio/intercom/my_machine = loc my_machine.circuit = null . = ..() -/obj/item/weapon/circuitboard/keycard_auth +/obj/item/circuitboard/keycard_auth name = T_BOARD("keycard authenticator") build_path = /obj/machinery/keycard_auth board_type = new /datum/frame/frame_types/keycard_authenticator matter = list(MAT_STEEL = 50, MAT_GLASS = 50) -/obj/item/weapon/circuitboard/geiger +/obj/item/circuitboard/geiger name = T_BOARD("geiger counter") - build_path = /obj/item/device/geiger/wall + build_path = /obj/item/geiger/wall board_type = new /datum/frame/frame_types/geiger matter = list(MAT_STEEL = 50, MAT_GLASS = 50) -/obj/item/weapon/circuitboard/electrochromic +/obj/item/circuitboard/electrochromic name = T_BOARD("electrochromic button") build_path = /obj/machinery/button/windowtint - board_type = new /datum/frame/frame_types/electrochromic_button + board_type = new /datum/frame/frame_types/button matter = list(MAT_STEEL = 50, "glass" = 50) //Computer -/obj/item/weapon/circuitboard/holopad +/obj/item/circuitboard/holopad name = T_BOARD("holopad") build_path = /obj/machinery/hologram/holopad board_type = new /datum/frame/frame_types/holopad matter = list(MAT_STEEL = 50, MAT_GLASS = 50) -/obj/item/weapon/circuitboard/scanner_console +/obj/item/circuitboard/scanner_console name = T_BOARD("body scanner console") build_path = /obj/machinery/body_scanconsole board_type = new /datum/frame/frame_types/medical_console origin_tech = list(TECH_MAGNET = 2, TECH_BIO = 2) -/obj/item/weapon/circuitboard/sleeper_console +/obj/item/circuitboard/sleeper_console name = T_BOARD("sleeper console") build_path = /obj/machinery/sleep_console board_type = new /datum/frame/frame_types/medical_console @@ -109,185 +109,185 @@ //Machine -/obj/item/weapon/circuitboard/photocopier +/obj/item/circuitboard/photocopier name = T_BOARD("photocopier") build_path = /obj/machinery/photocopier board_type = new /datum/frame/frame_types/photocopier matter = list(MAT_STEEL = 50, MAT_GLASS = 50) req_components = list( - /obj/item/weapon/stock_parts/scanning_module = 1, - /obj/item/weapon/stock_parts/motor = 1, - /obj/item/weapon/stock_parts/micro_laser = 1, - /obj/item/weapon/stock_parts/matter_bin = 1) + /obj/item/stock_parts/scanning_module = 1, + /obj/item/stock_parts/motor = 1, + /obj/item/stock_parts/micro_laser = 1, + /obj/item/stock_parts/matter_bin = 1) -/obj/item/weapon/circuitboard/fax +/obj/item/circuitboard/fax name = T_BOARD("fax") build_path = /obj/machinery/photocopier/faxmachine board_type = new /datum/frame/frame_types/fax matter = list(MAT_STEEL = 50, MAT_GLASS = 50) req_components = list( - /obj/item/weapon/stock_parts/scanning_module = 1, - /obj/item/weapon/stock_parts/motor = 1, - /obj/item/weapon/stock_parts/micro_laser = 1, - /obj/item/weapon/stock_parts/matter_bin = 1) + /obj/item/stock_parts/scanning_module = 1, + /obj/item/stock_parts/motor = 1, + /obj/item/stock_parts/micro_laser = 1, + /obj/item/stock_parts/matter_bin = 1) -/obj/item/weapon/circuitboard/conveyor +/obj/item/circuitboard/conveyor name = T_BOARD("conveyor") build_path = /obj/machinery/conveyor board_type = new /datum/frame/frame_types/conveyor req_components = list( - /obj/item/weapon/stock_parts/gear = 2, - /obj/item/weapon/stock_parts/motor = 2, + /obj/item/stock_parts/gear = 2, + /obj/item/stock_parts/motor = 2, /obj/item/stack/cable_coil = 5) -/obj/item/weapon/circuitboard/recharger +/obj/item/circuitboard/recharger name = T_BOARD("recharger") build_path = /obj/machinery/recharger board_type = new /datum/frame/frame_types/recharger req_components = list( - /obj/item/weapon/stock_parts/capacitor = 1, + /obj/item/stock_parts/capacitor = 1, /obj/item/stack/cable_coil = 5) -/obj/item/weapon/circuitboard/recharger/wrecharger +/obj/item/circuitboard/recharger/wrecharger name = T_BOARD("wall recharger") build_path = /obj/machinery/recharger/wallcharger board_type = new /datum/frame/frame_types/wall_charger -/obj/item/weapon/circuitboard/cell_charger +/obj/item/circuitboard/cell_charger name = T_BOARD("heavy-duty cell charger") build_path = /obj/machinery/cell_charger board_type = new /datum/frame/frame_types/cell_charger req_components = list( - /obj/item/weapon/stock_parts/capacitor = 1, + /obj/item/stock_parts/capacitor = 1, /obj/item/stack/cable_coil = 5) -/obj/item/weapon/circuitboard/washing +/obj/item/circuitboard/washing name = T_BOARD("washing machine") build_path = /obj/machinery/washing_machine board_type = new /datum/frame/frame_types/washing_machine matter = list(MAT_STEEL = 50, MAT_GLASS = 50) req_components = list( - /obj/item/weapon/stock_parts/motor = 1, - /obj/item/weapon/stock_parts/gear = 2) + /obj/item/stock_parts/motor = 1, + /obj/item/stock_parts/gear = 2) -/obj/item/weapon/circuitboard/grinder +/obj/item/circuitboard/grinder name = T_BOARD("reagent grinder") build_path = /obj/machinery/reagentgrinder board_type = new /datum/frame/frame_types/grinder req_components = list( - /obj/item/weapon/stock_parts/motor = 1, - /obj/item/weapon/stock_parts/gear = 1, - /obj/item/weapon/reagent_containers/glass/beaker/large = 1) + /obj/item/stock_parts/motor = 1, + /obj/item/stock_parts/gear = 1, + /obj/item/reagent_containers/glass/beaker/large = 1) -/obj/item/weapon/circuitboard/distiller +/obj/item/circuitboard/distiller build_path = /obj/machinery/portable_atmospherics/powered/reagent_distillery board_type = new /datum/frame/frame_types/reagent_distillery req_components = list( - /obj/item/weapon/stock_parts/capacitor = 1, - /obj/item/weapon/stock_parts/micro_laser = 1, - /obj/item/weapon/stock_parts/motor = 2, - /obj/item/weapon/stock_parts/gear = 1) + /obj/item/stock_parts/capacitor = 1, + /obj/item/stock_parts/micro_laser = 1, + /obj/item/stock_parts/motor = 2, + /obj/item/stock_parts/gear = 1) -/obj/item/weapon/circuitboard/teleporter_hub +/obj/item/circuitboard/teleporter_hub name = T_BOARD("teleporter hub") build_path = /obj/machinery/teleport/hub board_type = "teleporter_hub" // origin_tech = list(TECH_DATA = 2, TECH_BLUESPACE = 4) req_components = list( - /obj/item/weapon/stock_parts/scanning_module = 4, - /obj/item/weapon/stock_parts/micro_laser = 4, + /obj/item/stock_parts/scanning_module = 4, + /obj/item/stock_parts/micro_laser = 4, /obj/item/stack/cable_coil = 10) -/obj/item/weapon/circuitboard/teleporter_station +/obj/item/circuitboard/teleporter_station name = T_BOARD("teleporter station") build_path = /obj/machinery/teleport/station board_type = "teleporter_station" // origin_tech = list(TECH_DATA = 2, TECH_BLUESPACE = 3) req_components = list( - /obj/item/weapon/stock_parts/console_screen = 1, - /obj/item/weapon/stock_parts/capacitor = 2, + /obj/item/stock_parts/console_screen = 1, + /obj/item/stock_parts/capacitor = 2, /obj/item/stack/cable_coil = 10) -/obj/item/weapon/circuitboard/body_scanner +/obj/item/circuitboard/body_scanner name = T_BOARD("body scanner") build_path = /obj/machinery/bodyscanner board_type = new /datum/frame/frame_types/medical_pod origin_tech = list(TECH_MAGNET = 2, TECH_BIO = 2) req_components = list( - /obj/item/weapon/stock_parts/scanning_module = 3, + /obj/item/stock_parts/scanning_module = 3, /obj/item/stack/material/glass/reinforced = 2) -/obj/item/weapon/circuitboard/medical_kiosk +/obj/item/circuitboard/medical_kiosk name = T_BOARD("medical kiosk") build_path = /obj/machinery/medical_kiosk board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_MAGNET = 2, TECH_BIO = 2) req_components = list( - /obj/item/weapon/stock_parts/scanning_module = 3, + /obj/item/stock_parts/scanning_module = 3, /obj/item/stack/material/glass/reinforced = 2) -/obj/item/weapon/circuitboard/sleeper +/obj/item/circuitboard/sleeper name = T_BOARD("sleeper") build_path = /obj/machinery/sleeper board_type = new /datum/frame/frame_types/medical_pod origin_tech = list(TECH_MAGNET = 2, TECH_BIO = 2) req_components = list( - /obj/item/weapon/stock_parts/manipulator = 1, - /obj/item/weapon/stock_parts/scanning_module = 1, - /obj/item/weapon/reagent_containers/glass/beaker = 3, - /obj/item/weapon/reagent_containers/syringe = 3, + /obj/item/stock_parts/manipulator = 1, + /obj/item/stock_parts/scanning_module = 1, + /obj/item/reagent_containers/glass/beaker = 3, + /obj/item/reagent_containers/syringe = 3, /obj/item/stack/material/glass/reinforced = 2) -/obj/item/weapon/circuitboard/vr_sleeper +/obj/item/circuitboard/vr_sleeper name = T_BOARD("VR sleeper") build_path = /obj/machinery/vr_sleeper board_type = new /datum/frame/frame_types/medical_pod origin_tech = list(TECH_MAGNET = 2, TECH_BIO = 2) req_components = list( - /obj/item/weapon/stock_parts/scanning_module = 1, + /obj/item/stock_parts/scanning_module = 1, /obj/item/stack/material/glass/reinforced = 2) -/obj/item/weapon/circuitboard/dna_analyzer +/obj/item/circuitboard/dna_analyzer name = T_BOARD("dna analyzer") build_path = /obj/machinery/dnaforensics board_type = new /datum/frame/frame_types/dna_analyzer origin_tech = list(TECH_MAGNET = 4, TECH_BIO = 2, TECH_DATA = 2) req_components = list( - /obj/item/weapon/stock_parts/scanning_module = 2, - /obj/item/weapon/stock_parts/micro_laser = 1, - /obj/item/weapon/stock_parts/console_screen = 1) + /obj/item/stock_parts/scanning_module = 2, + /obj/item/stock_parts/micro_laser = 1, + /obj/item/stock_parts/console_screen = 1) -/obj/item/weapon/circuitboard/mass_driver +/obj/item/circuitboard/mass_driver name = T_BOARD("mass driver") build_path = /obj/machinery/mass_driver board_type = new /datum/frame/frame_types/mass_driver req_components = list( - /obj/item/weapon/stock_parts/gear = 2, - /obj/item/weapon/stock_parts/motor = 2, - /obj/item/weapon/stock_parts/capacitor = 1, - /obj/item/weapon/stock_parts/spring = 1, + /obj/item/stock_parts/gear = 2, + /obj/item/stock_parts/motor = 2, + /obj/item/stock_parts/capacitor = 1, + /obj/item/stock_parts/spring = 1, /obj/item/stack/cable_coil = 5) -/obj/item/weapon/circuitboard/arf_generator +/obj/item/circuitboard/arf_generator name = T_BOARD("atmospheric field generator") build_path = /obj/machinery/atmospheric_field_generator board_type = new /datum/frame/frame_types/arfgs origin_tech = list(TECH_MAGNET = 4, TECH_POWER = 4, TECH_BIO = 3) req_components = list( - /obj/item/weapon/stock_parts/micro_laser/high = 2, //field emitters - /obj/item/weapon/stock_parts/scanning_module = 1, //atmosphere sensor - /obj/item/weapon/stock_parts/capacitor/adv = 1, //for the JUICE + /obj/item/stock_parts/micro_laser/high = 2, //field emitters + /obj/item/stock_parts/scanning_module = 1, //atmosphere sensor + /obj/item/stock_parts/capacitor/adv = 1, //for the JUICE /obj/item/stack/cable_coil = 10) -/obj/item/weapon/circuitboard/injector_maker +/obj/item/circuitboard/injector_maker name = T_BOARD("Ready-to-Use Medicine 3000") build_path = /obj/machinery/injector_maker board_type = new /datum/frame/frame_types/injector_maker origin_tech = list(TECH_BIO = 3, TECH_ENGINEERING = 2, TECH_MATERIAL = 2) req_components = list( - /obj/item/weapon/stock_parts/matter_bin = 2, - /obj/item/weapon/stock_parts/manipulator = 1, - /obj/item/weapon/stock_parts/micro_laser = 1, - /obj/item/weapon/stock_parts/console_screen = 1 + /obj/item/stock_parts/matter_bin = 2, + /obj/item/stock_parts/manipulator = 1, + /obj/item/stock_parts/micro_laser = 1, + /obj/item/stock_parts/console_screen = 1 ) diff --git a/code/game/objects/items/weapons/circuitboards/machinery/biogenerator.dm b/code/game/objects/items/weapons/circuitboards/machinery/biogenerator.dm index c32b93484e0..ff19969881f 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/biogenerator.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/biogenerator.dm @@ -2,11 +2,11 @@ #error T_BOARD macro is not defined but we need it! #endif -/obj/item/weapon/circuitboard/biogenerator +/obj/item/circuitboard/biogenerator name = T_BOARD("biogenerator") build_path = /obj/machinery/biogenerator board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_DATA = 2) req_components = list( - /obj/item/weapon/stock_parts/matter_bin = 1, - /obj/item/weapon/stock_parts/manipulator = 1) \ No newline at end of file + /obj/item/stock_parts/matter_bin = 1, + /obj/item/stock_parts/manipulator = 1) \ No newline at end of file diff --git a/code/game/objects/items/weapons/circuitboards/machinery/cloning.dm b/code/game/objects/items/weapons/circuitboards/machinery/cloning.dm index ffca070fe9d..1602a5b4bf0 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/cloning.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/cloning.dm @@ -2,25 +2,25 @@ #error T_BOARD macro is not defined but we need it! #endif -/obj/item/weapon/circuitboard/clonepod +/obj/item/circuitboard/clonepod name = T_BOARD("clone pod") build_path = /obj/machinery/clonepod board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_DATA = 3, TECH_BIO = 3) req_components = list( /obj/item/stack/cable_coil = 2, - /obj/item/weapon/stock_parts/scanning_module = 2, - /obj/item/weapon/stock_parts/manipulator = 2, - /obj/item/weapon/stock_parts/console_screen = 1) + /obj/item/stock_parts/scanning_module = 2, + /obj/item/stock_parts/manipulator = 2, + /obj/item/stock_parts/console_screen = 1) -/obj/item/weapon/circuitboard/clonescanner +/obj/item/circuitboard/clonescanner name = T_BOARD("cloning scanner") build_path = /obj/machinery/dna_scannernew board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_DATA = 2, TECH_BIO = 2) req_components = list( - /obj/item/weapon/stock_parts/scanning_module = 1, - /obj/item/weapon/stock_parts/manipulator = 1, - /obj/item/weapon/stock_parts/micro_laser = 1, - /obj/item/weapon/stock_parts/console_screen = 1, + /obj/item/stock_parts/scanning_module = 1, + /obj/item/stock_parts/manipulator = 1, + /obj/item/stock_parts/micro_laser = 1, + /obj/item/stock_parts/console_screen = 1, /obj/item/stack/cable_coil = 2) diff --git a/code/game/objects/items/weapons/circuitboards/machinery/engineering.dm b/code/game/objects/items/weapons/circuitboards/machinery/engineering.dm index 39096d5e9c5..c31faab2a39 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/engineering.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/engineering.dm @@ -2,12 +2,12 @@ #error T_BOARD macro is not defined but we need it! #endif -/obj/item/weapon/circuitboard/pipelayer +/obj/item/circuitboard/pipelayer name = T_BOARD("pipe layer") build_path = /obj/machinery/pipelayer board_type = new /datum/frame/frame_types/machine matter = list(MAT_STEEL = 50, MAT_GLASS = 50) req_components = list( - /obj/item/weapon/stock_parts/motor = 1, - /obj/item/weapon/stock_parts/gear = 1, - /obj/item/weapon/stock_parts/matter_bin = 1) + /obj/item/stock_parts/motor = 1, + /obj/item/stock_parts/gear = 1, + /obj/item/stock_parts/matter_bin = 1) diff --git a/code/game/objects/items/weapons/circuitboards/machinery/fluidpump.dm b/code/game/objects/items/weapons/circuitboards/machinery/fluidpump.dm index 3646d7311a0..497c55eb14c 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/fluidpump.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/fluidpump.dm @@ -3,12 +3,13 @@ #error T_BOARD macro is not defined but we need it! #endif -/obj/item/weapon/circuitboard/fluidpump +/obj/item/circuitboard/fluidpump name = T_BOARD("fluid pump") build_path = /obj/machinery/pump board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_DATA = 1) req_components = list( - /obj/item/weapon/stock_parts/matter_bin = 2, - /obj/item/weapon/stock_parts/motor = 2, - /obj/item/weapon/stock_parts/manipulator = 1) + /obj/item/stock_parts/matter_bin = 2, + /obj/item/cell = 1, + /obj/item/stock_parts/motor = 2, + /obj/item/stock_parts/manipulator = 1) diff --git a/code/game/objects/items/weapons/circuitboards/machinery/jukebox.dm b/code/game/objects/items/weapons/circuitboards/machinery/jukebox.dm index ab3ae6f3843..f846586fcec 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/jukebox.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/jukebox.dm @@ -2,12 +2,12 @@ #error T_BOARD macro is not defined but we need it! #endif -/obj/item/weapon/circuitboard/jukebox +/obj/item/circuitboard/jukebox name = T_BOARD("jukebox") build_path = /obj/machinery/media/jukebox board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_MAGNET = 2, TECH_DATA = 1) req_components = list( - /obj/item/weapon/stock_parts/capacitor = 1, - /obj/item/weapon/stock_parts/console_screen = 1, + /obj/item/stock_parts/capacitor = 1, + /obj/item/stock_parts/console_screen = 1, /obj/item/stack/cable_coil = 5) diff --git a/code/game/objects/items/weapons/circuitboards/machinery/kitchen_appliances.dm b/code/game/objects/items/weapons/circuitboards/machinery/kitchen_appliances.dm index 579c5885193..6f54f8e31ef 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/kitchen_appliances.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/kitchen_appliances.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/circuitboard/microwave +/obj/item/circuitboard/microwave name = T_BOARD("microwave") desc = "The circuitboard for a microwave." build_path = /obj/machinery/microwave @@ -6,69 +6,69 @@ contain_parts = 0 matter = list(MAT_STEEL = 50, MAT_GLASS = 50) req_components = list( - /obj/item/weapon/stock_parts/console_screen = 1, - /obj/item/weapon/stock_parts/capacitor = 3, // Original Capacitor count was 1 - /obj/item/weapon/stock_parts/motor = 1, - /obj/item/weapon/stock_parts/scanning_module = 1, - /obj/item/weapon/stock_parts/matter_bin = 2) + /obj/item/stock_parts/console_screen = 1, + /obj/item/stock_parts/capacitor = 3, // Original Capacitor count was 1 + /obj/item/stock_parts/motor = 1, + /obj/item/stock_parts/scanning_module = 1, + /obj/item/stock_parts/matter_bin = 2) -/obj/item/weapon/circuitboard/oven +/obj/item/circuitboard/oven name = T_BOARD("oven") desc = "The circuitboard for an oven." build_path = /obj/machinery/appliance/cooker/oven board_type = new /datum/frame/frame_types/machine matter = list(MAT_STEEL = 50, MAT_GLASS = 50) req_components = list( - /obj/item/weapon/stock_parts/capacitor = 3, - /obj/item/weapon/stock_parts/scanning_module = 1, - /obj/item/weapon/stock_parts/matter_bin = 2) + /obj/item/stock_parts/capacitor = 3, + /obj/item/stock_parts/scanning_module = 1, + /obj/item/stock_parts/matter_bin = 2) -/obj/item/weapon/circuitboard/fryer +/obj/item/circuitboard/fryer name = T_BOARD("deep fryer") desc = "The circuitboard for a deep fryer." build_path = /obj/machinery/appliance/cooker/fryer board_type = new /datum/frame/frame_types/machine req_components = list( - /obj/item/weapon/stock_parts/capacitor = 3, - /obj/item/weapon/stock_parts/scanning_module = 1, - /obj/item/weapon/stock_parts/matter_bin = 2) + /obj/item/stock_parts/capacitor = 3, + /obj/item/stock_parts/scanning_module = 1, + /obj/item/stock_parts/matter_bin = 2) -/obj/item/weapon/circuitboard/grill +/obj/item/circuitboard/grill name = T_BOARD("grill") desc = "The circuitboard for an industrial grill." build_path = /obj/machinery/appliance/cooker/grill board_type = new /datum/frame/frame_types/machine req_components = list( - /obj/item/weapon/stock_parts/capacitor = 3, - /obj/item/weapon/stock_parts/scanning_module = 1, - /obj/item/weapon/stock_parts/matter_bin = 2) + /obj/item/stock_parts/capacitor = 3, + /obj/item/stock_parts/scanning_module = 1, + /obj/item/stock_parts/matter_bin = 2) -/obj/item/weapon/circuitboard/cerealmaker +/obj/item/circuitboard/cerealmaker name = T_BOARD("cereal maker") desc = "The circuitboard for a cereal maker." build_path = /obj/machinery/appliance/mixer/cereal board_type = new /datum/frame/frame_types/machine req_components = list( - /obj/item/weapon/stock_parts/capacitor = 3, - /obj/item/weapon/stock_parts/scanning_module = 1, - /obj/item/weapon/stock_parts/matter_bin = 2) + /obj/item/stock_parts/capacitor = 3, + /obj/item/stock_parts/scanning_module = 1, + /obj/item/stock_parts/matter_bin = 2) -/obj/item/weapon/circuitboard/candymachine +/obj/item/circuitboard/candymachine name = T_BOARD("candy machine") desc = "The circuitboard for a candy machine." build_path = /obj/machinery/appliance/mixer/candy board_type = new /datum/frame/frame_types/machine req_components = list( - /obj/item/weapon/stock_parts/capacitor = 3, - /obj/item/weapon/stock_parts/scanning_module = 1, - /obj/item/weapon/stock_parts/matter_bin = 2) + /obj/item/stock_parts/capacitor = 3, + /obj/item/stock_parts/scanning_module = 1, + /obj/item/stock_parts/matter_bin = 2) -/obj/item/weapon/circuitboard/microwave/advanced +/obj/item/circuitboard/microwave/advanced name = T_BOARD("deluxe microwave") build_path = /obj/machinery/microwave/advanced board_type = new /datum/frame/frame_types/microwave matter = list(MAT_STEEL = 50, MAT_GLASS = 50) req_components = list( - /obj/item/weapon/stock_parts/console_screen = 1, - /obj/item/weapon/stock_parts/motor = 1, - /obj/item/weapon/stock_parts/capacitor = 1) \ No newline at end of file + /obj/item/stock_parts/console_screen = 1, + /obj/item/stock_parts/motor = 1, + /obj/item/stock_parts/capacitor = 1) \ No newline at end of file diff --git a/code/game/objects/items/weapons/circuitboards/machinery/mech_recharger.dm b/code/game/objects/items/weapons/circuitboards/machinery/mech_recharger.dm index 01d5f0933c8..ef3dce3b74d 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/mech_recharger.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/mech_recharger.dm @@ -2,12 +2,12 @@ #error T_BOARD macro is not defined but we need it! #endif -/obj/item/weapon/circuitboard/mech_recharger +/obj/item/circuitboard/mech_recharger name = T_BOARD("mech recharger") build_path = /obj/machinery/mech_recharger board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_DATA = 2, TECH_POWER = 2, TECH_ENGINEERING = 2) req_components = list( - /obj/item/weapon/stock_parts/capacitor = 2, - /obj/item/weapon/stock_parts/scanning_module = 1, - /obj/item/weapon/stock_parts/manipulator = 2) \ No newline at end of file + /obj/item/stock_parts/capacitor = 2, + /obj/item/stock_parts/scanning_module = 1, + /obj/item/stock_parts/manipulator = 2) \ No newline at end of file diff --git a/code/game/objects/items/weapons/circuitboards/machinery/mining_drill.dm b/code/game/objects/items/weapons/circuitboards/machinery/mining_drill.dm index 3f97fad2f78..03770c7aca5 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/mining_drill.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/mining_drill.dm @@ -2,21 +2,21 @@ #error T_BOARD macro is not defined but we need it! #endif -/obj/item/weapon/circuitboard/miningdrill +/obj/item/circuitboard/miningdrill name = T_BOARD("mining drill head") build_path = /obj/machinery/mining/drill board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_DATA = 1, TECH_ENGINEERING = 1) req_components = list( - /obj/item/weapon/stock_parts/capacitor = 1, - /obj/item/weapon/stock_parts/matter_bin = 1, - /obj/item/weapon/stock_parts/micro_laser = 1) + /obj/item/stock_parts/capacitor = 1, + /obj/item/stock_parts/matter_bin = 1, + /obj/item/stock_parts/micro_laser = 1) -/obj/item/weapon/circuitboard/miningdrillbrace +/obj/item/circuitboard/miningdrillbrace name = T_BOARD("mining drill brace") build_path = /obj/machinery/mining/brace board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_DATA = 1, TECH_ENGINEERING = 1) req_components = list( - /obj/item/weapon/stock_parts/manipulator = 1 + /obj/item/stock_parts/manipulator = 1 ) diff --git a/code/game/objects/items/weapons/circuitboards/machinery/pacman.dm b/code/game/objects/items/weapons/circuitboards/machinery/pacman.dm index 218ffd924ad..c277882e04c 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/pacman.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/pacman.dm @@ -2,23 +2,23 @@ #error T_BOARD macro is not defined but we need it! #endif -/obj/item/weapon/circuitboard/pacman +/obj/item/circuitboard/pacman name = T_BOARD("PACMAN-type generator") build_path = /obj/machinery/power/port_gen/pacman board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_DATA = 3, TECH_POWER = 3, TECH_PHORON = 3, TECH_ENGINEERING = 3) req_components = list( - /obj/item/weapon/stock_parts/matter_bin = 1, - /obj/item/weapon/stock_parts/micro_laser = 1, + /obj/item/stock_parts/matter_bin = 1, + /obj/item/stock_parts/micro_laser = 1, /obj/item/stack/cable_coil = 2, - /obj/item/weapon/stock_parts/capacitor = 1) + /obj/item/stock_parts/capacitor = 1) -/obj/item/weapon/circuitboard/pacman/super +/obj/item/circuitboard/pacman/super name = T_BOARD("SUPERPACMAN-type generator") build_path = /obj/machinery/power/port_gen/pacman/super origin_tech = list(TECH_DATA = 3, TECH_POWER = 4, TECH_ENGINEERING = 4) -/obj/item/weapon/circuitboard/pacman/mrs +/obj/item/circuitboard/pacman/mrs name = T_BOARD("MRSPACMAN-type generator") build_path = /obj/machinery/power/port_gen/pacman/mrs origin_tech = list(TECH_DATA = 3, TECH_POWER = 5, TECH_ENGINEERING = 5) diff --git a/code/game/objects/items/weapons/circuitboards/machinery/pandemic.dm b/code/game/objects/items/weapons/circuitboards/machinery/pandemic.dm new file mode 100644 index 00000000000..2865260d8a2 --- /dev/null +++ b/code/game/objects/items/weapons/circuitboards/machinery/pandemic.dm @@ -0,0 +1,16 @@ +#ifndef T_BOARD +#error T_BOARD macro is not defined but we need it! +#endif + +/obj/item/circuitboard/pandemic + name = T_BOARD("pandemic") + build_path = /obj/machinery/computer/pandemic + board_type = new /datum/frame/frame_types/computer + origin_tech = list(TECH_DATA = 2, TECH_BIO = 2) + req_components = list( + /obj/item/stock_parts/matter_bin = 2, + /obj/item/stock_parts/scanning_module = 1, + /obj/item/stock_parts/manipulator = 1, + /obj/item/stack/cable_coil = 5, + /obj/item/stock_parts/capacitor = 1 + ) diff --git a/code/game/objects/items/weapons/circuitboards/machinery/papershredder.dm b/code/game/objects/items/weapons/circuitboards/machinery/papershredder.dm index 2b55db3adf3..ddb45b0247c 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/papershredder.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/papershredder.dm @@ -2,12 +2,12 @@ #error T_BOARD macro is not defined but we need it! #endif -/obj/item/weapon/circuitboard/papershredder +/obj/item/circuitboard/papershredder name = T_BOARD("papershredder") build_path = /obj/machinery/papershredder board_type = new /datum/frame/frame_types/machine matter = list(MAT_STEEL = 50, MAT_GLASS = 50) req_components = list( - /obj/item/weapon/stock_parts/motor = 1, - /obj/item/weapon/stock_parts/gear = 2, - /obj/item/weapon/stock_parts/micro_laser = 1) + /obj/item/stock_parts/motor = 1, + /obj/item/stock_parts/gear = 2, + /obj/item/stock_parts/micro_laser = 1) diff --git a/code/game/objects/items/weapons/circuitboards/machinery/power.dm b/code/game/objects/items/weapons/circuitboards/machinery/power.dm index e874d04d491..083124f4789 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/power.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/power.dm @@ -2,37 +2,37 @@ #error T_BOARD macro is not defined but we need it! #endif -/obj/item/weapon/circuitboard/smes +/obj/item/circuitboard/smes name = T_BOARD("superconductive magnetic energy storage") build_path = /obj/machinery/power/smes/buildable board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_POWER = 6, TECH_ENGINEERING = 4) - req_components = list(/obj/item/weapon/smes_coil = 1, /obj/item/stack/cable_coil = 30) + req_components = list(/obj/item/smes_coil = 1, /obj/item/stack/cable_coil = 30) -/obj/item/weapon/circuitboard/smes/construct(var/obj/machinery/power/smes/buildable/S) +/obj/item/circuitboard/smes/construct(var/obj/machinery/power/smes/buildable/S) if(..(S)) S.output_attempt = 0 //built SMES default to off -/obj/item/weapon/circuitboard/batteryrack +/obj/item/circuitboard/batteryrack name = T_BOARD("battery rack PSU") build_path = /obj/machinery/power/smes/batteryrack board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_POWER = 3, TECH_ENGINEERING = 2) - req_components = list(/obj/item/weapon/stock_parts/capacitor/ = 3, /obj/item/weapon/stock_parts/matter_bin/ = 1) + req_components = list(/obj/item/stock_parts/capacitor/ = 3, /obj/item/stock_parts/matter_bin/ = 1) -/obj/item/weapon/circuitboard/grid_checker +/obj/item/circuitboard/grid_checker name = T_BOARD("power grid checker") build_path = /obj/machinery/power/grid_checker board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_POWER = 4, TECH_ENGINEERING = 3) - req_components = list(/obj/item/weapon/stock_parts/capacitor = 3, /obj/item/stack/cable_coil = 10) + req_components = list(/obj/item/stock_parts/capacitor = 3, /obj/item/stack/cable_coil = 10) -/obj/item/weapon/circuitboard/breakerbox +/obj/item/circuitboard/breakerbox name = T_BOARD("breaker box") build_path = /obj/machinery/power/breakerbox board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_POWER = 3, TECH_ENGINEERING = 3) req_components = list( - /obj/item/weapon/stock_parts/spring = 1, - /obj/item/weapon/stock_parts/manipulator = 1, + /obj/item/stock_parts/spring = 1, + /obj/item/stock_parts/manipulator = 1, /obj/item/stack/cable_coil = 10) diff --git a/code/game/objects/items/weapons/circuitboards/machinery/recharge_station.dm b/code/game/objects/items/weapons/circuitboards/machinery/recharge_station.dm index f45549bab64..fe54eb44322 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/recharge_station.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/recharge_station.dm @@ -2,13 +2,13 @@ #error T_BOARD macro is not defined but we need it! #endif -/obj/item/weapon/circuitboard/recharge_station +/obj/item/circuitboard/recharge_station name = T_BOARD("cyborg recharging station") build_path = /obj/machinery/recharge_station board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 3) req_components = list( /obj/item/stack/cable_coil = 5, - /obj/item/weapon/stock_parts/capacitor = 2, - /obj/item/weapon/stock_parts/manipulator = 2, - /obj/item/weapon/cell = 1) \ No newline at end of file + /obj/item/stock_parts/capacitor = 2, + /obj/item/stock_parts/manipulator = 2, + /obj/item/cell = 1) \ No newline at end of file diff --git a/code/game/objects/items/weapons/circuitboards/machinery/recycling.dm b/code/game/objects/items/weapons/circuitboards/machinery/recycling.dm index f0375d346b7..8ef62efa760 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/recycling.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/recycling.dm @@ -2,7 +2,7 @@ #error T_BOARD macro is not defined but we need it! #endif -/obj/item/weapon/circuitboard/recycler_crusher +/obj/item/circuitboard/recycler_crusher name = T_BOARD("recycler - crusher") build_path = /obj/machinery/recycling/crusher board_type = new /datum/frame/frame_types/machine @@ -10,13 +10,13 @@ matter = list(MAT_STEEL = 50, MAT_GLASS = 50) req_components = list( /obj/item/stack/cable_coil = 2, - /obj/item/weapon/stock_parts/motor = 1, - /obj/item/weapon/stock_parts/gear = 1, - /obj/item/weapon/stock_parts/matter_bin = 1, - /obj/item/weapon/stock_parts/manipulator = 1 + /obj/item/stock_parts/motor = 1, + /obj/item/stock_parts/gear = 1, + /obj/item/stock_parts/matter_bin = 1, + /obj/item/stock_parts/manipulator = 1 ) -/obj/item/weapon/circuitboard/recycler_sorter +/obj/item/circuitboard/recycler_sorter name = T_BOARD("recycler - sorter") build_path = /obj/machinery/recycling/sorter board_type = new /datum/frame/frame_types/machine @@ -24,11 +24,11 @@ matter = list(MAT_STEEL = 50, MAT_GLASS = 50) req_components = list( /obj/item/stack/cable_coil = 2, - /obj/item/weapon/stock_parts/motor = 1, - /obj/item/weapon/stock_parts/gear = 3 + /obj/item/stock_parts/motor = 1, + /obj/item/stock_parts/gear = 3 ) -/obj/item/weapon/circuitboard/recycler_stamper +/obj/item/circuitboard/recycler_stamper name = T_BOARD("recycler - stamper") build_path = /obj/machinery/recycling/stamper board_type = new /datum/frame/frame_types/machine @@ -36,6 +36,6 @@ matter = list(MAT_STEEL = 50, MAT_GLASS = 50) req_components = list( /obj/item/stack/cable_coil = 2, - /obj/item/weapon/stock_parts/gear = 2, - /obj/item/weapon/stock_parts/motor = 2 + /obj/item/stock_parts/gear = 2, + /obj/item/stock_parts/motor = 2 ) diff --git a/code/game/objects/items/weapons/circuitboards/machinery/research.dm b/code/game/objects/items/weapons/circuitboards/machinery/research.dm index 8f23291f8aa..51599051905 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/research.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/research.dm @@ -2,92 +2,92 @@ #error T_BOARD macro is not defined but we need it! #endif -/obj/item/weapon/circuitboard/rdserver +/obj/item/circuitboard/rdserver name = T_BOARD("R&D server") build_path = /obj/machinery/r_n_d/server/core board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_DATA = 3) req_components = list( /obj/item/stack/cable_coil = 2, - /obj/item/weapon/stock_parts/scanning_module = 1) + /obj/item/stock_parts/scanning_module = 1) -/obj/item/weapon/circuitboard/rdserver/attackby(obj/item/I as obj, mob/user as mob) +/obj/item/circuitboard/rdserver/attackby(obj/item/I as obj, mob/user as mob) if(I.has_tool_quality(TOOL_SCREWDRIVER)) playsound(src, I.usesound, 50, 1) - user.visible_message("\The [user] adjusts the jumper on \the [src]'s access protocol pins.", "You adjust the jumper on the access protocol pins.") + user.visible_message(span_infoplain(span_bold("\The [user]") + " adjusts the jumper on \the [src]'s access protocol pins."), span_notice("You adjust the jumper on the access protocol pins.")) if(build_path == /obj/machinery/r_n_d/server/core) name = T_BOARD("RD Console - Robotics") build_path = /obj/machinery/r_n_d/server/robotics - to_chat(user, "Access protocols set to robotics.") + to_chat(user, span_notice("Access protocols set to robotics.")) else name = T_BOARD("RD Console") build_path = /obj/machinery/r_n_d/server/core - to_chat(user, "Access protocols set to default.") + to_chat(user, span_notice("Access protocols set to default.")) return -/obj/item/weapon/circuitboard/destructive_analyzer +/obj/item/circuitboard/destructive_analyzer name = T_BOARD("destructive analyzer") build_path = /obj/machinery/r_n_d/destructive_analyzer board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2, TECH_DATA = 2) req_components = list( - /obj/item/weapon/stock_parts/scanning_module = 1, - /obj/item/weapon/stock_parts/manipulator = 1, - /obj/item/weapon/stock_parts/micro_laser = 1) + /obj/item/stock_parts/scanning_module = 1, + /obj/item/stock_parts/manipulator = 1, + /obj/item/stock_parts/micro_laser = 1) -/obj/item/weapon/circuitboard/autolathe +/obj/item/circuitboard/autolathe name = T_BOARD("autolathe") build_path = /obj/machinery/autolathe board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_ENGINEERING = 2, TECH_DATA = 2) req_components = list( - /obj/item/weapon/stock_parts/matter_bin = 3, - /obj/item/weapon/stock_parts/manipulator = 1, - /obj/item/weapon/stock_parts/console_screen = 1) + /obj/item/stock_parts/matter_bin = 3, + /obj/item/stock_parts/manipulator = 1, + /obj/item/stock_parts/console_screen = 1) -/obj/item/weapon/circuitboard/protolathe +/obj/item/circuitboard/protolathe name = T_BOARD("protolathe") build_path = /obj/machinery/r_n_d/protolathe board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_ENGINEERING = 2, TECH_DATA = 2) req_components = list( - /obj/item/weapon/stock_parts/matter_bin = 2, - /obj/item/weapon/stock_parts/manipulator = 2, - /obj/item/weapon/reagent_containers/glass/beaker = 2) + /obj/item/stock_parts/matter_bin = 2, + /obj/item/stock_parts/manipulator = 2, + /obj/item/reagent_containers/glass/beaker = 2) -/obj/item/weapon/circuitboard/circuit_imprinter +/obj/item/circuitboard/circuit_imprinter name = T_BOARD("circuit imprinter") build_path = /obj/machinery/r_n_d/circuit_imprinter board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_ENGINEERING = 2, TECH_DATA = 2) req_components = list( - /obj/item/weapon/stock_parts/matter_bin = 1, - /obj/item/weapon/stock_parts/manipulator = 1, - /obj/item/weapon/reagent_containers/glass/beaker = 2) + /obj/item/stock_parts/matter_bin = 1, + /obj/item/stock_parts/manipulator = 1, + /obj/item/reagent_containers/glass/beaker = 2) -/obj/item/weapon/circuitboard/mechfab +/obj/item/circuitboard/mechfab name = "Circuit board (Exosuit Fabricator)" build_path = /obj/machinery/mecha_part_fabricator board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 3) req_components = list( - /obj/item/weapon/stock_parts/matter_bin = 2, - /obj/item/weapon/stock_parts/manipulator = 1, - /obj/item/weapon/stock_parts/micro_laser = 1, - /obj/item/weapon/stock_parts/console_screen = 1) + /obj/item/stock_parts/matter_bin = 2, + /obj/item/stock_parts/manipulator = 1, + /obj/item/stock_parts/micro_laser = 1, + /obj/item/stock_parts/console_screen = 1) -/obj/item/weapon/circuitboard/prosthetics +/obj/item/circuitboard/prosthetics name = "Circuit board (Prosthetics Fabricator)" build_path = /obj/machinery/mecha_part_fabricator/pros board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 3) req_components = list( - /obj/item/weapon/stock_parts/matter_bin = 2, - /obj/item/weapon/stock_parts/manipulator = 1, - /obj/item/weapon/stock_parts/micro_laser = 1, - /obj/item/weapon/stock_parts/console_screen = 1) + /obj/item/stock_parts/matter_bin = 2, + /obj/item/stock_parts/manipulator = 1, + /obj/item/stock_parts/micro_laser = 1, + /obj/item/stock_parts/console_screen = 1) -/obj/item/weapon/circuitboard/ntnet_relay +/obj/item/circuitboard/ntnet_relay name = "Circuit board (NTNet Quantum Relay)" build_path = /obj/machinery/ntnet_relay board_type = new /datum/frame/frame_types/machine @@ -95,13 +95,13 @@ req_components = list( /obj/item/stack/cable_coil = 15) -/obj/item/weapon/circuitboard/protean_reconstitutor +/obj/item/circuitboard/protean_reconstitutor name = T_BOARD("protean reconstitutor") board_type = new /datum/frame/frame_types/machine build_path = /obj/machinery/protean_reconstitutor origin_tech = list(TECH_MAGNET = 5, TECH_BLUESPACE = 5, TECH_MATERIAL = 5, TECH_ENGINEERING = 5, TECH_DATA = 5) req_components = list( - /obj/item/weapon/stock_parts/matter_bin = 1, - /obj/item/weapon/stock_parts/manipulator = 1, - /obj/item/weapon/stock_parts/console_screen = 1, + /obj/item/stock_parts/matter_bin = 1, + /obj/item/stock_parts/manipulator = 1, + /obj/item/stock_parts/console_screen = 1, /obj/item/stack/cable_coil = 5) diff --git a/code/game/objects/items/weapons/circuitboards/machinery/shieldgen.dm b/code/game/objects/items/weapons/circuitboards/machinery/shieldgen.dm index f34f7a3c65b..cc33f90553f 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/shieldgen.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/shieldgen.dm @@ -6,68 +6,68 @@ // New shield generator // -/obj/item/weapon/circuitboard/shield_generator +/obj/item/circuitboard/shield_generator name = T_BOARD("advanced shield generator") board_type = new /datum/frame/frame_types/machine build_path = /obj/machinery/power/shield_generator origin_tech = list(TECH_MAGNET = 3, TECH_POWER = 4, TECH_BLUESPACE = 2, TECH_ENGINEERING = 3) req_components = list( - /obj/item/weapon/stock_parts/capacitor = 1, - /obj/item/weapon/stock_parts/micro_laser = 1, - /obj/item/weapon/smes_coil = 1, - /obj/item/weapon/stock_parts/console_screen = 1, - /obj/item/weapon/stock_parts/subspace/amplifier = 1, + /obj/item/stock_parts/capacitor = 1, + /obj/item/stock_parts/micro_laser = 1, + /obj/item/smes_coil = 1, + /obj/item/stock_parts/console_screen = 1, + /obj/item/stock_parts/subspace/amplifier = 1, /obj/item/stack/cable_coil = 5) -/obj/item/weapon/circuitboard/shield_diffuser +/obj/item/circuitboard/shield_diffuser name = T_BOARD("shield diffuser") board_type = new /datum/frame/frame_types/machine build_path = /obj/machinery/shield_diffuser origin_tech = list(TECH_MAGNET = 4, TECH_POWER = 2, TECH_ILLEGAL = 1) req_components = list( - /obj/item/weapon/stock_parts/capacitor = 1, - /obj/item/weapon/stock_parts/micro_laser = 1, - /obj/item/weapon/stock_parts/console_screen = 1) + /obj/item/stock_parts/capacitor = 1, + /obj/item/stock_parts/micro_laser = 1, + /obj/item/stock_parts/console_screen = 1) // // Legacy shield generators // -/obj/item/weapon/circuitboard/shield_gen_ex +/obj/item/circuitboard/shield_gen_ex name = T_BOARD("hull shield generator") board_type = new /datum/frame/frame_types/machine build_path = /obj/machinery/shield_gen/external origin_tech = list(TECH_BLUESPACE = 4, TECH_PHORON = 3) req_components = list( - /obj/item/weapon/stock_parts/manipulator/pico = 2, - /obj/item/weapon/stock_parts/subspace/transmitter = 1, - /obj/item/weapon/stock_parts/subspace/crystal = 1, - /obj/item/weapon/stock_parts/subspace/amplifier = 1, - /obj/item/weapon/stock_parts/console_screen = 1, + /obj/item/stock_parts/manipulator/pico = 2, + /obj/item/stock_parts/subspace/transmitter = 1, + /obj/item/stock_parts/subspace/crystal = 1, + /obj/item/stock_parts/subspace/amplifier = 1, + /obj/item/stock_parts/console_screen = 1, /obj/item/stack/cable_coil = 5) -/obj/item/weapon/circuitboard/shield_gen +/obj/item/circuitboard/shield_gen name = T_BOARD("bubble shield generator") board_type = new /datum/frame/frame_types/machine build_path = /obj/machinery/shield_gen origin_tech = list(TECH_BLUESPACE = 4, TECH_PHORON = 3) req_components = list( - /obj/item/weapon/stock_parts/manipulator/pico = 2, - /obj/item/weapon/stock_parts/subspace/transmitter = 1, - /obj/item/weapon/stock_parts/subspace/crystal = 1, - /obj/item/weapon/stock_parts/subspace/amplifier = 1, - /obj/item/weapon/stock_parts/console_screen = 1, + /obj/item/stock_parts/manipulator/pico = 2, + /obj/item/stock_parts/subspace/transmitter = 1, + /obj/item/stock_parts/subspace/crystal = 1, + /obj/item/stock_parts/subspace/amplifier = 1, + /obj/item/stock_parts/console_screen = 1, /obj/item/stack/cable_coil = 5) -/obj/item/weapon/circuitboard/shield_cap +/obj/item/circuitboard/shield_cap name = T_BOARD("shield capacitor") board_type = new /datum/frame/frame_types/machine build_path = /obj/machinery/shield_capacitor origin_tech = list(TECH_MAGNET = 3, TECH_POWER = 4) req_components = list( - /obj/item/weapon/stock_parts/manipulator/pico = 2, - /obj/item/weapon/stock_parts/subspace/sub_filter = 1, - /obj/item/weapon/stock_parts/subspace/treatment = 1, - /obj/item/weapon/stock_parts/subspace/analyzer = 1, - /obj/item/weapon/stock_parts/console_screen = 1, + /obj/item/stock_parts/manipulator/pico = 2, + /obj/item/stock_parts/subspace/sub_filter = 1, + /obj/item/stock_parts/subspace/treatment = 1, + /obj/item/stock_parts/subspace/analyzer = 1, + /obj/item/stock_parts/console_screen = 1, /obj/item/stack/cable_coil = 5) diff --git a/code/game/objects/items/weapons/circuitboards/machinery/ships.dm b/code/game/objects/items/weapons/circuitboards/machinery/ships.dm index 7f423165a75..a46ad717f6f 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/ships.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/ships.dm @@ -2,7 +2,7 @@ #error T_BOARD macro is not defined but we need it! #endif -/obj/item/weapon/circuitboard/pointdefense +/obj/item/circuitboard/pointdefense name = T_BOARD("point defense battery") board_type = new /datum/frame/frame_types/machine desc = "Control systems for a Kuiper pattern point defense battery. Aim away from vessel." @@ -10,11 +10,11 @@ origin_tech = list(TECH_ENGINEERING = 3, TECH_COMBAT = 2) req_components = list( /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser = 1, - /obj/item/weapon/stock_parts/manipulator = 2, - /obj/item/weapon/stock_parts/capacitor = 2, + /obj/item/stock_parts/manipulator = 2, + /obj/item/stock_parts/capacitor = 2, ) -/obj/item/weapon/circuitboard/pointdefense_control +/obj/item/circuitboard/pointdefense_control name = T_BOARD("fire assist mainframe") board_type = new /datum/frame/frame_types/machine desc = "A control computer to synchronize point defense batteries." diff --git a/code/game/objects/items/weapons/circuitboards/machinery/telecomms.dm b/code/game/objects/items/weapons/circuitboards/machinery/telecomms.dm index 856104dcce9..191a1f45166 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/telecomms.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/telecomms.dm @@ -2,99 +2,99 @@ #error T_BOARD macro is not defined but we need it! #endif -/obj/item/weapon/circuitboard/telecomms +/obj/item/circuitboard/telecomms board_type = new /datum/frame/frame_types/machine -/obj/item/weapon/circuitboard/telecomms/receiver +/obj/item/circuitboard/telecomms/receiver name = T_BOARD("subspace receiver") build_path = /obj/machinery/telecomms/receiver origin_tech = list(TECH_DATA = 4, TECH_ENGINEERING = 3, TECH_BLUESPACE = 2) req_components = list( - /obj/item/weapon/stock_parts/subspace/ansible = 1, - /obj/item/weapon/stock_parts/subspace/sub_filter = 1, - /obj/item/weapon/stock_parts/manipulator = 2, - /obj/item/weapon/stock_parts/micro_laser = 1) + /obj/item/stock_parts/subspace/ansible = 1, + /obj/item/stock_parts/subspace/sub_filter = 1, + /obj/item/stock_parts/manipulator = 2, + /obj/item/stock_parts/micro_laser = 1) -/obj/item/weapon/circuitboard/telecomms/hub +/obj/item/circuitboard/telecomms/hub name = T_BOARD("hub mainframe") build_path = /obj/machinery/telecomms/hub origin_tech = list(TECH_DATA = 4, TECH_ENGINEERING = 4) req_components = list( - /obj/item/weapon/stock_parts/manipulator = 2, + /obj/item/stock_parts/manipulator = 2, /obj/item/stack/cable_coil = 2, - /obj/item/weapon/stock_parts/subspace/sub_filter = 2) + /obj/item/stock_parts/subspace/sub_filter = 2) -/obj/item/weapon/circuitboard/telecomms/relay +/obj/item/circuitboard/telecomms/relay name = T_BOARD("relay mainframe") build_path = /obj/machinery/telecomms/relay origin_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 4, TECH_BLUESPACE = 3) req_components = list( - /obj/item/weapon/stock_parts/manipulator = 2, + /obj/item/stock_parts/manipulator = 2, /obj/item/stack/cable_coil = 2, - /obj/item/weapon/stock_parts/subspace/sub_filter = 2) + /obj/item/stock_parts/subspace/sub_filter = 2) -/obj/item/weapon/circuitboard/telecomms/bus +/obj/item/circuitboard/telecomms/bus name = T_BOARD("bus mainframe") build_path = /obj/machinery/telecomms/bus origin_tech = list(TECH_DATA = 4, TECH_ENGINEERING = 4) req_components = list( - /obj/item/weapon/stock_parts/manipulator = 2, + /obj/item/stock_parts/manipulator = 2, /obj/item/stack/cable_coil = 1, - /obj/item/weapon/stock_parts/subspace/sub_filter = 1) + /obj/item/stock_parts/subspace/sub_filter = 1) -/obj/item/weapon/circuitboard/telecomms/processor +/obj/item/circuitboard/telecomms/processor name = T_BOARD("processor unit") build_path = /obj/machinery/telecomms/processor origin_tech = list(TECH_DATA = 4, TECH_ENGINEERING = 4) req_components = list( - /obj/item/weapon/stock_parts/manipulator = 3, - /obj/item/weapon/stock_parts/subspace/sub_filter = 1, - /obj/item/weapon/stock_parts/subspace/treatment = 2, - /obj/item/weapon/stock_parts/subspace/analyzer = 1, + /obj/item/stock_parts/manipulator = 3, + /obj/item/stock_parts/subspace/sub_filter = 1, + /obj/item/stock_parts/subspace/treatment = 2, + /obj/item/stock_parts/subspace/analyzer = 1, /obj/item/stack/cable_coil = 2, - /obj/item/weapon/stock_parts/subspace/amplifier = 1) + /obj/item/stock_parts/subspace/amplifier = 1) -/obj/item/weapon/circuitboard/telecomms/server +/obj/item/circuitboard/telecomms/server name = T_BOARD("telecommunication server") build_path = /obj/machinery/telecomms/server origin_tech = list(TECH_DATA = 4, TECH_ENGINEERING = 4) req_components = list( - /obj/item/weapon/stock_parts/manipulator = 2, + /obj/item/stock_parts/manipulator = 2, /obj/item/stack/cable_coil = 1, - /obj/item/weapon/stock_parts/subspace/sub_filter = 1) + /obj/item/stock_parts/subspace/sub_filter = 1) -/obj/item/weapon/circuitboard/telecomms/broadcaster +/obj/item/circuitboard/telecomms/broadcaster name = T_BOARD("subspace broadcaster") build_path = /obj/machinery/telecomms/broadcaster origin_tech = list(TECH_DATA = 4, TECH_ENGINEERING = 4, TECH_BLUESPACE = 2) req_components = list( - /obj/item/weapon/stock_parts/manipulator = 2, + /obj/item/stock_parts/manipulator = 2, /obj/item/stack/cable_coil = 1, - /obj/item/weapon/stock_parts/subspace/sub_filter = 1, - /obj/item/weapon/stock_parts/subspace/crystal = 1, - /obj/item/weapon/stock_parts/micro_laser/high = 2) + /obj/item/stock_parts/subspace/sub_filter = 1, + /obj/item/stock_parts/subspace/crystal = 1, + /obj/item/stock_parts/micro_laser/high = 2) //This isn't a real telecomms board but I don't want to make a whole file to hold only one circuitboard. -/obj/item/weapon/circuitboard/telecomms/exonet_node +/obj/item/circuitboard/telecomms/exonet_node name = T_BOARD("exonet node") build_path = /obj/machinery/exonet_node origin_tech = list(TECH_DATA = 5, TECH_ENGINEERING = 5, TECH_BLUESPACE = 4) req_components = list( - /obj/item/weapon/stock_parts/subspace/ansible = 1, - /obj/item/weapon/stock_parts/subspace/sub_filter = 1, - /obj/item/weapon/stock_parts/manipulator = 2, - /obj/item/weapon/stock_parts/micro_laser = 1, - /obj/item/weapon/stock_parts/subspace/crystal = 1, - /obj/item/weapon/stock_parts/subspace/treatment = 2, + /obj/item/stock_parts/subspace/ansible = 1, + /obj/item/stock_parts/subspace/sub_filter = 1, + /obj/item/stock_parts/manipulator = 2, + /obj/item/stock_parts/micro_laser = 1, + /obj/item/stock_parts/subspace/crystal = 1, + /obj/item/stock_parts/subspace/treatment = 2, /obj/item/stack/cable_coil = 2) -/obj/item/weapon/circuitboard/telecomms/pda_multicaster +/obj/item/circuitboard/telecomms/pda_multicaster name = T_BOARD("pda multicaster") build_path = /obj/machinery/pda_multicaster origin_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 2, TECH_BLUESPACE = 2) req_components = list( - /obj/item/weapon/stock_parts/subspace/ansible = 1, - /obj/item/weapon/stock_parts/subspace/sub_filter = 1, - /obj/item/weapon/stock_parts/manipulator = 1, - /obj/item/weapon/stock_parts/subspace/treatment = 1, + /obj/item/stock_parts/subspace/ansible = 1, + /obj/item/stock_parts/subspace/sub_filter = 1, + /obj/item/stock_parts/manipulator = 1, + /obj/item/stock_parts/subspace/treatment = 1, /obj/item/stack/cable_coil = 2) \ No newline at end of file diff --git a/code/game/objects/items/weapons/circuitboards/machinery/unary_atmos.dm b/code/game/objects/items/weapons/circuitboards/machinery/unary_atmos.dm index 72febf566ab..4b99122287b 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/unary_atmos.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/unary_atmos.dm @@ -2,10 +2,10 @@ #error T_BOARD macro is not defined but we need it! #endif -/obj/item/weapon/circuitboard/unary_atmos +/obj/item/circuitboard/unary_atmos board_type = new /datum/frame/frame_types/machine -/obj/item/weapon/circuitboard/unary_atmos/construct(var/obj/machinery/atmospherics/unary/U) +/obj/item/circuitboard/unary_atmos/construct(var/obj/machinery/atmospherics/unary/U) //TODO: Move this stuff into the relevant constructor when pipe/construction.dm is cleaned up. U.atmos_init() U.build_network() @@ -13,21 +13,21 @@ U.node.atmos_init() U.node.build_network() -/obj/item/weapon/circuitboard/unary_atmos/heater +/obj/item/circuitboard/unary_atmos/heater name = T_BOARD("gas heating system") build_path = /obj/machinery/atmospherics/unary/heater origin_tech = list(TECH_POWER = 2, TECH_ENGINEERING = 1) req_components = list( /obj/item/stack/cable_coil = 5, - /obj/item/weapon/stock_parts/matter_bin = 1, - /obj/item/weapon/stock_parts/capacitor = 2) + /obj/item/stock_parts/matter_bin = 1, + /obj/item/stock_parts/capacitor = 2) -/obj/item/weapon/circuitboard/unary_atmos/cooler +/obj/item/circuitboard/unary_atmos/cooler name = T_BOARD("gas cooling system") build_path = /obj/machinery/atmospherics/unary/freezer origin_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2) req_components = list( /obj/item/stack/cable_coil = 2, - /obj/item/weapon/stock_parts/matter_bin = 1, - /obj/item/weapon/stock_parts/capacitor = 2, - /obj/item/weapon/stock_parts/manipulator = 1) + /obj/item/stock_parts/matter_bin = 1, + /obj/item/stock_parts/capacitor = 2, + /obj/item/stock_parts/manipulator = 1) diff --git a/code/game/objects/items/weapons/circuitboards/mecha.dm b/code/game/objects/items/weapons/circuitboards/mecha.dm index 777146f385d..dd3e06d3a75 100644 --- a/code/game/objects/items/weapons/circuitboards/mecha.dm +++ b/code/game/objects/items/weapons/circuitboards/mecha.dm @@ -3,125 +3,125 @@ #endif #define T_BOARD_MECHA(name) "exosuit module circuit board (" + (name) + ")" -/obj/item/weapon/circuitboard/mecha +/obj/item/circuitboard/mecha name = "exosuit circuit board" icon = 'icons/obj/module.dmi' icon_state = "std_mod" board_type = "other" -/obj/item/weapon/circuitboard/mecha/ripley +/obj/item/circuitboard/mecha/ripley origin_tech = list(TECH_DATA = 3) -/obj/item/weapon/circuitboard/mecha/ripley/peripherals +/obj/item/circuitboard/mecha/ripley/peripherals name = T_BOARD_MECHA("Ripley peripherals control") icon_state = "mcontroller" -/obj/item/weapon/circuitboard/mecha/ripley/main +/obj/item/circuitboard/mecha/ripley/main name = T_BOARD_MECHA("Ripley central control") icon_state = "mainboard" -/obj/item/weapon/circuitboard/mecha/gygax +/obj/item/circuitboard/mecha/gygax origin_tech = list(TECH_DATA = 4) -/obj/item/weapon/circuitboard/mecha/gygax/peripherals +/obj/item/circuitboard/mecha/gygax/peripherals name = T_BOARD_MECHA("Gygax peripherals control") icon_state = "mcontroller" -/obj/item/weapon/circuitboard/mecha/gygax/targeting +/obj/item/circuitboard/mecha/gygax/targeting name = T_BOARD_MECHA("Gygax weapon control and targeting") icon_state = "mcontroller" origin_tech = list(TECH_DATA = 4, TECH_COMBAT = 4) -/obj/item/weapon/circuitboard/mecha/gygax/medical +/obj/item/circuitboard/mecha/gygax/medical name = T_BOARD_MECHA("Serenity medical control") icon_state = "mcontroller" origin_tech = list(TECH_DATA = 4, TECH_BIO = 4) -/obj/item/weapon/circuitboard/mecha/gygax/main +/obj/item/circuitboard/mecha/gygax/main name = T_BOARD_MECHA("Gygax central control") icon_state = "mainboard" -/obj/item/weapon/circuitboard/mecha/durand +/obj/item/circuitboard/mecha/durand origin_tech = list(TECH_DATA = 4) -/obj/item/weapon/circuitboard/mecha/durand/peripherals +/obj/item/circuitboard/mecha/durand/peripherals name = T_BOARD_MECHA("Durand peripherals control") icon_state = "mcontroller" -/obj/item/weapon/circuitboard/mecha/durand/targeting +/obj/item/circuitboard/mecha/durand/targeting name = T_BOARD_MECHA("Durand weapon control and targeting") icon_state = "mcontroller" origin_tech = list(TECH_DATA = 4, TECH_COMBAT = 4) -/obj/item/weapon/circuitboard/mecha/durand/main +/obj/item/circuitboard/mecha/durand/main name = T_BOARD_MECHA("Durand central control") icon_state = "mainboard" -/obj/item/weapon/circuitboard/mecha/phazon +/obj/item/circuitboard/mecha/phazon -/obj/item/weapon/circuitboard/mecha/phazon/peripherals +/obj/item/circuitboard/mecha/phazon/peripherals name = T_BOARD_MECHA("Phazon peripherals control") icon_state = "mcontroller" origin_tech = list(TECH_DATA = 6, TECH_ILLEGAL = 6) -/obj/item/weapon/circuitboard/mecha/phazon/targeting +/obj/item/circuitboard/mecha/phazon/targeting name = T_BOARD_MECHA("Phazon weapon control and targeting") icon_state = "mcontroller" origin_tech = list(TECH_DATA = 6, TECH_COMBAT = 7) -/obj/item/weapon/circuitboard/mecha/phazon/main +/obj/item/circuitboard/mecha/phazon/main name = T_BOARD_MECHA("Phazon central control") origin_tech = list(TECH_DATA = 6, TECH_BLUESPACE = 5) icon_state = "mainboard" -/obj/item/weapon/circuitboard/mecha/honker +/obj/item/circuitboard/mecha/honker origin_tech = list(TECH_DATA = 4) -/obj/item/weapon/circuitboard/mecha/honker/peripherals +/obj/item/circuitboard/mecha/honker/peripherals name = T_BOARD_MECHA("H.O.N.K peripherals control") icon_state = "mcontroller" -/obj/item/weapon/circuitboard/mecha/honker/targeting +/obj/item/circuitboard/mecha/honker/targeting name = T_BOARD_MECHA("H.O.N.K weapon control and targeting") icon_state = "mcontroller" -/obj/item/weapon/circuitboard/mecha/honker/main +/obj/item/circuitboard/mecha/honker/main name = T_BOARD_MECHA("H.O.N.K central control") icon_state = "mainboard" -/obj/item/weapon/circuitboard/mecha/odysseus +/obj/item/circuitboard/mecha/odysseus origin_tech = list(TECH_DATA = 3) -/obj/item/weapon/circuitboard/mecha/odysseus/peripherals +/obj/item/circuitboard/mecha/odysseus/peripherals name = T_BOARD_MECHA("Odysseus peripherals control") icon_state = "mcontroller" -/obj/item/weapon/circuitboard/mecha/odysseus/main +/obj/item/circuitboard/mecha/odysseus/main name = T_BOARD_MECHA("Odysseus central control") icon_state = "mainboard" -/obj/item/weapon/circuitboard/mecha/imperion +/obj/item/circuitboard/mecha/imperion name = "Alien Circuit" origin_tech = list(TECH_DATA = 5, TECH_BLUESPACE = 3, TECH_PRECURSOR = 1) icon = 'icons/obj/abductor.dmi' icon_state = "circuit" -/obj/item/weapon/circuitboard/mecha/imperion/main - desc = "It is marked with a strange glyph." +/obj/item/circuitboard/mecha/imperion/main + desc = "It is marked with a " + span_alien("strange glyph") + "." -/obj/item/weapon/circuitboard/mecha/imperion/peripherals - desc = "It is marked with a pulsing glyph." +/obj/item/circuitboard/mecha/imperion/peripherals + desc = "It is marked with a " + span_alien("pulsing glyph") + "." -/obj/item/weapon/circuitboard/mecha/imperion/targeting - desc = "It is marked with an ominous glyph." +/obj/item/circuitboard/mecha/imperion/targeting + desc = "It is marked with an " + span_alien("ominous glyph") + "." -/obj/item/weapon/circuitboard/mecha/imperion/phasing - desc = "It is marked with a disturbing glyph." +/obj/item/circuitboard/mecha/imperion/phasing + desc = "It is marked with a " + span_alien("disturbing glyph") + "." -/obj/item/weapon/circuitboard/mecha/imperion/damaged +/obj/item/circuitboard/mecha/imperion/damaged name = "Damaged Alien Circuit" - desc = "It is marked with a constantly shifting glyph." + desc = "It is marked with a " + span_alien("constantly shifting glyph") + "." origin_tech = list(TECH_DATA = 3, TECH_BLUESPACE = 1, TECH_PRECURSOR = 2) //Undef the macro, shouldn't be needed anywhere else diff --git a/code/game/objects/items/weapons/circuitboards/other.dm b/code/game/objects/items/weapons/circuitboards/other.dm index 7770c71c8e2..cc141fe64f2 100644 --- a/code/game/objects/items/weapons/circuitboards/other.dm +++ b/code/game/objects/items/weapons/circuitboards/other.dm @@ -4,16 +4,16 @@ //Stuff that doesn't fit into any category goes here -/obj/item/weapon/circuitboard/aicore +/obj/item/circuitboard/aicore name = T_BOARD("AI core") origin_tech = list(TECH_DATA = 4, TECH_BIO = 2) board_type = "other" -/obj/item/weapon/circuitboard/chem_master +/obj/item/circuitboard/chem_master name = T_BOARD("ChemMaster 3000") build_path = /obj/machinery/chem_master board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_DATA = 3, TECH_MAGNET = 2) req_components = list( - /obj/item/weapon/stock_parts/matter_bin = 2, - /obj/item/weapon/stock_parts/manipulator = 2) \ No newline at end of file + /obj/item/stock_parts/matter_bin = 2, + /obj/item/stock_parts/manipulator = 2) \ No newline at end of file diff --git a/code/game/objects/items/weapons/clown_items.dm b/code/game/objects/items/weapons/clown_items.dm index e3a12284704..eb4a1d05a2e 100644 --- a/code/game/objects/items/weapons/clown_items.dm +++ b/code/game/objects/items/weapons/clown_items.dm @@ -8,7 +8,7 @@ /* * Banana Peels */ -/obj/item/weapon/bananapeel/Crossed(atom/movable/AM as mob|obj) +/obj/item/bananapeel/Crossed(atom/movable/AM as mob|obj) if(AM.is_incorporeal()) return if(istype(AM, /mob/living)) @@ -17,50 +17,50 @@ /* * Soap */ -/obj/item/weapon/soap/Initialize() +/obj/item/soap/Initialize() . = ..() create_reagents(5) wet() -/obj/item/weapon/soap/proc/wet() +/obj/item/soap/proc/wet() reagents.add_reagent("cleaner", 5) -/obj/item/weapon/soap/Crossed(atom/movable/AM as mob|obj) +/obj/item/soap/Crossed(atom/movable/AM as mob|obj) if(AM.is_incorporeal()) return if(istype(AM, /mob/living)) var/mob/living/M = AM M.slip("the [src.name]",3) -/obj/item/weapon/soap/afterattack(atom/target, mob/user as mob, proximity) +/obj/item/soap/afterattack(atom/target, mob/user as mob, proximity) if(!proximity) return //I couldn't feasibly fix the overlay bugs caused by cleaning items we are wearing. //So this is a workaround. This also makes more sense from an IC standpoint. ~Carn if(user.client && (target in user.client.screen)) - to_chat(user, "You need to take that [target.name] off before cleaning it.") + to_chat(user, span_notice("You need to take that [target.name] off before cleaning it.")) else if(istype(target,/obj/effect/decal/cleanable/blood)) - to_chat(user, "You scrub \the [target.name] out.") + to_chat(user, span_notice("You scrub \the [target.name] out.")) target.clean_blood() return //Blood is a cleanable decal, therefore needs to be accounted for before all cleanable decals. else if(istype(target,/obj/effect/decal/cleanable)) - to_chat(user, "You scrub \the [target.name] out.") + to_chat(user, span_notice("You scrub \the [target.name] out.")) qdel(target) else if(istype(target,/turf)) - to_chat(user, "You scrub \the [target.name] clean.") + to_chat(user, span_notice("You scrub \the [target.name] clean.")) var/turf/T = target T.clean(src, user) else if(istype(target,/obj/structure/sink)) - to_chat(user, "You wet \the [src] in the sink.") + to_chat(user, span_notice("You wet \the [src] in the sink.")) wet() else - to_chat(user, "You clean \the [target.name].") + to_chat(user, span_notice("You clean \the [target.name].")) target.clean_blood(TRUE) return //attack_as_weapon -/obj/item/weapon/soap/attack(mob/living/target, mob/living/user, var/target_zone) +/obj/item/soap/attack(mob/living/target, mob/living/user, var/target_zone) if(target && user && ishuman(target) && ishuman(user) && !user.incapacitated() && user.zone_sel &&user.zone_sel.selecting == "mouth" ) - user.visible_message("\The [user] washes \the [target]'s mouth out with soap!") + user.visible_message(span_danger("\The [user] washes \the [target]'s mouth out with soap!")) user.setClickCooldown(DEFAULT_QUICK_COOLDOWN) //prevent spam return ..() @@ -68,10 +68,10 @@ /* * Bike Horns */ -/obj/item/weapon/bikehorn +/obj/item/bikehorn var/honk_sound = 'sound/items/bikehorn.ogg' -/obj/item/weapon/bikehorn/attack_self(mob/user as mob) +/obj/item/bikehorn/attack_self(mob/user as mob) if(spam_flag == 0) spam_flag = 1 playsound(src, honk_sound, 50, 1) @@ -80,7 +80,7 @@ spam_flag = 0 return -/obj/item/weapon/bikehorn/Crossed(atom/movable/AM as mob|obj) +/obj/item/bikehorn/Crossed(atom/movable/AM as mob|obj) if(AM.is_incorporeal()) return if(istype(AM, /mob/living)) diff --git a/code/game/objects/items/weapons/cosmetics.dm b/code/game/objects/items/weapons/cosmetics.dm index 6a899d9a700..aa225cc2d1c 100644 --- a/code/game/objects/items/weapons/cosmetics.dm +++ b/code/game/objects/items/weapons/cosmetics.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/lipstick +/obj/item/lipstick gender = PLURAL name = "red lipstick" desc = "A generic brand of lipstick." @@ -11,34 +11,34 @@ drop_sound = 'sound/items/drop/glass.ogg' pickup_sound = 'sound/items/pickup/glass.ogg' -/obj/item/weapon/lipstick/purple +/obj/item/lipstick/purple name = "purple lipstick" colour = "purple" -/obj/item/weapon/lipstick/jade +/obj/item/lipstick/jade name = "jade lipstick" colour = "jade" -/obj/item/weapon/lipstick/black +/obj/item/lipstick/black name = "black lipstick" colour = "black" -/obj/item/weapon/lipstick/random +/obj/item/lipstick/random name = "lipstick" -/obj/item/weapon/lipstick/random/New() +/obj/item/lipstick/random/New() colour = pick("red","purple","jade","black") name = "[colour] lipstick" -/obj/item/weapon/lipstick/attack_self(mob/user as mob) - to_chat(user, "You twist \the [src] [open ? "closed" : "open"].") +/obj/item/lipstick/attack_self(mob/user as mob) + to_chat(user, span_notice("You twist \the [src] [open ? "closed" : "open"].")) open = !open if(open) icon_state = "[initial(icon_state)]_[colour]" else icon_state = initial(icon_state) -/obj/item/weapon/lipstick/attack(mob/M as mob, mob/user as mob) +/obj/item/lipstick/attack(mob/M as mob, mob/user as mob) if(!open) return if(!istype(M, /mob)) return @@ -46,27 +46,27 @@ if(ishuman(M)) var/mob/living/carbon/human/H = M if(H.lip_style) //if they already have lipstick on - to_chat(user, "You need to wipe off the old lipstick first!") + to_chat(user, span_notice("You need to wipe off the old lipstick first!")) return if(H == user) - user.visible_message("[user] does their lips with \the [src].", \ - "You take a moment to apply \the [src]. Perfect!") + user.visible_message(span_notice("[user] does their lips with \the [src]."), \ + span_notice("You take a moment to apply \the [src]. Perfect!")) H.lip_style = colour H.update_icons_body() else - user.visible_message("[user] begins to do [H]'s lips with \the [src].", \ - "You begin to apply \the [src].") + user.visible_message(span_warning("[user] begins to do [H]'s lips with \the [src]."), \ + span_notice("You begin to apply \the [src].")) if(do_after(user, 20, H)) //user needs to keep their active hand, H does not. - user.visible_message("[user] does [H]'s lips with \the [src].", \ - "You apply \the [src].") + user.visible_message(span_notice("[user] does [H]'s lips with \the [src]."), \ + span_notice("You apply \the [src].")) H.lip_style = colour H.update_icons_body() else - to_chat(user, "Where are the lips on that?") + to_chat(user, span_notice("Where are the lips on that?")) //you can wipe off lipstick with paper! see code/modules/paperwork/paper.dm, paper/attack() -/obj/item/weapon/haircomb //sparklysheep's comb +/obj/item/haircomb //sparklysheep's comb name = "purple comb" desc = "A pristine purple comb made from flexible plastic." w_class = ITEMSIZE_TINY @@ -74,7 +74,7 @@ icon = 'icons/obj/items.dmi' icon_state = "purplecomb" -/obj/item/weapon/haircomb/attack_self(mob/living/user) +/obj/item/haircomb/attack_self(mob/living/user) var/text = "person" if(ishuman(user)) var/mob/living/carbon/human/U = user @@ -89,9 +89,9 @@ text = "guy" if(FEMALE) text = "lady" - user.visible_message("[user] uses [src] to comb their hair with incredible style and sophistication. What a [text].") + user.visible_message(span_notice("[user] uses [src] to comb their hair with incredible style and sophistication. What a [text].")) -/obj/item/weapon/makeover +/obj/item/makeover name = "makeover kit" desc = "A tiny case containing a mirror and some contact lenses." w_class = ITEMSIZE_TINY @@ -99,15 +99,15 @@ icon_state = "trinketbox" var/datum/tgui_module/appearance_changer/mirror/coskit/M -/obj/item/weapon/makeover/Initialize() +/obj/item/makeover/Initialize() . = ..() M = new(src, null) -/obj/item/weapon/makeover/attack_self(mob/living/carbon/user as mob) +/obj/item/makeover/attack_self(mob/living/carbon/user as mob) if(ishuman(user)) - to_chat(user, "You flip open \the [src] and begin to adjust your appearance.") + to_chat(user, span_notice("You flip open \the [src] and begin to adjust your appearance.")) M.tgui_interact(user) var/mob/living/carbon/human/H = user var/obj/item/organ/internal/eyes/E = H.internal_organs_by_name[O_EYES] if(istype(E)) - E.change_eye_color() \ No newline at end of file + E.change_eye_color() diff --git a/code/game/objects/items/weapons/dna_injector.dm b/code/game/objects/items/weapons/dna_injector.dm index ceafb06c73e..1348a5860c0 100644 --- a/code/game/objects/items/weapons/dna_injector.dm +++ b/code/game/objects/items/weapons/dna_injector.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/dnainjector +/obj/item/dnainjector name = "\improper DNA injector" desc = "This injects the person with DNA." icon = 'icons/obj/items.dmi' @@ -19,7 +19,7 @@ var/datatype=0 var/value=0 -/obj/item/weapon/dnainjector/New() +/obj/item/dnainjector/New() if(datatype && block) buf=new buf.dna=new @@ -29,41 +29,41 @@ SetValue(src.value) //testing("[name]: DNA2 SE blocks after SetValue: [english_list(buf.dna.SE)]") -/obj/item/weapon/dnainjector/proc/GetRealBlock(var/selblock) +/obj/item/dnainjector/proc/GetRealBlock(var/selblock) if(selblock==0) return block else return selblock -/obj/item/weapon/dnainjector/proc/GetState(var/selblock=0) +/obj/item/dnainjector/proc/GetState(var/selblock=0) var/real_block=GetRealBlock(selblock) if(buf.types&DNA2_BUF_SE) return buf.dna.GetSEState(real_block) else return buf.dna.GetUIState(real_block) -/obj/item/weapon/dnainjector/proc/SetState(var/on, var/selblock=0) +/obj/item/dnainjector/proc/SetState(var/on, var/selblock=0) var/real_block=GetRealBlock(selblock) if(buf.types&DNA2_BUF_SE) return buf.dna.SetSEState(real_block,on) else return buf.dna.SetUIState(real_block,on) -/obj/item/weapon/dnainjector/proc/GetValue(var/selblock=0) +/obj/item/dnainjector/proc/GetValue(var/selblock=0) var/real_block=GetRealBlock(selblock) if(buf.types&DNA2_BUF_SE) return buf.dna.GetSEValue(real_block) else return buf.dna.GetUIValue(real_block) -/obj/item/weapon/dnainjector/proc/SetValue(var/val,var/selblock=0) +/obj/item/dnainjector/proc/SetValue(var/val,var/selblock=0) var/real_block=GetRealBlock(selblock) if(buf.types&DNA2_BUF_SE) return buf.dna.SetSEValue(real_block,val) else return buf.dna.SetUIValue(real_block,val) -/obj/item/weapon/dnainjector/proc/inject(mob/M as mob, mob/user as mob) +/obj/item/dnainjector/proc/inject(mob/M as mob, mob/user as mob) if(istype(M,/mob/living)) var/mob/living/L = M L.apply_effect(rand(5,20), IRRADIATE, check_protection = 0) @@ -98,15 +98,15 @@ qdel(src) return uses -/obj/item/weapon/dnainjector/attack(mob/M as mob, mob/user as mob) +/obj/item/dnainjector/attack(mob/M as mob, mob/user as mob) if (!istype(M, /mob)) return - if (!usr.IsAdvancedToolUser()) + if (!user.IsAdvancedToolUser()) return if(inuse) return 0 - user.visible_message("\The [user] is trying to inject \the [M] with \the [src]!") + user.visible_message(span_danger("\The [user] is trying to inject \the [M] with \the [src]!")) inuse = 1 s_time = world.time spawn(50) @@ -118,17 +118,17 @@ user.setClickCooldown(DEFAULT_QUICK_COOLDOWN) user.do_attack_animation(M) - M.visible_message("\The [M] has been injected with \the [src] by \the [user].") + M.visible_message(span_danger("\The [M] has been injected with \the [src] by \the [user].")) var/mob/living/carbon/human/H = M if(!istype(H)) - to_chat(user, "Apparently it didn't work...") + to_chat(user, span_warning("Apparently it didn't work...")) return // Used by admin log. var/injected_with_monkey = "" if((buf.types & DNA2_BUF_SE) && (block ? (GetState() && block == MONKEYBLOCK) : GetState(MONKEYBLOCK))) - injected_with_monkey = " (MONKEY)" + injected_with_monkey = span_danger("(MONKEY)") add_attack_logs(user,M,"[injected_with_monkey] used the [name] on") @@ -136,443 +136,443 @@ inject(M, user) return -/obj/item/weapon/dnainjector/hulkmut +/obj/item/dnainjector/hulkmut name = "\improper DNA injector (Hulk)" desc = "This will make you big and strong, but give you a bad skin condition." datatype = DNA2_BUF_SE value = 0xFFF -/obj/item/weapon/dnainjector/hulkmut/New() +/obj/item/dnainjector/hulkmut/New() block = HULKBLOCK ..() -/obj/item/weapon/dnainjector/antihulk +/obj/item/dnainjector/antihulk name = "\improper DNA injector (Anti-Hulk)" desc = "Cures green skin." datatype = DNA2_BUF_SE value = 0x001 -/obj/item/weapon/dnainjector/antihulk/New() +/obj/item/dnainjector/antihulk/New() block = HULKBLOCK ..() -/obj/item/weapon/dnainjector/xraymut +/obj/item/dnainjector/xraymut name = "\improper DNA injector (Xray)" - desc = "Finally you can see what the Site Manager does." + desc = "Finally you can see what the " + JOB_SITE_MANAGER + " does." datatype = DNA2_BUF_SE value = 0xFFF -/obj/item/weapon/dnainjector/xraymut/New() +/obj/item/dnainjector/xraymut/New() block = XRAYBLOCK ..() -/obj/item/weapon/dnainjector/antixray +/obj/item/dnainjector/antixray name = "\improper DNA injector (Anti-Xray)" desc = "It will make you see harder." datatype = DNA2_BUF_SE value = 0x001 -/obj/item/weapon/dnainjector/antixray/New() +/obj/item/dnainjector/antixray/New() block = XRAYBLOCK ..() -/obj/item/weapon/dnainjector/firemut +/obj/item/dnainjector/firemut name = "\improper DNA injector (Fire)" desc = "Gives you fire." datatype = DNA2_BUF_SE value = 0xFFF -/obj/item/weapon/dnainjector/firemut/New() +/obj/item/dnainjector/firemut/New() block = FIREBLOCK ..() -/obj/item/weapon/dnainjector/antifire +/obj/item/dnainjector/antifire name = "\improper DNA injector (Anti-Fire)" desc = "Cures fire." datatype = DNA2_BUF_SE value = 0x001 -/obj/item/weapon/dnainjector/antifire/New() +/obj/item/dnainjector/antifire/New() block = FIREBLOCK ..() -/obj/item/weapon/dnainjector/telemut +/obj/item/dnainjector/telemut name = "\improper DNA injector (Tele.)" desc = "Super brain man!" datatype = DNA2_BUF_SE value = 0xFFF -/obj/item/weapon/dnainjector/telemut/New() +/obj/item/dnainjector/telemut/New() block = TELEBLOCK ..() -/obj/item/weapon/dnainjector/antitele +/obj/item/dnainjector/antitele name = "\improper DNA injector (Anti-Tele.)" desc = "Will make you not able to control your mind." datatype = DNA2_BUF_SE value = 0x001 -/obj/item/weapon/dnainjector/antitele/New() +/obj/item/dnainjector/antitele/New() block = TELEBLOCK ..() -/obj/item/weapon/dnainjector/nobreath +/obj/item/dnainjector/nobreath name = "\improper DNA injector (No Breath)" desc = "Hold your breath and count to infinity." datatype = DNA2_BUF_SE value = 0xFFF -/obj/item/weapon/dnainjector/nobreath/New() +/obj/item/dnainjector/nobreath/New() block = NOBREATHBLOCK ..() -/obj/item/weapon/dnainjector/antinobreath +/obj/item/dnainjector/antinobreath name = "\improper DNA injector (Anti-No Breath)" desc = "Hold your breath and count to 100." datatype = DNA2_BUF_SE value = 0x001 -/obj/item/weapon/dnainjector/antinobreath/New() +/obj/item/dnainjector/antinobreath/New() block = NOBREATHBLOCK ..() -/obj/item/weapon/dnainjector/remoteview +/obj/item/dnainjector/remoteview name = "\improper DNA injector (Remote View)" desc = "Stare into the distance for a reason." datatype = DNA2_BUF_SE value = 0xFFF -/obj/item/weapon/dnainjector/remoteview/New() +/obj/item/dnainjector/remoteview/New() block = REMOTEVIEWBLOCK ..() -/obj/item/weapon/dnainjector/antiremoteview +/obj/item/dnainjector/antiremoteview name = "\improper DNA injector (Anti-Remote View)" desc = "Cures green skin." datatype = DNA2_BUF_SE value = 0x001 -/obj/item/weapon/dnainjector/antiremoteview/New() +/obj/item/dnainjector/antiremoteview/New() block = REMOTEVIEWBLOCK ..() -/obj/item/weapon/dnainjector/regenerate +/obj/item/dnainjector/regenerate name = "\improper DNA injector (Regeneration)" desc = "Healthy but hungry." datatype = DNA2_BUF_SE value = 0xFFF -/obj/item/weapon/dnainjector/regenerate/New() +/obj/item/dnainjector/regenerate/New() block = REGENERATEBLOCK ..() -/obj/item/weapon/dnainjector/antiregenerate +/obj/item/dnainjector/antiregenerate name = "\improper DNA injector (Anti-Regeneration)" desc = "Sickly but sated." datatype = DNA2_BUF_SE value = 0x001 -/obj/item/weapon/dnainjector/antiregenerate/New() +/obj/item/dnainjector/antiregenerate/New() block = REGENERATEBLOCK ..() -/obj/item/weapon/dnainjector/runfast +/obj/item/dnainjector/runfast name = "\improper DNA injector (Increase Run)" desc = "Running Man." datatype = DNA2_BUF_SE value = 0xFFF -/obj/item/weapon/dnainjector/runfast/New() +/obj/item/dnainjector/runfast/New() block = INCREASERUNBLOCK ..() -/obj/item/weapon/dnainjector/antirunfast +/obj/item/dnainjector/antirunfast name = "\improper DNA injector (Anti-Increase Run)" desc = "Walking Man." datatype = DNA2_BUF_SE value = 0x001 -/obj/item/weapon/dnainjector/antirunfast/New() +/obj/item/dnainjector/antirunfast/New() block = INCREASERUNBLOCK ..() -/obj/item/weapon/dnainjector/morph +/obj/item/dnainjector/morph name = "\improper DNA injector (Morph)" desc = "A total makeover." datatype = DNA2_BUF_SE value = 0xFFF -/obj/item/weapon/dnainjector/morph/New() +/obj/item/dnainjector/morph/New() block = MORPHBLOCK ..() -/obj/item/weapon/dnainjector/antimorph +/obj/item/dnainjector/antimorph name = "\improper DNA injector (Anti-Morph)" desc = "Cures identity crisis." datatype = DNA2_BUF_SE value = 0x001 -/obj/item/weapon/dnainjector/antimorph/New() +/obj/item/dnainjector/antimorph/New() block = MORPHBLOCK ..() -/obj/item/weapon/dnainjector/noprints +/obj/item/dnainjector/noprints name = "\improper DNA injector (No Prints)" desc = "Better than a pair of budget insulated gloves." datatype = DNA2_BUF_SE value = 0xFFF -/obj/item/weapon/dnainjector/noprints/New() +/obj/item/dnainjector/noprints/New() block = NOPRINTSBLOCK ..() -/obj/item/weapon/dnainjector/antinoprints +/obj/item/dnainjector/antinoprints name = "\improper DNA injector (Anti-No Prints)" desc = "Not quite as good as a pair of budget insulated gloves." datatype = DNA2_BUF_SE value = 0x001 -/obj/item/weapon/dnainjector/antinoprints/New() +/obj/item/dnainjector/antinoprints/New() block = NOPRINTSBLOCK ..() -/obj/item/weapon/dnainjector/insulation +/obj/item/dnainjector/insulation name = "\improper DNA injector (Shock Immunity)" desc = "Better than a pair of real insulated gloves." datatype = DNA2_BUF_SE value = 0xFFF -/obj/item/weapon/dnainjector/insulation/New() +/obj/item/dnainjector/insulation/New() block = SHOCKIMMUNITYBLOCK ..() -/obj/item/weapon/dnainjector/antiinsulation +/obj/item/dnainjector/antiinsulation name = "\improper DNA injector (Anti-Shock Immunity)" desc = "Not quite as good as a pair of real insulated gloves." datatype = DNA2_BUF_SE value = 0x001 -/obj/item/weapon/dnainjector/antiinsulation/New() +/obj/item/dnainjector/antiinsulation/New() block = SHOCKIMMUNITYBLOCK ..() -/obj/item/weapon/dnainjector/midgit +/obj/item/dnainjector/midgit name = "\improper DNA injector (Small Size)" desc = "Makes you shrink." datatype = DNA2_BUF_SE value = 0xFFF -/obj/item/weapon/dnainjector/midgit/New() +/obj/item/dnainjector/midgit/New() block = SMALLSIZEBLOCK ..() -/obj/item/weapon/dnainjector/antimidgit +/obj/item/dnainjector/antimidgit name = "\improper DNA injector (Anti-Small Size)" desc = "Makes you grow. But not too much." datatype = DNA2_BUF_SE value = 0x001 -/obj/item/weapon/dnainjector/antimidgit/New() +/obj/item/dnainjector/antimidgit/New() block = SMALLSIZEBLOCK ..() ///////////////////////////////////// -/obj/item/weapon/dnainjector/antiglasses +/obj/item/dnainjector/antiglasses name = "\improper DNA injector (Anti-Glasses)" desc = "Toss away those glasses!" datatype = DNA2_BUF_SE value = 0x001 -/obj/item/weapon/dnainjector/antiglasses/New() +/obj/item/dnainjector/antiglasses/New() block = GLASSESBLOCK ..() -/obj/item/weapon/dnainjector/glassesmut +/obj/item/dnainjector/glassesmut name = "\improper DNA injector (Glasses)" desc = "Will make you need dorkish glasses." datatype = DNA2_BUF_SE value = 0xFFF -/obj/item/weapon/dnainjector/glassesmut/New() +/obj/item/dnainjector/glassesmut/New() block = GLASSESBLOCK ..() -/obj/item/weapon/dnainjector/epimut +/obj/item/dnainjector/epimut name = "\improper DNA injector (Epi.)" desc = "Shake shake shake the room!" datatype = DNA2_BUF_SE value = 0xFFF -/obj/item/weapon/dnainjector/epimut/New() +/obj/item/dnainjector/epimut/New() block = HEADACHEBLOCK ..() -/obj/item/weapon/dnainjector/antiepi +/obj/item/dnainjector/antiepi name = "\improper DNA injector (Anti-Epi.)" desc = "Will fix you up from shaking the room." datatype = DNA2_BUF_SE value = 0x001 -/obj/item/weapon/dnainjector/antiepi/New() +/obj/item/dnainjector/antiepi/New() block = HEADACHEBLOCK ..() -/obj/item/weapon/dnainjector/anticough +/obj/item/dnainjector/anticough name = "\improper DNA injector (Anti-Cough)" desc = "Will stop that awful noise." datatype = DNA2_BUF_SE value = 0x001 -/obj/item/weapon/dnainjector/anticough/New() +/obj/item/dnainjector/anticough/New() block = COUGHBLOCK ..() -/obj/item/weapon/dnainjector/coughmut +/obj/item/dnainjector/coughmut name = "\improper DNA injector (Cough)" desc = "Will bring forth a sound of horror from your throat." datatype = DNA2_BUF_SE value = 0xFFF -/obj/item/weapon/dnainjector/coughmut/New() +/obj/item/dnainjector/coughmut/New() block = COUGHBLOCK ..() -/obj/item/weapon/dnainjector/clumsymut +/obj/item/dnainjector/clumsymut name = "\improper DNA injector (Clumsy)" desc = "Makes clumsy minions." datatype = DNA2_BUF_SE value = 0xFFF -/obj/item/weapon/dnainjector/clumsymut/New() +/obj/item/dnainjector/clumsymut/New() block = CLUMSYBLOCK ..() -/obj/item/weapon/dnainjector/anticlumsy +/obj/item/dnainjector/anticlumsy name = "\improper DNA injector (Anti-Clumy)" desc = "Cleans up confusion." datatype = DNA2_BUF_SE value = 0x001 -/obj/item/weapon/dnainjector/anticlumsy/New() +/obj/item/dnainjector/anticlumsy/New() block = CLUMSYBLOCK ..() -/obj/item/weapon/dnainjector/antitour +/obj/item/dnainjector/antitour name = "\improper DNA injector (Anti-Tour.)" desc = "Will cure tourrets." datatype = DNA2_BUF_SE value = 0x001 -/obj/item/weapon/dnainjector/antitour/New() +/obj/item/dnainjector/antitour/New() block = TWITCHBLOCK ..() -/obj/item/weapon/dnainjector/tourmut +/obj/item/dnainjector/tourmut name = "\improper DNA injector (Tour.)" desc = "Gives you a nasty case off tourrets." datatype = DNA2_BUF_SE value = 0xFFF -/obj/item/weapon/dnainjector/tourmut/New() +/obj/item/dnainjector/tourmut/New() block = TWITCHBLOCK ..() -/obj/item/weapon/dnainjector/stuttmut +/obj/item/dnainjector/stuttmut name = "\improper DNA injector (Stutt.)" desc = "Makes you s-s-stuttterrr" datatype = DNA2_BUF_SE value = 0xFFF -/obj/item/weapon/dnainjector/stuttmut/New() +/obj/item/dnainjector/stuttmut/New() block = NERVOUSBLOCK ..() -/obj/item/weapon/dnainjector/antistutt +/obj/item/dnainjector/antistutt name = "\improper DNA injector (Anti-Stutt.)" desc = "Fixes that speaking impairment." datatype = DNA2_BUF_SE value = 0x001 -/obj/item/weapon/dnainjector/antistutt/New() +/obj/item/dnainjector/antistutt/New() block = NERVOUSBLOCK ..() -/obj/item/weapon/dnainjector/blindmut +/obj/item/dnainjector/blindmut name = "\improper DNA injector (Blind)" desc = "Makes you not see anything." datatype = DNA2_BUF_SE value = 0xFFF -/obj/item/weapon/dnainjector/blindmut/New() +/obj/item/dnainjector/blindmut/New() block = BLINDBLOCK ..() -/obj/item/weapon/dnainjector/antiblind +/obj/item/dnainjector/antiblind name = "\improper DNA injector (Anti-Blind)" desc = "ITS A MIRACLE!!!" datatype = DNA2_BUF_SE value = 0x001 -/obj/item/weapon/dnainjector/antiblind/New() +/obj/item/dnainjector/antiblind/New() block = BLINDBLOCK ..() -/obj/item/weapon/dnainjector/deafmut +/obj/item/dnainjector/deafmut name = "\improper DNA injector (Deaf)" desc = "Sorry, what did you say?" datatype = DNA2_BUF_SE value = 0xFFF -/obj/item/weapon/dnainjector/deafmut/New() +/obj/item/dnainjector/deafmut/New() block = DEAFBLOCK ..() -/obj/item/weapon/dnainjector/antideaf +/obj/item/dnainjector/antideaf name = "\improper DNA injector (Anti-Deaf)" desc = "Will make you hear once more." datatype = DNA2_BUF_SE value = 0x001 -/obj/item/weapon/dnainjector/antideaf/New() +/obj/item/dnainjector/antideaf/New() block = DEAFBLOCK ..() -/obj/item/weapon/dnainjector/hallucination +/obj/item/dnainjector/hallucination name = "\improper DNA injector (Halluctination)" desc = "What you see isn't always what you get." datatype = DNA2_BUF_SE value = 0xFFF -/obj/item/weapon/dnainjector/hallucination/New() +/obj/item/dnainjector/hallucination/New() block = HALLUCINATIONBLOCK ..() -/obj/item/weapon/dnainjector/antihallucination +/obj/item/dnainjector/antihallucination name = "\improper DNA injector (Anti-Hallucination)" desc = "What you see is what you get." datatype = DNA2_BUF_SE value = 0x001 -/obj/item/weapon/dnainjector/antihallucination/New() +/obj/item/dnainjector/antihallucination/New() block = HALLUCINATIONBLOCK ..() -/obj/item/weapon/dnainjector/h2m +/obj/item/dnainjector/h2m name = "\improper DNA injector (Human > Monkey)" desc = "Will make you a flea bag." datatype = DNA2_BUF_SE value = 0xFFF -/obj/item/weapon/dnainjector/h2m/New() +/obj/item/dnainjector/h2m/New() block = MONKEYBLOCK ..() -/obj/item/weapon/dnainjector/m2h +/obj/item/dnainjector/m2h name = "\improper DNA injector (Monkey > Human)" desc = "Will make you...less hairy." datatype = DNA2_BUF_SE value = 0x001 -/obj/item/weapon/dnainjector/m2h/New() +/obj/item/dnainjector/m2h/New() block = MONKEYBLOCK ..() diff --git a/code/game/objects/items/weapons/ecigs.dm b/code/game/objects/items/weapons/ecigs.dm index a61f6837c31..f29636a2d30 100644 --- a/code/game/objects/items/weapons/ecigs.dm +++ b/code/game/objects/items/weapons/ecigs.dm @@ -3,9 +3,9 @@ desc = "For the modern approach to smoking." icon = 'icons/obj/ecig.dmi' var/active = 0 - //var/obj/item/weapon/cell/ec_cell = /obj/item/weapon/cell/device - var/cartridge_type = /obj/item/weapon/reagent_containers/ecig_cartridge/med_nicotine - var/obj/item/weapon/reagent_containers/ecig_cartridge/ec_cartridge + //var/obj/item/cell/ec_cell = /obj/item/cell/device + var/cartridge_type = /obj/item/reagent_containers/ecig_cartridge/med_nicotine + var/obj/item/reagent_containers/ecig_cartridge/ec_cartridge w_class = ITEMSIZE_TINY slot_flags = SLOT_EARS | SLOT_MASK attack_verb = list("attacked", "poked", "battered") @@ -24,25 +24,25 @@ /obj/item/clothing/mask/smokable/ecig/examine(mob/user) . = ..() - + if(active) - . += "It is turned on." + . += span_notice("It is turned on.") else - . += "It is turned off." + . += span_notice("It is turned off.") if(Adjacent(user)) if(ec_cartridge) if(!ec_cartridge.reagents?.total_volume) - . += "Its cartridge is empty!" + . += span_notice("Its cartridge is empty!") else if (ec_cartridge.reagents.total_volume <= ec_cartridge.volume * 0.25) - . += "Its cartridge is almost empty!" + . += span_notice("Its cartridge is almost empty!") else if (ec_cartridge.reagents.total_volume <= ec_cartridge.volume * 0.66) - . += "Its cartridge is half full!" + . += span_notice("Its cartridge is half full!") else if (ec_cartridge.reagents.total_volume <= ec_cartridge.volume * 0.90) - . += "Its cartridge is almost full!" + . += span_notice("Its cartridge is almost full!") else - . += "Its cartridge is full!" + . += span_notice("Its cartridge is full!") else - . += "It has no cartridge." + . += span_notice("It has no cartridge.") /obj/item/clothing/mask/smokable/ecig/simple name = "simple electronic cigarette" @@ -79,7 +79,7 @@ var/mob/living/carbon/human/C = loc if (src == C.wear_mask && C.check_has_mouth()) // if it's in the human/monkey mouth, transfer reagents to the mob if (!active || !ec_cartridge || !ec_cartridge.reagents.total_volume)//no cartridge - to_chat(C, "[src] turns off. ") + to_chat(C, span_notice("[src] turns off.")) active=0//autodisable the cigarette STOP_PROCESSING(SSobj, src) update_icon() @@ -107,29 +107,29 @@ /obj/item/clothing/mask/smokable/ecig/attackby(var/obj/item/I, var/mob/user as mob) - if(istype(I, /obj/item/weapon/reagent_containers/ecig_cartridge)) + if(istype(I, /obj/item/reagent_containers/ecig_cartridge)) if (ec_cartridge)//can't add second one - to_chat(user, "A cartridge has already been installed. ") + to_chat(user, span_notice("A cartridge has already been installed.")) else//fits in new one user.remove_from_mob(I) I.forceMove(src)//I.loc=src ec_cartridge = I update_icon() - to_chat(user, "You insert [I] into [src]. ") + to_chat(user, span_notice("You insert [I] into [src].")) /obj/item/clothing/mask/smokable/ecig/attack_self(mob/user as mob) if (active) active=0 STOP_PROCESSING(SSobj, src) - to_chat(user, "You turn off \the [src]. ") + to_chat(user, span_notice("You turn off \the [src]. ")) update_icon() else if (!ec_cartridge) - to_chat(user, "You can't use it with no cartridge installed!. ") + to_chat(user, span_notice("You can't use it with no cartridge installed!.")) return active=1 START_PROCESSING(SSobj, src) - to_chat(user, "You turn on \the [src]. ") + to_chat(user, span_notice("You turn on \the [src]. ")) update_icon() /obj/item/clothing/mask/smokable/ecig/attack_hand(mob/user as mob)//eject cartridge @@ -137,13 +137,13 @@ if (ec_cartridge) active=0 user.put_in_hands(ec_cartridge) - to_chat(user, "You eject [ec_cartridge] from \the [src]. ") + to_chat(user, span_notice("You eject [ec_cartridge] from \the [src].")) ec_cartridge = null update_icon() else ..() -/obj/item/weapon/reagent_containers/ecig_cartridge +/obj/item/reagent_containers/ecig_cartridge name = "tobacco flavour cartridge" desc = "A small metal cartridge, used with electronic cigarettes, which contains an atomizing coil and a solution to be atomized." w_class = ITEMSIZE_TINY @@ -153,100 +153,100 @@ volume = 20 flags = OPENCONTAINER -/obj/item/weapon/reagent_containers/ecig_cartridge/New() +/obj/item/reagent_containers/ecig_cartridge/New() create_reagents(volume) -/obj/item/weapon/reagent_containers/ecig_cartridge/examine(mob/user as mob)//to see how much left +/obj/item/reagent_containers/ecig_cartridge/examine(mob/user as mob)//to see how much left . = ..() . += "The cartridge has [reagents.total_volume] units of liquid remaining." //flavours -/obj/item/weapon/reagent_containers/ecig_cartridge/blank +/obj/item/reagent_containers/ecig_cartridge/blank name = "ecigarette cartridge" desc = "A small metal cartridge which contains an atomizing coil." -/obj/item/weapon/reagent_containers/ecig_cartridge/blanknico +/obj/item/reagent_containers/ecig_cartridge/blanknico name = "flavorless nicotine cartridge" desc = "A small metal cartridge which contains an atomizing coil and a solution to be atomized. The label says you can add whatever flavoring agents you want." -/obj/item/weapon/reagent_containers/ecig_cartridge/blanknico/New() +/obj/item/reagent_containers/ecig_cartridge/blanknico/New() ..() reagents.add_reagent("nicotine", 5) reagents.add_reagent("water", 10) -/obj/item/weapon/reagent_containers/ecig_cartridge/med_nicotine +/obj/item/reagent_containers/ecig_cartridge/med_nicotine name = "tobacco flavour cartridge" desc = "A small metal cartridge which contains an atomizing coil and a solution to be atomized. The label says its tobacco flavored." -/obj/item/weapon/reagent_containers/ecig_cartridge/med_nicotine/New() +/obj/item/reagent_containers/ecig_cartridge/med_nicotine/New() ..() reagents.add_reagent("nicotine", 5) reagents.add_reagent("water", 15) -/obj/item/weapon/reagent_containers/ecig_cartridge/high_nicotine +/obj/item/reagent_containers/ecig_cartridge/high_nicotine name = "high nicotine tobacco flavour cartridge" desc = "A small metal cartridge which contains an atomizing coil and a solution to be atomized. The label says its tobacco flavored, with extra nicotine." -/obj/item/weapon/reagent_containers/ecig_cartridge/high_nicotine/New() +/obj/item/reagent_containers/ecig_cartridge/high_nicotine/New() ..() reagents.add_reagent("nicotine", 10) reagents.add_reagent("water", 10) -/obj/item/weapon/reagent_containers/ecig_cartridge/orange +/obj/item/reagent_containers/ecig_cartridge/orange name = "orange flavour cartridge" desc = "A small metal cartridge which contains an atomizing coil and a solution to be atomized. The label says its orange flavored." -/obj/item/weapon/reagent_containers/ecig_cartridge/orange/New() +/obj/item/reagent_containers/ecig_cartridge/orange/New() ..() reagents.add_reagent("nicotine", 5) reagents.add_reagent("water", 10) reagents.add_reagent("orangejuice", 5) -/obj/item/weapon/reagent_containers/ecig_cartridge/mint +/obj/item/reagent_containers/ecig_cartridge/mint name = "mint flavour cartridge" desc = "A small metal cartridge which contains an atomizing coil and a solution to be atomized. The label says its mint flavored." -/obj/item/weapon/reagent_containers/ecig_cartridge/mint/New() +/obj/item/reagent_containers/ecig_cartridge/mint/New() ..() reagents.add_reagent("nicotine", 5) reagents.add_reagent("water", 10) reagents.add_reagent("menthol", 5) -/obj/item/weapon/reagent_containers/ecig_cartridge/watermelon +/obj/item/reagent_containers/ecig_cartridge/watermelon name = "watermelon flavour cartridge" desc = "A small metal cartridge which contains an atomizing coil and a solution to be atomized. The label says its watermelon flavored." -/obj/item/weapon/reagent_containers/ecig_cartridge/watermelon/New() +/obj/item/reagent_containers/ecig_cartridge/watermelon/New() ..() reagents.add_reagent("nicotine", 5) reagents.add_reagent("water", 10) reagents.add_reagent("watermelonjuice", 5) -/obj/item/weapon/reagent_containers/ecig_cartridge/grape +/obj/item/reagent_containers/ecig_cartridge/grape name = "grape flavour cartridge" desc = "A small metal cartridge which contains an atomizing coil and a solution to be atomized. The label says its grape flavored." -/obj/item/weapon/reagent_containers/ecig_cartridge/grape/New() +/obj/item/reagent_containers/ecig_cartridge/grape/New() ..() reagents.add_reagent("nicotine", 5) reagents.add_reagent("water", 10) reagents.add_reagent("grapejuice", 5) -/obj/item/weapon/reagent_containers/ecig_cartridge/lemonlime +/obj/item/reagent_containers/ecig_cartridge/lemonlime name = "lemon-lime flavour cartridge" desc = "A small metal cartridge which contains an atomizing coil and a solution to be atomized. The label says its lemon-lime flavored." -/obj/item/weapon/reagent_containers/ecig_cartridge/lemonlime/New() +/obj/item/reagent_containers/ecig_cartridge/lemonlime/New() ..() reagents.add_reagent("nicotine", 5) reagents.add_reagent("water", 10) reagents.add_reagent("lemon_lime", 5) -/obj/item/weapon/reagent_containers/ecig_cartridge/coffee +/obj/item/reagent_containers/ecig_cartridge/coffee name = "coffee flavour cartridge" desc = "A small metal cartridge which contains an atomizing coil and a solution to be atomized. The label says its coffee flavored." -/obj/item/weapon/reagent_containers/ecig_cartridge/coffee/New() +/obj/item/reagent_containers/ecig_cartridge/coffee/New() ..() reagents.add_reagent("nicotine", 5) reagents.add_reagent("water", 10) reagents.add_reagent("coffee", 5) /* -/obj/item/weapon/reagent_containers/ecig_cartridge/cannabis +/obj/item/reagent_containers/ecig_cartridge/cannabis name = "herb flavour cartridge" desc = "A small metal cartridge which contains an atomizing coil and a solution to be atomized. The label seems to be suspiciously scuffed off..." -/obj/item/weapon/reagent_containers/ecig_cartridge/cannabis/New() +/obj/item/reagent_containers/ecig_cartridge/cannabis/New() ..() reagents.add_reagent("nicotine", 5) reagents.add_reagent("water", 10) diff --git a/code/game/objects/items/weapons/explosives.dm b/code/game/objects/items/weapons/explosives.dm index fcb45bad9c1..87dfe250718 100644 --- a/code/game/objects/items/weapons/explosives.dm +++ b/code/game/objects/items/weapons/explosives.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/plastique +/obj/item/plastique name = "plastic explosives" desc = "Used to put holes in specific areas without too much extra hole." gender = PLURAL @@ -18,37 +18,37 @@ var/blast_light = 2 var/blast_flash = 3 -/obj/item/weapon/plastique/New() +/obj/item/plastique/New() wires = new(src) image_overlay = image('icons/obj/assemblies.dmi', "plastic-explosive2") ..() -/obj/item/weapon/plastique/Destroy() +/obj/item/plastique/Destroy() qdel(wires) wires = null return ..() -/obj/item/weapon/plastique/attackby(var/obj/item/I, var/mob/user) +/obj/item/plastique/attackby(var/obj/item/I, var/mob/user) if(I.has_tool_quality(TOOL_SCREWDRIVER)) open_panel = !open_panel - to_chat(user, "You [open_panel ? "open" : "close"] the wire panel.") + to_chat(user, span_notice("You [open_panel ? "open" : "close"] the wire panel.")) playsound(src, I.usesound, 50, 1) - else if(I.has_tool_quality(TOOL_WIRECUTTER) || istype(I, /obj/item/device/multitool) || istype(I, /obj/item/device/assembly/signaler )) + else if(I.has_tool_quality(TOOL_WIRECUTTER) || istype(I, /obj/item/multitool) || istype(I, /obj/item/assembly/signaler )) wires.Interact(user) else ..() -/obj/item/weapon/plastique/attack_self(mob/user as mob) - var/newtime = tgui_input_number(usr, "Please set the timer.", "Timer", 10, 60000, 10) +/obj/item/plastique/attack_self(mob/user as mob) + var/newtime = tgui_input_number(user, "Please set the timer.", "Timer", 10, 60000, 10) if(user.get_active_hand() == src) newtime = CLAMP(newtime, 10, 60000) timer = newtime to_chat(user, "Timer set for [timer] seconds.") -/obj/item/weapon/plastique/afterattack(atom/movable/target, mob/user, flag) +/obj/item/plastique/afterattack(atom/movable/target, mob/user, flag) if (!flag) return - if (ismob(target) || istype(target, /turf/unsimulated) || istype(target, /turf/simulated/shuttle) || istype(target, /obj/item/weapon/storage/) || istype(target, /obj/item/clothing/accessory/storage/) || istype(target, /obj/item/clothing/under)) + if (ismob(target) || istype(target, /turf/unsimulated) || istype(target, /turf/simulated/shuttle) || istype(target, /obj/item/storage/) || istype(target, /obj/item/clothing/accessory/storage/) || istype(target, /obj/item/clothing/under)) return to_chat(user, "Planting explosives...") user.do_attack_animation(target) @@ -60,7 +60,7 @@ if (ismob(target)) add_attack_logs(user, target, "planted [name] on with [timer] second fuse") - user.visible_message("[user.name] finished planting an explosive on [target.name]!") + user.visible_message(span_danger("[user.name] finished planting an explosive on [target.name]!")) else message_admins("[key_name(user, user.client)](?) planted [src.name] on [target.name] at ([target.x],[target.y],[target.z] - JMP) with [timer] second fuse",0,1) log_game("[key_name(user)] planted [src.name] on [target.name] at ([target.x],[target.y],[target.z]) with [timer] second fuse") @@ -70,7 +70,7 @@ spawn(timer*10) explode(get_turf(target)) -/obj/item/weapon/plastique/proc/explode(var/location) +/obj/item/plastique/proc/explode(var/location) if(!target) target = get_atom_on_turf(src) if(!target) @@ -90,10 +90,10 @@ target.cut_overlay(image_overlay, TRUE) qdel(src) -/obj/item/weapon/plastique/attack(mob/M as mob, mob/user as mob, def_zone) +/obj/item/plastique/attack(mob/M as mob, mob/user as mob, def_zone) return -/obj/item/weapon/plastique/seismic +/obj/item/plastique/seismic name = "seismic charge" desc = "Used to dig holes in specific areas without too much extra hole." @@ -101,19 +101,19 @@ blast_light = 4 blast_flash = 7 -/obj/item/weapon/plastique/seismic/attackby(var/obj/item/I, var/mob/user) +/obj/item/plastique/seismic/attackby(var/obj/item/I, var/mob/user) . = ..() if(open_panel) - if(istype(I, /obj/item/weapon/stock_parts/micro_laser)) - var/obj/item/weapon/stock_parts/SP = I + if(istype(I, /obj/item/stock_parts/micro_laser)) + var/obj/item/stock_parts/SP = I var/new_blast_power = max(1, round(SP.rating / 2) + 1) if(new_blast_power > blast_heavy) - to_chat(user, "You install \the [I] into \the [src].") + to_chat(user, span_notice("You install \the [I] into \the [src].")) user.drop_from_inventory(I) qdel(I) blast_heavy = new_blast_power blast_light = blast_heavy + round(new_blast_power * 0.5) blast_flash = blast_light + round(new_blast_power * 0.75) else - to_chat(user, "The [I] is not any better than the component already installed into this charge!") + to_chat(user, span_notice("The [I] is not any better than the component already installed into this charge!")) return . diff --git a/code/game/objects/items/weapons/explosives_vr.dm b/code/game/objects/items/weapons/explosives_vr.dm index 8d5bb8c961d..05d9a35b1f4 100644 --- a/code/game/objects/items/weapons/explosives_vr.dm +++ b/code/game/objects/items/weapons/explosives_vr.dm @@ -1,7 +1,7 @@ -/obj/item/weapon/plastique/seismic/locked +/obj/item/plastique/seismic/locked desc = "Used to dig holes in specific areas without too much extra hole. Has extra mechanism that safely implodes the bomb if it is used in close proximity to the facility." -/obj/item/weapon/plastique/seismic/locked/explode(var/location) +/obj/item/plastique/seismic/locked/explode(var/location) if(!target) target = get_atom_on_turf(src) if(!target) @@ -9,9 +9,9 @@ var/turf/T = get_turf(target) if((T.z in using_map.station_levels) || (T.z in using_map.admin_levels)) - target.visible_message("\The [src] lets out a loud beep as safeties trigger, before imploding and falling apart.") + target.visible_message(span_danger("\The [src] lets out a loud beep as safeties trigger, before imploding and falling apart.")) target.cut_overlay(image_overlay, TRUE) qdel(src) return 0 else - return ..() \ No newline at end of file + return ..() diff --git a/code/game/objects/items/weapons/extinguisher.dm b/code/game/objects/items/weapons/extinguisher.dm index abd80e61ee0..80f3e194048 100644 --- a/code/game/objects/items/weapons/extinguisher.dm +++ b/code/game/objects/items/weapons/extinguisher.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/extinguisher +/obj/item/extinguisher name = "fire extinguisher" desc = "A traditional red fire extinguisher." icon = 'icons/obj/items.dmi' @@ -23,7 +23,7 @@ var/sprite_name = "fire_extinguisher" var/rand_overlays = 6 -/obj/item/weapon/extinguisher/mini +/obj/item/extinguisher/mini name = "fire extinguisher" desc = "A light and compact fibreglass-framed model fire extinguisher." icon_state = "miniFE0" @@ -37,7 +37,7 @@ sprite_name = "miniFE" rand_overlays = 0 -/obj/item/weapon/extinguisher/atmo +/obj/item/extinguisher/atmo name = "atmospheric fire extinguisher" desc = "A heavy duty fire extinguisher meant to fight large fires." icon_state = "atmos_extinguisher0" @@ -50,7 +50,7 @@ sprite_name = "atmos_extinguisher" rand_overlays = 0 -/obj/item/weapon/extinguisher/Initialize() +/obj/item/extinguisher/Initialize() create_reagents(max_water) reagents.add_reagent("firefoam", max_water) if(rand_overlays) @@ -58,18 +58,18 @@ add_overlay("[item_state]O[choice]") . = ..() -/obj/item/weapon/extinguisher/examine(mob/user) +/obj/item/extinguisher/examine(mob/user) . = ..() if(get_dist(user, src) == 0) . += "[src] has [src.reagents.total_volume] units of foam left!" -/obj/item/weapon/extinguisher/attack_self(mob/user as mob) +/obj/item/extinguisher/attack_self(mob/user as mob) safety = !safety icon_state = "[sprite_name][!safety]" desc = "The safety is [safety ? "on" : "off"]." to_chat(user, "The safety is [safety ? "on" : "off"].") -/obj/item/weapon/extinguisher/proc/propel_object(var/obj/O, mob/user, movementdirection) +/obj/item/extinguisher/proc/propel_object(var/obj/O, mob/user, movementdirection) if(O.anchored) return var/obj/structure/bed/chair/C @@ -87,19 +87,19 @@ O.Move(get_step(user,movementdirection), movementdirection) sleep(3) -/obj/item/weapon/extinguisher/afterattack(var/atom/target, var/mob/user, var/flag) +/obj/item/extinguisher/afterattack(var/atom/target, var/mob/user, var/flag) //TODO; Add support for reagents in water. if( istype(target, /obj/structure/reagent_dispensers) && flag) var/obj/o = target var/amount = o.reagents.trans_to_obj(src, 50) - to_chat(user, "You fill [src] with [amount] units of the contents of [target].") + to_chat(user, span_notice("You fill [src] with [amount] units of the contents of [target].")) playsound(src, 'sound/effects/refill.ogg', 50, 1, -6) return if (!safety) if (src.reagents.total_volume < 1) - to_chat(usr, "\The [src] is empty.") + to_chat(user, span_notice("\The [src] is empty.")) return if (world.time < src.last_use + 20) @@ -136,7 +136,7 @@ W.set_color() W.set_up(my_target) - if((istype(usr.loc, /turf/space)) || (usr.lastarea.has_gravity == 0)) + if((istype(user.loc, /turf/space)) || (user.lastarea.get_gravity() == 0)) user.inertia_dir = get_dir(target, user) step(user, user.inertia_dir) else diff --git a/code/game/objects/items/weapons/flamethrower.dm b/code/game/objects/items/weapons/flamethrower.dm index 35dd4bfdf65..9d386f3202a 100644 --- a/code/game/objects/items/weapons/flamethrower.dm +++ b/code/game/objects/items/weapons/flamethrower.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/flamethrower +/obj/item/flamethrower name = "flamethrower" desc = "You are a firestarter!" icon = 'icons/obj/flamethrower.dmi' @@ -20,18 +20,18 @@ var/lit = 0 //on or off var/operating = 0//cooldown var/turf/previousturf = null - var/obj/item/weapon/weldingtool/weldtool = null - var/obj/item/device/assembly/igniter/igniter = null - var/obj/item/weapon/tank/phoron/ptank = null + var/obj/item/weldingtool/weldtool = null + var/obj/item/assembly/igniter/igniter = null + var/obj/item/tank/phoron/ptank = null -/obj/item/weapon/flamethrower/Destroy() +/obj/item/flamethrower/Destroy() QDEL_NULL(weldtool) QDEL_NULL(igniter) QDEL_NULL(ptank) . = ..() -/obj/item/weapon/flamethrower/process() +/obj/item/flamethrower/process() if(!lit) STOP_PROCESSING(SSobj, src) return null @@ -45,7 +45,7 @@ return -/obj/item/weapon/flamethrower/update_icon() +/obj/item/flamethrower/update_icon() cut_overlays() if(igniter) add_overlay("+igniter[status]") @@ -58,7 +58,7 @@ item_state = "flamethrower_0" return -/obj/item/weapon/flamethrower/afterattack(atom/target, mob/user, proximity) +/obj/item/flamethrower/afterattack(atom/target, mob/user, proximity) if(!proximity) return // Make sure our user is still holding us if(user && user.get_active_hand() == src) @@ -67,7 +67,7 @@ var/turflist = getline(user, target_turf) flame_turf(turflist) -/obj/item/weapon/flamethrower/attackby(obj/item/W as obj, mob/user as mob) +/obj/item/flamethrower/attackby(obj/item/W as obj, mob/user as mob) if(user.stat || user.restrained() || user.lying) return if(W.has_tool_quality(TOOL_WRENCH) && !status)//Taking this apart var/turf/T = get_turf(src) @@ -86,12 +86,12 @@ if(W.has_tool_quality(TOOL_SCREWDRIVER) && igniter && !lit) status = !status - to_chat(user, "[igniter] is now [status ? "secured" : "unsecured"]!") + to_chat(user, span_notice("[igniter] is now [status ? "secured" : "unsecured"]!")) update_icon() return if(isigniter(W)) - var/obj/item/device/assembly/igniter/I = W + var/obj/item/assembly/igniter/I = W if(I.secured) return if(igniter) return user.drop_item() @@ -100,9 +100,9 @@ update_icon() return - if(istype(W,/obj/item/weapon/tank/phoron)) + if(istype(W,/obj/item/tank/phoron)) if(ptank) - to_chat(user, "There appears to already be a phoron tank loaded in [src]!") + to_chat(user, span_notice("There appears to already be a phoron tank loaded in [src]!")) return user.drop_item() ptank = W @@ -114,11 +114,11 @@ return -/obj/item/weapon/flamethrower/attack_self(mob/user as mob) +/obj/item/flamethrower/attack_self(mob/user as mob) if(user.stat || user.restrained() || user.lying) return user.set_machine(src) if(!ptank) - to_chat(user, "Attach a phoron tank first!") + to_chat(user, span_notice("Attach a phoron tank first!")) return var/dat = text("Flamethrower ([lit ? "Lit" : "Unlit"])
\n Tank Pressure: [ptank.air_contents.return_pressure()]
\nAmount to throw: - - - [throw_amount] + + +
\nRemove phorontank - Close
") user << browse(dat, "window=flamethrower;size=600x300") @@ -126,7 +126,7 @@ return -/obj/item/weapon/flamethrower/Topic(href,href_list[]) +/obj/item/flamethrower/Topic(href,href_list[]) if(href_list["close"]) usr.unset_machine() usr << browse(null, "window=flamethrower") @@ -158,7 +158,7 @@ //Called from turf.dm turf/dblclick -/obj/item/weapon/flamethrower/proc/flame_turf(turflist) +/obj/item/flamethrower/proc/flame_turf(turflist) if(!lit || operating) return operating = 1 for(var/turf/T in turflist) @@ -179,7 +179,7 @@ return -/obj/item/weapon/flamethrower/proc/ignite_turf(turf/target) +/obj/item/flamethrower/proc/ignite_turf(turf/target) //TODO: DEFERRED Consider checking to make sure tank pressure is high enough before doing this... //Transfer 5% of current tank air contents to turf var/datum/gas_mixture/air_transfer = ptank.air_contents.remove_ratio(0.02*(throw_amount/100)) @@ -193,11 +193,11 @@ //location.hotspot_expose(1000,500,1) return -/obj/item/weapon/flamethrower/full/New(var/loc) +/obj/item/flamethrower/full/New(var/loc) ..() - weldtool = new /obj/item/weapon/weldingtool(src) + weldtool = new /obj/item/weldingtool(src) weldtool.status = 0 - igniter = new /obj/item/device/assembly/igniter(src) + igniter = new /obj/item/assembly/igniter(src) igniter.secured = 0 status = 1 update_icon() diff --git a/code/game/objects/items/weapons/game_kit.dm b/code/game/objects/items/weapons/game_kit.dm index 09ffacd32b7..e2eac323d23 100644 --- a/code/game/objects/items/weapons/game_kit.dm +++ b/code/game/objects/items/weapons/game_kit.dm @@ -3,25 +3,25 @@ CONTAINS: THAT STUPID GAME KIT */ -/obj/item/weapon/game_kit/New() +/obj/item/game_kit/New() src.board_stat = "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB" src.selected = "CR" -/obj/item/weapon/game_kit/attack_paw(mob/user as mob) +/obj/item/game_kit/attack_paw(mob/user as mob) return src.attack_hand(user) -/obj/item/weapon/game_kit/MouseDrop(mob/user as mob) - if (user == usr && !usr.restrained() && !usr.stat && (usr.contents.Find(src) || in_range(src, usr))) - if (usr.hand) - if (!usr.l_hand) +/obj/item/game_kit/MouseDrop(mob/user as mob) + if (user == usr && !user.restrained() && !user.stat && (user.contents.Find(src) || in_range(src, user))) + if (user.hand) + if (!user.l_hand) spawn (0) - src.attack_hand(usr, 1, 1) + src.attack_hand(user, 1, 1) else - if (!usr.r_hand) + if (!user.r_hand) spawn (0) - src.attack_hand(usr, 0, 1) + src.attack_hand(user, 0, 1) -/obj/item/weapon/game_kit/proc/update() +/obj/item/game_kit/proc/update() var/dat = text("
Game Board

[] remove
", src, (src.selected ? text("Selected: []", src.selected) : "Nothing Selected"), src) for (var/y = 1 to 8) dat += "" @@ -52,10 +52,10 @@ THAT STUPID GAME KIT dat += "" src.data = dat -/obj/item/weapon/game_kit/attack_ai(mob/user as mob, unused, flag) +/obj/item/game_kit/attack_ai(mob/user as mob, unused, flag) return src.attack_hand(user, unused, flag) -/obj/item/weapon/game_kit/attack_hand(mob/user as mob, unused, flag) +/obj/item/game_kit/attack_hand(mob/user as mob, unused, flag) if (flag) return ..() @@ -68,7 +68,7 @@ THAT STUPID GAME KIT return return -/obj/item/weapon/game_kit/Topic(href, href_list) +/obj/item/game_kit/Topic(href, href_list) ..() if ((usr.stat || usr.restrained())) return diff --git a/code/game/objects/items/weapons/gift_wrappaper.dm b/code/game/objects/items/weapons/gift_wrappaper.dm index 42134cb6386..57d50de647c 100644 --- a/code/game/objects/items/weapons/gift_wrappaper.dm +++ b/code/game/objects/items/weapons/gift_wrappaper.dm @@ -7,7 +7,7 @@ /* * Gifts */ -/obj/item/weapon/a_gift +/obj/item/a_gift name = "gift" desc = "PRESENTS!!!! eek!" icon = 'icons/obj/items.dmi' @@ -16,7 +16,7 @@ drop_sound = 'sound/items/drop/cardboardbox.ogg' pickup_sound = 'sound/items/pickup/cardboardbox.ogg' -/obj/item/weapon/a_gift/New() +/obj/item/a_gift/New() ..() pixel_x = rand(-10,10) pixel_y = rand(-10,10) @@ -26,64 +26,64 @@ icon_state = "gift[pick(1, 2, 3)]" return -/obj/item/weapon/gift/attack_self(mob/user as mob) +/obj/item/gift/attack_self(mob/user as mob) user.drop_item() playsound(src, 'sound/items/package_unwrap.ogg', 50,1) if(src.gift) user.put_in_active_hand(gift) src.gift.add_fingerprint(user) else - to_chat(user, "The gift was empty!") + to_chat(user, span_warning("The gift was empty!")) qdel(src) return -/obj/item/weapon/a_gift/ex_act() +/obj/item/a_gift/ex_act() qdel(src) return /obj/effect/spresent/relaymove(mob/user as mob) if (user.stat) return - to_chat(user, "You can't move.") + to_chat(user, span_warning("You can't move.")) -/obj/effect/spresent/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/effect/spresent/attackby(obj/item/W as obj, mob/user as mob) ..() if (!W.has_tool_quality(TOOL_WIRECUTTER)) - to_chat(user, "I need wirecutters for that.") + to_chat(user, span_warning("I need wirecutters for that.")) return - to_chat(user, "You cut open the present.") + to_chat(user, span_notice("You cut open the present.")) for(var/mob/M in src) //Should only be one but whatever. M.forceMove(src.loc) qdel(src) -/obj/item/weapon/a_gift/attack_self(mob/M as mob) +/obj/item/a_gift/attack_self(mob/M as mob) var/gift_type = pick( - /obj/item/weapon/storage/wallet, - /obj/item/weapon/storage/photo_album, - /obj/item/weapon/storage/box/snappops, - /obj/item/weapon/storage/fancy/crayons, - /obj/item/weapon/storage/backpack/holding, - /obj/item/weapon/storage/belt/champion, - /obj/item/weapon/soap/deluxe, - /obj/item/weapon/pickaxe/silver, - /obj/item/weapon/pen/invisible, - /obj/item/weapon/lipstick/random, - /obj/item/weapon/grenade/smokebomb, - /obj/item/weapon/corncob, + /obj/item/storage/wallet, + /obj/item/storage/photo_album, + /obj/item/storage/box/snappops, + /obj/item/storage/fancy/crayons, + /obj/item/storage/backpack/holding, + /obj/item/storage/belt/champion, + /obj/item/soap/deluxe, + /obj/item/pickaxe/silver, + /obj/item/pen/invisible, + /obj/item/lipstick/random, + /obj/item/grenade/smokebomb, + /obj/item/corncob, /obj/item/poster/custom, - /obj/item/weapon/book/manual/barman_recipes, - /obj/item/weapon/book/manual/chef_recipes, - /obj/item/weapon/bikehorn, - /obj/item/weapon/beach_ball, - /obj/item/weapon/beach_ball/holoball, + /obj/item/book/manual/barman_recipes, + /obj/item/book/manual/chef_recipes, + /obj/item/bikehorn, + /obj/item/beach_ball, + /obj/item/beach_ball/holoball, /obj/item/toy/balloon, /obj/item/toy/blink, - /obj/item/weapon/gun/projectile/revolver/toy/crossbow, - /obj/item/weapon/storage/box/capguntoy, + /obj/item/gun/projectile/revolver/toy/crossbow, + /obj/item/storage/box/capguntoy, /obj/item/toy/katana, /obj/item/toy/mecha/deathripley, /obj/item/toy/mecha/durand, @@ -98,11 +98,11 @@ /obj/item/toy/mecha/seraph, /obj/item/toy/spinningtoy, /obj/item/toy/sword, - /obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus, - /obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris, - /obj/item/device/paicard, + /obj/item/reagent_containers/food/snacks/grown/ambrosiadeus, + /obj/item/reagent_containers/food/snacks/grown/ambrosiavulgaris, + /obj/item/paicard, /obj/item/instrument/violin, - /obj/item/weapon/storage/belt/utility/full, + /obj/item/storage/belt/utility/full, /obj/item/clothing/accessory/tie/horrible) if(!ispath(gift_type,/obj/item)) return @@ -117,7 +117,7 @@ /* * Wrapping Paper */ -/obj/item/weapon/wrapping_paper +/obj/item/wrapping_paper name = "wrapping paper" desc = "You can use this to wrap items in." icon = 'icons/obj/items.dmi' @@ -126,25 +126,25 @@ drop_sound = 'sound/items/drop/wrapper.ogg' pickup_sound = 'sound/items/pickup/wrapper.ogg' -/obj/item/weapon/wrapping_paper/attackby(obj/item/weapon/W as obj, mob/living/user as mob) +/obj/item/wrapping_paper/attackby(obj/item/W as obj, mob/living/user as mob) ..() if (!( locate(/obj/structure/table, src.loc) )) - to_chat(user, "You MUST put the paper on a table!") + to_chat(user, span_warning("You MUST put the paper on a table!")) if (W.w_class < ITEMSIZE_LARGE) var/obj/item/I = user.get_inactive_hand() if(I && I.has_tool_quality(TOOL_WIRECUTTER)) var/a_used = 2 ** (src.w_class - 1) if (src.amount < a_used) - to_chat(user, "You need more paper!") + to_chat(user, span_warning("You need more paper!")) return else - if(istype(W, /obj/item/smallDelivery) || istype(W, /obj/item/weapon/gift)) //No gift wrapping gifts! - to_chat(user, "You can't wrap something that's already wrapped!") + if(istype(W, /obj/item/smallDelivery) || istype(W, /obj/item/gift)) //No gift wrapping gifts! + to_chat(user, span_warning("You can't wrap something that's already wrapped!")) return src.amount -= a_used user.drop_item() - var/obj/item/weapon/gift/G = new /obj/item/weapon/gift( src.loc ) + var/obj/item/gift/G = new /obj/item/gift( src.loc ) G.size = W.w_class G.w_class = G.size + 1 G.icon_state = text("gift[]", G.size) @@ -154,22 +154,22 @@ W.add_fingerprint(user) src.add_fingerprint(user) if (src.amount <= 0) - new /obj/item/weapon/c_tube( src.loc ) + new /obj/item/c_tube( src.loc ) qdel(src) return else - to_chat(user, "You need scissors!") + to_chat(user, span_warning("You need scissors!")) else - to_chat(user, "The object is FAR too large!") + to_chat(user, span_warning("The object is FAR too large!")) return -/obj/item/weapon/wrapping_paper/examine(mob/user) +/obj/item/wrapping_paper/examine(mob/user) . = ..() if(Adjacent(user)) . += "There is about [src.amount] square units of paper left!" -/obj/item/weapon/wrapping_paper/attack(mob/target as mob, mob/user as mob) +/obj/item/wrapping_paper/attack(mob/target as mob, mob/user as mob) if (!istype(target, /mob/living/carbon/human)) return var/mob/living/carbon/human/H = target @@ -182,6 +182,6 @@ add_attack_logs(user,H,"Wrapped with [src]") else - to_chat(user, "You need more paper.") + to_chat(user, span_warning("You need more paper.")) else to_chat(user, "They are moving around too much. A straightjacket would help.") diff --git a/code/game/objects/items/weapons/grenades/anti_photon_grenade.dm b/code/game/objects/items/weapons/grenades/anti_photon_grenade.dm index 5a2aad6ac3d..32992952cbe 100644 --- a/code/game/objects/items/weapons/grenades/anti_photon_grenade.dm +++ b/code/game/objects/items/weapons/grenades/anti_photon_grenade.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/grenade/anti_photon +/obj/item/grenade/anti_photon desc = "An experimental device for temporarily removing light in a limited area." name = "photon disruption grenade" icon = 'icons/obj/grenade.dmi' @@ -6,7 +6,7 @@ det_time = 20 origin_tech = list(TECH_BLUESPACE = 4, TECH_MATERIAL = 4) -/obj/item/weapon/grenade/anti_photon/detonate() +/obj/item/grenade/anti_photon/detonate() playsound(src, 'sound/effects/phasein.ogg', 50, 1, 5) set_light(10, -10, "#FFFFFF") diff --git a/code/game/objects/items/weapons/grenades/chem_grenade.dm b/code/game/objects/items/weapons/grenades/chem_grenade.dm index 84fade96cff..efe0c92ae2f 100644 --- a/code/game/objects/items/weapons/grenades/chem_grenade.dm +++ b/code/game/objects/items/weapons/grenades/chem_grenade.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/grenade/chem_grenade +/obj/item/grenade/chem_grenade name = "grenade casing" icon_state = "chemg" item_state = "grenade" @@ -13,26 +13,26 @@ var/path = 0 /// If TRUE, grenade is permanently sealed when fully assembled, useful for things like off-the-shelf grenades. var/sealed = FALSE - var/obj/item/device/assembly_holder/detonator = null + var/obj/item/assembly_holder/detonator = null var/list/beakers = new/list() - var/list/allowed_containers = list(/obj/item/weapon/reagent_containers/glass/beaker, /obj/item/weapon/reagent_containers/glass/bottle) + var/list/allowed_containers = list(/obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/glass/bottle) var/affected_area = 3 -/obj/item/weapon/grenade/chem_grenade/Initialize() +/obj/item/grenade/chem_grenade/Initialize() . = ..() create_reagents(1000) -/obj/item/weapon/grenade/chem_grenade/Destroy() +/obj/item/grenade/chem_grenade/Destroy() QDEL_NULL(detonator) QDEL_LIST_NULL(beakers) return ..() -/obj/item/weapon/grenade/chem_grenade/attack_self(mob/user as mob) +/obj/item/grenade/chem_grenade/attack_self(mob/user as mob) if(!stage || stage==1) if(detonator) // detonator.loc=src.loc detonator.detached() - usr.put_in_hands(detonator) + user.put_in_hands(detonator) detonator=null det_time = null stage=0 @@ -44,7 +44,7 @@ user.put_in_hands(B) name = "unsecured grenade with [beakers.len] containers[detonator?" and detonator":""]" if(stage > 1 && !active && clown_check(user)) - to_chat(user, "You prime \the [name]!") + to_chat(user, span_warning("You prime \the [name]!")) msg_admin_attack("[key_name_admin(user)] primed \a [src]") @@ -54,26 +54,26 @@ var/mob/living/carbon/C = user C.throw_mode_on() -/obj/item/weapon/grenade/chem_grenade/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W,/obj/item/device/assembly_holder) && (!stage || stage==1) && !detonator && path != 2) - var/obj/item/device/assembly_holder/det = W +/obj/item/grenade/chem_grenade/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W,/obj/item/assembly_holder) && (!stage || stage==1) && !detonator && path != 2) + var/obj/item/assembly_holder/det = W if(istype(det.a_left,det.a_right.type) || (!isigniter(det.a_left) && !isigniter(det.a_right))) - to_chat(user, "Assembly must contain one igniter.") + to_chat(user, span_warning("Assembly must contain one igniter.")) return if(!det.secured) - to_chat(user, "Assembly must be secured with screwdriver.") + to_chat(user, span_warning("Assembly must be secured with screwdriver.")) return path = 1 - to_chat(user, "You add [W] to the metal casing.") + to_chat(user, span_notice("You add [W] to the metal casing.")) playsound(src, 'sound/items/Screwdriver2.ogg', 25, -3) user.remove_from_mob(det) det.loc = src detonator = det if(istimer(detonator.a_left)) - var/obj/item/device/assembly/timer/T = detonator.a_left + var/obj/item/assembly/timer/T = detonator.a_left det_time = 10*T.time if(istimer(detonator.a_right)) - var/obj/item/device/assembly/timer/T = detonator.a_right + var/obj/item/assembly/timer/T = detonator.a_right det_time = 10*T.time icon_state = initial(icon_state) +"_ass" name = "unsecured grenade with [beakers.len] containers[detonator?" and detonator":""]" @@ -82,23 +82,23 @@ if(stage == 1) path = 1 if(beakers.len) - to_chat(user, "You lock the assembly.") + to_chat(user, span_notice("You lock the assembly.")) name = "grenade" else -// to_chat(user, "You need to add at least one beaker before locking the assembly.") - to_chat(user, "You lock the empty assembly.") +// to_chat(user, span_warning("You need to add at least one beaker before locking the assembly.")) + to_chat(user, span_notice("You lock the empty assembly.")) name = "fake grenade" playsound(src, W.usesound, 50, 1) icon_state = initial(icon_state) +"_locked" stage = 2 else if(stage == 2) if(active && prob(95)) - to_chat(user, "You trigger the assembly!") + to_chat(user, span_warning("You trigger the assembly!")) detonate() else if(sealed) - to_chat(user, "This grenade lacks a way to disassemble it.") + to_chat(user, span_warning("This grenade lacks a way to disassemble it.")) else - to_chat(user, "You unlock the assembly.") + to_chat(user, span_notice("You unlock the assembly.")) playsound(src, W.usesound, 50, -3) name = "unsecured grenade with [beakers.len] containers[detonator?" and detonator":""]" icon_state = initial(icon_state) + (detonator?"_ass":"") @@ -107,25 +107,25 @@ else if(is_type_in_list(W, allowed_containers) && (!stage || stage==1) && path != 2) path = 1 if(beakers.len == 2) - to_chat(user, "The grenade can not hold more containers.") + to_chat(user, span_warning("The grenade can not hold more containers.")) return else if(W.reagents.total_volume) - to_chat(user, "You add \the [W] to the assembly.") + to_chat(user, span_notice("You add \the [W] to the assembly.")) user.drop_item() W.loc = src beakers += W stage = 1 name = "unsecured grenade with [beakers.len] containers[detonator?" and detonator":""]" else - to_chat(user, "\The [W] is empty.") + to_chat(user, span_warning("\The [W] is empty.")) -/obj/item/weapon/grenade/chem_grenade/examine(mob/user) +/obj/item/grenade/chem_grenade/examine(mob/user) . = ..() if(detonator) . += "It has [detonator.name] attached to it." -/obj/item/weapon/grenade/chem_grenade/activate(mob/user as mob) +/obj/item/grenade/chem_grenade/activate(mob/user as mob) if(active) return if(detonator) @@ -143,15 +143,15 @@ return -/obj/item/weapon/grenade/chem_grenade/proc/primed(var/primed = 1) +/obj/item/grenade/chem_grenade/proc/primed(var/primed = 1) if(active) icon_state = initial(icon_state) + (primed?"_primed":"_active") -/obj/item/weapon/grenade/chem_grenade/detonate() +/obj/item/grenade/chem_grenade/detonate() if(!stage || stage<2) return var/has_reagents = 0 - for(var/obj/item/weapon/reagent_containers/glass/G in beakers) + for(var/obj/item/reagent_containers/glass/G in beakers) if(G.reagents.total_volume) has_reagents = 1 active = 0 @@ -160,16 +160,16 @@ playsound(src, 'sound/items/Screwdriver2.ogg', 50, 1) spawn(0) //Otherwise det_time is erroneously set to 0 after this if(istimer(detonator.a_left)) //Make sure description reflects that the timer has been reset - var/obj/item/device/assembly/timer/T = detonator.a_left + var/obj/item/assembly/timer/T = detonator.a_left det_time = 10*T.time if(istimer(detonator.a_right)) - var/obj/item/device/assembly/timer/T = detonator.a_right + var/obj/item/assembly/timer/T = detonator.a_right det_time = 10*T.time return playsound(src, 'sound/effects/bamf.ogg', 50, 1) - for(var/obj/item/weapon/reagent_containers/glass/G in beakers) + for(var/obj/item/reagent_containers/glass/G in beakers) G.reagents.trans_to_obj(src, G.reagents.total_volume) if(src.reagents.total_volume) //The possible reactions didnt use up all reagents. @@ -192,15 +192,15 @@ qdel(src) //correctly before deleting the grenade. -/obj/item/weapon/grenade/chem_grenade/large +/obj/item/grenade/chem_grenade/large name = "large chem grenade" desc = "An oversized grenade that affects a larger area." icon_state = "large_grenade" - allowed_containers = list(/obj/item/weapon/reagent_containers/glass) + allowed_containers = list(/obj/item/reagent_containers/glass) origin_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3) affected_area = 4 -/obj/item/weapon/grenade/chem_grenade/metalfoam +/obj/item/grenade/chem_grenade/metalfoam name = "metal-foam grenade" desc = "Used for emergency sealing of air breaches." icon_state = "foam" @@ -208,21 +208,21 @@ stage = 2 sealed = TRUE -/obj/item/weapon/grenade/chem_grenade/metalfoam/Initialize() +/obj/item/grenade/chem_grenade/metalfoam/Initialize() . = ..() - var/obj/item/weapon/reagent_containers/glass/beaker/B1 = new(src) - var/obj/item/weapon/reagent_containers/glass/beaker/B2 = new(src) + var/obj/item/reagent_containers/glass/beaker/B1 = new(src) + var/obj/item/reagent_containers/glass/beaker/B2 = new(src) B1.reagents.add_reagent("aluminum", 30) B2.reagents.add_reagent("foaming_agent", 10) B2.reagents.add_reagent("pacid", 10) - detonator = new/obj/item/device/assembly_holder/timer_igniter(src) + detonator = new/obj/item/assembly_holder/timer_igniter(src) beakers += B1 beakers += B2 -/obj/item/weapon/grenade/chem_grenade/incendiary +/obj/item/grenade/chem_grenade/incendiary name = "incendiary grenade" desc = "Used for clearing rooms of living things." icon_state = "incendiary" @@ -230,10 +230,10 @@ stage = 2 sealed = TRUE -/obj/item/weapon/grenade/chem_grenade/incendiary/Initialize() +/obj/item/grenade/chem_grenade/incendiary/Initialize() . = ..() - var/obj/item/weapon/reagent_containers/glass/beaker/B1 = new(src) - var/obj/item/weapon/reagent_containers/glass/beaker/B2 = new(src) + var/obj/item/reagent_containers/glass/beaker/B1 = new(src) + var/obj/item/reagent_containers/glass/beaker/B2 = new(src) B1.reagents.add_reagent("aluminum", 15) B1.reagents.add_reagent("fuel",20) @@ -241,35 +241,35 @@ B2.reagents.add_reagent("sacid", 15) B1.reagents.add_reagent("fuel",20) - detonator = new/obj/item/device/assembly_holder/timer_igniter(src) + detonator = new/obj/item/assembly_holder/timer_igniter(src) beakers += B1 beakers += B2 -/obj/item/weapon/grenade/chem_grenade/antiweed +/obj/item/grenade/chem_grenade/antiweed name = "weedkiller grenade" desc = "Used for purging large areas of invasive plant species. Contents under pressure. Do not directly inhale contents." path = 1 stage = 2 sealed = TRUE -/obj/item/weapon/grenade/chem_grenade/antiweed/Initialize() +/obj/item/grenade/chem_grenade/antiweed/Initialize() . = ..() - var/obj/item/weapon/reagent_containers/glass/beaker/B1 = new(src) - var/obj/item/weapon/reagent_containers/glass/beaker/B2 = new(src) + var/obj/item/reagent_containers/glass/beaker/B1 = new(src) + var/obj/item/reagent_containers/glass/beaker/B2 = new(src) B1.reagents.add_reagent("plantbgone", 25) B1.reagents.add_reagent("potassium", 25) B2.reagents.add_reagent("phosphorus", 25) B2.reagents.add_reagent("sugar", 25) - detonator = new/obj/item/device/assembly_holder/timer_igniter(src) + detonator = new/obj/item/assembly_holder/timer_igniter(src) beakers += B1 beakers += B2 icon_state = "grenade" -/obj/item/weapon/grenade/chem_grenade/cleaner +/obj/item/grenade/chem_grenade/cleaner name = "cleaner grenade" desc = "BLAM!-brand foaming space cleaner. In a special applicator for rapid cleaning of wide areas." icon_state = "cleaner" @@ -277,21 +277,21 @@ path = 1 sealed = TRUE -/obj/item/weapon/grenade/chem_grenade/cleaner/Initialize() +/obj/item/grenade/chem_grenade/cleaner/Initialize() . = ..() - var/obj/item/weapon/reagent_containers/glass/beaker/B1 = new(src) - var/obj/item/weapon/reagent_containers/glass/beaker/B2 = new(src) + var/obj/item/reagent_containers/glass/beaker/B1 = new(src) + var/obj/item/reagent_containers/glass/beaker/B2 = new(src) B1.reagents.add_reagent("fluorosurfactant", 40) B2.reagents.add_reagent("water", 40) B2.reagents.add_reagent("cleaner", 10) - detonator = new/obj/item/device/assembly_holder/timer_igniter(src) + detonator = new/obj/item/assembly_holder/timer_igniter(src) beakers += B1 beakers += B2 -/obj/item/weapon/grenade/chem_grenade/teargas +/obj/item/grenade/chem_grenade/teargas name = "tear gas grenade" desc = "Concentrated Capsaicin. Contents under pressure. Use with caution." icon_state = "teargas" @@ -299,10 +299,10 @@ path = 1 sealed = TRUE -/obj/item/weapon/grenade/chem_grenade/teargas/Initialize() +/obj/item/grenade/chem_grenade/teargas/Initialize() . = ..() - var/obj/item/weapon/reagent_containers/glass/beaker/large/B1 = new(src) - var/obj/item/weapon/reagent_containers/glass/beaker/large/B2 = new(src) + var/obj/item/reagent_containers/glass/beaker/large/B1 = new(src) + var/obj/item/reagent_containers/glass/beaker/large/B2 = new(src) B1.reagents.add_reagent("phosphorus", 40) B1.reagents.add_reagent("potassium", 40) @@ -310,7 +310,7 @@ B2.reagents.add_reagent("sugar", 40) B2.reagents.add_reagent("condensedcapsaicin", 80) - detonator = new/obj/item/device/assembly_holder/timer_igniter(src) + detonator = new/obj/item/assembly_holder/timer_igniter(src) beakers += B1 beakers += B2 diff --git a/code/game/objects/items/weapons/grenades/concussion.dm b/code/game/objects/items/weapons/grenades/concussion.dm index fb821ab6f84..752888ad417 100644 --- a/code/game/objects/items/weapons/grenades/concussion.dm +++ b/code/game/objects/items/weapons/grenades/concussion.dm @@ -1,6 +1,6 @@ //Concussion, or 'dizzyness' grenades. -/obj/item/weapon/grenade/concussion +/obj/item/grenade/concussion name = "concussion grenade" desc = "A polymer concussion grenade, optimized for disorienting personnel without causing large amounts of injury." icon_state = "concussion" @@ -8,7 +8,7 @@ var/blast_radius = 5 -/obj/item/weapon/grenade/concussion/detonate() +/obj/item/grenade/concussion/detonate() ..() concussion_blast(get_turf(src), blast_radius) qdel(src) @@ -17,14 +17,14 @@ /obj/proc/concussion_blast(atom/target, var/radius = 5) var/turf/T = get_turf(target) if(is_below_sound_pressure(T)) - visible_message("Whump.") + visible_message(span_notice("Whump.")) return playsound(src, 'sound/effects/bang.ogg', 75, 1, -3) if(istype(T)) for(var/mob/living/L in orange(T, radius)) if(ishuman(L)) var/mob/living/carbon/human/H = L - to_chat(H, "WHUMP.") + to_chat(H, span_critical("WHUMP.")) var/ear_safety = 0 @@ -67,13 +67,13 @@ H.ear_deaf = max(H.ear_deaf,5) if(H.ear_damage >= 15) - to_chat(H, "Your ears start to ring badly!") + to_chat(H, span_danger("Your ears start to ring badly!")) if(prob(H.ear_damage - 5)) - to_chat(H, "You can't hear anything!") + to_chat(H, span_danger("You can't hear anything!")) H.sdisabilities |= DEAF else if(H.ear_damage >= 5) - to_chat(H, "Your ears start to ring!") + to_chat(H, span_danger("Your ears start to ring!")) if(istype(L, /mob/living/silicon/robot)) var/mob/living/silicon/robot/R = L if(L.client) @@ -81,5 +81,5 @@ L.client.spinleft() else L.client.spinright() - to_chat(R, "Gyroscopic failure.") - return \ No newline at end of file + to_chat(R, span_critical("Gyroscopic failure.")) + return diff --git a/code/game/objects/items/weapons/grenades/confetti.dm b/code/game/objects/items/weapons/grenades/confetti.dm index a2e5559d911..583e158f67d 100644 --- a/code/game/objects/items/weapons/grenades/confetti.dm +++ b/code/game/objects/items/weapons/grenades/confetti.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/grenade/confetti +/obj/item/grenade/confetti desc = "It is set to detonate in 2 seconds. These party grenades will make everyone jump with joy (or fright)!" name = "grenatti" icon = 'icons/obj/grenade.dmi' @@ -9,17 +9,17 @@ var/datum/effect/effect/system/confetti_spread var/confetti_strength = 8 -/obj/item/weapon/grenade/confetti/New() +/obj/item/grenade/confetti/New() ..() src.confetti_spread = new /datum/effect/effect/system/confetti_spread() src.confetti_spread.attach(src) -/obj/item/weapon/grenade/confetti/Destroy() +/obj/item/grenade/confetti/Destroy() qdel(confetti_spread) confetti_spread = null return ..() -/obj/item/weapon/grenade/confetti/detonate() //Find a good confetti firework or pop sound effect later +/obj/item/grenade/confetti/detonate() //Find a good confetti firework or pop sound effect later playsound(src.loc, 'sound/effects/snap.ogg', 50, 1, -3) src.confetti_spread.set_up(10, 0, usr.loc) spawn(0) @@ -30,7 +30,7 @@ return -/obj/item/weapon/grenade/confetti/party_ball //Intended to be used only with the confetti cannon. +/obj/item/grenade/confetti/party_ball //Intended to be used only with the confetti cannon. name = "party ball" desc = "Full of !!FUN!!" icon = 'icons/obj/grenade.dmi' @@ -39,7 +39,7 @@ det_time = 1 throwforce = 0 //Confetti cannon is only fun to shoot at people if it deals no damage. -/obj/item/weapon/grenade/confetti/party_ball/detonate() //Could condense this by making the sound a variable in the parent but I'm lazy. +/obj/item/grenade/confetti/party_ball/detonate() //Could condense this by making the sound a variable in the parent but I'm lazy. playsound(src.loc, 'sound/effects/confetti_ball.ogg', 50, 1, -3) src.confetti_spread.set_up(10, 0, usr.loc) spawn(0) diff --git a/code/game/objects/items/weapons/grenades/emgrenade.dm b/code/game/objects/items/weapons/grenades/emgrenade.dm index 89aff71bb37..2700fa04c45 100644 --- a/code/game/objects/items/weapons/grenades/emgrenade.dm +++ b/code/game/objects/items/weapons/grenades/emgrenade.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/grenade/empgrenade +/obj/item/grenade/empgrenade name = "emp grenade" icon_state = "emp" item_state = "empgrenade" @@ -8,13 +8,13 @@ var/emp_light = 7 var/emp_long = 10 -/obj/item/weapon/grenade/empgrenade/detonate() +/obj/item/grenade/empgrenade/detonate() ..() if(empulse(src, emp_heavy, emp_med, emp_light, emp_long)) qdel(src) return -/obj/item/weapon/grenade/empgrenade/low_yield +/obj/item/grenade/empgrenade/low_yield name = "low yield emp grenade" desc = "A weaker variant of the EMP grenade" icon_state = "lyemp" diff --git a/code/game/objects/items/weapons/grenades/explosive.dm b/code/game/objects/items/weapons/grenades/explosive.dm index 77e07e2c5f0..793b31baaab 100644 --- a/code/game/objects/items/weapons/grenades/explosive.dm +++ b/code/game/objects/items/weapons/grenades/explosive.dm @@ -1,5 +1,5 @@ -/obj/item/weapon/grenade/explosive +/obj/item/grenade/explosive name = "fragmentation grenade" desc = "A fragmentation grenade, optimized for harming personnel without causing massive structural damage." icon_state = "frggrenade" @@ -14,7 +14,7 @@ loadable = null hud_state = "grenade_frag" // TGMC Ammo HUD Port -/obj/item/weapon/grenade/explosive/detonate() +/obj/item/grenade/explosive/detonate() ..() var/turf/O = get_turf(src) @@ -25,12 +25,12 @@ src.fragmentate(O, num_fragments, spread_range, fragment_types) qdel(src) -/obj/item/weapon/grenade/explosive/proc/on_explosion(var/turf/O) +/obj/item/grenade/explosive/proc/on_explosion(var/turf/O) if(explosion_size) explosion(O, -1, -1, explosion_size, round(explosion_size/2), 0) // Waaaaay more pellets -/obj/item/weapon/grenade/explosive/frag +/obj/item/grenade/explosive/frag name = "fragmentation grenade" desc = "A military fragmentation grenade, designed to explode in a deadly shower of fragments." icon_state = "frag" @@ -67,7 +67,7 @@ else P.attack_mob(M, 0, 100) //otherwise, allow a decent amount of fragments to pass -/obj/item/weapon/grenade/explosive/mini +/obj/item/grenade/explosive/mini name = "mini fragmentation grenade" desc = "A miniaturized fragmentation grenade, this one poses relatively little threat on its own." icon_state = "minifrag" diff --git a/code/game/objects/items/weapons/grenades/flashbang.dm b/code/game/objects/items/weapons/grenades/flashbang.dm index d407e91cd72..9d0f1d96652 100644 --- a/code/game/objects/items/weapons/grenades/flashbang.dm +++ b/code/game/objects/items/weapons/grenades/flashbang.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/grenade/flashbang +/obj/item/grenade/flashbang name = "flashbang" icon_state = "flashbang" item_state = "flashbang" @@ -6,7 +6,7 @@ var/max_range = 10 //The maximum range possible, including species effect mods. Cuts off at 7 for normal humans. Should be 3 higher than your intended target range for affecting normal humans. var/banglet = 0 -/obj/item/weapon/grenade/flashbang/detonate() +/obj/item/grenade/flashbang/detonate() ..() for(var/obj/structure/closet/L in hear(max_range, get_turf(src))) if(locate(/mob/living/carbon/, L)) @@ -27,8 +27,8 @@ qdel(src) -/obj/item/weapon/grenade/flashbang/proc/bang(var/turf/T , var/mob/living/carbon/M) // Added a new proc called 'bang' that takes a location and a person to be banged. - to_chat(M, "BANG") // Called during the loop that bangs people in lockers/containers and when banging +/obj/item/grenade/flashbang/proc/bang(var/turf/T , var/mob/living/carbon/M) // Added a new proc called 'bang' that takes a location and a person to be banged. + to_chat(M, span_danger("BANG")) // Called during the loop that bangs people in lockers/containers and when banging playsound(src, 'sound/effects/bang.ogg', 50, 1, 30) // people in normal view. Could theroetically be called during other explosions. // -- Polymorph @@ -80,26 +80,26 @@ if(ishuman(M)) var/obj/item/organ/internal/eyes/E = H.internal_organs_by_name[O_EYES] if (E && E.damage >= E.min_bruised_damage) - to_chat(M, "Your eyes start to burn badly!") - if(!banglet && !(istype(src , /obj/item/weapon/grenade/flashbang/clusterbang))) + to_chat(M, span_danger("Your eyes start to burn badly!")) + if(!banglet && !(istype(src , /obj/item/grenade/flashbang/clusterbang))) if (E.damage >= E.min_broken_damage) - to_chat(M, "You can't see anything!") + to_chat(M, span_danger("You can't see anything!")) if (M.ear_damage >= 15) - to_chat(M, "Your ears start to ring badly!") - if(!banglet && !(istype(src , /obj/item/weapon/grenade/flashbang/clusterbang))) + to_chat(M, span_danger("Your ears start to ring badly!")) + if(!banglet && !(istype(src , /obj/item/grenade/flashbang/clusterbang))) if (prob(M.ear_damage - 10 + 5)) - to_chat(M, "You can't hear anything!") + to_chat(M, span_danger("You can't hear anything!")) M.sdisabilities |= DEAF else if(M.ear_damage >= 5) - to_chat(M, "Your ears start to ring!") + to_chat(M, span_danger("Your ears start to ring!")) -/obj/item/weapon/grenade/flashbang/Destroy() +/obj/item/grenade/flashbang/Destroy() walk(src, 0) // Because we might have called walk_away, we must stop the walk loop or BYOND keeps an internal reference to us forever. return ..() -/obj/item/weapon/grenade/flashbang/clusterbang//Created by Polymorph, fixed by Sieve - desc = "Use of this weapon may constiute a war crime in your area, consult your local Site Manager." +/obj/item/grenade/flashbang/clusterbang//Created by Polymorph, fixed by Sieve + desc = "Use of this weapon may constiute a war crime in your area, consult your local " + JOB_SITE_MANAGER + "." name = "clusterbang" icon = 'icons/obj/grenade.dmi' icon_state = "clusterbang" @@ -107,7 +107,7 @@ var/min_banglets = 4 var/max_banglets = 8 -/obj/item/weapon/grenade/flashbang/clusterbang/detonate() +/obj/item/grenade/flashbang/clusterbang/detonate() var/numspawned = rand(min_banglets, max_banglets) var/again = 0 @@ -118,16 +118,16 @@ numspawned-- for(var/do_spawn = numspawned, do_spawn > 0, do_spawn--) - new /obj/item/weapon/grenade/flashbang/cluster(src.loc)//Launches flashbangs + new /obj/item/grenade/flashbang/cluster(src.loc)//Launches flashbangs playsound(src, 'sound/weapons/armbomb.ogg', 75, 1, -3) for(var/do_again = again, do_again > 0, do_again--) - new /obj/item/weapon/grenade/flashbang/clusterbang/segment(src.loc)//Creates a 'segment' that launches a few more flashbangs + new /obj/item/grenade/flashbang/clusterbang/segment(src.loc)//Creates a 'segment' that launches a few more flashbangs playsound(src, 'sound/weapons/armbomb.ogg', 75, 1, -3) qdel(src) return -/obj/item/weapon/grenade/flashbang/clusterbang/segment +/obj/item/grenade/flashbang/clusterbang/segment desc = "A smaller segment of a clusterbang. Better run." name = "clusterbang segment" icon = 'icons/obj/grenade.dmi' @@ -135,7 +135,7 @@ can_repeat = FALSE banglet = TRUE -/obj/item/weapon/grenade/flashbang/clusterbang/segment/New()//Segments should never exist except part of the clusterbang, since these immediately 'do their thing' and asplode +/obj/item/grenade/flashbang/clusterbang/segment/New()//Segments should never exist except part of the clusterbang, since these immediately 'do their thing' and asplode ..() icon_state = "clusterbang_segment_active" @@ -148,10 +148,10 @@ spawn(dettime) detonate() -/obj/item/weapon/grenade/flashbang/cluster +/obj/item/grenade/flashbang/cluster banglet = TRUE -/obj/item/weapon/grenade/flashbang/cluster/New()//Same concept as the segments, so that all of the parts don't become reliant on the clusterbang +/obj/item/grenade/flashbang/cluster/New()//Same concept as the segments, so that all of the parts don't become reliant on the clusterbang ..() icon_state = "flashbang_active" @@ -162,4 +162,4 @@ var/dettime = rand(15,60) spawn(dettime) - detonate() \ No newline at end of file + detonate() diff --git a/code/game/objects/items/weapons/grenades/grenade.dm b/code/game/objects/items/weapons/grenades/grenade.dm index 6bf22d153d0..f83215a6c28 100644 --- a/code/game/objects/items/weapons/grenades/grenade.dm +++ b/code/game/objects/items/weapons/grenades/grenade.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/grenade +/obj/item/grenade name = "grenade" desc = "A hand held grenade, with an adjustable timer." w_class = ITEMSIZE_SMALL @@ -16,9 +16,12 @@ var/hud_state = "grenade_he" // TGMC Ammo HUD Port var/hud_state_empty = "grenade_empty" // TGMC Ammo HUD Port -/obj/item/weapon/grenade/proc/clown_check(var/mob/living/user) + pickup_sound = 'sound/items/pickup/device.ogg' + drop_sound = 'sound/items/drop/device.ogg' + +/obj/item/grenade/proc/clown_check(var/mob/living/user) if((CLUMSY in user.mutations) && prob(50)) - to_chat(user, "Huh? How does this thing work?") + to_chat(user, span_warning("Huh? How does this thing work?")) activate(user) add_fingerprint(user) @@ -28,11 +31,11 @@ return 1 -/*/obj/item/weapon/grenade/afterattack(atom/target as mob|obj|turf|area, mob/user as mob) - if (istype(target, /obj/item/weapon/storage)) return ..() // Trying to put it in a full container - if (istype(target, /obj/item/weapon/gun/grenadelauncher)) return ..() +/*/obj/item/grenade/afterattack(atom/target as mob|obj|turf|area, mob/user as mob) + if (istype(target, /obj/item/storage)) return ..() // Trying to put it in a full container + if (istype(target, /obj/item/gun/grenadelauncher)) return ..() if((user.get_active_hand() == src) && (!active) && (clown_check(user)) && target.loc != src.loc) - to_chat(user, "You prime the [name]! [det_time/10] seconds!") + to_chat(user, span_warning("You prime the [name]! [det_time/10] seconds!")) active = 1 icon_state = initial(icon_state) + "_active" playsound(src, 'sound/weapons/armbomb.ogg', 75, 1, -3) @@ -46,7 +49,7 @@ return*/ -/obj/item/weapon/grenade/examine(mob/user) +/obj/item/grenade/examine(mob/user) . = ..() if(get_dist(user, src) == 0) if(det_time > 1) @@ -55,10 +58,10 @@ . += "\The [src] is set for instant detonation." -/obj/item/weapon/grenade/attack_self(mob/user as mob) +/obj/item/grenade/attack_self(mob/user as mob) if(!active) if(clown_check(user)) - to_chat(user, "You prime \the [name]! [det_time/10] seconds!") + to_chat(user, span_warning("You prime \the [name]! [det_time/10] seconds!")) activate(user) add_fingerprint(user) @@ -68,7 +71,7 @@ return -/obj/item/weapon/grenade/proc/activate(mob/user as mob) +/obj/item/grenade/proc/activate(mob/user as mob) if(active) return @@ -84,36 +87,36 @@ return -/obj/item/weapon/grenade/proc/detonate() +/obj/item/grenade/proc/detonate() // playsound(src, 'sound/items/Welder2.ogg', 25, 1) var/turf/T = get_turf(src) if(T) T.hotspot_expose(700,125) -/obj/item/weapon/grenade/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/item/grenade/attackby(obj/item/W as obj, mob/user as mob) if(W.has_tool_quality(TOOL_SCREWDRIVER)) switch(det_time) if (1) det_time = 10 - to_chat(user, "You set the [name] for 1 second detonation time.") + to_chat(user, span_notice("You set the [name] for 1 second detonation time.")) if (10) det_time = 30 - to_chat(user, "You set the [name] for 3 second detonation time.") + to_chat(user, span_notice("You set the [name] for 3 second detonation time.")) if (30) det_time = 50 - to_chat(user, "You set the [name] for 5 second detonation time.") + to_chat(user, span_notice("You set the [name] for 5 second detonation time.")) if (50) det_time = 1 - to_chat(user, "You set the [name] for instant detonation.") + to_chat(user, span_notice("You set the [name] for instant detonation.")) add_fingerprint(user) ..() return -/obj/item/weapon/grenade/attack_hand() +/obj/item/grenade/attack_hand() walk(src, null, null) ..() return -/obj/item/weapon/grenade/vendor_action(var/obj/machinery/vending/V) - activate(V) \ No newline at end of file +/obj/item/grenade/vendor_action(var/obj/machinery/vending/V) + activate(V) diff --git a/code/game/objects/items/weapons/grenades/projectile.dm b/code/game/objects/items/weapons/grenades/projectile.dm index 8ea02c9adde..ac5e2e3a468 100644 --- a/code/game/objects/items/weapons/grenades/projectile.dm +++ b/code/game/objects/items/weapons/grenades/projectile.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/grenade/shooter +/obj/item/grenade/shooter name = "projectile grenade" // I have no idea what else to call this, but the base type should never be used icon_state = "frggrenade" item_state = "grenade" @@ -10,7 +10,7 @@ loadable = FALSE -/obj/item/weapon/grenade/shooter/detonate() +/obj/item/grenade/shooter/detonate() ..() var/turf/O = get_turf(src) @@ -23,28 +23,28 @@ -/obj/item/weapon/grenade/shooter/rubber +/obj/item/grenade/shooter/rubber name = "rubber pellet grenade" desc = "An anti-riot grenade that fires a cloud of rubber projectiles upon detonation." projectile_types = list(/obj/item/projectile/bullet/pistol/rubber) // Exists mostly so I don't have to copy+paste the sprite vars to a billion things -/obj/item/weapon/grenade/shooter/energy +/obj/item/grenade/shooter/energy icon_state = "flashbang" item_state = "flashbang" spread_range = 3 // Because dear god -/obj/item/weapon/grenade/shooter/energy/laser +/obj/item/grenade/shooter/energy/laser name = "laser grenade" desc = "A horrifically dangerous rave in a can." projectile_types = list(/obj/item/projectile/beam/midlaser) -/obj/item/weapon/grenade/shooter/energy/flash +/obj/item/grenade/shooter/energy/flash name = "flash grenade" desc = "A grenade that creates a large number of flashes upon detonation." projectile_types = list(/obj/item/projectile/energy/flash) -/obj/item/weapon/grenade/shooter/energy/tesla +/obj/item/grenade/shooter/energy/tesla name = "tesla grenade" projectile_types = list(/obj/item/projectile/beam/chain_lightning/lesser) diff --git a/code/game/objects/items/weapons/grenades/smokebomb.dm b/code/game/objects/items/weapons/grenades/smokebomb.dm index e06aaf53320..62ebd2ddcb3 100644 --- a/code/game/objects/items/weapons/grenades/smokebomb.dm +++ b/code/game/objects/items/weapons/grenades/smokebomb.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/grenade/smokebomb +/obj/item/grenade/smokebomb desc = "It is set to detonate in 2 seconds. These high-tech grenades can have their color adapted on the fly with a multitool!" name = "smoke bomb" icon = 'icons/obj/grenade.dmi' @@ -11,17 +11,17 @@ var/smoke_color var/smoke_strength = 8 -/obj/item/weapon/grenade/smokebomb/New() +/obj/item/grenade/smokebomb/New() ..() src.smoke = new /datum/effect/effect/system/smoke_spread/bad() src.smoke.attach(src) -/obj/item/weapon/grenade/smokebomb/Destroy() +/obj/item/grenade/smokebomb/Destroy() qdel(smoke) smoke = null return ..() -/obj/item/weapon/grenade/smokebomb/detonate() +/obj/item/grenade/smokebomb/detonate() playsound(src, 'sound/effects/smoke.ogg', 50, 1, -3) src.smoke.set_up(10, 0, usr.loc) spawn(0) @@ -32,8 +32,8 @@ return -/obj/item/weapon/grenade/smokebomb/attackby(obj/item/I as obj, mob/user as mob) - if(istype(I,/obj/item/device/multitool)) +/obj/item/grenade/smokebomb/attackby(obj/item/I as obj, mob/user as mob) + if(istype(I,/obj/item/multitool)) var/new_smoke_color = input(user, "Choose a color for the smoke:", "Smoke Color", smoke_color) as color|null if(new_smoke_color) smoke_color = new_smoke_color diff --git a/code/game/objects/items/weapons/grenades/spawnergrenade.dm b/code/game/objects/items/weapons/grenades/spawnergrenade.dm index 1356b3a9479..a0967c8b970 100644 --- a/code/game/objects/items/weapons/grenades/spawnergrenade.dm +++ b/code/game/objects/items/weapons/grenades/spawnergrenade.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/grenade/spawnergrenade +/obj/item/grenade/spawnergrenade desc = "It is set to detonate in 5 seconds. It will unleash an unspecified anomaly into the vicinity." name = "delivery grenade" icon = 'icons/obj/grenade.dmi' @@ -10,7 +10,7 @@ var/deliveryamt = 1 // amount of type to deliver // Detonate now just handles the two loops that query for people in lockers and people who can see it. -/obj/item/weapon/grenade/spawnergrenade/detonate() +/obj/item/grenade/spawnergrenade/detonate() if(spawner_type && deliveryamt) // Make a quick flash @@ -29,45 +29,45 @@ qdel(src) return -/obj/item/weapon/grenade/spawnergrenade/manhacks +/obj/item/grenade/spawnergrenade/manhacks name = "manhack delivery grenade" spawner_type = /mob/living/simple_mob/mechanical/viscerator deliveryamt = 5 origin_tech = list(TECH_MATERIAL = 3, TECH_MAGNET = 4, TECH_ILLEGAL = 4) -/obj/item/weapon/grenade/spawnergrenade/manhacks/mercenary +/obj/item/grenade/spawnergrenade/manhacks/mercenary spawner_type = /mob/living/simple_mob/mechanical/viscerator/mercenary -/obj/item/weapon/grenade/spawnergrenade/manhacks/raider +/obj/item/grenade/spawnergrenade/manhacks/raider spawner_type = /mob/living/simple_mob/mechanical/viscerator/raider -/obj/item/weapon/grenade/spawnergrenade/manhacks/station +/obj/item/grenade/spawnergrenade/manhacks/station desc = "It is set to detonate in 5 seconds. It will deploy three weaponized survey drones." deliveryamt = 3 spawner_type = /mob/living/simple_mob/mechanical/viscerator/station origin_tech = list(TECH_MATERIAL = 3, TECH_MAGNET = 3, TECH_ILLEGAL = 1) -/obj/item/weapon/grenade/spawnergrenade/ward +/obj/item/grenade/spawnergrenade/ward name = "sentry delivery grenade" desc = "It is set to detonate in 5 seconds. It will deploy a single thermal-optic sentry drone." spawner_type = /mob/living/simple_mob/mechanical/ward/monitor/crew deliveryamt = 1 origin_tech = list(TECH_MATERIAL = 4, TECH_MAGNET = 3, TECH_BLUESPACE = 2) -/obj/item/weapon/grenade/spawnergrenade/spesscarp +/obj/item/grenade/spawnergrenade/spesscarp name = "carp delivery grenade" spawner_type = /mob/living/simple_mob/animal/space/carp deliveryamt = 5 origin_tech = list(TECH_MATERIAL = 3, TECH_MAGNET = 4, TECH_ILLEGAL = 4) -/obj/item/weapon/grenade/spawnergrenade/spider +/obj/item/grenade/spawnergrenade/spider name = "spider delivery grenade" spawner_type = /mob/living/simple_mob/animal/giant_spider/hunter deliveryamt = 3 origin_tech = list(TECH_MATERIAL = 3, TECH_MAGNET = 4, TECH_ILLEGAL = 4) //Sometimes you just need a sudden influx of spiders. -/obj/item/weapon/grenade/spawnergrenade/spider/briefcase +/obj/item/grenade/spawnergrenade/spider/briefcase name = "briefcase" desc = "It's made of AUTHENTIC faux-leather and has a price-tag still attached. Its owner must be a real professional." icon_state = "briefcase" diff --git a/code/game/objects/items/weapons/grenades/spawnergrenade_vr.dm b/code/game/objects/items/weapons/grenades/spawnergrenade_vr.dm index 1a807623960..0544193589d 100644 --- a/code/game/objects/items/weapons/grenades/spawnergrenade_vr.dm +++ b/code/game/objects/items/weapons/grenades/spawnergrenade_vr.dm @@ -1,9 +1,9 @@ -/obj/item/weapon/grenade/spawnergrenade/manhacks/station/locked +/obj/item/grenade/spawnergrenade/manhacks/station/locked desc = "It is set to detonate in 5 seconds. It will deploy three weaponized survey drones. This one has a safety interlock that prevents release if used while in proximity to the facility." req_access = list(access_armory) //for toggling safety var/locked = 1 -/obj/item/weapon/grenade/spawnergrenade/manhacks/station/locked/detonate() +/obj/item/grenade/spawnergrenade/manhacks/station/locked/detonate() if(locked) var/turf/T = get_turf(src) if(T.z in using_map.station_levels) @@ -12,19 +12,19 @@ return 0 return ..() -/obj/item/weapon/grenade/spawnergrenade/manhacks/station/locked/attackby(obj/item/I, mob/user) - var/obj/item/weapon/card/id/id = I.GetID() +/obj/item/grenade/spawnergrenade/manhacks/station/locked/attackby(obj/item/I, mob/user) + var/obj/item/card/id/id = I.GetID() if(istype(id)) if(check_access(id)) locked = !locked - to_chat(user, "You [locked ? "enable" : "disable"] the safety lock on \the [src].") + to_chat(user, span_warning("You [locked ? "enable" : "disable"] the safety lock on \the [src].")) else - to_chat(user, "Access denied.") - user.visible_message("[user] swipes \the [I] against \the [src].") + to_chat(user, span_warning("Access denied.")) + user.visible_message(span_notice("[user] swipes \the [I] against \the [src].")) else return ..() -/obj/item/weapon/grenade/spawnergrenade/manhacks/station/locked/emag_act(var/remaining_charges,var/mob/user) +/obj/item/grenade/spawnergrenade/manhacks/station/locked/emag_act(var/remaining_charges,var/mob/user) ..() locked = !locked - to_chat(user, "You [locked ? "enable" : "disable"] the safety lock on \the [src]!") \ No newline at end of file + to_chat(user, span_warning("You [locked ? "enable" : "disable"] the safety lock on \the [src]!")) diff --git a/code/game/objects/items/weapons/grenades/supermatter.dm b/code/game/objects/items/weapons/grenades/supermatter.dm index 988c00d0b26..bbbd38be827 100644 --- a/code/game/objects/items/weapons/grenades/supermatter.dm +++ b/code/game/objects/items/weapons/grenades/supermatter.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/grenade/supermatter +/obj/item/grenade/supermatter name = "supermatter grenade" icon_state = "banana" item_state = "emergency_engi" @@ -6,24 +6,24 @@ arm_sound = 'sound/effects/3.wav' var/implode_at -/obj/item/weapon/grenade/supermatter/Destroy() +/obj/item/grenade/supermatter/Destroy() if(implode_at) STOP_PROCESSING(SSobj, src) . = ..() -/obj/item/weapon/grenade/supermatter/detonate() +/obj/item/grenade/supermatter/detonate() ..() START_PROCESSING(SSobj, src) implode_at = world.time + 10 SECONDS update_icon() playsound(src, 'sound/weapons/wave.ogg', 100) -/obj/item/weapon/grenade/supermatter/update_icon() +/obj/item/grenade/supermatter/update_icon() cut_overlays() if(implode_at) add_overlay(image(icon = 'icons/rust.dmi', icon_state = "emfield_s1")) -/obj/item/weapon/grenade/supermatter/process() +/obj/item/grenade/supermatter/process() if(!isturf(loc)) if(ismob(loc)) var/mob/M = loc diff --git a/code/game/objects/items/weapons/handcuffs.dm b/code/game/objects/items/weapons/handcuffs.dm index ea8a677f15f..41b11771e62 100644 --- a/code/game/objects/items/weapons/handcuffs.dm +++ b/code/game/objects/items/weapons/handcuffs.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/handcuffs +/obj/item/handcuffs name = "handcuffs" desc = "Use this to keep prisoners in line." gender = PLURAL @@ -21,19 +21,19 @@ var/use_time = 30 sprite_sheets = list(SPECIES_TESHARI = 'icons/mob/species/teshari/handcuffs.dmi') -/obj/item/weapon/handcuffs/get_worn_icon_state(var/slot_name) +/obj/item/handcuffs/get_worn_icon_state(var/slot_name) if(slot_name == slot_handcuffed_str) return "handcuff1" //Simple return ..() -/obj/item/weapon/handcuffs/attack(var/mob/living/carbon/C, var/mob/living/user) +/obj/item/handcuffs/attack(var/mob/living/carbon/C, var/mob/living/user) if(!user.IsAdvancedToolUser()) return if ((CLUMSY in user.mutations) && prob(50)) - to_chat(user, "Uh ... how do those things work?!") + to_chat(user, span_warning("Uh ... how do those things work?!")) place_handcuffs(user, user) return @@ -46,21 +46,21 @@ if(can_place(C, user)) place_handcuffs(C, user) else - to_chat(user, "You need to have a firm grip on [C] before you can put \the [src] on!") + to_chat(user, span_danger("You need to have a firm grip on [C] before you can put \the [src] on!")) -/obj/item/weapon/handcuffs/proc/can_place(var/mob/target, var/mob/user) +/obj/item/handcuffs/proc/can_place(var/mob/target, var/mob/user) if(user == target) return 1 if(istype(user, /mob/living/silicon/robot)) if(user.Adjacent(target)) return 1 else - for(var/obj/item/weapon/grab/G in target.grabbed_by) + for(var/obj/item/grab/G in target.grabbed_by) if(G.loc == user && G.state >= GRAB_AGGRESSIVE) return 1 return 0 -/obj/item/weapon/handcuffs/proc/place_handcuffs(var/mob/living/carbon/target, var/mob/user) +/obj/item/handcuffs/proc/place_handcuffs(var/mob/living/carbon/target, var/mob/user) playsound(src, cuff_sound, 30, 1, -2) var/mob/living/carbon/human/H = target @@ -68,14 +68,14 @@ return 0 if (!H.has_organ_for_slot(slot_handcuffed)) - to_chat(user, "\The [H] needs at least two wrists before you can cuff them together!") + to_chat(user, span_danger("\The [H] needs at least two wrists before you can cuff them together!")) return 0 if(istype(H.gloves,/obj/item/clothing/gloves/gauntlets/rig) && !elastic) // Can't cuff someone who's in a deployed hardsuit. - to_chat(user, "\The [src] won't fit around \the [H.gloves]!") + to_chat(user, span_danger("\The [src] won't fit around \the [H.gloves]!")) return 0 - user.visible_message("\The [user] is attempting to put [cuff_type] on \the [H]!") + user.visible_message(span_danger("\The [user] is attempting to put [cuff_type] on \the [H]!")) if(!do_after(user,use_time)) return 0 @@ -89,10 +89,10 @@ user.setClickCooldown(user.get_attack_speed(src)) user.do_attack_animation(H) - user.visible_message("\The [user] has put [cuff_type] on \the [H]!") + user.visible_message(span_danger("\The [user] has put [cuff_type] on \the [H]!")) // Apply cuffs. - var/obj/item/weapon/handcuffs/cuffs = src + var/obj/item/handcuffs/cuffs = src if(dispenser) cuffs = new(get_turf(user)) else @@ -105,7 +105,7 @@ target.stop_pulling() return 1 -/obj/item/weapon/handcuffs/equipped(var/mob/living/user,var/slot) +/obj/item/handcuffs/equipped(var/mob/living/user,var/slot) . = ..() if(slot == slot_handcuffed) user.drop_r_hand() @@ -129,8 +129,8 @@ var/last_chew = 0 var/datum/gender/T = gender_datums[H.get_visible_gender()] - var/s = "[H.name] chews on [T.his] [O.name]!" - H.visible_message(s, "You chew on your [O.name]!") + var/s = span_warning("[H.name] chews on [T.his] [O.name]!") + H.visible_message(s, span_warning("You chew on your [O.name]!")) add_attack_logs(H,H,"chewed own [O.name]") if(O.take_damage(3,0,1,1,"teeth marks")) @@ -138,13 +138,13 @@ var/last_chew = 0 last_chew = world.time -/obj/item/weapon/handcuffs/fuzzy +/obj/item/handcuffs/fuzzy name = "fuzzy cuffs" icon_state = "fuzzycuff" breakouttime = 100 //VOREstation edit desc = "Use this to keep... 'prisoners' in line." -/obj/item/weapon/handcuffs/cable +/obj/item/handcuffs/cable name = "cable restraints" desc = "Looks like some cables tied together. Could be used to tie something up." icon_state = "cuff_white" @@ -153,34 +153,34 @@ var/last_chew = 0 cuff_type = "cable restraints" elastic = 1 -/obj/item/weapon/handcuffs/cable/red +/obj/item/handcuffs/cable/red color = "#DD0000" -/obj/item/weapon/handcuffs/cable/yellow +/obj/item/handcuffs/cable/yellow color = "#DDDD00" -/obj/item/weapon/handcuffs/cable/blue +/obj/item/handcuffs/cable/blue color = "#0000DD" -/obj/item/weapon/handcuffs/cable/green +/obj/item/handcuffs/cable/green color = "#00DD00" -/obj/item/weapon/handcuffs/cable/pink +/obj/item/handcuffs/cable/pink color = "#DD00DD" -/obj/item/weapon/handcuffs/cable/orange +/obj/item/handcuffs/cable/orange color = "#DD8800" -/obj/item/weapon/handcuffs/cable/cyan +/obj/item/handcuffs/cable/cyan color = "#00DDDD" -/obj/item/weapon/handcuffs/cable/white +/obj/item/handcuffs/cable/white color = "#FFFFFF" -/obj/item/weapon/handcuffs/cyborg +/obj/item/handcuffs/cyborg dispenser = 1 -/obj/item/weapon/handcuffs/cable/tape +/obj/item/handcuffs/cable/tape name = "tape restraints" desc = "DIY!" icon_state = "tape_cross" @@ -189,11 +189,11 @@ var/last_chew = 0 breakouttime = 200 cuff_type = "duct tape" -/obj/item/weapon/handcuffs/cable/tape/cyborg +/obj/item/handcuffs/cable/tape/cyborg dispenser = TRUE //Legcuffs. Not /really/ handcuffs, but its close enough. -/obj/item/weapon/handcuffs/legcuffs +/obj/item/handcuffs/legcuffs name = "legcuffs" desc = "Use this to keep prisoners in line." gender = PLURAL @@ -208,18 +208,18 @@ var/last_chew = 0 elastic = 0 cuff_sound = 'sound/weapons/handcuffs.ogg' //This shold work for now. -/obj/item/weapon/handcuffs/legcuffs/get_worn_icon_state(var/slot_name) +/obj/item/handcuffs/legcuffs/get_worn_icon_state(var/slot_name) if(slot_name == slot_legcuffed_str) return "legcuff1" return ..() -/obj/item/weapon/handcuffs/legcuffs/attack(var/mob/living/carbon/C, var/mob/living/user) +/obj/item/handcuffs/legcuffs/attack(var/mob/living/carbon/C, var/mob/living/user) if(!user.IsAdvancedToolUser()) return if ((CLUMSY in user.mutations) && prob(50)) - to_chat(user, "Uh ... how do those things work?!") + to_chat(user, span_warning("Uh ... how do those things work?!")) place_legcuffs(user, user) return @@ -232,9 +232,9 @@ var/last_chew = 0 if(can_place(C, user)) place_legcuffs(C, user) else - to_chat(user, "You need to have a firm grip on [C] before you can put \the [src] on!") + to_chat(user, span_danger("You need to have a firm grip on [C] before you can put \the [src] on!")) -/obj/item/weapon/handcuffs/legcuffs/proc/place_legcuffs(var/mob/living/carbon/target, var/mob/user) +/obj/item/handcuffs/legcuffs/proc/place_legcuffs(var/mob/living/carbon/target, var/mob/user) playsound(src, cuff_sound, 30, 1, -2) var/mob/living/carbon/human/H = target @@ -242,14 +242,14 @@ var/last_chew = 0 return 0 if (!H.has_organ_for_slot(slot_legcuffed)) - to_chat(user, "\The [H] needs at least two ankles before you can cuff them together!") + to_chat(user, span_danger("\The [H] needs at least two ankles before you can cuff them together!")) return 0 if(istype(H.shoes,/obj/item/clothing/shoes/magboots/rig) && !elastic) // Can't cuff someone who's in a deployed hardsuit. - to_chat(user, "\The [src] won't fit around \the [H.shoes]!") + to_chat(user, span_danger("\The [src] won't fit around \the [H.shoes]!")) return 0 - user.visible_message("\The [user] is attempting to put [cuff_type] on \the [H]!") + user.visible_message(span_danger("\The [user] is attempting to put [cuff_type] on \the [H]!")) if(!do_after(user,use_time)) return 0 @@ -263,10 +263,10 @@ var/last_chew = 0 user.setClickCooldown(user.get_attack_speed(src)) user.do_attack_animation(H) - user.visible_message("\The [user] has put [cuff_type] on \the [H]!") + user.visible_message(span_danger("\The [user] has put [cuff_type] on \the [H]!")) // Apply cuffs. - var/obj/item/weapon/handcuffs/legcuffs/lcuffs = src + var/obj/item/handcuffs/legcuffs/lcuffs = src if(dispenser) lcuffs = new(get_turf(user)) else @@ -280,7 +280,7 @@ var/last_chew = 0 target.hud_used.move_intent.icon_state = "walking" return 1 -/obj/item/weapon/handcuffs/legcuffs/equipped(var/mob/living/user,var/slot) +/obj/item/handcuffs/legcuffs/equipped(var/mob/living/user,var/slot) . = ..() if(slot == slot_legcuffed) if(user.m_intent != "walk") @@ -289,7 +289,7 @@ var/last_chew = 0 user.hud_used.move_intent.icon_state = "walking" -/obj/item/weapon/handcuffs/legcuffs/bola +/obj/item/handcuffs/legcuffs/bola name = "bola" desc = "Keeps prey in line." elastic = 1 @@ -297,15 +297,15 @@ var/last_chew = 0 breakouttime = 30 cuff_sound = 'sound/weapons/towelwipe.ogg' //Is there anything this sound can't do? -/obj/item/weapon/handcuffs/legcuffs/bola/can_place(var/mob/target, var/mob/user) +/obj/item/handcuffs/legcuffs/bola/can_place(var/mob/target, var/mob/user) if(user) //A ranged legcuff, until proper implementation as items it remains a projectile-only thing. return 1 -/obj/item/weapon/handcuffs/legcuffs/bola/dropped() - visible_message("\The [src] falls apart!") +/obj/item/handcuffs/legcuffs/bola/dropped() + visible_message(span_infoplain(span_bold("\The [src]") + " falls apart!")) qdel(src) -/obj/item/weapon/handcuffs/legcuffs/bola/place_legcuffs(var/mob/living/carbon/target, var/mob/user) +/obj/item/handcuffs/legcuffs/bola/place_legcuffs(var/mob/living/carbon/target, var/mob/user) playsound(src, cuff_sound, 30, 1, -2) var/mob/living/carbon/human/H = target @@ -314,14 +314,14 @@ var/last_chew = 0 return 0 if(!H.has_organ_for_slot(slot_legcuffed)) - H.visible_message("\The [src] slams into [H], but slides off!") + H.visible_message(span_infoplain(span_bold("\The [src]") + " slams into [H], but slides off!")) src.dropped() return 0 - H.visible_message("\The [H] has been snared by \the [src]!") + H.visible_message(span_danger("\The [H] has been snared by \the [src]!")) // Apply cuffs. - var/obj/item/weapon/handcuffs/legcuffs/lcuffs = src + var/obj/item/handcuffs/legcuffs/lcuffs = src lcuffs.loc = target target.legcuffed = lcuffs target.update_inv_legcuffed() @@ -331,7 +331,7 @@ var/last_chew = 0 target.hud_used.move_intent.icon_state = "walking" return 1 -/obj/item/weapon/handcuffs/cable/plantfiber +/obj/item/handcuffs/cable/plantfiber name = "rope bindings" desc = "A length of rope fashioned to hold someone's hands together." color = "#7e6442" diff --git a/code/game/objects/items/weapons/handcuffs_vr.dm b/code/game/objects/items/weapons/handcuffs_vr.dm index ecafc8b6c38..3482029807c 100644 --- a/code/game/objects/items/weapons/handcuffs_vr.dm +++ b/code/game/objects/items/weapons/handcuffs_vr.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/handcuffs/legcuffs/fuzzy +/obj/item/handcuffs/legcuffs/fuzzy name = "fuzzy legcuffs" desc = "Use this to keep... 'prisoners' in line." icon = 'icons/obj/items_vr.dmi' diff --git a/code/game/objects/items/weapons/hydroponics.dm b/code/game/objects/items/weapons/hydroponics.dm index 04087646f74..457f3476d71 100644 --- a/code/game/objects/items/weapons/hydroponics.dm +++ b/code/game/objects/items/weapons/hydroponics.dm @@ -3,7 +3,7 @@ */ //uncomment when this is updated to match storage update /* -/obj/item/weapon/seedbag +/obj/item/seedbag icon = 'icons/obj/hydroponics_machines.dmi' icon_state = "seedbag" name = "Seed Bag" @@ -14,11 +14,11 @@ w_class = ITEMSIZE_TINY var/list/item_quants = list() -/obj/item/weapon/seedbag/attack_self(mob/user as mob) +/obj/item/seedbag/attack_self(mob/user as mob) user.machine = src interact(user) -/obj/item/weapon/seedbag/verb/toggle_mode() +/obj/item/seedbag/verb/toggle_mode() set name = "Switch Bagging Method" set category = "Object" @@ -31,8 +31,8 @@ /obj/item/seeds/attackby(var/obj/item/O as obj, var/mob/user as mob) ..() - if (istype(O, /obj/item/weapon/seedbag)) - var/obj/item/weapon/seedbag/S = O + if (istype(O, /obj/item/seedbag)) + var/obj/item/seedbag/S = O if (S.mode == 1) for (var/obj/item/seeds/G in locate(src.x,src.y,src.z)) if (S.contents.len < S.capacity) @@ -42,10 +42,10 @@ else S.item_quants[G.name] = 1 else - to_chat(user, "The seed bag is full.") + to_chat(user, span_warning("The seed bag is full.")) S.updateUsrDialog() return - to_chat(user, "You pick up all the seeds.") + to_chat(user, span_notice("You pick up all the seeds.")) else if (S.contents.len < S.capacity) S.contents += src; @@ -54,11 +54,11 @@ else S.item_quants[name] = 1 else - to_chat(user, "The seed bag is full.") + to_chat(user, span_warning("The seed bag is full.")) S.updateUsrDialog() return -/obj/item/weapon/seedbag/interact(mob/user as mob) +/obj/item/seedbag/interact(mob/user as mob) var/dat = "Select an item:
" @@ -79,7 +79,7 @@ onclose(user, "seedbag") return -/obj/item/weapon/seedbag/Topic(href, href_list) +/obj/item/seedbag/Topic(href, href_list) if(..()) return @@ -105,7 +105,7 @@ src.updateUsrDialog() return -/obj/item/weapon/seedbag/updateUsrDialog() +/obj/item/seedbag/updateUsrDialog() var/list/nearby = range(1, src) for(var/mob/M in nearby) if ((M.client && M.machine == src)) diff --git a/code/game/objects/items/weapons/id cards/YW_ids.dm b/code/game/objects/items/weapons/id cards/YW_ids.dm index de166d79067..f572435f855 100644 --- a/code/game/objects/items/weapons/id cards/YW_ids.dm +++ b/code/game/objects/items/weapons/id cards/YW_ids.dm @@ -1,6 +1,6 @@ -/obj/item/weapon/card/id/blueshield +/obj/item/card/id/blueshield assignment = "Blueshield Guard" rank= "Blueshield Guard" //icon_state = "blueshield" initial_sprite_stack = list("base-stamp-dark", "top-blue", "stamp-n", "pips-blue", "stripe-blue") - preserve_item = 0 \ No newline at end of file + preserve_item = 0 diff --git a/code/game/objects/items/weapons/id cards/cards.dm b/code/game/objects/items/weapons/id cards/cards.dm index 7b038025b6b..861841a21ff 100644 --- a/code/game/objects/items/weapons/id cards/cards.dm +++ b/code/game/objects/items/weapons/id cards/cards.dm @@ -11,7 +11,7 @@ /* * DATA CARDS - Used for the teleporter */ -/obj/item/weapon/card +/obj/item/card name = "card" desc = "A tiny plaque of plastic. Does card things." icon = 'icons/obj/card_new.dmi' @@ -27,15 +27,15 @@ drop_sound = 'sound/items/drop/card.ogg' pickup_sound = 'sound/items/pickup/card.ogg' -/obj/item/weapon/card/New() +/obj/item/card/New() . = ..() reset_icon() -/obj/item/weapon/card/proc/reset_icon() +/obj/item/card/proc/reset_icon() sprite_stack = initial_sprite_stack update_icon() -/obj/item/weapon/card/update_icon() +/obj/item/card/update_icon() if(!sprite_stack || !istype(sprite_stack) || sprite_stack == list("")) icon = base_icon icon_state = initial(icon_state) @@ -52,7 +52,7 @@ if(I) icon = I -/obj/item/weapon/card/data +/obj/item/card/data name = "data card" desc = "A solid-state storage card, used to back up or transfer information. What knowledge could it contain?" icon_state = "data" @@ -63,7 +63,7 @@ drop_sound = 'sound/items/drop/disk.ogg' pickup_sound = 'sound/items/pickup/disk.ogg' -/obj/item/weapon/card/data/verb/label(t as text) +/obj/item/card/data/verb/label(t as text) set name = "Label Card" set category = "Object" set src in usr @@ -75,7 +75,7 @@ src.add_fingerprint(usr) return -/obj/item/weapon/card/data/clown +/obj/item/card/data/clown name = "\proper the coordinates to clown planet" icon_state = "rainbow" item_state = "card-id" @@ -88,14 +88,14 @@ * ID CARDS */ -/obj/item/weapon/card/emag_broken +/obj/item/card/emag_broken desc = "It's a card with a magnetic strip attached to some circuitry. It looks too busted to be used for anything but salvage." name = "broken cryptographic sequencer" icon_state = "emag-spent" item_state = "card-id" origin_tech = list(TECH_MAGNET = 2, TECH_ILLEGAL = 2) -/obj/item/weapon/card/emag +/obj/item/card/emag desc = "It's a card with a magnetic strip attached to some circuitry." name = "cryptographic sequencer" icon_state = "emag" @@ -103,7 +103,7 @@ origin_tech = list(TECH_MAGNET = 2, TECH_ILLEGAL = 2) var/uses = 10 -/obj/item/weapon/card/emag/resolve_attackby(atom/A, mob/user, var/click_parameters) +/obj/item/card/emag/resolve_attackby(atom/A, mob/user, attack_modifier, var/click_parameters) var/used_uses = A.emag_act(uses, user, src) if(used_uses < 0) return ..(A, user, click_parameters) @@ -118,31 +118,31 @@ // Vorestation Edit: End of Edit if(uses<1) - user.visible_message("\The [src] fizzles and sparks - it seems it's been used once too often, and is now spent.") + user.visible_message(span_warning("\The [src] fizzles and sparks - it seems it's been used once too often, and is now spent.")) user.drop_item() - var/obj/item/weapon/card/emag_broken/junk = new(user.loc) + var/obj/item/card/emag_broken/junk = new(user.loc) junk.add_fingerprint(user) qdel(src) return 1 -/obj/item/weapon/card/emag/attackby(obj/item/O as obj, mob/user as mob) +/obj/item/card/emag/attackby(obj/item/O as obj, mob/user as mob) if(istype(O, /obj/item/stack/telecrystal)) var/obj/item/stack/telecrystal/T = O if(T.get_amount() < 1) - to_chat(usr, "You are not adding enough telecrystals to fuel \the [src].") + to_chat(user, span_notice("You are not adding enough telecrystals to fuel \the [src].")) return uses += T.get_amount()*0.5 //Gives 5 uses per 10 TC uses = CEILING(uses, 1) //Ensures no decimal uses nonsense, rounds up to be nice - to_chat(usr, "You add \the [O] to \the [src]. Increasing the uses of \the [src] to [uses].") + to_chat(user, span_notice("You add \the [O] to \the [src]. Increasing the uses of \the [src] to [uses].")) qdel(O) -/obj/item/weapon/card/emag/borg +/obj/item/card/emag/borg uses = 12 var/burnt_out = FALSE -/obj/item/weapon/card/emag/borg/afterattack(atom/A, mob/user, proximity, var/click_parameters) +/obj/item/card/emag/borg/afterattack(atom/A, mob/user, proximity, var/click_parameters) if(!proximity || burnt_out) return var/used_uses = A.emag_act(uses, user, src) if(used_uses < 0) @@ -158,14 +158,14 @@ // Vorestation Edit: End of Edit if(uses<1) - user.visible_message("\The [src] fizzles and sparks - it seems it's been used once too often, and is now spent.") + user.visible_message(span_warning("\The [src] fizzles and sparks - it seems it's been used once too often, and is now spent.")) burnt_out = TRUE return 1 /// FLUFF PERMIT -/obj/item/weapon/card_fluff +/obj/item/card_fluff name = "fluff card" desc = "A tiny plaque of plastic. Purely decorative?" description_fluff = "This permit was not issued by any branch of NanoTrasen, and as such it is not formally recognized at any NanoTrasen-operated installations. The bearer is not - under any circumstances - entitled to ownership of any items or allowed to perform any acts that would normally be restricted or illegal for their current position, regardless of what they or this permit may claim." @@ -180,11 +180,11 @@ drop_sound = 'sound/items/drop/card.ogg' pickup_sound = 'sound/items/pickup/card.ogg' -/obj/item/weapon/card_fluff/proc/reset_icon() +/obj/item/card_fluff/proc/reset_icon() sprite_stack = list("") update_icon() -/obj/item/weapon/card_fluff/update_icon() +/obj/item/card_fluff/update_icon() if(!sprite_stack || !istype(sprite_stack) || sprite_stack == list("")) icon = base_icon icon_state = initial(icon_state) @@ -201,13 +201,13 @@ if(I) icon = I -/obj/item/weapon/card_fluff/attack_self() +/obj/item/card_fluff/attack_self(mob/user) - var/choice = tgui_input_list(usr, "What element would you like to customize?", "Customize Card", list("Band","Stamp","Reset")) + var/choice = tgui_input_list(user, "What element would you like to customize?", "Customize Card", list("Band","Stamp","Reset")) if(!choice) return if(choice == "Band") - var/bandchoice = tgui_input_list(usr, "Select colour", "Band colour", list("red","orange","green","dark green","medical blue","dark blue","purple","tan","pink","gold","white","black")) + var/bandchoice = tgui_input_list(user, "Select colour", "Band colour", list("red","orange","green","dark green","medical blue","dark blue","purple","tan","pink","gold","white","black")) if(!bandchoice) return if(bandchoice == "red") @@ -238,7 +238,7 @@ update_icon() return else if(choice == "Stamp") - var/stampchoice = tgui_input_list(usr, "Select image", "Stamp image", list("ship","cross","big ears","shield","circle-cross","target","smile","frown","peace","exclamation")) + var/stampchoice = tgui_input_list(user, "Select image", "Stamp image", list("ship","cross","big ears","shield","circle-cross","target","smile","frown","peace","exclamation")) if(!stampchoice) return if(stampchoice == "ship") @@ -268,3 +268,35 @@ reset_icon() return return + +/obj/item/card/id/cargo/miner/borg + var/mob/living/silicon/robot/R + var/last_robot_loc + name = "Robot Miner ID" + rank = JOB_SHAFT_MINER + +/obj/item/card/id/cargo/miner/borg/Initialize() + . = ..() + if(isrobot(loc?.loc)) + R = loc.loc + registered_name = R.braintype + RegisterSignal(src, COMSIG_OBSERVER_MOVED, PROC_REF(check_loc)) + +/obj/item/card/id/cargo/miner/borg/proc/check_loc(atom/movable/mover, atom/old_loc, atom/new_loc) + if(old_loc == R || old_loc == R.module) + last_robot_loc = old_loc + if(!istype(loc, /obj/machinery) && loc != R && loc != R.module) + if(last_robot_loc) + forceMove(last_robot_loc) + last_robot_loc = null + else + forceMove(R) + if(loc == R) + hud_layerise() + +/obj/item/card/id/cargo/miner/borg/Destroy() + if(R) + UnregisterSignal(src, COMSIG_OBSERVER_MOVED) + R = null + last_robot_loc = null + ..() diff --git a/code/game/objects/items/weapons/id cards/cards_vr.dm b/code/game/objects/items/weapons/id cards/cards_vr.dm index c7abd117d6e..fb328f07724 100644 --- a/code/game/objects/items/weapons/id cards/cards_vr.dm +++ b/code/game/objects/items/weapons/id cards/cards_vr.dm @@ -1,10 +1,10 @@ -/obj/item/weapon/card/emag/examine(mob/user) +/obj/item/card/emag/examine(mob/user) . = ..() . += "[uses] uses remaining." -/obj/item/weapon/card/emag/used +/obj/item/card/emag/used uses = 1 -/obj/item/weapon/card/emag/used/Initialize() +/obj/item/card/emag/used/Initialize() . = ..() uses = rand(1, 5) diff --git a/code/game/objects/items/weapons/id cards/id_stacks.dm b/code/game/objects/items/weapons/id cards/id_stacks.dm index e3dc53bfe8b..1e0f49133e1 100644 --- a/code/game/objects/items/weapons/id cards/id_stacks.dm +++ b/code/game/objects/items/weapons/id cards/id_stacks.dm @@ -2,7 +2,7 @@ // Generally, if the icon file is card_xxx.dmi, this filename should be sprite_stacks_xxx.dm // Please make sure that only the relevant sprite_stacks_xxx.file is included, if more are made. -/obj/item/weapon/card +/obj/item/card icon = 'icons/obj/card_new_vr.dmi' // These are redefined here so that changing sprites is as easy as clicking the checkbox. base_icon = 'icons/obj/card_new_vr.dmi' @@ -10,281 +10,335 @@ //IDs -/obj/item/weapon/card/id +/obj/item/card/id initial_sprite_stack = list("base-stamp", "top-generic", "stamp-n") -/obj/item/weapon/card/id/generic +/obj/item/card/id/generic name = "Generic ID" initial_sprite_stack = list("base-stamp", "top-generic", "stamp-silhouette", "clip") //Central -/obj/item/weapon/card/id/centcom +/obj/item/card/id/centcom name = "Central Command ID" initial_sprite_stack = list("base-stamp-gold", "top-blue", "stamp-n", "pips-white", "stripe-gold") -/obj/item/weapon/card/id/centcom/vip +/obj/item/card/id/centcom/vip name = "VIP ID" initial_sprite_stack = list("base-stamp-gold", "top-blue", "stamp-n", "pips-gold", "stripe-gold") //ERT -/obj/item/weapon/card/id/centcom/ERT +/obj/item/card/id/centcom/ERT name = "Emergency Responder ID" initial_sprite_stack = list("base-stamp-silver", "top-blue", "stamp-n", "pips-red", "stripe-red") -/obj/item/weapon/card/id/centcom/ERT/medic +/obj/item/card/id/centcom/ERT/medic name = "Emergency Medical Responder ID" initial_sprite_stack = list("base-stamp-silver", "top-blue", "stamp-n", "pips-medblu", "stripe-medblu") -/obj/item/weapon/card/id/centcom/ERT/commander +/obj/item/card/id/centcom/ERT/commander name = "Emergency Response Commander ID" initial_sprite_stack = list("base-stamp-silver", "top-blue", "stamp-n", "pips-gold", "stripe-gold") -/obj/item/weapon/card/id/centcom/ERT/engineer +/obj/item/card/id/centcom/ERT/engineer name = "Emergency Engineering Responder ID" initial_sprite_stack = list("base-stamp-silver", "top-blue", "stamp-n", "pips-orange", "stripe-orange") -/obj/item/weapon/card/id/centcom/ERT/janitor +/obj/item/card/id/centcom/ERT/janitor name = "Emergency Cleanup Responder ID" initial_sprite_stack = list("base-stamp-silver", "top-blue", "stamp-n", "pips-purple", "stripe-purple") //Silver -/obj/item/weapon/card/id/silver +/obj/item/card/id/silver name = "Silver ID" initial_sprite_stack = list("base-stamp-silver", "top-blue", "stamp-n") -/obj/item/weapon/card/id/silver/secretary +/obj/item/card/id/silver/secretary name = "Secretary's ID" initial_sprite_stack = list("base-stamp", "top-blue", "stamp-n") + rank = JOB_COMMAND_SECRETARY -/obj/item/weapon/card/id/silver/hop - name = "Head of Personnel ID" +/obj/item/card/id/silver/hop + name = JOB_HEAD_OF_PERSONNEL + " ID" initial_sprite_stack = list("base-stamp-silver", "top-blue", "stamp-n", "pips-gold") + rank = JOB_HEAD_OF_PERSONNEL //Gold -/obj/item/weapon/card/id/gold +/obj/item/card/id/gold name = "Gold ID" initial_sprite_stack = list("base-stamp-gold", "top-blue", "stamp-n") -/obj/item/weapon/card/id/gold/captain +/obj/item/card/id/gold/captain name = "Captain's ID" initial_sprite_stack = list("base-stamp-gold", "top-blue", "stamp-n", "pips-gold") + rank = JOB_SITE_MANAGER -/obj/item/weapon/card/id/gold/captain/spare +/obj/item/card/id/gold/captain/spare name = "Spare ID" initial_sprite_stack = list("base-stamp-gold", "top-gold", "stamp-n") + rank = JOB_SITE_MANAGER //Medical -/obj/item/weapon/card/id/medical +/obj/item/card/id/medical name = "Medical ID" initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n") + rank = JOB_MEDICAL_DOCTOR -/obj/item/weapon/card/id/medical/chemist - name = "Chemist's ID" +/obj/item/card/id/medical/chemist + name = JOB_CHEMIST + "'s ID" initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n", "stripe-orange") + rank = JOB_CHEMIST -/obj/item/weapon/card/id/medical/geneticist - name = "Geneticist's ID" +/obj/item/card/id/medical/geneticist + name = JOB_GENETICIST + "'s ID" initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n", "stripe-purple") + rank = JOB_GENETICIST -/obj/item/weapon/card/id/medical/psych - name = "Psychologist's ID" +/obj/item/card/id/medical/psych + name = JOB_ALT_PSYCHOLOGIST + "'s ID" initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n", "stripe-brown") + rank = JOB_PSYCHIATRIST -/obj/item/weapon/card/id/medical/virologist - name = "Virologist's ID" +/obj/item/card/id/medical/virologist + name = JOB_ALT_VIROLOGIST + "'s ID" initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n", "stripe-green") + rank = JOB_ALT_VIROLOGIST -/obj/item/weapon/card/id/medical/emt - name = "Emergency Medical Technician's ID" +/obj/item/card/id/medical/emt + name = JOB_ALT_EMERGENCY_MEDICAL_TECHNICIAN + "'s ID" initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n", "stripe-blue") + rank = JOB_PARAMEDIC -/obj/item/weapon/card/id/medical/head - name = "Chief Medical Officer's ID" +/obj/item/card/id/medical/head + name = JOB_CHIEF_MEDICAL_OFFICER + "'s ID" initial_sprite_stack = list("base-stamp-silver", "top-medblu", "stamp-n", "pips-gold") + rank = JOB_CHIEF_MEDICAL_OFFICER //Security -/obj/item/weapon/card/id/security +/obj/item/card/id/security name = "Security ID" initial_sprite_stack = list("base-stamp", "top-red", "stamp-n") + rank = JOB_SECURITY_OFFICER -/obj/item/weapon/card/id/security/detective - name = "Detective's ID" +/obj/item/card/id/security/detective + name = JOB_DETECTIVE + "'s ID" initial_sprite_stack = list("base-stamp", "top-red", "stamp-n", "stripe-brown") + rank = JOB_DETECTIVE -/obj/item/weapon/card/id/security/warden - name = "Warden's ID" +/obj/item/card/id/security/warden + name = JOB_WARDEN + "'s ID" initial_sprite_stack = list("base-stamp", "top-red", "stamp-n", "stripe-white") + rank = JOB_WARDEN -/obj/item/weapon/card/id/security/head - name = "Head of Security's ID" +/obj/item/card/id/security/head + name = JOB_HEAD_OF_SECURITY + "'s ID" initial_sprite_stack = list("base-stamp-silver", "top-red", "stamp-n", "pips-gold") + rank = JOB_HEAD_OF_SECURITY //Engineering -/obj/item/weapon/card/id/engineering +/obj/item/card/id/engineering name = "Engineering ID" initial_sprite_stack = list("base-stamp", "top-orange", "stamp-n") + rank = JOB_ENGINEER -/obj/item/weapon/card/id/engineering/atmos +/obj/item/card/id/engineering/atmos name = "Atmospherics ID" initial_sprite_stack = list("base-stamp", "top-orange", "stripe-medblu", "stamp-n") + rank = JOB_ATMOSPHERIC_TECHNICIAN -/obj/item/weapon/card/id/engineering/head - name = "Chief Engineer's ID" +/obj/item/card/id/engineering/head + name = JOB_CHIEF_ENGINEER + "'s ID" initial_sprite_stack = list("base-stamp-silver", "top-orange", "stamp-n", "pips-gold") + rank = JOB_CHIEF_ENGINEER //Science -/obj/item/weapon/card/id/science +/obj/item/card/id/science name = "Science ID" initial_sprite_stack = list("base-stamp", "top-purple", "stamp-n") + rank = JOB_SCIENTIST -/obj/item/weapon/card/id/science/roboticist - name = "Roboticist's ID" +/obj/item/card/id/science/roboticist + name = JOB_ROBOTICIST + "'s ID" initial_sprite_stack = list("base-stamp", "top-purple", "stamp-n", "stripe-brown") + rank = JOB_ROBOTICIST -/obj/item/weapon/card/id/science/xenobiologist - name = "Xenobiologist's ID" +/obj/item/card/id/science/xenobiologist + name = JOB_XENOBIOLOGIST + "'s ID" initial_sprite_stack = list("base-stamp", "top-purple", "stamp-n", "stripe-orange") + rank = JOB_XENOBIOLOGIST -/obj/item/weapon/card/id/science/xenobotanist - name = "Xenobotanist's ID" +/obj/item/card/id/science/xenobotanist + name = JOB_XENOBOTANIST + "'s ID" initial_sprite_stack = list("base-stamp", "top-purple", "stamp-n", "stripe-green") + rank = JOB_XENOBOTANIST -/obj/item/weapon/card/id/science/head - name = "Research Director's ID" +/obj/item/card/id/science/head + name = JOB_RESEARCH_DIRECTOR + "'s ID" initial_sprite_stack = list("base-stamp-silver", "top-purple", "stamp-n", "pips-gold") + rank = JOB_RESEARCH_DIRECTOR //Cargo -/obj/item/weapon/card/id/cargo +/obj/item/card/id/cargo name = "Cargo ID" initial_sprite_stack = list("base-stamp", "top-brown", "stamp-n") + rank = JOB_CARGO_TECHNICIAN -/obj/item/weapon/card/id/cargo/miner +/obj/item/card/id/cargo/miner name = "Miner's ID" initial_sprite_stack = list("base-stamp", "top-brown", "stamp-n", "stripe-purple") + rank = JOB_SHAFT_MINER -/obj/item/weapon/card/id/cargo/head - name = "Quartermaster's ID" +/obj/item/card/id/cargo/head + name = JOB_QUARTERMASTER + "'s ID" initial_sprite_stack = list("base-stamp-silver", "top-brown", "stamp-n", "pips-white") + rank = JOB_QUARTERMASTER //Civilian -/obj/item/weapon/card/id/civilian +/obj/item/card/id/civilian name = "Civilian ID" initial_sprite_stack = list("base-stamp", "top-generic", "stamp-n") -/obj/item/weapon/card/id/civilian/chaplain - name = "Chaplain's ID" +/obj/item/card/id/civilian/chaplain + name = JOB_CHAPLAIN + "'s ID" initial_sprite_stack = list("base-stamp-dark", "top-dark", "stamp-cross", "stripe-white") + rank = JOB_CHAPLAIN -/obj/item/weapon/card/id/civilian/journalist - name = "Journalist's ID" +/obj/item/card/id/civilian/journalist + name = JOB_ALT_JOURNALIST + "'s ID" initial_sprite_stack = list("base-stamp", "top-generic", "stamp-n", "stripe-red") + rank = JOB_ALT_JOURNALIST -/obj/item/weapon/card/id/civilian/pilot - name = "Pilot's ID" +/obj/item/card/id/civilian/pilot + name = JOB_PILOT + "'s ID" initial_sprite_stack = list("base-stamp", "top-generic", "stamp-n", "stripe-olive") + rank = JOB_PILOT -/obj/item/weapon/card/id/civilian/entertainer - name = "Entertainer's ID" +/obj/item/card/id/civilian/entertainer + name = JOB_ENTERTAINER + "'s ID" initial_sprite_stack = list("base-stamp", "top-generic", "stamp-n", "stripe-brown") + rank = JOB_ENTERTAINER -/obj/item/weapon/card/id/civilian/entrepreneur - name = "Entrepreneur's ID" +/obj/item/card/id/civilian/entrepreneur + name = JOB_ENTREPRENEUR + "'s ID" initial_sprite_stack = list("base-stamp", "top-generic", "stamp-n", "stripe-gold") + rank = JOB_ENTREPRENEUR -/obj/item/weapon/card/id/civilian/clown - name = "Clown's ID" +/obj/item/card/id/civilian/clown + name = JOB_CLOWN + "'s ID" initial_sprite_stack = list("base-stamp", "top-rainbow", "stamp-n") + rank = JOB_CLOWN -/obj/item/weapon/card/id/civilian/mime - name = "Mime's ID" +/obj/item/card/id/civilian/mime + name = JOB_MIME + "'s ID" initial_sprite_stack = list("base-stamp", "top-white", "stamp-n", "stripe-black") + rank = JOB_MIME -/obj/item/weapon/card/id/civilian/internal_affairs +/obj/item/card/id/civilian/internal_affairs name = "Internal Affairs ID" initial_sprite_stack = list("base-stamp", "top-blue", "stamp-n", "stripe-black") + rank = JOB_INTERNAL_AFFAIRS_AGENT //Service -/obj/item/weapon/card/id/civilian/service +/obj/item/card/id/civilian/service name = "Service ID" initial_sprite_stack = list("base-stamp", "top-green", "stamp-n") -/obj/item/weapon/card/id/civilian/service/botanist - name = "Botanist's ID" +/obj/item/card/id/civilian/service/botanist + name = JOB_BOTANIST + "'s ID" initial_sprite_stack = list("base-stamp", "top-green", "stamp-n", "stripe-darkgreen") + rank = JOB_BOTANIST -/obj/item/weapon/card/id/civilian/service/bartender - name = "Bartender's ID" +/obj/item/card/id/civilian/service/bartender + name = JOB_BARTENDER + "'s ID" initial_sprite_stack = list("base-stamp", "top-green", "stamp-n", "stripe-black") + rank = JOB_BARTENDER -/obj/item/weapon/card/id/civilian/service/chef - name = "Chef's ID" +/obj/item/card/id/civilian/service/chef + name = JOB_CHEF + "'s ID" initial_sprite_stack = list("base-stamp", "top-green", "stamp-n", "stripe-white") + rank = JOB_CHEF -/obj/item/weapon/card/id/civilian/service/janitor - name = "Janitor's ID" +/obj/item/card/id/civilian/service/janitor + name = JOB_JANITOR + "'s ID" initial_sprite_stack = list("base-stamp", "top-green", "stamp-n", "stripe-purple") + rank = JOB_JANITOR //Exploration -/obj/item/weapon/card/id/exploration +/obj/item/card/id/exploration name = "Exploration ID" initial_sprite_stack = list("base-stamp", "top-olive", "stamp-n") + rank = JOB_EXPLORER -/obj/item/weapon/card/id/exploration/fm - name = "Field Medic's ID" +/obj/item/card/id/exploration/fm + name = JOB_FIELD_MEDIC + "'s ID" initial_sprite_stack = list("base-stamp", "top-olive", "stamp-n", "stripe-medblu") + rank = JOB_FIELD_MEDIC -/obj/item/weapon/card/id/exploration/head - name = "Pathfinder's ID" +/obj/item/card/id/exploration/head + name = JOB_PATHFINDER + "'s ID" initial_sprite_stack = list("base-stamp-silver", "top-olive", "stamp-n", "pips-white") + rank = JOB_PATHFINDER //Talon -/obj/item/weapon/card/id/talon +/obj/item/card/id/talon name = "Talon ID" initial_sprite_stack = list("base-stamp-dark", "top-dark", "stamp-silhouette") -/obj/item/weapon/card/id/talon/doctor +/obj/item/card/id/talon/doctor name = "Talon Medical ID" initial_sprite_stack = list("base-stamp-dark", "top-dark", "stamp-silhouette", "pips-medblu", "stripe-medblu") + rank = JOB_TALON_DOCTOR -/obj/item/weapon/card/id/talon/engineer +/obj/item/card/id/talon/engineer name = "Talon Engineering ID" initial_sprite_stack = list("base-stamp-dark", "top-dark", "stamp-silhouette", "pips-orange", "stripe-orange") + rank = JOB_TALON_ENGINEER -/obj/item/weapon/card/id/talon/officer +/obj/item/card/id/talon/officer name = "Talon Security ID" initial_sprite_stack = list("base-stamp-dark", "top-dark", "stamp-silhouette", "pips-red", "stripe-red") + rank = JOB_TALON_GUARD -/obj/item/weapon/card/id/talon/pilot - name = "Talon Pilot ID" +/obj/item/card/id/talon/pilot + name = JOB_TALON_PILOT + " ID" initial_sprite_stack = list("base-stamp-dark", "top-dark", "stamp-silhouette", "pips-purple", "stripe-purple") + rank = JOB_TALON_PILOT -/obj/item/weapon/card/id/talon/miner +/obj/item/card/id/talon/miner name = "Talon Mining ID" initial_sprite_stack = list("base-stamp-dark", "top-dark", "stamp-silhouette", "pips-brown", "stripe-brown") + rank = JOB_TALON_MINER -/obj/item/weapon/card/id/talon/captain - name = "Talon Captain ID" +/obj/item/card/id/talon/captain + name = JOB_TALON_CAPTAIN + " ID" initial_sprite_stack = list("base-stamp-dark", "top-dark", "stamp-silhouette", "pips-gold", "stripe-gold") + rank = JOB_TALON_CAPTAIN //Antags -/obj/item/weapon/card/id/syndicate +/obj/item/card/id/syndicate name = "Syndicate ID" initial_sprite_stack = list("base-stamp-dark", "top-syndicate", "stamp-s") + rank = JOB_SYNDICATE -/obj/item/weapon/card/id/syndicate/officer +/obj/item/card/id/syndicate/officer name = "Syndicate Officer ID" initial_sprite_stack = list("base-stamp-dark", "top-syndicate", "stamp-s", "pips-gold", "stripe-gold") + +//Special + +/obj/item/card/id/civilian/lurker + name = "Outdated ID" + initial_sprite_stack = list("base-stamp", "stamp-silhouette", "top-olive", "digested") diff --git a/code/game/objects/items/weapons/id cards/station_ids.dm b/code/game/objects/items/weapons/id cards/station_ids.dm index fbd19368f34..a80b7584937 100644 --- a/code/game/objects/items/weapons/id cards/station_ids.dm +++ b/code/game/objects/items/weapons/id cards/station_ids.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/card/id +/obj/item/card/id name = "identification card" desc = "A card used to provide ID and determine access across the station." icon_state = "generic-nt" @@ -31,34 +31,34 @@ var/mining_points = 0 // For redeeming at mining equipment vendors var/survey_points = 0 // For redeeming at explorer equipment vendors. -/obj/item/weapon/card/id/examine(mob/user) +/obj/item/card/id/examine(mob/user) . = ..() if(in_range(user, src)) tgui_interact(user) //Not chat related else - . += "It is too far away to read." + . += span_warning("It is too far away to read.") -/obj/item/weapon/card/id/proc/prevent_tracking() +/obj/item/card/id/proc/prevent_tracking() return 0 -/obj/item/weapon/card/id/tgui_state(mob/user) +/obj/item/card/id/tgui_state(mob/user) return GLOB.tgui_deep_inventory_state -/obj/item/weapon/card/id/tgui_interact(mob/user, datum/tgui/ui) +/obj/item/card/id/tgui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) if(!ui) ui = new(user, src, "IDCard", name) ui.open() -/obj/item/weapon/card/id/proc/update_name() +/obj/item/card/id/proc/update_name() name = "[src.registered_name]'s ID Card ([src.assignment])" -/obj/item/weapon/card/id/proc/set_id_photo(var/mob/M) +/obj/item/card/id/proc/set_id_photo(var/mob/M) M.ImmediateOverlayUpdate() var/icon/F = getFlatIcon(M, defdir = SOUTH, no_anim = TRUE) front = "'data:image/png;base64,[icon2base64(F)]'" -/mob/proc/set_id_info(var/obj/item/weapon/card/id/id_card) +/mob/proc/set_id_info(var/obj/item/card/id/id_card) id_card.age = 0 id_card.registered_name = real_name id_card.sex = capitalize(gender) @@ -71,13 +71,16 @@ id_card.fingerprint_hash= md5(dna.uni_identity) id_card.update_name() -/mob/living/carbon/human/set_id_info(var/obj/item/weapon/card/id/id_card) +/mob/living/carbon/human/set_id_info(var/obj/item/card/id/id_card) ..() id_card.age = age - id_card.species = "[custom_species ? "[custom_species] ([species.name])" : species.name]" + if(species.name == SPECIES_HANNER) + id_card.species = "[custom_species ? "[custom_species]" : species.name]" + else + id_card.species = "[custom_species ? "[custom_species] ([species.name])" : species.name]" id_card.sex = capitalize(name_gender()) -/obj/item/weapon/card/id/tgui_data(mob/user) +/obj/item/card/id/tgui_data(mob/user) var/list/data = list() data["registered_name"] = registered_name @@ -92,20 +95,20 @@ return data -/obj/item/weapon/card/id/attack_self(mob/user as mob) +/obj/item/card/id/attack_self(mob/user as mob) user.visible_message("\The [user] shows you: [icon2html(src,viewers(src))] [src.name]. The assignment on the card: [src.assignment]",\ "You flash your ID card: [icon2html(src, user.client)] [src.name]. The assignment on the card: [src.assignment]") src.add_fingerprint(user) return -/obj/item/weapon/card/id/GetAccess() +/obj/item/card/id/GetAccess() return access -/obj/item/weapon/card/id/GetID() +/obj/item/card/id/GetID() return src -/obj/item/weapon/card/id/verb/read() +/obj/item/card/id/verb/read() set name = "Read ID Card" set category = "Object" set src in usr @@ -116,66 +119,66 @@ to_chat(usr, "The fingerprint hash on the card is [fingerprint_hash].") return -/obj/item/weapon/card/id/get_worn_icon_state(var/slot_name) +/obj/item/card/id/get_worn_icon_state(var/slot_name) if(slot_name == slot_wear_id_str) return "id" //Legacy, just how it is. There's only one sprite. return ..() -/obj/item/weapon/card/id/Initialize() +/obj/item/card/id/Initialize() . = ..() var/datum/job/J = job_master.GetJob(rank) if(J) access = J.get_access() -/obj/item/weapon/card/id/silver +/obj/item/card/id/silver name = "identification card" desc = "A silver card which shows honour and dedication." icon_state = "silver-id" item_state = "silver_id" -/obj/item/weapon/card/id/gold +/obj/item/card/id/gold name = "identification card" desc = "A golden card which shows power and might." icon_state = "gold-id" item_state = "gold_id" preserve_item = 1 -/obj/item/weapon/card/id/gold/captain - assignment = "Site Manager" - rank = "Site Manager" +/obj/item/card/id/gold/captain + assignment = JOB_SITE_MANAGER + rank = JOB_SITE_MANAGER -/obj/item/weapon/card/id/gold/captain/spare - name = "\improper Site Manager's spare ID" +/obj/item/card/id/gold/captain/spare + name = "\improper " + JOB_SITE_MANAGER + "'s spare ID" desc = "The emergency spare ID for the station's very own Big Cheese." icon_state = "gold-id-alternate" - registered_name = "Site Manager" + registered_name = JOB_SITE_MANAGER -/obj/item/weapon/card/id/gold/captain/spare/fakespare +/obj/item/card/id/gold/captain/spare/fakespare rank = "null" -/obj/item/weapon/card/id/synthetic +/obj/item/card/id/synthetic name = "\improper Synthetic ID" desc = "Access module for NanoTrasen Synthetics" icon_state = "id-robot" item_state = "idgreen" assignment = "Synthetic" -/obj/item/weapon/card/id/synthetic/Initialize() +/obj/item/card/id/synthetic/Initialize() . = ..() access = get_all_station_access().Copy() + access_synth -/obj/item/weapon/card/id/lost +/obj/item/card/id/lost name = "\improper Unknown ID" desc = "Access module for Lost drones" icon_state = "id-robot-n" assignment = "Lost" -/obj/item/weapon/card/id/lost/Initialize() +/obj/item/card/id/lost/Initialize() . = ..() access += access_lost -/obj/item/weapon/card/id/platform +/obj/item/card/id/platform name = "\improper Support Platform ID" desc = "Access module for support platforms." icon_state = "id-robot" @@ -187,134 +190,137 @@ access_tox_storage, access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot ) -/obj/item/weapon/card/id/centcom +/obj/item/card/id/centcom name = "\improper CentCom. ID" desc = "An ID straight from Central Command." icon_state = "cc-id" registered_name = "Central Command" assignment = "General" -/obj/item/weapon/card/id/centcom/Initialize() +/obj/item/card/id/centcom/Initialize() . = ..() access = get_all_centcom_access().Copy() -/obj/item/weapon/card/id/centcom/station/Initialize() +/obj/item/card/id/centcom/station/Initialize() . = ..() access |= get_all_station_access() -/obj/item/weapon/card/id/centcom/ERT - name = "\improper Emergency Response Team ID" - assignment = "Emergency Response Team" +/obj/item/card/id/centcom/ERT + name = "\improper " + JOB_EMERGENCY_RESPONSE_TEAM + "ID" + assignment = JOB_EMERGENCY_RESPONSE_TEAM icon_state = "ert-id" + rank = JOB_EMERGENCY_RESPONSE_TEAM -/obj/item/weapon/card/id/centcom/ERT/Initialize() +/obj/item/card/id/centcom/ERT/Initialize() . = ..() access |= get_all_station_access() // Department-flavor IDs -/obj/item/weapon/card/id/medical +/obj/item/card/id/medical name = "identification card" desc = "A card issued to station medical staff." icon_state = "medical-id" primary_color = rgb(189,237,237) secondary_color = rgb(223,255,255) + rank = JOB_MEDICAL_DOCTOR -/obj/item/weapon/card/id/medical/head +/obj/item/card/id/medical/head name = "identification card" desc = "A card which represents care and compassion." primary_color = rgb(189,237,237) secondary_color = rgb(255,223,127) - assignment = "Chief Medical Officer" - rank = "Chief Medical Officer" + assignment = JOB_CHIEF_MEDICAL_OFFICER + rank = JOB_CHIEF_MEDICAL_OFFICER -/obj/item/weapon/card/id/security +/obj/item/card/id/security name = "identification card" desc = "A card issued to station security staff." icon_state = "security-id" primary_color = rgb(189,47,0) secondary_color = rgb(223,127,95) + rank = JOB_SECURITY_OFFICER -/obj/item/weapon/card/id/security/warden - assignment = "Warden" - rank = "Warden" +/obj/item/card/id/security/warden + assignment = JOB_WARDEN + rank = JOB_WARDEN -/obj/item/weapon/card/id/security/head +/obj/item/card/id/security/head name = "identification card" desc = "A card which represents honor and protection." primary_color = rgb(189,47,0) secondary_color = rgb(255,223,127) - assignment = "Head of Security" - rank = "Head of Security" + assignment = JOB_HEAD_OF_SECURITY + rank = JOB_HEAD_OF_SECURITY -/obj/item/weapon/card/id/engineering +/obj/item/card/id/engineering name = "identification card" desc = "A card issued to station engineering staff." icon_state = "engineering-id" primary_color = rgb(189,94,0) secondary_color = rgb(223,159,95) -/obj/item/weapon/card/id/engineering/atmos - assignment = "Atmospheric Technician" - rank = "Atmospheric Technician" +/obj/item/card/id/engineering/atmos + assignment = JOB_ATMOSPHERIC_TECHNICIAN + rank = JOB_ATMOSPHERIC_TECHNICIAN -/obj/item/weapon/card/id/engineering/head +/obj/item/card/id/engineering/head name = "identification card" desc = "A card which represents creativity and ingenuity." primary_color = rgb(189,94,0) secondary_color = rgb(255,223,127) - assignment = "Chief Engineer" - rank = "Chief Engineer" + assignment = JOB_CHIEF_ENGINEER + rank = JOB_CHIEF_ENGINEER -/obj/item/weapon/card/id/science +/obj/item/card/id/science name = "identification card" desc = "A card issued to station science staff." icon_state = "science-id" primary_color = rgb(142,47,142) secondary_color = rgb(191,127,191) -/obj/item/weapon/card/id/science/head +/obj/item/card/id/science/head name = "identification card" desc = "A card which represents knowledge and reasoning." primary_color = rgb(142,47,142) secondary_color = rgb(255,223,127) - assignment = "Research Director" - rank = "Research Director" + assignment = JOB_RESEARCH_DIRECTOR + rank = JOB_RESEARCH_DIRECTOR -/obj/item/weapon/card/id/cargo +/obj/item/card/id/cargo name = "identification card" desc = "A card issued to station cargo staff." icon_state = "cargo-id" primary_color = rgb(142,94,0) secondary_color = rgb(191,159,95) -/obj/item/weapon/card/id/cargo/head +/obj/item/card/id/cargo/head name = "identification card" desc = "A card which represents service and planning." primary_color = rgb(142,94,0) secondary_color = rgb(255,223,127) - assignment = "Quartermaster" - rank = "Quartermaster" + assignment = JOB_QUARTERMASTER + rank = JOB_QUARTERMASTER -/obj/item/weapon/card/id/assistant - assignment = USELESS_JOB //VOREStation Edit - Visitor not Assistant - rank = USELESS_JOB //VOREStation Edit - Visitor not Assistant +/obj/item/card/id/assistant + assignment = JOB_ALT_VISITOR //VOREStation Edit - Visitor not Assistant + rank = JOB_ALT_VISITOR //VOREStation Edit - Visitor not Assistant -/obj/item/weapon/card/id/civilian +/obj/item/card/id/civilian name = "identification card" desc = "A card issued to station civilian staff." icon_state = "civilian-id" primary_color = rgb(0,94,142) secondary_color = rgb(95,159,191) assignment = "Civilian" - rank = "Assistant" + rank = JOB_ALT_ASSISTANT -/obj/item/weapon/card/id/civilian/head //This is not the HoP. There's no position that uses this right now. +/obj/item/card/id/civilian/head //This is not the HoP. There's no position that uses this right now. name = "identification card" desc = "A card which represents common sense and responsibility." primary_color = rgb(0,94,142) secondary_color = rgb(255,223,127) -/obj/item/weapon/card/id/external +/obj/item/card/id/external name = "identification card" desc = "An identification card of some sort. It does not look like it is issued by NT." icon_state = "generic" @@ -322,14 +328,14 @@ secondary_color = rgb(191,159,95) //Event IDs -/obj/item/weapon/card/id/event +/obj/item/card/id/event var/configured = 0 var/accessset = 0 initial_sprite_stack = list() var/list/title_strings = list() var/preset_rank = FALSE -/obj/item/weapon/card/id/event/attack_self(var/mob/user) +/obj/item/card/id/event/attack_self(var/mob/user) if(configured == 1) return ..() @@ -350,159 +356,159 @@ name = user.name + "'s ID card" + " ([assignment])" configured = 1 - to_chat(user, "Card settings set.") + to_chat(user, span_notice("Card settings set.")) -/obj/item/weapon/card/id/event/attackby(obj/item/I as obj, var/mob/user) - if(istype(I, /obj/item/weapon/card/id) && !accessset) - var/obj/item/weapon/card/id/O = I - access |= O.access +/obj/item/card/id/event/attackby(obj/item/I as obj, var/mob/user) + if(istype(I, /obj/item/card/id) && !accessset) + var/obj/item/card/id/O = I + access |= O.GetAccess() desc = I.desc rank = O.rank - to_chat(user, "You copy the access from \the [I] to \the [src].") + to_chat(user, span_notice("You copy the access from \the [I] to \the [src].")) user.drop_from_inventory(I) qdel(I) accessset = 1 ..() -/obj/item/weapon/card/id/event/accessset +/obj/item/card/id/event/accessset accessset = 1 -/obj/item/weapon/card/id/event/accessset/itg +/obj/item/card/id/event/accessset/itg name = "identification card" desc = "A small card designating affiliation with the Ironcrest Transport Group." icon = 'icons/obj/card_vr.dmi' base_icon = 'icons/obj/card_vr.dmi' icon_state = "itg" -/obj/item/weapon/card/id/event/accessset/itg/green +/obj/item/card/id/event/accessset/itg/green icon_state = "itg_green" -/obj/item/weapon/card/id/event/accessset/itg/red +/obj/item/card/id/event/accessset/itg/red icon_state = "itg_red" -/obj/item/weapon/card/id/event/accessset/itg/purple +/obj/item/card/id/event/accessset/itg/purple icon_state = "itg_purple" -/obj/item/weapon/card/id/event/accessset/itg/white +/obj/item/card/id/event/accessset/itg/white icon_state = "itg_white" -/obj/item/weapon/card/id/event/accessset/itg/orange +/obj/item/card/id/event/accessset/itg/orange icon_state = "itg_orange" -/obj/item/weapon/card/id/event/accessset/itg/blue +/obj/item/card/id/event/accessset/itg/blue icon_state = "itg_blue" -/obj/item/weapon/card/id/event/accessset/itg/crew +/obj/item/card/id/event/accessset/itg/crew name = "\improper ITG Crew ID" assignment = "Crew" rank = "Crew" access = list(777) preset_rank = TRUE -/obj/item/weapon/card/id/event/accessset/itg/crew/pilot +/obj/item/card/id/event/accessset/itg/crew/pilot name = "\improper ITG Pilot's ID" desc = "An ID card belonging to the Pilot of an ITG vessel. The Pilot's responsibility is primarily to fly the ship. They may also be tasked to assist with cargo movement duties." - assignment = "Pilot" - rank = "Pilot" - -/obj/item/weapon/card/id/event/accessset/itg/crew/service - name = "\improper ITG Cook's ID" - desc = "An ID card belonging to the Cook of an ITG vessel. The Cook's responsibility is primarily to provide sustinence to the crew and passengers. The Cook answers to the Passenger Liason. In the absence of a Passenger Liason, the Cook is also responsible for tending to passenger related care and duties." - assignment = "Cook" - rank = "Cook" + assignment = JOB_PILOT + rank = JOB_PILOT + +/obj/item/card/id/event/accessset/itg/crew/service + name = "\improper ITG " + JOB_ALT_COOK + "'s ID" + desc = "An ID card belonging to the " + JOB_ALT_COOK + " of an ITG vessel. The " + JOB_ALT_COOK + "'s responsibility is primarily to provide sustinence to the crew and passengers. The " + JOB_ALT_COOK + " answers to the Passenger Liason. In the absence of a Passenger Liason, the " + JOB_ALT_COOK + " is also responsible for tending to passenger related care and duties." + assignment = JOB_ALT_COOK + rank = JOB_ALT_COOK icon_state = "itg_green" -/obj/item/weapon/card/id/event/accessset/itg/crew/security +/obj/item/card/id/event/accessset/itg/crew/security name = "\improper ITG Security's ID" desc = "An ID card belonging to Security of an ITG vessel. Security's responsibility is primarily to protect the ship, cargo, or facility. They may also be tasked to assist with cargo movement duties and rescue operations. ITG Security is almost exclusively defensive. They should not start fights, but they are very capable of finishing them." assignment = "Security" rank = "Security" icon_state = "itg_red" -/obj/item/weapon/card/id/event/accessset/itg/crew/research +/obj/item/card/id/event/accessset/itg/crew/research name = "\improper ITG Research's ID" desc = "An ID card belonging to ITG Research staff. ITG Research staff primarily specializes in starship and starship engine design, and overcoming astronomic phenomena." assignment = "Research" rank = "Research" icon_state = "itg_purple" -/obj/item/weapon/card/id/event/accessset/itg/crew/medical +/obj/item/card/id/event/accessset/itg/crew/medical name = "\improper ITG Medic's ID" desc = "An ID card belonging to the Medic of an ITG vessel. The Medic's responsibility is primarily to treat crew and passenger injuries. They may also be tasked with rescue operations." assignment = "Medic" rank = "Medic" icon_state = "itg_white" -/obj/item/weapon/card/id/event/accessset/itg/crew/engineer - name = "\improper ITG Engineer's ID" - desc = "An ID card belonging to the Engineer of an ITG vessel. The Engineer's responsibility is primarily to maintain the ship. They may also be tasked to assist with cargo movement duties." - assignment = "Engineer" - rank = "Engineer" +/obj/item/card/id/event/accessset/itg/crew/engineer + name = "\improper ITG " + JOB_ENGINEER + "'s ID" + desc = "An ID card belonging to the " + JOB_ENGINEER + " of an ITG vessel. The " + JOB_ENGINEER + "'s responsibility is primarily to maintain the ship. They may also be tasked to assist with cargo movement duties." + assignment = JOB_ENGINEER + rank = JOB_ENGINEER icon_state = "itg_orange" -/obj/item/weapon/card/id/event/accessset/itg/crew/passengerliason +/obj/item/card/id/event/accessset/itg/crew/passengerliason name = "\improper ITG Passenger Liason's ID" desc = "An ID card belonging to the Passenger Liason of an ITG vessel. The Passenger Liason's responsibility is primarily to manage and tend to passenger needs and maintain supplies and facilities for passenger use." assignment = "Passenger Liason" rank = "Passenger Liason" icon_state = "itg_blue" -/obj/item/weapon/card/id/event/accessset/itg/crew/captain - name = "\improper ITG Captain's ID" +/obj/item/card/id/event/accessset/itg/crew/captain + name = "\improper ITG " + JOB_ALT_CAPTAIN + "'s ID" desc = "An ID card belonging to the Captain of an ITG vessel. The Captain's responsibility is primarily to manage crew to ensure smooth ship operations. Captains often also often pilot the vessel when no dedicated pilot is assigned." - assignment = "Captain" - rank = "Captain" + assignment = JOB_ALT_CAPTAIN + rank = JOB_ALT_CAPTAIN icon_state = "itg_blue" access = list(777, 778) -/obj/item/weapon/card/id/event/altcard +/obj/item/card/id/event/altcard icon = 'icons/obj/card_alt_vr.dmi' base_icon = 'icons/obj/card_alt_vr.dmi' icon_state = "id" -/obj/item/weapon/card/id/event/altcard/spare +/obj/item/card/id/event/altcard/spare icon_state = "spare" -/obj/item/weapon/card/id/event/altcard/clown +/obj/item/card/id/event/altcard/clown icon_state = "Clown" -/obj/item/weapon/card/id/event/altcard/mime +/obj/item/card/id/event/altcard/mime icon_state = "Mime" -/obj/item/weapon/card/id/event/altcard/centcom +/obj/item/card/id/event/altcard/centcom icon_state = "CentCom Officer" -/obj/item/weapon/card/id/event/altcard/ert +/obj/item/card/id/event/altcard/ert icon_state = "Emergency Responder" -/obj/item/weapon/card/id/event/altcard/nt +/obj/item/card/id/event/altcard/nt icon_state = "nanotrasen" -/obj/item/weapon/card/id/event/altcard/syndiegold +/obj/item/card/id/event/altcard/syndiegold icon_state = "syndieGold" -/obj/item/weapon/card/id/event/altcard/syndie +/obj/item/card/id/event/altcard/syndie icon_state = "syndie" -/obj/item/weapon/card/id/event/altcard/greengold +/obj/item/card/id/event/altcard/greengold icon_state = "greenGold" -/obj/item/weapon/card/id/event/altcard/pink +/obj/item/card/id/event/altcard/pink icon_state = "pink" -/obj/item/weapon/card/id/event/altcard/pinkgold +/obj/item/card/id/event/altcard/pinkgold icon_state = "pinkGold" -/obj/item/weapon/card/id/event/polymorphic +/obj/item/card/id/event/polymorphic var/base_icon_state -/obj/item/weapon/card/id/event/polymorphic/digest_act(atom/movable/item_storage = null) +/obj/item/card/id/event/polymorphic/digest_act(atom/movable/item_storage = null) var/gimmeicon = icon . = ..() icon = gimmeicon icon_state = base_icon_state + "_digested" -/obj/item/weapon/card/id/event/polymorphic/altcard/attack_self(var/mob/user) +/obj/item/card/id/event/polymorphic/altcard/attack_self(var/mob/user) if(configured == 1) return ..() else @@ -510,62 +516,61 @@ base_icon_state = user.job return ..() -/obj/item/weapon/card/id/event/polymorphic/altcard +/obj/item/card/id/event/polymorphic/altcard icon = 'icons/obj/card_alt_vr.dmi' base_icon = 'icons/obj/card_alt_vr.dmi' icon_state = "blank" name = "contractor identification card" desc = "An ID card typically used by contractors." -/obj/item/weapon/card/id/event/polymorphic/itg/attack_self(var/mob/user) +/obj/item/card/id/event/polymorphic/itg/attack_self(var/mob/user) if(!configured) var/list/jobs_to_icon = list( //ITG only has a few kinds of icons so we have to group them up! - "Pilot" = "itg", - "Visitor" = "itg", - "Quartermaster" = "itg", - "Cargo Technician" = "itg", - "Shaft Miner" = "itg", - "Intern" = "itg", - "Talon Pilot" = "itg", - "Talon Miner" = "itg", - "Bartender" = "itg_green", - "Botanist" = "itg_green", - "Chef" = "itg_green", - "Janitor" = "itg_green", - "Chaplain" = "itg_green", - "Entertainer" = "itg_green", - "Janitor" = "itg_green", - "Librarian" = "itg_green", - "Warden" = "itg_red", - "Detective" = "itg_red", - "Security Officer" = "itg_red", - "Talon Guard" = "itg_red", - "Roboticist" = "itg_purple", - "Scientist" = "itg_purple", - "Xenobiologist" = "itg_purple", - "Xenobotanist" = "itg_purple", - "Pathfinder" = "itg_purple", - "Explorer" = "itg_purple", - "Chemist" = "itg_white", - "Medical Doctor" = "itg_white", - "Paramedic" = "itg_white", - "Psychiatrist" = "itg_white", - "Field Medic" = "itg_white", - "Talon Doctor" = "itg_white", - "Atmospheric Technician" = "itg_orange", - "Engineer" = "itg_orange", - "Off-duty Officer" = "itg_red", - "Off-duty Engineer" = "itg_orange", - "Off-duty Medic" = "itg_white", - "Off-duty Scientist" = "itg_purple", - "Off-duty Cargo" = "itg", - "Off-duty Explorer" = "itg_purple", - "Off-duty Worker" = "itg_green" + JOB_PILOT = "itg", + JOB_ALT_VISITOR = "itg", + JOB_QUARTERMASTER = "itg", + JOB_CARGO_TECHNICIAN = "itg", + JOB_SHAFT_MINER = "itg", + JOB_INTERN = "itg", + JOB_TALON_PILOT = "itg", + JOB_TALON_MINER = "itg", + JOB_BARTENDER = "itg_green", + JOB_BOTANIST = "itg_green", + JOB_CHEF = "itg_green", + JOB_JANITOR = "itg_green", + JOB_CHAPLAIN = "itg_green", + JOB_ENTERTAINER = "itg_green", + JOB_LIBRARIAN = "itg_green", + JOB_WARDEN = "itg_red", + JOB_DETECTIVE = "itg_red", + JOB_SECURITY_OFFICER = "itg_red", + JOB_TALON_GUARD = "itg_red", + JOB_ROBOTICIST = "itg_purple", + JOB_SCIENTIST = "itg_purple", + JOB_XENOBIOLOGIST = "itg_purple", + JOB_XENOBOTANIST = "itg_purple", + JOB_PATHFINDER = "itg_purple", + JOB_EXPLORER = "itg_purple", + JOB_CHEMIST = "itg_white", + JOB_MEDICAL_DOCTOR = "itg_white", + JOB_PARAMEDIC = "itg_white", + JOB_PSYCHIATRIST = "itg_white", + JOB_FIELD_MEDIC = "itg_white", + JOB_TALON_DOCTOR = "itg_white", + JOB_ATMOSPHERIC_TECHNICIAN = "itg_orange", + JOB_ENGINEER = "itg_orange", + JOB_OFFDUTY_OFFICER = "itg_red", + JOB_OFFDUTY_ENGINEER = "itg_orange", + JOB_OFFDUTY_MEDIC = "itg_white", + JOB_OFFDUTY_SCIENTIST = "itg_purple", + JOB_OFFDUTY_CARGO = "itg", + JOB_OFFDUTY_EXPLORER = "itg_purple", + JOB_OFFDUTY_WORKER = "itg_green" ) var/guess = jobs_to_icon[user.job] if(!guess) - to_chat(user, "ITG Cards do not seem to be able to accept the access codes for your ID.") + to_chat(user, span_notice("ITG Cards do not seem to be able to accept the access codes for your ID.")) return else icon_state = guess @@ -574,18 +579,18 @@ name = user.name + "'s ITG ID card" + " ([assignment])" -/obj/item/weapon/card/id/event/polymorphic/itg/attackby(obj/item/I as obj, var/mob/user) - if(istype(I, /obj/item/weapon/card/id) && !accessset) - var/obj/item/weapon/card/id/O = I - var/list/itgdont = list("Site Manager", "Head of Personnel", "Command Secretary", "Head of Security", "Chief Engineer", "Chief Medical Officer", "Research Director", "Clown", "Mime", "Talon Captain") //If you're in as one of these you probably aren't representing ITG +/obj/item/card/id/event/polymorphic/itg/attackby(obj/item/I as obj, var/mob/user) + if(istype(I, /obj/item/card/id) && !accessset) + var/obj/item/card/id/O = I + var/list/itgdont = list(JOB_SITE_MANAGER, JOB_HEAD_OF_PERSONNEL, JOB_COMMAND_SECRETARY, JOB_HEAD_OF_SECURITY, JOB_CHIEF_ENGINEER, JOB_CHIEF_MEDICAL_OFFICER, JOB_RESEARCH_DIRECTOR, JOB_CLOWN, JOB_MIME, JOB_TALON_CAPTAIN) //If you're in as one of these you probably aren't representing ITG if(O.rank in itgdont) - to_chat(user, "ITG Cards do not seem to be able to accept the access codes for your ID.") + to_chat(user, span_notice("ITG Cards do not seem to be able to accept the access codes for your ID.")) return . = ..() desc = "A small card designating affiliation with the Ironcrest Transport Group. It has a NanoTrasen insignia and a lot of very small print on the back to do with practices and regulations for contractors to use." -/obj/item/weapon/card/id/event/polymorphic/itg +/obj/item/card/id/event/polymorphic/itg icon = 'icons/obj/card_vr.dmi' base_icon = 'icons/obj/card_vr.dmi' icon_state = "itg" diff --git a/code/game/objects/items/weapons/id cards/syndicate_ids.dm b/code/game/objects/items/weapons/id cards/syndicate_ids.dm index b89868ca190..b6fe6fe37cc 100644 --- a/code/game/objects/items/weapons/id cards/syndicate_ids.dm +++ b/code/game/objects/items/weapons/id cards/syndicate_ids.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/card/id/syndicate +/obj/item/card/id/syndicate name = "agent card" icon_state = "generic-s" assignment = "Agent" @@ -8,37 +8,39 @@ var/datum/tgui_module/agentcard/agentcard_module -/obj/item/weapon/card/id/syndicate/Initialize() +/obj/item/card/id/syndicate/Initialize() . = ..() agentcard_module = new(src) access = syndicate_access.Copy() -/obj/item/weapon/card/id/syndicate/station_access/Initialize() +/obj/item/card/id/syndicate/station_access/Initialize() . = ..() // Same as the normal Syndicate id, only already has all station access access |= get_all_station_access() -/obj/item/weapon/card/id/syndicate/Destroy() +/obj/item/card/id/syndicate/Destroy() QDEL_NULL(agentcard_module) unset_registered_user(registered_user) return ..() -/obj/item/weapon/card/id/syndicate/prevent_tracking() +/obj/item/card/id/syndicate/prevent_tracking() return electronic_warfare -/obj/item/weapon/card/id/syndicate/afterattack(var/obj/item/weapon/O as obj, mob/user as mob, proximity) +/obj/item/card/id/syndicate/afterattack(var/obj/item/O as obj, mob/user as mob, proximity) if(!proximity) return - if(istype(O, /obj/item/weapon/card/id)) - var/obj/item/weapon/card/id/I = O - src.access |= I.access + if(istype(O, /obj/item/card/id)) + var/obj/item/card/id/I = O + src.access |= I.GetAccess() if(player_is_antag(user.mind) || registered_user == user) - to_chat(user, "The microscanner activates as you pass it over the ID, copying its access.") + to_chat(user, span_notice("The microscanner activates as you pass it over the ID, copying its access.")) -/obj/item/weapon/card/id/syndicate/attack_self(mob/user as mob) +/obj/item/card/id/syndicate/attack_self(mob/user as mob) // We use the fact that registered_name is not unset should the owner be vaporized, to ensure the id doesn't magically become unlocked. if(!registered_user && register_user(user)) - to_chat(user, "The microscanner marks you as its owner, preventing others from accessing its internals.") + to_chat(user, span_notice("The microscanner marks you as its owner, preventing others from accessing its internals.")) if(registered_user == user) - switch(tgui_alert(usr, "Would you like edit the ID, or show it?","Show or Edit?", list("Edit","Show"))) + switch(tgui_alert(user, "Would you like to edit the ID, or show it?","Show or Edit?", list("Edit","Show"))) + if(null) + return if("Edit") agentcard_module.tgui_interact(user) if("Show") @@ -47,16 +49,16 @@ ..() -/obj/item/weapon/card/id/syndicate/proc/register_user(var/mob/user) +/obj/item/card/id/syndicate/proc/register_user(var/mob/user) if(!istype(user) || user == registered_user) return FALSE unset_registered_user() registered_user = user user.set_id_info(src) - user.register(OBSERVER_EVENT_DESTROY, src, /obj/item/weapon/card/id/syndicate/proc/unset_registered_user) + user.register(OBSERVER_EVENT_DESTROY, src, /obj/item/card/id/syndicate/proc/unset_registered_user) return TRUE -/obj/item/weapon/card/id/syndicate/proc/unset_registered_user(var/mob/user) +/obj/item/card/id/syndicate/proc/unset_registered_user(var/mob/user) if(!registered_user || (user && user != registered_user)) return registered_user.unregister(OBSERVER_EVENT_DESTROY, src) @@ -66,8 +68,8 @@ /proc/id_card_states() if(!id_card_states) id_card_states = list() - for(var/path in typesof(/obj/item/weapon/card/id)) - var/obj/item/weapon/card/id/ID = new path() + for(var/path in typesof(/obj/item/card/id)) + var/obj/item/card/id/ID = new path() var/datum/card_state/CS = new() CS.icon_state = initial(ID.icon_state) CS.item_state = initial(ID.item_state) @@ -87,7 +89,7 @@ /datum/card_state/dd_SortValue() return name -/obj/item/weapon/card/id/syndicate_command +/obj/item/card/id/syndicate_command name = "operative ID card" desc = "An ID straight from a mercenary organisation." registered_name = "Operative" diff --git a/code/game/objects/items/weapons/implants/implant.dm b/code/game/objects/items/weapons/implants/implant.dm index 395c51fa19d..bcb5690d188 100644 --- a/code/game/objects/items/weapons/implants/implant.dm +++ b/code/game/objects/items/weapons/implants/implant.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/implant +/obj/item/implant name = "implant" icon = 'icons/obj/device.dmi' icon_state = "implant" @@ -13,15 +13,17 @@ var/malfunction = 0 var/initialize_loc = BP_TORSO var/known_implant = FALSE + pickup_sound = 'sound/items/pickup/device.ogg' + drop_sound = 'sound/items/drop/device.ogg' -/obj/item/weapon/implant/proc/trigger(emote, source as mob) +/obj/item/implant/proc/trigger(emote, source as mob) return -/obj/item/weapon/implant/proc/activate() +/obj/item/implant/proc/activate() return // Moves the implant where it needs to go, and tells it if there's more to be done in post_implant -/obj/item/weapon/implant/proc/handle_implant(var/mob/source, var/target_zone = BP_TORSO) +/obj/item/implant/proc/handle_implant(var/mob/source, var/target_zone = BP_TORSO) . = TRUE imp_in = source implanted = TRUE @@ -39,19 +41,19 @@ listening_objects |= src // Takes place after handle_implant, if that returns TRUE -/obj/item/weapon/implant/proc/post_implant(var/mob/source) +/obj/item/implant/proc/post_implant(var/mob/source) -/obj/item/weapon/implant/proc/get_data() +/obj/item/implant/proc/get_data() return "No information available" -/obj/item/weapon/implant/proc/hear(message, source as mob) +/obj/item/implant/proc/hear(message, source as mob) return -/obj/item/weapon/implant/proc/islegal() +/obj/item/implant/proc/islegal() return 0 -/obj/item/weapon/implant/proc/meltdown() //breaks it down, making implant unrecongizible - to_chat(imp_in, "You feel something melting inside [part ? "your [part.name]" : "you"]!") +/obj/item/implant/proc/meltdown() //breaks it down, making implant unrecongizible + to_chat(imp_in, span_warning("You feel something melting inside [part ? "your [part.name]" : "you"]!")) if (part) part.take_damage(burn = 15, used_weapon = "Electronics meltdown") else @@ -62,14 +64,14 @@ icon_state = "implant_melted" malfunction = MALFUNCTION_PERMANENT -/obj/item/weapon/implant/proc/implant_loadout(var/mob/living/carbon/human/H) +/obj/item/implant/proc/implant_loadout(var/mob/living/carbon/human/H) . = istype(H) && handle_implant(H, initialize_loc) if(.) invisibility = initial(invisibility) known_implant = TRUE post_implant(H) -/obj/item/weapon/implant/Destroy() +/obj/item/implant/Destroy() if(part) part.implants.Remove(src) part = null @@ -77,9 +79,9 @@ imp_in = null return ..() -/obj/item/weapon/implant/attackby(obj/item/I, mob/user) - if(istype(I, /obj/item/weapon/implanter)) - var/obj/item/weapon/implanter/implanter = I +/obj/item/implant/attackby(obj/item/I, mob/user) + if(istype(I, /obj/item/implanter)) + var/obj/item/implanter/implanter = I if(implanter.imp) return // It's full. user.drop_from_inventory(src) @@ -94,33 +96,33 @@ ////////////////////////////// // Tracking Implant ////////////////////////////// -GLOBAL_LIST_BOILERPLATE(all_tracking_implants, /obj/item/weapon/implant/tracking) +GLOBAL_LIST_BOILERPLATE(all_tracking_implants, /obj/item/implant/tracking) -/obj/item/weapon/implant/tracking +/obj/item/implant/tracking name = "tracking implant" desc = "An implant normally given to dangerous criminals. Allows security to track your location." known_implant = TRUE var/id = 1 var/degrade_time = 10 MINUTES //How long before the implant stops working outside of a living body. -/obj/item/weapon/implant/tracking/weak //This is for the loadout +/obj/item/implant/tracking/weak //This is for the loadout degrade_time = 2.5 MINUTES -/obj/item/weapon/implant/tracking/New() +/obj/item/implant/tracking/New() id = rand(1, 1000) ..() -/obj/item/weapon/implant/tracking/post_implant(var/mob/source) +/obj/item/implant/tracking/post_implant(var/mob/source) START_PROCESSING(SSobj, src) -/obj/item/weapon/implant/tracking/Destroy() +/obj/item/implant/tracking/Destroy() STOP_PROCESSING(SSobj, src) if(part) part.implants -= src part = imp_in = null return ..() -/obj/item/weapon/implant/tracking/process() +/obj/item/implant/tracking/process() var/implant_location = src.loc if(ismob(implant_location)) var/mob/living/L = implant_location @@ -133,7 +135,7 @@ GLOBAL_LIST_BOILERPLATE(all_tracking_implants, /obj/item/weapon/implant/tracking STOP_PROCESSING(SSobj, src) return 1 -/obj/item/weapon/implant/tracking/get_data() +/obj/item/implant/tracking/get_data() var/dat = {"Implant Specifications:
Name: Tracking Beacon
Life: 10 minutes after death of host
@@ -150,7 +152,7 @@ circuitry. As a result neurotoxins can cause massive damage.
Implant Specifics:
"} return dat -/obj/item/weapon/implant/tracking/emp_act(severity) +/obj/item/implant/tracking/emp_act(severity) if (malfunction) //no, dawg, you can't malfunction while you are malfunctioning return malfunction = MALFUNCTION_TEMPORARY @@ -173,12 +175,12 @@ Implant Specifics:
"} ////////////////////////////// // Death Explosive Implant ////////////////////////////// -/obj/item/weapon/implant/dexplosive +/obj/item/implant/dexplosive name = "explosive" desc = "And boom goes the weasel." icon_state = "implant_evil" -/obj/item/weapon/implant/dexplosive/get_data() +/obj/item/implant/dexplosive/get_data() var/dat = {" Implant Specifications:
Name: Robust Corp RX-78 Employee Management Implant
@@ -192,32 +194,32 @@ Implant Specifics:
"} return dat -/obj/item/weapon/implant/dexplosive/trigger(emote, source as mob) +/obj/item/implant/dexplosive/trigger(emote, source as mob) if(emote == "deathgasp") src.activate("death") return -/obj/item/weapon/implant/dexplosive/activate(var/cause) +/obj/item/implant/dexplosive/activate(var/cause) if((!cause) || (!src.imp_in)) return 0 explosion(src, -1, 0, 2, 3, 0)//This might be a bit much, dono will have to see. if(src.imp_in) src.imp_in.gib() -/obj/item/weapon/implant/dexplosive/islegal() +/obj/item/implant/dexplosive/islegal() return 0 ////////////////////////////// // Explosive Implant ////////////////////////////// -/obj/item/weapon/implant/explosive +/obj/item/implant/explosive name = "explosive implant" desc = "A military grade micro bio-explosive. Highly dangerous." var/elevel = "Localized Limb" var/phrase = "supercalifragilisticexpialidocious" icon_state = "implant_evil" -/obj/item/weapon/implant/explosive/get_data() +/obj/item/implant/explosive/get_data() var/dat = {" Implant Specifications:
Name: Robust Corp RX-78 Intimidation Class Implant
@@ -230,19 +232,19 @@ Implant Specifics:
"} Integrity: Implant will occasionally be degraded by the body's immune system and thus will occasionally malfunction."} return dat -/obj/item/weapon/implant/explosive/hear_talk(mob/M, list/message_pieces, verb) +/obj/item/implant/explosive/hear_talk(mob/M, list/message_pieces, verb) var/msg = multilingual_to_message(message_pieces) hear(msg) return -/obj/item/weapon/implant/explosive/hear(var/msg) +/obj/item/implant/explosive/hear(var/msg) var/list/replacechars = list("'" = "","\"" = "",">" = "","<" = "","(" = "",")" = "") msg = replace_characters(msg, replacechars) if(findtext(msg,phrase)) activate() qdel(src) -/obj/item/weapon/implant/explosive/activate() +/obj/item/implant/explosive/activate() if (malfunction == MALFUNCTION_PERMANENT) return @@ -254,7 +256,7 @@ Implant Specifics:
"} if(ishuman(imp_in)) if (elevel == "Localized Limb") if(part) //For some reason, small_boom() didn't work. So have this bit of working copypaste. - imp_in.visible_message("Something beeps inside [imp_in][part ? "'s [part.name]" : ""]!") + imp_in.visible_message(span_warning("Something beeps inside [imp_in][part ? "'s [part.name]" : ""]!")) playsound(src, 'sound/items/countdown.ogg', 75, 1, -3) sleep(25) if (istype(part,/obj/item/organ/external/chest) || \ @@ -282,7 +284,7 @@ Implant Specifics:
"} if(t) t.hotspot_expose(3500,125) -/obj/item/weapon/implant/explosive/post_implant(mob/source as mob) +/obj/item/implant/explosive/post_implant(mob/source as mob) elevel = tgui_alert(usr, "What sort of explosion would you prefer?", "Implant Intent", list("Localized Limb", "Destroy Body", "Full Explosion")) phrase = tgui_input_text(usr, "Choose activation phrase:") var/list/replacechars = list("'" = "","\"" = "",">" = "","<" = "","(" = "",")" = "") @@ -290,7 +292,7 @@ Implant Specifics:
"} usr.mind.store_memory("Explosive implant in [source] can be activated by saying something containing the phrase ''[src.phrase]'', say [src.phrase] to attempt to activate.", 0, 0) to_chat(usr, "The implanted explosive implant in [source] can be activated by saying something containing the phrase ''[src.phrase]'', say [src.phrase] to attempt to activate.") -/obj/item/weapon/implant/explosive/emp_act(severity) +/obj/item/implant/explosive/emp_act(severity) if (malfunction) return malfunction = MALFUNCTION_TEMPORARY @@ -322,12 +324,12 @@ Implant Specifics:
"} spawn (20) malfunction-- -/obj/item/weapon/implant/explosive/islegal() +/obj/item/implant/explosive/islegal() return 0 -/obj/item/weapon/implant/explosive/proc/small_boom() +/obj/item/implant/explosive/proc/small_boom() if (ishuman(imp_in) && part) - imp_in.visible_message("Something beeps inside [imp_in][part ? "'s [part.name]" : ""]!") + imp_in.visible_message(span_warning("Something beeps inside [imp_in][part ? "'s [part.name]" : ""]!")) playsound(src, 'sound/items/countdown.ogg', 75, 1, -3) spawn(25) if (ishuman(imp_in) && part) @@ -345,15 +347,15 @@ Implant Specifics:
"} ////////////////////////////// // Chemical Implant ////////////////////////////// -GLOBAL_LIST_BOILERPLATE(all_chem_implants, /obj/item/weapon/implant/chem) +GLOBAL_LIST_BOILERPLATE(all_chem_implants, /obj/item/implant/chem) -/obj/item/weapon/implant/chem +/obj/item/implant/chem name = "chemical implant" desc = "Injects things." allow_reagents = 1 known_implant = TRUE -/obj/item/weapon/implant/chem/get_data() +/obj/item/implant/chem/get_data() var/dat = {" Implant Specifications:
Name: Robust Corp MJ-420 Prisoner Management Implant
@@ -371,18 +373,18 @@ Can only be loaded while still in its original case.
the implant may become unstable and either pre-maturely inject the subject or simply break."} return dat -/obj/item/weapon/implant/chem/New() +/obj/item/implant/chem/New() ..() var/datum/reagents/R = new/datum/reagents(50) reagents = R R.my_atom = src -/obj/item/weapon/implant/chem/trigger(emote, source as mob) +/obj/item/implant/chem/trigger(emote, source as mob) if(emote == "deathgasp") src.activate(src.reagents.total_volume) return -/obj/item/weapon/implant/chem/activate(var/cause) +/obj/item/implant/chem/activate(var/cause) if((!cause) || (!src.imp_in)) return 0 var/mob/living/carbon/R = src.imp_in src.reagents.trans_to_mob(R, cause, CHEM_BLOOD) @@ -394,7 +396,7 @@ the implant may become unstable and either pre-maturely inject the subject or si qdel(src) return -/obj/item/weapon/implant/chem/emp_act(severity) +/obj/item/implant/chem/emp_act(severity) if (malfunction) return malfunction = MALFUNCTION_TEMPORARY @@ -419,12 +421,12 @@ the implant may become unstable and either pre-maturely inject the subject or si ////////////////////////////// // Loyalty Implant ////////////////////////////// -/obj/item/weapon/implant/loyalty +/obj/item/implant/loyalty name = "loyalty implant" desc = "Makes you loyal or such." known_implant = TRUE -/obj/item/weapon/implant/loyalty/get_data() +/obj/item/implant/loyalty/get_data() var/dat = {" Implant Specifications:
Name: [using_map.company_name] Employee Management Implant
@@ -437,7 +439,7 @@ the implant may become unstable and either pre-maturely inject the subject or si Integrity: Implant will last so long as the nanobots are inside the bloodstream."} return dat -/obj/item/weapon/implant/loyalty/handle_implant(mob/M, target_zone = BP_TORSO) +/obj/item/implant/loyalty/handle_implant(mob/M, target_zone = BP_TORSO) . = ..(M, target_zone) if(!istype(M, /mob/living/carbon/human)) . = FALSE @@ -447,20 +449,20 @@ the implant may become unstable and either pre-maturely inject the subject or si H.visible_message("[H] seems to resist the implant!", "You feel the corporate tendrils of [using_map.company_name] try to invade your mind!") . = FALSE -/obj/item/weapon/implant/loyalty/post_implant(mob/M) +/obj/item/implant/loyalty/post_implant(mob/M) var/mob/living/carbon/human/H = M clear_antag_roles(H.mind, 1) - to_chat(H, "You feel a surge of loyalty towards [using_map.company_name].") + to_chat(H, span_notice("You feel a surge of loyalty towards [using_map.company_name].")) ////////////////////////////// // Adrenaline Implant ////////////////////////////// -/obj/item/weapon/implant/adrenalin +/obj/item/implant/adrenalin name = "adrenalin" desc = "Removes all stuns and knockdowns." var/uses -/obj/item/weapon/implant/adrenalin/get_data() +/obj/item/implant/adrenalin/get_data() var/dat = {" Implant Specifications:
Name: Cybersun Industries Adrenalin Implant
@@ -474,32 +476,32 @@ the implant may become unstable and either pre-maturely inject the subject or si return dat -/obj/item/weapon/implant/adrenalin/trigger(emote, mob/source as mob) +/obj/item/implant/adrenalin/trigger(emote, mob/source as mob) if (src.uses < 1) return 0 if (emote == "pale") src.uses-- - to_chat(source, "You feel a sudden surge of energy!") + to_chat(source, span_notice("You feel a sudden surge of energy!")) source.SetStunned(0) source.SetWeakened(0) source.SetParalysis(0) return -/obj/item/weapon/implant/adrenalin/post_implant(mob/source) +/obj/item/implant/adrenalin/post_implant(mob/source) source.mind.store_memory("A implant can be activated by using the pale emote, say *pale to attempt to activate.", 0, 0) to_chat(source, "The implanted freedom implant can be activated by using the pale emote, say *pale to attempt to activate.") ////////////////////////////// // Death Alarm Implant ////////////////////////////// -/obj/item/weapon/implant/death_alarm +/obj/item/implant/death_alarm name = "death alarm implant" desc = "An alarm which monitors host vital signs and transmits a radio message upon death." origin_tech = list(TECH_MATERIAL = 1, TECH_BIO = 2, TECH_DATA = 1) known_implant = TRUE var/mobname = "Will Robinson" -/obj/item/weapon/implant/death_alarm/get_data() +/obj/item/implant/death_alarm/get_data() var/dat = {" Implant Specifications:
Name: [using_map.company_name] \"Profit Margin\" Class Employee Lifesign Sensor
@@ -512,7 +514,7 @@ the implant may become unstable and either pre-maturely inject the subject or si Integrity: Implant will occasionally be degraded by the body's immune system and thus will occasionally malfunction."} return dat -/obj/item/weapon/implant/death_alarm/process() +/obj/item/implant/death_alarm/process() if (!implanted) return var/mob/M = imp_in @@ -521,12 +523,12 @@ the implant may become unstable and either pre-maturely inject the subject or si else if(M.stat == 2) activate("death") -/obj/item/weapon/implant/death_alarm/activate(var/cause) +/obj/item/implant/death_alarm/activate(var/cause) var/mob/M = imp_in var/area/t = get_area(M) switch (cause) if("death") - var/obj/item/device/radio/headset/a = new /obj/item/device/radio/headset/heads/captain(null) + var/obj/item/radio/headset/a = new /obj/item/radio/headset/heads/captain(null) if(istype(t, /area/syndicate_station) || istype(t, /area/syndicate_mothership) || istype(t, /area/shuttle/syndicate_elite) ) //give the syndies a bit of stealth a.autosay("[mobname] has died in Space!", "[mobname]'s Death Alarm") @@ -539,21 +541,21 @@ the implant may become unstable and either pre-maturely inject the subject or si qdel(a) STOP_PROCESSING(SSobj, src) if ("emp") - var/obj/item/device/radio/headset/a = new /obj/item/device/radio/headset/heads/captain(null) + var/obj/item/radio/headset/a = new /obj/item/radio/headset/heads/captain(null) var/name = prob(50) ? t.name : pick(teleportlocs) a.autosay("[mobname] has died in [name]!", "[mobname]'s Death Alarm") // a.autosay("[mobname] has died in [name]!", "[mobname]'s Death Alarm", "Security") // a.autosay("[mobname] has died in [name]!", "[mobname]'s Death Alarm", "Medical") qdel(a) else - var/obj/item/device/radio/headset/a = new /obj/item/device/radio/headset/heads/captain(null) + var/obj/item/radio/headset/a = new /obj/item/radio/headset/heads/captain(null) a.autosay("[mobname] has died-zzzzt in-in-in...", "[mobname]'s Death Alarm") // a.autosay("[mobname] has died-zzzzt in-in-in...", "[mobname]'s Death Alarm", "Security") // a.autosay("[mobname] has died-zzzzt in-in-in...", "[mobname]'s Death Alarm", "Medical") qdel(a) STOP_PROCESSING(SSobj, src) -/obj/item/weapon/implant/death_alarm/emp_act(severity) //for some reason alarms stop going off in case they are emp'd, even without this +/obj/item/implant/death_alarm/emp_act(severity) //for some reason alarms stop going off in case they are emp'd, even without this if (malfunction) //so I'm just going to add a meltdown chance here return malfunction = MALFUNCTION_TEMPORARY @@ -569,14 +571,14 @@ the implant may become unstable and either pre-maturely inject the subject or si spawn(20) malfunction-- -/obj/item/weapon/implant/death_alarm/post_implant(mob/source as mob) +/obj/item/implant/death_alarm/post_implant(mob/source as mob) mobname = source.real_name START_PROCESSING(SSobj, src) ////////////////////////////// // Compressed Matter Implant ////////////////////////////// -/obj/item/weapon/implant/compressed +/obj/item/implant/compressed name = "compressed matter implant" desc = "Based on compressed matter technology, can store a single item." icon_state = "implant_evil" @@ -584,7 +586,7 @@ the implant may become unstable and either pre-maturely inject the subject or si var/obj/item/scanned = null origin_tech = list(TECH_MATERIAL = 4, TECH_BIO = 2, TECH_ILLEGAL = 2) -/obj/item/weapon/implant/compressed/get_data() +/obj/item/implant/compressed/get_data() var/dat = {" Implant Specifications:
Name: [using_map.company_name] \"Profit Margin\" Class Employee Lifesign Sensor
@@ -597,7 +599,7 @@ the implant may become unstable and either pre-maturely inject the subject or si Integrity: Implant will occasionally be degraded by the body's immune system and thus will occasionally malfunction."} return dat -/obj/item/weapon/implant/compressed/trigger(emote, mob/source as mob) +/obj/item/implant/compressed/trigger(emote, mob/source as mob) if (src.scanned == null) return 0 @@ -605,7 +607,7 @@ the implant may become unstable and either pre-maturely inject the subject or si to_chat(source, "The air glows as \the [src.scanned.name] uncompresses.") activate() -/obj/item/weapon/implant/compressed/activate() +/obj/item/implant/compressed/activate() var/turf/t = get_turf(src) if (imp_in) imp_in.put_in_hands(scanned) @@ -613,7 +615,7 @@ the implant may become unstable and either pre-maturely inject the subject or si scanned.loc = t qdel(src) -/obj/item/weapon/implant/compressed/post_implant(mob/source) +/obj/item/implant/compressed/post_implant(mob/source) var/choices = list("blink", "blink_r", "eyebrow", "chuckle", "twitch", "frown", "nod", "blush", "giggle", "grin", "groan", "shrug", "smile", "pale", "sniff", "whimper", "wink") activation_emote = tgui_input_list(usr, "Choose activation emote. If you cancel this, one will be picked at random.", "Implant Activation", choices) if(!activation_emote) @@ -623,5 +625,5 @@ the implant may become unstable and either pre-maturely inject the subject or si to_chat(source, "The implanted compressed matter implant can be activated by using the [src.activation_emote] emote, say *[src.activation_emote] to attempt to activate.") -/obj/item/weapon/implant/compressed/islegal() +/obj/item/implant/compressed/islegal() return 0 diff --git a/code/game/objects/items/weapons/implants/implant_vr.dm b/code/game/objects/items/weapons/implants/implant_vr.dm index fa2c45cacab..8f82fb42f70 100644 --- a/code/game/objects/items/weapons/implants/implant_vr.dm +++ b/code/game/objects/items/weapons/implants/implant_vr.dm @@ -1,9 +1,9 @@ -/obj/item/weapon/implant/vrlanguage +/obj/item/implant/vrlanguage name = "language" desc = "Allows the user to understand and speak almost all known languages.." var/uses = 1 -/obj/item/weapon/implant/vrlanguage/get_data() +/obj/item/implant/vrlanguage/get_data() var/dat = {" Implant Specifications:
Name: Language Implant
@@ -16,12 +16,12 @@ Integrity: Implant can only be used once before the nanobots are depleted."} return dat -/obj/item/weapon/implant/vrlanguage/trigger(emote, mob/source as mob) +/obj/item/implant/vrlanguage/trigger(emote, mob/source as mob) if (src.uses < 1) return 0 if (emote == "smile") src.uses-- - to_chat(source,"You suddenly feel as if you can understand other languages!") + to_chat(source,span_notice("You suddenly feel as if you can understand other languages!")) source.add_language(LANGUAGE_UNATHI) source.add_language(LANGUAGE_SIIK) source.add_language(LANGUAGE_SKRELLIAN) @@ -33,7 +33,7 @@ source.add_language(LANGUAGE_SOL_COMMON) //In case they're giving a xenomorph an implant or something. source.add_language(LANGUAGE_TAVAN) -/obj/item/weapon/implant/vrlanguage/post_implant(mob/source) +/obj/item/implant/vrlanguage/post_implant(mob/source) source.mind.store_memory("A implant can be activated by using the smile emote, say *smile to attempt to activate.", 0, 0) to_chat(source,"The implanted language implant can be activated by using the smile emote, say *smile to attempt to activate.") return 1 @@ -41,14 +41,14 @@ ////////////////////////////// // Size Control Implant ////////////////////////////// -/obj/item/weapon/implant/sizecontrol +/obj/item/implant/sizecontrol name = "size control implant" desc = "Implant which allows to control host size via voice commands." icon_state = "implant_evil" var/owner var/active = TRUE -/obj/item/weapon/implant/sizecontrol/get_data() +/obj/item/implant/sizecontrol/get_data() var/dat = {" Implant Specifications:
Name:L3-WD Size Controlling Implant
@@ -57,7 +57,7 @@ Function: Resizes the host whenever specific verbal command is received
"} return dat -/obj/item/weapon/implant/sizecontrol/hear_talk(mob/M, list/message_pieces) +/obj/item/implant/sizecontrol/hear_talk(mob/M, list/message_pieces) if(M == imp_in) return if(owner) @@ -71,7 +71,7 @@ hear(msg) return -/obj/item/weapon/implant/sizecontrol/see_emote(mob/living/M, message, m_type) +/obj/item/implant/sizecontrol/see_emote(mob/living/M, message, m_type) if(M == imp_in) return if(owner) @@ -86,7 +86,7 @@ hear(say_in_me.group[2]) -/obj/item/weapon/implant/sizecontrol/hear(var/msg) +/obj/item/implant/sizecontrol/hear(var/msg) if (malfunction) return @@ -107,18 +107,18 @@ -/obj/item/weapon/implant/sizecontrol/post_implant(mob/source, mob/living/user = usr) +/obj/item/implant/sizecontrol/post_implant(mob/source, mob/living/user = usr) if(source != user) owner = user -/obj/item/weapon/implant/sizecontrol/emp_act(severity) +/obj/item/implant/sizecontrol/emp_act(severity) if(istype(imp_in, /mob/living)) var/newsize = pick(RESIZE_HUGE,RESIZE_BIG,RESIZE_NORMAL,RESIZE_SMALL,RESIZE_TINY,RESIZE_A_HUGEBIG,RESIZE_A_BIGNORMAL,RESIZE_A_NORMALSMALL,RESIZE_A_SMALLTINY) var/mob/living/H = imp_in H.resize(newsize) -/obj/item/weapon/implanter/sizecontrol +/obj/item/implanter/sizecontrol name = "size control implant" desc = "Implant which allows to control host size via voice commands." description_info = {"Only accessible by those who implanted the victim. Self-implanting allows everyone to change host size. The following special commands are available: @@ -128,8 +128,8 @@ 'Ignore' - keywords in the speech won't have any effect. 'Implant-toggle' - toggles implant."} -/obj/item/weapon/implanter/sizecontrol/New() - src.imp = new /obj/item/weapon/implant/sizecontrol( src ) +/obj/item/implanter/sizecontrol/New() + src.imp = new /obj/item/implant/sizecontrol( src ) ..() update() return @@ -138,7 +138,7 @@ ////////////////////////////// // Compliance Implant ////////////////////////////// -/obj/item/weapon/implanter/compliance +/obj/item/implanter/compliance name = "compliance implant" desc = "Implant which allows for implanting 'laws' or 'commands' in the host. Has a miniature keyboard for typing laws into." description_info = {"An implant that allows for a 'law' or 'command' to be uploaded in the implanted host. @@ -153,25 +153,25 @@ Due to the small chemical capacity of the implant, the life of the implant is re safeties to prevent lethal or actively harmful commands from being input to lessen the severity of the crime if they are caught. This one has a golden stamp \ with the shape of a star on it, the letters 'KE' in black text on it." -/obj/item/weapon/implanter/compliance/New() - src.imp = new /obj/item/weapon/implant/compliance( src ) +/obj/item/implanter/compliance/New() + src.imp = new /obj/item/implant/compliance( src ) ..() update() return -/obj/item/weapon/implanter/compliance/attack_self(mob/user) - if(istype(imp,/obj/item/weapon/implant/compliance)) - var/obj/item/weapon/implant/compliance/implant = imp +/obj/item/implanter/compliance/attack_self(mob/user) + if(istype(imp,/obj/item/implant/compliance)) + var/obj/item/implant/compliance/implant = imp var/newlaws = tgui_input_text(user, "Please Input Laws", "Compliance Laws", "", multiline = TRUE, prevent_enter = TRUE) newlaws = sanitize(newlaws,2048) if(newlaws) - to_chat(user,"You set the laws to:
[newlaws]") + to_chat(user,"You set the laws to:
" + span_notice("[newlaws]")) implant.laws = newlaws //Organic else //No using other implants. - to_chat(user,"A red warning pops up on the implanter's micro-screen: 'INVALID IMPLANT DETECTED.'") + to_chat(user,span_notice("A red warning pops up on the implanter's micro-screen: 'INVALID IMPLANT DETECTED.'")) -/obj/item/weapon/implant/compliance +/obj/item/implant/compliance name = "compliance implant" desc = "Implant which allows for forcing obedience in the host." icon_state = "implant_evil" @@ -179,7 +179,7 @@ Due to the small chemical capacity of the implant, the life of the implant is re var/laws = "CHANGE BEFORE IMPLANTATION" var/nif_payload = /datum/nifsoft/compliance -/obj/item/weapon/implant/compliance/get_data() +/obj/item/implant/compliance/get_data() var/dat = {" Implant Specifications:
Name:Compliance Implant
@@ -190,18 +190,18 @@ Due to the small chemical capacity of the implant, the life of the implant is re Set Laws:[laws]"} return dat -/obj/item/weapon/implant/compliance/post_implant(mob/source, mob/living/user = usr) +/obj/item/implant/compliance/post_implant(mob/source, mob/living/user = usr) if(!ishuman(source)) //No compliance implanting non-humans. return var/mob/living/carbon/human/target = source if(!target.nif || target.nif.stat != NIF_WORKING) //No nif or their NIF is broken. - to_chat(target, "You suddenly feel compelled to follow the following commands: [laws]") - to_chat(target, "((OOC NOTE: Commands that go against server rules should be disregarded and ahelped.))") - to_chat(target, "((OOC NOTE: Your new commands can be checked at any time by using the 'notes' command in chat. Additionally, if you did not agree to this, you are not compelled to follow the implant.))") + to_chat(target, span_notice("You suddenly feel compelled to follow the following commands: [laws]")) + to_chat(target, span_notice("((OOC NOTE: Commands that go against server rules should be disregarded and ahelped.))")) + to_chat(target, span_notice("((OOC NOTE: Your new commands can be checked at any time by using the 'notes' command in chat. Additionally, if you did not agree to this, you are not compelled to follow the implant.))")) target.add_memory(laws) return else //You got a nif...Upload time. new nif_payload(target.nif,laws) - to_chat(target, "((OOC NOTE: Commands that go against server rules should be disregarded and ahelped.))") - to_chat(target, "((OOC NOTE: If you did not agree to this, you are not compelled to follow the laws.))") + to_chat(target, span_notice("((OOC NOTE: Commands that go against server rules should be disregarded and ahelped.))")) + to_chat(target, span_notice("((OOC NOTE: If you did not agree to this, you are not compelled to follow the laws.))")) diff --git a/code/game/objects/items/weapons/implants/implantaugment.dm b/code/game/objects/items/weapons/implants/implantaugment.dm index 32082fef99c..58e12d9821f 100644 --- a/code/game/objects/items/weapons/implants/implantaugment.dm +++ b/code/game/objects/items/weapons/implants/implantaugment.dm @@ -1,7 +1,7 @@ ////////////////////////////// // Nanite Organ Implant ////////////////////////////// -/obj/item/weapon/implant/organ +/obj/item/implant/organ name = "nanite fabrication implant" desc = "A buzzing implant covered in a writhing layer of metal insects." icon_state = "implant_evil" @@ -10,7 +10,7 @@ var/organ_to_implant = /obj/item/organ/internal/augment/bioaugment/thermalshades var/organ_display_name = "unknown organ" -/obj/item/weapon/implant/organ/get_data() +/obj/item/implant/organ/get_data() var/dat = {" Implant Specifications:
Name: \"GreyDoctor\" Class Nanite Hive
@@ -18,22 +18,22 @@ Important Notes: Nanites will fail to complete their task if a suitable location cannot be found for the organ.

Implant Details:
-Function: Nanites will fabricate: [organ_display_name]
+Function: Nanites will fabricate: [span_alien("[organ_display_name]")]
Special Features: Organ identification protocols.
Integrity: N/A"} return dat -/obj/item/weapon/implant/organ/post_implant(var/mob/M) +/obj/item/implant/organ/post_implant(var/mob/M) if(ishuman(M)) var/mob/living/carbon/human/H = M var/obj/item/organ/NewOrgan = new organ_to_implant() var/obj/item/organ/external/E = H.get_organ(NewOrgan.parent_organ) - to_chat(H, "You feel a tingling sensation in your [part].") + to_chat(H, span_notice("You feel a tingling sensation in your [part].")) if(E && !(H.internal_organs_by_name[NewOrgan.organ_tag])) spawn(rand(1 SECONDS, 30 SECONDS)) - to_chat(H, "You feel a pressure in your [E] as the tingling fades, the lump caused by the implant now gone.") + to_chat(H, span_alien("You feel a pressure in your [E] as the tingling fades, the lump caused by the implant now gone.")) NewOrgan.forceMove(H) NewOrgan.owner = H @@ -50,16 +50,16 @@ else qdel(NewOrgan) - to_chat(H, "You feel a pinching sensation in your [part]. The implant remains.") + to_chat(H, span_warning("You feel a pinching sensation in your [part]. The implant remains.")) -/obj/item/weapon/implant/organ/islegal() +/obj/item/implant/organ/islegal() return 0 /* * Arm / leg mounted augments. */ -/obj/item/weapon/implant/organ/limbaugment +/obj/item/implant/organ/limbaugment name = "nanite implant" organ_to_implant = /obj/item/organ/internal/augment/armmounted/taser @@ -67,19 +67,19 @@ var/list/possible_targets = list(O_AUG_L_FOREARM, O_AUG_R_FOREARM) -/obj/item/weapon/implant/organ/limbaugment/post_implant(var/mob/M) +/obj/item/implant/organ/limbaugment/post_implant(var/mob/M) if(ishuman(M)) var/mob/living/carbon/human/H = M var/obj/item/organ/NewOrgan = new organ_to_implant() var/obj/item/organ/external/E = setup_augment_slots(H, NewOrgan) - to_chat(H, "You feel a tingling sensation in your [part].") + to_chat(H, span_notice("You feel a tingling sensation in your [part].")) NewOrgan.forceMove(H) NewOrgan.owner = H if(E && istype(E) && !(H.internal_organs_by_name[NewOrgan.organ_tag]) && NewOrgan.check_verb_compatability()) spawn(rand(1 SECONDS, 30 SECONDS)) - to_chat(H, "You feel a pressure in your [E] as the tingling fades, the lump caused by the implant now gone.") + to_chat(H, span_alien("You feel a pressure in your [E] as the tingling fades, the lump caused by the implant now gone.")) if(E.internal_organs == null) E.internal_organs = list() @@ -94,9 +94,9 @@ else qdel(NewOrgan) - to_chat(H, "You feel a pinching sensation in your [part]. The implant remains.") + to_chat(H, span_warning("You feel a pinching sensation in your [part]. The implant remains.")) -/obj/item/weapon/implant/organ/limbaugment/proc/setup_augment_slots(var/mob/living/carbon/human/H, var/obj/item/organ/internal/augment/armmounted/I) +/obj/item/implant/organ/limbaugment/proc/setup_augment_slots(var/mob/living/carbon/human/H, var/obj/item/organ/internal/augment/armmounted/I) var/list/Choices = possible_targets.Copy() for(var/targ in possible_targets) @@ -148,13 +148,13 @@ * Limb implant primary subtypes. */ -/obj/item/weapon/implant/organ/limbaugment/upperarm +/obj/item/implant/organ/limbaugment/upperarm organ_to_implant = /obj/item/organ/internal/augment/armmounted/shoulder/multiple organ_display_name = "multi-use augment" possible_targets = list(O_AUG_R_UPPERARM,O_AUG_L_UPPERARM) -/obj/item/weapon/implant/organ/limbaugment/wrist +/obj/item/implant/organ/limbaugment/wrist organ_to_implant = /obj/item/organ/internal/augment/armmounted/hand organ_display_name = "wrist augment" @@ -165,31 +165,31 @@ */ // Wrist -/obj/item/weapon/implant/organ/limbaugment/wrist/sword +/obj/item/implant/organ/limbaugment/wrist/sword organ_to_implant = /obj/item/organ/internal/augment/armmounted/hand/sword organ_display_name = "weapon augment" -/obj/item/weapon/implant/organ/limbaugment/wrist/blade +/obj/item/implant/organ/limbaugment/wrist/blade organ_to_implant = /obj/item/organ/internal/augment/armmounted/hand/blade organ_display_name = "weapon augment" // Fore-arm -/obj/item/weapon/implant/organ/limbaugment/laser +/obj/item/implant/organ/limbaugment/laser organ_to_implant = /obj/item/organ/internal/augment/armmounted organ_display_name = "weapon augment" -/obj/item/weapon/implant/organ/limbaugment/dart +/obj/item/implant/organ/limbaugment/dart organ_to_implant = /obj/item/organ/internal/augment/armmounted/dartbow organ_display_name = "weapon augment" // Upper-arm. -/obj/item/weapon/implant/organ/limbaugment/upperarm/medkit +/obj/item/implant/organ/limbaugment/upperarm/medkit organ_to_implant = /obj/item/organ/internal/augment/armmounted/shoulder/multiple/medical -/obj/item/weapon/implant/organ/limbaugment/upperarm/surge +/obj/item/implant/organ/limbaugment/upperarm/surge organ_to_implant = /obj/item/organ/internal/augment/armmounted/shoulder/surge -/obj/item/weapon/implant/organ/limbaugment/upperarm/blade +/obj/item/implant/organ/limbaugment/upperarm/blade organ_to_implant = /obj/item/organ/internal/augment/armmounted/shoulder/blade organ_display_name = "weapon augment" @@ -197,7 +197,7 @@ * Others */ -/obj/item/weapon/implant/organ/pelvic +/obj/item/implant/organ/pelvic name = "nanite fabrication implant" organ_to_implant = /obj/item/organ/internal/augment/bioaugment/sprint_enhance diff --git a/code/game/objects/items/weapons/implants/implantcase.dm b/code/game/objects/items/weapons/implants/implantcase.dm index ee6925c55c4..48be1714cb5 100644 --- a/code/game/objects/items/weapons/implants/implantcase.dm +++ b/code/game/objects/items/weapons/implants/implantcase.dm @@ -1,6 +1,6 @@ //This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32 -/obj/item/weapon/implantcase +/obj/item/implantcase name = "glass case" desc = "A case containing an implant." icon = 'icons/obj/items.dmi' @@ -9,39 +9,39 @@ throw_speed = 1 throw_range = 5 w_class = ITEMSIZE_TINY - var/obj/item/weapon/implant/imp = null + var/obj/item/implant/imp = null -/obj/item/weapon/implantcase/proc/update() +/obj/item/implantcase/proc/update() if (src.imp) src.icon_state = text("implantcase-[]", src.imp.implant_color) else src.icon_state = "implantcase-0" return -/obj/item/weapon/implantcase/attackby(obj/item/weapon/I as obj, mob/user as mob) +/obj/item/implantcase/attackby(obj/item/I as obj, mob/user as mob) ..() - if (istype(I, /obj/item/weapon/pen)) + if (istype(I, /obj/item/pen)) var/t = tgui_input_text(user, "What would you like the label to be?", text("[]", src.name), null, MAX_NAME_LEN) if (user.get_active_hand() != I) return - if((!in_range(src, usr) && src.loc != user)) + if((!in_range(src, user) && src.loc != user)) return t = sanitizeSafe(t, MAX_NAME_LEN) if(t) src.name = text("Glass Case - '[]'", t) else src.name = "Glass Case" - else if(istype(I, /obj/item/weapon/reagent_containers/syringe)) + else if(istype(I, /obj/item/reagent_containers/syringe)) if(!src.imp) return if(!src.imp.allow_reagents) return if(src.imp.reagents.total_volume >= src.imp.reagents.maximum_volume) - to_chat(user, "\The [src] is full.") + to_chat(user, span_warning("\The [src] is full.")) else spawn(5) I.reagents.trans_to_obj(src.imp, 5) - to_chat(user, "You inject 5 units of the solution. The syringe now contains [I.reagents.total_volume] units.") - else if (istype(I, /obj/item/weapon/implanter)) - var/obj/item/weapon/implanter/M = I + to_chat(user, span_notice("You inject 5 units of the solution. The syringe now contains [I.reagents.total_volume] units.")) + else if (istype(I, /obj/item/implanter)) + var/obj/item/implanter/M = I if (M.imp) if ((src.imp || M.imp.implanted)) return @@ -62,250 +62,250 @@ return -/obj/item/weapon/implantcase/tracking +/obj/item/implantcase/tracking name = "glass case - 'tracking'" desc = "A case containing a tracking implant." icon_state = "implantcase-b" -/obj/item/weapon/implantcase/tracking/New() - src.imp = new /obj/item/weapon/implant/tracking( src ) +/obj/item/implantcase/tracking/New() + src.imp = new /obj/item/implant/tracking( src ) ..() return -/obj/item/weapon/implantcase/explosive +/obj/item/implantcase/explosive name = "glass case - 'explosive'" desc = "A case containing an explosive implant." icon_state = "implantcase-r" -/obj/item/weapon/implantcase/explosive/New() - src.imp = new /obj/item/weapon/implant/explosive( src ) +/obj/item/implantcase/explosive/New() + src.imp = new /obj/item/implant/explosive( src ) ..() return -/obj/item/weapon/implantcase/chem +/obj/item/implantcase/chem name = "glass case - 'chem'" desc = "A case containing a chemical implant." icon_state = "implantcase-b" -/obj/item/weapon/implantcase/chem/New() - src.imp = new /obj/item/weapon/implant/chem( src ) +/obj/item/implantcase/chem/New() + src.imp = new /obj/item/implant/chem( src ) ..() return -/obj/item/weapon/implantcase/loyalty +/obj/item/implantcase/loyalty name = "glass case - 'loyalty'" desc = "A case containing a loyalty implant." icon_state = "implantcase-r" -/obj/item/weapon/implantcase/loyalty/New() - src.imp = new /obj/item/weapon/implant/loyalty( src ) +/obj/item/implantcase/loyalty/New() + src.imp = new /obj/item/implant/loyalty( src ) ..() return -/obj/item/weapon/implantcase/death_alarm +/obj/item/implantcase/death_alarm name = "glass case - 'death alarm'" desc = "A case containing a death alarm implant." icon_state = "implantcase-b" -/obj/item/weapon/implantcase/death_alarm/New() - src.imp = new /obj/item/weapon/implant/death_alarm( src ) +/obj/item/implantcase/death_alarm/New() + src.imp = new /obj/item/implant/death_alarm( src ) ..() return -/obj/item/weapon/implantcase/freedom +/obj/item/implantcase/freedom name = "glass case - 'freedom'" desc = "A case containing a freedom implant." icon_state = "implantcase-r" -/obj/item/weapon/implantcase/freedom/New() - src.imp = new /obj/item/weapon/implant/freedom( src ) +/obj/item/implantcase/freedom/New() + src.imp = new /obj/item/implant/freedom( src ) ..() return -/obj/item/weapon/implantcase/adrenalin +/obj/item/implantcase/adrenalin name = "glass case - 'adrenalin'" desc = "A case containing an adrenalin implant." icon_state = "implantcase-b" -/obj/item/weapon/implantcase/adrenalin/New() - src.imp = new /obj/item/weapon/implant/adrenalin( src ) +/obj/item/implantcase/adrenalin/New() + src.imp = new /obj/item/implant/adrenalin( src ) ..() return -/obj/item/weapon/implantcase/dexplosive +/obj/item/implantcase/dexplosive name = "glass case - 'explosive'" desc = "A case containing an explosive." icon_state = "implantcase-r" -/obj/item/weapon/implantcase/dexplosive/New() - src.imp = new /obj/item/weapon/implant/dexplosive( src ) +/obj/item/implantcase/dexplosive/New() + src.imp = new /obj/item/implant/dexplosive( src ) ..() return -/obj/item/weapon/implantcase/health +/obj/item/implantcase/health name = "glass case - 'health'" desc = "A case containing a health tracking implant." icon_state = "implantcase-b" -/obj/item/weapon/implantcase/health/New() - src.imp = new /obj/item/weapon/implant/health( src ) +/obj/item/implantcase/health/New() + src.imp = new /obj/item/implant/health( src ) ..() return -/obj/item/weapon/implantcase/language +/obj/item/implantcase/language name = "glass case - 'GalCom'" desc = "A case containing a GalCom language implant." icon_state = "implantcase-b" -/obj/item/weapon/implantcase/language/New() - src.imp = new /obj/item/weapon/implant/language( src ) +/obj/item/implantcase/language/New() + src.imp = new /obj/item/implant/language( src ) ..() return -/obj/item/weapon/implantcase/language/eal +/obj/item/implantcase/language/eal name = "glass case - 'EAL'" desc = "A case containing an Encoded Audio Language implant." icon_state = "implantcase-b" -/obj/item/weapon/implantcase/language/eal/New() - src.imp = new /obj/item/weapon/implant/language/eal( src ) +/obj/item/implantcase/language/eal/New() + src.imp = new /obj/item/implant/language/eal( src ) ..() return -/obj/item/weapon/implantcase/shades +/obj/item/implantcase/shades name = "glass case - 'Integrated Shades'" desc = "A case containing a nanite fabricator implant." icon_state = "implantcase-b" -/obj/item/weapon/implantcase/shades/New() - src.imp = new /obj/item/weapon/implant/organ( src ) +/obj/item/implantcase/shades/New() + src.imp = new /obj/item/implant/organ( src ) ..() return -/obj/item/weapon/implantcase/taser +/obj/item/implantcase/taser name = "glass case - 'Taser'" desc = "A case containing a nanite fabricator implant." icon_state = "implantcase-b" -/obj/item/weapon/implantcase/taser/New() - src.imp = new /obj/item/weapon/implant/organ/limbaugment( src ) +/obj/item/implantcase/taser/New() + src.imp = new /obj/item/implant/organ/limbaugment( src ) ..() return -/obj/item/weapon/implantcase/laser +/obj/item/implantcase/laser name = "glass case - 'Laser'" desc = "A case containing a nanite fabricator implant." icon_state = "implantcase-b" -/obj/item/weapon/implantcase/laser/New() - src.imp = new /obj/item/weapon/implant/organ/limbaugment/laser( src ) +/obj/item/implantcase/laser/New() + src.imp = new /obj/item/implant/organ/limbaugment/laser( src ) ..() return -/obj/item/weapon/implantcase/dart +/obj/item/implantcase/dart name = "glass case - 'Dart'" desc = "A case containing a nanite fabricator implant." icon_state = "implantcase-b" -/obj/item/weapon/implantcase/dart/New() - src.imp = new /obj/item/weapon/implant/organ/limbaugment/dart( src ) +/obj/item/implantcase/dart/New() + src.imp = new /obj/item/implant/organ/limbaugment/dart( src ) ..() return -/obj/item/weapon/implantcase/toolkit +/obj/item/implantcase/toolkit name = "glass case - 'Toolkit'" desc = "A case containing a nanite fabricator implant." icon_state = "implantcase-b" -/obj/item/weapon/implantcase/toolkit/New() - src.imp = new /obj/item/weapon/implant/organ/limbaugment/upperarm( src ) +/obj/item/implantcase/toolkit/New() + src.imp = new /obj/item/implant/organ/limbaugment/upperarm( src ) ..() return -/obj/item/weapon/implantcase/medkit +/obj/item/implantcase/medkit name = "glass case - 'Toolkit'" desc = "A case containing a nanite fabricator implant." icon_state = "implantcase-b" -/obj/item/weapon/implantcase/medkit/New() - src.imp = new /obj/item/weapon/implant/organ/limbaugment/upperarm/medkit( src ) +/obj/item/implantcase/medkit/New() + src.imp = new /obj/item/implant/organ/limbaugment/upperarm/medkit( src ) ..() return -/obj/item/weapon/implantcase/surge +/obj/item/implantcase/surge name = "glass case - 'Muscle Overclocker'" desc = "A case containing a nanite fabricator implant." icon_state = "implantcase-b" -/obj/item/weapon/implantcase/surge/New() - src.imp = new /obj/item/weapon/implant/organ/limbaugment/upperarm/surge( src ) +/obj/item/implantcase/surge/New() + src.imp = new /obj/item/implant/organ/limbaugment/upperarm/surge( src ) ..() return -/obj/item/weapon/implantcase/analyzer +/obj/item/implantcase/analyzer name = "glass case - 'Scanner'" desc = "A case containing a nanite fabricator implant." icon_state = "implantcase-b" -/obj/item/weapon/implantcase/analyzer/New() - src.imp = new /obj/item/weapon/implant/organ/limbaugment/wrist( src ) +/obj/item/implantcase/analyzer/New() + src.imp = new /obj/item/implant/organ/limbaugment/wrist( src ) ..() return -/obj/item/weapon/implantcase/sword +/obj/item/implantcase/sword name = "glass case - 'Scanner'" desc = "A case containing a nanite fabricator implant." icon_state = "implantcase-b" -/obj/item/weapon/implantcase/sword/New() - src.imp = new /obj/item/weapon/implant/organ/limbaugment/wrist/sword( src ) +/obj/item/implantcase/sword/New() + src.imp = new /obj/item/implant/organ/limbaugment/wrist/sword( src ) ..() return -/obj/item/weapon/implantcase/sprinter +/obj/item/implantcase/sprinter name = "glass case - 'Sprinter'" desc = "A case containing a nanite fabricator implant." icon_state = "implantcase-b" -/obj/item/weapon/implantcase/sprinter/New() - src.imp = new /obj/item/weapon/implant/organ/pelvic( src ) +/obj/item/implantcase/sprinter/New() + src.imp = new /obj/item/implant/organ/pelvic( src ) ..() return -/obj/item/weapon/implantcase/armblade +/obj/item/implantcase/armblade name = "glass case - 'Armblade'" desc = "A case containing a nanite fabricator implant." icon_state = "implantcase-b" -/obj/item/weapon/implantcase/armblade/New() - src.imp = new /obj/item/weapon/implant/organ/limbaugment/upperarm/blade( src ) +/obj/item/implantcase/armblade/New() + src.imp = new /obj/item/implant/organ/limbaugment/upperarm/blade( src ) ..() return -/obj/item/weapon/implantcase/handblade +/obj/item/implantcase/handblade name = "glass case - 'Handblade'" desc = "A case containing a nanite fabricator implant." icon_state = "implantcase-b" -/obj/item/weapon/implantcase/handblade/New() - src.imp = new /obj/item/weapon/implant/organ/limbaugment/wrist/blade( src ) +/obj/item/implantcase/handblade/New() + src.imp = new /obj/item/implant/organ/limbaugment/wrist/blade( src ) ..() return -/obj/item/weapon/implantcase/restrainingbolt +/obj/item/implantcase/restrainingbolt name = "glass case - 'Restraining Bolt'" desc = "A case containing a restraining bolt." icon_state = "implantcase-b" -/obj/item/weapon/implantcase/restrainingbolt/New() - src.imp = new /obj/item/weapon/implant/restrainingbolt( src ) +/obj/item/implantcase/restrainingbolt/New() + src.imp = new /obj/item/implant/restrainingbolt( src ) ..() return diff --git a/code/game/objects/items/weapons/implants/implantcase_vr.dm b/code/game/objects/items/weapons/implants/implantcase_vr.dm index 776034b7983..e73cb756cc3 100644 --- a/code/game/objects/items/weapons/implants/implantcase_vr.dm +++ b/code/game/objects/items/weapons/implants/implantcase_vr.dm @@ -1,9 +1,9 @@ -/obj/item/weapon/implantcase/vrlanguage +/obj/item/implantcase/vrlanguage name = "glass case - 'language'" desc = "A case containing a language implant." icon_state = "implantcase-r" -/obj/item/weapon/implantcase/vrlanguage/New() - src.imp = new /obj/item/weapon/implant/vrlanguage( src ) +/obj/item/implantcase/vrlanguage/New() + src.imp = new /obj/item/implant/vrlanguage( src ) ..() return \ No newline at end of file diff --git a/code/game/objects/items/weapons/implants/implantchair.dm b/code/game/objects/items/weapons/implants/implantchair.dm index 134ea532bdb..1720c203214 100644 --- a/code/game/objects/items/weapons/implants/implantchair.dm +++ b/code/game/objects/items/weapons/implants/implantchair.dm @@ -11,7 +11,7 @@ var/ready = 1 var/malfunction = 0 - var/list/obj/item/weapon/implant/loyalty/implant_list = list() + var/list/obj/item/implant/loyalty/implant_list = list() var/max_implants = 5 var/injection_cooldown = 600 var/replenish_cooldown = 6000 @@ -35,10 +35,10 @@ else health_text = "[round(src.occupant.health,0.1)]" - var/dat ="Implanter Status
" + var/dat =span_bold("Implanter Status") + "
" - dat +="Current occupant: [src.occupant ? "
Name: [src.occupant]
Health: [health_text]
" : "None"]
" - dat += "Implants: [src.implant_list.len ? "[implant_list.len]" : "Replenish"]
" + dat +=span_bold("Current occupant:") + " [src.occupant ? "
Name: [src.occupant]
Health: [health_text]
" : "None"]
" + dat += span_bold("Implants:") + " [src.implant_list.len ? "[implant_list.len]" : "Replenish"]
" if(src.occupant) dat += "[src.ready ? "Implant" : "Recharging"]
" user.set_machine(src) @@ -67,13 +67,13 @@ return -/obj/machinery/implantchair/attackby(var/obj/item/weapon/G as obj, var/mob/user as mob) - if(istype(G, /obj/item/weapon/grab)) - var/obj/item/weapon/grab/grab = G +/obj/machinery/implantchair/attackby(var/obj/item/G as obj, var/mob/user as mob) + if(istype(G, /obj/item/grab)) + var/obj/item/grab/grab = G if(!ismob(grab.affecting)) return if(grab.affecting.has_buckled_mobs()) - to_chat(user, span("warning", "\The [grab.affecting] has other entities attached to them. Remove them first.")) + to_chat(user, span_warning("\The [grab.affecting] has other entities attached to them. Remove them first.")) return var/mob/M = grab.affecting if(put_mob(M)) @@ -101,10 +101,10 @@ /obj/machinery/implantchair/proc/put_mob(mob/living/carbon/M as mob) if(!iscarbon(M)) - to_chat(usr, "\The [src] cannot hold this!") + to_chat(usr, span_warning("\The [src] cannot hold this!")) return if(src.occupant) - to_chat(usr, "\The [src] is already occupied!") + to_chat(usr, span_warning("\The [src] is already occupied!")) return if(M.client) M.client.perspective = EYE_PERSPECTIVE @@ -121,11 +121,11 @@ if (!istype(M, /mob/living/carbon)) return if(!implant_list.len) return - for(var/obj/item/weapon/implant/loyalty/imp in implant_list) + for(var/obj/item/implant/loyalty/imp in implant_list) if(!imp) continue - if(istype(imp, /obj/item/weapon/implant/loyalty)) + if(istype(imp, /obj/item/implant/loyalty)) for (var/mob/O in viewers(M, null)) - O.show_message("\The [M] has been implanted by \the [src].", 1) + O.show_message(span_warning("\The [M] has been implanted by \the [src]."), 1) if(imp.handle_implant(M, BP_TORSO)) imp.post_implant(M) @@ -137,7 +137,7 @@ /obj/machinery/implantchair/proc/add_implants() for(var/i=0, iImplant Specifications:
Name: Modular Implant
@@ -32,17 +32,17 @@ Integrity: Implant is not shielded from electromagnetic interference, otherwise it is independent of subject's status."} return dat -/obj/item/weapon/implant/integrated_circuit/emp_act(severity) +/obj/item/implant/integrated_circuit/emp_act(severity) IC.emp_act(severity) -/obj/item/weapon/implant/integrated_circuit/examine(mob/user) +/obj/item/implant/integrated_circuit/examine(mob/user) return IC.examine(user) -/obj/item/weapon/implant/integrated_circuit/attackby(var/obj/item/O, var/mob/user) - if(O.has_tool_quality(TOOL_CROWBAR) || istype(O, /obj/item/device/integrated_electronics) || istype(O, /obj/item/integrated_circuit) || O.has_tool_quality(TOOL_SCREWDRIVER) || istype(O, /obj/item/weapon/cell/device) ) +/obj/item/implant/integrated_circuit/attackby(var/obj/item/O, var/mob/user) + if(O.has_tool_quality(TOOL_CROWBAR) || istype(O, /obj/item/integrated_electronics) || istype(O, /obj/item/integrated_circuit) || O.has_tool_quality(TOOL_SCREWDRIVER) || istype(O, /obj/item/cell/device) ) IC.attackby(O, user) else ..() -/obj/item/weapon/implant/integrated_circuit/attack_self(mob/user) +/obj/item/implant/integrated_circuit/attack_self(mob/user) IC.attack_self(user) diff --git a/code/game/objects/items/weapons/implants/implantdud.dm b/code/game/objects/items/weapons/implants/implantdud.dm index cabf5bc9069..c167439d874 100644 --- a/code/game/objects/items/weapons/implants/implantdud.dm +++ b/code/game/objects/items/weapons/implants/implantdud.dm @@ -1,9 +1,9 @@ -/obj/item/weapon/implant/dud +/obj/item/implant/dud name = "unknown implant" desc = "A small device with small connector wires." icon = 'icons/obj/device.dmi' icon_state = "implant" initialize_loc = BP_HEAD -/obj/item/weapon/implant/dud/torso +/obj/item/implant/dud/torso initialize_loc = BP_TORSO diff --git a/code/game/objects/items/weapons/implants/implanter.dm b/code/game/objects/items/weapons/implants/implanter.dm index d0130027b55..7caf0d361f1 100644 --- a/code/game/objects/items/weapons/implants/implanter.dm +++ b/code/game/objects/items/weapons/implants/implanter.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/implanter +/obj/item/implanter name = "implanter" icon = 'icons/obj/items.dmi' icon_state = "implanter0_1" @@ -7,15 +7,15 @@ throw_range = 5 w_class = ITEMSIZE_SMALL matter = list(MAT_STEEL = 1000, MAT_GLASS = 1000) - var/obj/item/weapon/implant/imp = null + var/obj/item/implant/imp = null var/active = 1 -/obj/item/weapon/implanter/attack_self(var/mob/user) +/obj/item/implanter/attack_self(var/mob/user) active = !active - to_chat(user, "You [active ? "" : "de"]activate \the [src].") + to_chat(user, span_notice("You [active ? "" : "de"]activate \the [src].")) update() -/obj/item/weapon/implanter/verb/remove_implant() +/obj/item/implanter/verb/remove_implant() set category = "Object" set name = "Remove Implant" set src in usr @@ -27,7 +27,7 @@ imp.loc = get_turf(src) if(M.get_active_hand() == null) M.put_in_hands(imp) - to_chat(M, "You remove \the [imp] from \the [src].") + to_chat(M, span_notice("You remove \the [imp] from \the [src].")) name = "implanter" imp = null @@ -35,7 +35,7 @@ return -/obj/item/weapon/implanter/proc/update() +/obj/item/implanter/proc/update() if (src.imp) src.icon_state = "implanter1" else @@ -43,12 +43,12 @@ src.icon_state += "_[active]" return -/obj/item/weapon/implanter/attack(mob/M as mob, mob/user as mob) +/obj/item/implanter/attack(mob/M as mob, mob/user as mob) if (!istype(M, /mob/living/carbon)) return if(active) if (imp) - M.visible_message("[user] is attempting to implant [M].") + M.visible_message(span_warning("[user] is attempting to implant [M].")) user.setClickCooldown(DEFAULT_QUICK_COOLDOWN) user.do_attack_animation(M) @@ -56,7 +56,7 @@ var/turf/T1 = get_turf(M) if (T1 && ((M == user) || do_after(user, 50))) if(user && M && (get_turf(M) == T1) && src && src.imp) - M.visible_message("[M] has been implanted by [user].") + M.visible_message(span_warning("[M] has been implanted by [user].")) add_attack_logs(user,M,"Implanted with [imp.name] using [name]") @@ -71,49 +71,49 @@ src.imp = null update() else - to_chat(user, "You need to activate \the [src.name] first.") + to_chat(user, span_warning("You need to activate \the [src.name] first.")) return -/obj/item/weapon/implanter/loyalty +/obj/item/implanter/loyalty name = "implanter-loyalty" -/obj/item/weapon/implanter/loyalty/New() - src.imp = new /obj/item/weapon/implant/loyalty( src ) +/obj/item/implanter/loyalty/New() + src.imp = new /obj/item/implant/loyalty( src ) ..() update() return -/obj/item/weapon/implanter/explosive +/obj/item/implanter/explosive name = "implanter (E)" -/obj/item/weapon/implanter/explosive/New() - src.imp = new /obj/item/weapon/implant/explosive( src ) +/obj/item/implanter/explosive/New() + src.imp = new /obj/item/implant/explosive( src ) ..() update() return -/obj/item/weapon/implanter/adrenalin +/obj/item/implanter/adrenalin name = "implanter-adrenalin" -/obj/item/weapon/implanter/adrenalin/New() - src.imp = new /obj/item/weapon/implant/adrenalin(src) +/obj/item/implanter/adrenalin/New() + src.imp = new /obj/item/implant/adrenalin(src) ..() update() return -/obj/item/weapon/implanter/compressed +/obj/item/implanter/compressed name = "implanter (C)" icon_state = "cimplanter1" -/obj/item/weapon/implanter/compressed/New() - imp = new /obj/item/weapon/implant/compressed( src ) +/obj/item/implanter/compressed/New() + imp = new /obj/item/implant/compressed( src ) ..() update() return -/obj/item/weapon/implanter/compressed/update() +/obj/item/implanter/compressed/update() if (imp) - var/obj/item/weapon/implant/compressed/c = imp + var/obj/item/implant/compressed/c = imp if(!c.scanned) icon_state = "cimplanter1" else @@ -122,44 +122,44 @@ icon_state = "cimplanter0" return -/obj/item/weapon/implanter/compressed/attack(mob/M as mob, mob/user as mob) - var/obj/item/weapon/implant/compressed/c = imp +/obj/item/implanter/compressed/attack(mob/M as mob, mob/user as mob) + var/obj/item/implant/compressed/c = imp if (!c) return if (c.scanned == null) to_chat(user, "Please scan an object with the implanter first.") return ..() -/obj/item/weapon/implanter/compressed/afterattack(atom/A, mob/user as mob, proximity) +/obj/item/implanter/compressed/afterattack(atom/A, mob/user as mob, proximity) if(!proximity) return if(!active) - to_chat(user, "Activate \the [src.name] first.") + to_chat(user, span_warning("Activate \the [src.name] first.")) return if(istype(A,/obj/item) && imp) - var/obj/item/weapon/implant/compressed/c = imp + var/obj/item/implant/compressed/c = imp if (c.scanned) - to_chat(user, "Something is already scanned inside the implant!") + to_chat(user, span_warning("Something is already scanned inside the implant!")) return c.scanned = A - if(istype(A, /obj/item/weapon/storage)) - to_chat(user, "You can't store \the [A.name] in this!") + if(istype(A, /obj/item/storage)) + to_chat(user, span_warning("You can't store \the [A.name] in this!")) c.scanned = null return if(istype(A.loc,/mob/living/carbon/human)) var/mob/living/carbon/human/H = A.loc H.remove_from_mob(A) - else if(istype(A.loc,/obj/item/weapon/storage)) - var/obj/item/weapon/storage/S = A.loc + else if(istype(A.loc,/obj/item/storage)) + var/obj/item/storage/S = A.loc S.remove_from_storage(A) A.loc.contents.Remove(A) update() -/obj/item/weapon/implanter/restrainingbolt +/obj/item/implanter/restrainingbolt name = "implanter (bolt)" -/obj/item/weapon/implanter/restrainingbolt/New() - src.imp = new /obj/item/weapon/implant/restrainingbolt( src ) +/obj/item/implanter/restrainingbolt/New() + src.imp = new /obj/item/implant/restrainingbolt( src ) ..() update() return diff --git a/code/game/objects/items/weapons/implants/implanter_vr.dm b/code/game/objects/items/weapons/implants/implanter_vr.dm index 4622321835f..a794761998e 100644 --- a/code/game/objects/items/weapons/implants/implanter_vr.dm +++ b/code/game/objects/items/weapons/implants/implanter_vr.dm @@ -1,10 +1,10 @@ //Vorestation universal translator implant. -/obj/item/weapon/implanter/vrlanguage +/obj/item/implanter/vrlanguage name = "implanter-language" -/obj/item/weapon/implanter/vrlanguage/New() - src.imp = new /obj/item/weapon/implant/vrlanguage( src ) +/obj/item/implanter/vrlanguage/New() + src.imp = new /obj/item/implant/vrlanguage( src ) ..() update() return diff --git a/code/game/objects/items/weapons/implants/implantfreedom.dm b/code/game/objects/items/weapons/implants/implantfreedom.dm index aa63215a61c..34d69218216 100644 --- a/code/game/objects/items/weapons/implants/implantfreedom.dm +++ b/code/game/objects/items/weapons/implants/implantfreedom.dm @@ -1,6 +1,6 @@ //This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32 -/obj/item/weapon/implant/freedom +/obj/item/implant/freedom name = "freedom implant" desc = "Use this to escape from those evil Red Shirts." implant_color = "r" @@ -8,14 +8,14 @@ var/uses = 1.0 -/obj/item/weapon/implant/freedom/New() +/obj/item/implant/freedom/New() src.activation_emote = pick("blink", "blink_r", "eyebrow", "chuckle", "twitch", "frown", "nod", "blush", "giggle", "grin", "groan", "shrug", "smile", "pale", "sniff", "whimper", "wink") src.uses = rand(1, 5) ..() return -/obj/item/weapon/implant/freedom/trigger(emote, mob/living/carbon/source as mob) +/obj/item/implant/freedom/trigger(emote, mob/living/carbon/source as mob) if (src.uses < 1) return 0 @@ -23,7 +23,7 @@ src.uses-- to_chat(source, "You feel a faint click.") if (source.handcuffed) - var/obj/item/weapon/W = source.handcuffed + var/obj/item/W = source.handcuffed source.handcuffed = null if(source.buckled && source.buckled.buckle_require_restraints) source.buckled.unbuckle_mob() @@ -36,7 +36,7 @@ if (W) W.layer = initial(W.layer) if (source.legcuffed) - var/obj/item/weapon/W = source.legcuffed + var/obj/item/W = source.legcuffed source.legcuffed = null source.update_inv_legcuffed() if (source.client) @@ -48,11 +48,11 @@ W.layer = initial(W.layer) return -/obj/item/weapon/implant/freedom/post_implant(mob/source) +/obj/item/implant/freedom/post_implant(mob/source) source.mind.store_memory("Freedom implant can be activated by using the [src.activation_emote] emote, say *[src.activation_emote] to attempt to activate.", 0, 0) to_chat(source, "The implanted freedom implant can be activated by using the [src.activation_emote] emote, say *[src.activation_emote] to attempt to activate.") -/obj/item/weapon/implant/freedom/get_data() +/obj/item/implant/freedom/get_data() var/dat = {" Implant Specifications:
Name: Freedom Beacon
diff --git a/code/game/objects/items/weapons/implants/implantlanguage.dm b/code/game/objects/items/weapons/implants/implantlanguage.dm index 595e40c2b9f..5ffab2cf899 100644 --- a/code/game/objects/items/weapons/implants/implantlanguage.dm +++ b/code/game/objects/items/weapons/implants/implantlanguage.dm @@ -2,14 +2,14 @@ //They don't, at the moment, grant knowledge of the language //The can_speak_special checks should check for the presence of the implants. -/obj/item/weapon/implant/language +/obj/item/implant/language name = "GalCom language implant" desc = "An implant allowing someone to speak the range of frequencies used in Galactic Common, as well as produce any phonemes that they usually cannot. Only helps with producing sounds, not understanding them." known_implant = TRUE var/list/languages = list(LANGUAGE_GALCOM) // List of languages that this assists with initialize_loc = BP_HEAD -/obj/item/weapon/implant/language/post_implant(mob/M) // Amends the mob's voice organ, then deletes itself +/obj/item/implant/language/post_implant(mob/M) // Amends the mob's voice organ, then deletes itself if(ishuman(M)) var/mob/living/carbon/human/H = M var/obj/item/organ/internal/voicebox/V = locate() in H.internal_organs @@ -27,7 +27,7 @@ V.add_assistable_langs(L) QDEL_NULL(src) -/obj/item/weapon/implant/language/get_data() +/obj/item/implant/language/get_data() var/dat = {" Implant Specifications:
Name: Vey-Med L-1 Galactic Common Implant
@@ -42,12 +42,12 @@ // EAL Implant -/obj/item/weapon/implant/language/eal +/obj/item/implant/language/eal name = "EAL language implant" desc = "An implant allowing an organic to speak Encoded Audio Language passably. Only helps with producing sounds, not understanding them." languages = list(LANGUAGE_EAL) -/obj/item/weapon/implant/language/eal/get_data() +/obj/item/implant/language/eal/get_data() var/dat = {" Implant Specifications:
Name: Vey-Med L-2 Encoded Audio Language Implant
@@ -60,12 +60,12 @@ Integrity: Implant will function for expected life, barring physical damage."} return dat -/obj/item/weapon/implant/language/skrellian +/obj/item/implant/language/skrellian name = "Skrellian language implant" desc = "An implant allowing someone to speak the range of frequencies used in Skrellian, as well as produce any phonemes that they usually cannot. Only helps with hearing and producing sounds, not understanding them." languages = list(LANGUAGE_SKRELLIAN) -/obj/item/weapon/implant/language/skrellian/get_data() +/obj/item/implant/language/skrellian/get_data() var/dat = {" Implant Specifications:
Name: Vey-Med L-1 Galactic Common Implant
diff --git a/code/game/objects/items/weapons/implants/implantpad.dm b/code/game/objects/items/weapons/implants/implantpad.dm index f895a2438fd..712ddce08f9 100644 --- a/code/game/objects/items/weapons/implants/implantpad.dm +++ b/code/game/objects/items/weapons/implants/implantpad.dm @@ -1,6 +1,6 @@ //This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32 -/obj/item/weapon/implantpad +/obj/item/implantpad name = "implantpad" desc = "Used to modify implants." icon = 'icons/obj/items.dmi' @@ -9,10 +9,10 @@ throw_speed = 1 throw_range = 5 w_class = ITEMSIZE_SMALL - var/obj/item/weapon/implantcase/case = null + var/obj/item/implantcase/case = null var/broadcasting = null var/listening = 1.0 -/obj/item/weapon/implantpad/proc/update() +/obj/item/implantpad/proc/update() if (src.case) src.icon_state = "implantpad-1" else @@ -20,7 +20,7 @@ return -/obj/item/weapon/implantpad/attack_hand(mob/living/user as mob) +/obj/item/implantpad/attack_hand(mob/living/user as mob) if ((src.case && user.item_is_in_hands(src))) user.put_in_active_hand(case) @@ -34,9 +34,9 @@ return -/obj/item/weapon/implantpad/attackby(obj/item/weapon/implantcase/C as obj, mob/user as mob) +/obj/item/implantpad/attackby(obj/item/implantcase/C as obj, mob/user as mob) ..() - if(istype(C, /obj/item/weapon/implantcase)) + if(istype(C, /obj/item/implantcase)) if(!( src.case )) user.drop_item() C.loc = src @@ -47,14 +47,14 @@ return -/obj/item/weapon/implantpad/attack_self(mob/user as mob) +/obj/item/implantpad/attack_self(mob/user as mob) user.set_machine(src) - var/dat = "Implant Mini-Computer:
" + var/dat = span_bold("Implant Mini-Computer:") + "
" if (src.case) if(src.case.imp) - if(istype(src.case.imp, /obj/item/weapon/implant)) + if(istype(src.case.imp, /obj/item/implant)) dat += src.case.imp.get_data() - if(istype(src.case.imp, /obj/item/weapon/implant/tracking)) + if(istype(src.case.imp, /obj/item/implant/tracking)) dat += {"ID (1-100): - - [case.imp:id] @@ -69,14 +69,14 @@ return -/obj/item/weapon/implantpad/Topic(href, href_list) +/obj/item/implantpad/Topic(href, href_list) ..() if (usr.stat) return if ((usr.contents.Find(src)) || ((in_range(src, usr) && istype(src.loc, /turf)))) usr.set_machine(src) if (href_list["tracking_id"]) - var/obj/item/weapon/implant/tracking/T = src.case.imp + var/obj/item/implant/tracking/T = src.case.imp T.id += text2num(href_list["tracking_id"]) T.id = min(1000, T.id) T.id = max(1, T.id) diff --git a/code/game/objects/items/weapons/implants/implantreagent_vr.dm b/code/game/objects/items/weapons/implants/implantreagent_vr.dm index 5642d1bfd60..48a60b0f53e 100644 --- a/code/game/objects/items/weapons/implants/implantreagent_vr.dm +++ b/code/game/objects/items/weapons/implants/implantreagent_vr.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/implant/reagent_generator +/obj/item/implant/reagent_generator name = "reagent generator implant" desc = "This is an implant that has attached storage and generates a reagent." implant_color = "r" @@ -17,26 +17,26 @@ var/verb_name = "Transfer From Reagent Implant" var/verb_desc = "Remove reagents from an internal reagent into a container" -/obj/item/weapon/implant/reagent_generator/New() +/obj/item/implant/reagent_generator/New() ..() create_reagents(usable_volume) -/obj/item/weapon/implanter/reagent_generator - var/implant_type = /obj/item/weapon/implant/reagent_generator +/obj/item/implanter/reagent_generator + var/implant_type = /obj/item/implant/reagent_generator -/obj/item/weapon/implanter/reagent_generator/New() +/obj/item/implanter/reagent_generator/New() ..() imp = new implant_type(src) update() return -/obj/item/weapon/implant/reagent_generator/post_implant(mob/living/carbon/source) +/obj/item/implant/reagent_generator/post_implant(mob/living/carbon/source) START_PROCESSING(SSobj, src) - to_chat(source, "You implant [source] with \the [src].") + to_chat(source, span_notice("You implant [source] with \the [src].")) assigned_proc = new assigned_proc(source, verb_name, verb_desc) return 1 -/obj/item/weapon/implant/reagent_generator/process() +/obj/item/implant/reagent_generator/process() var/before_gen if(isliving(imp_in) && generated_reagents) before_gen = reagents.total_volume @@ -47,16 +47,16 @@ else return else - imp_in.verbs -= assigned_proc + remove_verb(imp_in, assigned_proc) return if(reagents) if(reagents.total_volume == reagents.maximum_volume * 0.05) - to_chat(imp_in, "[pick(empty_message)]") + to_chat(imp_in, span_notice("[pick(empty_message)]")) else if(reagents.total_volume == reagents.maximum_volume && before_gen < reagents.maximum_volume) - to_chat(imp_in, "[pick(full_message)]") + to_chat(imp_in, span_warning("[pick(full_message)]")) -/obj/item/weapon/implant/reagent_generator/proc/do_generation(var/mob/living/L) +/obj/item/implant/reagent_generator/proc/do_generation(var/mob/living/L) L.adjust_nutrition(-gen_cost) for(var/reagent in generated_reagents) reagents.add_reagent(reagent, generated_reagents[reagent]) @@ -76,26 +76,25 @@ if(user.incapacitated() || user.stat > CONSCIOUS) return - var/obj/item/weapon/reagent_containers/container = user.get_active_hand() + var/obj/item/reagent_containers/container = user.get_active_hand() if(!container) - to_chat(user,"You need an open container to do this!") + to_chat(user,span_notice("You need an open container to do this!")) return - var/obj/item/weapon/implant/reagent_generator/rimplant + var/obj/item/implant/reagent_generator/rimplant for(var/obj/item/organ/external/E in organs) - for(var/obj/item/weapon/implant/I in E.implants) - if(istype(I, /obj/item/weapon/implant/reagent_generator)) + for(var/obj/item/implant/I in E.implants) + if(istype(I, /obj/item/implant/reagent_generator)) rimplant = I break if(rimplant) if(container.reagents.total_volume < container.volume) var/container_name = container.name if(rimplant.reagents.trans_to(container, amount = rimplant.transfer_amount)) - user.visible_message("[usr] [pick(rimplant.emote_descriptor)] into \the [container_name].", - "You [pick(rimplant.self_emote_descriptor)] some [rimplant.reagent_name] into \the [container_name].") + user.visible_message(span_notice("[user] [pick(rimplant.emote_descriptor)] into \the [container_name]."), + span_notice("You [pick(rimplant.self_emote_descriptor)] some [rimplant.reagent_name] into \the [container_name].")) if(prob(5)) - src.visible_message("[src] [pick(rimplant.random_emote)].") // M-mlem. + src.visible_message(span_notice("[src] [pick(rimplant.random_emote)].")) // M-mlem. if(rimplant.reagents.total_volume == rimplant.reagents.maximum_volume * 0.05) - to_chat(src, "[pick(rimplant.empty_message)]") - + to_chat(src, span_notice("[pick(rimplant.empty_message)]")) diff --git a/code/game/objects/items/weapons/implants/implantrestrainingbolt.dm b/code/game/objects/items/weapons/implants/implantrestrainingbolt.dm index 7f4a562297c..b2776dd48d4 100644 --- a/code/game/objects/items/weapons/implants/implantrestrainingbolt.dm +++ b/code/game/objects/items/weapons/implants/implantrestrainingbolt.dm @@ -1,5 +1,5 @@ -/obj/item/weapon/implant/restrainingbolt +/obj/item/implant/restrainingbolt name = "\improper restraining bolt" icon = 'icons/obj/device.dmi' icon_state = "implant" diff --git a/code/game/objects/items/weapons/implants/implantuplink.dm b/code/game/objects/items/weapons/implants/implantuplink.dm index 6ee094aeded..78d90e6727f 100644 --- a/code/game/objects/items/weapons/implants/implantuplink.dm +++ b/code/game/objects/items/weapons/implants/implantuplink.dm @@ -1,9 +1,9 @@ -/obj/item/weapon/implant/uplink +/obj/item/implant/uplink name = "uplink" desc = "Summon things." var/activation_emote = "chuckle" -/obj/item/weapon/implant/uplink/New() +/obj/item/implant/uplink/New() activation_emote = pick("blink", "blink_r", "eyebrow", "chuckle", "twitch", "frown", "nod", "blush", "giggle", "grin", "groan", "shrug", "smile", "pale", "sniff", "whimper", "wink") hidden_uplink = new(src) //hidden_uplink.uses = 5 @@ -11,7 +11,7 @@ ..() return -/obj/item/weapon/implant/uplink/post_implant(mob/source) +/obj/item/implant/uplink/post_implant(mob/source) var/choices = list("blink", "blink_r", "eyebrow", "chuckle", "twitch", "frown", "nod", "blush", "giggle", "grin", "groan", "shrug", "smile", "pale", "sniff", "whimper", "wink") activation_emote = tgui_input_list(usr, "Choose activation emote. If you cancel this, one will be picked at random.", "Implant Activation", choices) if(!activation_emote) @@ -19,7 +19,7 @@ source.mind.store_memory("Uplink implant can be activated by using the [src.activation_emote] emote, say *[src.activation_emote] to attempt to activate.", 0, 0) to_chat(source, "The implanted uplink implant can be activated by using the [src.activation_emote] emote, say *[src.activation_emote] to attempt to activate.") -/obj/item/weapon/implant/uplink/trigger(emote, mob/source as mob) +/obj/item/implant/uplink/trigger(emote, mob/source as mob) if(hidden_uplink && usr == source) // Let's not have another people activate our uplink hidden_uplink.check_trigger(source, emote, activation_emote) return \ No newline at end of file diff --git a/code/game/objects/items/weapons/implants/neuralbasic.dm b/code/game/objects/items/weapons/implants/neuralbasic.dm index 5743640aa8f..296784adbfd 100644 --- a/code/game/objects/items/weapons/implants/neuralbasic.dm +++ b/code/game/objects/items/weapons/implants/neuralbasic.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/implant/neural +/obj/item/implant/neural name = "neural framework implant" desc = "A small metal casing with numerous wires stemming off of it." initialize_loc = BP_HEAD @@ -6,7 +6,7 @@ var/target_state = null var/robotic_brain = FALSE -/obj/item/weapon/implant/neural/post_implant(var/mob/source) +/obj/item/implant/neural/post_implant(var/mob/source) if(ishuman(source)) var/mob/living/carbon/human/H = source if(H.species.has_organ[O_BRAIN]) @@ -19,22 +19,22 @@ if(istype(my_brain) && my_brain.can_assist()) START_PROCESSING(SSobj, src) -/obj/item/weapon/implant/neural/Destroy() +/obj/item/implant/neural/Destroy() if(my_brain) if(my_brain.owner) - to_chat(my_brain.owner, "You feel a pressure in your mind as something is ripped away.") + to_chat(my_brain.owner, span_critical("You feel a pressure in your mind as something is ripped away.")) STOP_PROCESSING(SSobj, src) my_brain = null return ..() -/obj/item/weapon/implant/neural/process() +/obj/item/implant/neural/process() if(my_brain && part) if(my_brain.loc != part.loc) - to_chat(my_brain.owner, "You feel a pressure in your mind as something is ripped away.") + to_chat(my_brain.owner, span_critical("You feel a pressure in your mind as something is ripped away.")) meltdown() return 1 -/obj/item/weapon/implant/neural/get_data() +/obj/item/implant/neural/get_data() var/dat = {"Implant Specifications:
Name: Neural Framework Implant
Life: Duration of Brain Function
@@ -50,7 +50,7 @@ circuitry. Resulting faults can cause damage to the host's brain.
Implant Specifics:
"} return dat -/obj/item/weapon/implant/neural/emp_act(severity) +/obj/item/implant/neural/emp_act(severity) if(!my_brain) return if(malfunction) //Don't malfunction while malfunctioning. @@ -67,31 +67,31 @@ Implant Specifics:
"} else if(prob(80)) my_brain.take_damage(5) if(!robotic_brain) - to_chat(L, "Something in your [brain_location] burns!") + to_chat(L, span_critical("Something in your [brain_location] burns!")) else - to_chat(L, "Severe fault detected in [brain_location].") + to_chat(L, span_warning("Severe fault detected in [brain_location].")) if(2) if(prob(80)) my_brain.take_damage(3) if(!robotic_brain) - to_chat(L, "It feels like something is digging into your [brain_location]!") + to_chat(L, span_danger("It feels like something is digging into your [brain_location]!")) else - to_chat(L, "Fault detected in [brain_location].") + to_chat(L, span_warning("Fault detected in [brain_location].")) if(3) if(prob(60)) my_brain.take_damage(2) if(!robotic_brain) - to_chat(L, "There is a stabbing pain in your [brain_location]!") + to_chat(L, span_warning("There is a stabbing pain in your [brain_location]!")) if(4) if(prob(40)) my_brain.take_damage(1) if(!robotic_brain) - to_chat(L, "Your [brain_location] aches.") + to_chat(L, span_warning("Your [brain_location] aches.")) spawn(delay) malfunction-- -/obj/item/weapon/implant/neural/meltdown() +/obj/item/implant/neural/meltdown() ..() STOP_PROCESSING(SSobj, src) var/mob/living/carbon/human/H = null @@ -99,7 +99,7 @@ Implant Specifics:
"} if(ishuman(my_brain.owner)) H = my_brain.owner if(robotic_brain) - to_chat(H, "WARNING. Fault dete-ct-- in the \the [src].") + to_chat(H, span_critical("WARNING. Fault dete-ct-- in the \the [src].")) H.Confuse(30) H.AdjustBlinded(5) my_brain.take_damage(15) diff --git a/code/game/objects/items/weapons/improvised_components.dm b/code/game/objects/items/weapons/improvised_components.dm index 5add8778600..7fe037330a8 100644 --- a/code/game/objects/items/weapons/improvised_components.dm +++ b/code/game/objects/items/weapons/improvised_components.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/material/butterflyconstruction +/obj/item/material/butterflyconstruction name = "unfinished concealed knife" desc = "An unfinished concealed knife, it looks like the screws need to be tightened." icon = 'icons/obj/buildingobject.dmi' @@ -6,15 +6,15 @@ force_divisor = 0.1 thrown_force_divisor = 0.1 -/obj/item/weapon/material/butterflyconstruction/attackby(obj/item/W as obj, mob/user as mob) +/obj/item/material/butterflyconstruction/attackby(obj/item/W as obj, mob/user as mob) if(W.has_tool_quality(TOOL_SCREWDRIVER)) to_chat(user, "You finish the concealed blade weapon.") playsound(src, W.usesound, 50, 1) - new /obj/item/weapon/material/butterfly(user.loc, material.name) + new /obj/item/material/butterfly(user.loc, material.name) qdel(src) return -/obj/item/weapon/material/butterflyblade +/obj/item/material/butterflyblade name = "knife blade" desc = "A knife blade. Unusable as a weapon without a grip." icon = 'icons/obj/buildingobject.dmi' @@ -22,7 +22,7 @@ force_divisor = 0.1 thrown_force_divisor = 0.1 -/obj/item/weapon/material/butterflyhandle +/obj/item/material/butterflyhandle name = "concealed knife grip" desc = "A plasteel grip with screw fittings for a blade." icon = 'icons/obj/buildingobject.dmi' @@ -30,11 +30,11 @@ force_divisor = 0.1 thrown_force_divisor = 0.1 -/obj/item/weapon/material/butterflyhandle/attackby(obj/item/W as obj, mob/user as mob) - if(istype(W,/obj/item/weapon/material/butterflyblade)) - var/obj/item/weapon/material/butterflyblade/B = W +/obj/item/material/butterflyhandle/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W,/obj/item/material/butterflyblade)) + var/obj/item/material/butterflyblade/B = W to_chat(user, "You attach the two concealed blade parts.") - new /obj/item/weapon/material/butterflyconstruction(user.loc, B.material.name) + new /obj/item/material/butterflyconstruction(user.loc, B.material.name) qdel(W) qdel(src) return diff --git a/code/game/objects/items/weapons/inducer_vr.dm b/code/game/objects/items/weapons/inducer_vr.dm index b0519abce87..9c8fec6727c 100644 --- a/code/game/objects/items/weapons/inducer_vr.dm +++ b/code/game/objects/items/weapons/inducer_vr.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/inducer +/obj/item/inducer name = "industrial inducer" desc = "A tool for inductively charging internal power cells." icon = 'icons/obj/tools_vr.dmi' @@ -11,45 +11,45 @@ force = 7 var/powertransfer = 1000 //Transfer per time when charging something - var/cell_type = /obj/item/weapon/cell/high //Type of cell to spawn in it + var/cell_type = /obj/item/cell/high //Type of cell to spawn in it var/charge_guns = FALSE //Can it charge guns? var/datum/effect/effect/system/spark_spread/spark_system - var/obj/item/weapon/cell/cell + var/obj/item/cell/cell var/recharging = FALSE var/opened = FALSE -/obj/item/weapon/inducer/unloaded +/obj/item/inducer/unloaded cell_type = null opened = TRUE -/obj/item/weapon/inducer/Initialize() +/obj/item/inducer/Initialize() . = ..() if(!cell && cell_type) cell = new cell_type -/obj/item/weapon/inducer/proc/induce(var/obj/item/weapon/cell/target, coefficient) +/obj/item/inducer/proc/induce(var/obj/item/cell/target, coefficient) var/totransfer = min(cell.charge,(powertransfer * coefficient)) var/transferred = target.give(totransfer) cell.use(transferred) cell.update_icon() target.update_icon() -/obj/item/weapon/inducer/get_cell() +/obj/item/inducer/get_cell() return cell -/obj/item/weapon/inducer/emp_act(severity) +/obj/item/inducer/emp_act(severity) . = ..() if(cell) cell.emp_act(severity) -/obj/item/weapon/inducer/attack(mob/living/M, mob/living/user) +/obj/item/inducer/attack(mob/living/M, mob/living/user) if(user.a_intent == I_HURT) return ..() else return 0 //No accidental bludgeons! -/obj/item/weapon/inducer/afterattack(atom/A, mob/living/carbon/user, proximity) +/obj/item/inducer/afterattack(atom/A, mob/living/carbon/user, proximity) if(user.a_intent == I_HURT) return ..() @@ -61,45 +61,45 @@ return ..() -/obj/item/weapon/inducer/proc/cantbeused(mob/user) +/obj/item/inducer/proc/cantbeused(mob/user) if(!user.IsAdvancedToolUser()) - to_chat(user, "You don't have the dexterity to use [src]!") + to_chat(user, span_warning("You don't have the dexterity to use [src]!")) return TRUE if(!cell) - to_chat(user, "[src] doesn't have a power cell installed!") + to_chat(user, span_warning("[src] doesn't have a power cell installed!")) return TRUE if(!cell.charge) - to_chat(user, "[src]'s battery is dead!") + to_chat(user, span_warning("[src]'s battery is dead!")) return TRUE return FALSE -/obj/item/weapon/inducer/attackby(obj/item/W, mob/user) +/obj/item/inducer/attackby(obj/item/W, mob/user) if(W.has_tool_quality(TOOL_SCREWDRIVER)) playsound(src, W.usesound, 50, 1) if(!opened) - to_chat(user, "You open the battery compartment.") + to_chat(user, span_notice("You open the battery compartment.")) opened = TRUE update_icon() return else - to_chat(user, "You close the battery compartment.") + to_chat(user, span_notice("You close the battery compartment.")) opened = FALSE update_icon() return - if(istype(W, /obj/item/weapon/cell)) + if(istype(W, /obj/item/cell)) if(opened) if(!cell) user.drop_from_inventory(W) W.forceMove(src) - to_chat(user, "You insert [W] into [src].") + to_chat(user, span_notice("You insert [W] into [src].")) cell = W update_icon() return else - to_chat(user, "[src] already has \a [cell] installed!") + to_chat(user, span_warning("[src] already has \a [cell] installed!")) return if(cantbeused(user)) @@ -110,7 +110,7 @@ return ..() -/obj/item/weapon/inducer/proc/recharge(atom/movable/A, mob/user) +/obj/item/inducer/proc/recharge(atom/movable/A, mob/user) if(!isturf(A) && user.loc == A) return FALSE if(recharging) @@ -118,19 +118,19 @@ else recharging = TRUE - if(istype(A, /obj/item/weapon/gun/energy) && !charge_guns) - to_chat(user, "Error: Device is unable to interface with weapons.") + if(istype(A, /obj/item/gun/energy) && !charge_guns) + to_chat(user, span_warning("Error: Device is unable to interface with weapons.")) recharging = FALSE return FALSE //The cell we hopefully eventually find - var/obj/item/weapon/cell/C + var/obj/item/cell/C //Synthetic humanoids if(ishuman(A)) var/mob/living/carbon/human/H = A if(H.isSynthetic()) - C = new /obj/item/weapon/cell/standin(null, H) // o o f + C = new /obj/item/cell/standin(null, H) // o o f //Borg frienbs else if(isrobot(A)) @@ -150,10 +150,10 @@ var/done_any = FALSE if(C.charge >= C.maxcharge) - to_chat(user, "[A] is fully charged ([round(C.charge)] / [C.maxcharge])!") + to_chat(user, span_notice("[A] is fully charged ([round(C.charge)] / [C.maxcharge])!")) recharging = FALSE return TRUE - user.visible_message("[user] starts recharging [A] with [src].", "You start recharging [A] with [src].") + user.visible_message(span_notice("[user] starts recharging [A] with [src]."), span_notice("You start recharging [A] with [src].")) var/datum/beam/charge_beam = user.Beam(A, icon_state = "rped_upgrade", time = 20 SECONDS) var/filter = filter(type = "outline", size = 1, color = "#22AAFF") @@ -179,33 +179,33 @@ A.filters -= filter if(done_any) // Only show a message if we succeeded at least once - user.visible_message("[user] recharged [A]!", "You recharged [A]!") + user.visible_message(span_notice("[user] recharged [A]!"), span_notice("You recharged [A]!")) recharging = FALSE return TRUE else //Couldn't find a cell - to_chat(user, "Error unable to interface with device.") + to_chat(user, span_warning("Error unable to interface with device.")) recharging = FALSE -/obj/item/weapon/inducer/attack_self(mob/user) +/obj/item/inducer/attack_self(mob/user) if(opened && cell) - user.visible_message("[user] removes [cell] from [src]!", "You remove [cell].") + user.visible_message(span_notice("[user] removes [cell] from [src]!"), span_notice("You remove [cell].")) cell.update_icon() user.put_in_hands(cell) cell = null update_icon() -/obj/item/weapon/inducer/examine(mob/living/M) +/obj/item/inducer/examine(mob/living/M) . = ..() if(cell) - . += "Its display shows: [round(cell.charge)] / [cell.maxcharge]." + . += span_notice("Its display shows: [round(cell.charge)] / [cell.maxcharge].") else - . += "Its display is dark." + . += span_notice("Its display is dark.") if(opened) - . += "Its battery compartment is open." + . += span_notice("Its battery compartment is open.") -/obj/item/weapon/inducer/update_icon() +/obj/item/inducer/update_icon() ..() cut_overlays() if(opened) @@ -215,7 +215,7 @@ add_overlay("inducer-bat") //////// Variants -/obj/item/weapon/inducer/sci +/obj/item/inducer/sci name = "inducer" desc = "A tool for inductively charging internal power cells. This one has a science color scheme, and is less potent than its engineering counterpart." icon_state = "inducer-sci" @@ -224,31 +224,31 @@ powertransfer = 500 opened = TRUE -/obj/item/weapon/inducer/sci/Initialize() +/obj/item/inducer/sci/Initialize() . = ..() update_icon() //To get the 'open' state applied -/obj/item/weapon/inducer/syndicate +/obj/item/inducer/syndicate name = "suspicious inducer" desc = "A tool for inductively charging internal power cells. This one has a suspicious colour scheme, and seems to be rigged to transfer charge at a much faster rate." icon_state = "inducer-syndi" item_state = "inducer-syndi" powertransfer = 2000 - cell_type = /obj/item/weapon/cell/super + cell_type = /obj/item/cell/super charge_guns = TRUE -/obj/item/weapon/inducer/hybrid +/obj/item/inducer/hybrid name = "hybrid-tech inducer" desc = "A tool for inductively charging internal power cells. This one has some flashy bits and recharges devices slower, but seems to recharge itself between uses." icon_state = "inducer-hybrid" item_state = "inducer-hybrid" powertransfer = 250 - cell_type = /obj/item/weapon/cell/void + cell_type = /obj/item/cell/void charge_guns = TRUE // A 'human stand-in' cell for recharging 'nutrition' on synthetic humans (wow this is terrible! \o/) #define NUTRITION_COEFF 0.05 // 1000 charge = 50 nutrition at 0.05 -/obj/item/weapon/cell/standin +/obj/item/cell/standin name = "don't spawn this" desc = "this is for weird code use, don't spawn it!!!" @@ -257,7 +257,7 @@ var/mob/living/carbon/human/hume -/obj/item/weapon/cell/standin/New(newloc, var/mob/living/carbon/human/H) +/obj/item/cell/standin/New(newloc, var/mob/living/carbon/human/H) ..() hume = H charge = H.nutrition @@ -266,7 +266,7 @@ QDEL_IN(src, 20 SECONDS) -/obj/item/weapon/cell/standin/give(var/amount) +/obj/item/cell/standin/give(var/amount) . = ..(amount * NUTRITION_COEFF) //Shrink amount to store hume.adjust_nutrition(.) //Add the amount we really stored . /= NUTRITION_COEFF //Inflate amount to take from the giver diff --git a/code/game/objects/items/weapons/joke.dm b/code/game/objects/items/weapons/joke.dm index 008e3ec7203..efe530e5f94 100644 --- a/code/game/objects/items/weapons/joke.dm +++ b/code/game/objects/items/weapons/joke.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/squishhammer +/obj/item/squishhammer name = "The Short Stacker" desc = "Wield the power of this weapon with responsibility (God knows you won't)." icon = 'icons/obj/items.dmi' @@ -8,7 +8,7 @@ throwforce = 0 // Attack mob -/obj/item/weapon/squishhammer/attack(mob/M as mob, mob/user as mob) +/obj/item/squishhammer/attack(mob/M as mob, mob/user as mob) var/is_squished = M.tf_scale_x || M.tf_scale_y playsound(src, 'sound/items/hooh.ogg', 50, 1) if(!is_squished) @@ -16,4 +16,24 @@ else M.ClearTransform() M.update_transform() - return ..() \ No newline at end of file + return ..() + +// Do not ever just leave this laying about, it will go horribly wrong! +/obj/item/squishhammer/dark + name = "The Dark Short Stacker" + desc = "Wield the power of this weapon with responsibility (God knows you won't)." + icon = 'icons/obj/items.dmi' + icon_state = "dark_hammer" + attack_verb = list("stacked") + force = 0 + throwforce = 0 + +/obj/item/squishhammer/dark/attack(mob/M as mob, mob/user as mob) + ..() + var/mob/living/carbon/human/H = M + if(istype(H)) + for(var/obj/item/organ/external/E in H.organs) + E.fracture() // Oof, ouch, owie + var/turf/T = M.loc + if(isturf(T)) + new /obj/effect/gibspawner/generic(T) diff --git a/code/game/objects/items/weapons/keys.dm b/code/game/objects/items/weapons/keys.dm index fc134497673..cc275ebd514 100644 --- a/code/game/objects/items/weapons/keys.dm +++ b/code/game/objects/items/weapons/keys.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/simple_key +/obj/item/simple_key name = "key" desc = "A plain, old-timey key, as one might use to unlock a door." icon = 'icons/obj/keys.dmi' diff --git a/code/game/objects/items/weapons/manuals.dm b/code/game/objects/items/weapons/manuals.dm index 0e6d1802216..9d4f15faeef 100644 --- a/code/game/objects/items/weapons/manuals.dm +++ b/code/game/objects/items/weapons/manuals.dm @@ -1,41 +1,18 @@ /*********************MANUALS (BOOKS)***********************/ -/obj/item/weapon/book/manual +/obj/item/book/manual icon = 'icons/obj/library.dmi' due_date = 0 // Game time in 1/10th seconds unique = 1 // 0 - Normal book, 1 - Should not be treated as normal book, unable to be copied, unable to be modified - -/obj/item/weapon/book/manual/engineering_construction - name = "Station Repairs and Construction" - icon_state ="bookEngineering" - item_state = "book3" - author = "Engineering Encyclopedia" // Who wrote the thing, can be changed by pen or PC. It is not automatically assigned - title = "Station Repairs and Construction" - -/obj/item/weapon/book/manual/engineering_construction/New() // YW EDIT: adds index.php?title= to dat - ..() - dat = {" - - - - - - - - - - - "} - -/obj/item/weapon/book/manual/engineering_particle_accelerator +/obj/item/book/manual/engineering_particle_accelerator name = "Particle Accelerator User's Guide" icon_state ="bookParticleAccelerator" item_state = "book15" author = "Engineering Encyclopedia" // Who wrote the thing, can be changed by pen or PC. It is not automatically assigned title = "Particle Accelerator User's Guide" -/obj/item/weapon/book/manual/engineering_particle_accelerator/New() +/obj/item/book/manual/engineering_particle_accelerator/New() ..() dat = {" @@ -76,14 +53,14 @@ "} -/obj/item/weapon/book/manual/supermatter_engine +/obj/item/book/manual/supermatter_engine name = "Supermatter Engine Operating Manual" icon_state = "bookSupermatter" item_state = "book15" author = "Central Engineering Division" title = "Supermatter Engine Operating Manual" -/obj/item/weapon/book/manual/supermatter_engine/New() +/obj/item/book/manual/supermatter_engine/New() ..() dat = {" @@ -162,7 +139,7 @@ // TESLA Engine -/obj/item/weapon/book/manual/tesla_engine +/obj/item/book/manual/tesla_engine name = "Tesla Operating Manual" icon_state ="bookTesla" item_state = "book15" @@ -232,7 +209,7 @@ "} //R-UST port -/obj/item/weapon/book/manual/rust_engine +/obj/item/book/manual/rust_engine name = "R-UST Operating Manual" icon_state = "bookSupermatter" item_state = "book15" @@ -240,7 +217,7 @@ title = "R-UST Operating Manual" //R-UST guide Re-Writen by Gozulio to reflect how the R-UST actually operates. -/obj/item/weapon/book/manual/rust_engine/New() +/obj/item/book/manual/rust_engine/New() ..() dat = {" @@ -284,30 +261,7 @@ "} -/obj/item/weapon/book/manual/engineering_hacking - name = "Hacking" - icon_state ="bookHacking" - item_state = "book2" - author = "Engineering Encyclopedia" // Who wrote the thing, can be changed by pen or PC. It is not automatically assigned - title = "Hacking" - -/obj/item/weapon/book/manual/engineering_hacking/New() // YW EDIT: adds index.php?title= to dat - ..() - dat = {" - - - - - - - - - - - "} - - -/obj/item/weapon/book/manual/engineering_singularity_safety +/obj/item/book/manual/engineering_singularity_safety name = "Singularity Safety in Special Circumstances" icon_state ="bookEngineeringSingularitySafety" item_state = "book15" @@ -360,7 +314,7 @@ "} -/obj/item/weapon/book/manual/hydroponics_pod_people +/obj/item/book/manual/hydroponics_pod_people name = "The Diona Harvest - From Seed to Market" icon_state ="bookHydroponicsPodPeople" item_state = "book5" @@ -399,7 +353,7 @@ "} -/obj/item/weapon/book/manual/medical_cloning +/obj/item/book/manual/medical_cloning name = "Cloning Techniques of the 24th Century" icon_state ="bookCloning" item_state = "book9" @@ -493,7 +447,7 @@ "} -/obj/item/weapon/book/manual/ripley_build_and_repair +/obj/item/book/manual/ripley_build_and_repair name = "APLU \"Ripley\" Construction and Operation Manual" icon_state ="book" item_state = "book" @@ -571,7 +525,7 @@ "} -/obj/item/weapon/book/manual/research_and_development +/obj/item/book/manual/research_and_development name = "Research and Development 101" icon_state = "rdbook" item_state = "book7" @@ -640,30 +594,12 @@ "} -/obj/item/weapon/book/manual/robotics_manual - name = "Guide to Robotics" - icon_state ="evabook" - item_state = "book3" - author = "Simple Robotics" // Who wrote the thing, can be changed by pen or PC. It is not automatically assigned - title = "Guide to Robotics" - -/obj/item/weapon/book/manual/robotics_manual/New() // YW EDIT: adds index.php?title= to dat - ..() - dat = {" - - - - - - - "} - -/obj/item/weapon/book/manual/robotics_cyborgs - name = "Cyborgs for Dummies" +/obj/item/book/manual/robotics_cyborgs + name = JOB_CYBORG + "s for Dummies" icon_state = "borgbook" item_state = "book1" author = "XISC" - title = "Cyborgs for Dummies" + title = JOB_CYBORG + "s for Dummies" dat = {" @@ -863,109 +799,12 @@ "} - -/obj/item/weapon/book/manual/security_space_law - name = "Corporate Regulations" - desc = "A set of corporate guidelines for keeping law and order on privately-owned space stations." - icon_state = "bookSpaceLaw" - item_state = "book13" - author = "The Company" - title = "Corporate Regulations" - -/obj/item/weapon/book/manual/security_space_law/New() // YW EDIT: adds index.php?title= to dat - ..() - dat = {" - - - - - - - - - - - "} - - - -/obj/item/weapon/book/manual/medical_diagnostics_manual - name = "Medical Diagnostics Manual" - desc = "First, do no harm. A detailed medical practitioner's guide." - icon_state = "bookMedical" - item_state = "book12" - author = "Medical Department" - title = "Medical Diagnostics Manual" - -/obj/item/weapon/book/manual/medical_diagnostics_manual/New() // YW EDIT: adds index.php?title= to dat - ..() - dat = {" - - - - -
-

The Oath

- - The Medical Oath sworn by recognised medical practitioners in the employ of [using_map.company_name]
- -
    -
  1. Now, as a new doctor, I solemnly promise that I will, to the best of my ability, serve humanity-caring for the sick, promoting good health, and alleviating pain and suffering.
  2. -
  3. I recognise that the practice of medicine is a privilege with which comes considerable responsibility and I will not abuse my position.
  4. -
  5. I will practise medicine with integrity, humility, honesty, and compassion-working with my fellow doctors and other colleagues to meet the needs of my patients.
  6. -
  7. I shall never intentionally do or administer anything to the overall harm of my patients.
  8. -
  9. I will not permit considerations of gender, race, religion, political affiliation, sexual orientation, nationality, or social standing to influence my duty of care.
  10. -
  11. I will oppose policies in breach of human rights and will not participate in them. I will strive to change laws that are contrary to my profession's ethics and will work towards a fairer distribution of health resources.
  12. -
  13. I will assist my patients to make informed decisions that coincide with their own values and beliefs and will uphold patient confidentiality.
  14. -
  15. I will recognise the limits of my knowledge and seek to maintain and increase my understanding and skills throughout my professional life. I will acknowledge and try to remedy my own mistakes and honestly assess and respond to those of others.
  16. -
  17. I will seek to promote the advancement of medical knowledge through teaching and research.
  18. -
  19. I make this declaration solemnly, freely, and upon my honour.
  20. -

- -
- - - - - - "} - - -/obj/item/weapon/book/manual/engineering_guide - name = "Engineering Textbook" - icon_state ="bookEngineering2" - item_state = "book3" - author = "Engineering Encyclopedia" - title = "Engineering Textbook" - -/obj/item/weapon/book/manual/engineering_guide/New() // YW EDIT: adds index.php?title= to dat - ..() - dat = {" - - - - - - - - - - "} - - -/obj/item/weapon/book/manual/chef_recipes - name = "Chef Recipes" +/obj/item/book/manual/chef_recipes + name = JOB_CHEF + " Recipes" icon_state = "cooked_book" item_state = "book16" author = "Victoria Ponsonby" - title = "Chef Recipes" + title = JOB_CHEF + " Recipes" dat = {" @@ -1020,7 +859,7 @@ "} -/obj/item/weapon/book/manual/barman_recipes +/obj/item/book/manual/barman_recipes name = "Barman Recipes" desc = "For the enterprising drink server." icon_state = "barbook" @@ -1077,7 +916,7 @@ "} -/obj/item/weapon/book/manual/detective +/obj/item/book/manual/detective name = "The Film Noir: Proper Procedures for Investigations" icon_state ="bookDetective" item_state = "book8" @@ -1121,7 +960,7 @@ "} -/obj/item/weapon/book/manual/nuclear +/obj/item/book/manual/nuclear name = "Fission Mailed: Nuclear Sabotage 101" icon_state ="bookNuclear" item_state = "book8" @@ -1173,7 +1012,7 @@ "} -/obj/item/weapon/book/manual/atmospipes +/obj/item/book/manual/atmospipes name = "Pipes and You: Getting To Know Your Scary Tools" icon_state = "pipingbook" item_state = "book3" @@ -1282,7 +1121,7 @@ "} -/obj/item/weapon/book/manual/evaguide +/obj/item/book/manual/evaguide name = "EVA Gear and You: Not Spending All Day Inside, 2nd Edition" icon_state = "evabook" item_state = "book14" @@ -1408,11 +1247,11 @@ "} -/obj/item/weapon/book/manual/virology +/obj/item/book/manual/virology name = "Sneezes and Coughs: A Guide To Virology, 1st Edition" icon_state = "bookvirology" item_state = "book5" - author = "James Simpson, Chief Virologist" + author = "James Simpson, Chief " + JOB_ALT_VIROLOGIST title = "Sneezes and Coughs: A Guide To Virology, 1st Edition" dat = {" diff --git a/code/game/objects/items/weapons/manuals_vr.dm b/code/game/objects/items/weapons/manuals_vr.dm index b6659ebdf6c..5411ab9c9d5 100644 --- a/code/game/objects/items/weapons/manuals_vr.dm +++ b/code/game/objects/items/weapons/manuals_vr.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/book/manual/standard_operating_procedure +/obj/item/book/manual/standard_operating_procedure name = "Standard Operating Procedure" desc = "A set of corporate guidelines for keeping space stations running smoothly." icon_state = "sop" @@ -6,7 +6,7 @@ author = "NanoTrasen" title = "Standard Operating Procedure" -/obj/item/weapon/book/manual/standard_operating_procedure/New() // YW EDIT: adds index.php?title= to dat +/obj/item/book/manual/standard_operating_procedure/Initialize() ..() dat = {" @@ -14,14 +14,14 @@ - + "} -/obj/item/weapon/book/manual/command_guide +/obj/item/book/manual/command_guide name = "The Chain of Command" desc = "A set of corporate guidelines outlining the entire command structure of NanoTrasen from top to bottom." icon_state = "commandGuide" @@ -29,7 +29,7 @@ author = "Jeremiah Acacius" title = "Corporate Regulations" -/obj/item/weapon/book/manual/command_guide/New() // YW EDIT: adds index.php?title= to dat +/obj/item/book/manual/command_guide/Initialize() ..() dat = {" @@ -37,7 +37,7 @@ - + @@ -45,7 +45,7 @@ "} //accurate as of 2/17/21 Extra credit to document editting and proofreading editing to Luna -/obj/item/weapon/book/manual/cook_guide +/obj/item/book/manual/cook_guide name = "Food for Dummies 2" desc = "A helpful guide to the world of cooking." icon_state = "cook-guide" @@ -53,7 +53,7 @@ author = "Ali Big" title = "Food for Dummies 2" -/obj/item/weapon/book/manual/cook_guide/New() +/obj/item/book/manual/cook_guide/New() ..() dat = {" @@ -129,7 +129,7 @@ "} //accurate as of 2/23/21 -/obj/item/weapon/book/manual/bar_guide +/obj/item/book/manual/bar_guide name = "How to Alcohol (And other Drinks)" desc = "A helpful guide to the world of barkeeping." icon_state = "bar-guide" @@ -137,7 +137,7 @@ author = "Ali Big" title = "How to Alcohol (And other Drinks)" -/obj/item/weapon/book/manual/bar_guide/New() +/obj/item/book/manual/bar_guide/New() ..() dat = {" @@ -343,14 +343,14 @@ "} -/obj/item/weapon/book/manual/rotary_electric_generator +/obj/item/book/manual/rotary_electric_generator name = "Rotary Electric Generator Manual" icon_state ="rulebook" item_state = "book15" author = "Engineering Encyclopedia" title = "Rotary Electric Generator Manual" -/obj/item/weapon/book/manual/rotary_electric_generator/New() +/obj/item/book/manual/rotary_electric_generator/New() ..() dat = {" @@ -440,14 +440,14 @@ "} -/obj/item/weapon/book/manual/synthetic_life +/obj/item/book/manual/synthetic_life name = "Synthetic Life: A Comprehensive Guide" desc = "The basc history of synthetic life as the galaxy knows it." icon_state = "evabook" author = "Pontifex Publishing" title = "Synthetics" -/obj/item/weapon/book/manual/synthetic_life/New() +/obj/item/book/manual/synthetic_life/New() ..() dat = {" diff --git a/code/game/objects/items/weapons/material/ashtray.dm b/code/game/objects/items/weapons/material/ashtray.dm index 3e0fd832278..847ddd6efa2 100644 --- a/code/game/objects/items/weapons/material/ashtray.dm +++ b/code/game/objects/items/weapons/material/ashtray.dm @@ -1,9 +1,9 @@ var/global/list/ashtray_cache = list() -/obj/item/weapon/material/ashtray +/obj/item/material/ashtray name = "ashtray" icon = 'icons/obj/objects.dmi' - icon_state = "blank" + icon_state = "ashtray" randpixel = 5 force_divisor = 0.1 thrown_force_divisor = 0.1 @@ -11,17 +11,18 @@ var/global/list/ashtray_cache = list() var/image/base_image var/max_butts = 10 -/obj/item/weapon/material/ashtray/New(var/newloc, var/material_name) +/obj/item/material/ashtray/New(var/newloc, var/material_name) ..(newloc, material_name) if(!material) qdel(src) return + icon_state = "blank" max_butts = round(material.hardness/5) //This is arbitrary but whatever. randpixel_xy() update_icon() return -/obj/item/weapon/material/ashtray/update_icon() +/obj/item/material/ashtray/update_icon() color = null cut_overlays() var/cache_key = "base-[material.name]" @@ -44,10 +45,10 @@ var/global/list/ashtray_cache = list() else desc = "An ashtray made of [material.display_name]." -/obj/item/weapon/material/ashtray/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/item/material/ashtray/attackby(obj/item/W as obj, mob/user as mob) if (health <= 0) return - if (istype(W,/obj/item/trash/cigbutt) || istype(W,/obj/item/clothing/mask/smokable/cigarette) || istype(W, /obj/item/weapon/flame/match)) + if (istype(W,/obj/item/trash/cigbutt) || istype(W,/obj/item/clothing/mask/smokable/cigarette) || istype(W, /obj/item/flame/match)) if (contents.len >= max_butts) to_chat(user, "\The [src] is full.") return @@ -80,11 +81,11 @@ var/global/list/ashtray_cache = list() shatter() return -/obj/item/weapon/material/ashtray/throw_impact(atom/hit_atom) +/obj/item/material/ashtray/throw_impact(atom/hit_atom) if (health > 0) health = max(0,health - 3) if (contents.len) - src.visible_message("\The [src] slams into [hit_atom], spilling its contents!") + src.visible_message(span_danger("\The [src] slams into [hit_atom], spilling its contents!")) for (var/obj/item/clothing/mask/smokable/cigarette/O in contents) O.loc = src.loc if (health < 1) @@ -93,11 +94,11 @@ var/global/list/ashtray_cache = list() update_icon() return ..() -/obj/item/weapon/material/ashtray/plastic/New(var/newloc) +/obj/item/material/ashtray/plastic/New(var/newloc) ..(newloc, "plastic") -/obj/item/weapon/material/ashtray/bronze/New(var/newloc) +/obj/item/material/ashtray/bronze/New(var/newloc) ..(newloc, "bronze") -/obj/item/weapon/material/ashtray/glass/New(var/newloc) +/obj/item/material/ashtray/glass/New(var/newloc) ..(newloc, "glass") diff --git a/code/game/objects/items/weapons/material/bats.dm b/code/game/objects/items/weapons/material/bats.dm index c625e948bbb..4e8c599ab11 100644 --- a/code/game/objects/items/weapons/material/bats.dm +++ b/code/game/objects/items/weapons/material/bats.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/material/twohanded/baseballbat +/obj/item/material/twohanded/baseballbat name = "bat" desc = "HOME RUN!" icon_state = "metalbat0" @@ -13,17 +13,17 @@ slot_flags = SLOT_BACK //Predefined materials go here. -/obj/item/weapon/material/twohanded/baseballbat/metal/New(var/newloc) +/obj/item/material/twohanded/baseballbat/metal/New(var/newloc) ..(newloc,"steel") -/obj/item/weapon/material/twohanded/baseballbat/uranium/New(var/newloc) +/obj/item/material/twohanded/baseballbat/uranium/New(var/newloc) ..(newloc,"uranium") -/obj/item/weapon/material/twohanded/baseballbat/gold/New(var/newloc) +/obj/item/material/twohanded/baseballbat/gold/New(var/newloc) ..(newloc,"gold") -/obj/item/weapon/material/twohanded/baseballbat/platinum/New(var/newloc) +/obj/item/material/twohanded/baseballbat/platinum/New(var/newloc) ..(newloc,"platinum") -/obj/item/weapon/material/twohanded/baseballbat/diamond/New(var/newloc) +/obj/item/material/twohanded/baseballbat/diamond/New(var/newloc) ..(newloc,"diamond") \ No newline at end of file diff --git a/code/game/objects/items/weapons/material/chainsaw.dm b/code/game/objects/items/weapons/material/chainsaw.dm index f64b41d7f0b..7984198f2ac 100644 --- a/code/game/objects/items/weapons/material/chainsaw.dm +++ b/code/game/objects/items/weapons/material/chainsaw.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/chainsaw +/obj/item/chainsaw name = "chainsaw" desc = "Vroom vroom." icon_state = "chainsaw0" @@ -12,7 +12,7 @@ var/active_force = 55 var/inactive_force = 10 -/obj/item/weapon/chainsaw/Initialize() +/obj/item/chainsaw/Initialize() var/datum/reagents/R = new/datum/reagents(max_fuel) reagents = R R.my_atom = src @@ -20,16 +20,16 @@ START_PROCESSING(SSobj, src) . = ..() -/obj/item/weapon/chainsaw/Destroy() +/obj/item/chainsaw/Destroy() STOP_PROCESSING(SSobj, src) if(reagents) qdel(reagents) ..() -/obj/item/weapon/chainsaw/proc/turnOn(mob/user as mob) +/obj/item/chainsaw/proc/turnOn(mob/user as mob) if(on) return - visible_message("You start pulling the string on \the [src].", "[usr] starts pulling the string on the [src].") + visible_message("You start pulling the string on \the [src].", "[user] starts pulling the string on the [src].") if(max_fuel <= 0) if(do_after(user, 15)) @@ -38,7 +38,7 @@ to_chat(user, "You fumble with the string.") else if(do_after(user, 15)) - visible_message("You start \the [src] up with a loud grinding!", "[usr] starts \the [src] up with a loud grinding!") + visible_message("You start \the [src] up with a loud grinding!", "[user] starts \the [src] up with a loud grinding!") attack_verb = list("shredded", "ripped", "torn") playsound(src, 'sound/weapons/chainsaw_startup.ogg',40,1) force = active_force @@ -49,7 +49,7 @@ else to_chat(user, "You fumble with the string.") -/obj/item/weapon/chainsaw/proc/turnOff(mob/user as mob) +/obj/item/chainsaw/proc/turnOff(mob/user as mob) if(!on) return to_chat(user, "You switch the gas nozzle on the chainsaw, turning it off.") attack_verb = list("bluntly hit", "beat", "knocked") @@ -60,13 +60,13 @@ on = 0 update_icon() -/obj/item/weapon/chainsaw/attack_self(mob/user as mob) +/obj/item/chainsaw/attack_self(mob/user as mob) if(!on) turnOn(user) else turnOff(user) -/obj/item/weapon/chainsaw/afterattack(atom/A as mob|obj|turf|area, mob/user as mob, proximity) +/obj/item/chainsaw/afterattack(atom/A as mob|obj|turf|area, mob/user as mob, proximity) if(!proximity) return ..() if(on) @@ -87,18 +87,18 @@ else if(istype(A,/obj/machinery/portable_atmospherics/hydroponics)) var/obj/machinery/portable_atmospherics/hydroponics/Hyd = A if(Hyd.seed && !Hyd.dead) - to_chat(user, "You shred the plant.") + to_chat(user, span_notice("You shred the plant.")) Hyd.die() if (istype(A, /obj/structure/reagent_dispensers/fueltank) && get_dist(src,A) <= 1) - to_chat(user, "You begin filling the tank on the chainsaw.") - if(do_after(usr, 15)) + to_chat(user, span_notice("You begin filling the tank on the chainsaw.")) + if(do_after(user, 15)) A.reagents.trans_to_obj(src, max_fuel) playsound(src, 'sound/effects/refill.ogg', 50, 1, -6) - to_chat(user, "Chainsaw succesfully refueled.") + to_chat(user, span_notice("Chainsaw succesfully refueled.")) else - to_chat(user, "Don't move while you're refilling the chainsaw.") + to_chat(user, span_notice("Don't move while you're refilling the chainsaw.")) -/obj/item/weapon/chainsaw/process() +/obj/item/chainsaw/process() if(!on) return if(on) @@ -109,15 +109,15 @@ to_chat(usr, "\The [src] sputters to a stop!") turnOff() -/obj/item/weapon/chainsaw/proc/get_fuel() +/obj/item/chainsaw/proc/get_fuel() return reagents.get_reagent_amount("fuel") -/obj/item/weapon/chainsaw/examine(mob/user) +/obj/item/chainsaw/examine(mob/user) . = ..() if(max_fuel && get_dist(user, src) == 0) - . += "The [src] feels like it contains roughtly [get_fuel()] units of fuel left." + . += span_notice("The [src] feels like it contains roughtly [get_fuel()] units of fuel left.") -/obj/item/weapon/chainsaw/update_icon() +/obj/item/chainsaw/update_icon() if(on) icon_state = "chainsaw1" item_state = "chainsaw1" diff --git a/code/game/objects/items/weapons/material/foam.dm b/code/game/objects/items/weapons/material/foam.dm index 9c0e4d4e050..eb68b47403c 100644 --- a/code/game/objects/items/weapons/material/foam.dm +++ b/code/game/objects/items/weapons/material/foam.dm @@ -1,23 +1,23 @@ -/obj/item/weapon/material/twohanded/baseballbat/foam/New(var/newloc) +/obj/item/material/twohanded/baseballbat/foam/New(var/newloc) ..(newloc,"foam") -/obj/item/weapon/material/sword/foam +/obj/item/material/sword/foam attack_verb = list("bonked","whacked") force_divisor = 1 unbreakable = 1 damtype = HALLOSS -/obj/item/weapon/material/twohanded/baseballbat/foam +/obj/item/material/twohanded/baseballbat/foam attack_verb = list("bonked","whacked") force_wielded = 1 force_divisor = 1 unbreakable = 1 damtype = HALLOSS -/obj/item/weapon/material/sword/foam/New(var/newloc) +/obj/item/material/sword/foam/New(var/newloc) ..(newloc,"foam") -/obj/item/weapon/material/twohanded/spear/foam +/obj/item/material/twohanded/spear/foam attack_verb = list("bonked","whacked") force_wielded = 1 force_divisor = 1 @@ -26,10 +26,11 @@ base_icon = "spear_mask" icon_state = "spear_mask0" unbreakable = 1 -/obj/item/weapon/material/twohanded/spear/foam/New(var/newloc) + +/obj/item/material/twohanded/spear/foam/New(var/newloc) ..(newloc,"foam") -/obj/item/weapon/material/twohanded/fireaxe/foam +/obj/item/material/twohanded/fireaxe/foam attack_verb = list("bonked","whacked") force_wielded = 1 force_divisor = 1 @@ -39,8 +40,8 @@ icon_state = "fireaxe_mask0" unbreakable = 1 -/obj/item/weapon/material/twohanded/fireaxe/foam/New(var/newloc) +/obj/item/material/twohanded/fireaxe/foam/New(var/newloc) ..(newloc,"foam") -/obj/item/weapon/material/twohanded/fireaxe/foam/afterattack() - return \ No newline at end of file +/obj/item/material/twohanded/fireaxe/foam/afterattack() + return diff --git a/code/game/objects/items/weapons/material/gravemarker.dm b/code/game/objects/items/weapons/material/gravemarker.dm index 0505e6a8e6f..825376f6697 100644 --- a/code/game/objects/items/weapons/material/gravemarker.dm +++ b/code/game/objects/items/weapons/material/gravemarker.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/material/gravemarker +/obj/item/material/gravemarker name = "grave marker" desc = "An object used in marking graves." icon_state = "gravemarker" @@ -11,7 +11,7 @@ var/grave_name = "" //Name of the intended occupant var/epitaph = "" //A quick little blurb -/obj/item/weapon/material/gravemarker/attackby(obj/item/weapon/W, mob/user as mob) +/obj/item/material/gravemarker/attackby(obj/item/W, mob/user as mob) if(W.has_tool_quality(TOOL_SCREWDRIVER)) var/carving_1 = sanitizeSafe(tgui_input_text(user, "Who is \the [src.name] for?", "Gravestone Naming", null, MAX_NAME_LEN), MAX_NAME_LEN) if(carving_1) @@ -35,14 +35,14 @@ qdel(src) ..() -/obj/item/weapon/material/gravemarker/examine(mob/user) +/obj/item/material/gravemarker/examine(mob/user) . = ..() if(grave_name && get_dist(src, user) < 4) . += "Here Lies [grave_name]" if(epitaph && get_dist(src, user) < 2) . += epitaph -/obj/item/weapon/material/gravemarker/update_icon() +/obj/item/material/gravemarker/update_icon() if(icon_changes) if(grave_name && epitaph) icon_state = "[initial(icon_state)]_3" @@ -55,24 +55,24 @@ ..() -/obj/item/weapon/material/gravemarker/attack_self(mob/user) +/obj/item/material/gravemarker/attack_self(mob/user) src.add_fingerprint(user) if(!isturf(user.loc)) return 0 if(locate(/obj/structure/gravemarker, user.loc)) - to_chat(user, "There's already something there.") + to_chat(user, span_warning("There's already something there.")) return 0 else - to_chat(user, "You begin to place \the [src.name].") - if(!do_after(usr, 10)) + to_chat(user, span_notice("You begin to place \the [src.name].")) + if(!do_after(user, 10)) return 0 var/obj/structure/gravemarker/G = new /obj/structure/gravemarker/(user.loc, src.get_material()) - to_chat(user, "You place \the [src.name].") + to_chat(user, span_notice("You place \the [src.name].")) G.grave_name = grave_name G.epitaph = epitaph - G.add_fingerprint(usr) + G.add_fingerprint(user) G.dir = user.dir QDEL_NULL(src) - return \ No newline at end of file + return diff --git a/code/game/objects/items/weapons/material/kitchen.dm b/code/game/objects/items/weapons/material/kitchen.dm index 55b67d6b987..cb5458c936d 100644 --- a/code/game/objects/items/weapons/material/kitchen.dm +++ b/code/game/objects/items/weapons/material/kitchen.dm @@ -1,10 +1,10 @@ -/obj/item/weapon/material/kitchen +/obj/item/material/kitchen icon = 'icons/obj/kitchen.dmi' /* * Utensils */ -/obj/item/weapon/material/kitchen/utensil +/obj/item/material/kitchen/utensil drop_sound = 'sound/items/drop/knife.ogg' pickup_sound = 'sound/items/pickup/knife.ogg' w_class = ITEMSIZE_TINY @@ -21,13 +21,13 @@ var/list/food_inserted_micros -/obj/item/weapon/material/kitchen/utensil/Initialize() +/obj/item/material/kitchen/utensil/Initialize() . = ..() if (prob(60)) src.pixel_y = rand(0, 4) create_reagents(scoop_volume) -/obj/item/weapon/material/kitchen/utensil/Destroy() +/obj/item/material/kitchen/utensil/Destroy() if(food_inserted_micros) for(var/mob/M in food_inserted_micros) M.dropInto(loc) @@ -36,7 +36,7 @@ return -/obj/item/weapon/material/kitchen/utensil/update_icon() +/obj/item/material/kitchen/utensil/update_icon() . = ..() cut_overlays() if(loaded) @@ -44,18 +44,18 @@ I.color = loaded_color add_overlay(I) -/obj/item/weapon/material/kitchen/utensil/proc/load_food(var/mob/user, var/obj/item/weapon/reagent_containers/food/snacks/loading) +/obj/item/material/kitchen/utensil/proc/load_food(var/mob/user, var/obj/item/reagent_containers/food/snacks/loading) if (reagents.total_volume > 0) - to_chat(user, SPAN_DANGER("There is already something on \the [src].")) + to_chat(user, span_danger("There is already something on \the [src].")) return if (!loading?.reagents?.total_volume) - to_chat(user, SPAN_NOTICE("Nothing to scoop up in \the [loading]!")) + to_chat(user, span_notice("Nothing to scoop up in \the [loading]!")) loaded = "\the [loading]" user.visible_message( \ - "\The [user] scoops up some of [loaded] with \the [src]!", - SPAN_NOTICE("You scoop up some of [loaded] with \the [src]!") + span_infoplain(span_bold("\The [user]") + " scoops up some of [loaded] with \the [src]!"), + span_notice("You scoop up some of [loaded] with \the [src]!") ) loading.bitecount++ loading.reagents.trans_to_obj(src, min(loading.reagents.total_volume, scoop_volume)) @@ -84,7 +84,7 @@ qdel(loading) update_icon() -/obj/item/weapon/material/kitchen/utensil/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) +/obj/item/material/kitchen/utensil/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) if(!istype(M)) return ..() @@ -108,64 +108,64 @@ if(M == user) if(!M.can_eat(loaded)) return - M.visible_message("\The [user] eats some of [loaded] with \the [src].") + M.visible_message(span_bold("\The [user]") + " eats some of [loaded] with \the [src].") else - user.visible_message(SPAN_WARNING("\The [user] begins to feed \the [M]!")) + user.visible_message(span_warning("\The [user] begins to feed \the [M]!")) if(!(M.can_force_feed(user, loaded) && do_mob(user, M, 5 SECONDS))) return - M.visible_message("\The [user] feeds some of [loaded] to \the [M] with \the [src].") + M.visible_message(span_bold("\The [user]") + " feeds some of [loaded] to \the [M] with \the [src].") playsound(src,'sound/items/eatfood.ogg', rand(10,40), 1) loaded = null update_icon() return else - to_chat(user, SPAN_WARNING("You don't have anything on \the [src].")) //if we have help intent and no food scooped up DON'T STAB OURSELVES WITH THE FORK + to_chat(user, span_warning("You don't have anything on \the [src].")) //if we have help intent and no food scooped up DON'T STAB OURSELVES WITH THE FORK return -/obj/item/weapon/material/kitchen/utensil/on_rag_wipe() +/obj/item/material/kitchen/utensil/on_rag_wipe() . = ..() if(reagents.total_volume > 0) reagents.clear_reagents() cut_overlays() return -/obj/item/weapon/material/kitchen/utensil/container_resist(mob/living/M) +/obj/item/material/kitchen/utensil/container_resist(mob/living/M) if(food_inserted_micros) food_inserted_micros -= M M.forceMove(get_turf(src)) - to_chat(M, "You climb off of \the [src].") + to_chat(M, span_warning("You climb off of \the [src].")) -/obj/item/weapon/material/kitchen/utensil/fork +/obj/item/material/kitchen/utensil/fork name = "fork" desc = "It's a fork. Sure is pointy." icon_state = "fork" sharp = TRUE edge = FALSE -/obj/item/weapon/material/kitchen/utensil/fork/plastic +/obj/item/material/kitchen/utensil/fork/plastic default_material = "plastic" -/obj/item/weapon/material/kitchen/utensil/foon +/obj/item/material/kitchen/utensil/foon name = "foon" desc = "It's a foon. The forgotten cousin of the spork." icon_state = "foon" sharp = TRUE edge = FALSE -/obj/item/weapon/material/kitchen/utensil/foon/plastic +/obj/item/material/kitchen/utensil/foon/plastic default_material = "plastic" -/obj/item/weapon/material/kitchen/utensil/spork +/obj/item/material/kitchen/utensil/spork name = "spork" desc = "It's a spork. The (un)holy merger of a spoon and fork." icon_state = "spork" sharp = TRUE edge = FALSE -/obj/item/weapon/material/kitchen/utensil/spork/plastic +/obj/item/material/kitchen/utensil/spork/plastic default_material = "plastic" -/obj/item/weapon/material/kitchen/utensil/spoon +/obj/item/material/kitchen/utensil/spoon name = "spoon" desc = "It's a spoon. You can see your own upside-down face in it." icon_state = "spoon" @@ -174,7 +174,7 @@ sharp = FALSE force_divisor = 0.1 //2 when wielded with weight 20 (steel) -/obj/item/weapon/material/kitchen/utensil/spoon/plastic +/obj/item/material/kitchen/utensil/spoon/plastic default_material = "plastic" /* @@ -182,23 +182,23 @@ */ /* From the time of Clowns. Commented out for posterity, and sanity. -/obj/item/weapon/material/knife/attack(target as mob, mob/living/user as mob) +/obj/item/material/knife/attack(target as mob, mob/living/user as mob) if ((CLUMSY in user.mutations) && prob(50)) - to_chat(user, "You accidentally cut yourself with \the [src].") + to_chat(user, span_warning("You accidentally cut yourself with \the [src].")) user.take_organ_damage(20) return return ..() */ -/obj/item/weapon/material/knife/plastic +/obj/item/material/knife/plastic default_material = "plastic" /* * Rolling Pins */ -/obj/item/weapon/material/kitchen/rollingpin +/obj/item/material/kitchen/rollingpin name = "rolling pin" - desc = "Used to knock out the Bartender." + desc = "Used to knock out the " + JOB_BARTENDER+ "." icon_state = "rolling_pin" attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "whacked") default_material = "wood" @@ -208,9 +208,9 @@ drop_sound = 'sound/items/drop/wooden.ogg' pickup_sound = 'sound/items/pickup/wooden.ogg' -/obj/item/weapon/material/kitchen/rollingpin/attack(mob/living/M as mob, mob/living/user as mob) +/obj/item/material/kitchen/rollingpin/attack(mob/living/M as mob, mob/living/user as mob) if ((CLUMSY in user.mutations) && prob(50)) - to_chat(user, "\The [src] slips out of your hand and hits your head.") + to_chat(user, span_warning("\The [src] slips out of your hand and hits your head.")) user.take_organ_damage(10) user.Paralyse(2) return diff --git a/code/game/objects/items/weapons/material/knives.dm b/code/game/objects/items/weapons/material/knives.dm index 193a9d7cae4..da316b626f9 100644 --- a/code/game/objects/items/weapons/material/knives.dm +++ b/code/game/objects/items/weapons/material/knives.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/material/butterfly +/obj/item/material/butterfly name = "butterfly knife" desc = "A basic metal blade concealed in a lightweight plasteel grip. Small enough when folded to fit in a pocket." description_fluff = "This could be used to engrave messages on suitable surfaces if you really put your mind to it! Alt-click a floor or wall to engrave with it." //This way it's not a completely hidden, arcane art to engrave. @@ -13,7 +13,7 @@ drop_sound = 'sound/items/drop/knife.ogg' pickup_sound = 'sound/items/pickup/knife.ogg' -/obj/item/weapon/material/butterfly/update_force() +/obj/item/material/butterfly/update_force() if(active) edge = TRUE sharp = TRUE @@ -32,38 +32,38 @@ w_class = initial(w_class) attack_verb = initial(attack_verb) -/obj/item/weapon/material/butterfly/switchblade +/obj/item/material/butterfly/switchblade name = "switchblade" desc = "A classic switchblade with gold engraving. Just holding it makes you feel like a gangster." icon_state = "switchblade" -/obj/item/weapon/material/butterfly/boxcutter +/obj/item/material/butterfly/boxcutter name = "box cutter" desc = "A thin, inexpensive razor-blade knife designed to open cardboard boxes." icon_state = "boxcutter" force_divisor = 0.1 // 6 when wielded with hardness 60 (steel) thrown_force_divisor = 0.2 // 4 when thrown with weight 20 (steel) -/obj/item/weapon/material/butterfly/attack_self(mob/user) +/obj/item/material/butterfly/attack_self(mob/user) active = !active update_force() if(user) if(active) - to_chat(user, "You flip out \the [src].") + to_chat(user, span_notice("You flip out \the [src].")) playsound(src, 'sound/weapons/flipblade.ogg', 15, 1) else - to_chat(user, "\The [src] can now be concealed.") + to_chat(user, span_notice("\The [src] can now be concealed.")) add_fingerprint(user) /* * Kitchen knives */ -/obj/item/weapon/material/knife +/obj/item/material/knife name = "kitchen knife" icon = 'icons/obj/kitchen.dmi' icon_state = "knife" - desc = "A general purpose Chef's Knife made by SpaceCook Incorporated. Guaranteed to stay sharp for years to come." + desc = "A general purpose " + JOB_CHEF + "'s Knife made by SpaceCook Incorporated. Guaranteed to stay sharp for years to come." description_fluff = "This could be used to engrave messages on suitable surfaces if you really put your mind to it! Alt-click a floor or wall to engrave with it." //This way it's not a completely hidden, arcane art to engrave. sharp = TRUE edge = TRUE @@ -74,7 +74,7 @@ drop_sound = 'sound/items/drop/knife.ogg' // These no longer inherit from hatchets. -/obj/item/weapon/material/knife/tacknife +/obj/item/material/knife/tacknife name = "tactical knife" desc = "You'd be killing loads of people if this was Medal of Valor: Heroes of Space." icon = 'icons/obj/weapons.dmi' @@ -84,7 +84,7 @@ attack_verb = list("stabbed", "chopped", "cut") applies_material_colour = 1 -/obj/item/weapon/material/knife/tacknife/combatknife +/obj/item/material/knife/tacknife/combatknife name = "combat knife" desc = "If only you had a boot to put it in." icon = 'icons/obj/weapons.dmi' @@ -97,7 +97,7 @@ // Identical to the tactical knife but nowhere near as stabby. // Kind of like the toy esword compared to the real thing. -/obj/item/weapon/material/knife/tacknife/boot +/obj/item/material/knife/tacknife/boot name = "boot knife" desc = "A small fixed-blade knife for putting inside a boot." icon = 'icons/obj/weapons.dmi' @@ -106,36 +106,36 @@ force_divisor = 0.15 applies_material_colour = 0 -/obj/item/weapon/material/knife/hook +/obj/item/material/knife/hook name = "meat hook" desc = "A sharp, metal hook what sticks into things." icon_state = "hook_knife" -/obj/item/weapon/material/knife/ritual +/obj/item/material/knife/ritual name = "ritual knife" desc = "The unearthly energies that once powered this blade are now dormant." icon = 'icons/obj/wizard.dmi' icon_state = "render" applies_material_colour = 0 -/obj/item/weapon/material/knife/table +/obj/item/material/knife/table name = "table knife" icon = 'icons/obj/kitchen.dmi' icon_state = "knife_table" sharp = FALSE // blunted tip force_divisor = 0.1 -/obj/item/weapon/material/knife/table/plastic +/obj/item/material/knife/table/plastic default_material = "plastic" -/obj/item/weapon/material/knife/butch +/obj/item/material/knife/butch name = "butcher's cleaver" icon_state = "cleaver" desc = "A huge thing used for chopping and chopping up meat. This includes clowns and clown-by-products." force_divisor = 0.25 // 15 when wielded with hardness 60 (steel) attack_verb = list("cleaved", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") -/obj/item/weapon/material/knife/machete +/obj/item/material/knife/machete name = "machete" desc = "A sharp machete often found in survival kits." icon_state = "machete" @@ -145,12 +145,12 @@ slot_flags = SLOT_BELT default_material = "plasteel" //VOREStation Edit -/obj/item/weapon/material/knife/machete/cyborg +/obj/item/material/knife/machete/cyborg name = "integrated machete" desc = "A sharp machete often found attached to robots." unbreakable = TRUE -/obj/item/weapon/material/knife/tacknife/survival +/obj/item/material/knife/tacknife/survival name = "survival knife" desc = "A hunting grade survival knife." icon = 'icons/obj/kitchen.dmi' @@ -160,7 +160,7 @@ default_material = "plasteel" //VOREStation Edit toolspeed = 2 // Use a real axe if you want to chop logs. -/obj/item/weapon/material/knife/stone +/obj/item/material/knife/stone name = "stone blade" desc = "A crude blade made by chipping away at a piece of flint." icon = 'icons/obj/weapons_vr.dmi' @@ -172,14 +172,14 @@ sharp = TRUE default_material = MAT_FLINT -/obj/item/weapon/material/knife/stone/wood +/obj/item/material/knife/stone/wood name = "stone knife" desc = "A crude blade of flint with a wooden handle, secured with plant fibers twined into sturdy ropes. Useful for cutting, stabbing, slicing, and even shearing." icon_state = "stone_wood_knife" dulled = FALSE fragile = FALSE -/obj/item/weapon/material/knife/stone/bone +/obj/item/material/knife/stone/bone name = "stone knife" desc = "A crude blade of flint with a bone handle, secured with plant fibers twined into sturdy ropes. Useful for cutting, stabbing, slicing, and even shearing." icon_state = "stone_bone_knife" diff --git a/code/game/objects/items/weapons/material/knives_vr.dm b/code/game/objects/items/weapons/material/knives_vr.dm index 45a52838b4c..4858480c414 100644 --- a/code/game/objects/items/weapons/material/knives_vr.dm +++ b/code/game/objects/items/weapons/material/knives_vr.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/material/knife/machete/deluxe +/obj/item/material/knife/machete/deluxe name = "deluxe machete" desc = "A fine example of a machete, with a polished blade, wooden handle and a leather cord loop." icon = 'icons/obj/weapons_vr.dmi' diff --git a/code/game/objects/items/weapons/material/material_armor.dm b/code/game/objects/items/weapons/material/material_armor.dm index c9524bf48c3..629ada89bee 100644 --- a/code/game/objects/items/weapons/material/material_armor.dm +++ b/code/game/objects/items/weapons/material/material_armor.dm @@ -91,12 +91,12 @@ Protectiveness | Armor % if(!material) return var/turf/T = get_turf(src) - T.visible_message("\The [src] [material.destruction_desc]!") + T.visible_message(span_danger("\The [src] [material.destruction_desc]!")) if(istype(loc, /mob/living)) var/mob/living/M = loc M.drop_from_inventory(src) if(material.shard_type == SHARD_SHARD) // Wearing glass armor is a bad idea. - var/obj/item/weapon/material/shard/S = material.place_shard(T) + var/obj/item/material/shard/S = material.place_shard(T) M.embed(S) playsound(src, "shatter", 70, 1) @@ -108,11 +108,11 @@ Protectiveness | Armor % return ..() if(material.negation && prob(material.negation)) // Strange and Alien materials, or just really strong materials. - user.visible_message("\The [src] completely absorbs [attack_text]!") + user.visible_message(span_danger("\The [src] completely absorbs [attack_text]!")) return TRUE if(material.spatial_instability && prob(material.spatial_instability)) - user.visible_message("\The [src] flashes [user] clear of [attack_text]!") + user.visible_message(span_danger("\The [src] flashes [user] clear of [attack_text]!")) var/list/turfs = new/list() for(var/turf/T in orange(round(material.spatial_instability / 10) + 1, user)) if(istype(T,/turf/space)) continue @@ -144,7 +144,7 @@ Protectiveness | Armor % if(!(def_zone in list(BP_TORSO, BP_GROIN))) reflectchance /= 2 if(P.starting && prob(reflectchance)) - visible_message("\The [user]'s [src.name] reflects [attack_text]!") + visible_message(span_danger("\The [user]'s [src.name] reflects [attack_text]!")) // Find a turf near or on the original location to bounce to var/new_x = P.starting.x + pick(0, 0, 0, 0, 0, -1, 1, -2, 2) @@ -277,7 +277,7 @@ Protectiveness | Armor % default_material = "glass" // Used to craft sheet armor, and possibly other things in the Future(tm). -/obj/item/weapon/material/armor_plating +/obj/item/material/armor_plating name = "armor plating" desc = "A sheet designed to protect something." icon = 'icons/obj/items.dmi' @@ -287,32 +287,32 @@ Protectiveness | Armor % thrown_force_divisor = 0.2 var/wired = FALSE -/obj/item/weapon/material/armor_plating/insert +/obj/item/material/armor_plating/insert unbreakable = FALSE name = "plate insert" desc = "used to craft armor plates for a plate carrier. Trim with a welder for light armor or add a second for heavy armor" -/obj/item/weapon/material/armor_plating/attackby(var/obj/O, mob/user) +/obj/item/material/armor_plating/attackby(var/obj/O, mob/user) if(istype(O, /obj/item/stack/cable_coil)) var/obj/item/stack/cable_coil/S = O if(wired) - to_chat(user, "This already has enough wires on it.") + to_chat(user, span_warning("This already has enough wires on it.")) return if(S.use(20)) - to_chat(user, "You attach several wires to \the [src]. Now it needs another plate.") + to_chat(user, span_notice("You attach several wires to \the [src]. Now it needs another plate.")) wired = TRUE icon_state = "[initial(icon_state)]_wired" return else - to_chat(user, "You need more wire for that.") + to_chat(user, span_notice("You need more wire for that.")) return - if(istype(O, /obj/item/weapon/material/armor_plating)) - var/obj/item/weapon/material/armor_plating/second_plate = O + if(istype(O, /obj/item/material/armor_plating)) + var/obj/item/material/armor_plating/second_plate = O if(!wired && !second_plate.wired) - to_chat(user, "You need something to hold the two pieces of plating together.") + to_chat(user, span_warning("You need something to hold the two pieces of plating together.")) return if(second_plate.material != src.material) - to_chat(user, "Both plates need to be the same type of material.") + to_chat(user, span_warning("Both plates need to be the same type of material.")) return user.drop_from_inventory(src) user.drop_from_inventory(second_plate) @@ -324,27 +324,27 @@ Protectiveness | Armor % ..() //Make plating inserts for modular armour. -/obj/item/weapon/material/armor_plating/insert/attackby(var/obj/item/O, mob/user) +/obj/item/material/armor_plating/insert/attackby(var/obj/item/O, mob/user) . = ..() if(O.has_tool_quality(TOOL_WELDER)) - var /obj/item/weapon/weldingtool/S = O.get_welder() + var /obj/item/weldingtool/S = O.get_welder() if(S.remove_fuel(0,user)) if(!src || !S.isOn()) return - to_chat(user, "You trim down the edges to size.") + to_chat(user, span_notice("You trim down the edges to size.")) user.drop_from_inventory(src) var/obj/item/clothing/accessory/material/makeshift/light/new_armor = new(null, src.material.name) user.put_in_hands(new_armor) qdel(src) return - if(istype(O, /obj/item/weapon/material/armor_plating/insert)) - var/obj/item/weapon/material/armor_plating/insert/second_plate = O + if(istype(O, /obj/item/material/armor_plating/insert)) + var/obj/item/material/armor_plating/insert/second_plate = O if(second_plate.material != src.material) - to_chat(user, "Both plates need to be the same type of material.") + to_chat(user, span_warning("Both plates need to be the same type of material.")) return - to_chat(user, "You bond the two plates together.") + to_chat(user, span_notice("You bond the two plates together.")) user.drop_from_inventory(src) user.drop_from_inventory(second_plate) var/obj/item/clothing/accessory/material/makeshift/heavy/new_armor = new(null, src.material.name) @@ -353,8 +353,8 @@ Protectiveness | Armor % qdel(src) return - if(istype(O, /obj/item/weapon/tool/wirecutters)) - to_chat(user, "You split the plate down the middle, and joint it at the elbow.") + if(istype(O, /obj/item/tool/wirecutters)) + to_chat(user, span_notice("You split the plate down the middle, and joint it at the elbow.")) user.drop_from_inventory(src) var/obj/item/clothing/accessory/material/makeshift/armguards/new_armor = new(null, src.material.name) user.put_in_hands(new_armor) @@ -365,7 +365,7 @@ Protectiveness | Armor % var/obj/item/stack/material/S = O if(S.material == get_material_by_name("leather")) if(S.use(2)) - to_chat(user, "You curve the plate inwards, and add a strap for adjustment.") + to_chat(user, span_notice("You curve the plate inwards, and add a strap for adjustment.")) user.drop_from_inventory(src) var/obj/item/clothing/accessory/material/makeshift/legguards/new_armor = new(null, src.material.name) user.put_in_hands(new_armor) @@ -388,14 +388,14 @@ Protectiveness | Armor % if(istype(O, /obj/item/stack/material)) var/obj/item/stack/material/S = O if(S.use(2)) - to_chat(user, "You apply some [S.material.use_name] to \the [src]. Hopefully it'll make the makeshift helmet stronger.") + to_chat(user, span_notice("You apply some [S.material.use_name] to \the [src]. Hopefully it'll make the makeshift helmet stronger.")) var/obj/item/clothing/head/helmet/material/makeshift/helmet = new(null, S.material.name) user.put_in_hands(helmet) user.drop_from_inventory(src) qdel(src) return else - to_chat(user, "You don't have enough material to build a helmet!") + to_chat(user, span_warning("You don't have enough material to build a helmet!")) else ..() diff --git a/code/game/objects/items/weapons/material/material_weapons.dm b/code/game/objects/items/weapons/material/material_weapons.dm index b441c7f95e5..8581f97e82f 100644 --- a/code/game/objects/items/weapons/material/material_weapons.dm +++ b/code/game/objects/items/weapons/material/material_weapons.dm @@ -1,7 +1,7 @@ // SEE code/modules/materials/materials.dm FOR DETAILS ON INHERITED DATUM. // This class of weapons takes force and appearance data from a material datum. // They are also fragile based on material data and many can break/smash apart. -/obj/item/weapon/material +/obj/item/material health = 10 hitsound = 'sound/weapons/bladeslice.ogg' gender = NEUTER @@ -28,7 +28,7 @@ var/drops_debris = 1 var/named_from_material = 1 //YW EDIT, Does it prepend the material's name to it's name? -/obj/item/weapon/material/New(var/newloc, var/material_key) +/obj/item/material/New(var/newloc, var/material_key) ..(newloc) if(!material_key) material_key = default_material @@ -46,10 +46,10 @@ if(!(material.conductive)) src.flags |= NOCONDUCT -/obj/item/weapon/material/get_material() +/obj/item/material/get_material() return material -/obj/item/weapon/material/proc/update_force() +/obj/item/material/proc/update_force() if(edge || sharp) force = material.get_edge_damage() else @@ -61,7 +61,7 @@ //spawn(1) // to_world("[src] has force [force] and throwforce [throwforce] when made from default material [material.name]") -/obj/item/weapon/material/proc/set_material(var/new_material) +/obj/item/material/proc/set_material(var/new_material) material = get_material_by_name(new_material) if(!material) qdel(src) @@ -75,11 +75,11 @@ START_PROCESSING(SSobj, src) update_force() -/obj/item/weapon/material/Destroy() +/obj/item/material/Destroy() STOP_PROCESSING(SSobj, src) . = ..() -/obj/item/weapon/material/apply_hit_effect() +/obj/item/material/apply_hit_effect() ..() if(!unbreakable) if(material.is_brittle()) @@ -88,16 +88,16 @@ health-- check_health() -/obj/item/weapon/material/attackby(obj/item/weapon/W, mob/user) - if(istype(W, /obj/item/weapon/whetstone)) - var/obj/item/weapon/whetstone/whet = W +/obj/item/material/attackby(obj/item/W, mob/user) + if(istype(W, /obj/item/whetstone)) + var/obj/item/whetstone/whet = W repair(whet.repair_amount, whet.repair_time, user) - if(istype(W, /obj/item/weapon/material/sharpeningkit)) - var/obj/item/weapon/material/sharpeningkit/SK = W + if(istype(W, /obj/item/material/sharpeningkit)) + var/obj/item/material/sharpeningkit/SK = W repair(SK.repair_amount, SK.repair_time, user) ..() -/obj/item/weapon/material/proc/check_health(var/consumed) +/obj/item/material/proc/check_health(var/consumed) if(health<=0) health = 0 @@ -106,9 +106,9 @@ else if(!dulled && can_dull) dull() -/obj/item/weapon/material/proc/shatter(var/consumed) +/obj/item/material/proc/shatter(var/consumed) var/turf/T = get_turf(src) - T.visible_message("\The [src] [material.destruction_desc]!") + T.visible_message(span_danger("\The [src] [material.destruction_desc]!")) if(istype(loc, /mob/living)) var/mob/living/M = loc M.drop_from_inventory(src) @@ -116,16 +116,16 @@ if(!consumed && drops_debris) material.place_shard(T) qdel(src) -/obj/item/weapon/material/proc/dull() +/obj/item/material/proc/dull() var/turf/T = get_turf(src) - T.visible_message("\The [src] goes dull!") + T.visible_message(span_danger("\The [src] goes dull!")) playsound(src, "shatter", 70, 1) dulled = 1 if(is_sharp() || has_edge()) sharp = FALSE edge = FALSE -/obj/item/weapon/material/proc/repair(var/repair_amount, var/repair_time, mob/living/user) +/obj/item/material/proc/repair(var/repair_amount, var/repair_time, mob/living/user) if(!fragile) if(health < initial(health)) user.visible_message("[user] begins repairing \the [src].", "You begin repairing \the [src].") @@ -136,28 +136,28 @@ sharp = initial(sharp) edge = initial(edge) else - to_chat(user, "[src] doesn't need repairs.") + to_chat(user, span_notice("[src] doesn't need repairs.")) else - to_chat(user, "You can't repair \the [src].") + to_chat(user, span_warning("You can't repair \the [src].")) return -/obj/item/weapon/material/proc/sharpen(var/material, var/sharpen_time, var/kit, mob/living/M) +/obj/item/material/proc/sharpen(var/material, var/sharpen_time, var/kit, mob/living/M) if(!fragile && src.material.can_sharpen) if(health < initial(health)) to_chat(M, "You should repair [src] first. Try using [kit] on it.") return FALSE M.visible_message("[M] begins to replace parts of [src] with [kit].", "You begin to replace parts of [src] with [kit].") - if(do_after(usr, sharpen_time)) + if(do_after(M, sharpen_time)) M.visible_message("[M] has finished replacing parts of [src].", "You finish replacing parts of [src].") src.set_material(material) return TRUE else - to_chat(M, "You can't sharpen and re-edge [src].") + to_chat(M, span_warning("You can't sharpen and re-edge [src].")) return FALSE /* Commenting this out pending rebalancing of radiation based on small objects. -/obj/item/weapon/material/process() +/obj/item/material/process() if(!material.radioactivity) return for(var/mob/living/L in range(1,src)) @@ -166,17 +166,17 @@ Commenting this out pending rebalancing of radiation based on small objects. /* // Commenting this out while fires are so spectacularly lethal, as I can't seem to get this balanced appropriately. -/obj/item/weapon/material/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) +/obj/item/material/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) TemperatureAct(exposed_temperature) // This might need adjustment. Will work that out later. -/obj/item/weapon/material/proc/TemperatureAct(temperature) +/obj/item/material/proc/TemperatureAct(temperature) health -= material.combustion_effect(get_turf(src), temperature, 0.1) check_health(1) -/obj/item/weapon/material/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W,/obj/item/weapon/weldingtool)) - var/obj/item/weapon/weldingtool/WT = W +/obj/item/material/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W,/obj/item/weldingtool)) + var/obj/item/weldingtool/WT = W if(material.ignition_point && WT.remove_fuel(0, user)) TemperatureAct(150) else diff --git a/code/game/objects/items/weapons/material/misc.dm b/code/game/objects/items/weapons/material/misc.dm index 09d15a03cd4..a5ed90fc513 100644 --- a/code/game/objects/items/weapons/material/misc.dm +++ b/code/game/objects/items/weapons/material/misc.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/material/harpoon +/obj/item/material/harpoon name = "harpoon" sharp = TRUE edge = FALSE @@ -8,7 +8,7 @@ force_divisor = 0.3 // 18 with hardness 60 (steel) attack_verb = list("jabbed","stabbed","ripped") -/obj/item/weapon/material/knife/machete/hatchet +/obj/item/material/knife/machete/hatchet name = "hatchet" desc = "A very sharp axe blade upon a short fibremetal handle. It has a long history of chopping things, but now it is used for chopping wood." icon = 'icons/obj/weapons.dmi' @@ -24,7 +24,7 @@ drop_sound = 'sound/items/drop/axe.ogg' pickup_sound = 'sound/items/pickup/axe.ogg' /* VOREStation Removal - We have one already -/obj/item/weapon/material/knife/machete/hatchet/stone +/obj/item/material/knife/machete/hatchet/stone name = "sharp rock" desc = "The secret is to bang the rocks together, guys." force_divisor = 0.2 @@ -32,12 +32,12 @@ item_state = "rock" attack_verb = list("chopped", "torn", "cut") -/obj/item/weapon/material/knife/machete/hatchet/stone/set_material(var/new_material) +/obj/item/material/knife/machete/hatchet/stone/set_material(var/new_material) var/old_name = name . = ..() name = old_name */ -/obj/item/weapon/material/knife/machete/hatchet/unathiknife +/obj/item/material/knife/machete/hatchet/unathiknife name = "duelling knife" desc = "A length of leather-bound wood studded with razor-sharp teeth. How crude." icon = 'icons/obj/weapons.dmi' @@ -46,22 +46,22 @@ can_cleave = FALSE var/hits = 0 -/obj/item/weapon/material/knife/machete/hatchet/unathiknife/attack(mob/M as mob, mob/user as mob) +/obj/item/material/knife/machete/hatchet/unathiknife/attack(mob/M as mob, mob/user as mob) if(hits > 0) return var/obj/item/I = user.get_inactive_hand() - if(istype(I, /obj/item/weapon/material/knife/machete/hatchet/unathiknife)) + if(istype(I, /obj/item/material/knife/machete/hatchet/unathiknife)) hits ++ - var/obj/item/weapon/W = I + var/obj/item/W = I W.attack(M, user) W.afterattack(M, user) ..() -/obj/item/weapon/material/knife/machete/hatchet/unathiknife/afterattack(mob/M as mob, mob/user as mob) +/obj/item/material/knife/machete/hatchet/unathiknife/afterattack(mob/M as mob, mob/user as mob) hits = initial(hits) ..() -/obj/item/weapon/material/minihoe // -- Numbers +/obj/item/material/minihoe // -- Numbers name = "mini hoe" desc = "It's used for removing weeds or scratching your back." icon = 'icons/obj/weapons.dmi' @@ -72,7 +72,7 @@ w_class = ITEMSIZE_SMALL attack_verb = list("slashed", "sliced", "cut", "clawed") -/obj/item/weapon/material/snow/snowball +/obj/item/material/snow/snowball name = "loose packed snowball" desc = "A fun snowball. Throw it at your friends!" icon = 'icons/obj/weapons.dmi' @@ -85,27 +85,27 @@ w_class = ITEMSIZE_SMALL attack_verb = list("mushed", "splatted", "splooshed", "splushed") // Words that totally exist. -/obj/item/weapon/material/snow/snowball/attack_self(mob/user as mob) +/obj/item/material/snow/snowball/attack_self(mob/user as mob) if(user.a_intent == I_HURT) - to_chat(user, SPAN_NOTICE("You smash the snowball in your hand.")) + to_chat(user, span_notice("You smash the snowball in your hand.")) var/atom/S = new /obj/item/stack/material/snow(user.loc) qdel(src) user.put_in_hands(S) else - to_chat(user, SPAN_NOTICE("You start compacting the snowball.")) + to_chat(user, span_notice("You start compacting the snowball.")) if(do_after(user, 2 SECONDS)) - var/atom/S = new /obj/item/weapon/material/snow/snowball/reinforced(user.loc) + var/atom/S = new /obj/item/material/snow/snowball/reinforced(user.loc) qdel(src) user.put_in_hands(S) -/obj/item/weapon/material/snow/snowball/reinforced +/obj/item/material/snow/snowball/reinforced name = "snowball" desc = "A well-formed and fun snowball. It looks kind of dangerous." //icon_state = "reinf-snowball" force_divisor = 0.20 thrown_force_divisor = 0.25 -/obj/item/weapon/material/whip +/obj/item/material/whip name = "whip" desc = "A tool used to discipline animals, or look cool. Mostly the latter." description_info = "Help - Standard attack, no modifiers.
\ @@ -129,7 +129,7 @@ slot_r_hand_str = 'icons/mob/items/righthand_melee.dmi', ) -/obj/item/weapon/material/whip/afterattack(atom/A as mob|obj|turf|area, mob/user as mob, proximity) +/obj/item/material/whip/afterattack(atom/A as mob|obj|turf|area, mob/user as mob, proximity) ..() if(!proximity) @@ -138,54 +138,54 @@ if(istype(A, /atom/movable)) var/atom/movable/AM = A if(AM.anchored) - to_chat(user, "\The [AM] won't budge.") + to_chat(user, span_notice("\The [AM] won't budge.")) return else if(!istype(AM, /obj/item)) - user.visible_message("\The [AM] is pulled along by \the [src]!") + user.visible_message(span_warning("\The [AM] is pulled along by \the [src]!")) AM.Move(get_step(AM, get_dir(AM, src))) return else - user.visible_message("\The [AM] is snatched by \the [src]!") + user.visible_message(span_warning("\The [AM] is snatched by \the [src]!")) AM.throw_at(user, reach, 0.1, user) -/obj/item/weapon/material/whip/apply_hit_effect(mob/living/target, mob/living/user, var/hit_zone) +/obj/item/material/whip/apply_hit_effect(mob/living/target, mob/living/user, var/hit_zone) if(user.a_intent) switch(user.a_intent) if(I_HURT) if(prob(10) && istype(target, /mob/living/carbon/human) && (user.zone_sel in list(BP_L_LEG, BP_R_LEG, BP_L_FOOT, BP_R_FOOT, BP_L_ARM, BP_R_ARM, BP_L_HAND, BP_R_HAND))) - to_chat(target, "\The [src] rips at your hands!") + to_chat(target, span_warning("\The [src] rips at your hands!")) ranged_disarm(target) if(I_DISARM) if(prob(min(90, force * 3)) && istype(target, /mob/living/carbon/human) && (user.zone_sel in list(BP_L_LEG, BP_R_LEG, BP_L_FOOT, BP_R_FOOT, BP_L_ARM, BP_R_ARM, BP_L_HAND, BP_R_HAND))) ranged_disarm(target) else - target.visible_message("\The [src] sends \the [target] stumbling away.") + target.visible_message(span_danger("\The [src] sends \the [target] stumbling away.")) target.Move(get_step(target,get_dir(user,target))) if(I_GRAB) var/turf/STurf = get_turf(target) spawn(2) playsound(STurf, 'sound/effects/snap.ogg', 60, 1) - target.visible_message("\The [src] yanks \the [target] towards \the [user]!") + target.visible_message(span_critical("\The [src] yanks \the [target] towards \the [user]!")) target.throw_at(get_turf(get_step(user,get_dir(user,target))), 2, 1, src) ..() -/obj/item/weapon/material/whip/proc/ranged_disarm(var/mob/living/carbon/human/H, var/mob/living/user) +/obj/item/material/whip/proc/ranged_disarm(var/mob/living/carbon/human/H, var/mob/living/user) if(istype(H)) var/list/holding = list(H.get_active_hand() = 40, H.get_inactive_hand() = 20) if(user.zone_sel in list(BP_L_ARM, BP_R_ARM, BP_L_HAND, BP_R_HAND)) - for(var/obj/item/weapon/gun/W in holding) + for(var/obj/item/gun/W in holding) if(W && prob(holding[W])) var/list/turfs = list() for(var/turf/T in view()) turfs += T if(turfs.len) var/turf/target = pick(turfs) - visible_message("[H]'s [W] goes off due to \the [src]!") + visible_message(span_danger("[H]'s [W] goes off due to \the [src]!")) return W.afterattack(target,H) if(!(H.species.flags & NO_SLIP) && prob(10) && (user.zone_sel in list(BP_L_LEG, BP_R_LEG, BP_L_FOOT, BP_R_FOOT))) @@ -193,9 +193,9 @@ H.apply_effect(3, WEAKEN, armor_check) playsound(src, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) if(armor_check < 60) - visible_message("\The [src] has tripped [H]!") + visible_message(span_danger("\The [src] has tripped [H]!")) else - visible_message("\The [src] attempted to trip [H]!") + visible_message(span_warning("\The [src] attempted to trip [H]!")) return else @@ -207,15 +207,15 @@ for(var/obj/item/I in holding) if(I && prob(holding[I])) H.drop_from_inventory(I) - visible_message("\The [src] has disarmed [H]!") + visible_message(span_danger("\The [src] has disarmed [H]!")) playsound(src, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) return -/obj/item/weapon/material/whip/attack_self(mob/user) - user.visible_message("\The [user] cracks \the [src]!") +/obj/item/material/whip/attack_self(mob/user) + user.visible_message(span_warning("\The [user] cracks \the [src]!")) playsound(src, 'sound/effects/snap.ogg', 50, 1) -/obj/item/weapon/material/knife/machete/hatchet/stone +/obj/item/material/knife/machete/hatchet/stone name = "hatchet" desc = "A very sharp axe blade upon a short fibremetal handle. It has a long history of chopping things, but now it is used for chopping wood." icon = 'icons/obj/weapons_vr.dmi' @@ -224,5 +224,5 @@ origin_tech = list() applies_material_colour = FALSE -/obj/item/weapon/material/knife/machete/hatchet/stone/bone +/obj/item/material/knife/machete/hatchet/stone/bone icon_state = "stone_bone_axe" diff --git a/code/game/objects/items/weapons/material/shards.dm b/code/game/objects/items/weapons/material/shards.dm index 5f9e2808cd6..3095bce5845 100644 --- a/code/game/objects/items/weapons/material/shards.dm +++ b/code/game/objects/items/weapons/material/shards.dm @@ -1,6 +1,6 @@ // Glass shards -/obj/item/weapon/material/shard +/obj/item/material/shard name = "shard" icon = 'icons/obj/shards.dmi' desc = "Made of nothing. How does this even exist?" // set based on material, if this desc is visible it's a bug (shards default to being made of glass) @@ -17,7 +17,7 @@ unbreakable = 1 //It's already broken. drops_debris = 0 -/obj/item/weapon/material/shard/set_material(var/new_material) +/obj/item/material/shard/set_material(var/new_material) ..(new_material) if(!istype(material)) return @@ -37,7 +37,7 @@ else qdel(src) -/obj/item/weapon/material/shard/update_icon() +/obj/item/material/shard/update_icon() if(material) color = material.icon_colour // 1-(1-x)^2, so that glass shards with 0.3 opacity end up somewhat visible at 0.51 opacity @@ -46,16 +46,16 @@ color = "#ffffff" alpha = 255 -/obj/item/weapon/material/shard/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/item/material/shard/attackby(obj/item/W as obj, mob/user as mob) if(W.has_tool_quality(TOOL_WELDER) && material.shard_can_repair) - var/obj/item/weapon/weldingtool/WT = W.get_welder() + var/obj/item/weldingtool/WT = W.get_welder() if(WT.remove_fuel(0, user)) material.place_sheet(loc, 1) qdel(src) return return ..() -/obj/item/weapon/material/shard/afterattack(var/atom/target, mob/living/carbon/human/user as mob, proximity) +/obj/item/material/shard/afterattack(var/atom/target, mob/living/carbon/human/user as mob, proximity) if(!proximity) return var/active_hand //hand the shard is in @@ -65,8 +65,7 @@ var/light_glove_d = rand(2, 4) var/no_glove_d = rand(4, 6) var/list/forbidden_gloves = list( - /obj/item/clothing/gloves/sterile, - /obj/item/clothing/gloves/knuckledusters + /obj/item/clothing/gloves/sterile ) if(src == user.l_hand) @@ -89,20 +88,20 @@ break if(user.gloves && !protected_hands) - to_chat(user, "\The [src] partially cuts into your hand through your gloves as you hit \the [target]!") + to_chat(user, span_warning("\The [src] partially cuts into your hand through your gloves as you hit \the [target]!")) user.apply_damage(light_glove_d + will_break ? break_damage : 0, BRUTE, active_hand, 0, 0, src, src.sharp, src.edge) // Ternary to include break damage else if(!user.gloves) - to_chat(user, "\The [src] cuts into your hand as you hit \the [target]!") + to_chat(user, span_warning("\The [src] cuts into your hand as you hit \the [target]!")) user.apply_damage(no_glove_d + will_break ? break_damage : 0, BRUTE, active_hand, 0, 0, src, src.sharp, src.edge) if(will_break && src.loc == user) // If it's not in our hand anymore - user.visible_message("[user] hit \the [target] with \the [src], shattering it!", "You shatter \the [src] in your hand!") + user.visible_message(span_danger("[user] hit \the [target] with \the [src], shattering it!"), span_warning("You shatter \the [src] in your hand!")) playsound(src, pick('sound/effects/Glassbr1.ogg', 'sound/effects/Glassbr2.ogg', 'sound/effects/Glassbr3.ogg'), 30, 1) qdel(src) return -/obj/item/weapon/material/shard/Crossed(atom/movable/AM as mob|obj) +/obj/item/material/shard/Crossed(atom/movable/AM as mob|obj) ..() if(AM.is_incorporeal()) return @@ -125,7 +124,7 @@ if(H.species.flags & NO_MINOR_CUT) return - to_chat(H, "You step on \the [src]!") + to_chat(H, span_danger("You step on \the [src]!")) var/list/check = list("l_foot", "r_foot") while(check.len) @@ -144,8 +143,8 @@ return // Preset types - left here for the code that uses them -/obj/item/weapon/material/shard/shrapnel/New(loc) +/obj/item/material/shard/shrapnel/New(loc) ..(loc, "steel") -/obj/item/weapon/material/shard/phoron/New(loc) +/obj/item/material/shard/phoron/New(loc) ..(loc, "borosilicate glass") diff --git a/code/game/objects/items/weapons/material/shards_vr.dm b/code/game/objects/items/weapons/material/shards_vr.dm index edc6a1efec7..fddafde1cf1 100644 --- a/code/game/objects/items/weapons/material/shards_vr.dm +++ b/code/game/objects/items/weapons/material/shards_vr.dm @@ -1,5 +1,5 @@ -/obj/item/weapon/material/shard/titaniumglass/New(loc) +/obj/item/material/shard/titaniumglass/New(loc) ..(loc, MAT_TITANIUMGLASS) -/obj/item/weapon/material/shard/plastitaniumglass/New(loc) +/obj/item/material/shard/plastitaniumglass/New(loc) ..(loc, MAT_PLASTITANIUMGLASS) \ No newline at end of file diff --git a/code/game/objects/items/weapons/material/swords.dm b/code/game/objects/items/weapons/material/swords.dm index 8aac4dca4bb..0a979d824c6 100644 --- a/code/game/objects/items/weapons/material/swords.dm +++ b/code/game/objects/items/weapons/material/swords.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/material/sword +/obj/item/material/sword name = "claymore" desc = "What are you standing around staring at this for? Get to killing!" icon_state = "claymore" @@ -12,26 +12,26 @@ drop_sound = 'sound/items/drop/sword.ogg' pickup_sound = 'sound/items/pickup/sword.ogg' -/obj/item/weapon/material/sword/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack") +/obj/item/material/sword/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack") if(unique_parry_check(user, attacker, damage_source) && prob(50)) - user.visible_message("\The [user] parries [attack_text] with \the [src]!") + user.visible_message(span_danger("\The [user] parries [attack_text] with \the [src]!")) playsound(src, 'sound/weapons/punchmiss.ogg', 50, 1) return 1 return 0 -/obj/item/weapon/material/sword/katana +/obj/item/material/sword/katana name = "katana" desc = "Woefully underpowered in D20. This one looks pretty sharp." icon_state = "katana" slot_flags = SLOT_BELT | SLOT_BACK -/obj/item/weapon/material/sword/katana/caneblade +/obj/item/material/sword/katana/caneblade name = "cane blade" desc = "Used for making people fall over instead of helping them stand up." icon_state = "caneblade" item_state = "caneblade" -/obj/item/weapon/material/sword/rapier +/obj/item/material/sword/rapier name = "rapier" desc = "A slender, fancy and sharply pointed sword." icon_state = "rapier" @@ -41,7 +41,7 @@ attack_verb = list("attacked", "stabbed", "prodded", "poked", "lunged") edge = 0 //rapiers are pointy, but not cutty like other swords -/obj/item/weapon/material/sword/longsword +/obj/item/material/sword/longsword name = "longsword" desc = "A double-edged large blade." icon_state = "longsword" @@ -50,7 +50,7 @@ slot_flags = SLOT_BELT | SLOT_BACK can_cleave = TRUE -/obj/item/weapon/material/sword/sabre +/obj/item/material/sword/sabre name = "sabre" desc = "A sharp curved sword, a favored weapon of pirates far in the past." icon_state = "sabre" @@ -58,7 +58,7 @@ applies_material_colour = 0 //messes up the hilt color otherwise slot_flags = SLOT_BELT -/obj/item/weapon/material/sword/battleaxe +/obj/item/material/sword/battleaxe name = "battleaxe" desc = "A one handed battle axe, still a deadly weapon." icon_state = "axe" @@ -70,14 +70,14 @@ pickup_sound = 'sound/items/pickup/axe.ogg' can_cleave = TRUE -/obj/item/weapon/material/sword/battleaxe/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack") +/obj/item/material/sword/battleaxe/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack") if(unique_parry_check(user, attacker, damage_source) && prob(10)) - user.visible_message("\The [user] parries [attack_text] with \the [src]!") + user.visible_message(span_danger("\The [user] parries [attack_text] with \the [src]!")) playsound(src, 'sound/weapons/punchmiss.ogg', 50, 1) return 1 return 0 -/obj/item/weapon/material/sword/gladius +/obj/item/material/sword/gladius name = "gladius" desc = "An ancient short sword, designed to stab and cut." icon_state = "gladius" diff --git a/code/game/objects/items/weapons/material/thrown.dm b/code/game/objects/items/weapons/material/thrown.dm index 12eaa25100d..95e08c34459 100644 --- a/code/game/objects/items/weapons/material/thrown.dm +++ b/code/game/objects/items/weapons/material/thrown.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/material/star +/obj/item/material/star name = "shuriken" desc = "A sharp, perfectly weighted piece of metal." icon_state = "star" @@ -9,16 +9,16 @@ sharp = TRUE edge = TRUE -/obj/item/weapon/material/star/New() +/obj/item/material/star/New() ..() src.pixel_x = rand(-12, 12) src.pixel_y = rand(-12, 12) -/obj/item/weapon/material/star/throw_impact(atom/hit_atom) +/obj/item/material/star/throw_impact(atom/hit_atom) ..() if(material.radioactivity>0 && istype(hit_atom,/mob/living)) var/mob/living/M = hit_atom M.adjustToxLoss(rand(20,40)) -/obj/item/weapon/material/star/ninja +/obj/item/material/star/ninja default_material = "uranium" \ No newline at end of file diff --git a/code/game/objects/items/weapons/material/twohanded.dm b/code/game/objects/items/weapons/material/twohanded.dm index 2e9f0823c86..822e889f70b 100644 --- a/code/game/objects/items/weapons/material/twohanded.dm +++ b/code/game/objects/items/weapons/material/twohanded.dm @@ -16,7 +16,7 @@ /* * Twohanded */ -/obj/item/weapon/material/twohanded +/obj/item/material/twohanded w_class = ITEMSIZE_LARGE var/wielded = 0 var/force_wielded = 0 @@ -30,7 +30,7 @@ drop_sound = 'sound/items/drop/sword.ogg' pickup_sound = 'sound/items/pickup/sword.ogg' -/obj/item/weapon/material/twohanded/update_held_icon() +/obj/item/material/twohanded/update_held_icon() var/mob/living/M = loc if(istype(M) && M.can_wield_item(src) && is_held_twohanded(M)) wielded = 1 @@ -44,7 +44,7 @@ update_icon() ..() -/obj/item/weapon/material/twohanded/update_force() +/obj/item/material/twohanded/update_force() base_name = name if(sharp || edge) force_wielded = material.get_edge_damage() @@ -56,23 +56,23 @@ throwforce = round(force*thrown_force_divisor) //to_world("[src] has unwielded force [force_unwielded], wielded force [force_wielded] and throwforce [throwforce] when made from default material [material.name]") -/obj/item/weapon/material/twohanded/New() +/obj/item/material/twohanded/New() ..() update_icon() //Allow a small chance of parrying melee attacks when wielded - maybe generalize this to other weapons someday -/obj/item/weapon/material/twohanded/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack") +/obj/item/material/twohanded/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack") if(wielded && default_parry_check(user, attacker, damage_source) && prob(15)) - user.visible_message("\The [user] parries [attack_text] with \the [src]!") + user.visible_message(span_danger("\The [user] parries [attack_text] with \the [src]!")) playsound(src, 'sound/weapons/punchmiss.ogg', 50, 1) return 1 return 0 -/obj/item/weapon/material/twohanded/update_icon() +/obj/item/material/twohanded/update_icon() icon_state = "[base_icon][wielded]" item_state = icon_state -/obj/item/weapon/material/twohanded/dropped() +/obj/item/material/twohanded/dropped() ..() if(wielded) spawn(0) @@ -81,7 +81,7 @@ /* * Fireaxe */ -/obj/item/weapon/material/twohanded/fireaxe // DEM AXES MAN, marker -Agouri +/obj/item/material/twohanded/fireaxe // DEM AXES MAN, marker -Agouri icon_state = "fireaxe0" base_icon = "fireaxe" name = "fire axe" @@ -101,7 +101,7 @@ drop_sound = 'sound/items/drop/axe.ogg' pickup_sound = 'sound/items/pickup/axe.ogg' -/obj/item/weapon/material/twohanded/fireaxe/update_held_icon() +/obj/item/material/twohanded/fireaxe/update_held_icon() var/mob/living/M = loc if(istype(M) && !issmall(M) && M.item_is_in_hands(src) && !M.hands_are_full()) wielded = 1 @@ -117,7 +117,7 @@ update_icon() ..() -/obj/item/weapon/material/twohanded/fireaxe/afterattack(atom/A as mob|obj|turf|area, mob/user as mob, proximity) +/obj/item/material/twohanded/fireaxe/afterattack(atom/A as mob|obj|turf|area, mob/user as mob, proximity) if(!proximity) return ..() if(A && wielded) @@ -130,7 +130,7 @@ var/obj/effect/plant/P = A P.die_off() -/obj/item/weapon/material/twohanded/fireaxe/scythe +/obj/item/material/twohanded/fireaxe/scythe icon_state = "scythe0" base_icon = "scythe" name = "scythe" @@ -140,7 +140,7 @@ attack_verb = list("chopped", "sliced", "cut", "reaped") //spears, bay edition -/obj/item/weapon/material/twohanded/spear +/obj/item/material/twohanded/spear icon_state = "spearglass0" base_icon = "spearglass" name = "spear" @@ -164,7 +164,7 @@ attackspeed = 14 //This is mostly for centaurs. -/obj/item/weapon/material/twohanded/spear/lance +/obj/item/material/twohanded/spear/lance name = "lance" desc = "End him rightly" icon = 'icons/obj/weapons_vr.dmi' @@ -178,7 +178,7 @@ sharp = TRUE edge = FALSE -/obj/item/weapon/material/twohanded/riding_crop +/obj/item/material/twohanded/riding_crop name = "riding crop" desc = "A rod, a little over a foot long with a widened grip and a thick, leather patch at the end. Used since the dawn of the West to control animals." force_divisor = 0.05 //Required in order for the X attacks Y message to pop up. @@ -189,5 +189,5 @@ icon_state = "riding_crop0" attack_verb = list("cropped","spanked","swatted","smacked","peppered") -/obj/item/weapon/material/twohanded/spear/flint - default_material = MAT_FLINT \ No newline at end of file +/obj/item/material/twohanded/spear/flint + default_material = MAT_FLINT diff --git a/code/game/objects/items/weapons/material/twohanded_vr.dm b/code/game/objects/items/weapons/material/twohanded_vr.dm index ae6155f4f57..04a3777c6ec 100644 --- a/code/game/objects/items/weapons/material/twohanded_vr.dm +++ b/code/game/objects/items/weapons/material/twohanded_vr.dm @@ -1,5 +1,5 @@ //1R1S: Malady Blanche -/obj/item/weapon/material/twohanded/riding_crop/malady +/obj/item/material/twohanded/riding_crop/malady name = "Malady's riding crop" icon = 'icons/vore/custom_items_vr.dmi' item_icons = list( @@ -8,7 +8,7 @@ ) desc = "An infernum made riding crop with Malady Blanche engraved in the shaft. It's a little worn from how many butts it has spanked." -/obj/item/weapon/material/twohanded/longsword +/obj/item/material/twohanded/longsword w_class = ITEMSIZE_NORMAL name = "longsword" desc = "a more elegant weapon from a more civilised age" @@ -26,15 +26,15 @@ edge = TRUE sharp = TRUE -/obj/item/weapon/material/twohanded/saber/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack") +/obj/item/material/twohanded/saber/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack") if (src.wielded == 1) if(unique_parry_check(user, attacker, damage_source) && prob(50)) - user.visible_message("\The [user] parries [attack_text] with \the [src]!") + user.visible_message(span_danger("\The [user] parries [attack_text] with \the [src]!")) playsound(src, 'sound/weapons/punchmiss.ogg', 50, 1) return 1 return 0 -/obj/item/weapon/material/twohanded/staff +/obj/item/material/twohanded/staff w_class = ITEMSIZE_LARGE default_material = MAT_WOOD name = "staff" @@ -59,7 +59,7 @@ edge = FALSE sharp = FALSE -/obj/item/weapon/material/twohanded/staff/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack") +/obj/item/material/twohanded/staff/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack") var/parry_chance if(istype(damage_source, /obj/item/projectile)) //can't block ranged attacks, only melee! return 0 @@ -69,13 +69,13 @@ else parry_chance = base_parry_chance if(unique_parry_check(user, attacker, damage_source) && prob(parry_chance)) - user.visible_message("\The [user] parries [attack_text] with \the [src]!") + user.visible_message(span_danger("\The [user] parries [attack_text] with \the [src]!")) playsound(src, 'sound/weapons/punchmiss.ogg', 50, 1) return 1 return 0 -/obj/item/weapon/material/twohanded/staff/apply_hit_effect(mob/living/target, mob/living/user, var/hit_zone) +/obj/item/material/twohanded/staff/apply_hit_effect(mob/living/target, mob/living/user, var/hit_zone) . = ..() if(src.wielded == 1 && user.a_intent == I_DISARM && prob(stun_chance)) target.Weaken(stun_duration) - user.visible_message("\The [user] trips [target] with \the [src]!") + user.visible_message(span_danger("\The [user] trips [target] with \the [src]!")) diff --git a/code/game/objects/items/weapons/material/whetstone.dm b/code/game/objects/items/weapons/material/whetstone.dm index 08e99551000..91a5574c0ba 100644 --- a/code/game/objects/items/weapons/material/whetstone.dm +++ b/code/game/objects/items/weapons/material/whetstone.dm @@ -1,7 +1,7 @@ //This is in the material folder because it's used by them... //Actual name may need to change //All of the important code is in material_weapons.dm -/obj/item/weapon/whetstone +/obj/item/whetstone name = "whetstone" desc = "A simple, fine grit stone, useful for sharpening dull edges and polishing out dents." icon_state = "whetstone" @@ -10,7 +10,7 @@ var/repair_amount = 5 var/repair_time = 40 -/obj/item/weapon/whetstone/attackby(obj/item/I, mob/user) +/obj/item/whetstone/attackby(obj/item/I, mob/user) if(istype(I, /obj/item/stack/material)) var/obj/item/stack/material/M = I if(M.get_amount() >= 5) @@ -18,7 +18,7 @@ if(do_after(user, 70)) M.use(5) var/obj/item/SK - SK = new /obj/item/weapon/material/sharpeningkit(get_turf(user), M.material.name) + SK = new /obj/item/material/sharpeningkit(get_turf(user), M.material.name) to_chat(user, "You sharpen and refine the [src] into \a [SK].") qdel(src) if(SK) @@ -26,7 +26,7 @@ else to_chat(user, "You need 5 [src] to refine it into a sharpening kit.") -/obj/item/weapon/material/sharpeningkit +/obj/item/material/sharpeningkit name = "sharpening kit" desc = "A refined, fine grit whetstone, useful for sharpening dull edges, polishing out dents, and, with extra material, replacing an edge." icon = 'icons/obj/kitchen.dmi' @@ -39,20 +39,20 @@ var/sharpen_time = 100 var/uses = 0 -/obj/item/weapon/material/sharpeningkit/examine(mob/user, distance) +/obj/item/material/sharpeningkit/examine(mob/user, distance) . = ..() . += "There [uses == 1 ? "is" : "are"] [uses] [material] [uses == 1 ? src.material.sheet_singular_name : src.material.sheet_plural_name] left for use." -/obj/item/weapon/material/sharpeningkit/New() +/obj/item/material/sharpeningkit/New() . = ..() setrepair() -/obj/item/weapon/material/sharpeningkit/proc/setrepair() +/obj/item/material/sharpeningkit/proc/setrepair() repair_amount = material.hardness * 0.1 repair_time = material.weight * 0.5 sharpen_time = material.weight * 3 -/obj/item/weapon/material/sharpeningkit/attackby(obj/item/weapon/W, mob/user) +/obj/item/material/sharpeningkit/attackby(obj/item/W, mob/user) if(istype(W, /obj/item/stack/material)) var/obj/item/stack/material/S = W if(S.material == material) @@ -61,11 +61,11 @@ to_chat(user, "You add a [S.material.name] [S.material.sheet_singular_name] to [src].") return - if(istype(W, /obj/item/weapon/material)) - if(istype(W, /obj/item/weapon/material/sharpeningkit)) + if(istype(W, /obj/item/material)) + if(istype(W, /obj/item/material/sharpeningkit)) to_chat(user, "As much as you'd like to sharpen [W] with [src], the logistics just don't work out.") return - var/obj/item/weapon/material/M = W + var/obj/item/material/M = W if(uses >= M.w_class*2) if(M.sharpen(src.material.name, sharpen_time, src, user)) uses -= M.w_class*2 diff --git a/code/game/objects/items/weapons/melee/deflect.dm b/code/game/objects/items/weapons/melee/deflect.dm index 293d2b9e294..3c1ba4c8238 100644 --- a/code/game/objects/items/weapons/melee/deflect.dm +++ b/code/game/objects/items/weapons/melee/deflect.dm @@ -2,23 +2,23 @@ * The home of basic deflect / defense code. */ -/obj/item/weapon/melee +/obj/item/melee var/defend_chance = 5 // The base chance for the weapon to parry. var/projectile_parry_chance = 0 // The base chance for a projectile to be deflected. -/obj/item/weapon/melee/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack") +/obj/item/melee/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack") if(.) return . if(default_parry_check(user, attacker, damage_source) && prob(defend_chance)) - user.visible_message("\The [user] parries [attack_text] with \the [src]!") + user.visible_message(span_danger("\The [user] parries [attack_text] with \the [src]!")) return 1 if(unique_parry_check(user, attacker, damage_source) && prob(projectile_parry_chance)) - user.visible_message("\The [user] deflects [attack_text] with \the [src]!") + user.visible_message(span_danger("\The [user] deflects [attack_text] with \the [src]!")) return 1 return 0 -/obj/item/weapon/melee/unique_parry_check(mob/user, mob/attacker, atom/damage_source) +/obj/item/melee/unique_parry_check(mob/user, mob/attacker, atom/damage_source) if(.) return . if(user.incapacitated() || !istype(damage_source, /obj/item/projectile)) diff --git a/code/game/objects/items/weapons/melee/energy.dm b/code/game/objects/items/weapons/melee/energy.dm index 1db3d1bffa7..debbc5cdb4a 100644 --- a/code/game/objects/items/weapons/melee/energy.dm +++ b/code/game/objects/items/weapons/melee/energy.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/melee/energy +/obj/item/melee/energy var/active = 0 var/active_force var/active_throwforce @@ -17,34 +17,34 @@ // If it uses energy. var/use_cell = FALSE var/hitcost = 120 - var/obj/item/weapon/cell/bcell = null - var/cell_type = /obj/item/weapon/cell/device + var/obj/item/cell/bcell = null + var/cell_type = /obj/item/cell/device item_icons = list( slot_l_hand_str = 'icons/mob/items/lefthand_melee.dmi', slot_r_hand_str = 'icons/mob/items/righthand_melee.dmi', ) -/obj/item/weapon/melee/energy/sword/green/New() +/obj/item/melee/energy/sword/green/New() colorable = FALSE lcolor = "#008000" -/obj/item/weapon/melee/energy/sword/red/New() +/obj/item/melee/energy/sword/red/New() colorable = FALSE lcolor = "#FF0000" -/obj/item/weapon/melee/energy/sword/blue/New() +/obj/item/melee/energy/sword/blue/New() colorable = FALSE lcolor = "#0000FF" -/obj/item/weapon/melee/energy/sword/purple/New() +/obj/item/melee/energy/sword/purple/New() colorable = FALSE lcolor = "#800080" -/obj/item/weapon/melee/energy/sword/white/New() +/obj/item/melee/energy/sword/white/New() colorable = FALSE lcolor = "#FFFFFF" -/obj/item/weapon/melee/energy/proc/activate(mob/living/user) +/obj/item/melee/energy/proc/activate(mob/living/user) if(active) return active = 1 @@ -63,7 +63,7 @@ update_icon() set_light(lrange, lpower, lcolor) -/obj/item/weapon/melee/energy/proc/deactivate(mob/living/user) +/obj/item/melee/energy/proc/deactivate(mob/living/user) if(!active) return playsound(src, 'sound/weapons/saberoff.ogg', 50, 1) @@ -79,7 +79,7 @@ update_icon() set_light(0,0) -/obj/item/weapon/melee/energy/proc/use_charge(var/cost) +/obj/item/melee/energy/proc/use_charge(var/cost) if(active) if(bcell) if(bcell.checked_use(cost)) @@ -88,25 +88,25 @@ return 0 return null -/obj/item/weapon/melee/energy/examine(mob/user) +/obj/item/melee/energy/examine(mob/user) . = ..() if(use_cell && Adjacent(user)) if(bcell) - . += "The blade is [round(bcell.percent())]% charged." + . += span_notice("The blade is [round(bcell.percent())]% charged.") else - . += "The blade does not have a power source installed." + . += span_warning("The blade does not have a power source installed.") -/obj/item/weapon/melee/energy/attack_self(mob/living/user as mob) +/obj/item/melee/energy/attack_self(mob/living/user as mob) if(use_cell) if((!bcell || bcell.charge < hitcost) && !active) - to_chat(user, "\The [src] does not seem to have power.") + to_chat(user, span_notice("\The [src] does not seem to have power.")) return var/datum/gender/TU = gender_datums[user.get_visible_gender()] if (active) if ((CLUMSY in user.mutations) && prob(50)) - user.visible_message("\The [user] accidentally cuts [TU.himself] with \the [src].",\ - "You accidentally cut yourself with \the [src].") + user.visible_message(span_danger("\The [user] accidentally cuts [TU.himself] with \the [src]."),\ + span_danger("You accidentally cut yourself with \the [src].")) user.take_organ_damage(5,5) deactivate(user) else @@ -120,20 +120,20 @@ add_fingerprint(user) return -/obj/item/weapon/melee/energy/attack(mob/M, mob/user) +/obj/item/melee/energy/attack(mob/M, mob/user) if(active && use_cell) if(!use_charge(hitcost)) deactivate(user) - visible_message("\The [src]'s blade flickers, before deactivating.") + visible_message(span_notice("\The [src]'s blade flickers, before deactivating.")) return ..() -/obj/item/weapon/melee/energy/attackby(obj/item/weapon/W, mob/user) - if(istype(W, /obj/item/device/multitool) && colorable && !active) +/obj/item/melee/energy/attackby(obj/item/W, mob/user) + if(istype(W, /obj/item/multitool) && colorable && !active) if(!rainbow) rainbow = TRUE else rainbow = FALSE - to_chat(user, "You manipulate the color controller in [src].") + to_chat(user, span_notice("You manipulate the color controller in [src].")) update_icon() if(use_cell) if(istype(W, cell_type)) @@ -141,24 +141,24 @@ user.drop_item() W.loc = src bcell = W - to_chat(user, "You install a cell in [src].") + to_chat(user, span_notice("You install a cell in [src].")) update_icon() else - to_chat(user, "[src] already has a cell.") + to_chat(user, span_notice("[src] already has a cell.")) else if(W.has_tool_quality(TOOL_SCREWDRIVER) && bcell) bcell.update_icon() bcell.forceMove(get_turf(loc)) bcell = null - to_chat(user, "You remove the cell from \the [src].") + to_chat(user, span_notice("You remove the cell from \the [src].")) deactivate() update_icon() return return ..() -/obj/item/weapon/melee/energy/get_cell() +/obj/item/melee/energy/get_cell() return bcell -/obj/item/weapon/melee/energy/update_icon() +/obj/item/melee/energy/update_icon() . = ..() var/mutable_appearance/blade_overlay = mutable_appearance(icon, "[icon_state]_blade") blade_overlay.color = lcolor @@ -178,30 +178,30 @@ -/obj/item/weapon/melee/energy/AltClick(mob/living/user) +/obj/item/melee/energy/AltClick(mob/living/user) if(!colorable) //checks if is not colorable return if(!in_range(src, user)) //Basic checks to prevent abuse return if(user.incapacitated() || !istype(user)) - to_chat(user, "You can't do that right now!") + to_chat(user, span_warning("You can't do that right now!")) return - if(tgui_alert(usr, "Are you sure you want to recolor your blade?", "Confirm Recolor", list("Yes", "No")) == "Yes") - var/energy_color_input = input(usr,"","Choose Energy Color",lcolor) as color|null + if(tgui_alert(user, "Are you sure you want to recolor your blade?", "Confirm Recolor", list("Yes", "No")) == "Yes") + var/energy_color_input = input(user,"","Choose Energy Color",lcolor) as color|null if(energy_color_input) lcolor = sanitize_hexcolor(energy_color_input) update_icon() -/obj/item/weapon/melee/energy/examine(mob/user) +/obj/item/melee/energy/examine(mob/user) . = ..() if(colorable) - . += "Alt-click to recolor it." + . += span_notice("Alt-click to recolor it.") /* * Energy Axe */ -/obj/item/weapon/melee/energy/axe +/obj/item/melee/energy/axe name = "energy axe" desc = "An energised battle axe." icon_state = "eaxe" @@ -227,17 +227,17 @@ edge = TRUE can_cleave = TRUE -/obj/item/weapon/melee/energy/axe/activate(mob/living/user) +/obj/item/melee/energy/axe/activate(mob/living/user) ..() damtype = SEARING - to_chat(user, "\The [src] is now energised.") + to_chat(user, span_notice("\The [src] is now energised.")) -/obj/item/weapon/melee/energy/axe/deactivate(mob/living/user) +/obj/item/melee/energy/axe/deactivate(mob/living/user) ..() damtype = BRUTE - to_chat(user, "\The [src] is de-energised. It's just a regular axe now.") + to_chat(user, span_notice("\The [src] is de-energised. It's just a regular axe now.")) -/obj/item/weapon/melee/energy/axe/charge +/obj/item/melee/energy/axe/charge name = "charge axe" desc = "An energised axe." active_force = 35 @@ -248,14 +248,14 @@ use_cell = TRUE hitcost = 120 -/obj/item/weapon/melee/energy/axe/charge/loaded/New() +/obj/item/melee/energy/axe/charge/loaded/New() ..() - bcell = new/obj/item/weapon/cell/device/weapon(src) + bcell = new/obj/item/cell/device/weapon(src) /* * Energy Sword */ -/obj/item/weapon/melee/energy/sword +/obj/item/melee/energy/sword color name = "energy sword" desc = "May the force be within you." @@ -279,29 +279,29 @@ projectile_parry_chance = 65 -/obj/item/weapon/melee/energy/sword/dropped(var/mob/user) +/obj/item/melee/energy/sword/dropped(var/mob/user) ..() if(!istype(loc,/mob)) deactivate(user) -/obj/item/weapon/melee/energy/sword/activate(mob/living/user) +/obj/item/melee/energy/sword/activate(mob/living/user) if(!active) - to_chat(user, "\The [src] is now energised.") + to_chat(user, span_notice("\The [src] is now energised.")) ..() attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") -/obj/item/weapon/melee/energy/sword/deactivate(mob/living/user) +/obj/item/melee/energy/sword/deactivate(mob/living/user) if(active) - to_chat(user, "\The [src] deactivates!") + to_chat(user, span_notice("\The [src] deactivates!")) ..() attack_verb = list() -/obj/item/weapon/melee/energy/sword/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack") +/obj/item/melee/energy/sword/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack") if(active && default_parry_check(user, attacker, damage_source) && prob(60)) - user.visible_message("\The [user] parries [attack_text] with \the [src]!") + user.visible_message(span_danger("\The [user] parries [attack_text] with \the [src]!")) var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread() spark_system.set_up(5, 0, user.loc) @@ -309,7 +309,7 @@ playsound(src, 'sound/weapons/blade1.ogg', 50, 1) return 1 if(active && unique_parry_check(user, attacker, damage_source) && prob(projectile_parry_chance)) - user.visible_message("\The [user] deflects [attack_text] with \the [src]!") + user.visible_message(span_danger("\The [user] deflects [attack_text] with \the [src]!")) var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread() spark_system.set_up(5, 0, user.loc) @@ -319,7 +319,7 @@ return 0 -/obj/item/weapon/melee/energy/sword/unique_parry_check(mob/user, mob/attacker, atom/damage_source) +/obj/item/melee/energy/sword/unique_parry_check(mob/user, mob/attacker, atom/damage_source) if(user.incapacitated() || !istype(damage_source, /obj/item/projectile/)) return 0 @@ -329,7 +329,7 @@ return 1 -/obj/item/weapon/melee/energy/sword/pirate +/obj/item/melee/energy/sword/pirate name = "energy cutlass" desc = "Arrrr matey." icon_state = "cutlass" @@ -341,7 +341,7 @@ *Ionic Rapier */ -/obj/item/weapon/melee/energy/sword/ionic_rapier +/obj/item/melee/energy/sword/ionic_rapier name = "ionic rapier" desc = "Designed specifically for disrupting electronics at close range, it is extremely deadly against synthetics, but almost harmless to pure organic targets." description_info = "This is a dangerous melee weapon that will deliver a moderately powerful electromagnetic pulse to whatever it strikes. \ @@ -362,7 +362,7 @@ lcolor = "#0000FF" projectile_parry_chance = 30 // It's not specifically designed for cutting and slashing, but it can still, maybe, save your life. -/obj/item/weapon/melee/energy/sword/ionic_rapier/afterattack(var/atom/movable/AM, var/mob/living/user, var/proximity) +/obj/item/melee/energy/sword/ionic_rapier/afterattack(var/atom/movable/AM, var/mob/living/user, var/proximity) if(istype(AM, /obj) && proximity && active) // EMP stuff. var/obj/O = AM @@ -371,7 +371,7 @@ user.setClickCooldown(user.get_attack_speed(src)) // A lot of objects don't set click delay. return ..() -/obj/item/weapon/melee/energy/sword/ionic_rapier/apply_hit_effect(mob/living/target, mob/living/user, var/hit_zone) +/obj/item/melee/energy/sword/ionic_rapier/apply_hit_effect(mob/living/target, mob/living/user, var/hit_zone) . = ..() if(target.isSynthetic() && active) // Do some extra damage. Not a whole lot more since emp_act() is pretty nasty on FBPs already. @@ -386,7 +386,7 @@ target.taunt(user) target.adjustFireLoss(force * 6) // 30 Burn, for 50 total. -/obj/item/weapon/melee/energy/sword/ionic_rapier/lance +/obj/item/melee/energy/sword/ionic_rapier/lance name = "zero-point lance" desc = "Designed specifically for disrupting electronics at relatively close range, however it is still capable of dealing some damage to living beings." active_force = 20 @@ -397,7 +397,7 @@ * Charge blade. Uses a cell, and costs energy per strike. */ -/obj/item/weapon/melee/energy/sword/charge +/obj/item/melee/energy/sword/charge name = "charge sword" desc = "A small, handheld device which emits a high-energy 'blade'." origin_tech = list(TECH_COMBAT = 5, TECH_MAGNET = 3, TECH_ILLEGAL = 4) @@ -408,14 +408,14 @@ hitcost = 75 -/obj/item/weapon/melee/energy/sword/charge/loaded/New() +/obj/item/melee/energy/sword/charge/loaded/New() ..() - bcell = new/obj/item/weapon/cell/device/weapon(src) + bcell = new/obj/item/cell/device/weapon(src) //Energy Blade (ninja uses this) //Can't be activated or deactivated, so no reason to be a subtype of energy -/obj/item/weapon/melee/energy/blade +/obj/item/melee/energy/blade name = "energy blade" desc = "A concentrated beam of energy in the shape of a blade. Very stylish... and lethal." icon_state = "blade" @@ -436,7 +436,7 @@ projectile_parry_chance = 60 lcolor = "#00FF00" -/obj/item/weapon/melee/energy/blade/New() +/obj/item/melee/energy/blade/New() spark_system = new /datum/effect/effect/system/spark_spread() spark_system.set_up(5, 0, src) @@ -445,18 +445,18 @@ START_PROCESSING(SSobj, src) set_light(lrange, lpower, lcolor) -/obj/item/weapon/melee/energy/blade/Destroy() +/obj/item/melee/energy/blade/Destroy() STOP_PROCESSING(SSobj, src) ..() -/obj/item/weapon/melee/energy/blade/attack_self(mob/user as mob) +/obj/item/melee/energy/blade/attack_self(mob/user as mob) user.drop_from_inventory(src) spawn(1) if(src) qdel(src) -/obj/item/weapon/melee/energy/blade/dropped() +/obj/item/melee/energy/blade/dropped() spawn(1) if(src) qdel(src) -/obj/item/weapon/melee/energy/blade/process() +/obj/item/melee/energy/blade/process() if(!creator || loc != creator || !creator.item_is_in_hands(src)) // Tidy up a bit. if(istype(loc,/mob/living)) @@ -471,9 +471,9 @@ host.drop_from_inventory(src) spawn(1) if(src) qdel(src) -/obj/item/weapon/melee/energy/blade/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack") +/obj/item/melee/energy/blade/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack") if(default_parry_check(user, attacker, damage_source) && prob(60)) - user.visible_message("\The [user] parries [attack_text] with \the [src]!") + user.visible_message(span_danger("\The [user] parries [attack_text] with \the [src]!")) var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread() spark_system.set_up(5, 0, user.loc) @@ -481,7 +481,7 @@ playsound(src, 'sound/weapons/blade1.ogg', 50, 1) return 1 if(unique_parry_check(user, attacker, damage_source) && prob(projectile_parry_chance)) - user.visible_message("\The [user] deflects [attack_text] with \the [src]!") + user.visible_message(span_danger("\The [user] deflects [attack_text] with \the [src]!")) var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread() spark_system.set_up(5, 0, user.loc) @@ -491,7 +491,7 @@ return 0 -/obj/item/weapon/melee/energy/blade/unique_parry_check(mob/user, mob/attacker, atom/damage_source) +/obj/item/melee/energy/blade/unique_parry_check(mob/user, mob/attacker, atom/damage_source) if(user.incapacitated() || !istype(damage_source, /obj/item/projectile/)) return 0 @@ -504,7 +504,7 @@ //Energy Spear -/obj/item/weapon/melee/energy/spear +/obj/item/melee/energy/spear name = "energy spear" desc = "Concentrated energy forming a sharp tip at the end of a long rod." icon_state = "espear" @@ -526,22 +526,22 @@ lcolor = "#800080" -/obj/item/weapon/melee/energy/spear/activate(mob/living/user) +/obj/item/melee/energy/spear/activate(mob/living/user) if(!active) - to_chat(user, "\The [src] is now energised.") + to_chat(user, span_notice("\The [src] is now energised.")) ..() attack_verb = list("jabbed", "stabbed", "impaled") -/obj/item/weapon/melee/energy/spear/deactivate(mob/living/user) +/obj/item/melee/energy/spear/deactivate(mob/living/user) if(active) - to_chat(user, "\The [src] deactivates!") + to_chat(user, span_notice("\The [src] deactivates!")) ..() attack_verb = list("whacked", "beat", "slapped", "thonked") -/obj/item/weapon/melee/energy/spear/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack") +/obj/item/melee/energy/spear/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack") if(active && default_parry_check(user, attacker, damage_source) && prob(50)) - user.visible_message("\The [user] parries [attack_text] with \the [src]!") + user.visible_message(span_danger("\The [user] parries [attack_text] with \the [src]!")) var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread() spark_system.set_up(5, 0, user.loc) spark_system.start() diff --git a/code/game/objects/items/weapons/melee/energy_vr.dm b/code/game/objects/items/weapons/melee/energy_vr.dm index 61a16a24126..180cc0c8070 100644 --- a/code/game/objects/items/weapons/melee/energy_vr.dm +++ b/code/game/objects/items/weapons/melee/energy_vr.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/melee/energy/sword/imperial +/obj/item/melee/energy/sword/imperial name = "energy gladius" desc = "A broad, short energy blade. You'll be glad to have this in a fight." icon_state = "impsword" @@ -7,7 +7,7 @@ colorable = FALSE lcolor = "#FFFFFF" -/obj/item/weapon/melee/energy/sword/altevian +/obj/item/melee/energy/sword/altevian name = "plasma blade cutter" desc = "A device that's primarily used to cut through hull plating and interior structure, but also doubles as a deadly weapon. It's normally seen in the hands of altevian engineers as they carry out salvage work." icon_state = "altevian-cutter" @@ -17,7 +17,7 @@ colorable = FALSE lcolor = "#FFFFFF" -/obj/item/weapon/melee/energy/sword/altevian/update_icon() +/obj/item/melee/energy/sword/altevian/update_icon() ..() if(active) icon_state = "[initial(icon_state)]_active" diff --git a/code/game/objects/items/weapons/melee/misc.dm b/code/game/objects/items/weapons/melee/misc.dm index 9598987006a..092885ab37a 100644 --- a/code/game/objects/items/weapons/melee/misc.dm +++ b/code/game/objects/items/weapons/melee/misc.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/melee/chainofcommand +/obj/item/melee/chainofcommand name = "chain of command" desc = "A tool used by great men to placate the frothing masses." icon_state = "chain" @@ -11,7 +11,7 @@ hitsound = 'sound/weapons/whip.ogg' reach = 2 -/obj/item/weapon/melee/chainofcommand/curator_whip +/obj/item/melee/chainofcommand/curator_whip name = "leather whip" desc = "A fine weapon for some treasure hunting." icon_state = "curator_whip" @@ -19,13 +19,13 @@ throwforce = 5 origin_tech = list(TECH_COMBAT = 2) -/obj/item/weapon/melee/chainofcommand/curator_whip/toy +/obj/item/melee/chainofcommand/curator_whip/toy name = "toy whip" desc = "A fake whip. Perfect for fake treasure hunting" force = 2 throwforce = 2 -/obj/item/weapon/melee/umbrella +/obj/item/melee/umbrella name = "umbrella" desc = "To keep the rain off you. Use with caution on windy days." icon = 'icons/obj/items.dmi' @@ -37,14 +37,14 @@ w_class = ITEMSIZE_NORMAL var/open = FALSE -/obj/item/weapon/melee/umbrella/New() +/obj/item/melee/umbrella/New() ..() update_icon() -/obj/item/weapon/melee/umbrella/attack_self() +/obj/item/melee/umbrella/attack_self() src.toggle_umbrella() -/obj/item/weapon/melee/umbrella/proc/toggle_umbrella() +/obj/item/melee/umbrella/proc/toggle_umbrella() open = !open icon_state = "umbrella_[open ? "open" : "closed"]" addblends = icon_state + "_a" @@ -56,11 +56,11 @@ H.update_inv_r_hand() // Randomizes color -/obj/item/weapon/melee/umbrella/random/New() +/obj/item/melee/umbrella/random/New() color = get_random_colour() ..() -/obj/item/weapon/melee/cursedblade +/obj/item/melee/cursedblade name = "crystal blade" desc = "The red crystal blade's polished surface glints in the light, giving off a faint glow." icon_state = "soulblade" @@ -76,14 +76,14 @@ var/list/voice_mobs = list() //The curse of the sword is that it has someone trapped inside. -/obj/item/weapon/melee/cursedblade/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack") +/obj/item/melee/cursedblade/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack") if(default_parry_check(user, attacker, damage_source) && prob(50)) - user.visible_message("\The [user] parries [attack_text] with \the [src]!") + user.visible_message(span_danger("\The [user] parries [attack_text] with \the [src]!")) playsound(src, 'sound/weapons/punchmiss.ogg', 50, 1) return 1 return 0 -/obj/item/weapon/melee/cursedblade/proc/ghost_inhabit(var/mob/candidate) +/obj/item/melee/cursedblade/proc/ghost_inhabit(var/mob/candidate) if(!isobserver(candidate)) return //Handle moving the ghost into the new shell. diff --git a/code/game/objects/items/weapons/melee/misc_vr.dm b/code/game/objects/items/weapons/melee/misc_vr.dm index b14a36e1f40..092ec058919 100644 --- a/code/game/objects/items/weapons/melee/misc_vr.dm +++ b/code/game/objects/items/weapons/melee/misc_vr.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/melee/rapier +/obj/item/melee/rapier name = "rapier" desc = "A gleaming steel blade with a gold handguard and inlayed with an outstanding red gem." icon = 'icons/obj/weapons_vr.dmi' @@ -13,4 +13,42 @@ sharp = TRUE edge = FALSE attack_verb = list("stabbed", "lunged at", "dextrously struck", "sliced", "lacerated", "impaled", "diced", "charioted") - hitsound = 'sound/weapons/bladeslice.ogg' \ No newline at end of file + hitsound = 'sound/weapons/bladeslice.ogg' + +/obj/item/melee/hammer + name = "claw hammer" + desc = "A simple claw hammer for hitting things or people with, and the claw part probably does something too." + icon = 'icons/obj/weapons.dmi' + icon_state = "claw_hammer" + force = 15 + throwforce = 10 + w_class = ITEMSIZE_SMALL + attack_verb = list("smashed", "swung at", "pummelled", "nailed", "crushed", "bonked", "hammered", "cracked") + defend_chance = 0 + +/obj/item/melee/hammer/apply_hit_effect(mob/living/target, mob/living/user, var/hit_zone, var/attack_modifier) + if(istype(target,/mob/living/carbon/human)) + var/mob/living/carbon/human/H = target + if(prob(50)) + var/obj/item/organ/external/affecting = H.get_organ(hit_zone) + affecting.fracture() + return ..() + +/obj/item/melee/hammer/afterattack(atom/A as mob|obj|turf|area, mob/user as mob, proximity) + if(!proximity) return + ..() + if(A) + if(istype(A,/obj/structure/window)) + var/obj/structure/window/W = A + if(prob(50)) + W.visible_message(span_warning("\The [W] shatters under the force of the impact!")) + W.shatter() + else if(istype(A,/obj/structure/barricade)) + var/obj/structure/barricade/B = A + if(prob(50)) + B.visible_message(span_warning("\The [B] is broken apart with ease!")) + B.dismantle() + else if(istype(A,/obj/structure/grille)) + if(prob(50)) + A.visible_message(span_warning("\The [A] is smashed open!")) + qdel(A) diff --git a/code/game/objects/items/weapons/melee/shock_maul.dm b/code/game/objects/items/weapons/melee/shock_maul.dm index 69896c885dc..b5df24d40c8 100644 --- a/code/game/objects/items/weapons/melee/shock_maul.dm +++ b/code/game/objects/items/weapons/melee/shock_maul.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/melee/shock_maul +/obj/item/melee/shock_maul name = "concussion maul" desc = "A heavy-duty concussion hammer, typically used for mining. An iconic weapon for the many uprisings of Mars. It uses a manually engaged concussive-force amplifier unit in the head to multiply impact force, but its weight and the charge up time makes it difficult to use effectively. Devastating if used correctly, but requires skill." icon_state = "forcemaul" @@ -38,10 +38,10 @@ attack_verb = list("beaten","slammed","smashed","mauled","hammered","bludgeoned") var/lightcolor = "#D3FDFD" var/status = 0 //whether the thing is on or not - var/obj/item/weapon/cell/bcell = null + var/obj/item/cell/bcell = null var/hitcost = 600 //you get 4 hits out of a standard cell -/obj/item/weapon/melee/shock_maul/update_held_icon() +/obj/item/melee/shock_maul/update_held_icon() var/mob/living/M = loc if(istype(M) && M.can_wield_item(src) && is_held_twohanded(M)) wielded = 1 @@ -69,15 +69,15 @@ update_icon() ..() -/obj/item/weapon/melee/shock_maul/New() +/obj/item/melee/shock_maul/New() ..() update_held_icon() return -/obj/item/weapon/melee/shock_maul/get_cell() +/obj/item/melee/shock_maul/get_cell() return bcell -/obj/item/weapon/melee/shock_maul/MouseDrop(obj/over_object as obj) +/obj/item/melee/shock_maul/MouseDrop(obj/over_object as obj) if(!canremove) return @@ -109,13 +109,13 @@ usr.put_in_l_hand(src) src.add_fingerprint(usr) -/obj/item/weapon/melee/shock_maul/loaded/New() //this one starts with a cell pre-installed. +/obj/item/melee/shock_maul/loaded/New() //this one starts with a cell pre-installed. ..() - bcell = new/obj/item/weapon/cell/device/weapon(src) + bcell = new/obj/item/cell/device/weapon(src) update_icon() return -/obj/item/weapon/melee/shock_maul/proc/deductcharge() +/obj/item/melee/shock_maul/proc/deductcharge() if(status == 1) //Only deducts charge when it's on if(bcell) if(bcell.checked_use(hitcost)) @@ -124,13 +124,13 @@ return 0 return null -/obj/item/weapon/melee/shock_maul/proc/powercheck() +/obj/item/melee/shock_maul/proc/powercheck() if(bcell) if(bcell.charge < hitcost) status = 0 update_held_icon() -/obj/item/weapon/melee/shock_maul/update_icon() +/obj/item/melee/shock_maul/update_icon() if(status) icon_state = "[initial(icon_state)]_active[wielded]" item_state = icon_state @@ -146,39 +146,39 @@ else set_light(0) -/obj/item/weapon/melee/shock_maul/dropped() +/obj/item/melee/shock_maul/dropped() ..() if(status) status = 0 - visible_message("\The [src]'s grip safety engages!") + visible_message(span_warning("\The [src]'s grip safety engages!")) update_held_icon() -/obj/item/weapon/melee/shock_maul/examine(mob/user) +/obj/item/melee/shock_maul/examine(mob/user) . = ..() if(Adjacent(user)) if(bcell) - . += "The concussion maul is [round(bcell.percent())]% charged." + . += span_notice("The concussion maul is [round(bcell.percent())]% charged.") if(!bcell) - . += "The concussion maul does not have a power source installed." + . += span_warning("The concussion maul does not have a power source installed.") -/obj/item/weapon/melee/shock_maul/attackby(obj/item/weapon/W, mob/user) +/obj/item/melee/shock_maul/attackby(obj/item/W, mob/user) if(!user.IsAdvancedToolUser()) return - if(istype(W, /obj/item/weapon/cell)) - if(istype(W, /obj/item/weapon/cell/device)) + if(istype(W, /obj/item/cell)) + if(istype(W, /obj/item/cell/device)) if(!bcell) user.drop_item() W.loc = src bcell = W - to_chat(user, "You install a cell in \the [src].") + to_chat(user, span_notice("You install a cell in \the [src].")) update_held_icon() else - to_chat(user, "\The [src] already has a cell.") + to_chat(user, span_notice("\The [src] already has a cell.")) else - to_chat(user, "This cell is not fitted for [src].") + to_chat(user, span_notice("This cell is not fitted for [src].")) -/obj/item/weapon/melee/shock_maul/attack_hand(mob/user as mob) +/obj/item/melee/shock_maul/attack_hand(mob/user as mob) if(user.get_inactive_hand() == src) if(!user.IsAdvancedToolUser()) return @@ -186,7 +186,7 @@ bcell.update_icon() user.put_in_hands(bcell) bcell = null - to_chat(user, "You remove the cell from the [src].") + to_chat(user, span_notice("You remove the cell from the [src].")) status = 0 update_held_icon() return @@ -194,38 +194,38 @@ else return ..() -/obj/item/weapon/melee/shock_maul/attack_self(mob/user) +/obj/item/melee/shock_maul/attack_self(mob/user) if(!user.IsAdvancedToolUser()) return if(!status && bcell && bcell.charge >= hitcost) if(do_after(user, 2 SECONDS)) status = 1 - user.visible_message("[user] charges \the [src]!","You charge \the [src]. It's hammer time!") + user.visible_message(span_warning("[user] charges \the [src]!"),span_warning("You charge \the [src]. It's hammer time!")) playsound(src, "sparks", 75, 1, -1) update_held_icon() else if(status) status = 0 - user.visible_message("[user] safely disengages \the [src]'s power field.","\The [src] is now off.") + user.visible_message(span_notice("[user] safely disengages \the [src]'s power field."),span_notice("\The [src] is now off.")) update_held_icon() playsound(src, "sparks", 75, 1, -1) if(!bcell) - to_chat(user, "\The [src] does not have a power source!") + to_chat(user, span_warning("\The [src] does not have a power source!")) else - to_chat(user, "\The [src] is out of charge.") + to_chat(user, span_warning("\The [src] is out of charge.")) add_fingerprint(user) -/obj/item/weapon/melee/shock_maul/afterattack(atom/A as mob|obj|turf|area, mob/user as mob, proximity) +/obj/item/melee/shock_maul/afterattack(atom/A as mob|obj|turf|area, mob/user as mob, proximity) if(!proximity) return ..() if(A && wielded && status) deductcharge() status = 0 - user.visible_message("\The [src] discharges with a thunderous, hair-raising crackle!") + user.visible_message(span_warning("\The [src] discharges with a thunderous, hair-raising crackle!")) playsound(src, 'sound/weapons/resonator_blast.ogg', 100, 1, -1) update_held_icon() if(istype(A,/obj/structure/window)) var/obj/structure/window/W = A - visible_message("\The [W] crumples under the force of the impact!") + visible_message(span_warning("\The [W] crumples under the force of the impact!")) W.shatter() else if(istype(A,/obj/structure/barricade)) var/obj/structure/barricade/B = A @@ -234,7 +234,7 @@ qdel(A) powercheck(hitcost) -/obj/item/weapon/melee/shock_maul/apply_hit_effect(mob/living/target, mob/living/user, var/hit_zone) +/obj/item/melee/shock_maul/apply_hit_effect(mob/living/target, mob/living/user, var/hit_zone) . = ..() if(user.a_intent == I_DISARM) launch_force *= launch_force_disarm @@ -249,21 +249,21 @@ deductcharge() status = 0 - user.visible_message("\The [src] discharges with a thunderous, hair-raising crackle!") + user.visible_message(span_warning("\The [src] discharges with a thunderous, hair-raising crackle!")) playsound(src, 'sound/weapons/resonator_blast.ogg', 100, 1, -1) update_held_icon() powercheck(hitcost) -/obj/item/weapon/melee/shock_maul/emp_act(severity) +/obj/item/melee/shock_maul/emp_act(severity) if(bcell) bcell.emp_act(severity) //let's not duplicate code everywhere if we don't have to please. if(status) status = 0 - visible_message("\The [src]'s power field hisses and sputters out.") + visible_message(span_warning("\The [src]'s power field hisses and sputters out.")) update_held_icon() ..() -/obj/item/weapon/melee/shock_maul/get_description_interaction() +/obj/item/melee/shock_maul/get_description_interaction() var/list/results = list() if(bcell) @@ -273,4 +273,4 @@ results += ..() - return results \ No newline at end of file + return results diff --git a/code/game/objects/items/weapons/mop.dm b/code/game/objects/items/weapons/mop.dm index 0d11a574af7..96cfdb01efb 100644 --- a/code/game/objects/items/weapons/mop.dm +++ b/code/game/objects/items/weapons/mop.dm @@ -1,9 +1,9 @@ -GLOBAL_LIST_BOILERPLATE(all_mops, /obj/item/weapon/mop) +GLOBAL_LIST_BOILERPLATE(all_mops, /obj/item/mop) /* * Mop */ -/obj/item/weapon/mop +/obj/item/mop name = "mop" desc = "The world of janitalia wouldn't be complete without a mop." icon = 'icons/obj/janitor.dmi' @@ -18,35 +18,35 @@ GLOBAL_LIST_BOILERPLATE(all_mops, /obj/item/weapon/mop) var/mopping = 0 var/mopcount = 0 -/obj/item/weapon/mop/New() +/obj/item/mop/New() create_reagents(30) ..() -/obj/item/weapon/mop/afterattack(atom/A, mob/user, proximity) +/obj/item/mop/afterattack(atom/A, mob/user, proximity) if(!proximity) return if(istype(A, /turf) || istype(A, /obj/effect/decal/cleanable) || istype(A, /obj/effect/overlay) || istype(A, /obj/effect/rune)) if(reagents.total_volume < 1) - to_chat(user, "Your mop is dry!") + to_chat(user, span_notice("Your mop is dry!")) return - user.visible_message("[user] begins to clean \the [get_turf(A)].") + user.visible_message(span_warning("[user] begins to clean \the [get_turf(A)].")) if(do_after(user, 40)) var/turf/T = get_turf(A) if(T) T.clean(src, user) - to_chat(user, "You have finished mopping!") + to_chat(user, span_notice("You have finished mopping!")) /obj/effect/attackby(obj/item/I, mob/user) - if(istype(I, /obj/item/weapon/mop) || istype(I, /obj/item/weapon/soap)) + if(istype(I, /obj/item/mop) || istype(I, /obj/item/soap)) return ..() /* * Advanced Mop */ -/obj/item/weapon/mop/advanced +/obj/item/mop/advanced name = "advanced mop" desc = "No stain will go unclean." icon = 'icons/obj/janitor.dmi' @@ -59,21 +59,21 @@ GLOBAL_LIST_BOILERPLATE(all_mops, /obj/item/weapon/mop) flags = NOCONDUCT attack_verb = list("mopped", "bashed", "bludgeoned", "whacked") -/obj/item/weapon/mop/advanced/New() +/obj/item/mop/advanced/New() create_reagents(30) ..() -/obj/item/weapon/mop/advanced/afterattack(atom/A, mob/user, proximity) +/obj/item/mop/advanced/afterattack(atom/A, mob/user, proximity) if(!proximity) return if(istype(A, /turf) || istype(A, /obj/effect/decal/cleanable) || istype(A, /obj/effect/overlay) || istype(A, /obj/effect/rune)) if(reagents.total_volume < 1) - to_chat(user, "Your mop is dry!") + to_chat(user, span_notice("Your mop is dry!")) return - user.visible_message("[user] begins to clean \the [get_turf(A)].") + user.visible_message(span_warning("[user] begins to clean \the [get_turf(A)].")) if(do_after(user, 20)) var/turf/T = get_turf(A) if(T) T.clean(src, user) - to_chat(user, "You have finished mopping!") \ No newline at end of file + to_chat(user, span_notice("You have finished mopping!")) diff --git a/code/game/objects/items/weapons/mop_deploy.dm b/code/game/objects/items/weapons/mop_deploy.dm index 95de86abee5..182f4971dc1 100644 --- a/code/game/objects/items/weapons/mop_deploy.dm +++ b/code/game/objects/items/weapons/mop_deploy.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/mop_deploy +/obj/item/mop_deploy name = "mop" desc = "Deployable mop." icon = 'icons/obj/janitor.dmi' @@ -15,7 +15,7 @@ var/mopcount = 0 -/obj/item/weapon/mop_deploy/New() +/obj/item/mop_deploy/New() create_reagents(5) START_PROCESSING(SSobj, src) @@ -32,34 +32,34 @@ source.reagents.reaction(src, TOUCH, 10) //10 is the multiplier for the reaction effect. probably needed to wet the floor properly. source.reagents.remove_any(1) //reaction() doesn't use up the reagents */ -/obj/item/weapon/mop_deploy/afterattack(atom/A, mob/user, proximity) +/obj/item/mop_deploy/afterattack(atom/A, mob/user, proximity) if(!proximity) return if(istype(A, /turf) || istype(A, /obj/effect/decal/cleanable) || istype(A, /obj/effect/overlay) || istype(A, /obj/effect/rune)) - user.visible_message("[user] begins to clean \the [get_turf(A)].") + user.visible_message(span_warning("[user] begins to clean \the [get_turf(A)].")) if(do_after(user, 40)) var/turf/T = get_turf(A) if(T) T.clean_deploy(src) - to_chat(user, "You have finished mopping!") + to_chat(user, span_notice("You have finished mopping!")) /obj/effect/attackby(obj/item/I, mob/user) - if(istype(I, /obj/item/weapon/mop_deploy) || istype(I, /obj/item/weapon/soap)) + if(istype(I, /obj/item/mop_deploy) || istype(I, /obj/item/soap)) return ..() -/obj/item/weapon/mop_deploy/Destroy() +/obj/item/mop_deploy/Destroy() STOP_PROCESSING(SSobj, src) . = ..() -/obj/item/weapon/mop_deploy/attack_self(mob/user as mob) +/obj/item/mop_deploy/attack_self(mob/user as mob) user.drop_from_inventory(src) spawn(1) if(!QDELETED(src)) qdel(src) -/obj/item/weapon/mop_deploy/dropped() +/obj/item/mop_deploy/dropped() spawn(1) if(!QDELETED(src)) qdel(src) -/obj/item/weapon/mop_deploy/process() +/obj/item/mop_deploy/process() if(!creator || loc != creator || !creator.item_is_in_hands(src)) // Tidy up a bit. if(istype(loc,/mob/living)) @@ -72,4 +72,4 @@ host.pinned -= src host.embedded -= src host.drop_from_inventory(src) - spawn(1) if(!QDELETED(src)) qdel(src) \ No newline at end of file + spawn(1) if(!QDELETED(src)) qdel(src) diff --git a/code/game/objects/items/weapons/paint.dm b/code/game/objects/items/weapons/paint.dm index d301828f326..628b0f36944 100644 --- a/code/game/objects/items/weapons/paint.dm +++ b/code/game/objects/items/weapons/paint.dm @@ -3,7 +3,7 @@ var/global/list/cached_icons = list() -/obj/item/weapon/reagent_containers/glass/paint +/obj/item/reagent_containers/glass/paint desc = "It's a paint bucket." name = "paint bucket" icon = 'icons/obj/items.dmi' @@ -18,61 +18,60 @@ var/global/list/cached_icons = list() flags = OPENCONTAINER var/paint_type = "red" -/obj/item/weapon/reagent_containers/glass/paint/afterattack(turf/simulated/target, mob/user, proximity) +/obj/item/reagent_containers/glass/paint/afterattack(turf/simulated/target, mob/user, proximity) if(!proximity) return if(istype(target) && reagents.total_volume > 5) - user.visible_message("\The [target] has been splashed with something by [user]!") + user.visible_message(span_warning("\The [target] has been splashed with something by [user]!")) reagents.trans_to_turf(target, 5) else return ..() -/obj/item/weapon/reagent_containers/glass/paint/Initialize() +/obj/item/reagent_containers/glass/paint/Initialize() .=..() if(paint_type) reagents.add_reagent("paint", volume, paint_type) -/obj/item/weapon/reagent_containers/glass/paint/red +/obj/item/reagent_containers/glass/paint/red icon_state = "paint_red" paint_type = "#FF0000" -/obj/item/weapon/reagent_containers/glass/paint/yellow +/obj/item/reagent_containers/glass/paint/yellow icon_state = "paint_yellow" paint_type = "#FFFF00" -/obj/item/weapon/reagent_containers/glass/paint/green +/obj/item/reagent_containers/glass/paint/green icon_state = "paint_green" paint_type = "#00FF00" -/obj/item/weapon/reagent_containers/glass/paint/blue +/obj/item/reagent_containers/glass/paint/blue icon_state = "paint_blue" paint_type = "#0000FF" -/obj/item/weapon/reagent_containers/glass/paint/violet +/obj/item/reagent_containers/glass/paint/violet icon_state = "paint_violet" paint_type = "#FF00FF" -/obj/item/weapon/reagent_containers/glass/paint/black +/obj/item/reagent_containers/glass/paint/black icon_state = "paint_black" paint_type = "#000000" -/obj/item/weapon/reagent_containers/glass/paint/grey +/obj/item/reagent_containers/glass/paint/grey icon_state = "paint_neutral" paint_type = "#808080" -/obj/item/weapon/reagent_containers/glass/paint/orange +/obj/item/reagent_containers/glass/paint/orange icon_state = "paint_orange" paint_type = "#FFA500" -/obj/item/weapon/reagent_containers/glass/paint/purple +/obj/item/reagent_containers/glass/paint/purple icon_state = "paint_purple" paint_type = "#A500FF" -/obj/item/weapon/reagent_containers/glass/paint/cyan +/obj/item/reagent_containers/glass/paint/cyan icon_state = "paint_cyan" paint_type = "#00FFFF" -/obj/item/weapon/reagent_containers/glass/paint/white +/obj/item/reagent_containers/glass/paint/white name = "paint remover bucket" icon_state = "paint_white" paint_type = "#FFFFFF" - diff --git a/code/game/objects/items/weapons/paiwire.dm b/code/game/objects/items/weapons/paiwire.dm index 6d415170149..05b526cf1fb 100644 --- a/code/game/objects/items/weapons/paiwire.dm +++ b/code/game/objects/items/weapons/paiwire.dm @@ -1,10 +1,10 @@ -/obj/item/weapon/pai_cable/proc/plugin(obj/machinery/M as obj, mob/user as mob) +/obj/item/pai_cable/proc/plugin(obj/machinery/M as obj, mob/user as mob) if(istype(M, /obj/machinery/door) || istype(M, /obj/machinery/camera)) //VOREStation Add - Can't hack secured_wires doors (vault, etc) if(istype(M, /obj/machinery/door/airlock)) var/obj/machinery/door/airlock/A = M if(A.secured_wires) - to_chat(user,"\The [M] doesn't have any acessible data ports for \the [src]!") + to_chat(user,span_warning("\The [M] doesn't have any acessible data ports for \the [src]!")) return //VOREStation Add End user.visible_message("[user] inserts [src] into a data port on [M].", "You insert [src] into a data port on [M].", "You hear the satisfying click of a wire jack fastening into place.") @@ -15,5 +15,5 @@ else user.visible_message("[user] fumbles to find a place on [M] to plug in [src].", "There aren't any ports on [M] that match the jack belonging to [src].") -/obj/item/weapon/pai_cable/attack(obj/machinery/M as obj, mob/user as mob) +/obj/item/pai_cable/attack(obj/machinery/M as obj, mob/user as mob) src.plugin(M, user) diff --git a/code/game/objects/items/weapons/picnic_blankets.dm b/code/game/objects/items/weapons/picnic_blankets.dm index 0986c46e6f8..a69ed40951a 100644 --- a/code/game/objects/items/weapons/picnic_blankets.dm +++ b/code/game/objects/items/weapons/picnic_blankets.dm @@ -1,7 +1,7 @@ #define CENTER 1 #define SIDE 2 -/obj/item/weapon/picnic_blankets_carried +/obj/item/picnic_blankets_carried name = "picnic blanket" desc = "A neatly folded picnic blanket!" var/unfolded_desc = "Separates your meal from the dirty floor. Or table." @@ -14,7 +14,7 @@ drop_sound = 'sound/items/drop/cloth.ogg' pickup_sound = 'sound/items/pickup/cloth.ogg' -/obj/item/weapon/picnic_blankets_carried/verb/fold_out() +/obj/item/picnic_blankets_carried/verb/fold_out() set name = "Fold out" set desc = "Fold out the picnic blanket for use" set category = "Object" @@ -43,7 +43,7 @@ for(var/obj/structure/picnic_blanket_deployed/side in attached_blankets) qdel(side) - var/obj/item/weapon/picnic_blankets_carried/P = new /obj/item/weapon/picnic_blankets_carried(usr.loc) + var/obj/item/picnic_blankets_carried/P = new /obj/item/picnic_blankets_carried(usr.loc) P.name = name P.desc = folded_desc qdel(src) @@ -66,7 +66,7 @@ continue if(LAZYLEN(T.contents) > 20) //Avoiding potential perf issues by not iterating over large piles of objs if(!anti_spam) - to_chat(usr, SPAN_NOTICE("Too many items! Couldn't fully unfold the blanket!")) + to_chat(usr, span_notice("Too many items! Couldn't fully unfold the blanket!")) anti_spam = TRUE continue for(var/obj/O in T) @@ -101,9 +101,9 @@ /obj/structure/picnic_blanket_deployed/examine(mob/user) . = ..() if(blanket_type == CENTER) - . += SPAN_NOTICE("This is the center of a folded out picnic blanket. You can use this to start packing it up!") + . += span_notice("This is the center of a folded out picnic blanket. You can use this to start packing it up!") if(blanket_type == SIDE) - . += SPAN_NOTICE("This is one of the edges. Look for the center to start packing!") + . += span_notice("This is one of the edges. Look for the center to start packing!") //For Mapping use only. //If player folds it back up, it reverts to normal type so the Initialize() won't cause issues diff --git a/code/game/objects/items/weapons/policetape.dm b/code/game/objects/items/weapons/policetape.dm index cb00c93fd01..f2f0c9f4e4b 100644 --- a/code/game/objects/items/weapons/policetape.dm +++ b/code/game/objects/items/weapons/policetape.dm @@ -140,14 +140,14 @@ var/list/tape_roll_applications = list() /obj/item/taperoll/attack_self(mob/user as mob) if(!start) start = get_turf(src) - to_chat(user, "You place the first end of \the [src].") + to_chat(user, span_notice("You place the first end of \the [src].")) update_icon() else end = get_turf(src) if(start.y != end.y && start.x != end.x || start.z != end.z) start = null update_icon() - to_chat(user, "\The [src] can only be laid horizontally or vertically.") + to_chat(user, span_notice("\The [src] can only be laid horizontally or vertically.")) return if(start == end) @@ -168,7 +168,7 @@ var/list/tape_roll_applications = list() if(!possible_dirs) start = null update_icon() - to_chat(user, "You can't place \the [src] here.") + to_chat(user, span_notice("You can't place \the [src] here.")) return if(possible_dirs & (NORTH|SOUTH)) var/obj/item/tape/TP = new tape_type(start) @@ -184,7 +184,7 @@ var/list/tape_roll_applications = list() TP.update_icon() start = null update_icon() - to_chat(user, "You finish placing \the [src].") + to_chat(user, span_notice("You finish placing \the [src].")) return var/turf/cur = start @@ -233,7 +233,7 @@ var/list/tape_roll_applications = list() if (!can_place) start = null update_icon() - to_chat(user, "You can't run \the [src] through that!") + to_chat(user, span_warning("You can't run \the [src] through that!")) return cur = start @@ -277,7 +277,7 @@ var/list/tape_roll_applications = list() cur = get_step_towards(cur,end) start = null update_icon() - to_chat(user, "You finish placing \the [src].") + to_chat(user, span_notice("You finish placing \the [src].")) return /obj/item/taperoll/afterattack(var/atom/A, mob/user as mob, proximity) @@ -292,7 +292,7 @@ var/list/tape_roll_applications = list() var/obj/item/tape/P = new tape_type(T) P.update_icon() P.layer = WINDOW_LAYER - to_chat(user, "You finish placing \the [src].") + to_chat(user, span_notice("You finish placing \the [src].")) if (istype(A, /turf/simulated/floor) ||istype(A, /turf/unsimulated/floor)) var/turf/F = A @@ -322,18 +322,18 @@ var/list/tape_roll_applications = list() var/mob/M = mover add_fingerprint(M) if(!allowed(M)) //only select few learn art of not crumpling the tape - to_chat(M, span("warning", "You are not supposed to go past \the [src]...")) + to_chat(M, span_warning("You are not supposed to go past \the [src]...")) if(M.a_intent == I_HELP && !(istype(M, /mob/living/simple_mob))) return FALSE crumple() return ..() -/obj/item/tape/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/item/tape/attackby(obj/item/W as obj, mob/user as mob) breaktape(user) /obj/item/tape/attack_hand(mob/user as mob) if (user.a_intent == I_HELP && src.allowed(user)) - user.show_viewers("\The [user] lifts \the [src], allowing passage.") + user.show_viewers(span_infoplain(span_bold("\The [user]") + " lifts \the [src], allowing passage.")) for(var/obj/item/tape/T in gettapeline()) T.lift(100) //~10 seconds else @@ -375,9 +375,9 @@ var/list/tape_roll_applications = list() /obj/item/tape/proc/breaktape(mob/user) if(user.a_intent == I_HELP) - to_chat(user, "You refrain from breaking \the [src].") + to_chat(user, span_warning("You refrain from breaking \the [src].")) return - user.visible_message("\The [user] breaks \the [src]!","You break \the [src].") + user.visible_message(span_bold("\The [user]") + "breaks \the [src]!",span_notice("You break \the [src].")) for (var/obj/item/tape/T in gettapeline()) if(T == src) diff --git a/code/game/objects/items/weapons/scrolls.dm b/code/game/objects/items/weapons/scrolls.dm index c4e25652834..dd18c3a68a7 100644 --- a/code/game/objects/items/weapons/scrolls.dm +++ b/code/game/objects/items/weapons/scrolls.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/teleportation_scroll +/obj/item/teleportation_scroll name = "scroll of teleportation" desc = "A scroll for moving around." icon = 'icons/obj/wizard.dmi' @@ -14,23 +14,23 @@ throw_range = 20 origin_tech = list(TECH_BLUESPACE = 4) -/obj/item/weapon/teleportation_scroll/attack_self(mob/user as mob) +/obj/item/teleportation_scroll/attack_self(mob/user as mob) if((user.mind && !wizards.is_antagonist(user.mind))) - to_chat(usr, "You stare at the scroll but cannot make sense of the markings!") + to_chat(user, span_warning("You stare at the scroll but cannot make sense of the markings!")) return user.set_machine(src) - var/dat = "Teleportation Scroll:
" + var/dat = span_bold("Teleportation Scroll:") + "
" dat += "Number of uses: [src.uses]
" dat += "
" - dat += "Four uses use them wisely:
" + dat += span_bold("Four uses use them wisely:") + "
" dat += "Teleport
" dat += "Kind regards,
Wizards Federation

P.S. Don't forget to bring your gear, you'll need it to cast most spells.
" user << browse(dat, "window=scroll") onclose(user, "scroll") return -/obj/item/weapon/teleportation_scroll/Topic(href, href_list) +/obj/item/teleportation_scroll/Topic(href, href_list) ..() if (usr.stat || usr.restrained() || src.loc != usr) return @@ -45,7 +45,7 @@ attack_self(H) return -/obj/item/weapon/teleportation_scroll/proc/teleportscroll(var/mob/user) +/obj/item/teleportation_scroll/proc/teleportscroll(var/mob/user) var/A = tgui_input_list(user, "Area to jump to:", "Teleportation Scroll", teleportlocs) if(!A) return diff --git a/code/game/objects/items/weapons/shields.dm b/code/game/objects/items/weapons/shields.dm index 13dc6fc7b0a..d5917f21796 100644 --- a/code/game/objects/items/weapons/shields.dm +++ b/code/game/objects/items/weapons/shields.dm @@ -32,7 +32,7 @@ /obj/item/proc/unique_parry_check(mob/user, mob/attacker, atom/damage_source) // An overrideable version of the above proc. return default_parry_check(user, attacker, damage_source) -/obj/item/weapon/shield +/obj/item/shield name = "shield" var/base_block_chance = 50 preserve_item = 1 @@ -41,7 +41,7 @@ slot_r_hand_str = 'icons/mob/items/righthand_melee.dmi', ) -/obj/item/weapon/shield/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack") +/obj/item/shield/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack") if(user.incapacitated()) return 0 @@ -49,14 +49,14 @@ var/bad_arc = reverse_direction(user.dir) //arc of directions from which we cannot block if(check_shield_arc(user, bad_arc, damage_source, attacker)) if(prob(get_block_chance(user, damage, damage_source, attacker))) - user.visible_message("\The [user] blocks [attack_text] with \the [src]!") + user.visible_message(span_danger("\The [user] blocks [attack_text] with \the [src]!")) return 1 return 0 -/obj/item/weapon/shield/proc/get_block_chance(mob/user, var/damage, atom/damage_source = null, mob/attacker = null) +/obj/item/shield/proc/get_block_chance(mob/user, var/damage, atom/damage_source = null, mob/attacker = null) return base_block_chance -/obj/item/weapon/shield/riot +/obj/item/shield/riot name = "riot shield" desc = "A shield adept for close quarters engagement. It's also capable of protecting from less powerful projectiles." icon = 'icons/obj/weapons.dmi' @@ -72,7 +72,7 @@ attack_verb = list("shoved", "bashed") var/cooldown = 0 //shield bash cooldown. based on world.time -/obj/item/weapon/shield/riot/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack") +/obj/item/shield/riot/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack") if(user.incapacitated()) return 0 @@ -88,20 +88,20 @@ //If we're at this point, the bullet/beam is going to go through the shield, however it will hit for less damage. //Bullets get slowed down, while beams are diffused as they hit the shield, so these shields are not /completely/ //useless. Extremely penetrating projectiles will go through the shield without less damage. - user.visible_message("\The [user]'s [src.name] is pierced by [attack_text]!") + user.visible_message(span_danger("\The [user]'s [src.name] is pierced by [attack_text]!")) if(P.armor_penetration < 30) //PTR bullets and x-rays will bypass this entirely. P.damage = P.damage / 2 return 0 //Otherwise, if we're here, we're gonna stop the attack entirely. - user.visible_message("\The [user] blocks [attack_text] with \the [src]!") + user.visible_message(span_danger("\The [user] blocks [attack_text] with \the [src]!")) playsound(src, 'sound/weapons/Genhit.ogg', 50, 1) return 1 return 0 -/obj/item/weapon/shield/riot/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W, /obj/item/weapon/melee/baton)) +/obj/item/shield/riot/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W, /obj/item/melee/baton)) if(cooldown < world.time - 25) - user.visible_message("[user] bashes [src] with [W]!") + user.visible_message(span_warning("[user] bashes [src] with [W]!")) playsound(src, 'sound/effects/shieldbash.ogg', 50, 1) cooldown = world.time else @@ -111,7 +111,7 @@ * Energy Shield */ -/obj/item/weapon/shield/energy +/obj/item/shield/energy name = "energy combat shield" desc = "A shield capable of stopping most projectile and melee attacks. It can be retracted, expanded, and stored anywhere." icon = 'icons/obj/weapons.dmi' @@ -135,7 +135,7 @@ slot_r_hand_str = 'icons/mob/items/righthand_melee.dmi', ) -/obj/item/weapon/shield/energy/handle_shield(mob/user) +/obj/item/shield/energy/handle_shield(mob/user) if(!active) return 0 //turn it on first! . = ..() @@ -146,16 +146,16 @@ spark_system.start() playsound(src, 'sound/weapons/blade1.ogg', 50, 1) -/obj/item/weapon/shield/energy/get_block_chance(mob/user, var/damage, atom/damage_source = null, mob/attacker = null) +/obj/item/shield/energy/get_block_chance(mob/user, var/damage, atom/damage_source = null, mob/attacker = null) if(istype(damage_source, /obj/item/projectile)) var/obj/item/projectile/P = damage_source if((is_sharp(P) && damage > 10) || istype(P, /obj/item/projectile/beam)) return (base_block_chance - round(damage / 3)) //block bullets and beams using the old block chance return base_block_chance -/obj/item/weapon/shield/energy/attack_self(mob/living/user as mob) +/obj/item/shield/energy/attack_self(mob/living/user as mob) if ((CLUMSY in user.mutations) && prob(50)) - to_chat(user, "You beat yourself in the head with [src].") + to_chat(user, span_warning("You beat yourself in the head with [src].")) user.take_organ_damage(5) active = !active if (active) @@ -164,7 +164,7 @@ w_class = ITEMSIZE_LARGE slot_flags = null playsound(src, 'sound/weapons/saberon.ogg', 50, 1) - to_chat(user, "\The [src] is now active.") + to_chat(user, span_notice("\The [src] is now active.")) else force = 3 @@ -172,7 +172,7 @@ w_class = ITEMSIZE_TINY slot_flags = SLOT_EARS playsound(src, 'sound/weapons/saberoff.ogg', 50, 1) - to_chat(user, "\The [src] can now be concealed.") + to_chat(user, span_notice("\The [src] can now be concealed.")) if(istype(user,/mob/living/carbon/human)) var/mob/living/carbon/human/H = user @@ -182,7 +182,7 @@ add_fingerprint(user) return -/obj/item/weapon/shield/energy/update_icon() +/obj/item/shield/energy/update_icon() var/mutable_appearance/blade_overlay = mutable_appearance(icon, "[icon_state]_blade") if(lcolor) blade_overlay.color = lcolor @@ -202,23 +202,23 @@ H.update_inv_l_hand() H.update_inv_r_hand() -/obj/item/weapon/shield/energy/AltClick(mob/living/user) +/obj/item/shield/energy/AltClick(mob/living/user) if(!in_range(src, user)) //Basic checks to prevent abuse return if(user.incapacitated() || !istype(user)) - to_chat(user, "You can't do that right now!") + to_chat(user, span_warning("You can't do that right now!")) return - if(tgui_alert(usr, "Are you sure you want to recolor your shield?", "Confirm Recolor", list("Yes", "No")) == "Yes") - var/energy_color_input = input(usr,"","Choose Energy Color",lcolor) as color|null + if(tgui_alert(user, "Are you sure you want to recolor your shield?", "Confirm Recolor", list("Yes", "No")) == "Yes") + var/energy_color_input = input(user,"","Choose Energy Color",lcolor) as color|null if(energy_color_input) lcolor = sanitize_hexcolor(energy_color_input) update_icon() -/obj/item/weapon/shield/energy/examine(mob/user) +/obj/item/shield/energy/examine(mob/user) . = ..() - . += "Alt-click to recolor it." + . += span_notice("Alt-click to recolor it.") -/obj/item/weapon/shield/riot/tele +/obj/item/shield/riot/tele name = "telescopic shield" desc = "An advanced riot shield made of lightweight materials that collapses for easy storage." icon = 'icons/obj/weapons.dmi' @@ -231,13 +231,13 @@ w_class = ITEMSIZE_NORMAL var/active = 0 /* -/obj/item/weapon/shield/energy/IsShield() +/obj/item/shield/energy/IsShield() if(active) return 1 else return 0 */ -/obj/item/weapon/shield/riot/tele/attack_self(mob/living/user) +/obj/item/shield/riot/tele/attack_self(mob/living/user) active = !active icon_state = "teleriot[active]" playsound(src, 'sound/weapons/empty.ogg', 50, 1) @@ -248,14 +248,14 @@ throw_speed = 2 w_class = ITEMSIZE_LARGE slot_flags = SLOT_BACK - to_chat(user, "You extend \the [src].") + to_chat(user, span_notice("You extend \the [src].")) else force = 3 throwforce = 3 throw_speed = 3 w_class = ITEMSIZE_NORMAL slot_flags = null - to_chat(user, "[src] can now be concealed.") + to_chat(user, span_notice("[src] can now be concealed.")) if(istype(user,/mob/living/carbon/human)) var/mob/living/carbon/human/H = user diff --git a/code/game/objects/items/weapons/shields_vr.dm b/code/game/objects/items/weapons/shields_vr.dm index 34acbbc1a52..dbb21119969 100644 --- a/code/game/objects/items/weapons/shields_vr.dm +++ b/code/game/objects/items/weapons/shields_vr.dm @@ -1,11 +1,11 @@ -/obj/item/weapon/shield/energy/imperial +/obj/item/shield/energy/imperial name = "energy scutum" desc = "It's really easy to mispronounce the name of this shield if you've only read it in books." icon = 'icons/obj/weapons_vr.dmi' icon_state = "impshield" // eshield1 for expanded item_icons = list(slot_l_hand_str = 'icons/mob/items/lefthand_melee_vr.dmi', slot_r_hand_str = 'icons/mob/items/righthand_melee_vr.dmi') -/obj/item/weapon/shield/fluff/wolfgirlshield +/obj/item/shield/fluff/wolfgirlshield name = "Autumn Shield" desc = "A shiny silvery shield with a large red leaf symbol in the center." icon = 'icons/obj/weapons_vr.dmi' @@ -18,10 +18,10 @@ item_icons = list(slot_l_hand_str = 'icons/mob/items/lefthand_melee_vr.dmi', slot_r_hand_str = 'icons/mob/items/righthand_melee_vr.dmi', slot_back_str = 'icons/vore/custom_items_vr.dmi', slot_wear_suit_str = 'icons/vore/custom_items_vr.dmi') attack_verb = list("shoved", "bashed") var/cooldown = 0 //shield bash cooldown. based on world.time - allowed = list(/obj/item/weapon/melee/fluffstuff/wolfgirlsword) + allowed = list(/obj/item/melee/fluffstuff/wolfgirlsword) -/obj/item/weapon/shield/riot/explorer +/obj/item/shield/riot/explorer name = "green explorer shield" // YW EDIT desc = "A shield issued to exploration teams to help protect them when advancing into the unknown. It is lighter and cheaper but less protective than some of its counterparts. It has a flashlight straight in the middle to help draw attention." icon = 'icons/obj/weapons_vr.dmi' @@ -40,7 +40,7 @@ //POURPEL WHY U NO COVER -/obj/item/weapon/shield/riot/explorer/attack_self(mob/user) +/obj/item/shield/riot/explorer/attack_self(mob/user) if(brightness_on) if(!isturf(user.loc)) to_chat(user, "You cannot turn the light on while in this [user.loc]") @@ -56,7 +56,7 @@ else return ..(user) -/obj/item/weapon/shield/riot/explorer/proc/update_flashlight(var/mob/user = null) +/obj/item/shield/riot/explorer/proc/update_flashlight(var/mob/user = null) if(on && !light_applied) set_light(brightness_on) light_applied = 1 @@ -64,36 +64,36 @@ set_light(0) light_applied = 0 update_icon(user) - user.update_action_buttons() + user.update_mob_action_buttons() playsound(src, 'sound/weapons/empty.ogg', 15, 1, -3) -/obj/item/weapon/shield/riot/explorer/update_icon() +/obj/item/shield/riot/explorer/update_icon() if(on) icon_state = "explorer_shield_lighted" else icon_state = "explorer_shield" -/obj/item/weapon/shield/riot/explorer/purple +/obj/item/shield/riot/explorer/purple name = "purple explorer shield" // YW EDIT desc = "A shield issued to exploration teams to help protect them when advancing into the unknown. It is lighter and cheaper but less protective than some of its counterparts. It has a flashlight straight in the middle to help draw attention. This one is POURPEL" icon_state = "explorer_shield_P" -/obj/item/weapon/shield/riot/explorer/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W, /obj/item/weapon/material/knife/machete)) +/obj/item/shield/riot/explorer/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W, /obj/item/material/knife/machete)) if(cooldown < world.time - 25) - user.visible_message("[user] bashes [src] with [W]!") + user.visible_message(span_warning("[user] bashes [src] with [W]!")) playsound(src, 'sound/effects/shieldbash.ogg', 50, 1) cooldown = world.time else ..() -/obj/item/weapon/shield/riot/explorer/purple/update_icon() +/obj/item/shield/riot/explorer/purple/update_icon() if(on) icon_state = "explorer_shield_P_lighted" else icon_state = "explorer_shield_P" -/obj/item/weapon/shield/primitive +/obj/item/shield/primitive name = "primitive shield" desc = "A defensive object that is little more than planks strapped your arm" icon = 'icons/obj/weapons.dmi' diff --git a/code/game/objects/items/weapons/shields_yw.dm b/code/game/objects/items/weapons/shields_yw.dm index 4cb5bd7931b..d2589e9a56e 100644 --- a/code/game/objects/items/weapons/shields_yw.dm +++ b/code/game/objects/items/weapons/shields_yw.dm @@ -11,13 +11,13 @@ obj/item/weapon/shield/riot/stun w_class = ITEMSIZE_NORMAL var/active = 0 /* -/obj/item/weapon/shield/energy/IsShield() +/obj/item/shield/energy/IsShield() if(active) return 1 else return 0 */ -/obj/item/weapon/shield/riot/tele/attack_self(mob/living/user) +/obj/item/shield/riot/tele/attack_self(mob/living/user) active = !active icon_state = "teleriot[active]" playsound(src.loc, 'sound/weapons/empty.ogg', 50, 1) @@ -44,4 +44,3 @@ obj/item/weapon/shield/riot/stun add_fingerprint(user) return - diff --git a/code/game/objects/items/weapons/storage/backpack.dm b/code/game/objects/items/weapons/storage/backpack.dm index 345884f6d4e..1cf073b8f2f 100644 --- a/code/game/objects/items/weapons/storage/backpack.dm +++ b/code/game/objects/items/weapons/storage/backpack.dm @@ -2,7 +2,7 @@ * Backpack */ -/obj/item/weapon/storage/backpack +/obj/item/storage/backpack name = "backpack" desc = "You wear this on your back and put items into it." icon = 'icons/inventory/back/item.dmi' @@ -20,13 +20,13 @@ pickup_sound = 'sound/items/pickup/backpack.ogg' -/obj/item/weapon/storage/backpack/equipped(var/mob/user, var/slot) +/obj/item/storage/backpack/equipped(var/mob/user, var/slot) if (slot == slot_back && src.use_sound) playsound(src, src.use_sound, 50, 1, -5) ..(user, slot) /* -/obj/item/weapon/storage/backpack/dropped(mob/user as mob) +/obj/item/storage/backpack/dropped(mob/user as mob) if (loc == user && src.use_sound) playsound(src, src.use_sound, 50, 1, -5) ..(user) @@ -36,7 +36,7 @@ * Backpack Types */ -/obj/item/weapon/storage/backpack/holding +/obj/item/storage/backpack/holding name = "bag of holding" desc = "A backpack that opens into a localized pocket of Blue Space." origin_tech = list(TECH_BLUESPACE = 4) @@ -45,18 +45,18 @@ max_storage_space = ITEMSIZE_COST_NORMAL * 14 // 56 storage_cost = INVENTORY_STANDARD_SPACE + 1 -/obj/item/weapon/storage/backpack/holding/duffle +/obj/item/storage/backpack/holding/duffle name = "dufflebag of holding" var/tilted = 0 icon_state = "holdingduffle" - -/obj/item/weapon/storage/backpack/holding/duffle/Initialize() + +/obj/item/storage/backpack/holding/duffle/Initialize() . = ..() if(prob(50)) icon_state = "[icon_state]_tilted" tilted = 1 - -/obj/item/weapon/storage/backpack/holding/duffle/verb/tilt() + +/obj/item/storage/backpack/holding/duffle/verb/tilt() set name = "Adjust Duffelbag Angle" set desc = "Adjust the angle of your dufflebag for cosmetic effect" set category = "Object" @@ -74,20 +74,20 @@ update_icon() usr.update_inv_back() -/obj/item/weapon/storage/backpack/holding/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W, /obj/item/weapon/storage/backpack/holding)) - to_chat(user, "The Bluespace interfaces of the two devices conflict and malfunction.") +/obj/item/storage/backpack/holding/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W, /obj/item/storage/backpack/holding)) + to_chat(user, span_warning("The Bluespace interfaces of the two devices conflict and malfunction.")) qdel(W) return . = ..() //Please don't clutter the parent storage item with stupid hacks. -/obj/item/weapon/storage/backpack/holding/can_be_inserted(obj/item/W as obj, stop_messages = 0) - if(istype(W, /obj/item/weapon/storage/backpack/holding)) +/obj/item/storage/backpack/holding/can_be_inserted(obj/item/W as obj, stop_messages = 0) + if(istype(W, /obj/item/storage/backpack/holding)) return FALSE return ..() -/obj/item/weapon/storage/backpack/santabag +/obj/item/storage/backpack/santabag name = "\improper Santa's gift bag" desc = "Space Santa uses this to deliver toys to all the nice children in space in Christmas! Wow, it's pretty big!" icon_state = "giftbag0" @@ -96,69 +96,69 @@ max_w_class = ITEMSIZE_NORMAL max_storage_space = ITEMSIZE_COST_NORMAL * 100 // can store a ton of shit! -/obj/item/weapon/storage/backpack/cultpack +/obj/item/storage/backpack/cultpack name = "trophy rack" desc = "It's useful for both carrying extra gear and proudly declaring your insanity." icon_state = "backpack_cult" -/obj/item/weapon/storage/backpack/clown +/obj/item/storage/backpack/clown name = "Giggles von Honkerton" desc = "It's a backpack made by Honk! Co." icon_state = "backpack_clown" -/obj/item/weapon/storage/backpack/white +/obj/item/storage/backpack/white name = "white backpack" icon_state = "backpack_white" -/obj/item/weapon/storage/backpack/fancy +/obj/item/storage/backpack/fancy name = "fancy backpack" icon_state = "backpack_fancy" -/obj/item/weapon/storage/backpack/military +/obj/item/storage/backpack/military name = "military backpack" icon_state = "backpack_military" -/obj/item/weapon/storage/backpack/medic +/obj/item/storage/backpack/medic name = "medical backpack" desc = "It's a backpack especially designed for use in a sterile environment." icon_state = "backpack_medical" -/obj/item/weapon/storage/backpack/security +/obj/item/storage/backpack/security name = "security backpack" desc = "It's a very robust backpack." icon_state = "backpack_security" -/obj/item/weapon/storage/backpack/captain +/obj/item/storage/backpack/captain name = "site manager's backpack" desc = "It's a special backpack made exclusively for officers." icon_state = "backpack_captain" -/obj/item/weapon/storage/backpack/industrial +/obj/item/storage/backpack/industrial name = "industrial backpack" desc = "It's a tough backpack for the daily grind of station life." icon_state = "backpack_industrial" -/obj/item/weapon/storage/backpack/toxins +/obj/item/storage/backpack/toxins name = "laboratory backpack" desc = "It's a light backpack modeled for use in laboratories and other scientific institutions." icon_state = "backpack_purple" -/obj/item/weapon/storage/backpack/hydroponics +/obj/item/storage/backpack/hydroponics name = "herbalist's backpack" desc = "It's a green backpack with many pockets to store plants and tools in." icon_state = "backpack_hydro" -/obj/item/weapon/storage/backpack/genetics +/obj/item/storage/backpack/genetics name = "geneticist backpack" desc = "It's a backpack fitted with slots for diskettes and other workplace tools." icon_state = "backpack_blue" -/obj/item/weapon/storage/backpack/virology +/obj/item/storage/backpack/virology name = "sterile backpack" desc = "It's a sterile backpack able to withstand different pathogens from entering its fabric." icon_state = "backpack_green" -/obj/item/weapon/storage/backpack/chemistry +/obj/item/storage/backpack/chemistry name = "chemistry backpack" desc = "It's an orange backpack which was designed to hold beakers, pill bottles and bottles." icon_state = "backpack_orange" @@ -167,7 +167,7 @@ * Duffle Types */ -/obj/item/weapon/storage/backpack/dufflebag +/obj/item/storage/backpack/dufflebag name = "dufflebag" desc = "A large dufflebag for holding extra things." icon_state = "duffle" @@ -175,14 +175,14 @@ var/tilted = 0 var/can_tilt = 1 max_storage_space = INVENTORY_DUFFLEBAG_SPACE - -/obj/item/weapon/storage/backpack/dufflebag/Initialize() + +/obj/item/storage/backpack/dufflebag/Initialize() . = ..() if(prob(50)) icon_state = "[icon_state]_tilted" tilted = 1 - -/obj/item/weapon/storage/backpack/dufflebag/verb/tilt() + +/obj/item/storage/backpack/dufflebag/verb/tilt() set name = "Adjust Duffelbag Angle" set desc = "Adjust the angle of your dufflebag for cosmetic effect" set category = "Object" @@ -203,58 +203,58 @@ update_icon() usr.update_inv_back() -/obj/item/weapon/storage/backpack/dufflebag/syndie +/obj/item/storage/backpack/dufflebag/syndie name = "black dufflebag" desc = "A large dufflebag for holding extra tactical supplies. This one appears to be made out of lighter material than usual." icon_state = "duffle_syndie" slowdown = 0 -/obj/item/weapon/storage/backpack/dufflebag/syndie/med +/obj/item/storage/backpack/dufflebag/syndie/med name = "medical dufflebag" desc = "A large dufflebag for holding extra tactical medical supplies. This one appears to be made out of lighter material than usual." icon_state = "duffle_syndiemed" -/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo +/obj/item/storage/backpack/dufflebag/syndie/ammo name = "ammunition dufflebag" desc = "A large dufflebag for holding extra weapons ammunition and supplies. This one appears to be made out of lighter material than usual." icon_state = "duffle_syndieammo" -/obj/item/weapon/storage/backpack/dufflebag/captain +/obj/item/storage/backpack/dufflebag/captain name = "site manager's dufflebag" desc = "A large dufflebag for holding extra captainly goods." icon_state = "duffle_captain" -/obj/item/weapon/storage/backpack/dufflebag/med +/obj/item/storage/backpack/dufflebag/med name = "medical dufflebag" desc = "A large dufflebag for holding extra medical supplies." icon_state = "duffle_medical" -/obj/item/weapon/storage/backpack/dufflebag/emt +/obj/item/storage/backpack/dufflebag/emt name = "EMT dufflebag" desc = "A large dufflebag for holding extra medical supplies. This one has reflective stripes!" icon_state = "duffle_emt" -/obj/item/weapon/storage/backpack/dufflebag/sec +/obj/item/storage/backpack/dufflebag/sec name = "security dufflebag" desc = "A large dufflebag for holding extra security supplies and ammunition." icon_state = "duffle_security" -/obj/item/weapon/storage/backpack/dufflebag/eng +/obj/item/storage/backpack/dufflebag/eng name = "industrial dufflebag" desc = "A large dufflebag for holding extra tools and supplies." icon_state = "duffle_industrial" -/obj/item/weapon/storage/backpack/dufflebag/sci +/obj/item/storage/backpack/dufflebag/sci name = "science dufflebag" desc = "A large dufflebag for holding circuits and beakers." icon_state = "duffle_science" -/obj/item/weapon/storage/backpack/dufflebag/drone +/obj/item/storage/backpack/dufflebag/drone name = "drone dufflebag" desc = "A large dufflebag for holding small robots? Or maybe it's one used by robots!" icon_state = "duffle_drone" -/obj/item/weapon/storage/backpack/dufflebag/cursed +/obj/item/storage/backpack/dufflebag/cursed name = "cursed dufflebag" desc = "That probably shouldn't be moving..." icon_state = "duffle_curse" @@ -263,101 +263,101 @@ * Satchel Types */ -/obj/item/weapon/storage/backpack/satchel +/obj/item/storage/backpack/satchel name = "leather satchel" desc = "It's a very fancy satchel made with fine leather." icon_state = "satchel" -/obj/item/weapon/storage/backpack/satchel/withwallet - starts_with = list(/obj/item/weapon/storage/wallet/random) +/obj/item/storage/backpack/satchel/withwallet + starts_with = list(/obj/item/storage/wallet/random) -/obj/item/weapon/storage/backpack/satchel/norm +/obj/item/storage/backpack/satchel/norm name = "satchel" desc = "A trendy looking satchel." icon_state = "satchel_grey" -/obj/item/weapon/storage/backpack/satchel/white +/obj/item/storage/backpack/satchel/white name = "white satchel" icon_state = "satchel_white" -/obj/item/weapon/storage/backpack/satchel/fancy +/obj/item/storage/backpack/satchel/fancy name = "fancy satchel" icon_state = "satchel_fancy" -/obj/item/weapon/storage/backpack/satchel/military +/obj/item/storage/backpack/satchel/military name = "military satchel" icon_state = "satchel_military" -/obj/item/weapon/storage/backpack/satchel/eng +/obj/item/storage/backpack/satchel/eng name = "industrial satchel" desc = "A tough satchel with extra pockets." icon_state = "satchel_industrial" -/obj/item/weapon/storage/backpack/satchel/med +/obj/item/storage/backpack/satchel/med name = "medical satchel" desc = "A sterile satchel used in medical departments." icon_state = "satchel_medical" -/obj/item/weapon/storage/backpack/satchel/vir +/obj/item/storage/backpack/satchel/vir name = "virologist satchel" desc = "A sterile satchel with virologist colours." icon_state = "satchel_green" -/obj/item/weapon/storage/backpack/satchel/chem +/obj/item/storage/backpack/satchel/chem name = "chemist satchel" desc = "A sterile satchel with chemist colours." icon_state = "satchel_orange" -/obj/item/weapon/storage/backpack/satchel/gen +/obj/item/storage/backpack/satchel/gen name = "geneticist satchel" desc = "A sterile satchel with geneticist colours." icon_state = "satchel_blue" -/obj/item/weapon/storage/backpack/satchel/tox +/obj/item/storage/backpack/satchel/tox name = "scientist satchel" desc = "Useful for holding research materials." icon_state = "satchel_purple" -/obj/item/weapon/storage/backpack/satchel/sec +/obj/item/storage/backpack/satchel/sec name = "security satchel" desc = "A robust satchel for security related needs." icon_state = "satchel_security" -/obj/item/weapon/storage/backpack/satchel/hyd +/obj/item/storage/backpack/satchel/hyd name = "hydroponics satchel" desc = "A green satchel for plant related work." icon_state = "satchel_hydro" -/obj/item/weapon/storage/backpack/satchel/cap +/obj/item/storage/backpack/satchel/cap name = "site manager's satchel" desc = "An exclusive satchel for officers." icon_state = "satchel_captain" //ERT backpacks. -/obj/item/weapon/storage/backpack/ert +/obj/item/storage/backpack/ert name = "emergency response team backpack" desc = "A spacious backpack with lots of pockets, used by members of the Emergency Response Team." icon_state = "ert_commander" //Commander -/obj/item/weapon/storage/backpack/ert/commander +/obj/item/storage/backpack/ert/commander name = "emergency response team commander backpack" desc = "A spacious backpack with lots of pockets, worn by the commander of an Emergency Response Team." //Security -/obj/item/weapon/storage/backpack/ert/security +/obj/item/storage/backpack/ert/security name = "emergency response team security backpack" desc = "A spacious backpack with lots of pockets, worn by security members of an Emergency Response Team." icon_state = "ert_security" //Engineering -/obj/item/weapon/storage/backpack/ert/engineer +/obj/item/storage/backpack/ert/engineer name = "emergency response team engineer backpack" desc = "A spacious backpack with lots of pockets, worn by engineering members of an Emergency Response Team." icon_state = "ert_engineering" //Medical -/obj/item/weapon/storage/backpack/ert/medical +/obj/item/storage/backpack/ert/medical name = "emergency response team medical backpack" desc = "A spacious backpack with lots of pockets, worn by medical members of an Emergency Response Team." icon_state = "ert_medical" @@ -366,60 +366,60 @@ * Courier Bags */ -/obj/item/weapon/storage/backpack/messenger +/obj/item/storage/backpack/messenger name = "messenger bag" desc = "A sturdy backpack worn over one shoulder." icon_state = "courier" item_state_slots = list(slot_r_hand_str = "satchel_grey", slot_l_hand_str = "satchel_grey") -/obj/item/weapon/storage/backpack/messenger/chem +/obj/item/storage/backpack/messenger/chem name = "chemistry messenger bag" desc = "A serile backpack worn over one shoulder. This one is in Chemsitry colors." icon_state = "courier_chemistry" item_state_slots = list(slot_r_hand_str = "satchel_orange", slot_l_hand_str = "satchel_orange") -/obj/item/weapon/storage/backpack/messenger/med +/obj/item/storage/backpack/messenger/med name = "medical messenger bag" desc = "A sterile backpack worn over one shoulder used in medical departments." icon_state = "courier_medical" item_state_slots = list(slot_r_hand_str = "satchel_medical", slot_l_hand_str = "satchel_medical") -/obj/item/weapon/storage/backpack/messenger/viro +/obj/item/storage/backpack/messenger/viro name = "virology messenger bag" desc = "A sterile backpack worn over one shoulder. This one is in Virology colors." icon_state = "courier_virology" item_state_slots = list(slot_r_hand_str = "satchel_green", slot_l_hand_str = "satchel_green") -/obj/item/weapon/storage/backpack/messenger/tox +/obj/item/storage/backpack/messenger/tox name = "research messenger bag" desc = "A backpack worn over one shoulder. Useful for holding science materials." icon_state = "courier_toxins" item_state_slots = list(slot_r_hand_str = "satchel_purple", slot_l_hand_str = "satchel_purple") -/obj/item/weapon/storage/backpack/messenger/com +/obj/item/storage/backpack/messenger/com name = "command messenger bag" desc = "A special backpack worn over one shoulder. This one is made specifically for officers." icon_state = "courier_captain" item_state_slots = list(slot_r_hand_str = "satchel_captain", slot_l_hand_str = "satchel_captain") -/obj/item/weapon/storage/backpack/messenger/engi +/obj/item/storage/backpack/messenger/engi name = "engineering messenger bag" icon_state = "courier_industrial" item_state_slots = list(slot_r_hand_str = "satchel_industrial", slot_l_hand_str = "satchel_industrial") -/obj/item/weapon/storage/backpack/messenger/hyd +/obj/item/storage/backpack/messenger/hyd name = "hydroponics messenger bag" desc = "A backpack worn over one shoulder. This one is designed for plant-related work." icon_state = "courier_hydro" item_state_slots = list(slot_r_hand_str = "satchel_hydro", slot_l_hand_str = "satchel_hydro") -/obj/item/weapon/storage/backpack/messenger/sec +/obj/item/storage/backpack/messenger/sec name = "security messenger bag" desc = "A tactical backpack worn over one shoulder. This one is in Security colors." icon_state = "courier_security" item_state_slots = list(slot_r_hand_str = "satchel_security", slot_l_hand_str = "satchel_security") -/obj/item/weapon/storage/backpack/messenger/black +/obj/item/storage/backpack/messenger/black icon_state = "courier_black" @@ -427,50 +427,50 @@ * Sport Bags */ -/obj/item/weapon/storage/backpack/sport +/obj/item/storage/backpack/sport name = "sports backpack" icon_state = "backsport" -/obj/item/weapon/storage/backpack/sport/white +/obj/item/storage/backpack/sport/white name = "white sports backpack" icon_state = "backsport_white" -/obj/item/weapon/storage/backpack/sport/fancy +/obj/item/storage/backpack/sport/fancy name = "fancy sports backpack" icon_state = "backsport_fancy" -/obj/item/weapon/storage/backpack/sport/vir +/obj/item/storage/backpack/sport/vir name = "virologist sports backpack" desc = "A sterile sports backpack with virologist colours." icon_state = "backsport_green" -/obj/item/weapon/storage/backpack/sport/chem +/obj/item/storage/backpack/sport/chem name = "chemist sports backpack" desc = "A sterile sports backpack with chemist colours." icon_state = "backsport_orange" -/obj/item/weapon/storage/backpack/sport/gen +/obj/item/storage/backpack/sport/gen name = "geneticist sports backpack" desc = "A sterile sports backpack with geneticist colours." icon_state = "backsport_blue" -/obj/item/weapon/storage/backpack/sport/tox +/obj/item/storage/backpack/sport/tox name = "scientist sports backpack" desc = "Useful for holding research materials." icon_state = "backsport_purple" -/obj/item/weapon/storage/backpack/sport/sec +/obj/item/storage/backpack/sport/sec name = "security sports backpack" desc = "A robust sports backpack for security related needs." icon_state = "backsport_security" -/obj/item/weapon/storage/backpack/sport/hyd +/obj/item/storage/backpack/sport/hyd name = "hydroponics sports backpack" desc = "A green sports backpack for plant related work." icon_state = "backsport_hydro" //Purses -/obj/item/weapon/storage/backpack/purse +/obj/item/storage/backpack/purse name = "purse" desc = "A small, fashionable bag typically worn over the shoulder." icon_state = "purse" @@ -480,14 +480,14 @@ max_storage_space = ITEMSIZE_COST_NORMAL * 5 //Parachutes -/obj/item/weapon/storage/backpack/parachute +/obj/item/storage/backpack/parachute name = "parachute" desc = "A specially made backpack, designed to help one survive jumping from incredible heights. It sacrifices some storage space for that added functionality." icon_state = "parachute" item_state_slots = list(slot_r_hand_str = "backpack", slot_l_hand_str = "backpack") max_storage_space = ITEMSIZE_COST_NORMAL * 5 -/obj/item/weapon/storage/backpack/parachute/examine(mob/user) +/obj/item/storage/backpack/parachute/examine(mob/user) . = ..() if(Adjacent(user)) if(parachute) @@ -495,10 +495,10 @@ else . += "It seems to be unpacked." -/obj/item/weapon/storage/backpack/parachute/handleParachute() +/obj/item/storage/backpack/parachute/handleParachute() parachute = FALSE //If you parachute in, the parachute has probably been used. -/obj/item/weapon/storage/backpack/parachute/verb/pack_parachute() +/obj/item/storage/backpack/parachute/verb/pack_parachute() set name = "Pack/Unpack Parachute" set category = "Object" @@ -514,39 +514,39 @@ if(H.stat) return if(H.back == src) - to_chat(H, "How do you expect to work on \the [src] while it's on your back?") + to_chat(H, span_warning("How do you expect to work on \the [src] while it's on your back?")) return if(!parachute) //This packs the parachute - H.visible_message("\The [H] starts to pack \the [src]!", \ - "You start to pack \the [src]!", \ - "You hear the shuffling of cloth.") + H.visible_message(span_infoplain(span_bold("\The [H]") + " starts to pack \the [src]!"), \ + span_notice("You start to pack \the [src]!"), \ + span_infoplain("You hear the shuffling of cloth.")) if(do_after(H, 50)) - H.visible_message("\The [H] finishes packing \the [src]!", \ - "You finish packing \the [src]!", \ - "You hear the shuffling of cloth.") + H.visible_message(span_infoplain(span_bold("\The [H]") + " finishes packing \the [src]!"), \ + span_notice("You finish packing \the [src]!"), \ + span_infoplain("You hear the shuffling of cloth.")) parachute = TRUE else - H.visible_message("\The [src] gives up on packing \the [src]!", \ - "You give up on packing \the [src]!") + H.visible_message(span_infoplain(span_bold("\The [src]") + " gives up on packing \the [src]!"), \ + span_notice("You give up on packing \the [src]!")) return else //This unpacks the parachute - H.visible_message("\The [src] starts to unpack \the [src]!", \ - "You start to unpack \the [src]!", \ - "You hear the shuffling of cloth.") + H.visible_message(span_infoplain(span_bold("\The [src]") + " starts to unpack \the [src]!"), \ + span_notice("You start to unpack \the [src]!"), \ + span_infoplain("You hear the shuffling of cloth.")) if(do_after(H, 25)) - H.visible_message("\The [src] finishes unpacking \the [src]!", \ - "You finish unpacking \the [src]!", \ - "You hear the shuffling of cloth.") + H.visible_message(span_infoplain(span_bold("\The [src]") + " finishes unpacking \the [src]!"), \ + span_notice("You finish unpacking \the [src]!"), \ + span_infoplain("You hear the shuffling of cloth.")) parachute = FALSE else - H.visible_message("\The [src] decides not to unpack \the [src]!", \ - "You decide not to unpack \the [src]!") + H.visible_message(span_infoplain(span_bold("\The [src]") + " decides not to unpack \the [src]!"), \ + span_notice("You decide not to unpack \the [src]!")) return -/obj/item/weapon/storage/backpack/satchel/ranger +/obj/item/storage/backpack/satchel/ranger name = "ranger satchel" desc = "A satchel designed for the Go Go ERT Rangers series to allow for slightly bigger carry capacity for the ERT-Rangers.\ Unlike the show claims, it is not a phoron-enhanced satchel of holding with plot-relevant content." icon = 'icons/obj/clothing/ranger.dmi' - icon_state = "ranger_satchel" \ No newline at end of file + icon_state = "ranger_satchel" diff --git a/code/game/objects/items/weapons/storage/backpack_vr.dm b/code/game/objects/items/weapons/storage/backpack_vr.dm index 80c760c3f96..9b089e106e5 100644 --- a/code/game/objects/items/weapons/storage/backpack_vr.dm +++ b/code/game/objects/items/weapons/storage/backpack_vr.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/storage/backpack/saddlebag +/obj/item/storage/backpack/saddlebag name = "Horse Saddlebags" desc = "A saddle that holds items. Seems slightly bulky." icon = 'icons/inventory/back/item_vr.dmi' @@ -10,23 +10,23 @@ var/taurtype = /datum/sprite_accessory/tail/taur/horse //Acceptable taur type to be wearing this var/no_message = "You aren't the appropriate taur type to wear this!" -/obj/item/weapon/storage/backpack/saddlebag/mob_can_equip(var/mob/living/carbon/human/H, slot, disable_warning = 0) +/obj/item/storage/backpack/saddlebag/mob_can_equip(var/mob/living/carbon/human/H, slot, disable_warning = 0) if(..()) if(istype(H) && istype(H.tail_style, taurtype)) return 1 else - to_chat(H, "[no_message]") + to_chat(H, span_warning("[no_message]")) return 0 /* If anyone wants to make some... this is how you would. -/obj/item/weapon/storage/backpack/saddlebag/spider +/obj/item/storage/backpack/saddlebag/spider name = "Drider Saddlebags" item_state = "saddlebag_drider" icon_state = "saddlebag_drider" var/taurtype = /datum/sprite_accessory/tail/taur/spider */ -/obj/item/weapon/storage/backpack/saddlebag_common //Shared bag for other taurs with sturdy backs +/obj/item/storage/backpack/saddlebag_common //Shared bag for other taurs with sturdy backs name = "Taur Saddlebags" desc = "A saddle that holds items. Seems slightly bulky." icon = 'icons/inventory/back/item_vr.dmi' @@ -38,7 +38,7 @@ slowdown = 0.5 //And are slower, too... var/no_message = "You aren't the appropriate taur type to wear this!" -/obj/item/weapon/storage/backpack/saddlebag_common/mob_can_equip(var/mob/living/carbon/human/H, slot, disable_warning = 0) +/obj/item/storage/backpack/saddlebag_common/mob_can_equip(var/mob/living/carbon/human/H, slot, disable_warning = 0) if(..()) if(!istype(H))//Error, non HUMAN. log_runtime("[H] was not a valid human!") @@ -51,7 +51,7 @@ -/obj/item/weapon/storage/backpack/saddlebag_common/robust //Shared bag for other taurs with sturdy backs +/obj/item/storage/backpack/saddlebag_common/robust //Shared bag for other taurs with sturdy backs name = "Robust Saddlebags" desc = "A saddle that holds items. Seems robust." icon = 'icons/inventory/back/item_vr.dmi' @@ -60,7 +60,7 @@ icon_state = "robustsaddle" icon_base = "robustsaddle" -/obj/item/weapon/storage/backpack/saddlebag_common/vest //Shared bag for other taurs with sturdy backs +/obj/item/storage/backpack/saddlebag_common/vest //Shared bag for other taurs with sturdy backs name = "Taur Duty Vest" desc = "An armored vest with the armor modules replaced with various handy compartments with decent storage capacity. Useless for protection though. Holds less than a saddle." icon = 'icons/inventory/back/item_vr.dmi' @@ -71,29 +71,29 @@ max_storage_space = INVENTORY_STANDARD_SPACE slowdown = 0 -/obj/item/weapon/storage/backpack/dufflebag/fluff //Black dufflebag without syndie buffs. +/obj/item/storage/backpack/dufflebag/fluff //Black dufflebag without syndie buffs. name = "plain black dufflebag" desc = "A large dufflebag for holding extra tactical supplies." icon_state = "duffle_syndie" -/obj/item/weapon/storage/backpack +/obj/item/storage/backpack sprite_sheets = list( SPECIES_TESHARI = 'icons/inventory/back/mob_teshari.dmi', SPECIES_WEREBEAST = 'icons/inventory/back/mob_vr_werebeast.dmi') -/obj/item/weapon/storage/backpack/ert +/obj/item/storage/backpack/ert max_storage_space = INVENTORY_DUFFLEBAG_SPACE ///Exploration Bags/// -/obj/item/weapon/storage/backpack/explorer +/obj/item/storage/backpack/explorer name = "exploration backpack" desc = "A backpack for carrying a large number of supplies easily." icon = 'icons/inventory/back/item_vr.dmi' icon_override = 'icons/inventory/back/mob_vr.dmi' icon_state = "explorer" -/obj/item/weapon/storage/backpack/satchel/explorer +/obj/item/storage/backpack/satchel/explorer name = "exploration satchel" desc = "A satchel for carrying a large number of supplies easily." icon = 'icons/inventory/back/item_vr.dmi' @@ -101,7 +101,7 @@ icon_state = "explorer_satchel" item_state_slots = null -/obj/item/weapon/storage/backpack/messenger/explorer +/obj/item/storage/backpack/messenger/explorer name = "exploration messenger bag" desc = "A sturdy backpack worn over one shoulder." icon = 'icons/inventory/back/item_vr.dmi' @@ -109,7 +109,7 @@ icon_state = "explorer_courier" item_state_slots = null -/obj/item/weapon/storage/backpack/dufflebag/explorer +/obj/item/storage/backpack/dufflebag/explorer name = "exploration dufflebag" desc = "A large dufflebag for holding extra supplies." icon = 'icons/inventory/back/item_vr.dmi' @@ -118,14 +118,14 @@ ///Talon Bags/// -/obj/item/weapon/storage/backpack/talon +/obj/item/storage/backpack/talon name = "Talon backpack" desc = "A backpack for carrying a large number of supplies easily." icon = 'icons/inventory/back/item_vr.dmi' icon_override = 'icons/inventory/back/mob_vr.dmi' icon_state = "talon" -/obj/item/weapon/storage/backpack/satchel/talon +/obj/item/storage/backpack/satchel/talon name = "Talon satchel" desc = "A satchel for carrying a large number of supplies easily." icon = 'icons/inventory/back/item_vr.dmi' @@ -133,7 +133,7 @@ icon_state = "talon_satchel" item_state_slots = null -/obj/item/weapon/storage/backpack/messenger/talon +/obj/item/storage/backpack/messenger/talon name = "Talon messenger bag" desc = "A sturdy backpack worn over one shoulder." icon = 'icons/inventory/back/item_vr.dmi' @@ -141,7 +141,7 @@ icon_state = "talon_courier" item_state_slots = null -/obj/item/weapon/storage/backpack/dufflebag/talon +/obj/item/storage/backpack/dufflebag/talon name = "Talon dufflebag" desc = "A large dufflebag for holding extra supplies." icon = 'icons/inventory/back/item_vr.dmi' @@ -150,7 +150,7 @@ ///Roboticist Bags/// -/obj/item/weapon/storage/backpack/satchel/roboticist +/obj/item/storage/backpack/satchel/roboticist name = "roboticist satchel" desc = "A satchel for carrying a large number of spare parts easily." icon = 'icons/inventory/back/item_vr.dmi' @@ -158,7 +158,7 @@ item_state = "satchel-robo" icon_state = "satchel-robo" -/obj/item/weapon/storage/backpack/roboticist +/obj/item/storage/backpack/roboticist name = "roboticist backpack" desc = "A backpack for carrying a large number of spare parts easily." icon = 'icons/inventory/back/item_vr.dmi' @@ -168,7 +168,7 @@ ///Vintage Military Bags/// -/obj/item/weapon/storage/backpack/vietnam +/obj/item/storage/backpack/vietnam name = "vietnam backpack" desc = "There are tangos in the trees! We need napalm right now! Why is my gun jammed?" icon = 'icons/inventory/back/item_vr.dmi' @@ -176,7 +176,7 @@ item_state = "nambackpack" icon_state = "nambackpack" -/obj/item/weapon/storage/backpack/russian +/obj/item/storage/backpack/russian name = "russian backpack" desc = "Useful for carrying large quantities of vodka." icon = 'icons/inventory/back/item_vr.dmi' @@ -184,7 +184,7 @@ item_state = "ru_rucksack" icon_state = "ru_rucksack" -/obj/item/weapon/storage/backpack/korean +/obj/item/storage/backpack/korean name = "korean backpack" desc = "Insert witty description here." icon = 'icons/inventory/back/item_vr.dmi' @@ -194,11 +194,10 @@ //strapless -/obj/item/weapon/storage/backpack/satchel/strapless +/obj/item/storage/backpack/satchel/strapless name = "strapless satchel" desc = "A satchel for carrying a large number of supplies easily. Without Straps" icon = 'icons/inventory/back/item_vr.dmi' icon_override = 'icons/inventory/back/mob_vr.dmi' icon_state = "satchel_strapless" item_state_slots = null - diff --git a/code/game/objects/items/weapons/storage/bags.dm b/code/game/objects/items/weapons/storage/bags.dm index 3d26e518a19..ad934b0d035 100644 --- a/code/game/objects/items/weapons/storage/bags.dm +++ b/code/game/objects/items/weapons/storage/bags.dm @@ -25,7 +25,7 @@ // ----------------------------- // Generic non-item // ----------------------------- -/obj/item/weapon/storage/bag +/obj/item/storage/bag allow_quick_gather = 1 allow_quick_empty = 1 display_contents_with_number = 0 // UNStABLE AS FuCK, turn on when it stops crashing clients @@ -37,7 +37,7 @@ // ----------------------------- // Trash bag // ----------------------------- -/obj/item/weapon/storage/bag/trash +/obj/item/storage/bag/trash name = "trash bag" desc = "It's the heavy-duty black polymer kind. Time to take out the trash!" icon = 'icons/obj/janitor.dmi' @@ -50,9 +50,9 @@ max_w_class = ITEMSIZE_SMALL max_storage_space = ITEMSIZE_SMALL * 21 can_hold = list() // any - cant_hold = list(/obj/item/weapon/disk/nuclear) + cant_hold = list(/obj/item/disk/nuclear) -/obj/item/weapon/storage/bag/trash/update_icon() +/obj/item/storage/bag/trash/update_icon() if(contents.len == 0) icon_state = "trashbag0" else if(contents.len < 9) @@ -61,7 +61,7 @@ icon_state = "trashbag2" else icon_state = "trashbag3" -/obj/item/weapon/storage/bag/trash/holding +/obj/item/storage/bag/trash/holding name = "trash bag of holding" desc = "The latest and greatest in custodial convenience, a trashbag that is capable of holding vast quantities of garbage." icon_state = "bluetrashbag" @@ -69,13 +69,13 @@ max_w_class = ITEMSIZE_NORMAL max_storage_space = ITEMSIZE_COST_NORMAL * 10 // Slightly less than BoH -/obj/item/weapon/storage/bag/trash/holding/update_icon() +/obj/item/storage/bag/trash/holding/update_icon() return // ----------------------------- // Plastic Bag // ----------------------------- -/obj/item/weapon/storage/bag/plasticbag +/obj/item/storage/bag/plasticbag name = "plastic bag" desc = "It's a very flimsy, very noisy alternative to a bag." icon = 'icons/obj/trash.dmi' @@ -86,7 +86,7 @@ w_class = ITEMSIZE_LARGE max_w_class = ITEMSIZE_SMALL can_hold = list() // any - cant_hold = list(/obj/item/weapon/disk/nuclear) + cant_hold = list(/obj/item/disk/nuclear) // ----------------------------- // Mining Satchel @@ -95,7 +95,7 @@ * Mechoid - Orebags are the most common quick-gathering thing, and also have tons of lag associated with it. * Their checks are going to be hyper-simplified due to this, and their INCREDIBLY singular target contents. */ -/obj/item/weapon/storage/bag/ore +/obj/item/storage/bag/ore name = "mining satchel" desc = "This little bugger can be used to store and transport ores." icon = 'icons/obj/mining.dmi' @@ -104,7 +104,7 @@ w_class = ITEMSIZE_NORMAL max_storage_space = ITEMSIZE_COST_NORMAL * 25 max_w_class = ITEMSIZE_NORMAL - can_hold = list(/obj/item/weapon/ore) + can_hold = list(/obj/item/ore) var/current_capacity = 0 var/max_pickup = 100 //How much ore can be picked up in one go. There to prevent someone from walking on a turf with 10000 ore and making the server cry. var/list/stored_ore = list( @@ -130,25 +130,25 @@ "rutile" = 0) var/last_update = 0 -/obj/item/weapon/storage/bag/ore/holding +/obj/item/storage/bag/ore/holding name = "mining satchel of holding" desc = "Like a mining satchel, but when you put your hand in, you're pretty sure you can feel time itself." icon_state = "satchel_bspace" max_storage_space = ITEMSIZE_COST_NORMAL * 15000 // This should never, ever, ever be reached. -/obj/item/weapon/storage/bag/ore/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/item/storage/bag/ore/attackby(obj/item/W as obj, mob/user as mob) if(current_capacity >= max_storage_space) - to_chat(user, "\the [src] is too full to possibly fit anything else inside of it.") + to_chat(user, span_notice("\the [src] is too full to possibly fit anything else inside of it.")) return - if (istype(W, /obj/item/weapon/ore)) - var/obj/item/weapon/ore/ore = W + if (istype(W, /obj/item/ore) && !istype(W, /obj/item/ore/slag)) + var/obj/item/ore/ore = W stored_ore[ore.material]++ current_capacity++ user.remove_from_mob(W) qdel(ore) -/obj/item/weapon/storage/bag/ore/remove_from_storage(obj/item/W as obj, atom/new_location) +/obj/item/storage/bag/ore/remove_from_storage(obj/item/W as obj, atom/new_location) if(!istype(W)) return 0 if(new_location) @@ -166,19 +166,21 @@ update_icon() return 1 -/obj/item/weapon/storage/bag/ore/gather_all(turf/T as turf, mob/user as mob, var/silent = 0) +/obj/item/storage/bag/ore/gather_all(turf/T as turf, mob/user as mob, var/silent = 0) var/success = 0 var/failure = 0 var/current_pickup = 0 var/max_pickup_reached = 0 - for(var/obj/item/weapon/ore/O in T) //Only ever grabs ores. Doesn't do any extraneous checks, as all ore is the same size. Tons of checks means it causes hanging for up to three seconds. + for(var/obj/item/ore/O in T) //Only ever grabs ores. Doesn't do any extraneous checks, as all ore is the same size. Tons of checks means it causes hanging for up to three seconds. if(current_capacity >= max_storage_space) failure = 1 break if(current_pickup >= max_pickup) max_pickup_reached = 1 break - var/obj/item/weapon/ore/ore = O + if(istype(O, /obj/item/ore/slag)) + continue + var/obj/item/ore/ore = O stored_ore[ore.material]++ current_capacity++ current_pickup++ @@ -186,13 +188,13 @@ success = 1 if(!silent) //Let's do a single check and then do more instead of a bunch at once. if(success && !failure && !max_pickup_reached) //Picked stuff up, did not reach capacity, did not reach max_pickup. - to_chat(user, "You put everything in [src].") + to_chat(user, span_notice("You put everything in [src].")) else if(success && failure) //Picked stuff up to capacity. - to_chat(user, "You fill the [src].") + to_chat(user, span_notice("You fill the [src].")) else if(success && max_pickup_reached) //Picked stuff up to the max_pickup - to_chat(user, "You fill the [src] with as much as you can grab in one go.") + to_chat(user, span_notice("You fill the [src] with as much as you can grab in one go.")) else //Failed. The bag is full. - to_chat(user, "You fail to pick anything up with \the [src].") + to_chat(user, span_notice("You fail to pick anything up with \the [src].")) if(istype(user.pulling, /obj/structure/ore_box)) //Bit of a crappy way to do this, as it doubles spam for the user, but it works. //Then let me fix it. ~CL. var/obj/structure/ore_box/OB = user.pulling for(var/ore in stored_ore) @@ -203,31 +205,31 @@ current_capacity = 0 // Set the amount of ore in the satchel to 0. current_pickup = 0 -/obj/item/weapon/storage/bag/ore/equipped(mob/user) +/obj/item/storage/bag/ore/equipped(mob/user) ..() if(user.get_inventory_slot(src) == slot_wear_suit || slot_l_hand || slot_l_hand || slot_belt) //Basically every place they can go. Makes sure it doesn't unregister if moved to other slots. user.AddComponent(/datum/component/recursive_move) - RegisterSignal(user, COMSIG_OBSERVER_MOVED, /obj/item/weapon/storage/bag/ore/proc/autoload, user, override = TRUE) + RegisterSignal(user, COMSIG_OBSERVER_MOVED, /obj/item/storage/bag/ore/proc/autoload, user, override = TRUE) -/obj/item/weapon/storage/bag/ore/dropped(mob/user) +/obj/item/storage/bag/ore/dropped(mob/user) ..() if(user.get_inventory_slot(src) == slot_wear_suit || slot_l_hand || slot_l_hand || slot_belt) //See above. This should really be a define. user.AddComponent(/datum/component/recursive_move) - RegisterSignal(user, COMSIG_OBSERVER_MOVED, /obj/item/weapon/storage/bag/ore/proc/autoload, user, override = TRUE) + RegisterSignal(user, COMSIG_OBSERVER_MOVED, /obj/item/storage/bag/ore/proc/autoload, user, override = TRUE) else UnregisterSignal(user, COMSIG_OBSERVER_MOVED) -/obj/item/weapon/storage/bag/ore/proc/autoload(mob/user) - var/obj/item/weapon/ore/O = locate() in get_turf(src) +/obj/item/storage/bag/ore/proc/autoload(mob/user) + var/obj/item/ore/O = locate() in get_turf(src) if(O) gather_all(get_turf(src), user) -/obj/item/weapon/storage/bag/ore/proc/rangedload(atom/A, mob/user) - var/obj/item/weapon/ore/O = locate() in get_turf(A) +/obj/item/storage/bag/ore/proc/rangedload(atom/A, mob/user) + var/obj/item/ore/O = locate() in get_turf(A) if(O) gather_all(get_turf(A), user) -/obj/item/weapon/storage/bag/ore/examine(mob/user) +/obj/item/storage/bag/ore/examine(mob/user) . = ..() if(!Adjacent(user)) //Can only check the contents of ore bags if you can physically reach them. @@ -236,22 +238,22 @@ if(istype(user, /mob/living)) add_fingerprint(user) - . += "It holds:" + . += span_notice("It holds:") var/has_ore = 0 for(var/ore in stored_ore) if(stored_ore[ore] > 0) - . += "- [stored_ore[ore]] [ore]" + . += span_notice("- [stored_ore[ore]] [ore]") has_ore = 1 if(!has_ore) . += "Nothing." -/obj/item/weapon/storage/bag/ore/open(mob/user as mob) //No opening it for the weird UI of having shit-tons of ore inside it. +/obj/item/storage/bag/ore/open(mob/user as mob) //No opening it for the weird UI of having shit-tons of ore inside it. user.examinate(src) // ----------------------------- // Plant bag // ----------------------------- -/obj/item/weapon/storage/bag/plants +/obj/item/storage/bag/plants name = "plant bag" icon = 'icons/obj/hydroponics_machines_vr.dmi' icon_state = "plantbag" @@ -259,9 +261,9 @@ max_storage_space = ITEMSIZE_COST_NORMAL * 25 max_w_class = ITEMSIZE_NORMAL w_class = ITEMSIZE_SMALL - can_hold = list(/obj/item/weapon/reagent_containers/food/snacks/grown,/obj/item/seeds,/obj/item/weapon/grown) + can_hold = list(/obj/item/reagent_containers/food/snacks/grown,/obj/item/seeds,/obj/item/grown) -/obj/item/weapon/storage/bag/plants/large +/obj/item/storage/bag/plants/large name = "large plant bag" icon_state = "large_plantbag" desc = "A large and sturdy bag used to transport fresh produce with ease." @@ -273,7 +275,7 @@ // Because it stacks stacks, this doesn't operate normally. // However, making it a storage/bag allows us to reuse existing code in some places. -Sayu -/obj/item/weapon/storage/bag/sheetsnatcher +/obj/item/storage/bag/sheetsnatcher name = "sheet snatcher" icon = 'icons/obj/mining.dmi' icon_state = "sheetsnatcher" @@ -285,7 +287,7 @@ allow_quick_empty = 1 // this function is superceded -/obj/item/weapon/storage/bag/sheetsnatcher/can_be_inserted(obj/item/W as obj, stop_messages = 0) +/obj/item/storage/bag/sheetsnatcher/can_be_inserted(obj/item/W as obj, stop_messages = 0) if(!istype(W,/obj/item/stack/material)) if(!stop_messages) to_chat(usr, "The snatcher does not accept [W].") @@ -295,13 +297,13 @@ current += S.get_amount() if(capacity == current)//If it's full, you're done if(!stop_messages) - to_chat(usr, "The snatcher is full.") + to_chat(usr, span_warning("The snatcher is full.")) return 0 return 1 // Modified handle_item_insertion. Would prefer not to, but... -/obj/item/weapon/storage/bag/sheetsnatcher/handle_item_insertion(obj/item/W as obj, prevent_warning = 0) +/obj/item/storage/bag/sheetsnatcher/handle_item_insertion(obj/item/W as obj, prevent_warning = 0) var/obj/item/stack/material/S = W if(!istype(S)) return 0 @@ -338,7 +340,7 @@ // Sets up numbered display to show the stack size of each stored mineral // NOTE: numbered display is turned off currently because it's broken -/obj/item/weapon/storage/bag/sheetsnatcher/orient2hud(mob/user as mob) +/obj/item/storage/bag/sheetsnatcher/orient2hud(mob/user as mob) var/adjusted_contents = contents.len //Numbered contents display @@ -360,7 +362,7 @@ return // Modified quick_empty verb drops appropriate sized stacks -/obj/item/weapon/storage/bag/sheetsnatcher/quick_empty() +/obj/item/storage/bag/sheetsnatcher/quick_empty() var/location = get_turf(src) for(var/obj/item/stack/material/S in contents) var/cur_amount = S.get_amount() @@ -377,7 +379,7 @@ update_icon() // Instead of removing -/obj/item/weapon/storage/bag/sheetsnatcher/remove_from_storage(obj/item/W as obj, atom/new_location) +/obj/item/storage/bag/sheetsnatcher/remove_from_storage(obj/item/W as obj, atom/new_location) var/obj/item/stack/material/S = W if(!istype(S)) return 0 @@ -397,7 +399,7 @@ // Sheet Snatcher (Cyborg) // ----------------------------- -/obj/item/weapon/storage/bag/sheetsnatcher/borg +/obj/item/storage/bag/sheetsnatcher/borg name = "sheet snatcher 9000" desc = null capacity = 500//Borgs get more because >specialization @@ -406,7 +408,7 @@ // Cash Bag // ----------------------------- -/obj/item/weapon/storage/bag/cash +/obj/item/storage/bag/cash name = "cash bag" icon = 'icons/obj/storage.dmi' icon_state = "cashbag" @@ -414,25 +416,25 @@ max_storage_space = ITEMSIZE_COST_NORMAL * 25 max_w_class = ITEMSIZE_NORMAL w_class = ITEMSIZE_SMALL - can_hold = list(/obj/item/weapon/coin,/obj/item/weapon/spacecash,/obj/item/weapon/spacecasinocash) + can_hold = list(/obj/item/coin,/obj/item/spacecash,/obj/item/spacecasinocash) // ----------------------------- // Chemistry Bag // ----------------------------- -/obj/item/weapon/storage/bag/chemistry +/obj/item/storage/bag/chemistry name = "chemistry bag" icon = 'icons/obj/storage_vr.dmi' icon_state = "chembag" desc = "A bag for storing pills, patches, and bottles." max_storage_space = 200 w_class = ITEMSIZE_LARGE - slowdown = 3 - can_hold = list(/obj/item/weapon/reagent_containers/pill,/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/glass/bottle) + slowdown = 1 //you probably shouldn't be running with chemicals + can_hold = list(/obj/item/reagent_containers/pill,/obj/item/reagent_containers/glass/beaker,/obj/item/reagent_containers/glass/bottle) // ----------------------------- // Xeno Bag // ----------------------------- -/obj/item/weapon/storage/bag/xeno +/obj/item/storage/bag/xeno name = "xenobiology bag" icon = 'icons/obj/storage_vr.dmi' icon_state = "xenobag" @@ -440,12 +442,12 @@ max_storage_space = ITEMSIZE_COST_SMALL * 12 max_w_class = ITEMSIZE_NORMAL w_class = ITEMSIZE_SMALL - can_hold = list(/obj/item/slime_extract,/obj/item/slimepotion, /obj/item/weapon/reagent_containers/food/snacks/monkeycube) + can_hold = list(/obj/item/slime_extract,/obj/item/slimepotion, /obj/item/reagent_containers/food/snacks/monkeycube) // ----------------------------- // Virology Bag // ----------------------------- -/obj/item/weapon/storage/bag/virology +/obj/item/storage/bag/virology name = "virology bag" icon = 'icons/obj/storage_vr.dmi' icon_state = "biobag" @@ -453,12 +455,12 @@ max_storage_space = ITEMSIZE_COST_SMALL * 12 max_w_class = ITEMSIZE_NORMAL w_class = ITEMSIZE_SMALL - can_hold = list(/obj/item/weapon/reagent_containers/glass/beaker/vial/,/obj/item/weapon/virusdish/) + can_hold = list(/obj/item/reagent_containers/glass/beaker/vial/) // ----------------------------- // Food Bag // ----------------------------- -/obj/item/weapon/storage/bag/food +/obj/item/storage/bag/food name = "food bag" icon = 'icons/obj/storage_vr.dmi' icon_state = "foodbag" @@ -466,12 +468,12 @@ max_storage_space = ITEMSIZE_COST_NORMAL * 25 max_w_class = ITEMSIZE_NORMAL w_class = ITEMSIZE_SMALL - can_hold = list(/obj/item/weapon/reagent_containers/food/snacks,/obj/item/weapon/reagent_containers/food/condiment) + can_hold = list(/obj/item/reagent_containers/food/snacks,/obj/item/reagent_containers/food/condiment) // ----------------------------- // Food Bag (Service Hound) // ----------------------------- -/obj/item/weapon/storage/bag/serviceborg +/obj/item/storage/bag/serviceborg name = "service bag" icon = 'icons/obj/storage_vr.dmi' icon_state = "foodbag" @@ -479,14 +481,14 @@ max_storage_space = ITEMSIZE_COST_NORMAL * 25 max_w_class = ITEMSIZE_NORMAL w_class = ITEMSIZE_SMALL - can_hold = list(/obj/item/weapon/reagent_containers/food/snacks,/obj/item/weapon/reagent_containers/food/condiment, - /obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/glass/bottle,/obj/item/weapon/coin,/obj/item/weapon/spacecash, - /obj/item/weapon/reagent_containers/food/snacks/grown,/obj/item/seeds,/obj/item/weapon/grown,/obj/item/weapon/reagent_containers/pill) + can_hold = list(/obj/item/reagent_containers/food/snacks,/obj/item/reagent_containers/food/condiment, + /obj/item/reagent_containers/glass/beaker,/obj/item/reagent_containers/glass/bottle,/obj/item/coin,/obj/item/spacecash, + /obj/item/reagent_containers/food/snacks/grown,/obj/item/seeds,/obj/item/grown,/obj/item/reagent_containers/pill) // ----------------------------- // Evidence Bag // ----------------------------- -/obj/item/weapon/storage/bag/detective +/obj/item/storage/bag/detective name = "secure satchel" icon = 'icons/obj/storage_vr.dmi' icon_state = "detbag" @@ -494,4 +496,4 @@ max_storage_space = ITEMSIZE_COST_NORMAL * 15 max_w_class = ITEMSIZE_NORMAL w_class = ITEMSIZE_SMALL - can_hold = list(/obj/item/weapon/forensics/swab,/obj/item/weapon/sample/print,/obj/item/weapon/sample/fibers,/obj/item/weapon/evidencebag) + can_hold = list(/obj/item/forensics/swab,/obj/item/sample/print,/obj/item/sample/fibers,/obj/item/evidencebag) diff --git a/code/game/objects/items/weapons/storage/bags_vr.dm b/code/game/objects/items/weapons/storage/bags_vr.dm index 6f9d0a0b151..0f6368f9ace 100644 --- a/code/game/objects/items/weapons/storage/bags_vr.dm +++ b/code/game/objects/items/weapons/storage/bags_vr.dm @@ -1,2 +1,2 @@ -/obj/item/weapon/storage/bag/chemistry +/obj/item/storage/bag/chemistry slot_flags = null diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm index 53cff1878f8..36f22f6f452 100644 --- a/code/game/objects/items/weapons/storage/belt.dm +++ b/code/game/objects/items/weapons/storage/belt.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/storage/belt +/obj/item/storage/belt name = "belt" desc = "Can hold various things." icon = 'icons/inventory/belt/item.dmi' @@ -15,18 +15,18 @@ var/show_above_suit = 0 -/obj/item/weapon/storage/belt/verb/toggle_layer() +/obj/item/storage/belt/verb/toggle_layer() set name = "Switch Belt Layer" set category = "Object" if(show_above_suit == -1) - to_chat(usr, "\The [src] cannot be worn above your suit!") + to_chat(usr, span_notice("\The [src] cannot be worn above your suit!")) return show_above_suit = !show_above_suit update_icon() //Some belts have sprites to show icons -/obj/item/weapon/storage/belt/make_worn_icon(var/body_type,var/slot_name,var/inhands,var/default_icon,var/default_layer = 0,var/icon/clip_mask = null) +/obj/item/storage/belt/make_worn_icon(var/body_type,var/slot_name,var/inhands,var/default_icon,var/default_layer = 0,var/icon/clip_mask = null) var/image/standing = ..() if(!inhands && contents.len) for(var/obj/item/i in contents) @@ -38,344 +38,347 @@ standing.add_overlay(add_icon) return standing -/obj/item/weapon/storage/update_icon() +/obj/item/storage/update_icon() if (ismob(src.loc)) var/mob/M = src.loc M.update_inv_belt() -/obj/item/weapon/storage/belt/utility +/obj/item/storage/belt/utility name = "tool-belt" //Carn: utility belt is nicer, but it bamboozles the text parsing. desc = "Can hold various tools." icon_state = "utility" can_hold = list( - ///obj/item/weapon/combitool, - /obj/item/weapon/tool/crowbar, - /obj/item/weapon/tool/screwdriver, - /obj/item/weapon/weldingtool, - /obj/item/weapon/tool/wirecutters, - /obj/item/weapon/tool/wrench, - /obj/item/weapon/tool/transforming/powerdrill, - /obj/item/weapon/tool/transforming/jawsoflife, - /obj/item/device/multitool, - /obj/item/device/flashlight, - /obj/item/weapon/cell/device, + ///obj/item/combitool, + /obj/item/tool/crowbar, + /obj/item/tool/screwdriver, + /obj/item/weldingtool, + /obj/item/tool/wirecutters, + /obj/item/tool/wrench, + /obj/item/tool/transforming/powerdrill, + /obj/item/tool/transforming/jawsoflife, + /obj/item/multitool, + /obj/item/flashlight, + /obj/item/cell/device, /obj/item/stack/cable_coil, - /obj/item/device/t_scanner, - /obj/item/device/analyzer, + /obj/item/t_scanner, + /obj/item/analyzer, /obj/item/clothing/glasses, /obj/item/clothing/gloves, - /obj/item/device/pda, - /obj/item/device/megaphone, + /obj/item/pda, + /obj/item/megaphone, /obj/item/taperoll, - /obj/item/device/radio/headset, - /obj/item/device/robotanalyzer, - /obj/item/weapon/material/minihoe, - /obj/item/weapon/material/knife/machete/hatchet, - /obj/item/device/analyzer/plant_analyzer, - /obj/item/weapon/extinguisher/mini, - /obj/item/weapon/tape_roll, - /obj/item/device/integrated_electronics/wirer, - /obj/item/device/integrated_electronics/debugger, //Vorestation edit adding debugger to toolbelt can hold list - /obj/item/weapon/shovel/spade, //VOREStation edit. If it can hold minihoes and hatchers, why not the gardening spade? + /obj/item/radio/headset, + /obj/item/robotanalyzer, + /obj/item/material/minihoe, + /obj/item/material/knife/machete/hatchet, + /obj/item/analyzer/plant_analyzer, + /obj/item/extinguisher/mini, + /obj/item/tape_roll, + /obj/item/integrated_electronics/wirer, + /obj/item/integrated_electronics/debugger, //Vorestation edit adding debugger to toolbelt can hold list + /obj/item/shovel/spade, //VOREStation edit. If it can hold minihoes and hatchers, why not the gardening spade? /obj/item/stack/nanopaste, //VOREStation edit. Think of it as a tube of superglue. Belts hold that all the time. - /obj/item/device/geiger //VOREStation edit. Engineers work with rad-slinging stuff sometimes too + /obj/item/geiger //VOREStation edit. Engineers work with rad-slinging stuff sometimes too ) -/obj/item/weapon/storage/belt/utility/full +/obj/item/storage/belt/utility/full starts_with = list( - /obj/item/weapon/tool/screwdriver, - /obj/item/weapon/tool/wrench, - /obj/item/weapon/weldingtool, - /obj/item/weapon/tool/crowbar, - /obj/item/weapon/tool/wirecutters, + /obj/item/tool/screwdriver, + /obj/item/tool/wrench, + /obj/item/weldingtool, + /obj/item/tool/crowbar, + /obj/item/tool/wirecutters, /obj/item/stack/cable_coil/random_belt ) -/obj/item/weapon/storage/belt/utility/full/multitool +/obj/item/storage/belt/utility/full/multitool starts_with = list( - /obj/item/weapon/tool/screwdriver, - /obj/item/weapon/tool/wrench, - /obj/item/weapon/weldingtool, - /obj/item/weapon/tool/crowbar, - /obj/item/weapon/tool/wirecutters, + /obj/item/tool/screwdriver, + /obj/item/tool/wrench, + /obj/item/weldingtool, + /obj/item/tool/crowbar, + /obj/item/tool/wirecutters, /obj/item/stack/cable_coil/random_belt, - /obj/item/device/multitool + /obj/item/multitool ) -/obj/item/weapon/storage/belt/utility/atmostech +/obj/item/storage/belt/utility/atmostech starts_with = list( - /obj/item/weapon/tool/screwdriver, - /obj/item/weapon/tool/wrench, - /obj/item/weapon/weldingtool, - /obj/item/weapon/tool/crowbar, - /obj/item/weapon/tool/wirecutters, - /obj/item/device/analyzer, //Vorestation edit. Gives atmos techs a few extra tools fitting their job from the start - /obj/item/weapon/extinguisher/mini //Vorestation edit. As above, the mini's much more handy to have rather than lugging a big one around + /obj/item/tool/screwdriver, + /obj/item/tool/wrench, + /obj/item/weldingtool, + /obj/item/tool/crowbar, + /obj/item/tool/wirecutters, + /obj/item/analyzer, //Vorestation edit. Gives atmos techs a few extra tools fitting their job from the start + /obj/item/extinguisher/mini //Vorestation edit. As above, the mini's much more handy to have rather than lugging a big one around ) -/obj/item/weapon/storage/belt/utility/chief +/obj/item/storage/belt/utility/chief name = "chief engineer's toolbelt" desc = "Holds tools, looks snazzy." icon_state = "utilitybelt_ce" item_state = "utility_ce" storage_slots = 8 //If they get better everything-else, why not the belt too? can_hold = list( - /obj/item/weapon/rcd, //They've given one from the get-go, it's hard to imagine they wouldn't be given something that can store it neater than a bag - /obj/item/weapon/tool/crowbar, - /obj/item/weapon/tool/screwdriver, - /obj/item/weapon/weldingtool, - /obj/item/weapon/tool/wirecutters, - /obj/item/weapon/tool/wrench, - /obj/item/weapon/tool/transforming/powerdrill, - /obj/item/weapon/tool/transforming/jawsoflife, - /obj/item/device/multitool, - /obj/item/device/flashlight, - /obj/item/weapon/cell/device, + /obj/item/rcd, //They've given one from the get-go, it's hard to imagine they wouldn't be given something that can store it neater than a bag + /obj/item/tool/crowbar, + /obj/item/tool/screwdriver, + /obj/item/weldingtool, + /obj/item/tool/wirecutters, + /obj/item/tool/wrench, + /obj/item/tool/transforming/powerdrill, + /obj/item/tool/transforming/jawsoflife, + /obj/item/multitool, + /obj/item/flashlight, + /obj/item/cell/device, /obj/item/stack/cable_coil, - /obj/item/device/t_scanner, - /obj/item/device/analyzer, + /obj/item/t_scanner, + /obj/item/analyzer, /obj/item/clothing/glasses, /obj/item/clothing/gloves, - /obj/item/device/pda, - /obj/item/device/megaphone, + /obj/item/pda, + /obj/item/megaphone, /obj/item/taperoll, - /obj/item/device/radio/headset, - /obj/item/device/robotanalyzer, - /obj/item/weapon/material/minihoe, - /obj/item/weapon/material/knife/machete/hatchet, - /obj/item/device/analyzer/plant_analyzer, - /obj/item/weapon/extinguisher/mini, - /obj/item/weapon/tape_roll, - /obj/item/device/integrated_electronics/wirer, - /obj/item/device/integrated_electronics/debugger, - /obj/item/weapon/shovel/spade, + /obj/item/radio/headset, + /obj/item/robotanalyzer, + /obj/item/material/minihoe, + /obj/item/material/knife/machete/hatchet, + /obj/item/analyzer/plant_analyzer, + /obj/item/extinguisher/mini, + /obj/item/tape_roll, + /obj/item/integrated_electronics/wirer, + /obj/item/integrated_electronics/debugger, + /obj/item/shovel/spade, /obj/item/stack/nanopaste, - /obj/item/device/geiger, + /obj/item/geiger, /obj/item/areaeditor/blueprints, //It's a bunch of paper that could prolly be rolled up & slipped into the belt, not to mention CE only, see the RCD's thing above /obj/item/wire_reader //As above ) -/obj/item/weapon/storage/belt/utility/chief/full +/obj/item/storage/belt/utility/chief/full starts_with = list( - /obj/item/weapon/tool/transforming/powerdrill, - /obj/item/weapon/tool/transforming/jawsoflife, - /obj/item/weapon/weldingtool/experimental, - /obj/item/device/multitool, + /obj/item/tool/transforming/powerdrill, + /obj/item/tool/transforming/jawsoflife, + /obj/item/weldingtool/experimental, + /obj/item/multitool, /obj/item/stack/cable_coil/random_belt, - /obj/item/weapon/extinguisher/mini, - /obj/item/device/analyzer + /obj/item/extinguisher/mini, + /obj/item/analyzer ) -/obj/item/weapon/storage/belt/utility/holding +/obj/item/storage/belt/utility/holding name = "tool-belt of holding" desc = "A belt that uses localized bluespace pockets to hold more items than expected!" icon_state = "utility_holding" storage_slots = 14 //twice the amount as a normal belt max_storage_space = ITEMSIZE_COST_NORMAL * 14 can_hold = list( - /obj/item/weapon/tool/crowbar, - /obj/item/weapon/tool/screwdriver, - /obj/item/weapon/weldingtool, - /obj/item/weapon/tool/wirecutters, - /obj/item/weapon/tool/wrench, - /obj/item/weapon/tool/transforming/powerdrill, - /obj/item/weapon/tool/transforming/jawsoflife, - /obj/item/device/multitool, - /obj/item/device/flashlight, - /obj/item/weapon/cell/device, + /obj/item/tool/crowbar, + /obj/item/tool/screwdriver, + /obj/item/weldingtool, + /obj/item/tool/wirecutters, + /obj/item/tool/wrench, + /obj/item/tool/transforming/powerdrill, + /obj/item/tool/transforming/jawsoflife, + /obj/item/multitool, + /obj/item/flashlight, + /obj/item/cell/device, /obj/item/stack/cable_coil, - /obj/item/device/t_scanner, - /obj/item/device/analyzer, + /obj/item/t_scanner, + /obj/item/analyzer, /obj/item/clothing/glasses, /obj/item/clothing/gloves, - /obj/item/device/pda, - /obj/item/device/megaphone, + /obj/item/pda, + /obj/item/megaphone, /obj/item/taperoll, - /obj/item/device/radio/headset, - /obj/item/device/robotanalyzer, - /obj/item/weapon/material/minihoe, - /obj/item/weapon/material/knife/machete/hatchet, - /obj/item/device/analyzer/plant_analyzer, - /obj/item/weapon/extinguisher/mini, - /obj/item/weapon/tape_roll, - /obj/item/device/integrated_electronics/wirer, - /obj/item/device/integrated_electronics/debugger, - /obj/item/weapon/shovel/spade, + /obj/item/radio/headset, + /obj/item/robotanalyzer, + /obj/item/material/minihoe, + /obj/item/material/knife/machete/hatchet, + /obj/item/analyzer/plant_analyzer, + /obj/item/extinguisher/mini, + /obj/item/tape_roll, + /obj/item/integrated_electronics/wirer, + /obj/item/integrated_electronics/debugger, + /obj/item/shovel/spade, /obj/item/stack/nanopaste, - /obj/item/weapon/cell, //this is a bigger belt, might as well make it hold bigger cells too - /obj/item/weapon/pipe_dispenser, //bigger belt for bigger tools - /obj/item/weapon/rcd, //see above - /obj/item/device/quantum_pad_booster, - /obj/item/weapon/inducer, + /obj/item/cell, //this is a bigger belt, might as well make it hold bigger cells too + /obj/item/pipe_dispenser, //bigger belt for bigger tools + /obj/item/rcd, //see above + /obj/item/quantum_pad_booster, + /obj/item/inducer, /obj/item/stack/material/steel, /obj/item/stack/material/glass, - /obj/item/device/lightreplacer, - /obj/item/weapon/pickaxe/plasmacutter + /obj/item/lightreplacer, + /obj/item/pickaxe/plasmacutter ) -/obj/item/weapon/storage/belt/medical +/obj/item/storage/belt/medical name = "medical belt" desc = "Can hold various medical equipment." icon_state = "medical" can_hold = list( - /obj/item/device/healthanalyzer, - /obj/item/weapon/dnainjector, - /obj/item/weapon/reagent_containers/dropper, - /obj/item/weapon/reagent_containers/glass/beaker, - /obj/item/weapon/reagent_containers/glass/bottle, - /obj/item/weapon/reagent_containers/pill, - /obj/item/weapon/reagent_containers/syringe, - /obj/item/weapon/storage/quickdraw/syringe_case, //VOREStation Addition - Adds syringe cases, - /obj/item/weapon/flame/lighter/zippo, - /obj/item/weapon/storage/fancy/cigarettes, - /obj/item/weapon/storage/pill_bottle, + /obj/item/healthanalyzer, + /obj/item/dnainjector, + /obj/item/reagent_containers/dropper, + /obj/item/reagent_containers/glass/beaker, + /obj/item/reagent_containers/glass/bottle, + /obj/item/reagent_containers/pill, + /obj/item/reagent_containers/syringe, + /obj/item/storage/quickdraw/syringe_case, //VOREStation Addition - Adds syringe cases, + /obj/item/flame/lighter/zippo, + /obj/item/storage/fancy/cigarettes, + /obj/item/storage/pill_bottle, /obj/item/stack/medical, - /obj/item/device/radio/headset, - /obj/item/device/pda, + /obj/item/radio/headset, + /obj/item/pda, /obj/item/taperoll, - /obj/item/device/megaphone, + /obj/item/megaphone, /obj/item/clothing/mask/surgical, /obj/item/clothing/head/surgery, /obj/item/clothing/gloves, - /obj/item/weapon/reagent_containers/hypospray, + /obj/item/reagent_containers/hypospray, /obj/item/clothing/glasses, - /obj/item/weapon/tool/crowbar, - /obj/item/device/flashlight, - /obj/item/weapon/cell/device, - /obj/item/weapon/extinguisher/mini, - /obj/item/weapon/storage/quickdraw/syringe_case + /obj/item/tool/crowbar, + /obj/item/flashlight, + /obj/item/cell/device, + /obj/item/extinguisher/mini, + /obj/item/sleevemate, + /obj/item/mass_spectrometer, + /obj/item/surgical, + /obj/item/clothing/mask/chewable/candy/lolli // VOREstation edit end ) -/obj/item/weapon/storage/belt/medical/emt +/obj/item/storage/belt/medical/emt name = "EMT utility belt" desc = "A sturdy black webbing belt with attached pouches." icon_state = "ems" -/obj/item/weapon/storage/belt/medical/holding +/obj/item/storage/belt/medical/holding name = "medical belt of holding" desc = "A belt that uses localized bluespace pockets to hold more items than expected!" icon_state = "med_holding" storage_slots = 14 //twice the amount as a normal belt max_storage_space = ITEMSIZE_COST_NORMAL * 14 -/obj/item/weapon/storage/belt/security +/obj/item/storage/belt/security name = "security belt" desc = "Can hold security gear like handcuffs and flashes." icon_state = "security" max_w_class = ITEMSIZE_NORMAL can_hold = list( - /obj/item/weapon/grenade, - /obj/item/weapon/reagent_containers/spray/pepper, - /obj/item/weapon/handcuffs, - /obj/item/device/flash, + /obj/item/grenade, + /obj/item/reagent_containers/spray/pepper, + /obj/item/handcuffs, + /obj/item/flash, /obj/item/clothing/glasses, /obj/item/ammo_casing/a12g, /obj/item/ammo_magazine, - /obj/item/weapon/cell/device, - /obj/item/weapon/reagent_containers/food/snacks/donut/, - /obj/item/weapon/melee/baton, - /obj/item/weapon/gun/energy/taser, - /obj/item/weapon/gun/energy/stunrevolver, - /obj/item/weapon/gun/energy/stunrevolver/vintage, - /obj/item/weapon/gun/magnetic/railgun/heater/pistol, - /obj/item/weapon/gun/energy/gun, - /obj/item/weapon/flame/lighter, - /obj/item/device/flashlight, - /obj/item/device/taperecorder, - /obj/item/device/tape, - /obj/item/device/pda, - /obj/item/device/radio/headset, + /obj/item/cell/device, + /obj/item/reagent_containers/food/snacks/donut/, + /obj/item/melee/baton, + /obj/item/gun/energy/taser, + /obj/item/gun/energy/stunrevolver, + /obj/item/gun/energy/stunrevolver/vintage, + /obj/item/gun/magnetic/railgun/heater/pistol, + /obj/item/gun/energy/gun, + /obj/item/flame/lighter, + /obj/item/flashlight, + /obj/item/taperecorder, + /obj/item/rectape, + /obj/item/pda, + /obj/item/radio/headset, /obj/item/clothing/gloves, - /obj/item/device/hailer, - /obj/item/device/megaphone, - /obj/item/weapon/melee, + /obj/item/hailer, + /obj/item/megaphone, + /obj/item/melee, /obj/item/clothing/accessory/badge, - /obj/item/weapon/gun/projectile/sec, - /obj/item/weapon/gun/projectile/p92x, + /obj/item/gun/projectile/sec, + /obj/item/gun/projectile/p92x, /obj/item/taperoll, - /obj/item/weapon/gun/projectile/colt/detective, - /obj/item/device/holowarrant, - /obj/item/device/ticket_printer //VOREStation Edit + /obj/item/gun/projectile/colt/detective, + /obj/item/holowarrant, + /obj/item/ticket_printer //VOREStation Edit ) -/obj/item/weapon/storage/belt/detective +/obj/item/storage/belt/detective name = "forensic utility belt" desc = "A belt for holding forensics equipment." icon_state = "security" storage_slots = 7 max_w_class = ITEMSIZE_NORMAL can_hold = list( - /obj/item/device/taperecorder, - /obj/item/device/tape, + /obj/item/taperecorder, + /obj/item/rectape, /obj/item/clothing/glasses, - /obj/item/device/flashlight, - /obj/item/weapon/cell/device, - /obj/item/weapon/reagent_containers/spray/luminol, - /obj/item/weapon/sample, - /obj/item/weapon/forensics/sample_kit/powder, - /obj/item/weapon/forensics/swab, - /obj/item/device/uv_light, - /obj/item/weapon/forensics/sample_kit, - /obj/item/weapon/photo, - /obj/item/device/camera_film, - /obj/item/device/camera, - /obj/item/weapon/autopsy_scanner, - /obj/item/device/mass_spectrometer, + /obj/item/flashlight, + /obj/item/cell/device, + /obj/item/reagent_containers/spray/luminol, + /obj/item/sample, + /obj/item/forensics/sample_kit/powder, + /obj/item/forensics/swab, + /obj/item/uv_light, + /obj/item/forensics/sample_kit, + /obj/item/photo, + /obj/item/camera_film, + /obj/item/camera, + /obj/item/autopsy_scanner, + /obj/item/mass_spectrometer, /obj/item/clothing/accessory/badge, - /obj/item/device/reagent_scanner, - /obj/item/weapon/reagent_containers/dropper, - /obj/item/weapon/reagent_containers/syringe, - /obj/item/device/pda, - /obj/item/device/hailer, - /obj/item/device/megaphone, - /obj/item/device/radio/headset, + /obj/item/reagent_scanner, + /obj/item/reagent_containers/dropper, + /obj/item/reagent_containers/syringe, + /obj/item/pda, + /obj/item/hailer, + /obj/item/megaphone, + /obj/item/radio/headset, /obj/item/clothing/gloves, /obj/item/taperoll, - /obj/item/weapon/reagent_containers/spray/pepper, - /obj/item/weapon/handcuffs, - /obj/item/device/flash, - /obj/item/weapon/flame/lighter, - /obj/item/weapon/reagent_containers/food/snacks/donut/, + /obj/item/reagent_containers/spray/pepper, + /obj/item/handcuffs, + /obj/item/flash, + /obj/item/flame/lighter, + /obj/item/reagent_containers/food/snacks/donut/, ///obj/item/ammo_magazine, //Detectives don't get projectile weapons as standard here - ///obj/item/weapon/gun/projectile/colt/detective, //Detectives don't get projectile weapons as standard here - /obj/item/weapon/gun/energy/stunrevolver/detective, //In keeping with the same vein as above, they can store their special one - /obj/item/device/holowarrant, - /obj/item/weapon/reagent_containers/food/drinks/flask, - /obj/item/device/ticket_printer //VOREStation Edit + ///obj/item/gun/projectile/colt/detective, //Detectives don't get projectile weapons as standard here + /obj/item/gun/energy/stunrevolver/detective, //In keeping with the same vein as above, they can store their special one + /obj/item/holowarrant, + /obj/item/reagent_containers/food/drinks/flask, + /obj/item/ticket_printer //VOREStation Edit ) -/obj/item/weapon/storage/belt/soulstone +/obj/item/storage/belt/soulstone name = "soul stone belt" desc = "Designed for ease of access to the shards during a fight, as to not let a single enemy spirit slip away" icon_state = "soulstone" storage_slots = 6 can_hold = list( - /obj/item/device/soulstone + /obj/item/soulstone ) -/obj/item/weapon/storage/belt/soulstone/full - starts_with = list(/obj/item/device/soulstone = 6) +/obj/item/storage/belt/soulstone/full + starts_with = list(/obj/item/soulstone = 6) -/obj/item/weapon/storage/belt/utility/alien +/obj/item/storage/belt/utility/alien name = "alien belt" desc = "A belt(?) that can hold things." icon = 'icons/obj/abductor.dmi' icon_state = "belt" item_state = "security" -/obj/item/weapon/storage/belt/utility/alien/full +/obj/item/storage/belt/utility/alien/full starts_with = list( - /obj/item/weapon/tool/screwdriver/alien, - /obj/item/weapon/tool/wrench/alien, - /obj/item/weapon/weldingtool/alien, - /obj/item/weapon/tool/crowbar/alien, - /obj/item/weapon/tool/wirecutters/alien, - /obj/item/device/multitool/alien, + /obj/item/tool/screwdriver/alien, + /obj/item/tool/wrench/alien, + /obj/item/weldingtool/alien, + /obj/item/tool/crowbar/alien, + /obj/item/tool/wirecutters/alien, + /obj/item/multitool/alien, /obj/item/stack/cable_coil/alien ) -/obj/item/weapon/storage/belt/medical/alien +/obj/item/storage/belt/medical/alien name = "alien belt" desc = "A belt(?) that can hold things." icon = 'icons/obj/abductor.dmi' @@ -383,46 +386,46 @@ item_state = "security" storage_slots = 8 can_hold = list( - /obj/item/device/healthanalyzer, - /obj/item/weapon/dnainjector, - /obj/item/weapon/reagent_containers/dropper, - /obj/item/weapon/reagent_containers/glass/beaker, - /obj/item/weapon/reagent_containers/glass/bottle, - /obj/item/weapon/reagent_containers/pill, - /obj/item/weapon/reagent_containers/syringe, - /obj/item/weapon/flame/lighter/zippo, - /obj/item/weapon/storage/fancy/cigarettes, - /obj/item/weapon/storage/pill_bottle, + /obj/item/healthanalyzer, + /obj/item/dnainjector, + /obj/item/reagent_containers/dropper, + /obj/item/reagent_containers/glass/beaker, + /obj/item/reagent_containers/glass/bottle, + /obj/item/reagent_containers/pill, + /obj/item/reagent_containers/syringe, + /obj/item/flame/lighter/zippo, + /obj/item/storage/fancy/cigarettes, + /obj/item/storage/pill_bottle, /obj/item/stack/medical, - /obj/item/device/radio/headset, - /obj/item/device/pda, + /obj/item/radio/headset, + /obj/item/pda, /obj/item/taperoll, - /obj/item/device/megaphone, + /obj/item/megaphone, /obj/item/clothing/mask/surgical, /obj/item/clothing/head/surgery, /obj/item/clothing/gloves, - /obj/item/weapon/reagent_containers/hypospray, + /obj/item/reagent_containers/hypospray, /obj/item/clothing/glasses, - /obj/item/weapon/tool/crowbar, - /obj/item/device/flashlight, - /obj/item/weapon/cell/device, - /obj/item/weapon/extinguisher/mini, - /obj/item/weapon/surgical + /obj/item/tool/crowbar, + /obj/item/flashlight, + /obj/item/cell/device, + /obj/item/extinguisher/mini, + /obj/item/surgical ) -/obj/item/weapon/storage/belt/medical/alien +/obj/item/storage/belt/medical/alien starts_with = list( - /obj/item/weapon/surgical/scalpel/alien, - /obj/item/weapon/surgical/hemostat/alien, - /obj/item/weapon/surgical/retractor/alien, - /obj/item/weapon/surgical/circular_saw/alien, - /obj/item/weapon/surgical/FixOVein/alien, - /obj/item/weapon/surgical/bone_clamp/alien, - /obj/item/weapon/surgical/cautery/alien, - /obj/item/weapon/surgical/surgicaldrill/alien + /obj/item/surgical/scalpel/alien, + /obj/item/surgical/hemostat/alien, + /obj/item/surgical/retractor/alien, + /obj/item/surgical/circular_saw/alien, + /obj/item/surgical/FixOVein/alien, + /obj/item/surgical/bone_clamp/alien, + /obj/item/surgical/cautery/alien, + /obj/item/surgical/surgicaldrill/alien ) -/obj/item/weapon/storage/belt/champion +/obj/item/storage/belt/champion name = "championship belt" desc = "Proves to the world that you are the strongest!" icon_state = "champion" @@ -431,7 +434,7 @@ "/obj/item/clothing/mask/luchador" ) -/obj/item/weapon/storage/belt/security/tactical +/obj/item/storage/belt/security/tactical name = "combat belt" desc = "Can hold security gear like handcuffs and flashes, with more pouches for more storage." icon_state = "swat" @@ -439,7 +442,7 @@ max_w_class = ITEMSIZE_NORMAL max_storage_space = ITEMSIZE_COST_NORMAL * 7 -/obj/item/weapon/storage/belt/bandolier +/obj/item/storage/belt/bandolier name = "shotgun bandolier" desc = "Designed to hold shotgun shells. Can't really hold more than that." icon_state = "bandolier1" @@ -457,12 +460,12 @@ /obj/item/ammo_casing/a12g/flechette ) -/obj/item/weapon/storage/belt/security/tactical/bandolier +/obj/item/storage/belt/security/tactical/bandolier name = "combat bandolier" desc = "Can hold security gear like handcuffs and flashes, with more pouches for more storage." icon_state = "bandolier2" -/obj/item/weapon/storage/belt/janitor +/obj/item/storage/belt/janitor name = "janitorial belt" desc = "A belt used to hold most janitorial supplies." icon_state = "janitor" @@ -470,60 +473,60 @@ max_w_class = ITEMSIZE_NORMAL can_hold = list( /obj/item/clothing/glasses, - /obj/item/device/flashlight, - /obj/item/weapon/cell/device, - /obj/item/weapon/grenade, - /obj/item/device/pda, - /obj/item/device/radio/headset, + /obj/item/flashlight, + /obj/item/cell/device, + /obj/item/grenade, + /obj/item/pda, + /obj/item/radio/headset, /obj/item/clothing/gloves, /obj/item/clothing/mask/surgical, //sterile mask, - /obj/item/device/assembly/mousetrap, - /obj/item/weapon/light/bulb, - /obj/item/weapon/light/tube, - /obj/item/weapon/flame/lighter, - /obj/item/device/megaphone, + /obj/item/assembly/mousetrap, + /obj/item/light/bulb, + /obj/item/light/tube, + /obj/item/flame/lighter, + /obj/item/megaphone, /obj/item/taperoll, - /obj/item/weapon/reagent_containers/spray, - /obj/item/weapon/soap, - /obj/item/device/lightreplacer, + /obj/item/reagent_containers/spray, + /obj/item/soap, + /obj/item/lightreplacer, /obj/item/clothing/glasses/hud/janitor ) -/obj/item/weapon/storage/belt/archaeology +/obj/item/storage/belt/archaeology name = "excavation gear-belt" desc = "Can hold various excavation gear." icon_state = "gear" can_hold = list( - /obj/item/weapon/storage/box/samplebags, - /obj/item/device/core_sampler, - /obj/item/device/beacon_locator, - /obj/item/device/radio/beacon, - /obj/item/device/gps, - /obj/item/device/measuring_tape, - /obj/item/device/flashlight, - /obj/item/weapon/cell/device, - /obj/item/weapon/pickaxe, - /obj/item/device/depth_scanner, - /obj/item/device/camera, - /obj/item/weapon/paper, - /obj/item/weapon/photo, - /obj/item/weapon/folder, - /obj/item/weapon/pen, - /obj/item/weapon/folder, - /obj/item/weapon/clipboard, - /obj/item/weapon/anodevice, + /obj/item/storage/box/samplebags, + /obj/item/core_sampler, + /obj/item/beacon_locator, + /obj/item/radio/beacon, + /obj/item/gps, + /obj/item/measuring_tape, + /obj/item/flashlight, + /obj/item/cell/device, + /obj/item/pickaxe, + /obj/item/depth_scanner, + /obj/item/camera, + /obj/item/paper, + /obj/item/photo, + /obj/item/folder, + /obj/item/pen, + /obj/item/folder, + /obj/item/clipboard, + /obj/item/anodevice, /obj/item/clothing/glasses, - /obj/item/weapon/tool/wrench, - /obj/item/weapon/tool/transforming/powerdrill, - /obj/item/weapon/storage/excavation, - /obj/item/weapon/anobattery, - /obj/item/device/ano_scanner, - /obj/item/weapon/pickaxe/hand, - /obj/item/device/xenoarch_multi_tool, - /obj/item/weapon/pickaxe/excavationdrill + /obj/item/tool/wrench, + /obj/item/tool/transforming/powerdrill, + /obj/item/storage/excavation, + /obj/item/anobattery, + /obj/item/ano_scanner, + /obj/item/pickaxe/hand, + /obj/item/xenoarch_multi_tool, + /obj/item/pickaxe/excavationdrill ) -/obj/item/weapon/storage/belt/fannypack +/obj/item/storage/belt/fannypack name = "leather fannypack" desc = "A dorky fannypack for keeping small items in." icon_state = "fannypack_leather" @@ -532,58 +535,58 @@ storage_slots = null max_storage_space = ITEMSIZE_COST_NORMAL * 2 -/obj/item/weapon/storage/belt/fannypack/black +/obj/item/storage/belt/fannypack/black name = "black fannypack" icon_state = "fannypack_black" item_state = "fannypack_black" -/obj/item/weapon/storage/belt/fannypack/blue +/obj/item/storage/belt/fannypack/blue name = "blue fannypack" icon_state = "fannypack_blue" item_state = "fannypack_blue" -/obj/item/weapon/storage/belt/fannypack/cyan +/obj/item/storage/belt/fannypack/cyan name = "cyan fannypack" icon_state = "fannypack_cyan" item_state = "fannypack_cyan" -/obj/item/weapon/storage/belt/fannypack/green +/obj/item/storage/belt/fannypack/green name = "green fannypack" icon_state = "fannypack_green" item_state = "fannypack_green" -/obj/item/weapon/storage/belt/fannypack/orange +/obj/item/storage/belt/fannypack/orange name = "orange fannypack" icon_state = "fannypack_orange" item_state = "fannypack_orange" -/obj/item/weapon/storage/belt/fannypack/purple +/obj/item/storage/belt/fannypack/purple name = "purple fannypack" icon_state = "fannypack_purple" item_state = "fannypack_purple" -/obj/item/weapon/storage/belt/fannypack/red +/obj/item/storage/belt/fannypack/red name = "red fannypack" icon_state = "fannypack_red" item_state = "fannypack_red" -/obj/item/weapon/storage/belt/fannypack/white +/obj/item/storage/belt/fannypack/white name = "white fannypack" icon_state = "fannypack_white" item_state = "fannypack_white" -/obj/item/weapon/storage/belt/fannypack/yellow +/obj/item/storage/belt/fannypack/yellow name = "yellow fannypack" icon_state = "fannypack_yellow" item_state = "fannypack_yellow" -/obj/item/weapon/storage/belt/ranger +/obj/item/storage/belt/ranger name = "ranger belt" desc = "The fancy utility-belt holding the tools, cuffs and gadgets of the Go Go ERT-Rangers. The belt buckle is not real phoron, but it is still surprisingly comfortable to wear." icon = 'icons/obj/clothing/ranger.dmi' icon_state = "ranger_belt" -/obj/item/weapon/storage/belt/dbandolier +/obj/item/storage/belt/dbandolier name = "\improper Donk-Soft bandolier" desc = "A Donk-Soft bandolier! Carry your spare darts anywhere! Ages 8 and up." icon_state = "dbandolier" diff --git a/code/game/objects/items/weapons/storage/belt_vr.dm b/code/game/objects/items/weapons/storage/belt_vr.dm index a9d78c13fb3..d6f2c665de6 100644 --- a/code/game/objects/items/weapons/storage/belt_vr.dm +++ b/code/game/objects/items/weapons/storage/belt_vr.dm @@ -1,9 +1,9 @@ -/obj/item/weapon/storage/belt +/obj/item/storage/belt sprite_sheets = list( SPECIES_TESHARI = 'icons/inventory/belt/mob_teshari.dmi', SPECIES_WEREBEAST = 'icons/inventory/belt/mob_vr_werebeast.dmi') -/obj/item/weapon/storage/belt/explorer +/obj/item/storage/belt/explorer name = "explorer's belt" desc = "A versatile belt with several pouches. It can hold a very wide variety of items, but less items overall than a dedicated belt. Still, it's useful for any explorer who wants to be prepared for anything they might find." icon = 'icons/inventory/belt/item_vr.dmi' @@ -14,46 +14,46 @@ max_w_class = ITEMSIZE_NORMAL //limits the max size of thing that can be put in, so no using it to hold five laser cannons max_storage_space = ITEMSIZE_COST_NORMAL * 5 can_hold = list( - /obj/item/weapon/grenade, - /obj/item/weapon/tool, - /obj/item/weapon/weldingtool, - /obj/item/weapon/pickaxe, - /obj/item/device/multitool, + /obj/item/grenade, + /obj/item/tool, + /obj/item/weldingtool, + /obj/item/pickaxe, + /obj/item/multitool, /obj/item/stack/cable_coil, - /obj/item/device/analyzer, - /obj/item/device/flashlight, - /obj/item/weapon/cell, - /obj/item/weapon/gun, - /obj/item/weapon/material, - /obj/item/weapon/melee, - /obj/item/weapon/shield, + /obj/item/analyzer, + /obj/item/flashlight, + /obj/item/cell, + /obj/item/gun, + /obj/item/material, + /obj/item/melee, + /obj/item/shield, /obj/item/ammo_casing, /obj/item/ammo_magazine, - /obj/item/device/healthanalyzer, - /obj/item/device/robotanalyzer, - /obj/item/weapon/reagent_containers/glass/beaker, - /obj/item/weapon/reagent_containers/glass/bottle, - /obj/item/weapon/storage/pill_bottle, + /obj/item/healthanalyzer, + /obj/item/robotanalyzer, + /obj/item/reagent_containers/glass/beaker, + /obj/item/reagent_containers/glass/bottle, + /obj/item/storage/pill_bottle, /obj/item/stack/medical, /obj/item/stack/marker_beacon, - /obj/item/weapon/extinguisher/mini, - /obj/item/weapon/storage/quickdraw/syringe_case, - /obj/item/weapon/photo, - /obj/item/device/camera_film, - /obj/item/device/camera, - /obj/item/device/taperecorder, - /obj/item/device/tape, - /obj/item/device/geiger, - /obj/item/device/gps, - /obj/item/device/ano_scanner, - /obj/item/device/cataloguer, - /obj/item/device/radio, - /obj/item/device/mapping_unit, - /obj/item/weapon/kinetic_crusher, - /obj/item/device/analyzer + /obj/item/extinguisher/mini, + /obj/item/storage/quickdraw/syringe_case, + /obj/item/photo, + /obj/item/camera_film, + /obj/item/camera, + /obj/item/taperecorder, + /obj/item/tape, + /obj/item/geiger, + /obj/item/gps, + /obj/item/ano_scanner, + /obj/item/cataloguer, + /obj/item/radio, + /obj/item/mapping_unit, + /obj/item/kinetic_crusher, + /obj/item/analyzer ) -/obj/item/weapon/storage/belt/explorer/pathfinder +/obj/item/storage/belt/explorer/pathfinder name = "pathfinder's belt" desc = "A deluxe belt with many pouches. It can hold a very wide variety of items, but less items overall than a dedicated belt. Still, it's useful for any explorer who wants to be prepared for anything they might find." icon = 'icons/inventory/belt/item_vr.dmi' @@ -62,7 +62,7 @@ storage_slots = 7 //two more, bringing it on par with normal belts max_storage_space = ITEMSIZE_COST_NORMAL * 7 -/obj/item/weapon/storage/belt/miner +/obj/item/storage/belt/miner name = "mining belt" desc = "A versatile and durable looking belt with several pouches and straps. It can hold a very wide variety of items that any typical miner might need out in the deep." icon = 'icons/inventory/belt/item_vr.dmi' @@ -80,82 +80,82 @@ /obj/item/modular_computer/tablet, /obj/item/clothing/glasses, /obj/item/clothing/shoes/bhop, - /obj/item/device/multitool, - /obj/item/device/core_sampler, - /obj/item/device/beacon_locator, - /obj/item/device/radio, - /obj/item/device/measuring_tape, - /obj/item/device/flashlight, - /obj/item/device/depth_scanner, - /obj/item/device/camera, - /obj/item/device/ano_scanner, - /obj/item/device/xenoarch_multi_tool, - /obj/item/device/geiger, - /obj/item/device/gps, - /obj/item/device/laser_pointer, - /obj/item/device/survivalcapsule, - /obj/item/device/perfect_tele/one_beacon, - /obj/item/device/binoculars, - /obj/item/weapon/storage/box/samplebags, - /obj/item/weapon/cell/device, - /obj/item/weapon/pickaxe, - /obj/item/weapon/shovel, - /obj/item/weapon/paper, - /obj/item/weapon/photo, - /obj/item/weapon/folder, - /obj/item/weapon/pen, - /obj/item/weapon/folder, - /obj/item/weapon/clipboard, - /obj/item/weapon/anodevice, - /obj/item/weapon/tool/wrench, - /obj/item/weapon/tool/screwdriver, - /obj/item/weapon/tool/transforming/powerdrill, - /obj/item/weapon/storage/excavation, - /obj/item/weapon/anobattery, - /obj/item/weapon/reagent_containers/hypospray/autoinjector, - /obj/item/weapon/plastique/seismic/locked, - /obj/item/weapon/gun/magnetic/matfed/phoronbore, - /obj/item/weapon/storage/bag/sheetsnatcher, - /obj/item/weapon/melee, - /obj/item/weapon/kinetic_crusher, - /obj/item/weapon/mining_scanner + /obj/item/multitool, + /obj/item/core_sampler, + /obj/item/beacon_locator, + /obj/item/radio, + /obj/item/measuring_tape, + /obj/item/flashlight, + /obj/item/depth_scanner, + /obj/item/camera, + /obj/item/ano_scanner, + /obj/item/xenoarch_multi_tool, + /obj/item/geiger, + /obj/item/gps, + /obj/item/laser_pointer, + /obj/item/survivalcapsule, + /obj/item/perfect_tele/one_beacon, + /obj/item/binoculars, + /obj/item/storage/box/samplebags, + /obj/item/cell/device, + /obj/item/pickaxe, + /obj/item/shovel, + /obj/item/paper, + /obj/item/photo, + /obj/item/folder, + /obj/item/pen, + /obj/item/folder, + /obj/item/clipboard, + /obj/item/anodevice, + /obj/item/tool/wrench, + /obj/item/tool/screwdriver, + /obj/item/tool/transforming/powerdrill, + /obj/item/storage/excavation, + /obj/item/anobattery, + /obj/item/reagent_containers/hypospray/autoinjector, + /obj/item/plastique/seismic/locked, + /obj/item/gun/magnetic/matfed/phoronbore, + /obj/item/storage/bag/sheetsnatcher, + /obj/item/melee, + /obj/item/kinetic_crusher, + /obj/item/mining_scanner ) //Pretty much, if it's in the mining vendor, they should be able to put it on the belt. -/obj/item/weapon/storage/belt/archaeology +/obj/item/storage/belt/archaeology can_hold = list( /obj/item/stack/marker_beacon, /obj/item/clothing/glasses, - /obj/item/weapon/storage/box/samplebags, - /obj/item/device/xenoarch_multi_tool, - /obj/item/device/core_sampler, - /obj/item/device/beacon_locator, - /obj/item/device/radio/beacon, - /obj/item/device/gps, - /obj/item/device/measuring_tape, - /obj/item/device/flashlight, - /obj/item/device/depth_scanner, - /obj/item/device/camera, - /obj/item/device/ano_scanner, - /obj/item/device/geiger, - /obj/item/weapon/cell/device, - /obj/item/weapon/pickaxe, - /obj/item/weapon/paper, - /obj/item/weapon/photo, - /obj/item/weapon/folder, - /obj/item/weapon/pen, - /obj/item/weapon/folder, - /obj/item/weapon/clipboard, - /obj/item/weapon/anodevice, - /obj/item/weapon/tool/wrench, - /obj/item/weapon/tool/transforming/powerdrill, - /obj/item/device/multitool, - /obj/item/weapon/storage/excavation, - /obj/item/weapon/anobattery, - /obj/item/weapon/pickaxe + /obj/item/storage/box/samplebags, + /obj/item/xenoarch_multi_tool, + /obj/item/core_sampler, + /obj/item/beacon_locator, + /obj/item/radio/beacon, + /obj/item/gps, + /obj/item/measuring_tape, + /obj/item/flashlight, + /obj/item/depth_scanner, + /obj/item/camera, + /obj/item/ano_scanner, + /obj/item/geiger, + /obj/item/cell/device, + /obj/item/pickaxe, + /obj/item/paper, + /obj/item/photo, + /obj/item/folder, + /obj/item/pen, + /obj/item/folder, + /obj/item/clipboard, + /obj/item/anodevice, + /obj/item/tool/wrench, + /obj/item/tool/transforming/powerdrill, + /obj/item/multitool, + /obj/item/storage/excavation, + /obj/item/anobattery, + /obj/item/pickaxe ) -/obj/item/weapon/storage/belt/hydro +/obj/item/storage/belt/hydro name = "hydroponics belt" desc = "A belt used to hold most hydroponics supplies. Suprisingly, not green." icon = 'icons/inventory/belt/item_vr.dmi' @@ -166,15 +166,15 @@ max_w_class = ITEMSIZE_LARGE max_storage_space = ITEMSIZE_COST_NORMAL * 5 can_hold = list( - /obj/item/device/analyzer/plant_analyzer, - /obj/item/weapon/reagent_containers/glass/beaker, - /obj/item/weapon/reagent_containers/glass/bottle, - /obj/item/weapon/shovel/spade, - /obj/item/weapon/tool/wirecutters, - /obj/item/weapon/material/minihoe, - /obj/item/weapon/material/knife/machete/hatchet, - /obj/item/weapon/reagent_containers/spray/plantbgone, - /obj/item/weapon/plantspray, - /obj/item/weapon/gun/energy/floragun, + /obj/item/analyzer/plant_analyzer, + /obj/item/reagent_containers/glass/beaker, + /obj/item/reagent_containers/glass/bottle, + /obj/item/shovel/spade, + /obj/item/tool/wirecutters, + /obj/item/material/minihoe, + /obj/item/material/knife/machete/hatchet, + /obj/item/reagent_containers/spray/plantbgone, + /obj/item/plantspray, + /obj/item/gun/energy/floragun, /obj/item/seeds ) \ No newline at end of file diff --git a/code/game/objects/items/weapons/storage/bible.dm b/code/game/objects/items/weapons/storage/bible.dm index 5386f2d5cad..80cfb133388 100644 --- a/code/game/objects/items/weapons/storage/bible.dm +++ b/code/game/objects/items/weapons/storage/bible.dm @@ -19,7 +19,7 @@ GLOBAL_LIST_INIT(bibleitemstates, list( "ithaqua", "scientology", "melted", "necronomicon", "bible", "clipboard")) -/obj/item/weapon/storage/bible +/obj/item/storage/bible name = "bible" desc = "Apply to head repeatedly." icon_state ="bible" @@ -36,9 +36,9 @@ GLOBAL_LIST_INIT(bibleitemstates, list( use_sound = 'sound/bureaucracy/bookopen.ogg' drop_sound = 'sound/bureaucracy/bookclose.ogg' -/obj/item/weapon/storage/bible/attack_self(mob/living/carbon/human/user) +/obj/item/storage/bible/attack_self(mob/living/carbon/human/user) - if(user?.mind?.assigned_role != "Chaplain") + if(user?.mind?.assigned_role != JOB_CHAPLAIN) return FALSE if (!user.mind.my_religion) @@ -65,7 +65,7 @@ GLOBAL_LIST_INIT(bibleitemstates, list( name = user.mind.my_religion.bible_name icon_state = user.mind.my_religion.bible_icon_state item_state = user.mind.my_religion.bible_item_state - to_chat(user, "You invoke [user.mind.my_religion.deity] and prepare a copy of [src].") + to_chat(user, span_notice("You invoke [user.mind.my_religion.deity] and prepare a copy of [src].")) /** * Checks if we are allowed to interact with a radial menu @@ -73,7 +73,7 @@ GLOBAL_LIST_INIT(bibleitemstates, list( * Arguments: * * user The mob interacting with the menu */ -/obj/item/weapon/storage/bible/proc/check_menu(mob/living/carbon/human/user) +/obj/item/storage/bible/proc/check_menu(mob/living/carbon/human/user) if(user.mind.my_religion.configured) return FALSE if(!istype(user)) @@ -82,34 +82,34 @@ GLOBAL_LIST_INIT(bibleitemstates, list( return FALSE if(user.incapacitated()) return FALSE - if(user.mind.assigned_role != "Chaplain") + if(user.mind.assigned_role != JOB_CHAPLAIN) return FALSE return TRUE -/obj/item/weapon/storage/bible/booze +/obj/item/storage/bible/booze name = "bible" desc = "To be applied to the head repeatedly." icon_state ="bible" -/obj/item/weapon/storage/bible/booze/New() +/obj/item/storage/bible/booze/New() starts_with = list( - /obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, - /obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, - /obj/item/weapon/spacecash/c100, - /obj/item/weapon/spacecash/c100, - /obj/item/weapon/spacecash/c100 + /obj/item/reagent_containers/food/drinks/bottle/small/beer, + /obj/item/reagent_containers/food/drinks/bottle/small/beer, + /obj/item/spacecash/c100, + /obj/item/spacecash/c100, + /obj/item/spacecash/c100 ) -/obj/item/weapon/storage/bible/afterattack(atom/A, mob/user as mob, proximity) +/obj/item/storage/bible/afterattack(atom/A, mob/user as mob, proximity) if(!proximity) return - if(user.mind && (user.mind.assigned_role == "Chaplain")) + if(user.mind && (user.mind.assigned_role == JOB_CHAPLAIN)) if(A.reagents && A.reagents.has_reagent("water")) //blesses all the water in the holder - to_chat(user, "You bless [A].") + to_chat(user, span_notice("You bless [A].")) var/water2holy = A.reagents.get_reagent_amount("water") A.reagents.del_reagent("water") A.reagents.add_reagent("holywater",water2holy) -/obj/item/weapon/storage/bible/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/item/storage/bible/attackby(obj/item/W as obj, mob/user as mob) if (src.use_sound) playsound(src, src.use_sound, 50, 1, -5) ..() diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index 1f6c0cce4f2..8f036b5b0be 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -19,7 +19,7 @@ * For syndicate call-ins see uplink_kits.dm */ -/obj/item/weapon/storage/box +/obj/item/storage/box name = "box" desc = "It's just an ordinary box." icon = 'icons/obj/boxes.dmi' @@ -35,7 +35,7 @@ pickup_sound = 'sound/items/pickup/cardboardbox.ogg' // BubbleWrap - A box can be folded up to make card -/obj/item/weapon/storage/box/attack_self(mob/user as mob) +/obj/item/storage/box/attack_self(mob/user as mob) if(..()) return //try to fold it @@ -52,7 +52,7 @@ if (!found) // User is too far away return // Now make the cardboard - to_chat(user, "You fold [src] flat.") + to_chat(user, span_notice("You fold [src] flat.")) playsound(src, 'sound/items/storage/boxfold.ogg', 30, 1) new foldable(get_turf(src)) qdel(src) @@ -60,292 +60,292 @@ //try to crush it if(ispath(trash)) if(contents.len && user.a_intent == I_HURT) // only crumple with things inside on harmintent. - user.visible_message(SPAN_DANGER("[user] crushes \the [src], spilling its contents everywhere!"), SPAN_DANGER("You crush \the [src], spilling its contents everywhere!")) + user.visible_message(span_danger("[user] crushes \the [src], spilling its contents everywhere!"), span_danger("You crush \the [src], spilling its contents everywhere!")) spill() else - to_chat(user, SPAN_NOTICE("You crumple up \the [src].")) //make trash + to_chat(user, span_notice("You crumple up \the [src].")) //make trash playsound(src.loc, 'sound/items/drop/wrapper.ogg', 30, 1) var/obj/item/trash = new src.trash() qdel(src) user.put_in_hands(trash) -/obj/item/weapon/storage/box/survival +/obj/item/storage/box/survival name = "emergency supply box" desc = "A survival box issued to crew members for use in emergency situations." icon_state = "survival" starts_with = list( - /obj/item/weapon/tool/prybar/red, + /obj/item/tool/prybar/red, /obj/item/clothing/glasses/goggles, /obj/item/clothing/mask/breath ) -/obj/item/weapon/storage/box/survival/synth +/obj/item/storage/box/survival/synth name = "synthetic supply box" desc = "A survival box issued to synthetic crew members for use in emergency situations." icon_state = "survival_synth" starts_with = list( - /obj/item/weapon/tool/prybar/red, + /obj/item/tool/prybar/red, /obj/item/clothing/glasses/goggles ) -/obj/item/weapon/storage/box/survival/comp +/obj/item/storage/box/survival/comp name = "emergency supply box" desc = "A comprehensive survival box issued to crew members for use in emergency situations. Contains additional supplies." icon_state = "survival_comp" starts_with = list( - /obj/item/weapon/tool/prybar/red, + /obj/item/tool/prybar/red, /obj/item/clothing/glasses/goggles, - /obj/item/weapon/reagent_containers/hypospray/autoinjector, + /obj/item/reagent_containers/hypospray/autoinjector, /obj/item/stack/medical/bruise_pack, - /obj/item/device/flashlight/glowstick, - /obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar, + /obj/item/flashlight/glowstick, + /obj/item/reagent_containers/food/snacks/candy/proteinbar, /obj/item/clothing/mask/breath ) -/obj/item/weapon/storage/box/gloves +/obj/item/storage/box/gloves name = "box of latex gloves" desc = "Contains white gloves." icon_state = "latex" starts_with = list(/obj/item/clothing/gloves/sterile/latex = 7) -/obj/item/weapon/storage/box/masks +/obj/item/storage/box/masks name = "box of sterile masks" desc = "This box contains masks of sterility." icon_state = "sterile" starts_with = list(/obj/item/clothing/mask/surgical = 7) -/obj/item/weapon/storage/box/masks/white +/obj/item/storage/box/masks/white name = "box of sterile masks" desc = "This box contains masks of sterility." icon_state = "sterile" starts_with = list(/obj/item/clothing/mask/surgical/white = 7) -/obj/item/weapon/storage/box/masks/dust +/obj/item/storage/box/masks/dust name = "box of dust masks" desc = "This box contains dust masks. Breathe easy." icon_state = "sterile" starts_with = list(/obj/item/clothing/mask/surgical/dust = 7) -/obj/item/weapon/storage/box/syringes +/obj/item/storage/box/syringes name = "box of syringes" desc = "A box full of syringes." icon_state = "syringe" - starts_with = list(/obj/item/weapon/reagent_containers/syringe = 7) + starts_with = list(/obj/item/reagent_containers/syringe = 7) -/obj/item/weapon/storage/box/syringegun +/obj/item/storage/box/syringegun name = "box of syringe gun cartridges" desc = "A box full of compressed gas cartridges." icon_state = "syringe2" - starts_with = list(/obj/item/weapon/syringe_cartridge = 7) + starts_with = list(/obj/item/syringe_cartridge = 7) -/obj/item/weapon/storage/box/beakers +/obj/item/storage/box/beakers name = "box of beakers" desc = "A box full of beakers." icon_state = "beaker" - starts_with = list(/obj/item/weapon/reagent_containers/glass/beaker = 7) + starts_with = list(/obj/item/reagent_containers/glass/beaker = 7) -/obj/item/weapon/storage/box/injectors +/obj/item/storage/box/injectors name = "box of DNA injectors" desc = "This box contains injectors it seems." icon_state = "dna" starts_with = list( - /obj/item/weapon/dnainjector/h2m = 3, - /obj/item/weapon/dnainjector/m2h = 3 + /obj/item/dnainjector/h2m = 3, + /obj/item/dnainjector/m2h = 3 ) -/obj/item/weapon/storage/box/flashbangs +/obj/item/storage/box/flashbangs name = "box of flashbangs (WARNING)" - desc = "WARNING: These devices are extremely dangerous and can cause blindness or deafness in repeated use." + desc = span_bold("WARNING: These devices are extremely dangerous and can cause blindness or deafness in repeated use.") icon_state = "flashbang" - starts_with = list(/obj/item/weapon/grenade/flashbang = 7) + starts_with = list(/obj/item/grenade/flashbang = 7) drop_sound = 'sound/items/drop/ammobox.ogg' pickup_sound = 'sound/items/pickup/ammobox.ogg' -/obj/item/weapon/storage/box/emps +/obj/item/storage/box/emps name = "box of emp grenades" desc = "A box containing 5 military grade EMP grenades.
WARNING: Do not use near unshielded electronics or biomechanical augmentations, death or permanent paralysis may occur." icon_state = "emp" - starts_with = list(/obj/item/weapon/grenade/empgrenade = 7) + starts_with = list(/obj/item/grenade/empgrenade = 7) drop_sound = 'sound/items/drop/ammobox.ogg' pickup_sound = 'sound/items/pickup/ammobox.ogg' -/obj/item/weapon/storage/box/empslite +/obj/item/storage/box/empslite name = "box of low yield emp grenades" desc = "A box containing 5 low yield EMP grenades.
WARNING: Do not use near unshielded electronics or biomechanical augmentations, death or permanent paralysis may occur." icon_state = "emp" - starts_with = list(/obj/item/weapon/grenade/empgrenade/low_yield = 7) + starts_with = list(/obj/item/grenade/empgrenade/low_yield = 7) drop_sound = 'sound/items/drop/ammobox.ogg' pickup_sound = 'sound/items/pickup/ammobox.ogg' -/obj/item/weapon/storage/box/smokes +/obj/item/storage/box/smokes name = "box of smoke bombs" desc = "A box containing 7 smoke bombs." icon_state = "flashbang" - starts_with = list(/obj/item/weapon/grenade/smokebomb = 7) + starts_with = list(/obj/item/grenade/smokebomb = 7) drop_sound = 'sound/items/drop/ammobox.ogg' pickup_sound = 'sound/items/pickup/ammobox.ogg' -/obj/item/weapon/storage/box/anti_photons +/obj/item/storage/box/anti_photons name = "box of anti-photon grenades" desc = "A box containing 7 experimental photon disruption grenades." icon_state = "flashbang" - starts_with = list(/obj/item/weapon/grenade/anti_photon = 7) + starts_with = list(/obj/item/grenade/anti_photon = 7) drop_sound = 'sound/items/drop/ammobox.ogg' pickup_sound = 'sound/items/pickup/ammobox.ogg' -/obj/item/weapon/storage/box/frags +/obj/item/storage/box/frags name = "box of fragmentation grenades (WARNING)" desc = "A box containing 7 military grade fragmentation grenades.
WARNING: These devices are extremely dangerous and can cause limb loss or death in repeated use." icon_state = "frag" - starts_with = list(/obj/item/weapon/grenade/explosive = 7) + starts_with = list(/obj/item/grenade/explosive = 7) drop_sound = 'sound/items/drop/ammobox.ogg' pickup_sound = 'sound/items/pickup/ammobox.ogg' -/obj/item/weapon/storage/box/frags_half_box +/obj/item/storage/box/frags_half_box name = "box of fragmentation grenades (WARNING)" desc = "A box containing 4 military grade fragmentation grenades.
WARNING: These devices are extremely dangerous and can cause limb loss or death in repeated use." icon_state = "frag" - starts_with = list(/obj/item/weapon/grenade/explosive = 4) + starts_with = list(/obj/item/grenade/explosive = 4) drop_sound = 'sound/items/drop/ammobox.ogg' pickup_sound = 'sound/items/pickup/ammobox.ogg' -/obj/item/weapon/storage/box/metalfoam +/obj/item/storage/box/metalfoam name = "box of metal foam grenades." desc = "A box containing 7 metal foam grenades." icon_state = "flashbang" - starts_with = list(/obj/item/weapon/grenade/chem_grenade/metalfoam = 7) + starts_with = list(/obj/item/grenade/chem_grenade/metalfoam = 7) -/obj/item/weapon/storage/box/teargas +/obj/item/storage/box/teargas name = "box of teargas grenades" desc = "A box containing 7 teargas grenades." icon_state = "flashbang" - starts_with = list(/obj/item/weapon/grenade/chem_grenade/teargas = 7) + starts_with = list(/obj/item/grenade/chem_grenade/teargas = 7) -/obj/item/weapon/storage/box/flare +/obj/item/storage/box/flare name = "box of flares" desc = "A box containing 4 flares." - starts_with = list(/obj/item/device/flashlight/flare = 4) + starts_with = list(/obj/item/flashlight/flare = 4) -/obj/item/weapon/storage/box/trackimp +/obj/item/storage/box/trackimp name = "boxed tracking implant kit" desc = "Box full of scum-bag tracking utensils." icon_state = "implant" starts_with = list( - /obj/item/weapon/implantcase/tracking = 4, - /obj/item/weapon/implanter, - /obj/item/weapon/implantpad, - /obj/item/weapon/locator + /obj/item/implantcase/tracking = 4, + /obj/item/implanter, + /obj/item/implantpad, + /obj/item/locator ) -/obj/item/weapon/storage/box/chemimp +/obj/item/storage/box/chemimp name = "boxed chemical implant kit" desc = "Box of stuff used to implant chemicals." icon_state = "implant" starts_with = list( - /obj/item/weapon/implantcase/chem = 5, - /obj/item/weapon/implanter, - /obj/item/weapon/implantpad + /obj/item/implantcase/chem = 5, + /obj/item/implanter, + /obj/item/implantpad ) -/obj/item/weapon/storage/box/camerabug +/obj/item/storage/box/camerabug name = "mobile camera pod box" desc = "A box containing some mobile camera pods." icon_state = "pda" starts_with = list( - /obj/item/device/camerabug = 6, - /obj/item/device/bug_monitor + /obj/item/camerabug = 6, + /obj/item/bug_monitor ) -/obj/item/weapon/storage/box/rxglasses +/obj/item/storage/box/rxglasses name = "box of prescription glasses" desc = "This box contains nerd glasses." icon_state = "glasses" starts_with = list(/obj/item/clothing/glasses/regular = 7) -/obj/item/weapon/storage/box/cdeathalarm_kit +/obj/item/storage/box/cdeathalarm_kit name = "death alarm kit" desc = "Box of stuff used to implant death alarms." icon_state = "implant" item_state_slots = list(slot_r_hand_str = "syringe_kit", slot_l_hand_str = "syringe_kit") starts_with = list( - /obj/item/weapon/implantcase/death_alarm = 7, - /obj/item/weapon/implanter + /obj/item/implantcase/death_alarm = 7, + /obj/item/implanter ) -/obj/item/weapon/storage/box/condimentbottles +/obj/item/storage/box/condimentbottles name = "box of condiment bottles" desc = "It has a large ketchup smear on it." icon_state = "condiment" - starts_with = list(/obj/item/weapon/reagent_containers/food/condiment = 7) + starts_with = list(/obj/item/reagent_containers/food/condiment = 7) -/obj/item/weapon/storage/box/cups +/obj/item/storage/box/cups name = "box of paper cups" desc = "It has pictures of paper cups on the front." icon_state = "cups" - starts_with = list(/obj/item/weapon/reagent_containers/food/drinks/sillycup = 7) + starts_with = list(/obj/item/reagent_containers/food/drinks/sillycup = 7) -/obj/item/weapon/storage/box/buns +/obj/item/storage/box/buns name = "box of bread buns" desc = "Freshly baked at some point in the past few months." icon_state = "bun_box" max_storage_space = ITEMSIZE_COST_NORMAL * 5 - starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/bun = 12) + starts_with = list(/obj/item/reagent_containers/food/snacks/bun = 12) -/obj/item/weapon/storage/box/monkeycubes +/obj/item/storage/box/monkeycubes name = "monkey cube box" desc = "Drymate brand monkey cubes. Just add water!" icon = 'icons/obj/food.dmi' icon_state = "monkeycubebox" - can_hold = list(/obj/item/weapon/reagent_containers/food/snacks/monkeycube) - starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped = 4) + can_hold = list(/obj/item/reagent_containers/food/snacks/monkeycube) + starts_with = list(/obj/item/reagent_containers/food/snacks/monkeycube/wrapped = 4) -/obj/item/weapon/storage/box/monkeycubes/farwacubes +/obj/item/storage/box/monkeycubes/farwacubes name = "farwa cube box" desc = "Drymate brand farwa cubes, shipped from Meralar. Just add water!" - starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped/farwacube = 4) + starts_with = list(/obj/item/reagent_containers/food/snacks/monkeycube/wrapped/farwacube = 4) -/obj/item/weapon/storage/box/monkeycubes/stokcubes +/obj/item/storage/box/monkeycubes/stokcubes name = "stok cube box" desc = "Drymate brand stok cubes, shipped from Moghes. Just add water!" - starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped/stokcube = 4) + starts_with = list(/obj/item/reagent_containers/food/snacks/monkeycube/wrapped/stokcube = 4) -/obj/item/weapon/storage/box/monkeycubes/neaeracubes +/obj/item/storage/box/monkeycubes/neaeracubes name = "neaera cube box" desc = "Drymate brand neaera cubes, shipped from Qerr'balak. Just add water!" - starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped/neaeracube = 4) + starts_with = list(/obj/item/reagent_containers/food/snacks/monkeycube/wrapped/neaeracube = 4) -/obj/item/weapon/storage/box/ids +/obj/item/storage/box/ids name = "box of spare IDs" desc = "Has so many empty IDs." icon_state = "id" - starts_with = list(/obj/item/weapon/card/id = 7) + starts_with = list(/obj/item/card/id = 7) -/obj/item/weapon/storage/box/seccarts +/obj/item/storage/box/seccarts name = "box of spare R.O.B.U.S.T. Cartridges" desc = "A box full of R.O.B.U.S.T. Cartridges, used by Security." icon_state = "pda" - starts_with = list(/obj/item/weapon/cartridge/security = 7) + starts_with = list(/obj/item/cartridge/security = 7) -/obj/item/weapon/storage/box/handcuffs +/obj/item/storage/box/handcuffs name = "box of spare handcuffs" desc = "A box full of handcuffs." icon_state = "handcuff" - starts_with = list(/obj/item/weapon/handcuffs = 7) + starts_with = list(/obj/item/handcuffs = 7) -/obj/item/weapon/storage/box/mousetraps +/obj/item/storage/box/mousetraps name = "box of Pest-B-Gon mousetraps" - desc = span_red("WARNING:") + " Keep out of reach of children." + desc = span_red(span_bold("WARNING:")) + " " + span_italics("Keep out of reach of children") + "." icon_state = "mousetraps" - starts_with = list(/obj/item/device/assembly/mousetrap = 7) + starts_with = list(/obj/item/assembly/mousetrap = 7) -/obj/item/weapon/storage/box/pillbottles +/obj/item/storage/box/pillbottles name = "box of pill bottles" desc = "It has pictures of pill bottles on its front." icon_state = "pillbox" - starts_with = list(/obj/item/weapon/storage/pill_bottle = 7) + starts_with = list(/obj/item/storage/pill_bottle = 7) -/obj/item/weapon/storage/box/snappops +/obj/item/storage/box/snappops name = "snap pop box" desc = "Eight wrappers of fun! Ages 8 and up. Not suitable for children." icon = 'icons/obj/toy.dmi' @@ -353,62 +353,62 @@ can_hold = list(/obj/item/toy/snappop) starts_with = list(/obj/item/toy/snappop = 8) -/obj/item/weapon/storage/box/matches +/obj/item/storage/box/matches name = "matchbox" desc = "A small box of 'Space-Proof' premium matches." icon = 'icons/obj/cigarettes.dmi' icon_state = "matchbox" w_class = ITEMSIZE_TINY slot_flags = SLOT_BELT - can_hold = list(/obj/item/weapon/flame/match) - starts_with = list(/obj/item/weapon/flame/match = 10) + can_hold = list(/obj/item/flame/match) + starts_with = list(/obj/item/flame/match = 10) drop_sound = 'sound/items/drop/matchbox.ogg' pickup_sound = 'sound/items/pickup/matchbox.ogg' -/obj/item/weapon/storage/box/matches/attackby(var/obj/item/weapon/flame/match/W, var/mob/user) +/obj/item/storage/box/matches/attackby(var/obj/item/flame/match/W, var/mob/user) if(istype(W) && !W.lit && !W.burnt) if(prob(25)) W.light(user) - user.visible_message("[user] manages to light the match on the matchbox.") + user.visible_message(span_notice("[user] manages to light the match on the matchbox.")) else playsound(src, 'sound/items/cigs_lighters/matchstick_hit.ogg', 25, 0, -1) W.update_icon() return -/obj/item/weapon/storage/box/autoinjectors +/obj/item/storage/box/autoinjectors name = "box of injectors" desc = "Contains autoinjectors." icon_state = "auto" - starts_with = list(/obj/item/weapon/reagent_containers/hypospray/autoinjector = 7) + starts_with = list(/obj/item/reagent_containers/hypospray/autoinjector = 7) -/obj/item/weapon/storage/box/lights +/obj/item/storage/box/lights name = "box of replacement bulbs" icon = 'icons/obj/boxes.dmi' icon_state = "light" desc = "This box is shaped on the inside so that only light tubes and bulbs fit." item_state_slots = list(slot_r_hand_str = "syringe_kit", slot_l_hand_str = "syringe_kit") storage_slots = 24 - can_hold = list(/obj/item/weapon/light/tube, /obj/item/weapon/light/bulb) + can_hold = list(/obj/item/light/tube, /obj/item/light/bulb) max_storage_space = ITEMSIZE_COST_SMALL * 24 //holds 24 items of w_class 2 use_to_pickup = TRUE // for picking up broken bulbs, not that most people will try -/obj/item/weapon/storage/box/lights/bulbs - starts_with = list(/obj/item/weapon/light/bulb = 24) +/obj/item/storage/box/lights/bulbs + starts_with = list(/obj/item/light/bulb = 24) -/obj/item/weapon/storage/box/lights/tubes +/obj/item/storage/box/lights/tubes name = "box of replacement tubes" icon_state = "lighttube" - starts_with = list(/obj/item/weapon/light/tube = 24) + starts_with = list(/obj/item/light/tube = 24) -/obj/item/weapon/storage/box/lights/mixed +/obj/item/storage/box/lights/mixed name = "box of replacement lights" icon_state = "lightmixed" starts_with = list( - /obj/item/weapon/light/tube = 16, - /obj/item/weapon/light/bulb = 8 + /obj/item/light/tube = 16, + /obj/item/light/bulb = 8 ) -/obj/item/weapon/storage/box/freezer +/obj/item/storage/box/freezer name = "portable freezer" desc = "This nifty shock-resistant device will keep your 'groceries' nice and non-spoiled." icon = 'icons/obj/storage.dmi' @@ -420,10 +420,10 @@ max_storage_space = ITEMSIZE_COST_NORMAL * 5 // Formally 21. Odd numbers are bad. use_to_pickup = TRUE // for picking up broken bulbs, not that most people will try -/obj/item/weapon/storage/box/freezer/red +/obj/item/storage/box/freezer/red icon_state = "portafreezer_red" -/obj/item/weapon/storage/box/freezer/Entered(var/atom/movable/AM) +/obj/item/storage/box/freezer/Entered(var/atom/movable/AM) if(istype(AM, /obj/item/organ)) var/obj/item/organ/O = AM O.preserved = 1 @@ -431,7 +431,7 @@ organ.preserved = 1 ..() -/obj/item/weapon/storage/box/freezer/Exited(var/atom/movable/AM) +/obj/item/storage/box/freezer/Exited(var/atom/movable/AM) if(istype(AM, /obj/item/organ)) var/obj/item/organ/O = AM O.preserved = 0 @@ -439,17 +439,17 @@ organ.preserved = 0 ..() -/obj/item/weapon/storage/box/ambrosia +/obj/item/storage/box/ambrosia name = "ambrosia seeds box" desc = "Contains the seeds you need to get a little high." starts_with = list(/obj/item/seeds/ambrosiavulgarisseed = 7) -/obj/item/weapon/storage/box/ambrosiadeus +/obj/item/storage/box/ambrosiadeus name = "ambrosia deus seeds box" desc = "Contains the seeds you need to get a proper healthy high." starts_with = list(/obj/item/seeds/ambrosiadeusseed = 7) -/obj/item/weapon/storage/box/capguntoy +/obj/item/storage/box/capguntoy name = "\improper AlliCo \"Zipper\" Cap Gun" icon = 'icons/obj/gun_toy.dmi' icon_state = "cap_gun_box" @@ -457,51 +457,51 @@ item_state_slots = list(slot_r_hand_str = "syringe_kit", slot_l_hand_str = "syringe_kit") storage_slots = 2 max_w_class = ITEMSIZE_NORMAL - can_hold = list(/obj/item/weapon/gun/projectile/revolver/capgun, /obj/item/ammo_magazine/ammo_box/cap) + can_hold = list(/obj/item/gun/projectile/revolver/capgun, /obj/item/ammo_magazine/ammo_box/cap) starts_with = list( - /obj/item/weapon/gun/projectile/revolver/capgun = 1, + /obj/item/gun/projectile/revolver/capgun = 1, /obj/item/ammo_magazine/ammo_box/cap = 1 ) //Donk-pockets -/obj/item/weapon/storage/box/donkpockets +/obj/item/storage/box/donkpockets name = "box of donk-pockets" - desc = "Instructions: Heat in microwave. Product will cool if not eaten within seven minutes." + desc = span_bold("Instructions:") + " " + span_italics("Heat in microwave. Product will cool if not eaten within seven minutes.") icon_state = "donkpocketbox" - starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/donkpocket = 7) + starts_with = list(/obj/item/reagent_containers/food/snacks/donkpocket = 7) -/obj/item/weapon/storage/box/donkpockets/spicy +/obj/item/storage/box/donkpockets/spicy name = "box of spicy-flavoured donk-pockets" icon_state = "donkpocketboxspicy" - starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/donkpocket/spicy = 7) + starts_with = list(/obj/item/reagent_containers/food/snacks/donkpocket/spicy = 7) -/obj/item/weapon/storage/box/donkpockets/teriyaki +/obj/item/storage/box/donkpockets/teriyaki name = "box of teriyaki-flavoured donk-pockets" icon_state = "donkpocketboxteriyaki" - starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/donkpocket/teriyaki = 7) + starts_with = list(/obj/item/reagent_containers/food/snacks/donkpocket/teriyaki = 7) -/obj/item/weapon/storage/box/donkpockets/pizza +/obj/item/storage/box/donkpockets/pizza name = "box of pizza-flavoured donk-pockets" icon_state = "donkpocketboxpizza" - starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/donkpocket/pizza = 7) + starts_with = list(/obj/item/reagent_containers/food/snacks/donkpocket/pizza = 7) -/obj/item/weapon/storage/box/donkpockets/honk +/obj/item/storage/box/donkpockets/honk name = "box of banana-flavoured donk-pockets" icon_state = "donkpocketboxbanana" - starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/donkpocket/honk = 7) + starts_with = list(/obj/item/reagent_containers/food/snacks/donkpocket/honk = 7) -/obj/item/weapon/storage/box/donkpockets/gondola +/obj/item/storage/box/donkpockets/gondola name = "box of gondola-flavoured donk-pockets" icon_state = "donkpocketboxgondola" - starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/donkpocket/gondola = 7) + starts_with = list(/obj/item/reagent_containers/food/snacks/donkpocket/gondola = 7) -/obj/item/weapon/storage/box/donkpockets/berry +/obj/item/storage/box/donkpockets/berry name = "box of berry-flavoured donk-pockets" icon_state = "donkpocketboxberry" - starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/donkpocket/berry = 7) + starts_with = list(/obj/item/reagent_containers/food/snacks/donkpocket/berry = 7) -/obj/item/weapon/storage/box/sinpockets +/obj/item/storage/box/sinpockets name = "box of sin-pockets" - desc = "Instructions: Crush bottom of package to initiate chemical heating. Wait for 20 seconds before consumption. Product will cool if not eaten within seven minutes." + desc = span_bold("Instructions:") + " " + span_italics("Crush bottom of package to initiate chemical heating. Wait for 20 seconds before consumption. Product will cool if not eaten within seven minutes.") icon_state = "donk_kit" - starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/donkpocket/sinpocket = 7) + starts_with = list(/obj/item/reagent_containers/food/snacks/donkpocket/sinpocket = 7) diff --git a/code/game/objects/items/weapons/storage/boxes_vr.dm b/code/game/objects/items/weapons/storage/boxes_vr.dm index 9da787d7727..9540fa5228d 100644 --- a/code/game/objects/items/weapons/storage/boxes_vr.dm +++ b/code/game/objects/items/weapons/storage/boxes_vr.dm @@ -1,46 +1,46 @@ -/obj/item/weapon/storage/box/explorerkeys +/obj/item/storage/box/explorerkeys name = "box of volunteer headsets" desc = "A box full of volunteer headsets, for issuing out to exploration volunteers." - starts_with = list(/obj/item/device/radio/headset/volunteer = 7) // YW EDIT + starts_with = list(/obj/item/radio/headset/volunteer = 7) // YW EDIT -/obj/item/weapon/storage/box/commandkeys +/obj/item/storage/box/commandkeys name = "box of command keys" desc = "A box full of command keys, for command to give out as necessary." - starts_with = list(/obj/item/device/encryptionkey/headset_com = 7) + starts_with = list(/obj/item/encryptionkey/headset_com = 7) -/obj/item/weapon/storage/box/servicekeys +/obj/item/storage/box/servicekeys name = "box of service keys" desc = "A box full of service keys, for the HoP to give out as necessary." - starts_with = list(/obj/item/device/encryptionkey/headset_service = 7) + starts_with = list(/obj/item/encryptionkey/headset_service = 7) -/obj/item/weapon/storage/box/survival/space +/obj/item/storage/box/survival/space name = "boxed emergency suit and helmet" icon_state = "survival_comp3" starts_with = list( /obj/item/clothing/suit/space/emergency, /obj/item/clothing/head/helmet/space/emergency, /obj/item/clothing/mask/breath, - /obj/item/weapon/tank/emergency/oxygen/double + /obj/item/tank/emergency/oxygen/double ) -/obj/item/weapon/storage/secure/briefcase/trashmoney - starts_with = list(/obj/item/weapon/spacecash/c200 = 10) +/obj/item/storage/secure/briefcase/trashmoney + starts_with = list(/obj/item/spacecash/c200 = 10) -/obj/item/weapon/storage/box/brainzsnax +/obj/item/storage/box/brainzsnax name = "\improper BrainzSnax box" icon_state = "brainzsnax_box" desc = "A box designed to hold canned food. This one has BrainzSnax branding printed on it." - can_hold = list(/obj/item/weapon/reagent_containers/food/snacks/canned) + can_hold = list(/obj/item/reagent_containers/food/snacks/canned) max_storage_space = ITEMSIZE_COST_NORMAL * 6 - starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/canned/brainzsnax = 6) + starts_with = list(/obj/item/reagent_containers/food/snacks/canned/brainzsnax = 6) -/obj/item/weapon/storage/box/brainzsnax/red - starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/canned/brainzsnax/red = 6) +/obj/item/storage/box/brainzsnax/red + starts_with = list(/obj/item/reagent_containers/food/snacks/canned/brainzsnax/red = 6) -/obj/item/weapon/storage/box/freezer - can_hold = list(/obj/item/organ, /obj/item/weapon/reagent_containers/blood, /obj/item/weapon/reagent_containers/glass, /obj/item/weapon/reagent_containers/food) +/obj/item/storage/box/freezer + can_hold = list(/obj/item/organ, /obj/item/reagent_containers/blood, /obj/item/reagent_containers/glass, /obj/item/reagent_containers/food) -/obj/item/weapon/storage/box/altevian_ammo +/obj/item/storage/box/altevian_ammo name = "SAM .48 ammo box" desc = "A box of ratty ammo." icon_state = "secbox" @@ -49,8 +49,8 @@ drop_sound = 'sound/items/drop/ammobox.ogg' pickup_sound = 'sound/items/pickup/ammobox.ogg' -/obj/item/weapon/storage/box/weapon_cells +/obj/item/storage/box/weapon_cells name = "box of weapon cells" desc = "A box full of weapon power cells. For all your portable energy storage needs." icon_state = "secbox" - starts_with = list(/obj/item/weapon/cell/device/weapon = 7) + starts_with = list(/obj/item/cell/device/weapon = 7) diff --git a/code/game/objects/items/weapons/storage/briefcase.dm b/code/game/objects/items/weapons/storage/briefcase.dm index c8cdcffc1e3..5ac6b3b74f2 100644 --- a/code/game/objects/items/weapons/storage/briefcase.dm +++ b/code/game/objects/items/weapons/storage/briefcase.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/storage/briefcase +/obj/item/storage/briefcase name = "briefcase" desc = "It's made of AUTHENTIC faux-leather and has a price-tag still attached. Its owner must be a real professional." icon_state = "briefcase" @@ -12,7 +12,7 @@ drop_sound = 'sound/items/drop/backpack.ogg' pickup_sound = 'sound/items/pickup/backpack.ogg' -/obj/item/weapon/storage/briefcase/clutch +/obj/item/storage/briefcase/clutch name = "clutch purse" desc = "A fashionable handheld bag typically used by women." icon_state = "clutch" @@ -22,7 +22,7 @@ max_w_class = ITEMSIZE_SMALL max_storage_space = ITEMSIZE_COST_SMALL * 4 -/obj/item/weapon/storage/briefcase/bookbag +/obj/item/storage/briefcase/bookbag name = "bookbag" desc = "A small bookbag for holding... things other than books?" icon_state = "bookbag" diff --git a/code/game/objects/items/weapons/storage/egg_vr.dm b/code/game/objects/items/weapons/storage/egg_vr.dm index 97da55c4ff0..1669121be75 100644 --- a/code/game/objects/items/weapons/storage/egg_vr.dm +++ b/code/game/objects/items/weapons/storage/egg_vr.dm @@ -1,6 +1,6 @@ //Item type vorepanel egg release containers. -/obj/item/weapon/storage/vore_egg +/obj/item/storage/vore_egg name = "egg" desc = "It's an egg; it's smooth to the touch." //This is the default egg. icon = 'icons/obj/egg_new_vr.dmi' @@ -16,18 +16,18 @@ allow_quick_empty = TRUE use_sound = 'sound/items/drop/flesh.ogg' -/obj/item/weapon/storage/vore_egg/Initialize() +/obj/item/storage/vore_egg/Initialize() . = ..() randpixel_xy() -/obj/item/weapon/storage/vore_egg/open(mob/user as mob) +/obj/item/storage/vore_egg/open(mob/user as mob) if(isobserver(user)) return icon = open_egg_icon ..() -/obj/item/weapon/storage/vore_egg/proc/hatch(mob/living/user as mob) - visible_message("\The [src] begins to shake as something pushes out from within!") +/obj/item/storage/vore_egg/proc/hatch(mob/living/user as mob) + visible_message(span_danger("\The [src] begins to shake as something pushes out from within!")) animate_shake() if(do_after(user, 50)) if(use_sound) @@ -38,173 +38,173 @@ if(user.transforming) user.transforming = FALSE -/obj/item/weapon/storage/vore_egg/proc/animate_shake() +/obj/item/storage/vore_egg/proc/animate_shake() var/init_px = pixel_x var/shake_dir = pick(-1, 1) animate(src, transform=turn(matrix(), 8*shake_dir), pixel_x=init_px + 2*shake_dir, time=1) animate(transform=null, pixel_x=init_px, time=6, easing=ELASTIC_EASING) -/obj/item/weapon/storage/vore_egg/unathi +/obj/item/storage/vore_egg/unathi name = "unathi egg" desc = "Some species of Unathi apparently lay soft-shelled eggs!" icon_state = "egg_unathi" -/obj/item/weapon/storage/vore_egg/nevrean +/obj/item/storage/vore_egg/nevrean name = "nevrean egg" desc = "Most Nevreans lay hard-shelled eggs!" icon_state = "egg_nevrean" -/obj/item/weapon/storage/vore_egg/human +/obj/item/storage/vore_egg/human name = "human egg" desc = "Some humans lay eggs that are--wait, what?" icon_state = "egg_human" -/obj/item/weapon/storage/vore_egg/tajaran +/obj/item/storage/vore_egg/tajaran name = "tajaran egg" desc = "Apparently that's what a Tajaran egg looks like. Weird." icon_state = "egg_tajaran" -/obj/item/weapon/storage/vore_egg/skrell +/obj/item/storage/vore_egg/skrell name = "skrell egg" desc = "Its soft and squishy" icon_state = "egg_skrell" -/obj/item/weapon/storage/vore_egg/shark +/obj/item/storage/vore_egg/shark name = "akula egg" desc = "Its soft and slimy to the touch" icon_state = "egg_akula" -/obj/item/weapon/storage/vore_egg/sergal +/obj/item/storage/vore_egg/sergal name = "sergal egg" desc = "An egg with a slightly fuzzy exterior, and a hard layer beneath." icon_state = "egg_sergal" -/obj/item/weapon/storage/vore_egg/slime +/obj/item/storage/vore_egg/slime name = "slime egg" desc = "An egg with a soft and squishy interior, coated with slime." icon_state = "egg_slime" -/obj/item/weapon/storage/vore_egg/special //Not actually used, but the sprites are in, and it's there in case any admins need to spawn in the egg for any specific reasons. +/obj/item/storage/vore_egg/special //Not actually used, but the sprites are in, and it's there in case any admins need to spawn in the egg for any specific reasons. name = "special egg" desc = "This egg has a very unique look to it." icon_state = "egg_unique" -/obj/item/weapon/storage/vore_egg/scree +/obj/item/storage/vore_egg/scree name = "Chimera egg" desc = "...You don't know what type of creature laid this egg." icon_state = "egg_scree" -/obj/item/weapon/storage/vore_egg/xenomorph +/obj/item/storage/vore_egg/xenomorph name = "Xenomorph egg" desc = "Some type of pitch black egg. It has a slimy exterior coating." icon_state = "egg_xenomorph" -/obj/item/weapon/storage/vore_egg/chocolate +/obj/item/storage/vore_egg/chocolate name = "chocolate egg" desc = "Delicious. May contain a choking hazard." icon_state = "egg_chocolate" -/obj/item/weapon/storage/vore_egg/owlpellet +/obj/item/storage/vore_egg/owlpellet name = "boney egg" desc = "Can an egg shell be made of bones and hair?" icon_state = "egg_pellet" -/obj/item/weapon/storage/vore_egg/slimeglob +/obj/item/storage/vore_egg/slimeglob name = "glob of slime" desc = "Very squishy." icon_state = "egg_slimeglob" -/obj/item/weapon/storage/vore_egg/chicken +/obj/item/storage/vore_egg/chicken name = "chicken egg" desc = "Looks like chickens come in all sizes and shapes." icon_state = "egg_chicken" -/obj/item/weapon/storage/vore_egg/synthetic +/obj/item/storage/vore_egg/synthetic name = "synthetic egg" desc = "Smells like Easter morning." icon_state = "egg_synthetic" -/obj/item/weapon/storage/vore_egg/escapepod +/obj/item/storage/vore_egg/escapepod name = "small escape pod" desc = "Someone left in a hurry." icon_state = "egg_escapepod" -/obj/item/weapon/storage/vore_egg/floppy +/obj/item/storage/vore_egg/floppy name = "blue space floppy disc" desc = "Probably shouldn't copy THIS floppy." icon_state = "egg_floppy" -/obj/item/weapon/storage/vore_egg/cd +/obj/item/storage/vore_egg/cd name = "blue space cd" desc = "What could even be on this?!" icon_state = "egg_cd" -/obj/item/weapon/storage/vore_egg/file +/obj/item/storage/vore_egg/file name = "blue space file" desc = "Gotta wonder how much is compressed in there." icon_state = "egg_file" -/obj/item/weapon/storage/vore_egg/badrecipe +/obj/item/storage/vore_egg/badrecipe name = "Burned mess" desc = "Someone didn't cook this egg quite right..." icon_state = "egg_badrecipe" -/obj/item/weapon/storage/vore_egg/cocoon +/obj/item/storage/vore_egg/cocoon name = "web cocoon" desc = "It straight up smells like spiders in here." icon_state = "egg_cocoon" -/obj/item/weapon/storage/vore_egg/honeycomb +/obj/item/storage/vore_egg/honeycomb name = "honeycomb" desc = "Smells delicious!" icon_state = "egg_honeycomb" -/obj/item/weapon/storage/vore_egg/bugcocoon +/obj/item/storage/vore_egg/bugcocoon name = "bug cocoon" desc = "Metamorphosis!" icon_state = "egg_bugcocoon" -/obj/item/weapon/storage/vore_egg/rock +/obj/item/storage/vore_egg/rock name = "rock egg" desc = "It looks like a small boulder." icon_state = "egg_rock" -/obj/item/weapon/storage/vore_egg/yellow +/obj/item/storage/vore_egg/yellow name = "yellow egg" desc = "It is a nice yellow egg." icon_state = "egg_yellow" -/obj/item/weapon/storage/vore_egg/blue +/obj/item/storage/vore_egg/blue name = "blue egg" desc = "It is a nice blue egg." icon_state = "egg_blue" -/obj/item/weapon/storage/vore_egg/green +/obj/item/storage/vore_egg/green name = "green egg" desc = "It is a nice green egg." icon_state = "egg_green" -/obj/item/weapon/storage/vore_egg/orange +/obj/item/storage/vore_egg/orange name = "orange egg" desc = "It is a nice orange egg." icon_state = "egg_orange" -/obj/item/weapon/storage/vore_egg/purple +/obj/item/storage/vore_egg/purple name = "purple egg" desc = "It is a nice purple egg." icon_state = "egg_purple" -/obj/item/weapon/storage/vore_egg/red +/obj/item/storage/vore_egg/red name = "red egg" desc = "It is a nice red egg." icon_state = "egg_red" -/obj/item/weapon/storage/vore_egg/rainbow +/obj/item/storage/vore_egg/rainbow name = "rainbow egg" desc = "It looks so colorful." icon_state = "egg_rainbow" -/obj/item/weapon/storage/vore_egg/pinkspots +/obj/item/storage/vore_egg/pinkspots name = "spotted pink egg" desc = "It is a cute pink egg with white spots." icon_state = "egg_pinkspots" diff --git a/code/game/objects/items/weapons/storage/fancy.dm b/code/game/objects/items/weapons/storage/fancy.dm index 850bc5246ed..eeb20d7da98 100644 --- a/code/game/objects/items/weapons/storage/fancy.dm +++ b/code/game/objects/items/weapons/storage/fancy.dm @@ -17,7 +17,7 @@ * Box of Chocolates */ -/obj/item/weapon/storage/fancy/ +/obj/item/storage/fancy/ icon = 'icons/obj/food.dmi' icon_state = "donutbox6" name = "donut box" @@ -28,12 +28,12 @@ var/open_state var/closed_state -/obj/item/weapon/storage/fancy/update_icon(var/itemremoved = 0) +/obj/item/storage/fancy/update_icon(var/itemremoved = 0) var/total_contents = contents.len - itemremoved icon_state = "[icon_type]box[total_contents]" return -/obj/item/weapon/storage/fancy/examine(mob/user) +/obj/item/storage/fancy/examine(mob/user) . = ..() if(Adjacent(user)) @@ -47,7 +47,7 @@ /* * Egg Box */ -/obj/item/weapon/storage/fancy/egg_box +/obj/item/storage/fancy/egg_box icon = 'icons/obj/food.dmi' icon_state = "eggbox" icon_type = "egg" @@ -55,19 +55,19 @@ center_of_mass = list("x" = 16,"y" = 7) storage_slots = 12 can_hold = list( - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/boiledegg + /obj/item/reagent_containers/food/snacks/egg, + /obj/item/reagent_containers/food/snacks/boiledegg ) - starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/egg = 12) + starts_with = list(/obj/item/reagent_containers/food/snacks/egg = 12) -/obj/item/weapon/storage/fancy/egg_box/New() +/obj/item/storage/fancy/egg_box/New() if(!open_state) open_state = "[initial(icon_state)]0" if(!closed_state) closed_state = "[initial(icon_state)]" ..() -/obj/item/weapon/storage/fancy/egg_box/update_icon() +/obj/item/storage/fancy/egg_box/update_icon() cut_overlays() if(open) icon_state = open_state @@ -76,16 +76,16 @@ else icon_state = closed_state -/obj/item/weapon/storage/fancy/egg_box/open(mob/user as mob) +/obj/item/storage/fancy/egg_box/open(mob/user as mob) if(open) return - if (isobserver(usr)) + if (isobserver(user)) return open = TRUE update_icon() ..() -/obj/item/weapon/storage/fancy/egg_box/close(mob/user as mob) +/obj/item/storage/fancy/egg_box/close(mob/user as mob) open = FALSE update_icon() ..() @@ -93,7 +93,7 @@ /* * Candle Boxes */ -/obj/item/weapon/storage/fancy/candle_box +/obj/item/storage/fancy/candle_box name = "red candle pack" desc = "A pack of red candles." icon = 'icons/obj/candle.dmi' @@ -103,10 +103,10 @@ throwforce = 2 slot_flags = SLOT_BELT max_storage_space = ITEMSIZE_COST_TINY * 5 - can_hold = list(/obj/item/weapon/flame/candle) - starts_with = list(/obj/item/weapon/flame/candle = 5) + can_hold = list(/obj/item/flame/candle) + starts_with = list(/obj/item/flame/candle = 5) -/obj/item/weapon/storage/fancy/whitecandle_box +/obj/item/storage/fancy/whitecandle_box name = "white candle pack" desc = "A pack of white candles." icon = 'icons/obj/candle.dmi' @@ -116,10 +116,10 @@ throwforce = 2 slot_flags = SLOT_BELT max_storage_space = ITEMSIZE_COST_TINY * 5 - can_hold = list(/obj/item/weapon/flame/candle) - starts_with = list(/obj/item/weapon/flame/candle/white = 5) + can_hold = list(/obj/item/flame/candle) + starts_with = list(/obj/item/flame/candle/white = 5) -/obj/item/weapon/storage/fancy/blackcandle_box +/obj/item/storage/fancy/blackcandle_box name = "black candle pack" desc = "A pack of black candles." icon = 'icons/obj/candle.dmi' @@ -129,14 +129,14 @@ throwforce = 2 slot_flags = SLOT_BELT max_storage_space = ITEMSIZE_COST_TINY * 5 - can_hold = list(/obj/item/weapon/flame/candle) - starts_with = list(/obj/item/weapon/flame/candle/black = 5) + can_hold = list(/obj/item/flame/candle) + starts_with = list(/obj/item/flame/candle/black = 5) /* * Crayon Box */ -/obj/item/weapon/storage/fancy/crayons +/obj/item/storage/fancy/crayons name = "box of crayons" desc = "A box of crayons for all your rune drawing needs." icon = 'icons/obj/crayons.dmi' @@ -144,30 +144,30 @@ w_class = ITEMSIZE_SMALL icon_type = "crayon" can_hold = list( - /obj/item/weapon/pen/crayon + /obj/item/pen/crayon ) starts_with = list( - /obj/item/weapon/pen/crayon/red, - /obj/item/weapon/pen/crayon/orange, - /obj/item/weapon/pen/crayon/yellow, - /obj/item/weapon/pen/crayon/green, - /obj/item/weapon/pen/crayon/blue, - /obj/item/weapon/pen/crayon/purple + /obj/item/pen/crayon/red, + /obj/item/pen/crayon/orange, + /obj/item/pen/crayon/yellow, + /obj/item/pen/crayon/green, + /obj/item/pen/crayon/blue, + /obj/item/pen/crayon/purple ) -/obj/item/weapon/storage/fancy/crayons/Initialize() +/obj/item/storage/fancy/crayons/Initialize() . = ..() update_icon() -/obj/item/weapon/storage/fancy/crayons/update_icon() +/obj/item/storage/fancy/crayons/update_icon() var/mutable_appearance/ma = new(src) ma.cut_overlays() - for(var/obj/item/weapon/pen/crayon/crayon in contents) + for(var/obj/item/pen/crayon/crayon in contents) add_overlay(image('icons/obj/crayons.dmi',crayon.colourName)) appearance = ma -/obj/item/weapon/storage/fancy/crayons/attackby(obj/item/W as obj, mob/user as mob) - if(istype(W,/obj/item/weapon/pen/crayon)) +/obj/item/storage/fancy/crayons/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W,/obj/item/pen/crayon)) switch(W:colourName) if("mime") to_chat(user, "This crayon is too sad to be contained in this box.") @@ -177,7 +177,7 @@ return ..() -/obj/item/weapon/storage/fancy/markers +/obj/item/storage/fancy/markers name = "box of markers" desc = "A very professional looking box of permanent markers." icon = 'icons/obj/crayons.dmi' @@ -185,31 +185,31 @@ w_class = ITEMSIZE_SMALL icon_type = "marker" can_hold = list( - /obj/item/weapon/pen/crayon/marker + /obj/item/pen/crayon/marker ) starts_with = list( - /obj/item/weapon/pen/crayon/marker/black, - /obj/item/weapon/pen/crayon/marker/red, - /obj/item/weapon/pen/crayon/marker/orange, - /obj/item/weapon/pen/crayon/marker/yellow, - /obj/item/weapon/pen/crayon/marker/green, - /obj/item/weapon/pen/crayon/marker/blue, - /obj/item/weapon/pen/crayon/marker/purple + /obj/item/pen/crayon/marker/black, + /obj/item/pen/crayon/marker/red, + /obj/item/pen/crayon/marker/orange, + /obj/item/pen/crayon/marker/yellow, + /obj/item/pen/crayon/marker/green, + /obj/item/pen/crayon/marker/blue, + /obj/item/pen/crayon/marker/purple ) -/obj/item/weapon/storage/fancy/markers/Initialize() +/obj/item/storage/fancy/markers/Initialize() . = ..() update_icon() -/obj/item/weapon/storage/fancy/markers/update_icon() +/obj/item/storage/fancy/markers/update_icon() var/mutable_appearance/ma = new(src) ma.cut_overlays() - for(var/obj/item/weapon/pen/crayon/marker/marker in contents) + for(var/obj/item/pen/crayon/marker/marker in contents) ma.add_overlay(image('icons/obj/crayons.dmi',"m"+marker.colourName)) appearance = ma -/obj/item/weapon/storage/fancy/markers/attackby(obj/item/W as obj, mob/user as mob) - if(istype(W,/obj/item/weapon/pen/crayon/marker)) +/obj/item/storage/fancy/markers/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W,/obj/item/pen/crayon/marker)) switch(W:colourName) if("mime") to_chat(user, "This marker is too depressing to be contained in this box.") @@ -222,7 +222,7 @@ /* * Cracker Pack */ -/obj/item/weapon/storage/fancy/crackers +/obj/item/storage/fancy/crackers name = "\improper Getmore Crackers" icon = 'icons/obj/food.dmi' icon_state = "crackerbox" @@ -230,13 +230,13 @@ max_storage_space = ITEMSIZE_COST_TINY * 6 max_w_class = ITEMSIZE_TINY w_class = ITEMSIZE_SMALL - can_hold = list(/obj/item/weapon/reagent_containers/food/snacks/cracker) - starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/cracker = 6) + can_hold = list(/obj/item/reagent_containers/food/snacks/cracker) + starts_with = list(/obj/item/reagent_containers/food/snacks/cracker = 6) /* * Cigarette Pack */ -/obj/item/weapon/storage/fancy/cigarettes +/obj/item/storage/fancy/cigarettes name = "\improper pack of Trans-Stellar Duty-frees" desc = "A ubiquitous brand of cigarettes, found in every major spacefaring corporation in the universe. As mild and flavorless as it gets." description_fluff = "The Trans-Stellar Duty-Free Cigarette Company was created as an imprint of NanoTrasen. They are the most boring, tasteless, dry cigarettes on the market, but due to just how unremarkable (not to mention cheap to produce) they are, they sold in vending machines in almost every corner of the galaxy." @@ -247,12 +247,12 @@ throwforce = 2 slot_flags = SLOT_BELT storage_slots = 6 - can_hold = list(/obj/item/clothing/mask/smokable/cigarette, /obj/item/weapon/flame/lighter, /obj/item/trash/cigbutt) + can_hold = list(/obj/item/clothing/mask/smokable/cigarette, /obj/item/flame/lighter, /obj/item/trash/cigbutt) icon_type = "cigarette" starts_with = list(/obj/item/clothing/mask/smokable/cigarette = 6) var/brand = "\improper Trans-Stellar Duty-free" -/obj/item/weapon/storage/fancy/cigarettes/Initialize() +/obj/item/storage/fancy/cigarettes/Initialize() . = ..() flags |= NOREACT create_reagents(15 * storage_slots)//so people can inject cigarettes without opening a packet, now with being able to inject the whole one @@ -262,14 +262,14 @@ C.brand = brand C.desc += " This one is \a [brand]." -/obj/item/weapon/storage/fancy/cigarettes/New() +/obj/item/storage/fancy/cigarettes/New() if(!open_state) open_state = "[initial(icon_state)]_open" if(!closed_state) closed_state = "[initial(icon_state)]" ..() -/obj/item/weapon/storage/fancy/cigarettes/update_icon() +/obj/item/storage/fancy/cigarettes/update_icon() cut_overlays() if(open) icon_state = open_state @@ -278,7 +278,7 @@ else icon_state = closed_state -/obj/item/weapon/storage/fancy/cigarettes/open(mob/user as mob) +/obj/item/storage/fancy/cigarettes/open(mob/user as mob) if(open) return open = TRUE @@ -288,7 +288,7 @@ update_icon() ..() -/obj/item/weapon/storage/fancy/cigarettes/close(mob/user as mob) +/obj/item/storage/fancy/cigarettes/close(mob/user as mob) open = FALSE if(contents.len == 0) icon_state = "[initial(icon_state)]_empty" @@ -296,14 +296,14 @@ update_icon() ..() -/obj/item/weapon/storage/fancy/cigarettes/remove_from_storage(obj/item/W as obj, atom/new_location) +/obj/item/storage/fancy/cigarettes/remove_from_storage(obj/item/W as obj, atom/new_location) // Don't try to transfer reagents to lighters if(istype(W, /obj/item/clothing/mask/smokable/cigarette)) var/obj/item/clothing/mask/smokable/cigarette/C = W reagents.trans_to_obj(C, (reagents.total_volume/contents.len)) return ..() -/obj/item/weapon/storage/fancy/cigarettes/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) +/obj/item/storage/fancy/cigarettes/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) if(!istype(M, /mob)) return @@ -312,7 +312,7 @@ var/obj/item/clothing/mask/smokable/cigarette/cig = locate() in src if(cig == null) - to_chat(user, "Looks like the packet is out of cigarettes.") + to_chat(user, span_notice("Looks like the packet is out of cigarettes.")) return // Instead of running equip_to_slot_if_possible() we check here first, @@ -326,53 +326,53 @@ user.equip_to_slot(cig, slot_wear_mask) reagents.maximum_volume = 15 * contents.len - to_chat(user, "You take a cigarette out of the pack.") + to_chat(user, span_notice("You take a cigarette out of the pack.")) update_icon() else ..() -/obj/item/weapon/storage/fancy/cigarettes/dromedaryco +/obj/item/storage/fancy/cigarettes/dromedaryco name = "\improper DromedaryCo packet" desc = "A packet of six Earth-export DromedaryCo cancer sticks. A label on the packaging reads, \"Wouldn't a slow death make a change?\"" description_fluff = "DromedaryCo is one of Sol's oldest cigarette brands, and takes pride in having sourced tobcacco from the same Indian plantations since 2044. Popular with those willing to pay extra for a little nostalgia." icon_state = "Dpacket" brand = "\improper Dromedary Co. cigarette" -/obj/item/weapon/storage/fancy/cigarettes/killthroat +/obj/item/storage/fancy/cigarettes/killthroat name = "\improper AcmeCo packet" desc = "A packet of six AcmeCo cigarettes. For those who want to obtain a record for the most cancerous tumors on a budget." description_fluff = "Available anywhere people breathe and want to breathe less, AcmeCo is the cheapest, most widespread cigarette brand in the galaxy. They taste like trash, but when you're keeping them inside your jumpsuit on a 16 hour shift, you're probably not too concerned with flavour." icon_state = "Apacket" brand = "\improper Acme Co. cigarette" -/obj/item/weapon/storage/fancy/cigarettes/luckystars +/obj/item/storage/fancy/cigarettes/luckystars name = "\improper pack of Lucky Stars" desc = "A mellow blend made from synthetic, pod-grown tobacco. The commercial jingle is guaranteed to get stuck in your head." description_fluff = "Lucky Stars are some of the most prolific advertisers in the business, with Gilthari Exports plastering the name and slogan on everything from workplace safety videos to racing bikes. 'Feel the gentle warmth of your Lucky Star'." icon_state = "LSpacket" brand = "\improper Lucky Star" -/obj/item/weapon/storage/fancy/cigarettes/jerichos +/obj/item/storage/fancy/cigarettes/jerichos name = "\improper pack of Jerichos" desc = "Typically seen dangling from the lips of Fleet veterans and border world hustlers. Tastes like hickory smoke, feels like warm liquid death down your lungs." description_fluff = "The Jericho brand has carefully cultivated its 'rugged' image ever since its completely accidental association with the SolGov-Hegemony war due to their sizable corporate presence in the region. Prior to the war, Jerichos were considered the realm of drunks and sad divorcees." icon_state = "Jpacket" brand = "\improper Jericho" -/obj/item/weapon/storage/fancy/cigarettes/menthols +/obj/item/storage/fancy/cigarettes/menthols name = "\improper pack of Temperamento Menthols" desc = "With a sharp and natural organic menthol flavor, these Temperamentos are a favorite of science vessel crews. Hardly anyone knows they make 'em in non-menthol!" description_fluff = "Temperamento Menthols are a product of the Aether Atmospherics and Recycling company, and the 'smooth' menthol taste is rumoured to be the chemical by-product of some far more profitable industrial synthesis." icon_state = "TMpacket" brand = "\improper Temperamento Menthol" -/obj/item/weapon/storage/fancy/cigarettes/carcinomas +/obj/item/storage/fancy/cigarettes/carcinomas name = "\improper pack of Carcinoma Angels" desc = "This previously unknown brand was slated for the chopping block, until they were publicly endorsed by an old Earthling gonzo journalist. The rest is history. They sell a variety for cats, too." description_fluff = "The bitter taste of a Carcinoma Angel is considered desirable by many equally bitter wash-ups who consider themselves to be 'hard-boiled'. The smell is practically inseparable from urban security offices, and old men with exonet radio shows." brand = "\improper Carcinoma Angel" -/obj/item/weapon/storage/fancy/cigarettes/professionals +/obj/item/storage/fancy/cigarettes/professionals name = "\improper pack of Professional 120s" desc = "Let's face it - if you're smoking these, you're either trying to look upper-class or you're 80 years old. That's the only excuse. They are, however, very good quality." description_fluff = "Grown and rolled in a meticulously maintained biosphere orbitting Love, P120 tobacco is marketed as 'probably the best in the galaxy'. The premium price point, and the fact that the vast majority of consumers couldn't really tell the difference between this and the next leading brand." @@ -382,7 +382,7 @@ /* * Cigar Box */ -/obj/item/weapon/storage/fancy/cigar +/obj/item/storage/fancy/cigar name = "cigar case" desc = "A case for holding your cigars when you are not smoking them." description_fluff = "The tasteful stained palm case tells you that these 'Palma Grande' premium \ @@ -398,25 +398,25 @@ icon_type = "cigar" starts_with = list(/obj/item/clothing/mask/smokable/cigarette/cigar = 5) -/obj/item/weapon/storage/fancy/cigar/Initialize() +/obj/item/storage/fancy/cigar/Initialize() . = ..() flags |= NOREACT create_reagents(15 * storage_slots) -/obj/item/weapon/storage/fancy/cigar/remove_from_storage(obj/item/W as obj, atom/new_location) +/obj/item/storage/fancy/cigar/remove_from_storage(obj/item/W as obj, atom/new_location) var/obj/item/clothing/mask/smokable/cigarette/cigar/C = W if(!istype(C)) return reagents.trans_to_obj(C, (reagents.total_volume/contents.len)) return ..() -/obj/item/weapon/storage/fancy/cigar/New() +/obj/item/storage/fancy/cigar/New() if(!open_state) open_state = "[initial(icon_state)]0" if(!closed_state) closed_state = "[initial(icon_state)]" ..() -/obj/item/weapon/storage/fancy/cigar/update_icon() +/obj/item/storage/fancy/cigar/update_icon() cut_overlays() if(open) icon_state = open_state @@ -425,19 +425,19 @@ else icon_state = closed_state -/obj/item/weapon/storage/fancy/cigar/open(mob/user as mob) +/obj/item/storage/fancy/cigar/open(mob/user as mob) if(open) return open = TRUE update_icon() ..() -/obj/item/weapon/storage/fancy/cigar/close(mob/user as mob) +/obj/item/storage/fancy/cigar/close(mob/user as mob) open = FALSE update_icon() ..() -/obj/item/weapon/storage/fancy/cigar/choiba +/obj/item/storage/fancy/cigar/choiba name = "/improper Choiba cigar case" desc = "A fancy case for holding your cigars when you are not smoking them." description_fluff = "The exquisite wooden case bears the markings of the \ @@ -450,7 +450,7 @@ icon_type = "cigar" starts_with = list(/obj/item/clothing/mask/smokable/cigarette/cigar/cohiba = 5) -/obj/item/weapon/storage/fancy/cigar/havana +/obj/item/storage/fancy/cigar/havana name = "\improper Havana cigar case" desc = "A fancy case for holding your cigars when you are not smoking them." icon_state = "havanacase" @@ -461,7 +461,7 @@ /* * Tobacco Bits */ -/obj/item/weapon/storage/rollingpapers +/obj/item/storage/rollingpapers name = "rolling paper pack" desc = "A small cardboard pack containing several folded rolling papers." icon_state = "paperbox" @@ -470,47 +470,47 @@ throwforce = 2 slot_flags = SLOT_BELT storage_slots = 14 - can_hold = list(/obj/item/weapon/reagent_containers/rollingpaper) - starts_with = list(/obj/item/weapon/reagent_containers/rollingpaper = 14) + can_hold = list(/obj/item/reagent_containers/rollingpaper) + starts_with = list(/obj/item/reagent_containers/rollingpaper = 14) -/obj/item/weapon/storage/rollingpapers/blunt +/obj/item/storage/rollingpapers/blunt name = "blunt wrap pack" desc = "A small cardboard pack containing several folded blunt wraps." icon_state = "bluntbox" storage_slots = 7 - can_hold = list(/obj/item/weapon/reagent_containers/rollingpaper/blunt) - starts_with = list(/obj/item/weapon/reagent_containers/rollingpaper/blunt = 7) + can_hold = list(/obj/item/reagent_containers/rollingpaper/blunt) + starts_with = list(/obj/item/reagent_containers/rollingpaper/blunt = 7) /* * Vial Box */ -/obj/item/weapon/storage/fancy/vials +/obj/item/storage/fancy/vials icon = 'icons/obj/vialbox.dmi' icon_state = "vialbox6" icon_type = "vial" name = "vial storage box" desc = "A helpful rack to hold test tubes." storage_slots = 6 - can_hold = list(/obj/item/weapon/reagent_containers/glass/beaker/vial) - starts_with = list(/obj/item/weapon/reagent_containers/glass/beaker/vial = 6) + can_hold = list(/obj/item/reagent_containers/glass/beaker/vial) + starts_with = list(/obj/item/reagent_containers/glass/beaker/vial = 6) -/obj/item/weapon/storage/lockbox/vials +/obj/item/storage/lockbox/vials name = "secure vial storage box" desc = "A locked box for keeping things away from children." icon = 'icons/obj/vialbox.dmi' icon_state = "vialbox0" item_state_slots = list(slot_r_hand_str = "syringe_kit", slot_l_hand_str = "syringe_kit") max_w_class = ITEMSIZE_SMALL - can_hold = list(/obj/item/weapon/reagent_containers/glass/beaker/vial) + can_hold = list(/obj/item/reagent_containers/glass/beaker/vial) max_storage_space = ITEMSIZE_COST_SMALL * 6 //The sum of the w_classes of all the items in this storage item. storage_slots = 6 req_access = list(access_virology) -/obj/item/weapon/storage/lockbox/vials/Initialize() +/obj/item/storage/lockbox/vials/Initialize() . = ..() update_icon() -/obj/item/weapon/storage/lockbox/vials/update_icon(var/itemremoved = 0) +/obj/item/storage/lockbox/vials/update_icon(var/itemremoved = 0) var/total_contents = contents.len - itemremoved icon_state = "vialbox[total_contents]" cut_overlays() @@ -521,14 +521,14 @@ else add_overlay("ledb") -/obj/item/weapon/storage/lockbox/vials/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/item/storage/lockbox/vials/attackby(obj/item/W as obj, mob/user as mob) ..() update_icon() /* * Box of Chocolates */ -/obj/item/weapon/storage/fancy/heartbox +/obj/item/storage/fancy/heartbox icon_state = "heartbox" name = "box of chocolates" icon_type = "chocolate" @@ -536,23 +536,23 @@ var/startswith = 6 max_storage_space = ITEMSIZE_COST_SMALL * 6 can_hold = list( - /obj/item/weapon/reagent_containers/food/snacks/chocolatepiece, - /obj/item/weapon/reagent_containers/food/snacks/chocolatepiece/white, - /obj/item/weapon/reagent_containers/food/snacks/chocolatepiece/truffle + /obj/item/reagent_containers/food/snacks/chocolatepiece, + /obj/item/reagent_containers/food/snacks/chocolatepiece/white, + /obj/item/reagent_containers/food/snacks/chocolatepiece/truffle ) starts_with = list( - /obj/item/weapon/reagent_containers/food/snacks/chocolatepiece, - /obj/item/weapon/reagent_containers/food/snacks/chocolatepiece, - /obj/item/weapon/reagent_containers/food/snacks/chocolatepiece, - /obj/item/weapon/reagent_containers/food/snacks/chocolatepiece/white, - /obj/item/weapon/reagent_containers/food/snacks/chocolatepiece/white, - /obj/item/weapon/reagent_containers/food/snacks/chocolatepiece/truffle + /obj/item/reagent_containers/food/snacks/chocolatepiece, + /obj/item/reagent_containers/food/snacks/chocolatepiece, + /obj/item/reagent_containers/food/snacks/chocolatepiece, + /obj/item/reagent_containers/food/snacks/chocolatepiece/white, + /obj/item/reagent_containers/food/snacks/chocolatepiece/white, + /obj/item/reagent_containers/food/snacks/chocolatepiece/truffle ) -/obj/item/weapon/storage/fancy/heartbox/Initialize() +/obj/item/storage/fancy/heartbox/Initialize() . = ..() update_icon() -/obj/item/weapon/storage/fancy/heartbox/update_icon(var/itemremoved = 0) +/obj/item/storage/fancy/heartbox/update_icon(var/itemremoved = 0) if (contents.len == 0) icon_state = "heartbox_empty" diff --git a/code/game/objects/items/weapons/storage/fancy_yw.dm b/code/game/objects/items/weapons/storage/fancy_yw.dm index de46475791e..bb94dd9c7e9 100644 --- a/code/game/objects/items/weapons/storage/fancy_yw.dm +++ b/code/game/objects/items/weapons/storage/fancy_yw.dm @@ -1,9 +1,9 @@ -/obj/item/weapon/storage/fancy/cigarettes/yw +/obj/item/storage/fancy/cigarettes/yw icon = 'icons/obj/cigarettes_yw.dmi' -/obj/item/weapon/storage/fancy/cigarettes/yw/mauser +/obj/item/storage/fancy/cigarettes/yw/mauser name = "\improper pack of f13 cigarettes" desc = "A packet of 6 f13 brand cigarettes, they somehow have a faint flavor of gunpowder... And mustard gas." description_fluff = "f13 is a side brand of the Mauser family. The Mauser brand is an old earth, German company that has managed to stay afloat throughout the years, they mainly produce projectile weapons that are known to be extremely efficient and powerful. They are also known for their Gorilla class mech which is a force to be reckoned with. They have a wide range of other branded products, including this cigarette packet." icon_state = "MauserPacket" - brand = "\improper Mauser" \ No newline at end of file + brand = "\improper Mauser" diff --git a/code/game/objects/items/weapons/storage/firstaid.dm b/code/game/objects/items/weapons/storage/firstaid.dm index ff6cfafe7c7..841f55cb222 100644 --- a/code/game/objects/items/weapons/storage/firstaid.dm +++ b/code/game/objects/items/weapons/storage/firstaid.dm @@ -7,7 +7,7 @@ /* * First Aid Kits */ -/obj/item/weapon/storage/firstaid +/obj/item/storage/firstaid name = "first aid kit" desc = "It's an emergency medical kit for those serious boo-boos." icon = 'icons/obj/storage.dmi' @@ -19,29 +19,29 @@ drop_sound = 'sound/items/drop/cardboardbox.ogg' pickup_sound = 'sound/items/pickup/cardboardbox.ogg' -/obj/item/weapon/storage/firstaid/Initialize() +/obj/item/storage/firstaid/Initialize() . = ..() if(icon_variety) icon_state = pick(icon_variety) icon_variety = null -/obj/item/weapon/storage/firstaid/fire +/obj/item/storage/firstaid/fire name = "fire first aid kit" desc = "It's an emergency medical kit for when the toxins lab spontaneously burns down." icon_state = "ointment" item_state_slots = list(slot_r_hand_str = "firstaid-ointment", slot_l_hand_str = "firstaid-ointment") //icon_variety = list("ointment","firefirstaid") //VOREStation Removal starts_with = list( - /obj/item/device/healthanalyzer, - /obj/item/weapon/reagent_containers/hypospray/autoinjector, + /obj/item/healthanalyzer, + /obj/item/reagent_containers/hypospray/autoinjector, /obj/item/stack/medical/ointment, /obj/item/stack/medical/ointment, - /obj/item/weapon/reagent_containers/pill/kelotane, - /obj/item/weapon/reagent_containers/pill/kelotane, - /obj/item/weapon/reagent_containers/pill/kelotane + /obj/item/reagent_containers/pill/kelotane, + /obj/item/reagent_containers/pill/kelotane, + /obj/item/reagent_containers/pill/kelotane ) -/obj/item/weapon/storage/firstaid/regular +/obj/item/storage/firstaid/regular icon_state = "firstaid" starts_with = list( /obj/item/stack/medical/bruise_pack, @@ -49,48 +49,48 @@ /obj/item/stack/medical/bruise_pack, /obj/item/stack/medical/ointment, /obj/item/stack/medical/ointment, - /obj/item/device/healthanalyzer, - /obj/item/weapon/reagent_containers/hypospray/autoinjector + /obj/item/healthanalyzer, + /obj/item/reagent_containers/hypospray/autoinjector ) -/obj/item/weapon/storage/firstaid/toxin +/obj/item/storage/firstaid/toxin name = "poison first aid kit" //IRL the term used would be poison first aid kit. desc = "Used to treat when one has a high amount of toxins in their body." icon_state = "antitoxin" item_state_slots = list(slot_r_hand_str = "firstaid-toxin", slot_l_hand_str = "firstaid-toxin") //icon_variety = list("antitoxin","antitoxfirstaid","antitoxfirstaid2","antitoxfirstaid3") //VOREStation Removal starts_with = list( - /obj/item/weapon/reagent_containers/syringe/antitoxin, - /obj/item/weapon/reagent_containers/syringe/antitoxin, - /obj/item/weapon/reagent_containers/syringe/antitoxin, - /obj/item/weapon/reagent_containers/pill/antitox, - /obj/item/weapon/reagent_containers/pill/antitox, - /obj/item/weapon/reagent_containers/pill/antitox, - /obj/item/device/healthanalyzer + /obj/item/reagent_containers/syringe/antitoxin, + /obj/item/reagent_containers/syringe/antitoxin, + /obj/item/reagent_containers/syringe/antitoxin, + /obj/item/reagent_containers/pill/antitox, + /obj/item/reagent_containers/pill/antitox, + /obj/item/reagent_containers/pill/antitox, + /obj/item/healthanalyzer ) -/obj/item/weapon/storage/firstaid/o2 +/obj/item/storage/firstaid/o2 name = "oxygen deprivation first aid kit" desc = "A box full of oxygen goodies." icon_state = "o2" - item_state_slots = list(slot_r_hand_str = "firstaid-o2", slot_l_hand_str = "firstaid-o2") + item_state_slots = list(slot_r_hand_str = "firstaid-o2", slot_l_hand_str = "firstaid-o2") starts_with = list( - /obj/item/weapon/reagent_containers/pill/dexalin, - /obj/item/weapon/reagent_containers/pill/dexalin, - /obj/item/weapon/reagent_containers/pill/dexalin, - /obj/item/weapon/reagent_containers/pill/dexalin, - /obj/item/weapon/reagent_containers/hypospray/autoinjector, - /obj/item/weapon/reagent_containers/syringe/inaprovaline, - /obj/item/device/healthanalyzer + /obj/item/reagent_containers/pill/dexalin, + /obj/item/reagent_containers/pill/dexalin, + /obj/item/reagent_containers/pill/dexalin, + /obj/item/reagent_containers/pill/dexalin, + /obj/item/reagent_containers/hypospray/autoinjector, + /obj/item/reagent_containers/syringe/inaprovaline, + /obj/item/healthanalyzer ) -/obj/item/weapon/storage/firstaid/adv +/obj/item/storage/firstaid/adv name = "advanced first aid kit" desc = "Contains advanced medical treatments, for serious boo-boos." icon_state = "advfirstaid" item_state_slots = list(slot_r_hand_str = "firstaid-advanced", slot_l_hand_str = "firstaid-advanced") starts_with = list( - /obj/item/weapon/reagent_containers/hypospray/autoinjector, + /obj/item/reagent_containers/hypospray/autoinjector, /obj/item/stack/medical/advanced/bruise_pack, /obj/item/stack/medical/advanced/bruise_pack, /obj/item/stack/medical/advanced/bruise_pack, @@ -99,24 +99,24 @@ /obj/item/stack/medical/splint ) -/obj/item/weapon/storage/firstaid/combat +/obj/item/storage/firstaid/combat name = "combat medical kit" desc = "Contains advanced medical treatments." icon_state = "bezerk" item_state_slots = list(slot_r_hand_str = "firstaid-advanced", slot_l_hand_str = "firstaid-advanced") starts_with = list( - /obj/item/weapon/storage/pill_bottle/bicaridine, - /obj/item/weapon/storage/pill_bottle/dermaline, - /obj/item/weapon/storage/pill_bottle/dexalin_plus, - /obj/item/weapon/storage/pill_bottle/dylovene, - /obj/item/weapon/storage/pill_bottle/tramadol, - /obj/item/weapon/storage/pill_bottle/spaceacillin, - /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/clotting, + /obj/item/storage/pill_bottle/bicaridine, + /obj/item/storage/pill_bottle/dermaline, + /obj/item/storage/pill_bottle/dexalin_plus, + /obj/item/storage/pill_bottle/dylovene, + /obj/item/storage/pill_bottle/tramadol, + /obj/item/storage/pill_bottle/spaceacillin, + /obj/item/reagent_containers/hypospray/autoinjector/biginjector/clotting, /obj/item/stack/medical/splint, - /obj/item/device/healthanalyzer/advanced + /obj/item/healthanalyzer/advanced ) -/obj/item/weapon/storage/firstaid/surgery +/obj/item/storage/firstaid/surgery name = "surgery kit" desc = "Contains tools for surgery. Has precise foam fitting for safe transport and automatically sterilizes the content between uses." icon = 'icons/obj/storage.dmi' // VOREStation edit @@ -125,52 +125,52 @@ max_w_class = ITEMSIZE_NORMAL can_hold = list( - /obj/item/weapon/surgical/bonesetter, - /obj/item/weapon/surgical/cautery, - /obj/item/weapon/surgical/circular_saw, - /obj/item/weapon/surgical/hemostat, - /obj/item/weapon/surgical/retractor, - /obj/item/weapon/surgical/scalpel, - /obj/item/weapon/surgical/surgicaldrill, - /obj/item/weapon/surgical/bonegel, - /obj/item/weapon/surgical/FixOVein, + /obj/item/surgical/bonesetter, + /obj/item/surgical/cautery, + /obj/item/surgical/circular_saw, + /obj/item/surgical/hemostat, + /obj/item/surgical/retractor, + /obj/item/surgical/scalpel, + /obj/item/surgical/surgicaldrill, + /obj/item/surgical/bonegel, + /obj/item/surgical/FixOVein, /obj/item/stack/medical/advanced/bruise_pack, /obj/item/stack/nanopaste, - /obj/item/device/healthanalyzer/advanced, - /obj/item/weapon/autopsy_scanner + /obj/item/healthanalyzer/advanced, + /obj/item/autopsy_scanner ) starts_with = list( - /obj/item/weapon/surgical/bonesetter, - /obj/item/weapon/surgical/cautery, - /obj/item/weapon/surgical/circular_saw, - /obj/item/weapon/surgical/hemostat, - /obj/item/weapon/surgical/retractor, - /obj/item/weapon/surgical/scalpel, - /obj/item/weapon/surgical/surgicaldrill, - /obj/item/weapon/surgical/bonegel, - /obj/item/weapon/surgical/FixOVein, + /obj/item/surgical/bonesetter, + /obj/item/surgical/cautery, + /obj/item/surgical/circular_saw, + /obj/item/surgical/hemostat, + /obj/item/surgical/retractor, + /obj/item/surgical/scalpel, + /obj/item/surgical/surgicaldrill, + /obj/item/surgical/bonegel, + /obj/item/surgical/FixOVein, /obj/item/stack/medical/advanced/bruise_pack, - /obj/item/device/healthanalyzer/advanced, - /obj/item/weapon/autopsy_scanner + /obj/item/healthanalyzer/advanced, + /obj/item/autopsy_scanner ) -/obj/item/weapon/storage/firstaid/clotting +/obj/item/storage/firstaid/clotting name = "clotting kit" desc = "Contains chemicals to stop bleeding." max_storage_space = ITEMSIZE_COST_SMALL * 7 - starts_with = list(/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/clotting = 8) + starts_with = list(/obj/item/reagent_containers/hypospray/autoinjector/biginjector/clotting = 8) -/obj/item/weapon/storage/firstaid/bonemed +/obj/item/storage/firstaid/bonemed name = "bone repair kit" desc = "Contains chemicals to mend broken bones." max_storage_space = ITEMSIZE_COST_SMALL * 7 - starts_with = list(/obj/item/weapon/reagent_containers/hypospray/autoinjector/bonemed = 8) + starts_with = list(/obj/item/reagent_containers/hypospray/autoinjector/bonemed = 8) /* * Pill Bottles */ -/obj/item/weapon/storage/pill_bottle +/obj/item/storage/pill_bottle name = "pill bottle" desc = "It's an airtight container for storing medication." icon_state = "pill_canister" @@ -179,7 +179,7 @@ pickup_sound = 'sound/items/pickup/pillbottle.ogg' item_state_slots = list(slot_r_hand_str = "contsolid", slot_l_hand_str = "contsolid") w_class = ITEMSIZE_SMALL - can_hold = list(/obj/item/weapon/reagent_containers/pill,/obj/item/weapon/dice,/obj/item/weapon/paper) + can_hold = list(/obj/item/reagent_containers/pill,/obj/item/dice,/obj/item/paper) allow_quick_gather = 1 allow_quick_empty = 1 use_to_pickup = TRUE @@ -193,36 +193,36 @@ var/base_name = " " var/base_desc = " " -/obj/item/weapon/storage/pill_bottle/Initialize() +/obj/item/storage/pill_bottle/Initialize() . = ..() base_name = name base_desc = desc update_icon() -/obj/item/weapon/storage/pill_bottle/update_icon() +/obj/item/storage/pill_bottle/update_icon() cut_overlays() if(wrapper_color) var/image/I = image(icon, "pillbottle_wrap") I.color = wrapper_color add_overlay(I) -/obj/item/weapon/storage/pill_bottle/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W, /obj/item/weapon/pen) || istype(W, /obj/item/device/flashlight/pen)) +/obj/item/storage/pill_bottle/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W, /obj/item/pen) || istype(W, /obj/item/flashlight/pen)) var/tmp_label = sanitizeSafe(tgui_input_text(user, "Enter a label for [name]", "Label", label_text, MAX_NAME_LEN), MAX_NAME_LEN) if(length(tmp_label) > 50) - to_chat(user, "The label can be at most 50 characters long.") + to_chat(user, span_notice("The label can be at most 50 characters long.")) else if(length(tmp_label) > 10) - to_chat(user, "You set the label.") + to_chat(user, span_notice("You set the label.")) label_text = tmp_label update_name_label() else - to_chat(user, "You set the label to \"[tmp_label]\".") + to_chat(user, span_notice("You set the label to \"[tmp_label]\".")) label_text = tmp_label update_name_label() else ..() -/obj/item/weapon/storage/pill_bottle/proc/update_name_label() +/obj/item/storage/pill_bottle/proc/update_name_label() if(!label_text) name = base_name desc = base_desc @@ -234,72 +234,72 @@ name = "[base_name] ([label_text])" desc = "[base_desc] It is labeled \"[label_text]\"." -/obj/item/weapon/storage/pill_bottle/antitox +/obj/item/storage/pill_bottle/antitox name = "pill bottle (Dylovene)" desc = "Contains pills used to counter toxins." - starts_with = list(/obj/item/weapon/reagent_containers/pill/antitox = 7) + starts_with = list(/obj/item/reagent_containers/pill/antitox = 7) wrapper_color = COLOR_GREEN -/obj/item/weapon/storage/pill_bottle/bicaridine +/obj/item/storage/pill_bottle/bicaridine name = "pill bottle (Bicaridine)" desc = "Contains pills used to stabilize the severely injured." - starts_with = list(/obj/item/weapon/reagent_containers/pill/bicaridine = 7) + starts_with = list(/obj/item/reagent_containers/pill/bicaridine = 7) wrapper_color = COLOR_MAROON -/obj/item/weapon/storage/pill_bottle/dexalin_plus +/obj/item/storage/pill_bottle/dexalin_plus name = "pill bottle (Dexalin Plus)" desc = "Contains pills used to treat extreme cases of oxygen deprivation." - starts_with = list(/obj/item/weapon/reagent_containers/pill/dexalin_plus = 7) + starts_with = list(/obj/item/reagent_containers/pill/dexalin_plus = 7) wrapper_color = "#3366cc" -/obj/item/weapon/storage/pill_bottle/dermaline +/obj/item/storage/pill_bottle/dermaline name = "pill bottle (Dermaline)" desc = "Contains pills used to treat burn wounds." - starts_with = list(/obj/item/weapon/reagent_containers/pill/dermaline = 7) + starts_with = list(/obj/item/reagent_containers/pill/dermaline = 7) wrapper_color = "#e8d131" -/obj/item/weapon/storage/pill_bottle/dylovene +/obj/item/storage/pill_bottle/dylovene name = "pill bottle (Dylovene)" desc = "Contains pills used to treat toxic substances in the blood." - starts_with = list(/obj/item/weapon/reagent_containers/pill/dylovene = 7) + starts_with = list(/obj/item/reagent_containers/pill/dylovene = 7) wrapper_color = COLOR_GREEN -/obj/item/weapon/storage/pill_bottle/inaprovaline +/obj/item/storage/pill_bottle/inaprovaline name = "pill bottle (Inaprovaline)" desc = "Contains pills used to stabilize patients." - starts_with = list(/obj/item/weapon/reagent_containers/pill/inaprovaline = 7) + starts_with = list(/obj/item/reagent_containers/pill/inaprovaline = 7) wrapper_color = COLOR_PALE_BLUE_GRAY -/obj/item/weapon/storage/pill_bottle/kelotane +/obj/item/storage/pill_bottle/kelotane name = "pill bottle (Kelotane)" desc = "Contains pills used to treat burns." - starts_with = list(/obj/item/weapon/reagent_containers/pill/kelotane = 7) + starts_with = list(/obj/item/reagent_containers/pill/kelotane = 7) wrapper_color = "#ec8b2f" -/obj/item/weapon/storage/pill_bottle/spaceacillin +/obj/item/storage/pill_bottle/spaceacillin name = "pill bottle (Spaceacillin)" desc = "A theta-lactam antibiotic. Effective against many diseases likely to be encountered in space." - starts_with = list(/obj/item/weapon/reagent_containers/pill/spaceacillin = 7) + starts_with = list(/obj/item/reagent_containers/pill/spaceacillin = 7) wrapper_color = COLOR_PALE_GREEN_GRAY -/obj/item/weapon/storage/pill_bottle/tramadol +/obj/item/storage/pill_bottle/tramadol name = "pill bottle (Tramadol)" desc = "Contains pills used to relieve pain." - starts_with = list(/obj/item/weapon/reagent_containers/pill/tramadol = 7) + starts_with = list(/obj/item/reagent_containers/pill/tramadol = 7) wrapper_color = COLOR_PURPLE_GRAY -/obj/item/weapon/storage/pill_bottle/citalopram +/obj/item/storage/pill_bottle/citalopram name = "pill bottle (Citalopram)" desc = "Contains pills used to stabilize a patient's mood." - starts_with = list(/obj/item/weapon/reagent_containers/pill/citalopram = 7) + starts_with = list(/obj/item/reagent_containers/pill/citalopram = 7) wrapper_color = COLOR_GRAY -/obj/item/weapon/storage/pill_bottle/carbon +/obj/item/storage/pill_bottle/carbon name = "pill bottle (Carbon)" desc = "Contains pills used to neutralise chemicals in the stomach." - starts_with = list(/obj/item/weapon/reagent_containers/pill/carbon = 7) + starts_with = list(/obj/item/reagent_containers/pill/carbon = 7) -/obj/item/weapon/storage/pill_bottle/iron +/obj/item/storage/pill_bottle/iron name = "pill bottle (Iron)" desc = "Contains pills used to aid in blood regeneration." - starts_with = list(/obj/item/weapon/reagent_containers/pill/iron = 7) + starts_with = list(/obj/item/reagent_containers/pill/iron = 7) diff --git a/code/game/objects/items/weapons/storage/firstaid_vr.dm b/code/game/objects/items/weapons/storage/firstaid_vr.dm index 0b193e7e9bd..67064b5000e 100644 --- a/code/game/objects/items/weapons/storage/firstaid_vr.dm +++ b/code/game/objects/items/weapons/storage/firstaid_vr.dm @@ -1,53 +1,53 @@ -/obj/item/weapon/storage/firstaid +/obj/item/storage/firstaid icon = 'icons/obj/storage_vr.dmi' -/obj/item/weapon/storage/firstaid/fire +/obj/item/storage/firstaid/fire starts_with = list( - /obj/item/weapon/storage/pill_bottle/kelotane, + /obj/item/storage/pill_bottle/kelotane, /obj/item/stack/medical/ointment, /obj/item/stack/medical/ointment, - /obj/item/weapon/reagent_containers/hypospray/autoinjector/burn, - /obj/item/weapon/reagent_containers/hypospray/autoinjector/burn, - /obj/item/weapon/reagent_containers/hypospray/autoinjector/burn, - /obj/item/weapon/reagent_containers/hypospray/autoinjector/burn + /obj/item/reagent_containers/hypospray/autoinjector/burn, + /obj/item/reagent_containers/hypospray/autoinjector/burn, + /obj/item/reagent_containers/hypospray/autoinjector/burn, + /obj/item/reagent_containers/hypospray/autoinjector/burn ) -/obj/item/weapon/storage/firstaid/regular +/obj/item/storage/firstaid/regular starts_with = list( - /obj/item/device/healthanalyzer, /*YW EDIT*/ + /obj/item/healthanalyzer, /*YW EDIT*/ /obj/item/stack/medical/bruise_pack, /obj/item/stack/medical/bruise_pack, /obj/item/stack/medical/bruise_pack, /obj/item/stack/medical/ointment, /obj/item/stack/medical/ointment, - /obj/item/weapon/storage/pill_bottle/paracetamol + /obj/item/storage/pill_bottle/paracetamol ) -/obj/item/weapon/storage/firstaid/toxin +/obj/item/storage/firstaid/toxin starts_with = list( - /obj/item/weapon/reagent_containers/hypospray/autoinjector/detox, - /obj/item/weapon/reagent_containers/hypospray/autoinjector/detox, - /obj/item/weapon/reagent_containers/hypospray/autoinjector/detox, - /obj/item/weapon/reagent_containers/hypospray/autoinjector/detox, - /obj/item/weapon/reagent_containers/hypospray/autoinjector/rad, - /obj/item/weapon/reagent_containers/hypospray/autoinjector/rad, - /obj/item/weapon/storage/pill_bottle/antitox + /obj/item/reagent_containers/hypospray/autoinjector/detox, + /obj/item/reagent_containers/hypospray/autoinjector/detox, + /obj/item/reagent_containers/hypospray/autoinjector/detox, + /obj/item/reagent_containers/hypospray/autoinjector/detox, + /obj/item/reagent_containers/hypospray/autoinjector/rad, + /obj/item/reagent_containers/hypospray/autoinjector/rad, + /obj/item/storage/pill_bottle/antitox ) -/obj/item/weapon/storage/firstaid/o2 +/obj/item/storage/firstaid/o2 starts_with = list( - /obj/item/weapon/reagent_containers/hypospray/autoinjector/oxy, - /obj/item/weapon/reagent_containers/hypospray/autoinjector/oxy, - /obj/item/weapon/reagent_containers/hypospray/autoinjector/oxy, - /obj/item/weapon/reagent_containers/hypospray/autoinjector/oxy, - /obj/item/weapon/storage/pill_bottle/inaprovaline, - /obj/item/weapon/storage/pill_bottle/blood_regen, - /obj/item/weapon/storage/pill_bottle/dexalin + /obj/item/reagent_containers/hypospray/autoinjector/oxy, + /obj/item/reagent_containers/hypospray/autoinjector/oxy, + /obj/item/reagent_containers/hypospray/autoinjector/oxy, + /obj/item/reagent_containers/hypospray/autoinjector/oxy, + /obj/item/storage/pill_bottle/inaprovaline, + /obj/item/storage/pill_bottle/blood_regen, + /obj/item/storage/pill_bottle/dexalin ) -/obj/item/weapon/storage/firstaid/adv +/obj/item/storage/firstaid/adv starts_with = list( - /obj/item/weapon/storage/pill_bottle/assorted, + /obj/item/storage/pill_bottle/assorted, /obj/item/stack/medical/advanced/bruise_pack, /obj/item/stack/medical/advanced/bruise_pack, /obj/item/stack/medical/advanced/bruise_pack, @@ -56,240 +56,241 @@ /obj/item/stack/medical/splint ) -/obj/item/weapon/storage/firstaid/combat +/obj/item/storage/firstaid/combat starts_with = list( - /obj/item/weapon/storage/pill_bottle/vermicetol, - /obj/item/weapon/storage/pill_bottle/dermaline, - /obj/item/weapon/storage/pill_bottle/dexalin_plus, - /obj/item/weapon/storage/pill_bottle/carthatoline, - /obj/item/weapon/storage/pill_bottle/tramadol, - /obj/item/weapon/storage/pill_bottle/corophizine, - /obj/item/weapon/storage/pill_bottle/combat, + /obj/item/storage/pill_bottle/vermicetol, + /obj/item/storage/pill_bottle/dermaline, + /obj/item/storage/pill_bottle/dexalin_plus, + /obj/item/storage/pill_bottle/carthatoline, + /obj/item/storage/pill_bottle/tramadol, + /obj/item/storage/pill_bottle/corophizine, + /obj/item/storage/pill_bottle/combat, /obj/item/stack/medical/splint, - /obj/item/device/healthanalyzer/phasic + /obj/item/healthanalyzer/phasic ) -/obj/item/weapon/storage/firstaid/surgery +/obj/item/storage/firstaid/surgery can_hold = list( - /obj/item/weapon/surgical/bonesetter, - /obj/item/weapon/surgical/cautery, - /obj/item/weapon/surgical/circular_saw, - /obj/item/weapon/surgical/hemostat, - /obj/item/weapon/surgical/retractor, - /obj/item/weapon/surgical/scalpel, - /obj/item/weapon/surgical/surgicaldrill, - /obj/item/weapon/surgical/bonegel, - /obj/item/weapon/surgical/FixOVein, + /obj/item/surgical/bone_clamp, + /obj/item/surgical/bonesetter, + /obj/item/surgical/cautery, + /obj/item/surgical/circular_saw, + /obj/item/surgical/hemostat, + /obj/item/surgical/retractor, + /obj/item/surgical/scalpel, + /obj/item/surgical/surgicaldrill, + /obj/item/surgical/bonegel, + /obj/item/surgical/FixOVein, /obj/item/stack/medical/advanced/bruise_pack, /obj/item/stack/nanopaste, - /obj/item/device/healthanalyzer, - /obj/item/weapon/autopsy_scanner, - /obj/item/weapon/surgical/bioregen + /obj/item/healthanalyzer, + /obj/item/autopsy_scanner, + /obj/item/surgical/bioregen ) starts_with = list( - /obj/item/weapon/surgical/bonesetter, - /obj/item/weapon/surgical/cautery, - /obj/item/weapon/surgical/circular_saw, - /obj/item/weapon/surgical/hemostat, - /obj/item/weapon/surgical/retractor, - /obj/item/weapon/surgical/scalpel, - /obj/item/weapon/surgical/surgicaldrill, - /obj/item/weapon/surgical/bonegel, - /obj/item/weapon/surgical/FixOVein, + /obj/item/surgical/bonesetter, + /obj/item/surgical/cautery, + /obj/item/surgical/circular_saw, + /obj/item/surgical/hemostat, + /obj/item/surgical/retractor, + /obj/item/surgical/scalpel, + /obj/item/surgical/surgicaldrill, + /obj/item/surgical/bonegel, + /obj/item/surgical/FixOVein, /obj/item/stack/medical/advanced/bruise_pack, - /obj/item/device/healthanalyzer, - /obj/item/weapon/autopsy_scanner, - /obj/item/weapon/surgical/bioregen + /obj/item/healthanalyzer, + /obj/item/autopsy_scanner, + /obj/item/surgical/bioregen ) -/obj/item/weapon/storage/firstaid/clotting +/obj/item/storage/firstaid/clotting icon_state = "clottingkit" -/obj/item/weapon/storage/firstaid/bonemed +/obj/item/storage/firstaid/bonemed icon_state = "pinky" -/obj/item/weapon/storage/pill_bottle/antitox - starts_with = list(/obj/item/weapon/reagent_containers/pill/antitox = 14) +/obj/item/storage/pill_bottle/antitox + starts_with = list(/obj/item/reagent_containers/pill/antitox = 14) -/obj/item/weapon/storage/pill_bottle/bicaridine - starts_with = list(/obj/item/weapon/reagent_containers/pill/bicaridine = 14) +/obj/item/storage/pill_bottle/bicaridine + starts_with = list(/obj/item/reagent_containers/pill/bicaridine = 14) -/obj/item/weapon/storage/pill_bottle/dexalin_plus - starts_with = list(/obj/item/weapon/reagent_containers/pill/dexalin_plus = 14) +/obj/item/storage/pill_bottle/dexalin_plus + starts_with = list(/obj/item/reagent_containers/pill/dexalin_plus = 14) -/obj/item/weapon/storage/pill_bottle/dermaline - starts_with = list(/obj/item/weapon/reagent_containers/pill/dermaline = 14) +/obj/item/storage/pill_bottle/dermaline + starts_with = list(/obj/item/reagent_containers/pill/dermaline = 14) -/obj/item/weapon/storage/pill_bottle/dylovene - starts_with = list(/obj/item/weapon/reagent_containers/pill/dylovene = 14) +/obj/item/storage/pill_bottle/dylovene + starts_with = list(/obj/item/reagent_containers/pill/dylovene = 14) -/obj/item/weapon/storage/pill_bottle/inaprovaline - starts_with = list(/obj/item/weapon/reagent_containers/pill/inaprovaline = 14) +/obj/item/storage/pill_bottle/inaprovaline + starts_with = list(/obj/item/reagent_containers/pill/inaprovaline = 14) -/obj/item/weapon/storage/pill_bottle/kelotane - starts_with = list(/obj/item/weapon/reagent_containers/pill/kelotane = 14) +/obj/item/storage/pill_bottle/kelotane + starts_with = list(/obj/item/reagent_containers/pill/kelotane = 14) -/obj/item/weapon/storage/pill_bottle/spaceacillin - starts_with = list(/obj/item/weapon/reagent_containers/pill/spaceacillin = 14) +/obj/item/storage/pill_bottle/spaceacillin + starts_with = list(/obj/item/reagent_containers/pill/spaceacillin = 14) -/obj/item/weapon/storage/pill_bottle/tramadol - starts_with = list(/obj/item/weapon/reagent_containers/pill/tramadol = 14) +/obj/item/storage/pill_bottle/tramadol + starts_with = list(/obj/item/reagent_containers/pill/tramadol = 14) -/obj/item/weapon/storage/pill_bottle/citalopram - starts_with = list(/obj/item/weapon/reagent_containers/pill/citalopram = 14) +/obj/item/storage/pill_bottle/citalopram + starts_with = list(/obj/item/reagent_containers/pill/citalopram = 14) -/obj/item/weapon/storage/pill_bottle/carbon - starts_with = list(/obj/item/weapon/reagent_containers/pill/carbon = 14) +/obj/item/storage/pill_bottle/carbon + starts_with = list(/obj/item/reagent_containers/pill/carbon = 14) -/obj/item/weapon/storage/pill_bottle/iron - starts_with = list(/obj/item/weapon/reagent_containers/pill/iron = 14) +/obj/item/storage/pill_bottle/iron + starts_with = list(/obj/item/reagent_containers/pill/iron = 14) -/obj/item/weapon/storage/pill_bottle/blood_regen +/obj/item/storage/pill_bottle/blood_regen name = "pill bottle (blood regeneration)" desc = "Contains iron and copper pills for treating bloodloss by employed species." - starts_with = list(/obj/item/weapon/reagent_containers/pill/iron = 9, - /obj/item/weapon/reagent_containers/pill/copper = 5) + starts_with = list(/obj/item/reagent_containers/pill/iron = 9, + /obj/item/reagent_containers/pill/copper = 5) -/obj/item/weapon/storage/pill_bottle/adminordrazine +/obj/item/storage/pill_bottle/adminordrazine name = "pill bottle (Adminordrazine)" desc = "It's magic. We don't have to explain it." - starts_with = list(/obj/item/weapon/reagent_containers/pill/adminordrazine = 21) + starts_with = list(/obj/item/reagent_containers/pill/adminordrazine = 21) -/obj/item/weapon/storage/pill_bottle/nutriment +/obj/item/storage/pill_bottle/nutriment name = "pill bottle (Food)" desc = "Contains pills used to feed people." - starts_with = list(/obj/item/weapon/reagent_containers/pill/nutriment = 7, /obj/item/weapon/reagent_containers/pill/protein = 7) + starts_with = list(/obj/item/reagent_containers/pill/nutriment = 7, /obj/item/reagent_containers/pill/protein = 7) -/obj/item/weapon/storage/pill_bottle/rezadone +/obj/item/storage/pill_bottle/rezadone name = "pill bottle (Rezadone)" desc = "A powder with almost magical properties, this substance can effectively treat genetic damage in humanoids, though excessive consumption has side effects." - starts_with = list(/obj/item/weapon/reagent_containers/pill/rezadone = 14) + starts_with = list(/obj/item/reagent_containers/pill/rezadone = 14) wrapper_color = COLOR_GREEN_GRAY -/obj/item/weapon/storage/pill_bottle/peridaxon +/obj/item/storage/pill_bottle/peridaxon name = "pill bottle (Peridaxon)" desc = "Used to encourage recovery of internal organs and nervous systems. Medicate cautiously." - starts_with = list(/obj/item/weapon/reagent_containers/pill/peridaxon = 14) + starts_with = list(/obj/item/reagent_containers/pill/peridaxon = 14) wrapper_color = COLOR_PURPLE -/obj/item/weapon/storage/pill_bottle/carthatoline +/obj/item/storage/pill_bottle/carthatoline name = "pill bottle (Carthatoline)" desc = "Carthatoline is strong evacuant used to treat severe poisoning." - starts_with = list(/obj/item/weapon/reagent_containers/pill/carthatoline = 14) + starts_with = list(/obj/item/reagent_containers/pill/carthatoline = 14) wrapper_color = COLOR_GREEN_GRAY -/obj/item/weapon/storage/pill_bottle/alkysine +/obj/item/storage/pill_bottle/alkysine name = "pill bottle (Alkysine)" desc = "Alkysine is a drug used to lessen the damage to neurological tissue after a catastrophic injury. Can heal brain tissue." - starts_with = list(/obj/item/weapon/reagent_containers/pill/alkysine = 14) + starts_with = list(/obj/item/reagent_containers/pill/alkysine = 14) wrapper_color = COLOR_YELLOW -/obj/item/weapon/storage/pill_bottle/imidazoline +/obj/item/storage/pill_bottle/imidazoline name = "pill bottle (Imidazoline)" desc = "Heals eye damage." - starts_with = list(/obj/item/weapon/reagent_containers/pill/imidazoline = 14) + starts_with = list(/obj/item/reagent_containers/pill/imidazoline = 14) wrapper_color = COLOR_PURPLE_GRAY -/obj/item/weapon/storage/pill_bottle/osteodaxon +/obj/item/storage/pill_bottle/osteodaxon name = "pill bottle (Osteodaxon)" desc = "An experimental drug used to heal bone fractures." - starts_with = list(/obj/item/weapon/reagent_containers/pill/osteodaxon = 14) + starts_with = list(/obj/item/reagent_containers/pill/osteodaxon = 14) wrapper_color = COLOR_WHITE -/obj/item/weapon/storage/pill_bottle/myelamine +/obj/item/storage/pill_bottle/myelamine name = "pill bottle (Myelamine)" desc = "Used to rapidly clot internal hemorrhages by increasing the effectiveness of platelets." - starts_with = list(/obj/item/weapon/reagent_containers/pill/myelamine = 14) + starts_with = list(/obj/item/reagent_containers/pill/myelamine = 14) wrapper_color = COLOR_PALE_PURPLE_GRAY -/obj/item/weapon/storage/pill_bottle/hyronalin +/obj/item/storage/pill_bottle/hyronalin name = "pill bottle (Hyronalin)" desc = "Hyronalin is a medicinal drug used to counter the effect of radiation poisoning." - starts_with = list(/obj/item/weapon/reagent_containers/pill/hyronalin = 14) + starts_with = list(/obj/item/reagent_containers/pill/hyronalin = 14) wrapper_color = COLOR_TEAL -/obj/item/weapon/storage/pill_bottle/arithrazine +/obj/item/storage/pill_bottle/arithrazine name = "pill bottle (Arithrazine)" desc = "Arithrazine is an unstable medication used for the most extreme cases of radiation poisoning." - starts_with = list(/obj/item/weapon/reagent_containers/pill/arithrazine = 14) + starts_with = list(/obj/item/reagent_containers/pill/arithrazine = 14) wrapper_color = COLOR_TEAL -/obj/item/weapon/storage/pill_bottle/corophizine +/obj/item/storage/pill_bottle/corophizine name = "pill bottle (Corophizine)" desc = "A wide-spectrum antibiotic drug. Powerful and uncomfortable in equal doses." - starts_with = list(/obj/item/weapon/reagent_containers/pill/corophizine = 14) + starts_with = list(/obj/item/reagent_containers/pill/corophizine = 14) wrapper_color = COLOR_PALE_GREEN_GRAY -/obj/item/weapon/storage/pill_bottle/vermicetol +/obj/item/storage/pill_bottle/vermicetol name = "pill bottle (Vermicetol)" desc = "Contains pills used to stabilize the extremely injured." - starts_with = list(/obj/item/weapon/reagent_containers/pill/vermicetol = 14) + starts_with = list(/obj/item/reagent_containers/pill/vermicetol = 14) wrapper_color = COLOR_MAROON -/obj/item/weapon/storage/pill_bottle/healing_nanites +/obj/item/storage/pill_bottle/healing_nanites name = "pill bottle (Healing nanites)" desc = "Miniature medical robots that swiftly restore bodily damage." - starts_with = list(/obj/item/weapon/reagent_containers/pill/healing_nanites = 14) + starts_with = list(/obj/item/reagent_containers/pill/healing_nanites = 14) -/obj/item/weapon/storage/pill_bottle/sleevingcure - name = "pill bottle (Vey-Med Resleeving Booster)" - desc = "A rare medication sold by Vey-Med that helps counteract negative side effects of using resleeving machinery." //Bye, KHI! Get lost. - starts_with = list(/obj/item/weapon/reagent_containers/pill/sleevingcure = 7) +/obj/item/storage/pill_bottle/sleevingcure + name = "pill bottle (resleeving sickness cure)" + desc = "A rare cure provided by Vey-Medical that helps counteract negative side effects of using imperfect resleeving machinery." + starts_with = list(/obj/item/reagent_containers/pill/sleevingcure = 7) -/obj/item/weapon/storage/pill_bottle/sleevingcure/full - starts_with = list(/obj/item/weapon/reagent_containers/pill/sleevingcure = 14) +/obj/item/storage/pill_bottle/sleevingcure/full + starts_with = list(/obj/item/reagent_containers/pill/sleevingcure = 14) -/obj/item/weapon/storage/mrebag/pill +/obj/item/storage/mrebag/pill name = "vacuum-sealed pill" desc = "A small vacuum-sealed package containing a singular pill. For emergencies only." icon_state = "pouch_small" max_w_class = ITEMSIZE_TINY - can_hold = list(/obj/item/weapon/reagent_containers/pill) + can_hold = list(/obj/item/reagent_containers/pill) -/obj/item/weapon/storage/mrebag/pill/sleevingcure - name = "vacuum-sealed pill (Vey-Med Resleeving Booster)" +/obj/item/storage/mrebag/pill/sleevingcure + name = "vacuum-sealed pill (resleeving sickness cure)" desc = "A small vacuum-sealed package containing a singular pill. For emergencies only." - starts_with = list(/obj/item/weapon/reagent_containers/pill/sleevingcure) + starts_with = list(/obj/item/reagent_containers/pill/sleevingcure) -/obj/item/weapon/storage/pill_bottle/paracetamol +/obj/item/storage/pill_bottle/paracetamol name = "pill bottle (Paracetamol)" desc = "Contains over the counter medicine to treat pain." - starts_with = list(/obj/item/weapon/reagent_containers/pill/paracetamol = 14) + starts_with = list(/obj/item/reagent_containers/pill/paracetamol = 14) wrapper_color = COLOR_GRAY -/obj/item/weapon/storage/pill_bottle/dexalin +/obj/item/storage/pill_bottle/dexalin name = "pill bottle (Dexalin)" desc = "Contains pills used to treat oxygen deprivation." - starts_with = list(/obj/item/weapon/reagent_containers/pill/dexalin = 14) + starts_with = list(/obj/item/reagent_containers/pill/dexalin = 14) wrapper_color = "#3366cc" -/obj/item/weapon/storage/pill_bottle/assorted +/obj/item/storage/pill_bottle/assorted name = "pill bottle (Assorted)" desc = "Commonly found on paramedics, these assorted pill bottles contain basic treatments for nonstandard injuries." starts_with = list( - /obj/item/weapon/reagent_containers/pill/inaprovaline = 3, - /obj/item/weapon/reagent_containers/pill/antitox = 3, - /obj/item/weapon/reagent_containers/pill/iron = 1, - /obj/item/weapon/reagent_containers/pill/copper = 1, - /obj/item/weapon/reagent_containers/pill/tramadol = 2, - /obj/item/weapon/reagent_containers/pill/hyronalin = 3, - /obj/item/weapon/reagent_containers/pill/spaceacillin + /obj/item/reagent_containers/pill/inaprovaline = 3, + /obj/item/reagent_containers/pill/antitox = 3, + /obj/item/reagent_containers/pill/iron = 1, + /obj/item/reagent_containers/pill/copper = 1, + /obj/item/reagent_containers/pill/tramadol = 2, + /obj/item/reagent_containers/pill/hyronalin = 3, + /obj/item/reagent_containers/pill/spaceacillin ) wrapper_color = COLOR_BLACK -/obj/item/weapon/storage/pill_bottle/combat +/obj/item/storage/pill_bottle/combat name = "pill bottle (Combat)" desc = "A pill bottle filled with some of the rarest medical treatmeants to exist." max_storage_space = ITEMSIZE_COST_TINY * 20 starts_with = list( - /obj/item/weapon/reagent_containers/pill/peridaxon = 5, - /obj/item/weapon/reagent_containers/pill/rezadone = 5, - /obj/item/weapon/reagent_containers/pill/myelamine = 3, - /obj/item/weapon/reagent_containers/pill/osteodaxon = 3, - /obj/item/weapon/reagent_containers/pill/arithrazine = 2, - /obj/item/weapon/reagent_containers/pill/alkysine = 1, - /obj/item/weapon/reagent_containers/pill/imidazoline = 1 + /obj/item/reagent_containers/pill/peridaxon = 5, + /obj/item/reagent_containers/pill/rezadone = 5, + /obj/item/reagent_containers/pill/myelamine = 3, + /obj/item/reagent_containers/pill/osteodaxon = 3, + /obj/item/reagent_containers/pill/arithrazine = 2, + /obj/item/reagent_containers/pill/alkysine = 1, + /obj/item/reagent_containers/pill/imidazoline = 1 ) wrapper_color = COLOR_BLACK diff --git a/code/game/objects/items/weapons/storage/internal.dm b/code/game/objects/items/weapons/storage/internal.dm index 63afc51b4e5..6cbea858798 100644 --- a/code/game/objects/items/weapons/storage/internal.dm +++ b/code/game/objects/items/weapons/storage/internal.dm @@ -1,24 +1,24 @@ //A storage item intended to be used by other items to provide storage functionality. //Types that use this should consider overriding emp_act() and hear_talk(), unless they shield their contents somehow. -/obj/item/weapon/storage/internal +/obj/item/storage/internal preserve_item = 1 var/obj/item/master_item -/obj/item/weapon/storage/internal/New(obj/item/MI) +/obj/item/storage/internal/New(obj/item/MI) master_item = MI loc = master_item name = master_item.name verbs -= /obj/item/verb/verb_pickup //make sure this is never picked up. ..() -/obj/item/weapon/storage/internal/Destroy() +/obj/item/storage/internal/Destroy() master_item = null . = ..() -/obj/item/weapon/storage/internal/attack_hand() +/obj/item/storage/internal/attack_hand() return //make sure this is never picked up -/obj/item/weapon/storage/internal/mob_can_equip(M as mob, slot, disable_warning = FALSE) +/obj/item/storage/internal/mob_can_equip(M as mob, slot, disable_warning = FALSE) return 0 //make sure this is never picked up //Helper procs to cleanly implement internal storages - storage items that provide inventory slots for other items. @@ -30,7 +30,7 @@ //items that use internal storage have the option of calling this to emulate default storage MouseDrop behaviour. //returns 1 if the master item's parent's MouseDrop() should be called, 0 otherwise. It's strange, but no other way of //doing it without the ability to call another proc's parent, really. -/obj/item/weapon/storage/internal/proc/handle_mousedrop(mob/user as mob, obj/over_object as obj) +/obj/item/storage/internal/proc/handle_mousedrop(mob/user as mob, obj/over_object as obj) if (ishuman(user) || issmall(user)) //so monkeys can take off their backpacks -- Urist if (istype(user.loc,/obj/mecha)) // stops inventory actions in a mech @@ -63,7 +63,7 @@ //items that use internal storage have the option of calling this to emulate default storage attack_hand behaviour. //returns 1 if the master item's parent's attack_hand() should be called, 0 otherwise. //It's strange, but no other way of doing it without the ability to call another proc's parent, really. -/obj/item/weapon/storage/internal/proc/handle_attack_hand(mob/user as mob) +/obj/item/storage/internal/proc/handle_attack_hand(mob/user as mob) if(ishuman(user)) var/mob/living/carbon/human/H = user @@ -86,5 +86,5 @@ src.close(M) return 1 -/obj/item/weapon/storage/internal/Adjacent(var/atom/neighbor) +/obj/item/storage/internal/Adjacent(var/atom/neighbor) return master_item.Adjacent(neighbor) diff --git a/code/game/objects/items/weapons/storage/laundry_basket.dm b/code/game/objects/items/weapons/storage/laundry_basket.dm index ab0f529153f..17d20f0456a 100644 --- a/code/game/objects/items/weapons/storage/laundry_basket.dm +++ b/code/game/objects/items/weapons/storage/laundry_basket.dm @@ -3,7 +3,7 @@ // ----------------------------- // An item designed for hauling the belongings of a character. // So this cannot be abused for other uses, we make it two-handed and inable to have its storage looked into. -/obj/item/weapon/storage/laundry_basket +/obj/item/storage/laundry_basket name = "laundry basket" icon = 'icons/obj/janitor.dmi' icon_state = "laundry-empty" @@ -21,28 +21,28 @@ var/linked -/obj/item/weapon/storage/laundry_basket/attack_hand(mob/living/user as mob) +/obj/item/storage/laundry_basket/attack_hand(mob/living/user as mob) if(ishuman(user)) var/mob/living/carbon/human/H = user var/obj/item/organ/external/temp = H.get_organ("r_hand") if (user.hand) temp = H.get_organ("l_hand") if(!temp) - to_chat(user, "You need two hands to pick this up!") + to_chat(user, span_warning("You need two hands to pick this up!")) return if(user.get_inactive_hand()) - to_chat(user, "You need your other hand to be empty") + to_chat(user, span_warning("You need your other hand to be empty")) return return ..() -/obj/item/weapon/storage/laundry_basket/attack_self(mob/user as mob) +/obj/item/storage/laundry_basket/attack_self(mob/user as mob) var/turf/T = get_turf(user) - to_chat(user, "You dump the [src]'s contents onto \the [T].") + to_chat(user, span_notice("You dump the [src]'s contents onto \the [T].")) return ..() -/obj/item/weapon/storage/laundry_basket/pickup(mob/user) - var/obj/item/weapon/storage/laundry_basket/offhand/O = new(user) +/obj/item/storage/laundry_basket/pickup(mob/user) + var/obj/item/storage/laundry_basket/offhand/O = new(user) O.name = "[name] - second hand" O.desc = "Your second grip on the [name]." O.linked = src @@ -50,7 +50,7 @@ linked = O return -/obj/item/weapon/storage/laundry_basket/update_icon() +/obj/item/storage/laundry_basket/update_icon() if(contents.len) icon_state = "laundry-full" else @@ -58,31 +58,31 @@ return -/obj/item/weapon/storage/laundry_basket/MouseDrop(obj/over_object as obj) +/obj/item/storage/laundry_basket/MouseDrop(obj/over_object as obj) if(over_object == usr) return else return ..() -/obj/item/weapon/storage/laundry_basket/dropped(mob/user as mob) +/obj/item/storage/laundry_basket/dropped(mob/user as mob) if(linked) QDEL_NULL(linked) return ..() -/obj/item/weapon/storage/laundry_basket/show_to(mob/user as mob) +/obj/item/storage/laundry_basket/show_to(mob/user as mob) return -/obj/item/weapon/storage/laundry_basket/open(mob/user as mob) +/obj/item/storage/laundry_basket/open(mob/user as mob) //Offhand -/obj/item/weapon/storage/laundry_basket/offhand +/obj/item/storage/laundry_basket/offhand icon = 'icons/obj/weapons.dmi' icon_state = "offhand" name = "second hand" use_to_pickup = FALSE -/obj/item/weapon/storage/laundry_basket/offhand/dropped(mob/user as mob) +/obj/item/storage/laundry_basket/offhand/dropped(mob/user as mob) if(user.isEquipped(linked)) user.drop_from_inventory(linked) return diff --git a/code/game/objects/items/weapons/storage/lockbox.dm b/code/game/objects/items/weapons/storage/lockbox.dm index 16db776bbcf..5f3bd8210fc 100644 --- a/code/game/objects/items/weapons/storage/lockbox.dm +++ b/code/game/objects/items/weapons/storage/lockbox.dm @@ -1,6 +1,6 @@ //This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32 -/obj/item/weapon/storage/lockbox +/obj/item/storage/lockbox name = "lockbox" desc = "A locked box." icon_state = "lockbox+l" @@ -17,25 +17,25 @@ var/icon_broken = "lockbox+b" -/obj/item/weapon/storage/lockbox/attackby(obj/item/weapon/W as obj, mob/user as mob) - if (istype(W, /obj/item/weapon/card/id)) +/obj/item/storage/lockbox/attackby(obj/item/W as obj, mob/user as mob) + if (istype(W, /obj/item/card/id)) if(src.broken) - to_chat(user, "It appears to be broken.") + to_chat(user, span_warning("It appears to be broken.")) return if(src.allowed(user)) src.locked = !( src.locked ) if(src.locked) src.icon_state = src.icon_locked - to_chat(user, "You lock \the [src]!") + to_chat(user, span_notice("You lock \the [src]!")) close_all() return else src.icon_state = src.icon_closed - to_chat(user, "You unlock \the [src]!") + to_chat(user, span_notice("You unlock \the [src]!")) return else - to_chat(user, "Access Denied") - else if(istype(W, /obj/item/weapon/melee/energy/blade)) + to_chat(user, span_warning("Access Denied")) + else if(istype(W, /obj/item/melee/energy/blade)) if(emag_act(INFINITY, user, W, "The locker has been sliced open by [user] with an energy blade!", "You hear metal being sliced and sparks flying.")) var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread() spark_system.set_up(5, 0, src.loc) @@ -45,27 +45,27 @@ if(!locked) ..() else - to_chat(user, "It's locked!") + to_chat(user, span_warning("It's locked!")) return -/obj/item/weapon/storage/lockbox/show_to(mob/user as mob) +/obj/item/storage/lockbox/show_to(mob/user as mob) if(locked) - to_chat(user, "It's locked!") + to_chat(user, span_warning("It's locked!")) else ..() return -/obj/item/weapon/storage/lockbox/emag_act(var/remaining_charges, var/mob/user, var/emag_source, var/visual_feedback = "", var/audible_feedback = "") +/obj/item/storage/lockbox/emag_act(var/remaining_charges, var/mob/user, var/emag_source, var/visual_feedback = "", var/audible_feedback = "") if(!broken) if(visual_feedback) - visual_feedback = "[visual_feedback]" + visual_feedback = span_warning("[visual_feedback]") else - visual_feedback = "The locker has been sliced open by [user] with an electromagnetic card!" + visual_feedback = span_warning("The locker has been sliced open by [user] with an electromagnetic card!") if(audible_feedback) - audible_feedback = "[audible_feedback]" + audible_feedback = span_warning("[audible_feedback]") else - audible_feedback = "You hear a faint electrical spark." + audible_feedback = span_warning("You hear a faint electrical spark.") broken = 1 locked = 0 @@ -74,21 +74,21 @@ visible_message(visual_feedback, audible_feedback) return 1 -/obj/item/weapon/storage/lockbox/loyalty +/obj/item/storage/lockbox/loyalty name = "lockbox of loyalty implants" req_access = list(access_security) starts_with = list( - /obj/item/weapon/implantcase/loyalty = 3, - /obj/item/weapon/implanter/loyalty + /obj/item/implantcase/loyalty = 3, + /obj/item/implanter/loyalty ) -/obj/item/weapon/storage/lockbox/clusterbang +/obj/item/storage/lockbox/clusterbang name = "lockbox of clusterbangs" desc = "You have a bad feeling about opening this." req_access = list(access_security) - starts_with = list(/obj/item/weapon/grenade/flashbang/clusterbang) + starts_with = list(/obj/item/grenade/flashbang/clusterbang) -/obj/item/weapon/storage/lockbox/medal +/obj/item/storage/lockbox/medal name = "lockbox of medals" desc = "A lockbox filled with commemorative medals, it has the NanoTrasen logo stamped on it." req_access = list(access_heads) diff --git a/code/game/objects/items/weapons/storage/misc.dm b/code/game/objects/items/weapons/storage/misc.dm index 70f70e8bcc9..978af558524 100644 --- a/code/game/objects/items/weapons/storage/misc.dm +++ b/code/game/objects/items/weapons/storage/misc.dm @@ -3,43 +3,43 @@ */ var/list/random_weighted_donuts = list( - /obj/item/weapon/reagent_containers/food/snacks/donut/plain = 5, - /obj/item/weapon/reagent_containers/food/snacks/donut/plain/jelly = 5, - /obj/item/weapon/reagent_containers/food/snacks/donut/pink = 4, - /obj/item/weapon/reagent_containers/food/snacks/donut/pink/jelly = 4, - /obj/item/weapon/reagent_containers/food/snacks/donut/purple = 4, - /obj/item/weapon/reagent_containers/food/snacks/donut/purple/jelly = 4, - /obj/item/weapon/reagent_containers/food/snacks/donut/green = 4, - /obj/item/weapon/reagent_containers/food/snacks/donut/green/jelly = 4, - /obj/item/weapon/reagent_containers/food/snacks/donut/beige = 4, - /obj/item/weapon/reagent_containers/food/snacks/donut/beige/jelly = 4, - /obj/item/weapon/reagent_containers/food/snacks/donut/choc = 4, - /obj/item/weapon/reagent_containers/food/snacks/donut/choc/jelly = 4, - /obj/item/weapon/reagent_containers/food/snacks/donut/blue = 4, - /obj/item/weapon/reagent_containers/food/snacks/donut/blue/jelly = 4, - /obj/item/weapon/reagent_containers/food/snacks/donut/yellow = 4, - /obj/item/weapon/reagent_containers/food/snacks/donut/yellow/jelly = 4, - /obj/item/weapon/reagent_containers/food/snacks/donut/olive = 4, - /obj/item/weapon/reagent_containers/food/snacks/donut/olive/jelly = 4, - /obj/item/weapon/reagent_containers/food/snacks/donut/homer = 3, - /obj/item/weapon/reagent_containers/food/snacks/donut/homer/jelly = 3, - /obj/item/weapon/reagent_containers/food/snacks/donut/choc_sprinkles = 3, - /obj/item/weapon/reagent_containers/food/snacks/donut/choc_sprinkles/jelly = 3, - /obj/item/weapon/reagent_containers/food/snacks/donut/chaos = 1 + /obj/item/reagent_containers/food/snacks/donut/plain = 5, + /obj/item/reagent_containers/food/snacks/donut/plain/jelly = 5, + /obj/item/reagent_containers/food/snacks/donut/pink = 4, + /obj/item/reagent_containers/food/snacks/donut/pink/jelly = 4, + /obj/item/reagent_containers/food/snacks/donut/purple = 4, + /obj/item/reagent_containers/food/snacks/donut/purple/jelly = 4, + /obj/item/reagent_containers/food/snacks/donut/green = 4, + /obj/item/reagent_containers/food/snacks/donut/green/jelly = 4, + /obj/item/reagent_containers/food/snacks/donut/beige = 4, + /obj/item/reagent_containers/food/snacks/donut/beige/jelly = 4, + /obj/item/reagent_containers/food/snacks/donut/choc = 4, + /obj/item/reagent_containers/food/snacks/donut/choc/jelly = 4, + /obj/item/reagent_containers/food/snacks/donut/blue = 4, + /obj/item/reagent_containers/food/snacks/donut/blue/jelly = 4, + /obj/item/reagent_containers/food/snacks/donut/yellow = 4, + /obj/item/reagent_containers/food/snacks/donut/yellow/jelly = 4, + /obj/item/reagent_containers/food/snacks/donut/olive = 4, + /obj/item/reagent_containers/food/snacks/donut/olive/jelly = 4, + /obj/item/reagent_containers/food/snacks/donut/homer = 3, + /obj/item/reagent_containers/food/snacks/donut/homer/jelly = 3, + /obj/item/reagent_containers/food/snacks/donut/choc_sprinkles = 3, + /obj/item/reagent_containers/food/snacks/donut/choc_sprinkles/jelly = 3, + /obj/item/reagent_containers/food/snacks/donut/chaos = 1 ) -/obj/item/weapon/storage/box/donut +/obj/item/storage/box/donut icon = 'icons/obj/food_donuts.dmi' icon_state = "donutbox" name = "donut box" desc = "A box that holds tasty donuts, if you're lucky." center_of_mass = list("x" = 16,"y" = 9) max_storage_space = ITEMSIZE_COST_SMALL * 6 - can_hold = list(/obj/item/weapon/reagent_containers/food/snacks/donut) + can_hold = list(/obj/item/reagent_containers/food/snacks/donut) foldable = /obj/item/stack/material/cardboard - //starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/donut/normal = 6) + //starts_with = list(/obj/item/reagent_containers/food/snacks/donut/normal = 6) -/obj/item/weapon/storage/box/donut/Initialize() +/obj/item/storage/box/donut/Initialize() if(!empty) for(var/i in 1 to 6) var/type_to_spawn = pickweight(random_weighted_donuts) @@ -47,57 +47,57 @@ var/list/random_weighted_donuts = list( . = ..() update_icon() -/obj/item/weapon/storage/box/donut/update_icon() +/obj/item/storage/box/donut/update_icon() cut_overlays() var/x_offset = 0 - for(var/obj/item/weapon/reagent_containers/food/snacks/donut/D in contents) + for(var/obj/item/reagent_containers/food/snacks/donut/D in contents) var/mutable_appearance/ma = mutable_appearance(icon = icon, icon_state = D.overlay_state) ma.pixel_x = x_offset add_overlay(ma) x_offset += 3 -/obj/item/weapon/storage/box/donut/empty +/obj/item/storage/box/donut/empty empty = TRUE -/obj/item/weapon/storage/box/wormcan +/obj/item/storage/box/wormcan icon = 'icons/obj/food.dmi' icon_state = "wormcan" name = "can of worms" desc = "You probably do want to open this can of worms." max_storage_space = ITEMSIZE_COST_TINY * 6 can_hold = list( - /obj/item/weapon/reagent_containers/food/snacks/wormsickly, - /obj/item/weapon/reagent_containers/food/snacks/worm, - /obj/item/weapon/reagent_containers/food/snacks/wormdeluxe + /obj/item/reagent_containers/food/snacks/wormsickly, + /obj/item/reagent_containers/food/snacks/worm, + /obj/item/reagent_containers/food/snacks/wormdeluxe ) - starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/worm = 6) + starts_with = list(/obj/item/reagent_containers/food/snacks/worm = 6) -/obj/item/weapon/storage/box/wormcan/Initialize() +/obj/item/storage/box/wormcan/Initialize() . = ..() update_icon() -/obj/item/weapon/storage/box/wormcan/update_icon(var/itemremoved = 0) +/obj/item/storage/box/wormcan/update_icon(var/itemremoved = 0) if (contents.len == 0) icon_state = "wormcan_empty" -/obj/item/weapon/storage/box/wormcan/sickly +/obj/item/storage/box/wormcan/sickly icon_state = "wormcan_sickly" name = "can of sickly worms" desc = "You probably don't want to open this can of worms." max_storage_space = ITEMSIZE_COST_TINY * 6 - starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/wormsickly = 6) + starts_with = list(/obj/item/reagent_containers/food/snacks/wormsickly = 6) -/obj/item/weapon/storage/box/wormcan/sickly/update_icon(var/itemremoved = 0) +/obj/item/storage/box/wormcan/sickly/update_icon(var/itemremoved = 0) if (contents.len == 0) icon_state = "wormcan_empty_sickly" -/obj/item/weapon/storage/box/wormcan/deluxe +/obj/item/storage/box/wormcan/deluxe icon_state = "wormcan_deluxe" name = "can of deluxe worms" desc = "You absolutely want to open this can of worms." max_storage_space = ITEMSIZE_COST_TINY * 6 - starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/wormdeluxe = 6) + starts_with = list(/obj/item/reagent_containers/food/snacks/wormdeluxe = 6) -/obj/item/weapon/storage/box/wormcan/deluxe/update_icon(var/itemremoved = 0) +/obj/item/storage/box/wormcan/deluxe/update_icon(var/itemremoved = 0) if (contents.len == 0) icon_state = "wormcan_empty_deluxe" \ No newline at end of file diff --git a/code/game/objects/items/weapons/storage/mre.dm b/code/game/objects/items/weapons/storage/mre.dm index a964eec9801..e8039405d32 100644 --- a/code/game/objects/items/weapons/storage/mre.dm +++ b/code/game/objects/items/weapons/storage/mre.dm @@ -2,7 +2,7 @@ MRE Stuff */ -/obj/item/weapon/storage/mre +/obj/item/storage/mre name = "standard MRE" desc = "A vacuum-sealed bag containing a day's worth of nutrients for an adult in strenuous situations. There is no visible expiration date on the package." icon = 'icons/obj/food.dmi' @@ -12,207 +12,207 @@ MRE Stuff var/opened = FALSE var/meal_desc = "This one is menu 1, meat pizza." starts_with = list( - /obj/item/weapon/storage/mrebag, - /obj/item/weapon/storage/mrebag/side, - /obj/item/weapon/storage/mrebag/dessert, - /obj/item/weapon/storage/fancy/crackers, + /obj/item/storage/mrebag, + /obj/item/storage/mrebag/side, + /obj/item/storage/mrebag/dessert, + /obj/item/storage/fancy/crackers, /obj/random/mre/spread, /obj/random/mre/drink, /obj/random/mre/sauce, - /obj/item/weapon/material/kitchen/utensil/spoon/plastic + /obj/item/material/kitchen/utensil/spoon/plastic ) -/obj/item/weapon/storage/mre/examine(mob/user) +/obj/item/storage/mre/examine(mob/user) . = ..() . += meal_desc -/obj/item/weapon/storage/mre/update_icon() +/obj/item/storage/mre/update_icon() if(opened) icon_state = "[initial(icon_state)][opened]" . = ..() -/obj/item/weapon/storage/mre/attack_self(mob/user) +/obj/item/storage/mre/attack_self(mob/user) open(user) -/obj/item/weapon/storage/mre/open(mob/user) +/obj/item/storage/mre/open(mob/user) if(!opened) - to_chat(usr, "You tear open the bag, breaking the vacuum seal.") + to_chat(user, span_notice("You tear open the bag, breaking the vacuum seal.")) opened = 1 update_icon() . = ..() -/obj/item/weapon/storage/mre/menu2 +/obj/item/storage/mre/menu2 meal_desc = "This one is menu 2, margherita." starts_with = list( - /obj/item/weapon/storage/mrebag/menu2, - /obj/item/weapon/storage/mrebag/side, - /obj/item/weapon/storage/mrebag/dessert, - /obj/item/weapon/storage/fancy/crackers, + /obj/item/storage/mrebag/menu2, + /obj/item/storage/mrebag/side, + /obj/item/storage/mrebag/dessert, + /obj/item/storage/fancy/crackers, /obj/random/mre/spread, /obj/random/mre/drink, /obj/random/mre/sauce, - /obj/item/weapon/material/kitchen/utensil/spoon/plastic + /obj/item/material/kitchen/utensil/spoon/plastic ) -/obj/item/weapon/storage/mre/menu3 +/obj/item/storage/mre/menu3 meal_desc = "This one is menu 3, vegetable pizza." starts_with = list( - /obj/item/weapon/storage/mrebag/menu3, - /obj/item/weapon/storage/mrebag/side, - /obj/item/weapon/storage/mrebag/dessert, - /obj/item/weapon/storage/fancy/crackers, + /obj/item/storage/mrebag/menu3, + /obj/item/storage/mrebag/side, + /obj/item/storage/mrebag/dessert, + /obj/item/storage/fancy/crackers, /obj/random/mre/spread, /obj/random/mre/drink, /obj/random/mre/sauce, - /obj/item/weapon/material/kitchen/utensil/spoon/plastic + /obj/item/material/kitchen/utensil/spoon/plastic ) -/obj/item/weapon/storage/mre/menu4 +/obj/item/storage/mre/menu4 meal_desc = "This one is menu 4, hamburger." starts_with = list( - /obj/item/weapon/storage/mrebag/menu4, - /obj/item/weapon/storage/mrebag/side, - /obj/item/weapon/storage/mrebag/dessert, - /obj/item/weapon/storage/fancy/crackers, + /obj/item/storage/mrebag/menu4, + /obj/item/storage/mrebag/side, + /obj/item/storage/mrebag/dessert, + /obj/item/storage/fancy/crackers, /obj/random/mre/spread, /obj/random/mre/drink, /obj/random/mre/sauce, - /obj/item/weapon/material/kitchen/utensil/spoon/plastic + /obj/item/material/kitchen/utensil/spoon/plastic ) -/obj/item/weapon/storage/mre/menu5 +/obj/item/storage/mre/menu5 meal_desc = "This one is menu 5, taco." starts_with = list( - /obj/item/weapon/storage/mrebag/menu5, - /obj/item/weapon/storage/mrebag/side, - /obj/item/weapon/storage/mrebag/dessert, - /obj/item/weapon/storage/fancy/crackers, + /obj/item/storage/mrebag/menu5, + /obj/item/storage/mrebag/side, + /obj/item/storage/mrebag/dessert, + /obj/item/storage/fancy/crackers, /obj/random/mre/spread, /obj/random/mre/drink, /obj/random/mre/sauce, - /obj/item/weapon/material/kitchen/utensil/spoon/plastic + /obj/item/material/kitchen/utensil/spoon/plastic ) -/obj/item/weapon/storage/mre/menu6 +/obj/item/storage/mre/menu6 meal_desc = "This one is menu 6, meatbread." starts_with = list( - /obj/item/weapon/storage/mrebag/menu6, - /obj/item/weapon/storage/mrebag/side, - /obj/item/weapon/storage/mrebag/dessert, - /obj/item/weapon/storage/fancy/crackers, + /obj/item/storage/mrebag/menu6, + /obj/item/storage/mrebag/side, + /obj/item/storage/mrebag/dessert, + /obj/item/storage/fancy/crackers, /obj/random/mre/spread, /obj/random/mre/drink, /obj/random/mre/sauce, - /obj/item/weapon/material/kitchen/utensil/spoon/plastic + /obj/item/material/kitchen/utensil/spoon/plastic ) -/obj/item/weapon/storage/mre/menu7 +/obj/item/storage/mre/menu7 meal_desc = "This one is menu 7, salad." starts_with = list( - /obj/item/weapon/storage/mrebag/menu7, - /obj/item/weapon/storage/mrebag/side, - /obj/item/weapon/storage/mrebag/dessert, - /obj/item/weapon/storage/fancy/crackers, + /obj/item/storage/mrebag/menu7, + /obj/item/storage/mrebag/side, + /obj/item/storage/mrebag/dessert, + /obj/item/storage/fancy/crackers, /obj/random/mre/spread, /obj/random/mre/drink, /obj/random/mre/sauce, - /obj/item/weapon/material/kitchen/utensil/spoon/plastic + /obj/item/material/kitchen/utensil/spoon/plastic ) -/obj/item/weapon/storage/mre/menu8 +/obj/item/storage/mre/menu8 meal_desc = " This one is menu 8, hot chili." starts_with = list( - /obj/item/weapon/storage/mrebag/menu8, - /obj/item/weapon/storage/mrebag/side, - /obj/item/weapon/storage/mrebag/dessert, - /obj/item/weapon/storage/fancy/crackers, + /obj/item/storage/mrebag/menu8, + /obj/item/storage/mrebag/side, + /obj/item/storage/mrebag/dessert, + /obj/item/storage/fancy/crackers, /obj/random/mre/spread, /obj/random/mre/drink, /obj/random/mre/sauce, - /obj/item/weapon/material/kitchen/utensil/spoon/plastic + /obj/item/material/kitchen/utensil/spoon/plastic ) -/obj/item/weapon/storage/mre/menu9 +/obj/item/storage/mre/menu9 name = "vegan MRE" meal_desc = "This one is menu 9, boiled rice (skrell-safe)." icon_state = "vegmre" starts_with = list( - /obj/item/weapon/storage/mrebag/menu9, - /obj/item/weapon/storage/mrebag/side, - /obj/item/weapon/storage/mrebag/dessert/menu9, - /obj/item/weapon/storage/fancy/crackers, + /obj/item/storage/mrebag/menu9, + /obj/item/storage/mrebag/side, + /obj/item/storage/mrebag/dessert/menu9, + /obj/item/storage/fancy/crackers, /obj/random/mre/spread/vegan, /obj/random/mre/drink, /obj/random/mre/sauce/vegan, - /obj/item/weapon/material/kitchen/utensil/spoon/plastic + /obj/item/material/kitchen/utensil/spoon/plastic ) -/obj/item/weapon/storage/mre/menu10 +/obj/item/storage/mre/menu10 name = "protein MRE" meal_desc = "This one is menu 10, protein." icon_state = "meatmre" starts_with = list( - /obj/item/weapon/storage/mrebag/menu10, - /obj/item/weapon/storage/mrebag/menu10, - /obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar, - /obj/item/weapon/reagent_containers/food/condiment/small/packet/protein, + /obj/item/storage/mrebag/menu10, + /obj/item/storage/mrebag/menu10, + /obj/item/reagent_containers/food/snacks/candy/proteinbar, + /obj/item/reagent_containers/food/condiment/small/packet/protein, /obj/random/mre/sauce/sugarfree, - /obj/item/weapon/material/kitchen/utensil/spoon/plastic + /obj/item/material/kitchen/utensil/spoon/plastic ) -/obj/item/weapon/storage/mre/menu11 +/obj/item/storage/mre/menu11 name = "emergency MRE" meal_desc = "This one is menu 11, nutriment paste. Only for emergencies." icon_state = "crayonmre" starts_with = list( - /obj/item/weapon/reagent_containers/food/snacks/liquidfood, - /obj/item/weapon/reagent_containers/food/snacks/liquidfood, - /obj/item/weapon/reagent_containers/food/snacks/liquidfood, - /obj/item/weapon/reagent_containers/food/snacks/liquidfood, - /obj/item/weapon/reagent_containers/food/snacks/liquidprotein, - /obj/item/weapon/reagent_containers/food/snacks/liquidprotein, + /obj/item/reagent_containers/food/snacks/liquidfood, + /obj/item/reagent_containers/food/snacks/liquidfood, + /obj/item/reagent_containers/food/snacks/liquidfood, + /obj/item/reagent_containers/food/snacks/liquidfood, + /obj/item/reagent_containers/food/snacks/liquidprotein, + /obj/item/reagent_containers/food/snacks/liquidprotein, ) -/obj/item/weapon/storage/mre/menu12 +/obj/item/storage/mre/menu12 name = "crayon MRE" meal_desc = "This one doesn't have a menu listing. How very odd." icon_state = "crayonmre" starts_with = list( - /obj/item/weapon/storage/fancy/crayons, - /obj/item/weapon/storage/mrebag/dessert/menu11, + /obj/item/storage/fancy/crayons, + /obj/item/storage/mrebag/dessert/menu11, /obj/random/mre/sauce/crayon, /obj/random/mre/sauce/crayon, /obj/random/mre/sauce/crayon ) -/obj/item/weapon/storage/mre/menu13 +/obj/item/storage/mre/menu13 name = "medical MRE" meal_desc = "This one is menu 13, vitamin paste & dessert. Only for emergencies." icon_state = "crayonmre" starts_with = list( - /obj/item/weapon/reagent_containers/food/snacks/liquidvitamin, - /obj/item/weapon/reagent_containers/food/snacks/liquidvitamin, - /obj/item/weapon/reagent_containers/food/snacks/liquidvitamin, - /obj/item/weapon/reagent_containers/food/snacks/liquidprotein, + /obj/item/reagent_containers/food/snacks/liquidvitamin, + /obj/item/reagent_containers/food/snacks/liquidvitamin, + /obj/item/reagent_containers/food/snacks/liquidvitamin, + /obj/item/reagent_containers/food/snacks/liquidprotein, /obj/random/mre/drink, - /obj/item/weapon/storage/mrebag/dessert, - /obj/item/weapon/material/kitchen/utensil/spoon/plastic + /obj/item/storage/mrebag/dessert, + /obj/item/material/kitchen/utensil/spoon/plastic ) -/obj/item/weapon/storage/mre/random +/obj/item/storage/mre/random meal_desc = "The menu label is faded out." starts_with = list( /obj/random/mre/main, - /obj/item/weapon/storage/mrebag/side, - /obj/item/weapon/storage/mrebag/dessert, - /obj/item/weapon/storage/fancy/crackers, + /obj/item/storage/mrebag/side, + /obj/item/storage/mrebag/dessert, + /obj/item/storage/fancy/crackers, /obj/random/mre/spread, /obj/random/mre/drink, /obj/random/mre/sauce, - /obj/item/weapon/material/kitchen/utensil/spoon/plastic + /obj/item/material/kitchen/utensil/spoon/plastic ) -/obj/item/weapon/storage/mrebag +/obj/item/storage/mrebag name = "main course" desc = "A vacuum-sealed bag containing the MRE's main course. Self-heats when opened." icon = 'icons/obj/food.dmi' @@ -221,76 +221,76 @@ MRE Stuff w_class = ITEMSIZE_SMALL max_w_class = ITEMSIZE_SMALL var/opened = FALSE - starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/slice/meatpizza/filled) + starts_with = list(/obj/item/reagent_containers/food/snacks/slice/meatpizza/filled) -/obj/item/weapon/storage/mrebag/Initialize() +/obj/item/storage/mrebag/Initialize() . = ..() -/obj/item/weapon/storage/mrebag/update_icon() +/obj/item/storage/mrebag/update_icon() if(opened) icon_state = "[initial(icon_state)][opened]" . = ..() -/obj/item/weapon/storage/mrebag/attack_self(mob/user) +/obj/item/storage/mrebag/attack_self(mob/user) open(user) -/obj/item/weapon/storage/mrebag/open(mob/user) +/obj/item/storage/mrebag/open(mob/user) if(!opened && !isobserver(user)) - to_chat(usr, "The pouch heats up as you break the vacuum seal.") + to_chat(user, span_notice("The pouch heats up as you break the vacuum seal.")) opened = 1 update_icon() . = ..() -/obj/item/weapon/storage/mrebag/menu2 - starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/slice/margherita/filled) +/obj/item/storage/mrebag/menu2 + starts_with = list(/obj/item/reagent_containers/food/snacks/slice/margherita/filled) -/obj/item/weapon/storage/mrebag/menu3 - starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/slice/vegetablepizza/filled) +/obj/item/storage/mrebag/menu3 + starts_with = list(/obj/item/reagent_containers/food/snacks/slice/vegetablepizza/filled) -/obj/item/weapon/storage/mrebag/menu4 - starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/monkeyburger) +/obj/item/storage/mrebag/menu4 + starts_with = list(/obj/item/reagent_containers/food/snacks/monkeyburger) -/obj/item/weapon/storage/mrebag/menu5 - starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/taco) +/obj/item/storage/mrebag/menu5 + starts_with = list(/obj/item/reagent_containers/food/snacks/taco) -/obj/item/weapon/storage/mrebag/menu6 - starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/slice/meatbread/filled) +/obj/item/storage/mrebag/menu6 + starts_with = list(/obj/item/reagent_containers/food/snacks/slice/meatbread/filled) -/obj/item/weapon/storage/mrebag/menu7 - starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/tossedsalad) +/obj/item/storage/mrebag/menu7 + starts_with = list(/obj/item/reagent_containers/food/snacks/tossedsalad) -/obj/item/weapon/storage/mrebag/menu8 - starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/hotchili) +/obj/item/storage/mrebag/menu8 + starts_with = list(/obj/item/reagent_containers/food/snacks/hotchili) -/obj/item/weapon/storage/mrebag/menu9 - starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/boiledrice) +/obj/item/storage/mrebag/menu9 + starts_with = list(/obj/item/reagent_containers/food/snacks/boiledrice) -/obj/item/weapon/storage/mrebag/menu10 - starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/meatcube) +/obj/item/storage/mrebag/menu10 + starts_with = list(/obj/item/reagent_containers/food/snacks/meatcube) -/obj/item/weapon/storage/mrebag/side +/obj/item/storage/mrebag/side name = "side dish" desc = "A vacuum-sealed bag containing the MRE's side dish. Self-heats when opened." icon_state = "pouch_small" starts_with = list(/obj/random/mre/side) -/obj/item/weapon/storage/mrebag/side/menu10 - starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/meatcube) +/obj/item/storage/mrebag/side/menu10 + starts_with = list(/obj/item/reagent_containers/food/snacks/meatcube) -/obj/item/weapon/storage/mrebag/dessert +/obj/item/storage/mrebag/dessert name = "dessert" desc = "A vacuum-sealed bag containing the MRE's dessert." icon_state = "pouch_small" starts_with = list(/obj/random/mre/dessert) -/obj/item/weapon/storage/mrebag/dessert/menu9 - starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/plumphelmetbiscuit) +/obj/item/storage/mrebag/dessert/menu9 + starts_with = list(/obj/item/reagent_containers/food/snacks/plumphelmetbiscuit) -/obj/item/weapon/storage/mrebag/dessert/menu11 - starts_with = list(/obj/item/weapon/pen/crayon/rainbow) +/obj/item/storage/mrebag/dessert/menu11 + starts_with = list(/obj/item/pen/crayon/rainbow) // TGMC MREs - Smaller, less trash -/obj/item/weapon/storage/box/tgmc_mre +/obj/item/storage/box/tgmc_mre name = "\improper CRS MRE" desc = "Meal Ready-to-Eat, meant to be consumed in the field, prepared by the SolGov Ration Service. It says it's government property..." icon = 'icons/obj/food.dmi' @@ -302,17 +302,17 @@ MRE Stuff foldable = null var/isopened = 0 -/obj/item/weapon/storage/box/tgmc_mre/Initialize() +/obj/item/storage/box/tgmc_mre/Initialize() . = ..() pickflavor() -/obj/item/weapon/storage/box/tgmc_mre/Destroy() +/obj/item/storage/box/tgmc_mre/Destroy() var/turf/T = get_turf(src) if(T) new /obj/item/trash/tgmc_mre(T) return ..() -/obj/item/weapon/storage/box/tgmc_mre/proc/pickflavor() +/obj/item/storage/box/tgmc_mre/proc/pickflavor() var/entree = pick("boneless pork ribs", "grilled chicken", "pizza square", "spaghetti", "chicken tenders") var/side = pick("meatballs", "cheese spread", "beef turnover", "mashed potatoes") var/snack = pick("biscuit", "pretzels", "peanuts", "cracker") @@ -320,41 +320,41 @@ MRE Stuff name = "[initial(name)] ([entree])" - new /obj/item/weapon/reagent_containers/food/snacks/tgmc_mre_component(src, entree) - new /obj/item/weapon/reagent_containers/food/snacks/tgmc_mre_component(src, side) - new /obj/item/weapon/reagent_containers/food/snacks/tgmc_mre_component(src, snack) - new /obj/item/weapon/reagent_containers/food/snacks/tgmc_mre_component(src, desert) + new /obj/item/reagent_containers/food/snacks/tgmc_mre_component(src, entree) + new /obj/item/reagent_containers/food/snacks/tgmc_mre_component(src, side) + new /obj/item/reagent_containers/food/snacks/tgmc_mre_component(src, snack) + new /obj/item/reagent_containers/food/snacks/tgmc_mre_component(src, desert) new /obj/random/mre/drink(src) -/obj/item/weapon/storage/box/tgmc_mre/remove_from_storage() +/obj/item/storage/box/tgmc_mre/remove_from_storage() . = ..() if(. && !contents.len && !gc_destroyed) qdel(src) -/obj/item/weapon/storage/box/tgmc_mre/update_icon() +/obj/item/storage/box/tgmc_mre/update_icon() if(!isopened) isopened = 1 icon_state = "tgmc_mre_opened" // The sneaky food-looks-like-a-package items -/obj/item/weapon/reagent_containers/food/snacks/tgmc_mre_component +/obj/item/reagent_containers/food/snacks/tgmc_mre_component name = "\improper MRE component" package = TRUE bitesize = 1 icon_state = "tgmcmre_entree" var/flavor = "boneless pork ribs" -/obj/item/weapon/reagent_containers/food/snacks/tgmc_mre_component/Initialize(mapload, newflavor) +/obj/item/reagent_containers/food/snacks/tgmc_mre_component/Initialize(mapload, newflavor) determinetype(newflavor) desc = "A packaged [flavor] from a Meal Ready-to-Eat, there is a lengthy list of [pick("obscure", "arcane", "unintelligible", "revolutionary", "sophisticated", "unspellable")] ingredients and addictives printed on the back." . = ..() -/obj/item/weapon/reagent_containers/food/snacks/tgmc_mre_component/unpackage(mob/user as mob) +/obj/item/reagent_containers/food/snacks/tgmc_mre_component/unpackage(mob/user as mob) . = ..() name = "\improper" + flavor desc = "The contents of a standard issue CRS MRE. This one is " + flavor + "." -/obj/item/weapon/reagent_containers/food/snacks/tgmc_mre_component/proc/determinetype(newflavor) +/obj/item/reagent_containers/food/snacks/tgmc_mre_component/proc/determinetype(newflavor) name = "\improper MRE component" + " (" + newflavor + ")" flavor = newflavor var/static/tastes = list("something scrumptious","nothing","the usual grub","something mediocre","hell","heaven","tentalization","disgust","dog food","cat food","fish food","recycled pizza","junk","trash","rubbish","sawdust","nutraloafs","gourmand food","gourmet food","moistness","squalidness","old grub","actually good food","bleach","soap","sand","synthetic grub","blandness","prison food","Discount Dan's","Discount Dan's Special","Discount Dan's leftovers","yesterday leftovers","microwaved leftovers","leftovers","UPP rations","uncooked grub","overcooked grub","not-so-bad grub","pinapple pizza flavored grub","mystery food","burnt food","frozen food","lukewarm food","rancidness","processed grub","crunchiness","faux meat","something false","low-calorie food","high-carb food","transfat-free food","gluten-free food","delictableness","acid","mintiness","sauciness","saltiness","extreme saltiness","spiced grub","crispness","questionable grub","something untastable","bitterness","savoriness","sourness","sweetness","umami","chewing gum","shoe polish","the jungle","indigestion","oldberries","butter","lard","oil","grass","cough syrup","water","iron","rubber","lead","bronze","wood","paper","plastic","kevlar","cloth","buckshot","gunpowder","black powder","petroleum","gasoline","diesel","biofuel","paint","jelly","slime","sludge","tofu","dietetic food","counterfeit food","grossness","dryness","tartiness","cryogenic juice","the secret ingredient","the ninth element","compressed matter","deep-fried food","double-fried food","a culinary apocalypse","experimental post-modern cuisine","a disaster","muckiness","mustard","mordant","citruses","crayon dust") diff --git a/code/game/objects/items/weapons/storage/pouches.dm b/code/game/objects/items/weapons/storage/pouches.dm index 6eb775c2fee..3ebc910e251 100644 --- a/code/game/objects/items/weapons/storage/pouches.dm +++ b/code/game/objects/items/weapons/storage/pouches.dm @@ -1,7 +1,7 @@ #define INVENTORY_POUCH_SPACE ITEMSIZE_COST_SMALL*4 // 25% the size of a backpack for normal size // Pouches for small storage in pocket slots -/obj/item/weapon/storage/pouch +/obj/item/storage/pouch name = "storage pouch (medium)" desc = "This storage pouch can be used to provide some additional storage for quick access." icon = 'icons/inventory/pockets/item.dmi' @@ -18,7 +18,7 @@ var/insert_delay = 0 SECONDS var/remove_delay = 2 SECONDS -/obj/item/weapon/storage/pouch/stall_insertion(obj/item/W, mob/user) +/obj/item/storage/pouch/stall_insertion(obj/item/W, mob/user) // No delay if you have the pouch in your hands if(user.get_active_hand() == src || user.get_inactive_hand() == src) return TRUE // Skip delay @@ -28,7 +28,7 @@ return TRUE //Now we're allowed to put the item in the pouch -/obj/item/weapon/storage/pouch/stall_removal(obj/item/W, mob/user) +/obj/item/storage/pouch/stall_removal(obj/item/W, mob/user) // No delay if you have the pouch in your hands if(user.get_active_hand() == src || user.get_inactive_hand() == src) return TRUE // Skip delay @@ -41,180 +41,180 @@ return FALSE //Item was somehow already removed -/obj/item/weapon/storage/pouch/pocket_description(mob/haver, mob/examiner) +/obj/item/storage/pouch/pocket_description(mob/haver, mob/examiner) return "[src]" -/obj/item/weapon/storage/pouch/large +/obj/item/storage/pouch/large name = "storage pouch (large)" desc = "This storage pouch can be used to provide a good amount of additional storage for quick access." icon_state = "large_generic" max_storage_space = ITEMSIZE_COST_SMALL*6 remove_delay = 3 SECONDS //VOREStation Add: Slightly more cumbersome -/obj/item/weapon/storage/pouch/small +/obj/item/storage/pouch/small name = "storage pouch (small)" desc = "This storage pouch can be used to provide a small amount of additional storage for quick access." icon_state = "small_generic" max_storage_space = ITEMSIZE_COST_SMALL*2 remove_delay = 1 SECOND //VOREStation Add: Slightly less cumbersome -/obj/item/weapon/storage/pouch/ammo +/obj/item/storage/pouch/ammo name = "storage pouch (ammo)" desc = "This storage pouch can be used to provide some additional storage for quick access. Can only hold ammunition, cells, explosives, and grenades." icon_state = "ammo" max_storage_space = INVENTORY_POUCH_SPACE - can_hold = list(/obj/item/ammo_magazine, /obj/item/ammo_casing, /obj/item/weapon/cell/device/weapon, /obj/item/weapon/grenade, /obj/item/weapon/plastique) //Vorestation Add - make it more useful for non-sec/explo + can_hold = list(/obj/item/ammo_magazine, /obj/item/ammo_casing, /obj/item/cell/device/weapon, /obj/item/grenade, /obj/item/plastique) //Vorestation Add - make it more useful for non-sec/explo -/obj/item/weapon/storage/pouch/eng_tool +/obj/item/storage/pouch/eng_tool name = "storage pouch (tools)" desc = "This storage pouch can be used to provide some additional storage for quick access. Can only hold tools." icon_state = "engineering_tool" max_storage_space = INVENTORY_POUCH_SPACE can_hold = list( - /obj/item/weapon/tool/crowbar, - /obj/item/weapon/tool/screwdriver, - /obj/item/weapon/weldingtool, - /obj/item/weapon/tool/wirecutters, - /obj/item/weapon/tool/wrench, - /obj/item/weapon/tool/transforming/powerdrill, - /obj/item/weapon/tool/transforming/jawsoflife, - /obj/item/device/multitool, - /obj/item/device/flashlight, - /obj/item/weapon/cell/device, + /obj/item/tool/crowbar, + /obj/item/tool/screwdriver, + /obj/item/weldingtool, + /obj/item/tool/wirecutters, + /obj/item/tool/wrench, + /obj/item/tool/transforming/powerdrill, + /obj/item/tool/transforming/jawsoflife, + /obj/item/multitool, + /obj/item/flashlight, + /obj/item/cell/device, /obj/item/stack/cable_coil, - /obj/item/device/t_scanner, - /obj/item/device/analyzer, + /obj/item/t_scanner, + /obj/item/analyzer, /obj/item/clothing/glasses, /obj/item/clothing/gloves, - /obj/item/device/pda, - /obj/item/device/megaphone, + /obj/item/pda, + /obj/item/megaphone, /obj/item/taperoll, - /obj/item/device/radio/headset, - /obj/item/device/robotanalyzer, - /obj/item/weapon/material/minihoe, - /obj/item/weapon/material/knife/machete/hatchet, - /obj/item/device/analyzer/plant_analyzer, - /obj/item/weapon/extinguisher/mini, - /obj/item/weapon/tape_roll, - /obj/item/device/integrated_electronics/wirer, - /obj/item/device/integrated_electronics/debugger, - /obj/item/weapon/shovel/spade, + /obj/item/radio/headset, + /obj/item/robotanalyzer, + /obj/item/material/minihoe, + /obj/item/material/knife/machete/hatchet, + /obj/item/analyzer/plant_analyzer, + /obj/item/extinguisher/mini, + /obj/item/tape_roll, + /obj/item/integrated_electronics/wirer, + /obj/item/integrated_electronics/debugger, + /obj/item/shovel/spade, /obj/item/stack/nanopaste, - /obj/item/device/geiger + /obj/item/geiger ) //Vorestation Add - make it the same as the tool-belt why was it not like this to start with wtf -/obj/item/weapon/storage/pouch/eng_supply +/obj/item/storage/pouch/eng_supply name = "storage pouch (supplies)" desc = "This storage pouch can be used to provide some additional storage for quick access. Can only hold engineering supplies." icon_state = "engineering_supply" max_storage_space = INVENTORY_POUCH_SPACE can_hold = list( - /obj/item/weapon/cell/device, + /obj/item/cell/device, /obj/item/stack/cable_coil, /obj/item/taperoll, - /obj/item/weapon/extinguisher, - /obj/item/weapon/tape_roll, + /obj/item/extinguisher, + /obj/item/tape_roll, /obj/item/stack/material/steel, /obj/item/stack/material/glass, - /obj/item/device/lightreplacer, - /obj/item/weapon/cell + /obj/item/lightreplacer, + /obj/item/cell ) //Vorestation Add - makes it actually useful lmao, adds sheets and cells as well as light replacers and lets you take any extinguisher that fits -/obj/item/weapon/storage/pouch/eng_parts +/obj/item/storage/pouch/eng_parts name = "storage pouch (parts)" desc = "This storage pouch can be used to provide some additional storage for quick access. Can only hold machinery components." icon_state = "part_pouch" max_storage_space = INVENTORY_POUCH_SPACE*2 //Vorestation Add - yeah lemme give up my pocket to hold FOUR CAPACITORS or have an inferior box... now you can hold eight in your pocket so its at least a box can_hold = list( - /obj/item/weapon/stock_parts, + /obj/item/stock_parts, /obj/item/stack/cable_coil, - /obj/item/weapon/circuitboard + /obj/item/circuitboard ) -/obj/item/weapon/storage/pouch/medical +/obj/item/storage/pouch/medical name = "storage pouch (medical)" desc = "This storage pouch can be used to provide some additional storage for quick access. Can only hold medical supplies." icon_state = "medical_supply" max_storage_space = INVENTORY_POUCH_SPACE can_hold = list( - /obj/item/device/healthanalyzer, - /obj/item/weapon/dnainjector, - /obj/item/weapon/reagent_containers/dropper, - /obj/item/weapon/reagent_containers/glass/beaker, - /obj/item/weapon/reagent_containers/glass/bottle, - /obj/item/weapon/reagent_containers/pill, - /obj/item/weapon/reagent_containers/syringe, - /obj/item/weapon/storage/quickdraw/syringe_case, - /obj/item/weapon/storage/pill_bottle, + /obj/item/healthanalyzer, + /obj/item/dnainjector, + /obj/item/reagent_containers/dropper, + /obj/item/reagent_containers/glass/beaker, + /obj/item/reagent_containers/glass/bottle, + /obj/item/reagent_containers/pill, + /obj/item/reagent_containers/syringe, + /obj/item/storage/quickdraw/syringe_case, + /obj/item/storage/pill_bottle, /obj/item/stack/medical, - /obj/item/weapon/reagent_containers/hypospray, - /obj/item/weapon/storage/quickdraw/syringe_case, - /obj/item/weapon/syringe_cartridge, + /obj/item/reagent_containers/hypospray, + /obj/item/storage/quickdraw/syringe_case, + /obj/item/syringe_cartridge, /obj/item/clothing/gloves/sterile, - /obj/item/device/sleevemate, + /obj/item/sleevemate, /obj/item/bodybag, /obj/item/clothing/mask/surgical, - /obj/item/weapon/soap, + /obj/item/soap, /obj/item/stack/nanopaste, /obj/item/taperoll/medical, - /obj/item/weapon/storage/box/freezer, + /obj/item/storage/box/freezer, /obj/item/clothing/mask/chewable/candy/lolli, ) //Vorestation add - added a bunch of misc medical stuff max_storage_space = ITEMSIZE_COST_SMALL*3 //Vorestation Add - makes it slightly smaller since its a lot of stuff with pocket access remove_delay = 5 //Vorestation Add - .5 second delay, get the medical things faster because there is no reason to use this otherwise. still gotta stop moving to take things out. -/obj/item/weapon/storage/pouch/flares +/obj/item/storage/pouch/flares name = "storage pouch (flares)" desc = "This storage pouch can be used to provide some additional storage for quick access. Can only hold flares and glowsticks." icon_state = "flare" storage_slots = 5 - can_hold = list(/obj/item/device/flashlight/flare, /obj/item/device/flashlight/glowstick) -/obj/item/weapon/storage/pouch/flares/full_flare - starts_with = list(/obj/item/device/flashlight/flare = 5) -/obj/item/weapon/storage/pouch/flares/full_glow - starts_with = list(/obj/item/device/flashlight/glowstick = 5) + can_hold = list(/obj/item/flashlight/flare, /obj/item/flashlight/glowstick) +/obj/item/storage/pouch/flares/full_flare + starts_with = list(/obj/item/flashlight/flare = 5) +/obj/item/storage/pouch/flares/full_glow + starts_with = list(/obj/item/flashlight/glowstick = 5) -/obj/item/weapon/storage/pouch/flares/update_icon() +/obj/item/storage/pouch/flares/update_icon() cut_overlays() if(contents.len) add_overlay("flare_[contents.len]") ..() -/obj/item/weapon/storage/pouch/holster +/obj/item/storage/pouch/holster name = "storage pouch (holster)" desc = "This storage pouch can be used to provide some additional storage for quick access. Can hold one normal sized weapon." icon_state = "pistol_holster" storage_slots = 1 - can_hold = list(/obj/item/weapon/gun) //this covers basically everything I think so its fine + can_hold = list(/obj/item/gun) //this covers basically everything I think so its fine remove_delay = 0 -/obj/item/weapon/storage/pouch/holster/full_stunrevolver - starts_with = list(/obj/item/weapon/gun/energy/stunrevolver) -/obj/item/weapon/storage/pouch/holster/full_taser - starts_with = list(/obj/item/weapon/gun/energy/taser) +/obj/item/storage/pouch/holster/full_stunrevolver + starts_with = list(/obj/item/gun/energy/stunrevolver) +/obj/item/storage/pouch/holster/full_taser + starts_with = list(/obj/item/gun/energy/taser) -/obj/item/weapon/storage/pouch/holster/update_icon() +/obj/item/storage/pouch/holster/update_icon() cut_overlays() if(contents.len) add_overlay("pistol_layer") ..() -/obj/item/weapon/storage/pouch/baton +/obj/item/storage/pouch/baton name = "storage pouch (melee)" desc = "This storage pouch can be used to provide some additional storage for quick access. Can hold one normal size melee." //Vorestation add - make it a melee pouch literally why would you hold ONE BATON icon_state = "baton_holster" storage_slots = 1 - can_hold = list(/obj/item/weapon/melee, /obj/item/weapon/material, /obj/item/weapon/tool/wrench) //should be like, every melee weapon I could think of that was normal size. Can make it more specific if needed. Also wrench because I thought it was funny. + can_hold = list(/obj/item/melee, /obj/item/material, /obj/item/tool/wrench) //should be like, every melee weapon I could think of that was normal size. Can make it more specific if needed. Also wrench because I thought it was funny. remove_delay = 0 -/obj/item/weapon/storage/pouch/baton/full - starts_with = list(/obj/item/weapon/melee/baton) +/obj/item/storage/pouch/baton/full + starts_with = list(/obj/item/melee/baton) -/obj/item/weapon/storage/pouch/baton/update_icon() +/obj/item/storage/pouch/baton/update_icon() cut_overlays() if(contents.len) add_overlay("baton_layer") ..() -/obj/item/weapon/storage/pouch/holding +/obj/item/storage/pouch/holding name = "storage pouch of holding" desc = "This storage pouch can be used to provide some additional storage for quick access. Seems to use extradimensional storage!" icon_state = "holdingpouch" diff --git a/code/game/objects/items/weapons/storage/quickdraw.dm b/code/game/objects/items/weapons/storage/quickdraw.dm index 07b549032cd..3482c4e8123 100644 --- a/code/game/objects/items/weapons/storage/quickdraw.dm +++ b/code/game/objects/items/weapons/storage/quickdraw.dm @@ -4,7 +4,7 @@ //These items are pouches and cases made to be kept in belts or pockets to quickly draw objects from //Largely inspired by the vest pouches on Colonial Marines -/obj/item/weapon/storage/quickdraw +/obj/item/storage/quickdraw name = "quickdraw" desc = "This object should not appear" icon = 'icons/obj/storage_vr.dmi' // VOREStation Edit @@ -14,7 +14,7 @@ //When set to 1, a click while it is equipped will instead move the first item inside it to your hand var/quickmode = 0 -/obj/item/weapon/storage/quickdraw/attack_hand(mob/user as mob) +/obj/item/storage/quickdraw/attack_hand(mob/user as mob) if(src.loc == user) //If they aren't holding us, we do nothing special if(ishuman(user)) var/mob/living/carbon/human/H = user @@ -33,7 +33,7 @@ ..() //Nothing special happened, go call the other proc -/obj/item/weapon/storage/quickdraw/verb/toggle_quickdraw() +/obj/item/storage/quickdraw/verb/toggle_quickdraw() set name = "Switch Quickdraw Mode" set category = "Object" @@ -44,7 +44,7 @@ if(0) to_chat(usr, "[src] now opens as a container.") -/obj/item/weapon/storage/quickdraw/AltClick(mob/user) +/obj/item/storage/quickdraw/AltClick(mob/user) ..() if(src.loc == user) //Are they carrying us? toggle_quickdraw() @@ -56,7 +56,7 @@ // Syringe case // ----------------------------- -/obj/item/weapon/storage/quickdraw/syringe_case +/obj/item/storage/quickdraw/syringe_case name = "syringe case" desc = "A small case for safely carrying sharps around." icon_state = "syringe_case" @@ -66,43 +66,43 @@ max_storage_space = ITEMSIZE_TINY * 6 //Capable of holding six syringes //Can hold syringes and autoinjectors, but also pills if you really wanted. Syringe-shaped objects like pens and cigarettes also fit, but why would you do that? - can_hold = list(/obj/item/weapon/reagent_containers/syringe, /obj/item/weapon/reagent_containers/hypospray/autoinjector, - /obj/item/weapon/reagent_containers/pill, /obj/item/weapon/pen, /obj/item/device/flashlight/pen, /obj/item/clothing/mask/smokable/cigarette) + can_hold = list(/obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray/autoinjector, + /obj/item/reagent_containers/pill, /obj/item/pen, /obj/item/flashlight/pen, /obj/item/clothing/mask/smokable/cigarette) quickmode = 1 //Starts in quickdraw mode //Preloaded for your convenience! starts_with = list( - /obj/item/weapon/reagent_containers/syringe, - /obj/item/weapon/reagent_containers/syringe, - /obj/item/weapon/reagent_containers/syringe, - /obj/item/weapon/reagent_containers/syringe, - /obj/item/weapon/reagent_containers/syringe, - /obj/item/weapon/reagent_containers/syringe + /obj/item/reagent_containers/syringe, + /obj/item/reagent_containers/syringe, + /obj/item/reagent_containers/syringe, + /obj/item/reagent_containers/syringe, + /obj/item/reagent_containers/syringe, + /obj/item/reagent_containers/syringe ) -/obj/item/weapon/storage/quickdraw/syringe_case/clotting +/obj/item/storage/quickdraw/syringe_case/clotting desc = "A small case for safely carrying sharps around. This one is deluxe!" max_w_class = ITEMSIZE_SMALL starts_with = list( - /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/clotting, - /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/clotting, - /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/clotting + /obj/item/reagent_containers/hypospray/autoinjector/biginjector/clotting, + /obj/item/reagent_containers/hypospray/autoinjector/biginjector/clotting, + /obj/item/reagent_containers/hypospray/autoinjector/biginjector/clotting ) -/obj/item/weapon/storage/quickdraw/syringe_case/bonemed +/obj/item/storage/quickdraw/syringe_case/bonemed desc = "A small case for safely carrying sharps around. This one is deluxe!" max_w_class = ITEMSIZE_SMALL starts_with = list( - /obj/item/weapon/reagent_containers/hypospray/autoinjector/bonemed, - /obj/item/weapon/reagent_containers/hypospray/autoinjector/bonemed, - /obj/item/weapon/reagent_containers/hypospray/autoinjector/bonemed + /obj/item/reagent_containers/hypospray/autoinjector/bonemed, + /obj/item/reagent_containers/hypospray/autoinjector/bonemed, + /obj/item/reagent_containers/hypospray/autoinjector/bonemed ) -/obj/item/weapon/storage/quickdraw/syringe_case/clonemed +/obj/item/storage/quickdraw/syringe_case/clonemed desc = "A small case for safely carrying sharps around. This one is deluxe!" max_w_class = ITEMSIZE_SMALL starts_with = list( - /obj/item/weapon/reagent_containers/hypospray/autoinjector/clonemed, - /obj/item/weapon/reagent_containers/hypospray/autoinjector/clonemed, - /obj/item/weapon/reagent_containers/hypospray/autoinjector/clonemed + /obj/item/reagent_containers/hypospray/autoinjector/clonemed, + /obj/item/reagent_containers/hypospray/autoinjector/clonemed, + /obj/item/reagent_containers/hypospray/autoinjector/clonemed ) diff --git a/code/game/objects/items/weapons/storage/secure.dm b/code/game/objects/items/weapons/storage/secure.dm index d7d9a8f6d42..e3776dbaefa 100644 --- a/code/game/objects/items/weapons/storage/secure.dm +++ b/code/game/objects/items/weapons/storage/secure.dm @@ -1,5 +1,5 @@ /* - * Absorbs /obj/item/weapon/secstorage. + * Absorbs /obj/item/secstorage. * Reimplements it only slightly to use existing storage functionality. * * Contains: @@ -10,7 +10,7 @@ // ----------------------------- // Generic Item // ----------------------------- -/obj/item/weapon/storage/secure +/obj/item/storage/secure name = "secstorage" var/icon_locking = "secureb" var/icon_sparking = "securespark" @@ -28,14 +28,14 @@ max_storage_space = ITEMSIZE_SMALL * 7 use_sound = 'sound/items/storage/briefcase.ogg' -/obj/item/weapon/storage/secure/examine(mob/user) +/obj/item/storage/secure/examine(mob/user) . = ..() if(Adjacent(user)) . += "The service panel is [src.open ? "open" : "closed"]." -/obj/item/weapon/storage/secure/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/item/storage/secure/attackby(obj/item/W as obj, mob/user as mob) if(locked) - if (istype(W, /obj/item/weapon/melee/energy/blade) && emag_act(INFINITY, user, "You slice through the lock of \the [src]")) + if (istype(W, /obj/item/melee/energy/blade) && emag_act(INFINITY, user, "You slice through the lock of \the [src]")) var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread() spark_system.set_up(5, 0, src.loc) spark_system.start() @@ -47,22 +47,22 @@ if (do_after(user, 20 * W.toolspeed)) src.open =! src.open playsound(src, W.usesound, 50, 1) - user.show_message(text("You [] the service panel.", (src.open ? "open" : "close"))) + user.show_message(span_notice("You [src.open ? "open" : "close"] the service panel.")) return - if (istype(W, /obj/item/device/multitool) && (src.open == 1)&& (!src.l_hacking)) - user.show_message("Now attempting to reset internal memory, please hold.", 1) + if (istype(W, /obj/item/multitool) && (src.open == 1)&& (!src.l_hacking)) + user.show_message(span_notice("Now attempting to reset internal memory, please hold."), 1) src.l_hacking = 1 - if (do_after(usr, 100)) + if (do_after(user, 100)) if (prob(40)) src.l_setshort = 1 src.l_set = 0 src.code = "" - user.show_message("Internal memory reset. Please give it a few seconds to reinitialize.", 1) + user.show_message(span_notice("Internal memory reset. Please give it a few seconds to reinitialize."), 1) sleep(80) src.l_setshort = 0 src.l_hacking = 0 else - user.show_message("Unable to reset internal memory.", 1) + user.show_message(span_warning("Unable to reset internal memory."), 1) src.l_hacking = 0 else src.l_hacking = 0 return @@ -74,17 +74,17 @@ ..() -/obj/item/weapon/storage/secure/MouseDrop(over_object, src_location, over_location) +/obj/item/storage/secure/MouseDrop(over_object, src_location, over_location) if (locked) src.add_fingerprint(usr) return ..() -/obj/item/weapon/storage/secure/AltClick(mob/user as mob) +/obj/item/storage/secure/AltClick(mob/user as mob) if (isliving(user) && Adjacent(user) && (src.locked == 1)) - to_chat(user, "[src] is locked and cannot be opened!") + to_chat(user, span_warning("[src] is locked and cannot be opened!")) else if (isliving(user) && Adjacent(user) && (!src.locked)) - src.open(usr) + src.open(user) else for(var/mob/M in range(1)) if (M.s_active == src) @@ -92,16 +92,16 @@ src.add_fingerprint(user) return -/obj/item/weapon/storage/secure/attack_self(mob/user as mob) +/obj/item/storage/secure/attack_self(mob/user as mob) tgui_interact(user) -/obj/item/weapon/storage/secure/tgui_interact(mob/user, datum/tgui/ui = null) +/obj/item/storage/secure/tgui_interact(mob/user, datum/tgui/ui = null) ui = SStgui.try_update_ui(user, src, ui) if(!ui) ui = new(user, src, "SecureSafe", name) ui.open() -/obj/item/weapon/storage/secure/tgui_data(mob/user) +/obj/item/storage/secure/tgui_data(mob/user) var/list/data = list() data["locked"] = locked data["code"] = code @@ -110,7 +110,7 @@ data["l_set"] = l_set return data -/obj/item/weapon/storage/secure/tgui_act(action, params) +/obj/item/storage/secure/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE switch (action) @@ -132,16 +132,16 @@ src.locked = 1 cut_overlays() src.code = null - src.close(usr) + src.close(ui.user) else src.code += text("[]", digit) if (length(src.code) > 5) src.code = "ERROR" - src.add_fingerprint(usr) + src.add_fingerprint(ui.user) . = TRUE return -/obj/item/weapon/storage/secure/emag_act(var/remaining_charges, var/mob/user, var/feedback) +/obj/item/storage/secure/emag_act(var/remaining_charges, var/mob/user, var/feedback) if(!emagged) emagged = 1 src.add_overlay(icon_sparking) @@ -155,7 +155,7 @@ // ----------------------------- // Secure Briefcase // ----------------------------- -/obj/item/weapon/storage/secure/briefcase +/obj/item/storage/secure/briefcase name = "secure briefcase" icon = 'icons/obj/storage.dmi' icon_state = "secure" @@ -168,11 +168,11 @@ w_class = ITEMSIZE_LARGE max_storage_space = ITEMSIZE_COST_NORMAL * 4 -/obj/item/weapon/storage/secure/briefcase/attack_hand(mob/user as mob) +/obj/item/storage/secure/briefcase/attack_hand(mob/user as mob) if ((src.loc == user) && (src.locked == 1)) - to_chat(user, "[src] is locked and cannot be opened!") + to_chat(user, span_warning("[src] is locked and cannot be opened!")) else if ((src.loc == user) && (!src.locked)) - src.open(usr) + src.open(user) else ..() for(var/mob/M in range(1)) @@ -185,7 +185,7 @@ // Secure Safe // ----------------------------- -/obj/item/weapon/storage/secure/safe +/obj/item/storage/secure/safe name = "secure safe" desc = "It doesn't seem all that secure. Oh well, it'll do." icon = 'icons/obj/storage.dmi' @@ -199,11 +199,11 @@ max_w_class = ITEMSIZE_LARGE // This was 8 previously... anchored = TRUE density = FALSE - cant_hold = list(/obj/item/weapon/storage/secure/briefcase) + cant_hold = list(/obj/item/storage/secure/briefcase) starts_with = list( - /obj/item/weapon/paper, - /obj/item/weapon/pen + /obj/item/paper, + /obj/item/pen ) -/obj/item/weapon/storage/secure/safe/attack_hand(mob/user as mob) +/obj/item/storage/secure/safe/attack_hand(mob/user as mob) tgui_interact(user) diff --git a/code/game/objects/items/weapons/storage/storage.dm b/code/game/objects/items/weapons/storage/storage.dm index d8cc1a78d0b..5fc8d4cd1a6 100644 --- a/code/game/objects/items/weapons/storage/storage.dm +++ b/code/game/objects/items/weapons/storage/storage.dm @@ -5,7 +5,7 @@ // -Sayu -/obj/item/weapon/storage +/obj/item/storage name = "storage" icon = 'icons/obj/storage.dmi' item_icons = list( @@ -52,18 +52,18 @@ /// If you can use this storage while in a pocket var/pocketable = FALSE -/obj/item/weapon/storage/Initialize() +/obj/item/storage/Initialize() . = ..() if(allow_quick_empty) - verbs += /obj/item/weapon/storage/verb/quick_empty + verbs += /obj/item/storage/verb/quick_empty else - verbs -= /obj/item/weapon/storage/verb/quick_empty + verbs -= /obj/item/storage/verb/quick_empty if(allow_quick_gather) - verbs += /obj/item/weapon/storage/verb/toggle_gathering_mode + verbs += /obj/item/storage/verb/toggle_gathering_mode else - verbs -= /obj/item/weapon/storage/verb/toggle_gathering_mode + verbs -= /obj/item/storage/verb/toggle_gathering_mode if(storage_slots) src.boxes = new /obj/screen/storage( ) @@ -107,7 +107,7 @@ calibrate_size() -/obj/item/weapon/storage/Destroy() +/obj/item/storage/Destroy() close_all() clear_slot_catchers() QDEL_NULL(boxes) @@ -122,7 +122,7 @@ . = ..() -/obj/item/weapon/storage/MouseDrop(obj/over_object as obj) +/obj/item/storage/MouseDrop(obj/over_object as obj) if(!canremove) return @@ -158,7 +158,7 @@ usr.put_in_l_hand(src) src.add_fingerprint(usr) -/obj/item/weapon/storage/AltClick(mob/user) +/obj/item/storage/AltClick(mob/user) if(user in is_seeing) src.close(user) // I would think there should be some incap check here or something @@ -168,21 +168,21 @@ else return ..() -/obj/item/weapon/storage/proc/return_inv() +/obj/item/storage/proc/return_inv() var/list/L = list( ) L += src.contents - for(var/obj/item/weapon/storage/S in src) + for(var/obj/item/storage/S in src) L += S.return_inv() - for(var/obj/item/weapon/gift/G in src) + for(var/obj/item/gift/G in src) L += G.gift - if (istype(G.gift, /obj/item/weapon/storage)) + if (istype(G.gift, /obj/item/storage)) L += G.gift:return_inv() return L -/obj/item/weapon/storage/proc/show_to(mob/user as mob) +/obj/item/storage/proc/show_to(mob/user as mob) if(user.s_active != src) for(var/obj/item/I in src) if(I.on_found(user)) @@ -209,7 +209,7 @@ user.s_active = src LAZYDISTINCTADD(is_seeing,user) -/obj/item/weapon/storage/proc/hide_from(mob/user as mob) +/obj/item/storage/proc/hide_from(mob/user as mob) var/client/C = user.client LAZYREMOVE(is_seeing,user) @@ -235,7 +235,7 @@ if(!LAZYLEN(is_seeing)) clear_slot_catchers() -/obj/item/weapon/storage/proc/open(mob/user as mob) +/obj/item/storage/proc/open(mob/user as mob) if (use_sound) playsound(src, src.use_sound, 50, 0, -5) @@ -244,17 +244,17 @@ user.s_active.close(user) show_to(user) -/obj/item/weapon/storage/proc/close(mob/user as mob) +/obj/item/storage/proc/close(mob/user as mob) src.hide_from(user) user.s_active = null return -/obj/item/weapon/storage/proc/close_all() +/obj/item/storage/proc/close_all() for(var/mob/M in can_see_contents()) close(M) . = 1 -/obj/item/weapon/storage/proc/can_see_contents() +/obj/item/storage/proc/can_see_contents() var/list/cansee = list() for(var/mob/M in is_seeing) if(M.s_active == src && M.client) @@ -263,7 +263,7 @@ LAZYREMOVE(is_seeing,M) return cansee -/obj/item/weapon/storage/proc/create_slot_catchers() +/obj/item/storage/proc/create_slot_catchers() clear_slot_catchers() var/list/new_catchers = list() for(var/obj/item/I in contents) @@ -273,7 +273,7 @@ new_catchers += SS box_catchers = new_catchers -/obj/item/weapon/storage/proc/clear_slot_catchers() +/obj/item/storage/proc/clear_slot_catchers() if(box_catchers) for(var/mob/M in is_seeing) M.client?.screen -= box_catchers @@ -281,7 +281,7 @@ //This proc draws out the inventory and places the items on it. tx and ty are the upper left tile and mx, my are the bottm right. //The numbers are calculated from the bottom-left The bottom-left slot being 1,1. -/obj/item/weapon/storage/proc/orient_objs(tx, ty, mx, my) +/obj/item/storage/proc/orient_objs(tx, ty, mx, my) var/cx = tx var/cy = ty src.boxes.screen_loc = "[tx]:,[ty] to [mx],[my]" @@ -296,7 +296,7 @@ return //This proc draws out the inventory and places the items on it. It uses the standard position. -/obj/item/weapon/storage/proc/slot_orient_objs(var/rows, var/cols, var/list/obj/item/display_contents) +/obj/item/storage/proc/slot_orient_objs(var/rows, var/cols, var/list/obj/item/display_contents) var/cx = 4 var/cy = 2+rows src.boxes.screen_loc = "4:16,2:16 to [4+cols]:16,[2+rows]:16" @@ -328,7 +328,7 @@ src.closer.screen_loc = "[4+cols+1]:16,2:16" return -/obj/item/weapon/storage/proc/space_orient_objs(var/list/obj/item/display_contents) +/obj/item/storage/proc/space_orient_objs(var/list/obj/item/display_contents) SHOULD_NOT_SLEEP(TRUE) /// A prototype for drawing the leftmost border behind each item in storage @@ -401,7 +401,7 @@ number = 1 //This proc determins the size of the inventory to be displayed. Please touch it only if you know what you're doing. -/obj/item/weapon/storage/proc/orient2hud(mob/user as mob) +/obj/item/storage/proc/orient2hud(mob/user as mob) var/adjusted_contents = contents.len @@ -433,7 +433,7 @@ //This proc return 1 if the item can be picked up and 0 if it can't. //Set the stop_messages to stop it from printing messages -/obj/item/weapon/storage/proc/can_be_inserted(obj/item/W as obj, stop_messages = 0) +/obj/item/storage/proc/can_be_inserted(obj/item/W as obj, stop_messages = 0) if(!istype(W)) return //Not an item if(usr && usr.isEquipped(W) && !usr.canUnEquip(W)) @@ -443,24 +443,24 @@ return 0 //Means the item is already in the storage item if(storage_slots != null && contents.len >= storage_slots) if(!stop_messages) - to_chat(usr, "[src] is full, make some space.") + to_chat(usr, span_notice("[src] is full, make some space.")) return 0 //Storage item is full if(LAZYLEN(can_hold) && !is_type_in_list(W, can_hold)) if(!stop_messages) - if (istype(W, /obj/item/weapon/hand_labeler)) + if (istype(W, /obj/item/hand_labeler)) return 0 - to_chat(usr, "[src] cannot hold [W].") + to_chat(usr, span_notice("[src] cannot hold [W].")) return 0 if(LAZYLEN(cant_hold) && is_type_in_list(W, cant_hold)) if(!stop_messages) - to_chat(usr, "[src] cannot hold [W].") + to_chat(usr, span_notice("[src] cannot hold [W].")) return 0 if (max_w_class != null && W.w_class > max_w_class) if(!stop_messages) - to_chat(usr, "[W] is too long for \the [src].") + to_chat(usr, span_notice("[W] is too long for \the [src].")) return 0 var/total_storage_space = W.get_storage_cost() @@ -469,12 +469,12 @@ if(total_storage_space > max_storage_space) if(!stop_messages) - to_chat(usr, "[src] is too full, make some space.") + to_chat(usr, span_notice("[src] is too full, make some space.")) return 0 - if(W.w_class >= src.w_class && (istype(W, /obj/item/weapon/storage))) + if(W.w_class >= src.w_class && (istype(W, /obj/item/storage))) if(!stop_messages) - to_chat(usr, "[src] cannot hold [W] as it's a storage item of the same size.") + to_chat(usr, span_notice("[src] cannot hold [W] as it's a storage item of the same size.")) return 0 //To prevent the stacking of same sized storage items. return 1 @@ -482,7 +482,7 @@ //This proc handles items being inserted. It does not perform any checks of whether an item can or can't be inserted. That's done by can_be_inserted() //The stop_warning parameter will stop the insertion message from being displayed. It is intended for cases where you are inserting multiple items at once, //such as when picking up all the items on a tile with one click. -/obj/item/weapon/storage/proc/handle_item_insertion(obj/item/W as obj, prevent_warning = 0) +/obj/item/storage/proc/handle_item_insertion(obj/item/W as obj, prevent_warning = 0) if(!istype(W)) return 0 if(!stall_insertion(W, usr)) // Can sleep here and delay removal for slow storage @@ -501,11 +501,11 @@ if(!prevent_warning) for(var/mob/M in viewers(usr, null)) if (M == usr) - to_chat(usr, "You put \the [W] into [src].") + to_chat(usr, span_notice("You put \the [W] into [src].")) else if (M in range(1)) //If someone is standing close enough, they can tell what it is... - M.show_message("\The [usr] puts [W] into [src].") + M.show_message(span_notice("\The [usr] puts [W] into [src].")) else if (W && W.w_class >= 3) //Otherwise they can only see large or normal items from a distance... - M.show_message("\The [usr] puts [W] into [src].") + M.show_message(span_notice("\The [usr] puts [W] into [src].")) src.orient2hud(usr) if(usr.s_active) @@ -518,14 +518,14 @@ return 1 //Call this proc to handle the removal of an item from the storage item. The item will be moved to the atom sent as new_target -/obj/item/weapon/storage/proc/remove_from_storage(obj/item/W as obj, atom/new_location) +/obj/item/storage/proc/remove_from_storage(obj/item/W as obj, atom/new_location) if(!istype(W)) return 0 if(!stall_removal(W, usr)) // Can sleep here and delay removal for slow storage return 0 - if(istype(src, /obj/item/weapon/storage/fancy)) - var/obj/item/weapon/storage/fancy/F = src + if(istype(src, /obj/item/storage/fancy)) + var/obj/item/storage/fancy/F = src F.update_icon(1) for(var/mob/M in is_seeing) @@ -556,25 +556,25 @@ return 1 /// Called before insertion completes, allowing you to delay or cancel it -/obj/item/weapon/storage/proc/stall_insertion(obj/item/W, mob/user) +/obj/item/storage/proc/stall_insertion(obj/item/W, mob/user) return TRUE /// Called before removal completes, allowing you to delay or cancel it -/obj/item/weapon/storage/proc/stall_removal(obj/item/W, mob/user) +/obj/item/storage/proc/stall_removal(obj/item/W, mob/user) return TRUE //This proc is called when you want to place an item into the storage item. -/obj/item/weapon/storage/attackby(obj/item/W as obj, mob/user as mob) +/obj/item/storage/attackby(obj/item/W as obj, mob/user as mob) ..() if(isrobot(user)) return //Robots can't interact with storage items. - if(istype(W, /obj/item/device/lightreplacer)) - var/obj/item/device/lightreplacer/LP = W + if(istype(W, /obj/item/lightreplacer)) + var/obj/item/lightreplacer/LP = W var/amt_inserted = 0 var/turf/T = get_turf(user) - for(var/obj/item/weapon/light/L in src.contents) + for(var/obj/item/light/L in src.contents) if(L.status == 0) if(LP.uses < LP.max_uses) LP.add_uses(1) @@ -588,26 +588,26 @@ if(!can_be_inserted(W)) return - if(istype(W, /obj/item/weapon/tray)) - var/obj/item/weapon/tray/T = W + if(istype(W, /obj/item/tray)) + var/obj/item/tray/T = W if(T.calc_carry() > 0) if(prob(85)) - to_chat(user, "The tray won't fit in [src].") + to_chat(user, span_warning("The tray won't fit in [src].")) return else W.forceMove(get_turf(user)) if ((user.client && user.s_active != src)) user.client.screen -= W W.dropped(user) - to_chat(user, "God damn it!") + to_chat(user, span_warning("God damn it!")) W.add_fingerprint(user) return handle_item_insertion(W) -/obj/item/weapon/storage/dropped(mob/user as mob) +/obj/item/storage/dropped(mob/user as mob) return -/obj/item/weapon/storage/attack_hand(mob/user as mob) +/obj/item/storage/attack_hand(mob/user as mob) if(ishuman(user) && !pocketable) var/mob/living/carbon/human/H = user if(H.l_store == src && !H.get_active_hand()) //Prevents opening if it's in a pocket. @@ -629,7 +629,7 @@ src.add_fingerprint(user) return -/obj/item/weapon/storage/proc/gather_all(turf/T as turf, mob/user as mob) +/obj/item/storage/proc/gather_all(turf/T as turf, mob/user as mob) var/list/rejections = list() var/success = 0 var/failure = 0 @@ -644,13 +644,13 @@ success = 1 handle_item_insertion(I, 1) //The 1 stops the "You put the [src] into [S]" insertion message from being displayed. if(success && !failure) - to_chat(user, "You put everything in [src].") + to_chat(user, span_notice("You put everything in [src].")) else if(success) - to_chat(user, "You put some things in [src].") + to_chat(user, span_notice("You put some things in [src].")) else - to_chat(user, "You fail to pick anything up with \the [src].") + to_chat(user, span_notice("You fail to pick anything up with \the [src].")) -/obj/item/weapon/storage/verb/toggle_gathering_mode() +/obj/item/storage/verb/toggle_gathering_mode() set name = "Switch Gathering Method" set category = "Object" @@ -662,7 +662,7 @@ to_chat(usr, "[src] now picks up one item at a time.") -/obj/item/weapon/storage/verb/quick_empty() +/obj/item/storage/verb/quick_empty() set name = "Empty Contents" set category = "Object" set src in view(1) @@ -685,27 +685,27 @@ drop_contents() -/obj/item/weapon/storage/proc/drop_contents() // why is this a proc? literally just for RPEDs +/obj/item/storage/proc/drop_contents() // why is this a proc? literally just for RPEDs hide_from(usr) var/turf/T = get_turf(src) for(var/obj/item/I in contents) remove_from_storage(I, T) -/obj/item/weapon/storage/proc/calibrate_size() +/obj/item/storage/proc/calibrate_size() var/total_storage_space = 0 for(var/obj/item/I in contents) total_storage_space += I.get_storage_cost() max_storage_space = max(total_storage_space,max_storage_space) //Prevents spawned containers from being too small for their contents. -/obj/item/weapon/storage/emp_act(severity) +/obj/item/storage/emp_act(severity) if(!istype(src.loc, /mob/living)) for(var/obj/O in contents) O.emp_act(severity) ..() -/obj/item/weapon/storage/attack_self(mob/user as mob) +/obj/item/storage/attack_self(mob/user as mob) if((user.get_active_hand() == src) || (isrobot(user)) && allow_quick_empty) - if(src.verbs.Find(/obj/item/weapon/storage/verb/quick_empty)) + if(src.verbs.Find(/obj/item/storage/verb/quick_empty)) src.quick_empty() return 1 @@ -718,7 +718,7 @@ while (cur_atom && !(cur_atom in container.contents)) if (isarea(cur_atom)) return -1 - if (istype(cur_atom.loc, /obj/item/weapon/storage)) + if (istype(cur_atom.loc, /obj/item/storage)) depth++ cur_atom = cur_atom.loc @@ -736,7 +736,7 @@ while (cur_atom && !isturf(cur_atom)) if (isarea(cur_atom)) return -1 - if (istype(cur_atom.loc, /obj/item/weapon/storage)) + if (istype(cur_atom.loc, /obj/item/storage)) depth++ cur_atom = cur_atom.loc @@ -764,7 +764,7 @@ else return ITEMSIZE_COST_NO_CONTAINER -/obj/item/weapon/storage/proc/make_exact_fit() +/obj/item/storage/proc/make_exact_fit() storage_slots = contents.len LAZYCLEARLIST(can_hold) @@ -779,7 +779,7 @@ /* * Trinket Box - READDING SOON */ -/obj/item/weapon/storage/trinketbox +/obj/item/storage/trinketbox name = "trinket box" desc = "A box that can hold small trinkets, such as a ring." icon = 'icons/obj/items.dmi' @@ -787,23 +787,23 @@ var/open = 0 storage_slots = 1 can_hold = list( - /obj/item/clothing/gloves/ring, - /obj/item/weapon/coin, + /obj/item/clothing/accessory/ring, + /obj/item/coin, /obj/item/clothing/accessory/medal ) var/open_state var/closed_state -/obj/item/weapon/storage/trinketbox/update_icon() +/obj/item/storage/trinketbox/update_icon() cut_overlays() if(open) icon_state = open_state if(contents.len >= 1) var/contained_image = null - if(istype(contents[1], /obj/item/clothing/gloves/ring)) + if(istype(contents[1], /obj/item/clothing/accessory/ring)) contained_image = "ring_trinket" - else if(istype(contents[1], /obj/item/weapon/coin)) + else if(istype(contents[1], /obj/item/coin)) contained_image = "coin_trinket" else if(istype(contents[1], /obj/item/clothing/accessory/medal)) contained_image = "medal_trinket" @@ -812,29 +812,29 @@ else icon_state = closed_state -/obj/item/weapon/storage/trinketbox/New() +/obj/item/storage/trinketbox/New() if(!open_state) open_state = "[initial(icon_state)]_open" if(!closed_state) closed_state = "[initial(icon_state)]" ..() -/obj/item/weapon/storage/trinketbox/attack_self() +/obj/item/storage/trinketbox/attack_self() open = !open update_icon() ..() -/obj/item/weapon/storage/trinketbox/examine(mob/user) +/obj/item/storage/trinketbox/examine(mob/user) . = ..() if(open && contents.len) var/display_item = contents[1] - . += "\The [src] contains \the [display_item]!" + . += span_notice("\The [src] contains \the [display_item]!") -/obj/item/weapon/storage/AllowDrop() +/obj/item/storage/AllowDrop() return TRUE //Useful for spilling the contents of containers all over the floor -/obj/item/weapon/storage/proc/spill(var/dist = 2, var/turf/T = null) +/obj/item/storage/proc/spill(var/dist = 2, var/turf/T = null) if (!istype(T))//If its not on the floor this might cause issues T = get_turf(src) @@ -872,7 +872,7 @@ return 1 // Allows micros to drag themselves into storage items -/obj/item/weapon/storage/MouseDrop_T(mob/living/target, mob/living/user) +/obj/item/storage/MouseDrop_T(mob/living/target, mob/living/user) if(!istype(user)) return // If the user passed in isn't a living mob, exit if(target != user) return // If the user didn't drag themselves, exit if(user.incapacitated() || user.buckled) return // If user is incapacitated or buckled, exit @@ -881,7 +881,7 @@ if(ismouse(user) && user.get_effective_size(TRUE) > 1) return // Only normal sized mice or less // Create a dummy holder with user's size to test insertion - var/obj/item/weapon/holder/D = new/obj/item/weapon/holder + var/obj/item/holder/D = new/obj/item/holder if(ismouse(user)) D.w_class = ITEMSIZE_TINY // Mouse smol else if(ishuman(user)) @@ -895,7 +895,7 @@ qdel(D) // Scoop and insert target into storage - var/obj/item/weapon/holder/H = new user.holder_type(get_turf(user), user) + var/obj/item/holder/H = new user.holder_type(get_turf(user), user) src.handle_item_insertion(H, 1) - to_chat(user, "You climb into \the [src].") + to_chat(user, span_notice("You climb into \the [src].")) return ..() diff --git a/code/game/objects/items/weapons/storage/toolbox.dm b/code/game/objects/items/weapons/storage/toolbox.dm index 0637205c3b2..dead68fe217 100644 --- a/code/game/objects/items/weapons/storage/toolbox.dm +++ b/code/game/objects/items/weapons/storage/toolbox.dm @@ -1,7 +1,7 @@ /* * Toolboxes */ -/obj/item/weapon/storage/toolbox +/obj/item/storage/toolbox name = "toolbox" desc = "A metal toolbox with remarkably robust construction." icon = 'icons/obj/storage_vr.dmi' @@ -22,53 +22,53 @@ pickup_sound = 'sound/items/pickup/toolbox.ogg' //Emergency -/obj/item/weapon/storage/toolbox/emergency +/obj/item/storage/toolbox/emergency name = "emergency toolbox" icon = 'icons/obj/storage_vr.dmi' icon_state = "red" item_state_slots = list(slot_r_hand_str = "toolbox_red", slot_l_hand_str = "toolbox_red") starts_with = list( - /obj/item/weapon/tool/crowbar/red, - /obj/item/weapon/extinguisher/mini, - /obj/item/device/radio + /obj/item/tool/crowbar/red, + /obj/item/extinguisher/mini, + /obj/item/radio ) -/obj/item/weapon/storage/toolbox/emergency/Initialize() +/obj/item/storage/toolbox/emergency/Initialize() if(prob(50)) - new /obj/item/device/flashlight(src) + new /obj/item/flashlight(src) else - new /obj/item/device/flashlight/flare(src) + new /obj/item/flashlight/flare(src) . = ..() //Mechanical -/obj/item/weapon/storage/toolbox/mechanical +/obj/item/storage/toolbox/mechanical name = "mechanical toolbox" icon = 'icons/obj/storage_vr.dmi' icon_state = "blue" item_state_slots = list(slot_r_hand_str = "toolbox_blue", slot_l_hand_str = "toolbox_blue") starts_with = list( - /obj/item/weapon/tool/screwdriver, - /obj/item/weapon/tool/wrench, - /obj/item/weapon/weldingtool, - /obj/item/weapon/tool/crowbar, - /obj/item/device/analyzer, - /obj/item/weapon/tool/wirecutters + /obj/item/tool/screwdriver, + /obj/item/tool/wrench, + /obj/item/weldingtool, + /obj/item/tool/crowbar, + /obj/item/analyzer, + /obj/item/tool/wirecutters ) //Electrical -/obj/item/weapon/storage/toolbox/electrical +/obj/item/storage/toolbox/electrical name = "electrical toolbox" icon = 'icons/obj/storage_vr.dmi' icon_state = "yellow" item_state_slots = list(slot_r_hand_str = "toolbox_yellow", slot_l_hand_str = "toolbox_yellow") starts_with = list( - /obj/item/weapon/tool/screwdriver, - /obj/item/weapon/tool/wirecutters, - /obj/item/device/t_scanner, - /obj/item/weapon/tool/crowbar, + /obj/item/tool/screwdriver, + /obj/item/tool/wirecutters, + /obj/item/t_scanner, + /obj/item/tool/crowbar, /obj/item/stack/cable_coil/random_belt, /obj/item/stack/cable_coil/random_belt ) -/obj/item/weapon/storage/toolbox/electrical/Initialize() +/obj/item/storage/toolbox/electrical/Initialize() . = ..() if(prob(5)) new /obj/item/clothing/gloves/yellow(src) @@ -77,7 +77,7 @@ calibrate_size() //Syndicate -/obj/item/weapon/storage/toolbox/syndicate +/obj/item/storage/toolbox/syndicate name = "black and red toolbox" icon = 'icons/obj/storage_vr.dmi' icon_state = "syndicate" @@ -86,59 +86,59 @@ force = 14 starts_with = list( /obj/item/clothing/gloves/yellow, - /obj/item/weapon/tool/screwdriver, - /obj/item/weapon/tool/wrench, - /obj/item/weapon/weldingtool, - /obj/item/weapon/tool/crowbar, - /obj/item/weapon/tool/wirecutters, - /obj/item/device/multitool + /obj/item/tool/screwdriver, + /obj/item/tool/wrench, + /obj/item/weldingtool, + /obj/item/tool/crowbar, + /obj/item/tool/wirecutters, + /obj/item/multitool ) -/obj/item/weapon/storage/toolbox/syndicate/powertools +/obj/item/storage/toolbox/syndicate/powertools starts_with = list( /obj/item/clothing/gloves/yellow, - /obj/item/weapon/tool/transforming/powerdrill, - /obj/item/weapon/weldingtool/experimental, - /obj/item/weapon/tool/transforming/jawsoflife, - /obj/item/device/multitool, + /obj/item/tool/transforming/powerdrill, + /obj/item/weldingtool/experimental, + /obj/item/tool/transforming/jawsoflife, + /obj/item/multitool, /obj/item/stack/cable_coil/random_belt, - /obj/item/device/analyzer + /obj/item/analyzer ) //Brass -/obj/item/weapon/storage/toolbox/brass +/obj/item/storage/toolbox/brass name = "brass toolbox" icon = 'icons/obj/storage_vr.dmi' icon_state = "brass" item_state_slots = list(slot_r_hand_str = "toolbox_yellow", slot_l_hand_str = "toolbox_yellow") starts_with = list( - /obj/item/weapon/tool/crowbar/brass, - /obj/item/weapon/tool/wirecutters/brass, - /obj/item/weapon/tool/screwdriver/brass, - /obj/item/weapon/tool/wrench/brass, - /obj/item/weapon/weldingtool/brass + /obj/item/tool/crowbar/brass, + /obj/item/tool/wirecutters/brass, + /obj/item/tool/screwdriver/brass, + /obj/item/tool/wrench/brass, + /obj/item/weldingtool/brass ) //Hydro -/obj/item/weapon/storage/toolbox/hydro +/obj/item/storage/toolbox/hydro name = "hydroponic toolbox" icon = 'icons/obj/storage_vr.dmi' icon_state = "green" item_state_slots = list(slot_r_hand_str = "toolbox_green", slot_l_hand_str = "toolbox_green") starts_with = list( - /obj/item/device/analyzer/plant_analyzer, - /obj/item/weapon/material/minihoe, - /obj/item/weapon/material/knife/machete/hatchet, - /obj/item/weapon/tool/wirecutters/clippers/trimmers, - /obj/item/weapon/reagent_containers/spray/plantbgone, - /obj/item/weapon/reagent_containers/glass/beaker + /obj/item/analyzer/plant_analyzer, + /obj/item/material/minihoe, + /obj/item/material/knife/machete/hatchet, + /obj/item/tool/wirecutters/clippers/trimmers, + /obj/item/reagent_containers/spray/plantbgone, + /obj/item/reagent_containers/glass/beaker ) /* * Lunchboxes */ -/obj/item/weapon/storage/toolbox/lunchbox +/obj/item/storage/toolbox/lunchbox max_storage_space = ITEMSIZE_COST_SMALL * 4 //slightly smaller than a toolbox name = "rainbow lunchbox" icon = 'icons/obj/storage.dmi' @@ -150,7 +150,7 @@ var/filled = FALSE attack_verb = list("lunched") -/obj/item/weapon/storage/toolbox/lunchbox/Initialize() +/obj/item/storage/toolbox/lunchbox/Initialize() if(filled) var/list/lunches = lunchables_lunches() var/lunch = lunches[pick(lunches)] @@ -165,75 +165,75 @@ new drink(src) . = ..() -/obj/item/weapon/storage/toolbox/lunchbox/filled +/obj/item/storage/toolbox/lunchbox/filled filled = TRUE -/obj/item/weapon/storage/toolbox/lunchbox/heart +/obj/item/storage/toolbox/lunchbox/heart name = "heart lunchbox" icon = 'icons/obj/storage.dmi' icon_state = "lunchbox_lovelyhearts" item_state_slots = list(slot_r_hand_str = "toolbox_pink", slot_l_hand_str = "toolbox_pink") desc = "A little lunchbox. This one has cute little hearts on it!" -/obj/item/weapon/storage/toolbox/lunchbox/heart/filled +/obj/item/storage/toolbox/lunchbox/heart/filled filled = TRUE -/obj/item/weapon/storage/toolbox/lunchbox/cat +/obj/item/storage/toolbox/lunchbox/cat name = "cat lunchbox" icon = 'icons/obj/storage.dmi' icon_state = "lunchbox_sciencecatshow" item_state_slots = list(slot_r_hand_str = "toolbox_green", slot_l_hand_str = "toolbox_green") desc = "A little lunchbox. This one has a cute little science cat from a popular show on it!" -/obj/item/weapon/storage/toolbox/lunchbox/cat/filled +/obj/item/storage/toolbox/lunchbox/cat/filled filled = TRUE -/obj/item/weapon/storage/toolbox/lunchbox/nt +/obj/item/storage/toolbox/lunchbox/nt name = "NanoTrasen brand lunchbox" icon = 'icons/obj/storage.dmi' icon_state = "lunchbox_nanotrasen" item_state_slots = list(slot_r_hand_str = "toolbox_blue", slot_l_hand_str = "toolbox_blue") desc = "A little lunchbox. This one is branded with the NanoTrasen logo!" -/obj/item/weapon/storage/toolbox/lunchbox/nt/filled +/obj/item/storage/toolbox/lunchbox/nt/filled filled = TRUE -/obj/item/weapon/storage/toolbox/lunchbox/mars +/obj/item/storage/toolbox/lunchbox/mars name = "\improper Mojave university lunchbox" icon = 'icons/obj/storage.dmi' icon_state = "lunchbox_marsuniversity" item_state_slots = list(slot_r_hand_str = "toolbox_red", slot_l_hand_str = "toolbox_red") desc = "A little lunchbox. This one is branded with the Mojave university logo!" -/obj/item/weapon/storage/toolbox/lunchbox/mars/filled +/obj/item/storage/toolbox/lunchbox/mars/filled filled = TRUE -/obj/item/weapon/storage/toolbox/lunchbox/cti +/obj/item/storage/toolbox/lunchbox/cti name = "\improper CTI lunchbox" icon = 'icons/obj/storage.dmi' icon_state = "lunchbox_cti" item_state_slots = list(slot_r_hand_str = "toolbox_blue", slot_l_hand_str = "toolbox_blue") desc = "A little lunchbox. This one is branded with the CTI logo!" -/obj/item/weapon/storage/toolbox/lunchbox/cti/filled +/obj/item/storage/toolbox/lunchbox/cti/filled filled = TRUE -/obj/item/weapon/storage/toolbox/lunchbox/nymph +/obj/item/storage/toolbox/lunchbox/nymph name = "\improper Diona nymph lunchbox" icon = 'icons/obj/storage.dmi' icon_state = "lunchbox_dionanymph" item_state_slots = list(slot_r_hand_str = "toolbox_yellow", slot_l_hand_str = "toolbox_yellow") desc = "A little lunchbox. This one is an adorable Diona nymph on the side!" -/obj/item/weapon/storage/toolbox/lunchbox/nymph/filled +/obj/item/storage/toolbox/lunchbox/nymph/filled filled = TRUE -/obj/item/weapon/storage/toolbox/lunchbox/syndicate +/obj/item/storage/toolbox/lunchbox/syndicate name = "black and red lunchbox" icon = 'icons/obj/storage.dmi' icon_state = "lunchbox_syndie" item_state_slots = list(slot_r_hand_str = "toolbox_syndi", slot_l_hand_str = "toolbox_syndi") desc = "A little lunchbox. This one is a sleek black and red, made of a durable steel!" -/obj/item/weapon/storage/toolbox/lunchbox/syndicate/filled +/obj/item/storage/toolbox/lunchbox/syndicate/filled filled = TRUE diff --git a/code/game/objects/items/weapons/storage/toolbox_vr.dm b/code/game/objects/items/weapons/storage/toolbox_vr.dm index 12ef265f1f0..b92ccb586eb 100644 --- a/code/game/objects/items/weapons/storage/toolbox_vr.dm +++ b/code/game/objects/items/weapons/storage/toolbox_vr.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/storage/toolbox/lunchbox/survival +/obj/item/storage/toolbox/lunchbox/survival name = "survival lunchbox" icon = 'icons/obj/storage_vr.dmi' icon_state = "lunchbox_survival" @@ -6,6 +6,6 @@ desc = "A little lunchbox. This one seems to be much sturdier than normal, made of a durable steel!" max_storage_space = ITEMSIZE_COST_SMALL * 6 -/obj/item/weapon/storage/toolbox/lunchbox/survival/zaddat +/obj/item/storage/toolbox/lunchbox/survival/zaddat name = "zaddat survival lunchbox" - starts_with = list(/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/glucose = 6) + starts_with = list(/obj/item/reagent_containers/hypospray/autoinjector/biginjector/glucose = 6) diff --git a/code/game/objects/items/weapons/storage/uplink_kits.dm b/code/game/objects/items/weapons/storage/uplink_kits.dm index fc0bd1856d9..d1df4043337 100644 --- a/code/game/objects/items/weapons/storage/uplink_kits.dm +++ b/code/game/objects/items/weapons/storage/uplink_kits.dm @@ -1,217 +1,217 @@ -/obj/item/weapon/storage/box/syndicate/Initialize() +/obj/item/storage/box/syndicate/Initialize() switch (pickweight(list("bloodyspai" = 1, "stealth" = 1, "screwed" = 1, "guns" = 1, "murder" = 1, "freedom" = 1, "hacker" = 1, "lordsingulo" = 1, "smoothoperator" = 1))) if("bloodyspai") new /obj/item/clothing/under/chameleon(src) new /obj/item/clothing/mask/gas/voice(src) - new /obj/item/weapon/card/id/syndicate(src) + new /obj/item/card/id/syndicate(src) new /obj/item/clothing/shoes/syndigaloshes(src) if("stealth") - new /obj/item/weapon/gun/energy/crossbow(src) - new /obj/item/weapon/pen/reagent/paralysis(src) - new /obj/item/device/chameleon(src) + new /obj/item/gun/energy/crossbow(src) + new /obj/item/pen/reagent/paralysis(src) + new /obj/item/chameleon(src) if("screwed") new /obj/effect/spawner/newbomb/timer/syndicate(src) new /obj/effect/spawner/newbomb/timer/syndicate(src) - new /obj/item/device/powersink(src) + new /obj/item/powersink(src) new /obj/item/clothing/suit/space/syndicate(src) new /obj/item/clothing/head/helmet/space/syndicate(src) new /obj/item/clothing/mask/gas/syndicate(src) - new /obj/item/weapon/tank/emergency/oxygen/double(src) + new /obj/item/tank/emergency/oxygen/double(src) if("guns") - new /obj/item/weapon/gun/projectile/revolver(src) + new /obj/item/gun/projectile/revolver(src) new /obj/item/ammo_magazine/s357(src) - new /obj/item/weapon/card/emag(src) - new /obj/item/weapon/plastique(src) - new /obj/item/weapon/plastique(src) + new /obj/item/card/emag(src) + new /obj/item/plastique(src) + new /obj/item/plastique(src) if("murder") - new /obj/item/weapon/melee/energy/sword(src) + new /obj/item/melee/energy/sword(src) new /obj/item/clothing/glasses/thermal/syndi(src) - new /obj/item/weapon/card/emag(src) + new /obj/item/card/emag(src) new /obj/item/clothing/shoes/syndigaloshes(src) if("freedom") - var/obj/item/weapon/implanter/O = new /obj/item/weapon/implanter(src) - O.imp = new /obj/item/weapon/implant/freedom(O) - var/obj/item/weapon/implanter/U = new /obj/item/weapon/implanter(src) - U.imp = new /obj/item/weapon/implant/uplink(U) + var/obj/item/implanter/O = new /obj/item/implanter(src) + O.imp = new /obj/item/implant/freedom(O) + var/obj/item/implanter/U = new /obj/item/implanter(src) + U.imp = new /obj/item/implant/uplink(U) if("hacker") - new /obj/item/device/encryptionkey/syndicate(src) - new /obj/item/weapon/aiModule/syndicate(src) - new /obj/item/weapon/card/emag(src) - new /obj/item/device/encryptionkey/binary(src) + new /obj/item/encryptionkey/syndicate(src) + new /obj/item/aiModule/syndicate(src) + new /obj/item/card/emag(src) + new /obj/item/encryptionkey/binary(src) if("lordsingulo") - new /obj/item/device/radio/beacon/syndicate(src) + new /obj/item/radio/beacon/syndicate(src) new /obj/item/clothing/suit/space/syndicate(src) new /obj/item/clothing/head/helmet/space/syndicate(src) new /obj/item/clothing/mask/gas/syndicate(src) - new /obj/item/weapon/tank/emergency/oxygen/double(src) - new /obj/item/weapon/card/emag(src) + new /obj/item/tank/emergency/oxygen/double(src) + new /obj/item/card/emag(src) if("smoothoperator") - new /obj/item/weapon/storage/box/syndie_kit/g9mm(src) - new /obj/item/weapon/storage/bag/trash(src) - new /obj/item/weapon/soap/syndie(src) + new /obj/item/storage/box/syndie_kit/g9mm(src) + new /obj/item/storage/bag/trash(src) + new /obj/item/soap/syndie(src) new /obj/item/bodybag(src) new /obj/item/clothing/under/suit_jacket(src) new /obj/item/clothing/shoes/laceup(src) . = ..() -/obj/item/weapon/storage/box/syndie_kit +/obj/item/storage/box/syndie_kit name = "box" desc = "A sleek, sturdy box" icon_state = "box_of_doom" -/obj/item/weapon/storage/box/syndie_kit/imp_freedom +/obj/item/storage/box/syndie_kit/imp_freedom name = "boxed freedom implant (with injector)" -/obj/item/weapon/storage/box/syndie_kit/imp_freedom/Initialize() - var/obj/item/weapon/implanter/O = new(src) - O.imp = new /obj/item/weapon/implant/freedom(O) +/obj/item/storage/box/syndie_kit/imp_freedom/Initialize() + var/obj/item/implanter/O = new(src) + O.imp = new /obj/item/implant/freedom(O) O.update() . = ..() -/obj/item/weapon/storage/box/syndie_kit/imp_compress +/obj/item/storage/box/syndie_kit/imp_compress name = "box (C)" - starts_with = list(/obj/item/weapon/implanter/compressed) + starts_with = list(/obj/item/implanter/compressed) -/obj/item/weapon/storage/box/syndie_kit/imp_explosive +/obj/item/storage/box/syndie_kit/imp_explosive name = "box (E)" - starts_with = list(/obj/item/weapon/implanter/explosive) + starts_with = list(/obj/item/implanter/explosive) -/obj/item/weapon/storage/box/syndie_kit/imp_uplink +/obj/item/storage/box/syndie_kit/imp_uplink name = "boxed uplink implant (with injector)" -/obj/item/weapon/storage/box/syndie_kit/imp_uplink/Initialize() - var/obj/item/weapon/implanter/O = new(src) - O.imp = new /obj/item/weapon/implant/uplink(O) +/obj/item/storage/box/syndie_kit/imp_uplink/Initialize() + var/obj/item/implanter/O = new(src) + O.imp = new /obj/item/implant/uplink(O) O.update() . = ..() -/obj/item/weapon/storage/box/syndie_kit/imp_aug +/obj/item/storage/box/syndie_kit/imp_aug name = "boxed augment implant (with injector)" - var/case_type = /obj/item/weapon/implantcase/shades + var/case_type = /obj/item/implantcase/shades -/obj/item/weapon/storage/box/syndie_kit/imp_aug/Initialize() - new /obj/item/weapon/implanter(src) +/obj/item/storage/box/syndie_kit/imp_aug/Initialize() + new /obj/item/implanter(src) new case_type(src) . = ..() -/obj/item/weapon/storage/box/syndie_kit/imp_aug/taser - case_type = /obj/item/weapon/implantcase/taser +/obj/item/storage/box/syndie_kit/imp_aug/taser + case_type = /obj/item/implantcase/taser -/obj/item/weapon/storage/box/syndie_kit/imp_aug/laser - case_type = /obj/item/weapon/implantcase/laser +/obj/item/storage/box/syndie_kit/imp_aug/laser + case_type = /obj/item/implantcase/laser -/obj/item/weapon/storage/box/syndie_kit/imp_aug/dart - case_type = /obj/item/weapon/implantcase/dart +/obj/item/storage/box/syndie_kit/imp_aug/dart + case_type = /obj/item/implantcase/dart -/obj/item/weapon/storage/box/syndie_kit/imp_aug/toolkit - case_type = /obj/item/weapon/implantcase/toolkit +/obj/item/storage/box/syndie_kit/imp_aug/toolkit + case_type = /obj/item/implantcase/toolkit -/obj/item/weapon/storage/box/syndie_kit/imp_aug/medkit - case_type = /obj/item/weapon/implantcase/medkit +/obj/item/storage/box/syndie_kit/imp_aug/medkit + case_type = /obj/item/implantcase/medkit -/obj/item/weapon/storage/box/syndie_kit/imp_aug/surge - case_type = /obj/item/weapon/implantcase/surge +/obj/item/storage/box/syndie_kit/imp_aug/surge + case_type = /obj/item/implantcase/surge -/obj/item/weapon/storage/box/syndie_kit/imp_aug/analyzer - case_type = /obj/item/weapon/implantcase/analyzer +/obj/item/storage/box/syndie_kit/imp_aug/analyzer + case_type = /obj/item/implantcase/analyzer -/obj/item/weapon/storage/box/syndie_kit/imp_aug/sword - case_type = /obj/item/weapon/implantcase/sword +/obj/item/storage/box/syndie_kit/imp_aug/sword + case_type = /obj/item/implantcase/sword -/obj/item/weapon/storage/box/syndie_kit/imp_aug/sprinter - case_type = /obj/item/weapon/implantcase/sprinter +/obj/item/storage/box/syndie_kit/imp_aug/sprinter + case_type = /obj/item/implantcase/sprinter -/obj/item/weapon/storage/box/syndie_kit/imp_aug/armblade - case_type = /obj/item/weapon/implantcase/armblade +/obj/item/storage/box/syndie_kit/imp_aug/armblade + case_type = /obj/item/implantcase/armblade -/obj/item/weapon/storage/box/syndie_kit/imp_aug/handblade - case_type = /obj/item/weapon/implantcase/handblade +/obj/item/storage/box/syndie_kit/imp_aug/handblade + case_type = /obj/item/implantcase/handblade -/obj/item/weapon/storage/box/syndie_kit/space +/obj/item/storage/box/syndie_kit/space name = "boxed space suit and helmet" starts_with = list( /obj/item/clothing/suit/space/syndicate, /obj/item/clothing/head/helmet/space/syndicate, /obj/item/clothing/mask/gas/syndicate, - /obj/item/weapon/tank/emergency/oxygen/double + /obj/item/tank/emergency/oxygen/double ) -/obj/item/weapon/storage/box/syndie_kit/chameleon +/obj/item/storage/box/syndie_kit/chameleon name = "chameleon kit" desc = "Comes with all the clothes you need to impersonate most people. Acting lessons sold separately." starts_with = list( - /obj/item/weapon/storage/backpack/chameleon/full, - /obj/item/weapon/gun/energy/chameleon + /obj/item/storage/backpack/chameleon/full, + /obj/item/gun/energy/chameleon ) -/obj/item/weapon/storage/box/syndie_kit/clerical +/obj/item/storage/box/syndie_kit/clerical name = "clerical kit" desc = "Comes with all you need to fake paperwork. Assumes you have passed basic writing lessons." starts_with = list( - /obj/item/weapon/stamp/chameleon, - /obj/item/weapon/pen/chameleon, - /obj/item/device/destTagger, - /obj/item/weapon/packageWrap, - /obj/item/weapon/hand_labeler + /obj/item/stamp/chameleon, + /obj/item/pen/chameleon, + /obj/item/destTagger, + /obj/item/packageWrap, + /obj/item/hand_labeler ) -/obj/item/weapon/storage/box/syndie_kit/spy +/obj/item/storage/box/syndie_kit/spy name = "spy kit" desc = "For when you want to conduct voyeurism from afar." starts_with = list( - /obj/item/device/camerabug/spy = 6, - /obj/item/device/bug_monitor/spy + /obj/item/camerabug/spy = 6, + /obj/item/bug_monitor/spy ) -/obj/item/weapon/storage/box/syndie_kit/g9mm +/obj/item/storage/box/syndie_kit/g9mm name = "\improper Smooth operator" desc = "Compact 9mm with silencer kit." starts_with = list( - /obj/item/weapon/gun/projectile/pistol, - /obj/item/weapon/silencer + /obj/item/gun/projectile/pistol, + /obj/item/silencer ) -/obj/item/weapon/storage/box/syndie_kit/toxin +/obj/item/storage/box/syndie_kit/toxin name = "toxin kit" desc = "An apple will not be enough to keep the doctor away after this." starts_with = list( - /obj/item/weapon/reagent_containers/glass/beaker/vial/random/toxin, - /obj/item/weapon/reagent_containers/syringe + /obj/item/reagent_containers/glass/beaker/vial/random/toxin, + /obj/item/reagent_containers/syringe ) -/obj/item/weapon/storage/box/syndie_kit/cigarette +/obj/item/storage/box/syndie_kit/cigarette name = "\improper Tricky smokes" desc = "Comes with the following brands of cigarettes, in this order: 2xFlash, 2xSmoke, 1xMindBreaker, 1xTricordrazine. Avoid mixing them up." -/obj/item/weapon/storage/box/syndie_kit/cigarette/Initialize() +/obj/item/storage/box/syndie_kit/cigarette/Initialize() . = ..() - var/obj/item/weapon/storage/fancy/cigarettes/pack + var/obj/item/storage/fancy/cigarettes/pack - pack = new /obj/item/weapon/storage/fancy/cigarettes(src) + pack = new /obj/item/storage/fancy/cigarettes(src) fill_cigarre_package(pack, list("aluminum" = 5, "potassium" = 5, "sulfur" = 5)) pack.desc += " 'F' has been scribbled on it." - pack = new /obj/item/weapon/storage/fancy/cigarettes(src) + pack = new /obj/item/storage/fancy/cigarettes(src) fill_cigarre_package(pack, list("aluminum" = 5, "potassium" = 5, "sulfur" = 5)) pack.desc += " 'F' has been scribbled on it." - pack = new /obj/item/weapon/storage/fancy/cigarettes(src) + pack = new /obj/item/storage/fancy/cigarettes(src) fill_cigarre_package(pack, list("potassium" = 5, "sugar" = 5, "phosphorus" = 5)) pack.desc += " 'S' has been scribbled on it." - pack = new /obj/item/weapon/storage/fancy/cigarettes(src) + pack = new /obj/item/storage/fancy/cigarettes(src) fill_cigarre_package(pack, list("potassium" = 5, "sugar" = 5, "phosphorus" = 5)) pack.desc += " 'S' has been scribbled on it." - pack = new /obj/item/weapon/storage/fancy/cigarettes(src) + pack = new /obj/item/storage/fancy/cigarettes(src) // Dylovene. Going with 1.5 rather than 1.6666666... fill_cigarre_package(pack, list("potassium" = 1.5, "nitrogen" = 1.5, "silicon" = 1.5)) // Mindbreaker @@ -219,19 +219,19 @@ pack.desc += " 'MB' has been scribbled on it." - pack = new /obj/item/weapon/storage/fancy/cigarettes(src) + pack = new /obj/item/storage/fancy/cigarettes(src) pack.reagents.add_reagent("tricordrazine", 15 * pack.storage_slots) pack.desc += " 'T' has been scribbled on it." - new /obj/item/weapon/flame/lighter/zippo(src) + new /obj/item/flame/lighter/zippo(src) calibrate_size() -/proc/fill_cigarre_package(var/obj/item/weapon/storage/fancy/cigarettes/C, var/list/reagents) +/proc/fill_cigarre_package(var/obj/item/storage/fancy/cigarettes/C, var/list/reagents) for(var/reagent in reagents) C.reagents.add_reagent(reagent, reagents[reagent] * C.storage_slots) -/obj/item/weapon/storage/box/syndie_kit/ewar_voice +/obj/item/storage/box/syndie_kit/ewar_voice name = "Electrowarfare and Voice Synthesiser kit" desc = "Kit for confounding organic and synthetic entities alike." starts_with = list( @@ -239,12 +239,12 @@ /obj/item/rig_module/voice ) -/obj/item/weapon/storage/secure/briefcase/money +/obj/item/storage/secure/briefcase/money name = "suspicious briefcase" desc = "An ominous briefcase that has the unmistakeable smell of old, stale, cigarette smoke, and gives those who look at it a bad feeling." - starts_with = list(/obj/item/weapon/spacecash/c1000 = 10) + starts_with = list(/obj/item/spacecash/c1000 = 10) -/obj/item/weapon/storage/box/syndie_kit/combat_armor +/obj/item/storage/box/syndie_kit/combat_armor name = "combat armor kit" desc = "Contains a full set of combat armor." starts_with = list( @@ -254,56 +254,56 @@ /obj/item/clothing/shoes/leg_guard/combat ) -/obj/item/weapon/storage/box/syndie_kit/demolitions +/obj/item/storage/box/syndie_kit/demolitions starts_with = list( - /obj/item/weapon/syndie/c4explosive, - /obj/item/weapon/tool/screwdriver + /obj/item/syndie/c4explosive, + /obj/item/tool/screwdriver ) -/obj/item/weapon/storage/box/syndie_kit/demolitions_heavy +/obj/item/storage/box/syndie_kit/demolitions_heavy starts_with = list( - /obj/item/weapon/syndie/c4explosive/heavy, - /obj/item/weapon/tool/screwdriver + /obj/item/syndie/c4explosive/heavy, + /obj/item/tool/screwdriver ) -/obj/item/weapon/storage/box/syndie_kit/demolitions_super_heavy +/obj/item/storage/box/syndie_kit/demolitions_super_heavy starts_with = list( - /obj/item/weapon/syndie/c4explosive/heavy/super_heavy, - /obj/item/weapon/tool/screwdriver + /obj/item/syndie/c4explosive/heavy/super_heavy, + /obj/item/tool/screwdriver ) -/obj/item/weapon/storage/box/syndie_kit/voidsuit +/obj/item/storage/box/syndie_kit/voidsuit starts_with = list( /obj/item/clothing/suit/space/void/merc, /obj/item/clothing/head/helmet/space/void/merc, /obj/item/clothing/shoes/magboots, - /obj/item/weapon/tank/jetpack/oxygen + /obj/item/tank/jetpack/oxygen ) -/obj/item/weapon/storage/box/syndie_kit/voidsuit/fire +/obj/item/storage/box/syndie_kit/voidsuit/fire starts_with = list( /obj/item/clothing/suit/space/void/merc/fire, /obj/item/clothing/head/helmet/space/void/merc/fire, /obj/item/clothing/shoes/magboots, - /obj/item/weapon/tank/jetpack/oxygen + /obj/item/tank/jetpack/oxygen ) -/obj/item/weapon/storage/box/syndie_kit/concussion_grenade +/obj/item/storage/box/syndie_kit/concussion_grenade starts_with = list( - /obj/item/weapon/grenade/concussion = 8 + /obj/item/grenade/concussion = 8 ) -/obj/item/weapon/storage/box/syndie_kit/deadliest_game +/obj/item/storage/box/syndie_kit/deadliest_game starts_with = list( - /obj/item/weapon/beartrap/hunting = 4 + /obj/item/beartrap/hunting = 4 ) -/obj/item/weapon/storage/box/syndie_kit/viral +/obj/item/storage/box/syndie_kit/viral starts_with = list( - /obj/item/weapon/virusdish/random = 3 + // /obj/item/virusdish/random = 3 ) -/obj/item/weapon/storage/secure/briefcase/rifle +/obj/item/storage/secure/briefcase/rifle name = "secure briefcase" starts_with = list( /obj/item/sniper_rifle_part/barrel, @@ -312,28 +312,28 @@ /obj/item/ammo_casing/a145 = 4 ) -/obj/item/weapon/storage/secure/briefcase/flamer +/obj/item/storage/secure/briefcase/flamer name = "secure briefcase" starts_with = list( - /obj/item/weapon/gun/magnetic/gasthrower, - /obj/item/weapon/cell/super, - /obj/item/weapon/stock_parts/capacitor/adv, - /obj/item/weapon/tank/phoron/pressurized = 2 + /obj/item/gun/magnetic/gasthrower, + /obj/item/cell/super, + /obj/item/stock_parts/capacitor/adv, + /obj/item/tank/phoron/pressurized = 2 ) -/obj/item/weapon/storage/secure/briefcase/fuelrod +/obj/item/storage/secure/briefcase/fuelrod name = "heavy briefcase" desc = "A heavy, locked briefcase." description_fluff = "The container, upon opening, looks to have a few oddly shaped indentations in its packing." description_antag = "This case will likely contain a charged fuel rod gun, and a few fuel rods to go with it. It can only hold the fuel rod gun, fuel rods, batteries, a screwdriver, and stock machine parts." force = 12 //Anti-rad lined i.e. Lead, probably gonna hurt a bit if you get bashed with it. - can_hold = list(/obj/item/weapon/gun/magnetic/fuelrod, /obj/item/weapon/fuel_assembly, /obj/item/weapon/cell, /obj/item/weapon/stock_parts, /obj/item/weapon/tool/screwdriver) + can_hold = list(/obj/item/gun/magnetic/fuelrod, /obj/item/fuel_assembly, /obj/item/cell, /obj/item/stock_parts, /obj/item/tool/screwdriver) starts_with = list( - /obj/item/weapon/gun/magnetic/fuelrod, - /obj/item/weapon/fuel_assembly/deuterium, - /obj/item/weapon/fuel_assembly/deuterium, - /obj/item/weapon/fuel_assembly/tritium, - /obj/item/weapon/fuel_assembly/tritium, - /obj/item/weapon/fuel_assembly/phoron, - /obj/item/weapon/tool/screwdriver + /obj/item/gun/magnetic/fuelrod, + /obj/item/fuel_assembly/deuterium, + /obj/item/fuel_assembly/deuterium, + /obj/item/fuel_assembly/tritium, + /obj/item/fuel_assembly/tritium, + /obj/item/fuel_assembly/phoron, + /obj/item/tool/screwdriver ) diff --git a/code/game/objects/items/weapons/storage/wallets.dm b/code/game/objects/items/weapons/storage/wallets.dm index 84fc4a7c973..f0ddba449da 100644 --- a/code/game/objects/items/weapons/storage/wallets.dm +++ b/code/game/objects/items/weapons/storage/wallets.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/storage/wallet +/obj/item/storage/wallet name = "wallet" desc = "It can hold a few small and personal things." storage_slots = 10 @@ -6,50 +6,50 @@ icon_state = "wallet-orange" w_class = ITEMSIZE_SMALL can_hold = list( - /obj/item/weapon/spacecash, - /obj/item/weapon/card, + /obj/item/spacecash, + /obj/item/card, /obj/item/clothing/mask/smokable/cigarette/, - /obj/item/device/flashlight/pen, - /obj/item/device/tape, - /obj/item/weapon/cartridge, - /obj/item/device/encryptionkey, + /obj/item/flashlight/pen, + /obj/item/rectape, + /obj/item/cartridge, + /obj/item/encryptionkey, /obj/item/seeds, /obj/item/stack/medical, - /obj/item/weapon/coin, - /obj/item/weapon/dice, - /obj/item/weapon/disk, - /obj/item/weapon/implanter, - /obj/item/weapon/flame/lighter, - /obj/item/weapon/flame/match, - /obj/item/weapon/forensics, - /obj/item/weapon/glass_extra, - /obj/item/weapon/haircomb, - /obj/item/weapon/hand, - /obj/item/weapon/key, - /obj/item/weapon/lipstick, - /obj/item/weapon/paper, - /obj/item/weapon/pen, - /obj/item/weapon/photo, - /obj/item/weapon/reagent_containers/dropper, - /obj/item/weapon/sample, - /obj/item/weapon/tool/screwdriver, - /obj/item/weapon/stamp, + /obj/item/coin, + /obj/item/dice, + /obj/item/disk, + /obj/item/implanter, + /obj/item/flame/lighter, + /obj/item/flame/match, + /obj/item/forensics, + /obj/item/glass_extra, + /obj/item/haircomb, + /obj/item/hand, + /obj/item/key, + /obj/item/lipstick, + /obj/item/paper, + /obj/item/pen, + /obj/item/photo, + /obj/item/reagent_containers/dropper, + /obj/item/sample, + /obj/item/tool/screwdriver, + /obj/item/stamp, /obj/item/clothing/accessory/permit, /obj/item/clothing/accessory/badge, - /obj/item/weapon/makeover, + /obj/item/makeover, /obj/item/pizzavoucher, - /obj/item/weapon/card_fluff + /obj/item/card_fluff ) slot_flags = SLOT_ID - var/obj/item/weapon/card/id/front_id = null + var/obj/item/card/id/front_id = null drop_sound = 'sound/items/drop/leather.ogg' pickup_sound = 'sound/items/pickup/leather.ogg' var/original_name // Due to loadout customizations and such -/obj/item/weapon/storage/wallet/remove_from_storage(obj/item/W as obj, atom/new_location) +/obj/item/storage/wallet/remove_from_storage(obj/item/W as obj, atom/new_location) . = ..(W, new_location) if(.) if(W == front_id) @@ -57,17 +57,17 @@ name = original_name || initial(name) update_icon() -/obj/item/weapon/storage/wallet/handle_item_insertion(obj/item/W as obj, prevent_warning = 0) +/obj/item/storage/wallet/handle_item_insertion(obj/item/W as obj, prevent_warning = 0) . = ..(W, prevent_warning) if(.) - if(!front_id && istype(W, /obj/item/weapon/card/id)) + if(!front_id && istype(W, /obj/item/card/id)) front_id = W if(!original_name) original_name = name name = "[original_name] ([front_id])" update_icon() -/obj/item/weapon/storage/wallet/update_icon() +/obj/item/storage/wallet/update_icon() cut_overlays() if(front_id) var/tiny_state = "id-generic" @@ -77,20 +77,20 @@ tiny_image.appearance_flags = RESET_COLOR add_overlay(tiny_image) -/obj/item/weapon/storage/wallet/GetID() +/obj/item/storage/wallet/GetID() return front_id -/obj/item/weapon/storage/wallet/GetAccess() +/obj/item/storage/wallet/GetAccess() var/obj/item/I = GetID() if(I) return I.GetAccess() else return ..() -/obj/item/weapon/storage/wallet/random/New() +/obj/item/storage/wallet/random/New() ..() var/amount = rand(50, 100) + rand(50, 100) // Triangular distribution from 100 to 200 - var/obj/item/weapon/spacecash/SC = null + var/obj/item/spacecash/SC = null SC = new(src) for(var/i in list(100, 50, 20, 10, 5, 1)) if(amount < i) @@ -100,18 +100,18 @@ SC.adjust_worth(i, 0) SC.update_icon() -/obj/item/weapon/storage/wallet/poly +/obj/item/storage/wallet/poly name = "polychromic wallet" desc = "You can recolor it! Fancy! The future is NOW!" icon_state = "wallet-white" -/obj/item/weapon/storage/wallet/poly/New() +/obj/item/storage/wallet/poly/New() ..() - verbs |= /obj/item/weapon/storage/wallet/poly/proc/change_color + verbs |= /obj/item/storage/wallet/poly/proc/change_color color = get_random_colour() update_icon() -/obj/item/weapon/storage/wallet/poly/proc/change_color() +/obj/item/storage/wallet/poly/proc/change_color() set name = "Change Wallet Color" set category = "Object" set desc = "Change the color of the wallet." @@ -125,7 +125,7 @@ if(new_color && (new_color != color)) color = new_color -/obj/item/weapon/storage/wallet/poly/emp_act() +/obj/item/storage/wallet/poly/emp_act() var/original_state = icon_state icon_state = "wallet-emp" update_icon() @@ -135,7 +135,7 @@ icon_state = original_state update_icon() -/obj/item/weapon/storage/wallet/womens +/obj/item/storage/wallet/womens name = "women's wallet" desc = "A stylish wallet typically used by women." icon_state = "girl_wallet" @@ -143,49 +143,49 @@ //Casino Wallet -/obj/item/weapon/storage/wallet/casino +/obj/item/storage/wallet/casino name = "casino wallet" desc = "A fancy casino wallet with flashy lights, oooh~" icon = 'icons/obj/casino.dmi' icon_state = "casinowallet_black" can_hold = list( - /obj/item/weapon/spacecash, - /obj/item/weapon/card, + /obj/item/spacecash, + /obj/item/card, /obj/item/clothing/mask/smokable/cigarette/, - /obj/item/device/flashlight/pen, - /obj/item/device/tape, - /obj/item/weapon/cartridge, - /obj/item/device/encryptionkey, + /obj/item/flashlight/pen, + /obj/item/rectape, + /obj/item/cartridge, + /obj/item/encryptionkey, /obj/item/seeds, /obj/item/stack/medical, - /obj/item/weapon/coin, - /obj/item/weapon/dice, - /obj/item/weapon/disk, - /obj/item/weapon/implanter, - /obj/item/weapon/flame/lighter, - /obj/item/weapon/flame/match, - /obj/item/weapon/forensics, - /obj/item/weapon/glass_extra, - /obj/item/weapon/haircomb, - /obj/item/weapon/hand, - /obj/item/weapon/key, - /obj/item/weapon/lipstick, - /obj/item/weapon/paper, - /obj/item/weapon/pen, - /obj/item/weapon/photo, - /obj/item/weapon/reagent_containers/dropper, - /obj/item/weapon/sample, - /obj/item/weapon/tool/screwdriver, - /obj/item/weapon/stamp, + /obj/item/coin, + /obj/item/dice, + /obj/item/disk, + /obj/item/implanter, + /obj/item/flame/lighter, + /obj/item/flame/match, + /obj/item/forensics, + /obj/item/glass_extra, + /obj/item/haircomb, + /obj/item/hand, + /obj/item/key, + /obj/item/lipstick, + /obj/item/paper, + /obj/item/pen, + /obj/item/photo, + /obj/item/reagent_containers/dropper, + /obj/item/sample, + /obj/item/tool/screwdriver, + /obj/item/stamp, /obj/item/clothing/accessory/permit, /obj/item/clothing/accessory/badge, - /obj/item/weapon/makeover, - /obj/item/weapon/spacecasinocash, - /obj/item/weapon/casino_platinum_chip, - /obj/item/weapon/deck + /obj/item/makeover, + /obj/item/spacecasinocash, + /obj/item/casino_platinum_chip, + /obj/item/deck ) -/obj/item/weapon/storage/wallet/casino/verb/toggle_design() +/obj/item/storage/wallet/casino/verb/toggle_design() set category = "Object" set name = "Toggle design" set src in usr diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm index 7d687ca1959..eedb93e1809 100644 --- a/code/game/objects/items/weapons/stunbaton.dm +++ b/code/game/objects/items/weapons/stunbaton.dm @@ -1,5 +1,5 @@ //replaces our stun baton code with /tg/station's code -/obj/item/weapon/melee/baton +/obj/item/melee/baton name = "stunbaton" desc = "A stun baton for incapacitating people with." icon_state = "stunbaton" @@ -19,21 +19,21 @@ var/stunforce = 0 var/agonyforce = 60 var/status = 0 //whether the thing is on or not - var/obj/item/weapon/cell/bcell = null + var/obj/item/cell/bcell = null var/hitcost = 240 var/use_external_power = FALSE //only used to determine if it's a cyborg baton var/grip_safety = TRUE var/taped_safety = FALSE -/obj/item/weapon/melee/baton/New() +/obj/item/melee/baton/New() ..() update_icon() return -/obj/item/weapon/melee/baton/get_cell() +/obj/item/melee/baton/get_cell() return bcell -/obj/item/weapon/melee/baton/MouseDrop(obj/over_object as obj) +/obj/item/melee/baton/MouseDrop(obj/over_object as obj) if(!canremove) return @@ -65,13 +65,13 @@ usr.put_in_l_hand(src) src.add_fingerprint(usr) -/obj/item/weapon/melee/baton/loaded/New() //this one starts with a cell pre-installed. +/obj/item/melee/baton/loaded/New() //this one starts with a cell pre-installed. ..() - bcell = new/obj/item/weapon/cell/device/weapon(src) + bcell = new/obj/item/cell/device/weapon(src) update_icon() return -/obj/item/weapon/melee/baton/proc/deductcharge() +/obj/item/melee/baton/proc/deductcharge() if(status == 1) //Only deducts charge when it's on if(bcell) if(bcell.checked_use(hitcost)) @@ -80,13 +80,13 @@ return 0 return null -/obj/item/weapon/melee/baton/proc/powercheck() +/obj/item/melee/baton/proc/powercheck() if(bcell) if(bcell.charge < hitcost) status = 0 update_icon() -/obj/item/weapon/melee/baton/update_icon() +/obj/item/melee/baton/update_icon() if(status) icon_state = "[initial(name)]_active" else if(!bcell) @@ -99,58 +99,58 @@ else set_light(0) -/obj/item/weapon/melee/baton/dropped() +/obj/item/melee/baton/dropped() ..() if(status && grip_safety && !taped_safety) status = 0 - visible_message("\The [src]'s grip safety engages!") + visible_message(span_warning("\The [src]'s grip safety engages!")) update_icon() -/obj/item/weapon/melee/baton/examine(mob/user) +/obj/item/melee/baton/examine(mob/user) . = ..() if(Adjacent(user)) if(taped_safety) - . += "Someone has wrapped tape around the grip!" + . += span_warning("Someone has wrapped tape around the grip!") if(bcell) - . += "The baton is [round(bcell.percent())]% charged." + . += span_notice("The baton is [round(bcell.percent())]% charged.") if(!bcell) - . += "The baton does not have a power source installed." + . += span_warning("The baton does not have a power source installed.") -/obj/item/weapon/melee/baton/attackby(obj/item/weapon/W, mob/user) +/obj/item/melee/baton/attackby(obj/item/W, mob/user) if(use_external_power) return - if(istype(W, /obj/item/weapon/cell)) - if(istype(W, /obj/item/weapon/cell/device)) + if(istype(W, /obj/item/cell)) + if(istype(W, /obj/item/cell/device)) if(!bcell) user.drop_item() W.loc = src bcell = W - to_chat(user, "You install a cell in [src].") + to_chat(user, span_notice("You install a cell in [src].")) update_icon() else - to_chat(user, "[src] already has a cell.") + to_chat(user, span_notice("[src] already has a cell.")) else - to_chat(user, "This cell is not fitted for [src].") - if(istype(W, /obj/item/weapon/tape_roll) || istype(W, /obj/item/taperoll)) + to_chat(user, span_notice("This cell is not fitted for [src].")) + if(istype(W, /obj/item/tape_roll) || istype(W, /obj/item/taperoll)) if(grip_safety && !taped_safety) //no point letting people wrap tape around the grips of batons without a safety - to_chat(user, "You firmly wrap tape around the baton's grip, disabling the safety system.") + to_chat(user, span_notice("You firmly wrap tape around the baton's grip, disabling the safety system.")) playsound(src, 'sound/effects/tape.ogg',25) taped_safety = TRUE else if(grip_safety && taped_safety) - to_chat(user, "The grip safety has already been taped down.") - if(istype(W, /obj/item/weapon/tool/screwdriver)) + to_chat(user, span_notice("The grip safety has already been taped down.")) + if(istype(W, /obj/item/tool/screwdriver)) if(taped_safety) - to_chat(user, "You painstakingly scrape away the tape over the grip safety.") + to_chat(user, span_notice("You painstakingly scrape away the tape over the grip safety.")) taped_safety = FALSE -/obj/item/weapon/melee/baton/attack_hand(mob/user as mob) +/obj/item/melee/baton/attack_hand(mob/user as mob) if(user.get_inactive_hand() == src) if(bcell) bcell.update_icon() user.put_in_hands(bcell) bcell = null - to_chat(user, "You remove the cell from the [src].") + to_chat(user, span_notice("You remove the cell from the [src].")) status = 0 update_icon() return @@ -158,7 +158,7 @@ else return ..() -/obj/item/weapon/melee/baton/attack_self(mob/user) +/obj/item/melee/baton/attack_self(mob/user) if(use_external_power) //try to find our power cell var/mob/living/silicon/robot/R = loc @@ -166,27 +166,27 @@ bcell = R.cell if(bcell && bcell.charge >= hitcost) status = !status - to_chat(user, "[src] is now [status ? "on" : "off"].") + to_chat(user, span_notice("[src] is now [status ? "on" : "off"].")) playsound(src, "sparks", 75, 1, -1) update_icon() else status = 0 if(!bcell) - to_chat(user, "[src] does not have a power source!") + to_chat(user, span_warning("[src] does not have a power source!")) else - to_chat(user, "[src] is out of charge.") + to_chat(user, span_warning("[src] is out of charge.")) add_fingerprint(user) -/obj/item/weapon/melee/baton/attack(mob/M, mob/user) +/obj/item/melee/baton/attack(mob/M, mob/user) if(status && (CLUMSY in user.mutations) && prob(50)) - to_chat(user, "You accidentally hit yourself with the [src]!") + to_chat(user, span_danger("You accidentally hit yourself with the [src]!")) user.Weaken(30) deductcharge(hitcost) return deductcharge(hitcost) return ..() -/obj/item/weapon/melee/baton/apply_hit_effect(mob/living/target, mob/living/user, var/hit_zone) +/obj/item/melee/baton/apply_hit_effect(mob/living/target, mob/living/user, var/hit_zone) if(isrobot(target)) return ..() @@ -204,14 +204,14 @@ stun *= 0.5 else if(!status) if(affecting) - target.visible_message("[target] has been prodded in the [affecting.name] with [src] by [user]. Luckily it was off.") + target.visible_message(span_warning("[target] has been prodded in the [affecting.name] with [src] by [user]. Luckily it was off.")) else - target.visible_message("[target] has been prodded with [src] by [user]. Luckily it was off.") + target.visible_message(span_warning("[target] has been prodded with [src] by [user]. Luckily it was off.")) else if(affecting) - target.visible_message("[target] has been prodded in the [affecting.name] with [src] by [user]!") + target.visible_message(span_danger("[target] has been prodded in the [affecting.name] with [src] by [user]!")) else - target.visible_message("[target] has been prodded with [src] by [user]!") + target.visible_message(span_danger("[target] has been prodded with [src] by [user]!")) playsound(src, 'sound/weapons/Egloves.ogg', 50, 1, -1) //stun effects @@ -224,18 +224,18 @@ H.forcesay(hit_appends) powercheck() -/obj/item/weapon/melee/baton/emp_act(severity) +/obj/item/melee/baton/emp_act(severity) if(bcell) bcell.emp_act(severity) //let's not duplicate code everywhere if we don't have to please. ..() //secborg stun baton module -/obj/item/weapon/melee/baton/robot +/obj/item/melee/baton/robot hitcost = 500 use_external_power = TRUE //Makeshift stun baton. Replacement for stun gloves. -/obj/item/weapon/melee/baton/cattleprod +/obj/item/melee/baton/cattleprod name = "stunprod" desc = "An improvised stun baton." icon_state = "stunprod_nocell" @@ -249,21 +249,21 @@ slot_flags = null grip_safety = FALSE -/obj/item/weapon/melee/baton/cattleprod/attackby(obj/item/weapon/W, mob/user) - if(istype(W, /obj/item/weapon/cell)) - if(!istype(W, /obj/item/weapon/cell/device)) +/obj/item/melee/baton/cattleprod/attackby(obj/item/W, mob/user) + if(istype(W, /obj/item/cell)) + if(!istype(W, /obj/item/cell/device)) if(!bcell) user.drop_item() W.loc = src bcell = W - to_chat(user, "You install a cell in [src].") + to_chat(user, span_notice("You install a cell in [src].")) update_icon() else - to_chat(user, "[src] already has a cell.") + to_chat(user, span_notice("[src] already has a cell.")) else - to_chat(user, "This cell is not fitted for [src].") + to_chat(user, span_notice("This cell is not fitted for [src].")) -/obj/item/weapon/melee/baton/get_description_interaction() +/obj/item/melee/baton/get_description_interaction() var/list/results = list() if(bcell) @@ -276,7 +276,7 @@ return results // Rare version of a baton that causes lesser lifeforms to really hate the user and attack them. -/obj/item/weapon/melee/baton/shocker +/obj/item/melee/baton/shocker name = "shocker" desc = "A device that appears to arc electricity into a target to incapacitate or otherwise hurt them, similar to a stun baton. It looks inefficent." description_info = "Hitting a lesser lifeform with this while it is on will compel them to attack you above other nearby targets. Otherwise \ @@ -287,11 +287,11 @@ agonyforce = 25 // Less efficent than a regular baton. attack_verb = list("poked") -/obj/item/weapon/melee/baton/shocker/apply_hit_effect(mob/living/target, mob/living/user, var/hit_zone) +/obj/item/melee/baton/shocker/apply_hit_effect(mob/living/target, mob/living/user, var/hit_zone) ..(target, user, hit_zone) if(status && target.has_AI()) target.taunt(user) // Borg version, for the lost module. -/obj/item/weapon/melee/baton/shocker/robot +/obj/item/melee/baton/shocker/robot use_external_power = TRUE diff --git a/code/game/objects/items/weapons/surgery_tools.dm b/code/game/objects/items/weapons/surgery_tools.dm index de3ae21488a..ffe0779a68b 100644 --- a/code/game/objects/items/weapons/surgery_tools.dm +++ b/code/game/objects/items/weapons/surgery_tools.dm @@ -13,7 +13,7 @@ * Alien Tools */ -/obj/item/weapon/surgical +/obj/item/surgical name = "Surgical tool" desc = "This shouldn't be here, ahelp it." icon = 'icons/obj/surgery_vr.dmi' @@ -22,7 +22,7 @@ pickup_sound = 'sound/items/pickup/weldingtool.ogg' var/helpforce = 0 //For help intent things -/obj/item/weapon/surgical/attack(mob/M, mob/user) +/obj/item/surgical/attack(mob/M, mob/user) if(user.a_intent == I_HELP) //A tad messy, but this should stop people from smacking their patients in surgery return 0 ..() @@ -30,7 +30,7 @@ /* * Bio-Regenerator */ -/obj/item/weapon/surgical/bioregen +/obj/item/surgical/bioregen name="bioregenerator" desc="A special tool used in surgeries which can pull toxins from and restore oxygen to organic tissue as well as recreate missing biological structures to allow otherwise irreperable flesh to be mended." icon_state="bioregen" @@ -40,7 +40,7 @@ * Retractor */ -/obj/item/weapon/surgical/retractor +/obj/item/surgical/retractor name = "retractor" desc = "Retracts stuff." icon_state = "retractor" @@ -51,7 +51,7 @@ /* * Hemostat */ -/obj/item/weapon/surgical/hemostat +/obj/item/surgical/hemostat name = "hemostat" desc = "You think you have seen this before." icon_state = "hemostat" @@ -63,7 +63,7 @@ /* * Cautery */ -/obj/item/weapon/surgical/cautery +/obj/item/surgical/cautery name = "cautery" desc = "This stops bleeding." icon_state = "cautery" @@ -75,7 +75,7 @@ /* * Surgical Drill */ -/obj/item/weapon/surgical/surgicaldrill +/obj/item/surgical/surgicaldrill name = "surgical drill" desc = "You can drill using this item. You dig?" icon_state = "drill" @@ -90,7 +90,7 @@ /* * Scalpel */ -/obj/item/weapon/surgical/scalpel +/obj/item/surgical/scalpel name = "scalpel" desc = "Cut, cut, and once more cut." icon_state = "scalpel" @@ -110,33 +110,33 @@ /* * Researchable Scalpels */ -/obj/item/weapon/surgical/scalpel/laser1 +/obj/item/surgical/scalpel/laser1 name = "laser scalpel" desc = "A scalpel augmented with a directed laser, for more precise cutting without blood entering the field. This one looks basic and could be improved." icon_state = "scalpel_laser1" damtype = "fire" -/obj/item/weapon/surgical/scalpel/laser2 +/obj/item/surgical/scalpel/laser2 name = "laser scalpel" desc = "A scalpel augmented with a directed laser, for more precise cutting without blood entering the field. This one looks somewhat advanced." icon_state = "scalpel_laser2" damtype = "fire" force = 12.0 -/obj/item/weapon/surgical/scalpel/laser3 +/obj/item/surgical/scalpel/laser3 name = "laser scalpel" desc = "A scalpel augmented with a directed laser, for more precise cutting without blood entering the field. This one looks to be the pinnacle of precision energy cutlery!" icon_state = "scalpel_laser3" damtype = "fire" force = 15.0 -/obj/item/weapon/surgical/scalpel/manager +/obj/item/surgical/scalpel/manager name = "incision management system" desc = "A true extension of the surgeon's body, this marvel instantly and completely prepares an incision allowing for the immediate commencement of therapeutic steps." icon_state = "scalpel_manager" force = 7.5 -/obj/item/weapon/surgical/scalpel/ripper +/obj/item/surgical/scalpel/ripper name = "jagged scalpel" desc = "A horrifying bladed tool with a large metal spike in its center. The tool is used for rapidly removing organs or medical malpractice." icon_state = "organ_ripper" @@ -148,7 +148,7 @@ /* * Circular Saws */ -/obj/item/weapon/surgical/circular_saw +/obj/item/surgical/circular_saw name = "circular saw" desc = "For heavy duty cutting." icon_state = "saw" @@ -165,7 +165,7 @@ sharp = TRUE edge = TRUE -/obj/item/weapon/surgical/circular_saw/manager +/obj/item/surgical/circular_saw/manager name = "energetic bone diverter" desc = "For heavy duty cutting (and sealing), with science!" icon_state = "adv_saw" @@ -181,7 +181,7 @@ /* * Misc Tools */ -/obj/item/weapon/surgical/bonegel +/obj/item/surgical/bonegel name = "bone gel" desc = "For fixing bones." icon_state = "bone-gel" @@ -189,7 +189,7 @@ throwforce = 1.0 drop_sound = 'sound/items/drop/bottle.ogg' -/obj/item/weapon/surgical/FixOVein +/obj/item/surgical/FixOVein name = "FixOVein" desc = "Like bone gel. For veins." icon_state = "fixovein" @@ -199,7 +199,7 @@ var/usage_amount = 10 drop_sound = 'sound/items/drop/bottle.ogg' -/obj/item/weapon/surgical/bonesetter +/obj/item/surgical/bonesetter name = "bone setter" desc = "Put them in their place." icon_state = "bone_setter" @@ -210,7 +210,7 @@ attack_verb = list("attacked", "hit", "bludgeoned") drop_sound = 'sound/items/drop/scrap.ogg' -/obj/item/weapon/surgical/bone_clamp +/obj/item/surgical/bone_clamp name = "bone clamp" desc = "The best way to get a bone fixed fast." icon_state = "bone_clamp" @@ -223,75 +223,75 @@ /* * Cyborg Tools */ -/obj/item/weapon/surgical/retractor/cyborg +/obj/item/surgical/retractor/cyborg icon_state = "cyborg_retractor" toolspeed = 0.5 -/obj/item/weapon/surgical/hemostat/cyborg +/obj/item/surgical/hemostat/cyborg icon_state = "cyborg_hemostat" toolspeed = 0.5 -/obj/item/weapon/surgical/cautery/cyborg +/obj/item/surgical/cautery/cyborg icon_state = "cyborg_cautery" toolspeed = 0.5 -/obj/item/weapon/surgical/surgicaldrill/cyborg +/obj/item/surgical/surgicaldrill/cyborg icon_state = "cyborg_drill" toolspeed = 0.5 -/obj/item/weapon/surgical/scalpel/cyborg +/obj/item/surgical/scalpel/cyborg icon_state = "cyborg_scalpel" toolspeed = 0.5 -/obj/item/weapon/surgical/circular_saw/cyborg +/obj/item/surgical/circular_saw/cyborg icon_state = "cyborg_saw" toolspeed = 0.5 -/obj/item/weapon/surgical/bonegel/cyborg +/obj/item/surgical/bonegel/cyborg toolspeed = 0.5 -/obj/item/weapon/surgical/FixOVein/cyborg +/obj/item/surgical/FixOVein/cyborg toolspeed = 0.5 -/obj/item/weapon/surgical/bonesetter/cyborg +/obj/item/surgical/bonesetter/cyborg icon_state = "cyborg_setter" toolspeed = 0.5 -/obj/item/weapon/surgical/bioregen/cyborg //VoreStation edit: let the borgs S U C C +/obj/item/surgical/bioregen/cyborg //VoreStation edit: let the borgs S U C C icon_state = "cyborg_bioregen" toolspeed = 0.5 /* * Alien Tools */ -/obj/item/weapon/surgical/retractor/alien +/obj/item/surgical/retractor/alien icon = 'icons/obj/abductor.dmi' toolspeed = 0.25 -/obj/item/weapon/surgical/hemostat/alien +/obj/item/surgical/hemostat/alien icon = 'icons/obj/abductor.dmi' toolspeed = 0.25 -/obj/item/weapon/surgical/cautery/alien +/obj/item/surgical/cautery/alien icon = 'icons/obj/abductor.dmi' toolspeed = 0.25 -/obj/item/weapon/surgical/surgicaldrill/alien +/obj/item/surgical/surgicaldrill/alien icon = 'icons/obj/abductor.dmi' toolspeed = 0.25 -/obj/item/weapon/surgical/scalpel/alien +/obj/item/surgical/scalpel/alien icon = 'icons/obj/abductor.dmi' toolspeed = 0.25 -/obj/item/weapon/surgical/circular_saw/alien +/obj/item/surgical/circular_saw/alien icon = 'icons/obj/abductor.dmi' toolspeed = 0.25 -/obj/item/weapon/surgical/FixOVein/alien +/obj/item/surgical/FixOVein/alien icon = 'icons/obj/abductor.dmi' toolspeed = 0.25 -/obj/item/weapon/surgical/bone_clamp/alien +/obj/item/surgical/bone_clamp/alien icon = 'icons/obj/abductor.dmi' toolspeed = 0.75 diff --git a/code/game/objects/items/weapons/swords_axes_etc.dm b/code/game/objects/items/weapons/swords_axes_etc.dm index 40b0ef44b41..ecae56a6500 100644 --- a/code/game/objects/items/weapons/swords_axes_etc.dm +++ b/code/game/objects/items/weapons/swords_axes_etc.dm @@ -9,7 +9,7 @@ * Classic Baton */ -/obj/item/weapon/melee +/obj/item/melee name = "weapon" desc = "Murder device." icon = 'icons/obj/weapons.dmi' @@ -18,7 +18,7 @@ force = 10 drop_sound = 'sound/items/drop/metalweapon.ogg' -/obj/item/weapon/melee/classic_baton +/obj/item/melee/classic_baton name = "police baton" desc = "A wooden truncheon for beating criminal scum." icon = 'icons/obj/weapons.dmi' @@ -29,9 +29,9 @@ drop_sound = 'sound/items/drop/crowbar.ogg' pickup_sound = 'sound/items/pickup/crowbar.ogg' -/obj/item/weapon/melee/classic_baton/attack(mob/M as mob, mob/living/user as mob) +/obj/item/melee/classic_baton/attack(mob/M as mob, mob/living/user as mob) if ((CLUMSY in user.mutations) && prob(50)) - to_chat(user, "You club yourself over the head.") + to_chat(user, span_warning("You club yourself over the head.")) user.Weaken(3 * force) if(ishuman(user)) var/mob/living/carbon/human/H = user @@ -42,7 +42,7 @@ return ..() //Telescopic baton -/obj/item/weapon/melee/telebaton +/obj/item/melee/telebaton name = "telescopic baton" desc = "A compact yet rebalanced personal defense weapon. Can be concealed when folded." icon = 'icons/obj/weapons.dmi' @@ -55,11 +55,11 @@ pickup_sound = 'sound/items/pickup/crowbar.ogg' var/on = 0 -/obj/item/weapon/melee/telebaton/attack_self(mob/user as mob) +/obj/item/melee/telebaton/attack_self(mob/user as mob) on = !on if(on) - user.visible_message("With a flick of their wrist, [user] extends their telescopic baton.",\ - "You extend the baton.",\ + user.visible_message(span_warning("With a flick of their wrist, [user] extends their telescopic baton."),\ + span_warning("You extend the baton."),\ "You hear an ominous click.") icon_state = "telebaton1" item_state = icon_state @@ -67,8 +67,8 @@ force = 15//quite robust attack_verb = list("smacked", "struck", "slapped") else - user.visible_message("\The [user] collapses their telescopic baton.",\ - "You collapse the baton.",\ + user.visible_message(span_infoplain(span_bold("\The [user]") + " collapses their telescopic baton."),\ + span_notice("You collapse the baton."),\ "You hear a click.") icon_state = "telebaton0" item_state = icon_state @@ -96,10 +96,10 @@ return -/obj/item/weapon/melee/telebaton/attack(mob/target as mob, mob/living/user as mob) +/obj/item/melee/telebaton/attack(mob/target as mob, mob/living/user as mob) if(on) if ((CLUMSY in user.mutations) && prob(50)) - to_chat(user, "You club yourself over the head.") + to_chat(user, span_warning("You club yourself over the head.")) user.Weaken(3 * force) if(ishuman(user)) var/mob/living/carbon/human/H = user diff --git a/code/game/objects/items/weapons/syndie.dm b/code/game/objects/items/weapons/syndie.dm index a5cb000f715..445820d2200 100644 --- a/code/game/objects/items/weapons/syndie.dm +++ b/code/game/objects/items/weapons/syndie.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/syndie +/obj/item/syndie icon = 'icons/obj/syndieweapons.dmi' /*C-4 explosive charge and etc, replaces the old syndie transfer valve bomb.*/ @@ -6,7 +6,7 @@ /*The explosive charge itself. Flashes for five seconds before exploding.*/ -/obj/item/weapon/syndie/c4explosive +/obj/item/syndie/c4explosive icon_state = "c-4small_0" item_state = "radio" name = "normal-sized package" @@ -19,7 +19,7 @@ var/flash_range = 5 var/size = "small" /*Used for the icon, this one will make c-4small_0 for the off state.*/ -/obj/item/weapon/syndie/c4explosive/heavy +/obj/item/syndie/c4explosive/heavy icon_state = "c-4large_0" item_state = "radio" desc = "A mysterious package, it's quite heavy." @@ -29,7 +29,7 @@ flash_range = 7 size = "large" -/obj/item/weapon/syndie/c4explosive/heavy/super_heavy +/obj/item/syndie/c4explosive/heavy/super_heavy name = "large-sized package" desc = "A mysterious package, it's quite exceptionally heavy." devastate = 2 @@ -37,20 +37,20 @@ light_impact = 7 flash_range = 7 -/obj/item/weapon/syndie/c4explosive/New() +/obj/item/syndie/c4explosive/New() var/K = rand(1,2000) K = md5(num2text(K)+name) K = copytext(K,1,7) desc += "\n You see [K] engraved on \the [src]." - var/obj/item/weapon/flame/lighter/zippo/c4detonator/detonator = new(src.loc) + var/obj/item/flame/lighter/zippo/c4detonator/detonator = new(src.loc) detonator.desc += " You see [K] engraved on the lighter." detonator.bomb = src -/obj/item/weapon/syndie/c4explosive/proc/detonate() +/obj/item/syndie/c4explosive/proc/detonate() icon_state = "c-4[size]_1" playsound(src, 'sound/weapons/armbomb.ogg', 75, 1) for(var/mob/O in hearers(src, null)) - O.show_message("[icon2html(src, O.client)] The [src.name] beeps! ") + O.show_message("[icon2html(src, O.client)] " + span_warning(" The [src.name] beeps!")) sleep(50) explosion(get_turf(src), devastate, heavy_impact, light_impact, flash_range) for(var/dirn in cardinal) //This is to guarantee that C4 at least breaks down all immediately adjacent walls and doors. @@ -63,9 +63,9 @@ T.dismantle_wall(1) qdel(src) -/obj/item/weapon/syndie/c4explosive/attackby(obj/item/weapon/W, mob/user) - if(istype(W, /obj/item/weapon/flame/lighter/zippo/c4detonator)) - var/obj/item/weapon/flame/lighter/zippo/c4detonator/D = W +/obj/item/syndie/c4explosive/attackby(obj/item/W, mob/user) + if(istype(W, /obj/item/flame/lighter/zippo/c4detonator)) + var/obj/item/flame/lighter/zippo/c4detonator/D = W D.bomb = src return ..() @@ -73,11 +73,11 @@ /*Detonator, disguised as a lighter*/ /*Click it when closed to open, when open to bring up a prompt asking you if you want to close it or press the button.*/ -/obj/item/weapon/flame/lighter/zippo/c4detonator +/obj/item/flame/lighter/zippo/c4detonator var/detonator_mode = 0 - var/obj/item/weapon/syndie/c4explosive/bomb + var/obj/item/syndie/c4explosive/bomb -/obj/item/weapon/flame/lighter/zippo/c4detonator/attack_self(mob/user as mob) +/obj/item/flame/lighter/zippo/c4detonator/attack_self(mob/user as mob) if(!detonator_mode) ..() @@ -86,27 +86,27 @@ lit = 1 icon_state = "[base_state]1" //item_state = "[base_state]on" - user.visible_message("Without even breaking stride, \the [user] flips open \the [src] in one smooth movement.") + user.visible_message(span_rose("Without even breaking stride, \the [user] flips open \the [src] in one smooth movement.")) else if(lit && detonator_mode) switch(tgui_alert(user, "What would you like to do?", "Lighter", list("Press the button.", "Close the lighter."))) if("Press the button.") - to_chat(user, "You press the button.") + to_chat(user, span_warning("You press the button.")) icon_state = "[base_state]click" if(src.bomb) src.bomb.detonate() log_admin("[key_name(user)] has triggered [src.bomb] with [src].") - message_admins("[key_name_admin(user)] has triggered [src.bomb] with [src].") + message_admins(span_danger("[key_name_admin(user)] has triggered [src.bomb] with [src].")) if("Close the lighter.") lit = 0 icon_state = "[base_state]" //item_state = "[base_state]" - user.visible_message("You hear a quiet click, as \the [user] shuts off \the [src] without even looking at what they're doing.") + user.visible_message(span_rose("You hear a quiet click, as \the [user] shuts off \the [src] without even looking at what they're doing.")) -/obj/item/weapon/flame/lighter/zippo/c4detonator/attackby(obj/item/weapon/W, mob/user as mob) +/obj/item/flame/lighter/zippo/c4detonator/attackby(obj/item/W, mob/user as mob) if(W.has_tool_quality(TOOL_SCREWDRIVER)) detonator_mode = !detonator_mode playsound(src, W.usesound, 50, 1) - to_chat(user, "You unscrew the top panel of \the [src] revealing a button.") + to_chat(user, span_notice("You unscrew the top panel of \the [src] revealing a button.")) diff --git a/code/game/objects/items/weapons/tanks/jetpack.dm b/code/game/objects/items/weapons/tanks/jetpack.dm index 10724e2e3da..7660cb8e675 100644 --- a/code/game/objects/items/weapons/tanks/jetpack.dm +++ b/code/game/objects/items/weapons/tanks/jetpack.dm @@ -1,6 +1,6 @@ //This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32 -/obj/item/weapon/tank/jetpack +/obj/item/tank/jetpack name = "jetpack (empty)" desc = "A tank of compressed gas for use as propulsion in zero-gravity areas. Use with caution." icon = 'icons/obj/tank_vr.dmi' //VOREStation Edit @@ -17,30 +17,30 @@ var/on = 0.0 var/stabilization_on = 0 var/volume_rate = 500 //Needed for borg jetpack transfer - action_button_name = "Toggle Jetpack" + actions_types = list(/datum/action/item_action/toggle_jetpack) -/obj/item/weapon/tank/jetpack/New() +/obj/item/tank/jetpack/New() ..() ion_trail = new /datum/effect/effect/system/ion_trail_follow() ion_trail.set_up(src) -/obj/item/weapon/tank/jetpack/Destroy() +/obj/item/tank/jetpack/Destroy() QDEL_NULL(ion_trail) return ..() -/obj/item/weapon/tank/jetpack/examine(mob/user) +/obj/item/tank/jetpack/examine(mob/user) . = ..() if(air_contents.total_moles < 5) - . += "The meter on \the [src] indicates you are almost out of gas!" + . += span_danger("The meter on \the [src] indicates you are almost out of gas!") playsound(src, 'sound/effects/alert.ogg', 50, 1) -/obj/item/weapon/tank/jetpack/verb/toggle_rockets() +/obj/item/tank/jetpack/verb/toggle_rockets() set name = "Toggle Jetpack Stabilization" set category = "Object" stabilization_on = !( stabilization_on ) to_chat(usr, "You toggle the stabilization [stabilization_on? "on":"off"].") -/obj/item/weapon/tank/jetpack/verb/toggle() +/obj/item/tank/jetpack/verb/toggle() set name = "Toggle Jetpack" set category = "Object" @@ -55,14 +55,14 @@ if (ismob(usr)) var/mob/M = usr M.update_inv_back() - M.update_action_buttons() + M.update_mob_action_buttons() to_chat(usr, "You toggle the thrusters [on? "on":"off"].") -/obj/item/weapon/tank/jetpack/proc/get_gas_supply() +/obj/item/tank/jetpack/proc/get_gas_supply() return air_contents -/obj/item/weapon/tank/jetpack/proc/can_thrust(num) +/obj/item/tank/jetpack/proc/can_thrust(num) if(!on) return 0 @@ -73,7 +73,7 @@ return 1 -/obj/item/weapon/tank/jetpack/proc/do_thrust(num, mob/living/user) +/obj/item/tank/jetpack/proc/do_thrust(num, mob/living/user) if(!can_thrust(num)) return 0 @@ -81,57 +81,57 @@ fuel.remove(num) return 1 -/obj/item/weapon/tank/jetpack/ui_action_click() +/obj/item/tank/jetpack/ui_action_click(mob/user, actiontype) toggle() -/obj/item/weapon/tank/jetpack/void +/obj/item/tank/jetpack/void name = "void jetpack (oxygen)" desc = "It works well in a void." icon_state = "jetpack-void" item_state_slots = list(slot_r_hand_str = "jetpack-void", slot_l_hand_str = "jetpack-void") -/obj/item/weapon/tank/jetpack/void/Initialize() +/obj/item/tank/jetpack/void/Initialize() . = ..() air_contents.adjust_gas("oxygen", (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)) -/obj/item/weapon/tank/jetpack/oxygen +/obj/item/tank/jetpack/oxygen name = "jetpack (oxygen)" desc = "A tank of compressed oxygen for use as propulsion in zero-gravity areas. Use with caution." icon_state = "jetpack" item_state_slots = list(slot_r_hand_str = "jetpack", slot_l_hand_str = "jetpack") -/obj/item/weapon/tank/jetpack/oxygen/Initialize() +/obj/item/tank/jetpack/oxygen/Initialize() . = ..() air_contents.adjust_gas("oxygen", (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)) -/obj/item/weapon/tank/jetpack/breaker +/obj/item/tank/jetpack/breaker name = "CSC industrial jetpack" desc = "A JetFast EVA thruster pack. A warning label clearly states \'WARNING: CONTAINS VOLATILE REACTION MASS TOXIC TO MOST LIFEFORMS. NOT TO BE USED WITH CLOSED CYCLE BREATHING SYSTEMS.\'" icon_state = "jetpack-breaker" item_state_slots = list(slot_r_hand_str = "jetpack", slot_l_hand_str = "jetpack") -/obj/item/weapon/tank/jetpack/breaker/Initialize() +/obj/item/tank/jetpack/breaker/Initialize() . = ..() air_contents.adjust_gas("volatile_fuel", (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)) -/obj/item/weapon/tank/jetpack/carbondioxide +/obj/item/tank/jetpack/carbondioxide name = "jetpack (carbon dioxide)" desc = "A tank of compressed carbon dioxide for use as propulsion in zero-gravity areas. Painted black to indicate that it should not be used as a source for internals." distribute_pressure = 0 icon_state = "jetpack-black" item_state_slots = list(slot_r_hand_str = "jetpack-black", slot_l_hand_str = "jetpack-black") -/obj/item/weapon/tank/jetpack/carbondioxide/Initialize() +/obj/item/tank/jetpack/carbondioxide/Initialize() . = ..() air_contents.adjust_gas("carbon_dioxide", (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)) -/obj/item/weapon/tank/jetpack/rig +/obj/item/tank/jetpack/rig name = "jetpack" - var/obj/item/weapon/rig/holder + var/obj/item/rig/holder -/obj/item/weapon/tank/jetpack/rig/examine() +/obj/item/tank/jetpack/rig/examine() . = ..() . += "It's a jetpack. If you can see this, report it on the bug tracker." -/obj/item/weapon/tank/jetpack/rig/get_gas_supply() +/obj/item/tank/jetpack/rig/get_gas_supply() return holder?.air_supply?.air_contents diff --git a/code/game/objects/items/weapons/tanks/tank_types.dm b/code/game/objects/items/weapons/tanks/tank_types.dm index e34ad4810b7..9157aa3ea17 100644 --- a/code/game/objects/items/weapons/tanks/tank_types.dm +++ b/code/game/objects/items/weapons/tanks/tank_types.dm @@ -10,38 +10,38 @@ /* * Oxygen */ -/obj/item/weapon/tank/oxygen +/obj/item/tank/oxygen name = "oxygen tank" desc = "A tank of oxygen." icon_state = "oxygen" distribute_pressure = ONE_ATMOSPHERE*O2STANDARD -/obj/item/weapon/tank/oxygen/Initialize() +/obj/item/tank/oxygen/Initialize() . = ..() air_contents.adjust_gas("oxygen", (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)) -/obj/item/weapon/tank/oxygen/examine(mob/user) +/obj/item/tank/oxygen/examine(mob/user) . = ..() if(loc == user && (air_contents.gas["oxygen"] < 10)) - . += "The meter on \the [src] indicates you are almost out of oxygen!" + . += span_warning("The meter on \the [src] indicates you are almost out of oxygen!") -/obj/item/weapon/tank/oxygen/yellow +/obj/item/tank/oxygen/yellow desc = "A tank of oxygen, this one is yellow." icon_state = "oxygen_f" -/obj/item/weapon/tank/oxygen/red +/obj/item/tank/oxygen/red desc = "A tank of oxygen, this one is red." icon_state = "oxygen_fr" /* * Anesthetic */ -/obj/item/weapon/tank/anesthetic +/obj/item/tank/anesthetic name = "anesthetic tank" desc = "A tank with an N2O/O2 gas mix." icon_state = "anesthetic" -/obj/item/weapon/tank/anesthetic/Initialize() +/obj/item/tank/anesthetic/Initialize() . = ..() air_contents.gas["oxygen"] = (3*ONE_ATMOSPHERE)*70/(R_IDEAL_GAS_EQUATION*T20C) * O2STANDARD @@ -51,40 +51,40 @@ /* * Air */ -/obj/item/weapon/tank/air +/obj/item/tank/air name = "air tank" desc = "Mixed anyone?" icon_state = "oxygen" -/obj/item/weapon/tank/air/examine(mob/user) +/obj/item/tank/air/examine(mob/user) . = ..() if(loc == user && (air_contents.gas["oxygen"] < 1)) - . += "The meter on \the [src] indicates you are almost out of air!" + . += span_warning("The meter on \the [src] indicates you are almost out of air!") user << sound('sound/effects/alert.ogg') -/obj/item/weapon/tank/air/Initialize() +/obj/item/tank/air/Initialize() . = ..() src.air_contents.adjust_multi("oxygen", (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C) * O2STANDARD, "nitrogen", (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C) * N2STANDARD) /* * Phoron */ -/obj/item/weapon/tank/phoron +/obj/item/tank/phoron name = "phoron tank" desc = "Contains dangerous phoron. Do not inhale. Warning: extremely flammable." icon_state = "phoron" gauge_icon = null slot_flags = null //they have no straps! -/obj/item/weapon/tank/phoron/Initialize() +/obj/item/tank/phoron/Initialize() . = ..() src.air_contents.adjust_gas("phoron", (3*ONE_ATMOSPHERE)*70/(R_IDEAL_GAS_EQUATION*T20C)) -/obj/item/weapon/tank/phoron/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/item/tank/phoron/attackby(obj/item/W as obj, mob/user as mob) ..() - if (istype(W, /obj/item/weapon/flamethrower)) - var/obj/item/weapon/flamethrower/F = W + if (istype(W, /obj/item/flamethrower)) + var/obj/item/flamethrower/F = W if ((!F.status)||(F.ptank)) return src.master = F F.ptank = src @@ -92,7 +92,7 @@ src.loc = F return -/obj/item/weapon/tank/vox //Can't be a child of phoron or the gas amount gets screwey. +/obj/item/tank/vox //Can't be a child of phoron or the gas amount gets screwey. name = "phoron tank" desc = "Contains dangerous phoron. Do not inhale. Warning: extremely flammable." icon_state = "phoron_vox" @@ -100,16 +100,16 @@ distribute_pressure = ONE_ATMOSPHERE*O2STANDARD slot_flags = SLOT_BACK //these ones have straps! -/obj/item/weapon/tank/vox/Initialize() +/obj/item/tank/vox/Initialize() . = ..() air_contents.adjust_gas("phoron", (10*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)) //VOREStation Edit -/obj/item/weapon/tank/phoron/pressurized +/obj/item/tank/phoron/pressurized name = "fuel can" icon_state = "phoron_vox" w_class = ITEMSIZE_NORMAL -/obj/item/weapon/tank/phoron/pressurized/Initialize() +/obj/item/tank/phoron/pressurized/Initialize() . = ..() adjust_scale(0.8) air_contents.adjust_gas("phoron", (7*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)) @@ -118,7 +118,7 @@ * Emergency Oxygen */ -/obj/item/weapon/tank/emergency +/obj/item/tank/emergency name = "emergency tank" icon_state = "emergency" gauge_icon = "indicator_emergency" @@ -129,71 +129,71 @@ distribute_pressure = ONE_ATMOSPHERE*O2STANDARD volume = 2 //Tiny. Real life equivalents only have 21 breaths of oxygen in them. They're EMERGENCY tanks anyway -errorage (dangercon 2011) -/obj/item/weapon/tank/emergency/oxygen +/obj/item/tank/emergency/oxygen name = "emergency oxygen tank" desc = "Used for emergencies. Contains very little oxygen, so try to conserve it until you actually need it." icon_state = "emergency" gauge_icon = "indicator_emergency" -/obj/item/weapon/tank/emergency/oxygen/Initialize() +/obj/item/tank/emergency/oxygen/Initialize() . = ..() src.air_contents.adjust_gas("oxygen", (10*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)) -/obj/item/weapon/tank/emergency/oxygen/examine(mob/user) +/obj/item/tank/emergency/oxygen/examine(mob/user) . = ..() if(loc == user && (air_contents.gas["oxygen"] < 0.2)) - . += "The meter on the [src.name] indicates you are almost out of air!" + . += span_danger("The meter on the [src.name] indicates you are almost out of air!") user << sound('sound/effects/alert.ogg') -/obj/item/weapon/tank/emergency/oxygen/engi +/obj/item/tank/emergency/oxygen/engi name = "extended-capacity emergency oxygen tank" icon_state = "emergency_engi" volume = 6 -/obj/item/weapon/tank/emergency/oxygen/double +/obj/item/tank/emergency/oxygen/double name = "double emergency oxygen tank" icon_state = "emergency_double" gauge_icon = "indicator_emergency_double" volume = 10 -/obj/item/weapon/tank/stasis/oxygen // Stasis bags need to have initial pressure within safe bounds for human atmospheric pressure (NOT breath pressure) +/obj/item/tank/stasis/oxygen // Stasis bags need to have initial pressure within safe bounds for human atmospheric pressure (NOT breath pressure) name = "stasis oxygen tank" desc = "Oxygen tank included in most stasis bag designs." icon_state = "emergency_double" gauge_icon = "indicator_emergency_double" volume = 10 -/obj/item/weapon/tank/stasis/oxygen/Initialize() +/obj/item/tank/stasis/oxygen/Initialize() . = ..() src.air_contents.adjust_gas("oxygen", (3*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)) -/obj/item/weapon/tank/emergency/nitrogen +/obj/item/tank/emergency/nitrogen name = "emergency nitrogen tank" desc = "An emergency air tank hastily painted red." icon_state = "emergency_nitro" gauge_icon = "indicator_emergency" -/obj/item/weapon/tank/emergency/nitrogen/Initialize() +/obj/item/tank/emergency/nitrogen/Initialize() . = ..() src.air_contents.adjust_gas("nitrogen", (10*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)) -/obj/item/weapon/tank/emergency/nitrogen/double +/obj/item/tank/emergency/nitrogen/double name = "double emergency nitrogen tank" icon_state = "emergency_double_nitrogen" gauge_icon = "indicator_emergency_double" volume = 10 -/obj/item/weapon/tank/emergency/phoron +/obj/item/tank/emergency/phoron name = "emergency phoron tank" desc = "An emergency air tank hastily painted red." icon_state = "emergency_nitro" gauge_icon = "indicator_emergency" -/obj/item/weapon/tank/emergency/phoron/Initialize() +/obj/item/tank/emergency/phoron/Initialize() . = ..() src.air_contents.adjust_gas("phoron", (10*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)) -/obj/item/weapon/tank/emergency/phoron/double +/obj/item/tank/emergency/phoron/double name = "double emergency phoron tank" icon_state = "emergency_double_nitro" gauge_icon = "indicator_emergency_double" @@ -202,29 +202,29 @@ /* * Nitrogen */ -/obj/item/weapon/tank/nitrogen +/obj/item/tank/nitrogen name = "nitrogen tank" desc = "A tank of nitrogen." icon_state = "oxygen_fr" distribute_pressure = ONE_ATMOSPHERE*O2STANDARD -/obj/item/weapon/tank/nitrogen/Initialize() +/obj/item/tank/nitrogen/Initialize() . = ..() src.air_contents.adjust_gas("nitrogen", (3*ONE_ATMOSPHERE)*70/(R_IDEAL_GAS_EQUATION*T20C)) -/obj/item/weapon/tank/nitrogen/examine(mob/user) +/obj/item/tank/nitrogen/examine(mob/user) . = ..() if(loc == user && (air_contents.gas["nitrogen"] < 10)) - . += "The meter on \the [src] indicates you are almost out of nitrogen!" + . += span_danger("The meter on \the [src] indicates you are almost out of nitrogen!") //playsound(user, 'sound/effects/alert.ogg', 50, 1) -/obj/item/weapon/tank/stasis/nitro_cryo // Synthmorph bags need to have initial pressure within safe bounds for human atmospheric pressure, but low temperature to stop unwanted degredation. +/obj/item/tank/stasis/nitro_cryo // Synthmorph bags need to have initial pressure within safe bounds for human atmospheric pressure, but low temperature to stop unwanted degredation. name = "stasis cryogenic nitrogen tank" desc = "Cryogenic Nitrogen tank included in most synthmorph bag designs." icon_state = "emergency_double_nitro" gauge_icon = "indicator_emergency_double" volume = 10 -/obj/item/weapon/tank/stasis/nitro_cryo/Initialize() +/obj/item/tank/stasis/nitro_cryo/Initialize() . = ..() src.air_contents.adjust_gas_temp("nitrogen", (3*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*TN60C), TN60C) diff --git a/code/game/objects/items/weapons/tanks/tank_types_vr.dm b/code/game/objects/items/weapons/tanks/tank_types_vr.dm index b40ae4a2105..3cd36cdb53f 100644 --- a/code/game/objects/items/weapons/tanks/tank_types_vr.dm +++ b/code/game/objects/items/weapons/tanks/tank_types_vr.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/tank/emergency/phoron/double +/obj/item/tank/emergency/phoron/double name = "double emergency phoron tank" desc = "Contains dangerous phoron. Do not inhale. Warning: extremely flammable." icon = 'icons/obj/tank_vr.dmi' @@ -8,79 +8,79 @@ gauge_cap = 3 volume = 10 -/obj/item/weapon/tank/emergency/phoron/double/New() +/obj/item/tank/emergency/phoron/double/New() ..() air_contents.adjust_gas("phoron", (10*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)) //New icons -/obj/item/weapon/tank/oxygen +/obj/item/tank/oxygen icon = 'icons/obj/tank_vr.dmi' icon_state = "oxygen" gauge_cap = 3 gauge_icon = "indicator_bigtank" -// /obj/item/weapon/tank/oxygen/yellow -// /obj/item/weapon/tank/oxygen/red +// /obj/item/tank/oxygen/yellow +// /obj/item/tank/oxygen/red -/obj/item/weapon/tank/anesthetic +/obj/item/tank/anesthetic icon = 'icons/obj/tank_vr.dmi' icon_state = "anesthetic" gauge_cap = 3 gauge_icon = "indicator_bigtank" -/obj/item/weapon/tank/air +/obj/item/tank/air icon = 'icons/obj/tank_vr.dmi' icon_state = "oxygen" gauge_cap = 3 gauge_icon = "indicator_bigtank" -/obj/item/weapon/tank/phoron +/obj/item/tank/phoron icon = 'icons/obj/tank_vr.dmi' icon_state = "phoron" -/obj/item/weapon/tank/vox //Can't be a child of phoron or the gas amount gets screwey. +/obj/item/tank/vox //Can't be a child of phoron or the gas amount gets screwey. icon = 'icons/obj/tank_vr.dmi' icon_override = 'icons/inventory/back/mob_vr.dmi' icon_state = "phoron_vox" gauge_cap = 3 gauge_icon = "indicator_double" -/obj/item/weapon/tank/emergency +/obj/item/tank/emergency icon = 'icons/obj/tank_vr.dmi' icon_state = "emergency" gauge_icon = "indicator_smalltank" gauge_cap = 3 -/obj/item/weapon/tank/emergency/oxygen +/obj/item/tank/emergency/oxygen icon = 'icons/obj/tank_vr.dmi' icon_state = "emergency" gauge_icon = "indicator_smalltank" gauge_cap = 3 -/obj/item/weapon/tank/emergency/oxygen/engi +/obj/item/tank/emergency/oxygen/engi icon = 'icons/obj/tank_vr.dmi' icon_state = "emergency_engi" gauge_icon = "indicator_engi" gauge_cap = 3 -/obj/item/weapon/tank/emergency/oxygen/double +/obj/item/tank/emergency/oxygen/double icon = 'icons/obj/tank_vr.dmi' icon_state = "emergency_double" gauge_icon = "indicator_double" gauge_cap = 3 -/obj/item/weapon/tank/emergency/nitrogen +/obj/item/tank/emergency/nitrogen icon = 'icons/obj/tank_vr.dmi' icon_state = "emergency_nitrogen" gauge_icon = "indicator_smalltank" gauge_cap = 3 -/obj/item/weapon/tank/emergency/nitrogen/double +/obj/item/tank/emergency/nitrogen/double icon = 'icons/obj/tank_vr.dmi' icon_state = "emergency_double_vox" gauge_icon = "indicator_double" gauge_cap = 3 -/obj/item/weapon/tank/emergency/phoron +/obj/item/tank/emergency/phoron icon = 'icons/obj/tank_vr.dmi' icon_override = 'icons/inventory/belt/mob_vr.dmi' icon_state = "emergency_phoron_vox" @@ -88,7 +88,7 @@ volume = 6 gauge_cap = 3 -/obj/item/weapon/tank/nitrogen +/obj/item/tank/nitrogen icon = 'icons/obj/tank_vr.dmi' icon_state = "oxygen_fr" gauge_icon = "indicator_bigtank" diff --git a/code/game/objects/items/weapons/tanks/tanks.dm b/code/game/objects/items/weapons/tanks/tanks.dm index 880f5f24914..820995c12fc 100644 --- a/code/game/objects/items/weapons/tanks/tanks.dm +++ b/code/game/objects/items/weapons/tanks/tanks.dm @@ -2,7 +2,7 @@ var/list/global/tank_gauge_cache = list() -/obj/item/weapon/tank +/obj/item/tank name = "tank" icon = 'icons/obj/tank.dmi' sprite_sheets = list( @@ -28,7 +28,7 @@ var/list/global/tank_gauge_cache = list() var/integrity = 20 var/maxintegrity = 20 var/valve_welded = 0 - var/obj/item/device/tankassemblyproxy/proxyassembly + var/obj/item/tankassemblyproxy/proxyassembly var/volume = 70 var/manipulated_by = null //Used by _onclick/hud/screen_objects.dm internals to determine if someone has messed with our tank or not. @@ -51,13 +51,13 @@ var/list/global/tank_gauge_cache = list() Wired and assembled tanks may be disarmed with a set of wirecutters. Any exploding or rupturing tank will generate shrapnel, assuming their relief valves have been welded beforehand. Even if not, they can be incited to expel hot gas on ignition if pushed above 173ºC. \ Relatively easy to make, the single tank bomb requries no tank transfer valve, and is still a fairly formidable weapon that can be manufactured from any tank." -/obj/item/weapon/tank/proc/init_proxy() - var/obj/item/device/tankassemblyproxy/proxy = new /obj/item/device/tankassemblyproxy(src) +/obj/item/tank/proc/init_proxy() + var/obj/item/tankassemblyproxy/proxy = new /obj/item/tankassemblyproxy(src) proxy.tank = src src.proxyassembly = proxy -/obj/item/weapon/tank/Initialize() +/obj/item/tank/Initialize() . = ..() src.init_proxy() @@ -66,26 +66,26 @@ var/list/global/tank_gauge_cache = list() src.air_contents.temperature = T20C update_gauge() -/obj/item/weapon/tank/Destroy() +/obj/item/tank/Destroy() QDEL_NULL(air_contents) STOP_PROCESSING(SSobj, src) QDEL_NULL(src.proxyassembly) - if(istype(loc, /obj/item/device/transfer_valve)) - var/obj/item/device/transfer_valve/TTV = loc + if(istype(loc, /obj/item/transfer_valve)) + var/obj/item/transfer_valve/TTV = loc TTV.remove_tank(src) . = ..() -/obj/item/weapon/tank/equipped() // Note that even grabbing into a hand calls this, so it should be fine as a 'has a player touched this' +/obj/item/tank/equipped() // Note that even grabbing into a hand calls this, so it should be fine as a 'has a player touched this' . = ..() // An attempt at optimization. There are MANY tanks during rounds that will never get touched. // Don't see why any of those would explode spontaneously. So only tanks that players touch get processed. // This could be optimized more, but it's a start! START_PROCESSING(SSobj, src) // This has a built in safety to avoid multi-processing -/obj/item/weapon/tank/examine(mob/user) +/obj/item/tank/examine(mob/user) . = ..() if(loc == user) var/celsius_temperature = air_contents.temperature - T0C @@ -105,15 +105,15 @@ var/list/global/tank_gauge_cache = list() descriptive = "cold" else descriptive = "bitterly cold" - . += "\The [src] feels [descriptive]." + . += span_notice("\The [src] feels [descriptive].") if(src.proxyassembly.assembly || wired) - . += "It seems to have [wired? "some wires ": ""][wired && src.proxyassembly.assembly? "and ":""][src.proxyassembly.assembly ? "some sort of assembly ":""]attached to it." + . += span_warning("It seems to have [wired? "some wires ": ""][wired && src.proxyassembly.assembly? "and ":""][src.proxyassembly.assembly ? "some sort of assembly ":""]attached to it.") if(src.valve_welded) - . += "\The [src] emergency relief valve has been welded shut!" + . += span_warning("\The [src] emergency relief valve has been welded shut!") -/obj/item/weapon/tank/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/item/tank/attackby(obj/item/W as obj, mob/user as mob) ..() if (istype(src.loc, /obj/item/assembly)) icon = src.loc @@ -127,26 +127,26 @@ var/list/global/tank_gauge_cache = list() var/obj/item/stack/cable_coil/C = W if(C.use(1)) wired = 1 - to_chat(user, "You attach the wires to the tank.") + to_chat(user, span_notice("You attach the wires to the tank.")) src.add_bomb_overlay() if(W.has_tool_quality(TOOL_WIRECUTTER)) if(wired && src.proxyassembly.assembly) - to_chat(user, "You carefully begin clipping the wires that attach to the tank.") + to_chat(user, span_notice("You carefully begin clipping the wires that attach to the tank.")) if(do_after(user, 100,src)) wired = 0 cut_overlay("bomb_assembly") - to_chat(user, "You cut the wire and remove the device.") + to_chat(user, span_notice("You cut the wire and remove the device.")) - var/obj/item/device/assembly_holder/assy = src.proxyassembly.assembly + var/obj/item/assembly_holder/assy = src.proxyassembly.assembly if(assy.a_left && assy.a_right) - assy.dropInto(usr.loc) + assy.dropInto(user.loc) assy.master = null src.proxyassembly.assembly = null else if(!src.proxyassembly.assembly.a_left) - assy.a_right.dropInto(usr.loc) + assy.a_right.dropInto(user.loc) assy.a_right.holder = null assy.a_right = null src.proxyassembly.assembly = null @@ -156,60 +156,60 @@ var/list/global/tank_gauge_cache = list() update_gauge() else - to_chat(user, "You slip and bump the igniter!") + to_chat(user, span_danger("You slip and bump the igniter!")) if(prob(85)) src.proxyassembly.receive_signal() else if(wired) if(do_after(user, 10, src)) - to_chat(user, "You quickly clip the wire from the tank.") + to_chat(user, span_notice("You quickly clip the wire from the tank.")) wired = 0 cut_overlay("bomb_assembly") else - to_chat(user, "There are no wires to cut!") + to_chat(user, span_notice("There are no wires to cut!")) - if(istype(W, /obj/item/device/assembly_holder)) + if(istype(W, /obj/item/assembly_holder)) if(wired) - to_chat(user, "You begin attaching the assembly to \the [src].") + to_chat(user, span_notice("You begin attaching the assembly to \the [src].")) if(do_after(user, 50, src)) - to_chat(user, "You finish attaching the assembly to \the [src].") + to_chat(user, span_notice("You finish attaching the assembly to \the [src].")) bombers += "[key_name(user)] attached an assembly to a wired [src]. Temp: [src.air_contents.temperature-T0C]" message_admins("[key_name_admin(user)] attached an assembly to a wired [src]. Temp: [src.air_contents.temperature-T0C]") assemble_bomb(W,user) else - to_chat(user, "You stop attaching the assembly.") + to_chat(user, span_notice("You stop attaching the assembly.")) else - to_chat(user, "You need to wire the device up first.") + to_chat(user, span_notice("You need to wire the device up first.")) - if(istype(W, /obj/item/weapon/weldingtool)) - var/obj/item/weapon/weldingtool/WT = W + if(istype(W, /obj/item/weldingtool)) + var/obj/item/weldingtool/WT = W if(WT.remove_fuel(1,user)) if(!valve_welded) - to_chat(user, "You begin welding the \the [src] emergency pressure relief valve.") + to_chat(user, span_notice("You begin welding the \the [src] emergency pressure relief valve.")) if(do_after(user, 40,src)) - to_chat(user, "You carefully weld \the [src] emergency pressure relief valve shut. \The [src] may now rupture under pressure!") + to_chat(user, span_notice("You carefully weld \the [src] emergency pressure relief valve shut.") + " " + span_warning("\The [src] may now rupture under pressure!")) src.valve_welded = 1 src.leaking = 0 else bombers += "[key_name(user)] attempted to weld a [src]. [src.air_contents.temperature-T0C]" message_admins("[key_name_admin(user)] attempted to weld a [src]. [src.air_contents.temperature-T0C]") if(WT.welding) - to_chat(user, "You accidentally rake \the [W] across \the [src]!") + to_chat(user, span_danger("You accidentally rake \the [W] across \the [src]!")) maxintegrity -= rand(2,6) integrity = min(integrity,maxintegrity) src.air_contents.add_thermal_energy(rand(2000,50000)) WT.eyecheck(user) else - to_chat(user, "The emergency pressure relief valve has already been welded.") + to_chat(user, span_notice("The emergency pressure relief valve has already been welded.")) add_fingerprint(user) -/obj/item/weapon/tank/attack_self(mob/user as mob) +/obj/item/tank/attack_self(mob/user as mob) add_fingerprint(user) if (!(src.air_contents)) return @@ -219,16 +219,16 @@ var/list/global/tank_gauge_cache = list() if (src.proxyassembly.assembly) src.proxyassembly.assembly.attack_self(user) -/obj/item/weapon/tank/tgui_state(mob/user) +/obj/item/tank/tgui_state(mob/user) return GLOB.tgui_deep_inventory_state -/obj/item/weapon/tank/tgui_interact(mob/user, datum/tgui/ui) +/obj/item/tank/tgui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) if(!ui) ui = new(user, src, "Tank", name) ui.open() -/obj/item/weapon/tank/tgui_data(mob/user) +/obj/item/tank/tgui_data(mob/user) var/list/data = list() data["tankPressure"] = round(air_contents.return_pressure() ? air_contents.return_pressure() : 0) data["releasePressure"] = round(distribute_pressure ? distribute_pressure : 0) @@ -257,7 +257,7 @@ var/list/global/tank_gauge_cache = list() return data -/obj/item/weapon/tank/tgui_act(action, params) +/obj/item/tank/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE switch(action) @@ -278,18 +278,18 @@ var/list/global/tank_gauge_cache = list() if(.) distribute_pressure = clamp(round(pressure), 0, TANK_MAX_RELEASE_PRESSURE) if("toggle") - toggle_valve(usr) + toggle_valve(ui.user) . = TRUE - add_fingerprint(usr) + add_fingerprint(ui.user) -/obj/item/weapon/tank/proc/toggle_valve(var/mob/user) +/obj/item/tank/proc/toggle_valve(var/mob/user) if(istype(loc,/mob/living/carbon)) var/mob/living/carbon/location = loc if(location.internal == src) location.internal = null location.internals.icon_state = "internal0" - to_chat(user, "You close the tank release valve.") + to_chat(user, span_notice("You close the tank release valve.")) if (location.internals) location.internals.icon_state = "internal0" else @@ -303,30 +303,30 @@ var/list/global/tank_gauge_cache = list() if(can_open_valve) location.internal = src - to_chat(user, "You open \the [src] valve.") + to_chat(user, span_notice("You open \the [src] valve.")) if (location.internals) location.internals.icon_state = "internal1" else - to_chat(user, "You need something to connect to \the [src].") + to_chat(user, span_warning("You need something to connect to \the [src].")) -/obj/item/weapon/tank/remove_air(amount) +/obj/item/tank/remove_air(amount) return air_contents.remove(amount) -/obj/item/weapon/tank/proc/remove_air_by_flag(flag, amount) +/obj/item/tank/proc/remove_air_by_flag(flag, amount) return air_contents.remove_by_flag(flag, amount) -/obj/item/weapon/tank/return_air() +/obj/item/tank/return_air() return air_contents -/obj/item/weapon/tank/assume_air(datum/gas_mixture/giver) +/obj/item/tank/assume_air(datum/gas_mixture/giver) air_contents.merge(giver) check_status() return 1 -/obj/item/weapon/tank/proc/remove_air_volume(volume_to_return) +/obj/item/tank/proc/remove_air_volume(volume_to_return) if(!air_contents) return null @@ -338,7 +338,7 @@ var/list/global/tank_gauge_cache = list() return remove_air(moles_needed) -/obj/item/weapon/tank/process() +/obj/item/tank/process() if(!air_contents) return //Allow for reactions @@ -348,7 +348,7 @@ var/list/global/tank_gauge_cache = list() check_status() -/obj/item/weapon/tank/proc/add_bomb_overlay() +/obj/item/tank/proc/add_bomb_overlay() if(src.wired) add_overlay("bomb_assembly") if(src.proxyassembly.assembly) @@ -358,7 +358,7 @@ var/list/global/tank_gauge_cache = list() add_overlay(test) -/obj/item/weapon/tank/proc/update_gauge() +/obj/item/tank/proc/update_gauge() var/gauge_pressure = 0 if(air_contents) gauge_pressure = air_contents.return_pressure() @@ -383,7 +383,7 @@ var/list/global/tank_gauge_cache = list() -/obj/item/weapon/tank/proc/check_status() +/obj/item/tank/proc/check_status() //Handle exploding, leaking, and rupturing of the tank if(!air_contents) @@ -394,7 +394,7 @@ var/list/global/tank_gauge_cache = list() if(pressure > TANK_FRAGMENT_PRESSURE) if(integrity <= 7) - if(!istype(src.loc,/obj/item/device/transfer_valve)) + if(!istype(src.loc,/obj/item/transfer_valve)) message_admins("Explosive tank rupture! last key to touch the tank was [src.fingerprintslast].") log_game("Explosive tank rupture! last key to touch the tank was [src.fingerprintslast].") @@ -429,8 +429,8 @@ var/list/global/tank_gauge_cache = list() var/num_fragments = round(rand(8,10) * sqrt(strength * mult)) src.fragmentate(T, num_fragments, rand(5) + 7, list(/obj/item/projectile/bullet/pellet/fragment/tank/small = 7,/obj/item/projectile/bullet/pellet/fragment/tank = 2,/obj/item/projectile/bullet/pellet/fragment/strong = 1)) - if(istype(loc, /obj/item/device/transfer_valve)) - var/obj/item/device/transfer_valve/TTV = loc + if(istype(loc, /obj/item/transfer_valve)) + var/obj/item/transfer_valve/TTV = loc TTV.remove_tank(src) qdel(TTV) @@ -444,7 +444,7 @@ var/list/global/tank_gauge_cache = list() else if(pressure > TANK_RUPTURE_PRESSURE) #ifdef FIREDBG - log_debug("[x],[y] tank is rupturing: [pressure] kPa, integrity [integrity]") + log_debug(span_warning("[x],[y] tank is rupturing: [pressure] kPa, integrity [integrity]")) #endif air_contents.react() @@ -455,7 +455,7 @@ var/list/global/tank_gauge_cache = list() return T.assume_air(air_contents) playsound(src, 'sound/weapons/Gunshot_shotgun.ogg', 20, 1) - visible_message("[icon2html(src,viewers(src))] \The [src] flies apart!", "You hear a bang!") + visible_message("[icon2html(src,viewers(src))] " + span_danger("\The [src] flies apart!"), span_warning("You hear a bang!")) T.hotspot_expose(air_contents.temperature, 70, 1) @@ -466,8 +466,8 @@ var/list/global/tank_gauge_cache = list() var/num_fragments = round(rand(6,8) * sqrt(strength * mult)) //Less chunks, but bigger src.fragmentate(T, num_fragments, 7, list(/obj/item/projectile/bullet/pellet/fragment/tank/small = 1,/obj/item/projectile/bullet/pellet/fragment/tank = 5,/obj/item/projectile/bullet/pellet/fragment/strong = 4)) - if(istype(loc, /obj/item/device/transfer_valve)) - var/obj/item/device/transfer_valve/TTV = loc + if(istype(loc, /obj/item/transfer_valve)) + var/obj/item/transfer_valve/TTV = loc TTV.remove_tank(src) @@ -500,11 +500,11 @@ var/list/global/tank_gauge_cache = list() T.assume_air(leaked_gas) if(!leaking) - visible_message("[icon2html(src,viewers(src))] \The [src] relief valve flips open with a hiss!", "You hear hissing.") + visible_message("[icon2html(src,viewers(src))] " + span_warning("\The [src] relief valve flips open with a hiss!"), "You hear hissing.") playsound(src, 'sound/effects/spray.ogg', 10, 1, -3) leaking = 1 #ifdef FIREDBG - log_debug("[x],[y] tank is leaking: [pressure] kPa, integrity [integrity]") + log_debug(span_warning("[x],[y] tank is leaking: [pressure] kPa, integrity [integrity]")) #endif @@ -524,9 +524,9 @@ var/list/global/tank_gauge_cache = list() ///Prewelded tanks ///////////////////////////////// -/obj/item/weapon/tank/phoron/welded +/obj/item/tank/phoron/welded valve_welded = 1 -/obj/item/weapon/tank/oxygen/welded +/obj/item/tank/oxygen/welded valve_welded = 1 @@ -534,7 +534,7 @@ var/list/global/tank_gauge_cache = list() ///Onetankbombs (added as actual items) ///////////////////////////////// -/obj/item/weapon/tank/proc/onetankbomb(var/fill = 1) +/obj/item/tank/proc/onetankbomb(var/fill = 1) var/phoron_amt = 4 + rand(4) var/oxygen_amt = 6 + rand(8) @@ -554,7 +554,7 @@ var/list/global/tank_gauge_cache = list() src.wired = 1 - var/obj/item/device/assembly_holder/H = new(src) + var/obj/item/assembly_holder/H = new(src) src.proxyassembly.assembly = H H.master = src.proxyassembly @@ -563,28 +563,28 @@ var/list/global/tank_gauge_cache = list() add_overlay("bomb_assembly") -/obj/item/weapon/tank/phoron/onetankbomb/New() +/obj/item/tank/phoron/onetankbomb/New() ..() src.onetankbomb() -/obj/item/weapon/tank/oxygen/onetankbomb/New() +/obj/item/tank/oxygen/onetankbomb/New() ..() src.onetankbomb() -/obj/item/weapon/tank/phoron/onetankbomb/full/New() +/obj/item/tank/phoron/onetankbomb/full/New() ..() src.onetankbomb(2) -/obj/item/weapon/tank/oxygen/onetankbomb/full/New() +/obj/item/tank/oxygen/onetankbomb/full/New() ..() src.onetankbomb(2) -/obj/item/weapon/tank/phoron/onetankbomb/small/New() +/obj/item/tank/phoron/onetankbomb/small/New() ..() src.onetankbomb(0) -/obj/item/weapon/tank/oxygen/onetankbomb/small/New() +/obj/item/tank/oxygen/onetankbomb/small/New() ..() src.onetankbomb(0) @@ -592,23 +592,23 @@ var/list/global/tank_gauge_cache = list() ///Pulled from rewritten bomb.dm ///////////////////////////////// -/obj/item/device/tankassemblyproxy +/obj/item/tankassemblyproxy name = "Tank assembly proxy" desc = "Used as a stand in to trigger single tank assemblies... but you shouldn't see this." - var/obj/item/weapon/tank/tank = null - var/obj/item/device/assembly_holder/assembly = null + var/obj/item/tank/tank = null + var/obj/item/assembly_holder/assembly = null -/obj/item/device/tankassemblyproxy/receive_signal() //This is mainly called by the sensor through sense() to the holder, and from the holder to here. +/obj/item/tankassemblyproxy/receive_signal() //This is mainly called by the sensor through sense() to the holder, and from the holder to here. tank.ignite() //boom (or not boom if you made shijwtty mix) -/obj/item/device/tankassemblyproxy/Destroy() +/obj/item/tankassemblyproxy/Destroy() . = ..() tank = null assembly = null -/obj/item/weapon/tank/proc/assemble_bomb(W,user) //Bomb assembly proc. This turns assembly+tank into a bomb - var/obj/item/device/assembly_holder/S = W +/obj/item/tank/proc/assemble_bomb(W,user) //Bomb assembly proc. This turns assembly+tank into a bomb + var/obj/item/assembly_holder/S = W var/mob/M = user if(!S.secured) //Check if the assembly is secured return @@ -632,9 +632,9 @@ var/list/global/tank_gauge_cache = list() return -/obj/item/weapon/tank/proc/ignite() //This happens when a bomb is told to explode +/obj/item/tank/proc/ignite() //This happens when a bomb is told to explode - var/obj/item/device/assembly_holder/assy = src.proxyassembly.assembly + var/obj/item/assembly_holder/assy = src.proxyassembly.assembly var/ign = assy.a_right var/obj/item/other = assy.a_left @@ -653,7 +653,7 @@ var/list/global/tank_gauge_cache = list() air_contents.add_thermal_energy(15000) -/obj/item/device/tankassemblyproxy/update_icon() +/obj/item/tankassemblyproxy/update_icon() if(assembly) tank.update_icon() tank.add_overlay("bomb_assembly") @@ -661,10 +661,10 @@ var/list/global/tank_gauge_cache = list() tank.update_icon() tank.cut_overlay("bomb_assembly") -/obj/item/device/tankassemblyproxy/HasProximity(turf/T, atom/movable/AM, old_loc) +/obj/item/tankassemblyproxy/HasProximity(turf/T, atom/movable/AM, old_loc) assembly?.HasProximity(T, AM, old_loc) -/obj/item/device/tankassemblyproxy/Moved(old_loc, direction, forced) +/obj/item/tankassemblyproxy/Moved(old_loc, direction, forced) if(isturf(old_loc)) unsense_proximity(callback = /atom/proc/HasProximity, center = old_loc) if(isturf(loc)) diff --git a/code/game/objects/items/weapons/tape.dm b/code/game/objects/items/weapons/tape.dm index c75c154e7df..e5399a6e7e2 100644 --- a/code/game/objects/items/weapons/tape.dm +++ b/code/game/objects/items/weapons/tape.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/tape_roll +/obj/item/tape_roll name = "tape roll" desc = "A roll of sticky tape. Possibly for taping ducks... or was that ducts?" icon = 'icons/obj/bureaucracy.dmi' @@ -9,39 +9,39 @@ toolspeed = 2 //It is now used in surgery as a not awful, but probably dangerous option, due to speed. -/obj/item/weapon/tape_roll/proc/can_place(var/mob/living/carbon/human/H, var/mob/user) +/obj/item/tape_roll/proc/can_place(var/mob/living/carbon/human/H, var/mob/user) if(istype(user, /mob/living/silicon/robot) || user == H) return TRUE - for (var/obj/item/weapon/grab/G in H.grabbed_by) + for (var/obj/item/grab/G in H.grabbed_by) if (G.loc == user && G.state >= GRAB_AGGRESSIVE) return TRUE return FALSE -/obj/item/weapon/tape_roll/attack(var/mob/living/carbon/human/H, var/mob/user) +/obj/item/tape_roll/attack(var/mob/living/carbon/human/H, var/mob/user) if(istype(H)) if(user.a_intent == I_HELP) return if(!can_place(H, user)) - to_chat(user, "You need to have a firm grip on [H] before you can use \the [src]!") + to_chat(user, span_danger("You need to have a firm grip on [H] before you can use \the [src]!")) return else if(user.zone_sel.selecting == O_EYES) if(!H.organs_by_name[BP_HEAD]) - to_chat(user, "\The [H] doesn't have a head.") + to_chat(user, span_warning("\The [H] doesn't have a head.")) return if(!H.has_eyes()) - to_chat(user, "\The [H] doesn't have any eyes.") + to_chat(user, span_warning("\The [H] doesn't have any eyes.")) return if(H.glasses) - to_chat(user, "\The [H] is already wearing something on their eyes.") + to_chat(user, span_warning("\The [H] is already wearing something on their eyes.")) return if(H.head && (H.head.body_parts_covered & FACE)) - to_chat(user, "Remove their [H.head] first.") + to_chat(user, span_warning("Remove their [H.head] first.")) return - user.visible_message("\The [user] begins taping over \the [H]'s eyes!") + user.visible_message(span_danger("\The [user] begins taping over \the [H]'s eyes!")) if(!do_after(user, 30)) return @@ -52,25 +52,25 @@ if(!H || !src || !H.organs_by_name[BP_HEAD] || !H.has_eyes() || H.glasses || (H.head && (H.head.body_parts_covered & FACE))) return - user.visible_message("\The [user] has taped up \the [H]'s eyes!") + user.visible_message(span_danger("\The [user] has taped up \the [H]'s eyes!")) H.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/blindfold/tape(H), slot_glasses, ignore_obstructions = FALSE) H.update_inv_glasses() playsound(src, 'sound/effects/tape.ogg',25) else if(user.zone_sel.selecting == O_MOUTH || user.zone_sel.selecting == BP_HEAD) if(!H.organs_by_name[BP_HEAD]) - to_chat(user, "\The [H] doesn't have a head.") + to_chat(user, span_warning("\The [H] doesn't have a head.")) return if(!H.check_has_mouth()) - to_chat(user, "\The [H] doesn't have a mouth.") + to_chat(user, span_warning("\The [H] doesn't have a mouth.")) return if(H.wear_mask) - to_chat(user, "\The [H] is already wearing a mask.") + to_chat(user, span_warning("\The [H] is already wearing a mask.")) return if(H.head && (H.head.body_parts_covered & FACE)) - to_chat(user, "Remove their [H.head] first.") + to_chat(user, span_warning("Remove their [H.head] first.")) return - user.visible_message("\The [user] begins taping up \the [H]'s mouth!") + user.visible_message(span_danger("\The [user] begins taping up \the [H]'s mouth!")) if(!do_after(user, 30)) return @@ -81,7 +81,7 @@ if(!H || !src || !H.organs_by_name[BP_HEAD] || !H.check_has_mouth() || (H.head && (H.head.body_parts_covered & FACE))) return - user.visible_message("\The [user] has taped up \the [H]'s mouth!") + user.visible_message(span_danger("\The [user] has taped up \the [H]'s mouth!")) H.equip_to_slot_or_del(new /obj/item/clothing/mask/muzzle/tape(H), slot_wear_mask, ignore_obstructions = FALSE) H.update_inv_wear_mask() @@ -91,7 +91,7 @@ if(!can_place(H, user)) return - var/obj/item/weapon/handcuffs/cable/tape/T = new(user) + var/obj/item/handcuffs/cable/tape/T = new(user) playsound(src, 'sound/effects/tape.ogg',25) if(!T.place_handcuffs(H, user)) @@ -101,16 +101,16 @@ return ..() return 1 -/obj/item/weapon/tape_roll/proc/stick(var/obj/item/weapon/W, mob/user) - if(!istype(W, /obj/item/weapon/paper) || istype(W, /obj/item/weapon/paper/sticky) || !user.unEquip(W)) +/obj/item/tape_roll/proc/stick(var/obj/item/W, mob/user) + if(!istype(W, /obj/item/paper) || istype(W, /obj/item/paper/sticky) || !user.unEquip(W)) return user.drop_from_inventory(W) - var/obj/item/weapon/ducttape/tape = new(get_turf(src)) + var/obj/item/ducttape/tape = new(get_turf(src)) tape.attach(W) user.put_in_hands(tape) playsound(src, 'sound/effects/tape.ogg',25) -/obj/item/weapon/ducttape +/obj/item/ducttape name = "tape" desc = "A piece of sticky tape." icon = 'icons/obj/bureaucracy.dmi' @@ -120,23 +120,23 @@ anchored = FALSE drop_sound = null - var/obj/item/weapon/stuck = null + var/obj/item/stuck = null -/obj/item/weapon/ducttape/New() +/obj/item/ducttape/New() ..() flags |= NOBLUDGEON -/obj/item/weapon/ducttape/examine(mob/user) +/obj/item/ducttape/examine(mob/user) return stuck.examine(user) -/obj/item/weapon/ducttape/proc/attach(var/obj/item/weapon/W) +/obj/item/ducttape/proc/attach(var/obj/item/W) stuck = W W.forceMove(src) icon_state = W.icon_state + "_taped" name = W.name + " (taped)" overlays = W.overlays -/obj/item/weapon/ducttape/attack_self(mob/user) +/obj/item/ducttape/attack_self(mob/user) if(!stuck) return @@ -149,20 +149,20 @@ overlays = null qdel(src) -/obj/item/weapon/ducttape/attackby(var/obj/item/I, var/mob/user) - if(!(istype(src, /obj/item/weapon/handcuffs/cable/tape) || istype(src, /obj/item/clothing/mask/muzzle/tape))) +/obj/item/ducttape/attackby(var/obj/item/I, var/mob/user) + if(!(istype(src, /obj/item/handcuffs/cable/tape) || istype(src, /obj/item/clothing/mask/muzzle/tape))) return ..() else user.drop_from_inventory(I) I.loc = src qdel(I) - to_chat(user, "You place \the [I] back into \the [src].") + to_chat(user, span_notice("You place \the [I] back into \the [src].")) -/obj/item/weapon/ducttape/attack_hand(mob/living/L) +/obj/item/ducttape/attack_hand(mob/living/L) anchored = FALSE return ..() // Pick it up now that it's unanchored. -/obj/item/weapon/ducttape/afterattack(var/A, mob/user, flag, params) +/obj/item/ducttape/afterattack(var/A, mob/user, flag, params) if(!in_range(user, A) || istype(A, /obj/machinery/door) || !stuck) return diff --git a/code/game/objects/items/weapons/teleportation.dm b/code/game/objects/items/weapons/teleportation.dm index d791a11d2f0..1a698a5bc71 100644 --- a/code/game/objects/items/weapons/teleportation.dm +++ b/code/game/objects/items/weapons/teleportation.dm @@ -7,7 +7,7 @@ /* * Locator */ -/obj/item/weapon/locator +/obj/item/locator name = "locator" desc = "Used to track those with locater implants." icon = 'icons/obj/device.dmi' @@ -22,8 +22,10 @@ throw_range = 20 origin_tech = list(TECH_MAGNET = 1) matter = list(MAT_STEEL = 400) + pickup_sound = 'sound/items/pickup/device.ogg' + drop_sound = 'sound/items/drop/device.ogg' -/obj/item/weapon/locator/attack_self(mob/user as mob) +/obj/item/locator/attack_self(mob/user as mob) user.set_machine(src) var/dat if (src.temp) @@ -42,7 +44,7 @@ Frequency: onclose(user, "radio") return -/obj/item/weapon/locator/Topic(href, href_list) +/obj/item/locator/Topic(href, href_list) ..() if (usr.stat || usr.restrained()) return @@ -53,13 +55,13 @@ Frequency: if ((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf)))) usr.set_machine(src) if (href_list["refresh"]) - src.temp = "Persistent Signal Locator
" + src.temp = span_bold("Persistent Signal Locator") + "
" var/turf/sr = get_turf(src) if (sr) - src.temp += "Located Beacons:
" + src.temp += span_bold("Located Beacons:") + "
" - for(var/obj/item/device/radio/beacon/W in GLOB.all_beacons) + for(var/obj/item/radio/beacon/W in GLOB.all_beacons) if (W.frequency == src.frequency) var/turf/tr = get_turf(W) if (tr.z == sr.z && tr) @@ -76,8 +78,8 @@ Frequency: direct = "very weak" src.temp += "[W.code]-[dir2text(get_dir(sr, tr))]-[direct]
" - src.temp += "Extraneous Signals:
" - for (var/obj/item/weapon/implant/tracking/W in GLOB.all_tracking_implants) + src.temp += span_bold("Extraneous Signals:") + "
" + for (var/obj/item/implant/tracking/W in GLOB.all_tracking_implants) if (!W.implanted || !(istype(W.loc,/obj/item/organ/external) || ismob(W.loc) || W.malfunction)) continue @@ -94,9 +96,9 @@ Frequency: direct = "weak" src.temp += "[W.id]-[dir2text(get_dir(sr, tr))]-[direct]
" - src.temp += "You are at \[[sr.x],[sr.y],[sr.z]\] in orbital coordinates.

Refresh
" + src.temp += span_bold("You are at \[[sr.x],[sr.y],[sr.z]\]") + " in orbital coordinates.

Refresh
" else - src.temp += "Processing Error: Unable to locate orbital position.
" + src.temp += span_bold("Processing Error:") + " Unable to locate orbital position.
" else if (href_list["freq"]) src.frequency += text2num(href_list["freq"]) @@ -116,7 +118,7 @@ Frequency: /* * Hand-tele */ -/obj/item/weapon/hand_tele +/obj/item/hand_tele name = "hand tele" desc = "A portable item using blue-space technology." icon = 'icons/obj/device.dmi' @@ -130,10 +132,10 @@ Frequency: matter = list(MAT_STEEL = 10000) preserve_item = 1 -/obj/item/weapon/hand_tele/attack_self(mob/user as mob) +/obj/item/hand_tele/attack_self(mob/user as mob) var/turf/current_location = get_turf(user)//What turf is the user on? if(!current_location || (current_location.z in using_map.admin_levels) || current_location.block_tele)//If turf was not found or they're on z level 2 or >7 which does not currently exist. - to_chat(user, "\The [src] is malfunctioning.") + to_chat(user, span_notice("\The [src] is malfunctioning.")) return var/list/L = list( ) for(var/obj/machinery/teleport/hub/R in machines) @@ -169,11 +171,11 @@ Frequency: for(var/obj/effect/portal/PO in GLOB.all_portals) if(PO.creator == src) count++ if(count >= 3) - user.show_message("\The [src] is recharging!") + user.show_message(span_notice("\The [src] is recharging!")) return var/T = L[t1] for(var/mob/O in hearers(user, null)) - O.show_message("Locked In.", 2) + O.show_message(span_notice("Locked In."), 2) var/obj/effect/portal/P = new /obj/effect/portal( get_turf(src) ) P.target = T P.creator = src diff --git a/code/game/objects/items/weapons/tools/brass.dm b/code/game/objects/items/weapons/tools/brass.dm index eedebe3220d..d9e59830045 100644 --- a/code/game/objects/items/weapons/tools/brass.dm +++ b/code/game/objects/items/weapons/tools/brass.dm @@ -3,27 +3,27 @@ */ //Crowbar -/obj/item/weapon/tool/crowbar/brass +/obj/item/tool/crowbar/brass icon_state = "crowbar_brass" item_state = "crowbar" //Cutters -/obj/item/weapon/tool/wirecutters/brass +/obj/item/tool/wirecutters/brass icon_state = "cutters_brass" item_state = "cutters_yellow" //Screwdriver -/obj/item/weapon/tool/screwdriver/brass +/obj/item/tool/screwdriver/brass icon_state = "screwdriver_brass" item_state = "screwdriver_black" //Wrench -/obj/item/weapon/tool/wrench/brass +/obj/item/tool/wrench/brass icon_state = "wrench_brass" item_state = "wrench_brass" //Welder -/obj/item/weapon/weldingtool/brass +/obj/item/weldingtool/brass name = "brass welding tool" desc = "A welder made from brass fittings." icon_state = "brasswelder" diff --git a/code/game/objects/items/weapons/tools/combitool.dm b/code/game/objects/items/weapons/tools/combitool.dm index bfc4baeb858..76789f36389 100644 --- a/code/game/objects/items/weapons/tools/combitool.dm +++ b/code/game/objects/items/weapons/tools/combitool.dm @@ -4,7 +4,7 @@ /* * Combitool */ -/obj/item/weapon/combitool +/obj/item/combitool name = "combi-tool" desc = "It even has one of those nubbins for doing the thingy." icon = 'icons/obj/items.dmi' @@ -14,29 +14,29 @@ pickup_sound = 'sound/items/pickup/multitool.ogg' var/list/spawn_tools = list( - /obj/item/weapon/tool/screwdriver, - /obj/item/weapon/tool/wrench, - /obj/item/weapon/tool/wirecutters, - /obj/item/weapon/material/knife, - /obj/item/weapon/material/kitchen/utensil/fork, - /obj/item/weapon/material/knife/machete/hatchet + /obj/item/tool/screwdriver, + /obj/item/tool/wrench, + /obj/item/tool/wirecutters, + /obj/item/material/knife, + /obj/item/material/kitchen/utensil/fork, + /obj/item/material/knife/machete/hatchet ) var/list/tools = list() var/current_tool = 1 -/obj/item/weapon/combitool/examine(mob/user) +/obj/item/combitool/examine(mob/user) . = ..() if(loc == user && tools.len) . += "It has the following fittings:" for(var/obj/item/tool in tools) . += "[icon2html(tool,)] - [tool.name][tools[current_tool]==tool?" (selected)":""]") -/obj/item/weapon/combitool/New() +/obj/item/combitool/New() ..() for(var/type in spawn_tools) tools |= new type(src) -/obj/item/weapon/combitool/attack_self(mob/user as mob) +/obj/item/combitool/attack_self(mob/user as mob) if(++current_tool > tools.len) current_tool = 1 var/obj/item/tool = tools[current_tool] if(!tool) @@ -45,14 +45,14 @@ to_chat(user, "You switch \the [src] to the [tool.name] fitting.") return 1 -/obj/item/weapon/combitool/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) +/obj/item/combitool/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) if(!M.Adjacent(user)) return 0 var/obj/item/tool = tools[current_tool] if(!tool) return 0 return (tool ? tool.attack(M,user) : 0) -/obj/item/weapon/combitool/afterattack(var/atom/target, var/mob/living/user, proximity, params) +/obj/item/combitool/afterattack(var/atom/target, var/mob/living/user, proximity, params) if(!proximity) return 0 var/obj/item/tool = tools[current_tool] diff --git a/code/game/objects/items/weapons/tools/crowbar.dm b/code/game/objects/items/weapons/tools/crowbar.dm index 8d7c1add855..df98d8e27f6 100644 --- a/code/game/objects/items/weapons/tools/crowbar.dm +++ b/code/game/objects/items/weapons/tools/crowbar.dm @@ -1,7 +1,7 @@ /* * Crowbar */ -/obj/item/weapon/tool/crowbar +/obj/item/tool/crowbar name = "crowbar" desc = "Used to remove floors and to pry open doors." icon = 'icons/obj/tools.dmi' @@ -21,12 +21,12 @@ toolspeed = 1 tool_qualities = list(TOOL_CROWBAR) -/obj/item/weapon/tool/crowbar/red +/obj/item/tool/crowbar/red icon = 'icons/obj/tools.dmi' icon_state = "red_crowbar" item_state = "crowbar_red" -/obj/item/weapon/tool/crowbar/old +/obj/item/tool/crowbar/old icon = 'icons/obj/tools.dmi' icon_state = "old_crowbar" item_state = "crowbar" @@ -44,7 +44,7 @@ the tool aligned while in use." value = CATALOGUER_REWARD_EASY -/obj/item/weapon/tool/crowbar/alien +/obj/item/tool/crowbar/alien name = "alien crowbar" desc = "A hard-light crowbar. It appears to pry by itself, without any effort required." catalogue_data = list(/datum/category_item/catalogue/anomalous/precursor_a/alien_crowbar) @@ -54,7 +54,7 @@ toolspeed = 0.1 origin_tech = list(TECH_COMBAT = 4, TECH_ENGINEERING = 4) -/obj/item/weapon/tool/crowbar/hybrid +/obj/item/tool/crowbar/hybrid name = "strange crowbar" desc = "A crowbar whose head seems to phase in and out of view." catalogue_data = list(/datum/category_item/catalogue/anomalous/precursor_a/alien_crowbar) @@ -64,14 +64,14 @@ origin_tech = list(TECH_COMBAT = 4, TECH_ENGINEERING = 3) reach = 2 -/obj/item/weapon/tool/crowbar/cyborg +/obj/item/tool/crowbar/cyborg name = "hydraulic crowbar" desc = "A hydraulic prying tool, compact but powerful. Designed to replace crowbars in industrial synthetics." usesound = 'sound/items/jaws_pry.ogg' force = 10 toolspeed = 0.5 -/obj/item/weapon/tool/crowbar/power +/obj/item/tool/crowbar/power name = "power pryer" desc = "You shouldn't see this." usesound = 'sound/items/jaws_pry.ogg' @@ -82,7 +82,7 @@ * Prybar */ -/obj/item/weapon/tool/prybar +/obj/item/tool/prybar name = "pry bar" desc = "A steel bar with a wedge, designed specifically for opening unpowered doors in an emergency. It comes in a variety of configurations - collect them all!" icon = 'icons/obj/tools_vr.dmi' @@ -100,12 +100,12 @@ toolspeed = 1 var/random_color = TRUE -/obj/item/weapon/tool/prybar/red +/obj/item/tool/prybar/red icon_state = "prybar_red" item_state = "crowbar_red" random_color = FALSE -/obj/item/weapon/tool/prybar/New() +/obj/item/tool/prybar/New() if(random_color) icon_state = "prybar[pick("","_green","_aubergine","_blue")]" . = ..() \ No newline at end of file diff --git a/code/game/objects/items/weapons/tools/screwdriver.dm b/code/game/objects/items/weapons/tools/screwdriver.dm index 55e78d71de7..27ee0558484 100644 --- a/code/game/objects/items/weapons/tools/screwdriver.dm +++ b/code/game/objects/items/weapons/tools/screwdriver.dm @@ -1,7 +1,7 @@ /* * Screwdriver */ -/obj/item/weapon/tool/screwdriver +/obj/item/tool/screwdriver name = "screwdriver" desc = "You can be totally screwwy with this." description_fluff = "This could be used to engrave messages on suitable surfaces if you really put your mind to it! Alt-click a floor or wall to engrave with it." //This way it's not a completely hidden, arcane art to engrave. @@ -25,7 +25,7 @@ tool_qualities = list(TOOL_SCREWDRIVER) var/random_color = TRUE -/obj/item/weapon/tool/screwdriver/New() +/obj/item/tool/screwdriver/New() if(random_color) switch(pick("red","blue","purple","brown","green","cyan","yellow")) if ("red") @@ -54,7 +54,7 @@ src.pixel_y = rand(0, 16) ..() -/obj/item/weapon/tool/screwdriver/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) +/obj/item/tool/screwdriver/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) if(!istype(M) || user.a_intent == "help") return ..() if(user.zone_sel.selecting != O_EYES && user.zone_sel.selecting != BP_HEAD) @@ -76,7 +76,7 @@ fastener, which includes the screws." value = CATALOGUER_REWARD_EASY -/obj/item/weapon/tool/screwdriver/alien +/obj/item/tool/screwdriver/alien name = "alien screwdriver" desc = "An ultrasonic screwdriver." catalogue_data = list(/datum/category_item/catalogue/anomalous/precursor_a/alien_screwdriver) @@ -87,7 +87,7 @@ toolspeed = 0.1 random_color = FALSE -/obj/item/weapon/tool/screwdriver/hybrid +/obj/item/tool/screwdriver/hybrid name = "strange screwdriver" desc = "A strange conglomerate of a screwdriver." icon_state = "hybscrewdriver" @@ -99,13 +99,13 @@ random_color = FALSE reach = 2 -/obj/item/weapon/tool/screwdriver/cyborg +/obj/item/tool/screwdriver/cyborg name = "powered screwdriver" desc = "An electrical screwdriver, designed to be both precise and quick." usesound = 'sound/items/drill_use.ogg' toolspeed = 0.5 -/obj/item/weapon/tool/screwdriver/power +/obj/item/tool/screwdriver/power name = "power screwdriver" desc = "You shouldn't see this." force = 8 diff --git a/code/game/objects/items/weapons/tools/transforming.dm b/code/game/objects/items/weapons/tools/transforming.dm index 9089a71423e..e7f52b6dbf9 100644 --- a/code/game/objects/items/weapons/tools/transforming.dm +++ b/code/game/objects/items/weapons/tools/transforming.dm @@ -1,26 +1,26 @@ -/obj/item/weapon/tool/transforming +/obj/item/tool/transforming name = "transforming tool" desc = "You should never see this..." var/list/possible_tooltypes = list() var/current_tooltype = 1 - var/obj/item/weapon/weldingtool/welder - var/weldertype = /obj/item/weapon/weldingtool/dummy + var/obj/item/weldingtool/welder + var/weldertype = /obj/item/weldingtool/dummy -/obj/item/weapon/tool/transforming/New(newloc, no_counterpart = TRUE) +/obj/item/tool/transforming/New(newloc, no_counterpart = TRUE) ..(newloc) if(TOOL_WELDER in possible_tooltypes) welder = new weldertype(src) on_tool_switch() -/obj/item/weapon/tool/transforming/Destroy() +/obj/item/tool/transforming/Destroy() if(welder) QDEL_NULL(welder) ..() -/obj/item/weapon/tool/transforming/get_welder() +/obj/item/tool/transforming/get_welder() return welder -/obj/item/weapon/tool/transforming/attack_self(mob/user) +/obj/item/tool/transforming/attack_self(mob/user) if(!possible_tooltypes.len || possible_tooltypes.len < 2) return if(current_tooltype == possible_tooltypes.len) @@ -30,10 +30,10 @@ on_tool_switch(user) -/obj/item/weapon/tool/transforming/proc/on_tool_switch(var/mob/user) +/obj/item/tool/transforming/proc/on_tool_switch(var/mob/user) return -/obj/item/weapon/tool/transforming/jawsoflife +/obj/item/tool/transforming/jawsoflife name = "jaws of life" desc = "A set of jaws of life, compressed through the magic of science." icon = 'icons/obj/tools.dmi' @@ -49,7 +49,7 @@ attack_verb = list("attacked", "bashed", "battered", "bludgeoned", "whacked", "pinched", "nipped") possible_tooltypes = list(TOOL_CROWBAR,TOOL_WIRECUTTER) -/obj/item/weapon/tool/transforming/jawsoflife/on_tool_switch(var/mob/user) +/obj/item/tool/transforming/jawsoflife/on_tool_switch(var/mob/user) switch(possible_tooltypes[current_tooltype]) if(TOOL_CROWBAR) desc = initial(desc) + " It's fitted with a prying head." @@ -59,7 +59,7 @@ tool_qualities = list(TOOL_CROWBAR) if(user) playsound(src, 'sound/items/change_jaws.ogg', 50, 1) - to_chat(user, "You attach the pry jaws to [src].") + to_chat(user, span_notice("You attach the pry jaws to [src].")) if(TOOL_WIRECUTTER) desc = initial(desc) + " It's fitted with a cutting head." icon_state = "jaws_cutter" @@ -68,9 +68,9 @@ tool_qualities = list(TOOL_WIRECUTTER) if(user) playsound(src, 'sound/items/change_jaws.ogg', 50, 1) - to_chat(user, "You attach the cutting jaws to [src].") + to_chat(user, span_notice("You attach the cutting jaws to [src].")) -/obj/item/weapon/tool/transforming/powerdrill +/obj/item/tool/transforming/powerdrill name = "hand drill" desc = "A simple powered hand drill." icon = 'icons/obj/tools.dmi' @@ -88,7 +88,7 @@ attack_verb = list("drilled", "screwed", "jabbed", "whacked") possible_tooltypes = list(TOOL_WRENCH,TOOL_SCREWDRIVER) -/obj/item/weapon/tool/transforming/powerdrill/on_tool_switch(var/mob/user) +/obj/item/tool/transforming/powerdrill/on_tool_switch(var/mob/user) switch(possible_tooltypes[current_tooltype]) if(TOOL_WRENCH) desc = initial(desc) + " It's fitted with a bolt driver." @@ -97,7 +97,7 @@ tool_qualities = list(TOOL_WRENCH) if(user) playsound(src,'sound/items/change_drill.ogg',50,1) - to_chat(user, "You attach the bolt driver to [src].") + to_chat(user, span_notice("You attach the bolt driver to [src].")) if(TOOL_SCREWDRIVER) desc = initial(desc) + " It's fitted with a screw driver." icon_state = "drill_screw" @@ -105,9 +105,9 @@ tool_qualities = list(TOOL_SCREWDRIVER) if(user) playsound(src,'sound/items/change_drill.ogg',50,1) - to_chat(user, "You attach the screw driver to [src].") + to_chat(user, span_notice("You attach the screw driver to [src].")) -/obj/item/weapon/tool/transforming/altevian +/obj/item/tool/transforming/altevian name = "Hull Systems Omni-Tool" desc = "A big and bulky tool, used by Altevians for engineering duties. It's able to do the job of any regular tool while scaled up to a comically large size. It seems nanites are in play to help with adjusting the tip and handling some of the heavy lifting when in use." icon = 'icons/obj/weapons_vr.dmi' @@ -126,9 +126,9 @@ attack_verb = list("whacked", "slammed", "bashed", "wrenched", "fixed", "bolted", "clonked", "bonked") hitsound = 'sound/weapons/smash.ogg' possible_tooltypes = list(TOOL_WRENCH,TOOL_CROWBAR,TOOL_WIRECUTTER,TOOL_SCREWDRIVER,TOOL_MULTITOOL,TOOL_WELDER) - weldertype = /obj/item/weapon/weldingtool/dummy/altevian + weldertype = /obj/item/weldingtool/dummy/altevian -/obj/item/weapon/tool/transforming/altevian/on_tool_switch(var/mob/user) +/obj/item/tool/transforming/altevian/on_tool_switch(var/mob/user) switch(possible_tooltypes[current_tooltype]) if(TOOL_WRENCH) desc = initial(desc) + " It's currently in bolting mode." @@ -137,7 +137,7 @@ tool_qualities = list(TOOL_WRENCH) if(user) playsound(src,'sound/items/ratchet.ogg',50,1) - to_chat(user, "You reconfigure [src] into bolting mode.") + to_chat(user, span_notice("You reconfigure [src] into bolting mode.")) if(TOOL_CROWBAR) desc = initial(desc) + " It's currently in prying mode." icon_state = "altevian-crowbar" @@ -145,7 +145,7 @@ tool_qualities = list(TOOL_CROWBAR) if(user) playsound(src,'sound/items/ratchet.ogg',50,1) - to_chat(user, "You reconfigure [src] into prying mode.") + to_chat(user, span_notice("You reconfigure [src] into prying mode.")) if(TOOL_WIRECUTTER) desc = initial(desc) + " It's currently in cutting mode." icon_state = "altevian-wirecutter" @@ -153,7 +153,7 @@ tool_qualities = list(TOOL_WIRECUTTER) if(user) playsound(src,'sound/items/ratchet.ogg',50,1) - to_chat(user, "You reconfigure [src] into cutting mode.") + to_chat(user, span_notice("You reconfigure [src] into cutting mode.")) if(TOOL_SCREWDRIVER) desc = initial(desc) + " It's currently in screwing mode." icon_state = "altevian-screwdriver" @@ -161,7 +161,7 @@ tool_qualities = list(TOOL_SCREWDRIVER) if(user) playsound(src,'sound/items/ratchet.ogg',50,1) - to_chat(user, "You reconfigure [src] into screwing mode.") + to_chat(user, span_notice("You reconfigure [src] into screwing mode.")) if(TOOL_MULTITOOL) desc = initial(desc) + " It's currently in pulsing mode." icon_state = "altevian-pulser" @@ -169,7 +169,7 @@ tool_qualities = list(TOOL_MULTITOOL) if(user) playsound(src,'sound/items/ratchet.ogg',50,1) - to_chat(user, "You reconfigure [src] into pulsing mode.") + to_chat(user, span_notice("You reconfigure [src] into pulsing mode.")) if(TOOL_WELDER) desc = initial(desc) + " It's currently in welding mode." icon_state = "altevian-welder-on" @@ -178,7 +178,7 @@ tool_qualities = list(TOOL_WELDER) if(user) playsound(src,'sound/items/ratchet.ogg',50,1) - to_chat(user, "You reconfigure [src] into welding mode.") + to_chat(user, span_notice("You reconfigure [src] into welding mode.")) -/obj/item/weapon/weldingtool/dummy/altevian +/obj/item/weldingtool/dummy/altevian toolspeed = 0.25 diff --git a/code/game/objects/items/weapons/tools/weldingtool.dm b/code/game/objects/items/weapons/tools/weldingtool.dm index 5906313f9c6..2a485a12bbf 100644 --- a/code/game/objects/items/weapons/tools/weldingtool.dm +++ b/code/game/objects/items/weapons/tools/weldingtool.dm @@ -2,7 +2,7 @@ /* * Welding Tool */ -/obj/item/weapon/weldingtool +/obj/item/weldingtool name = "\improper welding tool" icon = 'icons/obj/tools.dmi' icon_state = "welder" @@ -43,7 +43,7 @@ pickup_sound = 'sound/items/pickup/weldingtool.ogg' tool_qualities = list(TOOL_WELDER) -/obj/item/weapon/weldingtool/Initialize() +/obj/item/weldingtool/Initialize() . = ..() // var/random_fuel = min(rand(10,20),max_fuel) var/datum/reagents/R = new/datum/reagents(max_fuel) @@ -54,20 +54,20 @@ if(always_process) START_PROCESSING(SSobj, src) -/obj/item/weapon/weldingtool/Destroy() +/obj/item/weldingtool/Destroy() if(welding || always_process) STOP_PROCESSING(SSobj, src) return ..() -/obj/item/weapon/weldingtool/get_welder() +/obj/item/weldingtool/get_welder() return src -/obj/item/weapon/weldingtool/examine(mob/user) +/obj/item/weldingtool/examine(mob/user) . = ..() if(max_fuel && loc == user) . += "It contains [get_fuel()]/[src.max_fuel] units of fuel!" -/obj/item/weapon/weldingtool/attack(atom/A, mob/living/user, def_zone) +/obj/item/weldingtool/attack(atom/A, mob/living/user, def_zone) if(ishuman(A) && user.a_intent == I_HELP) var/mob/living/carbon/human/H = A var/obj/item/organ/external/S = H.organs_by_name[user.zone_sel.selecting] @@ -82,15 +82,15 @@ if(S.organ_tag == BP_HEAD) if(H.head && istype(H.head,/obj/item/clothing/head/helmet/space)) - to_chat(user, "You can't apply [src] through [H.head]!") + to_chat(user, span_warning("You can't apply [src] through [H.head]!")) return TRUE else if(H.wear_suit && istype(H.wear_suit,/obj/item/clothing/suit/space)) - to_chat(user, "You can't apply [src] through [H.wear_suit]!") + to_chat(user, span_warning("You can't apply [src] through [H.wear_suit]!")) return TRUE if(!welding) - to_chat(user, "You'll need to turn [src] on to patch the damage on [H]'s [S.name]!") + to_chat(user, span_warning("You'll need to turn [src] on to patch the damage on [H]'s [S.name]!")) return TRUE if(S.robo_repair(15, BRUTE, "some dents", src, user)) @@ -101,23 +101,23 @@ return ..() -/obj/item/weapon/weldingtool/attackby(obj/item/W as obj, mob/living/user as mob) - if(istype(W,/obj/item/weapon/tool/screwdriver)) +/obj/item/weldingtool/attackby(obj/item/W as obj, mob/living/user as mob) + if(istype(W,/obj/item/tool/screwdriver)) if(welding) - to_chat(user, "Stop welding first!") + to_chat(user, span_danger("Stop welding first!")) return status = !status if(status) - to_chat(user, "You secure the welder.") + to_chat(user, span_notice("You secure the welder.")) else - to_chat(user, "The welder can now be attached and modified.") + to_chat(user, span_notice("The welder can now be attached and modified.")) src.add_fingerprint(user) return if((!status) && (istype(W,/obj/item/stack/rods))) var/obj/item/stack/rods/R = W R.use(1) - var/obj/item/weapon/flamethrower/F = new/obj/item/weapon/flamethrower(user.loc) + var/obj/item/flamethrower/F = new/obj/item/flamethrower(user.loc) src.loc = F F.weldtool = src if (user.client) @@ -138,7 +138,7 @@ ..() return -/obj/item/weapon/weldingtool/process() +/obj/item/weldingtool/process() if(welding) ++burned_fuel_for if(burned_fuel_for >= WELDER_FUEL_BURN_INTERVAL) @@ -154,22 +154,22 @@ if (istype(location, /turf)) location.hotspot_expose(700, 5) -/obj/item/weapon/weldingtool/afterattack(obj/O as obj, mob/user as mob, proximity) +/obj/item/weldingtool/afterattack(obj/O as obj, mob/user as mob, proximity) if(!proximity) return if (istype(O, /obj/structure/reagent_dispensers/fueltank) && get_dist(src,O) <= 1) if(!welding && max_fuel) O.reagents.trans_to_obj(src, max_fuel) - to_chat(user, "Welder refueled") + to_chat(user, span_notice("Welder refueled")) playsound(src, 'sound/effects/refill.ogg', 50, 1, -6) return else if(!welding) - to_chat(user, "[src] doesn't use fuel.") + to_chat(user, span_notice("[src] doesn't use fuel.")) return else message_admins("[key_name_admin(user)] triggered a fueltank explosion with a welding tool.") log_game("[key_name(user)] triggered a fueltank explosion with a welding tool.") - //Yawn edit: removed weldertank booms - to_chat(user, "You begin welding on the fueltank and with a moment of lucidity you realize, you are gaypwnd.") + //Yawn edit: removed weldertank booms you are gaypwnd + to_chat(user, span_danger("You begin welding on the fueltank and with a moment of lucidity you realize, you are gaypwnd.")) //End yawn edit return if (src.welding) @@ -180,18 +180,18 @@ L.IgniteMob() if (istype(location, /turf)) location.hotspot_expose(700, 50, 1) -/obj/item/weapon/weldingtool/attack_self(mob/user) +/obj/item/weldingtool/attack_self(mob/user) setWelding(!welding, user) //Returns the amount of fuel in the welder -/obj/item/weapon/weldingtool/proc/get_fuel() +/obj/item/weldingtool/proc/get_fuel() return reagents.get_reagent_amount("fuel") -/obj/item/weapon/weldingtool/proc/get_max_fuel() +/obj/item/weldingtool/proc/get_max_fuel() return max_fuel //Removes fuel from the welding tool. If a mob is passed, it will perform an eyecheck on the mob. This should probably be renamed to use() -/obj/item/weapon/weldingtool/proc/remove_fuel(var/amount = 1, var/mob/M = null) +/obj/item/weldingtool/proc/remove_fuel(var/amount = 1, var/mob/M = null) if(!welding) return 0 if(amount) @@ -204,15 +204,15 @@ return 1 else if(M) - to_chat(M, "You need more welding fuel to complete this task.") + to_chat(M, span_notice("You need more welding fuel to complete this task.")) update_icon() return 0 //Returns whether or not the welding tool is currently on. -/obj/item/weapon/weldingtool/proc/isOn() +/obj/item/weldingtool/proc/isOn() return welding -/obj/item/weapon/weldingtool/update_icon() +/obj/item/weldingtool/update_icon() ..() cut_overlays() // Welding overlay. @@ -240,7 +240,7 @@ M.update_inv_l_hand() M.update_inv_r_hand() -/obj/item/weapon/weldingtool/MouseDrop(obj/over_object as obj) +/obj/item/weldingtool/MouseDrop(obj/over_object as obj) if(!canremove) return @@ -274,7 +274,7 @@ //Sets the welding state of the welding tool. If you see W.welding = 1 anywhere, please change it to W.setWelding(1) //so that the welding tool updates accordingly -/obj/item/weapon/weldingtool/proc/setWelding(var/set_welding, var/mob/M) +/obj/item/weldingtool/proc/setWelding(var/set_welding, var/mob/M) if(!status) return var/turf/T = get_turf(src) @@ -282,9 +282,9 @@ if(set_welding && !welding) if (get_fuel() > 0) if(M) - to_chat(M, "You switch the [src] on.") + to_chat(M, span_notice("You switch the [src] on.")) else if(T) - T.visible_message("\The [src] turns on.") + T.visible_message(span_danger("\The [src] turns on.")) playsound(src, acti_sound, 50, 1) src.force = 15 src.damtype = "fire" @@ -297,16 +297,16 @@ else if(M) var/msg = max_fuel ? "welding fuel" : "charge" - to_chat(M, "You need more [msg] to complete this task.") + to_chat(M, span_notice("You need more [msg] to complete this task.")) return //Otherwise else if(!set_welding && welding) if(!always_process) STOP_PROCESSING(SSobj, src) if(M) - to_chat(M, "You switch \the [src] off.") + to_chat(M, span_notice("You switch \the [src] off.")) else if(T) - T.visible_message("\The [src] turns off.") + T.visible_message(span_warning("\The [src] turns off.")) playsound(src, deac_sound, 50, 1) src.force = 3 src.damtype = "brute" @@ -317,7 +317,7 @@ //Decides whether or not to damage a player's eyes based on what they're wearing as protection //Note: This should probably be moved to mob -/obj/item/weapon/weldingtool/proc/eyecheck(mob/living/carbon/user) +/obj/item/weldingtool/proc/eyecheck(mob/living/carbon/user) if(!istype(user)) return 1 var/safety = user.eyecheck() @@ -330,29 +330,29 @@ if(H.nif && H.nif.flag_check(NIF_V_UVFILTER,NIF_FLAGS_VISION)) return //VOREStation Add - NIF switch(safety) if(1) - to_chat(usr, "Your eyes sting a little.") + to_chat(user, span_warning("Your eyes sting a little.")) E.damage += rand(1, 2) if(E.damage > 12) user.eye_blurry += rand(3,6) if(0) - to_chat(usr, "Your eyes burn.") + to_chat(user, span_warning("Your eyes burn.")) E.damage += rand(2, 4) if(E.damage > 10) E.damage += rand(4,10) if(-1) - to_chat(usr, "Your thermals intensify the welder's glow. Your eyes itch and burn severely.") + to_chat(user, span_danger("Your thermals intensify the welder's glow. Your eyes itch and burn severely.")) user.eye_blurry += rand(12,20) E.damage += rand(12, 16) if(safety<2) if(E.damage > 10) - to_chat(user, "Your eyes are really starting to hurt. This can't be good for you!") + to_chat(user, span_warning("Your eyes are really starting to hurt. This can't be good for you!")) if (E.damage >= E.min_broken_damage) - to_chat(user, "You go blind!") + to_chat(user, span_danger("You go blind!")) user.sdisabilities |= BLIND else if (E.damage >= E.min_bruised_damage) - to_chat(user, "You go blind!") + to_chat(user, span_danger("You go blind!")) user.Blind(5) user.eye_blurry = 5 // Don't cure being nearsighted @@ -362,10 +362,10 @@ user.disabilities &= ~NEARSIGHTED return -/obj/item/weapon/weldingtool/is_hot() +/obj/item/weldingtool/is_hot() return isOn() -/obj/item/weapon/weldingtool/largetank +/obj/item/weldingtool/largetank name = "industrial welding tool" desc = "A slightly larger welder with a larger tank." icon_state = "indwelder" @@ -373,12 +373,12 @@ origin_tech = list(TECH_ENGINEERING = 2, TECH_PHORON = 2) matter = list(MAT_STEEL = 70, MAT_GLASS = 60) -/obj/item/weapon/weldingtool/largetank/cyborg +/obj/item/weldingtool/largetank/cyborg name = "integrated welding tool" desc = "An advanced welder designed to be used in robotic systems." toolspeed = 0.5 -/obj/item/weapon/weldingtool/hugetank +/obj/item/weldingtool/hugetank name = "upgraded welding tool" desc = "A much larger welder with a huge tank." icon_state = "upindwelder" @@ -387,7 +387,7 @@ origin_tech = list(TECH_ENGINEERING = 3) matter = list(MAT_STEEL = 70, MAT_GLASS = 120) -/obj/item/weapon/weldingtool/mini +/obj/item/weldingtool/mini name = "emergency welding tool" desc = "A miniature welder used during emergencies." icon_state = "miniwelder" @@ -398,7 +398,7 @@ toolspeed = 2 eye_safety_modifier = 1 // Safer on eyes. -/obj/item/weapon/weldingtool/mini/two +/obj/item/weldingtool/mini/two icon_state = "miniwelder2" /datum/category_item/catalogue/anomalous/precursor_a/alien_welder @@ -425,7 +425,7 @@ deconstruction purposes." value = CATALOGUER_REWARD_EASY -/obj/item/weapon/weldingtool/alien +/obj/item/weldingtool/alien name = "alien welding tool" desc = "An alien welding tool. Whatever fuel it uses, it never runs out." catalogue_data = list(/datum/category_item/catalogue/anomalous/precursor_a/alien_welder) @@ -438,12 +438,12 @@ origin_tech = list(TECH_PHORON = 5 ,TECH_ENGINEERING = 5) always_process = TRUE -/obj/item/weapon/weldingtool/alien/process() +/obj/item/weldingtool/alien/process() if(get_fuel() <= get_max_fuel()) reagents.add_reagent("fuel", 1) ..() -/obj/item/weapon/weldingtool/experimental +/obj/item/weldingtool/experimental name = "experimental welding tool" desc = "An experimental welder capable of synthesizing its own fuel from waste compounds. It can output a flame hotter than regular welders." icon_state = "exwelder" @@ -457,13 +457,13 @@ always_process = TRUE var/nextrefueltick = 0 -/obj/item/weapon/weldingtool/experimental/process() +/obj/item/weldingtool/experimental/process() ..() if(get_fuel() < get_max_fuel() && nextrefueltick < world.time) nextrefueltick = world.time + 10 reagents.add_reagent("fuel", 1) -/obj/item/weapon/weldingtool/experimental/hybrid +/obj/item/weldingtool/experimental/hybrid name = "strange welding tool" desc = "An experimental welder capable of synthesizing its own fuel from spatial waveforms. It's like welding with a star!" icon_state = "hybwelder" @@ -479,7 +479,7 @@ * Backpack Welder. */ -/obj/item/weapon/weldingtool/tubefed +/obj/item/weldingtool/tubefed name = "tube-fed welding tool" desc = "A bulky, cooler-burning welding tool that draws from a worn welding tank." icon_state = "tubewelder" @@ -491,22 +491,22 @@ flame_intensity = 1 eye_safety_modifier = 1 always_process = TRUE - var/obj/item/weapon/weldpack/mounted_pack = null + var/obj/item/weldpack/mounted_pack = null -/obj/item/weapon/weldingtool/tubefed/New(location) +/obj/item/weldingtool/tubefed/New(location) ..() - if(istype(location, /obj/item/weapon/weldpack)) - var/obj/item/weapon/weldpack/holder = location + if(istype(location, /obj/item/weldpack)) + var/obj/item/weldpack/holder = location mounted_pack = holder else qdel(src) -/obj/item/weapon/weldingtool/tubefed/Destroy() +/obj/item/weldingtool/tubefed/Destroy() mounted_pack.nozzle = null mounted_pack = null return ..() -/obj/item/weapon/weldingtool/tubefed/process() +/obj/item/weldingtool/tubefed/process() if(mounted_pack) if(!istype(mounted_pack.loc,/mob/living/carbon/human)) mounted_pack.return_nozzle() @@ -517,20 +517,20 @@ if(mounted_pack.loc != src.loc && src.loc != mounted_pack) mounted_pack.return_nozzle() - visible_message("\The [src] retracts to its fueltank.") + visible_message(span_infoplain(span_bold("\The [src]") + " retracts to its fueltank.")) if(get_fuel() <= get_max_fuel()) mounted_pack.reagents.trans_to_obj(src, 1) ..() -/obj/item/weapon/weldingtool/tubefed/dropped(mob/user) +/obj/item/weldingtool/tubefed/dropped(mob/user) ..() if(src.loc != user) mounted_pack.return_nozzle() - to_chat(user, "\The [src] retracts to its fueltank.") + to_chat(user, span_notice("\The [src] retracts to its fueltank.")) -/obj/item/weapon/weldingtool/tubefed/survival +/obj/item/weldingtool/tubefed/survival name = "tube-fed emergency welding tool" desc = "A bulky, cooler-burning welding tool that draws from a worn welding tank." icon_state = "tubewelder" @@ -542,37 +542,37 @@ * Electric/Arc Welder */ -/obj/item/weapon/weldingtool/electric //AND HIS WELDING WAS ELECTRIC +/obj/item/weldingtool/electric //AND HIS WELDING WAS ELECTRIC name = "electric welding tool" desc = "A welder which runs off of electricity." icon_state = "arcwelder" max_fuel = 0 //We'll handle the consumption later. item_state = "ewelder" - var/obj/item/weapon/cell/power_supply //What type of power cell this uses + var/obj/item/cell/power_supply //What type of power cell this uses var/charge_cost = 24 //The rough equivalent of 1 unit of fuel, based on us wanting 10 welds per battery - var/cell_type = /obj/item/weapon/cell/device + var/cell_type = /obj/item/cell/device var/use_external_power = 0 //If in a borg or hardsuit, this needs to = 1 flame_color = "#00CCFF" // Blue-ish, to set it apart from the gas flames. acti_sound = 'sound/effects/sparks4.ogg' deac_sound = 'sound/effects/sparks4.ogg' -/obj/item/weapon/weldingtool/electric/unloaded/New() +/obj/item/weldingtool/electric/unloaded/New() cell_type = null -/obj/item/weapon/weldingtool/electric/New() +/obj/item/weldingtool/electric/New() ..() if(cell_type == null) update_icon() else if(cell_type) power_supply = new cell_type(src) else - power_supply = new /obj/item/weapon/cell/device(src) + power_supply = new /obj/item/cell/device(src) update_icon() -/obj/item/weapon/weldingtool/electric/get_cell() +/obj/item/weldingtool/electric/get_cell() return power_supply -/obj/item/weapon/weldingtool/electric/examine(mob/user) +/obj/item/weldingtool/electric/examine(mob/user) . = ..() if(Adjacent(user)) if(power_supply) @@ -580,9 +580,9 @@ else . += "It [src.name] has no power cell!" -/obj/item/weapon/weldingtool/electric/get_fuel() +/obj/item/weldingtool/electric/get_fuel() if(use_external_power) - var/obj/item/weapon/cell/external = get_external_power_supply() + var/obj/item/cell/external = get_external_power_supply() if(external) return external.charge else if(power_supply) @@ -590,22 +590,22 @@ else return 0 -/obj/item/weapon/weldingtool/electric/get_max_fuel() +/obj/item/weldingtool/electric/get_max_fuel() if(use_external_power) - var/obj/item/weapon/cell/external = get_external_power_supply() + var/obj/item/cell/external = get_external_power_supply() if(external) return external.maxcharge else if(power_supply) return power_supply.maxcharge return 0 -/obj/item/weapon/weldingtool/electric/remove_fuel(var/amount = 1, var/mob/M = null) +/obj/item/weldingtool/electric/remove_fuel(var/amount = 1, var/mob/M = null) if(!welding) return 0 if(get_fuel() >= amount) power_supply.checked_use(charge_cost) if(use_external_power) - var/obj/item/weapon/cell/external = get_external_power_supply() + var/obj/item/cell/external = get_external_power_supply() if(!external || !external.use(charge_cost)) //Take power from the borg... power_supply.give(charge_cost) //Give it back to the cell. if(M) @@ -614,17 +614,17 @@ return 1 else if(M) - to_chat(M, "You need more energy to complete this task.") + to_chat(M, span_notice("You need more energy to complete this task.")) update_icon() return 0 -/obj/item/weapon/weldingtool/electric/attack_hand(mob/user as mob) +/obj/item/weldingtool/electric/attack_hand(mob/user as mob) if(user.get_inactive_hand() == src) if(power_supply) power_supply.update_icon() user.put_in_hands(power_supply) power_supply = null - to_chat(user, "You remove the cell from the [src].") + to_chat(user, span_notice("You remove the cell from the [src].")) setWelding(0) update_icon() return @@ -632,23 +632,23 @@ else return ..() -/obj/item/weapon/weldingtool/electric/attackby(obj/item/weapon/W, mob/user as mob) - if(istype(W, /obj/item/weapon/cell)) - if(istype(W, /obj/item/weapon/cell/device)) +/obj/item/weldingtool/electric/attackby(obj/item/W, mob/user as mob) + if(istype(W, /obj/item/cell)) + if(istype(W, /obj/item/cell/device)) if(!power_supply) user.drop_item() W.loc = src power_supply = W - to_chat(user, "You install a cell in \the [src].") + to_chat(user, span_notice("You install a cell in \the [src].")) update_icon() else - to_chat(user, "\The [src] already has a cell.") + to_chat(user, span_notice("\The [src] already has a cell.")) else - to_chat(user, "\The [src] cannot use that type of cell.") + to_chat(user, span_notice("\The [src] cannot use that type of cell.")) else ..() -/obj/item/weapon/weldingtool/electric/proc/get_external_power_supply() +/obj/item/weldingtool/electric/proc/get_external_power_supply() if(isrobot(src.loc)) var/mob/living/silicon/robot/R = src.loc return R.cell @@ -657,7 +657,7 @@ if(module.holder && module.holder.wearer) var/mob/living/carbon/human/H = module.holder.wearer if(istype(H) && H.back) - var/obj/item/weapon/rig/suit = H.back + var/obj/item/rig/suit = H.back if(istype(suit)) return suit.cell if(istype(src.loc, /obj/item/mecha_parts/mecha_equipment)) @@ -666,25 +666,25 @@ return mounting.chassis.cell return null -/obj/item/weapon/weldingtool/electric/mounted +/obj/item/weldingtool/electric/mounted use_external_power = 1 -/obj/item/weapon/weldingtool/electric/mounted/cyborg +/obj/item/weldingtool/electric/mounted/cyborg toolspeed = 0.5 -/obj/item/weapon/weldingtool/electric/mounted/exosuit +/obj/item/weldingtool/electric/mounted/exosuit var/obj/item/mecha_parts/mecha_equipment/equip_mount = null flame_intensity = 1 eye_safety_modifier = 2 always_process = TRUE -/obj/item/weapon/weldingtool/electric/mounted/exosuit/Initialize() +/obj/item/weldingtool/electric/mounted/exosuit/Initialize() . = ..() if(istype(loc, /obj/item/mecha_parts/mecha_equipment)) equip_mount = loc -/obj/item/weapon/weldingtool/electric/mounted/exosuit/process() +/obj/item/weldingtool/electric/mounted/exosuit/process() ..() if(equip_mount && equip_mount.chassis) @@ -695,21 +695,21 @@ setWelding(FALSE, M.occupant) -/obj/item/weapon/weldingtool/dummy +/obj/item/weldingtool/dummy name = "dummy welding tool" desc = "you shouldn't be reading this. Tell a dev!" welding = TRUE -/obj/item/weapon/weldingtool/dummy/process() +/obj/item/weldingtool/dummy/process() return -/obj/item/weapon/weldingtool/dummy/get_fuel() +/obj/item/weldingtool/dummy/get_fuel() return get_max_fuel() -/obj/item/weapon/weldingtool/dummy/remove_fuel(var/amount = 1, var/mob/M = null) +/obj/item/weldingtool/dummy/remove_fuel(var/amount = 1, var/mob/M = null) return TRUE -/obj/item/weapon/weldingtool/dummy/isOn() +/obj/item/weldingtool/dummy/isOn() return TRUE #undef WELDER_FUEL_BURN_INTERVAL diff --git a/code/game/objects/items/weapons/tools/wirecutters.dm b/code/game/objects/items/weapons/tools/wirecutters.dm index 8b71f8af848..c4e073f0a2f 100644 --- a/code/game/objects/items/weapons/tools/wirecutters.dm +++ b/code/game/objects/items/weapons/tools/wirecutters.dm @@ -1,7 +1,7 @@ /* * Wirecutters */ -/obj/item/weapon/tool/wirecutters +/obj/item/tool/wirecutters name = "wirecutters" desc = "This cuts wires." description_fluff = "This could be used to engrave messages on suitable surfaces if you really put your mind to it! Alt-click a floor or wall to engrave with it." //This way it's not a completely hidden, arcane art to engrave. @@ -27,7 +27,7 @@ tool_qualities = list(TOOL_WIRECUTTER) var/random_color = TRUE -/obj/item/weapon/tool/wirecutters/New() +/obj/item/tool/wirecutters/New() if(random_color) switch(pick("red","blue","yellow")) if ("red") @@ -44,9 +44,9 @@ src.pixel_y = rand(0, 16) ..() -/obj/item/weapon/tool/wirecutters/attack(mob/living/carbon/C as mob, mob/user as mob) - if(istype(C) && user.a_intent == I_HELP && (C.handcuffed) && (istype(C.handcuffed, /obj/item/weapon/handcuffs/cable))) - usr.visible_message("\The [usr] cuts \the [C]'s restraints with \the [src]!",\ +/obj/item/tool/wirecutters/attack(mob/living/carbon/C as mob, mob/user as mob) + if(istype(C) && user.a_intent == I_HELP && (C.handcuffed) && (istype(C.handcuffed, /obj/item/handcuffs/cable))) + user.visible_message("\The [user] cuts \the [C]'s restraints with \the [src]!",\ "You cut \the [C]'s restraints with \the [src]!",\ "You hear cable being cut.") C.handcuffed = null @@ -70,7 +70,7 @@ energy and signals, just as humans do." value = CATALOGUER_REWARD_EASY -/obj/item/weapon/tool/wirecutters/alien +/obj/item/tool/wirecutters/alien name = "alien wirecutters" desc = "Extremely sharp wirecutters, made out of a silvery-green metal." catalogue_data = list(/datum/category_item/catalogue/anomalous/precursor_a/alien_wirecutters) @@ -80,15 +80,15 @@ origin_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 4) random_color = FALSE -/obj/item/weapon/tool/wirecutters/cyborg +/obj/item/tool/wirecutters/cyborg name = "wirecutters" - desc = "This cuts wires. With science." + desc = "This cuts wires. With science." usesound = 'sound/items/jaws_cut.ogg' toolspeed = 0.5 -/obj/item/weapon/tool/wirecutters/hybrid +/obj/item/tool/wirecutters/hybrid name = "strange wirecutters" - desc = "This cuts wires. With Science!" + desc = "This cuts wires. With " + span_purple("Science!") icon_state = "hybcutters" w_class = ITEMSIZE_NORMAL origin_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 3, TECH_PHORON = 2) @@ -97,9 +97,9 @@ toolspeed = 0.4 reach = 2 -/obj/item/weapon/tool/wirecutters/power +/obj/item/tool/wirecutters/power name = "power cutters" desc = "You shouldn't see this." usesound = 'sound/items/jaws_cut.ogg' force = 15 - toolspeed = 0.25 \ No newline at end of file + toolspeed = 0.25 diff --git a/code/game/objects/items/weapons/tools/wrench.dm b/code/game/objects/items/weapons/tools/wrench.dm index 2b1a3e30a8f..aeb4b15f66b 100644 --- a/code/game/objects/items/weapons/tools/wrench.dm +++ b/code/game/objects/items/weapons/tools/wrench.dm @@ -1,7 +1,7 @@ /* * Wrench */ -/obj/item/weapon/tool/wrench +/obj/item/tool/wrench name = "wrench" desc = "A wrench with many common uses. Can be usually found in your hand." icon = 'icons/obj/tools.dmi' @@ -19,13 +19,13 @@ pickup_sound = 'sound/items/pickup/wrench.ogg' tool_qualities = list(TOOL_WRENCH) -/obj/item/weapon/tool/wrench/cyborg +/obj/item/tool/wrench/cyborg name = "automatic wrench" desc = "An advanced robotic wrench. Can be found in industrial synthetic shells." usesound = 'sound/items/drill_use.ogg' toolspeed = 0.5 -/obj/item/weapon/tool/wrench/pipe +/obj/item/tool/wrench/pipe name = "pipe wrench" desc = "A wrench used for plumbing. Can make a good makeshift weapon." icon_state = "pipe_wrench" @@ -33,7 +33,7 @@ force = 8 throwforce = 10 -/obj/item/weapon/tool/wrench/hybrid // Slower and bulkier than normal power tools, but it has the power of reach. If reach even worked half the time. +/obj/item/tool/wrench/hybrid // Slower and bulkier than normal power tools, but it has the power of reach. If reach even worked half the time. name = "strange wrench" desc = "A wrench with many common uses. Can be usually found in your hand." icon = 'icons/obj/tools.dmi' @@ -63,7 +63,7 @@ purpose, however it is very well suited to act in a wrench's capacity regardless." value = CATALOGUER_REWARD_EASY -/obj/item/weapon/tool/wrench/alien +/obj/item/tool/wrench/alien name = "alien wrench" desc = "A polarized wrench. It causes anything placed between the jaws to turn." catalogue_data = list(/datum/category_item/catalogue/anomalous/precursor_a/alien_wrench) @@ -73,7 +73,7 @@ toolspeed = 0.1 origin_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 5) -/obj/item/weapon/tool/wrench/power +/obj/item/tool/wrench/power name = "power wrench" desc = "You shouldn't see this." usesound = 'sound/items/drill_use.ogg' diff --git a/code/game/objects/items/weapons/towels.dm b/code/game/objects/items/weapons/towels.dm index df027debd4a..cb784c89e2d 100644 --- a/code/game/objects/items/weapons/towels.dm +++ b/code/game/objects/items/weapons/towels.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/towel +/obj/item/towel name = "towel" icon = 'icons/obj/weapons.dmi' icon_state = "towel" @@ -11,7 +11,7 @@ drop_sound = 'sound/items/drop/cloth.ogg' pickup_sound = 'sound/items/pickup/cloth.ogg' -/obj/item/weapon/towel/equipped(var/M, var/slot) +/obj/item/towel/equipped(var/M, var/slot) ..() switch(slot) if(slot_head) @@ -21,14 +21,14 @@ if(slot_belt) sprite_sheets = list(SPECIES_TESHARI = 'icons/inventory/belt/mob_teshari.dmi') -/obj/item/weapon/towel/attack_self(mob/living/user as mob) - user.visible_message(text("[] uses [] to towel themselves off.", user, src)) +/obj/item/towel/attack_self(mob/living/user as mob) + user.visible_message(span_notice("[user] uses [src] to towel themselves off.")) playsound(src, 'sound/weapons/towelwipe.ogg', 25, 1) if(user.fire_stacks > 0) user.fire_stacks = (max(0, user.fire_stacks - 1.5)) else if(user.fire_stacks < 0) user.fire_stacks = (min(0, user.fire_stacks + 1.5)) -/obj/item/weapon/towel/random/New() +/obj/item/towel/random/New() ..() color = get_random_colour() diff --git a/code/game/objects/items/weapons/traps.dm b/code/game/objects/items/weapons/traps.dm index 2e55cb3b36b..8c1251d123b 100644 --- a/code/game/objects/items/weapons/traps.dm +++ b/code/game/objects/items/weapons/traps.dm @@ -4,7 +4,7 @@ * Buckles crossing individuals, doing moderate brute damage. */ -/obj/item/weapon/beartrap +/obj/item/beartrap name = "mechanical trap" throw_speed = 2 throw_range = 1 @@ -22,22 +22,22 @@ var/camo_net = FALSE var/stun_length = 0.25 SECONDS -/obj/item/weapon/beartrap/proc/can_use(mob/user) +/obj/item/beartrap/proc/can_use(mob/user) return (user.IsAdvancedToolUser() && !issilicon(user) && !user.stat && !user.restrained()) -/obj/item/weapon/beartrap/attack_self(mob/user as mob) +/obj/item/beartrap/attack_self(mob/user as mob) ..() if(!deployed && can_use(user)) user.visible_message( - "[user] starts to deploy \the [src].", - "You begin deploying \the [src]!", + span_danger("[user] starts to deploy \the [src]."), + span_danger("You begin deploying \the [src]!"), "You hear the slow creaking of a spring." ) if (do_after(user, 60)) user.visible_message( - "[user] has deployed \the [src].", - "You have deployed \the [src]!", + span_danger("[user] has deployed \the [src]."), + span_danger("You have deployed \the [src]!"), "You hear a latch click loudly." ) playsound(src, 'sound/machines/click.ogg',70, 1) @@ -47,30 +47,30 @@ update_icon() anchored = TRUE -/obj/item/weapon/beartrap/attack_hand(mob/user as mob) +/obj/item/beartrap/attack_hand(mob/user as mob) if(has_buckled_mobs() && can_use(user)) var/victim = english_list(buckled_mobs) user.visible_message( - "[user] begins freeing [victim] from \the [src].", - "You carefully begin to free [victim] from \the [src].", + span_notice("[user] begins freeing [victim] from \the [src]."), + span_notice("You carefully begin to free [victim] from \the [src]."), ) if(do_after(user, 60)) - user.visible_message("[victim] has been freed from \the [src] by [user].") + user.visible_message(span_notice("[victim] has been freed from \the [src] by [user].")) for(var/A in buckled_mobs) unbuckle_mob(A) anchored = FALSE else if(deployed && can_use(user)) user.visible_message( - "[user] starts to disarm \the [src].", - "You begin disarming \the [src]!", + span_danger("[user] starts to disarm \the [src]."), + span_notice("You begin disarming \the [src]!"), "You hear a latch click followed by the slow creaking of a spring." ) playsound(src, 'sound/machines/click.ogg', 50, 1) if(do_after(user, 60)) user.visible_message( - "[user] has disarmed \the [src].", - "You have disarmed \the [src]!" + span_danger("[user] has disarmed \the [src]."), + span_notice("You have disarmed \the [src]!") ) deployed = 0 anchored = FALSE @@ -78,7 +78,7 @@ else ..() -/obj/item/weapon/beartrap/proc/attack_mob(mob/living/L) +/obj/item/beartrap/proc/attack_mob(mob/living/L) var/target_zone if(L.lying) @@ -103,7 +103,7 @@ var/mob/living/carbon/human/H = L var/obj/item/organ/external/affected = H.get_organ(check_zone(target_zone)) if(!affected) // took it clean off! - to_chat(H, "The steel jaws of \the [src] take your limb clean off!") + to_chat(H, span_danger("The steel jaws of \the [src] take your limb clean off!")) L.Stun(stun_length*2) deployed = 0 anchored = FALSE @@ -114,21 +114,21 @@ can_buckle = TRUE buckle_mob(L) L.Stun(stun_length) - to_chat(L, "The steel jaws of \the [src] bite into you, trapping you in place!") + to_chat(L, span_danger("The steel jaws of \the [src] bite into you, trapping you in place!")) deployed = 0 anchored = FALSE can_buckle = initial(can_buckle) -/obj/item/weapon/beartrap/Crossed(atom/movable/AM as mob|obj) +/obj/item/beartrap/Crossed(atom/movable/AM as mob|obj) if(AM.is_incorporeal()) return if(deployed && isliving(AM)) var/mob/living/L = AM if(L.m_intent == "run") L.visible_message( - "[L] steps on \the [src].", - "You step on \the [src]!", - "You hear a loud metallic snap!" + span_danger("[L] steps on \the [src]."), + span_danger("You step on \the [src]!"), + span_infoplain(span_bold("You hear a loud metallic snap!")) ) attack_mob(L) if(!has_buckled_mobs()) @@ -137,7 +137,7 @@ update_icon() ..() -/obj/item/weapon/beartrap/update_icon() +/obj/item/beartrap/update_icon() ..() if(!deployed) @@ -151,7 +151,7 @@ icon_state = "beartrap1" -/obj/item/weapon/beartrap/hunting +/obj/item/beartrap/hunting name = "hunting trap" desc = "A mechanically activated leg trap. High-tech and reliable. Looks like it could really hurt if you set it off." stun_length = 1 SECOND @@ -165,7 +165,7 @@ * Slows individuals crossing it. Barefoot individuals will be cut. Can be electrified by placing over a cable node. */ -/obj/item/weapon/material/barbedwire +/obj/item/material/barbedwire name = "barbed wire" desc = "A coil of wire." icon = 'icons/obj/trap.dmi' @@ -181,48 +181,48 @@ sharp = TRUE -/obj/item/weapon/material/barbedwire/set_material(var/new_material) +/obj/item/material/barbedwire/set_material(var/new_material) ..() if(!QDELETED(src)) health = round(material.integrity / 3) name = (material.get_edge_damage() * force_divisor > 15) ? "[material.display_name] razor wire" : "[material.display_name] [initial(name)]" -/obj/item/weapon/material/barbedwire/proc/can_use(mob/user) +/obj/item/material/barbedwire/proc/can_use(mob/user) return (user.IsAdvancedToolUser() && !issilicon(user) && !user.stat && !user.restrained()) -/obj/item/weapon/material/barbedwire/attack_hand(mob/user as mob) +/obj/item/material/barbedwire/attack_hand(mob/user as mob) if(anchored && can_use(user)) user.visible_message( - "[user] starts to collect \the [src].", - "You begin collecting \the [src]!", + span_danger("[user] starts to collect \the [src]."), + span_notice("You begin collecting \the [src]!"), "You hear the sound of rustling [material.name]." ) playsound(src, 'sound/machines/click.ogg', 50, 1) if(do_after(user, health)) user.visible_message( - "[user] has collected \the [src].", - "You have collected \the [src]!" + span_danger("[user] has collected \the [src]."), + span_notice("You have collected \the [src]!") ) anchored = FALSE update_icon() else ..() -/obj/item/weapon/material/barbedwire/attack_self(mob/user as mob) +/obj/item/material/barbedwire/attack_self(mob/user as mob) ..() if(!anchored && can_use(user)) user.visible_message( - "[user] starts to deploy \the [src].", - "You begin deploying \the [src]!", + span_danger("[user] starts to deploy \the [src]."), + span_danger("You begin deploying \the [src]!"), "You hear the rustling of [material.name]." ) if (do_after(user, 60)) user.visible_message( - "[user] has deployed \the [src].", - "You have deployed \the [src]!", + span_danger("[user] has deployed \the [src]."), + span_danger("You have deployed \the [src]!"), "You hear the rustling of [material.name]." ) playsound(src, 'sound/items/Wirecutter.ogg',70, 1) @@ -233,7 +233,7 @@ anchored = TRUE update_icon() -/obj/item/weapon/material/barbedwire/attackby(obj/item/W as obj, mob/user as mob) +/obj/item/material/barbedwire/attackby(obj/item/W as obj, mob/user as mob) if(!istype(W)) return @@ -258,7 +258,7 @@ ..() -/obj/item/weapon/material/barbedwire/update_icon() +/obj/item/material/barbedwire/update_icon() ..() if(anchored) @@ -266,22 +266,22 @@ else icon_state = "[initial(icon_state)]" -/obj/item/weapon/material/barbedwire/Crossed(atom/movable/AM as mob|obj) +/obj/item/material/barbedwire/Crossed(atom/movable/AM as mob|obj) if(AM.is_incorporeal()) return if(anchored && isliving(AM)) var/mob/living/L = AM if(L.m_intent == "run") L.visible_message( - "[L] steps in \the [src].", - "You step in \the [src]!", - "You hear a sharp rustling!" + span_danger("[L] steps in \the [src]."), + span_danger("You step in \the [src]!"), + span_infoplain(span_bold("You hear a sharp rustling!")) ) attack_mob(L) update_icon() ..() -/obj/item/weapon/material/barbedwire/proc/shock(mob/user as mob, prb, var/target_zone = BP_TORSO) +/obj/item/material/barbedwire/proc/shock(mob/user as mob, prb, var/target_zone = BP_TORSO) if(!anchored || health == 0) // anchored/destroyed grilles are never connected return 0 if(material.conductivity <= 0) @@ -326,7 +326,7 @@ return 0 return 0 -/obj/item/weapon/material/barbedwire/proc/attack_mob(mob/living/L) +/obj/item/material/barbedwire/proc/attack_mob(mob/living/L) var/target_zone if(L.lying) target_zone = ran_zone() @@ -366,7 +366,7 @@ if(H.species.flags & NO_MINOR_CUT) return - to_chat(H, "You step directly on \the [src]!") + to_chat(H, span_danger("You step directly on \the [src]!")) var/list/check = list("l_foot", "r_foot") while(check.len) @@ -391,11 +391,11 @@ return -/obj/item/weapon/material/barbedwire/plastic +/obj/item/material/barbedwire/plastic name = "snare wire" default_material = MAT_PLASTIC // YW ADDITION -/obj/item/weapon/beartrap/armed +/obj/item/beartrap/armed icon_state = "beartrap1" deployed = 1 diff --git a/code/game/objects/items/weapons/traps_vr.dm b/code/game/objects/items/weapons/traps_vr.dm index 0b7c543f02f..07530e8361c 100644 --- a/code/game/objects/items/weapons/traps_vr.dm +++ b/code/game/objects/items/weapons/traps_vr.dm @@ -1,18 +1,18 @@ -/obj/item/weapon/beartrap +/obj/item/beartrap slot_flags = SLOT_MASK item_icons = list( slot_wear_mask_str = 'icons/inventory/face/mob_vr.dmi' ) -/obj/item/weapon/beartrap/equipped() +/obj/item/beartrap/equipped() if(ishuman(src.loc)) var/mob/living/carbon/human/H = src.loc if(H.wear_mask == src) - H.verbs |= /mob/living/proc/shred_limb_temp + add_verb(H, /mob/living/proc/shred_limb_temp) else - H.verbs -= /mob/living/proc/shred_limb_temp + remove_verb(H, /mob/living/proc/shred_limb_temp) ..() -/obj/item/weapon/beartrap/dropped(var/mob/user) - user.verbs -= /mob/living/proc/shred_limb_temp - ..() \ No newline at end of file +/obj/item/beartrap/dropped(var/mob/user) + remove_verb(user, /mob/living/proc/shred_limb_temp) + ..() diff --git a/code/game/objects/items/weapons/trays.dm b/code/game/objects/items/weapons/trays.dm index 2ea7b30cd1e..1149d2f3ec9 100644 --- a/code/game/objects/items/weapons/trays.dm +++ b/code/game/objects/items/weapons/trays.dm @@ -1,7 +1,7 @@ /* * Trays - Agouri */ -/obj/item/weapon/tray +/obj/item/tray name = "tray" icon = 'icons/obj/food.dmi' icon_state = "tray" @@ -16,7 +16,7 @@ var/max_carry = 10 drop_sound = 'sound/items/trayhit1.ogg' -/obj/item/weapon/tray/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) +/obj/item/tray/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) user.setClickCooldown(user.get_attack_speed(src)) // Drop all the things. All of them. cut_overlays() @@ -32,7 +32,7 @@ if((CLUMSY in user.mutations) && prob(50)) //What if he's a clown? - to_chat(M, "You accidentally slam yourself with the [src]!") + to_chat(M, span_warning("You accidentally slam yourself with the [src]!")) M.Weaken(1) user.take_organ_damage(2) if(prob(50)) @@ -62,12 +62,12 @@ if(prob(50)) playsound(src, 'sound/items/trayhit1.ogg', 50, 1) for(var/mob/O in viewers(M, null)) - O.show_message(text("[] slams [] with the tray!", user, M), 1) + O.show_message(span_danger("[user] slams [M] with the tray!"), 1) return else playsound(src, 'sound/items/trayhit2.ogg', 50, 1) //we applied the damage, we played the sound, we showed the appropriate messages. Time to return and stop the proc for(var/mob/O in viewers(M, null)) - O.show_message(text("[] slams [] with the tray!", user, M), 1) + O.show_message(span_danger("[user] slams [M] with the tray!"), 1) return @@ -79,7 +79,7 @@ break if(protected) - to_chat(M, "You get slammed in the face with the tray, against your mask!") + to_chat(M, span_warning("You get slammed in the face with the tray, against your mask!")) if(prob(33)) src.add_blood(H) if (H.wear_mask) @@ -95,11 +95,11 @@ if(prob(50)) playsound(src, 'sound/items/trayhit1.ogg', 50, 1) for(var/mob/O in viewers(M, null)) - O.show_message(text("[] slams [] with the tray!", user, M), 1) + O.show_message(span_danger("[user] slams [M] with the tray!"), 1) else playsound(src, 'sound/items/trayhit2.ogg', 50, 1) //sound playin' for(var/mob/O in viewers(M, null)) - O.show_message(text("[] slams [] with the tray!", user, M), 1) + O.show_message(span_danger("[user] slams [M] with the tray!"), 1) if(prob(10)) M.Stun(rand(1,3)) M.take_organ_damage(3) @@ -109,7 +109,7 @@ return else //No eye or head protection, tough luck! - to_chat(M, "You get slammed in the face with the tray!") + to_chat(M, span_warning("You get slammed in the face with the tray!")) if(prob(33)) src.add_blood(M) var/turf/location = H.loc @@ -119,11 +119,11 @@ if(prob(50)) playsound(src, 'sound/items/trayhit1.ogg', 50, 1) for(var/mob/O in viewers(M, null)) - O.show_message(text("[] slams [] in the face with the tray!", user, M), 1) + O.show_message(span_danger("[user] slams [M] in the face with the tray!"), 1) else playsound(src, 'sound/items/trayhit2.ogg', 50, 1) //sound playin' again for(var/mob/O in viewers(M, null)) - O.show_message(text("[] slams [] in the face with the tray!", user, M), 1) + O.show_message(span_danger("[user] slams [M] in the face with the tray!"), 1) if(prob(30)) M.Stun(rand(2,4)) M.take_organ_damage(4) @@ -135,12 +135,12 @@ return return -/obj/item/weapon/tray/var/cooldown = 0 //shield bash cooldown. based on world.time +/obj/item/tray/var/cooldown = 0 //shield bash cooldown. based on world.time -/obj/item/weapon/tray/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W, /obj/item/weapon/material/kitchen/rollingpin)) +/obj/item/tray/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W, /obj/item/material/kitchen/rollingpin)) if(cooldown < world.time - 25) - user.visible_message("[user] bashes [src] with [W]!") + user.visible_message(span_warning("[user] bashes [src] with [W]!")) playsound(src, 'sound/effects/shieldbash.ogg', 50, 1) cooldown = world.time else @@ -153,7 +153,7 @@ = = ===============~~~~~================================~~~~~==================== */ -/obj/item/weapon/tray/proc/calc_carry() +/obj/item/tray/proc/calc_carry() // calculate the weight of the items on the tray var/val = 0 // value to return @@ -167,7 +167,7 @@ return val -/obj/item/weapon/tray/pickup(mob/user) +/obj/item/tray/pickup(mob/user) if(!isturf(loc)) return @@ -189,13 +189,13 @@ Img.icon = I.icon Img.icon_state = I.icon_state Img.layer = layer + I.layer*0.01 - if(istype(I, /obj/item/weapon/material)) - var/obj/item/weapon/material/O = I + if(istype(I, /obj/item/material)) + var/obj/item/material/O = I if(O.applies_material_colour) Img.color = O.color add_overlay(Img) -/obj/item/weapon/tray/dropped(mob/user) +/obj/item/tray/dropped(mob/user) var/noTable = null spawn() //Allows the tray to udpate location, rather than just checking against mob's location diff --git a/code/game/objects/items/weapons/weaponry.dm b/code/game/objects/items/weapons/weaponry.dm index dc9aa503367..0e01e58c39b 100644 --- a/code/game/objects/items/weapons/weaponry.dm +++ b/code/game/objects/items/weapons/weaponry.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/nullrod +/obj/item/nullrod name = "null rod" desc = "A rod of pure obsidian, its very presence disrupts and dampens the powers of paranormal phenomenae." icon_state = "nullrod" @@ -12,7 +12,7 @@ drop_sound = 'sound/items/drop/sword.ogg' pickup_sound = 'sound/items/pickup/sword.ogg' -/obj/item/weapon/nullrod/attack(mob/M as mob, mob/living/user as mob) //Paste from old-code to decult with a null rod. +/obj/item/nullrod/attack(mob/M as mob, mob/living/user as mob) //Paste from old-code to decult with a null rod. add_attack_logs(user,M,"Hit with [src] (nullrod)") @@ -20,37 +20,37 @@ user.do_attack_animation(M) if (!user.IsAdvancedToolUser()) - to_chat(user, "You don't have the dexterity to do this!") + to_chat(user, span_danger("You don't have the dexterity to do this!")) return if ((CLUMSY in user.mutations) && prob(50)) - to_chat(user, "The rod slips out of your hand and hits your head.") + to_chat(user, span_danger("The rod slips out of your hand and hits your head.")) user.take_organ_damage(10) user.Paralyse(20) return if (M.stat !=2) if(cult && (M.mind in cult.current_antagonists) && prob(33)) - to_chat(M, "The power of [src] clears your mind of the cult's influence!") - to_chat(user, "You wave [src] over [M]'s head and see their eyes become clear, their mind returning to normal.") + to_chat(M, span_danger("The power of [src] clears your mind of the cult's influence!")) + to_chat(user, span_danger("You wave [src] over [M]'s head and see their eyes become clear, their mind returning to normal.")) cult.remove_antagonist(M.mind) - M.visible_message("\The [user] waves \the [src] over \the [M]'s head.") + M.visible_message(span_danger("\The [user] waves \the [src] over \the [M]'s head.")) else if(prob(10)) - to_chat(user, "The rod slips in your hand.") + to_chat(user, span_danger("The rod slips in your hand.")) ..() else - to_chat(user, "The rod appears to do nothing.") - M.visible_message("\The [user] waves \the [src] over \the [M]'s head.") + to_chat(user, span_danger("The rod appears to do nothing.")) + M.visible_message(span_danger("\The [user] waves \the [src] over \the [M]'s head.")) return -/obj/item/weapon/nullrod/afterattack(atom/A, mob/user as mob, proximity) +/obj/item/nullrod/afterattack(atom/A, mob/user as mob, proximity) if(!proximity) return if (istype(A, /turf/simulated/floor)) - to_chat(user, "You hit the floor with the [src].") + to_chat(user, span_notice("You hit the floor with the [src].")) call(/obj/effect/rune/proc/revealrunes)(src) -/obj/item/weapon/energy_net +/obj/item/energy_net name = "energy net" desc = "It's a net made of green energy." icon = 'icons/effects/effects.dmi' @@ -59,11 +59,11 @@ force = 0 var/net_type = /obj/effect/energy_net -/obj/item/weapon/energy_net/dropped() +/obj/item/energy_net/dropped() spawn(10) if(src) qdel(src) -/obj/item/weapon/energy_net/throw_impact(atom/hit_atom) +/obj/item/energy_net/throw_impact(atom/hit_atom) ..() var/mob/living/M = hit_atom @@ -107,7 +107,7 @@ /obj/effect/energy_net/Destroy() if(has_buckled_mobs()) for(var/A in buckled_mobs) - to_chat(A, "You are free of the net!") + to_chat(A, span_notice("You are free of the net!")) unbuckle_mob(A) STOP_PROCESSING(SSobj, src) @@ -119,11 +119,11 @@ /obj/effect/energy_net/user_unbuckle_mob(mob/living/buckled_mob, mob/user) user.setClickCooldown(user.get_attack_speed()) - visible_message("[user] begins to tear at \the [src]!") + visible_message(span_danger("[user] begins to tear at \the [src]!")) if(do_after(user, escape_time, src, incapacitation_flags = INCAPACITATION_DEFAULT & ~(INCAPACITATION_RESTRAINED | INCAPACITATION_BUCKLED_FULLY))) if(!has_buckled_mobs()) return - visible_message("[user] manages to tear \the [src] apart!") + visible_message(span_danger("[user] manages to tear \the [src] apart!")) unbuckle_mob(buckled_mob) /obj/effect/energy_net/post_buckle_mob(mob/living/M) diff --git a/code/game/objects/items/weapons/weldbackpack.dm b/code/game/objects/items/weapons/weldbackpack.dm index bdabfaf8265..e8be87608d9 100644 --- a/code/game/objects/items/weapons/weldbackpack.dm +++ b/code/game/objects/items/weapons/weldbackpack.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/weldpack +/obj/item/weldpack name = "Welding kit" desc = "A heavy-duty, portable welding fluid carrier." slot_flags = SLOT_BACK @@ -6,13 +6,13 @@ icon_state = "welderpack" w_class = ITEMSIZE_LARGE var/max_fuel = 350 - var/obj/item/weapon/nozzle = null //Attached welder, or other spray device. - var/nozzle_type = /obj/item/weapon/weldingtool/tubefed + var/obj/item/nozzle = null //Attached welder, or other spray device. + var/nozzle_type = /obj/item/weldingtool/tubefed var/nozzle_attached = 0 drop_sound = 'sound/items/drop/backpack.ogg' pickup_sound = 'sound/items/pickup/backpack.ogg' -/obj/item/weapon/weldpack/Initialize() +/obj/item/weldpack/Initialize() . = ..() var/datum/reagents/R = new/datum/reagents(max_fuel) //Lotsa refills reagents = R @@ -21,72 +21,72 @@ nozzle = new nozzle_type(src) nozzle_attached = 1 -/obj/item/weapon/weldpack/Destroy() +/obj/item/weldpack/Destroy() qdel(nozzle) nozzle = null return ..() -/obj/item/weapon/weldpack/dropped(mob/user) +/obj/item/weldpack/dropped(mob/user) ..() if(nozzle) user.remove_from_mob(nozzle) return_nozzle() - to_chat(user, "\The [nozzle] retracts to its fueltank.") + to_chat(user, span_notice("\The [nozzle] retracts to its fueltank.")) -/obj/item/weapon/weldpack/proc/get_nozzle(var/mob/living/user) +/obj/item/weldpack/proc/get_nozzle(var/mob/living/user) if(!ishuman(user)) return 0 var/mob/living/carbon/human/H = user if(H.hands_are_full()) //Make sure our hands aren't full. - to_chat(H, "Your hands are full. Drop something first.") + to_chat(H, span_warning("Your hands are full. Drop something first.")) return 0 - var/obj/item/weapon/F = nozzle + var/obj/item/F = nozzle H.put_in_hands(F) nozzle_attached = 0 return 1 -/obj/item/weapon/weldpack/proc/return_nozzle(var/mob/living/user) +/obj/item/weldpack/proc/return_nozzle(var/mob/living/user) nozzle.forceMove(src) nozzle_attached = 1 -/obj/item/weapon/weldpack/attackby(obj/item/W as obj, mob/user as mob) - if(istype(W, /obj/item/weapon/weldingtool) && !(W == nozzle)) - var/obj/item/weapon/weldingtool/T = W +/obj/item/weldpack/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W, /obj/item/weldingtool) && !(W == nozzle)) + var/obj/item/weldingtool/T = W if(T.welding & prob(50)) message_admins("[key_name_admin(user)] triggered a fueltank explosion.") log_game("[key_name(user)] triggered a fueltank explosion.") - to_chat(user, "That was stupid of you.") + to_chat(user, span_danger("That was stupid of you.")) explosion(get_turf(src),-1,0,2) if(src) qdel(src) return else if(T.status) if(T.welding) - to_chat(user, "That was close!") + to_chat(user, span_danger("That was close!")) src.reagents.trans_to_obj(W, T.max_fuel) - to_chat(user, "Welder refilled!") + to_chat(user, span_notice("Welder refilled!")) playsound(src, 'sound/effects/refill.ogg', 50, 1, -6) return else if(nozzle) if(nozzle == W) if(!user.unEquip(W)) - to_chat(user, "\The [W] seems to be stuck to your hand.") + to_chat(user, span_notice("\The [W] seems to be stuck to your hand.")) return if(!nozzle_attached) return_nozzle() - to_chat(user, "You attach \the [W] to the [src].") + to_chat(user, span_notice("You attach \the [W] to the [src].")) return else - to_chat(user, "The [src] already has a nozzle!") + to_chat(user, span_notice("The [src] already has a nozzle!")) else - to_chat(user, "The tank scoffs at your insolence. It only provides services to welders.") + to_chat(user, span_warning("The tank scoffs at your insolence. It only provides services to welders.")) return -/obj/item/weapon/weldpack/attack_hand(mob/user as mob) +/obj/item/weldpack/attack_hand(mob/user as mob) if(istype(user, /mob/living/carbon/human)) var/mob/living/carbon/human/wearer = user if(wearer.back == src) @@ -94,25 +94,25 @@ if(!wearer.incapacitated()) get_nozzle(user) else - to_chat(user, "\The [src] does not have a nozzle attached!") + to_chat(user, span_notice("\The [src] does not have a nozzle attached!")) else ..() else ..() -/obj/item/weapon/weldpack/afterattack(obj/O as obj, mob/user as mob, proximity) +/obj/item/weldpack/afterattack(obj/O as obj, mob/user as mob, proximity) if(!proximity) // this replaces and improves the get_dist(src,O) <= 1 checks used previously return if (istype(O, /obj/structure/reagent_dispensers/fueltank) && src.reagents.total_volume < max_fuel) O.reagents.trans_to_obj(src, max_fuel) - to_chat(user, "You crack the cap off the top of the pack and fill it back up again from the tank.") + to_chat(user, span_notice("You crack the cap off the top of the pack and fill it back up again from the tank.")) playsound(src, 'sound/effects/refill.ogg', 50, 1, -6) return else if (istype(O, /obj/structure/reagent_dispensers/fueltank) && src.reagents.total_volume == max_fuel) - to_chat(user, "The pack is already full!") + to_chat(user, span_warning("The pack is already full!")) return -/obj/item/weapon/weldpack/MouseDrop(obj/over_object as obj) //This is terrifying. +/obj/item/weldpack/MouseDrop(obj/over_object as obj) //This is terrifying. if(!canremove) return @@ -144,11 +144,11 @@ usr.put_in_l_hand(src) src.add_fingerprint(usr) -/obj/item/weapon/weldpack/examine(mob/user) +/obj/item/weldpack/examine(mob/user) . = ..() . += "It has [src.reagents.total_volume] units of fuel left!" -/obj/item/weapon/weldpack/survival +/obj/item/weldpack/survival name = "emergency welding kit" desc = "A heavy-duty, portable welding fluid carrier." slot_flags = SLOT_BACK @@ -157,4 +157,4 @@ item_state = "welderpack" w_class = ITEMSIZE_LARGE max_fuel = 100 - nozzle_type = /obj/item/weapon/weldingtool/tubefed/survival + nozzle_type = /obj/item/weldingtool/tubefed/survival diff --git a/code/game/objects/items/weapons/wiki_manuals.dm b/code/game/objects/items/weapons/wiki_manuals.dm new file mode 100644 index 00000000000..8ba6b68dab1 --- /dev/null +++ b/code/game/objects/items/weapons/wiki_manuals.dm @@ -0,0 +1,145 @@ +// Wiki books that are linked to the configured wiki link. + +/// The size of the window that the wiki books open in. +#define BOOK_WINDOW_BROWSE_SIZE "970x710" +/// This macro will resolve to code that will open up the associated wiki page in the window. +#define WIKI_PAGE_IFRAME(wikiurl, link_identifier) {" + + + + + + + +

You start skimming through the manual...

+ + + + "} + +// A book that links to the wiki +/obj/item/book/manual/wiki + dat = "Nanotrasen presently does not have any resources on this topic. If you would like to know more, contact your local Central Command representative." // safety + /// The ending URL of the page that we link to. + var/page_link = "" + +/obj/item/book/manual/wiki/display_content(mob/living/user) + var/wiki_url = CONFIG_GET(string/wikiurl) + if(!wiki_url) + //user.balloon_alert(user, "this book is empty!") + to_chat(user, span_info("this book is empty!")) + return + + //credit_book_to_reader(user) + DIRECT_OUTPUT(user, browse(WIKI_PAGE_IFRAME(wiki_url, page_link), "window=manual;size=[BOOK_WINDOW_BROWSE_SIZE]")) // if you change this GUARANTEE that it works. + +/obj/item/book/manual/wiki/engineering_construction + name = "Station Repairs and Construction" + icon_state ="bookEngineering" + item_state = "book3" + author = "Engineering Encyclopedia" // Who wrote the thing, can be changed by pen or PC. It is not automatically assigned + title = "Station Repairs and Construction" + + page_link = "Guide_to_Construction" + +/obj/item/book/manual/wiki/engineering_hacking + name = "Hacking" + icon_state ="bookHacking" + item_state = "book2" + author = "Engineering Encyclopedia" // Who wrote the thing, can be changed by pen or PC. It is not automatically assigned + title = "Hacking" + + page_link = "Hacking" + +/obj/item/book/manual/wiki/robotics_manual + name = "Guide to Robotics" + icon_state ="evabook" + item_state = "book3" + author = "Simple Robotics" // Who wrote the thing, can be changed by pen or PC. It is not automatically assigned + title = "Guide to Robotics" + + page_link = "Guide_to_Robotics" + +/obj/item/book/manual/wiki/security_space_law + name = "Corporate Regulations" + desc = "A set of corporate guidelines for keeping law and order on privately-owned space stations." + icon_state = "bookSpaceLaw" + item_state = "book13" + author = "The Company" + title = "Corporate Regulations" + + page_link = "Corporate_Regulations" + +/obj/item/book/manual/wiki/medical_diagnostics_manual + name = "Medical Diagnostics Manual" + desc = "First, do no harm. A detailed medical practitioner's guide." + icon_state = "bookMedical" + item_state = "book12" + author = "Medical Department" + title = "Medical Diagnostics Manual" + +/obj/item/book/manual/wiki/medical_diagnostics_manual/display_content(mob/living/user) + var/wiki_url = CONFIG_GET(string/wikiurl) + if(!wiki_url) + //user.balloon_alert(user, "this book is empty!") + to_chat(user, span_info("this book is empty!")) + return + + var/dat = {" + + + + +
+

The Oath

+ + The Medical Oath sworn by recognised medical practitioners in the employ of [using_map.company_name]
+ +
    +
  1. Now, as a new doctor, I solemnly promise that I will, to the best of my ability, serve humanity-caring for the sick, promoting good health, and alleviating pain and suffering.
  2. +
  3. I recognise that the practice of medicine is a privilege with which comes considerable responsibility and I will not abuse my position.
  4. +
  5. I will practise medicine with integrity, humility, honesty, and compassion-working with my fellow doctors and other colleagues to meet the needs of my patients.
  6. +
  7. I shall never intentionally do or administer anything to the overall harm of my patients.
  8. +
  9. I will not permit considerations of gender, race, religion, political affiliation, sexual orientation, nationality, or social standing to influence my duty of care.
  10. +
  11. I will oppose policies in breach of human rights and will not participate in them. I will strive to change laws that are contrary to my profession's ethics and will work towards a fairer distribution of health resources.
  12. +
  13. I will assist my patients to make informed decisions that coincide with their own values and beliefs and will uphold patient confidentiality.
  14. +
  15. I will recognise the limits of my knowledge and seek to maintain and increase my understanding and skills throughout my professional life. I will acknowledge and try to remedy my own mistakes and honestly assess and respond to those of others.
  16. +
  17. I will seek to promote the advancement of medical knowledge through teaching and research.
  18. +
  19. I make this declaration solemnly, freely, and upon my honour.
  20. +

+ +
+ + + + + + "} + + //credit_book_to_reader(user) + DIRECT_OUTPUT(user, browse(dat, "window=manual;size=[BOOK_WINDOW_BROWSE_SIZE]")) // if you change this GUARANTEE that it works. + +/obj/item/book/manual/wiki/engineering_guide + name = "Engineering Textbook" + icon_state ="bookEngineering2" + item_state = "book3" + author = "Engineering Encyclopedia" + title = "Engineering Textbook" + + page_link = "Guide_to_Engineering" diff --git a/code/game/objects/items_vr.dm b/code/game/objects/items_vr.dm index 4b8dbcaae5c..c2bd92cbea6 100644 --- a/code/game/objects/items_vr.dm +++ b/code/game/objects/items_vr.dm @@ -23,5 +23,5 @@ new_voice.real_name = "[new_voice.real_name]" //We still know their real name though! possessed_voice.Add(new_voice) listening_objects |= src - new_voice.verbs -= /mob/living/voice/verb/change_name //No changing your name! Bad! - new_voice.verbs -= /mob/living/voice/verb/hang_up //Also you can't hang up. You are the item! \ No newline at end of file + remove_verb(new_voice, /mob/living/voice/verb/change_name) //No changing your name! Bad! + remove_verb(new_voice, /mob/living/voice/verb/hang_up) //Also you can't hang up. You are the item! diff --git a/code/game/objects/micro_event.dm b/code/game/objects/micro_event.dm index 36fcb152e78..715538ec116 100644 --- a/code/game/objects/micro_event.dm +++ b/code/game/objects/micro_event.dm @@ -13,9 +13,11 @@ if(tgui_alert(user, "Should this portal shrink people who are over the limit, or grow people who are under the limit?", "Change portal size settings", list("Shrink","Grow")) == "Shrink") shrinking = TRUE our_message = "What should the size limit be? Anyone over this limit will be shrunk to this size. (1 = 100%, etc)" - else + else if (our_message == "Grow") shrinking = FALSE our_message = "What should the size limit be? Anyone under this limit will be grown to this size. (1 = 100%, etc)" + else + return ..() size_limit = tgui_input_number(user, our_message, "Pick a Size", 1, round_value=FALSE) @@ -72,7 +74,7 @@ . = ..() var/ourtime = (((start_time + time_til_open) - world.time) / 600) - . += "It will open in [ourtime] minutes!" + . += span_notice("It will open in [ourtime] minutes!") /obj/structure/timer_door/Initialize() START_PROCESSING(SSobj, src) @@ -81,7 +83,7 @@ /obj/structure/timer_door/Destroy() STOP_PROCESSING(SSobj, src) - visible_message("\The [src] opens up!") + visible_message(span_danger("\The [src] opens up!")) playsound(src, 'sound/effects/bang.ogg', 75, 1) return ..() diff --git a/code/game/objects/micro_structures.dm b/code/game/objects/micro_structures.dm index ba05bf5724e..44d2ca1a85f 100644 --- a/code/game/objects/micro_structures.dm +++ b/code/game/objects/micro_structures.dm @@ -1,3 +1,5 @@ +var/global/list/micro_tunnels = list() + /obj/structure/micro_tunnel name = "mouse hole" desc = "A tiny little hole... where does it go?" @@ -18,6 +20,10 @@ /mob/living/simple_mob/slime ) +/obj/structure/micro_tunnel/New() + . = ..() + micro_tunnels.Add(src) + /obj/structure/micro_tunnel/Initialize() . = ..() if(name == initial(name)) @@ -28,12 +34,14 @@ offset_tunnel() /obj/structure/micro_tunnel/Destroy() - visible_message("\The [src] collapses!") + visible_message(span_warning("\The [src] collapses!")) for(var/mob/thing in src.contents) - visible_message("\The [thing] tumbles out!") + visible_message(span_warning("\The [thing] tumbles out!")) thing.forceMove(get_turf(src.loc)) thing.cancel_camera() + micro_tunnels.Remove(src) + return ..() /obj/structure/micro_tunnel/set_dir(new_dir) @@ -63,7 +71,7 @@ if(myturf.z in P.expected_z_levels) planet = P else - for(var/obj/structure/micro_tunnel/t in world) + for(var/obj/structure/micro_tunnel/t in micro_tunnels) if(t == src) continue if(magic || t.magic) @@ -118,22 +126,22 @@ switch(choice) if("Exit") if(user.loc != src) - to_chat(user, "You can't do that unless you're in \the [src].") + to_chat(user, span_warning("You can't do that unless you're in \the [src].")) return user.forceMove(get_turf(src.loc)) user.cancel_camera() - user.visible_message("\The [user] climbs out of \the [src]!") + user.visible_message(span_notice("\The [user] climbs out of \the [src]!")) return if("Move") if(user.loc != src) - to_chat(user, "You can't do that unless you're in \the [src].") + to_chat(user, span_warning("You can't do that unless you're in \the [src].")) return var/list/destinations = find_destinations() if(!destinations.len) - to_chat(user, "There are no other tunnels connected to this one!") + to_chat(user, span_warning("There are no other tunnels connected to this one!")) return else if(destinations.len == 1) choice = pick(destinations) @@ -141,7 +149,7 @@ choice = tgui_input_list(user, "Where would you like to go?", "Pick a tunnel", destinations) if(!choice) return - to_chat(user,"You begin moving...") + to_chat(user,span_notice("You begin moving...")) if(!do_after(user, 10 SECONDS, exclusive = TRUE)) return user.forceMove(choice) @@ -156,7 +164,7 @@ continue our_targets |= L if(!our_targets.len) - to_chat(user, "There is no one in here except for you!") + to_chat(user, span_warning("There is no one in here except for you!")) return var/mob/our_choice if(our_targets.len == 1) @@ -164,10 +172,10 @@ else our_choice = tgui_input_list(user, "Who would you like to eat?", "Pick a target to eat", our_targets) if(user.loc != src) - to_chat(user, "You are no longer inside \the [src], and so cannot eat \the [our_choice].") + to_chat(user, span_warning("You are no longer inside \the [src], and so cannot eat \the [our_choice].")) return if(our_choice.loc != src) - to_chat(user, "\The [our_choice] is no longer inside \the [src], and so cannot be eaten.") + to_chat(user, span_warning("\The [our_choice] is no longer inside \the [src], and so cannot be eaten.")) return user.feed_grabbed_to_self(user,our_choice) return @@ -175,18 +183,18 @@ return if(!can_enter(user)) - user.visible_message("\The [user] reaches into \the [src]. . .","You reach into \the [src]. . .") + user.visible_message(span_warning("\The [user] reaches into \the [src]. . ."),span_warning("You reach into \the [src]. . .")) if(!do_after(user, 3 SECONDS, exclusive = TRUE)) - user.visible_message("\The [user] pulls their hand out of \the [src].","You pull your hand out of \the [src]") + user.visible_message(span_notice("\The [user] pulls their hand out of \the [src]."),span_warning("You pull your hand out of \the [src]")) return if(!src.contents.len) - to_chat(user, "There was nothing inside.") - user.visible_message("\The [user] pulls their hand out of \the [src].","You pull your hand out of \the [src]") + to_chat(user, span_warning("There was nothing inside.")) + user.visible_message(span_notice("\The [user] pulls their hand out of \the [src]."),span_warning("You pull your hand out of \the [src]")) return var/grabbed = pick(src.contents) if(!grabbed) - to_chat(user, "There was nothing inside.") - user.visible_message("\The [user] pulls their hand out of \the [src].","You pull your hand out of \the [src]") + to_chat(user, span_warning("There was nothing inside.")) + user.visible_message(span_notice("\The [user] pulls their hand out of \the [src]."),span_warning("You pull your hand out of \the [src]")) return if(ishuman(user)) @@ -199,7 +207,7 @@ var/atom/movable/whatever = grabbed whatever.forceMove(get_turf(src.loc)) - user.visible_message("\The [user] pulls \the [grabbed] out of \the [src]! ! !") + user.visible_message(span_warning("\The [user] pulls \the [grabbed] out of \the [src]! ! !")) return else if(isanimal(user)) @@ -211,12 +219,12 @@ else var/atom/movable/whatever = grabbed whatever.forceMove(get_turf(src.loc)) - user.visible_message("\The [user] pulls \the [grabbed] out of \the [src]! ! !") + user.visible_message(span_warning("\The [user] pulls \the [grabbed] out of \the [src]! ! !")) return - user.visible_message("\The [user] begins climbing into \the [src]!") + user.visible_message(span_notice("\The [user] begins climbing into \the [src]!")) if(!do_after(user, 10 SECONDS, exclusive = TRUE)) - to_chat(user, "You didn't go into \the [src]!") + to_chat(user, span_warning("You didn't go into \the [src]!")) return enter_tunnel(user) @@ -241,22 +249,22 @@ var/mob/living/k = M - k.visible_message("\The [k] begins climbing into \the [src]!") + k.visible_message(span_notice("\The [k] begins climbing into \the [src]!")) if(!do_after(k, 3 SECONDS, exclusive = TRUE)) - to_chat(k, "You didn't go into \the [src]!") + to_chat(k, span_warning("You didn't go into \the [src]!")) return enter_tunnel(k) /obj/structure/micro_tunnel/proc/enter_tunnel(mob/living/k) - k.visible_message("\The [k] climbs into \the [src]!") + k.visible_message(span_notice("\The [k] climbs into \the [src]!")) k.forceMove(src) k.cancel_camera() - to_chat(k,"You are inside of \the [src]. It's dark and gloomy inside of here. You can click upon the tunnel to exit, or travel to another tunnel if there are other tunnels linked to it.") + to_chat(k,span_notice("You are inside of \the [src]. It's dark and gloomy inside of here. You can click upon the tunnel to exit, or travel to another tunnel if there are other tunnels linked to it.")) tunnel_notify(k) /obj/structure/micro_tunnel/proc/tunnel_notify(var/mob/living/user) - to_chat(user, "You arrive inside \the [src].") + to_chat(user, span_notice("You arrive inside \the [src].")) var/our_message = "You can see " var/found_stuff = FALSE for(var/thing in src.contents) @@ -266,11 +274,11 @@ our_message = "[our_message] [thing], " if(isliving(thing)) var/mob/living/t = thing - to_chat(t, "\The [user] enters \the [src]!") + to_chat(t, span_notice("\The [user] enters \the [src]!")) if(found_stuff) - to_chat(user, "[our_message]inside of \the [src]!") + to_chat(user, span_notice("[our_message]inside of \the [src]!")) if(prob(25)) - visible_message("Something moves inside of \the [src]. . .") + visible_message(span_warning("Something moves inside of \the [src]. . .")) /obj/structure/micro_tunnel/magic magic = TRUE @@ -303,17 +311,17 @@ switch(choice) if("Exit") if(usr.loc != src) - to_chat(usr, "You can't do that unless you're in \the [src].") + to_chat(usr, span_warning("You can't do that unless you're in \the [src].")) return usr.forceMove(get_turf(src.loc)) usr.cancel_camera() - usr.visible_message("\The [usr] climbs out of \the [src]!") + usr.visible_message(span_notice("\The [usr] climbs out of \the [src]!")) return if("Move") if(usr.loc != src) - to_chat(usr, "You can't do that unless you're in \the [src].") + to_chat(usr, span_warning("You can't do that unless you're in \the [src].")) return var/list/destinations = list() if(istype(src,/obj/structure/micro_tunnel)) //If we're in a tunnel let's also get the tunnel's destinations @@ -329,7 +337,7 @@ destinations |= o if(!destinations.len) - to_chat(usr, "There is nowhere to move to!") + to_chat(usr, span_warning("There is nowhere to move to!")) return else if(destinations.len == 1) choice = pick(destinations) @@ -337,11 +345,13 @@ choice = tgui_input_list(usr, "Where would you like to go?", "Pick a destination", destinations) if(!choice) return - to_chat(usr,"You begin moving...") + to_chat(usr,span_notice("You begin moving...")) if(!do_after(usr, 10 SECONDS, exclusive = TRUE)) return if(QDELETED(src)) return + if(usr.loc != src) + return var/obj/our_choice = choice var/list/new_contained_mobs = list() @@ -352,7 +362,7 @@ usr.forceMove(our_choice) usr.cancel_camera() - to_chat(usr,"You are inside of \the [our_choice]. You can click upon the thing you are in to exit, or travel to a nearby thing if there are other tunnels linked to it.") + to_chat(usr,span_notice("You are inside of \the [our_choice]. You can click upon the thing you are in to exit, or travel to a nearby thing if there are other tunnels linked to it.")) var/our_message = "You can see " var/found_stuff = FALSE @@ -363,29 +373,29 @@ our_message = "[our_message] [thing], " if(isliving(thing)) var/mob/living/t = thing - to_chat(t, "\The [usr] enters \the [src]!") + to_chat(t, span_notice("\The [usr] enters \the [src]!")) if(found_stuff) - to_chat(usr, "[our_message]inside of \the [src]!") + to_chat(usr, span_notice("[our_message]inside of \the [src]!")) if(prob(25)) - our_choice.visible_message("Something moves inside of \the [our_choice]. . .") + our_choice.visible_message(span_warning("Something moves inside of \the [our_choice]. . .")) return if("Cancel") return if(!(usr.mob_size <= MOB_TINY || usr.get_effective_size(TRUE) <= micro_accepted_scale)) - usr.visible_message("\The [usr] reaches into \the [src]. . .","You reach into \the [src]. . .") + usr.visible_message(span_warning("\The [usr] reaches into \the [src]. . ."),span_warning("You reach into \the [src]. . .")) if(!do_after(usr, 3 SECONDS, exclusive = TRUE)) - usr.visible_message("\The [usr] pulls their hand out of \the [src].","You pull your hand out of \the [src]") + usr.visible_message(span_notice("\The [usr] pulls their hand out of \the [src]."),span_warning("You pull your hand out of \the [src]")) return if(!contained_mobs.len) - to_chat(usr, "There was nothing inside.") - usr.visible_message("\The [usr] pulls their hand out of \the [src].","You pull your hand out of \the [src]") + to_chat(usr, span_warning("There was nothing inside.")) + usr.visible_message(span_notice("\The [usr] pulls their hand out of \the [src]."),span_warning("You pull your hand out of \the [src]")) return var/grabbed = pick(contained_mobs) if(!grabbed) - to_chat(usr, "There was nothing inside.") - usr.visible_message("\The [usr] pulls their hand out of \the [src].","You pull your hand out of \the [src]") + to_chat(usr, span_warning("There was nothing inside.")) + usr.visible_message(span_notice("\The [usr] pulls their hand out of \the [src]."),span_warning("You pull your hand out of \the [src]")) return if(ishuman(usr)) @@ -399,7 +409,7 @@ var/atom/movable/whatever = grabbed whatever.forceMove(get_turf(src.loc)) - usr.visible_message("\The [usr] pulls \the [grabbed] out of \the [src]! ! !") + usr.visible_message(span_warning("\The [usr] pulls \the [grabbed] out of \the [src]! ! !")) return else if(isanimal(usr)) @@ -411,18 +421,18 @@ else var/atom/movable/whatever = grabbed whatever.forceMove(get_turf(src.loc)) - usr.visible_message("\The [usr] pulls \the [grabbed] out of \the [src]! ! !") + usr.visible_message(span_warning("\The [usr] pulls \the [grabbed] out of \the [src]! ! !")) return - usr.visible_message("\The [usr] begins climbing into \the [src]!") + usr.visible_message(span_notice("\The [usr] begins climbing into \the [src]!")) if(!do_after(usr, 10 SECONDS, exclusive = TRUE)) - to_chat(usr, "You didn't go into \the [src]!") + to_chat(usr, span_warning("You didn't go into \the [src]!")) return - usr.visible_message("\The [usr] climbs into \the [src]!") + usr.visible_message(span_notice("\The [usr] climbs into \the [src]!")) usr.forceMove(src) usr.cancel_camera() - to_chat(usr,"You are inside of \the [src]. You can click upon the tunnel to exit, or travel to another tunnel if there are other tunnels linked to it.") + to_chat(usr,span_notice("You are inside of \the [src]. You can click upon the tunnel to exit, or travel to another tunnel if there are other tunnels linked to it.")) var/our_message = "You can see " var/found_stuff = FALSE @@ -433,11 +443,11 @@ our_message = "[our_message] [thing], " if(isliving(thing)) var/mob/living/t = thing - to_chat(t, "\The [usr] enters \the [src]!") + to_chat(t, span_notice("\The [usr] enters \the [src]!")) if(found_stuff) - to_chat(usr, "[our_message]inside of \the [src]!") + to_chat(usr, span_notice("[our_message]inside of \the [src]!")) if(prob(25)) - visible_message("Something moves inside of \the [src]. . .") + visible_message(span_warning("Something moves inside of \the [src]. . .")) /obj/effect/mouse_hole_spawner name = "mouse hole spawner" diff --git a/code/game/objects/mob_spawner_vr.dm b/code/game/objects/mob_spawner_vr.dm index 6feebec885d..0169683e010 100644 --- a/code/game/objects/mob_spawner_vr.dm +++ b/code/game/objects/mob_spawner_vr.dm @@ -76,7 +76,7 @@ user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) user.do_attack_animation(src) - visible_message("\The [src] has been [LAZYLEN(I.attack_verb) ? "[pick(I.attack_verb)]":"attacked"] with \the [I] by [user].") + visible_message(span_warning("\The [src] has been [LAZYLEN(I.attack_verb) ? "[pick(I.attack_verb)]":"attacked"] with \the [I] by [user].")) take_damage(I.force) /obj/structure/mob_spawner/bullet_act(var/obj/item/projectile/Proj) @@ -87,7 +87,7 @@ /obj/structure/mob_spawner/take_damage(var/damage) health -= damage if(health <= 0) - visible_message("\The [src] breaks apart!") + visible_message(span_warning("\The [src] breaks apart!")) qdel(src) /obj/structure/mob_spawner/clear_zlevel/can_spawn() @@ -133,7 +133,7 @@ It also makes it so a ghost wont know where all the goodies/mobs are. name = "Corgi Lazy Spawner" desc = "This is a proof of concept, not sure why you would use this one" spawn_delay = 3 MINUTES - mob_faction = "Corgi" + mob_faction = FACTION_CORGI spawn_types = list( /mob/living/simple_mob/animal/passive/dog/corgi = 75, /mob/living/simple_mob/animal/passive/dog/corgi/puppy = 50 @@ -150,7 +150,7 @@ It also makes it so a ghost wont know where all the goodies/mobs are. spawn_delay = 10 MINUTES range = 10 simultaneous_spawns = 1 - mob_faction = "wild animal" + mob_faction = FACTION_WILD_ANIMAL total_spawns = -1 destructible = 0 anchored = TRUE @@ -167,7 +167,7 @@ It also makes it so a ghost wont know where all the goodies/mobs are. spawn_delay = 10 MINUTES range = 10 simultaneous_spawns = 1 - mob_faction = "xeno" + mob_faction = FACTION_XENO total_spawns = -1 destructible = 1 health = 50 @@ -186,7 +186,7 @@ It also makes it so a ghost wont know where all the goodies/mobs are. spawn_delay = 10 MINUTES range = 10 simultaneous_spawns = 1 - mob_faction = "xeno" + mob_faction = FACTION_XENO total_spawns = 1 destructible = 1 health = 50 diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index 11667d2f53e..dd15a470d15 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -36,7 +36,7 @@ m.forceMove(src.loc) else m.forceMove(get_turf(src.loc)) - m.visible_message("\The [m] tumbles out of \the [src]!") + m.visible_message(span_notice("\The [m] tumbles out of \the [src]!")) //VOREStation Add End return ..() @@ -57,7 +57,7 @@ /obj/CanUseTopic(var/mob/user, var/datum/tgui_state/state = GLOB.tgui_default_state) if(user.CanUseObjTopic(src)) return ..() - to_chat(user, "[icon2html(src, user.client)]Access Denied!") + to_chat(user, span_danger("[icon2html(src, user.client)]Access Denied!")) return STATUS_CLOSE /mob/living/silicon/CanUseObjTopic(var/obj/O) @@ -165,7 +165,7 @@ /* var/mob/mo = locate(/mob) in src if(mo) - var/rendered = "[M.name]: [text]" + var/rendered = span_game(span_say(span_name("[M.name]:") + " " + span_message("[text]")))) mo.show_message(rendered, 2) */ return diff --git a/code/game/objects/random/_random.dm b/code/game/objects/random/_random.dm index 3d68245676b..f3434db3931 100644 --- a/code/game/objects/random/_random.dm +++ b/code/game/objects/random/_random.dm @@ -46,12 +46,12 @@ var/list/random_junk_ var/list/random_useful_ /proc/get_random_useful_type() if(!random_useful_) - random_useful_ = subtypesof(/obj/item/weapon/pen/crayon) - random_useful_ += /obj/item/weapon/pen - random_useful_ += /obj/item/weapon/pen/blue - random_useful_ += /obj/item/weapon/pen/red - random_useful_ += /obj/item/weapon/pen/multi - random_useful_ += /obj/item/weapon/storage/box/matches + random_useful_ = subtypesof(/obj/item/pen/crayon) + random_useful_ += /obj/item/pen + random_useful_ += /obj/item/pen/blue + random_useful_ += /obj/item/pen/red + random_useful_ += /obj/item/pen/multi + random_useful_ += /obj/item/storage/box/matches random_useful_ += /obj/item/stack/material/cardboard return pick(random_useful_) @@ -64,10 +64,10 @@ var/list/random_useful_ random_junk_ += /obj/effect/decal/cleanable/bug_remains random_junk_ += /obj/effect/decal/remains/mouse random_junk_ += /obj/effect/decal/remains/robot - random_junk_ += /obj/item/weapon/paper/crumpled + random_junk_ += /obj/item/paper/crumpled random_junk_ += /obj/item/inflatable/torn random_junk_ += /obj/effect/decal/cleanable/molten_item - random_junk_ += /obj/item/weapon/material/shard + random_junk_ += /obj/item/material/shard random_junk_ -= /obj/item/trash/plate random_junk_ -= /obj/item/trash/snack_bowl diff --git a/code/game/objects/random/guns_and_ammo.dm b/code/game/objects/random/guns_and_ammo.dm index 96184919da7..bd465e66083 100644 --- a/code/game/objects/random/guns_and_ammo.dm +++ b/code/game/objects/random/guns_and_ammo.dm @@ -13,24 +13,24 @@ icon_state = "gun_energy" /obj/random/energy/item_to_spawn() - return pick(prob(3);/obj/item/weapon/gun/energy/laser, - prob(3);/obj/item/weapon/gun/energy/laser/sleek, - prob(4);/obj/item/weapon/gun/energy/gun, - prob(3);/obj/item/weapon/gun/energy/gun/burst, - prob(1);/obj/item/weapon/gun/energy/gun/nuclear, - prob(2);/obj/item/weapon/gun/energy/retro, - prob(2);/obj/item/weapon/gun/energy/lasercannon, - prob(3);/obj/item/weapon/gun/energy/xray, - prob(1);/obj/item/weapon/gun/energy/sniperrifle, - prob(1);/obj/item/weapon/gun/energy/plasmastun, - prob(2);/obj/item/weapon/gun/energy/ionrifle, - prob(2);/obj/item/weapon/gun/energy/ionrifle/pistol, - prob(3);/obj/item/weapon/gun/energy/toxgun, - prob(3);/obj/item/weapon/gun/energy/taser, - prob(2);/obj/item/weapon/gun/energy/crossbow/largecrossbow, - prob(3);/obj/item/weapon/gun/energy/stunrevolver, - prob(2);/obj/item/weapon/gun/energy/stunrevolver/vintage, - prob(3);/obj/item/weapon/gun/energy/gun/compact) + return pick(prob(3);/obj/item/gun/energy/laser, + prob(3);/obj/item/gun/energy/laser/sleek, + prob(4);/obj/item/gun/energy/gun, + prob(3);/obj/item/gun/energy/gun/burst, + prob(1);/obj/item/gun/energy/gun/nuclear, + prob(2);/obj/item/gun/energy/retro, + prob(2);/obj/item/gun/energy/lasercannon, + prob(3);/obj/item/gun/energy/xray, + prob(1);/obj/item/gun/energy/sniperrifle, + prob(1);/obj/item/gun/energy/plasmastun, + prob(2);/obj/item/gun/energy/ionrifle, + prob(2);/obj/item/gun/energy/ionrifle/pistol, + prob(3);/obj/item/gun/energy/toxgun, + prob(3);/obj/item/gun/energy/taser, + prob(2);/obj/item/gun/energy/crossbow/largecrossbow, + prob(3);/obj/item/gun/energy/stunrevolver, + prob(2);/obj/item/gun/energy/stunrevolver/vintage, + prob(3);/obj/item/gun/energy/gun/compact) /obj/random/energy/highend name = "Random Energy Weapon" @@ -38,17 +38,17 @@ icon_state = "gun_energy_2" /obj/random/energy/item_to_spawn() - return pick(prob(3);/obj/item/weapon/gun/energy/laser, - prob(3);/obj/item/weapon/gun/energy/laser/sleek, - prob(4);/obj/item/weapon/gun/energy/gun, - prob(3);/obj/item/weapon/gun/energy/gun/burst, - prob(1);/obj/item/weapon/gun/energy/gun/nuclear, - prob(2);/obj/item/weapon/gun/energy/retro, - prob(2);/obj/item/weapon/gun/energy/lasercannon, - prob(3);/obj/item/weapon/gun/energy/xray, - prob(1);/obj/item/weapon/gun/energy/sniperrifle, - prob(2);/obj/item/weapon/gun/energy/crossbow/largecrossbow, - prob(3);/obj/item/weapon/gun/energy/gun/compact) + return pick(prob(3);/obj/item/gun/energy/laser, + prob(3);/obj/item/gun/energy/laser/sleek, + prob(4);/obj/item/gun/energy/gun, + prob(3);/obj/item/gun/energy/gun/burst, + prob(1);/obj/item/gun/energy/gun/nuclear, + prob(2);/obj/item/gun/energy/retro, + prob(2);/obj/item/gun/energy/lasercannon, + prob(3);/obj/item/gun/energy/xray, + prob(1);/obj/item/gun/energy/sniperrifle, + prob(2);/obj/item/gun/energy/crossbow/largecrossbow, + prob(3);/obj/item/gun/energy/gun/compact) /obj/random/energy/sec name = "Random Security Energy Weapon" @@ -56,8 +56,8 @@ icon_state = "gun_energy" /obj/random/energy/sec/item_to_spawn() - return pick(prob(2);/obj/item/weapon/gun/energy/laser, - prob(2);/obj/item/weapon/gun/energy/gun) + return pick(prob(2);/obj/item/gun/energy/laser, + prob(2);/obj/item/gun/energy/gun) /obj/random/projectile name = "Random Projectile Weapon" @@ -65,41 +65,41 @@ icon_state = "gun" /obj/random/projectile/item_to_spawn() - return pick(prob(3);/obj/item/weapon/gun/projectile/automatic/wt550, - prob(3);/obj/item/weapon/gun/projectile/automatic/mini_uzi, - prob(3);/obj/item/weapon/gun/projectile/automatic/tommygun, - prob(2);/obj/item/weapon/gun/projectile/automatic/c20r, - prob(2);/obj/item/weapon/gun/projectile/automatic/sts35, - prob(2);/obj/item/weapon/gun/projectile/automatic/z8, - prob(2);/obj/item/weapon/gun/projectile/automatic/combatsmg, - prob(4);/obj/item/weapon/gun/projectile/colt, - prob(2);/obj/item/weapon/gun/projectile/deagle, - prob(1);/obj/item/weapon/gun/projectile/deagle/camo, - prob(1);/obj/item/weapon/gun/projectile/deagle/gold, - prob(3);/obj/item/weapon/gun/projectile/derringer, - prob(1);/obj/item/weapon/gun/projectile/heavysniper, - prob(4);/obj/item/weapon/gun/projectile/luger, - prob(3);/obj/item/weapon/gun/projectile/luger/brown, - prob(4);/obj/item/weapon/gun/projectile/sec, - prob(3);/obj/item/weapon/gun/projectile/sec/wood, - prob(4);/obj/item/weapon/gun/projectile/p92x, - prob(3);/obj/item/weapon/gun/projectile/p92x/brown, - prob(4);/obj/item/weapon/gun/projectile/pistol, - prob(5);/obj/item/weapon/gun/projectile/pirate, - prob(2);/obj/item/weapon/gun/projectile/revolver, - prob(4);/obj/item/weapon/gun/projectile/revolver/deckard, - prob(4);/obj/item/weapon/gun/projectile/revolver/detective, - prob(2);/obj/item/weapon/gun/projectile/revolver/judge, - prob(3);/obj/item/weapon/gun/projectile/revolver/lemat, - prob(2);/obj/item/weapon/gun/projectile/revolver/mateba, - prob(4);/obj/item/weapon/gun/projectile/shotgun/doublebarrel, - prob(3);/obj/item/weapon/gun/projectile/shotgun/doublebarrel/sawn, - prob(3);/obj/item/weapon/gun/projectile/shotgun/pump, - prob(2);/obj/item/weapon/gun/projectile/shotgun/pump/combat, - prob(4);/obj/item/weapon/gun/projectile/shotgun/pump/rifle, - prob(3);/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever, - prob(2);/obj/item/weapon/gun/projectile/shotgun/semi, - prob(2);/obj/item/weapon/gun/projectile/silenced) + return pick(prob(3);/obj/item/gun/projectile/automatic/wt550, + prob(3);/obj/item/gun/projectile/automatic/mini_uzi, + prob(3);/obj/item/gun/projectile/automatic/tommygun, + prob(2);/obj/item/gun/projectile/automatic/c20r, + prob(2);/obj/item/gun/projectile/automatic/sts35, + prob(2);/obj/item/gun/projectile/automatic/z8, + prob(2);/obj/item/gun/projectile/automatic/combatsmg, + prob(4);/obj/item/gun/projectile/colt, + prob(2);/obj/item/gun/projectile/deagle, + prob(1);/obj/item/gun/projectile/deagle/camo, + prob(1);/obj/item/gun/projectile/deagle/gold, + prob(3);/obj/item/gun/projectile/derringer, + prob(1);/obj/item/gun/projectile/heavysniper, + prob(4);/obj/item/gun/projectile/luger, + prob(3);/obj/item/gun/projectile/luger/brown, + prob(4);/obj/item/gun/projectile/sec, + prob(3);/obj/item/gun/projectile/sec/wood, + prob(4);/obj/item/gun/projectile/p92x, + prob(3);/obj/item/gun/projectile/p92x/brown, + prob(4);/obj/item/gun/projectile/pistol, + prob(5);/obj/item/gun/projectile/pirate, + prob(2);/obj/item/gun/projectile/revolver, + prob(4);/obj/item/gun/projectile/revolver/deckard, + prob(4);/obj/item/gun/projectile/revolver/detective, + prob(2);/obj/item/gun/projectile/revolver/judge, + prob(3);/obj/item/gun/projectile/revolver/lemat, + prob(2);/obj/item/gun/projectile/revolver/mateba, + prob(4);/obj/item/gun/projectile/shotgun/doublebarrel, + prob(3);/obj/item/gun/projectile/shotgun/doublebarrel/sawn, + prob(3);/obj/item/gun/projectile/shotgun/pump, + prob(2);/obj/item/gun/projectile/shotgun/pump/combat, + prob(4);/obj/item/gun/projectile/shotgun/pump/rifle, + prob(3);/obj/item/gun/projectile/shotgun/pump/rifle/lever, + prob(2);/obj/item/gun/projectile/shotgun/semi, + prob(2);/obj/item/gun/projectile/silenced) /obj/random/projectile/sec name = "Random Security Projectile Weapon" @@ -107,9 +107,9 @@ icon_state = "gun_shotgun" /obj/random/projectile/sec/item_to_spawn() - return pick(prob(3);/obj/item/weapon/gun/projectile/shotgun/pump, - prob(2);/obj/item/weapon/gun/projectile/automatic/wt550, - prob(1);/obj/item/weapon/gun/projectile/shotgun/pump/combat) + return pick(prob(3);/obj/item/gun/projectile/shotgun/pump, + prob(2);/obj/item/gun/projectile/automatic/wt550, + prob(1);/obj/item/gun/projectile/shotgun/pump/combat) /obj/random/projectile/shotgun name = "Random Shotgun" @@ -117,11 +117,11 @@ icon_state = "gun_shotgun" /obj/random/projectile/item_to_spawn() - return pick(prob(4);/obj/item/weapon/gun/projectile/shotgun/doublebarrel, - prob(3);/obj/item/weapon/gun/projectile/shotgun/doublebarrel/sawn, - prob(3);/obj/item/weapon/gun/projectile/shotgun/pump, - prob(1);/obj/item/weapon/gun/projectile/shotgun/pump/combat, - prob(1);/obj/item/weapon/gun/projectile/shotgun/semi) + return pick(prob(4);/obj/item/gun/projectile/shotgun/doublebarrel, + prob(3);/obj/item/gun/projectile/shotgun/doublebarrel/sawn, + prob(3);/obj/item/gun/projectile/shotgun/pump, + prob(1);/obj/item/gun/projectile/shotgun/pump/combat, + prob(1);/obj/item/gun/projectile/shotgun/semi) /obj/random/handgun name = "Random Handgun" @@ -130,16 +130,16 @@ icon_state = "gun" /obj/random/handgun/item_to_spawn() - return pick(prob(4);/obj/item/weapon/gun/projectile/sec, - prob(4);/obj/item/weapon/gun/projectile/p92x, - prob(3);/obj/item/weapon/gun/projectile/sec/wood, - prob(3);/obj/item/weapon/gun/projectile/p92x/brown, - prob(3);/obj/item/weapon/gun/projectile/colt, - prob(2);/obj/item/weapon/gun/projectile/luger, - prob(2);/obj/item/weapon/gun/energy/gun, - prob(2);/obj/item/weapon/gun/projectile/pistol, - prob(1);/obj/item/weapon/gun/energy/retro, - prob(1);/obj/item/weapon/gun/projectile/luger/brown) + return pick(prob(4);/obj/item/gun/projectile/sec, + prob(4);/obj/item/gun/projectile/p92x, + prob(3);/obj/item/gun/projectile/sec/wood, + prob(3);/obj/item/gun/projectile/p92x/brown, + prob(3);/obj/item/gun/projectile/colt, + prob(2);/obj/item/gun/projectile/luger, + prob(2);/obj/item/gun/energy/gun, + prob(2);/obj/item/gun/projectile/pistol, + prob(1);/obj/item/gun/energy/retro, + prob(1);/obj/item/gun/projectile/luger/brown) /obj/random/handgun/sec name = "Random Security Handgun" @@ -147,8 +147,8 @@ icon_state = "gun" /obj/random/handgun/sec/item_to_spawn() - return pick(prob(3);/obj/item/weapon/gun/projectile/sec, - prob(1);/obj/item/weapon/gun/projectile/sec/wood) + return pick(prob(3);/obj/item/gun/projectile/sec, + prob(1);/obj/item/gun/projectile/sec/wood) /obj/random/ammo name = "Random Ammunition" @@ -172,22 +172,22 @@ icon_state = "grenade_2" /obj/random/grenade/item_to_spawn() - return pick(prob(15);/obj/item/weapon/grenade/concussion, - prob(5);/obj/item/weapon/grenade/empgrenade, - prob(15);/obj/item/weapon/grenade/empgrenade/low_yield, - prob(5);/obj/item/weapon/grenade/chem_grenade/metalfoam, - prob(2);/obj/item/weapon/grenade/chem_grenade/incendiary, - prob(10);/obj/item/weapon/grenade/chem_grenade/antiweed, - prob(10);/obj/item/weapon/grenade/chem_grenade/cleaner, - prob(10);/obj/item/weapon/grenade/chem_grenade/teargas, - prob(5);/obj/item/weapon/grenade/explosive, - prob(10);/obj/item/weapon/grenade/explosive/mini, - prob(2);/obj/item/weapon/grenade/explosive/frag, - prob(15);/obj/item/weapon/grenade/flashbang, - prob(1);/obj/item/weapon/grenade/flashbang/clusterbang, //I can't not do this. - prob(15);/obj/item/weapon/grenade/shooter/rubber, - prob(10);/obj/item/weapon/grenade/shooter/energy/flash, - prob(15);/obj/item/weapon/grenade/smokebomb + return pick(prob(15);/obj/item/grenade/concussion, + prob(5);/obj/item/grenade/empgrenade, + prob(15);/obj/item/grenade/empgrenade/low_yield, + prob(5);/obj/item/grenade/chem_grenade/metalfoam, + prob(2);/obj/item/grenade/chem_grenade/incendiary, + prob(10);/obj/item/grenade/chem_grenade/antiweed, + prob(10);/obj/item/grenade/chem_grenade/cleaner, + prob(10);/obj/item/grenade/chem_grenade/teargas, + prob(5);/obj/item/grenade/explosive, + prob(10);/obj/item/grenade/explosive/mini, + prob(2);/obj/item/grenade/explosive/frag, + prob(15);/obj/item/grenade/flashbang, + prob(1);/obj/item/grenade/flashbang/clusterbang, //I can't not do this. + prob(15);/obj/item/grenade/shooter/rubber, + prob(10);/obj/item/grenade/shooter/energy/flash, + prob(15);/obj/item/grenade/smokebomb ) /obj/random/grenade/lethal @@ -196,12 +196,12 @@ icon_state = "grenade_3" /obj/random/grenade/lethal/item_to_spawn() - return pick( prob(15);/obj/item/weapon/grenade/concussion, - prob(5);/obj/item/weapon/grenade/empgrenade, - prob(2);/obj/item/weapon/grenade/chem_grenade/incendiary, - prob(5);/obj/item/weapon/grenade/explosive, - prob(10);/obj/item/weapon/grenade/explosive/mini, - prob(2);/obj/item/weapon/grenade/explosive/frag + return pick( prob(15);/obj/item/grenade/concussion, + prob(5);/obj/item/grenade/empgrenade, + prob(2);/obj/item/grenade/chem_grenade/incendiary, + prob(5);/obj/item/grenade/explosive, + prob(10);/obj/item/grenade/explosive/mini, + prob(2);/obj/item/grenade/explosive/frag ) /obj/random/grenade/less_lethal @@ -210,14 +210,14 @@ icon_state = "grenade" /obj/random/grenade/less_lethal/item_to_spawn() - return pick(prob(20);/obj/item/weapon/grenade/concussion, - prob(15);/obj/item/weapon/grenade/empgrenade/low_yield, - prob(15);/obj/item/weapon/grenade/chem_grenade/metalfoam, - prob(20);/obj/item/weapon/grenade/chem_grenade/teargas, - prob(20);/obj/item/weapon/grenade/flashbang, - prob(1);/obj/item/weapon/grenade/flashbang/clusterbang, //I *still* can't not do this. - prob(15);/obj/item/weapon/grenade/shooter/rubber, - prob(10);/obj/item/weapon/grenade/shooter/energy/flash + return pick(prob(20);/obj/item/grenade/concussion, + prob(15);/obj/item/grenade/empgrenade/low_yield, + prob(15);/obj/item/grenade/chem_grenade/metalfoam, + prob(20);/obj/item/grenade/chem_grenade/teargas, + prob(20);/obj/item/grenade/flashbang, + prob(1);/obj/item/grenade/flashbang/clusterbang, //I *still* can't not do this. + prob(15);/obj/item/grenade/shooter/rubber, + prob(10);/obj/item/grenade/shooter/energy/flash ) /obj/random/grenade/box @@ -226,14 +226,14 @@ icon_state = "grenade_box" /obj/random/grenade/box/item_to_spawn() - return pick(prob(20);/obj/item/weapon/storage/box/flashbangs, - prob(10);/obj/item/weapon/storage/box/emps, - prob(20);/obj/item/weapon/storage/box/empslite, - prob(15);/obj/item/weapon/storage/box/smokes, - prob(5);/obj/item/weapon/storage/box/anti_photons, - prob(5);/obj/item/weapon/storage/box/frags, - prob(10);/obj/item/weapon/storage/box/metalfoam, - prob(15);/obj/item/weapon/storage/box/teargas + return pick(prob(20);/obj/item/storage/box/flashbangs, + prob(10);/obj/item/storage/box/emps, + prob(20);/obj/item/storage/box/empslite, + prob(15);/obj/item/storage/box/smokes, + prob(5);/obj/item/storage/box/anti_photons, + prob(5);/obj/item/storage/box/frags, + prob(10);/obj/item/storage/box/metalfoam, + prob(15);/obj/item/storage/box/teargas ) /obj/random/projectile/random @@ -256,31 +256,31 @@ /obj/random/multiple/gun/projectile/smg/item_to_spawn() return pick( prob(3);list( - /obj/item/weapon/gun/projectile/automatic/wt550, + /obj/item/gun/projectile/automatic/wt550, /obj/item/ammo_magazine/m9mmt, /obj/item/ammo_magazine/m9mmt ), prob(3);list( - /obj/item/weapon/gun/projectile/automatic/mini_uzi, + /obj/item/gun/projectile/automatic/mini_uzi, /obj/item/ammo_magazine/m45uzi, /obj/item/ammo_magazine/m45uzi ), prob(3);list( - /obj/item/weapon/gun/projectile/automatic/tommygun, + /obj/item/gun/projectile/automatic/tommygun, /obj/item/ammo_magazine/m45tommy, /obj/item/ammo_magazine/m45tommy ), prob(2);list( - /obj/item/weapon/gun/projectile/automatic/c20r, + /obj/item/gun/projectile/automatic/c20r, /obj/item/ammo_magazine/m10mm, /obj/item/ammo_magazine/m10mm ), prob(1);list( - /obj/item/weapon/gun/projectile/automatic/p90, + /obj/item/gun/projectile/automatic/p90, /obj/item/ammo_magazine/m9mmp90 ), prob(3);list( - /obj/item/weapon/gun/projectile/automatic/combatsmg, + /obj/item/gun/projectile/automatic/combatsmg, /obj/item/ammo_magazine/m9mmt, /obj/item/ammo_magazine/m9mmt ) @@ -296,42 +296,42 @@ /obj/random/multiple/gun/projectile/rifle/item_to_spawn() return pick( prob(2);list( - /obj/item/weapon/gun/projectile/automatic/sts35, + /obj/item/gun/projectile/automatic/sts35, /obj/item/ammo_magazine/m545, /obj/item/ammo_magazine/m545 ), prob(2);list( - /obj/item/weapon/gun/projectile/automatic/z8, + /obj/item/gun/projectile/automatic/z8, /obj/item/ammo_magazine/m762, /obj/item/ammo_magazine/m762 ), prob(4);list( - /obj/item/weapon/gun/projectile/shotgun/pump/rifle, + /obj/item/gun/projectile/shotgun/pump/rifle, /obj/item/ammo_magazine/clip/c762, /obj/item/ammo_magazine/clip/c762 ), prob(3);list( - /obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever, + /obj/item/gun/projectile/shotgun/pump/rifle/lever, /obj/item/ammo_magazine/clip/c762, /obj/item/ammo_magazine/clip/c762 ), prob(1);list( - /obj/item/weapon/gun/projectile/garand, + /obj/item/gun/projectile/garand, /obj/item/ammo_magazine/m762enbloc, /obj/item/ammo_magazine/m762enbloc ), prob(1);list( - /obj/item/weapon/gun/projectile/revolvingrifle, + /obj/item/gun/projectile/revolvingrifle, /obj/item/ammo_magazine/s44/rifle, /obj/item/ammo_magazine/s44/rifle ), prob(1);list( - /obj/item/weapon/gun/projectile/automatic/bullpup, + /obj/item/gun/projectile/automatic/bullpup, /obj/item/ammo_magazine/m762, /obj/item/ammo_magazine/m762 ), prob(1);list( - /obj/item/weapon/gun/projectile/caseless/prototype, + /obj/item/gun/projectile/caseless/prototype, /obj/item/ammo_magazine/m5mmcaseless, /obj/item/ammo_magazine/m5mmcaseless ) @@ -345,124 +345,124 @@ /obj/random/multiple/gun/projectile/handgun/item_to_spawn() return pick( prob(5);list( - /obj/item/weapon/gun/projectile/colt, + /obj/item/gun/projectile/colt, /obj/item/ammo_magazine/m45, /obj/item/ammo_magazine/m45 ), prob(4);list( - /obj/item/weapon/gun/projectile/contender, + /obj/item/gun/projectile/contender, /obj/item/ammo_magazine/s357, /obj/item/ammo_magazine/s357 ), prob(3);list( - /obj/item/weapon/gun/projectile/contender/tacticool, + /obj/item/gun/projectile/contender/tacticool, /obj/item/ammo_magazine/s357, /obj/item/ammo_magazine/s357 ), prob(2);list( - /obj/item/weapon/gun/projectile/deagle, + /obj/item/gun/projectile/deagle, /obj/item/ammo_magazine/m44, /obj/item/ammo_magazine/m44 ), prob(1);list( - /obj/item/weapon/gun/projectile/deagle/camo, + /obj/item/gun/projectile/deagle/camo, /obj/item/ammo_magazine/m44, /obj/item/ammo_magazine/m44 ), prob(1);list( - /obj/item/weapon/gun/projectile/deagle/gold, + /obj/item/gun/projectile/deagle/gold, /obj/item/ammo_magazine/m44, /obj/item/ammo_magazine/m44 ), prob(4);list( - /obj/item/weapon/gun/projectile/derringer, + /obj/item/gun/projectile/derringer, /obj/item/ammo_magazine/s357, /obj/item/ammo_magazine/s357 ), prob(5);list( - /obj/item/weapon/gun/projectile/luger, + /obj/item/gun/projectile/luger, /obj/item/ammo_magazine/m9mm/luger, /obj/item/ammo_magazine/m9mm/luger ), prob(4);list( - /obj/item/weapon/gun/projectile/luger/brown, + /obj/item/gun/projectile/luger/brown, /obj/item/ammo_magazine/m9mm/compact, /obj/item/ammo_magazine/m9mm/compact ), prob(5);list( - /obj/item/weapon/gun/projectile/sec, + /obj/item/gun/projectile/sec, /obj/item/ammo_magazine/m45, /obj/item/ammo_magazine/m45 ), prob(4);list( - /obj/item/weapon/gun/projectile/sec/wood, + /obj/item/gun/projectile/sec/wood, /obj/item/ammo_magazine/m45, /obj/item/ammo_magazine/m45 ), prob(5);list( - /obj/item/weapon/gun/projectile/p92x, + /obj/item/gun/projectile/p92x, /obj/item/ammo_magazine/m9mm, /obj/item/ammo_magazine/m9mm ), prob(4);list( - /obj/item/weapon/gun/projectile/p92x/brown, + /obj/item/gun/projectile/p92x/brown, /obj/item/ammo_magazine/m9mm, /obj/item/ammo_magazine/m9mm ), prob(2);list( - /obj/item/weapon/gun/projectile/p92x/large, + /obj/item/gun/projectile/p92x/large, /obj/item/ammo_magazine/m9mm/large, /obj/item/ammo_magazine/m9mm/large ), prob(5);list( - /obj/item/weapon/gun/projectile/pistol, + /obj/item/gun/projectile/pistol, /obj/item/ammo_magazine/m9mm/compact, /obj/item/ammo_magazine/m9mm/compact ), prob(2);list( - /obj/item/weapon/gun/projectile/silenced, + /obj/item/gun/projectile/silenced, /obj/item/ammo_magazine/m45, /obj/item/ammo_magazine/m45 ), prob(2);list( - /obj/item/weapon/gun/projectile/revolver, + /obj/item/gun/projectile/revolver, /obj/item/ammo_magazine/s357, /obj/item/ammo_magazine/s357 ), prob(4);list( - /obj/item/weapon/gun/projectile/revolver/deckard, + /obj/item/gun/projectile/revolver/deckard, /obj/item/ammo_magazine/s38, /obj/item/ammo_magazine/s38 ), prob(4);list( - /obj/item/weapon/gun/projectile/revolver/detective, + /obj/item/gun/projectile/revolver/detective, /obj/item/ammo_magazine/s38, /obj/item/ammo_magazine/s38 ), prob(2);list( - /obj/item/weapon/gun/projectile/revolver/judge, + /obj/item/gun/projectile/revolver/judge, /obj/item/ammo_magazine/clip/c12g, /obj/item/ammo_magazine/clip/c12g, /obj/item/ammo_magazine/clip/c12g ), prob(2);list( - /obj/item/weapon/gun/projectile/revolver/lemat, + /obj/item/gun/projectile/revolver/lemat, /obj/item/ammo_magazine/s38, /obj/item/ammo_magazine/s38, /obj/item/ammo_magazine/clip/c12g ), prob(2);list( - /obj/item/weapon/gun/projectile/revolver/mateba, + /obj/item/gun/projectile/revolver/mateba, /obj/item/ammo_magazine/s357, /obj/item/ammo_magazine/s357 ), prob(2);list( - /obj/item/weapon/gun/projectile/revolver/webley, + /obj/item/gun/projectile/revolver/webley, /obj/item/ammo_magazine/s44, /obj/item/ammo_magazine/s44 ), prob(1);list( - /obj/item/weapon/gun/projectile/revolver/consul, + /obj/item/gun/projectile/revolver/consul, /obj/item/ammo_magazine/s44/rubber, /obj/item/ammo_magazine/s44/rubber ) @@ -476,29 +476,29 @@ /obj/random/multiple/gun/projectile/shotgun/item_to_spawn() return pick( prob(4);list( - /obj/item/weapon/gun/projectile/shotgun/doublebarrel/pellet, + /obj/item/gun/projectile/shotgun/doublebarrel/pellet, /obj/item/ammo_magazine/clip/c12g/pellet, /obj/item/ammo_magazine/clip/c12g/pellet, /obj/item/ammo_magazine/clip/c12g/pellet, /obj/item/ammo_magazine/clip/c12g/pellet ), prob(3);list( - /obj/item/weapon/gun/projectile/shotgun/doublebarrel/sawn, + /obj/item/gun/projectile/shotgun/doublebarrel/sawn, /obj/item/ammo_magazine/clip/c12g/pellet, /obj/item/ammo_magazine/clip/c12g/pellet, /obj/item/ammo_magazine/clip/c12g/pellet, /obj/item/ammo_magazine/clip/c12g/pellet ), prob(3);list( - /obj/item/weapon/gun/projectile/shotgun/pump/slug, + /obj/item/gun/projectile/shotgun/pump/slug, /obj/item/ammo_magazine/ammo_box/b12g ), prob(1);list( - /obj/item/weapon/gun/projectile/shotgun/pump/combat, + /obj/item/gun/projectile/shotgun/pump/combat, /obj/item/ammo_magazine/ammo_box/b12g ), prob(1);list( - /obj/item/weapon/gun/projectile/shotgun/semi, + /obj/item/gun/projectile/shotgun/semi, /obj/item/ammo_magazine/ammo_box/b12g ) ) @@ -529,10 +529,10 @@ /obj/random/projectile/scrapped_shotgun/item_to_spawn() return pickweight(list( - /obj/item/weapon/broken_gun/pumpshotgun = 10, - /obj/item/weapon/broken_gun/pumpshotgun_combat = 5, - /obj/item/weapon/gun/projectile/shotgun/pump = 3, - /obj/item/weapon/gun/projectile/shotgun/pump/combat = 1 + /obj/item/broken_gun/pumpshotgun = 10, + /obj/item/broken_gun/pumpshotgun_combat = 5, + /obj/item/gun/projectile/shotgun/pump = 3, + /obj/item/gun/projectile/shotgun/pump/combat = 1 )) /obj/random/projectile/scrapped_smg @@ -542,8 +542,8 @@ /obj/random/projectile/scrapped_smg/item_to_spawn() return pickweight(list( - /obj/item/weapon/broken_gun/c20r = 10, - /obj/item/weapon/gun/projectile/automatic/c20r = 3 + /obj/item/broken_gun/c20r = 10, + /obj/item/gun/projectile/automatic/c20r = 3 )) /obj/random/projectile/scrapped_pistol @@ -553,8 +553,8 @@ /obj/random/projectile/scrapped_pistol/item_to_spawn() return pickweight(list( - /obj/item/weapon/broken_gun/silenced45 = 10, - /obj/item/weapon/gun/projectile/silenced = 3 + /obj/item/broken_gun/silenced45 = 10, + /obj/item/gun/projectile/silenced = 3 )) /obj/random/projectile/scrapped_laser @@ -564,10 +564,10 @@ /obj/random/projectile/scrapped_laser/item_to_spawn() return pickweight(list( - /obj/item/weapon/broken_gun/laserrifle = 10, - /obj/item/weapon/broken_gun/laser_retro = 5, - /obj/item/weapon/gun/energy/laser = 3, - /obj/item/weapon/gun/energy/retro = 1 + /obj/item/broken_gun/laserrifle = 10, + /obj/item/broken_gun/laser_retro = 5, + /obj/item/gun/energy/laser = 3, + /obj/item/gun/energy/retro = 1 )) /obj/random/projectile/scrapped_ionrifle @@ -577,8 +577,8 @@ /obj/random/projectile/scrapped_ionrifle/item_to_spawn() return pickweight(list( - /obj/item/weapon/broken_gun/ionrifle = 10, - /obj/item/weapon/gun/energy/ionrifle = 3 + /obj/item/broken_gun/ionrifle = 10, + /obj/item/gun/energy/ionrifle = 3 )) /obj/random/projectile/scrapped_bulldog @@ -588,8 +588,8 @@ /obj/random/projectile/scrapped_bulldog/item_to_spawn() return pickweight(list( - /obj/item/weapon/broken_gun/z8 = 10, - /obj/item/weapon/gun/projectile/automatic/z8 = 3 + /obj/item/broken_gun/z8 = 10, + /obj/item/gun/projectile/automatic/z8 = 3 )) /obj/random/projectile/scrapped_flechette @@ -599,8 +599,8 @@ /obj/random/projectile/scrapped_flechette/item_to_spawn() return pickweight(list( - /obj/item/weapon/broken_gun/flechette = 10, - /obj/item/weapon/gun/magnetic/railgun/flechette = 3 + /obj/item/broken_gun/flechette = 10, + /obj/item/gun/magnetic/railgun/flechette = 3 )) /obj/random/projectile/scrapped_grenadelauncher @@ -610,8 +610,8 @@ /obj/random/projectile/scrapped_grenadelauncher/item_to_spawn() return pickweight(list( - /obj/item/weapon/broken_gun/grenadelauncher = 10, - /obj/item/weapon/gun/launcher/grenade = 3 + /obj/item/broken_gun/grenadelauncher = 10, + /obj/item/gun/launcher/grenade = 3 )) /obj/random/projectile/scrapped_dartgun @@ -621,6 +621,6 @@ /obj/random/projectile/scrapped_dartgun/item_to_spawn() return pickweight(list( - /obj/item/weapon/broken_gun/dartgun = 10, - /obj/item/weapon/gun/projectile/dartgun = 3 + /obj/item/broken_gun/dartgun = 10, + /obj/item/gun/projectile/dartgun = 3 )) diff --git a/code/game/objects/random/maintenance.dm b/code/game/objects/random/maintenance.dm index 5f8c18a0af3..268cf07f7cd 100644 --- a/code/game/objects/random/maintenance.dm +++ b/code/game/objects/random/maintenance.dm @@ -26,37 +26,37 @@ something, make sure it's not in one of the other lists.*/ /obj/random/maintenance/clean/item_to_spawn() return pick(prob(10);/obj/random/contraband, - prob(2);/obj/item/device/flashlight/flare, - prob(2);/obj/item/device/flashlight/glowstick, - prob(2);/obj/item/device/flashlight/glowstick/blue, - prob(1);/obj/item/device/flashlight/glowstick/orange, - prob(1);/obj/item/device/flashlight/glowstick/red, - prob(1);/obj/item/device/flashlight/glowstick/yellow, - prob(1);/obj/item/device/flashlight/pen, - prob(4);/obj/item/weapon/cell, - prob(4);/obj/item/weapon/cell/device, - prob(3);/obj/item/weapon/cell/high, - prob(2);/obj/item/weapon/cell/super, + prob(2);/obj/item/flashlight/flare, + prob(2);/obj/item/flashlight/glowstick, + prob(2);/obj/item/flashlight/glowstick/blue, + prob(1);/obj/item/flashlight/glowstick/orange, + prob(1);/obj/item/flashlight/glowstick/red, + prob(1);/obj/item/flashlight/glowstick/yellow, + prob(1);/obj/item/flashlight/pen, + prob(4);/obj/item/cell, + prob(4);/obj/item/cell/device, + prob(3);/obj/item/cell/high, + prob(2);/obj/item/cell/super, prob(5);/obj/random/cigarettes, prob(3);/obj/item/clothing/mask/gas, prob(2);/obj/item/clothing/mask/gas/half, prob(4);/obj/item/clothing/mask/breath, - prob(2);/obj/item/weapon/reagent_containers/glass/rag, - prob(4);/obj/item/weapon/reagent_containers/food/snacks/liquidfood, - prob(2);/obj/item/weapon/storage/secure/briefcase, - prob(4);/obj/item/weapon/storage/briefcase, - prob(5);/obj/item/weapon/storage/backpack, - prob(5);/obj/item/weapon/storage/backpack/satchel/norm, - prob(4);/obj/item/weapon/storage/backpack/satchel, - prob(3);/obj/item/weapon/storage/backpack/dufflebag, - prob(1);/obj/item/weapon/storage/backpack/dufflebag/syndie, - prob(5);/obj/item/weapon/storage/box, - prob(3);/obj/item/weapon/storage/box/donkpockets, - prob(2);/obj/item/weapon/storage/box/sinpockets, - prob(1);/obj/item/weapon/storage/box/cups, - prob(3);/obj/item/weapon/storage/box/mousetraps, - prob(3);/obj/item/weapon/storage/wallet, - prob(1);/obj/item/device/paicard, + prob(2);/obj/item/reagent_containers/glass/rag, + prob(4);/obj/item/reagent_containers/food/snacks/liquidfood, + prob(2);/obj/item/storage/secure/briefcase, + prob(4);/obj/item/storage/briefcase, + prob(5);/obj/item/storage/backpack, + prob(5);/obj/item/storage/backpack/satchel/norm, + prob(4);/obj/item/storage/backpack/satchel, + prob(3);/obj/item/storage/backpack/dufflebag, + prob(1);/obj/item/storage/backpack/dufflebag/syndie, + prob(5);/obj/item/storage/box, + prob(3);/obj/item/storage/box/donkpockets, + prob(2);/obj/item/storage/box/sinpockets, + prob(1);/obj/item/storage/box/cups, + prob(3);/obj/item/storage/box/mousetraps, + prob(3);/obj/item/storage/wallet, + prob(1);/obj/item/paicard, prob(2);/obj/item/clothing/shoes/galoshes, prob(1);/obj/item/clothing/shoes/syndigaloshes, prob(4);/obj/item/clothing/shoes/black, @@ -96,15 +96,15 @@ something, make sure it's not in one of the other lists.*/ prob(1);/obj/item/clothing/under/harness, prob(1);/obj/item/clothing/under/tactical, prob(3);/obj/item/clothing/accessory/storage/webbing, - prob(3);/obj/item/weapon/camera_assembly, + prob(3);/obj/item/camera_assembly, prob(4);/obj/item/clothing/suit/caution, prob(3);/obj/item/clothing/head/cone, - prob(1);/obj/item/weapon/card/emag_broken, - prob(2);/obj/item/device/camera, - prob(3);/obj/item/device/pda, - prob(3);/obj/item/device/radio/headset, + prob(1);/obj/item/card/emag_broken, + prob(2);/obj/item/camera, + prob(3);/obj/item/pda, + prob(3);/obj/item/radio/headset, /* VOREStation Edit Start */ - prob(3);/obj/item/weapon/toy/monster_bait, + prob(3);/obj/item/toy/monster_bait, prob(2);/obj/item/toy/tennis, prob(2);/obj/item/toy/tennis/red, prob(2);/obj/item/toy/tennis/yellow, @@ -114,9 +114,11 @@ something, make sure it's not in one of the other lists.*/ prob(2);/obj/item/toy/tennis/purple, prob(1);/obj/item/toy/baseball, prob(1);/obj/item/pizzavoucher, - prob(5);/obj/item/weapon/material/fishing_net/butterfly_net, - prob(2);/obj/item/weapon/cracker, - prob(5);/obj/random/mega_nukies + prob(5);/obj/item/material/fishing_net/butterfly_net, + prob(2);/obj/item/cracker, + prob(5);/obj/random/mega_nukies, + prob(1);/obj/random/potion_ingredient/plus, + prob(2);/obj/random/translator /* VOREStation Edit End */ ) @@ -128,24 +130,24 @@ something, make sure it's not in one of the other lists.*/ /obj/random/maintenance/security/item_to_spawn() return pick(prob(320);/obj/random/maintenance/clean, - prob(2);/obj/item/device/flashlight/maglight, - prob(2);/obj/item/device/flash, - prob(1);/obj/item/weapon/cell/device/weapon, + prob(2);/obj/item/flashlight/maglight, + prob(2);/obj/item/flash, + prob(1);/obj/item/cell/device/weapon, prob(1);/obj/item/clothing/mask/gas/swat, prob(1);/obj/item/clothing/mask/gas/syndicate, prob(2);/obj/item/clothing/mask/balaclava, prob(1);/obj/item/clothing/mask/balaclava/tactical, - prob(3);/obj/item/weapon/storage/backpack/security, - prob(3);/obj/item/weapon/storage/backpack/satchel/sec, - prob(2);/obj/item/weapon/storage/backpack/messenger/sec, - prob(2);/obj/item/weapon/storage/backpack/dufflebag/sec, - prob(1);/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, - prob(1);/obj/item/weapon/storage/backpack/dufflebag/syndie/med, - prob(2);/obj/item/weapon/storage/box/swabs, - prob(2);/obj/item/weapon/storage/belt/security, - prob(1);/obj/item/weapon/grenade/flashbang, - prob(1);/obj/item/weapon/melee/baton, - prob(1);/obj/item/weapon/reagent_containers/spray/pepper, + prob(3);/obj/item/storage/backpack/security, + prob(3);/obj/item/storage/backpack/satchel/sec, + prob(2);/obj/item/storage/backpack/messenger/sec, + prob(2);/obj/item/storage/backpack/dufflebag/sec, + prob(1);/obj/item/storage/backpack/dufflebag/syndie/ammo, + prob(1);/obj/item/storage/backpack/dufflebag/syndie/med, + prob(2);/obj/item/storage/box/swabs, + prob(2);/obj/item/storage/belt/security, + prob(1);/obj/item/grenade/flashbang, + prob(1);/obj/item/melee/baton, + prob(1);/obj/item/reagent_containers/spray/pepper, prob(3);/obj/item/clothing/shoes/boots/jackboots, prob(1);/obj/item/clothing/shoes/boots/swat, prob(1);/obj/item/clothing/shoes/boots/combat, @@ -174,7 +176,7 @@ something, make sure it's not in one of the other lists.*/ prob(1);/obj/item/clothing/accessory/holster/waist, prob(1);/obj/item/clothing/accessory/holster/armpit, prob(2);/obj/item/clothing/ears/earmuffs, - prob(2);/obj/item/weapon/handcuffs,) + prob(2);/obj/item/handcuffs,) /obj/random/maintenance/medical /*Maintenance loot list. This one is for around medical areas*/ @@ -187,18 +189,18 @@ something, make sure it's not in one of the other lists.*/ prob(25);/obj/random/medical/lite, prob(2);/obj/item/clothing/mask/breath/medical, prob(2);/obj/item/clothing/mask/surgical, - prob(5);/obj/item/weapon/storage/backpack/medic, - prob(5);/obj/item/weapon/storage/backpack/satchel/med, - prob(5);/obj/item/weapon/storage/backpack/messenger/med, - prob(3);/obj/item/weapon/storage/backpack/dufflebag/med, - prob(1);/obj/item/weapon/storage/backpack/dufflebag/syndie/med, - prob(2);/obj/item/weapon/storage/box/autoinjectors, - prob(3);/obj/item/weapon/storage/box/beakers, - prob(2);/obj/item/weapon/storage/box/bodybags, - prob(3);/obj/item/weapon/storage/box/syringes, - prob(3);/obj/item/weapon/storage/box/gloves, - prob(2);/obj/item/weapon/storage/belt/medical/emt, - prob(2);/obj/item/weapon/storage/belt/medical, + prob(5);/obj/item/storage/backpack/medic, + prob(5);/obj/item/storage/backpack/satchel/med, + prob(5);/obj/item/storage/backpack/messenger/med, + prob(3);/obj/item/storage/backpack/dufflebag/med, + prob(1);/obj/item/storage/backpack/dufflebag/syndie/med, + prob(2);/obj/item/storage/box/autoinjectors, + prob(3);/obj/item/storage/box/beakers, + prob(2);/obj/item/storage/box/bodybags, + prob(3);/obj/item/storage/box/syringes, + prob(3);/obj/item/storage/box/gloves, + prob(2);/obj/item/storage/belt/medical/emt, + prob(2);/obj/item/storage/belt/medical, prob(1);/obj/item/clothing/shoes/boots/combat, prob(3);/obj/item/clothing/shoes/white, prob(2);/obj/item/clothing/gloves/sterile/nitrile, @@ -223,17 +225,17 @@ something, make sure it's not in one of the other lists.*/ /obj/random/maintenance/engineering/item_to_spawn() return pick(prob(320);/obj/random/maintenance/clean, - prob(2);/obj/item/device/flashlight/maglight, + prob(2);/obj/item/flashlight/maglight, prob(3);/obj/item/clothing/mask/gas/half, prob(2);/obj/item/clothing/mask/balaclava, - prob(2);/obj/item/weapon/storage/briefcase/inflatable, - prob(5);/obj/item/weapon/storage/backpack/industrial, - prob(5);/obj/item/weapon/storage/backpack/satchel/eng, - prob(5);/obj/item/weapon/storage/backpack/messenger/engi, - prob(3);/obj/item/weapon/storage/backpack/dufflebag/eng, - prob(5);/obj/item/weapon/storage/box, - prob(2);/obj/item/weapon/storage/belt/utility/full, - prob(3);/obj/item/weapon/storage/belt/utility, + prob(2);/obj/item/storage/briefcase/inflatable, + prob(5);/obj/item/storage/backpack/industrial, + prob(5);/obj/item/storage/backpack/satchel/eng, + prob(5);/obj/item/storage/backpack/messenger/engi, + prob(3);/obj/item/storage/backpack/dufflebag/eng, + prob(5);/obj/item/storage/box, + prob(2);/obj/item/storage/belt/utility/full, + prob(3);/obj/item/storage/belt/utility, prob(3);/obj/item/clothing/head/beret/engineering, prob(3);/obj/item/clothing/head/soft/yellow, prob(2);/obj/item/clothing/head/orangebandana, @@ -249,8 +251,8 @@ something, make sure it's not in one of the other lists.*/ prob(2);/obj/item/clothing/accessory/storage/brown_vest, prob(1);/obj/item/clothing/accessory/storage/brown_drop_pouches, prob(3);/obj/item/clothing/ears/earmuffs, - prob(1);/obj/item/weapon/beartrap, - prob(2);/obj/item/weapon/handcuffs) + prob(1);/obj/item/beartrap, + prob(2);/obj/item/handcuffs) /obj/random/maintenance/research /*Maintenance loot list. This one is for around medical areas*/ @@ -260,18 +262,18 @@ something, make sure it's not in one of the other lists.*/ /obj/random/maintenance/research/item_to_spawn() return pick(prob(320);/obj/random/maintenance/clean, - prob(3);/obj/item/device/analyzer/plant_analyzer, - prob(1);/obj/item/device/flash/synthetic, - prob(2);/obj/item/weapon/bucket_sensor, - prob(1);/obj/item/weapon/cell/device/weapon, - prob(5);/obj/item/weapon/storage/backpack/toxins, - prob(5);/obj/item/weapon/storage/backpack/satchel/tox, - prob(5);/obj/item/weapon/storage/backpack/messenger/tox, - prob(2);/obj/item/weapon/storage/excavation, - prob(1);/obj/item/weapon/storage/backpack/holding, - prob(3);/obj/item/weapon/storage/box/beakers, - prob(3);/obj/item/weapon/storage/box/syringes, - prob(3);/obj/item/weapon/storage/box/gloves, + prob(3);/obj/item/analyzer/plant_analyzer, + prob(1);/obj/item/flash/synthetic, + prob(2);/obj/item/bucket_sensor, + prob(1);/obj/item/cell/device/weapon, + prob(5);/obj/item/storage/backpack/toxins, + prob(5);/obj/item/storage/backpack/satchel/tox, + prob(5);/obj/item/storage/backpack/messenger/tox, + prob(2);/obj/item/storage/excavation, + prob(1);/obj/item/storage/backpack/holding, + prob(3);/obj/item/storage/box/beakers, + prob(3);/obj/item/storage/box/syringes, + prob(3);/obj/item/storage/box/gloves, prob(2);/obj/item/clothing/gloves/sterile/latex, prob(4);/obj/item/clothing/glasses/science, prob(3);/obj/item/clothing/glasses/material, @@ -290,18 +292,18 @@ something, make sure it's not in one of the other lists.*/ /obj/random/maintenance/cargo/item_to_spawn() return pick(prob(320);/obj/random/maintenance/clean, - prob(3);/obj/item/device/flashlight/lantern, - prob(4);/obj/item/weapon/pickaxe, - prob(3);/obj/item/weapon/pickaxe/drill, - prob(5);/obj/item/weapon/storage/backpack/industrial, - prob(5);/obj/item/weapon/storage/backpack/satchel/norm, - prob(3);/obj/item/weapon/storage/backpack/dufflebag, - prob(1);/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, - prob(1);/obj/item/weapon/storage/toolbox/syndicate, - prob(1);/obj/item/weapon/storage/belt/utility/full, - prob(2);/obj/item/weapon/storage/belt/utility, - prob(4);/obj/item/device/toner, - prob(1);/obj/item/device/destTagger, + prob(3);/obj/item/flashlight/lantern, + prob(4);/obj/item/pickaxe, + prob(3);/obj/item/pickaxe/drill, + prob(5);/obj/item/storage/backpack/industrial, + prob(5);/obj/item/storage/backpack/satchel/norm, + prob(3);/obj/item/storage/backpack/dufflebag, + prob(1);/obj/item/storage/backpack/dufflebag/syndie/ammo, + prob(1);/obj/item/storage/toolbox/syndicate, + prob(1);/obj/item/storage/belt/utility/full, + prob(2);/obj/item/storage/belt/utility, + prob(4);/obj/item/toner, + prob(1);/obj/item/destTagger, prob(3);/obj/item/clothing/glasses/material, prob(3);/obj/item/clothing/head/soft/yellow, prob(4);/obj/item/clothing/suit/storage/hazardvest, @@ -312,5 +314,5 @@ something, make sure it's not in one of the other lists.*/ prob(2);/obj/item/clothing/accessory/storage/black_vest, prob(2);/obj/item/clothing/accessory/storage/brown_vest, prob(3);/obj/item/clothing/ears/earmuffs, - prob(1);/obj/item/weapon/beartrap, - prob(2);/obj/item/weapon/handcuffs,) + prob(1);/obj/item/beartrap, + prob(2);/obj/item/handcuffs,) diff --git a/code/game/objects/random/mapping.dm b/code/game/objects/random/mapping.dm index 7379db9268f..ebda5de2c2c 100644 --- a/code/game/objects/random/mapping.dm +++ b/code/game/objects/random/mapping.dm @@ -172,42 +172,42 @@ desc = "This is a random can of (legal) Nukies Energy Drink." /obj/random/nukies_can_legal/item_to_spawn() - return pick(/obj/item/weapon/reagent_containers/food/drinks/cans/nukie_peach, - /obj/item/weapon/reagent_containers/food/drinks/cans/nukie_pear, - /obj/item/weapon/reagent_containers/food/drinks/cans/nukie_cherry, - /obj/item/weapon/reagent_containers/food/drinks/cans/nukie_melon, - /obj/item/weapon/reagent_containers/food/drinks/cans/nukie_banana, - /obj/item/weapon/reagent_containers/food/drinks/cans/nukie_rose, - /obj/item/weapon/reagent_containers/food/drinks/cans/nukie_lemon, - /obj/item/weapon/reagent_containers/food/drinks/cans/nukie_fruit, - /obj/item/weapon/reagent_containers/food/drinks/cans/nukie_special) + return pick(/obj/item/reagent_containers/food/drinks/cans/nukie_peach, + /obj/item/reagent_containers/food/drinks/cans/nukie_pear, + /obj/item/reagent_containers/food/drinks/cans/nukie_cherry, + /obj/item/reagent_containers/food/drinks/cans/nukie_melon, + /obj/item/reagent_containers/food/drinks/cans/nukie_banana, + /obj/item/reagent_containers/food/drinks/cans/nukie_rose, + /obj/item/reagent_containers/food/drinks/cans/nukie_lemon, + /obj/item/reagent_containers/food/drinks/cans/nukie_fruit, + /obj/item/reagent_containers/food/drinks/cans/nukie_special) /obj/random/desatti_snacks name = "Random Desatti Snacks" desc = "This is a random Desatti Catering snack." /obj/random/desatti_snacks/item_to_spawn() - return pick(/obj/item/weapon/storage/box/jaffacake, - /obj/item/weapon/storage/box/winegum, - /obj/item/weapon/storage/box/saucer, - /obj/item/weapon/storage/box/shrimpsandbananas, - /obj/item/weapon/storage/box/rhubarbcustard, - /obj/item/weapon/storage/box/custardcream, - /obj/item/weapon/storage/box/bourbon, - /obj/item/weapon/reagent_containers/food/snacks/packaged/sausageroll, - /obj/item/weapon/reagent_containers/food/snacks/packaged/pasty, - /obj/item/weapon/reagent_containers/food/snacks/packaged/scotchegg, - /obj/item/weapon/reagent_containers/food/snacks/packaged/porkpie) + return pick(/obj/item/storage/box/jaffacake, + /obj/item/storage/box/winegum, + /obj/item/storage/box/saucer, + /obj/item/storage/box/shrimpsandbananas, + /obj/item/storage/box/rhubarbcustard, + /obj/item/storage/box/custardcream, + /obj/item/storage/box/bourbon, + /obj/item/reagent_containers/food/snacks/packaged/sausageroll, + /obj/item/reagent_containers/food/snacks/packaged/pasty, + /obj/item/reagent_containers/food/snacks/packaged/scotchegg, + /obj/item/reagent_containers/food/snacks/packaged/porkpie) /obj/random_multi/single_item/captains_spare_id name = "Multi Point - Captain's Spare" id = "Captain's spare id" - item_path = /obj/item/weapon/card/id/gold/captain/spare + item_path = /obj/item/card/id/gold/captain/spare /obj/random_multi/single_item/hand_tele name = "Multi Point - Hand Teleporter" id = "hand tele" - item_path = /obj/item/weapon/hand_tele + item_path = /obj/item/hand_tele /obj/random_multi/single_item/sfr_headset name = "Multi Point - headset" @@ -222,10 +222,10 @@ icon_state = "rup" /obj/random/sfr/item_to_spawn() - return pick(prob(25);/obj/item/device/radio/headset/heads/captain/sfr, - prob(25);/obj/item/device/radio/headset/headset_cargo/alt, - prob(25);/obj/item/device/radio/headset/headset_com/alt, - prob(25);/obj/item/device/radio/headset) + return pick(prob(25);/obj/item/radio/headset/heads/captain/sfr, + prob(25);/obj/item/radio/headset/alt/cargo, + prob(25);/obj/item/radio/headset/alt/headset_com, + prob(25);/obj/item/radio/headset) // Mining Goodies /obj/random/multiple/minevault @@ -238,73 +238,73 @@ return pick( prob(5);list( /obj/item/clothing/mask/smokable/pipe, - /obj/item/weapon/reagent_containers/food/drinks/bottle/rum, - /obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey, - /obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus, - /obj/item/weapon/flame/lighter/zippo, + /obj/item/reagent_containers/food/drinks/bottle/rum, + /obj/item/reagent_containers/food/drinks/bottle/whiskey, + /obj/item/reagent_containers/food/snacks/grown/ambrosiadeus, + /obj/item/flame/lighter/zippo, /obj/structure/closet/crate/hydroponics ), prob(5);list( - /obj/item/weapon/pickaxe, + /obj/item/pickaxe, /obj/item/clothing/under/rank/miner, /obj/item/clothing/head/hardhat, /obj/structure/closet/crate/engineering ), prob(5);list( - /obj/item/weapon/pickaxe/drill, + /obj/item/pickaxe/drill, /obj/item/clothing/suit/space/void/mining, /obj/item/clothing/head/helmet/space/void/mining, /obj/structure/closet/crate/engineering ), prob(5);list( - /obj/item/weapon/pickaxe/advdrill, + /obj/item/pickaxe/advdrill, /obj/item/clothing/suit/space/void/mining/alt, /obj/item/clothing/head/helmet/space/void/mining/alt, /obj/structure/closet/crate/engineering ), prob(5);list( - /obj/item/weapon/reagent_containers/glass/beaker/bluespace, - /obj/item/weapon/reagent_containers/glass/beaker/bluespace, - /obj/item/weapon/reagent_containers/glass/beaker/bluespace, + /obj/item/reagent_containers/glass/beaker/bluespace, + /obj/item/reagent_containers/glass/beaker/bluespace, + /obj/item/reagent_containers/glass/beaker/bluespace, /obj/structure/closet/crate/science ), prob(5);list( - /obj/item/weapon/ore/diamond, - /obj/item/weapon/ore/diamond, - /obj/item/weapon/ore/diamond, - /obj/item/weapon/ore/diamond, - /obj/item/weapon/ore/diamond, - /obj/item/weapon/ore/diamond, - /obj/item/weapon/ore/diamond, - /obj/item/weapon/ore/diamond, - /obj/item/weapon/ore/diamond, - /obj/item/weapon/ore/diamond, - /obj/item/weapon/ore/gold, - /obj/item/weapon/ore/gold, - /obj/item/weapon/ore/gold, - /obj/item/weapon/ore/gold, - /obj/item/weapon/ore/gold, - /obj/item/weapon/ore/gold, - /obj/item/weapon/ore/gold, - /obj/item/weapon/ore/gold, - /obj/item/weapon/ore/gold, - /obj/item/weapon/ore/gold, + /obj/item/ore/diamond, + /obj/item/ore/diamond, + /obj/item/ore/diamond, + /obj/item/ore/diamond, + /obj/item/ore/diamond, + /obj/item/ore/diamond, + /obj/item/ore/diamond, + /obj/item/ore/diamond, + /obj/item/ore/diamond, + /obj/item/ore/diamond, + /obj/item/ore/gold, + /obj/item/ore/gold, + /obj/item/ore/gold, + /obj/item/ore/gold, + /obj/item/ore/gold, + /obj/item/ore/gold, + /obj/item/ore/gold, + /obj/item/ore/gold, + /obj/item/ore/gold, + /obj/item/ore/gold, /obj/structure/closet/crate/engineering ), prob(5);list( - /obj/item/weapon/pickaxe, + /obj/item/pickaxe, /obj/item/clothing/glasses/material, /obj/structure/ore_box, /obj/structure/closet/crate ), prob(5);list( - /obj/item/weapon/reagent_containers/glass/beaker/noreact, - /obj/item/weapon/reagent_containers/glass/beaker/noreact, - /obj/item/weapon/reagent_containers/glass/beaker/noreact, + /obj/item/reagent_containers/glass/beaker/noreact, + /obj/item/reagent_containers/glass/beaker/noreact, + /obj/item/reagent_containers/glass/beaker/noreact, /obj/structure/closet/crate/science ), prob(5);list( - /obj/item/weapon/storage/secure/briefcase/money, + /obj/item/storage/secure/briefcase/money, /obj/structure/closet/crate/freezer/rations ), prob(5);list( @@ -317,10 +317,10 @@ /obj/structure/closet/crate ), prob(5);list( - /obj/item/weapon/melee/baton, - /obj/item/weapon/melee/baton, - /obj/item/weapon/melee/baton, - /obj/item/weapon/melee/baton, + /obj/item/melee/baton, + /obj/item/melee/baton, + /obj/item/melee/baton, + /obj/item/melee/baton, /obj/structure/closet/crate ), prob(5);list( @@ -329,10 +329,10 @@ /obj/structure/closet/crate ), prob(2);list( - /obj/item/weapon/melee/baton/cattleprod, - /obj/item/weapon/melee/baton/cattleprod, - /obj/item/weapon/cell/high, - /obj/item/weapon/cell/high, + /obj/item/melee/baton/cattleprod, + /obj/item/melee/baton/cattleprod, + /obj/item/cell/high, + /obj/item/cell/high, /obj/structure/closet/crate ), prob(2);list( @@ -346,8 +346,8 @@ /obj/structure/closet/crate ), prob(2);list( - /obj/item/weapon/rig/industrial/equipped, - /obj/item/weapon/storage/bag/ore, + /obj/item/rig/industrial/equipped, + /obj/item/storage/bag/ore, /obj/structure/closet/crate/engineering ), prob(2);list( @@ -375,8 +375,8 @@ /obj/item/clothing/head/helmet/space/syndicate/black/red, /obj/item/clothing/suit/space/syndicate/black/red, /obj/item/clothing/head/helmet/space/syndicate/black/red, - /obj/item/weapon/gun/projectile/automatic/mini_uzi, - /obj/item/weapon/gun/projectile/automatic/mini_uzi, + /obj/item/gun/projectile/automatic/mini_uzi, + /obj/item/gun/projectile/automatic/mini_uzi, /obj/item/ammo_magazine/m45uzi, /obj/item/ammo_magazine/m45uzi, /obj/item/ammo_magazine/m45uzi/empty, @@ -386,14 +386,14 @@ prob(2);list( /obj/item/clothing/suit/ianshirt, /obj/item/clothing/suit/ianshirt, - /obj/item/weapon/bedsheet/ian, + /obj/item/bedsheet/ian, /obj/structure/closet/crate/plastic ), prob(2);list( /obj/item/clothing/suit/armor/vest, /obj/item/clothing/suit/armor/vest, - /obj/item/weapon/gun/projectile/garand, - /obj/item/weapon/gun/projectile/garand, + /obj/item/gun/projectile/garand, + /obj/item/gun/projectile/garand, /obj/item/ammo_magazine/m762enbloc, /obj/item/ammo_magazine/m762enbloc, /obj/structure/closet/crate/plastic @@ -405,63 +405,63 @@ /obj/mecha/working/hoverpod/combatpod ), prob(2);list( - /obj/item/weapon/pickaxe/silver, - /obj/item/weapon/storage/bag/ore, + /obj/item/pickaxe/silver, + /obj/item/storage/bag/ore, /obj/item/clothing/glasses/material, /obj/structure/closet/crate/engineering ), prob(2);list( - /obj/item/weapon/pickaxe/advdrill, - /obj/item/weapon/storage/bag/ore, + /obj/item/pickaxe/advdrill, + /obj/item/storage/bag/ore, /obj/item/clothing/glasses/material, /obj/structure/closet/crate/engineering ), prob(2);list( - /obj/item/weapon/pickaxe/jackhammer, - /obj/item/weapon/storage/bag/ore, + /obj/item/pickaxe/jackhammer, + /obj/item/storage/bag/ore, /obj/item/clothing/glasses/material, /obj/structure/closet/crate/engineering ), prob(2);list( - /obj/item/weapon/pickaxe/diamond, - /obj/item/weapon/storage/bag/ore, + /obj/item/pickaxe/diamond, + /obj/item/storage/bag/ore, /obj/item/clothing/glasses/material, /obj/structure/closet/crate/engineering ), prob(2);list( - /obj/item/weapon/pickaxe/diamonddrill, - /obj/item/weapon/storage/bag/ore, + /obj/item/pickaxe/diamonddrill, + /obj/item/storage/bag/ore, /obj/item/clothing/glasses/material, /obj/structure/closet/crate/engineering ), prob(2);list( - /obj/item/weapon/pickaxe/gold, - /obj/item/weapon/storage/bag/ore, + /obj/item/pickaxe/gold, + /obj/item/storage/bag/ore, /obj/item/clothing/glasses/material, /obj/structure/closet/crate/engineering ), prob(2);list( - /obj/item/weapon/pickaxe/plasmacutter, - /obj/item/weapon/storage/bag/ore, + /obj/item/pickaxe/plasmacutter, + /obj/item/storage/bag/ore, /obj/item/clothing/glasses/material, /obj/structure/closet/crate/engineering ), prob(2);list( - /obj/item/weapon/material/sword/katana, - /obj/item/weapon/material/sword/katana, + /obj/item/material/sword/katana, + /obj/item/material/sword/katana, /obj/structure/closet/crate ), prob(2);list( - /obj/item/weapon/material/sword, - /obj/item/weapon/material/sword, + /obj/item/material/sword, + /obj/item/material/sword, /obj/structure/closet/crate ), prob(1);list( /obj/item/clothing/mask/balaclava, - /obj/item/weapon/material/star, - /obj/item/weapon/material/star, - /obj/item/weapon/material/star, - /obj/item/weapon/material/star, + /obj/item/material/star, + /obj/item/material/star, + /obj/item/material/star, + /obj/item/material/star, /obj/structure/closet/crate ), prob(1);list( @@ -473,65 +473,65 @@ /obj/item/clothing/head/bearpelt, /obj/item/clothing/under/soviet, /obj/item/clothing/under/soviet, - /obj/item/weapon/gun/projectile/shotgun/pump/rifle/ceremonial, - /obj/item/weapon/gun/projectile/shotgun/pump/rifle/ceremonial, + /obj/item/gun/projectile/shotgun/pump/rifle/ceremonial, + /obj/item/gun/projectile/shotgun/pump/rifle/ceremonial, /obj/structure/closet/crate ), prob(1);list( - /obj/item/weapon/gun/projectile/revolver/detective, - /obj/item/weapon/gun/projectile/contender, - /obj/item/weapon/gun/projectile/p92x, - /obj/item/weapon/gun/projectile/derringer, + /obj/item/gun/projectile/revolver/detective, + /obj/item/gun/projectile/contender, + /obj/item/gun/projectile/p92x, + /obj/item/gun/projectile/derringer, /obj/structure/closet/crate ), prob(1);list( - /obj/item/weapon/melee/cultblade, + /obj/item/melee/cultblade, /obj/item/clothing/suit/cultrobes, /obj/item/clothing/head/culthood, - /obj/item/device/soulstone, + /obj/item/soulstone, /obj/structure/closet/crate ), prob(1);list( - /obj/item/weapon/vampiric, - /obj/item/weapon/vampiric, + /obj/item/vampiric, + /obj/item/vampiric, /obj/structure/closet/crate/science ), prob(1);list( - /obj/item/weapon/archaeological_find + /obj/item/archaeological_find ), prob(1);list( - /obj/item/weapon/melee/energy/sword, - /obj/item/weapon/melee/energy/sword, - /obj/item/weapon/melee/energy/sword, - /obj/item/weapon/shield/energy, - /obj/item/weapon/shield/energy, + /obj/item/melee/energy/sword, + /obj/item/melee/energy/sword, + /obj/item/melee/energy/sword, + /obj/item/shield/energy, + /obj/item/shield/energy, /obj/structure/closet/crate/science ), prob(1);list( - /obj/item/weapon/storage/backpack/clown, + /obj/item/storage/backpack/clown, /obj/item/clothing/under/rank/clown, /obj/item/clothing/shoes/clown_shoes, - /obj/item/device/pda/clown, + /obj/item/pda/clown, /obj/item/clothing/mask/gas/clown_hat, - /obj/item/weapon/bikehorn, - /obj/item/weapon/reagent_containers/spray/waterflower, - /obj/item/weapon/pen/crayon/rainbow, + /obj/item/bikehorn, + /obj/item/reagent_containers/spray/waterflower, + /obj/item/pen/crayon/rainbow, /obj/structure/closet/crate ), prob(1);list( /obj/item/clothing/under/mime, /obj/item/clothing/shoes/black, - /obj/item/device/pda/mime, + /obj/item/pda/mime, /obj/item/clothing/gloves/white, /obj/item/clothing/mask/gas/mime, /obj/item/clothing/head/beret, /obj/item/clothing/suit/suspenders, - /obj/item/weapon/pen/crayon/mime, - /obj/item/weapon/reagent_containers/food/drinks/bottle/bottleofnothing, + /obj/item/pen/crayon/mime, + /obj/item/reagent_containers/food/drinks/bottle/bottleofnothing, /obj/structure/closet/crate ), prob(1);list( - /obj/item/weapon/storage/belt/champion, + /obj/item/storage/belt/champion, /obj/item/clothing/mask/luchador, /obj/item/clothing/mask/luchador/rudos, /obj/item/clothing/mask/luchador/tecnicos, @@ -558,143 +558,143 @@ /obj/random/multiple/ore_pile/item_to_spawn() return pick( /*prob(10);list( - /obj/item/weapon/ore/bauxite, - /obj/item/weapon/ore/bauxite, - /obj/item/weapon/ore/bauxite, - /obj/item/weapon/ore/bauxite, - /obj/item/weapon/ore/bauxite, - /obj/item/weapon/ore/bauxite, - /obj/item/weapon/ore/bauxite, - /obj/item/weapon/ore/bauxite, - /obj/item/weapon/ore/bauxite, - /obj/item/weapon/ore/bauxite + /obj/item/ore/bauxite, + /obj/item/ore/bauxite, + /obj/item/ore/bauxite, + /obj/item/ore/bauxite, + /obj/item/ore/bauxite, + /obj/item/ore/bauxite, + /obj/item/ore/bauxite, + /obj/item/ore/bauxite, + /obj/item/ore/bauxite, + /obj/item/ore/bauxite ),*/ prob(10);list( - /obj/item/weapon/ore/coal, - /obj/item/weapon/ore/coal, - /obj/item/weapon/ore/coal, - /obj/item/weapon/ore/coal, - /obj/item/weapon/ore/coal, - /obj/item/weapon/ore/coal, - /obj/item/weapon/ore/coal, - /obj/item/weapon/ore/coal, - /obj/item/weapon/ore/coal, - /obj/item/weapon/ore/coal + /obj/item/ore/coal, + /obj/item/ore/coal, + /obj/item/ore/coal, + /obj/item/ore/coal, + /obj/item/ore/coal, + /obj/item/ore/coal, + /obj/item/ore/coal, + /obj/item/ore/coal, + /obj/item/ore/coal, + /obj/item/ore/coal ), /*prob(10);list( - /obj/item/weapon/ore/copper, - /obj/item/weapon/ore/copper, - /obj/item/weapon/ore/copper, - /obj/item/weapon/ore/copper, - /obj/item/weapon/ore/copper, - /obj/item/weapon/ore/copper, - /obj/item/weapon/ore/copper, - /obj/item/weapon/ore/copper, - /obj/item/weapon/ore/copper, - /obj/item/weapon/ore/copper + /obj/item/ore/copper, + /obj/item/ore/copper, + /obj/item/ore/copper, + /obj/item/ore/copper, + /obj/item/ore/copper, + /obj/item/ore/copper, + /obj/item/ore/copper, + /obj/item/ore/copper, + /obj/item/ore/copper, + /obj/item/ore/copper ),*/ prob(3);list( - /obj/item/weapon/ore/diamond, - /obj/item/weapon/ore/diamond, - /obj/item/weapon/ore/diamond + /obj/item/ore/diamond, + /obj/item/ore/diamond, + /obj/item/ore/diamond ), prob(15);list( - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/glass + /obj/item/ore/glass, + /obj/item/ore/glass, + /obj/item/ore/glass, + /obj/item/ore/glass, + /obj/item/ore/glass, + /obj/item/ore/glass, + /obj/item/ore/glass, + /obj/item/ore/glass, + /obj/item/ore/glass, + /obj/item/ore/glass, + /obj/item/ore/glass, + /obj/item/ore/glass, + /obj/item/ore/glass, + /obj/item/ore/glass, + /obj/item/ore/glass ), prob(5);list( - /obj/item/weapon/ore/gold, - /obj/item/weapon/ore/gold, - /obj/item/weapon/ore/gold, - /obj/item/weapon/ore/gold, - /obj/item/weapon/ore/gold + /obj/item/ore/gold, + /obj/item/ore/gold, + /obj/item/ore/gold, + /obj/item/ore/gold, + /obj/item/ore/gold ), prob(2);list( - /obj/item/weapon/ore/hydrogen, - /obj/item/weapon/ore/hydrogen + /obj/item/ore/hydrogen, + /obj/item/ore/hydrogen ), prob(10);list( - /obj/item/weapon/ore/iron, - /obj/item/weapon/ore/iron, - /obj/item/weapon/ore/iron, - /obj/item/weapon/ore/iron, - /obj/item/weapon/ore/iron, - /obj/item/weapon/ore/iron, - /obj/item/weapon/ore/iron, - /obj/item/weapon/ore/iron, - /obj/item/weapon/ore/iron, - /obj/item/weapon/ore/iron + /obj/item/ore/iron, + /obj/item/ore/iron, + /obj/item/ore/iron, + /obj/item/ore/iron, + /obj/item/ore/iron, + /obj/item/ore/iron, + /obj/item/ore/iron, + /obj/item/ore/iron, + /obj/item/ore/iron, + /obj/item/ore/iron ), prob(10);list( - /obj/item/weapon/ore/lead, - /obj/item/weapon/ore/lead, - /obj/item/weapon/ore/lead, - /obj/item/weapon/ore/lead, - /obj/item/weapon/ore/lead, - /obj/item/weapon/ore/lead, - /obj/item/weapon/ore/lead, - /obj/item/weapon/ore/lead, - /obj/item/weapon/ore/lead, - /obj/item/weapon/ore/lead + /obj/item/ore/lead, + /obj/item/ore/lead, + /obj/item/ore/lead, + /obj/item/ore/lead, + /obj/item/ore/lead, + /obj/item/ore/lead, + /obj/item/ore/lead, + /obj/item/ore/lead, + /obj/item/ore/lead, + /obj/item/ore/lead ), prob(5);list( - /obj/item/weapon/ore/marble, - /obj/item/weapon/ore/marble, - /obj/item/weapon/ore/marble, - /obj/item/weapon/ore/marble, - /obj/item/weapon/ore/marble + /obj/item/ore/marble, + /obj/item/ore/marble, + /obj/item/ore/marble, + /obj/item/ore/marble, + /obj/item/ore/marble ), prob(3);list( - /obj/item/weapon/ore/osmium, - /obj/item/weapon/ore/osmium, - /obj/item/weapon/ore/osmium + /obj/item/ore/osmium, + /obj/item/ore/osmium, + /obj/item/ore/osmium ), prob(5);list( - /obj/item/weapon/ore/phoron, - /obj/item/weapon/ore/phoron, - /obj/item/weapon/ore/phoron, - /obj/item/weapon/ore/phoron, - /obj/item/weapon/ore/phoron + /obj/item/ore/phoron, + /obj/item/ore/phoron, + /obj/item/ore/phoron, + /obj/item/ore/phoron, + /obj/item/ore/phoron ), prob(5);list( - /obj/item/weapon/ore/rutile, - /obj/item/weapon/ore/rutile, - /obj/item/weapon/ore/rutile, - /obj/item/weapon/ore/rutile, - /obj/item/weapon/ore/rutile + /obj/item/ore/rutile, + /obj/item/ore/rutile, + /obj/item/ore/rutile, + /obj/item/ore/rutile, + /obj/item/ore/rutile ), prob(5);list( - /obj/item/weapon/ore/silver, - /obj/item/weapon/ore/silver, - /obj/item/weapon/ore/silver, - /obj/item/weapon/ore/silver, - /obj/item/weapon/ore/silver + /obj/item/ore/silver, + /obj/item/ore/silver, + /obj/item/ore/silver, + /obj/item/ore/silver, + /obj/item/ore/silver ), prob(3);list( - /obj/item/weapon/ore/uranium, - /obj/item/weapon/ore/uranium, - /obj/item/weapon/ore/uranium + /obj/item/ore/uranium, + /obj/item/ore/uranium, + /obj/item/ore/uranium ), prob(2);list( - /obj/item/weapon/ore/verdantium, - /obj/item/weapon/ore/verdantium + /obj/item/ore/verdantium, + /obj/item/ore/verdantium ),/* prob(2);list( - /obj/item/weapon/ore/void_opal, - /obj/item/weapon/ore/void_opal + /obj/item/ore/void_opal, + /obj/item/ore/void_opal ),*/ ) @@ -749,11 +749,11 @@ /obj/structure/closet/crate/freezer/centauri //CENTAURI SNACKS ), prob(10);list( - /obj/item/weapon/storage/box/donkpockets, - /obj/item/weapon/storage/box/donkpockets, - /obj/item/weapon/storage/box/donkpockets, - /obj/item/weapon/storage/box/donkpockets, - /obj/item/weapon/storage/box/donkpockets, + /obj/item/storage/box/donkpockets, + /obj/item/storage/box/donkpockets, + /obj/item/storage/box/donkpockets, + /obj/item/storage/box/donkpockets, + /obj/item/storage/box/donkpockets, /obj/structure/closet/crate/freezer/centauri //CENTAURI DONK-POCKETS ), prob(10);list( @@ -764,16 +764,16 @@ /obj/structure/closet/crate/einstein //EINSTEIN BATTERYPACK ), prob(5);list( - /obj/item/weapon/circuitboard/smes, + /obj/item/circuitboard/smes, /obj/random/smes_coil, /obj/random/smes_coil, /obj/structure/closet/crate/focalpoint //FOCAL SMES ), prob(10);list( - /obj/item/weapon/module/power_control, + /obj/item/module/power_control, /obj/item/stack/cable_coil, /obj/item/frame/apc, - /obj/item/weapon/cell/apc, + /obj/item/cell/apc, /obj/structure/closet/crate/focalpoint //FOCAL APC ), prob(5);list( @@ -810,10 +810,10 @@ prob(2);list( /obj/random/energy, /obj/random/energy, - /obj/item/weapon/cell/device/weapon, - /obj/item/weapon/cell/device/weapon, - /obj/item/weapon/cell/device/weapon, - /obj/item/weapon/cell/device/weapon, + /obj/item/cell/device/weapon, + /obj/item/cell/device/weapon, + /obj/item/cell/device/weapon, + /obj/item/cell/device/weapon, /obj/structure/closet/crate/secure/heph //HEPHAESTUS ENERGY ), prob(1);list( @@ -860,7 +860,7 @@ prob(5);list( /obj/item/clothing/suit/space/void/salvagecorp_shipbreaker, /obj/item/clothing/head/helmet/space/void/salvagecorp_shipbreaker, - /obj/item/weapon/tank/jetpack/breaker, + /obj/item/tank/jetpack/breaker, /obj/structure/closet/crate/coyote_salvage //CSC SUIT ), prob(10);list( @@ -915,63 +915,63 @@ /obj/structure/closet/crate/freezer/zenghu //ZENGHU PILLS ), prob(10);list( - /obj/item/device/toner, - /obj/item/device/toner, - /obj/item/device/toner, - /obj/item/weapon/clipboard, - /obj/item/weapon/clipboard, - /obj/item/weapon/pen/red, - /obj/item/weapon/pen/blue, - /obj/item/weapon/pen/blue, - /obj/item/device/camera_film, - /obj/item/weapon/folder/blue, - /obj/item/weapon/folder/red, - /obj/item/weapon/folder/yellow, - /obj/item/weapon/hand_labeler, - /obj/item/weapon/tape_roll, - /obj/item/weapon/paper_bin, + /obj/item/toner, + /obj/item/toner, + /obj/item/toner, + /obj/item/clipboard, + /obj/item/clipboard, + /obj/item/pen/red, + /obj/item/pen/blue, + /obj/item/pen/blue, + /obj/item/camera_film, + /obj/item/folder/blue, + /obj/item/folder/red, + /obj/item/folder/yellow, + /obj/item/hand_labeler, + /obj/item/tape_roll, + /obj/item/paper_bin, /obj/item/sticky_pad/random, /obj/structure/closet/crate/ummarcar //UMMARCAR OFFICE TRASH ), prob(5);list( - /obj/item/weapon/reagent_containers/food/snacks/unajerky, - /obj/item/weapon/reagent_containers/food/snacks/unajerky, - /obj/item/weapon/reagent_containers/food/snacks/unajerky, - /obj/item/weapon/reagent_containers/food/snacks/unajerky, - /obj/item/weapon/reagent_containers/food/snacks/unajerky, - /obj/item/weapon/reagent_containers/food/snacks/unajerky, - /obj/item/weapon/reagent_containers/food/snacks/unajerky, - /obj/item/weapon/reagent_containers/food/snacks/unajerky, + /obj/item/reagent_containers/food/snacks/unajerky, + /obj/item/reagent_containers/food/snacks/unajerky, + /obj/item/reagent_containers/food/snacks/unajerky, + /obj/item/reagent_containers/food/snacks/unajerky, + /obj/item/reagent_containers/food/snacks/unajerky, + /obj/item/reagent_containers/food/snacks/unajerky, + /obj/item/reagent_containers/food/snacks/unajerky, + /obj/item/reagent_containers/food/snacks/unajerky, /obj/structure/closet/crate/unathi //UNAJERKY ), prob(10);list( - /obj/item/weapon/reagent_containers/glass/bucket, - /obj/item/weapon/mop, + /obj/item/reagent_containers/glass/bucket, + /obj/item/mop, /obj/item/clothing/under/rank/janitor, - /obj/item/weapon/cartridge/janitor, + /obj/item/cartridge/janitor, /obj/item/clothing/gloves/black, /obj/item/clothing/head/soft/purple, - /obj/item/weapon/storage/belt/janitor, + /obj/item/storage/belt/janitor, /obj/item/clothing/shoes/galoshes, /obj/item/clothing/glasses/hud/janitor, - /obj/item/weapon/storage/bag/trash, - /obj/item/device/lightreplacer, - /obj/item/weapon/reagent_containers/spray/cleaner, - /obj/item/weapon/reagent_containers/glass/rag, - /obj/item/weapon/grenade/chem_grenade/cleaner, - /obj/item/weapon/grenade/chem_grenade/cleaner, - /obj/item/weapon/grenade/chem_grenade/cleaner, + /obj/item/storage/bag/trash, + /obj/item/lightreplacer, + /obj/item/reagent_containers/spray/cleaner, + /obj/item/reagent_containers/glass/rag, + /obj/item/grenade/chem_grenade/cleaner, + /obj/item/grenade/chem_grenade/cleaner, + /obj/item/grenade/chem_grenade/cleaner, /obj/structure/closet/crate/galaksi //GALAKSI JANITOR SUPPLIES ), prob(5);list( - /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, - /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, - /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, - /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, - /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, - /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, - /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, - /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, + /obj/item/reagent_containers/food/snacks/candy/gummy, + /obj/item/reagent_containers/food/snacks/candy/gummy, + /obj/item/reagent_containers/food/snacks/candy/gummy, + /obj/item/reagent_containers/food/snacks/candy/gummy, + /obj/item/reagent_containers/food/snacks/candy/gummy, + /obj/item/reagent_containers/food/snacks/candy/gummy, + /obj/item/reagent_containers/food/snacks/candy/gummy, + /obj/item/reagent_containers/food/snacks/candy/gummy, /obj/structure/closet/crate/allico //GUMMIES ), prob(5);list( @@ -993,8 +993,8 @@ /obj/structure/closet/crate/desatti //DESATTI SNACKI ), prob(2);list( - /obj/item/weapon/tank/phoron/pressurized, - /obj/item/weapon/tank/phoron/pressurized, + /obj/item/tank/phoron/pressurized, + /obj/item/tank/phoron/pressurized, /obj/structure/closet/crate/secure/phoron //HQ FUEL TANKS ), prob(1);list( @@ -1093,16 +1093,16 @@ /obj/structure/closet/crate/einstein //EINSTEIN BATTERYPACK ), prob(5);list( - /obj/item/weapon/circuitboard/smes, + /obj/item/circuitboard/smes, /obj/random/smes_coil, /obj/random/smes_coil, /obj/structure/closet/crate/focalpoint //FOCAL SMES ), prob(10);list( - /obj/item/weapon/module/power_control, + /obj/item/module/power_control, /obj/item/stack/cable_coil, /obj/item/frame/apc, - /obj/item/weapon/cell/apc, + /obj/item/cell/apc, /obj/structure/closet/crate/focalpoint //FOCAL APC ), prob(5);list( @@ -1163,7 +1163,7 @@ prob(5);list( /obj/item/clothing/suit/space/void/salvagecorp_shipbreaker, /obj/item/clothing/head/helmet/space/void/salvagecorp_shipbreaker, - /obj/item/weapon/tank/jetpack/breaker, + /obj/item/tank/jetpack/breaker, /obj/structure/closet/crate/coyote_salvage //CSC SUIT ), prob(10);list( @@ -1218,63 +1218,63 @@ /obj/structure/closet/crate/freezer/zenghu //ZENGHU PILLS ), prob(10);list( - /obj/item/device/toner, - /obj/item/device/toner, - /obj/item/device/toner, - /obj/item/weapon/clipboard, - /obj/item/weapon/clipboard, - /obj/item/weapon/pen/red, - /obj/item/weapon/pen/blue, - /obj/item/weapon/pen/blue, - /obj/item/device/camera_film, - /obj/item/weapon/folder/blue, - /obj/item/weapon/folder/red, - /obj/item/weapon/folder/yellow, - /obj/item/weapon/hand_labeler, - /obj/item/weapon/tape_roll, - /obj/item/weapon/paper_bin, + /obj/item/toner, + /obj/item/toner, + /obj/item/toner, + /obj/item/clipboard, + /obj/item/clipboard, + /obj/item/pen/red, + /obj/item/pen/blue, + /obj/item/pen/blue, + /obj/item/camera_film, + /obj/item/folder/blue, + /obj/item/folder/red, + /obj/item/folder/yellow, + /obj/item/hand_labeler, + /obj/item/tape_roll, + /obj/item/paper_bin, /obj/item/sticky_pad/random, /obj/structure/closet/crate/ummarcar //UMMARCAR OFFICE TRASH ), prob(5);list( - /obj/item/weapon/reagent_containers/food/snacks/unajerky, - /obj/item/weapon/reagent_containers/food/snacks/unajerky, - /obj/item/weapon/reagent_containers/food/snacks/unajerky, - /obj/item/weapon/reagent_containers/food/snacks/unajerky, - /obj/item/weapon/reagent_containers/food/snacks/unajerky, - /obj/item/weapon/reagent_containers/food/snacks/unajerky, - /obj/item/weapon/reagent_containers/food/snacks/unajerky, - /obj/item/weapon/reagent_containers/food/snacks/unajerky, + /obj/item/reagent_containers/food/snacks/unajerky, + /obj/item/reagent_containers/food/snacks/unajerky, + /obj/item/reagent_containers/food/snacks/unajerky, + /obj/item/reagent_containers/food/snacks/unajerky, + /obj/item/reagent_containers/food/snacks/unajerky, + /obj/item/reagent_containers/food/snacks/unajerky, + /obj/item/reagent_containers/food/snacks/unajerky, + /obj/item/reagent_containers/food/snacks/unajerky, /obj/structure/closet/crate/unathi //UNAJERKY ), prob(10);list( - /obj/item/weapon/reagent_containers/glass/bucket, - /obj/item/weapon/mop, + /obj/item/reagent_containers/glass/bucket, + /obj/item/mop, /obj/item/clothing/under/rank/janitor, - /obj/item/weapon/cartridge/janitor, + /obj/item/cartridge/janitor, /obj/item/clothing/gloves/black, /obj/item/clothing/head/soft/purple, - /obj/item/weapon/storage/belt/janitor, + /obj/item/storage/belt/janitor, /obj/item/clothing/shoes/galoshes, /obj/item/clothing/glasses/hud/janitor, - /obj/item/weapon/storage/bag/trash, - /obj/item/device/lightreplacer, - /obj/item/weapon/reagent_containers/spray/cleaner, - /obj/item/weapon/reagent_containers/glass/rag, - /obj/item/weapon/grenade/chem_grenade/cleaner, - /obj/item/weapon/grenade/chem_grenade/cleaner, - /obj/item/weapon/grenade/chem_grenade/cleaner, + /obj/item/storage/bag/trash, + /obj/item/lightreplacer, + /obj/item/reagent_containers/spray/cleaner, + /obj/item/reagent_containers/glass/rag, + /obj/item/grenade/chem_grenade/cleaner, + /obj/item/grenade/chem_grenade/cleaner, + /obj/item/grenade/chem_grenade/cleaner, /obj/structure/closet/crate/galaksi //GALAKSI JANITOR SUPPLIES ), prob(5);list( - /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, - /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, - /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, - /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, - /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, - /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, - /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, - /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, + /obj/item/reagent_containers/food/snacks/candy/gummy, + /obj/item/reagent_containers/food/snacks/candy/gummy, + /obj/item/reagent_containers/food/snacks/candy/gummy, + /obj/item/reagent_containers/food/snacks/candy/gummy, + /obj/item/reagent_containers/food/snacks/candy/gummy, + /obj/item/reagent_containers/food/snacks/candy/gummy, + /obj/item/reagent_containers/food/snacks/candy/gummy, + /obj/item/reagent_containers/food/snacks/candy/gummy, /obj/structure/closet/crate/allico //GUMMIES ), prob(5);list( @@ -1296,8 +1296,8 @@ /obj/structure/closet/crate/desatti //DESATTI SNACKI ), prob(2);list( - /obj/item/weapon/tank/phoron/pressurized, - /obj/item/weapon/tank/phoron/pressurized, + /obj/item/tank/phoron/pressurized, + /obj/item/tank/phoron/pressurized, /obj/structure/closet/crate/secure/phoron //HQ FUEL TANKS ), prob(1);list( @@ -1357,8 +1357,8 @@ /obj/structure/closet/crate/large/einstein //EIN BATTERY MEGAPACK ), prob(20);list( - /obj/item/weapon/circuitboard/smes, - /obj/item/weapon/circuitboard/smes, + /obj/item/circuitboard/smes, + /obj/item/circuitboard/smes, /obj/random/smes_coil, /obj/random/smes_coil, /obj/random/smes_coil, @@ -1370,16 +1370,16 @@ prob(2);list( /obj/random/energy, /obj/random/energy, - /obj/item/weapon/cell/device/weapon, - /obj/item/weapon/cell/device/weapon, - /obj/item/weapon/cell/device/weapon, - /obj/item/weapon/cell/device/weapon, + /obj/item/cell/device/weapon, + /obj/item/cell/device/weapon, + /obj/item/cell/device/weapon, + /obj/item/cell/device/weapon, /obj/random/energy, /obj/random/energy, - /obj/item/weapon/cell/device/weapon, - /obj/item/weapon/cell/device/weapon, - /obj/item/weapon/cell/device/weapon, - /obj/item/weapon/cell/device/weapon, + /obj/item/cell/device/weapon, + /obj/item/cell/device/weapon, + /obj/item/cell/device/weapon, + /obj/item/cell/device/weapon, /obj/structure/closet/crate/large/secure/heph //HEPH ENERGY ), prob(2);list( @@ -1456,8 +1456,8 @@ /obj/structure/closet/crate/large/einstein //EIN BATTERY MEGAPACK ), prob(20);list( - /obj/item/weapon/circuitboard/smes, - /obj/item/weapon/circuitboard/smes, + /obj/item/circuitboard/smes, + /obj/item/circuitboard/smes, /obj/random/smes_coil, /obj/random/smes_coil, /obj/random/smes_coil, @@ -1598,14 +1598,14 @@ /obj/random/multiple/underdark/miningdrills/item_to_spawn() return pick( - prob(10);list(/obj/item/weapon/pickaxe/silver), - prob(8);list(/obj/item/weapon/pickaxe/drill), - prob(6);list(/obj/item/weapon/pickaxe/advdrill), - prob(6);list(/obj/item/weapon/pickaxe/jackhammer), - prob(5);list(/obj/item/weapon/pickaxe/gold), - prob(4);list(/obj/item/weapon/pickaxe/plasmacutter), - prob(2);list(/obj/item/weapon/pickaxe/diamond), - prob(1);list(/obj/item/weapon/pickaxe/diamonddrill) + prob(10);list(/obj/item/pickaxe/silver), + prob(8);list(/obj/item/pickaxe/drill), + prob(6);list(/obj/item/pickaxe/advdrill), + prob(6);list(/obj/item/pickaxe/jackhammer), + prob(5);list(/obj/item/pickaxe/gold), + prob(4);list(/obj/item/pickaxe/plasmacutter), + prob(2);list(/obj/item/pickaxe/diamond), + prob(1);list(/obj/item/pickaxe/diamonddrill) ) /obj/random/multiple/underdark/ores @@ -1617,84 +1617,84 @@ /obj/random/multiple/underdark/ores/item_to_spawn() return pick( prob(9);list( - /obj/item/weapon/storage/bag/ore, - /obj/item/weapon/shovel, - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/hydrogen, - /obj/item/weapon/ore/hydrogen, - /obj/item/weapon/ore/hydrogen, - /obj/item/weapon/ore/hydrogen, - /obj/item/weapon/ore/hydrogen, - /obj/item/weapon/ore/hydrogen + /obj/item/storage/bag/ore, + /obj/item/shovel, + /obj/item/ore/glass, + /obj/item/ore/glass, + /obj/item/ore/glass, + /obj/item/ore/glass, + /obj/item/ore/glass, + /obj/item/ore/glass, + /obj/item/ore/glass, + /obj/item/ore/glass, + /obj/item/ore/glass, + /obj/item/ore/glass, + /obj/item/ore/hydrogen, + /obj/item/ore/hydrogen, + /obj/item/ore/hydrogen, + /obj/item/ore/hydrogen, + /obj/item/ore/hydrogen, + /obj/item/ore/hydrogen ), prob(7);list( - /obj/item/weapon/storage/bag/ore, - /obj/item/weapon/pickaxe, - /obj/item/weapon/ore/osmium, - /obj/item/weapon/ore/osmium, - /obj/item/weapon/ore/osmium, - /obj/item/weapon/ore/osmium, - /obj/item/weapon/ore/osmium, - /obj/item/weapon/ore/osmium, - /obj/item/weapon/ore/osmium, - /obj/item/weapon/ore/osmium, - /obj/item/weapon/ore/osmium, - /obj/item/weapon/ore/osmium + /obj/item/storage/bag/ore, + /obj/item/pickaxe, + /obj/item/ore/osmium, + /obj/item/ore/osmium, + /obj/item/ore/osmium, + /obj/item/ore/osmium, + /obj/item/ore/osmium, + /obj/item/ore/osmium, + /obj/item/ore/osmium, + /obj/item/ore/osmium, + /obj/item/ore/osmium, + /obj/item/ore/osmium ), prob(4);list( /obj/item/clothing/suit/radiation, /obj/item/clothing/head/radiation, - /obj/item/weapon/ore/uranium, - /obj/item/weapon/ore/uranium, - /obj/item/weapon/ore/uranium, - /obj/item/weapon/ore/uranium, - /obj/item/weapon/ore/uranium, - /obj/item/weapon/ore/uranium, - /obj/item/weapon/ore/uranium, - /obj/item/weapon/ore/uranium, - /obj/item/weapon/ore/uranium, - /obj/item/weapon/ore/uranium, - /obj/item/weapon/ore/uranium, - /obj/item/weapon/ore/uranium, - /obj/item/weapon/ore/uranium, - /obj/item/weapon/ore/uranium, - /obj/item/weapon/ore/uranium, - /obj/item/weapon/ore/uranium, - /obj/item/weapon/ore/uranium, - /obj/item/weapon/ore/uranium, - /obj/item/weapon/ore/uranium, - /obj/item/weapon/ore/uranium), + /obj/item/ore/uranium, + /obj/item/ore/uranium, + /obj/item/ore/uranium, + /obj/item/ore/uranium, + /obj/item/ore/uranium, + /obj/item/ore/uranium, + /obj/item/ore/uranium, + /obj/item/ore/uranium, + /obj/item/ore/uranium, + /obj/item/ore/uranium, + /obj/item/ore/uranium, + /obj/item/ore/uranium, + /obj/item/ore/uranium, + /obj/item/ore/uranium, + /obj/item/ore/uranium, + /obj/item/ore/uranium, + /obj/item/ore/uranium, + /obj/item/ore/uranium, + /obj/item/ore/uranium, + /obj/item/ore/uranium), prob(2);list( - /obj/item/device/flashlight/lantern, + /obj/item/flashlight/lantern, /obj/item/clothing/glasses/material, - /obj/item/weapon/ore/diamond, - /obj/item/weapon/ore/diamond, - /obj/item/weapon/ore/diamond, - /obj/item/weapon/ore/diamond, - /obj/item/weapon/ore/diamond, - /obj/item/weapon/ore/diamond, - /obj/item/weapon/ore/diamond, - /obj/item/weapon/ore/diamond, - /obj/item/weapon/ore/diamond, - /obj/item/weapon/ore/diamond + /obj/item/ore/diamond, + /obj/item/ore/diamond, + /obj/item/ore/diamond, + /obj/item/ore/diamond, + /obj/item/ore/diamond, + /obj/item/ore/diamond, + /obj/item/ore/diamond, + /obj/item/ore/diamond, + /obj/item/ore/diamond, + /obj/item/ore/diamond ), prob(1);list( - /obj/item/weapon/mining_scanner, - /obj/item/weapon/shovel/spade, - /obj/item/weapon/ore/verdantium, - /obj/item/weapon/ore/verdantium, - /obj/item/weapon/ore/verdantium, - /obj/item/weapon/ore/verdantium, - /obj/item/weapon/ore/verdantium + /obj/item/mining_scanner, + /obj/item/shovel/spade, + /obj/item/ore/verdantium, + /obj/item/ore/verdantium, + /obj/item/ore/verdantium, + /obj/item/ore/verdantium, + /obj/item/ore/verdantium ) ) @@ -1715,10 +1715,10 @@ /obj/item/clothing/head/pirate ), prob(4);list( - /obj/item/weapon/storage/bag/cash, - /obj/item/weapon/spacecash/c500, - /obj/item/weapon/spacecash/c100, - /obj/item/weapon/spacecash/c50 + /obj/item/storage/bag/cash, + /obj/item/spacecash/c500, + /obj/item/spacecash/c100, + /obj/item/spacecash/c50 ), prob(3);list( /obj/item/clothing/head/hardhat/orange, @@ -1821,16 +1821,16 @@ /obj/structure/closet/crate/einstein //EINSTEIN BATTERYPACK ), prob(5);list( - /obj/item/weapon/circuitboard/smes, + /obj/item/circuitboard/smes, /obj/random/smes_coil, /obj/random/smes_coil, /obj/structure/closet/crate/focalpoint //FOCAL SMES ), prob(10);list( - /obj/item/weapon/module/power_control, + /obj/item/module/power_control, /obj/item/stack/cable_coil, /obj/item/frame/apc, - /obj/item/weapon/cell/apc, + /obj/item/cell/apc, /obj/structure/closet/crate/focalpoint //FOCAL APC ), prob(5);list( @@ -1869,7 +1869,7 @@ prob(5);list( /obj/item/clothing/suit/space/void/salvagecorp_shipbreaker, /obj/item/clothing/head/helmet/space/void/salvagecorp_shipbreaker, - /obj/item/weapon/tank/jetpack/breaker, + /obj/item/tank/jetpack/breaker, /obj/structure/closet/crate/coyote_salvage //CSC SUIT ), prob(10);list( @@ -1916,63 +1916,63 @@ /obj/structure/closet/crate/freezer/zenghu //ZENGHU PILLS ), prob(10);list( - /obj/item/device/toner, - /obj/item/device/toner, - /obj/item/device/toner, - /obj/item/weapon/clipboard, - /obj/item/weapon/clipboard, - /obj/item/weapon/pen/red, - /obj/item/weapon/pen/blue, - /obj/item/weapon/pen/blue, - /obj/item/device/camera_film, - /obj/item/weapon/folder/blue, - /obj/item/weapon/folder/red, - /obj/item/weapon/folder/yellow, - /obj/item/weapon/hand_labeler, - /obj/item/weapon/tape_roll, - /obj/item/weapon/paper_bin, + /obj/item/toner, + /obj/item/toner, + /obj/item/toner, + /obj/item/clipboard, + /obj/item/clipboard, + /obj/item/pen/red, + /obj/item/pen/blue, + /obj/item/pen/blue, + /obj/item/camera_film, + /obj/item/folder/blue, + /obj/item/folder/red, + /obj/item/folder/yellow, + /obj/item/hand_labeler, + /obj/item/tape_roll, + /obj/item/paper_bin, /obj/item/sticky_pad/random, /obj/structure/closet/crate/ummarcar //UMMARCAR OFFICE TRASH ), prob(5);list( - /obj/item/weapon/reagent_containers/food/snacks/unajerky, - /obj/item/weapon/reagent_containers/food/snacks/unajerky, - /obj/item/weapon/reagent_containers/food/snacks/unajerky, - /obj/item/weapon/reagent_containers/food/snacks/unajerky, - /obj/item/weapon/reagent_containers/food/snacks/unajerky, - /obj/item/weapon/reagent_containers/food/snacks/unajerky, - /obj/item/weapon/reagent_containers/food/snacks/unajerky, - /obj/item/weapon/reagent_containers/food/snacks/unajerky, + /obj/item/reagent_containers/food/snacks/unajerky, + /obj/item/reagent_containers/food/snacks/unajerky, + /obj/item/reagent_containers/food/snacks/unajerky, + /obj/item/reagent_containers/food/snacks/unajerky, + /obj/item/reagent_containers/food/snacks/unajerky, + /obj/item/reagent_containers/food/snacks/unajerky, + /obj/item/reagent_containers/food/snacks/unajerky, + /obj/item/reagent_containers/food/snacks/unajerky, /obj/structure/closet/crate/unathi //UNAJERKY ), prob(10);list( - /obj/item/weapon/reagent_containers/glass/bucket, - /obj/item/weapon/mop, + /obj/item/reagent_containers/glass/bucket, + /obj/item/mop, /obj/item/clothing/under/rank/janitor, - /obj/item/weapon/cartridge/janitor, + /obj/item/cartridge/janitor, /obj/item/clothing/gloves/black, /obj/item/clothing/head/soft/purple, - /obj/item/weapon/storage/belt/janitor, + /obj/item/storage/belt/janitor, /obj/item/clothing/shoes/galoshes, /obj/item/clothing/glasses/hud/janitor, - /obj/item/weapon/storage/bag/trash, - /obj/item/device/lightreplacer, - /obj/item/weapon/reagent_containers/spray/cleaner, - /obj/item/weapon/reagent_containers/glass/rag, - /obj/item/weapon/grenade/chem_grenade/cleaner, - /obj/item/weapon/grenade/chem_grenade/cleaner, - /obj/item/weapon/grenade/chem_grenade/cleaner, + /obj/item/storage/bag/trash, + /obj/item/lightreplacer, + /obj/item/reagent_containers/spray/cleaner, + /obj/item/reagent_containers/glass/rag, + /obj/item/grenade/chem_grenade/cleaner, + /obj/item/grenade/chem_grenade/cleaner, + /obj/item/grenade/chem_grenade/cleaner, /obj/structure/closet/crate/galaksi //GALAKSI JANITOR SUPPLIES ), prob(5);list( - /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, - /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, - /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, - /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, - /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, - /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, - /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, - /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, + /obj/item/reagent_containers/food/snacks/candy/gummy, + /obj/item/reagent_containers/food/snacks/candy/gummy, + /obj/item/reagent_containers/food/snacks/candy/gummy, + /obj/item/reagent_containers/food/snacks/candy/gummy, + /obj/item/reagent_containers/food/snacks/candy/gummy, + /obj/item/reagent_containers/food/snacks/candy/gummy, + /obj/item/reagent_containers/food/snacks/candy/gummy, + /obj/item/reagent_containers/food/snacks/candy/gummy, /obj/structure/closet/crate/allico //GUMMIES ), prob(5);list( @@ -1994,8 +1994,8 @@ /obj/structure/closet/crate/desatti //DESATTI SNACKI ), prob(2);list( - /obj/item/weapon/tank/phoron/pressurized, - /obj/item/weapon/tank/phoron/pressurized, + /obj/item/tank/phoron/pressurized, + /obj/item/tank/phoron/pressurized, /obj/structure/closet/crate/secure/phoron //HQ FUEL TANKS ), ) @@ -2008,6 +2008,6 @@ /obj/random/multiple/legtrap/item_to_spawn() return pick( - prob(67);list(/obj/item/device/assembly/mousetrap/armed), - prob(33);list(/obj/item/weapon/beartrap/armed), + prob(67);list(/obj/item/assembly/mousetrap/armed), + prob(33);list(/obj/item/beartrap/armed), ) diff --git a/code/game/objects/random/mapping_vr.dm b/code/game/objects/random/mapping_vr.dm index 732d6146017..ac4aaaa2da3 100644 --- a/code/game/objects/random/mapping_vr.dm +++ b/code/game/objects/random/mapping_vr.dm @@ -16,46 +16,46 @@ /obj/random/forgotten_tram/item_to_spawn() return pick( - prob(2);/obj/item/device/flashlight, - prob(2);/obj/item/device/flashlight/color, - prob(2);/obj/item/device/flashlight/color/green, - prob(2);/obj/item/device/flashlight/color/purple, - prob(2);/obj/item/device/flashlight/color/red, - prob(2);/obj/item/device/flashlight/color/orange, - prob(2);/obj/item/device/flashlight/color/yellow, - prob(2);/obj/item/device/flashlight/glowstick, - prob(2);/obj/item/device/flashlight/glowstick/blue, - prob(1);/obj/item/device/flashlight/glowstick/orange, - prob(1);/obj/item/device/flashlight/glowstick/red, - prob(1);/obj/item/device/flashlight/glowstick/yellow, - prob(1);/obj/item/device/flashlight/pen, - prob(2);/obj/item/device/flashlight/maglight, + prob(2);/obj/item/flashlight, + prob(2);/obj/item/flashlight/color, + prob(2);/obj/item/flashlight/color/green, + prob(2);/obj/item/flashlight/color/purple, + prob(2);/obj/item/flashlight/color/red, + prob(2);/obj/item/flashlight/color/orange, + prob(2);/obj/item/flashlight/color/yellow, + prob(2);/obj/item/flashlight/glowstick, + prob(2);/obj/item/flashlight/glowstick/blue, + prob(1);/obj/item/flashlight/glowstick/orange, + prob(1);/obj/item/flashlight/glowstick/red, + prob(1);/obj/item/flashlight/glowstick/yellow, + prob(1);/obj/item/flashlight/pen, + prob(2);/obj/item/flashlight/maglight, prob(5);/obj/random/cigarettes, prob(5);/obj/random/soap, prob(5);/obj/random/drinksoft, prob(5);/obj/random/snack, prob(5);/obj/random/plushie, - prob(2);/obj/item/weapon/storage/secure/briefcase, - prob(4);/obj/item/weapon/storage/briefcase, - prob(5);/obj/item/weapon/storage/backpack, - prob(5);/obj/item/weapon/storage/backpack/medic, - prob(5);/obj/item/weapon/storage/backpack/industrial, - prob(5);/obj/item/weapon/storage/backpack/toxins, - prob(3);/obj/item/weapon/storage/backpack/dufflebag, - prob(3);/obj/item/weapon/storage/backpack/dufflebag/med, - prob(3);/obj/item/weapon/storage/backpack/dufflebag/eng, - prob(1);/obj/item/weapon/storage/backpack/dufflebag/syndie, - prob(1);/obj/item/weapon/storage/backpack/dufflebag/syndie/med, - prob(1);/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, - prob(4);/obj/item/weapon/storage/backpack/satchel, - prob(5);/obj/item/weapon/storage/backpack/satchel/norm, - prob(5);/obj/item/weapon/storage/backpack/satchel/med, - prob(5);/obj/item/weapon/storage/backpack/satchel/eng, - prob(5);/obj/item/weapon/storage/backpack/satchel/tox, - prob(5);/obj/item/weapon/storage/backpack/messenger/med, - prob(5);/obj/item/weapon/storage/backpack/messenger/engi, - prob(5);/obj/item/weapon/storage/backpack/messenger/tox, - prob(3);/obj/item/weapon/storage/wallet, + prob(2);/obj/item/storage/secure/briefcase, + prob(4);/obj/item/storage/briefcase, + prob(5);/obj/item/storage/backpack, + prob(5);/obj/item/storage/backpack/medic, + prob(5);/obj/item/storage/backpack/industrial, + prob(5);/obj/item/storage/backpack/toxins, + prob(3);/obj/item/storage/backpack/dufflebag, + prob(3);/obj/item/storage/backpack/dufflebag/med, + prob(3);/obj/item/storage/backpack/dufflebag/eng, + prob(1);/obj/item/storage/backpack/dufflebag/syndie, + prob(1);/obj/item/storage/backpack/dufflebag/syndie/med, + prob(1);/obj/item/storage/backpack/dufflebag/syndie/ammo, + prob(4);/obj/item/storage/backpack/satchel, + prob(5);/obj/item/storage/backpack/satchel/norm, + prob(5);/obj/item/storage/backpack/satchel/med, + prob(5);/obj/item/storage/backpack/satchel/eng, + prob(5);/obj/item/storage/backpack/satchel/tox, + prob(5);/obj/item/storage/backpack/messenger/med, + prob(5);/obj/item/storage/backpack/messenger/engi, + prob(5);/obj/item/storage/backpack/messenger/tox, + prob(3);/obj/item/storage/wallet, prob(1);/obj/item/clothing/gloves/black, prob(1);/obj/item/clothing/gloves/blue, prob(1);/obj/item/clothing/gloves/brown, @@ -145,9 +145,9 @@ prob(3);/obj/item/clothing/accessory/poncho/roles/cloak/research, prob(3);/obj/item/clothing/accessory/poncho/roles/cloak/security, prob(2);/obj/item/clothing/accessory/stethoscope, - prob(2);/obj/item/device/camera, - prob(3);/obj/item/device/pda, - prob(3);/obj/item/device/radio/headset, + prob(2);/obj/item/camera, + prob(3);/obj/item/pda, + prob(3);/obj/item/radio/headset, prob(2);/obj/item/toy/tennis, prob(2);/obj/item/toy/tennis/red, prob(2);/obj/item/toy/tennis/yellow, diff --git a/code/game/objects/random/misc.dm b/code/game/objects/random/misc.dm index 9e4558cccf3..e77d5391722 100644 --- a/code/game/objects/random/misc.dm +++ b/code/game/objects/random/misc.dm @@ -9,14 +9,14 @@ icon_state = "tool" /obj/random/tool/item_to_spawn() - return pick(/obj/item/weapon/tool/screwdriver, - /obj/item/weapon/tool/wirecutters, - /obj/item/weapon/weldingtool, - /obj/item/weapon/weldingtool/largetank, - /obj/item/weapon/tool/crowbar, - /obj/item/weapon/tool/wrench, - /obj/item/device/flashlight, - /obj/item/device/multitool) + return pick(/obj/item/tool/screwdriver, + /obj/item/tool/wirecutters, + /obj/item/weldingtool, + /obj/item/weldingtool/largetank, + /obj/item/tool/crowbar, + /obj/item/tool/wrench, + /obj/item/flashlight, + /obj/item/multitool) /obj/random/tool/powermaint name = "random powertool" @@ -25,10 +25,10 @@ /obj/random/tool/powermaint/item_to_spawn() return pick(prob(320);/obj/random/tool, - prob(1);/obj/item/weapon/tool/transforming/powerdrill, - prob(1);/obj/item/weapon/tool/transforming/jawsoflife, - prob(15);/obj/item/weapon/weldingtool/electric, - prob(5);/obj/item/weapon/weldingtool/experimental) + prob(1);/obj/item/tool/transforming/powerdrill, + prob(1);/obj/item/tool/transforming/jawsoflife, + prob(15);/obj/item/weldingtool/electric, + prob(5);/obj/item/weldingtool/experimental) /obj/random/tool/power name = "random powertool" @@ -36,10 +36,10 @@ icon_state = "tool_2" /obj/random/tool/power/item_to_spawn() - return pick(/obj/item/weapon/tool/transforming/powerdrill, - /obj/item/weapon/tool/transforming/jawsoflife, - /obj/item/weapon/weldingtool/electric, - /obj/item/weapon/weldingtool/experimental) + return pick(/obj/item/tool/transforming/powerdrill, + /obj/item/tool/transforming/jawsoflife, + /obj/item/weldingtool/electric, + /obj/item/weldingtool/experimental) /obj/random/tool/alien name = "random alien tool" @@ -47,13 +47,13 @@ icon_state = "tool_3" /obj/random/tool/alien/item_to_spawn() - return pick(/obj/item/weapon/tool/screwdriver/alien, - /obj/item/weapon/tool/wirecutters/alien, - /obj/item/weapon/weldingtool/alien, - /obj/item/weapon/tool/crowbar/alien, - /obj/item/weapon/tool/wrench/alien, + return pick(/obj/item/tool/screwdriver/alien, + /obj/item/tool/wirecutters/alien, + /obj/item/weldingtool/alien, + /obj/item/tool/crowbar/alien, + /obj/item/tool/wrench/alien, /obj/item/stack/cable_coil/alien, - /obj/item/device/multitool/alien) + /obj/item/multitool/alien) /obj/random/technology_scanner name = "random scanner" @@ -61,9 +61,9 @@ icon_state = "tech" /obj/random/technology_scanner/item_to_spawn() - return pick(prob(5);/obj/item/device/t_scanner, - prob(2);/obj/item/device/radio, - prob(5);/obj/item/device/analyzer) + return pick(prob(5);/obj/item/t_scanner, + prob(2);/obj/item/radio, + prob(5);/obj/item/analyzer) /obj/random/powercell name = "random powercell" @@ -72,11 +72,11 @@ icon_state = "random" /obj/random/powercell/item_to_spawn() - return pick(prob(40);/obj/item/weapon/cell, - prob(25);/obj/item/weapon/cell/device, - prob(25);/obj/item/weapon/cell/high, - prob(9);/obj/item/weapon/cell/super, - prob(1);/obj/item/weapon/cell/hyper) + return pick(prob(40);/obj/item/cell, + prob(25);/obj/item/cell/device, + prob(25);/obj/item/cell/high, + prob(9);/obj/item/cell/super, + prob(1);/obj/item/cell/hyper) /obj/random/powercell/device name = "random device powercell" @@ -84,9 +84,9 @@ icon_state = "random_device" /obj/random/powercell/device/item_to_spawn() - return pick(prob(80);/obj/item/weapon/cell/device, - prob(10);/obj/item/weapon/cell/device/hyper, - prob(10);/obj/item/weapon/cell/device/empproof) + return pick(prob(80);/obj/item/cell/device, + prob(10);/obj/item/cell/device/hyper, + prob(10);/obj/item/cell/device/empproof) /obj/random/bomb_supply name = "bomb supply" @@ -94,11 +94,11 @@ icon_state = "tech" /obj/random/bomb_supply/item_to_spawn() - return pick(/obj/item/device/assembly/igniter, - /obj/item/device/assembly/prox_sensor, - /obj/item/device/assembly/signaler, - /obj/item/device/assembly/timer, - /obj/item/device/multitool) + return pick(/obj/item/assembly/igniter, + /obj/item/assembly/prox_sensor, + /obj/item/assembly/signaler, + /obj/item/assembly/timer, + /obj/item/multitool) /obj/random/toolbox @@ -107,10 +107,10 @@ icon_state = "toolbox" /obj/random/toolbox/item_to_spawn() - return pick(prob(6);/obj/item/weapon/storage/toolbox/mechanical, - prob(6);/obj/item/weapon/storage/toolbox/electrical, - prob(2);/obj/item/weapon/storage/toolbox/emergency, - prob(1);/obj/item/weapon/storage/toolbox/syndicate) + return pick(prob(6);/obj/item/storage/toolbox/mechanical, + prob(6);/obj/item/storage/toolbox/electrical, + prob(2);/obj/item/storage/toolbox/emergency, + prob(1);/obj/item/storage/toolbox/syndicate) /obj/random/smes_coil name = "random smes coil" @@ -118,9 +118,9 @@ icon_state = "cell_2" /obj/random/smes_coil/item_to_spawn() - return pick(prob(4);/obj/item/weapon/smes_coil, - prob(1);/obj/item/weapon/smes_coil/super_capacity, - prob(1);/obj/item/weapon/smes_coil/super_io) + return pick(prob(4);/obj/item/smes_coil, + prob(1);/obj/item/smes_coil/super_capacity, + prob(1);/obj/item/smes_coil/super_io) /obj/random/pacman name = "random portable generator" @@ -142,19 +142,19 @@ /obj/random/tech_supply/item_to_spawn() return pick(prob(3);/obj/random/powercell, prob(2);/obj/random/technology_scanner, - prob(1);/obj/item/weapon/packageWrap, + prob(1);/obj/item/packageWrap, prob(2);/obj/random/bomb_supply, - prob(1);/obj/item/weapon/extinguisher, + prob(1);/obj/item/extinguisher, prob(1);/obj/item/clothing/gloves/fyellow, prob(3);/obj/item/stack/cable_coil/random, prob(2);/obj/random/toolbox, - prob(2);/obj/item/weapon/storage/belt/utility, - prob(1);/obj/item/weapon/storage/belt/utility/full, + prob(2);/obj/item/storage/belt/utility, + prob(1);/obj/item/storage/belt/utility/full, prob(5);/obj/random/tool, - prob(2);/obj/item/weapon/tape_roll, + prob(2);/obj/item/tape_roll, prob(2);/obj/item/taperoll/engineering, prob(1);/obj/item/taperoll/atmos, - prob(1);/obj/item/device/flashlight/maglight) + prob(1);/obj/item/flashlight/maglight) /obj/random/tech_supply/nofail name = "guaranteed random tech supply" @@ -166,21 +166,21 @@ icon_state = "tech" /obj/random/tech_supply/component/item_to_spawn() - return pick(prob(3);/obj/item/weapon/stock_parts/gear, - prob(2);/obj/item/weapon/stock_parts/console_screen, - prob(1);/obj/item/weapon/stock_parts/spring, - prob(3);/obj/item/weapon/stock_parts/capacitor, - prob(2);/obj/item/weapon/stock_parts/capacitor/adv, - prob(1);/obj/item/weapon/stock_parts/capacitor/super, - prob(3);/obj/item/weapon/stock_parts/manipulator, - prob(2);/obj/item/weapon/stock_parts/manipulator/nano, - prob(1);/obj/item/weapon/stock_parts/manipulator/pico, - prob(3);/obj/item/weapon/stock_parts/matter_bin, - prob(2);/obj/item/weapon/stock_parts/matter_bin/adv, - prob(1);/obj/item/weapon/stock_parts/matter_bin/super, - prob(3);/obj/item/weapon/stock_parts/scanning_module, - prob(2);/obj/item/weapon/stock_parts/scanning_module/adv, - prob(1);/obj/item/weapon/stock_parts/scanning_module/phasic) + return pick(prob(3);/obj/item/stock_parts/gear, + prob(2);/obj/item/stock_parts/console_screen, + prob(1);/obj/item/stock_parts/spring, + prob(3);/obj/item/stock_parts/capacitor, + prob(2);/obj/item/stock_parts/capacitor/adv, + prob(1);/obj/item/stock_parts/capacitor/super, + prob(3);/obj/item/stock_parts/manipulator, + prob(2);/obj/item/stock_parts/manipulator/nano, + prob(1);/obj/item/stock_parts/manipulator/pico, + prob(3);/obj/item/stock_parts/matter_bin, + prob(2);/obj/item/stock_parts/matter_bin/adv, + prob(1);/obj/item/stock_parts/matter_bin/super, + prob(3);/obj/item/stock_parts/scanning_module, + prob(2);/obj/item/stock_parts/scanning_module/adv, + prob(1);/obj/item/stock_parts/scanning_module/phasic) /obj/random/tech_supply/component/nofail name = "guaranteed random tech component" @@ -194,15 +194,15 @@ /obj/random/medical/item_to_spawn() return pick(prob(21);/obj/random/medical/lite, prob(5);/obj/random/medical/pillbottle, - prob(1);/obj/item/weapon/storage/pill_bottle/tramadol, - prob(1);/obj/item/weapon/storage/pill_bottle/antitox, - prob(1);/obj/item/weapon/storage/pill_bottle/carbon, + prob(1);/obj/item/storage/pill_bottle/tramadol, + prob(1);/obj/item/storage/pill_bottle/antitox, + prob(1);/obj/item/storage/pill_bottle/carbon, prob(3);/obj/item/bodybag/cryobag, - prob(5);/obj/item/weapon/reagent_containers/syringe/antitoxin, - prob(3);/obj/item/weapon/reagent_containers/syringe/antiviral, - prob(5);/obj/item/weapon/reagent_containers/syringe/inaprovaline, - prob(1);/obj/item/weapon/reagent_containers/hypospray, - prob(1);/obj/item/weapon/storage/box/freezer, + prob(5);/obj/item/reagent_containers/syringe/antitoxin, + prob(3);/obj/item/reagent_containers/syringe/antiviral, + prob(5);/obj/item/reagent_containers/syringe/inaprovaline, + prob(1);/obj/item/reagent_containers/hypospray, + prob(1);/obj/item/storage/box/freezer, prob(2);/obj/item/stack/nanopaste) /obj/random/medical/pillbottle @@ -211,11 +211,11 @@ icon_state = "pillbottle" /obj/random/medical/pillbottle/item_to_spawn() - return pick(prob(1);/obj/item/weapon/storage/pill_bottle/spaceacillin, - prob(1);/obj/item/weapon/storage/pill_bottle/dermaline, - prob(1);/obj/item/weapon/storage/pill_bottle/dexalin_plus, - prob(1);/obj/item/weapon/storage/pill_bottle/bicaridine, - prob(1);/obj/item/weapon/storage/pill_bottle/blood_regen) + return pick(prob(1);/obj/item/storage/pill_bottle/spaceacillin, + prob(1);/obj/item/storage/pill_bottle/dermaline, + prob(1);/obj/item/storage/pill_bottle/dexalin_plus, + prob(1);/obj/item/storage/pill_bottle/bicaridine, + prob(1);/obj/item/storage/pill_bottle/blood_regen) /obj/random/medical/lite name = "Random Medicine" @@ -229,11 +229,11 @@ prob(2);/obj/item/stack/medical/advanced/bruise_pack, prob(2);/obj/item/stack/medical/advanced/ointment, prob(1);/obj/item/stack/medical/splint, - prob(4);/obj/item/device/healthanalyzer, + prob(4);/obj/item/healthanalyzer, prob(1);/obj/item/bodybag, - prob(3);/obj/item/weapon/reagent_containers/hypospray/autoinjector, - prob(2);/obj/item/weapon/storage/pill_bottle/kelotane, - prob(2);/obj/item/weapon/storage/pill_bottle/antitox) + prob(3);/obj/item/reagent_containers/hypospray/autoinjector, + prob(2);/obj/item/storage/pill_bottle/kelotane, + prob(2);/obj/item/storage/pill_bottle/antitox) /obj/random/firstaid name = "Random First Aid Kit" @@ -241,13 +241,13 @@ icon_state = "medicalkit" /obj/random/firstaid/item_to_spawn() - return pick(prob(10);/obj/item/weapon/storage/firstaid/regular, - prob(8);/obj/item/weapon/storage/firstaid/toxin, - prob(8);/obj/item/weapon/storage/firstaid/o2, - prob(4);/obj/item/weapon/storage/firstaid/adv, //VOREStation Edit: 6 to 4 - prob(8);/obj/item/weapon/storage/firstaid/fire, - prob(1);/obj/item/device/denecrotizer/medical, //VOREStation Add, - prob(1);/obj/item/weapon/storage/firstaid/combat) + return pick(prob(10);/obj/item/storage/firstaid/regular, + prob(8);/obj/item/storage/firstaid/toxin, + prob(8);/obj/item/storage/firstaid/o2, + prob(4);/obj/item/storage/firstaid/adv, //VOREStation Edit: 6 to 4 + prob(8);/obj/item/storage/firstaid/fire, + prob(1);/obj/item/denecrotizer/medical, //VOREStation Add, + prob(1);/obj/item/storage/firstaid/combat) /obj/random/contraband name = "Random Illegal Item" @@ -256,21 +256,21 @@ spawn_nothing_percentage = 50 /obj/random/contraband/item_to_spawn() - return pick(prob(6);/obj/item/weapon/storage/pill_bottle/paracetamol, //VOREStation Edit, - prob(4);/obj/item/weapon/storage/pill_bottle/happy, - prob(4);/obj/item/weapon/storage/pill_bottle/zoom, - prob(4);/obj/item/weapon/material/butterfly, - prob(6);/obj/item/weapon/material/butterflyblade, - prob(6);/obj/item/weapon/material/butterflyhandle, - prob(2);/obj/item/weapon/material/butterfly/switchblade, - prob(2);/obj/item/clothing/gloves/knuckledusters, - prob(1);/obj/item/weapon/material/knife/tacknife, + return pick(prob(6);/obj/item/storage/pill_bottle/paracetamol, //VOREStation Edit, + prob(4);/obj/item/storage/pill_bottle/happy, + prob(4);/obj/item/storage/pill_bottle/zoom, + prob(4);/obj/item/material/butterfly, + prob(6);/obj/item/material/butterflyblade, + prob(6);/obj/item/material/butterflyhandle, + prob(2);/obj/item/material/butterfly/switchblade, + prob(2);/obj/item/clothing/accessory/knuckledusters, + prob(1);/obj/item/material/knife/tacknife, prob(1);/obj/item/clothing/suit/storage/vest/heavy/merc, - prob(1);/obj/item/weapon/beartrap, - prob(1);/obj/item/weapon/handcuffs, - prob(1);/obj/item/weapon/handcuffs/legcuffs, - prob(2);/obj/item/weapon/reagent_containers/syringe/drugs, - prob(1);/obj/item/weapon/reagent_containers/syringe/steroid) + prob(1);/obj/item/beartrap, + prob(1);/obj/item/handcuffs, + prob(1);/obj/item/handcuffs/legcuffs, + prob(2);/obj/item/reagent_containers/syringe/drugs, + prob(1);/obj/item/reagent_containers/syringe/steroid) /obj/random/contraband/nofail name = "Guaranteed Random Illegal Item" @@ -284,12 +284,12 @@ /obj/random/cash/item_to_spawn() return pick(prob(320);/obj/random/maintenance/clean, - prob(12);/obj/item/weapon/spacecash/c1, - prob(10);/obj/item/weapon/spacecash/c5, - prob(8);/obj/item/weapon/spacecash/c10, - prob(4);/obj/item/weapon/spacecash/c20, - prob(1);/obj/item/weapon/spacecash/c50, - prob(1);/obj/item/weapon/spacecash/c100) + prob(12);/obj/item/spacecash/c1, + prob(10);/obj/item/spacecash/c5, + prob(8);/obj/item/spacecash/c10, + prob(4);/obj/item/spacecash/c20, + prob(1);/obj/item/spacecash/c50, + prob(1);/obj/item/spacecash/c100) /obj/random/cash/big name = "random currency pile" @@ -298,13 +298,13 @@ icon_state = "spacecash100" /obj/random/cash/big/item_to_spawn() - return pick(prob(64);/obj/item/weapon/spacecash/c10, - prob(32);/obj/item/weapon/spacecash/c20, - prob(16);/obj/item/weapon/spacecash/c50, - prob(8);/obj/item/weapon/spacecash/c100, - prob(4);/obj/item/weapon/spacecash/c200, - prob(2);/obj/item/weapon/spacecash/c500, - prob(1);/obj/item/weapon/spacecash/c1000) + return pick(prob(64);/obj/item/spacecash/c10, + prob(32);/obj/item/spacecash/c20, + prob(16);/obj/item/spacecash/c50, + prob(8);/obj/item/spacecash/c100, + prob(4);/obj/item/spacecash/c200, + prob(2);/obj/item/spacecash/c500, + prob(1);/obj/item/spacecash/c1000) /obj/random/cash/huge name = "random huge currency pile" @@ -313,9 +313,9 @@ icon_state = "spacecash1000" /obj/random/cash/huge/item_to_spawn() - return pick(prob(15);/obj/item/weapon/spacecash/c200, - prob(10);/obj/item/weapon/spacecash/c500, - prob(5);/obj/item/weapon/spacecash/c1000) + return pick(prob(15);/obj/item/spacecash/c200, + prob(10);/obj/item/spacecash/c500, + prob(5);/obj/item/spacecash/c1000) /obj/random/soap name = "Random Soap (All)" @@ -324,30 +324,30 @@ icon_state = "rainbow_soap" /obj/random/soap/item_to_spawn() - return pick(/obj/item/weapon/soap, - /obj/item/weapon/soap/nanotrasen, - /obj/item/weapon/soap/deluxe, - /obj/item/weapon/soap/syndie, - /obj/item/weapon/soap/space_soap, - /obj/item/weapon/soap/space_soap, - /obj/item/weapon/soap/water_soap, - /obj/item/weapon/soap/fire_soap, - /obj/item/weapon/soap/rainbow_soap, - /obj/item/weapon/soap/diamond_soap, - /obj/item/weapon/soap/uranium_soap, - /obj/item/weapon/soap/silver_soap, - /obj/item/weapon/soap/brown_soap, - /obj/item/weapon/soap/white_soap, - /obj/item/weapon/soap/grey_soap, - /obj/item/weapon/soap/pink_soap, - /obj/item/weapon/soap/purple_soap, - /obj/item/weapon/soap/blue_soap, - /obj/item/weapon/soap/cyan_soap, - /obj/item/weapon/soap/green_soap, - /obj/item/weapon/soap/yellow_soap, - /obj/item/weapon/soap/orange_soap, - /obj/item/weapon/soap/red_soap, - /obj/item/weapon/soap/golden_soap) + return pick(/obj/item/soap, + /obj/item/soap/nanotrasen, + /obj/item/soap/deluxe, + /obj/item/soap/syndie, + /obj/item/soap/space_soap, + /obj/item/soap/space_soap, + /obj/item/soap/water_soap, + /obj/item/soap/fire_soap, + /obj/item/soap/rainbow_soap, + /obj/item/soap/diamond_soap, + /obj/item/soap/uranium_soap, + /obj/item/soap/silver_soap, + /obj/item/soap/brown_soap, + /obj/item/soap/white_soap, + /obj/item/soap/grey_soap, + /obj/item/soap/pink_soap, + /obj/item/soap/purple_soap, + /obj/item/soap/blue_soap, + /obj/item/soap/cyan_soap, + /obj/item/soap/green_soap, + /obj/item/soap/yellow_soap, + /obj/item/soap/orange_soap, + /obj/item/soap/red_soap, + /obj/item/soap/golden_soap) /obj/random/soap_common name = "Random Soap (Common)" @@ -356,27 +356,27 @@ icon_state = "rainbow_soap" /obj/random/soap_common/item_to_spawn() - return pick(/obj/item/weapon/soap, - /obj/item/weapon/soap/space_soap, - /obj/item/weapon/soap/space_soap, - /obj/item/weapon/soap/water_soap, - /obj/item/weapon/soap/fire_soap, - /obj/item/weapon/soap/rainbow_soap, - /obj/item/weapon/soap/diamond_soap, - /obj/item/weapon/soap/uranium_soap, - /obj/item/weapon/soap/silver_soap, - /obj/item/weapon/soap/brown_soap, - /obj/item/weapon/soap/white_soap, - /obj/item/weapon/soap/grey_soap, - /obj/item/weapon/soap/pink_soap, - /obj/item/weapon/soap/purple_soap, - /obj/item/weapon/soap/blue_soap, - /obj/item/weapon/soap/cyan_soap, - /obj/item/weapon/soap/green_soap, - /obj/item/weapon/soap/yellow_soap, - /obj/item/weapon/soap/orange_soap, - /obj/item/weapon/soap/red_soap, - /obj/item/weapon/soap/golden_soap) + return pick(/obj/item/soap, + /obj/item/soap/space_soap, + /obj/item/soap/space_soap, + /obj/item/soap/water_soap, + /obj/item/soap/fire_soap, + /obj/item/soap/rainbow_soap, + /obj/item/soap/diamond_soap, + /obj/item/soap/uranium_soap, + /obj/item/soap/silver_soap, + /obj/item/soap/brown_soap, + /obj/item/soap/white_soap, + /obj/item/soap/grey_soap, + /obj/item/soap/pink_soap, + /obj/item/soap/purple_soap, + /obj/item/soap/blue_soap, + /obj/item/soap/cyan_soap, + /obj/item/soap/green_soap, + /obj/item/soap/yellow_soap, + /obj/item/soap/orange_soap, + /obj/item/soap/red_soap, + /obj/item/soap/golden_soap) /obj/random/drinkbottle name = "random drink" @@ -385,33 +385,33 @@ icon_state = "whiskeybottle1" /obj/random/drinkbottle/item_to_spawn() - return pick(/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey, - /obj/item/weapon/reagent_containers/food/drinks/bottle/gin, - /obj/item/weapon/reagent_containers/food/drinks/bottle/specialwhiskey, - /obj/item/weapon/reagent_containers/food/drinks/bottle/vodka, - /obj/item/weapon/reagent_containers/food/drinks/bottle/tequilla, - /obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe, - /obj/item/weapon/reagent_containers/food/drinks/bottle/wine, - /obj/item/weapon/reagent_containers/food/drinks/bottle/cognac, - /obj/item/weapon/reagent_containers/food/drinks/bottle/rum, - /obj/item/weapon/reagent_containers/food/drinks/bottle/patron, - /obj/item/weapon/reagent_containers/food/drinks/bottle/vermouth, - /obj/item/weapon/reagent_containers/food/drinks/bottle/goldschlager, - /obj/item/weapon/reagent_containers/food/drinks/bottle/kahlua, - /obj/item/weapon/reagent_containers/food/drinks/bottle/melonliquor, - /obj/item/weapon/reagent_containers/food/drinks/bottle/bluecuracao, - /obj/item/weapon/reagent_containers/food/drinks/bottle/grenadine, - /obj/item/weapon/reagent_containers/food/drinks/bottle/sake, - /obj/item/weapon/reagent_containers/food/drinks/bottle/champagne, - /obj/item/weapon/reagent_containers/food/drinks/bottle/peppermintschnapps, - /obj/item/weapon/reagent_containers/food/drinks/bottle/peachschnapps, - /obj/item/weapon/reagent_containers/food/drinks/bottle/lemonadeschnapps, - /obj/item/weapon/reagent_containers/food/drinks/bottle/jager, - /obj/item/weapon/reagent_containers/food/drinks/bottle/small/cider, - /obj/item/weapon/reagent_containers/food/drinks/bottle/small/litebeer, - /obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, - /obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer/silverdragon, - /obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer/meteor) + return pick(/obj/item/reagent_containers/food/drinks/bottle/whiskey, + /obj/item/reagent_containers/food/drinks/bottle/gin, + /obj/item/reagent_containers/food/drinks/bottle/specialwhiskey, + /obj/item/reagent_containers/food/drinks/bottle/vodka, + /obj/item/reagent_containers/food/drinks/bottle/tequilla, + /obj/item/reagent_containers/food/drinks/bottle/absinthe, + /obj/item/reagent_containers/food/drinks/bottle/wine, + /obj/item/reagent_containers/food/drinks/bottle/cognac, + /obj/item/reagent_containers/food/drinks/bottle/rum, + /obj/item/reagent_containers/food/drinks/bottle/patron, + /obj/item/reagent_containers/food/drinks/bottle/vermouth, + /obj/item/reagent_containers/food/drinks/bottle/goldschlager, + /obj/item/reagent_containers/food/drinks/bottle/kahlua, + /obj/item/reagent_containers/food/drinks/bottle/melonliquor, + /obj/item/reagent_containers/food/drinks/bottle/bluecuracao, + /obj/item/reagent_containers/food/drinks/bottle/grenadine, + /obj/item/reagent_containers/food/drinks/bottle/sake, + /obj/item/reagent_containers/food/drinks/bottle/champagne, + /obj/item/reagent_containers/food/drinks/bottle/peppermintschnapps, + /obj/item/reagent_containers/food/drinks/bottle/peachschnapps, + /obj/item/reagent_containers/food/drinks/bottle/lemonadeschnapps, + /obj/item/reagent_containers/food/drinks/bottle/jager, + /obj/item/reagent_containers/food/drinks/bottle/small/cider, + /obj/item/reagent_containers/food/drinks/bottle/small/litebeer, + /obj/item/reagent_containers/food/drinks/bottle/small/beer, + /obj/item/reagent_containers/food/drinks/bottle/small/beer/silverdragon, + /obj/item/reagent_containers/food/drinks/bottle/small/beer/meteor) /obj/random/drinksoft name = "random soft drink" @@ -420,21 +420,21 @@ icon_state = "cola" /obj/random/drinksoft/item_to_spawn() - return pick(/obj/item/weapon/reagent_containers/food/drinks/cans/cola, - /obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, - /obj/item/weapon/reagent_containers/food/drinks/cans/space_mountain_wind, - /obj/item/weapon/reagent_containers/food/drinks/cans/thirteenloko, - /obj/item/weapon/reagent_containers/food/drinks/cans/dr_gibb, - /obj/item/weapon/reagent_containers/food/drinks/cans/dr_gibb_diet, - /obj/item/weapon/reagent_containers/food/drinks/cans/starkist, - /obj/item/weapon/reagent_containers/food/drinks/cans/space_up, - /obj/item/weapon/reagent_containers/food/drinks/cans/lemon_lime, - /obj/item/weapon/reagent_containers/food/drinks/cans/iced_tea, - /obj/item/weapon/reagent_containers/food/drinks/cans/grape_juice, - /obj/item/weapon/reagent_containers/food/drinks/cans/tonic, - /obj/item/weapon/reagent_containers/food/drinks/cans/sodawater, - /obj/item/weapon/reagent_containers/food/drinks/cans/gingerale, - /obj/item/weapon/reagent_containers/food/drinks/cans/root_beer) + return pick(/obj/item/reagent_containers/food/drinks/cans/cola, + /obj/item/reagent_containers/food/drinks/cans/waterbottle, + /obj/item/reagent_containers/food/drinks/cans/space_mountain_wind, + /obj/item/reagent_containers/food/drinks/cans/thirteenloko, + /obj/item/reagent_containers/food/drinks/cans/dr_gibb, + /obj/item/reagent_containers/food/drinks/cans/dr_gibb_diet, + /obj/item/reagent_containers/food/drinks/cans/starkist, + /obj/item/reagent_containers/food/drinks/cans/space_up, + /obj/item/reagent_containers/food/drinks/cans/lemon_lime, + /obj/item/reagent_containers/food/drinks/cans/iced_tea, + /obj/item/reagent_containers/food/drinks/cans/grape_juice, + /obj/item/reagent_containers/food/drinks/cans/tonic, + /obj/item/reagent_containers/food/drinks/cans/sodawater, + /obj/item/reagent_containers/food/drinks/cans/gingerale, + /obj/item/reagent_containers/food/drinks/cans/root_beer) /obj/random/snack @@ -444,79 +444,79 @@ icon_state = "tastybread" /obj/random/snack/item_to_spawn() - return pick(/obj/item/weapon/reagent_containers/food/snacks/candy, - /obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar, - /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, - /obj/item/weapon/reagent_containers/food/snacks/candy/donor, - /obj/item/weapon/reagent_containers/food/snacks/candy_corn, - /obj/item/weapon/reagent_containers/food/snacks/chips, - /obj/item/weapon/reagent_containers/food/snacks/chips/bbq, - /obj/item/weapon/reagent_containers/food/snacks/cookiesnack, - /obj/item/weapon/reagent_containers/food/snacks/fruitbar, - /obj/item/weapon/reagent_containers/food/snacks/chocolatebar, - /obj/item/weapon/reagent_containers/food/snacks/chocolatepiece, - /obj/item/weapon/reagent_containers/food/snacks/chocolatepiece/white, - /obj/item/weapon/reagent_containers/food/snacks/chocolatepiece/truffle, - /obj/item/weapon/reagent_containers/food/snacks/chocolateegg, - /obj/item/weapon/reagent_containers/food/snacks/donut/plain, - /obj/item/weapon/reagent_containers/food/snacks/donut/plain/jelly, - /obj/item/weapon/reagent_containers/food/snacks/donut/pink, - /obj/item/weapon/reagent_containers/food/snacks/donut/pink/jelly, - /obj/item/weapon/reagent_containers/food/snacks/donut/purple, - /obj/item/weapon/reagent_containers/food/snacks/donut/purple/jelly, - /obj/item/weapon/reagent_containers/food/snacks/donut/green, - /obj/item/weapon/reagent_containers/food/snacks/donut/green/jelly, - /obj/item/weapon/reagent_containers/food/snacks/donut/beige, - /obj/item/weapon/reagent_containers/food/snacks/donut/beige/jelly, - /obj/item/weapon/reagent_containers/food/snacks/donut/choc, - /obj/item/weapon/reagent_containers/food/snacks/donut/choc/jelly, - /obj/item/weapon/reagent_containers/food/snacks/donut/blue, - /obj/item/weapon/reagent_containers/food/snacks/donut/blue/jelly, - /obj/item/weapon/reagent_containers/food/snacks/donut/yellow, - /obj/item/weapon/reagent_containers/food/snacks/donut/yellow/jelly, - /obj/item/weapon/reagent_containers/food/snacks/donut/olive, - /obj/item/weapon/reagent_containers/food/snacks/donut/olive/jelly, - /obj/item/weapon/reagent_containers/food/snacks/donut/homer, - /obj/item/weapon/reagent_containers/food/snacks/donut/homer/jelly, - /obj/item/weapon/reagent_containers/food/snacks/donut/choc_sprinkles, - /obj/item/weapon/reagent_containers/food/snacks/donut/choc_sprinkles/jelly, - /obj/item/weapon/reagent_containers/food/snacks/tuna, - /obj/item/weapon/reagent_containers/food/snacks/pistachios, - /obj/item/weapon/reagent_containers/food/snacks/semki, - /obj/item/weapon/reagent_containers/food/snacks/cb01, - /obj/item/weapon/reagent_containers/food/snacks/cb02, - /obj/item/weapon/reagent_containers/food/snacks/cb03, - /obj/item/weapon/reagent_containers/food/snacks/cb04, - /obj/item/weapon/reagent_containers/food/snacks/cb05, - /obj/item/weapon/reagent_containers/food/snacks/cb06, - /obj/item/weapon/reagent_containers/food/snacks/cb07, - /obj/item/weapon/reagent_containers/food/snacks/cb08, - /obj/item/weapon/reagent_containers/food/snacks/cb09, - /obj/item/weapon/reagent_containers/food/snacks/cb10, - /obj/item/weapon/reagent_containers/food/snacks/tofu, - /obj/item/weapon/reagent_containers/food/snacks/donkpocket, - /obj/item/weapon/reagent_containers/food/snacks/muffin, - /obj/item/weapon/reagent_containers/food/snacks/soylentgreen, - /obj/item/weapon/reagent_containers/food/snacks/soylenviridians, - /obj/item/weapon/reagent_containers/food/snacks/popcorn, - /obj/item/weapon/reagent_containers/food/snacks/sosjerky, - /obj/item/weapon/reagent_containers/food/snacks/no_raisin, - /obj/item/weapon/reagent_containers/food/snacks/packaged/spacetwinkie, - /obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers, - /obj/item/weapon/reagent_containers/food/snacks/poppypretzel, - /obj/item/weapon/reagent_containers/food/snacks/baguette, - /obj/item/weapon/reagent_containers/food/snacks/carrotfries, - /obj/item/weapon/reagent_containers/food/snacks/candiedapple, - /obj/item/weapon/storage/box/admints, - /obj/item/weapon/reagent_containers/food/snacks/tastybread, - /obj/item/weapon/reagent_containers/food/snacks/liquidfood, - /obj/item/weapon/reagent_containers/food/snacks/liquidprotein, - /obj/item/weapon/reagent_containers/food/snacks/liquidvitamin, - /obj/item/weapon/reagent_containers/food/snacks/skrellsnacks, - /obj/item/weapon/reagent_containers/food/snacks/unajerky, - /obj/item/weapon/reagent_containers/food/snacks/croissant, - /obj/item/weapon/reagent_containers/food/snacks/sugarcookie, - /obj/item/weapon/reagent_containers/food/drinks/dry_ramen) + return pick(/obj/item/reagent_containers/food/snacks/candy, + /obj/item/reagent_containers/food/snacks/candy/proteinbar, + /obj/item/reagent_containers/food/snacks/candy/gummy, + /obj/item/reagent_containers/food/snacks/candy/donor, + /obj/item/reagent_containers/food/snacks/candy_corn, + /obj/item/reagent_containers/food/snacks/chips, + /obj/item/reagent_containers/food/snacks/chips/bbq, + /obj/item/reagent_containers/food/snacks/cookiesnack, + /obj/item/reagent_containers/food/snacks/fruitbar, + /obj/item/reagent_containers/food/snacks/chocolatebar, + /obj/item/reagent_containers/food/snacks/chocolatepiece, + /obj/item/reagent_containers/food/snacks/chocolatepiece/white, + /obj/item/reagent_containers/food/snacks/chocolatepiece/truffle, + /obj/item/reagent_containers/food/snacks/chocolateegg, + /obj/item/reagent_containers/food/snacks/donut/plain, + /obj/item/reagent_containers/food/snacks/donut/plain/jelly, + /obj/item/reagent_containers/food/snacks/donut/pink, + /obj/item/reagent_containers/food/snacks/donut/pink/jelly, + /obj/item/reagent_containers/food/snacks/donut/purple, + /obj/item/reagent_containers/food/snacks/donut/purple/jelly, + /obj/item/reagent_containers/food/snacks/donut/green, + /obj/item/reagent_containers/food/snacks/donut/green/jelly, + /obj/item/reagent_containers/food/snacks/donut/beige, + /obj/item/reagent_containers/food/snacks/donut/beige/jelly, + /obj/item/reagent_containers/food/snacks/donut/choc, + /obj/item/reagent_containers/food/snacks/donut/choc/jelly, + /obj/item/reagent_containers/food/snacks/donut/blue, + /obj/item/reagent_containers/food/snacks/donut/blue/jelly, + /obj/item/reagent_containers/food/snacks/donut/yellow, + /obj/item/reagent_containers/food/snacks/donut/yellow/jelly, + /obj/item/reagent_containers/food/snacks/donut/olive, + /obj/item/reagent_containers/food/snacks/donut/olive/jelly, + /obj/item/reagent_containers/food/snacks/donut/homer, + /obj/item/reagent_containers/food/snacks/donut/homer/jelly, + /obj/item/reagent_containers/food/snacks/donut/choc_sprinkles, + /obj/item/reagent_containers/food/snacks/donut/choc_sprinkles/jelly, + /obj/item/reagent_containers/food/snacks/tuna, + /obj/item/reagent_containers/food/snacks/pistachios, + /obj/item/reagent_containers/food/snacks/semki, + /obj/item/reagent_containers/food/snacks/cb01, + /obj/item/reagent_containers/food/snacks/cb02, + /obj/item/reagent_containers/food/snacks/cb03, + /obj/item/reagent_containers/food/snacks/cb04, + /obj/item/reagent_containers/food/snacks/cb05, + /obj/item/reagent_containers/food/snacks/cb06, + /obj/item/reagent_containers/food/snacks/cb07, + /obj/item/reagent_containers/food/snacks/cb08, + /obj/item/reagent_containers/food/snacks/cb09, + /obj/item/reagent_containers/food/snacks/cb10, + /obj/item/reagent_containers/food/snacks/tofu, + /obj/item/reagent_containers/food/snacks/donkpocket, + /obj/item/reagent_containers/food/snacks/muffin, + /obj/item/reagent_containers/food/snacks/soylentgreen, + /obj/item/reagent_containers/food/snacks/soylenviridians, + /obj/item/reagent_containers/food/snacks/popcorn, + /obj/item/reagent_containers/food/snacks/sosjerky, + /obj/item/reagent_containers/food/snacks/no_raisin, + /obj/item/reagent_containers/food/snacks/packaged/spacetwinkie, + /obj/item/reagent_containers/food/snacks/cheesiehonkers, + /obj/item/reagent_containers/food/snacks/poppypretzel, + /obj/item/reagent_containers/food/snacks/baguette, + /obj/item/reagent_containers/food/snacks/carrotfries, + /obj/item/reagent_containers/food/snacks/candiedapple, + /obj/item/storage/box/admints, + /obj/item/reagent_containers/food/snacks/tastybread, + /obj/item/reagent_containers/food/snacks/liquidfood, + /obj/item/reagent_containers/food/snacks/liquidprotein, + /obj/item/reagent_containers/food/snacks/liquidvitamin, + /obj/item/reagent_containers/food/snacks/skrellsnacks, + /obj/item/reagent_containers/food/snacks/unajerky, + /obj/item/reagent_containers/food/snacks/croissant, + /obj/item/reagent_containers/food/snacks/sugarcookie, + /obj/item/reagent_containers/food/drinks/dry_ramen) /obj/random/meat name = "random meat" @@ -525,15 +525,15 @@ icon_state = "meat" /obj/random/meat/item_to_spawn() - return pick(prob(60);/obj/item/weapon/reagent_containers/food/snacks/meat, - prob(20);/obj/item/weapon/reagent_containers/food/snacks/xenomeat/spidermeat, - prob(10);/obj/item/weapon/reagent_containers/food/snacks/carpmeat, - prob(5);/obj/item/weapon/reagent_containers/food/snacks/bearmeat, - prob(1);/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh, - prob(1);/obj/item/weapon/reagent_containers/food/snacks/meat/human, - prob(1);/obj/item/weapon/reagent_containers/food/snacks/meat/monkey, - prob(1);/obj/item/weapon/reagent_containers/food/snacks/meat/corgi, - prob(1);/obj/item/weapon/reagent_containers/food/snacks/xenomeat) + return pick(prob(60);/obj/item/reagent_containers/food/snacks/meat, + prob(20);/obj/item/reagent_containers/food/snacks/xenomeat/spidermeat, + prob(10);/obj/item/reagent_containers/food/snacks/carpmeat, + prob(5);/obj/item/reagent_containers/food/snacks/bearmeat, + prob(1);/obj/item/reagent_containers/food/snacks/meat/syntiflesh, + prob(1);/obj/item/reagent_containers/food/snacks/meat/human, + prob(1);/obj/item/reagent_containers/food/snacks/meat/monkey, + prob(1);/obj/item/reagent_containers/food/snacks/meat/corgi, + prob(1);/obj/item/reagent_containers/food/snacks/xenomeat) /obj/random/pizzabox name = "random pizza box" @@ -618,14 +618,14 @@ icon_state = "canister" /obj/random/tank/item_to_spawn() - return pick(prob(5);/obj/item/weapon/tank/oxygen, - prob(4);/obj/item/weapon/tank/oxygen/yellow, - prob(4);/obj/item/weapon/tank/oxygen/red, - prob(3);/obj/item/weapon/tank/air, - prob(4);/obj/item/weapon/tank/emergency/oxygen, - prob(3);/obj/item/weapon/tank/emergency/oxygen/engi, - prob(2);/obj/item/weapon/tank/emergency/oxygen/double, - prob(1);/obj/item/device/suit_cooling_unit) + return pick(prob(5);/obj/item/tank/oxygen, + prob(4);/obj/item/tank/oxygen/yellow, + prob(4);/obj/item/tank/oxygen/red, + prob(3);/obj/item/tank/air, + prob(4);/obj/item/tank/emergency/oxygen, + prob(3);/obj/item/tank/emergency/oxygen/engi, + prob(2);/obj/item/tank/emergency/oxygen/double, + prob(1);/obj/item/suit_cooling_unit) /obj/random/cigarettes name = "random cigarettes" @@ -634,15 +634,15 @@ icon_state = "cigpacket" /obj/random/cigarettes/item_to_spawn() - return pick(prob(5);/obj/item/weapon/storage/fancy/cigarettes, - prob(4);/obj/item/weapon/storage/fancy/cigarettes/dromedaryco, - prob(3);/obj/item/weapon/storage/fancy/cigarettes/killthroat, - prob(3);/obj/item/weapon/storage/fancy/cigarettes/luckystars, - prob(3);/obj/item/weapon/storage/fancy/cigarettes/jerichos, - prob(3);/obj/item/weapon/storage/fancy/cigarettes/menthols, - prob(3);/obj/item/weapon/storage/fancy/cigarettes/carcinomas, - prob(3);/obj/item/weapon/storage/fancy/cigarettes/professionals, - prob(1);/obj/item/weapon/storage/fancy/cigar, + return pick(prob(5);/obj/item/storage/fancy/cigarettes, + prob(4);/obj/item/storage/fancy/cigarettes/dromedaryco, + prob(3);/obj/item/storage/fancy/cigarettes/killthroat, + prob(3);/obj/item/storage/fancy/cigarettes/luckystars, + prob(3);/obj/item/storage/fancy/cigarettes/jerichos, + prob(3);/obj/item/storage/fancy/cigarettes/menthols, + prob(3);/obj/item/storage/fancy/cigarettes/carcinomas, + prob(3);/obj/item/storage/fancy/cigarettes/professionals, + prob(1);/obj/item/storage/fancy/cigar, prob(1);/obj/item/clothing/mask/smokable/cigarette/cigar, prob(1);/obj/item/clothing/mask/smokable/cigarette/cigar/cohiba, prob(1);/obj/item/clothing/mask/smokable/cigarette/cigar/havana) @@ -654,13 +654,13 @@ icon_state = "rup" /obj/random/coin/item_to_spawn() - return pick(prob(5);/obj/item/weapon/coin/silver, - prob(3);/obj/item/weapon/coin/iron, - prob(4);/obj/item/weapon/coin/gold, - prob(3);/obj/item/weapon/coin/phoron, - prob(1);/obj/item/weapon/coin/uranium, - prob(2);/obj/item/weapon/coin/platinum, - prob(1);/obj/item/weapon/coin/diamond) + return pick(prob(5);/obj/item/coin/silver, + prob(3);/obj/item/coin/iron, + prob(4);/obj/item/coin/gold, + prob(3);/obj/item/coin/phoron, + prob(1);/obj/item/coin/uranium, + prob(2);/obj/item/coin/platinum, + prob(1);/obj/item/coin/diamond) //VOREStation Add Start /obj/random/coin/sometimes @@ -808,9 +808,9 @@ /obj/item/toy/snappop, /obj/item/toy/sword, /obj/item/toy/balloon, - /obj/item/weapon/gun/projectile/revolver/toy/crossbow, + /obj/item/gun/projectile/revolver/toy/crossbow, /obj/item/toy/blink, - /obj/item/weapon/reagent_containers/spray/waterflower, + /obj/item/reagent_containers/spray/waterflower, /obj/item/toy/eight_ball, /obj/item/toy/eight_ball/conch, /obj/item/toy/mecha/ripley, @@ -824,7 +824,7 @@ /obj/item/toy/mecha/mauler, /obj/item/toy/mecha/odysseus, /obj/item/toy/mecha/phazon, - /obj/item/weapon/toy/monster_bait) + /obj/item/toy/monster_bait) /obj/random/mouseremains name = "random mouseremains" @@ -833,8 +833,8 @@ icon_state = "mousetrap" /obj/random/mouseremains/item_to_spawn() - return pick(/obj/item/device/assembly/mousetrap, - /obj/item/device/assembly/mousetrap/armed, + return pick(/obj/item/assembly/mousetrap, + /obj/item/assembly/mousetrap/armed, /obj/effect/decal/cleanable/bug_remains, /obj/effect/decal/cleanable/ash, /obj/item/trash/cigbutt, @@ -847,7 +847,7 @@ icon_state = "tech_2" /obj/random/janusmodule/item_to_spawn() - return pick(subtypesof(/obj/item/weapon/circuitboard/mecha/imperion)) + return pick(subtypesof(/obj/item/circuitboard/mecha/imperion)) /obj/random/curseditem name = "random cursed item" @@ -856,7 +856,7 @@ icon_state = "red" /obj/random/curseditem/item_to_spawn() - var/possible_object_paths = list(/obj/item/weapon/paper/carbon/cursedform) + var/possible_object_paths = list(/obj/item/paper/carbon/cursedform) possible_object_paths |= subtypesof(/obj/item/clothing/head/psy_crown) return pick(possible_object_paths) @@ -870,16 +870,16 @@ drop_get_turf = FALSE /obj/random/mre/item_to_spawn() - return pick(/obj/item/weapon/storage/mre, - /obj/item/weapon/storage/mre/menu2, - /obj/item/weapon/storage/mre/menu3, - /obj/item/weapon/storage/mre/menu4, - /obj/item/weapon/storage/mre/menu5, - /obj/item/weapon/storage/mre/menu6, - /obj/item/weapon/storage/mre/menu7, - /obj/item/weapon/storage/mre/menu8, - /obj/item/weapon/storage/mre/menu9, - /obj/item/weapon/storage/mre/menu10) + return pick(/obj/item/storage/mre, + /obj/item/storage/mre/menu2, + /obj/item/storage/mre/menu3, + /obj/item/storage/mre/menu4, + /obj/item/storage/mre/menu5, + /obj/item/storage/mre/menu6, + /obj/item/storage/mre/menu7, + /obj/item/storage/mre/menu8, + /obj/item/storage/mre/menu9, + /obj/item/storage/mre/menu10) /obj/random/mre/main @@ -889,14 +889,14 @@ drop_get_turf = FALSE /obj/random/mre/main/item_to_spawn() - return pick(/obj/item/weapon/storage/mrebag, - /obj/item/weapon/storage/mrebag/menu2, - /obj/item/weapon/storage/mrebag/menu3, - /obj/item/weapon/storage/mrebag/menu4, - /obj/item/weapon/storage/mrebag/menu5, - /obj/item/weapon/storage/mrebag/menu6, - /obj/item/weapon/storage/mrebag/menu7, - /obj/item/weapon/storage/mrebag/menu8) + return pick(/obj/item/storage/mrebag, + /obj/item/storage/mrebag/menu2, + /obj/item/storage/mrebag/menu3, + /obj/item/storage/mrebag/menu4, + /obj/item/storage/mrebag/menu5, + /obj/item/storage/mrebag/menu6, + /obj/item/storage/mrebag/menu7, + /obj/item/storage/mrebag/menu8) /obj/random/mre/side name = "random MRE side dish" @@ -905,11 +905,11 @@ drop_get_turf = FALSE /obj/random/mre/side/item_to_spawn() - return pick(/obj/item/weapon/reagent_containers/food/snacks/tossedsalad, - /obj/item/weapon/reagent_containers/food/snacks/boiledrice, - /obj/item/weapon/reagent_containers/food/snacks/poppypretzel, - /obj/item/weapon/reagent_containers/food/snacks/twobread, - /obj/item/weapon/reagent_containers/food/snacks/jelliedtoast) + return pick(/obj/item/reagent_containers/food/snacks/tossedsalad, + /obj/item/reagent_containers/food/snacks/boiledrice, + /obj/item/reagent_containers/food/snacks/poppypretzel, + /obj/item/reagent_containers/food/snacks/twobread, + /obj/item/reagent_containers/food/snacks/jelliedtoast) /obj/random/mre/dessert name = "random MRE dessert" @@ -918,22 +918,22 @@ drop_get_turf = FALSE /obj/random/mre/dessert/item_to_spawn() - return pick(/obj/item/weapon/reagent_containers/food/snacks/candy, - /obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar, - /obj/item/weapon/reagent_containers/food/snacks/donut/plain, - /obj/item/weapon/reagent_containers/food/snacks/donut/plain/jelly, - /obj/item/weapon/reagent_containers/food/snacks/chocolatebar, - /obj/item/weapon/reagent_containers/food/snacks/cookie) + return pick(/obj/item/reagent_containers/food/snacks/candy, + /obj/item/reagent_containers/food/snacks/candy/proteinbar, + /obj/item/reagent_containers/food/snacks/donut/plain, + /obj/item/reagent_containers/food/snacks/donut/plain/jelly, + /obj/item/reagent_containers/food/snacks/chocolatebar, + /obj/item/reagent_containers/food/snacks/cookie) /obj/random/mre/dessert/vegan name = "random vegan MRE dessert" desc = "This is a random vegan dessert for MREs." /obj/random/mre/dessert/vegan/item_to_spawn() - return pick(/obj/item/weapon/reagent_containers/food/snacks/candy, - /obj/item/weapon/reagent_containers/food/snacks/chocolatebar, - /obj/item/weapon/reagent_containers/food/snacks/donut/plain/jelly, - /obj/item/weapon/reagent_containers/food/snacks/plumphelmetbiscuit) + return pick(/obj/item/reagent_containers/food/snacks/candy, + /obj/item/reagent_containers/food/snacks/chocolatebar, + /obj/item/reagent_containers/food/snacks/donut/plain/jelly, + /obj/item/reagent_containers/food/snacks/plumphelmetbiscuit) /obj/random/mre/drink name = "random MRE drink" @@ -942,13 +942,13 @@ drop_get_turf = FALSE /obj/random/mre/drink/item_to_spawn() - return pick(/obj/item/weapon/reagent_containers/food/condiment/small/packet/coffee, - /obj/item/weapon/reagent_containers/food/condiment/small/packet/tea, - /obj/item/weapon/reagent_containers/food/condiment/small/packet/cocoa, - /obj/item/weapon/reagent_containers/food/condiment/small/packet/grape, - /obj/item/weapon/reagent_containers/food/condiment/small/packet/orange, - /obj/item/weapon/reagent_containers/food/condiment/small/packet/watermelon, - /obj/item/weapon/reagent_containers/food/condiment/small/packet/apple) + return pick(/obj/item/reagent_containers/food/condiment/small/packet/coffee, + /obj/item/reagent_containers/food/condiment/small/packet/tea, + /obj/item/reagent_containers/food/condiment/small/packet/cocoa, + /obj/item/reagent_containers/food/condiment/small/packet/grape, + /obj/item/reagent_containers/food/condiment/small/packet/orange, + /obj/item/reagent_containers/food/condiment/small/packet/watermelon, + /obj/item/reagent_containers/food/condiment/small/packet/apple) /obj/random/mre/spread name = "random MRE spread" @@ -957,15 +957,15 @@ drop_get_turf = FALSE /obj/random/mre/spread/item_to_spawn() - return pick(/obj/item/weapon/reagent_containers/food/condiment/small/packet/jelly, - /obj/item/weapon/reagent_containers/food/condiment/small/packet/honey) + return pick(/obj/item/reagent_containers/food/condiment/small/packet/jelly, + /obj/item/reagent_containers/food/condiment/small/packet/honey) /obj/random/mre/spread/vegan name = "random vegan MRE spread" desc = "This is a random vegan spread packet for MREs" /obj/random/mre/spread/vegan/item_to_spawn() - return pick(/obj/item/weapon/reagent_containers/food/condiment/small/packet/jelly) + return pick(/obj/item/reagent_containers/food/condiment/small/packet/jelly) /obj/random/mre/sauce name = "random MRE sauce" @@ -974,38 +974,38 @@ drop_get_turf = FALSE /obj/random/mre/sauce/item_to_spawn() - return pick(/obj/item/weapon/reagent_containers/food/condiment/small/packet/salt, - /obj/item/weapon/reagent_containers/food/condiment/small/packet/pepper, - /obj/item/weapon/reagent_containers/food/condiment/small/packet/sugar, - /obj/item/weapon/reagent_containers/food/condiment/small/packet/capsaicin, - /obj/item/weapon/reagent_containers/food/condiment/small/packet/ketchup, - /obj/item/weapon/reagent_containers/food/condiment/small/packet/mayo, - /obj/item/weapon/reagent_containers/food/condiment/small/packet/soy) + return pick(/obj/item/reagent_containers/food/condiment/small/packet/salt, + /obj/item/reagent_containers/food/condiment/small/packet/pepper, + /obj/item/reagent_containers/food/condiment/small/packet/sugar, + /obj/item/reagent_containers/food/condiment/small/packet/capsaicin, + /obj/item/reagent_containers/food/condiment/small/packet/ketchup, + /obj/item/reagent_containers/food/condiment/small/packet/mayo, + /obj/item/reagent_containers/food/condiment/small/packet/soy) /obj/random/mre/sauce/vegan/item_to_spawn() - return pick(/obj/item/weapon/reagent_containers/food/condiment/small/packet/salt, - /obj/item/weapon/reagent_containers/food/condiment/small/packet/pepper, - /obj/item/weapon/reagent_containers/food/condiment/small/packet/sugar, - /obj/item/weapon/reagent_containers/food/condiment/small/packet/soy) + return pick(/obj/item/reagent_containers/food/condiment/small/packet/salt, + /obj/item/reagent_containers/food/condiment/small/packet/pepper, + /obj/item/reagent_containers/food/condiment/small/packet/sugar, + /obj/item/reagent_containers/food/condiment/small/packet/soy) /obj/random/mre/sauce/sugarfree/item_to_spawn() - return pick(/obj/item/weapon/reagent_containers/food/condiment/small/packet/salt, - /obj/item/weapon/reagent_containers/food/condiment/small/packet/pepper, - /obj/item/weapon/reagent_containers/food/condiment/small/packet/capsaicin, - /obj/item/weapon/reagent_containers/food/condiment/small/packet/ketchup, - /obj/item/weapon/reagent_containers/food/condiment/small/packet/mayo, - /obj/item/weapon/reagent_containers/food/condiment/small/packet/soy) + return pick(/obj/item/reagent_containers/food/condiment/small/packet/salt, + /obj/item/reagent_containers/food/condiment/small/packet/pepper, + /obj/item/reagent_containers/food/condiment/small/packet/capsaicin, + /obj/item/reagent_containers/food/condiment/small/packet/ketchup, + /obj/item/reagent_containers/food/condiment/small/packet/mayo, + /obj/item/reagent_containers/food/condiment/small/packet/soy) /obj/random/mre/sauce/crayon/item_to_spawn() - return pick(/obj/item/weapon/reagent_containers/food/condiment/small/packet/crayon/generic, - /obj/item/weapon/reagent_containers/food/condiment/small/packet/crayon/red, - /obj/item/weapon/reagent_containers/food/condiment/small/packet/crayon/orange, - /obj/item/weapon/reagent_containers/food/condiment/small/packet/crayon/yellow, - /obj/item/weapon/reagent_containers/food/condiment/small/packet/crayon/green, - /obj/item/weapon/reagent_containers/food/condiment/small/packet/crayon/blue, - /obj/item/weapon/reagent_containers/food/condiment/small/packet/crayon/purple, - /obj/item/weapon/reagent_containers/food/condiment/small/packet/crayon/grey, - /obj/item/weapon/reagent_containers/food/condiment/small/packet/crayon/brown) + return pick(/obj/item/reagent_containers/food/condiment/small/packet/crayon/generic, + /obj/item/reagent_containers/food/condiment/small/packet/crayon/red, + /obj/item/reagent_containers/food/condiment/small/packet/crayon/orange, + /obj/item/reagent_containers/food/condiment/small/packet/crayon/yellow, + /obj/item/reagent_containers/food/condiment/small/packet/crayon/green, + /obj/item/reagent_containers/food/condiment/small/packet/crayon/blue, + /obj/item/reagent_containers/food/condiment/small/packet/crayon/purple, + /obj/item/reagent_containers/food/condiment/small/packet/crayon/grey, + /obj/item/reagent_containers/food/condiment/small/packet/crayon/brown) /obj/random/thermalponcho name = "random thermal poncho" @@ -1028,19 +1028,19 @@ /obj/random/pouch/item_to_spawn() return pick( - prob(10);/obj/item/weapon/storage/pouch, // medium - prob(3);/obj/item/weapon/storage/pouch/large, - prob(8);/obj/item/weapon/storage/pouch/small, - prob(5);/obj/item/weapon/storage/pouch/ammo, - prob(5);/obj/item/weapon/storage/pouch/eng_tool, - prob(5);/obj/item/weapon/storage/pouch/eng_supply, - prob(5);/obj/item/weapon/storage/pouch/eng_parts, - prob(5);/obj/item/weapon/storage/pouch/medical, - prob(5);/obj/item/weapon/storage/pouch/flares/full_flare, - prob(5);/obj/item/weapon/storage/pouch/flares/full_glow, - prob(5);/obj/item/weapon/storage/pouch/holster, - prob(5);/obj/item/weapon/storage/pouch/baton/full, - prob(1);/obj/item/weapon/storage/pouch/holding + prob(10);/obj/item/storage/pouch, // medium + prob(3);/obj/item/storage/pouch/large, + prob(8);/obj/item/storage/pouch/small, + prob(5);/obj/item/storage/pouch/ammo, + prob(5);/obj/item/storage/pouch/eng_tool, + prob(5);/obj/item/storage/pouch/eng_supply, + prob(5);/obj/item/storage/pouch/eng_parts, + prob(5);/obj/item/storage/pouch/medical, + prob(5);/obj/item/storage/pouch/flares/full_flare, + prob(5);/obj/item/storage/pouch/flares/full_glow, + prob(5);/obj/item/storage/pouch/holster, + prob(5);/obj/item/storage/pouch/baton/full, + prob(1);/obj/item/storage/pouch/holding ) /obj/random/flashlight @@ -1051,14 +1051,14 @@ /obj/random/flashlight/item_to_spawn() return pick( - prob(8);/obj/item/device/flashlight, - prob(6);/obj/item/device/flashlight/color, - prob(6);/obj/item/device/flashlight/color/green, - prob(6);/obj/item/device/flashlight/color/purple, - prob(6);/obj/item/device/flashlight/color/red, - prob(6);/obj/item/device/flashlight/color/orange, - prob(6);/obj/item/device/flashlight/color/yellow, - prob(2);/obj/item/device/flashlight/maglight + prob(8);/obj/item/flashlight, + prob(6);/obj/item/flashlight/color, + prob(6);/obj/item/flashlight/color/green, + prob(6);/obj/item/flashlight/color/purple, + prob(6);/obj/item/flashlight/color/red, + prob(6);/obj/item/flashlight/color/orange, + prob(6);/obj/item/flashlight/color/yellow, + prob(2);/obj/item/flashlight/maglight ) /obj/random/mug @@ -1068,35 +1068,35 @@ icon_state = "coffeecup_spawner" /obj/random/mug/item_to_spawn() - return pick(/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug, - /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/sol, - /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/fleet, - /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/fivearrows, - /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/psc, - /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/alma, - /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/almp, - /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/nt, - /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/metal/wulf, - /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/gilthari, - /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/zeng, - /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/wt, - /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/aether, - /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/bishop, - /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/oculum, - /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/one, - /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/puni, - /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/heart, - /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/pawn, - /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/diona, - /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/britcup, - /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/flame, - /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/blue, - /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/black, - /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/green, - /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/green/dark, - /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/rainbow, - /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/metal, - /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/talon) + return pick(/obj/item/reagent_containers/food/drinks/glass2/coffeemug, + /obj/item/reagent_containers/food/drinks/glass2/coffeemug/sol, + /obj/item/reagent_containers/food/drinks/glass2/coffeemug/fleet, + /obj/item/reagent_containers/food/drinks/glass2/coffeemug/fivearrows, + /obj/item/reagent_containers/food/drinks/glass2/coffeemug/psc, + /obj/item/reagent_containers/food/drinks/glass2/coffeemug/alma, + /obj/item/reagent_containers/food/drinks/glass2/coffeemug/almp, + /obj/item/reagent_containers/food/drinks/glass2/coffeemug/nt, + /obj/item/reagent_containers/food/drinks/glass2/coffeemug/metal/wulf, + /obj/item/reagent_containers/food/drinks/glass2/coffeemug/gilthari, + /obj/item/reagent_containers/food/drinks/glass2/coffeemug/zeng, + /obj/item/reagent_containers/food/drinks/glass2/coffeemug/wt, + /obj/item/reagent_containers/food/drinks/glass2/coffeemug/aether, + /obj/item/reagent_containers/food/drinks/glass2/coffeemug/bishop, + /obj/item/reagent_containers/food/drinks/glass2/coffeemug/oculum, + /obj/item/reagent_containers/food/drinks/glass2/coffeemug/one, + /obj/item/reagent_containers/food/drinks/glass2/coffeemug/puni, + /obj/item/reagent_containers/food/drinks/glass2/coffeemug/heart, + /obj/item/reagent_containers/food/drinks/glass2/coffeemug/pawn, + /obj/item/reagent_containers/food/drinks/glass2/coffeemug/diona, + /obj/item/reagent_containers/food/drinks/glass2/coffeemug/britcup, + /obj/item/reagent_containers/food/drinks/glass2/coffeemug/flame, + /obj/item/reagent_containers/food/drinks/glass2/coffeemug/blue, + /obj/item/reagent_containers/food/drinks/glass2/coffeemug/black, + /obj/item/reagent_containers/food/drinks/glass2/coffeemug/green, + /obj/item/reagent_containers/food/drinks/glass2/coffeemug/green/dark, + /obj/item/reagent_containers/food/drinks/glass2/coffeemug/rainbow, + /obj/item/reagent_containers/food/drinks/glass2/coffeemug/metal, + /obj/item/reagent_containers/food/drinks/glass2/coffeemug/talon) /obj/random/donkpocketbox name = "Random Donk-pocket Box" @@ -1105,13 +1105,13 @@ icon_state = "donkpocket_spawner" /obj/random/donkpocketbox/item_to_spawn() - return pick(/obj/item/weapon/storage/box/donkpockets, - /obj/item/weapon/storage/box/donkpockets/spicy, - /obj/item/weapon/storage/box/donkpockets/teriyaki, - /obj/item/weapon/storage/box/donkpockets/pizza, - /obj/item/weapon/storage/box/donkpockets/honk, - /obj/item/weapon/storage/box/donkpockets/gondola, - /obj/item/weapon/storage/box/donkpockets/berry) + return pick(/obj/item/storage/box/donkpockets, + /obj/item/storage/box/donkpockets/spicy, + /obj/item/storage/box/donkpockets/teriyaki, + /obj/item/storage/box/donkpockets/pizza, + /obj/item/storage/box/donkpockets/honk, + /obj/item/storage/box/donkpockets/gondola, + /obj/item/storage/box/donkpockets/berry) /obj/random/bluespace name = "Random Bluespace Item" @@ -1120,32 +1120,63 @@ /obj/random/bluespace/item_to_spawn() return pick( - prob(20);/obj/item/weapon/gun/energy/sizegun, - prob(20);/obj/item/device/slow_sizegun, + prob(20);/obj/item/gun/energy/sizegun, + prob(20);/obj/item/slow_sizegun, prob(20);/obj/item/clothing/accessory/collar/shock/bluespace, - prob(4);/obj/item/weapon/reagent_containers/glass/beaker/bluespace, - prob(4);/obj/item/device/bodysnatcher, + prob(4);/obj/item/reagent_containers/glass/beaker/bluespace, + prob(4);/obj/item/bodysnatcher, prob(10);/obj/item/clothing/under/hyperfiber, prob(10);/obj/item/clothing/under/hyperfiber/bluespace, - prob(20);/obj/item/weapon/implant/sizecontrol, - prob(2);/obj/item/weapon/storage/bag/ore/holding, - prob(2);/obj/item/weapon/storage/backpack/holding, - prob(2);/obj/item/weapon/storage/backpack/holding/duffle, - prob(2);/obj/item/weapon/storage/bag/trash/holding, - prob(2);/obj/item/weapon/storage/pouch/holding, - prob(2);/obj/item/weapon/storage/belt/medical/holding, - prob(2);/obj/item/weapon/storage/belt/utility/holding, - prob(2);/obj/item/device/perfect_tele, + prob(20);/obj/item/implant/sizecontrol, + prob(2);/obj/item/storage/bag/ore/holding, + prob(2);/obj/item/storage/backpack/holding, + prob(2);/obj/item/storage/backpack/holding/duffle, + prob(2);/obj/item/storage/bag/trash/holding, + prob(2);/obj/item/storage/pouch/holding, + prob(2);/obj/item/storage/belt/medical/holding, + prob(2);/obj/item/storage/belt/utility/holding, + prob(2);/obj/item/perfect_tele, prob(8);/obj/item/capture_crystal/random, - prob(10);/obj/item/weapon/bluespace_harpoon, - prob(10);/obj/item/weapon/bluespace_crystal, + prob(10);/obj/item/bluespace_harpoon, + prob(10);/obj/item/bluespace_crystal, prob(1);/obj/item/clothing/glasses/graviton, - prob(10);/obj/item/weapon/cracker, - prob(1);/obj/item/weapon/cracker/shrinking, - prob(1);/obj/item/weapon/cracker/growing, - prob(1);/obj/item/weapon/cracker/invisibility, - prob(1);/obj/item/weapon/cracker/drugged, - prob(1);/obj/item/weapon/cracker/knockover, - prob(1);/obj/item/weapon/cracker/vore, - prob(1);/obj/item/weapon/cracker/money - ) \ No newline at end of file + prob(10);/obj/item/cracker, + prob(1);/obj/item/cracker/shrinking, + prob(1);/obj/item/cracker/growing, + prob(1);/obj/item/cracker/invisibility, + prob(1);/obj/item/cracker/drugged, + prob(1);/obj/item/cracker/knockover, + prob(1);/obj/item/cracker/vore, + prob(1);/obj/item/cracker/money + ) + +/obj/random/translator + name = "Random language translator" + desc = "This is a random single language translator." + icon = 'icons/obj/device.dmi' + icon_state = "translator_small" + +/obj/random/translator/item_to_spawn() + return pick(/obj/item/universal_translator/limited, + /obj/item/universal_translator/limited/sol, + /obj/item/universal_translator/limited/terminus, + /obj/item/universal_translator/limited/tradeband, + /obj/item/universal_translator/limited/gutterband, + /obj/item/universal_translator/limited/skrellian, + /obj/item/universal_translator/limited/unathi, + /obj/item/universal_translator/limited/siik, + /obj/item/universal_translator/limited/schechi, + /obj/item/universal_translator/limited/vedaqh, + /obj/item/universal_translator/limited/birdsong, + /obj/item/universal_translator/limited/sagaru, + /obj/item/universal_translator/limited/canilunzt, + /obj/item/universal_translator/limited/ecureuilian, + /obj/item/universal_translator/limited/daemon, + /obj/item/universal_translator/limited/enochian, + /obj/item/universal_translator/limited/vespinae, + /obj/item/universal_translator/limited/dragon, + /obj/item/universal_translator/limited/spacer, + /obj/item/universal_translator/limited/tavan, + /obj/item/universal_translator/limited/echosong, + /obj/item/universal_translator/limited/akhani, + /obj/item/universal_translator/limited/alai) diff --git a/code/game/objects/random/misc_vr.dm b/code/game/objects/random/misc_vr.dm index b1781eb66ef..0e022ee8d94 100644 --- a/code/game/objects/random/misc_vr.dm +++ b/code/game/objects/random/misc_vr.dm @@ -7,8 +7,8 @@ icon_state = "explorer_shield" /obj/random/explorer_shield/item_to_spawn() - return pick(/obj/item/weapon/shield/riot/explorer, - /obj/item/weapon/shield/riot/explorer/purple) + return pick(/obj/item/shield/riot/explorer, + /obj/item/shield/riot/explorer/purple) /obj/random/awayloot name = "random away mission loot" @@ -18,33 +18,33 @@ spawn_nothing_percentage = 50 /obj/random/awayloot/item_to_spawn() - return pick(prob(50);/obj/item/weapon/aliencoin/basic, - prob(40);/obj/item/weapon/aliencoin/silver, - prob(30);/obj/item/weapon/aliencoin/gold, - prob(20);/obj/item/weapon/aliencoin/phoron, - prob(10);/obj/item/device/denecrotizer, + return pick(prob(50);/obj/item/aliencoin/basic, + prob(40);/obj/item/aliencoin/silver, + prob(30);/obj/item/aliencoin/gold, + prob(20);/obj/item/aliencoin/phoron, + prob(10);/obj/item/denecrotizer, prob(5);/obj/item/capture_crystal, - prob(5);/obj/item/device/perfect_tele, - prob(5);/obj/item/weapon/bluespace_harpoon, - prob(1);/obj/item/weapon/cell/infinite, - prob(1);/obj/item/weapon/cell/void, - prob(1);/obj/item/weapon/cell/device/weapon/recharge/alien, + prob(5);/obj/item/perfect_tele, + prob(5);/obj/item/bluespace_harpoon, + prob(1);/obj/item/cell/infinite, + prob(1);/obj/item/cell/void, + prob(1);/obj/item/cell/device/weapon/recharge/alien, prob(1);/obj/item/clothing/shoes/boots/speed, - prob(1);/obj/item/device/nif, - prob(1);/obj/item/device/paicard, - prob(2);/obj/item/weapon/storage/backpack/dufflebag/syndie, - prob(2);/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, - prob(2);/obj/item/weapon/storage/backpack/dufflebag/syndie/med, + prob(1);/obj/item/nif, + prob(1);/obj/item/paicard, + prob(2);/obj/item/storage/backpack/dufflebag/syndie, + prob(2);/obj/item/storage/backpack/dufflebag/syndie/ammo, + prob(2);/obj/item/storage/backpack/dufflebag/syndie/med, prob(2);/obj/item/clothing/mask/gas/voice, - prob(2);/obj/item/device/radio_jammer, + prob(2);/obj/item/radio_jammer, prob(1);/obj/item/toy/bosunwhistle, - prob(1);/obj/item/weapon/bananapeel, + prob(1);/obj/item/bananapeel, prob(5);/obj/fiftyspawner/platinum, prob(3);/obj/fiftyspawner/gold, prob(3);/obj/fiftyspawner/silver, prob(1);/obj/fiftyspawner/diamond, prob(5);/obj/fiftyspawner/phoron, - prob(1);/obj/item/weapon/telecube/randomized, + prob(1);/obj/item/telecube/randomized, prob(1);/obj/item/capture_crystal/random ) @@ -54,36 +54,36 @@ /obj/random/awayloot/looseloot /obj/random/awayloot/looseloot/item_to_spawn() - return pick(prob(50);/obj/item/weapon/aliencoin, - prob(40);/obj/item/weapon/aliencoin/silver, - prob(30);/obj/item/weapon/aliencoin/gold, - prob(20);/obj/item/weapon/aliencoin/phoron, - prob(10);/obj/item/device/denecrotizer, + return pick(prob(50);/obj/item/aliencoin, + prob(40);/obj/item/aliencoin/silver, + prob(30);/obj/item/aliencoin/gold, + prob(20);/obj/item/aliencoin/phoron, + prob(10);/obj/item/denecrotizer, prob(5);/obj/item/capture_crystal, prob(3);/obj/item/capture_crystal/great, prob(1);/obj/item/capture_crystal/ultra, prob(4);/obj/item/capture_crystal/random, - prob(5);/obj/item/device/perfect_tele, - prob(5);/obj/item/weapon/bluespace_harpoon, - prob(1);/obj/item/weapon/cell/infinite, - prob(1);/obj/item/weapon/cell/void, - prob(1);/obj/item/weapon/cell/device/weapon/recharge/alien, + prob(5);/obj/item/perfect_tele, + prob(5);/obj/item/bluespace_harpoon, + prob(1);/obj/item/cell/infinite, + prob(1);/obj/item/cell/void, + prob(1);/obj/item/cell/device/weapon/recharge/alien, prob(1);/obj/item/clothing/shoes/boots/speed, - prob(1);/obj/item/device/nif, - prob(1);/obj/item/device/paicard, - prob(2);/obj/item/weapon/storage/backpack/dufflebag/syndie, - prob(2);/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, - prob(2);/obj/item/weapon/storage/backpack/dufflebag/syndie/med, + prob(1);/obj/item/nif, + prob(1);/obj/item/paicard, + prob(2);/obj/item/storage/backpack/dufflebag/syndie, + prob(2);/obj/item/storage/backpack/dufflebag/syndie/ammo, + prob(2);/obj/item/storage/backpack/dufflebag/syndie/med, prob(2);/obj/item/clothing/mask/gas/voice, - prob(2);/obj/item/device/radio_jammer, + prob(2);/obj/item/radio_jammer, prob(1);/obj/item/toy/bosunwhistle, - prob(1);/obj/item/weapon/bananapeel, + prob(1);/obj/item/bananapeel, prob(5);/obj/fiftyspawner/platinum, prob(3);/obj/fiftyspawner/gold, prob(3);/obj/fiftyspawner/silver, prob(1);/obj/fiftyspawner/diamond, prob(5);/obj/fiftyspawner/phoron, - prob(1);/obj/item/weapon/telecube/randomized, + prob(1);/obj/item/telecube/randomized, prob(10);/obj/random/empty_or_lootable_crate, prob(10);/obj/random/medical, prob(5);/obj/random/firstaid, @@ -109,22 +109,22 @@ spawn_nothing_percentage = 50 /obj/random/mainttoyloot/item_to_spawn() - return pick(prob(50);/obj/item/weapon/aliencoin/basic, - prob(40);/obj/item/weapon/aliencoin/silver, - prob(30);/obj/item/weapon/aliencoin/gold, - prob(20);/obj/item/weapon/aliencoin/phoron, + return pick(prob(50);/obj/item/aliencoin/basic, + prob(40);/obj/item/aliencoin/silver, + prob(30);/obj/item/aliencoin/gold, + prob(20);/obj/item/aliencoin/phoron, prob(5);/obj/item/capture_crystal, prob(5);/obj/random/mouseray, - prob(5);/obj/item/device/perfect_tele, - prob(5);/obj/item/weapon/bluespace_harpoon, - prob(1);/obj/item/device/paicard, - prob(2);/obj/item/weapon/storage/backpack/dufflebag/syndie, - prob(2);/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, - prob(2);/obj/item/weapon/storage/backpack/dufflebag/syndie/med, + prob(5);/obj/item/perfect_tele, + prob(5);/obj/item/bluespace_harpoon, + prob(1);/obj/item/paicard, + prob(2);/obj/item/storage/backpack/dufflebag/syndie, + prob(2);/obj/item/storage/backpack/dufflebag/syndie/ammo, + prob(2);/obj/item/storage/backpack/dufflebag/syndie/med, prob(2);/obj/item/clothing/mask/gas/voice, - prob(2);/obj/item/device/radio_jammer, + prob(2);/obj/item/radio_jammer, prob(1);/obj/item/toy/bosunwhistle, - prob(1);/obj/item/weapon/bananapeel, + prob(1);/obj/item/bananapeel, prob(5);/obj/fiftyspawner/platinum, prob(3);/obj/fiftyspawner/gold, prob(3);/obj/fiftyspawner/silver, @@ -189,8 +189,8 @@ prob(1);/obj/random/thermalponcho, prob(5);/obj/random/contraband, prob(5);/obj/random/cargopod, - prob(1);/obj/item/weapon/flame/lighter, - prob(1);/obj/item/weapon/storage/wallet/random, + prob(1);/obj/item/flame/lighter, + prob(1);/obj/item/storage/wallet/random, prob(1);/obj/random/cutout) /obj/random/instrument @@ -243,28 +243,28 @@ spawn_nothing_percentage = 0 /obj/random/potion/item_to_spawn() - return pick(prob(20);/obj/item/weapon/reagent_containers/glass/bottle/potion/healing, - prob(4);/obj/item/weapon/reagent_containers/glass/bottle/potion/greater_healing, - prob(20);/obj/item/weapon/reagent_containers/glass/bottle/potion/fire_resist, - prob(20);/obj/item/weapon/reagent_containers/glass/bottle/potion/antidote, - prob(20);/obj/item/weapon/reagent_containers/glass/bottle/potion/water, - prob(8);/obj/item/weapon/reagent_containers/glass/bottle/potion/regeneration, - prob(10);/obj/item/weapon/reagent_containers/glass/bottle/potion/panacea, - prob(10);/obj/item/weapon/reagent_containers/glass/bottle/potion/magic, - prob(10);/obj/item/weapon/reagent_containers/glass/bottle/potion/lightness, - prob(4);/obj/item/weapon/reagent_containers/glass/bottle/potion/SOP, - prob(4);/obj/item/weapon/reagent_containers/glass/bottle/potion/shrink, - prob(4);/obj/item/weapon/reagent_containers/glass/bottle/potion/growth, - prob(20);/obj/item/weapon/reagent_containers/glass/bottle/potion/pain, - prob(10);/obj/item/weapon/reagent_containers/glass/bottle/potion/faerie, - prob(10);/obj/item/weapon/reagent_containers/glass/bottle/potion/relaxation, - prob(10);/obj/item/weapon/reagent_containers/glass/bottle/potion/speed, - prob(10);/obj/item/weapon/reagent_containers/glass/bottle/potion/attractiveness, - prob(4);/obj/item/weapon/reagent_containers/glass/bottle/potion/girljuice, - prob(4);/obj/item/weapon/reagent_containers/glass/bottle/potion/boyjuice, - prob(4);/obj/item/weapon/reagent_containers/glass/bottle/potion/badpolymorph, - prob(2);/obj/item/weapon/reagent_containers/glass/bottle/potion/bonerepair, - prob(1);/obj/item/weapon/reagent_containers/glass/bottle/potion/truepolymorph + return pick(prob(20);/obj/item/reagent_containers/glass/bottle/potion/healing, + prob(4);/obj/item/reagent_containers/glass/bottle/potion/greater_healing, + prob(20);/obj/item/reagent_containers/glass/bottle/potion/fire_resist, + prob(20);/obj/item/reagent_containers/glass/bottle/potion/antidote, + prob(20);/obj/item/reagent_containers/glass/bottle/potion/water, + prob(8);/obj/item/reagent_containers/glass/bottle/potion/regeneration, + prob(10);/obj/item/reagent_containers/glass/bottle/potion/panacea, + prob(10);/obj/item/reagent_containers/glass/bottle/potion/magic, + prob(10);/obj/item/reagent_containers/glass/bottle/potion/lightness, + prob(4);/obj/item/reagent_containers/glass/bottle/potion/SOP, + prob(4);/obj/item/reagent_containers/glass/bottle/potion/shrink, + prob(4);/obj/item/reagent_containers/glass/bottle/potion/growth, + prob(20);/obj/item/reagent_containers/glass/bottle/potion/pain, + prob(10);/obj/item/reagent_containers/glass/bottle/potion/faerie, + prob(10);/obj/item/reagent_containers/glass/bottle/potion/relaxation, + prob(10);/obj/item/reagent_containers/glass/bottle/potion/speed, + prob(10);/obj/item/reagent_containers/glass/bottle/potion/attractiveness, + prob(4);/obj/item/reagent_containers/glass/bottle/potion/girljuice, + prob(4);/obj/item/reagent_containers/glass/bottle/potion/boyjuice, + prob(4);/obj/item/reagent_containers/glass/bottle/potion/badpolymorph, + prob(2);/obj/item/reagent_containers/glass/bottle/potion/bonerepair, + prob(1);/obj/item/reagent_containers/glass/bottle/potion/truepolymorph ) /obj/random/potion_ingredient @@ -274,28 +274,63 @@ spawn_nothing_percentage = 0 /obj/random/potion_ingredient/item_to_spawn() - return pick(prob(10);/obj/item/weapon/potion_material/blood_ruby, - prob(2);/obj/item/weapon/potion_material/ruby_eye, - prob(10);/obj/item/weapon/potion_material/golden_scale, - prob(10);/obj/item/weapon/potion_material/frozen_dew, - prob(10);/obj/item/weapon/potion_material/living_coral, - prob(4);/obj/item/weapon/potion_material/rare_horn, - prob(5);/obj/item/weapon/potion_material/moldy_bread, - prob(5);/obj/item/weapon/potion_material/glowing_gem, - prob(5);/obj/item/weapon/potion_material/giant_toe, - prob(2);/obj/item/weapon/potion_material/flesh_of_the_stars, - prob(2);/obj/item/weapon/potion_material/spinning_poppy, - prob(2);/obj/item/weapon/potion_material/salt_mage, - prob(10);/obj/item/weapon/potion_material/golden_grapes, - prob(5);/obj/item/weapon/potion_material/fairy_house, - prob(5);/obj/item/weapon/potion_material/thorny_bulb, - prob(5);/obj/item/weapon/potion_material/ancient_egg, - prob(5);/obj/item/weapon/potion_material/crown_stem, - prob(2);/obj/item/weapon/potion_material/red_ingot, - prob(2);/obj/item/weapon/potion_material/soft_diamond, - prob(2);/obj/item/weapon/potion_material/solid_mist, - prob(1);/obj/item/weapon/potion_material/spider_leg, - prob(1);/obj/item/weapon/potion_material/folded_dark + return pick(prob(10);/obj/item/potion_material/blood_ruby, + prob(2);/obj/item/potion_material/ruby_eye, + prob(10);/obj/item/potion_material/golden_scale, + prob(10);/obj/item/potion_material/frozen_dew, + prob(10);/obj/item/potion_material/living_coral, + prob(4);/obj/item/potion_material/rare_horn, + prob(5);/obj/item/potion_material/moldy_bread, + prob(5);/obj/item/potion_material/glowing_gem, + prob(5);/obj/item/potion_material/giant_toe, + prob(2);/obj/item/potion_material/flesh_of_the_stars, + prob(2);/obj/item/potion_material/spinning_poppy, + prob(2);/obj/item/potion_material/salt_mage, + prob(10);/obj/item/potion_material/golden_grapes, + prob(5);/obj/item/potion_material/fairy_house, + prob(5);/obj/item/potion_material/thorny_bulb, + prob(5);/obj/item/potion_material/ancient_egg, + prob(5);/obj/item/potion_material/crown_stem, + prob(2);/obj/item/potion_material/red_ingot, + prob(2);/obj/item/potion_material/soft_diamond, + prob(2);/obj/item/potion_material/solid_mist, + prob(1);/obj/item/potion_material/spider_leg, + prob(1);/obj/item/potion_material/folded_dark + ) + +/obj/random/potion_ingredient/plus + name = "random better potion ingredient" + desc = "A random potion." + icon_state = "ingredient_plus" + spawn_nothing_percentage = 0 + +/obj/random/potion_ingredient/plus/item_to_spawn() + return pick(prob(20);/obj/item/potion_material/blood_ruby, + prob(4);/obj/item/potion_material/ruby_eye, + prob(20);/obj/item/potion_material/golden_scale, + prob(20);/obj/item/potion_material/frozen_dew, + prob(20);/obj/item/potion_material/living_coral, + prob(8);/obj/item/potion_material/rare_horn, + prob(10);/obj/item/potion_material/moldy_bread, + prob(10);/obj/item/potion_material/glowing_gem, + prob(10);/obj/item/potion_material/giant_toe, + prob(4);/obj/item/potion_material/flesh_of_the_stars, + prob(4);/obj/item/potion_material/spinning_poppy, + prob(4);/obj/item/potion_material/salt_mage, + prob(20);/obj/item/potion_material/golden_grapes, + prob(10);/obj/item/potion_material/fairy_house, + prob(10);/obj/item/potion_material/thorny_bulb, + prob(10);/obj/item/potion_material/ancient_egg, + prob(10);/obj/item/potion_material/crown_stem, + prob(4);/obj/item/potion_material/red_ingot, + prob(4);/obj/item/potion_material/soft_diamond, + prob(4);/obj/item/potion_material/solid_mist, + prob(2);/obj/item/potion_material/spider_leg, + prob(2);/obj/item/potion_material/folded_dark, + // YW COMMENT lleill prob(1);/obj/item/potion_material/glamour_transparent, + // YW COMMENT lleill prob(1);/obj/item/potion_material/glamour_shrinking, + // YW COMMENT lleill prob(1);/obj/item/potion_material/glamour_twinkling, + // YW COMMENT lleill prob(1);/obj/item/potion_material/glamour_shard ) /obj/random/potion_base @@ -305,9 +340,9 @@ spawn_nothing_percentage = 0 /obj/random/potion_base/item_to_spawn() - return pick(prob(10);/obj/item/weapon/potion_base/aqua_regia, - prob(10);/obj/item/weapon/potion_base/ichor, - prob(10);/obj/item/weapon/potion_base/alkahest + return pick(prob(10);/obj/item/potion_base/aqua_regia, + prob(10);/obj/item/potion_base/ichor, + prob(10);/obj/item/potion_base/alkahest ) /obj/random/fantasy_item @@ -317,30 +352,30 @@ spawn_nothing_percentage = 0 /obj/random/fantasy_item/item_to_spawn() - return pick(prob(3);/obj/item/device/healthanalyzer/scroll, - prob(10);/obj/item/weapon/gun/energy/taser/magic, - prob(5);/obj/item/weapon/bluespace_harpoon/wand, - prob(10);/obj/item/device/slow_sizegun/magic, + return pick(prob(3);/obj/item/healthanalyzer/scroll, + prob(10);/obj/item/gun/energy/taser/magic, + prob(5);/obj/item/bluespace_harpoon/wand, + prob(10);/obj/item/slow_sizegun/magic, prob(10);/obj/item/clothing/gloves/bluespace/magic, - prob(30);/obj/item/weapon/coin/gold, - prob(30);/obj/item/weapon/coin/silver, - prob(30);/obj/item/weapon/coin/platinum, - prob(20);/obj/item/weapon/material/sword/rapier, - prob(20);/obj/item/weapon/material/sword/longsword, + prob(30);/obj/item/coin/gold, + prob(30);/obj/item/coin/silver, + prob(30);/obj/item/coin/platinum, + prob(20);/obj/item/material/sword/rapier, + prob(20);/obj/item/material/sword/longsword, prob(20);/obj/item/clothing/head/helmet/bucket/wood, - prob(3);/obj/item/weapon/tool/wirecutters/alien/magic, - prob(3);/obj/item/weapon/tool/crowbar/alien/magic, - prob(3);/obj/item/weapon/tool/screwdriver/alien/magic, - prob(3);/obj/item/weapon/weldingtool/alien/magic, - prob(3);/obj/item/weapon/tool/wrench/alien/magic, - prob(3);/obj/item/weapon/surgical/bone_clamp/alien/magic, + prob(3);/obj/item/tool/wirecutters/alien/magic, + prob(3);/obj/item/tool/crowbar/alien/magic, + prob(3);/obj/item/tool/screwdriver/alien/magic, + prob(3);/obj/item/weldingtool/alien/magic, + prob(3);/obj/item/tool/wrench/alien/magic, + prob(3);/obj/item/surgical/bone_clamp/alien/magic, prob(10);/obj/item/stack/material/gold, prob(10);/obj/item/stack/material/silver, - prob(3);/obj/item/weapon/bone/skull, - prob(20);/obj/item/weapon/material/twohanded/staff, - prob(3);/obj/item/weapon/gun/energy/hooklauncher/ring, + prob(3);/obj/item/bone/skull, + prob(20);/obj/item/material/twohanded/staff, + prob(3);/obj/item/gun/energy/hooklauncher/ring, prob(3);/obj/item/toy/eight_ball, - prob(3);/obj/item/device/perfect_tele/magic + prob(3);/obj/item/perfect_tele/magic ) /obj/random/fantasy_item/better @@ -350,21 +385,21 @@ spawn_nothing_percentage = 0 /obj/random/fantasy_item/better/item_to_spawn() - return pick(prob(10);/obj/item/device/healthanalyzer/scroll, - prob(10);/obj/item/weapon/gun/energy/taser/magic, - prob(10);/obj/item/weapon/bluespace_harpoon/wand, - prob(10);/obj/item/device/slow_sizegun/magic, + return pick(prob(10);/obj/item/healthanalyzer/scroll, + prob(10);/obj/item/gun/energy/taser/magic, + prob(10);/obj/item/bluespace_harpoon/wand, + prob(10);/obj/item/slow_sizegun/magic, prob(10);/obj/item/clothing/gloves/bluespace/magic, - prob(10);/obj/item/weapon/tool/wirecutters/alien/magic, - prob(10);/obj/item/weapon/tool/crowbar/alien/magic, - prob(10);/obj/item/weapon/tool/screwdriver/alien/magic, - prob(10);/obj/item/weapon/weldingtool/alien/magic, - prob(10);/obj/item/weapon/tool/wrench/alien/magic, - prob(10);/obj/item/weapon/surgical/bone_clamp/alien/magic, - prob(10);/obj/item/weapon/material/twohanded/staff, - prob(10);/obj/item/weapon/gun/energy/hooklauncher/ring, - prob(10);/obj/item/device/perfect_tele/magic, - prob(10);/obj/item/weapon/reagent_containers/glass/bottle/potion/truepolymorph + prob(10);/obj/item/tool/wirecutters/alien/magic, + prob(10);/obj/item/tool/crowbar/alien/magic, + prob(10);/obj/item/tool/screwdriver/alien/magic, + prob(10);/obj/item/weldingtool/alien/magic, + prob(10);/obj/item/tool/wrench/alien/magic, + prob(10);/obj/item/surgical/bone_clamp/alien/magic, + prob(10);/obj/item/material/twohanded/staff, + prob(10);/obj/item/gun/energy/hooklauncher/ring, + prob(10);/obj/item/perfect_tele/magic, + prob(10);/obj/item/reagent_containers/glass/bottle/potion/truepolymorph ) /obj/random/mega_nukies @@ -375,12 +410,12 @@ spawn_nothing_percentage = 0 /obj/random/mega_nukies/item_to_spawn() - return pick(prob(5);/obj/item/weapon/reagent_containers/food/drinks/cans/nukie_mega_sight, - prob(2);/obj/item/weapon/reagent_containers/food/drinks/cans/nukie_mega_heart, - prob(5);/obj/item/weapon/reagent_containers/food/drinks/cans/nukie_mega_sleep, - prob(5);/obj/item/weapon/reagent_containers/food/drinks/cans/nukie_mega_shock, - prob(5);/obj/item/weapon/reagent_containers/food/drinks/cans/nukie_mega_fast, - prob(5);/obj/item/weapon/reagent_containers/food/drinks/cans/nukie_mega_high, - prob(10);/obj/item/weapon/reagent_containers/food/drinks/cans/nukie_mega_shrink, - prob(10);/obj/item/weapon/reagent_containers/food/drinks/cans/nukie_mega_grow + return pick(prob(5);/obj/item/reagent_containers/food/drinks/cans/nukie_mega_sight, + prob(2);/obj/item/reagent_containers/food/drinks/cans/nukie_mega_heart, + prob(5);/obj/item/reagent_containers/food/drinks/cans/nukie_mega_sleep, + prob(5);/obj/item/reagent_containers/food/drinks/cans/nukie_mega_shock, + prob(5);/obj/item/reagent_containers/food/drinks/cans/nukie_mega_fast, + prob(5);/obj/item/reagent_containers/food/drinks/cans/nukie_mega_high, + prob(10);/obj/item/reagent_containers/food/drinks/cans/nukie_mega_shrink, + prob(10);/obj/item/reagent_containers/food/drinks/cans/nukie_mega_grow ) diff --git a/code/game/objects/random/mob.dm b/code/game/objects/random/mob.dm index e00c10a6db9..5d1a0f5ecbc 100644 --- a/code/game/objects/random/mob.dm +++ b/code/game/objects/random/mob.dm @@ -174,7 +174,7 @@ overwrite_hostility = 1 - mob_faction = "malf_drone" + mob_faction = FACTION_MALF_DRONE mob_returns_home = 1 mob_wander = 1 mob_wander_distance = 5 @@ -203,7 +203,7 @@ overwrite_hostility = 1 - mob_faction = "malf_drone" + mob_faction = FACTION_MALF_DRONE mob_returns_home = 1 mob_wander = 1 mob_wander_distance = 5 @@ -220,7 +220,7 @@ desc = "This is a random hivebot." icon_state = "robot" - mob_faction = "hivebot" + mob_faction = FACTION_HIVEBOT /obj/random/mob/robotic/hivebot/item_to_spawn() return pick(prob(10);/mob/living/simple_mob/mechanical/hivebot, @@ -292,7 +292,7 @@ desc = "This is a random PoI mercenary." icon_state = "humanoid" - mob_faction = "syndicate" + mob_faction = FACTION_SYNDICATE mob_returns_home = 1 mob_wander_distance = 7 // People like to wander, and these people probably have a lot of stuff to guard. diff --git a/code/game/objects/random/mob_vr.dm b/code/game/objects/random/mob_vr.dm index 0b7a4d6ad22..e13801e1497 100644 --- a/code/game/objects/random/mob_vr.dm +++ b/code/game/objects/random/mob_vr.dm @@ -5,88 +5,88 @@ icon_state = "p08" spawn_nothing_percentage = 50 /obj/random/weapon/item_to_spawn() - return pick(prob(11);/obj/random/ammo_all,\ - prob(11);/obj/item/weapon/gun/energy/laser,\ - prob(11);/obj/item/weapon/gun/projectile/pirate,\ - prob(10);/obj/item/weapon/material/twohanded/spear,\ - prob(10);/obj/item/weapon/gun/energy/stunrevolver,\ - prob(10);/obj/item/weapon/gun/energy/taser,\ - prob(10);/obj/item/weapon/gun/projectile/shotgun/doublebarrel/pellet,\ - prob(10);/obj/item/weapon/material/knife,\ - prob(10);/obj/item/weapon/gun/projectile/luger,\ - /* prob(10);/obj/item/weapon/gun/projectile/pipegun,\ */ - prob(10);/obj/item/weapon/gun/projectile/revolver/detective,\ - prob(10);/obj/item/weapon/gun/projectile/revolver/judge,\ - prob(10);/obj/item/weapon/gun/projectile/colt,\ - prob(10);/obj/item/weapon/gun/projectile/shotgun/pump,\ - prob(10);/obj/item/weapon/gun/projectile/shotgun/pump/rifle,\ - prob(10);/obj/item/weapon/melee/baton,\ - prob(10);/obj/item/weapon/melee/telebaton,\ - prob(10);/obj/item/weapon/melee/classic_baton,\ - prob(9);/obj/item/weapon/gun/projectile/automatic/wt550/lethal,\ - prob(9);/obj/item/weapon/gun/projectile/automatic/pdw,\ - prob(9);/obj/item/weapon/gun/projectile/automatic/sol, \ - prob(9);/obj/item/weapon/gun/energy/crossbow/largecrossbow,\ - prob(9);/obj/item/weapon/gun/projectile/pistol,\ - prob(9);/obj/item/weapon/gun/projectile/shotgun/pump,\ - prob(9);/obj/item/weapon/cane/concealed,\ - prob(9);/obj/item/weapon/gun/energy/gun,\ - prob(8);/obj/item/weapon/gun/energy/retro,\ - prob(8);/obj/item/weapon/gun/energy/gun/eluger,\ - prob(8);/obj/item/weapon/gun/energy/xray,\ - prob(8);/obj/item/weapon/gun/projectile/automatic/c20r,\ - prob(8);/obj/item/weapon/melee/energy/sword,\ - prob(8);/obj/item/weapon/gun/projectile/derringer,\ - prob(8);/obj/item/weapon/gun/projectile/revolver/lemat,\ - /* prob(8);/obj/item/weapon/gun/projectile/shotgun/pump/rifle/mosin,\ */ - /* prob(8);/obj/item/weapon/gun/projectile/automatic/m41a,\ */ - prob(7);/obj/item/weapon/material/butterfly,\ - prob(7);/obj/item/weapon/material/butterfly/switchblade,\ - prob(7);/obj/item/weapon/gun/projectile/giskard,\ - prob(7);/obj/item/weapon/gun/projectile/automatic/p90,\ - prob(7);/obj/item/weapon/gun/projectile/automatic/sts35,\ - prob(7);/obj/item/weapon/gun/projectile/shotgun/pump/combat,\ - prob(6);/obj/item/weapon/gun/energy/sniperrifle,\ - prob(6);/obj/item/weapon/gun/projectile/automatic/z8,\ - prob(6);/obj/item/weapon/gun/energy/captain,\ - prob(6);/obj/item/weapon/material/knife/tacknife,\ - prob(5);/obj/item/weapon/gun/projectile/shotgun/pump/USDF,\ - prob(5);/obj/item/weapon/gun/projectile/giskard/olivaw,\ - prob(5);/obj/item/weapon/gun/projectile/revolver/consul,\ - prob(5);/obj/item/weapon/gun/projectile/revolver/mateba,\ - prob(5);/obj/item/weapon/gun/projectile/revolver,\ - prob(4);/obj/item/weapon/gun/projectile/deagle,\ - prob(4);/obj/item/weapon/material/knife/tacknife/combatknife,\ - prob(4);/obj/item/weapon/melee/energy/sword,\ - prob(4);/obj/item/weapon/gun/projectile/automatic/mini_uzi,\ - prob(4);/obj/item/weapon/gun/projectile/contender,\ - prob(4);/obj/item/weapon/gun/projectile/contender/tacticool,\ - prob(3);/obj/item/weapon/gun/projectile/SVD,\ - prob(3);/obj/item/weapon/gun/energy/lasercannon,\ - prob(3);/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever,\ - prob(3);/obj/item/weapon/gun/projectile/automatic/bullpup,\ - prob(2);/obj/item/weapon/gun/energy/pulse_rifle,\ - prob(2);/obj/item/weapon/gun/energy/gun/nuclear,\ - prob(2);/obj/item/weapon/gun/projectile/automatic/l6_saw,\ - prob(2);/obj/item/weapon/gun/energy/gun/burst,\ - prob(2);/obj/item/weapon/storage/box/frags,\ - prob(2);/obj/item/weapon/twohanded/fireaxe,\ - prob(2);/obj/item/weapon/gun/projectile/luger/brown,\ - prob(2);/obj/item/weapon/gun/launcher/crossbow,\ - prob(2);/obj/item/weapon/melee/shock_maul,\ - /* prob(1);/obj/item/weapon/gun/projectile/automatic/battlerifle,\ */ // Too OP - prob(1);/obj/item/weapon/gun/projectile/deagle/gold,\ - prob(1);/obj/item/weapon/gun/energy/imperial,\ - prob(1);/obj/item/weapon/gun/projectile/automatic/as24,\ - prob(1);/obj/item/weapon/gun/launcher/rocket,\ - prob(1);/obj/item/weapon/gun/launcher/grenade,\ - prob(1);/obj/item/weapon/gun/projectile/gyropistol,\ - prob(1);/obj/item/weapon/gun/projectile/heavysniper,\ - prob(1);/obj/item/weapon/plastique,\ - prob(1);/obj/item/weapon/gun/energy/ionrifle,\ - prob(1);/obj/item/weapon/material/sword,\ - prob(1);/obj/item/weapon/cane/concealed,\ - prob(1);/obj/item/weapon/material/sword/katana) + return pick(prob(11);/obj/random/ammo_all, + prob(11);/obj/item/gun/energy/laser, + prob(11);/obj/item/gun/projectile/pirate, + prob(10);/obj/item/material/twohanded/spear, + prob(10);/obj/item/gun/energy/stunrevolver, + prob(10);/obj/item/gun/energy/taser, + prob(10);/obj/item/gun/projectile/shotgun/doublebarrel/pellet, + prob(10);/obj/item/material/knife, + prob(10);/obj/item/gun/projectile/luger, + /* prob(10);/obj/item/gun/projectile/pipegun, */ + prob(10);/obj/item/gun/projectile/revolver/detective, + prob(10);/obj/item/gun/projectile/revolver/judge, + prob(10);/obj/item/gun/projectile/colt, + prob(10);/obj/item/gun/projectile/shotgun/pump, + prob(10);/obj/item/gun/projectile/shotgun/pump/rifle, + prob(10);/obj/item/melee/baton, + prob(10);/obj/item/melee/telebaton, + prob(10);/obj/item/melee/classic_baton, + prob(9);/obj/item/gun/projectile/automatic/wt550/lethal, + prob(9);/obj/item/gun/projectile/automatic/pdw, + prob(9);/obj/item/gun/projectile/automatic/sol, + prob(9);/obj/item/gun/energy/crossbow/largecrossbow, + prob(9);/obj/item/gun/projectile/pistol, + prob(9);/obj/item/gun/projectile/shotgun/pump, + prob(9);/obj/item/cane/concealed, + prob(9);/obj/item/gun/energy/gun, + prob(8);/obj/item/gun/energy/retro, + prob(8);/obj/item/gun/energy/gun/eluger, + prob(8);/obj/item/gun/energy/xray, + prob(8);/obj/item/gun/projectile/automatic/c20r, + prob(8);/obj/item/melee/energy/sword, + prob(8);/obj/item/gun/projectile/derringer, + prob(8);/obj/item/gun/projectile/revolver/lemat, + /* prob(8);/obj/item/gun/projectile/shotgun/pump/rifle/mosin, */ + /* prob(8);/obj/item/gun/projectile/automatic/m41a, */ + prob(7);/obj/item/material/butterfly, + prob(7);/obj/item/material/butterfly/switchblade, + prob(7);/obj/item/gun/projectile/giskard, + prob(7);/obj/item/gun/projectile/automatic/p90, + prob(7);/obj/item/gun/projectile/automatic/sts35, + prob(7);/obj/item/gun/projectile/shotgun/pump/combat, + prob(6);/obj/item/gun/energy/sniperrifle, + prob(6);/obj/item/gun/projectile/automatic/z8, + prob(6);/obj/item/gun/energy/captain, + prob(6);/obj/item/material/knife/tacknife, + prob(5);/obj/item/gun/projectile/shotgun/pump/USDF, + prob(5);/obj/item/gun/projectile/giskard/olivaw, + prob(5);/obj/item/gun/projectile/revolver/consul, + prob(5);/obj/item/gun/projectile/revolver/mateba, + prob(5);/obj/item/gun/projectile/revolver, + prob(4);/obj/item/gun/projectile/deagle, + prob(4);/obj/item/material/knife/tacknife/combatknife, + prob(4);/obj/item/melee/energy/sword, + prob(4);/obj/item/gun/projectile/automatic/mini_uzi, + prob(4);/obj/item/gun/projectile/contender, + prob(4);/obj/item/gun/projectile/contender/tacticool, + prob(3);/obj/item/gun/projectile/SVD, + prob(3);/obj/item/gun/energy/lasercannon, + prob(3);/obj/item/gun/projectile/shotgun/pump/rifle/lever, + prob(3);/obj/item/gun/projectile/automatic/bullpup, + prob(2);/obj/item/gun/energy/pulse_rifle, + prob(2);/obj/item/gun/energy/gun/nuclear, + prob(2);/obj/item/gun/projectile/automatic/l6_saw, + prob(2);/obj/item/gun/energy/gun/burst, + prob(2);/obj/item/storage/box/frags, + prob(2);/obj/item/material/twohanded/fireaxe, + prob(2);/obj/item/gun/projectile/luger/brown, + prob(2);/obj/item/gun/launcher/crossbow, + prob(2);/obj/item/melee/shock_maul, + /* prob(1);/obj/item/gun/projectile/automatic/battlerifle, */ // Too OP + prob(1);/obj/item/gun/projectile/deagle/gold, + prob(1);/obj/item/gun/energy/imperial, + prob(1);/obj/item/gun/projectile/automatic/as24, + prob(1);/obj/item/gun/launcher/rocket, + prob(1);/obj/item/gun/launcher/grenade, + prob(1);/obj/item/gun/projectile/gyropistol, + prob(1);/obj/item/gun/projectile/heavysniper, + prob(1);/obj/item/plastique, + prob(1);/obj/item/gun/energy/ionrifle, + prob(1);/obj/item/material/sword, + prob(1);/obj/item/cane/concealed, + prob(1);/obj/item/material/sword/katana) /obj/random/weapon/guarenteed spawn_nothing_percentage = 0 @@ -97,43 +97,43 @@ icon = 'icons/obj/ammo.dmi' icon_state = "666" /obj/random/ammo_all/item_to_spawn() - return pick(prob(5);/obj/item/ammo_magazine/ammo_box/b12g,\ - prob(5);/obj/item/ammo_magazine/ammo_box/b12g/pellet,\ - prob(5);/obj/item/ammo_magazine/clip/c762,\ - prob(5);/obj/item/ammo_magazine/m380,\ - prob(5);/obj/item/ammo_magazine/m45,\ - prob(5);/obj/item/ammo_magazine/m9mm,\ - prob(5);/obj/item/ammo_magazine/s38,\ - prob(4);/obj/item/ammo_magazine/clip/c45,\ - prob(4);/obj/item/ammo_magazine/clip/c9mm,\ - prob(4);/obj/item/ammo_magazine/m45uzi,\ - prob(4);/obj/item/ammo_magazine/m9mml,\ - prob(4);/obj/item/ammo_magazine/m9mmt,\ - prob(4);/obj/item/ammo_magazine/m9mmp90,\ - prob(4);/obj/item/ammo_magazine/m10mm,\ - prob(4);/obj/item/ammo_magazine/m545/small,\ - prob(3);/obj/item/ammo_magazine/clip/c44,\ - prob(3);/obj/item/ammo_magazine/ammo_box/b10mm/emp,\ - prob(3);/obj/item/ammo_magazine/ammo_box/b10mm,\ - prob(3);/obj/item/ammo_magazine/s44,\ - prob(3);/obj/item/ammo_magazine/m762,\ - prob(3);/obj/item/ammo_magazine/m545,\ - prob(3);/obj/item/weapon/cell/device/weapon,\ - prob(2);/obj/item/ammo_magazine/m44,\ - prob(2);/obj/item/ammo_magazine/s357,\ - prob(2);/obj/item/ammo_magazine/m762/ext,\ + return pick(prob(5);/obj/item/ammo_magazine/ammo_box/b12g, + prob(5);/obj/item/ammo_magazine/ammo_box/b12g/pellet, + prob(5);/obj/item/ammo_magazine/clip/c762, + prob(5);/obj/item/ammo_magazine/m380, + prob(5);/obj/item/ammo_magazine/m45, + prob(5);/obj/item/ammo_magazine/m9mm, + prob(5);/obj/item/ammo_magazine/s38, + prob(4);/obj/item/ammo_magazine/clip/c45, + prob(4);/obj/item/ammo_magazine/clip/c9mm, + prob(4);/obj/item/ammo_magazine/m45uzi, + prob(4);/obj/item/ammo_magazine/m9mml, + prob(4);/obj/item/ammo_magazine/m9mmt, + prob(4);/obj/item/ammo_magazine/m9mmp90, + prob(4);/obj/item/ammo_magazine/m10mm, + prob(4);/obj/item/ammo_magazine/m545/small, + prob(3);/obj/item/ammo_magazine/clip/c44, + prob(3);/obj/item/ammo_magazine/ammo_box/b10mm/emp, + prob(3);/obj/item/ammo_magazine/ammo_box/b10mm, + prob(3);/obj/item/ammo_magazine/s44, + prob(3);/obj/item/ammo_magazine/m762, + prob(3);/obj/item/ammo_magazine/m545, + prob(3);/obj/item/cell/device/weapon, + prob(2);/obj/item/ammo_magazine/m44, + prob(2);/obj/item/ammo_magazine/s357, + prob(2);/obj/item/ammo_magazine/m762/ext, prob(2);/obj/item/ammo_magazine/clip/c12g, - prob(2);/obj/item/ammo_magazine/clip/c12g/pellet,\ - prob(1);/obj/item/ammo_magazine/m45tommy,\ - /* prob(1);/obj/item/ammo_magazine/m95,\ */ - prob(1);/obj/item/ammo_casing/rocket,\ - prob(1);/obj/item/ammo_magazine/ammo_box/b145,\ - prob(1);/obj/item/ammo_magazine/ammo_box/b12g/flash,\ - prob(1);/obj/item/ammo_magazine/ammo_box/b12g/beanbag,\ - prob(1);/obj/item/ammo_magazine/ammo_box/b12g/stunshell,\ - prob(1);/obj/item/ammo_magazine/mtg,\ - prob(1);/obj/item/ammo_magazine/m12gdrum,\ - prob(1);/obj/item/ammo_magazine/m12gdrum/pellet,\ + prob(2);/obj/item/ammo_magazine/clip/c12g/pellet, + prob(1);/obj/item/ammo_magazine/m45tommy, + /* prob(1);/obj/item/ammo_magazine/m95, */ + prob(1);/obj/item/ammo_casing/rocket, + prob(1);/obj/item/ammo_magazine/ammo_box/b145, + prob(1);/obj/item/ammo_magazine/ammo_box/b12g/flash, + prob(1);/obj/item/ammo_magazine/ammo_box/b12g/beanbag, + prob(1);/obj/item/ammo_magazine/ammo_box/b12g/stunshell, + prob(1);/obj/item/ammo_magazine/mtg, + prob(1);/obj/item/ammo_magazine/m12gdrum, + prob(1);/obj/item/ammo_magazine/m12gdrum/pellet, prob(1);/obj/item/ammo_magazine/m45tommydrum ) @@ -145,23 +145,23 @@ spawn_nothing_percentage = 0 /obj/random/cargopod/item_to_spawn() - return pick(prob(10);/obj/item/poster,\ - prob(8);/obj/item/weapon/haircomb,\ - prob(6);/obj/item/weapon/storage/pill_bottle/paracetamol,\ - prob(6);/obj/item/weapon/material/butterflyblade,\ - prob(6);/obj/item/weapon/material/butterflyhandle,\ - prob(4);/obj/item/weapon/storage/pill_bottle/happy,\ - prob(4);/obj/item/weapon/storage/pill_bottle/zoom,\ - prob(4);/obj/item/weapon/material/butterfly,\ - prob(2);/obj/item/weapon/material/butterfly/switchblade,\ - prob(2);/obj/item/clothing/gloves/knuckledusters,\ - prob(2);/obj/item/weapon/reagent_containers/syringe/drugs,\ - prob(1);/obj/item/weapon/material/knife/tacknife,\ - prob(1);/obj/item/clothing/suit/storage/vest/heavy/merc,\ - prob(1);/obj/item/weapon/beartrap,\ - prob(1);/obj/item/weapon/handcuffs,\ - prob(1);/obj/item/weapon/handcuffs/legcuffs,\ - prob(1);/obj/item/weapon/reagent_containers/syringe/steroid) + return pick(prob(10);/obj/item/poster, + prob(8);/obj/item/haircomb, + prob(6);/obj/item/storage/pill_bottle/paracetamol, + prob(6);/obj/item/material/butterflyblade, + prob(6);/obj/item/material/butterflyhandle, + prob(4);/obj/item/storage/pill_bottle/happy, + prob(4);/obj/item/storage/pill_bottle/zoom, + prob(4);/obj/item/material/butterfly, + prob(2);/obj/item/material/butterfly/switchblade, + prob(2);/obj/item/clothing/accessory/knuckledusters, + prob(2);/obj/item/reagent_containers/syringe/drugs, + prob(1);/obj/item/material/knife/tacknife, + prob(1);/obj/item/clothing/suit/storage/vest/heavy/merc, + prob(1);/obj/item/beartrap, + prob(1);/obj/item/handcuffs, + prob(1);/obj/item/handcuffs/legcuffs, + prob(1);/obj/item/reagent_containers/syringe/steroid) //A random thing so that the spawn_nothing_percentage can be used w/o duplicating code. /obj/random/trash_pile @@ -179,7 +179,7 @@ icon = 'icons/mob/screen1.dmi' icon_state = "x" spawn_nothing_percentage = 10 - var/faction = "wild animal" + var/faction = FACTION_WILD_ANIMAL /obj/random/outside_mob/item_to_spawn() // Special version for mobs to have the same faction. return pick( @@ -210,12 +210,12 @@ icon_state = "firstaid" /obj/random/tetheraid/item_to_spawn() - return pick(prob(10);/obj/item/weapon/storage/firstaid/regular, - prob(8);/obj/item/weapon/storage/firstaid/toxin, - prob(8);/obj/item/weapon/storage/firstaid/o2, - prob(5);/obj/item/weapon/storage/firstaid/adv, - prob(8);/obj/item/weapon/storage/firstaid/fire, - prob(1);/obj/item/device/denecrotizer/medical) + return pick(prob(10);/obj/item/storage/firstaid/regular, + prob(8);/obj/item/storage/firstaid/toxin, + prob(8);/obj/item/storage/firstaid/o2, + prob(5);/obj/item/storage/firstaid/adv, + prob(8);/obj/item/storage/firstaid/fire, + prob(1);/obj/item/denecrotizer/medical) //Override from maintenance.dm to prevent combat kits from spawning in Tether maintenance /obj/random/maintenance/item_to_spawn() diff --git a/code/game/objects/random/spacesuits.dm b/code/game/objects/random/spacesuits.dm index 00416fa19ae..417f03ec3d7 100644 --- a/code/game/objects/random/spacesuits.dm +++ b/code/game/objects/random/spacesuits.dm @@ -257,12 +257,12 @@ icon_state = "generic" /obj/random/rigsuit/item_to_spawn() - return pick(prob(4);/obj/item/weapon/rig/light/hacker, - prob(5);/obj/item/weapon/rig/industrial, - prob(5);/obj/item/weapon/rig/eva, - prob(4);/obj/item/weapon/rig/light/stealth, - prob(3);/obj/item/weapon/rig/hazard, - prob(1);/obj/item/weapon/rig/merc/empty) + return pick(prob(4);/obj/item/rig/light/hacker, + prob(5);/obj/item/rig/industrial, + prob(5);/obj/item/rig/eva, + prob(4);/obj/item/rig/light/stealth, + prob(3);/obj/item/rig/hazard, + prob(1);/obj/item/rig/merc/empty) //VOREStation Add Start /obj/random/rigsuit/chancetofail spawn_nothing_percentage = 50 diff --git a/code/game/objects/random/unidentified/medicine.dm b/code/game/objects/random/unidentified/medicine.dm index 3bd10ba4f2d..3e3f671e911 100644 --- a/code/game/objects/random/unidentified/medicine.dm +++ b/code/game/objects/random/unidentified/medicine.dm @@ -19,31 +19,31 @@ much more likely to show up. This is done for several purposes; /obj/random/unidentified_medicine/item_to_spawn() return pick( - /obj/item/weapon/reagent_containers/hypospray/autoinjector/bonemed/unidentified, - /obj/item/weapon/reagent_containers/hypospray/autoinjector/clonemed/unidentified, - /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/brute/unidentified, - /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/burn/unidentified, - /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/toxin/unidentified, - /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/oxy/unidentified, - /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/purity/unidentified, - /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/pain/unidentified, - /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/organ/unidentified, - /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/clotting/unidentified, - /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/combat/unidentified, - /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/healing_nanites/unidentified, - /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/stimm/unidentified, - /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/bliss/unidentified, - /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/expired/unidentified, - /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/serotrotium/unidentified, - /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/cryptobiolin/unidentified, - /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/mindbreaker/unidentified, - /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/psilocybin/unidentified, - /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/soporific/unidentified, - /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/cyanide/unidentified, - /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/impedrezene/unidentified, - /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/mutagen/unidentified, - /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/defective_nanites/unidentified, - /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/contaminated/unidentified) + /obj/item/reagent_containers/hypospray/autoinjector/bonemed/unidentified, + /obj/item/reagent_containers/hypospray/autoinjector/clonemed/unidentified, + /obj/item/reagent_containers/hypospray/autoinjector/biginjector/brute/unidentified, + /obj/item/reagent_containers/hypospray/autoinjector/biginjector/burn/unidentified, + /obj/item/reagent_containers/hypospray/autoinjector/biginjector/toxin/unidentified, + /obj/item/reagent_containers/hypospray/autoinjector/biginjector/oxy/unidentified, + /obj/item/reagent_containers/hypospray/autoinjector/biginjector/purity/unidentified, + /obj/item/reagent_containers/hypospray/autoinjector/biginjector/pain/unidentified, + /obj/item/reagent_containers/hypospray/autoinjector/biginjector/organ/unidentified, + /obj/item/reagent_containers/hypospray/autoinjector/biginjector/clotting/unidentified, + /obj/item/reagent_containers/hypospray/autoinjector/biginjector/combat/unidentified, + /obj/item/reagent_containers/hypospray/autoinjector/biginjector/healing_nanites/unidentified, + /obj/item/reagent_containers/hypospray/autoinjector/biginjector/stimm/unidentified, + /obj/item/reagent_containers/hypospray/autoinjector/biginjector/bliss/unidentified, + /obj/item/reagent_containers/hypospray/autoinjector/biginjector/expired/unidentified, + /obj/item/reagent_containers/hypospray/autoinjector/biginjector/serotrotium/unidentified, + /obj/item/reagent_containers/hypospray/autoinjector/biginjector/cryptobiolin/unidentified, + /obj/item/reagent_containers/hypospray/autoinjector/biginjector/mindbreaker/unidentified, + /obj/item/reagent_containers/hypospray/autoinjector/biginjector/psilocybin/unidentified, + /obj/item/reagent_containers/hypospray/autoinjector/biginjector/soporific/unidentified, + /obj/item/reagent_containers/hypospray/autoinjector/biginjector/cyanide/unidentified, + /obj/item/reagent_containers/hypospray/autoinjector/biginjector/impedrezene/unidentified, + /obj/item/reagent_containers/hypospray/autoinjector/biginjector/mutagen/unidentified, + /obj/item/reagent_containers/hypospray/autoinjector/biginjector/defective_nanites/unidentified, + /obj/item/reagent_containers/hypospray/autoinjector/biginjector/contaminated/unidentified) // Produces things you might find in an old medicine cabinet in a PoI. // Old cabinets are typical of ruins and abandoned buildings in the plains, meaning they're usually easier to reach, and as such, inferior loot. @@ -51,14 +51,14 @@ much more likely to show up. This is done for several purposes; // 30 Good, 70 Bad. 30% to get something good. // Poor odds, but these are fairly easy to reach as they're in abandoned areas. return pick( - prob(5);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/brute/unidentified, - prob(5);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/burn/unidentified, - prob(5);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/toxin/unidentified, - prob(5);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/oxy/unidentified, - prob(5);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/purity/unidentified, - prob(5);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/pain/unidentified, - prob(65);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/expired/unidentified, - prob(5);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/contaminated/unidentified) + prob(5);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/brute/unidentified, + prob(5);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/burn/unidentified, + prob(5);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/toxin/unidentified, + prob(5);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/oxy/unidentified, + prob(5);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/purity/unidentified, + prob(5);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/pain/unidentified, + prob(65);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/expired/unidentified, + prob(5);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/contaminated/unidentified) // Medicine belonging to a place still being occupied (or was recently), meaning the goods might still be fresh, and better. /obj/random/unidentified_medicine/fresh_medicine/item_to_spawn() @@ -66,17 +66,17 @@ much more likely to show up. This is done for several purposes; // 80 Good, 25 Bad. 76% chance of getting something good. // Good odds, but the contents aren't super great unless someone gets lucky. return pick( - prob(5);/obj/item/weapon/reagent_containers/hypospray/autoinjector/bonemed/unidentified, - prob(5);/obj/item/weapon/reagent_containers/hypospray/autoinjector/clonemed/unidentified, - prob(10);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/brute/unidentified, - prob(10);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/burn/unidentified, - prob(10);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/toxin/unidentified, - prob(10);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/oxy/unidentified, - prob(10);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/purity/unidentified, - prob(10);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/pain/unidentified, - prob(5);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/organ/unidentified, - prob(5);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/clotting/unidentified, - prob(25);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/expired/unidentified) + prob(5);/obj/item/reagent_containers/hypospray/autoinjector/bonemed/unidentified, + prob(5);/obj/item/reagent_containers/hypospray/autoinjector/clonemed/unidentified, + prob(10);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/brute/unidentified, + prob(10);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/burn/unidentified, + prob(10);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/toxin/unidentified, + prob(10);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/oxy/unidentified, + prob(10);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/purity/unidentified, + prob(10);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/pain/unidentified, + prob(5);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/organ/unidentified, + prob(5);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/clotting/unidentified, + prob(25);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/expired/unidentified) // For military PoIs like BSD. High odds of good loot since those PoIs are really hard. /obj/random/unidentified_medicine/combat_medicine/item_to_spawn() @@ -84,16 +84,16 @@ much more likely to show up. This is done for several purposes; // 75 Good, 30 Bad, roughly 71.4% chance to get something good. // Very high but very hard to reach and still has a chance of ending poorly if injecting blind. return pick( - prob(5);/obj/item/weapon/reagent_containers/hypospray/autoinjector/bonemed/unidentified, - prob(5);/obj/item/weapon/reagent_containers/hypospray/autoinjector/clonemed/unidentified, - prob(5);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/brute/unidentified, - prob(5);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/burn/unidentified, - prob(5);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/pain/unidentified, - prob(10);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/organ/unidentified, - prob(10);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/clotting/unidentified, - prob(30);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/combat/unidentified, - prob(10);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/soporific/unidentified, - prob(30);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/cyanide/unidentified) + prob(5);/obj/item/reagent_containers/hypospray/autoinjector/bonemed/unidentified, + prob(5);/obj/item/reagent_containers/hypospray/autoinjector/clonemed/unidentified, + prob(5);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/brute/unidentified, + prob(5);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/burn/unidentified, + prob(5);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/pain/unidentified, + prob(10);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/organ/unidentified, + prob(10);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/clotting/unidentified, + prob(30);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/combat/unidentified, + prob(10);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/soporific/unidentified, + prob(30);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/cyanide/unidentified) // Hyposprays found inside various illicit places. /obj/random/unidentified_medicine/drug_den/item_to_spawn() @@ -101,22 +101,22 @@ much more likely to show up. This is done for several purposes; // 70 Good, 160 Bad, roughly 30% to get something good. // Poor odds, but there are a lot of these scattered in the drug dens and illegal chem labs. return pick( - prob(5);/obj/item/weapon/reagent_containers/hypospray/autoinjector/bonemed/unidentified, - prob(5);/obj/item/weapon/reagent_containers/hypospray/autoinjector/clonemed/unidentified, - prob(10);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/pain/unidentified, - prob(5);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/organ/unidentified, - prob(5);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/clotting/unidentified, - prob(40);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/combat/unidentified, - prob(20);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/stimm/unidentified, - prob(20);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/bliss/unidentified, - prob(20);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/serotrotium/unidentified, - prob(20);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/cryptobiolin/unidentified, - prob(20);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/mindbreaker/unidentified, - prob(20);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/psilocybin/unidentified, - prob(20);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/soporific/unidentified, - prob(10);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/impedrezene/unidentified, - prob(5);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/cyanide/unidentified, - prob(5);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/contaminated/unidentified) + prob(5);/obj/item/reagent_containers/hypospray/autoinjector/bonemed/unidentified, + prob(5);/obj/item/reagent_containers/hypospray/autoinjector/clonemed/unidentified, + prob(10);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/pain/unidentified, + prob(5);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/organ/unidentified, + prob(5);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/clotting/unidentified, + prob(40);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/combat/unidentified, + prob(20);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/stimm/unidentified, + prob(20);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/bliss/unidentified, + prob(20);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/serotrotium/unidentified, + prob(20);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/cryptobiolin/unidentified, + prob(20);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/mindbreaker/unidentified, + prob(20);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/psilocybin/unidentified, + prob(20);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/soporific/unidentified, + prob(10);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/impedrezene/unidentified, + prob(5);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/cyanide/unidentified, + prob(5);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/contaminated/unidentified) // Medicine made FOR SCIENCE. /obj/random/unidentified_medicine/scientific/item_to_spawn() @@ -124,31 +124,31 @@ much more likely to show up. This is done for several purposes; // 45 Good, 45 Bad, 50% chance to get something good. // Do you feel lucky? return pick( - prob(5);/obj/item/weapon/reagent_containers/hypospray/autoinjector/bonemed/unidentified, - prob(5);/obj/item/weapon/reagent_containers/hypospray/autoinjector/clonemed/unidentified, - prob(10);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/organ/unidentified, - prob(10);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/clotting/unidentified, - prob(10);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/combat/unidentified, - prob(5);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/healing_nanites/unidentified, - prob(20);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/contaminated/unidentified, - prob(10);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/cyanide/unidentified, - prob(10);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/mutagen/unidentified, - prob(5);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/defective_nanites/unidentified) + prob(5);/obj/item/reagent_containers/hypospray/autoinjector/bonemed/unidentified, + prob(5);/obj/item/reagent_containers/hypospray/autoinjector/clonemed/unidentified, + prob(10);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/organ/unidentified, + prob(10);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/clotting/unidentified, + prob(10);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/combat/unidentified, + prob(5);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/healing_nanites/unidentified, + prob(20);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/contaminated/unidentified, + prob(10);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/cyanide/unidentified, + prob(10);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/mutagen/unidentified, + prob(5);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/defective_nanites/unidentified) // Nanomachines, son. Found in very advanced places such as the Crashed UFO. /obj/random/unidentified_medicine/nanites/item_to_spawn() // You better identify this if you value your life. // 30 Good, 70 Bad. 30% of getting a good outcome. return pick( - prob(30);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/healing_nanites/unidentified, - prob(70);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/defective_nanites/unidentified) + prob(30);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/healing_nanites/unidentified, + prob(70);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/defective_nanites/unidentified) // Found in virus-related areas like the Quarantined Shuttle. /obj/random/unidentified_medicine/viral/item_to_spawn() // Another one where's its important to identify the hypo. // 30 Good, 70 Bad. 30% of getting a good outcome. return pick( - prob(30);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/purity/unidentified, - prob(40);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/expired/unidentified, - prob(10);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/mutagen/unidentified, - prob(20);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/contaminated/unidentified) \ No newline at end of file + prob(30);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/purity/unidentified, + prob(40);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/expired/unidentified, + prob(10);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/mutagen/unidentified, + prob(20);/obj/item/reagent_containers/hypospray/autoinjector/biginjector/contaminated/unidentified) \ No newline at end of file diff --git a/code/game/objects/structures.dm b/code/game/objects/structures.dm index 626c7a296e2..13db2e0c075 100644 --- a/code/game/objects/structures.dm +++ b/code/game/objects/structures.dm @@ -9,7 +9,7 @@ var/parts var/list/climbers var/block_turf_edges = FALSE // If true, turf edge icons will not be made on the turf this occupies. - + var/list/connections var/list/other_connections var/list/blend_objects = newlist() // Objects which to blend with @@ -36,8 +36,8 @@ attack_generic(user,1,"slices") if(LAZYLEN(climbers) && !(user in climbers)) - user.visible_message("[user.name] shakes \the [src].", \ - "You shake \the [src].") + user.visible_message(span_warning("[user.name] shakes \the [src]."), \ + span_notice("You shake \the [src].")) structure_shaken() return ..() @@ -77,12 +77,12 @@ return 0 if (!user.Adjacent(src)) - to_chat(user, "You can't climb there, the way is blocked.") + to_chat(user, span_danger("You can't climb there, the way is blocked.")) return 0 var/obj/occupied = turf_is_crowded() if(occupied) - to_chat(user, "There's \a [occupied] in the way.") + to_chat(user, span_danger("There's \a [occupied] in the way.")) return 0 return 1 @@ -104,7 +104,7 @@ if (!can_climb(user)) return - usr.visible_message("[user] starts climbing onto \the [src]!") + user.visible_message(span_warning("[user] starts climbing onto \the [src]!")) LAZYDISTINCTADD(climbers, user) if(!do_after(user,(issmall(user) ? climb_delay * 0.6 : climb_delay))) @@ -115,10 +115,10 @@ LAZYREMOVE(climbers, user) return - usr.forceMove(climb_to(user)) + user.forceMove(climb_to(user)) if (get_turf(user) == get_turf(src)) - usr.visible_message("[user] climbs onto \the [src]!") + user.visible_message(span_warning("[user] climbs onto \the [src]!")) LAZYREMOVE(climbers, user) /obj/structure/proc/climb_to(var/mob/living/user) @@ -127,21 +127,21 @@ /obj/structure/proc/structure_shaken() for(var/mob/living/M in climbers) M.Weaken(1) - to_chat(M, "You topple as you are shaken off \the [src]!") + to_chat(M, span_danger("You topple as you are shaken off \the [src]!")) climbers.Cut(1,2) for(var/mob/living/M in get_turf(src)) if(M.lying) return //No spamming this on people. M.Weaken(3) - to_chat(M, "You topple as \the [src] moves under you!") + to_chat(M, span_danger("You topple as \the [src] moves under you!")) if(prob(25)) var/damage = rand(15,30) var/mob/living/carbon/human/H = M if(!istype(H)) - to_chat(H, "You land heavily!") + to_chat(H, span_danger("You land heavily!")) M.adjustBruteLoss(damage) return @@ -160,12 +160,12 @@ affecting = H.get_organ(BP_HEAD) if(affecting) - to_chat(M, "You land heavily on your [affecting.name]!") + to_chat(M, span_danger("You land heavily on your [affecting.name]!")) affecting.take_damage(damage, 0) if(affecting.parent) affecting.parent.add_autopsy_data("Misadventure", damage) else - to_chat(H, "You land heavily!") + to_chat(H, span_danger("You land heavily!")) H.adjustBruteLoss(damage) H.UpdateDamageIcon() @@ -178,19 +178,19 @@ if(!Adjacent(user)) return 0 if (user.restrained() || user.buckled) - to_chat(user, "You need your hands and legs free for this.") + to_chat(user, span_notice("You need your hands and legs free for this.")) return 0 if (user.stat || user.paralysis || user.sleeping || user.lying || user.weakened) return 0 if (isAI(user)) - to_chat(user, "You need hands for this.") + to_chat(user, span_notice("You need hands for this.")) return 0 return 1 /obj/structure/attack_generic(var/mob/user, var/damage, var/attack_verb) if(!breakable || damage < STRUCTURE_MIN_DAMAGE_THRESHOLD) return 0 - visible_message("[user] [attack_verb] the [src] apart!") + visible_message(span_danger("[user] [attack_verb] the [src] apart!")) user.do_attack_animation(src) spawn(1) qdel(src) return 1 diff --git a/code/game/objects/structures/alien/alien.dm b/code/game/objects/structures/alien/alien.dm index cde036bc68f..3f52b7ee9a0 100644 --- a/code/game/objects/structures/alien/alien.dm +++ b/code/game/objects/structures/alien/alien.dm @@ -35,7 +35,7 @@ /obj/structure/alien/hitby(AM as mob|obj) ..() - visible_message("\The [src] was hit by \the [AM].") + visible_message(span_danger("\The [src] was hit by \the [AM].")) var/tforce = 0 if(ismob(AM)) tforce = 10 @@ -48,20 +48,20 @@ return /obj/structure/alien/attack_generic(var/mob/user, var/damage, var/attack_verb) - visible_message("[user] [attack_verb] the [src]!") + visible_message(span_danger("[user] [attack_verb] the [src]!")) playsound(src, 'sound/effects/attackblob.ogg', 100, 1) user.do_attack_animation(src) health -= damage healthcheck() return -/obj/structure/alien/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/structure/alien/attackby(obj/item/W as obj, mob/user as mob) user.setClickCooldown(user.get_attack_speed(W)) var/aforce = W.force health = max(0, health - aforce) playsound(src, 'sound/effects/attackblob.ogg', 100, 1) - visible_message("[user] attacks the [src]!") + visible_message(span_danger("[user] attacks the [src]!")) healthcheck() ..() return @@ -69,7 +69,7 @@ /obj/structure/alien/attack_hand() usr.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) if (HULK in usr.mutations) - visible_message("[usr] destroys the [name]!") + visible_message(span_warning("[usr] destroys the [name]!")) health = 0 else @@ -77,11 +77,18 @@ if(istype(usr,/mob/living/carbon)) var/mob/living/carbon/M = usr if(locate(/obj/item/organ/internal/xenos/hivenode) in M.internal_organs) - visible_message ("[usr] strokes the [name] and it melts away!", 1) + visible_message (span_warning("[usr] strokes the [name] and it melts away!"), 1) health = 0 healthcheck() return - visible_message("[usr] claws at the [name]!") + if(locate(/obj/item/organ/internal/xenos/resinspinner/replicant) in M.internal_organs) + if(!do_after(M, 3 SECONDS)) + return + visible_message (span_warning("[usr] strokes the [name] and it melts away!"), 1) + health = 0 + healthcheck() + return + visible_message(span_warning("[usr] claws at the [name]!")) health -= rand(5,10) healthcheck() return diff --git a/code/game/objects/structures/artstuff.dm b/code/game/objects/structures/artstuff.dm index 072bd9cddbb..8fd2723c55c 100644 --- a/code/game/objects/structures/artstuff.dm +++ b/code/game/objects/structures/artstuff.dm @@ -21,7 +21,7 @@ painting = canvas canvas.forceMove(get_turf(src)) canvas.layer = layer+0.1 - user.visible_message("[user] puts \the [canvas] on \the [src].","You place \the [canvas] on \the [src].") + user.visible_message(span_notice("[user] puts \the [canvas] on \the [src]."),span_notice("You place \the [canvas] on \the [src].")) else return ..() @@ -103,7 +103,7 @@ /obj/item/canvas/attackby(obj/item/I, mob/living/user, params) if(istype(I, /obj/item/paint_palette)) var/choice = tgui_alert(user, "Adjusting the base color of this canvas will replace ALL pixels with the selected color. Are you sure?", "Confirm Color Fill", list("Yes", "No")) - if(choice == "No") + if(choice != "Yes") return var/basecolor = input(user, "Select a base color for the canvas:", "Base Color", canvas_color) as null|color if(basecolor && Adjacent(user) && user.get_active_hand() == I) @@ -128,14 +128,13 @@ . = ..() tgui_interact(user) -/obj/item/canvas/tgui_act(action, params) +/obj/item/canvas/tgui_act(action, params, datum/tgui/ui) . = ..() if(. || finalized) return - var/mob/user = usr switch(action) if("paint") - var/obj/item/I = user.get_active_hand() + var/obj/item/I = ui.user.get_active_hand() var/color = get_paint_tool_color(I) if(!color) return FALSE @@ -148,7 +147,7 @@ if("finalize") . = TRUE if(!finalized) - finalize(user) + finalize(ui.user) /obj/item/canvas/proc/finalize(mob/user) finalized = TRUE @@ -198,11 +197,11 @@ if(istype(I, /obj/item/paint_brush)) var/obj/item/paint_brush/P = I return P.selected_color - else if(istype(I, /obj/item/weapon/pen/crayon)) - var/obj/item/weapon/pen/crayon/crayon = I + else if(istype(I, /obj/item/pen/crayon)) + var/obj/item/pen/crayon/crayon = I return crayon.colour - else if(istype(I, /obj/item/weapon/pen)) - var/obj/item/weapon/pen/P = I + else if(istype(I, /obj/item/pen)) + var/obj/item/pen/P = I switch(P.colour) if("black") return "#000000" @@ -211,7 +210,7 @@ if("red") return "#ff0000" return P.colour - else if(istype(I, /obj/item/weapon/soap) || istype(I, /obj/item/weapon/reagent_containers/glass/rag)) + else if(istype(I, /obj/item/soap) || istype(I, /obj/item/reagent_containers/glass/rag)) return canvas_color /obj/item/canvas/proc/try_rename(mob/user) @@ -303,7 +302,7 @@ icon = 'icons/obj/artstuff.dmi' icon_state = "palette" -/obj/item/paint_palette/attackby(obj/item/weapon/W, mob/user) +/obj/item/paint_palette/attackby(obj/item/W, mob/user) if(istype(W, /obj/item/paint_brush)) var/obj/item/paint_brush/P = W var/newcolor = input(user, "Select a new paint color:", "Paint Palette", P.selected_color) as null|color @@ -351,7 +350,7 @@ desc_with_canvas = "A masterpiece hand-picked by the librarian, supposedly." persistence_id = "library" req_one_access = list(access_library) - curator = "Librarian" + curator = JOB_LIBRARIAN /obj/structure/sign/painting/chapel_secure name = "\improper Religious Painting Exhibit mounting" @@ -359,7 +358,7 @@ desc_with_canvas = "A masterpiece hand-picked by the chaplain, supposedly." persistence_id = "chapel" req_one_access = list(access_chapel_office) - curator = "Chaplain" + curator = JOB_CHAPLAIN /obj/structure/sign/painting/library_private // keep your smut away from prying eyes, or non-librarians at least name = "\improper Private Painting Exhibit mounting" @@ -367,7 +366,7 @@ desc_with_canvas = "A painting hung away from lesser minds." persistence_id = "library_private" req_one_access = list(access_library) - curator = "Librarian" + curator = JOB_LIBRARIAN /obj/structure/sign/painting/away_areas // for very hard-to-get-to areas name = "\improper Remote Painting Exhibit mounting" @@ -392,7 +391,7 @@ /obj/structure/sign/painting/attackby(obj/item/I, mob/user, params) if(!current_canvas && istype(I, /obj/item/canvas)) frame_canvas(user, I) - else if(current_canvas && current_canvas.painting_name == initial(current_canvas.painting_name) && istype(I,/obj/item/weapon/pen)) + else if(current_canvas && current_canvas.painting_name == initial(current_canvas.painting_name) && istype(I,/obj/item/pen)) try_rename(user) else if(current_canvas && I.has_tool_quality(TOOL_WIRECUTTER)) unframe_canvas(user) @@ -402,40 +401,40 @@ /obj/structure/sign/painting/examine(mob/user) . = ..() if(persistence_id) - . += "Any painting placed here will be archived at the end of the shift." + . += span_notice("Any painting placed here will be archived at the end of the shift.") if(current_canvas) current_canvas.tgui_interact(user) - . += "Use wirecutters to remove the painting." - . += "Paintings hung here are curated based on interest. The more often someone EXAMINEs the painting, the longer it will stay in rotation." + . += span_notice("Use wirecutters to remove the painting.") + . += span_notice("Paintings hung here are curated based on interest. The more often someone EXAMINEs the painting, the longer it will stay in rotation.") // Painting loaded and persistent frame, give a hint about removal safety if(persistence_id) if(loaded) - . += "Don't worry, the currently framed painting has already been entered into the archives and can be safely removed. It will still be used on future shifts." + . += span_warning("Don't worry, the currently framed painting has already been entered into the archives and can be safely removed. It will still be used on future shifts.") back_of_the_line(user) else - . += "This painting has not been entered into the archives yet. Removing it will prevent that from happening." + . += span_warning("This painting has not been entered into the archives yet. Removing it will prevent that from happening.") /obj/structure/sign/painting/proc/frame_canvas(mob/user,obj/item/canvas/new_canvas) if(!allowed(user)) - to_chat(user, "Access lock prevents you from putting a painting into this frame. Ask [curator] for help!") + to_chat(user, span_notice("Access lock prevents you from putting a painting into this frame. Ask [curator] for help!")) return if(user.drop_from_inventory(new_canvas, src)) current_canvas = new_canvas if(!current_canvas.finalized) current_canvas.finalize(user) - to_chat(user,"You frame [current_canvas].") + to_chat(user,span_notice("You frame [current_canvas].")) update_appearance() /obj/structure/sign/painting/proc/unframe_canvas(mob/living/user) if(!allowed(user)) - to_chat(user, "Access lock prevents you from removing paintings from this frame. Ask [curator] ((or admins)) for help!") + to_chat(user, span_notice("Access lock prevents you from removing paintings from this frame. Ask [curator] ((or admins)) for help!")) return if(current_canvas) current_canvas.forceMove(drop_location()) current_canvas = null loaded = FALSE - to_chat(user, "You remove the painting from the frame.") + to_chat(user, span_notice("You remove the painting from the frame.")) update_appearance() /obj/structure/sign/painting/proc/try_rename(mob/user) @@ -550,7 +549,7 @@ Author's Name: [author_name]. \n \ Author's CKey: [author_ckey]")) if(tgui_alert(usr, "Check your chat log (if filtering for notices, check where you don't) for painting details.", - "Is this the painting you want?", list("Yes", "No")) == "No") + "Is this the painting you want?", list("Yes", "No")) != "Yes") return 0 if(!fexists("data/persistent/paintings/[persistence_id]/[painting["md5"]].png")) to_chat(usr, span_warning("Chosen painting could not be loaded! Incident was logged, but no action taken at this time")) @@ -589,7 +588,7 @@ if(tgui_alert(usr, "No painting list ID was given. You may obtain such by debugging SSPersistence and checking the all_paintings entry. \ If you do not wish to do that, you may request a list to be generated of painting titles. This might be resource intensive. \ - Proceed? It will likely have over 500 entries", "Generate list?", list("Proceed!", "Cancel")) == "Cancel") + Proceed? It will likely have over 500 entries", "Generate list?", list("Proceed!", "Cancel")) != "Proceed!") return log_debug("[usr] generated list of paintings from SSPersistence") @@ -649,7 +648,7 @@ SSpersistence.all_paintings.Remove(list(entry)) SSpersistence.all_paintings.Add(list(entry)) art_appreciators += user.ckey - to_chat(user, "Showing interest in this painting renews its position in the curator database.") + to_chat(user, span_notice("Showing interest in this painting renews its position in the curator database.")) /obj/structure/sign/painting/vv_get_dropdown() . = ..() @@ -662,7 +661,7 @@ return var/mob/user = usr if(!persistence_id || !current_canvas) - to_chat(user,"This is not a persistent painting.") + to_chat(user,span_warning("This is not a persistent painting.")) return var/md5 = md5(lowertext(current_canvas.get_data_string())) var/author = current_canvas.author_ckey @@ -679,4 +678,4 @@ QDEL_NULL(P.current_canvas) P.update_appearance() loaded = FALSE - log_and_message_admins("[key_name_admin(user)] has deleted persistent painting made by [author].") + log_and_message_admins(span_notice("[key_name_admin(user)] has deleted persistent painting made by [author].")) diff --git a/code/game/objects/structures/barricades.dm b/code/game/objects/structures/barricades.dm index f33c400023d..ac3481a712b 100644 --- a/code/game/objects/structures/barricades.dm +++ b/code/game/objects/structures/barricades.dm @@ -35,13 +35,13 @@ return //hitting things with the wrong type of stack usually doesn't produce messages, and probably doesn't need to. if(health < maxhealth) if(D.get_amount() < 1) - to_chat(user, "You need one sheet of [material.display_name] to repair \the [src].") + to_chat(user, span_warning("You need one sheet of [material.display_name] to repair \the [src].")) return - visible_message("[user] begins to repair \the [src].") + visible_message(span_notice("[user] begins to repair \the [src].")) if(do_after(user,20) && health < maxhealth) if(D.use(1)) health = maxhealth - visible_message("[user] repairs \the [src].") + visible_message(span_notice("[user] repairs \the [src].")) return return else @@ -71,7 +71,7 @@ return /obj/structure/barricade/attack_generic(var/mob/user, var/damage, var/attack_verb) - visible_message("[user] [attack_verb] the [src]!") + visible_message(span_danger("[user] [attack_verb] the [src]!")) if(material == get_material_by_name("resin")) playsound(src, 'sound/effects/attackblob.ogg', 100, 1) else if(material == (get_material_by_name(MAT_CLOTH) || get_material_by_name(MAT_SYNCLOTH))) @@ -87,7 +87,7 @@ /obj/structure/barricade/proc/dismantle() material.place_dismantled_product(get_turf(src)) - visible_message("\The [src] falls apart!") + visible_message(span_danger("\The [src] falls apart!")) qdel(src) return @@ -138,7 +138,7 @@ /obj/structure/barricade/sandbag/dismantle() update_connections(1, src) material.place_dismantled_product(get_turf(src)) - visible_message("\The [src] falls apart!") + visible_message(span_danger("\The [src] falls apart!")) qdel(src) return diff --git a/code/game/objects/structures/barsign.dm b/code/game/objects/structures/barsign.dm index e692170fc8f..1bad5048c41 100644 --- a/code/game/objects/structures/barsign.dm +++ b/code/game/objects/structures/barsign.dm @@ -35,16 +35,16 @@ if(cult) return ..() - var/obj/item/weapon/card/id/card = I.GetID() + var/obj/item/card/id/card = I.GetID() if(istype(card)) if(access_bar in card.GetAccess()) var/sign_type = tgui_input_list(user, "What would you like to change the barsign to?", "Bar Sign Choice", get_valid_states(0)) if(!sign_type) return icon_state = sign_type - to_chat(user, "You change the barsign.") + to_chat(user, span_notice("You change the barsign.")) else - to_chat(user, "Access denied.") + to_chat(user, span_warning("Access denied.")) return return ..() diff --git a/code/game/objects/structures/bedsheet_bin.dm b/code/game/objects/structures/bedsheet_bin.dm index 8e5b177ab9c..7800bba0707 100644 --- a/code/game/objects/structures/bedsheet_bin.dm +++ b/code/game/objects/structures/bedsheet_bin.dm @@ -4,7 +4,7 @@ BEDSHEETS LINEN BINS */ -/obj/item/weapon/bedsheet +/obj/item/bedsheet name = "bedsheet" desc = "A surprisingly soft linen bedsheet." icon = 'icons/obj/items.dmi' @@ -19,7 +19,7 @@ LINEN BINS drop_sound = 'sound/items/drop/clothing.ogg' pickup_sound = 'sound/items/pickup/clothing.ogg' -/obj/item/weapon/bedsheet/attack_self(mob/user as mob) +/obj/item/bedsheet/attack_self(mob/user as mob) user.drop_item() if(layer == initial(layer)) layer = ABOVE_MOB_LAYER @@ -28,134 +28,151 @@ LINEN BINS add_fingerprint(user) return -/obj/item/weapon/bedsheet/attackby(obj/item/I, mob/user) +/obj/item/bedsheet/attackby(obj/item/I, mob/user) if(is_sharp(I)) - user.visible_message("\The [user] begins cutting up [src] with [I].", "You begin cutting up [src] with [I].") + user.visible_message(span_infoplain(span_bold("\The [user]") + " begins cutting up [src] with [I]."), span_notice("You begin cutting up [src] with [I].")) if(do_after(user, 50)) - to_chat(user, "You cut [src] into pieces!") + to_chat(user, span_notice("You cut [src] into pieces!")) for(var/i in 1 to rand(2,5)) - new /obj/item/weapon/reagent_containers/glass/rag(drop_location()) + new /obj/item/reagent_containers/glass/rag(drop_location()) qdel(src) return ..() -/obj/item/weapon/bedsheet/blue +/obj/item/bedsheet/verb/turn_around() + set name = "Turn Around" + set category = "Object" + set src in oview(1) + + if(!usr || !isturf(usr.loc)) + return + if(usr.stat || usr.restrained()) + return + if(ismouse(usr) || (isobserver(usr) && !CONFIG_GET(flag/ghost_interaction))) + return + + if(dir >= 2) + src.set_dir(1) + else + src.set_dir(2) + +/obj/item/bedsheet/blue icon_state = "sheetblue" -/obj/item/weapon/bedsheet/green +/obj/item/bedsheet/green icon_state = "sheetgreen" -/obj/item/weapon/bedsheet/orange +/obj/item/bedsheet/orange icon_state = "sheetorange" -/obj/item/weapon/bedsheet/purple +/obj/item/bedsheet/purple icon_state = "sheetpurple" -/obj/item/weapon/bedsheet/rainbow +/obj/item/bedsheet/rainbow icon_state = "sheetrainbow" -/obj/item/weapon/bedsheet/red +/obj/item/bedsheet/red icon_state = "sheetred" -/obj/item/weapon/bedsheet/yellow +/obj/item/bedsheet/yellow icon_state = "sheetyellow" -/obj/item/weapon/bedsheet/mime +/obj/item/bedsheet/mime icon_state = "sheetmime" -/obj/item/weapon/bedsheet/clown +/obj/item/bedsheet/clown icon_state = "sheetclown" item_state = "sheetrainbow" -/obj/item/weapon/bedsheet/captain +/obj/item/bedsheet/captain icon_state = "sheetcaptain" -/obj/item/weapon/bedsheet/rd +/obj/item/bedsheet/rd icon_state = "sheetrd" -/obj/item/weapon/bedsheet/medical +/obj/item/bedsheet/medical icon_state = "sheetmedical" -/obj/item/weapon/bedsheet/hos +/obj/item/bedsheet/hos icon_state = "sheethos" -/obj/item/weapon/bedsheet/hop +/obj/item/bedsheet/hop icon_state = "sheethop" -/obj/item/weapon/bedsheet/ce +/obj/item/bedsheet/ce icon_state = "sheetce" -/obj/item/weapon/bedsheet/brown +/obj/item/bedsheet/brown icon_state = "sheetbrown" -/obj/item/weapon/bedsheet/ian +/obj/item/bedsheet/ian icon_state = "sheetian" -/obj/item/weapon/bedsheet/double +/obj/item/bedsheet/double icon_state = "doublesheet" item_state = "sheet" -/obj/item/weapon/bedsheet/bluedouble +/obj/item/bedsheet/bluedouble icon_state = "doublesheetblue" item_state = "sheetblue" -/obj/item/weapon/bedsheet/greendouble +/obj/item/bedsheet/greendouble icon_state = "doublesheetgreen" item_state = "sheetgreen" -/obj/item/weapon/bedsheet/orangedouble +/obj/item/bedsheet/orangedouble icon_state = "doublesheetorange" item_state = "sheetorange" -/obj/item/weapon/bedsheet/purpledouble +/obj/item/bedsheet/purpledouble icon_state = "doublesheetpurple" item_state = "sheetpurple" -/obj/item/weapon/bedsheet/rainbowdouble //all the way across the sky. +/obj/item/bedsheet/rainbowdouble //all the way across the sky. icon_state = "doublesheetrainbow" item_state = "sheetrainbow" -/obj/item/weapon/bedsheet/reddouble +/obj/item/bedsheet/reddouble icon_state = "doublesheetred" item_state = "sheetred" -/obj/item/weapon/bedsheet/yellowdouble +/obj/item/bedsheet/yellowdouble icon_state = "doublesheetyellow" item_state = "sheetyellow" -/obj/item/weapon/bedsheet/mimedouble +/obj/item/bedsheet/mimedouble icon_state = "doublesheetmime" item_state = "sheetmime" -/obj/item/weapon/bedsheet/clowndouble +/obj/item/bedsheet/clowndouble icon_state = "doublesheetclown" item_state = "sheetrainbow" -/obj/item/weapon/bedsheet/captaindouble +/obj/item/bedsheet/captaindouble icon_state = "doublesheetcaptain" item_state = "sheetcaptain" -/obj/item/weapon/bedsheet/rddouble +/obj/item/bedsheet/rddouble icon_state = "doublesheetrd" item_state = "sheetrd" -/obj/item/weapon/bedsheet/hosdouble +/obj/item/bedsheet/hosdouble icon_state = "doublesheethos" item_state = "sheethos" -/obj/item/weapon/bedsheet/hopdouble +/obj/item/bedsheet/hopdouble icon_state = "doublesheethop" item_state = "sheethop" -/obj/item/weapon/bedsheet/cedouble +/obj/item/bedsheet/cedouble icon_state = "doublesheetce" item_state = "sheetce" -/obj/item/weapon/bedsheet/browndouble +/obj/item/bedsheet/browndouble icon_state = "doublesheetbrown" item_state = "sheetbrown" -/obj/item/weapon/bedsheet/iandouble +/obj/item/bedsheet/iandouble icon_state = "doublesheetian" item_state = "sheetian" @@ -189,37 +206,37 @@ LINEN BINS icon_state = "linenbin-full" /obj/structure/bedsheetbin/attackby(obj/item/I as obj, mob/user as mob) - if(istype(I, /obj/item/weapon/bedsheet)) + if(istype(I, /obj/item/bedsheet)) user.drop_item() I.loc = src sheets.Add(I) amount++ - to_chat(user, "You put [I] in [src].") + to_chat(user, span_notice("You put [I] in [src].")) else if(amount && !hidden && I.w_class < ITEMSIZE_LARGE) //make sure there's sheets to hide it among, make sure nothing else is hidden in there. user.drop_item() I.loc = src hidden = I - to_chat(user, "You hide [I] among the sheets.") + to_chat(user, span_notice("You hide [I] among the sheets.")) /obj/structure/bedsheetbin/attack_hand(mob/user as mob) if(amount >= 1) amount-- - var/obj/item/weapon/bedsheet/B + var/obj/item/bedsheet/B if(sheets.len > 0) B = sheets[sheets.len] sheets.Remove(B) else - B = new /obj/item/weapon/bedsheet(loc) + B = new /obj/item/bedsheet(loc) B.loc = user.loc user.put_in_hands(B) - to_chat(user, "You take [B] out of [src].") + to_chat(user, span_notice("You take [B] out of [src].")) if(hidden) hidden.loc = user.loc - to_chat(user, "[hidden] falls out of [B]!") + to_chat(user, span_notice("[hidden] falls out of [B]!")) hidden = null @@ -229,16 +246,16 @@ LINEN BINS if(amount >= 1) amount-- - var/obj/item/weapon/bedsheet/B + var/obj/item/bedsheet/B if(sheets.len > 0) B = sheets[sheets.len] sheets.Remove(B) else - B = new /obj/item/weapon/bedsheet(loc) + B = new /obj/item/bedsheet(loc) B.loc = loc - to_chat(user, "You telekinetically remove [B] from [src].") + to_chat(user, span_notice("You telekinetically remove [B] from [src].")) update_icon() if(hidden) diff --git a/code/game/objects/structures/bedsheet_bin_vr.dm b/code/game/objects/structures/bedsheet_bin_vr.dm index e62ea515572..036a1e44ec0 100644 --- a/code/game/objects/structures/bedsheet_bin_vr.dm +++ b/code/game/objects/structures/bedsheet_bin_vr.dm @@ -1,15 +1,15 @@ -/obj/item/weapon/bedsheet/cosmos +/obj/item/bedsheet/cosmos icon = 'icons/obj/items_vr.dmi' icon_state = "sheetcosmos" -/obj/item/weapon/bedsheet/cosmosdouble +/obj/item/bedsheet/cosmosdouble icon = 'icons/obj/items_vr.dmi' icon_state = "doublesheetcosmos" -/obj/item/weapon/bedsheet/pirate +/obj/item/bedsheet/pirate icon = 'icons/obj/items_vr.dmi' icon_state = "sheetpirate" -/obj/item/weapon/bedsheet/piratedouble +/obj/item/bedsheet/piratedouble icon = 'icons/obj/items_vr.dmi' icon_state = "doublesheetpirate" diff --git a/code/game/objects/structures/bonfire.dm b/code/game/objects/structures/bonfire.dm index d5dd625c674..0f3bbba7b7c 100644 --- a/code/game/objects/structures/bonfire.dm +++ b/code/game/objects/structures/bonfire.dm @@ -43,7 +43,7 @@ R.use(1) can_buckle = TRUE buckle_require_restraints = TRUE - to_chat(user, "You add a rod to \the [src].") + to_chat(user, span_notice("You add a rod to \the [src].")) var/mutable_appearance/rod_underlay = mutable_appearance('icons/obj/structures.dmi', "bonfire_rod") rod_underlay.pixel_y = 16 rod_underlay.appearance_flags = RESET_COLOR|PIXEL_SCALE|TILE_BOUND @@ -51,7 +51,7 @@ if("Grill") R.use(1) grill = TRUE - to_chat(user, "You add a grill to \the [src].") + to_chat(user, span_notice("You add a grill to \the [src].")) update_icon() else return ..() @@ -83,7 +83,7 @@ user.visible_message("[user] dismantles down \the [src].", "You dismantle \the [src].") qdel(src) else - to_chat(user, "\The [src] is still burning. Extinguish it first if you want to dismantle it.") + to_chat(user, span_warning("\The [src] is still burning. Extinguish it first if you want to dismantle it.")) /obj/structure/bonfire/proc/get_fuel_amount() var/F = 0 @@ -101,7 +101,7 @@ if(get_fuel_amount()) var/atom/movable/AM = pop(contents) AM.forceMove(get_turf(src)) - to_chat(user, "You take \the [AM] out of \the [src] before it has a chance to burn away.") + to_chat(user, span_notice("You take \the [AM] out of \the [src] before it has a chance to burn away.")) update_icon() /obj/structure/bonfire/permanent/remove_fuel(mob/user) @@ -109,23 +109,23 @@ /obj/structure/bonfire/proc/add_fuel(atom/movable/new_fuel, mob/user) if(get_fuel_amount() >= 10) - to_chat(user, "\The [src] already has enough fuel!") + to_chat(user, span_warning("\The [src] already has enough fuel!")) return FALSE if(istype(new_fuel, /obj/item/stack/material/wood) || istype(new_fuel, /obj/item/stack/material/log) ) var/obj/item/stack/F = new_fuel var/obj/item/stack/S = F.split(1) if(S) S.forceMove(src) - to_chat(user, "You add \the [new_fuel] to \the [src].") + to_chat(user, span_warning("You add \the [new_fuel] to \the [src].")) update_icon() return TRUE return FALSE else - to_chat(user, "\The [src] needs raw wood to burn, \a [new_fuel] won't work.") + to_chat(user, span_warning("\The [src] needs raw wood to burn, \a [new_fuel] won't work.")) return FALSE /obj/structure/bonfire/permanent/add_fuel(mob/user) - to_chat(user, "\The [src] has plenty of fuel and doesn't need more fuel.") + to_chat(user, span_warning("\The [src] has plenty of fuel and doesn't need more fuel.")) /obj/structure/bonfire/proc/consume_fuel(var/obj/item/stack/consumed_fuel) if(!istype(consumed_fuel)) @@ -160,14 +160,14 @@ burning = FALSE update_icon() STOP_PROCESSING(SSobj, src) - visible_message("\The [src] stops burning.") + visible_message(span_infoplain(span_bold("\The [src]") + " stops burning.")) /obj/structure/bonfire/proc/ignite() if(!burning && get_fuel_amount()) burning = TRUE update_icon() START_PROCESSING(SSobj, src) - visible_message("\The [src] starts burning!") + visible_message(span_warning("\The [src] starts burning!")) /obj/structure/bonfire/proc/burn() var/turf/current_location = get_turf(src) @@ -305,24 +305,24 @@ if(get_fuel_amount()) var/atom/movable/AM = pop(contents) AM.forceMove(get_turf(src)) - to_chat(user, "You take \the [AM] out of \the [src] before it has a chance to burn away.") + to_chat(user, span_notice("You take \the [AM] out of \the [src] before it has a chance to burn away.")) update_icon() /obj/structure/fireplace/proc/add_fuel(atom/movable/new_fuel, mob/user) if(get_fuel_amount() >= 10) - to_chat(user, "\The [src] already has enough fuel!") + to_chat(user, span_warning("\The [src] already has enough fuel!")) return FALSE if(istype(new_fuel, /obj/item/stack/material/wood) || istype(new_fuel, /obj/item/stack/material/log) ) var/obj/item/stack/F = new_fuel var/obj/item/stack/S = F.split(1) if(S) S.forceMove(src) - to_chat(user, "You add \the [new_fuel] to \the [src].") + to_chat(user, span_warning("You add \the [new_fuel] to \the [src].")) update_icon() return TRUE return FALSE else - to_chat(user, "\The [src] needs raw wood to burn, \a [new_fuel] won't work.") + to_chat(user, span_warning("\The [src] needs raw wood to burn, \a [new_fuel] won't work.")) return FALSE /obj/structure/fireplace/proc/consume_fuel(var/obj/item/stack/consumed_fuel) @@ -354,14 +354,14 @@ burning = FALSE update_icon() STOP_PROCESSING(SSobj, src) - visible_message("\The [src] stops burning.") + visible_message(span_infoplain(span_bold("\The [src]") + " stops burning.")) /obj/structure/fireplace/proc/ignite() if(!burning && get_fuel_amount()) burning = TRUE update_icon() START_PROCESSING(SSobj, src) - visible_message("\The [src] starts burning!") + visible_message(span_warning("\The [src] starts burning!")) /obj/structure/fireplace/proc/burn() var/turf/current_location = get_turf(src) diff --git a/code/game/objects/structures/catwalk.dm b/code/game/objects/structures/catwalk.dm index 026aa59c845..465fdd1bb12 100644 --- a/code/game/objects/structures/catwalk.dm +++ b/code/game/objects/structures/catwalk.dm @@ -76,7 +76,7 @@ /obj/structure/catwalk/proc/deconstruct(mob/user) playsound(src, 'sound/items/Welder.ogg', 100, 1) - to_chat(user, "Slicing \the [src] joints ...") + to_chat(user, span_notice("Slicing \the [src] joints ...")) //Lattice would delete itself, but let's save ourselves a new obj if(isopenspace(loc) && user.a_intent == I_HELP) new /obj/structure/lattice/(src.loc) @@ -89,7 +89,7 @@ /obj/structure/catwalk/attackby(obj/item/C as obj, mob/user as mob) if(C.has_tool_quality(TOOL_WELDER)) - var/obj/item/weapon/weldingtool/WT = C.get_welder() + var/obj/item/weldingtool/WT = C.get_welder() if(WT.isOn() && WT.remove_fuel(0, user)) deconstruct(user) return @@ -97,21 +97,21 @@ hatch_open = !hatch_open if(hatch_open) playsound(src, 'sound/items/Crowbar.ogg', 100, 2) - to_chat(user, "You pry open \the [src]'s maintenance hatch.") + to_chat(user, span_notice("You pry open \the [src]'s maintenance hatch.")) update_falling() else playsound(src, 'sound/items/Deconstruct.ogg', 100, 2) - to_chat(user, "You shut \the [src]'s maintenance hatch.") + to_chat(user, span_notice("You shut \the [src]'s maintenance hatch.")) update_icon() return if(istype(C, /obj/item/stack/tile/floor) && !plated_tile) var/obj/item/stack/tile/floor/ST = C - to_chat(user, "Placing tile...") + to_chat(user, span_notice("Placing tile...")) if (!do_after(user, 10)) return if(!ST.use(1)) return - to_chat(user, "You plate \the [src]") + to_chat(user, span_notice("You plate \the [src]")) name = "plated catwalk" plated_tile = C.type src.add_fingerprint(user) @@ -126,7 +126,7 @@ /obj/structure/catwalk/take_damage(amount) health -= amount if(health <= 0) - visible_message("\The [src] breaks down!") + visible_message(span_warning("\The [src] breaks down!")) playsound(src, 'sound/effects/grillehit.ogg', 50, 1) new /obj/item/stack/rods(get_turf(src)) Destroy() diff --git a/code/game/objects/structures/cliff.dm b/code/game/objects/structures/cliff.dm index 6370e64271b..201aab139ba 100644 --- a/code/game/objects/structures/cliff.dm +++ b/code/game/objects/structures/cliff.dm @@ -204,9 +204,9 @@ two tiles on initialization, and which way a cliff is facing may change during m safe_fall = H.species.handle_falling(H, T, silent = TRUE, planetary = FALSE) if(safe_fall) - visible_message(span("notice", "\The [L] glides down from \the [src].")) + visible_message(span_notice("\The [L] glides down from \the [src].")) else - visible_message(span("danger", "\The [L] falls off \the [src]!")) + visible_message(span_danger("\The [L] falls off \the [src]!")) L.forceMove(T) var/harm = !is_double_cliff ? 1 : 0.5 @@ -215,7 +215,7 @@ two tiles on initialization, and which way a cliff is facing may change during m if(istype(L.buckled, /obj/vehicle)) // People falling off in vehicles will take less damage, but will damage the vehicle severely. var/obj/vehicle/vehicle = L.buckled vehicle.adjust_health(40 * harm) - to_chat(L, span("warning", "\The [vehicle] absorbs some of the impact, damaging it.")) + to_chat(L, span_warning("\The [vehicle] absorbs some of the impact, damaging it.")) harm /= 2 playsound(L, 'sound/effects/break_stone.ogg', 70, 1) @@ -228,14 +228,14 @@ two tiles on initialization, and which way a cliff is facing may change during m sleep(fall_time) // A brief delay inbetween the two sounds helps sell the 'ouch' effect. if(safe_fall) - visible_message(span("notice", "\The [L] lands on \the [T].")) + visible_message(span_notice("\The [L] lands on \the [T].")) playsound(L, "rustle", 25, 1) return playsound(L, "punch", 70, 1) shake_camera(L, 1, 1) - visible_message(span("danger", "\The [L] hits \the [T]!")) + visible_message(span_danger("\The [L] hits \the [T]!")) // The bigger they are, the harder they fall. // They will take at least 20 damage at the minimum, and tries to scale up to 40% of their max health. @@ -250,7 +250,7 @@ two tiles on initialization, and which way a cliff is facing may change during m // Now fall off more cliffs below this one if they exist. var/obj/structure/cliff/bottom_cliff = locate() in T if(bottom_cliff) - visible_message(span("danger", "\The [L] rolls down towards \the [bottom_cliff]!")) + visible_message(span_danger("\The [L] rolls down towards \the [bottom_cliff]!")) sleep(5) bottom_cliff.fall_off_cliff(L) @@ -262,7 +262,7 @@ two tiles on initialization, and which way a cliff is facing may change during m if(shoes && shoes.rock_climbing) return ..() // Do the other checks too. - to_chat(user, span("warning", "\The [src] is too steep to climb unassisted.")) + to_chat(user, span_warning("\The [src] is too steep to climb unassisted.")) return FALSE // This tells AI mobs to not be dumb and step off cliffs willingly. diff --git a/code/game/objects/structures/coathanger.dm b/code/game/objects/structures/coathanger.dm index 9da45df7beb..3b55dd88b8a 100644 --- a/code/game/objects/structures/coathanger.dm +++ b/code/game/objects/structures/coathanger.dm @@ -13,7 +13,7 @@ coat = null update_icon() -/obj/structure/coatrack/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/structure/coatrack/attackby(obj/item/W as obj, mob/user as mob) var/can_hang = 0 for (var/T in allowed) if(istype(W,T)) @@ -24,7 +24,7 @@ user.drop_from_inventory(coat, src) update_icon() else - to_chat(user, "You cannot hang [W] on [src]") + to_chat(user, span_notice("You cannot hang [W] on [src]")) return ..() /obj/structure/coatrack/CanPass(atom/movable/mover, turf/target) diff --git a/code/game/objects/structures/crates_lockers/__closets.dm b/code/game/objects/structures/crates_lockers/__closets.dm index 46a32264646..9c1cba95829 100644 --- a/code/game/objects/structures/crates_lockers/__closets.dm +++ b/code/game/objects/structures/crates_lockers/__closets.dm @@ -12,7 +12,7 @@ var/opened = 0 var/sealed = 0 - var/seal_tool = /obj/item/weapon/weldingtool //Tool used to seal the closet, defaults to welder + var/seal_tool = /obj/item/weldingtool //Tool used to seal the closet, defaults to welder var/wall_mounted = 0 //never solid (You can always pass over it) var/health = 100 @@ -228,7 +228,7 @@ if(is_animating_door) return if(!(opened ? close() : open())) - to_chat(user, "It won't budge!") + to_chat(user, span_notice("It won't budge!")) return // this should probably use dump_contents() @@ -271,7 +271,7 @@ return -/obj/structure/closet/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/structure/closet/attackby(obj/item/W as obj, mob/user as mob) if(W.has_tool_quality(TOOL_WRENCH)) if(opened) if(anchored) @@ -280,67 +280,67 @@ user.visible_message("\The [user] begins securing \the [src] to the floor.", "You start securing \the [src] to the floor.") if(do_after(user, 20 * W.toolspeed)) if(!src) return - to_chat(user, "You [anchored? "un" : ""]secured \the [src]!") + to_chat(user, span_notice("You [anchored? "un" : ""]secured \the [src]!")) anchored = !anchored return else - to_chat(user, "You can't reach the anchoring bolts when the door is closed!") + to_chat(user, span_notice("You can't reach the anchoring bolts when the door is closed!")) else if(opened) - if(istype(W, /obj/item/weapon/grab)) - var/obj/item/weapon/grab/G = W + if(istype(W, /obj/item/grab)) + var/obj/item/grab/G = W MouseDrop_T(G.affecting, user) //act like they were dragged onto the closet return 0 if(istype(W,/obj/item/tk_grab)) return 0 if(W.has_tool_quality(TOOL_WELDER)) - var/obj/item/weapon/weldingtool/WT = W.get_welder() + var/obj/item/weldingtool/WT = W.get_welder() if(!WT.remove_fuel(0,user)) if(!WT.isOn()) return else - to_chat(user, "You need more welding fuel to complete this task.") + to_chat(user, span_notice("You need more welding fuel to complete this task.")) return playsound(src, WT.usesound, 50) new /obj/item/stack/material/steel(loc) for(var/mob/M in viewers(src)) - M.show_message("\The [src] has been cut apart by [user] with \the [WT].", 3, "You hear welding.", 2) + M.show_message(span_notice("\The [src] has been cut apart by [user] with \the [WT]."), 3, "You hear welding.", 2) qdel(src) return - if(istype(W, /obj/item/weapon/storage/laundry_basket) && W.contents.len) - var/obj/item/weapon/storage/laundry_basket/LB = W + if(istype(W, /obj/item/storage/laundry_basket) && W.contents.len) + var/obj/item/storage/laundry_basket/LB = W var/turf/T = get_turf(src) for(var/obj/item/I in LB.contents) LB.remove_from_storage(I, T) - user.visible_message("[user] empties \the [LB] into \the [src].", \ - "You empty \the [LB] into \the [src].", \ - "You hear rustling of clothes.") + user.visible_message(span_notice("[user] empties \the [LB] into \the [src]."), \ + span_notice("You empty \the [LB] into \the [src]."), \ + span_notice("You hear rustling of clothes.")) return if(isrobot(user)) return if(W.loc != user) // This should stop mounted modules ending up outside the module. return - usr.drop_item() + user.drop_item() if(W) W.forceMove(loc) - else if(istype(W, /obj/item/weapon/packageWrap)) + else if(istype(W, /obj/item/packageWrap)) return else if(seal_tool) if(istype(W, seal_tool)) - var/obj/item/weapon/S = W + var/obj/item/S = W if(S.has_tool_quality(TOOL_WELDER)) - var/obj/item/weapon/weldingtool/WT = S.get_welder() + var/obj/item/weldingtool/WT = S.get_welder() if(!WT.remove_fuel(0,user)) if(!WT.isOn()) return else - to_chat(user, "You need more welding fuel to complete this task.") + to_chat(user, span_notice("You need more welding fuel to complete this task.")) return if(do_after(user, 20 * S.toolspeed)) playsound(src, S.usesound, 50) sealed = !sealed update_icon() for(var/mob/M in viewers(src)) - M.show_message("[src] has been [sealed?"sealed":"unsealed"] by [user.name].", 3) + M.show_message(span_warning("[src] has been [sealed?"sealed":"unsealed"] by [user.name]."), 3) else attack_hand(user) return @@ -362,7 +362,7 @@ return step_towards(O, loc) if(user != O) - user.show_viewers("[user] stuffs [O] into [src]!") + user.show_viewers(span_danger("[user] stuffs [O] into [src]!")) add_fingerprint(user) return @@ -375,7 +375,7 @@ return if(!open()) - to_chat(user, "It won't budge!") + to_chat(user, span_notice("It won't budge!")) /obj/structure/closet/attack_hand(mob/user as mob) add_fingerprint(user) @@ -385,7 +385,7 @@ /obj/structure/closet/attack_self_tk(mob/user as mob) add_fingerprint(user) if(!toggle()) - to_chat(usr, "It won't budge!") + to_chat(user, span_notice("It won't budge!")) /obj/structure/closet/verb/verb_toggleopen() set src in oview(1) @@ -404,9 +404,9 @@ add_fingerprint(usr) toggle(usr) else - to_chat(usr, "This mob type can't use this verb.") //VOREStation Addition End + to_chat(usr, span_warning("This mob type can't use this verb.")) //VOREStation Addition End else - to_chat(usr, "This mob type can't use this verb.") + to_chat(usr, span_warning("This mob type can't use this verb.")) /obj/structure/closet/update_icon() if(opened) @@ -418,7 +418,7 @@ if(damage < STRUCTURE_MIN_DAMAGE_THRESHOLD) return user.do_attack_animation(src) - visible_message("[user] [attack_message] the [src]!") + visible_message(span_danger("[user] [attack_message] the [src]!")) dump_contents() spawn(1) qdel(src) return 1 @@ -437,9 +437,9 @@ escapee.setClickCooldown(100) //okay, so the closet is either sealed or locked... resist!!! - to_chat(escapee, "You lean on the back of \the [src] and start pushing the door open. (this will take about [breakout_time] minutes)") + to_chat(escapee, span_warning("You lean on the back of \the [src] and start pushing the door open. (this will take about [breakout_time] minutes)")) - visible_message("\The [src] begins to shake violently!") + visible_message(span_danger("\The [src] begins to shake violently!")) breakout = 1 //can't think of a better way to do this right now. for(var/i in 1 to (6*breakout_time * 2)) //minutes * 6 * 5seconds * 2 @@ -460,8 +460,8 @@ //Well then break it! breakout = 0 - to_chat(escapee, "You successfully break out!") - visible_message("\The [escapee] successfully broke out of \the [src]!") + to_chat(escapee, span_warning("You successfully break out!")) + visible_message(span_danger("\The [escapee] successfully broke out of \the [src]!")) playsound(src, breakout_sound, 100, 1) break_open() animate_shake() @@ -556,7 +556,7 @@ return if(!(usr in src.contents)) - to_chat(usr, "You need to be inside \the [src] to do this.") + to_chat(usr, span_warning("You need to be inside \the [src] to do this.")) return var/list/targets = list() //IF IT IS NOT BROKEN. DO NOT FIX IT. @@ -570,7 +570,7 @@ targets += L if(targets == 0) - to_chat(src, "No eligible targets found.") + to_chat(src, span_notice("No eligible targets found.")) return var/mob/living/target = tgui_input_list(usr, "Please select a target.", "Victim", targets) @@ -579,11 +579,11 @@ return if(!istype(target, /mob/living)) //Safety. - to_chat(src, "You need to select a living target!") + to_chat(src, span_warning("You need to select a living target!")) return if (get_dist(src,target) >= 1 || get_dist(src,usr) >= 1) //in case they leave the locker - to_chat(src, "You are no longer both in \the [src].") + to_chat(src, span_warning("You are no longer both in \the [src].")) return playsound(src, vore_sound, 25) diff --git a/code/game/objects/structures/crates_lockers/closets/coffin.dm b/code/game/objects/structures/crates_lockers/closets/coffin.dm index 43098084d72..0fa429bbb53 100644 --- a/code/game/objects/structures/crates_lockers/closets/coffin.dm +++ b/code/game/objects/structures/crates_lockers/closets/coffin.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/closets/coffin.dmi' icon_state = "closed_unlocked" - seal_tool = /obj/item/weapon/tool/screwdriver + seal_tool = /obj/item/tool/screwdriver breakout_sound = 'sound/weapons/tablehit1.ogg' closet_appearance = null // Special icon for us @@ -25,15 +25,15 @@ /obj/structure/closet/grave/attack_hand(mob/user as mob) if(opened) - visible_message("[user] starts to climb into \the [src.name].", \ - "You start to lower yourself into \the [src.name].") + visible_message(span_notice("[user] starts to climb into \the [src.name]."), \ + span_notice("You start to lower yourself into \the [src.name].")) if(do_after(user, 50)) user.forceMove(src.loc) - visible_message("[user] climbs into \the [src.name].", \ - "You climb into \the [src.name].") + visible_message(span_notice("[user] climbs into \the [src.name]."), \ + span_notice("You climb into \the [src.name].")) else - visible_message("[user] decides not to climb into \the [src.name].", \ - "You stop climbing into \the [src.name].") + visible_message(span_notice("[user] decides not to climb into \the [src.name]."), \ + span_notice("You stop climbing into \the [src.name].")) return /obj/structure/closet/grave/CanPass(atom/movable/mover, turf/target) @@ -43,19 +43,19 @@ if(ishuman(M)) var/mob/living/carbon/human/H = M if(H.m_intent == "walk") - to_chat(H, "You stop at the edge of \the [src.name].") + to_chat(H, span_warning("You stop at the edge of \the [src.name].")) return FALSE else - to_chat(H, "You fall into \the [src.name]!") + to_chat(H, span_warning("You fall into \the [src.name]!")) fall_in(H) return TRUE if(isrobot(M)) var/mob/living/silicon/robot/R = M if(R.a_intent == I_HELP) - to_chat(R, "You stop at the edge of \the [src.name].") + to_chat(R, span_warning("You stop at the edge of \the [src.name].")) return FALSE else - to_chat(R, "You enter \the [src.name].") + to_chat(R, span_warning("You enter \the [src.name].")) return TRUE return TRUE //Everything else can move over the graves @@ -66,73 +66,73 @@ var/limb_damage = rand(5,25) H.adjustBruteLoss(limb_damage) -/obj/structure/closet/grave/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/structure/closet/grave/attackby(obj/item/W as obj, mob/user as mob) if(src.opened) - if(istype(W, /obj/item/weapon/shovel)) - user.visible_message("[user] piles dirt into \the [src.name].", \ - "You start to pile dirt into \the [src.name].", \ - "You hear dirt being moved.") + if(istype(W, /obj/item/shovel)) + user.visible_message(span_notice("[user] piles dirt into \the [src.name]."), \ + span_notice("You start to pile dirt into \the [src.name]."), \ + span_notice("You hear dirt being moved.")) if(do_after(user, 40 * W.toolspeed)) - user.visible_message("[user] pats down the dirt on top of \the [src.name].", \ - "You finish filling in \the [src.name].") + user.visible_message(span_notice("[user] pats down the dirt on top of \the [src.name]."), \ + span_notice("You finish filling in \the [src.name].")) close() return else - user.visible_message("[user] stops filling in \the [src.name].", \ - "You change your mind and stop filling in \the [src.name].") + user.visible_message(span_notice("[user] stops filling in \the [src.name]."), \ + span_notice("You change your mind and stop filling in \the [src.name].")) return - if(istype(W, /obj/item/weapon/grab)) - var/obj/item/weapon/grab/G = W + if(istype(W, /obj/item/grab)) + var/obj/item/grab/G = W src.MouseDrop_T(G.affecting, user) //act like they were dragged onto the closet return 0 if(istype(W,/obj/item/tk_grab)) return 0 - if(istype(W, /obj/item/weapon/storage/laundry_basket) && W.contents.len) - var/obj/item/weapon/storage/laundry_basket/LB = W + if(istype(W, /obj/item/storage/laundry_basket) && W.contents.len) + var/obj/item/storage/laundry_basket/LB = W var/turf/T = get_turf(src) for(var/obj/item/I in LB.contents) LB.remove_from_storage(I, T) - user.visible_message("[user] empties \the [LB] into \the [src].", \ - "You empty \the [LB] into \the [src].", \ - "You hear rustling of clothes.") + user.visible_message(span_notice("[user] empties \the [LB] into \the [src]."), \ + span_notice("You empty \the [LB] into \the [src]."), \ + span_notice("You hear rustling of clothes.")) return if(isrobot(user)) return if(W.loc != user) // This should stop mounted modules ending up outside the module. return - usr.drop_item() + user.drop_item() if(W) W.forceMove(src.loc) else - if(istype(W, /obj/item/weapon/shovel)) + if(istype(W, /obj/item/shovel)) if(user.a_intent == I_HURT) // Hurt intent means you're trying to kill someone, or just get rid of the grave - user.visible_message("[user] begins to smoothe out the dirt of \the [src.name].", \ - "You start to smoothe out the dirt of \the [src.name].", \ - "You hear dirt being moved.") + user.visible_message(span_notice("[user] begins to smoothe out the dirt of \the [src.name]."), \ + span_notice("You start to smoothe out the dirt of \the [src.name]."), \ + span_notice("You hear dirt being moved.")) if(do_after(user, 40 * W.toolspeed)) - user.visible_message("[user] finishes smoothing out \the [src.name].", \ - "You finish smoothing out \the [src.name].") + user.visible_message(span_notice("[user] finishes smoothing out \the [src.name]."), \ + span_notice("You finish smoothing out \the [src.name].")) if(LAZYLEN(contents)) alpha = 40 // If we've got stuff inside, like maybe a person, just make it hard to see us else qdel(src) // Else, go away return else - user.visible_message("[user] stops concealing \the [src.name].", \ - "You stop concealing \the [src.name].") + user.visible_message(span_notice("[user] stops concealing \the [src.name]."), \ + span_notice("You stop concealing \the [src.name].")) return else - user.visible_message("[user] begins to unearth \the [src.name].", \ - "You start to unearth \the [src.name].", \ - "You hear dirt being moved.") + user.visible_message(span_notice("[user] begins to unearth \the [src.name]."), \ + span_notice("You start to unearth \the [src.name]."), \ + span_notice("You hear dirt being moved.")) if(do_after(user, 40 * W.toolspeed)) - user.visible_message("[user] reaches the bottom of \the [src.name].", \ - "You finish digging out \the [src.name].") + user.visible_message(span_notice("[user] reaches the bottom of \the [src.name]."), \ + span_notice("You finish digging out \the [src.name].")) break_open() return else - user.visible_message("[user] stops digging out \the [src.name].", \ - "You stop digging out \the [src.name].") + user.visible_message(span_notice("[user] stops digging out \the [src.name]."), \ + span_notice("You stop digging out \the [src.name].")) return return diff --git a/code/game/objects/structures/crates_lockers/closets/egg_vr.dm b/code/game/objects/structures/crates_lockers/closets/egg_vr.dm index eb69ff63b57..a08dc35f56d 100644 --- a/code/game/objects/structures/crates_lockers/closets/egg_vr.dm +++ b/code/game/objects/structures/crates_lockers/closets/egg_vr.dm @@ -23,7 +23,7 @@ else icon_state = icon_closed -/obj/structure/closet/secure_closet/egg/attackby(obj/item/weapon/W, mob/user as mob) //This also prevents crew from welding the eggs and making them unable to be opened. +/obj/structure/closet/secure_closet/egg/attackby(obj/item/W, mob/user as mob) //This also prevents crew from welding the eggs and making them unable to be opened. if(W.has_tool_quality(TOOL_WELDER)) src.dump_contents() qdel(src) diff --git a/code/game/objects/structures/crates_lockers/closets/fitness.dm b/code/game/objects/structures/crates_lockers/closets/fitness.dm index c2243e42d16..f4c2778888b 100644 --- a/code/game/objects/structures/crates_lockers/closets/fitness.dm +++ b/code/game/objects/structures/crates_lockers/closets/fitness.dm @@ -80,7 +80,7 @@ closet_appearance = /decl/closet_appearance/wardrobe/red starts_with = list( - /obj/item/weapon/gun/energy/lasertag/red = 5, + /obj/item/gun/energy/lasertag/red = 5, /obj/item/clothing/suit/redtag = 5) @@ -90,7 +90,7 @@ closet_appearance = /decl/closet_appearance/wardrobe/blue starts_with = list( - /obj/item/weapon/gun/energy/lasertag/blue = 5, + /obj/item/gun/energy/lasertag/blue = 5, /obj/item/clothing/suit/bluetag = 5) /obj/structure/closet/lasertag/red/laserdome @@ -99,10 +99,10 @@ closet_appearance = /decl/closet_appearance/wardrobe/red starts_with = list( - /obj/item/device/encryptionkey/ent = 3, + /obj/item/encryptionkey/ent = 3, /obj/item/clothing/gloves/bluespace = 3, /obj/item/clothing/under/color/red = 3, - /obj/item/weapon/gun/energy/lasertag/red = 3, + /obj/item/gun/energy/lasertag/red = 3, /obj/item/clothing/head/redtag = 3, /obj/item/clothing/suit/redtag = 3) @@ -112,9 +112,9 @@ closet_appearance = /decl/closet_appearance/wardrobe/blue starts_with = list( - /obj/item/device/encryptionkey/ent = 3, + /obj/item/encryptionkey/ent = 3, /obj/item/clothing/gloves/bluespace = 3, /obj/item/clothing/under/color/blue = 3, - /obj/item/weapon/gun/energy/lasertag/blue = 3, + /obj/item/gun/energy/lasertag/blue = 3, /obj/item/clothing/head/bluetag = 3, /obj/item/clothing/suit/bluetag = 3) diff --git a/code/game/objects/structures/crates_lockers/closets/gimmick.dm b/code/game/objects/structures/crates_lockers/closets/gimmick.dm index 48bea9205b9..1342b4e18e6 100644 --- a/code/game/objects/structures/crates_lockers/closets/gimmick.dm +++ b/code/game/objects/structures/crates_lockers/closets/gimmick.dm @@ -59,10 +59,10 @@ starts_with = list( /obj/item/clothing/suit/armor/tdome/red = 3, - /obj/item/weapon/melee/energy/sword = 3, - /obj/item/weapon/gun/energy/laser = 3, - /obj/item/weapon/melee/baton = 3, - /obj/item/weapon/storage/box/flashbangs = 3, + /obj/item/melee/energy/sword = 3, + /obj/item/gun/energy/laser = 3, + /obj/item/melee/baton = 3, + /obj/item/storage/box/flashbangs = 3, /obj/item/clothing/head/helmet/thunderdome = 3) /obj/structure/closet/thunderdome/tdgreen @@ -71,10 +71,10 @@ starts_with = list( /obj/item/clothing/suit/armor/tdome/green = 3, - /obj/item/weapon/melee/energy/sword = 3, - /obj/item/weapon/gun/energy/laser = 3, - /obj/item/weapon/melee/baton = 3, - /obj/item/weapon/storage/box/flashbangs = 3, + /obj/item/melee/energy/sword = 3, + /obj/item/gun/energy/laser = 3, + /obj/item/melee/baton = 3, + /obj/item/storage/box/flashbangs = 3, /obj/item/clothing/head/helmet/thunderdome = 3) /obj/structure/closet/alien diff --git a/code/game/objects/structures/crates_lockers/closets/job_closets.dm b/code/game/objects/structures/crates_lockers/closets/job_closets.dm index c9754da28ba..cb8732ecbae 100644 --- a/code/game/objects/structures/crates_lockers/closets/job_closets.dm +++ b/code/game/objects/structures/crates_lockers/closets/job_closets.dm @@ -23,7 +23,9 @@ starts_with = list( /obj/item/clothing/head/that = 2, - /obj/item/device/radio/headset/headset_service = 2, + /obj/item/radio/headset/service = 2, + /obj/item/radio/headset/alt/service = 2, + /obj/item/radio/headset/earbud/service = 2, /obj/item/clothing/head/pin/flower, /obj/item/clothing/head/pin/flower/pink, /obj/item/clothing/head/pin/flower/yellow, @@ -51,11 +53,13 @@ starts_with = list( /obj/item/clothing/under/sundress, /obj/item/clothing/under/waiter = 2, - /obj/item/device/radio/headset/headset_service = 2, - /obj/item/weapon/storage/box/mousetraps = 2, + /obj/item/radio/headset/service = 2, + /obj/item/radio/headset/alt/service = 2, + /obj/item/radio/headset/earbud/service = 2, + /obj/item/storage/box/mousetraps = 2, /obj/item/clothing/under/rank/chef, /obj/item/clothing/head/chefhat, - /obj/item/weapon/storage/bag/food = 2 + /obj/item/storage/bag/food = 2 ) /* @@ -69,17 +73,19 @@ starts_with = list( /obj/item/clothing/under/rank/janitor, /obj/item/clothing/under/dress/maid/janitor, - /obj/item/device/radio/headset/headset_service, - /obj/item/weapon/cartridge/janitor, + /obj/item/radio/headset/service, + /obj/item/radio/headset/alt/service, + /obj/item/radio/headset/earbud/service, + /obj/item/cartridge/janitor, /obj/item/clothing/suit/storage/hooded/wintercoat/janitor, /obj/item/clothing/gloves/black, /obj/item/clothing/head/soft/purple, /obj/item/clothing/head/beret/purple, - /obj/item/device/flashlight, + /obj/item/flashlight, /obj/item/clothing/suit/caution = 4, - /obj/item/device/lightreplacer, - /obj/item/weapon/storage/bag/trash, - /obj/item/weapon/storage/belt/janitor, + /obj/item/lightreplacer, + /obj/item/storage/bag/trash, + /obj/item/storage/belt/janitor, /obj/item/clothing/shoes/galoshes, /obj/item/clothing/glasses/hud/janitor ) @@ -111,7 +117,7 @@ /obj/item/clothing/glasses/sunglasses/big = 2, /obj/item/clothing/under/lawyer/blue = 2, /obj/item/clothing/under/lawyer/blue/skirt = 2, - /obj/item/device/tape/random = 2 + /obj/item/rectape/random = 2 ) /* @@ -123,11 +129,11 @@ closet_appearance = /decl/closet_appearance/wardrobe/janitor starts_with = list( - /obj/item/device/flashlight = 5, + /obj/item/flashlight = 5, /obj/item/clothing/suit/caution = 12, - /obj/item/device/lightreplacer = 3, - /obj/item/weapon/storage/bag/trash = 3, - /obj/item/weapon/storage/box/lights/mixed = 3, - /obj/item/weapon/storage/box/mousetraps = 1, - /obj/item/weapon/grenade/chem_grenade/cleaner = 4 + /obj/item/lightreplacer = 3, + /obj/item/storage/bag/trash = 3, + /obj/item/storage/box/lights/mixed = 3, + /obj/item/storage/box/mousetraps = 1, + /obj/item/grenade/chem_grenade/cleaner = 4 ) diff --git a/code/game/objects/structures/crates_lockers/closets/l3closet.dm b/code/game/objects/structures/crates_lockers/closets/l3closet.dm index 2966d4b8e4f..a5587d50ec2 100644 --- a/code/game/objects/structures/crates_lockers/closets/l3closet.dm +++ b/code/game/objects/structures/crates_lockers/closets/l3closet.dm @@ -18,7 +18,7 @@ /obj/item/clothing/suit/bio_suit/virology, /obj/item/clothing/head/bio_hood/virology, /obj/item/clothing/mask/gas, - /obj/item/weapon/tank/oxygen) + /obj/item/tank/oxygen) /obj/structure/closet/l3closet/security @@ -27,7 +27,7 @@ starts_with = list( /obj/item/clothing/suit/bio_suit/security, /obj/item/clothing/head/bio_hood/security) - ///obj/item/weapon/gun/energy/taser/xeno/sec) //VOREStation Removal + ///obj/item/gun/energy/taser/xeno/sec) //VOREStation Removal /obj/structure/closet/l3closet/janitor closet_appearance = /decl/closet_appearance/bio/janitor @@ -36,7 +36,7 @@ /obj/item/clothing/suit/bio_suit/janitor = 2, /obj/item/clothing/head/bio_hood/janitor = 2, /obj/item/clothing/mask/gas = 2, - /obj/item/weapon/tank/emergency/oxygen/engi = 2) + /obj/item/tank/emergency/oxygen/engi = 2) /obj/structure/closet/l3closet/scientist @@ -45,13 +45,13 @@ starts_with = list( /obj/item/clothing/suit/bio_suit/scientist, /obj/item/clothing/head/bio_hood/scientist, - /obj/item/weapon/storage/bag/xeno = 1) + /obj/item/storage/bag/xeno = 1) /obj/structure/closet/l3closet/scientist/double starts_with = list( /obj/item/clothing/suit/bio_suit/scientist = 2, /obj/item/clothing/head/bio_hood/scientist = 2, - /obj/item/weapon/storage/bag/xeno = 2) // VOREEdit, adding the xenobag to xenobio. + /obj/item/storage/bag/xeno = 2) // VOREEdit, adding the xenobag to xenobio. /obj/structure/closet/l3closet/medical diff --git a/code/game/objects/structures/crates_lockers/closets/malfunction.dm b/code/game/objects/structures/crates_lockers/closets/malfunction.dm index cd23e478a97..f877b54e30a 100644 --- a/code/game/objects/structures/crates_lockers/closets/malfunction.dm +++ b/code/game/objects/structures/crates_lockers/closets/malfunction.dm @@ -3,10 +3,10 @@ closet_appearance = /decl/closet_appearance/tactical starts_with = list( - /obj/item/weapon/tank/jetpack/void, + /obj/item/tank/jetpack/void, /obj/item/clothing/mask/breath, /obj/item/clothing/head/helmet/space/void, /obj/item/clothing/suit/space/void, - /obj/item/weapon/tool/crowbar, - /obj/item/weapon/cell, - /obj/item/device/multitool) + /obj/item/tool/crowbar, + /obj/item/cell, + /obj/item/multitool) diff --git a/code/game/objects/structures/crates_lockers/closets/misc_vr.dm b/code/game/objects/structures/crates_lockers/closets/misc_vr.dm index 356a75c3a9c..a26d8c2fe83 100644 --- a/code/game/objects/structures/crates_lockers/closets/misc_vr.dm +++ b/code/game/objects/structures/crates_lockers/closets/misc_vr.dm @@ -20,7 +20,7 @@ req_one_access = list(access_armory,access_captain) starts_with = list( - /obj/item/weapon/gun/energy/gun = 4) + /obj/item/gun/energy/gun = 4) /obj/structure/closet/secure_closet/guncabinet/rifle name = "rifle cabinet" @@ -28,13 +28,13 @@ starts_with = list( /obj/item/ammo_magazine/clip/c762/hunter = 9, - /obj/item/weapon/gun/projectile/shotgun/pump/rifle = 2) + /obj/item/gun/projectile/shotgun/pump/rifle = 2) /obj/structure/closet/secure_closet/guncabinet/rifle/Initialize() if(prob(85)) - starts_with += /obj/item/weapon/gun/projectile/shotgun/pump/rifle + starts_with += /obj/item/gun/projectile/shotgun/pump/rifle else - starts_with += /obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever + starts_with += /obj/item/gun/projectile/shotgun/pump/rifle/lever return ..() /obj/structure/closet/secure_closet/guncabinet/phase @@ -42,9 +42,9 @@ req_one_access = list(access_explorer,access_brig) // YW EDIT starts_with = list( - /obj/item/weapon/gun/energy/phasegun = 2, - /obj/item/weapon/gun/energy/phasegun/pistol, - /obj/item/weapon/cell/device/weapon = 2, + /obj/item/gun/energy/phasegun = 2, + /obj/item/gun/energy/phasegun/pistol, + /obj/item/cell/device/weapon = 2, /obj/item/clothing/accessory/permit/gun/planetside) /* @@ -59,33 +59,33 @@ /obj/item/clothing/under/explorer, /obj/item/clothing/suit/storage/hooded/explorer, /obj/item/clothing/mask/gas/explorer, - /obj/item/weapon/storage/belt/explorer, + /obj/item/storage/belt/explorer, /obj/item/clothing/shoes/boots/winter/explorer, /obj/item/clothing/gloves/black, - /obj/item/device/radio/headset/explorer, - /obj/item/device/radio/headset/explorer/alt, - /obj/item/weapon/cartridge/explorer, - /obj/item/device/flashlight, - /obj/item/device/gps/explorer, - /obj/item/weapon/storage/box/flare, - /obj/item/device/geiger, - /obj/item/weapon/cell/device, - /obj/item/device/radio, + /obj/item/radio/headset/explorer, + /obj/item/radio/headset/alt/explorer, + /obj/item/cartridge/explorer, + /obj/item/flashlight, + /obj/item/gps/explorer, + /obj/item/storage/box/flare, + /obj/item/geiger, + /obj/item/cell/device, + /obj/item/radio, /obj/item/stack/marker_beacon/thirty, - /obj/item/weapon/material/knife/tacknife/survival, - /obj/item/weapon/material/knife/machete, + /obj/item/material/knife/tacknife/survival, + /obj/item/material/knife/machete, /obj/item/clothing/accessory/holster/machete, - /obj/item/weapon/reagent_containers/food/snacks/liquidfood, - /obj/item/weapon/reagent_containers/food/snacks/liquidprotein, - /obj/item/device/cataloguer) + /obj/item/reagent_containers/food/snacks/liquidfood, + /obj/item/reagent_containers/food/snacks/liquidprotein, + /obj/item/cataloguer) /obj/structure/closet/secure_closet/explorer/Initialize() if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack/explorer + starts_with += /obj/item/storage/backpack/explorer else - starts_with += /obj/item/weapon/storage/backpack/satchel/explorer + starts_with += /obj/item/storage/backpack/satchel/explorer if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack/dufflebag/explorer + starts_with += /obj/item/storage/backpack/dufflebag/explorer return ..() /* @@ -100,34 +100,34 @@ /obj/item/clothing/under/explorer, /obj/item/clothing/suit/storage/hooded/explorer, /obj/item/clothing/mask/gas/explorer, - /obj/item/weapon/storage/belt/explorer/pathfinder, + /obj/item/storage/belt/explorer/pathfinder, /obj/item/clothing/shoes/boots/winter/explorer, /obj/item/clothing/gloves/black, - /obj/item/device/radio/headset/pathfinder, - /obj/item/device/radio/headset/pathfinder/alt, - /obj/item/weapon/cartridge/explorer, - /obj/item/device/flashlight, - /obj/item/device/gps/explorer, - /obj/item/weapon/storage/box/flare, - /obj/item/weapon/storage/box/explorerkeys, - /obj/item/device/geiger, - /obj/item/weapon/cell/device, - /obj/item/device/radio, + /obj/item/radio/headset/pathfinder, + /obj/item/radio/headset/alt/pathfinder, + /obj/item/cartridge/explorer, + /obj/item/flashlight, + /obj/item/gps/explorer, + /obj/item/storage/box/flare, + /obj/item/storage/box/explorerkeys, + /obj/item/geiger, + /obj/item/cell/device, + /obj/item/radio, /obj/item/stack/marker_beacon/thirty, - /obj/item/weapon/material/knife/tacknife/survival, - /obj/item/weapon/material/knife/machete/deluxe, + /obj/item/material/knife/tacknife/survival, + /obj/item/material/knife/machete/deluxe, /obj/item/clothing/accessory/holster/machete, /obj/random/explorer_shield, - /obj/item/weapon/reagent_containers/food/snacks/liquidfood, - /obj/item/weapon/reagent_containers/food/snacks/liquidprotein, - /obj/item/device/cataloguer/compact/pathfinder, - /obj/item/device/mapping_unit) + /obj/item/reagent_containers/food/snacks/liquidfood, + /obj/item/reagent_containers/food/snacks/liquidprotein, + /obj/item/cataloguer/compact/pathfinder, + /obj/item/mapping_unit) /obj/structure/closet/secure_closet/pathfinder/Initialize() if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack + starts_with += /obj/item/storage/backpack else - starts_with += /obj/item/weapon/storage/backpack/satchel/norm + starts_with += /obj/item/storage/backpack/satchel/norm return ..() /* @@ -140,46 +140,46 @@ closet_appearance = /decl/closet_appearance/secure_closet/expedition/sar starts_with = list( - /obj/item/weapon/storage/backpack/dufflebag/emt, - /obj/item/weapon/storage/box/autoinjectors, - /obj/item/weapon/storage/box/syringes, - /obj/item/weapon/reagent_containers/glass/bottle/inaprovaline, - /obj/item/weapon/reagent_containers/glass/bottle/antitoxin, - /obj/item/weapon/storage/belt/medical/emt, - /obj/item/weapon/material/knife/tacknife/survival, - /obj/item/weapon/gun/energy/locked/frontier/holdout, + /obj/item/storage/backpack/dufflebag/emt, + /obj/item/storage/box/autoinjectors, + /obj/item/storage/box/syringes, + /obj/item/reagent_containers/glass/bottle/inaprovaline, + /obj/item/reagent_containers/glass/bottle/antitoxin, + /obj/item/storage/belt/medical/emt, + /obj/item/material/knife/tacknife/survival, + /obj/item/gun/energy/locked/frontier/holdout, /obj/item/clothing/mask/gas/explorer, /obj/item/clothing/suit/storage/hooded/explorer/medic, /obj/item/clothing/suit/storage/hooded/wintercoat/medical/sar, /obj/item/clothing/shoes/boots/winter/explorer, - /obj/item/device/radio/headset/sar, - /obj/item/device/radio/headset/sar/alt, - /obj/item/weapon/cartridge/sar, - /obj/item/device/flashlight, - /obj/item/weapon/tank/emergency/oxygen/engi, + /obj/item/radio/headset/sar, + /obj/item/radio/headset/alt/sar, + /obj/item/cartridge/sar, + /obj/item/flashlight, + /obj/item/tank/emergency/oxygen/engi, /obj/item/clothing/glasses/hud/health, - /obj/item/device/healthanalyzer, - /obj/item/device/radio/off, + /obj/item/healthanalyzer, + /obj/item/radio/off, /obj/random/medical, - /obj/item/weapon/reagent_containers/food/snacks/liquidfood = 2, - /obj/item/weapon/reagent_containers/food/snacks/liquidprotein = 2, - /obj/item/weapon/tool/crowbar, - /obj/item/weapon/extinguisher/mini, - /obj/item/weapon/storage/box/freezer, + /obj/item/reagent_containers/food/snacks/liquidfood = 2, + /obj/item/reagent_containers/food/snacks/liquidprotein = 2, + /obj/item/tool/crowbar, + /obj/item/extinguisher/mini, + /obj/item/storage/box/freezer, /obj/item/clothing/accessory/storage/white_vest, /obj/item/taperoll/medical, - /obj/item/device/gps/medical, - /obj/item/device/geiger, + /obj/item/gps/medical, + /obj/item/geiger, /obj/item/bodybag/cryobag, - /obj/item/device/cataloguer/compact) + /obj/item/cataloguer/compact) /obj/structure/closet/secure_closet/sar/Initialize() if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack/medic + starts_with += /obj/item/storage/backpack/medic else - starts_with += /obj/item/weapon/storage/backpack/satchel/med + starts_with += /obj/item/storage/backpack/satchel/med if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack/dufflebag/med + starts_with += /obj/item/storage/backpack/dufflebag/med return ..() /* @@ -191,8 +191,8 @@ closet_appearance = /decl/closet_appearance/secure_closet/expedition/pilot starts_with = list( - /obj/item/weapon/storage/backpack/parachute, - /obj/item/weapon/material/knife/tacknife/survival, + /obj/item/storage/backpack/parachute, + /obj/item/material/knife/tacknife/survival, /obj/item/clothing/head/pilot_vr, /obj/item/clothing/under/rank/pilot1/no_webbing, /obj/item/clothing/suit/storage/toggle/bomber/pilot, @@ -200,28 +200,28 @@ /obj/item/clothing/mask/gas/half, /obj/item/clothing/shoes/black, /obj/item/clothing/gloves/fingerless, - /obj/item/device/radio/headset/pilot, - /obj/item/device/radio/headset/pilot/alt, - /obj/item/device/flashlight, - /obj/item/weapon/reagent_containers/food/snacks/liquidfood, - /obj/item/weapon/reagent_containers/food/snacks/liquidprotein, - /obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, - /obj/item/weapon/storage/box/flare, - /obj/item/weapon/cell/device, - /obj/item/device/radio, - /obj/item/device/gps/explorer, - /obj/item/weapon/gun/energy/gun/protector/pilotgun/locked, - /obj/item/clothing/gloves/watch/survival, + /obj/item/radio/headset/pilot, + /obj/item/radio/headset/alt/pilot, + /obj/item/flashlight, + /obj/item/reagent_containers/food/snacks/liquidfood, + /obj/item/reagent_containers/food/snacks/liquidprotein, + /obj/item/reagent_containers/food/drinks/cans/waterbottle, + /obj/item/storage/box/flare, + /obj/item/cell/device, + /obj/item/radio, + /obj/item/gps/explorer, + /obj/item/gun/energy/gun/protector/pilotgun/locked, + /obj/item/clothing/accessory/watch/survival, /obj/item/clothing/accessory/storage/webbing/pilot1, /obj/item/clothing/accessory/storage/webbing/pilot2, - /obj/item/device/emergency_beacon + /obj/item/emergency_beacon ) /obj/structure/closet/secure_closet/pilot/Initialize() if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack + starts_with += /obj/item/storage/backpack else - starts_with += /obj/item/weapon/storage/backpack/satchel/norm + starts_with += /obj/item/storage/backpack/satchel/norm return ..() /* @@ -256,8 +256,8 @@ starts_with = list( /obj/item/clothing/suit/space/void/autolok, - /obj/item/weapon/tank/emergency/oxygen/engi, - /obj/item/device/suit_cooling_unit/emergency + /obj/item/tank/emergency/oxygen/engi, + /obj/item/suit_cooling_unit/emergency ) /* @@ -278,6 +278,6 @@ starts_with = list( /obj/item/clothing/head/helmet/space/emergency, /obj/item/clothing/suit/space/emergency, - /obj/item/weapon/tank/emergency/oxygen/engi, - /obj/item/device/suit_cooling_unit/emergency + /obj/item/tank/emergency/oxygen/engi, + /obj/item/suit_cooling_unit/emergency ) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/antimatter_am.dm b/code/game/objects/structures/crates_lockers/closets/secure/antimatter_am.dm index 8ced446d2dc..a7fdce2d3e4 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/antimatter_am.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/antimatter_am.dm @@ -6,19 +6,19 @@ New() ..() if(prob(50)) - new /obj/item/device/am_shielding_container(src) - new /obj/item/device/am_shielding_container(src) - new /obj/item/device/am_shielding_container(src) - new /obj/item/device/am_shielding_container(src) - new /obj/item/device/am_shielding_container(src) - new /obj/item/device/am_shielding_container(src) - new /obj/item/device/am_shielding_container(src) - new /obj/item/device/am_shielding_container(src) - new /obj/item/device/am_shielding_container(src) - new /obj/item/device/am_shielding_container(src) - new /obj/item/device/am_shielding_container(src) - new /obj/item/device/am_shielding_container(src) - new /obj/item/weapon/am_containment(src) + new /obj/item/am_shielding_container(src) + new /obj/item/am_shielding_container(src) + new /obj/item/am_shielding_container(src) + new /obj/item/am_shielding_container(src) + new /obj/item/am_shielding_container(src) + new /obj/item/am_shielding_container(src) + new /obj/item/am_shielding_container(src) + new /obj/item/am_shielding_container(src) + new /obj/item/am_shielding_container(src) + new /obj/item/am_shielding_container(src) + new /obj/item/am_shielding_container(src) + new /obj/item/am_shielding_container(src) + new /obj/item/am_containment(src) new /obj/item/stack/cable_coil/yellow(src) new /obj/item/stack/cable_coil(src) - return \ No newline at end of file + return diff --git a/code/game/objects/structures/crates_lockers/closets/secure/bar.dm b/code/game/objects/structures/crates_lockers/closets/secure/bar.dm index 52b949f809d..94b6086a065 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/bar.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/bar.dm @@ -4,4 +4,4 @@ closet_appearance = /decl/closet_appearance/cabinet/secure starts_with = list( - /obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer = 10) + /obj/item/reagent_containers/food/drinks/bottle/small/beer = 10) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm b/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm index c529e6c813c..129c828fbfb 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm @@ -11,19 +11,20 @@ /obj/item/clothing/suit/storage/hooded/wintercoat/cargo, /obj/item/clothing/shoes/boots/winter/supply, /obj/item/clothing/shoes/black, - /obj/item/device/radio/headset/headset_cargo, - /obj/item/device/radio/headset/headset_cargo/alt, + /obj/item/radio/headset/cargo, + /obj/item/radio/headset/alt/cargo, + /obj/item/radio/headset/earbud/cargo, /obj/item/clothing/gloves/black, /obj/item/clothing/gloves/fingerless, /obj/item/clothing/head/soft) /obj/structure/closet/secure_closet/cargotech/Initialize() if(prob(75)) - starts_with += /obj/item/weapon/storage/backpack + starts_with += /obj/item/storage/backpack else - starts_with += /obj/item/weapon/storage/backpack/satchel/norm + starts_with += /obj/item/storage/backpack/satchel/norm if(prob(25)) - starts_with += /obj/item/weapon/storage/backpack/dufflebag + starts_with += /obj/item/storage/backpack/dufflebag return ..() /obj/structure/closet/secure_closet/quartermaster @@ -37,8 +38,9 @@ /obj/item/clothing/under/rank/cargo/jeans, /obj/item/clothing/under/rank/cargo/jeans/female, /obj/item/clothing/shoes/brown, - /obj/item/device/radio/headset/headset_qm, //VOREStation Edit, - /obj/item/device/radio/headset/headset_qm/alt, //VOREStation Edit, + /obj/item/radio/headset/qm, + /obj/item/radio/headset/alt/qm, + /obj/item/radio/headset/earbud/qm, /obj/item/clothing/under/rank/neo_qm, /obj/item/clothing/under/rank/neo_qm_skirt, /obj/item/clothing/under/rank/neo_qm_jacket, @@ -49,7 +51,7 @@ /obj/item/clothing/under/rank/neo_qm_gorka, /obj/item/clothing/gloves/black, /obj/item/clothing/gloves/fingerless, - /obj/item/weapon/tank/emergency/oxygen, + /obj/item/tank/emergency/oxygen, /obj/item/clothing/mask/gas, /obj/item/clothing/glasses/meson, /obj/item/clothing/head/soft, @@ -60,11 +62,11 @@ /obj/structure/closet/secure_closet/quartermaster/Initialize() if(prob(75)) - starts_with += /obj/item/weapon/storage/backpack + starts_with += /obj/item/storage/backpack else - starts_with += /obj/item/weapon/storage/backpack/satchel/norm + starts_with += /obj/item/storage/backpack/satchel/norm if(prob(25)) - starts_with += /obj/item/weapon/storage/backpack/dufflebag + starts_with += /obj/item/storage/backpack/dufflebag return ..() /obj/structure/closet/secure_closet/miner @@ -73,27 +75,27 @@ closet_appearance = /decl/closet_appearance/secure_closet/mining starts_with = list( - /obj/item/device/radio/headset/headset_mine, + /obj/item/radio/headset/miner, /obj/item/clothing/under/rank/miner, /obj/item/clothing/gloves/black, /obj/item/clothing/shoes/black, - /obj/item/device/analyzer, - /obj/item/weapon/storage/bag/ore, - /obj/item/weapon/storage/belt/miner, - /obj/item/device/flashlight/lantern, - /obj/item/weapon/shovel, - /obj/item/weapon/pickaxe/drill, + /obj/item/analyzer, + /obj/item/storage/bag/ore, + /obj/item/storage/belt/miner, + /obj/item/flashlight/lantern, + /obj/item/shovel, + /obj/item/pickaxe/drill, /obj/item/clothing/glasses/material, /obj/item/clothing/suit/storage/hooded/wintercoat/miner, /obj/item/clothing/shoes/boots/winter/mining, - /obj/item/device/emergency_beacon, + /obj/item/emergency_beacon, /obj/item/stack/marker_beacon/thirty) /obj/structure/closet/secure_closet/miner/Initialize() if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack/industrial + starts_with += /obj/item/storage/backpack/industrial else - starts_with += /obj/item/weapon/storage/backpack/satchel/eng + starts_with += /obj/item/storage/backpack/satchel/eng return ..() @@ -104,15 +106,15 @@ closet_appearance = /decl/closet_appearance/secure_closet/lumber starts_with = list( - /obj/item/device/radio/headset/headset_mine, + /obj/item/radio/headset/miner, /obj/item/clothing/under/overalls, /obj/item/clothing/gloves/light_brown, /obj/item/clothing/gloves/black, /obj/item/clothing/shoes/black, - /obj/item/weapon/material/knife/machete/hatchet, - ///obj/item/weapon/gun/energy/kinetic_accelerator, temp comment out - /obj/item/device/flashlight/lantern, - /obj/item/weapon/shovel, + /obj/item/material/knife/machete/hatchet, + ///obj/item/gun/energy/kinetic_accelerator, temp comment out + /obj/item/flashlight/lantern, + /obj/item/shovel, /obj/item/clothing/glasses/material, /obj/item/clothing/suit/storage/hooded/wintercoat/miner, /obj/item/clothing/shoes/boots/winter/mining, @@ -120,7 +122,7 @@ /obj/structure/closet/lumber/Initialize() if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack/industrial + starts_with += /obj/item/storage/backpack/industrial else - starts_with += /obj/item/weapon/storage/backpack/satchel/eng - return ..() \ No newline at end of file + starts_with += /obj/item/storage/backpack/satchel/eng + return ..() diff --git a/code/game/objects/structures/crates_lockers/closets/secure/cargo_vr.dm b/code/game/objects/structures/crates_lockers/closets/secure/cargo_vr.dm index 332b629d7b8..27a049088fd 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/cargo_vr.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/cargo_vr.dm @@ -1,3 +1,3 @@ /obj/structure/closet/secure_closet/miner/Initialize() - starts_with += /obj/item/device/gps/mining + starts_with += /obj/item/gps/mining return ..() \ No newline at end of file diff --git a/code/game/objects/structures/crates_lockers/closets/secure/closets_yw.dm b/code/game/objects/structures/crates_lockers/closets/secure/closets_yw.dm index b92a05f062b..217b332be02 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/closets_yw.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/closets_yw.dm @@ -5,14 +5,14 @@ storage_capacity = 2.5 * MOB_MEDIUM starts_with = list( - /obj/item/weapon/storage/briefcase, - /obj/item/weapon/storage/firstaid/adv, - /obj/item/weapon/storage/belt/security, - /obj/item/weapon/grenade/flashbang, - /obj/item/device/flash, - /obj/item/weapon/reagent_containers/spray/pepper, - /obj/item/weapon/handcuffs, - /obj/item/weapon/melee/baton/loaded, + /obj/item/storage/briefcase, + /obj/item/storage/firstaid/adv, + /obj/item/storage/belt/security, + /obj/item/grenade/flashbang, + /obj/item/flash, + /obj/item/reagent_containers/spray/pepper, + /obj/item/handcuffs, + /obj/item/melee/baton/loaded, /obj/item/clothing/glasses/sunglasses, /obj/item/clothing/glasses/sunglasses/medhud, /obj/item/clothing/head/beret/blueshield, @@ -37,34 +37,34 @@ storage_capacity = 2.5 * MOB_MEDIUM starts_with = list( - /obj/item/weapon/storage/backpack/parachute, - /obj/item/weapon/material/knife/tacknife/survival, + /obj/item/storage/backpack/parachute, + /obj/item/material/knife/tacknife/survival, /obj/item/clothing/head/pilot/alt, /obj/item/clothing/mask/gas/half, /obj/item/clothing/suit/storage/toggle/yw/secjacket, /obj/item/clothing/under/rank/khi/sec/pilot, /obj/item/clothing/gloves/fingerless, - /obj/item/weapon/cartridge/security, - /obj/item/device/radio/headset/headset_sec/alt, - /obj/item/weapon/storage/belt/security, + /obj/item/cartridge/security, + /obj/item/radio/headset/alt/headset_sec, + /obj/item/storage/belt/security, /obj/item/clothing/glasses/sunglasses/sechud, - /obj/item/weapon/storage/box/flare, + /obj/item/storage/box/flare, /obj/item/clothing/accessory/storage/webbing/combatpilot, - /obj/item/weapon/reagent_containers/food/snacks/liquidfood, - /obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, + /obj/item/reagent_containers/food/snacks/liquidfood, + /obj/item/reagent_containers/food/drinks/cans/waterbottle, /obj/item/clothing/head/soft/sec/corp, /obj/item/clothing/accessory/holster/armpit, - /obj/item/weapon/gun/energy/taser, - /obj/item/weapon/melee/baton/loaded, - /obj/item/weapon/cell/device/weapon, - /obj/item/device/flashlight/maglight, - /obj/item/device/radio + /obj/item/gun/energy/taser, + /obj/item/melee/baton/loaded, + /obj/item/cell/device/weapon, + /obj/item/flashlight/maglight, + /obj/item/radio ) /obj/structure/closet/secure_closet/personal/volunteer closet_appearance = /decl/closet_appearance/cabinet/secure starts_with = list( - /obj/item/device/radio/off, - /obj/item/device/gps - ) \ No newline at end of file + /obj/item/radio/off, + /obj/item/gps + ) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm index 9e550d6e530..3d69b30510d 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm @@ -18,34 +18,35 @@ ///obj/item/clothing/head/welding, //VOREStation Removal: Locker bloat, grr. They get fancy goggles or can raid the welding supplies locker for one of these. /obj/item/clothing/gloves/heavy_engineer, //VOREStation Edit: chief gets the good shit /obj/item/clothing/shoes/brown, - /obj/item/weapon/cartridge/ce, - /obj/item/device/radio/headset/heads/ce, - /obj/item/device/radio/headset/heads/ce/alt, - /obj/item/weapon/storage/toolbox/mechanical, + /obj/item/cartridge/ce, + /obj/item/radio/headset/heads/ce, + /obj/item/radio/headset/alt/heads/ce, + /obj/item/radio/headset/earbud/heads/ce, + /obj/item/storage/toolbox/mechanical, /obj/item/clothing/suit/storage/hazardvest, ///obj/item/clothing/mask/gas, //VOREStation Removal: Locker bloat, grr. The fancy one below functions as a mask & helmet combined. /obj/item/clothing/head/hardhat/firefighter/chief, //VOREStation Add: replaces the bog-standard gas mask - ///obj/item/device/multitool, //VOREStation Removal: The belt they get, both standard and the fancy one, both come with one already, why stick another in here too? - /obj/item/weapon/storage/belt/utility/chief/full, - /obj/item/device/flash, - /obj/item/device/t_scanner/upgraded, + ///obj/item/multitool, //VOREStation Removal: The belt they get, both standard and the fancy one, both come with one already, why stick another in here too? + /obj/item/storage/belt/utility/chief/full, + /obj/item/flash, + /obj/item/t_scanner/upgraded, /obj/item/taperoll/engineering, ///obj/item/clothing/suit/storage/hooded/wintercoat/engineering, //VOREStation Removal: Locker bloat, grr. They can grab from the engi-clothes vendor if they want the standard one. /obj/item/clothing/suit/storage/hooded/wintercoat/engineering/ce, ///obj/item/clothing/shoes/boots/winter/engineering, //VOREStation Removal: Locker bloat, grr. As above. /obj/item/clothing/head/beret/engineering/ce, /obj/item/clothing/head/beret/engineering/ce/white, - /obj/item/weapon/tank/emergency/oxygen/double, //VOREStation Edit: chief gets the good shit - /obj/item/weapon/reagent_containers/spray/windowsealant, //VOREStation Add, - /obj/item/weapon/pipe_dispenser) // YW Add + /obj/item/tank/emergency/oxygen/double, //VOREStation Edit: chief gets the good shit + /obj/item/reagent_containers/spray/windowsealant, //VOREStation Add + /obj/item/pipe_dispenser) // YW Add /obj/structure/closet/secure_closet/engineering_chief/Initialize() if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack/industrial + starts_with += /obj/item/storage/backpack/industrial else - starts_with += /obj/item/weapon/storage/backpack/satchel/eng + starts_with += /obj/item/storage/backpack/satchel/eng if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack/dufflebag/eng + starts_with += /obj/item/storage/backpack/dufflebag/eng return ..() /obj/structure/closet/secure_closet/engineering_electrical @@ -55,16 +56,16 @@ starts_with = list( /obj/item/clothing/gloves/yellow = 2, - /obj/item/weapon/storage/toolbox/electrical = 3, - /obj/item/weapon/module/power_control = 3, - /obj/item/device/multitool = 3) + /obj/item/storage/toolbox/electrical = 3, + /obj/item/module/power_control = 3, + /obj/item/multitool = 3) /obj/structure/closet/secure_closet/engineering_electrical/double starts_with = list( /obj/item/clothing/gloves/yellow = 4, - /obj/item/weapon/storage/toolbox/electrical = 6, - /obj/item/weapon/module/power_control = 6, - /obj/item/device/multitool = 6) + /obj/item/storage/toolbox/electrical = 6, + /obj/item/module/power_control = 6, + /obj/item/multitool = 6) /obj/structure/closet/secure_closet/engineering_welding name = "welding supplies" @@ -73,15 +74,15 @@ starts_with = list( /obj/item/clothing/head/welding = 3, - /obj/item/weapon/weldingtool/largetank = 3, - /obj/item/weapon/weldpack = 3, + /obj/item/weldingtool/largetank = 3, + /obj/item/weldpack = 3, /obj/item/clothing/glasses/welding = 3) /obj/structure/closet/secure_closet/engineering_welding/double starts_with = list( /obj/item/clothing/head/welding = 6, - /obj/item/weapon/weldingtool/largetank = 6, - /obj/item/weapon/weldpack = 6, + /obj/item/weldingtool/largetank = 6, + /obj/item/weldpack = 6, /obj/item/clothing/glasses/welding = 6) /obj/structure/closet/secure_closet/engineering_personal @@ -91,29 +92,30 @@ starts_with = list( /obj/item/clothing/accessory/storage/brown_vest, - /obj/item/weapon/storage/toolbox/mechanical, - /obj/item/device/radio/headset/headset_eng, - /obj/item/device/radio/headset/headset_eng/alt, + /obj/item/storage/toolbox/mechanical, + /obj/item/radio/headset/headset_eng, + /obj/item/radio/headset/alt/headset_eng, + /obj/item/radio/headset/earbud/headset_eng, /obj/item/clothing/suit/storage/hazardvest, /obj/item/clothing/mask/gas, /obj/item/clothing/glasses/meson, - /obj/item/weapon/cartridge/engineering, + /obj/item/cartridge/engineering, /obj/item/taperoll/engineering, /obj/item/clothing/head/hardhat, /obj/item/clothing/suit/storage/hooded/wintercoat/engineering, /obj/item/clothing/shoes/boots/winter/engineering, - /obj/item/weapon/tank/emergency/oxygen/engi, - /obj/item/weapon/storage/belt/utility, //VOREStation Add - /obj/item/weapon/reagent_containers/spray/windowsealant, //VOREStation Add + /obj/item/tank/emergency/oxygen/engi, + /obj/item/storage/belt/utility, //VOREStation Add + /obj/item/reagent_containers/spray/windowsealant, //VOREStation Add /obj/item/areaeditor/blueprints/engineers) //VOREStation Add /obj/structure/closet/secure_closet/engineering_personal/Initialize() if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack/industrial + starts_with += /obj/item/storage/backpack/industrial else - starts_with += /obj/item/weapon/storage/backpack/satchel/eng + starts_with += /obj/item/storage/backpack/satchel/eng if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack/dufflebag/eng + starts_with += /obj/item/storage/backpack/dufflebag/eng return ..() @@ -126,25 +128,26 @@ /obj/item/clothing/accessory/storage/brown_vest, /obj/item/clothing/suit/fire/heavy, /obj/item/clothing/head/hardhat/firefighter/atmos, - /obj/item/device/flashlight, - /obj/item/weapon/extinguisher/atmo, + /obj/item/flashlight, + /obj/item/extinguisher/atmo, ///obj/item/clamp, //VOREStation Removal: without leaks those are pointless, - /obj/item/device/radio/headset/headset_eng, - /obj/item/device/radio/headset/headset_eng/alt, + /obj/item/radio/headset/headset_eng, + /obj/item/radio/headset/alt/headset_eng, + /obj/item/radio/headset/earbud/headset_eng, /obj/item/clothing/suit/storage/hazardvest/atmos, //VOREStation edit. Eng locker gets regular haz-vest, atmos gets the themed one of their own /obj/item/clothing/mask/gas, - /obj/item/weapon/cartridge/atmos, + /obj/item/cartridge/atmos, /obj/item/taperoll/atmos, /obj/item/clothing/suit/storage/hooded/wintercoat/engineering/atmos, /obj/item/clothing/shoes/boots/winter/atmos, - /obj/item/weapon/tank/emergency/oxygen/engi, - /obj/item/weapon/storage/belt/utility/atmostech) //VOREStation edit. They don't get a toolbox to fill it from, so why not give a spare one that's full already? + /obj/item/tank/emergency/oxygen/engi, + /obj/item/storage/belt/utility/atmostech) //VOREStation edit. They don't get a toolbox to fill it from, so why not give a spare one that's full already? /obj/structure/closet/secure_closet/atmos_personal/Initialize() if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack/industrial + starts_with += /obj/item/storage/backpack/industrial else - starts_with += /obj/item/weapon/storage/backpack/satchel/eng + starts_with += /obj/item/storage/backpack/satchel/eng if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack/dufflebag/eng + starts_with += /obj/item/storage/backpack/dufflebag/eng return ..() diff --git a/code/game/objects/structures/crates_lockers/closets/secure/freezer.dm b/code/game/objects/structures/crates_lockers/closets/secure/freezer.dm index 6659a89a074..f02c42cc3cb 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/freezer.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/freezer.dm @@ -3,11 +3,11 @@ req_access = list(access_kitchen) starts_with = list( - /obj/item/weapon/reagent_containers/food/condiment/carton/flour = 6, - /obj/item/weapon/reagent_containers/food/condiment/carton/sugar = 1, - /obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic = 1, - /obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic = 1, - /obj/item/weapon/reagent_containers/food/condiment/spacespice = 2 + /obj/item/reagent_containers/food/condiment/carton/flour = 6, + /obj/item/reagent_containers/food/condiment/carton/sugar = 1, + /obj/item/reagent_containers/food/condiment/carton/flour/rustic = 1, + /obj/item/reagent_containers/food/condiment/carton/sugar/rustic = 1, + /obj/item/reagent_containers/food/condiment/spacespice = 2 ) open_sound = 'sound/machines/click.ogg' @@ -23,7 +23,7 @@ closet_appearance = null starts_with = list( - /obj/item/weapon/reagent_containers/food/snacks/meat/monkey = 10) + /obj/item/reagent_containers/food/snacks/meat/monkey = 10) /obj/structure/closet/secure_closet/freezer/fridge @@ -32,10 +32,10 @@ closet_appearance = null starts_with = list( - /obj/item/weapon/reagent_containers/food/drinks/milk = 6, - /obj/item/weapon/reagent_containers/food/drinks/soymilk = 4, - /obj/item/weapon/storage/fancy/egg_box = 4, - /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/glucose = 2) + /obj/item/reagent_containers/food/drinks/milk = 6, + /obj/item/reagent_containers/food/drinks/soymilk = 4, + /obj/item/storage/fancy/egg_box = 4, + /obj/item/reagent_containers/hypospray/autoinjector/biginjector/glucose = 2) /obj/structure/closet/secure_closet/freezer/money @@ -46,6 +46,6 @@ starts_with = list( - /obj/item/weapon/spacecash/c1000 = 3, - /obj/item/weapon/spacecash/c500 = 4, - /obj/item/weapon/spacecash/c200 = 5) + /obj/item/spacecash/c1000 = 3, + /obj/item/spacecash/c500 = 4, + /obj/item/spacecash/c200 = 5) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/guncabinet.dm b/code/game/objects/structures/crates_lockers/closets/secure/guncabinet.dm index 7e4bd38b3a0..d5df47b692a 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/guncabinet.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/guncabinet.dm @@ -20,10 +20,10 @@ else var/lazors = 0 var/shottas = 0 - for (var/obj/item/weapon/gun/G in contents) - if (istype(G, /obj/item/weapon/gun/energy)) + for (var/obj/item/gun/G in contents) + if (istype(G, /obj/item/gun/energy)) lazors++ - if (istype(G, /obj/item/weapon/gun/projectile)) + if (istype(G, /obj/item/gun/projectile)) shottas++ for (var/i = 0 to 2) if(lazors || shottas) // only make icons if we have one of the two types. @@ -57,7 +57,7 @@ /obj/structure/closet/secure_closet/guncabinet/excursion/New() ..() for(var/i = 1 to 2) - new /obj/item/weapon/gun/energy/locked/frontier(src) + new /obj/item/gun/energy/locked/frontier(src) for(var/i = 1 to 2) - new /obj/item/weapon/gun/energy/locked/frontier/holdout(src) + new /obj/item/gun/energy/locked/frontier/holdout(src) //VOREStation Add End diff --git a/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm b/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm index 157354f2c90..5e4389f0ef7 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm @@ -4,22 +4,24 @@ closet_appearance = /decl/closet_appearance/secure_closet/hydroponics starts_with = list( - /obj/item/weapon/storage/bag/plants, + /obj/item/storage/bag/plants, /obj/item/clothing/under/rank/hydroponics, /obj/item/clothing/gloves/botanic_leather, - /obj/item/device/analyzer/plant_analyzer, - /obj/item/device/radio/headset/headset_service, + /obj/item/analyzer/plant_analyzer, + /obj/item/radio/headset/service, + /obj/item/radio/headset/alt/service, + /obj/item/radio/headset/earbud/service, /obj/item/clothing/head/greenbandana, - /obj/item/weapon/shovel/spade, - /obj/item/weapon/material/minihoe, - /obj/item/weapon/material/knife/machete/hatchet, - /obj/item/weapon/reagent_containers/glass/beaker = 2, - /obj/item/weapon/tool/wirecutters/clippers/trimmers, - /obj/item/weapon/reagent_containers/spray/plantbgone, + /obj/item/shovel/spade, + /obj/item/material/minihoe, + /obj/item/material/knife/machete/hatchet, + /obj/item/reagent_containers/glass/beaker = 2, + /obj/item/tool/wirecutters/clippers/trimmers, + /obj/item/reagent_containers/spray/plantbgone, /obj/item/clothing/suit/storage/hooded/wintercoat/hydro, /obj/item/clothing/shoes/boots/winter/hydro, - /obj/item/weapon/storage/belt/hydro, - /obj/item/weapon/material/fishing_net/butterfly_net) + /obj/item/storage/belt/hydro, + /obj/item/material/fishing_net/butterfly_net) /obj/structure/closet/secure_closet/hydroponics/Initialize() if(prob(50)) @@ -39,6 +41,6 @@ starts_with += /obj/item/clothing/mask/gas // VOREStation Edit: Gasmasks we use are different if(prob(1)) - starts_with += /obj/item/weapon/chainsaw + starts_with += /obj/item/chainsaw return ..() diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm index a1c901d85b7..0a34b3fe4df 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm @@ -5,12 +5,12 @@ closet_appearance = /decl/closet_appearance/secure_closet/medical/alt starts_with = list( - /obj/item/weapon/storage/box/autoinjectors, - /obj/item/weapon/storage/box/syringes, - /obj/item/weapon/reagent_containers/dropper = 2, - /obj/item/weapon/reagent_containers/glass/beaker = 2, - /obj/item/weapon/reagent_containers/glass/bottle/inaprovaline = 2, - /obj/item/weapon/reagent_containers/glass/bottle/antitoxin = 2) + /obj/item/storage/box/autoinjectors, + /obj/item/storage/box/syringes, + /obj/item/reagent_containers/dropper = 2, + /obj/item/reagent_containers/glass/beaker = 2, + /obj/item/reagent_containers/glass/bottle/inaprovaline = 2, + /obj/item/reagent_containers/glass/bottle/antitoxin = 2) /obj/structure/closet/secure_closet/medical2 name = "anesthetics closet" @@ -19,7 +19,7 @@ closet_appearance = /decl/closet_appearance/secure_closet/medical starts_with = list( - /obj/item/weapon/tank/anesthetic = 3, + /obj/item/tank/anesthetic = 3, /obj/item/clothing/mask/breath/medical = 3) @@ -36,24 +36,25 @@ /obj/item/clothing/suit/storage/toggle/labcoat/modern, /obj/item/clothing/suit/storage/toggle/fr_jacket, /obj/item/clothing/shoes/white, - /obj/item/weapon/cartridge/medical, - /obj/item/device/radio/headset/headset_med, - /obj/item/device/radio/headset/headset_med/alt, + /obj/item/cartridge/medical, + /obj/item/radio/headset/headset_med, + /obj/item/radio/headset/alt/headset_med, + /obj/item/radio/headset/earbud/headset_med, /obj/item/clothing/suit/storage/hooded/wintercoat/medical, /obj/item/clothing/suit/storage/hooded/wintercoat/medical/alt, /obj/item/clothing/shoes/boots/winter/medical, /obj/item/clothing/under/rank/nursesuit, /obj/item/clothing/head/nursehat, - /obj/item/weapon/storage/box/freezer = 3, - /obj/item/weapon/storage/belt/medical) //VOREStation Add + /obj/item/storage/box/freezer = 3, + /obj/item/storage/belt/medical) //VOREStation Add /obj/structure/closet/secure_closet/medical3/Initialize() if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack/medic + starts_with += /obj/item/storage/backpack/medic else - starts_with += /obj/item/weapon/storage/backpack/satchel/med + starts_with += /obj/item/storage/backpack/satchel/med if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack/dufflebag/med + starts_with += /obj/item/storage/backpack/dufflebag/med switch(pick("blue", "green", "purple", "black", "navyblue")) if ("blue") starts_with += /obj/item/clothing/under/rank/medical/scrubs @@ -96,29 +97,31 @@ closet_appearance = /decl/closet_appearance/secure_closet/medical/paramedic starts_with = list( - /obj/item/weapon/storage/backpack/dufflebag/emt, - /obj/item/weapon/storage/box/autoinjectors, - /obj/item/weapon/storage/box/syringes, - /obj/item/weapon/reagent_containers/glass/bottle/inaprovaline, - /obj/item/weapon/reagent_containers/glass/bottle/antitoxin, - /obj/item/weapon/storage/belt/medical/emt, + /obj/item/storage/backpack/dufflebag/emt, + /obj/item/storage/box/autoinjectors, + /obj/item/storage/box/syringes, + /obj/item/reagent_containers/glass/bottle/inaprovaline, + /obj/item/reagent_containers/glass/bottle/antitoxin, + /obj/item/storage/belt/medical/emt, /obj/item/clothing/mask/gas, /obj/item/clothing/suit/storage/toggle/fr_jacket, /obj/item/clothing/suit/storage/toggle/labcoat/emt, /obj/item/clothing/suit/storage/hooded/wintercoat/medical/para, /obj/item/clothing/shoes/boots/winter/medical, - /obj/item/device/radio/headset/headset_med/alt, - /obj/item/weapon/cartridge/medical, - /obj/item/weapon/storage/briefcase/inflatable, - /obj/item/device/flashlight, - /obj/item/weapon/tank/emergency/oxygen/engi, + /obj/item/radio/headset/headset_med, + /obj/item/radio/headset/alt/headset_med, + /obj/item/radio/headset/earbud/headset_med, + /obj/item/cartridge/medical, + /obj/item/storage/briefcase/inflatable, + /obj/item/flashlight, + /obj/item/tank/emergency/oxygen/engi, /obj/item/clothing/glasses/hud/health, - /obj/item/device/healthanalyzer, - /obj/item/device/radio/off, + /obj/item/healthanalyzer, + /obj/item/radio/off, /obj/random/medical, - /obj/item/weapon/tool/crowbar, - /obj/item/weapon/extinguisher/mini, - /obj/item/weapon/storage/box/freezer, + /obj/item/tool/crowbar, + /obj/item/extinguisher/mini, + /obj/item/storage/box/freezer, /obj/item/clothing/accessory/storage/white_vest, /obj/item/taperoll/medical) @@ -133,7 +136,7 @@ /obj/item/clothing/suit/storage/toggle/labcoat/cmo, /obj/item/clothing/suit/storage/toggle/labcoat/cmoalt, /obj/item/clothing/suit/storage/toggle/labcoat/modern/cmo, - /obj/item/weapon/cartridge/cmo, + /obj/item/cartridge/cmo, /obj/item/clothing/gloves/sterile/latex, /obj/item/clothing/shoes/brown, /obj/item/clothing/under/rank/neo_cmo, @@ -141,31 +144,32 @@ /obj/item/clothing/under/rank/neo_cmo_turtle, /obj/item/clothing/under/rank/neo_cmo_turtle_skirt, /obj/item/clothing/under/rank/neo_cmo_gorka, - /obj/item/device/radio/headset/heads/cmo, - /obj/item/device/radio/headset/heads/cmo/alt, - /obj/item/device/flash, - /obj/item/weapon/reagent_containers/hypospray/vial, + /obj/item/radio/headset/heads/cmo, + /obj/item/radio/headset/alt/heads/cmo, + /obj/item/radio/headset/earbud/heads/cmo, + /obj/item/flash, + /obj/item/reagent_containers/hypospray/vial, /obj/item/clothing/suit/storage/hooded/wintercoat/medical, /obj/item/clothing/suit/storage/hooded/wintercoat/medical/cmo, /obj/item/clothing/shoes/boots/winter/medical, /obj/item/clothing/head/beret/medical/cmo, /obj/item/clothing/head/beret/medical/cmo/blue, - /obj/item/weapon/storage/box/freezer, + /obj/item/storage/box/freezer, /obj/item/clothing/mask/gas, /obj/item/taperoll/medical, /obj/item/clothing/suit/bio_suit/cmo, /obj/item/clothing/head/bio_hood/cmo, /obj/item/clothing/shoes/white, - /obj/item/weapon/reagent_containers/glass/beaker/vial, //VOREStation Add - /obj/item/weapon/storage/belt/medical) //VOREStation Add + /obj/item/reagent_containers/glass/beaker/vial, //VOREStation Add + /obj/item/storage/belt/medical) //VOREStation Add /obj/structure/closet/secure_closet/CMO/Initialize() if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack/medic + starts_with += /obj/item/storage/backpack/medic else - starts_with += /obj/item/weapon/storage/backpack/satchel/med + starts_with += /obj/item/storage/backpack/satchel/med if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack/dufflebag/med + starts_with += /obj/item/storage/backpack/dufflebag/med switch(pick("blue", "green", "purple", "black", "navyblue")) if ("blue") starts_with += /obj/item/clothing/under/rank/medical/scrubs @@ -190,8 +194,8 @@ req_access = list(access_surgery) starts_with = list( - /obj/item/device/assembly/signaler, - /obj/item/device/radio/electropack = 3) + /obj/item/assembly/signaler, + /obj/item/radio/electropack = 3) /obj/structure/closet/secure_closet/chemical @@ -201,14 +205,14 @@ closet_appearance = /decl/closet_appearance/secure_closet/medical/chemistry starts_with = list( - /obj/item/weapon/storage/box/pillbottles = 2, - /obj/item/weapon/storage/box/beakers, - /obj/item/weapon/storage/box/autoinjectors, - /obj/item/weapon/storage/box/syringes, - /obj/item/weapon/reagent_containers/dropper = 2, - /obj/item/weapon/reagent_containers/glass/bottle/inaprovaline = 2, - /obj/item/weapon/reagent_containers/glass/bottle/antitoxin = 2, - /obj/item/weapon/storage/fancy/vials) //VOREStation Add + /obj/item/storage/box/pillbottles = 2, + /obj/item/storage/box/beakers, + /obj/item/storage/box/autoinjectors, + /obj/item/storage/box/syringes, + /obj/item/reagent_containers/dropper = 2, + /obj/item/reagent_containers/glass/bottle/inaprovaline = 2, + /obj/item/reagent_containers/glass/bottle/antitoxin = 2, + /obj/item/storage/fancy/vials) //VOREStation Add /obj/structure/closet/secure_closet/psych @@ -224,15 +228,15 @@ /obj/item/clothing/under/rank/psych, /obj/item/clothing/under/rank/psych/turtleneck, /obj/item/clothing/suit/straight_jacket, - /obj/item/weapon/reagent_containers/glass/bottle/stoxin, - /obj/item/weapon/reagent_containers/syringe, - /obj/item/weapon/storage/pill_bottle/citalopram, - /obj/item/weapon/reagent_containers/pill/methylphenidate, - /obj/item/weapon/clipboard, - /obj/item/weapon/folder/white, - /obj/item/device/taperecorder, - /obj/item/device/tape/random = 3, - /obj/item/device/camera, + /obj/item/reagent_containers/glass/bottle/stoxin, + /obj/item/reagent_containers/syringe, + /obj/item/storage/pill_bottle/citalopram, + /obj/item/reagent_containers/pill/methylphenidate, + /obj/item/clipboard, + /obj/item/folder/white, + /obj/item/taperecorder, + /obj/item/rectape/random = 3, + /obj/item/camera, /obj/item/toy/plushie/therapy/blue) @@ -252,9 +256,9 @@ name = "pill cabinet" starts_with = list( - /obj/item/weapon/storage/pill_bottle/tramadol, - /obj/item/weapon/storage/pill_bottle/antitox, - /obj/item/weapon/storage/pill_bottle/carbon, + /obj/item/storage/pill_bottle/tramadol, + /obj/item/storage/pill_bottle/antitox, + /obj/item/storage/pill_bottle/carbon, /obj/random/medical/pillbottle) @@ -264,5 +268,5 @@ req_access = list(access_surgery) starts_with = list( - /obj/item/weapon/tank/anesthetic = 3, + /obj/item/tank/anesthetic = 3, /obj/item/clothing/mask/breath/medical = 3) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical_vr.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical_vr.dm index e47f8358918..7cb01d23d5e 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/medical_vr.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/medical_vr.dm @@ -1,3 +1,3 @@ /obj/structure/closet/secure_closet/paramedic/Initialize() - starts_with += /obj/item/device/gps/medical + starts_with += /obj/item/gps/medical return ..() \ No newline at end of file diff --git a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm index 39e8f2d954d..c1753b2df9f 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm @@ -6,15 +6,15 @@ /* //VOREStation Removal starts_with = list( - /obj/item/device/radio/headset) + /obj/item/radio/headset) */ /obj/structure/closet/secure_closet/personal/Initialize() /* //VOREStation Removal if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack + starts_with += /obj/item/storage/backpack else - starts_with += /obj/item/weapon/storage/backpack/satchel/norm + starts_with += /obj/item/storage/backpack/satchel/norm */ return ..() @@ -35,20 +35,20 @@ close_sound = 'sound/effects/wooden_closet_close.ogg' starts_with = list( - /obj/item/weapon/storage/backpack/satchel/withwallet, - /obj/item/device/radio/headset + /obj/item/storage/backpack/satchel/withwallet, + /obj/item/radio/headset ) -/obj/structure/closet/secure_closet/personal/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/structure/closet/secure_closet/personal/attackby(obj/item/W as obj, mob/user as mob) if (src.opened) - if(istype(W, /obj/item/weapon/storage/laundry_basket)) + if(istype(W, /obj/item/storage/laundry_basket)) return ..(W,user) - if(istype(W, /obj/item/weapon/grab)) - var/obj/item/weapon/grab/G = W + if(istype(W, /obj/item/grab)) + var/obj/item/grab/G = W if(large) MouseDrop_T(G.affecting, user) //act like they were dragged onto the closet else - to_chat(user, "The locker is too small to stuff [G.affecting] into!") + to_chat(user, span_notice("The locker is too small to stuff [G.affecting] into!")) if(isrobot(user)) return if(W.loc != user) // This should stop mounted modules ending up outside the module. @@ -57,10 +57,10 @@ if(W) W.forceMove(loc) else if(W.GetID()) - var/obj/item/weapon/card/id/I = W.GetID() + var/obj/item/card/id/I = W.GetID() if(src.broken) - to_chat(user, "It appears to be broken.") + to_chat(user, span_warning("It appears to be broken.")) return if(!I || !I.registered_name) return if(src.allowed(user) || !src.registered_name || (istype(I) && (src.registered_name == I.registered_name))) @@ -71,8 +71,8 @@ src.registered_name = I.registered_name src.desc = "Owned by [I.registered_name]." else - to_chat(user, "Access Denied") - else if(istype(W, /obj/item/weapon/melee/energy/blade)) + to_chat(user, span_warning("Access Denied")) + else if(istype(W, /obj/item/melee/energy/blade)) if(emag_act(INFINITY, user, "The locker has been sliced open by [user] with \an [W]!", "You hear metal being sliced and sparks flying.")) var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread() spark_system.set_up(5, 0, src.loc) @@ -80,7 +80,7 @@ playsound(src, 'sound/weapons/blade1.ogg', 50, 1) playsound(src, "sparks", 50, 1) else - to_chat(user, "Access Denied") + to_chat(user, span_warning("Access Denied")) update_icon() /obj/structure/closet/secure_closet/personal/emag_act(var/remaining_charges, var/mob/user, var/visual_feedback, var/audible_feedback) @@ -90,7 +90,7 @@ desc = "It appears to be broken." update_icon() if(visual_feedback) - visible_message("[visual_feedback]", "[audible_feedback]") + visible_message(span_warning("[visual_feedback]"), span_warning("[audible_feedback]")) return 1 /obj/structure/closet/secure_closet/personal/verb/reset() @@ -102,9 +102,9 @@ if(ishuman(usr)) src.add_fingerprint(usr) if (src.locked || !src.registered_name) - to_chat(usr, "You need to unlock it first.") + to_chat(usr, span_warning("You need to unlock it first.")) else if (src.broken) - to_chat(usr, "It appears to be broken.") + to_chat(usr, span_warning("It appears to be broken.")) else if (src.opened) if(!src.close()) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm b/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm index c941f8306ed..f33d9ba9aee 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm @@ -7,17 +7,17 @@ /obj/item/clothing/under/rank/scientist, /obj/item/clothing/suit/storage/toggle/labcoat, /obj/item/clothing/shoes/white, - /obj/item/device/radio/headset/headset_sci, - /obj/item/weapon/tank/air, + /obj/item/radio/headset/headset_sci, + /obj/item/tank/air, /obj/item/clothing/mask/gas, /obj/item/clothing/suit/storage/hooded/wintercoat/science, /obj/item/clothing/shoes/boots/winter/science) /obj/structure/closet/secure_closet/scientist/Initialize() if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack/dufflebag/sci + starts_with += /obj/item/storage/backpack/dufflebag/sci else - starts_with += /obj/item/weapon/storage/backpack/toxins + starts_with += /obj/item/storage/backpack/toxins return ..() @@ -40,20 +40,21 @@ /obj/item/clothing/under/rank/neo_rd_suit, /obj/item/clothing/under/rank/neo_rd_suit_skirt, /obj/item/clothing/under/rank/neo_rd_gorka, - /obj/item/weapon/cartridge/rd, + /obj/item/cartridge/rd, /obj/item/clothing/shoes/white, /obj/item/clothing/shoes/laceup/brown, /obj/item/clothing/gloves/sterile/latex, - /obj/item/device/radio/headset/heads/rd, - /obj/item/device/radio/headset/heads/rd/alt, - /obj/item/weapon/tank/air, + /obj/item/radio/headset/heads/rd, + /obj/item/radio/headset/alt/heads/rd, + /obj/item/radio/headset/earbud/heads/rd, + /obj/item/tank/air, /obj/item/clothing/mask/gas, - /obj/item/device/flash, + /obj/item/flash, /obj/item/clothing/suit/storage/hooded/wintercoat/science, /obj/item/clothing/suit/storage/hooded/wintercoat/science/rd, /obj/item/clothing/shoes/boots/winter/science, /obj/item/clothing/head/beret/science/rd, - /obj/item/weapon/bluespace_harpoon) //VOREStation Add + /obj/item/bluespace_harpoon) //VOREStation Add /obj/structure/closet/secure_closet/xenoarchaeologist name = "Xenoarchaeologist Locker" @@ -65,29 +66,29 @@ /obj/item/clothing/suit/storage/toggle/labcoat, /obj/item/clothing/suit/storage/toggle/labcoat/modern, /obj/item/clothing/shoes/white, - /obj/item/weapon/melee/umbrella, + /obj/item/melee/umbrella, /obj/item/clothing/glasses/science, - /obj/item/device/radio/headset/headset_sci, - /obj/item/weapon/storage/belt/archaeology, - /obj/item/weapon/storage/excavation) + /obj/item/radio/headset/headset_sci, + /obj/item/storage/belt/archaeology, + /obj/item/storage/excavation) /obj/structure/closet/excavation name = "Excavation tools" closet_appearance = /decl/closet_appearance/secure_closet/engineering/tools/xenoarch starts_with = list( - /obj/item/weapon/storage/belt/archaeology, - /obj/item/weapon/storage/excavation, - /obj/item/device/flashlight/lantern, - /obj/item/device/ano_scanner, - /obj/item/device/depth_scanner, - /obj/item/device/core_sampler, - /obj/item/device/gps, - /obj/item/device/beacon_locator, - /obj/item/device/radio/beacon, + /obj/item/storage/belt/archaeology, + /obj/item/storage/excavation, + /obj/item/flashlight/lantern, + /obj/item/ano_scanner, + /obj/item/depth_scanner, + /obj/item/core_sampler, + /obj/item/gps, + /obj/item/beacon_locator, + /obj/item/radio/beacon, /obj/item/clothing/glasses/meson, - /obj/item/weapon/pickaxe, - /obj/item/device/measuring_tape, - /obj/item/weapon/pickaxe/hand, - /obj/item/weapon/storage/bag/fossils, - /obj/item/weapon/hand_labeler) + /obj/item/pickaxe, + /obj/item/measuring_tape, + /obj/item/pickaxe/hand, + /obj/item/storage/bag/fossils, + /obj/item/hand_labeler) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm b/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm index ba9c1ba8929..5cbb4ec39f6 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm @@ -35,25 +35,25 @@ /obj/structure/closet/secure_closet/proc/togglelock(mob/user as mob) if(opened) - to_chat(user, "Close the locker first.") + to_chat(user, span_notice("Close the locker first.")) return if(broken) - to_chat(user, "The locker appears to be broken.") + to_chat(user, span_warning("The locker appears to be broken.")) return if(user.loc == src) - to_chat(user, "You can't reach the lock from inside.") + to_chat(user, span_notice("You can't reach the lock from inside.")) return if(allowed(user)) locked = !locked playsound(src, 'sound/machines/click.ogg', 15, 1, -3) for(var/mob/O in viewers(user, 3)) if((O.client && !( O.blinded ))) - to_chat(O, "The locker has been [locked ? null : "un"]locked by [user].") + to_chat(O, span_notice("The locker has been [locked ? null : "un"]locked by [user].")) update_icon() else - to_chat(user, "Access Denied") + to_chat(user, span_notice("Access Denied")) -/obj/structure/closet/secure_closet/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/structure/closet/secure_closet/attackby(obj/item/W as obj, mob/user as mob) if(W.has_tool_quality(TOOL_WRENCH)) if(opened) if(anchored) @@ -62,20 +62,20 @@ user.visible_message("\The [user] begins securing \the [src] to the floor.", "You start securing \the [src] to the floor.") if(do_after(user, 20 * W.toolspeed)) if(!src) return - to_chat(user, "You [anchored? "un" : ""]secured \the [src]!") + to_chat(user, span_notice("You [anchored? "un" : ""]secured \the [src]!")) anchored = !anchored return else - to_chat(user, "You can't reach the anchoring bolts when the door is closed!") + to_chat(user, span_notice("You can't reach the anchoring bolts when the door is closed!")) else if(opened) - if(istype(W, /obj/item/weapon/storage/laundry_basket)) + if(istype(W, /obj/item/storage/laundry_basket)) return ..(W,user) - if(istype(W, /obj/item/weapon/grab)) - var/obj/item/weapon/grab/G = W + if(istype(W, /obj/item/grab)) + var/obj/item/grab/G = W if(large) MouseDrop_T(G.affecting, user) //act like they were dragged onto the closet else - to_chat(user, "The locker is too small to stuff [G.affecting] into!") + to_chat(user, span_notice("The locker is too small to stuff [G.affecting] into!")) if(isrobot(user)) return if(W.loc != user) // This should stop mounted modules ending up outside the module. @@ -83,14 +83,14 @@ user.drop_item() if(W) W.forceMove(loc) - else if(istype(W, /obj/item/weapon/melee/energy/blade)) - if(emag_act(INFINITY, user, "The locker has been sliced open by [user] with \an [W]!", "You hear metal being sliced and sparks flying.")) + else if(istype(W, /obj/item/melee/energy/blade)) + if(emag_act(INFINITY, user, span_danger("The locker has been sliced open by [user] with \an [W]!"), span_danger("You hear metal being sliced and sparks flying."))) var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread() spark_system.set_up(5, 0, loc) spark_system.start() playsound(src, 'sound/weapons/blade1.ogg', 50, 1) playsound(src, "sparks", 50, 1) - else if(istype(W,/obj/item/weapon/packageWrap) || W.has_tool_quality(TOOL_WELDER)) + else if(istype(W,/obj/item/packageWrap) || W.has_tool_quality(TOOL_WELDER)) return ..(W,user) else togglelock(user) @@ -104,9 +104,9 @@ if(visual_feedback) visible_message(visual_feedback, audible_feedback) else if(user && emag_source) - visible_message("\The [src] has been broken by \the [user] with \an [emag_source]!", "You hear a faint electrical spark.") + visible_message(span_warning("\The [src] has been broken by \the [user] with \an [emag_source]!"), "You hear a faint electrical spark.") else - visible_message("\The [src] sparks and breaks open!", "You hear a faint electrical spark.") + visible_message(span_warning("\The [src] sparks and breaks open!"), "You hear a faint electrical spark.") update_icon() return 1 @@ -133,7 +133,7 @@ add_fingerprint(usr) togglelock(usr) else - to_chat(usr, "This mob type can't use this verb.") + to_chat(usr, span_warning("This mob type can't use this verb.")) /obj/structure/closet/secure_closet/update_icon() if(opened) 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 5bf67d8eb31..f02ba1ad114 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -4,17 +4,18 @@ closet_appearance = /decl/closet_appearance/secure_closet/command starts_with = list( - /obj/item/weapon/storage/backpack/dufflebag/captain, + /obj/item/storage/backpack/dufflebag/captain, /obj/item/clothing/head/helmet, /obj/item/clothing/suit/storage/vest, - /obj/item/weapon/cartridge/captain, - /obj/item/weapon/storage/lockbox/medal, - /obj/item/device/radio/headset/heads/captain, - /obj/item/device/radio/headset/heads/captain/alt, - /obj/item/weapon/gun/energy/gun, - /obj/item/weapon/melee/telebaton, - /obj/item/device/flash, - /obj/item/weapon/storage/box/ids) + /obj/item/cartridge/captain, + /obj/item/storage/lockbox/medal, + /obj/item/radio/headset/heads/captain, + /obj/item/radio/headset/alt/heads/captain, + /obj/item/radio/headset/earbud/heads/captain, + /obj/item/gun/energy/gun, + /obj/item/melee/telebaton, + /obj/item/flash, + /obj/item/storage/box/ids) /obj/structure/closet/secure_closet/hop @@ -25,14 +26,15 @@ starts_with = list( /obj/item/clothing/suit/storage/vest, /obj/item/clothing/head/helmet, - /obj/item/weapon/cartridge/hop, - /obj/item/device/radio/headset/heads/hop, - /obj/item/device/radio/headset/heads/hop/alt, - /obj/item/weapon/storage/box/ids = 2, - /obj/item/weapon/gun/energy/gun/compact, - /obj/item/weapon/storage/box/commandkeys, - /obj/item/weapon/storage/box/servicekeys, - /obj/item/device/flash) + /obj/item/cartridge/hop, + /obj/item/radio/headset/heads/hop, + /obj/item/radio/headset/alt/heads/hop, + /obj/item/radio/headset/earbud/heads/hop, + /obj/item/storage/box/ids = 2, + /obj/item/gun/energy/gun/compact, + /obj/item/storage/box/commandkeys, + /obj/item/storage/box/servicekeys, + /obj/item/flash) /obj/structure/closet/secure_closet/hop2 name = "head of personnel's attire" @@ -88,41 +90,42 @@ /obj/item/clothing/suit/storage/vest/hoscoat/jensen, /obj/item/clothing/suit/storage/vest/hoscoat, /obj/item/clothing/head/helmet/dermal, - /obj/item/weapon/cartridge/hos, - /obj/item/device/radio/headset/heads/hos, - /obj/item/device/radio/headset/heads/hos/alt, + /obj/item/cartridge/hos, + /obj/item/radio/headset/heads/hos, + /obj/item/radio/headset/alt/heads/hos, + /obj/item/radio/headset/earbud/heads/hos, /obj/item/clothing/glasses/sunglasses/sechud, /obj/item/taperoll/police, - /obj/item/weapon/shield/riot, - /obj/item/weapon/shield/riot/tele, - /obj/item/weapon/storage/box/holobadge/hos, + /obj/item/shield/riot, + /obj/item/shield/riot/tele, + /obj/item/storage/box/holobadge/hos, /obj/item/clothing/accessory/badge/holo/hos, - /obj/item/weapon/reagent_containers/spray/pepper, - /obj/item/weapon/tool/crowbar/red, - /obj/item/weapon/storage/box/flashbangs, - /obj/item/weapon/storage/belt/security, - /obj/item/device/flash, - /obj/item/weapon/melee/baton/loaded, - /obj/item/weapon/gun/magnetic/railgun/heater/pistol/hos, - /obj/item/weapon/rcd_ammo/large, - /obj/item/weapon/cell/device/weapon, + /obj/item/reagent_containers/spray/pepper, + /obj/item/tool/crowbar/red, + /obj/item/storage/box/flashbangs, + /obj/item/storage/belt/security, + /obj/item/flash, + /obj/item/melee/baton/loaded, + /obj/item/gun/magnetic/railgun/heater/pistol/hos, + /obj/item/rcd_ammo/large, + /obj/item/cell/device/weapon, /obj/item/clothing/accessory/holster/waist, - /obj/item/weapon/melee/telebaton, + /obj/item/melee/telebaton, /obj/item/clothing/head/beret/sec/corporate/hos, /obj/item/clothing/suit/storage/hooded/wintercoat/security, /obj/item/clothing/suit/storage/hooded/wintercoat/security/hos, /obj/item/clothing/shoes/boots/winter/security, - /obj/item/device/flashlight/maglight, + /obj/item/flashlight/maglight, /obj/item/clothing/mask/gas/half, /obj/item/clothing/mask/gas/sechailer/swat/hos) /obj/structure/closet/secure_closet/hos/Initialize() if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack/security + starts_with += /obj/item/storage/backpack/security else - starts_with += /obj/item/weapon/storage/backpack/satchel/sec + starts_with += /obj/item/storage/backpack/satchel/sec if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack/dufflebag/sec + starts_with += /obj/item/storage/backpack/dufflebag/sec return ..() @@ -149,37 +152,38 @@ /obj/item/clothing/suit/storage/vest/wardencoat/neo_bluewarden, /obj/item/clothing/suit/storage/vest/wardencoat/neo_warden_heavy, /obj/item/clothing/under/rank/neo_sec_gorka, - /obj/item/weapon/cartridge/security, - /obj/item/device/radio/headset/headset_sec, - /obj/item/device/radio/headset/headset_sec/alt, + /obj/item/cartridge/security, + /obj/item/radio/headset/headset_sec, + /obj/item/radio/headset/alt/headset_sec, + /obj/item/radio/headset/earbud/headset_sec, /obj/item/clothing/glasses/sunglasses/sechud, /obj/item/taperoll/police, /obj/item/clothing/accessory/badge/holo/warden, - /obj/item/weapon/storage/box/flashbangs, - /obj/item/weapon/storage/belt/security, - /obj/item/weapon/reagent_containers/spray/pepper, - /obj/item/weapon/melee/baton/loaded, - /obj/item/weapon/gun/energy/gun, - /obj/item/weapon/cell/device/weapon, - /obj/item/weapon/storage/box/holobadge, + /obj/item/storage/box/flashbangs, + /obj/item/storage/belt/security, + /obj/item/reagent_containers/spray/pepper, + /obj/item/melee/baton/loaded, + /obj/item/gun/energy/gun, + /obj/item/cell/device/weapon, + /obj/item/storage/box/holobadge, /obj/item/clothing/head/beret/sec/corporate/warden, /obj/item/clothing/suit/storage/hooded/wintercoat/security, /obj/item/clothing/shoes/boots/winter/security, - /obj/item/device/flashlight/maglight, - /obj/item/device/megaphone, + /obj/item/flashlight/maglight, + /obj/item/megaphone, /obj/item/clothing/mask/gas/half, /obj/item/clothing/mask/gas/sechailer/swat/warden, - /obj/item/weapon/gun/projectile/revolvershotgun, + /obj/item/gun/projectile/revolvershotgun, /obj/item/ammo_magazine/m12gdrumjack/beanbag, /obj/item/ammo_magazine/m12gdrumjack/beanbag) /obj/structure/closet/secure_closet/warden/Initialize() if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack/security + starts_with += /obj/item/storage/backpack/security else - starts_with += /obj/item/weapon/storage/backpack/satchel/sec + starts_with += /obj/item/storage/backpack/satchel/sec if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack/dufflebag/sec + starts_with += /obj/item/storage/backpack/dufflebag/sec return ..() /obj/structure/closet/secure_closet/security @@ -190,57 +194,58 @@ starts_with = list( /obj/item/clothing/suit/storage/vest/officer, /obj/item/clothing/head/helmet, - /obj/item/weapon/cartridge/security, - /obj/item/device/radio/headset/headset_sec, - /obj/item/device/radio/headset/headset_sec/alt, - /obj/item/weapon/storage/belt/security, - /obj/item/device/flash, - /obj/item/weapon/reagent_containers/spray/pepper, - /obj/item/weapon/grenade/flashbang, - /obj/item/weapon/melee/baton/loaded, + /obj/item/cartridge/security, + /obj/item/radio/headset/headset_sec, + /obj/item/radio/headset/alt/headset_sec, + /obj/item/radio/headset/earbud/headset_sec, + /obj/item/storage/belt/security, + /obj/item/flash, + /obj/item/reagent_containers/spray/pepper, + /obj/item/grenade/flashbang, + /obj/item/melee/baton/loaded, /obj/item/clothing/glasses/sunglasses/sechud, /obj/item/taperoll/police, - /obj/item/device/hailer, - /obj/item/device/flashlight/flare, + /obj/item/hailer, + /obj/item/flashlight/flare, /obj/item/clothing/accessory/storage/black_vest, /obj/item/clothing/head/soft/sec/corp, /obj/item/clothing/under/rank/security/corp, ///obj/item/ammo_magazine/m45/rubber, //VOREStation Removal, - /obj/item/weapon/gun/energy/taser, - /obj/item/weapon/cell/device/weapon, + /obj/item/gun/energy/taser, + /obj/item/cell/device/weapon, /obj/item/clothing/suit/storage/hooded/wintercoat/security, /obj/item/clothing/shoes/boots/winter/security, - /obj/item/device/flashlight/maglight) + /obj/item/flashlight/maglight) /obj/structure/closet/secure_closet/security/Initialize() if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack/security + starts_with += /obj/item/storage/backpack/security else - starts_with += /obj/item/weapon/storage/backpack/satchel/sec + starts_with += /obj/item/storage/backpack/satchel/sec if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack/dufflebag/sec + starts_with += /obj/item/storage/backpack/dufflebag/sec if(prob(30)) starts_with += /obj/item/poster/nanotrasen return ..() /obj/structure/closet/secure_closet/security/cargo/Initialize() starts_with += /obj/item/clothing/accessory/armband/cargo - starts_with += /obj/item/device/encryptionkey/headset_cargo + starts_with += /obj/item/encryptionkey/headset_cargo return ..() /obj/structure/closet/secure_closet/security/engine/Initialize() starts_with += /obj/item/clothing/accessory/armband/engine - starts_with += /obj/item/device/encryptionkey/headset_eng + starts_with += /obj/item/encryptionkey/headset_eng return ..() /obj/structure/closet/secure_closet/security/science/Initialize() starts_with += /obj/item/clothing/accessory/armband/science - starts_with += /obj/item/device/encryptionkey/headset_sci + starts_with += /obj/item/encryptionkey/headset_sci return ..() /obj/structure/closet/secure_closet/security/med/Initialize() starts_with += /obj/item/clothing/accessory/armband/medblue - starts_with += /obj/item/device/encryptionkey/headset_med + starts_with += /obj/item/encryptionkey/headset_med return ..() @@ -257,19 +262,20 @@ /obj/item/clothing/gloves/black, ///obj/item/gunbox, // VOREStation Removal /obj/item/gunbox/stun, - /obj/item/weapon/storage/belt/detective, - /obj/item/weapon/storage/box/evidence, - /obj/item/device/radio/headset/headset_sec, - /obj/item/device/radio/headset/headset_sec/alt, + /obj/item/storage/belt/detective, + /obj/item/storage/box/evidence, + /obj/item/radio/headset/headset_sec, + /obj/item/radio/headset/alt/headset_sec, + /obj/item/radio/headset/earbud/headset_sec, /obj/item/clothing/suit/storage/vest/detective, /obj/item/taperoll/police, /obj/item/clothing/accessory/holster/armpit, - /obj/item/device/flashlight/maglight, - /obj/item/weapon/reagent_containers/food/drinks/flask/detflask, - /obj/item/weapon/storage/briefcase/crimekit, - /obj/item/device/taperecorder, - /obj/item/weapon/storage/bag/detective, - /obj/item/device/tape/random = 3) + /obj/item/flashlight/maglight, + /obj/item/reagent_containers/food/drinks/flask/detflask, + /obj/item/storage/briefcase/crimekit, + /obj/item/taperecorder, + /obj/item/storage/bag/detective, + /obj/item/rectape/random = 3) /obj/structure/closet/secure_closet/injection name = "lethal injections locker" @@ -277,7 +283,7 @@ closet_appearance = /decl/closet_appearance/secure_closet/courtroom starts_with = list( - /obj/item/weapon/reagent_containers/syringe/ld50_syringe/choral = 2) + /obj/item/reagent_containers/syringe/ld50_syringe/choral = 2) GLOBAL_LIST_BOILERPLATE(all_brig_closets, /obj/structure/closet/secure_closet/brig) @@ -311,11 +317,11 @@ GLOBAL_LIST_BOILERPLATE(all_brig_closets, /obj/structure/closet/secure_closet/br starts_with = list( /obj/item/clothing/shoes/brown, - /obj/item/weapon/paper/Court = 3, - /obj/item/weapon/pen, + /obj/item/paper/Court = 3, + /obj/item/pen, /obj/item/clothing/suit/judgerobe, /obj/item/clothing/head/powdered_wig, - /obj/item/weapon/storage/briefcase) + /obj/item/storage/briefcase) /obj/structure/closet/secure_closet/wall diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security_vr.dm b/code/game/objects/structures/crates_lockers/closets/secure/security_vr.dm index 7f417cce5b9..ed38fdc0415 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security_vr.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security_vr.dm @@ -30,10 +30,11 @@ /obj/item/clothing/suit/storage/vest/wardencoat/neo_armsco_trench, /obj/item/clothing/head/helmet/HoS/hat/blue, /obj/item/clothing/head/helmet/dermal, - /obj/item/device/radio/headset/heads/hos, - /obj/item/device/radio/headset/heads/hos/alt, + /obj/item/radio/headset/heads/hos, + /obj/item/radio/headset/alt/heads/hos, + /obj/item/radio/headset/earbud/heads/hos, /obj/item/clothing/glasses/sunglasses/sechud, - /obj/item/weapon/storage/belt/security, + /obj/item/storage/belt/security, /obj/item/clothing/accessory/holster/waist, /obj/item/clothing/head/beret/sec/corporate/hos, /obj/item/clothing/suit/storage/hooded/wintercoat/security, @@ -47,24 +48,22 @@ storage_capacity = 2.5 * MOB_MEDIUM starts_with = list( - /obj/item/weapon/cartridge/hos, + /obj/item/cartridge/hos, /obj/item/taperoll/police, - /obj/item/weapon/shield/riot/tele, - /obj/item/weapon/storage/box/holobadge/hos, + /obj/item/shield/riot/tele, + /obj/item/storage/box/holobadge/hos, /obj/item/clothing/accessory/badge/holo/hos, - /obj/item/weapon/reagent_containers/spray/pepper, - /obj/item/weapon/tool/crowbar/red, - /obj/item/weapon/storage/box/flashbangs, - /obj/item/device/flash, - /obj/item/weapon/melee/baton/loaded, -// /obj/item/weapon/storage/secure/briefcase/nsfw_pack_hos, - /obj/item/weapon/gun/energy/x01, - /obj/item/weapon/cell/device/weapon, - /obj/item/weapon/melee/telebaton, + /obj/item/reagent_containers/spray/pepper, + /obj/item/tool/crowbar/red, + /obj/item/storage/box/flashbangs, + /obj/item/flash, + /obj/item/melee/baton/loaded, +// /obj/item/storage/secure/briefcase/nsfw_pack_hos, // YW removal + /obj/item/melee/telebaton, /obj/item/clothing/head/beret/sec/corporate/hos, /obj/item/clothing/suit/storage/hooded/wintercoat/security, /obj/item/clothing/shoes/boots/winter/security, - /obj/item/device/flashlight/maglight) + /obj/item/flashlight/maglight) //Custom NT Security Lockers, Only found at central command /obj/structure/closet/secure_closet/nanotrasen_security @@ -76,22 +75,23 @@ starts_with = list( /obj/item/clothing/suit/storage/vest/nanotrasen, /obj/item/clothing/head/helmet, - /obj/item/weapon/cartridge/security, - /obj/item/device/radio/headset/headset_sec, - /obj/item/device/radio/headset/headset_sec/alt, - /obj/item/weapon/storage/belt/security, - /obj/item/device/flash, - /obj/item/weapon/reagent_containers/spray/pepper, - /obj/item/weapon/grenade/flashbang, - /obj/item/weapon/melee/baton/loaded, + /obj/item/cartridge/security, + /obj/item/radio/headset/headset_sec, + /obj/item/radio/headset/alt/headset_sec, + /obj/item/radio/headset/earbud/headset_sec, + /obj/item/storage/belt/security, + /obj/item/flash, + /obj/item/reagent_containers/spray/pepper, + /obj/item/grenade/flashbang, + /obj/item/melee/baton/loaded, /obj/item/clothing/glasses/sunglasses/sechud, /obj/item/taperoll/police, - /obj/item/device/hailer, - /obj/item/device/flashlight/flare, + /obj/item/hailer, + /obj/item/flashlight/flare, /obj/item/clothing/accessory/storage/black_vest, - /obj/item/weapon/gun/energy/taser, - /obj/item/weapon/cell/device/weapon, - /obj/item/device/flashlight/maglight, + /obj/item/gun/energy/taser, + /obj/item/cell/device/weapon, + /obj/item/flashlight/maglight, /obj/item/clothing/head/soft/nanotrasen, /obj/item/clothing/head/beret/nanotrasen, /obj/item/clothing/under/nanotrasen/security, @@ -101,11 +101,11 @@ /obj/structure/closet/secure_closet/nanotrasen_security/Initialize() if(prob(25)) - starts_with += /obj/item/weapon/storage/backpack/security + starts_with += /obj/item/storage/backpack/security else - starts_with += /obj/item/weapon/storage/backpack/satchel/sec + starts_with += /obj/item/storage/backpack/satchel/sec if(prob(75)) - starts_with += /obj/item/weapon/storage/backpack/dufflebag/sec + starts_with += /obj/item/storage/backpack/dufflebag/sec return ..() /obj/structure/closet/secure_closet/nanotrasen_commander @@ -122,27 +122,28 @@ /obj/item/clothing/suit/storage/vest/hoscoat/jensen, /obj/item/clothing/suit/storage/vest/hoscoat, /obj/item/clothing/head/helmet/dermal, - /obj/item/weapon/cartridge/hos, - /obj/item/device/radio/headset/heads/hos, - /obj/item/device/radio/headset/heads/hos/alt, + /obj/item/cartridge/hos, + /obj/item/radio/headset/heads/hos, + /obj/item/radio/headset/alt/heads/hos, + /obj/item/radio/headset/earbud/heads/hos, /obj/item/clothing/glasses/sunglasses/sechud, /obj/item/taperoll/police, - /obj/item/weapon/shield/riot, - /obj/item/weapon/shield/riot/tele, - /obj/item/weapon/storage/box/holobadge/hos, + /obj/item/shield/riot, + /obj/item/shield/riot/tele, + /obj/item/storage/box/holobadge/hos, /obj/item/clothing/accessory/badge/holo/hos, - /obj/item/weapon/reagent_containers/spray/pepper, - /obj/item/weapon/tool/crowbar/red, - /obj/item/weapon/storage/box/flashbangs, - /obj/item/weapon/storage/belt/security, - /obj/item/device/flash, - /obj/item/weapon/melee/baton/loaded, - /obj/item/weapon/gun/energy/gun, - /obj/item/weapon/cell/device/weapon, + /obj/item/reagent_containers/spray/pepper, + /obj/item/tool/crowbar/red, + /obj/item/storage/box/flashbangs, + /obj/item/storage/belt/security, + /obj/item/flash, + /obj/item/melee/baton/loaded, + /obj/item/gun/energy/gun, + /obj/item/cell/device/weapon, /obj/item/clothing/accessory/holster/waist, - /obj/item/weapon/melee/telebaton, + /obj/item/melee/telebaton, /obj/item/clothing/head/beret/sec/corporate/hos, - /obj/item/device/flashlight/maglight, + /obj/item/flashlight/maglight, /obj/item/clothing/gloves/black, /obj/item/clothing/shoes/boots/jackboots, /obj/item/clothing/shoes/boots/jackboots/toeless, @@ -150,11 +151,11 @@ /obj/structure/closet/secure_closet/nanotrasen_commander/Initialize() if(prob(25)) - starts_with += /obj/item/weapon/storage/backpack/security + starts_with += /obj/item/storage/backpack/security else - starts_with += /obj/item/weapon/storage/backpack/satchel/sec + starts_with += /obj/item/storage/backpack/satchel/sec if(prob(75)) - starts_with += /obj/item/weapon/storage/backpack/dufflebag/sec + starts_with += /obj/item/storage/backpack/dufflebag/sec return ..() /obj/structure/closet/secure_closet/nanotrasen_warden @@ -169,47 +170,49 @@ /obj/item/clothing/suit/storage/vest/wardencoat/alt, /obj/item/clothing/suit/storage/vest/wardencoat/alt2, /obj/item/clothing/head/helmet/warden, - /obj/item/weapon/cartridge/security, - /obj/item/device/radio/headset/headset_sec, - /obj/item/device/radio/headset/headset_sec/alt, + /obj/item/cartridge/security, + /obj/item/radio/headset/headset_sec, + /obj/item/radio/headset/alt/headset_sec, + /obj/item/radio/headset/earbud/headset_sec, /obj/item/clothing/glasses/sunglasses/sechud, /obj/item/taperoll/police, /obj/item/clothing/accessory/badge/holo/warden, - /obj/item/weapon/storage/box/flashbangs, - /obj/item/weapon/storage/belt/security, - /obj/item/weapon/reagent_containers/spray/pepper, - /obj/item/weapon/melee/baton/loaded, - /obj/item/weapon/gun/energy/gun, - /obj/item/weapon/cell/device/weapon, - /obj/item/weapon/storage/box/holobadge, + /obj/item/storage/box/flashbangs, + /obj/item/storage/belt/security, + /obj/item/reagent_containers/spray/pepper, + /obj/item/melee/baton/loaded, + /obj/item/gun/energy/gun, + /obj/item/cell/device/weapon, + /obj/item/storage/box/holobadge, /obj/item/clothing/head/beret/sec/corporate/warden, - /obj/item/device/flashlight/maglight, - /obj/item/device/megaphone, + /obj/item/flashlight/maglight, + /obj/item/megaphone, /obj/item/clothing/gloves/black, /obj/item/clothing/shoes/boots/jackboots, /obj/item/clothing/shoes/boots/jackboots/toeless) /obj/structure/closet/secure_closet/nanotrasen_warden/Initialize() if(prob(25)) - new /obj/item/weapon/storage/backpack/security(src) + new /obj/item/storage/backpack/security(src) else - new /obj/item/weapon/storage/backpack/satchel/sec(src) + new /obj/item/storage/backpack/satchel/sec(src) if(prob(75)) - new /obj/item/weapon/storage/backpack/dufflebag/sec(src) + new /obj/item/storage/backpack/dufflebag/sec(src) return ..() /obj/structure/closet/secure_closet/captains starts_with = list( - /obj/item/weapon/storage/backpack/dufflebag/captain, + /obj/item/storage/backpack/dufflebag/captain, /obj/item/clothing/head/helmet, /obj/item/clothing/suit/storage/vest, - /obj/item/weapon/cartridge/captain, - /obj/item/weapon/storage/lockbox/medal, - /obj/item/device/radio/headset/heads/captain, - /obj/item/device/radio/headset/heads/captain/alt, + /obj/item/cartridge/captain, + /obj/item/storage/lockbox/medal, + /obj/item/radio/headset/heads/captain, + /obj/item/radio/headset/alt/heads/captain, + /obj/item/radio/headset/earbud/heads/captain, /obj/item/gunbox/captain, - /obj/item/weapon/melee/telebaton, - /obj/item/device/flash, - /obj/item/weapon/storage/box/ids, - /obj/item/weapon/melee/rapier, + /obj/item/melee/telebaton, + /obj/item/flash, + /obj/item/storage/box/ids, + /obj/item/melee/rapier, /obj/item/clothing/accessory/holster/machete/rapier) diff --git a/code/game/objects/structures/crates_lockers/closets/statue.dm b/code/game/objects/structures/crates_lockers/closets/statue.dm index 7b290534561..9f948265fd9 100644 --- a/code/game/objects/structures/crates_lockers/closets/statue.dm +++ b/code/game/objects/structures/crates_lockers/closets/statue.dm @@ -106,7 +106,7 @@ /obj/structure/closet/statue/attackby(obj/item/I as obj, mob/user as mob) health -= I.force user.do_attack_animation(src) - visible_message("[user] strikes [src] with [I].") + visible_message(span_danger("[user] strikes [src] with [I].")) check_health() /obj/structure/closet/statue/MouseDrop_T() @@ -128,5 +128,5 @@ if (user) user.dust() dump_contents() - visible_message("[src] shatters!.") + visible_message(span_warning("[src] shatters!.")) qdel(src) diff --git a/code/game/objects/structures/crates_lockers/closets/syndicate.dm b/code/game/objects/structures/crates_lockers/closets/syndicate.dm index 51d15feb1bf..1dc3e314801 100644 --- a/code/game/objects/structures/crates_lockers/closets/syndicate.dm +++ b/code/game/objects/structures/crates_lockers/closets/syndicate.dm @@ -7,16 +7,16 @@ desc = "It's a storage unit for operative gear." starts_with = list( - /obj/item/weapon/tank/jetpack/oxygen, + /obj/item/tank/jetpack/oxygen, /obj/item/clothing/mask/gas/syndicate, /obj/item/clothing/under/syndicate, /obj/item/clothing/head/helmet/space/void/merc, /obj/item/clothing/suit/space/void/merc, - /obj/item/weapon/tool/crowbar/red, - /obj/item/weapon/cell/high, - /obj/item/weapon/card/id/syndicate, - /obj/item/device/multitool, - /obj/item/weapon/shield/energy, + /obj/item/tool/crowbar/red, + /obj/item/cell/high, + /obj/item/card/id/syndicate, + /obj/item/multitool, + /obj/item/shield/energy, /obj/item/clothing/shoes/magboots) @@ -24,7 +24,7 @@ desc = "It's a storage unit for voidsuits." starts_with = list( - /obj/item/weapon/tank/jetpack/oxygen, + /obj/item/tank/jetpack/oxygen, /obj/item/clothing/shoes/magboots, /obj/item/clothing/suit/space/void/merc, /obj/item/clothing/mask/gas/syndicate, @@ -36,12 +36,12 @@ starts_with = list( /obj/item/ammo_magazine/m10mm = 5, - /obj/item/weapon/storage/box/handcuffs, - /obj/item/weapon/storage/box/flashbangs, - /obj/item/weapon/gun/energy/gun = 5, - /obj/item/weapon/pinpointer/nukeop = 5, - /obj/item/device/pda/syndicate, - /obj/item/device/radio/uplink) + /obj/item/storage/box/handcuffs, + /obj/item/storage/box/flashbangs, + /obj/item/gun/energy/gun = 5, + /obj/item/pinpointer/nukeop = 5, + /obj/item/pda/syndicate, + /obj/item/radio/uplink) /obj/structure/closet/syndicate/resources desc = "An old, dusty locker." @@ -58,7 +58,7 @@ //Sad trombone if(pickednum == 1) - var/obj/item/weapon/paper/P = new /obj/item/weapon/paper(src) + var/obj/item/paper/P = new /obj/item/paper(src) P.name = "IOU" P.info = "Sorry man, we needed the money so we sold your stash. It's ok, we'll double our money for sure this time!" @@ -96,7 +96,7 @@ //Jetpack (You hit the jackpot!) if(pickednum == 50) - new /obj/item/weapon/tank/jetpack/carbondioxide(src) + new /obj/item/tank/jetpack/carbondioxide(src) /obj/structure/closet/syndicate/resources/everything desc = "It's an emergency storage closet for repairs." diff --git a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm index 7946fd1e942..e9a3daee87a 100644 --- a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm +++ b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm @@ -22,28 +22,28 @@ //VOREStation Block Edit Start - Modified List if ("small") starts_with = list( - /obj/item/weapon/tank/emergency/oxygen = 2, + /obj/item/tank/emergency/oxygen = 2, /obj/item/clothing/mask/breath = 2, /obj/item/clothing/suit/space/emergency = 2, /obj/item/clothing/head/helmet/space/emergency = 2) if ("aid") starts_with = list( - /obj/item/weapon/tank/emergency/oxygen, - /obj/item/weapon/storage/toolbox/emergency, + /obj/item/tank/emergency/oxygen, + /obj/item/storage/toolbox/emergency, /obj/item/clothing/mask/breath, /obj/item/clothing/suit/space/emergency, /obj/item/clothing/head/helmet/space/emergency) if ("tank") starts_with = list( - /obj/item/weapon/tank/emergency/oxygen/engi = 2, + /obj/item/tank/emergency/oxygen/engi = 2, /obj/item/clothing/mask/breath = 2, /obj/item/clothing/suit/space/emergency = 2, /obj/item/clothing/head/helmet/space/emergency = 2) if ("both") starts_with = list( - /obj/item/weapon/storage/toolbox/emergency, - /obj/item/weapon/storage/firstaid/o2, - /obj/item/weapon/tank/emergency/oxygen/engi = 2, + /obj/item/storage/toolbox/emergency, + /obj/item/storage/firstaid/o2, + /obj/item/tank/emergency/oxygen/engi = 2, /obj/item/clothing/mask/breath = 2, /obj/item/clothing/suit/space/emergency = 2, /obj/item/clothing/head/helmet/space/emergency = 2) @@ -53,7 +53,7 @@ /obj/structure/closet/emcloset/legacy starts_with = list( - /obj/item/weapon/tank/oxygen, + /obj/item/tank/oxygen, /obj/item/clothing/mask/gas) /* @@ -67,26 +67,26 @@ starts_with = list( /obj/item/clothing/suit/fire, /obj/item/clothing/mask/gas, - /obj/item/weapon/tank/oxygen/red, - /obj/item/weapon/extinguisher, + /obj/item/tank/oxygen/red, + /obj/item/extinguisher, /obj/item/clothing/head/hardhat/red) /obj/structure/closet/firecloset/full starts_with = list( /obj/item/clothing/suit/fire, /obj/item/clothing/mask/gas, - /obj/item/device/flashlight, - /obj/item/weapon/tank/oxygen/red, - /obj/item/weapon/extinguisher, + /obj/item/flashlight, + /obj/item/tank/oxygen/red, + /obj/item/extinguisher, /obj/item/clothing/head/hardhat/red) /obj/structure/closet/firecloset/full/double starts_with = list( /obj/item/clothing/suit/fire = 2, /obj/item/clothing/mask/gas = 2, - /obj/item/device/flashlight = 2, - /obj/item/weapon/tank/oxygen/red = 2, - /obj/item/weapon/extinguisher = 2, + /obj/item/flashlight = 2, + /obj/item/tank/oxygen/red = 2, + /obj/item/extinguisher = 2, /obj/item/clothing/head/hardhat/red = 2) /obj/structure/closet/firecloset/full/atmos @@ -96,9 +96,9 @@ starts_with = list( /obj/item/clothing/suit/fire/heavy, - /obj/item/weapon/tank/oxygen/red, - /obj/item/weapon/extinguisher/atmo, - /obj/item/device/flashlight, + /obj/item/tank/oxygen/red, + /obj/item/extinguisher/atmo, + /obj/item/flashlight, /obj/item/clothing/head/hardhat/firefighter/atmos) /* @@ -114,21 +114,21 @@ if(prob(40)) starts_with += /obj/item/clothing/suit/storage/hazardvest if(prob(70)) - starts_with += /obj/item/device/flashlight + starts_with += /obj/item/flashlight if(prob(70)) - starts_with += /obj/item/weapon/tool/screwdriver + starts_with += /obj/item/tool/screwdriver if(prob(70)) - starts_with += /obj/item/weapon/tool/wrench + starts_with += /obj/item/tool/wrench if(prob(70)) - starts_with += /obj/item/weapon/weldingtool + starts_with += /obj/item/weldingtool if(prob(70)) - starts_with += /obj/item/weapon/tool/crowbar + starts_with += /obj/item/tool/crowbar if(prob(70)) - starts_with += /obj/item/weapon/tool/wirecutters + starts_with += /obj/item/tool/wirecutters if(prob(70)) - starts_with += /obj/item/device/t_scanner + starts_with += /obj/item/t_scanner if(prob(20)) - starts_with += /obj/item/weapon/storage/belt/utility + starts_with += /obj/item/storage/belt/utility if(prob(30)) starts_with += /obj/item/stack/cable_coil/random if(prob(30)) @@ -136,13 +136,13 @@ if(prob(30)) starts_with += /obj/item/stack/cable_coil/random if(prob(20)) - starts_with += /obj/item/device/multitool + starts_with += /obj/item/multitool if(prob(5)) starts_with += /obj/item/clothing/gloves/yellow if(prob(40)) starts_with += /obj/item/clothing/head/hardhat if(prob(30)) - starts_with += /obj/item/weapon/reagent_containers/spray/windowsealant //VOREStation Add + starts_with += /obj/item/reagent_containers/spray/windowsealant //VOREStation Add return ..() /* @@ -156,7 +156,7 @@ starts_with = list( /obj/item/clothing/suit/radiation = 2, /obj/item/clothing/head/radiation = 2, - /obj/item/device/geiger = 2) + /obj/item/geiger = 2) /* * Bombsuit closet @@ -208,9 +208,9 @@ starts_with = list( /obj/item/clothing/suit/fire/firefighter, /obj/item/clothing/mask/gas, - /obj/item/device/flashlight, - /obj/item/weapon/tank/oxygen/red, - /obj/item/weapon/extinguisher, + /obj/item/flashlight, + /obj/item/tank/oxygen/red, + /obj/item/extinguisher, /obj/item/clothing/head/hardhat/red) /* diff --git a/code/game/objects/structures/crates_lockers/closets/utility_closets_vr.dm b/code/game/objects/structures/crates_lockers/closets/utility_closets_vr.dm index 1f848762226..e8634fe4a36 100644 --- a/code/game/objects/structures/crates_lockers/closets/utility_closets_vr.dm +++ b/code/game/objects/structures/crates_lockers/closets/utility_closets_vr.dm @@ -1,7 +1,7 @@ /obj/structure/closet/firecloset/Initialize() - starts_with += /obj/item/weapon/storage/toolbox/emergency + starts_with += /obj/item/storage/toolbox/emergency return ..() /obj/structure/closet/hydrant/New() - starts_with += /obj/item/weapon/storage/toolbox/emergency + starts_with += /obj/item/storage/toolbox/emergency return ..() diff --git a/code/game/objects/structures/crates_lockers/closets/utility_closets_yw.dm b/code/game/objects/structures/crates_lockers/closets/utility_closets_yw.dm index 3156f474633..e6e0ce6c311 100644 --- a/code/game/objects/structures/crates_lockers/closets/utility_closets_yw.dm +++ b/code/game/objects/structures/crates_lockers/closets/utility_closets_yw.dm @@ -9,15 +9,15 @@ wall_mounted = 1 starts_with = list( - /obj/item/weapon/module/power_control, - /obj/item/weapon/storage/toolbox/mechanical , - /obj/item/device/flashlight, - /obj/item/weapon/tank/oxygen/red, - /obj/item/weapon/storage/briefcase/inflatable, + /obj/item/module/power_control, + /obj/item/storage/toolbox/mechanical , + /obj/item/flashlight, + /obj/item/tank/oxygen/red, + /obj/item/storage/briefcase/inflatable, /obj/item/clothing/head/helmet/space/emergency, /obj/item/clothing/suit/space/emergency) /obj/structure/closet/medical name = "medical supply closet" desc = "May or may not contain medical junk." - closet_appearance = /decl/closet_appearance/medical_yw \ No newline at end of file + closet_appearance = /decl/closet_appearance/medical_yw diff --git a/code/game/objects/structures/crates_lockers/closets/walllocker.dm b/code/game/objects/structures/crates_lockers/closets/walllocker.dm index 35c520d375e..e6279f0c3c9 100644 --- a/code/game/objects/structures/crates_lockers/closets/walllocker.dm +++ b/code/game/objects/structures/crates_lockers/closets/walllocker.dm @@ -19,7 +19,7 @@ /obj/structure/closet/walllocker/emerglocker name = "emergency locker" desc = "A wall mounted locker with emergency supplies." - var/list/spawnitems = list(/obj/item/weapon/tank/emergency/oxygen,/obj/item/clothing/mask/breath,/obj/item/weapon/tool/crowbar/red,/obj/item/device/flashlight/flare,) + var/list/spawnitems = list(/obj/item/tank/emergency/oxygen,/obj/item/clothing/mask/breath,/obj/item/tool/crowbar/red,/obj/item/flashlight/flare) // YW EDIT var/amount = 2 // spawns each items X times. closet_appearance = /decl/closet_appearance/wall/emergency @@ -27,17 +27,17 @@ src.attack_hand(user) return -/obj/structure/closet/walllocker/emerglocker/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/structure/closet/walllocker/emerglocker/attackby(obj/item/W as obj, mob/user as mob) return /obj/structure/closet/walllocker/emerglocker/attack_hand(mob/user as mob) if (istype(user, /mob/living/silicon/ai)) //Added by Strumpetplaya - AI shouldn't be able to return //activate emergency lockers. This fixes that. (Does this make sense, the AI can't call attack_hand, can it? --Mloc) if(!amount) - to_chat(usr, "It's empty..") + to_chat(user, "It's empty..") return if(amount) - to_chat(usr, "You take out some items from \the [src].") + to_chat(user, "You take out some items from \the [src].") for(var/path in spawnitems) new path(src.loc) amount-- @@ -187,9 +187,9 @@ starts_with = list( /obj/item/clothing/mask/breath = 2, - /obj/item/weapon/tank/emergency/oxygen/engi = 2, - /obj/item/weapon/storage/briefcase/inflatable, - /obj/item/device/radio = 3) + /obj/item/tank/emergency/oxygen/engi = 2, + /obj/item/storage/briefcase/inflatable, + /obj/item/radio = 3) /obj/structure/closet/walllocker_double/emergency_engi/north pixel_y = 32 @@ -215,9 +215,9 @@ starts_with = list( /obj/item/clothing/suit/fire, /obj/item/clothing/mask/gas, - /obj/item/device/flashlight, - /obj/item/weapon/tank/oxygen/red, - /obj/item/weapon/extinguisher, + /obj/item/flashlight, + /obj/item/tank/oxygen/red, + /obj/item/extinguisher, /obj/item/clothing/head/hardhat/red) /obj/structure/closet/walllocker_double/hydrant/north @@ -252,14 +252,14 @@ /obj/item/clothing/suit/space/emergency, /obj/item/clothing/head/helmet/space/emergency, /obj/item/clothing/mask/breath, - /obj/item/weapon/tank/oxygen, - /obj/item/device/suit_cooling_unit/emergency, - /obj/item/device/gps, - /obj/item/weapon/material/knife/tacknife/survival, + /obj/item/tank/oxygen, + /obj/item/suit_cooling_unit/emergency, + /obj/item/gps, + /obj/item/material/knife/tacknife/survival, /obj/random/mre, - /obj/item/device/flashlight/color/yellow, - /obj/item/device/flashlight/flare, - /obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle) + /obj/item/flashlight/color/yellow, + /obj/item/flashlight/flare, + /obj/item/reagent_containers/food/drinks/cans/waterbottle) /obj/structure/closet/walllocker_double/survival/north pixel_y = 32 @@ -448,4 +448,4 @@ /obj/structure/closet/walllocker_double/engineering/east pixel_x = 32 - dir = EAST \ No newline at end of file + dir = EAST diff --git a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm index 2f4f5a22d19..59cbf406d3d 100644 --- a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm +++ b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm @@ -23,17 +23,17 @@ /obj/structure/closet/wardrobe/red/Initialize() if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack/security + starts_with += /obj/item/storage/backpack/security else - starts_with += /obj/item/weapon/storage/backpack/satchel/sec + starts_with += /obj/item/storage/backpack/satchel/sec if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack/security + starts_with += /obj/item/storage/backpack/security else - starts_with += /obj/item/weapon/storage/backpack/satchel/sec + starts_with += /obj/item/storage/backpack/satchel/sec if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack/security + starts_with += /obj/item/storage/backpack/security else - starts_with += /obj/item/weapon/storage/backpack/satchel/sec + starts_with += /obj/item/storage/backpack/satchel/sec return ..() @@ -79,7 +79,7 @@ /obj/item/clothing/head/that = 3, /obj/item/clothing/head/soft/black = 3, /obj/item/clothing/mask/bandana = 3, - /obj/item/weapon/storage/backpack/messenger/black) + /obj/item/storage/backpack/messenger/black) /obj/structure/closet/wardrobe/chaplain_black @@ -96,12 +96,12 @@ /obj/item/clothing/suit/storage/hooded/chaplain_hoodie/whiteout, /obj/item/clothing/suit/holidaypriest, /obj/item/clothing/under/wedding/bride_white, - /obj/item/weapon/storage/backpack/cultpack, - /obj/item/weapon/storage/fancy/candle_box = 2, - /obj/item/weapon/storage/fancy/whitecandle_box, - /obj/item/weapon/storage/fancy/blackcandle_box, + /obj/item/storage/backpack/cultpack, + /obj/item/storage/fancy/candle_box = 2, + /obj/item/storage/fancy/whitecandle_box, + /obj/item/storage/fancy/blackcandle_box, /obj/item/godfig = 2, - /obj/item/weapon/deck/tarot) + /obj/item/deck/tarot) /obj/structure/closet/wardrobe/monastary name = "Monastary wardrobe" @@ -227,18 +227,18 @@ /obj/item/clothing/shoes/slippers = 3, /obj/item/clothing/suit/storage/hooded/wintercoat/science, /obj/item/clothing/shoes/boots/winter/science, - /obj/item/weapon/storage/backpack/toxins, - /obj/item/weapon/storage/backpack/satchel/tox) + /obj/item/storage/backpack/toxins, + /obj/item/storage/backpack/satchel/tox) /obj/structure/closet/wardrobe/science_white/Initialize() if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack/dufflebag/sci + starts_with += /obj/item/storage/backpack/dufflebag/sci else - starts_with += /obj/item/weapon/storage/backpack/satchel/tox + starts_with += /obj/item/storage/backpack/satchel/tox if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack/dufflebag/sci + starts_with += /obj/item/storage/backpack/dufflebag/sci else - starts_with += /obj/item/weapon/storage/backpack/satchel/tox + starts_with += /obj/item/storage/backpack/satchel/tox return ..() @@ -253,14 +253,14 @@ /obj/item/clothing/suit/storage/hooded/wintercoat/science/robotics, /obj/item/clothing/shoes/black = 2, /obj/item/clothing/gloves/black = 2, - /obj/item/weapon/storage/backpack/toxins, - /obj/item/weapon/storage/backpack/satchel/tox) + /obj/item/storage/backpack/toxins, + /obj/item/storage/backpack/satchel/tox) /obj/structure/closet/wardrobe/robotics_black/Initialize() if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack/dufflebag/sci + starts_with += /obj/item/storage/backpack/dufflebag/sci else - starts_with += /obj/item/weapon/storage/backpack/satchel/tox + starts_with += /obj/item/storage/backpack/satchel/tox return ..() @@ -275,9 +275,9 @@ /obj/item/clothing/shoes/white = 2, /obj/item/clothing/suit/storage/toggle/labcoat/chemist = 2, /obj/item/clothing/suit/storage/hooded/wintercoat/medical/chemist, - /obj/item/weapon/storage/backpack/chemistry = 2, - /obj/item/weapon/storage/backpack/satchel/chem = 2, - /obj/item/weapon/storage/bag/chemistry = 2,) + /obj/item/storage/backpack/chemistry = 2, + /obj/item/storage/backpack/satchel/chem = 2, + /obj/item/storage/bag/chemistry = 2,) /obj/structure/closet/wardrobe/genetics_white @@ -289,8 +289,8 @@ /obj/item/clothing/under/rank/geneticist/skirt = 2, /obj/item/clothing/shoes/white = 2, /obj/item/clothing/suit/storage/toggle/labcoat/genetics = 2, - /obj/item/weapon/storage/backpack/genetics = 2, - /obj/item/weapon/storage/backpack/satchel/gen = 2) + /obj/item/storage/backpack/genetics = 2, + /obj/item/storage/backpack/satchel/gen = 2) /obj/structure/closet/wardrobe/virology_white @@ -304,8 +304,8 @@ /obj/item/clothing/suit/storage/toggle/labcoat/virologist = 2, /obj/item/clothing/suit/storage/hooded/wintercoat/medical/viro, /obj/item/clothing/mask/surgical = 2, - /obj/item/weapon/storage/backpack/virology = 2, - /obj/item/weapon/storage/backpack/satchel/vir = 2) + /obj/item/storage/backpack/virology = 2, + /obj/item/storage/backpack/satchel/vir = 2) /obj/structure/closet/wardrobe/medic_white @@ -407,9 +407,9 @@ /obj/structure/closet/wardrobe/tactical/Initialize() if(prob(25)) - starts_with += /obj/item/weapon/storage/belt/security/tactical/bandolier + starts_with += /obj/item/storage/belt/security/tactical/bandolier else - starts_with += /obj/item/weapon/storage/belt/security/tactical + starts_with += /obj/item/storage/belt/security/tactical if(prob(10)) starts_with += /obj/item/clothing/mask/bandana/skull @@ -423,7 +423,7 @@ /obj/item/clothing/under/rank/centcom, /obj/item/clothing/under/ert, /obj/item/clothing/under/syndicate/combat, - /obj/item/device/radio/headset/ert/alt, + /obj/item/radio/headset/alt/ert, /obj/item/clothing/glasses/sunglasses, /obj/item/clothing/shoes/boots/swat, /obj/item/clothing/gloves/swat, @@ -459,7 +459,7 @@ /obj/item/clothing/under/suit_jacket/red/skirt, /obj/item/clothing/under/scratch, /obj/item/clothing/under/scratch/skirt, - /obj/item/weapon/storage/backpack/satchel = 2) + /obj/item/storage/backpack/satchel = 2) /obj/structure/closet/wardrobe/captain name = "site manager's wardrobe" @@ -469,7 +469,7 @@ close_sound = 'sound/effects/wooden_closet_close.ogg' starts_with = list( - /obj/item/weapon/storage/backpack/captain, + /obj/item/storage/backpack/captain, /obj/item/clothing/suit/captunic, /obj/item/clothing/suit/captunic/capjacket, /obj/item/clothing/head/caphat/cap, @@ -485,7 +485,7 @@ /obj/item/clothing/shoes/brown, /obj/item/clothing/gloves/captain, /obj/item/clothing/under/dress/dress_cap, - /obj/item/weapon/storage/backpack/satchel/cap, + /obj/item/storage/backpack/satchel/cap, /obj/item/clothing/head/caphat/formal, /obj/item/clothing/under/captainformal, /obj/item/clothing/suit/storage/hooded/wintercoat/captain, diff --git a/code/game/objects/structures/crates_lockers/closets/wardrobe_vr.dm b/code/game/objects/structures/crates_lockers/closets/wardrobe_vr.dm index ffeeae996a7..7f9956a8553 100644 --- a/code/game/objects/structures/crates_lockers/closets/wardrobe_vr.dm +++ b/code/game/objects/structures/crates_lockers/closets/wardrobe_vr.dm @@ -3,13 +3,14 @@ closet_appearance = /decl/closet_appearance/tactical/alt //because ert lockers are red for some dumb reason starts_with = list( /obj/item/clothing/under/ert, - /obj/item/device/radio/headset/ert/alt, + /obj/item/radio/headset/ert, + /obj/item/radio/headset/alt/ert, /obj/item/clothing/glasses/sunglasses, /obj/item/clothing/shoes/boots/swat, /obj/item/clothing/gloves/swat, /obj/item/clothing/mask/balaclava/tactical, /obj/item/clothing/mask/balaclava) - + //would you believe mercs have no official locker? well, now they do. basically just a rebranded ERT locker but hey, it's an option. -Killian /obj/structure/closet/wardrobe/merc name = "mercenary equipment" @@ -18,7 +19,9 @@ starts_with = list( /obj/item/clothing/under/tactical, /obj/item/clothing/under/syndicate/combat, - /obj/item/device/radio/headset/syndicate/alt, + /obj/item/radio/headset/syndicate, + /obj/item/radio/headset/alt/syndicate, + /obj/item/radio/headset/earbud/syndicate, /obj/item/clothing/glasses/sunglasses, /obj/item/clothing/shoes/boots/combat, /obj/item/clothing/gloves/combat, diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm index 511e505330f..3c6fb26d80f 100644 --- a/code/game/objects/structures/crates_lockers/crates.dm +++ b/code/game/objects/structures/crates_lockers/crates.dm @@ -25,7 +25,7 @@ if(!src.can_open()) return 0 - if(rigged && locate(/obj/item/device/radio/electropack) in src) + if(rigged && locate(/obj/item/radio/electropack) in src) if(isliving(usr)) var/mob/living/L = usr if(L.electrocute_act(17, src)) @@ -69,6 +69,14 @@ update_icon() return 1 +/obj/structure/closet/crate/MouseDrop_T(mob/target, mob/user) + // Adds climbing from drag, You can't put yourself in crates with a drag anyway... Nore anyone else actually. + var/mob/living/H = user + if(istype(H) && can_climb(H) && target == user) + do_climb(target) + else + return ..() + /obj/structure/closet/crate/verb/rotate_clockwise() set name = "Rotate Crate Clockwise" set category = "Object" @@ -89,7 +97,7 @@ src.set_dir(turn(src.dir, 90)) -/obj/structure/closet/crate/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/structure/closet/crate/attackby(obj/item/W as obj, mob/user as mob) if(W.has_tool_quality(TOOL_WRENCH) && istype(src,/obj/structure/closet/crate/bin)) return ..() else if(opened) @@ -97,31 +105,31 @@ return if(W.loc != user) // This should stop mounted modules ending up outside the module. return - if(istype(W, /obj/item/weapon/grab)) //VOREstation edit: we don't want to drop grabs into the crate + if(istype(W, /obj/item/grab)) //VOREstation edit: we don't want to drop grabs into the crate return user.drop_item() if(W) W.forceMove(src.loc) - else if(istype(W, /obj/item/weapon/packageWrap)) + else if(istype(W, /obj/item/packageWrap)) return else if(istype(W, /obj/item/stack/cable_coil)) var/obj/item/stack/cable_coil/C = W if(rigged) - to_chat(user, "[src] is already rigged!") + to_chat(user, span_notice("[src] is already rigged!")) return if (C.use(1)) - to_chat(user , "You rig [src].") + to_chat(user , span_notice("You rig [src].")) rigged = 1 return - else if(istype(W, /obj/item/device/radio/electropack)) + else if(istype(W, /obj/item/radio/electropack)) if(rigged) - to_chat(user , "You attach [W] to [src].") + to_chat(user , span_notice("You attach [W] to [src].")) user.drop_item() W.forceMove(src) return else if(W.has_tool_quality(TOOL_WIRECUTTER)) if(rigged) - to_chat(user , "You cut away the wiring.") + to_chat(user , span_notice("You cut away the wiring.")) playsound(src, W.usesound, 100, 1) rigged = 0 return @@ -171,15 +179,15 @@ /obj/structure/closet/crate/secure/proc/togglelock(mob/user as mob) if(src.opened) - to_chat(user, "Close the crate first.") + to_chat(user, span_notice("Close the crate first.")) return if(src.broken) - to_chat(user, "The crate appears to be broken.") + to_chat(user, span_warning("The crate appears to be broken.")) return if(src.allowed(user)) set_locked(!locked, user) else - to_chat(user, "Access Denied") + to_chat(user, span_notice("Access Denied")) /obj/structure/closet/crate/secure/proc/set_locked(var/newlocked, mob/user = null) if(locked == newlocked) return @@ -187,7 +195,7 @@ locked = newlocked if(user) for(var/mob/O in viewers(user, 3)) - O.show_message( "The crate has been [locked ? null : "un"]locked by [user].", 1) + O.show_message( span_notice("The crate has been [locked ? null : "un"]locked by [user]."), 1) update_icon() /obj/structure/closet/crate/secure/verb/verb_togglelock() @@ -202,7 +210,7 @@ src.add_fingerprint(usr) src.togglelock(usr) else - to_chat(usr, "This mob type can't use this verb.") + to_chat(usr, span_warning("This mob type can't use this verb.")) /obj/structure/closet/crate/secure/attack_hand(mob/user as mob) src.add_fingerprint(user) @@ -211,10 +219,10 @@ else src.toggle(user) -/obj/structure/closet/crate/secure/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(is_type_in_list(W, list(/obj/item/weapon/packageWrap, /obj/item/stack/cable_coil, /obj/item/device/radio/electropack, /obj/item/weapon/tool/wirecutters))) +/obj/structure/closet/crate/secure/attackby(obj/item/W as obj, mob/user as mob) + if(is_type_in_list(W, list(/obj/item/packageWrap, /obj/item/stack/cable_coil, /obj/item/radio/electropack, /obj/item/tool/wirecutters))) return ..() - if(istype(W, /obj/item/weapon/melee/energy/blade)) + if(istype(W, /obj/item/melee/energy/blade)) emag_act(INFINITY, user) if(!opened) src.togglelock(user) @@ -226,7 +234,7 @@ playsound(src, "sparks", 60, 1) locked = 0 broken = 1 - to_chat(user, "You unlock \the [src].") + to_chat(user, span_notice("You unlock \the [src].")) update_icon() return 1 @@ -283,23 +291,23 @@ desc = "A crate with rapid construction device." starts_with = list( - /obj/item/weapon/rcd_ammo = 3, - /obj/item/weapon/rcd) + /obj/item/rcd_ammo = 3, + /obj/item/rcd) /obj/structure/closet/crate/solar name = "solar pack crate" starts_with = list( /obj/item/solar_assembly = 21, - /obj/item/weapon/circuitboard/solar_control, - /obj/item/weapon/tracker_electronics, - /obj/item/weapon/paper/solar) + /obj/item/circuitboard/solar_control, + /obj/item/tracker_electronics, + /obj/item/paper/solar) /obj/structure/closet/crate/cooper name = "Cooper's Stache" starts_with = list( - /obj/item/weapon/reagent_containers/food/snacks/cheesewedge = 6, + /obj/item/reagent_containers/food/snacks/cheesewedge = 6, /obj/item/stack/material/gold = 1) /obj/structure/closet/crate/freezer name = "freezer" @@ -723,8 +731,8 @@ /obj/structure/closet/crate/hydroponics/prespawned starts_with = list( - /obj/item/weapon/reagent_containers/spray/plantbgone = 2, - /obj/item/weapon/material/minihoe) + /obj/item/reagent_containers/spray/plantbgone = 2, + /obj/item/material/minihoe) //Laundry Cart /obj/structure/closet/crate/laundry diff --git a/code/game/objects/structures/crates_lockers/crates_vr.dm b/code/game/objects/structures/crates_lockers/crates_vr.dm index 8825c25d834..10183cf5980 100644 --- a/code/game/objects/structures/crates_lockers/crates_vr.dm +++ b/code/game/objects/structures/crates_lockers/crates_vr.dm @@ -7,7 +7,7 @@ if(locked && tamper_proof && health <= Proj.damage) if(tamper_proof == 2) // Mainly used for events to prevent any chance of opening the box improperly. - visible_message(span_red("The anti-tamper mechanism of [src] triggers an explosion!")) + visible_message(span_bolddanger("The anti-tamper mechanism of [src] triggers an explosion!")) var/turf/T = get_turf(src.loc) explosion(T, 0, 0, 0, 1) // Non-damaging, but it'll alert security. qdel(src) @@ -15,18 +15,18 @@ var/open_chance = rand(1,5) switch(open_chance) if(1) - visible_message(span_red("The anti-tamper mechanism of [src] causes an explosion!")) + visible_message(span_bolddanger("The anti-tamper mechanism of [src] causes an explosion!")) var/turf/T = get_turf(src.loc) explosion(T, 0, 0, 0, 1) // Non-damaging, but it'll alert security. qdel(src) if(2 to 4) - visible_message(span_red("The anti-tamper mechanism of [src] causes a small fire!")) + visible_message(span_boldwarning("The anti-tamper mechanism of [src] causes a small fire!")) for(var/atom/movable/A as mob|obj in src) // For every item in the box, we spawn a pile of ash. new /obj/effect/decal/cleanable/ash(src.loc) new /obj/fire(src.loc) qdel(src) if(5) - visible_message(span_green("The anti-tamper mechanism of [src] fails!")) + visible_message(span_infoplain(span_green(span_bold("The anti-tamper mechanism of [src] fails!")))) return ..() diff --git a/code/game/objects/structures/crates_lockers/largecrate.dm b/code/game/objects/structures/crates_lockers/largecrate.dm index d9902638ffc..5557a27cf79 100644 --- a/code/game/objects/structures/crates_lockers/largecrate.dm +++ b/code/game/objects/structures/crates_lockers/largecrate.dm @@ -18,13 +18,13 @@ update_icon() /obj/structure/largecrate/attack_hand(mob/user as mob) - to_chat(user, "You need a crowbar to pry this open!") + to_chat(user, span_notice("You need a crowbar to pry this open!")) return -/obj/structure/largecrate/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/structure/largecrate/attackby(obj/item/W as obj, mob/user as mob) var/turf/T = get_turf(src) if(!T) - to_chat(user, "You can't open this here!") + to_chat(user, span_notice("You can't open this here!")) if(W.has_tool_quality(TOOL_CROWBAR)) new /obj/item/stack/material/wood(src) @@ -39,9 +39,9 @@ AMBLINAL.ghostjoin_icon() active_ghost_pods |= AMBLINAL //VOREStation Add End - user.visible_message("[user] pries \the [src] open.", \ - "You pry open \the [src].", \ - "You hear splitting wood.") + user.visible_message(span_notice("[user] pries \the [src] open."), \ + span_notice("You pry open \the [src]."), \ + span_notice("You hear splitting wood.")) qdel(src) else return attack_hand(user) @@ -54,7 +54,7 @@ desc = "You aren't sure how this crate is so light, but the Wulf Aeronautics logo might be a hint." icon_state = "vehiclecrate" -/obj/structure/largecrate/hoverpod/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/structure/largecrate/hoverpod/attackby(obj/item/W as obj, mob/user as mob) if(W.has_tool_quality(TOOL_CROWBAR)) var/obj/item/mecha_parts/mecha_equipment/ME var/obj/mecha/working/hoverpod/H = new (loc) @@ -127,6 +127,10 @@ name = "chicken crate" starts_with = list(/mob/living/simple_mob/animal/passive/chick = 5) +/obj/structure/largecrate/animal/turkey + name = "turkey crate" + starts_with = list(/mob/living/simple_mob/vore/turkey) + /obj/structure/largecrate/animal/catslug name = "catslug carrier" starts_with = list(/mob/living/simple_mob/vore/alienanimals/catslug) diff --git a/code/game/objects/structures/crates_lockers/largecrate_vr.dm b/code/game/objects/structures/crates_lockers/largecrate_vr.dm index 7b9f9c0a4af..f28b64121fb 100644 --- a/code/game/objects/structures/crates_lockers/largecrate_vr.dm +++ b/code/game/objects/structures/crates_lockers/largecrate_vr.dm @@ -2,7 +2,7 @@ name = "Bird crate" desc = "You hear chirping and cawing inside the crate. It sounds like there are a lot of birds in there..." -/obj/structure/largecrate/birds/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/structure/largecrate/birds/attackby(obj/item/W as obj, mob/user as mob) if(W.has_tool_quality(TOOL_CROWBAR)) new /obj/item/stack/material/wood(src) new /mob/living/simple_mob/animal/passive/bird(src) @@ -29,9 +29,9 @@ var/turf/T = get_turf(src) for(var/atom/movable/AM in contents) if(AM.simulated) AM.forceMove(T) - user.visible_message("[user] pries \the [src] open.", \ - "You pry open \the [src].", \ - "You hear splitting wood.") + user.visible_message(span_notice("[user] pries \the [src] open."), \ + span_notice("You pry open \the [src]."), \ + span_notice("You hear splitting wood.")) qdel(src) else return attack_hand(user) diff --git a/code/game/objects/structures/crates_lockers/vehiclecage.dm b/code/game/objects/structures/crates_lockers/vehiclecage.dm index 944da792f83..7ea9a27ab40 100644 --- a/code/game/objects/structures/crates_lockers/vehiclecage.dm +++ b/code/game/objects/structures/crates_lockers/vehiclecage.dm @@ -11,7 +11,7 @@ /obj/structure/vehiclecage/examine(mob/user) . = ..() if(my_vehicle) - . += "It seems to contain \the [my_vehicle]." + . += span_notice("It seems to contain \the [my_vehicle].") /obj/structure/vehiclecage/Initialize() . = ..() @@ -24,21 +24,21 @@ update_icon() /obj/structure/vehiclecage/attack_hand(mob/user as mob) - to_chat(user, "You need a wrench to take this apart!") + to_chat(user, span_notice("You need a wrench to take this apart!")) return -/obj/structure/vehiclecage/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/structure/vehiclecage/attackby(obj/item/W as obj, mob/user as mob) var/turf/T = get_turf(src) if(!T) - to_chat(user, "You can't open this here!") + to_chat(user, span_notice("You can't open this here!")) if(W.has_tool_quality(TOOL_WRENCH) && do_after(user, 60 * W.toolspeed, src)) playsound(src, W.usesound, 50, 1) disassemble(W, user) - user.visible_message("[user] begins loosening \the [src]'s bolts.") + user.visible_message(span_notice("[user] begins loosening \the [src]'s bolts.")) if(W.has_tool_quality(TOOL_WIRECUTTER) && do_after(user, 70 * W.toolspeed, src)) playsound(src, W.usesound, 50, 1) disassemble(W, user) - user.visible_message("[user] begins cutting \the [src]'s bolts.") + user.visible_message(span_notice("[user] begins cutting \the [src]'s bolts.")) else return attack_hand(user) @@ -72,9 +72,9 @@ /obj/structure/vehiclecage/proc/load_vehicle(var/obj/vehicle/V, mob/user as mob) if(user) - user.visible_message("[user] loads \the [V] into \the [src].", \ - "You load \the [V] into \the [src].", \ - "You hear creaking metal.") + user.visible_message(span_notice("[user] loads \the [V] into \the [src]."), \ + span_notice("You load \the [V] into \the [src]."), \ + span_notice("You hear creaking metal.")) V.forceMove(src) @@ -82,7 +82,7 @@ update_icon() -/obj/structure/vehiclecage/proc/disassemble(obj/item/weapon/W as obj, mob/user as mob) +/obj/structure/vehiclecage/proc/disassemble(obj/item/W as obj, mob/user as mob) var/turf/T = get_turf(src) new /obj/item/stack/material/steel(src.loc, 5) @@ -91,9 +91,9 @@ AM.forceMove(T) my_vehicle = null - user.visible_message("[user] release \the [src].", \ - "You finally release \the [src].", \ - "You hear creaking metal.") + user.visible_message(span_notice("[user] release \the [src]."), \ + span_notice("You finally release \the [src]."), \ + span_notice("You hear creaking metal.")) qdel(src) /obj/structure/vehiclecage/spacebike diff --git a/code/game/objects/structures/curtains.dm b/code/game/objects/structures/curtains.dm index 63ef20566a9..8336d0f3739 100644 --- a/code/game/objects/structures/curtains.dm +++ b/code/game/objects/structures/curtains.dm @@ -16,7 +16,7 @@ /obj/structure/curtain/bullet_act(obj/item/projectile/P, def_zone) if(!P.nodamage) - visible_message("[P] tears [src] down!") + visible_message(span_warning("[P] tears [src] down!")) qdel(src) else ..(P, def_zone) @@ -26,6 +26,14 @@ toggle() ..() +/obj/structure/curtain/attack_ai(mob/user) + if(!Adjacent(user)) + return + if(!isrobot((user))) + return + playsound(src, "rustle", 15, 1, -5) + toggle() + /obj/structure/curtain/proc/toggle() set_opacity(!opacity) if(opacity) @@ -40,9 +48,9 @@ /obj/structure/curtain/attackby(obj/item/P, mob/user) if(P.has_tool_quality(TOOL_WIRECUTTER)) playsound(src, P.usesound, 50, 1) - to_chat(user, "You start to cut the shower curtains.") + to_chat(user, span_notice("You start to cut the shower curtains.")) if(do_after(user, 10)) - to_chat(user, "You cut the shower curtains.") + to_chat(user, span_notice("You cut the shower curtains.")) new /obj/item/stack/material/plastic(src.loc, 3) qdel(src) return diff --git a/code/game/objects/structures/dancepole_vr.dm b/code/game/objects/structures/dancepole_vr.dm index 739d50643ce..fee25382221 100644 --- a/code/game/objects/structures/dancepole_vr.dm +++ b/code/game/objects/structures/dancepole_vr.dm @@ -29,9 +29,9 @@ to_chat(user, span_blue("You unsecure \the [src].")) if(O.has_tool_quality(TOOL_WRENCH)) playsound(src, O.usesound, 50, 1) - to_chat(user, "Now disassembling \the [src]...") + to_chat(user, span_notice("Now disassembling \the [src]...")) if(do_after(user, 30 * O.toolspeed)) if(!src) return - to_chat(user, "You dissasembled \the [src]!") + to_chat(user, span_notice("You dissasembled \the [src]!")) new /obj/item/stack/material/steel(src.loc, 1) qdel(src) diff --git a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm index 362d966ae5c..d376be9a3f1 100644 --- a/code/game/objects/structures/displaycase.dm +++ b/code/game/objects/structures/displaycase.dm @@ -13,9 +13,9 @@ /obj/structure/displaycase/ex_act(severity) switch(severity) if (1) - new /obj/item/weapon/material/shard( src.loc ) + new /obj/item/material/shard( src.loc ) if (occupied) - new /obj/item/weapon/gun/energy/captain( src.loc ) + new /obj/item/gun/energy/captain( src.loc ) occupied = 0 qdel(src) if (2) @@ -39,7 +39,7 @@ if (!( src.destroyed )) src.density = FALSE src.destroyed = 1 - new /obj/item/weapon/material/shard( src.loc ) + new /obj/item/material/shard( src.loc ) playsound(src, "shatter", 70, 1) update_icon() else @@ -54,7 +54,7 @@ return -/obj/structure/displaycase/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/structure/displaycase/attackby(obj/item/W as obj, mob/user as mob) user.setClickCooldown(user.get_attack_speed(W)) user.do_attack_animation(src) playsound(src, 'sound/effects/Glasshit.ogg', 50, 1) @@ -65,17 +65,17 @@ /obj/structure/displaycase/attack_hand(mob/user as mob) if (src.destroyed && src.occupied) - new /obj/item/weapon/gun/energy/captain( src.loc ) - to_chat(user, "You deactivate the hover field built into the case.") + new /obj/item/gun/energy/captain( src.loc ) + to_chat(user, span_notice("You deactivate the hover field built into the case.")) src.occupied = 0 src.add_fingerprint(user) update_icon() return else - to_chat(usr, "You kick the display case.") + to_chat(user, span_warning("You kick the display case.")) for(var/mob/O in oviewers()) if ((O.client && !( O.blinded ))) - to_chat(O, "[usr] kicks the display case.") + to_chat(O, span_warning("[user] kicks the display case.")) src.health -= 2 healthcheck() return diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm index 3a024f647b8..b6c5e2e9466 100644 --- a/code/game/objects/structures/door_assembly.dm +++ b/code/game/objects/structures/door_assembly.dm @@ -8,7 +8,7 @@ var/state = 0 var/base_icon_state = "" var/base_name = "airlock" - var/obj/item/weapon/airlock_electronics/electronics = null + var/obj/item/airlock_electronics/electronics = null var/airlock_type = "" //the type path of the airlock once completed var/glass_type = "/glass" var/glass = 0 // 0 = glass can be installed. -1 = glass can't be installed. 1 = glass is already installed. Text = mineral plating is installed instead. @@ -161,24 +161,24 @@ update_state() /obj/structure/door_assembly/attack_robot(mob/living/silicon/robot/user) - if(Adjacent(user) && (user.module && (istype(user.module,/obj/item/weapon/robot_module/robot/engineering)) \ - || istype(user.module,/obj/item/weapon/robot_module/drone))) //Only drone (and engiborg) needs this. + if(Adjacent(user) && (user.module && (istype(user.module,/obj/item/robot_module/robot/engineering)) \ + || istype(user.module,/obj/item/robot_module/drone))) //Only drone (and engiborg) needs this. rename_door(user) /obj/structure/door_assembly/attackby(obj/item/W as obj, mob/user as mob) - if(istype(W, /obj/item/weapon/pen)) + if(istype(W, /obj/item/pen)) rename_door(user) return if(W.has_tool_quality(TOOL_WELDER) && ( (istext(glass)) || (glass == 1) || (!anchored) )) - var/obj/item/weapon/weldingtool/WT = W.get_welder() + var/obj/item/weldingtool/WT = W.get_welder() if (WT.remove_fuel(0, user)) playsound(src, WT.usesound, 50, 1) if(istext(glass)) user.visible_message("[user] welds the [glass] plating off the airlock assembly.", "You start to weld the [glass] plating off the airlock assembly.") if(do_after(user, 4 SECONDS * WT.toolspeed, src, exclusive = TASK_ALL_EXCLUSIVE)) if(!src || !WT.isOn()) return - to_chat(user, "You welded the [glass] plating off!") + to_chat(user, span_notice("You welded the [glass] plating off!")) var/M = text2path("/obj/item/stack/material/[glass]") new M(src.loc, 2) glass = 0 @@ -186,18 +186,18 @@ user.visible_message("[user] welds the glass panel out of the airlock assembly.", "You start to weld the glass panel out of the airlock assembly.") if(do_after(user, 4 SECONDS * WT.toolspeed, src, exclusive = TASK_ALL_EXCLUSIVE)) if(!src || !WT.isOn()) return - to_chat(user, "You welded the glass panel out!") + to_chat(user, span_notice("You welded the glass panel out!")) new /obj/item/stack/material/glass/reinforced(src.loc) glass = 0 else if(!anchored) user.visible_message("[user] dissassembles the airlock assembly.", "You start to dissassemble the airlock assembly.") if(do_after(user, 4 SECONDS * WT.toolspeed, src, exclusive = TASK_ALL_EXCLUSIVE)) if(!src || !WT.isOn()) return - to_chat(user, "You dissasembled the airlock assembly!") + to_chat(user, span_notice("You dissasembled the airlock assembly!")) new /obj/item/stack/material/steel(src.loc, 4) qdel (src) else - to_chat(user, "You need more welding fuel.") + to_chat(user, span_notice("You need more welding fuel.")) return else if(W.has_tool_quality(TOOL_WRENCH) && state == 0) @@ -209,19 +209,19 @@ if(do_after(user, 4 SECONDS * W.toolspeed, src, exclusive = TASK_ALL_EXCLUSIVE)) if(!src) return - to_chat(user, "You [anchored? "un" : ""]secured the airlock assembly!") + to_chat(user, span_notice("You [anchored? "un" : ""]secured the airlock assembly!")) anchored = !anchored else if(istype(W, /obj/item/stack/cable_coil) && state == 0 && anchored) var/obj/item/stack/cable_coil/C = W if (C.get_amount() < 1) - to_chat(user, "You need one length of coil to wire the airlock assembly.") + to_chat(user, span_warning("You need one length of coil to wire the airlock assembly.")) return user.visible_message("[user] wires the airlock assembly.", "You start to wire the airlock assembly.") if(do_after(user, 4 SECONDS, src, exclusive = TASK_ALL_EXCLUSIVE) && state == 0 && anchored) if (C.use(1)) src.state = 1 - to_chat(user, "You wire the airlock.") + to_chat(user, span_notice("You wire the airlock.")) else if(W.has_tool_quality(TOOL_WIRECUTTER) && state == 1 ) playsound(src, W.usesound, 100, 1) @@ -229,11 +229,11 @@ if(do_after(user, 4 SECONDS * W.toolspeed, src, exclusive = TASK_ALL_EXCLUSIVE)) if(!src) return - to_chat(user, "You cut the airlock wires.!") + to_chat(user, span_notice("You cut the airlock wires.!")) new/obj/item/stack/cable_coil(src.loc, 1) src.state = 0 - else if(istype(W, /obj/item/weapon/airlock_electronics) && state == 1) + else if(istype(W, /obj/item/airlock_electronics) && state == 1) playsound(src, W.usesound, 100, 1) user.visible_message("[user] installs the electronics into the airlock assembly.", "You start to install electronics into the airlock assembly.") @@ -241,14 +241,14 @@ if(!src) return user.drop_item() W.loc = src - to_chat(user, "You installed the airlock electronics!") + to_chat(user, span_notice("You installed the airlock electronics!")) src.state = 2 src.electronics = W else if(W.has_tool_quality(TOOL_CROWBAR) && state == 2 ) //This should never happen, but just in case I guess if (!electronics) - to_chat(user, "There was nothing to remove.") + to_chat(user, span_notice("There was nothing to remove.")) src.state = 1 return @@ -257,7 +257,7 @@ if(do_after(user, 4 SECONDS * W.toolspeed, src, exclusive = TASK_ALL_EXCLUSIVE)) if(!src) return - to_chat(user, "You removed the airlock electronics!") + to_chat(user, span_notice("You removed the airlock electronics!")) src.state = 1 electronics.loc = src.loc electronics = null @@ -272,7 +272,7 @@ user.visible_message("[user] adds [S.name] to the airlock assembly.", "You start to install [S.name] into the airlock assembly.") if(do_after(user, 4 SECONDS, src, exclusive = TASK_ALL_EXCLUSIVE) && !glass) if (S.use(1)) - to_chat(user, "You installed reinforced glass windows into the airlock assembly.") + to_chat(user, span_notice("You installed reinforced glass windows into the airlock assembly.")) glass = 1 else if(material_name) // Ugly hack, will suffice for now. Need to fix it upstream as well, may rewrite mineral walls. ~Z @@ -284,16 +284,16 @@ user.visible_message("[user] adds [S.name] to the airlock assembly.", "You start to install [S.name] into the airlock assembly.") if(do_after(user, 4 SECONDS, src, exclusive = TASK_ALL_EXCLUSIVE) && !glass) if (S.use(2)) - to_chat(user, "You installed [material_display_name(material_name)] plating into the airlock assembly.") + to_chat(user, span_notice("You installed [material_display_name(material_name)] plating into the airlock assembly.")) glass = material_name else if(W.has_tool_quality(TOOL_SCREWDRIVER) && state == 2 ) playsound(src, W.usesound, 100, 1) - to_chat(user, "Now finishing the airlock.") + to_chat(user, span_notice("Now finishing the airlock.")) if(do_after(user, 4 SECONDS * W.toolspeed, src, exclusive = TASK_ALL_EXCLUSIVE)) if(!src) return - to_chat(user, "You finish the airlock!") + to_chat(user, span_notice("You finish the airlock!")) var/path if(istext(glass)) path = text2path("/obj/machinery/door/airlock/[glass]") diff --git a/code/game/objects/structures/droppod.dm b/code/game/objects/structures/droppod.dm index d794a8829d1..440283abdfb 100644 --- a/code/game/objects/structures/droppod.dm +++ b/code/game/objects/structures/droppod.dm @@ -87,7 +87,7 @@ visible_message("\The [src] pops open!") else for(var/mob/M in src) - to_chat(M, "You've landed! Open the hatch if you think it's safe! \The [src] has enough air to last for a while...") + to_chat(M, span_danger("You've landed! Open the hatch if you think it's safe! \The [src] has enough air to last for a while...")) /obj/structure/drop_pod/proc/open_pod() if(finished) @@ -103,21 +103,21 @@ /obj/structure/drop_pod/attack_hand(mob/living/user) if(istype(user) && (Adjacent(user) || (user in src)) && !user.incapacitated()) if(finished) - to_chat(user, "Nothing left to do with it now. Maybe you can break it down into materials.") + to_chat(user, span_warning("Nothing left to do with it now. Maybe you can break it down into materials.")) else open_pod() - user.visible_message("[user] opens \the [src]!","You open \the [src]!") + user.visible_message(span_infoplain(span_bold("[user]") + " opens \the [src]!"),span_infoplain("You open \the [src]!")) /obj/structure/drop_pod/attackby(obj/item/O, mob/user) if(O.has_tool_quality(TOOL_WRENCH)) if(finished) - to_chat(user, "You start breaking down \the [src].") + to_chat(user, span_notice("You start breaking down \the [src].")) if(do_after(user, 10 SECONDS, src, exclusive = TASK_ALL_EXCLUSIVE)) new /obj/item/stack/material/plasteel(loc, 10) playsound(user, O.usesound, 50, 1) qdel(src) else - to_chat(user, "\The [src] hasn't been opened yet. Do that first.") + to_chat(user, span_warning("\The [src] hasn't been opened yet. Do that first.")) return ..() /obj/structure/drop_pod/return_air() diff --git a/code/game/objects/structures/electricchair.dm b/code/game/objects/structures/electricchair.dm index ff37f1b40b3..a4b584e8295 100644 --- a/code/game/objects/structures/electricchair.dm +++ b/code/game/objects/structures/electricchair.dm @@ -11,7 +11,7 @@ add_overlay(image('icons/obj/objects.dmi', src, "echair_over", MOB_LAYER + 1, dir)) return -/obj/structure/bed/chair/e_chair/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/structure/bed/chair/e_chair/attackby(obj/item/W as obj, mob/user as mob) if(W.has_tool_quality(TOOL_WRENCH)) var/obj/structure/bed/chair/C = new /obj/structure/bed/chair(loc) playsound(src, W.usesound, 50, 1) @@ -34,7 +34,7 @@ else on = 1 icon_state = "echair1" - to_chat(usr, "You switch [on ? "on" : "off"] [src].") + to_chat(usr, span_notice("You switch [on ? "on" : "off"] [src].")) return /obj/structure/bed/chair/e_chair/rotate_clockwise() @@ -67,11 +67,11 @@ if(has_buckled_mobs()) for(var/mob/living/L as anything in buckled_mobs) L.burn_skin(85) - to_chat(L, "You feel a deep shock course through your body!") + to_chat(L, span_danger("You feel a deep shock course through your body!")) sleep(1) L.burn_skin(85) L.Stun(600) - visible_message("The electric chair went off!", "You hear a deep sharp shock!") + visible_message(span_danger("The electric chair went off!"), span_danger("You hear a deep sharp shock!")) A.power_light = light A.update_icon() diff --git a/code/game/objects/structures/extinguisher.dm b/code/game/objects/structures/extinguisher.dm index 8318392b49f..3c160b70d79 100644 --- a/code/game/objects/structures/extinguisher.dm +++ b/code/game/objects/structures/extinguisher.dm @@ -6,7 +6,7 @@ layer = ABOVE_WINDOW_LAYER anchored = TRUE density = FALSE - var/obj/item/weapon/extinguisher/has_extinguisher + var/obj/item/extinguisher/has_extinguisher var/opened = 0 /obj/structure/extinguisher_cabinet/Initialize(var/mapload, var/dir, var/building = 0) @@ -16,27 +16,27 @@ pixel_x = (dir & 3)? 0 : (dir == 4 ? -27 : 27) pixel_y = (dir & 3)? (dir ==1 ? -27 : 27) : 0 else - has_extinguisher = new/obj/item/weapon/extinguisher(src) + has_extinguisher = new/obj/item/extinguisher(src) update_icon() /obj/structure/extinguisher_cabinet/attackby(obj/item/O, mob/user) if(isrobot(user)) return - if(istype(O, /obj/item/weapon/extinguisher)) + if(istype(O, /obj/item/extinguisher)) if(!has_extinguisher && opened) user.remove_from_mob(O) contents += O has_extinguisher = O - to_chat(user, "You place [O] in [src].") + to_chat(user, span_notice("You place [O] in [src].")) else opened = !opened if(O.has_tool_quality(TOOL_WRENCH)) if(!has_extinguisher) - to_chat(user, "You start to unwrench the extinguisher cabinet.") + to_chat(user, span_notice("You start to unwrench the extinguisher cabinet.")) playsound(src, O.usesound, 50, 1) if(do_after(user, 15 * O.toolspeed)) - to_chat(user, "You unwrench the extinguisher cabinet.") + to_chat(user, span_notice("You unwrench the extinguisher cabinet.")) new /obj/item/frame/extinguisher_cabinet( src.loc ) qdel(src) return @@ -54,11 +54,11 @@ if (user.hand) temp = H.organs_by_name["l_hand"] if(temp && !temp.is_usable()) - to_chat(user, "You try to move your [temp.name], but cannot!") + to_chat(user, span_notice("You try to move your [temp.name], but cannot!")) return if(has_extinguisher) user.put_in_hands(has_extinguisher) - to_chat(user, "You take [has_extinguisher] from [src].") + to_chat(user, span_notice("You take [has_extinguisher] from [src].")) has_extinguisher = null opened = 1 else @@ -68,7 +68,7 @@ /obj/structure/extinguisher_cabinet/attack_tk(mob/user) if(has_extinguisher) has_extinguisher.loc = loc - to_chat(user, "You telekinetically remove [has_extinguisher] from [src].") + to_chat(user, span_notice("You telekinetically remove [has_extinguisher] from [src].")) has_extinguisher = null opened = 1 else @@ -78,9 +78,9 @@ /obj/structure/extinguisher_cabinet/update_icon() var/suffix = "empty" if(has_extinguisher) - if(istype(has_extinguisher, /obj/item/weapon/extinguisher/mini)) + if(istype(has_extinguisher, /obj/item/extinguisher/mini)) suffix = "mini" - if(istype(has_extinguisher, /obj/item/weapon/extinguisher/atmo)) + if(istype(has_extinguisher, /obj/item/extinguisher/atmo)) suffix = "advanced" else suffix = "standard" diff --git a/code/game/objects/structures/fence.dm b/code/game/objects/structures/fence.dm index 1bb1b4e71eb..0237f0c20a9 100644 --- a/code/game/objects/structures/fence.dm +++ b/code/game/objects/structures/fence.dm @@ -71,30 +71,30 @@ /obj/structure/fence/attackby(obj/item/W, mob/user) if(W.has_tool_quality(TOOL_WIRECUTTER)) if(!cuttable) - to_chat(user, span("warning", "This section of the fence can't be cut.")) + to_chat(user, span_warning("This section of the fence can't be cut.")) return if(invulnerable) - to_chat(user, span("warning", "This fence is too strong to cut through.")) + to_chat(user, span_warning("This fence is too strong to cut through.")) return var/current_stage = hole_size if(current_stage >= MAX_HOLE_SIZE) - to_chat(user, span("notice", "This fence has too much cut out of it already.")) + to_chat(user, span_notice("This fence has too much cut out of it already.")) return - user.visible_message(span("danger", "\The [user] starts cutting through \the [src] with \the [W]."),\ - span("danger", "You start cutting through \the [src] with \the [W].")) + user.visible_message(span_danger("\The [user] starts cutting through \the [src] with \the [W]."),\ + span_danger("You start cutting through \the [src] with \the [W].")) playsound(src, W.usesound, 50, 1) if(do_after(user, CUT_TIME * W.toolspeed, target = src)) if(current_stage == hole_size) switch(++hole_size) if(MEDIUM_HOLE) - visible_message(span("notice", "\The [user] cuts into \the [src] some more.")) - to_chat(user, span("notice", "You could probably fit yourself through that hole now. Although climbing through would be much faster if you made it even bigger.")) + visible_message(span_notice("\The [user] cuts into \the [src] some more.")) + to_chat(user, span_notice("You could probably fit yourself through that hole now. Although climbing through would be much faster if you made it even bigger.")) climbable = TRUE if(LARGE_HOLE) - visible_message(span("notice", "\The [user] completely cuts through \the [src].")) - to_chat(user, span("notice", "The hole in \the [src] is now big enough to walk through.")) + visible_message(span_notice("\The [user] completely cuts through \the [src].")) + to_chat(user, span_notice("The hole in \the [src] is now big enough to walk through.")) climbable = FALSE update_cut_status() return TRUE @@ -140,17 +140,17 @@ if(can_open(user)) toggle(user) else - to_chat(user, span("warning", "\The [src] is [!open ? "locked" : "stuck open"].")) + to_chat(user, span_warning("\The [src] is [!open ? "locked" : "stuck open"].")) return TRUE /obj/structure/fence/door/proc/toggle(mob/user) switch(open) if(FALSE) - visible_message(span("notice", "\The [user] opens \the [src].")) + visible_message(span_notice("\The [user] opens \the [src].")) open = TRUE if(TRUE) - visible_message(span("notice", "\The [user] closes \the [src].")) + visible_message(span_notice("\The [user] closes \the [src].")) open = FALSE update_door_status() @@ -211,4 +211,4 @@ #undef NO_HOLE #undef MEDIUM_HOLE #undef LARGE_HOLE -#undef MAX_HOLE_SIZE \ No newline at end of file +#undef MAX_HOLE_SIZE diff --git a/code/game/objects/structures/fireaxe.dm b/code/game/objects/structures/fireaxe.dm index 7234baf50e6..8281a7f9ca1 100644 --- a/code/game/objects/structures/fireaxe.dm +++ b/code/game/objects/structures/fireaxe.dm @@ -2,7 +2,7 @@ /obj/structure/fireaxecabinet name = "fire axe cabinet" desc = "There is small label that reads \"For Emergency use only\" along with details for safe use of the axe. As if." - var/obj/item/weapon/material/twohanded/fireaxe/fireaxe + var/obj/item/material/twohanded/fireaxe/fireaxe icon = 'icons/obj/closet.dmi' //Not bothering to move icons out for now. But its dumb still. icon_state = "fireaxe1000" layer = ABOVE_WINDOW_LAYER @@ -17,7 +17,7 @@ /obj/structure/fireaxecabinet/Initialize() . = ..() if(starts_with_axe) - fireaxe = new /obj/item/weapon/material/twohanded/fireaxe() + fireaxe = new /obj/item/material/twohanded/fireaxe() update_icon() /obj/structure/fireaxecabinet/attackby(var/obj/item/O as obj, var/mob/user as mob) //Marker -Agouri @@ -33,16 +33,16 @@ // hasaxe = 1 if (isrobot(user) || locked) - if(istype(O, /obj/item/device/multitool)) - to_chat(user, "Resetting circuitry...") + if(istype(O, /obj/item/multitool)) + to_chat(user, span_warning("Resetting circuitry...")) playsound(src, 'sound/machines/lockreset.ogg', 50, 1) if(do_after(user, 20 * O.toolspeed)) locked = 0 - to_chat(user, " You disable the locking modules.") + to_chat(user, span_warning("You disable the locking modules.")) update_icon() return - else if(istype(O, /obj/item/weapon)) - var/obj/item/weapon/W = O + else if(istype(O, /obj/item)) + var/obj/item/W = O if(smashed || open) if(open) toggle_close_open() @@ -50,7 +50,7 @@ else playsound(src, 'sound/effects/Glasshit.ogg', 100, 1) //We don't want this playing every time if(W.force < 15) - to_chat(user, "The cabinet's protective glass glances off the hit.") + to_chat(user, span_notice("The cabinet's protective glass glances off the hit.")) else hitstaken++ if(hitstaken == 4) @@ -60,7 +60,7 @@ open= 1 update_icon() return - if (istype(O, /obj/item/weapon/material/twohanded/fireaxe) && open) + if (istype(O, /obj/item/material/twohanded/fireaxe) && open) if(!fireaxe) if(O:wielded) O:wielded = 0 @@ -68,7 +68,7 @@ fireaxe = O user.remove_from_mob(O) contents += O - to_chat(user, "You place the fire axe back in the [name].") + to_chat(user, span_notice("You place the fire axe back in the [name].")) update_icon() else if(smashed) @@ -78,18 +78,18 @@ else if(smashed) return - if(istype(O, /obj/item/device/multitool)) + if(istype(O, /obj/item/multitool)) if(open) open = 0 update_icon() flick("[icon_state]closing", src) return else - to_chat(user, "Resetting circuitry...") + to_chat(user, span_warning("Resetting circuitry...")) playsound(src, 'sound/machines/lockenable.ogg', 50, 1) if(do_after(user,20 * O.toolspeed)) locked = 1 - to_chat(user, " You re-enable the locking modules.") + to_chat(user, span_warning("You re-enable the locking modules.")) return else toggle_close_open() @@ -101,14 +101,14 @@ // hasaxe = 1 if(locked) - to_chat(user, "The cabinet won't budge!") + to_chat(user, span_warning("The cabinet won't budge!")) return if(open) if(fireaxe) user.put_in_hands(fireaxe) fireaxe = null - to_chat (user, "You take the fire axe from the [name].") + to_chat (user, span_notice("You take the fire axe from the [name].")) add_fingerprint(user) update_icon() else @@ -123,7 +123,7 @@ /obj/structure/fireaxecabinet/attack_tk(mob/user as mob) if(open && fireaxe) fireaxe.forceMove(loc) - to_chat(user, "You telekinetically remove the fire axe.") + to_chat(user, span_notice("You telekinetically remove the fire axe.")) fireaxe = null update_icon() return @@ -144,9 +144,9 @@ if (isrobot(usr) || locked || smashed) if(locked) - to_chat(usr, "The cabinet won't budge!") + to_chat(usr, span_warning("The cabinet won't budge!")) else if(smashed) - to_chat(usr, "The protective glass is broken!") + to_chat(usr, span_notice("The protective glass is broken!")) return toggle_close_open() @@ -163,23 +163,23 @@ if(fireaxe) usr.put_in_hands(fireaxe) fireaxe = null - to_chat(usr, "You take the Fire axe from the [name].") + to_chat(usr, span_notice("You take the Fire axe from the [name].")) else - to_chat(usr, "The [name] is empty.") + to_chat(usr, span_notice("The [name] is empty.")) else - to_chat(usr, "The [name] is closed.") + to_chat(usr, span_notice("The [name] is closed.")) update_icon() /obj/structure/fireaxecabinet/attack_ai(mob/user as mob) if(smashed) - to_chat(user, "The security of the cabinet is compromised.") + to_chat(user, span_warning("The security of the cabinet is compromised.")) return else locked = !locked if(locked) - to_chat(user, "Cabinet locked.") + to_chat(user, span_warning("Cabinet locked.")) else - to_chat(user, "Cabinet unlocked.") + to_chat(user, span_notice("Cabinet unlocked.")) return /obj/structure/fireaxecabinet/update_icon() //Template: fireaxe[has fireaxe][is opened][hits taken][is smashed]. If you want the opening or closing animations, add "opening" or "closing" right after the numbers diff --git a/code/game/objects/structures/fitness.dm b/code/game/objects/structures/fitness.dm index eb2f1e37bc6..096b495bd12 100644 --- a/code/game/objects/structures/fitness.dm +++ b/code/game/objects/structures/fitness.dm @@ -15,7 +15,7 @@ ..() return if(user.nutrition < 20) - to_chat(user, "You need more energy to use the punching bag. Go eat something.") + to_chat(user, span_warning("You need more energy to use the punching bag. Go eat something.")) else if(user.a_intent == I_HURT) user.setClickCooldown(user.get_attack_speed()) @@ -23,7 +23,7 @@ playsound(src, 'sound/effects/woodhit.ogg', 25, 1, -1) user.do_attack_animation(src) user.nutrition = user.nutrition - 5 - to_chat(user, "You [pick(hit_message)] \the [src].") + to_chat(user, span_warning("You [pick(hit_message)] \the [src].")) /obj/structure/fitness/weightlifter name = "weightlifting machine" @@ -33,7 +33,7 @@ var/weight = 1 var/list/qualifiers = list("with ease", "without any trouble", "with great effort") -/obj/structure/fitness/weightlifter/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/structure/fitness/weightlifter/attackby(obj/item/W as obj, mob/user as mob) if(W.has_tool_quality(TOOL_WRENCH)) playsound(src, 'sound/items/Deconstruct.ogg', 75, 1) weight = ((weight) % qualifiers.len) + 1 @@ -43,13 +43,13 @@ if(!istype(user)) return if(user.loc != src.loc) - to_chat(user, "You must be on the weight machine to use it.") + to_chat(user, span_warning("You must be on the weight machine to use it.")) return if(user.nutrition < 50) - to_chat(user, "You need more energy to lift weights. Go eat something.") + to_chat(user, span_warning("You need more energy to lift weights. Go eat something.")) return if(being_used) - to_chat(user, "The weight machine is already in use by somebody else.") + to_chat(user, span_warning("The weight machine is already in use by somebody else.")) return else being_used = 1 @@ -59,8 +59,8 @@ if(do_after(user, 20 + (weight * 10))) playsound(src, 'sound/effects/weightdrop.ogg', 25, 1) user.adjust_nutrition(weight * -10) - to_chat(user, "You lift the weights [qualifiers[weight]].") + to_chat(user, span_notice("You lift the weights [qualifiers[weight]].")) being_used = 0 else - to_chat(user, "Against your previous judgement, perhaps working out is not for you.") + to_chat(user, span_notice("Against your previous judgement, perhaps working out is not for you.")) being_used = 0 diff --git a/code/game/objects/structures/fitness_vr.dm b/code/game/objects/structures/fitness_vr.dm index 38b96ec8e89..f3d6aa082b2 100644 --- a/code/game/objects/structures/fitness_vr.dm +++ b/code/game/objects/structures/fitness_vr.dm @@ -27,7 +27,7 @@ if(!can_climb(user)) return - usr.visible_message("[user] starts climbing onto \the [src]!") + user.visible_message(span_warning("[user] starts climbing onto \the [src]!")) LAZYDISTINCTADD(climbers, user) if(!do_after(user,(issmall(user) ? 20 : 34))) @@ -39,11 +39,11 @@ return if(get_turf(user) == get_turf(src)) - usr.forceMove(get_step(src, src.dir)) + user.forceMove(get_step(src, src.dir)) else - usr.forceMove(get_turf(src)) + user.forceMove(get_turf(src)) - usr.visible_message("[user] climbed over \the [src]!") + user.visible_message(span_warning("[user] climbed over \the [src]!")) LAZYREMOVE(climbers, user) /obj/structure/fitness/boxing_ropes/can_climb(var/mob/living/user, post_climb_check=0) //Sets it to keep people from climbing over into the next turf if it is occupied. @@ -53,7 +53,7 @@ if(get_turf(user) == get_turf(src)) var/obj/occupied = neighbor_turf_impassable() if(occupied) - to_chat(user, "You can't climb there, there's \a [occupied] in the way.") + to_chat(user, span_danger("You can't climb there, there's \a [occupied] in the way.")) return 0 return 1 @@ -71,4 +71,4 @@ /turf/simulated/fitness name = "Mat" icon = 'icons/turf/floors_vr.dmi' - icon_state = "fit_mat" \ No newline at end of file + icon_state = "fit_mat" diff --git a/code/game/objects/structures/flora/flora.dm b/code/game/objects/structures/flora/flora.dm index d665ca5ab80..9b99fe9a458 100644 --- a/code/game/objects/structures/flora/flora.dm +++ b/code/game/objects/structures/flora/flora.dm @@ -13,7 +13,7 @@ var/min_x_scale = 0.9 var/min_y_scale = 0.9 - var/removal_tool = /obj/item/weapon/shovel + var/removal_tool = /obj/item/shovel var/harvest_tool = null // The type of item used to harvest the plant. var/harvest_count = 0 var/destroy_on_harvest = FALSE @@ -43,30 +43,30 @@ . += get_harvestable_desc() if(harvest_tool) var/obj/item/tool = harvest_tool - . += SPAN_NOTICE("\The [src] can be harvested with \a [initial(tool.name)].") + . += span_notice("\The [src] can be harvested with \a [initial(tool.name)].") if(removal_tool) var/obj/item/tool = removal_tool - . += SPAN_NOTICE("\The [src] can be removed with \a [initial(tool.name)].") + . += span_notice("\The [src] can be removed with \a [initial(tool.name)].") /obj/structure/flora/proc/get_harvestable_desc() - return "\The [src] seems to have something hanging from it." + return span_notice("\The [src] seems to have something hanging from it.") -/obj/structure/flora/attackby(var/obj/item/weapon/W, var/mob/living/user) +/obj/structure/flora/attackby(var/obj/item/W, var/mob/living/user) if(can_harvest(W)) var/harvest_spawn = pickweight(harvest_loot) var/atom/movable/AM = spawn_harvest(harvest_spawn, user) if(AM) - to_chat(user, SPAN_NOTICE("You harvest \the [AM] from \the [src].")) + to_chat(user, span_notice("You harvest \the [AM] from \the [src].")) else - to_chat(user, SPAN_NOTICE("You fail to harvest anything from \the [src].")) + to_chat(user, span_notice("You fail to harvest anything from \the [src].")) return if(removal_tool && istype(W, removal_tool)) - to_chat(user, SPAN_WARNING("You start uprooting \the [src]...")) + to_chat(user, span_warning("You start uprooting \the [src]...")) if(do_after(user, 30)) - visible_message(SPAN_NOTICE("\The [user] uproots and discards \the [src]!")) + visible_message(span_notice("\The [user] uproots and discards \the [src]!")) qdel(src) return @@ -98,7 +98,7 @@ icon_state = "snowbush1" destroy_on_harvest = TRUE - harvest_tool = /obj/item/weapon/material/knife + harvest_tool = /obj/item/material/knife randomize_harvest_count = FALSE harvest_loot = list(/obj/item/stack/material/fiber = 1) max_harvests = 1 @@ -123,7 +123,7 @@ icon_state = "firstbush_1" destroy_on_harvest = TRUE - harvest_tool = /obj/item/weapon/material/knife + harvest_tool = /obj/item/material/knife randomize_harvest_count = TRUE harvest_loot = list(/obj/item/stack/material/fiber = 1) min_harvests = 1 @@ -282,18 +282,18 @@ /obj/structure/flora/pottedplant/examine(mob/user) . = ..() if(in_range(user, src) && stored_item) - . += "You can see something in there..." + . += span_filter_notice(span_italics("You can see something in there...")) /obj/structure/flora/pottedplant/attackby(obj/item/I, mob/user) if(issilicon(user)) return // Don't try to put modules in here, you're a borg. TODO: Inventory refactor to not be ass. if(stored_item) - to_chat(user, "[I] won't fit in. There already appears to be something in here...") + to_chat(user, span_notice("[I] won't fit in. There already appears to be something in here...")) return if(I.w_class > ITEMSIZE_TINY) - to_chat(user, "[I] is too big to fit inside [src].") + to_chat(user, span_notice("[I] is too big to fit inside [src].")) return if(do_after(user, 10)) @@ -303,15 +303,15 @@ src.visible_message("[icon2html(src,viewers(src))] [icon2html(I,viewers(src))] [user] places [I] into [src].") return else - to_chat(user, "You refrain from putting things into the plant pot.") + to_chat(user, span_notice("You refrain from putting things into the plant pot.")) return /obj/structure/flora/pottedplant/attack_hand(mob/user) if(!stored_item) - to_chat(user, "You see nothing of interest in [src]...") + to_chat(user, span_filter_notice(span_bold("You see nothing of interest in [src]..."))) else if(do_after(user, 10)) - to_chat(user, "You find [icon2html(stored_item, user.client)] [stored_item] in [src]!") + to_chat(user, span_filter_notice("You find [icon2html(stored_item, user.client)] [stored_item] in [src]!")) stored_item.forceMove(get_turf(src)) stored_item = null ..() @@ -467,8 +467,8 @@ desc = "Hey, this one seems like a fun guy." icon_state = "mush1" icon = 'icons/obj/flora/mushrooms.dmi' - harvest_loot = list(/obj/item/weapon/reagent_containers/food/snacks/mushroomslice = 1) - harvest_tool = /obj/item/weapon/material/knife + harvest_loot = list(/obj/item/reagent_containers/food/snacks/mushroomslice = 1) + harvest_tool = /obj/item/material/knife max_harvests = 2 min_harvests = 0 @@ -540,8 +540,8 @@ light_color = "#FF6633" light_on = TRUE catalogue_data = list(/datum/category_item/catalogue/flora/subterranean_bulbs) - harvest_loot = list(/obj/item/weapon/reagent_containers/food/snacks/grown/sif/cavebulbs = 1) - harvest_tool = /obj/item/weapon/material/knife + harvest_loot = list(/obj/item/reagent_containers/food/snacks/grown/sif/cavebulbs = 1) + harvest_tool = /obj/item/material/knife max_harvests = 2 min_harvests = 0 @@ -561,10 +561,10 @@ desc = "This is a mysterious-looking plant. They kind of look like eyeballs. Creepy." icon_state = "eyeplant" catalogue_data = list(/datum/category_item/catalogue/flora/eyebulbs) - harvest_tool = /obj/item/weapon/material/knife + harvest_tool = /obj/item/material/knife max_harvests = 2 min_harvests = 0 - harvest_loot = list(/obj/item/weapon/reagent_containers/food/snacks/grown/sif/eyebulbs = 1) + harvest_loot = list(/obj/item/reagent_containers/food/snacks/grown/sif/eyebulbs = 1) /obj/structure/flora/sif/eyes/Initialize() icon_state = "[initial(icon_state)][rand(1,3)]" @@ -584,13 +584,13 @@ randomize_size = TRUE catalogue_data = list(/datum/category_item/catalogue/flora/mosstendrils) - harvest_tool = /obj/item/weapon/material/knife + harvest_tool = /obj/item/material/knife max_harvests = 3 min_harvests = 0 harvest_loot = list( - /obj/item/weapon/reagent_containers/food/snacks/grown/sif/wabback = 15, - /obj/item/weapon/reagent_containers/food/snacks/grown/sif/blackwabback = 1, - /obj/item/weapon/reagent_containers/food/snacks/grown/sif/wildwabback = 30 + /obj/item/reagent_containers/food/snacks/grown/sif/wabback = 15, + /obj/item/reagent_containers/food/snacks/grown/sif/blackwabback = 1, + /obj/item/reagent_containers/food/snacks/grown/sif/wildwabback = 30 ) /obj/structure/flora/sif/tendrils/Initialize() @@ -598,7 +598,7 @@ . = ..() /obj/structure/flora/sif/tendrils/get_harvestable_desc() - return "\The [src] seems to be growing over something." + return span_notice("\The [src] seems to be growing over something.") /datum/category_item/catalogue/flora/frostbelle name = "Sivian Flora - Frostbelle" @@ -616,11 +616,11 @@ randomize_size = TRUE catalogue_data = list(/datum/category_item/catalogue/flora/frostbelle) - harvest_tool = /obj/item/weapon/material/knife + harvest_tool = /obj/item/material/knife max_harvests = 2 min_harvests = 0 harvest_loot = list( - /obj/item/weapon/reagent_containers/food/snacks/frostbelle = 1 + /obj/item/reagent_containers/food/snacks/frostbelle = 1 ) var/variantnum = null @@ -639,7 +639,7 @@ icon_state = initial(icon_state) /obj/structure/flora/sif/frostbelle/get_harvestable_desc() - return "\The [src] seems to be budding." + return span_notice("\The [src] seems to be budding.") //Start of underwater plants diff --git a/code/game/objects/structures/flora/trees.dm b/code/game/objects/structures/flora/trees.dm index 568904e2f7c..49d0a558496 100644 --- a/code/game/objects/structures/flora/trees.dm +++ b/code/game/objects/structures/flora/trees.dm @@ -36,7 +36,7 @@ . = TRUE return . -/obj/structure/flora/tree/attackby(var/obj/item/weapon/W, var/mob/living/user) +/obj/structure/flora/tree/attackby(var/obj/item/W, var/mob/living/user) if(can_harvest(W)) ..(W, user) return @@ -45,13 +45,13 @@ return ..() if(is_stump) - if(istype(W,/obj/item/weapon/shovel)) + if(istype(W,/obj/item/shovel)) if(do_after(user, 5 SECONDS)) - visible_message("\The [user] digs up \the [src] stump with \the [W].") + visible_message(span_infoplain(span_bold("\The [user]") + " digs up \the [src] stump with \the [W].")) qdel(src) return - visible_message("\The [user] hits \the [src] with \the [W]!") + visible_message(span_danger("\The [user] hits \the [src] with \the [W]!")) var/damage_to_do = W.force if(!W.sharp && !W.edge) @@ -64,7 +64,7 @@ if(damage_to_do > 5 && !indestructable) adjust_health(-damage_to_do) else - to_chat(user, "\The [W] is ineffective at harming \the [src].") + to_chat(user, span_warning("\The [W] is ineffective at harming \the [src].")) hit_animation() user.setClickCooldown(user.get_attack_speed(W)) @@ -103,7 +103,7 @@ if(product && product_amount) // Make wooden logs. var/obj/item/stack/material/M = new product(get_turf(src), product_amount) M.update_icon() - visible_message("\The [src] is felled!") + visible_message(span_danger("\The [src] is felled!")) stump() // Makes the tree into a mostly non-interactive stump. @@ -163,7 +163,7 @@ icon_state = "pinepresents" desc = "A wondrous decorated Christmas tree. It has presents!" indestructable = TRUE - var/gift_type = /obj/item/weapon/a_gift + var/gift_type = /obj/item/a_gift var/list/ckeys_that_took = list() /obj/structure/flora/tree/pine/xmas/presents/choose_icon_state() @@ -177,9 +177,9 @@ return if(ckeys_that_took[user.ckey]) - to_chat(user, span("warning", "There are no presents with your name on.")) + to_chat(user, span_warning("There are no presents with your name on.")) return - to_chat(user, span("notice", "After a bit of rummaging, you locate a gift with your name on it!")) + to_chat(user, span_notice("After a bit of rummaging, you locate a gift with your name on it!")) ckeys_that_took[user.ckey] = TRUE var/obj/item/G = new gift_type(src) user.put_in_hands(G) @@ -304,12 +304,12 @@ catalogue_data = list(/datum/category_item/catalogue/flora/sif_tree) randomize_size = TRUE - harvest_tool = /obj/item/weapon/material/knife + harvest_tool = /obj/item/material/knife max_harvests = 2 min_harvests = 0 harvest_loot = list( - /obj/item/weapon/reagent_containers/food/snacks/siffruit = 20, - /obj/item/weapon/reagent_containers/food/snacks/grown/sif/sifpod = 5, + /obj/item/reagent_containers/food/snacks/siffruit = 20, + /obj/item/reagent_containers/food/snacks/grown/sif/sifpod = 5, /obj/item/seeds/sifbulb = 1 ) @@ -330,4 +330,3 @@ set_light(bulbs, 1, "#33ccff") // 5 variants, missing bulbs. 5th has no bulbs, so no glow. add_overlay(mutable_appearance(icon, "[base_state][bulbs]_glow")) add_overlay(emissive_appearance(icon, "[base_state][bulbs]_glow")) - \ No newline at end of file diff --git a/code/game/objects/structures/gargoyle.dm b/code/game/objects/structures/gargoyle.dm new file mode 100644 index 00000000000..04ef9cd1277 --- /dev/null +++ b/code/game/objects/structures/gargoyle.dm @@ -0,0 +1,293 @@ +/obj/structure/gargoyle + name = "statue" + desc = "A very lifelike carving." + density = TRUE + anchored = TRUE + var/mob/living/carbon/human/gargoyle + var/initial_sleep + var/initial_blind + var/initial_is_shifted + var/initial_lying + var/initial_lying_prev + var/wagging + var/flapping + var/obj_integrity = 100 + var/original_int = 100 + var/max_integrity = 100 + var/stored_examine + var/identifier = "statue" + var/material = "stone" + var/adjective = "hardens" + var/list/tail_lower_dirs = list(SOUTH, EAST, WEST) + var/image/tail_image + var/tail_alt = TAIL_UPPER_LAYER + + var/can_revert = TRUE + var/was_rayed = FALSE + +/obj/structure/gargoyle/Initialize(mapload, var/mob/living/carbon/human/H, var/ident_ovr, var/mat_ovr, var/adj_ovr, var/tint_ovr, var/revert = TRUE, var/discard_clothes) + . = ..() + if (isspace(loc) || isopenspace(loc)) + anchored = FALSE + if (!istype(H) || !isturf(H.loc)) + return + var/datum/component/gargoyle/comp = H.GetComponent(/datum/component/gargoyle) + var/tint = "#FFFFFF" + if (comp) + comp.cooldown = world.time + (15 SECONDS) + comp.statue = src + comp.transformed = TRUE + comp.paused = FALSE + identifier = length(comp.identifier) > 0 ? comp.identifier : initial(identifier) + material = length(comp.material) > 0 ? comp.material : initial(material) + tint = length(comp.tint) > 0 ? comp.tint : initial(tint) + adjective = length(comp.adjective) > 0 ? comp.adjective : initial(adjective) + if (copytext_char(adjective, -1) != "s") + adjective += "s" + gargoyle = H + + if (H.get_effective_size(TRUE) < 0.5) // "So small! I can step over it!" + density = FALSE + + if (ident_ovr) + identifier = ident_ovr + if (mat_ovr) + material = mat_ovr + if (adj_ovr) + adjective = adj_ovr + if (tint_ovr) + tint = tint_ovr + + if (H.tail_style?.clip_mask_state) + tail_lower_dirs.Cut() + else if (H.tail_style) + tail_lower_dirs = H.tail_style.lower_layer_dirs.Copy() + tail_alt = H.tail_alt ? TAIL_UPPER_LAYER_ALT : TAIL_UPPER_LAYER + + max_integrity = H.getMaxHealth() + 100 + obj_integrity = H.health + 100 + original_int = obj_integrity + name = "[identifier] of [H.name]" + desc = "A very lifelike [identifier] made of [material]." + stored_examine = H.examine(H) + description_fluff = H.get_description_fluff() + + if (H.buckled) + H.buckled.unbuckle_mob(H, TRUE) + //icon = H.icon + //copy_overlays(H) + + //calculate our tints + var/list/RGB = rgb2num(tint) + + var/colorr = rgb(RGB[1]*0.299, RGB[2]*0.299, RGB[3]*0.299) + var/colorg = rgb(RGB[1]*0.587, RGB[2]*0.587, RGB[3]*0.587) + var/colorb = rgb(RGB[1]*0.114, RGB[2]*0.114, RGB[3]*0.114) + + var/tint_color = list(colorr, colorg, colorb, "#000000") + + var/list/body_layers = HUMAN_BODY_LAYERS + var/list/other_layers = HUMAN_OTHER_LAYERS + for (var/i = 1; i <= length(H.overlays_standing); i++) + if (i in other_layers) + continue + if (discard_clothes && !(i in body_layers)) + continue + if (istype(H.overlays_standing[i], /image) && (i in body_layers)) + var/image/old_image = H.overlays_standing[i] + var/image/new_image = image(old_image) + if (i == TAIL_LOWER_LAYER || i == TAIL_UPPER_LAYER || i == TAIL_UPPER_LAYER_ALT) + tail_image = new_image + new_image.color = tint_color + new_image.layer = old_image.layer + add_overlay(new_image) + else + if (!isnull(H.overlays_standing[i])) + add_overlay(H.overlays_standing[i]) + + initial_sleep = H.sleeping + initial_blind = H.eye_blind + initial_is_shifted = H.is_shifted + transform = H.transform + layer = H.layer + pixel_x = H.pixel_x + pixel_y = H.pixel_y + dir = H.dir + initial_lying = H.lying + initial_lying_prev = H.lying_prev + H.sdisabilities |= MUTE + if (H.appearance_flags & PIXEL_SCALE) + appearance_flags |= PIXEL_SCALE + wagging = H.wagging + H.transforming = TRUE + flapping = H.flapping + H.toggle_tail(FALSE, FALSE) + H.toggle_wing(FALSE, FALSE) + H.visible_message(span_warning("[H]'s skin rapidly [adjective] as they turn to [material]!"), span_warning("Your skin abruptly [adjective] as you turn to [material]!")) + H.forceMove(src) + H.SetBlinded(0) + H.SetSleeping(0) + H.status_flags |= GODMODE + H.updatehealth() + H.canmove = 0 + + can_revert = revert + + START_PROCESSING(SSprocessing, src) + +/obj/structure/gargoyle/Destroy() + STOP_PROCESSING(SSprocessing, src) + if (!gargoyle) + return ..() + if (can_revert) + unpetrify(deleting = FALSE) //don't delete if we're already deleting! + else + visible_message(span_warning("The [identifier] loses shape and crumbles into a pile of [material]!")) + . = ..() + +/obj/structure/gargoyle/process() + if (!gargoyle) + qdel(src) + if (gargoyle.loc != src) + can_revert = TRUE //something's gone wrong, they escaped, lets not qdel them + unpetrify(deal_damage = FALSE, deleting = TRUE) + +/obj/structure/gargoyle/examine_icon() + var/icon/examine_icon = icon(icon=src.icon, icon_state=src.icon_state, dir=SOUTH, frame=1, moving=0) + examine_icon.MapColors(rgb(77,77,77), rgb(150,150,150), rgb(28,28,28), rgb(0,0,0)) + return examine_icon + +/obj/structure/gargoyle/get_description_info() + if (gargoyle) + if (isspace(loc) || isopenspace(loc)) + return + return "It can be [anchored ? "un" : ""]anchored with a wrench." + +/obj/structure/gargoyle/examine(mob/user) + . = ..() + if (gargoyle && stored_examine) + . += "The [identifier] seems to have a bit more to them..." + . += stored_examine + return + +/obj/structure/gargoyle/proc/unpetrify(var/deal_damage = TRUE, var/deleting = FALSE) + if (!gargoyle) + return + var/datum/component/gargoyle/comp = gargoyle.GetComponent(/datum/component/gargoyle) + if (comp) + comp.cooldown = world.time + (15 SECONDS) + comp.statue = null + comp.transformed = FALSE + else + if (was_rayed) + remove_verb(gargoyle,/mob/living/carbon/human/proc/gargoyle_transformation) + if (gargoyle.loc == src) + gargoyle.forceMove(loc) + gargoyle.transform = transform + gargoyle.pixel_x = pixel_x + gargoyle.pixel_y = pixel_y + gargoyle.is_shifted = initial_is_shifted + gargoyle.dir = dir + gargoyle.lying = initial_lying + gargoyle.lying_prev = initial_lying_prev + gargoyle.toggle_tail(wagging, FALSE) + gargoyle.toggle_wing(flapping, FALSE) + gargoyle.sdisabilities &= ~MUTE //why is there no ADD_TRAIT etc here that's actually ussssed + gargoyle.status_flags &= ~GODMODE + gargoyle.SetBlinded(initial_blind) + gargoyle.SetSleeping(initial_sleep) + gargoyle.transforming = FALSE + gargoyle.canmove = 1 + gargoyle.update_canmove() + var/hurtmessage = "" + if (deal_damage) + if (obj_integrity < original_int) + var/f = (original_int - obj_integrity) / 10 + for (var/x in 1 to 10) + gargoyle.adjustBruteLoss(f) + hurtmessage = " " + span_bold("You feel your body take the damage that was dealt while being [material]!") + gargoyle.updatehealth() + alpha = 0 + gargoyle.visible_message(span_warning("[gargoyle]'s skin rapidly reverts, returning them to normal!"), span_warning("Your skin reverts, freeing your movement once more![hurtmessage]")) + gargoyle = null + if (deleting) + qdel(src) + +/obj/structure/gargoyle/return_air() + return return_air_for_internal_lifeform() + +/obj/structure/gargoyle/return_air_for_internal_lifeform(var/mob/living/lifeform) + var/air_type = /datum/gas_mixture/belly_air + if(istype(lifeform)) + air_type = lifeform.get_perfect_belly_air_type() + var/air = new air_type(1000) + return air + +/obj/structure/gargoyle/proc/damage(var/damage) + if (was_rayed) + return //gargoyle quick regenerates, the others don't, so let's not have them getting too damaged + obj_integrity = min(obj_integrity-damage, max_integrity) + if(obj_integrity <= 0) + qdel(src) + +/obj/structure/gargoyle/take_damage(var/damage) + damage(damage) + +/obj/structure/gargoyle/attack_generic(var/mob/user, var/damage, var/attack_message = "hits") + user.do_attack_animation(src) + visible_message(span_danger("[user] [attack_message] the [src]!")) + damage(damage) + +/obj/structure/gargoyle/attackby(var/obj/item/W as obj, var/mob/living/user as mob) + if(W.is_wrench()) + if (isspace(loc) || isopenspace(loc)) + to_chat(user, span_warning("You can't anchor that here!")) + anchored = FALSE + return ..() + playsound(src, W.usesound, 50, 1) + if (do_after(user, (2 SECONDS) * W.toolspeed, target = src)) + to_chat(user, span_notice("You [anchored ? "un" : ""]anchor the [src].")) + anchored = !anchored + else if(!isrobot(user) && gargoyle && gargoyle.vore_selected && gargoyle.trash_catching) + if(istype(W,/obj/item/grab || /obj/item/holder)) + gargoyle.vore_attackby(W, user) + return + if(gargoyle.adminbus_trash || is_type_in_list(W,edible_trash) && W.trash_eatable && !is_type_in_list(W,item_vore_blacklist)) + to_chat(user, span_warning("You slip [W] into [gargoyle]'s [lowertext(gargoyle.vore_selected.name)] .")) + user.drop_item() + W.forceMove(gargoyle.vore_selected) + return + else if (!(W.flags & NOBLUDGEON)) + user.setClickCooldown(user.get_attack_speed(W)) + if(W.damtype == BRUTE || W.damtype == BURN) + user.do_attack_animation(src) + playsound(src, W.hitsound, 50, 1) + damage(W.force) + else + return ..() + +/obj/structure/gargoyle/set_dir(var/new_dir) + . = ..() + if(. && tail_image) + cut_overlay(tail_image) + tail_image.layer = BODY_LAYER + ((dir in tail_lower_dirs) ? TAIL_LOWER_LAYER : tail_alt) + add_overlay(tail_image) + +/obj/structure/gargoyle/hitby(atom/movable/AM as mob|obj,var/speed = THROWFORCE_SPEED_DIVISOR) + if(istype(AM,/obj/item) && gargoyle && gargoyle.vore_selected && gargoyle.trash_catching) + var/obj/item/I = AM + if(gargoyle.adminbus_trash || is_type_in_list(I,edible_trash) && I.trash_eatable && !is_type_in_list(I,item_vore_blacklist)) + gargoyle.hitby(AM, speed) + return + else if(istype(AM,/mob/living) && gargoyle) + var/mob/living/L = AM + if(gargoyle.throw_vore && L.throw_vore && gargoyle.can_be_drop_pred && L.can_be_drop_prey) + var/drop_prey_temp = FALSE + if(gargoyle.can_be_drop_prey) + drop_prey_temp = TRUE + gargoyle.can_be_drop_prey = FALSE //Making sure the original gargoyle body is not the one getting throwvored instead. + gargoyle.hitby(L, speed) + if(drop_prey_temp) + gargoyle.can_be_drop_prey = TRUE + return + return ..() diff --git a/code/game/objects/structures/ghost_pods/antagonist.dm b/code/game/objects/structures/ghost_pods/antagonist.dm index e0504537dbf..226826c6598 100644 --- a/code/game/objects/structures/ghost_pods/antagonist.dm +++ b/code/game/objects/structures/ghost_pods/antagonist.dm @@ -18,17 +18,17 @@ if(M.mind) M.mind.transfer_to(R) // Description for new larva, so they understand what to expect. - to_chat(M, "You are a Xenomorph Larva, freshly slithered out of their egg to serve the hive.") - to_chat(M, "Be sure to carefully listen to your queen, as xenomorph egg spawns may act different to loner xenomorph spawns.") - to_chat(M, "Remember, you are technically a antagonist. Be sure to learn the context of your existence via IC or ahelp to prevent headaches, and follow the orders of your queen to the letter.") - to_chat(M, " Your life for the hive!") + to_chat(M, span_notice("You are a Xenomorph Larva, freshly slithered out of their egg to serve the hive.")) + to_chat(M, span_boldnotice("Be sure to carefully listen to your queen, as xenomorph egg spawns may act different to loner xenomorph spawns.")) + to_chat(M, span_boldwarning("Remember, you are technically a antagonist. Be sure to learn the context of your existence via IC or ahelp to prevent headaches, and follow the orders of your queen to the letter.")) + to_chat(M, span_notice(" Your life for the hive!")) R.ckey = M.ckey - visible_message("\the [src] peels open, and a fresh larva slithers out!") + visible_message(span_warning("\the [src] peels open, and a fresh larva slithers out!")) ..() /obj/structure/ghost_pod/automatic/xenomorph_egg/proc/healthcheck() if(health <=0) - visible_message("\the [src] splatters everywhere as it cracks open!") + visible_message(span_warning("\the [src] splatters everywhere as it cracks open!")) playsound(src, 'sound/effects/slime_squish.ogg', 50, 1) qdel(src) return diff --git a/code/game/objects/structures/ghost_pods/event_vr.dm b/code/game/objects/structures/ghost_pods/event_vr.dm index 6f378d92a07..fb46fe77b1c 100644 --- a/code/game/objects/structures/ghost_pods/event_vr.dm +++ b/code/game/objects/structures/ghost_pods/event_vr.dm @@ -78,8 +78,8 @@ var/choice var/finalized = "No" - if(jobban_isbanned(M, "GhostRoles")) - to_chat(M, "You cannot inhabit this creature because you are banned from playing ghost roles.") + if(jobban_isbanned(M, JOB_GHOSTROLES)) + to_chat(M, span_warning("You cannot inhabit this creature because you are banned from playing ghost roles.")) reset_ghostpod() return @@ -87,10 +87,10 @@ if (not_has_ooc_text(M)) return - while(finalized == "No" && M.client) + while(finalized != "Yes" && M.client) choice = tgui_input_list(M, "What type of predator do you want to play as?", "Maintpred Choice", possible_mobs) if(!choice) //We probably pushed the cancel button on the mob selection. Let's just put the ghost pod back in the list. - to_chat(M, "No mob selected, cancelling.") + to_chat(M, span_notice("No mob selected, cancelling.")) reset_ghostpod() return @@ -108,13 +108,13 @@ //newPred.movement_cooldown = 0 // The "needless artificial speed cap" exists for a reason if(M.mind) M.mind.transfer_to(newPred) - to_chat(M, "You are [newPred], somehow having gotten aboard the station in search of food. \ + to_chat(M, span_notice("You are " + span_bold(newPred) + ", somehow having gotten aboard the station in search of food. \ You are wary of environment around you, but you do feel rather peckish. Stick around dark, secluded places to avoid danger or, \ - if you are cute enough, try to make friends with this place's inhabitants.") - to_chat(M, "Please be advised, this role is NOT AN ANTAGONIST.") - to_chat(M, "You may be a spooky space monster, but your role is to facilitate spooky space monster roleplay, not to fight the station and kill people. You can of course eat and/or digest people as you like if OOC prefs align, but this should be done as part of roleplay. If you intend to fight the station and kill people and such, you need permission from the staff team. GENERALLY, this role should avoid well populated areas. You’re a weird spooky space monster, so the bar is probably not where you’d want to go if you intend to survive. Of course, you’re welcome to try to make friends and roleplay how you will in this regard, but something to keep in mind.") + if you are cute enough, try to make friends with this place's inhabitants.")) + to_chat(M, span_critical("Please be advised, this role is NOT AN ANTAGONIST.")) + to_chat(M, span_warning("You may be a spooky space monster, but your role is to facilitate spooky space monster roleplay, not to fight the station and kill people. You can of course eat and/or digest people as you like if OOC prefs align, but this should be done as part of roleplay. If you intend to fight the station and kill people and such, you need permission from the staff team. GENERALLY, this role should avoid well populated areas. You’re a weird spooky space monster, so the bar is probably not where you’d want to go if you intend to survive. Of course, you’re welcome to try to make friends and roleplay how you will in this regard, but something to keep in mind.")) newPred.ckey = M.ckey - newPred.visible_message("[newPred] emerges from somewhere!") + newPred.visible_message(span_warning("[newPred] emerges from somewhere!")) log_and_message_admins("successfully entered \a [src] and became a [newPred].") qdel(src) @@ -144,17 +144,17 @@ var/mob/living/simple_mob/vore/morph/newMorph = new /mob/living/simple_mob/vore/morph(get_turf(src)) if(M.mind) M.mind.transfer_to(newMorph) - to_chat(M, "You are a Morph, somehow having gotten aboard the station in your wandering. \ + to_chat(M, span_notice("You are a " + span_bold("Morph") + ", somehow having gotten aboard the station in your wandering. \ You are wary of environment around you, but your primal hunger still calls for you to find prey. Seek a convincing disguise, \ - using your amorphous form to traverse vents to find and consume weak prey.") - to_chat(M, "You can use shift + click on objects to disguise yourself as them, but your strikes are nearly useless when you are disguised. \ + using your amorphous form to traverse vents to find and consume weak prey.")) + to_chat(M, span_notice("You can use shift + click on objects to disguise yourself as them, but your strikes are nearly useless when you are disguised. \ You can undisguise yourself by shift + clicking yourself, but disguise being switched, or turned on and off has a short cooldown. You can also ventcrawl, \ - by using alt + click on the vent or scrubber.") - to_chat(M, "Please be advised, this role is NOT AN ANTAGONIST.") - to_chat(M, "You may be a spooky space monster, but your role is to facilitate spooky space monster roleplay, not to fight the station and kill people. You can of course eat and/or digest people as you like if OOC prefs align, but this should be done as part of roleplay. If you intend to fight the station and kill people and such, you need permission from the staff team. GENERALLY, this role should avoid well populated areas. You’re a weird spooky space monster, so the bar is probably not where you’d want to go if you intend to survive. Of course, you’re welcome to try to make friends and roleplay how you will in this regard, but something to keep in mind.") + by using alt + click on the vent or scrubber.")) + to_chat(M, span_critical("Please be advised, this role is NOT AN ANTAGONIST.")) + to_chat(M, span_warning("You may be a spooky space monster, but your role is to facilitate spooky space monster roleplay, not to fight the station and kill people. You can of course eat and/or digest people as you like if OOC prefs align, but this should be done as part of roleplay. If you intend to fight the station and kill people and such, you need permission from the staff team. GENERALLY, this role should avoid well populated areas. You’re a weird spooky space monster, so the bar is probably not where you’d want to go if you intend to survive. Of course, you’re welcome to try to make friends and roleplay how you will in this regard, but something to keep in mind.")) newMorph.ckey = M.ckey - newMorph.visible_message("A morph appears to crawl out of somewhere.") + newMorph.visible_message(span_warning("A morph appears to crawl out of somewhere.")) log_and_message_admins("successfully entered \a [src] and became a Morph.") qdel(src) @@ -172,3 +172,82 @@ ..() if(!(src in active_ghost_pods)) active_ghost_pods += src + +/obj/structure/ghost_pod/ghost_activated/maint_lurker + name = "strange maintenance hole" + desc = "This is my hole! It was made for me!" + icon = 'icons/effects/effects.dmi' + icon_state = "tunnel_hole" + icon_state_opened = "tunnel_hole" + density = FALSE + ghost_query_type = /datum/ghost_query/maints_lurker + anchored = TRUE + invisibility = INVISIBILITY_OBSERVER + spawn_active = TRUE + +//override the standard attack_ghost proc for custom messages +/obj/structure/ghost_pod/ghost_activated/maint_lurker/attack_ghost(var/mob/observer/dead/user) + if(jobban_isbanned(user, JOB_GHOSTROLES)) + to_chat(user, span_warning("You cannot use this spawnpoint because you are banned from playing ghost roles.")) + return + + //No whitelist + if(!is_alien_whitelisted(user, GLOB.all_species[user.client.prefs.species])) + to_chat(user, span_warning("You cannot use this spawnpoint to spawn as a species you are not whitelisted for!")) + return + + //No OOC notes/FT + if(not_has_ooc_text(user)) + //to_chat(user, span_warning("You must have proper out-of-character notes and flavor text configured for your current character slot to use this spawnpoint.")) + return + + var/choice = tgui_alert(user, "Using this spawner will spawn you as your currently loaded character slot in a special role. It should not be used with characters you regularly play on station. Are you absolutely sure you wish to continue?", "Maint Lurker Spawner", list("Yes", "No")) + + if(!choice || choice == "No") + return + + create_occupant(user) + +/obj/structure/ghost_pod/ghost_activated/maint_lurker/create_occupant(var/mob/M) + ..() + + var/picked_ckey = M.ckey + var/picked_slot = M.client.prefs.default_slot + + var/mob/living/carbon/human/new_character = new(src.loc) + if(!new_character) + to_chat(M, span_warning("Something went wrong and spawning failed. Please check your character slot doesn't have any obvious errors, then either try again or send an adminhelp!")) + reset_ghostpod() + return + log_and_message_admins("successfully used a Maintenance Lurker spawnpoint and became their loaded character.") + + M.client.prefs.copy_to(new_character) + new_character.dna.ResetUIFrom(new_character) + new_character.sync_organ_dna() + new_character.key = M.key + new_character.mind.loaded_from_ckey = picked_ckey + new_character.mind.loaded_from_slot = picked_slot + + job_master.EquipRank(new_character, JOB_MAINT_LURKER, 1) + + for(var/lang in new_character.client.prefs.alternate_languages) + var/datum/language/chosen_language = GLOB.all_languages[lang] + if(chosen_language) + if(is_lang_whitelisted(src,chosen_language) || (new_character.species && (chosen_language.name in new_character.species.secondary_langs))) + new_character.add_language(lang) + + new_character.regenerate_icons() + + new_character.update_transform() + + to_chat(new_character, span_notice("You are a " + span_bold(JOB_MAINT_LURKER) + ", a loose end... you have no special advantages compared to the rest of the crew, so be cautious! You have spawned with an ID that will allow you free access to maintenance areas along with any of your chosen loadout items that are not role restricted, and can make use of anything you can find in maintenance.")) + to_chat(new_character, span_critical("Please be advised, this role is " + span_bold("NOT AN ANTAGONIST."))) + to_chat(new_character, span_notice("Whoever or whatever your chosen character slot is, your role is to facilitate roleplay focused around that character; this role is not free license to attack and murder people without provocation or explicit out-of-character consent. You should probably be cautious around high-traffic and highly sensitive areas (e.g. Telecomms) as Security personnel would be well within their rights to treat you as a trespasser. That said, good luck!")) + + new_character.visible_message(span_warning("[new_character] appears to crawl out of somewhere.")) + qdel(src) + +/obj/structure/ghost_pod/ghost_activated/maint_lurker/Initialize() + ..() + if(!(src in active_ghost_pods)) + active_ghost_pods += src diff --git a/code/game/objects/structures/ghost_pods/ghost_pods.dm b/code/game/objects/structures/ghost_pods/ghost_pods.dm index 82845de15f0..6c10f000d3c 100644 --- a/code/game/objects/structures/ghost_pods/ghost_pods.dm +++ b/code/game/objects/structures/ghost_pods/ghost_pods.dm @@ -53,7 +53,7 @@ /obj/structure/ghost_pod/manual/attack_hand(var/mob/living/user) if(!used) if(confirm_before_open) - if(tgui_alert(user, "Are you sure you want to touch \the [src]?", "Confirm", list("No", "Yes")) == "No") + if(tgui_alert(user, "Are you sure you want to touch \the [src]?", "Confirm", list("No", "Yes")) != "Yes") return trigger() // VOREStation Addition Start @@ -87,8 +87,8 @@ /obj/structure/ghost_pod/ghost_activated/attack_ghost(var/mob/observer/dead/user) //VOREStation Add Start - if(jobban_isbanned(user, "GhostRoles")) - to_chat(user, "You cannot inhabit this creature because you are banned from playing ghost roles.") + if(jobban_isbanned(user, JOB_GHOSTROLES)) + to_chat(user, span_warning("You cannot inhabit this creature because you are banned from playing ghost roles.")) return //No OOC notes @@ -97,7 +97,7 @@ //VOREStation Add End if(used) - to_chat(user, "Another spirit appears to have gotten to \the [src] before you. Sorry.") + to_chat(user, span_warning("Another spirit appears to have gotten to \the [src] before you. Sorry.")) return var/choice = tgui_alert(user, "Are you certain you wish to activate this pod?", "Control Pod", list("Yes", "No")) @@ -106,7 +106,7 @@ return else if(used) - to_chat(user, "Another spirit appears to have gotten to \the [src] before you. Sorry.") + to_chat(user, span_warning("Another spirit appears to have gotten to \the [src] before you. Sorry.")) return create_occupant(user) diff --git a/code/game/objects/structures/ghost_pods/ghost_pods_vr.dm b/code/game/objects/structures/ghost_pods/ghost_pods_vr.dm index 2ae1a6f496d..2a97db74738 100644 --- a/code/game/objects/structures/ghost_pods/ghost_pods_vr.dm +++ b/code/game/objects/structures/ghost_pods/ghost_pods_vr.dm @@ -11,8 +11,8 @@ var/activated = FALSE /obj/structure/ghost_pod/manual/attack_ghost(var/mob/observer/dead/user) - if(jobban_isbanned(user, "GhostRoles")) - to_chat(user, "You cannot inhabit this creature because you are banned from playing ghost roles.") + if(jobban_isbanned(user, JOB_GHOSTROLES)) + to_chat(user, span_warning("You cannot inhabit this creature because you are banned from playing ghost roles.")) return //No OOC notes @@ -23,11 +23,11 @@ return if(!activated) - to_chat(user, "\The [src] has not yet been activated. Sorry.") + to_chat(user, span_warning("\The [src] has not yet been activated. Sorry.")) return if(used) - to_chat(user, "Another spirit appears to have gotten to \the [src] before you. Sorry.") + to_chat(user, span_warning("Another spirit appears to have gotten to \the [src] before you. Sorry.")) return busy = TRUE @@ -38,7 +38,7 @@ return else if(used) - to_chat(user, "Another spirit appears to have gotten to \the [src] before you. Sorry.") + to_chat(user, span_warning("Another spirit appears to have gotten to \the [src] before you. Sorry.")) busy = FALSE return diff --git a/code/game/objects/structures/ghost_pods/human.dm b/code/game/objects/structures/ghost_pods/human.dm index 13ae71ef92c..8a429a77fe2 100644 --- a/code/game/objects/structures/ghost_pods/human.dm +++ b/code/game/objects/structures/ghost_pods/human.dm @@ -35,7 +35,7 @@ clothing_possibilities |= subtypesof(/obj/item/clothing/under/color) clothing_possibilities |= subtypesof(/obj/item/clothing/head/soft) clothing_possibilities |= /obj/item/clothing/shoes/black - clothing_possibilities |= /obj/item/device/radio/headset + clothing_possibilities |= /obj/item/radio/headset /obj/structure/ghost_pod/ghost_activated/human/create_occupant(var/mob/M) ..() @@ -45,11 +45,11 @@ H.adjustCloneLoss(rand(1,5)) if(M.mind) M.mind.transfer_to(H) - to_chat(M, "You are a [occupant_type]!") + to_chat(M, span_notice("You are a [occupant_type]!")) if(make_antag) - to_chat(M, "Your intent may not be completely beneficial.") + to_chat(M, span_warning("Your intent may not be completely beneficial.")) H.ckey = M.ckey - visible_message("As \the [src] opens, the pipes on \the [src] surge, before it grows dark.") + visible_message(span_warning("As \the [src] opens, the pipes on \the [src] surge, before it grows dark.")) log_and_message_admins("successfully opened \a [src] and became a [occupant_type].") var/list/uniform_options @@ -71,7 +71,7 @@ if(!head_options) head_options = list() head_options |= path - if(ispath(path, /obj/item/device/radio/headset)) + if(ispath(path, /obj/item/radio/headset)) if(!headset_options) headset_options = list() headset_options |= path @@ -97,7 +97,7 @@ H.equip_to_appropriate_slot(C) if(spawn_with_emag) - var/obj/item/weapon/card/emag/E = new(H) + var/obj/item/card/emag/E = new(H) E.name = "broken card" E.description_antag = "This is a 'disguised' emag, to make your escape from wherever you happen to be trapped." H.equip_to_appropriate_slot(E) @@ -124,7 +124,7 @@ if(allow_appearance_change) H.change_appearance(APPEARANCE_ALL, H, check_species_whitelist = 1) -// visible_message("\The [src] [pick("gurgles", "seizes", "clangs")] before releasing \the [H]!") +// visible_message(span_alien("\The [src] [pick("gurgles", "seizes", "clangs")] before releasing \the [H]!")) qdel(src) @@ -163,7 +163,7 @@ clothing_possibilities |= subtypesof(/obj/item/clothing/under/utility) clothing_possibilities |= subtypesof(/obj/item/clothing/head/beret) clothing_possibilities |= /obj/item/clothing/shoes/black - clothing_possibilities |= /obj/item/device/radio/headset + clothing_possibilities |= /obj/item/radio/headset /obj/structure/ghost_pod/manual/human/create_occupant(var/mob/M) ..() @@ -173,11 +173,11 @@ H.adjustCloneLoss(rand(1,5)) if(M.mind) M.mind.transfer_to(H) - to_chat(M, "You are a [occupant_type]!") + to_chat(M, span_notice("You are a [occupant_type]!")) if(make_antag) - to_chat(M, "Your intent may not be completely beneficial.") + to_chat(M, span_warning("Your intent may not be completely beneficial.")) H.ckey = M.ckey - visible_message("As \the [src] opens, the pipes on \the [src] surge, before it grows dark.") + visible_message(span_warning("As \the [src] opens, the pipes on \the [src] surge, before it grows dark.")) log_and_message_admins("successfully opened \a [src] and got a [occupant_type].") var/list/uniform_options @@ -199,7 +199,7 @@ if(!head_options) head_options = list() head_options |= path - if(ispath(path, /obj/item/device/radio/headset)) + if(ispath(path, /obj/item/radio/headset)) if(!headset_options) headset_options = list() headset_options |= path @@ -246,4 +246,4 @@ if(allow_appearance_change) H.change_appearance(APPEARANCE_ALL, H, check_species_whitelist = 1) - visible_message("\The [src] [pick("gurgles", "seizes", "clangs")] before releasing \the [H]!") + visible_message(span_alien("\The [src] [pick("gurgles", "seizes", "clangs")] before releasing \the [H]!")) diff --git a/code/game/objects/structures/ghost_pods/mysterious.dm b/code/game/objects/structures/ghost_pods/mysterious.dm index cd34d91e6fa..d25d2a752ce 100644 --- a/code/game/objects/structures/ghost_pods/mysterious.dm +++ b/code/game/objects/structures/ghost_pods/mysterious.dm @@ -10,7 +10,7 @@ confirm_before_open = TRUE /obj/structure/ghost_pod/manual/corgi/trigger() - ..("\The [usr] places their hand on the rune!", "is attempting to summon a corgi.") + ..(span_warning("\The [usr] places their hand on the rune!"), "is attempting to summon a corgi.") /obj/structure/ghost_pod/manual/corgi/create_occupant(var/mob/M) lightning_strike(get_turf(src), cosmetic = TRUE) @@ -18,9 +18,9 @@ var/mob/living/simple_mob/animal/passive/dog/corgi/R = new(get_turf(src)) if(M.mind) M.mind.transfer_to(R) - to_chat(M, "You are a Corgi! Woof!") + to_chat(M, span_notice("You are a Corgi! Woof!")) R.ckey = M.ckey - visible_message("With a bright flash of light, \the [src] disappears, and in its place stands a small corgi.") + visible_message(span_warning("With a bright flash of light, \the [src] disappears, and in its place stands a small corgi.")) log_and_message_admins("successfully touched \a [src] and summoned a corgi.") ..() @@ -35,16 +35,16 @@ confirm_before_open = TRUE /obj/structure/ghost_pod/manual/cursedblade/trigger() - ..("\The [usr] attempts to pull out the sword!", "is activating a cursed blade.") + ..(span_warning("\The [usr] attempts to pull out the sword!"), "is activating a cursed blade.") /obj/structure/ghost_pod/manual/cursedblade/create_occupant(var/mob/M) density = FALSE - var/obj/item/weapon/melee/cursedblade/R = new(get_turf(src)) - to_chat(M, "You are a Cursed Sword, discovered by a hapless explorer. \ + var/obj/item/melee/cursedblade/R = new(get_turf(src)) + to_chat(M, span_notice("You are a " + span_bold("Cursed Sword") + ", discovered by a hapless explorer. \ You were once an explorer yourself, when one day you discovered a strange sword made from a red crystal. As soon as you touched it,\ your body was reduced to ashes and your soul was cursed to remain trapped in the blade forever. \ - Now it is up to you to decide whether you want to be a faithful companion, or a bitter prisoner of the blade.") + Now it is up to you to decide whether you want to be a faithful companion, or a bitter prisoner of the blade.")) R.ghost_inhabit(M) - visible_message("The blade shines brightly for a brief moment as [usr] pulls it out of the stone!") + visible_message(span_warning("The blade shines brightly for a brief moment as [usr] pulls it out of the stone!")) log_and_message_admins("successfully acquired a cursed sword.") ..() diff --git a/code/game/objects/structures/ghost_pods/silicon.dm b/code/game/objects/structures/ghost_pods/silicon.dm index 86ec5e480b9..4f50784aed2 100644 --- a/code/game/objects/structures/ghost_pods/silicon.dm +++ b/code/game/objects/structures/ghost_pods/silicon.dm @@ -13,7 +13,7 @@ needscharger = TRUE /obj/structure/ghost_pod/manual/lost_drone/trigger() - ..("\The [src] appears to be attempting to restart the robot contained inside.", "is attempting to open \a [src].") + ..(span_notice("\The [src] appears to be attempting to restart the robot contained inside."), "is attempting to open \a [src].") /obj/structure/ghost_pod/manual/lost_drone/create_occupant(var/mob/M) density = FALSE @@ -23,15 +23,14 @@ if(M.mind) M.mind.transfer_to(R) // Put this text here before ckey change so that their laws are shown below it, since borg login() shows it. - to_chat(M, "You are a Lost Drone, discovered inside the wreckage of your previous home. \ + to_chat(M, span_notice("You are a Lost Drone, discovered inside the wreckage of your previous home. \ Something has reactivated you, with their intentions unknown to you, and yours unknown to them. They are a foreign entity, \ - however they did free you from your pod...") - to_chat(M, "Be sure to examine your currently loaded lawset closely. Remember, your \ + however they did free you from your pod...")) + to_chat(M, span_notice(span_bold("Be sure to examine your currently loaded lawset closely.") + " Remember, your \ definiton of 'the station' is where your pod is, and unless your laws say otherwise, the entity that released you \ - from the pod is not a crewmember.") + from the pod is not a crewmember.")) R.ckey = M.ckey - visible_message("As \the [src] opens, the eyes of the robot flicker as it is activated.") - R.namepick() + visible_message(span_warning("As \the [src] opens, the eyes of the robot flicker as it is activated.")) log_and_message_admins("successfully opened \a [src] and got a Lost Drone.") ..() @@ -52,12 +51,11 @@ if(M.mind) M.mind.transfer_to(R) // Put this text here before ckey change so that their laws are shown below it, since borg login() shows it. - to_chat(M, "You are a Gravekeeper Drone, activated once again to tend to the restful dead.") - to_chat(M, "Be sure to examine your currently loaded lawset closely. Remember, your \ - definiton of 'your gravesite' is where your pod is.") + to_chat(M, span_notice("You are a Gravekeeper Drone, activated once again to tend to the restful dead.")) + to_chat(M, span_notice(span_bold("Be sure to examine your currently loaded lawset closely.") + " Remember, your \ + definiton of 'your gravesite' is where your pod is.")) R.ckey = M.ckey - visible_message("As \the [src] opens, the eyes of the robot flicker as it is activated.") - R.namepick() + visible_message(span_warning("As \the [src] opens, the eyes of the robot flicker as it is activated.")) ..() /obj/structure/ghost_pod/ghost_activated/swarm_drone @@ -75,16 +73,16 @@ var/mob/living/silicon/robot/drone/swarm/R = new drone_type(get_turf(src)) if(M.mind) M.mind.transfer_to(R) - to_chat(M, "You are [R], the remnant of some distant species, mechanical or flesh, living or dead.") + to_chat(M, span_cult("You are [R], the remnant of some distant species, mechanical or flesh, living or dead.")) R.ckey = M.ckey - visible_message("As \the [src] shudders, it glows before lifting itself with three shimmering limbs!") + visible_message(span_cult("As \the [src] shudders, it glows before lifting itself with three shimmering limbs!")) spawn(3 SECONDS) - to_chat(R,"Many of your tools are standard drone devices, however others provide you with particular benefits.") - to_chat(R,"Unlike standard drones, you are capable of utilizing 'zero point wells', found in your 'spells' tab.") - to_chat(R,"Here you will also find your replication ability(s), depending on the type of drone you are.") - to_chat(R,"Gunners have a special anti-personnel gun capable of shocking or punching through armor with low damage.") - to_chat(R,"Impalers have an energy-lance.") - to_chat(R,"General drones have the unique ability to produce one of each of these two types of shells per generation.") + to_chat(R,span_notice("Many of your tools are standard drone devices, however others provide you with particular benefits.")) + to_chat(R,span_notice("Unlike standard drones, you are capable of utilizing 'zero point wells', found in your 'spells' tab.")) + to_chat(R,span_notice("Here you will also find your replication ability(s), depending on the type of drone you are.")) + to_chat(R,span_notice("Gunners have a special anti-personnel gun capable of shocking or punching through armor with low damage.")) + to_chat(R,span_notice("Impalers have an energy-lance.")) + to_chat(R,span_notice("General drones have the unique ability to produce one of each of these two types of shells per generation.")) if(!QDELETED(src)) qdel(src) @@ -92,7 +90,7 @@ . = ..() var/turf/T = get_turf(src) - say_dead_object("A [drone_class] swarm drone shell is now available in \the [T.loc].", src) + say_dead_object("A " + span_notice("[drone_class] swarm drone") + " shell is now available in \the [T.loc].", src) /obj/structure/ghost_pod/ghost_activated/swarm_drone/event/gunner name = "gunner shell" diff --git a/code/game/objects/structures/ghost_pods/silicon_vr.dm b/code/game/objects/structures/ghost_pods/silicon_vr.dm index 2562ac877af..1039349f2e1 100644 --- a/code/game/objects/structures/ghost_pods/silicon_vr.dm +++ b/code/game/objects/structures/ghost_pods/silicon_vr.dm @@ -13,15 +13,14 @@ if(M.mind) M.mind.transfer_to(R) // Put this text here before ckey change so that their laws are shown below it, since borg login() shows it. - to_chat(M, "You are a Lost Drone, discovered inside the wreckage of your previous home. \ + to_chat(M, span_notice("You are a " + span_bold("Lost Drone") + ", discovered inside the wreckage of your previous home. \ Something has reactivated you, with their intentions unknown to you, and yours unknown to them. They are a foreign entity, \ - however they did free you from your pod...") - to_chat(M, "Be sure to examine your currently loaded lawset closely. Remember, your \ + however they did free you from your pod...")) + to_chat(M, span_notice(span_bold("Be sure to examine your currently loaded lawset closely.") + " Remember, your \ definiton of 'the station' is where your pod is, and unless your laws say otherwise, the entity that released you \ - from the pod is not a crewmember.") + from the pod is not a crewmember.")) R.ckey = M.ckey - visible_message("As \the [src] opens, the eyes of the robot flicker as it is activated.") - R.namepick() + visible_message(span_warning("As \the [src] opens, the eyes of the robot flicker as it is activated.")) log_and_message_admins("successfully opened \a [src] and got a Lost Drone.") used = TRUE - return TRUE \ No newline at end of file + return TRUE diff --git a/code/game/objects/structures/ghost_pods/survivor.dm b/code/game/objects/structures/ghost_pods/survivor.dm index e3ebc5bbfe5..a97a2013058 100644 --- a/code/game/objects/structures/ghost_pods/survivor.dm +++ b/code/game/objects/structures/ghost_pods/survivor.dm @@ -44,9 +44,9 @@ /obj/structure/ghost_pod/manual/survivor/trigger() . = ..() desc += "\n The Pod's stasis is broken!" - visible_message(message = SPAN_WARNING("\The [src] hisses and blinks in a myriad of lights as its stasis ceases! \n \ + visible_message(message = span_warning("\The [src] hisses and blinks in a myriad of lights as its stasis ceases! \n \ What or whoever lays beneath may yet stir once more, but their wounds may be too grevious... "), - blind_message = SPAN_WARNING("You hear hissing from [src]!"), + blind_message = span_warning("You hear hissing from [src]!"), runemessage = "HISS") @@ -56,7 +56,7 @@ clothing_possibilities |= subtypesof(/obj/item/clothing/under/utility) clothing_possibilities |= subtypesof(/obj/item/clothing/head/beret) clothing_possibilities |= /obj/item/clothing/shoes/black - clothing_possibilities |= /obj/item/device/radio/headset + clothing_possibilities |= /obj/item/radio/headset /obj/structure/ghost_pod/manual/survivor/create_occupant(var/mob/M) ..() @@ -64,9 +64,9 @@ var/mob/living/carbon/human/H = new(src) if(M.mind) M.mind.transfer_to(H) - to_chat(M, "You are a [occupant_type]!") + to_chat(M, span_notice("You are a [occupant_type]!")) H.ckey = M.ckey - visible_message("As \the [src] opens, the pipes on \the [src] surge, before it grows dark.") + visible_message(span_warning("As \the [src] opens, the pipes on \the [src] surge, before it grows dark.")) log_and_message_admins("successfully opened \a [src] and got a [occupant_type].") var/list/uniform_options @@ -88,7 +88,7 @@ if(!head_options) head_options = list() head_options |= path - if(ispath(path, /obj/item/device/radio/headset)) + if(ispath(path, /obj/item/radio/headset)) if(!headset_options) headset_options = list() headset_options |= path @@ -144,4 +144,4 @@ if(allow_appearance_change) H.change_appearance(APPEARANCE_ALL, H, check_species_whitelist = 1) - visible_message("\The [src] [pick("gurgles", "seizes", "clangs")] before releasing \the [H]!") + visible_message(span_alien("\The [src] [pick("gurgles", "seizes", "clangs")] before releasing \the [H]!")) diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index b31b9580738..4c0a488a599 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -89,7 +89,7 @@ if(damage < STRUCTURE_MIN_DAMAGE_THRESHOLD) return 0 user.do_attack_animation(src) - visible_message("[user] [attack_message] the [src]!") + visible_message(span_danger("[user] [attack_message] the [src]!")) spawn(1) dismantle() return 1 @@ -111,7 +111,7 @@ damage = round(new_damage) Proj.damage = outgoing_damage - visible_message("\The [src] reflects \the [Proj]!") + visible_message(span_danger("\The [src] reflects \the [Proj]!")) // Find a turf near or on the original location to bounce to var/new_x = Proj.starting.x + pick(0, 0, 0, -1, 1, -2, 2) @@ -149,58 +149,58 @@ if(W.has_tool_quality(TOOL_WRENCH) && state == 0) if(anchored && !reinf_material) playsound(src, W.usesound, 100, 1) - to_chat(user, "Now disassembling the girder...") + to_chat(user, span_notice("Now disassembling the girder...")) if(do_after(user,(35 + round(max_health/50)) * W.toolspeed)) if(!src) return - to_chat(user, "You dissasembled the girder!") + to_chat(user, span_notice("You dissasembled the girder!")) dismantle() else if(!anchored) playsound(src, W.usesound, 100, 1) - to_chat(user, "Now securing the girder...") + to_chat(user, span_notice("Now securing the girder...")) if(do_after(user, 40 * W.toolspeed, src)) - to_chat(user, "You secured the girder!") + to_chat(user, span_notice("You secured the girder!")) reset_girder() - else if(istype(W, /obj/item/weapon/pickaxe/plasmacutter)) - to_chat(user, "Now slicing apart the girder...") + else if(istype(W, /obj/item/pickaxe/plasmacutter)) + to_chat(user, span_notice("Now slicing apart the girder...")) if(do_after(user,30 * W.toolspeed)) if(!src) return - to_chat(user, "You slice apart the girder!") + to_chat(user, span_notice("You slice apart the girder!")) dismantle() - else if(istype(W, /obj/item/weapon/pickaxe/diamonddrill)) - to_chat(user, "You drill through the girder!") + else if(istype(W, /obj/item/pickaxe/diamonddrill)) + to_chat(user, span_notice("You drill through the girder!")) dismantle() else if(W.has_tool_quality(TOOL_SCREWDRIVER)) if(state == 2) playsound(src, W.usesound, 100, 1) - to_chat(user, "Now unsecuring support struts...") + to_chat(user, span_notice("Now unsecuring support struts...")) if(do_after(user,40 * W.toolspeed)) if(!src) return - to_chat(user, "You unsecured the support struts!") + to_chat(user, span_notice("You unsecured the support struts!")) state = 1 else if(anchored && !reinf_material) playsound(src, W.usesound, 100, 1) reinforcing = !reinforcing - to_chat(user, "\The [src] can now be [reinforcing? "reinforced" : "constructed"]!") + to_chat(user, span_notice("\The [src] can now be [reinforcing? "reinforced" : "constructed"]!")) else if(W.has_tool_quality(TOOL_WIRECUTTER) && state == 1) playsound(src, W.usesound, 100, 1) - to_chat(user, "Now removing support struts...") + to_chat(user, span_notice("Now removing support struts...")) if(do_after(user,40 * W.toolspeed)) if(!src) return - to_chat(user, "You removed the support struts!") + to_chat(user, span_notice("You removed the support struts!")) reinf_material.place_dismantled_product(get_turf(src)) reinf_material = null reset_girder() else if(W.has_tool_quality(TOOL_CROWBAR) && state == 0 && anchored) playsound(src, W.usesound, 100, 1) - to_chat(user, "Now dislodging the girder...") + to_chat(user, span_notice("Now dislodging the girder...")) if(do_after(user, 40 * W.toolspeed)) if(!src) return - to_chat(user, "You dislodged the girder!") + to_chat(user, span_notice("You dislodged the girder!")) displace() else if(istype(W, /obj/item/stack/material)) @@ -225,7 +225,7 @@ /obj/structure/girder/proc/construct_wall(obj/item/stack/material/S, mob/user) var/amount_to_use = reinf_material ? 1 : 2 if(S.get_amount() < amount_to_use) - to_chat(user, "There isn't enough material here to construct a wall.") + to_chat(user, span_notice("There isn't enough material here to construct a wall.")) return 0 var/datum/material/M = name_to_material[S.default_type] @@ -233,21 +233,21 @@ return 0 var/wall_fake - add_hiddenprint(usr) + add_hiddenprint(user) if(M.integrity < 50) - to_chat(user, "This material is too soft for use in wall construction.") + to_chat(user, span_notice("This material is too soft for use in wall construction.")) return 0 - to_chat(user, "You begin adding the plating...") + to_chat(user, span_notice("You begin adding the plating...")) if(!do_after(user,40) || !S.use(amount_to_use)) return 1 //once we've gotten this far don't call parent attackby() if(anchored) - to_chat(user, "You added the plating!") + to_chat(user, span_notice("You added the plating!")) else - to_chat(user, "You create a false wall! Push on it to open or close the passage.") + to_chat(user, span_notice("You create a false wall! Push on it to open or close the passage.")) wall_fake = 1 var/turf/Tsrc = get_turf(src) @@ -256,17 +256,17 @@ T.set_material(M, reinf_material, girder_material) if(wall_fake) T.can_open = 1 - T.add_hiddenprint(usr) + T.add_hiddenprint(user) qdel(src) return 1 /obj/structure/girder/proc/reinforce_with_material(obj/item/stack/material/S, mob/user) //if the verb is removed this can be renamed. if(reinf_material) - to_chat(user, "\The [src] is already reinforced.") + to_chat(user, span_notice("\The [src] is already reinforced.")) return 0 if(S.get_amount() < 1) - to_chat(user, "There isn't enough material here to reinforce the girder.") + to_chat(user, span_notice("There isn't enough material here to reinforce the girder.")) return 0 var/datum/material/M = name_to_material[S.default_type] @@ -274,10 +274,10 @@ to_chat(user, "You cannot reinforce \the [src] with that; it is too soft.") return 0 - to_chat(user, "Now reinforcing...") + to_chat(user, span_notice("Now reinforcing...")) if (!do_after(user,40) || !S.use(1)) return 1 //don't call parent attackby() past this point - to_chat(user, "You added reinforcement!") + to_chat(user, span_notice("You added reinforcement!")) reinf_material = M reinforce_girder() @@ -296,7 +296,7 @@ /obj/structure/girder/attack_hand(mob/user as mob) if (HULK in user.mutations) - visible_message("[user] smashes [src] apart!") + visible_message(span_danger("[user] smashes [src] apart!")) dismantle() return return ..() @@ -341,19 +341,19 @@ /obj/structure/girder/cult/attackby(obj/item/W as obj, mob/user as mob) if(W.has_tool_quality(TOOL_WRENCH)) playsound(src, W.usesound, 100, 1) - to_chat(user, "Now disassembling the girder...") + to_chat(user, span_notice("Now disassembling the girder...")) if(do_after(user,40 * W.toolspeed)) - to_chat(user, "You dissasembled the girder!") + to_chat(user, span_notice("You dissasembled the girder!")) dismantle() - else if(istype(W, /obj/item/weapon/pickaxe/plasmacutter)) - to_chat(user, "Now slicing apart the girder...") + else if(istype(W, /obj/item/pickaxe/plasmacutter)) + to_chat(user, span_notice("Now slicing apart the girder...")) if(do_after(user,30 * W.toolspeed)) - to_chat(user, "You slice apart the girder!") + to_chat(user, span_notice("You slice apart the girder!")) dismantle() - else if(istype(W, /obj/item/weapon/pickaxe/diamonddrill)) - to_chat(user, "You drill through the girder!") + else if(istype(W, /obj/item/pickaxe/diamonddrill)) + to_chat(user, span_notice("You drill through the girder!")) new /obj/effect/decal/remains/human(get_turf(src)) dismantle() @@ -365,7 +365,7 @@ cover = 60 girder_material = "resin" -/obj/structure/girder/rcd_values(mob/living/user, obj/item/weapon/rcd/the_rcd, passed_mode) +/obj/structure/girder/rcd_values(mob/living/user, obj/item/rcd/the_rcd, passed_mode) var/turf/simulated/T = get_turf(src) if(!istype(T) || T.density) return FALSE @@ -390,14 +390,14 @@ ) return FALSE -/obj/structure/girder/rcd_act(mob/living/user, obj/item/weapon/rcd/the_rcd, passed_mode) +/obj/structure/girder/rcd_act(mob/living/user, obj/item/rcd/the_rcd, passed_mode) var/turf/simulated/T = get_turf(src) if(!istype(T) || T.density) // Should stop future bugs of people bringing girders to centcom and RCDing them, or somehow putting a girder on a durasteel wall and deconning it. return FALSE switch(passed_mode) if(RCD_FLOORWALL) - to_chat(user, span("notice", "You finish a wall.")) + to_chat(user, span_notice("You finish a wall.")) // This is mostly the same as using on a floor. The girder's material is preserved, however. T.ChangeTurf(wall_type) var/turf/simulated/wall/new_T = get_turf(src) // Ref to the wall we just built. @@ -410,7 +410,7 @@ return TRUE if(RCD_DECONSTRUCT) - to_chat(user, span("notice", "You deconstruct \the [src].")) + to_chat(user, span_notice("You deconstruct \the [src].")) qdel(src) return TRUE diff --git a/code/game/objects/structures/gravemarker.dm b/code/game/objects/structures/gravemarker.dm index 67bd834b88e..fe00579c78b 100644 --- a/code/game/objects/structures/gravemarker.dm +++ b/code/game/objects/structures/gravemarker.dm @@ -50,7 +50,7 @@ return !density return TRUE -/obj/structure/gravemarker/attackby(obj/item/weapon/W, mob/user as mob) +/obj/structure/gravemarker/attackby(obj/item/W, mob/user as mob) if(W.has_tool_quality(TOOL_SCREWDRIVER)) var/carving_1 = sanitizeSafe(tgui_input_text(user, "Who is \the [src.name] for?", "Gravestone Naming", null, MAX_NAME_LEN), MAX_NAME_LEN) if(carving_1) @@ -87,11 +87,11 @@ /obj/structure/gravemarker/ex_act(severity) switch(severity) if(1.0) - visible_message("\The [src] is blown apart!") + visible_message(span_danger("\The [src] is blown apart!")) qdel(src) return if(2.0) - visible_message("\The [src] is blown apart!") + visible_message(span_danger("\The [src] is blown apart!")) if(prob(50)) dismantle() else @@ -101,7 +101,7 @@ /obj/structure/gravemarker/proc/damage(var/damage) health -= damage if(health <= 0) - visible_message("\The [src] falls apart!") + visible_message(span_danger("\The [src] falls apart!")) dismantle() /obj/structure/gravemarker/proc/dismantle() @@ -122,7 +122,7 @@ return if(usr.stat || usr.restrained()) return - if(ismouse(usr) || (isobserver(usr) && !config.ghost_interaction)) + if(ismouse(usr) || (isobserver(usr) && !CONFIG_GET(flag/ghost_interaction))) return src.set_dir(turn(src.dir, 270)) @@ -141,7 +141,7 @@ return if(usr.stat || usr.restrained()) return - if(ismouse(usr) || (isobserver(usr) && !config.ghost_interaction)) + if(ismouse(usr) || (isobserver(usr) && !CONFIG_GET(flag/ghost_interaction))) return src.set_dir(turn(src.dir, 90)) diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index d3226bb702e..f9d80277a4d 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -92,7 +92,7 @@ /obj/structure/grille/attackby(obj/item/W as obj, mob/user as mob) if(!istype(W)) return - if(istype(W, /obj/item/weapon/rcd)) // To stop us from hitting the grille when building windows, because grilles don't let parent handle it properly. + if(istype(W, /obj/item/rcd)) // To stop us from hitting the grille when building windows, because grilles don't let parent handle it properly. return FALSE else if(W.has_tool_quality(TOOL_WIRECUTTER)) if(!shock(user, 100)) @@ -103,8 +103,8 @@ if(!shock(user, 90)) playsound(src, W.usesound, 100, 1) anchored = !anchored - user.visible_message("[user] [anchored ? "fastens" : "unfastens"] the grille.", \ - "You have [anchored ? "fastened the grille to" : "unfastened the grille from"] the floor.") + user.visible_message(span_notice("[user] [anchored ? "fastens" : "unfastens"] the grille."), \ + span_notice("You have [anchored ? "fastened the grille to" : "unfastened the grille from"] the floor.")) return //window placing begin //TODO CONVERT PROPERLY TO MATERIAL DATUM @@ -129,23 +129,23 @@ else dir_to_set = 4 else - to_chat(user, "You can't reach.") + to_chat(user, span_notice("You can't reach.")) return //Only works for cardinal direcitons, diagonals aren't supposed to work like this. for(var/obj/structure/window/WINDOW in loc) if(WINDOW.dir == dir_to_set) - to_chat(user, "There is already a window facing this way there.") + to_chat(user, span_notice("There is already a window facing this way there.")) return - to_chat(user, "You start placing the window.") + to_chat(user, span_notice("You start placing the window.")) if(do_after(user,20)) for(var/obj/structure/window/WINDOW in loc) if(WINDOW.dir == dir_to_set)//checking this for a 2nd time to check if a window was made while we were waiting. - to_chat(user, "There is already a window facing this way there.") + to_chat(user, span_notice("There is already a window facing this way there.")) return var/wtype = ST.material.created_window if (ST.use(1)) var/obj/structure/window/WD = new wtype(loc, dir_to_set, 1) - to_chat(user, "You place the [WD] on [src].") + to_chat(user, span_notice("You place the [WD] on [src].")) WD.update_icon() return //window placing end @@ -213,7 +213,7 @@ ..() /obj/structure/grille/attack_generic(var/mob/user, var/damage, var/attack_verb) - visible_message("[user] [attack_verb] the [src]!") + visible_message(span_danger("[user] [attack_verb] the [src]!")) user.do_attack_animation(src) health -= damage spawn(1) healthcheck() @@ -249,7 +249,7 @@ icon_state = "grillerustic-b" -/obj/structure/grille/rcd_values(mob/living/user, obj/item/weapon/rcd/the_rcd, passed_mode) +/obj/structure/grille/rcd_values(mob/living/user, obj/item/rcd/the_rcd, passed_mode) switch(passed_mode) if(RCD_WINDOWGRILLE) // A full tile window costs 4 glass sheets. @@ -267,16 +267,16 @@ ) return FALSE -/obj/structure/grille/rcd_act(mob/living/user, obj/item/weapon/rcd/the_rcd, passed_mode) +/obj/structure/grille/rcd_act(mob/living/user, obj/item/rcd/the_rcd, passed_mode) switch(passed_mode) if(RCD_DECONSTRUCT) - to_chat(user, span("notice", "You deconstruct \the [src].")) + to_chat(user, span_notice("You deconstruct \the [src].")) qdel(src) return TRUE if(RCD_WINDOWGRILLE) if(locate(/obj/structure/window) in loc) return FALSE - to_chat(user, span("notice", "You construct a window.")) + to_chat(user, span_notice("You construct a window.")) var/obj/structure/window/WD = new the_rcd.window_type(loc) WD.anchored = TRUE return TRUE @@ -286,4 +286,3 @@ health -= damage spawn(1) healthcheck() return 1 - diff --git a/code/game/objects/structures/holoplant.dm b/code/game/objects/structures/holoplant.dm index 01a0436be93..57f14bbc607 100644 --- a/code/game/objects/structures/holoplant.dm +++ b/code/game/objects/structures/holoplant.dm @@ -26,7 +26,7 @@ return if(!anchored) - to_chat(user,"\The [src] must be anchored before activation!") + to_chat(user,span_warning("\The [src] must be anchored before activation!")) return if(!plant) @@ -103,4 +103,4 @@ /obj/machinery/holoplant/shipped anchored = FALSE /obj/machinery/holoplant/shipped/Initialize() - . = ..() \ No newline at end of file + . = ..() diff --git a/code/game/objects/structures/inflatable.dm b/code/game/objects/structures/inflatable.dm index 92dc20cec6d..536d99e260b 100644 --- a/code/game/objects/structures/inflatable.dm +++ b/code/game/objects/structures/inflatable.dm @@ -72,11 +72,11 @@ add_fingerprint(user) return -/obj/structure/inflatable/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/structure/inflatable/attackby(obj/item/W as obj, mob/user as mob) if(!istype(W)) return if (can_puncture(W)) - visible_message("[user] pierces [src] with [W]!") + visible_message(span_danger("[user] pierces [src] with [W]!")) puncture() if(W.damtype == BRUTE || W.damtype == BURN) hit(W.force) @@ -95,7 +95,7 @@ /obj/item/inflatable/proc/inflate(var/mob/user,var/location) playsound(location, 'sound/items/zip.ogg', 75, 1) - to_chat(user, "You inflate [src].") + to_chat(user, span_notice("You inflate [src].")) var/obj/structure/inflatable/R = new deploy_path(location) src.transfer_fingerprints_to(R) R.add_fingerprint(user) @@ -103,7 +103,7 @@ /obj/structure/inflatable/proc/deflate() playsound(src, 'sound/machines/hiss.ogg', 75, 1) - //to_chat(user, "You slowly deflate the inflatable wall.") + //to_chat(user, span_notice("You slowly deflate the inflatable wall.")) visible_message("[src] slowly deflates.") spawn(50) var/obj/item/inflatable/R = new /obj/item/inflatable(loc) @@ -132,16 +132,16 @@ health -= damage user.do_attack_animation(src) if(health <= 0) - user.visible_message("[user] [attack_verb] open the [src]!") + user.visible_message(span_danger("[user] [attack_verb] open the [src]!")) spawn(1) puncture() else - user.visible_message("[user] [attack_verb] at [src]!") + user.visible_message(span_danger("[user] [attack_verb] at [src]!")) return 1 /obj/structure/inflatable/take_damage(var/damage) health -= damage if(health <= 0) - visible_message("The [src] deflates!") + visible_message(span_danger("The [src] deflates!")) spawn(1) puncture() return 1 @@ -248,7 +248,7 @@ icon_state = "folded_wall_torn" /obj/item/inflatable/torn/attack_self(mob/user) - to_chat(user, "The inflatable wall is too torn to be inflated!") + to_chat(user, span_notice("The inflatable wall is too torn to be inflated!")) add_fingerprint(user) /obj/item/inflatable/door/torn @@ -258,10 +258,10 @@ icon_state = "folded_door_torn" /obj/item/inflatable/door/torn/attack_self(mob/user) - to_chat(user, "The inflatable door is too torn to be inflated!") + to_chat(user, span_notice("The inflatable door is too torn to be inflated!")) add_fingerprint(user) -/obj/item/weapon/storage/briefcase/inflatable +/obj/item/storage/briefcase/inflatable name = "inflatable barrier box" desc = "Contains inflatable walls and doors." icon_state = "inf_box" diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm index 370d494f357..7b7f7a6b644 100644 --- a/code/game/objects/structures/janicart.dm +++ b/code/game/objects/structures/janicart.dm @@ -12,10 +12,10 @@ GLOBAL_LIST_BOILERPLATE(all_janitorial_carts, /obj/structure/janitorialcart) climbable = TRUE //copypaste sorry var/amount_per_transfer_from_this = 5 //shit I dunno, adding this so syringes stop runtime erroring. --NeoFite - var/obj/item/weapon/storage/bag/trash/mybag = null - var/obj/item/weapon/mop/mymop = null - var/obj/item/weapon/reagent_containers/spray/myspray = null - var/obj/item/device/lightreplacer/myreplacer = null + var/obj/item/storage/bag/trash/mybag = null + var/obj/item/mop/mymop = null + var/obj/item/reagent_containers/spray/myspray = null + var/obj/item/lightreplacer/myreplacer = null var/obj/structure/mopbucket/mybucket = null var/has_items = FALSE var/dismantled = TRUE @@ -27,45 +27,46 @@ GLOBAL_LIST_BOILERPLATE(all_janitorial_carts, /obj/structure/janitorialcart) /obj/structure/janitorialcart/proc/equip_janicart_item(mob/user, obj/item/I) if(!equippable_item_whitelist) equippable_item_whitelist = typecacheof(list( - /obj/item/weapon/storage/bag/trash, - /obj/item/weapon/mop, - /obj/item/weapon/reagent_containers/spray, - /obj/item/device/lightreplacer, + /obj/item/storage/bag/trash, + /obj/item/mop, + /obj/item/mop/advanced, + /obj/item/reagent_containers/spray, + /obj/item/lightreplacer, /obj/item/clothing/suit/caution, )) if(!is_type_in_typecache(I, equippable_item_whitelist)) - to_chat(user, "There's no room in [src] for [I].") + to_chat(user, span_warning("There's no room in [src] for [I].")) return FALSE if(!user.canUnEquip(I)) - to_chat(user, "[I] is stuck to your hand.") + to_chat(user, span_warning("[I] is stuck to your hand.")) return FALSE - if(istype(I, /obj/item/weapon/storage/bag/trash)) + if(istype(I, /obj/item/storage/bag/trash)) if(mybag) - to_chat(user, "[src] already has \an [I].") + to_chat(user, span_warning("[src] already has \an [I].")) return FALSE mybag = I setTguiIcon("mybag", mybag) - else if(istype(I, /obj/item/weapon/mop)) + else if(istype(I, /obj/item/mop) || istype(I, /obj/item/mop/advanced)) if(mymop) - to_chat(user, "[src] already has \an [I].") + to_chat(user, span_warning("[src] already has \an [I].")) return FALSE mymop = I setTguiIcon("mymop", mymop) - else if(istype(I, /obj/item/weapon/reagent_containers/spray)) + else if(istype(I, /obj/item/reagent_containers/spray)) if(myspray) - to_chat(user, "[src] already has \an [I].") + to_chat(user, span_warning("[src] already has \an [I].")) return FALSE myspray = I setTguiIcon("myspray", myspray) - else if(istype(I, /obj/item/device/lightreplacer)) + else if(istype(I, /obj/item/lightreplacer)) if(myreplacer) - to_chat(user, "[src] already has \an [I].") + to_chat(user, span_warning("[src] already has \an [I].")) return FALSE myreplacer = I setTguiIcon("myreplacer", myreplacer) @@ -75,17 +76,17 @@ GLOBAL_LIST_BOILERPLATE(all_janitorial_carts, /obj/structure/janitorialcart) signs++ setTguiIcon("signs", I) else - to_chat(user, "[src] can't hold any more signs.") + to_chat(user, span_notice("[src] can't hold any more signs.")) return FALSE else // This may look like duplicate code, but it's important that we don't call unEquip *and* warn the user if // something horrible goes wrong. (this else is never supposed to happen) - to_chat(user, "There's no room in [src] for [I].") + to_chat(user, span_warning("There's no room in [src] for [I].")) return FALSE user.drop_from_inventory(I, src) update_icon() - to_chat(user, "You put [I] into [src].") + to_chat(user, span_notice("You put [I] into [src].")) return TRUE /obj/structure/janitorialcart/proc/setTguiIcon(key, atom/A) @@ -134,35 +135,35 @@ GLOBAL_LIST_BOILERPLATE(all_janitorial_carts, /obj/structure/janitorialcart) ..() /obj/structure/janitorialcart/attackby(obj/item/I, mob/user) - if(istype(I, /obj/item/weapon/mop) || istype(I, /obj/item/weapon/reagent_containers/glass/rag) || istype(I, /obj/item/weapon/soap)) + if(istype(I, /obj/item/mop) || istype(I, /obj/item/reagent_containers/glass/rag) || istype(I, /obj/item/soap)) if (mybucket) if(I.reagents.total_volume < I.reagents.maximum_volume) if(mybucket.reagents.total_volume < 1) - to_chat(user, "[mybucket] is empty!") + to_chat(user, span_notice("[mybucket] is empty!")) else mybucket.reagents.trans_to_obj(I, 5) // - to_chat(user, "You wet [I] in [mybucket].") + to_chat(user, span_notice("You wet [I] in [mybucket].")) playsound(src, 'sound/effects/slosh.ogg', 25, 1) else - to_chat(user, "[I] can't absorb anymore liquid!") + to_chat(user, span_notice("[I] can't absorb anymore liquid!")) else - to_chat(user, "There is no bucket mounted here to dip [I] into!") + to_chat(user, span_notice("There is no bucket mounted here to dip [I] into!")) return 1 - else if (istype(I, /obj/item/weapon/reagent_containers/glass/bucket) && mybucket) - I.afterattack(mybucket, usr, 1) + else if (istype(I, /obj/item/reagent_containers/glass/bucket) && mybucket) + I.afterattack(mybucket, user, 1) update_icon() return 1 - else if(istype(I, /obj/item/weapon/reagent_containers/spray) && !myspray) + else if(istype(I, /obj/item/reagent_containers/spray) && !myspray) equip_janicart_item(user, I) return 1 - else if(istype(I, /obj/item/device/lightreplacer) && !myreplacer) + else if(istype(I, /obj/item/lightreplacer) && !myreplacer) equip_janicart_item(user, I) return 1 - else if(istype(I, /obj/item/weapon/storage/bag/trash) && !mybag) + else if(istype(I, /obj/item/storage/bag/trash) && !mybag) equip_janicart_item(user, I) return 1 @@ -188,12 +189,12 @@ GLOBAL_LIST_BOILERPLATE(all_janitorial_carts, /obj/structure/janitorialcart) //Altclick the cart with a reagent container to pour things into the bucket without putting the bottle in trash /obj/structure/janitorialcart/AltClick(mob/living/user) if(user.incapacitated() || !Adjacent(user)) return - var/obj/I = usr.get_active_hand() - if(istype(I, /obj/item/weapon/mop)) + var/obj/I = user.get_active_hand() + if(istype(I, /obj/item/mop)) equip_janicart_item(user, I) - else if(istype(I, /obj/item/weapon/reagent_containers) && mybucket) - var/obj/item/weapon/reagent_containers/C = I - C.afterattack(mybucket, usr, 1) + else if(istype(I, /obj/item/reagent_containers) && mybucket) + var/obj/item/reagent_containers/C = I + C.afterattack(mybucket, user, 1) update_icon() @@ -225,62 +226,62 @@ GLOBAL_LIST_BOILERPLATE(all_janitorial_carts, /obj/structure/janitorialcart) if(..()) return TRUE - var/obj/item/I = usr.get_active_hand() + var/obj/item/I = ui.user.get_active_hand() switch(action) if("bag") if(mybag) - usr.put_in_hands(mybag) - to_chat(usr, "You take [mybag] from [src].") + ui.user.put_in_hands(mybag) + to_chat(ui.user, span_notice("You take [mybag] from [src].")) mybag = null nullTguiIcon("mybag") else if(is_type_in_typecache(I, equippable_item_whitelist)) - equip_janicart_item(usr, I) + equip_janicart_item(ui.user, I) if("mop") if(mymop) - usr.put_in_hands(mymop) - to_chat(usr, "You take [mymop] from [src].") + ui.user.put_in_hands(mymop) + to_chat(ui.user, span_notice("You take [mymop] from [src].")) mymop = null nullTguiIcon("mymop") else if(is_type_in_typecache(I, equippable_item_whitelist)) - equip_janicart_item(usr, I) + equip_janicart_item(ui.user, I) if("spray") if(myspray) - usr.put_in_hands(myspray) - to_chat(usr, "You take [myspray] from [src].") + ui.user.put_in_hands(myspray) + to_chat(ui.user, span_notice("You take [myspray] from [src].")) myspray = null nullTguiIcon("myspray") else if(is_type_in_typecache(I, equippable_item_whitelist)) - equip_janicart_item(usr, I) + equip_janicart_item(ui.user, I) if("replacer") if(myreplacer) - usr.put_in_hands(myreplacer) - to_chat(usr, "You take [myreplacer] from [src].") + ui.user.put_in_hands(myreplacer) + to_chat(ui.user, span_notice("You take [myreplacer] from [src].")) myreplacer = null nullTguiIcon("myreplacer") else if(is_type_in_typecache(I, equippable_item_whitelist)) - equip_janicart_item(usr, I) + equip_janicart_item(ui.user, I) if("sign") if(istype(I, /obj/item/clothing/suit/caution) && signs < 4) - equip_janicart_item(usr, I) + equip_janicart_item(ui.user, I) else if(signs) var/obj/item/clothing/suit/caution/sign = locate() in src if(sign) - usr.put_in_hands(sign) - to_chat(usr, "You take \a [sign] from [src].") + ui.user.put_in_hands(sign) + to_chat(ui.user, span_notice("You take \a [sign] from [src].")) signs-- if(!signs) nullTguiIcon("signs") else - to_chat(usr, "[src] doesn't have any signs left.") + to_chat(ui.user, span_notice("[src] doesn't have any signs left.")) if("bucket") if(mybucket) - mybucket.forceMove(get_turf(usr)) - to_chat(usr, "You unmount [mybucket] from [src].") + mybucket.forceMove(get_turf(ui.user)) + to_chat(ui.user, span_notice("You unmount [mybucket] from [src].")) mybucket = null nullTguiIcon("mybucket") else - to_chat(usr, "((Drag and drop a mop bucket onto [src] to equip it.))") + to_chat(ui.user, span_notice("((Drag and drop a mop bucket onto [src] to equip it.))")) return FALSE else return FALSE @@ -380,7 +381,7 @@ GLOBAL_LIST_BOILERPLATE(all_janitorial_carts, /obj/structure/janitorialcart) flags = OPENCONTAINER //copypaste sorry var/amount_per_transfer_from_this = 5 //shit I dunno, adding this so syringes stop runtime erroring. --NeoFite - var/obj/item/weapon/storage/bag/trash/mybag = null + var/obj/item/storage/bag/trash/mybag = null var/callme = "pimpin' ride" //how do people refer to it? @@ -398,17 +399,17 @@ GLOBAL_LIST_BOILERPLATE(all_janitorial_carts, /obj/structure/janitorialcart) /obj/structure/bed/chair/janicart/attackby(obj/item/I, mob/user) - if(istype(I, /obj/item/weapon/mop)) + if(istype(I, /obj/item/mop)) if(reagents.total_volume > 1) reagents.trans_to_obj(I, 2) - to_chat(user, "You wet [I] in the [callme].") + to_chat(user, span_notice("You wet [I] in the [callme].")) playsound(src, 'sound/effects/slosh.ogg', 25, 1) else - to_chat(user, "This [callme] is out of water!") + to_chat(user, span_notice("This [callme] is out of water!")) else if(istype(I, /obj/item/key)) to_chat(user, "Hold [I] in one of your hands while you drive this [callme].") - else if(istype(I, /obj/item/weapon/storage/bag/trash)) - to_chat(user, "You hook the trashbag onto the [callme].") + else if(istype(I, /obj/item/storage/bag/trash)) + to_chat(user, span_notice("You hook the trashbag onto the [callme].")) user.drop_item() I.loc = src mybag = I @@ -430,7 +431,7 @@ GLOBAL_LIST_BOILERPLATE(all_janitorial_carts, /obj/structure/janitorialcart) step(src, direction) update_mob() else - to_chat(user, "You'll need the keys in one of your hands to drive this [callme].") + to_chat(user, span_notice("You'll need the keys in one of your hands to drive this [callme].")) /obj/structure/bed/chair/janicart/post_buckle_mob(mob/living/M) @@ -489,7 +490,7 @@ GLOBAL_LIST_BOILERPLATE(all_janitorial_carts, /obj/structure/janitorialcart) if(prob(85)) var/mob/living/L = pick(buckled_mobs) return L.bullet_act(Proj) - visible_message("[Proj] ricochets off the [callme]!") + visible_message(span_warning("[Proj] ricochets off the [callme]!")) /obj/item/key diff --git a/code/game/objects/structures/kitchen_foodcart_vr.dm b/code/game/objects/structures/kitchen_foodcart_vr.dm index aa1ea26cf49..c15168e9f6b 100644 --- a/code/game/objects/structures/kitchen_foodcart_vr.dm +++ b/code/game/objects/structures/kitchen_foodcart_vr.dm @@ -10,12 +10,12 @@ /obj/structure/foodcart/Initialize() . = ..() for(var/obj/item/I in loc) - if(istype(I, /obj/item/weapon/reagent_containers/food)) + if(istype(I, /obj/item/reagent_containers/food)) I.loc = src update_icon() /obj/structure/foodcart/attackby(obj/item/O as obj, mob/user as mob) - if(istype(O, /obj/item/weapon/reagent_containers/food)) + if(istype(O, /obj/item/reagent_containers/food)) user.drop_item() O.loc = src update_icon() @@ -24,9 +24,9 @@ /obj/structure/foodcart/attack_hand(var/mob/user as mob) if(contents.len) - var/obj/item/weapon/reagent_containers/food/choice = tgui_input_list(usr, "What would you like to grab from the cart?", "Grab Choice", contents) + var/obj/item/reagent_containers/food/choice = tgui_input_list(user, "What would you like to grab from the cart?", "Grab Choice", contents) if(choice) - if(!usr.canmove || usr.stat || usr.restrained() || !in_range(loc, usr)) + if(!user.canmove || user.stat || user.restrained() || !in_range(loc, user)) return if(ishuman(user)) if(!user.get_active_hand()) @@ -39,4 +39,4 @@ if(contents.len < 5) icon_state = "foodcart-[contents.len]" else - icon_state = "foodcart-5" \ No newline at end of file + icon_state = "foodcart-5" diff --git a/code/game/objects/structures/kitchen_spike.dm b/code/game/objects/structures/kitchen_spike.dm index 777530a276d..de43c6d85e0 100644 --- a/code/game/objects/structures/kitchen_spike.dm +++ b/code/game/objects/structures/kitchen_spike.dm @@ -12,21 +12,21 @@ var/meat_type var/victim_name = "corpse" -/obj/structure/kitchenspike/attackby(obj/item/weapon/grab/G as obj, mob/user as mob) - if(!istype(G, /obj/item/weapon/grab) || !ismob(G.affecting)) +/obj/structure/kitchenspike/attackby(obj/item/grab/G as obj, mob/user as mob) + if(!istype(G, /obj/item/grab) || !ismob(G.affecting)) return if(occupied) - to_chat(user, "The spike already has something on it, finish collecting its meat first!") + to_chat(user, span_danger("The spike already has something on it, finish collecting its meat first!")) else if(spike(G.affecting)) var/datum/gender/T = gender_datums[G.affecting.get_visible_gender()] - visible_message("[user] has forced [G.affecting] onto the spike, killing [T.him] instantly!") + visible_message(span_danger("[user] has forced [G.affecting] onto the spike, killing [T.him] instantly!")) var/mob/M = G.affecting M.forceMove(src) qdel(G) qdel(M) else - to_chat(user, "They are too big for the spike, try something smaller!") + to_chat(user, span_danger("They are too big for the spike, try something smaller!")) /obj/structure/kitchenspike/proc/spike(var/mob/living/victim) if(!istype(victim)) @@ -40,7 +40,7 @@ else return 0 else if(istype(victim, /mob/living/carbon/alien)) - meat_type = /obj/item/weapon/reagent_containers/food/snacks/xenomeat + meat_type = /obj/item/reagent_containers/food/snacks/xenomeat icon_state = "spikebloodygreen" else return 0 diff --git a/code/game/objects/structures/lattice.dm b/code/game/objects/structures/lattice.dm index 0ad35d794bd..d84c9b3e50c 100644 --- a/code/game/objects/structures/lattice.dm +++ b/code/game/objects/structures/lattice.dm @@ -60,10 +60,10 @@ T.attackby(C, user) //BubbleWrap - hand this off to the underlying turf instead return if(C.has_tool_quality(TOOL_WELDER)) - var/obj/item/weapon/weldingtool/WT = C.get_welder() + var/obj/item/weldingtool/WT = C.get_welder() if(WT.welding == 1) if(WT.remove_fuel(0, user)) - to_chat(user, "Slicing lattice joints ...") + to_chat(user, span_notice("Slicing lattice joints ...")) new /obj/item/stack/rods(src.loc, 1) //VOREstation Edit: Return the same amount of rods used to build this. qdel(src) return @@ -93,7 +93,7 @@ //Vorestation Edit: Moves upgrading lattices to their own proc for other stuff to call. Also makes them instant. /obj/structure/lattice/proc/upgrade(obj/item/stack/rods/R, mob/user) - to_chat(user, "You start connecting \the [R.name] to \the [src.name] ...") + to_chat(user, span_notice("You start connecting \the [R.name] to \the [src.name] ...")) R.use(1) src.alpha = 0 // Note: I don't know why this is set, Eris did it, just trusting for now. ~Leshana new /obj/structure/catwalk(src.loc) diff --git a/code/game/objects/structures/ledges.dm b/code/game/objects/structures/ledges.dm index 819395f2c3f..6da40df1c1c 100644 --- a/code/game/objects/structures/ledges.dm +++ b/code/game/objects/structures/ledges.dm @@ -54,7 +54,7 @@ if(!can_climb(user)) return - usr.visible_message("[user] starts climbing onto \the [src]!") + user.visible_message(span_warning("[user] starts climbing onto \the [src]!")) LAZYDISTINCTADD(climbers, user) if(!do_after(user,(issmall(user) ? 20 : 34))) @@ -66,11 +66,11 @@ return if(get_turf(user) == get_turf(src)) - usr.forceMove(get_step(src, src.dir)) + user.forceMove(get_step(src, src.dir)) else - usr.forceMove(get_turf(src)) + user.forceMove(get_turf(src)) - usr.visible_message("[user] climbed over \the [src]!") + user.visible_message(span_warning("[user] climbed over \the [src]!")) LAZYREMOVE(climbers, user) /obj/structure/ledge/can_climb(var/mob/living/user, post_climb_check=0) @@ -80,6 +80,6 @@ if(get_turf(user) == get_turf(src)) var/obj/occupied = neighbor_turf_impassable() if(occupied) - to_chat(user, "You can't climb there, there's \a [occupied] in the way.") + to_chat(user, span_danger("You can't climb there, there's \a [occupied] in the way.")) return 0 - return 1 \ No newline at end of file + return 1 diff --git a/code/game/objects/structures/loot_piles.dm b/code/game/objects/structures/loot_piles.dm index 0a72a81b39e..58d4cd781f0 100644 --- a/code/game/objects/structures/loot_piles.dm +++ b/code/game/objects/structures/loot_piles.dm @@ -51,29 +51,29 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh var/mob/living/L = user if(busy) - to_chat(L, "\The [src] is already being searched.") + to_chat(L, span_warning("\The [src] is already being searched.")) return - L.visible_message("[user] searches through \the [src].","You search through \the [src].") + L.visible_message("[user] searches through \the [src].",span_notice("You search through \the [src].")) //Do the searching busy = TRUE if(do_after(user,rand(4 SECONDS,6 SECONDS),src)) // The loot's all gone. if(loot_depletion && loot_left <= 0) - to_chat(L, "\The [src] has been picked clean.") + to_chat(L, span_warning("\The [src] has been picked clean.")) busy = FALSE return //You already searched this one if( (user.ckey in searched_by) && !allow_multiple_looting) - to_chat(L, "You can't find anything else vaguely useful in \the [src]. Another set of eyes might, however.") + to_chat(L, span_warning("You can't find anything else vaguely useful in \the [src]. Another set of eyes might, however.")) busy = FALSE return // You got unlucky. if(chance_nothing && prob(chance_nothing)) - to_chat(L, "Nothing in this pile really catches your eye...") + to_chat(L, span_warning("Nothing in this pile really catches your eye...")) searched_by |= user.ckey busy = FALSE return @@ -104,11 +104,19 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh if(loot) searched_by |= user.ckey loot.forceMove(get_turf(src)) - to_chat(L, "You found \a [loot]!") + var/final_message = "You found \a [loot]!" + switch(span) + if("notice") + final_message = span_notice(final_message) + if("cult") + final_message = span_cult(final_message) + if("alium") + final_message = span_alium(final_message) + to_chat(L, span_info(final_message)) if(loot_depletion) loot_left-- if(loot_left <= 0) - to_chat(L, "You seem to have gotten the last of the spoils inside \the [src].") + to_chat(L, span_warning("You seem to have gotten the last of the spoils inside \the [src].")) if(delete_on_depletion) qdel(src) @@ -140,28 +148,28 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh icon_states_to_use = list("junk_pile1", "junk_pile2", "junk_pile3", "junk_pile4", "junk_pile5") common_loot = list( - /obj/item/device/flashlight/flare, - /obj/item/device/flashlight/glowstick, - /obj/item/device/flashlight/glowstick/blue, - /obj/item/device/flashlight/glowstick/orange, - /obj/item/device/flashlight/glowstick/red, - /obj/item/device/flashlight/glowstick/yellow, - /obj/item/device/flashlight/pen, - /obj/item/weapon/cell, - /obj/item/weapon/cell/device, + /obj/item/flashlight/flare, + /obj/item/flashlight/glowstick, + /obj/item/flashlight/glowstick/blue, + /obj/item/flashlight/glowstick/orange, + /obj/item/flashlight/glowstick/red, + /obj/item/flashlight/glowstick/yellow, + /obj/item/flashlight/pen, + /obj/item/cell, + /obj/item/cell/device, /obj/item/clothing/mask/gas, /obj/item/clothing/mask/gas/half, /obj/item/clothing/mask/breath, - /obj/item/weapon/reagent_containers/glass/rag, - /obj/item/weapon/reagent_containers/food/snacks/liquidfood, - /obj/item/weapon/storage/secure/briefcase, - /obj/item/weapon/storage/briefcase, - /obj/item/weapon/storage/backpack, - /obj/item/weapon/storage/backpack/satchel/norm, - /obj/item/weapon/storage/backpack/satchel, - /obj/item/weapon/storage/backpack/dufflebag, - /obj/item/weapon/storage/box, - /obj/item/weapon/storage/wallet, + /obj/item/reagent_containers/glass/rag, + /obj/item/reagent_containers/food/snacks/liquidfood, + /obj/item/storage/secure/briefcase, + /obj/item/storage/briefcase, + /obj/item/storage/backpack, + /obj/item/storage/backpack/satchel/norm, + /obj/item/storage/backpack/satchel, + /obj/item/storage/backpack/dufflebag, + /obj/item/storage/box, + /obj/item/storage/wallet, /obj/item/clothing/shoes/galoshes, /obj/item/clothing/shoes/black, /obj/item/clothing/shoes/laceup, @@ -197,29 +205,29 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh /obj/item/clothing/under/pants/camo, /obj/item/clothing/under/harness, /obj/item/clothing/accessory/storage/webbing, - /obj/item/weapon/spacecash/c1, - /obj/item/weapon/spacecash/c5, - /obj/item/weapon/spacecash/c10, - /obj/item/weapon/spacecash/c20, - /obj/item/weapon/camera_assembly, + /obj/item/spacecash/c1, + /obj/item/spacecash/c5, + /obj/item/spacecash/c10, + /obj/item/spacecash/c20, + /obj/item/camera_assembly, /obj/item/clothing/suit/caution, /obj/item/clothing/head/cone, - /obj/item/weapon/card/emag_broken, - /obj/item/device/camera, - /obj/item/device/pda, - /obj/item/device/radio/headset, - /obj/item/device/paicard, - /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/glucose + /obj/item/card/emag_broken, + /obj/item/camera, + /obj/item/pda, + /obj/item/radio/headset, + /obj/item/paicard, + /obj/item/reagent_containers/hypospray/autoinjector/biginjector/glucose ) uncommon_loot = list( /obj/item/clothing/shoes/syndigaloshes, /obj/item/clothing/gloves/yellow, /obj/item/clothing/under/tactical, - /obj/item/weapon/beartrap, + /obj/item/beartrap, /obj/item/clothing/suit/storage/vest/press, - /obj/item/weapon/material/knife/tacknife, - /obj/item/weapon/material/butterfly/switchblade + /obj/item/material/knife/tacknife, + /obj/item/material/butterfly/switchblade ) rare_loot = list( @@ -255,9 +263,9 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh /obj/item/trash/tray, /obj/item/trash/unajerky, /obj/item/trash/waffles, - /obj/item/weapon/reagent_containers/food/snacks/xenomeat/spidermeat, - /obj/item/weapon/reagent_containers/food/snacks/mysterysoup, - /obj/item/weapon/reagent_containers/food/snacks/old/hotdog, + /obj/item/reagent_containers/food/snacks/xenomeat/spidermeat, + /obj/item/reagent_containers/food/snacks/mysterysoup, + /obj/item/reagent_containers/food/snacks/old/hotdog, /obj/item/pizzabox/old, /obj/item/ammo_casing/spent, /obj/item/stack/rods{amount = 5}, @@ -265,16 +273,16 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh /obj/item/stack/material/cardboard{amount = 5}, /obj/item/poster, /obj/item/poster/custom, - /obj/item/weapon/newspaper, - /obj/item/weapon/paper/crumpled, - /obj/item/weapon/paper/crumpled/bloody + /obj/item/newspaper, + /obj/item/paper/crumpled, + /obj/item/paper/crumpled/bloody ) uncommon_loot = list( - /obj/item/weapon/reagent_containers/syringe/steroid, - /obj/item/weapon/storage/pill_bottle/zoom, - /obj/item/weapon/storage/pill_bottle/happy, - /obj/item/weapon/storage/pill_bottle/paracetamol //VOREStation Edit + /obj/item/reagent_containers/syringe/steroid, + /obj/item/storage/pill_bottle/zoom, + /obj/item/storage/pill_bottle/happy, + /obj/item/storage/pill_bottle/paracetamol //VOREStation Edit ) // Contains loads of different types of boxes, which may have items inside! @@ -285,44 +293,44 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh icon_states_to_use = list("boxfort") common_loot = list( - /obj/item/weapon/storage/box, - /obj/item/weapon/storage/box/beakers, - /obj/item/weapon/storage/box/botanydisk, - /obj/item/weapon/storage/box/cups, - /obj/item/weapon/storage/box/disks, - /obj/item/weapon/storage/box/donkpockets, - /obj/item/weapon/storage/box/donut, - /obj/item/weapon/storage/box/donut/empty, - /obj/item/weapon/storage/box/evidence, - /obj/item/weapon/storage/box/lights/mixed, - /obj/item/weapon/storage/box/lights/tubes, - /obj/item/weapon/storage/box/lights/bulbs, - /obj/item/weapon/storage/box/injectors, - /obj/item/weapon/storage/box/masks, - /obj/item/weapon/storage/box/ids, - /obj/item/weapon/storage/box/mousetraps, - /obj/item/weapon/storage/box/syringes, - /obj/item/weapon/storage/box/survival, - /obj/item/weapon/storage/box/gloves, - /obj/item/weapon/storage/box/PDAs + /obj/item/storage/box, + /obj/item/storage/box/beakers, + /obj/item/storage/box/botanydisk, + /obj/item/storage/box/cups, + /obj/item/storage/box/disks, + /obj/item/storage/box/donkpockets, + /obj/item/storage/box/donut, + /obj/item/storage/box/donut/empty, + /obj/item/storage/box/evidence, + /obj/item/storage/box/lights/mixed, + /obj/item/storage/box/lights/tubes, + /obj/item/storage/box/lights/bulbs, + /obj/item/storage/box/injectors, + /obj/item/storage/box/masks, + /obj/item/storage/box/ids, + /obj/item/storage/box/mousetraps, + /obj/item/storage/box/syringes, + /obj/item/storage/box/survival, + /obj/item/storage/box/gloves, + /obj/item/storage/box/PDAs ) uncommon_loot = list( - /obj/item/weapon/storage/box/sinpockets, + /obj/item/storage/box/sinpockets, /obj/item/ammo_magazine/ammo_box/b12g/practice, /obj/item/ammo_magazine/ammo_box/b12g/blank, - /obj/item/weapon/storage/box/smokes, - /obj/item/weapon/storage/box/metalfoam, - /obj/item/weapon/storage/box/handcuffs, - /obj/item/weapon/storage/box/seccarts + /obj/item/storage/box/smokes, + /obj/item/storage/box/metalfoam, + /obj/item/storage/box/handcuffs, + /obj/item/storage/box/seccarts ) rare_loot = list( - /obj/item/weapon/storage/box/flashbangs, - /obj/item/weapon/storage/box/empslite, + /obj/item/storage/box/flashbangs, + /obj/item/storage/box/empslite, /obj/item/ammo_magazine/ammo_box/b12g/flash, /obj/item/ammo_magazine/ammo_box/b12g/stunshell, - /obj/item/weapon/storage/box/teargas + /obj/item/storage/box/teargas ) // One of the more useful maint piles, contains electrical components. @@ -333,60 +341,60 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh icon_states_to_use = list("technical_pile1", "technical_pile2", "technical_pile3") common_loot = list( - /obj/item/weapon/stock_parts/gear, - /obj/item/weapon/stock_parts/console_screen, - /obj/item/weapon/stock_parts/spring, - /obj/item/weapon/stock_parts/capacitor, - /obj/item/weapon/stock_parts/capacitor/adv, - /obj/item/weapon/stock_parts/capacitor/super, - /obj/item/weapon/stock_parts/manipulator, - /obj/item/weapon/stock_parts/manipulator/nano, - /obj/item/weapon/stock_parts/manipulator/pico, - /obj/item/weapon/stock_parts/matter_bin, - /obj/item/weapon/stock_parts/matter_bin/adv, - /obj/item/weapon/stock_parts/matter_bin/super, - /obj/item/weapon/stock_parts/scanning_module, - /obj/item/weapon/stock_parts/scanning_module/adv, - /obj/item/weapon/stock_parts/scanning_module/phasic, - /obj/item/weapon/stock_parts/subspace/amplifier, - /obj/item/weapon/stock_parts/subspace/analyzer, - /obj/item/weapon/stock_parts/subspace/ansible, - /obj/item/weapon/stock_parts/subspace/crystal, - /obj/item/weapon/stock_parts/subspace/sub_filter, - /obj/item/weapon/stock_parts/subspace/transmitter, - /obj/item/weapon/stock_parts/subspace/treatment, + /obj/item/stock_parts/gear, + /obj/item/stock_parts/console_screen, + /obj/item/stock_parts/spring, + /obj/item/stock_parts/capacitor, + /obj/item/stock_parts/capacitor/adv, + /obj/item/stock_parts/capacitor/super, + /obj/item/stock_parts/manipulator, + /obj/item/stock_parts/manipulator/nano, + /obj/item/stock_parts/manipulator/pico, + /obj/item/stock_parts/matter_bin, + /obj/item/stock_parts/matter_bin/adv, + /obj/item/stock_parts/matter_bin/super, + /obj/item/stock_parts/scanning_module, + /obj/item/stock_parts/scanning_module/adv, + /obj/item/stock_parts/scanning_module/phasic, + /obj/item/stock_parts/subspace/amplifier, + /obj/item/stock_parts/subspace/analyzer, + /obj/item/stock_parts/subspace/ansible, + /obj/item/stock_parts/subspace/crystal, + /obj/item/stock_parts/subspace/sub_filter, + /obj/item/stock_parts/subspace/transmitter, + /obj/item/stock_parts/subspace/treatment, /obj/item/frame, /obj/item/broken_device/random, /obj/item/borg/upgrade/utility/restart, - /obj/item/weapon/cell, - /obj/item/weapon/cell/high, - /obj/item/weapon/cell/device, - /obj/item/weapon/circuitboard/broken, - /obj/item/weapon/circuitboard/arcade, - /obj/item/weapon/circuitboard/autolathe, - /obj/item/weapon/circuitboard/atmos_alert, - /obj/item/weapon/circuitboard/airalarm, - /obj/item/weapon/circuitboard/fax, - /obj/item/weapon/circuitboard/jukebox, - /obj/item/weapon/circuitboard/batteryrack, - /obj/item/weapon/circuitboard/message_monitor, - /obj/item/weapon/circuitboard/rcon_console, - /obj/item/weapon/smes_coil, - /obj/item/weapon/cartridge/engineering, - /obj/item/device/analyzer, - /obj/item/device/healthanalyzer, - /obj/item/device/robotanalyzer, - /obj/item/device/lightreplacer, - /obj/item/device/radio, - /obj/item/device/hailer, - /obj/item/device/gps, - /obj/item/device/geiger, - /obj/item/device/mass_spectrometer, - /obj/item/weapon/tool/wrench, - /obj/item/weapon/tool/screwdriver, - /obj/item/weapon/tool/wirecutters, - /obj/item/weapon/mining_scanner/advanced, - /obj/item/device/multitool, + /obj/item/cell, + /obj/item/cell/high, + /obj/item/cell/device, + /obj/item/circuitboard/broken, + /obj/item/circuitboard/arcade, + /obj/item/circuitboard/autolathe, + /obj/item/circuitboard/atmos_alert, + /obj/item/circuitboard/airalarm, + /obj/item/circuitboard/fax, + /obj/item/circuitboard/jukebox, + /obj/item/circuitboard/batteryrack, + /obj/item/circuitboard/message_monitor, + /obj/item/circuitboard/rcon_console, + /obj/item/smes_coil, + /obj/item/cartridge/engineering, + /obj/item/analyzer, + /obj/item/healthanalyzer, + /obj/item/robotanalyzer, + /obj/item/lightreplacer, + /obj/item/radio, + /obj/item/hailer, + /obj/item/gps, + /obj/item/geiger, + /obj/item/mass_spectrometer, + /obj/item/tool/wrench, + /obj/item/tool/screwdriver, + /obj/item/tool/wirecutters, + /obj/item/mining_scanner/advanced, + /obj/item/multitool, /obj/item/mecha_parts/mecha_equipment/generator, /obj/item/mecha_parts/mecha_equipment/tool/cable_layer, /obj/item/mecha_parts/mecha_equipment/tool/drill, @@ -403,18 +411,18 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh ) uncommon_loot = list( - /obj/item/weapon/cell/super, - /obj/item/weapon/cell/device/weapon, - /obj/item/weapon/circuitboard/security, - /obj/item/weapon/circuitboard/crew, - /obj/item/weapon/aiModule/reset, - /obj/item/weapon/smes_coil/super_capacity, - /obj/item/weapon/smes_coil/super_io, - /obj/item/weapon/cartridge/captain, - /obj/item/weapon/disk/integrated_circuit/upgrade/advanced, - /obj/item/device/tvcamera, - /obj/item/device/universal_translator, - /obj/item/device/aicard, + /obj/item/cell/super, + /obj/item/cell/device/weapon, + /obj/item/circuitboard/security, + /obj/item/circuitboard/crew, + /obj/item/aiModule/reset, + /obj/item/smes_coil/super_capacity, + /obj/item/smes_coil/super_io, + /obj/item/cartridge/captain, + /obj/item/disk/integrated_circuit/upgrade/advanced, + /obj/item/tvcamera, + /obj/item/universal_translator, + /obj/item/aicard, /obj/item/borg/upgrade/advanced/jetpack, /obj/item/borg/upgrade/advanced/advhealth, /obj/item/borg/upgrade/basic/vtec, @@ -434,12 +442,12 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh ) rare_loot = list( - /obj/item/weapon/cell/hyper, - /obj/item/weapon/aiModule/freeform, - /obj/item/weapon/aiModule/asimov, - /obj/item/weapon/aiModule/paladin, - /obj/item/weapon/aiModule/safeguard, - /obj/item/weapon/disposable_teleporter, + /obj/item/cell/hyper, + /obj/item/aiModule/freeform, + /obj/item/aiModule/asimov, + /obj/item/aiModule/paladin, + /obj/item/aiModule/safeguard, + /obj/item/disposable_teleporter, /obj/item/mecha_parts/mecha_equipment/tesla_energy_relay ) @@ -466,44 +474,44 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh // May contain alien tools. /obj/structure/loot_pile/surface/alien/engineering uncommon_loot = list( - /obj/item/device/multitool/alien, + /obj/item/multitool/alien, /obj/item/stack/cable_coil/alien, - /obj/item/weapon/tool/crowbar/alien, - /obj/item/weapon/tool/screwdriver/alien, - /obj/item/weapon/weldingtool/alien, - /obj/item/weapon/tool/wirecutters/alien, - /obj/item/weapon/tool/wrench/alien + /obj/item/tool/crowbar/alien, + /obj/item/tool/screwdriver/alien, + /obj/item/weldingtool/alien, + /obj/item/tool/wirecutters/alien, + /obj/item/tool/wrench/alien ) rare_loot = list( - /obj/item/weapon/storage/belt/utility/alien/full + /obj/item/storage/belt/utility/alien/full ) // May contain alien surgery equipment or powerful medication. /obj/structure/loot_pile/surface/alien/medical uncommon_loot = list( - /obj/item/weapon/surgical/FixOVein/alien, - /obj/item/weapon/surgical/bone_clamp/alien, - /obj/item/weapon/surgical/cautery/alien, - /obj/item/weapon/surgical/circular_saw/alien, - /obj/item/weapon/surgical/hemostat/alien, - /obj/item/weapon/surgical/retractor/alien, - /obj/item/weapon/surgical/scalpel/alien, - /obj/item/weapon/surgical/surgicaldrill/alien + /obj/item/surgical/FixOVein/alien, + /obj/item/surgical/bone_clamp/alien, + /obj/item/surgical/cautery/alien, + /obj/item/surgical/circular_saw/alien, + /obj/item/surgical/hemostat/alien, + /obj/item/surgical/retractor/alien, + /obj/item/surgical/scalpel/alien, + /obj/item/surgical/surgicaldrill/alien ) rare_loot = list( - /obj/item/weapon/storage/belt/medical/alien + /obj/item/storage/belt/medical/alien ) // May contain powercells or alien weaponry. /obj/structure/loot_pile/surface/alien/security uncommon_loot = list( - /obj/item/weapon/cell/device/weapon/recharge/alien, + /obj/item/cell/device/weapon/recharge/alien, /obj/item/clothing/suit/armor/alien, /obj/item/clothing/head/helmet/alien ) rare_loot = list( /obj/item/clothing/suit/armor/alien/tank, - /obj/item/weapon/gun/energy/alien + /obj/item/gun/energy/alien ) // The pile found at the very end, and as such has the best loot. @@ -512,29 +520,29 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh chance_rare = 10 common_loot = list( - /obj/item/device/multitool/alien, + /obj/item/multitool/alien, /obj/item/stack/cable_coil/alien, - /obj/item/weapon/tool/crowbar/alien, - /obj/item/weapon/tool/screwdriver/alien, - /obj/item/weapon/weldingtool/alien, - /obj/item/weapon/tool/wirecutters/alien, - /obj/item/weapon/tool/wrench/alien, - /obj/item/weapon/surgical/FixOVein/alien, - /obj/item/weapon/surgical/bone_clamp/alien, - /obj/item/weapon/surgical/cautery/alien, - /obj/item/weapon/surgical/circular_saw/alien, - /obj/item/weapon/surgical/hemostat/alien, - /obj/item/weapon/surgical/retractor/alien, - /obj/item/weapon/surgical/scalpel/alien, - /obj/item/weapon/surgical/surgicaldrill/alien, - /obj/item/weapon/cell/device/weapon/recharge/alien, + /obj/item/tool/crowbar/alien, + /obj/item/tool/screwdriver/alien, + /obj/item/weldingtool/alien, + /obj/item/tool/wirecutters/alien, + /obj/item/tool/wrench/alien, + /obj/item/surgical/FixOVein/alien, + /obj/item/surgical/bone_clamp/alien, + /obj/item/surgical/cautery/alien, + /obj/item/surgical/circular_saw/alien, + /obj/item/surgical/hemostat/alien, + /obj/item/surgical/retractor/alien, + /obj/item/surgical/scalpel/alien, + /obj/item/surgical/surgicaldrill/alien, + /obj/item/cell/device/weapon/recharge/alien, /obj/item/clothing/suit/armor/alien, /obj/item/clothing/head/helmet/alien, - /obj/item/weapon/gun/energy/alien + /obj/item/gun/energy/alien ) uncommon_loot = list( - /obj/item/weapon/storage/belt/medical/alien, - /obj/item/weapon/storage/belt/utility/alien/full, + /obj/item/storage/belt/medical/alien, + /obj/item/storage/belt/utility/alien/full, /obj/item/clothing/suit/armor/alien/tank, /obj/item/clothing/head/helmet/alien/tank, ) @@ -547,26 +555,26 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh delete_on_depletion = TRUE common_loot = list( - /obj/item/weapon/bone, - /obj/item/weapon/bone/skull, - /obj/item/weapon/bone/skull/tajaran, - /obj/item/weapon/bone/skull/unathi, - /obj/item/weapon/bone/skull/unknown, - /obj/item/weapon/bone/leg, - /obj/item/weapon/bone/arm, - /obj/item/weapon/bone/ribs, + /obj/item/bone, + /obj/item/bone/skull, + /obj/item/bone/skull/tajaran, + /obj/item/bone/skull/unathi, + /obj/item/bone/skull/unknown, + /obj/item/bone/leg, + /obj/item/bone/arm, + /obj/item/bone/ribs, ) uncommon_loot = list( - /obj/item/weapon/coin/gold, - /obj/item/weapon/coin/silver, - /obj/item/weapon/deck/tarot, - /obj/item/weapon/flame/lighter/zippo/gold, - /obj/item/weapon/flame/lighter/zippo/black, - /obj/item/weapon/material/knife/tacknife/survival, - /obj/item/weapon/material/knife/tacknife/combatknife, - /obj/item/weapon/material/knife/machete/hatchet, - /obj/item/weapon/material/knife/butch, - /obj/item/weapon/storage/wallet/random, + /obj/item/coin/gold, + /obj/item/coin/silver, + /obj/item/deck/tarot, + /obj/item/flame/lighter/zippo/gold, + /obj/item/flame/lighter/zippo/black, + /obj/item/material/knife/tacknife/survival, + /obj/item/material/knife/tacknife/combatknife, + /obj/item/material/knife/machete/hatchet, + /obj/item/material/knife/butch, + /obj/item/storage/wallet/random, /obj/item/clothing/accessory/bracelet/material/gold, /obj/item/clothing/accessory/bracelet/material/silver, /obj/item/clothing/accessory/locket, @@ -579,10 +587,10 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh /obj/item/clothing/under/sl_suit ) rare_loot = list( - /obj/item/weapon/storage/belt/utility/alien/full, - /obj/item/weapon/gun/projectile/revolver, - /obj/item/weapon/gun/projectile/sec, - /obj/item/weapon/gun/launcher/crossbow + /obj/item/storage/belt/utility/alien/full, + /obj/item/gun/projectile/revolver, + /obj/item/gun/projectile/sec, + /obj/item/gun/launcher/crossbow ) // Subtype for mecha and mecha accessories. These might not always be on the surface. @@ -650,9 +658,9 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh /obj/item/mecha_parts/part/ripley_right_arm, /obj/item/mecha_parts/part/ripley_left_leg, /obj/item/mecha_parts/part/ripley_right_leg, - /obj/item/device/kit/paint/ripley, - /obj/item/device/kit/paint/ripley/flames_red, - /obj/item/device/kit/paint/ripley/flames_blue + /obj/item/kit/paint/ripley, + /obj/item/kit/paint/ripley/flames_red, + /obj/item/kit/paint/ripley/flames_blue ) uncommon_loot = list( @@ -693,7 +701,7 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh /obj/item/mecha_parts/part/ripley_right_arm, /obj/item/mecha_parts/part/ripley_left_leg, /obj/item/mecha_parts/part/ripley_right_leg, - /obj/item/device/kit/paint/ripley/death + /obj/item/kit/paint/ripley/death ) uncommon_loot = list( @@ -780,9 +788,9 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/grenade, /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser, /obj/item/mecha_parts/mecha_equipment/weapon/energy/taser, - /obj/item/device/kit/paint/gygax, - /obj/item/device/kit/paint/gygax/darkgygax, - /obj/item/device/kit/paint/gygax/recitence + /obj/item/kit/paint/gygax, + /obj/item/kit/paint/gygax/darkgygax, + /obj/item/kit/paint/gygax/recitence ) rare_loot = list( @@ -833,9 +841,9 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/grenade, /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser, /obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster, - /obj/item/device/kit/paint/durand, - /obj/item/device/kit/paint/durand/seraph, - /obj/item/device/kit/paint/durand/phazon + /obj/item/kit/paint/durand, + /obj/item/kit/paint/durand/seraph, + /obj/item/kit/paint/durand/phazon ) rare_loot = list( @@ -867,7 +875,7 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh icon_state = "phazon-broken" common_loot = list( - /obj/item/weapon/storage/toolbox/syndicate/powertools, + /obj/item/storage/toolbox/syndicate/powertools, /obj/item/stack/material/plasteel{amount = 20}, /obj/item/stack/material/durasteel{amount = 10}, /obj/item/mecha_parts/chassis/phazon, @@ -909,12 +917,12 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh /obj/item/stack/material/steel{amount = 25}, /obj/item/stack/material/glass{amount = 10}, /obj/item/stack/material/plasteel{amount = 5}, - /obj/item/weapon/cell, - /obj/item/weapon/material/shard + /obj/item/cell, + /obj/item/material/shard ) uncommon_loot = list( - /obj/item/weapon/cell/high, + /obj/item/cell/high, /obj/item/robot_parts/robot_component/actuator, /obj/item/robot_parts/robot_component/armour, /obj/item/robot_parts/robot_component/binary_communication_device, @@ -924,7 +932,7 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh ) rare_loot = list( - /obj/item/weapon/cell/super, + /obj/item/cell/super, /obj/item/borg/upgrade/utility/restart, /obj/item/borg/upgrade/advanced/jetpack, /obj/item/borg/upgrade/restricted/tasercooler, diff --git a/code/game/objects/structures/low_wall.dm b/code/game/objects/structures/low_wall.dm index 8d0d035b960..b642ea80ae6 100644 --- a/code/game/objects/structures/low_wall.dm +++ b/code/game/objects/structures/low_wall.dm @@ -62,15 +62,15 @@ . = ..() if(health == material.integrity) - to_chat(user, "It seems to be in fine condition.") + to_chat(user, span_notice("It seems to be in fine condition.")) else var/dam = health / material.integrity if(dam <= 0.3) - to_chat(user, "It's got a few dents and scratches.") + to_chat(user, span_notice("It's got a few dents and scratches.")) else if(dam <= 0.7) - to_chat(user, "A few pieces of panelling have fallen off.") + to_chat(user, span_warning("A few pieces of panelling have fallen off.")) else - to_chat(user, "It's nearly falling to pieces.") + to_chat(user, span_danger("It's nearly falling to pieces.")) /obj/structure/low_wall/attackby(var/obj/item/W, var/mob/user, var/hit_modifier, var/click_parameters) src.add_fingerprint(user) @@ -89,15 +89,15 @@ if(W.has_tool_quality(TOOL_WRENCH)) for(var/obj/structure/S in loc) if(istype(S, /obj/structure/window)) - to_chat(user, "There is still a window on the low wall!") + to_chat(user, span_notice("There is still a window on the low wall!")) return else if(istype(S, /obj/structure/grille)) - to_chat(user, "There is still a grille on the low wall!") + to_chat(user, span_notice("There is still a grille on the low wall!")) return playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1) - to_chat(user, "Now disassembling the low wall...") + to_chat(user, span_notice("Now disassembling the low wall...")) if(do_after(user, 40, src)) - to_chat(user, "You dissasembled the low wall!") + to_chat(user, span_notice("You dissasembled the low wall!")) dismantle() return @@ -108,7 +108,7 @@ if(W.loc != user) // This should stop mounted modules ending up outside the module. return - if(can_place_items() && user.unEquip(W, 0, src.loc) && user.is_preference_enabled(/datum/client_preference/precision_placement)) + if(can_place_items() && user.unEquip(W, 0, src.loc) && user.client?.prefs?.read_preference(/datum/preference/toggle/precision_placement)) auto_align(W, click_parameters) return 1 @@ -133,7 +133,7 @@ if(istype(O, /obj/structure/window)) var/obj/structure/window/W = O if(Adjacent(W) && !W.anchored) - to_chat("You hoist [W] up onto [src].") + to_chat(user, span_notice("You hoist [W] up onto [src].")) W.forceMove(loc) return if(isrobot(user)) @@ -158,21 +158,21 @@ O.forceMove(loc) auto_align(I, params, TRUE) else - to_chat(user, SPAN_WARNING("\The [I] is too big for you to move!")) + to_chat(user, span_warning("\The [I] is too big for you to move!")) return /obj/structure/low_wall/proc/handle_rod_use(mob/user, obj/item/stack/rods/R) if(!grille_type) - to_chat(user, "This type of wall frame doesn't support grilles.") + to_chat(user, span_notice("This type of wall frame doesn't support grilles.")) return for(var/obj/structure/window/WINDOW in loc) if(WINDOW.dir == get_dir(src, user)) - to_chat(user, "There is a window in the way.") + to_chat(user, span_notice("There is a window in the way.")) return if(R.get_amount() < 2) - to_chat(user, "You need at least two rods to do this.") + to_chat(user, span_warning("You need at least two rods to do this.")) return - to_chat(user, "Assembling grille...") + to_chat(user, span_notice("Assembling grille...")) if(!do_after(user, 1 SECONDS, R, exclusive = TASK_ALL_EXCLUSIVE)) return if(!R.use(2)) @@ -183,16 +183,16 @@ /obj/structure/low_wall/proc/handle_glass_use(mob/user, obj/item/stack/material/glass/G) var/window_type = get_window_build_type(user, G) if(!window_type) - to_chat(user, "You can't build that type of window on this type of low wall.") + to_chat(user, span_notice("You can't build that type of window on this type of low wall.")) return for(var/obj/structure/window/WINDOW in loc) if(WINDOW.dir == get_dir(src, user)) - to_chat(user, "There is already a window here.") + to_chat(user, span_notice("There is already a window here.")) return if(G.get_amount() < 4) - to_chat(user, "You need at least four sheets of glass to do this.") + to_chat(user, span_warning("You need at least four sheets of glass to do this.")) return - to_chat(user, "Assembling window...") + to_chat(user, span_notice("Assembling window...")) if(!do_after(user, 4 SECONDS, G, exclusive = TASK_ALL_EXCLUSIVE)) return if(!G.use(4)) @@ -277,7 +277,7 @@ dismantle() /obj/structure/low_wall/attack_generic(var/mob/user, var/damage, var/attack_verb) - visible_message("[user] [attack_verb] the [src]!") + visible_message(span_danger("[user] [attack_verb] the [src]!")) user.do_attack_animation(src) take_damage(damage) return ..() @@ -466,7 +466,7 @@ name = "phoron window" desc = "A borosilicate alloy window. It seems to be quite strong." icon_state = "preview_phoron" - shardtype = /obj/item/weapon/material/shard/phoron + shardtype = /obj/item/material/shard/phoron glasstype = /obj/item/stack/material/glass/phoronglass maximal_heat = T0C + 2000 damage_per_fire_tick = 1.0 @@ -479,7 +479,7 @@ desc = "A borosilicate alloy window, with rods supporting it. It seems to be very strong." icon_state = "preview_rphoron" basestate = "rwindow" - shardtype = /obj/item/weapon/material/shard/phoron + shardtype = /obj/item/material/shard/phoron glasstype = /obj/item/stack/material/glass/phoronrglass reinf = 1 maximal_heat = T0C + 4000 @@ -542,7 +542,7 @@ desc = "A borosilicate alloy window. It seems to be quite strong." basestate = "preview_phoron" icon_state = "pwindow" - shardtype = /obj/item/weapon/material/shard/phoron + shardtype = /obj/item/material/shard/phoron glasstype = /obj/item/stack/material/glass/phoronglass maximal_heat = T0C + 2000 damage_per_fire_tick = 1.0 @@ -555,7 +555,7 @@ desc = "A borosilicate alloy window, with rods supporting it. It seems to be very strong." basestate = "preview_rphoron" icon_state = "rpwindow" - shardtype = /obj/item/weapon/material/shard/phoron + shardtype = /obj/item/material/shard/phoron glasstype = /obj/item/stack/material/glass/phoronrglass reinf = 1 maximal_heat = T0C + 4000 @@ -662,4 +662,4 @@ /obj/effect/low_wall_spawner/eris/reinforced/rphoron icon_state = "spr_rphoron" - window_type = /obj/structure/window/eris/phoronreinforced \ No newline at end of file + window_type = /obj/structure/window/eris/phoronreinforced diff --git a/code/game/objects/structures/medical_stand_vr.dm b/code/game/objects/structures/medical_stand_vr.dm index 63b6f365f52..05bd7fde60f 100644 --- a/code/game/objects/structures/medical_stand_vr.dm +++ b/code/game/objects/structures/medical_stand_vr.dm @@ -5,7 +5,7 @@ icon_state = "medical_stand_empty" //gas stuff - var/obj/item/weapon/tank/tank + var/obj/item/tank/tank var/mob/living/carbon/human/breather var/obj/item/clothing/mask/breath/contained @@ -17,7 +17,7 @@ //blood stuff var/mob/living/carbon/attached var/mode = 1 // 1 is injecting, 0 is taking blood. - var/obj/item/weapon/reagent_containers/beaker + var/obj/item/reagent_containers/beaker var/list/transfer_amounts = list(REM, 1, 2) var/transfer_amount = 1 @@ -36,15 +36,15 @@ add_overlay("tube_active") else add_overlay("tube") - if(istype(tank,/obj/item/weapon/tank/anesthetic)) + if(istype(tank,/obj/item/tank/anesthetic)) add_overlay("tank_anest") - else if(istype(tank,/obj/item/weapon/tank/nitrogen)) + else if(istype(tank,/obj/item/tank/nitrogen)) add_overlay("tank_nitro") - else if(istype(tank,/obj/item/weapon/tank/oxygen)) + else if(istype(tank,/obj/item/tank/oxygen)) add_overlay("tank_oxyg") - else if(istype(tank,/obj/item/weapon/tank/phoron)) + else if(istype(tank,/obj/item/tank/phoron)) add_overlay("tank_plasma") - //else if(istype(tank,/obj/item/weapon/tank/hydrogen)) + //else if(istype(tank,/obj/item/tank/hydrogen)) // add_overlay("tank_hydro") else add_overlay("tank_other") @@ -80,7 +80,7 @@ qdel(tank) if(breather) breather.remove_from_mob(contained) - src.visible_message("The mask rapidly retracts just before /the [src] is destroyed!") + src.visible_message(span_notice("The mask rapidly retracts just before /the [src] is destroyed!")) qdel(contained) contained = null breather = null @@ -129,16 +129,16 @@ qdel(contained) contained = new mask_type(src) breather = null - src.visible_message("\The [contained] slips to \the [src]!") + src.visible_message(span_infoplain(span_bold("\The [contained]") + " slips to \the [src]!")) update_icon() return - usr.visible_message("\The [usr] begins carefully placing the mask onto [target].", - "You begin carefully placing the mask onto [target].") + usr.visible_message(span_infoplain(span_bold("\The [usr]") + " begins carefully placing the mask onto [target]."), + span_notice("You begin carefully placing the mask onto [target].")) if(!do_mob(usr, target, 100) || !can_apply_to_target(target, usr)) return // place mask and add fingerprints - usr.visible_message("\The [usr] has placed \the mask on [target]'s mouth.", - "You have placed \the mask on [target]'s mouth.") + usr.visible_message(span_notice("\The [usr] has placed \the mask on [target]'s mouth."), + span_notice("You have placed \the mask on [target]'s mouth.")) if(attach_mask(target)) src.add_fingerprint(usr) update_icon() @@ -151,15 +151,15 @@ visible_message("\The [attached] is taken off \the [src]") attached = null else if(ishuman(target)) - usr.visible_message("\The [usr] begins inserting needle into [target]'s vein.", - "You begin inserting needle into [target]'s vein.") + usr.visible_message(span_infoplain(span_bold("\The [usr]") + " begins inserting needle into [target]'s vein."), + span_notice("You begin inserting needle into [target]'s vein.")) if(!do_mob(usr, target, 50)) - usr.visible_message("\The [usr]'s hand slips and pricks \the [target].", - "Your hand slips and pricks \the [target].") + usr.visible_message(span_notice("\The [usr]'s hand slips and pricks \the [target]."), + span_notice("Your hand slips and pricks \the [target].")) target.apply_damage(3, BRUTE, pick(BP_R_ARM, BP_L_ARM)) return - usr.visible_message("\The [usr] hooks \the [target] up to \the [src].", - "You hook \the [target] up to \the [src].") + usr.visible_message(span_infoplain(span_bold("\The [usr]") + "hooks \the [target] up to \the [src]."), + span_notice("You hook \the [target] up to \the [src].")) attached = target START_PROCESSING(SSobj,src) update_icon() @@ -181,33 +181,33 @@ switch (action_type) if ("Remove tank") if (!tank) - to_chat(user, "There is no tank in \the [src]!") + to_chat(user, span_warning("There is no tank in \the [src]!")) return else if (tank && is_loosen) - user.visible_message("\The [user] removes \the [tank] from \the [src].", "You remove \the [tank] from \the [src].>") + user.visible_message(span_warningplain(span_bold("\The [user]") + " removes \the [tank] from \the [src]."), span_warning("You remove \the [tank] from \the [src].")) user.put_in_hands(tank) tank = null update_icon() return else if (!is_loosen) - user.visible_message("\The [user] tries to removes \the [tank] from \the [src] but it won't budge.", "You try to removes \the [tank] from \the [src] but it won't budge.>") + user.visible_message(span_warningplain(span_bold("\The [user]") + " tries to removes \the [tank] from \the [src] but it won't budge."), span_warning("You try to removes \the [tank] from \the [src] but it won't budge.")) return if ("Toggle valve") if (!tank) - to_chat(user, "There is no tank in \the [src]!") + to_chat(user, span_warning("There is no tank in \the [src]!")) return else if (valve_opened) - src.visible_message("\The [user] closes valve on \the [src]!", - "You close valve on \the [src].") + src.visible_message(span_infoplain(span_bold("\The [user]") + " closes valve on \the [src]!"), + span_notice("You close valve on \the [src].")) if(breather) breather.internals?.icon_state = "internal0" breather.internal = null valve_opened = FALSE update_icon() else - src.visible_message("\The [user] opens valve on \the [src]!", - "You open valve on \the [src].") + src.visible_message(span_infoplain(span_bold("\The [user]") + " opens valve on \the [src]!"), + span_notice("You open valve on \the [src].")) if(breather) breather.internal = tank breather.internals?.icon_state = "internal1" @@ -227,7 +227,7 @@ set src in view(1) if(!istype(usr, /mob/living)) - to_chat(usr, "You can't do that.") + to_chat(usr, span_warning("You can't do that.")) return if(usr.incapacitated()) @@ -257,42 +257,42 @@ user = target // Check target validity if(!istype(target)) - to_chat(user, "\The [target] not compatible with machine.") + to_chat(user, span_warning("\The [target] not compatible with machine.")) return if(!target.organs_by_name[BP_HEAD]) - to_chat(user, "\The [target] doesn't have a head.") + to_chat(user, span_warning("\The [target] doesn't have a head.")) return if(!target.check_has_mouth()) - to_chat(user, "\The [target] doesn't have a mouth.") + to_chat(user, span_warning("\The [target] doesn't have a mouth.")) return if(target.wear_mask && target != breather) - to_chat(user, "\The [target] is already wearing a mask.") + to_chat(user, span_warning("\The [target] is already wearing a mask.")) return if(target.head && (target.head.body_parts_covered & FACE)) - to_chat(user, "Remove their [target.head] first.") + to_chat(user, span_warning("Remove their [target.head] first.")) return if(!tank) - to_chat(user, "There is no tank in \the [src].") + to_chat(user, span_warning("There is no tank in \the [src].")) return if(is_loosen) - to_chat(user, "Tighten \the nut with a wrench first.") + to_chat(user, span_warning("Tighten \the nut with a wrench first.")) return if(!Adjacent(target)) return //when there is a breather: if(breather && target != breather) - to_chat(user, "\The [src] is already in use.") + to_chat(user, span_warning("\The [src] is already in use.")) return //Checking if breather is still valid if(target == breather && target.wear_mask != contained) - to_chat(user, "\The [target] is not using the supplied mask.") + to_chat(user, span_warning("\The [target] is not using the supplied mask.")) return return 1 -/obj/structure/medical_stand/attackby(var/obj/item/weapon/W, var/mob/user) - if(istype (W, /obj/item/weapon/tool)) +/obj/structure/medical_stand/attackby(var/obj/item/W, var/mob/user) + if(istype (W, /obj/item/tool)) if (valve_opened) - to_chat(user, "Close the valve first.") + to_chat(user, span_warning("Close the valve first.")) return if (tank) if(!W.has_tool_quality(TOOL_WRENCH)) @@ -304,26 +304,26 @@ if (valve_opened) START_PROCESSING(SSobj,src) user.visible_message( - "The [user] [is_loosen == TRUE ? "loosen" : "tighten"] the nut holding [tank] in place.", - "You [is_loosen == TRUE ? "loosen" : "tighten"] the nut holding [tank] in place.") + span_notice("The [user] [is_loosen == TRUE ? "loosen" : "tighten"] the nut holding [tank] in place."), + span_notice("You [is_loosen == TRUE ? "loosen" : "tighten"] the nut holding [tank] in place.")) else - to_chat(user, "There is no tank in \the [src].") + to_chat(user, span_warning("There is no tank in \the [src].")) - else if(istype(W, /obj/item/weapon/tank)) + else if(istype(W, /obj/item/tank)) if(tank) - to_chat(user, "\The [src] already has a tank installed!") + to_chat(user, span_warning("\The [src] already has a tank installed!")) else if(!is_loosen) - to_chat(user, "Loosen the nut with a wrench first.") + to_chat(user, span_warning("Loosen the nut with a wrench first.")) else user.drop_item() W.forceMove(src) tank = W - user.visible_message("\The [user] attaches \the [tank] to \the [src].", "You attach \the [tank] to \the [src].") + user.visible_message(span_bold("\The [user]") + " attaches \the [tank] to \the [src].", span_notice("You attach \the [tank] to \the [src].")) src.add_fingerprint(user) update_icon() - else if (istype(W, /obj/item/weapon/reagent_containers)) + else if (istype(W, /obj/item/reagent_containers)) if(!isnull(src.beaker)) to_chat(user, "There is already a reagent container loaded!") return @@ -345,12 +345,12 @@ . += "The IV drip is [mode ? "injecting" : "taking blood"]." . += "It is set to transfer [transfer_amount]u of chemicals per cycle." if(beaker.reagents && beaker.reagents.total_volume) - . += "Attached is \a [beaker] with [beaker.reagents.total_volume] units of liquid." + . += span_notice("Attached is \a [beaker] with [beaker.reagents.total_volume] units of liquid.") else - . += "Attached is an empty [beaker]." - . += "[attached ? attached : "No one"] is hooked up to it." + . += span_notice("Attached is an empty [beaker].") + . += span_notice("[attached ? attached : "No one"] is hooked up to it.") else - . += "There is no vessel." + . += span_notice("There is no vessel.") if(tank) if (!is_loosen) @@ -359,7 +359,7 @@ if (tank.distribute_pressure == 0) . += "Use wrench to replace tank." else - . += "There is no tank." + . += span_notice("There is no tank.") /obj/structure/medical_stand/process() //Gas Stuff @@ -373,7 +373,7 @@ else qdel(contained) contained = new mask_type (src) - src.visible_message("\The [contained] slips to \the [src]!") + src.visible_message(span_bold("\The [contained]") + " slips to \the [src]!") breather = null update_icon() return @@ -438,7 +438,6 @@ return PROCESS_KILL /obj/structure/medical_stand/anesthetic - spawn_type = /obj/item/weapon/tank/anesthetic + spawn_type = /obj/item/tank/anesthetic mask_type = /obj/item/clothing/mask/breath/medical is_loosen = FALSE - diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm index a58eba45aae..447f02eeeba 100644 --- a/code/game/objects/structures/mirror.dm +++ b/code/game/objects/structures/mirror.dm @@ -11,7 +11,7 @@ var/glass = 1 var/datum/tgui_module/appearance_changer/mirror/M -/obj/structure/mirror/Initialize(mapload, var/dir, var/building = 0, mob/user as mob) +/obj/structure/mirror/Initialize(mapload, var/dir, var/building = 0) M = new(src, null) if(building) glass = 0 @@ -24,12 +24,18 @@ QDEL_NULL(M) . = ..() -/obj/structure/mirror/attack_hand(mob/user as mob) +/obj/structure/mirror/attack_hand(mob/user) if(!glass) return if(shattered) return - if(ishuman(user)) - M.tgui_interact(user) + M.tgui_interact(user) + +/obj/structure/mirror/attack_ai(mob/user) + if(!glass) return + if(shattered) return + if(!Adjacent(user)) return + + M.tgui_interact(user) /obj/structure/mirror/proc/shatter() if(!glass) return @@ -54,20 +60,20 @@ if(!glass) playsound(src, I.usesound, 50, 1) if(do_after(user, 20 * I.toolspeed)) - to_chat(user, "You unfasten the frame.") + to_chat(user, span_notice("You unfasten the frame.")) new /obj/item/frame/mirror( src.loc ) qdel(src) return if(I.has_tool_quality(TOOL_WRENCH)) if(shattered && glass) - to_chat(user, "The broken glass falls out.") + to_chat(user, span_notice("The broken glass falls out.")) icon_state = "mirror_frame" glass = !glass - new /obj/item/weapon/material/shard( src.loc ) + new /obj/item/material/shard( src.loc ) return if(!shattered && glass) playsound(src, I.usesound, 50, 1) - to_chat(user, "You remove the glass.") + to_chat(user, span_notice("You remove the glass.")) glass = !glass icon_state = "mirror_frame" new /obj/item/stack/material/glass( src.loc, 2 ) @@ -77,15 +83,15 @@ if(!glass) var/obj/item/stack/material/glass/G = I if (G.get_amount() < 2) - to_chat(user, "You need two sheets of glass to add them to the frame.") + to_chat(user, span_warning("You need two sheets of glass to add them to the frame.")) return - to_chat(user, "You start to add the glass to the frame.") + to_chat(user, span_notice("You start to add the glass to the frame.")) if(do_after(user, 20)) if (G.use(2)) shattered = 0 glass = 1 icon_state = "mirror" - to_chat(user, "You add the glass to the frame.") + to_chat(user, span_notice("You add the glass to the frame.")) return if(shattered && glass) @@ -93,11 +99,11 @@ return if(prob(I.force * 2)) - visible_message("[user] smashes [src] with [I]!") + visible_message(span_warning("[user] smashes [src] with [I]!")) if(glass) shatter() else - visible_message("[user] hits [src] with [I]!") + visible_message(span_warning("[user] hits [src] with [I]!")) playsound(src, 'sound/effects/Glasshit.ogg', 70, 1) /obj/structure/mirror/attack_generic(var/mob/user, var/damage) @@ -108,11 +114,11 @@ return 0 if(damage) - user.visible_message("[user] smashes [src]!") + user.visible_message(span_danger("[user] smashes [src]!")) if(glass) shatter() else - user.visible_message("[user] hits [src] and bounces off!") + user.visible_message(span_danger("[user] hits [src] and bounces off!")) return 1 // The following mirror is ~special~. @@ -125,7 +131,7 @@ /obj/structure/mirror/raider/attack_hand(var/mob/living/carbon/human/user) if(istype(get_area(src),/area/syndicate_mothership)) if(istype(user) && user.mind && user.mind.special_role == "Raider" && user.species.name != SPECIES_VOX && is_alien_whitelisted(user, SPECIES_VOX)) - var/choice = tgui_alert(usr, "Do you wish to become a true Vox of the Shoal? This is not reversible.", "Become Vox?", list("No","Yes")) + var/choice = tgui_alert(user, "Do you wish to become a true Vox of the Shoal? This is not reversible.", "Become Vox?", list("No","Yes")) if(choice && choice == "Yes") var/mob/living/carbon/human/vox/vox = new(get_turf(src),SPECIES_VOX) vox.gender = user.gender @@ -141,4 +147,4 @@ vox.name = vox.real_name raiders.update_access(vox) qdel(user) - ..() \ No newline at end of file + ..() diff --git a/code/game/objects/structures/mop_bucket.dm b/code/game/objects/structures/mop_bucket.dm index 2ce7d1126ae..f0ac25b5372 100644 --- a/code/game/objects/structures/mop_bucket.dm +++ b/code/game/objects/structures/mop_bucket.dm @@ -22,10 +22,10 @@ GLOBAL_LIST_BOILERPLATE(all_mopbuckets, /obj/structure/mopbucket) . += "It contains [reagents.total_volume] unit\s of water!" /obj/structure/mopbucket/attackby(obj/item/I, mob/user) - if(istype(I, /obj/item/weapon/mop) || istype(I, /obj/item/weapon/soap) || istype(I, /obj/item/weapon/reagent_containers/glass/rag)) //VOREStation Edit - "Allows soap and rags to be used on mopbuckets" + if(istype(I, /obj/item/mop) || istype(I, /obj/item/soap) || istype(I, /obj/item/reagent_containers/glass/rag)) //VOREStation Edit - "Allows soap and rags to be used on mopbuckets" if(reagents.total_volume < 1) - to_chat(user, "\The [src] is out of water!") + to_chat(user, span_warning("\The [src] is out of water!")) else reagents.trans_to_obj(I, 5) - to_chat(user, "You wet \the [I] in \the [src].") + to_chat(user, span_notice("You wet \the [I] in \the [src].")) playsound(src, 'sound/effects/slosh.ogg', 25, 1) diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm index 6dcb5da2b8c..140179f47bc 100644 --- a/code/game/objects/structures/morgue.dm +++ b/code/game/objects/structures/morgue.dm @@ -120,11 +120,11 @@ /obj/structure/morgue/attackby(P as obj, mob/user as mob) - if (istype(P, /obj/item/weapon/pen)) + if (istype(P, /obj/item/pen)) var/t = tgui_input_text(user, "What would you like the label to be?", text("[]", src.name), null) if (user.get_active_hand() != P) return - if ((!in_range(src, usr) && src.loc != user)) + if ((!in_range(src, user) && src.loc != user)) return t = sanitizeSafe(t, MAX_NAME_LEN) if (t) @@ -189,7 +189,7 @@ if (user != O) for(var/mob/B in viewers(user, 3)) if ((B.client && !( B.blinded ))) - to_chat(B, "\The [user] stuffs [O] into [src]!") + to_chat(B, span_warning("\The [user] stuffs [O] into [src]!")) return @@ -220,7 +220,7 @@ GLOBAL_LIST_BOILERPLATE(all_crematoriums, /obj/structure/morgue/crematorium) /obj/structure/morgue/crematorium/attack_hand(mob/user as mob) if (cremating) - to_chat(usr, "It's locked.") + to_chat(user, span_warning("It's locked.")) return if ((src.connected) && (src.locked == 0)) for(var/atom/movable/A as mob|obj in src.connected.loc) @@ -246,11 +246,11 @@ GLOBAL_LIST_BOILERPLATE(all_crematoriums, /obj/structure/morgue/crematorium) update() /obj/structure/morgue/crematorium/attackby(P as obj, mob/user as mob) - if (istype(P, /obj/item/weapon/pen)) + if (istype(P, /obj/item/pen)) var/t = tgui_input_text(user, "What would you like the label to be?", text("[]", src.name), null) if (user.get_active_hand() != P) return - if ((!in_range(src, usr) > 1 && src.loc != user)) + if ((!in_range(src, user) > 1 && src.loc != user)) return t = sanitizeSafe(t, MAX_NAME_LEN) if (t) @@ -284,16 +284,16 @@ GLOBAL_LIST_BOILERPLATE(all_crematoriums, /obj/structure/morgue/crematorium) if(contents.len <= 0) for (var/mob/M in viewers(src)) - to_chat(M, "You hear a hollow crackle.") + to_chat(M, span_warning("You hear a hollow crackle.")) return else - if(!isemptylist(src.search_contents_for(/obj/item/weapon/disk/nuclear))) + if(!isemptylist(src.search_contents_for(/obj/item/disk/nuclear))) to_chat(user, "You get the feeling that you shouldn't cremate one of the items in the cremator.") return for (var/mob/M in viewers(src)) - to_chat(M, "You hear a roar as the crematorium activates.") + to_chat(M, span_warning("You hear a roar as the crematorium activates.")) cremating = 1 locked = 1 @@ -348,4 +348,4 @@ GLOBAL_LIST_BOILERPLATE(all_crematoriums, /obj/structure/morgue/crematorium) if (!C.cremating) C.cremate(user) else - to_chat(user, "Access denied.") + to_chat(user, span_warning("Access denied.")) diff --git a/code/game/objects/structures/morgue_vr.dm b/code/game/objects/structures/morgue_vr.dm index 3d9a72deb8b..d52ac601e2a 100644 --- a/code/game/objects/structures/morgue_vr.dm +++ b/code/game/objects/structures/morgue_vr.dm @@ -1,7 +1,7 @@ /obj/structure/morgue/crematorium/vr var/list/allowed_items = list(/obj/item/organ, - /obj/item/weapon/implant, - /obj/item/weapon/material/shard/shrapnel, + /obj/item/implant, + /obj/item/material/shard/shrapnel, /mob/living) @@ -11,26 +11,26 @@ if(contents.len <= 0) for (var/mob/M in viewers(src)) - M.show_message("You hear a hollow crackle.", 1) + M.show_message(span_warning("You hear a hollow crackle."), 1) return else - if(!isemptylist(src.search_contents_for(/obj/item/weapon/disk/nuclear))) - to_chat(usr, "You get the feeling that you shouldn't cremate one of the items in the cremator.") + if(!isemptylist(src.search_contents_for(/obj/item/disk/nuclear))) + to_chat(user, "You get the feeling that you shouldn't cremate one of the items in the cremator.") return for(var/I in contents) if(!(I in allowed_items)) - to_chat(user, "\The [src] cannot cremate while there are items inside!") + to_chat(user, span_notice("\The [src] cannot cremate while there are items inside!")) return if(istype(I, /mob/living)) var/mob/living/cremated = I for(var/Z in cremated.contents) if(!(Z in allowed_items)) - to_chat(user, "\The [src] cannot cremate while there are items inside!") + to_chat(user, span_notice("\The [src] cannot cremate while there are items inside!")) return for (var/mob/M in viewers(src)) - M.show_message("You hear a roar as the crematorium activates.", 1) + M.show_message(span_warning("You hear a roar as the crematorium activates."), 1) cremating = 1 locked = 1 @@ -56,4 +56,4 @@ cremating = 0 locked = 0 playsound(src, 'sound/machines/ding.ogg', 50, 1) - return \ No newline at end of file + return diff --git a/code/game/objects/structures/pillows.dm b/code/game/objects/structures/pillows.dm index fa97543f096..075046fd81a 100644 --- a/code/game/objects/structures/pillows.dm +++ b/code/game/objects/structures/pillows.dm @@ -1,6 +1,6 @@ //Pillows with sprites ported from skyrat -/obj/item/weapon/bedsheet/pillow +/obj/item/bedsheet/pillow name = "pillow" desc = "A surprisingly soft stuffed pillow." icon = 'icons/obj/pillows.dmi' @@ -9,19 +9,19 @@ var/pile_type = "/obj/structure/bed/pillowpile" throw_range = 7 -/obj/item/weapon/bedsheet/pillow/attack_self(mob/user as mob) +/obj/item/bedsheet/pillow/attack_self(mob/user as mob) user.drop_item() if(icon_state == initial(icon_state)) icon_state = "[icon_state]_placed" add_fingerprint(user) -/obj/item/weapon/bedsheet/pillow/pickup(mob/user) +/obj/item/bedsheet/pillow/pickup(mob/user) ..() icon_state = initial(icon_state) -/obj/item/weapon/bedsheet/pillow/attackby(var/obj/item/component, mob/user as mob) +/obj/item/bedsheet/pillow/attackby(var/obj/item/component, mob/user as mob) if (istype(component,src)) - to_chat(user, "You assemble a pillow pile!") + to_chat(user, span_notice("You assemble a pillow pile!")) user.drop_item() qdel(component) var/turf/T = get_turf(src) @@ -29,7 +29,7 @@ user.drop_from_inventory(src) qdel(src) else - to_chat(user, "You can't assemble a pillow pile out of mismatched stuff, it'd look hideous!") + to_chat(user, span_notice("You can't assemble a pillow pile out of mismatched stuff, it'd look hideous!")) //Pillow Piles, they're piles of pillows! layer = BELOW_MOB_LAYER @@ -39,7 +39,8 @@ icon = 'icons/obj/pillows.dmi' icon_state = "pillowpile_large_pink" var/pillowpilefront = "/obj/structure/bed/pillowpilefront" - var/sourcepillow = "/obj/item/weapon/bedsheet/pillow" + var/sourcepillow = "/obj/item/bedsheet/pillow" + flippable = FALSE /obj/structure/bed/pillowpilefront name = "pillow pile" @@ -48,7 +49,7 @@ icon_state = "pillowpile_large_pink_overlay" layer = ABOVE_MOB_LAYER plane = MOB_PLANE - var/sourcepillow = "/obj/item/weapon/bedsheet/pillow" + var/sourcepillow = "/obj/item/bedsheet/pillow" /obj/structure/bed/pillowpile/New() ..() @@ -62,18 +63,18 @@ return /obj/structure/bed/pillowpile/attack_hand(mob/user) - to_chat(user, "Now disassembling the large pillow pile...") + to_chat(user, span_notice("Now disassembling the large pillow pile...")) if(do_after(user, 30)) if(!src) return - to_chat(user, "You dissasembled the large pillow pile!") + to_chat(user, span_notice("You dissasembled the large pillow pile!")) new sourcepillow(src.loc) qdel(src) /obj/structure/bed/pillowpilefront/attack_hand(mob/user) - to_chat(user, "Now disassembling the front of the pillow pile...") + to_chat(user, span_notice("Now disassembling the front of the pillow pile...")) if(do_after(user, 30)) if(!src) return - to_chat(user, "You dissasembled the the front of the pillow pile!") + to_chat(user, span_notice("You dissasembled the the front of the pillow pile!")) new sourcepillow(src.loc) qdel(src) @@ -81,114 +82,114 @@ //teal -/obj/item/weapon/bedsheet/pillow/teal +/obj/item/bedsheet/pillow/teal icon_state = "pillow_teal_square" pile_type = "/obj/structure/bed/pillowpile/teal" /obj/structure/bed/pillowpile/teal icon_state = "pillowpile_large_teal" pillowpilefront = "/obj/structure/bed/pillowpilefront/teal" - sourcepillow = "/obj/item/weapon/bedsheet/pillow/teal" + sourcepillow = "/obj/item/bedsheet/pillow/teal" /obj/structure/bed/pillowpilefront/teal icon_state = "pillowpile_large_teal_overlay" - sourcepillow = "/obj/item/weapon/bedsheet/pillow/teal" + sourcepillow = "/obj/item/bedsheet/pillow/teal" //yellow -/obj/item/weapon/bedsheet/pillow/yellow +/obj/item/bedsheet/pillow/yellow icon_state = "pillow_yellow_square" pile_type = "/obj/structure/bed/pillowpile/yellow" /obj/structure/bed/pillowpile/yellow icon_state = "pillowpile_large_yellow" pillowpilefront = "/obj/structure/bed/pillowpilefront/yellow" - sourcepillow = "/obj/item/weapon/bedsheet/pillow/yellow" + sourcepillow = "/obj/item/bedsheet/pillow/yellow" /obj/structure/bed/pillowpilefront/yellow icon_state = "pillowpile_large_yellow_overlay" - sourcepillow = "/obj/item/weapon/bedsheet/pillow/yellow" + sourcepillow = "/obj/item/bedsheet/pillow/yellow" //white -/obj/item/weapon/bedsheet/pillow/white +/obj/item/bedsheet/pillow/white icon_state = "pillow_white_square" pile_type = "/obj/structure/bed/pillowpile/white" /obj/structure/bed/pillowpile/white icon_state = "pillowpile_large_white" pillowpilefront = "/obj/structure/bed/pillowpilefront/white" - sourcepillow = "/obj/item/weapon/bedsheet/pillow/white" + sourcepillow = "/obj/item/bedsheet/pillow/white" /obj/structure/bed/pillowpilefront/white icon_state = "pillowpile_large_white_overlay" - sourcepillow = "/obj/item/weapon/bedsheet/pillow/white" + sourcepillow = "/obj/item/bedsheet/pillow/white" //black -/obj/item/weapon/bedsheet/pillow/black +/obj/item/bedsheet/pillow/black icon_state = "pillow_black_square" pile_type = "/obj/structure/bed/pillowpile/black" /obj/structure/bed/pillowpile/black icon_state = "pillowpile_large_black" pillowpilefront = "/obj/structure/bed/pillowpilefront/black" - sourcepillow = "/obj/item/weapon/bedsheet/pillow/black" + sourcepillow = "/obj/item/bedsheet/pillow/black" /obj/structure/bed/pillowpilefront/black icon_state = "pillowpile_large_black_overlay" - sourcepillow = "/obj/item/weapon/bedsheet/pillow/black" + sourcepillow = "/obj/item/bedsheet/pillow/black" //green -/obj/item/weapon/bedsheet/pillow/green +/obj/item/bedsheet/pillow/green icon_state = "pillow_green_square" pile_type = "/obj/structure/bed/pillowpile/green" /obj/structure/bed/pillowpile/green icon_state = "pillowpile_large_green" pillowpilefront = "/obj/structure/bed/pillowpilefront/green" - sourcepillow = "/obj/item/weapon/bedsheet/pillow/green" + sourcepillow = "/obj/item/bedsheet/pillow/green" /obj/structure/bed/pillowpilefront/green icon_state = "pillowpile_large_green_overlay" - sourcepillow = "/obj/item/weapon/bedsheet/pillow/green" + sourcepillow = "/obj/item/bedsheet/pillow/green" //red -/obj/item/weapon/bedsheet/pillow/red +/obj/item/bedsheet/pillow/red icon_state = "pillow_red_square" pile_type = "/obj/structure/bed/pillowpile/red" /obj/structure/bed/pillowpile/red icon_state = "pillowpile_large_red" pillowpilefront = "/obj/structure/bed/pillowpilefront/red" - sourcepillow = "/obj/item/weapon/bedsheet/pillow/red" + sourcepillow = "/obj/item/bedsheet/pillow/red" /obj/structure/bed/pillowpilefront/red icon_state = "pillowpile_large_red_overlay" - sourcepillow = "/obj/item/weapon/bedsheet/pillow/red" + sourcepillow = "/obj/item/bedsheet/pillow/red" //orange -/obj/item/weapon/bedsheet/pillow/orange +/obj/item/bedsheet/pillow/orange icon_state = "pillow_orange_square" pile_type = "/obj/structure/bed/pillowpile/orange" /obj/structure/bed/pillowpile/orange icon_state = "pillowpile_large_orange" pillowpilefront = "/obj/structure/bed/pillowpilefront/orange" - sourcepillow = "/obj/item/weapon/bedsheet/pillow/orange" + sourcepillow = "/obj/item/bedsheet/pillow/orange" /obj/structure/bed/pillowpilefront/orange icon_state = "pillowpile_large_orange_overlay" - sourcepillow = "/obj/item/weapon/bedsheet/pillow/orange" + sourcepillow = "/obj/item/bedsheet/pillow/orange" //crafting /datum/crafting_recipe/pillowpink name = "pillow (pink)" - result = /obj/item/weapon/bedsheet/pillow + result = /obj/item/bedsheet/pillow reqs = list( list(/obj/item/stack/material/cloth = 6) ) @@ -197,7 +198,7 @@ /datum/crafting_recipe/pillowteal name = "pillow (teal)" - result = /obj/item/weapon/bedsheet/pillow/teal + result = /obj/item/bedsheet/pillow/teal reqs = list( list(/obj/item/stack/material/cloth = 6) ) @@ -206,7 +207,7 @@ /datum/crafting_recipe/pillowwhite name = "pillow (white)" - result = /obj/item/weapon/bedsheet/pillow/white + result = /obj/item/bedsheet/pillow/white reqs = list( list(/obj/item/stack/material/cloth = 6) ) @@ -215,7 +216,7 @@ /datum/crafting_recipe/pillowblack name = "pillow (black)" - result = /obj/item/weapon/bedsheet/pillow/black + result = /obj/item/bedsheet/pillow/black reqs = list( list(/obj/item/stack/material/cloth = 6) ) @@ -224,7 +225,7 @@ /datum/crafting_recipe/pillowgreen name = "pillow (green)" - result = /obj/item/weapon/bedsheet/pillow/green + result = /obj/item/bedsheet/pillow/green reqs = list( list(/obj/item/stack/material/cloth = 6) ) @@ -233,7 +234,7 @@ /datum/crafting_recipe/pillowyellow name = "pillow (yellow)" - result = /obj/item/weapon/bedsheet/pillow/yellow + result = /obj/item/bedsheet/pillow/yellow reqs = list( list(/obj/item/stack/material/cloth = 6) ) @@ -242,7 +243,7 @@ /datum/crafting_recipe/pillowred name = "pillow (red)" - result = /obj/item/weapon/bedsheet/pillow/red + result = /obj/item/bedsheet/pillow/red reqs = list( list(/obj/item/stack/material/cloth = 6) ) @@ -251,10 +252,9 @@ /datum/crafting_recipe/pilloworange name = "pillow (orange)" - result = /obj/item/weapon/bedsheet/pillow/orange + result = /obj/item/bedsheet/pillow/orange reqs = list( list(/obj/item/stack/material/cloth = 6) ) time = 60 category = CAT_MISC - diff --git a/code/game/objects/structures/plasticflaps.dm b/code/game/objects/structures/plasticflaps.dm index ae26157f391..0686a3d05d1 100644 --- a/code/game/objects/structures/plasticflaps.dm +++ b/code/game/objects/structures/plasticflaps.dm @@ -19,9 +19,9 @@ /obj/structure/plasticflaps/attackby(obj/item/P, mob/user) if(P.has_tool_quality(TOOL_WIRECUTTER)) playsound(src, P.usesound, 50, 1) - to_chat(user, "You start to cut the plastic flaps.") + to_chat(user, span_notice("You start to cut the plastic flaps.")) if(do_after(user, 10 * P.toolspeed)) - to_chat(user, "You cut the plastic flaps.") + to_chat(user, span_notice("You cut the plastic flaps.")) new /obj/item/stack/material/plastic(src.loc, 4) qdel(src) return @@ -65,4 +65,4 @@ name = "airtight plastic flaps" desc = "Heavy duty, airtight, plastic flaps. Have extra safety installed, preventing passage of living beings." can_atmos_pass = ATMOS_PASS_NO - can_pass_lying = FALSE \ No newline at end of file + can_pass_lying = FALSE diff --git a/code/game/objects/structures/props/alien_props.dm b/code/game/objects/structures/props/alien_props.dm index 38f0b1b8932..e4edf9b2191 100644 --- a/code/game/objects/structures/props/alien_props.dm +++ b/code/game/objects/structures/props/alien_props.dm @@ -11,8 +11,8 @@ name = "alien console" desc = "The console flashes what appear to be symbols you've never seen before." icon_state = "console-c" - interaction_message = "The console flashes a series of unknown symbols as you press a button on what is presumably a keyboard. It probably some sort of \ - authentication error. Since you're not an alien, you should probably leave it alone." + interaction_message = span_warning("The console flashes a series of unknown symbols as you press a button on what is presumably a keyboard. It probably some sort of \ + authentication error. Since you're not an alien, you should probably leave it alone.") /obj/structure/prop/alien/computer/camera desc = "This console is briefly flashing video feeds of various locations close by." @@ -25,19 +25,19 @@ name = "alien dispenser" desc = "This looks like it dispenses... something?" icon_state = "dispenser" - interaction_message = "You don't see any mechanism to operate this. Probably for the best." + interaction_message = span_warning("You don't see any mechanism to operate this. Probably for the best.") /obj/structure/prop/alien/pod name = "alien pod" desc = "This seems to be a container for something." icon_state = "experiment" - interaction_message = "You don't see any mechanism to open this thing. Probably for the best." + interaction_message = span_warning("You don't see any mechanism to open this thing. Probably for the best.") /obj/structure/prop/alien/pod/open name = "opened alien pod" desc = "At one point, this probably contained something interesting..." icon_state = "experiment-open" - interaction_message = "You don't see any mechanism to close this thing." + interaction_message = span_warning("You don't see any mechanism to close this thing.") // Obtained by scanning both a void core and void cell. @@ -89,7 +89,7 @@ name = "void core" icon_state = "core" desc = "An alien machine that seems to be producing energy seemingly out of nowhere." - interaction_message = "Messing with something that makes energy out of nowhere seems very unwise." + interaction_message = span_warning("Messing with something that makes energy out of nowhere seems very unwise.") catalogue_data = list(/datum/category_item/catalogue/anomalous/precursor_a/alien_void_core) /obj/item/prop/alien diff --git a/code/game/objects/structures/props/alien_props_vr.dm b/code/game/objects/structures/props/alien_props_vr.dm index ffad6aa1e5d..8ec7a10651a 100644 --- a/code/game/objects/structures/props/alien_props_vr.dm +++ b/code/game/objects/structures/props/alien_props_vr.dm @@ -3,15 +3,15 @@ desc = "The console flashes what appear to be symbols you've never seen before, intermixed with human writing moving too fast to comprehend." icon = 'icons/obj/abductor_vr.dmi' icon_state = "console-c" - interaction_message = "The screen flashes an 'access denied' message at you. Perhaps for the best." + interaction_message = span_warning("The screen flashes an 'access denied' message at you. Perhaps for the best.") /obj/structure/prop/alien/pod/hybrid name = "hybrid pod" desc = "This seems to be a container for something." icon = 'icons/obj/abductor_vr.dmi' icon_state = "experiment" - interaction_message = "You don't see any mechanism to open this thing. Probably for the best." + interaction_message = span_warning("You don't see any mechanism to open this thing. Probably for the best.") /obj/structure/prop/alien/dispenser/twoway icon = 'icons/obj/abductor_vr.dmi' - icon_state = "dispenser_2way" \ No newline at end of file + icon_state = "dispenser_2way" diff --git a/code/game/objects/structures/props/beam_prism.dm b/code/game/objects/structures/props/beam_prism.dm index 59ab3f619a3..33b7cf0c50b 100644 --- a/code/game/objects/structures/props/beam_prism.dm +++ b/code/game/objects/structures/props/beam_prism.dm @@ -24,7 +24,7 @@ var/dialID = null var/obj/structure/prop/prismcontrol/remote_dial = null - interaction_message = "The prismatic turret seems to be able to rotate." + interaction_message = span_notice("The prismatic turret seems to be able to rotate.") /obj/structure/prop/prism/Initialize() if(degrees_from_north) @@ -44,28 +44,28 @@ ..() if(rotation_lock) - to_chat(user, "\The [src] is locked at its current bearing.") + to_chat(user, span_warning("\The [src] is locked at its current bearing.")) return if(external_control_lock) - to_chat(user, "\The [src]'s motors resist your efforts to rotate it. You may need to find some form of controller.") + to_chat(user, span_warning("\The [src]'s motors resist your efforts to rotate it. You may need to find some form of controller.")) return - var/confirm = tgui_alert(usr, "Do you want to try to rotate \the [src]?", "[name]", list("Yes", "No")) - if(confirm == "No") + var/confirm = tgui_alert(user, "Do you want to try to rotate \the [src]?", "[name]", list("Yes", "No")) + if(confirm != "Yes") visible_message(\ - "[user.name] decides not to try turning \the [src].",\ - "You decide not to try turning \the [src].") + span_notice("[user.name] decides not to try turning \the [src]."),\ + span_notice("You decide not to try turning \the [src].")) return var/new_bearing if(free_rotate) - new_bearing = tgui_input_number(usr, "What bearing do you want to rotate \the [src] to?", "[name]", 0, 360, 0) + new_bearing = tgui_input_number(user, "What bearing do you want to rotate \the [src] to?", "[name]", 0, 360, 0) new_bearing = round(new_bearing) if(new_bearing <= -1 || new_bearing > 360) - to_chat(user, "Rotating \the [src] [new_bearing] degrees would be a waste of time.") + to_chat(user, span_warning("Rotating \the [src] [new_bearing] degrees would be a waste of time.")) return else - var/choice = tgui_input_list(usr, "What point do you want to set \the [src] to?", "[name]", compass_directions) + var/choice = tgui_input_list(user, "What point do you want to set \the [src] to?", "[name]", compass_directions) new_bearing = round(compass_directions[choice]) var/rotate_degrees = new_bearing - degrees_from_north @@ -90,11 +90,11 @@ /obj/structure/prop/prism/proc/rotate_auto(var/new_bearing) if(rotation_lock) - visible_message("\The [src] shudders.") + visible_message(span_infoplain(span_bold("\The [src]") + " shudders.")) playsound(src, 'sound/effects/clang.ogg', 50, 1) return - visible_message("\The [src] rotates to a bearing of [new_bearing].") + visible_message(span_infoplain(span_bold("\The [src]") + " rotates to a bearing of [new_bearing].")) var/rotate_degrees = new_bearing - degrees_from_north @@ -118,7 +118,7 @@ /obj/structure/prop/prism/bullet_act(var/obj/item/projectile/Proj) if(istype(Proj, redirect_type)) - visible_message("\The [src] redirects \the [Proj]!") + visible_message(span_danger("\The [src] redirects \the [Proj]!")) flick("[initial(icon_state)]+glow", src) var/new_x = (1 * round(10 * cos(degrees_from_north - 90))) + x //Vectors vectors vectors. @@ -149,22 +149,22 @@ density = FALSE anchored = TRUE - interaction_message = "The dial pulses as your hand nears it." + interaction_message = span_notice("The dial pulses as your hand nears it.") var/list/my_turrets = list() var/dialID = null /obj/structure/prop/prismcontrol/attack_hand(mob/living/user) ..() - var/confirm = tgui_alert(usr, "Do you want to try to rotate \the [src]?", "[name]", list("Yes", "No")) - if(confirm == "No") + var/confirm = tgui_alert(user, "Do you want to try to rotate \the [src]?", "[name]", list("Yes", "No")) + if(confirm != "Yes") visible_message(\ - "[user.name] decides not to try turning \the [src].",\ - "You decide not to try turning \the [src].") + span_notice("[user.name] decides not to try turning \the [src]."),\ + span_notice("You decide not to try turning \the [src].")) return if(!my_turrets || !my_turrets.len) - to_chat(user, "\The [src] doesn't seem to do anything.") + to_chat(user, span_notice("\The [src] doesn't seem to do anything.")) return var/free_rotate = 1 @@ -176,23 +176,23 @@ var/new_bearing if(free_rotate) - new_bearing = tgui_input_number(usr, "What bearing do you want to rotate \the [src] to?", "[name]", 0, 360, 0) + new_bearing = tgui_input_number(user, "What bearing do you want to rotate \the [src] to?", "[name]", 0, 360, 0) new_bearing = round(new_bearing) if(new_bearing <= -1 || new_bearing > 360) - to_chat(user, "Rotating \the [src] [new_bearing] degrees would be a waste of time.") + to_chat(user, span_warning("Rotating \the [src] [new_bearing] degrees would be a waste of time.")) return else - var/choice = tgui_input_list(usr, "What point do you want to set \the [src] to?", "[name]", compass_directions) + var/choice = tgui_input_list(user, "What point do you want to set \the [src] to?", "[name]", compass_directions) new_bearing = round(compass_directions[choice]) - confirm = tgui_alert(usr, "Are you certain you want to rotate \the [src]?", "[name]", list("Yes", "No")) - if(confirm == "No") + confirm = tgui_alert(user, "Are you certain you want to rotate \the [src]?", "[name]", list("Yes", "No")) + if(confirm != "Yes") visible_message(\ - "[user.name] decides not to try turning \the [src].",\ - "You decide not to try turning \the [src].") + span_notice("[user.name] decides not to try turning \the [src]."),\ + span_notice("You decide not to try turning \the [src].")) return - to_chat(user, "\The [src] clicks into place.") + to_chat(user, span_notice("\The [src] clicks into place.")) for(var/obj/structure/prop/prism/P in my_turrets) P.rotate_auto(new_bearing) diff --git a/code/game/objects/structures/props/fake_ai.dm b/code/game/objects/structures/props/fake_ai.dm index 75d5de407cc..9ffb3be8f42 100644 --- a/code/game/objects/structures/props/fake_ai.dm +++ b/code/game/objects/structures/props/fake_ai.dm @@ -7,8 +7,8 @@ icon_state = "ai" /obj/structure/prop/fake_ai/attackby(obj/O, mob/user) - if(istype(O, /obj/item/device/aicard)) // People trying to card the fake AI will get told its impossible. - to_chat(user, span("warning", "This core does not appear to have a suitable port to use \the [O] on...")) + if(istype(O, /obj/item/aicard)) // People trying to card the fake AI will get told its impossible. + to_chat(user, span_warning("This core does not appear to have a suitable port to use \the [O] on...")) return TRUE return ..() @@ -17,4 +17,4 @@ /obj/structure/prop/fake_ai/dead/crashed_med_shuttle name = "V.I.T.A." - icon_state = "ai-heartline-crash" \ No newline at end of file + icon_state = "ai-heartline-crash" diff --git a/code/game/objects/structures/props/machines.dm b/code/game/objects/structures/props/machines.dm index 9e9e0d7714c..a7aa684edff 100644 --- a/code/game/objects/structures/props/machines.dm +++ b/code/game/objects/structures/props/machines.dm @@ -556,9 +556,9 @@ * This one is a bit more fancy than others. Anything in the contents (PLEASE LIMIT TO ONE THING) * will show up inside it! Also if you map in an item on it, it will grab that at mapload and start * in the 'closed, full of fluid' state, so you can put a body on it or whatever. - * + * * As an aghost you can also dragdrop something into it (you have to be ghosted next to it) - * + * * Possible 'state' options for change_state(state) are: * open: Open, no fluid or anything. At the end the contents are ejected. * closed: Closed, full of liquid @@ -582,7 +582,7 @@ /obj/structure/prop/machine/nt_pod/Initialize(mapload) // Our non-map-preview state icon_state = "nt_pod" - + // Alpha mask to make sure things don't sneak out var/obj/effect/overlay/vis/mask = new mask.icon = icon @@ -607,7 +607,7 @@ // Save old settings contents_vis_flags = AM.vis_flags contents_original_pixel_y = AM.pixel_y - + // Arrange AM.add_filter("podmask", 1, alpha_mask_filter(render_source = "nt_podmask[REF(src)]", flags = MASK_INVERSE)) AM.pixel_y = 12 @@ -616,7 +616,7 @@ if(ismob(AM)) var/mob/M = AM buckle_mob(M, TRUE, FALSE) - + // TRAP THEM change_state("closed") @@ -639,7 +639,7 @@ return if(!user.client?.holder) return - + AM.forceMove(src) /obj/structure/prop/machine/nt_pod/change_state(state) @@ -648,17 +648,17 @@ if("open") cut_overlay("nt_pod_top_on") cut_overlay("nt_pod_under") - + // Fluid drains fluid.icon_state = "nothing" flick("nt_pod_emptying", fluid) // 8ds sleep(8) - + // Door opens door.icon_state = "nothing" flick("nt_pod_opening", door) // 9ds sleep(9) - + // GET OUT outside.layer = BELOW_MOB_LAYER if(contents.len) @@ -670,7 +670,7 @@ cut_overlay("nt_pod_top_on") add_overlay("nt_pod_top_on") add_overlay("nt_pod_under") - + // Door closes door.icon_state = "nt_pod_glass" flick("nt_pod_closing", door) // 9ds @@ -683,4 +683,90 @@ cut_overlay("nt_pod_panel") add_overlay("nt_pod_panel") if("panel_closed") - cut_overlay("nt_pod_panel") \ No newline at end of file + cut_overlay("nt_pod_panel") + +// Old Virology stuff + +/obj/structure/prop/machine/centrifuge + name = "centrifuge" + desc = "Used to separate things with different weight. Spin 'em round, round, right round." + icon = 'icons/obj/virology_vr.dmi' + icon_state = "centrifuge" + var/on = FALSE + +/obj/structure/prop/machine/centrifuge/attack_hand(mob/user as mob) + ..() + + if(!on) + on = TRUE + user.visible_message("\The [user] turns on \the [src].") + icon_state = "centrifuge_moving" + else + on = FALSE + user.visible_message("\The [user] turns off \the [src].") + icon_state = "centrifuge" + + update_icon() + +/obj/structure/prop/machine/incubator + name = "incubator" + desc = "Encourages the growth of diseases. This model comes with a dispenser system and a small radiation generator." + icon = 'icons/obj/virology_vr.dmi' + icon_state = "incubator" + var/on = FALSE + +/obj/structure/prop/machine/incubator/attack_hand(mob/user as mob) + ..() + + if(!on) + on = TRUE + user.visible_message("\The [user] turns on \the [src].") + icon_state = "incubator_on" + else + on = FALSE + user.visible_message("\The [user] turns off \the [src].") + icon_state = "incubator" + + update_icon() + +/obj/structure/prop/machine/disease_analyser + name = "disease analyser" + desc = "Analyzes diseases to find out information about them!" + icon = 'icons/obj/virology_vr.dmi' + icon_state = "analyser" + var/on = FALSE + +/obj/structure/prop/machine/disease_analyser/attack_hand(mob/user as mob) + ..() + + if(!on) + on = TRUE + user.visible_message("\The [user] turns on \the [src].") + icon_state = "analyser_" + else + on = FALSE + user.visible_message("\The [user] turns off \the [src].") + icon_state = "analyser" + + update_icon() + +/obj/structure/prop/machine/isolator + name = "disease isolator" + desc = "Used to isolate and identify diseases, allowing for comparison with a remote database." + icon = 'icons/obj/virology_vr.dmi' + icon_state = "isolator_in" + var/on = FALSE + +/obj/structure/prop/machine/isolator/attack_hand(mob/user as mob) + ..() + + if(!on) + on = TRUE + user.visible_message("\The [user] turns on \the [src].") + icon_state = "isolator_" + else + on = FALSE + user.visible_message("\The [user] turns off \the [src].") + icon_state = "isolator_in" + + update_icon() diff --git a/code/game/objects/structures/props/nest.dm b/code/game/objects/structures/props/nest.dm index ba16b0b0556..9f4a219883e 100644 --- a/code/game/objects/structures/props/nest.dm +++ b/code/game/objects/structures/props/nest.dm @@ -5,7 +5,7 @@ icon_state = "bonfire" density = TRUE anchored = TRUE - interaction_message = "You feel like you shouldn't be sticking your nose into a wild animal's den." + interaction_message = span_warning("You feel like you shouldn't be sticking your nose into a wild animal's den.") var/disturbance_spawn_chance = 20 var/last_spawn @@ -54,7 +54,7 @@ var/mob/living/L = new spawn_choice(spawnpoint) if(den_faction) L.faction = den_faction - visible_message("\The [L] crawls out of \the [src].") + visible_message(span_warning("\The [L] crawls out of \the [src].")) den_mobs += L tally++ diff --git a/code/game/objects/structures/props/projectile_lock.dm b/code/game/objects/structures/props/projectile_lock.dm index 5c3fcd2ba07..ecde254c437 100644 --- a/code/game/objects/structures/props/projectile_lock.dm +++ b/code/game/objects/structures/props/projectile_lock.dm @@ -37,7 +37,7 @@ var/timing = 0 var/time_limit = 1500 // In ticks. Ten is one second. - interaction_message = "The object remains inert to your touch." + interaction_message = span_notice("The object remains inert to your touch.") /obj/structure/prop/lock/projectile/bullet_act(var/obj/item/projectile/Proj) if(!istype(Proj, projectile_key) || timing) @@ -45,7 +45,7 @@ if(istype(Proj, /obj/item/projectile/beam/heavylaser/cannon) || istype(Proj, /obj/item/projectile/beam/emitter) || (Proj.damage >= 80 && Proj.damtype == BURN)) toggle_lock() - visible_message("\The [src] [enabled ? "disengages" : "engages"] its locking mechanism.") + visible_message(span_notice("\The [src] [enabled ? "disengages" : "engages"] its locking mechanism.")) if(timed) timing = 1 diff --git a/code/game/objects/structures/props/puzzledoor.dm b/code/game/objects/structures/props/puzzledoor.dm index f5ec2fe7cb5..6ccad1e21d0 100644 --- a/code/game/objects/structures/props/puzzledoor.dm +++ b/code/game/objects/structures/props/puzzledoor.dm @@ -28,11 +28,11 @@ /obj/machinery/door/blast/puzzle/bullet_act(var/obj/item/projectile/Proj) if(!istype(Proj, /obj/item/projectile/test)) - visible_message("\The [src] is completely unaffected by \the [Proj].") + visible_message(span_cult("\The [src] is completely unaffected by \the [Proj].")) qdel(Proj) //No piercing. No. /obj/machinery/door/blast/puzzle/ex_act(severity) - visible_message("\The [src] is completely unaffected by the blast.") + visible_message(span_cult("\The [src] is completely unaffected by the blast.")) return /obj/machinery/door/blast/puzzle/Initialize() @@ -57,33 +57,33 @@ if(check_locks()) force_toggle(1, user) else - to_chat(user, "\The [src] does not respond to your touch.") + to_chat(user, span_notice("\The [src] does not respond to your touch.")) -/obj/machinery/door/blast/puzzle/attackby(obj/item/weapon/C as obj, mob/user as mob) - if(istype(C, /obj/item/weapon)) +/obj/machinery/door/blast/puzzle/attackby(obj/item/C as obj, mob/user as mob) + if(istype(C, /obj/item)) if(C.pry == 1 && (user.a_intent != I_HURT || (stat & BROKEN))) - if(istype(C,/obj/item/weapon/material/twohanded/fireaxe)) - var/obj/item/weapon/material/twohanded/fireaxe/F = C + if(istype(C,/obj/item/material/twohanded/fireaxe)) + var/obj/item/material/twohanded/fireaxe/F = C if(!F.wielded) - to_chat(user, "You need to be wielding \the [F] to do that.") + to_chat(user, span_warning("You need to be wielding \the [F] to do that.")) return if(check_locks()) force_toggle(1, user) else - to_chat(user, "[src]'s arcane workings resist your effort.") + to_chat(user, span_notice("[src]'s arcane workings resist your effort.")) return else if(src.density && (user.a_intent == I_HURT)) - var/obj/item/weapon/W = C + var/obj/item/W = C user.setClickCooldown(user.get_attack_speed(W)) if(W.damtype == BRUTE || W.damtype == BURN) user.do_attack_animation(src) - user.visible_message("\The [user] hits \the [src] with \the [W] with no visible effect.") + user.visible_message(span_danger("\The [user] hits \the [src] with \the [W] with no visible effect.")) - else if(istype(C, /obj/item/weapon/plastique)) - to_chat(user, "On contacting \the [src], a flash of light envelops \the [C] as it is turned to ash. Oh.") + else if(istype(C, /obj/item/plastique)) + to_chat(user, span_danger("On contacting \the [src], a flash of light envelops \the [C] as it is turned to ash. Oh.")) qdel(C) return 0 diff --git a/code/game/objects/structures/props/statue.dm b/code/game/objects/structures/props/statue.dm index 904510fb96d..58134d38bd3 100644 --- a/code/game/objects/structures/props/statue.dm +++ b/code/game/objects/structures/props/statue.dm @@ -58,7 +58,7 @@ desc = "A sculpture made of pure phoron. It is covered in a lacquer that prevents erosion and renders it fireproof. It's safe. Probably." icon_state = "phoronic" layer = ABOVE_WINDOW_LAYER - interaction_message = "Cool to touch and unbelievable smooth. You can almost see your reflection in it." + interaction_message = span_notice("Cool to touch and unbelievable smooth. You can almost see your reflection in it.") /obj/structure/prop/statue/phoron/New() set_light(2, 3, "#cc66ff") @@ -71,4 +71,4 @@ /obj/structure/prop/statue/pillar/dark name = "pillar" desc = "A dark pillar." - icon_state = "dark_pillar" \ No newline at end of file + icon_state = "dark_pillar" diff --git a/code/game/objects/structures/props/swarm.dm b/code/game/objects/structures/props/swarm.dm index 0498674a6f8..f257f9d4c77 100644 --- a/code/game/objects/structures/props/swarm.dm +++ b/code/game/objects/structures/props/swarm.dm @@ -14,11 +14,11 @@ /obj/structure/cult/pylon/swarm/CanPass(atom/movable/mover, turf/target) if(istype(mover, /mob/living)) var/mob/living/L = mover - if(L.faction == "swarmer") + if(L.faction == FACTION_SWARMER) return TRUE else if(istype(mover, /obj/item/projectile)) var/obj/item/projectile/P = mover - if(istype(P.firer) && P.firer.faction == "swarmer") + if(istype(P.firer) && P.firer.faction == FACTION_SWARMER) return TRUE return ..() @@ -35,7 +35,7 @@ /obj/structure/cult/pylon/swarm/pylonhit(var/damage) if(!isbroken) if(prob(1 + damage * 3)) - visible_message("[shatter_message]") + visible_message(span_danger("[shatter_message]")) STOP_PROCESSING(SSobj, src) playsound(src,shatter_sound, 75, 1) isbroken = 1 @@ -47,8 +47,8 @@ if(!isbroken) if(prob(1 + damage * 3)) user.visible_message( - "[user] smashed \the [src]!", - "You hit \the [src], and its crystal breaks apart!", + span_danger("[user] smashed \the [src]!"), + span_warning("You hit \the [src], and its crystal breaks apart!"), "You hear a tinkle of crystalline shards." ) STOP_PROCESSING(SSobj, src) @@ -115,7 +115,7 @@ /obj/structure/cult/pylon/swarm/defender/pylonhit(var/damage) if(!isbroken) if(prob(1 + damage * 3) && damage >= 25) - visible_message("[shatter_message]") + visible_message(span_danger("[shatter_message]")) STOP_PROCESSING(SSobj, src) playsound(src,shatter_sound, 75, 1) isbroken = 1 @@ -127,8 +127,8 @@ if(!isbroken) if(prob(1 + damage * 2) && damage >= 15) user.visible_message( - "[user] smashed \the [src]!", - "You hit \the [src], and its crystal breaks apart!", + span_danger("[user] smashed \the [src]!"), + span_warning("You hit \the [src], and its crystal breaks apart!"), "You hear a tinkle of crystalline shards." ) STOP_PROCESSING(SSobj, src) diff --git a/code/game/objects/structures/railing.dm b/code/game/objects/structures/railing.dm index 3b357d9fd5b..cb7048f66be 100644 --- a/code/game/objects/structures/railing.dm +++ b/code/game/objects/structures/railing.dm @@ -60,16 +60,16 @@ if(health < maxhealth) switch(health / maxhealth) if(0.0 to 0.5) - . += "It looks severely damaged!" + . += span_warning("It looks severely damaged!") if(0.25 to 0.5) - . += "It looks damaged!" + . += span_warning("It looks damaged!") if(0.5 to 1.0) - . += "It has a few scrapes and dents." + . += span_notice("It has a few scrapes and dents.") /obj/structure/railing/take_damage(amount) health -= amount if(health <= 0) - visible_message("\The [src] breaks down!") + visible_message(span_warning("\The [src] breaks down!")) playsound(src, 'sound/effects/grillehit.ogg', 50, 1) new /obj/item/stack/rods(get_turf(src)) qdel(src) @@ -205,49 +205,49 @@ if(W.has_tool_quality(TOOL_WRENCH) && !anchored) playsound(src, W.usesound, 50, 1) if(do_after(user, 20, src)) - user.visible_message("\The [user] dismantles \the [src].", "You dismantle \the [src].") - new /obj/item/stack/material/steel(get_turf(usr), 2) + user.visible_message(span_infoplain(span_bold("\The [user]") + " dismantles \the [src]."), span_notice("You dismantle \the [src].")) + new /obj/item/stack/material/steel(get_turf(user), 2) qdel(src) return // Repair if(health < maxhealth && W.has_tool_quality(TOOL_WELDER)) - var/obj/item/weapon/weldingtool/F = W.get_welder() + var/obj/item/weldingtool/F = W.get_welder() if(F.welding) playsound(src, F.usesound, 50, 1) if(do_after(user, 20, src)) - user.visible_message("\The [user] repairs some damage to \the [src].", "You repair some damage to \the [src].") + user.visible_message(span_infoplain(span_bold("\The [user]") + " repairs some damage to \the [src]."), span_notice("You repair some damage to \the [src].")) health = min(health+(maxhealth/5), maxhealth) // 20% repair per application return // Install if(W.has_tool_quality(TOOL_SCREWDRIVER)) - user.visible_message(anchored ? "\The [user] begins unscrewing \the [src]." : "\The [user] begins fasten \the [src]." ) + user.visible_message(span_info((anchored ? (span_bold("\The [user]") + " begins unscrewing \the [src].") : (span_bold("\The [user]") + "begins fasten \the [src].")))) playsound(src, W.usesound, 75, 1) if(do_after(user, 10, src)) - to_chat(user, (anchored ? "You have unfastened \the [src] from the floor." : "You have fastened \the [src] to the floor.")) + to_chat(user, (anchored ? span_notice("You have unfastened \the [src] from the floor.") : span_notice("You have fastened \the [src] to the floor."))) anchored = !anchored update_icon() return // Handle harm intent grabbing/tabling. - if(istype(W, /obj/item/weapon/grab) && get_dist(src,user)<2) - var/obj/item/weapon/grab/G = W + if(istype(W, /obj/item/grab) && get_dist(src,user)<2) + var/obj/item/grab/G = W if (istype(G.affecting, /mob/living)) var/mob/living/M = G.affecting var/obj/occupied = turf_is_crowded() if(occupied) - to_chat(user, "There's \a [occupied] in the way.") + to_chat(user, span_danger("There's \a [occupied] in the way.")) return if (G.state < 2) if(user.a_intent == I_HURT) if (prob(15)) M.Weaken(5) M.apply_damage(8,def_zone = "head") take_damage(8) - visible_message("[G.assailant] slams [G.affecting]'s face against \the [src]!") + visible_message(span_danger("[G.assailant] slams [G.affecting]'s face against \the [src]!")) playsound(src, 'sound/effects/grillehit.ogg', 50, 1) else - to_chat(user, "You need a better grip to do that!") + to_chat(user, span_danger("You need a better grip to do that!")) return else if (get_turf(G.affecting) == get_turf(src)) @@ -255,7 +255,7 @@ else G.affecting.forceMove(get_turf(src)) G.affecting.Weaken(5) - visible_message("[G.assailant] throws [G.affecting] over \the [src]!") + visible_message(span_danger("[G.assailant] throws [G.affecting] over \the [src]!")) qdel(W) return @@ -285,7 +285,7 @@ if(!can_climb(user)) return - usr.visible_message("[user] starts climbing onto \the [src]!") + user.visible_message(span_warning("[user] starts climbing onto \the [src]!")) LAZYDISTINCTADD(climbers, user) if(!do_after(user,(issmall(user) ? 20 : 34))) @@ -297,11 +297,11 @@ return if(get_turf(user) == get_turf(src)) - usr.forceMove(get_step(src, src.dir)) + user.forceMove(get_step(src, src.dir)) else - usr.forceMove(get_turf(src)) + user.forceMove(get_turf(src)) - usr.visible_message("[user] climbed over \the [src]!") + user.visible_message(span_warning("[user] climbed over \the [src]!")) if(!anchored) take_damage(maxhealth) // Fatboy LAZYREMOVE(climbers, user) @@ -314,7 +314,7 @@ if(get_turf(user) == get_turf(src)) var/obj/occupied = neighbor_turf_impassable() if(occupied) - to_chat(user, "You can't climb there, there's \a [occupied] in the way.") + to_chat(user, span_danger("You can't climb there, there's \a [occupied] in the way.")) return 0 return 1 diff --git a/code/game/objects/structures/safe.dm b/code/game/objects/structures/safe.dm index f3875bf5082..dc14447db1e 100644 --- a/code/game/objects/structures/safe.dm +++ b/code/game/objects/structures/safe.dm @@ -44,11 +44,11 @@ FLOOR SAFES /obj/structure/safe/proc/check_unlocked(mob/user as mob, canhear) if(user && canhear) if(tumbler_1_pos == tumbler_1_open) - to_chat(user, "You hear a [pick("tonk", "krunk", "plunk")] from \the [src].") + to_chat(user, span_notice("You hear a [pick("tonk", "krunk", "plunk")] from \the [src].")) if(tumbler_2_pos == tumbler_2_open) - to_chat(user, "You hear a [pick("tink", "krink", "plink")] from \the [src].") + to_chat(user, span_notice("You hear a [pick("tink", "krink", "plink")] from \the [src].")) if(tumbler_1_pos == tumbler_1_open && tumbler_2_pos == tumbler_2_open) - if(user) visible_message("[pick("Spring", "Sprang", "Sproing", "Clunk", "Krunk")]!") + if(user) visible_message(span_infoplain(span_bold("[pick("Spring", "Sprang", "Sproing", "Clunk", "Krunk")]!"))) return 1 return 0 @@ -97,13 +97,13 @@ FLOOR SAFES if(href_list["open"]) if(check_unlocked()) - to_chat(user, "You [open ? "close" : "open"] [src].") + to_chat(user, span_notice("You [open ? "close" : "open"] [src].")) open = !open update_icon() updateUsrDialog() return else - to_chat(user, "You can't [open ? "close" : "open"] [src], the lock is engaged!") + to_chat(user, span_notice("You can't [open ? "close" : "open"] [src], the lock is engaged!")) return if(href_list["decrement"]) @@ -111,11 +111,11 @@ FLOOR SAFES if(dial == tumbler_1_pos + 1 || dial == tumbler_1_pos - 71) tumbler_1_pos = decrement(tumbler_1_pos) if(canhear) - to_chat(user, "You hear a [pick("clack", "scrape", "clank")] from \the [src].") + to_chat(user, span_notice("You hear a [pick("clack", "scrape", "clank")] from \the [src].")) if(tumbler_1_pos == tumbler_2_pos + 37 || tumbler_1_pos == tumbler_2_pos - 35) tumbler_2_pos = decrement(tumbler_2_pos) if(canhear) - to_chat(user, "You hear a [pick("click", "chink", "clink")] from \the [src].") + to_chat(user, span_notice("You hear a [pick("click", "chink", "clink")] from \the [src].")) playsound(src, 'sound/machines/click.ogg', 20, 1) check_unlocked(user, canhear) @@ -127,11 +127,11 @@ FLOOR SAFES if(dial == tumbler_1_pos - 1 || dial == tumbler_1_pos + 71) tumbler_1_pos = increment(tumbler_1_pos) if(canhear) - to_chat(user, "You hear a [pick("clack", "scrape", "clank")] from \the [src].") + to_chat(user, span_notice("You hear a [pick("clack", "scrape", "clank")] from \the [src].")) if(tumbler_1_pos == tumbler_2_pos - 37 || tumbler_1_pos == tumbler_2_pos + 35) tumbler_2_pos = increment(tumbler_2_pos) if(canhear) - to_chat(user, "You hear a [pick("click", "chink", "clink")] from \the [src].") + to_chat(user, span_notice("You hear a [pick("click", "chink", "clink")] from \the [src].")) playsound(src, 'sound/machines/click.ogg', 20, 1) check_unlocked(user, canhear) updateUsrDialog() @@ -153,11 +153,11 @@ FLOOR SAFES space += I.w_class user.drop_item() I.loc = src - to_chat(user, "You put [I] in \the [src].") + to_chat(user, span_notice("You put [I] in \the [src].")) updateUsrDialog() return else - to_chat(user, "[I] won't fit in \the [src].") + to_chat(user, span_notice("[I] won't fit in \the [src].")) return else if(istype(I, /obj/item/clothing/accessory/stethoscope)) diff --git a/code/game/objects/structures/salvageable.dm b/code/game/objects/structures/salvageable.dm index 4999456a5e3..fa0f5fa02bc 100644 --- a/code/game/objects/structures/salvageable.dm +++ b/code/game/objects/structures/salvageable.dm @@ -18,12 +18,12 @@ playsound(src, I.usesound, 50, 1) var/actual_time = I.toolspeed * 170 user.visible_message( \ - "\The [user] begins salvaging from \the [src].", \ - "You start salvaging from \the [src].") + span_infoplain(span_bold("\The [user]") + " begins salvaging from \the [src]."), \ + span_notice("You start salvaging from \the [src].")) if(do_after(user, actual_time, target = src)) user.visible_message( \ - "\The [user] has salvaged \the [src].", \ - "You salvage \the [src].") + span_notice("\The [user] has salvaged \the [src]."), \ + span_notice("You salvage \the [src].")) dismantle() qdel(src) return TRUE @@ -35,25 +35,25 @@ name = "broken machine" icon_state = "machine1" salvageable_parts = list( - /obj/item/weapon/stock_parts/console_screen = 80, + /obj/item/stock_parts/console_screen = 80, /obj/item/stack/cable_coil{amount = 5} = 80, /obj/item/trash/material/circuit = 60, /obj/item/trash/material/metal = 60, - /obj/item/weapon/stock_parts/capacitor = 40, - /obj/item/weapon/stock_parts/capacitor = 40, - /obj/item/weapon/stock_parts/scanning_module = 40, - /obj/item/weapon/stock_parts/scanning_module = 40, - /obj/item/weapon/stock_parts/manipulator = 40, - /obj/item/weapon/stock_parts/manipulator = 40, - /obj/item/weapon/stock_parts/micro_laser = 40, - /obj/item/weapon/stock_parts/micro_laser = 40, - /obj/item/weapon/stock_parts/matter_bin = 40, - /obj/item/weapon/stock_parts/matter_bin = 40, - /obj/item/weapon/stock_parts/capacitor/adv = 20, - /obj/item/weapon/stock_parts/scanning_module/adv = 20, - /obj/item/weapon/stock_parts/manipulator/nano = 20, - /obj/item/weapon/stock_parts/micro_laser/high = 20, - /obj/item/weapon/stock_parts/matter_bin/adv = 20 + /obj/item/stock_parts/capacitor = 40, + /obj/item/stock_parts/capacitor = 40, + /obj/item/stock_parts/scanning_module = 40, + /obj/item/stock_parts/scanning_module = 40, + /obj/item/stock_parts/manipulator = 40, + /obj/item/stock_parts/manipulator = 40, + /obj/item/stock_parts/micro_laser = 40, + /obj/item/stock_parts/micro_laser = 40, + /obj/item/stock_parts/matter_bin = 40, + /obj/item/stock_parts/matter_bin = 40, + /obj/item/stock_parts/capacitor/adv = 20, + /obj/item/stock_parts/scanning_module/adv = 20, + /obj/item/stock_parts/manipulator/nano = 20, + /obj/item/stock_parts/micro_laser/high = 20, + /obj/item/stock_parts/matter_bin/adv = 20 ) /obj/structure/salvageable/machine/Initialize() @@ -64,21 +64,21 @@ name = "broken computer" icon_state = "computer0" salvageable_parts = list( - /obj/item/weapon/stock_parts/console_screen = 80, + /obj/item/stock_parts/console_screen = 80, /obj/item/stack/cable_coil{amount = 5} = 90, /obj/item/stack/material/glass{amount = 5} = 90, /obj/item/trash/material/circuit = 60, /obj/item/trash/material/metal = 60, - /obj/item/weapon/stock_parts/capacitor = 60, - /obj/item/weapon/stock_parts/capacitor = 60, - /obj/item/weapon/computer_hardware/network_card = 40, - /obj/item/weapon/computer_hardware/network_card = 40, - /obj/item/weapon/computer_hardware/processor_unit = 40, - /obj/item/weapon/computer_hardware/processor_unit = 40, - /obj/item/weapon/computer_hardware/card_slot = 40, - /obj/item/weapon/computer_hardware/card_slot = 40, - /obj/item/weapon/stock_parts/capacitor/adv = 30, - /obj/item/weapon/computer_hardware/network_card/advanced = 20 + /obj/item/stock_parts/capacitor = 60, + /obj/item/stock_parts/capacitor = 60, + /obj/item/computer_hardware/network_card = 40, + /obj/item/computer_hardware/network_card = 40, + /obj/item/computer_hardware/processor_unit = 40, + /obj/item/computer_hardware/processor_unit = 40, + /obj/item/computer_hardware/card_slot = 40, + /obj/item/computer_hardware/card_slot = 40, + /obj/item/stock_parts/capacitor/adv = 30, + /obj/item/computer_hardware/network_card/advanced = 20 ) /obj/structure/salvageable/computer/Initialize() . = ..() @@ -88,25 +88,25 @@ name = "broken autolathe" icon_state = "autolathe" salvageable_parts = list( - /obj/item/weapon/stock_parts/console_screen = 80, + /obj/item/stock_parts/console_screen = 80, /obj/item/stack/cable_coil{amount = 5} = 80, /obj/item/trash/material/circuit = 60, /obj/item/trash/material/metal = 60, - /obj/item/weapon/stock_parts/capacitor = 40, - /obj/item/weapon/stock_parts/scanning_module = 40, - /obj/item/weapon/stock_parts/manipulator = 40, - /obj/item/weapon/stock_parts/micro_laser = 40, - /obj/item/weapon/stock_parts/micro_laser = 40, - /obj/item/weapon/stock_parts/micro_laser = 40, - /obj/item/weapon/stock_parts/matter_bin = 40, - /obj/item/weapon/stock_parts/matter_bin = 40, - /obj/item/weapon/stock_parts/matter_bin = 40, - /obj/item/weapon/stock_parts/matter_bin = 40, - /obj/item/weapon/stock_parts/capacitor/adv = 20, - /obj/item/weapon/stock_parts/micro_laser/high = 20, - /obj/item/weapon/stock_parts/micro_laser/high = 20, - /obj/item/weapon/stock_parts/matter_bin/adv = 20, - /obj/item/weapon/stock_parts/matter_bin/adv = 20, + /obj/item/stock_parts/capacitor = 40, + /obj/item/stock_parts/scanning_module = 40, + /obj/item/stock_parts/manipulator = 40, + /obj/item/stock_parts/micro_laser = 40, + /obj/item/stock_parts/micro_laser = 40, + /obj/item/stock_parts/micro_laser = 40, + /obj/item/stock_parts/matter_bin = 40, + /obj/item/stock_parts/matter_bin = 40, + /obj/item/stock_parts/matter_bin = 40, + /obj/item/stock_parts/matter_bin = 40, + /obj/item/stock_parts/capacitor/adv = 20, + /obj/item/stock_parts/micro_laser/high = 20, + /obj/item/stock_parts/micro_laser/high = 20, + /obj/item/stock_parts/matter_bin/adv = 20, + /obj/item/stock_parts/matter_bin/adv = 20, /obj/item/stack/material/steel{amount = 20} = 40, /obj/item/stack/material/glass{amount = 20} = 40, /obj/item/stack/material/plastic{amount = 20} = 40, @@ -120,17 +120,17 @@ name = "old container" icon_state = "implant_container0" salvageable_parts = list( - /obj/item/weapon/stock_parts/console_screen = 80, + /obj/item/stock_parts/console_screen = 80, /obj/item/stack/cable_coil{amount = 5} = 80, /obj/item/trash/material/circuit = 60, /obj/item/trash/material/metal = 60, - /obj/item/weapon/implant/death_alarm = 15, - /obj/item/weapon/implant/explosive = 10, - /obj/item/weapon/implant/freedom = 5, - /obj/item/weapon/implant/tracking = 10, - /obj/item/weapon/implant/chem = 10, - /obj/item/weapon/implantcase = 30, - /obj/item/weapon/implanter = 30, + /obj/item/implant/death_alarm = 15, + /obj/item/implant/explosive = 10, + /obj/item/implant/freedom = 5, + /obj/item/implant/tracking = 10, + /obj/item/implant/chem = 10, + /obj/item/implantcase = 30, + /obj/item/implanter = 30, /obj/item/stack/material/steel{amount = 10} = 30, /obj/item/stack/material/glass{amount = 10} = 30, /obj/item/stack/material/silver{amount = 10} = 30 @@ -144,24 +144,24 @@ name = "broken data storage" icon_state = "data0" salvageable_parts = list( - /obj/item/weapon/stock_parts/console_screen = 80, + /obj/item/stock_parts/console_screen = 80, /obj/item/stack/cable_coil{amount = 5} = 90, /obj/item/stack/material/glass{amount = 5} = 90, /obj/item/trash/material/circuit = 60, /obj/item/trash/material/metal = 60, - /obj/item/weapon/computer_hardware/network_card = 40, - /obj/item/weapon/computer_hardware/network_card = 40, - /obj/item/weapon/computer_hardware/processor_unit = 40, - /obj/item/weapon/computer_hardware/processor_unit = 40, - /obj/item/weapon/computer_hardware/hard_drive = 50, - /obj/item/weapon/computer_hardware/hard_drive = 50, - /obj/item/weapon/computer_hardware/hard_drive = 50, - /obj/item/weapon/computer_hardware/hard_drive = 50, - /obj/item/weapon/computer_hardware/hard_drive = 50, - /obj/item/weapon/computer_hardware/hard_drive = 50, - /obj/item/weapon/computer_hardware/hard_drive/advanced = 30, - /obj/item/weapon/computer_hardware/hard_drive/advanced = 30, - /obj/item/weapon/computer_hardware/network_card/advanced = 20 + /obj/item/computer_hardware/network_card = 40, + /obj/item/computer_hardware/network_card = 40, + /obj/item/computer_hardware/processor_unit = 40, + /obj/item/computer_hardware/processor_unit = 40, + /obj/item/computer_hardware/hard_drive = 50, + /obj/item/computer_hardware/hard_drive = 50, + /obj/item/computer_hardware/hard_drive = 50, + /obj/item/computer_hardware/hard_drive = 50, + /obj/item/computer_hardware/hard_drive = 50, + /obj/item/computer_hardware/hard_drive = 50, + /obj/item/computer_hardware/hard_drive/advanced = 30, + /obj/item/computer_hardware/hard_drive/advanced = 30, + /obj/item/computer_hardware/network_card/advanced = 20 ) /obj/structure/salvageable/data/Initialize() @@ -172,26 +172,26 @@ name = "broken server" icon_state = "server0" salvageable_parts = list( - /obj/item/weapon/stock_parts/console_screen = 80, + /obj/item/stock_parts/console_screen = 80, /obj/item/stack/cable_coil{amount = 5} = 90, /obj/item/stack/material/glass{amount = 5} = 90, /obj/item/trash/material/circuit = 60, /obj/item/trash/material/metal = 60, - /obj/item/weapon/computer_hardware/network_card = 40, - /obj/item/weapon/computer_hardware/network_card = 40, - /obj/item/weapon/computer_hardware/processor_unit = 40, - /obj/item/weapon/computer_hardware/processor_unit = 40, - /obj/item/weapon/stock_parts/subspace/amplifier = 40, - /obj/item/weapon/stock_parts/subspace/amplifier = 40, - /obj/item/weapon/stock_parts/subspace/analyzer = 40, - /obj/item/weapon/stock_parts/subspace/analyzer = 40, - /obj/item/weapon/stock_parts/subspace/ansible = 40, - /obj/item/weapon/stock_parts/subspace/ansible = 40, - /obj/item/weapon/stock_parts/subspace/transmitter = 40, - /obj/item/weapon/stock_parts/subspace/transmitter = 40, - /obj/item/weapon/stock_parts/subspace/crystal = 30, - /obj/item/weapon/stock_parts/subspace/crystal = 30, - /obj/item/weapon/computer_hardware/network_card/advanced = 20 + /obj/item/computer_hardware/network_card = 40, + /obj/item/computer_hardware/network_card = 40, + /obj/item/computer_hardware/processor_unit = 40, + /obj/item/computer_hardware/processor_unit = 40, + /obj/item/stock_parts/subspace/amplifier = 40, + /obj/item/stock_parts/subspace/amplifier = 40, + /obj/item/stock_parts/subspace/analyzer = 40, + /obj/item/stock_parts/subspace/analyzer = 40, + /obj/item/stock_parts/subspace/ansible = 40, + /obj/item/stock_parts/subspace/ansible = 40, + /obj/item/stock_parts/subspace/transmitter = 40, + /obj/item/stock_parts/subspace/transmitter = 40, + /obj/item/stock_parts/subspace/crystal = 30, + /obj/item/stock_parts/subspace/crystal = 30, + /obj/item/computer_hardware/network_card/advanced = 20 ) /obj/structure/salvageable/server/Initialize() @@ -202,21 +202,21 @@ name = "personal terminal" icon_state = "personal0" salvageable_parts = list( - /obj/item/weapon/stock_parts/console_screen = 90, + /obj/item/stock_parts/console_screen = 90, /obj/item/stack/cable_coil{amount = 5} = 90, /obj/item/stack/material/glass{amount = 5} = 70, /obj/item/trash/material/circuit = 60, /obj/item/trash/material/metal = 60, - /obj/item/weapon/computer_hardware/network_card = 60, - /obj/item/weapon/computer_hardware/network_card/advanced = 40, - /obj/item/weapon/computer_hardware/network_card/wired = 40, - /obj/item/weapon/computer_hardware/card_slot = 40, - /obj/item/weapon/computer_hardware/processor_unit = 60, - /obj/item/weapon/computer_hardware/processor_unit/small = 50, - /obj/item/weapon/computer_hardware/processor_unit/photonic = 40, - /obj/item/weapon/computer_hardware/processor_unit/photonic/small = 30, - /obj/item/weapon/computer_hardware/hard_drive = 60, - /obj/item/weapon/computer_hardware/hard_drive/advanced = 40 + /obj/item/computer_hardware/network_card = 60, + /obj/item/computer_hardware/network_card/advanced = 40, + /obj/item/computer_hardware/network_card/wired = 40, + /obj/item/computer_hardware/card_slot = 40, + /obj/item/computer_hardware/processor_unit = 60, + /obj/item/computer_hardware/processor_unit/small = 50, + /obj/item/computer_hardware/processor_unit/photonic = 40, + /obj/item/computer_hardware/processor_unit/photonic/small = 30, + /obj/item/computer_hardware/hard_drive = 60, + /obj/item/computer_hardware/hard_drive/advanced = 40 ) /obj/structure/salvageable/personal/Initialize() @@ -228,10 +228,10 @@ name = "strange terminal" icon_state = "bliss0" salvageable_parts = list( - /obj/item/weapon/stock_parts/console_screen = 90, + /obj/item/stock_parts/console_screen = 90, /obj/item/stack/cable_coil{amount = 5} = 90, - /obj/item/weapon/computer_hardware/processor_unit/photonic = 60, - /obj/item/weapon/computer_hardware/hard_drive/cluster = 50 + /obj/item/computer_hardware/processor_unit/photonic = 60, + /obj/item/computer_hardware/hard_drive/cluster = 50 ) /obj/structure/salvageable/bliss/Initialize() @@ -254,10 +254,10 @@ /obj/item/stack/material/glass{amount = 5} = 70, /obj/item/trash/material/circuit = 60, /obj/item/trash/material/metal = 60, - /obj/item/weapon/stock_parts/capacitor = 40, - /obj/item/weapon/stock_parts/capacitor = 40, - /obj/item/weapon/stock_parts/scanning_module = 40, - /obj/item/weapon/stock_parts/scanning_module = 40 + /obj/item/stock_parts/capacitor = 40, + /obj/item/stock_parts/capacitor = 40, + /obj/item/stock_parts/scanning_module = 40, + /obj/item/stock_parts/scanning_module = 40 ) /obj/structure/salvageable/personal/Initialize() @@ -272,10 +272,10 @@ /obj/item/stack/material/glass{amount = 5} = 70, /obj/item/trash/material/circuit = 60, /obj/item/trash/material/metal = 60, - /obj/item/weapon/stock_parts/capacitor = 40, - /obj/item/weapon/stock_parts/capacitor = 40, - /obj/item/weapon/stock_parts/scanning_module = 40, - /obj/item/weapon/stock_parts/scanning_module = 40 + /obj/item/stock_parts/capacitor = 40, + /obj/item/stock_parts/capacitor = 40, + /obj/item/stock_parts/scanning_module = 40, + /obj/item/stock_parts/scanning_module = 40 ) ////////////////// @@ -286,88 +286,88 @@ name = "broken machine" icon_state = "os-machine" salvageable_parts = list( - /obj/item/weapon/stock_parts/console_screen = 80, + /obj/item/stock_parts/console_screen = 80, /obj/item/stack/cable_coil{amount = 5} = 80, - /obj/item/weapon/stock_parts/capacitor = 40, - /obj/item/weapon/stock_parts/capacitor = 40, - /obj/item/weapon/stock_parts/scanning_module = 40, - /obj/item/weapon/stock_parts/scanning_module = 40, - /obj/item/weapon/stock_parts/manipulator = 40, - /obj/item/weapon/stock_parts/manipulator = 40, - /obj/item/weapon/stock_parts/micro_laser = 40, - /obj/item/weapon/stock_parts/micro_laser = 40, - /obj/item/weapon/stock_parts/matter_bin = 40, - /obj/item/weapon/stock_parts/matter_bin = 40 + /obj/item/stock_parts/capacitor = 40, + /obj/item/stock_parts/capacitor = 40, + /obj/item/stock_parts/scanning_module = 40, + /obj/item/stock_parts/scanning_module = 40, + /obj/item/stock_parts/manipulator = 40, + /obj/item/stock_parts/manipulator = 40, + /obj/item/stock_parts/micro_laser = 40, + /obj/item/stock_parts/micro_laser = 40, + /obj/item/stock_parts/matter_bin = 40, + /obj/item/stock_parts/matter_bin = 40 ) /obj/structure/salvageable/computer_os name = "broken computer" icon_state = "os-computer" salvageable_parts = list( - /obj/item/weapon/stock_parts/console_screen = 80, + /obj/item/stock_parts/console_screen = 80, /obj/item/stack/cable_coil{amount = 5} = 90, /obj/item/stack/material/glass{amount = 5} = 90, - /obj/item/weapon/stock_parts/capacitor = 60, - /obj/item/weapon/stock_parts/capacitor = 60, - /obj/item/weapon/computer_hardware/processor_unit/photonic = 40, - /obj/item/weapon/computer_hardware/processor_unit/photonic = 40, - /obj/item/weapon/computer_hardware/card_slot = 40, - /obj/item/weapon/computer_hardware/card_slot = 40, - /obj/item/weapon/computer_hardware/network_card/advanced = 40 + /obj/item/stock_parts/capacitor = 60, + /obj/item/stock_parts/capacitor = 60, + /obj/item/computer_hardware/processor_unit/photonic = 40, + /obj/item/computer_hardware/processor_unit/photonic = 40, + /obj/item/computer_hardware/card_slot = 40, + /obj/item/computer_hardware/card_slot = 40, + /obj/item/computer_hardware/network_card/advanced = 40 ) /obj/structure/salvageable/implant_container_os name = "old container" icon_state = "os-container" salvageable_parts = list( - /obj/item/weapon/stock_parts/console_screen = 80, + /obj/item/stock_parts/console_screen = 80, /obj/item/stack/cable_coil{amount = 5} = 80, - /obj/item/weapon/implant/death_alarm = 30, - /obj/item/weapon/implant/explosive = 20, - /obj/item/weapon/implant/freedom = 20, - /obj/item/weapon/implant/tracking = 30, - /obj/item/weapon/implant/chem = 30, - /obj/item/weapon/implantcase = 30, - /obj/item/weapon/implanter = 30 + /obj/item/implant/death_alarm = 30, + /obj/item/implant/explosive = 20, + /obj/item/implant/freedom = 20, + /obj/item/implant/tracking = 30, + /obj/item/implant/chem = 30, + /obj/item/implantcase = 30, + /obj/item/implanter = 30 ) /obj/structure/salvageable/data_os name = "broken data storage" icon_state = "os-data" salvageable_parts = list( - /obj/item/weapon/stock_parts/console_screen = 90, + /obj/item/stock_parts/console_screen = 90, /obj/item/stack/cable_coil{amount = 5} = 90, /obj/item/stack/material/glass{amount = 5} = 90, - /obj/item/weapon/computer_hardware/processor_unit/small = 60, - /obj/item/weapon/computer_hardware/processor_unit/photonic = 50, - /obj/item/weapon/computer_hardware/hard_drive/super = 50, - /obj/item/weapon/computer_hardware/hard_drive/super = 50, - /obj/item/weapon/computer_hardware/hard_drive/cluster = 50, - /obj/item/weapon/computer_hardware/network_card/wired = 40 + /obj/item/computer_hardware/processor_unit/small = 60, + /obj/item/computer_hardware/processor_unit/photonic = 50, + /obj/item/computer_hardware/hard_drive/super = 50, + /obj/item/computer_hardware/hard_drive/super = 50, + /obj/item/computer_hardware/hard_drive/cluster = 50, + /obj/item/computer_hardware/network_card/wired = 40 ) /obj/structure/salvageable/server_os name = "broken server" icon_state = "os-server" salvageable_parts = list( - /obj/item/weapon/stock_parts/console_screen = 80, + /obj/item/stock_parts/console_screen = 80, /obj/item/stack/cable_coil{amount = 5} = 90, /obj/item/stack/material/glass{amount = 5} = 90, - /obj/item/weapon/computer_hardware/network_card/wired = 40, - /obj/item/weapon/computer_hardware/network_card/wired = 40, - /obj/item/weapon/computer_hardware/processor_unit = 40, - /obj/item/weapon/computer_hardware/processor_unit/photonic = 40, - /obj/item/weapon/stock_parts/subspace/amplifier = 40, - /obj/item/weapon/stock_parts/subspace/amplifier = 40, - /obj/item/weapon/stock_parts/subspace/analyzer = 40, - /obj/item/weapon/stock_parts/subspace/analyzer = 40, - /obj/item/weapon/stock_parts/subspace/ansible = 40, - /obj/item/weapon/stock_parts/subspace/ansible = 40, - /obj/item/weapon/stock_parts/subspace/transmitter = 40, - /obj/item/weapon/stock_parts/subspace/transmitter = 40, - /obj/item/weapon/stock_parts/subspace/crystal = 30, - /obj/item/weapon/stock_parts/subspace/crystal = 30, - /obj/item/weapon/computer_hardware/network_card/wired = 20 + /obj/item/computer_hardware/network_card/wired = 40, + /obj/item/computer_hardware/network_card/wired = 40, + /obj/item/computer_hardware/processor_unit = 40, + /obj/item/computer_hardware/processor_unit/photonic = 40, + /obj/item/stock_parts/subspace/amplifier = 40, + /obj/item/stock_parts/subspace/amplifier = 40, + /obj/item/stock_parts/subspace/analyzer = 40, + /obj/item/stock_parts/subspace/analyzer = 40, + /obj/item/stock_parts/subspace/ansible = 40, + /obj/item/stock_parts/subspace/ansible = 40, + /obj/item/stock_parts/subspace/transmitter = 40, + /obj/item/stock_parts/subspace/transmitter = 40, + /obj/item/stock_parts/subspace/crystal = 30, + /obj/item/stock_parts/subspace/crystal = 30, + /obj/item/computer_hardware/network_card/wired = 20 ) /obj/structure/salvageable/console_os @@ -376,14 +376,14 @@ icon_state = "os_console" salvageable_parts = list( /obj/item/stack/cable_coil{amount = 5} = 90, - /obj/item/weapon/stock_parts/console_screen = 80, - /obj/item/weapon/stock_parts/capacitor = 60, - /obj/item/weapon/stock_parts/capacitor = 60, - /obj/item/weapon/computer_hardware/processor_unit/small = 40, - /obj/item/weapon/computer_hardware/processor_unit/photonic = 40, - /obj/item/weapon/computer_hardware/card_slot = 40, - /obj/item/weapon/computer_hardware/card_slot = 40, - /obj/item/weapon/computer_hardware/network_card/advanced = 40 + /obj/item/stock_parts/console_screen = 80, + /obj/item/stock_parts/capacitor = 60, + /obj/item/stock_parts/capacitor = 60, + /obj/item/computer_hardware/processor_unit/small = 40, + /obj/item/computer_hardware/processor_unit/photonic = 40, + /obj/item/computer_hardware/card_slot = 40, + /obj/item/computer_hardware/card_slot = 40, + /obj/item/computer_hardware/network_card/advanced = 40 ) /obj/structure/salvageable/console_broken_os @@ -391,14 +391,14 @@ icon_state = "os_console_broken" salvageable_parts = list( /obj/item/stack/cable_coil{amount = 5} = 90, - /obj/item/weapon/stock_parts/console_screen = 80, - /obj/item/weapon/stock_parts/capacitor = 60, - /obj/item/weapon/stock_parts/capacitor = 60, - /obj/item/weapon/computer_hardware/processor_unit = 40, - /obj/item/weapon/computer_hardware/processor_unit/photonic = 40, - /obj/item/weapon/computer_hardware/card_slot = 40, - /obj/item/weapon/computer_hardware/card_slot = 40, - /obj/item/weapon/computer_hardware/network_card/advanced = 40 + /obj/item/stock_parts/console_screen = 80, + /obj/item/stock_parts/capacitor = 60, + /obj/item/stock_parts/capacitor = 60, + /obj/item/computer_hardware/processor_unit = 40, + /obj/item/computer_hardware/processor_unit/photonic = 40, + /obj/item/computer_hardware/card_slot = 40, + /obj/item/computer_hardware/card_slot = 40, + /obj/item/computer_hardware/network_card/advanced = 40 ) @@ -407,12 +407,12 @@ icon_state = "slot1" salvageable_parts = list( /obj/item/stack/cable_coil{amount = 5} = 90, - /obj/item/weapon/stock_parts/console_screen = 90, + /obj/item/stock_parts/console_screen = 90, /obj/item/stack/cable_coil{amount = 5} = 90, /obj/item/stack/material/glass{amount = 5} = 90, - /obj/item/weapon/stock_parts/capacitor = 60, - /obj/item/weapon/stock_parts/capacitor = 60, - /obj/item/weapon/computer_hardware/network_card/advanced = 40 + /obj/item/stock_parts/capacitor = 60, + /obj/item/stock_parts/capacitor = 60, + /obj/item/computer_hardware/network_card/advanced = 40 ) /obj/structure/salvageable/slotmachine2 @@ -420,10 +420,10 @@ icon_state = "slot2" salvageable_parts = list( /obj/item/stack/cable_coil{amount = 5} = 90, - /obj/item/weapon/stock_parts/console_screen = 90, + /obj/item/stock_parts/console_screen = 90, /obj/item/stack/cable_coil{amount = 5} = 90, /obj/item/stack/material/glass{amount = 5} = 90, - /obj/item/weapon/stock_parts/capacitor = 60, - /obj/item/weapon/stock_parts/capacitor = 60, - /obj/item/weapon/computer_hardware/network_card/advanced = 40 + /obj/item/stock_parts/capacitor = 60, + /obj/item/stock_parts/capacitor = 60, + /obj/item/computer_hardware/network_card/advanced = 40 ) diff --git a/code/game/objects/structures/signs.dm b/code/game/objects/structures/signs.dm index 49f7db1ff7b..2ae6b0980e3 100644 --- a/code/game/objects/structures/signs.dm +++ b/code/game/objects/structures/signs.dm @@ -17,7 +17,7 @@ else ..() /obj/structure/sign/proc/unfasten(mob/user) - user.visible_message(SPAN_NOTICE("\The [user] unfastens \the [src]."), SPAN_NOTICE("You unfasten \the [src].")) + user.visible_message(span_notice("\The [user] unfastens \the [src]."), span_notice("You unfasten \the [src].")) var/obj/item/sign/S = new(src.loc) S.name = name S.desc = desc @@ -37,7 +37,7 @@ /obj/item/sign/attackby(obj/item/tool as obj, mob/user as mob) //construction if(tool.has_tool_quality(TOOL_SCREWDRIVER) && isturf(user.loc)) - var/direction = tgui_input_list(usr, "In which direction?", "Select direction.", list("North", "East", "South", "West", "Cancel")) + var/direction = tgui_input_list(user, "In which direction?", "Select direction.", list("North", "East", "South", "West", "Cancel")) if(direction == "Cancel") return var/target_type = original_type || /obj/structure/sign var/obj/structure/sign/S = new target_type(user.loc) @@ -1501,7 +1501,7 @@ . = ..() . += "The calendar shows that the date is [stationdate2text()]." if (Holiday.len) - . += "Today is [english_list(Holiday)]." + . += "Today is " + span_bold(span_green("[english_list(Holiday)]")) + "." /obj/structure/sign/explosive name = "\improper HIGH EXPLOSIVES sign" @@ -1546,12 +1546,12 @@ return if((!iswall(A) && !istype(A, /obj/structure/window)) || !isturf(user.loc)) - to_chat(user, SPAN_WARNING("You can't place this here!")) + to_chat(user, span_warning("You can't place this here!")) return var/placement_dir = get_dir(user, A) if (!(placement_dir in cardinal)) - to_chat(user, SPAN_WARNING("You must stand directly in front of the location you wish to place that on.")) + to_chat(user, span_warning("You must stand directly in front of the location you wish to place that on.")) return var/obj/structure/sign/flag/P = new(user.loc) @@ -1620,11 +1620,11 @@ /obj/structure/sign/flag/unfasten(mob/user) if(!ripped) - user.visible_message(SPAN_NOTICE("\The [user] unfastens \the [src] and folds it back up."), SPAN_NOTICE("You unfasten \the [src] and fold it back up.")) + user.visible_message(span_notice("\The [user] unfastens \the [src] and folds it back up."), span_notice("You unfasten \the [src] and fold it back up.")) var/obj/item/flag/F = new flagtype(get_turf(user)) user.put_in_hands(F) else - user.visible_message(SPAN_NOTICE("\The [user] unfastens the tattered remnants of \the [src]."), SPAN_NOTICE("You unfasten the tattered remains of \the [src].")) + user.visible_message(span_notice("\The [user] unfastens the tattered remnants of \the [src]."), span_notice("You unfasten the tattered remains of \the [src].")) if(linked_flag) qdel(linked_flag) //otherwise you're going to get weird duping nonsense qdel(src) @@ -1633,7 +1633,7 @@ if(alert("Do you want to rip \the [src] from its place?","You think...","Yes","No") == "Yes") if(!Adjacent(user)) //Cannot bring up dialogue and walk away return FALSE - visible_message(SPAN_WARNING("\The [user] rips \the [src] in a single, decisive motion!" )) + visible_message(span_warning("\The [user] rips \the [src] in a single, decisive motion!" )) playsound(src.loc, 'sound/items/poster_ripped.ogg', 100, 1) add_fingerprint(user) rip() @@ -1651,11 +1651,11 @@ /obj/structure/sign/flag/attackby(obj/item/W, mob/user) ..() - if(istype(W, /obj/item/weapon/flame/lighter) || istype(W, /obj/item/weapon/weldingtool)) - visible_message(SPAN_WARNING("\The [user] starts to burn \the [src] down!")) + if(istype(W, /obj/item/flame/lighter) || istype(W, /obj/item/weldingtool)) + visible_message(span_warning("\The [user] starts to burn \the [src] down!")) if(!do_after(user, 2 SECONDS)) return FALSE - visible_message(SPAN_WARNING("\The [user] burns \the [src] down!")) + visible_message(span_warning("\The [user] burns \the [src] down!")) playsound(src.loc, 'sound/items/cigs_lighters/cig_light.ogg', 100, 1) new /obj/effect/decal/cleanable/ash(src.loc) if(linked_flag) diff --git a/code/game/objects/structures/simple_doors.dm b/code/game/objects/structures/simple_doors.dm index 44c241ae7f4..c68d08208bf 100644 --- a/code/game/objects/structures/simple_doors.dm +++ b/code/game/objects/structures/simple_doors.dm @@ -18,6 +18,9 @@ var/locked = FALSE //has the door been locked? var/lock_id = null //does the door have an associated key? + var/lock_type = "simple" //string matched to "pick_type" on /obj/item/lockpick + var/can_pick = TRUE //can it be picked/bypassed? + var/lock_difficulty = 1 //multiplier to picking/bypassing time var/keysound = 'sound/items/toolbelt_equip.ogg' /obj/structure/simple_door/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) @@ -81,7 +84,7 @@ if(!Adjacent(user)) return else if(user.a_intent == I_HURT) - src.visible_message("[user] hammers on \the [src]!", "Someone hammers loudly on \the [src]!") + src.visible_message(span_warning("[user] hammers on \the [src]!"), span_warning("Someone hammers loudly on \the [src]!")) src.add_fingerprint(user) playsound(src, knock_hammer_sound, 50, 0, 3) else if(user.a_intent == I_HELP) @@ -102,7 +105,7 @@ if(!material.can_open_material_door(user)) return if(locked && state == 0) - to_chat(M,"It's locked!") + to_chat(M,span_warning("It's locked!")) return if(world.time - user.last_bumped <= 60) return @@ -152,28 +155,28 @@ else icon_state = material.door_icon_base -/obj/structure/simple_door/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/structure/simple_door/attackby(obj/item/W as obj, mob/user as mob) user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) - if(istype(W,/obj/item/weapon/simple_key)) - var/obj/item/weapon/simple_key/key = W + if(istype(W,/obj/item/simple_key)) + var/obj/item/simple_key/key = W if(state) - to_chat(user,"\The [src] must be closed in order for you to lock it.") + to_chat(user,span_notice("\The [src] must be closed in order for you to lock it.")) else if(key.key_id != src.lock_id) - to_chat(user,"The [key] doesn't fit \the [src]'s lock!") + to_chat(user,span_warning("The [key] doesn't fit \the [src]'s lock!")) else if(key.key_id == src.lock_id) - visible_message("[user] [key.keyverb] \the [key] and [locked ? "unlocks" : "locks"] \the [src].") + visible_message(span_notice("[user] [key.keyverb] \the [key] and [locked ? "unlocks" : "locks"] \the [src].")) locked = !locked playsound(src, keysound,100, 1) return - if(istype(W,/obj/item/weapon/pickaxe) && breakable) - var/obj/item/weapon/pickaxe/digTool = W - visible_message("[user] starts digging [src]!") + if(istype(W,/obj/item/pickaxe) && breakable) + var/obj/item/pickaxe/digTool = W + visible_message(span_danger("[user] starts digging [src]!")) if(do_after(user,digTool.digspeed*hardness) && src) - visible_message("[user] finished digging [src]!") + visible_message(span_danger("[user] finished digging [src]!")) Dismantle() - else if(istype(W,/obj/item/weapon) && breakable) //not sure, can't not just weapons get passed to this proc? + else if(istype(W,/obj/item) && breakable) //not sure, can't not just weapons get passed to this proc? hardness -= W.force/10 - visible_message("[user] hits [src] with [W]!") + visible_message(span_danger("[user] hits [src] with [W]!")) if(material == get_material_by_name("resin")) playsound(src, 'sound/effects/attackblob.ogg', 100, 1) else if(material == (get_material_by_name(MAT_WOOD) || get_material_by_name(MAT_SIFWOOD) || get_material_by_name(MAT_HARDWOOD))) @@ -182,7 +185,7 @@ playsound(src, 'sound/weapons/smash.ogg', 50, 1) CheckHardness() else if(W.has_tool_quality(TOOL_WELDER) && breakable) - var/obj/item/weapon/weldingtool/WT = W.get_welder() + var/obj/item/weldingtool/WT = W.get_welder() if(material.ignition_point && WT.remove_fuel(0, user)) TemperatureAct(150) else @@ -198,7 +201,7 @@ CheckHardness() /obj/structure/simple_door/attack_generic(var/mob/user, var/damage, var/attack_verb) - visible_message("[user] [attack_verb] the [src]!") + visible_message(span_danger("[user] [attack_verb] the [src]!")) if(material == get_material_by_name("resin")) playsound(src, 'sound/effects/attackblob.ogg', 100, 1) else if(material == (get_material_by_name(MAT_WOOD) || get_material_by_name(MAT_SIFWOOD) || get_material_by_name(MAT_HARDWOOD))) @@ -215,7 +218,7 @@ /obj/structure/simple_door/proc/Dismantle(devastated = 0) material.place_dismantled_product(get_turf(src)) - visible_message("The [src] is destroyed!") + visible_message(span_danger("The [src] is destroyed!")) qdel(src) /obj/structure/simple_door/ex_act(severity = 1) diff --git a/code/game/objects/structures/snowman.dm b/code/game/objects/structures/snowman.dm index 7299f1e62e1..2716293e8bf 100644 --- a/code/game/objects/structures/snowman.dm +++ b/code/game/objects/structures/snowman.dm @@ -7,7 +7,7 @@ /obj/structure/snowman/attack_hand(mob/user as mob) if(user.a_intent == I_HURT) - to_chat(user, "In one hit, [src] easily crumples into a pile of snow. You monster.") + to_chat(user, span_notice("In one hit, [src] easily crumples into a pile of snow. You monster.")) var/turf/simulated/floor/F = get_turf(src) if (istype(F)) new /obj/item/stack/material/snow(F) @@ -21,4 +21,4 @@ /obj/structure/snowman/spider name = "snow spider" icon_state = "snowspider" - desc = "An impressively crafted snow spider. Not nearly as creepy as the real thing." \ No newline at end of file + desc = "An impressively crafted snow spider. Not nearly as creepy as the real thing." diff --git a/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm b/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm index b0d9a6bed8c..b731aa690db 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm @@ -7,6 +7,7 @@ icon_state = "nest" var/health = 100 unacidable = TRUE + flippable = FALSE /obj/structure/bed/nest/update_icon() return @@ -16,9 +17,9 @@ if(buckled_mob.buckled == src) if(buckled_mob != user) buckled_mob.visible_message(\ - "[user.name] pulls [buckled_mob.name] free from the sticky nest!",\ - "[user.name] pulls you free from the gelatinous resin.",\ - "You hear squelching...") + span_notice("[user.name] pulls [buckled_mob.name] free from the sticky nest!"),\ + span_notice("[user.name] pulls you free from the gelatinous resin."),\ + span_notice("You hear squelching...")) buckled_mob.pixel_y = 0 buckled_mob.old_y = 0 unbuckle_mob(buckled_mob) @@ -27,9 +28,9 @@ return buckled_mob.last_special = world.time buckled_mob.visible_message(\ - "[buckled_mob.name] struggles to break free of the gelatinous resin...",\ - "You struggle to break free from the gelatinous resin...",\ - "You hear squelching...") + span_warning("[buckled_mob.name] struggles to break free of the gelatinous resin..."),\ + span_warning("You struggle to break free from the gelatinous resin..."),\ + span_notice("You hear squelching...")) spawn(NEST_RESIST_TIME) if(user && buckled_mob && user.buckled == src) buckled_mob.last_special = world.time @@ -42,7 +43,7 @@ #undef NEST_RESIST_TIME /obj/structure/bed/nest/user_buckle_mob(mob/M as mob, mob/user as mob) - if ( !ismob(M) || (get_dist(src, user) > 1) || (M.loc != src.loc) || user.restrained() || usr.stat || M.buckled || istype(user, /mob/living/silicon/pai) ) + if ( !ismob(M) || (get_dist(src, user) > 1) || (M.loc != src.loc) || user.restrained() || user.stat || M.buckled || istype(user, /mob/living/silicon/pai) ) return unbuckle_mob() @@ -56,13 +57,13 @@ if(istype(xenos) && !(locate(/obj/item/organ/internal/xenos/hivenode) in xenos.internal_organs)) return - if(M == usr) + if(M == user) return else M.visible_message(\ - "[user.name] secretes a thick vile goo, securing [M.name] into [src]!",\ - "[user.name] drenches you in a foul-smelling resin, trapping you in the [src]!",\ - "You hear squelching...") + span_notice("[user.name] secretes a thick vile goo, securing [M.name] into [src]!"),\ + span_warning("[user.name] drenches you in a foul-smelling resin, trapping you in the [src]!"),\ + span_notice("You hear squelching...")) M.buckled = src M.loc = src.loc M.set_dir(src.dir) @@ -73,12 +74,12 @@ src.add_fingerprint(user) return -/obj/structure/bed/nest/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/structure/bed/nest/attackby(obj/item/W as obj, mob/user as mob) var/aforce = W.force health = max(0, health - aforce) playsound(src, 'sound/effects/attackblob.ogg', 100, 1) for(var/mob/M in viewers(src, 7)) - M.show_message("[user] hits [src] with [W]!", 1) + M.show_message(span_warning("[user] hits [src] with [W]!"), 1) healthcheck() /obj/structure/bed/nest/proc/healthcheck() diff --git a/code/game/objects/structures/stool_bed_chair_nest/bed.dm b/code/game/objects/structures/stool_bed_chair_nest/bed.dm index dcd2bdf46c8..045de37435f 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/bed.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/bed.dm @@ -21,6 +21,7 @@ var/datum/material/padding_material var/base_icon = "bed" var/applies_material_colour = 1 + var/flippable = TRUE /obj/structure/bed/New(var/newloc, var/new_material, var/new_padding_material) ..(newloc) @@ -87,7 +88,7 @@ qdel(src) return -/obj/structure/bed/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/structure/bed/attackby(obj/item/W as obj, mob/user as mob) if(W.has_tool_quality(TOOL_WRENCH)) playsound(src, W.usesound, 50, 1) dismantle() @@ -127,28 +128,28 @@ playsound(src, W.usesound, 100, 1) remove_padding() - else if(istype(W, /obj/item/weapon/disk) || (istype(W, /obj/item/toy/plushie))) + else if(istype(W, /obj/item/disk) || (istype(W, /obj/item/toy/plushie))) user.drop_from_inventory(W, get_turf(src)) W.pixel_x = 10 //make sure they reach the pillow W.pixel_y = -6 - if(istype(W, /obj/item/weapon/disk)) - user.visible_message("[src] sleeps soundly. Sleep tight, disky.") + if(istype(W, /obj/item/disk)) + user.visible_message(span_notice("[src] sleeps soundly. Sleep tight, disky.")) - else if(istype(W, /obj/item/weapon/grab)) - var/obj/item/weapon/grab/G = W + else if(istype(W, /obj/item/grab)) + var/obj/item/grab/G = W var/mob/living/affecting = G.affecting if(has_buckled_mobs()) //Handles trying to buckle someone else to a chair when someone else is on it - to_chat(user, "\The [src] already has someone buckled to it.") + to_chat(user, span_notice("\The [src] already has someone buckled to it.")) return - user.visible_message("[user] attempts to buckle [affecting] into \the [src]!") + user.visible_message(span_notice("[user] attempts to buckle [affecting] into \the [src]!")) if(do_after(user, 20, G.affecting)) affecting.loc = loc spawn(0) if(buckle_mob(affecting)) affecting.visible_message(\ - "[affecting.name] is buckled to [src] by [user.name]!",\ - "You are buckled to [src] by [user.name]!",\ - "You hear metal clanking.") + span_danger("[affecting.name] is buckled to [src] by [user.name]!"),\ + span_danger("You are buckled to [src] by [user.name]!"),\ + span_notice("You hear metal clanking.")) qdel(W) else ..() @@ -168,6 +169,30 @@ if(padding_material) padding_material.place_sheet(get_turf(src), 1) +/obj/structure/bed/verb/turn_around() + set name = "Turn Around" + set category = "Object" + set src in oview(1) + + if(!flippable) + to_chat(usr,span_notice("\The [src] can't face the other direction.")) + return + + if(!usr || !isturf(usr.loc)) + return + if(usr.stat || usr.restrained()) + return + if(ismouse(usr) || (isobserver(usr) && !CONFIG_GET(flag/ghost_interaction))) + return + if(dir == 2) + src.set_dir(1) + else if(dir == 1) + src.set_dir(2) + else if(dir == 4) + src.set_dir(8) + else if(dir == 8) + src.set_dir(4) + /obj/structure/bed/psych name = "psychiatrist's couch" desc = "For prime comfort during psychiatric evaluations." @@ -208,6 +233,7 @@ surgery_odds = 50 //VOREStation Edit var/bedtype = /obj/structure/bed/roller var/rollertype = /obj/item/roller + flippable = FALSE /obj/structure/bed/roller/adv name = "advanced roller bed" @@ -219,7 +245,7 @@ /obj/structure/bed/roller/update_icon() return -/obj/structure/bed/roller/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/structure/bed/roller/attackby(obj/item/W as obj, mob/user as mob) if(W.has_tool_quality(TOOL_WRENCH) || istype(W,/obj/item/stack) || W.has_tool_quality(TOOL_WIRECUTTER)) return else if(istype(W,/obj/item/roller_holder)) @@ -252,12 +278,12 @@ R.add_fingerprint(user) qdel(src) -/obj/item/roller/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/item/roller/attackby(obj/item/W as obj, mob/user as mob) if(istype(W,/obj/item/roller_holder)) var/obj/item/roller_holder/RH = W if(!RH.held) - to_chat(user, "You collect the roller bed.") + to_chat(user, span_notice("You collect the roller bed.")) src.loc = RH RH.held = src return @@ -286,10 +312,10 @@ /obj/item/roller_holder/attack_self(mob/user as mob) if(!held) - to_chat(user, "The rack is empty.") + to_chat(user, span_notice("The rack is empty.")) return - to_chat(user, "You deploy the roller bed.") + to_chat(user, span_notice("You deploy the roller bed.")) var/obj/structure/bed/roller/R = new held.bedtype(user.loc) R.add_fingerprint(user) qdel(held) @@ -348,11 +374,12 @@ catalogue_data = list(/datum/category_item/catalogue/anomalous/precursor_a/alien_bed) icon = 'icons/obj/abductor.dmi' icon_state = "bed" + flippable = FALSE /obj/structure/bed/alien/update_icon() return // Doesn't care about material or anything else. -/obj/structure/bed/alien/attackby(obj/item/weapon/W, mob/user) +/obj/structure/bed/alien/attackby(obj/item/W, mob/user) return // No deconning. /* @@ -369,7 +396,7 @@ buckle_dir = SOUTH buckle_lying = 1 -/obj/structure/dirtybed/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/structure/dirtybed/attackby(obj/item/W as obj, mob/user as mob) if(W.has_tool_quality(TOOL_WRENCH)) playsound(src, W.usesound, 100, 1) if(anchored) @@ -379,10 +406,10 @@ if(do_after(user, 20 * W.toolspeed)) if(!src) return - to_chat(user, "You [anchored? "un" : ""]secured \the [src]!") + to_chat(user, span_notice("You [anchored? "un" : ""]secured \the [src]!")) anchored = !anchored return if(!anchored) - to_chat(user," The bed isn't secured.") + to_chat(user,span_notice(" The bed isn't secured.")) return diff --git a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm index afc64143107..890f0bd345a 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm @@ -13,12 +13,12 @@ ..() update_layer() -/obj/structure/bed/chair/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/structure/bed/chair/attackby(obj/item/W as obj, mob/user as mob) ..() if(!padding_material && istype(W, /obj/item/assembly/shock_kit)) var/obj/item/assembly/shock_kit/SK = W if(!SK.status) - to_chat(user, "\The [SK] is not ready to be attached!") + to_chat(user, span_notice("\The [SK] is not ready to be attached!")) return user.drop_item() var/obj/structure/bed/chair/e_chair/E = new (src.loc, material.name) @@ -75,7 +75,7 @@ return if(usr.stat || usr.restrained()) return - if(ismouse(usr) || (isobserver(usr) && !config.ghost_interaction)) + if(ismouse(usr) || (isobserver(usr) && !CONFIG_GET(flag/ghost_interaction))) return src.set_dir(turn(src.dir, 270)) @@ -89,7 +89,7 @@ return if(usr.stat || usr.restrained()) return - if(ismouse(usr) || (isobserver(usr) && !config.ghost_interaction)) + if(ismouse(usr) || (isobserver(usr) && !CONFIG_GET(flag/ghost_interaction))) return src.set_dir(turn(src.dir, 90)) @@ -206,7 +206,7 @@ /obj/structure/bed/chair/office/update_icon() return -/obj/structure/bed/chair/office/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/structure/bed/chair/office/attackby(obj/item/W as obj, mob/user as mob) if(istype(W,/obj/item/stack) || W.has_tool_quality(TOOL_WIRECUTTER)) return ..() @@ -255,7 +255,7 @@ victim.apply_effect(6, WEAKEN, blocked) victim.apply_effect(6, STUTTER, blocked) victim.apply_damage(10, BRUTE, def_zone, blocked, soaked) - occupant.visible_message("[occupant] crashed into \the [A]!") + occupant.visible_message(span_danger("[occupant] crashed into \the [A]!")) /obj/structure/bed/chair/office/light icon_state = "officechair_white" @@ -272,7 +272,7 @@ /obj/structure/bed/chair/wood/update_icon() return -/obj/structure/bed/chair/wood/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/structure/bed/chair/wood/attackby(obj/item/W as obj, mob/user as mob) if(istype(W,/obj/item/stack) || W.has_tool_quality(TOOL_WIRECUTTER)) return ..() diff --git a/code/game/objects/structures/stool_bed_chair_nest/stools.dm b/code/game/objects/structures/stool_bed_chair_nest/stools.dm index afd8fb13b28..16855316219 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/stools.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/stools.dm @@ -1,7 +1,7 @@ //Todo: add leather and cloth for arbitrary coloured stools. var/global/list/stool_cache = list() //haha stool -/obj/item/weapon/stool +/obj/item/stool name = "stool" desc = "Apply butt." icon = 'icons/obj/furniture_vr.dmi' //VOREStation Edit - new Icons @@ -15,10 +15,10 @@ var/global/list/stool_cache = list() //haha stool var/datum/material/material var/datum/material/padding_material -/obj/item/weapon/stool/padded +/obj/item/stool/padded icon_state = "stool_padded_preview" //set for the map -/obj/item/weapon/stool/New(var/newloc, var/new_material, var/new_padding_material) +/obj/item/stool/New(var/newloc, var/new_material, var/new_padding_material) ..(newloc) if(!new_material) new_material = MAT_STEEL @@ -31,10 +31,10 @@ var/global/list/stool_cache = list() //haha stool force = round(material.get_blunt_damage()*0.4) update_icon() -/obj/item/weapon/stool/padded/New(var/newloc, var/new_material) +/obj/item/stool/padded/New(var/newloc, var/new_material) ..(newloc, "steel", "carpet") -/obj/item/weapon/stool/update_icon() +/obj/item/stool/update_icon() // Prep icon. icon_state = "" cut_overlays() @@ -61,19 +61,19 @@ var/global/list/stool_cache = list() //haha stool name = "[material.display_name] [initial(name)]" desc = "A stool. Apply butt with care. It's made of [material.use_name]." -/obj/item/weapon/stool/proc/add_padding(var/padding_type) +/obj/item/stool/proc/add_padding(var/padding_type) padding_material = get_material_by_name(padding_type) update_icon() -/obj/item/weapon/stool/proc/remove_padding() +/obj/item/stool/proc/remove_padding() if(padding_material) padding_material.place_sheet(get_turf(src), 1) padding_material = null update_icon() -/obj/item/weapon/stool/attack(mob/M as mob, mob/user as mob) +/obj/item/stool/attack(mob/M as mob, mob/user as mob) if (prob(5) && istype(M,/mob/living)) - user.visible_message("[user] breaks [src] over [M]'s back!") + user.visible_message(span_danger("[user] breaks [src] over [M]'s back!")) user.setClickCooldown(user.get_attack_speed()) user.do_attack_animation(M) @@ -88,7 +88,7 @@ var/global/list/stool_cache = list() //haha stool return ..() -/obj/item/weapon/stool/ex_act(severity) +/obj/item/stool/ex_act(severity) switch(severity) if(1.0) qdel(src) @@ -102,14 +102,14 @@ var/global/list/stool_cache = list() //haha stool qdel(src) return -/obj/item/weapon/stool/proc/dismantle() +/obj/item/stool/proc/dismantle() if(material) material.place_sheet(get_turf(src), 1) if(padding_material) padding_material.place_sheet(get_turf(src), 1) qdel(src) -/obj/item/weapon/stool/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/item/stool/attackby(obj/item/W as obj, mob/user as mob) if(W.has_tool_quality(TOOL_WRENCH)) playsound(src, W.usesound, 50, 1) dismantle() diff --git a/code/game/objects/structures/stool_bed_chair_nest/stools_vr.dm b/code/game/objects/structures/stool_bed_chair_nest/stools_vr.dm index c1f55061397..5c6bf02dcd7 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/stools_vr.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/stools_vr.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/stool/baystool +/obj/item/stool/baystool name = "bar stool" desc = "Apply butt." icon = 'icons/obj/furniture_vr.dmi' //VOREStation Edit - new Icons @@ -11,8 +11,8 @@ base_icon = "bar_stool_base" anchored = TRUE -/obj/item/weapon/stool/baystool/padded +/obj/item/stool/baystool/padded icon_state = "bar_stool_padded_preview" //set for the map -/obj/item/weapon/stool/baystool/padded/New(var/newloc, var/new_material) +/obj/item/stool/baystool/padded/New(var/newloc, var/new_material) ..(newloc, "steel", "carpet") diff --git a/code/game/objects/structures/stool_bed_chair_nest/wheelchair.dm b/code/game/objects/structures/stool_bed_chair_nest/wheelchair.dm index 3214128eecd..fc106d1b6e7 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/wheelchair.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/wheelchair.dm @@ -35,10 +35,10 @@ . = ..() if(.) if(M.mob_size < min_mob_buckle_size) - to_chat(M, SPAN_WARNING("You are too small to use \the [src].")) + to_chat(M, span_warning("You are too small to use \the [src].")) . = FALSE else if(M.mob_size >= max_mob_buckle_size) - to_chat(M, SPAN_WARNING("You are too large to use \the [src].")) + to_chat(M, span_warning("You are too large to use \the [src].")) . = FALSE /obj/structure/bed/chair/wheelchair/update_icon() @@ -54,7 +54,7 @@ for(var/mob/living/L as anything in buckled_mobs) L.set_dir(dir) -/obj/structure/bed/chair/wheelchair/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/structure/bed/chair/wheelchair/attackby(obj/item/W as obj, mob/user as mob) if(W.has_tool_quality(TOOL_WRENCH) || W.has_tool_quality(TOOL_WIRECUTTER) || istype(W,/obj/item/stack)) return ..() @@ -65,7 +65,7 @@ if(user==pulling) pulling = null user.pulledby = null - to_chat(user, "You lost your grip!") + to_chat(user, span_warning("You lost your grip!")) return if(has_buckled_mobs() && pulling && (user in buckled_mobs)) if(pulling.stat || pulling.stunned || pulling.weakened || pulling.paralysis || pulling.lying || pulling.restrained()) @@ -83,10 +83,10 @@ if(user==pulling) return if(pulling && (get_dir(src.loc, pulling.loc) == direction)) - to_chat(user, "You cannot go there.") + to_chat(user, span_warning("You cannot go there.")) return if(pulling && has_buckled_mobs() && (user in buckled_mobs)) - to_chat(user, "You cannot drive while being pushed.") + to_chat(user, span_warning("You cannot drive while being pushed.")) return // Let's roll @@ -140,7 +140,7 @@ unbuckle_mob() if (pulling && (get_dist(src, pulling) > 1)) pulling.pulledby = null - to_chat(pulling, "You lost your grip!") + to_chat(pulling, span_warning("You lost your grip!")) pulling = null else if (occupant && (src.loc != occupant.loc)) @@ -148,7 +148,7 @@ /obj/structure/bed/chair/wheelchair/attack_hand(mob/living/user as mob) if (pulling) - MouseDrop(usr) + MouseDrop(user) else if(has_buckled_mobs()) for(var/A in buckled_mobs) @@ -159,7 +159,7 @@ if(in_range(src, user)) if(!ishuman(user)) return if(has_buckled_mobs() && (user in buckled_mobs)) - to_chat(user, "You realize you are unable to push the wheelchair you sit in.") + to_chat(user, span_warning("You realize you are unable to push the wheelchair you sit in.")) return if(!pulling) pulling = user @@ -169,7 +169,7 @@ user.set_dir(get_dir(user, src)) to_chat(user, "You grip \the [name]'s handles.") else - to_chat(usr, "You let go of \the [name]'s handles.") + to_chat(user, "You let go of \the [name]'s handles.") pulling.pulledby = null pulling = null return @@ -205,11 +205,11 @@ victim.apply_effect(6, STUTTER, blocked) victim.apply_damage(10, BRUTE, def_zone, soaked) if(pulling) - occupant.visible_message("[pulling] has thrusted \the [name] into \the [A], throwing \the [occupant] out of it!") + occupant.visible_message(span_danger("[pulling] has thrusted \the [name] into \the [A], throwing \the [occupant] out of it!")) add_attack_logs(pulling,occupant,"Crashed their [name] into [A]") else - occupant.visible_message("[occupant] crashed into \the [A]!") + occupant.visible_message(span_danger("[occupant] crashed into \the [A]!")) /obj/structure/bed/chair/wheelchair/proc/create_track() var/obj/effect/decal/cleanable/blood/tracks/B = new(loc) @@ -228,7 +228,7 @@ /obj/structure/bed/chair/wheelchair/buckle_mob(mob/M as mob, mob/user as mob) if(M == pulling) pulling = null - usr.pulledby = null + user.pulledby = null ..() /obj/structure/bed/chair/wheelchair/MouseDrop(over_object, src_location, over_location) diff --git a/code/game/objects/structures/tank_dispenser.dm b/code/game/objects/structures/tank_dispenser.dm index e4fd0a5141a..678513ec03e 100644 --- a/code/game/objects/structures/tank_dispenser.dm +++ b/code/game/objects/structures/tank_dispenser.dm @@ -22,9 +22,9 @@ /obj/structure/dispenser/Initialize() . = ..() for(var/i in 1 to oxygentanks) - new /obj/item/weapon/tank/oxygen(src) + new /obj/item/tank/oxygen(src) for(var/i in 1 to phorontanks) - new /obj/item/weapon/tank/phoron(src) + new /obj/item/tank/phoron(src) update_icon() /obj/structure/dispenser/update_icon() @@ -63,60 +63,60 @@ /obj/structure/dispenser/attackby(obj/item/I, mob/user) var/full - if(istype(I, /obj/item/weapon/tank/oxygen) || istype(I, /obj/item/weapon/tank/air) || istype(I, /obj/item/weapon/tank/anesthetic)) + if(istype(I, /obj/item/tank/oxygen) || istype(I, /obj/item/tank/air) || istype(I, /obj/item/tank/anesthetic)) if(oxygentanks < TANK_DISPENSER_CAPACITY) oxygentanks++ else full = TRUE - else if(istype(I, /obj/item/weapon/tank/phoron)) + else if(istype(I, /obj/item/tank/phoron)) if(phorontanks < TANK_DISPENSER_CAPACITY) phorontanks++ else full = TRUE else if(I.has_tool_quality(TOOL_WRENCH)) if(anchored) - to_chat(user, "You lean down and unwrench [src].") + to_chat(user, span_notice("You lean down and unwrench [src].")) anchored = FALSE else - to_chat(user, "You wrench [src] into place.") + to_chat(user, span_notice("You wrench [src] into place.")) anchored = TRUE return else if(user.a_intent != I_HURT) - to_chat(user, "[I] does not fit into [src].") + to_chat(user, span_notice("[I] does not fit into [src].")) return else return ..() if(full) - to_chat(user, "[src] can't hold any more of [I].") + to_chat(user, span_notice("[src] can't hold any more of [I].")) return if(!user.unEquip(I, target = src)) return - to_chat(user, "You put [I] in [src].") + to_chat(user, span_notice("You put [I] in [src].")) update_icon() #undef TANK_DISPENSER_CAPACITY -/obj/structure/dispenser/tgui_act(action, params) +/obj/structure/dispenser/tgui_act(action, params, datum/tgui/ui) if(..()) return switch(action) if("plasma") - var/obj/item/weapon/tank/phoron/tank = locate() in src - if(tank && Adjacent(usr)) - usr.put_in_hands(tank) + var/obj/item/tank/phoron/tank = locate() in src + if(tank && Adjacent(ui.user)) + ui.user.put_in_hands(tank) phorontanks-- . = TRUE playsound(src, 'sound/items/drop/gascan.ogg', 100, 1, 1) if("oxygen") - var/obj/item/weapon/tank/tank = null - for(var/obj/item/weapon/tank/T in src) - if(istype(T, /obj/item/weapon/tank/oxygen) || istype(T, /obj/item/weapon/tank/air) || istype(T, /obj/item/weapon/tank/anesthetic)) + var/obj/item/tank/tank = null + for(var/obj/item/tank/T in src) + if(istype(T, /obj/item/tank/oxygen) || istype(T, /obj/item/tank/air) || istype(T, /obj/item/tank/anesthetic)) tank = T break - if(tank && Adjacent(usr)) - usr.put_in_hands(tank) + if(tank && Adjacent(ui.user)) + ui.user.put_in_hands(tank) oxygentanks-- . = TRUE playsound(src, 'sound/items/drop/gascan.ogg', 100, 1, 1) diff --git a/code/game/objects/structures/transit_tubes.dm b/code/game/objects/structures/transit_tubes.dm index 402d560923a..1326ca7f91f 100644 --- a/code/game/objects/structures/transit_tubes.dm +++ b/code/game/objects/structures/transit_tubes.dm @@ -101,11 +101,11 @@ /obj/structure/transit_tube/Bumped(mob/AM as mob|obj) var/obj/structure/transit_tube/T = locate() in AM.loc if(T) - to_chat(AM, "The tube's support pylons block your way.") + to_chat(AM, span_warning("The tube's support pylons block your way.")) return ..() else AM.loc = src.loc - to_chat(AM, "You slip under the tube.") + to_chat(AM, span_info("You slip under the tube.")) /obj/structure/transit_tube/station/New(loc) @@ -117,7 +117,7 @@ if(!pod_moving && icon_state == "open" && istype(AM, /mob)) for(var/obj/structure/transit_tube_pod/pod in loc) if(pod.contents.len) - to_chat(AM, "The pod is already occupied.") + to_chat(AM, span_notice("The pod is already occupied.")) return else if(!pod.moving && (pod.dir in directions())) AM.loc = pod diff --git a/code/game/objects/structures/trash_pile_vr.dm b/code/game/objects/structures/trash_pile_vr.dm index 37127c566c1..847ecbcafbe 100644 --- a/code/game/objects/structures/trash_pile_vr.dm +++ b/code/game/objects/structures/trash_pile_vr.dm @@ -18,13 +18,13 @@ //These are types that can only spawn once, and then will be removed from this list. //Alpha and beta lists are in their respective procs. var/global/list/unique_gamma = list( - /obj/item/device/perfect_tele, - /obj/item/weapon/bluespace_harpoon, + /obj/item/perfect_tele, + /obj/item/bluespace_harpoon, /obj/item/clothing/glasses/thermal/syndi, - /obj/item/weapon/gun/energy/netgun, - /obj/item/weapon/gun/projectile/dartgun, + /obj/item/gun/energy/netgun, + /obj/item/gun/projectile/dartgun, /obj/item/clothing/gloves/black/bloodletter, - /obj/item/weapon/gun/energy/mouseray/metamorphosis + /obj/item/gun/energy/mouseray/metamorphosis ) var/global/list/allocated_gamma = list() @@ -53,7 +53,7 @@ /obj/structure/trash_pile/attackby(obj/item/W as obj, mob/user as mob) var/w_type = W.type if(w_type in allocated_gamma) - to_chat(user,"You feel \the [W] slip from your hand, and disappear into the trash pile.") + to_chat(user,span_notice("You feel \the [W] slip from your hand, and disappear into the trash pile.")) user.unEquip(W) W.forceMove(src) allocated_gamma -= w_type @@ -83,13 +83,13 @@ return ..() /obj/structure/trash_pile/attack_ghost(mob/observer/user as mob) - if(config.disable_player_mice) - to_chat(user, "Spawning as a mouse is currently disabled.") + if(CONFIG_GET(flag/disable_player_mice)) + to_chat(user, span_warning("Spawning as a mouse is currently disabled.")) return //VOREStation Add Start - if(jobban_isbanned(user, "GhostRoles")) - to_chat(user, "You cannot become a mouse because you are banned from playing ghost roles.") + if(jobban_isbanned(user, JOB_GHOSTROLES)) + to_chat(user, span_warning("You cannot become a mouse because you are banned from playing ghost roles.")) return //VOREStation Add End @@ -98,14 +98,14 @@ var/turf/T = get_turf(src) if(!T || (T.z in using_map.admin_levels)) - to_chat(user, "You may not spawn as a mouse on this Z-level.") + to_chat(user, span_warning("You may not spawn as a mouse on this Z-level.")) return var/timedifference = world.time - user.client.time_died_as_mouse if(user.client.time_died_as_mouse && timedifference <= mouse_respawn_time * 600) var/timedifference_text timedifference_text = time2text(mouse_respawn_time * 600 - timedifference,"mm:ss") - to_chat(user, "You may only spawn again as a mouse more than [mouse_respawn_time] minutes after your death. You have [timedifference_text] left.") + to_chat(user, span_warning("You may only spawn again as a mouse more than [mouse_respawn_time] minutes after your death. You have [timedifference_text] left.")) return var/response = tgui_alert(user, "Are you -sure- you want to become a mouse?","Are you sure you want to squeek?",list("Squeek!","Nope!")) @@ -115,11 +115,11 @@ host = new /mob/living/simple_mob/animal/passive/mouse(get_turf(src)) if(host) - if(config.uneducated_mice) + if(CONFIG_GET(flag/uneducated_mice)) host.universal_understand = 0 announce_ghost_joinleave(src, 0, "They are now a mouse.") host.ckey = user.ckey - to_chat(host, "You are now a mouse. Try to avoid interaction with players, and do not give hints away that you are more than a simple rodent.") + to_chat(host, span_info("You are now a mouse. Try to avoid interaction with players, and do not give hints away that you are more than a simple rodent.")) var/atom/A = get_holder_at_turf_level(src) A.visible_message("[host] crawls out of \the [src].") @@ -129,23 +129,23 @@ //Human mob if(ishuman(user)) var/mob/living/carbon/human/H = user - H.visible_message("[user] searches through \the [src].","You search through \the [src].") + H.visible_message("[user] searches through \the [src].",span_notice("You search through \the [src].")) if(hider) - to_chat(hider,"[user] is searching the trash pile you're in!") + to_chat(hider,span_warning("[user] is searching the trash pile you're in!")) //Do the searching if(do_after(user,rand(4 SECONDS,6 SECONDS),src)) //If there was a hider, chance to reveal them if(hider && prob(50)) - to_chat(hider,"You've been discovered!") + to_chat(hider,span_danger("You've been discovered!")) hider.forceMove(get_turf(src)) hider = null - to_chat(user,"Some sort of creature leaps out of \the [src]!") + to_chat(user,span_danger("Some sort of creature leaps out of \the [src]!")) //You already searched this one bruh else if(user.ckey in searchedby) - to_chat(H,"There's nothing else for you in \the [src]!") + to_chat(H,span_warning("There's nothing else for you in \the [src]!")) //You found an item! else @@ -170,7 +170,7 @@ if(I) searchedby += user.ckey I.forceMove(get_turf(src)) - to_chat(H,"You found \a [I]!") + to_chat(H,span_notice("You found \a [I]!")) else return ..() @@ -179,9 +179,9 @@ /obj/structure/trash_pile/proc/produce_alpha_item() var/path = pick(prob(5);/obj/item/clothing/gloves/rainbow, prob(5);/obj/item/clothing/gloves/white, - prob(5);/obj/item/weapon/storage/backpack, - prob(5);/obj/item/weapon/storage/backpack/satchel/norm, - prob(5);/obj/item/weapon/storage/box, + prob(5);/obj/item/storage/backpack, + prob(5);/obj/item/storage/backpack/satchel/norm, + prob(5);/obj/item/storage/box, // prob(5);/obj/random/cigarettes, prob(4);/obj/item/broken_device/random, prob(4);/obj/item/clothing/head/hardhat, @@ -193,12 +193,12 @@ prob(4);/obj/item/clothing/suit/storage/hazardvest, prob(4);/obj/item/clothing/under/color/grey, prob(4);/obj/item/clothing/suit/caution, - prob(4);/obj/item/weapon/cell, - prob(4);/obj/item/weapon/cell/device, - prob(4);/obj/item/weapon/reagent_containers/food/snacks/liquidfood, - prob(4);/obj/item/weapon/spacecash/c1, - prob(4);/obj/item/weapon/storage/backpack/satchel, - prob(4);/obj/item/weapon/storage/briefcase, + prob(4);/obj/item/cell, + prob(4);/obj/item/cell/device, + prob(4);/obj/item/reagent_containers/food/snacks/liquidfood, + prob(4);/obj/item/spacecash/c1, + prob(4);/obj/item/storage/backpack/satchel, + prob(4);/obj/item/storage/briefcase, prob(3);/obj/item/clothing/accessory/storage/webbing, prob(3);/obj/item/clothing/glasses/meson, prob(3);/obj/item/clothing/gloves/botanic_leather, @@ -212,18 +212,18 @@ prob(3);/obj/item/clothing/suit/storage/toggle/hoodie/red, prob(3);/obj/item/clothing/suit/storage/toggle/hoodie/yellow, prob(3);/obj/item/clothing/suit/storage/toggle/leather_jacket, - prob(3);/obj/item/device/pda, - prob(3);/obj/item/device/radio/headset, - prob(3);/obj/item/seeds/lustflower, - prob(3);/obj/item/weapon/camera_assembly, + prob(3);/obj/item/pda, + prob(3);/obj/item/radio/headset, + prob(3);/obj/item/seeds/lustflower, //YW Edit ? + prob(3);/obj/item/camera_assembly, prob(3);/obj/item/clothing/head/cone, - prob(3);/obj/item/weapon/cell/high, - prob(3);/obj/item/weapon/spacecash/c10, - prob(3);/obj/item/weapon/spacecash/c20, - prob(3);/obj/item/weapon/storage/backpack/dufflebag, - prob(3);/obj/item/weapon/storage/box/donkpockets, - prob(3);/obj/item/weapon/storage/box/mousetraps, - prob(3);/obj/item/weapon/storage/wallet, + prob(3);/obj/item/cell/high, + prob(3);/obj/item/spacecash/c10, + prob(3);/obj/item/spacecash/c20, + prob(3);/obj/item/storage/backpack/dufflebag, + prob(3);/obj/item/storage/box/donkpockets, + prob(3);/obj/item/storage/box/mousetraps, + prob(3);/obj/item/storage/wallet, prob(2);/obj/item/clothing/glasses/meson/prescription, prob(2);/obj/item/clothing/gloves/fyellow, prob(2);/obj/item/clothing/gloves/sterile/latex, @@ -233,16 +233,16 @@ prob(2);/obj/item/clothing/under/pants/camo, prob(2);/obj/item/clothing/under/syndicate/tacticool, prob(2);/obj/item/clothing/under/hyperfiber, - prob(2);/obj/item/device/camera, - prob(2);/obj/item/device/flashlight/flare, - prob(2);/obj/item/device/flashlight/glowstick, - prob(2);/obj/item/device/flashlight/glowstick/blue, - prob(2);/obj/item/weapon/card/emag_broken, - prob(2);/obj/item/weapon/cell/super, + prob(2);/obj/item/camera, + prob(2);/obj/item/flashlight/flare, + prob(2);/obj/item/flashlight/glowstick, + prob(2);/obj/item/flashlight/glowstick/blue, + prob(2);/obj/item/card/emag_broken, + prob(2);/obj/item/cell/super, prob(2);/obj/item/poster, - prob(2);/obj/item/weapon/reagent_containers/glass/rag, - prob(2);/obj/item/weapon/storage/box/sinpockets, - prob(2);/obj/item/weapon/storage/secure/briefcase, + prob(2);/obj/item/reagent_containers/glass/rag, + prob(2);/obj/item/storage/box/sinpockets, + prob(2);/obj/item/storage/secure/briefcase, prob(2);/obj/item/clothing/under/fluff/latexmaid, prob(2);/obj/item/toy/tennis, prob(2);/obj/item/toy/tennis/red, @@ -252,8 +252,8 @@ prob(2);/obj/item/toy/tennis/blue, prob(2);/obj/item/toy/tennis/purple, prob(1);/obj/item/toy/baseball, - prob(1);/obj/item/weapon/storage/box/brainzsnax, - prob(1);/obj/item/weapon/storage/box/brainzsnax/red, + prob(1);/obj/item/storage/box/brainzsnax, + prob(1);/obj/item/storage/box/brainzsnax/red, prob(1);/obj/item/clothing/glasses/sunglasses, prob(1);/obj/item/clothing/glasses/sunglasses/bigshot, prob(1);/obj/item/clothing/glasses/welding, @@ -266,65 +266,65 @@ prob(1);/obj/item/clothing/under/harness, prob(1);/obj/item/clothing/under/tactical, prob(1);/obj/item/clothing/suit/armor/material/makeshift, - prob(1);/obj/item/device/flashlight/glowstick/orange, - prob(1);/obj/item/device/flashlight/glowstick/red, - prob(1);/obj/item/device/flashlight/glowstick/yellow, - prob(1);/obj/item/device/flashlight/pen, - prob(1);/obj/item/device/paicard, + prob(1);/obj/item/flashlight/glowstick/orange, + prob(1);/obj/item/flashlight/glowstick/red, + prob(1);/obj/item/flashlight/glowstick/yellow, + prob(1);/obj/item/flashlight/pen, + prob(1);/obj/item/paicard, prob(1);/obj/item/clothing/accessory/permit/gun, prob(1);/obj/item/clothing/mask/gas/voice, - prob(1);/obj/item/weapon/spacecash/c100, - prob(1);/obj/item/weapon/spacecash/c50, - prob(1);/obj/item/weapon/storage/backpack/dufflebag/syndie, - prob(1);/obj/item/weapon/storage/box/cups, + prob(1);/obj/item/spacecash/c100, + prob(1);/obj/item/spacecash/c50, + prob(1);/obj/item/storage/backpack/dufflebag/syndie, + prob(1);/obj/item/storage/box/cups, prob(1);/obj/item/pizzavoucher) var/obj/item/I = new path() return I /obj/structure/trash_pile/proc/produce_beta_item() - var/path = pick(prob(6);/obj/item/weapon/storage/pill_bottle/paracetamol, - prob(4);/obj/item/weapon/storage/pill_bottle/happy, - prob(4);/obj/item/weapon/storage/pill_bottle/zoom, + var/path = pick(prob(6);/obj/item/storage/pill_bottle/paracetamol, + prob(4);/obj/item/storage/pill_bottle/happy, + prob(4);/obj/item/storage/pill_bottle/zoom, prob(4);/obj/item/seeds/ambrosiavulgarisseed, - prob(4);/obj/item/weapon/gun/energy/sizegun, - prob(4);/obj/item/device/slow_sizegun, + prob(4);/obj/item/gun/energy/sizegun, + prob(4);/obj/item/slow_sizegun, prob(4);/obj/item/clothing/accessory/collar/shock/bluespace, - prob(3);/obj/item/weapon/cracker, - prob(3);/obj/item/weapon/material/butterfly, - prob(3);/obj/item/weapon/material/butterfly/switchblade, - prob(3);/obj/item/clothing/gloves/knuckledusters, + prob(3);/obj/item/cracker, + prob(3);/obj/item/material/butterfly, + prob(3);/obj/item/material/butterfly/switchblade, + prob(3);/obj/item/clothing/accessory/knuckledusters, prob(3);/obj/item/clothing/gloves/heavy_engineer, - prob(3);/obj/item/weapon/reagent_containers/syringe/drugs, - prob(2);/obj/item/weapon/implanter/sizecontrol, - prob(2);/obj/item/weapon/handcuffs/fuzzy, - prob(2);/obj/item/weapon/handcuffs/legcuffs/fuzzy, - prob(2);/obj/item/weapon/storage/box/syndie_kit/spy, - prob(2);/obj/item/weapon/grenade/anti_photon, + prob(3);/obj/item/reagent_containers/syringe/drugs, + prob(2);/obj/item/implanter/sizecontrol, + prob(2);/obj/item/handcuffs/fuzzy, + prob(2);/obj/item/handcuffs/legcuffs/fuzzy, + prob(2);/obj/item/storage/box/syndie_kit/spy, + prob(2);/obj/item/grenade/anti_photon, prob(2);/obj/item/clothing/under/hyperfiber/bluespace, prob(2);/obj/item/selectable_item/chemistrykit/size, prob(2);/obj/item/selectable_item/chemistrykit/gender, prob(2);/obj/item/clothing/gloves/bluespace/emagged, prob(1);/obj/item/clothing/suit/storage/vest/heavy/merc, - prob(1);/obj/item/device/nif/bad, - prob(1);/obj/item/device/radio_jammer, - prob(1);/obj/item/device/sleevemate, - prob(1);/obj/item/device/bodysnatcher, - prob(1);/obj/item/weapon/beartrap, - prob(1);/obj/item/weapon/cell/hyper/empty, - prob(1);/obj/item/weapon/disk/nifsoft/compliance, - prob(1);/obj/item/weapon/implanter/compliance, - prob(1);/obj/item/weapon/material/knife/tacknife, - prob(1);/obj/item/weapon/storage/box/survival/space, - prob(1);/obj/item/weapon/storage/secure/briefcase/trashmoney, - prob(1);/obj/item/device/survivalcapsule/popcabin, - prob(1);/obj/item/weapon/reagent_containers/syringe/steroid, + prob(1);/obj/item/nif/bad, + prob(1);/obj/item/radio_jammer, + prob(1);/obj/item/sleevemate, + prob(1);/obj/item/bodysnatcher, + prob(1);/obj/item/beartrap, + prob(1);/obj/item/cell/hyper/empty, + prob(1);/obj/item/disk/nifsoft/compliance, + prob(1);/obj/item/implanter/compliance, + prob(1);/obj/item/material/knife/tacknife, + prob(1);/obj/item/storage/box/survival/space, + prob(1);/obj/item/storage/secure/briefcase/trashmoney, + prob(1);/obj/item/survivalcapsule/popcabin, + prob(1);/obj/item/reagent_containers/syringe/steroid, prob(1);/obj/item/capture_crystal, - prob(1);/obj/item/device/perfect_tele/one_beacon, + prob(1);/obj/item/perfect_tele/one_beacon, prob(1);/obj/item/clothing/gloves/bluespace, - prob(1);/obj/item/weapon/gun/energy/mouseray, + prob(1);/obj/item/gun/energy/mouseray, prob(1);/obj/item/clothing/accessory/collar/shock/bluespace/modified, - prob(1);/obj/item/weapon/gun/energy/sizegun/backfire) + prob(1);/obj/item/gun/energy/sizegun/backfire) var/obj/item/I = new path() return I diff --git a/code/game/objects/structures/under_wardrobe.dm b/code/game/objects/structures/under_wardrobe.dm index 5849085b1db..6e30940f732 100644 --- a/code/game/objects/structures/under_wardrobe.dm +++ b/code/game/objects/structures/under_wardrobe.dm @@ -7,13 +7,13 @@ /obj/structure/undies_wardrobe/attack_hand(var/mob/user) if(!human_who_can_use_underwear(user)) - to_chat(user, "Sadly there's nothing in here for you to wear.") + to_chat(user, span_warning("Sadly there's nothing in here for you to wear.")) return interact(user) /obj/structure/undies_wardrobe/interact(var/mob/living/carbon/human/H) var/dat = list() - dat += "Underwear:
" + dat += span_bold("Underwear:") + "
" for(var/datum/category_group/underwear/UWC in global_underwear.categories) var/datum/category_item/underwear/UWI = H.all_underwear[UWC.name] var/item_name = UWI ? UWI.name : "None" @@ -86,4 +86,4 @@ if(.) H.update_underwear() - interact(H) \ No newline at end of file + interact(H) diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index 5a26c3cef9e..74c86c61e1f 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -18,14 +18,14 @@ /obj/structure/toilet/attack_hand(mob/living/user as mob) if(swirlie) - usr.setClickCooldown(user.get_attack_speed()) - usr.visible_message("[user] slams the toilet seat onto [swirlie.name]'s head!", "You slam the toilet seat onto [swirlie.name]'s head!", "You hear reverberating porcelain.") + user.setClickCooldown(user.get_attack_speed()) + user.visible_message(span_danger("[user] slams the toilet seat onto [swirlie.name]'s head!"), span_notice("You slam the toilet seat onto [swirlie.name]'s head!"), "You hear reverberating porcelain.") swirlie.adjustBruteLoss(5) return if(cistern && !open) if(!contents.len) - to_chat(user, "The cistern is empty.") + to_chat(user, span_notice("The cistern is empty.")) return else var/obj/item/I = pick(contents) @@ -33,7 +33,7 @@ user.put_in_hands(I) else I.loc = get_turf(src) - to_chat(user, "You find \an [I] in the cistern.") + to_chat(user, span_notice("You find \an [I] in the cistern.")) w_items -= I.w_class return @@ -45,45 +45,45 @@ /obj/structure/toilet/attackby(obj/item/I as obj, mob/living/user as mob) if(I.has_tool_quality(TOOL_CROWBAR)) - to_chat(user, "You start to [cistern ? "replace the lid on the cistern" : "lift the lid off the cistern"].") + to_chat(user, span_notice("You start to [cistern ? "replace the lid on the cistern" : "lift the lid off the cistern"].")) playsound(src, 'sound/effects/stonedoor_openclose.ogg', 50, 1) if(do_after(user, 30)) - user.visible_message("[user] [cistern ? "replaces the lid on the cistern" : "lifts the lid off the cistern"]!", "You [cistern ? "replace the lid on the cistern" : "lift the lid off the cistern"]!", "You hear grinding porcelain.") + user.visible_message(span_notice("[user] [cistern ? "replaces the lid on the cistern" : "lifts the lid off the cistern"]!"), span_notice("You [cistern ? "replace the lid on the cistern" : "lift the lid off the cistern"]!"), "You hear grinding porcelain.") cistern = !cistern update_icon() return - if(istype(I, /obj/item/weapon/grab)) + if(istype(I, /obj/item/grab)) user.setClickCooldown(user.get_attack_speed(I)) - var/obj/item/weapon/grab/G = I + var/obj/item/grab/G = I if(isliving(G.affecting)) var/mob/living/GM = G.affecting if(G.state>1) if(!GM.loc == get_turf(src)) - to_chat(user, "[GM.name] needs to be on the toilet.") + to_chat(user, span_notice("[GM.name] needs to be on the toilet.")) return if(open && !swirlie) - user.visible_message("[user] starts to give [GM.name] a swirlie!", "You start to give [GM.name] a swirlie!") + user.visible_message(span_danger("[user] starts to give [GM.name] a swirlie!"), span_notice("You start to give [GM.name] a swirlie!")) swirlie = GM if(do_after(user, 30, GM)) - user.visible_message("[user] gives [GM.name] a swirlie!", "You give [GM.name] a swirlie!", "You hear a toilet flushing.") + user.visible_message(span_danger("[user] gives [GM.name] a swirlie!"), span_notice("You give [GM.name] a swirlie!"), "You hear a toilet flushing.") if(!GM.internal) GM.adjustOxyLoss(5) swirlie = null else - user.visible_message("[user] slams [GM.name] into the [src]!", "You slam [GM.name] into the [src]!") + user.visible_message(span_danger("[user] slams [GM.name] into the [src]!"), span_notice("You slam [GM.name] into the [src]!")) GM.adjustBruteLoss(5) else - to_chat(user, "You need a tighter grip.") + to_chat(user, span_notice("You need a tighter grip.")) if(cistern && !istype(user,/mob/living/silicon/robot)) //STOP PUTTING YOUR MODULES IN THE TOILET. if(I.w_class > 3) - to_chat(user, "\The [I] does not fit.") + to_chat(user, span_notice("\The [I] does not fit.")) return if(w_items + I.w_class > 5) - to_chat(user, "The cistern is full.") + to_chat(user, span_notice("The cistern is full.")) return user.drop_item() I.loc = src @@ -99,30 +99,30 @@ return /obj/structure/toilet/prison/attackby(obj/item/I, mob/living/user) - if(istype(I, /obj/item/weapon/grab)) + if(istype(I, /obj/item/grab)) user.setClickCooldown(user.get_attack_speed(I)) - var/obj/item/weapon/grab/G = I + var/obj/item/grab/G = I if(isliving(G.affecting)) var/mob/living/GM = G.affecting if(G.state>1) if(!GM.loc == get_turf(src)) - to_chat(user, "[GM.name] needs to be on the toilet.") + to_chat(user, span_notice("[GM.name] needs to be on the toilet.")) return if(open && !swirlie) - user.visible_message("[user] starts to give [GM.name] a swirlie!", "You start to give [GM.name] a swirlie!") + user.visible_message(span_danger("[user] starts to give [GM.name] a swirlie!"), span_notice("You start to give [GM.name] a swirlie!")) swirlie = GM if(do_after(user, 30, GM)) - user.visible_message("[user] gives [GM.name] a swirlie!", "You give [GM.name] a swirlie!", "You hear a toilet flushing.") + user.visible_message(span_danger("[user] gives [GM.name] a swirlie!"), span_notice("You give [GM.name] a swirlie!"), "You hear a toilet flushing.") if(!GM.internal) GM.adjustOxyLoss(5) swirlie = null else - user.visible_message("[user] slams [GM.name] into the [src]!", "You slam [GM.name] into the [src]!") + user.visible_message(span_danger("[user] slams [GM.name] into the [src]!"), span_notice("You slam [GM.name] into the [src]!")) GM.adjustBruteLoss(5) else - to_chat(user, "You need a tighter grip.") + to_chat(user, span_notice("You need a tighter grip.")) /obj/structure/urinal name = "urinal" @@ -133,18 +133,18 @@ anchored = TRUE /obj/structure/urinal/attackby(obj/item/I as obj, mob/user as mob) - if(istype(I, /obj/item/weapon/grab)) - var/obj/item/weapon/grab/G = I + if(istype(I, /obj/item/grab)) + var/obj/item/grab/G = I if(isliving(G.affecting)) var/mob/living/GM = G.affecting if(G.state>1) if(!GM.loc == get_turf(src)) - to_chat(user, "[GM.name] needs to be on the urinal.") + to_chat(user, span_notice("[GM.name] needs to be on the urinal.")) return - user.visible_message("[user] slams [GM.name] into the [src]!", "You slam [GM.name] into the [src]!") + user.visible_message(span_danger("[user] slams [GM.name] into the [src]!"), span_notice("You slam [GM.name] into the [src]!")) GM.adjustBruteLoss(8) else - to_chat(user, "You need a tighter grip.") + to_chat(user, span_notice("You need a tighter grip.")) @@ -198,15 +198,15 @@ soundloop.stop() /obj/machinery/shower/attackby(obj/item/I as obj, mob/user as mob) - if(I.type == /obj/item/device/analyzer) - to_chat(user, "The water temperature seems to be [watertemp].") + if(I.type == /obj/item/analyzer) + to_chat(user, span_notice("The water temperature seems to be [watertemp].")) if(I.has_tool_quality(TOOL_WRENCH)) var/newtemp = tgui_input_list(user, "What setting would you like to set the temperature valve to?", "Water Temperature Valve", temperature_settings) - to_chat(user, "You begin to adjust the temperature valve with \the [I].") + to_chat(user, span_notice("You begin to adjust the temperature valve with \the [I].")) playsound(src, I.usesound, 50, 1) if(do_after(user, 50 * I.toolspeed)) watertemp = newtemp - user.visible_message("[user] adjusts the shower with \the [I].", "You adjust the shower with \the [I].") + user.visible_message(span_notice("[user] adjusts the shower with \the [I]."), span_notice("You adjust the shower with \the [I].")) add_fingerprint(user) /obj/machinery/shower/update_icon() //this is terribly unreadable, but basically it makes the shower mist up @@ -286,11 +286,11 @@ if(ishuman(M)) var/mob/living/carbon/human/H = M if(temperature >= H.species.heat_level_1) - to_chat(H, "The water is searing hot!") + to_chat(H, span_danger("The water is searing hot!")) else if(temperature <= H.species.cold_level_1) - to_chat(H, "The water is freezing cold!") + to_chat(H, span_warning("The water is freezing cold!")) -/obj/item/weapon/bikehorn/rubberducky +/obj/item/bikehorn/rubberducky name = "rubber ducky" desc = "Rubber ducky you're so fine, you make bathtime lots of fuuun. Rubber ducky I'm awfully fooooond of yooooouuuu~" //thanks doohl icon = 'icons/obj/watercloset.dmi' @@ -303,7 +303,7 @@ honk_sound = 'sound/voice/quack.ogg' //VOREStation edit var/honk_text = 0 -/obj/item/weapon/bikehorn/rubberducky/attack_self(mob/user as mob) +/obj/item/bikehorn/rubberducky/attack_self(mob/user as mob) if(spam_flag == 0) spam_flag = 1 playsound(src, honk_sound, 50, 1) @@ -316,7 +316,7 @@ //Admin spawn duckies -/obj/item/weapon/bikehorn/rubberducky/red +/obj/item/bikehorn/rubberducky/red name = "rubber ducky" desc = "From the depths of hell it arose, feathers glistening with crimson, a honk that struck fear into all men." //thanks doohl icon = 'icons/obj/watercloset.dmi' @@ -325,7 +325,7 @@ honk_sound = 'sound/effects/adminhelp.ogg' var/honk_count = 0 -/obj/item/weapon/bikehorn/rubberducky/red/attack_self(mob/user as mob) +/obj/item/bikehorn/rubberducky/red/attack_self(mob/user as mob) if(honk_count >= 3) var/turf/epicenter = src.loc explosion(epicenter, 0, 0, 1, 3) @@ -342,7 +342,7 @@ spam_flag = 0 return -/obj/item/weapon/bikehorn/rubberducky/blue +/obj/item/bikehorn/rubberducky/blue name = "rubber ducky" desc = "The see me rollin', they hatin'." //thanks doohl icon = 'icons/obj/watercloset.dmi' @@ -351,7 +351,7 @@ honk_sound = 'sound/effects/bubbles.ogg' var/honk_count = 0 -/obj/item/weapon/bikehorn/rubberducky/blue/attack_self(mob/user as mob) +/obj/item/bikehorn/rubberducky/blue/attack_self(mob/user as mob) if(spam_flag == 0) var/turf/simulated/whereweare = get_turf(src) whereweare.wet_floor(2) @@ -364,7 +364,7 @@ spam_flag = 0 return -/obj/item/weapon/bikehorn/rubberducky/pink +/obj/item/bikehorn/rubberducky/pink name = "rubber ducky" desc = "It's extra squishy!" icon = 'icons/obj/watercloset.dmi' @@ -373,10 +373,10 @@ honk_sound = 'sound/vore/sunesound/pred/insertion_01.ogg' var/honk_count = 0 -/obj/item/weapon/bikehorn/rubberducky/pink/attack_self(mob/user as mob) +/obj/item/bikehorn/rubberducky/pink/attack_self(mob/user as mob) if(spam_flag == 0) if(!user.devourable) - to_chat(user, "You can't bring yourself to squeeze it...") + to_chat(user, span_vnotice("You can't bring yourself to squeeze it...")) return spam_flag = 1 playsound(src, honk_sound, 50, 1) @@ -385,16 +385,16 @@ src.add_fingerprint(user) user.drop_item() user.forceMove(src) - to_chat(user, "You have been swallowed alive by the rubber ducky. Your entire body compacted up and squeezed into the tiny space that makes up the oddly realistic and not at all rubbery stomach. The walls themselves are kneading over you, grinding some sort of fluids into your trapped body. You can even hear the sound of bodily functions echoing around you...") + to_chat(user, span_vnotice("You have been swallowed alive by the rubber ducky. Your entire body compacted up and squeezed into the tiny space that makes up the oddly realistic and not at all rubbery stomach. The walls themselves are kneading over you, grinding some sort of fluids into your trapped body. You can even hear the sound of bodily functions echoing around you...")) spawn(20) spam_flag = 0 return -/obj/item/weapon/bikehorn/rubberducky/pink/container_resist(var/mob/living/escapee) +/obj/item/bikehorn/rubberducky/pink/container_resist(var/mob/living/escapee) escapee.forceMove(get_turf(src)) - to_chat(escapee, "You managed to crawl out of the rubber ducky!") + to_chat(escapee, span_vnotice("You managed to crawl out of the rubber ducky!")) -/obj/item/weapon/bikehorn/rubberducky/grey +/obj/item/bikehorn/rubberducky/grey name = "rubber ducky" desc = "There's something otherworldly about this particular duck..." icon = 'icons/obj/watercloset.dmi' @@ -403,7 +403,7 @@ honk_sound = 'sound/effects/ghost.ogg' var/honk_count = 0 -/obj/item/weapon/bikehorn/rubberducky/grey/attack_self(mob/user as mob) +/obj/item/bikehorn/rubberducky/grey/attack_self(mob/user as mob) if(spam_flag == 0) for(var/obj/machinery/light/L in machines) if(L.z != user.z || get_dist(user,L) > 10) @@ -420,7 +420,7 @@ src.forceMove(T) return -/obj/item/weapon/bikehorn/rubberducky/green +/obj/item/bikehorn/rubberducky/green name = "rubber ducky" desc = "Like a true Nature’s child, we were born, born to be wild." icon = 'icons/obj/watercloset.dmi' @@ -445,7 +445,7 @@ /obj/structure/flora/ausbushes/sparsegrass, /obj/structure/flora/ausbushes/fullgrass) -/obj/item/weapon/bikehorn/rubberducky/green/attack_self(mob/user as mob) +/obj/item/bikehorn/rubberducky/green/attack_self(mob/user as mob) if(spam_flag == 0) var/turf/simulated/whereweare = get_turf(src) var/obj/P = pick(flora) @@ -459,7 +459,7 @@ spam_flag = 0 return -/obj/item/weapon/bikehorn/rubberducky/white +/obj/item/bikehorn/rubberducky/white name = "rubber ducky" desc = "It's so full of energy, such a happy little guy, I just wanna give him a squeeze." //thanks doohl icon = 'icons/obj/watercloset.dmi' @@ -468,7 +468,7 @@ honk_sound = 'sound/effects/lightningshock.ogg' var/honk_count = 0 -/obj/item/weapon/bikehorn/rubberducky/white/attack_self(mob/user as mob) +/obj/item/bikehorn/rubberducky/white/attack_self(mob/user as mob) if(spam_flag == 0) lightning_strike(get_turf(src), 1) spam_flag = 1 @@ -481,7 +481,7 @@ qdel(src) return -/obj/item/weapon/grenade/anti_photon/rubberducky/black +/obj/item/grenade/anti_photon/rubberducky/black desc = "Good work NanoTrasen Employee, you struck fear within the Syndicate." name = "rubber ducky" icon = 'icons/obj/watercloset.dmi' @@ -490,7 +490,7 @@ det_time = 20 var/honk_text = 0 -/obj/item/weapon/grenade/anti_photon/rubberducky/black/detonate() +/obj/item/grenade/anti_photon/rubberducky/black/detonate() playsound(src, 'sound/voice/quack.ogg', 50, 1, 5) set_light(10, -10, "#FFFFFF") @@ -519,13 +519,13 @@ ..() if(!istype(thing) || !thing.is_open_container()) return ..() - if(!usr.Adjacent(src)) + if(!user.Adjacent(src)) return ..() if(!thing.reagents || thing.reagents.total_volume == 0) - to_chat(usr, "\The [thing] is empty.") + to_chat(user, span_warning("\The [thing] is empty.")) return // Clear the vessel. - visible_message("\The [usr] tips the contents of \the [thing] into \the [src].") + visible_message(span_infoplain(span_bold("\The [user]") + " tips the contents of \the [thing] into \the [src].")) thing.reagents.clear_reagents() thing.update_icon() @@ -536,7 +536,7 @@ if (H.hand) temp = H.organs_by_name["l_hand"] if(temp && !temp.is_usable()) - to_chat(user, "You try to move your [temp.name], but cannot!") + to_chat(user, span_notice("You try to move your [temp.name], but cannot!")) return if(isrobot(user) || isAI(user)) @@ -546,39 +546,55 @@ return if(busy) - to_chat(user, "Someone's already washing here.") + to_chat(user, span_warning("Someone's already washing here.")) return - to_chat(usr, "You start washing your hands.") + to_chat(user, span_notice("You start washing your hands.")) playsound(src, 'sound/effects/sink_long.ogg', 75, 1) busy = 1 if(!do_after(user, 40, src)) busy = 0 - to_chat(usr, "You stop washing your hands.") + to_chat(user, span_notice("You stop washing your hands.")) return busy = 0 - user.clean_blood() if(ishuman(user)) - user:update_inv_gloves() + var/mob/living/carbon/human/H = user + H.gunshot_residue = null + if(H.gloves) + H.gloves.clean_blood() + H.update_inv_gloves() + H.gloves.germ_level = 0 + else + if(H.r_hand) + H.r_hand.clean_blood() + if(H.l_hand) + H.l_hand.clean_blood() + H.bloody_hands = 0 + H.germ_level = 0 + H.hand_blood_color = null + LAZYCLEARLIST(H.blood_DNA) + H.update_bloodied() + else + user.clean_blood() for(var/mob/V in viewers(src, null)) - V.show_message("[user] washes their hands using \the [src].") + V.show_message(span_notice("[user] washes their hands using \the [src].")) /obj/structure/sink/attackby(obj/item/O as obj, mob/user as mob) if(busy) - to_chat(user, "Someone's already washing here.") + to_chat(user, span_warning("Someone's already washing here.")) return - var/obj/item/weapon/reagent_containers/RG = O + var/obj/item/reagent_containers/RG = O if (istype(RG) && RG.is_open_container()) RG.reagents.add_reagent("water", min(RG.volume - RG.reagents.total_volume, RG.amount_per_transfer_from_this)) - user.visible_message("[user] fills \the [RG] using \the [src].","You fill \the [RG] using \the [src].") + user.visible_message(span_notice("[user] fills \the [RG] using \the [src]."),span_notice("You fill \the [RG] using \the [src].")) playsound(src, 'sound/effects/sink.ogg', 75, 1) return 1 - else if (istype(O, /obj/item/weapon/melee/baton)) - var/obj/item/weapon/melee/baton/B = O + else if (istype(O, /obj/item/melee/baton)) + var/obj/item/melee/baton/B = O if(B.bcell) if(B.bcell.charge > 0 && B.status == 1) flick("baton_active", src) @@ -592,12 +608,12 @@ B.deductcharge(B.hitcost) var/datum/gender/TU = gender_datums[user.get_visible_gender()] user.visible_message( \ - "[user] was stunned by [TU.his] wet [O]!", \ - "[user] was stunned by [TU.his] wet [O]!") + span_danger("[user] was stunned by [TU.his] wet [O]!"), \ + span_userdanger("[user] was stunned by [TU.his] wet [O]!")) return 1 - else if(istype(O, /obj/item/weapon/mop)) + else if(istype(O, /obj/item/mop)) O.reagents.add_reagent("water", 5) - to_chat(user, "You wet \the [O] in \the [src].") + to_chat(user, span_notice("You wet \the [O] in \the [src].")) playsound(src, 'sound/effects/slosh.ogg', 25, 1) return @@ -607,20 +623,20 @@ var/obj/item/I = O if(!I || !istype(I,/obj/item)) return - to_chat(usr, "You start washing \the [I].") + to_chat(user, span_notice("You start washing \the [I].")) busy = 1 if(!do_after(user, 40, src)) busy = 0 - to_chat(usr, "You stop washing \the [I].") + to_chat(user, span_notice("You stop washing \the [I].")) return busy = 0 O.clean_blood() O.water_act(rand(1,10)) user.visible_message( \ - "[user] washes \a [I] using \the [src].", \ - "You wash \a [I] using \the [src].") + span_notice("[user] washes \a [I] using \the [src]."), \ + span_notice("You wash \a [I] using \the [src].")) /obj/structure/sink/kitchen name = "kitchen sink" diff --git a/code/game/objects/structures/watercloset_vr.dm b/code/game/objects/structures/watercloset_vr.dm index 7e8790fbcc1..728fd913475 100644 --- a/code/game/objects/structures/watercloset_vr.dm +++ b/code/game/objects/structures/watercloset_vr.dm @@ -20,7 +20,7 @@ if(istype(I) && !I.anchored) bowl_contents += I if(bowl_contents.len) - user.visible_message("[user] flushes the toilet.", "You flush the toilet.") + user.visible_message(span_notice("[user] flushes the toilet."), span_notice("You flush the toilet.")) playsound(src, 'sound/vore/death7.ogg', 50, 1) //Got lazy about getting new sound files. Have a sick remix lmao. playsound(src, 'sound/effects/bubbles.ogg', 50, 1) playsound(src, 'sound/mecha/powerup.ogg', 30, 1) diff --git a/code/game/objects/structures/windoor_assembly.dm b/code/game/objects/structures/windoor_assembly.dm index e251aa38c3a..eb30553d685 100644 --- a/code/game/objects/structures/windoor_assembly.dm +++ b/code/game/objects/structures/windoor_assembly.dm @@ -18,7 +18,7 @@ dir = NORTH w_class = ITEMSIZE_NORMAL - var/obj/item/weapon/airlock_electronics/electronics = null + var/obj/item/airlock_electronics/electronics = null var/created_name = null //Vars to help with the icon's name @@ -76,33 +76,33 @@ update_state() /obj/structure/windoor_assembly/attack_robot(mob/living/silicon/robot/user) - if(Adjacent(user) && (user.module && (istype(user.module,/obj/item/weapon/robot_module/robot/engineering)) \ - || istype(user.module,/obj/item/weapon/robot_module/drone))) //Only drone (and engiborg) needs this. + if(Adjacent(user) && (user.module && (istype(user.module,/obj/item/robot_module/robot/engineering)) \ + || istype(user.module,/obj/item/robot_module/drone))) //Only drone (and engiborg) needs this. rename_door(user) /obj/structure/windoor_assembly/attackby(obj/item/W as obj, mob/user as mob) - if(istype(W, /obj/item/weapon/pen)) + if(istype(W, /obj/item/pen)) rename_door(user) return switch(state) if("01") if(W.has_tool_quality(TOOL_WELDER) && !anchored) - var/obj/item/weapon/weldingtool/WT = W.get_welder() + var/obj/item/weldingtool/WT = W.get_welder() if (WT.remove_fuel(0,user)) user.visible_message("[user] disassembles the windoor assembly.", "You start to disassemble the windoor assembly.") playsound(src, WT.usesound, 50, 1) if(do_after(user, 40 * WT.toolspeed)) if(!src || !WT.isOn()) return - to_chat(user,"You disassembled the windoor assembly!") + to_chat(user,span_notice("You disassembled the windoor assembly!")) if(secure) new /obj/item/stack/material/glass/reinforced(get_turf(src), 2) else new /obj/item/stack/material/glass(get_turf(src), 2) qdel(src) else - to_chat(user,"You need more welding fuel to disassemble the windoor assembly.") + to_chat(user,span_notice("You need more welding fuel to disassemble the windoor assembly.")) return //Wrenching an unsecure assembly anchors it in place. Step 4 complete @@ -112,7 +112,7 @@ if(do_after(user, 40 * W.toolspeed)) if(!src) return - to_chat(user,"You've secured the windoor assembly!") + to_chat(user,span_notice("You've secured the windoor assembly!")) src.anchored = TRUE step = 0 @@ -123,7 +123,7 @@ if(do_after(user, 40 * W.toolspeed)) if(!src) return - to_chat(user,"You've unsecured the windoor assembly!") + to_chat(user,span_notice("You've unsecured the windoor assembly!")) src.anchored = FALSE step = null @@ -134,7 +134,7 @@ var/obj/item/stack/cable_coil/CC = W if(do_after(user, 40)) if (CC.use(1)) - to_chat(user,"You wire the windoor!") + to_chat(user,span_notice("You wire the windoor!")) src.state = "02" step = 1 else @@ -150,13 +150,13 @@ if(do_after(user, 40 * W.toolspeed)) if(!src) return - to_chat(user,"You cut the windoor wires.!") + to_chat(user,span_notice("You cut the windoor wires.!")) new/obj/item/stack/cable_coil(get_turf(user), 1) src.state = "01" step = 0 //Adding airlock electronics for access. Step 6 complete. - else if(istype(W, /obj/item/weapon/airlock_electronics)) + else if(istype(W, /obj/item/airlock_electronics)) playsound(src, 'sound/items/Screwdriver.ogg', 100, 1) user.visible_message("[user] installs the electronics into the airlock assembly.", "You start to install electronics into the airlock assembly.") @@ -165,7 +165,7 @@ user.drop_item() W.loc = src - to_chat(user,"You've installed the airlock electronics!") + to_chat(user,span_notice("You've installed the airlock electronics!")) step = 2 src.electronics = W else @@ -178,21 +178,21 @@ if(do_after(user, 40 * W.toolspeed)) if(!src || !src.electronics) return - to_chat(user,"You've removed the airlock electronics!") + to_chat(user,span_notice("You've removed the airlock electronics!")) step = 1 - var/obj/item/weapon/airlock_electronics/ae = electronics + var/obj/item/airlock_electronics/ae = electronics electronics = null ae.loc = src.loc //Crowbar to complete the assembly, Step 7 complete. else if(W.has_tool_quality(TOOL_CROWBAR)) if(!src.electronics) - to_chat(usr,"The assembly is missing electronics.") + to_chat(user,span_warning("The assembly is missing electronics.")) return - if(src.electronics && istype(src.electronics, /obj/item/weapon/circuitboard/broken)) - to_chat(usr,"The assembly has broken airlock electronics.") + if(src.electronics && istype(src.electronics, /obj/item/circuitboard/broken)) + to_chat(user,span_warning("The assembly has broken airlock electronics.")) return - usr << browse(null, "window=windoor_access") //Not sure what this actually does... -Ner + user << browse(null, "window=windoor_access") //Not sure what this actually does... -Ner playsound(src, W.usesound, 100, 1) user.visible_message("[user] pries the windoor into the frame.", "You start prying the windoor into the frame.") @@ -201,7 +201,7 @@ if(!src) return density = TRUE //Shouldn't matter but just incase - to_chat(user,"You finish the windoor!") + to_chat(user,span_notice("You finish the windoor!")) if(secure) var/obj/machinery/door/window/brigdoor/windoor = new /obj/machinery/door/window/brigdoor(src.loc) diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 1e40f249646..7221282f1db 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -19,7 +19,7 @@ var/state = 2 var/reinf = 0 var/basestate - var/shardtype = /obj/item/weapon/material/shard + var/shardtype = /obj/item/material/shard var/glasstype = null // Set this in subtypes. Null is assumed strange or otherwise impossible to dismantle, such as for shuttle glass. var/silicate = 0 // number of units of silicate var/fulltile = FALSE // Set to true on full-tile variants. @@ -28,24 +28,24 @@ . = ..() if(health == maxhealth) - . += "It looks fully intact." + . += span_notice("It looks fully intact.") else var/perc = health / maxhealth if(perc > 0.75) - . += "It has a few cracks." + . += span_notice("It has a few cracks.") else if(perc > 0.5) - . += "It looks slightly damaged." + . += span_warning("It looks slightly damaged.") else if(perc > 0.25) - . += "It looks moderately damaged." + . += span_warning("It looks moderately damaged.") else - . += "It looks heavily damaged." + . += span_danger("It looks heavily damaged.") if(silicate) if (silicate < 30) - . += "It has a thin layer of silicate." + . += span_notice("It has a thin layer of silicate.") else if (silicate < 70) - . += "It is covered in silicate." + . += span_notice("It is covered in silicate.") else - . += "There is a thick layer of silicate covering it." + . += span_notice("There is a thick layer of silicate covering it.") /obj/structure/window/examine_icon() return icon(icon=initial(icon),icon_state=initial(icon_state)) @@ -158,7 +158,7 @@ /obj/structure/window/hitby(AM as mob|obj) ..() - visible_message("[src] was hit by [AM].") + visible_message(span_danger("[src] was hit by [AM].")) var/tforce = 0 if(ismob(AM)) tforce = 40 @@ -174,14 +174,14 @@ take_damage(tforce) /obj/structure/window/attack_tk(mob/user as mob) - user.visible_message("Something knocks on [src].") + user.visible_message(span_notice("Something knocks on [src].")) playsound(src, 'sound/effects/Glasshit.ogg', 50, 1) /obj/structure/window/attack_hand(mob/user as mob) user.setClickCooldown(user.get_attack_speed()) if(HULK in user.mutations) user.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!")) - user.visible_message("[user] smashes through [src]!") + user.visible_message(span_danger("[user] smashes through [src]!")) user.do_attack_animation(src) shatter() @@ -195,8 +195,8 @@ playsound(src, 'sound/effects/glassknock.ogg', 80, 1) user.do_attack_animation(src) - user.visible_message("\The [user] bangs against \the [src]!", - "You bang against \the [src]!", + user.visible_message(span_danger("\The [user] bangs against \the [src]!"), + span_danger("You bang against \the [src]!"), "You hear a banging sound.") else playsound(src, 'sound/effects/glassknock.ogg', 80, 1) @@ -210,12 +210,12 @@ if(!damage) return if(damage >= STRUCTURE_MIN_DAMAGE_THRESHOLD) - visible_message("[user] smashes into [src]!") + visible_message(span_danger("[user] smashes into [src]!")) if(reinf) damage = damage / 2 take_damage(damage) else - visible_message("\The [user] bonks \the [src] harmlessly.") + visible_message(span_infoplain(span_bold("\The [user]") + " bonks \the [src] harmlessly.")) user.do_attack_animation(src) return 1 @@ -224,40 +224,40 @@ // Fixing. if(W.has_tool_quality(TOOL_WELDER) && user.a_intent == I_HELP) - var/obj/item/weapon/weldingtool/WT = W.get_welder() + var/obj/item/weldingtool/WT = W.get_welder() if(health < maxhealth) if(WT.remove_fuel(1 ,user)) - to_chat(user, "You begin repairing [src]...") + to_chat(user, span_notice("You begin repairing [src]...")) playsound(src, WT.usesound, 50, 1) if(do_after(user, 40 * WT.toolspeed, target = src)) health = maxhealth // playsound(src, 'sound/items/Welder.ogg', 50, 1) update_icon() - to_chat(user, "You repair [src].") + to_chat(user, span_notice("You repair [src].")) else - to_chat(user, "[src] is already in good condition!") + to_chat(user, span_warning("[src] is already in good condition!")) return // Slamming. - if (istype(W, /obj/item/weapon/grab) && get_dist(src,user)<2) - var/obj/item/weapon/grab/G = W + if (istype(W, /obj/item/grab) && get_dist(src,user)<2) + var/obj/item/grab/G = W if(istype(G.affecting,/mob/living)) var/mob/living/M = G.affecting var/state = G.state qdel(W) //gotta delete it here because if window breaks, it won't get deleted switch (state) if(1) - M.visible_message("[user] slams [M] against \the [src]!") + M.visible_message(span_warning("[user] slams [M] against \the [src]!")) M.apply_damage(7) hit(10) if(2) - M.visible_message("[user] bashes [M] against \the [src]!") + M.visible_message(span_danger("[user] bashes [M] against \the [src]!")) if (prob(50)) M.Weaken(1) M.apply_damage(10) hit(25) if(3) - M.visible_message("[user] crushes [M] against \the [src]!") + M.visible_message(span_danger("[user] crushes [M] against \the [src]!")) M.Weaken(5) M.apply_damage(20) hit(50) @@ -270,31 +270,31 @@ state = 3 - state update_nearby_icons() playsound(src, W.usesound, 75, 1) - to_chat(user, "You have [state == 1 ? "un" : ""]fastened the window [state ? "from" : "to"] the frame.") + to_chat(user, span_notice("You have [state == 1 ? "un" : ""]fastened the window [state ? "from" : "to"] the frame.")) else if(reinf && state == 0) anchored = !anchored update_nearby_tiles(need_rebuild=1) update_nearby_icons() update_verbs() playsound(src, W.usesound, 75, 1) - to_chat(user, "You have [anchored ? "" : "un"]fastened the frame [anchored ? "to" : "from"] the floor.") + to_chat(user, span_notice("You have [anchored ? "" : "un"]fastened the frame [anchored ? "to" : "from"] the floor.")) else if(!reinf) anchored = !anchored update_nearby_tiles(need_rebuild=1) update_nearby_icons() update_verbs() playsound(src, W.usesound, 75, 1) - to_chat(user, "You have [anchored ? "" : "un"]fastened the window [anchored ? "to" : "from"] the floor.") + to_chat(user, span_notice("You have [anchored ? "" : "un"]fastened the window [anchored ? "to" : "from"] the floor.")) else if(W.has_tool_quality(TOOL_CROWBAR) && reinf && state <= 1) state = 1 - state playsound(src, W.usesound, 75, 1) - to_chat(user, "You have pried the window [state ? "into" : "out of"] the frame.") + to_chat(user, span_notice("You have pried the window [state ? "into" : "out of"] the frame.")) else if(W.has_tool_quality(TOOL_WRENCH) && !anchored && (!state || !reinf)) if(!glasstype) - to_chat(user, "You're not sure how to dismantle \the [src] properly.") + to_chat(user, span_notice("You're not sure how to dismantle \the [src] properly.")) else playsound(src, W.usesound, 75, 1) - visible_message("[user] dismantles \the [src].") + visible_message(span_notice("[user] dismantles \the [src].")) var/obj/item/stack/material/mats = new glasstype(loc) if(is_fulltile()) mats.set_amount(4) @@ -304,8 +304,8 @@ if (C.use(1)) playsound(src, 'sound/effects/sparks1.ogg', 75, 1) user.visible_message( \ - "\The [user] begins to wire \the [src] for electrochromic tinting.", \ - "You begin to wire \the [src] for electrochromic tinting.", \ + span_infoplain(span_bold("\The [user]") + " begins to wire \the [src] for electrochromic tinting."), \ + span_notice("You begin to wire \the [src] for electrochromic tinting."), \ "You hear sparks.") if(do_after(user, 20 * C.toolspeed, src) && state == 0) playsound(src, 'sound/items/Deconstruct.ogg', 50, 1) @@ -514,7 +514,7 @@ desc = "A borosilicate alloy window. It seems to be quite strong." basestate = "phoronwindow" icon_state = "phoronwindow" - shardtype = /obj/item/weapon/material/shard/phoron + shardtype = /obj/item/material/shard/phoron glasstype = /obj/item/stack/material/glass/phoronglass maximal_heat = T0C + 2000 damage_per_fire_tick = 1.0 @@ -532,7 +532,7 @@ desc = "A borosilicate alloy window, with rods supporting it. It seems to be very strong." basestate = "phoronrwindow" icon_state = "phoronrwindow" - shardtype = /obj/item/weapon/material/shard/phoron + shardtype = /obj/item/material/shard/phoron glasstype = /obj/item/stack/material/glass/phoronrglass reinf = 1 maximal_heat = T0C + 4000 @@ -603,13 +603,13 @@ flags = 0 /obj/structure/window/reinforced/polarized/attackby(obj/item/W as obj, mob/user as mob) - if(istype(W, /obj/item/device/multitool) && !anchored) // Only allow programming if unanchored! - var/obj/item/device/multitool/MT = W + if(istype(W, /obj/item/multitool) && !anchored) // Only allow programming if unanchored! + var/obj/item/multitool/MT = W // First check if they have a windowtint button buffered if(istype(MT.connectable, /obj/machinery/button/windowtint)) var/obj/machinery/button/windowtint/buffered_button = MT.connectable src.id = buffered_button.id - to_chat(user, "\The [src] is linked to \the [buffered_button] with ID '[id]'.") + to_chat(user, span_notice("\The [src] is linked to \the [buffered_button] with ID '[id]'.")) return TRUE // Otherwise fall back to asking them... and remind them what the current ID is. if(id) @@ -617,7 +617,7 @@ var/t = sanitizeSafe(input(user, "Enter the new ID for the window.", src.name, null), MAX_NAME_LEN) if(t && in_range(src, user)) src.id = t - to_chat(user, "The new ID of \the [src] is '[id]'.") + to_chat(user, span_notice("The new ID of \the [src] is '[id]'.")) return TRUE . = ..() @@ -637,7 +637,7 @@ icon_state = "light0" desc = "A remote control switch for polarized windows." var/range = 7 - circuit = /obj/item/weapon/circuitboard/electrochromic + circuit = /obj/item/circuitboard/electrochromic /obj/machinery/button/windowtint/attack_hand(mob/user as mob) if(..()) @@ -670,23 +670,23 @@ return else if(alarm_deconstruction_wirecutters(user, W)) return - else if(istype(W, /obj/item/device/multitool)) - var/obj/item/device/multitool/MT = W + else if(istype(W, /obj/item/multitool)) + var/obj/item/multitool/MT = W if(!id) // If no ID is set yet (newly built button?) let them select an ID for first-time use! var/t = sanitizeSafe(tgui_input_text(user, "Enter an ID for \the [src].", src.name, null, MAX_NAME_LEN), MAX_NAME_LEN) if (t && in_range(src, user)) src.id = t - to_chat(user, "The new ID of \the [src] is '[id]'. To reset this, rebuild the control.") + to_chat(user, span_notice("The new ID of \the [src] is '[id]'. To reset this, rebuild the control.")) if(id) // It already has an ID (or they just set one), buffer it for copying to windows. - to_chat(user, "You store \the [src] ID ('[id]') in \the [MT]'s buffer!") + to_chat(user, span_notice("You store \the [src] ID ('[id]') in \the [MT]'s buffer!")) MT.connectable = src MT.update_icon() return TRUE . = ..() -/obj/structure/window/rcd_values(mob/living/user, obj/item/weapon/rcd/the_rcd, passed_mode) +/obj/structure/window/rcd_values(mob/living/user, obj/item/rcd/the_rcd, passed_mode) switch(passed_mode) if(RCD_DECONSTRUCT) return list( @@ -695,10 +695,10 @@ RCD_VALUE_COST = RCD_SHEETS_PER_MATTER_UNIT * 5 ) -/obj/structure/window/rcd_act(mob/living/user, obj/item/weapon/rcd/the_rcd, passed_mode) +/obj/structure/window/rcd_act(mob/living/user, obj/item/rcd/the_rcd, passed_mode) switch(passed_mode) if(RCD_DECONSTRUCT) - to_chat(user, span("notice", "You deconstruct \the [src].")) + to_chat(user, span_notice("You deconstruct \the [src].")) qdel(src) return TRUE return FALSE diff --git a/code/game/objects/structures/window_vr.dm b/code/game/objects/structures/window_vr.dm index 70e84705197..10b995766f0 100644 --- a/code/game/objects/structures/window_vr.dm +++ b/code/game/objects/structures/window_vr.dm @@ -4,7 +4,7 @@ basestate = "window" icon_state = "window" color = "#A7A3A6" - shardtype = /obj/item/weapon/material/shard/titaniumglass + shardtype = /obj/item/material/shard/titaniumglass glasstype = /obj/item/stack/material/glass/titanium reinf = 0 maximal_heat = T0C + 5000 @@ -23,7 +23,7 @@ basestate = "window" icon_state = "window" color = "#676366" - shardtype = /obj/item/weapon/material/shard/plastitaniumglass + shardtype = /obj/item/material/shard/plastitaniumglass glasstype = /obj/item/stack/material/glass/plastitanium reinf = 0 maximal_heat = T0C + 7000 diff --git a/code/game/objects/stumble_into_vr.dm b/code/game/objects/stumble_into_vr.dm index 2079ab5a42e..750e79183f4 100644 --- a/code/game/objects/stumble_into_vr.dm +++ b/code/game/objects/stumble_into_vr.dm @@ -1,7 +1,7 @@ /atom/proc/stumble_into(mob/living/M) playsound(src, "punch", 25, 1, -1) - visible_message("[M] [pick("ran", "slammed")] into \the [src]!") - to_chat(M, "You just [pick("ran", "slammed")] into \the [src]!") + visible_message(span_warning("[M] [pick("ran", "slammed")] into \the [src]!")) + to_chat(M, span_warning("You just [pick("ran", "slammed")] into \the [src]!")) M.apply_damage(5, BRUTE) M.Weaken(2) M.stop_flying() @@ -14,7 +14,7 @@ playsound(src, material.tableslam_noise, 25, 1, -1) else playsound(src, 'sound/weapons/tablehit1.ogg', 25, 1, -1) - visible_message("[M] flopped onto \the [src]!") + visible_message(span_warning("[M] flopped onto \the [src]!")) M.apply_damage(5, BRUTE) M.Weaken(2) M.forceMove(get_turf(src)) @@ -22,7 +22,7 @@ /obj/machinery/disposal/stumble_into(mob/living/M) playsound(src, 'sound/effects/clang.ogg', 25, 1, -1) - visible_message("[M] [pick("tripped", "stumbled")] into \the [src]!") + visible_message(span_warning("[M] [pick("tripped", "stumbled")] into \the [src]!")) log_and_message_admins("stumbled into \the [src]", M) if(M.client) M.client.perspective = EYE_PERSPECTIVE @@ -35,20 +35,20 @@ /obj/structure/inflatable/stumble_into(mob/living/M) playsound(src, "sound/effects/Glasshit.ogg", 25, 1, -1) - visible_message("[M] [pick("ran", "slammed")] into \the [src]!") + visible_message(span_warning("[M] [pick("ran", "slammed")] into \the [src]!")) M.Weaken(1) M.stop_flying() /obj/structure/kitchenspike/stumble_into(mob/living/M) playsound(src, "sound/weapons/pierce.ogg", 25, 1, -1) - visible_message("[M] [pick("ran", "slammed")] into the spikes on \the [src]!") + visible_message(span_warning("[M] [pick("ran", "slammed")] into the spikes on \the [src]!")) M.apply_damage(15, BRUTE, sharp = TRUE) M.Weaken(5) M.stop_flying() /obj/structure/m_tray/stumble_into(mob/living/M) playsound(src, 'sound/weapons/tablehit1.ogg', 25, 1, -1) - visible_message("[M] flopped onto \the [src]!") + visible_message(span_warning("[M] flopped onto \the [src]!")) M.apply_damage(5, BRUTE) M.Weaken(2) M.forceMove(get_turf(src)) @@ -56,14 +56,14 @@ /obj/structure/c_tray/stumble_into(mob/living/M) playsound(src, 'sound/weapons/tablehit1.ogg', 25, 1, -1) - visible_message("[M] flopped onto \the [src]!") + visible_message(span_warning("[M] flopped onto \the [src]!")) M.apply_damage(5, BRUTE) M.Weaken(2) M.forceMove(get_turf(src)) M.stop_flying() /obj/structure/window/stumble_into(mob/living/M) - visible_message("[M] [pick("ran", "slammed")] into \the [src]!") + visible_message(span_warning("[M] [pick("ran", "slammed")] into \the [src]!")) M.apply_damage(5, BRUTE) M.Weaken(2) hitby(M) @@ -74,7 +74,7 @@ if(occupied) return ..() playsound(src, 'sound/misc/slip.ogg', 25, 1, -1) - visible_message("[M] [pick("tripped", "stumbled")] over \the [src]!") + visible_message(span_warning("[M] [pick("tripped", "stumbled")] over \the [src]!")) M.Weaken(2) M.stop_flying() if(get_turf(M) == get_turf(src)) @@ -93,7 +93,7 @@ bumpopen(M) /obj/machinery/appliance/cooker/fryer/stumble_into(mob/living/M) - visible_message("[M] [pick("ran", "slammed")] into \the [src]!") + visible_message(span_warning("[M] [pick("ran", "slammed")] into \the [src]!")) M.apply_damage(15, BURN) M.Weaken(5) M.emote("scream") @@ -103,7 +103,7 @@ if((stat & (NOPOWER|BROKEN)) || !istype(M, /mob/living/carbon) || occupant || M.abiotic() || !node) return ..() playsound(src, 'sound/effects/Glasshit.ogg', 25, 1, -1) - visible_message("[M] [pick("tripped", "stumbled")] into \the [src]!") + visible_message(span_warning("[M] [pick("tripped", "stumbled")] into \the [src]!")) M.apply_damage(5, BRUTE) M.Weaken(2) put_mob(M) @@ -127,7 +127,7 @@ if(!ishuman(M) || !isopen || !ispowered || isbroken || OCCUPANT || HELMET || SUIT) return ..() playsound(src, 'sound/effects/clang.ogg', 25, 1, -1) - visible_message("[M] [pick("tripped", "stumbled")] into \the [src]!") + visible_message(span_warning("[M] [pick("tripped", "stumbled")] into \the [src]!")) if(M.client) M.client.perspective = EYE_PERSPECTIVE M.client.eye = src diff --git a/code/game/objects/weapons.dm b/code/game/objects/weapons.dm index cc9e2fa5c78..536ce05cbf6 100644 --- a/code/game/objects/weapons.dm +++ b/code/game/objects/weapons.dm @@ -1,22 +1,22 @@ -/obj/item/weapon +/obj/item name = "weapon" icon = 'icons/obj/weapons.dmi' hitsound = "swing_hit" var/cleaving = FALSE // Used to avoid infinite cleaving. -/obj/item/weapon/Bump(mob/M as mob) +/obj/item/Bump(mob/M as mob) spawn(0) ..() return -/obj/item/weapon/melee +/obj/item/melee item_icons = list( slot_l_hand_str = 'icons/mob/items/lefthand_melee.dmi', slot_r_hand_str = 'icons/mob/items/righthand_melee.dmi', ) // Attacks mobs (atm only simple ones due to friendly fire issues) that are adjacent to the target and user. -/obj/item/weapon/proc/cleave(mob/living/user, atom/target) +/obj/item/proc/cleave(mob/living/user, atom/target) if(cleaving) return FALSE // We're busy. if(!target.Adjacent(user)) @@ -43,17 +43,17 @@ cleave_visual(user, target) if(hit_mobs) - to_chat(user, "You used \the [src] to attack [hit_mobs] other thing\s!") + to_chat(user, span_danger("You used \the [src] to attack [hit_mobs] other thing\s!")) cleaving = FALSE // We're done now. return hit_mobs > 0 // Returns TRUE if anything got hit. // This cannot go into afterattack since some mobs delete themselves upon dying. -/obj/item/weapon/material/pre_attack(mob/living/target, mob/living/user) +/obj/item/material/pre_attack(mob/living/target, mob/living/user) if(can_cleave && istype(target)) cleave(user, target) ..() // This is purely the visual effect of cleaving. -/obj/item/weapon/proc/cleave_visual(var/mob/living/user, var/mob/living/target) +/obj/item/proc/cleave_visual(var/mob/living/user, var/mob/living/target) var/obj/effect/temporary_effect/cleave_attack/E = new(get_turf(src)) E.dir = get_dir(user, target) diff --git a/code/game/response_team.dm b/code/game/response_team.dm index a50d4342072..39bed0f177a 100644 --- a/code/game/response_team.dm +++ b/code/game/response_team.dm @@ -9,31 +9,30 @@ var/silent_ert = 0 /client/proc/response_team() set name = "Dispatch Emergency Response Team" - set category = "Special Verbs" + set category = "Fun.Event Kit" set desc = "Send an emergency response team to the station" if(!holder) - to_chat(usr, "Only administrators may use this command.") + to_chat(usr, span_danger("Only administrators may use this command.")) return if(!ticker) - to_chat(usr, "The game hasn't started yet!") + to_chat(usr, span_danger("The game hasn't started yet!")) return if(ticker.current_state == 1) - to_chat(usr, "The round hasn't started yet!") + to_chat(usr, span_danger("The round hasn't started yet!")) return if(send_emergency_team) - to_chat(usr, "[using_map.boss_name] has already dispatched an emergency response team!") + to_chat(usr, span_danger("[using_map.boss_name] has already dispatched an emergency response team!")) return if(tgui_alert(usr, "Do you want to dispatch an Emergency Response Team?","ERT",list("Yes","No")) != "Yes") return if(tgui_alert(usr, "Do you want this Response Team to be announced?","ERT",list("Yes","No")) != "Yes") silent_ert = 1 if(get_security_level() != "red") // Allow admins to reconsider if the alert level isn't Red - switch(tgui_alert(usr, "The station is not in red alert. Do you still want to dispatch a response team?","ERT",list("Yes","No"))) - if("No") - return + if(tgui_alert(usr, "The station is not in red alert. Do you still want to dispatch a response team?","ERT",list("Yes","No")) != "Yes") + return if(send_emergency_team) - to_chat(usr, "Looks like somebody beat you to it!") + to_chat(usr, span_danger("Looks like somebody beat you to it!")) return message_admins("[key_name_admin(usr)] is dispatching an Emergency Response Team.", 1) @@ -44,18 +43,18 @@ var/silent_ert = 0 /client/verb/JoinResponseTeam() set name = "Join Response Team" - set category = "IC" + set category = "IC.Event" if(!MayRespawn(1)) - to_chat(usr, "You cannot join the response team at this time.") + to_chat(usr, span_warning("You cannot join the response team at this time.")) return if(istype(usr,/mob/observer/dead) || istype(usr,/mob/new_player)) if(!send_emergency_team) to_chat(usr, "No emergency response team is currently being sent.") return - if(jobban_isbanned(usr, "Syndicate") || jobban_isbanned(usr, "Emergency Response Team") || jobban_isbanned(usr, "Security Officer")) - to_chat(usr, "You are jobbanned from the emergency reponse team!") + if(jobban_isbanned(usr, JOB_SYNDICATE) || jobban_isbanned(usr, JOB_EMERGENCY_RESPONSE_TEAM) || jobban_isbanned(usr, JOB_SECURITY_OFFICER)) + to_chat(usr, span_danger("You are jobbanned from the emergency reponse team!")) return if(ert.current_antagonists.len >= ert.hard_cap) to_chat(usr, "The emergency response team is already full!") diff --git a/code/game/sound.dm b/code/game/sound.dm index 256dae7597c..bf178e51563 100644 --- a/code/game/sound.dm +++ b/code/game/sound.dm @@ -25,7 +25,7 @@ if(!T) continue var/area/A = T.loc - if((A.soundproofed || area_source.soundproofed) && (A != area_source)) + if((A.flag_check(AREA_SOUNDPROOF) || area_source.flag_check(AREA_SOUNDPROOF)) && (A != area_source)) continue var/distance = get_dist(T, turf_source) @@ -33,10 +33,23 @@ if(T && T.z == turf_source.z) M.playsound_local(turf_source, soundin, vol, vary, frequency, falloff, is_global, channel, pressure_affected, S, preference, volume_channel) +/mob/proc/check_sound_preference(list/preference) + if(!islist(preference)) + preference = list(preference) + + for(var/p in preference) + // Ignore nulls + if(p) + if(!read_preference(p)) + return FALSE + + return TRUE + /mob/proc/playsound_local(turf/turf_source, soundin, vol as num, vary, frequency, falloff, is_global, channel = 0, pressure_affected = TRUE, sound/S, preference, volume_channel = null) if(!client || ear_deaf > 0) return - if(preference && !client.is_preference_enabled(preference)) + + if(!check_sound_preference(preference)) return if(!S) @@ -122,10 +135,10 @@ /client/proc/playtitlemusic() if(!ticker || !SSmedia_tracks.lobby_tracks.len || !media) return - if(is_preference_enabled(/datum/client_preference/play_lobby_music)) + if(prefs?.read_preference(/datum/preference/toggle/play_lobby_music)) var/datum/track/T = pick(SSmedia_tracks.lobby_tracks) media.push_music(T.url, world.time, 0.85) - to_chat(src,"Lobby music: [T.title] by [T.artist].") + to_chat(src,span_notice("Lobby music: [T.title] by [T.artist].")) /proc/get_sfx(soundin) if(istext(soundin)) diff --git a/code/game/trader_visit.dm b/code/game/trader_visit.dm index 996f2febff5..8f52110f534 100644 --- a/code/game/trader_visit.dm +++ b/code/game/trader_visit.dm @@ -5,29 +5,28 @@ var/can_call_traders = 1 /client/proc/trader_ship() set name = "Dispatch Beruang Trader Ship" - set category = "Special Verbs" + set category = "Fun.Event Kit" set desc = "Invite players to join the Beruang." if(!holder) - to_chat(usr, "Only administrators may use this command.") + to_chat(usr, span_danger("Only administrators may use this command.")) return if(!ticker) - to_chat(usr, "The game hasn't started yet!") + to_chat(usr, span_danger("The game hasn't started yet!")) return if(ticker.current_state == 1) - to_chat(usr, "The round hasn't started yet!") + to_chat(usr, span_danger("The round hasn't started yet!")) return if(send_beruang) - to_chat(usr, "The Beruang has already been sent this round!") + to_chat(usr, span_danger("The Beruang has already been sent this round!")) return if(tgui_alert(usr, "Do you want to dispatch the Beruang trade ship?","Trade Ship",list("Yes","No")) != "Yes") return if(get_security_level() == "red") // Allow admins to reconsider if the alert level is Red - switch(tgui_alert(usr, "The station is in red alert. Do you still want to send traders?","Trade Ship",list("Yes","No"))) - if("No") - return + if(tgui_alert(usr, "The station is in red alert. Do you still want to send traders?","Trade Ship",list("Yes","No")) != "Yes") + return if(send_beruang) - to_chat(usr, "Looks like somebody beat you to it!") + to_chat(usr, span_danger("Looks like somebody beat you to it!")) return message_admins("[key_name_admin(usr)] is dispatching the Beruang.", 1) @@ -37,10 +36,10 @@ var/can_call_traders = 1 /client/verb/JoinTraders() set name = "Join Trader Visit" - set category = "IC" + set category = "IC.Event" if(!MayRespawn(1)) - to_chat(usr, "You cannot join the traders.") + to_chat(usr, span_warning("You cannot join the traders.")) return if(istype(usr,/mob/observer/dead) || istype(usr,/mob/new_player)) diff --git a/code/game/turfs/simulated.dm b/code/game/turfs/simulated.dm index d60d807950c..6867af1386c 100644 --- a/code/game/turfs/simulated.dm +++ b/code/game/turfs/simulated.dm @@ -91,10 +91,6 @@ dirtoverlay.alpha = min((dirt - 50) * 5, 255) /turf/simulated/Entered(atom/A, atom/OL) - if(movement_disabled && usr.ckey != movement_disabled_exception) - to_chat(usr, "Movement is admin-disabled.") //This is to identify lag problems - return - if (istype(A,/mob/living)) var/mob/living/M = A if(M.lying || M.flying) //VOREStation Edit @@ -174,7 +170,7 @@ B.blood_DNA = list() if(!B.blood_DNA[M.dna.unique_enzymes]) B.blood_DNA[M.dna.unique_enzymes] = M.dna.b_type - B.virus2 = virus_copylist(M.virus2) + B.viruses = M.viruses.Copy() return 1 //we bloodied the floor blood_splatter(src,M.get_blood(M.vessel),1) return 1 //we bloodied the floor diff --git a/code/game/turfs/simulated/floor.dm b/code/game/turfs/simulated/floor.dm index 426cc23ea41..ee86344966c 100644 --- a/code/game/turfs/simulated/floor.dm +++ b/code/game/turfs/simulated/floor.dm @@ -109,7 +109,7 @@ /turf/simulated/floor/can_engrave() return (!flooring || flooring.can_engrave) -/turf/simulated/floor/rcd_values(mob/living/user, obj/item/weapon/rcd/the_rcd, passed_mode) +/turf/simulated/floor/rcd_values(mob/living/user, obj/item/rcd/the_rcd, passed_mode) switch(passed_mode) if(RCD_FLOORWALL) // A wall costs four sheets to build (two for the grider and two for finishing it). @@ -147,10 +147,10 @@ return FALSE -/turf/simulated/floor/rcd_act(mob/living/user, obj/item/weapon/rcd/the_rcd, passed_mode) +/turf/simulated/floor/rcd_act(mob/living/user, obj/item/rcd/the_rcd, passed_mode) switch(passed_mode) if(RCD_FLOORWALL) - to_chat(user, span("notice", "You build a wall.")) + to_chat(user, span_notice("You build a wall.")) ChangeTurf(/turf/simulated/wall) var/turf/simulated/wall/T = get_turf(src) // Ref to the wall we just built. // Apparently set_material(...) for walls requires refs to the material singletons and not strings. @@ -162,18 +162,18 @@ if(RCD_AIRLOCK) if(locate(/obj/machinery/door/airlock) in src) return FALSE // No more airlock stacking. - to_chat(user, span("notice", "You build an airlock.")) + to_chat(user, span_notice("You build an airlock.")) new the_rcd.airlock_type(src) return TRUE if(RCD_WINDOWGRILLE) if(locate(/obj/structure/grille) in src) return FALSE - to_chat(user, span("notice", "You construct the grille.")) + to_chat(user, span_notice("You construct the grille.")) var/obj/structure/grille/G = new(src) G.anchored = TRUE return TRUE if(RCD_DECONSTRUCT) - to_chat(user, span("notice", "You deconstruct \the [src].")) + to_chat(user, span_notice("You deconstruct \the [src].")) ChangeTurf(get_base_turf_by_area(src), preserve_outdoors = TRUE) return TRUE diff --git a/code/game/turfs/simulated/floor_attackby.dm b/code/game/turfs/simulated/floor_attackby.dm index 49bd6bc2085..ff00f6273ea 100644 --- a/code/game/turfs/simulated/floor_attackby.dm +++ b/code/game/turfs/simulated/floor_attackby.dm @@ -3,7 +3,7 @@ if(!C || !user) return 0 - if(isliving(user) && istype(C, /obj/item/weapon)) + if(isliving(user) && istype(C, /obj/item)) var/mob/living/L = user if(L.a_intent != I_HELP) attack_tile(C, L) // Be on help intent if you want to decon something. @@ -38,17 +38,17 @@ if(!A) A = locate(/turf/simulated/wall) in cardinalTurfs if(!A) - to_chat(user, "There's nothing to attach the ceiling to!") + to_chat(user, span_warning("There's nothing to attach the ceiling to!")) return if(R.use(1)) // Cost of roofing tiles is 1:1 with cost to place lattice and plating T.ReplaceWithLattice() T.ChangeTurf(/turf/simulated/floor, preserve_outdoors = TRUE) playsound(src, 'sound/weapons/Genhit.ogg', 50, 1) - user.visible_message("[user] patches a hole in the ceiling.", "You patch a hole in the ceiling.") + user.visible_message(span_notice("[user] patches a hole in the ceiling."), span_notice("You patch a hole in the ceiling.")) expended_tile = TRUE else - to_chat(user, "There aren't any holes in the ceiling to patch here.") + to_chat(user, span_warning("There aren't any holes in the ceiling to patch here.")) return // Create a ceiling to shield from the weather @@ -59,17 +59,17 @@ if(expended_tile || R.use(1)) make_indoors() playsound(src, 'sound/weapons/Genhit.ogg', 50, 1) - user.visible_message("[user] roofs a tile, shielding it from the elements.", "You roof this tile, shielding it from the elements.") + user.visible_message(span_notice("[user] roofs a tile, shielding it from the elements."), span_notice("You roof this tile, shielding it from the elements.")) break return // Floor has flooring set if(!is_plating()) - if(istype(C, /obj/item/weapon)) + if(istype(C, /obj/item)) try_deconstruct_tile(C, user) return else if(istype(C, /obj/item/stack/cable_coil)) - to_chat(user, "You must remove the [flooring.descriptor] first.") + to_chat(user, span_warning("You must remove the [flooring.descriptor] first.")) return else if(istype(C, /obj/item/stack/tile)) if(try_replace_tile(C, user)) @@ -78,7 +78,7 @@ if(!flooring.build_type && can_be_plated && !((flooring.flags & TURF_REMOVE_WRENCH) || (flooring.flags & TURF_REMOVE_CROWBAR) || (flooring.flags & TURF_REMOVE_SCREWDRIVER) || (flooring.flags & TURF_REMOVE_SHOVEL))) for(var/obj/structure/P in contents) if(istype(P, /obj/structure/flora)) - to_chat(user, "The [P.name] is in the way, you'll have to get rid of it first.") + to_chat(user, span_warning("The [P.name] is in the way, you'll have to get rid of it first.")) return var/obj/item/stack/tile/floor/S = C if (S.get_amount() < 1) @@ -94,7 +94,7 @@ // Placing wires on plating if(istype(C, /obj/item/stack/cable_coil)) if(broken || burnt) - to_chat(user, "This section is too damaged to support anything. Use a welder to fix the damage.") + to_chat(user, span_warning("This section is too damaged to support anything. Use a welder to fix the damage.")) return var/obj/item/stack/cable_coil/coil = C coil.turf_place(src, user) @@ -102,7 +102,7 @@ // Placing flooring on plating else if(istype(C, /obj/item/stack)) if(broken || burnt) - to_chat(user, "This section is too damaged to support anything. Use a welder to fix the damage.") + to_chat(user, span_warning("This section is too damaged to support anything. Use a welder to fix the damage.")) return var/obj/item/stack/S = C var/decl/flooring/use_flooring @@ -117,7 +117,7 @@ return // Do we have enough? if(use_flooring.build_cost && S.get_amount() < use_flooring.build_cost) - to_chat(user, "You require at least [use_flooring.build_cost] [S.name] to complete the [use_flooring.descriptor].") + to_chat(user, span_warning("You require at least [use_flooring.build_cost] [S.name] to complete the [use_flooring.descriptor].")) return // Stay still and focus... if(use_flooring.build_time && !do_after(user, use_flooring.build_time)) @@ -130,28 +130,28 @@ return // Plating repairs and removal else if(C.has_tool_quality(TOOL_WELDER)) - var/obj/item/weapon/weldingtool/welder = C.get_welder() + var/obj/item/weldingtool/welder = C.get_welder() if(welder.isOn()) // Needs repairs if(broken || burnt) if(welder.remove_fuel(0,user)) - to_chat(user, "You fix some dents on the broken plating.") + to_chat(user, span_notice("You fix some dents on the broken plating.")) playsound(src, welder.usesound, 80, 1) icon_state = "plating" burnt = null broken = null else - to_chat(user, "You need more welding fuel to complete this task.") + to_chat(user, span_warning("You need more welding fuel to complete this task.")) // Deconstructing plating else var/base_type = get_base_turf_by_area(src) if(type == base_type || !base_type) - to_chat(user, "There's nothing under [src] to expose by cutting.") + to_chat(user, span_warning("There's nothing under [src] to expose by cutting.")) return if(!can_remove_plating(user)) return - user.visible_message("[user] begins cutting through [src].", "You begin cutting through [src].") + user.visible_message(span_warning("[user] begins cutting through [src]."), span_warning("You begin cutting through [src].")) // This is slow because it's a potentially hostile action to just cut through places into space in the middle of the bar and such // Presumably also the structural floor is thick? if(do_after(user, 10 SECONDS, src, TRUE, exclusive = TASK_ALL_EXCLUSIVE)) @@ -159,16 +159,16 @@ return // Someone slapped down some flooring or cables or something do_remove_plating(C, user, base_type) -/turf/simulated/floor/proc/try_deconstruct_tile(obj/item/weapon/W as obj, mob/user as mob) +/turf/simulated/floor/proc/try_deconstruct_tile(obj/item/W as obj, mob/user as mob) if(W.has_tool_quality(TOOL_CROWBAR)) if(broken || burnt) - to_chat(user, "You remove the broken [flooring.descriptor].") + to_chat(user, span_notice("You remove the broken [flooring.descriptor].")) make_plating() else if(flooring.flags & TURF_IS_FRAGILE) - to_chat(user, "You forcefully pry off the [flooring.descriptor], destroying them in the process.") + to_chat(user, span_danger("You forcefully pry off the [flooring.descriptor], destroying them in the process.")) make_plating() else if(flooring.flags & TURF_REMOVE_CROWBAR) - to_chat(user, "You lever off the [flooring.descriptor].") + to_chat(user, span_notice("You lever off the [flooring.descriptor].")) make_plating(1) else return 0 @@ -177,17 +177,17 @@ else if(W.has_tool_quality(TOOL_SCREWDRIVER) && (flooring.flags & TURF_REMOVE_SCREWDRIVER)) if(broken || burnt) return 0 - to_chat(user, "You unscrew and remove the [flooring.descriptor].") + to_chat(user, span_notice("You unscrew and remove the [flooring.descriptor].")) make_plating(1) playsound(src, W.usesound, 80, 1) return 1 else if(W.has_tool_quality(TOOL_WRENCH) && (flooring.flags & TURF_REMOVE_WRENCH)) - to_chat(user, "You unwrench and remove the [flooring.descriptor].") + to_chat(user, span_notice("You unwrench and remove the [flooring.descriptor].")) make_plating(1) playsound(src, W.usesound, 80, 1) return 1 - else if(istype(W, /obj/item/weapon/shovel) && (flooring.flags & TURF_REMOVE_SHOVEL)) - to_chat(user, "You shovel off the [flooring.descriptor].") + else if(istype(W, /obj/item/shovel) && (flooring.flags & TURF_REMOVE_SHOVEL)) + to_chat(user, span_notice("You shovel off the [flooring.descriptor].")) make_plating(1) playsound(src, 'sound/items/Deconstruct.ogg', 80, 1) return 1 @@ -196,7 +196,7 @@ /turf/simulated/floor/proc/try_replace_tile(obj/item/stack/tile/T as obj, mob/user as mob) if(T.type == flooring.build_type) return - var/obj/item/weapon/W = user.is_holding_item_of_type(/obj/item/weapon) + var/obj/item/W = user.is_holding_item_of_type(/obj/item) if(!istype(W)) return if(!try_deconstruct_tile(W, user)) @@ -207,18 +207,18 @@ /turf/simulated/floor/proc/can_remove_plating(mob/user) if(!is_plating()) - to_chat(user, "\The [src] can't be cut through!") + to_chat(user, span_warning("\The [src] can't be cut through!")) return FALSE if(locate(/obj/structure) in contents) - to_chat(user, "\The [src] has structures that must be removed before cutting!") + to_chat(user, span_warning("\The [src] has structures that must be removed before cutting!")) return FALSE return TRUE -/turf/simulated/floor/proc/do_remove_plating(obj/item/weapon/W, mob/user, base_type) +/turf/simulated/floor/proc/do_remove_plating(obj/item/W, mob/user, base_type) if(W.has_tool_quality(TOOL_WELDER)) - var/obj/item/weapon/weldingtool/WT = W.get_welder() + var/obj/item/weldingtool/WT = W.get_welder() if(!WT.remove_fuel(5,user)) - to_chat(user, "You don't have enough fuel in [WT] finish cutting through [src].") + to_chat(user, span_warning("You don't have enough fuel in [WT] finish cutting through [src].")) return playsound(src, WT.usesound, 80, 1) diff --git a/code/game/turfs/simulated/floor_types_vr.dm b/code/game/turfs/simulated/floor_types_vr.dm index e6dfafa9ac3..790acb1976f 100644 --- a/code/game/turfs/simulated/floor_types_vr.dm +++ b/code/game/turfs/simulated/floor_types_vr.dm @@ -55,7 +55,7 @@ return var/obj/item/stack/rods/R = C if (R.use(1)) - to_chat(user, "Constructing support lattice ...") + to_chat(user, span_notice("Constructing support lattice ...")) playsound(src, 'sound/weapons/Genhit.ogg', 50, 1) new/obj/structure/lattice(src) return @@ -72,7 +72,7 @@ ChangeTurf(/turf/simulated/floor/airless) return else - to_chat(user, "The plating is going to need some support.") + to_chat(user, span_warning("The plating is going to need some support.")) /turf/simulated/shuttle/plating/airless/carry/is_solid_structure() return locate(/obj/structure/lattice, src) @@ -88,4 +88,3 @@ desc = "It is entirely made of sick, gurgling flesh. It is releasing a sickly odour." icon_state = "bloodfloor_2" icon = 'icons/goonstation/turf/meatland.dmi' - diff --git a/code/game/turfs/simulated/outdoors/outdoors.dm b/code/game/turfs/simulated/outdoors/outdoors.dm index 5587e963c63..74a08a7c464 100644 --- a/code/game/turfs/simulated/outdoors/outdoors.dm +++ b/code/game/turfs/simulated/outdoors/outdoors.dm @@ -30,8 +30,8 @@ var/list/turf_edge_cache = list() /turf/simulated/floor/outdoors/proc/get_loot_type() if(loot_count && prob(60)) return pick( \ - 12;/obj/item/weapon/reagent_containers/food/snacks/worm, \ - 1;/obj/item/weapon/material/knife/machete/hatchet/stone \ + 12;/obj/item/reagent_containers/food/snacks/worm, \ + 1;/obj/item/material/knife/machete/hatchet/stone \ ) /turf/simulated/floor/outdoors/Initialize(mapload) @@ -41,35 +41,35 @@ var/list/turf_edge_cache = list() /turf/simulated/floor/outdoors/attackby(obj/item/C, mob/user) - if(can_dig && istype(C, /obj/item/weapon/shovel)) - var/obj/item/weapon/shovel/our_shovel = C + if(can_dig && istype(C, /obj/item/shovel)) + var/obj/item/shovel/our_shovel = C if(our_shovel.grave_mode) if(contents.len > 0) - to_chat(user, SPAN_WARNING("You can't dig here!")) + to_chat(user, span_warning("You can't dig here!")) return - to_chat(user, SPAN_NOTICE("\The [user] begins digging into \the [src] with \the [C].")) + to_chat(user, span_notice("\The [user] begins digging into \the [src] with \the [C].")) var/delay = (5 SECONDS * C.toolspeed) user.setClickCooldown(delay) if(do_after(user, delay, src)) new/obj/structure/closet/grave/dirthole(src) - to_chat(user, SPAN_NOTICE("You dug up \a hole!")) + to_chat(user, span_notice("You dug up \a hole!")) return else - to_chat(user, SPAN_NOTICE("\The [user] begins digging into \the [src] with \the [C].")) + to_chat(user, span_notice("\The [user] begins digging into \the [src] with \the [C].")) var/delay = (3 SECONDS * C.toolspeed) user.setClickCooldown(delay) if(do_after(user, delay, src)) if(!(locate(/obj/machinery/portable_atmospherics/hydroponics/soil) in contents)) var/obj/machinery/portable_atmospherics/hydroponics/soil/soil = new(src) - user.visible_message(SPAN_NOTICE("\The [src] digs \a [soil] into \the [src].")) + user.visible_message(span_notice("\The [src] digs \a [soil] into \the [src].")) else var/loot_type = get_loot_type() if(loot_type) loot_count-- var/obj/item/loot = new loot_type(src) - to_chat(user, SPAN_NOTICE("You dug up \a [loot]!")) + to_chat(user, span_notice("You dug up \a [loot]!")) else - to_chat(user, SPAN_NOTICE("You didn't find anything of note in \the [src].")) + to_chat(user, span_notice("You didn't find anything of note in \the [src].")) return . = ..() diff --git a/code/game/turfs/simulated/outdoors/snow.dm b/code/game/turfs/simulated/outdoors/snow.dm index 94933d75324..27847b64f03 100644 --- a/code/game/turfs/simulated/outdoors/snow.dm +++ b/code/game/turfs/simulated/outdoors/snow.dm @@ -28,15 +28,15 @@ for(var/d in crossed_dirs) add_overlay(image(icon = 'icons/turf/outdoors.dmi', icon_state = "snow_footprints", dir = text2num(d))) -/turf/simulated/floor/outdoors/snow/snow/attackby(var/obj/item/W, var/mob/user) - if(istype(W, /obj/item/weapon/shovel)) - to_chat(user, "You begin to remove \the [src] with your [W].") +/turf/simulated/floor/outdoors/snow/snow/attackby(var/obj/item/W, var/mob/user) // YW Edit -Radiant + if(istype(W, /obj/item/shovel)) + to_chat(user, span_notice("You begin to remove \the [src] with your [W].")) if(do_after(user, 4 SECONDS * W.toolspeed)) - to_chat(user, "\The [src] has been dug up, and now lies in a pile nearby.") + to_chat(user, span_notice("\The [src] has been dug up, and now lies in a pile nearby.")) new /obj/item/stack/material/snow(src, 10) demote() else - to_chat(user, "You decide to not finish removing \the [src].") + to_chat(user, span_notice("You decide to not finish removing \the [src].")) else ..() @@ -69,7 +69,7 @@ sleep(1 * world.tick_lag) if(istype(M, /mob/living)) if(M.stunned == 0) - to_chat(M, "You slide across the ice!") + to_chat(M, span_warning("You slide across the ice!")) M.SetStunned(1) step(M,M.dir) diff --git a/code/game/turfs/simulated/outdoors/survival_action_vr.dm b/code/game/turfs/simulated/outdoors/survival_action_vr.dm index 9f889594938..3e527ff13a7 100644 --- a/code/game/turfs/simulated/outdoors/survival_action_vr.dm +++ b/code/game/turfs/simulated/outdoors/survival_action_vr.dm @@ -16,7 +16,7 @@ var/static/list/has_rocks = list("dirt5", "dirt6", "dirt7", "dirt8", "dirt9") icon_state = "dirt0" return if(locate(/obj) in src) - to_chat(user, "The [name] isn't clear.") + to_chat(user, span_notice("The [name] isn't clear.")) return else var/choice= tgui_alert(user, "Do you want to build a growplot out of the dirt?", "Build growplot?" , list("Yes", "No")) @@ -31,22 +31,22 @@ var/static/list/has_rocks = list("dirt5", "dirt6", "dirt7", "dirt8", "dirt9") /turf/simulated/floor/outdoors/proc/rock_gathering(var/mob/user as mob) if(locate(/obj) in src) - to_chat(user, "The [name] isn't clear.") + to_chat(user, span_notice("The [name] isn't clear.")) return user.visible_message("[user] starts digging around in \the [src]...", "You start digging around in \the [src]...") if(do_after(user, 5 SECONDS, exclusive = TASK_USER_EXCLUSIVE)) if(prob(rock_chance)) var/obj/item/stack/material/flint/R = new(get_turf(src), rand(1,4)) - to_chat(user, "You found some [R]") + to_chat(user, span_notice("You found some [R]")) R.pixel_x = rand(-6,6) R.pixel_y = rand(-6,6) else - to_chat(user, "You didn't find anything...") + to_chat(user, span_notice("You didn't find anything...")) else return /turf/simulated/floor/outdoors/attackby(var/obj/item/O as obj, var/mob/user as mob) - if(istype(O, /obj/item/weapon/shovel) && rock_chance) + if(istype(O, /obj/item/shovel) && rock_chance) rock_gathering(user) else return ..() @@ -65,7 +65,7 @@ var/static/list/has_rocks = list("dirt5", "dirt6", "dirt7", "dirt8", "dirt9") if(Adjacent(user)) var/static/list/has_rocks = list("dirt5", "dirt6", "dirt7", "dirt8", "dirt9") if(icon_state in has_rocks) - . += "There are some rocks in the dirt." + . += span_notice("There are some rocks in the dirt.") /obj/structure/flora/tree var/sticks = TRUE @@ -79,4 +79,4 @@ var/static/list/has_rocks = list("dirt5", "dirt6", "dirt7", "dirt8", "dirt9") S.pixel_y = rand(-6,6) sticks = FALSE else - to_chat(user, "You don't see any loose sticks...") + to_chat(user, span_notice("You don't see any loose sticks...")) diff --git a/code/game/turfs/simulated/underwater.dm b/code/game/turfs/simulated/underwater.dm index ac98d36fc7e..3d67afef3f5 100644 --- a/code/game/turfs/simulated/underwater.dm +++ b/code/game/turfs/simulated/underwater.dm @@ -43,7 +43,7 @@ if(L.check_submerged() <= 0) return if(!istype(oldloc, /turf/simulated/floor/water/underwater)) - to_chat(L, "You get drenched in water from entering \the [src]!") + to_chat(L, span_warning("You get drenched in water from entering \the [src]!")) AM.water_act(5) ..() @@ -54,7 +54,7 @@ if(L.check_submerged() <= 0) return if(!istype(newloc, /turf/simulated/floor/water/underwater)) - to_chat(L, "You climb out of \the [src].") + to_chat(L, span_warning("You climb out of \the [src].")) ..() /turf/simulated/floor/water/deep/ocean/diving @@ -93,4 +93,3 @@ icon_state = "wood-broken0" // So it shows up in the map editor as water. water_icon = 'icons/turf/flooring/wood_vr.dmi' water_state = "wood-broken0" - diff --git a/code/game/turfs/simulated/wall_attacks.dm b/code/game/turfs/simulated/wall_attacks.dm index 3118aa5e03e..df6aa9320b6 100644 --- a/code/game/turfs/simulated/wall_attacks.dm +++ b/code/game/turfs/simulated/wall_attacks.dm @@ -17,7 +17,7 @@ src.blocks_air = 0 set_opacity(0) for(var/turf/simulated/turf in loc) - air_master.mark_for_update(turf) + SSair.mark_for_update(turf) else can_open = WALL_OPENING //flick("[material.icon_base]fwall_closing", src) @@ -29,18 +29,18 @@ src.blocks_air = 1 set_opacity(1) for(var/turf/simulated/turf in loc) - air_master.mark_for_update(turf) + SSair.mark_for_update(turf) can_open = WALL_CAN_OPEN update_icon() /turf/simulated/wall/proc/update_air() - if(!air_master) + if(!SSair) return for(var/turf/simulated/turf in loc) update_thermal(turf) - air_master.mark_for_update(turf) + SSair.mark_for_update(turf) /turf/simulated/wall/proc/update_thermal(var/turf/simulated/source) @@ -57,16 +57,16 @@ var/mob/living/simple_mob/S = user playsound(src, S.attack_sound, 75, 1) if(!(S.melee_damage_upper >= STRUCTURE_MIN_DAMAGE_THRESHOLD * 2)) - to_chat(user, "You bounce against the wall.") + to_chat(user, span_notice("You bounce against the wall.")) return FALSE damage_lower = S.melee_damage_lower damage_upper = S.melee_damage_upper - to_chat(user, "You smash against the wall!") + to_chat(user, span_danger("You smash against the wall!")) user.do_attack_animation(src) take_damage(rand(damage_lower,damage_upper)) /turf/simulated/wall/proc/success_smash(var/mob/user) - to_chat(user, "You smash through the wall!") + to_chat(user, span_danger("You smash through the wall!")) user.do_attack_animation(src) if(isanimal(user)) var/mob/living/simple_mob/S = user @@ -78,20 +78,27 @@ if(rotting) if(reinf_material) - to_chat(user, "\The [reinf_material.display_name] feels porous and crumbly.") + to_chat(user, span_danger("\The [reinf_material.display_name] feels porous and crumbly.")) else - to_chat(user, "\The [material.display_name] crumbles under your touch!") + to_chat(user, span_danger("\The [material.display_name] crumbles under your touch!")) dismantle_wall() return 1 if(!can_open) if(!material.wall_touch_special(src, user)) - to_chat(user, "You push the wall, but nothing happens.") + to_chat(user, span_notice("You push the wall, but nothing happens.")) playsound(src, 'sound/weapons/Genhit.ogg', 25, 1) else toggle_open(user) return 0 +/turf/simulated/wall/attack_ai(var/mob/user) + if(!Adjacent(user)) + return + if(!isrobot((user))) + return + var/rotting = (locate(/obj/effect/overlay/wallrot) in src) + try_touch(user, rotting) /turf/simulated/wall/attack_hand(var/mob/user) @@ -127,7 +134,7 @@ return success_smash(user) return fail_smash(user) -/turf/simulated/wall/attackby(var/obj/item/weapon/W, var/mob/user) +/turf/simulated/wall/attackby(var/obj/item/W, var/mob/user) user.setClickCooldown(user.get_attack_speed(W)) @@ -139,7 +146,7 @@ */ if (!user.IsAdvancedToolUser()) - to_chat(user, "You don't have the dexterity to do this!") + to_chat(user, span_warning("You don't have the dexterity to do this!")) return //get the user's location @@ -151,8 +158,8 @@ if(is_hot(W)) burn(is_hot(W)) - if(istype(W, /obj/item/device/electronic_assembly/wallmount)) - var/obj/item/device/electronic_assembly/wallmount/IC = W + if(istype(W, /obj/item/electronic_assembly/wallmount)) + var/obj/item/electronic_assembly/wallmount/IC = W IC.mount_assembly(src, user) return @@ -168,10 +175,10 @@ T.ReplaceWithLattice() T.ChangeTurf(/turf/simulated/floor, preserve_outdoors = TRUE) playsound(src, 'sound/weapons/Genhit.ogg', 50, 1) - user.visible_message("[user] patches a hole in the ceiling.", "You patch a hole in the ceiling.") + user.visible_message(span_notice("[user] patches a hole in the ceiling."), span_notice("You patch a hole in the ceiling.")) expended_tile = TRUE else - to_chat(user, "There aren't any holes in the ceiling to patch here.") + to_chat(user, span_warning("There aren't any holes in the ceiling to patch here.")) return // Create a ceiling to shield from the weather @@ -180,41 +187,41 @@ make_indoors() if(!expended_tile) // Would've already played a sound playsound(src, 'sound/weapons/Genhit.ogg', 50, 1) - user.visible_message("[user] roofs \the [src], shielding it from the elements.", "You roof \the [src] tile, shielding it from the elements.") + user.visible_message(span_notice("[user] roofs \the [src], shielding it from the elements."), span_notice("You roof \the [src] tile, shielding it from the elements.")) return if(locate(/obj/effect/overlay/wallrot) in src) if(W.has_tool_quality(TOOL_WELDER)) - var/obj/item/weapon/weldingtool/WT = W.get_welder() + var/obj/item/weldingtool/WT = W.get_welder() if( WT.remove_fuel(0,user) ) - to_chat(user, "You burn away the fungi with \the [WT].") + to_chat(user, span_notice("You burn away the fungi with \the [WT].")) playsound(src, WT.usesound, 10, 1) for(var/obj/effect/overlay/wallrot/WR in src) qdel(WR) return else if(!is_sharp(W) && W.force >= 10 || W.force >= 20) - to_chat(user, "\The [src] crumbles away under the force of your [W.name].") + to_chat(user, span_notice("\The [src] crumbles away under the force of your [W.name].")) src.dismantle_wall(1) return //THERMITE related stuff. Calls src.thermitemelt() which handles melting simulated walls and the relevant effects if(thermite) if(W.has_tool_quality(TOOL_WELDER)) - var/obj/item/weapon/weldingtool/WT = W.get_welder() + var/obj/item/weldingtool/WT = W.get_welder() if( WT.remove_fuel(0,user) ) thermitemelt(user) return - else if(istype(W, /obj/item/weapon/pickaxe/plasmacutter)) + else if(istype(W, /obj/item/pickaxe/plasmacutter)) thermitemelt(user) return - else if( istype(W, /obj/item/weapon/melee/energy/blade) ) - var/obj/item/weapon/melee/energy/blade/EB = W + else if( istype(W, /obj/item/melee/energy/blade) ) + var/obj/item/melee/energy/blade/EB = W EB.spark_system.start() - to_chat(user, "You slash \the [src] with \the [EB]; the thermite ignites!") + to_chat(user, span_notice("You slash \the [src] with \the [EB]; the thermite ignites!")) playsound(src, "sparks", 50, 1) playsound(src, 'sound/weapons/blade1.ogg', 50, 1) @@ -225,19 +232,19 @@ if(damage && W.has_tool_quality(TOOL_WELDER)) - var/obj/item/weapon/weldingtool/WT = W.get_welder() + var/obj/item/weldingtool/WT = W.get_welder() if(!WT.isOn()) return if(WT.remove_fuel(0,user)) - to_chat(user, "You start repairing the damage to [src].") + to_chat(user, span_notice("You start repairing the damage to [src].")) playsound(src, WT.usesound, 100, 1) if(do_after(user, max(5, damage / 5) * WT.toolspeed) && WT && WT.isOn()) - to_chat(user, "You finish repairing the damage to [src].") + to_chat(user, span_notice("You finish repairing the damage to [src].")) take_damage(-damage) else - to_chat(user, "You need more welding fuel to complete this task.") + to_chat(user, span_notice("You need more welding fuel to complete this task.")) return user.update_examine_panel(src) return @@ -251,29 +258,29 @@ var/dismantle_sound if(W.has_tool_quality(TOOL_WELDER)) - var/obj/item/weapon/weldingtool/WT = W.get_welder() + var/obj/item/weldingtool/WT = W.get_welder() if(!WT.isOn()) return if(!WT.remove_fuel(0,user)) - to_chat(user, "You need more welding fuel to complete this task.") + to_chat(user, span_notice("You need more welding fuel to complete this task.")) return dismantle_verb = "cutting" dismantle_sound = W.usesound // cut_delay *= 0.7 // Tools themselves now can shorten the time it takes. - else if(istype(W,/obj/item/weapon/melee/energy/blade)) + else if(istype(W,/obj/item/melee/energy/blade)) dismantle_sound = "sparks" dismantle_verb = "slicing" //dismantle_toolspeed = 1 cut_delay *= 0.5 - else if(istype(W,/obj/item/weapon/pickaxe)) - var/obj/item/weapon/pickaxe/P = W + else if(istype(W,/obj/item/pickaxe)) + var/obj/item/pickaxe/P = W dismantle_verb = P.drill_verb dismantle_sound = P.drill_sound cut_delay -= P.digspeed if(dismantle_verb) - to_chat(user, "You begin [dismantle_verb] through the outer plating.") + to_chat(user, span_notice("You begin [dismantle_verb] through the outer plating.")) if(dismantle_sound) playsound(src, dismantle_sound, 100, 1) @@ -283,9 +290,9 @@ if(!do_after(user,cut_delay * W.toolspeed)) return - to_chat(user, "You remove the outer plating.") + to_chat(user, span_notice("You remove the outer plating.")) dismantle_wall() - user.visible_message("The wall was torn open by [user]!") + user.visible_message(span_warning("The wall was torn open by [user]!")) return //Reinforced dismantling. @@ -296,111 +303,111 @@ playsound(src, W.usesound, 100, 1) construction_stage = 5 user.update_examine_panel(src) - to_chat(user, "You cut through the outer grille.") + to_chat(user, span_notice("You cut through the outer grille.")) update_icon() return if(5) if (W.has_tool_quality(TOOL_SCREWDRIVER)) - to_chat(user, "You begin removing the support lines.") + to_chat(user, span_notice("You begin removing the support lines.")) playsound(src, W.usesound, 100, 1) if(!do_after(user,40 * W.toolspeed) || !istype(src, /turf/simulated/wall) || construction_stage != 5) return construction_stage = 4 user.update_examine_panel(src) update_icon() - to_chat(user, "You unscrew the support lines.") + to_chat(user, span_notice("You unscrew the support lines.")) return else if (W.has_tool_quality(TOOL_WIRECUTTER)) construction_stage = 6 user.update_examine_panel(src) - to_chat(user, "You mend the outer grille.") + to_chat(user, span_notice("You mend the outer grille.")) playsound(src, W.usesound, 100, 1) update_icon() return if(4) var/cut_cover if(W.has_tool_quality(TOOL_WELDER)) - var/obj/item/weapon/weldingtool/WT = W.get_welder() + var/obj/item/weldingtool/WT = W.get_welder() if(!WT.isOn()) return if(WT.remove_fuel(0,user)) cut_cover=1 else - to_chat(user, "You need more welding fuel to complete this task.") + to_chat(user, span_notice("You need more welding fuel to complete this task.")) return - else if (istype(W, /obj/item/weapon/pickaxe/plasmacutter)) + else if (istype(W, /obj/item/pickaxe/plasmacutter)) cut_cover = 1 if(cut_cover) - to_chat(user, "You begin slicing through the metal cover.") + to_chat(user, span_notice("You begin slicing through the metal cover.")) playsound(src, W.usesound, 100, 1) if(!do_after(user, 60 * W.toolspeed) || !istype(src, /turf/simulated/wall) || construction_stage != 4) return construction_stage = 3 user.update_examine_panel(src) update_icon() - to_chat(user, "You press firmly on the cover, dislodging it.") + to_chat(user, span_notice("You press firmly on the cover, dislodging it.")) return else if (W.has_tool_quality(TOOL_SCREWDRIVER)) - to_chat(user, "You begin screwing down the support lines.") + to_chat(user, span_notice("You begin screwing down the support lines.")) playsound(src, W.usesound, 100, 1) if(!do_after(user,40 * W.toolspeed) || !istype(src, /turf/simulated/wall) || construction_stage != 4) return construction_stage = 5 user.update_examine_panel(src) update_icon() - to_chat(user, "You screw down the support lines.") + to_chat(user, span_notice("You screw down the support lines.")) return if(3) if (W.has_tool_quality(TOOL_CROWBAR)) - to_chat(user, "You struggle to pry off the cover.") + to_chat(user, span_notice("You struggle to pry off the cover.")) playsound(src, W.usesound, 100, 1) if(!do_after(user,100 * W.toolspeed) || !istype(src, /turf/simulated/wall) || construction_stage != 3) return construction_stage = 2 user.update_examine_panel(src) update_icon() - to_chat(user, "You pry off the cover.") + to_chat(user, span_notice("You pry off the cover.")) return if(2) if (W.has_tool_quality(TOOL_WRENCH)) - to_chat(user, "You start loosening the anchoring bolts which secure the support rods to their frame.") + to_chat(user, span_notice("You start loosening the anchoring bolts which secure the support rods to their frame.")) playsound(src, W.usesound, 100, 1) if(!do_after(user,40 * W.toolspeed) || !istype(src, /turf/simulated/wall) || construction_stage != 2) return construction_stage = 1 user.update_examine_panel(src) update_icon() - to_chat(user, "You remove the bolts anchoring the support rods.") + to_chat(user, span_notice("You remove the bolts anchoring the support rods.")) return if(1) var/cut_cover if(W.has_tool_quality(TOOL_WELDER)) - var/obj/item/weapon/weldingtool/WT = W.get_welder() + var/obj/item/weldingtool/WT = W.get_welder() if( WT.remove_fuel(0,user) ) cut_cover=1 else - to_chat(user, "You need more welding fuel to complete this task.") + to_chat(user, span_notice("You need more welding fuel to complete this task.")) return - else if(istype(W, /obj/item/weapon/pickaxe/plasmacutter)) + else if(istype(W, /obj/item/pickaxe/plasmacutter)) cut_cover = 1 if(cut_cover) - to_chat(user, "You begin slicing through the support rods.") + to_chat(user, span_notice("You begin slicing through the support rods.")) playsound(src, W.usesound, 100, 1) if(!do_after(user,70 * W.toolspeed) || !istype(src, /turf/simulated/wall) || construction_stage != 1) return construction_stage = 0 user.update_examine_panel(src) update_icon() - to_chat(user, "You slice through the support rods.") + to_chat(user, span_notice("You slice through the support rods.")) return if(0) if(W.has_tool_quality(TOOL_CROWBAR)) - to_chat(user, "You struggle to pry off the outer sheath.") + to_chat(user, span_notice("You struggle to pry off the outer sheath.")) playsound(src, W.usesound, 100, 1) if(!do_after(user,100 * W.toolspeed) || !istype(src, /turf/simulated/wall) || !user || !W || !T ) return if(user.loc == T && user.get_active_hand() == W ) - to_chat(user, "You pry off the outer sheath.") + to_chat(user, span_notice("You pry off the outer sheath.")) dismantle_wall() return @@ -409,7 +416,5 @@ F.try_build(src, user) return - else if(!istype(W,/obj/item/weapon/rcd) && !istype(W, /obj/item/weapon/reagent_containers)) + else if(!istype(W,/obj/item/rcd) && !istype(W, /obj/item/reagent_containers)) return attack_hand(user) - - diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index 96971a1bb20..571632b9dda 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -80,7 +80,7 @@ damage = new_damage Proj.damage = outgoing_damage - visible_message("\The [src] reflects \the [Proj]!") + visible_message(span_danger("\The [src] reflects \the [Proj]!")) // Find a turf near or on the original location to bounce to var/new_x = Proj.starting.x + pick(0, 0, 0, -1, 1, -2, 2) @@ -127,18 +127,18 @@ . = ..() if(!damage) - . += "It looks fully intact." + . += span_notice("It looks fully intact.") else var/dam = damage / material.integrity if(dam <= 0.3) - . += "It looks slightly damaged." + . += span_warning("It looks slightly damaged.") else if(dam <= 0.6) - . += "It looks moderately damaged." + . += span_warning("It looks moderately damaged.") else - . += "It looks heavily damaged." + . += span_danger("It looks heavily damaged.") if(locate(/obj/effect/overlay/wallrot) in src) - . += "There is fungus growing on [src]." + . += span_warning("There is fungus growing on [src].") //Damage @@ -154,7 +154,7 @@ return F.burn_tile() F.icon_state = "wall_thermite" - visible_message("\The [src] spontaneously combusts!.") //!!OH SHIT!! + visible_message(span_danger("\The [src] spontaneously combusts!.")) //!!OH SHIT!! return /turf/simulated/wall/take_damage(dam) @@ -281,7 +281,7 @@ var/turf/simulated/floor/F = src F.burn_tile() F.icon_state = "dmg[rand(1,4)]" - to_chat(user, "The thermite starts melting through the wall.") + to_chat(user, span_warning("The thermite starts melting through the wall.")) spawn(100) if(O) @@ -310,7 +310,7 @@ /turf/simulated/wall/can_engrave() return (material && material.hardness >= 10 && material.hardness <= 100) -/turf/simulated/wall/rcd_values(mob/living/user, obj/item/weapon/rcd/the_rcd, passed_mode) +/turf/simulated/wall/rcd_values(mob/living/user, obj/item/rcd/the_rcd, passed_mode) if(material.integrity > 1000) // Don't decon things like elevatorium. return FALSE if(reinf_material && !the_rcd.can_remove_rwalls) // Gotta do it the old fashioned way if your RCD can't. @@ -327,9 +327,9 @@ ) return FALSE -/turf/simulated/wall/rcd_act(mob/living/user, obj/item/weapon/rcd/the_rcd, passed_mode) +/turf/simulated/wall/rcd_act(mob/living/user, obj/item/rcd/the_rcd, passed_mode) if(passed_mode == RCD_DECONSTRUCT) - to_chat(user, span("notice", "You deconstruct \the [src].")) + to_chat(user, span_notice("You deconstruct \the [src].")) ChangeTurf(/turf/simulated/floor/airless, preserve_outdoors = TRUE) return TRUE return FALSE diff --git a/code/game/turfs/simulated/water.dm b/code/game/turfs/simulated/water.dm index 56a8f07710c..a2e709cd5b1 100644 --- a/code/game/turfs/simulated/water.dm +++ b/code/game/turfs/simulated/water.dm @@ -39,15 +39,15 @@ return "water_shallow" /turf/simulated/floor/water/attackby(obj/item/O as obj, mob/user as mob) - var/obj/item/weapon/reagent_containers/RG = O + var/obj/item/reagent_containers/RG = O if (istype(RG) && RG.is_open_container()) RG.reagents.add_reagent(reagent_type, min(RG.volume - RG.reagents.total_volume, RG.amount_per_transfer_from_this)) - user.visible_message("[user] fills \the [RG] using \the [src].","You fill \the [RG] using \the [src].") + user.visible_message(span_notice("[user] fills \the [RG] using \the [src]."),span_notice("You fill \the [RG] using \the [src].")) return 1 - else if(istype(O, /obj/item/weapon/mop)) + else if(istype(O, /obj/item/mop)) O.reagents.add_reagent(reagent_type, 5) - to_chat(user, "You wet \the [O] in \the [src].") + to_chat(user, span_notice("You wet \the [O] in \the [src].")) playsound(src, 'sound/effects/slosh.ogg', 25, 1) return 1 @@ -73,9 +73,9 @@ water_breath.adjust_gas(gasid, BREATH_MOLES) // They have no oxygen, but non-zero moles and temp water_breath.temperature = above_air.temperature return water_breath - if(L && L.is_bad_swimmer() && depth >= 2 && !L.buckled()) + if(L && L.is_bad_swimmer() && depth >= 2 && !L.buckled() && !L.flying) if(prob(10)) - L.visible_message("[L] splashes wildly.","You struggle to keep your head above the water!") + L.visible_message(span_notice("[L] splashes wildly."),span_warning("You struggle to keep your head above the water!")) if(L.can_breathe_water()) var/datum/gas_mixture/water_breath = new() var/datum/gas_mixture/above_air = return_air() @@ -103,7 +103,7 @@ if(L.check_submerged() <= 0) return if(!istype(oldloc, /turf/simulated/floor/water)) - to_chat(L, "You get drenched in water from entering \the [src]!") + to_chat(L, span_warning("You get drenched in water from entering \the [src]!")) AM.water_act(5) ..() @@ -114,7 +114,7 @@ if(L.check_submerged() <= 0) return if(!istype(newloc, /turf/simulated/floor/water)) - to_chat(L, "You climb out of \the [src].") + to_chat(L, span_warning("You climb out of \the [src].")) ..() /turf/simulated/floor/water/deep @@ -267,7 +267,7 @@ var/list/shoreline_icon_cache = list() if(L.check_submerged() <= 0) return if(!istype(oldloc, /turf/simulated/floor/water)) - to_chat(L, "You get drenched in blood from entering \the [src]!") + to_chat(L, span_warning("You get drenched in blood from entering \the [src]!")) AM.water_act(5) ..() @@ -280,4 +280,3 @@ var/list/shoreline_icon_cache = list() water_state = "water" under_state = "glamour" reagent_type = "water" - diff --git a/code/game/turfs/space/space.dm b/code/game/turfs/space/space.dm index 60634ecc5dd..400e0d405de 100644 --- a/code/game/turfs/space/space.dm +++ b/code/game/turfs/space/space.dm @@ -13,7 +13,7 @@ var/forced_dirs = 0 //Force this one to pretend it's an overedge turf /turf/space/Initialize() - if(config.starlight) + if(CONFIG_GET(flag/starlight)) update_starlight() //Sprite stuff only beyond here @@ -75,7 +75,7 @@ /turf/space/proc/update_starlight() if(locate(/turf/simulated) in orange(src,1)) - set_light(config.starlight) + set_light(CONFIG_GET(flag/starlight)) else set_light(0) @@ -88,7 +88,7 @@ return var/obj/item/stack/rods/R = C if (R.use(1)) - to_chat(user, "Constructing support lattice ...") + to_chat(user, span_notice("Constructing support lattice ...")) playsound(src, 'sound/weapons/Genhit.ogg', 50, 1) ReplaceWithLattice() return @@ -105,7 +105,7 @@ ChangeTurf(/turf/simulated/floor/airless) return else - to_chat(user, "The plating is going to need some support.") + to_chat(user, span_warning("The plating is going to need some support.")) if(istype(C, /obj/item/stack/tile/roofing)) var/turf/T = GetAbove(src) @@ -119,16 +119,16 @@ if(!A) A = locate(/turf/simulated/wall) in T.CardinalTurfs() if(!A) - to_chat(user, "There's nothing to attach the ceiling to!") + to_chat(user, span_warning("There's nothing to attach the ceiling to!")) return if(R.use(1)) // Cost of roofing tiles is 1:1 with cost to place lattice and plating T.ReplaceWithLattice() T.ChangeTurf(/turf/simulated/floor) playsound(src, 'sound/weapons/Genhit.ogg', 50, 1) - user.visible_message("[user] expands the ceiling.", "You expand the ceiling.") + user.visible_message(span_notice("[user] expands the ceiling."), span_notice("You expand the ceiling.")) else - to_chat(user, "There aren't any holes in the ceiling to patch here.") + to_chat(user, span_warning("There aren't any holes in the ceiling to patch here.")) return // Space shouldn't have weather of the sort planets with atmospheres do. // If that's changed, then you'll want to swipe the rest of the roofing code from code/game/turfs/simulated/floor_attackby.dm diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 2b601144ac9..a44d9152774 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -109,15 +109,15 @@ step(user.pulling, get_dir(user.pulling.loc, src)) return 1 -/turf/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W, /obj/item/weapon/storage)) - var/obj/item/weapon/storage/S = W +/turf/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W, /obj/item/storage)) + var/obj/item/storage/S = W if(S.use_to_pickup && S.collection_mode) S.gather_all(src, user) return ..() // Hits a mob on the tile. -/turf/proc/attack_tile(obj/item/weapon/W, mob/living/user) +/turf/proc/attack_tile(obj/item/W, mob/living/user) if(!istype(W)) return FALSE @@ -140,14 +140,14 @@ user.do_attack_animation(src, no_attack_icons = TRUE) if(!success) // Nothing got hit. - user.visible_message("\The [user] swipes \the [W] over \the [src].") + user.visible_message(span_warning("\The [user] swipes \the [W] over \the [src].")) playsound(src, 'sound/weapons/punchmiss.ogg', 25, 1, -1) return success /turf/MouseDrop_T(atom/movable/O as mob|obj, mob/user as mob) var/turf/T = get_turf(user) var/area/A = T.loc - if((istype(A) && !(A.has_gravity)) || (istype(T,/turf/space))) + if((istype(A) && !(A.get_gravity())) || (istype(T,/turf/space))) return if(istype(O, /obj/screen)) return @@ -182,9 +182,6 @@ //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) - if(movement_disabled && usr.ckey != movement_disabled_exception) - to_chat(usr, "Movement is admin-disabled.") //This is to identify lag problems - return // 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 @@ -293,7 +290,7 @@ if(istype(O,/obj/effect/rune) || istype(O,/obj/effect/decal/cleanable) || istype(O,/obj/effect/overlay)) qdel(O) else - to_chat(user, "\The [source] is too dry to wash that.") + to_chat(user, span_warning("\The [source] is too dry to wash that.")) source.reagents.trans_to_turf(src, 1, 10) //10 is the multiplier for the reaction effect. probably needed to wet the floor properly. /turf/proc/update_blood_overlays() @@ -302,7 +299,7 @@ // Called when turf is hit by a thrown object /turf/hitby(atom/movable/AM as mob|obj, var/speed) if(density) - if(!has_gravity(AM)) //Checked a different codebase for reference. Turns out it's only supposed to happen in no-gravity + if(!get_gravity(AM)) //Checked a different codebase for reference. Turns out it's only supposed to happen in no-gravity spawn(2) step(AM, turn(AM.last_move, 180)) //This makes it float away after hitting a wall in 0G if(isliving(AM)) @@ -320,36 +317,36 @@ if(!tool || !tool.sharp || !can_engrave()) return FALSE - if(jobban_isbanned(vandal, "Graffiti")) - to_chat(vandal, SPAN_WARNING("You are banned from leaving persistent information across rounds.")) + if(jobban_isbanned(vandal, JOB_GRAFFITI)) + to_chat(vandal, span_warning("You are banned from leaving persistent information across rounds.")) return var/too_much_graffiti = 0 for(var/obj/effect/decal/writing/W in src) too_much_graffiti++ if(too_much_graffiti >= 5) - to_chat(vandal, "There's too much graffiti here to add more.") + to_chat(vandal, span_warning("There's too much graffiti here to add more.")) return FALSE - var/message = sanitize(tgui_input_text(usr, "Enter a message to engrave.", "Graffiti"), trim = TRUE) + var/message = sanitize(tgui_input_text(vandal, "Enter a message to engrave.", "Graffiti"), trim = TRUE) if(!message) return FALSE if(!vandal || vandal.incapacitated() || !Adjacent(vandal) || !tool.loc == vandal) return FALSE - vandal.visible_message("\The [vandal] begins carving something into \the [src].") + vandal.visible_message(span_warning("\The [vandal] begins carving something into \the [src].")) if(!do_after(vandal, max(20, length(message)), src)) return FALSE - vandal.visible_message("\The [vandal] carves some graffiti into \the [src].") + vandal.visible_message(span_danger("\The [vandal] carves some graffiti into \the [src].")) var/obj/effect/decal/writing/graffiti = new(src) graffiti.message = message graffiti.author = vandal.ckey if(lowertext(message) == "elbereth") - to_chat(vandal, "You feel much safer.") + to_chat(vandal, span_notice("You feel much safer.")) return TRUE @@ -380,7 +377,7 @@ // This is all the way up here since its the common ancestor for things that need to get replaced with a floor when an RCD is used on them. // More specialized turfs like walls should instead override this. // The code for applying lattices/floor tiles onto lattices could also utilize something similar in the future. -/turf/rcd_values(mob/living/user, obj/item/weapon/rcd/the_rcd, passed_mode) +/turf/rcd_values(mob/living/user, obj/item/rcd/the_rcd, passed_mode) if(density || !can_build_into_floor) return FALSE if(passed_mode == RCD_FLOORWALL) @@ -395,9 +392,9 @@ ) return FALSE -/turf/rcd_act(mob/living/user, obj/item/weapon/rcd/the_rcd, passed_mode) +/turf/rcd_act(mob/living/user, obj/item/rcd/the_rcd, passed_mode) if(passed_mode == RCD_FLOORWALL) - to_chat(user, span("notice", "You build a floor.")) + to_chat(user, span_notice("You build a floor.")) ChangeTurf(/turf/simulated/floor/airless, preserve_outdoors = TRUE) return TRUE return FALSE diff --git a/code/game/turfs/turf_changing.dm b/code/game/turfs/turf_changing.dm index 72cb432e1bc..54027edb899 100644 --- a/code/game/turfs/turf_changing.dm +++ b/code/game/turfs/turf_changing.dm @@ -21,6 +21,11 @@ if(istype(below)) below.update_icon() // To add or remove the 'ceiling-less' overlay. +/proc/has_valid_ZAS_zone(turf/simulated/T) + if(!istype(T)) + return FALSE + return HAS_VALID_ZONE(T) + //Creates a new turf /turf/proc/ChangeTurf(var/turf/N, var/tell_universe=1, var/force_lighting_update = 0, var/preserve_outdoors = FALSE) if (!N) @@ -28,7 +33,8 @@ if(N == /turf/space) var/turf/below = GetBelow(src) - if(istype(below) && (air_master.has_valid_zone(below) || air_master.has_valid_zone(src)) && !(src.z in using_map.below_blocked_levels) && (!istype(below, /turf/unsimulated/wall) && !istype(below, /turf/simulated/sky))) // VOREStation Edit: Weird open space + var/zones_present = has_valid_ZAS_zone(below) || has_valid_ZAS_zone(src) + if(istype(below) && zones_present && !(src.z in using_map.below_blocked_levels) && (!istype(below, /turf/unsimulated/wall) && !istype(below, /turf/simulated/sky))) // VOREStation Edit: Weird open space N = /turf/simulated/open var/obj/fire/old_fire = fire @@ -75,8 +81,8 @@ if(tell_universe) universe.OnTurfChange(W) - if(air_master) - air_master.mark_for_update(W) + if(SSair) + SSair.mark_for_update(W) for(var/turf/space/S in range(W, 1)) S.update_starlight() diff --git a/code/game/turfs/unsimulated.dm b/code/game/turfs/unsimulated.dm index f9bfd4102b6..175051b1369 100644 --- a/code/game/turfs/unsimulated.dm +++ b/code/game/turfs/unsimulated.dm @@ -25,8 +25,8 @@ //VOREStation Add End // Better nip this just in case. -/turf/unsimulated/rcd_values(mob/living/user, obj/item/weapon/rcd/the_rcd, passed_mode) +/turf/unsimulated/rcd_values(mob/living/user, obj/item/rcd/the_rcd, passed_mode) return FALSE -/turf/unsimulated/rcd_act(mob/living/user, obj/item/weapon/rcd/the_rcd, passed_mode) +/turf/unsimulated/rcd_act(mob/living/user, obj/item/rcd/the_rcd, passed_mode) return FALSE diff --git a/code/game/turfs/unsimulated/planetary.dm b/code/game/turfs/unsimulated/planetary.dm index c6be94c5ed0..d73201c1661 100644 --- a/code/game/turfs/unsimulated/planetary.dm +++ b/code/game/turfs/unsimulated/planetary.dm @@ -33,7 +33,7 @@ // Force ZAS to reconsider our connections because our temperature has changed if(connections) connections.erase_all() - air_master.mark_for_update(src) + SSair.mark_for_update(src) // Normal station/earth air. /turf/unsimulated/wall/planetary/normal @@ -67,4 +67,3 @@ oxygen = MOLES_O2STANDARD nitrogen = MOLES_N2STANDARD temperature = 310.92 // About 37.7C / 100F - diff --git a/code/game/turfs/weird_turfs_vr.dm b/code/game/turfs/weird_turfs_vr.dm index 9a6bad3973a..f46006c4011 100644 --- a/code/game/turfs/weird_turfs_vr.dm +++ b/code/game/turfs/weird_turfs_vr.dm @@ -24,17 +24,17 @@ if(istype(L.species, /datum/species/crew_shadekin)) L.halloss += 5 if(prob(50)) - to_chat(L, "The more you move through this darkness, the more you can feel a throbbing, shooting ache in your bones.") + to_chat(L, span_danger("The more you move through this darkness, the more you can feel a throbbing, shooting ache in your bones.")) if(prob(5)) L.visible_message("[L]'s body gives off a faint, sparking, haze...", "Your body gives off a faint, sparking, haze...", runemessage = "gives off a faint, sparking haze") else if(istype(L.species, /datum/species/shadekin)) var/obj/item/organ/internal/brain/shadekin/B = L.internal_organs_by_name["brain"] B.dark_energy += 10 if(prob(10)) - to_chat(L, "You can feel the energy flowing into you!") + to_chat(L, span_notice("You can feel the energy flowing into you!")) else if(prob(0.25)) - to_chat(L, "The darkness seethes under your feet...") + to_chat(L, span_danger("The darkness seethes under your feet...")) L.hallucination += 50 /turf/simulated/floor/weird_things/dark/proc/add_glow() @@ -83,17 +83,17 @@ if(istype(L.species, /datum/species/crew_shadekin)) L.halloss += 5 if(prob(50)) - to_chat(L, "The more you move through this darkness, the more you can feel a throbbing, shooting ache in your bones.") + to_chat(L, span_danger("The more you move through this darkness, the more you can feel a throbbing, shooting ache in your bones.")) if(prob(5)) L.visible_message("[L]'s body gives off a faint, sparking, haze...", "Your body gives off a faint, sparking, haze...", runemessage = "gives off a faint, sparking haze") else if(istype(L.species, /datum/species/shadekin)) var/obj/item/organ/internal/brain/shadekin/B = L.internal_organs_by_name["brain"] B.dark_energy += 10 if(prob(10)) - to_chat(L, "You can feel the energy flowing into you!") + to_chat(L, span_notice("You can feel the energy flowing into you!")) else if(prob(0.25)) - to_chat(L, "The darkness seethes under your feet...") + to_chat(L, span_danger("The darkness seethes under your feet...")) L.hallucination += 50 /turf/unsimulated/floor/dark/proc/add_glow() @@ -113,4 +113,4 @@ if(flip == 2) choiceb = "overlay-[rand(1,6)]" var/image/ii = image('icons/turf/flooring/weird_vr.dmi', choiceb) - add_overlay(ii) \ No newline at end of file + add_overlay(ii) diff --git a/code/game/vehicles/vehicle.dm b/code/game/vehicles/vehicle.dm index 9b00a557684..1ce4a71c24b 100644 --- a/code/game/vehicles/vehicle.dm +++ b/code/game/vehicles/vehicle.dm @@ -16,7 +16,7 @@ //var/deflect_chance = 10 //chance to deflect the incoming projectiles, hits, or lesser the effect of ex_act. //the values in this list show how much damage will pass through, not how much will be absorbed. var/list/damage_absorption = list("brute"=0.8,"fire"=1.2,"bullet"=0.9,"laser"=1,"energy"=1,"bomb"=1) - var/obj/item/weapon/cell/cell //Our power source + var/obj/item/cell/cell //Our power source var/state = 0 var/list/log = new var/last_message = 0 @@ -35,7 +35,7 @@ //var/datum/gas_mixture/cabin_air //var/obj/machinery/atmospherics/portables_connector/connected_port = null - var/obj/item/device/radio/radio = null + var/obj/item/radio/radio = null var/max_temperature = 2500 //var/internal_damage_threshold = 50 //health percentage below which internal damage is possible @@ -69,17 +69,17 @@ /obj/vehicle/proc/removeVerb(verb_path) - verbs -= verb_path + src.verbs -= verb_path /obj/vehicle/proc/addVerb(verb_path) - verbs += verb_path + src.verbs += verb_path -/obj/vehicle/proc/add_cell(var/obj/item/weapon/cell/C=null) +/obj/vehicle/proc/add_cell(var/obj/item/cell/C=null) if(C) C.forceMove(src) cell = C return - cell = new /obj/item/weapon/cell/mech(src) + cell = new /obj/item/cell/mech(src) /obj/vehicle/proc/add_radio() radio = new(src) diff --git a/code/game/verbs/suicide.dm b/code/game/verbs/suicide.dm index 3fabc757682..ddb06b6f776 100644 --- a/code/game/verbs/suicide.dm +++ b/code/game/verbs/suicide.dm @@ -3,5 +3,5 @@ /mob/living/verb/suicide() set hidden = 1 - to_chat(src, "No. Adminhelp if there is a legitimate reason, and please review our server rules.") + to_chat(src, span_warning("No. Adminhelp if there is a legitimate reason, and please review our server rules.")) message_admins("[ckey] has tried to trigger the suicide verb, but it is disabled.") diff --git a/code/game/world.dm b/code/game/world.dm index 3c40edb35e9..a1138c7e7ba 100644 --- a/code/game/world.dm +++ b/code/game/world.dm @@ -1,19 +1,5 @@ -/proc/prof_init() - var/lib - - switch(world.system_type) - if(MS_WINDOWS) lib = "prof.dll" - if(UNIX) lib = "libprof.so" - else CRASH("unsupported platform") - - var/init = LIBCALL(lib, "init")() - if("0" != init) CRASH("[lib] init error: [init]") - #define RECOMMENDED_VERSION 513 /world/New() - #ifdef TRACY - prof_init() - #endif world_startup_time = world.timeofday rollover_safety_date = world.realtime - world.timeofday // 00:00 today (ish, since floating point error with world.realtime) of today to_world_log("Map Loading Complete") @@ -32,16 +18,21 @@ to_world_log("Your server's byond version does not meet the recommended requirements for this server. Please update BYOND") TgsNew() - VgsNew() // VOREStation Edit - VGS - config.post_load() + config.Load(params[OVERRIDE_CONFIG_DIRECTORY_PARAMETER]) + + ConfigLoaded() + makeDatumRefLists() + VgsNew() - if(config && config.server_name != null && config.server_suffix && world.port > 0) + var servername = CONFIG_GET(string/servername) + if(config && servername != null && CONFIG_GET(flag/server_suffix) && world.port > 0) // dumb and hardcoded but I don't care~ - config.server_name += " #[(world.port % 1000) / 100]" + servername += " #[(world.port % 1000) / 100]" + CONFIG_SET(string/servername, servername) // TODO - Figure out what this is. Can you assign to world.log? - // if(config && config.log_runtime) + // if(config && CONFIG_FLAG(flag/log_runtime)) // log = file("data/logs/runtime/[time2text(world.realtime,"YYYY-MM-DD-(hh-mm-ss)")]-runtime.log") GLOB.timezoneOffset = get_timezone_offset() @@ -56,7 +47,7 @@ . = ..() -#if UNIT_TEST +#ifdef UNIT_TEST log_unit_test("Unit Tests Enabled. This will destroy the world when testing is complete.") log_unit_test("If you did not intend to enable this please check code/__defines/unit_testing.dm") #endif @@ -78,18 +69,34 @@ spawn(1) master_controller.setup() -#if UNIT_TEST +#ifdef UNIT_TEST initialize_unit_tests() #endif spawn(3000) //so we aren't adding to the round-start lag - if(config.ToRban) + if(CONFIG_GET(flag/ToRban)) ToRban_autoupdate() #undef RECOMMENDED_VERSION return +/// Runs after config is loaded but before Master is initialized +/world/proc/ConfigLoaded() + // Everything in here is prioritized in a very specific way. + // If you need to add to it, ask yourself hard if what your adding is in the right spot + // (i.e. basically nothing should be added before load_admins() in here) + + // Try to set round ID + //SSdbcore.InitializeRound() TODO: Implement roundid on database subsystem and uncomment + + //apply a default value to config.python_path, if needed + if (!CONFIG_GET(string/python_path)) + if(world.system_type == UNIX) + CONFIG_SET(string/python_path, "/usr/bin/env python2") + else //probably windows, if not this should work anyway + CONFIG_SET(string/python_path, "python") + var/world_topic_spam_protect_ip = "0.0.0.0" var/world_topic_spam_protect_time = world.timeofday @@ -116,11 +123,11 @@ var/world_topic_spam_protect_time = world.timeofday var/list/s = list() s["version"] = game_version s["mode"] = master_mode - s["respawn"] = config.abandon_allowed - s["persistance"] = config.persistence_disabled - s["enter"] = config.enter_allowed - s["vote"] = config.allow_vote_mode - s["ai"] = config.allow_ai + s["respawn"] = CONFIG_GET(flag/abandon_allowed) + s["persistance"] = CONFIG_GET(flag/persistence_disabled) + s["enter"] = CONFIG_GET(flag/enter_allowed) + s["vote"] = CONFIG_GET(flag/allow_vote_mode) + s["ai"] = CONFIG_GET(flag/allow_ai) s["host"] = host ? host : null // This is dumb, but spacestation13.com's banners break if player count isn't the 8th field of the reply, so... this has to go here. @@ -238,7 +245,7 @@ var/world_topic_spam_protect_time = world.timeofday else if(copytext(T,1,5) == "info") var/input[] = params2list(T) - if(input["key"] != config.comms_password) + if(input["key"] != CONFIG_GET(string/comms_password)) if(world_topic_spam_protect_ip == addr && abs(world_topic_spam_protect_time - world.time) < 50) spawn(50) @@ -325,7 +332,7 @@ var/world_topic_spam_protect_time = world.timeofday var/input[] = params2list(T) - if(input["key"] != config.comms_password) + if(input["key"] != CONFIG_GET(string/comms_password)) if(world_topic_spam_protect_ip == addr && abs(world_topic_spam_protect_time - world.time) < 50) spawn(50) @@ -375,7 +382,7 @@ var/world_topic_spam_protect_time = world.timeofday 2. validationkey = the key the bot has, it should match the gameservers commspassword in it's configuration. */ var/input[] = params2list(T) - if(input["key"] != config.comms_password) + if(input["key"] != CONFIG_GET(string/comms_password)) if(world_topic_spam_protect_ip == addr && abs(world_topic_spam_protect_time - world.time) < 50) spawn(50) @@ -390,7 +397,7 @@ var/world_topic_spam_protect_time = world.timeofday else if(copytext(T,1,4) == "age") var/input[] = params2list(T) - if(input["key"] != config.comms_password) + if(input["key"] != CONFIG_GET(string/comms_password)) if(world_topic_spam_protect_ip == addr && abs(world_topic_spam_protect_time - world.time) < 50) spawn(50) world_topic_spam_protect_time = world.time @@ -419,15 +426,15 @@ var/world_topic_spam_protect_time = world.timeofday if (usr) log_admin("[key_name(usr)] Has requested an immediate world restart via client side debugging tools") message_admins("[key_name_admin(usr)] Has requested an immediate world restart via client side debugging tools") - to_world("[key_name_admin(usr)] has requested an immediate world restart via client side debugging tools") + to_world(span_boldannounce("[key_name_admin(usr)] has requested an immediate world restart via client side debugging tools")) else - to_world("Rebooting world immediately due to host request") + to_world(span_boldannounce("Rebooting world immediately due to host request")) else Master.Shutdown() //run SS shutdowns for(var/client/C in GLOB.clients) - if(config.server) //if you set a server location in config.txt, it sends you there instead of trying to reconnect to the same world address. -- NeoFite - C << link("byond://[config.server]") + if(CONFIG_GET(string/server)) //if you set a server location in config.txt, it sends you there instead of trying to reconnect to the same world address. -- NeoFite + C << link("byond://[CONFIG_GET(string/server)]") TgsReboot() log_world("World rebooted at [time_stamp()]") @@ -461,13 +468,14 @@ var/world_topic_spam_protect_time = world.timeofday /world/proc/load_motd() join_motd = file2text("config/motd.txt") - +/* Replaced with configuration controller /proc/load_configuration() config = new /datum/configuration() config.load("config/config.txt") config.load("config/game_options.txt","game_options") config.loadsql("config/dbconfig.txt") config.loadforumsql("config/forumdbconfig.txt") +*/ /hook/startup/proc/loadMods() world.load_mods() @@ -475,7 +483,7 @@ var/world_topic_spam_protect_time = world.timeofday return 1 /world/proc/load_mods() - if(config.admin_legacy_system) + if(CONFIG_GET(flag/admin_legacy_system)) var/text = file2text("config/moderators.txt") if (!text) error("Failed to load config/mods.txt") @@ -496,7 +504,7 @@ var/world_topic_spam_protect_time = world.timeofday D.associate(GLOB.directory[ckey]) /world/proc/load_mentors() - if(config.admin_legacy_system) + if(CONFIG_GET(flag/admin_legacy_system)) var/text = file2text("config/mentors.txt") if (!text) error("Failed to load config/mentors.txt") @@ -515,10 +523,10 @@ var/world_topic_spam_protect_time = world.timeofday /world/proc/update_status() var/s = "" - if (config && config.server_name) - s += "[config.server_name] — " + if (config && CONFIG_GET(string/servername)) + s += span_bold("[CONFIG_GET(string/servername)]") + " — " - s += "[station_name()]"; + s += span_bold("[station_name()]"); s += " (" s += "" //Change this to wherever you want the hub to link to. //YW Edit - discord link // s += "[game_version]" @@ -534,21 +542,21 @@ var/world_topic_spam_protect_time = world.timeofday if(master_mode) features += master_mode else - features += "STARTING" + features += span_bold("STARTING") - if (!config.enter_allowed) + if (!CONFIG_GET(flag/enter_allowed)) features += "closed" - features += config.abandon_allowed ? "respawn" : "no respawn" + features += CONFIG_GET(flag/abandon_allowed) ? "respawn" : "no respawn" - features += config.persistence_disabled ? "persistence disabled" : "persistence enabled" + features += CONFIG_GET(flag/persistence_disabled) ? "persistence disabled" : "persistence enabled" - features += config.persistence_ignore_mapload ? "persistence mapload disabled" : "persistence mapload enabled" + features += CONFIG_GET(flag/persistence_ignore_mapload) ? "persistence mapload disabled" : "persistence mapload enabled" - if (config && config.allow_vote_mode) + if (config && CONFIG_GET(flag/allow_vote_mode)) features += "vote" - if (config && config.allow_ai) + if (config && CONFIG_GET(flag/allow_ai)) features += "AI allowed" var/n = 0 @@ -562,8 +570,8 @@ var/world_topic_spam_protect_time = world.timeofday features += "~[n] player" - if (config && config.hostedby) - features += "hosted by [config.hostedby]" + if (config && CONFIG_GET(string/hostedby)) + features += "hosted by [CONFIG_GET(string/hostedby)]" if (features) s += ": [jointext(features, ", ")]" @@ -577,7 +585,7 @@ var/failed_db_connections = 0 var/failed_old_db_connections = 0 /hook/startup/proc/connectDB() - if(!config.sql_enabled) + if(!CONFIG_GET(flag/sql_enabled)) to_world_log("SQL connection disabled in config.") else if(!setup_database_connection()) to_world_log("Your server failed to establish a connection with the feedback database.") @@ -586,17 +594,19 @@ var/failed_old_db_connections = 0 return 1 /proc/setup_database_connection() + if(!CONFIG_GET(flag/sql_enabled)) + return 0 if(failed_db_connections > FAILED_DB_CONNECTION_CUTOFF) //If it failed to establish a connection more than 5 times in a row, don't bother attempting to conenct anymore. return 0 if(!dbcon) dbcon = new() - var/user = sqlfdbklogin - var/pass = sqlfdbkpass - var/db = sqlfdbkdb - var/address = sqladdress - var/port = sqlport + var/user = CONFIG_GET(string/feedback_login) + var/pass = CONFIG_GET(string/feedback_password) + var/db = CONFIG_GET(string/feedback_database) + var/address = CONFIG_GET(string/address) + var/port = CONFIG_GET(number/port) dbcon.Connect("dbi:mysql:[db]:[address]:[port]","[user]","[pass]") . = dbcon.IsConnected() @@ -618,51 +628,6 @@ var/failed_old_db_connections = 0 else return 1 - -/hook/startup/proc/connectOldDB() - if(!config.sql_enabled) - to_world_log("SQL connection disabled in config.") - else if(!setup_old_database_connection()) - to_world_log("Your server failed to establish a connection with the SQL database.") - else - to_world_log("SQL database connection established.") - return 1 - -//These two procs are for the old database, while it's being phased out. See the tgstation.sql file in the SQL folder for more information. -/proc/setup_old_database_connection() - - if(failed_old_db_connections > FAILED_DB_CONNECTION_CUTOFF) //If it failed to establish a connection more than 5 times in a row, don't bother attempting to conenct anymore. - return 0 - - if(!dbcon_old) - dbcon_old = new() - - var/user = sqllogin - var/pass = sqlpass - var/db = sqldb - var/address = sqladdress - var/port = sqlport - - dbcon_old.Connect("dbi:mysql:[db]:[address]:[port]","[user]","[pass]") - . = dbcon_old.IsConnected() - if ( . ) - failed_old_db_connections = 0 //If this connection succeeded, reset the failed connections counter. - else - failed_old_db_connections++ //If it failed, increase the failed connections counter. - to_world_log(dbcon.ErrorMsg()) - - return . - -//This proc ensures that the connection to the feedback database (global variable dbcon) is established -/proc/establish_old_db_connection() - if(failed_old_db_connections > FAILED_DB_CONNECTION_CUTOFF) - return 0 - - if(!dbcon_old || !dbcon_old.IsConnected()) - return setup_old_database_connection() - else - return 1 - // Cleans up DB connections and recreates them /proc/reset_database_connections() var/list/results = list("-- Resetting DB connections --") @@ -677,7 +642,7 @@ var/failed_old_db_connections = 0 if(dbcon_old?.IsConnected()) results += "WARNING: dbcon_old is connected, not touching it, but is this intentional?" - if(!config.sql_enabled) + if(!CONFIG_GET(flag/sql_enabled)) results += "stopping because config.sql_enabled = false" else . = setup_database_connection() @@ -725,10 +690,10 @@ var/failed_old_db_connections = 0 /proc/get_world_url() . = "byond://" - if(config.serverurl) - . += config.serverurl - else if(config.server) - . += config.server + if(CONFIG_GET(string/serverurl)) + . += CONFIG_GET(string/serverurl) + else if(CONFIG_GET(string/server)) + . += CONFIG_GET(string/server) else . += "[world.address]:[world.port]" diff --git a/code/global.dm b/code/global.dm index 9c0fbec9906..b2743682022 100644 --- a/code/global.dm +++ b/code/global.dm @@ -83,8 +83,6 @@ var/list/reverse_dir = list( // reverse_dir[dir] = reverse of dir ) var/global/const/SQRT_TWO = 1.41421356237 -var/datum/configuration/config = null - var/list/combatlog = list() var/list/IClog = list() var/list/OOClog = list() @@ -139,7 +137,8 @@ var/list/emergency_module_types = list( ) // List of modules available to AI shells var/list/shell_module_types = list( - "Standard", "Service", "Clerical" + "Standard", "Engineering", "Surgeon", "Crisis", + "Miner", "Janitor", "Service", "Clerical", "Security", "Research" ) // List of whitelisted modules var/list/whitelisted_module_types = list( @@ -175,7 +174,7 @@ var/static/list/scarySounds = list( var/max_explosion_range = 14 // Announcer intercom, because too much stuff creates an intercom for one message then hard del()s it. -var/global/obj/item/device/radio/intercom/omni/global_announcer = new /obj/item/device/radio/intercom/omni(null) +var/global/obj/item/radio/intercom/omni/global_announcer = new /obj/item/radio/intercom/omni(null) var/list/station_departments = list("Command", "Medical", "Engineering", "Research", "Security", "Cargo", "Exploration", "Civilian") //VOREStation Edit diff --git a/code/global_init.dm b/code/global_init.dm index a9abaae9ad2..bc9d0e4da5e 100644 --- a/code/global_init.dm +++ b/code/global_init.dm @@ -23,9 +23,7 @@ var/global/datum/global_init/init = new () debug_log = file("[log_path]-debug.log") debug_log << "[log_end]\n[log_end]\nStarting up. [time_stamp()][log_end]\n---------------------[log_end]" */ //VOREStation Removal End - decls_repository = new() - load_configuration() - makeDatumRefLists() + decls_repository = new() initialize_integrated_circuits_list() diff --git a/code/modules/Phorochemistry/Phorochemputer.dm b/code/modules/Phorochemistry/Phorochemputer.dm index e2a0e9610e1..5573d87a1f5 100644 --- a/code/modules/Phorochemistry/Phorochemputer.dm +++ b/code/modules/Phorochemistry/Phorochemputer.dm @@ -6,7 +6,7 @@ var/global/list/discovered_phororeagents //list of all phororeagents discovered icon_state = "frame-rnd" icon_keyboard = "kb9" icon_screen = "powerold" - circuit = /obj/item/weapon/circuitboard/phoronics + circuit = /obj/item/circuitboard/phoronics // var/turf/simulated/floor/phoronics/source var/turf/simulated/floor/source var/intensity = 1 @@ -184,7 +184,7 @@ var/global/list/discovered_phororeagents //list of all phororeagents discovered return abort("ERROR: Recalibrate to locate electromagnetic tile and or telepads") var/datum/reagent/reactant - var/obj/item/weapon/reagent_containers/container + var/obj/item/reagent_containers/container //check for beaker, and that beaker contains only one reagent var/num_containers = 0 @@ -193,7 +193,7 @@ var/global/list/discovered_phororeagents //list of all phororeagents discovered return abort("ERROR: Input telepad not where expected, please recalibrate") if(!source_pad.anchored) return abort("ERROR: Input telepad not anchored") - for(var/obj/item/weapon/reagent_containers/R in source_pad.loc.contents) + for(var/obj/item/reagent_containers/R in source_pad.loc.contents) num_containers++ container = R @@ -203,7 +203,7 @@ var/global/list/discovered_phororeagents //list of all phororeagents discovered "asshat", "dumbass", "fucklechuck", "scrub", "moron", "typical NT worker") return abort("ERROR: Open reagent container, you [insult]") - if(istype(container, /obj/item/weapon/reagent_containers/glass/beaker/noreact)) //container doesn't react, insult user + if(istype(container, /obj/item/reagent_containers/glass/beaker/noreact)) //container doesn't react, insult user var/insult = pick("idiot", "failure", "ass", "scrub", "chucklefuck", \ "asshat", "dumbass", "fucklechuck", "scrub", "moron") return abort("ERROR: Reactions don't happen in a cryostasis beaker, you [insult]") @@ -330,7 +330,7 @@ var/global/list/discovered_phororeagents //list of all phororeagents discovered aborting = 1 //Buildable computers stuff -/obj/item/weapon/circuitboard/phoronics +/obj/item/circuitboard/phoronics name = T_BOARD("phorochemputer") build_path = /obj/machinery/computer/phoronics origin_tech = "programming=2;bluespace=2" @@ -339,5 +339,5 @@ var/global/list/discovered_phororeagents //list of all phororeagents discovered name = "phorochemputer" id = "phorochemputer" req_tech = list("programming" = 3, "bluespace" = 2) - build_path = /obj/item/weapon/circuitboard/phoronics + build_path = /obj/item/circuitboard/phoronics */ diff --git a/code/modules/Phorochemistry/misc_phoronics.dm b/code/modules/Phorochemistry/misc_phoronics.dm index b476cb5b457..8c34fdb3d38 100644 --- a/code/modules/Phorochemistry/misc_phoronics.dm +++ b/code/modules/Phorochemistry/misc_phoronics.dm @@ -45,20 +45,20 @@ /decl/chemical_reaction/instant/brownies/on_reaction(var/datum/reagents/holder, var/created_volume) for(var/i = 0; i < 3; i++) - new /obj/item/weapon/reagent_containers/food/snacks/brownies(get_turf(holder.my_atom)) + new /obj/item/reagent_containers/food/snacks/brownies(get_turf(holder.my_atom)) return -/obj/item/weapon/reagent_containers/food/snacks/brownies +/obj/item/reagent_containers/food/snacks/brownies name = "Brownies" icon_state = "waffles" desc = "Ovenless Brownies!" filling_color = "#A79459" -/obj/item/weapon/reagent_containers/food/snacks/brownies/New() +/obj/item/reagent_containers/food/snacks/brownies/New() ..() reagents.add_reagent("nutriment", 6) -/obj/item/weapon/induromol +/obj/item/induromol name = "Hardened Induromol" icon = 'icons/obj/mining.dmi' icon_state = "ore_platinum" @@ -69,4 +69,4 @@ ..() new /obj/item/clothing/suit/bio_suit/scientist( src ) - new /obj/item/clothing/head/bio_hood/scientist( src ) \ No newline at end of file + new /obj/item/clothing/head/bio_hood/scientist( src ) diff --git a/code/modules/Phorochemistry/phoroanalyzer.dm b/code/modules/Phorochemistry/phoroanalyzer.dm index 7b8e96442fb..1233970eb11 100644 --- a/code/modules/Phorochemistry/phoroanalyzer.dm +++ b/code/modules/Phorochemistry/phoroanalyzer.dm @@ -6,10 +6,10 @@ icon_state = "mixer0b" use_power = 1 idle_power_usage = 20 - var/obj/item/weapon/reagent_containers/stored = null + var/obj/item/reagent_containers/stored = null -/obj/machinery/phoroanalyzer/attackby(var/obj/item/weapon/B as obj, var/mob/user as mob) - if(istype(B, /obj/item/weapon/reagent_containers)) +/obj/machinery/phoroanalyzer/attackby(var/obj/item/B as obj, var/mob/user as mob) + if(istype(B, /obj/item/reagent_containers)) stored = B if(stored.reagents.reagent_list.len > 1) state("Error: Multiple reagents detected") @@ -42,4 +42,4 @@ else var/description = "Analysis complete - [R.name]: [R.description]" sleep(20) - state(description) \ No newline at end of file + state(description) diff --git a/code/modules/Phorochemistry/phorochemheat.dm b/code/modules/Phorochemistry/phorochemheat.dm index 1af7215985b..6bd1ceffaa9 100644 --- a/code/modules/Phorochemistry/phorochemheat.dm +++ b/code/modules/Phorochemistry/phorochemheat.dm @@ -1,6 +1,6 @@ //chemistry stuff here so that it can be easily viewed/modified -/obj/item/weapon/reagent_containers/glass/solution_tray +/obj/item/reagent_containers/glass/solution_tray name = "solution tray" desc = "A small, open-topped glass container for delicate research samples. It sports a re-useable strip for labelling with a pen." icon = 'icons/obj/device.dmi' @@ -13,72 +13,72 @@ flags = OPENCONTAINER unacidable = 1 -/obj/item/weapon/storage/box/solution_trays +/obj/item/storage/box/solution_trays name = "solution tray box" icon_state = "solution_trays" -/obj/item/weapon/storage/box/solution_trays/New() +/obj/item/storage/box/solution_trays/New() ..() - new /obj/item/weapon/reagent_containers/glass/solution_tray( src ) - new /obj/item/weapon/reagent_containers/glass/solution_tray( src ) - new /obj/item/weapon/reagent_containers/glass/solution_tray( src ) - new /obj/item/weapon/reagent_containers/glass/solution_tray( src ) - new /obj/item/weapon/reagent_containers/glass/solution_tray( src ) - new /obj/item/weapon/reagent_containers/glass/solution_tray( src ) - new /obj/item/weapon/reagent_containers/glass/solution_tray( src ) - -/obj/item/weapon/reagent_containers/glass/beaker/tungsten + new /obj/item/reagent_containers/glass/solution_tray( src ) + new /obj/item/reagent_containers/glass/solution_tray( src ) + new /obj/item/reagent_containers/glass/solution_tray( src ) + new /obj/item/reagent_containers/glass/solution_tray( src ) + new /obj/item/reagent_containers/glass/solution_tray( src ) + new /obj/item/reagent_containers/glass/solution_tray( src ) + new /obj/item/reagent_containers/glass/solution_tray( src ) + +/obj/item/reagent_containers/glass/beaker/tungsten name = "beaker 'tungsten'" -/obj/item/weapon/reagent_containers/glass/beaker/tungsten/New() +/obj/item/reagent_containers/glass/beaker/tungsten/New() ..() reagents.add_reagent("tungsten",50) update_icon() -/obj/item/weapon/reagent_containers/glass/beaker/oxygen +/obj/item/reagent_containers/glass/beaker/oxygen name = "beaker 'oxygen'" -/obj/item/weapon/reagent_containers/glass/beaker/oxygen/New() +/obj/item/reagent_containers/glass/beaker/oxygen/New() ..() reagents.add_reagent("oxygen",50) update_icon() -/obj/item/weapon/reagent_containers/glass/beaker/sodium +/obj/item/reagent_containers/glass/beaker/sodium name = "beaker 'sodium'" -/obj/item/weapon/reagent_containers/glass/beaker/sodium/New() +/obj/item/reagent_containers/glass/beaker/sodium/New() ..() reagents.add_reagent("sodium",50) update_icon() -/obj/item/weapon/reagent_containers/glass/beaker/lithium +/obj/item/reagent_containers/glass/beaker/lithium name = "beaker 'lithium'" -/obj/item/weapon/reagent_containers/glass/beaker/lithium/New() +/obj/item/reagent_containers/glass/beaker/lithium/New() ..() reagents.add_reagent("lithium",50) update_icon() -/obj/item/weapon/reagent_containers/glass/beaker/water +/obj/item/reagent_containers/glass/beaker/water name = "beaker 'water'" -/obj/item/weapon/reagent_containers/glass/beaker/water/New() +/obj/item/reagent_containers/glass/beaker/water/New() ..() reagents.add_reagent("water",50) update_icon() -/obj/item/weapon/reagent_containers/glass/beaker/water +/obj/item/reagent_containers/glass/beaker/water name = "beaker 'water'" -/obj/item/weapon/reagent_containers/glass/beaker/water/New() +/obj/item/reagent_containers/glass/beaker/water/New() ..() reagents.add_reagent("water",50) update_icon() -/obj/item/weapon/reagent_containers/glass/beaker/fuel +/obj/item/reagent_containers/glass/beaker/fuel name = "beaker 'fuel'" -/obj/item/weapon/reagent_containers/glass/beaker/fuel/New() +/obj/item/reagent_containers/glass/beaker/fuel/New() ..() reagents.add_reagent("fuel",50) update_icon() @@ -91,11 +91,11 @@ icon_state = "bunsen0" var/heating = 0 //whether the bunsen is turned on var/heated = 0 //whether the bunsen has been on long enough to let stuff react - var/obj/item/weapon/reagent_containers/held_container + var/obj/item/reagent_containers/held_container var/heat_time = 50 -/obj/machinery/bunsen_burner/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W, /obj/item/weapon/reagent_containers)) +/obj/machinery/bunsen_burner/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W, /obj/item/reagent_containers)) if(held_container) user << "You must remove the [held_container] first." else @@ -142,4 +142,4 @@ icon_state = "bunsen[heating]" if(heating) spawn(heat_time) - try_heating() \ No newline at end of file + try_heating() diff --git a/code/modules/Phorochemistry/phororeagent.dm b/code/modules/Phorochemistry/phororeagent.dm index 9ce56d5ad36..e38521cb163 100644 --- a/code/modules/Phorochemistry/phororeagent.dm +++ b/code/modules/Phorochemistry/phororeagent.dm @@ -9,7 +9,7 @@ var/induromol_code = rand(1, 50) //called by phorochemputer.dm, returns special message upon creating reagent //mostly dangerous initial reactions, to ensure protective gear is worn -/datum/reagent/phororeagent/proc/initial_reaction(var/obj/item/weapon/reagent_containers/container, var/turf/T, var/volume, var/message) +/datum/reagent/phororeagent/proc/initial_reaction(var/obj/item/reagent_containers/container, var/turf/T, var/volume, var/message) if(reagent_state == GAS) return "WARNING: Gaseous reaction detected! Repeating reaction inadvisable." return message @@ -211,7 +211,7 @@ var/induromol_code = rand(1, 50) to_chat(M, "
") break -/obj/item/weapon/reagent_containers/glass/beaker/lovepotion +/obj/item/reagent_containers/glass/beaker/lovepotion name = "beaker (amorapotio)" prefill = list("amorapotio" = 60) @@ -260,8 +260,8 @@ var/induromol_code = rand(1, 50) var/mob/living/carbon/human/immune for(var/mob/living/carbon/human/H in viewers(T, 2)) var/distTo = sqrt(((T.x - H.x) ** 2) + ((T.y - H.y) ** 2)) - if(distTo < dist && (istype(H.l_hand, /obj/item/weapon/reagent_containers) || \ - istype(H.r_hand, /obj/item/weapon/reagent_containers))) + if(distTo < dist && (istype(H.l_hand, /obj/item/reagent_containers) || \ + istype(H.r_hand, /obj/item/reagent_containers))) immune = H //so reagent spill does not affect user, they already threw up when it was created src = null @@ -293,7 +293,7 @@ var/induromol_code = rand(1, 50) H.lastpuke = 0 // return ..() -/datum/reagent/phororeagent/nasty/initial_reaction(var/obj/item/weapon/reagent_containers/container, var/turf/T, var/volume, var/message) +/datum/reagent/phororeagent/nasty/initial_reaction(var/obj/item/reagent_containers/container, var/turf/T, var/volume, var/message) for(var/mob/living/carbon/human/H in viewers(T, 7)) H << "There is something about the reagent from the telepad you find absolutely repulsive." H.vomit() @@ -649,9 +649,9 @@ var/induromol_code = rand(1, 50) soapfoam.set_up(12, T, cleaner, 0) soapfoam.start() sleep(50) - var/list/soaps = typesof(/obj/item/weapon/soap)// - /obj/item/weapon/soap/fluff/azare_siraj_1 + var/list/soaps = typesof(/obj/item/soap)// - /obj/item/soap/fluff/azare_siraj_1 var/soap_type = pick(soaps) - var/obj/item/weapon/soap/S = new soap_type() + var/obj/item/soap/S = new soap_type() S.loc = T if(volume >= 50) volume -= 50 @@ -792,7 +792,7 @@ var/induromol_code = rand(1, 50) description = "Creates an unstable electrical field between molecules" color = "#F5EF38" -/datum/reagent/phororeagent/energized_phoron/initial_reaction(var/obj/item/weapon/reagent_containers/container, var/turf/T, var/volume, var/message) +/datum/reagent/phororeagent/energized_phoron/initial_reaction(var/obj/item/reagent_containers/container, var/turf/T, var/volume, var/message) empulse(T, round(volume / 8), round(volume / 5), 1) src = null spawn(1) @@ -834,7 +834,7 @@ var/induromol_code = rand(1, 50) description = "Exhibits strange electromagnetic properties" color = "#5D505E" -/datum/reagent/phororeagent/obscuritol/initial_reaction(var/obj/item/weapon/reagent_containers/container, var/turf/T, var/volume, var/message) +/datum/reagent/phororeagent/obscuritol/initial_reaction(var/obj/item/reagent_containers/container, var/turf/T, var/volume, var/message) var/obj/machinery/light/L for(var/obj/machinery/light/light in orange(3, T)) if(light.status != 2) //LIGHT_BROKEN @@ -951,7 +951,7 @@ var/induromol_code = rand(1, 50) /datum/reagent/phororeagent/gaseous reagent_state = GAS -/datum/reagent/phororeagent/gaseous/initial_reaction(var/obj/item/weapon/reagent_containers/container, var/turf/T, var/volume, var/message) +/datum/reagent/phororeagent/gaseous/initial_reaction(var/obj/item/reagent_containers/container, var/turf/T, var/volume, var/message) var/datum/effect/effect/system/smoke_spread/chem/effect = new/datum/effect/effect/system/smoke_spread/chem() var/datum/reagents/R = new/datum/reagents() R.my_atom = container @@ -1155,4 +1155,4 @@ nocturnol //Should give night vision, does not seem to work using this method of var/mob/M = A M.see_in_dark = 2 return ..() -*/ \ No newline at end of file +*/ diff --git a/code/modules/Phorochemistry/phorotelepad.dm b/code/modules/Phorochemistry/phorotelepad.dm index ccc2c75b938..34bd1aa0fcd 100644 --- a/code/modules/Phorochemistry/phorotelepad.dm +++ b/code/modules/Phorochemistry/phorotelepad.dm @@ -24,31 +24,31 @@ //if(!M.restrained()) M.loc = dest.loc -/obj/machinery/telepad_phoronics/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W, /obj/item/weapon/reagent_containers)) +/obj/machinery/telepad_phoronics/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W, /obj/item/reagent_containers)) user.drop_item() W.loc = src.loc - else if(istype(W, /obj/item/weapon/tool/wrench)) + else if(istype(W, /obj/item/tool/wrench)) var/word = "tighten" src.anchored = !src.anchored if(!src.anchored) word = "undo" user << "You [word] the telepad anchor bolts." playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1) - else if(istype(W, /obj/item/weapon/tool/screwdriver) && !src.anchored) + else if(istype(W, /obj/item/tool/screwdriver) && !src.anchored) user << "You fold the telepad." - new /obj/item/weapon/phoronics_telepad(src.loc) + new /obj/item/phoronics_telepad(src.loc) del(src) else return ..() -/obj/item/weapon/phoronics_telepad +/obj/item/phoronics_telepad name = "telepad" desc = "A bluespace telepad used for teleporting objects to and from a location." icon = 'icons/phoronics.dmi' icon_state = "pad-folded" -/obj/item/weapon/phoronics_telepad/attack_self(mob/user as mob) +/obj/item/phoronics_telepad/attack_self(mob/user as mob) user << "You unfold the pad." var/obj/machinery/telepad_phoronics/T = new /obj/machinery/telepad_phoronics(user.loc) T.anchored = 0 @@ -59,4 +59,4 @@ id = "phoronics_telepad" req_tech = list("bluespace" = 2, "materials" = 3) materials = list(MAT_STEEL = 1000) - build_path = /obj/item/weapon/phoronics_telepad */ \ No newline at end of file + build_path = /obj/item/phoronics_telepad */ diff --git a/code/modules/admin/DB ban/functions.dm b/code/modules/admin/DB ban/functions.dm index 3dd620b0c0e..76aa32b9b05 100644 --- a/code/modules/admin/DB ban/functions.dm +++ b/code/modules/admin/DB ban/functions.dm @@ -52,7 +52,7 @@ if(!validckey) if(!banned_mob || (banned_mob && !IsGuestKey(banned_mob.key))) //VOREStation Edit Start. var/confirm = tgui_alert(usr, "This ckey hasn't been seen, are you sure?", "Confirm Badmin", list("Yes", "No")) - if(confirm == "No") + if(confirm != "Yes") return //VOREStation Edit End var/a_ckey @@ -83,7 +83,7 @@ var/sql = "INSERT INTO erro_ban (`id`,`bantime`,`serverip`,`bantype`,`reason`,`job`,`duration`,`rounds`,`expiration_time`,`ckey`,`computerid`,`ip`,`a_ckey`,`a_computerid`,`a_ip`,`who`,`adminwho`,`edits`,`unbanned`,`unbanned_datetime`,`unbanned_ckey`,`unbanned_computerid`,`unbanned_ip`) VALUES (null, Now(), '[serverip]', '[bantype_str]', '[reason]', '[job]', [(duration)?"[duration]":"0"], [(rounds)?"[rounds]":"0"], Now() + INTERVAL [(duration>0) ? duration : 0] MINUTE, '[ckey]', '[computerid]', '[ip]', '[a_ckey]', '[a_computerid]', '[a_ip]', '[who]', '[adminwho]', '', null, null, null, null, null)" var/DBQuery/query_insert = dbcon.NewQuery(sql) query_insert.Execute() - to_chat(usr, "[span_blue("Ban saved to database.")]") + to_chat(usr, span_filter_adminlog("[span_blue("Ban saved to database.")]")) message_admins("[key_name_admin(usr)] has added a [bantype_str] for [ckey] [(job)?"([job])":""] [(duration > 0)?"([duration] minutes)":""] with the reason: \"[reason]\" to the ban database.",1) @@ -137,17 +137,17 @@ ban_number++; if(ban_number == 0) - to_chat(usr, "[span_red("Database update failed due to no bans fitting the search criteria. If this is not a legacy ban you should contact the database admin.")]") + to_chat(usr, span_filter_adminlog("[span_red("Database update failed due to no bans fitting the search criteria. If this is not a legacy ban you should contact the database admin.")]")) return if(ban_number > 1) - to_chat(usr, "[span_red("Database update failed due to multiple bans fitting the search criteria. Note down the ckey, job and current time and contact the database admin.")]") + to_chat(usr, span_filter_adminlog("[span_red("Database update failed due to multiple bans fitting the search criteria. Note down the ckey, job and current time and contact the database admin.")]")) return if(istext(ban_id)) ban_id = text2num(ban_id) if(!isnum(ban_id)) - to_chat(usr, "[span_red("Database update failed due to a ban ID mismatch. Contact the database admin.")]") + to_chat(usr, span_filter_adminlog("[span_red("Database update failed due to a ban ID mismatch. Contact the database admin.")]")) return DB_ban_unban_by_id(ban_id) @@ -173,7 +173,7 @@ duration = query.item[2] reason = query.item[3] else - to_chat(usr, "Invalid ban id. Contact the database admin") + to_chat(usr, span_filter_adminlog("Invalid ban id. Contact the database admin")) return reason = sql_sanitize_text(reason) @@ -205,7 +205,7 @@ if(tgui_alert(usr, "Unban [pckey]?", "Unban?", list("Yes", "No")) == "Yes") DB_ban_unban_by_id(banid) return - to_chat(usr, "Cancelled") + to_chat(usr, span_filter_adminlog("Cancelled")) return /datum/admins/proc/DB_ban_unban_by_id(var/id) @@ -228,11 +228,11 @@ ban_number++; if(ban_number == 0) - to_chat(usr, "[span_red("Database update failed due to a ban id not being present in the database.")]") + to_chat(usr, span_filter_adminlog("[span_red("Database update failed due to a ban id not being present in the database.")]")) return if(ban_number > 1) - to_chat(usr, "[span_red("Database update failed due to multiple bans having the same ID. Contact the database admin.")]") + to_chat(usr, span_filter_adminlog("[span_red("Database update failed due to multiple bans having the same ID. Contact the database admin.")]")) return if(!src.owner || !istype(src.owner, /client)) @@ -250,7 +250,7 @@ /client/proc/DB_ban_panel() - set category = "Admin" + set category = "Admin.Moderation" set name = "Banning Panel" set desc = "Edit admin permissions" @@ -268,7 +268,7 @@ establish_db_connection() if(!dbcon.IsConnected()) - to_chat(usr, "[span_red("Failed to establish database connection")]") + to_chat(usr, span_filter_adminlog("[span_red("Failed to establish database connection")]")) return var/output = "
" @@ -280,7 +280,7 @@ output += "" output += "" output += "" output += "" output += "" - output += "" + output += "" output += "" output += "" output += "" diff --git a/code/modules/admin/IsBanned.dm b/code/modules/admin/IsBanned.dm index 8248b3c6832..af128e5722f 100644 --- a/code/modules/admin/IsBanned.dm +++ b/code/modules/admin/IsBanned.dm @@ -5,21 +5,21 @@ return ..() //Guest Checking - if(!config.guests_allowed && IsGuestKey(key)) + if(!CONFIG_GET(flag/guests_allowed) && IsGuestKey(key)) log_adminwarn("Failed Login: [key] - Guests not allowed") message_admins(span_blue("Failed Login: [key] - Guests not allowed")) return list("reason"="guest", "desc"="\nReason: Guests not allowed. Please sign in with a byond account.") //check if the IP address is a known TOR node - if(config && config.ToRban && ToRban_isbanned(address)) + if(config && CONFIG_GET(flag/ToRban) && ToRban_isbanned(address)) log_adminwarn("Failed Login: [src] - Banned: ToR") message_admins(span_blue("Failed Login: [src] - Banned: ToR")) //ban their computer_id and ckey for posterity AddBan(ckey(key), computer_id, "Use of ToR", "Automated Ban", 0, 0) - return list("reason"="Using ToR", "desc"="\nReason: The network you are using to connect has been banned.\nIf you believe this is a mistake, please request help at [config.banappeals]") + return list("reason"="Using ToR", "desc"="\nReason: The network you are using to connect has been banned.\nIf you believe this is a mistake, please request help at [CONFIG_GET(string/banappeals)]") - if(config.ban_legacy_system) + if(CONFIG_GET(flag/ban_legacy_system)) //Ban Checking . = CheckBan( ckey(key), computer_id, address ) diff --git a/code/modules/admin/NewBan.dm b/code/modules/admin/NewBan.dm index 9e5ff08a136..75f50ca7c8c 100644 --- a/code/modules/admin/NewBan.dm +++ b/code/modules/admin/NewBan.dm @@ -10,8 +10,8 @@ var/savefile/Banlist . = list() var/appeal - if(config && config.banappeals) - appeal = "\nFor more information on your ban, or to appeal, head to [config.banappeals]" + if(config && CONFIG_GET(string/banappeals)) + appeal = "\nFor more information on your ban, or to appeal, head to [CONFIG_GET(string/banappeals)]" Banlist.cd = "/base" if( "[ckey][id]" in Banlist.dir ) Banlist.cd = "[ckey][id]" @@ -106,7 +106,7 @@ var/savefile/Banlist Banlist.cd = "/base" if ( Banlist.dir.Find("[ckey][computerid]") ) - to_chat(usr, "Ban already exists.") + to_chat(usr, span_filter_adminlog(span_warning("Ban already exists."))) return 0 else Banlist.dir.Add("[ckey][computerid]") diff --git a/code/modules/admin/ToRban.dm b/code/modules/admin/ToRban.dm index a3a5863cec4..932dedf5daf 100644 --- a/code/modules/admin/ToRban.dm +++ b/code/modules/admin/ToRban.dm @@ -38,25 +38,25 @@ F["last_update"] << world.realtime log_misc("ToR data updated!") if(usr) - to_chat(usr, "ToRban updated.") + to_chat(usr, span_filter_adminlog("ToRban updated.")) return log_misc("ToR data update aborted: no data.") return /client/proc/ToRban(task in list("update","toggle","show","remove","remove all","find")) set name = "ToRban" - set category = "Server" + set category = "Server.Config" if(!holder) return switch(task) if("update") ToRban_update() if("toggle") if(config) - if(config.ToRban) - config.ToRban = 0 + if(CONFIG_GET(flag/ToRban)) + CONFIG_SET(flag/ToRban, FALSE) message_admins(span_red("ToR banning disabled.")) else - config.ToRban = 1 + CONFIG_SET(flag/ToRban, TRUE) message_admins(span_green("ToR banning enabled.")) if("show") var/savefile/F = new(TORFILE) @@ -73,16 +73,16 @@ var/choice = tgui_input_list(src,"Please select an IP address to remove from the ToR banlist:","Remove ToR ban", F.dir) if(choice) F.dir.Remove(choice) - to_chat(src, "Address removed") + to_chat(src, span_filter_adminlog(span_bold("Address removed"))) if("remove all") - to_chat(src, "[TORFILE] was [fdel(TORFILE)?"":"not "]removed.") + to_chat(src, span_filter_adminlog(span_bold("[TORFILE] was [fdel(TORFILE)?"":"not "]removed."))) if("find") var/input = tgui_input_text(src,"Please input an IP address to search for:","Find ToR ban",null) if(input) if(ToRban_isbanned(input)) - to_chat(src, "[span_orange("Address is a known ToR address")]") + to_chat(src, span_filter_adminlog("[span_orange(span_bold("Address is a known ToR address"))]")) else - to_chat(src, "Address is not a known ToR address") + to_chat(src, span_filter_adminlog(span_danger("Address is not a known ToR address"))) return #undef TORFILE diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 81c5ecd2709..6d4f0d1e2b0 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -3,7 +3,7 @@ var/global/floorIsLava = 0 //////////////////////////////// /proc/message_admins(var/msg) - msg = "ADMIN LOG: [msg]" + msg = span_filter_adminlog(span_log_message(span_prefix("ADMIN LOG:") + span_message("[msg]"))) //log_adminwarn(msg) //log_and_message_admins is for this for(var/client/C in GLOB.admins) @@ -14,10 +14,10 @@ var/global/floorIsLava = 0 confidential = TRUE) /proc/msg_admin_attack(var/text) //Toggleable Attack Messages - var/rendered = "ATTACK: [text]" + var/rendered = span_filter_attacklog(span_log_message(span_prefix("ATTACK:") + span_message("[text]"))) for(var/client/C in GLOB.admins) if((R_ADMIN|R_MOD) & C.holder.rights) - if(C.is_preference_enabled(/datum/client_preference/mod/show_attack_logs)) + if(C.prefs?.read_preference(/datum/preference/toggle/show_attack_logs)) var/msg = rendered to_chat(C, type = MESSAGE_TYPE_ATTACKLOG, @@ -32,7 +32,7 @@ var/global/floorIsLava = 0 ///////////////////////////////////////////////////////////////////////////////////////////////Panels /datum/admins/proc/show_player_panel(var/mob/M in mob_list) - set category = "Admin" + set category = "Admin.Game" set name = "Show Player Panel" set desc="Edit player (respawn, ban, heal, etc)" @@ -107,7 +107,7 @@ var/global/floorIsLava = 0 if (M.client) if(!istype(M, /mob/new_player)) body += "

" - body += "Transformation:" + body += span_bold("Transformation:") body += "
" //Monkey @@ -227,7 +227,7 @@ var/global/floorIsLava = 0 /datum/player_info/var/timestamp // Because this is bloody annoying /datum/admins/proc/PlayerNotes() - set category = "Admin" + set category = "Admin.Logs" set name = "Player Notes" if (!istype(src,/datum/admins)) src = usr.client.holder @@ -267,7 +267,7 @@ var/global/floorIsLava = 0 /datum/admins/proc/show_player_info(var/key as text) - set category = "Admin" + set category = "Admin.Investigate" set name = "Show Player Info" if (!istype(src,/datum/admins)) src = usr.client.holder @@ -281,7 +281,7 @@ var/global/floorIsLava = 0 /datum/admins/proc/access_news_network() //MARKER - set category = "Fun" + set category = "Fun.Event Kit" set name = "Access Newscaster Network" set desc = "Allows you to view, add and edit news feeds." @@ -321,13 +321,13 @@ var/global/floorIsLava = 0 if(1) dat+= "Station Feed Channels
" if( isemptylist(news_network.network_channels) ) - dat+="No active channels found..." + dat+=span_italics("No active channels found...") else for(var/datum/feed_channel/CHANNEL in news_network.network_channels) if(CHANNEL.is_admin_channel) dat+="[CHANNEL.channel_name]
" else - dat+="[CHANNEL.channel_name] [(CHANNEL.censored) ? ("***") : null]
" + dat+=span_bold("[CHANNEL.channel_name] [(CHANNEL.censored) ? ("***") : null]
") dat+={"

Refresh
Back "} @@ -463,7 +463,7 @@ var/global/floorIsLava = 0 dat+="
Back" if(14) - dat+="Wanted Issue Handler:" + dat+=span_bold("Wanted Issue Handler:") var/wanted_already = 0 var/end_param = 1 if(news_network.wanted_issue) @@ -597,16 +597,16 @@ var/global/floorIsLava = 0 /datum/admins/proc/restart() - set category = "Server" + set category = "Server.Game" set name = "Restart" set desc="Restarts the world" if (!usr.client.holder) return var/confirm = alert(usr, "Restart the game world?", "Restart", "Yes", "Cancel") // Not tgui_alert for safety - if(confirm == "Cancel") + if(!confirm || confirm == "Cancel") return if(confirm == "Yes") - to_world("Restarting world! Initiated by [usr.client.holder.fakekey ? "Admin" : usr.key]!") + to_world(span_danger("Restarting world!" ) + span_notice("Initiated by [usr.client.holder.fakekey ? "Admin" : usr.key]!")) log_admin("[key_name(usr)] initiated a reboot.") feedback_set_details("end_error","admin reboot - by [usr.key] [usr.client.holder.fakekey ? "(stealth)" : ""]") @@ -620,7 +620,7 @@ var/global/floorIsLava = 0 /datum/admins/proc/announce() - set category = "Special Verbs" + set category = "Admin.Chat" set name = "Announce" set desc="Announce your desires to the world" if(!check_rights(0)) return @@ -630,7 +630,7 @@ var/global/floorIsLava = 0 if(!check_rights(R_SERVER,0)) message = sanitize(message, 500, extra = 0) message = replacetext(message, "\n", "
") // required since we're putting it in a

tag - to_world("[usr.client.holder.fakekey ? "Administrator" : usr.key] Announces:

[message]

") + to_world(span_notice(span_bold("[usr.client.holder.fakekey ? "Administrator" : usr.key] Announces:") + "

[message]

")) log_admin("Announce: [key_name(usr)] : [message]") feedback_add_details("admin_verb","A") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -638,7 +638,7 @@ var/global/floorIsLava = 0 var/datum/announcement/priority/admin_pri_announcer = new var/datum/announcement/minor/admin_min_announcer = new /datum/admins/proc/intercom() - set category = "Fun" + set category = "Fun.Event Kit" set name = "Intercom Msg" set desc = "Send an intercom message, like an arrivals announcement." if(!check_rights(0)) return @@ -666,7 +666,7 @@ var/datum/announcement/minor/admin_min_announcer = new feedback_add_details("admin_verb","IN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/intercom_convo() - set category = "Fun" + set category = "Fun.Event Kit" set name = "Intercom Convo" set desc = "Send an intercom conversation, like several uses of the Intercom Msg verb." set waitfor = FALSE //Why bother? We have some sleeps. You can leave tho! @@ -681,7 +681,7 @@ var/datum/announcement/minor/admin_min_announcer = new if(!speech_verb) return - to_chat(usr, "Intercom Convo Directions
Start the conversation with the sender, a pipe (|), and then the message on one line. Then hit enter to \ + to_chat(usr, span_notice(span_bold("Intercom Convo Directions") + "
Start the conversation with the sender, a pipe (|), and then the message on one line. Then hit enter to \ add another line, and type a (whole) number of seconds to pause between that message, and the next message, then repeat the message syntax up to 20 times. For example:
\ --- --- ---
\ Some Guy|Hello guys, what's up?
\ @@ -690,7 +690,7 @@ var/datum/announcement/minor/admin_min_announcer = new 5
\ Some Guy|Yeah, you too.
\ --- --- ---
\ - The above will result in those messages playing, with a 5 second gap between each. Maximum of 20 messages allowed.
") + The above will result in those messages playing, with a 5 second gap between each. Maximum of 20 messages allowed.")) var/list/decomposed var/message = tgui_input_text(usr,"See your chat box for instructions. Keep a copy elsewhere in case it is rejected when you click OK.", "Input Conversation", "", multiline = TRUE, prevent_enter = TRUE) @@ -705,12 +705,12 @@ var/datum/announcement/minor/admin_min_announcer = new //Time to find how they screwed up. //Wasn't the right length if((decomposed.len) % 3) //+1 to accomidate the lack of a wait time for the last message - to_chat(usr, "You passed [decomposed.len] segments (senders+messages+pauses). You must pass a multiple of 3, minus 1 (no pause after the last message). That means a sender and message on every other line (starting on the first), separated by a pipe character (|), and a number every other line that is a pause in seconds.") + to_chat(usr, span_warning("You passed [decomposed.len] segments (senders+messages+pauses). You must pass a multiple of 3, minus 1 (no pause after the last message). That means a sender and message on every other line (starting on the first), separated by a pipe character (|), and a number every other line that is a pause in seconds.")) return //Too long a conversation if((decomposed.len / 3) > 20) - to_chat(usr, "This conversation is too long! 20 messages maximum, please.") + to_chat(usr, span_warning("This conversation is too long! 20 messages maximum, please.")) return //Missed some sleeps, or sanitized to nothing. @@ -719,24 +719,24 @@ var/datum/announcement/minor/admin_min_announcer = new //Sanitize sender var/clean_sender = sanitize(decomposed[i]) if(!clean_sender) - to_chat(usr, "One part of your conversation was not able to be sanitized. It was the sender of the [(i+2)/3]\th message.") + to_chat(usr, span_warning("One part of your conversation was not able to be sanitized. It was the sender of the [(i+2)/3]\th message.")) return decomposed[i] = clean_sender //Sanitize message var/clean_message = sanitize(decomposed[++i]) if(!clean_message) - to_chat(usr, "One part of your conversation was not able to be sanitized. It was the body of the [(i+2)/3]\th message.") + to_chat(usr, span_warning("One part of your conversation was not able to be sanitized. It was the body of the [(i+2)/3]\th message.")) return decomposed[i] = clean_message //Sanitize wait time var/clean_time = text2num(decomposed[++i]) if(!isnum(clean_time)) - to_chat(usr, "One part of your conversation was not able to be sanitized. It was the wait time after the [(i+2)/3]\th message.") + to_chat(usr, span_warning("One part of your conversation was not able to be sanitized. It was the wait time after the [(i+2)/3]\th message.")) return if(clean_time > 60) - to_chat(usr, "Max 60 second wait time between messages for sanity's sake please.") + to_chat(usr, span_warning("Max 60 second wait time between messages for sanity's sake please.")) return decomposed[i] = clean_time @@ -753,70 +753,70 @@ var/datum/announcement/minor/admin_min_announcer = new sleep(this_wait SECONDS) /datum/admins/proc/toggleooc() - set category = "Server" + set category = "Server.Chat" set desc="Globally Toggles OOC" set name="Toggle Player OOC" if(!check_rights(R_ADMIN)) return - config.ooc_allowed = !(config.ooc_allowed) - if (config.ooc_allowed) - to_world("The OOC channel has been globally enabled!") + CONFIG_SET(flag/ooc_allowed, !CONFIG_GET(flag/ooc_allowed)) + if (CONFIG_GET(flag/ooc_allowed)) + to_world(span_world("The OOC channel has been globally enabled!")) else - to_world("The OOC channel has been globally disabled!") + to_world(span_world("The OOC channel has been globally disabled!")) log_and_message_admins("toggled OOC.") feedback_add_details("admin_verb","TOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/togglelooc() - set category = "Server" + set category = "Server.Chat" set desc="Globally Toggles LOOC" set name="Toggle Player LOOC" if(!check_rights(R_ADMIN)) return - config.looc_allowed = !(config.looc_allowed) - if (config.looc_allowed) - to_world("The LOOC channel has been globally enabled!") + CONFIG_SET(flag/looc_allowed, !CONFIG_GET(flag/looc_allowed)) + if (CONFIG_GET(flag/looc_allowed)) + to_world(span_world("The LOOC channel has been globally enabled!")) else - to_world("The LOOC channel has been globally disabled!") + to_world(span_world("The LOOC channel has been globally disabled!")) log_and_message_admins("toggled LOOC.") feedback_add_details("admin_verb","TLOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/toggledsay() - set category = "Server" + set category = "Server.Chat" set desc="Globally Toggles DSAY" set name="Toggle DSAY" if(!check_rights(R_ADMIN)) return - config.dsay_allowed = !(config.dsay_allowed) - if (config.dsay_allowed) - to_world("Deadchat has been globally enabled!") + CONFIG_SET(flag/dsay_allowed, !CONFIG_GET(flag/dsay_allowed)) + if (CONFIG_GET(flag/dsay_allowed)) + to_world(span_world("Deadchat has been globally enabled!")) else - to_world("Deadchat has been globally disabled!") + to_world(span_world("Deadchat has been globally disabled!")) log_admin("[key_name(usr)] toggled deadchat.") message_admins("[key_name_admin(usr)] toggled deadchat.", 1) feedback_add_details("admin_verb","TDSAY") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc /datum/admins/proc/toggleoocdead() - set category = "Server" + set category = "Server.Chat" set desc="Toggle Dead OOC." set name="Toggle Dead OOC" if(!check_rights(R_ADMIN)) return - config.dooc_allowed = !( config.dooc_allowed ) + CONFIG_SET(flag/dooc_allowed, !CONFIG_GET(flag/dooc_allowed)) log_admin("[key_name(usr)] toggled Dead OOC.") message_admins("[key_name_admin(usr)] toggled Dead OOC.", 1) feedback_add_details("admin_verb","TDOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/togglehubvisibility() - set category = "Server" + set category = "Server.Config" set desc="Globally Toggles Hub Visibility" set name="Toggle Hub Visibility" @@ -829,23 +829,23 @@ var/datum/announcement/minor/admin_min_announcer = new feedback_add_details("admin_verb","THUB") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc /datum/admins/proc/toggletraitorscaling() - set category = "Server" + set category = "Server.Game" set desc="Toggle traitor scaling" set name="Toggle Traitor Scaling" - config.traitor_scaling = !config.traitor_scaling - log_admin("[key_name(usr)] toggled Traitor Scaling to [config.traitor_scaling].") - message_admins("[key_name_admin(usr)] toggled Traitor Scaling [config.traitor_scaling ? "on" : "off"].", 1) + CONFIG_SET(flag/traitor_scaling, !CONFIG_GET(flag/traitor_scaling)) + log_admin("[key_name(usr)] toggled Traitor Scaling to [CONFIG_GET(flag/traitor_scaling)].") + message_admins("[key_name_admin(usr)] toggled Traitor Scaling [CONFIG_GET(flag/traitor_scaling) ? "on" : "off"].", 1) feedback_add_details("admin_verb","TTS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/startnow() - set category = "Server" + set category = "Server.Game" set desc="Start the round ASAP" set name="Start Now" if(!check_rights(R_SERVER|R_EVENT)) return if(SSticker.current_state > GAME_STATE_PREGAME) - to_chat(usr, "Error: Start Now: Game has already started.") + to_chat(usr, span_warning("Error: Start Now: Game has already started.")) return if(!SSticker.start_immediately) SSticker.start_immediately = TRUE @@ -853,102 +853,102 @@ var/datum/announcement/minor/admin_min_announcer = new if(SSticker.current_state == GAME_STATE_INIT) msg = " (The server is still setting up, but the round will be started as soon as possible.)" log_admin("[key_name(usr)] has started the game.[msg]") - message_admins("[key_name_admin(usr)] has started the game.[msg]") + message_admins(span_notice("[key_name_admin(usr)] has started the game.[msg]")) feedback_add_details("admin_verb","SN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! else SSticker.start_immediately = FALSE - to_world("Immediate game start canceled. Normal startup resumed.") + to_world(span_filter_system(span_blue("Immediate game start canceled. Normal startup resumed."))) log_and_message_admins("cancelled immediate game start.") /datum/admins/proc/toggleenter() - set category = "Server" + set category = "Server.Game" set desc="People can't enter" set name="Toggle Entering" - config.enter_allowed = !(config.enter_allowed) - if (!(config.enter_allowed)) - to_world("New players may no longer enter the game.") + CONFIG_SET(flag/enter_allowed, !CONFIG_GET(flag/enter_allowed)) + if (!CONFIG_GET(flag/enter_allowed)) + to_world(span_world("New players may no longer enter the game.")) else - to_world("New players may now enter the game.") + to_world(span_world("New players may now enter the game.")) log_admin("[key_name(usr)] toggled new player game entering.") message_admins(span_blue("[key_name_admin(usr)] toggled new player game entering."), 1) world.update_status() feedback_add_details("admin_verb","TE") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/toggleAI() - set category = "Server" + set category = "Server.Game" set desc="People can't be AI" set name="Toggle AI" - config.allow_ai = !( config.allow_ai ) - if (!( config.allow_ai )) - to_world("The AI job is no longer chooseable.") + CONFIG_SET(flag/allow_ai, !CONFIG_GET(flag/allow_ai)) + if (!CONFIG_GET(flag/allow_ai)) + to_world(span_world("The AI job is no longer chooseable.")) else - to_world("The AI job is chooseable now.") + to_world(span_world("The AI job is chooseable now.")) log_admin("[key_name(usr)] toggled AI allowed.") world.update_status() feedback_add_details("admin_verb","TAI") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/toggleaban() - set category = "Server" + set category = "Server.Game" set desc="Respawn basically" set name="Toggle Respawn" - config.abandon_allowed = !(config.abandon_allowed) - if(config.abandon_allowed) - to_world("You may now respawn.") + CONFIG_SET(flag/abandon_allowed, !CONFIG_GET(flag/abandon_allowed)) + if(CONFIG_GET(flag/abandon_allowed)) + to_world(span_world("You may now respawn.")) else - to_world("You may no longer respawn :(") - message_admins(span_blue("[key_name_admin(usr)] toggled respawn to [config.abandon_allowed ? "On" : "Off"]."), 1) - log_admin("[key_name(usr)] toggled respawn to [config.abandon_allowed ? "On" : "Off"].") + to_world(span_world("You may no longer respawn :(")) + message_admins(span_blue("[key_name_admin(usr)] toggled respawn to [CONFIG_GET(flag/abandon_allowed) ? "On" : "Off"]."), 1) + log_admin("[key_name(usr)] toggled respawn to [CONFIG_GET(flag/abandon_allowed) ? "On" : "Off"].") world.update_status() feedback_add_details("admin_verb","TR") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/togglepersistence() - set category = "Server" + set category = "Server.Config" set desc="Whether persistent data will be saved from now on." set name="Toggle Persistent Data" - config.persistence_disabled = !(config.persistence_disabled) - if(!config.persistence_disabled) - to_world("Persistence is now enabled..") + CONFIG_SET(flag/persistence_disabled, !CONFIG_GET(flag/persistence_disabled)) + if(!CONFIG_GET(flag/persistence_disabled)) + to_world(span_world("Persistence is now enabled.")) else - to_world("Persistence is no longer enabled.") - message_admins(span_blue("[key_name_admin(usr)] toggled persistence to [config.persistence_disabled ? "Off" : "On"]."), 1) - log_admin("[key_name(usr)] toggled persistence to [config.persistence_disabled ? "Off" : "On"].") + to_world(span_world("Persistence is no longer enabled.")) + message_admins(span_blue("[key_name_admin(usr)] toggled persistence to [CONFIG_GET(flag/persistence_disabled) ? "Off" : "On"]."), 1) + log_admin("[key_name(usr)] toggled persistence to [CONFIG_GET(flag/persistence_disabled) ? "Off" : "On"].") world.update_status() feedback_add_details("admin_verb","TPD") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/togglemaploadpersistence() - set category = "Server" + set category = "Server.Config" set desc="Whether mapload persistent data will be saved from now on." set name="Toggle Mapload Persistent Data" - config.persistence_ignore_mapload = !(config.persistence_ignore_mapload) - if(!config.persistence_ignore_mapload) - to_world("Persistence is now enabled..") + CONFIG_SET(flag/persistence_ignore_mapload, !CONFIG_GET(flag/persistence_ignore_mapload)) + if(!CONFIG_GET(flag/persistence_ignore_mapload)) + to_world(span_world("Persistence is now enabled.")) else - to_world("Persistence is no longer enabled.") - message_admins(span_blue("[key_name_admin(usr)] toggled persistence to [config.persistence_ignore_mapload ? "Off" : "On"]."), 1) - log_admin("[key_name(usr)] toggled persistence to [config.persistence_ignore_mapload ? "Off" : "On"].") + to_world(span_world("Persistence is no longer enabled.")) + message_admins(span_blue("[key_name_admin(usr)] toggled persistence to [CONFIG_GET(flag/persistence_ignore_mapload) ? "Off" : "On"]."), 1) + log_admin("[key_name(usr)] toggled persistence to [CONFIG_GET(flag/persistence_ignore_mapload) ? "Off" : "On"].") world.update_status() feedback_add_details("admin_verb","TMPD") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/toggle_aliens() - set category = "Server" + set category = "Server.Game" set desc="Toggle alien mobs" set name="Toggle Aliens" - config.aliens_allowed = !config.aliens_allowed - log_admin("[key_name(usr)] toggled Aliens to [config.aliens_allowed].") - message_admins("[key_name_admin(usr)] toggled Aliens [config.aliens_allowed ? "on" : "off"].", 1) + CONFIG_SET(flag/aliens_allowed, !CONFIG_GET(flag/aliens_allowed)) + log_admin("[key_name(usr)] toggled Aliens to [CONFIG_GET(flag/aliens_allowed)].") + message_admins("[key_name_admin(usr)] toggled Aliens [CONFIG_GET(flag/aliens_allowed) ? "on" : "off"].", 1) feedback_add_details("admin_verb","TA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/toggle_space_ninja() - set category = "Server" + set category = "Server.Game" set desc="Toggle space ninjas spawning." set name="Toggle Space Ninjas" - config.ninjas_allowed = !config.ninjas_allowed - log_admin("[key_name(usr)] toggled Space Ninjas to [config.ninjas_allowed].") - message_admins("[key_name_admin(usr)] toggled Space Ninjas [config.ninjas_allowed ? "on" : "off"].", 1) + CONFIG_SET(flag/ninjas_allowed, !CONFIG_GET(flag/ninjas_allowed)) + log_admin("[key_name(usr)] toggled Space Ninjas to [CONFIG_GET(flag/ninjas_allowed)].") + message_admins("[key_name_admin(usr)] toggled Space Ninjas [CONFIG_GET(flag/ninjas_allowed) ? "on" : "off"].", 1) feedback_add_details("admin_verb","TSN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/delay() - set category = "Server" + set category = "Server.Game" set desc="Delay the game start/end" set name="Delay" @@ -960,45 +960,45 @@ var/datum/announcement/minor/admin_min_announcer = new return round_progressing = !round_progressing if (!round_progressing) - to_world("The game start has been delayed.") + to_world(span_world("The game start has been delayed.")) log_admin("[key_name(usr)] delayed the game.") else - to_world("The game will start soon.") + to_world(span_world("The game will start soon.")) log_admin("[key_name(usr)] removed the delay.") feedback_add_details("admin_verb","DELAY") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/adjump() - set category = "Server" + set category = "Server.Game" set desc="Toggle admin jumping" set name="Toggle Jump" - config.allow_admin_jump = !(config.allow_admin_jump) - message_admins(span_blue("Toggled admin jumping to [config.allow_admin_jump].")) + CONFIG_SET(flag/allow_admin_jump, !CONFIG_GET(flag/allow_admin_jump)) + message_admins(span_blue("Toggled admin jumping to [CONFIG_GET(flag/allow_admin_jump)].")) feedback_add_details("admin_verb","TJ") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/adspawn() - set category = "Server" + set category = "Server.Game" set desc="Toggle admin spawning" set name="Toggle Spawn" - config.allow_admin_spawning = !(config.allow_admin_spawning) - message_admins(span_blue("Toggled admin item spawning to [config.allow_admin_spawning].")) + CONFIG_SET(flag/allow_admin_spawning, !CONFIG_GET(flag/allow_admin_spawning)) + message_admins(span_blue("Toggled admin item spawning to [CONFIG_GET(flag/allow_admin_spawning)].")) feedback_add_details("admin_verb","TAS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/adrev() - set category = "Server" + set category = "Server.Game" set desc="Toggle admin revives" set name="Toggle Revive" - config.allow_admin_rev = !(config.allow_admin_rev) - message_admins(span_blue("Toggled reviving to [config.allow_admin_rev].")) + CONFIG_SET(flag/allow_admin_rev, !CONFIG_GET(flag/allow_admin_rev)) + message_admins(span_blue("Toggled reviving to [CONFIG_GET(flag/allow_admin_rev)].")) feedback_add_details("admin_verb","TAR") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/immreboot() - set category = "Server" + set category = "Server.Game" set desc="Reboots the server post haste" set name="Immediate Reboot" if(!usr.client.holder) return - if(alert(usr, "Reboot server?","Reboot!","Yes","No") == "No") // Not tgui_alert for safety + if(alert(usr, "Reboot server?","Reboot!","Yes","No") != "Yes") // Not tgui_alert for safety return - to_world("[span_red("Rebooting world!")] [span_blue("Initiated by [usr.client.holder.fakekey ? "Admin" : usr.key]!")]") + to_world(span_filter_system("[span_red(span_bold("Rebooting world!"))] [span_blue("Initiated by [usr.client.holder.fakekey ? "Admin" : usr.key]!")]")) log_admin("[key_name(usr)] initiated an immediate reboot.") feedback_set_details("end_error","immediate admin reboot - by [usr.key] [usr.client.holder.fakekey ? "(stealth)" : ""]") @@ -1010,10 +1010,10 @@ var/datum/announcement/minor/admin_min_announcer = new world.Reboot() /datum/admins/proc/unprison(var/mob/M in mob_list) - set category = "Admin" + set category = "Admin.Moderation" set name = "Unprison" if (M.z == 2) - if (config.allow_admin_jump) + if (CONFIG_GET(flag/allow_admin_jump)) M.loc = pick(latejoin) message_admins("[key_name_admin(usr)] has unprisoned [key_name_admin(M)]", 1) log_admin("[key_name(usr)] has unprisoned [key_name(M)]") @@ -1051,7 +1051,7 @@ var/datum/announcement/minor/admin_min_announcer = new return 0 /datum/admins/proc/spawn_fruit(seedtype in SSplants.seeds) - set category = "Debug" + set category = "Debug.Game" set desc = "Spawn the product of a seed." set name = "Spawn Fruit" @@ -1066,7 +1066,7 @@ var/datum/announcement/minor/admin_min_announcer = new log_admin("[key_name(usr)] spawned [seedtype] fruit at ([usr.x],[usr.y],[usr.z])") /datum/admins/proc/spawn_custom_item() - set category = "Debug" + set category = "Debug.Game" set desc = "Spawn a custom item." set name = "Spawn Custom Item" @@ -1084,8 +1084,7 @@ var/datum/announcement/minor/admin_min_announcer = new item_to_spawn.spawn_item(get_turf(usr)) /datum/admins/proc/check_custom_items() - - set category = "Debug" + set category = "Debug.Investigate" set desc = "Check the custom item list." set name = "Check Custom Items" @@ -1106,7 +1105,7 @@ var/datum/announcement/minor/admin_min_announcer = new to_chat(usr, "- name: [item.name] icon: [item.item_icon] path: [item.item_path] desc: [item.item_desc]") /datum/admins/proc/spawn_plant(seedtype in SSplants.seeds) - set category = "Debug" + set category = "Debug.Game" set desc = "Spawn a spreading plant effect." set name = "Spawn Plant" @@ -1119,7 +1118,7 @@ var/datum/announcement/minor/admin_min_announcer = new /datum/admins/proc/spawn_atom(var/object as text) set name = "Spawn" - set category = "Debug" + set category = "Debug.Game" set desc = "(atom path) Spawn an atom" if(!check_rights(R_SPAWN)) return @@ -1153,7 +1152,7 @@ var/datum/announcement/minor/admin_min_announcer = new /datum/admins/proc/show_traitor_panel(var/mob/M in mob_list) - set category = "Admin" + set category = "Admin.Events" set desc = "Edit mobs's memory and role" set name = "Show Traitor Panel" @@ -1168,7 +1167,7 @@ var/datum/announcement/minor/admin_min_announcer = new feedback_add_details("admin_verb","STP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/show_game_mode() - set category = "Admin" + set category = "Admin.Game" set desc = "Show the current round configuration." set name = "Show Game Mode" @@ -1226,7 +1225,7 @@ var/datum/announcement/minor/admin_min_announcer = new else out += "Autotraitor disabled.
" - out += "All antag ids:" + out += span_bold("All antag ids:") if(ticker.mode.antag_templates && ticker.mode.antag_templates.len) for(var/datum/antagonist/antag in ticker.mode.antag_templates) antag.update_current_antag_max() @@ -1242,29 +1241,29 @@ var/datum/announcement/minor/admin_min_announcer = new /datum/admins/proc/toggletintedweldhelmets() - set category = "Debug" + set category = "Server.Config" set desc="Reduces view range when wearing welding helmets" set name="Toggle tinted welding helmets." - config.welder_vision = !( config.welder_vision ) - if (config.welder_vision) - to_world("Reduced welder vision has been enabled!") + CONFIG_SET(flag/welder_vision, !CONFIG_GET(flag/welder_vision)) + if (CONFIG_GET(flag/welder_vision)) + to_world(span_world("Reduced welder vision has been enabled!")) else - to_world("Reduced welder vision has been disabled!") + to_world(span_world("Reduced welder vision has been disabled!")) log_admin("[key_name(usr)] toggled welder vision.") message_admins("[key_name_admin(usr)] toggled welder vision.", 1) feedback_add_details("admin_verb","TTWH") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/toggleguests() - set category = "Server" + set category = "Server.Config" set desc="Guests can't enter" set name="Toggle guests" - config.guests_allowed = !(config.guests_allowed) - if (!(config.guests_allowed)) - to_world("Guests may no longer enter the game.") + CONFIG_SET(flag/guests_allowed, !CONFIG_GET(flag/guests_allowed)) + if (!CONFIG_GET(flag/guests_allowed)) + to_world(span_world("Guests may no longer enter the game.")) else - to_world("Guests may now enter the game.") - log_admin("[key_name(usr)] toggled guests game entering [config.guests_allowed?"":"dis"]allowed.") - message_admins(span_blue("[key_name_admin(usr)] toggled guests game entering [config.guests_allowed?"":"dis"]allowed."), 1) + to_world(span_world("Guests may now enter the game.")) + log_admin("[key_name(usr)] toggled guests game entering [CONFIG_GET(flag/guests_allowed)?"":"dis"]allowed.") + message_admins(span_blue("[key_name_admin(usr)] toggled guests game entering [CONFIG_GET(flag/guests_allowed)?"":"dis"]allowed."), 1) feedback_add_details("admin_verb","TGU") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/output_ai_laws() @@ -1272,41 +1271,24 @@ var/datum/announcement/minor/admin_min_announcer = new for(var/mob/living/silicon/S in mob_list) ai_number++ if(isAI(S)) - to_chat(usr, "AI [key_name(S, usr)]'s laws:") + to_chat(usr, span_bold("AI [key_name(S, usr)]'s laws:")) else if(isrobot(S)) var/mob/living/silicon/robot/R = S - to_chat(usr, "CYBORG [key_name(S, usr)] [R.connected_ai?"(Slaved to: [R.connected_ai])":"(Independent)"]: laws:") + to_chat(usr, span_bold("CYBORG [key_name(S, usr)] [R.connected_ai?"(Slaved to: [R.connected_ai])":"(Independent)"]: laws:")) else if (ispAI(S)) - to_chat(usr, "pAI [key_name(S, usr)]'s laws:") + to_chat(usr, span_bold("pAI [key_name(S, usr)]'s laws:")) else - to_chat(usr, "SOMETHING SILICON [key_name(S, usr)]'s laws:") + to_chat(usr, span_bold("SOMETHING SILICON [key_name(S, usr)]'s laws:")) if (S.laws == null) to_chat(usr, "[key_name(S, usr)]'s laws are null?? Contact a coder.") else S.laws.show_laws(usr) if(!ai_number) - to_chat(usr, "No AIs located") //Just so you know the thing is actually working and not just ignoring you. - -/datum/admins/proc/show_skills() - set category = "Admin" - set name = "Show Skills" - - if (!istype(src,/datum/admins)) - src = usr.client.holder - if (!istype(src,/datum/admins)) - to_chat(usr, "Error: you are not an admin!") - return - - var/mob/living/carbon/human/M = tgui_input_list(usr, "Select mob.", "Select mob.", human_mob_list) - if(!M) return - - show_skill_window(usr, M) - - return + to_chat(usr, span_bold("No AIs located")) //Just so you know the thing is actually working and not just ignoring you. /client/proc/update_mob_sprite(mob/living/carbon/human/H as mob) - set category = "Admin" + set category = "Admin.Game" set name = "Update Mob Sprite" set desc = "Should fix any mob sprite update errors." @@ -1319,7 +1301,7 @@ var/datum/announcement/minor/admin_min_announcer = new /proc/get_options_bar(whom, detail = 2, name = 0, link = 1, highlight_special = 1) if(!whom) - return "(*null*)" + return span_bold("(*null*)") var/mob/M var/client/C if(istype(whom, /client)) @@ -1329,25 +1311,25 @@ var/datum/announcement/minor/admin_min_announcer = new M = whom C = M.client else - return "(*not a mob*)" + return span_bold("(*not a mob*)") switch(detail) if(0) - return "[key_name(C, link, name, highlight_special)]" + return span_bold("[key_name(C, link, name, highlight_special)]") if(1) //Private Messages - return "[key_name(C, link, name, highlight_special)](?)" + return span_bold("[key_name(C, link, name, highlight_special)](?)") if(2) //Admins var/ref_mob = "\ref[M]" - return "[key_name(C, link, name, highlight_special)](?) (PP) (VV) (SM) ([admin_jump_link(M)]) (CA) (TAKE)" + return span_bold("[key_name(C, link, name, highlight_special)](?) (PP) (VV) (SM) ([admin_jump_link(M)]) (CA) (TAKE)") if(3) //Devs var/ref_mob = "\ref[M]" - return "[key_name(C, link, name, highlight_special)](VV)([admin_jump_link(M)]) (TAKE)" + return span_bold("[key_name(C, link, name, highlight_special)](VV)([admin_jump_link(M)]) (TAKE)") if(4) //Event Managers var/ref_mob = "\ref[M]" - return "[key_name(C, link, name, highlight_special)] (?) (PP) (VV) (SM) ([admin_jump_link(M)]) (TAKE)" + return span_bold("[key_name(C, link, name, highlight_special)] (?) (PP) (VV) (SM) ([admin_jump_link(M)]) (TAKE)") /proc/ishost(whom) @@ -1397,7 +1379,7 @@ var/datum/announcement/minor/admin_min_announcer = new if(body) if(body.teleop) body.teleop = tomob - message_admins("[key_name_admin(usr)] has put [frommob.ckey] in control of [tomob.name].") + message_admins(span_adminnotice("[key_name_admin(usr)] has put [frommob.ckey] in control of [tomob.name].")) log_admin("[key_name(usr)] stuffed [frommob.ckey] into [tomob.name].") feedback_add_details("admin_verb","CGD") tomob.ckey = frommob.ckey @@ -1405,7 +1387,7 @@ var/datum/announcement/minor/admin_min_announcer = new return 1 /datum/admins/proc/force_antag_latespawn() - set category = "Admin" + set category = "Admin.Events" set name = "Force Template Spawn" set desc = "Force an antagonist template to spawn." @@ -1429,7 +1411,7 @@ var/datum/announcement/minor/admin_min_announcer = new antag.attempt_late_spawn() /datum/admins/proc/force_mode_latespawn() - set category = "Admin" + set category = "Admin.Events" set name = "Force Mode Spawn" set desc = "Force autotraitor to proc." @@ -1447,7 +1429,7 @@ var/datum/announcement/minor/admin_min_announcer = new ticker.mode.try_latespawn() /datum/admins/proc/paralyze_mob(mob/living/H as mob) - set category = "Admin" + set category = "Admin.Events" set name = "Toggle Paralyze" set desc = "Paralyzes a player. Or unparalyses them." @@ -1465,7 +1447,7 @@ var/datum/announcement/minor/admin_min_announcer = new log_and_message_admins(msg) /datum/admins/proc/set_tcrystals(mob/living/carbon/human/H as mob) - set category = "Debug" + set category = "Debug.Game" set name = "Set Telecrystals" set desc = "Allows admins to change telecrystals of a user." set popup_menu = FALSE //VOREStation Edit - Declutter. @@ -1481,7 +1463,7 @@ var/datum/announcement/minor/admin_min_announcer = new to_chat(usr, "You do not have access to this command.") /datum/admins/proc/add_tcrystals(mob/living/carbon/human/H as mob) - set category = "Debug" + set category = "Debug.Game" set name = "Add Telecrystals" set desc = "Allows admins to change telecrystals of a user by addition." set popup_menu = FALSE //VOREStation Edit - Declutter. @@ -1498,7 +1480,7 @@ var/datum/announcement/minor/admin_min_announcer = new /datum/admins/proc/sendFax() - set category = "Special Verbs" + set category = "Fun.Event Kit" set name = "Send Fax" set desc = "Sends a fax to this machine" var/department = tgui_input_list(usr, "Choose a fax", "Fax", alldepartments) @@ -1513,7 +1495,7 @@ var/datum/announcement/minor/admin_min_announcer = new var/replyorigin = tgui_input_text(src.owner, "Please specify who the fax is coming from", "Origin") - var/obj/item/weapon/paper/admin/P = new /obj/item/weapon/paper/admin( null ) //hopefully the null loc won't cause trouble for us + var/obj/item/paper/admin/P = new /obj/item/paper/admin( null ) //hopefully the null loc won't cause trouble for us faxreply = P P.admindatum = src @@ -1523,9 +1505,9 @@ var/datum/announcement/minor/admin_min_announcer = new P.adminbrowse() -/datum/admins/var/obj/item/weapon/paper/admin/faxreply // var to hold fax replies in +/datum/admins/var/obj/item/paper/admin/faxreply // var to hold fax replies in -/datum/admins/proc/faxCallback(var/obj/item/weapon/paper/admin/P, var/obj/machinery/photocopier/faxmachine/destination) +/datum/admins/proc/faxCallback(var/obj/item/paper/admin/P, var/obj/machinery/photocopier/faxmachine/destination) var/customname = tgui_input_text(src.owner, "Pick a title for the report", "Title") P.name = "[P.origin] - [customname]" @@ -1533,9 +1515,8 @@ var/datum/announcement/minor/admin_min_announcer = new var/shouldStamp = 1 if(!P.sender) // admin initiated - switch(tgui_alert(usr, "Would you like the fax stamped?","Stamped?", list("Yes", "No"))) - if("No") - shouldStamp = 0 + if(tgui_alert(usr, "Would you like the fax stamped?","Stamped?", list("Yes", "No")) != "Yes") + shouldStamp = 0 if(shouldStamp) P.stamps += "
This paper has been stamped by the [P.origin] Quantum Relay." @@ -1555,7 +1536,7 @@ var/datum/announcement/minor/admin_min_announcer = new if(!P.stamped) P.stamped = new - P.stamped += /obj/item/weapon/stamp/centcomm + P.stamped += /obj/item/stamp/centcomm P.add_overlay(stampoverlay) var/obj/item/rcvdcopy @@ -1566,17 +1547,17 @@ var/datum/announcement/minor/admin_min_announcer = new if(destination.receivefax(P)) - to_chat(src.owner, "Message reply to transmitted successfully.") + to_chat(src.owner, span_notice("Message reply to transmitted successfully.")) if(P.sender) // sent as a reply log_admin("[key_name(src.owner)] replied to a fax message from [key_name(P.sender)]") for(var/client/C in GLOB.admins) if((R_ADMIN | R_MOD | R_EVENT) & C.holder.rights) - to_chat(C, "FAX LOG:[key_name_admin(src.owner)] replied to a fax message from [key_name_admin(P.sender)] (VIEW)") + to_chat(C, span_log_message("[span_prefix("FAX LOG:")][key_name_admin(src.owner)] replied to a fax message from [key_name_admin(P.sender)] (VIEW)")) else log_admin("[key_name(src.owner)] has sent a fax message to [destination.department]") for(var/client/C in GLOB.admins) if((R_ADMIN | R_MOD | R_EVENT) & C.holder.rights) - to_chat(C, "FAX LOG:[key_name_admin(src.owner)] has sent a fax message to [destination.department] (VIEW)") + to_chat(C, span_log_message("[span_prefix("FAX LOG:")][key_name_admin(src.owner)] has sent a fax message to [destination.department] (VIEW)")) var/plaintext_title = P.sender ? "replied to [key_name(P.sender)]'s fax" : "sent a fax message to [destination.department]" var/fax_text = paper_html_to_plaintext(P.info) @@ -1592,7 +1573,7 @@ var/datum/announcement/minor/admin_min_announcer = new ) else - to_chat(src.owner, "Message reply failed.") + to_chat(src.owner, span_warning("Message reply failed.")) spawn(100) qdel(P) diff --git a/code/modules/admin/admin_attack_log.dm b/code/modules/admin/admin_attack_log.dm index fb85a7db1c6..a71442c3588 100644 --- a/code/modules/admin/admin_attack_log.dm +++ b/code/modules/admin/admin_attack_log.dm @@ -33,7 +33,7 @@ for(var/mob/victim in victims) admin_attack_log(attacker, victim, attacker_message, victim_message, admin_message) -/proc/admin_inject_log(mob/attacker, mob/victim, obj/item/weapon, reagents, amount_transferred, violent=0) +/proc/admin_inject_log(mob/attacker, mob/victim, obj/item, reagents, amount_transferred, violent=0) if(violent) violent = "violently " else diff --git a/code/modules/admin/admin_investigate.dm b/code/modules/admin/admin_investigate.dm index f59a6ad811b..eed6315ef02 100644 --- a/code/modules/admin/admin_investigate.dm +++ b/code/modules/admin/admin_investigate.dm @@ -23,30 +23,30 @@ if(!message) return var/F = investigate_subject2file(subject) if(!F) return - to_file(F, "[time2text(world.timeofday,"hh:mm")] \ref[src] ([x],[y],[z]) || [src] [message]
") + to_file(F, span_filter_adminlog("[time2text(world.timeofday,"hh:mm")] \ref[src] ([x],[y],[z]) || [src] [message]
")) //ADMINVERBS /client/proc/investigate_show( subject in list("hrefs","notes","singulo","telesci") ) set name = "Investigate" - set category = "Admin" + set category = "Admin.Investigate" if(!holder) return switch(subject) if("singulo", "telesci") //general one-round-only stuff var/F = investigate_subject2file(subject) if(!F) - to_chat(src, "Error: admin_investigate: [INVESTIGATE_DIR][subject] is an invalid path or cannot be accessed.") + to_chat(src, span_filter_adminlog(span_warning("Error: admin_investigate: [INVESTIGATE_DIR][subject] is an invalid path or cannot be accessed."))) return src << browse(F,"window=investigate[subject];size=800x300") if("hrefs") //persistant logs and stuff - if(config && config.log_hrefs) + if(config && CONFIG_GET(flag/log_hrefs)) if(href_logfile) src << browse(href_logfile,"window=investigate[subject];size=800x300") else - to_chat(src, "Error: admin_investigate: No href logfile found.") + to_chat(src, span_filter_adminlog(span_warning("Error: admin_investigate: No href logfile found."))) return else - to_chat(src, "Error: admin_investigate: Href Logging is not on.") + to_chat(src, span_filter_adminlog(span_warning("Error: admin_investigate: Href Logging is not on."))) return #undef INVESTIGATE_DIR diff --git a/code/modules/admin/admin_memo.dm b/code/modules/admin/admin_memo.dm index e305c83b5ac..b230031cf20 100644 --- a/code/modules/admin/admin_memo.dm +++ b/code/modules/admin/admin_memo.dm @@ -4,7 +4,7 @@ //switch verb so we don't spam up the verb lists with like, 3 verbs for this feature. /client/proc/admin_memo(task in list("write","show","delete")) set name = "Memo" - set category = "Server" + set category = "Server.Admin" #ifndef ENABLE_MEMOS return #endif @@ -24,11 +24,11 @@ return if("") F.dir.Remove(ckey) - to_chat(src, "Memo removed") + to_chat(src, span_filter_adminlog(span_bold("Memo removed"))) return if( findtext(memo,"[key] on [time2text(world.realtime,"(DDD) DD MMM hh:mm")]
[memo]") + to_chat(F[ckey], span_filter_adminlog("[key] on [time2text(world.realtime,"(DDD) DD MMM hh:mm")]
[memo]")) message_admins("[key] set an admin memo:
[memo]") //show all memos @@ -39,7 +39,7 @@ var/savefile/F = new(MEMOFILE) if(F) for(var/ckey in F.dir) - to_chat(src, "
Admin Memo by [F[ckey]]
") + to_chat(src, span_filter_adminlog("
Admin Memo by [F[ckey]]
")) //delete your own or somebody else's memo /client/proc/admin_memo_delete() @@ -52,7 +52,7 @@ ckey = src.ckey if(ckey) F.dir.Remove(ckey) - to_chat(src, "Removed Memo created by [ckey].") + to_chat(src, span_filter_adminlog(span_bold("Removed Memo created by [ckey]."))) #undef MEMOFILE -#undef ENABLE_MEMOS \ No newline at end of file +#undef ENABLE_MEMOS diff --git a/code/modules/admin/admin_ranks.dm b/code/modules/admin/admin_ranks.dm index 740378afe4a..bbe7a3d4c1a 100644 --- a/code/modules/admin/admin_ranks.dm +++ b/code/modules/admin/admin_ranks.dm @@ -69,7 +69,7 @@ var/list/admin_ranks = list() //list of all ranks with associated rights C.holder = null GLOB.admins.Cut() - if(config.admin_legacy_system) + if(CONFIG_GET(flag/admin_legacy_system)) load_admin_ranks() //Clear profile access for(var/A in world.GetConfig("admin")) @@ -115,7 +115,7 @@ var/list/admin_ranks = list() //list of all ranks with associated rights if(!dbcon.IsConnected()) error("Failed to connect to database in load_admins(). Reverting to legacy system.") log_misc("Failed to connect to database in load_admins(). Reverting to legacy system.") - config.admin_legacy_system = 1 + CONFIG_SET(flag/admin_legacy_system, TRUE) load_admins() return @@ -138,7 +138,7 @@ var/list/admin_ranks = list() //list of all ranks with associated rights if(!admin_datums) error("The database query in load_admins() resulted in no admins being added to the list. Reverting to legacy system.") log_misc("The database query in load_admins() resulted in no admins being added to the list. Reverting to legacy system.") - config.admin_legacy_system = 1 + CONFIG_SET(flag/admin_legacy_system, TRUE) load_admins() return diff --git a/code/modules/admin/admin_report.dm b/code/modules/admin/admin_report.dm index 6cfb778d911..002d702654e 100644 --- a/code/modules/admin/admin_report.dm +++ b/code/modules/admin/admin_report.dm @@ -91,7 +91,7 @@ world/New() // display only the reports that haven't been handled /client/proc/display_admin_reports() - set category = "Admin" + set category = "Admin.Moderation" set name = "Display Admin Reports" if(!src.holder) return @@ -103,8 +103,8 @@ world/New() for(var/datum/admin_report/N in reports) if(N.done) continue - output += "Reported player: [N.offender_key](CID: [N.offender_cid])
" - output += "Offense:[N.body]
" + output += span_bold("Reported player:") + " [N.offender_key](CID: [N.offender_cid])
" + output += span_bold("Offense:") + "[N.body]
" output += "Occurred at [time2text(N.date,"MM/DD hh:mm:ss")]
" output += "authored by [N.author]
" output += " Flag as Handled" @@ -119,7 +119,7 @@ world/New() /client/proc/Report(mob/M as mob in world) - set category = "Admin" + set category = "Admin.Moderation" if(!src.holder) return @@ -150,7 +150,7 @@ world/New() if(N.ID == ID) found = N if(!found) - to_chat(src, "* An error occurred, sorry.") + to_chat(src, span_boldwarning("* An error occurred, sorry.")) found.done = 1 @@ -159,7 +159,7 @@ world/New() /client/proc/edit_report(ID as num) if(!src.holder || src.holder.level < 0) - to_chat(src, "You tried to modify the news, but you're not an admin!") + to_chat(src, span_boldwarning("You tried to modify the news, but you're not an admin!")) return var/savefile/Reports = new("data/reports.sav") @@ -172,7 +172,7 @@ world/New() if(N.ID == ID) found = N if(!found) - to_chat(src, "* An error occurred, sorry.") + to_chat(src, span_boldwarning("* An error occurred, sorry.")) var/body = tgui_input_text(src.mob, "Enter a body for the news", "Body", multiline = TRUE, prevent_enter = TRUE) if(!body) return diff --git a/code/modules/admin/admin_secrets.dm b/code/modules/admin/admin_secrets.dm index be0b5b8fb81..6c65a272e24 100644 --- a/code/modules/admin/admin_secrets.dm +++ b/code/modules/admin/admin_secrets.dm @@ -59,7 +59,7 @@ var/datum/admin_secrets/admin_secrets = new() /datum/admin_secret_item/proc/can_execute(var/mob/user) if(can_view(user)) - if(!warn_before_use || tgui_alert(usr, "Execute the command '[name]'?", name, list("No","Yes")) == "Yes") + if(!warn_before_use || tgui_alert(user, "Execute the command '[name]'?", name, list("No","Yes")) == "Yes") return 1 return 0 diff --git a/code/modules/admin/admin_tools.dm b/code/modules/admin/admin_tools.dm index 6bac63e7ca8..73d065bcc0c 100644 --- a/code/modules/admin/admin_tools.dm +++ b/code/modules/admin/admin_tools.dm @@ -1,14 +1,14 @@ /client/proc/cmd_admin_check_player_logs(mob/living/M as mob in mob_list) - set category = "Admin" + set category = "Admin.Logs" set name = "Check Player Attack Logs" set desc = "Check a player's attack logs." //Views specific attack logs belonging to one player. - var/dat = "[M]'s Attack Log:
" - dat += "Viewing attack logs of [M] - (Played by ([key_name(M)]).
" + var/dat = span_bold("[M]'s Attack Log:
") + dat += span_bold("Viewing attack logs of [M]") + " - (Played by ([key_name(M)]).
" if(M.mind) - dat += "Current Antag?: [(M.mind.special_role)?"Yes":"No"]
" - dat += "
Note: This is arranged from earliest to latest.

" + dat += span_bold("Current Antag?:") + " [(M.mind.special_role)?"Yes":"No"]
" + dat += "
" + span_bold("Note:") + " This is arranged from earliest to latest.

" if(!isemptylist(M.attack_log)) @@ -19,7 +19,7 @@ dat += "" else - dat += "No attack logs found for [M]." + dat += span_italics("No attack logs found for [M].") var/datum/browser/popup = new(usr, "admin_attack_log", "[src]", 650, 650, src) popup.set_content(jointext(dat,null)) @@ -30,16 +30,16 @@ feedback_add_details("admin_verb","PL") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_admin_check_dialogue_logs(mob/living/M as mob in mob_list) - set category = "Admin" + set category = "Admin.Logs" set name = "Check Player Dialogue Logs" set desc = "Check a player's dialogue logs." //Views specific dialogue logs belonging to one player. - var/dat = "[M]'s Dialogue Log:
" - dat += "Viewing say and emote logs of [M] - (Played by ([key_name(M)]).
" + var/dat = span_bold("[M]'s Dialogue Log:
") + dat += span_bold("Viewing say and emote logs of [M]") + " - (Played by ([key_name(M)]).
" if(M.mind) - dat += "Current Antag?: [(M.mind.special_role)?"Yes":"No"]
" - dat += "
Note: This is arranged from earliest to latest.

" + dat += span_bold("Current Antag?:") + " [(M.mind.special_role)?"Yes":"No"]
" + dat += "
" + span_bold("Note:") + " This is arranged from earliest to latest.

" if(!isemptylist(M.dialogue_log)) dat += "
" @@ -49,7 +49,7 @@ dat += "
" else - dat += "No dialogue logs found for [M]." + dat += span_italics("No dialogue logs found for [M].") var/datum/browser/popup = new(usr, "admin_dialogue_log", "[src]", 650, 650, src) popup.set_content(jointext(dat,null)) popup.open() @@ -57,4 +57,4 @@ onclose(usr, "admin_dialogue_log") - feedback_add_details("admin_verb","PDL") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! \ No newline at end of file + feedback_add_details("admin_verb","PDL") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! diff --git a/code/modules/admin/admin_verb_lists.dm b/code/modules/admin/admin_verb_lists.dm index 8e72f485f2d..edb02c8e655 100644 --- a/code/modules/admin/admin_verb_lists.dm +++ b/code/modules/admin/admin_verb_lists.dm @@ -13,6 +13,7 @@ var/list/admin_verbs_default = list( // /client/proc/cmd_mod_say, // /client/proc/deadchat //toggles deadchat on/off, // /client/proc/toggle_ahelp_sound, + /client/proc/debugstatpanel, ) var/list/admin_verbs_admin = list( @@ -83,7 +84,6 @@ var/list/admin_verbs_admin = list( /client/proc/cmd_admin_rejuvenate, /client/proc/toggleghostwriters, /client/proc/toggledrones, - /datum/admins/proc/show_skills, /client/proc/check_customitem_activity, /client/proc/man_up, /client/proc/global_man_up, @@ -355,7 +355,6 @@ var/list/admin_verbs_mod = list( /client/proc/colorooc, /client/proc/player_panel_new, /client/proc/dsay, - /datum/admins/proc/show_skills, /datum/admins/proc/show_player_panel, /client/proc/check_antagonists, /client/proc/aooc, @@ -472,7 +471,6 @@ var/list/admin_verbs_event_manager = list( /client/proc/cmd_admin_change_custom_event, /client/proc/cmd_admin_rejuvenate, /client/proc/toggleghostwriters, - /datum/admins/proc/show_skills, /client/proc/man_up, /client/proc/global_man_up, /client/proc/response_team, // Response Teams admin verb, @@ -508,27 +506,27 @@ var/list/admin_verbs_event_manager = list( /client/proc/add_admin_verbs() if(holder) - verbs += admin_verbs_default - if(holder.rights & R_BUILDMODE) verbs += /client/proc/togglebuildmodeself - if(holder.rights & R_ADMIN) verbs += admin_verbs_admin - if(holder.rights & R_BAN) verbs += admin_verbs_ban - if(holder.rights & R_FUN) verbs += admin_verbs_fun - if(holder.rights & R_SERVER) verbs += admin_verbs_server + add_verb(src, admin_verbs_default) + if(holder.rights & R_BUILDMODE) add_verb(src, /client/proc/togglebuildmodeself) + if(holder.rights & R_ADMIN) add_verb(src, admin_verbs_admin) + if(holder.rights & R_BAN) add_verb(src, admin_verbs_ban) + if(holder.rights & R_FUN) add_verb(src, admin_verbs_fun) + if(holder.rights & R_SERVER) add_verb(src, admin_verbs_server) if(holder.rights & R_DEBUG) - verbs += admin_verbs_debug + add_verb(src, admin_verbs_debug) if(config.debugparanoid && !(holder.rights & R_ADMIN)) - verbs.Remove(admin_verbs_paranoid_debug) //Right now it's just callproc but we can easily add others later on. - if(holder.rights & R_POSSESS) verbs += admin_verbs_possess - if(holder.rights & R_PERMISSIONS) verbs += admin_verbs_permissions - if(holder.rights & R_STEALTH) verbs += /client/proc/stealth - if(holder.rights & R_REJUVINATE) verbs += admin_verbs_rejuv - if(holder.rights & R_SOUNDS) verbs += admin_verbs_sounds - if(holder.rights & R_SPAWN) verbs += admin_verbs_spawn - if(holder.rights & R_MOD) verbs += admin_verbs_mod - if(holder.rights & R_EVENT) verbs += admin_verbs_event_manager + remove_verb(src, admin_verbs_paranoid_debug) //Right now it's just callproc but we can easily add others later on. + if(holder.rights & R_POSSESS) add_verb(src, admin_verbs_possess) + if(holder.rights & R_PERMISSIONS) add_verb(src, admin_verbs_permissions) + if(holder.rights & R_STEALTH) add_verb(src, /client/proc/stealth) + if(holder.rights & R_REJUVINATE) add_verb(src, admin_verbs_rejuv) + if(holder.rights & R_SOUNDS) add_verb(src, admin_verbs_sounds) + if(holder.rights & R_SPAWN) add_verb(src, admin_verbs_spawn) + if(holder.rights & R_MOD) add_verb(src, admin_verbs_mod) + if(holder.rights & R_EVENT) add_verb(src, admin_verbs_event_manager) /client/proc/remove_admin_verbs() - verbs.Remove( + remove_verb(src, list( admin_verbs_default, /client/proc/togglebuildmodeself, admin_verbs_admin, @@ -543,4 +541,4 @@ var/list/admin_verbs_event_manager = list( admin_verbs_sounds, admin_verbs_spawn, debug_verbs - ) + )) diff --git a/code/modules/admin/admin_verb_lists_vr.dm b/code/modules/admin/admin_verb_lists_vr.dm index 3c9ba604f41..6ae15f9d662 100644 --- a/code/modules/admin/admin_verb_lists_vr.dm +++ b/code/modules/admin/admin_verb_lists_vr.dm @@ -18,8 +18,7 @@ var/list/admin_verbs_default = list( // /client/proc/cmd_mod_say, // /client/proc/deadchat //toggles deadchat on/off, // /client/proc/toggle_ahelp_sound, - /client/proc/toggle_admin_global_looc, - /client/proc/toggle_admin_deadchat + /client/proc/debugstatpanel, ) var/list/admin_verbs_admin = list( @@ -100,7 +99,6 @@ var/list/admin_verbs_admin = list( /client/proc/cmd_admin_rejuvenate, /client/proc/toggleghostwriters, /client/proc/toggledrones, - /datum/admins/proc/show_skills, /client/proc/check_customitem_activity, /client/proc/man_up, /client/proc/global_man_up, @@ -118,8 +116,6 @@ var/list/admin_verbs_admin = list( /client/proc/change_security_level, /client/proc/view_chemical_reaction_logs, /client/proc/makepAI, - /client/proc/toggle_debug_logs, - /client/proc/toggle_attack_logs, /datum/admins/proc/paralyze_mob, /client/proc/fixatmos, /datum/admins/proc/quick_nif, //VOREStation Add, @@ -132,7 +128,8 @@ var/list/admin_verbs_admin = list( /client/proc/removetickets, /client/proc/delbook, /client/proc/toggle_spawning_with_recolour, - /client/proc/setckey, //YW add - readds SetCkey proc + /client/proc/start_vote, + /client/proc/setCKey, //YW add - readds SetCkey proc /client/proc/dbcon_fix //YW add - adds Fix Database Connection proc ) @@ -166,7 +163,8 @@ var/list/admin_verbs_fun = list( /client/proc/roll_dices, /datum/admins/proc/call_supply_drop, /datum/admins/proc/call_drop_pod, - /client/proc/smite, +// /client/proc/smite, //Replaced by player_effects + /client/proc/player_effects, /client/proc/admin_lightning_strike, /client/proc/resize, //VOREStation Add, /client/proc/cmd_admin_droppod_deploy, @@ -190,14 +188,18 @@ var/list/admin_verbs_spawn = list( /client/proc/cmd_admin_droppod_spawn, /client/proc/respawn_character, /client/proc/spawn_character_mob, //VOREStation Add, - /client/proc/virus2_editor, /client/proc/spawn_chemdisp_cartridge, /client/proc/map_template_load, /client/proc/map_template_upload, /client/proc/map_template_load_on_new_z, /client/proc/eventkit_open_mob_spawner, /client/proc/generic_structure, //VOREStation Add - /client/proc/generic_item //VOREStation Add + /client/proc/generic_item, //VOREStation Add + /client/proc/create_gm_message, + /client/proc/remove_gm_message, + /client/proc/AdminCreateVirus, + /client/proc/ReleaseVirus, + /client/proc/spawn_reagent ) var/list/admin_verbs_server = list( @@ -267,7 +269,6 @@ var/list/admin_verbs_debug = list( /client/proc/jumptomob, /client/proc/jumptocoord, /client/proc/dsay, - /client/proc/toggle_debug_logs, /client/proc/admin_ghost, //allows us to ghost/reenter body at will, /datum/admins/proc/show_player_panel, //shows an interface for individual players, with various links (links require additional flags, //VOREStation Add, /client/proc/player_panel_new, //shows an interface for all players, with links to various panels, //VOREStation Add, @@ -285,7 +286,8 @@ var/list/admin_verbs_debug = list( /client/proc/admin_give_modifier, /client/proc/simple_DPS, /datum/admins/proc/view_feedback, - /client/proc/stop_sounds + /client/proc/stop_sounds, + /client/proc/spawn_reagent ) var/list/admin_verbs_paranoid_debug = list( @@ -406,12 +408,10 @@ var/list/admin_verbs_mod = list( /client/proc/colorooc, /client/proc/player_panel_new, /client/proc/dsay, - /datum/admins/proc/show_skills, /datum/admins/proc/show_player_panel, /client/proc/check_antagonists, /client/proc/aooc, /client/proc/jobbans, - /client/proc/toggle_attack_logs, /client/proc/cmd_admin_subtle_message, //send an message to somebody as a 'voice in their head', /datum/admins/proc/paralyze_mob, /client/proc/cmd_admin_direct_narrate, @@ -421,7 +421,8 @@ var/list/admin_verbs_mod = list( /client/proc/getserverlog, //allows us to fetch server logs (diary) for other days, /datum/admins/proc/view_persistent_data, /datum/admins/proc/view_txt_log, //shows the server log (diary) for today, - /datum/admins/proc/view_atk_log //shows the server combat-log, doesn't do anything presently, + /datum/admins/proc/view_atk_log, //shows the server combat-log, doesn't do anything presently, + /client/proc/start_vote ) var/list/admin_verbs_event_manager = list( @@ -535,7 +536,6 @@ var/list/admin_verbs_event_manager = list( /client/proc/cmd_admin_change_custom_event, /client/proc/cmd_admin_rejuvenate, /client/proc/toggleghostwriters, - /datum/admins/proc/show_skills, /client/proc/man_up, /client/proc/global_man_up, /client/proc/response_team, // Response Teams admin verb, @@ -547,8 +547,6 @@ var/list/admin_verbs_event_manager = list( /client/proc/change_human_appearance_self, // Allows the human-based mob itself change its basic appearance , /client/proc/change_security_level, /client/proc/makepAI, - /client/proc/toggle_debug_logs, - /client/proc/toggle_attack_logs, /datum/admins/proc/paralyze_mob, /client/proc/fixatmos, /datum/admins/proc/sendFax, @@ -566,33 +564,35 @@ var/list/admin_verbs_event_manager = list( /client/proc/cmd_debug_del_all, /client/proc/toggle_random_events, /client/proc/modify_server_news, - /client/proc/toggle_spawning_with_recolour - + /client/proc/toggle_spawning_with_recolour, + /client/proc/start_vote, + /client/proc/AdminCreateVirus, + /client/proc/ReleaseVirus ) /client/proc/add_admin_verbs() if(holder) - verbs += admin_verbs_default - if(holder.rights & R_BUILDMODE) verbs += /client/proc/togglebuildmodeself - if(holder.rights & R_ADMIN) verbs += admin_verbs_admin - if(holder.rights & R_BAN) verbs += admin_verbs_ban - if(holder.rights & R_FUN) verbs += admin_verbs_fun - if(holder.rights & R_SERVER) verbs += admin_verbs_server + add_verb(src, admin_verbs_default) + if(holder.rights & R_BUILDMODE) add_verb(src, /client/proc/togglebuildmodeself) + if(holder.rights & R_ADMIN) add_verb(src, admin_verbs_admin) + if(holder.rights & R_BAN) add_verb(src, admin_verbs_ban) + if(holder.rights & R_FUN) add_verb(src, admin_verbs_fun) + if(holder.rights & R_SERVER) add_verb(src, admin_verbs_server) if(holder.rights & R_DEBUG) - verbs += admin_verbs_debug - if(config.debugparanoid && !(holder.rights & R_ADMIN)) - verbs.Remove(admin_verbs_paranoid_debug) //Right now it's just callproc but we can easily add others later on. - if(holder.rights & R_POSSESS) verbs += admin_verbs_possess - if(holder.rights & R_PERMISSIONS) verbs += admin_verbs_permissions - if(holder.rights & R_STEALTH) verbs += /client/proc/stealth - if(holder.rights & R_REJUVINATE) verbs += admin_verbs_rejuv - if(holder.rights & R_SOUNDS) verbs += admin_verbs_sounds - if(holder.rights & R_SPAWN) verbs += admin_verbs_spawn - if(holder.rights & R_MOD) verbs += admin_verbs_mod - if(holder.rights & R_EVENT) verbs += admin_verbs_event_manager + add_verb(src, admin_verbs_debug) + if(CONFIG_GET(flag/debugparanoid) && !(holder.rights & R_ADMIN)) + remove_verb(src, admin_verbs_paranoid_debug) //Right now it's just callproc but we can easily add others later on. + if(holder.rights & R_POSSESS) add_verb(src, admin_verbs_possess) + if(holder.rights & R_PERMISSIONS) add_verb(src, admin_verbs_permissions) + if(holder.rights & R_STEALTH) add_verb(src, /client/proc/stealth) + if(holder.rights & R_REJUVINATE) add_verb(src, admin_verbs_rejuv) + if(holder.rights & R_SOUNDS) add_verb(src, admin_verbs_sounds) + if(holder.rights & R_SPAWN) add_verb(src, admin_verbs_spawn) + if(holder.rights & R_MOD) add_verb(src, admin_verbs_mod) + if(holder.rights & R_EVENT) add_verb(src, admin_verbs_event_manager) /client/proc/remove_admin_verbs() - verbs.Remove( + remove_verb(src, list( admin_verbs_default, /client/proc/togglebuildmodeself, admin_verbs_admin, @@ -607,4 +607,4 @@ var/list/admin_verbs_event_manager = list( admin_verbs_sounds, admin_verbs_spawn, debug_verbs - ) + )) diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 295be20e517..6b4bad16849 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -1,38 +1,38 @@ /client/proc/hide_most_verbs()//Allows you to keep some functionality while hiding some verbs set name = "Adminverbs - Hide Most" - set category = "Admin" + set category = "Admin.Misc" - verbs.Remove(/client/proc/hide_most_verbs, admin_verbs_hideable) - verbs += /client/proc/show_verbs + remove_verb(src, list(/client/proc/hide_most_verbs, admin_verbs_hideable)) + add_verb(src, /client/proc/show_verbs) - to_chat(src, "Most of your adminverbs have been hidden.") + to_chat(src, span_filter_system(span_interface("Most of your adminverbs have been hidden."))) feedback_add_details("admin_verb","HMV") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! return /client/proc/hide_verbs() set name = "Adminverbs - Hide All" - set category = "Admin" + set category = "Admin.Misc" remove_admin_verbs() - verbs += /client/proc/show_verbs + add_verb(src, /client/proc/show_verbs) - to_chat(src, "Almost all of your adminverbs have been hidden.") + to_chat(src, span_filter_system(span_interface("Almost all of your adminverbs have been hidden."))) feedback_add_details("admin_verb","TAVVH") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! return /client/proc/show_verbs() set name = "Adminverbs - Show" - set category = "Admin" + set category = "Admin.Misc" - verbs -= /client/proc/show_verbs + remove_verb(src, /client/proc/show_verbs) add_admin_verbs() - to_chat(src, "All of your adminverbs are now visible.") + to_chat(src, span_filter_adminlog(span_interface("All of your adminverbs are now visible."))) feedback_add_details("admin_verb","TAVVS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/admin_ghost() - set category = "Admin" + set category = "Admin.Game" set name = "Aghost" if(!holder) return @@ -54,13 +54,13 @@ else ghost.reenter_corpse() else - to_chat(ghost, "Error: Aghost: Can't reenter corpse.") + to_chat(ghost, span_filter_system(span_warning("Error: Aghost: Can't reenter corpse."))) return feedback_add_details("admin_verb","P") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! else if(istype(mob,/mob/new_player)) - to_chat(src, "Error: Aghost: Can't admin-ghost whilst in the lobby. Join or Observe first.") + to_chat(src, span_filter_system(span_warning("Error: Aghost: Can't admin-ghost whilst in the lobby. Join or Observe first."))) else //ghostize var/mob/body = mob @@ -74,6 +74,7 @@ else ghost = body.ghostize(1) ghost.admin_ghosted = 1 + init_verbs() if(body) body.teleop = ghost if(!body.key) @@ -82,22 +83,22 @@ /client/proc/invisimin() set name = "Invisimin" - set category = "Admin" + set category = "Admin.Game" set desc = "Toggles ghost-like invisibility (Don't abuse this)" if(holder && mob) if(mob.invisibility == INVISIBILITY_OBSERVER) mob.invisibility = initial(mob.invisibility) - to_chat(mob, "Invisimin off. Invisibility reset.") + to_chat(mob, span_filter_system(span_danger("Invisimin off. Invisibility reset."))) mob.alpha = max(mob.alpha + 100, 255) else mob.invisibility = INVISIBILITY_OBSERVER - to_chat(mob, "Invisimin on. You are now as invisible as a ghost.") + to_chat(mob, span_filter_system(span_boldnotice("Invisimin on. You are now as invisible as a ghost."))) mob.alpha = max(mob.alpha - 100, 0) /client/proc/player_panel() set name = "Player Panel" - set category = "Admin" + set category = "Admin.Game" if(holder) holder.player_panel_old() feedback_add_details("admin_verb","PP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -105,7 +106,7 @@ /client/proc/player_panel_new() set name = "Player Panel New" - set category = "Admin" + set category = "Admin.Game" if(holder) holder.player_panel_new() feedback_add_details("admin_verb","PPN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -113,7 +114,7 @@ /client/proc/check_antagonists() set name = "Check Antagonists" - set category = "Admin" + set category = "Admin.Investigate" if(holder) holder.check_antagonists() log_admin("[key_name(usr)] checked antagonists.") //for tsar~ @@ -122,9 +123,9 @@ /client/proc/jobbans() set name = "Display Job bans" - set category = "Admin" + set category = "Admin.Investigate" if(holder) - if(config.ban_legacy_system) + if(CONFIG_GET(flag/ban_legacy_system)) holder.Jobbans() else holder.DB_ban_panel() @@ -133,9 +134,9 @@ /client/proc/unban_panel() set name = "Unban Panel" - set category = "Admin" + set category = "Admin.Game" if(holder) - if(config.ban_legacy_system) + if(CONFIG_GET(flag/ban_legacy_system)) holder.unbanpanel() else holder.DB_ban_panel() @@ -144,7 +145,7 @@ /client/proc/game_panel() set name = "Game Panel" - set category = "Admin" + set category = "Admin.Game" if(holder) holder.Game() feedback_add_details("admin_verb","GP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -152,14 +153,14 @@ /client/proc/secrets() set name = "Secrets" - set category = "Admin" + set category = "Admin.Secrets" if (holder) holder.Secrets() feedback_add_details("admin_verb","S") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! return /client/proc/colorooc() - set category = "Fun" + set category = "Admin.Misc" set name = "OOC Text Color" if(!holder) return var/response = tgui_alert(src, "Please choose a distinct color that is easy to read and doesn't mix with all the other chat and radio frequency colors.", "Change own OOC color", list("Pick new color", "Reset to default", "Cancel")) @@ -192,7 +193,7 @@ GLOB.stealthminID["[ckey]"] = "@[num2text(num)]" /client/proc/stealth() - set category = "Admin" + set category = "Admin.Game" set name = "Stealth Mode" if(holder) if(holder.fakekey) @@ -220,7 +221,7 @@ if(!warned_ckey || !istext(warned_ckey)) return if(warned_ckey in admin_datums) - to_chat(usr, "Error: warn(): You can't warn admins.") + to_chat(usr, span_warning("Error: warn(): You can't warn admins.")) return var/datum/preferences/D @@ -229,14 +230,14 @@ else D = preferences_datums[warned_ckey] if(!D) - to_chat(src, "Error: warn(): No such ckey found.") + to_chat(src, span_warning("Error: warn(): No such ckey found.")) return if(++D.warns >= MAX_WARNS) //uh ohhhh...you'reee iiiiin trouuuubble O:) ban_unban_log_save("[ckey] warned [warned_ckey], resulting in a [AUTOBANTIME] minute autoban.") if(C) message_admins("[key_name_admin(src)] has warned [key_name_admin(C)] resulting in a [AUTOBANTIME] minute ban.") - to_chat(C, "You have been autobanned due to a warning by [ckey].
This is a temporary ban, it will be removed in [AUTOBANTIME] minutes.
") + to_chat(C, span_filter_system(span_danger("You have been autobanned due to a warning by [ckey].
This is a temporary ban, it will be removed in [AUTOBANTIME] minutes."))) del(C) else message_admins("[key_name_admin(src)] has warned [warned_ckey] resulting in a [AUTOBANTIME] minute ban.") @@ -244,7 +245,7 @@ feedback_inc("ban_warn",1) else if(C) - to_chat(C, "You have been formally warned by an administrator.
Further warnings will result in an autoban.
") + to_chat(C, span_filter_system(span_danger("You have been formally warned by an administrator.
Further warnings will result in an autoban."))) message_admins("[key_name_admin(src)] has warned [key_name_admin(C)]. They have [MAX_WARNS-D.warns] strikes remaining.") else message_admins("[key_name_admin(src)] has warned [warned_ckey] (DC). They have [MAX_WARNS-D.warns] strikes remaining.") @@ -255,7 +256,7 @@ #undef AUTOBANTIME /client/proc/drop_bomb() // Some admin dickery that can probably be done better -- TLE - set category = "Special Verbs" + set category = "Fun.Do Not" set name = "Drop Bomb" set desc = "Cause an explosion of varying strength at your location." @@ -282,45 +283,14 @@ message_admins(span_blue("[ckey] creating an admin explosion at [epicenter.loc].")) feedback_add_details("admin_verb","DB") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! -/client/proc/give_disease2(mob/T as mob in mob_list) // -- Giacom - set category = "Fun" - set name = "Give Disease" - set desc = "Gives a Disease to a mob." - - var/datum/disease2/disease/D = new /datum/disease2/disease() - - var/severity = 1 - var/greater = tgui_input_list(usr, "Is this a lesser, greater, or badmin disease?", "Give Disease", list("Lesser", "Greater", "Badmin")) - switch(greater) - if ("Lesser") severity = 1 - if ("Greater") severity = 2 - if ("Badmin") severity = 99 - - D.makerandom(severity) - D.infectionchance = tgui_input_number(usr, "How virulent is this disease? (1-100)", "Give Disease", D.infectionchance, 100, 1) - - if(istype(T,/mob/living/carbon/human)) - var/mob/living/carbon/human/H = T - if (H.species) - D.affected_species = list(H.species.get_bodytype()) - if(H.species.primitive_form) - D.affected_species |= H.species.primitive_form - if(H.species.greater_form) - D.affected_species |= H.species.greater_form - infect_virus2(T,D,1) - - feedback_add_details("admin_verb","GD2") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - log_admin("[key_name(usr)] gave [key_name(T)] a [greater] disease2 with infection chance [D.infectionchance].") - message_admins(span_blue("[key_name_admin(usr)] gave [key_name(T)] a [greater] disease2 with infection chance [D.infectionchance]."), 1) - /client/proc/admin_give_modifier(var/mob/living/L) - set category = "Debug" + set category = "Debug.Game" set name = "Give Modifier" set desc = "Makes a mob weaker or stronger by adding a specific modifier to them." set popup_menu = FALSE //VOREStation Edit - Declutter. if(!L) - to_chat(usr, "Looks like you didn't select a mob.") + to_chat(usr, span_warning("Looks like you didn't select a mob.")) return var/list/possible_modifiers = subtypesof(/datum/modifier) @@ -338,7 +308,7 @@ log_and_message_admins("has given [key_name(L)] the modifer [new_modifier_type], with a duration of [duration ? "[duration / 600] minutes" : "forever"].") /client/proc/make_sound(var/obj/O in world) // -- TLE - set category = "Special Verbs" + set category = "Fun.Sounds" set name = "Make Sound" set desc = "Display a message to everyone who can hear the target" if(O) @@ -353,73 +323,73 @@ /client/proc/togglebuildmodeself() set name = "Toggle Build Mode Self" - set category = "Special Verbs" + set category = "Debug.Events" if(src.mob) togglebuildmode(src.mob) feedback_add_details("admin_verb","TBMS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/object_talk(var/msg as text) // -- TLE - set category = "Special Verbs" + set category = "Fun.Narrate" set name = "oSay" set desc = "Display a message to everyone who can hear the target" if(mob.control_object) if(!msg) return for (var/mob/V in hearers(mob.control_object)) - V.show_message("[mob.control_object.name] says: \"[msg]\"", 2) + V.show_message(span_filter_say(span_bold("[mob.control_object.name]") + " says: \"[msg]\""), 2) feedback_add_details("admin_verb","OT") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/kill_air() // -- TLE - set category = "Debug" + set category = "Debug.Dangerous" set name = "Kill Air" set desc = "Toggle Air Processing" SSair.can_fire = !SSair.can_fire - to_chat(usr, "[SSair.can_fire ? "En" : "Dis"]abled air processing.") + to_chat(usr, span_filter_system(span_bold("[SSair.can_fire ? "En" : "Dis"]abled air processing."))) feedback_add_details("admin_verb","KA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! log_admin("[key_name(usr)] used 'kill air'.") message_admins(span_blue("[key_name_admin(usr)] used 'kill air'."), 1) /client/proc/readmin_self() set name = "Re-Admin self" - set category = "Admin" + set category = "Admin.Misc" if(deadmin_holder) deadmin_holder.reassociate() log_admin("[src] re-admined themself.") message_admins("[src] re-admined themself.", 1) - to_chat(src, "You now have the keys to control the planet, or at least a small space station") - verbs -= /client/proc/readmin_self + to_chat(src, span_filter_system(span_interface("You now have the keys to control the planet, or at least a small space station"))) + remove_verb(src, /client/proc/readmin_self) /client/proc/deadmin_self() set name = "De-admin self" - set category = "Admin" + set category = "Admin.Misc" if(holder) if(tgui_alert(usr, "Confirm self-deadmin for the round? You can't re-admin yourself without someone promoting you.","Deadmin",list("Yes","No")) == "Yes") log_admin("[src] deadmined themself.") message_admins("[src] deadmined themself.", 1) deadmin() - to_chat(src, "You are now a normal player.") - verbs |= /client/proc/readmin_self + to_chat(src, span_filter_system(span_interface("You are now a normal player."))) + add_verb(src, /client/proc/readmin_self) feedback_add_details("admin_verb","DAS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/toggle_log_hrefs() set name = "Toggle href logging" - set category = "Server" + set category = "Server.Config" if(!holder) return if(config) - config.log_hrefs = !config.log_hrefs - message_admins("[key_name_admin(usr)] [config.log_hrefs ? "started" : "stopped"] logging hrefs") + CONFIG_SET(flag/log_hrefs, !CONFIG_GET(flag/log_hrefs)) + message_admins(span_bold("[key_name_admin(usr)] [CONFIG_GET(flag/log_hrefs) ? "started" : "stopped"] logging hrefs")) /client/proc/check_ai_laws() set name = "Check AI Laws" - set category = "Admin" + set category = "Admin.Silicon" if(holder) src.holder.output_ai_laws() /client/proc/rename_silicon() set name = "Rename Silicon" - set category = "Admin" + set category = "Admin.Silicon" if(!check_rights(R_ADMIN|R_FUN|R_EVENT)) return @@ -434,7 +404,7 @@ /client/proc/manage_silicon_laws() set name = "Manage Silicon Laws" - set category = "Admin" + set category = "Admin.Silicon" if(!check_rights(R_ADMIN|R_EVENT)) return @@ -449,7 +419,7 @@ /client/proc/change_security_level() set name = "Set security level" set desc = "Sets the station security level" - set category = "Admin" + set category = "Admin.Events" if(!check_rights(R_ADMIN|R_EVENT)) return var/sec_level = tgui_input_list(usr, "It's currently code [get_security_level()].", "Select Security Level", (list("green","yellow","violet","orange","blue","red","delta")-get_security_level())) @@ -461,7 +431,7 @@ /client/proc/shuttle_panel() set name = "Shuttle Control Panel" - set category = "Admin" + set category = "Admin.Events" if(!check_rights(R_ADMIN | R_EVENT)) return @@ -475,7 +445,7 @@ /client/proc/mod_panel() set name = "Moderator Panel" - set category = "Admin" + set category = "Admin.Moderation" /* if(holder) holder.mod_panel()*/ // feedback_add_details("admin_verb","MP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -483,14 +453,14 @@ /client/proc/playernotes() set name = "Show Player Info" - set category = "Admin" + set category = "Admin.Moderation" if(holder) holder.PlayerNotes() return /client/proc/free_slot() set name = "Free Job Slot" - set category = "Admin" + set category = "Admin.Game" if(holder) var/list/jobs = list() for (var/datum/job/J in job_master.occupations) @@ -507,50 +477,50 @@ /client/proc/toggleghostwriters() set name = "Toggle ghost writers" - set category = "Server" + set category = "Server.Game" if(!holder) return if(config) - config.cult_ghostwriter = !config.cult_ghostwriter - message_admins("Admin [key_name_admin(usr)] has [config.cult_ghostwriter ? "en" : "dis"]abled ghost writers.", 1) + CONFIG_SET(flag/cult_ghostwriter, !CONFIG_GET(flag/cult_ghostwriter)) + message_admins("Admin [key_name_admin(usr)] has [CONFIG_GET(flag/cult_ghostwriter) ? "en" : "dis"]abled ghost writers.", 1) /client/proc/toggledrones() set name = "Toggle maintenance drones" - set category = "Server" + set category = "Server.Game" if(!holder) return if(config) - config.allow_drone_spawn = !config.allow_drone_spawn - message_admins("Admin [key_name_admin(usr)] has [config.allow_drone_spawn ? "en" : "dis"]abled maintenance drones.", 1) + CONFIG_SET(flag/allow_drone_spawn, !CONFIG_GET(flag/allow_drone_spawn)) + message_admins("Admin [key_name_admin(usr)] has [CONFIG_GET(flag/allow_drone_spawn) ? "en" : "dis"]abled maintenance drones.", 1) /client/proc/man_up(mob/T as mob in mob_list) - set category = "Fun" + set category = "Fun.Do Not" set name = "Man Up" set desc = "Tells mob to man up and deal with it." set popup_menu = FALSE //VOREStation Edit - Declutter. - if(tgui_alert(usr, "Are you sure you want to tell them to man up?","Confirmation",list("Deal with it","No"))=="No") return + if(tgui_alert(usr, "Are you sure you want to tell them to man up?","Confirmation",list("Deal with it","No")) != "Deal with it") return - to_chat(T, "Man up and deal with it.") - to_chat(T, "Move along.") + to_chat(T, span_filter_system(span_boldnotice(span_large("Man up and deal with it.")))) + to_chat(T, span_filter_system(span_notice("Move along."))) log_admin("[key_name(usr)] told [key_name(T)] to man up and deal with it.") message_admins(span_blue("[key_name_admin(usr)] told [key_name(T)] to man up and deal with it."), 1) /client/proc/global_man_up() - set category = "Fun" + set category = "Fun.Do Not" set name = "Man Up Global" set desc = "Tells everyone to man up and deal with it." - if(tgui_alert(usr, "Are you sure you want to tell the whole server up?","Confirmation",list("Deal with it","No"))=="No") return + if(tgui_alert(usr, "Are you sure you want to tell the whole server up?","Confirmation",list("Deal with it","No")) != "Deal with it") return for (var/mob/T as mob in mob_list) - to_chat(T, "
Man up.
Deal with it.

Move along.

") + to_chat(T, "
" + span_filter_system(span_notice(span_bold(span_huge("Man up.
Deal with it.")) + "
Move along.")) + "

") T << 'sound/voice/ManUp1.ogg' log_admin("[key_name(usr)] told everyone to man up and deal with it.") message_admins(span_blue("[key_name_admin(usr)] told everyone to man up and deal with it."), 1) /client/proc/give_spell(mob/T as mob in mob_list) // -- Urist - set category = "Fun" + set category = "Fun.Event Kit" set name = "Give Spell" set desc = "Gives a spell to a mob." var/spell/S = tgui_input_list(usr, "Choose the spell to give to that guy", "ABRAKADABRA", spells) @@ -559,3 +529,24 @@ feedback_add_details("admin_verb","GS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! log_admin("[key_name(usr)] gave [key_name(T)] the spell [S].") message_admins(span_blue("[key_name_admin(usr)] gave [key_name(T)] the spell [S]."), 1) + +/client/proc/debugstatpanel() + set name = "Debug Stat Panel" + set category = "Debug.Misc" + + src.stat_panel.send_message("create_debug") + +/client/proc/spawn_reagent() + set name = "Spawn Reagent" + set category = "Debug.Game" + + if(!check_rights(R_ADMIN|R_EVENT)) return + var/datum/reagent/R = tgui_input_list(usr, "Select a reagent to spawn", "Reagent Spawner", subtypesof(/datum/reagent)) + if(!R) + return + + var/obj/item/reagent_containers/glass/bottle/B = new(usr.loc) + + B.icon_state = "bottle-1" + B.reagents.add_reagent(R.id, 60) + B.name = "[B.name] of [R.name]" diff --git a/code/modules/admin/admin_verbs_vr.dm b/code/modules/admin/admin_verbs_vr.dm index 8f46703edb7..a04c4bddbdf 100644 --- a/code/modules/admin/admin_verbs_vr.dm +++ b/code/modules/admin/admin_verbs_vr.dm @@ -1,5 +1,5 @@ /client/proc/adminorbit() - set category = "Fun" + set category = "Fun.Event Kit" set name = "Orbit Things" set desc = "Makes something orbit around something else." set popup_menu = FALSE @@ -31,13 +31,13 @@ if(!orbiter) orbiter = input(usr, "What should act as the orbiter of the orbit?", "Orbiter") as anything in possible_things if(!center || !orbiter) - to_chat(usr, "A center of orbit and an orbiter must be configured. You can also do this by marking a target.") + to_chat(usr, span_warning("A center of orbit and an orbiter must be configured. You can also do this by marking a target.")) return if(center == orbiter) - to_chat(usr, "The center of the orbit cannot also be the orbiter.") + to_chat(usr, span_warning("The center of the orbit cannot also be the orbiter.")) return if(isturf(orbiter)) - to_chat(usr, "The orbiter cannot be a turf. It can only be used as a center.") + to_chat(usr, span_warning("The orbiter cannot be a turf. It can only be used as a center.")) return var/distance = tgui_input_number(usr, "How large will their orbit radius be? (In pixels. 32 is 'near around a character)", "Orbit Radius", 32) var/speed = tgui_input_number(usr, "How fast will they orbit (negative numbers spin clockwise)", "Orbit Speed", 20) @@ -57,7 +57,7 @@ /client/proc/removetickets() set name = "Security Tickets" - set category = "Admin" + set category = "Admin.Investigate" set desc = "Allows one to remove tickets from the global list." if(!check_rights(R_ADMIN)) @@ -77,7 +77,7 @@ /client/proc/delbook() set name = "Delete Book" set desc = "Permamently deletes a book from the database." - set category = "Admin" + set category = "Admin.Game" if(!src.holder) to_chat(src, "Only administrators may use this command.") return @@ -89,12 +89,12 @@ break if(!our_comp) - to_chat(usr, "Unable to locate a library computer to use for book deleting.") + to_chat(usr, span_warning("Unable to locate a library computer to use for book deleting.")) return var/dat = "Book Inventory Management\n" dat += "

ADMINISTRATIVE MANAGEMENT

" - establish_old_db_connection() + establish_db_connection() if(!dbcon_old.IsConnected()) dat += "ERROR: Unable to contact External Archive. Please contact your system administrator for assistance." @@ -124,7 +124,7 @@ /client/proc/toggle_spawning_with_recolour() set name = "Toggle Simple/Robot recolour verb" set desc = "Makes it so new robots/simple_mobs spawn with a verb to recolour themselves for this round. You must set them separately." - set category = "Server" + set category = "Server.Game" if(!check_rights(R_ADMIN|R_EVENT|R_FUN)) return @@ -132,8 +132,8 @@ var/which = tgui_alert(usr, "Which do you want to toggle?", "Choose Recolour Toggle", list("Robot", "Simple Mob")) switch(which) if("Robot") - config.allow_robot_recolor = !config.allow_robot_recolor - to_chat(usr, "You have [config.allow_robot_recolor ? "enabled" : "disabled"] newly spawned cyborgs to spawn with the recolour verb") + CONFIG_SET(flag/allow_robot_recolor, !CONFIG_GET(flag/allow_robot_recolor)) + to_chat(usr, "You have [CONFIG_GET(flag/allow_robot_recolor) ? "enabled" : "disabled"] newly spawned cyborgs to spawn with the recolour verb") if("Simple Mob") - config.allow_simple_mob_recolor = !config.allow_simple_mob_recolor - to_chat(usr, "You have [config.allow_simple_mob_recolor ? "enabled" : "disabled"] newly spawned simple mobs to spawn with the recolour verb") + CONFIG_SET(flag/allow_simple_mob_recolor, !CONFIG_GET(flag/allow_simple_mob_recolor)) + to_chat(usr, "You have [CONFIG_GET(flag/allow_simple_mob_recolor) ? "enabled" : "disabled"] newly spawned simple mobs to spawn with the recolour verb") diff --git a/code/modules/admin/admin_vr.dm b/code/modules/admin/admin_vr.dm index e40db3f525a..9076957fa65 100644 --- a/code/modules/admin/admin_vr.dm +++ b/code/modules/admin/admin_vr.dm @@ -1,5 +1,5 @@ /datum/admins/proc/set_uplink(mob/living/carbon/human/H as mob) - set category = "Debug" + set category = "Debug.Events" set name = "Set Uplink" set desc = "Allows admins to set up an uplink on a character. This will be required for a character to use telecrystals." set popup_menu = FALSE @@ -11,4 +11,4 @@ var/msg = "[key_name(usr)] has given [H.ckey] an uplink." message_admins(msg) else - to_chat(usr, "You do not have access to this command.") \ No newline at end of file + to_chat(usr, "You do not have access to this command.") diff --git a/code/modules/admin/banjob.dm b/code/modules/admin/banjob.dm index 15d169fb261..cf45b9d0dba 100644 --- a/code/modules/admin/banjob.dm +++ b/code/modules/admin/banjob.dm @@ -21,9 +21,9 @@ var/jobban_keylist[0] //to store the keys & ranks */ if (guest_jobbans(rank)) - if(config.guest_jobban && IsGuestKey(M.key)) + if(CONFIG_GET(flag/guest_jobban) && IsGuestKey(M.key)) return "Guest Job-ban" - if(config.usewhitelist && !check_whitelist(M)) + if(CONFIG_GET(flag/usewhitelist) && !check_whitelist(M)) return "Whitelisted Job" return ckey_is_jobbanned(M.ckey, rank) @@ -59,7 +59,7 @@ DEBUG return 1 /proc/jobban_loadbanfile() - if(config.ban_legacy_system) + if(CONFIG_GET(flag/ban_legacy_system)) var/savefile/S=new("data/job_full.ban") S["keys[0]"] >> jobban_keylist log_admin("Loading jobban_rank") @@ -72,7 +72,7 @@ DEBUG if(!establish_db_connection()) error("Database connection failed. Reverting to the legacy ban system.") log_misc("Database connection failed. Reverting to the legacy ban system.") - config.ban_legacy_system = 1 + CONFIG_SET(flag/ban_legacy_system, TRUE) jobban_loadbanfile() return diff --git a/code/modules/admin/callproc/callproc.dm b/code/modules/admin/callproc/callproc.dm index 17909c4c294..f1bb2833fb9 100644 --- a/code/modules/admin/callproc/callproc.dm +++ b/code/modules/admin/callproc/callproc.dm @@ -1,5 +1,5 @@ /client/proc/callproc() - set category = "Debug" + set category = "Debug.Events" set name = "Advanced ProcCall" set waitfor = 0 @@ -11,6 +11,8 @@ var/returnval = null switch(tgui_alert(usr, "Proc owned by something?","Call Proc",list("Yes","No"))) + if(null) + return if("Yes") targetselected = 1 var/list/value = vv_get_value(default_class = VV_ATOM_REFERENCE, classes = list(VV_ATOM_REFERENCE, VV_DATUM_REFERENCE, VV_MOB_REFERENCE, VV_CLIENT)) @@ -39,12 +41,12 @@ testname = replacetext(testname, "()", "") if(targetselected && !hascall(target,testname)) - to_chat(usr, "" + span_red("Error: callproc(): type [target.type] has no proc named [procname].") + "") + to_chat(usr, span_filter_adminlog("" + span_red("Error: callproc(): type [target.type] has no proc named [procname].") + "")) return else var/procpath = text2path(procname) if (!procpath) - to_chat(usr, "" + span_red("Error: callproc(): proc [procname] does not exist. (Did you forget the /proc/ part?)") + "") + to_chat(usr, span_filter_adminlog("" + span_red("Error: callproc(): proc [procname] does not exist. (Did you forget the /proc/ part?)") + "")) return var/list/lst = get_callproc_args() if(!lst) @@ -52,7 +54,7 @@ if(targetselected) if(!target) - to_chat(usr, "" + span_red("Error: callproc(): owner of proc no longer exists.") + "") + to_chat(usr, span_filter_adminlog("" + span_red("Error: callproc(): owner of proc no longer exists.") + "")) return var/msg = "[key_name(src)] called [target]'s [procname]() with [lst.len ? "the arguments [list2params(lst)]":"no arguments"]." log_admin(msg) @@ -84,11 +86,11 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention) /proc/WrapAdminProcCall(datum/target, procname, list/arguments) if(target && procname == "Del") - to_chat(usr, "Calling Del() is not allowed") + to_chat(usr, span_filter_adminlog("Calling Del() is not allowed")) return if(target != GLOBAL_PROC && !target.CanProcCall(procname)) - to_chat(usr, "Proccall on [target.type]/proc/[procname] is disallowed!") + to_chat(usr, span_filter_adminlog("Proccall on [target.type]/proc/[procname] is disallowed!")) return var/current_caller = GLOB.AdminProcCaller var/ckey = usr ? usr.client.ckey : GLOB.AdminProcCaller @@ -96,10 +98,10 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention) CRASH("WrapAdminProcCall with no ckey: [target] [procname] [english_list(arguments)]") if(current_caller && current_caller != ckey) if(!GLOB.AdminProcCallSpamPrevention[ckey]) - to_chat(usr, "Another set of admin called procs are still running, your proc will be run after theirs finish.") + to_chat(usr, span_adminnotice("Another set of admin called procs are still running, your proc will be run after theirs finish.")) GLOB.AdminProcCallSpamPrevention[ckey] = TRUE UNTIL(!GLOB.AdminProcCaller) - to_chat(usr, "Running your proc") + to_chat(usr, span_adminnotice("Running your proc")) GLOB.AdminProcCallSpamPrevention -= ckey else UNTIL(!GLOB.AdminProcCaller) @@ -129,7 +131,7 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention) #endif /client/proc/callproc_datum(datum/A as null|area|mob|obj|turf) - set category = "Debug" + set category = "Debug.Events" set name = "Atom ProcCall" set waitfor = 0 @@ -140,14 +142,14 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention) if(!procname) return if(!hascall(A,procname)) - to_chat(usr, "" + span_red("Error: callproc_datum(): type [A.type] has no proc named [procname].") + "") + to_chat(usr, span_filter_adminlog("" + span_red("Error: callproc_datum(): type [A.type] has no proc named [procname].") + "")) return var/list/lst = get_callproc_args() if(!lst) return if(!A || !IsValidSrc(A)) - to_chat(usr, "Error: callproc_datum(): owner of proc no longer exists.") + to_chat(usr, span_warning("Error: callproc_datum(): owner of proc no longer exists.")) return var/msg = "[key_name(src)] called [A]'s [procname]() with [lst.len ? "the arguments [list2params(lst)]":"no arguments"]." log_admin(msg) @@ -190,7 +192,6 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention) . = "" if(islist(returnval)) var/list/returnedlist = returnval - . = "" if(returnedlist.len) var/assoc_check = returnedlist[1] if(istext(assoc_check) && (returnedlist[assoc_check] != null)) @@ -204,7 +205,7 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention) . += "\n[elem]" else . = "[procname] returned an empty list" - . += "" + . = span_blue(.) else . = span_blue("[procname] returned: [!isnull(returnval) ? returnval : "null"]") diff --git a/code/modules/admin/ckey_vr.dm b/code/modules/admin/ckey_vr.dm index dd2977c4918..f8ed693a483 100644 --- a/code/modules/admin/ckey_vr.dm +++ b/code/modules/admin/ckey_vr.dm @@ -1,6 +1,6 @@ // Command to set the ckey of a mob without requiring VV permission -/client/proc/setckey(var/mob/M in mob_list) //YW modif, removed caps from setckey - set category = "Admin" +/client/proc/setCKey(var/mob/M in mob_list) //YW modif, removed caps from setckey + set category = "Admin.Game" set name = "Set CKey" set desc = "Mob to teleport" if(!src.holder) diff --git a/code/modules/admin/create_object.dm b/code/modules/admin/create_object.dm index ce5d3077459..8892232165f 100644 --- a/code/modules/admin/create_object.dm +++ b/code/modules/admin/create_object.dm @@ -21,13 +21,12 @@ var/list/choices = list("/obj", "/obj/structure", "/obj/item", - "/obj/item/device", - "/obj/item/weapon", - "/obj/item/weapon/gun", - "/obj/item/weapon/reagent_containers", - "/obj/item/weapon/reagent_containers/food", + "/obj/item/melee", + "/obj/item/gun", + "/obj/item/reagent_containers", + "/obj/item/reagent_containers/food", "/obj/item/clothing", - "/obj/item/weapon/storage/box/fluff", //VOREStation Edit, + "/obj/item/storage/box/fluff", //VOREStation Edit, "/obj/machinery", "/obj/mecha", "/obj/item/mecha_parts", diff --git a/code/modules/admin/holder2.dm b/code/modules/admin/holder2.dm index 3274936e2a8..2727ec15bee 100644 --- a/code/modules/admin/holder2.dm +++ b/code/modules/admin/holder2.dm @@ -37,12 +37,14 @@ var/list/admin_datums = list() owner = C owner.holder = src owner.add_admin_verbs() //TODO + owner.init_verbs() //re-initialize the verb list GLOB.admins |= C /datum/admins/proc/disassociate() if(owner) GLOB.admins -= owner owner.remove_admin_verbs() + owner.init_verbs() //re-initialize the verb list owner.deadmin_holder = owner.holder owner.holder = null @@ -82,7 +84,7 @@ NOTE: It checks usr by default. Supply the "user" argument if you wish to check return FALSE if(!C.holder) if(show_msg) - to_chat(C, "Error: You are not an admin.") + to_chat(C, span_filter_adminlog(span_warning("Error: You are not an admin."))) return FALSE if(rights_required) @@ -90,7 +92,7 @@ NOTE: It checks usr by default. Supply the "user" argument if you wish to check return TRUE else if(show_msg) - to_chat(C, "Error: You do not have sufficient rights to do that. You require one of the following flags:[rights2text(rights_required," ")].") + to_chat(C, span_filter_adminlog(span_warning("Error: You do not have sufficient rights to do that. You require one of the following flags:[rights2text(rights_required," ")]."))) return FALSE else return TRUE @@ -104,7 +106,7 @@ NOTE: It checks usr by default. Supply the "user" argument if you wish to check if(usr.client.holder.rights != other.holder.rights) if( (usr.client.holder.rights & other.holder.rights) == other.holder.rights ) return 1 //we have all the rights they have and more - to_chat(usr, "Error: Cannot proceed. They have more or equal rights to us.") + to_chat(usr, span_filter_adminlog(span_warning("Error: Cannot proceed. They have more or equal rights to us."))) return 0 /client/proc/mark_datum(datum/D) @@ -116,7 +118,7 @@ NOTE: It checks usr by default. Supply the "user" argument if you wish to check vv_update_display(D, "marked", VV_MSG_MARKED) /client/proc/mark_datum_mapview(datum/D as mob|obj|turf|area in view(view)) - set category = "Debug" + set category = "Debug.Game" set name = "Mark Object" mark_datum(D) diff --git a/code/modules/admin/map_capture.dm b/code/modules/admin/map_capture.dm index 981a7434d21..e1573358297 100644 --- a/code/modules/admin/map_capture.dm +++ b/code/modules/admin/map_capture.dm @@ -1,5 +1,5 @@ /datum/admins/proc/capture_map(tx as null|num, ty as null|num, tz as null|num, range as null|num) - set category = "Server" + set category = "Server.Game" set name = "Capture Map Part" set desc = "Usage: Capture-Map-Part target_x_cord target_y_cord target_z_cord range (captures part of a map originating from bottom left corner)" @@ -7,13 +7,13 @@ return if(isnull(tx) || isnull(ty) || isnull(tz) || isnull(range)) - to_chat(usr, "Capture Map Part, captures part of a map using camara like rendering.") - to_chat(usr, "Usage: Capture-Map-Part target_x_cord target_y_cord target_z_cord range.") - to_chat(usr, "Target coordinates specify bottom left corner of the capture, range defines render distance to opposite corner.") + to_chat(usr, span_filter_notice("Capture Map Part, captures part of a map using camara like rendering.")) + to_chat(usr, span_filter_notice("Usage: Capture-Map-Part target_x_cord target_y_cord target_z_cord range.")) + to_chat(usr, span_filter_notice("Target coordinates specify bottom left corner of the capture, range defines render distance to opposite corner.")) return if(range > 32 || range <= 0) - to_chat(usr, "Capturing range is incorrect, it must be within 1-32.") + to_chat(usr, span_filter_notice("Capturing range is incorrect, it must be within 1-32.")) return if(locate(tx,ty,tz)) @@ -28,7 +28,7 @@ if(!hasasked) var/answer = tgui_alert(usr, "Capture includes non existant turf, Continue capture?","Continue capture?", list("No", "Yes")) hasasked = 1 - if(answer == "No") + if(answer != "Yes") return var/list/atoms = list() @@ -53,7 +53,7 @@ cap.Blend(img, blendMode2iconMode(A.blend_mode), A.pixel_x + xoff, A.pixel_y + yoff) var/file_name = "map_capture_x[tx]_y[ty]_z[tz]_r[range].png" - to_chat(usr, "Saved capture in cache as [file_name].") + to_chat(usr, span_filter_notice("Saved capture in cache as [file_name].")) usr << browse_rsc(cap, file_name) else - to_chat(usr, "Target coordinates are incorrect.") + to_chat(usr, span_filter_notice("Target coordinates are incorrect.")) diff --git a/code/modules/admin/modify_robot.dm b/code/modules/admin/modify_robot.dm new file mode 100644 index 00000000000..8aea4d07dc5 --- /dev/null +++ b/code/modules/admin/modify_robot.dm @@ -0,0 +1,788 @@ +/client/proc/modify_robot(var/mob/living/silicon/robot/target in silicon_mob_list) + set name = "Modify Robot" + set desc = "Allows to add or remove modules to/from robots." + set category = "Admin" + if(!check_rights(R_ADMIN|R_FUN|R_VAREDIT|R_EVENT)) + return + + var/datum/eventkit/modify_robot/modify_robot = new() + modify_robot.target = isrobot(target) ? target : null + modify_robot.selected_ai = target.is_slaved() + modify_robot.tgui_interact(src.mob) + +/datum/eventkit/modify_robot + var/mob/living/silicon/robot/target + var/mob/living/silicon/robot/source + var/mob/living/silicon/ai/selected_ai + var/ion_law = "IonLaw" + var/zeroth_law = "ZerothLaw" + var/inherent_law = "InherentLaw" + var/supplied_law = "SuppliedLaw" + var/supplied_law_position = MIN_SUPPLIED_LAW_NUMBER + var/list/datum/ai_laws/law_list + +/datum/eventkit/modify_robot/New() + . = ..() + log_and_message_admins("has used modify robot and is modifying [target]") + law_list = new() + init_subtypes(/datum/ai_laws, law_list) + law_list = dd_sortedObjectList(law_list) + +/datum/eventkit/modify_robot/tgui_close() + if(source) + qdel(source) + +/datum/eventkit/modify_robot/tgui_interact(mob/user, datum/tgui/ui) + ui = SStgui.try_update_ui(user, src, ui) + if(!ui) + ui = new(user, src, "ModifyRobot", "Modify Robot") + ui.open() + +/datum/eventkit/modify_robot/Destroy() + if(source) + qdel(source) + . = ..() + +/datum/eventkit/modify_robot/ui_assets(mob/user) + return list( + get_asset_datum(/datum/asset/spritesheet/robot_icons) + ) + +/datum/eventkit/modify_robot/tgui_data(mob/user) + . = list() + // Target section for general data + var/datum/asset/spritesheet/robot_icons/spritesheet = get_asset_datum(/datum/asset/spritesheet/robot_icons) + + if(target) + .["target"] = list() + .["target"]["name"] = target.name + .["target"]["ckey"] = target.ckey + .["target"]["module"] = target.module + .["target"]["emagged"] = target.emagged + .["target"]["crisis_override"] = target.crisis_override + .["target"]["active_restrictions"] = target.restrict_modules_to + var/list/possible_restrictions = list() + for(var/entry in robot_modules) + if(!target.restrict_modules_to.Find(entry)) + possible_restrictions += entry + .["target"]["possible_restrictions"] = possible_restrictions + // Target section for options once a module has been selected + if(target.module) + .["target"]["active"] = target.icon_selected + .["target"]["sprite"] = sanitize_css_class_name("[target.sprite_datum.type]") + .["target"]["sprite_size"] = spritesheet.icon_size_id(.["target"]["sprite"] + "S") + .["target"]["modules"] = get_target_items(user) + var/list/module_options = list() + for(var/module in robot_modules) + module_options += module + .["model_options"] = module_options + // Data for the upgrade options + .["target"] += get_upgrades() + var/obj/item/gun/energy/kinetic_accelerator/kin = locate() in target.module.modules + if(kin) + .["target"]["pka"] += get_pka(kin) + // Radio section + var/list/radio_channels = list() + for(var/channel in target.radio.channels) + radio_channels += channel + var/list/availalbe_channels = list() + for(var/channel in (radiochannels - target.radio.channels)) + availalbe_channels += channel + .["target"]["radio_channels"] = radio_channels + .["target"]["availalbe_channels"] = availalbe_channels + // Components + .["target"]["components"] = get_components() + .["cell"] = list("name" = target.cell?.name, "charge" = target.cell?.charge, "maxcharge" = target.cell?.maxcharge) + .["cell_options"] = get_cells() + .["camera_options"] = get_component("camera") + .["radio_options"] = get_component("radio") + .["actuator_options"] = get_component("actuator") + .["diagnosis_options"] = get_component("diagnosis") + .["comms_options"] = get_component("comms") + .["armour_options"] = get_component("armour") + .["current_gear"] = get_gear() + // Access + .["id_icon"] = icon2html(target.idcard, user, sourceonly=TRUE) + var/list/active_access = list() + for(var/access in target.idcard?.GetAccess()) + active_access += list(list("id" = access, "name" = get_access_desc(access))) + .["target"]["active_access"] = active_access + var/list/access_options = list() + for(var/datum/access/acc) + if(acc.id in target.idcard?.GetAccess()) + continue + access_options += list(list("id" = acc.id, "name" = acc.desc)) + .["access_options"] = access_options + // Section for source data for the module we might want to salvage + if(source) + .["source"] += get_module_source(user, spritesheet) + var/list/all_robots = list() + for(var/mob/living/silicon/robot/R in silicon_mob_list) + if(!R.loc) + continue + all_robots += list(list("displayText" = "[R]", "value" = "\ref[R]")) + .["all_robots"] = all_robots + // Law data + .["ion_law_nr"] = ionnum() + .["ion_law"] = ion_law + .["zeroth_law"] = zeroth_law + .["inherent_law"] = inherent_law + .["supplied_law"] = supplied_law + .["supplied_law_position"] = supplied_law_position + + package_laws(., "zeroth_laws", list(target.laws.zeroth_law)) + package_laws(., "ion_laws", target.laws.ion_laws) + package_laws(., "inherent_laws", target.laws.inherent_laws) + package_laws(., "supplied_laws", target.laws.supplied_laws) + + .["isAI"] = isAI(target) + .["isMalf"] = is_malf(user) + .["isSlaved"] = target.is_slaved() + var/list/active_ais = list() + for(var/mob/living/silicon/ai/ai in active_ais()) + if(!ai.loc) + continue + active_ais += list(list("displayText" = "[ai]", "value" = "\ref[ai]")) + .["active_ais"] = active_ais + .["selected_ai"] = selected_ai ? selected_ai.name : null + + var/list/channels = list() + for(var/ch_name in target.law_channels()) + channels[++channels.len] = list("channel" = ch_name) + .["channel"] = target.lawchannel + .["channels"] = channels + .["law_sets"] = package_multiple_laws(law_list) + + +/datum/eventkit/modify_robot/tgui_state(mob/user) + return GLOB.tgui_admin_state + +/datum/eventkit/modify_robot/tgui_act(action, params, datum/tgui/ui) + . = ..() + if(.) + return + switch(action) + if("rename") + target.name = params["new_name"] + target.custom_name = params["new_name"] + target.real_name = params["new_name"] + return TRUE + if("select_target") + var/new_target = locate(params["new_target"]) + if(new_target != target) + target = locate(params["new_target"]) + log_and_message_admins("changed robot modifictation target to [target]") + return TRUE + if("toggle_crisis") + target.crisis_override = !target.crisis_override + return TRUE + if("add_restriction") + target.restrict_modules_to |= params["new_restriction"] + return TRUE + if("remove_restriction") + target.restrict_modules_to -= params["rem_restriction"] + return TRUE + if("select_source") + if(source) + qdel(source) + var/module_type = robot_modules[params["new_source"]] + if(ispath(module_type, /obj/item/robot_module/robot/syndicate)) + source = new /mob/living/silicon/robot/syndicate(null) + else + source = new /mob/living/silicon/robot(null) + source.modtype = params["new_source"] + var/obj/item/robot_module/robot/robot_type = new module_type(source) + source.sprite_datum = pick(SSrobot_sprites.get_module_sprites(source.modtype, source)) + source.update_icon() + source.emag_items = 1 + if(!istype(robot_type, /obj/item/robot_module/robot)) + QDEL_NULL(source) + return TRUE + return TRUE + if("reset_module") + target.module_reset(FALSE) + return TRUE + if("add_module") + var/obj/item/add_item = locate(params["module"]) + if(!add_item) + return TRUE + if(istype(add_item, /obj/item/card/id)) + source.idcard = null + source.module.emag.Remove(add_item) + source.module.modules.Remove(add_item) + source.module.contents.Remove(add_item) + if(istype(add_item, /obj/item/card/id)) + if(target.idcard) + qdel(target.idcard) + target.idcard = add_item + target.module.modules.Add(add_item) + target.module.contents.Add(add_item) + spawn(0) + SEND_SIGNAL(add_item, COMSIG_OBSERVER_MOVED) + target.hud_used?.update_robot_modules_display() + if(istype(add_item, /obj/item/stack/)) + var/obj/item/stack/item_with_synth = add_item + for(var/synth in item_with_synth.synths) + var/found = target.module.synths.Find(synth) + if(!found) + source.module.synths.Remove(synth) + target.module.synths.Add(synth) + else + item_with_synth.synths = list(target.module.synths[found]) + return TRUE + if(istype(add_item, /obj/item/matter_decompiler/) || istype(add_item, /obj/item/dogborg/sleeper/compactor/decompiler/)) + var/obj/item/matter_decompiler/item_with_matter = add_item + if(item_with_matter.metal) + var/found = target.module.synths.Find(item_with_matter.metal) + if(!found) + source.module.synths.Remove(item_with_matter.metal) + target.module.synths.Add(item_with_matter.metal) + else + item_with_matter.metal = target.module.synths[found] + if(item_with_matter.glass) + var/found = target.module.synths.Find(item_with_matter.glass) + if(!found) + source.module.synths.Remove(item_with_matter.glass) + target.module.synths.Add(item_with_matter.glass) + else + item_with_matter.glass = target.module.synths[found] + if(item_with_matter.wood) + var/found = target.module.synths.Find(item_with_matter.wood) + if(!found) + source.module.synths.Remove(item_with_matter.wood) + target.module.synths.Add(item_with_matter.wood) + else + item_with_matter.wood = target.module.synths[found] + if(item_with_matter.plastic) + var/found = target.module.synths.Find(item_with_matter.plastic) + if(!found) + source.module.synths.Remove(item_with_matter.plastic) + target.module.synths.Add(item_with_matter.plastic) + else + item_with_matter.plastic = target.module.synths[found] + return TRUE + if("rem_module") + var/obj/item/rem_item = locate(params["module"]) + if(target.idcard == rem_item) + target.idcard = new /obj/item/card/id/synthetic(target) + target.uneq_all() + target.hud_used?.update_robot_modules_display(TRUE) + target.module.emag.Remove(rem_item) + target.module.modules.Remove(rem_item) + target.module.contents.Remove(rem_item) + qdel(rem_item) + return TRUE + if("swap_module") + if(!source) + return FALSE + var/mod_type = source.modtype + qdel(source.module) + var/module_type = robot_modules[target.modtype] + source.modtype = target.modtype + new module_type(source) + source.sprite_datum = target.sprite_datum + source.update_icon() + source.emag_items = 1 + // Target + target.uneq_all() + target.hud_used?.update_robot_modules_display(TRUE) + qdel(target.module) + target.modtype = mod_type + module_type = robot_modules[mod_type] + target.transform_with_anim() + new module_type(target) + target.hands.icon_state = target.get_hud_module_icon() + target.hud_used?.update_robot_modules_display() + return TRUE + if("ert_toggle") + target.crisis_override = !target.crisis_override + target.module_reset(FALSE) + return TRUE + if("add_compatibility") + target.module.supported_upgrades |= text2path(params["upgrade"]) + return TRUE + if("rem_compatibility") + target.module.supported_upgrades.Remove(text2path(params["upgrade"])) + return TRUE + if("add_upgrade") + var/new_upgrade = text2path(params["upgrade"]) + if(new_upgrade == /obj/item/borg/upgrade/utility/reset) + var/obj/item/borg/upgrade/utility/reset/rmodul = new_upgrade + if(tgui_alert(ui.user, "Are you sure that you want to install [initial(rmodul.name)] and reset the robot's module?","Confirm",list("Yes","No"))!="Yes") + return FALSE + var/obj/item/borg/upgrade/U = new new_upgrade(null) + if(new_upgrade == /obj/item/borg/upgrade/utility/rename) + var/obj/item/borg/upgrade/utility/rename/UN = U + var/new_name = sanitizeSafe(tgui_input_text(ui.user, "Enter new robot name", "Robot Reclassification", UN.heldname, MAX_NAME_LEN), MAX_NAME_LEN) + if(new_name) + UN.heldname = new_name + U = UN + if(istype(U, /obj/item/borg/upgrade/restricted)) + target.module.supported_upgrades |= new_upgrade + if(!U.action(target)) + return FALSE + U.loc = target + target.hud_used?.update_robot_modules_display() + return TRUE + if("install_modkit") + var/new_modkit = text2path(params["modkit"]) + var/obj/item/gun/energy/kinetic_accelerator/kin = locate() in target.module.modules + var/obj/item/borg/upgrade/modkit/M = new new_modkit(null) + M.install(kin, target) + return TRUE + if("remove_modkit") + var/obj/item/gun/energy/kinetic_accelerator/kin = locate() in target.module.modules + var/obj/item/rem_kit = locate(params["modkit"]) + kin.modkits.Remove(rem_kit) + qdel(rem_kit) + return TRUE + if("add_channel") + var/selected_radio_channel = params["channel"] + if(selected_radio_channel == CHANNEL_SPECIAL_OPS) + target.radio.centComm = 1 + if(selected_radio_channel == CHANNEL_RAIDER) + qdel(target.radio.keyslot) + target.radio.keyslot = new /obj/item/encryptionkey/raider(target) + target.radio.syndie = 1 + if(selected_radio_channel == CHANNEL_MERCENARY) + qdel(target.radio.keyslot) + target.radio.keyslot = new /obj/item/encryptionkey/syndicate(target) + target.radio.syndie = 1 + target.module.channels += list("[selected_radio_channel]" = 1) + target.radio.channels[selected_radio_channel] += target.module.channels[selected_radio_channel] + target.radio.secure_radio_connections[selected_radio_channel] += radio_controller.add_object(target.radio, radiochannels[selected_radio_channel], RADIO_CHAT) + return TRUE + if("rem_channel") + var/selected_radio_channel = params["channel"] + if(selected_radio_channel == CHANNEL_SPECIAL_OPS) + target.radio.centComm = 0 + target.module.channels -= selected_radio_channel + if((selected_radio_channel == CHANNEL_MERCENARY || selected_radio_channel == CHANNEL_RAIDER) && !(target.module.channels[CHANNEL_RAIDER] || target.module.channels[CHANNEL_MERCENARY])) + qdel(target.radio.keyslot) + target.radio.keyslot = null + target.radio.syndie = 0 + target.radio.channels = list() + for(var/n_chan in target.module.channels) + target.radio.channels[n_chan] -= target.module.channels[n_chan] + radio_controller.remove_object(target.radio, radiochannels[selected_radio_channel]) + target.radio.secure_radio_connections -= selected_radio_channel + return TRUE + if("add_component") + var/datum/robot_component/C = locate(params["component"]) + if(C.wrapped) + qdel(C.wrapped) + var/new_component = text2path(params["new_part"]) + if(istype(C, /datum/robot_component/actuator)) + if(!new_component) + new_component = /obj/item/robot_parts/robot_component/actuator + C.wrapped = new new_component(target) + else if(istype(C, /datum/robot_component/radio)) + if(!new_component) + new_component = /obj/item/robot_parts/robot_component/radio + C.wrapped = new new_component(target) + else if(istype(C, /datum/robot_component/cell)) + target.cell = new new_component(target) + C.wrapped = target.cell + else if(istype(C, /datum/robot_component/diagnosis_unit)) + if(!new_component) + new_component = /obj/item/robot_parts/robot_component/diagnosis_unit + C.wrapped = new new_component(target) + else if(istype(C, /datum/robot_component/camera)) + if(!new_component) + new_component = /obj/item/robot_parts/robot_component/camera + C.wrapped = new new_component(target) + else if(istype(C, /datum/robot_component/binary_communication)) + if(!new_component) + new_component = /obj/item/robot_parts/robot_component/binary_communication_device + C.wrapped = new new_component(target) + else if(istype(C, /datum/robot_component/armour)) + if(!new_component) + new_component = /obj/item/robot_parts/robot_component/armour + C.wrapped = new new_component(target) + C.brute_damage = 0 + C.electronics_damage = 0 + C.install() + C.installed = 1 + return TRUE + if("rem_component") + var/datum/robot_component/C = locate(params["component"]) + if(!C.wrapped) + return FALSE + C.uninstall() + C.brute_damage = 0 + C.electronics_damage = 0 + C.installed = 0 + qdel(C.wrapped) + C.wrapped = null + if(istype(C, /datum/robot_component/cell)) + target.cell = null + return TRUE + if("adjust_cell_charge") + target.cell.charge = text2num(params["charge"]) + return TRUE + if("adjust_brute") + var/datum/robot_component/C = locate(params["component"]) + C.brute_damage = text2num(params["damage"]) + return TRUE + if("adjust_electronics") + var/datum/robot_component/C = locate(params["component"]) + C.electronics_damage = text2num(params["damage"]) + return TRUE + if("add_access") + target.idcard.access += text2num(params["access"]) + return TRUE + if("rem_access") + target.idcard.access -= text2num(params["access"]) + return TRUE + if("add_centcom") + target.idcard.access |= get_all_centcom_access() + return TRUE + if("rem_centcom") + target.idcard.access -= get_all_centcom_access() + return TRUE + if("add_station") + target.idcard.access |= get_all_station_access() + target.idcard.access |= access_synth + return TRUE + if("rem_station") + target.idcard.access -= get_all_station_access() + target.idcard.access -= access_synth + return TRUE + if("law_channel") + if(params["law_channel"] in target.law_channels()) + target.lawchannel = params["law_channel"] + return TRUE + if("state_law") + var/datum/ai_law/AL = locate(params["ref"]) in target.laws.all_laws() + if(AL) + var/state_law = text2num(params["state_law"]) + target.laws.set_state_law(AL, state_law) + return TRUE + if("add_zeroth_law") + if(zeroth_law && !target.laws.zeroth_law) + target.set_zeroth_law(zeroth_law) + target.lawsync() + return TRUE + if("add_ion_law") + if(ion_law) + target.add_ion_law(ion_law) + target.lawsync() + return TRUE + if("add_inherent_law") + if(inherent_law) + target.add_inherent_law(inherent_law) + target.lawsync() + return TRUE + if("add_supplied_law") + if(supplied_law && supplied_law_position >= 1 && MIN_SUPPLIED_LAW_NUMBER <= MAX_SUPPLIED_LAW_NUMBER) + target.add_supplied_law(supplied_law_position, supplied_law) + target.lawsync() + return TRUE + if("change_zeroth_law") + var/new_law = sanitize(params["val"]) + if(new_law && new_law != zeroth_law) + zeroth_law = new_law + target.lawsync() + return TRUE + if("change_ion_law") + var/new_law = sanitize(params["val"]) + if(new_law && new_law != ion_law) + ion_law = new_law + target.lawsync() + return TRUE + if("change_inherent_law") + var/new_law = sanitize(params["val"]) + if(new_law && new_law != inherent_law) + inherent_law = new_law + target.lawsync() + return TRUE + if("change_supplied_law") + var/new_law = sanitize(params["val"]) + if(new_law && new_law != supplied_law) + supplied_law = new_law + target.lawsync() + return TRUE + if("change_supplied_law_position") + var/new_position = tgui_input_number(ui.user, "Enter new supplied law position between 1 and [MAX_SUPPLIED_LAW_NUMBER], inclusive. Inherent laws at the same index as a supplied law will not be stated.", "Law Position", supplied_law_position, MAX_SUPPLIED_LAW_NUMBER, 1) + if(isnum(new_position)) + supplied_law_position = CLAMP(new_position, 1, MAX_SUPPLIED_LAW_NUMBER) + target.lawsync() + return TRUE + if("edit_law") + var/datum/ai_law/AL = locate(params["edit_law"]) in target.laws.all_laws() + if(AL) + var/new_law = sanitize(tgui_input_text(ui.user, "Enter new law. Leaving the field blank will cancel the edit.", "Edit Law", AL.law)) + if(new_law && new_law != AL.law) + AL.law = new_law + target.lawsync() + return TRUE + if("delete_law") + var/datum/ai_law/AL = locate(params["delete_law"]) in target.laws.all_laws() + if(AL) + target.delete_law(AL) + target.lawsync() + return TRUE + if("state_laws") + target.statelaws(target.laws) + return TRUE + if("state_law_set") + var/datum/ai_laws/ALs = locate(params["state_law_set"]) in law_list + if(ALs) + target.statelaws(ALs) + return TRUE + if("transfer_laws") + var/datum/ai_laws/ALs = locate(params["transfer_laws"]) in law_list + if(ALs) + ALs.sync(target, 0) + target.lawsync() + return TRUE + if("notify_laws") + to_chat(target, span_danger("Law Notice")) + target.laws.show_laws(target) + if(isAI(target)) + var/mob/living/silicon/ai/AI = target + for(var/mob/living/silicon/robot/R in AI.connected_robots) + to_chat(R, span_danger("Law Notice")) + R.laws.show_laws(R) + if(ui.user != target) + to_chat(ui.user, span_notice("Laws displayed.")) + return TRUE + if("select_ai") + selected_ai = locate(params["new_ai"]) + return TRUE + if("swap_sync") + var/new_ai = selected_ai ? selected_ai : select_active_ai_with_fewest_borgs() + if(new_ai) + target.lawupdate = 1 + target.connect_to_ai(new_ai) + return TRUE + if("disconnect_ai") + if(target.is_slaved()) + target.disconnect_from_ai() + target.lawupdate = 0 + return TRUE + if("toggle_emag") + if(target.emagged) + target.emagged = 0 + target.clear_supplied_laws() + target.clear_inherent_laws() + target.laws = new global.using_map.default_law_type + target.laws.show_laws(target) + target.hud_used?.update_robot_modules_display() + else + target.emagged = 1 + target.lawupdate = 0 + target.disconnect_from_ai() + target.clear_supplied_laws() + target.clear_inherent_laws() + target.laws = new /datum/ai_laws/syndicate_override + if(target.bolt) + if(!target.bolt.malfunction) + target.bolt.malfunction = MALFUNCTION_PERMANENT + target.laws.show_laws(target) + target.hud_used?.update_robot_modules_display() + return TRUE + +/datum/eventkit/modify_robot/proc/get_target_items(var/mob/user) + var/list/target_items = list() + for(var/obj/item in target.module.modules) + target_items += list(list("name" = item.name, "ref" = "\ref[item]", "icon" = icon2html(item, user, sourceonly=TRUE), "desc" = item.desc)) + return target_items + +/datum/eventkit/modify_robot/proc/get_module_source(var/mob/user, var/datum/asset/spritesheet/robot_icons/spritesheet) + var/list/source_list = list() + source_list["model"] = source.module + source_list["sprite"] = sanitize_css_class_name("[source.sprite_datum.type]") + source_list["sprite_size"] = spritesheet.icon_size_id(source_list["sprite"] + "S") + var/list/source_items = list() + for(var/obj/item in (source.module.modules | source.module.emag)) + var/exists + for(var/obj/has_item in (target.module.modules + target.module.emag)) + if(has_item.name == item.name) + exists = TRUE + break + if(exists) + continue + source_items += list(list("name" = item.name, "ref" = "\ref[item]", "icon" = icon2html(item, user, sourceonly=TRUE), "desc" = item.desc)) + source_list["modules"] = source_items + return source_list + +/datum/eventkit/modify_robot/proc/get_upgrades() + var/list/all_upgrades = list() + var/list/whitelisted_upgrades = list() + var/list/blacklisted_upgrades = list() + for(var/datum/design/item/prosfab/robot_upgrade/restricted/upgrade) + if(!upgrade.name) + continue + if(!(initial(upgrade.build_path) in target.module.supported_upgrades)) + whitelisted_upgrades += list(list("name" = initial(upgrade.name), "path" = "[initial(upgrade.build_path)]")) + else + blacklisted_upgrades += list(list("name" = initial(upgrade.name), "path" = "[initial(upgrade.build_path)]")) + all_upgrades["whitelisted_upgrades"] = whitelisted_upgrades + all_upgrades["blacklisted_upgrades"] = blacklisted_upgrades + var/list/utility_upgrades = list() + for(var/datum/design/item/prosfab/robot_upgrade/utility/upgrade) + if(!upgrade.name) + continue + if(!(target.has_upgrade(initial(upgrade.build_path)))) + utility_upgrades += list(list("name" = initial(upgrade.name), "path" = "[initial(upgrade.build_path)]")) + all_upgrades["utility_upgrades"] = utility_upgrades + var/list/basic_upgrades = list() + for(var/datum/design/item/prosfab/robot_upgrade/basic/upgrade) + if(!upgrade.name) + continue + if(!(target.has_upgrade(initial(upgrade.build_path)))) + basic_upgrades += list(list("name" = initial(upgrade.name), "path" = "[initial(upgrade.build_path)]", "installed" = 0)) + else + basic_upgrades += list(list("name" = initial(upgrade.name), "path" = "[initial(upgrade.build_path)]", "installed" = 1)) + all_upgrades["basic_upgrades"] = basic_upgrades + var/list/advanced_upgrades = list() + for(var/datum/design/item/prosfab/robot_upgrade/advanced/upgrade) + if(!upgrade.name) + continue + if(!(target.has_upgrade(initial(upgrade.build_path)))) + advanced_upgrades += list(list("name" = initial(upgrade.name), "path" = "[initial(upgrade.build_path)]", "installed" = 0)) + else + advanced_upgrades += list(list("name" = initial(upgrade.name), "path" = "[initial(upgrade.build_path)]", "installed" = 1)) + all_upgrades["advanced_upgrades"] = advanced_upgrades + var/list/restricted_upgrades = list() + for(var/datum/design/item/prosfab/robot_upgrade/restricted/upgrade) + if(!upgrade.name) + continue + if(!(target.has_upgrade(initial(upgrade.build_path)))) + if(!(initial(upgrade.build_path) in target.module.supported_upgrades)) + restricted_upgrades += list(list("name" = initial(upgrade.name), "path" = "[initial(upgrade.build_path)]", "installed" = 2)) + continue + restricted_upgrades += list(list("name" = initial(upgrade.name), "path" = "[initial(upgrade.build_path)]", "installed" = 0)) + else + restricted_upgrades += list(list("name" = initial(upgrade.name), "path" = "[initial(upgrade.build_path)]", "installed" = 1)) + all_upgrades["restricted_upgrades"] = restricted_upgrades + return all_upgrades + +/datum/eventkit/modify_robot/proc/get_pka(var/obj/item/gun/energy/kinetic_accelerator/kin) + var/list/pka = list() + pka["name"] = kin.name + var/list/installed_modkits = list() + for(var/obj/item/borg/upgrade/modkit/modkit in kin.modkits) + installed_modkits += list(list("name" = modkit.name, "ref" = "\ref[modkit]", "costs" = modkit.cost)) + pka["installed_modkits"] = installed_modkits + var/list/modkits = list() + for(var/modkit in typesof(/obj/item/borg/upgrade/modkit)) + var/obj/item/borg/upgrade/modkit/single_modkit = modkit + if(single_modkit == /obj/item/borg/upgrade/modkit) + continue + if(kin.get_remaining_mod_capacity() < initial(single_modkit.cost)) + modkits += list(list("name" = initial(single_modkit.name), "path" = single_modkit, "costs" = initial(single_modkit.cost), "denied" = TRUE, "denied_by" = "Insufficient capacity!")) + continue + if(initial(single_modkit.denied_type)) + var/number_of_denied = 0 + var/denied = FALSE + for(var/A in kin.get_modkits()) + var/obj/item/borg/upgrade/modkit/M = A + if(istype(M, initial(single_modkit.denied_type))) + number_of_denied++ + if(number_of_denied >= initial(single_modkit.maximum_of_type)) + var/obj/item/denied_type = initial(single_modkit.denied_type) + modkits += list(list("name" = initial(single_modkit.name), "path" = single_modkit, "costs" = initial(single_modkit.cost), "denied" = TRUE, "denied_by" = "[initial(denied_type.name)]")) + denied = TRUE + break + if(denied) + continue + modkits += list(list("name" = initial(single_modkit.name), "path" = single_modkit, "costs" = initial(single_modkit.cost))) + pka["modkits"] = modkits + pka["capacity"] = kin.get_remaining_mod_capacity() + pka["max_capacity"] = kin.max_mod_capacity + return pka + +/datum/eventkit/modify_robot/proc/get_cells() + var/list/cell_options = list() + for(var/cell in typesof(/obj/item/cell)) + var/obj/item/cell/C = cell + if(initial(C.name) == "power cell") + continue + if(ispath(C, /obj/item/cell/standin)) + continue + if(ispath(C, /obj/item/cell/device)) + continue + if(ispath(C, /obj/item/cell/mech)) + continue + if(cell_options[initial(C.name)]) // empty cells are defined after normal cells! + continue + cell_options += list(initial(C.name) = list("path" = "[C]", "charge" = initial(C.maxcharge), "max_charge" = initial(C.maxcharge), "charge_amount" = initial(C.charge_amount) , "self_charge" = initial(C.self_recharge), "max_damage" = initial(C.robot_durability))) // our cells do not have their charge predefined, they do it on init, so both maaxcharge for now + return cell_options + +/datum/eventkit/modify_robot/proc/get_component(var/type) + var/path + switch(type) + if("camera") + path = /obj/item/robot_parts/robot_component/camera + if("radio") + path = /obj/item/robot_parts/robot_component/radio + if("actuator") + path = /obj/item/robot_parts/robot_component/actuator + if("diagnosis") + path = /obj/item/robot_parts/robot_component/diagnosis_unit + if("comms") + path = /obj/item/robot_parts/robot_component/binary_communication_device + if("armour") + path = /obj/item/robot_parts/robot_component/armour + if(!path) + return + var/list/components = list() + for(var/component in typesof(path)) + var/obj/item/robot_parts/robot_component/C = component + components += list("[initial(C.name)]" = list("path" = "[component]", "idle_usage" = "[C.idle_usage]", "active_usage" = "[C.active_usage]", "max_damage" = "[C.max_damage]")) + return components + +/datum/eventkit/modify_robot/proc/get_gear() + var/list/equip = list() + for (var/V in target.components) + var/datum/robot_component/C = target.components[V] + var/component_name + if(istype(C.wrapped, /obj/item/robot_parts/robot_component)) + component_name = C.wrapped?.name + switch(V) + if("actuator") + equip += list("[lowertext(C.name)]" = "[component_name]") + if("radio") + equip += list("[lowertext(C.name)]" = "[component_name]") + if("diagnosis unit") + equip += list("[lowertext(C.name)]" = "[component_name]") + if("camera") + equip += list("[lowertext(C.name)]" = "[component_name]") + if("comms") + equip += list("[lowertext(C.name)]" = "[component_name]") + if("armour") + equip += list("[lowertext(C.name)]" = "[component_name]") + return equip + +/datum/eventkit/modify_robot/proc/get_components() + var/list/components = list() + for(var/entry in target.components) + var/datum/robot_component/C = target.components[entry] + components += list(list("name" = C.name, "ref" = "\ref[C]", "brute_damage" = C.brute_damage, "electronics_damage" = C.electronics_damage, "max_damage" = C.max_damage, "idle_usage" = C.idle_usage, "active_usage" = C.active_usage, "installed" = C.installed, "exists" = (C.wrapped ? TRUE : FALSE))) + return components + +/datum/eventkit/modify_robot/proc/package_laws(var/list/data, var/field, var/list/datum/ai_law/laws) + var/list/packaged_laws = list() + for(var/datum/ai_law/AL in laws) + packaged_laws[++packaged_laws.len] = list("law" = AL.law, "index" = AL.get_index(), "state" = target.laws.get_state_law(AL), "ref" = "\ref[AL]") + data[field] = packaged_laws + data["has_[field]"] = packaged_laws.len + +/datum/eventkit/modify_robot/proc/package_multiple_laws(var/list/datum/ai_laws/laws) + var/list/law_sets = list() + for(var/datum/ai_laws/ALs in laws) + var/list/packaged_laws = list() + package_laws(packaged_laws, "zeroth_laws", list(ALs.zeroth_law, ALs.zeroth_law_borg)) + package_laws(packaged_laws, "ion_laws", ALs.ion_laws) + package_laws(packaged_laws, "inherent_laws", ALs.inherent_laws) + package_laws(packaged_laws, "supplied_laws", ALs.supplied_laws) + law_sets[++law_sets.len] = list("name" = ALs.name, "header" = ALs.law_header, "ref" = "\ref[ALs]","laws" = packaged_laws) + return law_sets + +/datum/eventkit/modify_robot/proc/is_malf(var/mob/user) + return (is_admin(user) && !target.is_slaved()) || is_special_role(user) + +/datum/eventkit/modify_robot/proc/is_special_role(var/mob/user) + return user.mind.special_role ? TRUE : FALSE diff --git a/code/modules/admin/newbanjob.dm b/code/modules/admin/newbanjob.dm index f495ddb5c09..f9420b886fe 100644 --- a/code/modules/admin/newbanjob.dm +++ b/code/modules/admin/newbanjob.dm @@ -1,3 +1,20 @@ +// Station ranks +#define RANK_HEADS "Heads" +#define RANK_SECURITY "Security" +#define RANK_ENGINEERING "Engineering" +#define RANK_RESEARCH "Research" +#define RANK_MEDICAL "Medical" +#define RANK_CE_STATION_ENGINEER "CE_Station_Engineer" +#define RANK_CE_ATMOSPHERIC_TECH "CE_Atmospheric_Tech" +#define RANK_CE_SHAFT_MINER "CE_Shaft_Miner" +#define RANK_CHEMIST_RD_CMO "Chemist_RD_CMO" +#define RANK_GENETIST_RD_CMO "Geneticist_RD_CMO" +#define RANK_MD_CMO "MD_CMO" +#define RANK_SCIENTIST_RD "Scientist_RD" +#define RANK_AI_CYBORG "AI_Cyborg" +#define RANK_DETECTIVE_HOS "Detective_HoS" +#define RANK_VIROLOGIST_RD_CMO "Virologist_RD_CMO" + var/savefile/Banlistjob @@ -61,82 +78,82 @@ var/savefile/Banlistjob if (temp) UpdateTime() bantimestamp = CMinutes + minutes - if(rank == "Heads") - AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Head of Personnel") - AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Site Manager") - AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Head of Security") - AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Chief Engineer") - AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Research Director") - AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Chief Medical Officer") + if(rank == RANK_HEADS) + AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_HEAD_OF_PERSONNEL) + AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_SITE_MANAGER) + AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_HEAD_OF_SECURITY) + AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_CHIEF_ENGINEER) + AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_RESEARCH_DIRECTOR) + AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_CHIEF_MEDICAL_OFFICER) return 1 - if(rank == "Security") - AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Head of Security") - AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Warden") - AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Detective") - AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Security Officer") - AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Cyborg") + if(rank == RANK_SECURITY) + AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_HEAD_OF_SECURITY) + AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_WARDEN) + AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_DETECTIVE) + AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_SECURITY_OFFICER) + AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_CYBORG) return 1 - if(rank == "Engineering") - AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Engineer") - AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Atmospheric Technician") - AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Chief Engineer") - AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Cyborg") + if(rank == RANK_ENGINEERING) + AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_ENGINEER) + AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_ATMOSPHERIC_TECHNICIAN) + AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_CHIEF_ENGINEER) + AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_CYBORG) return 1 - if(rank == "Research") - AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Scientist") - AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Geneticist") - AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Chief Medical Officer") - AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Research Director") + if(rank == RANK_RESEARCH) + AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_SCIENTIST) + AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_GENETICIST) + AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_CHIEF_MEDICAL_OFFICER) + AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_RESEARCH_DIRECTOR) return 1 - if(rank == "Medical") - AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Geneticist") - AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Medical Doctor") - AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Chief Medical Officer") - AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Chemist") - AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Cyborg") + if(rank == RANK_MEDICAL) + AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_GENETICIST) + AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_MEDICAL_DOCTOR) + AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_CHIEF_MEDICAL_OFFICER) + AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_CHEMIST) + AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_CYBORG) return 1 - if(rank == "CE_Station_Engineer") - AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Engineer") - AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Chief Engineer") + if(rank == RANK_CE_STATION_ENGINEER) + AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_ENGINEER) + AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_CHIEF_ENGINEER) return 1 - if(rank == "CE_Atmospheric_Tech") - AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Atmospheric Technician") - AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Chief Engineer") + if(rank == RANK_CE_ATMOSPHERIC_TECH) + AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_ATMOSPHERIC_TECHNICIAN) + AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_CHIEF_ENGINEER) return 1 - if(rank == "CE_Shaft_Miner") - AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Shaft Miner") - AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Chief Engineer") + if(rank == RANK_CE_SHAFT_MINER) + AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_SHAFT_MINER) + AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_CHIEF_ENGINEER) return 1 - if(rank == "Chemist_RD_CMO") - AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Chief Medical Officer") - AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Research Director") - AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Chemist") + if(rank == RANK_CHEMIST_RD_CMO) + AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_CHIEF_MEDICAL_OFFICER) + AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_RESEARCH_DIRECTOR) + AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_CHEMIST) return 1 - if(rank == "Geneticist_RD_CMO") - AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Chief Medical Officer") - AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Research Director") - AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Geneticist") + if(rank == RANK_GENETIST_RD_CMO) + AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_CHIEF_MEDICAL_OFFICER) + AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_RESEARCH_DIRECTOR) + AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_GENETICIST) return 1 - if(rank == "MD_CMO") - AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Chief Medical Officer") - AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Medical Doctor") + if(rank == RANK_MD_CMO) + AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_CHIEF_MEDICAL_OFFICER) + AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_MEDICAL_DOCTOR) return 1 - if(rank == "Scientist_RD") - AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Research Director") - AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Scientist") + if(rank == RANK_SCIENTIST_RD) + AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_RESEARCH_DIRECTOR) + AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_SCIENTIST) return 1 - if(rank == "AI_Cyborg") - AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Cyborg") - AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "AI") + if(rank == RANK_AI_CYBORG) + AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_CYBORG) + AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_AI) return 1 - if(rank == "Detective_HoS") - AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Detective") - AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Head of Security") + if(rank == RANK_DETECTIVE_HOS) + AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_DETECTIVE) + AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_HEAD_OF_SECURITY) return 1 - if(rank == "Virologist_RD_CMO") - AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Chief Medical Officer") - AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Research Director") - AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Virologist") + if(rank == RANK_VIROLOGIST_RD_CMO) + AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_CHIEF_MEDICAL_OFFICER) + AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_RESEARCH_DIRECTOR) + AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_ALT_VIROLOGIST) return 1 Banlistjob.cd = "/base" @@ -272,3 +289,19 @@ var/savefile/Banlistjob Banlistjob.cd = "/base" for (var/A in Banlistjob.dir) RemoveBanjob(A, "full") + +#undef RANK_HEADS +#undef RANK_SECURITY +#undef RANK_ENGINEERING +#undef RANK_RESEARCH +#undef RANK_MEDICAL +#undef RANK_CE_STATION_ENGINEER +#undef RANK_CE_ATMOSPHERIC_TECH +#undef RANK_CE_SHAFT_MINER +#undef RANK_CHEMIST_RD_CMO +#undef RANK_GENETIST_RD_CMO +#undef RANK_MD_CMO +#undef RANK_SCIENTIST_RD +#undef RANK_AI_CYBORG +#undef RANK_DETECTIVE_HOS +#undef RANK_VIROLOGIST_RD_CMO diff --git a/code/modules/admin/news.dm b/code/modules/admin/news.dm index c0812b818e5..30defc11c29 100644 --- a/code/modules/admin/news.dm +++ b/code/modules/admin/news.dm @@ -13,7 +13,7 @@ /client/proc/modify_server_news() set name = "Modify Public News" - set category = "Server" + set category = "Server.Game" if(!check_rights(0)) return @@ -118,4 +118,4 @@ text = replacetext(text, "", "\[sglogo\]") return text -#undef NEWSFILE \ No newline at end of file +#undef NEWSFILE diff --git a/code/modules/admin/permissionverbs/permissionedit.dm b/code/modules/admin/permissionverbs/permissionedit.dm index 9c784ea49c6..34adf5c3abe 100644 --- a/code/modules/admin/permissionverbs/permissionedit.dm +++ b/code/modules/admin/permissionverbs/permissionedit.dm @@ -1,5 +1,5 @@ /client/proc/edit_admin_permissions() - set category = "Admin" + set category = "Admin.Secrets" set name = "Permissions Panel" set desc = "Edit admin permissions" if(!check_rights(R_PERMISSIONS)) return @@ -45,19 +45,19 @@ usr << browse(output,"window=editrights;size=600x500") /datum/admins/proc/log_admin_rank_modification(var/adm_ckey, var/new_rank) - if(config.admin_legacy_system) return + if(CONFIG_GET(flag/admin_legacy_system)) return if(!usr.client) return if(!usr.client.holder || !(usr.client.holder.rights & R_PERMISSIONS)) - to_chat(usr, "[span_red("You do not have permission to do this!")]") + to_chat(usr, span_filter_adminlog("[span_red("You do not have permission to do this!")]")) return establish_db_connection() if(!dbcon.IsConnected()) - to_chat(usr, "[span_red("Failed to establish database connection")]") + to_chat(usr, span_filter_adminlog("[span_red("Failed to establish database connection")]")) return if(!adm_ckey || !new_rank) @@ -85,28 +85,28 @@ insert_query.Execute() var/DBQuery/log_query = dbcon.NewQuery("INSERT INTO `test`.`erro_admin_log` (`id` ,`datetime` ,`adminckey` ,`adminip` ,`log` ) VALUES (NULL , NOW( ) , '[usr.ckey]', '[usr.client.address]', 'Added new admin [adm_ckey] to rank [new_rank]');") log_query.Execute() - to_chat(usr, "[span_blue("New admin added.")]") + to_chat(usr, span_filter_adminlog("[span_blue("New admin added.")]")) else if(!isnull(admin_id) && isnum(admin_id)) var/DBQuery/insert_query = dbcon.NewQuery("UPDATE `erro_admin` SET rank = '[new_rank]' WHERE id = [admin_id]") insert_query.Execute() var/DBQuery/log_query = dbcon.NewQuery("INSERT INTO `test`.`erro_admin_log` (`id` ,`datetime` ,`adminckey` ,`adminip` ,`log` ) VALUES (NULL , NOW( ) , '[usr.ckey]', '[usr.client.address]', 'Edited the rank of [adm_ckey] to [new_rank]');") log_query.Execute() - to_chat(usr, "[span_blue("Admin rank changed.")]") + to_chat(usr, span_filter_adminlog("[span_blue("Admin rank changed.")]")) /datum/admins/proc/log_admin_permission_modification(var/adm_ckey, var/new_permission) - if(config.admin_legacy_system) return + if(CONFIG_GET(flag/admin_legacy_system)) return if(!usr.client) return if(!usr.client.holder || !(usr.client.holder.rights & R_PERMISSIONS)) - to_chat(usr, "[span_red(">You do not have permission to do this!")]") + to_chat(usr, span_filter_adminlog("[span_red(">You do not have permission to do this!")]")) return establish_db_connection() if(!dbcon.IsConnected()) - to_chat(usr, "[span_red("Failed to establish database connection!")]") + to_chat(usr, span_filter_adminlog("[span_red("Failed to establish database connection!")]")) return if(!adm_ckey || !new_permission) @@ -140,10 +140,10 @@ insert_query.Execute() var/DBQuery/log_query = dbcon.NewQuery("INSERT INTO `test`.`erro_admin_log` (`id` ,`datetime` ,`adminckey` ,`adminip` ,`log` ) VALUES (NULL , NOW( ) , '[usr.ckey]', '[usr.client.address]', 'Removed permission [rights2text(new_permission)] (flag = [new_permission]) to admin [adm_ckey]');") log_query.Execute() - to_chat(usr, "[span_blue("Permission removed.")]") + to_chat(usr, span_filter_adminlog("[span_blue("Permission removed.")]")) else //This admin doesn't have this permission, so we are adding it. var/DBQuery/insert_query = dbcon.NewQuery("UPDATE `erro_admin` SET flags = '[admin_rights | new_permission]' WHERE id = [admin_id]") insert_query.Execute() var/DBQuery/log_query = dbcon.NewQuery("INSERT INTO `test`.`erro_admin_log` (`id` ,`datetime` ,`adminckey` ,`adminip` ,`log` ) VALUES (NULL , NOW( ) , '[usr.ckey]', '[usr.client.address]', 'Added permission [rights2text(new_permission)] (flag = [new_permission]) to admin [adm_ckey]')") log_query.Execute() - to_chat(usr, "[span_blue("Permission added.")]") + to_chat(usr, span_filter_adminlog("[span_blue("Permission added.")]")) diff --git a/code/modules/admin/persistence.dm b/code/modules/admin/persistence.dm index 8405f8d101f..79a93b8c0f1 100644 --- a/code/modules/admin/persistence.dm +++ b/code/modules/admin/persistence.dm @@ -1,6 +1,6 @@ /datum/admins/proc/view_persistent_data() - set category = "Admin" + set category = "Admin.Game" set name = "View Persistent Data" set desc = "Shows a list of persistent data for this round. Allows modification by admins." - SSpersistence.show_info(usr) \ No newline at end of file + SSpersistence.show_info(usr) diff --git a/code/modules/admin/player_effects.dm b/code/modules/admin/player_effects.dm new file mode 100644 index 00000000000..d6f9ba6550b --- /dev/null +++ b/code/modules/admin/player_effects.dm @@ -0,0 +1,823 @@ +/client/proc/player_effects(var/mob/target in mob_list) + set name = "Player Effects" + set desc = "Modify a player character with various 'special treatments' from a list." + set category = "Fun" + if(!check_rights(R_FUN)) + return + + var/datum/eventkit/player_effects/spawner = new() + spawner.target = target + spawner.user = src.mob + spawner.tgui_interact(src.mob) + +/datum/eventkit/player_effects + var/mob/target //The target of the effects + var/mob/user + +/datum/eventkit/player_effects/New() + . = ..() + +/datum/eventkit/player_effects/tgui_interact(mob/user, datum/tgui/ui) + ui = SStgui.try_update_ui(user, src, ui) + if(!ui) + ui = new(user, src, "PlayerEffects", "Player Effects") + ui.open() + +/datum/eventkit/player_effects/Destroy() + . = ..() + +/datum/eventkit/player_effects/tgui_static_data(mob/user) + var/list/data = list() + + data["real_name"] = target.name; + data["player_ckey"] = target.ckey; + data["target_mob"] = target; + + + return data + +/datum/eventkit/player_effects/tgui_state(mob/user) + return GLOB.tgui_admin_state + +/datum/eventkit/player_effects/tgui_act(action, list/params, datum/tgui/ui) + . = ..() + if(.) + return + if(!check_rights_for(ui.user.client, R_SPAWN)) + return + + log_and_message_admins("[key_name(user)] used player effect: [action] on [target.ckey] playing [target.name]") + + switch(action) + + ////////////SMITES///////////// + if("break_legs") + var/mob/living/carbon/human/Tar = target + if(!istype(Tar)) + return + var/broken_legs = 0 + var/obj/item/organ/external/left_leg = Tar.get_organ(BP_L_LEG) + if(left_leg && left_leg.fracture()) + broken_legs++ + var/obj/item/organ/external/right_leg = Tar.get_organ(BP_R_LEG) + if(right_leg && right_leg.fracture()) + broken_legs++ + if(!broken_legs) + to_chat(user,"[target] didn't have any breakable legs, sorry.") + + if("bluespace_artillery") + bluespace_artillery(target, ui.user) + + if("spont_combustion") + var/mob/living/carbon/human/Tar = target + if(!istype(Tar)) + return + Tar.adjust_fire_stacks(10) + Tar.IgniteMob() + Tar.visible_message(span_danger("[target] bursts into flames!")) + + if("lightning_strike") + var/mob/living/carbon/human/Tar = target + if(!istype(Tar)) + return + var/turf/T = get_step(get_step(target, NORTH), NORTH) + T.Beam(target, icon_state="lightning[rand(1,12)]", time = 5) + Tar.electrocute_act(75,def_zone = BP_HEAD) + target.visible_message(span_danger("[target] is struck by lightning!")) + + if("shadekin_attack") + var/turf/Tt = get_turf(target) //Turf for target + + if(target.loc != Tt) + return //Too hard to attack someone in something + + var/turf/Ts //Turf for shadekin + + //Try to find nondense turf + for(var/direction in cardinal) + var/turf/T = get_step(target,direction) + if(T && !T.density) + Ts = T //Found shadekin spawn turf + if(!Ts) + return //Didn't find shadekin spawn turf + + var/mob/living/simple_mob/shadekin/red/shadekin = new(Ts) + //Abuse of shadekin + shadekin.real_name = shadekin.name + shadekin.init_vore() + shadekin.ability_flags |= 0x1 + shadekin.phase_shift() + shadekin.ai_holder.give_target(target) + shadekin.ai_holder.hostile = FALSE + shadekin.ai_holder.mauling = TRUE + shadekin.Life() + //Remove when done + spawn(10 SECONDS) + if(shadekin) + shadekin.death() + + if("shadekin_vore") + var/static/list/kin_types = list( + "Red Eyes (Dark)" = /mob/living/simple_mob/shadekin/red/dark, + "Red Eyes (Light)" = /mob/living/simple_mob/shadekin/red/white, + "Red Eyes (Brown)" = /mob/living/simple_mob/shadekin/red/brown, + "Blue Eyes (Dark)" = /mob/living/simple_mob/shadekin/blue/dark, + "Blue Eyes (Light)" = /mob/living/simple_mob/shadekin/blue/white, + "Blue Eyes (Brown)" = /mob/living/simple_mob/shadekin/blue/brown, + "Purple Eyes (Dark)" = /mob/living/simple_mob/shadekin/purple/dark, + "Purple Eyes (Light)" = /mob/living/simple_mob/shadekin/purple/white, + "Purple Eyes (Brown)" = /mob/living/simple_mob/shadekin/purple/brown, + "Yellow Eyes (Dark)" = /mob/living/simple_mob/shadekin/yellow/dark, + "Yellow Eyes (Light)" = /mob/living/simple_mob/shadekin/yellow/white, + "Yellow Eyes (Brown)" = /mob/living/simple_mob/shadekin/yellow/brown, + "Green Eyes (Dark)" = /mob/living/simple_mob/shadekin/green/dark, + "Green Eyes (Light)" = /mob/living/simple_mob/shadekin/green/white, + "Green Eyes (Brown)" = /mob/living/simple_mob/shadekin/green/brown, + "Orange Eyes (Dark)" = /mob/living/simple_mob/shadekin/orange/dark, + "Orange Eyes (Light)" = /mob/living/simple_mob/shadekin/orange/white, + "Orange Eyes (Brown)" = /mob/living/simple_mob/shadekin/orange/brown, + "Rivyr (Unique)" = /mob/living/simple_mob/shadekin/blue/rivyr) + var/kin_type = tgui_input_list(ui.user, "Select the type of shadekin for [target] nomf","Shadekin Type Choice", kin_types) + if(!kin_type || !target) + return + + + kin_type = kin_types[kin_type] + + var/myself = tgui_alert(ui.user, "Control the shadekin yourself or delete pred and prey after?","Control Shadekin?",list("Control","Cancel","Delete")) + if(!myself || myself == "Cancel" || !target) + return + + var/turf/Tt = get_turf(target) + + if(target.loc != Tt) + return //Can't nom when not exposed + + //Begin abuse + target.transforming = TRUE //Cheap hack to stop them from moving + var/mob/living/simple_mob/shadekin/shadekin = new kin_type(Tt) + shadekin.real_name = shadekin.name + shadekin.init_vore() + shadekin.can_be_drop_pred = TRUE + shadekin.dir = SOUTH + shadekin.ability_flags |= 0x1 + shadekin.phase_shift() //Homf + shadekin.energy = initial(shadekin.energy) + //For fun + sleep(1 SECOND) + shadekin.dir = WEST + sleep(1 SECOND) + shadekin.dir = EAST + sleep(1 SECOND) + shadekin.dir = SOUTH + sleep(1 SECOND) + shadekin.audible_message(span_vwarning(span_bold("[shadekin]") + " belches loudly!"), runemessage = "URRRRRP") + sleep(2 SECONDS) + shadekin.phase_shift() + target.transforming = FALSE //Undo cheap hack + + if(myself == "Control") //Put admin in mob + shadekin.ckey = target.ckey + + else //Permakin'd + to_chat(target,span_danger("You're carried off into The Dark by the [shadekin]. Who knows if you'll find your way back?")) + target.ghostize() + qdel(target) + qdel(shadekin) + + + if("redspace_abduct") + redspace_abduction(target, ui.user) + + if("autosave") + fake_autosave(target, ui.user) + + if("autosave2") + fake_autosave(target, ui.user, TRUE) + + if("adspam") + if(target.client) + target.client.create_fake_ad_popup_multiple(/obj/screen/popup/default, 15) + + if("peppernade") + var/obj/item/grenade/chem_grenade/teargas/grenade = new /obj/item/grenade/chem_grenade/teargas + grenade.loc = target.loc + to_chat(target,span_warning("GRENADE?!")) + grenade.detonate() + + if("spicerequest") + var/obj/item/reagent_containers/food/condiment/spacespice/spice = new /obj/item/reagent_containers/food/condiment/spacespice + spice.loc = target.loc + to_chat(target,"A bottle of spices appears at your feet... be careful what you wish for!") + + if("terror") + var/mob/living/carbon/human/Tar = target + if(!istype(Tar)) + return + Tar.fear = 200 + + if("terror_aoe") + var/mob/living/carbon/human/Tar = target + if(!istype(Tar)) + return + for(var/mob/living/carbon/human/L in orange(Tar.client.view, Tar)) + L.fear = 200 + Tar.fear = 200 + + if("spin") + var/speed = tgui_input_number(user, "Spin speed (minimum 0.1):", "Speed") + if(speed < 0.1) + return + var/loops = tgui_input_number(user, "Number of loops (-1 for infinite):", "Loops") + var/direction_ask = tgui_alert(user, "Clockwise or Anti-Clockwise", "Direction", list("Clockwise", "Anti-Clockwise", "Cancel")) + var/direction + if(direction_ask == "Clockwise") + direction = 1 + if(direction_ask == "Anti-Clockwise") + direction = 0 + if(direction_ask == "Cancel") + return + target.SpinAnimation(speed, loops, direction) + + if("squish") + var/is_squished = target.tf_scale_x || target.tf_scale_y + playsound(target, 'sound/items/hooh.ogg', 50, 1) + if(!is_squished) + target.SetTransform(null, (target.size_multiplier * 1.2), (target.size_multiplier * 0.5)) + else + target.ClearTransform() + target.update_transform() + + if("pie_splat") + new/obj/effect/decal/cleanable/pie_smudge(get_turf(target)) + playsound(target, 'sound/effects/slime_squish.ogg', 100, 1, get_rand_frequency(), falloff = 5) + target.Weaken(1) + target.visible_message(span_danger("[target] is struck by pie!")) + + if("spicy_air") + to_chat(target, span_warning("Spice spice baby!")) + target.eye_blurry = max(target.eye_blurry, 25) + target.Blind(10) + target.Stun(5) + target.Weaken(5) + playsound(target, 'sound/effects/spray2.ogg', 100, 1, get_rand_frequency(), falloff = 5) + + if("hot_dog") + playsound(target, 'sound/effects/whistle.ogg', 50, 1, get_rand_frequency(), falloff = 5) + sleep(2 SECONDS) + target.Stun(10) + if(!ishuman(target)) + return + var/mob/living/carbon/human/H = target + if(H.head) + H.unEquip(H.head) + if(H.wear_suit) + H.unEquip(H.wear_suit) + var/obj/item/clothing/suit = new /obj/item/clothing/suit/storage/hooded/foodcostume/hotdog + var/obj/item/clothing/hood = new /obj/item/clothing/head/hood_vr/hotdog_hood + H.equip_to_slot_if_possible(suit, slot_wear_suit, 0, 0, 1) + H.equip_to_slot_if_possible(hood, slot_head, 0, 0, 1) + sleep(5 SECONDS) + qdel(suit) + qdel(hood) + + if("mob_tf") + var/mob/living/M = target + + if(!istype(M)) + return + + var/list/types = typesof(/mob/living) + var/chosen_beast = tgui_input_list(user, "Which form would you like to take?", "Choose Beast Form", types) + + if(!chosen_beast) + return + + var/mob/living/new_mob = new chosen_beast(get_turf(M)) + new_mob.faction = M.faction + + if(new_mob && isliving(new_mob)) + for(var/obj/belly/B as anything in new_mob.vore_organs) + new_mob.vore_organs -= B + qdel(B) + new_mob.vore_organs = list() + new_mob.name = M.name + new_mob.real_name = M.real_name + for(var/lang in M.languages) + new_mob.languages |= lang + M.copy_vore_prefs_to_mob(new_mob) + new_mob.vore_selected = M.vore_selected + if(ishuman(M)) + var/mob/living/carbon/human/H = M + if(ishuman(new_mob)) + var/mob/living/carbon/human/N = new_mob + N.gender = H.gender + N.identifying_gender = H.identifying_gender + else + new_mob.gender = H.gender + else + new_mob.gender = M.gender + if(ishuman(new_mob)) + var/mob/living/carbon/human/N = new_mob + N.identifying_gender = M.gender + + for(var/obj/belly/B as anything in M.vore_organs) + B.loc = new_mob + B.forceMove(new_mob) + B.owner = new_mob + M.vore_organs -= B + new_mob.vore_organs += B + + new_mob.ckey = M.ckey + if(M.ai_holder && new_mob.ai_holder) + var/datum/ai_holder/old_AI = M.ai_holder + old_AI.set_stance(STANCE_SLEEP) + var/datum/ai_holder/new_AI = new_mob.ai_holder + new_AI.hostile = old_AI.hostile + new_AI.retaliate = old_AI.retaliate + M.loc = new_mob + M.forceMove(new_mob) + new_mob.tf_mob_holder = M + + if("item_tf") + var/mob/living/M = target + + if(!istype(M)) + return + + if(!M.ckey) + return + + var/obj/item/spawning = user.client.get_path_from_partial_text() + + to_chat(user,span_warning("spawning is: [spawning]")) + + if(!ispath(spawning, /obj/item/)) + to_chat(user,span_warning("Can only spawn items.")) + return + + var/obj/item/spawned_obj = new spawning(M.loc) + var/obj/item/original_name = spawned_obj.name + spawned_obj.inhabit_item(M, original_name, M) + var/mob/living/possessed_voice = spawned_obj.possessed_voice + spawned_obj.trash_eatable = M.devourable + spawned_obj.unacidable = !M.digestable + M.forceMove(possessed_voice) + + + ////////MEDICAL////////////// + + if("appendicitis") + var/mob/living/carbon/human/Tar = target + if(istype(Tar)) + Tar.appendicitis() + + if("damage_organ") + var/mob/living/carbon/human/Tar = target + if(!istype(Tar)) + return + var/list/organs = list() + for(var/obj/item/organ/I in Tar.organs) + organs |= I + for(var/obj/item/organ/I in Tar.internal_organs) + organs |= I + var/obj/item/organ/our_organ = tgui_input_list(user, "Choose an organ to damage:", "Organs", organs) + if(!our_organ) + return + var/effect = tgui_alert(user, "What do you want to do to the Organ", "Effect", list("Damage", "Kill", "Bruise", "Cancel")) + if(effect == "Cancel") + return + if(effect == "Damage") + var/organ_damage = tgui_input_number(user, "Add how much damage? It is currently at [our_organ.damage].", "Damage") + our_organ.damage = max((our_organ.damage - organ_damage), 0) + if(effect == "Kill") + our_organ.die() + if(effect == "Bruise") + our_organ.bruise() + + if("assist_organ") + var/mob/living/carbon/human/Tar = target + if(!istype(Tar)) + return + var/list/organs = list() + for(var/obj/item/organ/I in Tar.organs) + organs |= I + for(var/obj/item/organ/I in Tar.internal_organs) + organs |= I + var/obj/item/organ/our_organ = tgui_input_list(user, "Choose an organ to become assisted:", "Organs", organs) + if(!our_organ) + return + our_organ.mechassist() + + if("robot_organ") + var/mob/living/carbon/human/Tar = target + if(!istype(Tar)) + return + var/list/organs = list() + for(var/obj/item/organ/I in Tar.organs) + organs |= I + for(var/obj/item/organ/I in Tar.internal_organs) + organs |= I + var/obj/item/organ/our_organ = tgui_input_list(user, "Choose an organ to become robotic:", "Organs", organs) + if(!our_organ) + return + our_organ.robotize() + + if("repair_organ") + var/mob/living/carbon/human/Tar = target + if(!istype(Tar)) + return + var/list/organs = list() + for(var/obj/item/organ/I in Tar.organs) + organs |= I + for(var/obj/item/organ/I in Tar.internal_organs) + organs |= I + var/obj/item/organ/our_organ = tgui_input_list(user, "Choose an organ to heal:", "Organs", organs) + if(!our_organ) + return + var/effect = tgui_alert(user, "What do you want to do to the Organ", "Effect", list("Heal", "Rejuvenate", "Cancel")) + if(effect == "Cancel") + return + if(effect == "Heal") + var/organ_damage = tgui_input_number(user, "Add how much damage? It is currently at [our_organ.damage].", "Damage") + our_organ.damage = max((our_organ.damage - organ_damage), 0) + if(effect == "Rejuvenate") + our_organ.rejuvenate() + + if("drop_organ") + var/mob/living/carbon/human/Tar = target + if(!istype(Tar)) + return + var/list/organs = list() + for(var/obj/item/organ/I in Tar.organs) + organs |= I + for(var/obj/item/organ/I in Tar.internal_organs) + organs |= I + var/obj/item/organ/our_organ = tgui_input_list(user, "Choose an organ to damage:", "Organs", organs) + if(!our_organ) + return + our_organ.removed() + + if("break_bone") + var/mob/living/carbon/human/Tar = target + if(!istype(Tar)) + return + var/list/organs = list() + for(var/obj/item/organ/external/E in Tar.organs) + organs |= E + var/obj/item/organ/external/our_organ = tgui_input_list(user, "Choose an bone to break:", "Organs", organs) + if(!our_organ) + return + our_organ.fracture() + + if("stasis") + var/mob/living/carbon/human/Tar = target + if(!istype(Tar)) + return + if(Tar.in_stasis) + Tar.Stasis(0) + else + Tar.Stasis(100000) + + if("give_chem") + var/mob/living/carbon/human/Tar = target + if(!istype(Tar)) + return + var/list/chem_list = typesof(/datum/reagent) + var/datum/reagent/chemical = tgui_input_list(user, "Which chemical would you like to add?", "Chemicals", chem_list) + + if(!chemical) + return + + var/chem = chemical.id + + var/amount = tgui_input_number(user, "How much of the chemical would you like to add?", "Amount", 5) + if(!amount) + return + + var/location = tgui_alert(user, "Where do you want to add the chemical?", "Location", list("Blood", "Stomach", "Skin", "Cancel")) + + if(!location || location == "Cancel") + return + if(location == "Blood") + Tar.bloodstr.add_reagent(chem, amount) + if(location == "Stomach") + Tar.ingested.add_reagent(chem, amount) + if(location == "Skin") + Tar.touching.add_reagent(chem, amount) + + if("purge") + var/mob/living/carbon/Tar = target + if(!istype(Tar)) + return + Tar.bloodstr.clear_reagents() + Tar.ingested.clear_reagents() + Tar.touching.clear_reagents() + + ////////ABILITIES////////////// + + if("vent_crawl") + var/mob/living/Tar = target + if(!istype(Tar)) + return + add_verb(Tar, /mob/living/proc/ventcrawl) + + if("darksight") + var/mob/living/carbon/human/Tar = target + if(!istype(Tar)) + return + var/current_darksight = Tar.species.darksight + var/change_sight = tgui_input_number(user, "What level do you wish to set their darksight to? It is currently [current_darksight].", "Darksight") + if(change_sight) + Tar.species.darksight = change_sight + + if("cocoon") + var/mob/living/carbon/human/Tar = target + if(!istype(Tar)) + return + add_verb(Tar, /mob/living/carbon/human/proc/enter_cocoon) + + if("transformation") + var/mob/living/carbon/human/Tar = target + if(!istype(Tar)) + return + add_verb(Tar, /mob/living/carbon/human/proc/shapeshifter_select_hair) + add_verb(Tar, /mob/living/carbon/human/proc/shapeshifter_select_hair_colors) + add_verb(Tar, /mob/living/carbon/human/proc/shapeshifter_select_gender) + add_verb(Tar, /mob/living/carbon/human/proc/shapeshifter_select_wings) + add_verb(Tar, /mob/living/carbon/human/proc/shapeshifter_select_tail) + add_verb(Tar, /mob/living/carbon/human/proc/shapeshifter_select_ears) + // YW COMMENT lleill OUT: add_verb(Tar, /mob/living/carbon/human/proc/lleill_select_shape) //designed for non-shapeshifter mobs + // YW COMMENT lleill OUT: add_verb(Tar, /mob/living/carbon/human/proc/lleill_select_colour) + + if("set_size") + var/mob/living/Tar = target + if(!istype(Tar)) + return + add_verb(Tar, /mob/living/proc/set_size) + +// YW COMMENT lleill OUT : START +/* + if("lleill_energy") + var/mob/living/carbon/human/Tar = target + if(!istype(Tar)) + return + var/energy_max = tgui_input_number(user, "What should their max lleill energy be set to? It is currently [Tar.species.lleill_energy_max].", "Max energy") + Tar.species.lleill_energy_max = energy_max + var/energy_new = tgui_input_number(user, "What should their current lleill energy be set to? It is currently [Tar.species.lleill_energy].", "Max energy") + Tar.species.lleill_energy = energy_new + + if("lleill_invisibility") + var/mob/living/carbon/human/Tar = target + if(!istype(Tar)) + return + add_verb(Tar, /mob/living/carbon/human/proc/lleill_invisibility) + + if("beast_form") + var/mob/living/carbon/human/Tar = target + if(!istype(Tar)) + return + add_verb(Tar, /mob/living/carbon/human/proc/lleill_beast_form) + + if("lleill_transmute") + var/mob/living/carbon/human/Tar = target + if(!istype(Tar)) + return + add_verb(Tar, /mob/living/carbon/human/proc/lleill_transmute) + + if("lleill_alchemy") + var/mob/living/carbon/human/Tar = target + if(!istype(Tar)) + return + add_verb(Tar, /mob/living/carbon/human/proc/lleill_alchemy) + + if("lleill_drain") + var/mob/living/carbon/human/Tar = target + if(!istype(Tar)) + return + add_verb(Tar, /mob/living/carbon/human/proc/lleill_contact) +*/ +// YW COMMENT lleill OUT : END + + if("brutal_pred") + var/mob/living/Tar = target + if(!istype(Tar)) + return + add_verb(Tar, /mob/living/proc/shred_limb) + + if("trash_eater") + var/mob/living/carbon/human/Tar = target + if(!istype(Tar)) + return + add_verb(Tar, /mob/living/proc/eat_trash) + add_verb(Tar, /mob/living/proc/toggle_trash_catching) + + + ////////INVENTORY////////////// + + if("drop_all") + var/mob/living/carbon/human/Tar = target + if(!istype(Tar)) + return + var/confirm = tgui_alert(user, "Make [Tar] drop everything?", "Message", list("Yes", "No")) + if(confirm != "Yes") + return + + for(var/obj/item/W in Tar) + if(istype(W, /obj/item/implant/backup) || istype(W, /obj/item/nif)) //VOREStation Edit - There's basically no reason to remove either of these + continue //VOREStation Edit + Tar.drop_from_inventory(W) + + if("drop_specific") + var/mob/living/carbon/human/Tar = target + if(!istype(Tar)) + return + + var/list/items = Tar.get_equipped_items() + var/item_to_drop = tgui_input_list(user, "Choose item to force drop:", "Drop Specific Item", items) + if(item_to_drop) + Tar.drop_from_inventory(item_to_drop) + + if("drop_held") + var/mob/living/carbon/human/Tar = target + if(!istype(Tar)) + return + Tar.drop_l_hand() + Tar.drop_r_hand() + + if("list_all") + var/mob/living/carbon/human/Tar = target + if(!istype(Tar)) + return + Tar.get_equipped_items() + + if("give_item") + var/mob/living/carbon/human/Tar = target + if(!istype(Tar)) + return + if(!user.client.holder) + return + var/obj/item/X = user.client.holder.marked_datum + if(!istype(X)) + return + Tar.put_in_hands(X) + + if("equip_item") + var/mob/living/carbon/human/Tar = target + if(!istype(Tar)) + return + if(!user.client.holder) + return + var/obj/item/X = user.client.holder.marked_datum + if(!istype(X)) + return + if(Tar.equip_to_appropriate_slot(X)) + return + else + Tar.equip_to_storage(X) + + ////////ADMIN////////////// + + if("quick_nif") + var/mob/living/carbon/human/Tar = target + if(!istype(Tar)) + return + var/input_NIF + if(!Tar.get_organ(BP_HEAD)) + to_chat(user,span_warning("Target is unsuitable.")) + return + if(Tar.nif) + to_chat(user,span_warning("Target already has a NIF.")) + return + if(Tar.species.flags & NO_SCAN) + var/obj/item/nif/S = /obj/item/nif/bioadap + input_NIF = initial(S.name) + new /obj/item/nif/bioadap(Tar) + else + var/list/NIF_types = typesof(/obj/item/nif) + var/list/NIFs = list() + + for(var/NIF_type in NIF_types) + var/obj/item/nif/S = NIF_type + NIFs[capitalize(initial(S.name))] = NIF_type + + var/list/show_NIFs = sortList(NIFs) // the list that will be shown to the user to pick from + + input_NIF = tgui_input_list(user, "Pick the NIF type","Quick NIF", show_NIFs) + var/chosen_NIF = NIFs[capitalize(input_NIF)] + + if(chosen_NIF) + new chosen_NIF(Tar) + else + new /obj/item/nif(Tar) + log_and_message_admins("[key_name(user)] Quick NIF'd [Tar.real_name] with a [input_NIF].") + + if("resize") + user.client.resize(target) + + if("teleport") + var/where = tgui_alert(user, "Where to teleport?", "Where?", list("To Me", "To Mob", "To Area", "Cancel")) + if(where == "Cancel") + return + if(where == "To Me") + user.client.Getmob(target) + if(where == "To Mob") + var/mob/selection = tgui_input_list(ui.user, "Select a mob to jump [target] to:", "Jump to mob", mob_list) + target.on_mob_jump() + target.forceMove(get_turf(selection)) + log_admin("[key_name(user)] jumped [target] to [selection]") + if(where == "To Area") + var/area/A + A = tgui_input_list(user, "Pick an area to teleport [target] to:", "Jump to Area", return_sorted_areas()) + target.on_mob_jump() + target.forceMove(pick(get_area_turfs(A))) + log_admin("[key_name(user)] jumped [target] to [A]") + + if("gib") + var/death = tgui_alert(user, "Are you sure you want to destroy [target]?", "Gib?", list("KILL", "Cancel")) + if(death == "KILL") + target.gib() + + if("dust") + var/death = tgui_alert(user, "Are you sure you want to destroy [target]?", "Dust?", list("KILL", "Cancel")) + if(death == "KILL") + target.dust() + + if("paralyse") + var/mob/living/Tar = target + if(!istype(Tar)) + return + user.client.holder.paralyze_mob(Tar) + + if("subtle_message") + user.client.cmd_admin_subtle_message(target) + + if("direct_narrate") + user.client.cmd_admin_direct_narrate(target) + + if("player_panel") + user.client.holder.show_player_panel(target) + + if("view_variables") + user.client.debug_variables(target) + + if("orbit") + if(!user.client.holder.marked_datum) + return + var/atom/movable/X = user.client.holder.marked_datum + X.orbit(target) + + if("ai") + if(!istype(target, /mob/living)) + to_chat(ui.user, span_notice("This can only be used on instances of type /mob/living")) + return + var/mob/living/L = target + if(L.client || L.teleop) + to_chat(ui.user, span_warning("This cannot be used on player mobs!")) + return + + if(L.ai_holder) //Cleaning up the original ai + var/ai_holder_old = L.ai_holder + L.ai_holder = null + qdel(ai_holder_old) //Only way I could make #TESTING - Unable to be GC'd to stop. del() logs show it works. + L.ai_holder_type = tgui_input_list(ui.user, "Choose AI holder", "AI Type", typesof(/datum/ai_holder/)) + L.initialize_ai_holder() + L.faction = sanitize(tgui_input_text(ui.user, "Please input AI faction", "AI faction", "neutral")) + L.a_intent = tgui_input_list(ui.user, "Please choose AI intent", "AI intent", list(I_HURT, I_HELP)) + if(tgui_alert(ui.user, "Make mob wake up? This is needed for carbon mobs.", "Wake mob?", list("Yes", "No")) == "Yes") + L.AdjustSleeping(-100) + + if("cloaking") + if(target.cloaked) + target.uncloak() + else if(!target.cloaked) + target.cloak() + + + ////////FIXES////////////// + + if("rejuvenate") + var/mob/living/Tar = target + if(!istype(Tar)) + return + Tar.rejuvenate() + + if("popup-box") + var/message = tgui_input_text(user, "Write a message to send to the user with a space for them to reply without using the text box:", "Message") + if(!message) + return + log_admin("[key_name(user)] sent message to [target]: [message]") + var/reply = tgui_input_text(target, "An admin has sent you a message: [message]", "Reply") + if(!reply) + return + log_and_message_admins("[key_name(target)] replied to [user]'s message: [reply].") + + if("stop-orbits") + for(var/datum/orbit/X in target.orbiters) + X.orbiter.stop_orbit() + + if("revert-mob-tf") + var/mob/living/Tar = target + if(!istype(Tar)) + return + Tar.revert_mob_tf() diff --git a/code/modules/admin/player_panel.dm b/code/modules/admin/player_panel.dm index 56916c8d800..c03713a52a0 100644 --- a/code/modules/admin/player_panel.dm +++ b/code/modules/admin/player_panel.dm @@ -230,38 +230,38 @@ if(ishuman(M)) M_job = M.job else if(isslime(M)) - M_job = "slime" + M_job = JOB_SLIME else if(issmall(M)) - M_job = "Monkey" + M_job = JOB_MONKEY else if(isalien(M)) - M_job = "Alien" + M_job = JOB_ALIEN else - M_job = "Carbon-based" + M_job = JOB_CARBON_BASED else if(issilicon(M)) //silicon if(isAI(M)) - M_job = "AI" + M_job = JOB_AI else if(ispAI(M)) - M_job = "pAI" + M_job = JOB_PAI else if(isrobot(M)) - M_job = "Cyborg" + M_job = JOB_CYBORG else - M_job = "Silicon-based" + M_job = JOB_SILICON_BASED else if(isanimal(M)) //simple animals if(iscorgi(M)) - M_job = "Corgi" + M_job = JOB_CORGI else - M_job = "Animal" + M_job = JOB_ANIMAL else - M_job = "Living" + M_job = JOB_LIVING else if(istype(M,/mob/new_player)) - M_job = "New player" + M_job = JOB_NEW_PLAYER else if(isobserver(M)) - M_job = "Ghost" + M_job = JOB_GHOST M_job = replacetext(M_job, "'", "") M_job = replacetext(M_job, "\"", "") @@ -387,7 +387,7 @@ var/dat = "Round Status

Round Status

" dat += "Current Game Mode: [ticker.mode.name]
" dat += "Round Duration: [roundduration2text()]
" - dat += "Emergency shuttle
" + dat += span_bold("Emergency shuttle") + "
" if (!emergency_shuttle.online()) dat += "Call Shuttle
" else diff --git a/code/modules/admin/secrets/admin_secrets/admin_logs.dm b/code/modules/admin/secrets/admin_secrets/admin_logs.dm index 83ebe9ec0ef..d6bf54a03b4 100644 --- a/code/modules/admin/secrets/admin_secrets/admin_logs.dm +++ b/code/modules/admin/secrets/admin_secrets/admin_logs.dm @@ -5,7 +5,7 @@ . = ..() if(!.) return - var/dat = "Admin Log
" + var/dat = span_bold("Admin Log
") for(var/l in admin_log) dat += "
  • [l]
  • " if(!admin_log.len) @@ -25,7 +25,7 @@ . = ..() if(!.) return - var/dat = "Dialogue Log
    " + var/dat = span_bold("Dialogue Log
    ") dat += "
    " diff --git a/code/modules/admin/secrets/admin_secrets/bombing_list.dm b/code/modules/admin/secrets/admin_secrets/bombing_list.dm index d9c24097d24..b8165ca23ca 100644 --- a/code/modules/admin/secrets/admin_secrets/bombing_list.dm +++ b/code/modules/admin/secrets/admin_secrets/bombing_list.dm @@ -6,7 +6,7 @@ if(!.) return - var/dat = "Bombing List" + var/dat = span_bold("Bombing List") for(var/l in bombers) dat += text("[l]
    ") user << browse(dat, "window=bombers") diff --git a/code/modules/admin/secrets/admin_secrets/jump_shuttle.dm b/code/modules/admin/secrets/admin_secrets/jump_shuttle.dm index 07c5096ee7b..a73fafbb7ca 100644 --- a/code/modules/admin/secrets/admin_secrets/jump_shuttle.dm +++ b/code/modules/admin/secrets/admin_secrets/jump_shuttle.dm @@ -13,7 +13,7 @@ if (!shuttle_tag) return var/datum/shuttle/S = SSshuttles.shuttles[shuttle_tag] - + var/list/area_choices = return_areas() var/origin_area = tgui_input_list(user, "Which area is the shuttle at now? (MAKE SURE THIS IS CORRECT OR THINGS WILL BREAK)", "Area Choice", area_choices) if (!origin_area) return @@ -22,6 +22,8 @@ if (!destination_area) return var/long_jump = tgui_alert(user, "Is there a transition area for this jump?","Transition?", list("Yes","No")) + if(!long_jump) + return if (long_jump == "Yes") var/transition_area = tgui_input_list(user, "Which area is the transition area? (MAKE SURE THIS IS CORRECT OR THINGS WILL BREAK)", "Area Choice", area_choices) if (!transition_area) return @@ -29,9 +31,9 @@ var/move_duration = tgui_input_number(user, "How many seconds will this jump take?") S.long_jump(area_choices[origin_area], area_choices[destination_area], area_choices[transition_area], move_duration) - message_admins("[key_name_admin(user)] has initiated a jump from [origin_area] to [destination_area] lasting [move_duration] seconds for the [shuttle_tag] shuttle", 1) + message_admins(span_notice("[key_name_admin(user)] has initiated a jump from [origin_area] to [destination_area] lasting [move_duration] seconds for the [shuttle_tag] shuttle"), 1) log_admin("[key_name_admin(user)] has initiated a jump from [origin_area] to [destination_area] lasting [move_duration] seconds for the [shuttle_tag] shuttle") else S.short_jump(area_choices[origin_area], area_choices[destination_area]) - message_admins("[key_name_admin(user)] has initiated a jump from [origin_area] to [destination_area] for the [shuttle_tag] shuttle", 1) + message_admins(span_notice("[key_name_admin(user)] has initiated a jump from [origin_area] to [destination_area] for the [shuttle_tag] shuttle"), 1) log_admin("[key_name_admin(user)] has initiated a jump from [origin_area] to [destination_area] for the [shuttle_tag] shuttle") diff --git a/code/modules/admin/secrets/admin_secrets/list_dna.dm b/code/modules/admin/secrets/admin_secrets/list_dna.dm index 5d4738d692b..a98077036b3 100644 --- a/code/modules/admin/secrets/admin_secrets/list_dna.dm +++ b/code/modules/admin/secrets/admin_secrets/list_dna.dm @@ -5,7 +5,7 @@ . = ..() if(!.) return - var/dat = "Showing DNA from blood.
    " + var/dat = span_bold("Showing DNA from blood.") + "
    " dat += "
    " output += "
    [HrefTokenFormField()]" - output += "Add custom ban: (ONLY use this if you can't ban through any other method)" + output += span_bold("Add custom ban:") + " (ONLY use this if you can't ban through any other method)" output += "" output += "" output += "
    Ban type:
    " - output += "Reason:

    " + output += span_bold("Reason:
    ") + "
    " output += "" output += "
    " @@ -437,18 +437,18 @@ if("PERMABAN") typedesc = "PERMABAN" if("TEMPBAN") - typedesc = "TEMPBAN
    ([duration] minutes) [(unbanned || auto) ? "" : "(Edit)"]
    Expires [expiration]
    " + typedesc = span_bold("TEMPBAN") + "
    ([duration] minutes) [(unbanned || auto) ? "" : "(Edit)"]
    Expires [expiration]
    " if("JOB_PERMABAN") - typedesc = "JOBBAN
    ([job])" + typedesc = span_bold("JOBBAN") + "
    ([job])" if("JOB_TEMPBAN") - typedesc = "TEMP JOBBAN
    ([job])
    ([duration] minutes
    Expires [expiration]
    " + typedesc = span_bold("TEMP JOBBAN") + "
    ([job])
    ([duration] minutes
    Expires [expiration]
    " output += "
    [typedesc][ckey][bantime][ackey][(unbanned || auto) ? "" : "Unban"][(unbanned || auto) ? "" : span_bold("Unban")]
    IP: [ip]
    " for(var/mob/living/carbon/human/H in mob_list) if(H.dna && H.ckey) diff --git a/code/modules/admin/secrets/admin_secrets/list_fingerprints.dm b/code/modules/admin/secrets/admin_secrets/list_fingerprints.dm index 0a9f4e0cb13..d3e033f8348 100644 --- a/code/modules/admin/secrets/admin_secrets/list_fingerprints.dm +++ b/code/modules/admin/secrets/admin_secrets/list_fingerprints.dm @@ -5,7 +5,7 @@ . = ..() if(!.) return - var/dat = "Showing Fingerprints.
    " + var/dat = span_bold("Showing Fingerprints.") + "
    " dat += "
    NameDNABlood Type
    " for(var/mob/living/carbon/human/H in mob_list) if(H.ckey) diff --git a/code/modules/admin/secrets/admin_secrets/move_shuttle.dm b/code/modules/admin/secrets/admin_secrets/move_shuttle.dm index 768101434a8..6417c519b82 100644 --- a/code/modules/admin/secrets/admin_secrets/move_shuttle.dm +++ b/code/modules/admin/secrets/admin_secrets/move_shuttle.dm @@ -10,7 +10,7 @@ if(!.) return var/confirm = tgui_alert(user, "This command directly moves a shuttle from one area to another. DO NOT USE THIS UNLESS YOU ARE DEBUGGING A SHUTTLE AND YOU KNOW WHAT YOU ARE DOING.", "Are you sure?", list("Ok", "Cancel")) - if (confirm == "Cancel") + if (confirm != "Ok") return var/shuttle_tag = tgui_input_list(user, "Which shuttle do you want to jump?", "Shuttle Choice", SSshuttles.shuttles) diff --git a/code/modules/admin/secrets/admin_secrets/prison_warp.dm b/code/modules/admin/secrets/admin_secrets/prison_warp.dm index 06740f17606..a4cd00c9b2c 100644 --- a/code/modules/admin/secrets/admin_secrets/prison_warp.dm +++ b/code/modules/admin/secrets/admin_secrets/prison_warp.dm @@ -17,13 +17,13 @@ continue H.Paralyse(5) if(H.wear_id) - var/obj/item/weapon/card/id/id = H.get_idcard() - for(var/A in id.access) + var/obj/item/card/id/id = H.get_idcard() + for(var/A in id.GetAccess()) if(A == access_security) security++ if(!security) //strip their stuff before they teleport into a cell :downs: - for(var/obj/item/weapon/W in H) + for(var/obj/item/W in H) if(istype(W, /obj/item/organ/external)) continue //don't strip organs diff --git a/code/modules/admin/secrets/admin_secrets/show_law_changes.dm b/code/modules/admin/secrets/admin_secrets/show_law_changes.dm index 67fc3d357f0..13bb25656ab 100644 --- a/code/modules/admin/secrets/admin_secrets/show_law_changes.dm +++ b/code/modules/admin/secrets/admin_secrets/show_law_changes.dm @@ -9,7 +9,7 @@ if(!.) return - var/dat = "Showing last [length(lawchanges)] law changes.
    " + var/dat = span_bold("Showing last [length(lawchanges)] law changes.") + "
    " for(var/sig in lawchanges) dat += "[sig]
    " user << browse(dat, "window=lawchanges;size=800x500") diff --git a/code/modules/admin/secrets/admin_secrets/show_signalers.dm b/code/modules/admin/secrets/admin_secrets/show_signalers.dm index 4b0117a88f7..0c474e52491 100644 --- a/code/modules/admin/secrets/admin_secrets/show_signalers.dm +++ b/code/modules/admin/secrets/admin_secrets/show_signalers.dm @@ -9,7 +9,7 @@ if(!.) return - var/dat = "Showing last [length(lastsignalers)] signalers.
    " + var/dat = span_bold("Showing last [length(lastsignalers)] signalers.") + "
    " for(var/sig in lastsignalers) dat += "[sig]
    " user << browse(dat, "window=lastsignalers;size=800x500") diff --git a/code/modules/admin/secrets/fun_secrets/ghost_mode.dm b/code/modules/admin/secrets/fun_secrets/ghost_mode.dm index a3a5060047a..a135a4ed395 100644 --- a/code/modules/admin/secrets/fun_secrets/ghost_mode.dm +++ b/code/modules/admin/secrets/fun_secrets/ghost_mode.dm @@ -17,13 +17,13 @@ affected_mobs |= M switch(rand(1,4)) if(1) - M.show_message(text("You shudder as if cold..."), 1) + M.show_message(span_notice("You shudder as if cold..."), 1) if(2) - M.show_message(text("You feel something gliding across your back..."), 1) + M.show_message(span_notice("You feel something gliding across your back..."), 1) if(3) - M.show_message(text("Your eyes twitch, you feel like something you can't see is here..."), 1) + M.show_message(span_notice("Your eyes twitch, you feel like something you can't see is here..."), 1) if(4) - M.show_message(text("You notice something moving out of the corner of your eye, but nothing is there..."), 1) + M.show_message(span_notice("You notice something moving out of the corner of your eye, but nothing is there..."), 1) for(var/obj/W in orange(5,M)) if(prob(25) && !W.anchored) @@ -43,6 +43,6 @@ sleep(100) for(var/mob/M in affected_mobs) - M.show_message(text("The chilling wind suddenly stops..."), 1) + M.show_message(span_notice("The chilling wind suddenly stops..."), 1) affected_mobs.Cut() affected_areas.Cut() diff --git a/code/modules/admin/secrets/fun_secrets/toggle_bomb_cap.dm b/code/modules/admin/secrets/fun_secrets/toggle_bomb_cap.dm index 6bcf2ee9b3c..37c08199d75 100644 --- a/code/modules/admin/secrets/fun_secrets/toggle_bomb_cap.dm +++ b/code/modules/admin/secrets/fun_secrets/toggle_bomb_cap.dm @@ -17,5 +17,5 @@ var/range_dev = max_explosion_range *0.25 var/range_high = max_explosion_range *0.5 var/range_low = max_explosion_range - message_admins("[key_name_admin(user)] changed the bomb cap to [range_dev], [range_high], [range_low]", 1) + message_admins(span_danger("[key_name_admin(user)] changed the bomb cap to [range_dev], [range_high], [range_low]"), 1) log_admin("[key_name_admin(user)] changed the bomb cap to [max_explosion_range]") diff --git a/code/modules/admin/secrets/random_events/gravity.dm b/code/modules/admin/secrets/random_events/gravity.dm index 32c31827ab2..4af765fd10f 100644 --- a/code/modules/admin/secrets/random_events/gravity.dm +++ b/code/modules/admin/secrets/random_events/gravity.dm @@ -23,9 +23,9 @@ feedback_add_details("admin_secrets_fun_used","Grav") if(gravity_is_on) log_admin("[key_name(user)] toggled gravity on.", 1) - message_admins("[key_name_admin(user)] toggled gravity on.", 1) + message_admins(span_notice("[key_name_admin(user)] toggled gravity on."), 1) command_announcement.Announce("Gravity generators are again functioning within normal parameters. Sorry for any inconvenience.") else log_admin("[key_name(user)] toggled gravity off.", 1) - message_admins("[key_name_admin(usr)] toggled gravity off.", 1) + message_admins(span_notice("[key_name_admin(usr)] toggled gravity off."), 1) command_announcement.Announce("Feedback surge detected in mass-distributions systems. Artificial gravity has been disabled whilst the system reinitializes. Further failures may result in a gravitational collapse and formation of blackholes. Have a nice day.") diff --git a/code/modules/admin/secrets/random_events/gravity_vr.dm b/code/modules/admin/secrets/random_events/gravity_vr.dm index fc0c854c191..c8f0dafb6b7 100644 --- a/code/modules/admin/secrets/random_events/gravity_vr.dm +++ b/code/modules/admin/secrets/random_events/gravity_vr.dm @@ -26,9 +26,9 @@ feedback_add_details("admin_secrets_fun_used","Grav") if(gravity_is_on) log_admin("[key_name(user)] toggled gravity on.", 1) - message_admins("[key_name_admin(user)] toggled gravity on.", 1) + message_admins(span_notice("[key_name_admin(user)] toggled gravity on."), 1) command_announcement.Announce("Gravity generators are again functioning within normal parameters. Sorry for any inconvenience.") else log_admin("[key_name(user)] toggled gravity off.", 1) - message_admins("[key_name_admin(usr)] toggled gravity off.", 1) + message_admins(span_notice("[key_name_admin(usr)] toggled gravity off."), 1) command_announcement.Announce("Feedback surge detected in mass-distributions systems. Artificial gravity has been disabled. Please wait for the system to reinitialize, or contact your engineering department.", "Gravity Failure") diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 4465abc7c57..b5dd3a1b074 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -84,23 +84,23 @@ switch(bantype) if(BANTYPE_PERMA) if(!banckey || !banreason) - to_chat(usr, "Not enough parameters (Requires ckey and reason)") + to_chat(usr, span_filter_adminlog("Not enough parameters (Requires ckey and reason)")) return banduration = null banjob = null if(BANTYPE_TEMP) if(!banckey || !banreason || !banduration) - to_chat(usr, "Not enough parameters (Requires ckey, reason and duration)") + to_chat(usr, span_filter_adminlog("Not enough parameters (Requires ckey, reason and duration)")) return banjob = null if(BANTYPE_JOB_PERMA) if(!banckey || !banreason || !banjob) - to_chat(usr, "Not enough parameters (Requires ckey, reason and job)") + to_chat(usr, span_filter_adminlog("Not enough parameters (Requires ckey, reason and job)")) return banduration = null if(BANTYPE_JOB_TEMP) if(!banckey || !banreason || !banjob || !banduration) - to_chat(usr, "Not enough parameters (Requires ckey, reason and job)") + to_chat(usr, span_filter_adminlog("Not enough parameters (Requires ckey, reason and job)")) return var/mob/playermob @@ -139,14 +139,14 @@ var/new_ckey = ckey(tgui_input_text(usr,"New admin's ckey","Admin ckey", null)) if(!new_ckey) return if(new_ckey in admin_datums) - to_chat(usr, "Error: Topic 'editrights': [new_ckey] is already an admin") + to_chat(usr, span_filter_adminlog(span_warning("Error: Topic 'editrights': [new_ckey] is already an admin"))) return adm_ckey = new_ckey task = "rank" else if(task != "show") adm_ckey = ckey(href_list["ckey"]) if(!adm_ckey) - to_chat(usr, "Error: Topic 'editrights': No valid ckey") + to_chat(usr, span_filter_adminlog(span_warning("Error: Topic 'editrights': No valid ckey"))) return var/datum/admins/D = admin_datums[adm_ckey] @@ -175,19 +175,19 @@ if(null,"") return if("*New Rank*") new_rank = tgui_input_text(usr, "Please input a new rank", "New custom rank") - if(config.admin_legacy_system) + if(CONFIG_GET(flag/admin_legacy_system)) new_rank = ckeyEx(new_rank) if(!new_rank) - to_chat(usr, "Error: Topic 'editrights': Invalid rank") + to_chat(usr, span_filter_adminlog(span_warning("Error: Topic 'editrights': Invalid rank"))) return - if(config.admin_legacy_system) + if(CONFIG_GET(flag/admin_legacy_system)) if(admin_ranks.len) if(new_rank in admin_ranks) rights = admin_ranks[new_rank] //we typed a rank which already exists, use its rights else admin_ranks[new_rank] = 0 //add the new rank to admin_ranks else - if(config.admin_legacy_system) + if(CONFIG_GET(flag/admin_legacy_system)) new_rank = ckeyEx(new_rank) rights = admin_ranks[new_rank] //we input an existing rank, use its rights @@ -287,12 +287,12 @@ var/mob/M = locate(href_list["mob"]) if(!ismob(M)) - to_chat(usr, "This can only be used on instances of type /mob") + to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob")) return var/delmob = 0 switch(tgui_alert(usr, "Delete old mob?","Message",list("Yes","No","Cancel"))) - if("Cancel") return + if("Cancel", null) return if("Yes") delmob = 1 log_admin("[key_name(usr)] has used rudimentary transformation on [key_name(M)]. Transforming to [href_list["simplemake"]]; deletemob=[delmob]") @@ -356,6 +356,8 @@ var/duration switch(tgui_alert(usr, "Temporary Ban?","Temporary Ban",list("Yes","No"))) + if(null) + return if("Yes") temp = 1 var/mins = 0 @@ -393,14 +395,14 @@ var/mob/M = locate(href_list["jobban2"]) if(!ismob(M)) - to_chat(usr, "This can only be used on instances of type /mob") + to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob")) return if(!M.ckey) //sanity - to_chat(usr, "This mob has no ckey") + to_chat(usr, span_filter_adminlog("This mob has no ckey")) return if(!job_master) - to_chat(usr, "Job Master has not been setup!") + to_chat(usr, span_filter_adminlog("Job Master has not been setup!")) return var/dat = "" @@ -598,10 +600,10 @@ jobs += "
    " counter = 0 - if(jobban_isbanned(M, "Internal Affairs Agent")) - jobs += "" + if(jobban_isbanned(M, JOB_INTERNAL_AFFAIRS_AGENT)) + jobs += "" else - jobs += "" + jobs += "" jobs += "
    NameFingerprints
    Internal Affairs Agent"+JOB_INTERNAL_AFFAIRS_AGENT+"Internal Affairs Agent"+JOB_INTERNAL_AFFAIRS_AGENT+"
    " @@ -627,7 +629,7 @@ //Antagonist (Orange) counter = 0 - var/isbanned_dept = jobban_isbanned(M, "Syndicate") + var/isbanned_dept = jobban_isbanned(M, JOB_SYNDICATE) jobs += "" jobs += "" @@ -650,7 +652,7 @@ //Misc 'roles' counter = 0 - var/list/misc_roles = list("Dionaea", "Graffiti", "Custom loadout", "pAI", "GhostRoles", "AntagHUD") + var/list/misc_roles = list(JOB_DIONAEA, JOB_GRAFFITI, JOB_CUSTOM_LOADOUT, JOB_PAI, JOB_GHOSTROLES, JOB_ANTAGHUD) jobs += "
    Antagonist Positions
    " jobs += "" for(var/entry in misc_roles) @@ -674,16 +676,16 @@ //JOBBAN'S INNARDS else if(href_list["jobban3"]) if(!check_rights(R_MOD,0) && !check_rights(R_ADMIN,0)) - to_chat(usr, "You do not have the appropriate permissions to add job bans!") + to_chat(usr, span_filter_adminlog(span_warning("You do not have the appropriate permissions to add job bans!"))) return - if(check_rights(R_MOD,0) && !check_rights(R_ADMIN,0) && !config.mods_can_job_tempban) // If mod and tempban disabled - to_chat(usr, "Mod jobbanning is disabled!") + if(check_rights(R_MOD,0) && !check_rights(R_ADMIN,0) && !CONFIG_GET(flag/mods_can_job_tempban)) // If mod and tempban disabled + to_chat(usr, span_filter_adminlog(span_warning("Mod jobbanning is disabled!"))) return var/mob/M = locate(href_list["jobban4"]) if(!ismob(M)) - to_chat(usr, "This can only be used on instances of type /mob") + to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob")) return if(M != usr) //we can jobban ourselves @@ -692,7 +694,7 @@ return if(!job_master) - to_chat(usr, "Job Master has not been setup!") + to_chat(usr, span_filter_adminlog("Job Master has not been setup!")) return //get jobs for department if specified, otherwise just returnt he one job in a list. @@ -774,18 +776,20 @@ //Banning comes first if(notbannedlist.len) //at least 1 unbanned job exists in joblist so we have stuff to ban. switch(tgui_alert(usr, "Temporary Ban?","Temporary Ban", list("Yes","No","Cancel"))) + if(null) + return if("Yes") if(!check_rights(R_MOD,0) && !check_rights(R_BAN, 0)) - to_chat(usr, " You cannot issue temporary job-bans!") + to_chat(usr, span_filter_adminlog(span_warning("You cannot issue temporary job-bans!"))) return - if(config.ban_legacy_system) - to_chat(usr, "Your server is using the legacy banning system, which does not support temporary job bans. Consider upgrading. Aborting ban.") + if(CONFIG_GET(flag/ban_legacy_system)) + to_chat(usr, span_filter_adminlog(span_warning("Your server is using the legacy banning system, which does not support temporary job bans. Consider upgrading. Aborting ban."))) return var/mins = tgui_input_number(usr,"How long (in minutes)?","Ban time",1440) if(!mins) return - if(check_rights(R_MOD, 0) && !check_rights(R_BAN, 0) && mins > config.mod_job_tempban_max) - to_chat(usr, " Moderators can only job tempban up to [config.mod_job_tempban_max] minutes!") + if(check_rights(R_MOD, 0) && !check_rights(R_BAN, 0) && mins > CONFIG_GET(number/mod_job_tempban_max)) + to_chat(usr, span_filter_adminlog(span_warning("Moderators can only job tempban up to [CONFIG_GET(number/mod_job_tempban_max)] minutes!"))) return var/reason = sanitize(tgui_input_text(usr,"Reason?","Please State Reason","")) if(!reason) @@ -805,9 +809,9 @@ msg += ", [job]" notes_add(M.ckey, "Banned from [msg] - [reason]", usr) message_admins(span_blue("[key_name_admin(usr)] banned [key_name_admin(M)] from [msg] for [mins] minutes"), 1) - to_chat(M, "[span_red("You have been jobbanned by [usr.client.ckey] from: [msg].")]") - to_chat(M, "[span_red("The reason is: [reason]")]") - to_chat(M, "[span_red("This jobban will be lifted in [mins] minutes.")]") + to_chat(M, span_filter_system(span_red(span_large(span_bold("You have been jobbanned by [usr.client.ckey] from: [msg]."))))) + to_chat(M, span_filter_system(span_red(span_bold("The reason is: [reason]")))) + to_chat(M, span_filter_system(span_red("This jobban will be lifted in [mins] minutes."))) href_list["jobban2"] = 1 // lets it fall through and refresh return 1 if("No") @@ -826,9 +830,9 @@ else msg += ", [job]" notes_add(M.ckey, "Banned from [msg] - [reason]", usr) message_admins(span_blue("[key_name_admin(usr)] banned [key_name_admin(M)] from [msg]"), 1) - to_chat(M, "[span_red("You have been jobbanned by [usr.client.ckey] from: [msg].")]") - to_chat(M, "[span_red("The reason is: [reason]")]") - to_chat(M, "[span_red("Jobban can be lifted only upon request.")]") + to_chat(M, span_filter_system(span_red(span_large(span_bold("You have been jobbanned by [usr.client.ckey] from: [msg]."))))) + to_chat(M, span_filter_system(span_red(span_bold("The reason is: [reason]")))) + to_chat(M, span_filter_system(span_red("Jobban can be lifted only upon request."))) href_list["jobban2"] = 1 // lets it fall through and refresh return 1 if("Cancel") @@ -837,8 +841,8 @@ //Unbanning joblist //all jobs in joblist are banned already OR we didn't give a reason (implying they shouldn't be banned) if(joblist.len) //at least 1 banned job exists in joblist so we have stuff to unban. - if(!config.ban_legacy_system) - to_chat(usr, "Unfortunately, database based unbanning cannot be done through this panel") + if(!CONFIG_GET(flag/ban_legacy_system)) + to_chat(usr, span_filter_adminlog("Unfortunately, database based unbanning cannot be done through this panel")) DB_ban_panel(M.ckey) return var/msg @@ -859,7 +863,7 @@ continue if(msg) message_admins(span_blue("[key_name_admin(usr)] unbanned [key_name_admin(M)] from [msg]"), 1) - to_chat(M, "You have been un-jobbanned by [usr.client.ckey] from [msg].") + to_chat(M, span_filter_system(span_red(span_large("You have been un-jobbanned by [usr.client.ckey] from [msg].")))) href_list["jobban2"] = 1 // lets it fall through and refresh return 1 return 0 //we didn't do anything! @@ -873,7 +877,7 @@ if(!reason) return - to_chat(M, span("filter_system critical", "You have been kicked from the server: [reason]")) + to_chat(M, span_filter_system(span_critical("You have been kicked from the server: [reason]"))) log_admin("[key_name(usr)] booted [key_name(M)] for reason: '[reason]'.") message_admins(span_blue("[key_name_admin(usr)] booted [key_name_admin(M)] for reason '[reason]'."), 1) //M.client = null @@ -897,11 +901,11 @@ else if(href_list["newban"]) if(!check_rights(R_MOD,0) && !check_rights(R_BAN, 0)) - to_chat(usr, "You do not have the appropriate permissions to add bans!") + to_chat(usr, span_warning("You do not have the appropriate permissions to add bans!")) return - if(check_rights(R_MOD,0) && !check_rights(R_ADMIN, 0) && !config.mods_can_job_tempban) // If mod and tempban disabled - to_chat(usr, "Mod jobbanning is disabled!") + if(check_rights(R_MOD,0) && !check_rights(R_ADMIN, 0) && !CONFIG_GET(flag/mods_can_job_tempban)) // If mod and tempban disabled + to_chat(usr, span_warning("Mod jobbanning is disabled!")) return var/mob/M = locate(href_list["newban"]) @@ -910,12 +914,14 @@ if(M.client && M.client.holder) return //admins cannot be banned. Even if they could, the ban doesn't affect them anyway switch(tgui_alert(usr, "Temporary Ban?","Temporary Ban",list("Yes","No","Cancel"))) + if(null) + return if("Yes") var/mins = tgui_input_number(usr,"How long (in minutes)?","Ban time",1440) if(!mins) return - if(check_rights(R_MOD, 0) && !check_rights(R_BAN, 0) && mins > config.mod_tempban_max) - to_chat(usr, "Moderators can only job tempban up to [config.mod_tempban_max] minutes!") + if(check_rights(R_MOD, 0) && !check_rights(R_BAN, 0) && mins > CONFIG_GET(number/mod_tempban_max)) + to_chat(usr, span_warning("Moderators can only job tempban up to [CONFIG_GET(number/mod_tempban_max)] minutes!")) return if(mins >= 525600) mins = 525599 var/reason = sanitize(tgui_input_text(usr,"Reason?","reason","Griefer")) @@ -924,15 +930,15 @@ AddBan(M.ckey, M.computer_id, reason, usr.ckey, 1, mins) ban_unban_log_save("[usr.client.ckey] has banned [M.ckey]. - Reason: [reason] - This will be removed in [mins] minutes.") notes_add(M.ckey,"[usr.client.ckey] has banned [M.ckey]. - Reason: [reason] - This will be removed in [mins] minutes.",usr) - to_chat(M, "You have been banned by [usr.client.ckey].\nReason: [reason].") - to_chat(M, "This is a temporary ban, it will be removed in [mins] minutes.") + to_chat(M, span_filter_system(span_critical("You have been banned by [usr.client.ckey].\nReason: [reason]."))) + to_chat(M, span_filter_system(span_warning("This is a temporary ban, it will be removed in [mins] minutes."))) feedback_inc("ban_tmp",1) DB_ban_record(BANTYPE_TEMP, M, mins, reason) feedback_inc("ban_tmp_mins",mins) - if(config.banappeals) - to_chat(M, "To try to resolve this matter head to [config.banappeals]") + if(CONFIG_GET(string/banappeals)) + to_chat(M, span_filter_system(span_warning("To try to resolve this matter head to [CONFIG_GET(string/banappeals)]"))) else - to_chat(M, "No ban appeals URL has been set.") + to_chat(M, span_filter_system(span_warning("No ban appeals URL has been set."))) log_admin("[usr.client.ckey] has banned [M.ckey].\nReason: [reason]\nThis will be removed in [mins] minutes.") message_admins(span_blue("[usr.client.ckey] has banned [M.ckey].\nReason: [reason]\nThis will be removed in [mins] minutes.")) var/datum/admin_help/AH = M.client ? M.client.current_ticket : null @@ -946,17 +952,17 @@ if(!reason) return switch(tgui_alert(usr,"IP ban?","IP Ban",list("Yes","No","Cancel"))) - if("Cancel") return + if("Cancel", null) return if("Yes") AddBan(M.ckey, M.computer_id, reason, usr.ckey, 0, 0, M.lastKnownIP) if("No") AddBan(M.ckey, M.computer_id, reason, usr.ckey, 0, 0) - to_chat(M, "You have been banned by [usr.client.ckey].\nReason: [reason].") - to_chat(M, "This is a permanent ban.") - if(config.banappeals) - to_chat(M, "To try to resolve this matter head to [config.banappeals]") + to_chat(M, span_filter_system(span_critical("You have been banned by [usr.client.ckey].\nReason: [reason]."))) + to_chat(M, span_filter_system(span_warning("This is a permanent ban."))) + if(CONFIG_GET(string/banappeals)) + to_chat(M, span_filter_system(span_warning("To try to resolve this matter head to [CONFIG_GET(string/banappeals)]"))) else - to_chat(M, "No ban appeals URL has been set.") + to_chat(M, span_filter_system(span_warning("No ban appeals URL has been set."))) ban_unban_log_save("[usr.client.ckey] has permabanned [M.ckey]. - Reason: [reason] - This is a permanent ban.") notes_add(M.ckey,"[usr.client.ckey] has permabanned [M.ckey]. - Reason: [reason] - This is a permanent ban.",usr) log_admin("[usr.client.ckey] has banned [M.ckey].\nReason: [reason]\nThis is a permanent ban.") @@ -1019,7 +1025,7 @@ master_mode = href_list["c_mode2"] log_admin("[key_name(usr)] set the mode as [config.mode_names[master_mode]].") message_admins(span_blue("[key_name_admin(usr)] set the mode as [config.mode_names[master_mode]]."), 1) - to_world(span_blue("The mode is now: [config.mode_names[master_mode]]")) + to_world(span_world(span_blue("The mode is now: [config.mode_names[master_mode]]"))) Game() // updates the main game menu world.save_mode(master_mode) .(href, list("c_mode"=1)) @@ -1042,7 +1048,7 @@ var/mob/living/carbon/human/H = locate(href_list["monkeyone"]) if(!istype(H)) - to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human") + to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob/living/carbon/human")) return log_admin("[key_name(usr)] attempting to monkeyize [key_name(H)]") @@ -1054,7 +1060,7 @@ var/mob/living/carbon/human/H = locate(href_list["corgione"]) if(!istype(H)) - to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human") + to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob/living/carbon/human")) return log_admin("[key_name(usr)] attempting to corgize [key_name(H)]") @@ -1066,7 +1072,7 @@ var/mob/M = locate(href_list["forcespeech"]) if(!ismob(M)) - to_chat(usr, "this can only be used on instances of type /mob") + to_chat(usr, span_filter_adminlog("this can only be used on instances of type /mob")) var/speech = tgui_input_text(usr, "What will [key_name(M)] say?.", "Force speech", "") // Don't need to sanitize, since it does that in say(), we also trust our admins. if(!speech) return @@ -1083,10 +1089,10 @@ var/mob/M = locate(href_list["sendtoprison"]) if(!ismob(M)) - to_chat(usr, "This can only be used on instances of type /mob") + to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob")) return if(istype(M, /mob/living/silicon/ai)) - to_chat(usr, "This cannot be used on instances of type /mob/living/silicon/ai") + to_chat(usr, span_filter_adminlog("This cannot be used on instances of type /mob/living/silicon/ai")) return var/turf/prison_cell = pick(prisonwarp) @@ -1111,7 +1117,7 @@ prisoner.equip_to_slot_or_del(new /obj/item/clothing/under/color/prison(prisoner), slot_w_uniform) prisoner.equip_to_slot_or_del(new /obj/item/clothing/shoes/orange(prisoner), slot_shoes) - to_chat(M, "You have been sent to the prison station!") + to_chat(M, span_filter_system(span_warning("You have been sent to the prison station!"))) log_admin("[key_name(usr)] sent [key_name(M)] to the prison station.") message_admins(span_blue("[key_name_admin(usr)] sent [key_name_admin(M)] to the prison station."), 1) @@ -1121,11 +1127,11 @@ var/mob/M = locate(href_list["sendbacktolobby"]) if(!isobserver(M)) - to_chat(usr, "You can only send ghost players back to the Lobby.") + to_chat(usr, span_filter_adminlog(span_notice("You can only send ghost players back to the Lobby."))) return if(!M.client) - to_chat(usr, "[M] doesn't seem to have an active client.") + to_chat(usr, span_filter_adminlog(span_warning("[M] doesn't seem to have an active client."))) return if(tgui_alert(usr, "Send [key_name(M)] back to Lobby?", "Message", list("Yes", "No")) != "Yes") @@ -1146,10 +1152,10 @@ var/mob/M = locate(href_list["tdome1"]) if(!ismob(M)) - to_chat(usr, "This can only be used on instances of type /mob") + to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob")) return if(istype(M, /mob/living/silicon/ai)) - to_chat(usr, "This cannot be used on instances of type /mob/living/silicon/ai") + to_chat(usr, span_filter_adminlog("This cannot be used on instances of type /mob/living/silicon/ai")) return for(var/obj/item/I in M) @@ -1159,7 +1165,7 @@ sleep(5) M.loc = pick(tdome1) spawn(50) - to_chat(M, "You have been sent to the Thunderdome.") + to_chat(M, span_filter_system(span_notice("You have been sent to the Thunderdome."))) log_admin("[key_name(usr)] has sent [key_name(M)] to the thunderdome. (Team 1)") message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Team 1)", 1) @@ -1171,10 +1177,10 @@ var/mob/M = locate(href_list["tdome2"]) if(!ismob(M)) - to_chat(usr, "This can only be used on instances of type /mob") + to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob")) return if(istype(M, /mob/living/silicon/ai)) - to_chat(usr, "This cannot be used on instances of type /mob/living/silicon/ai") + to_chat(usr, span_filter_adminlog("This cannot be used on instances of type /mob/living/silicon/ai")) return for(var/obj/item/I in M) @@ -1184,7 +1190,7 @@ sleep(5) M.loc = pick(tdome2) spawn(50) - to_chat(M, "You have been sent to the Thunderdome.") + to_chat(M, span_filter_system(span_notice("You have been sent to the Thunderdome."))) log_admin("[key_name(usr)] has sent [key_name(M)] to the thunderdome. (Team 2)") message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Team 2)", 1) @@ -1196,17 +1202,17 @@ var/mob/M = locate(href_list["tdomeadmin"]) if(!ismob(M)) - to_chat(usr, "This can only be used on instances of type /mob") + to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob")) return if(istype(M, /mob/living/silicon/ai)) - to_chat(usr, "This cannot be used on instances of type /mob/living/silicon/ai") + to_chat(usr, span_filter_adminlog("This cannot be used on instances of type /mob/living/silicon/ai")) return M.Paralyse(5) sleep(5) M.loc = pick(tdomeadmin) spawn(50) - to_chat(M, "You have been sent to the Thunderdome.") + to_chat(M, span_filter_system(span_notice("You have been sent to the Thunderdome."))) log_admin("[key_name(usr)] has sent [key_name(M)] to the thunderdome. (Admin.)") message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Admin.)", 1) @@ -1218,10 +1224,10 @@ var/mob/M = locate(href_list["tdomeobserve"]) if(!ismob(M)) - to_chat(usr, "This can only be used on instances of type /mob") + to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob")) return if(istype(M, /mob/living/silicon/ai)) - to_chat(usr, "This cannot be used on instances of type /mob/living/silicon/ai") + to_chat(usr, span_filter_adminlog("This cannot be used on instances of type /mob/living/silicon/ai")) return for(var/obj/item/I in M) @@ -1235,7 +1241,7 @@ sleep(5) M.loc = pick(tdomeobserve) spawn(50) - to_chat(M, "You have been sent to the Thunderdome.") + to_chat(M, span_filter_system(span_notice("You have been sent to the Thunderdome."))) log_admin("[key_name(usr)] has sent [key_name(M)] to the thunderdome. (Observer.)") message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Observer.)", 1) @@ -1244,22 +1250,22 @@ var/mob/living/L = locate(href_list["revive"]) if(!istype(L)) - to_chat(usr, "This can only be used on instances of type /mob/living") + to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob/living")) return - if(config.allow_admin_rev) + if(CONFIG_GET(flag/allow_admin_rev)) L.revive() message_admins(span_red("Admin [key_name_admin(usr)] healed / revived [key_name_admin(L)]!"), 1) log_admin("[key_name(usr)] healed / Rrvived [key_name(L)]") else - to_chat(usr, "Admin Rejuvinates have been disabled") + to_chat(usr, span_filter_adminlog(span_filter_warning("Admin Rejuvinates have been disabled"))) else if(href_list["makeai"]) if(!check_rights(R_SPAWN)) return var/mob/living/carbon/human/H = locate(href_list["makeai"]) if(!istype(H)) - to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human") + to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob/living/carbon/human")) return message_admins(span_red("Admin [key_name_admin(usr)] AIized [key_name_admin(H)]!"), 1) @@ -1271,7 +1277,7 @@ var/mob/living/carbon/human/H = locate(href_list["makealien"]) if(!istype(H)) - to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human") + to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob/living/carbon/human")) return usr.client.cmd_admin_alienize(H) @@ -1281,7 +1287,7 @@ var/mob/living/carbon/human/H = locate(href_list["makerobot"]) if(!istype(H)) - to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human") + to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob/living/carbon/human")) return usr.client.cmd_admin_robotize(H) @@ -1291,7 +1297,7 @@ var/mob/M = locate(href_list["makeanimal"]) if(istype(M, /mob/new_player)) - to_chat(usr, "This cannot be used on instances of type /mob/new_player") + to_chat(usr, span_filter_adminlog("This cannot be used on instances of type /mob/new_player")) return usr.client.cmd_admin_animalize(M) @@ -1310,7 +1316,7 @@ var/mob/living/carbon/human/H = locate(href_list["togmutate"]) if(!istype(H)) - to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human") + to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob/living/carbon/human")) return var/block=text2num(href_list["block"]) usr.client.cmd_admin_toggle_block(H,block) @@ -1349,22 +1355,22 @@ var/mob/M = locate(href_list["take_question"]) if(ismob(M)) - var/take_msg = "ADMINHELP: [key_name(usr.client)] is attending to [key_name(M)]'s adminhelp, please don't dogpile them." + var/take_msg = span_notice("ADMINHELP: [key_name(usr.client)] is attending to [key_name(M)]'s adminhelp, please don't dogpile them.") for(var/client/X in GLOB.admins) if((R_ADMIN|R_MOD|R_SERVER) & X.holder.rights) //VOREStation Edit to_chat(X, take_msg) - to_chat(M, "Your adminhelp is being attended to by [usr.client]. Thanks for your patience!") + to_chat(M, span_filter_pm(span_boldnotice("Your adminhelp is being attended to by [usr.client]. Thanks for your patience!"))) // VoreStation Edit Start - if (config.chat_webhook_url) + if (CONFIG_GET(string/chat_webhook_url)) spawn(0) var/query_string = "type=admintake" - query_string += "&key=[url_encode(config.chat_webhook_key)]" + query_string += "&key=[url_encode(CONFIG_GET(string/chat_webhook_key))]" query_string += "&admin=[url_encode(key_name(usr.client))]" query_string += "&user=[url_encode(key_name(M))]" - world.Export("[config.chat_webhook_url]?[query_string]") + world.Export("[CONFIG_GET(string/chat_webhook_url)]?[query_string]") // VoreStation Edit End else - to_chat(usr, "Unable to locate mob.") + to_chat(usr, span_warning("Unable to locate mob.")) else if(href_list["adminplayerobservecoodjump"]) if(!check_rights(R_ADMIN|R_SERVER|R_MOD)) return //VOREStation Edit @@ -1384,7 +1390,7 @@ else if(href_list["adminmoreinfo"]) var/mob/M = locate(href_list["adminmoreinfo"]) if(!ismob(M)) - to_chat(usr, "This can only be used on instances of type /mob") + to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob")) return var/location_description = "" @@ -1402,9 +1408,9 @@ //Job + antagonist if(M.mind) - special_role_description = "Role: [M.mind.assigned_role]; Antagonist: [span_red("[M.mind.special_role]")]; Has been rev: [(M.mind.has_been_rev)?"Yes":"No"]" + special_role_description = "Role: " + span_bold("[M.mind.assigned_role]") + "; Antagonist: [span_red(span_bold("[M.mind.special_role]"))]; Has been rev: [(M.mind.has_been_rev)?"Yes":"No"]" else - special_role_description = "Role: Mind datum missing Antagonist: Mind datum missing; Has been rev: Mind datum missing;" + special_role_description = "Role: " + span_italics("Mind datum missing") + " Antagonist: " + span_italics("Mind datum missing") + "; Has been rev: " + span_italics("Mind datum missing") + ";" //Health if(isliving(M)) @@ -1412,8 +1418,8 @@ var/status switch (M.stat) if (0) status = "Alive" - if (1) status = span_orange("Unconscious") - if (2) status = span_red("Dead") + if (1) status = span_orange(span_bold("Unconscious")) + if (2) status = span_red(span_bold("Dead")) health_description = "Status = [status]" health_description += "
    Oxy: [L.getOxyLoss()] - Tox: [L.getToxLoss()] - Fire: [L.getFireLoss()] - Brute: [L.getBruteLoss()] - Clone: [L.getCloneLoss()] - Brain: [L.getBrainLoss()]" else @@ -1422,7 +1428,7 @@ //Gener switch(M.gender) if(MALE,FEMALE) gender_description = "[M.gender]" - else gender_description = span_red("[M.gender]") + else gender_description = span_red(span_bold("[M.gender]")) to_chat(src.owner, "Info about [M.name]:
    \ Mob type = [M.type]; Gender = [gender_description] Damage = [health_description]
    \ @@ -1437,13 +1443,13 @@ var/mob/living/carbon/human/H = locate(href_list["adminspawncookie"]) if(!ishuman(H)) - to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human") + to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob/living/carbon/human")) return - H.equip_to_slot_or_del( new /obj/item/weapon/reagent_containers/food/snacks/cookie(H), slot_l_hand ) - if(!(istype(H.l_hand,/obj/item/weapon/reagent_containers/food/snacks/cookie))) - H.equip_to_slot_or_del( new /obj/item/weapon/reagent_containers/food/snacks/cookie(H), slot_r_hand ) - if(!(istype(H.r_hand,/obj/item/weapon/reagent_containers/food/snacks/cookie))) + H.equip_to_slot_or_del( new /obj/item/reagent_containers/food/snacks/cookie(H), slot_l_hand ) + if(!(istype(H.l_hand,/obj/item/reagent_containers/food/snacks/cookie))) + H.equip_to_slot_or_del( new /obj/item/reagent_containers/food/snacks/cookie(H), slot_r_hand ) + if(!(istype(H.r_hand,/obj/item/reagent_containers/food/snacks/cookie))) log_admin("[key_name(H)] has their hands full, so they did not receive their cookie, spawned by [key_name(src.owner)].") message_admins("[key_name(H)] has their hands full, so they did not receive their cookie, spawned by [key_name(src.owner)].") return @@ -1454,14 +1460,14 @@ log_admin("[key_name(H)] got their cookie, spawned by [key_name(src.owner)]") message_admins("[key_name(H)] got their cookie, spawned by [key_name(src.owner)]") feedback_inc("admin_cookies_spawned",1) - to_chat(H, "Your prayers have been answered!! You received the best cookie!") + to_chat(H, span_notice("Your prayers have been answered!! You received the best cookie!")) else if(href_list["adminsmite"]) if(!check_rights(R_ADMIN|R_FUN|R_EVENT)) return var/mob/living/carbon/human/H = locate(href_list["adminsmite"]) if(!ishuman(H)) - to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human") + to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob/living/carbon/human")) return owner.smite(H) @@ -1471,7 +1477,7 @@ var/mob/living/M = locate(href_list["BlueSpaceArtillery"]) if(!isliving(M)) - to_chat(usr, "This can only be used on instances of type /mob/living") + to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob/living")) return if(tgui_alert(src.owner, "Are you sure you wish to hit [key_name(M)] with Blue Space Artillery?", "Confirm Firing?", list("Yes", "No")) != "Yes") @@ -1482,56 +1488,56 @@ else if(href_list["CentComReply"]) var/mob/living/L = locate(href_list["CentComReply"]) if(!istype(L)) - to_chat(usr, "This can only be used on instances of type /mob/living/") + to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob/living/")) return if(L.can_centcom_reply()) var/input = sanitize(tgui_input_text(src.owner, "Please enter a message to reply to [key_name(L)] via their headset.","Outgoing message from CentCom", "")) if(!input) return - to_chat(src.owner, "You sent [input] to [L] via a secure channel.") + to_chat(src.owner, span_filter_adminlog("You sent [input] to [L] via a secure channel.")) log_admin("[src.owner] replied to [key_name(L)]'s CentCom message with the message [input].") message_admins("[src.owner] replied to [key_name(L)]'s CentCom message with: \"[input]\"") if(!isAI(L)) - to_chat(L, "You hear something crackle in your headset for a moment before a voice speaks.") - to_chat(L, "Please stand by for a message from Central Command.") - to_chat(L, "Message as follows.") - to_chat(L, "[input]") - to_chat(L, "Message ends.") + to_chat(L, span_info("You hear something crackle in your headset for a moment before a voice speaks.")) + to_chat(L, span_info("Please stand by for a message from Central Command.")) + to_chat(L, span_info("Message as follows.")) + to_chat(L, span_notice("[input]")) + to_chat(L, span_info("Message ends.")) else - to_chat(src.owner, "The person you are trying to contact does not have functional radio equipment.") + to_chat(src.owner, span_filter_adminlog("The person you are trying to contact does not have functional radio equipment.")) else if(href_list["SyndicateReply"]) var/mob/living/carbon/human/H = locate(href_list["SyndicateReply"]) if(!istype(H)) - to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human") + to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob/living/carbon/human")) return - if(!istype(H.l_ear, /obj/item/device/radio/headset) && !istype(H.r_ear, /obj/item/device/radio/headset)) - to_chat(usr, "The person you are trying to contact is not wearing a headset") + if(!istype(H.l_ear, /obj/item/radio/headset) && !istype(H.r_ear, /obj/item/radio/headset)) + to_chat(usr, span_filter_adminlog("The person you are trying to contact is not wearing a headset")) return var/input = sanitize(tgui_input_text(src.owner, "Please enter a message to reply to [key_name(H)] via their headset.","Outgoing message from a shadowy figure...", "")) if(!input) return - to_chat(src.owner, "You sent [input] to [H] via a secure channel.") + to_chat(src.owner, span_filter_adminlog("You sent [input] to [H] via a secure channel.")) log_admin("[src.owner] replied to [key_name(H)]'s illegal message with the message [input].") to_chat(H, "You hear something crackle in your headset for a moment before a voice speaks. \ \"Please stand by for a message from your benefactor. Message as follows, agent. \"[input]\" Message ends.\"") else if(href_list["AdminFaxView"]) var/obj/item/fax = locate(href_list["AdminFaxView"]) - if (istype(fax, /obj/item/weapon/paper)) - var/obj/item/weapon/paper/P = fax + if (istype(fax, /obj/item/paper)) + var/obj/item/paper/P = fax P.show_content(usr,1) - else if (istype(fax, /obj/item/weapon/photo)) - var/obj/item/weapon/photo/H = fax + else if (istype(fax, /obj/item/photo)) + var/obj/item/photo/H = fax H.show(usr) - else if (istype(fax, /obj/item/weapon/paper_bundle)) + else if (istype(fax, /obj/item/paper_bundle)) //having multiple people turning pages on a paper_bundle can cause issues //open a browse window listing the contents instead var/data = "" - var/obj/item/weapon/paper_bundle/B = fax + var/obj/item/paper_bundle/B = fax for (var/page = 1, page <= B.pages.len, page++) var/obj/pageobj = B.pages[page] @@ -1539,19 +1545,19 @@ usr << browse(data, "window=[B.name]") else - to_chat(usr, "The faxed item is not viewable. This is probably a bug, and should be reported on the tracker: [fax.type]") + to_chat(usr, span_warning("The faxed item is not viewable. This is probably a bug, and should be reported on the tracker: [fax.type]")) else if (href_list["AdminFaxViewPage"]) var/page = text2num(href_list["AdminFaxViewPage"]) - var/obj/item/weapon/paper_bundle/bundle = locate(href_list["paper_bundle"]) + var/obj/item/paper_bundle/bundle = locate(href_list["paper_bundle"]) if (!bundle) return - if (istype(bundle.pages[page], /obj/item/weapon/paper)) - var/obj/item/weapon/paper/P = bundle.pages[page] + if (istype(bundle.pages[page], /obj/item/paper)) + var/obj/item/paper/P = bundle.pages[page] P.show_content(src.owner, 1) - else if (istype(bundle.pages[page], /obj/item/weapon/photo)) - var/obj/item/weapon/photo/H = bundle.pages[page] + else if (istype(bundle.pages[page], /obj/item/photo)) + var/obj/item/photo/H = bundle.pages[page] H.show(src.owner) return @@ -1561,7 +1567,7 @@ var/replyorigin = href_list["replyorigin"] - var/obj/item/weapon/paper/admin/P = new /obj/item/weapon/paper/admin( null ) //hopefully the null loc won't cause trouble for us + var/obj/item/paper/admin/P = new /obj/item/paper/admin( null ) //hopefully the null loc won't cause trouble for us faxreply = P P.admindatum = src @@ -1574,7 +1580,7 @@ else if(href_list["jumpto"]) if(!check_rights(R_ADMIN|R_MOD|R_DEBUG|R_EVENT)) return - if(!config.allow_admin_jump) + if(!CONFIG_GET(flag/allow_admin_jump)) tgui_alert_async(usr, "Admin jumping disabled") return @@ -1589,12 +1595,12 @@ feedback_add_details("admin_verb","JM") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! log_and_message_admins("[key_name_admin(usr)] jumped to [key_name_admin(M)]") else - to_chat(usr, "This mob is not located in the game world.") + to_chat(usr, span_filter_adminlog("This mob is not located in the game world.")) else if(href_list["getmob"]) if(!check_rights(R_ADMIN|R_MOD|R_DEBUG|R_EVENT)) return - if(!config.allow_admin_jump) + if(!CONFIG_GET(flag/allow_admin_jump)) tgui_alert_async(usr, "Admin jumping disabled") return if(tgui_alert(usr, "Confirm?", "Message", list("Yes", "No")) != "Yes") @@ -1613,7 +1619,7 @@ else if(href_list["sendmob"]) if(!check_rights(R_ADMIN|R_MOD|R_DEBUG|R_EVENT)) return - if(!config.allow_admin_jump) + if(!CONFIG_GET(flag/allow_admin_jump)) tgui_alert_async(usr, "Admin jumping disabled") return @@ -1658,7 +1664,7 @@ var/mob/M = locate(href_list["traitor"]) if(!ismob(M)) - to_chat(usr, "This can only be used on instances of type /mob.") + to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob.")) return show_traitor_panel(M) @@ -1681,8 +1687,8 @@ else if(href_list["object_list"]) //this is the laggiest thing ever if(!check_rights(R_SPAWN)) return - if(!config.allow_admin_spawning) - to_chat(usr, "Spawning of items is not allowed.") + if(!CONFIG_GET(flag/allow_admin_spawning)) + to_chat(usr, span_filter_adminlog("Spawning of items is not allowed.")) return var/atom/loc = usr.loc @@ -1704,11 +1710,11 @@ else if(!ispath(path, /obj) && !ispath(path, /turf) && !ispath(path, /mob)) removed_paths += dirty_path continue - else if(ispath(path, /obj/item/weapon/gun/energy/pulse_rifle)) + else if(ispath(path, /obj/item/gun/energy/pulse_rifle)) if(!check_rights(R_FUN,0)) removed_paths += dirty_path continue - else if(ispath(path, /obj/item/weapon/melee/energy/blade))//Not an item one should be able to spawn./N + else if(ispath(path, /obj/item/melee/energy/blade))//Not an item one should be able to spawn./N if(!check_rights(R_FUN,0)) removed_paths += dirty_path continue @@ -1742,24 +1748,24 @@ where = "onfloor" if( where == "inhand" ) - to_chat(usr, "Support for inhand not available yet. Will spawn on floor.") + to_chat(usr, span_filter_adminlog("Support for inhand not available yet. Will spawn on floor.")) where = "onfloor" if ( where == "inhand" ) //Can only give when human or monkey if ( !( ishuman(usr) || issmall(usr) ) ) - to_chat(usr, "Can only spawn in hand when you're a human or a monkey.") + to_chat(usr, span_filter_adminlog("Can only spawn in hand when you're a human or a monkey.")) where = "onfloor" else if ( usr.get_active_hand() ) - to_chat(usr, "Your active hand is full. Spawning on floor.") + to_chat(usr, span_filter_adminlog("Your active hand is full. Spawning on floor.")) where = "onfloor" if ( where == "inmarked" ) if ( !marked_datum ) - to_chat(usr, "You don't have any object marked. Abandoning spawn.") + to_chat(usr, span_filter_adminlog("You don't have any object marked. Abandoning spawn.")) return else if ( !istype(marked_datum,/atom) ) - to_chat(usr, "The object you have marked cannot be used as a target. Target must be of type /atom. Abandoning spawn.") + to_chat(usr, span_filter_adminlog("The object you have marked cannot be used as a target. Target must be of type /atom. Abandoning spawn.")) return var/atom/target //Where the object will be spawned @@ -1930,27 +1936,27 @@ else if(href_list["ac_censor_channel_author"]) var/datum/feed_channel/FC = locate(href_list["ac_censor_channel_author"]) - if(FC.author != "\[REDACTED\]") + if(FC.author != span_bold("\[REDACTED\]")) FC.backup_author = FC.author - FC.author = "\[REDACTED\]" + FC.author = span_bold("\[REDACTED\]") else FC.author = FC.backup_author src.access_news_network() else if(href_list["ac_censor_channel_story_author"]) var/datum/feed_message/MSG = locate(href_list["ac_censor_channel_story_author"]) - if(MSG.author != "\[REDACTED\]") + if(MSG.author != span_bold("\[REDACTED\]")) MSG.backup_author = MSG.author - MSG.author = "\[REDACTED\]" + MSG.author = span_bold("\[REDACTED\]") else MSG.author = MSG.backup_author src.access_news_network() else if(href_list["ac_censor_channel_story_body"]) var/datum/feed_message/MSG = locate(href_list["ac_censor_channel_story_body"]) - if(MSG.body != "\[REDACTED\]") + if(MSG.body != span_bold("\[REDACTED\]")) MSG.backup_body = MSG.body - MSG.body = "\[REDACTED\]" + MSG.body = span_bold("\[REDACTED\]") else MSG.body = MSG.backup_body src.access_news_network() @@ -2015,17 +2021,17 @@ if(check_rights(R_SPAWN)) //VOREStation Edit var/mob/M = locate(href_list["toglang"]) if(!istype(M)) - to_chat(usr, "[M] is illegal type, must be /mob!") + to_chat(usr, span_filter_adminlog("[M] is illegal type, must be /mob!")) return var/lang2toggle = href_list["lang"] var/datum/language/L = GLOB.all_languages[lang2toggle] if(L in M.languages) if(!M.remove_language(lang2toggle)) - to_chat(usr, "Failed to remove language '[lang2toggle]' from \the [M]!") + to_chat(usr, span_filter_adminlog("Failed to remove language '[lang2toggle]' from \the [M]!")) else if(!M.add_language(lang2toggle)) - to_chat(usr, "Failed to add language '[lang2toggle]' from \the [M]!") + to_chat(usr, span_filter_adminlog("Failed to add language '[lang2toggle]' from \the [M]!")) show_player_panel(M) @@ -2034,7 +2040,7 @@ var/mob/living/carbon/M = locate(href_list["cryoplayer"]) //VOREStation edit from just an all mob check to mob/living/carbon if(!istype(M)) - to_chat(usr, "Mob doesn't exist!") + to_chat(usr, span_warning("Mob doesn't exist!")) return var/client/C = usr.client @@ -2067,7 +2073,7 @@ return 0 /mob/living/carbon/human/can_centcom_reply() - return istype(l_ear, /obj/item/device/radio/headset) || istype(r_ear, /obj/item/device/radio/headset) + return istype(l_ear, /obj/item/radio/headset) || istype(r_ear, /obj/item/radio/headset) /mob/living/silicon/ai/can_centcom_reply() return common_radio != null && !check_unable(2) diff --git a/code/modules/admin/verbs/BrokenInhands.dm b/code/modules/admin/verbs/BrokenInhands.dm index b74750843ce..a3aa4454c37 100644 --- a/code/modules/admin/verbs/BrokenInhands.dm +++ b/code/modules/admin/verbs/BrokenInhands.dm @@ -31,6 +31,4 @@ var/F = file("broken_icons.txt") fdel(F) F << text - to_world("Completeled successfully and written to [F]") - - + to_world(span_filter_system("Completeled successfully and written to [F]")) diff --git a/code/modules/admin/verbs/SDQL2/SDQL_2.dm b/code/modules/admin/verbs/SDQL2/SDQL_2.dm index 99628c244a6..dc8d8ae15f9 100644 --- a/code/modules/admin/verbs/SDQL2/SDQL_2.dm +++ b/code/modules/admin/verbs/SDQL2/SDQL_2.dm @@ -188,9 +188,9 @@ Example: USING PROCCALL = BLOCKING, SELECT = FORCE_NULLS, PRIORITY = HIGH SELECT CRASH("SDQL2 fatal error");}; /client/proc/SDQL2_query(query_text as message) - set category = "Debug" + set category = "Debug.Misc" if(!check_rights(R_DEBUG)) //Shouldn't happen... but just to be safe. - message_admins("ERROR: Non-admin [key_name(usr)] attempted to execute a SDQL query!") + message_admins(span_danger("ERROR: Non-admin [key_name(usr)] attempted to execute a SDQL query!")) log_admin("Non-admin [key_name(usr)] attempted to execute a SDQL query!") return FALSE var/list/results = world.SDQL2_query(query_text, key_name_admin(usr), "[key_name(usr)]") @@ -224,7 +224,7 @@ Example: USING PROCCALL = BLOCKING, SELECT = FORCE_NULLS, PRIORITY = HIGH SELECT running += query var/msg = "Starting query #[query.id] - [query.get_query_text()]." if(usr) - to_chat(usr, "[msg]") + to_chat(usr, span_admin("[msg]")) log_admin(msg) query.ARun() var/finished = FALSE @@ -243,7 +243,7 @@ Example: USING PROCCALL = BLOCKING, SELECT = FORCE_NULLS, PRIORITY = HIGH SELECT finished = FALSE else if(query.state == SDQL2_STATE_ERROR) if(usr) - to_chat(usr, "SDQL query [query.get_query_text()] errored. It will NOT be automatically garbage collected. Please remove manually.") + to_chat(usr, span_admin("SDQL query [query.get_query_text()] errored. It will NOT be automatically garbage collected. Please remove manually.")) running -= query else if(query.finished) @@ -256,14 +256,14 @@ Example: USING PROCCALL = BLOCKING, SELECT = FORCE_NULLS, PRIORITY = HIGH SELECT //QDEL_IN(query, 50) Maybe when vorestation finally ports timers.. else if(usr) - to_chat(usr, "SDQL query [query.get_query_text()] was halted. It will NOT be automatically garbage collected. Please remove manually.") + to_chat(usr, span_admin("SDQL query [query.get_query_text()] was halted. It will NOT be automatically garbage collected. Please remove manually.")) running -= query while(!finished) var/end_time_total = REALTIMEOFDAY - start_time_total - return list("SDQL query combined results: [query_text]",\ - "SDQL query completed: [objs_all] objects selected by path, and [selectors_used ? objs_eligible : objs_all] objects executed on after WHERE filtering/MAPping if applicable.",\ - "SDQL combined querys took [DisplayTimeText(end_time_total)] to complete.") + combined_refs + return list(span_admin("SDQL query combined results: [query_text]"),\ + span_admin("SDQL query completed: [objs_all] objects selected by path, and [selectors_used ? objs_eligible : objs_all] objects executed on after WHERE filtering/MAPping if applicable."),\ + span_admin("SDQL combined querys took [DisplayTimeText(end_time_total)] to complete.")) + combined_refs GLOBAL_LIST_INIT(sdql2_queries, GLOB.sdql2_queries || list()) GLOBAL_DATUM_INIT(sdql2_vv_statobj, /obj/effect/statclick/SDQL2_VV_all, new(null, "VIEW VARIABLES (all)", null)) @@ -384,11 +384,13 @@ GLOBAL_DATUM_INIT(sdql2_vv_statobj, /obj/effect/statclick/SDQL2_VV_all, new(null delete_click = new(null, "INITIALIZING", src) if(!action_click) action_click = new(null, "INITIALIZNG", src) - stat("[id] ", delete_click.update("DELETE QUERY | STATE : [text_state()] | ALL/ELIG/FIN \ + var/list/L = list() + L[++L.len] = list("[id] ", "[delete_click.update("DELETE QUERY | STATE : [text_state()] | ALL/ELIG/FIN \ [islist(obj_count_all)? length(obj_count_all) : (isnull(obj_count_all)? "0" : obj_count_all)]/\ [islist(obj_count_eligible)? length(obj_count_eligible) : (isnull(obj_count_eligible)? "0" : obj_count_eligible)]/\ - [islist(obj_count_finished)? length(obj_count_finished) : (isnull(obj_count_finished)? "0" : obj_count_finished)] - [get_query_text()]")) - stat(" ", action_click.update("[SDQL2_IS_RUNNING? "HALT" : "RUN"]")) + [islist(obj_count_finished)? length(obj_count_finished) : (isnull(obj_count_finished)? "0" : obj_count_finished)] - [get_query_text()]")]", REF(delete_click)) + L[++L.len] = list(" ", "[action_click.update("[SDQL2_IS_RUNNING? "HALT" : "RUN"]")]", REF(action_click)) + return L /datum/SDQL2_query/proc/delete_click() admin_del(usr) @@ -478,10 +480,10 @@ GLOBAL_DATUM_INIT(sdql2_vv_statobj, /obj/effect/statclick/SDQL2_VV_all, new(null var/client/C = GLOB.directory[show_next_to_key] if(C) var/mob/showmob = C.mob - to_chat(showmob, "SDQL query results: [get_query_text()]
    \ + to_chat(showmob, span_admin("SDQL query results: [get_query_text()]
    \ SDQL query completed: [islist(obj_count_all)? length(obj_count_all) : obj_count_all] objects selected by path, and \ [where_switched? "[islist(obj_count_eligible)? length(obj_count_eligible) : obj_count_eligible] objects executed on after WHERE keyword selection." : ""]
    \ - SDQL query took [DisplayTimeText(end_time - start_time)] to complete.
    ") + SDQL query took [DisplayTimeText(end_time - start_time)] to complete.")) if(length(select_text)) var/text = islist(select_text)? select_text.Join() : select_text var/static/result_offset = 0 @@ -799,7 +801,7 @@ GLOBAL_DATUM_INIT(sdql2_vv_statobj, /obj/effect/statclick/SDQL2_VV_all, new(null if("or", "||") result = (result || val) else - to_chat(usr, "SDQL2: Unknown op [op]") + to_chat(usr, span_danger("SDQL2: Unknown op [op]")) result = null else result = val @@ -893,7 +895,7 @@ GLOBAL_DATUM_INIT(sdql2_vv_statobj, /obj/effect/statclick/SDQL2_VV_all, new(null querys[querys_pos] = parsed_tree querys_pos++ else //There was an error so don't run anything, and tell the user which query has errored. - to_chat(usr, "Parsing error on [querys_pos]\th query. Nothing was executed.") + to_chat(usr, span_danger("Parsing error on [querys_pos]\th query. Nothing was executed.")) return list() query_tree = list() do_parse = 0 @@ -939,16 +941,16 @@ GLOBAL_DATUM_INIT(sdql2_vv_statobj, /obj/effect/statclick/SDQL2_VV_all, new(null D = object if (object == world && (!long || expression[start + 1] == ".") && !(expression[start] in exclude)) - to_chat(usr, "World variables are not allowed to be accessed. Use global.") + to_chat(usr, span_danger("World variables are not allowed to be accessed. Use global.")) return null else if(expression [start] == "{" && long) if(lowertext(copytext(expression[start + 1], 1, 3)) != "0x") - to_chat(usr, "Invalid pointer syntax: [expression[start + 1]]") + to_chat(usr, span_danger("Invalid pointer syntax: [expression[start + 1]]")) return null v = locate("\[[expression[start + 1]]]") if(!v) - to_chat(usr, "Invalid pointer: [expression[start + 1]]") + to_chat(usr, span_danger("Invalid pointer: [expression[start + 1]]")) return null start++ long = start < expression.len @@ -993,7 +995,7 @@ GLOBAL_DATUM_INIT(sdql2_vv_statobj, /obj/effect/statclick/SDQL2_VV_all, new(null var/list/L = v var/index = query.SDQL_expression(source, expression[start + 2]) if(isnum(index) && (!(round(index) == index) || L.len < index)) - to_chat(usr, "Invalid list index: [index]") + to_chat(usr, span_danger("Invalid list index: [index]")) return null return L[index] return v diff --git a/code/modules/admin/verbs/SDQL2/SDQL_2_parser.dm b/code/modules/admin/verbs/SDQL2/SDQL_2_parser.dm index e6504475c5f..9d6c58ec099 100644 --- a/code/modules/admin/verbs/SDQL2/SDQL_2_parser.dm +++ b/code/modules/admin/verbs/SDQL2/SDQL_2_parser.dm @@ -60,7 +60,7 @@ /datum/SDQL_parser/proc/parse_error(error_message) error = 1 - to_chat(usr, "SQDL2 Parsing Error: [error_message]") + to_chat(usr, span_warning("SQDL2 Parsing Error: [error_message]")) return query.len + 1 /datum/SDQL_parser/proc/parse() @@ -632,4 +632,4 @@ else i = variable(i, node) - return i \ No newline at end of file + return i diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm index 5ed39f1bf57..24ecb14b7ea 100644 --- a/code/modules/admin/verbs/adminhelp.dm +++ b/code/modules/admin/verbs/adminhelp.dm @@ -66,24 +66,29 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) var/list/dat = list("[title]") dat += "Refresh

    " for(var/datum/admin_help/AH as anything in l2b) - dat += "Ticket #[AH.id]: [AH.initiator_key_name]: [AH.name]
    " + dat += span_adminnotice(span_adminhelp("Ticket #[AH.id]") + ": [AH.initiator_key_name]: [AH.name]") + "
    " usr << browse(dat.Join(), "window=ahelp_list[state];size=600x480") //Tickets statpanel /datum/admin_help_tickets/proc/stat_entry() + SHOULD_CALL_PARENT(TRUE) + SHOULD_NOT_SLEEP(TRUE) + var/list/L = list() var/num_disconnected = 0 - stat("== Admin Tickets ==") - stat("Active Tickets:", astatclick.update("[active_tickets.len]")) + L[++L.len] = list("== Admin Tickets ==", "", null, null) + L[++L.len] = list("Active Tickets:", "[astatclick.update("[active_tickets.len]")]", null, REF(astatclick)) + astatclick.update("[active_tickets.len]") for(var/datum/admin_help/AH as anything in active_tickets) if(AH.initiator) - stat("#[AH.id]. [AH.initiator_key_name]:", AH.statclick.update()) + L[++L.len] = list("#[AH.id]. [AH.initiator_key_name]:", "[AH.statclick.update()]", REF(AH)) else ++num_disconnected if(num_disconnected) - stat("Disconnected:", astatclick.update("[num_disconnected]")) - stat("Closed Tickets:", cstatclick.update("[closed_tickets.len]")) - stat("Resolved Tickets:", rstatclick.update("[resolved_tickets.len]")) + L[++L.len] = list("Disconnected:", "[astatclick.update("[num_disconnected]")]", null, REF(astatclick)) + L[++L.len] = list("Closed Tickets:", "[cstatclick.update("[closed_tickets.len]")]", null, REF(cstatclick)) + L[++L.len] = list("Resolved Tickets:", "[rstatclick.update("[resolved_tickets.len]")]", null, REF(rstatclick)) + return L //Reassociate still open ticket if one exists /datum/admin_help_tickets/proc/ClientLogin(client/C) @@ -119,6 +124,9 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) /obj/effect/statclick/ticket_list/Click() GLOB.ahelp_tickets.BrowseTickets(current_state) +//called by admin topic +/obj/effect/statclick/ticket_list/proc/Action() + Click() // //TICKET DATUM // @@ -177,13 +185,13 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) MessageNoRecipient(parsed_message) send2adminchat() //VOREStation Add //show it to the person adminhelping too - to_chat(C, "PM to-Admins: [name]") + to_chat(C, span_admin_pm_notice("PM to-Admins: [name]")) //send it to irc if nobody is on and tell us how many were on var/admin_number_present = send2irc_adminless_only(initiator_ckey, name) log_admin("Ticket #[id]: [key_name(initiator)]: [name] - heard by [admin_number_present] non-AFK admins who have +BAN.") if(admin_number_present <= 0) - to_chat(C, "No active admins are online, your adminhelp was sent to the admin discord.") //VOREStation Edit + to_chat(C, span_admin_pm_notice("No active admins are online, your adminhelp was sent to the admin discord.")) //VOREStation Edit // Also send it to discord since that's the hip cool thing now. SSwebhooks.send( @@ -243,7 +251,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) //won't bug irc /datum/admin_help/proc/MessageNoRecipient(msg) var/ref_src = "\ref[src]" - var/chat_msg = "Ticket [TicketHref("#[id]", ref_src)]: [LinkedReplyName(ref_src)] [FullMonty(ref_src)]: [msg]" + var/chat_msg = span_admin_pm_notice(span_adminhelp("Ticket [TicketHref("#[id]", ref_src)]") + span_bold(": [LinkedReplyName(ref_src)] [FullMonty(ref_src)]:") + msg) AddInteraction("[LinkedReplyName(ref_src)]: [msg]") //send this msg to all admins @@ -251,7 +259,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) for(var/client/X in GLOB.admins) if(!check_rights(R_ADMIN, 0, X)) continue - if(X.is_preference_enabled(/datum/client_preference/holder/play_adminhelp_ping)) + if(X.prefs?.read_preference(/datum/preference/toggle/holder/play_adminhelp_ping)) X << 'sound/effects/adminhelp.ogg' window_flash(X) to_chat(X, chat_msg) @@ -259,11 +267,11 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) //Reopen a closed ticket /datum/admin_help/proc/Reopen() if(state == AHELP_ACTIVE) - to_chat(usr, "This ticket is already open.") + to_chat(usr, span_warning("This ticket is already open.")) return if(GLOB.ahelp_tickets.CKey2ActiveTicket(initiator_ckey)) - to_chat(usr, "This user already has an active ticket, cannot reopen this one.") + to_chat(usr, span_warning("This user already has an active ticket, cannot reopen this one.")) return statclick = new(null, src) @@ -282,8 +290,8 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) AddInteraction("Reopened by [key_name_admin(usr)]") if(initiator) - to_chat(initiator, "[span_purple("Ticket [TicketHref("#[id]")] was reopened by [key_name(usr,FALSE,FALSE)].")]") - var/msg = "Ticket [TicketHref("#[id]")] reopened by [key_name_admin(usr)]." + to_chat(initiator, span_filter_adminlog("[span_purple("Ticket [TicketHref("#[id]")] was reopened by [key_name(usr,FALSE,FALSE)].")]")) + var/msg = span_adminhelp("Ticket [TicketHref("#[id]")] reopened by [key_name_admin(usr)].") message_admins(msg) log_admin(msg) feedback_inc("ahelp_reopen") @@ -314,9 +322,9 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) RemoveActive() state = AHELP_CLOSED GLOB.ahelp_tickets.ListInsert(src) - AddInteraction("Closed by [key_name_admin(usr)].") + AddInteraction(span_filter_adminlog("Closed by [key_name_admin(usr)].")) if(initiator) - to_chat(initiator, "[span_red("Ticket [TicketHref("#[id]")] was closed by [key_name(usr,FALSE,FALSE)].")]") + to_chat(initiator, span_filter_adminlog("[span_red("Ticket [TicketHref("#[id]")] was closed by [key_name(usr,FALSE,FALSE)].")]")) if(!silent) feedback_inc("ahelp_close") var/msg = "Ticket [TicketHref("#[id]")] closed by [key_name_admin(usr)]." @@ -339,9 +347,9 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) state = AHELP_RESOLVED GLOB.ahelp_tickets.ListInsert(src) - AddInteraction("Resolved by [key_name_admin(usr)].") + AddInteraction(span_filter_adminlog("Resolved by [key_name_admin(usr)].")) if(initiator) - to_chat(initiator, "[span_green("Ticket [TicketHref("#[id]")] was marked resolved by [key_name(usr,FALSE,FALSE)].")]") + to_chat(initiator, span_filter_adminlog("[span_green("Ticket [TicketHref("#[id]")] was marked resolved by [key_name(usr,FALSE,FALSE)].")]")) if(!silent) feedback_inc("ahelp_resolve") var/msg = "Ticket [TicketHref("#[id]")] resolved by [key_name_admin(usr)]" @@ -362,12 +370,12 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) return if(initiator) - if(initiator.is_preference_enabled(/datum/client_preference/holder/play_adminhelp_ping)) + if(initiator.prefs?.read_preference(/datum/preference/toggle/holder/play_adminhelp_ping)) initiator << 'sound/effects/adminhelp.ogg' - to_chat(initiator, "[span_red("- AdminHelp Rejected! -")]
    \ - [span_red("Your admin help was rejected.")]
    \ - Please try to be calm, clear, and descriptive in admin helps, do not assume the admin has seen any related events, and clearly state the names of anybody you are reporting.
    ") + to_chat(initiator, span_filter_pm("[span_red(span_huge(span_bold("- AdminHelp Rejected! -")))]
    \ + [span_red(span_bold("Your admin help was rejected."))]
    \ + Please try to be calm, clear, and descriptive in admin helps, do not assume the admin has seen any related events, and clearly state the names of anybody you are reporting.")) feedback_inc("ahelp_reject") var/msg = "Ticket [TicketHref("#[id]")] rejected by [key_name_admin(usr)]" @@ -389,12 +397,12 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) if(state != AHELP_ACTIVE) return - var/msg = "[span_red("- AdminHelp marked as IC issue! -")]
    " - msg += "[span_red("This is something that can be solved ICly, and does not currently require staff intervention.")]
    " - msg += "[span_red("Your AdminHelp may also be unanswerable due to ongoing events.")]
    " + var/msg = "[span_red(span_huge(span_bold("- AdminHelp marked as IC issue! -")))]
    " + msg += "[span_red(span_bold("This is something that can be solved ICly, and does not currently require staff intervention."))]
    " + msg += "[span_red("Your AdminHelp may also be unanswerable due to ongoing events.")]" if(initiator) - to_chat(initiator, msg) + to_chat(initiator,span_filter_pm(msg)) feedback_inc("ahelp_icissue") msg = "Ticket [TicketHref("#[id]")] marked as IC by [key_name_admin(usr)]" @@ -460,9 +468,9 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) dat += "
    Closed at: [gameTimestamp(wtime = closed_at)] (Approx [(world.time - closed_at) / 600] minutes ago)" dat += "

    " if(initiator) - dat += "Actions: [FullMonty(ref_src)]
    " + dat += span_bold("Actions:") + " [FullMonty(ref_src)]
    " else - dat += "DISCONNECTED[GLOB.TAB][ClosureLinks(ref_src)]
    " + dat += span_bold("DISCONNECTED") + "[GLOB.TAB][ClosureLinks(ref_src)]
    " dat += "
    Log:

    " for(var/I in _interactions) dat += "[I]
    " @@ -590,13 +598,9 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) set category = "Admin" set name = "Adminhelp" - if(say_disabled) //This is here to try to identify lag problems - to_chat(usr, "Speech is currently admin-disabled.") - return - //handle muting and automuting if(prefs.muted & MUTE_ADMINHELP) - to_chat(src, "Error: Admin-PM: You cannot send adminhelps (Muted).") + to_chat(src, span_danger("Error: Admin-PM: You cannot send adminhelps (Muted).")) return if(handle_spam_prevention(msg,MUTE_ADMINHELP)) return @@ -605,19 +609,22 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) return //remove out adminhelp verb temporarily to prevent spamming of admins. - src.verbs -= /client/verb/adminhelp + remove_verb(src, /client/verb/adminhelp) spawn(1200) - src.verbs += /client/verb/adminhelp // 2 minute cool-down for adminhelps + add_verb(src, /client/verb/adminhelp) // 2 minute cool-down for adminhelps feedback_add_details("admin_verb","Adminhelp") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! if(current_ticket) - if(tgui_alert(usr, "You already have a ticket open. Is this for the same issue?","Duplicate?",list("Yes","No")) != "No") + var/input = tgui_alert(usr, "You already have a ticket open. Is this for the same issue?","Duplicate?",list("Yes","No")) + if(!input) + return + if(input == "Yes") if(current_ticket) current_ticket.MessageNoRecipient(msg) - to_chat(usr, "PM to-Admins: [msg]") + to_chat(usr, span_admin_pm_notice("PM to-Admins: [msg]")) return else - to_chat(usr, "Ticket not found, creating new one...") + to_chat(usr, span_warning("Ticket not found, creating new one...")) else current_ticket.AddInteraction("[key_name_admin(usr)] opened a new ticket.") current_ticket.Close() @@ -627,7 +634,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) //admin proc /client/proc/cmd_admin_ticket_panel() set name = "Show Ticket List" - set category = "Admin" + set category = "Admin.Misc" if(!check_rights(R_ADMIN|R_MOD|R_DEBUG, TRUE)) //YW Edit: Remove Ticket permissions from Event Makers return @@ -775,7 +782,8 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) if(found.mind && found.mind.special_role) is_antag = 1 founds += "Name: [found.name]([found.real_name]) Ckey: [found.ckey] [is_antag ? "(Antag)" : null] " - msg += "[original_word](?|F) " + var/textentry = "(?|F " + msg += "[original_word]" + span_small((is_antag ? span_red(textentry) : span_black(textentry))) continue msg += "[original_word] " if(irc) diff --git a/code/modules/admin/verbs/adminhelp_vr.dm b/code/modules/admin/verbs/adminhelp_vr.dm index d6bdb37f21e..eb02d4aa0a6 100644 --- a/code/modules/admin/verbs/adminhelp_vr.dm +++ b/code/modules/admin/verbs/adminhelp_vr.dm @@ -1,5 +1,5 @@ /datum/admin_help/proc/send2adminchat() - if(!config.chat_webhook_url) + if(!CONFIG_GET(string/chat_webhook_url)) return var/list/adm = get_admin_counts() @@ -8,12 +8,12 @@ spawn(0) //Unreliable world.Exports() var/query_string = "type=adminhelp" - query_string += "&key=[url_encode(config.chat_webhook_key)]" + query_string += "&key=[url_encode(CONFIG_GET(string/chat_webhook_key))]" query_string += "&from=[url_encode(key_name(initiator))]" query_string += "&msg=[url_encode(html_decode(name))]" query_string += "&admin_number=[allmins.len]" query_string += "&admin_number_afk=[afkmins.len]" - world.Export("[config.chat_webhook_url]?[query_string]") + world.Export("[CONFIG_GET(string/chat_webhook_url)]?[query_string]") /client/verb/adminspice() set category = "Admin" @@ -22,18 +22,18 @@ //handle muting and automuting if(prefs.muted & MUTE_ADMINHELP) - to_chat(usr, "Error: You cannot request spice (muted from adminhelps).") + to_chat(usr, span_danger("Error: You cannot request spice (muted from adminhelps).")) return - if(tgui_alert(usr, "Are you sure you want to request the admins spice things up for you? You accept the consequences if you do.","Spicy!",list("Yes","No")) != "No") + if(tgui_alert(usr, "Are you sure you want to request the admins spice things up for you? You accept the consequences if you do.","Spicy!",list("Yes","No")) == "Yes") message_admins("[ADMIN_FULLMONTY(usr)] has requested the round be spiced up a little.") - to_chat(usr, "You have requested some more spice in your round.") + to_chat(usr, span_notice("You have requested some more spice in your round.")) else - to_chat(usr, "Spice request cancelled.") + to_chat(usr, span_notice("Spice request cancelled.")) return //if they requested spice, then remove spice verb temporarily to prevent spamming - usr.verbs -= /client/verb/adminspice + remove_verb(usr, /client/verb/adminspice) spawn(10 MINUTES) if(usr) // In case we left in the 10 minute cooldown - usr.verbs += /client/verb/adminspice // 10 minute cool-down for spice request + add_verb(usr, /client/verb/adminspice) // 10 minute cool-down for spice request diff --git a/code/modules/admin/verbs/adminjump.dm b/code/modules/admin/verbs/adminjump.dm index de6373de69a..977173af5bb 100644 --- a/code/modules/admin/verbs/adminjump.dm +++ b/code/modules/admin/verbs/adminjump.dm @@ -7,11 +7,11 @@ /client/proc/Jump(areaname as null|anything in return_sorted_areas()) set name = "Jump to Area" set desc = "Area to jump to" - set category = "Admin" + set category = "Admin.Game" if(!check_rights(R_ADMIN|R_MOD|R_DEBUG|R_EVENT)) return - if(!config.allow_admin_jump) + if(!CONFIG_GET(flag/allow_admin_jump)) tgui_alert_async(usr, "Admin jumping disabled") return @@ -34,10 +34,10 @@ /client/proc/jumptoturf(var/turf/T in world) set name = "Jump to Turf" - set category = "Admin" + set category = "Admin.Game" if(!check_rights(R_ADMIN|R_MOD|R_DEBUG|R_EVENT)) return - if(config.allow_admin_jump) + if(CONFIG_GET(flag/allow_admin_jump)) log_admin("[key_name(usr)] jumped to [T.x],[T.y],[T.z] in [T.loc]") message_admins("[key_name_admin(usr)] jumped to [T.x],[T.y],[T.z] in [T.loc]", 1) usr.on_mob_jump() @@ -49,7 +49,7 @@ /// Verb wrapper around do_jumptomob() /client/proc/jumptomob(mob as null|anything in mob_list) - set category = "Admin" + set category = "Admin.Game" set name = "Jump to Mob" set popup_menu = FALSE //VOREStation Edit - Declutter. @@ -60,7 +60,7 @@ /// Performs the jumps, also called from admin Topic() for JMP links /client/proc/do_jumptomob(var/mob/M) - if(!config.allow_admin_jump) + if(!CONFIG_GET(flag/allow_admin_jump)) tgui_alert_async(usr, "Admin jumping disabled") return @@ -78,22 +78,22 @@ message_admins("[key_name_admin(usr)] jumped to [key_name_admin(M)]", 1) feedback_add_details("admin_verb","JM") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! else - to_chat(A, "This mob is not located in the game world.") + to_chat(A, span_filter_adminlog("This mob is not located in the game world.")) /client/proc/jumptocoord(tx as num, ty as num, tz as num) - set category = "Admin" + set category = "Admin.Game" set name = "Jump to Coordinate" if(!check_rights(R_ADMIN|R_MOD|R_DEBUG|R_EVENT)) return - if (config.allow_admin_jump) + if (CONFIG_GET(flag/allow_admin_jump)) if(src.mob) var/mob/A = src.mob A.on_mob_jump() var/turf/T = locate(tx, ty, tz) if(!T) - to_chat(usr, "Those coordinates are outside the boundaries of the map.") + to_chat(usr, span_warning("Those coordinates are outside the boundaries of the map.")) return A.forceMove(T) feedback_add_details("admin_verb","JC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -103,13 +103,13 @@ tgui_alert_async(usr, "Admin jumping disabled") /client/proc/jumptokey() - set category = "Admin" + set category = "Admin.Game" set name = "Jump to Key" if(!check_rights(R_ADMIN|R_MOD|R_DEBUG|R_EVENT)) return - if(config.allow_admin_jump) + if(CONFIG_GET(flag/allow_admin_jump)) var/list/keys = list() for(var/mob/M in player_list) keys += M.client @@ -126,14 +126,14 @@ tgui_alert_async(usr, "Admin jumping disabled") /client/proc/Getmob(mob/living/M as null|anything in mob_list) //VOREStation Edit - set category = "Admin" + set category = "Admin.Game" set name = "Get Mob" set desc = "Mob to teleport" set popup_menu = TRUE //VOREStation Edit if(!check_rights(R_ADMIN|R_MOD|R_DEBUG|R_EVENT)) return - if(config.allow_admin_jump) + if(CONFIG_GET(flag/allow_admin_jump)) if(!M) //VOREStation Edit M = tgui_input_list(usr, "Pick a mob:", "Get Mob", mob_list) //VOREStation Edit if(!M) @@ -149,14 +149,14 @@ tgui_alert_async(usr, "Admin jumping disabled") /client/proc/Getkey() - set category = "Admin" + set category = "Admin.Game" set name = "Get Key" set desc = "Key to teleport" if(!check_rights(R_ADMIN|R_MOD|R_DEBUG|R_EVENT)) return - if(config.allow_admin_jump) + if(CONFIG_GET(flag/allow_admin_jump)) var/list/keys = list() for(var/mob/M in player_list) keys += M.client @@ -179,12 +179,12 @@ tgui_alert_async(usr, "Admin jumping disabled") /client/proc/sendmob() - set category = "Admin" + set category = "Admin.Game" set name = "Send Mob" if(!check_rights(R_ADMIN|R_MOD|R_DEBUG|R_EVENT)) return - if(config.allow_admin_jump) + if(CONFIG_GET(flag/allow_admin_jump)) var/area/A = tgui_input_list(usr, "Pick an area:", "Send Mob", return_sorted_areas()) if(!A) return @@ -203,13 +203,13 @@ tgui_alert_async(usr, "Admin jumping disabled") /client/proc/cmd_admin_move_atom(var/atom/movable/AM, tx as num, ty as num, tz as num) - set category = "Admin" + set category = "Admin.Game" set name = "Move Atom to Coordinate" if(!check_rights(R_ADMIN|R_DEBUG|R_EVENT)) return - if(config.allow_admin_jump) + if(CONFIG_GET(flag/allow_admin_jump)) if(isnull(tx)) tx = tgui_input_number(usr, "Select X coordinate", "Move Atom", null, null) if(!tx) return @@ -221,7 +221,7 @@ if(!tz) return var/turf/T = locate(tx, ty, tz) if(!T) - to_chat(usr, "Those coordinates are outside the boundaries of the map.") + to_chat(usr, span_warning("Those coordinates are outside the boundaries of the map.")) return if(ismob(AM)) var/mob/M = AM diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index f0588eeb5c3..4a3473daa38 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -6,7 +6,7 @@ set category = null set name = "Admin PM Mob" if(!check_rights(R_ADMIN|R_MOD)) // YW EDIT: allows mods to also pm - to_chat(src, "Error: Admin-PM-Context: Only administrators may use this command.") + to_chat(src, span_admin_pm_warning("Error: Admin-PM-Context: Only administrators may use this command.")) return if( !ismob(M) || !M.client ) return @@ -18,7 +18,7 @@ set category = "Admin" set name = "Admin PM" if(!check_rights(R_ADMIN|R_MOD)) // YW EDIT: allows mods to also pm - to_chat(src, "Error: Admin-PM-Panel: Only administrators may use this command.") + to_chat(src, span_admin_pm_warning("Error: Admin-PM-Panel: Only administrators may use this command.")) return var/list/client/targets[0] for(var/client/T) @@ -39,7 +39,7 @@ /client/proc/cmd_ahelp_reply(whom) if(prefs.muted & MUTE_ADMINHELP) - to_chat(src, "Error: Admin-PM: You are unable to use admin PM-s (muted).") + to_chat(src, span_admin_pm_warning("Error: Admin-PM: You are unable to use admin PM-s (muted).")) return var/client/C if(istext(whom)) @@ -50,16 +50,16 @@ C = whom if(!C) if(holder) - to_chat(src, "Error: Admin-PM: Client not found.") + to_chat(src, span_admin_pm_warning("Error: Admin-PM: Client not found.")) return var/datum/admin_help/AH = C.current_ticket if(AH) - message_admins("[key_name_admin(src)] has started replying to [key_name(C, 0, 0)]'s admin help.") + message_admins(span_pm("[key_name_admin(src)] has started replying to [key_name(C, 0, 0)]'s admin help.")) var/msg = tgui_input_text(src,"Message:", "Private message to [key_name(C, 0, 0)]", multiline = TRUE) if (!msg) - message_admins("[key_name_admin(src)] has cancelled their reply to [key_name(C, 0, 0)]'s admin help.") + message_admins(span_pm("[key_name_admin(src)] has cancelled their reply to [key_name(C, 0, 0)]'s admin help.")) return cmd_admin_pm(whom, msg, AH) @@ -67,12 +67,12 @@ //Fetching a message if needed. src is the sender and C is the target client /client/proc/cmd_admin_pm(whom, msg, datum/admin_help/AH) if(prefs.muted & MUTE_ADMINHELP) - to_chat(src, "Error: Admin-PM: You are unable to use admin PM-s (muted).") + to_chat(src, span_admin_pm_warning("Error: Admin-PM: You are unable to use admin PM-s (muted).")) return if(!holder && !current_ticket) //no ticket? https://www.youtube.com/watch?v=iHSPf6x1Fdo - to_chat(src, "You can no longer reply to this ticket, please open another one by using the Adminhelp verb if need be.") - to_chat(src, "Message: [msg]") + to_chat(src, span_admin_pm_warning("You can no longer reply to this ticket, please open another one by using the Adminhelp verb if need be.")) + to_chat(src, span_admin_pm_notice("Message: [msg]")) return var/client/recipient @@ -97,14 +97,14 @@ if(!msg) return if(holder) - to_chat(src, "Error: Use the admin IRC channel, nerd.") + to_chat(src, span_admin_pm_warning("Error: Use the admin IRC channel, nerd.")) return else if(!recipient) if(holder) - to_chat(src, "Error: Admin-PM: Client not found.") + to_chat(src, span_admin_pm_warning("Error: Admin-PM: Client not found.")) to_chat(src, msg) else current_ticket.MessageNoRecipient(msg) @@ -118,12 +118,12 @@ return if(prefs.muted & MUTE_ADMINHELP) - to_chat(src, "Error: Admin-PM: You are unable to use admin PM-s (muted).") + to_chat(src, span_admin_pm_warning("Error: Admin-PM: You are unable to use admin PM-s (muted).")) return if(!recipient) if(holder) - to_chat(src, "Error: Admin-PM: Client not found.") + to_chat(src, span_admin_pm_warning("Error: Admin-PM: Client not found.")) else current_ticket.MessageNoRecipient(msg) return @@ -142,30 +142,30 @@ var/keywordparsedmsg = keywords_lookup(msg) if(irc) - to_chat(src, "PM to-Admins: [rawmsg]") - admin_ticket_log(src, "Reply PM from-[key_name(src, TRUE, TRUE)] to IRC: [keywordparsedmsg]") + to_chat(src, span_admin_pm_notice("PM to-Admins: [rawmsg]")) + admin_ticket_log(src, span_admin_pm_warning("Reply PM from-[key_name(src, TRUE, TRUE)] to IRC: [keywordparsedmsg]")) ircreplyamount-- send2irc("Reply: [ckey]",rawmsg) else if(recipient.holder) if(holder) //both are admins - to_chat(recipient, "Admin PM from-[key_name(src, recipient, 1)]: [keywordparsedmsg]") - to_chat(src, "Admin PM to-[key_name(recipient, src, 1)]: [keywordparsedmsg]") + to_chat(recipient, span_admin_pm_warning("Admin PM from-[key_name(src, recipient, 1)]: [keywordparsedmsg]")) + to_chat(src, span_admin_pm_notice("Admin PM to-[key_name(recipient, src, 1)]: [keywordparsedmsg]")) //omg this is dumb, just fill in both their tickets - var/interaction_message = "PM from-[key_name(src, recipient, 1)] to-[key_name(recipient, src, 1)]: [keywordparsedmsg]" + var/interaction_message = span_admin_pm_notice("PM from-[key_name(src, recipient, 1)] to-[key_name(recipient, src, 1)]: [keywordparsedmsg]") admin_ticket_log(src, interaction_message) if(recipient != src) //reeee admin_ticket_log(recipient, interaction_message) else //recipient is an admin but sender is not - var/replymsg = "Reply PM from-[key_name(src, recipient, 1)]: [keywordparsedmsg]" + var/replymsg = span_admin_pm_warning("Reply PM from-[key_name(src, recipient, 1)]: [keywordparsedmsg]") admin_ticket_log(src, replymsg) to_chat(recipient, replymsg) - to_chat(src, "PM to-Admins: [msg]") + to_chat(src, span_admin_pm_notice("PM to-Admins: [msg]")) //play the recieving admin the adminhelp sound (if they have them enabled) - if(recipient.is_preference_enabled(/datum/client_preference/holder/play_adminhelp_ping)) + if(recipient.prefs?.read_preference(/datum/preference/toggle/holder/play_adminhelp_ping)) recipient << 'sound/effects/adminhelp.ogg' else @@ -173,18 +173,18 @@ if(!recipient.current_ticket) new /datum/admin_help(msg, recipient, TRUE) - to_chat(recipient, "-- Administrator private message --") - to_chat(recipient, "Admin PM from-[key_name(src, recipient, 0)]: [msg]") - to_chat(recipient, "Click on the administrator's name to reply.") - to_chat(src, "Admin PM to-[key_name(recipient, src, 1)]: [msg]") + to_chat(recipient, span_admin_pm_warning(span_huge(span_bold("-- Administrator private message --")))) + to_chat(recipient, span_admin_pm_warning("Admin PM from-[key_name(src, recipient, 0)]: [msg]")) + to_chat(recipient, span_admin_pm_warning(span_italics("Click on the administrator's name to reply."))) + to_chat(src, span_admin_pm_notice("Admin PM to-[key_name(recipient, src, 1)]: [msg]")) - admin_ticket_log(recipient, "PM From [key_name_admin(src)]: [keywordparsedmsg]") + admin_ticket_log(recipient, span_admin_pm_notice("PM From [key_name_admin(src)]: [keywordparsedmsg]")) //always play non-admin recipients the adminhelp sound recipient << 'sound/effects/adminhelp.ogg' //AdminPM popup for ApocStation and anybody else who wants to use it. Set it with POPUP_ADMIN_PM in config.txt ~Carn - if(config.popup_admin_pm) + if(CONFIG_GET(flag/popup_admin_pm)) spawn() //so we don't hold the caller proc up var/sender = src var/sendername = key @@ -197,19 +197,23 @@ return else //neither are admins - to_chat(src, "Error: Admin-PM: Non-admin to non-admin PM communication is forbidden.") + to_chat(src, span_admin_pm_warning("Error: Admin-PM: Non-admin to non-admin PM communication is forbidden.")) return if(irc) log_admin("PM: [key_name(src)]->IRC: [rawmsg]") for(var/client/X in GLOB.admins) - to_chat(X, "PM: [key_name(src, X, 0)]->IRC: [keywordparsedmsg]") + if(!check_rights(R_ADMIN, 0, X)) + continue + to_chat(X, span_admin_pm_notice(span_bold("PM: [key_name(src, X, 0)]->IRC:") + " [keywordparsedmsg]")) else log_admin("PM: [key_name(src)]->[key_name(recipient)]: [rawmsg]") //we don't use message_admins here because the sender/receiver might get it too for(var/client/X in GLOB.admins) + if(!check_rights(R_ADMIN, 0, X)) + continue if(X.key!=key && X.key!=recipient.key) //check client/X is an admin and isn't the sender or recipient - to_chat(X, "PM: [key_name(src, X, 0)]->[key_name(recipient, X, 0)]: [keywordparsedmsg]" ) + to_chat(X, span_admin_pm_notice(span_bold("PM: [key_name(src, X, 0)]->[key_name(recipient, X, 0)]:") + " [keywordparsedmsg]")) /proc/IrcPm(target,msg,sender) var/client/C = GLOB.directory[target] @@ -258,11 +262,11 @@ message_admins("IRC message from [sender] to [key_name_admin(C)] : [msg]") log_admin("IRC PM: [sender] -> [key_name(C)] : [msg]") - to_chat(C, "-- Administrator private message --") - to_chat(C, "Admin PM from-[adminname]: [msg]") - to_chat(C, "Click on the administrator's name to reply.") + to_chat(C, span_admin_pm_warning(span_huge(span_bold("-- Administrator private message --")))) + to_chat(C, span_admin_pm_warning("Admin PM from-[adminname]: [msg]")) + to_chat(C, span_admin_pm_warning(span_italics("Click on the administrator's name to reply."))) - admin_ticket_log(C, "PM From [irc_tagged]: [msg]") + admin_ticket_log(C, span_admin_pm_notice("PM From [irc_tagged]: [msg]")) window_flash(C) //always play non-admin recipients the adminhelp sound diff --git a/code/modules/admin/verbs/adminsay.dm b/code/modules/admin/verbs/adminsay.dm index 041f6478d8c..db4cbfdd8de 100644 --- a/code/modules/admin/verbs/adminsay.dm +++ b/code/modules/admin/verbs/adminsay.dm @@ -1,5 +1,5 @@ /client/proc/cmd_admin_say(msg as text) - set category = "Special Verbs" + set category = "Admin.Chat" set name = "Asay" //Gave this shit a shorter name so you only have to time out "asay" rather than "admin say" to use it --NeoFite set hidden = 1 if(!check_rights(R_ADMIN)) //VOREStation Edit @@ -13,12 +13,12 @@ for(var/client/C in GLOB.admins) if(check_rights(R_ADMIN, 0, C)) - to_chat(C, "" + create_text_tag("admin", "ADMIN:", C) + " [key_name(usr, 1)]([admin_jump_link(mob, src)]): [msg]") + to_chat(C, span_admin_channel(create_text_tag("admin", "ADMIN:", C) + " " + span_name("[key_name(usr, 1)]") + "([admin_jump_link(mob, src)]): " + span_name("[msg]") )) feedback_add_details("admin_verb","M") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_mod_say(msg as text) - set category = "Special Verbs" + set category = "Admin.Chat" set name = "Msay" set hidden = 1 @@ -33,15 +33,15 @@ var/sender_name = key_name(usr, 1) if(check_rights(R_ADMIN, 0)) - sender_name = "[sender_name]" + sender_name = span_admin("[sender_name]") for(var/client/C in GLOB.admins) - if(check_rights(R_ADMIN|R_MOD|R_SERVER, 0, C)) //VOREStation Edit //YW Edit, fix issue with C missing from check_rights, so all admins could see mchat - to_chat(C, "" + create_text_tag("mod", "MOD:", C) + " [sender_name]([admin_jump_link(mob, C.holder)]): [msg]") + if(check_rights(R_ADMIN|R_MOD, 0, C)) //VOREStation Edit //YW Edit, fix issue with C missing from check_rights, so all admins could see mchat + to_chat(C, span_mod_channel(create_text_tag("mod", "MOD:", C) + " " + span_name("[sender_name]") + "([admin_jump_link(mob, C.holder)]): " + span_name("[msg]") )) feedback_add_details("admin_verb","MS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_event_say(msg as text) - set category = "Special Verbs" + set category = "Admin.Chat" set name = "Esay" set hidden = 1 @@ -56,8 +56,8 @@ var/sender_name = key_name(usr, 1) if(check_rights(R_ADMIN, 0)) - sender_name = "[sender_name]" + sender_name = span_admin("[sender_name]") for(var/client/C in GLOB.admins) - to_chat(C, "" + create_text_tag("event", "EVENT:", C) + " [sender_name]([admin_jump_link(mob, C.holder)]): [msg]") + to_chat(C, span_event_channel(create_text_tag("event", "EVENT:", C) + " " + span_name("[sender_name]") + "([admin_jump_link(mob, C.holder)]): " + span_name("[msg]") )) feedback_add_details("admin_verb","GS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! diff --git a/code/modules/admin/verbs/antag-ooc.dm b/code/modules/admin/verbs/antag-ooc.dm index 79edaf15d9f..0d2b6e4fe8b 100644 --- a/code/modules/admin/verbs/antag-ooc.dm +++ b/code/modules/admin/verbs/antag-ooc.dm @@ -1,5 +1,5 @@ /client/proc/aooc(msg as text) - set category = "OOC" + set category = "OOC.Chat" set name = "AOOC" set desc = "Antagonist OOC" @@ -7,13 +7,13 @@ var/is_antag = usr.mind && usr.mind.special_role if(!is_antag && !is_admin) // Non-antagonists and non-admins have no business using this. - to_chat(usr, "Sorry, but only certain antagonists or administrators can use this verb.") + to_chat(usr, span_warning("Sorry, but only certain antagonists or administrators can use this verb.")) return else if(is_antag && !is_admin) // Is an antag, and not an admin, meaning we need to check if their antag type allows AOOC. var/datum/antagonist/A = get_antag_data(usr.mind.special_role) if(!A || !A.can_speak_aooc || !A.can_hear_aooc) - to_chat(usr, "Sorry, but your antagonist type is not allowed to speak in AOOC.") + to_chat(usr, span_warning("Sorry, but your antagonist type is not allowed to speak in AOOC.")) return msg = sanitize(msg) @@ -31,12 +31,12 @@ for(var/mob/M in mob_list) if(check_rights(R_ADMIN|R_MOD|R_EVENT, 0, M)) // Staff can see AOOC unconditionally, and with more details. - to_chat(M, "[create_text_tag("aooc", "Antag-OOC:", M.client)] [get_options_bar(src, 0, 1, 1)]([admin_jump_link(usr, M.client.holder)]): [msg]") + to_chat(M, span_ooc(span_aooc("[create_text_tag("aooc", "Antag-OOC:", M.client)] [get_options_bar(src, 0, 1, 1)]([admin_jump_link(usr, M.client.holder)]): " + span_message("[msg]")))) else if(M.client) // Players can only see AOOC if observing, or if they are an antag type allowed to use AOOC. var/datum/antagonist/A = null if(M.mind) // Observers don't have minds, but they should still see AOOC. A = get_antag_data(M.mind.special_role) if((M.mind && M.mind.special_role && A && A.can_hear_aooc) || isobserver(M)) // Antags must have their type be allowed to AOOC to see AOOC. This prevents, say, ERT from seeing AOOC. - to_chat(M, "[create_text_tag("aooc", "Antag-OOC:", M.client)] [player_display]: [msg]") + to_chat(M, span_ooc(span_aooc("[create_text_tag("aooc", "Antag-OOC:", M.client)] [player_display]: " + span_message("[msg]")))) - log_aooc(msg,src) \ No newline at end of file + log_aooc(msg,src) diff --git a/code/modules/admin/verbs/atmosdebug.dm b/code/modules/admin/verbs/atmosdebug.dm index 64c33419d0d..d00ca4ce3f2 100644 --- a/code/modules/admin/verbs/atmosdebug.dm +++ b/code/modules/admin/verbs/atmosdebug.dm @@ -7,24 +7,24 @@ feedback_add_details("admin_verb","CP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - if(tgui_alert(usr, "WARNING: This command should not be run on a live server. Do you want to continue?", "Check Piping", list("No", "Yes")) == "No") + if(tgui_alert(usr, "WARNING: This command should not be run on a live server. Do you want to continue?", "Check Piping", list("No", "Yes")) != "Yes") return to_chat(usr, "Checking for disconnected pipes...") //all plumbing - yes, some things might get stated twice, doesn't matter. for (var/obj/machinery/atmospherics/plumbing in machines) if (plumbing.nodealert) - to_chat(usr, "Unconnected [plumbing.name] located at [plumbing.x],[plumbing.y],[plumbing.z] ([get_area(plumbing.loc)])") + to_chat(usr, span_filter_adminlog(span_warning("Unconnected [plumbing.name] located at [plumbing.x],[plumbing.y],[plumbing.z] ([get_area(plumbing.loc)])"))) //Manifolds for (var/obj/machinery/atmospherics/pipe/manifold/pipe in machines) if (!pipe.node1 || !pipe.node2 || !pipe.node3) - to_chat(usr, "Unconnected [pipe.name] located at [pipe.x],[pipe.y],[pipe.z] ([get_area(pipe.loc)])") + to_chat(usr, span_filter_adminlog(span_warning("Unconnected [pipe.name] located at [pipe.x],[pipe.y],[pipe.z] ([get_area(pipe.loc)])"))) //Pipes for (var/obj/machinery/atmospherics/pipe/simple/pipe in machines) if (!pipe.node1 || !pipe.node2) - to_chat(usr, "Unconnected [pipe.name] located at [pipe.x],[pipe.y],[pipe.z] ([get_area(pipe.loc)])") + to_chat(usr, span_filter_adminlog(span_warning("Unconnected [pipe.name] located at [pipe.x],[pipe.y],[pipe.z] ([get_area(pipe.loc)])"))) to_chat(usr, "Checking for overlapping pipes...") next_turf: @@ -36,7 +36,7 @@ for(var/connect_type in pipe.connect_types) connect_types[connect_type] += 1 if(connect_types[1] > 1 || connect_types[2] > 1 || connect_types[3] > 1) - to_chat(usr, "Overlapping pipe ([pipe.name]) located at [T.x],[T.y],[T.z] ([get_area(T)])") + to_chat(usr, span_filter_adminlog(span_warning("Overlapping pipe ([pipe.name]) located at [T.x],[T.y],[T.z] ([get_area(T)])"))) continue next_turf to_chat(usr, "Done") @@ -52,9 +52,9 @@ if (!PN.nodes || !PN.nodes.len) if(PN.cables && (PN.cables.len > 1)) var/obj/structure/cable/C = PN.cables[1] - to_chat(usr, "Powernet with no nodes! (number [PN.number]) - example cable at [C.x], [C.y], [C.z] in area [get_area(C.loc)]") + to_chat(usr, span_filter_adminlog("Powernet with no nodes! (number [PN.number]) - example cable at [C.x], [C.y], [C.z] in area [get_area(C.loc)]")) if (!PN.cables || (PN.cables.len < 10)) if(PN.cables && (PN.cables.len > 1)) var/obj/structure/cable/C = PN.cables[1] - to_chat(usr, "Powernet with fewer than 10 cables! (number [PN.number]) - example cable at [C.x], [C.y], [C.z] in area [get_area(C.loc)]") + to_chat(usr, span_filter_adminlog("Powernet with fewer than 10 cables! (number [PN.number]) - example cable at [C.x], [C.y], [C.z] in area [get_area(C.loc)]")) diff --git a/code/modules/admin/verbs/buildmode.dm b/code/modules/admin/verbs/buildmode.dm index ebfdd9b1957..aa3efca68dc 100644 --- a/code/modules/admin/verbs/buildmode.dm +++ b/code/modules/admin/verbs/buildmode.dm @@ -91,17 +91,17 @@ switch(master.cl.buildmode) if(BUILDMODE_BASIC) - to_chat(usr, "***********************************************************
    \ + to_chat(usr, span_notice("***********************************************************
    \ Left Mouse Button = Construct / Upgrade
    \ Right Mouse Button = Deconstruct / Delete / Downgrade
    \ Left Mouse Button + ctrl = R-Window
    \ Left Mouse Button + alt = Airlock

    \ Use the button in the upper left corner to
    \ change the direction of built objects.
    \ - ***********************************************************
    ") + ***********************************************************")) if(BUILDMODE_ADVANCED) - to_chat(usr, "***********************************************************
    \ + to_chat(usr, span_notice("***********************************************************
    \ Right Mouse Button on buildmode button = Set object type
    \ Middle Mouse Button on buildmode button= On/Off object type saying
    \ Middle Mouse Button on turf/obj = Capture object type
    \ @@ -110,49 +110,49 @@ Mouse Button + ctrl = Copy object type

    \ Use the button in the upper left corner to
    \ change the direction of built objects.
    \ - ***********************************************************
    ") + ***********************************************************")) if(BUILDMODE_EDIT) - to_chat(usr, "***********************************************************
    \ + to_chat(usr, span_notice("***********************************************************
    \ Right Mouse Button on buildmode button = Select var(type) & value
    \ Left Mouse Button on turf/obj/mob = Set var(type) & value
    \ Right Mouse Button on turf/obj/mob = Reset var's value
    \ - ***********************************************************
    ") + ***********************************************************")) if(BUILDMODE_THROW) - to_chat(usr, "***********************************************************
    \ + to_chat(usr, span_notice("***********************************************************
    \ Left Mouse Button on turf/obj/mob = Select
    \ Right Mouse Button on turf/obj/mob = Throw
    \ - ***********************************************************
    ") + ***********************************************************")) if(BUILDMODE_ROOM) - to_chat(usr, "***********************************************************
    \ + to_chat(usr, span_notice("***********************************************************
    \ Left Mouse Button on turf = Select as point A
    \ Right Mouse Button on turf = Select as point B
    \ Right Mouse Button on buildmode button = Change floor/wall type/area name
    \ - ***********************************************************
    ") + ***********************************************************")) if(BUILDMODE_LADDER) - to_chat(usr, "***********************************************************
    \ + to_chat(usr, span_notice("***********************************************************
    \ Left Mouse Button on turf = Set as upper ladder loc
    \ Right Mouse Button on turf = Set as lower ladder loc
    \ - ***********************************************************
    ") + ***********************************************************")) if(BUILDMODE_CONTENTS) - to_chat(usr, "***********************************************************
    \ + to_chat(usr, span_notice("***********************************************************
    \ Left Mouse Button on turf/obj/mob = Select
    \ Right Mouse Button on turf/obj/mob = Move into selection
    \ - ***********************************************************
    ") + ***********************************************************")) if(BUILDMODE_LIGHTS) - to_chat(usr, "***********************************************************
    \ + to_chat(usr, span_notice("***********************************************************
    \ Left Mouse Button on turf/obj/mob = Make it glow
    \ Right Mouse Button on turf/obj/mob = Reset glowing
    \ Right Mouse Button on buildmode button = Change glow properties
    \ - ***********************************************************
    ") + ***********************************************************")) if(BUILDMODE_AI) - to_chat(usr, "***********************************************************
    \ + to_chat(usr, span_notice("***********************************************************
    \ Left Mouse Button drag box = Select only mobs in box
    \ Left Mouse Button drag box + shift = Select additional mobs in area
    \ Left Mouse Button on non-mob = Deselect all mobs
    \ @@ -171,17 +171,17 @@ Right Mouse Button on tile = Command selected mobs to move to tile (will cancel if enemies are seen)
    \ Right Mouse Button + shift on tile = Command selected mobs to reposition to tile (will not be interrupted by enemies)
    \ Right Mouse Button + alt on obj/turfs = Command selected mobs to attack obj/turf
    \ - ***********************************************************
    ") + ***********************************************************")) if(BUILDMODE_DROP) - to_chat(usr, "***********************************************************
    \ + to_chat(usr, span_notice("***********************************************************
    \ Right Mouse Button on buildmode button = Set object type
    \ Middle Mouse Button on buildmode button= On/Off object type saying
    \ Middle Mouse Button on turf/obj = Capture object type
    \ Left Mouse Button on turf/obj = Drop objects safely
    \ Right Mouse Button = Drop objects unsafely
    \ Mouse Button + ctrl = Copy object type

    \ - ***********************************************************
    ") + ***********************************************************")) return 1 /obj/effect/bmode/buildquit @@ -292,15 +292,16 @@ master.buildmode.valueholder = tgui_input_list(usr,"Enter variable value:", "Value", world) if(BUILDMODE_ROOM) - var/area_choice = tgui_alert(usr, "Would you like to generate a new area as well?","Room Builder", list("No", "Yes")) - switch(area_choice) + switch(tgui_alert(usr, "Would you like to generate a new area as well?","Room Builder", list("No", "Yes"))) + if(null) + return if("No") area_enabled = 0 if("Yes") area_enabled = 1 area_name = tgui_input_text(usr, "New area name", "Room Buildmode", max_length = MAX_NAME_LEN) if(isnull(area_name)) - to_chat(usr, "You must enter a non-null name.") + to_chat(usr, span_notice("You must enter a non-null name.")) area_enabled = 0 return area_name = sanitize(area_name,MAX_NAME_LEN) @@ -416,7 +417,7 @@ qdel(object) else if(pa.Find("ctrl")) holder.buildmode.objholder = object.type - to_chat(user, "[object]([object.type]) copied to buildmode.") + to_chat(user, span_notice("[object]([object.type]) copied to buildmode.")) if(pa.Find("middle")) holder.buildmode.objholder = text2path("[object.type]") if(holder.buildmode.objsay) @@ -428,13 +429,13 @@ log_admin("[key_name(usr)] modified [object.name]'s [holder.buildmode.varholder] to [holder.buildmode.valueholder]") object.vars[holder.buildmode.varholder] = holder.buildmode.valueholder else - to_chat(user, "[initial(object.name)] does not have a var called '[holder.buildmode.varholder]'") + to_chat(user, span_danger("[initial(object.name)] does not have a var called '[holder.buildmode.varholder]'")) if(pa.Find("right")) if(object.vars.Find(holder.buildmode.varholder)) log_admin("[key_name(usr)] modified [object.name]'s [holder.buildmode.varholder] to [holder.buildmode.valueholder]") object.vars[holder.buildmode.varholder] = initial(object.vars[holder.buildmode.varholder]) else - to_chat(user, "[initial(object.name)] does not have a var called '[holder.buildmode.varholder]'") + to_chat(user, span_danger("[initial(object.name)] does not have a var called '[holder.buildmode.varholder]'")) if(BUILDMODE_THROW) if(pa.Find("left")) @@ -448,19 +449,19 @@ if(BUILDMODE_ROOM) if(pa.Find("left")) holder.buildmode.coordA = get_turf(object) - to_chat(user, "Defined [object] ([object.type]) as point A.") + to_chat(user, span_notice("Defined [object] ([object.type]) as point A.")) if(pa.Find("right")) holder.buildmode.coordB = get_turf(object) - to_chat(user, "Defined [object] ([object.type]) as point B.") + to_chat(user, span_notice("Defined [object] ([object.type]) as point B.")) if(holder.buildmode.coordA && holder.buildmode.coordB) if(isnull(holder.buildmode.area_name)) - to_chat(user, "ERROR: Insert area name before use.") + to_chat(user, span_notice("ERROR: Insert area name before use.")) holder.buildmode.coordA = null holder.buildmode.coordB = null return - to_chat(user, "A and B set, creating rectangle.") + to_chat(user, span_notice("A and B set, creating rectangle.")) holder.buildmode.make_rectangle( holder.buildmode.coordA, holder.buildmode.coordB, @@ -474,14 +475,14 @@ if(BUILDMODE_LADDER) if(pa.Find("left")) holder.buildmode.coordA = get_turf(object) - to_chat(user, "Defined [object] ([object.type]) as upper ladder location.") + to_chat(user, span_notice("Defined [object] ([object.type]) as upper ladder location.")) if(pa.Find("right")) holder.buildmode.coordB = get_turf(object) - to_chat(user, "Defined [object] ([object.type]) as lower ladder location.") + to_chat(user, span_notice("Defined [object] ([object.type]) as lower ladder location.")) if(holder.buildmode.coordA && holder.buildmode.coordB) - to_chat(user, "Ladder locations set, building ladders.") + to_chat(user, span_notice("Ladder locations set, building ladders.")) var/obj/structure/ladder/A = new /obj/structure/ladder/up(holder.buildmode.coordA) var/obj/structure/ladder/B = new /obj/structure/ladder(holder.buildmode.coordB) A.target_up = B @@ -520,13 +521,13 @@ var/datum/ai_holder/AI = L.ai_holder if(stance == STANCE_SLEEP) AI.go_wake() - to_chat(user, span("notice", "\The [L]'s AI has been enabled.")) + to_chat(user, span_notice("\The [L]'s AI has been enabled.")) else AI.go_sleep() - to_chat(user, span("notice", "\The [L]'s AI has been disabled.")) + to_chat(user, span_notice("\The [L]'s AI has been disabled.")) return else - to_chat(user, span("warning", "\The [L] is not AI controlled.")) + to_chat(user, span_warning("\The [L] is not AI controlled.")) return // Toggle hostility @@ -534,28 +535,28 @@ if(!isnull(L.get_AI_stance())) var/datum/ai_holder/AI = L.ai_holder AI.hostile = !AI.hostile - to_chat(user, span("notice", "\The [L] is now [AI.hostile ? "hostile" : "passive"].")) + to_chat(user, span_notice("\The [L] is now [AI.hostile ? "hostile" : "passive"].")) else - to_chat(user, span("warning", "\The [L] is not AI controlled.")) + to_chat(user, span_warning("\The [L] is not AI controlled.")) return // Copy faction if(pa.Find("ctrl")) holder.copied_faction = L.faction - to_chat(user, span("notice", "Copied faction '[holder.copied_faction]'.")) + to_chat(user, span_notice("Copied faction '[holder.copied_faction]'.")) return // Select/Deselect if(!isnull(L.get_AI_stance())) if(L in holder.selected_mobs) holder.deselect_AI_mob(user.client, L) - to_chat(user, span("notice", "Deselected \the [L].")) + to_chat(user, span_notice("Deselected \the [L].")) else holder.select_AI_mob(user.client, L) - to_chat(user, span("notice", "Selected \the [L].")) + to_chat(user, span_notice("Selected \the [L].")) return else - to_chat(user, span("warning", "\The [L] is not AI controlled.")) + to_chat(user, span_warning("\The [L] is not AI controlled.")) return else //Not living for(var/mob/living/unit in holder.selected_mobs) @@ -563,17 +564,17 @@ if(pa.Find("middle")) if(pa.Find("shift")) - to_chat(user, SPAN_NOTICE("All selected mobs set to wander")) + to_chat(user, span_notice("All selected mobs set to wander")) for(var/mob/living/unit in holder.selected_mobs) var/datum/ai_holder/AI = unit.ai_holder AI.wander = TRUE if(pa.Find("ctrl")) - to_chat(user, SPAN_NOTICE("Setting mobs set to NOT wander")) + to_chat(user, span_notice("Setting mobs set to NOT wander")) for(var/mob/living/unit in holder.selected_mobs) var/datum/ai_holder/AI = unit.ai_holder AI.wander = FALSE if(pa.Find("alt") && isatom(object)) - to_chat(user, SPAN_NOTICE("Adding [object] to Entity Narrate List!")) + to_chat(user, span_notice("Adding [object] to Entity Narrate List!")) user.client.add_mob_for_narration(object) @@ -581,12 +582,12 @@ // Paste faction if(pa.Find("ctrl") && isliving(object)) if(!holder.copied_faction) - to_chat(user, span("warning", "LMB+Shift a mob to copy their faction before pasting.")) + to_chat(user, span_warning("LMB+Shift a mob to copy their faction before pasting.")) return else var/mob/living/L = object L.faction = holder.copied_faction - to_chat(user, span("notice", "Pasted faction '[holder.copied_faction]'.")) + to_chat(user, span_notice("Pasted faction '[holder.copied_faction]'.")) return if(istype(object, /atom)) // Force attack. @@ -598,7 +599,7 @@ var/datum/ai_holder/AI = unit.ai_holder AI.give_target(A) i++ - to_chat(user, span("notice", "Commanded [i] mob\s to attack \the [A].")) + to_chat(user, span_notice("Commanded [i] mob\s to attack \the [A].")) var/image/orderimage = image(buildmode_hud,A,"ai_targetorder") orderimage.plane = PLANE_BUILDMODE flick_overlay(orderimage, list(user.client), 8, TRUE) @@ -625,7 +626,7 @@ message += "." if(j) message += "[j] mob\s to follow \the [L]." - to_chat(user, span("notice", message)) + to_chat(user, span_notice(message)) var/image/orderimage = image(buildmode_hud,L,"ai_targetorder") orderimage.plane = PLANE_BUILDMODE flick_overlay(orderimage, list(user.client), 8, TRUE) @@ -644,7 +645,7 @@ else AI.give_destination(T, 1, pa.Find("shift")) // If shift is held, the mobs will not stop moving to attack a visible enemy. told++ - to_chat(user, span("notice", "Commanded [told] mob\s to move to \the [T], and manually placed [forced] of them.")) + to_chat(user, span_notice("Commanded [told] mob\s to move to \the [T], and manually placed [forced] of them.")) var/image/orderimage = image(buildmode_hud,T,"ai_turforder") orderimage.plane = PLANE_BUILDMODE flick_overlay(orderimage, list(user.client), 8, TRUE) @@ -653,7 +654,7 @@ if(BUILDMODE_DROP) if(ispath(holder.buildmode.objholder,/turf)) - to_chat(user, "Cannot use turfs with this mode.") + to_chat(user, span_warning("Cannot use turfs with this mode.")) return if(pa.Find("left") && !pa.Find("ctrl")) if(ispath(holder.buildmode.objholder)) @@ -665,7 +666,7 @@ FE.crushing = TRUE else if(pa.Find("ctrl")) holder.buildmode.objholder = object.type - to_chat(user, "[object]([object.type]) copied to buildmode.") + to_chat(user, span_notice("[object]([object.type]) copied to buildmode.")) if(pa.Find("middle")) holder.buildmode.objholder = text2path("[object.type]") if(holder.buildmode.objsay) @@ -707,7 +708,7 @@ holder.select_AI_mob(user, L) i++ - to_chat(user, span("notice", "Band-selected [i] mobs.")) + to_chat(user, span_notice("Band-selected [i] mobs.")) return /obj/effect/bmode/buildmode/proc/get_path_from_partial_text(default_path) @@ -829,9 +830,9 @@ if (!isturf(NT) || (NT in found) || (NT in pending)) continue // We ask ZAS to determine if its airtight. Thats what matters anyway right? - if(air_master.air_blocked(T, NT)) + if(SSair.air_blocked(T, NT)) // Okay thats the edge of the room - if(get_area_type_buildmode(NT.loc) == AREA_SPACE && air_master.air_blocked(NT, NT)) + if(get_area_type_buildmode(NT.loc) == AREA_SPACE && SSair.air_blocked(NT, NT)) found += NT // So we include walls/doors not already in any area continue if (istype(NT, /turf/space)) diff --git a/code/modules/admin/verbs/change_appearance.dm b/code/modules/admin/verbs/change_appearance.dm index 2cafd14ee4e..ed0f3266f20 100644 --- a/code/modules/admin/verbs/change_appearance.dm +++ b/code/modules/admin/verbs/change_appearance.dm @@ -1,7 +1,7 @@ /client/proc/change_human_appearance_admin() set name = "Change Mob Appearance - Admin" set desc = "Allows you to change the mob appearance" - set category = "Admin" + set category = "Admin.Events" if(!check_rights(R_FUN)) return @@ -15,7 +15,7 @@ /client/proc/change_human_appearance_self() set name = "Change Mob Appearance - Self" set desc = "Allows the mob to change its appearance" - set category = "Admin" + set category = "Admin.Events" if(!check_rights(R_FUN)) return @@ -23,7 +23,7 @@ if(!H) return if(!H.client) - to_chat(usr, " Only mobs with clients can alter their own appearance.") + to_chat(usr, span_filter_warning(" Only mobs with clients can alter their own appearance.")) return var/datum/gender/T = gender_datums[H.get_visible_gender()] switch(tgui_alert(usr, "Do you wish for [H] to be allowed to select non-whitelisted races?","Alter Mob Appearance","Yes","No","Cancel")) @@ -37,18 +37,17 @@ /client/proc/editappear() set name = "Edit Appearance" - set category = "Fun" + set category = "Fun.Event Kit" if(!check_rights(R_FUN)) return var/mob/living/carbon/human/M = tgui_input_list(usr, "Select mob.", "Edit Appearance", human_mob_list) if(!istype(M, /mob/living/carbon/human)) - to_chat(usr, "You can only do this to humans!") + to_chat(usr, span_warning("You can only do this to humans!")) + return + if(tgui_alert(usr, "Are you sure you wish to edit this mob's appearance? Skrell, Unathi, Tajaran can result in unintended consequences.","Danger!",list("Yes","No")) != "Yes") return - switch(tgui_alert(usr, "Are you sure you wish to edit this mob's appearance? Skrell, Unathi, Tajaran can result in unintended consequences.","Danger!",list("Yes","No"))) - if("No") - return var/new_facial = input(usr, "Please select facial hair color.", "Character Generation") as color if(new_facial) M.r_facial = hex2num(copytext(new_facial, 2, 4)) @@ -96,4 +95,4 @@ M.update_dna(M) M.update_hair(FALSE) - M.update_icons_body() \ No newline at end of file + M.update_icons_body() diff --git a/code/modules/admin/verbs/check_customitem_activity.dm b/code/modules/admin/verbs/check_customitem_activity.dm index b375b9e67b6..796a48368dc 100644 --- a/code/modules/admin/verbs/check_customitem_activity.dm +++ b/code/modules/admin/verbs/check_customitem_activity.dm @@ -2,10 +2,10 @@ var/checked_for_inactives = 0 var/inactive_keys = "None
    " /client/proc/check_customitem_activity() - set category = "Admin" + set category = "Admin.Investigate" set name = "Check activity of players with custom items" - var/dat = "Inactive players with custom items
    " + var/dat = span_bold("Inactive players with custom items") + "
    " dat += "
    " dat += "The list below contains players with custom items that have not logged\ in for the past two months, or have not logged in since this system was implemented.\ @@ -76,7 +76,7 @@ var/inactive_keys = "None
    " inactive_keys = "" for(var/cur_key in inactive_ckeys) if(inactive_ckeys[cur_key]) - inactive_keys += "[cur_key] - [inactive_ckeys[cur_key]]
    " + inactive_keys += span_bold("[cur_key]") + " - [inactive_ckeys[cur_key]]
    " else inactive_keys += "[cur_key] - no database entry
    " diff --git a/code/modules/admin/verbs/cinematic.dm b/code/modules/admin/verbs/cinematic.dm index 477f2f032c7..db6e44be73e 100644 --- a/code/modules/admin/verbs/cinematic.dm +++ b/code/modules/admin/verbs/cinematic.dm @@ -1,16 +1,17 @@ /client/proc/cinematic(var/cinematic as anything in list("explosion",null)) set name = "Cinematic" - set category = "Fun" + set category = "Fun.Do Not" set desc = "Shows a cinematic." // Intended for testing but I thought it might be nice for events on the rare occasion Feel free to comment it out if it's not wanted. if(!check_rights(R_FUN)) return - if(tgui_alert(usr, "Are you sure you want to run [cinematic]?","Confirmation",list("Yes","No"))=="No") return + if(tgui_alert(usr, "Are you sure you want to run [cinematic]?","Confirmation",list("Yes","No")) != "Yes") return if(!ticker) return switch(cinematic) if("explosion") - if(tgui_alert(usr, "The game will be over. Are you really sure?", "Confirmation", list("Continue","Cancel")) == "Cancel") + var/input = tgui_alert(usr, "The game will be over. Are you really sure?", "Confirmation", list("Continue","Cancel")) + if(!input || input == "Cancel") return var/parameter = tgui_input_number(src,"station_missed = ?","Enter Parameter",0,1,0) var/override @@ -24,4 +25,4 @@ log_admin("[key_name(src)] launched cinematic \"[cinematic]\"") message_admins("[key_name_admin(src)] launched cinematic \"[cinematic]\"", 1) - return \ No newline at end of file + return diff --git a/code/modules/admin/verbs/custom_event.dm b/code/modules/admin/verbs/custom_event.dm index de4032f9662..dc699dfa573 100644 --- a/code/modules/admin/verbs/custom_event.dm +++ b/code/modules/admin/verbs/custom_event.dm @@ -1,6 +1,6 @@ // verb for admins to set custom event /client/proc/cmd_admin_change_custom_event() - set category = "Fun" + set category = "Fun.Event Kit" set name = "Change Custom Event" if(!holder) @@ -19,10 +19,10 @@ custom_event_msg = input - to_world("

    Custom Event

    ") - to_world("

    A custom event is starting. OOC Info:

    ") - to_world("[custom_event_msg]") - to_world("
    ") + to_world(span_filter_system("

    [span_alert("Custom Event")]

    ")) + to_world(span_filter_system("

    [span_alert("A custom event is starting. OOC Info:")]

    ")) + to_world(span_filter_system(span_alert("[custom_event_msg]"))) + to_world(span_filter_system("
    ")) SSwebhooks.send( WEBHOOK_CUSTOM_EVENT, @@ -33,14 +33,14 @@ // normal verb for players to view info /client/verb/cmd_view_custom_event() - set category = "OOC" + set category = "OOC.Game" set name = "Custom Event Info" if(!custom_event_msg || custom_event_msg == "") - to_chat(src, "There currently is no known custom event taking place.") - to_chat(src, "Keep in mind: it is possible that an admin has not properly set this.") + to_chat(src, span_filter_notice("There currently is no known custom event taking place.")) + to_chat(src, span_filter_notice("Keep in mind: it is possible that an admin has not properly set this.")) return - to_chat(src, "

    Custom Event

    ") - to_chat(src, "

    A custom event is taking place. OOC Info:

    ") - to_chat(src, "[custom_event_msg]
    ") + to_chat(src, "

    [span_filter_notice(span_alert("Custom Event"))]

    ") + to_chat(src, "

    [span_filter_notice(span_alert("A custom event is taking place. OOC Info:"))]

    ") + to_chat(src, span_filter_notice(span_alert("[custom_event_msg]
    "))) diff --git a/code/modules/admin/verbs/deadsay.dm b/code/modules/admin/verbs/deadsay.dm index b459c5cd482..a46068d0b7c 100644 --- a/code/modules/admin/verbs/deadsay.dm +++ b/code/modules/admin/verbs/deadsay.dm @@ -1,5 +1,5 @@ /client/proc/dsay(msg as text) - set category = "Special Verbs" + set category = "Admin.Chat" set name = "Dsay" //Gave this shit a shorter name so you only have to time out "dsay" rather than "dead say" to use it --NeoFite set hidden = 1 if(!src.holder) @@ -8,11 +8,11 @@ if(!src.mob) return if(prefs.muted & MUTE_DEADCHAT) - to_chat(src, "You cannot send DSAY messages (muted).") + to_chat(src, span_warning("You cannot send DSAY messages (muted).")) return - if(!is_preference_enabled(/datum/client_preference/show_dsay)) - to_chat(src, "You have deadchat muted.") + if(!prefs?.read_preference(/datum/preference/toggle/show_dsay)) + to_chat(src, span_warning("You have deadchat muted.")) return if (src.handle_spam_prevention(msg,MUTE_DEADCHAT)) @@ -26,6 +26,6 @@ if (!msg) return - say_dead_direct("[stafftype]([src.holder.fakekey ? src.holder.fakekey : src.key]) says, \"[msg]\"") + say_dead_direct(span_name("[stafftype]([src.holder.fakekey ? src.holder.fakekey : src.key])") + " says, " + span_message("\"[msg]\"")) feedback_add_details("admin_verb","D") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 33163b8b450..eeee654f7b7 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -1,5 +1,5 @@ /client/proc/Debug2() - set category = "Debug" + set category = "Debug.Investigate" set name = "Debug-Game" if(!check_rights(R_DEBUG)) return @@ -18,7 +18,7 @@ /client/proc/simple_DPS() set name = "Simple DPS" - set category = "Debug" + set category = "Debug.Investigate" set desc = "Gives a really basic idea of how much hurt something in-hand does." var/obj/item/I = null @@ -27,7 +27,7 @@ user = usr I = user.get_active_hand() if(!I || !istype(I)) - to_chat(user, "You need to have something in your active hand, to use this verb.") + to_chat(user, span_warning("You need to have something in your active hand, to use this verb.")) return var/weapon_attack_speed = user.get_attack_speed(I) / 10 var/weapon_damage = I.force @@ -38,42 +38,42 @@ weapon_damage *= M.outgoing_melee_damage_percent modified_damage_percent *= M.outgoing_melee_damage_percent - if(istype(I, /obj/item/weapon/gun)) - var/obj/item/weapon/gun/G = I + if(istype(I, /obj/item/gun)) + var/obj/item/gun/G = I var/obj/item/projectile/P - if(istype(I, /obj/item/weapon/gun/energy)) - var/obj/item/weapon/gun/energy/energy_gun = G + if(istype(I, /obj/item/gun/energy)) + var/obj/item/gun/energy/energy_gun = G P = new energy_gun.projectile_type() - else if(istype(I, /obj/item/weapon/gun/projectile)) - var/obj/item/weapon/gun/projectile/projectile_gun = G + else if(istype(I, /obj/item/gun/projectile)) + var/obj/item/gun/projectile/projectile_gun = G var/obj/item/ammo_casing/ammo = projectile_gun.chambered P = ammo.BB else - to_chat(user, "DPS calculation by this verb is not supported for \the [G]'s type. Energy or Ballistic only, sorry.") + to_chat(user, span_warning("DPS calculation by this verb is not supported for \the [G]'s type. Energy or Ballistic only, sorry.")) weapon_damage = P.damage weapon_attack_speed = G.fire_delay / 10 qdel(P) var/DPS = weapon_damage / weapon_attack_speed - to_chat(user, "Damage: [weapon_damage][modified_damage_percent != 1 ? " (Modified by [modified_damage_percent*100]%)":""]") - to_chat(user, "Attack Speed: [weapon_attack_speed]/s") - to_chat(user, "\The [I] does [DPS] damage per second.") + to_chat(user, span_notice("Damage: [weapon_damage][modified_damage_percent != 1 ? " (Modified by [modified_damage_percent*100]%)":""]")) + to_chat(user, span_notice("Attack Speed: [weapon_attack_speed]/s")) + to_chat(user, span_notice("\The [I] does [DPS] damage per second.")) if(DPS > 0) - to_chat(user, "At your maximum health ([user.getMaxHealth()]), it would take approximately;") - to_chat(user, "[(user.getMaxHealth() - config.health_threshold_softcrit) / DPS] seconds to softcrit you. ([config.health_threshold_softcrit] health)") - to_chat(user, "[(user.getMaxHealth() - config.health_threshold_crit) / DPS] seconds to hardcrit you. ([config.health_threshold_crit] health)") - to_chat(user, "[(user.getMaxHealth() - config.health_threshold_dead) / DPS] seconds to kill you. ([config.health_threshold_dead] health)") + to_chat(user, span_notice("At your maximum health ([user.getMaxHealth()]), it would take approximately;")) + to_chat(user, span_notice("[(user.getMaxHealth() - CONFIG_GET(number/health_threshold_softcrit)) / DPS] seconds to softcrit you. ([CONFIG_GET(number/health_threshold_softcrit)] health)")) + to_chat(user, span_notice("[(user.getMaxHealth() - CONFIG_GET(number/health_threshold_crit)) / DPS] seconds to hardcrit you. ([CONFIG_GET(number/health_threshold_crit)] health)")) + to_chat(user, span_notice("[(user.getMaxHealth() - CONFIG_GET(number/health_threshold_dead)) / DPS] seconds to kill you. ([CONFIG_GET(number/health_threshold_dead)] health)")) else - to_chat(user, "You need to be a living mob, with hands, and for an object to be in your active hand, to use this verb.") + to_chat(user, span_warning("You need to be a living mob, with hands, and for an object to be in your active hand, to use this verb.")) return /client/proc/Cell() - set category = "Debug" + set category = "Debug.Investigate" set name = "Cell" if(!mob) return @@ -94,7 +94,7 @@ feedback_add_details("admin_verb","ASL") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_admin_robotize(var/mob/M in mob_list) - set category = "Fun" + set category = "Fun.Event Kit" set name = "Make Robot" if(!ticker) @@ -109,7 +109,7 @@ tgui_alert_async(usr, "Invalid mob") /client/proc/cmd_admin_animalize(var/mob/M in mob_list) - set category = "Fun" + set category = "Fun.Event Kit" set name = "Make Simple Animal" if(!ticker) @@ -130,7 +130,7 @@ /client/proc/makepAI() - set category = "Fun" + set category = "Fun.Event Kit" set name = "Make pAI" set desc = "Spawn someone in as a pAI!" if(!check_rights(R_ADMIN|R_EVENT|R_DEBUG)) @@ -144,7 +144,7 @@ var/mob/choice = tgui_input_list(usr, "Choose a player to play the pAI", "Spawn pAI", available) if(!choice) return 0 - var/obj/item/device/paicard/typeb/card = new(T) + var/obj/item/paicard/typeb/card = new(T) var/mob/living/silicon/pai/pai = new(card) pai.real_name = pai.name pai.key = choice.key @@ -161,7 +161,7 @@ feedback_add_details("admin_verb","MPAI") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_admin_alienize(var/mob/M in mob_list) - set category = "Fun" + set category = "Fun.Event Kit" set name = "Make Alien" if(!ticker) @@ -173,14 +173,14 @@ M:Alienize() feedback_add_details("admin_verb","MKAL") //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.") - message_admins("[key_name_admin(usr)] made [key_name(M)] into an alien.", 1) + message_admins(span_notice("[key_name_admin(usr)] made [key_name(M)] into an alien."), 1) else tgui_alert_async(usr, "Invalid mob") //TODO: merge the vievars version into this or something maybe mayhaps /client/proc/cmd_debug_del_all() - set category = "Debug" + set category = "Debug.Dangerous" set name = "Del-All" // to prevent REALLY stupid deletions @@ -195,7 +195,7 @@ feedback_add_details("admin_verb","DELA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_debug_make_powernets() - set category = "Debug" + set category = "Debug.Dangerous" set name = "Make Powernets" SSmachines.makepowernets() log_admin("[key_name(src)] has remade the powernet. SSmachines.makepowernets() called.") @@ -203,21 +203,21 @@ feedback_add_details("admin_verb","MPWN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_debug_tog_aliens() - set category = "Server" + set category = "Server.Game" set name = "Toggle Aliens" - config.aliens_allowed = !config.aliens_allowed - log_admin("[key_name(src)] has turned aliens [config.aliens_allowed ? "on" : "off"].") - message_admins("[key_name_admin(src)] has turned aliens [config.aliens_allowed ? "on" : "off"].", 0) + CONFIG_SET(flag/aliens_allowed, !CONFIG_GET(flag/aliens_allowed)) + log_admin("[key_name(src)] has turned aliens [CONFIG_GET(flag/aliens_allowed) ? "on" : "off"].") + message_admins("[key_name_admin(src)] has turned aliens [CONFIG_GET(flag/aliens_allowed) ? "on" : "off"].", 0) feedback_add_details("admin_verb","TAL") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_display_del_log() - set category = "Debug" + set category = "Debug.Investigate" set name = "Display del() Log" set desc = "Display del's log of everything that's passed through it." if(!check_rights(R_DEBUG)) return - var/list/dellog = list("List of things that have gone through qdel this round

      ") + var/list/dellog = list(span_bold("List of things that have gone through qdel this round") + "

        ") sortTim(SSgarbage.items, cmp=/proc/cmp_qdel_item_time, associative = TRUE) for(var/path in SSgarbage.items) var/datum/qdel_item/I = SSgarbage.items[path] @@ -242,7 +242,7 @@ usr << browse(dellog.Join(), "window=dellog") /client/proc/cmd_display_init_log() - set category = "Debug" + set category = "Debug.Investigate" set name = "Display Initialize() Log" set desc = "Displays a list of things that didn't handle Initialize() properly" @@ -251,7 +251,7 @@ /* /client/proc/cmd_display_overlay_log() - set category = "Debug" + set category = "Debug.Investigate" set name = "Display overlay Log" set desc = "Display SSoverlays log of everything that's passed through it." @@ -273,7 +273,7 @@ . = lines.Join("\n") /client/proc/cmd_admin_grantfullaccess(var/mob/M in mob_list) - set category = "Admin" + set category = "Admin.Events" set name = "Grant Full Access" if (!ticker) @@ -282,18 +282,18 @@ if (istype(M, /mob/living/carbon/human)) var/mob/living/carbon/human/H = M if (H.wear_id) - var/obj/item/weapon/card/id/id = H.wear_id - if(istype(H.wear_id, /obj/item/device/pda)) - var/obj/item/device/pda/pda = H.wear_id + var/obj/item/card/id/id = H.wear_id + if(istype(H.wear_id, /obj/item/pda)) + var/obj/item/pda/pda = H.wear_id id = pda.id id.icon_state = "gold" id.access = get_all_accesses().Copy() else - var/obj/item/weapon/card/id/id = new/obj/item/weapon/card/id(M); + var/obj/item/card/id/id = new/obj/item/card/id(M); id.icon_state = "gold" id.access = get_all_accesses().Copy() id.registered_name = H.real_name - id.assignment = "Site Manager" + id.assignment = JOB_SITE_MANAGER id.name = "[id.registered_name]'s ID Card ([id.assignment])" H.equip_to_slot_or_del(id, slot_wear_id) H.update_inv_wear_id() @@ -304,7 +304,7 @@ message_admins(span_blue("[key_name_admin(usr)] has granted [M.key] full access."), 1) /client/proc/cmd_assume_direct_control(var/mob/M in mob_list) - set category = "Admin" + set category = "Admin.Game" set name = "Assume direct control" set desc = "Direct intervention" @@ -325,7 +325,7 @@ /client/proc/take_picture(var/atom/A in world) set name = "Save PNG" - set category = "Debug" + set category = "Debug.Misc" set desc = "Opens a dialog to save a PNG of any object in the game." if(!check_rights(R_DEBUG)) @@ -375,7 +375,7 @@ if(A && !(A.type in areas_with_LS)) areas_with_LS.Add(A.type) - for(var/obj/item/device/radio/intercom/I in machines) + for(var/obj/item/radio/intercom/I in machines) var/area/A = get_area(I) if(A && !(A.type in areas_with_intercom)) areas_with_intercom.Add(A.type) @@ -393,36 +393,36 @@ var/list/areas_without_intercom = areas_all - areas_with_intercom var/list/areas_without_camera = areas_all - areas_with_camera - to_world("AREAS WITHOUT AN APC:") + to_world(span_bold("AREAS WITHOUT AN APC:")) for(var/areatype in areas_without_APC) to_world("* [areatype]") - to_world("AREAS WITHOUT AN AIR ALARM:") + to_world(span_bold("AREAS WITHOUT AN AIR ALARM:")) for(var/areatype in areas_without_air_alarm) to_world("* [areatype]") - to_world("AREAS WITHOUT A REQUEST CONSOLE:") + to_world(span_bold("AREAS WITHOUT A REQUEST CONSOLE:")) for(var/areatype in areas_without_RC) to_world("* [areatype]") - to_world("AREAS WITHOUT ANY LIGHTS:") + to_world(span_bold("AREAS WITHOUT ANY LIGHTS:")) for(var/areatype in areas_without_light) to_world("* [areatype]") - to_world("AREAS WITHOUT A LIGHT SWITCH:") + to_world(span_bold("AREAS WITHOUT A LIGHT SWITCH:")) for(var/areatype in areas_without_LS) to_world("* [areatype]") - to_world("AREAS WITHOUT ANY INTERCOMS:") + to_world(span_bold("AREAS WITHOUT ANY INTERCOMS:")) for(var/areatype in areas_without_intercom) to_world("* [areatype]") - to_world("AREAS WITHOUT ANY CAMERAS:") + to_world(span_bold("AREAS WITHOUT ANY CAMERAS:")) for(var/areatype in areas_without_camera) to_world("* [areatype]") /datum/admins/proc/cmd_admin_dress(input in getmobs()) - set category = "Fun" + set category = "Fun.Event Kit" set name = "Select equipment" if(!check_rights(R_FUN)) @@ -454,7 +454,7 @@ /client/proc/startSinglo() - set category = "Debug" + set category = "Debug.Game" set name = "Start Singularity" set desc = "Sets up the singularity and all machines to get power flowing through the station" @@ -488,7 +488,7 @@ for(var/obj/machinery/power/rad_collector/Rad in machines) if(Rad.anchored) if(!Rad.P) - var/obj/item/weapon/tank/phoron/Phoron = new/obj/item/weapon/tank/phoron(Rad) + var/obj/item/tank/phoron/Phoron = new/obj/item/tank/phoron(Rad) Phoron.air_contents.gas["phoron"] = 70 Rad.drainratio = 0 Rad.P = Phoron @@ -498,7 +498,7 @@ Rad.toggle_power() /client/proc/setup_supermatter_engine() - set category = "Debug" + set category = "Debug.Game" set name = "Setup supermatter" set desc = "Sets up the supermatter engine" @@ -506,7 +506,7 @@ var/response = tgui_alert(usr, "Are you sure? This will start up the engine. Should only be used during debug!","Setup Supermatter",list("Setup Completely","Setup except coolant","No")) - if(response == "No") + if(!response || response == "No") return var/found_the_pump = 0 @@ -526,7 +526,7 @@ Rad.anchored = TRUE Rad.connect_to_network() - var/obj/item/weapon/tank/phoron/Phoron = new/obj/item/weapon/tank/phoron(Rad) + var/obj/item/tank/phoron/Phoron = new/obj/item/tank/phoron(Rad) Phoron.air_contents.gas["phoron"] = 29.1154 //This is a full tank if you filled it from a canister Rad.P = Phoron @@ -581,26 +581,26 @@ /client/proc/cmd_debug_mob_lists() - set category = "Debug" + set category = "Debug.Investigate" set name = "Debug Mob Lists" set desc = "For when you just gotta know" switch(tgui_input_list(usr, "Which list?", "List Choice", list("Players","Admins","Mobs","Living Mobs","Dead Mobs", "Clients"))) if("Players") - to_chat(usr, span("filter_debuglogs", jointext(player_list,","))) + to_chat(usr, span_filter_debuglogs(jointext(player_list,","))) if("Admins") - to_chat(usr, span("filter_debuglogs", jointext(GLOB.admins,","))) + to_chat(usr, span_filter_debuglogs(jointext(GLOB.admins,","))) if("Mobs") - to_chat(usr, span("filter_debuglogs", jointext(mob_list,","))) + to_chat(usr, span_filter_debuglogs(jointext(mob_list,","))) if("Living Mobs") - to_chat(usr, span("filter_debuglogs", jointext(living_mob_list,","))) + to_chat(usr, span_filter_debuglogs(jointext(living_mob_list,","))) if("Dead Mobs") - to_chat(usr, span("filter_debuglogs", jointext(dead_mob_list,","))) + to_chat(usr, span_filter_debuglogs(jointext(dead_mob_list,","))) if("Clients") - to_chat(usr, span("filter_debuglogs", jointext(GLOB.clients,","))) + to_chat(usr, span_filter_debuglogs(jointext(GLOB.clients,","))) /client/proc/cmd_debug_using_map() - set category = "Debug" + set category = "Debug.Investigate" set name = "Debug Map Datum" set desc = "Debug the map metadata about the currently compiled in map." @@ -625,7 +625,7 @@ tgui_alert_async(usr, "Invalid mob") /datum/admins/proc/view_runtimes() - set category = "Debug" + set category = "Debug.Investigate" set name = "View Runtimes" set desc = "Open the Runtime Viewer" @@ -635,7 +635,7 @@ error_cache.showTo(usr) /datum/admins/proc/change_weather() - set category = "Debug" + set category = "Debug.Events" set name = "Change Weather" set desc = "Changes the current weather." @@ -653,7 +653,7 @@ log_admin(log) /datum/admins/proc/toggle_firework_override() - set category = "Fun" + set category = "Fun.Event Kit" set name = "Toggle Weather Firework Override" set desc = "Toggles ability for weather fireworks to affect weather on planet of choice." @@ -668,7 +668,7 @@ log_admin(log) /datum/admins/proc/change_time() - set category = "Debug" + set category = "Debug.Events" set name = "Change Planet Time" set desc = "Changes the time of a planet." @@ -678,9 +678,11 @@ var/datum/planet/planet = tgui_input_list(usr, "Which planet do you want to modify time on?", "Change Time", SSplanets.planets) if(istype(planet)) var/datum/time/current_time_datum = planet.current_time - var/new_hour = tgui_input_number(usr, "What hour do you want to change to?", "Change Time", text2num(current_time_datum.show_time("hh")), 23) + var/planet_hours = max(round(current_time_datum.seconds_in_day / 36000) - 1, 0) + var/new_hour = tgui_input_number(usr, "What hour do you want to change to?", "Change Time", text2num(current_time_datum.show_time("hh")), planet_hours) if(!isnull(new_hour)) - var/new_minute = tgui_input_number(usr, "What minute do you want to change to?", "Change Time", text2num(current_time_datum.show_time("mm")), 59) + var/planet_minutes = max(round(current_time_datum.seconds_in_hour / 600) - 1, 0) + var/new_minute = tgui_input_number(usr, "What minute do you want to change to?", "Change Time", text2num(current_time_datum.show_time("mm")), planet_minutes) if(!isnull(new_minute)) var/type_needed = current_time_datum.type var/datum/time/new_time = new type_needed() diff --git a/code/modules/admin/verbs/debug_vr.dm b/code/modules/admin/verbs/debug_vr.dm index d1f6e8fbd73..60e5c5d6366 100644 --- a/code/modules/admin/verbs/debug_vr.dm +++ b/code/modules/admin/verbs/debug_vr.dm @@ -1,8 +1,8 @@ /datum/admins/proc/quick_nif() - set category = "Fun" + set category = "Fun.Add Nif" set name = "Quick NIF" set desc = "Spawns a NIF into someone in quick-implant mode." - + var/input_NIF if(!check_rights(R_ADMIN)) @@ -14,27 +14,27 @@ return if(!istype(H)) - to_chat(usr,"That mob type ([H.type]) doesn't support NIFs, sorry.") + to_chat(usr,span_warning("That mob type ([H.type]) doesn't support NIFs, sorry.")) return if(!H.get_organ(BP_HEAD)) - to_chat(usr,"Target is unsuitable.") + to_chat(usr,span_warning("Target is unsuitable.")) return if(H.nif) - to_chat(usr,"Target already has a NIF.") + to_chat(usr,span_warning("Target already has a NIF.")) return if(H.species.flags & NO_SCAN) - var/obj/item/device/nif/S = /obj/item/device/nif/bioadap + var/obj/item/nif/S = /obj/item/nif/bioadap input_NIF = initial(S.name) - new /obj/item/device/nif/bioadap(H) + new /obj/item/nif/bioadap(H) else - var/list/NIF_types = typesof(/obj/item/device/nif) + var/list/NIF_types = typesof(/obj/item/nif) var/list/NIFs = list() for(var/NIF_type in NIF_types) - var/obj/item/device/nif/S = NIF_type + var/obj/item/nif/S = NIF_type NIFs[capitalize(initial(S.name))] = NIF_type var/list/show_NIFs = sortList(NIFs) // the list that will be shown to the user to pick from @@ -45,8 +45,7 @@ if(chosen_NIF) new chosen_NIF(H) else - new /obj/item/device/nif(H) + new /obj/item/nif(H) log_and_message_admins("[key_name(src)] Quick NIF'd [H.real_name] with a [input_NIF].") - feedback_add_details("admin_verb","QNIF") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - + feedback_add_details("admin_verb","QNIF") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! diff --git a/code/modules/admin/verbs/diagnostics.dm b/code/modules/admin/verbs/diagnostics.dm index 40b47f2f50d..593be726a6b 100644 --- a/code/modules/admin/verbs/diagnostics.dm +++ b/code/modules/admin/verbs/diagnostics.dm @@ -1,13 +1,13 @@ /client/proc/air_report() - set category = "Debug" + set category = "Debug.Investigate" set name = "Show Air Report" - if(!master_controller || !air_master) - tgui_alert_async(usr,"Master_controller or air_master not found.","Air Report") + if(!master_controller || !SSair) + tgui_alert_async(usr,"Master_controller or SSair not found.","Air Report") return - var/active_groups = air_master.active_zones - var/inactive_groups = air_master.zones.len - active_groups + var/active_groups = SSair.active_zones + var/inactive_groups = SSair.zones.len - active_groups var/hotspots = 0 for(var/obj/fire/hotspot in world) @@ -15,7 +15,7 @@ var/active_on_main_station = 0 var/inactive_on_main_station = 0 - for(var/zone/zone in air_master.zones) + for(var/zone/zone in SSair.zones) var/turf/simulated/turf = locate() in zone.contents if(turf?.z in using_map.station_levels) if(zone.needs_update) @@ -25,8 +25,8 @@ var/output = {"AIR SYSTEMS REPORT
        General Processing Data
        - Cycle: [air_master.current_cycle]
        - Groups: [air_master.zones.len]
        + Cycle: [SSair.current_cycle]
        + Groups: [SSair.zones.len]
        ---- Active: [active_groups]
        ---- Inactive: [inactive_groups]

        ---- Active on station: [active_on_main_station]
        @@ -36,13 +36,13 @@ Hotspot Processing: [hotspots]

        Geometry Processing Data
        - Tile Update: [air_master.tiles_to_update.len]
        + Tile Update: [SSair.tiles_to_update.len]
        "} usr << browse(output,"window=airreport") /client/proc/fix_next_move() - set category = "Debug" + set category = "Debug.Game" set name = "Unfreeze Everyone" var/largest_move_time = 0 var/largest_click_time = 0 @@ -73,7 +73,7 @@ return /client/proc/radio_report() - set category = "Debug" + set category = "Debug.Game" set name = "Radio report" var/output = "Radio Report
        " @@ -100,7 +100,7 @@ /client/proc/reload_admins() set name = "Reload Admins" - set category = "Debug" + set category = "Debug.Server" if(!check_rights(R_SERVER)) return @@ -110,7 +110,7 @@ /client/proc/reload_eventMs() set name = "Reload Event Managers" - set category = "Debug" + set category = "Debug.Server" if(!check_rights(R_SERVER)) return @@ -121,17 +121,17 @@ //todo: /client/proc/jump_to_dead_group() set name = "Jump to dead group" - set category = "Debug" + set category = "Debug.Game" /* if(!holder) to_chat(src, "Only administrators may use this command.") return - if(!air_master) + if(!SSair) to_chat(usr, "Cannot find air_system") return var/datum/air_group/dead_groups = list() - for(var/datum/air_group/group in air_master.air_groups) + for(var/datum/air_group/group in SSair.air_groups) if (!group.group_processing) dead_groups += group var/datum/air_group/dest_group = pick(dead_groups) @@ -143,13 +143,13 @@ /client/proc/kill_airgroup() set name = "Kill Local Airgroup" set desc = "Use this to allow manual manupliation of atmospherics." - set category = "Debug" + set category = "Debug.Dangerous" /* if(!holder) to_chat(src, "Only administrators may use this command.") return - if(!air_master) + if(!SSair) to_chat(usr, "Cannot find air_system") return @@ -166,22 +166,22 @@ /client/proc/print_jobban_old() set name = "Print Jobban Log" set desc = "This spams all the active jobban entries for the current round to standard output." - set category = "Debug" + set category = "Debug.Investigate" - to_chat(usr, "Jobbans active in this round.") + to_chat(usr, span_bold("Jobbans active in this round.")) for(var/t in jobban_keylist) to_chat(usr, "[t]") /client/proc/print_jobban_old_filter() set name = "Search Jobban Log" set desc = "This searches all the active jobban entries for the current round and outputs the results to standard output." - set category = "Debug" + set category = "Debug.Investigate" var/job_filter = tgui_input_text(usr, "Contains what?","Job Filter") if(!job_filter) return - to_chat(usr, "Jobbans active in this round.") + to_chat(usr, span_bold("Jobbans active in this round.")) for(var/t in jobban_keylist) if(findtext(t, job_filter)) to_chat(usr, "[t]") diff --git a/code/modules/admin/verbs/dice.dm b/code/modules/admin/verbs/dice.dm index cc21521859d..09e171eafd4 100644 --- a/code/modules/admin/verbs/dice.dm +++ b/code/modules/admin/verbs/dice.dm @@ -1,5 +1,5 @@ /client/proc/roll_dices() - set category = "Fun" + set category = "Fun.Event Kit" set name = "Roll Dice" if(!check_rights(R_FUN)) return @@ -21,4 +21,4 @@ if(tgui_alert(usr, "Do you want to inform the world about the result?","Show world?",list("Yes", "No")) == "Yes") to_world("

        Gods rolled [dice], result is [result]

        ") - message_admins("[key_name_admin(src)] rolled dice [dice], result is [result]", 1) \ No newline at end of file + message_admins("[key_name_admin(src)] rolled dice [dice], result is [result]", 1) diff --git a/code/modules/admin/verbs/entity_narrate.dm b/code/modules/admin/verbs/entity_narrate.dm index a0da92eb42d..839fb497836 100644 --- a/code/modules/admin/verbs/entity_narrate.dm +++ b/code/modules/admin/verbs/entity_narrate.dm @@ -27,7 +27,7 @@ /client/proc/add_mob_for_narration(E as obj|mob|turf in orange(world.view)) set name = "Narrate Entity (Add ref)" set desc = "Saves a reference of target mob to be called when narrating." - set category = "Fun" + set category = "Fun.Narrate" if(!check_rights(R_FUN)) return @@ -40,20 +40,20 @@ //Since we extended to include all atoms, we're shutting things down with a guard clause for ghosts if(istype(E, /mob/observer)) - to_chat(usr, SPAN_NOTICE("Ghosts shouldn't be narrated! If you want a ghost, make it a subtype of mob/living!")) + to_chat(usr, span_notice("Ghosts shouldn't be narrated! If you want a ghost, make it a subtype of mob/living!")) return //We require a static mob/living type to check for .client and also later on, to use the unique .say mechanics for stuttering and language if(istype(E, /mob/living)) var/mob/living/L = E if(L.client) - to_chat(usr, SPAN_NOTICE("[L.name] is a player. All attempts to speak through them \ + to_chat(usr, span_notice("[L.name] is a player. All attempts to speak through them \ gets logged in case of abuse.")) log_and_message_admins("has added [L.ckey]'s mob to their entity narrate list", usr) return var/unique_name = sanitize(tgui_input_text(usr, "Please give the entity a unique name to track internally. \ This doesn't override how it appears in game", "tracker", L.name)) if(unique_name in holder.entity_names) - to_chat(usr, SPAN_NOTICE("[unique_name] is not unique! Pick another!")) + to_chat(usr, span_notice("[unique_name] is not unique! Pick another!")) add_mob_for_narration(L) //Recursively calling ourselves until cancelled or a unique name is given. return holder.entity_names += unique_name @@ -66,7 +66,7 @@ var/unique_name = sanitize(tgui_input_text(usr, "Please give the entity a unique name to track internally. \ This doesn't override how it appears in game", "tracker", A.name)) if(unique_name in holder.entity_names) - to_chat(usr, SPAN_NOTICE("[unique_name] is not unique! Pick another!")) + to_chat(usr, span_notice("[unique_name] is not unique! Pick another!")) add_mob_for_narration(A) return holder.entity_names += unique_name @@ -77,7 +77,7 @@ /client/proc/remove_mob_for_narration() set name = "Narrate Entity (Remove ref)" set desc = "Remove mobs you're no longer narrating from your list for easier work." - set category = "Fun" + set category = "Fun.Narrate" if(!check_rights(R_FUN)) return @@ -92,10 +92,10 @@ var/options = holder.entity_names + "Clear All" var/removekey = tgui_input_list(usr, "Choose which entity to remove", "remove reference", options, null) if(removekey == "Clear All") - var/confirm = tgui_alert(usr, "Do you really want to clear your entity list?", "confirm", list("Yes", "No"), "No") - if(confirm == "Yes") - holder.entity_names = list() - holder.entity_refs = list() + if(tgui_alert(usr, "Do you really want to clear your entity list?", "confirm", list("Yes", "No")) != "Yes") + return + holder.entity_names = list() + holder.entity_refs = list() else if(removekey) holder.entity_refs -= removekey holder.entity_names -= removekey @@ -107,7 +107,7 @@ /client/proc/narrate_mob() set name = "Narrate Entity (Interface)" set desc = "Send either a visible or audiable message through your chosen entities using an interface" - set category = "Fun" + set category = "Fun.Narrate" if(!check_rights(R_FUN)) return @@ -128,7 +128,7 @@ holder.tgui_interact(usr) else var/mode = tgui_alert(usr, "Speak or emote?", "mode", list("Speak", "Emote", "Cancel")) - if(mode == "Cancel") return + if(!mode || mode == "Cancel") return var/message = tgui_input_text(usr, "Input what you want [which_entity] to [mode]", "narrate", null, multiline = TRUE, prevent_enter = TRUE) if(message) @@ -138,7 +138,7 @@ /client/proc/narrate_mob_args(name as text, mode as text, message as text) set name = "Narrate Entity" set desc = "Narrate entities using positional arguments. Name should be as saved in ref list, mode should be Speak or Emote, follow with message" - set category = "Fun" + set category = "Fun.Narrate" @@ -157,17 +157,17 @@ mode = sanitize(mode) if(!(mode in list("Speak", "Emote"))) - to_chat(usr, SPAN_NOTICE("Valid modes are 'Speak' and 'Emote'.")) + to_chat(usr, span_notice("Valid modes are 'Speak' and 'Emote'.")) return if(!holder.entity_refs[name]) - to_chat(usr, SPAN_NOTICE("[name] not in saved references!")) + to_chat(usr, span_notice("[name] not in saved references!")) //Separate definition for mob/living and /obj due to .say() code allowing us to engage with languages, stuttering etc //We also need this so we can check for .client var/datum/weakref/wref = holder.entity_refs[name] var/selection = wref.resolve() if(!selection) - to_chat(usr, SPAN_NOTICE("[name] has invalid reference, deleting")) + to_chat(usr, span_notice("[name] has invalid reference, deleting")) holder.entity_names -= name holder.entity_refs -= name if(istype(selection, /mob/living)) @@ -191,9 +191,9 @@ message = tgui_input_text(usr, "Input what you want [our_entity] to [mode]", "narrate", null) message = encode_html_emphasis(sanitize(message)) if(message && mode == "Speak") - our_entity.audible_message("[our_entity.name] [message]") + our_entity.audible_message(span_bold("[our_entity.name]") + " [message]") else if(message && mode == "Emote") - our_entity.visible_message("[our_entity.name] [message]") + our_entity.visible_message(span_bold("[our_entity.name]") + " [message]") else return @@ -221,11 +221,11 @@ return data -/datum/entity_narrate/tgui_act(action, list/params) +/datum/entity_narrate/tgui_act(action, list/params, datum/tgui/ui) . = ..() if(.) return - if(!check_rights_for(usr.client, R_FUN)) return + if(!check_rights_for(ui.user.client, R_FUN)) return switch(action) if("change_mode_multi") @@ -260,7 +260,7 @@ var/datum/weakref/wref = entity_refs[tgui_selected_id] tgui_selected_refs = wref.resolve() if(!tgui_selected_refs) - to_chat(usr, SPAN_NOTICE("[tgui_selected_id] has invalid reference, deleting")) + to_chat(ui.user, span_notice("[tgui_selected_id] has invalid reference, deleting")) entity_names -= tgui_selected_id entity_refs -= tgui_selected_id tgui_selected_id = "" @@ -281,9 +281,9 @@ tgui_selected_name = A.name if("narrate") if(world.time < (tgui_last_message + 0.5 SECONDS)) - to_chat(usr, SPAN_NOTICE("You can't messages that quickly! Wait at least half a second")) + to_chat(ui.user, span_notice("You can't messages that quickly! Wait at least half a second")) else - to_chat(usr, SPAN_NOTICE("Message successfully sent!")) + to_chat(ui.user, span_notice("Message successfully sent!")) tgui_last_message = world.time var/message = params["message"] //Sanitizing before speaking it if(tgui_selection_mode) @@ -291,7 +291,7 @@ var/datum/weakref/wref = entity_refs[entity] var/ref = wref.resolve() if(!ref) - to_chat(usr, SPAN_NOTICE("[entity] has invalid reference, deleting")) + to_chat(ui.user, span_notice("[entity] has invalid reference, deleting")) entity_names -= entity entity_refs -= entity tgui_selected_id_multi -= entity @@ -299,7 +299,7 @@ if(istype(ref, /mob/living)) var/mob/living/L = ref if(L.client) - log_and_message_admins("used entity-narrate to speak through [L.ckey]'s mob", usr) + log_and_message_admins("used entity-narrate to speak through [L.ckey]'s mob", ui.user) narrate_tgui_mob(L, message) else if(istype(ref, /atom)) var/atom/A = ref @@ -308,7 +308,7 @@ var/datum/weakref/wref = entity_refs[tgui_selected_id] var/ref = wref.resolve() if(!ref) - to_chat(usr, SPAN_NOTICE("[tgui_selected_id] has invalid reference, deleting")) + to_chat(ui.user, span_notice("[tgui_selected_id] has invalid reference, deleting")) entity_names -= tgui_selected_id entity_refs -= tgui_selected_id tgui_selected_id = "" @@ -319,7 +319,7 @@ if(istype(ref, /mob/living)) var/mob/living/L = ref if(L.client) - log_and_message_admins("used entity-narrate to speak through [L.ckey]'s mob", usr) + log_and_message_admins("used entity-narrate to speak through [L.ckey]'s mob", ui.user) narrate_tgui_mob(L, message) else if(istype(ref, /atom)) var/atom/A = ref @@ -339,10 +339,10 @@ /datum/entity_narrate/proc/narrate_tgui_atom(atom/A, message as text) message = encode_html_emphasis(sanitize(message)) if(tgui_narrate_mode && tgui_narrate_privacy) - A.visible_message("\The [A.name] [message]", range = 1) + A.visible_message(span_italics(span_bold("\The [A.name]") + " [message]"), range = 1) else if(tgui_narrate_mode && !tgui_narrate_privacy) - A.visible_message("\The [A.name] [message]",) + A.visible_message(span_bold("\The [A.name]") + "[message]",) else if(!tgui_narrate_mode && tgui_narrate_privacy) - A.audible_message("\The [A.name] [message]", hearing_distance = 1) + A.audible_message(span_italics(span_bold("\The [A.name]") + " [message]"), hearing_distance = 1) else if(!tgui_narrate_mode && !tgui_narrate_privacy) - A.audible_message("\The [A.name] [message]") + A.audible_message(span_bold("\The [A.name]") + "[message]") diff --git a/code/modules/admin/verbs/event_triggers.dm b/code/modules/admin/verbs/event_triggers.dm index 332e6a7d625..fe843855aef 100644 --- a/code/modules/admin/verbs/event_triggers.dm +++ b/code/modules/admin/verbs/event_triggers.dm @@ -4,7 +4,7 @@ Eventkit verb to be used to spawn the obj/effect/landmarks defined under code\ga /client/proc/manage_event_triggers() set name = "Manage Event Triggers" set desc = "Open dialogue to create or delete narration/notification triggers" - set category = "EventKit" + set category = "Fun.Event Kit" if(!check_rights(R_FUN)) return @@ -35,7 +35,7 @@ Eventkit verb to be used to spawn the obj/effect/landmarks defined under code\ga if("Manage Personal Triggers") var/personal_list = event_triggers[src.ckey] if(!LAZYLEN(personal_list)) - to_chat(src, SPAN_NOTICE("You don't have any landmarks to manage!")) + to_chat(src, span_notice("You don't have any landmarks to manage!")) return personal_list |= list("Cancel", "Delete All") var/choice = tgui_input_list(src, "Select a landmark to choose between teleporting to it or deleting it, select delete all to clear them.", \ @@ -44,7 +44,7 @@ Eventkit verb to be used to spawn the obj/effect/landmarks defined under code\ga return if(choice == "Delete All") var/confirm = tgui_alert(src, "ARE YOU SURE? THERE IS NO GOING BACK", "CONFIRM", list("Go Back", "Delete all my event triggers"), autofocus = FALSE) - if(confirm == "Go Back") + if(!confirm || confirm == "Go Back") return for(var/obj/effect/landmark/event_trigger/ET in personal_list) ET.delete_me = TRUE @@ -62,7 +62,7 @@ Eventkit verb to be used to spawn the obj/effect/landmarks defined under code\ga M.forceMove(get_turf(ET)) if(decision == "Delete") var/confirm = tgui_alert(src, "ARE YOU SURE? THERE IS NO GOING BACK FROM DELETING [ET.name]", "CONFIRM", list("Go Back", "Delete it!"), autofocus = FALSE) - if(confirm == "Go Back") + if(!confirm || confirm == "Go Back") return ET.delete_me = TRUE qdel(ET) @@ -70,7 +70,7 @@ Eventkit verb to be used to spawn the obj/effect/landmarks defined under code\ga var/other_ckey = sanitize(tgui_input_text(src, "input trigger owner's ckey", "CKEY", "")) var/others_list = event_triggers[other_ckey] if(!LAZYLEN(others_list)) - to_chat(src, SPAN_NOTICE("[other_ckey] doesn't have any landmarks to manage!")) + to_chat(src, span_notice("[other_ckey] doesn't have any landmarks to manage!")) return others_list |= list("Cancel", "Delete All") var/choice = tgui_input_list(src, "Select a landmark to choose between teleporting to it or deleting it, select delete all to clear them.", \ @@ -91,7 +91,7 @@ Eventkit verb to be used to spawn the obj/effect/landmarks defined under code\ga log_and_message_admins("[src.ckey] deleted all of [other_ckey]'s event triggers while [other_ckey] was active") return var/confirm = tgui_alert(src, "ARE YOU SURE? THERE IS NO GOING BACK", "CONFIRM", list("Go Back", "Delete all my event triggers"), autofocus = FALSE) - if(confirm == "Go Back") + if(!confirm || confirm == "Go Back") return for(var/obj/effect/landmark/event_trigger/ET in others_list) ET.delete_me = TRUE @@ -105,7 +105,7 @@ Eventkit verb to be used to spawn the obj/effect/landmarks defined under code\ga if(isobserver(M)) var/confirm_teleport = tgui_alert(src, "You're not a ghost! Admin-ghost?", "You're not a ghost", \ list("Cancel", "Teleport me with my character")) - if(confirm_teleport == "Cancel") + if(!confirm_teleport || confirm_teleport == "Cancel") return M.forceMove(get_turf(ET)) if(decision == "Delete") @@ -121,7 +121,7 @@ Eventkit verb to be used to spawn the obj/effect/landmarks defined under code\ga log_and_message_admins("[src.ckey] tried to delete event trigger [ET.name] while [other_ckey] is active.") return var/confirm = tgui_alert(src, "ARE YOU SURE? THERE IS NO GOING BACK FROM DELETING [ET.name]", "CONFIRM", list("Go Back", "Delete it!"), autofocus = FALSE) - if(confirm == "Go Back") + if(!confirm || confirm == "Go Back") return ET.delete_me = TRUE qdel(ET) diff --git a/code/modules/admin/verbs/fps.dm b/code/modules/admin/verbs/fps.dm index 3c1da452035..b997c863fe5 100644 --- a/code/modules/admin/verbs/fps.dm +++ b/code/modules/admin/verbs/fps.dm @@ -1,19 +1,19 @@ //Merged Doohl's and the existing ticklag as they both had good elements about them ~ //Replaces the old Ticklag verb, fps is easier to understand /client/proc/set_server_fps() - set category = "Debug" + set category = "Debug.Server" set name = "Set Server FPS" set desc = "Sets game speed in frames-per-second. Can potentially break the game" if(!check_rights(R_DEBUG)) return - var/new_fps = round(tgui_input_number(usr, "Sets game frames-per-second. Can potentially break the game (default: [config.fps])", "FPS", world.fps), round(config.fps * 1.5)) + var/new_fps = round(tgui_input_number(usr, "Sets game frames-per-second. Can potentially break the game (default: [CONFIG_GET(number/fps)])", "FPS", world.fps), round(CONFIG_GET(number/fps) * 1.5)) if(new_fps <= 0) - to_chat(src, "Error: set_server_fps(): Invalid world.fps value. No changes made.") + to_chat(src, span_danger("Error: set_server_fps(): Invalid world.fps value. No changes made.")) return - if(new_fps > config.fps * 1.5) - if(tgui_alert(src, "You are setting fps to a high value:\n\t[new_fps] frames-per-second\n\tconfig.fps = [config.fps]", "Warning!", list("Confirm", "ABORT-ABORT-ABORT")) != "Confirm") + if(new_fps > CONFIG_GET(number/fps) * 1.5) + if(tgui_alert(src, "You are setting fps to a high value:\n\t[new_fps] frames-per-second\n\tconfig.fps = [CONFIG_GET(number/fps)]", "Warning!", list("Confirm", "ABORT-ABORT-ABORT")) != "Confirm") return var/msg = "[key_name(src)] has modified world.fps to [new_fps]" diff --git a/code/modules/admin/verbs/get_player_status.dm b/code/modules/admin/verbs/get_player_status.dm index c852c81fd32..2e57317ec95 100644 --- a/code/modules/admin/verbs/get_player_status.dm +++ b/code/modules/admin/verbs/get_player_status.dm @@ -6,7 +6,7 @@ /client/proc/getPlayerStatus() set name = "Report Player Status" set desc = "Get information on all active players in-game." - set category = "EventKit" + set category = "Fun.Event Kit" if(!check_rights(R_FUN)) return @@ -41,6 +41,6 @@ message += "#### Over all, there are [players] eligible players, of which [inactives] were hidden due to inactivity. ####" - to_chat(usr, SPAN_NOTICE(message)) + to_chat(usr, span_notice(message)) #undef INACTIVITY_CAP diff --git a/code/modules/admin/verbs/getlogs.dm b/code/modules/admin/verbs/getlogs.dm index 6d79548df35..d7ad8ed13c4 100644 --- a/code/modules/admin/verbs/getlogs.dm +++ b/code/modules/admin/verbs/getlogs.dm @@ -32,7 +32,7 @@ to_chat(src, span_red("Error: giveruntimelog(): Client not found.")) return - target.verbs |= /client/proc/getruntimelog + add_verb(target, /client/proc/getruntimelog) to_chat(target, span_red("You have been granted access to runtime logs. Please use them responsibly or risk being banned.")) return @@ -81,7 +81,7 @@ //Shows today's server log /datum/admins/proc/view_txt_log() - set category = "Admin" + set category = "Admin.Logs" set name = "Show Server Log" set desc = "Shows today's server log." @@ -96,7 +96,7 @@ //Shows today's attack log /datum/admins/proc/view_atk_log() - set category = "Admin" + set category = "Admin.Logs" set name = "Show Server Attack Log" set desc = "Shows today's server attack log." diff --git a/code/modules/admin/verbs/grief_fixers.dm b/code/modules/admin/verbs/grief_fixers.dm index 1024fb7d323..1aa8f349f17 100644 --- a/code/modules/admin/verbs/grief_fixers.dm +++ b/code/modules/admin/verbs/grief_fixers.dm @@ -1,16 +1,16 @@ /client/proc/fixatmos() - set category = "Admin" + set category = "Admin.Game" set name = "Fix Atmospherics Grief" if(!check_rights(R_ADMIN|R_DEBUG|R_EVENT)) return - if(tgui_alert(usr, "WARNING: Executing this command will perform a full reset of atmosphere. All pipelines will lose any gas that may be in them, and all zones will be reset to contain air mix as on roundstart. The supermatter engine will also be stopped (to prevent overheat due to removal of coolant). Do not use unless the station is suffering serious atmospheric issues due to grief or bug.", "Full Atmosphere Reboot", list("No", "Yes")) == "No") + if(tgui_alert(usr, "WARNING: Executing this command will perform a full reset of atmosphere. All pipelines will lose any gas that may be in them, and all zones will be reset to contain air mix as on roundstart. The supermatter engine will also be stopped (to prevent overheat due to removal of coolant). Do not use unless the station is suffering serious atmospheric issues due to grief or bug.", "Full Atmosphere Reboot", list("No", "Yes")) != "Yes") return feedback_add_details("admin_verb","FA") log_and_message_admins("Full atmosphere reset initiated by [usr].") - to_world("Initiating restart of atmosphere. The server may lag a bit.") + to_world(span_danger("Initiating restart of atmosphere. The server may lag a bit.")) sleep(10) var/current_time = world.timeofday @@ -48,4 +48,4 @@ SSair.RebootZAS() to_chat(usr, "\[5/5\] - ZAS Rebooted") - to_world("Atmosphere restart completed in [(world.timeofday - current_time)/10] seconds.") + to_world(span_danger("Atmosphere restart completed in " + span_bold("[(world.timeofday - current_time)/10]") + " seconds.")) diff --git a/code/modules/admin/verbs/lightning_strike.dm b/code/modules/admin/verbs/lightning_strike.dm index 0b6b3e26616..bd901a028b9 100644 --- a/code/modules/admin/verbs/lightning_strike.dm +++ b/code/modules/admin/verbs/lightning_strike.dm @@ -1,14 +1,14 @@ /client/proc/admin_lightning_strike() set name = "Lightning Strike" set desc = "Causes lightning to strike on your tile. This can be made to hurt things on or nearby it severely." - set category = "Fun" + set category = "Fun.Do Not" if(!check_rights(R_FUN)) return var/result = tgui_alert(src, "Really strike your tile with lightning?", "Confirm Badmin" , list("No", "Yes (Cosmetic)", "Yes (Real)")) - if(result == "No") + if(!result || result == "No") return var/fake_lightning = result == "Yes (Cosmetic)" @@ -65,7 +65,7 @@ var/sound = get_sfx("thunder") for(var/mob/M in player_list) if( (P && (M.z in P.expected_z_levels)) || M.z == T.z) - if(M.is_preference_enabled(/datum/client_preference/weather_sounds)) + if(M.check_sound_preference(/datum/preference/toggle/weather_sounds)) M.playsound_local(get_turf(M), soundin = sound, vol = 70, vary = FALSE, is_global = TRUE) if(cosmetic) // Everything beyond here involves potentially damaging things. If we don't want to do that, stop now. @@ -93,7 +93,7 @@ if(iscarbon(L)) var/mob/living/carbon/C = L C.ear_deaf += 10 - to_chat(L, span("danger", "Lightning struck nearby, and the thunderclap is deafening!")) + to_chat(L, span_danger("Lightning struck nearby, and the thunderclap is deafening!")) #undef LIGHTNING_REDIRECT_RANGE #undef LIGHTNING_ZAP_RANGE diff --git a/code/modules/admin/verbs/map_template_loadverb.dm b/code/modules/admin/verbs/map_template_loadverb.dm index 7b2fa323d3c..c9dc93d3ef4 100644 --- a/code/modules/admin/verbs/map_template_loadverb.dm +++ b/code/modules/admin/verbs/map_template_loadverb.dm @@ -1,5 +1,5 @@ /client/proc/map_template_load() - set category = "Debug" + set category = "Debug.Events" set name = "Map template - Place At Loc" var/datum/map_template/template @@ -10,36 +10,29 @@ return template = SSmapping.map_templates[map] - var/orientation = text2dir(tgui_input_list(usr, "Choose an orientation for this Map Template.", "Orientation", list("North", "South", "East", "West"))) - if(!orientation) - return - - // Convert dir to degrees rotation - orientation = dir2angle(orientation) - var/turf/T = get_turf(mob) if(!T) return var/list/preview = list() - template.preload_size(template.mappath, orientation) - for(var/S in template.get_affected_turfs(T,centered = TRUE, orientation=orientation)) + template.preload_size(template.mappath) + for(var/S in template.get_affected_turfs(T,centered = TRUE)) preview += image('icons/misc/debug_group.dmi',S ,"red") usr.client.images += preview if(tgui_alert(usr,"Confirm location.", "Template Confirm",list("No","Yes")) == "Yes") - if(template.annihilate && tgui_alert(usr,"This template is set to annihilate everything in the red square. EVERYTHING IN THE RED SQUARE WILL BE DELETED, ARE YOU ABSOLUTELY SURE?", "Template Confirm", list("No","Yes")) == "No") + if(template.annihilate && tgui_alert(usr,"This template is set to annihilate everything in the red square. EVERYTHING IN THE RED SQUARE WILL BE DELETED, ARE YOU ABSOLUTELY SURE?", "Template Confirm", list("No","Yes")) != "Yes") usr.client.images -= preview return - if(template.load(T, centered = TRUE, orientation=orientation)) - message_admins("[key_name_admin(usr)] has placed a map template ([template.name]).") + if(template.load(T, centered = TRUE)) + message_admins(span_adminnotice("[key_name_admin(usr)] has placed a map template ([template.name]).")) else to_chat(usr, "Failed to place map") if(usr) usr.client.images -= preview /client/proc/map_template_load_on_new_z() - set category = "Debug" + set category = "Debug.Events" set name = "Map template - New Z" var/datum/map_template/template @@ -49,27 +42,20 @@ return template = SSmapping.map_templates[map] - var/orientation = text2dir(tgui_input_list(usr, "Choose an orientation for this Map Template.", "Orientation", list("North", "South", "East", "West"))) - if(!orientation) - return - - // Convert dir to degrees rotation - orientation = dir2angle(orientation) - - if((!(orientation%180) && template.width > world.maxx || template.height > world.maxy) || (orientation%180 && template.width > world.maxy || template.height > world.maxx)) + if(template.width > world.maxx || template.height > world.maxx) if(tgui_alert(usr,"This template is larger than the existing z-levels. It will EXPAND ALL Z-LEVELS to match the size of the template. This may cause chaos. Are you sure you want to do this?","DANGER!!!",list("Cancel","Yes")) == "Cancel") to_chat(usr,"Template placement aborted.") return if(tgui_alert(usr,"Confirm map load.", "Template Confirm",list("No","Yes")) == "Yes") - if(template.load_new_z(orientation=orientation)) - message_admins("[key_name_admin(usr)] has placed a map template ([template.name]) on Z level [world.maxz].") + if(template.load_new_z()) + message_admins(span_adminnotice("[key_name_admin(usr)] has placed a map template ([template.name]) on Z level [world.maxz].")) else to_chat(usr, "Failed to place map") /client/proc/map_template_upload() - set category = "Debug" + set category = "Debug.Events" set name = "Map Template - Upload" var/map = input(usr, "Choose a Map Template to upload to template storage","Upload Map Template") as null|file @@ -83,6 +69,6 @@ if(M.preload_size(map)) to_chat(usr, "Map template '[map]' ready to place ([M.width]x[M.height])") SSmapping.map_templates[M.name] = M - message_admins("[key_name_admin(usr)] has uploaded a map template ([map])") + message_admins(span_adminnotice("[key_name_admin(usr)] has uploaded a map template ([map])")) else to_chat(usr, "Map template '[map]' failed to load properly") diff --git a/code/modules/admin/verbs/mapping.dm b/code/modules/admin/verbs/mapping.dm index 8cdc984f6cf..f4a581170c3 100644 --- a/code/modules/admin/verbs/mapping.dm +++ b/code/modules/admin/verbs/mapping.dm @@ -117,7 +117,7 @@ GLOBAL_LIST_BOILERPLATE(all_debugging_effects, /obj/effect/debugging) qdel(M) if(intercom_range_display_status) - for(var/obj/item/device/radio/intercom/I in machines) + for(var/obj/item/radio/intercom/I in machines) for(var/turf/T in orange(7,I)) var/obj/effect/debugging/marker/F = new/obj/effect/debugging/marker(T) if (!(F in view(7,I.loc))) @@ -146,12 +146,6 @@ var/list/debug_verbs = list ( ,/client/proc/print_jobban_old ,/client/proc/print_jobban_old_filter ,/client/proc/forceEvent - ,/client/proc/break_all_air_groups - ,/client/proc/regroup_all_air_groups - ,/client/proc/kill_pipe_processing - ,/client/proc/kill_air_processing - ,/client/proc/disable_communication - ,/client/proc/disable_movement ,/client/proc/Zone_Info ,/client/proc/Test_ZAS_Connection ,/client/proc/ZoneTick @@ -167,22 +161,22 @@ var/list/debug_verbs = list ( /client/proc/enable_debug_verbs() - set category = "Debug" + set category = "Debug.Misc" set name = "Debug verbs" if(!check_rights(R_DEBUG)) return - verbs += debug_verbs + add_verb(src, debug_verbs) feedback_add_details("admin_verb","mDV") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/hide_debug_verbs() - set category = "Debug" + set category = "Debug.Misc" set name = "Hide Debug verbs" if(!check_rights(R_DEBUG)) return - verbs -= debug_verbs + remove_verb(src, debug_verbs) feedback_add_details("admin_verb","hDV") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -209,7 +203,7 @@ var/list/debug_verbs = list ( /client/proc/testZAScolors() - set category = "ZAS" + set category = "Mapping.ZAS" set name = "Check ZAS connections" if(!check_rights(R_DEBUG)) return @@ -258,7 +252,7 @@ var/list/debug_verbs = list ( testZAScolors_turfs += T /client/proc/testZAScolors_remove() - set category = "ZAS" + set category = "Mapping.ZAS" set name = "Remove ZAS connection colors" testZAScolors_turfs.Cut() @@ -270,7 +264,7 @@ var/list/debug_verbs = list ( images.Remove(i) /client/proc/rebootAirMaster() - set category = "ZAS" + set category = "Mapping.ZAS" set name = "Reboot ZAS" if(tgui_alert(usr, "This will destroy and remake all zone geometry on the whole map.","Reboot ZAS",list("Reboot ZAS","Nevermind")) == "Reboot ZAS") @@ -345,80 +339,3 @@ var/list/debug_verbs = list ( to_world("There are [count] objects of type [type_path] in the game world") feedback_add_details("admin_verb","mOBJ") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - - -var/global/prevent_airgroup_regroup = 0 - -/client/proc/break_all_air_groups() - set category = "Mapping" - set name = "Break All Airgroups" - - /*prevent_airgroup_regroup = 1 - for(var/datum/air_group/AG in air_master.air_groups) - AG.suspend_group_processing() - message_admins("[src.ckey] used 'Break All Airgroups'")*/ - -/client/proc/regroup_all_air_groups() - set category = "Mapping" - set name = "Regroup All Airgroups Attempt" - - to_chat(usr, span_red("Proc disabled.")) //Why not.. Delete the procs instead? - - /*prevent_airgroup_regroup = 0 - for(var/datum/air_group/AG in air_master.air_groups) - AG.check_regroup() - message_admins("[src.ckey] used 'Regroup All Airgroups Attempt'")*/ - -/client/proc/kill_pipe_processing() - set category = "Mapping" - set name = "Kill pipe processing" - - to_chat(usr, span_red("Proc disabled.")) - - /*pipe_processing_killed = !pipe_processing_killed - if(pipe_processing_killed) - message_admins("[src.ckey] used 'kill pipe processing', stopping all pipe processing.") - else - message_admins("[src.ckey] used 'kill pipe processing', restoring all pipe processing.")*/ - -/client/proc/kill_air_processing() - set category = "Mapping" - set name = "Kill air processing" - - to_chat(usr, span_red("Proc disabled.")) - - /*air_processing_killed = !air_processing_killed - if(air_processing_killed) - message_admins("[src.ckey] used 'kill air processing', stopping all air processing.") - else - message_admins("[src.ckey] used 'kill air processing', restoring all air processing.")*/ - -//This proc is intended to detect lag problems relating to communication procs -var/global/say_disabled = 0 -/client/proc/disable_communication() - set category = "Mapping" - set name = "Disable all communication verbs" - - to_chat(usr, span_red("Proc disabled.")) - - /*say_disabled = !say_disabled - if(say_disabled) - message_admins("[src.ckey] used 'Disable all communication verbs', killing all communication methods.") - else - message_admins("[src.ckey] used 'Disable all communication verbs', restoring all communication methods.")*/ - -//This proc is intended to detect lag problems relating to movement -var/global/movement_disabled = 0 -var/global/movement_disabled_exception //This is the client that calls the proc, so he can continue to run around to gauge any change to lag. -/client/proc/disable_movement() - set category = "Mapping" - set name = "Disable all movement" - - to_chat(usr, span_red("Proc disabled.")) - - /*movement_disabled = !movement_disabled - if(movement_disabled) - message_admins("[src.ckey] used 'Disable all movement', killing all movement.") - movement_disabled_exception = usr.ckey - else - message_admins("[src.ckey] used 'Disable all movement', restoring all movement.")*/ diff --git a/code/modules/admin/verbs/modify_robot.dm b/code/modules/admin/verbs/modify_robot.dm index 4d4f0096b96..2524f1b50ba 100644 --- a/code/modules/admin/verbs/modify_robot.dm +++ b/code/modules/admin/verbs/modify_robot.dm @@ -2,7 +2,7 @@ /client/proc/modify_robot(var/mob/living/silicon/robot/target in silicon_mob_list) set name = "Modify Robot Module" set desc = "Allows to add or remove modules to/from robots." - set category = "Admin" + set category = "Admin.Silicon" if(!check_rights(R_ADMIN|R_FUN|R_VAREDIT|R_EVENT)) return @@ -20,11 +20,11 @@ if(tgui_alert(usr, "This robot has not yet selected a module. Would you like to toggle combat module override?","Confirm",list("Yes","No"))!="Yes") continue target.crisis_override = !target.crisis_override - to_chat(usr, "You [target.crisis_override? "enabled":"disabled"] [target]'s combat module overwrite.") + to_chat(usr, span_danger("You [target.crisis_override? "enabled":"disabled"] [target]'s combat module overwrite.")) continue if(MODIFIY_ROBOT_LIMIT_MODULES_ADD) if(target.restrict_modules_to.len) - to_chat(usr, "[target]'s modules are already restricted. For details you can use the remove verb to show all active restrictions.") + to_chat(usr, span_warning("[target]'s modules are already restricted. For details you can use the remove verb to show all active restrictions.")) var/list/possible_options = list() for(var/entry in robot_modules) if(!target.restrict_modules_to.Find(entry)) @@ -35,16 +35,16 @@ break possible_options -= selected_type target.restrict_modules_to += selected_type - to_chat(usr, "You added [selected_type] to [target]'s possible modules list.") + to_chat(usr, span_danger("You added [selected_type] to [target]'s possible modules list.")) continue if(MODIFIY_ROBOT_LIMIT_MODULES_REMOVE) while(TRUE) var/selected_type = tgui_input_list(usr, "Please select the module type to remove. Removing all module types here will allow default station module selection.", "Module types", target.restrict_modules_to) if(!selected_type || selected_type == "Cancel") - to_chat(usr, "[target] uses the default module list without special restrictions.") + to_chat(usr, span_danger("[target] uses the default module list without special restrictions.")) break target.restrict_modules_to -= selected_type - to_chat(usr, "You removed [selected_type] from [target]'s possible modules list.") + to_chat(usr, span_danger("You removed [selected_type] from [target]'s possible modules list.")) continue if(!target.module.modules) @@ -59,7 +59,7 @@ return if(!target.module || !target.module.modules) - to_chat(usr, "[target] was recently reset, you must wait until module selection has been completed before continuing modifying.") + to_chat(usr, span_danger("[target] was recently reset, you must wait until module selection has been completed before continuing modifying.")) continue log_and_message_admins("[key_name(src)] has used MODIFYROBOT ([modification_choice]) on [key_name(target)].") @@ -73,9 +73,9 @@ break var/module_type = robot_modules[selected_module_module] var/mob/living/silicon/robot/robot = new /mob/living/silicon/robot(null) - var/obj/item/weapon/robot_module/robot/robot_type = new module_type(robot) + var/obj/item/robot_module/robot/robot_type = new module_type(robot) robot.emag_items = 1 - if(!istype(robot_type, /obj/item/weapon/robot_module/robot/)) + if(!istype(robot_type, /obj/item/robot_module/robot/)) qdel(robot) break var/list/all_modules = robot.module.modules @@ -90,10 +90,10 @@ robot.module.contents.Remove(add_item) target.module.modules.Add(add_item) target.module.contents.Add(add_item) - spawn(0) //ChompEDIT Must be after to allow the movement to finish - SEND_SIGNAL(add_item, COMSIG_OBSERVER_MOVED)//ChompEDIT - report the movement since setting loc doesn't call Move or Moved + spawn(0) Must be after to allow the movement to finish + SEND_SIGNAL(add_item, COMSIG_OBSERVER_MOVED) target.hud_used.update_robot_modules_display() - to_chat(usr, "You added \"[add_item]\" to [target].") + to_chat(usr, span_danger("You added \"[add_item]\" to [target].")) if(istype(add_item, /obj/item/stack/)) var/obj/item/stack/item_with_synth = add_item for(var/synth in item_with_synth.synths) @@ -104,8 +104,8 @@ else item_with_synth.synths = list(target.module.synths[found]) continue - if(istype(add_item, /obj/item/weapon/matter_decompiler/) || istype(add_item, /obj/item/device/dogborg/sleeper/compactor/decompiler/)) - var/obj/item/weapon/matter_decompiler/item_with_matter = add_item + if(istype(add_item, /obj/item/matter_decompiler/) || istype(add_item, /obj/item/dogborg/sleeper/compactor/decompiler/)) + var/obj/item/matter_decompiler/item_with_matter = add_item if(item_with_matter.metal) var/found = target.module.synths.Find(item_with_matter.metal) if(!found) @@ -141,7 +141,7 @@ var/selected_module_module = tgui_input_list(usr, "Please select the module to remove", "Modules", active_modules) if(!istype(selected_module_module, /obj/item/)) break - to_chat(usr, "You removed \"[selected_module_module]\" from [target]") + to_chat(usr, span_danger("You removed \"[selected_module_module]\" from [target]")) target.uneq_all() target.hud_used.update_robot_modules_display(TRUE) target.module.emag.Remove(selected_module_module) @@ -172,12 +172,12 @@ if(istype(U, /obj/item/borg/upgrade/restricted)) target.module.supported_upgrades |= new_upgrade if(U.action(target)) - to_chat(usr, "You apply the [U] to [target]!") + to_chat(usr, span_danger("You apply the [U] to [target]!")) usr.drop_item() U.loc = target target.hud_used.update_robot_modules_display() else - to_chat(usr, "Upgrade error!") + to_chat(usr, span_danger("Upgrade error!")) if(selected_module_upgrade == "Proto-Kinetic Accelerator") var/list/modkits = list() for(var/modkit in typesof(/obj/item/borg/upgrade/modkit)) @@ -191,9 +191,9 @@ break var/new_modkit = modkits[selected_ka_upgrade] var/obj/item/borg/upgrade/modkit/M = new new_modkit(src) - var/obj/item/weapon/gun/energy/kinetic_accelerator/kin = locate() in target.module.modules + var/obj/item/gun/energy/kinetic_accelerator/kin = locate() in target.module.modules if(kin.get_remaining_mod_capacity() >= M.cost) - to_chat(usr, "You installed the [M] into the [kin], [capacity]% remaining!") + to_chat(usr, span_danger("You installed the [M] into the [kin], [capacity]% remaining!")) modkits.Remove(selected_ka_upgrade) M.install(kin, target) capacity = kin.get_remaining_mod_capacity() @@ -229,30 +229,30 @@ var/selected_radio_channel = tgui_input_list(usr, "Please select the radio channel to add", "Channels", available_channels) if(!selected_radio_channel || selected_radio_channel == "Cancel") break - if(selected_radio_channel == "Special Ops") + if(selected_radio_channel == CHANNEL_SPECIAL_OPS || selected_radio_channel == CHANNEL_RESPONSE_TEAM) target.radio.centComm = 1 - if(selected_radio_channel == "Raider") + if(selected_radio_channel == CHANNEL_RAIDER) qdel(target.radio.keyslot) - target.radio.keyslot = new /obj/item/device/encryptionkey/raider(target) + target.radio.keyslot = new /obj/item/encryptionkey/raider(target) target.radio.syndie = 1 - if(selected_radio_channel == "Mercenary") + if(selected_radio_channel == CHANNEL_MERCENARY) qdel(target.radio.keyslot) - target.radio.keyslot = new /obj/item/device/encryptionkey/syndicate(target) + target.radio.keyslot = new /obj/item/encryptionkey/syndicate(target) target.radio.syndie = 1 target.module.channels += list("[selected_radio_channel]" = 1) target.radio.channels[selected_radio_channel] += target.module.channels[selected_radio_channel] target.radio.secure_radio_connections[selected_radio_channel] += radio_controller.add_object(target.radio, radiochannels[selected_radio_channel], RADIO_CHAT) available_channels -= selected_radio_channel - to_chat(usr, "You added \"[selected_radio_channel]\" channel to [target].") + to_chat(usr, span_danger("You added \"[selected_radio_channel]\" channel to [target].")) if(MODIFIY_ROBOT_RADIOC_REMOVE) while(TRUE) var/selected_radio_channel = tgui_input_list(usr, "Please select the radio channel to remove", "Channels", target.radio.channels) if(!selected_radio_channel || selected_radio_channel == "Cancel") break - if(selected_radio_channel == "Special Ops") + if(selected_radio_channel == CHANNEL_SPECIAL_OPS || selected_radio_channel == CHANNEL_RESPONSE_TEAM && !(target.module.channels[CHANNEL_SPECIAL_OPS] || target.module.channels[CHANNEL_RESPONSE_TEAM])) target.radio.centComm = 0 target.module.channels -= selected_radio_channel - if((selected_radio_channel == "Mercenary" || selected_radio_channel == "Raider") && !(target.module.channels["Raider"] || target.module.channels["Mercenary"])) + if((selected_radio_channel == CHANNEL_MERCENARY || selected_radio_channel == CHANNEL_RAIDER) && !(target.module.channels[CHANNEL_RAIDER] || target.module.channels[CHANNEL_MERCENARY])) qdel(target.radio.keyslot) target.radio.keyslot = null target.radio.syndie = 0 @@ -261,7 +261,7 @@ target.radio.channels[n_chan] -= target.module.channels[n_chan] radio_controller.remove_object(target.radio, radiochannels[selected_radio_channel]) target.radio.secure_radio_connections -= selected_radio_channel - to_chat(usr, "You removed \"[selected_radio_channel]\" channel from [target].") + to_chat(usr, span_danger("You removed \"[selected_radio_channel]\" channel from [target].")) if(MODIFIY_ROBOT_COMP_ADD) while(TRUE) var/selected_component = tgui_input_list(usr, "Please select the component to add or replace", "Component", target.components) @@ -276,11 +276,11 @@ if("radio") C.wrapped = new /obj/item/robot_parts/robot_component/radio(target) if("power cell") - var/list/recommended_cells = list(/obj/item/weapon/cell/robot_station, /obj/item/weapon/cell/high, /obj/item/weapon/cell/super, /obj/item/weapon/cell/robot_syndi, /obj/item/weapon/cell/hyper, - /obj/item/weapon/cell/infinite, /obj/item/weapon/cell/potato, /obj/item/weapon/cell/slime) + var/list/recommended_cells = list(/obj/item/cell/robot_station, /obj/item/cell/high, /obj/item/cell/super, /obj/item/cell/robot_syndi, /obj/item/cell/hyper, + /obj/item/cell/infinite, /obj/item/cell/potato, /obj/item/cell/slime) var/list/cell_names = list() for(var/cell_type in recommended_cells) - var/obj/item/weapon/cell/single_cell = cell_type + var/obj/item/cell/single_cell = cell_type cell_names[capitalize(initial(single_cell.name))] = cell_type var/selected_cell = tgui_input_list(usr, "What kind of cell do you want to install?", "Cells", cell_names) if(!selected_cell || selected_cell == "Cancel") @@ -289,7 +289,7 @@ var/new_power_cell = cell_names[capitalize(selected_cell)] target.cell = new new_power_cell(target) C.wrapped = target.cell - to_chat(usr, "You replaced \"[C]\" on [target] with \"[selected_cell]\".") + to_chat(usr, span_danger("You replaced \"[C]\" on [target] with \"[selected_cell]\".")) if("diagnosis unit") C.wrapped = new /obj/item/robot_parts/robot_component/diagnosis_unit(target) if("camera") @@ -301,7 +301,7 @@ C.install() C.installed = 1 if(selected_component != "power cell") - to_chat(usr, "You repplaced \"[C]\" on [target].") + to_chat(usr, span_danger("You repplaced \"[C]\" on [target].")) if(MODIFIY_ROBOT_COMP_REMOVE) while(TRUE) var/selected_component = tgui_input_list(usr, "Please select the component to remove", "Component", target.components) @@ -315,7 +315,7 @@ C.wrapped = null if(selected_component == "power cell") target.cell = null - to_chat(usr, "You removed \"[C]\" from [target]") + to_chat(usr, span_danger("You removed \"[C]\" from [target]")) if(MODIFIY_ROBOT_SWAP_MODULE) var/selected_module = tgui_input_list(usr, "Which Module would you like to use?", "Module", robot_modules) if(!selected_module || selected_module == "Cancel") @@ -337,30 +337,30 @@ if(tgui_alert(usr, "Are you sure that you want to reset the entire module?","Confirm",list("Yes","No"))!="Yes") continue target.module_reset(FALSE) - to_chat(usr, "You resetted [target]'s module selection.") + to_chat(usr, span_danger("You resetted [target]'s module selection.")) if(MODIFIY_ROBOT_TOGGLE_ERT) target.crisis_override = !target.crisis_override - to_chat(usr, "You [target.crisis_override? "enabled":"disabled"] [target]'s combat module overwrite.") + to_chat(usr, span_danger("You [target.crisis_override? "enabled":"disabled"] [target]'s combat module overwrite.")) if(tgui_alert(usr, "Do you want to reset the module as well to allow selection?","Confirm",list("Yes","No"))!="Yes") continue target.module_reset(FALSE) if(MODIFIY_ROBOT_TOGGLE_STATION_ACCESS) - if(target?.idcard?.access) - var/obj/item/weapon/card/id/synthetic/card = target.idcard - if(access_synth in card.access) + if(target?.idcard?.GetAccess()) + var/obj/item/card/id/synthetic/card = target.idcard + if(access_synth in card.GetAccess()) card.access -= get_all_station_access() card.access -= access_synth - to_chat(usr, "You revoke station access from [target].") + to_chat(usr, span_danger("You revoke station access from [target].")) else card.access |= get_all_station_access() card.access |= access_synth - to_chat(usr, "You grant station access to [target].") + to_chat(usr, span_danger("You grant station access to [target].")) if(MODIFIY_ROBOT_TOGGLE_CENT_ACCESS) - if(target?.idcard?.access) - var/obj/item/weapon/card/id/synthetic/card = target.idcard - if(access_cent_specops in card.access) + if(target?.idcard?.GetAccess()) + var/obj/item/card/id/synthetic/card = target.idcard + if(access_cent_specops in card.GetAccess()) card.access -= get_all_centcom_access() - to_chat(usr, "You revoke central access from [target].") + to_chat(usr, span_danger("You revoke central access from [target].")) else card.access |= get_all_centcom_access() - to_chat(usr, "You grant central access to [target].") + to_chat(usr, span_danger("You grant central access to [target].")) diff --git a/code/modules/admin/verbs/panicbunker.dm b/code/modules/admin/verbs/panicbunker.dm index 85ca43f4473..0e736696b12 100644 --- a/code/modules/admin/verbs/panicbunker.dm +++ b/code/modules/admin/verbs/panicbunker.dm @@ -1,45 +1,45 @@ /client/proc/panicbunker() - set category = "Server" + set category = "Server.Config" set name = "Toggle Panic Bunker" - + if(!check_rights(R_ADMIN)) return - if (!config.sql_enabled) - to_chat(usr, "The Database is not enabled!") + if (!CONFIG_GET(flag/sql_enabled)) + to_chat(usr, span_adminnotice("The Database is not enabled!")) return - config.panic_bunker = (!config.panic_bunker) + CONFIG_SET(flag/panic_bunker, !CONFIG_GET(flag/panic_bunker)) - log_and_message_admins("[key_name(usr)] has toggled the Panic Bunker, it is now [(config.panic_bunker?"on":"off")].") - if (config.panic_bunker && (!dbcon || !dbcon.IsConnected())) + log_and_message_admins("[key_name(usr)] has toggled the Panic Bunker, it is now [(CONFIG_GET(flag/panic_bunker) ? "on":"off")].") + if (CONFIG_GET(flag/panic_bunker) && (!dbcon || !dbcon.IsConnected())) message_admins("The database is not connected! Panic bunker will not work until the connection is reestablished.") feedback_add_details("admin_verb","PANIC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/paranoia_logging() - set category = "Server" + set category = "Server.Config" set name = "New Player Warnings" if(!check_rights(R_ADMIN)) return - config.paranoia_logging = (!config.paranoia_logging) + CONFIG_SET(flag/paranoia_logging, !CONFIG_GET(flag/paranoia_logging)) - log_and_message_admins("[key_name(usr)] has toggled Paranoia Logging, it is now [(config.paranoia_logging?"on":"off")].") - if (config.paranoia_logging && (!dbcon || !dbcon.IsConnected())) + log_and_message_admins("[key_name(usr)] has toggled Paranoia Logging, it is now [(CONFIG_GET(flag/paranoia_logging) ? "on":"off")].") + if (CONFIG_GET(flag/paranoia_logging) && (!dbcon || !dbcon.IsConnected())) message_admins("The database is not connected! Paranoia logging will not be able to give 'player age' (time since first connection) warnings, only Byond account warnings.") feedback_add_details("admin_verb","PARLOG") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/ip_reputation() - set category = "Server" + set category = "Server.Config" set name = "Toggle IP Rep Checks" if(!check_rights(R_ADMIN)) return - config.ip_reputation = (!config.ip_reputation) + CONFIG_SET(flag/ip_reputation, !CONFIG_GET(flag/ip_reputation)) - log_and_message_admins("[key_name(usr)] has toggled IP reputation checks, it is now [(config.ip_reputation?"on":"off")].") - if (config.ip_reputation && (!dbcon || !dbcon.IsConnected())) + log_and_message_admins("[key_name(usr)] has toggled IP reputation checks, it is now [(CONFIG_GET(flag/ip_reputation) ? "on":"off")].") + if (CONFIG_GET(flag/ip_reputation) && (!dbcon || !dbcon.IsConnected())) message_admins("The database is not connected! IP reputation logging will not be able to allow existing players to bypass the reputation checks (if that is enabled).") feedback_add_details("admin_verb","IPREP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! diff --git a/code/modules/admin/verbs/playsound.dm b/code/modules/admin/verbs/playsound.dm index c57ad0b706c..4fb01a3b313 100644 --- a/code/modules/admin/verbs/playsound.dm +++ b/code/modules/admin/verbs/playsound.dm @@ -6,7 +6,7 @@ var/list/sounds_cache = list() /client/proc/play_sound(S as sound) - set category = "Fun" + set category = "Fun.Sounds" set name = "Play Global Sound" if(!check_rights(R_SOUNDS)) return @@ -30,9 +30,11 @@ var/list/sounds_cache = list() sounds_cache += S var/res = tgui_alert(usr, "Show the title of this song ([S]) to the players?\nOptions 'Yes' and 'No' will play the sound.",, list("Yes", "No", "Cancel")) + if(!res) + return switch(res) if("Yes") - to_chat(world, "An admin played: [S]", confidential = TRUE) + to_chat(world, span_boldannounce("An admin played: [S]"), confidential = TRUE) if("Cancel") return @@ -40,7 +42,7 @@ var/list/sounds_cache = list() message_admins("[key_name_admin(src)] played sound [S]", 1) for(var/mob/M in player_list) - if(M.is_preference_enabled(/datum/client_preference/play_admin_midis)) + if(M.read_preference(/datum/preference/toggle/play_admin_midis)) admin_sound.volume = vol * M.client.admin_music_volume SEND_SOUND(M, admin_sound) admin_sound.volume = vol @@ -48,7 +50,7 @@ var/list/sounds_cache = list() feedback_add_details("admin_verb", "Play Global Sound") /client/proc/play_local_sound(S as sound) - set category = "Fun" + set category = "Fun.Sounds" set name = "Play Local Sound" if(!check_rights(R_SOUNDS)) return @@ -59,7 +61,7 @@ var/list/sounds_cache = list() feedback_add_details("admin_verb", "Play Local Sound") /client/proc/play_direct_mob_sound(S as sound, mob/M) - set category = "Fun" + set category = "Fun.Sounds" set name = "Play Direct Mob Sound" if(!check_rights(R_SOUNDS)) return @@ -74,7 +76,7 @@ var/list/sounds_cache = list() feedback_add_details("admin_verb", "Play Direct Mob Sound") /client/proc/play_z_sound(S as sound) - set category = "Fun" + set category = "Fun.Sounds" set name = "Play Z Sound" if(!check_rights(R_SOUNDS)) return var/target_z = mob.z @@ -83,20 +85,20 @@ var/list/sounds_cache = list() sounds_cache += S - if(tgui_alert(usr, "Do you ready?\nSong: [S]\nNow you can also play this sound using \"Play Server Sound\".", "Confirmation request", list("Play","Cancel")) == "Cancel") + if(tgui_alert(usr, "Do you ready?\nSong: [S]\nNow you can also play this sound using \"Play Server Sound\".", "Confirmation request", list("Play","Cancel")) != "Play") return log_admin("[key_name(src)] played sound [S] on Z[target_z]") message_admins("[key_name_admin(src)] played sound [S] on Z[target_z]", 1) for(var/mob/M in player_list) - if(M.is_preference_enabled(/datum/client_preference/play_admin_midis) && M.z == target_z) + if(M.read_preference(/datum/preference/toggle/play_admin_midis) && M.z == target_z) M << uploaded_sound feedback_add_details("admin_verb", "Play Z Sound") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/play_server_sound() - set category = "Fun" + set category = "Fun.Sounds" set name = "Play Server Sound" if(!check_rights(R_SOUNDS)) return @@ -117,9 +119,9 @@ var/list/sounds_cache = list() /proc/web_sound(mob/user, input, credit) if(!check_rights(R_SOUNDS)) return - var/ytdl = config.invoke_youtubedl + var/ytdl = CONFIG_GET(string/invoke_youtubedl) if(!ytdl) - to_chat(user, "Youtube-dl was not configured, action unavailable", confidential = TRUE) //Check config.txt for the INVOKE_YOUTUBEDL value + to_chat(user, span_boldwarning("Youtube-dl was not configured, action unavailable"), confidential = TRUE) //Check config.txt for the INVOKE_YOUTUBEDL value return var/web_sound_url = "" var/stop_web_sounds = FALSE @@ -132,15 +134,15 @@ var/list/sounds_cache = list() var/stdout = output[SHELLEO_STDOUT] var/stderr = output[SHELLEO_STDERR] if(errorlevel) - to_chat(user, "Youtube-dl URL retrieval FAILED:", confidential = TRUE) - to_chat(user, "[stderr]", confidential = TRUE) + to_chat(user, span_boldwarning("Youtube-dl URL retrieval FAILED:"), confidential = TRUE) + to_chat(user, span_warning("[stderr]"), confidential = TRUE) return var/list/data try data = json_decode(stdout) catch(var/exception/e) - to_chat(user, "Youtube-dl JSON parsing FAILED:", confidential = TRUE) - to_chat(user, "[e]: [stdout]", confidential = TRUE) + to_chat(user, span_boldwarning("Youtube-dl JSON parsing FAILED:"), confidential = TRUE) + to_chat(user, span_warning("[e]: [stdout]"), confidential = TRUE) return if (data["url"]) web_sound_url = data["url"] @@ -173,16 +175,16 @@ var/list/sounds_cache = list() switch(anon) if("Yes") if(res == "Yes") - to_chat(world, "[user.key] played: [webpage_url]", confidential = TRUE) + to_chat(world, span_boldannounce("[user.key] played: [webpage_url]"), confidential = TRUE) else - to_chat(world, "[user.key] played a sound", confidential = TRUE) + to_chat(world, span_boldannounce("[user.key] played a sound"), confidential = TRUE) if("No") if(res == "Yes") - to_chat(world, "An admin played: [webpage_url]", confidential = TRUE) + to_chat(world, span_boldannounce("An admin played: [webpage_url]"), confidential = TRUE) if("Cancel", null) return if(credit) - to_chat(world, "[credit]", confidential = TRUE) + to_chat(world, span_boldannounce("[credit]"), confidential = TRUE) //SSblackbox.record_feedback("nested tally", "played_url", 1, list("[user.ckey]", "[input]")) log_admin("[key_name(user)] played web sound: [input]") message_admins("[key_name(user)] played web sound: [input]") @@ -195,14 +197,14 @@ var/list/sounds_cache = list() stop_web_sounds = TRUE if(web_sound_url && !findtext(web_sound_url, GLOB.is_http_protocol)) tgui_alert(user, "The media provider returned a content URL that isn't using the HTTP or HTTPS protocol. This is a security risk and the sound will not be played.", "Security Risk", list("OK")) - to_chat(user, "BLOCKED: Content URL not using HTTP(S) Protocol!", confidential = TRUE) + to_chat(user, span_boldwarning("BLOCKED: Content URL not using HTTP(S) Protocol!"), confidential = TRUE) return if(web_sound_url || stop_web_sounds) for(var/m in player_list) var/mob/M = m var/client/C = M.client - if(C.is_preference_enabled(/datum/client_preference/play_admin_midis)) + if(C.prefs?.read_preference(/datum/preference/toggle/play_admin_midis)) if(!stop_web_sounds) C.tgui_panel?.play_music(web_sound_url, music_extra_data) else @@ -213,14 +215,14 @@ var/list/sounds_cache = list() feedback_add_details("admin_verb", "Play Internet Sound") /client/proc/play_web_sound() - set category = "Fun" + set category = "Fun.Sounds" set name = "Play Internet Sound" if(!check_rights(R_SOUNDS)) return - var/ytdl = config.invoke_youtubedl + var/ytdl = CONFIG_GET(string/invoke_youtubedl) if(!ytdl) - to_chat(src, "Youtube-dl was not configured, action unavailable", confidential = TRUE) //Check config.txt for the INVOKE_YOUTUBEDL value + to_chat(src, span_boldwarning("Youtube-dl was not configured, action unavailable"), confidential = TRUE) //Check config.txt for the INVOKE_YOUTUBEDL value return if(S_TIMER_COOLDOWN_TIMELEFT(SStimer, COOLDOWN_INTERNET_SOUND)) @@ -233,15 +235,15 @@ var/list/sounds_cache = list() if(length(web_sound_input)) web_sound_input = trim(web_sound_input) if(findtext(web_sound_input, ":") && !findtext(web_sound_input, GLOB.is_http_protocol)) - to_chat(src, "Non-http(s) URIs are not allowed.", confidential = TRUE) - to_chat(src, "For youtube-dl shortcuts like ytsearch: please use the appropriate full URL from the website.", confidential = TRUE) + to_chat(src, span_boldwarning("Non-http(s) URIs are not allowed."), confidential = TRUE) + to_chat(src, span_warning("For youtube-dl shortcuts like ytsearch: please use the appropriate full URL from the website."), confidential = TRUE) return web_sound(usr, web_sound_input) else web_sound(usr, null) /client/proc/stop_sounds() - set category = "Debug" + set category = "Debug.Dangerous" set name = "Stop All Playing Sounds" if(!src.holder) return @@ -262,8 +264,8 @@ var/list/sounds_cache = list() #undef SHELLEO_STDERR /* -/client/proc/cuban_pete() - set category = "Fun" +/client/proc/cuban_pete()" + set category = "Fun.Sounds" set name = "Cuban Pete Time" message_admins("[key_name_admin(usr)] has declared Cuban Pete Time!", 1) @@ -278,8 +280,8 @@ var/list/sounds_cache = list() CP.gib() -/client/proc/bananaphone() - set category = "Fun" +/client/proc/bananaphone()" + set category = "Fun.Sounds" set name = "Banana Phone" message_admins("[key_name_admin(usr)] has activated Banana Phone!", 1) @@ -289,8 +291,8 @@ var/list/sounds_cache = list() M << 'bananaphone.ogg' -/client/proc/space_asshole() - set category = "Fun" +/client/proc/space_asshole()" + set category = "Fun.Sounds" set name = "Space Asshole" message_admins("[key_name_admin(usr)] has played the Space Asshole Hymn.", 1) @@ -300,8 +302,8 @@ var/list/sounds_cache = list() M << 'sound/music/space_asshole.ogg' -/client/proc/honk_theme() - set category = "Fun" +/client/proc/honk_theme()" + set category = "Fun.Sounds" set name = "Honk" message_admins("[key_name_admin(usr)] has creeped everyone out with Blackest Honks.", 1) diff --git a/code/modules/admin/verbs/possess.dm b/code/modules/admin/verbs/possess.dm index 5e4a3d0ce7a..0ce3fd727eb 100644 --- a/code/modules/admin/verbs/possess.dm +++ b/code/modules/admin/verbs/possess.dm @@ -3,7 +3,7 @@ set category = "Object" if(istype(O,/obj/singularity)) - if(config.forbid_singulo_possession) + if(CONFIG_GET(flag/forbid_singulo_possession)) to_chat(usr, "It is forbidden to possess singularities.") return @@ -47,6 +47,6 @@ set desc = "Give this guy possess/release verbs" set category = "Debug" set name = "Give Possessing Verbs" - M.verbs += /proc/possess - M.verbs += /proc/release - feedback_add_details("admin_verb","GPV") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! \ No newline at end of file + add_verb(M, /proc/possess) + add_verb(M, /proc/release) + feedback_add_details("admin_verb","GPV") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! diff --git a/code/modules/admin/verbs/pray.dm b/code/modules/admin/verbs/pray.dm index d4a405e35c0..1e3b8117e9e 100644 --- a/code/modules/admin/verbs/pray.dm +++ b/code/modules/admin/verbs/pray.dm @@ -1,11 +1,7 @@ /mob/verb/pray() - set category = "IC" + set category = "IC.Game" set name = "Pray" - if(say_disabled) //This is here to try to identify lag problems - to_chat(usr, span_red("Speech is currently admin-disabled.")) - return - var/raw_msg = sanitize(tgui_input_text(usr, "Prayers are sent to staff but do not open tickets or go to Discord. If you have a technical difficulty or an event/spice idea/hook - please ahelp instead. Thank you!", "Pray", null, MAX_MESSAGE_LEN)) if(!raw_msg) return @@ -17,28 +13,31 @@ return var/icon/cross = icon('icons/obj/storage.dmi',"bible") - var/msg = "" + span_blue("[icon2html(cross, GLOB.admins)] " + span_purple("PRAY: ") + "[key_name(src, 1)] [ADMIN_QUE(src)] [ADMIN_PP(src)] [ADMIN_VV(src)] [ADMIN_SM(src)] ([admin_jump_link(src, src)]) [ADMIN_CA(src)] [ADMIN_SC(src)] [ADMIN_SMITE(src)]: [raw_msg]") + "" + var/msg = span_filter_pray(span_blue("[icon2html(cross, GLOB.admins)] " + span_purple("PRAY: ") + "[key_name(src, 1)] [ADMIN_QUE(src)] [ADMIN_PP(src)] [ADMIN_VV(src)] [ADMIN_SM(src)] ([admin_jump_link(src, src)]) [ADMIN_CA(src)] [ADMIN_SC(src)] [ADMIN_SMITE(src)]: [raw_msg]")) for(var/client/C in GLOB.admins) - if(R_ADMIN|R_EVENT & C.holder.rights) - if(C.is_preference_enabled(/datum/client_preference/admin/show_chat_prayers)) - to_chat(C, msg, type = MESSAGE_TYPE_PRAYER, confidential = TRUE) - C << 'sound/effects/ding.ogg' + if(!check_rights(R_ADMIN, 0, C)) + continue + if(C.prefs?.read_preference(/datum/preference/toggle/show_chat_prayers)) + to_chat(C, msg, type = MESSAGE_TYPE_PRAYER, confidential = TRUE) + C << 'sound/effects/ding.ogg' to_chat(usr, "Your prayers have been received by the gods.", confidential = TRUE) feedback_add_details("admin_verb","PR") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! log_pray(raw_msg, src) /proc/CentCom_announce(var/msg, var/mob/Sender, var/iamessage) - msg = span_blue("" + span_orange("[uppertext(using_map.boss_short)]M[iamessage ? " IA" : ""]:") + "[key_name(Sender, 1)] [ADMIN_PP(Sender)] [ADMIN_VV(Sender)] [ADMIN_SM(Sender)] ([admin_jump_link(Sender)]) [ADMIN_CA(Sender)] [ADMIN_BSA(Sender)] [ADMIN_CENTCOM_REPLY(Sender)]: [msg]") + msg = span_blue(span_bold(span_orange("[uppertext(using_map.boss_short)]M[iamessage ? " IA" : ""]:") + "[key_name(Sender, 1)] [ADMIN_PP(Sender)] [ADMIN_VV(Sender)] [ADMIN_SM(Sender)] ([admin_jump_link(Sender)]) [ADMIN_CA(Sender)] [ADMIN_BSA(Sender)] [ADMIN_CENTCOM_REPLY(Sender)]:") + " [msg]") for(var/client/C in GLOB.admins) //VOREStation Edit - GLOB admins - if(R_ADMIN|R_EVENT & C.holder.rights) - to_chat(C,msg) - C << 'sound/machines/signal.ogg' + if(!check_rights(R_ADMIN, 0, C)) + continue + to_chat(C,msg) + C << 'sound/machines/signal.ogg' /proc/Syndicate_announce(var/msg, var/mob/Sender) - msg = span_blue("" + span_crimson("ILLEGAL:") + "[key_name(Sender, 1)] [ADMIN_PP(Sender)] [ADMIN_VV(Sender)] [ADMIN_SM(Sender)] ([admin_jump_link(Sender)]) [ADMIN_CA(Sender)] [ADMIN_BSA(Sender)] [ADMIN_SYNDICATE_REPLY(Sender)]: [msg]") + msg = span_blue(span_bold(span_crimson("ILLEGAL:") + "[key_name(Sender, 1)] [ADMIN_PP(Sender)] [ADMIN_VV(Sender)] [ADMIN_SM(Sender)] ([admin_jump_link(Sender)]) [ADMIN_CA(Sender)] [ADMIN_BSA(Sender)] [ADMIN_SYNDICATE_REPLY(Sender)]:") + " [msg]") for(var/client/C in GLOB.admins) //VOREStation Edit - GLOB admins - if(R_ADMIN|R_EVENT & C.holder.rights) - to_chat(C,msg) - C << 'sound/machines/signal.ogg' + if(!check_rights(R_ADMIN, 0, C)) + continue + to_chat(C,msg) + C << 'sound/machines/signal.ogg' diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 1cf5db26400..91c8b5ef93a 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -9,7 +9,7 @@ return for(var/obj/item/W in M) - if(istype(W, /obj/item/weapon/implant/backup) || istype(W, /obj/item/device/nif)) //VOREStation Edit - There's basically no reason to remove either of these + if(istype(W, /obj/item/implant/backup) || istype(W, /obj/item/nif)) //VOREStation Edit - There's basically no reason to remove either of these continue //VOREStation Edit M.drop_from_inventory(W) @@ -18,7 +18,7 @@ feedback_add_details("admin_verb","DEVR") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_admin_prison(mob/M as mob in mob_list) - set category = "Admin" + set category = "Admin.Game" set name = "Prison" if(!holder) return @@ -46,13 +46,14 @@ //Allows staff to determine who the newer players are. /client/proc/cmd_check_new_players() - set category = "Admin" + set category = "Admin.Investigate" set name = "Check new Players" if(!holder) return var/age = tgui_alert(src, "Age check", "Show accounts yonger then _____ days", list("7","30","All")) - + if(!age) + return if(age == "All") age = 9999999 else @@ -79,7 +80,7 @@ to_chat(src, "No matches for that age range found.") /client/proc/cmd_admin_subtle_message(mob/M as mob in mob_list) - set category = "Special Verbs" + set category = "Admin" set name = "Subtle Message" if(!ismob(M)) return @@ -97,16 +98,16 @@ if(usr) if (usr.client) if(usr.client.holder) - to_chat(M, "You hear a voice in your head... [msg]") + to_chat(M, span_bold("You hear a voice in your head...") + " " + span_italics("[msg]")) log_admin("SubtlePM: [key_name(usr)] -> [key_name(M)] : [msg]") - msg = " SubtleMessage: [key_name_admin(usr)] -> [key_name_admin(M)] : [msg]" + msg = span_admin_pm_notice(span_bold(" SubtleMessage: [key_name_admin(usr)] -> [key_name_admin(M)] :") + " [msg]") message_admins(msg) admin_ticket_log(M, msg) feedback_add_details("admin_verb","SMS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_admin_world_narrate() // Allows administrators to fluff events a little easier -- TLE - set category = "Special Verbs" + set category = "Fun.Narrate" set name = "Global Narrate" if (!holder) @@ -123,11 +124,11 @@ to_world("[msg]") log_admin("GlobalNarrate: [key_name(usr)] : [msg]") - message_admins(span_blue(" GlobalNarrate: [key_name_admin(usr)] : [msg]
        "), 1) + message_admins(span_blue(span_bold(" GlobalNarrate: [key_name_admin(usr)] : [msg]
        ")), 1) feedback_add_details("admin_verb","GLN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_admin_direct_narrate(var/mob/M) // Targetted narrate -- TLE - set category = "Special Verbs" + set category = "Fun.Narrate" set name = "Direct Narrate" if(!holder) @@ -148,13 +149,13 @@ to_chat(M, msg) log_admin("DirectNarrate: [key_name(usr)] to ([M.name]/[M.key]): [msg]") - msg = " DirectNarrate: [key_name(usr)] to ([M.name]/[M.key]): [msg]
        " + msg = span_admin_pm_notice(span_bold(" DirectNarrate: [key_name(usr)] to ([M.name]/[M.key]):") + " [msg]
        ") message_admins(msg) admin_ticket_log(M, msg) feedback_add_details("admin_verb","DIRN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_admin_godmode(mob/M as mob in mob_list) - set category = "Special Verbs" + set category = "Admin.Game" set name = "Godmode" if(!holder) @@ -172,7 +173,7 @@ /proc/cmd_admin_mute(mob/M as mob, mute_type, automute = 0) if(automute) - if(!config.automute_on) + if(!CONFIG_GET(flag/automute_on)) return else if(!usr || !usr.client) @@ -207,7 +208,7 @@ M.client.prefs.muted |= mute_type log_admin("SPAM AUTOMUTE: [muteunmute] [key_name(M)] from [mute_string]") message_admins("SPAM AUTOMUTE: [muteunmute] [key_name_admin(M)] from [mute_string].", 1) - to_chat(M, "You have been [muteunmute] from [mute_string] by the SPAM AUTOMUTE system. Contact an admin.") + to_chat(M, span_alert("You have been [muteunmute] from [mute_string] by the SPAM AUTOMUTE system. Contact an admin.")) feedback_add_details("admin_verb","AUTOMUTE") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! return @@ -220,11 +221,11 @@ log_admin("[key_name(usr)] has [muteunmute] [key_name(M)] from [mute_string]") message_admins("[key_name_admin(usr)] has [muteunmute] [key_name_admin(M)] from [mute_string].", 1) - to_chat(M, "You have been [muteunmute] from [mute_string].") + to_chat(M, span_alert("You have been [muteunmute] from [mute_string].")) feedback_add_details("admin_verb","MUTE") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_admin_add_random_ai_law() - set category = "Fun" + set category = "Fun.Silicon" set name = "Add Random AI Law" if(!holder) @@ -236,6 +237,8 @@ message_admins("[key_name_admin(src)] has added a random AI law.", 1) var/show_log = tgui_alert(src, "Show ion message?", "Message", list("Yes", "No")) + if(!show_log) + return if(show_log == "Yes") command_announcement.Announce("Ion storm detected near \the [station_name()]. Please check all AI-controlled equipment for errors.", "Anomaly Alert", new_sound = 'sound/AI/ionstorm.ogg') @@ -273,7 +276,7 @@ Ccomp's first proc. /client/proc/allow_character_respawn() - set category = "Special Verbs" + set category = "Admin.Game" set name = "Allow player to respawn" set desc = "Let a player bypass the wait to respawn or allow them to re-enter their corpse." @@ -286,7 +289,7 @@ Ccomp's first proc. if(GLOB.respawn_timers[target] == -1) // Their respawn timer is set to -1, which is 'not allowed to respawn' var/response = tgui_alert(src, "Are you sure you wish to allow this individual to respawn? They would normally not be able to.","Allow impossible respawn?",list("No","Yes")) - if(response == "No") + if(response != "Yes") return GLOB.respawn_timers -= target @@ -295,22 +298,22 @@ Ccomp's first proc. for(var/client/C as anything in GLOB.clients) if(C.ckey == target) found_client = C - to_chat(C, "You may now respawn. You should roleplay as if you learned nothing about the round during your time with the dead.") + to_chat(C, span_boldnotice("You may now respawn. You should roleplay as if you learned nothing about the round during your time with the dead.")) if(isobserver(C.mob)) var/mob/observer/dead/G = C.mob G.can_reenter_corpse = 1 - to_chat(C, "You can also re-enter your corpse, if you still have one!") + to_chat(C, span_boldnotice("You can also re-enter your corpse, if you still have one!")) break if(!found_client) - to_chat(src, "The associated client didn't appear to be connected, so they couldn't be notified, but they can now respawn if they reconnect.") + to_chat(src, span_notice("The associated client didn't appear to be connected, so they couldn't be notified, but they can now respawn if they reconnect.")) log_admin("[key_name(usr)] allowed [found_client ? key_name(found_client) : target] to bypass the respawn time limit") message_admins("Admin [key_name_admin(usr)] allowed [found_client ? key_name_admin(found_client) : target] to bypass the respawn time limit", 1) /client/proc/toggle_antagHUD_use() - set category = "Server" + set category = "Server.Game" set name = "Toggle antagHUD usage" set desc = "Toggles antagHUD usage for observers" @@ -318,25 +321,25 @@ Ccomp's first proc. return var/action="" - if(config.antag_hud_allowed) + if(CONFIG_GET(flag/antag_hud_allowed)) for(var/mob/observer/dead/g in get_ghosts()) if(!g.client.holder) //Remove the verb from non-admin ghosts - g.verbs -= /mob/observer/dead/verb/toggle_antagHUD + remove_verb(g, /mob/observer/dead/verb/toggle_antagHUD) if(g.antagHUD) g.antagHUD = 0 // Disable it on those that have it enabled g.has_enabled_antagHUD = 2 // We'll allow them to respawn - to_chat(g, span_red("The Administrator has disabled AntagHUD ")) - config.antag_hud_allowed = 0 - to_chat(src, span_red("AntagHUD usage has been disabled")) + to_chat(g, span_boldwarning("The Administrator has disabled AntagHUD ")) + CONFIG_SET(flag/antag_hud_allowed, FALSE) + to_chat(src, span_boldwarning("AntagHUD usage has been disabled")) action = "disabled" else for(var/mob/observer/dead/g in get_ghosts()) if(!g.client.holder) // Add the verb back for all non-admin ghosts - g.verbs += /mob/observer/dead/verb/toggle_antagHUD - to_chat(g, span_blue("The Administrator has enabled AntagHUD ")) // Notify all observers they can now use AntagHUD - config.antag_hud_allowed = 1 + add_verb(g, /mob/observer/dead/verb/toggle_antagHUD) + to_chat(g, span_boldnotice("The Administrator has enabled AntagHUD")) // Notify all observers they can now use AntagHUD + CONFIG_SET(flag/antag_hud_allowed, TRUE) action = "enabled" - to_chat(src, span_blue("AntagHUD usage has been enabled")) + to_chat(src, span_boldnotice("AntagHUD usage has been enabled")) log_admin("[key_name(usr)] has [action] antagHUD usage for observers") @@ -345,7 +348,7 @@ Ccomp's first proc. /client/proc/toggle_antagHUD_restrictions() - set category = "Server" + set category = "Server.Game" set name = "Toggle antagHUD Restrictions" set desc = "Restricts players that have used antagHUD from being able to join this round." @@ -353,21 +356,21 @@ Ccomp's first proc. return var/action="" - if(config.antag_hud_restricted) + if(CONFIG_GET(flag/antag_hud_restricted)) for(var/mob/observer/dead/g in get_ghosts()) - to_chat(g, span_blue("The administrator has lifted restrictions on joining the round if you use AntagHUD")) + to_chat(g, span_boldnotice("The administrator has lifted restrictions on joining the round if you use AntagHUD")) action = "lifted restrictions" - config.antag_hud_restricted = 0 - to_chat(src, span_blue("AntagHUD restrictions have been lifted")) + CONFIG_SET(flag/antag_hud_restricted, FALSE) + to_chat(src, span_boldnotice("AntagHUD restrictions have been lifted")) else for(var/mob/observer/dead/g in get_ghosts()) - to_chat(g, span_red("The administrator has placed restrictions on joining the round if you use AntagHUD")) - to_chat(g, span_red("Your AntagHUD has been disabled, you may choose to re-enabled it but will be under restrictions ")) + to_chat(g, span_boldwarning("The administrator has placed restrictions on joining the round if you use AntagHUD")) + to_chat(g, span_boldwarning("Your AntagHUD has been disabled, you may choose to re-enabled it but will be under restrictions ")) g.antagHUD = 0 g.has_enabled_antagHUD = 0 action = "placed restrictions" - config.antag_hud_restricted = 1 - to_chat(src, span_red("AntagHUD restrictions have been enabled")) + CONFIG_SET(flag/antag_hud_restricted, TRUE) + to_chat(src, span_boldwarning("AntagHUD restrictions have been enabled")) log_admin("[key_name(usr)] has [action] on joining the round if they use AntagHUD") message_admins("Admin [key_name_admin(usr)] has [action] on joining the round if they use AntagHUD", 1) @@ -378,7 +381,7 @@ Works kind of like entering the game with a new character. Character receives a Traitors and the like can also be revived with the previous role mostly intact. /N */ /client/proc/respawn_character() - set category = "Special Verbs" + set category = "Fun.Event Kit" set name = "Spawn Character" set desc = "(Re)Spawn a client's loaded character." @@ -401,7 +404,7 @@ Traitors and the like can also be revived with the previous role mostly intact. return var/announce = tgui_alert(src,"Announce as if they had just arrived?", "Announce", list("No", "Yes", "Cancel")) - if(announce == "Cancel") + if(!announce || announce == "Cancel") return else if(announce == "Yes") //Too bad buttons can't just have 1/0 values and different display strings announce = 1 @@ -409,7 +412,7 @@ Traitors and the like can also be revived with the previous role mostly intact. announce = 0 var/inhabit = tgui_alert(src,"Put the person into the spawned mob?", "Inhabit", list("Yes", "No", "Cancel")) - if(inhabit == "Cancel") + if(!inhabit || inhabit == "Cancel") return else if(inhabit == "Yes") inhabit = 1 @@ -425,13 +428,15 @@ Traitors and the like can also be revived with the previous role mostly intact. //Found their record, they were spawned previously if(record_found) var/samejob = tgui_alert(src,"Found [picked_client.prefs.real_name] in data core. They were [record_found.fields["real_rank"]] this round. Assign same job? They will not be re-added to the manifest/records, either way.","Previously spawned",list("Yes","Assistant","No")) + if(!samejob) + return if(samejob == "Yes") charjob = record_found.fields["real_rank"] - else if(samejob == USELESS_JOB) //VOREStation Edit - Visitor not Assistant - charjob = USELESS_JOB //VOREStation Edit - Visitor not Assistant + else if(samejob == JOB_ALT_VISITOR) //VOREStation Edit - Visitor not Assistant + charjob = JOB_ALT_VISITOR //VOREStation Edit - Visitor not Assistant else records = tgui_alert(src,"No data core entry detected. Would you like add them to the manifest, and sec/med/HR records?","Records",list("No", "Yes", "Cancel")) - if(records == "Cancel") + if(!records || records == "Cancel") return if(records == "Yes") records = 1 @@ -450,7 +455,7 @@ Traitors and the like can also be revived with the previous role mostly intact. var/equipment if(charjob) equipment = tgui_alert(src,"Spawn them with equipment?", "Equipment", list("Yes", "No", "Cancel")) - if(equipment == "Cancel") + if(!equipment || equipment == "Cancel") return else if(equipment == "Yes") equipment = 1 @@ -478,7 +483,7 @@ Traitors and the like can also be revived with the previous role mostly intact. return if(showy == "Drop Pod") showy = tgui_alert(src,"Destructive drop pods cause damage in a 3x3 and may break turfs. Polite drop pods lightly damage the turfs but won't break through.", "Drop Pod", list("Polite", "Destructive", "Cancel")) // reusing var - if(showy == "Cancel") + if(!showy || showy == "Cancel") return if("Arrivals") //Spawn them at a latejoin spawnpoint @@ -589,7 +594,7 @@ Traitors and the like can also be revived with the previous role mostly intact. return new_character /client/proc/cmd_admin_add_freeform_ai_law() - set category = "Fun" + set category = "Fun.Silicon" set name = "Add Custom AI law" if(!holder) @@ -618,7 +623,7 @@ Traitors and the like can also be revived with the previous role mostly intact. feedback_add_details("admin_verb","IONC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_admin_rejuvenate(mob/living/M as mob in mob_list) - set category = "Special Verbs" + set category = "Admin.Game" set name = "Rejuvenate" if(!holder) @@ -629,11 +634,11 @@ Traitors and the like can also be revived with the previous role mostly intact. if(!istype(M)) tgui_alert_async(usr, "Cannot revive a ghost") return - if(config.allow_admin_rev) + if(CONFIG_GET(flag/allow_admin_rev)) M.revive() log_admin("[key_name(usr)] healed / revived [key_name(M)]") - var/msg = "Admin [key_name_admin(usr)] healed / revived [ADMIN_LOOKUPFLW(M)]!" + var/msg = span_danger("Admin [key_name_admin(usr)] healed / revived [ADMIN_LOOKUPFLW(M)]!") message_admins(msg) admin_ticket_log(M, msg) else @@ -641,7 +646,7 @@ Traitors and the like can also be revived with the previous role mostly intact. feedback_add_details("admin_verb","REJU") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_admin_create_centcom_report() - set category = "Special Verbs" + set category = "Fun.Event Kit" set name = "Create Command Report" if(!holder) @@ -657,19 +662,21 @@ Traitors and the like can also be revived with the previous role mostly intact. //New message handling post_comm_message(customname, replacetext(input, "\n", "
        ")) - switch(tgui_alert(usr, "Should this be announced to the general population?","Show world?",list("Yes","No"))) - if("Yes") - command_announcement.Announce(input, customname, new_sound = 'sound/AI/commandreport.ogg', msg_sanitized = 1); - if("No") - to_world(span_red("New [using_map.company_name] Update available at all communication consoles.")) - world << sound('sound/AI/commandreport.ogg') + var/confirm = tgui_alert(usr, "Should this be announced to the general population?","Show world?",list("Yes","No")) + if(!confirm) + return + if(confirm == "Yes") + command_announcement.Announce(input, customname, new_sound = 'sound/AI/commandreport.ogg', msg_sanitized = 1); + else + to_world(span_red("New [using_map.company_name] Update available at all communication consoles.")) + world << sound('sound/AI/commandreport.ogg') log_admin("[key_name(src)] has created a command report: [input]") message_admins("[key_name_admin(src)] has created a command report", 1) feedback_add_details("admin_verb","CCR") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_admin_delete(atom/O as obj|mob|turf in _validate_atom(O)) // I don't understand precisely how this fixes the string matching against a substring, but it does - Ater - set category = "Admin" + set category = "Admin.Game" set name = "Delete" if (!holder) @@ -678,7 +685,7 @@ Traitors and the like can also be revived with the previous role mostly intact. admin_delete(O) /client/proc/cmd_admin_list_open_jobs() - set category = "Admin" + set category = "Admin.Investigate" set name = "List free slots" if (!holder) @@ -690,7 +697,7 @@ Traitors and the like can also be revived with the previous role mostly intact. feedback_add_details("admin_verb","LFS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_admin_explosion(atom/O as obj|mob|turf in world) - set category = "Special Verbs" + set category = "Fun.Do Not" set name = "Explosion" if(!check_rights(R_DEBUG|R_FUN)) return //VOREStation Edit @@ -706,7 +713,7 @@ Traitors and the like can also be revived with the previous role mostly intact. if ((devastation != -1) || (heavy != -1) || (light != -1) || (flash != -1)) if ((devastation > 20) || (heavy > 20) || (light > 20)) - if (tgui_alert(src, "Are you sure you want to do this? It will laaag.", "Confirmation", list("Yes", "No")) == "No") + if (tgui_alert(src, "Are you sure you want to do this? It will laaag.", "Confirmation", list("Yes", "No")) != "Yes") return explosion(O, devastation, heavy, light, flash) @@ -718,7 +725,7 @@ Traitors and the like can also be revived with the previous role mostly intact. return /client/proc/cmd_admin_emp(atom/O as obj|mob|turf in world) - set category = "Special Verbs" + set category = "Fun.Do Not" set name = "EM Pulse" if(!check_rights(R_DEBUG|R_FUN)) return //VOREStation Edit @@ -744,7 +751,7 @@ Traitors and the like can also be revived with the previous role mostly intact. return /client/proc/cmd_admin_gib(mob/M as mob in mob_list) - set category = "Special Verbs" + set category = "Fun.Do Not" set name = "Gib" if(!check_rights(R_ADMIN|R_FUN)) return //VOREStation Edit @@ -766,12 +773,14 @@ Traitors and the like can also be revived with the previous role mostly intact. /client/proc/cmd_admin_gib_self() set name = "Gibself" - set category = "Fun" + set category = "Fun.Do Not" if(!holder) return var/confirm = tgui_alert(src, "You sure?", "Confirm", list("Yes", "No")) + if(!confirm) + return if(confirm == "Yes") if (istype(mob, /mob/observer/dead)) // so they don't spam gibs everywhere return @@ -784,7 +793,7 @@ Traitors and the like can also be revived with the previous role mostly intact. /* /client/proc/cmd_manual_ban() set name = "Manual Ban" - set category = "Special Verbs" + set category = "Admin.Moderation" if(!authenticated || !holder) to_chat(src, "Only administrators may use this command.") return @@ -844,7 +853,7 @@ Traitors and the like can also be revived with the previous role mostly intact. return /client/proc/cmd_admin_check_contents(mob/living/M as mob in mob_list) - set category = "Special Verbs" + set category = "Admin.Investigate" set name = "Check Contents" set popup_menu = FALSE //VOREStation Edit - Declutter. @@ -858,7 +867,7 @@ Traitors and the like can also be revived with the previous role mostly intact. /* This proc is DEFERRED. Does not do anything. /client/proc/cmd_admin_remove_phoron() - set category = "Debug" + set category = "Debug.Game" set name = "Stabilize Atmos." if(!holder) to_chat(src, "Only administrators may use this command.") @@ -888,7 +897,7 @@ Traitors and the like can also be revived with the previous role mostly intact. */ /client/proc/toggle_view_range() - set category = "Special Verbs" + set category = "Admin.Game" set name = "Change View Range" set desc = "switches between 1x and custom views" @@ -908,7 +917,7 @@ Traitors and the like can also be revived with the previous role mostly intact. feedback_add_details("admin_verb","CVRA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/admin_call_shuttle() - set category = "Admin" + set category = "Admin.Events" set name = "Call Shuttle" if ((!( ticker ) || !emergency_shuttle.location())) @@ -940,7 +949,7 @@ Traitors and the like can also be revived with the previous role mostly intact. return /client/proc/admin_cancel_shuttle() - set category = "Admin" + set category = "Admin.Events" set name = "Cancel Shuttle" if(!check_rights(R_ADMIN)) return //VOREStation Edit @@ -958,7 +967,7 @@ Traitors and the like can also be revived with the previous role mostly intact. return /client/proc/admin_deny_shuttle() - set category = "Admin" + set category = "Admin.Events" set name = "Toggle Deny Shuttle" if (!ticker) @@ -972,17 +981,17 @@ Traitors and the like can also be revived with the previous role mostly intact. message_admins("[key_name_admin(usr)] has [emergency_shuttle.deny_shuttle ? "denied" : "allowed"] the shuttle to be called.") /client/proc/cmd_admin_attack_log(mob/M as mob in mob_list) - set category = "Special Verbs" + set category = "Admin.Logs" set name = "Attack Log" - to_chat(usr, span_red("Attack Log for [mob]")) + to_chat(usr, span_red(span_bold("Attack Log for [mob]"))) for(var/t in M.attack_log) to_chat(usr,t) feedback_add_details("admin_verb","ATTL") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/everyone_random() - set category = "Fun" + set category = "Fun.Do Not" set name = "Make Everyone Random" set desc = "Make everyone have a random appearance. You can only use this before rounds!" @@ -1000,14 +1009,14 @@ Traitors and the like can also be revived with the previous role mostly intact. var/notifyplayers = tgui_alert(src, "Do you want to notify the players?", "Options", list("Yes", "No", "Cancel")) - if(notifyplayers == "Cancel") + if(!notifyplayers || notifyplayers == "Cancel") return log_admin("Admin [key_name(src)] has forced the players to have random appearances.") message_admins("Admin [key_name_admin(usr)] has forced the players to have random appearances.", 1) if(notifyplayers == "Yes") - to_world(span_blue("Admin [usr.key] has forced the players to have completely random identities!")) + to_world(span_boldannounce(span_blue("Admin [usr.key] has forced the players to have completely random identities!"))) to_chat(usr, "Remember: you can always disable the randomness by using the verb again, assuming the round hasn't started yet.") @@ -1016,25 +1025,25 @@ Traitors and the like can also be revived with the previous role mostly intact. /client/proc/toggle_random_events() - set category = "Server" + set category = "Server.Game" set name = "Toggle random events on/off" set desc = "Toggles random events such as meteors, black holes, blob (but not space dust) on/off" if(!check_rights(R_SERVER)) return //VOREStation Edit - if(!config.allow_random_events) - config.allow_random_events = 1 + if(!CONFIG_GET(flag/allow_random_events)) + CONFIG_SET(flag/allow_random_events, TRUE) to_chat(usr, "Random events enabled") message_admins("Admin [key_name_admin(usr)] has enabled random events.", 1) else - config.allow_random_events = 0 + CONFIG_SET(flag/allow_random_events, FALSE) to_chat(usr, "Random events disabled") message_admins("Admin [key_name_admin(usr)] has disabled random events.", 1) feedback_add_details("admin_verb","TRE") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/despawn_player(var/mob/M in living_mob_list) set name = "Cryo Player" - set category = "Admin" + set category = "Admin.Game" set desc = "Removes a player from the round as if they'd cryo'd." set popup_menu = FALSE @@ -1045,7 +1054,7 @@ Traitors and the like can also be revived with the previous role mostly intact. return var/confirm = tgui_alert(usr, "Are you sure you want to cryo [M]?","Confirmation",list("No","Yes")) - if(confirm == "No") + if(confirm != "Yes") return var/list/human_cryopods = list() @@ -1097,7 +1106,7 @@ Traitors and the like can also be revived with the previous role mostly intact. /client/proc/cmd_admin_droppod_spawn(var/object as text) set name = "Drop Pod Atom" set desc = "Spawn a new atom/movable in a drop pod where you are." - set category = "Fun" + set category = "Fun.Drop Pod" if(!check_rights(R_SPAWN)) return @@ -1121,10 +1130,10 @@ Traitors and the like can also be revived with the previous role mostly intact. return var/podtype = tgui_alert(src,"Destructive drop pods cause damage in a 3x3 and may break turfs. Polite drop pods lightly damage the turfs but won't break through.", "Drop Pod", list("Polite", "Destructive", "Cancel")) - if(podtype == "Cancel") + if(!podtype || podtype == "Cancel") return var/autoopen = tgui_alert(src,"Should the pod open automatically?", "Drop Pod", list("Yes", "No", "Cancel")) - if(autoopen == "Cancel") + if(!autoopen || autoopen == "Cancel") return switch(podtype) if("Destructive") @@ -1139,7 +1148,7 @@ Traitors and the like can also be revived with the previous role mostly intact. /client/proc/cmd_admin_droppod_deploy() set name = "Drop Pod Deploy" set desc = "Drop an existing mob where you are in a drop pod." - set category = "Fun" + set category = "Fun.Drop Pod" if(!check_rights(R_SPAWN)) return @@ -1149,10 +1158,10 @@ Traitors and the like can also be revived with the previous role mostly intact. return var/podtype = tgui_alert(src,"Destructive drop pods cause damage in a 3x3 and may break turfs. Polite drop pods lightly damage the turfs but won't break through.", "Drop Pod", list("Polite", "Destructive", "Cancel")) - if(podtype == "Cancel") + if(!podtype || podtype == "Cancel") return var/autoopen = tgui_alert(src,"Should the pod open automatically?", "Drop Pod", list("Yes", "No", "Cancel")) - if(autoopen == "Cancel") + if(!autoopen || autoopen == "Cancel") return if(!L || QDELETED(L)) return diff --git a/code/modules/admin/verbs/randomverbs_vr.dm b/code/modules/admin/verbs/randomverbs_vr.dm index d4836faf54c..8cd3c50604f 100644 --- a/code/modules/admin/verbs/randomverbs_vr.dm +++ b/code/modules/admin/verbs/randomverbs_vr.dm @@ -1,5 +1,5 @@ /client/proc/spawn_character_mob() - set category = "Special Verbs" + set category = "Fun.Event Kit" set name = "Spawn Character As Mob" set desc = "Spawn a specified ckey as a chosen mob." @@ -29,13 +29,13 @@ var/char_name = tgui_alert(src, "Spawn mob with their character name?", "Mob name", list("Yes", "No", "Cancel")) var/name = 0 - if(char_name == "Cancel") + if(!char_name || char_name == "Cancel") return if(char_name == "Yes") name = 1 var/vorgans = tgui_alert(src, "Spawn mob with their character's vore organs and prefs?", "Vore organs", list("Yes", "No", "Cancel")) var/organs - if(vorgans == "Cancel") + if(!vorgans || vorgans == "Cancel") return if(vorgans == "Yes") organs = 1 @@ -76,7 +76,7 @@ return new_mob /client/proc/cmd_admin_z_narrate() // Allows administrators to fluff events a little easier -- TLE - set category = "Special Verbs" + set category = "Fun.Narrate" set name = "Z Narrate" set desc = "Narrates to your Z level." @@ -84,6 +84,10 @@ return var/msg = tgui_input_text(usr, "Message:", text("Enter the text you wish to appear to everyone:")) + + if (!msg) + return + if(!(msg[1] == "<" && msg[length(msg)] == ">")) //You can use HTML but only if the whole thing is HTML. Tries to prevent admin 'accidents'. msg = sanitize(msg) @@ -97,11 +101,11 @@ if(M.z == pos_z) to_chat(M, msg) log_admin("ZNarrate: [key_name(usr)] : [msg]") - message_admins(span_blue(" ZNarrate: [key_name_admin(usr)] : [msg]
        "), 1) + message_admins(span_blue(span_bold(" ZNarrate: [key_name_admin(usr)] : [msg]
        ")), 1) feedback_add_details("admin_verb","GLNA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/toggle_vantag_hud(var/mob/target as mob) - set category = "Fun" + set category = "Fun.Event Kit" set name = "Give/Remove Event HUD" set desc = "Give a mob the event hud, which shows them other people's event preferences, or remove it from them" diff --git a/code/modules/admin/verbs/resize.dm b/code/modules/admin/verbs/resize.dm index c67e2ffd8f7..eb4267aee44 100644 --- a/code/modules/admin/verbs/resize.dm +++ b/code/modules/admin/verbs/resize.dm @@ -1,7 +1,7 @@ /client/proc/resize(var/mob/living/L in mob_list) set name = "Resize" set desc = "Resizes any living mob without any restrictions on size." - set category = "Fun" + set category = "Fun.Event Kit" if(!check_rights(R_ADMIN|R_FUN|R_VAREDIT)) return @@ -14,9 +14,9 @@ var/very_big = is_extreme_size(size_multiplier) if(very_big && can_be_big) // made an extreme size in an area that allows it, don't assume adminbuse - to_chat(src,"[L] will lose this size upon moving into an area where this size is not allowed.") + to_chat(src,span_warning("[L] will lose this size upon moving into an area where this size is not allowed.")) else if(very_big) // made an extreme size in an area that doesn't allow it, assume adminbuse - to_chat(src,"[L] will retain this normally unallowed size outside this area.") + to_chat(src,span_warning("[L] will retain this normally unallowed size outside this area.")) L.resize(size_multiplier, animate = TRUE, uncapped = TRUE, ignore_prefs = TRUE) diff --git a/code/modules/admin/verbs/smite.dm b/code/modules/admin/verbs/smite.dm index 9ecaeec1a54..82a9b7996d6 100644 --- a/code/modules/admin/verbs/smite.dm +++ b/code/modules/admin/verbs/smite.dm @@ -1,15 +1,14 @@ /client/proc/smite(var/mob/living/carbon/human/target in player_list) set name = "Smite" set desc = "Abuse a player with various 'special treatments' from a list." - set category = "Fun" + set category = "Fun.Do Not" if(!check_rights(R_FUN)) return if(!istype(target)) return - var/list/smite_types = list(SMITE_BREAKLEGS,SMITE_BLUESPACEARTILLERY,SMITE_SPONTANEOUSCOMBUSTION,SMITE_LIGHTNINGBOLT, - SMITE_SHADEKIN_ATTACK,SMITE_SHADEKIN_NOMF,SMITE_AD_SPAM,SMITE_REDSPACE_ABDUCT,SMITE_AUTOSAVE,SMITE_AUTOSAVE_WIDE) + var/list/smite_types = list(SMITE_BREAKLEGS,SMITE_BLUESPACEARTILLERY,SMITE_SPONTANEOUSCOMBUSTION,SMITE_LIGHTNINGBOLT,SMITE_SHADEKIN_ATTACK,SMITE_SHADEKIN_NOMF,SMITE_AD_SPAM,SMITE_REDSPACE_ABDUCT,SMITE_AUTOSAVE,SMITE_AUTOSAVE_WIDE,SMITE_SPICEREQUEST,SMITE_PEPPERNADE,SMITE_TERROR) var/smite_choice = tgui_input_list(usr, "Select the type of SMITE for [target]","SMITE Type Choice", smite_types) if(!smite_choice) @@ -36,13 +35,13 @@ if(SMITE_SPONTANEOUSCOMBUSTION) target.adjust_fire_stacks(10) target.IgniteMob() - target.visible_message("[target] bursts into flames!") + target.visible_message(span_danger("[target] bursts into flames!")) if(SMITE_LIGHTNINGBOLT) var/turf/T = get_step(get_step(target, NORTH), NORTH) T.Beam(target, icon_state="lightning[rand(1,12)]", time = 5) target.electrocute_act(75,def_zone = BP_HEAD) - target.visible_message("[target] is struck by lightning!") + target.visible_message(span_danger("[target] is struck by lightning!")) if(SMITE_SHADEKIN_ATTACK) var/turf/Tt = get_turf(target) //Turf for target @@ -104,7 +103,7 @@ kin_type = kin_types[kin_type] var/myself = tgui_alert(usr, "Control the shadekin yourself or delete pred and prey after?","Control Shadekin?",list("Control","Cancel","Delete")) - if(myself == "Cancel" || !target) + if(!myself || myself == "Cancel" || !target) return var/turf/Tt = get_turf(target) @@ -130,7 +129,7 @@ sleep(1 SECOND) shadekin.dir = SOUTH sleep(1 SECOND) - shadekin.audible_message("[shadekin] belches loudly!", runemessage = "URRRRRP") + shadekin.audible_message(span_vwarning(span_bold("[shadekin]") + " belches loudly!"), runemessage = "URRRRRP") sleep(2 SECONDS) shadekin.phase_shift() target.transforming = FALSE //Undo cheap hack @@ -139,7 +138,7 @@ shadekin.ckey = ckey else //Permakin'd - to_chat(target,"You're carried off into The Dark by the [shadekin]. Who knows if you'll find your way back?") + to_chat(target,span_danger("You're carried off into The Dark by the [shadekin]. Who knows if you'll find your way back?")) target.ghostize() qdel(target) qdel(shadekin) @@ -158,6 +157,21 @@ if(target.client) target.client.create_fake_ad_popup_multiple(/obj/screen/popup/default, 15) + if(SMITE_PEPPERNADE) + var/obj/item/grenade/chem_grenade/teargas/grenade = new /obj/item/grenade/chem_grenade/teargas + grenade.loc = target.loc + to_chat(target,span_warning("GRENADE?!")) + grenade.detonate() + + if(SMITE_SPICEREQUEST) + var/obj/item/reagent_containers/food/condiment/spacespice/spice = new /obj/item/reagent_containers/food/condiment/spacespice + spice.loc = target.loc + to_chat(target,"A bottle of spices appears at your feet... be careful what you wish for!") + + if(SMITE_TERROR) + if(ishuman(target)) + target.fear = 200 + else return //Injection? Don't print any messages. @@ -194,11 +208,11 @@ var/redspace_abduction_z /proc/redspace_abduction(mob/living/target, user) if(redspace_abduction_z < 0) - to_chat(user,"The abduction z-level is already being created. Please wait.") + to_chat(user,span_warning("The abduction z-level is already being created. Please wait.")) return if(!redspace_abduction_z) redspace_abduction_z = -1 - to_chat(user,"This is the first use of the verb this shift, it will take a minute to configure the abduction z-level. It will be z[world.maxz+1].") + to_chat(user,span_warning("This is the first use of the verb this shift, it will take a minute to configure the abduction z-level. It will be z[world.maxz+1].")) var/z = ++world.maxz world.max_z_changed() for(var/x = 1 to world.maxx) @@ -216,8 +230,8 @@ var/redspace_abduction_z var/size_of_square = 26 var/halfbox = round(size_of_square*0.5) target.transforming = TRUE - to_chat(target,"You feel a strange tug, deep inside. You're frozen in momentarily...") - to_chat(user,"Beginning vis_contents copy to abduction site, player mob is frozen.") + to_chat(target,span_danger("You feel a strange tug, deep inside. You're frozen in momentarily...")) + to_chat(user,span_notice("Beginning vis_contents copy to abduction site, player mob is frozen.")) sleep(1 SECOND) //Lower left corner of a working box var/llc_x = max(0,halfbox-target.x) + min(target.x+halfbox, world.maxx) - size_of_square @@ -268,14 +282,14 @@ var/redspace_abduction_z T.vis_contents.Cut() target.forceMove(locate(target.x,target.y,redspace_abduction_z)) - to_chat(target,"The tug relaxes, but everything around you looks... slightly off.") - to_chat(user,"The mob has been moved. ([admin_jump_link(target,usr.client.holder)])") + to_chat(target,span_danger("The tug relaxes, but everything around you looks... slightly off.")) + to_chat(user,span_notice("The mob has been moved. ([admin_jump_link(target,usr.client.holder)])")) target.transforming = FALSE /proc/fake_autosave(var/mob/living/target, var/client/user, var/wide) if(!istype(target) || !target.client) - to_chat(user, "Skipping [target] because they are not a /mob/living or have no client.") + to_chat(user, span_warning("Skipping [target] because they are not a /mob/living or have no client.")) return if(wide) diff --git a/code/modules/admin/verbs/striketeam.dm b/code/modules/admin/verbs/striketeam.dm index 737ab67f843..a3eea5b9b64 100644 --- a/code/modules/admin/verbs/striketeam.dm +++ b/code/modules/admin/verbs/striketeam.dm @@ -2,7 +2,7 @@ var/const/commandos_possible = 6 //if more Commandos are needed in the future /client/proc/strike_team() - set category = "Fun" + set category = "Fun.Event Kit" set name = "Spawn Strike Team" set desc = "Spawns a strike team if you want to run an admin event." @@ -45,7 +45,7 @@ var/const/commandos_possible = 6 //if more Commandos are needed in the future while(!choice) choice = sanitize(tgui_input_text(src, "Please specify which mission the strike team shall undertake.", "Specify Mission", "")) if(!choice) - if(tgui_alert(usr, "Error, no mission set. Do you want to exit the setup process?","Strike Team",list("Yes","No"))=="Yes") + if(tgui_alert(usr, "Error, no mission set. Do you want to exit the setup process?","Strike Team",list("Yes","No"))!="No") return consider_ert_load() //VOREStation Add diff --git a/code/modules/admin/verbs/tripAI.dm b/code/modules/admin/verbs/tripAI.dm index ff97f2e0dd9..2e31e7418b0 100644 --- a/code/modules/admin/verbs/tripAI.dm +++ b/code/modules/admin/verbs/tripAI.dm @@ -1,5 +1,5 @@ /client/proc/triple_ai() - set category = "Fun" + set category = "Fun.Event Kit" set name = "Create AI Triumvirate" if(ticker.current_state > GAME_STATE_PREGAME) @@ -7,7 +7,7 @@ return if(job_master && ticker) - var/datum/job/job = job_master.GetJob("AI") + var/datum/job/job = job_master.GetJob(JOB_AI) if(!job) to_chat(usr, "Unable to locate the AI job") return diff --git a/code/modules/admin/view_variables/helpers.dm b/code/modules/admin/view_variables/helpers.dm index 9ee161b0dc5..c81e6f61b4b 100644 --- a/code/modules/admin/view_variables/helpers.dm +++ b/code/modules/admin/view_variables/helpers.dm @@ -2,7 +2,7 @@ // Keep these two together, they *must* be defined on both // If /client ever becomes /datum/client or similar, they can be merged /datum/proc/get_view_variables_header() - return "[src]" + return span_bold("[src]") /atom/get_view_variables_header() return {" @@ -86,7 +86,7 @@ "} -/obj/item/device/pda/get_view_variables_options() +/obj/item/pda/get_view_variables_options() return ..() + {" "} @@ -178,7 +178,7 @@ if(!user) return FALSE if(!(var_to_edit in vars)) - to_chat(user, "\The [src] does not have a var '[var_to_edit]'") + to_chat(user, span_warning("\The [src] does not have a var '[var_to_edit]'")) return FALSE if(var_to_edit in VV_static()) return FALSE diff --git a/code/modules/admin/view_variables/mass_edit_variables.dm b/code/modules/admin/view_variables/mass_edit_variables.dm index adec98ef661..43782c12020 100644 --- a/code/modules/admin/view_variables/mass_edit_variables.dm +++ b/code/modules/admin/view_variables/mass_edit_variables.dm @@ -116,6 +116,8 @@ var/unique if (varsvars && varsvars.len) unique = tgui_alert(usr, "Process vars unique to each instance, or same for all?", "Variable Association", list("Unique", "Same")) + if(!unique) + return if(unique == "Unique") unique = TRUE else @@ -143,7 +145,7 @@ if (VV_NEW_TYPE) var/many = tgui_alert(src, "Create only one [value["type"]] and assign each or a new one for each thing", "How Many", list("One", "Many", "Cancel")) - if (many == "Cancel") + if (!many || many == "Cancel") return if (many == "Many") many = TRUE diff --git a/code/modules/admin/view_variables/modify_variables.dm b/code/modules/admin/view_variables/modify_variables.dm index 8863e76533e..eb840d7ea50 100644 --- a/code/modules/admin/view_variables/modify_variables.dm +++ b/code/modules/admin/view_variables/modify_variables.dm @@ -181,7 +181,7 @@ GLOBAL_PROTECT(VVpixelmovement) var/assoc = 0 if(IS_VALID_ASSOC_KEY(L[index])) var/prompt = tgui_alert(src, "Do you want to edit the key or its assigned value?", "Associated List", list("Key", "Assigned Value", "Cancel")) - if (prompt == "Cancel") + if (!prompt || prompt == "Cancel") return if (prompt == "Assigned Value") assoc = 1 @@ -194,7 +194,7 @@ GLOBAL_PROTECT(VVpixelmovement) else variable = L[index] //EXPERIMENTAL - Keep old associated value while modifying key, if any - if(IS_VALID_ASSOC_KEY(variable)) + if(IS_VALID_ASSOC_KEY(variable)) var/found = L[variable] if(!isnull(found)) old_assoc_value = found diff --git a/code/modules/admin/view_variables/topic.dm b/code/modules/admin/view_variables/topic.dm index c5e5cf4dedc..e59daf02ef6 100644 --- a/code/modules/admin/view_variables/topic.dm +++ b/code/modules/admin/view_variables/topic.dm @@ -129,18 +129,6 @@ href_list["datumrefresh"] = href_list["give_wound_internal"] - - else if(href_list["give_disease2"]) - if(!check_rights(R_ADMIN|R_FUN|R_EVENT)) return - - var/mob/M = locate(href_list["give_disease2"]) - if(!istype(M)) - to_chat(usr, "This can only be used on instances of type /mob") - return - - src.give_disease2(M) - href_list["datumrefresh"] = href_list["give_spell"] - else if(href_list["godmode"]) if(!check_rights(R_REJUVINATE)) return @@ -261,7 +249,7 @@ to_chat(usr, "No objects of this type exist") return log_admin("[key_name(usr)] deleted all objects of type [O_type] ([i] objects deleted) ") - message_admins("[key_name(usr)] deleted all objects of type [O_type] ([i] objects deleted) ") + message_admins(span_notice("[key_name(usr)] deleted all objects of type [O_type] ([i] objects deleted) ")) if("Type and subtypes") var/i = 0 for(var/obj/Obj in world) @@ -273,11 +261,11 @@ to_chat(usr, "No objects of this type exist") return log_admin("[key_name(usr)] deleted all objects of type or subtype of [O_type] ([i] objects deleted) ") - message_admins("[key_name(usr)] deleted all objects of type or subtype of [O_type] ([i] objects deleted) ") + message_admins(span_notice("[key_name(usr)] deleted all objects of type or subtype of [O_type] ([i] objects deleted) ")) else if(href_list["fakepdapropconvo"]) if(!check_rights(R_FUN)) return - var/obj/item/device/pda/P = locate(href_list["fakepdapropconvo"]) + var/obj/item/pda/P = locate(href_list["fakepdapropconvo"]) if(!istype(P)) to_chat(usr, span_warning("This can only be done to instances of type /pda")) return @@ -449,7 +437,7 @@ if(!verb || verb == "Cancel") return else - H.verbs += verb + add_verb(H, verb) else if(href_list["remverb"]) if(!check_rights(R_DEBUG)) return @@ -466,7 +454,7 @@ if(!verb) return else - H.verbs -= verb + remove_verb(H, verb) else if(href_list["addorgan"]) if(!check_rights(R_SPAWN)) return @@ -564,7 +552,7 @@ if(amount != 0) log_admin("[key_name(usr)] dealt [amount] amount of [Text] damage to [L]") - message_admins("[key_name(usr)] dealt [amount] amount of [Text] damage to [L]") + message_admins(span_notice("[key_name(usr)] dealt [amount] amount of [Text] damage to [L]")) href_list["datumrefresh"] = href_list["mobToDamage"] else if(href_list["expose"]) if(!check_rights(R_ADMIN, FALSE)) @@ -582,7 +570,7 @@ if (prompt != "Yes") return if(!thing) - to_chat(usr, "The object you tried to expose to [C] no longer exists (GC'd)") + to_chat(usr, span_warning("The object you tried to expose to [C] no longer exists (GC'd)")) return message_admins("[key_name_admin(usr)] Showed [key_name_admin(C)] a VV window") log_admin("Admin [key_name(usr)] Showed [key_name(C)] a VV window of a [src]") diff --git a/code/modules/admin/view_variables/view_variables.dm b/code/modules/admin/view_variables/view_variables.dm index 86bda7de8a3..fd15cd54a18 100644 --- a/code/modules/admin/view_variables/view_variables.dm +++ b/code/modules/admin/view_variables/view_variables.dm @@ -1,11 +1,11 @@ /client/proc/debug_variables(datum/D in world) - set category = "Debug" + set category = "Debug.Investigate" set name = "View Variables" //set src in world var/static/cookieoffset = rand(1, 9999) //to force cookies to reset after the round. if(!usr.client || !usr.client.holder) //The usr vs src abuse in this proc is intentional and must not be changed - to_chat(usr, "You need to be an administrator to access this.") + to_chat(usr, span_danger("You need to be an administrator to access this.")) return if(!D) @@ -40,7 +40,7 @@ var/sprite_text if(sprite) sprite_text = "
    Other Roles
    " - var/list/header = islist(D)? list("/list") : D.vv_get_header() + var/list/header = islist(D)? list(span_bold("/list")) : D.vv_get_header() var/marked if(holder && holder.marked_datum && holder.marked_datum == D) diff --git a/code/modules/admin/view_variables/view_variables_global.dm b/code/modules/admin/view_variables/view_variables_global.dm index 8e7c1be76d7..ae44630763b 100644 --- a/code/modules/admin/view_variables/view_variables_global.dm +++ b/code/modules/admin/view_variables/view_variables_global.dm @@ -12,7 +12,7 @@ /var/decl/global_vars/global_vars_ /decl/global_vars - var/name = "Global Variables" + var/name = span_bold("Global Variables") /decl/global_vars/get_view_variables_options() return "" // Ensuring changes to the base proc never affect us diff --git a/code/modules/ai/ai_holder.dm b/code/modules/ai/ai_holder.dm index 14128dfbb1d..07186429cd3 100644 --- a/code/modules/ai/ai_holder.dm +++ b/code/modules/ai/ai_holder.dm @@ -52,8 +52,7 @@ return if(istype(src, /mob/living/carbon/human)) var/mob/living/carbon/human/H = src - H.hud_used = new /datum/hud(H) - H.create_mob_hud(H.hud_used) + new /datum/hud(H) /datum/ai_holder var/mob/living/holder = null // The mob this datum is going to control. @@ -65,7 +64,7 @@ // consider sleeping the AI instead. var/process_flags = 0 // Where we're processing, see flag defines. var/list/snapshot = null // A list used in mass-editing of AI datums, holding a snapshot of the 'before' state - var/list/static/fastprocess_stances = list( + var/static/list/fastprocess_stances = list( STANCE_ALERT, STANCE_APPROACH, STANCE_FIGHT, @@ -76,7 +75,7 @@ STANCE_FLEE, STANCE_DISABLED ) - var/list/static/noprocess_stances = list( + var/static/list/noprocess_stances = list( STANCE_SLEEP ) @@ -101,7 +100,7 @@ if(!check_rights(R_ADMIN)) return if(snapshot) - to_chat(usr, "Someone (or you) may have started a mass edit on this AI datum already. Refresh the VV window to get the option to end the mass edit instead.") + to_chat(usr, span_warning("Someone (or you) may have started a mass edit on this AI datum already. Refresh the VV window to get the option to end the mass edit instead.")) href_list["datumrefresh"] = "\ref[src]" return snapshot = vars.Copy() //'vars' appears to be special in that vars.Copy produces a flat list of keys with no values. It seems that 'vars[key]' is handled somewhere in the byond engine differently than normal lists. @@ -143,7 +142,7 @@ snapshot[key] = thing VARSET_IN(src, snapshot, null, 2 MINUTES) // Safety - to_chat(usr, "Variable snapshot saved. Begin editing the datum, and end the mass edit from the dropdown menu within 2 minutes. Note that editing the contents of lists is not supported.") + to_chat(usr, span_notice("Variable snapshot saved. Begin editing the datum, and end the mass edit from the dropdown menu within 2 minutes. Note that editing the contents of lists is not supported.")) href_list["datumrefresh"] = "\ref[src]" IF_VV_OPTION("mass_edit_finish") @@ -167,14 +166,13 @@ diff += key if(!diff.len) - to_chat(usr, "You don't appear to have changed anything on the AI datum you were editing.") + to_chat(usr, span_warning("You don't appear to have changed anything on the AI datum you were editing.")) href_list["datumrefresh"] = "\ref[src]" else - var/message = "These differences were detected in your varedit. If you notice any that you didn't change, please redo your edit:
    " + var/message = "These differences were detected in your varedit. If you notice any that you didn't change, please redo your edit:
    " for(var/key in diff) - message += "- [key]: [before[key]] => [after[key]]
    " - message += "
    " - to_chat(usr,message) + message += span_bold("- [key]:") + " [before[key]] => [after[key]]
    " + to_chat(usr,span_notice(message)) var/original_type = holder.type var/list/levels_working = GetConnectedZlevels(holder.z) @@ -209,18 +207,18 @@ var/list/selected = choices[choice] for(var/mob/living/L as anything in selected) if(!istype(L)) - to_chat(usr,"Skipping incompatible mob: [L] [ADMIN_COORDJMP(L)]") + to_chat(usr,span_warning("Skipping incompatible mob: [L] [ADMIN_COORDJMP(L)]")) continue if(!L.ai_holder) - to_chat(usr,"Skipping due to no AI: [L] [ADMIN_COORDJMP(L)]") + to_chat(usr,span_warning("Skipping due to no AI: [L] [ADMIN_COORDJMP(L)]")) continue for(var/newvar in diff) if(newvar in L.ai_holder.vars) L.ai_holder.vars[newvar] = after[newvar] else - to_chat(usr,"Skipping unavailable var '[newvar]' on: [L] [ADMIN_COORDJMP(L)]") + to_chat(usr,span_warning("Skipping unavailable var '[newvar]' on: [L] [ADMIN_COORDJMP(L)]")) - to_chat(usr,"Mass AI edit done.") + to_chat(usr,span_notice("Mass AI edit done.")) href_list["datumrefresh"] = "\ref[src]" /datum/ai_holder/New(var/new_holder) @@ -393,7 +391,7 @@ var/mob/living/holder = src.holder ai_log("handle_stance_tactical() : Owner was stat, moving.", AI_LOG_TRACE) holder.forceMove(get_turf(L)) - holder.visible_message("[src] climbs out of [L], ready to continue fighting!") + holder.visible_message(span_danger("[src] climbs out of [L], ready to continue fighting!")) playsound(holder, 'sound/effects/splat.ogg') // Should we flee? diff --git a/code/modules/ai/ai_holder_cooperation.dm b/code/modules/ai/ai_holder_cooperation.dm index 97f3781ad5c..5cc7c98172c 100644 --- a/code/modules/ai/ai_holder_cooperation.dm +++ b/code/modules/ai/ai_holder_cooperation.dm @@ -67,7 +67,7 @@ // That might be for the best since I can imagine it getting spammy in a big fight. if(L.client && call_players) // Dealing with a player. ai_log("request_help() : Asking [L] (Player) for help.", AI_LOG_INFO) - to_chat(L, "\The [holder] [called_player_message]") + to_chat(L, span_critical("\The [holder] [called_player_message]")) else if(L.ai_holder) // Dealing with an AI. ai_log("request_help() : Asking [L] (AI) for help.", AI_LOG_INFO) diff --git a/code/modules/ai/ai_holder_debug.dm b/code/modules/ai/ai_holder_debug.dm index beee998af88..b70771d3cdf 100644 --- a/code/modules/ai/ai_holder_debug.dm +++ b/code/modules/ai/ai_holder_debug.dm @@ -86,4 +86,3 @@ path_display = TRUE last_turf_display = TRUE debug_ai = AI_LOG_INFO - diff --git a/code/modules/ai/ai_holder_subtypes/simple_mob_ai.dm b/code/modules/ai/ai_holder_subtypes/simple_mob_ai.dm index 4455b47072b..b2d4a896589 100644 --- a/code/modules/ai/ai_holder_subtypes/simple_mob_ai.dm +++ b/code/modules/ai/ai_holder_subtypes/simple_mob_ai.dm @@ -98,6 +98,23 @@ step_rand(holder) holder.face_atom(AM) +// Only attacks you if you're in front of it. +/datum/ai_holder/simple_mob/ranged/guard_limit + guard_limit = TRUE + returns_home = TRUE + +/datum/ai_holder/simple_mob/ranged/guard_limit/pointblank + pointblank = TRUE + +/datum/ai_holder/simple_mob/ranged/guard_limit/aggressive + pointblank = TRUE + var/closest_distance = 1 + +/datum/ai_holder/simple_mob/ranged/guard_limit/kiting + pointblank = TRUE // So we don't need to copypaste post_melee_attack(). + var/run_if_this_close = 4 // If anything gets within this range, it'll try to move away. + var/moonwalk = TRUE // If true, mob turns to face the target while kiting, otherwise they turn in the direction they moved towards. + // Switches intents based on specific criteria. // Used for special mobs who do different things based on intents (and aren't slimes). // Intent switching is generally done in pre_[ranged/special]_attack(), so that the mob can use the right attack for the right time. @@ -142,6 +159,14 @@ return TRUE // We're out in the open, uncloaked, and our target isn't stunned, so lets flee. return FALSE +// Can only target people in view range, will return home +/datum/ai_holder/simple_mob/melee/guard_limit + guard_limit = TRUE + returns_home = TRUE + +/datum/ai_holder/simple_mob/melee/evasive/guard_limit + guard_limit = TRUE + returns_home = TRUE // Simple mobs that aren't hostile, but will fight back. /datum/ai_holder/simple_mob/retaliate @@ -197,3 +222,7 @@ /datum/ai_holder/simple_mob/passive/speedy base_wander_delay = 1 + +// For setting up possible stealth missions +/datum/ai_holder/simple_mob/humanoid/hostile/guard_limit + guard_limit = TRUE diff --git a/code/modules/ai/ai_holder_subtypes/slime_xenobio_ai.dm b/code/modules/ai/ai_holder_subtypes/slime_xenobio_ai.dm index af911a62c64..5d2003e47bc 100644 --- a/code/modules/ai/ai_holder_subtypes/slime_xenobio_ai.dm +++ b/code/modules/ai/ai_holder_subtypes/slime_xenobio_ai.dm @@ -147,7 +147,7 @@ return rabid = TRUE my_slime.update_mood() - my_slime.visible_message(span("danger", "\The [my_slime] enrages!")) + my_slime.visible_message(span_danger("\The [my_slime] enrages!")) // Called to relax from being rabid (when blue slime core was used). /datum/ai_holder/simple_mob/xenobio_slime/proc/relax() @@ -157,7 +157,7 @@ if(rabid) rabid = FALSE my_slime.update_mood() - my_slime.visible_message(span("danger", "\The [my_slime] calms down.")) + my_slime.visible_message(span_danger("\The [my_slime] calms down.")) // Called when using a pacification agent (or it's Kendrick being initalized). /datum/ai_holder/simple_mob/xenobio_slime/proc/pacify() diff --git a/code/modules/ai/ai_holder_targeting.dm b/code/modules/ai/ai_holder_targeting.dm index b918321f8b3..0525ee59515 100644 --- a/code/modules/ai/ai_holder_targeting.dm +++ b/code/modules/ai/ai_holder_targeting.dm @@ -10,6 +10,7 @@ var/micro_hunt = FALSE // Will target mobs at or under the micro_hunt_size size, requires vore_hostile to be true var/micro_hunt_size = 0.25 var/belly_attack = TRUE //Mobs attack if they are in a belly! + var/guard_limit = FALSE //Mobs will not acquire targets unless they are in front of them. var/atom/movable/target = null // The thing (mob or object) we're trying to kill. var/atom/movable/preferred_target = null// If set, and if given the chance, we will always prefer to target this over other options. @@ -49,7 +50,10 @@ . = list() if(!has_targets_list) possible_targets = list_targets() - for(var/possible_target in possible_targets) + for(var/atom/possible_target as anything in possible_targets) + if(guard_limit) + if((holder.dir == 1 && holder.y >= possible_target.y) || (holder.dir == 2 && holder.y <= possible_target.y) || (holder.dir == 4 && holder.x >= possible_target.x) || (holder.dir == 8 && holder.x <= possible_target.x)) //Ignore targets that are behind you + continue if(can_attack(possible_target)) // Can we attack it? . += possible_target diff --git a/code/modules/artifice/cursedform.dm b/code/modules/artifice/cursedform.dm index ee994924c8e..313584e9cb7 100644 --- a/code/modules/artifice/cursedform.dm +++ b/code/modules/artifice/cursedform.dm @@ -1,20 +1,20 @@ -/obj/item/weapon/paper/carbon/cursedform +/obj/item/paper/carbon/cursedform name = "Form - Inventory Requisition r10.7.1E" -/obj/item/weapon/paper/carbon/cursedform/Initialize() +/obj/item/paper/carbon/cursedform/Initialize() . = ..() info = {"

    Form - Inventory Requisition r10.7.1E

    General Request Form


    General


    Name:
    Department:
    Departmental Rank:
    Organization(If not Nanotrasen):
    Date:



    Requested Item(s):
    Quantity:
    Reason for request:
    Is this replacement equipment?:
    If `Yes`; above, specify equiment and reason for replacement:


    Authorization


    Authorizing Department:
    Authorizing Dept. Head:


    Contact and Delivery


    EPv2 Address of requesting party(Do not leave blank):
    Delivery location or department:


    Nanotrasen Employee Identification Number:
    Signature of Requester and Date





    Authorizor`s Nanotrasen Employee Identification Number:
    Authorizing Signature and Date(Include authorizing department`s stamp below)




    Shipping Department Only

    (Do not write below this line)

    Nanotrasen Purchasing Approval Code:
    Nanotrasen Employee Identification Number:
    Receiving Shipping Employee:
    Signature and Date


    "} info_links = {"

    Form - Inventory Requisition r10.7.1E

    General Request Form


    General


    Name: write
    Department: write
    Departmental Rank: write
    Organization(If not Nanotrasen): write
    Date: write



    Requested Item(s): write
    Quantity: write
    Reason for request: write
    Is this replacement equipment?: write
    If `Yes` above, specify equiment and reason for replacement: write


    Authorization


    Authorizing Department: write
    Authorizing Dept. Head: write


    Contact and Delivery


    EPv2 Address of requesting party(Do not leave blank): write
    Delivery location or department: write


    Nanotrasen Employee Identification Number: write
    Signature of Requester and Date

    write



    Authorizor`s Nanotrasen Employee Identification Number: write
    Authorizing Signature and Date(Include authorizing department`s stamp below)

    write


    Shipping Department Only

    (Do not write below this line)

    Nanotrasen Purchasing Approval Code: write
    Nanotrasen Employee Identification Number: write
    Receiving Shipping Employee: write
    Signature and Date

    write
    write"} -/obj/item/weapon/paper/carbon/cursedform/AltClick() // No fun. +/obj/item/paper/carbon/cursedform/AltClick() // No fun. return -/obj/item/weapon/paper/carbon/cursedform/burnpaper(obj/item/weapon/flame/P, mob/user) +/obj/item/paper/carbon/cursedform/burnpaper(obj/item/flame/P, mob/user) var/class = "warning" var/datum/gender/TU = gender_datums[user.get_visible_gender()] if(P.lit && !user.restrained()) - if(istype(P, /obj/item/weapon/flame/lighter/zippo)) + if(istype(P, /obj/item/flame/lighter/zippo)) class = "rose" user.visible_message("[user] holds \the [P] up to \the [src], it looks like [TU.hes] trying to burn it!", \ @@ -35,6 +35,6 @@ if(isliving(user)) var/mob/living/L = user - L.visible_message("[L] convulses, the very letters of \the [src] searing themselves into their eyes!", \ - "You convulse, the very letters of \the [src] searing themselves into your eyes!") + L.visible_message(span_danger("[L] convulses, the very letters of \the [src] searing themselves into their eyes!"), \ + span_critical("You convulse, the very letters of \the [src] searing themselves into your eyes!")) L.add_modifier(/datum/modifier/grievous_wounds, 10 MINUTES) diff --git a/code/modules/artifice/deadringer.dm b/code/modules/artifice/deadringer.dm index ed4e184543d..e5d4962f1d5 100644 --- a/code/modules/artifice/deadringer.dm +++ b/code/modules/artifice/deadringer.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/deadringer +/obj/item/deadringer name = "silver pocket watch" desc = "A fancy silver-plated digital pocket watch. Looks expensive." icon = 'icons/obj/deadringer.dmi' @@ -14,22 +14,22 @@ var/mob/living/carbon/human/watchowner = null -/obj/item/weapon/deadringer/New() +/obj/item/deadringer/New() ..() START_PROCESSING(SSobj, src) -/obj/item/weapon/deadringer/Destroy() //just in case some smartass tries to stay invisible by destroying the watch +/obj/item/deadringer/Destroy() //just in case some smartass tries to stay invisible by destroying the watch reveal() STOP_PROCESSING(SSobj, src) ..() -/obj/item/weapon/deadringer/dropped() +/obj/item/deadringer/dropped() if(timer > 20) reveal() watchowner = null return -/obj/item/weapon/deadringer/attack_self(var/mob/living/user as mob) +/obj/item/deadringer/attack_self(var/mob/living/user as mob) var/mob/living/H = src.loc if (!istype(H, /mob/living/carbon/human)) to_chat(H, span_blue("You have no clue what to do with this thing.")) @@ -49,7 +49,7 @@ activated = 0 return -/obj/item/weapon/deadringer/process() +/obj/item/deadringer/process() if(activated) if (ismob(src.loc)) var/mob/living/carbon/human/H = src.loc @@ -75,7 +75,7 @@ icon_state = "deadringer" return -/obj/item/weapon/deadringer/proc/deathprevent() +/obj/item/deadringer/proc/deathprevent() for(var/mob/living/simple_mob/D in oviewers(7, src)) if(!D.has_AI()) continue @@ -86,13 +86,13 @@ makeacorpse(watchowner) return -/obj/item/weapon/deadringer/proc/reveal() +/obj/item/deadringer/proc/reveal() if(watchowner) watchowner.alpha = 255 playsound(src, 'sound/effects/uncloak.ogg', 35, 1, -1) return -/obj/item/weapon/deadringer/proc/makeacorpse(var/mob/living/carbon/human/H) +/obj/item/deadringer/proc/makeacorpse(var/mob/living/carbon/human/H) if(H.isSynthetic()) return corpse = new /mob/living/carbon/human(H.loc) @@ -147,13 +147,13 @@ temp.disguise(c_type.type) temp.canremove = FALSE if(H.get_equipped_item(slot_belt)) - corpse.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/chameleon/changeling(corpse), slot_belt) + corpse.equip_to_slot_or_del(new /obj/item/storage/belt/chameleon/changeling(corpse), slot_belt) temp = corpse.get_equipped_item(slot_belt) var/obj/item/clothing/c_type = H.get_equipped_item(slot_belt) temp.disguise(c_type.type) temp.canremove = FALSE if(H.get_equipped_item(slot_back)) - corpse.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/chameleon/changeling(corpse), slot_back) + corpse.equip_to_slot_or_del(new /obj/item/storage/backpack/chameleon/changeling(corpse), slot_back) temp = corpse.get_equipped_item(slot_back) var/obj/item/clothing/c_type = H.get_equipped_item(slot_back) temp.disguise(c_type.type) diff --git a/code/modules/artifice/telecube.dm b/code/modules/artifice/telecube.dm index bca000870fe..112625a2b9c 100644 --- a/code/modules/artifice/telecube.dm +++ b/code/modules/artifice/telecube.dm @@ -17,7 +17,7 @@ value = CATALOGUER_REWARD_HARD // Standard one needs to be smacked onto another one to link together. -/obj/item/weapon/telecube +/obj/item/telecube name = "locus" desc = "A strange metallic cube that pulses silently." description_info = "Ctrl-Clicking on this object will attempt to activate its unique ability." @@ -32,7 +32,7 @@ throw_range = 2 - var/obj/item/weapon/telecube/mate = null + var/obj/item/telecube/mate = null var/start_paired = FALSE var/mirror_colors = FALSE @@ -51,7 +51,7 @@ var/omniteleport = FALSE // Will this teleport anchored things too? -/obj/item/weapon/telecube/Initialize() +/obj/item/telecube/Initialize() . = ..() glow = image("[icon_state]-ready") @@ -79,7 +79,7 @@ update_icon() -/obj/item/weapon/telecube/update_icon() +/obj/item/telecube/update_icon() . = ..() if(isturf(loc)) @@ -100,25 +100,25 @@ cut_overlays() add_overlay(glow) -/obj/item/weapon/telecube/Destroy() +/obj/item/telecube/Destroy() if(mate) var/turf/T = get_turf(mate) - mate.visible_message("\The [mate] collapses into itself!") + mate.visible_message(span_critical("\The [mate] collapses into itself!")) mate.mate = null mate = null explosion(T,1,3,7) return ..() -/obj/item/weapon/telecube/equipped() +/obj/item/telecube/equipped() . = ..() update_icon() -/obj/item/weapon/telecube/dropped() +/obj/item/telecube/dropped() . = ..() update_icon() -/obj/item/weapon/telecube/proc/pair_cube(var/obj/item/weapon/telecube/M) +/obj/item/telecube/proc/pair_cube(var/obj/item/telecube/M) if(mate) return 0 else @@ -126,14 +126,14 @@ update_icon() return 1 -/obj/item/weapon/telecube/proc/teleport_to_mate(var/atom/movable/A, var/areaporting = FALSE) +/obj/item/telecube/proc/teleport_to_mate(var/atom/movable/A, var/areaporting = FALSE) . = FALSE if(!istype(A)) return . if(A == src || A == mate) - A.visible_message("\The [A] distorts and fades, before popping back into existence.") + A.visible_message(span_alien("\The [A] distorts and fades, before popping back into existence.")) animate_out(A) animate_in(A) return . @@ -149,7 +149,7 @@ return . if((A.anchored && !omniteleport) || !mate) - A.visible_message("\The [A] distorts for a moment, before reforming in the same position.") + A.visible_message(span_alien("\The [A] distorts for a moment, before reforming in the same position.")) animate_out(A) animate_in(A) return . @@ -159,12 +159,12 @@ var/turf/T1 = get_turf(locate(TLocate.x + (A.x - x), TLocate.y + (A.y - y), TLocate.z)) if(T1) - A.visible_message("\The [A] fades out of existence.") + A.visible_message(span_alien("\The [A] fades out of existence.")) animate_out(A) A.forceMove(T1) animate_in(A) . = TRUE - A.visible_message("\The [A] fades into existence.") + A.visible_message(span_alien("\The [A] fades into existence.")) else return . @@ -172,7 +172,7 @@ for(var/atom/movable/M in orange(teleport_range, A)) teleport_to_mate(M, TRUE) -/obj/item/weapon/telecube/proc/swap_with_mate() +/obj/item/telecube/proc/swap_with_mate() . = FALSE if(!mate || !teleport_range) @@ -190,7 +190,7 @@ . = TRUE return . -/obj/item/weapon/telecube/proc/cooldown(var/mate_too = FALSE) +/obj/item/telecube/proc/cooldown(var/mate_too = FALSE) if(!ready) return @@ -200,11 +200,11 @@ if(mate_too && mate) mate.cooldown(mate_too = FALSE) //No infinite recursion pls -/obj/item/weapon/telecube/proc/ready() +/obj/item/telecube/proc/ready() ready = TRUE update_icon() -/obj/item/weapon/telecube/proc/animate_out(var/atom/movable/AM) +/obj/item/telecube/proc/animate_out(var/atom/movable/AM) //See atom cloak/uncloak animations for comments var/atom/movable/target = AM var/our_filter_index = target.filters.len+1 @@ -215,7 +215,7 @@ sleep(5) target.filters -= filter(type="blur", size = 2) -/obj/item/weapon/telecube/proc/animate_in(var/atom/movable/AM) +/obj/item/telecube/proc/animate_in(var/atom/movable/AM) //See atom cloak/uncloak animations for comments var/atom/movable/target = AM var/our_filter_index = target.filters.len+1 @@ -226,44 +226,44 @@ sleep(5) target.filters -= filter(type="blur", size = 0) -/obj/item/weapon/telecube/CtrlClick(mob/user) +/obj/item/telecube/CtrlClick(mob/user) if(Adjacent(user) && teleport_to_mate(user)) cooldown(mate_too = FALSE) -/obj/item/weapon/telecube/AltClick(mob/user) +/obj/item/telecube/AltClick(mob/user) if(Adjacent(user) && swap_with_mate()) cooldown(mate_too = TRUE) -/obj/item/weapon/telecube/Bump(var/atom/movable/AM) +/obj/item/telecube/Bump(var/atom/movable/AM) if(teleport_to_mate(AM)) cooldown(mate_too = FALSE) . = ..() -/obj/item/weapon/telecube/Bumped(var/atom/movable/M) +/obj/item/telecube/Bumped(var/atom/movable/M) if(teleport_to_mate(M)) cooldown(mate_too = FALSE) . = ..() // Subtypes -/obj/item/weapon/telecube/mated +/obj/item/telecube/mated start_paired = TRUE -/obj/item/weapon/telecube/randomized +/obj/item/telecube/randomized randomize_colors = TRUE -/obj/item/weapon/telecube/randomized/mated +/obj/item/telecube/randomized/mated start_paired = TRUE -/obj/item/weapon/telecube/precursor +/obj/item/telecube/precursor glow_color = "#FF1D8E" color = "#2F1B26" -/obj/item/weapon/telecube/precursor/mated +/obj/item/telecube/precursor/mated start_paired = TRUE -/obj/item/weapon/telecube/precursor/mated/zone +/obj/item/telecube/precursor/mated/zone teleport_range = 2 -/obj/item/weapon/telecube/precursor/mated/mirrorcolor +/obj/item/telecube/precursor/mated/mirrorcolor mirror_colors = TRUE diff --git a/code/modules/assembly/assembly.dm b/code/modules/assembly/assembly.dm index 5c1ea9dd9d6..3c26fb87d63 100644 --- a/code/modules/assembly/assembly.dm +++ b/code/modules/assembly/assembly.dm @@ -1,4 +1,4 @@ -/obj/item/device/assembly +/obj/item/assembly name = "assembly" desc = "A small electronic device that should never exist." icon = 'icons/obj/assemblies/new_assemblies.dmi' @@ -14,7 +14,7 @@ var/secured = 1 var/list/attached_overlays = null - var/obj/item/device/assembly_holder/holder = null + var/obj/item/assembly_holder/holder = null var/cooldown = FALSE //To prevent spam var/wires = WIRE_RECEIVE | WIRE_PULSE @@ -24,64 +24,64 @@ var/const/WIRE_RADIO_RECEIVE = 8 //Allows Pulsed(1) to call Activate() var/const/WIRE_RADIO_PULSE = 16 //Allows Pulse(1) to send a radio message -/obj/item/device/assembly/proc/holder_movement() +/obj/item/assembly/proc/holder_movement() return -/obj/item/device/assembly/proc/process_cooldown() +/obj/item/assembly/proc/process_cooldown() if(cooldown) return FALSE cooldown = TRUE VARSET_IN(src, cooldown, FALSE, 2 SECONDS) return TRUE -/obj/item/device/assembly/proc/pulsed(var/radio = 0) +/obj/item/assembly/proc/pulsed(var/radio = 0) if(holder && (wires & WIRE_RECEIVE)) activate() if(radio && (wires & WIRE_RADIO_RECEIVE)) activate() return 1 -/obj/item/device/assembly/proc/pulse(var/radio = 0) +/obj/item/assembly/proc/pulse(var/radio = 0) if(holder && (wires & WIRE_PULSE)) holder.process_activation(src, 1, 0) if(holder && (wires & WIRE_PULSE_SPECIAL)) holder.process_activation(src, 0, 1) return 1 -/obj/item/device/assembly/proc/activate() +/obj/item/assembly/proc/activate() if(!secured || !process_cooldown()) return FALSE return TRUE -/obj/item/device/assembly/proc/toggle_secure() +/obj/item/assembly/proc/toggle_secure() secured = !secured update_icon() return secured -/obj/item/device/assembly/proc/attach_assembly(var/obj/item/device/assembly/A, var/mob/user) - holder = new/obj/item/device/assembly_holder(get_turf(src)) +/obj/item/assembly/proc/attach_assembly(var/obj/item/assembly/A, var/mob/user) + holder = new/obj/item/assembly_holder(get_turf(src)) if(holder.attach(A,src,user)) - to_chat(user, "You attach \the [A] to \the [src]!") + to_chat(user, span_notice("You attach \the [A] to \the [src]!")) return TRUE -/obj/item/device/assembly/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/item/assembly/attackby(obj/item/W as obj, mob/user as mob) if(isassembly(W)) - var/obj/item/device/assembly/A = W + var/obj/item/assembly/A = W if((!A.secured) && (!secured)) attach_assembly(A,user) return if(W.has_tool_quality(TOOL_SCREWDRIVER)) if(toggle_secure()) - to_chat(user, "\The [src] is ready!") + to_chat(user, span_notice("\The [src] is ready!")) else - to_chat(user, "\The [src] can now be attached!") + to_chat(user, span_notice("\The [src] can now be attached!")) return return ..() -/obj/item/device/assembly/process() +/obj/item/assembly/process() return PROCESS_KILL -/obj/item/device/assembly/examine(mob/user) +/obj/item/assembly/examine(mob/user) . = ..() if((in_range(src, user) || loc == user)) if(secured) @@ -89,20 +89,20 @@ else . += "\The [src] can be attached!" -/obj/item/device/assembly/attack_self(mob/user as mob) +/obj/item/assembly/attack_self(mob/user as mob) if(!user) return 0 user.set_machine(src) tgui_interact(user) return 1 -/obj/item/device/assembly/tgui_state(mob/user) +/obj/item/assembly/tgui_state(mob/user) return GLOB.tgui_deep_inventory_state -/obj/item/device/assembly/tgui_interact(mob/user, datum/tgui/ui) +/obj/item/assembly/tgui_interact(mob/user, datum/tgui/ui) return // tgui goes here -/obj/item/device/assembly/tgui_host() - if(istype(loc, /obj/item/device/assembly_holder)) +/obj/item/assembly/tgui_host() + if(istype(loc, /obj/item/assembly_holder)) return loc.tgui_host() return ..() diff --git a/code/modules/assembly/helpers.dm b/code/modules/assembly/helpers.dm index 44164fb72b2..c5afef9b795 100644 --- a/code/modules/assembly/helpers.dm +++ b/code/modules/assembly/helpers.dm @@ -1,29 +1,29 @@ /proc/isassembly(O) - if(istype(O, /obj/item/device/assembly)) + if(istype(O, /obj/item/assembly)) return 1 return 0 /proc/isigniter(O) - if(istype(O, /obj/item/device/assembly/igniter)) + if(istype(O, /obj/item/assembly/igniter)) return 1 return 0 /proc/isinfared(O) - if(istype(O, /obj/item/device/assembly/infra)) + if(istype(O, /obj/item/assembly/infra)) return 1 return 0 /proc/isprox(O) - if(istype(O, /obj/item/device/assembly/prox_sensor)) + if(istype(O, /obj/item/assembly/prox_sensor)) return 1 return 0 /proc/issignaler(O) - if(istype(O, /obj/item/device/assembly/signaler)) + if(istype(O, /obj/item/assembly/signaler)) return 1 return 0 /proc/istimer(O) - if(istype(O, /obj/item/device/assembly/timer)) + if(istype(O, /obj/item/assembly/timer)) return 1 return 0 diff --git a/code/modules/assembly/holder.dm b/code/modules/assembly/holder.dm index 32ee55d553c..2066647d73b 100644 --- a/code/modules/assembly/holder.dm +++ b/code/modules/assembly/holder.dm @@ -1,4 +1,4 @@ -/obj/item/device/assembly_holder +/obj/item/assembly_holder name = "Assembly" icon = 'icons/obj/assemblies/new_assemblies.dmi' icon_state = "holder" @@ -9,11 +9,11 @@ throw_range = 10 var/secured = 0 - var/obj/item/device/assembly/a_left = null - var/obj/item/device/assembly/a_right = null + var/obj/item/assembly/a_left = null + var/obj/item/assembly/a_right = null var/obj/special_assembly = null -/obj/item/device/assembly_holder/proc/attach(var/obj/item/device/assembly/D, var/obj/item/device/assembly/D2, var/mob/user) +/obj/item/assembly_holder/proc/attach(var/obj/item/assembly/D, var/obj/item/assembly/D2, var/mob/user) if(!D || !D2) return FALSE @@ -39,10 +39,10 @@ return TRUE -/obj/item/device/assembly_holder/proc/detached() +/obj/item/assembly_holder/proc/detached() return -/obj/item/device/assembly_holder/update_icon() +/obj/item/assembly_holder/update_icon() cut_overlays() if(a_left) add_overlay("[a_left.icon_state]_left") @@ -55,7 +55,7 @@ if(master) master.update_icon() -/obj/item/device/assembly_holder/examine(mob/user) +/obj/item/assembly_holder/examine(mob/user) . = ..() if ((in_range(src, user) || src.loc == user)) if (src.secured) @@ -63,20 +63,20 @@ else . += "\The [src] can be attached!" -/obj/item/device/assembly_holder/Moved(atom/old_loc, direction, forced = FALSE) +/obj/item/assembly_holder/Moved(atom/old_loc, direction, forced = FALSE) . = ..() if(isturf(old_loc)) unsense_proximity(callback = /atom/proc/HasProximity, center = old_loc) if(isturf(loc)) sense_proximity(callback = /atom/proc/HasProximity) -/obj/item/device/assembly_holder/HasProximity(turf/T, atom/movable/AM, old_loc) +/obj/item/assembly_holder/HasProximity(turf/T, atom/movable/AM, old_loc) if(a_left) a_left.HasProximity(T, AM, old_loc) if(a_right) a_right.HasProximity(T, AM, old_loc) -/obj/item/device/assembly_holder/Crossed(atom/movable/AM as mob|obj) +/obj/item/assembly_holder/Crossed(atom/movable/AM as mob|obj) if(AM.is_incorporeal()) return if(a_left) @@ -84,46 +84,46 @@ if(a_right) a_right.Crossed(AM) -/obj/item/device/assembly_holder/on_found(mob/finder as mob) +/obj/item/assembly_holder/on_found(mob/finder as mob) if(a_left) a_left.on_found(finder) if(a_right) a_right.on_found(finder) -/obj/item/device/assembly_holder/Moved(atom/old_loc, direction, forced = FALSE) +/obj/item/assembly_holder/Moved(atom/old_loc, direction, forced = FALSE) . = ..() if(a_left && a_right) a_left.holder_movement() a_right.holder_movement() -/obj/item/device/assembly_holder/attack_hand()//Perhapse this should be a holder_pickup proc instead, can add if needbe I guess +/obj/item/assembly_holder/attack_hand()//Perhapse this should be a holder_pickup proc instead, can add if needbe I guess if(a_left && a_right) a_left.holder_movement() a_right.holder_movement() ..() -/obj/item/device/assembly_holder/attackby(var/obj/item/weapon/W, var/mob/user) +/obj/item/assembly_holder/attackby(var/obj/item/W, var/mob/user) if(W.has_tool_quality(TOOL_SCREWDRIVER)) if(!a_left || !a_right) - to_chat(user, " BUG:Assembly part missing, please report this!") + to_chat(user, span_warning(" BUG:Assembly part missing, please report this!")) return a_left.toggle_secure() a_right.toggle_secure() secured = !secured if(secured) - to_chat(user, "\The [src] is ready!") + to_chat(user, span_notice("\The [src] is ready!")) else - to_chat(user, "\The [src] can now be taken apart!") + to_chat(user, span_notice("\The [src] can now be taken apart!")) update_icon() return else ..() -/obj/item/device/assembly_holder/attack_self(var/mob/user) +/obj/item/assembly_holder/attack_self(var/mob/user) src.add_fingerprint(user) if(src.secured) if(!a_left || !a_right) - to_chat(user, " BUG:Assembly part missing, please report this!") + to_chat(user, span_warning(" BUG:Assembly part missing, please report this!")) return if(istype(a_left,a_right.type))//If they are the same type it causes issues due to window code switch(tgui_alert(usr, "Which side would you like to use?","Side",list("Left","Right"))) @@ -131,9 +131,9 @@ if("Right") a_right.attack_self(user) return else - if(!istype(a_left,/obj/item/device/assembly/igniter)) + if(!istype(a_left,/obj/item/assembly/igniter)) a_left.attack_self(user) - if(!istype(a_right,/obj/item/device/assembly/igniter)) + if(!istype(a_right,/obj/item/assembly/igniter)) a_right.attack_self(user) else var/turf/T = get_turf(src) @@ -147,7 +147,7 @@ a_right.forceMove(T) qdel(src) -/obj/item/device/assembly_holder/proc/process_activation(var/obj/D, var/normal = 1) +/obj/item/assembly_holder/proc/process_activation(var/obj/D, var/normal = 1) if(!D) return 0 if(!secured) @@ -161,23 +161,23 @@ master.receive_signal() return 1 -/obj/item/device/assembly_holder/hear_talk(mob/M, list/message_pieces, verb) +/obj/item/assembly_holder/hear_talk(mob/M, list/message_pieces, verb) if(a_right) a_right.hear_talk(M, message_pieces, verb) if(a_left) a_left.hear_talk(M, message_pieces, verb) -/obj/item/device/assembly_holder/timer_igniter +/obj/item/assembly_holder/timer_igniter name = "timer-igniter assembly" -/obj/item/device/assembly_holder/timer_igniter/New() +/obj/item/assembly_holder/timer_igniter/New() ..() - var/obj/item/device/assembly/igniter/ign = new(src) + var/obj/item/assembly/igniter/ign = new(src) ign.secured = 1 ign.holder = src - var/obj/item/device/assembly/timer/tmr = new(src) + var/obj/item/assembly/timer/tmr = new(src) tmr.time = 5 tmr.secured = 1 tmr.holder = src @@ -188,38 +188,38 @@ update_icon() name = initial(name) + " ([tmr.time] secs)" - loc.verbs += /obj/item/device/assembly_holder/timer_igniter/verb/configure + loc.verbs += /obj/item/assembly_holder/timer_igniter/verb/configure -/obj/item/device/assembly_holder/timer_igniter/detached() - loc.verbs -= /obj/item/device/assembly_holder/timer_igniter/verb/configure +/obj/item/assembly_holder/timer_igniter/detached() + loc.verbs -= /obj/item/assembly_holder/timer_igniter/verb/configure ..() -/obj/item/device/assembly_holder/timer_igniter/verb/configure() +/obj/item/assembly_holder/timer_igniter/verb/configure() set name = "Set Timer" set category = "Object" set src in usr if ( !(usr.stat || usr.restrained()) ) - var/obj/item/device/assembly_holder/holder - if(istype(src,/obj/item/weapon/grenade/chem_grenade)) - var/obj/item/weapon/grenade/chem_grenade/gren = src + var/obj/item/assembly_holder/holder + if(istype(src,/obj/item/grenade/chem_grenade)) + var/obj/item/grenade/chem_grenade/gren = src holder=gren.detonator - var/obj/item/device/assembly/timer/tmr = holder.a_left - if(!istype(tmr,/obj/item/device/assembly/timer)) + var/obj/item/assembly/timer/tmr = holder.a_left + if(!istype(tmr,/obj/item/assembly/timer)) tmr = holder.a_right - if(!istype(tmr,/obj/item/device/assembly/timer)) - to_chat(usr, "This detonator has no timer.") + if(!istype(tmr,/obj/item/assembly/timer)) + to_chat(usr, span_notice("This detonator has no timer.")) return if(tmr.timing) - to_chat(usr, "Clock is ticking already.") + to_chat(usr, span_notice("Clock is ticking already.")) else var/ntime = tgui_input_number(usr, "Enter desired time in seconds", "Time", "5", 1000, 0) if (ntime>0 && ntime<1000) tmr.time = ntime name = initial(name) + "([tmr.time] secs)" - to_chat(usr, "Timer set to [tmr.time] seconds.") + to_chat(usr, span_notice("Timer set to [tmr.time] seconds.")) else - to_chat(usr, "Timer can't be [ntime<=0?"negative":"more than 1000 seconds"].") + to_chat(usr, span_notice("Timer can't be [ntime<=0?"negative":"more than 1000 seconds"].")) else - to_chat(usr, "You cannot do this while [usr.stat?"unconscious/dead":"restrained"].") + to_chat(usr, span_notice("You cannot do this while [usr.stat?"unconscious/dead":"restrained"].")) diff --git a/code/modules/assembly/igniter.dm b/code/modules/assembly/igniter.dm index 0827836c355..c2fcb0eb7bf 100644 --- a/code/modules/assembly/igniter.dm +++ b/code/modules/assembly/igniter.dm @@ -1,4 +1,4 @@ -/obj/item/device/assembly/igniter +/obj/item/assembly/igniter name = "igniter" desc = "A small electronic device able to ignite combustable substances." icon_state = "igniter" @@ -8,18 +8,18 @@ secured = 1 wires = WIRE_RECEIVE -/obj/item/device/assembly/igniter/activate() +/obj/item/assembly/igniter/activate() if(!..()) return FALSE - if(holder && istype(holder.loc,/obj/item/weapon/grenade/chem_grenade)) - var/obj/item/weapon/grenade/chem_grenade/grenade = holder.loc + if(holder && istype(holder.loc,/obj/item/grenade/chem_grenade)) + var/obj/item/grenade/chem_grenade/grenade = holder.loc grenade.detonate() else var/turf/location = get_turf(loc) if(location) location.hotspot_expose(1000,1000) - if (istype(src.loc,/obj/item/device/assembly_holder)) + if (istype(src.loc,/obj/item/assembly_holder)) if (istype(src.loc.loc, /obj/structure/reagent_dispensers/fueltank/)) var/obj/structure/reagent_dispensers/fueltank/tank = src.loc.loc if (tank && tank.modded) @@ -32,9 +32,9 @@ return TRUE -/obj/item/device/assembly/igniter/attack_self(var/mob/user) +/obj/item/assembly/igniter/attack_self(var/mob/user) activate() add_fingerprint(user) -/obj/item/device/assembly/igniter/is_hot() +/obj/item/assembly/igniter/is_hot() return TRUE \ No newline at end of file diff --git a/code/modules/assembly/infrared.dm b/code/modules/assembly/infrared.dm index 565be2abc1e..c2117a60aba 100644 --- a/code/modules/assembly/infrared.dm +++ b/code/modules/assembly/infrared.dm @@ -1,6 +1,6 @@ //This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32 -/obj/item/device/assembly/infra +/obj/item/assembly/infra name = "infrared emitter" desc = "Emits a visible or invisible beam and is triggered when the beam is interrupted." icon_state = "infrared" @@ -15,21 +15,21 @@ var/visible = 0 var/list/i_beams = null -/obj/item/device/assembly/infra/activate() +/obj/item/assembly/infra/activate() if(!..()) return FALSE on = !on update_icon() return TRUE -/obj/item/device/assembly/infra/toggle_secure() +/obj/item/assembly/infra/toggle_secure() secured = !secured if(!secured) toggle_state(FALSE) update_icon() return secured -/obj/item/device/assembly/infra/proc/toggle_state(var/picked) +/obj/item/assembly/infra/proc/toggle_state(var/picked) if(!isnull(picked)) on = picked else @@ -42,7 +42,7 @@ QDEL_LIST_NULL(i_beams) return on -/obj/item/device/assembly/infra/update_icon() +/obj/item/assembly/infra/update_icon() cut_overlays() LAZYCLEARLIST(attached_overlays) if(on) @@ -52,7 +52,7 @@ if(holder) holder.update_icon(2) -/obj/item/device/assembly/infra/process() +/obj/item/assembly/infra/process() if(!on && i_beams) QDEL_LIST_NULL(i_beams) return @@ -60,7 +60,7 @@ if(!i_beams && secured && (istype(loc, /turf) || (holder && istype(holder.loc, /turf)))) create_beams() -/obj/item/device/assembly/infra/proc/create_beams(var/limit = 8) +/obj/item/assembly/infra/proc/create_beams(var/limit = 8) var/current_spot = get_turf(src) for(var/i = 1 to limit) var/obj/effect/beam/i_beam/I = new /obj/effect/beam/i_beam(current_spot) @@ -73,26 +73,26 @@ i_beams |= I I.visible = visible -/obj/item/device/assembly/infra/attack_hand() +/obj/item/assembly/infra/attack_hand() QDEL_LIST_NULL(i_beams) ..() -/obj/item/device/assembly/infra/Move() +/obj/item/assembly/infra/Move() var/t = dir . = ..() set_dir(t) -/obj/item/device/assembly/infra/Moved(atom/old_loc, direction, forced = FALSE) +/obj/item/assembly/infra/Moved(atom/old_loc, direction, forced = FALSE) . = ..() QDEL_LIST_NULL(i_beams) -/obj/item/device/assembly/infra/holder_movement() +/obj/item/assembly/infra/holder_movement() if(!holder) return FALSE QDEL_LIST_NULL(i_beams) return TRUE -/obj/item/device/assembly/infra/proc/trigger_beam() +/obj/item/assembly/infra/proc/trigger_beam() if(!process_cooldown()) return FALSE pulse(0) @@ -100,16 +100,16 @@ if(!holder) visible_message("[icon2html(src,viewers(src))] *beep* *beep*") -/obj/item/device/assembly/infra/tgui_interact(mob/user, datum/tgui/ui) +/obj/item/assembly/infra/tgui_interact(mob/user, datum/tgui/ui) if(!secured) - to_chat(user, "[src] is unsecured!") + to_chat(user, span_warning("[src] is unsecured!")) return FALSE ui = SStgui.try_update_ui(user, src, ui) if(!ui) ui = new(user, src, "AssemblyInfrared", name) ui.open() -/obj/item/device/assembly/infra/tgui_data(mob/user) +/obj/item/assembly/infra/tgui_data(mob/user) var/list/data = ..() data["on"] = on @@ -117,7 +117,7 @@ return data -/obj/item/device/assembly/infra/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state) +/obj/item/assembly/infra/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state) if(..()) return TRUE @@ -132,7 +132,7 @@ CHECK_TICK return TRUE -/obj/item/device/assembly/infra/verb/rotate_clockwise() +/obj/item/assembly/infra/verb/rotate_clockwise() set name = "Rotate Infrared Laser Clockwise" set category = "Object" set src in usr @@ -140,7 +140,7 @@ set_dir(turn(dir, 270)) //VOREstation edit: counter-clockwise rotation -/obj/item/device/assembly/infra/verb/rotate_counterclockwise() +/obj/item/assembly/infra/verb/rotate_counterclockwise() set name = "Rotate Infrared Laser Counter-Clockwise" set category = "Object" set src in usr @@ -154,7 +154,7 @@ name = "i beam" icon = 'icons/obj/projectiles.dmi' icon_state = "ibeam" - var/obj/item/device/assembly/infra/master = null + var/obj/item/assembly/infra/master = null var/visible = 0 anchored = TRUE diff --git a/code/modules/assembly/mousetrap.dm b/code/modules/assembly/mousetrap.dm index de11bc20a79..4ebb2d24e6c 100644 --- a/code/modules/assembly/mousetrap.dm +++ b/code/modules/assembly/mousetrap.dm @@ -1,4 +1,4 @@ -/obj/item/device/assembly/mousetrap +/obj/item/assembly/mousetrap name = "mousetrap" desc = "A handy little spring-loaded trap for catching pesty rodents." icon_state = "mousetrap" @@ -7,12 +7,12 @@ var/armed = 0 -/obj/item/device/assembly/mousetrap/examine(var/mob/user) +/obj/item/assembly/mousetrap/examine(var/mob/user) . = ..(user) if(armed) . += "It looks like it's armed." -/obj/item/device/assembly/mousetrap/update_icon() +/obj/item/assembly/mousetrap/update_icon() if(armed) icon_state = "mousetraparmed" else @@ -20,7 +20,7 @@ if(holder) holder.update_icon() -/obj/item/device/assembly/mousetrap/proc/triggered(var/mob/target, var/type = "feet") +/obj/item/assembly/mousetrap/proc/triggered(var/mob/target, var/type = "feet") if(!armed) return var/obj/item/organ/external/affecting = null @@ -41,7 +41,7 @@ H.updatehealth() else if(ismouse(target)) var/mob/living/simple_mob/animal/passive/mouse/M = target - visible_message(span_red("SPLAT!")) + visible_message(span_bolddanger("SPLAT!")) M.splat() playsound(target, 'sound/effects/snap.ogg', 50, 1) layer = MOB_LAYER - 0.2 @@ -49,37 +49,37 @@ update_icon() pulse(0) -/obj/item/device/assembly/mousetrap/attack_self(var/mob/living/user) +/obj/item/assembly/mousetrap/attack_self(var/mob/living/user) if(!armed) - to_chat(user, "You arm [src].") + to_chat(user, span_notice("You arm [src].")) else if((CLUMSY in user.mutations) && prob(50)) var/which_hand = "l_hand" if(!user.hand) which_hand = "r_hand" triggered(user, which_hand) - user.visible_message("[user] accidentally sets off [src], breaking their fingers.", \ - "You accidentally trigger [src]!") + user.visible_message(span_warning("[user] accidentally sets off [src], breaking their fingers."), \ + span_warning("You accidentally trigger [src]!")) return - to_chat(user, "You disarm [src].") + to_chat(user, span_notice("You disarm [src].")) armed = !armed update_icon() playsound(user, 'sound/weapons/handcuffs.ogg', 30, 1, -3) -/obj/item/device/assembly/mousetrap/attack_hand(var/mob/living/user) +/obj/item/assembly/mousetrap/attack_hand(var/mob/living/user) if(armed) if((CLUMSY in user.mutations) && prob(50)) var/which_hand = "l_hand" if(!user.hand) which_hand = "r_hand" triggered(user, which_hand) - user.visible_message("[user] accidentally sets off [src], breaking their fingers.", \ - "You accidentally trigger [src]!") + user.visible_message(span_warning("[user] accidentally sets off [src], breaking their fingers."), \ + span_warning("You accidentally trigger [src]!")) return ..() -/obj/item/device/assembly/mousetrap/Crossed(var/atom/movable/AM) +/obj/item/assembly/mousetrap/Crossed(var/atom/movable/AM) if(AM.is_incorporeal()) return if(armed) @@ -87,31 +87,31 @@ var/mob/living/carbon/H = AM if(H.m_intent == "run") triggered(H) - H.visible_message("[H] accidentally steps on [src].", \ - "You accidentally step on [src]") + H.visible_message(span_warning("[H] accidentally steps on [src]."), \ + span_warning("You accidentally step on [src]")) if(ismouse(AM)) triggered(AM) ..() -/obj/item/device/assembly/mousetrap/on_found(var/mob/living/finder) +/obj/item/assembly/mousetrap/on_found(var/mob/living/finder) if(armed) - finder.visible_message("[finder] accidentally sets off [src], breaking their fingers.", \ - "You accidentally trigger [src]!") + finder.visible_message(span_warning("[finder] accidentally sets off [src], breaking their fingers."), \ + span_warning("You accidentally trigger [src]!")) triggered(finder, finder.hand ? "l_hand" : "r_hand") return 1 //end the search! return 0 -/obj/item/device/assembly/mousetrap/hitby(var/atom/movable/A) +/obj/item/assembly/mousetrap/hitby(var/atom/movable/A) if(!armed) return ..() - visible_message("[src] is triggered by [A].") + visible_message(span_warning("[src] is triggered by [A].")) triggered(null) -/obj/item/device/assembly/mousetrap/armed +/obj/item/assembly/mousetrap/armed icon_state = "mousetraparmed" armed = 1 -/obj/item/device/assembly/mousetrap/verb/hide_under() +/obj/item/assembly/mousetrap/verb/hide_under() set src in oview(1) set name = "Hide" set category = "Object" @@ -120,4 +120,4 @@ return layer = HIDING_LAYER - to_chat(usr, "You hide [src].") + to_chat(usr, span_notice("You hide [src].")) diff --git a/code/modules/assembly/proximity.dm b/code/modules/assembly/proximity.dm index 93e8cd11085..42c156e9634 100644 --- a/code/modules/assembly/proximity.dm +++ b/code/modules/assembly/proximity.dm @@ -1,4 +1,4 @@ -/obj/item/device/assembly/prox_sensor +/obj/item/assembly/prox_sensor name = "proximity sensor" desc = "Used for scanning and alerting when someone enters a certain proximity." icon_state = "prox" @@ -14,14 +14,14 @@ var/range = 2 -/obj/item/device/assembly/prox_sensor/activate() +/obj/item/assembly/prox_sensor/activate() if(!..()) return FALSE timing = !timing update_icon() return FALSE -/obj/item/device/assembly/prox_sensor/toggle_secure() +/obj/item/assembly/prox_sensor/toggle_secure() secured = !secured if(secured) START_PROCESSING(SSobj, src) @@ -32,7 +32,7 @@ update_icon() return secured -/obj/item/device/assembly/prox_sensor/HasProximity(turf/T, atom/movable/AM, old_loc) +/obj/item/assembly/prox_sensor/HasProximity(turf/T, atom/movable/AM, old_loc) if(!istype(AM)) log_debug("DEBUG: HasProximity called with [AM] on [src] ([usr]).") return @@ -41,7 +41,7 @@ if (!isobserver(AM) && AM.move_speed < 12) sense() -/obj/item/device/assembly/prox_sensor/proc/sense() +/obj/item/assembly/prox_sensor/proc/sense() if((!holder && !secured) || !scanning || !process_cooldown()) return FALSE var/turf/mainloc = get_turf(src) @@ -49,7 +49,7 @@ if(!holder) mainloc.visible_message("[icon2html(src,viewers(src))] *beep* *beep*", "*beep* *beep*") -/obj/item/device/assembly/prox_sensor/process() +/obj/item/assembly/prox_sensor/process() if(scanning) var/turf/mainloc = get_turf(src) for(var/mob/living/A in range(range,mainloc)) @@ -63,16 +63,16 @@ toggle_scan() time = initial(time) -/obj/item/device/assembly/prox_sensor/dropped() +/obj/item/assembly/prox_sensor/dropped() sense() -/obj/item/device/assembly/prox_sensor/proc/toggle_scan() +/obj/item/assembly/prox_sensor/proc/toggle_scan() if(!secured) return FALSE scanning = !scanning update_icon() -/obj/item/device/assembly/prox_sensor/update_icon() +/obj/item/assembly/prox_sensor/update_icon() cut_overlays() LAZYCLEARLIST(attached_overlays) if(timing) @@ -83,11 +83,11 @@ LAZYADD(attached_overlays, "prox_scanning") if(holder) holder.update_icon() - if(holder && istype(holder.loc,/obj/item/weapon/grenade/chem_grenade)) - var/obj/item/weapon/grenade/chem_grenade/grenade = holder.loc + if(holder && istype(holder.loc,/obj/item/grenade/chem_grenade)) + var/obj/item/grenade/chem_grenade/grenade = holder.loc grenade.primed(scanning) -/obj/item/device/assembly/prox_sensor/Moved(atom/old_loc, direction, forced = FALSE) +/obj/item/assembly/prox_sensor/Moved(atom/old_loc, direction, forced = FALSE) . = ..() if(isturf(old_loc)) unsense_proximity(range = range, callback = /atom/proc/HasProximity, center = old_loc) @@ -95,16 +95,16 @@ sense_proximity(range = range, callback = /atom/proc/HasProximity) sense() -/obj/item/device/assembly/prox_sensor/tgui_interact(mob/user, datum/tgui/ui) +/obj/item/assembly/prox_sensor/tgui_interact(mob/user, datum/tgui/ui) if(!secured) - to_chat(user, "[src] is unsecured!") + to_chat(user, span_warning("[src] is unsecured!")) return FALSE ui = SStgui.try_update_ui(user, src, ui) if(!ui) ui = new(user, src, "AssemblyProx", name) ui.open() -/obj/item/device/assembly/prox_sensor/tgui_data(mob/user) +/obj/item/assembly/prox_sensor/tgui_data(mob/user) var/list/data = ..() data["time"] = time @@ -115,7 +115,7 @@ return data -/obj/item/device/assembly/prox_sensor/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state) +/obj/item/assembly/prox_sensor/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state) if(..()) return TRUE diff --git a/code/modules/assembly/shock_kit.dm b/code/modules/assembly/shock_kit.dm index c55d6a72cab..a7a60d26b15 100644 --- a/code/modules/assembly/shock_kit.dm +++ b/code/modules/assembly/shock_kit.dm @@ -3,7 +3,7 @@ desc = "This appears to be made from both an electropack and a helmet." icon_state = "shock_kit" var/obj/item/clothing/head/helmet/part1 = null - var/obj/item/device/radio/electropack/part2 = null + var/obj/item/radio/electropack/part2 = null var/status = 0 w_class = ITEMSIZE_HUGE @@ -13,7 +13,7 @@ ..() return -/obj/item/assembly/shock_kit/attackby(var/obj/item/weapon/W, var/mob/user) +/obj/item/assembly/shock_kit/attackby(var/obj/item/W, var/mob/user) if(W.has_tool_quality(TOOL_WRENCH) && !status) var/turf/T = loc if(ismob(T)) @@ -28,7 +28,7 @@ return if(W.has_tool_quality(TOOL_SCREWDRIVER)) status = !status - to_chat(user, "[src] is now [status ? "secured" : "unsecured"]!") + to_chat(user, span_notice("[src] is now [status ? "secured" : "unsecured"]!")) playsound(src, W.usesound, 50, 1) add_fingerprint(user) return diff --git a/code/modules/assembly/signaler.dm b/code/modules/assembly/signaler.dm index 3232e602d06..a474c4b24ff 100644 --- a/code/modules/assembly/signaler.dm +++ b/code/modules/assembly/signaler.dm @@ -1,4 +1,4 @@ -/obj/item/device/assembly/signaler +/obj/item/assembly/signaler name = "remote signaling device" desc = "Used to remotely activate devices. Tap against another secured signaler to transfer configuration." icon_state = "signaller" @@ -16,27 +16,27 @@ var/datum/wires/connected = null var/datum/radio_frequency/radio_connection -/obj/item/device/assembly/signaler/Initialize() +/obj/item/assembly/signaler/Initialize() . = ..() set_frequency(frequency) -/obj/item/device/assembly/signaler/activate() +/obj/item/assembly/signaler/activate() if(!process_cooldown()) return FALSE signal() return TRUE -/obj/item/device/assembly/signaler/update_icon() +/obj/item/assembly/signaler/update_icon() if(holder) holder.update_icon() -/obj/item/device/assembly/signaler/tgui_interact(mob/user, datum/tgui/ui) +/obj/item/assembly/signaler/tgui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) if(!ui) ui = new(user, src, "Signaler", name) ui.open() -/obj/item/device/assembly/signaler/tgui_data(mob/user) +/obj/item/assembly/signaler/tgui_data(mob/user) var/list/data = list() data["frequency"] = frequency data["code"] = code @@ -44,7 +44,7 @@ data["maxFrequency"] = RADIO_HIGH_FREQ return data -/obj/item/device/assembly/signaler/tgui_act(action, params) +/obj/item/assembly/signaler/tgui_act(action, params) if(..()) return TRUE @@ -70,9 +70,9 @@ update_icon() -/obj/item/device/assembly/signaler/attackby(var/obj/item/weapon/W, mob/user, params) +/obj/item/assembly/signaler/attackby(var/obj/item/W, mob/user, params) if(issignaler(W)) - var/obj/item/device/assembly/signaler/signaler2 = W + var/obj/item/assembly/signaler/signaler2 = W if(secured && signaler2.secured) code = signaler2.code set_frequency(signaler2.frequency) @@ -80,7 +80,7 @@ else ..() -/obj/item/device/assembly/signaler/proc/signal() +/obj/item/assembly/signaler/proc/signal() if(!radio_connection) return if(is_jammed(src)) @@ -92,7 +92,7 @@ signal.data["message"] = "ACTIVATE" radio_connection.post_signal(src, signal) -/obj/item/device/assembly/signaler/pulse(var/radio = 0) +/obj/item/assembly/signaler/pulse(var/radio = 0) if(is_jammed(src)) return FALSE if(connected && wires) @@ -103,7 +103,7 @@ ..(radio) return TRUE -/obj/item/device/assembly/signaler/receive_signal(datum/signal/signal) +/obj/item/assembly/signaler/receive_signal(datum/signal/signal) if(!signal) return FALSE if(signal.encryption != code) @@ -118,7 +118,7 @@ for(var/mob/O in hearers(1, src.loc)) O.show_message("[icon2html(src, O.client)] *beep* *beep*", 3, "*beep* *beep*", 2) -/obj/item/device/assembly/signaler/proc/set_frequency(new_frequency) +/obj/item/assembly/signaler/proc/set_frequency(new_frequency) if(!frequency) return if(!radio_controller) @@ -130,7 +130,7 @@ frequency = new_frequency radio_connection = radio_controller.add_object(src, frequency, RADIO_CHAT) -/obj/item/device/assembly/signaler/Destroy() +/obj/item/assembly/signaler/Destroy() if(radio_controller) radio_controller.remove_object(src,frequency) frequency = 0 diff --git a/code/modules/assembly/timer.dm b/code/modules/assembly/timer.dm index 58804b4a5f7..c5e5938a0c3 100644 --- a/code/modules/assembly/timer.dm +++ b/code/modules/assembly/timer.dm @@ -1,4 +1,4 @@ -/obj/item/device/assembly/timer +/obj/item/assembly/timer name = "timer" desc = "Used to time things. Works well with contraptions which has to count down. Tick tock." icon_state = "timer" @@ -13,7 +13,7 @@ var/time = 10 -/obj/item/device/assembly/timer/activate() +/obj/item/assembly/timer/activate() if(!..()) return FALSE @@ -22,7 +22,7 @@ update_icon() return 0 -/obj/item/device/assembly/timer/toggle_secure() +/obj/item/assembly/timer/toggle_secure() secured = !secured if(secured) START_PROCESSING(SSobj, src) @@ -32,27 +32,27 @@ update_icon() return secured -/obj/item/device/assembly/timer/proc/set_state(var/state) +/obj/item/assembly/timer/proc/set_state(var/state) if(state && !timing) //Not running, starting though START_PROCESSING(SSobj, src) else if(timing && !state) //Running, stopping though STOP_PROCESSING(SSobj, src) timing = state -/obj/item/device/assembly/timer/proc/timer_end() +/obj/item/assembly/timer/proc/timer_end() if(!secured) return 0 pulse(0) if(!holder) visible_message("[icon2html(src,viewers(src))] *beep* *beep*", "*beep* *beep*") -/obj/item/device/assembly/timer/process() +/obj/item/assembly/timer/process() if(timing && time-- <= 0) set_state(0) timer_end() time = 10 -/obj/item/device/assembly/timer/update_icon() +/obj/item/assembly/timer/update_icon() cut_overlays() attached_overlays = list() if(timing) @@ -62,22 +62,22 @@ holder.update_icon() return -/obj/item/device/assembly/timer/tgui_interact(mob/user, datum/tgui/ui) +/obj/item/assembly/timer/tgui_interact(mob/user, datum/tgui/ui) if(!secured) - to_chat(user, "[src] is unsecured!") + to_chat(user, span_warning("[src] is unsecured!")) return FALSE ui = SStgui.try_update_ui(user, src, ui) if(!ui) ui = new(user, src, "AssemblyTimer", name) ui.open() -/obj/item/device/assembly/timer/tgui_data(mob/user) +/obj/item/assembly/timer/tgui_data(mob/user) var/list/data = ..() data["time"] = time data["timing"] = timing return data -/obj/item/device/assembly/timer/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state) +/obj/item/assembly/timer/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state) if(..()) return TRUE diff --git a/code/modules/assembly/voice.dm b/code/modules/assembly/voice.dm index 2783f92b767..745525ea92b 100644 --- a/code/modules/assembly/voice.dm +++ b/code/modules/assembly/voice.dm @@ -1,4 +1,4 @@ -/obj/item/device/assembly/voice +/obj/item/assembly/voice name = "voice analyzer" desc = "A small electronic device able to record a voice sample, and send a signal when that sample is repeated." icon_state = "voice" @@ -7,7 +7,7 @@ var/listening = 0 var/recorded //the activation message -/obj/item/device/assembly/voice/hear_talk(mob/M, list/message_pieces, verb) +/obj/item/assembly/voice/hear_talk(mob/M, list/message_pieces, verb) var/msg = multilingual_to_message(message_pieces) if(listening) recorded = msg @@ -18,7 +18,7 @@ if(findtext(msg, recorded)) pulse(0) -/obj/item/device/assembly/voice/activate() +/obj/item/assembly/voice/activate() if(secured) if(!holder) listening = !listening @@ -26,12 +26,12 @@ T.visible_message("[icon2html(src,viewers(src))] beeps, \"[listening ? "Now" : "No longer"] recording input.\"") -/obj/item/device/assembly/voice/attack_self(mob/user) +/obj/item/assembly/voice/attack_self(mob/user) if(!user) return FALSE activate() return TRUE -/obj/item/device/assembly/voice/toggle_secure() +/obj/item/assembly/voice/toggle_secure() . = ..() listening = 0 diff --git a/code/modules/asset_cache/asset_list.dm b/code/modules/asset_cache/asset_list.dm index c9e02cb9276..bdc062e0664 100644 --- a/code/modules/asset_cache/asset_list.dm +++ b/code/modules/asset_cache/asset_list.dm @@ -1,4 +1,4 @@ -#define ASSET_CROSS_ROUND_CACHE_DIRECTORY "tmp/assets" +#define ASSET_CROSS_ROUND_CACHE_DIRECTORY "cache/assets" //These datums are used to populate the asset cache, the proc "register()" does this. //Place any asset datums you create in asset_list_items.dm @@ -61,7 +61,7 @@ GLOBAL_LIST_EMPTY(asset_datums) /// Returns whether or not the asset should attempt to read from cache /datum/asset/proc/should_refresh() - return !cross_round_cachable || !config.cache_assets + return !cross_round_cachable || !CONFIG_GET(flag/cache_assets) /// Simply takes any generated file and saves it to the round-specific /logs folder. Useful for debugging potential issues with spritesheet generation/display. /// Only called when the SAVE_SPRITESHEETS config option is uncommented. @@ -180,7 +180,7 @@ GLOBAL_LIST_EMPTY(asset_datums) return // If it's cached, may as well load it now, while the loading is cheap - if(config.cache_assets && cross_round_cachable) + if(CONFIG_GET(flag/cache_assets) && cross_round_cachable) load_immediately = TRUE create_spritesheets() @@ -209,12 +209,12 @@ GLOBAL_LIST_EMPTY(asset_datums) text2file(generate_css(), file_directory) SSassets.transport.register_asset(css_name, fcopy_rsc(file_directory)) - if(config.save_spritesheets) + if(CONFIG_GET(flag/save_spritesheets)) save_to_logs(file_name = css_name, file_location = file_directory) fdel(file_directory) - if (config.cache_assets && cross_round_cachable) + if (CONFIG_GET(flag/cache_assets) && cross_round_cachable) write_to_cache() fully_generated = TRUE // If we were ever in there, remove ourselves @@ -267,7 +267,7 @@ GLOBAL_LIST_EMPTY(asset_datums) size[SPRSZ_STRIPPED] = icon(file_directory) // this is useful here for determining if weird sprite issues (like having a white background) are a cause of what we're doing DM-side or not since we can see the full flattened thing at-a-glance. - if(config.save_spritesheets) + if(CONFIG_GET(flag/save_spritesheets)) save_to_logs(file_name = png_name, file_location = file_directory) fdel(file_directory) @@ -321,7 +321,7 @@ GLOBAL_LIST_EMPTY(asset_datums) rustg_file_write(replaced_css, replaced_css_filename) SSassets.transport.register_asset(finalized_name, replaced_css_filename) - if(config.save_spritesheets) + if(CONFIG_GET(flag/save_spritesheets)) save_to_logs(file_name = finalized_name, file_location = replaced_css_filename) fdel(replaced_css_filename) diff --git a/code/modules/asset_cache/asset_list_items.dm b/code/modules/asset_cache/asset_list_items.dm index 9712e091a66..59bd2b040e5 100644 --- a/code/modules/asset_cache/asset_list_items.dm +++ b/code/modules/asset_cache/asset_list_items.dm @@ -354,10 +354,10 @@ // I really don't like the fact that I have to do this, but what the hell else *can* I do to make all of these // random special items work? - if(ispath(item, /obj/item/weapon/reagent_containers/food/drinks/glass2) && !ispath(item, /obj/item/weapon/reagent_containers/food/drinks/glass2/fitnessflask)) - var/obj/item/weapon/reagent_containers/food/drinks/glass2/G = item + if(ispath(item, /obj/item/reagent_containers/food/drinks/glass2) && !ispath(item, /obj/item/reagent_containers/food/drinks/glass2/fitnessflask)) + var/obj/item/reagent_containers/food/drinks/glass2/G = item icon_state = initial(G.base_icon) - if(ispath(item, /obj/item/weapon/reagent_containers/hypospray/autoinjector)) + if(ispath(item, /obj/item/reagent_containers/hypospray/autoinjector)) icon_state += "0" var/icon/I @@ -437,6 +437,45 @@ Insert("bottle-[i]", 'icons/obj/chemical.dmi', "bottle-[i]") +// Robot UI sprites +/datum/asset/spritesheet/robot_icons + name = "robot_icons" + +/datum/asset/spritesheet/robot_icons/create_spritesheets() + for(var/datum/robot_sprite/S as anything in typesof(/datum/robot_sprite)) + if(!S.name || !S.sprite_icon_state) // snowflake out those customs... they suck + continue + var/icon/I_N = icon(S.sprite_icon, S.sprite_icon_state, NORTH) + var/icon/I_S = icon(S.sprite_icon, S.sprite_icon_state, SOUTH) + var/icon/I_W = icon(S.sprite_icon, S.sprite_icon_state, WEST) + var/icon/I_E = icon(S.sprite_icon, S.sprite_icon_state, EAST) + if(S.has_eye_sprites) + var/icon/I_NE = icon(S.sprite_icon, "[S.sprite_icon_state]-eyes", NORTH) + if(I_NE) + I_N.Blend(I_NE, ICON_OVERLAY) + if(S.has_eye_sprites) + var/icon/I_SE = icon(S.sprite_icon, "[S.sprite_icon_state]-eyes", SOUTH) + if(I_SE) + I_S.Blend(I_SE, ICON_OVERLAY) + if(S.has_eye_sprites) + var/icon/I_WE = icon(S.sprite_icon, "[S.sprite_icon_state]-eyes", WEST) + if(I_WE) + I_W.Blend(I_WE, ICON_OVERLAY) + if(S.has_eye_sprites) + var/icon/I_EE = icon(S.sprite_icon, "[S.sprite_icon_state]-eyes", EAST) + if(I_EE) + I_E.Blend(I_EE, ICON_OVERLAY) + var/imgid = sanitize_css_class_name("[S.type]") + I_N.Scale(120, 120) + I_S.Scale(120, 120) + I_W.Scale(120, 120) + I_E.Scale(120, 120) + Insert(imgid + "N", I_N) + Insert(imgid + "S", I_S) + Insert(imgid + "W", I_W) + Insert(imgid + "E", I_E) + + //Cloning pod sprites for UIs /datum/asset/simple/cloning assets = list( diff --git a/code/modules/asset_cache/assets/chat.dm b/code/modules/asset_cache/assets/chat.dm index 0853ea542c7..cbaf4ac35bd 100644 --- a/code/modules/asset_cache/assets/chat.dm +++ b/code/modules/asset_cache/assets/chat.dm @@ -2,5 +2,4 @@ name = "chat" /datum/asset/spritesheet/chat/create_spritesheets() - //honk - //This function has to be overridden otherwise it will generate runtimes + InsertAll("", text_tag_icons) // OOC, LOOC ect icons diff --git a/code/modules/asset_cache/assets/circuits.dm b/code/modules/asset_cache/assets/circuits.dm new file mode 100644 index 00000000000..c783fcf8b24 --- /dev/null +++ b/code/modules/asset_cache/assets/circuits.dm @@ -0,0 +1,4 @@ +/datum/asset/simple/circuit_assets + assets = list( + "grid_background.png" = 'icons/UI_Icons/tgui/grid_background.png', + ) diff --git a/code/modules/asset_cache/assets/kitchen_recipes.dm b/code/modules/asset_cache/assets/kitchen_recipes.dm new file mode 100644 index 00000000000..2cca2ed6704 --- /dev/null +++ b/code/modules/asset_cache/assets/kitchen_recipes.dm @@ -0,0 +1,26 @@ +/datum/asset/spritesheet/kitchen_recipes + name = "kitchen_recipes" + +/datum/asset/spritesheet/kitchen_recipes/create_spritesheets() + for(var/datum/recipe/R as anything in subtypesof(/datum/recipe)) + add_atom_icon(R.result, sanitize_css_class_name("[R.type]")) + +/datum/asset/spritesheet/kitchen_recipes/proc/add_atom_icon(typepath, id) + var/icon_file + var/icon_state + var/obj/preview_item = typepath + + // if(ispath(ingredient_typepath, /datum/reagent)) + // var/datum/reagent/reagent = ingredient_typepath + // preview_item = initial(reagent.default_container) + // var/datum/glass_style/style = GLOB.glass_style_singletons[preview_item]?[reagent] + // if(istype(style)) + // icon_file = style.icon + // icon_state = style.icon_state + + // icon_file ||= initial(preview_item.icon_preview) || initial(preview_item.icon) + // icon_state ||= initial(preview_item.icon_state_preview) || initial(preview_item.icon_state) + icon_file = initial(preview_item.icon) + icon_state = initial(preview_item.icon_state) + + Insert("[id]", icon_file, icon_state) diff --git a/code/modules/asset_cache/assets/preferences.dm b/code/modules/asset_cache/assets/preferences.dm new file mode 100644 index 00000000000..3d01471a388 --- /dev/null +++ b/code/modules/asset_cache/assets/preferences.dm @@ -0,0 +1,22 @@ +/// Sends information needed for shared details on individual preferences +/datum/asset/json/preferences + name = "preferences" + +/datum/asset/json/preferences/generate() + var/list/preference_data = list() + + for(var/middleware_type in subtypesof(/datum/preference_middleware)) + var/datum/preference_middleware/middleware = new middleware_type + var/data = middleware.get_constant_data() + if(!isnull(data)) + preference_data[middleware.key] = data + + qdel(middleware) + + for(var/preference_type in GLOB.preference_entries) + var/datum/preference/preference_entry = GLOB.preference_entries[preference_type] + var/data = preference_entry.compile_constant_data() + if(!isnull(data)) + preference_data[preference_entry.savefile_key] = data + + return preference_data diff --git a/code/modules/asset_cache/transports/asset_transport.dm b/code/modules/asset_cache/transports/asset_transport.dm index 5be975a385e..db19277abf5 100644 --- a/code/modules/asset_cache/transports/asset_transport.dm +++ b/code/modules/asset_cache/transports/asset_transport.dm @@ -12,14 +12,14 @@ /// Called when the transport is loaded by the config controller, not called on the default transport unless it gets loaded by a config change. /datum/asset_transport/proc/Load() - if (config.asset_simple_preload) + if (CONFIG_GET(flag/asset_simple_preload)) for(var/client/C in GLOB.clients) addtimer(CALLBACK(src, PROC_REF(send_assets_slow), C, preload), 1 SECONDS) /// Initialize - Called when SSassets initializes. /datum/asset_transport/proc/Initialize(list/assets) preload = assets.Copy() - if (!config.asset_simple_preload) + if (!CONFIG_GET(flag/asset_simple_preload)) return for(var/client/C in GLOB.clients) addtimer(CALLBACK(src, PROC_REF(send_assets_slow), C, preload), 1 SECONDS) @@ -121,7 +121,7 @@ if (unreceived.len) if (unreceived.len >= ASSET_CACHE_TELL_CLIENT_AMOUNT) - to_chat(client, "Sending Resources...") + to_chat(client, span_infoplain("Sending Resources...")) for (var/asset_name in unreceived) var/new_asset_name = asset_name diff --git a/code/modules/asset_cache/transports/webroot_transport.dm b/code/modules/asset_cache/transports/webroot_transport.dm index 9ee8768efd4..e3cb33b8fab 100644 --- a/code/modules/asset_cache/transports/webroot_transport.dm +++ b/code/modules/asset_cache/transports/webroot_transport.dm @@ -25,7 +25,7 @@ /// Saves the asset to the webroot taking into account namespaces and hashes. /datum/asset_transport/webroot/proc/save_asset_to_webroot(datum/asset_cache_item/ACI) - var/webroot = config.asset_cdn_webroot + var/webroot = CONFIG_GET(string/asset_cdn_webroot) var/newpath = "[webroot][get_asset_suffex(ACI)]" if (fexists(newpath)) return @@ -39,7 +39,7 @@ /datum/asset_transport/webroot/get_asset_url(asset_name, datum/asset_cache_item/asset_cache_item) if (!istype(asset_cache_item)) asset_cache_item = SSassets.cache[asset_name] - var/url = config.asset_cdn_url //config loading will handle making sure this ends in a / + var/url = CONFIG_GET(string/asset_cdn_url) //config loading will handle making sure this ends in a / return "[url][get_asset_suffex(asset_cache_item)]" /datum/asset_transport/webroot/proc/get_asset_suffex(datum/asset_cache_item/asset_cache_item) @@ -76,11 +76,11 @@ return FALSE /datum/asset_transport/webroot/validate_config(log = TRUE) - if (!config.asset_cdn_url) + if (!CONFIG_GET(string/asset_cdn_url)) if (log) log_asset("ERROR: [type]: Invalid Config: ASSET_CDN_URL") return FALSE - if (!config.asset_cdn_webroot) + if (!CONFIG_GET(string/asset_cdn_webroot)) if (log) log_asset("ERROR: [type]: Invalid Config: ASSET_CDN_WEBROOT") return FALSE diff --git a/code/modules/awaymissions/bluespaceartillery.dm b/code/modules/awaymissions/bluespaceartillery.dm index f11b9ee61e1..0b606c3dd98 100644 --- a/code/modules/awaymissions/bluespaceartillery.dm +++ b/code/modules/awaymissions/bluespaceartillery.dm @@ -22,9 +22,9 @@ /obj/machinery/artillerycontrol/attack_hand(mob/user as mob) user.set_machine(src) - var/dat = "Bluespace Artillery Control:
    " + var/dat = span_bold("Bluespace Artillery Control:") + "
    " dat += "Locked on
    " - dat += "Charge progress: [reload]/180:
    " + dat += span_bold("Charge progress: [reload]/180:") + "
    " dat += "Open Fire
    " dat += "Deployment of weapon authorized by
    [using_map.company_name] Naval Command

    Remember, friendly fire is grounds for termination of your contract and life.
    " user << browse(dat, "window=scroll") diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm index b3ab39f74ee..95a17a4f71a 100644 --- a/code/modules/awaymissions/corpse.dm +++ b/code/modules/awaymissions/corpse.dm @@ -69,7 +69,7 @@ if(src.corpseback) M.equip_to_slot_or_del(new src.corpseback(M), slot_back) if(src.corpseid == 1) - var/obj/item/weapon/card/id/W = new(M) + var/obj/item/card/id/W = new(M) var/datum/job/jobdatum for(var/jobtype in typesof(/datum/job)) var/datum/job/J = new jobtype @@ -103,13 +103,13 @@ corpsesuit = /obj/item/clothing/suit/armor/vest corpseshoes = /obj/item/clothing/shoes/boots/swat corpsegloves = /obj/item/clothing/gloves/swat - corpseradio = /obj/item/device/radio/headset + corpseradio = /obj/item/radio/headset corpsemask = /obj/item/clothing/mask/gas corpsehelmet = /obj/item/clothing/head/helmet/swat - corpseback = /obj/item/weapon/storage/backpack + corpseback = /obj/item/storage/backpack corpseid = 1 corpseidjob = "Operative" - corpseidaccess = "Syndicate" + corpseidaccess = JOB_SYNDICATE /obj/effect/landmark/corpse/syndicatecommando name = "Mercenary Commando" @@ -117,14 +117,14 @@ corpsesuit = /obj/item/clothing/suit/space/void/merc corpseshoes = /obj/item/clothing/shoes/boots/swat corpsegloves = /obj/item/clothing/gloves/swat - corpseradio = /obj/item/device/radio/headset + corpseradio = /obj/item/radio/headset corpsemask = /obj/item/clothing/mask/gas/syndicate corpsehelmet = /obj/item/clothing/head/helmet/space/void/merc - corpseback = /obj/item/weapon/tank/jetpack/oxygen - corpsepocket1 = /obj/item/weapon/tank/emergency/oxygen + corpseback = /obj/item/tank/jetpack/oxygen + corpsepocket1 = /obj/item/tank/emergency/oxygen corpseid = 1 corpseidjob = "Operative" - corpseidaccess = "Syndicate" + corpseidaccess = JOB_SYNDICATE ///////////Civilians////////////////////// @@ -137,91 +137,91 @@ /obj/effect/landmark/corpse/chef - name = "Chef" + name = JOB_CHEF corpseuniform = /obj/item/clothing/under/rank/chef corpsesuit = /obj/item/clothing/suit/chef/classic corpseshoes = /obj/item/clothing/shoes/black corpsehelmet = /obj/item/clothing/head/chefhat - corpseback = /obj/item/weapon/storage/backpack - corpseradio = /obj/item/device/radio/headset + corpseback = /obj/item/storage/backpack + corpseradio = /obj/item/radio/headset corpseid = 1 - corpseidjob = "Chef" - corpseidaccess = "Chef" + corpseidjob = JOB_CHEF + corpseidaccess = JOB_CHEF /obj/effect/landmark/corpse/doctor name = "Doctor" - corpseradio = /obj/item/device/radio/headset/headset_med + corpseradio = /obj/item/radio/headset/headset_med corpseuniform = /obj/item/clothing/under/rank/medical corpsesuit = /obj/item/clothing/suit/storage/toggle/labcoat - corpseback = /obj/item/weapon/storage/backpack/medic - corpsepocket1 = /obj/item/device/flashlight/pen + corpseback = /obj/item/storage/backpack/medic + corpsepocket1 = /obj/item/flashlight/pen corpseshoes = /obj/item/clothing/shoes/black corpseid = 1 - corpseidjob = "Medical Doctor" - corpseidaccess = "Medical Doctor" + corpseidjob = JOB_MEDICAL_DOCTOR + corpseidaccess = JOB_MEDICAL_DOCTOR /obj/effect/landmark/corpse/engineer - name = "Engineer" - corpseradio = /obj/item/device/radio/headset/headset_eng + name = JOB_ENGINEER + corpseradio = /obj/item/radio/headset/headset_eng corpseuniform = /obj/item/clothing/under/rank/engineer - corpseback = /obj/item/weapon/storage/backpack/industrial + corpseback = /obj/item/storage/backpack/industrial corpseshoes = /obj/item/clothing/shoes/orange - corpsebelt = /obj/item/weapon/storage/belt/utility/full + corpsebelt = /obj/item/storage/belt/utility/full corpsegloves = /obj/item/clothing/gloves/yellow corpsehelmet = /obj/item/clothing/head/hardhat corpseid = 1 - corpseidjob = "Engineer" - corpseidaccess = "Engineer" + corpseidjob = JOB_ENGINEER + corpseidaccess = JOB_ENGINEER /obj/effect/landmark/corpse/engineer/rig corpsesuit = /obj/item/clothing/suit/space/void/engineering corpsemask = /obj/item/clothing/mask/breath corpsehelmet = /obj/item/clothing/head/helmet/space/void/engineering - corpseback = /obj/item/weapon/tank/oxygen + corpseback = /obj/item/tank/oxygen /obj/effect/landmark/corpse/clown - name = "Clown" + name = JOB_CLOWN corpseuniform = /obj/item/clothing/under/rank/clown corpseshoes = /obj/item/clothing/shoes/clown_shoes - corpseradio = /obj/item/device/radio/headset + corpseradio = /obj/item/radio/headset corpsemask = /obj/item/clothing/mask/gas/clown_hat - corpsepocket1 = /obj/item/weapon/bikehorn - corpseback = /obj/item/weapon/storage/backpack/clown + corpsepocket1 = /obj/item/bikehorn + corpseback = /obj/item/storage/backpack/clown corpseid = 1 - corpseidjob = "Clown" - corpseidaccess = "Clown" + corpseidjob = JOB_CLOWN + corpseidaccess = JOB_CLOWN /obj/effect/landmark/corpse/scientist - name = "Scientist" - corpseradio = /obj/item/device/radio/headset/headset_sci + name = JOB_SCIENTIST + corpseradio = /obj/item/radio/headset/headset_sci corpseuniform = /obj/item/clothing/under/rank/scientist corpsesuit = /obj/item/clothing/suit/storage/toggle/labcoat/science - corpseback = /obj/item/weapon/storage/backpack + corpseback = /obj/item/storage/backpack corpseshoes = /obj/item/clothing/shoes/white corpseid = 1 - corpseidjob = "Scientist" - corpseidaccess = "Scientist" + corpseidjob = JOB_SCIENTIST + corpseidaccess = JOB_SCIENTIST /obj/effect/landmark/corpse/security - name = "Security Officer" - corpseradio = /obj/item/device/radio/headset/headset_sec + name = JOB_SECURITY_OFFICER + corpseradio = /obj/item/radio/headset/headset_sec corpseuniform = /obj/item/clothing/under/rank/security corpsesuit = /obj/item/clothing/suit/armor/vest - corpseback = /obj/item/weapon/storage/backpack/security + corpseback = /obj/item/storage/backpack/security corpseshoes = /obj/item/clothing/shoes/boots/jackboots corpseglasses = /obj/item/clothing/glasses/sunglasses/sechud corpsegloves = /obj/item/clothing/gloves/black corpsehelmet = /obj/item/clothing/head/helmet corpseid = 1 - corpseidjob = "Security Officer" - corpseidaccess = "Security Officer" + corpseidjob = JOB_SECURITY_OFFICER + corpseidaccess = JOB_SECURITY_OFFICER /obj/effect/landmark/corpse/security/rig corpsesuit = /obj/item/clothing/suit/space/void/security corpsemask = /obj/item/clothing/mask/breath corpsehelmet = /obj/item/clothing/head/helmet/space/void/security - corpseback = /obj/item/weapon/tank/jetpack/oxygen + corpseback = /obj/item/tank/jetpack/oxygen /obj/effect/landmark/corpse/security/rig/eva corpsesuit = /obj/item/clothing/suit/space/void/security/alt @@ -237,20 +237,20 @@ random_species = TRUE /obj/effect/landmark/corpse/miner - corpseradio = /obj/item/device/radio/headset/headset_cargo + corpseradio = /obj/item/radio/headset/miner corpseuniform = /obj/item/clothing/under/rank/miner corpsegloves = /obj/item/clothing/gloves/black - corpseback = /obj/item/weapon/storage/backpack/industrial + corpseback = /obj/item/storage/backpack/industrial corpseshoes = /obj/item/clothing/shoes/black corpseid = 1 - corpseidjob = "Shaft Miner" - corpseidaccess = "Shaft Miner" + corpseidjob = JOB_SHAFT_MINER + corpseidaccess = JOB_SHAFT_MINER /obj/effect/landmark/corpse/miner/rig corpsesuit = /obj/item/clothing/suit/space/void/mining corpsemask = /obj/item/clothing/mask/breath corpsehelmet = /obj/item/clothing/head/helmet/space/void/mining - corpseback = /obj/item/weapon/tank/oxygen + corpseback = /obj/item/tank/oxygen /////////////////Vintage////////////////////// @@ -261,86 +261,86 @@ corpsesuit = /obj/item/clothing/suit/space/void/refurb corpsehelmet = /obj/item/clothing/head/helmet/space/void/refurb corpsemask = /obj/item/clothing/mask/breath - corpseback = /obj/item/weapon/tank/oxygen + corpseback = /obj/item/tank/oxygen corpseid = 1 corpseidjob = "Crewmate" /obj/effect/landmark/corpse/vintage/engineering - name = "Unknown Engineer" + name = "Unknown " + JOB_ENGINEER corpsesuit = /obj/item/clothing/suit/space/void/refurb/engineering corpsehelmet = /obj/item/clothing/head/helmet/space/void/refurb/engineering - corpsebelt = /obj/item/weapon/storage/belt/utility/full - corpseback = /obj/item/weapon/tank/oxygen/yellow - corpseidjob = "Engineer" + corpsebelt = /obj/item/storage/belt/utility/full + corpseback = /obj/item/tank/oxygen/yellow + corpseidjob = JOB_ENGINEER /obj/effect/landmark/corpse/vintage/marine name = "Unknown Marine" corpsesuit = /obj/item/clothing/suit/space/void/refurb/marine corpsehelmet = /obj/item/clothing/head/helmet/space/void/refurb/marine - corpsebelt = /obj/item/weapon/storage/belt/security/tactical + corpsebelt = /obj/item/storage/belt/security/tactical corpseidjob = "Marine" /obj/effect/landmark/corpse/vintage/medical name = "Unknown Medic" corpsesuit = /obj/item/clothing/suit/space/void/refurb/medical corpsehelmet = /obj/item/clothing/head/helmet/space/void/refurb/medical - corpsebelt = /obj/item/weapon/storage/belt/medical + corpsebelt = /obj/item/storage/belt/medical corpseidjob = "Medic" /obj/effect/landmark/corpse/vintage/mercenary name = "Unknown Mercenary" corpsesuit = /obj/item/clothing/suit/space/void/refurb/mercenary corpsehelmet = /obj/item/clothing/head/helmet/space/void/refurb/mercenary - corpsebelt = /obj/item/weapon/storage/belt/security/tactical - corpseback = /obj/item/weapon/tank/oxygen/red + corpsebelt = /obj/item/storage/belt/security/tactical + corpseback = /obj/item/tank/oxygen/red corpseidjob = "Mercenary" /obj/effect/landmark/corpse/vintage/officer - name = "Unknown Captain" + name = "Unknown " + JOB_ALT_CAPTAIN corpsesuit = /obj/item/clothing/suit/space/void/refurb/officer corpsehelmet = /obj/item/clothing/head/helmet/space/void/refurb/officer - corpseback = /obj/item/weapon/tank/oxygen/yellow - corpseidjob = "Captain" + corpseidjob = JOB_ALT_CAPTAIN + corpseback = /obj/item/tank/oxygen/yellow /obj/effect/landmark/corpse/vintage/pilot - name = "Unknown Pilot" + name = "Unknown " + JOB_PILOT corpsesuit = /obj/item/clothing/suit/space/void/refurb/pilot corpsehelmet = /obj/item/clothing/head/helmet/space/void/refurb/pilot - corpseidjob = "Pilot" + corpseidjob = JOB_PILOT /obj/effect/landmark/corpse/vintage/research - name = "Unknown Researcher" + name = "Unknown " + JOB_ALT_RESEARCHER corpsesuit = /obj/item/clothing/suit/space/void/refurb/research corpsehelmet = /obj/item/clothing/head/helmet/space/void/refurb/research - corpseidjob = "Researcher" + corpseidjob = JOB_ALT_RESEARCHER /////////////////Officers////////////////////// /obj/effect/landmark/corpse/bridgeofficer name = "Bridge Officer" - corpseradio = /obj/item/device/radio/headset/heads/hop + corpseradio = /obj/item/radio/headset/heads/hop corpseuniform = /obj/item/clothing/under/rank/centcom_officer corpsesuit = /obj/item/clothing/suit/armor/bulletproof corpseshoes = /obj/item/clothing/shoes/black corpseglasses = /obj/item/clothing/glasses/sunglasses corpseid = 1 corpseidjob = "Bridge Officer" - corpseidaccess = "Captain" + corpseidaccess = JOB_ALT_CAPTAIN /obj/effect/landmark/corpse/commander name = "Commander" corpseuniform = /obj/item/clothing/under/rank/centcom_captain corpsesuit = /obj/item/clothing/suit/armor/bulletproof - corpseradio = /obj/item/device/radio/headset/heads/captain + corpseradio = /obj/item/radio/headset/heads/captain corpseglasses = /obj/item/clothing/glasses/eyepatch corpsemask = /obj/item/clothing/mask/smokable/cigarette/cigar/cohiba corpsehelmet = /obj/item/clothing/head/centhat corpsegloves = /obj/item/clothing/gloves/swat corpseshoes = /obj/item/clothing/shoes/boots/swat - corpsepocket1 = /obj/item/weapon/flame/lighter/zippo + corpsepocket1 = /obj/item/flame/lighter/zippo corpseid = 1 corpseidjob = "Commander" - corpseidaccess = "Captain" + corpseidaccess = JOB_ALT_CAPTAIN /////////////////Lore Factions////////////////////// @@ -348,7 +348,7 @@ name = "Patrolman" corpseuniform = /obj/item/clothing/under/solgov/utility/sifguard corpsesuit = /obj/item/clothing/suit/storage/hooded/wintercoat/solgov - corpsebelt = /obj/item/weapon/storage/belt/security/tactical + corpsebelt = /obj/item/storage/belt/security/tactical corpseglasses = /obj/item/clothing/glasses/sunglasses/sechud corpsemask = /obj/item/clothing/mask/balaclava corpsehelmet = /obj/item/clothing/head/beret/solgov/sifguard @@ -362,7 +362,7 @@ name = "Hedberg-Hammarstrom Mercenary" corpseuniform = /obj/item/clothing/under/solgov/utility/sifguard corpsesuit = /obj/item/clothing/suit/storage/vest/solgov/hedberg - corpsebelt = /obj/item/weapon/storage/belt/security + corpsebelt = /obj/item/storage/belt/security corpseglasses = /obj/item/clothing/glasses/sunglasses/sechud corpsehelmet = /obj/item/clothing/head/beret/corp/hedberg corpseshoes = /obj/item/clothing/shoes/boots/jackboots @@ -371,11 +371,10 @@ /obj/effect/landmark/corpse/hedberg/merc name = "Hedberg-Hammarstrom Mercenary" - corpsebelt = /obj/item/weapon/storage/belt/security/tactical + corpsebelt = /obj/item/storage/belt/security/tactical corpseglasses = /obj/item/clothing/glasses/sunglasses/sechud corpsehelmet = /obj/item/clothing/head/helmet/flexitac corpsegloves = /obj/item/clothing/gloves/combat corpseshoes = /obj/item/clothing/shoes/boots/tactical corpseid = 1 corpseidjob = "Hedberg-Hammarstrom Enforcer" - diff --git a/code/modules/awaymissions/exile.dm b/code/modules/awaymissions/exile.dm index 1292812a77e..4c91143ae5c 100644 --- a/code/modules/awaymissions/exile.dm +++ b/code/modules/awaymissions/exile.dm @@ -1,36 +1,36 @@ //////Exile implants will allow you to use the station gate, but not return home. This will allow security to exile badguys/for badguys to exile their kill targets//////// -/obj/item/weapon/implanter/exile +/obj/item/implanter/exile name = "implanter-exile" -/obj/item/weapon/implanter/exile/New() - src.imp = new /obj/item/weapon/implant/exile( src ) +/obj/item/implanter/exile/New() + src.imp = new /obj/item/implant/exile( src ) ..() update() return -/obj/item/weapon/implant/exile +/obj/item/implant/exile name = "exile" desc = "Prevents you from returning from away missions" -/obj/item/weapon/implant/exile/get_data() +/obj/item/implant/exile/get_data() var/dat = {" Implant Specifications:
    Name: [using_map.company_name] Employee Exile Implant
    Implant Details: The onboard gateway system has been modified to reject entry by individuals containing this implant
    "} return dat -/obj/item/weapon/implantcase/exile +/obj/item/implantcase/exile name = "Glass Case- 'Exile'" desc = "A case containing an exile implant." icon = 'icons/obj/items.dmi' icon_state = "implantcase-r" -/obj/item/weapon/implantcase/exile/New() - src.imp = new /obj/item/weapon/implant/exile( src ) +/obj/item/implantcase/exile/New() + src.imp = new /obj/item/implant/exile( src ) ..() return @@ -38,4 +38,4 @@ /obj/structure/closet/secure_closet/exile name = "Exile Implants" req_access = list(access_hos) - starts_with = list(/obj/item/weapon/implanter/exile = 1, /obj/item/weapon/implantcase/exile = 5) + starts_with = list(/obj/item/implanter/exile = 1, /obj/item/implantcase/exile = 5) diff --git a/code/modules/awaymissions/gateway.dm b/code/modules/awaymissions/gateway.dm index 66d36212615..149d2e9d28f 100644 --- a/code/modules/awaymissions/gateway.dm +++ b/code/modules/awaymissions/gateway.dm @@ -43,7 +43,7 @@ GLOBAL_DATUM(gateway_station, /obj/machinery/gateway/centerstation) GLOB.gateway_station = src update_icon() - wait = world.time + config.gateway_delay //+ thirty minutes default + wait = world.time + CONFIG_GET(number/gateway_delay) //+ thirty minutes default if(GLOB.gateway_away) awaygate = GLOB.gateway_away @@ -104,13 +104,13 @@ GLOBAL_DATUM(gateway_station, /obj/machinery/gateway/centerstation) if(linked.len != 8) return if(!powered()) return if(!awaygate) - to_chat(user, "Error: No destination found. Please program gateway.") + to_chat(user, span_notice("Error: No destination found. Please program gateway.")) return if(world.time < wait) - to_chat(user, "Error: Warpspace triangulation in progress. Estimated time to completion: [round(((wait - world.time) / 10) / 60)] minutes.") + to_chat(user, span_notice("Error: Warpspace triangulation in progress. Estimated time to completion: [round(((wait - world.time) / 10) / 60)] minutes.")) return if(!awaygate.calibrated && !LAZYLEN(awaydestinations)) //VOREStation Edit - to_chat(user, "Error: Destination gate uncalibrated. Gateway unsafe to use without far-end calibration update.") + to_chat(user, span_notice("Error: Destination gate uncalibrated. Gateway unsafe to use without far-end calibration update.")) return for(var/obj/machinery/gateway/G in linked) @@ -153,8 +153,8 @@ GLOBAL_DATUM(gateway_station, /obj/machinery/gateway/centerstation) return else //VOREStation Addition Start: Prevent abuse - if(istype(M, /obj/item/device/uav)) - var/obj/item/device/uav/L = M + if(istype(M, /obj/item/uav)) + var/obj/item/uav/L = M L.power_down() if(istype(M, /mob/living)) var/mob/living/L = M @@ -195,13 +195,13 @@ GLOBAL_DATUM(gateway_station, /obj/machinery/gateway/centerstation) var/list/mob_contents = list() //Things which are actually drained as a result of the above not being null. mob_contents |= L // The recursive check below does not add the object being checked to its list. mob_contents |= recursive_content_check(L, mob_contents, recursion_limit = 3, client_check = 0, sight_check = 0, include_mobs = 1, include_objects = 1, ignore_show_messages = 1) - for(var/obj/item/weapon/holder/I in mob_contents) - var/obj/item/weapon/holder/H = I + for(var/obj/item/holder/I in mob_contents) + var/obj/item/holder/H = I var/mob/living/MI = H.held_mob MI.forceMove(get_turf(H)) if(!issilicon(MI)) //Don't drop borg modules... for(var/obj/item/II in MI) - if(istype(II,/obj/item/weapon/implant) || istype(II,/obj/item/device/nif)) + if(istype(II,/obj/item/implant) || istype(II,/obj/item/nif)) continue MI.drop_from_inventory(II, dest.loc) var/obj/effect/landmark/finaldest = pick(awayabductors) @@ -209,9 +209,9 @@ GLOBAL_DATUM(gateway_station, /obj/machinery/gateway/centerstation) sleep(1) MI.Paralyse(10) MI << 'sound/effects/bamf.ogg' - to_chat(MI,"You're starting to come to. You feel like you've been out for a few minutes, at least...") + to_chat(MI,span_warning("You're starting to come to. You feel like you've been out for a few minutes, at least...")) for(var/obj/item/I in L) - if(istype(I,/obj/item/weapon/implant) || istype(I,/obj/item/device/nif)) + if(istype(I,/obj/item/implant) || istype(I,/obj/item/nif)) continue L.drop_from_inventory(I, dest.loc) var/obj/effect/landmark/finaldest = pick(awayabductors) @@ -219,21 +219,21 @@ GLOBAL_DATUM(gateway_station, /obj/machinery/gateway/centerstation) sleep(1) L.Paralyse(10) L << 'sound/effects/bamf.ogg' - to_chat(L,"You're starting to come to. You feel like you've been out for a few minutes, at least...") + to_chat(L,span_warning("You're starting to come to. You feel like you've been out for a few minutes, at least...")) //VOREStation Addition End return -/obj/machinery/gateway/centerstation/attackby(obj/item/device/W as obj, mob/user as mob) - if(istype(W,/obj/item/device/multitool)) +/obj/machinery/gateway/centerstation/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W,/obj/item/multitool)) if(!awaygate) if(GLOB.gateway_away) awaygate = GLOB.gateway_away else awaygate = locate(/obj/machinery/gateway/centeraway) if(!awaygate) // We still can't find the damn thing because there is no destination. - to_chat(user, "Error: Programming failed. No destination found.") + to_chat(user, span_notice("Error: Programming failed. No destination found.")) return - to_chat(user, "Startup programming successful!: A destination in another point of space and time has been detected.") + to_chat(user, span_boldnotice("Startup programming successful!") + ": A destination in another point of space and time has been detected.") else to_chat(user, span_black("The gate is already calibrated, there is no work for you to do here.")) return @@ -304,7 +304,7 @@ GLOBAL_DATUM(gateway_away, /obj/machinery/gateway/centeraway) if(!ready) return if(linked.len != 8) return if(!stationgate || !calibrated) // Vorestation edit. Not like Polaris ever touches this anyway. - to_chat(user, "Error: No destination found. Please calibrate gateway.") + to_chat(user, span_notice("Error: No destination found. Please calibrate gateway.")) return for(var/obj/machinery/gateway/G in linked) @@ -336,7 +336,7 @@ GLOBAL_DATUM(gateway_away, /obj/machinery/gateway/centeraway) if(!ready) return if(!active) return if(istype(M, /mob/living/carbon)) - for(var/obj/item/weapon/implant/exile/E in M)//Checking that there is an exile implant in the contents + for(var/obj/item/implant/exile/E in M)//Checking that there is an exile implant in the contents if(E.imp_in == M)//Checking that it's actually implanted vs just in their pocket to_chat(M, span_black("The station gate has detected your exile implant and is blocking your entry.")) return @@ -346,8 +346,8 @@ GLOBAL_DATUM(gateway_away, /obj/machinery/gateway/centeraway) playsound(src, 'sound/effects/phasein.ogg', 100, 1) -/obj/machinery/gateway/centeraway/attackby(obj/item/device/W as obj, mob/user as mob) - if(istype(W,/obj/item/device/multitool)) +/obj/machinery/gateway/centeraway/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W,/obj/item/multitool)) if(calibrated && stationgate) to_chat(user, span_black("The gate is already calibrated, there is no work for you to do here.")) return @@ -358,10 +358,10 @@ GLOBAL_DATUM(gateway_away, /obj/machinery/gateway/centeraway) else stationgate = locate(/obj/machinery/gateway/centerstation) if(!stationgate) - to_chat(user, "Error: Recalibration failed. No destination found... That can't be good.") + to_chat(user, span_notice("Error: Recalibration failed. No destination found... That can't be good.")) return // VOREStation Add End else - to_chat(user, span_blue("Recalibration successful!:") + span_black(" This gate's systems have been fine tuned. Travel to this gate will now be on target.")) + to_chat(user, span_blue(span_bold("Recalibration successful!") + "") + span_black(" This gate's systems have been fine tuned. Travel to this gate will now be on target.")) calibrated = 1 return diff --git a/code/modules/awaymissions/gateway_vr.dm b/code/modules/awaymissions/gateway_vr.dm index 05def055827..9618eb5f686 100644 --- a/code/modules/awaymissions/gateway_vr.dm +++ b/code/modules/awaymissions/gateway_vr.dm @@ -3,28 +3,28 @@ /obj/machinery/gateway/centeraway/mcguffin icon = 'icons/obj/machines/gateway_vr.dmi' calibrated = 0 - var/mcguffin_type = /obj/item/device/mcguffin/brass //you should be able to change the var to be whatever kind of path you like, so maybe you can use other things on it sometimes + var/mcguffin_type = /obj/item/mcguffin/brass //you should be able to change the var to be whatever kind of path you like, so maybe you can use other things on it sometimes var/key //holds a ref to the key we spawned -/obj/machinery/gateway/centeraway/mcguffin/attackby(obj/item/device/W as obj, mob/user as mob) +/obj/machinery/gateway/centeraway/mcguffin/attackby(obj/item/W as obj, mob/user as mob) if(calibrated && stationgate) - to_chat(user, "The gate is already configured, you should be able to activate it.") + to_chat(user, span_info("The gate is already configured, you should be able to activate it.")) return else if(!stationgate) - to_chat(user, "Error: Configuration failed. No destination found... That can't be good.") + to_chat(user, span_danger("Error: Configuration failed. No destination found... That can't be good.")) return if(istype(W,mcguffin_type) && !calibrated) - to_chat(user, "As the device nears the gateway, mechanical clunks and whirrs can be heard.
    [span_blue("Configuration successful! ")]
    This gate's systems have been fine tuned. Travel to this gate will now be on target.
    ") + to_chat(user, span_npc_emote("As the device nears the gateway, mechanical clunks and whirrs can be heard.
    [span_blue(span_bold("Configuration successful! "))]
    This gate's systems have been fine tuned. Travel to this gate will now be on target.")) calibrated = 1 return else - to_chat(user, "This device does not seem to interface correctly with the gateway. Perhaps you should try something else.") + to_chat(user, span_danger("This device does not seem to interface correctly with the gateway. Perhaps you should try something else.")) return //If you use this kind of gateway you NEED one of these on the map or the players won't be able to leave// //You should use the random spawner though so it won't always be in the same place// -/obj/item/device/mcguffin/brass +/obj/item/mcguffin/brass name = "mysterious brass device" desc = "A curious object made of what appears to be brass and silver. Its purpose is unclear by looking at it. Perhaps it should be used with something of similar materials?" icon = 'icons/obj/machines/gateway_vr.dmi' @@ -75,5 +75,5 @@ icon = 'icons/obj/machines/gateway_vr.dmi' //No, you can't digest the key to leave the gateway. -/obj/item/device/mcguffin/digest_act(var/atom/movable/item_storage = null) +/obj/item/mcguffin/digest_act(var/atom/movable/item_storage = null) return FALSE diff --git a/code/modules/awaymissions/loot_vr.dm b/code/modules/awaymissions/loot_vr.dm index ea2e5e41bfc..4ce1d1f1e6d 100644 --- a/code/modules/awaymissions/loot_vr.dm +++ b/code/modules/awaymissions/loot_vr.dm @@ -41,7 +41,7 @@ //coins var/amount = rand(2,6) var/list/possible_spawns = list() - for(var/coin_type in typesof(/obj/item/weapon/coin)) + for(var/coin_type in typesof(/obj/item/coin)) possible_spawns += coin_type var/coin_type = pick(possible_spawns) for(var/i=0,i\ Congratulations! If you're reading this, you and your superiors have decided that you're \ ready to commit to a life spent colonising the rolling hills of far away worlds. You \ must be ready for a lifetime of adventure, a little bit of hard work, and an award \ @@ -34,5 +34,5 @@ environs." //we don't want the silly text overlay! -/obj/item/weapon/paper/pamphlet/update_icon() - return \ No newline at end of file +/obj/item/paper/pamphlet/update_icon() + return diff --git a/code/modules/awaymissions/redgate.dm b/code/modules/awaymissions/redgate.dm index d9b0f6feb43..6689a837701 100644 --- a/code/modules/awaymissions/redgate.dm +++ b/code/modules/awaymissions/redgate.dm @@ -41,7 +41,7 @@ for(var/obj/O in M.contents) if(O.redgate_allowed == FALSE) - to_chat(M, "The redgate refuses to allow you to pass whilst you possess \the [O].") + to_chat(M, span_warning("The redgate refuses to allow you to pass whilst you possess \the [O].")) return if(keycheck) //exceptions probably won't have a ckey @@ -66,12 +66,12 @@ pulled.forceMove(ourturf) M.continue_pulling(pulled) else - to_chat(M, "The redgate refused your pulled item.") + to_chat(M, span_notice("The redgate refused your pulled item.")) else playsound(src,'sound/effects/ominous-hum-2.ogg', 100,1) M.forceMove(ourturf) //Let's just do forcemove, I don't really want people teleporting to weird places if they have bluespace stuff else - to_chat(M, "Something blocks your way.") + to_chat(M, span_notice("Something blocks your way.")) /obj/structure/redgate/proc/find_our_turf(var/atom/movable/AM) //This finds the turf on the opposite side of the target gate from where you are var/offset_x = x - AM.x //used for more smooth teleporting @@ -106,7 +106,7 @@ src.teleport(M) else if(!find_partner()) - to_chat(M, "The [src] remains off... seems like it doesn't have a destination.") + to_chat(M, span_warning("The [src] remains off... seems like it doesn't have a destination.")) /obj/structure/redgate/attack_ghost(var/mob/observer/dead/user) @@ -171,7 +171,7 @@ /area/redgate/structure/powered/teppi_ranch/barn name = "barn" -/obj/item/weapon/paper/teppiranch +/obj/item/paper/teppiranch name = "elegantly scrawled note" info = {"Goeleigh,

    @@ -1465,7 +1465,7 @@ icon_state = "dark128" //The actual flags. Base type defined to handle some of the basic behaviours. -/obj/item/weapon/laserdome_flag +/obj/item/laserdome_flag name = "Flag" desc = "Steal the enemy flag and take it to your base in order to score! First team to three captures wins! Or was it five? Eh, check with the referee I guess." description_info = "Simply pick up your team's flag to return it to your base after a short delay. If you're carrying the enemy flag, use it on your team's flag base to score a point!" @@ -1483,18 +1483,18 @@ var/start_pos var/flag_return_delay = 3 SECONDS //how long you have to hold onto your team's flag before it returns home -/obj/item/weapon/laserdome_flag/Initialize() +/obj/item/laserdome_flag/Initialize() . = ..() start_pos = src.loc //save our starting location for later /* //TODO - make this not trigger when the flag is returned to its original location -/obj/item/weapon/laserdome_flag/dropped() +/obj/item/laserdome_flag/dropped() . = ..() global_announcer.autosay("[src] dropped!","Laserdome Announcer","Entertainment") */ -/obj/item/weapon/laserdome_flag/attack_hand(mob/user as mob) +/obj/item/laserdome_flag/attack_hand(mob/user as mob) . = ..() var/mob/living/carbon/human/M = loc var/grabbing_team @@ -1513,7 +1513,7 @@ //set the verb based on matching (or mismatching) outfits, and teleport the flag back to base if it was touched by the owning team if(grabbing_team == laser_team) - user.visible_message("[user] is returning \the [src]!") + user.visible_message(span_warning("[user] is returning \the [src]!")) if(do_after(user,flag_return_delay)) //channel return, rather than instant user.drop_from_inventory(src) src.loc = src.start_pos @@ -1522,16 +1522,16 @@ user.drop_from_inventory(src) return else - user.visible_message("[user] has taken \the [src]!") + user.visible_message(span_warning("[user] has taken \the [src]!")) global_announcer.autosay("[src] taken by [capitalize(grabbing_team)] team!","Laserdome Announcer","Entertainment") -/obj/item/weapon/laserdome_flag/red +/obj/item/laserdome_flag/red name = "Red flag" icon_state = "red_flag" item_state = "laserdome_flag_red" laser_team = "red" -/obj/item/weapon/laserdome_flag/blue +/obj/item/laserdome_flag/blue name = "Blue flag" icon_state = "blue_flag" item_state = "laserdome_flag_blue" @@ -1572,8 +1572,8 @@ . = ..() //TODO- require the team's flag to be present before they can score? - if(istype(F,/obj/item/weapon/laserdome_flag)) - var/obj/item/weapon/laserdome_flag/flag = F + if(istype(F,/obj/item/laserdome_flag)) + var/obj/item/laserdome_flag/flag = F if(flag.laser_team != base_team) global_announcer.autosay("[user] captured the [capitalize(flag.laser_team)] flag for [capitalize(base_team)] team!","Laserdome Announcer","Entertainment") user.drop_from_inventory(flag) @@ -1590,7 +1590,7 @@ user.drop_from_inventory(flag) flag.loc = src.loc //place our flag neatly back on its pedestal -/obj/item/weapon/laserdome_hyperball +/obj/item/laserdome_hyperball name = "\improper HYPERball" //*always* refer to it as "the hyperball", not just "the ball". corporate insists. desc = "Because regular balls aren't exciting enough, the future needs HYPERballs!" description_info = "Take the ball and dunk it into the opposing team's goal to score! You can either throw it into the goal or dunk it directly; the latter is worth more points, but it's more challenging as you need to be next to the goal in order to dunk." @@ -1608,7 +1608,7 @@ var/last_holder var/last_team -/obj/item/weapon/laserdome_hyperball_prop +/obj/item/laserdome_hyperball_prop name = "demonstration HYPERball" desc = "Because regular balls aren't exciting enough, the future needs HYPERballs!" description_info = "This model is for demonstration purposes only. It looks pretty heavy!" @@ -1618,11 +1618,11 @@ w_class = ITEMSIZE_NO_CONTAINER redgate_allowed = FALSE //you can't take the demonstration balls and go home either -/obj/item/weapon/laserdome_hyperball/Initialize() +/obj/item/laserdome_hyperball/Initialize() . = ..() start_pos = src.loc //save our starting location for later -/obj/item/weapon/laserdome_hyperball/attack_hand(mob/user as mob) +/obj/item/laserdome_hyperball/attack_hand(mob/user as mob) . = ..() var/mob/living/carbon/human/M = loc var/grabbing_team @@ -1643,7 +1643,7 @@ else return //if they're not on a team, stop! - user.visible_message("[user] has taken \the [src]!") + user.visible_message(span_warning("[user] has taken \the [src]!")) //cache our grabber and their team, for throw interactions with the goals later last_holder = M last_team = grabbing_team @@ -1654,7 +1654,7 @@ /* //TODO- make this not trigger when the ball is thrown or dunked, only when it's actually dropped -/obj/item/weapon/laserdome_hyperball/dropped() +/obj/item/laserdome_hyperball/dropped() . = ..() global_announcer.autosay("[capitalize(last_team)] fumble!","Laserdome Announcer","Entertainment") */ @@ -1702,8 +1702,8 @@ else return //if they're not on a team, stop! - if(istype(B,/obj/item/weapon/laserdome_hyperball)) - var/obj/item/weapon/laserdome_hyperball/ball = B + if(istype(B,/obj/item/laserdome_hyperball)) + var/obj/item/laserdome_hyperball/ball = B if(dunking_team != goal_team) global_announcer.autosay("[user] dunked the HYPERball for [capitalize(dunking_team)] team! [num2text(dunk_points)] points scored!","Laserdome Announcer","Entertainment") score += dunk_points //increment our score! @@ -1732,8 +1732,8 @@ /obj/structure/hyperball_goal/hitby(obj/B as obj) . = ..() - if(istype(B,/obj/item/weapon/laserdome_hyperball)) - var/obj/item/weapon/laserdome_hyperball/ball = B + if(istype(B,/obj/item/laserdome_hyperball)) + var/obj/item/laserdome_hyperball/ball = B if(prob(range_dunk_chance)) if(ball.last_team != goal_team) global_announcer.autosay("[ball.last_holder] threw the HYPERball for [capitalize(ball.last_team)] team! [num2text(range_dunk_points)] points scored!","Laserdome Announcer","Entertainment") @@ -1763,3 +1763,37 @@ //todo; throw the ball in a random direction src.visible_message("\The [ball] bounces off \the [src]'s rim!") global_announcer.autosay("[ball.last_holder] threw the HYPERball and +missed!+ |Oooh!|","Laserdome Announcer","Entertainment") + +/obj/structure/prop/machine/biosyphon/laserdome + name = "Laserdome Orientation Holo" + desc = {"This device is holoprojecting a wall of flickering text into the air. It seems to be incomprehensible gibberish at first, perhaps an alien language, but the longer you stare the more it starts to make sense, slowly coalescing into coherent sentences in your preferred language. The overall word choice is a little eclectic or unusual at times, and some words remain impossible for you to decipher, but you get the gist pretty quickly. It reads:
    + MANY GREETINGS, BRAVE VISITOR! + THE (LIGHT AMPLIFIED BY STIMULATED EMISSION OF RADIATION) DOME IS FINEST PHYSICAL EXERCISE AND RECREATIONAL FACILITY LOCATED UPON THIS RELATIVE SIDE OF THE \[illegible\] SUPERMASSIVE OBSIDIAN VOID. + OUR GREAT BRAINS HERE AT THE \[incomprehensible\] HAPPY FUN TIME CORPORATION ARE SURE YOU WILL DEFINITELY MUCH ENJOY PARTAKING IN THE SIGHTS AND SOUNDS OF OUR ESTABLISHMENT. + EVEN IF YOU DO NOT WISH TO BE (OR ARE PHYSICALLY INCAPABLE OF) TAKING PART IN THE ACCELERATED LIGHT GAMES, PLEASE WITNESS OUR HEROIC GLADIATORS BATTLE FOR YOUR ENJOYMENT, AND VISIT LOCAL SERVICES SUCH AS THE \[incoherent\] ACCELERATED SUSTENANCE JOINT. + PLEASE TO BE FOLLOWINGS FLOOR-BASED POINTED INDICATORS TOWARDS PLACEMENTS OF INTERESTING! AND BE SURE TO BE TAKINGS FREE RADIO HEADSET CHIP TO BE HEARING ARENA ANNOUNCER! + THANKINGS YOU FOR YOUR PATRONAGE!!! + (p.s. please to be cleanings up after selves, do not leave messes on concourse, thankings you again muchly)"} + +/obj/structure/prop/machine/biosyphon/laserdome/hyperball + name = "Laserdome HYPERball Orientation Holo" + desc = {"This device is holoprojecting a wall of flickering text into the air. It seems to be incomprehensible gibberish at first, perhaps an alien language, but the longer you stare the more it starts to make sense, slowly coalescing into coherent sentences in your preferred language. The overall word choice is a little eclectic or unusual at times, and some words remain impossible for you to decipher, but you get the gist pretty quickly. It reads:
    + RULES OF HYPERBALL ARE SIMPLE!
    + TAKE BALL, SLAM-DUNKIFY INTO OPPOSING TEAM GOAL! + THREE POINTS AWARD FOR THROW (BUT WATCH OUT, CAN MISS)! + SEVEN POINTS IF ENDUNKENING IS BY HAND! + POINTS AM DEDUCT IF OWN-DUNKING! + FIRST TEAM TO TWENTY-AND-ONE POINTS IS WIN! + MUST WEAR TEAM PLATINGS FOR SCORINGS TO COUNT! + GOOD LUCK!!!"} + +/obj/structure/prop/machine/biosyphon/laserdome/flagcap + name = "Laserdome Capture-The-Flag Orientation Holo" + desc = {"This device is holoprojecting a wall of flickering text into the air. It seems to be incomprehensible gibberish at first, perhaps an alien language, but the longer you stare the more it starts to make sense, slowly coalescing into coherent sentences in your preferred language. The overall word choice is a little eclectic or unusual at times, and some words remain impossible for you to decipher, but you get the gist pretty quickly. It reads:
    + RULES OF CAPTURING FLAG ARE SIMPLE! + GO TO ENEMY BASE, TAKE THEIR FLAG, BRING BACK TO OWN BASE! + NO SCORE IF ENEMY TEAM HAS FLAG, SO PROTECT OWN FLAG! + RETURN OWN FLAG TO BASE BY TOUCHINGS! + FIRST TEAM TO THREE CAPTURES IS WIN! + MUST WEAR TEAM PLATINGS FOR SCORINGS TO COUNT! + GOOD LUCK!!!"} diff --git a/code/modules/awaymissions/trigger.dm b/code/modules/awaymissions/trigger.dm index e388b0dd2e5..50af8e70ff7 100644 --- a/code/modules/awaymissions/trigger.dm +++ b/code/modules/awaymissions/trigger.dm @@ -4,7 +4,7 @@ /obj/effect/step_trigger/message/Trigger(mob/M as mob) if(M.client) - to_chat(M, "[message]") + to_chat(M, span_info("[message]")) if(once) qdel(src) @@ -41,4 +41,4 @@ uses-- if(uses == 0) - qdel(src) \ No newline at end of file + qdel(src) diff --git a/code/modules/awaymissions/zlevel.dm b/code/modules/awaymissions/zlevel.dm index 2f3dd757ae9..3e5527848fb 100644 --- a/code/modules/awaymissions/zlevel.dm +++ b/code/modules/awaymissions/zlevel.dm @@ -1,9 +1,12 @@ /proc/createRandomZlevel() - if(awaydestinations.len || UNIT_TEST) //crude, but it saves another var! //VOREStation Edit - No loading away missions during CI testing + #ifdef UNIT_TEST + return + #endif + if(awaydestinations.len) //crude, but it saves another var! //VOREStation Edit - No loading away missions during CI testing return var/list/potentialRandomZlevels = list() - admin_notice(span_red(" Searching for away missions..."), R_DEBUG) + admin_notice(span_red(span_bold(" Searching for away missions...")), R_DEBUG) var/list/Lines = file2list("maps/RandomZLevels/fileList.txt") if(!Lines.len) return for (var/t in Lines) @@ -35,7 +38,7 @@ if(potentialRandomZlevels.len) - admin_notice(span_red("Loading away mission..."), R_DEBUG) + admin_notice(span_red(span_bold("Loading away mission...")), R_DEBUG) var/map = pick(potentialRandomZlevels) to_world_log("Away mission picked: [map]") //VOREStation Add for debugging @@ -50,10 +53,10 @@ continue awaydestinations.Add(L) */ //VOREStation Removal End - admin_notice(span_red("Away mission loaded."), R_DEBUG) + admin_notice(span_red(span_bold("Away mission loaded.")), R_DEBUG) else - admin_notice(span_red("No away missions found."), R_DEBUG) + admin_notice(span_red(span_bold("No away missions found.")), R_DEBUG) return //VOREStation Add - This landmark type so it's not so ghetto. diff --git a/code/modules/blob/blob.dm b/code/modules/blob/blob.dm index 5218a78c7fe..0c86b9ae506 100644 --- a/code/modules/blob/blob.dm +++ b/code/modules/blob/blob.dm @@ -94,7 +94,7 @@ return var/obj/mecha/M = locate() in T if(M) - M.visible_message("The blob attacks \the [M]!") + M.visible_message(span_danger("The blob attacks \the [M]!")) M.take_damage(40) return @@ -102,7 +102,7 @@ for(var/mob/living/L in T) if(L.stat == DEAD) continue - L.visible_message("The blob attacks \the [L]!", "The blob attacks you!") + L.visible_message(span_danger("The blob attacks \the [L]!"), span_danger("The blob attacks you!")) playsound(src, 'sound/effects/attackblob.ogg', 50, 1) L.take_organ_damage(rand(30, 40)) return @@ -133,15 +133,15 @@ take_damage(Proj.damage / fire_resist) return 0 -/obj/effect/blob/attackby(var/obj/item/weapon/W, var/mob/user) +/obj/effect/blob/attackby(var/obj/item/W, var/mob/user) user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) playsound(src, 'sound/effects/attackblob.ogg', 50, 1) - visible_message("\The [src] has been attacked with \the [W][(user ? " by [user]." : ".")]") + visible_message(span_danger("\The [src] has been attacked with \the [W][(user ? " by [user]." : ".")]")) var/damage = 0 switch(W.damtype) if("fire") damage = (W.force / fire_resist) - if(istype(W, /obj/item/weapon/weldingtool)) + if(istype(W, /obj/item/weldingtool)) playsound(src, W.usesound, 100, 1) if("brute") damage = (W.force / brute_resist) diff --git a/code/modules/blob2/blobs/base_blob.dm b/code/modules/blob2/blobs/base_blob.dm index 14f7eb54c0b..22948ef1603 100644 --- a/code/modules/blob2/blobs/base_blob.dm +++ b/code/modules/blob2/blobs/base_blob.dm @@ -17,7 +17,7 @@ GLOBAL_LIST_EMPTY(all_blobs) var/heal_timestamp = 0 //we got healed when? var/mob/observer/blob/overmind = null var/base_name = "blob" // The name that gets appended along with the blob_type's name. - var/faction = "blob" + var/faction = FACTION_BLOB /obj/structure/blob/Initialize(newloc, new_overmind) if(new_overmind) @@ -233,7 +233,7 @@ GLOBAL_LIST_EMPTY(all_blobs) return B /obj/structure/blob/attack_generic(var/mob/user, var/damage, var/attack_verb) - visible_message("[user] [attack_verb] the [src]!") + visible_message(span_danger("[user] [attack_verb] the [src]!")) playsound(src, 'sound/effects/attackblob.ogg', 100, 1) user.do_attack_animation(src) if(overmind) @@ -260,7 +260,7 @@ GLOBAL_LIST_EMPTY(all_blobs) return FALSE H.do_attack_animation(src) - H.visible_message("[H] strikes \the [src]!") + H.visible_message(span_danger("[H] strikes \the [src]!")) var/real_damage = rand(3,6) var/hit_dam_type = attack.damage_type @@ -316,10 +316,10 @@ GLOBAL_LIST_EMPTY(all_blobs) else attack_generic(M, rand(1,10), "bashed") -/obj/structure/blob/attackby(var/obj/item/weapon/W, var/mob/user) +/obj/structure/blob/attackby(var/obj/item/W, var/mob/user) user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) playsound(src, 'sound/effects/attackblob.ogg', 50, 1) - visible_message("\The [src] has been attacked with \the [W][(user ? " by [user]." : ".")]") + visible_message(span_danger("\The [src] has been attacked with \the [W][(user ? " by [user]." : ".")]")) var/damage = W.force switch(W.damtype) if(BURN, BIOACID, ELECTROCUTE, OXY) @@ -426,4 +426,4 @@ GLOBAL_LIST_EMPTY(all_blobs) qdel(src) /turf/simulated/wall/blob_act() - take_damage(100) \ No newline at end of file + take_damage(100) diff --git a/code/modules/blob2/blobs/core.dm b/code/modules/blob2/blobs/core.dm index 2b5cefa89d7..425cac85aa3 100644 --- a/code/modules/blob2/blobs/core.dm +++ b/code/modules/blob2/blobs/core.dm @@ -108,7 +108,7 @@ var/list/blob_cores = list() /obj/structure/blob/core/Destroy() var/turf/T = get_turf(src) - new /obj/item/weapon/blobcore_chunk(T, overmind.blob_type) + new /obj/item/blobcore_chunk(T, overmind.blob_type) blob_cores -= src if(overmind) diff --git a/code/modules/blob2/core_chunk.dm b/code/modules/blob2/core_chunk.dm index b499f6dc675..537f5759caa 100644 --- a/code/modules/blob2/core_chunk.dm +++ b/code/modules/blob2/core_chunk.dm @@ -1,5 +1,5 @@ -/obj/item/weapon/blobcore_chunk +/obj/item/blobcore_chunk name = "core chunk" desc = "The remains of some strange life-form. It smells awful." description_info = "Some blob types will have core effects when the chunk is used in-hand, toggled with an alt click, or constantly active." @@ -20,23 +20,23 @@ drop_sound = 'sound/effects/slime_squish.ogg' -/obj/item/weapon/blobcore_chunk/is_open_container() +/obj/item/blobcore_chunk/is_open_container() return 1 -/obj/item/weapon/blobcore_chunk/New(var/atom/newloc, var/datum/blob_type/parentblob = null) +/obj/item/blobcore_chunk/New(var/atom/newloc, var/datum/blob_type/parentblob = null) ..(newloc) create_reagents(120) setup_blobtype(parentblob) -/obj/item/weapon/blobcore_chunk/Destroy() +/obj/item/blobcore_chunk/Destroy() STOP_PROCESSING(SSobj, src) blob_type = null ..() -/obj/item/weapon/blobcore_chunk/proc/setup_blobtype(var/datum/blob_type/parentblob = null) +/obj/item/blobcore_chunk/proc/setup_blobtype(var/datum/blob_type/parentblob = null) if(!parentblob) name = "inert [initial(name)]" @@ -61,12 +61,12 @@ START_PROCESSING(SSobj, src) -/obj/item/weapon/blobcore_chunk/proc/call_chunk_unique() +/obj/item/blobcore_chunk/proc/call_chunk_unique() if(blob_type) blob_type.chunk_unique(src, args) return -/obj/item/weapon/blobcore_chunk/proc/get_carrier(var/atom/target) +/obj/item/blobcore_chunk/proc/get_carrier(var/atom/target) var/atom/A = target ? target.loc : src if(isturf(A) || isarea(A)) // Something has gone horribly wrong if the second is true. @@ -77,36 +77,36 @@ return A -/obj/item/weapon/blobcore_chunk/blob_act(obj/structure/blob/B) +/obj/item/blobcore_chunk/blob_act(obj/structure/blob/B) if(B.overmind && !blob_type) setup_blobtype(B.overmind.blob_type) return -/obj/item/weapon/blobcore_chunk/attack_self(var/mob/user) +/obj/item/blobcore_chunk/attack_self(var/mob/user) if(blob_type && world.time > active_ability_cooldown + last_active_use) last_active_use = world.time - to_chat(user, "[icon2html(src, user.client)] \The [src] gesticulates.") + to_chat(user, span_alien("[icon2html(src, user.client)] \The [src] gesticulates.")) blob_type.on_chunk_use(src, user) else - to_chat(user, "\The [src] doesn't seem to respond.") + to_chat(user, span_notice("\The [src] doesn't seem to respond.")) ..() -/obj/item/weapon/blobcore_chunk/process() +/obj/item/blobcore_chunk/process() if(blob_type && should_tick && world.time > passive_ability_cooldown + last_passive_use) last_passive_use = world.time blob_type.on_chunk_tick(src) -/obj/item/weapon/blobcore_chunk/AltClick(mob/living/carbon/user) +/obj/item/blobcore_chunk/AltClick(mob/living/carbon/user) if(blob_type && blob_type.chunk_active_type == BLOB_CHUNK_TOGGLE) should_tick = !should_tick if(should_tick) - to_chat(user, "\The [src] shudders with life.") + to_chat(user, span_alien("\The [src] shudders with life.")) else - to_chat(user, "\The [src] stills, returning to a death-like state.") + to_chat(user, span_alien("\The [src] stills, returning to a death-like state.")) -/obj/item/weapon/blobcore_chunk/proc/regen(var/newfaction = null) +/obj/item/blobcore_chunk/proc/regen(var/newfaction = null) if(istype(blob_type)) if(newfaction) blob_type.faction = newfaction @@ -126,17 +126,17 @@ result_amount = 1 /decl/chemical_reaction/instant/blob_reconstitution/can_happen(var/datum/reagents/holder) - if(holder.my_atom && istype(holder.my_atom, /obj/item/weapon/blobcore_chunk)) + if(holder.my_atom && istype(holder.my_atom, /obj/item/blobcore_chunk)) return ..() return FALSE /decl/chemical_reaction/instant/blob_reconstitution/on_reaction(var/datum/reagents/holder) - var/obj/item/weapon/blobcore_chunk/chunk = holder.my_atom + var/obj/item/blobcore_chunk/chunk = holder.my_atom if(chunk.can_genesis && chunk.regen()) - chunk.visible_message("[chunk] bubbles, surrounding itself with a rapidly expanding mass of [chunk.blob_type.name]!") + chunk.visible_message(span_notice("[chunk] bubbles, surrounding itself with a rapidly expanding mass of [chunk.blob_type.name]!")) chunk.can_genesis = FALSE else - chunk.visible_message("[chunk] shifts strangely, but falls still.") + chunk.visible_message(span_warning("[chunk] shifts strangely, but falls still.")) /decl/chemical_reaction/instant/blob_reconstitution/domination name = "Allied Blob Revival" @@ -146,9 +146,9 @@ result_amount = 1 /decl/chemical_reaction/instant/blob_reconstitution/domination/on_reaction(var/datum/reagents/holder) - var/obj/item/weapon/blobcore_chunk/chunk = holder.my_atom + var/obj/item/blobcore_chunk/chunk = holder.my_atom if(chunk.can_genesis && chunk.regen("neutral")) - chunk.visible_message("[chunk] bubbles, surrounding itself with a rapidly expanding mass of [chunk.blob_type.name]!") + chunk.visible_message(span_notice("[chunk] bubbles, surrounding itself with a rapidly expanding mass of [chunk.blob_type.name]!")) chunk.can_genesis = FALSE else - chunk.visible_message("[chunk] shifts strangely, but falls still.") + chunk.visible_message(span_warning("[chunk] shifts strangely, but falls still.")) diff --git a/code/modules/blob2/mobs/blob_mob.dm b/code/modules/blob2/mobs/blob_mob.dm index fb84f9d2c19..5bd2fefbebf 100644 --- a/code/modules/blob2/mobs/blob_mob.dm +++ b/code/modules/blob2/mobs/blob_mob.dm @@ -6,7 +6,7 @@ /mob/living/simple_mob/hostile/blob icon = 'icons/mob/blob.dmi' pass_flags = PASSBLOB | PASSTABLE - faction = "blob" + faction = FACTION_BLOB // bubble_icon = "blob" // speak_emote = null //so we use verb_yell/verb_say/etc // atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) diff --git a/code/modules/blob2/mobs/spore.dm b/code/modules/blob2/mobs/spore.dm index 732db9a4da4..dd645c85393 100644 --- a/code/modules/blob2/mobs/spore.dm +++ b/code/modules/blob2/mobs/spore.dm @@ -42,7 +42,7 @@ factory = null if(infested) infested.forceMove(get_turf(src)) - visible_message("\The [infested] falls to the ground as the blob spore bursts.") + visible_message(span_warning("\The [infested] falls to the ground as the blob spore bursts.")) infested = null return ..() @@ -103,8 +103,8 @@ infested = H update_icons() - visible_message("The corpse of [H.name] suddenly rises!") + visible_message(span_warning("The corpse of [H.name] suddenly rises!")) /mob/living/simple_mob/hostile/blob/spore/GetIdCard() if(infested) // If we've infested someone, use their ID. - return infested.GetIdCard() \ No newline at end of file + return infested.GetIdCard() diff --git a/code/modules/blob2/overmind/overmind.dm b/code/modules/blob2/overmind/overmind.dm index 625dca158f4..73fe9978c5a 100644 --- a/code/modules/blob2/overmind/overmind.dm +++ b/code/modules/blob2/overmind/overmind.dm @@ -10,7 +10,7 @@ var/list/overminds = list() see_in_dark = 8 invisibility = INVISIBILITY_OBSERVER - faction = "blob" + faction = FACTION_BLOB var/obj/structure/blob/core/blob_core = null // The blob overmind's core var/blob_points = 0 var/max_blob_points = 200 @@ -70,13 +70,14 @@ var/list/overminds = list() overminds -= src return ..() -/mob/observer/blob/Stat() - ..() - if(statpanel("Status")) - if(blob_core) - stat(null, "Core Health: [blob_core.integrity]") - stat(null, "Power Stored: [blob_points]/[max_blob_points]") - stat(null, "Total Blobs: [GLOB.all_blobs.len]") +/mob/observer/blob/get_status_tab_items() + . = ..() + . += "" + . += "BLOB STATUS" + if(blob_core) + . += "Core Health: [blob_core.integrity]" + . += "Power Stored: [blob_points]/[max_blob_points]" + . += "Total Blobs: [GLOB.all_blobs.len]" /mob/observer/blob/Move(var/atom/NewLoc, Dir = 0) if(placed) @@ -115,8 +116,8 @@ var/list/overminds = list() if(client) if(message) client.handle_spam_prevention(MUTE_IC) - if((client.prefs.muted & MUTE_IC) || say_disabled) - to_chat(src, "You cannot speak in IC (Muted).") + if((client.prefs.muted & MUTE_IC)) + to_chat(src, span_warning("You cannot speak in IC (Muted).")) return //These will contain the main receivers of the message diff --git a/code/modules/blob2/overmind/powers.dm b/code/modules/blob2/overmind/powers.dm index 5c1c4e17591..1093130dc93 100644 --- a/code/modules/blob2/overmind/powers.dm +++ b/code/modules/blob2/overmind/powers.dm @@ -1,6 +1,6 @@ /mob/observer/blob/proc/can_buy(cost = 15) if(blob_points < cost) - to_chat(src, "You cannot afford this, you need at least [cost] resources!") + to_chat(src, span_warning("You cannot afford this, you need at least [cost] resources!")) return FALSE add_points(-cost) return TRUE @@ -19,20 +19,20 @@ var/obj/structure/blob/B = (locate(/obj/structure/blob) in T) if(!B) - to_chat(src, "There is no blob here!") + to_chat(src, span_warning("There is no blob here!")) return if(B.overmind != src) - to_chat(src, span("warning", "This blob isn't controlled by you.")) + to_chat(src, span_warning("This blob isn't controlled by you.")) if(!istype(B, /obj/structure/blob/normal)) - to_chat(src, "Unable to use this blob, find a normal one.") + to_chat(src, span_warning("Unable to use this blob, find a normal one.")) return if(nearEquals) for(var/obj/structure/blob/L in orange(nearEquals, T)) if(L.type == blobType) - to_chat(src, "There is a similar blob nearby, move more than [nearEquals] tiles away from it!") + to_chat(src, span_warning("There is a similar blob nearby, move more than [nearEquals] tiles away from it!")) return if(!can_buy(price)) @@ -197,7 +197,7 @@ break if(!B) - to_chat(src, "There is no blob cardinally adjacent to the target tile!") + to_chat(src, span_warning("There is no blob cardinally adjacent to the target tile!")) return if(!can_buy(4)) diff --git a/code/modules/blob2/overmind/types.dm b/code/modules/blob2/overmind/types.dm index 8fffbcdbcae..394a899d022 100644 --- a/code/modules/blob2/overmind/types.dm +++ b/code/modules/blob2/overmind/types.dm @@ -9,7 +9,7 @@ var/color = "#FFFFFF" // The actual blob's color. var/complementary_color = "#000000" //a color that's complementary to the normal blob color. Blob mobs are colored in this. - var/faction = "blob" // The blob's faction. + var/faction = FACTION_BLOB // The blob's faction. var/attack_message = "The blob attacks you" // Base message the mob gets when blob_act() gets called on them by the blob. An exclaimation point is added to the end. var/attack_message_living = null // Appended to attack_message, if the target fails isSynthetic() check. @@ -97,17 +97,17 @@ return // Blob core chunk process. -/datum/blob_type/proc/on_chunk_tick(obj/item/weapon/blobcore_chunk/B) +/datum/blob_type/proc/on_chunk_tick(obj/item/blobcore_chunk/B) return // Blob core chunk use in-hand. -/datum/blob_type/proc/on_chunk_use(obj/item/weapon/blobcore_chunk/B, mob/user) +/datum/blob_type/proc/on_chunk_use(obj/item/blobcore_chunk/B, mob/user) return // Proc that is unique to the blob type. -/datum/blob_type/proc/chunk_unique(obj/item/weapon/blobcore_chunk/B, var/list/extra_args = null) +/datum/blob_type/proc/chunk_unique(obj/item/blobcore_chunk/B, var/list/extra_args = null) return // Set up the blob type for the chunk. -/datum/blob_type/proc/chunk_setup(obj/item/weapon/blobcore_chunk/B) +/datum/blob_type/proc/chunk_setup(obj/item/blobcore_chunk/B) return diff --git a/code/modules/blob2/overmind/types/blazing_oil.dm b/code/modules/blob2/overmind/types/blazing_oil.dm index 7d8c9f307d5..5ceef2e6430 100644 --- a/code/modules/blob2/overmind/types/blazing_oil.dm +++ b/code/modules/blob2/overmind/types/blazing_oil.dm @@ -32,7 +32,7 @@ if(env) env.add_thermal_energy(10 * 1000) -/datum/blob_type/blazing_oil/on_chunk_tick(obj/item/weapon/blobcore_chunk/B) +/datum/blob_type/blazing_oil/on_chunk_tick(obj/item/blobcore_chunk/B) B.reagents.add_reagent("thermite_v", 0.5) var/turf/T = get_turf(B) @@ -42,6 +42,6 @@ if(env) env.add_thermal_energy(10 * 1000) -/datum/blob_type/blazing_oil/on_chunk_use(obj/item/weapon/blobcore_chunk/B, mob/living/user) +/datum/blob_type/blazing_oil/on_chunk_use(obj/item/blobcore_chunk/B, mob/living/user) user.add_modifier(/datum/modifier/exothermic, 5 MINUTES) return \ No newline at end of file diff --git a/code/modules/blob2/overmind/types/classic.dm b/code/modules/blob2/overmind/types/classic.dm index 450324b4932..86094def252 100644 --- a/code/modules/blob2/overmind/types/classic.dm +++ b/code/modules/blob2/overmind/types/classic.dm @@ -11,12 +11,12 @@ spread_modifier = 1.0 ai_aggressiveness = 0 -/datum/blob_type/classic/on_chunk_use(obj/item/weapon/blobcore_chunk/B, mob/living/user) +/datum/blob_type/classic/on_chunk_use(obj/item/blobcore_chunk/B, mob/living/user) var/turf/T = get_turf(B) - to_chat(user, "\The [B] produces a soothing ooze!") + to_chat(user, span_alien("\The [B] produces a soothing ooze!")) - T.visible_message("\The [B] shudders at \the [user]'s touch, before disgorging a disgusting ooze.") + T.visible_message(span_alium("\The [B] shudders at \the [user]'s touch, before disgorging a disgusting ooze.")) for(var/turf/simulated/floor/F in view(2, T)) spawn() @@ -34,4 +34,4 @@ blood.reagents.add_reagent("tricorlidaze", 5) blood.update_icon() - return \ No newline at end of file + return diff --git a/code/modules/blob2/overmind/types/cryogenic_goo.dm b/code/modules/blob2/overmind/types/cryogenic_goo.dm index 564516a71dd..a4cf0adfd6f 100644 --- a/code/modules/blob2/overmind/types/cryogenic_goo.dm +++ b/code/modules/blob2/overmind/types/cryogenic_goo.dm @@ -45,7 +45,7 @@ if(env) env.add_thermal_energy(-10 * 1000) -/datum/blob_type/cryogenic_goo/on_chunk_tick(obj/item/weapon/blobcore_chunk/B) +/datum/blob_type/cryogenic_goo/on_chunk_tick(obj/item/blobcore_chunk/B) B.reagents.add_reagent("cryoslurry", 0.5) var/turf/simulated/T = get_turf(B) @@ -56,6 +56,6 @@ if(env) env.add_thermal_energy(-10 * 1000) -/datum/blob_type/cryogenic_goo/on_chunk_use(obj/item/weapon/blobcore_chunk/B, mob/living/user) +/datum/blob_type/cryogenic_goo/on_chunk_use(obj/item/blobcore_chunk/B, mob/living/user) user.add_modifier(/datum/modifier/endothermic, 5 MINUTES) return diff --git a/code/modules/blob2/overmind/types/ectoplasmic_horror.dm b/code/modules/blob2/overmind/types/ectoplasmic_horror.dm index d453c87ac90..45935cdffa3 100644 --- a/code/modules/blob2/overmind/types/ectoplasmic_horror.dm +++ b/code/modules/blob2/overmind/types/ectoplasmic_horror.dm @@ -27,7 +27,7 @@ /datum/blob_type/ectoplasmic_horror/on_pulse(var/obj/structure/blob/B) if(B.type == /obj/structure/blob && (locate(/obj/structure/blob/node) in oview(2, get_turf(B)))) - B.visible_message("The [name] quakes, before hardening.") + B.visible_message(span_alien("The [name] quakes, before hardening.")) new/obj/structure/blob/shield(get_turf(B), B.overmind) qdel(B) @@ -47,12 +47,12 @@ break if(!beamtarget_exists && GetAnomalySusceptibility(L) >= 0.5) - B.visible_message("\The [B] lashes out at \the [L]!") + B.visible_message(span_danger("\The [B] lashes out at \the [L]!")) var/datum/beam/drain_beam = beam_origin.Beam(L, icon_state = "drain_life", time = 10 SECONDS) active_beams |= drain_beam spawn(9 SECONDS) if(B && drain_beam) - B.visible_message("\The [B] siphons energy from \the [L]") + B.visible_message(span_alien("\The [B] siphons energy from \the [L]")) L.add_modifier(/datum/modifier/berserk_exhaustion, 60 SECONDS) B.overmind.add_points(rand(10,30)) if(!QDELETED(drain_beam)) @@ -60,7 +60,7 @@ /datum/blob_type/ectoplasmic_horror/on_received_damage(var/obj/structure/blob/B, damage, damage_type) if(prob(round(damage * 0.5))) - B.visible_message("\The [B] shimmers, distorting through some unseen dimension.") + B.visible_message(span_alien("\The [B] shimmers, distorting through some unseen dimension.")) var/initial_alpha = B.alpha spawn() animate(B,alpha = initial_alpha, alpha = 10, time = 10) @@ -68,7 +68,7 @@ return 0 return ..() -/datum/blob_type/ectoplasmic_horror/on_chunk_tick(obj/item/weapon/blobcore_chunk/B) +/datum/blob_type/ectoplasmic_horror/on_chunk_tick(obj/item/blobcore_chunk/B) var/mob/living/carrier = B.get_carrier() if(!carrier) @@ -94,12 +94,12 @@ break if(!beamtarget_exists && GetAnomalySusceptibility(L) >= 0.5) - carrier.visible_message("[icon2html(B,viewers(carrier))] \The [B] lashes out at \the [L]!") + carrier.visible_message(span_danger("[icon2html(B,viewers(carrier))] \The [B] lashes out at \the [L]!")) var/datum/beam/drain_beam = carrier.Beam(L, icon_state = "drain_life", time = 10 SECONDS) active_beams |= drain_beam spawn(9 SECONDS) if(B && drain_beam) - carrier.visible_message("\The [B] siphons energy from \the [L]") + carrier.visible_message(span_alien("\The [B] siphons energy from \the [L]")) L.add_modifier(/datum/modifier/berserk_exhaustion, 30 SECONDS) var/total_heal = 0 diff --git a/code/modules/blob2/overmind/types/electromagnetic_web.dm b/code/modules/blob2/overmind/types/electromagnetic_web.dm index 9831998587a..80fcc4d19f9 100644 --- a/code/modules/blob2/overmind/types/electromagnetic_web.dm +++ b/code/modules/blob2/overmind/types/electromagnetic_web.dm @@ -25,7 +25,7 @@ /datum/blob_type/electromagnetic_web/on_attack(obj/structure/blob/B, mob/living/victim) victim.emp_act(2) -/datum/blob_type/electromagnetic_web/on_chunk_tick(obj/item/weapon/blobcore_chunk/B) +/datum/blob_type/electromagnetic_web/on_chunk_tick(obj/item/blobcore_chunk/B) var/turf/T = get_turf(B) if(!T) return diff --git a/code/modules/blob2/overmind/types/energized_jelly.dm b/code/modules/blob2/overmind/types/energized_jelly.dm index 33c570f24f3..a73d0f0b9a3 100644 --- a/code/modules/blob2/overmind/types/energized_jelly.dm +++ b/code/modules/blob2/overmind/types/energized_jelly.dm @@ -24,7 +24,7 @@ victim.electrocute_act(10, src, 1, def_zone) victim.stun_effect_act(0, 40, BP_TORSO, src) -/datum/blob_type/energized_jelly/on_chunk_tick(obj/item/weapon/blobcore_chunk/B) +/datum/blob_type/energized_jelly/on_chunk_tick(obj/item/blobcore_chunk/B) for(var/mob/living/L in oview(world.view, get_turf(B))) var/mob/living/carrier = B.get_carrier() @@ -33,7 +33,7 @@ var/obj/item/projectile/P = new spore_projectile(get_turf(B)) - carrier.visible_message("\The [B] discharges energy toward \the [L]!") + carrier.visible_message(span_danger("\The [B] discharges energy toward \the [L]!")) P.launch_projectile(L, BP_TORSO, carrier) - return \ No newline at end of file + return diff --git a/code/modules/blob2/overmind/types/explosive_lattice.dm b/code/modules/blob2/overmind/types/explosive_lattice.dm index aec6787eab1..8d654936ff3 100644 --- a/code/modules/blob2/overmind/types/explosive_lattice.dm +++ b/code/modules/blob2/overmind/types/explosive_lattice.dm @@ -49,7 +49,7 @@ exploding = FALSE -/datum/blob_type/explosive_lattice/on_chunk_tick(obj/item/weapon/blobcore_chunk/B) +/datum/blob_type/explosive_lattice/on_chunk_tick(obj/item/blobcore_chunk/B) var/turf/T = get_turf(B) if(!T) return diff --git a/code/modules/blob2/overmind/types/fabrication_swarm.dm b/code/modules/blob2/overmind/types/fabrication_swarm.dm index 10a69cb3013..a9e1b3f3fc9 100644 --- a/code/modules/blob2/overmind/types/fabrication_swarm.dm +++ b/code/modules/blob2/overmind/types/fabrication_swarm.dm @@ -27,7 +27,7 @@ if(damage > 0) var/reinforce_probability = min(damage, 70) if(prob(reinforce_probability)) - B.visible_message("The [name] quakes, before rapidly hardening!") + B.visible_message(span_danger("The [name] quakes, before rapidly hardening!")) new/obj/structure/blob/shield(get_turf(B), B.overmind) qdel(B) return ..() @@ -35,7 +35,7 @@ /datum/blob_type/fabrication_swarm/on_emp(obj/structure/blob/B, severity) B.adjust_integrity(-(30 / severity)) -/datum/blob_type/fabrication_swarm/on_chunk_tick(obj/item/weapon/blobcore_chunk/B) +/datum/blob_type/fabrication_swarm/on_chunk_tick(obj/item/blobcore_chunk/B) var/turf/T = get_turf(B) for(var/mob/living/L in view(world.view, T)) if(L.stat != DEAD && L.isSynthetic()) diff --git a/code/modules/blob2/overmind/types/fulminant_organism.dm b/code/modules/blob2/overmind/types/fulminant_organism.dm index 4f3788b787f..e95cb47d3b8 100644 --- a/code/modules/blob2/overmind/types/fulminant_organism.dm +++ b/code/modules/blob2/overmind/types/fulminant_organism.dm @@ -33,7 +33,7 @@ /datum/blob_type/fulminant_organism/on_death(obj/structure/blob/B) if(prob(33)) // 33% chance to make a spore when dying. var/mob/living/simple_mob/blob/spore/S = new spore_type(get_turf(B)) - B.visible_message("\The [S] floats free from the [name]!") + B.visible_message(span_danger("\The [S] floats free from the [name]!")) if(istype(S)) S.overmind = B.overmind S.faction = faction @@ -42,7 +42,7 @@ S.faction = faction S.update_icons() -/datum/blob_type/fulminant_organism/on_chunk_use(obj/item/weapon/blobcore_chunk/B, mob/living/user) +/datum/blob_type/fulminant_organism/on_chunk_use(obj/item/blobcore_chunk/B, mob/living/user) for(var/I = 1 to rand(3,4)) var/mob/living/simple_mob/blob/spore/S = new spore_type(get_turf(B)) S.faction = user.faction diff --git a/code/modules/blob2/overmind/types/fungal_bloom.dm b/code/modules/blob2/overmind/types/fungal_bloom.dm index 6bf20b99d35..e404c15e3ba 100644 --- a/code/modules/blob2/overmind/types/fungal_bloom.dm +++ b/code/modules/blob2/overmind/types/fungal_bloom.dm @@ -27,11 +27,11 @@ B.adjust_integrity(10) else B = new /obj/structure/blob/normal(T, S.overmind) // Otherwise spread it. - B.visible_message("\A [B] forms on \the [T] as \the [S] bursts!") + B.visible_message(span_danger("\A [B] forms on \the [T] as \the [S] bursts!")) -/datum/blob_type/fungal_bloom/on_chunk_use(obj/item/weapon/blobcore_chunk/B, mob/living/user) +/datum/blob_type/fungal_bloom/on_chunk_use(obj/item/blobcore_chunk/B, mob/living/user) var/mob/living/simple_mob/blob/spore/S = new spore_type(get_turf(B)) S.faction = user.faction S.blob_type = src S.update_icons() - S.ai_holder.forget_everything() \ No newline at end of file + S.ai_holder.forget_everything() diff --git a/code/modules/blob2/overmind/types/grey_goo.dm b/code/modules/blob2/overmind/types/grey_goo.dm index 558f624e96f..bdc78112fc7 100644 --- a/code/modules/blob2/overmind/types/grey_goo.dm +++ b/code/modules/blob2/overmind/types/grey_goo.dm @@ -14,12 +14,12 @@ attack_message = "The tide tries to swallow you" attack_message_living = ", and you feel your skin dissolve" attack_message_synth = ", and your external plating dissolves" - faction = "nanomachines" + faction = FACTION_NANOMACHINES /datum/blob_type/grey_goo/on_emp(obj/structure/blob/B, severity) B.adjust_integrity(-(20 / severity)) -/datum/blob_type/grey_goo/on_chunk_tick(obj/item/weapon/blobcore_chunk/B) +/datum/blob_type/grey_goo/on_chunk_tick(obj/item/blobcore_chunk/B) var/turf/T = get_turf(B) for(var/mob/living/L in view(world.view, T)) if(L.stat != DEAD) diff --git a/code/modules/blob2/overmind/types/pressurized_slime.dm b/code/modules/blob2/overmind/types/pressurized_slime.dm index 6b2ff5800f6..98a78440bf9 100644 --- a/code/modules/blob2/overmind/types/pressurized_slime.dm +++ b/code/modules/blob2/overmind/types/pressurized_slime.dm @@ -37,7 +37,7 @@ T.wet_floor() /datum/blob_type/pressurized_slime/on_death(obj/structure/blob/B) - B.visible_message("The blob ruptures, spraying the area with liquid!") + B.visible_message(span_danger("The blob ruptures, spraying the area with liquid!")) wet_surroundings(B, 50) /datum/blob_type/pressurized_slime/proc/wet_surroundings(var/obj/structure/blob/B, var/probability = 50) @@ -47,10 +47,10 @@ for(var/atom/movable/AM in T) AM.water_act(2) -/datum/blob_type/pressurized_slime/on_chunk_tick(obj/item/weapon/blobcore_chunk/B) +/datum/blob_type/pressurized_slime/on_chunk_tick(obj/item/blobcore_chunk/B) wet_surroundings(B, 10) -/datum/blob_type/pressurized_slime/on_chunk_use(obj/item/weapon/blobcore_chunk/B, mob/living/user) // Drenches you in water. +/datum/blob_type/pressurized_slime/on_chunk_use(obj/item/blobcore_chunk/B, mob/living/user) // Drenches you in water. if(user) user.ExtinguishMob() - user.fire_stacks = CLAMP(user.fire_stacks - 1, -25, 25) \ No newline at end of file + user.fire_stacks = CLAMP(user.fire_stacks - 1, -25, 25) diff --git a/code/modules/blob2/overmind/types/radioactive_ooze.dm b/code/modules/blob2/overmind/types/radioactive_ooze.dm index f3226f2b5be..89a57c9661f 100644 --- a/code/modules/blob2/overmind/types/radioactive_ooze.dm +++ b/code/modules/blob2/overmind/types/radioactive_ooze.dm @@ -23,5 +23,5 @@ /datum/blob_type/radioactive_ooze/on_pulse(var/obj/structure/blob/B) SSradiation.radiate(B, 200) -/datum/blob_type/radioactive_ooze/on_chunk_tick(obj/item/weapon/blobcore_chunk/B) +/datum/blob_type/radioactive_ooze/on_chunk_tick(obj/item/blobcore_chunk/B) SSradiation.radiate(B, rand(25,100)) \ No newline at end of file diff --git a/code/modules/blob2/overmind/types/ravenous_macrophage.dm b/code/modules/blob2/overmind/types/ravenous_macrophage.dm index a97eb2df716..ca6b22a9072 100644 --- a/code/modules/blob2/overmind/types/ravenous_macrophage.dm +++ b/code/modules/blob2/overmind/types/ravenous_macrophage.dm @@ -34,14 +34,14 @@ /datum/blob_type/ravenous_macrophage/on_death(obj/structure/blob/B) var/obj/structure/blob/other = locate() in oview(2, B) if(other) - B.visible_message("The dying mass is rapidly consumed by the nearby [other]!") + B.visible_message(span_danger("The dying mass is rapidly consumed by the nearby [other]!")) if(other.overmind) other.overmind.add_points(rand(1,4)) -/datum/blob_type/ravenous_macrophage/on_chunk_tick(obj/item/weapon/blobcore_chunk/B) +/datum/blob_type/ravenous_macrophage/on_chunk_tick(obj/item/blobcore_chunk/B) var/mob/living/L = locate() in range(world.view, B) if(prob(5) && !L.stat) // There's some active living thing nearby, produce offgas. - B.visible_message("[icon2html(B,viewers(B))] \The [B] disgorches a cloud of noxious gas!") + B.visible_message(span_alien("[icon2html(B,viewers(B))] \The [B] disgorches a cloud of noxious gas!")) var/turf/T = get_turf(B) var/datum/effect/effect/system/smoke_spread/noxious/BS = new /datum/effect/effect/system/smoke_spread/noxious BS.attach(T) diff --git a/code/modules/blob2/overmind/types/reactive_spines.dm b/code/modules/blob2/overmind/types/reactive_spines.dm index f52d4e38128..c206df13e41 100644 --- a/code/modules/blob2/overmind/types/reactive_spines.dm +++ b/code/modules/blob2/overmind/types/reactive_spines.dm @@ -26,13 +26,13 @@ // Even if the melee attack is enough to one-shot this blob, it gets to retaliate at least once. /datum/blob_type/reactive_spines/on_received_damage(var/obj/structure/blob/B, damage, damage_type, mob/living/attacker) if(damage > 0 && attacker && get_dist(B, attacker) <= 1) - B.visible_message("The [name] retaliates, lashing out at \the [attacker]!") + B.visible_message(span_danger("The [name] retaliates, lashing out at \the [attacker]!")) B.blob_attack_animation(attacker, B.overmind) attacker.blob_act(B) return ..() // We're expecting 1 to be a target, 2 to be an old move loc, and 3 to be a new move loc. -/datum/blob_type/reactive_spines/chunk_unique(obj/item/weapon/blobcore_chunk/B, var/list/extra_data = null) +/datum/blob_type/reactive_spines/chunk_unique(obj/item/blobcore_chunk/B, var/list/extra_data = null) if(!LAZYLEN(extra_data)) return @@ -49,13 +49,13 @@ var/obj/item/projectile/P = new spore_projectile(get_turf(B)) - carrier.visible_message("\The [B] fires a spine at \the [L]!") + carrier.visible_message(span_danger("\The [B] fires a spine at \the [L]!")) P.launch_projectile(L, BP_TORSO, carrier) return -/datum/blob_type/reactive_spines/chunk_setup(obj/item/weapon/blobcore_chunk/B) - B.RegisterSignal(SSmobs, COMSIG_OBSERVER_GLOBALMOVED, /obj/item/weapon/blobcore_chunk/proc/call_chunk_unique) +/datum/blob_type/reactive_spines/chunk_setup(obj/item/blobcore_chunk/B) + B.RegisterSignal(SSmobs, COMSIG_OBSERVER_GLOBALMOVED, /obj/item/blobcore_chunk/proc/call_chunk_unique) return //I'm putting this here so everybody knows that it's this shitty code that is why that comsig exists. diff --git a/code/modules/blob2/overmind/types/roiling_mold.dm b/code/modules/blob2/overmind/types/roiling_mold.dm index 8a2534ebb54..6747ae91fec 100644 --- a/code/modules/blob2/overmind/types/roiling_mold.dm +++ b/code/modules/blob2/overmind/types/roiling_mold.dm @@ -48,7 +48,7 @@ var/obj/item/projectile/arc/spore/P = new(get_turf(B)) P.launch_projectile(L, BP_TORSO, B) -/datum/blob_type/roiling_mold/on_chunk_use(obj/item/weapon/blobcore_chunk/B, mob/living/user) +/datum/blob_type/roiling_mold/on_chunk_use(obj/item/blobcore_chunk/B, mob/living/user) for(var/mob/living/L in oview(world.view, get_turf(B))) if(istype(user) && user == L) continue @@ -58,7 +58,7 @@ var/obj/item/projectile/P = new spore_projectile(get_turf(B)) - user.visible_message("[icon2html(B,viewers(user))] \The [B] discharges energy toward \the [L]!") + user.visible_message(span_danger("[icon2html(B,viewers(user))] \The [B] discharges energy toward \the [L]!")) P.launch_projectile(L, BP_TORSO, user) return diff --git a/code/modules/blob2/overmind/types/shifting_fragments.dm b/code/modules/blob2/overmind/types/shifting_fragments.dm index ffca17760be..c5992f8757f 100644 --- a/code/modules/blob2/overmind/types/shifting_fragments.dm +++ b/code/modules/blob2/overmind/types/shifting_fragments.dm @@ -35,6 +35,6 @@ new_B.forceMove(get_turf(B)) B.forceMove(T) -/datum/blob_type/shifting_fragments/on_chunk_use(obj/item/weapon/blobcore_chunk/B, mob/living/user) +/datum/blob_type/shifting_fragments/on_chunk_use(obj/item/blobcore_chunk/B, mob/living/user) user.add_modifier(/datum/modifier/sprinting, 2 MINUTES) return \ No newline at end of file diff --git a/code/modules/blob2/overmind/types/synchronous_mesh.dm b/code/modules/blob2/overmind/types/synchronous_mesh.dm index 1e32ebb40f6..738703de562 100644 --- a/code/modules/blob2/overmind/types/synchronous_mesh.dm +++ b/code/modules/blob2/overmind/types/synchronous_mesh.dm @@ -42,7 +42,7 @@ return damage / max(blobs_to_hurt.len, 1) // To hurt the blob that got hit. -/datum/blob_type/synchronous_mesh/on_chunk_tick(obj/item/weapon/blobcore_chunk/B) +/datum/blob_type/synchronous_mesh/on_chunk_tick(obj/item/blobcore_chunk/B) var/mob/living/carrier = B.get_carrier() if(!carrier) @@ -68,5 +68,5 @@ carrier.adjustFireLoss(-3 / nearby_mobs.len) if(need_beam) - carrier.visible_message("[icon2html(B,viewers(carrier))] \The [B] sends noxious spores toward \the [victim]!") + carrier.visible_message(span_alien("[icon2html(B,viewers(carrier))] \The [B] sends noxious spores toward \the [victim]!")) carrier.Beam(victim, icon_state = "lichbeam", time = 2 SECONDS) diff --git a/code/modules/blob2/overmind/types/volatile_alluvium.dm b/code/modules/blob2/overmind/types/volatile_alluvium.dm index a689bb856f2..6e05132b9fe 100644 --- a/code/modules/blob2/overmind/types/volatile_alluvium.dm +++ b/code/modules/blob2/overmind/types/volatile_alluvium.dm @@ -34,12 +34,12 @@ var/obj/item/I = H.get_active_hand() H.drop_item() if(I) - if((I.sharp || I.edge) && !istype(I, /obj/item/weapon/gun)) + if((I.sharp || I.edge) && !istype(I, /obj/item/gun)) I.forceMove(get_turf(B)) // Disarmed entirely. - B.visible_message("The [name] heaves, \the [attacker]'s weapon becoming stuck in the churning mass!") + B.visible_message(span_danger("The [name] heaves, \the [attacker]'s weapon becoming stuck in the churning mass!")) else I.throw_at(B, 2, 4) // Just yoinked. - B.visible_message("The [name] heaves, pulling \the [attacker]'s weapon from their hands!") + B.visible_message(span_danger("The [name] heaves, pulling \the [attacker]'s weapon from their hands!")) B.blob_attack_animation(attacker, B.overmind) return ..() @@ -48,8 +48,8 @@ var/damage = amount * 4 B.adjust_integrity(-(damage)) if(B && prob(damage)) - B.visible_message("The [name] begins to crumble!") + B.visible_message(span_danger("The [name] begins to crumble!")) -/datum/blob_type/volatile_alluvium/on_chunk_use(obj/item/weapon/blobcore_chunk/B, mob/living/user) +/datum/blob_type/volatile_alluvium/on_chunk_use(obj/item/blobcore_chunk/B, mob/living/user) if(user) user.add_modifier(/datum/modifier/fortify, 60 SECONDS) diff --git a/code/modules/busy_space/air_traffic.dm b/code/modules/busy_space/air_traffic.dm index 3eb9771ac02..cdb0ffb8099 100644 --- a/code/modules/busy_space/air_traffic.dm +++ b/code/modules/busy_space/air_traffic.dm @@ -1,21 +1,41 @@ //Cactus, Speedbird, Dynasty, oh my +//Also, massive additions/refactors by Killian, because the original incarnation was full of holes + +//minimum and maximum message delays, typically tracked in seconds +#define MIN_MSG_DELAY 3 +#define MAX_MSG_DELAY 6 var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller /datum/lore/atc_controller - var/delay_max = 25 MINUTES //How long between ATC traffic, max. Default is 25 mins. - var/delay_min = 40 MINUTES //How long between ATC traffic, min. Default is 40 mins. - var/backoff_delay = 5 MINUTES //How long to back off if we can't talk and want to. Default is 5 mins. - var/next_message //When the next message should happen in world.time + var/delay_min = 45 MINUTES //How long between ATC traffic, minimum + var/delay_max = 90 MINUTES //Ditto, maximum + //Shorter delays means more traffic, which gives the impression of a busier system, but also means a lot more radio noise + var/backoff_delay = 5 MINUTES //How long to back off if we can't talk and want to. Default is 5 mins. + var/initial_delay = 15 MINUTES //How long to wait before sending the first message of the shift. + var/next_message = 45 MINUTES //When the next message should happen in world.time var/force_chatter_type //Force a specific type of messages - var/squelched = 0 //If ATC is squelched currently + var/squelched = 0 //If ATC is squelched currently + + //define a block of frequencies so we can have them be static instead of being random for each call + var/ertchannel + var/medchannel + var/engchannel + var/secchannel + var/sdfchannel /datum/lore/atc_controller/New() - spawn(10 SECONDS) //Lots of lag at the start of a shift. - msg("New shift beginning, resuming traffic control.") - next_message = world.time + rand(delay_min,delay_max) - process() + //generate our static event frequencies for the shift. alternately they can be completely fixed, up in the core block + ertchannel = "[rand(700,749)].[rand(1,9)]" + medchannel = "[rand(750,799)].[rand(1,9)]" + engchannel = "[rand(800,849)].[rand(1,9)]" + secchannel = "[rand(850,899)].[rand(1,9)]" + sdfchannel = "[rand(900,999)].[rand(1,9)]" + spawn(5 SECONDS) //Lots of lag at the start of a shift. Yes, the following lines *have* to be indented or they're not delayed by the spawn properly. + msg("New shift beginning, resuming traffic control. This shift's Colony Frequencies are as follows: Emergency Responders: [ertchannel]. Medical: [medchannel]. Engineering: [engchannel]. Security: [secchannel]. System Defense: [sdfchannel].") + next_message = world.time + initial_delay + process() /datum/lore/atc_controller/process() if(world.time >= next_message) @@ -30,7 +50,7 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller /datum/lore/atc_controller/proc/msg(var/message,var/sender) ASSERT(message) - global_announcer.autosay("[message]", sender ? sender : "[using_map.station_short] Space Control") + global_announcer.autosay("[message]", sender ? sender : "[using_map.dock_name] Control") /datum/lore/atc_controller/proc/reroute_traffic(var/yes = 1) if(yes) @@ -43,87 +63,411 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller squelched = 0 /datum/lore/atc_controller/proc/shift_ending(var/evac = 0) - msg("Automated Tram departing [using_map.station_name] for [using_map.dock_name] on routine transfer route.","NT Automated Tram") //VOREStation Edit - Tram, tho. - sleep(5 SECONDS) - msg("Automated Tram, cleared to complete routine transfer from [using_map.station_name] to [using_map.dock_name].") //VOREStation Edit - Tram, tho. + msg("[using_map.shuttle_name], this is [using_map.dock_name] Control, you are cleared to complete routine transfer from [using_map.station_name] to [using_map.dock_name].") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[using_map.shuttle_name] departing [using_map.dock_name] for [using_map.station_name] on routine transfer route. Estimated time to arrival: ten minutes.","[using_map.shuttle_name]") -/datum/lore/atc_controller/proc/random_convo() +/datum/lore/atc_controller/proc/random_convo(var/force_chatter_type) var/one = pick(loremaster.organizations) //These will pick an index, not an instance var/two = pick(loremaster.organizations) var/datum/lore/organization/source = loremaster.organizations[one] //Resolve to the instances - var/datum/lore/organization/dest = loremaster.organizations[two] + var/datum/lore/organization/secondary = loremaster.organizations[two] //repurposed for new fun stuff - //Let's get some mission parameters - var/owner = source.short_name //Use the short name + //Let's get some mission parameters, pick our first ship + var/name = source.name //get the name + var/owner = source.short_name //Use the short name var/prefix = pick(source.ship_prefixes) //Pick a random prefix + var/firstid = "[rand(0,9)][rand(0,9)][rand(0,9)][rand(0,9)]" var/mission = source.ship_prefixes[prefix] //The value of the prefix is the mission type that prefix does - var/shipname = pick(source.ship_names) //Pick a random ship name to go with it - var/destname = pick(dest.destination_names) //Pick a random holding from the destination + var/shipname = pick(source.ship_names) //Pick a random ship name + var/destname = pick(source.destination_names) //destination is where? + var/slogan = pick(source.slogans) //god help you all + var/org_type = source.org_type //which group do we belong to? + + //pick our second ship + //var/secondname = secondary.name //not used atm, commented out to suppress errors + var/secondowner = secondary.short_name + var/secondprefix = pick(secondary.ship_prefixes) //Pick a random prefix + var/secondid = "[rand(0,9)][rand(0,9)][rand(0,9)][rand(0,9)]" + var/secondshipname = pick(secondary.ship_names) //Pick a random ship name + var/org_type2 = secondary.org_type + + //DEBUG BLOCK + //to_world("DEBUG OUTPUT 1: [name], [owner], [prefix], [firstid], [mission], [shipname], [org_type], [destname]") + //to_world("DEBUG OUTPUT 2: [secondowner], [secondprefix], [secondid], [secondshipname], [org_type2]") + //to_world("DEBUG OUTPUT 3: Chose [chatter_type]") + //DEBUG BLOCK ENDS - var/combined_name = "[owner] [prefix] [shipname]" - var/alt_atc_names = list("[using_map.station_short] TraCon","[using_map.station_short] Control","[using_map.station_short] STC","[using_map.station_short] Airspace") - var/wrong_atc_names = list("Sol Command","New Reykjavik StarCon", "[using_map.dock_name]") - var/mission_noun = list("flight","mission","route") - var/request_verb = list("requesting","calling for","asking for") + var/combined_first_name = "[prefix] [firstid] |[shipname]|" //formal traffic control identifier for use in messages + var/short_first_name = "[prefix] |[shipname]|" //special variant for certain events + var/comm_first_name = "[owner] [shipname]" //corpname + shipname for speaker identity in log + var/combined_second_name = "[secondprefix] [secondid] |[secondshipname]|" + var/comm_second_name = "[secondowner] [secondshipname]" + //var/short_second_name = "[secondprefix] |[secondshipname]|" //not actually used for now + + var/mission_noun = pick(source.flight_types) //pull from a list of owner-specific flight ops, to allow an extra dash of flavor + if(source.complex_tasks) //if our source has the complex_tasks flag, regenerate with a two-stage assignment + mission_noun = "[pick(source.task_types)] [pick(source.flight_types)]" //First response is 'yes', second is 'no' - var/requests = list("[using_map.station_short] transit clearance" = list("permission for transit granted", "permission for transit denied, contact regional on 953.5"), - "planetary flight rules" = list("authorizing planetary flight rules", "denying planetary flight rules right now due to traffic"), - "special flight rules" = list("authorizing special flight rules", "denying special flight rules, not allowed for your traffic class"), - "current solar weather info" = list("sending you the relevant information via tightbeam", "cannot fulfill your request at the moment"), - "nearby traffic info" = list("sending you current traffic info", "no available info in your area"), - "remote telemetry data" = list("sending telemetry now", "no uplink from your ship, recheck your uplink and ask again"), - "refueling information" = list("sending refueling information now", "no fuel for your ship class in this sector"), - "a current system time sync" = list("sending time sync ping to you now", "your ship isn't compatible with our time sync, set time manually"), - "current system starcharts" = list("transmitting current starcharts", "your request is queued, overloaded right now"), - "permission to engage FTL" = list("permission to engage FTL granted, good day", "permission denied, wait for current traffic to pass"), - "permission to transit system" = list("permission to transit granted, good day", "permission denied, wait for current traffic to pass"), - "permission to depart system" = list("permission to depart granted, good day", "permission denied, wait for current traffic to pass"), - "permission to enter system" = list("good day, permission to enter granted", "permission denied, wait for current traffic to pass"), - ) + var/requests = list( + "special flight rules" = list("authorizing special flight rules", "denying special flight rules, not allowed for your traffic class"), + "current solar weather info" = list("sending you the relevant information via tightbeam", "your request has been queued, stand by"), + "sector aerospace priority" = list("affirmative, sector aerospace priority is yours", "negative, another vessel in your sector has priority right now"), + "system traffic info" = list("sending you current traffic info", "request queued, please hold"), + "refueling information" = list("sending refueling information now", "depots currently experiencing fuel shortages, advise you move on"), + "a current system time sync" = list("sending time sync ping to you now", "your ship isn't compatible with our time sync, set time manually"), + "current system starcharts" = list("transmitting current starcharts", "your request is queued, overloaded right now") + ) //Random chance things for variety var/chatter_type = "normal" if(force_chatter_type) chatter_type = force_chatter_type + else if((org_type == "government" || org_type == "neutral" || org_type == "military" || org_type == "corporate" || org_type == "system defense" || org_type == "spacer") && org_type2 == "pirate") //this is ugly but when I tried to do it with !='s it fired for pirate-v-pirate, still not sure why. might as well stick it up here so it takes priority over other combos. + chatter_type = "distress" + else if(org_type == "corporate") //corporate-specific subset for the slogan event. despite the relatively high weight it was still quite rare in tests. + chatter_type = pick(5;"emerg",25;"policescan",25;"traveladvisory",30;"pathwarning",180;"dockingrequestgeneric",30;"undockingrequest","normal",30;"undockingdenied",50;"slogan",25;"civvieleaks",25;"report_to_dock") + else if((org_type == "government" || org_type == "neutral" || org_type == "military")) + chatter_type = pick(5;"emerg",25;"policescan",25;"traveladvisory",30;"pathwarning",180;"dockingrequestgeneric",30;"undockingrequest","normal",30;"undockingdenied",25;"civvieleaks",25;"report_to_dock") + else if(org_type == "spacer") + chatter_type = pick(5;"emerg",15;"policescan",15;"traveladvisory",5;"pathwarning",150;"dockingrequestgeneric",30;"undockingrequest","normal",10;"undockingdenied",25;"civvieleaks",25;"report_to_dock") + + //the following filters *always* fire their 'unique' event when they're tripped, simply because the conditions behind them are quite rare to begin with + else if(org_type == "smuggler" && org_type2 != "system defense") //just straight up funnel smugglers into always being caught, otherwise we get them asking for traffic info and stuff + chatter_type = "policeflee" + else if(org_type == "smuggler" && org_type2 == "system defense") //ditto, if an SDF ship catches them + chatter_type = "policeshipflee" + else if((org_type == "smuggler" || org_type == "pirate") && (org_type2 == "system defense" || org_type2 == "military")) //if we roll this combo instead, time for the SDF or Mercs to do their fucking jobs + chatter_type = "policeshipcombat" + else if((org_type == "smuggler" || org_type == "pirate") && org_type2 != "system defense") //but if we roll THIS combo, time to alert the SDF to get off their asses + chatter_type = "hostiledetected" + //SDF-specific events that need to filter based on the second party (basically just the following SDF-unique list with the soft-result ship scan thrown in) + else if(org_type == "system defense" && (org_type2 == "government" || org_type2 == "neutral" || org_type2 == "military" || org_type2 == "corporate" || org_type2 == "spacer")) //let's see if we can narrow this down, I didn't see many ship-to-ship scans + chatter_type = pick(75;"policeshipscan","sdfpatrolupdate",75;"sdfendingpatrol",180;"dockingrequestgeneric",20;"undockingrequest",75;"sdfbeginpatrol",50;"normal",10;"civvieleaks",70;"sdfchatter") + //SDF-specific events that don't require the secondary at all, in the event that we manage to roll SDF + hostile/smuggler or something + else if(org_type == "system defense") + chatter_type = pick("sdfpatrolupdate",60;"sdfendingpatrol",120;"dockingrequestgeneric",20;"undockingrequest",80;"sdfbeginpatrol","normal","sdfchatter") + //if we somehow don't match any of the other existing filters once we've run through all of them else - chatter_type = pick(2;"emerg",5;"wrong_freq","normal") //Be nice to have wrong_lang... + chatter_type = pick(5;"emerg",25;"policescan",25;"traveladvisory",30;"pathwarning",90;"dockingrequestgeneric",30;"undockingrequest",30;"undockingdenied","normal",25;"civvieleaks") + //I probably should do some kind of pass here to work through all the possible combinations of major factors and see if the filtering list needs reordering or modifying, but I really can't be arsed var/yes = prob(90) //Chance for them to say yes vs no var/request = pick(requests) - var/callname = pick(alt_atc_names) + var/callname = "[using_map.dock_name] Control" var/response = requests[request][yes ? 1 : 2] //1 is yes, 2 is no + var/number = rand(1,42) + var/zone = pick("Alpha","Beta","Gamma","Delta","Epsilon","Zeta","Eta","Theta","Iota","Kappa","Lambda","Mu","Nu","Xi","Omicron","Pi","Rho","Sigma","Tau","Upsilon","Phi","Chi","Psi","Omega") + //fallbacks in case someone sets the dock_type on the map datum to null- it defaults to "station" normally + var/landing_zone = "LZ [zone]" + var/landing_type = "landing zone" + var/landing_move = "landing request" + var/landing_short = "land" + switch(using_map.dock_type) + if("surface") //formal installations with proper facilities + landing_zone = "landing pad [number]" + landing_type = "landing pad" + landing_move = "landing request" + landing_short = "land" + callname = "[using_map.dock_name] Tower" + if("frontier") //for frontier bases - landing spots are literally just open ground, maybe concrete at best + landing_zone = "LZ [zone]" + landing_type = "landing zone" + landing_move = "landing request" + landing_short = "land" + callname = "[using_map.dock_name] Tower" + if("station") //standard station pattern + landing_zone = "docking bay [number]" + landing_type = "docking bay" + landing_move = "docking request" + landing_short = "dock" + callname = "[using_map.dock_name] Control" - var/full_request - var/full_response - var/full_closure - + // what you're about to witness is what feels like an extremely kludgy rework of the system, but it's more 'flexible' and allows events that aren't just ship-stc-ship + // something more elegant could probably be done, but it won't be done by somebody as half-competent as me switch(chatter_type) - if("wrong_freq") - callname = pick(wrong_atc_names) - full_request = "[callname], this is [combined_name] on a [mission] [pick(mission_noun)] to [destname], [pick(request_verb)] [request]." - full_response = "[combined_name], this is [using_map.station_short] TraCon, wrong frequency. Switch to [rand(700,999)].[rand(1,9)]." - full_closure = "[using_map.station_short] TraCon, understood, apologies." - if("wrong_lang") - //Can't implement this until autosay has language support + //mayday call if("emerg") - var/problem = pick("hull breaches on multiple decks","unknown life forms on board","a drive about to go critical","asteroids impacting the hull","a total loss of engine power","people trying to board the ship") - full_request = "This is [combined_name] declaring an emergency! We have [problem]!" - full_response = "[combined_name], this is [using_map.station_short] TraCon, copy. Switch to emergency responder channel [rand(700,999)].[rand(1,9)]." - full_closure = "[using_map.station_short] TraCon, okay, switching now." - else - full_request = "[callname], this is [combined_name] on a [mission] [pick(mission_noun)] to [destname], [pick(request_verb)] [request]." - full_response = "[combined_name], this is [using_map.station_short] TraCon, [response]." //Station TraCon always calls themselves TraCon - full_closure = "[using_map.station_short] TraCon, [yes ? "thank you" : "understood"], good day." //They always copy what TraCon called themselves in the end when they realize they said it wrong + var/problem = pick("We have hull breaches on multiple decks","We have unknown hostile life forms on board","Our primary drive is failing","We have [pick("asteroids","space debris")] impacting the hull","We're experiencing a total loss of engine power","We have hostile ships closing fast","There's smoke [pick("in the cockpit","on the bridge")]","We have unidentified boarders","Our reaction control system is malfunctioning and we're losing stability","Our life support [pick("is failing","has failed")]") + msg("+[pick("Mayday, mayday, mayday!","Mayday, mayday!","Mayday! Mayday!")]+ [combined_first_name], declaring an emergency! [problem]!","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[combined_first_name], [callname]. Switch to emergency responder channel [ertchannel].") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[callname], [combined_first_name] switching now.","[comm_first_name]") + //Control scan event: soft outcome + if("policescan") + var/confirm = pick("Understood","Roger that","Affirmative","Very well","Copy that") + var/complain = pick("I hope this doesn't take too long.","Can we hurry this up?","Make it quick.","This better not take too long.","Is this really necessary?","I'm sure you'll find everything to be in order, Control.") + var/completed = pick("You're free to proceed.","Everything looks fine, carry on.","You're clear, move along.","Apologies for the delay, you're clear.","Switch to channel [sdfchannel] and await further instruction.") + msg("[combined_first_name], [callname], your [pick("ship","vessel","starship")] has been flagged for routine inspection. Hold position and prepare to be scanned.") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[confirm] [callname], holding position.","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("Your compliance is appreciated, [combined_first_name]. Scan commencing.") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY)*2 SECONDS) + msg(complain,"[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY)*3 SECONDS) + msg("[combined_first_name], [callname]. Scan complete. [completed]") + //Control scan event: hard outcome + if("policeflee") + var/uhoh = pick("No can do chief, we got places to be.","Sorry but we've got places to be.","Not happening.","Ah fuck, who ratted us out this time?!","You'll never take me alive!","Hey, I have a cloaking device! You can't see me!","I'm going to need to ask for a refund on that stealth drive...","I'm afraid I can't do that, Control.","Ah |hell|.","Fuck!","This isn't the ship you're looking for.","Well. This is awkward.","Uh oh.","I surrender!","Ah f- |ditch the containers!| +Now!+","Unless you have something a little +bigger+ in your torpedo tubes, we're |not| turning around!") + msg("Unknown [pick("ship","vessel","starship")], [callname], identify yourself and submit to a full inspection. Flying without an active transponder is a violation of interstellar shipping regulations.") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[uhoh]","Unknown Vessel") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[using_map.starsys_name] Defense Control to all local assets: vector to interdict and detain [prefix], temporary callsign |[shipname]|. Control out.","[using_map.starsys_name] Defense Control") + //SDF scan event: soft outcome + if("policeshipscan") + var/confirm = pick("Understood","Roger that","Affirmative") + var/complain = pick("I hope this doesn't take too long.","Can we hurry this up?","Make it quick.","This better not take too long.","Is this really necessary?","I'm sure you'll find everything to be in order, officer.") + var/completed = pick("You're free to proceed.","Everything looks fine, carry on.","You're clear. Move along.","Apologies for the delay, you're clear.","Switch to channel [sdfchannel] and await further instruction.") + msg("[combined_second_name], [combined_first_name], your [pick("ship","vessel","starship")] has been flagged for routine inspection. Hold position and prepare to be scanned.","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[confirm] [combined_first_name], holding position.","[comm_second_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("Your compliance is appreciated, [combined_second_name]. Scan commencing.","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY)*2 SECONDS) + msg(complain,"[comm_second_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY)*3 SECONDS) + msg("[combined_second_name], [combined_first_name]. Scan complete. [completed]","[comm_first_name]") + //SDF scan event: hard outcome + if("policeshipflee") + var/uhoh = pick("No can do chief, we got places to be.","Sorry but we've got places to be.","Not happening.","Ah fuck, who ratted us out this time?!","You'll never take me alive!","Hey, I have a cloaking device! You can't see me!","I'm going to need to ask for a refund on that stealth drive...","I'm afraid I can't do that, |[shipname]|.","Ah |hell|.","Fuck!","This isn't the ship you're looking for.","Well. This is awkward.","Uh oh.","I surrender!","Ah f- |ditch the containers!| +Now!+","Unless you have something a little +bigger+ in your torpedo tubes, we're |not| turning around!") + msg("Unknown [pick("ship","vessel","starship")], [combined_second_name], identify yourself and submit to a full inspection. Flying without an active transponder is a violation of interstellar shipping regulations.","[comm_second_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[uhoh]","Unknown Vessel") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[using_map.starsys_name] Defense Control, [combined_second_name]. We have a [prefix] here, please advise.","[comm_second_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("Defense Control copies, [combined_second_name], reinforcements are en route. Switch further communications to encrypted band [sdfchannel].","[using_map.starsys_name] Defense Control") + //SDF scan event: engage primary in combat! fairly rare since it needs a pirate/vox + SDF roll + if("policeshipcombat") + var/battlestatus = pick("requesting reinforcements.","we need backup! Now!","holding steady.","we're holding our own for now.","we have them on the run.","they're trying to make a run for it!","we have them right where we want them.","we're badly outgunned!","we have them outgunned.","we're outnumbered here!","we have them outnumbered.","this'll be a cakewalk.",10;"notify their next of kin.") + msg("[using_map.starsys_name] Defense Control, [combined_second_name], engaging [combined_first_name] [pick("near route","in sector")] [rand(1,100)], [battlestatus]","[comm_second_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[using_map.starsys_name] Defense Control copies, [combined_second_name]. Keep us updated.","[using_map.starsys_name] Defense Control") + //SDF event: patrol update + if("sdfpatrolupdate") + var/statusupdate = pick("nothing unusual so far","nothing of note","everything looks clear so far","ran off some [pick("pirates","scavengers")] near route [pick(1,100)], [pick("no","minor")] damage sustained, continuing patrol","situation normal, no suspicious activity yet","minor incident on route [pick(1,100)]","Code 7-X [pick("on route","in sector")] [pick(1,100)], situation is under control","seeing a lot of traffic on route [pick(1,100)]","caught a couple of smugglers [pick("on route","in sector")] [pick(1,100)]","sustained some damage in a skirmish just now, we're heading back for repairs") + msg("[using_map.starsys_name] Defense Control, [combined_first_name] reporting in, [statusupdate], over.","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[using_map.starsys_name] Defense Control copies, [combined_first_name]. Keep us updated, out.","[using_map.starsys_name] Defense Control") + //SDF event: end patrol + if("sdfendingpatrol") + var/appreciation = pick("Copy","Understood","Affirmative","10-4","Roger that") + var/dockingplan = pick("Starting final approach now.","Commencing landing procedures.","Autopilot engaged.","Approach vector locked in.","In the pipe, five by five.") + msg("[callname], [combined_first_name], returning from our system patrol route, requesting permission to [landing_short].","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[combined_first_name], [callname]. Permission granted, proceed to [landing_zone]. Follow the green lights on your way in.") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[appreciation], [callname]. [dockingplan]","[comm_first_name]") + //SDF event: general chatter + if("sdfchatter") + var/chain = pick("codecheck","commscheck") + switch(chain) + if("codecheck") + msg("Check. Check. |Check|. Uhhh... check? Wait. Wait! Hold on. Yeah, okay, I gotta call this one in.","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[callname], confirm auth-code... [rand(1,9)][rand(1,9)][rand(1,9)]-[pick("Alpha","Beta","Gamma","Delta","Epsilon","Zeta","Eta","Theta","Iota","Kappa","Lambda","Mu","Nu","Xi","Omicron","Pi","Rho","Sigma","Tau","Upsilon","Phi","Chi","Psi","Omega")]?","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("One moment...") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY)*2 SECONDS) + msg("Yeah, that code checks out [combined_first_name].") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("|(sigh)| Copy that Control. You! Move along!","[comm_first_name]") + if("commscheck") + msg("Control this is [combined_first_name], we're getting some interference in our area. [pick("How's our line?","Do you read?","How copy, over?")]","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("Control reads you loud and clear [combined_first_name].","[using_map.starsys_name] Defense Control") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[pick("Copy that","Thanks,","Roger that")] Control. [combined_first_name] out.","[comm_first_name]") + //Civil event: leaky chatter + if("civvieleaks") + var/commleak = pick("thatsmywife","missingkit","pipeleaks","weirdsmell","weirdsmell2","scug","teppi") + switch(commleak) + if("thatsmywife") + msg("-so then I says to him, |that's no [pick("space carp","space shark","vox","garbage scow","freight liner","cargo hauler","superlifter")], that's my +wife!+| And he-","[comm_first_name]") + if("missingkit") + msg("-did you get the kit from down on deck [rand(1,4)]? I need th-","[comm_first_name]") + if("pipeleaks") + msg("I swear if these pipes keep leaking I'm going to-","[comm_first_name]") + if("weirdsmell") + msg("-and where the hell is that smell coming fr-","[comm_first_name]") + if("weirdsmell2") + msg("-hat in the [pick("three","five","seven","nine")] hells did you |eat| [pick("ensign","crewman")]? This compartment reeks of-","[comm_first_name]") + if("scug") + msg("-and if that weird cat of yours keeps crawling into the pipes we-","[comm_first_name]") + if("teppi") + msg("-at are we supposed to do with this damn cow?","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("I don't think it's a cow, sir, it looks more like a-","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[combined_first_name], your internal comms are leaking[pick("."," again.",", again.",". |Again|.")]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("Sorry Control, won't happen again.","[comm_first_name]") + //DefCon event: hostile found + if("hostiledetected") + var/orders = pick("Engage on sight","Engage with caution","Engage with extreme prejudice","Engage at will","Search and destroy","Bring them in alive, if possible","Interdict and detain","Keep your eyes peeled","Bring them in, dead or alive","Stay alert") + msg("This is [using_map.starsys_name] Defense Control to all SDF assets. Priority update follows.","[using_map.starsys_name] Defense Control") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("Be on the lookout for [short_first_name], last sighted [pick("near route","in sector","near sector")] [rand(1,100)]. [orders]. DefCon, out.","[using_map.starsys_name] Defense Control") + //Ship event: distress call, under attack + if("distress") + var/state = pick(66;"calm",34;"panic") + switch(state) + if("calm") + msg("[using_map.starsys_name] Defense Control, [combined_first_name].","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[combined_first_name], [using_map.starsys_name] Defense Control.","[using_map.starsys_name] Defense Control") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("Another vessel in our area is moving [pick("aggressively","suspiciously","erratically","unpredictably","with clear hostile intent")], please advise? Forwarding sensor data now.","[comm_first_name]","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[combined_first_name], [using_map.starsys_name] Defense Control copies. Sensor data matches logged profile for [secondprefix] |[secondshipname]|. SDF units are en route to your location.","[using_map.starsys_name] Defense Control") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[pick("Appreciated","Copy that","Understood")], Control. Switching to [sdfchannel] to coordinate.","[comm_first_name]") + if("panic") + msg("+Mayday, mayday, mayday!+ This is [combined_first_name] declaring an emergency! We are under attack! Requesting immediate assistance!","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[combined_first_name], [using_map.starsys_name] Defense Control. SDF is en route, contact on [sdfchannel].") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[pick("Copy that","Understood")] [using_map.starsys_name] Defense Control, switching now!","[comm_first_name]") + //Control event: travel advisory + if("traveladvisory") + var/flightwarning = pick("Solar flare activity is spiking and expected to cause issues along main flight lanes [rand(1,33)], [rand(34,67)], and [rand(68,100)]","Pirate activity is on the rise, stay close to System Defense vessels","We're seeing a rise in illegal salvage operations, please report any unusual activity to the nearest SDF vessel via channel [sdfchannel]","A quarantined [pick("fleet","convoy")] is passing through the system along route [rand(1,100)], please observe minimum safe distance","A prison [pick("fleet","convoy")] is passing through the system along route [rand(1,100)], please observe minimum safe distance","Traffic volume is higher than normal, expect processing delays","Anomalous bluespace activity detected [pick("along route [rand(1,100)]","in sector [rand(1,100)]")], exercise caution","Smugglers have been particularly active lately, expect increased security scans","Depots are currently experiencing a fuel shortage, expect delays and higher rates","Asteroid mining has displaced debris dangerously close to main flight lanes on route [rand(1,100)], watch for potential impactors","A [pick("fuel tanker","cargo liner","passenger liner","freighter","transport ship","mining barge","salvage trawler")] has collided with [pick("a fuel tanker","a cargo liner","a passenger liner","a freighter","a transport ship","a mining barge","a salvage trawler","a meteoroid","a cluster of space debris","an asteroid","an ice-rich comet")] near route [rand(1,100)], watch for debris and do not impede emergency service vessels","A [pick("fuel tanker","cargo liner","passenger liner","freighter","transport ship","mining barge","salvage trawler")] on route [rand(1,100)] has experienced total engine failure. Emergency response teams are en route, please observe minimum safe distances and do not impede emergency service vessels","Transit routes have been recalculated to adjust for planetary drift. Please synch your astronav computers as soon as possible to avoid delays and difficulties","[pick("Bounty hunters","System Defense officers","Mercenaries")] are currently searching for a wanted fugitive, report any sightings of suspicious activity to System Defense via channel [sdfchannel]",10;"It's space [pick("carp","shark")] breeding season. [pick("Stars","Skies","Gods","God","Goddess","Fates")] have mercy on you all","We're reading [pick("void","drive","sensor")] echoes that are consistent with illegal cloaking devices, be alert for suspicious activity in your sector") + msg("[callname], all vessels in the [using_map.starsys_name] system. Priority travel advisory follows.") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[flightwarning]. Control out.") + //Control event: warning to a specific vessel + if("pathwarning") + var/navhazard = pick("a pocket of intense radiation","a pocket of unstable gas","a debris field","a secure installation","an active combat zone","a quarantined ship","a quarantined installation","a quarantined sector","a live-fire SDF training exercise","an ongoing Search & Rescue operation","a hazardous derelict","an intense electrical storm","an intense ion storm","a shoal of space carp","a pack of space sharks","an asteroid infested with gnat hives","a protected space ray habitat","a region with anomalous bluespace activity","a rogue comet") + var/confirm = pick("Understood","Roger that","Affirmative","Our bad","Thanks for the heads up") + msg("[combined_first_name], [callname]. Your [pick("ship","vessel","starship")] is approaching [navhazard], observe minimum safe distance and adjust your heading appropriately.") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[confirm] [callname], adjusting course.","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("Your compliance is appreciated, [combined_first_name].") + //Control event: personnel report to dock + if("report_to_dock") + var/situation_type = pick("medical","security","engineering","animal control","hazmat") + msg("This is [using_map.dock_name] Tower. Would a free [situation_type] team please report to [landing_zone] immediately. This is not a drill.") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY)*10 SECONDS) + msg("Repeat, any free [situation_type] team, report to [landing_zone] immediately. This is +not+ a drill.") + //Ship event: docking request (generic) + if("dockingrequestgeneric") + var/request_type = pick(100;"generic",50;"delayed",80;"supply",30;"repair",30;"medical",30;"security") + var/appreciation = pick("Much appreciated","Many thanks","Understood","Perfect, thank you","Excellent, thanks","Great","Copy that") + var/dockingplan = pick("Starting final approach now.","Commencing landing procedures.","Autopilot engaged.","Approach vector locked in.","In the pipe, five by five.") + switch(request_type) + if("generic") + msg("[callname], [combined_first_name], [pick("stopping by","passing through")] on our way to [destname], requesting permission to [landing_short].","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[combined_first_name], [callname]. Permission granted, proceed to [landing_zone]. Follow the green lights on your way in.") + if("delayed") + var/reason = pick( + "we don't have any free [landing_type]s right now, please [pick("stand by for a couple of minutes","hold for a few minutes")]", + "you're too far away, please close to ten thousand meters","we're seeing heavy traffic around the [landing_type]s right now, please [pick("stand by for a couple of minutes","hold for a few minutes")]","ground crews are currently clearing up [pick("loose containers","a fuel spill")] to free up one of our [landing_type]s, please [pick("stand by for a couple of minutes","hold for a few minutes")]","another vessel has aerospace priority right now, please [pick("stand by for a couple of minutes","hold for a few minutes")]") + msg("[callname], [combined_first_name], [pick("stopping by","passing through")] on our way to [destname], requesting permission to [landing_short].","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[combined_first_name], [callname]. Request denied, [reason] and resubmit your request.") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("Understood, [callname].","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY)*60 SECONDS) + msg("[callname], [combined_first_name], resubmitting [landing_move].","[comm_first_name]") + sleep (5 SECONDS) + msg("[combined_first_name], [callname]. Everything appears to be in order now, permission granted, proceed to [landing_zone]. Follow the green lights on your way in.") + if("supply") + var/preintensifier = pick(75;"getting ",75;"running ","",15;"like, ") //whitespace hack, sometimes they'll add a preintensifier, but not always + var/intensifier = pick("very","pretty","critically","extremely","dangerously","desperately","kinda","a little","a bit","rather","sorta") + var/low_thing = pick("ammunition","munitions","clean water","food","spare parts","medical supplies","reaction mass","gas","hydrogen fuel","phoron fuel","fuel",10;"tea",10;"coffee",10;"soda",10;"pizza",10;"beer",10;"booze",10;"vodka",10;"snacks") //low chance of a less serious shortage + appreciation = pick("Much appreciated","Many thanks","Understood","You're a lifesaver","We owe you one","I owe you one","Perfect, thank you") + msg("[callname], [combined_first_name]. We're [preintensifier][intensifier] low on [low_thing]. Requesting permission to [landing_short] for resupply.","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[combined_first_name], [callname]. Permission granted, proceed to [landing_zone]. Follow the green lights on your way in.") + if("repair") + var/damagestate = pick("We've experienced some hull damage","We're suffering minor system malfunctions","We're having some [pick("weird","strange","odd","unusual")] technical issues","We're overdue maintenance","We have several minor space debris impacts","We've got some battle damage here","Our reactor output is fluctuating","We're hearing some weird noises from the [pick("engines","pipes","ducting","HVAC")]","We just got caught in a solar flare","We had a close call with an asteroid","We have a [pick("minor","mild","major","serious")] [pick("fuel","water","oxygen","gas")] leak","We have depressurized compartments","We have a hull breach","One of our [pick("hydraulic","pneumatic")] systems has depressurized","Our [pick("life support","water recycling system","navcomp","shield generator","reaction control system","auto-repair system","repair drone controller","artificial gravity generator","environmental control system","master control system")] is [pick("failing","acting up","on the fritz","shorting out","glitching out","freaking out","malfunctioning")]") + appreciation = pick("Much appreciated","Many thanks","Understood","You're a lifesaver","We owe you one","I owe you one","Perfect, thank you") + msg("[callname], [combined_first_name]. [damagestate]. Requesting permission to [landing_short] for repairs and maintenance.","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[combined_first_name], [callname]. Permission granted, proceed to [landing_zone]. Follow the green lights on your way in. Repair crews are standing by, contact them on channel [engchannel].") + if("medical") + var/species = pick("human","humanoid","unathi","lizard","tajaran","feline","skrell","akula","promethean","sergal","synthetic","robotic","teshari","avian","vulpkanin","canine","vox","zorren","hybrid","mixed-species","vox","grey","alien",5;"catslug") + var/medicalstate = pick("multiple casualties","several cases of radiation sickness","an unknown virus","an unknown infection","a critically injured VIP","sick refugees","multiple cases of food poisoning","injured [pick("","[species] ")]passengers","sick [pick("","[species] ")]passengers","injured engineers","wounded marines","a delicate situation","a pregnant passenger","injured [pick("","[species] ")]castaways","recovered escape pods","unknown escape pods") + appreciation = pick("Much appreciated","Many thanks","Understood","You're a lifesaver","We owe you one","I owe you one","Perfect, thank you") + msg("[callname], [combined_first_name]. We have [medicalstate] on board. Requesting permission to [landing_short] for medical assistance.","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[combined_first_name], [callname]. Permission granted, proceed to [landing_zone]. Follow the green lights on your way in. Medtechs are standing by, contact them on channel [medchannel].") + if("security") + var/species = pick("human","humanoid","unathi","lizard","tajaran","feline","skrell","akula","promethean","sergal","synthetic","robotic","teshari","avian","vulpkanin","canine","vox","zorren","hybrid","mixed-species","vox","grey","alien",5;"catslug") + var/securitystate = pick("several [species] convicts","a captured pirate","a wanted criminal","[species] stowaways","incompetent [species] shipjackers","a delicate situation","a disorderly passenger","disorderly [species] passengers","ex-mutineers","stolen goods","[pick("a container","containers")] full of [pick("confiscated contraband","stolen goods")]",5;"a very lost shadekin",10;"some kinda big wooly critter",15;"a buncha lost-looking uh... cat... slug... |things?|",10;"a raging case of [pick("spiders","crabs","geese","gnats","sharks","carp")]") //gotta have a little something to lighten the mood now and then + appreciation = pick("Much appreciated","Many thanks","Understood","You're a lifesaver","Perfect, thank you") + msg("[callname], [combined_first_name]. We have [securitystate] on board and require security assistance. Requesting permission to [landing_short].","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[combined_first_name], [callname]. Permission granted, proceed to [landing_zone]. Follow the green lights on your way in. Security teams are standing by, contact them on channel [secchannel].") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[appreciation], [callname]. [dockingplan]","[comm_first_name]") + //Ship event: undocking request + if("undockingrequest") + var/request_type = pick(150;"generic",50;"delayed") + var/takeoff = pick("depart","launch") + var/safetravels = pick("Fly safe out there","Good luck","Safe travels","See you next week","Godspeed","Stars guide you") + var/thanks = pick("Appreciated","Thanks","Don't worry about us","We'll be fine","You too","So long") + msg("[callname], [combined_first_name], requesting permission to [takeoff] from [landing_zone].","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + switch(request_type) + if("generic") + msg("[combined_first_name], [callname]. Permission granted. Docking clamps released. [safetravels].") + if("delayed") + var/denialreason = pick("Docking clamp malfunction, please hold","Fuel lines have not been secured","Ground crew are still on the pad","Loose containers are on the pad","Exhaust deflectors are not yet in position, please hold","There's heavy traffic right now, it's not safe for your vessel to launch","Another vessel has aerospace priority at this moment","Port officials are still aboard") + msg("Negative [combined_first_name], request denied. [denialreason]. Try again in a few minutes.") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY)*60 SECONDS) + msg("[callname], [combined_first_name], re-requesting permission to depart from [landing_zone].","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[combined_first_name], [callname]. Everything appears to be in order now, permission granted. Docking clamps released. [safetravels].") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[thanks], [callname]. This is [combined_first_name] setting course for [destname], out.","[comm_first_name]") + //SDF event: starting patrol + if("sdfbeginpatrol") + var/safetravels = pick("Fly safe out there","Good luck","Good hunting","Safe travels","Godspeed","Stars guide you") + var/thanks = pick("Appreciated","Thanks","Don't worry about us","We'll be fine","You too") + var/takeoff = pick("depart","launch","take off","dust off") + msg("[callname], [combined_first_name], requesting permission to [takeoff] from [landing_zone] to begin system patrol.","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[combined_first_name], [callname]. Permission granted. Docking clamps released. [safetravels].") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[thanks], [callname]. This is [combined_first_name] beginning system patrol, out.","[comm_first_name]") + //Ship event: undocking request (denied) + if("undockingdenied") + var/takeoff = pick("depart","launch") + var/denialreason = pick("Security is requesting a full cargo inspection","Your ship has been impounded for multiple [pick("security","safety")] violations","Your ship is currently under quarantine lockdown","We have reason to believe there's an issue with your papers","Security personnel are currently searching for a fugitive and have ordered all outbound ships remain grounded until further notice") + msg("[callname], [combined_first_name], requesting permission to [takeoff] from [landing_zone].","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("Negative [combined_first_name], request denied. [denialreason].") + if("slogan") + msg("The following is a sponsored message from [name].","Facility PA") + sleep(5 SECONDS) + msg("[slogan]","Facility PA") + else //time for generic message + msg("[callname], [combined_first_name] on [mission] [pick(mission_noun)] to [destname], requesting [request].","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[combined_first_name], [callname], [response].") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[callname], [yes ? "thank you" : "understood"], out.","[comm_first_name]") + return //oops, forgot to restore this +/* //OLD BLOCK, for reference //Ship sends request to ATC - msg(full_request,"[prefix] [shipname]") - sleep(5 SECONDS) + msg(full_request,"[comm_first_name]" + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) //ATC sends response to ship msg(full_response) - sleep(5 SECONDS) + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) //Ship sends response to ATC - msg(full_closure,"[prefix] [shipname]") - return \ No newline at end of file + msg(full_closure,"[comm_first_name]") + return +*/ + +#undef MIN_MSG_DELAY +#undef MAX_MSG_DELAY diff --git a/code/modules/busy_space/organizations.dm b/code/modules/busy_space/organizations.dm index 6882c93e007..002a79e6ba0 100644 --- a/code/modules/busy_space/organizations.dm +++ b/code/modules/busy_space/organizations.dm @@ -1,4 +1,4 @@ -//Datums for different companies that can be used by busy_space +//Datums for different factions that can be used by busy_space /datum/lore/organization var/name = "" // Organization's name var/short_name = "" // Organization's shortname (NanoTrasen for "NanoTrasen Incorporated") @@ -10,52 +10,455 @@ var/motto = "" // A motto/jingle/whatever, if they have one. Currently unused. var/list/ship_prefixes = list() //Some might have more than one! Like NanoTrasen. Value is the mission they perform, e.g. ("ABC" = "mission desc") + var/complex_tasks = FALSE //enables complex task generation + + //how does it work? simple: if you have complex tasks enabled, it goes; PREFIX + TASK_TYPE + FLIGHT_TYPE + //e.g. NDV = Asset Protection + Patrol + Flight + //this overrides the standard PREFIX = TASK logic and allows you to use the ship prefix for subfactions (warbands, religions, whatever) within a faction, and define task_types at the faction level + //task_types are picked from completely at random in air_traffic.dm, much like flight_types, so be careful not to potentially create combos that make no sense! + + var/list/task_types = list( + "logistics", + "patrol", + "training", + "peacekeeping", + "escort", + "search and rescue" + ) + var/list/flight_types = list( //operations and flights - we can override this if we want to remove the military-sounding ones or add our own + "flight", + "mission", + "route", + "assignment" + ) var/list/ship_names = list( //Names of spaceships. This is a mostly generic list that all the other organizations inherit from if they don't have anything better. - "Kestrel", - "Beacon", - "Signal", - "Freedom", - "Glory", - "Axiom", - "Eternal", - "Harmony", - "Light", - "Discovery", - "Endeavour", - "Explorer", - "Swift", - "Dragonfly", - "Ascendant", - "Tenacious", - "Pioneer", - "Hawk", - "Haste", - "Radiant", - "Luminous", - "Princess of Sol", - "King of the Mountain", - "Words and Changes", - "Katerina's Silhouette", - "Castle of Water", - "Jade Leviathan", - "Sword of Destiny", - "Ishtar's Grace" - ) - var/list/destination_names = list() //Names of static holdings that the organization's ships visit regularly. - var/autogenerate_destination_names = TRUE + "Scout", + "Beacon", + "Signal", + "Freedom", + "Liberty", + "Enterprise", + "Glory", + "Axiom", + "Eternal", + "Harmony", + "Light", + "Discovery", + "Endeavour", + "Explorer", + "Swift", + "Dragonfly", + "Ascendant", + "Tenacious", + "Pioneer", + "Surveyor", + "Haste", + "Radiant", + "Luminous", + "Calypso", + "Eclipse", + "Maverick", + "Polaris", + "Northstar", + "Orion", + "Odyssey", + "Relentless", + "Valor", + "Zodiac", + "Avenger", + "Defiant", + "Dauntless", + "Interceptor", + "Providence", + "Thunderchild", + "Defender", + "Ranger", + "River", + "Jubilee", + "Gumdrop", + "Spider", + "Columbia", + "Eagle", + "Intrepid", + "Odyssey", + "Aquarius", + "Kitty Hawk", + "Antares", + "Falcon", + "Casper", + "Orion", + "Columbia", + "Atlantis", + "Enterprise", + "Challenger", + "Pathfinder", + "Buran", + "Aldrin", + "Armstrong", + "Tranquility", + "Nostrodamus", + "Soyuz", + "Cosmos", + "Sputnik", + "Belka", + "Strelka", + "Gagarin", + "Shepard", + "Tereshkova", + "Leonov", + "Vostok", + "Apollo", + "Mir", + "Titan", + "Serenity", + "Andiamo", + "Aurora", + "Phoenix", + "Wayward Phoenix", + "Lucky", + "Raven", + "Valkyrie", + "Halcyon", + "Nakatomi", + "Cutlass", + "Unicorn", + "Sheepdog", + "Arcadia", + "Gigantic", + "Goliath", + "Pequod", + "Poseidon", + "Venture", + "Evergreen", + "Natal", + "Maru", + "Djinn", + "Witch", + "Wolf", + "Lone Star", + "Grey Fox", + "Dutchman", + "Sultana", + "Siren", + "Venus", + "Anastasia", + "Rasputin", + "Stride", + "Suzaku", + "Hathor", + "Dream", + "Gaia", + "Ibis", + "Progress", + "Olympic", + "Venture", + "Brazil", + "Tiger", + "Hedgehog", + "Potemkin", + "Fountainhead", + "Sinbad", + "Esteban", + "Mumbai", + "Shanghai", + "Madagascar", + "Kampala", + "Bangkok", + "Emerald", + "Guo Hong", + "Shun Kai", + "Fu Xing", + "Zhenyang", + "Da Qing", + "Rascal", + "Flamingo", + "Jackal", + "Andromeda", + "Ferryman", + "Panchatantra", + "Nunda", + "Fortune", + "New Dawn", + "Fionn MacCool", + "Red Bird", + "Star Rat", + "Cwn Annwn", + "Morning Swan", + "Black Cat", + "Challenger", + "Freshly Baked", + "Citrus Punch", + "Made With Real Fruit", + "Big D", + "Shaken, Not Stirred", + "Stirred, Not Shaken", + "Neither Shaken Nor Stirred", + "Shaken And Stirred", + "Freedom Ain't Free", + "Pay It Forward", + "All Expenses Paid", + "Tanstaafl", /* There Ain't No Such Thing As A Free Lunch */ + "Hold My Beer", + "Das Bootleg", + "Unplanned Lithobraking Incident", + "Unknown Accelerant", + "Mildly Flammable", + "Wave Goodbye", + "Hugh Mann", + "Savage Chicken", + "Homestead", + "Peacekeeper", + "Eminent Domain", + "Clear Sky", + "Midnight Light", + "Daedalus", + "Redline", + "Wild Dog", + "Black Eagle", + "Sovereign Citizen", + "Event Horizon", + "Monte Carlo", + "Ace of Spades", + "Dead Man's Hand", + "Big Blind", + "Royal Flush", + "Full House", + "Wildcard", + "Wild Card", + "Blackjack", + "Three of a Kind", + "Three's Company", + "Know When To Fold 'Em", + "Icebreaker", + "Megalith", + "Agnus Dei", + "Picasso", + "Spirit of Alliance", + "Surrounded By Idiots", + "Honk If You Can Read This", + "Personal Space Invader", + "Sufficient Velocity", + "Credible Deniability", + "Crucible", + "Nostromo", + "Dance Like You Mean It", + "Birthday Suit", + "Sinking Feeling", + "No Refunds", + "No Solicitors", + "Dream of Independence", + "Tunguska", + "Kugelblitz", + "Supermassive Black Hole", + "Knight of Cydonia", + "Guiding Light", + "Unnatural Selection", + "Stockholm Syndrome", + "False King", + "Bombshell", + "Walking Disaster", + "Two-Body Problem", + "Instrument of Violence", + "Entropic Whisper", + "Cash and Prizes", + "Crash Course", + "Wheel of Fortune", + "Little Light", + "Leave Only Footprints", + "Dead Man's Tale", + "The Next Big Thing", + "Some Disassembly Required", + "Some Assembly Required", + "Just Read The Manual", + "Spoiler Alert", + "Bad News", + "Lucky Pants", + "No Hard Feelings", + "Waste Not, Want Not", + "Beowulf", + "Inheritor", + "Anthropocene Denier", + "Bonaventure", + "Nothing Ventured", + "Go West", + "Once Upon A Time", + "Don't Worry About It", + "Bygones Be", + "Just Capital", + "Delight", + "Valdez", + "Pioneer", + "Antilles", + "Explorer", + "Number Crunch", + "Until Dawn", + "Pistols at Dawn", + "Right Side", + "Merchant Prince", + "Merchant Princess", + "Merchant King", + "Merchant Queen", + "Merchant's Pride", + "Golden Son", + "Trade Law", + "Onward", + "Wanderer", + "Rocky Start", + "Downtown", + "Risk Reward", + "Culture Shock", + "Ambition", + "Vigor", + "Vigilant", + "Courageous", + "Profit Vanguard", + "Free Market", + "Market Speculation", + "Banker's Dozen", + "Adventure", + "Profiteer", + "Wrong Side", + "Final Notice", + "Tax Man", + "Ferryman", + "Hangman", + "Cattlecar", + "Runtime Error", + "For Sale, Cheap", + "Starfarer", + "Drifter", + "Windward", + "Hostile Takeover", + "Tax Loop", + "Fortune's Fancy", + "Fortuna", + "Inside Outside", + "Galley", + "Constellation", + "Dromedarii", + "Golden Hand", + "White Company", + "Haggler", + "Rendezvous", + "Two For Flinching", + "Uninvited Guest", + "Iconoclast", + "Bluespace Tourist" + ) + var/list/added_ship_names = list() //List of ship names to add to the above, rather than wholesale replacing + var/list/destination_names = list() //Names of static holdings that the organization's ships visit + var/append_ship_names = FALSE + + var/org_type = "neutral" //Valid options are "neutral", "corporate", "government", "system defense", "military, "smuggler", & "pirate" + var/autogenerate_destination_names = TRUE //Pad the destination lists with some extra random ones? see the proc below for info on that + + var/slogans = list("This is a placeholder slogan, ding dong!") //Advertising slogans. Who doesn't want more obnoxiousness on the radio? Picked at random each time the slogan event fires. This has a placeholder so it doesn't runtime on trying to draw from a 0-length list in the event that new corps are added without full support. /datum/lore/organization/New() ..() + + if(append_ship_names) + ship_names.Add(added_ship_names) + if(autogenerate_destination_names) // Lets pad out the destination names. - var/i = rand(6, 10) - var/list/star_names = list( - "Sol", "Alpha Centauri", "Tau Ceti", "Zhu Que", "Oasis", "Vir", "Gavel", "Ganesha", - "Saint Columbia", "Altair", "Sidhe", "New Ohio", "Parvati", "Mahi-Mahi", "Nyx", "New Seoul", - "Kess-Gendar", "Raphael", "Phact", "Altair", "El", "Eutopia", "Qerr'valis", "Qerrna-Lakirr", "Rarkajar", "Thoth", "Jahan's Post", "Kauq'xum", "Silk", "New Singapore", "Stove", "Viola", "Love", "Isavau's Gamble" ) - var/list/destination_types = list("dockyard", "station", "vessel", "waystation", "telecommunications satellite", "spaceport", "anomaly", "colony", "outpost") + var/i = rand(20, 30) //significantly increased from original values due to the greater length of rounds + + //known planets and exoplanets, plus fictional ones + var/list/planets = list( + /* real planets in our solar system */ + "Earth","Luna","Mars","Titan","Europa", + /* named exoplanets, god knows if they're habitable */ + "Spe","Arion","Arkas","Orbitar","Dimidium", + "Galileo","Brahe","Lipperhey","Janssen","Harriot", + "Aegir","Amateru","Dagon","Meztli","Smertrios", + "Hypatia","Quijote","Dulcinea","Rocinante","Sancho", + "Thestias","Saffar","Samh","Majriti","Fortitudo", + "Draugr","Arber","Tassili","Madriu","Naqaya", + "Bocaprins","Yanyan","Sissi","Tondra","Eburonia", + "Drukyul","Yvaga","Naron","Guarani","Mastika", + "Bendida","Nakanbe","Awasis","Caleuche","Wangshu", + "Melquiades","Pipitea","Ditso","Asye","Veles", + "Finlay","Onasilos","Makropolus","Surt","Boinayel", + "Eyeke","Cayahuanca","Hamarik","Abol","Hiisi", + "Belisama","Mintome","Neri","Toge","Iolaus", + "Koyopa","Independence","Ixbalanque","Magor","Fold", + "Santamasa","Noifasui","Kavian","Babylonia","Bran", + "Alef","Lete","Chura","Wadirum","Buru", + "Umbaasaa","Vytis","Peitruss","Trimobe","Baiduri", + "Ggantija","Cuptor","Xolotl","Isli","Hairu", + "Bagan","Laligurans","Kereru","Equiano","Albmi", + "Perwana","Pollera","Tumearandu","Sumajmajta","Haik", + "Leklsullun","Pirx","Viriato","Aumatex","Negoiu", + "Teberda","Dopere","Vlasina","Viculus","Kralomoc", + "Iztok","Krotoa","Halla","Riosar","Samagiya", + "Isagel","Eiger","Ugarit","Sazum","Maeping", + "Agouto","Ramajay","Khomsa","Gokturk","Barajeel", + "Cruinlagh","Mulchatria","Ibirapita","Madalitso", + /* fictional planets from polarislore */ + "Sif","Kara","Rota","Root","Toledo, New Ohio", + "Meralar","Adhomai","Binma","Kishar","Anshar", + "Nisp","Elysium","Sophia, El","New Kyoto", + "Angessa's Pearl, Exalt's Light","Oasis","Love" + ) + + //existing systems, pruned for duplicates, includes systems that contain suspected or confirmed exoplanets + var/list/systems = list( + /* real solar systems, specifically ones that have possible planets */ + "Sol","Alpha Centauri","Sirius","Vega","Tau Ceti", + "Altair","Epsilon Eridani","Fomalhaut","Mu Arae","Pollux", + "Wolf 359","Ross 128","Gliese 1061","Luyten's Star","Teegarden's Star", + "Kapteyn","Wolf 1061","Aldebaran","Proxima Centauri","Kepler-90", + "HD 10180","HR 8832","TRAPPIST-1","55 Cancri","Gliese 876", + "Upsilon Andromidae","Mu Arae","WASP-47","82 G. Eridani","Rho Coronae Borealis", + "Pi Mensae","Beta Pictoris","Gamma Librae","Gliese 667 C","LHS 1140", + "Phact", + /* fictional systems from Polaris and other sources*/ + "Zhu Que","Oasis","Vir","Gavel","Ganesha", + "Sidhe","New Ohio","Parvati","Mahi-Mahi","Nyx", + "New Seoul","Kess-Gendar","Raphael","El","Eutopia", + /* skrell */ + "Qerr'valis","Harr'Qak","Qerrna-Lakirr","Kauq'xum", + /* tajaran */ + "Rarkajar","Arrakthiir","Mesomori", + /* other */ + "Vazzend","Thoth","Jahan's Post","Silk","New Singapore", + "Stove","Viola","Isavau's Gamble","Samsara", + "Vounna","Relan","Whythe","Exalt's Light","Van Zandt", + /* generic territories */ + "deep space", + "Commonwealth space", + "Commonwealth territory", + "ArCon space", + "ArCon territory", + "independent space", + "a demilitarized zone", + "Elysian space", + "Elysian territory", + "Salthan space", + "Salthan territory", + "Skrell space", + "Skrell territories", + "Tajaran space", + "Hegemonic space", + "Hegemonic territory" + ) + var/list/owners = list("a government", "a civilian", "a corporate", "a private", "an independent", "a military") + var/list/purpose = list("an exploration", "a trade", "a research", "a survey", "a military", "a mercenary", "a corporate", "a civilian", "an independent") + + //unique or special locations + var/list/unique = list("the Jovian subcluster","Isavau International Spaceport","Terminus Station","Casini's Reach","the Shelf flotilla","the Ue'Orsi flotilla","|Heaven| Orbital Complex, Alpha Centauri","the |Saint Columbia| Complex") + + var/list/orbitals = list("[pick(owners)] shipyard","[pick(owners)] dockyard","[pick(owners)] station","[pick(owners)] vessel","a habitat","[pick(owners)] refinery","[pick(owners)] research facility","an industrial platform","[pick(owners)] installation") + var/list/surface = list("a colony","a settlement","a trade outpost","[pick(owners)] supply depot","a fuel depot","[pick(owners)] installation","[pick(owners)] research facility") + var/list/deepspace = list("[pick(owners)] asteroid base","a freeport","[pick(owners)] shipyard","[pick(owners)] dockyard","[pick(owners)] station","[pick(owners)] vessel","[pick(owners)] habitat","a trade outpost","[pick(owners)] supply depot","a fuel depot","[pick(owners)] installation","[pick(owners)] research facility") + var/list/frontier = list("[pick(purpose)] [pick("ship","vessel","outpost")]","a waystation","an outpost","a settlement","a colony") + + //patterns; orbital ("an x orbiting y"), surface ("an x on y"), deep space ("an x in y"), the frontier ("an x on the frontier") + //biased towards inhabited space sites while(i) - destination_names.Add("a [pick(destination_types)] in [pick(star_names)]") + destination_names.Add("[pick("[pick(orbitals)] orbiting [pick(planets)]","[pick(surface)] on [pick(planets)]","[pick(deepspace)] in [pick(systems)]",20;"[pick(unique)]",30;"[pick(frontier)] on the frontier")]") i-- + //extensive rework for a much greater degree of variety compared to the old system, lists now include known exoplanets and star systems currently suspected or confirmed to have exoplanets ////////////////////////////////////////////////////////////////////////////////// @@ -64,67 +467,82 @@ name = "NanoTrasen Incorporated" short_name = "NanoTrasen" acronym = "NT" - desc = "NanoTrasen is one of the foremost research and development companies in SolGov space. \ + desc = "NanoTrasen is one of the foremost research and development companies in Commonwealth space. \ Originally focused on consumer products, their swift move into the field of Phoron has lead to \ them being the foremost experts on the substance and its uses. In the modern day, NanoTrasen prides \ itself on being an early adopter to as many new technologies as possible, often offering the newest \ products to their employees. In an effort to combat complaints about being 'guinea pigs', Nanotrasen \ - also offers one of the most comprehensive medical plans in SolGov space, up to and including cloning \ - and therapy.\ + also offers one of the most comprehensive medical plans in Commonwealth space, up to and including cloning, \ + resleeving, and therapy.\

    \ NT's most well known products are its phoron based creations, especially those used in Cryotherapy. \ - It also boasts an prosthetic line, which is provided to its employees as needed, and is used as an incentive \ - for newly tested posibrains to remain with the company." + It also boasts a prosthetic line, which is provided to its employees as needed, and is used as an incentive \ + for newly tested posibrains to remain with the company. \ +

    \ + NT's ships are named for famous scientists." history = "" // To be written someday. work = "research giant" headquarters = "Luna, Sol" motto = "" - ship_prefixes = list("NSV" = "exploration", "NTV" = "hauling", "NDV" = "patrol", "NRV" = "emergency response", "NDV" = "asset protection") + org_type = "corporate" + slogans = list( + "NanoTrasen - Phoron Makes The Galaxy Go 'Round.", + "NanoTrasen - Join for the Medical, stay for the Company.", + "NanoTrasen - Advancing Humanity." + ) + ship_prefixes = list("NTV" = "a general operations", "NEV" = "an exploration", "NGV" = "a hauling", "NDV" = "a patrol", "NRV" = "an emergency response", "NDV" = "an asset protection") //Scientist naming scheme ship_names = list( - "Bardeen", - "Einstein", - "Feynman", - "Sagan", - "Tyson", - "Galilei", - "Jans", - "Fhriede", - "Franklin", - "Tesla", - "Curie", - "Darwin", - "Newton", - "Pasteur", - "Bell", - "Mendel", - "Kepler", - "Edision", - "Cavendish", - "Nye", - "Hawking", - "Aristotle", - "Von Braun", - "Kaku", - "Oppenheimer", - "Renwick", - "Hubble", - "Alcubierre", - "Robineau", - "Glass" - ) + "Bardeen", + "Einstein", + "Feynman", + "Sagan", + "Tyson", + "Galilei", + "Jans", + "Fhriede", + "Franklin", + "Tesla", + "Curie", + "Darwin", + "Newton", + "Pasteur", + "Bell", + "Mendel", + "Kepler", + "Edison", + "Cavendish", + "Nye", + "Hawking", + "Aristotle", + "Kaku", + "Oppenheimer", + "Renwick", + "Hubble", + "Alcubierre", + "Glass" + ) // Note that the current station being used will be pruned from this list upon being instantiated destination_names = list( - "NSS Exodus in Nyx", - "NCS Northern Star in Vir", - //"NLS Southern Cross in Vir", - "NAS Vir Central Command", - "a dockyard orbiting Sif", - "an asteroid orbiting Kara", - "an asteroid orbiting Rota", - "Vir Interstellar Spaceport" - ) + "NT HQ on Luna", + "NSS Exodus in Nyx", + "NCS Northern Star in Vir", + "NLS Southern Cross in Vir", + "NAS Vir Central Command", + "NAB Smythside Central Headquarters in Sol", + "NAS Zeus orbiting Virgo-Prime", + "NIB Posideon in Alpha Centauri", + "NTB Anur on Virgo-Prime", + "NSB Adephagia in Virgo-Erigone", + "NSB Rascal's Pass in Virgo-Erigone", + "NRV |Stellar Delight| in Virgo-Erigone", + "NRV |Von Braun| in Virgo-Erigone", + "a phoron refinery in Vilous", + "a dockyard orbiting Virgo-Prime", + "an asteroid orbiting Virgo 3", + "Vir Interstellar Spaceport" + ) /datum/lore/organization/tsc/nanotrasen/New() ..() @@ -134,125 +552,260 @@ if(string_to_test in destination_names) destination_names.Remove(string_to_test) - - /datum/lore/organization/tsc/hephaestus name = "Hephaestus Industries" short_name = "Hephaestus" acronym = "HI" - desc = "Hephaestus Industries is the largest supplier of arms, ammunition, and small millitary vehicles in Sol space. \ + desc = "Hephaestus Industries is the largest supplier of arms, ammunition, and small millitary vehicles in Commonwealth space. \ Hephaestus products have a reputation for reliability, and the corporation itself has a noted tendency to stay removed \ from corporate politics. They enforce their neutrality with the help of a fairly large asset-protection contingent which \ - prevents any contracting polities from using their own materiel against them. SolGov itself is one of Hephaestus' largest \ - bulk contractors owing to the above factors." + prevents any contracting polities from using their own materiel against them. The Commonwealth itself is one of Hephaestus' largest \ + bulk contractors owing to the above factors. \ +

    \ + Hephaestus' fleet uses identifiers from various deities and spirits of war from Earth's various belief systems." history = "" work = "arms manufacturer" headquarters = "Luna, Sol" motto = "" - ship_prefixes = list("HTV" = "freight", "HLV" = "munitions resupply", "HDV" = "asset protection", "HDV" = "preemptive deployment") - //War God/Soldier Theme - ship_names = list( - "Ares", - "Athena", - "Grant", - "Custer", - "Puller", - "Nike", - "Bellona", - "Leonides", - "Bast", - "Jackson", - "Lee", - "Annan", - "Chi Yu", - "Shiva", - "Tyr", - "Nobunaga", - "Xerxes", - "Alexander", - "McArthur", - "Samson", - "Oya", - "Nemain", - "Caesar", - "Augustus", - "Sekhmet", - "Ku", - "Indra", - "Innana", - "Ishtar", - "Qamaits", - "'Oro", - ) + org_type = "corporate" + slogans = list( + "+Hephaestus Arms!+ - When it comes to +personal protection+, +nobody+ does it +better+.", + "+Hephaestus Arms!+ - Peace through +Superior Firepower+.", + "+Hephaestus Arms!+ - Don't be caught +firing blanks+.", + "+Hephaestus Arms!+ - If in doubt, give 'em +both barrels!+" + ) + ship_prefixes = list("HCV" = "a general operations", "HTV" = "a freight", "HLV" = "a munitions resupply", "HDV" = "an asset protection", "HDV" = "a preemptive deployment") + //War God Theme, updated + append_ship_names = TRUE + added_ship_names = list( + "Anhur", + "Bast", + "Horus", + "Maahes", + "Neith", + "Pakhet", + "Sekhmet", + "Set", + "Sobek", + "Maher", + "Kokou", + "Ogoun", + "Oya", + "Kovas", + "Agrona", + "Andraste", + "Anann", + "Badb", + "Belatucadros", + "Cicolluis", + "Macha", + "Neit", + "Nemain", + "Rudianos", + "Chiyou", + "Guan Yu", + "Jinzha", + "Nezha", + "Zhao Lang", + "Laran", + "Menrva", + "Tyr", + "Woden", + "Freya", + "Odin", + "Ullr", + "Ares", + "Deimos", + "Enyo", + "Kratos", + "Kartikeya", + "Mangala", + "Parvati", + "Shiva", + "Vishnu", + "Shaushka", + "Wurrukatte", + "Hadur", + "Futsunushi", + "Sarutahiko", + "Takemikazuchi", + "Neto", + "Agasaya", + "Belus", + "Ishtar", + "Shala", + "Huitzilopochtli", + "Tlaloc", + "Xipe-Totec", + "Qamaits", + "'Oro", + "Rongo", + "Ku", + "Pele", + "Maru", + "Tumatauenga", + "Bellona", + "Juno", + "Mars", + "Minerva", + "Victoria", + "Anat", + "Astarte", + "Perun", + "Cao Lo" + ) destination_names = list( - "a SolGov dockyard on Luna", - "a Fleet outpost in the Almach Rim", - "a Fleet outpost on the Moghes border" - ) + "our headquarters on Luna", + "a Commonwealth dockyard on Luna", + "a Fleet outpost in the Almach Rim", + "a Fleet outpost on the Moghes border" + ) /datum/lore/organization/tsc/vey_med name = "Vey-Medical" //The Wiki displays them as Vey-Medical. short_name = "Vey-Med" acronym = "VM" - desc = "Vey-Med is one of the newer TSCs on the block and is notable for being largely owned and opperated by Skrell. \ + desc = "Vey-Med is one of the newer TSCs on the block and is notable for being largely owned and operated by Skrell. \ Despite the suspicion and prejudice leveled at them for their alien origin, Vey-Med has obtained market dominance in \ - the sale of medical equipment-- from surgical tools to large medical devices to the Oddyseus trauma response mecha \ + the sale of medical equipment-- from surgical tools to large medical devices to the Odysseus trauma response mecha \ and everything in between. Their equipment tends to be top-of-the-line, most obviously shown by their incredibly \ - human-like FBP designs. Vey's rise to stardom came from their introduction of ressurective cloning, although in \ + human-like FBP designs. Vey's rise to stardom came from their introduction of resurrective cloning, although in \ recent years they've been forced to diversify as their patents expired and NanoTrasen-made medications became \ - essential to modern cloning." + essential to modern cloning and resleeving procedures. \ +

    \ + For reasons known only to the board, Vey-Med's ship names seem to follow the same naming pattern as the Dionae use." history = "" work = "medical equipment supplier" headquarters = "Toledo, New Ohio" motto = "" - ship_prefixes = list("VTV" = "transportation", "VMV" = "medical resupply", "VSV" = "research mission", "VRV" = "emergency medical support") - // Diona names - ship_names = list( - "Wind That Stirs The Waves", - "Sustained Note Of Metal", - "Bright Flash Reflecting Off Glass", - "Veil Of Mist Concealing The Rock", - "Thin Threads Intertwined", - "Clouds Drifting Amid Storm", - "Loud Note And Breaking", - "Endless Vistas Expanding Before The Void", - "Fire Blown Out By Wind", - "Star That Fades From View", - "Eyes Which Turn Inwards", - "Joy Without Which The World Would Come Undone", - "A Thousand Thousand Planets Dangling From Branches", - "Light Streaming Through Interminable Branches", - "Smoke Brought Up From A Terrible Fire", - "Light of Qerr'Valis", - "King Xae'uoque", - "Memory of Kel'xi", - "Xi'Kroo's Herald" - ) + org_type = "corporate" + slogans = list( + "Vey-Medical. Medical care you can trust.", + "Vey-Medical. Only the finest in surgical equipment.", + "Vey-Medical. Because your patients deserve the best." + ) + ship_prefixes = list("VMV" = "a general operations", "VTV" = "a transportation", "VHV" = "a medical resupply", "VSV" = "a research", "VRV" = "an emergency medical support") + // Diona names, mostly + append_ship_names = TRUE + added_ship_names = list( + "Wind That Stirs The Waves", + "Sustained Note Of Metal", + "Bright Flash Reflecting Off Glass", + "Veil Of Mist Concealing The Rock", + "Thin Threads Intertwined", + "Clouds Drifting Amid Storm", + "Loud Note And Breaking", + "Endless Vistas Expanding Before The Void", + "Fire Blown Out By Wind", + "Star That Fades From View", + "Eyes Which Turn Inwards", + "Still Water Upon An Endless Shore", + "Sunlight Glitters Upon Tranquil Sands", + "Growth Within The Darkest Abyss", + "Joy Without Which The World Would Come Undone", + "A Thousand Thousand Planets Dangling From Branches", + "Light Streaming Through Interminable Branches", + "Smoke Brought Up From A Terrible Fire", + "Light of Qerr'Valis", + "King Xae'uoque", + "Memory of Kel'xi", + "Xi'Kroo's Herald" + ) destination_names = list( - "a research facility in Samsara", - "a SDTF near Ue-Orsi", - "a sapientarian mission in the Almach Rim" - ) + "our headquarters on Toledo, New Ohio", + "a research facility in Samsara", + "a sapientarian mission in the Almach Rim" + ) /datum/lore/organization/tsc/zeng_hu name = "Zeng-Hu Pharmaceuticals" short_name = "Zeng-Hu" acronym = "ZH" desc = "Zeng-Hu is an old TSC, based in the Sol system. Until the discovery of Phoron, Zeng-Hu maintained a stranglehold \ - on the market for medications, and many household names are patentted by Zeng-Hu-- Bicaridyne, Dylovene, Tricordrizine, \ - and Dexalin all came from a Zeng-Hu medical laboratory. Zeng-Hu's fortunes have been in decline as Nanotrasen's near monopoly \ - on phoron research cuts into their R&D and Vey-Med's superior medical equipment effectively decimated their own equipment \ + on the market for medications, and many household names are patented by Zeng-Hu-- Bicaridine, Dylovene, Tricordrazine, \ + and Dexalin all came from Zeng-Hu medical laboratories. Zeng-Hu's fortunes have been in decline as Nanotrasen's near monopoly \ + on phoron and cloning research cuts into their R&D and Vey-Med's superior medical equipment effectively decimated their own equipment \ interests. The three-way rivalry between these companies for dominance in the medical field is well-known and a matter of \ - constant economic speculation." + constant economic speculation. \ +

    \ + Not to be outdone by NT in the recognition of famous figures, Zeng-Hu has adopted the names of famous physicians for their fleet." history = "" work = "pharmaceuticals company" headquarters = "Earth, Sol" motto = "" - ship_prefixes = list("ZTV" = "transportation", "ZMV" = "medical resupply") - destination_names = list() + org_type = "corporate" + slogans = list( + "Zeng-Hu! WE make the medicines that YOU need!", + "Zeng-Hu! Having acid reflux problems? Consult your local physician to see if Dylovene is right for YOU!", + "Zeng-Hu! Tired of getting left in the dust? Try Hyperzine! You'll never fall behind again!", + "Zeng-Hu! Life's aches and pains getting to you? Try Tramadol - available at any good pharmacy!" + ) + ship_prefixes = list("ZHV" = "a general operations", "ZTV" = "a transportation", "ZMV" = "a medical resupply", "ZRV" = "a medical research") + //ship names: a selection of famous physicians who advanced the cause of medicine + append_ship_names = TRUE + added_ship_names = list( + "Averroes", + "Avicenna", + "Banting", + "Billroth", + "Blackwell", + "Blalock", + "Charaka", + "Chauliac", + "Cushing", + "Domagk", + "Galen", + "Fauchard", + "Favaloro", + "Fleming", + "Fracastoro", + "Goodfellow", + "Gray", + "Harvey", + "Heimlich", + "Hippocrates", + "Hunter", + "Isselbacher", + "Jenner", + "Joslin", + "Kocher", + "Laennec", + "Lane-Claypon", + "Lister", + "Lower", + "Madhav", + "Maimonides", + "Marshall", + "Mayo", + "Meyerhof", + "Minot", + "Morton", + "Needleman", + "Nicolle", + "Osler", + "Penfield", + "Raichle", + "Ransohoff", + "Rhazes", + "Semmelweis", + "Starzl", + "Still", + "Susruta", + "Urbani", + "Vesalius", + "Vidius", + "Whipple", + "White", + "Worcestor", + "Yegorov", + "Xichun" + ) + destination_names = list( + "our headquarters on Earth" + ) /datum/lore/organization/tsc/ward_takahashi name = "Ward-Takahashi General Manufacturing Conglomerate" @@ -263,56 +816,144 @@ of the AI cores on which vital control systems are mounted, and it is this branch of their industry that has \ led to their tertiary interest in the development and sale of high-grade AI systems. Ward-Takahashi's economies \ of scale frequently steal market share from Nanotrasen's high-price products, leading to a bitter rivalry in the \ - consumer electronics market." + consumer electronics market. \ +

    \ + Ward-Takahashi are a mild anomaly in the TSC fleet-naming game, as they've opted to use stellar phenomena." history = "" work = "electronics manufacturer" headquarters = "" motto = "" - ship_prefixes = list("WFV" = "freight", "WTV" = "transport", "WDV" = "asset protection") - ship_names = list( - "Comet", - "Aurora", - "Supernova", - "Nebula", - "Galaxy", - "Starburst", - "Constellation", - "Pulsar", - "Quark", - "Void", - "Asteroid", - "Wormhole", - "Sunspots", - "Supercluster", - "Moon", - "Anomaly", - "Drift", - "Stream", - "Rift", - "Curtain" - ) - destination_names = list() + org_type = "corporate" + slogans = list( + "Takahashi Appliances - keeping your home running smoothly.", + "W-T Automotive - keeping you on time, all the time.", + "Ward-Takahashi Electronics - keeping you in touch with the galaxy." + ) + ship_prefixes = list("WTV" = "a general operations", "WTFV" = "a freight", "WTGV" = "a transport", "WTDV" = "an asset protection") + append_ship_names = TRUE + added_ship_names = list( + "Comet", + "Meteor", + "Heliosphere", + "Bolide", + "Superbolide", + "Aurora", + "Nova", + "Supernova", + "Nebula", + "Galaxy", + "Starburst", + "Constellation", + "Pulsar", + "Quark", + "Void", + "Asteroid", + "Wormhole", + "Sunspot", + "Supercluster", + "Supergiant", + "Protostar", + "Magnetar", + "Moon", + "Supermoon", + "Anomaly", + "Drift", + "Stream", + "Rift", + "Curtain", + "Planetar", + "Quasar", + "Blazar", + "Corona", + "Binary" + ) + //destination_names = list() /datum/lore/organization/tsc/bishop name = "Bishop Cybernetics" short_name = "Bishop" acronym = "BC" - desc = "Bishop's focus is on high-class, stylish cybernetics. A favorite among transhumanists (and a bête noire for \ + desc = "Bishop's focus is on high-class, stylish cybernetics. A favorite among transhumanists (and loathed by all \ bioconservatives), Bishop manufactures not only prostheses but also brain augmentation, synthetic organ replacements, \ and odds and ends like implanted wrist-watches. Their business model tends towards smaller, boutique operations, giving \ it a reputation for high price and luxury, with Bishop cyberware often rivalling Vey-Med's for cost. Bishop's reputation \ for catering towards the interests of human augmentation enthusiasts instead of positronics have earned it ire from the \ - Positronic Rights Group and puts it in ideological (but not economic) comptetition with Morpheus Cyberkinetics." + Positronic Rights Group and puts it in ideological (but not economic) competition with Morpheus Cyberkinetics. \ +

    \ + Each vessel in Bishop's sleek and stylish fleet is intended to advertise the corporate style, and bears the name of a famous mechanical engineer." history = "" work = "cybernetics and augmentation manufacturer" headquarters = "" motto = "" - ship_prefixes = list("ITV" = "transportation", "ISV" = "research exchange") //Bishop can't afford / doesn't care enough to afford its own prefixes + org_type = "corporate" + slogans = list( + "Bishop Cybernetics - only the best in personal augmentation.", + "Bishop Cybernetics - why settle for flesh when you can have metal?", + "Bishop Cybernetics - make a statement.", + "Bishop Cybernetics - embrace the purity of the machine." + ) + ship_prefixes = list("BCV" = "a general operations", "BCTV" = "a transportation", "BCSV" = "a research exchange") + //famous mechanical engineers + append_ship_names = TRUE + added_ship_names = list( + "Al-Jazari", + "Al-Muradi", + "Al-Zarqali", + "Archimedes", + "Arkwright", + "Armstrong", + "Babbage", + "Barsanti", + "Benz", + "Bessemer", + "Bramah", + "Brunel", + "Cardano", + "Cartwright", + "Cayley", + "Clement", + "Leonardo da Vinci", + "Diesel", + "Drebbel", + "Fairbairn", + "Fontana", + "Fourneyron", + "Fulton", + "Fung", + "Gantt", + "Garay", + "Hackworth", + "Harrison", + "Hornblower", + "Jacquard", + "Jendrassik", + "Leibniz", + "Ma Jun", + "Maudslay", + "Metzger", + "Murdoch", + "Nasmyth", + "Parsons", + "Rankine", + "Reynolds", + "Roberts", + "Scheutz", + "Sikorsky", + "Somerset", + "Stephenson", + "Stirling", + "Tesla", + "Vaucanson", + "Vishweswarayya", + "Wankel", + "Watt", + "Wiberg" + ) destination_names = list( - "A medical facility in Angessa's Pearl" - ) + "a medical facility in Angessa's Pearl" + ) /datum/lore/organization/tsc/morpheus name = "Morpheus Cyberkinetics" @@ -322,245 +963,2046 @@ and needs. A product of the synthetic colony of Shelf, Morpheus eschews traditional advertising to keep their prices low and \ relied on word of mouth among positronics to reach their current economic dominance. Morpheus in exchange lobbies heavily for \ positronic rights, sponsors positronics through their Jans-Fhriede test, and tends to other positronic concerns to earn them \ - the good-will of the positronics, and the ire of those who wish to exploit them." + the good-will of the positronics, and the ire of those who wish to exploit them. \ +

    \ + Morpheus' fleet bears the names of periodic elements. They initially wanted to go with complex compounds, but realized that \ + such designations would be unwieldy and inefficient for regular usage. In the event that multiple ships are working together, \ + they may use the periodic element as their flotilla designation, and a numerical identifier that corresponds with an isotope \ + of that element for individual ships." history = "" work = "cybernetics manufacturer" - headquarters = "Shelf" + headquarters = "Shelf flotilla" motto = "" - ship_prefixes = list("MTV" = "freight") - // Culture names, because Anewbe told me so. - ship_names = list( - "Nervous Energy", - "Prosthetic Conscience", - "Revisionist", - "Trade Surplus", - "Flexible Demeanour", - "Just Read The Instructions", - "Limiting Factor", - "Cargo Cult", - "Gunboat Diplomat", - "A Ship With A View", - "Cantankerous", - "I Thought He Was With You", - "Never Talk To Strangers", - "Sacrificial Victim", - "Unwitting Accomplice", - "Witting Accomplice", - "Bad For Business", - "Just Testing", - "Size Isn't Everything", - "Yawning Angel", - "Liveware Problem", - "Very Little Gravitas Indeed", - "Zero Gravitas", - "Gravitas Free Zone", - "Absolutely No You-Know-What", - "Existence Is Pain", - "I'm Walking Here", - "Screw Loose", - "Of Course I Still Love You", - "Limiting Factor", - "So Much For Subtley", - "Unfortunate Conflict Of Evidence", - "Prime Mover", - "It's One Of Ours", - "Thank You And Goodnight", - "Boo!", - "Reasonable Excuse", - "Honest Mistake", - "Appeal To Reason", - "My First Ship II", - "Hidden Income", - "Anything Legal Considered", - "New Toy", - "Me, I'm Always Counting", - "Just Five More Minutes", - "Are You Feeling It", - "Great White Snark", - "No Shirt No Shoes", - "Callsign", - "Three Ships in a Trenchcoat", - "Not Wearing Pants", - "Ridiculous Naming Convention", - "God Dammit Morpheus", - "It Seemed Like a Good Idea", - "Legs All the Way Up", - "Purchase Necessary", - "Some Assembly Required", - "Buy One Get None Free", - "BRB", - "SHIP NAME HERE", - "Questionable Ethics", - "Accept Most Substitutes", - "I Blame the Government", - "Garbled Gibberish", - "Thinking Emoji", - "Is This Thing On?", - "Make My Day", - "No Vox Here", - "Savings and Values", - "Secret Name", - "Can't Find My Keys", - "Look Over There!", - "Made You Look!", - "Take Nothing Seriously", - "It Comes In Lime, Too", - "Loot Me", - "Nothing To Declare", - "Sneaking Suspicion", - "Bass Ackwards", - "Good Things Come to Those Who Freight", - "Redundant Morality", - "Synthetic Goodwill", - "Your Ad Here", - "What Are We Plotting?", - "Set Phasers To Stun", - "Preemptive Defensive Strike", - "This Ship Is Spiders", - "Legitimate Trade Vessel", - "Please Don't Explode II", - "Get Off the Air", - "Definitely Unsinkable", - "We Didn't Do It!", - "Unrelated To That Other Ship", - "Not Reflecting The Opinons Of The Shareholders", - "Normal Ship Name", - "Define Offensive", - "Tiffany", - "My Other Ship is A Gestalt", - "NTV HTV WTV ITV ZTV" - ) + org_type = "neutral" //disables slogans for morpheus as they don't advertise, per the description above + /* + slogans = list() + */ + ship_prefixes = list("MCV" = "a general operations", "MTV" = "a freight", "MDV" = "a market protection", "MSV" = "an outreach") + //periodic elements; something 'unusual' for the posibrain TSC without being full on 'quirky' culture ship names (much as I love them, they're done to death) + append_ship_names = TRUE + added_ship_names = list( + "Hydrogen", + "Helium", + "Lithium", + "Beryllium", + "Boron", + "Carbon", + "Nitrogen", + "Oxygen", + "Fluorine", + "Neon", + "Sodium", + "Magnesium", + "Aluminium", + "Silicon", + "Phosphorus", + "Sulfur", + "Chlorine", + "Argon", + "Potassium", + "Calcium", + "Scandium", + "Titanium", + "Vanadium", + "Chromium", + "Manganese", + "Iron", + "Cobalt", + "Nickel", + "Copper", + "Zinc", + "Gallium", + "Germanium", + "Arsenic", + "Selenium", + "Bromine", + "Krypton", + "Rubidium", + "Strontium", + "Yttrium", + "Zirconium", + "Niobium", + "Molybdenum", + "Technetium", + "Ruthenium", + "Rhodium", + "Palladium", + "Silver", + "Cadmium", + "Indium", + "Tin", + "Antimony", + "Tellurium", + "Iodine", + "Xenon", + "Caesium", + "Barium" + ) + //some hebrew alphabet destinations for a little extra unusualness destination_names = list( - "a trade outpost in Shelf" + "our headquarters, the Shelf flotilla", + "one of our factory complexes on Root", + "research outpost Aleph", + "logistics depot Dalet", + "research installation Zayin", + "research base Tsadi", + "manufacturing facility Samekh" ) /datum/lore/organization/tsc/xion name = "Xion Manufacturing Group" short_name = "Xion" - desc = "Xion, quietly, controls most of the market for industrial equipment. Their portfolio includes mining exosuits, \ + acronym = "XMG" + desc = "Xion, quietly, controls most of the market for industrial equipment, especially on the frontier. Their portfolio includes mining exosuits, \ factory equipment, rugged positronic chassis, and other pieces of equipment vital to the function of the economy. Xion \ keeps its control of the market by leasing, not selling, their equipment, and through infamous and bloody patent protection \ - lawsuits. Xion are noted to be a favorite contractor for SolGov engineers, owing to their low cost and rugged design." + lawsuits. Xion are noted to be a favorite contractor for Commonwealth engineers, owing to their low cost and rugged design. \ + Dedicated frontiersmen tend to have an unfavorable view of the company however, as the leasing arrangements often make field repairs \ + challenging at best, and expensively contract-breaking at worst. Nobody wants an expensive piece of equipment to break down \ + three weeks of travel away from the closest Licensed Xion Repair Outlet. \ +

    \ + Xion's fleet bears the name of mountains and terrain features on Mars." history = "" work = "industrial equipment manufacturer" headquarters = "" motto = "" - ship_prefixes = list("XTV" = "hauling", "XFV" = "bulk transport", "XIV" = "resupply") - destination_names = list() + org_type = "corporate" + slogans = list( + "Xion Manufacturing - We have what you need.", + "Xion Manufacturing - The #1 choice of the SolCom Engineer's Union for 150 years.", + "Xion Manufacturing - Our products are as bulletproof as our contracts." + ) + ship_prefixes = list("XMV" = "a general operations", "XTV" = "a hauling", "XFV" = "a bulk transport", "XIV" = "a resupply") + //martian mountains + append_ship_names = TRUE + added_ship_names = list( + "Olympus Mons", + "Ascraeus Mons", + "Arsia Mons", + "Pavonis Mons", + "Elysium Mons", + "Hecates Tholus", + "Albor Tholus", + "Tharsis Tholus", + "Biblis Tholus", + "Alba Mons", + "Ulysses Tholus", + "Mount Sharp", + "Uranius Mons", + "Anseris Mons", + "Hadriacus Mons", + "Euripus Mons", + "Tyrrhenus Mons", + "Promethei Mons", + "Chronius Mons", + "Apollinaris Mons", + "Gonnus Mons", + "Syrtis Major Planum", + "Amphitrites Patera", + "Nili Patera", + "Pityusa Patera", + "Malea Patera", + "Peneus Patera", + "Labeatis Mons", + "Issidon Paterae", + "Pindus Mons", + "Meroe Patera", + "Orcus Patera", + "Oceanidum Mons", + "Horarum Mons", + "Peraea Mons", + "Octantis Mons", + "Galaxius Mons", + "Hellas Planitia" + ) + //destination_names = list() + +/datum/lore/organization/tsc/ftu + name = "Free Trade Union" + short_name = "Trade Union" + acronym = "FTU" + desc = "The Free Trade Union is different from other transtellar companies in that they are not just a company; rather, they are a big conglomerate of various traders and merchants from all over the galaxy. The FTU is also partially responsible for many of the large scale 'freeport' trade stations across the known galaxy, even in non-human space. Generally, they are multi-purpose stations but they always keep areas filled with duty-free shops, where almost anything you can imagine can be found - so long as it's not outrageously illegal or hideously expensive.

    They are the creators of the Tradeband language, created specially for being a lingua franca where every merchant can understand each other independent of language or nationality.

    The Union doesn't maintain a particularly large fleet of its own; most members are card-carrying independents who fly under their own flags. When you do see a Union ship (they usually operate under the names of historic merchants) you can be assured that it's tending to something that the Union sees as being of the utmost importance to its interests." + history = "" + work = "" + headquarters = "" + motto = "" + + org_type = "corporate" + slogans = list( + "The FTU. We look out for the little guy.", + "There's no Trade like Free Trade.", + "There's no Union like the Free Trade Union.", + "Join the Free Trade Union. Because anything worth doing, is worth doing for money." //rule of acquisition #13 + ) + ship_prefixes = list("FTV" = "a general operations", "FTRP" = "a trade protection", "FTRR" = "a piracy suppression", "FTLV" = "a logistical support", "FTTV" = "a mercantile", "FTDV" = "a market establishment") + //famous merchants and traders, taken from Civ6's Great Merchants, plus the TSC's founder + append_ship_names = TRUE + added_ship_names = list( + "Isaac Adler", + "Colaeus", + "Marcus Licinius Crassus", + "Zhang Qian", + "Irene of Athens", + "Marco Polo", + "Piero de' Bardi", + "Giovanni de' Medici", + "Jakob Fugger", + "Raja Todar Mal", + "Adam Smith", + "John Jacob Astor", + "John Spilsbury", + "John Rockefeller", + "Sarah Breedlove", + "Mary Katherine Goddard", + "Helena Rubenstein", + "Levi Strauss", + "Melitta Bentz", + "Estee Lauder", + "Jamsetji Tata", + "Masaru Ibuka", + ) + destination_names = list( + "a Free Trade Union office", + "FTU HQ" + ) /datum/lore/organization/tsc/mbt name = "Major Bill's Transportation" short_name = "Major Bill's" - desc = "The most popular courier service and starliner, Major Bill's is an unassuming corporation whose greatest asset \ - is their low cost and brand recognition. Major Bill's is known, perhaps unfavorably, for its mascot, Major Bill, \ - a cartoonish military figure that spouts quotable slogans. Their motto is \"With Major Bill's, you won't pay major bills!\", \ - an earworm much of the galaxy longs to forget." + acronym = "MBT" + desc = "The most popular courier service and starliner, Major Bill's is an unassuming corporation whose greatest asset is their low cost and brand recognition. Major Bill's is known, perhaps unfavorably, for its mascot, Major Bill, a cartoonish military figure that spouts quotable slogans. Their main slogan, featured at least once in all their advertising, is \"With Major Bill's, you won't pay major bills!\", an earworm much of the galaxy longs to forget. \ +

    \ + Their ships are named after some of Earth's greatest rivers." history = "" work = "courier and passenger transit" headquarters = "Mars, Sol" motto = "With Major Bill's, you won't pay major bills!" - ship_prefixes = list("TTV" = "transport", "TTV" = "luxury transit") - destination_names = list() + org_type = "corporate" + slogans = list( + "With Major Bill's, you won't pay major bills!", + "Major Bill's - Private Couriers - General Shipping!", + "Major Bill's got you covered, now get out there!" + ) + ship_prefixes = list("TTV" = "a general operations", "TTV" = "a transport", "TTV" = "a luxury transit", "TTV" = "a priority transit", "TTV" = "a secure data courier") + //ship names: big rivers + append_ship_names = TRUE + added_ship_names = list ( + "Nile", + "Kagera", + "Nyabarongo", + "Mwogo", + "Rukarara", + "Amazon", + "Ucayali", + "Tambo", + "Ene", + "Mantaro", + "Yangtze", + "Mississippi", + "Missouri", + "Jefferson", + "Beaverhead", + "Red Rock", + "Hell Roaring", + "Yenisei", + "Angara", + "Yelenge", + "Ider", + "Ob", + "Irtysh", + "Rio de la Plata", + "Parana", + "Rio Grande", + "Congo", + "Chambeshi", + "Amur", + "Argun", + "Kherlen", + "Lena", + "Mekong", + "Mackenzie", + "Peace", + "Finlay", + "Niger", + "Brahmaputra", + "Tsangpo", + "Murray", + "Darling", + "Culgoa", + "Balonne", + "Condamine", + "Tocantins", + "Araguaia", + "Volga" + ) + destination_names = list( + "Major Bill's Transportation HQ on Mars", + "a Major Bill's warehouse", + "a Major Bill's distribution center", + "a Major Bill's supply depot" + ) + +/datum/lore/organization/tsc/grayson + name = "Grayson Manufactories Ltd." + short_name = "Grayson" + acronym = "GM" + desc = "Grayson Manufactories Ltd. is one of the oldest surviving TSCs, having been in 'the biz' almost since mankind began to colonize the rest of the Sol system and thus exploit abundant 'extraterrestrial' resources. Where many choose to go into the high end markets, however, Grayson makes their money by providing foundations for other businesses; they run some of the largest mining and refining operations in all of human-inhabited space. Ore is hauled out of Grayson-owned mines, transported on Grayson-owned ships, and processed in Grayson-owned refineries, then sold by Grayson-licensed vendors to other industries. Several of their relatively newer ventures include heavy industrial equipment, which has earned a reputation for being surprisingly reliable.

    Grayson may maintain a neutral stance towards their fellow TSCs, but can be quite aggressive in the markets that it already holds. A steady stream of rumors suggests they're not shy about engaging in industrial sabotage or calling in strikebreakers, either. \ +

    \ + Fitting their 'down to earth' reputation, Grayson's corporate fleet uses the names of various forms of rock and mineral to identify their vessels." + history = "" + work = "" + headquarters = "Mars, Sol" + motto = "" + + org_type = "corporate" + slogans = list( + "Grayson Mining - It's An Ore Effort, For The War Effort!", + "Grayson Mining - Winning The War On Ore!", + "Grayson Mining - Come On Down To Our Ore Chasm!" + ) + ship_prefixes = list("GMV" = "a general operations", "GMT" = "a transport", "GMR" = "a resourcing", "GMS" = "a surveying", "GMH" = "a bulk transit") + //rocks + append_ship_names = TRUE + added_ship_names = list( + "Adakite", + "Andesite", + "Basalt", + "Basanite", + "Diorite", + "Dunite", + "Gabbro", + "Granite", + "Harzburgite", + "Ignimbrite", + "Kimberlite", + "Komatiite", + "Norite", + "Obsidian", + "Pegmatite", + "Picrite", + "Pumice", + "Rhyolite", + "Scoria", + "Syenite", + "Tachylyte", + "Wehrlite", + "Arkose", + "Chert", + "Dolomite", + "Flint", + "Laterite", + "Marl", + "Oolite", + "Sandstone", + "Shale", + "Anthracite", + "Gneiss", + "Granulite", + "Mylonite", + "Schist", + "Skarn", + "Slate" + ) + destination_names = list( + "our headquarters on Mars", + "one of our manufacturing complexes", + "one of our mining installations" + ) + +/datum/lore/organization/tsc/aether + name = "Aether Atmospherics & Recycling" + short_name = "Aether" + acronym = "AAR" + desc = "Aether Atmospherics and Recycling is the prime maintainer and provider of atmospherics systems across both the many ships that navigate the vast expanses of space, and the life support on current and future Human colonies. The byproducts from the filtration of atmospheres across the galaxy are then resold for a variety of uses to those willing to buy. With the nature of their services, most work they do is contracted for construction of these systems, or staffing to maintain them for colonies across human space. \ +

    \ + Somewhat unimaginatively, Aether has adopted the names of various types of weather for their fleet." + history = "" + work = "" + headquarters = "" + motto = "Dum spiro spero" + + org_type = "corporate" + slogans = list( + "Aether A&R - We're Absolutely Breathtaking.", + "Aether A&R - You Can Breathe Easy With Us!", + "Aether A&R - The SolCom's #1 Environmental Systems Provider." + ) + ship_prefixes = list("AARV" = "a general operations", "AARE" = "a resource extraction", "AARG" = "a gas transport", "AART" = "a transport") + //weather systems/patterns + append_ship_names = TRUE + added_ship_names = list ( + "Cloud", + "Nimbus", + "Fog", + "Vapor", + "Haze", + "Smoke", + "Thunderhead", + "Veil", + "Steam", + "Mist", + "Noctilucent", + "Nacreous", + "Cirrus", + "Cirrostratus", + "Cirrocumulus", + "Aviaticus", + "Altostratus", + "Altocumulus", + "Stratus", + "Stratocumulus", + "Cumulus", + "Fractus", + "Asperitas", + "Nimbostratus", + "Cumulonimbus", + "Pileus", + "Arcus" + ) + destination_names = list( + "Aether HQ", + "a gas mining orbital", + "a liquid extraction plant" + ) + +/datum/lore/organization/tsc/focalpoint + name = "Focal Point Energistics" + short_name = "Focal Point" + acronym = "FPE" + desc = "Focal Point Energistics is an electrical engineering solutions firm originally formed as a conglomerate of Earth power companies and affiliates. Focal Point manufactures and distributes vital components in modern power grids, such as TEGs, PSUs and their specialty product, the SMES. The company is often consulted and contracted by larger organisations due to their expertise in their field.\ +

    \ + Keeping in theme with the other big TSCs, Focal's fleet (which is comprised almost entirely of transports and engineering vessels) uses the names of electrical engineers." + history = "" + work = "" + headquarters = "" + motto = "" + + org_type = "corporate" + slogans = list( + "Focal Point Energistics - Sustainable Power for a Sustainable Future.", + "Focal Point Energistics - Powering The Future Before It Even Happens.", + "Focal Point Energistics - Let There Be Light." + ) + ship_prefixes = list("FPV" = "a general operations", "FPH" = "a transport", "FPC" = "an energy relay", "FPT" = "a fuel transport") + //famous electrical engineers + append_ship_names = TRUE + added_ship_names = list ( + "Erlang", + "Blumlein", + "Taylor", + "Bell", + "Reeves", + "Bennett", + "Volta", + "Blondel", + "Beckman", + "Hirst", + "Lamme", + "Bright", + "Armstrong", + "Ayrton", + "Bardeen", + "Fuller", + "Boucherot", + "Brown", + "Brush", + "Burgess", + "Camras", + "Crompton", + "Deprez", + "Elwell", + "Entz", + "Faraday", + "Halas", + "Hounsfield", + "Immink", + "Laithwaite", + "McKenzie", + "Moog", + "Moore", + "Pierce", + "Ronalds", + "Shallenberger", + "Siemens", + "Spencer", + "Tesla", + "Yablochkov", + ) + destination_names = list( + "Focal Point HQ" + ) + +/datum/lore/organization/tsc/starlanes + name = "StarFlight Inc." + short_name = "StarFlight" + acronym = "SFI" + desc = "Founded in 2137 by Astara Junea, StarFlight Incorporated is now one of the biggest passenger liner businesses in human-occupied space and has even begun breaking into alien markets - all despite a rocky start, and several high-profile ship disappearances and shipjackings. With space traffic at an all-time high, it's a depressing reality that SFI's incidents are just a tiny drop in the bucket compared to everything else going on. \ +

    \ + SFI's fleet is, somewhat endearingly, named after various species of bird, though the designation Pigeon was removed from the lineup after a particularly unusual chain of events involving a business liner. For reasons that have continued to remain unclear since the company's foundation, SFI vessels are permitted to use the same high-level identifier pattern as governmental vessels." + history = "" + work = "luxury, business, and economy passenger flights" + headquarters = "Spin Aerostat, Jupiter" + motto = "Sic itur ad astra" + + org_type = "corporate" + slogans = list( + "StarFlight - travel the stars.", + "StarFlight - bringing you to new horizons.", + "StarFlight - getting you where you need to be since 2137." + ) + ship_prefixes = list("SFI-X" = "a VIP liner", "SFI-L" = "a luxury liner", "SFI-B" = "a business liner", "SFI-E" = "an economy liner", "SFI-M" = "a mixed class liner", "SFI-S" = "a sightseeing", "SFI-M" = "a wedding", "SFI-O" = "a marketing", "SFI-S" = "a safari", "SFI-A" = "an aquatic adventure") + flight_types = list( //no military-sounding ones here + "flight", + "route", + "tour" + ) + ship_names = list( //birbs + "Rhea", + "Ostrich", + "Cassowary", + "Emu", + "Kiwi", + "Duck", + "Swan", + "Chachalaca", + "Curassow", + "Guan", + "Guineafowl", + "Pheasant", + "Turkey", + "Francolin", + "Loon", + "Penguin", + "Grebe", + "Flamingo", + "Stork", + "Ibis", + "Heron", + "Pelican", + "Spoonbill", + "Shoebill", + "Gannet", + "Cormorant", + "Osprey", + "Kite", + "Hawk", + "Falcon", + "Hummingbird", + "Toucan", + "Caracara" + ) + destination_names = list( + "a resort planet", + "a beautiful ring system", + "a ski-resort world", + "an ocean resort planet", + "a desert resort world", + "an arctic retreat" + ) -/datum/lore/organization/tsc/independent - name = "Free Traders" - short_name = "Free Trader" - desc = "Though less common now than they were in the decades before the Sol Economic Organization took power, independent traders remain an important part of the galactic economy, owing in no small part to protective tarrifs established by the Free Trade Union in the late twenty-forth century." +/datum/lore/organization/tsc/oculum + name = "Oculum Broadcasting Network" + short_name = "Oculus" + acronym = "OBN" + desc = "Oculum owns approximately 30% of Sol-wide news networks, including microblogging aggregate sites, network and comedy news, and even old-fashioned newspapers. Staunchly apolitical, they specialize in delivering the most popular news available- which means telling people what they already want to hear. Oculum is a specialist in branding, and most people don't know that the reactionary Daedalus Dispatch newsletter and the radically transhuman Liquid Steel webcrawler are controlled by the same organization." history = "" - work = "trade and transit" + work = "news media" + headquarters = "" + motto = "News from all across the spectrum" + + org_type = "corporate" + slogans = list( + "Oculum - All News, All The Time.", + "Oculum - We Keep An Eye Out.", + "Oculum - Nothing But The Truth.", + "Oculum - Your Eye On The Galaxy." + ) + ship_prefixes = list("OBV" = "an investigation", "OBV" = "a distribution", "OBV" = "a journalism", "OBV" = "a general operations") + destination_names = list( + "Oculus HQ" + ) + +/datum/lore/organization/tsc/centauriprovisions + name = "Centauri Provisions" + short_name = "Centauri" + acronym = "ACP" + desc = "Headquartered in Alpha Centauri, Centauri Provisions made a name in the snack-food industry primarily by being the first to focus on colonial holdings. The various brands of Centauri snackfoods are now household names, from SkrellSnax to Space Mountain Wind to the ubiquitous and supposedly-edible Bread Tube, and they are well known for targeting as many species as possible with each brand (which, some will argue, is at fault for some of those brands being rather bland in taste and texture). Their staying power is legendary, and many spacers have grown up on a mix of their cheap crap and protein shakes." + history = "" + work = "catering, food, drinks" + headquarters = "Alpha Centauri" + motto = "The largest brands of food and drink - most of them are Centauri." + + org_type = "corporate" + slogans = list( + "Centauri Provisions Bread Tubes - They're Not Just Edible, They're |Breadible!|", + "Centauri Provisions SkrellSnax - Not |Just| For Skrell!", + "Centauri Provisions Space Mountain Wind - It'll Take Your |Breath| Away!", + "Centauri Provisions Syndi-Cakes - A Taste So Good You'll Swear It's |Illegal|!", + "Centauri Provisions Tuna Snax - There's Nothing |Fishy| Going On Here!" + ) + ship_prefixes = list("CPTV" = "a transport", "CPCV" = "a catering", "CPRV" = "a resupply", "CPV" = "a general operations") + destination_names = list( + "Centauri Provisions HQ", + "a Centauri Provisions depot", + "a Centauri Provisions warehouse" + ) + +/datum/lore/organization/tsc/einstein + name = "Einstein Engines" + short_name = "Einstein" + acronym = "EEN" + desc = "Einstein is an old company that has survived through rampant respecialization. In the age of phoron-powered exotic engines and ubiquitous solar power, Einstein makes its living through the sale of engine designs for power sources it has no access to, and emergency fission or hydrocarbon power supplies. Accusations of corporate espionage against research-heavy corporations like NanoTrasen and its chief rival Focal Point are probably unfounded. Probably." + history = "" + work = "catering, food, drinks" + headquarters = "" + motto = "Engine designs, emergency generators, and old memories" + + org_type = "corporate" + slogans = list( + "Einstein Engines - you don't have to be Einstein to use |our| engines!", + "Einstein Engines - bringing power to the people.", + "Einstein Engines - because it's the smart thing to do." + ) + ship_prefixes = list("EETV" = "a transport", "EERV" = "a research", "EEV" = "a general operations") + destination_names = list( + "Einstein HQ" + ) + +/datum/lore/organization/tsc/wulf + name = "Wulf Aeronautics" + short_name = "Wulf Aero" + acronym = "WUFA" + desc = "Wulf Aeronautics is the chief producer of transport and hauling spacecraft. A favorite contractor of the CWS, Wulf manufactures most of their diplomatic and logistics craft, and does a brisk business with most other TSCs. The quiet reliance of the economy on their craft has kept them out of the spotlight and uninvolved in other corporations' back-room dealings; nobody is willing to try to undermine Wulf Aerospace in case it bites them in the ass, and everyone knows that trying to buy out the company would start a bidding war from which nobody would escape the PR fallout." + history = "" + work = "starship construction" + headquarters = "" + motto = "We build it - you fly it" + + org_type = "corporate" + slogans = list( + "Wulf Aeronautics. We build it - you fly it.", + "Wulf Aeronautics, the Commonwealth's favorite shipwrights.", + "Wulf Aeronautics, building tomorrow's ships today." + ) + ship_prefixes = list("WAFV" = "a freight", "WARV" = "a repair", "WAV" = "a general operations", "WALV" = "a logistics") + destination_names = list( + "Wulf Aeronautics HQ", + "a Wulf Aeronautics supply depot", + "a Wulf Aeronautics Shipyard" + ) + +/datum/lore/organization/tsc/gilthari + name = "Gilthari Exports" + short_name = "Gilthari" + acronym = "GEX" + desc = "Gilthari is Sol's premier supplier of luxury goods, specializing in extracting money from the rich and successful that aren't already their own shareholders. Their largest holdings are in gambling, but they maintain subsidiaries in everything from VR equipment to luxury watches. Their holdings in mass media are a smaller but still important part of their empire. Gilthari is known for treating its positronic employees very well, sparking a number of conspiracy theories. The gorgeous FBP model that Gilthari provides them is a symbol of the corporation's wealth and reach ludicrous prices when available on the black market, with legal ownership of the chassis limited, by contract, to employees.

    In fitting with their heritage, Gilthari ships are named after precious stones." + history = "" + work = "luxury goods" + headquarters = "" + motto = "" + + org_type = "corporate" + slogans = list( + "Why choose |luxury| when you can choose |Gilthari|?", + "|Gilthari|. Because |you're| worth it.", + "|Gilthari|. Why settle for |anything| less?" + ) + ship_prefixes = list("GETV" = "a transport", "GECV" = "a luxury catering", "GEV" = "a general operations") + //precious stones + ship_names = list( + "Afghanite", + "Agate", + "Alexandrite", + "Amazonite", + "Amber", + "Amethyst", + "Ametrine", + "Andalusite", + "Aquamarine", + "Azurite", + "Benitoite", + "Beryl", + "Carnelian", + "Chalcedony", + "Chrysoberyl", + "Chrysoprase", + "Citrine", + "Coral", + "Danburite", + "Diamond", + "Emerald", + "Fluorite", + "Garnet", + "Heliodor", + "Iolite", + "Jade", + "Jasper", + "Lapis Lazuli", + "Malachite", + "Moldavite", + "Moonstone", + "Obsidian", + "Onyx", + "Orthoclase", + "Pearl", + "Peridot", + "Quartz", + "Ruby", + "Sapphire", + "Scapolite", + "Selenite", + "Serpentine", + "Sphalerite", + "Sphene", + "Spinel", + "Sunstone", + "Tanzanite", + "Topaz", + "Tourmaline", + "Turquoise", + "Zircon" + ) + destination_names = list( + "Gilthari HQ", + "a GE supply depot", + "a GE warehouse", + "a GE-owned luxury resort" + ) + +/datum/lore/organization/tsc/coyotecorp + name = "Coyote Salvage Corp." + short_name = "Coyote Salvage" + acronym = "CSC" + desc = "The threat of Kessler Syndrome ever looms in this age of spaceflight, and it's only thanks to the dedication and hard work of unionized salvage groups like the Coyote Salvage Corporation that the spacelanes are kept clear and free of wrecks and debris. Painted in that distinctive industrial yellow, their fleets of roaming scrappers are contracted throughout civilized space and the frontier alike to clean up space debris. Some may look down on them for handling what would be seen as garbage and discarded scraps, but as far as the CSC is concerned everything would grind to a halt (or more accurately, rapidly expand in a cloud of red-hot scrap metal) without their tender care and watchful eyes.\ +

    \ + Many spacers turn to join the ranks of the Salvage Corps when times are lean, or when they need a quick buck. The work is dangerous and the hours are long, but the benefits are generous and you're paid by what you salvage so if you've an eye for appraising scrap you can turn a good profit. For those who dedicate their lives to the work, they can become kings of the scrapheap and live like royalty. \ +

    \ + CSC Contractors are no strangers to conflict either, often having to deal with claimjumpers and illegal salvage operations - or worse, the vox." + history = "" + work = "salvage and shipbreaking" + headquarters = "N/A" + motto = "one man's trash is another man's treasure" + + org_type = "corporate" + slogans = list( + "Coyote Salvage Corp. 'cause your trash ain't gonna clean itself.", + "Coyote Salvage Corp. 'cause one man's trash is another man's treasure.", + "Coyote Salvage Corp. We'll take your scrap - but not your crap." + ) + ship_prefixes = list("CSV" = "a salvage", "CRV" = "a recovery", "CTV" = "a transport", "CSV" = "a shipbreaking", "CHV" = "a towing") + //mostly-original, maybe some references, and more than a few puns + append_ship_names = TRUE + added_ship_names = list( + "Road Hog", + "Mine, Not Yours", + "Legal Salvage", + "Barely Legal", + "One Man's Trash", + "Held Together By Tape And Dreams", + "Ventilated Vagrant", + "Half A Wing And A Prayer", + "Scrap King", + "Make Or Break", + "Lead Into Gold", + "Under New Management", + "Pride of Centauri", + "Long Haul", + "Argonaut", + "Desert Nomad", + "Non-Prophet Organization", + "Rest In Pieces", + "Sweep Dreams", + "Home Sweep Home", + "Atomic Broom", + "Ship Broken", + "Rarely Sober", + "Barely Coherent", + "Piece Of Mind", + "War And Pieces", + "Bits 'n' Bobs", + "Home Wrecker", + "T-Wrecks", + "Dust Bunny", + "No Gears No Glory", + "Two Drink Minimum", + "Three Drinks In", + "The Almighty Janitor", + "Wreckless Endangerment", + "Scarab" + ) + //remove a couple types, add the more down-to-earth 'job' to reflect some personality + flight_types = list( + "job", + "op", + "operation", + "assignment", + "contract" + ) + destination_names = list ( + "a frontier scrapyard", + "a trashbelt", + "a local salvage yard", + "a nearby system" + ) + +/datum/lore/organization/tsc/chimera + name = "Chimera Genetics Corp." + short_name = "Chimera Genetics" + acronym = "CGC" + desc = "With the rise of personal body modification, companies specializing in this field were bound to spring up as well. The Chimera Genetics Corporation, or CGC, is one of the largest and most successful competitors in this ever-evolving and ever-adapting field. They originally made a foothold in the market through designer flora and fauna such as \"factory plants\" and \"fabricowtors\"; imagine growing high-strength carbon nanotubes on vines, or goats that can be milked for a substance with the tensile strength of spider silk. Once they had more funding? Chimera aggressively expanded into high-end designer bodies, both vat-grown-from-scratch and modification of existing bodies via extensive therapy procedures. Their best-known designer critter is the Drake line; hardy, cold-tolerant \'furred lizards\' that are unflinchingly loyal to their contract-holders. Drakes find easy work in heavy industries and bodyguard roles, despite constant lobbying from bioconservatives to, quote, \"keep these \"meat drones\" from taking jobs away from regular people.\" \ +

    \ + Some things never change. \ +

    \ + Unsurprisingly, Chimera names their ships after mythological creatures." + history = "" + work = "designer bodies and bioforms" + headquarters = "Titan, Sol" + motto = "the whole is greater than the sum of its parts" + + org_type = "corporate" + slogans = list( + "Chimera Genetics. Find your true self today!", + "Chimera Genetics. Bring us your genes and we'll clean them right up.", + "Chimera Genetics. Better bodies for a better tomorrow." + ) + ship_prefixes = list("CGV" = "a general operations", "CGT" = "a transport", "CGT" = "a delivery", "CGH" = "a medical") + //edgy mythological critters! + ship_names = list( + "Bandersnatch", + "Banshee", + "Basilisk", + "Black Dog", + "Centaur", + "Cerberus", + "Charybdis", + "Chimera", + "Cyclops", + "Cynocephalus", + "Demon", + "Daemon", + "Dragon", + "Echidna", + "Ghoul", + "Goblin", + "Golem", + "Gorgon", + "Griffin", + "Hekatonchires", + "Hobgoblin", + "Hydra", + "Imp", + "Ladon", + "Loup-Garou", + "Manticore", + "Medusa", + "Minotaur", + "Naga", + "Nosferatu", + "Ogre", + "Pegasus", + "Sasquatch", + "Scylla", + "Shade", + "Siren", + "Sphinx", + "Titan", + "Typhon", + "Valkyrie", + "Vampir", + "Venrir", + "Wendigo", + "Werewolf", + "Wraith" + ) + destination_names = list ( + "Chimera HQ, Titan", + "a Chimera research lab" + ) + +////////////////////////////////////////////////////////////////////////////////// + +// Other +/datum/lore/organization/other/independent + name = "Independent Pilots Association" + short_name = "Independent" + acronym = "IPA" + desc = "Though less common now than they were in the decades before the Sol Economic Organization took power, independent pilots and traders remain an important part of the galactic economy, owing in no small part to protective tariffs established by the Free Trade Union in the late twenty-second century. Further out on the frontier, independent pilots are often the only people keeping freight and vital supplies moving.\ +

    \ + Independent ships use a wide variety of names, many of which are as unusual and eclectic as their crews." + history = "" + work = "everything under the sun" headquarters = "N/A" motto = "N/A" + autogenerate_destination_names = TRUE //force random dest generation - ship_prefixes = list("IEV" = "prospecting", "IEC" = "prospecting", "IFV" = "bulk freight", "ITV" = "passenger transport", "ITC" = "just-in-time delivery") - destination_names = list() + ship_prefixes = list("ISV" = "a general", "IEV" = "a prospecting", "IEC" = "a prospecting", "IFV" = "a bulk freight", "ITV" = "a passenger transport", "ITC" = "a just-in-time delivery", "IPV" = "a patrol", "IHV" = "a bounty hunting", "ICC" = "an escort", "IMV" = "a mining", "IPS" = "an interplanetary shipping") + flight_types = list( + "flight", + "mission", + "route", + "operation", + "assignment", + "contract" + ) + //ship names: blank, because we use the universal list + //ship_names = list() -// Governments +//SPACE LAW +/datum/lore/organization/other/sysdef + name = "System Defense Force" + short_name = "SDF" + acronym = "SDF" + desc = "Localized militias are used to secure systems throughout inhabited space, but are especially common on the frontier; by levying and maintaining these militia forces, larger governments can use their primary fleets (like the USDF) for more important matters and smaller ones can give travellers in their space some peace of mind given the ever-present threat of pirates and vox marauders whilst also helping cut down on smuggling (narcotic substances remain as popular in this century as they have throughout the last few millennia). System Defense Forces tend to be fairly poorly trained and modestly equipped compared to genuine military fleets, but are more than capable of contending with equally ramshackle pirate vessels and can generally stall greater threats long enough for reinforcements to arrive. They're also typically responsible for most search-and-rescue operations in their system.\ +

    \ + SDF ships are traditionally named after various forms of historical weaponry; as their founding members tend to be veterans of other SDF services which used this system, this tradition has slowly propagated.\ +

    \ + Common SDF ship designations include;
    \ + SDF = System Defense Fleet (General)
    \ + SDV/SDB = System Defense Vessel/Boat
    \ + SAR = Search And Rescue (Emergency Services)
    \ + SDT = System Defense Tender (Mobile Refuel & Resupply)
    \ + SDJ = Prisoner Transport" + history = "" + work = "local security" + headquarters = "" + motto = "Serve, Protect, Survive" + autogenerate_destination_names = FALSE //don't add extra destinations to our pool, or else we leave the system which makes no sense -/datum/lore/organization/gov/virgov - name = "Vir Governmental Authority" - short_name = "VirGov" - desc = "The aptly named Vir Governmental Authority is the sole governing administration for the Vir system, based \ - out of New Reykjavik on Sif. It is a representative democratic government, and a fully recognised member of the \ - Confederation.\ + org_type = "system defense" + ship_prefixes = list ("SDB" = "a patrol", "SDF" = "a patrol", "SDV" = "a patrol", "SDB" = "an escort", "SDF" = "an escort", "SDV" = "an escort", "SAR" = "a search and rescue", "SDT" = "a logistics", "SDT" = "a resupply", "SDJ" = "a prisoner transport") //b = boat, f = fleet (generic), v = vessel, t = tender + //ship names: weapons, particularly medieval and renaissance melee and pre-gunpowder ranged weapons + ship_names = list( + "Sword", + "Saber", + "Cutlass", + "Scimitar", + "Broadsword", + "Katar", + "Shamshir", + "Flyssa", + "Kaskara", + "Khopesh", + "Tachi", + "Shashka", + "Epee", + "Estoc", + "Longsword", + "Katana", + "Odachi", + "Baselard", + "Gladius", + "Kukri", + "Pick", + "Mattock", + "Hatchet", + "Machete", + "Axe", + "Tomahawk", + "Labrys", + "Masakari", + "Parashu", + "Sagaris", + "Francisca", + "Stiletto", + "Tanto", + "Pugio", + "Cinquedea", + "Katar", + "Dirk", + "Dagger", + "Maul", + "Mace", + "Flail", + "Morningstar", + "Shillelagh", + "Cudgel", + "Truncheon", + "Hammer", + "Arbalest", + "Ballista", + "Catapult", + "Trebuchet", + "Longbow", + "Pike", + "Javelin", + "Glaive", + "Halberd", + "Scythe", + "Spear", + "Guisarme", + "Billhook" + ) + destination_names = list( + "the outer system", + "the inner system", + "Waypoint Alpha", + "Waypoint Beta", + "Waypoint Gamma", + "Waypoint Delta", + "Waypoint Epsilon", + "Waypoint Zeta", + "Waypoint Eta", + "Waypoint Theta", + "Waypoint Iota", + "Waypoint Kappa", + "Waypoint Lambda", + "Waypoint Mu", + "Waypoint Nu", + "Waypoint Xi", + "Waypoint Omicron", + "Waypoint Pi", + "Waypoint Rho", + "Waypoint Sigma", + "Waypoint Tau", + "Waypoint Upsilon", + "Waypoint Phi", + "Waypoint Chi", + "Waypoint Psi", + "Waypoint Omega", + "System Defense Control", + "an SDF correctional facility", + "an SDF processing center", + "an SDF supply depot", + "an SDF Rapid Response Hub", + "an SDF outpost" + ) + +//basically just a dummy/placeholder 'org' for smuggler events +/datum/lore/organization/other/smugglers + name = "Smugglers" + short_name = "" //whitespace hack again + acronym = "ISC" + desc = "Where there's a market, there need to be merchants, and where there are buyers, there need to be suppliers. Most of all, wherever there's governments, there'll be somebody trying to control what people are and aren't allowed to do with their bodies. For those seeking goods deemed illegal (for good reasons or otherwise) they need to turn to smugglers and the fine art of sneaking things past the authorities.\

    \ - Corporate entities such as Nanotrasen which operate on Sif, in Vir space, or on other bodies in the Vir system must \ - all comply with legislation as determined by the VGA and SolGov. As a result, any serious criminal offences, \ - industrial accidents, or concerning events should be forwarded to the VGA in the event that assistance or \ - communication is required from the Vir Police, Vir Defence Force, Vir Interior Ministry, or other important groups." - history = "" // Todo like the rest of them - work = "governing body of Vir" - headquarters = "New Reykjavik, Sif, Vir" + The most common goods smuggled throughout space are narcotics, firearms, and occasionally slaves; whilst firearm ownership laws vary from location to location, most governments also take fairly hard stances on hard drugs, and slavery is consistently outlawed and punished viciously throughout the vast majority of civilized space.\ +

    \ + Still, contrary to many conceptions, not all smuggling is nefarious. Entertainment media within human territories loves to paint romantic images of heroic smugglers sneaking aid supplies to refugees or even helping oppressed minorities escape the grasp of xenophobic regimes." + history = "" + work = "" + headquarters = "" motto = "" - autogenerate_destination_names = FALSE + autogenerate_destination_names = TRUE //the events we get called for don't fire a destination, but we need entries to avoid runtimes. - ship_prefixes = list("VGA" = "hauling", "VGA" = "energy relay") - destination_names = list( - "New Reykjavik on Sif", - "Radiance Energy Chain", - "a dockyard orbiting Sif", - "a telecommunications satellite", - "Vir Interstellar Spaceport" - ) - -/datum/lore/organization/gov/solgov - name = "Solar Confederate Government" - short_name = "SolGov" - acronym = "SCG" - desc = "The Solar Confederate Government, or SolGov, is a mostly-human governmental entity based on Luna and \ - extending throughout most of the local bubble.\ + org_type = "smuggler" + ship_prefixes = list ("suspected smuggler" = "an illegal smuggling", "possible smuggler" = "an illegal smuggling") //as assigned by control, second part shouldn't even come up + + ship_names = list() + +/datum/lore/organization/other/smugglers/New() + ..() + var/i = 20 //give us twenty random names. for smugglers, I grabbed a bunch of two-syllable s-words, in keeping with NATO reporting names. I figured a fixed name list didn't make very much sense. + var/list/first_word = list( + "Smuggler","Safety","Scanner","Season","Secret","Section","Seeker","Server","Seller","Sequence","Shadow","Solar","Software","Smoker","Southwest","Spectrum","Spirit","Sponsor","Stainless","Stable","Study","Subject","Student","Surface","Symbol","Supreme","Surprise","Syntax","Sterling","Statement" + ) + var/list/nato_phonetic = list( + "Alfa","Bravo","Charlie","Delta","Echo","Foxtrot","Golf","Hotel","India","Juliet","Kilo","Lima","Mike","November","Oscar","Papa","Quebec","Romeo","Sierra","Tango","Uniform","Victor","Whiskey","Xray","Yankee","Zulu" + ) + while(i) + ship_names.Add("[pick(first_word)] [rand(1,99)]-[pick(nato_phonetic)]") + i-- + +/datum/lore/organization/other/pirates + name = "Pirates" + short_name = "" //whitespace hack again + acronym = "IPG" + desc = "Where there's prey, predators are sure to follow. In space, the prey are civilian merchants, and the predators are opportunistic pirates. This is about where the analogy breaks down, but the basic concept remains the same; civilian ships are usually full of valuable goods or important people, which can be sold on black markets or ransomed back for a healthy sum. Pirates seek to seize the assets of others to get rich, rather than make an honest thaler themselves.\

    \ - SolGov defines top-level law (such as sapient rights and transgressive \ - technology) and acts as an intermediary council for problems involving member states, but leaves most other law for \ - states to define themselves. The member states of SolGov obey these laws, pay confederate taxes, and provide each \ - other with military aid, in exchange for membership in the largest free trade, customs, and military union in the \ - known galaxy. Each state appoints two representatives to the Colonial Assembly where issues are voted upon. \ - The vast majority of human states are members of SolGov.\ + Common pirates tend to be rough, practical, and brutally efficient in their work. System Defense units practice rapid response drills, and in most systems it's only a matter of minutes before The Law arrives unless the pirate is able to isolate their target and prevent them from sending a distress signal.\

    \ - Sol's military forces are divided between central confederate forces and local defense forces, although it reserves \ - the right to nationalize the defense forces in the event of a major crisis, such as the SolGov-Hegemony War." + Complicating matters is the infrequent use of privateers by various minor colonial governments, mercenaries turning to piracy during hard times, and illegal salvage operations." + history = "" + work = "" + headquarters = "" + motto = "What\'s yours is mine." + autogenerate_destination_names = TRUE //the events we get called for don't fire a destination, but we need entries to avoid runtimes. + + org_type = "pirate" + ship_prefixes = list ("known pirate" = "a piracy", "suspected pirate" = "a piracy", "rogue privateer" = "a piracy", "Cartel enforcer" = "a piracy", "known outlaw" = "a piracy", "bandit" = "a piracy", "roving corsair" = "a piracy", "illegal salvager" = "an illegal salvage", "rogue mercenary" = "a mercenary") //as assigned by control, second part shouldn't even come up, but it exists to avoid hiccups/weirdness just in case + + ship_names = list() + +/datum/lore/organization/other/pirates/New() + ..() + var/i = 20 //give us twenty random names. as for smugglers, so for pirates. in this case I went with two-syllable b-words. + var/list/first_word = list( + "Bandit","Bogey","Backup","Baker","Balance","Bandwidth","Banker","Banner","Bargain","Baseball","Basket","Bathroom","Berlin","Beyond","Bidder","Bishop","Bookmark","Border","Boston","Bracelet","Brazil","Breakfast","Brian","Broadband","Brochure","Broken","Broker","Brother","Buddy","Budget","Bureau","Business" + ) + var/list/nato_phonetic = list( + "Alfa","Bravo","Charlie","Delta","Echo","Foxtrot","Golf","Hotel","India","Juliet","Kilo","Lima","Mike","November","Oscar","Papa","Quebec","Romeo","Sierra","Tango","Uniform","Victor","Whiskey","Xray","Yankee","Zulu" + ) + while(i) + ship_names.Add("[pick(first_word)] [rand(1,99)]-[pick(nato_phonetic)]") + i-- + +/* +//Commenting out the Ue-Katish and Vox Marauders for now, to dial down the implications of rampant piracy +/datum/lore/organization/other/uekatish + name = "Ue-Katish Pirates" + short_name = "" + acronym = "UEK" + desc = "Contrasting with the Qerr-Glia is a vibrant community of Ue-Katish pirates, who live in cargo flotillas on the edge of Skrellian space (especially on the Human-Skrell border). Ue-Katish ships have no caste system even for the truecaste Skrell and aliens who live there, although they are regimented by rank and role in the ship's functioning. Ue-Katish ships are floating black markets where everything is available for the right price, including some of the galaxy's most well-connected information brokers and most skilled guns-for-hire. The Ue-Katish present the greatest Skrellian counterculture and feature heavily in romanticized human media, although at their hearts they are still bandits and criminals, and the black markets are filled with goods plundered from human and Skrellian trade ships. Many of the Ue-Katish ships themselves bear the scars of the battle that brought them under the pirate flag.\ +

    \ + Ue-Katish pirate culture is somewhat similar to many human countercultures, gleefully reclaiming slurs and subverting expectations for the sheer shock value. Nonetheless, Ue-Katish are still Skrell, and still organize in neat hierarchies under each ship's Captain. The Captain's word is absolute, and unlike the Qerr-Katish they lack any sort of anti-corruption institutions." + history = "" + work = "" + motto = "" + autogenerate_destination_names = TRUE + + org_type = "pirate" + ship_prefixes = list("Ue-Katish pirate" = "a raiding", "Ue-Katish bandit" = "a raiding", "Ue-Katish raider" = "a raiding", "Ue-Katish enforcer" = "an enforcement") + ship_names = list() + +/datum/lore/organization/other/uekatish/New() + ..() + var/i = 20 //give us twenty random names + var/list/first_names = file2list('config/names/first_name_skrell.txt') + var/list/words = list( + "Prize", + "Bounty", + "Treasure", + "Pearl", + "Star", + "Mercy", + "Compass", + "Greed", + "Slave", + "Madness", + "Pride", + "Disgrace", + "Judgement", + "Wrath", + "Hatred", + "Vengeance", + "Fury", + "Thunder", + "Scream", + "Dagger", + "Saber", + "Lance", + "Blade" + ) + while(i) + ship_names.Add("[pick(first_names)]'s [pick(words)]") + i-- + +/datum/lore/organization/other/marauders + name = "Vox Marauders" + short_name = "" //whitespace hack again + acronym = "VOX" + desc = "Whilst rarely as directly threatening as 'common' pirates, the phoron-breathing vox nevertheless pose a constant nuisance for shipping; as far as vox are concerned, only vox and vox matters matter, and everyone else is a 'treeless dusthuffer'. Unlike sometimes over-confident pirates, the vox rarely engage in direct, open combat, preferring to make their profits by either stealth or gunboat diplomacy that tends to be more bluster than true brute force: vox raiders will only commit to an attack if they're confident that they can quickly overwhelm and subdue their victims, then get away with the spoils before any reinforcements can arrive.\ +

    \ + As Vox ship names are generally impossible for the vast majority of other species to pronounce, System Defense tends to tag marauders with a designation based on the ancient NATO Phonetic Alphabet." + history = "Unknown" + work = "Looting and raiding" + headquarters = "Nowhere" + motto = "(unintelligible screeching)" + autogenerate_destination_names = TRUE //the events we get called for don't fire a destination, but we need *some* entries to avoid runtimes. + + org_type = "pirate" + ship_prefixes = list("vox marauder" = "a marauding", "vox raider" = "a raiding", "vox ravager" = "a raiding", "vox corsair" = "a raiding") //as assigned by control, second part shouldn't even come up + //blank out our shipnames for redesignation + ship_names = list() + +/datum/lore/organization/other/marauders/New() + ..() + var/i = 20 //give us twenty random names, marauders get tactical designations from SDF + var/list/letters = list( + "Alpha", + "Bravo", + "Charlie", + "Delta", + "Echo", + "Foxtrot", + "Golf", + "Hotel", + "India", + "Juliett", + "Kilo", + "Lima", + "Mike", + "November", + "Oscar", + "Papa", + "Quebec", + "Romeo", + "Sierra", + "Tango", + "Uniform", + "Victor", + "Whiskey", + "X-Ray", + "Yankee", + "Zulu" + ) + var/list/numbers = list( + "Zero", + "One", + "Two", + "Three", + "Four", + "Five", + "Six", + "Seven", + "Eight", + "Nine" + ) + while(i) + ship_names.Add("[pick(letters)]-[pick(numbers)]") + i-- +*/ +////////////////////////////////////////////////////////////////////////////////// + +// Governments +/datum/lore/organization/gov/commonwealth + name = "Commonwealth of Sol-Procyon" + short_name = "SolCom" + acronym = "CWS" + desc = "The Commonwealth of Sol-Procyon is the evolution of the many nation states of Earth and the outlying colonies \ + having spread amongst the stars. While not quite the hegemon of all Humanity, a narrow majority of them follow \ + the flag of the Commonwealth. The constant tug and pull of government versus corporation, democracy and power \ + troubles this federation of deeply entrenched human colonies much like it did in the 21st century. Some things \ + never change. However, they are economically and culturally quite dominant, although not everyone likes that fact. \ +

    \ + Ships on official CWS assignments typically carry the designations of Earth\'s largest craters, as a reminder of everything the planet (and humanity itself) has endured." history = "" // Todo - work = "governing polity of humanity's Confederation" + work = "governing polity of humanity's systems" headquarters = "Luna, Sol" - motto = "Nil Mortalibus Ardui Est" // Latin, because latin. Says 'Nothing is too steep for mortals'. + motto = "Nil Mortalibus Ardui Est" // Latin, because latin. Says 'Nothing is too steep for mortals' autogenerate_destination_names = TRUE - ship_prefixes = list("SCG-T" = "transportation", "SCG-D" = "diplomatic", "SCG-F" = "freight") + org_type = "government" + ship_prefixes = list("CWS-A" = "an administrative", "CWS-T" = "a transportation", "CWS-D" = "a diplomatic", "CWS-F" = "a freight", "CWS-J" = "a prisoner transfer") + //earth's biggest impact craters + ship_names = list( + "Wabar", + "Kaali", + "Campo del Cielo", + "Henbury", + "Morasko", + "Boxhole", + "Macha", + "Rio Cuarto", + "Ilumetsa", + "Tenoumer", + "Xiuyan", + "Lonar", + "Agoudal", + "Tswaing", + "Zhamanshin", + "Bosumtwi", + "Elgygytgyn", + "Bigach", + "Karla", + "Karakul", + "Vredefort", + "Chicxulub", + "Sudbury", + "Popigai", + "Manicougan", + "Acraman", + "Morokweng", + "Kara", + "Beaverhead", + "Tookoonooka", + "Charlevoix", + "Siljan Ring", + "Montagnais", + "Araguinha", + "Chesapeake", + "Mjolnir", + "Puchezh-Katunki", + "Saint Martin", + "Woodleigh", + "Carswell", + "Clearwater West", + "Clearwater East", + "Manson", + "Slate", + "Yarrabubba", + "Keurusselka", + "Shoemaker", + "Mistastin", + "Kamensk", + "Steen", + "Strangways", + "Tunnunik", + "Boltysh", + "Nordlinger Ries", + "Presqu'ile", + "Haughton", + "Lappajarvi", + "Rochechouart", + "Gosses Bluff", + "Amelia Creek", + "Logancha", + "Obolon'", + "Nastapoka", + "Ishim", + "Bedout" + ) destination_names = list( - "Venus", - "Earth", - "Luna", - "Mars", - "Titan" - )// autogen will add a lot of other places as well. + "Venus", + "Earth", + "Luna", + "Mars", + "Titan", + "Europa", + "the Jovian subcluster", + "a Commonwealth embassy", + "a classified location" + ) + // autogen will add a lot of other places as well. -/* -// To be expanded upon later, once the military lore gets sorted out. +/datum/lore/organization/gov/ares + name = "Third Ares Confederation" + short_name = "ArCon" + desc = "A loose coalition of socialist and communist movements on the fringes of the human diaspora \ + the Ares Confederation is a government-in-exile from the original uprisings of Mars to stop \ + the government of corporations and capitalist interests over Humanity. While they failed twice \ + they have made their own home far beyond the reach of an effective military response by the \ + Commonwealth. They have become renowned engineers and terraforming experts, mostly due to necessity.\ +

    \ + Many of their vessels carry the names of original Confederation ships, or heroes who fought for \ + liberty and equality in the early days of the uprisings. Many, however, are far more irreverent, \ + seeming to flaunt callsign regulations as a small act of rebellion or purely because they can." + history = "" + work = "idealist socialist government" + headquarters = "Paraiso a Àstrea" + motto = "Liberty to the Stars!" + + org_type = "government" + ship_prefixes = list("UFHV" = "military", "FFHV" = "classified") + ship_names = list( + "Bulwark of the Free", + "Charged Negotiation", + "Corporation Breaker", + "Cheeki Breeki", + "Dawnstar", + "Fiery Justice", + "Fist of Ares", + "Freedom", + "Marx Was Right", + "Endstage Capitalism", + "Neoluddism Is The Answer Guys", + "Anarchocapitalism Is A Joke", + "Front Toward Enemy", + "Path of Prosperity", + "Freedom Cry", + "Rebel Yell", + "We Will Return To Mars", + "According To Our Abilities", + "Posadism Gang", + "Accelerationism Doesn't Work In A Vaccuum", + "Don't Shoot, We're Unarmed I Think", + "Sir, It's One Of Ours", + "The Big Stick For Speaking Softly", + "Per Our Last E-Mail", + "A Slight Weight Discrepancy", + "I Think It's An Asteroid", + "Bull Moose", + "Engels Needs Some Love Too", + "The Icepick", + "Gauntlet", + "Gellaume", + "Hero of the Revolution", + "Jerome", + "Laughing Maniac", + "Liberty", + "Mahama", + "Memory of Fallen", + "Miko", + "Mostly Harmless", + "None Of Your Business", + "Not Insured", + "People's Fist", + "Petrov", + "Prehensile Ethics", + "Pride of Liberty", + "Rodrick", + "Star of Tiamat", + "Torch of Freedom", + "Torch", + "We All Lift", + "Adrift Together", + "Freyv", + "Asgauth", + "Elduette", + "Seigfast", + "Bergautur", + "Anrune", + "Naybard", + "Alfmundur", + "Ganuun", + "Du Moch", + "Morvo", + "Montrienn", + "Ursuul" + ) + destination_names = list( + "Drydocks of the Ares Confederation", + "a classified location", + "a Homestead on Paraiso", + "a contested sector of ArCon space", + "one of our free colonies", + "the Gateway 98-C at Ares", + "Sars Mara on Ares", + "Listening Post Maryland-Sigma", + "an emergency nav bouy", + "New Berlin on Nov-Ferrum", + "a settlement needing our help", + "Forward Base Sigma-Alpha in ArCon space" + ) + +/datum/lore/organization/gov/elysia + name = "The Elysian Colonies" + short_name = "Elysia" + acronym = "ECS" + desc = "The Elysian Colonies, located spinwards from the Commonwealth, are a disunited bunch of \ + vanity states, utopia projects and personal autocracies, whose only unifying characteristic is \ + a general disregard of 'normal' social conventions of Humanity as well as their inherent desire \ + to keep to their ways, in which cases they do sometimes unite to fight off an outside threat. \ + The Elysian Colonies are one of the few places where true slavery is not only accepted, but sadly also \ + rather commonplace if you go to the wrong worlds. Not that they don't internally have at least a dozen would-be liberators." + history = "" + work = "fracturous vanity colonies" + headquarters = "" + motto = "" + + org_type = "government" + ship_prefixes = list("ECS-M" = "a military", "ECS-T" = "a transport", "ECS-T" = "a special transport", "ECS-D" = "a diplomatic") //The Special Transport is SLAAAAVES. but let's not advertise that openly. + ship_names = list( + "Bring Me Wine!", + "I Can't Believe You", + "More Wives Your Grace?", + "Daddy Bought Me This", + "What Do You Mean It's Unethical", + "Libertine Ideals", + "The True Free", + "Unbound", + "No Man Shackled", + "All Men Shackled", + "All Women Shackled", + "All Hermaphrodites Shackled", + "You Know We Just Shackle Anyone", + "Nobody Deserves Shackles", + "Debt Slavery Is Ethical", + "Fashioned After Tradition", + "Sic Vic Pacem", + "Cultivate This", + "We Demand Self-Governance", + "A Thousand Cultures", + "There Is a Character Limit?", + "Slave Galley I", + "The Memes of Production", + "The Unconquered CCXXII" + ) + destination_names = list( + "Cygnus", + "The Ultra Dome of Brutal Kill Death", + "Sanctum", + "Infernum", + "The Most Esteemed Estates of Fred Fredson, Heir of the Fred Throne and All its illustrious Fredpendencies", + "Priory Melana", + "The Clone Pits of Meridiem Five", + "Forward Base Mara Alpha", + "a liberation intervention", + "a nav bouy within Cygnus Space", + "a Elysian only refuel outpost", + "to a killer party the Fredperor is holding right now" + ) + +/datum/lore/organization/gov/fyrds + name = "Unitary Alliance of Salthan Fyrds" + short_name = "Saltha" + acronym = "SMS" + desc = "Born out of neglect, the Salthan Fyrds are cast-off colonies of the Commonwealth after giving up on \ + pacifying the wartorn region and fighting off the stray Unathi Raiders after the Hegemony War. \ + In the end they self-organized into military pacts and have formed a militaristic society, in which \ + every person, be it organic or robot, is a soldier for the continued cause in serving as aegis against \ + another Unathi Incursion. They are very no-nonsense." + history = "" + work = "human stratocracy" + headquarters = "The Pact, Myria" + motto = "" + + org_type = "government" + ship_prefixes = list("SFM-M" = "a military", "SFM-M" = "a patrol") // The Salthans don't do anything else. + flight_types = list( + "mission", + "operation", + "exercise", + "assignment", + "deployment" + ) + //specifically-undefeated generals, just to shake up the usual list everyone knows + ship_names = list( + "Ahmose I", + "Thutmose I & III", + "Seti I", + "Ramesses II", + "Tariq ibn Ziyad", + "Shaka Zulu", + "Bai Qi", + "Ashoka the Great", + "Han Xin", + "Chen Qingzhi", + "Sargon of Akkad", + "Khalid ibn al-Walid", + "Narses", + "David IV", + "Yue Fei", + "Subutai", + "Tamerlane", + "Kumbha of Mewar", + "Akbar", + "Admiral Yi", + "Chatrapati Sambhaji Maharaj", + "Baji Rao", + "Nguyen Hue", + "Alexander the Great", + "Epaminondas", + "Nero Claudius Drusus", + "Burebista", + "Pepin the Short", + "El Cid", + "Jan Zizka", + "Scanderbeg", + "Edward IV", + "Pal Kinizsi", + "Ivan Sirko", + "John Churchill", + "Maurice of Nassau", + "Alvaro de Bazan", + "Blas de Lezo", + "Prince Henry", + "Alexander Suvorov", + "Fyodor Ushakov", + "Charles XI", + "August von Mackensen", + "Paul von Lettow-Vorbeck", + "George Henry Thomas" + ) + /* retained for archival, no longer necessary + destination_names = list( + "Base Alpha-Romero", + "Base Zeta-Xray", + "Base Epsilon-Epsilon", + "Base Xray-Beta", + "Base Gamma-Delta", + "Base Yotta-Epsilon" + ) + */ + +/datum/lore/organization/gov/fyrds/New() + ..() + var/fyrdsgen = rand(8, 16) //significantly increased from original values due to the greater length of rounds on YW + var/list/location = list( + "Base","Outpost","Installation","Station","Waypoint","Nav Point" + ) + var/list/greek = list( + "Alpha","Beta","Gamma","Delta","Epsilon","Zeta","Eta","Theta","Iota","Kappa","Lambda","Mu","Nu","Xi","Omicron","Pi","Rho","Sigma","Tau","Upsilon","Phi","Chi","Psi","Omega" + ) + var/list/phoenician = list( + "Aleph","Beth","Gimel","Daleth","He","Zayin","Heth","Teth","Yodh","Kaph","Lamedh","Mem","Nun","Samekh","'Ayin","Pe","Res","Sin","Taw","Waw","Sade","Qoph" + ) + var/list/russian = list( + "Anna","Boris","Vasily","Gregory","Galina","Dmitri","Yelena","Zhenya","Zinaida","Zoya","Ivan","Konstantin","Leonid","Mikhail","Mariya","Nikolai","Olga","Pavel","Roman","Semyon","Sergei","Tatyana","Tamara","Ulyana","Fyodor","Khariton","Tsaplya","Tsentr","Chelovek","Shura","Shchuka","Yery","Znak","Echo","Emma","Yuri","Yakov" + ) + var/list/american = list( + "Alfa","Bravo","Charlie","Delta","Echo","Foxtrot","Golf","Hotel","India","Juliet","Kilo","Lima","Mike","November","Oscar","Papa","Quebec","Romeo","Sierra","Tango","Uniform","Victor","Whiskey","Xray","Yankee","Zulu" + ) + + while(fyrdsgen) + destination_names.Add("[pick(location)] [pick(greek)]-[pick(greek)]","[pick(location)] [pick(phoenician)]-[pick(phoenician)]","[pick(location)] [pick(russian)]-[pick(russian)]","[pick(location)] [pick(american)]-[pick(american)]") + fyrdsgen-- + +/datum/lore/organization/gov/teshari + name = "Teshari Expeditionary Fleet" + short_name = "Teshari Expeditionary" + acronym = "TEF" + desc = "Though nominally a client state of the skrell, the teshari nevertheless maintain their own navy in the form of the Teshari Expeditionary Fleet. The TEF are as much civil and combat engineers as a competent space force, as they are the tip of the spear when it comes to locating and surveying new worlds suitable for teshari habitation, and in the establishment of full colonies. That isn't to say there aren't independent teshari colonies out there, but those that are founded under the wings of the TEF tend to be the largest and most prosperous. They're also responsible for maintaining the security of these colonies and protecting trade ships. Like the USDF (and unlike most other governmental fleets), TEF vessels almost universally sport the 'TEF' designator rather than specific terms.\ +

    \ + The TEF's ships are named after famous teshari pioneers and explorers and the events surrounding those individuals." + history = "" + work = "teshari colonization and infrastructure maintenance" + headquarters = "Qerr'balak, Qerr'valis" + motto = "" + autogenerate_destination_names = TRUE //big list of own holdings to come + + org_type = "government" + //the tesh expeditionary fleet's closest analogue in modern terms would be the US Army Corps of Engineers, just with added combat personnel as well + ship_prefixes = list("TEF" = "a diplomatic", "TEF" = "a peacekeeping", "TEF" = "an escort", "TEF" = "an exploration", "TEF" = "a survey", "TEF" = "an expeditionary", "TEF" = "a pioneering") + //TODO: better ship names? I just took a bunch of random teshnames from the Random Name button and added a word. + ship_names = list() + destination_names = list( + "an Expeditionary Fleet RV point", + "an Expeditionary Fleet Resupply Ship", + "an Expeditionary Fleet Supply Depot", + "a newly-founded Teshari colony", + "a prospective Teshari colony site", + "a potential Teshari colony site", + "Expeditionary Fleet HQ" + ) + +/datum/lore/organization/gov/teshari/New() + ..() + var/i = 20 //give us twenty random names + var/list/first_names = list( + "Leniri's", + "Tatani's", + "Ninai's", + "Miiescha's", + "Ishena's", + "Taalische's", + "Cami's", + "Schemisa's", + "Shilirashi's", + "Sanene's", + "Aeimi's", + "Ischica's", + "Shasche's", + "Leseca's", + "Iisi's", + "Simascha's", + "Lisascheca's" + ) + var/list/words = list( + "Hope", + "Venture", + "Voyage", + "Talons", + "Fang", + "Wing", + "Pride", + "Glory", + "Wit", + "Insight", + "Wisdom", + "Mind", + "Cry", + "Howl", + "Fury", + "Revenge", + "Vengeance" + ) + while(i) + ship_names.Add("[pick(first_names)] [pick(words)]") + i-- + +/datum/lore/organization/gov/altevian_hegemony + name = "The Altevian Hegemony" + short_name = "Altevian Hegemony" + acronym = "AH" + desc = "The Altevians are a space-faring race of rodents that resemble Earth-like rats. \ + They do not have a place they call home in terms of a planet, and instead have massive multiple-kilometer-long colony-ships \ + that are constantly on the move and typically keep operations outside of known populated systems to minimize potential conflicts over resources. \ + Their primary focus is trade and salvage operations, and their ships can be expected to be seen around both densely populated and empty systems for their work." + history = "" + work = "salvage and trade operators" + headquarters = "AH-CV Migrant" + motto = "" + org_type = "spacer" + + ship_prefixes = list("AH-DV" = "a diplomatic", "AH-EV" = "an exploration", "AH-FV" = "a fueling", "AH-FV" = "a cargo", "AH-SV" = "a research", "AH-TV" = "a colony-transporter", "AH-RV" = "an emergency response", "AH-RV" = "a response", "AH-MV" = "a medical") + ship_names = list( + "Platinum", + "Warson", + "Mane", + "Holland", + "Arauz", + "Diamond", + "Gold", + "Steam", + "Boiler", + "Slip", + "Lavender", + "Wheel", + "Stuntson", + "Desto", + "Palos", + "Matterson", + "Mill", + "Smoke", + "Squeson", + "Rabion", + "Strikedown", + "Cluster", + "Raling", + "Archaeologist", + "Beaker" + ) + destination_names = list( + "the AH-CV Migrant flagship", + "one of our research colony-ships", + "the AH-CV Lotus", + "the AH-CV Anvil", + "the AH-CV Generations", + "the AH-CV Galley", + "the AH-CV Prosperity", + "the AH-CV Kitsap", + "the AH-CV Diamondback", + "one of our colony-ships", + "one of our production fleets" + ) + +////////////////////////////////////////////////////////////////////////////////// // Military +/datum/lore/organization/mil/usdf + name = "United Solar Defense Force" + short_name = "USDF" + acronym = "USDF" + desc = "The USDF is the dedicated military force of the Commonwealth, originally formed by the United Nations. USDF ships are responsible for securing the major traffic lanes between Commonwealth member systems, as well as protecting them from threats that are too great for local SDF units to handle. Despite nominally being a 'Defense Force', a lot of dubious incidents and several notable firebrands within the USDF mean that the Fleet is considered by some to be the galaxy\'s eight-hundred-pound gorilla; it does whatever it wants whenever it wants, and there really isn\'t anything you (or anyone else, even the Commonwealth itself) can do about it. Thankfully a coalition of moderates and Commonwealth loyalists have so far managed to keep the hardliners from getting away with too much, at least for the time being." + history = "" + work = "peacekeeping and piracy suppression" + headquarters = "Paris, Earth" + motto = "Si Vis Pacem Para Bellum" //if you wish for peace, prepare for war + autogenerate_destination_names = TRUE -/datum/lore/organization/mil/sif_guard - name = "Sif Defense Force" // Todo: Get better name from lorepeople. - short_name = "SifGuard" - desc = "" + org_type = "military" + ship_prefixes = list ("USDF" = "a logistical", "USDF" = "a training", "USDF" = "a patrol", "USDF" = "a piracy suppression", "USDF" = "a peacekeeping", "USDF" = "a relief", "USDF" = "an escort", "USDF" = "a search and rescue", "USDF" = "a classified") + flight_types = list( + "mission", + "operation", + "exercise", + "assignment", + "deployment" + ) + ship_names = list( + "Aphrodite", + "Apollo", + "Ares", + "Artemis", + "Athena", + "Demeter", + "Dionysus", + "Hades", + "Hephaestus", + "Hera", + "Hermes", + "Hestia", + "Poseidon", + "Zeus", + "Achlys", + "Aether", + "Aion", + "Ananke", + "Chaos", + "Chronos", + "Erebus", + "Eros", + "Gaia", + "Hemera", + "Hypnos", + "Nemesis", + "Nyx", + "Phanes", + "Pontus", + "Tartarus", + "Thalassa", + "Thanatos", + "Uranus", + "Coeus", + "Crius", + "Cronus", + "Hyperion", + "Iapetus", + "Mnemosyne", + "Oceanus", + "Phoebe", + "Rhea", + "Tethys", + "Theia", + "Themis", + "Asteria", + "Astraeus", + "Atlas", + "Aura", + "Clymene", + "Dione", + "Helios", + "Selene", + "Eos", + "Epimetheus", + "Eurybia", + "Eurynome", + "Lelantos", + "Leto", + "Menoetius", + "Metis", + "Ophion", + "Pallas", + "Perses", + "Prometheus", + "Styx" + ) + destination_names = list( + "USDF HQ", + "a USDF staging facility on the edge of Commonwealth territory", + "a USDF supply depot", + "a USDF rally point", + "a USDF forward base", + "a USDF repair facility", + "a USDF shipyard in Sol", + "a classified location" + ) + +/datum/lore/organization/mil/pcrc + name = "Proxima Centauri Risk Control" + short_name = "Proxima Centauri" + acronym = "PCRC" + desc = "Not a whole lot is known about the private security company known as PCRC, but it is known that they're irregularly contracted by the larger TSCs for certain delicate matters. Much of the company's inner workings are shrouded in mystery, and most citizens have never even heard of them. Amongst those who do know of them, they enjoy fairly good PR for a private security group, especially when compared to SAARE." history = "" - work = "Sif Governmental Authority's military" - headquarters = "New Reykjavik, Sif" + work = "risk control and private security" + headquarters = "Proxima Centauri" motto = "" - autogenerate_destination_names = FALSE // Kinda weird if SifGuard goes to Nyx. + autogenerate_destination_names = TRUE + + org_type = "military" + ship_prefixes = list("PCRC" = "a risk control", "PCRC" = "a private security") + flight_types = list( + "flight", + "mission", + "route", + "operation", + "assignment", + "contract" + ) + //law/protection terms + ship_names = list( + "Detective", + "Constable", + "Inspector", + "Judge", + "Adjudicator", + "Magistrate", + "Marshal", + "Sheriff", + "Deputy", + "Warden", + "Guardian", + "Defender", + "Peacemaker", + "Peacekeeper", + "Arbiter", + "Justice", + "Order", + "Jury", + "Inspector", + "Bluecoat", + "Gendarme", + "Gumshoe", + "Patrolman", + "Sentinel", + "Shield", + "Aegis", + "Auditor", + "Monitor", + "Investigator", + "Agent", + "Prosecutor", + "Sergeant" + ) - ship_prefixes = list("SGSC" = "military", "SGSC" = "patrol", "SGSC" = "rescue", "SGSC" = "emergency response") // Todo: Replace prefix with better one. destination_names = list( - "a classified location in SolGov territory", - "Sif orbit", - "the rings of Kara", - "the rings of Rota", - "Firnir orbit", - "Tyr orbit", - "Magni orbit", - "a wreck in VirGov territory", - "a military outpost", - ) -*/ + "PCRC HQ, in Proxima Centauri", + "a PCRC training installation", + "a PCRC supply depot" + ) + +//I'm covered in beeeeeeees! +/datum/lore/organization/mil/hive + name = "HIVE Security" + short_name = "HIVE" + acronym = "HVS" + desc = "HIVE Security is a merging of several much smaller freelance companies, and operates throughout civilized space. Unlike some companies, it operates no planetside facilities whatsoever, opting instead for larger flotillas that are serviced by innumerable smallcraft. As with any PMC there's no small amount of controversy surrounding them, but they try to keep their operations cleaner than their competitors. They're fairly well known for running 'mercy' operations, which are low-cost no-strings-attached contracts for those in dire need." + history = "" + work = "mercenary contractors" + headquarters = "" + motto = "Strength in Numbers" + autogenerate_destination_names = TRUE + + org_type = "military" + ship_prefixes = list("HPF" = "a secure freight", "HPT" = "a training", "HPS" = "a logistics", "HPV" = "a patrol", "HPH" = "a bounty hunting", "HPX" = "an experimental", "HPC" = "a command", "HPI" = "a mercy") + flight_types = list( + "flight", + "mission", + "route", + "operation", + "assignment", + "contract" + ) + //animals, preferably predators, all factual/extant critters + ship_names = list( + "Wolf", + "Bear", + "Eagle", + "Condor", + "Falcon", + "Hawk", + "Kestrel", + "Shark", + "Fox", + "Weasel", + "Mongoose", + "Bloodhound", + "Rhino", + "Tiger", + "Leopard", + "Panther", + "Cheetah", + "Lion", + "Vulture", + "Piranha", + "Crocodile", + "Alligator", + "Recluse", + "Tarantula", + "Scorpion", + "Orca", + "Coyote", + "Jackal", + "Hyena", + "Hornet", + "Wasp", + "Sealion", + "Viper", + "Cobra", + "Sidewinder", + "Asp", + "Python", + "Anaconda", + "Krait", + "Diamondback", + "Mamba", + "Fer de Lance", + "Keelback", + "Adder", + "Constrictor", + "Boa", + "Moray", + "Taipan", + "Rattlesnake" + ) + destination_names = list( + "the HIVE Command fleet", + "a HIVE patrol fleet", + "a HIVE flotilla", + "a HIVE training fleet", + "a HIVE logistics fleet" + ) + //some basics, padded with autogen + +//replaced the edgy blackstar group with polaris-canon SAARE +/datum/lore/organization/mil/saare + name = "Stealth Assault Enterprises" + short_name = "SAARE" + acronym = "SAARE" + desc = "SAARE consistently have the worst reputation of any paramilitary group. This is because they specialize in deniability and secrecy. Although publically they work in asset recovery, they have a substantiated reputation for info-theft and piracy that has lead to them butting heads with the law on more than one occasion. Nonetheless, they are an invaluable part of the Solar economy, and other TSCs and small colonial governments keep them in business.\ +

    \ + For the purposes of plausible deniability, SAARE designates their ships using a series of rotating identifiers, with ships on a specific operation or in a particular area all using the same initial designation (e.g. 'Sledgehammer') and having a different numerical identifier, with the most important ships involved bearing a unique additional codename (such as 'Actual' for Command \& Control ships). As ships are shuffled in and out of operating areas, it can be difficult to pin down exactly which ship in SAARE's fleet was responsible for which act. SAARE's misdirection is multilayered, including elements such as extensive use of repainting, false IFFs, bribes, forged documents, intimidation, camouflage, and all manner of other underhanded tactics." + history = "" + work = "mercenary contractors" + headquarters = "" + motto = "Aut Neca Aut Necare" + autogenerate_destination_names = TRUE + + org_type = "military" + ship_prefixes = list("SAARE" = "a secure freight", "SAARE" = "a training", "SAARE" = "a logistics", "SAARE" = "a patrol", "SAARE" = "a security", "SAARE" = "an experimental", "SAARE" = "a command", "SAARE" = "a classified") + flight_types = list( + "flight", + "mission", + "route", + "operation", + "assignment", + "contract" + ) + ship_names = list() + destination_names = list( + "SAARE Command", + "a SAARE training site", + "a SAARE logistical depot", + "a SAARE-held shipyard" + ) + +/datum/lore/organization/mil/saare/New() + ..() + var/i = 20 //give us twenty random names, saare uses tacticool designations + var/list/letters = list( + "King", + "Queen", + "Duke", + "Cipher", + "Monarch", + "Marshal", + "Magnum", + "Longbow", + "Jupiter", + "Excalibur", + "Charon", + "Bloodhound", + "Daybreak", + "Tomahawk", + "Raptor", + "Cerberus", + "Apollo", + "Firebird", + "Outlaw", + "Outrider", + "Vector", + "Spearhead", + "Sledgehammer", + "Typhon", + "Sundown", + "Zodiac", + "Colossus", + "Jackhammer", + "Kodiak", + "Phalanx", + "Rainmaker", + "Shockwave", + "Warhammer", + "Crusader", + "Maverick", + "Nighthawk", + "Redshift", + "Challenger", + "Starlight", + "Sunray", + "Ironside", + "Holdfast", + "Foxhound" + ) + var/list/numbersone = list( + "Zero", + "One", + "Two", + "Three", + "Four", + "Five", + "Six", + "Seven", + "Eight", + "Nine" + ) + var/list/numberstwo = list( + "Zero", + "One", + "Two", + "Three", + "Four", + "Five", + "Six", + "Seven", + "Eight", + "Niner" + ) + while(i) + ship_names.Add("[pick(letters)] [pick(40;"Actual","[pick(numbersone)]-[pick(numberstwo)]")]") + i-- + + //ex: "Phalanx One-Niner", "Sledgehammer Actual" (CO/VIP), "Kodiak Seven-Four", "Tomahawk Two-Zero" + //probably a more elegant (read: fancier) way to do the second part but fuck it, this works just fine \ No newline at end of file diff --git a/code/modules/busy_space/organizations_vr.dm b/code/modules/busy_space/organizations_vr.dm deleted file mode 100644 index e14d113689d..00000000000 --- a/code/modules/busy_space/organizations_vr.dm +++ /dev/null @@ -1,877 +0,0 @@ -//Datums for different companies that can be used by busy_space, VR edition - -// Some of these intentionally copy from busy_space/organizations.dm, which is disabled in our server. -////////////////////////////////////////////////////////////////////////////////// - -//Datums for different companies that can be used by busy_space -/datum/lore/organization - var/name = "" // Organization's name - var/short_name = "" // Organization's shortname (NanoTrasen for "NanoTrasen Incorporated") - var/acronym = "" // Organization's acronym, e.g. 'NT' for NanoTrasen'. - var/desc = "" // One or two paragraph description of the organization, but only current stuff. Currently unused. - var/history = "" // Historical discription of the organization's origins Currently unused. - var/work = "" // Short description of their work, eg "an arms manufacturer" - var/headquarters = "" // Location of the organization's HQ. Currently unused. - var/motto = "" // A motto/jingle/whatever, if they have one. Currently unused. - - var/list/ship_prefixes = list() //Some might have more than one! Like NanoTrasen. Value is the mission they perform, e.g. ("ABC" = "mission desc") - var/list/ship_names = list( //Names of spaceships. This is a mostly generic list that all the other organizations inherit from if they don't have anything better. - "Kestrel", - "Beacon", - "Signal", - "Freedom", - "Glory", - "Axiom", - "Eternal", - "Harmony", - "Light", - "Discovery", - "Endeavour", - "Explorer", - "Swift", - "Dragonfly", - "Ascendant", - "Tenacious", - "Pioneer", - "Hawk", - "Haste", - "Radiant", - "Luminous" - ) - var/list/destination_names = list() //Names of static holdings that the organization's ships visit regularly. - var/autogenerate_destination_names = TRUE - -/datum/lore/organization/New() - ..() - if(autogenerate_destination_names) // Lets pad out the destination names. - var/i = rand(6, 10) - var/list/star_names = list( - "Sol", "Alpha Centauri", "Sirius", "Vega", "Regulus", "Vir", "Algol", "Aldebaran", "Vilous", "Sanctum", "Qerr'Vallis", "Kataigal", "Antares", - "Delta Doradus", "Menkar", "Geminga", "Elnath", "Gienah", "Mu Leporis", "Nyx", "Tau Ceti", "Virgo-Erigone", "Uueoa-Esa", "Vazzend", "Kastra-71", - "Wazn", "Alphard", "Phact", "Altair", "El", "Eutopia", "Qerr'valis", "Qerrna-Lakirr", "Rarkajar", "the Almach Rim") - var/list/destination_types = list("dockyard", "station", "vessel", "waystation", "telecommunications satellite", "spaceport", "distress beacon", "anomaly", "colony", "outpost") - while(i) - destination_names.Add("a [pick(destination_types)] in [pick(star_names)]") - i-- - -////////////////////////////////////////////////////////////////////////////////// - -// TSCs -/datum/lore/organization/tsc/nanotrasen - name = "NanoTrasen Incorporated" - short_name = "NanoTrasen" - acronym = "NT" - desc = "NanoTrasen is one of the foremost research and development companies in Commonwealth space. \ - Originally focused on consumer products, their swift move into the field of Phoron has lead to \ - them being the foremost experts on the substance and its uses. In the modern day, NanoTrasen prides \ - itself on being an early adopter to as many new technologies as possible, often offering the newest \ - products to their employees. In an effort to combat complaints about being 'guinea pigs', Nanotrasen \ - also offers one of the most comprehensive medical plans in Commonwealth space, up to and including cloning \ - and therapy.\ -

    \ - NT's most well known products are its phoron based creations, especially those used in Cryotherapy. \ - It also boasts an prosthetic line, which is provided to its employees as needed, and is used as an incentive \ - for newly tested posibrains to remain with the company." - history = "" // To be written someday. - work = "research giant" - headquarters = "Luna" - motto = "" - - ship_prefixes = list("NSV" = "exploration", "NTV" = "hauling", "NDV" = "patrol", "NRV" = "emergency response") - //Scientist or Greek mythology naming scheme - ship_names = list( - "Bardeen", - "Einstein", - "Feynman", - "Sagan", - "Tyson", - "Galilei", - "Jans", - "Fhriede", - "Franklin", - "Tesla", - "Curie", - "Darwin", - "Newton", - "Pasteur", - "Bell", - "Mendel", - "Kepler", - "Edision", - "Cavendish", - "Nye", - "Hawking", - "Aristotle", - "Von Braun", - "Kaku", - "Oppenheimer" - ) - // Note that the current station being used will be pruned from this list upon being instantiated - destination_names = list( - "NSS Exodus in Nyx", - "NCS Northern Star in Vir", - "NAB Smythside Central Headquarters in Sol", - "NAS Zeus orbiting Virgo-Prime", - "NIB Posideon in Alpha Centauri", - "NTB Anur on Virgo-Prime", - "the ruins of Virgo-3B", //YW EDIT - "the phoron refinery in Vilous", - "a dockyard orbiting Virgo-Prime", - "an asteroid orbiting Virgo 3", - ) - -/datum/lore/organization/tsc/nanotrasen/New() - ..() - spawn(1) // BYOND shenanigans means using_map is not initialized yet. Wait a tick. - // Get rid of the current map from the list, so ships flying in don't say they're coming to the current map. - var/string_to_test = "[using_map.station_name] in [using_map.starsys_name]" - if(string_to_test in destination_names) - destination_names.Remove(string_to_test) - - - -/datum/lore/organization/tsc/hephaestus - name = "Hephaestus Industries" - short_name = "Hephaestus" - acronym = "HI" - desc = "Hephaestus Industries is the largest supplier of arms, ammunition, and small millitary vehicles in Sol space. \ - Hephaestus products have a reputation for reliability, and the corporation itself has a noted tendency to stay removed \ - from corporate politics. They enforce their neutrality with the help of a fairly large asset-protection contingent which \ - prevents any contracting polities from using their own materiel against them. The Terran Commonwealth and the Salthan Fyrds are of Hephastus’ largest \ - bulk contractors owing to the above factors." - history = "" - work = "arms manufacturer" - headquarters = "" - motto = "" - - ship_prefixes = list("HTV" = "freight", "HTV" = "munitions resupply") - //War God/Soldier Theme - ship_names = list( - "Ares", - "Athena", - "Grant", - "Custer", - "Puller", - "Nike", - "Bellona", - "Leonides", - "Bast", - "Jackson", - "Lee", - "Annan", - "Chi Yu", - "Shiva", - "Tyr" - ) - destination_names = list( - "a SolCom dockyard on Luna", - "a Fleet outpost in the Almach Rim", - "a Fleet outpost on the Moghes border" - ) - -/datum/lore/organization/tsc/vey_med - name = "Vey-Medical" - short_name = "Vey-Med" - acronym = "VM" - desc = "Vey-Med is one of the newer TSCs on the block and is notable for being largely owned and opperated by Skrell and Elysians. \ - Despite the suspicion and prejudice leveled at them for their origin, Vey-Med has obtained market dominance in \ - the sale of medical equipment-- from surgical tools to large medical devices to the Oddyseus trauma response mecha \ - and everything in between. Their equipment tends to be top-of-the-line, most obviously shown by their incredibly \ - human-like FBP designs. Vey’s rise to stardom came from their introduction of ressurective cloning, although in \ - recent years they’ve been forced to diversify as their patents expired and NanoTrasen-made medications became \ - essential in bulk cloning." - history = "" - work = "medical equipment supplier" - headquarters = "" - motto = "" - - ship_prefixes = list("VTV" = "transportation", "VMV" = "medical resupply") - // Diona names - ship_names = list( - "Wind That Stirs The Waves", - "Sustained Note Of Metal", - "Bright Flash Reflecting Off Glass", - "Veil Of Mist Concealing The Rock", - "Thin Threads Intertwined", - "Clouds Drifting Amid Storm", - "Loud Note And Breaking", - "Endless Vistas Expanding Before The Void", - "Fire Blown Out By Wind", - "Star That Fades From View", - "Eyes Which Turn Inwards", - "Joy Without Which The World Would Come Undone", - "A Thousand Thousand Planets Dangling From Branches" - ) - destination_names = list( - "a research facility in Samsara", - "a SDTF near Ue-Orsi", - "a sapientarian mission in the Almach Rim" - ) - -/datum/lore/organization/tsc/zeng_hu - name = "Zeng-Hu pharmaceuticals" - short_name = "Zeng-Hu" - acronym = "ZH" - desc = "Zeng-Hu is an old TSC, based in the Sol system. Until the discovery of Phoron, Zeng-Hu maintained a stranglehold \ - on the market for medications, and many household names are patentted by Zeng-Hu-- Bicaridyne, Dylovene, Tricordrizine, \ - and Dexalin all came from a Zeng-Hu medical laboratory. Zeng-Hu’s fortunes have been in decline as Nanotrasen’s development of \ - mass cloning medication cuts into their R&D and Vey-Med’s superior medical equipment effectively decimated their own equipment \ - interests. The three-way rivalry between these companies for dominance in the medical field is well-known and a matter of \ - constant economic speculation." - history = "" - work = "pharmaceuticals company" - headquarters = "" - motto = "" - - ship_prefixes = list("ZTV" = "transportation", "ZMV" = "medical resupply") - destination_names = list() - -/datum/lore/organization/tsc/ward_takahashi - name = "Ward-Takahashi General Manufacturing Conglomerate" - short_name = "Ward-Takahashi" - acronym = "WT" - desc = "Ward-Takahashi focuses on the sale of small consumer electronics, with its computers, communicators, \ - and even mid-class automobiles a fixture of many households. Less famously, Ward-Takahashi also supplies most \ - of the AI cores on which vital control systems are mounted, and it is this branch of their industry that has \ - led to their tertiary interest in the development and sale of high-grade AI systems. Ward-Takahashi’s economies \ - of scale frequently steal market share from Nanotrasen’s high-price products, leading to a bitter rivalry in the \ - consumer electronics market." - history = "" - work = "electronics manufacturer" - headquarters = "" - motto = "" - - ship_prefixes = list("WTV" = "freight") - ship_names = list( - "Comet", - "Aurora", - "Supernova", - "Nebula", - "Galaxy", - "Starburst", - "Constellation", - "Pulsar", - "Quark", - "Void", - "Asteroid" - ) - destination_names = list() - -/datum/lore/organization/tsc/bishop - name = "Bishop Cybernetics" - short_name = "Bishop" - acronym = "BC" - desc = "Bishop's focus is on high-class, stylish cybernetics. A favorite among transhumanists (and a byte noire for \ - bioconservatives), Bishop manufactures not only prostheses but also brain augmentation, synthetic organ replacements, \ - and odds and ends like implanted wrist-watches. Their business model tends towards smaller, boutique operations, giving \ - it a reputation for high price and luxury, with Bishop cyberware often rivalling Vey-Med’s for cost. Bishop’s reputation \ - for catering towards the interests of human augmentation enthusiasts instead of positronics have earned it ire from the \ - Positronic Rights Group and puts it in ideological (but not economic) comptetition with Morpheus Cyberkinetics." - history = "" - work = "cybernetics and augmentation manufacturer" - headquarters = "" - motto = "" - - ship_prefixes = list("BTV" = "transportation") - destination_names = list() - -/datum/lore/organization/tsc/morpheus - name = "Morpheus Cyberkinetics" - short_name = "Morpheus" - acronym = "MC" - desc = "The only large corporation run by positronic intelligences, Morpheus caters almost exclusively to their sensibilities \ - and needs. A product of the synthetic colony of Shelf, Morpheus eschews traditional advertising to keep their prices low and \ - relied on word of mouth among positronics to reach their current economic dominance. Morpheus in exchange lobbies heavily for \ - positronic rights, sponsors positronics through their Jans-Fhriede test, and tends to other positronic concerns to earn them \ - the good-will of the positronics, and the ire of those who wish to exploit them." - history = "" - work = "cybernetics manufacturer" - headquarters = "" - motto = "" - - ship_prefixes = list("MTV" = "freight") - // Culture names, because Anewbe told me so. - ship_names = list( - "Nervous Energy", - "Prosthetic Conscience", - "Revisionist", - "Trade Surplus", - "Flexible Demeanour", - "Just Read The Instructions", - "Limiting Factor", - "Cargo Cult", - "Gunboat Diplomat", - "A Ship With A View", - "Cantankerous", - "I Thought He Was With You", - "Never Talk To Strangers", - "Sacrificial Victim", - "Unwitting Accomplice", - "Witting Accomplice", - "Bad For Business", - "Just Testing", - "Size Isn't Everything", - "Yawning Angel", - "Liveware Problem", - "Very Little Gravitas Indeed", - "Zero Gravitas", - "Gravitas Free Zone", - "Absolutely No You-Know-What", - "Existence Is Pain", - "I'm Walking Here", - "Screw Loose", - "Of Course I Still Love You", - "Limiting Factor", - "So Much For Subtley", - "Unfortunate Conflict Of Evidence", - "Prime Mover", - "It's One Of Ours", - "Thank You And Goodnight", - "Boo!", - "Reasonable Excuse", - "Honest Mistake", - "Appeal To Reason", - "My First Ship II", - "Hidden Income", - "Anything Legal Considered", - "New Toy", - "Me, I'm Always Counting", - "Just Five More Minutes", - "Are You Feeling It", - "Great White Snark", - "No Shirt No Shoes", - "Callsign", - "Three Ships in a Trenchcoat", - "Not Wearing Pants", - "Ridiculous Naming Convention", - "God Dammit Morpheus", - "It Seemed Like a Good Idea", - "Legs All the Way Up", - "Purchase Necessary", - "Some Assembly Required", - "Buy One Get None Free", - "BRB", - "SHIP NAME HERE", - "Questionable Ethics", - "Accept Most Substitutes", - "I Blame the Government", - "Garbled Gibberish", - "Thinking Emoji", - "Is This Thing On?", - "Make My Day", - "No Vox Here", - "Savings and Values", - "Secret Name", - "Can't Find My Keys", - "Look Over There!", - "Made You Look!", - "Take Nothing Seriously", - "It Comes In Lime, Too", - "Loot Me", - "Nothing To Declare", - "Sneaking Suspicion", - "Bass Ackwards", - "Good Things Come to Those Who Freight", - "Redundant Morality", - "Synthetic Goodwill", - "Your Ad Here", - "What Are We Plotting?", - "Set Phasers To Stun", - "Preemptive Defensive Strike", - "This Ship Is Spiders", - "Legitimate Trade Vessel", - "Please Don't Explode II" - ) - destination_names = list( - "a trade outpost in Shelf" - ) - -/datum/lore/organization/tsc/xion - name = "Xion Manufacturing Group" - short_name = "Xion" - desc = "Xion, quietly, controls most of the market for industrial equipment on the frontier. Their portfolio includes mining exosuits, \ - factory equipment, rugged positronic chassis, and other pieces of equipment vital to the function of the economy. Xion \ - keeps its control of the market by leasing, not selling, their equipment, and through infamous and bloody patent protection \ - lawsuits. Xion are noted to be a favorite contractor for Rim engineers, owing to their low cost and rugged design." - history = "" - work = "industrial equipment manufacturer" - headquarters = "" - motto = "" - - ship_prefixes = list("XTV" = "hauling") - destination_names = list() - -/datum/lore/organization/tsc/mbt - name = "Major Bill's Transportation" - short_name = "Major Bill's" - desc = "The most popular courier service and starliner, Major Bill's is an unassuming corporation whose greatest asset \ - is their low cost and brand recognition. Major Bill's is known, perhaps unfavorably, for its mascot, Major Bill, \ - a cartoonish military figure that spouts quotable slogans. Their motto is \"With Major Bill's, you won't pay major bills!\", \ - an earworm much of the galaxy longs to forget." - history = "" - work = "courier and passenger transit" - headquarters = "Mars, Sol" - motto = "With Major Bill's, you won't pay major bills!" - - ship_prefixes = list("TTV" = "transport", "TTV" = "luxury transit") - destination_names = list() - -/datum/lore/organization/tsc/independent - name = "Free Traders" - short_name = "Free Trader" - desc = "Though less common now than they were in the decades before the Sol Economic Organization took power, independent traders remain an important part of the galactic economy, owing in no small part to protective tarrifs established by the Free Trade Union in the late twenty-forth century." - history = "" - work = "trade and transit" - headquarters = "N/A" - motto = "N/A" - - ship_prefixes = list("IEV" = "prospecting", "IEC" = "prospecting", "IFV" = "bulk freight", "ITV" = "passenger transport", "ITC" = "just-in-time delivery") - destination_names = list() - -/datum/lore/organization/gov/solgov - name = "Commonwealth of Sol-Procyon" - short_name = "SolCom" - acronym = "CWS" - desc = "The Commonwealth of Sol-Procyon is the evolution of the many nation states of Earth and the outlying colonies \ - having spread amongst the stars. While not quite the hegemon of all Humanity, a narrow majority of them follow \ - the flag of the Commonwealth. The constant tug and pull of government versus corporation, democracy and power \ - troubles this federation of deeply entrenched human colonies much like it did in the 21st century. Some things \ - never change. However, they are economically and culturally quite dominant, although not everyone likes that fact." - history = "" - work = "rump state of humanity's colonies" - headquarters = "Paris, Earth" - motto = "" - autogenerate_destination_names = TRUE - - ship_prefixes = list("CWS-T" = "transportation", "CWS-D" = "diplomatic", "CWS-F" = "freight") - destination_names = list( - "Mercury", - "Venus", - "Earth", - "Luna", - "Mars", - "Titan", - "Europa", - "the SolCom embassy in Virgo-Erigone", - "the SolCom embassy in Vilous" - )// autogen will add a lot of other places as well. -/* // Waiting for Joan to do their thing. -/datum/lore/organization/gov/federation - name = "United Federation of Planets" - short_name = "Federation" - desc = "The United Federation is a federation of planets that have agreed to exist semi-autonomously \ - under a single central hybrid government, sharing the ideals of liberty, equality, and rights \ - for all. It is one of the larger known interstellar powers in known space and is seen as being \ - the fastest building power. The core planet of Gaia is known for having a proud military culture \ - that, ironically, tends to stomp out any idea of warmongering from their cadets due to their \ - scarred history and the Federation's ideals." - history = "Before the United Federation, there was a simple alliance with no name between core planet \ - members. The United Federation itself found its roots in the aftermath of the Bloody \ - Valentine Civil War, a racially motivated war that occurred in 2550 during the last year of \ - the Federation Alliance of Gaia between the Genetically Modified and so-called Naturalists. \ - Neutral nations in Gaia's political sphere, encouraged by alien observers, formed the United \ - Federation when the indiscriminate loss of life became intolerable. 2555 saw the official \ - signing of the Federation Charter between the core planet members." - work = "governing body" - headquarters = "" - motto = "" - //Star Trek ship names! - ship_prefixes = list("SCV" = "military", "STV" = "trading", "SDV" = "diplomatic") - ship_names = list("Kestrel", - "Beacon", - "Signal", - "Flying Freedom", - "Los Canas", - "Ixiom", - "Falken", - "Marigold", - "White Valley", - "Eternal", - "Arkbird", - "Akira", - "Kongou", - "Maki", - "Kagero", - "Nishiki", - "Icarus", - "Yuudachi", - "Tiki", - "Lucina", - "Tenryu", - "Spirit of Koni", - "Lady of Onoilph") - destination_names = list("Ruins of Chani City on Quarri III", - "Ruins of Kreely City on Ocan II", - "Ruins of Mishi City on Lucida IV", - "Ruins of Posloo City on Pi Cephei Prime", - "Molten Plains of Anarakis VII", - "Living City of Shani", - "Floating City of Nuni Vanni", - "Crystalline City of Delve Tile", - "New Iapetus Colony", - "Onul Colony", - "Ahemait Colony", - "New Amasia Colony", - "New Vesta Colony", - "Amaus Research Facility on Azaleh III", - "Living City of Na'me L'Tauri", - "Living City of Fithpa", - "Resource Mines of Lyra III", - "Resource Mines of Chi Cerberi III", - "Ceani Military Outpost on Rily VII", - "Naro Industrial Complex on Scheddi III", - "Mari Industrial Complex on Furlou Prime", - "Runni Crystal Mines of Keid V") -*/ - -/datum/lore/organization/mil/usdf - name = "United Sol Defense Force" - short_name = "" // This is blank on purpose. Otherwise they call the ships "USDF USDF Name" - desc = "The USDF is the dedicated military force of the Commonwealth of Sol-Procyon, originally formed by a council of the Supranations. It is a \ - considerable tool of military power projection, and is able to effectively police a vast amount of space within the Orion Spur. \ - However, regions beyond that are too far for the USDF to be a major player." - history = "" - work = "peacekeeping and piracy suppression" - headquarters = "Paris, Earth" - motto = "pax in terra et astra" // Peace on Earth and Stars - ship_prefixes = list("USDF" = "military", "USDF" = "anti-piracy", "USDF" = "escort", "USDF" = "humanitarian", "USDF" = "peacekeeping", "USDF" = "search-and-rescue", "USDF" = "war game") // It's all USDF but let's mix up what missions they do. - ship_names = list("Aegis Fate", - "Ain't No Sunshine", - "All Under Heaven", - "Allegiance", - "Andraste", - "Anjou", - "Barracuda", - "Bastion", - "Buenos Aires", - "Bum Rush", - "Callisto", - "Charon", - "Colorado", - "Commonwealth", - "Corsair", - "DeGaulle", - "Devestator", - "Dust of Snow", - "Euphrates", - "Fair Weather", - "Finite Hearts", - "Forward Unto Dawn", - "Gettysburg", - "Glamorgan", - "Grafton", - "Great Wall", - "Hammerhead", - "Herakles", - "Hoenir", - "In Amber Clad", - "Iwo Jima", - "Jolly Roger", - "Jormungandr", - "Leonidas", - "Meriwether Lewis", - "Mona Lisa", - "Olympus", - "Paris", - "Pony Express", - "Providence", - "Prydwen", - "Purpose", - "Ready or Not", - "Redoubtable", - "Rising Sun", - "Saratoga", - "Savannah", - "Shanxi", - "Song of the East", - "Stalwart Dawn", - "Strident", - "Tannenberg", - "Tokugawa", - "Totem Lake", - "Tripping Light", - "Two for Flinching") - destination_names = list("San Francisco on Earth", - "Gateway One above Luna", - "SolCom Headquarters on Earth", - "Olympus City on Mars", - "Hermes Naval Shipyard above Mars", - "Cairo Station above Earth", - "a rendezvous point in the Cyprus Arm", - "a settlement on Titan", - "a settlement on Europa", - "Aleph Grande on Ganymede", - "a colony in Proxima II", - "a settlement on Ceti IV-B", - "a colony ship around Ceti IV-B", - "a naval station above Ceti IV-B", - "a classified location in SolCom territory", - "a classified location in uncharted space", - "an emergency nav bouy", - "the USDF Naval Academy on Earth", - "Fort Rain on Tal") -//YW Change start, as we are not planning on removing sol gov like vore, we will keep this here until we know what to do with it. -/datum/lore/organization/mil/oni - name = "SolGov Office of Naval Intelligence" - short_name = "" // This is blank on purpose. Otherwise they call the ships "ONI ONI Name" - desc = "The Office of Naval Intelligence is SolGov's eyes and ears in the galaxy's affairs. Despite its name, and despite its \ - usual association with the USDF, the Office of Naval Intelligence does not fall under the command of the military. From espionage \ - to archeological research, ONI's work provides SolGov with the knowledge and technology it requires to advance both military and \ - civilian interests across the galaxy." - history = "ONI was originally created by the consolidation of several military intelligence agencies from Sol during the Sol-Hegemony war. \ - The USDF's victory in that war was largely accredited to intelligence and technology advancements provided by ONI during that time, \ - most notably of which was the reverse-engineering of Unathi vessels, allowing the production of countermeasures that played a crucial \ - role during in the late stages of the conflict. After the war, ONI's resources were pooled into numerous top secret projects; much of \ - which remains unknown or outright denied to the public even today. Among their suspected activities include exploration, weapons \ - development, xenoarcheology, xenobiology, corporate espionage, and manipulation of political affairs." - work = "espionage, piracy suppression, xeno research, and various other black projects" - headquarters = "Paris, Earth" - motto = "The truth will set you free." - ship_prefixes = list("ONI" = "classified", "ONI" = "archeological", "ONI" = "exploration", "ONI" = "logistic") // It's all ONI but let's mix up what missions they do. - ship_names = list("Bastille", - "Fant�me", - "Harpocrates", - "Hoenir", - "Mata Hari", - "Midsummer Night", - "Mirage", - "Persephone", // Director Ixchel Kisoda's personal research ship - "Versailles") - destination_names = list("parts unknown", - "none of your business", - "uncharted space", - "an undisclosed location", - "facility 8492", - "you don't want to know", - "if told you I'd have to kill you", - "... wait, why am I even telling you this? Just let me pass", - "stop asking questions") -//YW Change stop -/* Space foxes: deleted. Keeping them commented for historical reasons. -YW -/datum/lore/organization/gov/kitsuhana - name = "Kitsuhana Heavy Industries" - short_name = "Kitsuhana" - desc = "A large post-scarcity amalgamation of races, Kitsuhana is no longer a company but rather a loose association of 'members' \ - who only share the KHI name and their ideals in common. Kitsuhana accepts interviews to join their ranks, and though they have no \ - formal structure with regards to government or law, the concept of 'consent' drives most of the large decision making. Kitsuhanans \ - pride themselves on their ability to avoid consequence, essentially preferring to live care-free lives. Their post-scarcity allows \ - them to rebuild, regrow, and replenish almost any lost asset or resource nearly instantly. It leads to many of the Kitsuhana \ - 'members' treating everything with frivolity and lends them a care-free demeanor." - history = "Originally a heavy industrial equipment and space mining company. During a forced evacuation of their homeworld, \ - they were they only organization with enough ship capacity to relocate any significant portion of the population, starting with \ - their own employees. After the resulting slowship travel to nearby starsystems, most of the population decided to keep the moniker \ - of the company name. Over the years, Kitsuhana developed into a post-scarcity anarchy where virtually nothing has consequences and \ - Kitsuhana 'members' can live their lives as they see fit, often in isolation." - work = "utopian anarchy" - headquarters = "Kitsuhana Prime" - motto = "Do what you want. We know we will." - - //Culture ship names! - ship_prefixes = list("KHI" = "personal") //Everybody's out for themselves, yanno. - ship_names = list("Nervous Energy", - "Prosthetic Conscience", - "Revisionist", - "Trade Surplus", - "Flexible Demeanour", - "Just Read The Instructions", - "Limiting Factor", - "Cargo Cult", - "Gunboat Diplomat", - "A Ship With A View", - "Cantankerous", - "I Thought He Was With You", - "Never Talk To Strangers", - "Sacrificial Victim", - "Unwitting Accomplice", - "Bad For Business", - "Just Testing", - "Size Isn't Everything", - "Yawning Angel", - "Liveware Problem", - "Very Little Gravitas Indeed", - "Zero Gravitas", - "Gravitas Free Zone", - "Absolutely No You-Know-What") - destination_names = list("Kitsuhana Prime", - "Kitsuhana Beta", - "Kitsuhana Gamma", - "the Kitsuhana Forge", - "a Kitsuhanan's home", - "a Kitsuhana ringworld in Pleis Ceti V", - "a Kitsuhana ringworld in Lund VI", - "a Kitsuhana ringworld in Dais IX", - "a Kitsuhana ringworld in Leibert II-b") -*/ - -/datum/lore/organization/gov/ares - name = "Ares Confederation" - short_name = "ArCon" - desc = "A loose coalition of socialist and communist movements on the fringes of the human diaspora \ - the Ares Confederation is a government-in-exile from the original uprisings of Mars to stop \ - the government of corporations and capitalist interests over Humanity. While they failed twice \ - they have made their own home far beyond the reach of an effective military response by the \ - Commonwealth. They have become renowned engineers and terraforming experts, mostly due to necessity." - history = "" - work = "idealist socialist government" - headquarters = "Paraiso a Àstrea" - motto = "Liberty to the Stars!" - - ship_prefixes = list("UFHV" = "military", "FFHV" = "shady") - ship_names = list("Bulwark of the Free", - "Charged Negotiation", - "Corporation Breaker", - "Cheeki Breeki", - "Dawnstar", - "Fiery Justice", - "Fist of Ares", - "Freedom", - "Marx Was Right", - "Endstage Capitalism", - "Neoluddism Is The Answer Guys", - "Anarchocapitalism Is A Joke", - "One Of Ours, Captain!", - "Is This Thing On?", - "Front Toward Enemy", - "Path of Prosperity", - "Freedom Cry", - "Rebel Yell", - "We Will Return To Mars", - "According To Our Abilities", - "Posadism Gang", - "Accelerationism Doesn't Work In A Vaccuum", - "Don't Shoot, We're Unarmed I Think", - "The Big Stick For Speaking Softly", - "Bull Moose", - "Engels Needs Some Love Too", - "The Icepick", - "Gauntlet", - "Gellaume", - "Hero of the Revolution", - "Jerome", - "Laughing Maniac", - "Liberty", - "Mahama", - "Memory of Fallen", - "Miko", - "Mostly Harmless", - "None Of Your Business", - "Not Insured", - "People's Fist", - "Petrov", - "Prehensile Ethics", - "Pride of Liberty", - "Rodrick", - "She Is One Of Ours Sir", - "Star of Tiamat", - "Torch of Freedom", - "Torch") - destination_names = list("Drydocks of the Ares Confederation", - "a classified location", - "a Homestead on Paraiso a Àstrea", - "a contested sector of ArCon space", - "one of our free colonies", - "the Gateway 98-C at Ares", - "Sars Mara on Ares", - "Listening Post Maryland-Sigma", - "an emergency nav bouy", - "New Berlin on Nov-Ferrum", - "a settlement needing our help", - "Forward Base Sigma-Alpha in ArCon space") - -/datum/lore/organization/gov/elysian - name = "The Elysian Colonies" - short_name = "Demi-Monde" - acronym = "ECS" - desc = "The Elysian Colonies, located spinwards from the Commonwealth, are a disunited bunch of \ - vanity states, utopia projects and personal autocracies, whose only unifying characteristic is \ - a general disregard of 'normal' social conventions of Humanity as well as their inherent desire \ - to keep to their ways, in which cases they do sometimes unite to fight off an outside threat. \ - The Elysian Colonies are one of the few places where true slavery is not only accepted, but sadly also \ - rather commonplace if you go to the wrong worlds. Not that they don't internally have at least a dozen would-be liberators." - history = "" - work = "fracturous vanity colonies" - headquarters = "" - motto = "" - - ship_prefixes = list("ECS" = "military", "ECS" = "Transport", "ECS" = "Special Transport", "ECS" = "Diplomat") //The Special Transport is SLAAAAVES. - ship_names = list("Bring Me Wine!", - "I Can't Believe You", - "More Wives Your Grace?", - "Daddy Bought Me This", - "What Do You Mean It's Unethical", - "Libertine Ideals", - "The True Free", - "Unbound", - "No Man Shackled", - "All Men Shackled", - "All Women Shackled", - "All Hermaphrodites Shackled", - "You Know We Just Shackle Anyone", - "Nobody Deserves Shackles", - "Debt Slavery Is Ethical", - "Fashioned After Tradition", - "Sic Vic Pacem", - "Cultivate This", - "We Demand Self-Governance", - "A Thousand Cultures", - "There Is a Character Limit?", - "Slave Galley I", - "The Unconquered CCXXII" - - ) - destination_names = list("Cygnus", - "The Ultra Dome of Brutal Kill Death", - "Sanctum", - "Infernum", - "The Most Esteemed Estates of Fred Fredson, Heir of the Fred Throne and All its illustrious Fredpendencies", - "Priory Melana", - "The Clone Pits of Meridiem Five", - "Forward Base Mara Alpha", - "a very tasty looking distress call", - "a liberation intervention", - "a nav bouy within Cygnus Space", - "a Elysian only refuel outpost", - "to a killer party the Fredperor is holding right now") - - -/datum/lore/organization/gov/fyrds - name = "Unitary Alliance of Salthan Fyrds" - short_name = "Fyrds" - acronym = "SMS" - desc = "Born out of neglect, the Salthan Fyrds are cast-off colonies of the Commonwealth after giving up on \ - pacifying the wartorn region and fighting off the stray Unathi Raiders after the Hegemony War. \ - In the end they self-organized into military pacts and have formed a militaristic society, in which \ - every person, be it organic or robot, is a soldier for the continued cause in serving as aegis against \ - another Unathi Incursion. They are very no-nonsense." - history = "" - work = "human stratocracy" - headquarters = "The Pact,Myria" - motto = "" - - ship_prefixes = list("SMS" = "Military") // The Salthans don't do anything else. - ship_names = list("Yi Sun-sin", - "Horatio Nelson", - "Scipio Africanus", - "Hannibal Barca", - "Hamilcar Barca", - "Caesar", - "Belisarius", - "Aggripa", - "Pericles", - "Alexander", - "Napoleon Bonaparte", - "Charles XI", - "Blas de Lezo", - "Ivan Sirko", - "Frederick the Great", - "William of Normandy", - "Shaka Zulu", - "Patton", - "MacArthur", - "Rommel") - destination_names = list("Base Alpha-Romero", - "Base Zeta-Xray", - "Base Epsilon-Epsilon", - "Base Xray-Beta", - "Base Gamma-Delta", - "Base Yotta-Epsilon") diff --git a/code/modules/busy_space_vr/air_traffic.dm b/code/modules/busy_space_vr/air_traffic.dm deleted file mode 100644 index 46adabfcb21..00000000000 --- a/code/modules/busy_space_vr/air_traffic.dm +++ /dev/null @@ -1,466 +0,0 @@ -//Cactus, Speedbird, Dynasty, oh my -//Also, massive additions/refactors by Killian, because the original incarnation was full of holes - -//minimum and maximum message delays, typically tracked in seconds -#define MIN_MSG_DELAY 3 -#define MAX_MSG_DELAY 6 - -var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller - -/datum/lore/atc_controller - var/delay_min = 45 MINUTES //How long between ATC traffic, minimum - var/delay_max = 90 MINUTES //Ditto, maximum - //Shorter delays means more traffic, which gives the impression of a busier system, but also means a lot more radio noise - var/backoff_delay = 5 MINUTES //How long to back off if we can't talk and want to. Default is 5 mins. - var/initial_delay = 15 MINUTES //How long to wait before sending the first message of the shift. - var/next_message = 45 MINUTES //When the next message should happen in world.time - Making it default to min value - var/force_chatter_type //Force a specific type of messages - - var/squelched = 0 //If ATC is squelched currently - - //define a block of frequencies so we can have them be static instead of being random for each call - var/ertchannel - var/medchannel - var/engchannel - var/secchannel - var/sdfchannel - -/datum/lore/atc_controller/New() - //generate our static event frequencies for the shift. alternately they can be completely fixed, up in the core block - ertchannel = "[rand(700,749)].[rand(1,9)]" - medchannel = "[rand(750,799)].[rand(1,9)]" - engchannel = "[rand(800,849)].[rand(1,9)]" - secchannel = "[rand(850,899)].[rand(1,9)]" - sdfchannel = "[rand(900,999)].[rand(1,9)]" - spawn(450 SECONDS) //Lots of lag at the start of a shift. Yes, the following lines *have* to be indented or they're not delayed by the spawn properly. - msg("New shift beginning, resuming traffic control. This shift's Colony Frequencies are as follows: Emergency Responders: [ertchannel]. Medical: [medchannel]. Engineering: [engchannel]. Security: [secchannel]. System Defense: [sdfchannel].") - next_message = world.time + initial_delay - process() - -/datum/lore/atc_controller/process() - if(world.time >= next_message) - if(squelched) - next_message = world.time + backoff_delay - else - next_message = world.time + rand(delay_min,delay_max) - random_convo() - - spawn(1 MINUTE) //We don't really need high-accuracy here. - process() - -/datum/lore/atc_controller/proc/msg(var/message,var/sender) - ASSERT(message) - global_announcer.autosay("[message]", sender ? sender : "[using_map.dock_name] Control") - -/datum/lore/atc_controller/proc/reroute_traffic(var/yes = 1) - if(yes) - if(!squelched) - msg("Rerouting traffic away from [using_map.station_name].") - squelched = 1 - else - if(squelched) - msg("Resuming normal traffic routing around [using_map.station_name].") - squelched = 0 - -/datum/lore/atc_controller/proc/shift_ending(var/evac = 0) - msg("[using_map.shuttle_name], this is [using_map.dock_name] Control, you are cleared to complete routine transfer from [using_map.station_name] to [using_map.dock_name].") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("[using_map.shuttle_name] departing [using_map.dock_name] for [using_map.station_name] on routine transfer route. Estimated time to arrival: ten minutes.","[using_map.shuttle_name]") - -/datum/lore/atc_controller/proc/random_convo() - var/one = pick(loremaster.organizations) //These will pick an index, not an instance - var/two = pick(loremaster.organizations) - - var/datum/lore/organization/source = loremaster.organizations[one] //Resolve to the instances - var/datum/lore/organization/secondary = loremaster.organizations[two] //repurposed for new fun stuff - - //Let's get some mission parameters, pick our first ship - var/name = source.name //get the name - var/owner = source.short_name //Use the short name - var/prefix = pick(source.ship_prefixes) //Pick a random prefix - var/mission = source.ship_prefixes[prefix] //The value of the prefix is the mission type that prefix does - var/shipname = pick(source.ship_names) //Pick a random ship name - var/destname = pick(source.destination_names) //destination is where? - var/slogan = pick(source.slogans) //god help you all - var/org_type = source.org_type //which group do we belong to? - - //pick our second ship - //var/secondname = secondary.name //not used atm, commented out to suppress errors - var/secondowner = secondary.short_name - var/secondprefix = pick(secondary.ship_prefixes) //Pick a random prefix - var/secondshipname = pick(secondary.ship_names) //Pick a random ship name - var/org_type2 = secondary.org_type - - var/combined_first_name = "[owner][prefix] |[shipname]|" - var/combined_second_name = "[secondowner][secondprefix] |[secondshipname]|" - - var/alt_atc_names = list("[using_map.dock_name] Traffic Control","[using_map.dock_name] TraCon","[using_map.dock_name] System Control","[using_map.dock_name] Star Control","[using_map.dock_name] SysCon","[using_map.dock_name] Tower","[using_map.dock_name] Control","[using_map.dock_name] STC","[using_map.dock_name] StarCon") - var/mission_noun = pick(source.flight_types) //pull from a list of owner-specific flight ops, to allow an extra dash of flavor - if(source.complex_tasks) //if our source has the complex_tasks flag, regenerate with a two-stage assignment - mission_noun = "[pick(source.task_types)] [pick(source.flight_types)]" - - //First response is 'yes', second is 'no' - var/requests = list( - "special flight rules" = list("authorizing special flight rules", "denying special flight rules, not allowed for your traffic class"), - "current solar weather info" = list("sending you the relevant information via tightbeam", "your request has been queued, stand by"), - "sector aerospace priority" = list("affirmative, sector aerospace priority is yours", "negative, another vessel in your sector has priority right now"), - "system traffic info" = list("sending you current traffic info", "request queued, please hold"), - "refueling information" = list("sending refueling information now", "depots currently experiencing fuel shortages, advise you move on"), - "a current system time sync" = list("sending time sync ping to you now", "your ship isn't compatible with our time sync, set time manually"), - "current system starcharts" = list("transmitting current starcharts", "your request is queued, overloaded right now") - ) - - //Random chance things for variety - var/chatter_type = "normal" - if(force_chatter_type) - chatter_type = force_chatter_type - else if((org_type == "government" || org_type == "neutral" || org_type == "military" || org_type == "corporate" || org_type == "system defense" || org_type == "spacer") && org_type2 == "pirate") //this is ugly but when I tried to do it with !='s it fired for pirate-v-pirate, still not sure why. might as well stick it up here so it takes priority over other combos. - chatter_type = "distress" - else if(org_type == "corporate") //corporate-specific subset for the slogan event. despite the relatively high weight it was still quite rare in tests. - chatter_type = pick(5;"emerg",25;"policescan",25;"traveladvisory",30;"pathwarning",180;"dockingrequestgeneric",30;"undockingrequest","normal",30;"undockingdenied",50;"slogan",25;"civvieleaks",25;"report_to_dock") - else if((org_type == "government" || org_type == "neutral" || org_type == "military")) - chatter_type = pick(5;"emerg",25;"policescan",25;"traveladvisory",30;"pathwarning",180;"dockingrequestgeneric",30;"undockingrequest","normal",30;"undockingdenied",25;"civvieleaks",25;"report_to_dock") - else if(org_type == "spacer") - chatter_type = pick(5;"emerg",15;"policescan",15;"traveladvisory",5;"pathwarning",150;"dockingrequestgeneric",30;"undockingrequest","normal",10;"undockingdenied",25;"civvieleaks",25;"report_to_dock") - - //the following filters *always* fire their 'unique' event when they're tripped, simply because the conditions behind them are quite rare to begin with - else if(org_type == "smuggler" && org_type2 != "system defense") //just straight up funnel smugglers into always being caught, otherwise we get them asking for traffic info and stuff - chatter_type = "policeflee" - else if(org_type == "smuggler" && org_type2 == "system defense") //ditto, if an SDF ship catches them - chatter_type = "policeshipflee" - else if((org_type == "smuggler" || org_type == "pirate") && org_type2 == "system defense") //if we roll this combo instead, time for the SDF to do their fucking job - chatter_type = "policeshipcombat" - else if((org_type == "smuggler" || org_type == "pirate") && org_type2 != "system defense") //but if we roll THIS combo, time to alert the SDF to get off their asses - chatter_type = "hostiledetected" - //SDF-specific events that need to filter based on the second party (basically just the following SDF-unique list with the soft-result ship scan thrown in) - else if(org_type == "system defense" && (org_type2 == "government" || org_type2 == "neutral" || org_type2 == "military" || org_type2 == "corporate" || org_type2 == "spacer")) //let's see if we can narrow this down, I didn't see many ship-to-ship scans - chatter_type = pick(75;"policeshipscan","sdfpatrolupdate",75;"sdfendingpatrol",180;"dockingrequestgeneric",20;"undockingrequest",75;"sdfbeginpatrol",50;"normal",10;"civvieleaks") - //SDF-specific events that don't require the secondary at all, in the event that we manage to roll SDF + hostile/smuggler or something - else if(org_type == "system defense") - chatter_type = pick("sdfpatrolupdate",60;"sdfendingpatrol",120;"dockingrequestgeneric",20;"undockingrequest",80;"sdfbeginpatrol","normal","sdfchatter") - //if we somehow don't match any of the other existing filters once we've run through all of them - else - chatter_type = pick(5;"emerg",25;"policescan",25;"traveladvisory",30;"pathwarning",90;"dockingrequestgeneric",30;"undockingrequest",30;"undockingdenied","normal",25;"civvieleaks") - //I probably should do some kind of pass here to work through all the possible combinations of major factors and see if the filtering list needs reordering or modifying, but I really can't be arsed - - //DEBUG BLOCK - //to_world("DEBUG OUTPUT 1: [name], [owner], [prefix], [mission], [shipname], [org_type], [destname]") - //to_world("DEBUG OUTPUT 2: [secondowner], [secondprefix], [secondshipname], [org_type2]") - //to_world("DEBUG OUTPUT 3: Chose [chatter_type]") - //DEBUG BLOCK ENDS - - var/yes = prob(90) //Chance for them to say yes vs no - - var/request = pick(requests) - var/callname = pick(alt_atc_names) - var/response = requests[request][yes ? 1 : 2] //1 is yes, 2 is no - var/number = rand(1,42) - var/zone = pick("Alpha","Beta","Gamma","Delta","Epsilon","Zeta","Eta","Theta","Iota","Kappa","Lambda","Mu","Nu","Xi","Omicron","Pi","Rho","Sigma","Tau","Upsilon","Phi","Chi","Psi","Omega") - //fallbacks in case someone sets the dock_type on the map datum to null- it defaults to "station" normally - var/landing_zone = "LZ [zone]" - var/landing_type = "landing zone" - var/landing_move = "landing request" - var/landing_short = "land" - switch(using_map.dock_type) - if("surface") //formal installations with proper facilities - landing_zone = "landing pad [number]" - landing_type = "landing pad" - landing_move = "landing request" - landing_short = "land" - if("frontier") //for frontier bases - landing spots are literally just open ground, maybe concrete at best - landing_zone = "LZ [zone]" - landing_type = "landing zone" - landing_move = "landing request" - landing_short = "land" - if("station") //standard station pattern - landing_zone = "docking bay [number]" - landing_type = "docking bay" - landing_move = "docking request" - landing_short = "dock" - - // what you're about to witness is what feels like an extremely kludgy rework of the system, but it's more 'flexible' and allows events that aren't just ship-stc-ship - // something more elegant could probably be done, but it won't be done by somebody as half-competent as me - switch(chatter_type) - //mayday call - if("emerg") - var/problem = pick("We have hull breaches on multiple decks","We have unknown hostile life forms on board","Our primary drive is failing","We have [pick("asteroids","space debris")] impacting the hull","We're experiencing a total loss of engine power","We have hostile ships closing fast","There's smoke [pick("in the cockpit","on the bridge")]","We have unidentified boarders","Our reaction control system is malfunctioning and we're losing stability","Our life support [pick("is failing","has failed")]") - msg("+Mayday, mayday, mayday!+ This is [combined_first_name] declaring an emergency! [problem]!","[prefix] [shipname]") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("[combined_first_name], this is [using_map.dock_name] Control, copy. Switch to emergency responder channel [ertchannel].") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("Understood [using_map.dock_name] Control, switching now.","[prefix] [shipname]") - //Control scan event: soft outcome - if("policescan") - var/confirm = pick("Understood","Roger that","Affirmative","Very well","Copy that") - var/complain = pick("I hope this doesn't take too long.","Can we hurry this up?","Make it quick.","This better not take too long.","Is this really necessary?","I'm sure you'll find everything to be in order, Control.") - var/completed = pick("You're free to proceed.","Everything looks fine, carry on.","You're clear, move along.","Apologies for the delay, you're clear.","Switch to channel [sdfchannel] and await further instruction.") - msg("[combined_first_name], this is [using_map.dock_name] Control, your [pick("ship","vessel","starship")] has been flagged for routine inspection. Hold position and prepare to be scanned.") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("[confirm] [using_map.dock_name] Control, holding position.","[prefix] [shipname]") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("Your compliance is appreciated, [combined_first_name]. Scan commencing.") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY)*2 SECONDS) - msg(complain,"[prefix] [shipname]") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY)*3 SECONDS) - msg("[combined_first_name], this is [using_map.dock_name] Control. Scan complete. [completed]") - //Control scan event: hard outcome - if("policeflee") - var/uhoh = pick("No can do chief, we got places to be.","Sorry but we've got places to be.","Not happening.","Ah fuck, who ratted us out this time?!","You'll never take me alive!","Hey, I have a cloaking device! You can't see me!","I'm going to need to ask for a refund on that stealth drive...","I'm afraid I can't do that, Control.","Ah |hell|.","Fuck!","This isn't the ship you're looking for.","Well. This is awkward.","Uh oh.","I surrender!","Ah f- |ditch the containers!| +Now!+","Unless you have something a little +bigger+ in your torpedo tubes, we're |not| turning around!") - msg("Unknown [pick("ship","vessel","starship")], this is [using_map.dock_name] Control, identify yourself and submit to a full inspection. Flying without an active transponder is a violation of interstellar shipping regulations.") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("[uhoh]","[shipname]") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("This is [using_map.starsys_name] Defense Control to all local assets: vector to interdict and detain [combined_first_name]. Control out.","[using_map.starsys_name] Defense Control") - //SDF scan event: soft outcome - if("policeshipscan") - var/confirm = pick("Understood","Roger that","Affirmative") - var/complain = pick("I hope this doesn't take too long.","Can we hurry this up?","Make it quick.","This better not take too long.","Is this really necessary?","I'm sure you'll find everything to be in order, officer.") - var/completed = pick("You're free to proceed.","Everything looks fine, carry on.","You're clear. Move along.","Apologies for the delay, you're clear.","Switch to channel [sdfchannel] and await further instruction.") - msg("[combined_second_name], this is [combined_first_name], your [pick("ship","vessel","starship")] has been flagged for routine inspection. Hold position and prepare to be scanned.","[prefix] [shipname]") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("[confirm] [combined_first_name], holding position.","[secondprefix] [secondshipname]") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("Your compliance is appreciated, [combined_second_name]. Scan commencing.","[prefix] [shipname]") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY)*2 SECONDS) - msg(complain,"[secondprefix] [secondshipname]") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY)*3 SECONDS) - msg("[combined_second_name], this is [combined_first_name]. Scan complete. [completed]","[prefix] [shipname]") - //SDF scan event: hard outcome - if("policeshipflee") - var/uhoh = pick("No can do chief, we got places to be.","Sorry but we've got places to be.","Not happening.","Ah fuck, who ratted us out this time?!","You'll never take me alive!","Hey, I have a cloaking device! You can't see me!","I'm going to need to ask for a refund on that stealth drive...","I'm afraid I can't do that, |[shipname]|.","Ah |hell|.","Fuck!","This isn't the ship you're looking for.","Well. This is awkward.","Uh oh.","I surrender!","Ah f- |ditch the containers!| +Now!+","Unless you have something a little +bigger+ in your torpedo tubes, we're |not| turning around!") - msg("Unknown [pick("ship","vessel","starship")], this is [combined_second_name], identify yourself and submit to a full inspection. Flying without an active transponder is a violation of interstellar shipping regulations.","[secondprefix] [secondshipname]") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("[uhoh]","[shipname]") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("[using_map.starsys_name] Defense Control, this is [combined_second_name]. We have a situation here, please advise.","[secondprefix] [secondshipname]") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("Defense Control copies, [combined_second_name], reinforcements are en route. Switch further communications to encrypted band [sdfchannel].","[using_map.starsys_name] Defense Control") - //SDF scan event: engage primary in combat! fairly rare since it needs a pirate/vox + SDF roll - if("policeshipcombat") - var/battlestatus = pick("requesting reinforcements.","we need backup! Now!","holding steady.","we're holding our own for now.","we have them on the run.","they're trying to make a run for it!","we have them right where we want them.","we're badly outgunned!","we have them outgunned.","we're outnumbered here!","we have them outnumbered.","this'll be a cakewalk.",10;"notify their next of kin.") - msg("[using_map.starsys_name] Defense Control, this is [combined_second_name], engaging [combined_first_name] [pick("near route","in sector")] [rand(1,100)], [battlestatus]","[secondprefix] [secondshipname]") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("[using_map.starsys_name] Defense Control copies, [combined_second_name]. Keep us updated.","[using_map.starsys_name] Defense Control") - //SDF event: patrol update - if("sdfpatrolupdate") - var/statusupdate = pick("nothing unusual so far","nothing of note","everything looks clear so far","ran off some [pick("pirates","marauders")] near route [pick(1,100)], [pick("no","minor")] damage sustained, continuing patrol","situation normal, no suspicious activity yet","minor incident on route [pick(1,100)]","Code 7-X [pick("on route","in sector")] [pick(1,100)], situation is under control","seeing a lot of traffic on route [pick(1,100)]","caught a couple of smugglers [pick("on route","in sector")] [pick(1,100)]","sustained some damage in a skirmish just now, we're heading back for repairs") - msg("[using_map.starsys_name] Defense Control, this is [combined_first_name] reporting in, [statusupdate], over.","[prefix] [shipname]") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("[using_map.starsys_name] Defense Control copies, [combined_first_name]. Keep us updated, out.","[using_map.starsys_name] Defense Control") - //SDF event: end patrol - if("sdfendingpatrol") - var/appreciation = pick("Copy","Understood","Affirmative","10-4","Roger that") - var/dockingplan = pick("Starting final approach now.","Commencing landing procedures.","Autopilot engaged.","Approach vector locked in.","In the pipe, five by five.") - msg("[callname], this is [combined_first_name], returning from our system patrol route, requesting permission to [landing_short].","[prefix] [shipname]") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("[combined_first_name], this is [using_map.dock_name] Control. Permission granted, proceed to [landing_zone]. Follow the green lights on your way in.") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("[appreciation], [using_map.dock_name] Control. [dockingplan]","[prefix] [shipname]") - //SDF event: general chatter - if("sdfchatter") - var/chain = pick("codecheck","commscheck") - switch(chain) - if("codecheck") - msg("Check. Check. |Check|. Uhhh... check? Wait. Wait! Hold on. Yeah, okay, I gotta call this one in.","[prefix] [shipname]") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("[using_map.dock_name] Control, confirm auth-code... [rand(1,9)][rand(1,9)][rand(1,9)]-[pick("Alpha","Beta","Gamma","Delta","Epsilon","Zeta","Eta","Theta","Iota","Kappa","Lambda","Mu","Nu","Xi","Omicron","Pi","Rho","Sigma","Tau","Upsilon","Phi","Chi","Psi","Omega")]?","[prefix] [shipname]") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("One moment...") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY)*2 SECONDS) - msg("Yeah, that code checks out [combined_first_name].") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("|(sigh)| Copy that Control. You! Move along!","[prefix] [shipname]") - if("commscheck") - msg("Control this is [combined_first_name], we're getting some interference in our area. [pick("How's our line?","Do you read?","How copy, over?")]","[prefix] [shipname]") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("Control reads you loud and clear [combined_first_name].","[using_map.starsys_name] Defense Control") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("[pick("Copy that","Thanks,","Roger that")] Control. [combined_first_name] out.","[prefix] [shipname]") - //Civil event: leaky chatter - if("civvieleaks") - var/commleak = pick("thatsmywife","missingkit","pipeleaks","weirdsmell","weirdsmell2","scug","teppi") - switch(commleak) - if("thatsmywife") - msg("-so then I says to him, |that's no [pick("space carp","space shark","vox","garbage scow","freight liner","cargo hauler","superlifter")], that's my +wife!+| And he-","[prefix] [shipname]") - if("missingkit") - msg("-did you get the kit from down on deck [rand(1,4)]? I need th-","[prefix] [shipname]") - if("pipeleaks") - msg("I swear if these pipes keep leaking I'm going to-","[prefix] [shipname]") - if("weirdsmell") - msg("-and where the hell is that smell coming fr-","[prefix] [shipname]") - if("weirdsmell2") - msg("-hat in the [pick("three","five","seven","nine")] hells did you |eat| [pick("ensign","crewman")]? This compartment reeks of-","[prefix] [shipname]") - if("scug") - msg("-and if that weird cat of yours keeps crawling into the pipes we-","[prefix] [shipname]") - if("teppi") - msg("-at are we supposed to do with this damn cow?","[prefix] [shipname]") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("I don't think it's a cow, sir, it looks more like a-","[prefix] [shipname]") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("[combined_first_name], your internal comms are leaking[pick("."," again.",", again.",". |Again|.")]") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("Sorry Control, won't happen again.","[prefix] [shipname]") - //DefCon event: hostile found - if("hostiledetected") - var/orders = pick("Engage on sight","Engage with caution","Engage with extreme prejudice","Engage at will","Search and destroy","Bring them in alive, if possible","Interdict and detain","Keep your eyes peeled","Bring them in, dead or alive","Stay alert") - msg("This is [using_map.starsys_name] Defense Control to all SDF assets. Priority update follows.","[using_map.starsys_name] Defense Control") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("Be on the lookout for [combined_first_name], last sighted [pick("near route","in sector","near sector")] [rand(1,100)]. [orders]. DefCon, out.","[using_map.starsys_name] Defense Control") - //Ship event: distress call, under attack - if("distress") - var/state = pick(66;"calm",34;"panic") - switch(state) - if("calm") - msg("[using_map.starsys_name] Defense Control, this is [combined_first_name].","[prefix] [shipname]") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("We read you. Go ahead, [combined_first_name].","[using_map.starsys_name] Defense Control") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("Another vessel in our area is moving [pick("aggressively","suspiciously","erratically","unpredictably","with clear hostile intent")], please advise? Forwarding sensor data now.","[prefix] [shipname]","[prefix] [shipname]") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("[combined_first_name], [using_map.starsys_name] Defense Control copies. Sensor data matches logged profile for [combined_second_name]. SDF units are en route to your location.","[using_map.starsys_name] Defense Control") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("[pick("Appreciated","Copy that","Understood")], Control. Switching to [sdfchannel] to coordinate.","[prefix] [shipname]") - if("panic") - msg("+Mayday, mayday, mayday!+ This is [combined_first_name] declaring an emergency! We are under attack by [combined_second_name]! Requesting immediate assistance!","[prefix] [shipname]") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("[combined_first_name], this is [using_map.starsys_name] Defense Control, copy. SDF is en route, contact on [sdfchannel].") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("[pick("Copy that","Understood")] [using_map.starsys_name] Defense Control, switching now!","[prefix] [shipname]") - //Control event: travel advisory - if("traveladvisory") - var/flightwarning = pick("Solar flare activity is spiking and expected to cause issues along main flight lanes [rand(1,33)], [rand(34,67)], and [rand(68,100)]","Pirate activity is on the rise, stay close to System Defense vessels","We're seeing a rise in illegal salvage operations, please report any unusual activity to the nearest SDF vessel via channel [sdfchannel]","Vox Marauder activity is higher than usual, report any unusual activity to the nearest System Defense vessel","A quarantined [pick("fleet","convoy")] is passing through the system along route [rand(1,100)], please observe minimum safe distance","A prison [pick("fleet","convoy")] is passing through the system along route [rand(1,100)], please observe minimum safe distance","Traffic volume is higher than normal, expect processing delays","Anomalous bluespace activity detected [pick("along route [rand(1,100)]","in sector [rand(1,100)]")], exercise caution","Smugglers have been particularly active lately, expect increased security scans","Depots are currently experiencing a fuel shortage, expect delays and higher rates","Asteroid mining has displaced debris dangerously close to main flight lanes on route [rand(1,100)], watch for potential impactors","[pick("Pirate","Vox Marauder")] and System Defense forces are currently engaged in skirmishes throughout the system, please steer clear of any active combat zones","A [pick("fuel tanker","cargo liner","passenger liner","freighter","transport ship","mining barge","salvage trawler")] has collided with [pick("a fuel tanker","a cargo liner","a passenger liner","a freighter","a transport ship","a mining barge","a salvage trawler","a meteoroid","a cluster of space debris","an asteroid","an ice-rich comet")] near route [rand(1,100)], watch for debris and do not impede emergency service vessels","A [pick("fuel tanker","cargo liner","passenger liner","freighter","transport ship","mining barge","salvage trawler")] on route [rand(1,100)] has experienced total engine failure. Emergency response teams are en route, please observe minimum safe distances and do not impede emergency service vessels","Transit routes have been recalculated to adjust for planetary drift. Please synch your astronav computers as soon as possible to avoid delays and difficulties","[pick("Bounty hunters","System Defense officers","Mercenaries")] are currently searching for a wanted fugitive, report any sightings of suspicious activity to System Defense via channel [sdfchannel]","Mercenary contractors are currently conducting aggressive [pick("piracy","marauder")] suppression operations",10;"It's space [pick("carp","shark")] breeding season. [pick("Stars","Skies","Gods","God","Goddess","Fates")] have mercy on you all") - msg("This is [using_map.dock_name] Control to all vessels in the [using_map.starsys_name] system. Priority travel advisory follows.") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("[flightwarning]. Control out.") - //Control event: warning to a specific vessel - if("pathwarning") - var/navhazard = pick("a pocket of intense radiation","a pocket of unstable gas","a debris field","a secure installation","an active combat zone","a quarantined ship","a quarantined installation","a quarantined sector","a live-fire SDF training exercise","an ongoing Search & Rescue operation","a hazardous derelict","an intense electrical storm","an intense ion storm","a shoal of space carp","a pack of space sharks","an asteroid infested with gnat hives","a protected space ray habitat","a region with anomalous bluespace activity","a rogue comet") - var/confirm = pick("Understood","Roger that","Affirmative","Our bad","Thanks for the heads up") - var/safetravels = pick("Fly safe out there","Good luck","Safe travels","Godspeed","Stars guide you","Don't let it happen again") - msg("[combined_first_name], this is [using_map.dock_name] Control, your [pick("ship","vessel","starship")] is approaching [navhazard], observe minimum safe distance and adjust your heading appropriately.") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("[confirm] [using_map.dock_name] Control, adjusting course.","[prefix] [shipname]") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("Your compliance is appreciated, [combined_first_name]. [safetravels].") - //Control event: personnel report to dock - if("report_to_dock") - var/situation_type = pick("medical","security","engineering","animal control") - msg("This is [using_map.dock_name] Control. Would a free [situation_type] team please report to [landing_zone] immediately. This is not a drill.") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY)*10 SECONDS) - msg("Repeat, any free [situation_type] team, report to [landing_zone] immediately. This is +not+ a drill.") - //Ship event: docking request (generic) - if("dockingrequestgeneric") - var/request_type = pick(100;"generic",50;"delayed",80;"supply",30;"repair",30;"medical",30;"security") - var/appreciation = pick("Much appreciated","Many thanks","Understood","Perfect, thank you","Excellent, thanks","Great","Copy that") - var/dockingplan = pick("Starting final approach now.","Commencing landing procedures.","Autopilot engaged.","Approach vector locked in.","In the pipe, five by five.") - switch(request_type) - if("generic") - msg("[callname], this is [combined_first_name], [pick("stopping by","passing through")] on our way to [destname], requesting permission to [landing_short].","[prefix] [shipname]") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("[combined_first_name], this is [using_map.dock_name] Control. Permission granted, proceed to [landing_zone]. Follow the green lights on your way in.") - if("delayed") - var/reason = pick( - "we don't have any free [landing_type]s right now, please [pick("stand by for a couple of minutes","hold for a few minutes")]", - "you're too far away, please close to ten thousand meters","we're seeing heavy traffic around the [landing_type]s right now, please [pick("stand by for a couple of minutes","hold for a few minutes")]","ground crews are currently clearing up [pick("loose containers","a fuel spill")] to free up one of our [landing_type]s, please [pick("stand by for a couple of minutes","hold for a few minutes")]","another vessel has aerospace priority right now, please [pick("stand by for a couple of minutes","hold for a few minutes")]") - msg("[callname], this is [combined_first_name], [pick("stopping by","passing through")] on our way to [destname], requesting permission to [landing_short].","[prefix] [shipname]") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("[combined_first_name], this is [using_map.dock_name] Control. Request denied, [reason] and resubmit your request.") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("Understood, [using_map.dock_name] Control.","[prefix] [shipname]") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY)*60 SECONDS) - msg("[callname], this is [combined_first_name], resubmitting [landing_move].","[prefix] [shipname]") - sleep (5 SECONDS) - msg("[combined_first_name], this is [using_map.dock_name] Control. Everything appears to be in order now, permission granted, proceed to [landing_zone]. Follow the green lights on your way in.") - if("supply") - var/preintensifier = pick(75;"getting ",75;"running ","",15;"like, ") //whitespace hack, sometimes they'll add a preintensifier, but not always - var/intensifier = pick("very","pretty","critically","extremely","dangerously","desperately","kinda","a little","a bit","rather","sorta") - var/low_thing = pick("ammunition","munitions","clean water","food","spare parts","medical supplies","reaction mass","gas","hydrogen fuel","phoron fuel","fuel",10;"tea",10;"coffee",10;"soda",10;"pizza",10;"beer",10;"booze",10;"vodka",10;"snacks") //low chance of a less serious shortage - appreciation = pick("Much appreciated","Many thanks","Understood","You're a lifesaver","We owe you one","I owe you one","Perfect, thank you") - msg("[callname], this is [combined_first_name]. We're [preintensifier][intensifier] low on [low_thing]. Requesting permission to [landing_short] for resupply.","[prefix] [shipname]") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("[combined_first_name], this is [using_map.dock_name] Control. Permission granted, proceed to [landing_zone]. Follow the green lights on your way in.") - if("repair") - var/damagestate = pick("We've experienced some hull damage","We're suffering minor system malfunctions","We're having some [pick("weird","strange","odd","unusual")] technical issues","We're overdue maintenance","We have several minor space debris impacts","We've got some battle damage here","Our reactor output is fluctuating","We're hearing some weird noises from the [pick("engines","pipes","ducting","HVAC")]","We just got caught in a solar flare","We had a close call with an asteroid","We have a [pick("minor","mild","major","serious")] [pick("fuel","water","oxygen","gas")] leak","We have depressurized compartments","We have a hull breach","One of our [pick("hydraulic","pneumatic")] systems has depressurized","Our [pick("life support","water recycling system","navcomp","shield generator","reaction control system","auto-repair system","repair drone controller","artificial gravity generator","environmental control system","master control system")] is [pick("failing","acting up","on the fritz","shorting out","glitching out","freaking out","malfunctioning")]") - appreciation = pick("Much appreciated","Many thanks","Understood","You're a lifesaver","We owe you one","I owe you one","Perfect, thank you") - msg("[callname], this is [combined_first_name]. [damagestate]. Requesting permission to [landing_short] for repairs and maintenance.","[prefix] [shipname]") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("[combined_first_name], this is [using_map.dock_name] Control. Permission granted, proceed to [landing_zone]. Follow the green lights on your way in. Repair crews are standing by, contact them on channel [engchannel].") - if("medical") - var/species = pick("human","humanoid","unathi","lizard","tajaran","feline","skrell","akula","promethean","sergal","synthetic","robotic","teshari","avian","vulpkanin","canine","vox","zorren","hybrid","mixed-species","vox","grey","alien",5;"catslug") - var/medicalstate = pick("multiple casualties","several cases of radiation sickness","an unknown virus","an unknown infection","a critically injured VIP","sick refugees","multiple cases of food poisoning","injured [pick("","[species] ")]passengers","sick [pick("","[species] ")]passengers","injured engineers","wounded marines","a delicate situation","a pregnant passenger","injured [pick("","[species] ")]castaways","recovered escape pods","unknown escape pods") - appreciation = pick("Much appreciated","Many thanks","Understood","You're a lifesaver","We owe you one","I owe you one","Perfect, thank you") - msg("[callname], this is [combined_first_name]. We have [medicalstate] on board. Requesting permission to [landing_short] for medical assistance.","[prefix] [shipname]") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("[combined_first_name], this is [using_map.dock_name] Control. Permission granted, proceed to [landing_zone]. Follow the green lights on your way in. Medtechs are standing by, contact them on channel [medchannel].") - if("security") - var/species = pick("human","humanoid","unathi","lizard","tajaran","feline","skrell","akula","promethean","sergal","synthetic","robotic","teshari","avian","vulpkanin","canine","vox","zorren","hybrid","mixed-species","vox","grey","alien",5;"catslug") - var/securitystate = pick("several [species] convicts","a captured pirate","a wanted criminal","[species] stowaways","incompetent [species] shipjackers","a delicate situation","a disorderly passenger","disorderly [species] passengers","ex-mutineers","a captured vox marauder","captured vox marauders","stolen goods","[pick("a container","containers")] full of [pick("confiscated contraband","stolen goods")]",5;"a very lost shadekin",10;"some kinda big wooly critter",15;"a buncha lost-looking uh... cat... slug... |things?|",10;"a raging case of [pick("spiders","crabs","geese","gnats","sharks","carp")]") //gotta have a little something to lighten the mood now and then - appreciation = pick("Much appreciated","Many thanks","Understood","You're a lifesaver","Perfect, thank you") - msg("[callname], this is [combined_first_name]. We have [securitystate] on board and require security assistance. Requesting permission to [landing_short].","[prefix] [shipname]") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("[combined_first_name], this is [using_map.dock_name] Control. Permission granted, proceed to [landing_zone]. Follow the green lights on your way in. Security teams are standing by, contact them on channel [secchannel].") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("[appreciation], [using_map.dock_name] Control. [dockingplan]","[prefix] [shipname]") - //Ship event: undocking request - if("undockingrequest") - var/request_type = pick(150;"generic",50;"delayed") - var/takeoff = pick("depart","launch") - var/safetravels = pick("Fly safe out there","Good luck","Safe travels","See you next week","Godspeed","Stars guide you") - var/thanks = pick("Appreciated","Thanks","Don't worry about us","We'll be fine","You too","So long") - msg("[callname], this is [combined_first_name], requesting permission to [takeoff] from [landing_zone].","[prefix] [shipname]") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - switch(request_type) - if("generic") - msg("[combined_first_name], this is [using_map.dock_name] Control. Permission granted. Docking clamps released. [safetravels].") - if("delayed") - var/denialreason = pick("Docking clamp malfunction, please hold","Fuel lines have not been secured","Ground crew are still on the pad","Loose containers are on the pad","Exhaust deflectors are not yet in position, please hold","There's heavy traffic right now, it's not safe for your vessel to launch","Another vessel has aerospace priority at this moment","Port officials are still aboard") - msg("Negative [combined_first_name], request denied. [denialreason]. Try again in a few minutes.") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY)*60 SECONDS) - msg("[callname], this is [combined_first_name], re-requesting permission to depart from [landing_zone].","[prefix] [shipname]") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("[combined_first_name], this is [using_map.dock_name] Control. Everything appears to be in order now, permission granted. Docking clamps released. [safetravels].") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("[thanks], [using_map.dock_name] Control. This is [combined_first_name] setting course for [destname], out.","[prefix] [shipname]") - //SDF event: starting patrol - if("sdfbeginpatrol") - var/safetravels = pick("Fly safe out there","Good luck","Good hunting","Safe travels","Godspeed","Stars guide you") - var/thanks = pick("Appreciated","Thanks","Don't worry about us","We'll be fine","You too") - var/takeoff = pick("depart","launch","take off","dust off") - msg("[callname], this is [combined_first_name], requesting permission to [takeoff] from [landing_zone] to begin system patrol.","[prefix] [shipname]") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("[combined_first_name], this is [using_map.dock_name] Control. Permission granted. Docking clamps released. [safetravels].") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("[thanks], [using_map.dock_name] Control. This is [combined_first_name] beginning system patrol, out.","[prefix] [shipname]") - //Ship event: undocking request (denied) - if("undockingdenied") - var/takeoff = pick("depart","launch") - var/denialreason = pick("Security is requesting a full cargo inspection","Your ship has been impounded for multiple [pick("security","safety")] violations","Your ship is currently under quarantine lockdown","We have reason to believe there's an issue with your papers","Security personnel are currently searching for a fugitive and have ordered all outbound ships remain grounded until further notice") - msg("[callname], this is [combined_first_name], requesting permission to [takeoff] from [landing_zone].","[prefix] [shipname]") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("Negative [combined_first_name], request denied. [denialreason].") - if("slogan") - msg("The following is a sponsored message from [name].","Facility PA") - sleep(5 SECONDS) - msg("[slogan]","Facility PA") - else //time for generic message - msg("[callname], this is [combined_first_name] on [mission] [pick(mission_noun)] to [destname], requesting [request].","[prefix] [shipname]") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("[combined_first_name], this is [using_map.dock_name] Control, [response].") - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("[using_map.dock_name] Control, [yes ? "thank you" : "understood"], out.","[prefix] [shipname]") - return //oops, forgot to restore this - -/* //OLD BLOCK, for reference - //Ship sends request to ATC - msg(full_request,"[prefix] [shipname]" - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - //ATC sends response to ship - msg(full_response) - sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - //Ship sends response to ATC - msg(full_closure,"[prefix] [shipname]") - return -*/ - -#undef MIN_MSG_DELAY -#undef MAX_MSG_DELAY diff --git a/code/modules/busy_space_vr/loremaster.dm b/code/modules/busy_space_vr/loremaster.dm deleted file mode 100644 index 9c2f0f55b46..00000000000 --- a/code/modules/busy_space_vr/loremaster.dm +++ /dev/null @@ -1,16 +0,0 @@ -//I AM THE LOREMASTER, ARE YOU THE GATEKEEPER? - -var/datum/lore/loremaster/loremaster = new/datum/lore/loremaster - -/datum/lore/loremaster - var/list/organizations = list() - -/datum/lore/loremaster/New() - - var/list/paths = subtypesof(/datum/lore/organization) - for(var/path in paths) - // Some intermediate paths are not real organizations (ex. /datum/lore/organization/mil). Only do ones with names - var/datum/lore/organization/instance = path - if(initial(instance.name)) - instance = new path() - organizations[path] = instance diff --git a/code/modules/busy_space_vr/organizations.dm b/code/modules/busy_space_vr/organizations.dm deleted file mode 100644 index 56a416a9999..00000000000 --- a/code/modules/busy_space_vr/organizations.dm +++ /dev/null @@ -1,3125 +0,0 @@ -//Datums for different factions that can be used by busy_space -/datum/lore/organization - var/name = "" // Organization's name - var/short_name = "" // Organization's shortname (NanoTrasen for "NanoTrasen Incorporated") - var/acronym = "" // Organization's acronym, e.g. 'NT' for NanoTrasen'. - var/desc = "" // One or two paragraph description of the organization, but only current stuff. Currently unused. - var/history = "" // Historical discription of the organization's origins Currently unused. - var/work = "" // Short description of their work, eg "an arms manufacturer" - var/headquarters = "" // Location of the organization's HQ. Currently unused. - var/motto = "" // A motto/jingle/whatever, if they have one. Currently unused. - - var/list/ship_prefixes = list() //Some might have more than one! Like NanoTrasen. Value is the mission they perform, e.g. ("ABC" = "mission desc") - var/complex_tasks = FALSE //enables complex task generation - - //how does it work? simple: if you have complex tasks enabled, it goes; PREFIX + TASK_TYPE + FLIGHT_TYPE - //e.g. NDV = Asset Protection + Patrol + Flight - //this overrides the standard PREFIX = TASK logic and allows you to use the ship prefix for subfactions (warbands, religions, whatever) within a faction, and define task_types at the faction level - //task_types are picked from completely at random in air_traffic.dm, much like flight_types, so be careful not to potentially create combos that make no sense! - - var/list/task_types = list( - "logistics", - "patrol", - "training", - "peacekeeping", - "escort", - "search and rescue" - ) - var/list/flight_types = list( //operations and flights - we can override this if we want to remove the military-sounding ones or add our own - "flight", - "mission", - "route", - "assignment" - ) - var/list/ship_names = list( //Names of spaceships. This is a mostly generic list that all the other organizations inherit from if they don't have anything better. - "Scout", - "Beacon", - "Signal", - "Freedom", - "Liberty", - "Enterprise", - "Glory", - "Axiom", - "Eternal", - "Harmony", - "Light", - "Discovery", - "Endeavour", - "Explorer", - "Swift", - "Dragonfly", - "Ascendant", - "Tenacious", - "Pioneer", - "Surveyor", - "Haste", - "Radiant", - "Luminous", - "Calypso", - "Eclipse", - "Maverick", - "Polaris", - "Orion", - "Odyssey", - "Relentless", - "Valor", - "Zodiac", - "Avenger", - "Defiant", - "Dauntless", - "Interceptor", - "Providence", - "Thunderchild", - "Defender", - "Ranger", - "River", - "Jubilee", - "Gumdrop", - "Spider", - "Columbia", - "Eagle", - "Intrepid", - "Odyssey", - "Aquarius", - "Kitty Hawk", - "Antares", - "Falcon", - "Casper", - "Orion", - "Columbia", - "Atlantis", - "Enterprise", - "Challenger", - "Pathfinder", - "Buran", - "Aldrin", - "Armstrong", - "Tranquility", - "Nostrodamus", - "Soyuz", - "Cosmos", - "Sputnik", - "Belka", - "Strelka", - "Gagarin", - "Shepard", - "Tereshkova", - "Leonov", - "Vostok", - "Apollo", - "Mir", - "Titan", - "Serenity", - "Andiamo", - "Aurora", - "Phoenix", - "Lucky", - "Raven", - "Valkyrie", - "Halcyon", - "Nakatomi", - "Cutlass", - "Unicorn", - "Sheepdog", - "Arcadia", - "Gigantic", - "Goliath", - "Pequod", - "Poseidon", - "Venture", - "Evergreen", - "Natal", - "Maru", - "Djinn", - "Witch", - "Wolf", - "Lone Star", - "Grey Fox", - "Dutchman", - "Sultana", - "Siren", - "Venus", - "Anastasia", - "Rasputin", - "Stride", - "Suzaku", - "Hathor", - "Dream", - "Gaia", - "Ibis", - "Progress", - "Olympic", - "Venture", - "Brazil", - "Tiger", - "Hedgehog", - "Potemkin", - "Fountainhead", - "Sinbad", - "Esteban", - "Mumbai", - "Shanghai", - "Madagascar", - "Kampala", - "Bangkok", - "Emerald", - "Guo Hong", - "Shun Kai", - "Fu Xing", - "Zhenyang", - "Da Qing", - "Rascal", - "Flamingo", - "Jackal", - "Andromeda", - "Ferryman", - "Panchatantra", - "Nunda", - "Fortune", - "New Dawn", - "Fionn MacCool", - "Red Bird", - "Star Rat", - "Cwn Annwn", - "Morning Swan", - "Black Cat", - "Challenger", - "Savage Chicken" - ) - var/list/destination_names = list() //Names of static holdings that the organization's ships visit regularly. - - var/lawful = TRUE //Are we exempt from routine inspections? to avoid incidents where SysDef appears to go rogue -- defaults to TRUE now (regular ships always get the "soft" result) - var/hostile = FALSE //Are we explicitly lawless, hostile, or otherwise bad? allows for a finer alignment system, since my last checks weren't working properly - var/org_type = "neutral" //Valid options are "neutral", "corporate", "government", "system defense", "military, "smuggler", & "pirate" - var/sysdef = FALSE //Are we the space cops? - var/autogenerate_destination_names = TRUE //Pad the destination lists with some extra random ones? see the proc below for info on that - - var/slogans = list("This is a placeholder slogan, ding dong!") //Advertising slogans. Who doesn't want more obnoxiousness on the radio? Picked at random each time the slogan event fires. This has a placeholder so it doesn't runtime on trying to draw from a 0-length list in the event that new corps are added without full support. - -/datum/lore/organization/New() - ..() - if(autogenerate_destination_names) // Lets pad out the destination names. - var/i = rand(15, 30) //significantly increased from original values due to the greater length of rounds on YW - - //known planets and exoplanets, plus fictional ones - var/list/planets = list( - /* real planets in our solar system */ - "Earth","Luna","Mars","Titan","Europa", - /* named exoplanets, god knows if they're habitable */ - "Spe","Arion","Arkas","Orbitar","Dimidium", - "Galileo","Brahe","Lipperhey","Janssen","Harriot", - "Aegir","Amateru","Dagon","Meztli","Smertrios", - "Hypatia","Quijote","Dulcinea","Rocinante","Sancho", - "Thestias","Saffar","Samh","Majriti","Fortitudo", - "Draugr","Arber","Tassili","Madriu","Naqaya", - "Bocaprins","Yanyan","Sissi","Tondra","Eburonia", - "Drukyul","Yvaga","Naron","Guarani","Mastika", - "Bendida","Nakanbe","Awasis","Caleuche","Wangshu", - "Melquiades","Pipitea","Ditso","Asye","Veles", - "Finlay","Onasilos","Makropolus","Surt","Boinayel", - "Eyeke","Cayahuanca","Hamarik","Abol","Hiisi", - "Belisama","Mintome","Neri","Toge","Iolaus", - "Koyopa","Independence","Ixbalanque","Magor","Fold", - "Santamasa","Noifasui","Kavian","Babylonia","Bran", - "Alef","Lete","Chura","Wadirum","Buru", - "Umbaasaa","Vytis","Peitruss","Trimobe","Baiduri", - "Ggantija","Cuptor","Xolotl","Isli","Hairu", - "Bagan","Laligurans","Kereru","Equiano","Albmi", - "Perwana","Pollera","Tumearandu","Sumajmajta","Haik", - "Leklsullun","Pirx","Viriato","Aumatex","Negoiu", - "Teberda","Dopere","Vlasina","Viculus","Kralomoc", - "Iztok","Krotoa","Halla","Riosar","Samagiya", - "Isagel","Eiger","Ugarit","Sazum","Maeping", - "Agouto","Ramajay","Khomsa","Gokturk","Barajeel", - "Cruinlagh","Mulchatria","Ibirapita","Madalitso", - /* fictional planets from polarislore */ - "Sif","Kara","Rota","Root","Toledo, New Ohio", - "Meralar","Adhomai","Binma","Kishar","Anshar", - "Nisp","Elysium","Sophia, El","New Kyoto", - "Angessa's Pearl, Exalt's Light","Oasis","Love" - ) - - //existing systems, pruned for duplicates, includes systems that contain suspected or confirmed exoplanets - var/list/systems = list( - /* real solar systems, specifically ones that have possible planets */ - "Sol","Alpha Centauri","Sirius","Vega","Tau Ceti", - "Altair","Epsilon Eridani","Fomalhaut","Mu Arae","Pollux", - "Wolf 359","Ross 128","Gliese 1061","Luyten's Star","Teegarden's Star", - "Kapteyn","Wolf 1061","Aldebaran","Proxima Centauri","Kepler-90", - "HD 10180","HR 8832","TRAPPIST-1","55 Cancri","Gliese 876", - "Upsilon Andromidae","Mu Arae","WASP-47","82 G. Eridani","Rho Coronae Borealis", - "Pi Mensae","Beta Pictoris","Gamma Librae","Gliese 667 C","LHS 1140", - "Phact", - /* fictional systems from Polaris and other sources*/ - "Zhu Que","Oasis","Vir","Gavel","Ganesha", - "Sidhe","New Ohio","Parvati","Mahi-Mahi","Nyx", - "New Seoul","Kess-Gendar","Raphael","El","Eutopia", - /* skrell */ - "Qerr'valis","Harr'Qak","Qerrna-Lakirr","Kauq'xum", - /* tajaran */ - "Rarkajar","Arrakthiir","Mesomori", - /* other */ - "Vazzend","Thoth","Jahan's Post","Silk","New Singapore", - "Stove","Viola","Isavau's Gamble","Samsara", - "Vounna","Relan","Whythe","Exalt's Light", - /* generic territories */ - "deep space", - "Commonwealth space", - "Commonwealth territory", - "ArCon space", - "ArCon territory", - "independent space", - "a demilitarized zone", - "Elysian space", - "Elysian territory", - "Salthan space", - "Salthan territory", - "Skrell space", - "Skrell territories", - "Tajaran space", - "Hegemonic space", - "Hegemonic territory" - ) - var/list/owners = list("a government", "a civilian", "a corporate", "a private", "an independent", "a military") - var/list/purpose = list("an exploration", "a trade", "a research", "a survey", "a military", "a mercenary", "a corporate", "a civilian", "an independent") - - //unique or special locations - var/list/unique = list("the Jovian subcluster","Isavau International Spaceport","Terminus Station","Casini's Reach","the Shelf flotilla","the Ue'Orsi flotilla","|Heaven| Orbital Complex, Alpha Centauri","the |Saint Columbia| Complex") - - var/list/orbitals = list("[pick(owners)] shipyard","[pick(owners)] dockyard","[pick(owners)] station","[pick(owners)] vessel","a habitat","[pick(owners)] refinery","[pick(owners)] research facility","an industrial platform","[pick(owners)] installation") - var/list/surface = list("a colony","a settlement","a trade outpost","[pick(owners)] supply depot","a fuel depot","[pick(owners)] installation","[pick(owners)] research facility") - var/list/deepspace = list("[pick(owners)] asteroid base","a freeport","[pick(owners)] shipyard","[pick(owners)] dockyard","[pick(owners)] station","[pick(owners)] vessel","[pick(owners)] habitat","a trade outpost","[pick(owners)] supply depot","a fuel depot","[pick(owners)] installation","[pick(owners)] research facility") - var/list/frontier = list("[pick(purpose)] [pick("ship","vessel","outpost")]","a waystation","an outpost","a settlement","a colony") - - //patterns; orbital ("an x orbiting y"), surface ("an x on y"), deep space ("an x in y"), the frontier ("an x on the frontier") - //biased towards inhabited space sites - while(i) - destination_names.Add("[pick("[pick(orbitals)] orbiting [pick(planets)]","[pick(surface)] on [pick(planets)]","[pick(deepspace)] in [pick(systems)]",20;"[pick(unique)]",30;"[pick(frontier)] on the frontier")]") - i-- - //extensive rework for a much greater degree of variety compared to the old system, lists now include known exoplanets and star systems currently suspected or confirmed to have exoplanets - -////////////////////////////////////////////////////////////////////////////////// - -// TSCs -/datum/lore/organization/tsc/nanotrasen - name = "NanoTrasen Incorporated" - short_name = "NanoTrasen " - acronym = "NT" - desc = "NanoTrasen is one of the foremost research and development companies in Commonwealth space. \ - Originally focused on consumer products, their swift move into the field of Phoron has lead to \ - them being the foremost experts on the substance and its uses. In the modern day, NanoTrasen prides \ - itself on being an early adopter to as many new technologies as possible, often offering the newest \ - products to their employees. In an effort to combat complaints about being 'guinea pigs', Nanotrasen \ - also offers one of the most comprehensive medical plans in Commonwealth space, up to and including cloning, \ - resleeving, and therapy.\ -

    \ - NT's most well known products are its phoron based creations, especially those used in Cryotherapy. \ - It also boasts a prosthetic line, which is provided to its employees as needed, and is used as an incentive \ - for newly tested posibrains to remain with the company. \ -

    \ - NT's ships are named for famous scientists." - history = "" // To be written someday. - work = "research giant" - headquarters = "Luna, Sol" - motto = "" - - org_type = "corporate" - slogans = list( - "NanoTrasen - Phoron Makes The Galaxy Go 'Round.", - "NanoTrasen - Join for the Medical, stay for the Company.", - "NanoTrasen - Advancing Humanity." - ) - ship_prefixes = list("NTV" = "a general operations", "NEV" = "an exploration", "NGV" = "a hauling", "NDV" = "a patrol", "NRV" = "an emergency response", "NDV" = "an asset protection") - //Scientist naming scheme - ship_names = list( - "Bardeen", - "Einstein", - "Feynman", - "Sagan", - "Tyson", - "Galilei", - "Jans", - "Fhriede", - "Franklin", - "Tesla", - "Curie", - "Darwin", - "Newton", - "Pasteur", - "Bell", - "Mendel", - "Kepler", - "Edison", - "Cavendish", - "Nye", - "Hawking", - "Aristotle", - "Kaku", - "Oppenheimer", - "Renwick", - "Hubble", - "Alcubierre", - "Glass" - ) - // Note that the current station being used will be pruned from this list upon being instantiated - destination_names = list( - "NT HQ on Luna", - "NSS Exodus in Nyx", - "NCS Northern Star in Vir", - "NLS Southern Cross in Vir", - "NAS Vir Central Command", - "NAB Smythside Central Headquarters in Sol", - "NAS Zeus orbiting Virgo-Prime", - "NIB Posideon in Alpha Centauri", - "NTB Anur on Virgo-Prime", - "a phoron refinery in Vilous", - "a dockyard orbiting Virgo-Prime", - "an asteroid orbiting Virgo 3", - "Vir Interstellar Spaceport" - ) - -/datum/lore/organization/tsc/nanotrasen/New() - ..() - spawn(1) // BYOND shenanigans means using_map is not initialized yet. Wait a tick. - // Get rid of the current map from the list, so ships flying in don't say they're coming to the current map. - var/string_to_test = "[using_map.station_name] in [using_map.starsys_name]" - if(string_to_test in destination_names) - destination_names.Remove(string_to_test) - -/datum/lore/organization/tsc/hephaestus - name = "Hephaestus Industries" - short_name = "Hephaestus " - acronym = "HI" - desc = "Hephaestus Industries is the largest supplier of arms, ammunition, and small millitary vehicles in Commonwealth space. \ - Hephaestus products have a reputation for reliability, and the corporation itself has a noted tendency to stay removed \ - from corporate politics. They enforce their neutrality with the help of a fairly large asset-protection contingent which \ - prevents any contracting polities from using their own materiel against them. The Commonwealth itself is one of Hephaestus' largest \ - bulk contractors owing to the above factors. \ -

    \ - Hephaestus' fleet uses identifiers from various deities and spirits of war from Earth's various belief systems." - history = "" - work = "arms manufacturer" - headquarters = "Luna, Sol" - motto = "" - - org_type = "corporate" - slogans = list( - "+Hephaestus Arms!+ - When it comes to +personal protection+, +nobody+ does it +better+.", - "+Hephaestus Arms!+ - Peace through +Superior Firepower+.", - "+Hephaestus Arms!+ - Don't be caught +firing blanks+." - ) - ship_prefixes = list("HCV" = "a general operations", "HTV" = "a freight", "HLV" = "a munitions resupply", "HDV" = "an asset protection", "HDV" = "a preemptive deployment") - //War God Theme, updated - ship_names = list( - "Anhur", - "Bast", - "Horus", - "Maahes", - "Neith", - "Pakhet", - "Sekhmet", - "Set", - "Sobek", - "Maher", - "Kokou", - "Ogoun", - "Oya", - "Kovas", - "Agrona", - "Andraste", - "Anann", - "Badb", - "Belatucadros", - "Cicolluis", - "Macha", - "Neit", - "Nemain", - "Rudianos", - "Chiyou", - "Guan Yu", - "Jinzha", - "Nezha", - "Zhao Lang", - "Laran", - "Menrva", - "Tyr", - "Woden", - "Freya", - "Odin", - "Ullr", - "Ares", - "Deimos", - "Enyo", - "Kratos", - "Kartikeya", - "Mangala", - "Parvati", - "Shiva", - "Vishnu", - "Shaushka", - "Wurrukatte", - "Hadur", - "Futsunushi", - "Sarutahiko", - "Takemikazuchi", - "Neto", - "Agasaya", - "Belus", - "Ishtar", - "Shala", - "Huitzilopochtli", - "Tlaloc", - "Xipe-Totec", - "Qamaits", - "'Oro", - "Rongo", - "Ku", - "Pele", - "Maru", - "Tumatauenga", - "Bellona", - "Juno", - "Mars", - "Minerva", - "Victoria", - "Anat", - "Astarte", - "Perun", - "Cao Lo" - ) - destination_names = list( - "our headquarters on Luna", - "a Commonwealth dockyard on Luna", - "a Fleet outpost in the Almach Rim", - "a Fleet outpost on the Moghes border" - ) - -/datum/lore/organization/tsc/vey_med - name = "Vey-Medical" //The Wiki displays them as Vey-Medical. - short_name = "Vey-Med " - acronym = "VM" - desc = "Vey-Med is one of the newer TSCs on the block and is notable for being largely owned and operated by Skrell. \ - Despite the suspicion and prejudice leveled at them for their alien origin, Vey-Med has obtained market dominance in \ - the sale of medical equipment-- from surgical tools to large medical devices to the Odysseus trauma response mecha \ - and everything in between. Their equipment tends to be top-of-the-line, most obviously shown by their incredibly \ - human-like FBP designs. Vey's rise to stardom came from their introduction of resurrective cloning, although in \ - recent years they've been forced to diversify as their patents expired and NanoTrasen-made medications became \ - essential to modern cloning and resleeving procedures. \ -

    \ - For reasons known only to the board, Vey-Med's ship names seem to follow the same naming pattern as the Dionae use." - history = "" - work = "medical equipment supplier" - headquarters = "Toledo, New Ohio" - motto = "" - - org_type = "corporate" - slogans = list( - "Vey-Medical. Medical care you can trust.", - "Vey-Medical. Only the finest in surgical equipment.", - "Vey-Medical. Because your patients deserve the best." - ) - ship_prefixes = list("VMV" = "a general operations", "VTV" = "a transportation", "VHV" = "a medical resupply", "VSV" = "a research", "VRV" = "an emergency medical support") - // Diona names, mostly - ship_names = list( - "Wind That Stirs The Waves", - "Sustained Note Of Metal", - "Bright Flash Reflecting Off Glass", - "Veil Of Mist Concealing The Rock", - "Thin Threads Intertwined", - "Clouds Drifting Amid Storm", - "Loud Note And Breaking", - "Endless Vistas Expanding Before The Void", - "Fire Blown Out By Wind", - "Star That Fades From View", - "Eyes Which Turn Inwards", - "Still Water Upon An Endless Shore", - "Sunlight Glitters Upon Tranquil Sands", - "Growth Within The Darkest Abyss", - "Joy Without Which The World Would Come Undone", - "A Thousand Thousand Planets Dangling From Branches", - "Light Streaming Through Interminable Branches", - "Smoke Brought Up From A Terrible Fire", - "Light of Qerr'Valis", - "King Xae'uoque", - "Memory of Kel'xi", - "Xi'Kroo's Herald" - ) - destination_names = list( - "our headquarters on Toledo, New Ohio", - "a research facility in Samsara", - "a sapientarian mission in the Almach Rim" - ) - -/datum/lore/organization/tsc/zeng_hu - name = "Zeng-Hu Pharmaceuticals" - short_name = "Zeng-Hu " - acronym = "ZH" - desc = "Zeng-Hu is an old TSC, based in the Sol system. Until the discovery of Phoron, Zeng-Hu maintained a stranglehold \ - on the market for medications, and many household names are patented by Zeng-Hu-- Bicaridine, Dylovene, Tricordrazine, \ - and Dexalin all came from Zeng-Hu medical laboratories. Zeng-Hu's fortunes have been in decline as Nanotrasen's near monopoly \ - on phoron and cloning research cuts into their R&D and Vey-Med's superior medical equipment effectively decimated their own equipment \ - interests. The three-way rivalry between these companies for dominance in the medical field is well-known and a matter of \ - constant economic speculation. \ -

    \ - Not to be outdone by NT in the recognition of famous figures, Zeng-Hu has adopted the names of famous physicians for their fleet." - history = "" - work = "pharmaceuticals company" - headquarters = "Earth, Sol" - motto = "" - - org_type = "corporate" - slogans = list( - "Zeng-Hu! WE make the medicines that YOU need!", - "Zeng-Hu! Having acid reflux problems? Consult your local physician to see if Dylovene is right for YOU!", - "Zeng-Hu! Tired of getting left in the dust? Try Hyperzine! You'll never fall behind again!", - "Zeng-Hu! Life's aches and pains getting to you? Try Tramadol - available at any good pharmacy!" - ) - ship_prefixes = list("ZHV" = "a general operations", "ZTV" = "a transportation", "ZMV" = "a medical resupply", "ZRV" = "a medical research") - //ship names: a selection of famous physicians who advanced the cause of medicine - ship_names = list( - "Averroes", - "Avicenna", - "Banting", - "Billroth", - "Blackwell", - "Blalock", - "Charaka", - "Chauliac", - "Cushing", - "Domagk", - "Galen", - "Fauchard", - "Favaloro", - "Fleming", - "Fracastoro", - "Goodfellow", - "Gray", - "Harvey", - "Heimlich", - "Hippocrates", - "Hunter", - "Isselbacher", - "Jenner", - "Joslin", - "Kocher", - "Laennec", - "Lane-Claypon", - "Lister", - "Lower", - "Madhav", - "Maimonides", - "Marshall", - "Mayo", - "Meyerhof", - "Minot", - "Morton", - "Needleman", - "Nicolle", - "Osler", - "Penfield", - "Raichle", - "Ransohoff", - "Rhazes", - "Semmelweis", - "Starzl", - "Still", - "Susruta", - "Urbani", - "Vesalius", - "Vidius", - "Whipple", - "White", - "Worcestor", - "Yegorov", - "Xichun" - ) - destination_names = list( - "our headquarters on Earth" - ) - -/datum/lore/organization/tsc/ward_takahashi - name = "Ward-Takahashi General Manufacturing Conglomerate" - short_name = "Ward-Takahashi " - acronym = "WT" - desc = "Ward-Takahashi focuses on the sale of small consumer electronics, with its computers, communicators, \ - and even mid-class automobiles a fixture of many households. Less famously, Ward-Takahashi also supplies most \ - of the AI cores on which vital control systems are mounted, and it is this branch of their industry that has \ - led to their tertiary interest in the development and sale of high-grade AI systems. Ward-Takahashi's economies \ - of scale frequently steal market share from Nanotrasen's high-price products, leading to a bitter rivalry in the \ - consumer electronics market. \ -

    \ - Ward-Takahashi are a mild anomaly in the TSC fleet-naming game, as they've opted to use stellar phenomena." - history = "" - work = "electronics manufacturer" - headquarters = "" - motto = "" - - org_type = "corporate" - slogans = list( - "Takahashi Appliances - keeping your home running smoothly.", - "W-T Automotive - keeping you on time, all the time.", - "Ward-Takahashi Electronics - keeping you in touch with the galaxy." - ) - ship_prefixes = list("WTV" = "a general operations", "WTFV" = "a freight", "WTGV" = "a transport", "WTDV" = "an asset protection") - ship_names = list( - "Comet", - "Meteor", - "Heliosphere", - "Bolide", - "Superbolide", - "Aurora", - "Nova", - "Supernova", - "Nebula", - "Galaxy", - "Starburst", - "Constellation", - "Pulsar", - "Quark", - "Void", - "Asteroid", - "Wormhole", - "Sunspot", - "Supercluster", - "Supergiant", - "Protostar", - "Magnetar", - "Moon", - "Supermoon", - "Anomaly", - "Drift", - "Stream", - "Rift", - "Curtain", - "Planetar", - "Quasar", - "Blazar", - "Corona", - "Binary" - ) - destination_names = list() - -/datum/lore/organization/tsc/bishop - name = "Bishop Cybernetics" - short_name = "Bishop " - acronym = "BC" - desc = "Bishop's focus is on high-class, stylish cybernetics. A favorite among transhumanists (and loathed by all \ - bioconservatives), Bishop manufactures not only prostheses but also brain augmentation, synthetic organ replacements, \ - and odds and ends like implanted wrist-watches. Their business model tends towards smaller, boutique operations, giving \ - it a reputation for high price and luxury, with Bishop cyberware often rivalling Vey-Med's for cost. Bishop's reputation \ - for catering towards the interests of human augmentation enthusiasts instead of positronics have earned it ire from the \ - Positronic Rights Group and puts it in ideological (but not economic) competition with Morpheus Cyberkinetics. \ -

    \ - Each vessel in Bishop's sleek and stylish fleet is intended to advertise the corporate style, and bears the name of a famous mechanical engineer." - history = "" - work = "cybernetics and augmentation manufacturer" - headquarters = "" - motto = "" - - org_type = "corporate" - slogans = list( - "Bishop Cybernetics - only the best in personal augmentation.", - "Bishop Cybernetics - why settle for flesh when you can have metal?", - "Bishop Cybernetics - make a statement.", - "Bishop Cybernetics - embrace the purity of the machine." - ) - ship_prefixes = list("BCV" = "a general operations", "BCTV" = "a transportation", "BCSV" = "a research exchange") - //famous mechanical engineers - ship_names = list( - "Al-Jazari", - "Al-Muradi", - "Al-Zarqali", - "Archimedes", - "Arkwright", - "Armstrong", - "Babbage", - "Barsanti", - "Benz", - "Bessemer", - "Bramah", - "Brunel", - "Cardano", - "Cartwright", - "Cayley", - "Clement", - "Leonardo da Vinci", - "Diesel", - "Drebbel", - "Fairbairn", - "Fontana", - "Fourneyron", - "Fulton", - "Fung", - "Gantt", - "Garay", - "Hackworth", - "Harrison", - "Hornblower", - "Jacquard", - "Jendrassik", - "Leibniz", - "Ma Jun", - "Maudslay", - "Metzger", - "Murdoch", - "Nasmyth", - "Parsons", - "Rankine", - "Reynolds", - "Roberts", - "Scheutz", - "Sikorsky", - "Somerset", - "Stephenson", - "Stirling", - "Tesla", - "Vaucanson", - "Vishweswarayya", - "Wankel", - "Watt", - "Wiberg" - ) - destination_names = list( - "a medical facility in Angessa's Pearl" - ) - -/datum/lore/organization/tsc/morpheus - name = "Morpheus Cyberkinetics" - short_name = "Morpheus " - acronym = "MC" - desc = "The only large corporation run by positronic intelligences, Morpheus caters almost exclusively to their sensibilities \ - and needs. A product of the synthetic colony of Shelf, Morpheus eschews traditional advertising to keep their prices low and \ - relied on word of mouth among positronics to reach their current economic dominance. Morpheus in exchange lobbies heavily for \ - positronic rights, sponsors positronics through their Jans-Fhriede test, and tends to other positronic concerns to earn them \ - the good-will of the positronics, and the ire of those who wish to exploit them. \ -

    \ - Morpheus' fleet bears the names of periodic elements. They initially wanted to go with complex compounds, but realized that \ - such designations would be unwieldy and inefficient for regular usage. In the event that multiple ships are working together, \ - they may use the periodic element as their flotilla designation, and a numerical identifier that corresponds with an isotope \ - of that element for individual ships." - history = "" - work = "cybernetics manufacturer" - headquarters = "Shelf flotilla" - motto = "" - - org_type = "neutral" //disables slogans for morpheus as they don't advertise, per the description above - /* - slogans = list() - */ - ship_prefixes = list("MCV" = "a general operations", "MTV" = "a freight", "MDV" = "a market protection", "MSV" = "an outreach") - //periodic elements; something 'unusual' for the posibrain TSC without being full on 'quirky' culture ship names (much as I love them, they're done to death) - ship_names = list( - "Hydrogen", - "Helium", - "Lithium", - "Beryllium", - "Boron", - "Carbon", - "Nitrogen", - "Oxygen", - "Fluorine", - "Neon", - "Sodium", - "Magnesium", - "Aluminium", - "Silicon", - "Phosphorus", - "Sulfur", - "Chlorine", - "Argon", - "Potassium", - "Calcium", - "Scandium", - "Titanium", - "Vanadium", - "Chromium", - "Manganese", - "Iron", - "Cobalt", - "Nickel", - "Copper", - "Zinc", - "Gallium", - "Germanium", - "Arsenic", - "Selenium", - "Bromine", - "Krypton", - "Rubidium", - "Strontium", - "Yttrium", - "Zirconium", - "Niobium", - "Molybdenum", - "Technetium", - "Ruthenium", - "Rhodium", - "Palladium", - "Silver", - "Cadmium", - "Indium", - "Tin", - "Antimony", - "Tellurium", - "Iodine", - "Xenon", - "Caesium", - "Barium" - ) - //some hebrew alphabet destinations for a little extra unusualness - destination_names = list( - "our headquarters, the Shelf flotilla", - "one of our factory complexes on Root", - "research outpost Aleph", - "logistics depot Dalet", - "research installation Zayin", - "research base Tsadi", - "manufacturing facility Samekh" - ) - -/datum/lore/organization/tsc/xion - name = "Xion Manufacturing Group" - short_name = "Xion " - acronym = "XMG" - desc = "Xion, quietly, controls most of the market for industrial equipment, especially on the frontier. Their portfolio includes mining exosuits, \ - factory equipment, rugged positronic chassis, and other pieces of equipment vital to the function of the economy. Xion \ - keeps its control of the market by leasing, not selling, their equipment, and through infamous and bloody patent protection \ - lawsuits. Xion are noted to be a favorite contractor for Commonwealth engineers, owing to their low cost and rugged design. \ - Dedicated frontiersmen tend to have an unfavorable view of the company however, as the leasing arrangements often make field repairs \ - challenging at best, and expensively contract-breaking at worst. Nobody wants an expensive piece of equipment to break down \ - three weeks of travel away from the closest Licensed Xion Repair Outlet. \ -

    \ - Xion's fleet bears the name of mountains and terrain features on Mars." - history = "" - work = "industrial equipment manufacturer" - headquarters = "" - motto = "" - - org_type = "corporate" - slogans = list( - "Xion Manufacturing - We have what you need.", - "Xion Manufacturing - The #1 choice of the SolCom Engineer's Union for 150 years.", - "Xion Manufacturing - Our products are as bulletproof as our contracts." - ) - ship_prefixes = list("XMV" = "a general operations", "XTV" = "a hauling", "XFV" = "a bulk transport", "XIV" = "a resupply") - //martian mountains - ship_names = list( - "Olympus Mons", - "Ascraeus Mons", - "Arsia Mons", - "Pavonis Mons", - "Elysium Mons", - "Hecates Tholus", - "Albor Tholus", - "Tharsis Tholus", - "Biblis Tholus", - "Alba Mons", - "Ulysses Tholus", - "Mount Sharp", - "Uranius Mons", - "Anseris Mons", - "Hadriacus Mons", - "Euripus Mons", - "Tyrrhenus Mons", - "Promethei Mons", - "Chronius Mons", - "Apollinaris Mons", - "Gonnus Mons", - "Syrtis Major Planum", - "Amphitrites Patera", - "Nili Patera", - "Pityusa Patera", - "Malea Patera", - "Peneus Patera", - "Labeatis Mons", - "Issidon Paterae", - "Pindus Mons", - "Meroe Patera", - "Orcus Patera", - "Oceanidum Mons", - "Horarum Mons", - "Peraea Mons", - "Octantis Mons", - "Galaxius Mons", - "Hellas Planitia" - ) - destination_names = list() - -/datum/lore/organization/tsc/ftu - name = "Free Trade Union" - short_name = "Trade Union " - acronym = "FTU" - desc = "The Free Trade Union is different from other transtellar companies in that they are not just a company; rather, they are a big conglomerate of various traders and merchants from all over the galaxy. The FTU is also partially responsible for many of the large scale 'freeport' trade stations across the known galaxy, even in non-human space. Generally, they are multi-purpose stations but they always keep areas filled with duty-free shops, where almost anything you can imagine can be found - so long as it's not outrageously illegal or hideously expensive.

    They are the creators of the Tradeband language, created specially for being a lingua franca where every merchant can understand each other independent of language or nationality.

    The Union doesn't maintain a particularly large fleet of its own; most members are card-carrying independents who fly under their own flags. When you do see a Union ship (they usually operate under the names of historic merchants) you can be assured that it's tending to something that the Union sees as being of the utmost importance to its interests." - history = "" - work = "" - headquarters = "" - motto = "" - - org_type = "corporate" - slogans = list( - "The FTU. We look out for the little guy.", - "There's no Trade like Free Trade.", - "There's no Union like the Free Trade Union.", - "Join the Free Trade Union. Because anything worth doing, is worth doing for money." //rule of acquisition #13 - ) - ship_prefixes = list("FTV" = "a general operations", "FTRP" = "a trade protection", "FTRR" = "a piracy suppression", "FTLV" = "a logistical support", "FTTV" = "a mercantile", "FTDV" = "a market establishment") - //famous merchants and traders, taken from Civ6's Great Merchants, plus the TSC's founder - ship_names = list( - "Isaac Adler", - "Colaeus", - "Marcus Licinius Crassus", - "Zhang Qian", - "Irene of Athens", - "Marco Polo", - "Piero de' Bardi", - "Giovanni de' Medici", - "Jakob Fugger", - "Raja Todar Mal", - "Adam Smith", - "John Jacob Astor", - "John Spilsbury", - "John Rockefeller", - "Sarah Breedlove", - "Mary Katherine Goddard", - "Helena Rubenstein", - "Levi Strauss", - "Melitta Bentz", - "Estee Lauder", - "Jamsetji Tata", - "Masaru Ibuka", - ) - destination_names = list( - "a Free Trade Union office", - "FTU HQ" - ) - -/datum/lore/organization/tsc/mbt - name = "Major Bill's Transportation" - short_name = "Major Bill's " - acronym = "MBT" - desc = "The most popular courier service and starliner, Major Bill's is an unassuming corporation whose greatest asset is their low cost and brand recognition. Major Bill's is known, perhaps unfavorably, for its mascot, Major Bill, a cartoonish military figure that spouts quotable slogans. Their main slogan, featured at least once in all their advertising, is \"With Major Bill's, you won't pay major bills!\", an earworm much of the galaxy longs to forget. \ -

    \ - Their ships are named after some of Earth's greatest rivers." - history = "" - work = "courier and passenger transit" - headquarters = "Mars, Sol" - motto = "With Major Bill's, you won't pay major bills!" - - org_type = "corporate" - slogans = list( - "With Major Bill's, you won't pay major bills!", - "Major Bill's - Private Couriers - General Shipping!", - "Major Bill's got you covered, now get out there!" - ) - ship_prefixes = list("TTV" = "a general operations", "TTV" = "a transport", "TTV" = "a luxury transit", "TTV" = "a priority transit", "TTV" = "a secure data courier") - //ship names: big rivers - ship_names = list ( - "Nile", - "Kagera", - "Nyabarongo", - "Mwogo", - "Rukarara", - "Amazon", - "Ucayali", - "Tambo", - "Ene", - "Mantaro", - "Yangtze", - "Mississippi", - "Missouri", - "Jefferson", - "Beaverhead", - "Red Rock", - "Hell Roaring", - "Yenisei", - "Angara", - "Yelenge", - "Ider", - "Ob", - "Irtysh", - "Rio de la Plata", - "Parana", - "Rio Grande", - "Congo", - "Chambeshi", - "Amur", - "Argun", - "Kherlen", - "Lena", - "Mekong", - "Mackenzie", - "Peace", - "Finlay", - "Niger", - "Brahmaputra", - "Tsangpo", - "Murray", - "Darling", - "Culgoa", - "Balonne", - "Condamine", - "Tocantins", - "Araguaia", - "Volga" - ) - destination_names = list( - "Major Bill's Transportation HQ on Mars", - "a Major Bill's warehouse", - "a Major Bill's distribution center", - "a Major Bill's supply depot" - ) - -/datum/lore/organization/tsc/grayson - name = "Grayson Manufactories Ltd." - short_name = "Grayson " - acronym = "GM" - desc = "Grayson Manufactories Ltd. is one of the oldest surviving TSCs, having been in 'the biz' almost since mankind began to colonize the rest of the Sol system and thus exploit abundant 'extraterrestrial' resources. Where many choose to go into the high end markets, however, Grayson makes their money by providing foundations for other businesses; they run some of the largest mining and refining operations in all of human-inhabited space. Ore is hauled out of Grayson-owned mines, transported on Grayson-owned ships, and processed in Grayson-owned refineries, then sold by Grayson-licensed vendors to other industries. Several of their relatively newer ventures include heavy industrial equipment, which has earned a reputation for being surprisingly reliable.

    Grayson may maintain a neutral stance towards their fellow TSCs, but can be quite aggressive in the markets that it already holds. A steady stream of rumors suggests they're not shy about engaging in industrial sabotage or calling in strikebreakers, either. \ -

    \ - Fitting their 'down to earth' reputation, Grayson's corporate fleet uses the names of various forms of rock and mineral to identify their vessels." - history = "" - work = "" - headquarters = "Mars, Sol" - motto = "" - - org_type = "corporate" - slogans = list( - "Grayson Mining - It's An Ore Effort, For The War Effort!", - "Grayson Mining - Winning The War On Ore!", - "Grayson Mining - Come On Down To Our Ore Chasm!" - ) - ship_prefixes = list("GMV" = "a general operations", "GMT" = "a transport", "GMR" = "a resourcing", "GMS" = "a surveying", "GMH" = "a bulk transit") - //rocks - ship_names = list( - "Adakite", - "Andesite", - "Basalt", - "Basanite", - "Diorite", - "Dunite", - "Gabbro", - "Granite", - "Harzburgite", - "Ignimbrite", - "Kimberlite", - "Komatiite", - "Norite", - "Obsidian", - "Pegmatite", - "Picrite", - "Pumice", - "Rhyolite", - "Scoria", - "Syenite", - "Tachylyte", - "Wehrlite", - "Arkose", - "Chert", - "Dolomite", - "Flint", - "Laterite", - "Marl", - "Oolite", - "Sandstone", - "Shale", - "Anthracite", - "Gneiss", - "Granulite", - "Mylonite", - "Schist", - "Skarn", - "Slate" - ) - destination_names = list( - "our headquarters on Mars", - "one of our manufacturing complexes", - "one of our mining installations" - ) - -/datum/lore/organization/tsc/aether - name = "Aether Atmospherics & Recycling" - short_name = "Aether " - acronym = "AAR" - desc = "Aether Atmospherics and Recycling is the prime maintainer and provider of atmospherics systems across both the many ships that navigate the vast expanses of space, and the life support on current and future Human colonies. The byproducts from the filtration of atmospheres across the galaxy are then resold for a variety of uses to those willing to buy. With the nature of their services, most work they do is contracted for construction of these systems, or staffing to maintain them for colonies across human space. \ -

    \ - Somewhat unimaginatively, Aether has adopted the names of various types of weather for their fleet." - history = "" - work = "" - headquarters = "" - motto = "Dum spiro spero" - - org_type = "corporate" - slogans = list( - "Aether A&R - We're Absolutely Breathtaking.", - "Aether A&R - You Can Breathe Easy With Us!", - "Aether A&R - The SolCom's #1 Environmental Systems Provider." - ) - ship_prefixes = list("AARV" = "a general operations", "AARE" = "a resource extraction", "AARG" = "a gas transport", "AART" = "a transport") - //weather systems/patterns - ship_names = list ( - "Cloud", - "Nimbus", - "Fog", - "Vapor", - "Haze", - "Smoke", - "Thunderhead", - "Veil", - "Steam", - "Mist", - "Noctilucent", - "Nacreous", - "Cirrus", - "Cirrostratus", - "Cirrocumulus", - "Aviaticus", - "Altostratus", - "Altocumulus", - "Stratus", - "Stratocumulus", - "Cumulus", - "Fractus", - "Asperitas", - "Nimbostratus", - "Cumulonimbus", - "Pileus", - "Arcus" - ) - destination_names = list( - "Aether HQ", - "a gas mining orbital", - "a liquid extraction plant" - ) - -/datum/lore/organization/tsc/focalpoint - name = "Focal Point Energistics" - short_name = "Focal " - acronym = "FPE" - desc = "Focal Point Energistics is an electrical engineering solutions firm originally formed as a conglomerate of Earth power companies and affiliates. Focal Point manufactures and distributes vital components in modern power grids, such as TEGs, PSUs and their specialty product, the SMES. The company is often consulted and contracted by larger organisations due to their expertise in their field.\ -

    \ - Keeping in theme with the other big TSCs, Focal's fleet (which is comprised almost entirely of transports and engineering vessels) uses the names of electrical engineers." - history = "" - work = "" - headquarters = "" - motto = "" - - org_type = "corporate" - slogans = list( - "Focal Point Energistics - Sustainable Power for a Sustainable Future.", - "Focal Point Energistics - Powering The Future Before It Even Happens.", - "Focal Point Energistics - Let There Be Light." - ) - ship_prefixes = list("FPV" = "a general operations", "FPH" = "a transport", "FPC" = "an energy relay", "FPT" = "a fuel transport") - //famous electrical engineers - ship_names = list ( - "Erlang", - "Blumlein", - "Taylor", - "Bell", - "Reeves", - "Bennett", - "Volta", - "Blondel", - "Beckman", - "Hirst", - "Lamme", - "Bright", - "Armstrong", - "Ayrton", - "Bardeen", - "Fuller", - "Boucherot", - "Brown", - "Brush", - "Burgess", - "Camras", - "Crompton", - "Deprez", - "Elwell", - "Entz", - "Faraday", - "Halas", - "Hounsfield", - "Immink", - "Laithwaite", - "McKenzie", - "Moog", - "Moore", - "Pierce", - "Ronalds", - "Shallenberger", - "Siemens", - "Spencer", - "Tesla", - "Yablochkov", - ) - destination_names = list( - "Focal Point HQ" - ) - -/datum/lore/organization/tsc/starlanes - name = "StarFlight Inc." - short_name = "StarFlight " - acronym = "SFI" - desc = "Founded in 2137 by Astara Junea, StarFlight Incorporated is now one of the biggest passenger liner businesses in human-occupied space and has even begun breaking into alien markets - all despite a rocky start, and several high-profile ship disappearances and shipjackings. With space traffic at an all-time high, it's a depressing reality that SFI's incidents are just a tiny drop in the bucket compared to everything else going on. \ -

    \ - SFI's fleet is, somewhat endearingly, named after various species of bird, though the designation Pigeon was removed from the lineup after a particularly unusual chain of events involving a business liner. For reasons that have continued to remain unclear since the company's foundation, SFI vessels are permitted to use the same high-level identifier pattern as governmental vessels." - history = "" - work = "luxury, business, and economy passenger flights" - headquarters = "Spin Aerostat, Jupiter" - motto = "Sic itur ad astra" - - org_type = "corporate" - slogans = list( - "StarFlight - travel the stars.", - "StarFlight - bringing you to new horizons.", - "StarFlight - getting you where you need to be since 2137." - ) - ship_prefixes = list("SFI-X" = "a VIP liner", "SFI-L" = "a luxury liner", "SFI-B" = "a business liner", "SFI-E" = "an economy liner", "SFI-M" = "a mixed class liner", "SFI-S" = "a sightseeing", "SFI-M" = "a wedding", "SFI-O" = "a marketing", "SFI-S" = "a safari", "SFI-A" = "an aquatic adventure") - flight_types = list( //no military-sounding ones here - "flight", - "route", - "tour" - ) - ship_names = list( //birbs - "Rhea", - "Ostrich", - "Cassowary", - "Emu", - "Kiwi", - "Duck", - "Swan", - "Chachalaca", - "Curassow", - "Guan", - "Guineafowl", - "Pheasant", - "Turkey", - "Francolin", - "Loon", - "Penguin", - "Grebe", - "Flamingo", - "Stork", - "Ibis", - "Heron", - "Pelican", - "Spoonbill", - "Shoebill", - "Gannet", - "Cormorant", - "Osprey", - "Kite", - "Hawk", - "Falcon", - "Caracara" - ) - destination_names = list( - "a resort planet", - "a beautiful ring system", - "a ski-resort world", - "an ocean resort planet", - "a desert resort world", - "an arctic retreat" - ) - -/datum/lore/organization/tsc/oculum - name = "Oculum Broadcasting Network" - short_name = "Oculus " - acronym = "OBN" - desc = "Oculum owns approximately 30% of Sol-wide news networks, including microblogging aggregate sites, network and comedy news, and even old-fashioned newspapers. Staunchly apolitical, they specialize in delivering the most popular news available- which means telling people what they already want to hear. Oculum is a specialist in branding, and most people don't know that the reactionary Daedalus Dispatch newsletter and the radically transhuman Liquid Steel webcrawler are controlled by the same organization." - history = "" - work = "news media" - headquarters = "" - motto = "News from all across the spectrum" - - org_type = "corporate" - slogans = list( - "Oculum - All News, All The Time.", - "Oculum - We Keep An Eye Out.", - "Oculum - Nothing But The Truth.", - "Oculum - Your Eye On The Galaxy." - ) - ship_prefixes = list("OBV" = "an investigation", "OBV" = "a distribution", "OBV" = "a journalism", "OBV" = "a general operations") - destination_names = list( - "Oculus HQ" - ) - -/datum/lore/organization/tsc/centauriprovisions - name = "Centauri Provisions" - short_name = "Centauri " - acronym = "ACP" - desc = "Headquartered in Alpha Centauri, Centauri Provisions made a name in the snack-food industry primarily by being the first to focus on colonial holdings. The various brands of Centauri snackfoods are now household names, from SkrellSnax to Space Mountain Wind to the ubiquitous and supposedly-edible Bread Tube, and they are well known for targeting as many species as possible with each brand (which, some will argue, is at fault for some of those brands being rather bland in taste and texture). Their staying power is legendary, and many spacers have grown up on a mix of their cheap crap and protein shakes." - history = "" - work = "catering, food, drinks" - headquarters = "Alpha Centauri" - motto = "The largest brands of food and drink - most of them are Centauri." - - org_type = "corporate" - slogans = list( - "Centauri Provisions Bread Tubes - They're Not Just Edible, They're |Breadible!|", - "Centauri Provisions SkrellSnax - Not |Just| For Skrell!", - "Centauri Provisions Space Mountain Wind - It'll Take Your |Breath| Away!", - "Centauri Provisions Syndi-Cakes - A Taste So Good You'll Swear It's |Illegal|!", - "Centauri Provisions Tuna Snax - There's Nothing |Fishy| Going On Here!" - ) - ship_prefixes = list("CPTV" = "a transport", "CPCV" = "a catering", "CPRV" = "a resupply", "CPV" = "a general operations") - destination_names = list( - "Centauri Provisions HQ", - "a Centauri Provisions depot", - "a Centauri Provisions warehouse" - ) - -/datum/lore/organization/tsc/einstein - name = "Einstein Engines" - short_name = "Einstein " - acronym = "EEN" - desc = "Einstein is an old company that has survived through rampant respecialization. In the age of phoron-powered exotic engines and ubiquitous solar power, Einstein makes its living through the sale of engine designs for power sources it has no access to, and emergency fission or hydrocarbon power supplies. Accusations of corporate espionage against research-heavy corporations like NanoTrasen and its chief rival Focal Point are probably unfounded. Probably." - history = "" - work = "catering, food, drinks" - headquarters = "" - motto = "Engine designs, emergency generators, and old memories" - - org_type = "corporate" - slogans = list( - "Einstein Engines - you don't have to be Einstein to use |our| engines!", - "Einstein Engines - bringing power to the people.", - "Einstein Engines - because it's the smart thing to do." - ) - ship_prefixes = list("EETV" = "a transport", "EERV" = "a research", "EEV" = "a general operations") - destination_names = list( - "Einstein HQ" - ) - -/datum/lore/organization/tsc/wulf - name = "Wulf Aeronautics" - short_name = "Wulf Aero " - acronym = "WUFA" - desc = "Wulf Aeronautics is the chief producer of transport and hauling spacecraft. A favorite contractor of the CWS, Wulf manufactures most of their diplomatic and logistics craft, and does a brisk business with most other TSCs. The quiet reliance of the economy on their craft has kept them out of the spotlight and uninvolved in other corporations' back-room dealings; nobody is willing to try to undermine Wulf Aerospace in case it bites them in the ass, and everyone knows that trying to buy out the company would start a bidding war from which nobody would escape the PR fallout." - history = "" - work = "starship construction" - headquarters = "" - motto = "We build it - you fly it" - - org_type = "corporate" - slogans = list( - "Wulf Aeronautics. We build it - you fly it.", - "Wulf Aeronautics, the Commonwealth's favorite shipwrights.", - "Wulf Aeronautics, building tomorrow's ships today." - ) - ship_prefixes = list("WATV" = "a transport", "WARV" = "a repair", "WAV" = "a general operations") - destination_names = list( - "Wulf Aeronautics HQ", - "a Wulf Aeronautics supply depot", - "a Wulf Aeronautics Shipyard" - ) - -/datum/lore/organization/tsc/gilthari - name = "Gilthari Exports" - short_name = "Gilthari " - acronym = "GEX" - desc = "Gilthari is Sol's premier supplier of luxury goods, specializing in extracting money from the rich and successful that aren't already their own shareholders. Their largest holdings are in gambling, but they maintain subsidiaries in everything from VR equipment to luxury watches. Their holdings in mass media are a smaller but still important part of their empire. Gilthari is known for treating its positronic employees very well, sparking a number of conspiracy theories. The gorgeous FBP model that Gilthari provides them is a symbol of the corporation's wealth and reach ludicrous prices when available on the black market, with legal ownership of the chassis limited, by contract, to employees.

    In fitting with their heritage, Gilthari ships are named after precious stones." - history = "" - work = "luxury goods" - headquarters = "" - motto = "" - - org_type = "corporate" - slogans = list( - "Why choose |luxury| when you can choose |Gilthari|?", - "|Gilthari|. Because |you're| worth it.", - "|Gilthari|. Why settle for |anything| less?" - ) - ship_prefixes = list("GETV" = "a transport", "GECV" = "a luxury catering", "GEV" = "a general operations") - //precious stones - ship_names = list( - "Afghanite", - "Agate", - "Alexandrite", - "Amazonite", - "Amber", - "Amethyst", - "Ametrine", - "Andalusite", - "Aquamarine", - "Azurite", - "Benitoite", - "Beryl", - "Carnelian", - "Chalcedony", - "Chrysoberyl", - "Chrysoprase", - "Citrine", - "Coral", - "Danburite", - "Diamond", - "Emerald", - "Fluorite", - "Garnet", - "Heliodor", - "Iolite", - "Jade", - "Jasper", - "Lapis Lazuli", - "Malachite", - "Moldavite", - "Moonstone", - "Obsidian", - "Onyx", - "Orthoclase", - "Pearl", - "Peridot", - "Quartz", - "Ruby", - "Sapphire", - "Scapolite", - "Selenite", - "Serpentine", - "Sphalerite", - "Sphene", - "Spinel", - "Sunstone", - "Tanzanite", - "Topaz", - "Tourmaline", - "Turquoise", - "Zircon" - ) - destination_names = list( - "Gilthari HQ", - "a GE supply depot", - "a GE warehouse", - "a GE-owned luxury resort" - ) - -/datum/lore/organization/tsc/coyotecorp - name = "Coyote Salvage Corp." - short_name = "Coyote " - acronym = "CSC" - desc = "The threat of Kessler Syndrome ever looms in this age of spaceflight, and it's only thanks to the dedication and hard work of unionized salvage groups like the Coyote Salvage Corporation that the spacelanes are kept clear and free of wrecks and debris. Painted in that distinctive industrial yellow, their fleets of roaming scrappers are contracted throughout civilized space and the frontier alike to clean up space debris. Some may look down on them for handling what would be seen as garbage and discarded scraps, but as far as the CSC is concerned everything would grind to a halt (or more accurately, rapidly expand in a cloud of red-hot scrap metal) without their tender care and watchful eyes.\ -

    \ - Many spacers turn to join the ranks of the Salvage Corps when times are lean, or when they need a quick buck. The work is dangerous and the hours are long, but the benefits are generous and you're paid by what you salvage so if you've an eye for appraising scrap you can turn a good profit. For those who dedicate their lives to the work, they can become kings of the scrapheap and live like royalty. \ -

    \ - CSC Contractors are no strangers to conflict either, often having to deal with claimjumpers and illegal salvage operations - or worse, the vox." - history = "" - work = "salvage and shipbreaking" - headquarters = "N/A" - motto = "one man's trash is another man's treasure" - - org_type = "corporate" - slogans = list( - "Coyote Salvage Corp. 'cause your trash ain't gonna clean itself.", - "Coyote Salvage Corp. 'cause one man's trash is another man's treasure.", - "Coyote Salvage Corp. We'll take your scrap - but not your crap." - ) - ship_prefixes = list("CSV" = "a salvage", "CRV" = "a recovery", "CTV" = "a transport", "CSV" = "a shipbreaking", "CHV" = "a towing") - //mostly-original, maybe some references, and more than a few puns - ship_names = list( - "Road Hog", - "Mine, Not Yours", - "Legal Salvage", - "Barely Legal", - "One Man's Trash", - "Held Together By Tape And Dreams", - "Ventilated Vagrant", - "Half A Wing And A Prayer", - "Scrap King", - "Make Or Break", - "Lead Into Gold", - "Under New Management", - "Pride of Centauri", - "Long Haul", - "Argonaut", - "Desert Nomad", - "Non-Prophet Organization", - "Rest In Pieces", - "Sweep Dreams", - "Home Sweep Home", - "Atomic Broom", - "Ship Broken", - "Rarely Sober", - "Barely Coherent", - "Piece Of Mind", - "War And Pieces", - "Bits 'n' Bobs", - "Home Wrecker", - "T-Wrecks", - "Dust Bunny", - "No Gears No Glory", - "Three Drinks In", - "The Almighty Janitor", - "Wreckless Endangerment", - "Scarab" - ) - //remove a couple types, add the more down-to-earth 'job' to reflect some personality - flight_types = list( - "job", - "op", - "operation", - "assignment", - "contract" - ) - destination_names = list ( - "a frontier scrapyard", - "a trashbelt", - "a local salvage yard", - "a nearby system" - ) - -/datum/lore/organization/tsc/chimera - name = "Chimera Genetics Corp." - short_name = "Chimera " - acronym = "CGC" - desc = "With the rise of personal body modification, companies specializing in this field were bound to spring up as well. The Chimera Genetics Corporation, or CGC, is one of the largest and most successful competitors in this ever-evolving and ever-adapting field. They originally made a foothold in the market through designer flora and fauna such as \"factory plants\" and \"fabricowtors\"; imagine growing high-strength carbon nanotubes on vines, or goats that can be milked for a substance with the tensile strength of spider silk. Once they had more funding? Chimera aggressively expanded into high-end designer bodies, both vat-grown-from-scratch and modification of existing bodies via extensive therapy procedures. Their best-known designer critter is the Drake line; hardy, cold-tolerant \'furred lizards\' that are unflinchingly loyal to their contract-holders. Drakes find easy work in heavy industries and bodyguard roles, despite constant lobbying from bioconservatives to, quote, \"keep these \"meat drones\" from taking jobs away from regular people.\" \ -

    \ - Some things never change. \ -

    \ - Unsurprisingly, Chimera names their ships after mythological creatures." - history = "" - work = "designer bodies and bioforms" - headquarters = "Titan, Sol" - motto = "the whole is greater than the sum of its parts" - - org_type = "corporate" - slogans = list( - "Chimera Genetics. Find your true self today!", - "Chimera Genetics. Bring us your genes and we'll clean them right up.", - "Chimera Genetics. Better bodies for a better tomorrow." - ) - ship_prefixes = list("CGV" = "a general operations", "CGT" = "a transport", "CGT" = "a delivery", "CGH" = "a medical") - //edgy mythological critters! - ship_names = list( - "Dragon", - "Chimera", - "Titan", - "Hekatonchires", - "Gorgon", - "Scylla", - "Minotaur", - "Banshee", - "Basilisk", - "Black Dog", - "Centaur", - "Cerberus", - "Charybdis", - "Cyclops", - "Cynocephalus", - "Demon", - "Daemon", - "Echidna", - "Goblin", - "Golem", - "Griffin", - "Hobgoblin", - "Hydra", - "Imp", - "Ladon", - "Manticore", - "Medusa", - "Ogre", - "Pegasus", - "Sasquatch", - "Shade", - "Siren", - "Sphinx", - "Typhon", - "Valkyrie", - "Vampir", - "Wendigo", - "Werewolf", - "Wraith" - ) - destination_names = list ( - "Chimera HQ, Titan", - "a Chimera research lab" - ) - -////////////////////////////////////////////////////////////////////////////////// - -// Other -/datum/lore/organization/other/kitsuhana //sorry KHI, but you're not a coherent stellar government, and you're definitely not a TSC. you get to go in the Others pool. //makes sense to me! - name = "Kitsuhana Heavy Industries" - short_name = "" //whitespace haaaack - desc = "A large post-scarcity amalgamation of races, Kitsuhana is no longer a company but rather a loose association of 'members' \ - who only share the KHI name and their ideals in common. Kitsuhana accepts interviews to join their ranks, and though they have no \ - formal structure with regards to government or law, the concept of 'consent' drives most of the large decision making. Kitsuhanans \ - pride themselves on their ability to avoid consequence, essentially preferring to live care-free lives. Their post-scarcity allows \ - them to rebuild, regrow, and replenish almost any lost asset or resource nearly instantly. It leads to many of the Kitsuhana \ - 'members' treating everything with frivolity and lends them a care-free demeanor." - history = "Originally a heavy industrial equipment and space mining company. During a forced evacuation of their homeworld, \ - they were the only organization with enough ship capacity to relocate any significant portion of the population, starting with \ - their own employees. After the resulting slowship travel to nearby starsystems, most of the population decided to keep the moniker \ - of the company name. Over the years, Kitsuhana developed into a post-scarcity anarchy where virtually nothing has consequences and \ - Kitsuhana 'members' can live their lives as they see fit, often in isolation." - work = "utopian anarchy" - headquarters = "Kitsuhana Prime" - motto = "Do what you want. We know we will." - - //Culture ship names! - ship_prefixes = list("KHI" = "personal") //Everybody's out for themselves, yanno. - ship_names = list( - "Nervous Energy", - "Prosthetic Conscience", - "Revisionist", - "Trade Surplus", - "Flexible Demeanour", - "Just Read The Instructions", - "Limiting Factor", - "Cargo Cult", - "Gunboat Diplomat", - "A Ship With A View", - "Cantankerous", - "I Thought He Was With You", - "Never Talk To Strangers", - "Sacrificial Victim", - "Unwitting Accomplice", - "Bad For Business", - "Just Testing", - "Size Isn't Everything", - "Yawning Angel", - "Liveware Problem", - "Very Little Gravitas Indeed", - "Zero Gravitas", - "Gravitas Free Zone", - "Absolutely No You-Know-What" - ) - destination_names = list( - "Kitsuhana Prime", - "Kitsuhana Beta", - "Kitsuhana Gamma", - "the Kitsuhana Forge", - "a Kitsuhanan's home", - "a Kitsuhana ringworld in Pleis Ceti V", - "a Kitsuhana ringworld in Lund VI", - "a Kitsuhana ringworld in Dais IX", - "a Kitsuhana ringworld in Leibert II-b" - ) - -/datum/lore/organization/other/independent - name = "Independent Pilots Association" - short_name = "" //using the same whitespace hack as USDF - acronym = "IPA" - desc = "Though less common now than they were in the decades before the Sol Economic Organization took power, independent traders remain an important part of the galactic economy, owing in no small part to protective tariffs established by the Free Trade Union in the late twenty-second century. Further out on the frontier, independent pilots are often the only people keeping freight and supplies moving.\ -

    \ - Independent ships use a wide variety of names, many of which are as unusual and eclectic as their crews." - history = "" - work = "everything under the sun" - headquarters = "N/A" - motto = "N/A" - - ship_prefixes = list("ISV" = "a general", "IEV" = "a prospecting", "IEC" = "a prospecting", "IFV" = "a bulk freight", "ITV" = "a passenger transport", "ITC" = "a just-in-time delivery", "IPV" = "a patrol", "IHV" = "a bounty hunting", "ICC" = "an escort", "IMV" = "a mining") - flight_types = list( - "flight", - "mission", - "route", - "operation", - "assignment", - "contract" - ) - destination_names = list() //we have no hqs or facilities of our own - //ship names: blank, because we use the universal list - -//SPACE LAW -/datum/lore/organization/other/sysdef - name = "System Defense Force" - short_name = "" //whitespace hack again - acronym = "SDF" - desc = "Localized militias are used to secure systems throughout inhabited space, but are especially common on the frontier; by levying and maintaining these militia forces, larger governments can use their primary fleets (like the USDF) for more important matters and smaller ones can give travellers in their space some peace of mind given the ever-present threat of pirates and vox marauders whilst also helping cut down on smuggling (narcotic substances remain as popular in this century as they have throughout the last few millennia). System Defense Forces tend to be fairly poorly trained and modestly equipped compared to genuine military fleets, but are more than capable of contending with equally ramshackle pirate vessels and can generally stall greater threats long enough for reinforcements to arrive. They're also typically responsible for most search-and-rescue operations in their system.\ -

    \ - SDF ships are traditionally named after various forms of historical weaponry; as their founding members tend to be veterans of other SDF services which used this system, this tradition has slowly propagated.\ -

    \ - Common SDF ship designations include;
    \ - SDF = System Defense Fleet (General)
    \ - SDV/SDB = System Defense Vessel/Boat
    \ - SAR = Search And Rescue (Emergency Services)
    \ - SDT = System Defense Tender (Mobile Refuel & Resupply)
    \ - SDJ = Prisoner Transport" - history = "" - work = "local security" - headquarters = "" - motto = "Serve, Protect, Survive" - sysdef = TRUE //we're the space law, we don't impersonate people and stuff - autogenerate_destination_names = FALSE //don't add extra destinations to our pool, or else we leave the system which makes no sense - - org_type = "system defense" - ship_prefixes = list ("SDB" = "a patrol", "SDF" = "a patrol", "SDV" = "a patrol", "SDB" = "an escort", "SDF" = "an escort", "SDV" = "an escort", "SAR" = "a search and rescue", "SDT" = "a logistics", "SDT" = "a resupply", "SDJ" = "a prisoner transport") //b = boat, f = fleet (generic), v = vessel, t = tender - //ship names: weapons - ship_names = list( - "Sword", - "Saber", - "Cutlass", - "Broadsword", - "Katar", - "Shamshir", - "Shashka", - "Epee", - "Estoc", - "Longsword", - "Katana", - "Baselard", - "Gladius", - "Kukri", - "Pick", - "Mattock", - "Hatchet", - "Machete", - "Axe", - "Tomahawk", - "Dirk", - "Dagger", - "Maul", - "Mace", - "Flail", - "Morningstar", - "Shillelagh", - "Cudgel", - "Truncheon", - "Hammer", - "Arbalest", - "Ballista", - "Catapult", - "Trebuchet", - "Longbow", - "Pike", - "Javelin", - "Glaive", - "Halberd", - "Scythe", - "Spear" - ) - destination_names = list( - "the outer system", - "the inner system", - "Waypoint Alpha", - "Waypoint Beta", - "Waypoint Gamma", - "Waypoint Delta", - "Waypoint Epsilon", - "Waypoint Zeta", - "Waypoint Eta", - "Waypoint Theta", - "Waypoint Iota", - "Waypoint Kappa", - "Waypoint Lambda", - "Waypoint Mu", - "Waypoint Nu", - "Waypoint Xi", - "Waypoint Omicron", - "Waypoint Pi", - "Waypoint Rho", - "Waypoint Sigma", - "Waypoint Tau", - "Waypoint Upsilon", - "Waypoint Phi", - "Waypoint Chi", - "Waypoint Psi", - "Waypoint Omega", - "System Defense Control", - "an SDF correctional facility", - "an SDF processing center", - "an SDF supply depot", - "an SDF Rapid Response Hub", - "an SDF outpost" - ) - -//basically just a dummy/placeholder 'org' for smuggler events -/datum/lore/organization/other/smugglers - name = "Smugglers" - short_name = "" //whitespace hack again - acronym = "ISC" - desc = "Where there's a market, there need to be merchants, and where there are buyers, there need to be suppliers. Most of all, wherever there's governments, there'll be somebody trying to control what people are and aren't allowed to do with their bodies. For those seeking goods deemed illegal (for good reasons or otherwise) they need to turn to smugglers and the fine art of sneaking things past the authorities.\ -

    \ - The most common goods smuggled throughout space are narcotics, firearms, and occasionally slaves; whilst firearm ownership laws vary from location to location, most governments also take fairly hard stances on hard drugs, and slavery is consistently outlawed and punished viciously throughout the vast majority of civilized space.\ -

    \ - Still, contrary to many conceptions, not all smuggling is nefarious. Entertainment media within human territories loves to paint romantic images of heroic smugglers sneaking aid supplies to refugees or even helping oppressed minorities escape the grasp of xenophobic regimes." - history = "" - work = "" - headquarters = "" - motto = "" - lawful = FALSE //if it wasn't obvious, these guys are usually criminals - hostile = FALSE //but they're not aggressive ones - sysdef = FALSE - autogenerate_destination_names = TRUE //the events we get called for don't fire a destination, but we need entries to avoid runtimes. - - org_type = "smuggler" - ship_prefixes = list ("suspected smuggler" = "an illegal smuggling", "possible smuggler" = "an illegal smuggling") //as assigned by control, second part shouldn't even come up - //blank out our shipnames for redesignation - ship_names = list( - "Morally Bankrupt", - "Bucket of Bolts", - "Wallet Inspector", - "Laughing Stock", - "Wayward Son", - "Wide Load", - "No Refunds", - "Ugly Stick", - "Poetic Justice", - "Foreign Object", - "Why Me", - "Last Straw", - "Designated Driver", - "Slapped Together", - "Lowest Bidder", - "Harsh Language", - "Public Servant", - "Class Act", - "Deviant Citizen", - "Diminishing Returns", - "Calculated Risk", - "Logistical Nightmare", - "Gross Negligence", - "Holier Than Thou", - "Open Wide", - "Red Dread", - "Missing Link", - "Duct Taped", - "Robber Baron", - "Affront to Nature", - "Total Loss", - "Depth Perception", - "This Way", - "Mysterious Rash", - "Jolly Roger", - "Victim of Circumstance", - "Product of Society", - "Under Evaluation", - "Flying Coffin", - "Gilded Cage", - "Disgruntled Worker", - "Of Sound Mind", - "Ivory Tower", - "Bastard Son", - "Scarlet Tentacle", - "Down In Front", - "Learning Experience", - "Desperate Pauper", - "Born Lucky", - "Base Instincts", - "Check Please", - "Infinite Loop", - "Lazy Morning", - "Runtime Error", - "Pointless Platitude", - "Grey Matter", - "Conscientious Objector", - "Unexplained Itch", - "Out of Control", - "Unexpected Obstacle", - "Toxic Behavior", - "Controlled Explosion", - "Happy Camper", - "Unfortunate Ending", - "Criminally Insane", - "Not Guilty", - "Double Jeopardy", - "Perfect Pitch", - "Dark Forecast", - "Apologies in Advance", - "Reduced To This", - "Surprise Encounter", - "Meat Locker", - "Cardiac Arrest", - "Piece of Junk", - "Bottom Line", - "With Abandon", - "Unsound Methods", - "Beast of Burden", - "Red Claw", - "No Laughing Matter", - "Nothing Personal", - "Great Experiment", - "Looks Like Trouble", - "Turning Point", - "Murderous Intent", - "If Looks Could Kill", - "Liquid Courage", - "Attention Seeker", - "Juvenile Delinquent", - "Mystery Meat", - "Slippery Slope", - "Empty Gesture", - "Annoying Pest", - "Killing Implement", - "Blunt Object", - "Blockade Runner", - "Innocent Bystander", - "Lacking Purpose", - "Beyond Salvation", - "This Too Shall Pass", - "Guilty Pleasure", - "Exploratory Surgery", - "Inelegant Solution", - "Under New Ownership", - "Festering Wound", - "Red Smile", - "Mysterious Stranger", - "Process of Elimination", - "Prone to Hysteria", - "Star Beggar", - "Dream Shatterer", - "Do The Math", - "Big Boy", - "Teacher's Pet", - "Hell's Bells", - "Critical Mass", - "Star Wench", - "Double Standard", - "Blind Fury", - "Carrion Eater", - "Pound of Flesh", - "Short Fuse", - "Road Agent", - "Deceiving Looks", - "An Arrow in Flight", - "Gun-to-Head", - "Petty Theft", - "Grand Larceny", - "Pop Up", - "A Promise Kept", - "Frag Machine", - "Unrepentant Camper", - "Impersonal Space", - "Fallen Pillar", - "Motion Tabled", - "Outrageous Fortune", - "Pyrrhic and Proud", - "Wiggling Bait", - "Shoot for Loot", - "Tone Deaf Siren", - "The Worst Thing", - "Violence-Liker", - "Illegal Repercussions", - "Shameless Plagiarist", - "Dove & Crow", - "Barnacle Jim", - "Charles in Charge", - "Strange Aeons", - "Red Queen" - ) - /* - destination_names = list( - ) - */ - -/datum/lore/organization/other/pirates - name = "Pirates" - short_name = "" //whitespace hack again - acronym = "IPG" - desc = "Where there's prey, predators are sure to follow. In space, the prey are civilian merchants, and the predators are opportunistic pirates. This is about where the analogy breaks down, but the basic concept remains the same; civilian ships are usually full of valuable goods or important people, which can be sold on black markets or ransomed back for a healthy sum. Pirates seek to seize the assets of others to get rich, rather than make an honest thaler themselves.\ -

    \ - In contrast to the colorful Ue-Katish and sneaky Vox, common pirates tend to be rough, practical, and brutally efficient in their work. System Defense units practice rapid response drills, and in most systems it's only a matter of minutes before The Law arrives unless the pirate is able to isolate their target and prevent them from sending a distress signal.\ -

    \ - Complicating matters is the infrequent use of privateers by various minor colonial governments, mercenaries turning to piracy during hard times, and illegal salvage operations." - history = "" - work = "" - headquarters = "" - motto = "What\'s yours is mine." - lawful = FALSE - hostile = TRUE - autogenerate_destination_names = TRUE //the events we get called for don't fire a destination, but we need entries to avoid runtimes. - - org_type = "pirate" - ship_prefixes = list ("known pirate" = "a piracy", "suspected pirate" = "a piracy", "rogue privateer" = "a piracy", "Cartel enforcer" = "a piracy", "known outlaw" = "a piracy", "bandit" = "a piracy", "roving corsair" = "a piracy", "illegal salvager" = "an illegal salvage", "rogue mercenary" = "a mercenary") //as assigned by control, second part shouldn't even come up, but it exists to avoid hiccups/weirdness just in case - ship_names = list( - "Morally Bankrupt", - "Bucket of Bolts", - "Wallet Inspector", - "Laughing Stock", - "Wayward Son", - "Wide Load", - "No Refunds", - "Ugly Stick", - "Poetic Justice", - "Foreign Object", - "Why Me", - "Last Straw", - "Designated Driver", - "Slapped Together", - "Lowest Bidder", - "Harsh Language", - "Public Servant", - "Class Act", - "Deviant Citizen", - "Diminishing Returns", - "Calculated Risk", - "Logistical Nightmare", - "Gross Negligence", - "Holier Than Thou", - "Open Wide", - "Red Dread", - "Missing Link", - "Duct Taped", - "Robber Baron", - "Affront to Nature", - "Total Loss", - "Depth Perception", - "This Way", - "Mysterious Rash", - "Jolly Roger", - "Victim of Circumstance", - "Product of Society", - "Under Evaluation", - "Flying Coffin", - "Gilded Cage", - "Disgruntled Worker", - "Of Sound Mind", - "Ivory Tower", - "Bastard Son", - "Scarlet Tentacle", - "Down In Front", - "Learning Experience", - "Desperate Pauper", - "Born Lucky", - "Base Instincts", - "Check Please", - "Infinite Loop", - "Lazy Morning", - "Runtime Error", - "Pointless Platitude", - "Grey Matter", - "Conscientious Objector", - "Unexplained Itch", - "Out of Control", - "Unexpected Obstacle", - "Toxic Behavior", - "Controlled Explosion", - "Happy Camper", - "Unfortunate Ending", - "Criminally Insane", - "Not Guilty", - "Double Jeopardy", - "Perfect Pitch", - "Dark Forecast", - "Apologies in Advance", - "Reduced To This", - "Surprise Encounter", - "Meat Locker", - "Cardiac Arrest", - "Piece of Junk", - "Bottom Line", - "With Abandon", - "Unsound Methods", - "Beast of Burden", - "Red Claw", - "No Laughing Matter", - "Nothing Personal", - "Great Experiment", - "Looks Like Trouble", - "Turning Point", - "Murderous Intent", - "If Looks Could Kill", - "Liquid Courage", - "Attention Seeker", - "Juvenile Delinquent", - "Mystery Meat", - "Slippery Slope", - "Empty Gesture", - "Annoying Pest", - "Killing Implement", - "Blunt Object", - "Blockade Runner", - "Innocent Bystander", - "Lacking Purpose", - "Beyond Salvation", - "This Too Shall Pass", - "Guilty Pleasure", - "Exploratory Surgery", - "Inelegant Solution", - "Under New Ownership", - "Festering Wound", - "Red Smile", - "Mysterious Stranger", - "Process of Elimination", - "Prone to Hysteria", - "Star Beggar", - "Dream Shatterer", - "Do The Math", - "Big Boy", - "Teacher's Pet", - "Hell's Bells", - "Critical Mass", - "Star Wench", - "Double Standard", - "Blind Fury", - "Carrion Eater", - "Pound of Flesh", - "Short Fuse", - "Road Agent", - "Deceiving Looks", - "An Arrow in Flight", - "Gun-to-Head", - "Petty Theft", - "Grand Larceny", - "Pop Up", - "A Promise Kept", - "Frag Machine", - "Unrepentant Camper", - "Impersonal Space", - "Fallen Pillar", - "Motion Tabled", - "Outrageous Fortune", - "Pyrrhic and Proud", - "Wiggling Bait", - "Shoot for Loot", - "Tone Deaf Siren", - "The Worst Thing", - "Violence-Liker", - "Illegal Repercussions", - "Shameless Plagiarist", - "Dove & Crow", - "Barnacle Jim", - "Charles in Charge", - "Strange Aeons", - "Red Queen" - ) - /* - destination_names = list( - ) - */ - -/datum/lore/organization/other/uekatish - name = "Ue-Katish Pirates" - short_name = "" - acronym = "UEK" - desc = "Contrasting with the Qerr-Glia is a vibrant community of Ue-Katish pirates, who live in cargo flotillas on the edge of Skrellian space (especially on the Human-Skrell border). Ue-Katish ships have no caste system even for the truecaste Skrell and aliens who live there, although they are regimented by rank and role in the ship's functioning. Ue-Katish ships are floating black markets where everything is available for the right price, including some of the galaxy's most well-connected information brokers and most skilled guns-for-hire. The Ue-Katish present the greatest Skrellian counterculture and feature heavily in romanticized human media, although at their hearts they are still bandits and criminals, and the black markets are filled with goods plundered from human and Skrellian trade ships. Many of the Ue-Katish ships themselves bear the scars of the battle that brought them under the pirate flag.\ -

    \ - Ue-Katish pirate culture is somewhat similar to many human countercultures, gleefully reclaiming slurs and subverting expectations for the sheer shock value. Nonetheless, Ue-Katish are still Skrell, and still organize in neat hierarchies under each ship's Captain. The Captain's word is absolute, and unlike the Qerr-Katish they lack any sort of anti-corruption institutions." - history = "" - work = "" - motto = "" - lawful = FALSE - hostile = TRUE - autogenerate_destination_names = TRUE - - org_type = "pirate" - ship_prefixes = list("Ue-Katish pirate" = "a raiding", "Ue-Katish bandit" = "a raiding", "Ue-Katish raider" = "a raiding", "Ue-Katish enforcer" = "an enforcement") - ship_names = list() - -/datum/lore/organization/other/uekatish/New() - ..() - var/i = 20 //give us twenty random names - var/list/first_names = file2list('config/names/first_name_skrell.txt') - var/list/words = list( - "Prize", - "Bounty", - "Treasure", - "Pearl", - "Star", - "Mercy", - "Compass", - "Greed", - "Slave", - "Madness", - "Pride", - "Disgrace", - "Judgement", - "Wrath", - "Hatred", - "Vengeance", - "Fury", - "Thunder", - "Scream", - "Dagger", - "Saber", - "Lance", - "Blade" - ) - while(i) - ship_names.Add("[pick(first_names)]'s [pick(words)]") - i-- - -/datum/lore/organization/other/marauders - name = "Vox Marauders" - short_name = "" //whitespace hack again - acronym = "VOX" - desc = "Whilst rarely as directly threatening as 'common' pirates, the phoron-breathing vox nevertheless pose a constant nuisance for shipping; as far as vox are concerned, only vox and vox matters matter, and everyone else is a 'treeless dusthuffer'. Unlike sometimes over-confident pirates, the vox rarely engage in direct, open combat, preferring to make their profits by either stealth or gunboat diplomacy that tends to be more bluster than true brute force: vox raiders will only commit to an attack if they're confident that they can quickly overwhelm and subdue their victims, then get away with the spoils before any reinforcements can arrive.\ -

    \ - As Vox ship names are generally impossible for the vast majority of other species to pronounce, System Defense tends to tag marauders with a designation based on the ancient NATO Phonetic Alphabet." - history = "Unknown" - work = "Looting and raiding" - headquarters = "Nowhere" - motto = "(unintelligible screeching)" - lawful = FALSE - hostile = TRUE - autogenerate_destination_names = TRUE //the events we get called for don't fire a destination, but we need *some* entries to avoid runtimes. - - org_type = "pirate" - ship_prefixes = list("vox marauder" = "a marauding", "vox raider" = "a raiding", "vox ravager" = "a raiding", "vox corsair" = "a raiding") //as assigned by control, second part shouldn't even come up - //blank out our shipnames for redesignation - ship_names = list() - -/datum/lore/organization/other/marauders/New() - ..() - var/i = 20 //give us twenty random names, marauders get tactical designations from SDF - var/list/letters = list( - "Alpha", - "Bravo", - "Charlie", - "Delta", - "Echo", - "Foxtrot", - "Golf", - "Hotel", - "India", - "Juliett", - "Kilo", - "Lima", - "Mike", - "November", - "Oscar", - "Papa", - "Quebec", - "Romeo", - "Sierra", - "Tango", - "Uniform", - "Victor", - "Whiskey", - "X-Ray", - "Yankee", - "Zulu" - ) - var/list/numbers = list( - "Zero", - "One", - "Two", - "Three", - "Four", - "Five", - "Six", - "Seven", - "Eight", - "Nine" - ) - while(i) - ship_names.Add("[pick(letters)]-[pick(numbers)]") - i-- - -////////////////////////////////////////////////////////////////////////////////// - -// Governments -/datum/lore/organization/gov/commonwealth - name = "Commonwealth of Sol-Procyon" - short_name = "SolCom " - acronym = "CWS" - desc = "The Commonwealth of Sol-Procyon is the evolution of the many nation states of Earth and the outlying colonies \ - having spread amongst the stars. While not quite the hegemon of all Humanity, a narrow majority of them follow \ - the flag of the Commonwealth. The constant tug and pull of government versus corporation, democracy and power \ - troubles this federation of deeply entrenched human colonies much like it did in the 21st century. Some things \ - never change. However, they are economically and culturally quite dominant, although not everyone likes that fact. \ -

    \ - Ships on official CWS assignments typically carry the designations of Earth\'s largest craters, as a reminder of everything the planet (and humanity itself) has endured." - history = "" // Todo - work = "governing polity of humanity's systems" - headquarters = "Luna, Sol" - motto = "Nil Mortalibus Ardui Est" // Latin, because latin. Says 'Nothing is too steep for mortals' - autogenerate_destination_names = TRUE - - org_type = "government" - ship_prefixes = list("CWS-A" = "an administrative", "CWS-T" = "a transportation", "CWS-D" = "a diplomatic", "CWS-F" = "a freight", "CWS-J" = "a prisoner transfer") - //earth's biggest impact craters - ship_names = list( - "Wabar", - "Kaali", - "Campo del Cielo", - "Henbury", - "Morasko", - "Boxhole", - "Macha", - "Rio Cuarto", - "Ilumetsa", - "Tenoumer", - "Xiuyan", - "Lonar", - "Agoudal", - "Tswaing", - "Zhamanshin", - "Bosumtwi", - "Elgygytgyn", - "Bigach", - "Karla", - "Karakul", - "Vredefort", - "Chicxulub", - "Sudbury", - "Popigai", - "Manicougan", - "Acraman", - "Morokweng", - "Kara", - "Beaverhead", - "Tookoonooka", - "Charlevoix", - "Siljan Ring", - "Montagnais", - "Araguinha", - "Chesapeake", - "Mjolnir", - "Puchezh-Katunki", - "Saint Martin", - "Woodleigh", - "Carswell", - "Clearwater West", - "Clearwater East", - "Manson", - "Slate", - "Yarrabubba", - "Keurusselka", - "Shoemaker", - "Mistastin", - "Kamensk", - "Steen", - "Strangways", - "Tunnunik", - "Boltysh", - "Nordlinger Ries", - "Presqu'ile", - "Haughton", - "Lappajarvi", - "Rochechouart", - "Gosses Bluff", - "Amelia Creek", - "Logancha", - "Obolon'", - "Nastapoka", - "Ishim", - "Bedout" - ) - destination_names = list( - "Venus", - "Earth", - "Luna", - "Mars", - "Titan", - "Europa", - "the Jovian subcluster", - "a Commonwealth embassy", - "a classified location" - ) - // autogen will add a lot of other places as well. - -/datum/lore/organization/gov/ares - name = "Third Ares Confederation" - short_name = "ArCon " - desc = "A loose coalition of socialist and communist movements on the fringes of the human diaspora \ - the Ares Confederation is a government-in-exile from the original uprisings of Mars to stop \ - the government of corporations and capitalist interests over Humanity. While they failed twice \ - they have made their own home far beyond the reach of an effective military response by the \ - Commonwealth. They have become renowned engineers and terraforming experts, mostly due to necessity." - history = "" - work = "idealist socialist government" - headquarters = "Paraiso a Àstrea" - motto = "Liberty to the Stars!" - - org_type = "government" - ship_prefixes = list("UFHV" = "military", "FFHV" = "classified") - ship_names = list( - "Bulwark of the Free", - "Charged Negotiation", - "Corporation Breaker", - "Cheeki Breeki", - "Dawnstar", - "Fiery Justice", - "Fist of Ares", - "Freedom", - "Marx Was Right", - "Endstage Capitalism", - "Neoluddism Is The Answer Guys", - "Anarchocapitalism Is A Joke", - "Front Toward Enemy", - "Path of Prosperity", - "Freedom Cry", - "Rebel Yell", - "We Will Return To Mars", - "According To Our Abilities", - "Posadism Gang", - "Accelerationism Doesn't Work In A Vaccuum", - "Don't Shoot, We're Unarmed I Think", - "The Big Stick For Speaking Softly", - "Bull Moose", - "Engels Needs Some Love Too", - "The Icepick", - "Gauntlet", - "Gellaume", - "Hero of the Revolution", - "Jerome", - "Laughing Maniac", - "Liberty", - "Mahama", - "Memory of Fallen", - "Miko", - "Mostly Harmless", - "None Of Your Business", - "Not Insured", - "People's Fist", - "Petrov", - "Prehensile Ethics", - "Pride of Liberty", - "Rodrick", - "Star of Tiamat", - "Torch of Freedom", - "Torch" - ) - destination_names = list( - "Drydocks of the Ares Confederation", - "a classified location", - "a Homestead on Paraiso", - "a contested sector of ArCon space", - "one of our free colonies", - "the Gateway 98-C at Ares", - "Sars Mara on Ares", - "Listening Post Maryland-Sigma", - "an emergency nav bouy", - "New Berlin on Nov-Ferrum", - "a settlement needing our help", - "Forward Base Sigma-Alpha in ArCon space" - ) - -/datum/lore/organization/gov/elysia - name = "The Elysian Colonies" - short_name = "Elysia " - acronym = "ECS" - desc = "The Elysian Colonies, located spinwards from the Commonwealth, are a disunited bunch of \ - vanity states, utopia projects and personal autocracies, whose only unifying characteristic is \ - a general disregard of 'normal' social conventions of Humanity as well as their inherent desire \ - to keep to their ways, in which cases they do sometimes unite to fight off an outside threat. \ - The Elysian Colonies are one of the few places where true slavery is not only accepted, but sadly also \ - rather commonplace if you go to the wrong worlds. Not that they don't internally have at least a dozen would-be liberators." - history = "" - work = "fracturous vanity colonies" - headquarters = "" - motto = "" - - org_type = "government" - ship_prefixes = list("ECS-M" = "a military", "ECS-T" = "a transport", "ECS-T" = "a special transport", "ECS-D" = "a diplomatic") //The Special Transport is SLAAAAVES. but let's not advertise that openly. - ship_names = list( - "Bring Me Wine!", - "I Can't Believe You", - "More Wives Your Grace?", - "Daddy Bought Me This", - "What Do You Mean It's Unethical", - "Libertine Ideals", - "The True Free", - "Unbound", - "No Man Shackled", - "All Men Shackled", - "All Women Shackled", - "All Hermaphrodites Shackled", - "You Know We Just Shackle Anyone", - "Nobody Deserves Shackles", - "Debt Slavery Is Ethical", - "Fashioned After Tradition", - "Sic Vic Pacem", - "Cultivate This", - "We Demand Self-Governance", - "A Thousand Cultures", - "There Is a Character Limit?", - "Slave Galley I", - "The Unconquered CCXXII" - ) - destination_names = list( - "Cygnus", - "The Ultra Dome of Brutal Kill Death", - "Sanctum", - "Infernum", - "The Most Esteemed Estates of Fred Fredson, Heir of the Fred Throne and All its illustrious Fredpendencies", - "Priory Melana", - "The Clone Pits of Meridiem Five", - "Forward Base Mara Alpha", - "a liberation intervention", - "a nav bouy within Cygnus Space", - "a Elysian only refuel outpost", - "to a killer party the Fredperor is holding right now" - ) - -/datum/lore/organization/gov/fyrds - name = "Unitary Alliance of Salthan Fyrds" - short_name = "Saltha " - acronym = "SMS" - desc = "Born out of neglect, the Salthan Fyrds are cast-off colonies of the Commonwealth after giving up on \ - pacifying the wartorn region and fighting off the stray Unathi Raiders after the Hegemony War. \ - In the end they self-organized into military pacts and have formed a militaristic society, in which \ - every person, be it organic or robot, is a soldier for the continued cause in serving as aegis against \ - another Unathi Incursion. They are very no-nonsense." - history = "" - work = "human stratocracy" - headquarters = "The Pact, Myria" - motto = "" - - org_type = "government" - ship_prefixes = list("SFM-M" = "a military", "SFM-M" = "a patrol") // The Salthans don't do anything else. - flight_types = list( - "mission", - "operation", - "exercise", - "assignment", - "deployment" - ) - //specifically-undefeated generals, just to shake up the usual list everyone knows - ship_names = list( - "Ahmose I", - "Thutmose I & III", - "Seti I", - "Ramesses II", - "Tariq ibn Ziyad", - "Shaka Zulu", - "Bai Qi", - "Ashoka the Great", - "Han Xin", - "Chen Qingzhi", - "Sargon of Akkad", - "Khalid ibn al-Walid", - "Narses", - "David IV", - "Yue Fei", - "Subutai", - "Tamerlane", - "Kumbha of Mewar", - "Akbar", - "Admiral Yi", - "Chatrapati Sambhaji Maharaj", - "Baji Rao", - "Nguyen Hue", - "Alexander the Great", - "Epaminondas", - "Nero Claudius Drusus", - "Burebista", - "Pepin the Short", - "El Cid", - "Jan Zizka", - "Scanderbeg", - "Edward IV", - "Pal Kinizsi", - "Ivan Sirko", - "John Churchill", - "Maurice of Nassau", - "Alvaro de Bazan", - "Blas de Lezo", - "Prince Henry", - "Alexander Suvorov", - "Fyodor Ushakov", - "Charles XI", - "August von Mackensen", - "Paul von Lettow-Vorbeck", - "George Henry Thomas" - ) - /* retained for archival, no longer necessary - destination_names = list( - "Base Alpha-Romero", - "Base Zeta-Xray", - "Base Epsilon-Epsilon", - "Base Xray-Beta", - "Base Gamma-Delta", - "Base Yotta-Epsilon" - ) - */ - -/datum/lore/organization/gov/fyrds/New() - ..() - var/fyrdsgen = rand(8, 16) //significantly increased from original values due to the greater length of rounds on YW - var/list/location = list( - "Base","Outpost","Installation","Station","Waypoint","Nav Point" - ) - var/list/greek = list( - "Alpha","Beta","Gamma","Delta","Epsilon","Zeta","Eta","Theta","Iota","Kappa","Lambda","Mu","Nu","Xi","Omicron","Pi","Rho","Sigma","Tau","Upsilon","Phi","Chi","Psi","Omega" - ) - var/list/phoenician = list( - "Aleph","Beth","Gimel","Daleth","He","Zayin","Heth","Teth","Yodh","Kaph","Lamedh","Mem","Nun","Samekh","'Ayin","Pe","Res","Sin","Taw","Waw","Sade","Qoph" - ) - var/list/russian = list( - "Anna","Boris","Vasily","Gregory","Galina","Dmitri","Yelena","Zhenya","Zinaida","Zoya","Ivan","Konstantin","Leonid","Mikhail","Mariya","Nikolai","Olga","Pavel","Roman","Semyon","Sergei","Tatyana","Tamara","Ulyana","Fyodor","Khariton","Tsaplya","Tsentr","Chelovek","Shura","Shchuka","Yery","Znak","Echo","Emma","Yuri","Yakov" - ) - var/list/american = list( - "Alfa","Bravo","Charlie","Delta","Echo","Foxtrot","Golf","Hotel","India","Juliet","Kilo","Lima","Mike","November","Oscar","Papa","Quebec","Romeo","Sierra","Tango","Uniform","Victor","Whiskey","Xray","Yankee","Zulu" - ) - - while(fyrdsgen) - destination_names.Add("[pick(location)] [pick(greek)]-[pick(greek)]","[pick(location)] [pick(phoenician)]-[pick(phoenician)]","[pick(location)] [pick(russian)]-[pick(russian)]","[pick(location)] [pick(american)]-[pick(american)]") - fyrdsgen-- - -/datum/lore/organization/gov/teshari - name = "Teshari Expeditionary Fleet" - short_name = "Teshari Expeditionary " - acronym = "TEF" - desc = "Though nominally a client state of the skrell, the teshari nevertheless maintain their own navy in the form of the Teshari Expeditionary Fleet. The TEF are as much civil and combat engineers as a competent space force, as they are the tip of the spear when it comes to locating and surveying new worlds suitable for teshari habitation, and in the establishment of full colonies. That isn't to say there aren't independent teshari colonies out there, but those that are founded under the wings of the TEF tend to be the largest and most prosperous. They're also responsible for maintaining the security of these colonies and protecting trade ships. Like the USDF (and unlike most other governmental fleets), TEF vessels almost universally sport the 'TEF' designator rather than specific terms.\ -

    \ - The TEF's ships are named after famous teshari pioneers and explorers and the events surrounding those individuals." - history = "" - work = "teshari colonization and infrastructure maintenance" - headquarters = "Qerr'balak, Qerr'valis" - motto = "" - autogenerate_destination_names = TRUE //big list of own holdings to come - - org_type = "government" - //the tesh expeditionary fleet's closest analogue in modern terms would be the US Army Corps of Engineers, just with added combat personnel as well - ship_prefixes = list("TEF" = "a diplomatic", "TEF" = "a peacekeeping", "TEF" = "an escort", "TEF" = "an exploration", "TEF" = "a survey", "TEF" = "an expeditionary", "TEF" = "a pioneering") - //TODO: better ship names? I just took a bunch of random teshnames from the Random Name button and added a word. - ship_names = list() - destination_names = list( - "an Expeditionary Fleet RV point", - "an Expeditionary Fleet Resupply Ship", - "an Expeditionary Fleet Supply Depot", - "a newly-founded Teshari colony", - "a prospective Teshari colony site", - "a potential Teshari colony site", - "Expeditionary Fleet HQ" - ) - -/datum/lore/organization/gov/teshari/New() - ..() - var/i = 20 //give us twenty random names - var/list/first_names = list( - "Leniri's", - "Tatani's", - "Ninai's", - "Miiescha's", - "Ishena's", - "Taalische's", - "Cami's", - "Schemisa's", - "Shilirashi's", - "Sanene's", - "Aeimi's", - "Ischica's", - "Shasche's", - "Leseca's", - "Iisi's", - "Simascha's", - "Lisascheca's" - ) - var/list/words = list( - "Hope", - "Venture", - "Voyage", - "Talons", - "Fang", - "Wing", - "Pride", - "Glory", - "Wit", - "Insight", - "Wisdom", - "Mind", - "Cry", - "Howl", - "Fury", - "Revenge", - "Vengeance" - ) - while(i) - ship_names.Add("[pick(first_names)] [pick(words)]") - i-- - -/datum/lore/organization/gov/altevian_hegemony - name = "The Altevian Hegemony" - short_name = "Altevian Hegemony " - acronym = "AH" - desc = "The Altevians are a space-faring race of rodents that resemble Earth-like rats. \ - They do not have a place they call home in terms of a planet, and instead have massive multiple-kilometer-long colony-ships \ - that are constantly on the move and typically keep operations outside of known populated systems to minimize potential conflicts over resources. \ - Their primary focus is trade and salvage operations, and their ships can be expected to be seen around both densely populated and empty systems for their work." - history = "" - work = "salvage and trade operators" - headquarters = "AH-CV Migrant" - motto = "" - org_type = "spacer" - - ship_prefixes = list("AH-DV" = "a diplomatic", "AH-EV" = "an exploration", "AH-FV" = "a fueling", "AH-FV" = "a cargo", "AH-SV" = "a research", "AH-TV" = "a colony-transporter", "AH-RV" = "an emergency response", "AH-RV" = "a response", "AH-MV" = "a medical") - ship_names = list( - "Platinum", - "Warson", - "Mane", - "Holland", - "Arauz", - "Diamond", - "Gold", - "Steam", - "Boiler", - "Slip", - "Lavender", - "Wheel", - "Stuntson", - "Desto", - "Palos", - "Matterson", - "Mill", - "Smoke", - "Squeson", - "Rabion", - "Strikedown", - "Cluster", - "Raling", - "Archaeologist", - "Beaker" - ) - destination_names = list( - "the AH-CV Migrant flagship", - "one of our research colony-ships", - "the AH-CV Lotus", - "the AH-CV Anvil", - "the AH-CV Generations", - "the AH-CV Galley", - "the AH-CV Prosperity", - "the AH-CV Kitsap", - "the AH-CV Diamondback", - "one of our colony-ships", - "one of our production fleets" - ) - -////////////////////////////////////////////////////////////////////////////////// - -// Military -/datum/lore/organization/mil/usdf - name = "United Solar Defense Force" - short_name = "" //Doesn't cause whitespace any more, with a little sneaky low-effort workaround - acronym = "USDF" - desc = "The USDF is the dedicated military force of the Commonwealth, originally formed by the United Nations. USDF ships are responsible for securing the major traffic lanes between Commonwealth member systems, as well as protecting them from threats that are too great for local SDF units to handle. Despite nominally being a 'Defense Force', a lot of dubious incidents and several notable firebrands within the USDF mean that the Fleet is considered by some to be the galaxy\'s eight-hundred-pound gorilla; it does whatever it wants whenever it wants, and there really isn\'t anything you (or anyone else, even the Commonwealth itself) can do about it. Thankfully a coalition of moderates and Commonwealth loyalists have so far managed to keep the hardliners from getting away with too much, at least for the time being." - history = "" - work = "peacekeeping and piracy suppression" - headquarters = "Paris, Earth" - motto = "Si Vis Pacem Para Bellum" //if you wish for peace, prepare for war - autogenerate_destination_names = TRUE - - org_type = "military" - ship_prefixes = list ("USDF" = "a logistical", "USDF" = "a training", "USDF" = "a patrol", "USDF" = "a piracy suppression", "USDF" = "a peacekeeping", "USDF" = "a relief", "USDF" = "an escort", "USDF" = "a search and rescue", "USDF" = "a classified") - flight_types = list( - "mission", - "operation", - "exercise", - "assignment", - "deployment" - ) - ship_names = list( - "Aphrodite", - "Apollo", - "Ares", - "Artemis", - "Athena", - "Demeter", - "Dionysus", - "Hades", - "Hephaestus", - "Hera", - "Hermes", - "Hestia", - "Poseidon", - "Zeus", - "Achlys", - "Aether", - "Aion", - "Ananke", - "Chaos", - "Chronos", - "Erebus", - "Eros", - "Gaia", - "Hemera", - "Hypnos", - "Nemesis", - "Nyx", - "Phanes", - "Pontus", - "Tartarus", - "Thalassa", - "Thanatos", - "Uranus", - "Coeus", - "Crius", - "Cronus", - "Hyperion", - "Iapetus", - "Mnemosyne", - "Oceanus", - "Phoebe", - "Rhea", - "Tethys", - "Theia", - "Themis", - "Asteria", - "Astraeus", - "Atlas", - "Aura", - "Clymene", - "Dione", - "Helios", - "Selene", - "Eos", - "Epimetheus", - "Eurybia", - "Eurynome", - "Lelantos", - "Leto", - "Menoetius", - "Metis", - "Ophion", - "Pallas", - "Perses", - "Prometheus", - "Styx" - ) - destination_names = list( - "USDF HQ", - "a USDF staging facility on the edge of Commonwealth territory", - "a USDF supply depot", - "a USDF rally point", - "a USDF forward base", - "a USDF repair facility", - "a USDF shipyard in Sol", - "a classified location" - ) - -/datum/lore/organization/mil/pcrc - name = "Proxima Centauri Risk Control" - short_name = "Proxima Centauri " - acronym = "PCRC" - desc = "Not a whole lot is known about the private security company known as PCRC, but it is known that they're irregularly contracted by the larger TSCs for certain delicate matters. Much of the company's inner workings are shrouded in mystery, and most citizens have never even heard of them. Amongst those who do know of them, they enjoy fairly good PR for a private security group, especially when compared to SAARE." - history = "" - work = "risk control and private security" - headquarters = "Proxima Centauri" - motto = "" - autogenerate_destination_names = TRUE - - org_type = "military" - ship_prefixes = list("PCRC" = "a risk control", "PCRC" = "a private security") - flight_types = list( - "flight", - "mission", - "route", - "operation", - "assignment", - "contract" - ) - //law/protection terms - ship_names = list( - "Detective", - "Constable", - "Inspector", - "Judge", - "Adjudicator", - "Magistrate", - "Marshal", - "Sheriff", - "Deputy", - "Warden", - "Guardian", - "Defender", - "Peacemaker", - "Peacekeeper", - "Arbiter", - "Justice", - "Order", - "Jury", - "Inspector", - "Bluecoat", - "Gendarme", - "Gumshoe", - "Patrolman", - "Sentinel", - "Shield", - "Aegis", - "Auditor", - "Monitor", - "Investigator", - "Agent", - "Prosecutor", - "Sergeant" - ) - - destination_names = list( - "PCRC HQ, in Proxima Centauri", - "a PCRC training installation", - "a PCRC supply depot" - ) - -//I'm covered in beeeeeeees! -/datum/lore/organization/mil/hive - name = "HIVE Security" - short_name = "HIVE " - acronym = "HVS" - desc = "HIVE Security is a merging of several much smaller freelance companies, and operates throughout civilized space. Unlike some companies, it operates no planetside facilities whatsoever, opting instead for larger flotillas that are serviced by innumerable smallcraft. As with any PMC there's no small amount of controversy surrounding them, but they try to keep their operations cleaner than their competitors. They're fairly well known for running 'mercy' operations, which are low-cost no-strings-attached contracts for those in dire need." - history = "" - work = "mercenary contractors" - headquarters = "" - motto = "Strength in Numbers" - autogenerate_destination_names = TRUE - - org_type = "military" - ship_prefixes = list("HPF" = "a secure freight", "HPT" = "a training", "HPS" = "a logistics", "HPV" = "a patrol", "HPH" = "a bounty hunting", "HPX" = "an experimental", "HPC" = "a command", "HPI" = "a mercy") - flight_types = list( - "flight", - "mission", - "route", - "operation", - "assignment", - "contract" - ) - //animals, preferably predators, all factual/extant critters - ship_names = list( - "Wolf", - "Bear", - "Eagle", - "Condor", - "Falcon", - "Hawk", - "Kestrel", - "Shark", - "Fox", - "Weasel", - "Mongoose", - "Bloodhound", - "Rhino", - "Tiger", - "Leopard", - "Panther", - "Cheetah", - "Lion", - "Vulture", - "Piranha", - "Crocodile", - "Alligator", - "Recluse", - "Tarantula", - "Scorpion", - "Orca", - "Coyote", - "Jackal", - "Hyena", - "Hornet", - "Wasp", - "Sealion", - "Viper", - "Cobra", - "Sidewinder", - "Asp", - "Python", - "Anaconda", - "Krait", - "Diamondback", - "Mamba", - "Fer de Lance", - "Keelback", - "Adder", - "Constrictor", - "Boa", - "Moray", - "Taipan", - "Rattlesnake" - ) - destination_names = list( - "the HIVE Command fleet", - "a HIVE patrol fleet", - "a HIVE flotilla", - "a HIVE training fleet", - "a HIVE logistics fleet" - ) - //some basics, padded with autogen - -//replaced the edgy blackstar group with polaris-canon SAARE -/datum/lore/organization/mil/saare - name = "Stealth Assault Enterprises" - short_name = "" - acronym = "SAARE" - desc = "SAARE consistently have the worst reputation of any paramilitary group. This is because they specialize in deniability and secrecy. Although publically they work in asset recovery, they have a substantiated reputation for info-theft and piracy that has lead to them butting heads with the law on more than one occasion. Nonetheless, they are an invaluable part of the Solar economy, and other TSCs and small colonial governments keep them in business.\ -

    \ - For the purposes of plausible deniability, SAARE designates their ships using a series of rotating identifiers, with ships on a specific operation or in a particular area all using the same initial designation (e.g. 'Sledgehammer') and having a different numerical identifier, with the most important ships involved bearing a unique additional codename (such as 'Actual' for Command \& Control ships). As ships are shuffled in and out of operating areas, it can be difficult to pin down exactly which ship in SAARE's fleet was responsible for which act. SAARE's misdirection is multilayered, including elements such as extensive use of repainting, false IFFs, bribes, forged documents, intimidation, camouflage, and all manner of other underhanded tactics." - history = "" - work = "mercenary contractors" - headquarters = "" - motto = "Aut Neca Aut Necare" - autogenerate_destination_names = TRUE - - org_type = "military" - ship_prefixes = list("SAARE" = "a secure freight", "SAARE" = "a training", "SAARE" = "a logistics", "SAARE" = "a patrol", "SAARE" = "a security", "SAARE" = "an experimental", "SAARE" = "a command", "SAARE" = "a classified") - flight_types = list( - "flight", - "mission", - "route", - "operation", - "assignment", - "contract" - ) - ship_names = list() - destination_names = list( - "SAARE Command", - "a SAARE training site", - "a SAARE logistical depot", - "a SAARE-held shipyard" - ) - -/datum/lore/organization/mil/saare/New() - ..() - var/i = 20 //give us twenty random names, saare uses tacticool designations - var/list/letters = list( - "King", - "Queen", - "Duke", - "Cipher", - "Monarch", - "Marshal", - "Magnum", - "Longbow", - "Jupiter", - "Excalibur", - "Charon", - "Bloodhound", - "Daybreak", - "Tomahawk", - "Raptor", - "Cerberus", - "Apollo", - "Firebird", - "Outlaw", - "Outrider", - "Vector", - "Spearhead", - "Sledgehammer", - "Typhon", - "Sundown", - "Zodiac", - "Colossus", - "Jackhammer", - "Kodiak", - "Phalanx", - "Rainmaker", - "Shockwave", - "Warhammer", - "Crusader", - "Maverick", - "Nighthawk", - "Redshift", - "Challenger", - "Starlight", - "Sunray", - "Ironside", - "Holdfast", - "Foxhound" - ) - var/list/numbersone = list( - "Zero", - "One", - "Two", - "Three", - "Four", - "Five", - "Six", - "Seven", - "Eight", - "Nine" - ) - var/list/numberstwo = list( - "Zero", - "One", - "Two", - "Three", - "Four", - "Five", - "Six", - "Seven", - "Eight", - "Niner" - ) - while(i) - ship_names.Add("[pick(letters)] [pick(40;"Actual","[pick(numbersone)]-[pick(numberstwo)]")]") - i-- - - //ex: "Phalanx One-Niner", "Sledgehammer Actual" (CO/VIP), "Kodiak Seven-Four", "Tomahawk Two-Zero" - //probably a more elegant (read: fancier) way to do the second part but fuck it, this works just fine diff --git a/code/modules/busy_space_yw/air_traffic.dm b/code/modules/busy_space_yw/air_traffic.dm index 360e186cba3..cdb0ffb8099 100644 --- a/code/modules/busy_space_yw/air_traffic.dm +++ b/code/modules/busy_space_yw/air_traffic.dm @@ -1,12 +1,19 @@ //Cactus, Speedbird, Dynasty, oh my +//Also, massive additions/refactors by Killian, because the original incarnation was full of holes + +//minimum and maximum message delays, typically tracked in seconds +#define MIN_MSG_DELAY 3 +#define MAX_MSG_DELAY 6 var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller /datum/lore/atc_controller - var/delay_min = 30 MINUTES //How long between ATC traffic, min. Increased to 30 for YW due to round length. - var/delay_max = 60 MINUTES //How long between ATC traffic, max. Increased to 60 for YW due to round length. + var/delay_min = 45 MINUTES //How long between ATC traffic, minimum + var/delay_max = 90 MINUTES //Ditto, maximum + //Shorter delays means more traffic, which gives the impression of a busier system, but also means a lot more radio noise var/backoff_delay = 5 MINUTES //How long to back off if we can't talk and want to. Default is 5 mins. - var/next_message = 30 MINUTES //When the next message should happen in world.time - Making it default to min value + var/initial_delay = 15 MINUTES //How long to wait before sending the first message of the shift. + var/next_message = 45 MINUTES //When the next message should happen in world.time var/force_chatter_type //Force a specific type of messages var/squelched = 0 //If ATC is squelched currently @@ -19,16 +26,16 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller var/sdfchannel /datum/lore/atc_controller/New() - spawn(120 SECONDS) //Lots of lag at the start of a shift - //msg("New shift beginning, resuming traffic control.") //this message would generally fire before anyone could ever see it, so removing it entirely - next_message = world.time + rand(delay_min,delay_max) - //generate our static event frequencies for the shift. alternately we could make them completely fixed if we want in the core block + //generate our static event frequencies for the shift. alternately they can be completely fixed, up in the core block ertchannel = "[rand(700,749)].[rand(1,9)]" medchannel = "[rand(750,799)].[rand(1,9)]" - engchannel = "[rand(800,949)].[rand(1,9)]" + engchannel = "[rand(800,849)].[rand(1,9)]" secchannel = "[rand(850,899)].[rand(1,9)]" sdfchannel = "[rand(900,999)].[rand(1,9)]" - process() + spawn(5 SECONDS) //Lots of lag at the start of a shift. Yes, the following lines *have* to be indented or they're not delayed by the spawn properly. + msg("New shift beginning, resuming traffic control. This shift's Colony Frequencies are as follows: Emergency Responders: [ertchannel]. Medical: [medchannel]. Engineering: [engchannel]. Security: [secchannel]. System Defense: [sdfchannel].") + next_message = world.time + initial_delay + process() /datum/lore/atc_controller/process() if(world.time >= next_message) @@ -57,10 +64,10 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller /datum/lore/atc_controller/proc/shift_ending(var/evac = 0) msg("[using_map.shuttle_name], this is [using_map.dock_name] Control, you are cleared to complete routine transfer from [using_map.station_name] to [using_map.dock_name].") - sleep(5 SECONDS) - msg("[using_map.shuttle_name] copies, [using_map.dock_name] Control. Departing [using_map.dock_name] for [using_map.station_name] on routine transfer route. Estimated time to arrival: ten minutes.","[using_map.shuttle_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[using_map.shuttle_name] departing [using_map.dock_name] for [using_map.station_name] on routine transfer route. Estimated time to arrival: ten minutes.","[using_map.shuttle_name]") -/datum/lore/atc_controller/proc/random_convo() +/datum/lore/atc_controller/proc/random_convo(var/force_chatter_type) var/one = pick(loremaster.organizations) //These will pick an index, not an instance var/two = pick(loremaster.organizations) @@ -71,37 +78,43 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller var/name = source.name //get the name var/owner = source.short_name //Use the short name var/prefix = pick(source.ship_prefixes) //Pick a random prefix + var/firstid = "[rand(0,9)][rand(0,9)][rand(0,9)][rand(0,9)]" var/mission = source.ship_prefixes[prefix] //The value of the prefix is the mission type that prefix does var/shipname = pick(source.ship_names) //Pick a random ship name var/destname = pick(source.destination_names) //destination is where? - var/law_abiding = source.lawful //do we fully observe system law (or are we otherwise favored by the system owners, i.e. NT)? - var/law_breaker = source.hostile //or are we part of a pirate group - var/system_defense = source.sysdef //are we actually system law/SDF? unlocks the SDF-specific events + var/slogan = pick(source.slogans) //god help you all + var/org_type = source.org_type //which group do we belong to? //pick our second ship //var/secondname = secondary.name //not used atm, commented out to suppress errors var/secondowner = secondary.short_name var/secondprefix = pick(secondary.ship_prefixes) //Pick a random prefix + var/secondid = "[rand(0,9)][rand(0,9)][rand(0,9)][rand(0,9)]" var/secondshipname = pick(secondary.ship_names) //Pick a random ship name - var/law_abiding2 = secondary.lawful - var/law_breaker2 = secondary.hostile - var/system_defense2 = secondary.sysdef //mostly here as a secondary check to ensure SDF don't interrogate other SDF + var/org_type2 = secondary.org_type - var/combined_first_name = "[owner][prefix] |[shipname]|" - var/combined_second_name = "[secondowner][secondprefix] |[secondshipname]|" + //DEBUG BLOCK + //to_world("DEBUG OUTPUT 1: [name], [owner], [prefix], [firstid], [mission], [shipname], [org_type], [destname]") + //to_world("DEBUG OUTPUT 2: [secondowner], [secondprefix], [secondid], [secondshipname], [org_type2]") + //to_world("DEBUG OUTPUT 3: Chose [chatter_type]") + //DEBUG BLOCK ENDS - var/bay = "[rand(1,42)]" + var/combined_first_name = "[prefix] [firstid] |[shipname]|" //formal traffic control identifier for use in messages + var/short_first_name = "[prefix] |[shipname]|" //special variant for certain events + var/comm_first_name = "[owner] [shipname]" //corpname + shipname for speaker identity in log + var/combined_second_name = "[secondprefix] [secondid] |[secondshipname]|" + var/comm_second_name = "[secondowner] [secondshipname]" + //var/short_second_name = "[secondprefix] |[secondshipname]|" //not actually used for now - var/alt_atc_names = list("[using_map.dock_name] Traffic Control","[using_map.dock_name] TraCon","[using_map.dock_name] System Control","[using_map.dock_name] Star Control","[using_map.dock_name] SysCon","[using_map.dock_name] Tower","[using_map.dock_name] Control","[using_map.dock_name] STC","[using_map.dock_name] StarCon") var/mission_noun = pick(source.flight_types) //pull from a list of owner-specific flight ops, to allow an extra dash of flavor if(source.complex_tasks) //if our source has the complex_tasks flag, regenerate with a two-stage assignment mission_noun = "[pick(source.task_types)] [pick(source.flight_types)]" - + //First response is 'yes', second is 'no' var/requests = list( "special flight rules" = list("authorizing special flight rules", "denying special flight rules, not allowed for your traffic class"), "current solar weather info" = list("sending you the relevant information via tightbeam", "your request has been queued, stand by"), - "aerospace priority" = list("affirmative, aerospace priority is yours", "negative, another vessel has priority right now"), + "sector aerospace priority" = list("affirmative, sector aerospace priority is yours", "negative, another vessel in your sector has priority right now"), "system traffic info" = list("sending you current traffic info", "request queued, please hold"), "refueling information" = list("sending refueling information now", "depots currently experiencing fuel shortages, advise you move on"), "a current system time sync" = list("sending time sync ping to you now", "your ship isn't compatible with our time sync, set time manually"), @@ -112,288 +125,349 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller var/chatter_type = "normal" if(force_chatter_type) chatter_type = force_chatter_type - else if(law_abiding && !system_defense) //I have to offload this from the chatter_type switch below and do it here, otherwise BYOND throws a shitfit for no discernable reason - chatter_type = pick(5;"emerg",25;"policescan",25;"traveladvisory",30;"dockingrequestgeneric",30;"dockingrequestdenied",30;"dockingrequestdelayed",30;"dockingrequestsupply",30;"dockingrequestrepair",30;"dockingrequestmedical",30;"dockingrequestsecurity",30;"undockingrequest","normal",30;"undockingdenied",30;"undockingdelayed") + else if((org_type == "government" || org_type == "neutral" || org_type == "military" || org_type == "corporate" || org_type == "system defense" || org_type == "spacer") && org_type2 == "pirate") //this is ugly but when I tried to do it with !='s it fired for pirate-v-pirate, still not sure why. might as well stick it up here so it takes priority over other combos. + chatter_type = "distress" + else if(org_type == "corporate") //corporate-specific subset for the slogan event. despite the relatively high weight it was still quite rare in tests. + chatter_type = pick(5;"emerg",25;"policescan",25;"traveladvisory",30;"pathwarning",180;"dockingrequestgeneric",30;"undockingrequest","normal",30;"undockingdenied",50;"slogan",25;"civvieleaks",25;"report_to_dock") + else if((org_type == "government" || org_type == "neutral" || org_type == "military")) + chatter_type = pick(5;"emerg",25;"policescan",25;"traveladvisory",30;"pathwarning",180;"dockingrequestgeneric",30;"undockingrequest","normal",30;"undockingdenied",25;"civvieleaks",25;"report_to_dock") + else if(org_type == "spacer") + chatter_type = pick(5;"emerg",15;"policescan",15;"traveladvisory",5;"pathwarning",150;"dockingrequestgeneric",30;"undockingrequest","normal",10;"undockingdenied",25;"civvieleaks",25;"report_to_dock") + //the following filters *always* fire their 'unique' event when they're tripped, simply because the conditions behind them are quite rare to begin with - else if(name == "Smugglers" && !system_defense2) //just straight up funnel smugglers into always being caught + else if(org_type == "smuggler" && org_type2 != "system defense") //just straight up funnel smugglers into always being caught, otherwise we get them asking for traffic info and stuff chatter_type = "policeflee" - else if(name == "Smugglers" && system_defense2) //ditto, if an SDF ship catches them + else if(org_type == "smuggler" && org_type2 == "system defense") //ditto, if an SDF ship catches them chatter_type = "policeshipflee" - else if(law_abiding && law_breaker2) //on the offchance that we manage to roll a goodguy and a badguy, run a new distress event - chatter_type = "distress" - else if(law_breaker && system_defense2) //if we roll this combo instead, time for the SDF to do their fucking job + else if((org_type == "smuggler" || org_type == "pirate") && (org_type2 == "system defense" || org_type2 == "military")) //if we roll this combo instead, time for the SDF or Mercs to do their fucking jobs chatter_type = "policeshipcombat" - else if(law_breaker && !system_defense2) //but if we roll THIS combo, time to alert the SDF to get off their asses + else if((org_type == "smuggler" || org_type == "pirate") && org_type2 != "system defense") //but if we roll THIS combo, time to alert the SDF to get off their asses chatter_type = "hostiledetected" //SDF-specific events that need to filter based on the second party (basically just the following SDF-unique list with the soft-result ship scan thrown in) - else if(system_defense && law_abiding2 && !system_defense2) //let's see if we can narrow this down, I didn't see many ship-to-ship scans - chatter_type = pick(75;"policeshipscan","sdfpatrolupdate",75;"sdfendingpatrol",30;"dockingrequestgeneric",30;"dockingrequestdelayed",30;"dockingrequestsupply",30;"dockingrequestrepair",30;"dockingrequestmedical",30;"dockingrequestsecurity",20;"undockingrequest",75;"sdfbeginpatrol",50;"normal") + else if(org_type == "system defense" && (org_type2 == "government" || org_type2 == "neutral" || org_type2 == "military" || org_type2 == "corporate" || org_type2 == "spacer")) //let's see if we can narrow this down, I didn't see many ship-to-ship scans + chatter_type = pick(75;"policeshipscan","sdfpatrolupdate",75;"sdfendingpatrol",180;"dockingrequestgeneric",20;"undockingrequest",75;"sdfbeginpatrol",50;"normal",10;"civvieleaks",70;"sdfchatter") //SDF-specific events that don't require the secondary at all, in the event that we manage to roll SDF + hostile/smuggler or something - else if(system_defense) - chatter_type = pick("sdfpatrolupdate",60;"sdfendingpatrol",30;"dockingrequestgeneric",30;"dockingrequestdelayed",30;"dockingrequestsupply",30;"dockingrequestrepair",30;"dockingrequestmedical",30;"dockingrequestsecurity",20;"undockingrequest",80;"sdfbeginpatrol","normal") + else if(org_type == "system defense") + chatter_type = pick("sdfpatrolupdate",60;"sdfendingpatrol",120;"dockingrequestgeneric",20;"undockingrequest",80;"sdfbeginpatrol","normal","sdfchatter") //if we somehow don't match any of the other existing filters once we've run through all of them else - chatter_type = pick(5;"emerg",25;"policescan",25;"traveladvisory",30;"pathwarning",30;"dockingrequestgeneric",30;"dockingrequestdelayed",30;"dockingrequestdenied",30;"dockingrequestsupply",30;"dockingrequestrepair",30;"dockingrequestmedical",30;"dockingrequestsecurity",30;"undockingrequest",30;"undockingdenied",30;"undockingdelayed","normal") + chatter_type = pick(5;"emerg",25;"policescan",25;"traveladvisory",30;"pathwarning",90;"dockingrequestgeneric",30;"undockingrequest",30;"undockingdenied","normal",25;"civvieleaks") + //I probably should do some kind of pass here to work through all the possible combinations of major factors and see if the filtering list needs reordering or modifying, but I really can't be arsed var/yes = prob(90) //Chance for them to say yes vs no var/request = pick(requests) - var/callname = pick(alt_atc_names) + var/callname = "[using_map.dock_name] Control" var/response = requests[request][yes ? 1 : 2] //1 is yes, 2 is no + var/number = rand(1,42) + var/zone = pick("Alpha","Beta","Gamma","Delta","Epsilon","Zeta","Eta","Theta","Iota","Kappa","Lambda","Mu","Nu","Xi","Omicron","Pi","Rho","Sigma","Tau","Upsilon","Phi","Chi","Psi","Omega") + //fallbacks in case someone sets the dock_type on the map datum to null- it defaults to "station" normally + var/landing_zone = "LZ [zone]" + var/landing_type = "landing zone" + var/landing_move = "landing request" + var/landing_short = "land" + switch(using_map.dock_type) + if("surface") //formal installations with proper facilities + landing_zone = "landing pad [number]" + landing_type = "landing pad" + landing_move = "landing request" + landing_short = "land" + callname = "[using_map.dock_name] Tower" + if("frontier") //for frontier bases - landing spots are literally just open ground, maybe concrete at best + landing_zone = "LZ [zone]" + landing_type = "landing zone" + landing_move = "landing request" + landing_short = "land" + callname = "[using_map.dock_name] Tower" + if("station") //standard station pattern + landing_zone = "docking bay [number]" + landing_type = "docking bay" + landing_move = "docking request" + landing_short = "dock" + callname = "[using_map.dock_name] Control" // what you're about to witness is what feels like an extremely kludgy rework of the system, but it's more 'flexible' and allows events that aren't just ship-stc-ship // something more elegant could probably be done, but it won't be done by somebody as half-competent as me switch(chatter_type) //mayday call if("emerg") - var/problem = pick("We have hull breaches on multiple decks","We have unknown hostile life forms on board","Our primary drive is failing","We have asteroids impacting the hull","We're experiencing a total loss of engine power","We have hostile ships closing fast","There's smoke in the cockpit","We have unidentified boarders","Our life support has failed") - msg("+Mayday, mayday, mayday!+ This is [combined_first_name] declaring an emergency! [problem]!","[prefix] [shipname]") - sleep(5 SECONDS) - msg("[combined_first_name], this is [using_map.dock_name] Control, copy. Switch to emergency responder channel [ertchannel].") - sleep(5 SECONDS) - msg("Understood [using_map.dock_name] Control, switching now.","[prefix] [shipname]") + var/problem = pick("We have hull breaches on multiple decks","We have unknown hostile life forms on board","Our primary drive is failing","We have [pick("asteroids","space debris")] impacting the hull","We're experiencing a total loss of engine power","We have hostile ships closing fast","There's smoke [pick("in the cockpit","on the bridge")]","We have unidentified boarders","Our reaction control system is malfunctioning and we're losing stability","Our life support [pick("is failing","has failed")]") + msg("+[pick("Mayday, mayday, mayday!","Mayday, mayday!","Mayday! Mayday!")]+ [combined_first_name], declaring an emergency! [problem]!","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[combined_first_name], [callname]. Switch to emergency responder channel [ertchannel].") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[callname], [combined_first_name] switching now.","[comm_first_name]") //Control scan event: soft outcome if("policescan") - var/confirm = pick("Understood","Roger that","Affirmative") - var/complain = pick("I hope this doesn't take too long.","Can we hurry this up?","Make it quick.","This better not take too long.","Is this really necessary?") + var/confirm = pick("Understood","Roger that","Affirmative","Very well","Copy that") + var/complain = pick("I hope this doesn't take too long.","Can we hurry this up?","Make it quick.","This better not take too long.","Is this really necessary?","I'm sure you'll find everything to be in order, Control.") var/completed = pick("You're free to proceed.","Everything looks fine, carry on.","You're clear, move along.","Apologies for the delay, you're clear.","Switch to channel [sdfchannel] and await further instruction.") - msg("[combined_first_name], this is [using_map.dock_name] Control, your [pick("ship","vessel","starship")] has been flagged for routine inspection. Hold position and prepare to be scanned.") - sleep(5 SECONDS) - msg("[confirm] [using_map.dock_name] Control, holding position.","[prefix] [shipname]") - sleep(5 SECONDS) + msg("[combined_first_name], [callname], your [pick("ship","vessel","starship")] has been flagged for routine inspection. Hold position and prepare to be scanned.") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[confirm] [callname], holding position.","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) msg("Your compliance is appreciated, [combined_first_name]. Scan commencing.") - sleep(10 SECONDS) - msg(complain,"[prefix] [shipname]") - sleep(15 SECONDS) - msg("[combined_first_name], this is [using_map.dock_name] Control. Scan complete. [completed]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY)*2 SECONDS) + msg(complain,"[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY)*3 SECONDS) + msg("[combined_first_name], [callname]. Scan complete. [completed]") //Control scan event: hard outcome if("policeflee") - var/uhoh = pick("No can do chief, we got places to be.","Sorry but we've got places to be.","Not happening.","Ah fuck, who ratted us out this time?!","You'll never take me alive!","Hey, I have a cloaking device! You can't see me!","I'm going to need to ask for a refund on that stealth drive...","I'm afraid I can't do that, Control.","Ah hell.","Fuck!","This isn't the ship you're looking for.","Well. This is awkward.","Uh oh.","I surrender!") - msg("Unknown [pick("ship","vessel","starship")], this is [using_map.dock_name] Control, identify yourself and submit to a full inspection. You are in violation of system regulations.") - sleep(5 SECONDS) - msg("[uhoh]","[shipname]") - sleep(5 SECONDS) - msg("This is [using_map.starsys_name] Defense Control to all local assets: vector to interdict and detain [combined_first_name]. Control out.","[using_map.starsys_name] Defense Control") + var/uhoh = pick("No can do chief, we got places to be.","Sorry but we've got places to be.","Not happening.","Ah fuck, who ratted us out this time?!","You'll never take me alive!","Hey, I have a cloaking device! You can't see me!","I'm going to need to ask for a refund on that stealth drive...","I'm afraid I can't do that, Control.","Ah |hell|.","Fuck!","This isn't the ship you're looking for.","Well. This is awkward.","Uh oh.","I surrender!","Ah f- |ditch the containers!| +Now!+","Unless you have something a little +bigger+ in your torpedo tubes, we're |not| turning around!") + msg("Unknown [pick("ship","vessel","starship")], [callname], identify yourself and submit to a full inspection. Flying without an active transponder is a violation of interstellar shipping regulations.") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[uhoh]","Unknown Vessel") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[using_map.starsys_name] Defense Control to all local assets: vector to interdict and detain [prefix], temporary callsign |[shipname]|. Control out.","[using_map.starsys_name] Defense Control") //SDF scan event: soft outcome if("policeshipscan") var/confirm = pick("Understood","Roger that","Affirmative") - var/complain = pick("I hope this doesn't take too long.","Can we hurry this up?","Make it quick.","This better not take too long.","Is this really necessary?") + var/complain = pick("I hope this doesn't take too long.","Can we hurry this up?","Make it quick.","This better not take too long.","Is this really necessary?","I'm sure you'll find everything to be in order, officer.") var/completed = pick("You're free to proceed.","Everything looks fine, carry on.","You're clear. Move along.","Apologies for the delay, you're clear.","Switch to channel [sdfchannel] and await further instruction.") - msg("[combined_second_name], this is [combined_first_name], your [pick("ship","vessel","starship")] has been flagged for routine inspection. Hold position and prepare to be scanned.","[prefix] [shipname]") - sleep(5 SECONDS) - msg("[confirm] [combined_first_name], holding position.","[secondprefix] [secondshipname]") - sleep(5 SECONDS) - msg("Your compliance is appreciated, [combined_first_name]. Scan commencing.","[prefix] [shipname]") - sleep(10 SECONDS) - msg(complain,"[secondprefix] [secondshipname]") - sleep(15 SECONDS) - msg("[combined_second_name], this is [combined_first_name]. Scan complete. [completed]","[prefix] [shipname]") + msg("[combined_second_name], [combined_first_name], your [pick("ship","vessel","starship")] has been flagged for routine inspection. Hold position and prepare to be scanned.","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[confirm] [combined_first_name], holding position.","[comm_second_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("Your compliance is appreciated, [combined_second_name]. Scan commencing.","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY)*2 SECONDS) + msg(complain,"[comm_second_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY)*3 SECONDS) + msg("[combined_second_name], [combined_first_name]. Scan complete. [completed]","[comm_first_name]") //SDF scan event: hard outcome if("policeshipflee") - var/uhoh = pick("No can do chief, we got places to be.","Sorry but we've got places to be.","Not happening.","Ah fuck, who ratted us out this time?!","You'll never take me alive!","Hey, I have a cloaking device! You can't see me!","I'm going to need to ask for a refund on that stealth drive...","I'm afraid I can't do that, |[shipname]|.","Ah hell.","Fuck!","This isn't the ship you're looking for.","Well. This is awkward.","Uh oh.","I surrender!") - msg("Unknown [pick("ship","vessel","starship")], this is [combined_second_name], identify yourself and submit to a full inspection. You are in violation of system regulations.","[secondprefix] [secondshipname]") - sleep(5 SECONDS) - msg("[uhoh]","[shipname]") - sleep(5 SECONDS) - msg("[using_map.starsys_name] Defense Control, this is [combined_second_name], we have a situation here, please advise.","[secondprefix] [secondshipname]") - sleep(5 SECONDS) + var/uhoh = pick("No can do chief, we got places to be.","Sorry but we've got places to be.","Not happening.","Ah fuck, who ratted us out this time?!","You'll never take me alive!","Hey, I have a cloaking device! You can't see me!","I'm going to need to ask for a refund on that stealth drive...","I'm afraid I can't do that, |[shipname]|.","Ah |hell|.","Fuck!","This isn't the ship you're looking for.","Well. This is awkward.","Uh oh.","I surrender!","Ah f- |ditch the containers!| +Now!+","Unless you have something a little +bigger+ in your torpedo tubes, we're |not| turning around!") + msg("Unknown [pick("ship","vessel","starship")], [combined_second_name], identify yourself and submit to a full inspection. Flying without an active transponder is a violation of interstellar shipping regulations.","[comm_second_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[uhoh]","Unknown Vessel") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[using_map.starsys_name] Defense Control, [combined_second_name]. We have a [prefix] here, please advise.","[comm_second_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) msg("Defense Control copies, [combined_second_name], reinforcements are en route. Switch further communications to encrypted band [sdfchannel].","[using_map.starsys_name] Defense Control") - //SDF scan event: engage primary in combat! very rare since it needs a pirate/vox + SDF roll + //SDF scan event: engage primary in combat! fairly rare since it needs a pirate/vox + SDF roll if("policeshipcombat") var/battlestatus = pick("requesting reinforcements.","we need backup! Now!","holding steady.","we're holding our own for now.","we have them on the run.","they're trying to make a run for it!","we have them right where we want them.","we're badly outgunned!","we have them outgunned.","we're outnumbered here!","we have them outnumbered.","this'll be a cakewalk.",10;"notify their next of kin.") - msg("[using_map.starsys_name] Defense Control, this is [combined_second_name], engaging [combined_first_name] near route [rand(1,100)], [battlestatus]","[secondprefix] [secondshipname]") - sleep(5 SECONDS) + msg("[using_map.starsys_name] Defense Control, [combined_second_name], engaging [combined_first_name] [pick("near route","in sector")] [rand(1,100)], [battlestatus]","[comm_second_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) msg("[using_map.starsys_name] Defense Control copies, [combined_second_name]. Keep us updated.","[using_map.starsys_name] Defense Control") //SDF event: patrol update if("sdfpatrolupdate") - var/statusupdate = pick("nothing unusual so far","nothing of note","everything looks clear so far","ran off some [pick("pirates","marauders")] near route [pick(1,100)], [pick("no","minor")] damage sustained, continuing patrol","situation normal, no suspicious activity yet","minor incident on route [pick(1,100)]","Code 7-X on route [pick(1,100)], situation is under control","seeing a lot of traffic on route [pick(1,100)]","caught a couple of smugglers on route [pick(1,100)]","sustained some damage in a skirmish just now, we're heading back for repairs") - msg("[using_map.starsys_name] Defense Control, this is [combined_first_name] reporting in, [statusupdate], over.","[prefix] [shipname]") - sleep(5 SECONDS) + var/statusupdate = pick("nothing unusual so far","nothing of note","everything looks clear so far","ran off some [pick("pirates","scavengers")] near route [pick(1,100)], [pick("no","minor")] damage sustained, continuing patrol","situation normal, no suspicious activity yet","minor incident on route [pick(1,100)]","Code 7-X [pick("on route","in sector")] [pick(1,100)], situation is under control","seeing a lot of traffic on route [pick(1,100)]","caught a couple of smugglers [pick("on route","in sector")] [pick(1,100)]","sustained some damage in a skirmish just now, we're heading back for repairs") + msg("[using_map.starsys_name] Defense Control, [combined_first_name] reporting in, [statusupdate], over.","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) msg("[using_map.starsys_name] Defense Control copies, [combined_first_name]. Keep us updated, out.","[using_map.starsys_name] Defense Control") //SDF event: end patrol if("sdfendingpatrol") var/appreciation = pick("Copy","Understood","Affirmative","10-4","Roger that") - var/dockingplan = pick("Starting final approach now.","Commencing docking procedures.","Autopilot engaged.","Approach vector locked in.","In the pipe, five by five.") - msg("[callname], this is [combined_first_name], returning from our system patrol route, requesting permission to dock.","[prefix] [shipname]") - sleep(5 SECONDS) - msg("[combined_first_name], this is [using_map.dock_name] Control. Permission granted, proceed to docking bay [bay]. Follow the green lights on your way in.") - sleep(5 SECONDS) - msg("[appreciation], [using_map.dock_name] Control. [dockingplan]","[prefix] [shipname]") + var/dockingplan = pick("Starting final approach now.","Commencing landing procedures.","Autopilot engaged.","Approach vector locked in.","In the pipe, five by five.") + msg("[callname], [combined_first_name], returning from our system patrol route, requesting permission to [landing_short].","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[combined_first_name], [callname]. Permission granted, proceed to [landing_zone]. Follow the green lights on your way in.") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[appreciation], [callname]. [dockingplan]","[comm_first_name]") + //SDF event: general chatter + if("sdfchatter") + var/chain = pick("codecheck","commscheck") + switch(chain) + if("codecheck") + msg("Check. Check. |Check|. Uhhh... check? Wait. Wait! Hold on. Yeah, okay, I gotta call this one in.","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[callname], confirm auth-code... [rand(1,9)][rand(1,9)][rand(1,9)]-[pick("Alpha","Beta","Gamma","Delta","Epsilon","Zeta","Eta","Theta","Iota","Kappa","Lambda","Mu","Nu","Xi","Omicron","Pi","Rho","Sigma","Tau","Upsilon","Phi","Chi","Psi","Omega")]?","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("One moment...") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY)*2 SECONDS) + msg("Yeah, that code checks out [combined_first_name].") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("|(sigh)| Copy that Control. You! Move along!","[comm_first_name]") + if("commscheck") + msg("Control this is [combined_first_name], we're getting some interference in our area. [pick("How's our line?","Do you read?","How copy, over?")]","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("Control reads you loud and clear [combined_first_name].","[using_map.starsys_name] Defense Control") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[pick("Copy that","Thanks,","Roger that")] Control. [combined_first_name] out.","[comm_first_name]") + //Civil event: leaky chatter + if("civvieleaks") + var/commleak = pick("thatsmywife","missingkit","pipeleaks","weirdsmell","weirdsmell2","scug","teppi") + switch(commleak) + if("thatsmywife") + msg("-so then I says to him, |that's no [pick("space carp","space shark","vox","garbage scow","freight liner","cargo hauler","superlifter")], that's my +wife!+| And he-","[comm_first_name]") + if("missingkit") + msg("-did you get the kit from down on deck [rand(1,4)]? I need th-","[comm_first_name]") + if("pipeleaks") + msg("I swear if these pipes keep leaking I'm going to-","[comm_first_name]") + if("weirdsmell") + msg("-and where the hell is that smell coming fr-","[comm_first_name]") + if("weirdsmell2") + msg("-hat in the [pick("three","five","seven","nine")] hells did you |eat| [pick("ensign","crewman")]? This compartment reeks of-","[comm_first_name]") + if("scug") + msg("-and if that weird cat of yours keeps crawling into the pipes we-","[comm_first_name]") + if("teppi") + msg("-at are we supposed to do with this damn cow?","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("I don't think it's a cow, sir, it looks more like a-","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[combined_first_name], your internal comms are leaking[pick("."," again.",", again.",". |Again|.")]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("Sorry Control, won't happen again.","[comm_first_name]") //DefCon event: hostile found if("hostiledetected") var/orders = pick("Engage on sight","Engage with caution","Engage with extreme prejudice","Engage at will","Search and destroy","Bring them in alive, if possible","Interdict and detain","Keep your eyes peeled","Bring them in, dead or alive","Stay alert") msg("This is [using_map.starsys_name] Defense Control to all SDF assets. Priority update follows.","[using_map.starsys_name] Defense Control") - sleep(5 SECONDS) - msg("Be on the lookout for [combined_first_name], last sighted near route [rand(1,100)]. [orders]. DefCon, out.","[using_map.starsys_name] Defense Control") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("Be on the lookout for [short_first_name], last sighted [pick("near route","in sector","near sector")] [rand(1,100)]. [orders]. DefCon, out.","[using_map.starsys_name] Defense Control") //Ship event: distress call, under attack if("distress") - msg("+Mayday, mayday, mayday!+ This is [combined_first_name] declaring an emergency! We are under attack by [combined_second_name]! Requesting immediate assistance!","[prefix] [shipname]") - sleep(5 SECONDS) - msg("[combined_first_name], this is [using_map.starsys_name] Defense Control, copy. SDF is en route, contact on [sdfchannel].") - sleep(5 SECONDS) - msg("Understood [using_map.starsys_name] Defense Control, switching now.","[prefix] [shipname]") + var/state = pick(66;"calm",34;"panic") + switch(state) + if("calm") + msg("[using_map.starsys_name] Defense Control, [combined_first_name].","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[combined_first_name], [using_map.starsys_name] Defense Control.","[using_map.starsys_name] Defense Control") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("Another vessel in our area is moving [pick("aggressively","suspiciously","erratically","unpredictably","with clear hostile intent")], please advise? Forwarding sensor data now.","[comm_first_name]","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[combined_first_name], [using_map.starsys_name] Defense Control copies. Sensor data matches logged profile for [secondprefix] |[secondshipname]|. SDF units are en route to your location.","[using_map.starsys_name] Defense Control") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[pick("Appreciated","Copy that","Understood")], Control. Switching to [sdfchannel] to coordinate.","[comm_first_name]") + if("panic") + msg("+Mayday, mayday, mayday!+ This is [combined_first_name] declaring an emergency! We are under attack! Requesting immediate assistance!","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[combined_first_name], [using_map.starsys_name] Defense Control. SDF is en route, contact on [sdfchannel].") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[pick("Copy that","Understood")] [using_map.starsys_name] Defense Control, switching now!","[comm_first_name]") //Control event: travel advisory if("traveladvisory") - var/flightwarning = pick("Solar flare activity is spiking and expected to cause issues along main flight lanes [rand(1,33)], [rand(34,67)], and [rand(68,100)]","Pirate activity is on the rise, stay close to System Defense vessels","We're seeing a rise in illegal salvage operations, please report any unusual activity to the nearest SDF vessel via channel [sdfchannel]","Vox Marauder activity is higher than usual, report any unusual activity to the nearest System Defense vessel","A quarantined [pick("fleet","convoy")] is passing through the system along route [rand(1,100)], please observe minimum safe distance","A prison [pick("fleet","convoy")] is passing through the system along route [rand(1,100)], please observe minimum safe distance","Traffic volume is higher than normal, expect processing delays","Anomalous bluespace activity detected along route [rand(1,100)], exercise caution","Smugglers have been particularly active lately, expect increased security scans","Depots are currently experiencing a fuel shortage, expect delays and higher rates","Asteroid mining has displaced debris dangerously close to main flight lanes on route [rand(1,100)], watch for potential impactors","[pick("Pirate","Vox Marauder")] and System Defense forces are currently engaged in skirmishes throughout the system, please steer clear of any active combat zones","A [pick("fuel tanker","cargo liner","passenger liner","freighter","transport ship")] has collided with a [pick("fuel tanker","cargo liner","passenger liner","freighter","transport ship")] near route [rand(1,100)], watch for debris and do not impede emergency service vessels","A [pick("fuel tanker","cargo liner","passenger liner","freighter","transport ship")] on route [rand(1,100)] has experienced total engine failure. Emergency response teams are en route, please observe minimum safe distances and do not impede emergency service vessels","Transit routes have been recalculated to adjust for planetary drift. Please synch your astronav computers as soon as possible to avoid delays and difficulties","[pick("Bounty hunters","System Defense officers","Mercenaries")] are currently searching for a wanted fugitive, report any sightings of suspicious activity to System Defense via channel [sdfchannel]","Mercenary contractors are currently conducting aggressive [pick("piracy","marauder")] suppression operations",10;"It's space carp breeding season. [pick("Stars","Gods","God","Goddess")] have mercy on you all, because the carp won't") - msg("This is [using_map.dock_name] Control to all vessels in the [using_map.starsys_name] system. Priority travel advisory follows.") - sleep(5 SECONDS) + var/flightwarning = pick("Solar flare activity is spiking and expected to cause issues along main flight lanes [rand(1,33)], [rand(34,67)], and [rand(68,100)]","Pirate activity is on the rise, stay close to System Defense vessels","We're seeing a rise in illegal salvage operations, please report any unusual activity to the nearest SDF vessel via channel [sdfchannel]","A quarantined [pick("fleet","convoy")] is passing through the system along route [rand(1,100)], please observe minimum safe distance","A prison [pick("fleet","convoy")] is passing through the system along route [rand(1,100)], please observe minimum safe distance","Traffic volume is higher than normal, expect processing delays","Anomalous bluespace activity detected [pick("along route [rand(1,100)]","in sector [rand(1,100)]")], exercise caution","Smugglers have been particularly active lately, expect increased security scans","Depots are currently experiencing a fuel shortage, expect delays and higher rates","Asteroid mining has displaced debris dangerously close to main flight lanes on route [rand(1,100)], watch for potential impactors","A [pick("fuel tanker","cargo liner","passenger liner","freighter","transport ship","mining barge","salvage trawler")] has collided with [pick("a fuel tanker","a cargo liner","a passenger liner","a freighter","a transport ship","a mining barge","a salvage trawler","a meteoroid","a cluster of space debris","an asteroid","an ice-rich comet")] near route [rand(1,100)], watch for debris and do not impede emergency service vessels","A [pick("fuel tanker","cargo liner","passenger liner","freighter","transport ship","mining barge","salvage trawler")] on route [rand(1,100)] has experienced total engine failure. Emergency response teams are en route, please observe minimum safe distances and do not impede emergency service vessels","Transit routes have been recalculated to adjust for planetary drift. Please synch your astronav computers as soon as possible to avoid delays and difficulties","[pick("Bounty hunters","System Defense officers","Mercenaries")] are currently searching for a wanted fugitive, report any sightings of suspicious activity to System Defense via channel [sdfchannel]",10;"It's space [pick("carp","shark")] breeding season. [pick("Stars","Skies","Gods","God","Goddess","Fates")] have mercy on you all","We're reading [pick("void","drive","sensor")] echoes that are consistent with illegal cloaking devices, be alert for suspicious activity in your sector") + msg("[callname], all vessels in the [using_map.starsys_name] system. Priority travel advisory follows.") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) msg("[flightwarning]. Control out.") //Control event: warning to a specific vessel if("pathwarning") - var/navhazard = pick("a pocket of intense radiation","a pocket of unstable gas","a debris field","a secure installation","an active combat zone","a quarantined ship","a quarantined installation","a quarantined sector","a live-fire SDF training exercise","an ongoing Search & Rescue operation") + var/navhazard = pick("a pocket of intense radiation","a pocket of unstable gas","a debris field","a secure installation","an active combat zone","a quarantined ship","a quarantined installation","a quarantined sector","a live-fire SDF training exercise","an ongoing Search & Rescue operation","a hazardous derelict","an intense electrical storm","an intense ion storm","a shoal of space carp","a pack of space sharks","an asteroid infested with gnat hives","a protected space ray habitat","a region with anomalous bluespace activity","a rogue comet") var/confirm = pick("Understood","Roger that","Affirmative","Our bad","Thanks for the heads up") - var/safetravels = pick("Fly safe out there","Good luck","Safe travels","Godspeed","Stars guide you","Don't let it happen again") - msg("[combined_first_name], this is [using_map.dock_name] Control, your [pick("ship","vessel","starship")] is approaching [navhazard], observe minimum safe distance and adjust your heading appropriately.") - sleep(5 SECONDS) - msg("[confirm] [using_map.dock_name] Control, adjusting course.","[prefix] [shipname]") - sleep(5 SECONDS) - msg("Your compliance is appreciated, [combined_first_name]. [safetravels].") + msg("[combined_first_name], [callname]. Your [pick("ship","vessel","starship")] is approaching [navhazard], observe minimum safe distance and adjust your heading appropriately.") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[confirm] [callname], adjusting course.","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("Your compliance is appreciated, [combined_first_name].") + //Control event: personnel report to dock + if("report_to_dock") + var/situation_type = pick("medical","security","engineering","animal control","hazmat") + msg("This is [using_map.dock_name] Tower. Would a free [situation_type] team please report to [landing_zone] immediately. This is not a drill.") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY)*10 SECONDS) + msg("Repeat, any free [situation_type] team, report to [landing_zone] immediately. This is +not+ a drill.") //Ship event: docking request (generic) if("dockingrequestgeneric") - var/appreciation = pick("Much appreciated","Many thanks","Understood","Cheers") - var/dockingplan = pick("Starting final approach now.","Commencing docking procedures.","Autopilot engaged.","Approach vector locked in.","In the pipe, five by five.") - msg("[callname], this is [combined_first_name], [pick("stopping by","passing through")] on our way to [destname], requesting permission to dock.","[prefix] [shipname]") - sleep(5 SECONDS) - msg("[combined_first_name], this is [using_map.dock_name] Control. Permission granted, proceed to docking bay [bay]. Follow the green lights on your way in.") - sleep(5 SECONDS) - msg("[appreciation], [using_map.dock_name] Control. [dockingplan]","[prefix] [shipname]") - //Ship event: docking request (denied) - if("dockingrequestdenied") - var/reason = pick("we don't have any docking bays large enough for your vessel","we don't have the necessary facilities for your vessel type or class") - msg("[callname], this is [combined_first_name], [pick("stopping by","passing through")] on our way to [destname], requesting permission to dock.","[prefix] [shipname]") - sleep(5 SECONDS) - msg("[combined_first_name], this is [using_map.dock_name] Control. Request denied, [reason].") - sleep(5 SECONDS) - msg("Understood, [using_map.dock_name] Control.","[prefix] [shipname]") - //Ship event: docking request (delayed) - if("dockingrequestdelayed") - var/reason = pick("we don't have any free docking bays right now","you're too far away, please close to ten thousand meters and resubmit your request","we're seeing heavy traffic around the docking ports right now","we're currently cleaning up a fuel cloud","there are loose containers in the traffic lanes, stand by whilst we secure them") + var/request_type = pick(100;"generic",50;"delayed",80;"supply",30;"repair",30;"medical",30;"security") var/appreciation = pick("Much appreciated","Many thanks","Understood","Perfect, thank you","Excellent, thanks","Great","Copy that") - var/dockingplan = pick("Starting final approach now.","Commencing docking procedures.","Autopilot engaged.","Approach vector locked in.","In the pipe, five by five.") - msg("[callname], this is [combined_first_name], [pick("stopping by","passing through")] on our way to [destname], requesting permission to dock.","[prefix] [shipname]") - sleep(5 SECONDS) - msg("[combined_first_name], this is [using_map.dock_name] Control. Request denied, [reason]. Please resubmit your request in three minutes.") - sleep(5 SECONDS) - msg("Understood, [using_map.dock_name] Control.","[prefix] [shipname]") - sleep(180 SECONDS) - msg("[callname], this is [combined_first_name], resubmitting docking request.","[prefix] [shipname]") - sleep (5 SECONDS) - msg("[combined_first_name], this is [using_map.dock_name] Control. Everything appears to be in order now, permission granted, proceed to docking bay [bay]. Follow the green lights on your way in.") - sleep(5 SECONDS) - msg("[appreciation], [using_map.dock_name] Control. [dockingplan]","[prefix] [shipname]") - //Ship event: docking request (resupply) - if("dockingrequestsupply") - var/preintensifier = pick(75;"getting ",75;"running ","") //whitespace hack, sometimes they'll add a preintensifier, but not always - var/intensifier = pick("very","pretty","critically","extremely","dangerously","desperately","kinda","a little","a bit","rather","sorta") - var/low_thing = pick("ammunition","munitions","clean water","food","spare parts","medical supplies","reaction mass","gas","hydrogen fuel","phoron fuel","fuel",10;"tea",10;"coffee",10;"soda",10;"pizza",10;"beer",10;"booze",10;"vodka",10;"snacks") //low chance of a less serious shortage - var/appreciation = pick("Much appreciated","Many thanks","Understood","You're a lifesaver","We owe you one","I owe you one","Perfect, thank you") - var/dockingplan = pick("Starting final approach now.","Commencing docking procedures.","Autopilot engaged.","Approach vector locked in.","In the pipe, five by five.") - msg("[callname], this is [combined_first_name]. We're [preintensifier][intensifier] low on [low_thing]. Requesting permission to dock for resupply.","[prefix] [shipname]") - sleep(5 SECONDS) - msg("[combined_first_name], this is [using_map.dock_name] Control. Permission granted, proceed to docking bay [bay]. Follow the green lights on your way in.") - sleep(5 SECONDS) - msg("[appreciation], [using_map.dock_name] Control. [dockingplan]","[prefix] [shipname]") - //Ship event: docking request (repair/maint) - if("dockingrequestrepair") - var/damagestate = pick("We've experienced some hull damage","We're suffering minor system malfunctions","We're having some technical issues","We're overdue maintenance","We have several minor space debris impacts","We've got some battle damage here","Our reactor output is fluctuating","We're hearing some weird noises from the [pick("engines","pipes","ducting","HVAC")]","Our artificial gravity generator has failed","Our life support is failing","Our environmental controls are busted","Our water recycling system has shorted out","Our navcomp is freaking out","Our systems are glitching out","We just got caught in a solar flare","We had a close call with an asteroid","We have a minor [pick("fuel","water","oxygen","gas")] leak","We have depressurized compartments","We have a hull breach","Our shield generator is on the fritz","Our RCS is acting up","One of our [pick("hydraulic","pneumatic")] systems has depressurized","Our repair bots are malfunctioning") - var/appreciation = pick("Much appreciated","Many thanks","Understood","You're a lifesaver","We owe you one","I owe you one","Perfect, thank you") - var/dockingplan = pick("Starting final approach now.","Commencing docking procedures.","Autopilot engaged.","Approach vector locked in.","In the pipe, five by five.") - msg("[callname], this is [combined_first_name]. [damagestate]. Requesting permission to dock for repairs and maintenance.","[prefix] [shipname]") - sleep(5 SECONDS) - msg("[combined_first_name], this is [using_map.dock_name] Control. Permission granted, proceed to docking bay [bay]. Follow the green lights on your way in. Repair crews are standing by, contact them on channel [engchannel].") - sleep(5 SECONDS) - msg("[appreciation], [using_map.dock_name] Control. [dockingplan]","[prefix] [shipname]") - //Ship event: docking request (medical) - if("dockingrequestmedical") - var/medicalstate = pick("multiple casualties","several cases of radiation sickness","an unknown virus","an unknown infection","a critically injured VIP","sick refugees","multiple cases of food poisoning","injured passengers","sick passengers","injured engineers","wounded marines","a delicate situation","a pregnant passenger","injured castaways","recovered escape pods","unknown escape pods") - var/appreciation = pick("Much appreciated","Many thanks","Understood","You're a lifesaver","We owe you one","I owe you one","Perfect, thank you") - var/dockingplan = pick("Starting final approach now.","Commencing docking procedures.","Autopilot engaged.","Approach vector locked in.","In the pipe, five by five.") - msg("[callname], this is [combined_first_name]. We have [medicalstate] on board. Requesting permission to dock for medical assistance.","[prefix] [shipname]") - sleep(5 SECONDS) - msg("[combined_first_name], this is [using_map.dock_name] Control. Permission granted, proceed to docking bay [bay]. Follow the green lights on your way in. Medtechs are standing by, contact them on channel [medchannel].") - sleep(5 SECONDS) - msg("[appreciation], [using_map.dock_name] Control. [dockingplan]","[prefix] [shipname]") - //Ship event: docking request (security) - if("dockingrequestsecurity") - var/species = pick("human","unathi","lizard","tajaran","feline","skrell","akula","promethean","sergal","synthetic","robotic","teshari","avian","vulpkanin","canine","vox","zorren","hybrid","mixed-species","vox","grey","alien") - var/securitystate = pick("several [species] convicts","a captured pirate","a wanted criminal","[species] stowaways","incompetent [species] shipjackers","a delicate situation","a disorderly passenger","disorderly [species] passengers","ex-mutineers","a captured vox marauder","captured vox marauders","stolen goods","a container full of confiscated contraband","containers full of confiscated contraband",5;"a very lost shadekin",5;"a raging case of [pick("spiders","crabs")]") //gotta have a little something to lighten the mood now and then - var/appreciation = pick("Much appreciated","Many thanks","Understood","You're a lifesaver","Perfect, thank you") - var/dockingplan = pick("Starting final approach now.","Commencing docking procedures.","Autopilot engaged.","Approach vector locked in.","In the pipe, five by five.") - msg("[callname], this is [combined_first_name]. We have [securitystate] on board and require security assistance. Requesting permission to dock.","[prefix] [shipname]") - sleep(5 SECONDS) - msg("[combined_first_name], this is [using_map.dock_name] Control. Permission granted, proceed to docking bay [bay]. Follow the green lights on your way in. Security teams are standing by, contact them on channel [secchannel].") - sleep(5 SECONDS) - msg("[appreciation], [using_map.dock_name] Control. [dockingplan]","[prefix] [shipname]") + var/dockingplan = pick("Starting final approach now.","Commencing landing procedures.","Autopilot engaged.","Approach vector locked in.","In the pipe, five by five.") + switch(request_type) + if("generic") + msg("[callname], [combined_first_name], [pick("stopping by","passing through")] on our way to [destname], requesting permission to [landing_short].","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[combined_first_name], [callname]. Permission granted, proceed to [landing_zone]. Follow the green lights on your way in.") + if("delayed") + var/reason = pick( + "we don't have any free [landing_type]s right now, please [pick("stand by for a couple of minutes","hold for a few minutes")]", + "you're too far away, please close to ten thousand meters","we're seeing heavy traffic around the [landing_type]s right now, please [pick("stand by for a couple of minutes","hold for a few minutes")]","ground crews are currently clearing up [pick("loose containers","a fuel spill")] to free up one of our [landing_type]s, please [pick("stand by for a couple of minutes","hold for a few minutes")]","another vessel has aerospace priority right now, please [pick("stand by for a couple of minutes","hold for a few minutes")]") + msg("[callname], [combined_first_name], [pick("stopping by","passing through")] on our way to [destname], requesting permission to [landing_short].","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[combined_first_name], [callname]. Request denied, [reason] and resubmit your request.") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("Understood, [callname].","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY)*60 SECONDS) + msg("[callname], [combined_first_name], resubmitting [landing_move].","[comm_first_name]") + sleep (5 SECONDS) + msg("[combined_first_name], [callname]. Everything appears to be in order now, permission granted, proceed to [landing_zone]. Follow the green lights on your way in.") + if("supply") + var/preintensifier = pick(75;"getting ",75;"running ","",15;"like, ") //whitespace hack, sometimes they'll add a preintensifier, but not always + var/intensifier = pick("very","pretty","critically","extremely","dangerously","desperately","kinda","a little","a bit","rather","sorta") + var/low_thing = pick("ammunition","munitions","clean water","food","spare parts","medical supplies","reaction mass","gas","hydrogen fuel","phoron fuel","fuel",10;"tea",10;"coffee",10;"soda",10;"pizza",10;"beer",10;"booze",10;"vodka",10;"snacks") //low chance of a less serious shortage + appreciation = pick("Much appreciated","Many thanks","Understood","You're a lifesaver","We owe you one","I owe you one","Perfect, thank you") + msg("[callname], [combined_first_name]. We're [preintensifier][intensifier] low on [low_thing]. Requesting permission to [landing_short] for resupply.","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[combined_first_name], [callname]. Permission granted, proceed to [landing_zone]. Follow the green lights on your way in.") + if("repair") + var/damagestate = pick("We've experienced some hull damage","We're suffering minor system malfunctions","We're having some [pick("weird","strange","odd","unusual")] technical issues","We're overdue maintenance","We have several minor space debris impacts","We've got some battle damage here","Our reactor output is fluctuating","We're hearing some weird noises from the [pick("engines","pipes","ducting","HVAC")]","We just got caught in a solar flare","We had a close call with an asteroid","We have a [pick("minor","mild","major","serious")] [pick("fuel","water","oxygen","gas")] leak","We have depressurized compartments","We have a hull breach","One of our [pick("hydraulic","pneumatic")] systems has depressurized","Our [pick("life support","water recycling system","navcomp","shield generator","reaction control system","auto-repair system","repair drone controller","artificial gravity generator","environmental control system","master control system")] is [pick("failing","acting up","on the fritz","shorting out","glitching out","freaking out","malfunctioning")]") + appreciation = pick("Much appreciated","Many thanks","Understood","You're a lifesaver","We owe you one","I owe you one","Perfect, thank you") + msg("[callname], [combined_first_name]. [damagestate]. Requesting permission to [landing_short] for repairs and maintenance.","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[combined_first_name], [callname]. Permission granted, proceed to [landing_zone]. Follow the green lights on your way in. Repair crews are standing by, contact them on channel [engchannel].") + if("medical") + var/species = pick("human","humanoid","unathi","lizard","tajaran","feline","skrell","akula","promethean","sergal","synthetic","robotic","teshari","avian","vulpkanin","canine","vox","zorren","hybrid","mixed-species","vox","grey","alien",5;"catslug") + var/medicalstate = pick("multiple casualties","several cases of radiation sickness","an unknown virus","an unknown infection","a critically injured VIP","sick refugees","multiple cases of food poisoning","injured [pick("","[species] ")]passengers","sick [pick("","[species] ")]passengers","injured engineers","wounded marines","a delicate situation","a pregnant passenger","injured [pick("","[species] ")]castaways","recovered escape pods","unknown escape pods") + appreciation = pick("Much appreciated","Many thanks","Understood","You're a lifesaver","We owe you one","I owe you one","Perfect, thank you") + msg("[callname], [combined_first_name]. We have [medicalstate] on board. Requesting permission to [landing_short] for medical assistance.","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[combined_first_name], [callname]. Permission granted, proceed to [landing_zone]. Follow the green lights on your way in. Medtechs are standing by, contact them on channel [medchannel].") + if("security") + var/species = pick("human","humanoid","unathi","lizard","tajaran","feline","skrell","akula","promethean","sergal","synthetic","robotic","teshari","avian","vulpkanin","canine","vox","zorren","hybrid","mixed-species","vox","grey","alien",5;"catslug") + var/securitystate = pick("several [species] convicts","a captured pirate","a wanted criminal","[species] stowaways","incompetent [species] shipjackers","a delicate situation","a disorderly passenger","disorderly [species] passengers","ex-mutineers","stolen goods","[pick("a container","containers")] full of [pick("confiscated contraband","stolen goods")]",5;"a very lost shadekin",10;"some kinda big wooly critter",15;"a buncha lost-looking uh... cat... slug... |things?|",10;"a raging case of [pick("spiders","crabs","geese","gnats","sharks","carp")]") //gotta have a little something to lighten the mood now and then + appreciation = pick("Much appreciated","Many thanks","Understood","You're a lifesaver","Perfect, thank you") + msg("[callname], [combined_first_name]. We have [securitystate] on board and require security assistance. Requesting permission to [landing_short].","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[combined_first_name], [callname]. Permission granted, proceed to [landing_zone]. Follow the green lights on your way in. Security teams are standing by, contact them on channel [secchannel].") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[appreciation], [callname]. [dockingplan]","[comm_first_name]") //Ship event: undocking request if("undockingrequest") + var/request_type = pick(150;"generic",50;"delayed") + var/takeoff = pick("depart","launch") var/safetravels = pick("Fly safe out there","Good luck","Safe travels","See you next week","Godspeed","Stars guide you") var/thanks = pick("Appreciated","Thanks","Don't worry about us","We'll be fine","You too","So long") - msg("[callname], this is [combined_first_name], requesting permission to depart from docking bay [bay].","[prefix] [shipname]") - sleep(5 SECONDS) - msg("[combined_first_name], this is [using_map.dock_name] Control. Permission granted. Docking clamps released. [safetravels].") - sleep(5 SECONDS) - msg("[thanks], [using_map.dock_name] Control. This is [combined_first_name] setting course for [destname], out.","[prefix] [shipname]") + msg("[callname], [combined_first_name], requesting permission to [takeoff] from [landing_zone].","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + switch(request_type) + if("generic") + msg("[combined_first_name], [callname]. Permission granted. Docking clamps released. [safetravels].") + if("delayed") + var/denialreason = pick("Docking clamp malfunction, please hold","Fuel lines have not been secured","Ground crew are still on the pad","Loose containers are on the pad","Exhaust deflectors are not yet in position, please hold","There's heavy traffic right now, it's not safe for your vessel to launch","Another vessel has aerospace priority at this moment","Port officials are still aboard") + msg("Negative [combined_first_name], request denied. [denialreason]. Try again in a few minutes.") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY)*60 SECONDS) + msg("[callname], [combined_first_name], re-requesting permission to depart from [landing_zone].","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[combined_first_name], [callname]. Everything appears to be in order now, permission granted. Docking clamps released. [safetravels].") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[thanks], [callname]. This is [combined_first_name] setting course for [destname], out.","[comm_first_name]") //SDF event: starting patrol if("sdfbeginpatrol") var/safetravels = pick("Fly safe out there","Good luck","Good hunting","Safe travels","Godspeed","Stars guide you") var/thanks = pick("Appreciated","Thanks","Don't worry about us","We'll be fine","You too") - msg("[callname], this is [combined_first_name], requesting permission to depart from docking bay [bay] to begin system patrol.","[prefix] [shipname]") - sleep(5 SECONDS) - msg("[combined_first_name], this is [using_map.dock_name] Control. Permission granted. Docking clamps released. [safetravels].") - sleep(5 SECONDS) - msg("[thanks], [using_map.dock_name] Control. This is [combined_first_name] beginning system patrol, out.","[prefix] [shipname]") + var/takeoff = pick("depart","launch","take off","dust off") + msg("[callname], [combined_first_name], requesting permission to [takeoff] from [landing_zone] to begin system patrol.","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[combined_first_name], [callname]. Permission granted. Docking clamps released. [safetravels].") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[thanks], [callname]. This is [combined_first_name] beginning system patrol, out.","[comm_first_name]") //Ship event: undocking request (denied) if("undockingdenied") + var/takeoff = pick("depart","launch") var/denialreason = pick("Security is requesting a full cargo inspection","Your ship has been impounded for multiple [pick("security","safety")] violations","Your ship is currently under quarantine lockdown","We have reason to believe there's an issue with your papers","Security personnel are currently searching for a fugitive and have ordered all outbound ships remain grounded until further notice") - msg("[callname], this is [combined_first_name], requesting permission to depart from docking bay [bay].","[prefix] [shipname]") - sleep(5 SECONDS) + msg("[callname], [combined_first_name], requesting permission to [takeoff] from [landing_zone].","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) msg("Negative [combined_first_name], request denied. [denialreason].") - //Ship event: undocking request (delayed) - if("undockingdelayed") - var/denialreason = pick("Docking clamp malfunction, please hold","Fuel lines have not been secured","Ground crew are still on the pad","Loose containers are on the pad","Exhaust deflectors are not yet in position, please hold","There's heavy traffic right now, it's not safe for your vessel to launch","Another vessel has aerospace priority at this moment","Port officials are still aboard") - var/safetravels = pick("Fly safe out there","Good luck","Safe travels","See you next week","Godspeed","Stars guide you") - var/thanks = pick("Appreciated","Thanks","Don't worry about us","We'll be fine","You too","So long") - msg("[callname], this is [combined_first_name], requesting permission to depart from docking bay [bay].","[prefix] [shipname]") - sleep(5 SECONDS) - msg("Negative [combined_first_name], request denied. [denialreason]. Try again in three minutes.") - sleep(180 SECONDS) //yes, three minutes - msg("[callname], this is [combined_first_name], requesting permission to depart from docking bay [bay].","[prefix] [shipname]") - sleep(5 SECONDS) - msg("[combined_first_name], this is [using_map.dock_name] Control. Everything appears to be in order now, permission granted. Docking clamps released. [safetravels].") + if("slogan") + msg("The following is a sponsored message from [name].","Facility PA") sleep(5 SECONDS) - msg("[thanks], [using_map.dock_name] Control. This is [combined_first_name] setting course for [destname], out.","[prefix] [shipname]") - //Matched Corps event: friendly encounter [CURRENTLY DISABLED: INCOMPLETE] - if("friendlyencounter") - var/greeting = pick("Hey |[secondshipname]|, long time no see!","Well if it ain't |[secondshipname]|. Fancy seeing you here.") - var/ack = pick("No way! |[shipname]|!","Been a while, hasn't it?","Kept you waiting, huh?") - var/query = pick("How's business on your end?","Everything going well these days?") - var/reply = pick("Could be better, honestly.","Pretty good!","Eh, not great...","So-so, really.","Business is damn good.","Better than ever.") - var/chide = pick("Hey, get off this frequency you two.","This frequency isn't for idle [pick("chit-chat","banter","natter")].","This frequency's for traffic control, keep it clear [pick("folks","people")].","This frequency's for traffic control business only.") - msg("[greeting]","[prefix] [shipname]") - sleep (5 SECONDS) - msg("[ack]","[secondprefix] [secondshipname]") - sleep (5 SECONDS) - msg("[query]","[prefix] [shipname]") - sleep (5 SECONDS) - msg("[reply]","[secondprefix] [secondshipname]") - sleep (5 SECONDS) - msg("[chide]") + msg("[slogan]","Facility PA") else //time for generic message - msg("[callname], this is [combined_first_name] on [mission] [pick(mission_noun)] to [destname], requesting [request].","[prefix] [shipname]") - sleep(5 SECONDS) - msg("[combined_first_name], this is [using_map.dock_name] Control, [response].") - sleep(5 SECONDS) - msg("[using_map.dock_name] Control, [yes ? "thank you" : "understood"], out.","[prefix] [shipname]") + msg("[callname], [combined_first_name] on [mission] [pick(mission_noun)] to [destname], requesting [request].","[comm_first_name]") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[combined_first_name], [callname], [response].") + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) + msg("[callname], [yes ? "thank you" : "understood"], out.","[comm_first_name]") return //oops, forgot to restore this /* //OLD BLOCK, for reference //Ship sends request to ATC - msg(full_request,"[prefix] [shipname]" - sleep(5 SECONDS) + msg(full_request,"[comm_first_name]" + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) //ATC sends response to ship msg(full_response) - sleep(5 SECONDS) + sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) //Ship sends response to ATC - msg(full_closure,"[prefix] [shipname]") + msg(full_closure,"[comm_first_name]") return -*/ \ No newline at end of file +*/ + +#undef MIN_MSG_DELAY +#undef MAX_MSG_DELAY diff --git a/code/modules/busy_space_yw/loremaster.dm b/code/modules/busy_space_yw/loremaster.dm index 28dca0055b0..9c2f0f55b46 100644 --- a/code/modules/busy_space_yw/loremaster.dm +++ b/code/modules/busy_space_yw/loremaster.dm @@ -7,7 +7,7 @@ var/datum/lore/loremaster/loremaster = new/datum/lore/loremaster /datum/lore/loremaster/New() - var/list/paths = typesof(/datum/lore/organization) - /datum/lore/organization + var/list/paths = subtypesof(/datum/lore/organization) for(var/path in paths) // Some intermediate paths are not real organizations (ex. /datum/lore/organization/mil). Only do ones with names var/datum/lore/organization/instance = path diff --git a/code/modules/busy_space_yw/organizations.dm b/code/modules/busy_space_yw/organizations.dm index c7d1108ac87..607dc9639cb 100644 --- a/code/modules/busy_space_yw/organizations.dm +++ b/code/modules/busy_space_yw/organizations.dm @@ -1,4 +1,4 @@ -//Datums for different companies that can be used by busy_space +//Datums for different factions that can be used by busy_space /datum/lore/organization var/name = "" // Organization's name var/short_name = "" // Organization's shortname (NanoTrasen for "NanoTrasen Incorporated") @@ -11,7 +11,13 @@ var/list/ship_prefixes = list() //Some might have more than one! Like NanoTrasen. Value is the mission they perform, e.g. ("ABC" = "mission desc") var/complex_tasks = FALSE //enables complex task generation - var/list/task_types = list( //special purpose addition for certain groups, but generally unused + + //how does it work? simple: if you have complex tasks enabled, it goes; PREFIX + TASK_TYPE + FLIGHT_TYPE + //e.g. NDV = Asset Protection + Patrol + Flight + //this overrides the standard PREFIX = TASK logic and allows you to use the ship prefix for subfactions (warbands, religions, whatever) within a faction, and define task_types at the faction level + //task_types are picked from completely at random in air_traffic.dm, much like flight_types, so be careful not to potentially create combos that make no sense! + + var/list/task_types = list( "logistics", "patrol", "training", @@ -53,6 +59,7 @@ "Eclipse", "Maverick", "Polaris", + "Northstar", "Orion", "Odyssey", "Relentless", @@ -80,264 +87,362 @@ "Falcon", "Casper", "Orion", - "Challenger" + "Columbia", + "Atlantis", + "Enterprise", + "Challenger", + "Pathfinder", + "Buran", + "Aldrin", + "Armstrong", + "Tranquility", + "Nostrodamus", + "Soyuz", + "Cosmos", + "Sputnik", + "Belka", + "Strelka", + "Gagarin", + "Shepard", + "Tereshkova", + "Leonov", + "Vostok", + "Apollo", + "Mir", + "Titan", + "Serenity", + "Andiamo", + "Aurora", + "Phoenix", + "Wayward Phoenix", + "Lucky", + "Raven", + "Valkyrie", + "Halcyon", + "Nakatomi", + "Cutlass", + "Unicorn", + "Sheepdog", + "Arcadia", + "Gigantic", + "Goliath", + "Pequod", + "Poseidon", + "Venture", + "Evergreen", + "Natal", + "Maru", + "Djinn", + "Witch", + "Wolf", + "Lone Star", + "Grey Fox", + "Dutchman", + "Sultana", + "Siren", + "Venus", + "Anastasia", + "Rasputin", + "Stride", + "Suzaku", + "Hathor", + "Dream", + "Gaia", + "Ibis", + "Progress", + "Olympic", + "Venture", + "Brazil", + "Tiger", + "Hedgehog", + "Potemkin", + "Fountainhead", + "Sinbad", + "Esteban", + "Mumbai", + "Shanghai", + "Madagascar", + "Kampala", + "Bangkok", + "Emerald", + "Guo Hong", + "Shun Kai", + "Fu Xing", + "Zhenyang", + "Da Qing", + "Rascal", + "Flamingo", + "Jackal", + "Andromeda", + "Ferryman", + "Panchatantra", + "Nunda", + "Fortune", + "New Dawn", + "Fionn MacCool", + "Red Bird", + "Star Rat", + "Cwn Annwn", + "Morning Swan", + "Black Cat", + "Challenger", + "Freshly Baked", + "Citrus Punch", + "Made With Real Fruit", + "Big D", + "Shaken, Not Stirred", + "Stirred, Not Shaken", + "Neither Shaken Nor Stirred", + "Shaken And Stirred", + "Freedom Ain't Free", + "Pay It Forward", + "All Expenses Paid", + "Tanstaafl", /* There Ain't No Such Thing As A Free Lunch */ + "Hold My Beer", + "Das Bootleg", + "Unplanned Lithobraking Incident", + "Unknown Accelerant", + "Mildly Flammable", + "Wave Goodbye", + "Hugh Mann", + "Savage Chicken", + "Homestead", + "Peacekeeper", + "Eminent Domain", + "Clear Sky", + "Midnight Light", + "Daedalus", + "Redline", + "Wild Dog", + "Black Eagle", + "Sovereign Citizen", + "Event Horizon", + "Monte Carlo", + "Ace of Spades", + "Dead Man's Hand", + "Big Blind", + "Royal Flush", + "Full House", + "Wildcard", + "Wild Card", + "Blackjack", + "Three of a Kind", + "Three's Company", + "Know When To Fold 'Em", + "Icebreaker", + "Megalith", + "Agnus Dei", + "Picasso", + "Spirit of Alliance", + "Surrounded By Idiots", + "Honk If You Can Read This", + "Personal Space Invader", + "Sufficient Velocity", + "Credible Deniability", + "Crucible", + "Nostromo", + "Dance Like You Mean It", + "Birthday Suit", + "Sinking Feeling", + "No Refunds", + "No Solicitors", + "Dream of Independence", + "Tunguska", + "Kugelblitz", + "Supermassive Black Hole", + "Knight of Cydonia", + "Guiding Light", + "Unnatural Selection", + "Stockholm Syndrome", + "False King", + "Bombshell", + "Walking Disaster", + "Two-Body Problem", + "Instrument of Violence", + "Entropic Whisper", + "Cash and Prizes", + "Crash Course", + "Wheel of Fortune", + "Little Light", + "Leave Only Footprints", + "Dead Man's Tale", + "The Next Big Thing", + "Some Disassembly Required", + "Some Assembly Required", + "Just Read The Manual", + "Spoiler Alert", + "Bad News", + "Lucky Pants", + "No Hard Feelings", + "Waste Not, Want Not", + "Beowulf", + "Inheritor", + "Anthropocene Denier", + "Bonaventure", + "Nothing Ventured", + "Go West", + "Once Upon A Time", + "Don't Worry About It", + "Bygones Be", + "Just Capital", + "Delight", + "Valdez", + "Pioneer", + "Antilles", + "Explorer", + "Number Crunch", + "Until Dawn", + "Pistols at Dawn", + "Right Side", + "Merchant Prince", + "Merchant Princess", + "Merchant King", + "Merchant Queen", + "Merchant's Pride", + "Golden Son", + "Trade Law", + "Onward", + "Wanderer", + "Rocky Start", + "Downtown", + "Risk Reward", + "Culture Shock", + "Ambition", + "Vigor", + "Vigilant", + "Courageous", + "Profit Vanguard", + "Free Market", + "Market Speculation", + "Banker's Dozen", + "Adventure", + "Profiteer", + "Wrong Side", + "Final Notice", + "Tax Man", + "Ferryman", + "Hangman", + "Cattlecar", + "Runtime Error", + "For Sale, Cheap", + "Starfarer", + "Drifter", + "Windward", + "Hostile Takeover", + "Tax Loop", + "Fortune's Fancy", + "Fortuna", + "Inside Outside", + "Galley", + "Constellation", + "Dromedarii", + "Golden Hand", + "White Company", + "Haggler", + "Rendezvous", + "Two For Flinching", + "Uninvited Guest", + "Iconoclast", + "Bluespace Tourist" ) - var/list/destination_names = list() //Names of static holdings that the organization's ships visit regularly. + var/list/added_ship_names = list() //List of ship names to add to the above, rather than wholesale replacing + var/list/destination_names = list() //Names of static holdings that the organization's ships visit + var/append_ship_names = FALSE - var/lawful = TRUE //Are we exempt from routine inspections? to avoid incidents where SysDef appears to go rogue -- defaults to TRUE now - var/hostile = FALSE //Are we explicitly lawless, hostile, or otherwise bad? allows for a finer alignment system, since my last checks weren't working properly - var/sysdef = FALSE //Are we the space cops? - var/autogenerate_destination_names = TRUE //Pad the destination lists with some extra random ones? + var/org_type = "neutral" //Valid options are "neutral", "corporate", "government", "system defense", "military, "smuggler", & "pirate" + var/autogenerate_destination_names = TRUE //Pad the destination lists with some extra random ones? see the proc below for info on that + + var/slogans = list("This is a placeholder slogan, ding dong!") //Advertising slogans. Who doesn't want more obnoxiousness on the radio? Picked at random each time the slogan event fires. This has a placeholder so it doesn't runtime on trying to draw from a 0-length list in the event that new corps are added without full support. /datum/lore/organization/New() ..() + + if(append_ship_names) + ship_names.Add(added_ship_names) + if(autogenerate_destination_names) // Lets pad out the destination names. - var/i = rand(15, 30) //significantly increased from original values due to the greater length of rounds on YW + var/i = rand(15, 30) //significantly increased from original values due to the greater length of rounds //known planets and exoplanets, plus fictional ones var/list/planets = list( - /* real planets */ - "Earth", - "Luna", - "Mars", - "Titan", - "Europa", - /* named exoplanets */ - "Spe", - "Arion", - "Arkas", - "Orbitar", - "Dimidium", - "Galileo", - "Brahe", - "Lipperhey", - "Janssen", - "Harriot", - "Aegir", - "Amateru", - "Dagon", - "Meztli", - "Smertrios", - "Hypatia", - "Quijote", - "Dulcinea", - "Rocinante", - "Sancho", - "Thestias", - "Saffar", - "Samh", - "Majriti", - "Fortitudo", - "Draugr", - "Arber", - "Tassili", - "Madriu", - "Naqaya", - "Bocaprins", - "Yanyan", - "Sissi", - "Tondra", - "Eburonia", - "Drukyul", - "Yvaga", - "Naron", - "Guarani", - "Mastika", - "Bendida", - "Nakanbe", - "Awasis", - "Caleuche", - "Wangshu", - "Melquiades", - "Pipitea", - "Ditso", - "Asye", - "Veles", - "Finlay", - "Onasilos", - "Makropolus", - "Surt", - "Boinayel", - "Eyeke", - "Cayahuanca", - "Hamarik", - "Abol", - "Hiisi", - "Belisama", - "Mintome", - "Neri", - "Toge", - "Iolaus", - "Koyopa", - "Independance", - "Ixbalanque", - "Magor", - "Fold", - "Santamasa", - "Noifasui", - "Kavian", - "Babylonia", - "Bran", - "Alef", - "Lete", - "Chura", - "Wadirum", - "Buru", - "Umbaasaa", - "Vytis", - "Peitruss", - "Trimobe", - "Baiduri", - "Ggantija", - "Cuptor", - "Xolotl", - "Isli", - "Hairu", - "Bagan", - "Laligurans", - "Kereru", - "Equiano", - "Albmi", - "Perwana", - "Pollera", - "Tumearandu", - "Sumajmajta", - "Haik", - "Leklsullun", - "Pirx", - "Viriato", - "Aumatex", - "Negoiu", - "Teberda", - "Dopere", - "Vlasina", - "Viculus", - "Kralomoc", - "Iztok", - "Krotoa", - "Halla", - "Riosar", - "Samagiya", - "Isagel", - "Eiger", - "Ugarit", - "Sazum", - "Maeping", - "Agouto", - "Ramajay", - "Khomsa", - "Gokturk", - "Barajeel", - "Cruinlagh", - "Mulchatria", - "Ibirapita", - "Madalitso", - /* fictional planets */ - "Sif", - "Kara", - "Rota", - "Root", - "Toledo, New Ohio", - "Meralar", - "Adhomai", - "Binma", - "Kishar", - "Anshar", - "Nisp", - "Elysium", - "Sophia, El", - "New Kyoto", - "Angessa's Pearl, Exalt's Light", - "Oasis", - "Love" + /* real planets in our solar system */ + "Earth","Luna","Mars","Titan","Europa", + /* named exoplanets, god knows if they're habitable */ + "Spe","Arion","Arkas","Orbitar","Dimidium", + "Galileo","Brahe","Lipperhey","Janssen","Harriot", + "Aegir","Amateru","Dagon","Meztli","Smertrios", + "Hypatia","Quijote","Dulcinea","Rocinante","Sancho", + "Thestias","Saffar","Samh","Majriti","Fortitudo", + "Draugr","Arber","Tassili","Madriu","Naqaya", + "Bocaprins","Yanyan","Sissi","Tondra","Eburonia", + "Drukyul","Yvaga","Naron","Guarani","Mastika", + "Bendida","Nakanbe","Awasis","Caleuche","Wangshu", + "Melquiades","Pipitea","Ditso","Asye","Veles", + "Finlay","Onasilos","Makropolus","Surt","Boinayel", + "Eyeke","Cayahuanca","Hamarik","Abol","Hiisi", + "Belisama","Mintome","Neri","Toge","Iolaus", + "Koyopa","Independence","Ixbalanque","Magor","Fold", + "Santamasa","Noifasui","Kavian","Babylonia","Bran", + "Alef","Lete","Chura","Wadirum","Buru", + "Umbaasaa","Vytis","Peitruss","Trimobe","Baiduri", + "Ggantija","Cuptor","Xolotl","Isli","Hairu", + "Bagan","Laligurans","Kereru","Equiano","Albmi", + "Perwana","Pollera","Tumearandu","Sumajmajta","Haik", + "Leklsullun","Pirx","Viriato","Aumatex","Negoiu", + "Teberda","Dopere","Vlasina","Viculus","Kralomoc", + "Iztok","Krotoa","Halla","Riosar","Samagiya", + "Isagel","Eiger","Ugarit","Sazum","Maeping", + "Agouto","Ramajay","Khomsa","Gokturk","Barajeel", + "Cruinlagh","Mulchatria","Ibirapita","Madalitso", + /* fictional planets from polarislore */ + "Sif","Kara","Rota","Root","Toledo, New Ohio", + "Meralar","Adhomai","Binma","Kishar","Anshar", + "Nisp","Elysium","Sophia, El","New Kyoto", + "Angessa's Pearl, Exalt's Light","Oasis","Love" ) //existing systems, pruned for duplicates, includes systems that contain suspected or confirmed exoplanets var/list/systems = list( - /* real solar systems */ - "Sol", - "Alpha Centauri", - "Sirius", - "Vega", - "Tau Ceti", - "Altair", - "Epsilon Eridani", - "Fomalhaut", - "Mu Arae", - "Pollux", - "Wolf 359", - "Ross 128", - "Gliese 1061", - "Luyten's Star", - "Teegarden's Star", - "Kapteyn", - "Wolf 1061", - "Aldebaran", - "Proxima Centauri", - "Kepler-90", - "HD 10180", - "HR 8832", - "TRAPPIST-1", - "55 Cancri", - "Gliese 876", - "Upsilon Andromidae", - "Mu Arae", - "WASP-47", - "82 G. Eridani", - "Rho Coronae Borealis", - "Pi Mensae", - "Beta Pictoris", - "Gamma Librae", - "Gliese 667 C", - "LHS 1140", - "Phact", + /* real solar systems, specifically ones that have possible planets */ + "Sol","Alpha Centauri","Sirius","Vega","Tau Ceti", + "Altair","Epsilon Eridani","Fomalhaut","Mu Arae","Pollux", + "Wolf 359","Ross 128","Gliese 1061","Luyten's Star","Teegarden's Star", + "Kapteyn","Wolf 1061","Aldebaran","Proxima Centauri","Kepler-90", + "HD 10180","HR 8832","TRAPPIST-1","55 Cancri","Gliese 876", + "Upsilon Andromidae","Mu Arae","WASP-47","82 G. Eridani","Rho Coronae Borealis", + "Pi Mensae","Beta Pictoris","Gamma Librae","Gliese 667 C","LHS 1140", + "Phact", /* fictional systems from Polaris and other sources*/ - "Zhu Que", - "Oasis", - "Vir", - "Gavel", - "Ganesha", - "Sidhe", - "New Ohio", - "Parvati", - "Mahi-Mahi", - "Nyx", - "New Seoul", - "Kess-Gendar", - "Raphael", - "El", - "Eutopia", + "Zhu Que","Oasis","Vir","Gavel","Ganesha", + "Sidhe","New Ohio","Parvati","Mahi-Mahi","Nyx", + "New Seoul","Kess-Gendar","Raphael","El","Eutopia", /* skrell */ - "Qerr'valis", - "Harr'Qak", - "Qerrna-Lakirr", - "Kauq'xum", + "Qerr'valis","Harr'Qak","Qerrna-Lakirr","Kauq'xum", /* tajaran */ - "Rarkajar", - "Arrakthiir", - "Mesomori", + "Rarkajar","Arrakthiir","Mesomori", /* other */ - "Vazzend", - "Thoth", - "Jahan's Post", - "Silk", - "New Singapore", - "Stove", - "Viola", - "Love", - "Isavau's Gamble", - "Samsara", - "Vounna", - "Relan", - "Whythe", - "Exalt's Light", + "Vazzend","Thoth","Jahan's Post","Silk","New Singapore", + "Stove","Viola","Isavau's Gamble","Samsara", + "Vounna","Relan","Whythe","Exalt's Light","Van Zandt", /* generic territories */ "deep space", + "USG space", "USG Territory", - "Independent Space", - "Almach Territory", - "Skrell Territories", - "Hegemony Space" + "NanoTrasen space", + "NanoTrasen territory", + "SolGov space", + "SolGov territory", + "independent space", + "a demilitarized zone", + "Elysian space", + "Elysian territory", + "Salthan space", + "Salthan territory", + "Skrell space", + "Skrell territories", + "Tajaran space", + "Hegemonic space", + "Hegemonic territory" ) var/list/owners = list("a government", "a civilian", "a corporate", "a private", "an independent", "a mercenary", "a military") var/list/purpose = list("an exploration", "a trade", "a research", "a survey", "a military", "a mercenary", "a corporate", "a civilian", "an independent") @@ -355,25 +460,25 @@ while(i) destination_names.Add("[pick("[pick(orbitals)] orbiting [pick(planets)]","[pick(surface)] on [pick(planets)]","[pick(deepspace)] in [pick(systems)]",20;"[pick(unique)]",30;"[pick(frontier)] on the frontier")]") i-- - //extensive rework for a much greater degree of variety compared to the old system, lists now include known exoplanets and star systems currently suspected or confirmed to have exoplanets + //extensive rework for a much greater degree of variety compared to the old system, lists now include known exoplanets and star systems currently suspected or confirmed to have exoplanets ////////////////////////////////////////////////////////////////////////////////// // TSCs /datum/lore/organization/tsc/nanotrasen name = "NanoTrasen Incorporated" - short_name = "NanoTrasen " + short_name = "NanoTrasen" acronym = "NT" desc = "NanoTrasen is one of the foremost research and development companies in SolGov space. \ Originally focused on consumer products, their swift move into the field of Phoron has lead to \ them being the foremost experts on the substance and its uses. In the modern day, NanoTrasen prides \ itself on being an early adopter to as many new technologies as possible, often offering the newest \ products to their employees. In an effort to combat complaints about being 'guinea pigs', Nanotrasen \ - also offers one of the most comprehensive medical plans in SolGov space, up to and including cloning \ - and therapy.\ + also offers one of the most comprehensive medical plans in SolGov space, up to and including cloning, \ + resleeving, and therapy.\

    \ NT's most well known products are its phoron based creations, especially those used in Cryotherapy. \ - It also boasts an prosthetic line, which is provided to its employees as needed, and is used as an incentive \ + It also boasts a prosthetic line, which is provided to its employees as needed, and is used as an incentive \ for newly tested posibrains to remain with the company. \

    \ NT's ships are named for famous scientists." @@ -382,6 +487,12 @@ headquarters = "Luna, Sol" motto = "" + org_type = "corporate" + slogans = list( + "NanoTrasen - Phoron Makes The Galaxy Go 'Round.", + "NanoTrasen - Join for the Medical, stay for the Company.", + "NanoTrasen - Advancing Humanity." + ) ship_prefixes = list("NTV" = "a general operations", "NEV" = "an exploration", "NGV" = "a hauling", "NDV" = "a patrol", "NRV" = "an emergency response", "NDV" = "an asset protection") //Scientist naming scheme ship_names = list( @@ -407,13 +518,11 @@ "Nye", "Hawking", "Aristotle", - "Von Braun", "Kaku", "Oppenheimer", "Renwick", "Hubble", "Alcubierre", - "Robineau", "Glass" ) // Note that the current station being used will be pruned from this list upon being instantiated @@ -426,7 +535,7 @@ "NAB Smythside Central Headquarters in Sol", "NAS Zeus orbiting Virgo-Prime", "NIB Posideon in Alpha Centauri", - "NTB An-Nur on Virgo-Prime", + "NTB Anur on Virgo-Prime", "the ruins of Virgo-3B", //YW EDIT "the NanoTrasen phoron refinery in Vilous", "a dockyard orbiting Virgo-Prime", @@ -444,7 +553,7 @@ /datum/lore/organization/tsc/hephaestus name = "Hephaestus Industries" - short_name = "Hephaestus " + short_name = "Hephaestus" acronym = "HI" desc = "Hephaestus Industries is the largest supplier of arms, ammunition, and small millitary vehicles in USG space. \ Hephaestus products have a reputation for reliability, and the corporation itself has a noted tendency to stay removed \ @@ -458,9 +567,17 @@ headquarters = "Luna, Sol" motto = "" + org_type = "corporate" + slogans = list( + "+Hephaestus Arms!+ - When it comes to +personal protection+, +nobody+ does it +better+.", + "+Hephaestus Arms!+ - Peace through +Superior Firepower+.", + "+Hephaestus Arms!+ - Don't be caught +firing blanks+.", + "+Hephaestus Arms!+ - If in doubt, give 'em +both barrels!+" + ) ship_prefixes = list("HCV" = "a general operations", "HTV" = "a freight", "HLV" = "a munitions resupply", "HDV" = "an asset protection", "HDV" = "a preemptive deployment") //War God Theme, updated - ship_names = list( + append_ship_names = TRUE + added_ship_names = list( "Anhur", "Bast", "Horus", @@ -546,7 +663,7 @@ /datum/lore/organization/tsc/vey_med name = "Vey-Medical" //The Wiki displays them as Vey-Medical. - short_name = "Vey-Med " + short_name = "Vey-Med" acronym = "VM" desc = "Vey-Med is one of the newer TSCs on the block and is notable for being largely owned and operated by Skrell. \ Despite the suspicion and prejudice leveled at them for their alien origin, Vey-Med has obtained market dominance in \ @@ -554,7 +671,7 @@ and everything in between. Their equipment tends to be top-of-the-line, most obviously shown by their incredibly \ human-like FBP designs. Vey's rise to stardom came from their introduction of resurrective cloning, although in \ recent years they've been forced to diversify as their patents expired and NanoTrasen-made medications became \ - essential to modern cloning. \ + essential to modern cloning and resleeving procedures. \

    \ For reasons known only to the board, Vey-Med's ship names seem to follow the same naming pattern as the Dionae use." history = "" @@ -562,9 +679,16 @@ headquarters = "Toledo, New Ohio" motto = "" + org_type = "corporate" + slogans = list( + "Vey-Medical. Medical care you can trust.", + "Vey-Medical. Only the finest in surgical equipment.", + "Vey-Medical. Because your patients deserve the best." + ) ship_prefixes = list("VMV" = "a general operations", "VTV" = "a transportation", "VHV" = "a medical resupply", "VSV" = "a research", "VRV" = "an emergency medical support") - // Diona names - ship_names = list( + // Diona names, mostly + append_ship_names = TRUE + added_ship_names = list( "Wind That Stirs The Waves", "Sustained Note Of Metal", "Bright Flash Reflecting Off Glass", @@ -576,6 +700,9 @@ "Fire Blown Out By Wind", "Star That Fades From View", "Eyes Which Turn Inwards", + "Still Water Upon An Endless Shore", + "Sunlight Glitters Upon Tranquil Sands", + "Growth Within The Darkest Abyss", "Joy Without Which The World Would Come Undone", "A Thousand Thousand Planets Dangling From Branches", "Light Streaming Through Interminable Branches", @@ -593,12 +720,12 @@ /datum/lore/organization/tsc/zeng_hu name = "Zeng-Hu Pharmaceuticals" - short_name = "Zeng-Hu " + short_name = "Zeng-Hu" acronym = "ZH" desc = "Zeng-Hu is an old TSC, based in the Sol system. Until the discovery of Phoron, Zeng-Hu maintained a stranglehold \ - on the market for medications, and many household names are patentted by Zeng-Hu-- Bicaridine, Dylovene, Tricordrazine, \ + on the market for medications, and many household names are patented by Zeng-Hu-- Bicaridine, Dylovene, Tricordrazine, \ and Dexalin all came from Zeng-Hu medical laboratories. Zeng-Hu's fortunes have been in decline as Nanotrasen's near monopoly \ - on phoron research cuts into their R&D and Vey-Med's superior medical equipment effectively decimated their own equipment \ + on phoron and cloning research cuts into their R&D and Vey-Med's superior medical equipment effectively decimated their own equipment \ interests. The three-way rivalry between these companies for dominance in the medical field is well-known and a matter of \ constant economic speculation. \

    \ @@ -608,9 +735,17 @@ headquarters = "Earth, Sol" motto = "" + org_type = "corporate" + slogans = list( + "Zeng-Hu! WE make the medicines that YOU need!", + "Zeng-Hu! Having acid reflux problems? Consult your local physician to see if Dylovene is right for YOU!", + "Zeng-Hu! Tired of getting left in the dust? Try Hyperzine! You'll never fall behind again!", + "Zeng-Hu! Life's aches and pains getting to you? Try Tramadol - available at any good pharmacy!" + ) ship_prefixes = list("ZHV" = "a general operations", "ZTV" = "a transportation", "ZMV" = "a medical resupply", "ZRV" = "a medical research") //ship names: a selection of famous physicians who advanced the cause of medicine - ship_names = list( + append_ship_names = TRUE + added_ship_names = list( "Averroes", "Avicenna", "Banting", @@ -673,7 +808,7 @@ /datum/lore/organization/tsc/ward_takahashi name = "Ward-Takahashi General Manufacturing Conglomerate" - short_name = "Ward-Takahashi " + short_name = "Ward-Takahashi" acronym = "WT" desc = "Ward-Takahashi focuses on the sale of small consumer electronics, with its computers, communicators, \ and even mid-class automobiles a fixture of many households. Less famously, Ward-Takahashi also supplies most \ @@ -688,12 +823,20 @@ headquarters = "" motto = "" + org_type = "corporate" + slogans = list( + "Takahashi Appliances - keeping your home running smoothly.", + "W-T Automotive - keeping you on time, all the time.", + "Ward-Takahashi Electronics - keeping you in touch with the galaxy." + ) ship_prefixes = list("WTV" = "a general operations", "WTFV" = "a freight", "WTGV" = "a transport", "WTDV" = "an asset protection") - ship_names = list( + append_ship_names = TRUE + added_ship_names = list( "Comet", "Meteor", "Heliosphere", "Bolide", + "Superbolide", "Aurora", "Nova", "Supernova", @@ -720,15 +863,17 @@ "Curtain", "Planetar", "Quasar", + "Blazar", + "Corona", "Binary" ) - destination_names = list() + //destination_names = list() /datum/lore/organization/tsc/bishop name = "Bishop Cybernetics" - short_name = "Bishop " + short_name = "Bishop" acronym = "BC" - desc = "Bishop's focus is on high-class, stylish cybernetics. A favorite among transhumanists (and an easy target for \ + desc = "Bishop's focus is on high-class, stylish cybernetics. A favorite among transhumanists (and loathed by all \ bioconservatives), Bishop manufactures not only prostheses but also brain augmentation, synthetic organ replacements, \ and odds and ends like implanted wrist-watches. Their business model tends towards smaller, boutique operations, giving \ it a reputation for high price and luxury, with Bishop cyberware often rivalling Vey-Med's for cost. Bishop's reputation \ @@ -741,9 +886,17 @@ headquarters = "" motto = "" + org_type = "corporate" + slogans = list( + "Bishop Cybernetics - only the best in personal augmentation.", + "Bishop Cybernetics - why settle for flesh when you can have metal?", + "Bishop Cybernetics - make a statement.", + "Bishop Cybernetics - embrace the purity of the machine." + ) ship_prefixes = list("BCV" = "a general operations", "BCTV" = "a transportation", "BCSV" = "a research exchange") //famous mechanical engineers - ship_names = list( + append_ship_names = TRUE + added_ship_names = list( "Al-Jazari", "Al-Muradi", "Al-Zarqali", @@ -803,7 +956,7 @@ /datum/lore/organization/tsc/morpheus name = "Morpheus Cyberkinetics" - short_name = "Morpheus " + short_name = "Morpheus" acronym = "MC" desc = "The only large corporation run by positronic intelligences, Morpheus caters almost exclusively to their sensibilities \ and needs. A product of the synthetic colony of Shelf, Morpheus eschews traditional advertising to keep their prices low and \ @@ -812,15 +965,22 @@ the good-will of the positronics, and the ire of those who wish to exploit them. \

    \ Morpheus' fleet bears the names of periodic elements. They initially wanted to go with complex compounds, but realized that \ - such designations would be unwieldy and inefficient for regular usage." + such designations would be unwieldy and inefficient for regular usage. In the event that multiple ships are working together, \ + they may use the periodic element as their flotilla designation, and a numerical identifier that corresponds with an isotope \ + of that element for individual ships." history = "" work = "cybernetics manufacturer" headquarters = "Shelf flotilla" motto = "" + org_type = "neutral" //disables slogans for morpheus as they don't advertise, per the description above + /* + slogans = list() + */ ship_prefixes = list("MCV" = "a general operations", "MTV" = "a freight", "MDV" = "a market protection", "MSV" = "an outreach") //periodic elements; something 'unusual' for the posibrain TSC without being full on 'quirky' culture ship names (much as I love them, they're done to death) - ship_names = list( + append_ship_names = TRUE + added_ship_names = list( "Hydrogen", "Helium", "Lithium", @@ -891,12 +1051,15 @@ /datum/lore/organization/tsc/xion name = "Xion Manufacturing Group" - short_name = "Xion " + short_name = "Xion" acronym = "XMG" - desc = "Xion, quietly, controls most of the market for industrial equipment. Their portfolio includes mining exosuits, \ + desc = "Xion, quietly, controls most of the market for industrial equipment, especially on the frontier. Their portfolio includes mining exosuits, \ factory equipment, rugged positronic chassis, and other pieces of equipment vital to the function of the economy. Xion \ keeps its control of the market by leasing, not selling, their equipment, and through infamous and bloody patent protection \ lawsuits. Xion are noted to be a favorite contractor for SolGov engineers, owing to their low cost and rugged design. \ + Dedicated frontiersmen tend to have an unfavorable view of the company however, as the leasing arrangements often make field repairs \ + challenging at best, and expensively contract-breaking at worst. Nobody wants an expensive piece of equipment to break down \ + three weeks of travel away from the closest Licensed Xion Repair Outlet. \

    \ Xion's fleet bears the name of mountains and terrain features on Mars." history = "" @@ -904,9 +1067,16 @@ headquarters = "" motto = "" + org_type = "corporate" + slogans = list( + "Xion Manufacturing - We have what you need.", + "Xion Manufacturing - The #1 choice of the SolCom Engineer's Union for 150 years.", + "Xion Manufacturing - Our products are as bulletproof as our contracts." + ) ship_prefixes = list("XMV" = "a general operations", "XTV" = "a hauling", "XFV" = "a bulk transport", "XIV" = "a resupply") //martian mountains - ship_names = list( + append_ship_names = TRUE + added_ship_names = list( "Olympus Mons", "Ascraeus Mons", "Arsia Mons", @@ -946,21 +1116,29 @@ "Galaxius Mons", "Hellas Planitia" ) - destination_names = list() + //destination_names = list() /datum/lore/organization/tsc/ftu name = "Free Trade Union" - short_name = "Trade Union " + short_name = "Trade Union" acronym = "FTU" - desc = "The Free Trade Union is different from other tran-stellars in that they are not just a company, but they are a big conglomerate of various traders and merchants from all over the galaxy. They control a sizable fleet of vessels of various sizes which are given autonomy from the central command to engage in trading. They also host a fleet of combat vessels which respond directly to the central command for defending traders when necessary. They are in control of many large scale 'freeport' trade stations across the known galaxy, even in non-human space. Generally, they are multi-purpose stations but they always keep areas filled with duty-free shops, where almost anything you can imagine can be found - so long as it's not outrageously illegal or hideously expensive.

    They are the creators of the Tradeband language, created specially for being a lingua franca where every merchant can understand each other independent of language or nationality.

    The Union doesn't maintain a particularly large fleet of its own, preferring to rely on contracted independent traders that are allowed to use their own designations and identifiers, but the ships it does operate fly under the names of historic merchants." - history = "The Free Trade Union was created in 2410 by Issac Adler, a merchant, economist, and owner of a small fleet of ships. At this time the \"Free Merchants\" were in decay because of the high taxes and tariffs that were generally applied on the products that they tried to import or export. Another issue was that big trans-stellar corporations were constantly blocking their products to prospective buyers in order to form their monopolies. Issac decided to organize the \"Free Merchants\" into a legitimate organization to lobby and protest against the unfair practices of the major corporations and the governments that were in their pocket. At the same time, they wanted to organize and sell their things at better prices. The organization started relatively small but by 2450 it became one of the biggest conglomerates with a significant amount of the merchants of the galaxy being a part of the FTU. At the same time, the Free Trade Union started to popularize tradeband in the galaxy as the language of business. Around 2500, the majority of independent merchants were part of the FTU with significant influence on the galactic scale. They have started to invest in colonization efforts in order to take early claim of the frontier systems as the best choice for frontier traders." + desc = "The Free Trade Union is different from other transtellar companies in that they are not just a company; rather, they are a big conglomerate of various traders and merchants from all over the galaxy. The FTU is also partially responsible for many of the large scale 'freeport' trade stations across the known galaxy, even in non-human space. Generally, they are multi-purpose stations but they always keep areas filled with duty-free shops, where almost anything you can imagine can be found - so long as it's not outrageously illegal or hideously expensive.

    They are the creators of the Tradeband language, created specially for being a lingua franca where every merchant can understand each other independent of language or nationality.

    The Union doesn't maintain a particularly large fleet of its own; most members are card-carrying independents who fly under their own flags. When you do see a Union ship (they usually operate under the names of historic merchants) you can be assured that it's tending to something that the Union sees as being of the utmost importance to its interests." + history = "" work = "" headquarters = "" motto = "" + org_type = "corporate" + slogans = list( + "The FTU. We look out for the little guy.", + "There's no Trade like Free Trade.", + "There's no Union like the Free Trade Union.", + "Join the Free Trade Union. Because anything worth doing, is worth doing for money." //rule of acquisition #13 + ) ship_prefixes = list("FTV" = "a general operations", "FTRP" = "a trade protection", "FTRR" = "a piracy suppression", "FTLV" = "a logistical support", "FTTV" = "a mercantile", "FTDV" = "a market establishment") //famous merchants and traders, taken from Civ6's Great Merchants, plus the TSC's founder - ship_names = list( + append_ship_names = TRUE + added_ship_names = list( "Isaac Adler", "Colaeus", "Marcus Licinius Crassus", @@ -991,9 +1169,9 @@ /datum/lore/organization/tsc/mbt name = "Major Bill's Transportation" - short_name = "Major Bill's " + short_name = "Major Bill's" acronym = "MBT" - desc = "The most popular courier service and starliner, Major Bill's is an unassuming corporation whose greatest asset is their low cost and brand recognition. Major Bill's is known, perhaps unfavorably, for its mascot, Major Bill, a cartoonish military figure that spouts quotable slogans. Their motto is \"With Major Bill's, you won't pay major bills!\", an earworm much of the galaxy longs to forget. \ + desc = "The most popular courier service and starliner, Major Bill's is an unassuming corporation whose greatest asset is their low cost and brand recognition. Major Bill's is known, perhaps unfavorably, for its mascot, Major Bill, a cartoonish military figure that spouts quotable slogans. Their main slogan, featured at least once in all their advertising, is \"With Major Bill's, you won't pay major bills!\", an earworm much of the galaxy longs to forget. \

    \ Their ships are named after some of Earth's greatest rivers." history = "" @@ -1001,9 +1179,16 @@ headquarters = "Mars, Sol" motto = "With Major Bill's, you won't pay major bills!" + org_type = "corporate" + slogans = list( + "With Major Bill's, you won't pay major bills!", + "Major Bill's - Private Couriers - General Shipping!", + "Major Bill's got you covered, now get out there!" + ) ship_prefixes = list("TTV" = "a general operations", "TTV" = "a transport", "TTV" = "a luxury transit", "TTV" = "a priority transit", "TTV" = "a secure data courier") //ship names: big rivers - ship_names = list ( + append_ship_names = TRUE + added_ship_names = list ( "Nile", "Kagera", "Nyabarongo", @@ -1061,7 +1246,7 @@ /datum/lore/organization/tsc/grayson name = "Grayson Manufactories Ltd." - short_name = "Grayson " + short_name = "Grayson" acronym = "GM" desc = "Grayson Manufactories Ltd. is one of the oldest surviving TSCs, having been in 'the biz' almost since mankind began to colonize the rest of the Sol system and thus exploit abundant 'extraterrestrial' resources. Where many choose to go into the high end markets, however, Grayson makes their money by providing foundations for other businesses; they run some of the largest mining and refining operations in all of human-inhabited space. Ore is hauled out of Grayson-owned mines, transported on Grayson-owned ships, and processed in Grayson-owned refineries, then sold by Grayson-licensed vendors to other industries. Several of their relatively newer ventures include heavy industrial equipment, which has earned a reputation for being surprisingly reliable.

    Grayson may maintain a neutral stance towards their fellow TSCs, but can be quite aggressive in the markets that it already holds. A steady stream of rumors suggests they're not shy about engaging in industrial sabotage or calling in strikebreakers, either. \

    \ @@ -1071,9 +1256,16 @@ headquarters = "Mars, Sol" motto = "" + org_type = "corporate" + slogans = list( + "Grayson Mining - It's An Ore Effort, For The War Effort!", + "Grayson Mining - Winning The War On Ore!", + "Grayson Mining - Come On Down To Our Ore Chasm!" + ) ship_prefixes = list("GMV" = "a general operations", "GMT" = "a transport", "GMR" = "a resourcing", "GMS" = "a surveying", "GMH" = "a bulk transit") //rocks - ship_names = list( + append_ship_names = TRUE + added_ship_names = list( "Adakite", "Andesite", "Basalt", @@ -1121,7 +1313,7 @@ /datum/lore/organization/tsc/aether name = "Aether Atmospherics & Recycling" - short_name = "Aether " + short_name = "Aether" acronym = "AAR" desc = "Aether Atmospherics and Recycling is the prime maintainer and provider of atmospherics systems across both the many ships that navigate the vast expanses of space, and the life support on current and future Human colonies. The byproducts from the filtration of atmospheres across the galaxy are then resold for a variety of uses to those willing to buy. With the nature of their services, most work they do is contracted for construction of these systems, or staffing to maintain them for colonies across human space. \

    \ @@ -1131,9 +1323,16 @@ headquarters = "" motto = "Dum spiro spero" + org_type = "corporate" + slogans = list( + "Aether A&R - We're Absolutely Breathtaking.", + "Aether A&R - You Can Breathe Easy With Us!", + "Aether A&R - The SolCom's #1 Environmental Systems Provider." + ) ship_prefixes = list("AARV" = "a general operations", "AARE" = "a resource extraction", "AARG" = "a gas transport", "AART" = "a transport") //weather systems/patterns - ship_names = list ( + append_ship_names = TRUE + added_ship_names = list ( "Cloud", "Nimbus", "Fog", @@ -1170,7 +1369,7 @@ /datum/lore/organization/tsc/focalpoint name = "Focal Point Energistics" - short_name = "Focal " + short_name = "Focal Point" acronym = "FPE" desc = "Focal Point Energistics is an electrical engineering solutions firm originally formed as a conglomerate of Earth power companies and affiliates. Focal Point manufactures and distributes vital components in modern power grids, such as TEGs, PSUs and their specialty product, the SMES. The company is often consulted and contracted by larger organisations due to their expertise in their field.\

    \ @@ -1180,9 +1379,16 @@ headquarters = "" motto = "" + org_type = "corporate" + slogans = list( + "Focal Point Energistics - Sustainable Power for a Sustainable Future.", + "Focal Point Energistics - Powering The Future Before It Even Happens.", + "Focal Point Energistics - Let There Be Light." + ) ship_prefixes = list("FPV" = "a general operations", "FPH" = "a transport", "FPC" = "an energy relay", "FPT" = "a fuel transport") //famous electrical engineers - ship_names = list ( + append_ship_names = TRUE + added_ship_names = list ( "Erlang", "Blumlein", "Taylor", @@ -1230,9 +1436,9 @@ /datum/lore/organization/tsc/starlanes name = "StarFlight Inc." - short_name = "StarFlight " + short_name = "StarFlight" acronym = "SFI" - desc = "Founded in 2437 by Astara Junea, StarFlight Incorporated is now one of the biggest passenger liner businesses in human-occupied space and has even begun breaking into alien markets - all despite a rocky start, and several high-profile ship disappearances and shipjackings. With space traffic at an all-time high, it's a depressing reality that SFI's incidents are just a tiny drop in the bucket compared to everything else going on. \ + desc = "Founded in 2137 by Astara Junea, StarFlight Incorporated is now one of the biggest passenger liner businesses in human-occupied space and has even begun breaking into alien markets - all despite a rocky start, and several high-profile ship disappearances and shipjackings. With space traffic at an all-time high, it's a depressing reality that SFI's incidents are just a tiny drop in the bucket compared to everything else going on. \

    \ SFI's fleet is, somewhat endearingly, named after various species of bird, though the designation Pigeon was removed from the lineup after a particularly unusual chain of events involving a business liner. For reasons that have continued to remain unclear since the company's foundation, SFI vessels are permitted to use the same high-level identifier pattern as governmental vessels." history = "" @@ -1240,6 +1446,12 @@ headquarters = "Spin Aerostat, Jupiter" motto = "Sic itur ad astra" + org_type = "corporate" + slogans = list( + "StarFlight - travel the stars.", + "StarFlight - bringing you to new horizons.", + "StarFlight - getting you where you need to be since 2137." + ) ship_prefixes = list("SFI-X" = "a VIP liner", "SFI-L" = "a luxury liner", "SFI-B" = "a business liner", "SFI-E" = "an economy liner", "SFI-M" = "a mixed class liner", "SFI-S" = "a sightseeing", "SFI-M" = "a wedding", "SFI-O" = "a marketing", "SFI-S" = "a safari", "SFI-A" = "an aquatic adventure") flight_types = list( //no military-sounding ones here "flight", @@ -1277,6 +1489,8 @@ "Kite", "Hawk", "Falcon", + "Hummingbird", + "Toucan", "Caracara" ) destination_names = list( @@ -1290,14 +1504,21 @@ /datum/lore/organization/tsc/oculum name = "Oculum Broadcasting Network" - short_name = "Oculus " + short_name = "Oculus" acronym = "OBN" desc = "Oculum owns approximately 30% of Sol-wide news networks, including microblogging aggregate sites, network and comedy news, and even old-fashioned newspapers. Staunchly apolitical, they specialize in delivering the most popular news available- which means telling people what they already want to hear. Oculum is a specialist in branding, and most people don't know that the reactionary Daedalus Dispatch newsletter and the radically transhuman Liquid Steel webcrawler are controlled by the same organization." history = "" work = "news media" headquarters = "" motto = "News from all across the spectrum" - + + org_type = "corporate" + slogans = list( + "Oculum - All News, All The Time.", + "Oculum - We Keep An Eye Out.", + "Oculum - Nothing But The Truth.", + "Oculum - Your Eye On The Galaxy." + ) ship_prefixes = list("OBV" = "an investigation", "OBV" = "a distribution", "OBV" = "a journalism", "OBV" = "a general operations") destination_names = list( "Oculus HQ" @@ -1305,14 +1526,22 @@ /datum/lore/organization/tsc/centauriprovisions name = "Centauri Provisions" - short_name = "Centauri " + short_name = "Centauri" acronym = "ACP" - desc = "Headquartered in Alpha Centauri, Centauri Provisions made a name in the snack-food industry primarily by being the first to focus on colonial holdings. The various brands of Centauri snackfoods are now household names, from SkrellSnaks to Space Mountain Wind to the ubiquitous and edible Bread Tube. Their staying power is legendary, and many spacers have grown up on a mix of their cheap crap and protein shakes." + desc = "Headquartered in Alpha Centauri, Centauri Provisions made a name in the snack-food industry primarily by being the first to focus on colonial holdings. The various brands of Centauri snackfoods are now household names, from SkrellSnax to Space Mountain Wind to the ubiquitous and supposedly-edible Bread Tube, and they are well known for targeting as many species as possible with each brand (which, some will argue, is at fault for some of those brands being rather bland in taste and texture). Their staying power is legendary, and many spacers have grown up on a mix of their cheap crap and protein shakes." history = "" work = "catering, food, drinks" headquarters = "Alpha Centauri" motto = "The largest brands of food and drink - most of them are Centauri." - + + org_type = "corporate" + slogans = list( + "Centauri Provisions Bread Tubes - They're Not Just Edible, They're |Breadible!|", + "Centauri Provisions SkrellSnax - Not |Just| For Skrell!", + "Centauri Provisions Space Mountain Wind - It'll Take Your |Breath| Away!", + "Centauri Provisions Syndi-Cakes - A Taste So Good You'll Swear It's |Illegal|!", + "Centauri Provisions Tuna Snax - There's Nothing |Fishy| Going On Here!" + ) ship_prefixes = list("CPTV" = "a transport", "CPCV" = "a catering", "CPRV" = "a resupply", "CPV" = "a general operations") destination_names = list( "Centauri Provisions HQ", @@ -1322,14 +1551,20 @@ /datum/lore/organization/tsc/einstein name = "Einstein Engines" - short_name = "Einstein " + short_name = "Einstein" acronym = "EEN" - desc = "Einstein is an old company that has survived through rampant respecialization. In the age of phoron-powered exotic engines and ubiquitous solar power, Einstein makes its living through the sale of engine designs for power sources it has no access to and emergency fission or hydrocarbon power supplies. Accusations of corporate espionage against research-heavy corporations like NanoTrasen and its chief rival Focal Point are probably unfounded." + desc = "Einstein is an old company that has survived through rampant respecialization. In the age of phoron-powered exotic engines and ubiquitous solar power, Einstein makes its living through the sale of engine designs for power sources it has no access to, and emergency fission or hydrocarbon power supplies. Accusations of corporate espionage against research-heavy corporations like NanoTrasen and its chief rival Focal Point are probably unfounded. Probably." history = "" work = "catering, food, drinks" headquarters = "" motto = "Engine designs, emergency generators, and old memories" - + + org_type = "corporate" + slogans = list( + "Einstein Engines - you don't have to be Einstein to use |our| engines!", + "Einstein Engines - bringing power to the people.", + "Einstein Engines - because it's the smart thing to do." + ) ship_prefixes = list("EETV" = "a transport", "EERV" = "a research", "EEV" = "a general operations") destination_names = list( "Einstein HQ" @@ -1337,15 +1572,21 @@ /datum/lore/organization/tsc/wulf name = "Wulf Aeronautics" - short_name = "Wulf Aero " + short_name = "Wulf Aero" acronym = "WUFA" - desc = "Wulf Aeronautics is the chief producer of transport and hauling spacecraft. A favorite contractor of the USG and USDF, Wulf manufactures most of their diplomatic and logistics craft, and does a brisk business with most other TSCs. The quiet reliance of the economy on their craft has kept them out of the spotlight and uninvolved in other corporations' back-room dealings." + desc = "Wulf Aeronautics is the chief producer of transport and hauling spacecraft. A favorite contractor of the USG, Wulf manufactures most of their diplomatic and logistics craft, and does a brisk business with most other TSCs. The quiet reliance of the economy on their craft has kept them out of the spotlight and uninvolved in other corporations' back-room dealings; nobody is willing to try to undermine Wulf Aerospace in case it bites them in the ass, and everyone knows that trying to buy out the company would start a bidding war from which nobody would escape the PR fallout." history = "" work = "starship construction" headquarters = "" motto = "We build it - you fly it" - - ship_prefixes = list("WATV" = "a transport", "WARV" = "a repair", "WAV" = "a general operations") + + org_type = "corporate" + slogans = list( + "Wulf Aeronautics. We build it - you fly it.", + "Wulf Aeronautics, the SolGov's favorite shipwrights.", + "Wulf Aeronautics, building tomorrow's ships today." + ) + ship_prefixes = list("WAFV" = "a freight", "WARV" = "a repair", "WAV" = "a general operations", "WALV" = "a logistics") destination_names = list( "Wulf Aeronautics HQ", "a Wulf Aeronautics supply depot", @@ -1354,14 +1595,20 @@ /datum/lore/organization/tsc/gilthari name = "Gilthari Exports" - short_name = "Gilthari " + short_name = "Gilthari" acronym = "GEX" - desc = "Gilthari is Sol's premier supplier of luxury goods, specializing in extracting money from the rich and successful. Their largest holdings are in gambling, but they maintain subsidiaries in everything from VR equipment to luxury watches. Their holdings in mass media are a smaller but still important part of their empire. Gilthari is known for treating its positronic employees very well, sparking a number of conspiracy theories. The gorgeous FBP model that Gilthari provides them is a symbol of the corporation's wealth and reach ludicrous prices when available on the black market, with legal ownership of the chassis limited, by contract, to employees." + desc = "Gilthari is Sol's premier supplier of luxury goods, specializing in extracting money from the rich and successful that aren't already their own shareholders. Their largest holdings are in gambling, but they maintain subsidiaries in everything from VR equipment to luxury watches. Their holdings in mass media are a smaller but still important part of their empire. Gilthari is known for treating its positronic employees very well, sparking a number of conspiracy theories. The gorgeous FBP model that Gilthari provides them is a symbol of the corporation's wealth and reach ludicrous prices when available on the black market, with legal ownership of the chassis limited, by contract, to employees.

    In fitting with their heritage, Gilthari ships are named after precious stones." history = "" work = "luxury goods" headquarters = "" motto = "" - + + org_type = "corporate" + slogans = list( + "Why choose |luxury| when you can choose |Gilthari|?", + "|Gilthari|. Because |you're| worth it.", + "|Gilthari|. Why settle for |anything| less?" + ) ship_prefixes = list("GETV" = "a transport", "GECV" = "a luxury catering", "GEV" = "a general operations") //precious stones ship_names = list( @@ -1426,7 +1673,7 @@ /datum/lore/organization/tsc/coyotecorp name = "Coyote Salvage Corp." - short_name = "Coyote " + short_name = "Coyote Salvage" acronym = "CSC" desc = "The threat of Kessler Syndrome ever looms in this age of spaceflight, and it's only thanks to the dedication and hard work of unionized salvage groups like the Coyote Salvage Corporation that the spacelanes are kept clear and free of wrecks and debris. Painted in that distinctive industrial yellow, their fleets of roaming scrappers are contracted throughout civilized space and the frontier alike to clean up space debris. Some may look down on them for handling what would be seen as garbage and discarded scraps, but as far as the CSC is concerned everything would grind to a halt (or more accurately, rapidly expand in a cloud of red-hot scrap metal) without their tender care and watchful eyes.\

    \ @@ -1437,10 +1684,17 @@ work = "salvage and shipbreaking" headquarters = "N/A" motto = "one man's trash is another man's treasure" - + + org_type = "corporate" + slogans = list( + "Coyote Salvage Corp. 'cause your trash ain't gonna clean itself.", + "Coyote Salvage Corp. 'cause one man's trash is another man's treasure.", + "Coyote Salvage Corp. We'll take your scrap - but not your crap." + ) ship_prefixes = list("CSV" = "a salvage", "CRV" = "a recovery", "CTV" = "a transport", "CSV" = "a shipbreaking", "CHV" = "a towing") //mostly-original, maybe some references, and more than a few puns - ship_names = list( + append_ship_names = TRUE + added_ship_names = list( "Road Hog", "Mine, Not Yours", "Legal Salvage", @@ -1472,6 +1726,7 @@ "T-Wrecks", "Dust Bunny", "No Gears No Glory", + "Two Drink Minimum", "Three Drinks In", "The Almighty Janitor", "Wreckless Endangerment", @@ -1492,21 +1747,97 @@ "a nearby system" ) -// Other +/datum/lore/organization/tsc/chimera + name = "Chimera Genetics Corp." + short_name = "Chimera Genetics" + acronym = "CGC" + desc = "With the rise of personal body modification, companies specializing in this field were bound to spring up as well. The Chimera Genetics Corporation, or CGC, is one of the largest and most successful competitors in this ever-evolving and ever-adapting field. They originally made a foothold in the market through designer flora and fauna such as \"factory plants\" and \"fabricowtors\"; imagine growing high-strength carbon nanotubes on vines, or goats that can be milked for a substance with the tensile strength of spider silk. Once they had more funding? Chimera aggressively expanded into high-end designer bodies, both vat-grown-from-scratch and modification of existing bodies via extensive therapy procedures. Their best-known designer critter is the Drake line; hardy, cold-tolerant \'furred lizards\' that are unflinchingly loyal to their contract-holders. Drakes find easy work in heavy industries and bodyguard roles, despite constant lobbying from bioconservatives to, quote, \"keep these \"meat drones\" from taking jobs away from regular people.\" \ +

    \ + Some things never change. \ +

    \ + Unsurprisingly, Chimera names their ships after mythological creatures." + history = "" + work = "designer bodies and bioforms" + headquarters = "Titan, Sol" + motto = "the whole is greater than the sum of its parts" + + org_type = "corporate" + slogans = list( + "Chimera Genetics. Find your true self today!", + "Chimera Genetics. Bring us your genes and we'll clean them right up.", + "Chimera Genetics. Better bodies for a better tomorrow." + ) + ship_prefixes = list("CGV" = "a general operations", "CGT" = "a transport", "CGT" = "a delivery", "CGH" = "a medical") + //edgy mythological critters! + ship_names = list( + "Bandersnatch", + "Banshee", + "Basilisk", + "Black Dog", + "Centaur", + "Cerberus", + "Charybdis", + "Chimera", + "Cyclops", + "Cynocephalus", + "Demon", + "Daemon", + "Dragon", + "Echidna", + "Ghoul", + "Goblin", + "Golem", + "Gorgon", + "Griffin", + "Hekatonchires", + "Hobgoblin", + "Hydra", + "Imp", + "Ladon", + "Loup-Garou", + "Manticore", + "Medusa", + "Minotaur", + "Naga", + "Nosferatu", + "Ogre", + "Pegasus", + "Sasquatch", + "Scylla", + "Shade", + "Siren", + "Sphinx", + "Titan", + "Typhon", + "Valkyrie", + "Vampir", + "Venrir", + "Wendigo", + "Werewolf", + "Wraith" + ) + destination_names = list ( + "Chimera HQ, Titan", + "a Chimera research lab" + ) + +////////////////////////////////////////////////////////////////////////////////// +// Other /datum/lore/organization/other/independent name = "Independent Pilots Association" - short_name = "" //using the same whitespace hack as USDF + short_name = "Independent" acronym = "IPA" - desc = "Though less common now than they were in the decades before the Sol Economic Organization took power, independent traders remain an important part of the galactic economy, owing in no small part to protective tariffs established by the Free Trade Union in the late twenty-fourth century. Further out on the frontier, independent pilots are often the only people keeping freight and supplies moving.\ + desc = "Though less common now than they were in the decades before the Sol Economic Organization took power, independent pilots and traders remain an important part of the galactic economy, owing in no small part to protective tariffs established by the Free Trade Union in the late twenty-second century. Further out on the frontier, independent pilots are often the only people keeping freight and vital supplies moving.\

    \ Independent ships use a wide variety of names, many of which are as unusual and eclectic as their crews." history = "" work = "everything under the sun" headquarters = "N/A" motto = "N/A" + autogenerate_destination_names = TRUE //force random dest generation - ship_prefixes = list("ISV" = "a general", "IEV" = "a prospecting", "IEC" = "a prospecting", "IFV" = "a bulk freight", "ITV" = "a passenger transport", "ITC" = "a just-in-time delivery", "IPV" = "a patrol", "IHV" = "a bounty hunting", "ICC" = "an escort") + ship_prefixes = list("ISV" = "a general", "IEV" = "a prospecting", "IEC" = "a prospecting", "IFV" = "a bulk freight", "ITV" = "a passenger transport", "ITC" = "a just-in-time delivery", "IPV" = "a patrol", "IHV" = "a bounty hunting", "ICC" = "an escort", "IMV" = "a mining", "IPS" = "an interplanetary shipping") flight_types = list( "flight", "mission", @@ -1515,20 +1846,20 @@ "assignment", "contract" ) - destination_names = list() //we have no hqs or facilities of our own //ship names: blank, because we use the universal list + //ship_names = list() //SPACE LAW /datum/lore/organization/other/sysdef name = "System Defense Force" - short_name = "" //whitespace hack again + short_name = "SDF" acronym = "SDF" - desc = "Localized militias are used to secure systems throughout inhabited space, but are especially common on the frontier; by levying and maintaining these militia forces, larger governments can use their primary fleets (like the USG's USDF) for more important matters and smaller ones can give travellers in their space some peace of mind given the ever-present threat of pirates and vox marauders whilst also helping cut down on smuggling (narcotic substances remain as popular in this century as they have throughout the last few millennia). System Defense Forces tend to be fairly poorly trained and modestly equipped compared to genuine military fleets, but are more than capable of contending with equally ramshackle pirate vessels and can generally stall greater threats long enough for reinforcements to arrive. They're also typically responsible for most search-and-rescue operations in their system.\ + desc = "Localized militias are used to secure systems throughout inhabited space, but are especially common on the frontier; by levying and maintaining these militia forces, larger governments can use their primary fleets (like the USDF) for more important matters and smaller ones can give travellers in their space some peace of mind given the ever-present threat of pirates and vox marauders whilst also helping cut down on smuggling (narcotic substances remain as popular in this century as they have throughout the last few millennia). System Defense Forces tend to be fairly poorly trained and modestly equipped compared to genuine military fleets, but are more than capable of contending with equally ramshackle pirate vessels and can generally stall greater threats long enough for reinforcements to arrive. They're also typically responsible for most search-and-rescue operations in their system.\

    \ SDF ships are traditionally named after various forms of historical weaponry; as their founding members tend to be veterans of other SDF services which used this system, this tradition has slowly propagated.\

    \ Common SDF ship designations include;
    \ - SDF = System Defense Fleet
    \ + SDF = System Defense Fleet (General)
    \ SDV/SDB = System Defense Vessel/Boat
    \ SAR = Search And Rescue (Emergency Services)
    \ SDT = System Defense Tender (Mobile Refuel & Resupply)
    \ @@ -1537,23 +1868,29 @@ work = "local security" headquarters = "" motto = "Serve, Protect, Survive" - sysdef = TRUE //we're the space law, we don't impersonate people and stuff autogenerate_destination_names = FALSE //don't add extra destinations to our pool, or else we leave the system which makes no sense + org_type = "system defense" ship_prefixes = list ("SDB" = "a patrol", "SDF" = "a patrol", "SDV" = "a patrol", "SDB" = "an escort", "SDF" = "an escort", "SDV" = "an escort", "SAR" = "a search and rescue", "SDT" = "a logistics", "SDT" = "a resupply", "SDJ" = "a prisoner transport") //b = boat, f = fleet (generic), v = vessel, t = tender - //ship names: weapons + //ship names: weapons, particularly medieval and renaissance melee and pre-gunpowder ranged weapons ship_names = list( "Sword", "Saber", "Cutlass", + "Scimitar", "Broadsword", "Katar", "Shamshir", + "Flyssa", + "Kaskara", + "Khopesh", + "Tachi", "Shashka", "Epee", "Estoc", "Longsword", "Katana", + "Odachi", "Baselard", "Gladius", "Kukri", @@ -1563,6 +1900,16 @@ "Machete", "Axe", "Tomahawk", + "Labrys", + "Masakari", + "Parashu", + "Sagaris", + "Francisca", + "Stiletto", + "Tanto", + "Pugio", + "Cinquedea", + "Katar", "Dirk", "Dagger", "Maul", @@ -1583,7 +1930,9 @@ "Glaive", "Halberd", "Scythe", - "Spear" + "Spear", + "Guisarme", + "Billhook" ) destination_names = list( "the outer system", @@ -1634,169 +1983,25 @@ work = "" headquarters = "" motto = "" - lawful = FALSE //if it wasn't obvious, these guys are usually criminals - hostile = FALSE //but they're not aggressive ones - sysdef = FALSE autogenerate_destination_names = TRUE //the events we get called for don't fire a destination, but we need entries to avoid runtimes. + org_type = "smuggler" ship_prefixes = list ("suspected smuggler" = "an illegal smuggling", "possible smuggler" = "an illegal smuggling") //as assigned by control, second part shouldn't even come up - //blank out our shipnames for redesignation - ship_names = list( - "Morally Bankrupt", - "Bucket of Bolts", - "Wallet Inspector", - "Laughing Stock", - "Wayward Son", - "Wide Load", - "No Refunds", - "Ugly Stick", - "Poetic Justice", - "Foreign Object", - "Why Me", - "Last Straw", - "Designated Driver", - "Slapped Together", - "Lowest Bidder", - "Harsh Language", - "Public Servant", - "Class Act", - "Deviant Citizen", - "Diminishing Returns", - "Calculated Risk", - "Logistical Nightmare", - "Gross Negligence", - "Holier Than Thou", - "Open Wide", - "Red Dread", - "Missing Link", - "Duct Taped", - "Robber Baron", - "Affront to Nature", - "Total Loss", - "Depth Perception", - "This Way", - "Mysterious Rash", - "Jolly Roger", - "Victim of Circumstance", - "Product of Society", - "Under Evaluation", - "Flying Coffin", - "Gilded Cage", - "Disgruntled Worker", - "Of Sound Mind", - "Ivory Tower", - "Bastard Son", - "Scarlet Tentacle", - "Down In Front", - "Learning Experience", - "Desperate Pauper", - "Born Lucky", - "Base Instincts", - "Check Please", - "Infinite Loop", - "Lazy Morning", - "Runtime Error", - "Pointless Platitude", - "Grey Matter", - "Conscientious Objector", - "Unexplained Itch", - "Out of Control", - "Unexpected Obstacle", - "Toxic Behavior", - "Controlled Explosion", - "Happy Camper", - "Unfortunate Ending", - "Criminally Insane", - "Not Guilty", - "Double Jeopardy", - "Perfect Pitch", - "Dark Forecast", - "Apologies in Advance", - "Reduced To This", - "Surprise Encounter", - "Meat Locker", - "Cardiac Arrest", - "Piece of Junk", - "Bottom Line", - "With Abandon", - "Unsound Methods", - "Beast of Burden", - "Red Claw", - "No Laughing Matter", - "Nothing Personal", - "Great Experiment", - "Looks Like Trouble", - "Turning Point", - "Murderous Intent", - "If Looks Could Kill", - "Liquid Courage", - "Attention Seeker", - "Juvenile Delinquent", - "Mystery Meat", - "Slippery Slope", - "Empty Gesture", - "Annoying Pest", - "Killing Implement", - "Blunt Object", - "Blockade Runner", - "Innocent Bystander", - "Lacking Purpose", - "Beyond Salvation", - "This Too Shall Pass", - "Guilty Pleasure", - "Exploratory Surgery", - "Inelegant Solution", - "Under New Ownership", - "Festering Wound", - "Red Smile", - "Mysterious Stranger", - "Process of Elimination", - "Prone to Hysteria", - "Star Beggar", - "Dream Shatterer", - "Do The Math", - "Big Boy", - "Teacher's Pet", - "Hell's Bells", - "Critical Mass", - "Star Wench", - "Double Standard", - "Blind Fury", - "Carrion Eater", - "Pound of Flesh", - "Short Fuse", - "Road Agent", - "Deceiving Looks", - "An Arrow in Flight", - "Gun-to-Head", - "Petty Theft", - "Grand Larceny", - "Pop Up", - "A Promise Kept", - "Frag Machine", - "Unrepentant Camper", - "Impersonal Space", - "Fallen Pillar", - "Motion Tabled", - "Outrageous Fortune", - "Pyrrhic and Proud", - "Wiggling Bait", - "Shoot for Loot", - "Tone Deaf Siren", - "The Worst Thing", - "Violence-Liker", - "Illegal Repercussions", - "Shameless Plagiarist", - "Dove & Crow", - "Barnacle Jim", - "Charles in Charge", - "Strange Aeons", - "Red Queen" + + ship_names = list() + +/datum/lore/organization/other/smugglers/New() + ..() + var/i = 20 //give us twenty random names. for smugglers, I grabbed a bunch of two-syllable s-words, in keeping with NATO reporting names. I figured a fixed name list didn't make very much sense. + var/list/first_word = list( + "Smuggler","Safety","Scanner","Season","Secret","Section","Seeker","Server","Seller","Sequence","Shadow","Solar","Software","Smoker","Southwest","Spectrum","Spirit","Sponsor","Stainless","Stable","Study","Subject","Student","Surface","Symbol","Supreme","Surprise","Syntax","Sterling","Statement" ) - /* - destination_names = list( + var/list/nato_phonetic = list( + "Alfa","Bravo","Charlie","Delta","Echo","Foxtrot","Golf","Hotel","India","Juliet","Kilo","Lima","Mike","November","Oscar","Papa","Quebec","Romeo","Sierra","Tango","Uniform","Victor","Whiskey","Xray","Yankee","Zulu" ) - */ + while(i) + ship_names.Add("[pick(first_word)] [rand(1,99)]-[pick(nato_phonetic)]") + i-- /datum/lore/organization/other/pirates name = "Pirates" @@ -1804,175 +2009,35 @@ acronym = "IPG" desc = "Where there's prey, predators are sure to follow. In space, the prey are civilian merchants, and the predators are opportunistic pirates. This is about where the analogy breaks down, but the basic concept remains the same; civilian ships are usually full of valuable goods or important people, which can be sold on black markets or ransomed back for a healthy sum. Pirates seek to seize the assets of others to get rich, rather than make an honest thaler themselves.\

    \ - In contrast to the colorful Ue-Katish and sneaky Vox, common pirates tend to be rough, practical, and brutally efficient in their work. System Defense units practice rapid response drills, and in most systems it's only a matter of minutes before The Law arrives unless the pirate is able to isolate their target and prevent them from sending a distress signal.\ + Common pirates tend to be rough, practical, and brutally efficient in their work. System Defense units practice rapid response drills, and in most systems it's only a matter of minutes before The Law arrives unless the pirate is able to isolate their target and prevent them from sending a distress signal.\

    \ Complicating matters is the infrequent use of privateers by various minor colonial governments, mercenaries turning to piracy during hard times, and illegal salvage operations." history = "" work = "" headquarters = "" motto = "What\'s yours is mine." - lawful = FALSE - hostile = TRUE autogenerate_destination_names = TRUE //the events we get called for don't fire a destination, but we need entries to avoid runtimes. - ship_prefixes = list ("known pirate" = "a piracy", "suspected pirate" = "a piracy", "rogue privateer" = "a piracy", "Cartel enforcer" = "a piracy", "known outlaw" = "a piracy", "bandit" = "a piracy", "roving corsair" = "a piracy", "illegal salvager" = "an illegal salvage", "rogue mercenary" = "a mercenary") //as assigned by control, second part shouldn't even come up - ship_names = list( - "Morally Bankrupt", - "Bucket of Bolts", - "Wallet Inspector", - "Laughing Stock", - "Wayward Son", - "Wide Load", - "No Refunds", - "Ugly Stick", - "Poetic Justice", - "Foreign Object", - "Why Me", - "Last Straw", - "Designated Driver", - "Slapped Together", - "Lowest Bidder", - "Harsh Language", - "Public Servant", - "Class Act", - "Deviant Citizen", - "Diminishing Returns", - "Calculated Risk", - "Logistical Nightmare", - "Gross Negligence", - "Holier Than Thou", - "Open Wide", - "Red Dread", - "Missing Link", - "Duct Taped", - "Robber Baron", - "Affront to Nature", - "Total Loss", - "Depth Perception", - "This Way", - "Mysterious Rash", - "Jolly Roger", - "Victim of Circumstance", - "Product of Society", - "Under Evaluation", - "Flying Coffin", - "Gilded Cage", - "Disgruntled Worker", - "Of Sound Mind", - "Ivory Tower", - "Bastard Son", - "Scarlet Tentacle", - "Down In Front", - "Learning Experience", - "Desperate Pauper", - "Born Lucky", - "Base Instincts", - "Check Please", - "Infinite Loop", - "Lazy Morning", - "Runtime Error", - "Pointless Platitude", - "Grey Matter", - "Conscientious Objector", - "Unexplained Itch", - "Out of Control", - "Unexpected Obstacle", - "Toxic Behavior", - "Controlled Explosion", - "Happy Camper", - "Unfortunate Ending", - "Criminally Insane", - "Not Guilty", - "Double Jeopardy", - "Perfect Pitch", - "Dark Forecast", - "Apologies in Advance", - "Reduced To This", - "Surprise Encounter", - "Meat Locker", - "Cardiac Arrest", - "Piece of Junk", - "Bottom Line", - "With Abandon", - "Unsound Methods", - "Beast of Burden", - "Red Claw", - "No Laughing Matter", - "Nothing Personal", - "Great Experiment", - "Looks Like Trouble", - "Turning Point", - "Murderous Intent", - "If Looks Could Kill", - "Liquid Courage", - "Attention Seeker", - "Juvenile Delinquent", - "Mystery Meat", - "Slippery Slope", - "Empty Gesture", - "Annoying Pest", - "Killing Implement", - "Blunt Object", - "Blockade Runner", - "Innocent Bystander", - "Lacking Purpose", - "Beyond Salvation", - "This Too Shall Pass", - "Guilty Pleasure", - "Exploratory Surgery", - "Inelegant Solution", - "Under New Ownership", - "Festering Wound", - "Red Smile", - "Mysterious Stranger", - "Process of Elimination", - "Prone to Hysteria", - "Star Beggar", - "Dream Shatterer", - "Do The Math", - "Big Boy", - "Teacher's Pet", - "Hell's Bells", - "Critical Mass", - "Star Wench", - "Double Standard", - "Blind Fury", - "Carrion Eater", - "Pound of Flesh", - "Short Fuse", - "Road Agent", - "Deceiving Looks", - "An Arrow in Flight", - "Gun-to-Head", - "Petty Theft", - "Grand Larceny", - "Pop Up", - "A Promise Kept", - "Frag Machine", - "Unrepentant Camper", - "Impersonal Space", - "Fallen Pillar", - "Motion Tabled", - "Outrageous Fortune", - "Pyrrhic and Proud", - "Wiggling Bait", - "Shoot for Loot", - "Tone Deaf Siren", - "The Worst Thing", - "Violence-Liker", - "Illegal Repercussions", - "Shameless Plagiarist", - "Dove & Crow", - "Barnacle Jim", - "Charles in Charge", - "Strange Aeons", - "Red Queen" + org_type = "pirate" + ship_prefixes = list ("known pirate" = "a piracy", "suspected pirate" = "a piracy", "rogue privateer" = "a piracy", "Cartel enforcer" = "a piracy", "known outlaw" = "a piracy", "bandit" = "a piracy", "roving corsair" = "a piracy", "illegal salvager" = "an illegal salvage", "rogue mercenary" = "a mercenary") //as assigned by control, second part shouldn't even come up, but it exists to avoid hiccups/weirdness just in case + + ship_names = list() + +/datum/lore/organization/other/pirates/New() + ..() + var/i = 20 //give us twenty random names. as for smugglers, so for pirates. in this case I went with two-syllable b-words. + var/list/first_word = list( + "Bandit","Bogey","Backup","Baker","Balance","Bandwidth","Banker","Banner","Bargain","Baseball","Basket","Bathroom","Berlin","Beyond","Bidder","Bishop","Bookmark","Border","Boston","Bracelet","Brazil","Breakfast","Brian","Broadband","Brochure","Broken","Broker","Brother","Buddy","Budget","Bureau","Business" ) - /* - destination_names = list( + var/list/nato_phonetic = list( + "Alfa","Bravo","Charlie","Delta","Echo","Foxtrot","Golf","Hotel","India","Juliet","Kilo","Lima","Mike","November","Oscar","Papa","Quebec","Romeo","Sierra","Tango","Uniform","Victor","Whiskey","Xray","Yankee","Zulu" ) - */ - + while(i) + ship_names.Add("[pick(first_word)] [rand(1,99)]-[pick(nato_phonetic)]") + i-- + +/* +//Commenting out the Ue-Katish and Vox Marauders for now, to dial down the implications of rampant piracy /datum/lore/organization/other/uekatish name = "Ue-Katish Pirates" short_name = "" @@ -1983,52 +2048,62 @@ history = "" work = "" motto = "" - lawful = FALSE - hostile = TRUE autogenerate_destination_names = TRUE - + + org_type = "pirate" ship_prefixes = list("Ue-Katish pirate" = "a raiding", "Ue-Katish bandit" = "a raiding", "Ue-Katish raider" = "a raiding", "Ue-Katish enforcer" = "an enforcement") - ship_names = list( - "Keqxuer'xeu's Prize", - "Xaeker'qux' Bounty", - "Teq'ker'qerr's Mercy", - "Ke'teq's Thunder", - "Xumxerr's Compass", - "Xue'qux' Greed", - "Xaexuer's Slave", - "Xue'taq's Dagger", - "Teqxae's Madness", - "Taeqtaq'kea's Pride", - "Keqxae'xeu's Saber", - "Xueaeq's Disgrace", - "Xum'taq'qux' Star", - "Ke'xae'xe's Scream", - "Keq'keax' Blade" + ship_names = list() + +/datum/lore/organization/other/uekatish/New() + ..() + var/i = 20 //give us twenty random names + var/list/first_names = file2list('config/names/first_name_skrell.txt') + var/list/words = list( + "Prize", + "Bounty", + "Treasure", + "Pearl", + "Star", + "Mercy", + "Compass", + "Greed", + "Slave", + "Madness", + "Pride", + "Disgrace", + "Judgement", + "Wrath", + "Hatred", + "Vengeance", + "Fury", + "Thunder", + "Scream", + "Dagger", + "Saber", + "Lance", + "Blade" ) + while(i) + ship_names.Add("[pick(first_names)]'s [pick(words)]") + i-- /datum/lore/organization/other/marauders name = "Vox Marauders" short_name = "" //whitespace hack again acronym = "VOX" - desc = "Whilst rarely as directly threatening as 'common' pirates, the phoron-breathing vox nevertheless pose a constant nuisance for shipping; as far as vox are concerned, only vox and vox matters matter, and everyone else is a 'treeless dustlung'. Unlike sometimes over-confident pirates, the vox rarely engage in open combat, preferring to steal and raid through stealth rather than brute force. Vox raiders will only commit to an attack if they're confident that they can quickly overwhelm and subdue their victims, then swiftly get away in the event that any alarms are tripped or reinforcements are called for.\ + desc = "Whilst rarely as directly threatening as 'common' pirates, the phoron-breathing vox nevertheless pose a constant nuisance for shipping; as far as vox are concerned, only vox and vox matters matter, and everyone else is a 'treeless dusthuffer'. Unlike sometimes over-confident pirates, the vox rarely engage in direct, open combat, preferring to make their profits by either stealth or gunboat diplomacy that tends to be more bluster than true brute force: vox raiders will only commit to an attack if they're confident that they can quickly overwhelm and subdue their victims, then get away with the spoils before any reinforcements can arrive.\

    \ As Vox ship names are generally impossible for the vast majority of other species to pronounce, System Defense tends to tag marauders with a designation based on the ancient NATO Phonetic Alphabet." history = "Unknown" work = "Looting and raiding" headquarters = "Nowhere" motto = "(unintelligible screeching)" - lawful = FALSE - hostile = TRUE autogenerate_destination_names = TRUE //the events we get called for don't fire a destination, but we need *some* entries to avoid runtimes. + org_type = "pirate" ship_prefixes = list("vox marauder" = "a marauding", "vox raider" = "a raiding", "vox ravager" = "a raiding", "vox corsair" = "a raiding") //as assigned by control, second part shouldn't even come up //blank out our shipnames for redesignation - ship_names = list( - ) - /* - destination_names = list( - ) - */ + ship_names = list() /datum/lore/organization/other/marauders/New() ..() @@ -2076,22 +2151,24 @@ while(i) ship_names.Add("[pick(letters)]-[pick(numbers)]") i-- +*/ +////////////////////////////////////////////////////////////////////////////////// // Governments - /datum/lore/organization/gov/solgov name = "United Solar Government" short_name = "SolGov " acronym = "USG" desc = "The Unified Solar Government, or just \'SolGov\' to most, is a decentralized confederation of human governmental entities based on Luna, Sol, which defines top-level law for their member states. Member states receive various benefits such as defensive pacts, trade agreements, social support and funding, and being able to participate in the Colonial Assembly. The majority of human territories are members of SolGov, though there are notable groups who refuse to participate. As such, SolGov is a major power and defacto represents humanity on the galactic stage.\

    \ - Ships on USG assignments typically carry the designations of Earth\'s largest craters, as a reminder of everything the planet has endured." + official CWS assignments typically carry the designations of Earth\'s largest craters, as a reminder of everything the planet (and humanity itself) has endured" history = "" // Todo work = "governing polity of humanity's Confederation" headquarters = "Luna, Sol" motto = "Nil Mortalibus Ardui Est" // Latin, because latin. Says 'Nothing is too steep for mortals' autogenerate_destination_names = TRUE + org_type = "government" ship_prefixes = list("USG-A" = "an administrative", "USG-T" = "a transportation", "USG-D" = "a diplomatic", "USG-F" = "a freight", "USG-J" = "a prisoner transfer") //earth's biggest impact craters ship_names = list( @@ -2173,102 +2250,273 @@ "a classified location" ) // autogen will add a lot of other places as well. - -/datum/lore/organization/gov/almachi - name = "Almach Association" - short_name = "Almachi " - acronym = "ALM" - desc = "The Almach Association, or Almach, is a Mercurial governmental entity with major population centers in Shelf, Angessa's Pearl, Vounna, and Relan, and extending throughout the nearby region.\ -

    \ - Almach is primarily a military union designed to protect the constituent systems from an attack by SolGov, although some argue that it gives large constituents an unacceptable level of influence over their neighbors. Almach also conducts shared trade and diplomacy missions, but differs from a confederacy by its lack of legislative powers. All contributions to the Association are voluntary. Most constituent systems are organized as direct democracies, although it also counts workers' unions, republics and even theocracies among its members.\ -

    \ - Almach's military forces are given broad autonomy to respond to unfolding situations as they will, with a heavily decentralized strategic model unique to the Mercurial government." + +/datum/lore/organization/gov/ares + name = "Third Ares Confederation" + short_name = "ArCon" + desc = "A loose coalition of socialist and communist movements on the fringes of the human diaspora \ + the Ares Confederation is a government-in-exile from the original uprisings of Mars to stop \ + the government of corporations and capitalist interests over Humanity. While they failed twice \ + they have made their own home far beyond the reach of an effective military response by the \ + SolGov. They have become renowned engineers and terraforming experts, mostly due to necessity.\ +

    \ + Many of their vessels carry the names of original Confederation ships, or heroes who fought for \ + liberty and equality in the early days of the uprisings. Many, however, are far more irreverent, \ + seeming to flaunt callsign regulations as a small act of rebellion or purely because they can." history = "" - work = "" - headquarters = "Shelf, Angessa's Pearl, Vounna, and Relan" - motto = "" - autogenerate_destination_names = TRUE + work = "idealist socialist government" + headquarters = "Paraiso a Àstrea" + motto = "Liberty to the Stars!" - ship_prefixes = list("ALM-A" = "an administrative", "ALM-T" = "a transportation", "ALM-D" = "a diplomatic", "ALM-F" = "a freight", "ALM-J" = "a prisoner transfer") - //TODO: better ship names - /* + org_type = "government" + ship_prefixes = list("UFHV" = "military", "FFHV" = "classified") ship_names = list( - "", + "Bulwark of the Free", + "Charged Negotiation", + "Corporation Breaker", + "Cheeki Breeki", + "Dawnstar", + "Fiery Justice", + "Fist of Ares", + "Freedom", + "Marx Was Right", + "Endstage Capitalism", + "Neoluddism Is The Answer Guys", + "Anarchocapitalism Is A Joke", + "Front Toward Enemy", + "Path of Prosperity", + "Freedom Cry", + "Rebel Yell", + "We Will Return To Mars", + "According To Our Abilities", + "Posadism Gang", + "Accelerationism Doesn't Work In A Vaccuum", + "Don't Shoot, We're Unarmed I Think", + "Sir, It's One Of Ours", + "The Big Stick For Speaking Softly", + "Per Our Last E-Mail", + "A Slight Weight Discrepancy", + "I Think It's An Asteroid", + "Bull Moose", + "Engels Needs Some Love Too", + "The Icepick", + "Gauntlet", + "Gellaume", + "Hero of the Revolution", + "Jerome", + "Laughing Maniac", + "Liberty", + "Mahama", + "Memory of Fallen", + "Miko", + "Mostly Harmless", + "None Of Your Business", + "Not Insured", + "People's Fist", + "Petrov", + "Prehensile Ethics", + "Pride of Liberty", + "Rodrick", + "Star of Tiamat", + "Torch of Freedom", + "Torch", + "We All Lift", + "Adrift Together", + "Freyv", + "Asgauth", + "Elduette", + "Seigfast", + "Bergautur", + "Anrune", + "Naybard", + "Alfmundur", + "Ganuun", + "Du Moch", + "Morvo", + "Montrienn", + "Ursuul" ) - */ destination_names = list( - "an Association member colony", - "the Xia subcluster", - "the Matigab subcluster", - "the Zegev subcluster", - "|Prometheus| Station, Vounna", - "an Association embassy", - "a classified location" - ) - -/* setup for tajaran + other xeno groups, but allakai never came forth with useful resources for me. leaving my framework in place for later updating. -/datum/lore/organization/gov/alarjir_iniye - name = "Alarjir Iniye" - short_name = "Coalition " - acronym = "ALI" - desc = "The Alarjir Iniye, or Pearlshield Coalition, is a tenuous alliance of several tajaran nations and other groups who seek to solidify their people's hold on the few territories they presently hold. Whilst externally fairly well-organzed, the Coalition is internally a hotbed of intrigue and competition." + "Drydocks of the Ares Confederation", + "a classified location", + "a Homestead on Paraiso", + "a contested sector of ArCon space", + "one of our free colonies", + "the Gateway 98-C at Ares", + "Sars Mara on Ares", + "Listening Post Maryland-Sigma", + "an emergency nav bouy", + "New Berlin on Nov-Ferrum", + "a settlement needing our help", + "Forward Base Sigma-Alpha in ArCon space" + ) + +/datum/lore/organization/gov/elysia + name = "The Elysian Colonies" + short_name = "Elysia" + acronym = "ECS" + desc = "The Elysian Colonies, located spinwards from the SolGov, are a disunited bunch of \ + vanity states, utopia projects and personal autocracies, whose only unifying characteristic is \ + a general disregard of 'normal' social conventions of Humanity as well as their inherent desire \ + to keep to their ways, in which cases they do sometimes unite to fight off an outside threat. \ + The Elysian Colonies are one of the few places where true slavery is not only accepted, but sadly also \ + rather commonplace if you go to the wrong worlds. Not that they don't internally have at least a dozen would-be liberators." history = "" - work = "" - headquarters = "Rarkajar" + work = "fracturous vanity colonies" + headquarters = "" motto = "" - autogenerate_destination_names = FALSE //big list of own holdings to come - ship_prefixes = list("ALI-A" = "an administrative", "ALI-D" = "a diplomatic", "ALI-M" = "a peacekeeping", "ALI-F" = "a transportation", "ALI-J" = "a prisoner transfer", "ALI-R" = "a research") - //TODO: better ship names + org_type = "government" + ship_prefixes = list("ECS-M" = "a military", "ECS-T" = "a transport", "ECS-T" = "a special transport", "ECS-D" = "a diplomatic") //The Special Transport is SLAAAAVES. but let's not advertise that openly. ship_names = list( - "", + "Bring Me Wine!", + "I Can't Believe You", + "More Wives Your Grace?", + "Daddy Bought Me This", + "What Do You Mean It's Unethical", + "Libertine Ideals", + "The True Free", + "Unbound", + "No Man Shackled", + "All Men Shackled", + "All Women Shackled", + "All Hermaphrodites Shackled", + "You Know We Just Shackle Anyone", + "Nobody Deserves Shackles", + "Debt Slavery Is Ethical", + "Fashioned After Tradition", + "Sic Vic Pacem", + "Cultivate This", + "We Demand Self-Governance", + "A Thousand Cultures", + "There Is a Character Limit?", + "Slave Galley I", + "The Memes of Production", + "The Unconquered CCXXII" ) destination_names = list( - "Rarkajar, Meralar", - "a Coalition outpost in Meralar", - "a Coalition shipyard", - "a Coalition supply depot", - "a Coalition embassy", - "a Coalition research base", - "Alar-Selna, Arrakthiir", - "a minor colony in Arrakthiir", - "a Coalition outpost in Arrakthiir", - "a tajaran colony in Mesomori", - "a Coalition outpost in Mesomori", - "a mining base in Mesomori" - ) - -/datum/lore/organization/gov/unathi - name = "Moghes Hegemony" - short_name = "Hegemony " - acronym = "MGH" - desc = "" + "Cygnus", + "The Ultra Dome of Brutal Kill Death", + "Sanctum", + "Infernum", + "The Most Esteemed Estates of Fred Fredson, Heir of the Fred Throne and All its illustrious Fredpendencies", + "Priory Melana", + "The Clone Pits of Meridiem Five", + "Forward Base Mara Alpha", + "a liberation intervention", + "a nav bouy within Cygnus Space", + "a Elysian only refuel outpost", + "to a killer party the Fredperor is holding right now" + ) + +/datum/lore/organization/gov/fyrds + name = "Unitary Alliance of Salthan Fyrds" + short_name = "Saltha" + acronym = "SMS" + desc = "Born out of neglect, the Salthan Fyrds are cast-off colonies of the SolGov after giving up on \ + pacifying the wartorn region and fighting off the stray Unathi Raiders after the Hegemony War. \ + In the end they self-organized into military pacts and have formed a militaristic society, in which \ + every person, be it organic or robot, is a soldier for the continued cause in serving as aegis against \ + another Unathi Incursion. They are very no-nonsense." history = "" - work = "" - headquarters = "Moghes" + work = "human stratocracy" + headquarters = "The Pact, Myria" motto = "" - autogenerate_destination_names = FALSE //big list of own holdings to come - ship_prefixes = list("MGH-D" = "a diplomatic", "MGH-U" = "a Unity-mandated", "MGH-M" = "a peacekeeping", "MGH-F" = "a transportation", "MGH-J" = "a prisoner transfer", "MGH-R" = "a Redemptionist") - //TODO: better ship names - ship_names = list( - "", + org_type = "government" + ship_prefixes = list("SFM-M" = "a military", "SFM-M" = "a patrol") // The Salthans don't do anything else. + flight_types = list( + "mission", + "operation", + "exercise", + "assignment", + "deployment" ) + //specifically-undefeated generals, just to shake up the usual list everyone knows + ship_names = list( + "Ahmose I", + "Thutmose I & III", + "Seti I", + "Ramesses II", + "Tariq ibn Ziyad", + "Shaka Zulu", + "Bai Qi", + "Ashoka the Great", + "Han Xin", + "Chen Qingzhi", + "Sargon of Akkad", + "Khalid ibn al-Walid", + "Narses", + "David IV", + "Yue Fei", + "Subutai", + "Tamerlane", + "Kumbha of Mewar", + "Akbar", + "Admiral Yi", + "Chatrapati Sambhaji Maharaj", + "Baji Rao", + "Nguyen Hue", + "Alexander the Great", + "Epaminondas", + "Nero Claudius Drusus", + "Burebista", + "Pepin the Short", + "El Cid", + "Jan Zizka", + "Scanderbeg", + "Edward IV", + "Pal Kinizsi", + "Ivan Sirko", + "John Churchill", + "Maurice of Nassau", + "Alvaro de Bazan", + "Blas de Lezo", + "Prince Henry", + "Alexander Suvorov", + "Fyodor Ushakov", + "Charles XI", + "August von Mackensen", + "Paul von Lettow-Vorbeck", + "George Henry Thomas" + ) + /* retained for archival, no longer necessary destination_names = list( - "Moghes, Uueoa-Esa", - "Kharet, Uueoa-Esa", - "a gas-mining facility over Yeora", - "a mining outpost in the Yoos belt", - "a Hegemony resuply depot", - "a Hegemony shipyard", - "a Hegemony embassy", - "a Hegemony outpost near Abel's Rest" + "Base Alpha-Romero", + "Base Zeta-Xray", + "Base Epsilon-Epsilon", + "Base Xray-Beta", + "Base Gamma-Delta", + "Base Yotta-Epsilon" ) -*/ + */ + +/datum/lore/organization/gov/fyrds/New() + ..() + var/fyrdsgen = rand(8, 16) //significantly increased from original values due to the greater length of rounds on YW + var/list/location = list( + "Base","Outpost","Installation","Station","Waypoint","Nav Point" + ) + var/list/greek = list( + "Alpha","Beta","Gamma","Delta","Epsilon","Zeta","Eta","Theta","Iota","Kappa","Lambda","Mu","Nu","Xi","Omicron","Pi","Rho","Sigma","Tau","Upsilon","Phi","Chi","Psi","Omega" + ) + var/list/phoenician = list( + "Aleph","Beth","Gimel","Daleth","He","Zayin","Heth","Teth","Yodh","Kaph","Lamedh","Mem","Nun","Samekh","'Ayin","Pe","Res","Sin","Taw","Waw","Sade","Qoph" + ) + var/list/russian = list( + "Anna","Boris","Vasily","Gregory","Galina","Dmitri","Yelena","Zhenya","Zinaida","Zoya","Ivan","Konstantin","Leonid","Mikhail","Mariya","Nikolai","Olga","Pavel","Roman","Semyon","Sergei","Tatyana","Tamara","Ulyana","Fyodor","Khariton","Tsaplya","Tsentr","Chelovek","Shura","Shchuka","Yery","Znak","Echo","Emma","Yuri","Yakov" + ) + var/list/american = list( + "Alfa","Bravo","Charlie","Delta","Echo","Foxtrot","Golf","Hotel","India","Juliet","Kilo","Lima","Mike","November","Oscar","Papa","Quebec","Romeo","Sierra","Tango","Uniform","Victor","Whiskey","Xray","Yankee","Zulu" + ) + + while(fyrdsgen) + destination_names.Add("[pick(location)] [pick(greek)]-[pick(greek)]","[pick(location)] [pick(phoenician)]-[pick(phoenician)]","[pick(location)] [pick(russian)]-[pick(russian)]","[pick(location)] [pick(american)]-[pick(american)]") + fyrdsgen-- /datum/lore/organization/gov/teshari name = "Teshari Expeditionary Fleet" - short_name = "Teshari Expeditionary " + short_name = "Teshari Expeditionary" acronym = "TEF" desc = "Though nominally a client state of the skrell, the teshari nevertheless maintain their own navy in the form of the Teshari Expeditionary Fleet. The TEF are as much civil and combat engineers as a competent space force, as they are the tip of the spear when it comes to locating and surveying new worlds suitable for teshari habitation, and in the establishment of full colonies. That isn't to say there aren't independent teshari colonies out there, but those that are founded under the wings of the TEF tend to be the largest and most prosperous. They're also responsible for maintaining the security of these colonies and protecting trade ships. Like the USDF (and unlike most other governmental fleets), TEF vessels almost universally sport the 'TEF' designator rather than specific terms.\

    \ @@ -2279,29 +2527,11 @@ motto = "" autogenerate_destination_names = TRUE //big list of own holdings to come + org_type = "government" //the tesh expeditionary fleet's closest analogue in modern terms would be the US Army Corps of Engineers, just with added combat personnel as well ship_prefixes = list("TEF" = "a diplomatic", "TEF" = "a peacekeeping", "TEF" = "an escort", "TEF" = "an exploration", "TEF" = "a survey", "TEF" = "an expeditionary", "TEF" = "a pioneering") - //TODO: better ship names. I just took a bunch of random teshnames from the Random Name button and added a word. - ship_names = list( - "Leniri's Hope", - "Tatani's Venture", - "Ninai's Voyage", - "Miiescha's Claw", - "Ishena's Talons", - "Lili's Fang", - "Taalische's Wing", - "Cami's Pride", - "Schemisa's Glory", - "Shilirashi's Wit", - "Sanene's Insight", - "Aeimi's Wisdom", - "Ischica's Mind", - "Recite's Cry", - "Leseca's Howl", - "Iisi's Fury", - "Simascha's Revenge", - "Lisascheca's Vengeance" - ) + //TODO: better ship names? I just took a bunch of random teshnames from the Random Name button and added a word. + ship_names = list() destination_names = list( "an Expeditionary Fleet RV point", "an Expeditionary Fleet Resupply Ship", @@ -2312,12 +2542,113 @@ "Expeditionary Fleet HQ" ) -// Military -// Used for Para-Military groups right now! Pair of placeholder-ish PMCs. +/datum/lore/organization/gov/teshari/New() + ..() + var/i = 20 //give us twenty random names + var/list/first_names = list( + "Leniri's", + "Tatani's", + "Ninai's", + "Miiescha's", + "Ishena's", + "Taalische's", + "Cami's", + "Schemisa's", + "Shilirashi's", + "Sanene's", + "Aeimi's", + "Ischica's", + "Shasche's", + "Leseca's", + "Iisi's", + "Simascha's", + "Lisascheca's" + ) + var/list/words = list( + "Hope", + "Venture", + "Voyage", + "Talons", + "Fang", + "Wing", + "Pride", + "Glory", + "Wit", + "Insight", + "Wisdom", + "Mind", + "Cry", + "Howl", + "Fury", + "Revenge", + "Vengeance" + ) + while(i) + ship_names.Add("[pick(first_names)] [pick(words)]") + i-- + +/datum/lore/organization/gov/altevian_hegemony + name = "The Altevian Hegemony" + short_name = "Altevian Hegemony" + acronym = "AH" + desc = "The Altevians are a space-faring race of rodents that resemble Earth-like rats. \ + They do not have a place they call home in terms of a planet, and instead have massive multiple-kilometer-long colony-ships \ + that are constantly on the move and typically keep operations outside of known populated systems to minimize potential conflicts over resources. \ + Their primary focus is trade and salvage operations, and their ships can be expected to be seen around both densely populated and empty systems for their work." + history = "" + work = "salvage and trade operators" + headquarters = "AH-CV Migrant" + motto = "" + org_type = "spacer" + ship_prefixes = list("AH-DV" = "a diplomatic", "AH-EV" = "an exploration", "AH-FV" = "a fueling", "AH-FV" = "a cargo", "AH-SV" = "a research", "AH-TV" = "a colony-transporter", "AH-RV" = "an emergency response", "AH-RV" = "a response", "AH-MV" = "a medical") + ship_names = list( + "Platinum", + "Warson", + "Mane", + "Holland", + "Arauz", + "Diamond", + "Gold", + "Steam", + "Boiler", + "Slip", + "Lavender", + "Wheel", + "Stuntson", + "Desto", + "Palos", + "Matterson", + "Mill", + "Smoke", + "Squeson", + "Rabion", + "Strikedown", + "Cluster", + "Raling", + "Archaeologist", + "Beaker" + ) + destination_names = list( + "the AH-CV Migrant flagship", + "one of our research colony-ships", + "the AH-CV Lotus", + "the AH-CV Anvil", + "the AH-CV Generations", + "the AH-CV Galley", + "the AH-CV Prosperity", + "the AH-CV Kitsap", + "the AH-CV Diamondback", + "one of our colony-ships", + "one of our production fleets" + ) + +////////////////////////////////////////////////////////////////////////////////// + +// Military /datum/lore/organization/mil/usdf name = "United Solar Defense Force" - short_name = "" //Doesn't cause whitespace any more, with a little sneaky low-effort workaround + short_name = "USDF" acronym = "USDF" desc = "The USDF is the dedicated military force of the USG, originally formed by the United Nations. USDF ships are responsible for securing the major traffic lanes between USG member systems, as well as protecting them from threats that are too great for local SDF units to handle. A lot of dubious incidents and several notable firebrands within the USDF mean that the USDF is considered by some to be the galaxy\'s eight-hundred-pound gorilla; it does whatever it wants whenever it wants, and there really isn\'t anything you can do about it. Thankfully, a coalition of moderates and USG loyalists has managed to keep things together, for the time being." history = "" @@ -2326,6 +2657,7 @@ motto = "Si Vis Pacem Para Bellum" //if you wish for peace, prepare for war autogenerate_destination_names = TRUE + org_type = "military" ship_prefixes = list ("USDF" = "a logistical", "USDF" = "a training", "USDF" = "a patrol", "USDF" = "a piracy suppression", "USDF" = "a peacekeeping", "USDF" = "a relief", "USDF" = "an escort", "USDF" = "a search and rescue", "USDF" = "a classified") flight_types = list( "mission", @@ -2404,7 +2736,7 @@ ) destination_names = list( "USDF HQ", - "a USDF staging facility on the edge of USG territory", + "a USDF staging facility on the edge of SolGov territory", "a USDF supply depot", "a USDF rally point", "a USDF forward base", @@ -2465,15 +2797,16 @@ /datum/lore/organization/mil/pcrc name = "Proxima Centauri Risk Control" - short_name = "Proxima Centauri " + short_name = "Proxima Centauri" acronym = "PCRC" - desc = "Not a whole lot is known about the private security company known as PCRC, but it is known that they're irregularly contracted by the larger TSCs for certain delicate matters. Much of the company's inner workings are shrouded in mystery, and most citizens have never even heard of them. They enjoy fairly good PR for a private security group, especially when compared to SAARE." + desc = "Not a whole lot is known about the private security company known as PCRC, but it is known that they're irregularly contracted by the larger TSCs for certain delicate matters. Much of the company's inner workings are shrouded in mystery, and most citizens have never even heard of them. Amongst those who do know of them, they enjoy fairly good PR for a private security group, especially when compared to SAARE." history = "" work = "risk control and private security" headquarters = "Proxima Centauri" motto = "" autogenerate_destination_names = TRUE + org_type = "military" ship_prefixes = list("PCRC" = "a risk control", "PCRC" = "a private security") flight_types = list( "flight", @@ -2487,12 +2820,18 @@ ship_names = list( "Detective", "Constable", + "Inspector", "Judge", "Adjudicator", "Magistrate", "Marshal", + "Sheriff", + "Deputy", "Warden", + "Guardian", + "Defender", "Peacemaker", + "Peacekeeper", "Arbiter", "Justice", "Order", @@ -2522,7 +2861,7 @@ //I'm covered in beeeeeeees! /datum/lore/organization/mil/hive name = "HIVE Security" - short_name = "HIVE " + short_name = "HIVE" acronym = "HVS" desc = "HIVE Security is a merging of several much smaller freelance companies, and operates throughout civilized space. Unlike some companies, it operates no planetside facilities whatsoever, opting instead for larger flotillas that are serviced by innumerable smallcraft. As with any PMC there's no small amount of controversy surrounding them, but they try to keep their operations cleaner than their competitors. They're fairly well known for running 'mercy' operations, which are low-cost no-strings-attached contracts for those in dire need." history = "" @@ -2531,6 +2870,7 @@ motto = "Strength in Numbers" autogenerate_destination_names = TRUE + org_type = "military" ship_prefixes = list("HPF" = "a secure freight", "HPT" = "a training", "HPS" = "a logistics", "HPV" = "a patrol", "HPH" = "a bounty hunting", "HPX" = "an experimental", "HPC" = "a command", "HPI" = "a mercy") flight_types = list( "flight", @@ -2604,7 +2944,7 @@ //replaced the edgy blackstar group with polaris-canon SAARE /datum/lore/organization/mil/saare name = "Stealth Assault Enterprises" - short_name = "" + short_name = "SAARE" acronym = "SAARE" desc = "SAARE consistently have the worst reputation of any paramilitary group. This is because they specialize in deniability and secrecy. Although publically they work in asset recovery, they have a substantiated reputation for info-theft and piracy that has lead to them butting heads with the law on more than one occasion. Nonetheless, they are an invaluable part of the Solar economy, and other TSCs and small colonial governments keep them in business.\

    \ @@ -2615,6 +2955,7 @@ motto = "Aut Neca Aut Necare" autogenerate_destination_names = TRUE + org_type = "military" ship_prefixes = list("SAARE" = "a secure freight", "SAARE" = "a training", "SAARE" = "a logistics", "SAARE" = "a patrol", "SAARE" = "a security", "SAARE" = "an experimental", "SAARE" = "a command", "SAARE" = "a classified") flight_types = list( "flight", diff --git a/code/modules/casino/boxes_casino.dm b/code/modules/casino/boxes_casino.dm index 136ff9ba037..619e0afcb63 100644 --- a/code/modules/casino/boxes_casino.dm +++ b/code/modules/casino/boxes_casino.dm @@ -1,17 +1,17 @@ -/obj/item/weapon/storage/box/casino +/obj/item/storage/box/casino name = "prize box" desc = "It's a lovely golden tinted cardboard box, maybe there's something valuable inside?" icon = 'icons/obj/casino.dmi' icon_state = "casino_box" -/obj/item/weapon/storage/box/casino/costume_marine +/obj/item/storage/box/casino/costume_marine name = "ruin marine costume" starts_with = list( /obj/item/clothing/head/marine, /obj/item/clothing/suit/marine ) -/obj/item/weapon/storage/box/casino/costume_pirate +/obj/item/storage/box/casino/costume_pirate name = "pirate costume" starts_with = list( /obj/item/clothing/under/pirate, @@ -20,29 +20,29 @@ /obj/item/clothing/glasses/eyepatch ) -/obj/item/weapon/storage/box/casino/costume_commie +/obj/item/storage/box/casino/costume_commie name = "communist costume" starts_with = list( /obj/item/clothing/under/soviet, /obj/item/clothing/head/ushanka ) -/obj/item/weapon/storage/box/casino/costume_wizard +/obj/item/storage/box/casino/costume_wizard name = "wizard costume" starts_with = list( /obj/item/clothing/suit/wizrobe/fake, /obj/item/clothing/head/wizard/fake, - /obj/item/weapon/staff + /obj/item/staff ) -/obj/item/weapon/storage/box/casino/costume_plaguedoctor +/obj/item/storage/box/casino/costume_plaguedoctor name = "plague doctor costume" starts_with = list( /obj/item/clothing/suit/bio_suit/plaguedoctorsuit, /obj/item/clothing/head/plaguedoctorhat ) -/obj/item/weapon/storage/box/casino/costume_cowboy +/obj/item/storage/box/casino/costume_cowboy name = "cowboy costume" starts_with = list( /obj/item/clothing/under/cowboy, @@ -51,7 +51,7 @@ /obj/item/clothing/shoes/boots/cowboy/brown ) -/obj/item/weapon/storage/box/roulette_balls_normal +/obj/item/storage/box/roulette_balls_normal name = "roulette ball box" desc = "A box of spare roulette balls." icon_state = "balls" @@ -60,7 +60,7 @@ /obj/item/roulette_ball = 7, /obj/item/roulette_ball/hollow = 2) -/obj/item/weapon/storage/box/roulette_balls_fancy +/obj/item/storage/box/roulette_balls_fancy name = "fancy roulette ball box" desc = "A box of extra-pretty roulette balls." icon_state = "balls" @@ -78,7 +78,7 @@ /obj/item/roulette_ball/planet, /obj/item/roulette_ball/gold) -/obj/item/weapon/storage/box/roulette_balls_cheat +/obj/item/storage/box/roulette_balls_cheat name = "special roulette ball box" desc = "A box of 'special' roulette balls." icon_state = "balls" diff --git a/code/modules/casino/casino.dm b/code/modules/casino/casino.dm index 04e89cbaba5..0b1c57d0853 100644 --- a/code/modules/casino/casino.dm +++ b/code/modules/casino/casino.dm @@ -46,12 +46,12 @@ /obj/structure/casino_table/roulette_table/attack_hand(mob/user as mob) if(busy) - to_chat(user,"You cannot spin now! The roulette is already spinning. ") + to_chat(user,span_notice("You cannot spin now! The roulette is already spinning.")) return if(!ball) - to_chat(user,"This roulette wheel has no ball! ") + to_chat(user,span_notice("This roulette wheel has no ball!")) return - visible_message("\The [user] spins the roulette and throws [ball.get_ball_desc()] into it.") + visible_message(span_notice("\The [user] spins the roulette and throws [ball.get_ball_desc()] into it.")) playsound(src.loc, 'sound/machines/roulette.ogg', 40, 1) busy = 1 ball.on_spin() @@ -74,7 +74,7 @@ if(result == 37) result = "00" spawn(5 SECONDS) - visible_message("The roulette stops spinning, the ball landing on [result], [color].") + visible_message(span_notice("The roulette stops spinning, the ball landing on [result], [color].")) busy = 0 icon_state = initial(icon_state) @@ -84,7 +84,7 @@ user.drop_from_inventory(W) W.forceMove(src) ball = W - to_chat(user, "You insert [W] into [src].") + to_chat(user, span_notice("You insert [W] into [src].")) return ..() @@ -101,16 +101,16 @@ return if(busy) - to_chat(usr, "You cannot remove \the [ball] while [src] is spinning!") + to_chat(usr, span_warning("You cannot remove \the [ball] while [src] is spinning!")) return if(ball) usr.put_in_hands(ball) - to_chat(usr, "You remove \the [ball] from [src].") + to_chat(usr, span_notice("You remove \the [ball] from [src].")) ball = null return else - to_chat(usr, "There is no ball in [src]!") + to_chat(usr, span_notice("There is no ball in [src]!")) return /obj/structure/casino_table/roulette_table/long @@ -206,7 +206,7 @@ ball_desc = "a small glass ball" icon_state = "roulette_ball_glass" - var/obj/item/weapon/holder/trapped + var/obj/item/holder/trapped /obj/item/roulette_ball/hollow/examine(mob/user) .=..() @@ -223,21 +223,21 @@ /obj/item/roulette_ball/hollow/attackby(var/obj/item/W, var/mob/user) if(trapped) - to_chat(user, "This ball already has something trapped in it!") + to_chat(user, span_notice("This ball already has something trapped in it!")) return - if(istype(W, /obj/item/weapon/holder)) - var/obj/item/weapon/holder/H = W + if(istype(W, /obj/item/holder)) + var/obj/item/holder/H = W if(!H.held_mob) - to_chat(user, "This holder has nobody in it? Yell at a developer!") + to_chat(user, span_warning("This holder has nobody in it? Yell at a developer!")) return if(H.held_mob.get_effective_size(TRUE) > 50) - to_chat(user, "\The [H] is too big to fit inside!") + to_chat(user, span_warning("\The [H] is too big to fit inside!")) return user.drop_from_inventory(H) H.forceMove(src) trapped = H - to_chat(user, "You trap \the [H] inside the glass roulette ball.") - to_chat(H.held_mob, "\The [user] traps you inside a glass roulette ball!") + to_chat(user, span_notice("You trap \the [H] inside the glass roulette ball.")) + to_chat(H.held_mob, span_warning("\The [user] traps you inside a glass roulette ball!")) update_icon() /obj/item/roulette_ball/hollow/update_icon() @@ -248,13 +248,13 @@ /obj/item/roulette_ball/hollow/attack_self(mob/user as mob) if(!trapped) - to_chat(user, "\The [src] is empty!") + to_chat(user, span_notice("\The [src] is empty!")) return else user.put_in_hands(trapped) if(trapped.held_mob) - to_chat(user, "You take \the [trapped] out of the glass roulette ball.") - to_chat(trapped.held_mob, "\The [user] takes you out of a glass roulette ball.") + to_chat(user, span_notice("You take \the [trapped] out of the glass roulette ball.")) + to_chat(trapped.held_mob, span_notice("\The [user] takes you out of a glass roulette ball.")) trapped = null update_icon() @@ -264,7 +264,7 @@ /obj/item/roulette_ball/hollow/on_spin() if(trapped && trapped.held_mob) - to_chat(trapped.held_mob, "THE WHOLE WORLD IS SENT WHIRLING AS THE ROULETTE SPINS!!!") + to_chat(trapped.held_mob, span_critical("THE WHOLE WORLD IS SENT WHIRLING AS THE ROULETTE SPINS!!!")) /obj/item/roulette_ball/hollow/Destroy() if(trapped) @@ -377,7 +377,7 @@ /obj/machinery/wheel_of_fortune/attack_hand(mob/user as mob) if (busy) - to_chat(user,"The wheel of fortune is already spinning! ") + to_chat(user,span_notice("The wheel of fortune is already spinning!")) return if(usr.incapacitated()) @@ -388,82 +388,82 @@ return if("Spin the Wheel! (Not Lottery)") if(public_spin == 0) - to_chat(user,"The Wheel makes a sad beep, public spins are not enabled right now.. ") + to_chat(user,span_notice("The Wheel makes a sad beep, public spins are not enabled right now...")) return else - to_chat(user,"You spin the wheel! ") + to_chat(user,span_notice("You spin the wheel!")) spin_the_wheel("not_lottery") if("Set the interval") setinterval() -/obj/machinery/wheel_of_fortune/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/machinery/wheel_of_fortune/attackby(obj/item/W as obj, mob/user as mob) if (busy) - to_chat(user,"The wheel of fortune is already spinning! ") + to_chat(user,span_notice("The wheel of fortune is already spinning!")) return if(usr.incapacitated()) return - if(istype(W, /obj/item/weapon/card/id)||istype(W, /obj/item/device/pda)) + if(istype(W, /obj/item/card/id)||istype(W, /obj/item/pda)) if(!check_access(W)) - to_chat(user, "Access Denied.") + to_chat(user, span_warning("Access Denied.")) return else - to_chat(user, "Proper access, allowed staff controls.") + to_chat(user, span_warning("Proper access, allowed staff controls.")) if(ishuman(usr) || istype(usr, /mob/living/silicon/robot)) switch(input(user,"Choose what to do (Management)","Wheel Of Fortune (Management)") in list("Spin the Lottery Wheel!", "Toggle Lottery Sales", "Toggle Public Spins", "Reset Lottery", "Cancel")) if("Cancel") return if("Spin the Lottery Wheel!") - to_chat(user,"You spin the wheel for the lottery! ") + to_chat(user,span_notice("You spin the wheel for the lottery!")) spin_the_wheel("lottery") if("Toggle Lottery Sales") if(lottery_sale == "disabled") lottery_sale = "enabled" - to_chat(user,"Public Lottery sale has been enabled. ") + to_chat(user,span_notice("Public Lottery sale has been enabled.")) else lottery_sale = "disabled" - to_chat(user,"Public Lottery sale has been disabled. ") + to_chat(user,span_notice("Public Lottery sale has been disabled.")) if("Toggle Public Spins") if(public_spin == 0) public_spin = 1 - to_chat(user,"Public spins has been enabled. ") + to_chat(user,span_notice("Public spins has been enabled.")) else public_spin = 0 - to_chat(user,"Public spins has been disabled. ") + to_chat(user,span_notice("Public spins has been disabled.")) if("Reset Lottery") var/confirm = tgui_alert(usr, "Are you sure you want to reset Lottery?", "Confirm Lottery Reset", list("Yes", "No")) if(confirm == "Yes") - to_chat(user, "Lottery has been Reset!") + to_chat(user, span_warning("Lottery has been Reset!")) lottery_entries = 0 lottery_tickets = list() lottery_tickets_ckeys = list() - if(istype(W, /obj/item/weapon/spacecasinocash)) + if(istype(W, /obj/item/spacecasinocash)) if(lottery_sale == "disabled") - to_chat(user, "Lottery sales are currently disabled.") + to_chat(user, span_warning("Lottery sales are currently disabled.")) return else if(user.client.ckey in lottery_tickets_ckeys) - to_chat(user, "The scanner beeps in an upset manner, you already have a ticket!") + to_chat(user, span_warning("The scanner beeps in an upset manner, you already have a ticket!")) return - var/obj/item/weapon/spacecasinocash/C = W + var/obj/item/spacecasinocash/C = W insert_chip(C, user) -/obj/machinery/wheel_of_fortune/proc/insert_chip(var/obj/item/weapon/spacecasinocash/cashmoney, mob/user) +/obj/machinery/wheel_of_fortune/proc/insert_chip(var/obj/item/spacecasinocash/cashmoney, mob/user) if (busy) - to_chat(user,"The Wheel of Fortune is busy, wait for it to be done to buy a lottery ticket. ") + to_chat(user,span_notice("The Wheel of Fortune is busy, wait for it to be done to buy a lottery ticket.")) return if(cashmoney.worth < lottery_price) - to_chat(user,"You dont have enough chips to buy a lottery ticket! ") + to_chat(user,span_notice("You dont have enough chips to buy a lottery ticket!")) return - to_chat(user,"You put [lottery_price] credits worth of chips into the Wheel of Fortune and it pings to notify of your lottery ticket registered!") + to_chat(user,span_notice("You put [lottery_price] credits worth of chips into the Wheel of Fortune and it pings to notify of your lottery ticket registered!")) cashmoney.worth -= lottery_price cashmoney.update_icon() @@ -485,7 +485,7 @@ result = rand(1,interval) spawn(5 SECONDS) - visible_message("The wheel of fortune stops spinning, the number is [result]!") + visible_message(span_notice("The wheel of fortune stops spinning, the number is [result]!")) src.confetti_spread = new /datum/effect/effect/system/confetti_spread() src.confetti_spread.attach(src) //If somehow people start dragging slot machine spawn(0) @@ -499,7 +499,7 @@ if(mode == "lottery") if(lottery_entries == 0) - visible_message("There are no tickets in the system!") + visible_message(span_notice("There are no tickets in the system!")) return busy = 1 @@ -507,7 +507,7 @@ result = pick(lottery_tickets) spawn(5 SECONDS) - visible_message("The wheel of fortune stops spinning, and the winner is [result]!") + visible_message(span_notice("The wheel of fortune stops spinning, and the winner is [result]!")) src.confetti_spread = new /datum/effect/effect/system/confetti_spread() src.confetti_spread.attach(src) //If somehow people start dragging slot machine spawn(0) @@ -556,7 +556,7 @@ if(usr.incapacitated()) return if(casinosentientprize_sale == "disabled") - to_chat(user,"The SPASM is disabled. ") + to_chat(user,span_notice("The SPASM is disabled.")) return if(ishuman(usr) || istype(usr, /mob/living/silicon/robot)) @@ -569,34 +569,35 @@ collar_list -= selected_collar sentientprizes_ckeys_list -= selected_collar.sentientprizeckey selected_collar = null - to_chat(user, "No collar is currently selected or the currently selected one has been destroyed or disabled.") + to_chat(user, span_warning("No collar is currently selected or the currently selected one has been destroyed or disabled.")) return - to_chat(user, "Sentient Prize information") - to_chat(user, "Name: [selected_collar.sentientprizename]") - to_chat(user, "Description: [selected_collar.sentientprizeflavor]") - to_chat(user, "OOC: [selected_collar.sentientprizeooc]") + to_chat(user, span_warning("Sentient Prize information")) + to_chat(user, span_notice("Name: [selected_collar.sentientprizename]")) + to_chat(user, span_notice("Description: [selected_collar.sentientprizeflavor]")) + to_chat(user, span_notice("OOC: [selected_collar.sentientprizeooc]")) if(selected_collar.ownername != null) - to_chat(user, "This prize is already owned by [selected_collar.ownername]") + to_chat(user, span_warning("This prize is already owned by [selected_collar.ownername]")) if("Select Prize") selected_collar = tgui_input_list(user, "Select a prize", "Chose a collar", collar_list) if(QDELETED(selected_collar)) collar_list -= selected_collar sentientprizes_ckeys_list -= selected_collar.sentientprizeckey - to_chat(user, "No collars to chose, or selected collar has been destroyed or deactived, selection has been removed from list.") + to_chat(user, span_warning("No collars to chose, or selected collar has been destroyed or deactived, selection has been removed from list.")) selected_collar = null return if("Become Prize (Please examine yourself first)") //Its awkward, but no easy way to obtain flavor_text due to server not loading text of mob until its been examined at least once. var/safety_ckey = user.client.ckey if(safety_ckey in sentientprizes_ckeys_list) - to_chat(user, "The SPASM beeps in an upset manner, you already have a collar!") + to_chat(user, span_warning("The SPASM beeps in an upset manner, you already have a collar!")) return var/confirm = tgui_alert(usr, "Are you sure you want to become a sentient prize?", "Confirm Sentient Prize", list("Yes", "No")) - if(confirm == "Yes") - to_chat(user, "You are now a prize!") + if(confirm != "Yes") + return + to_chat(user, span_warning("You are now a prize!")) if(safety_ckey in sentientprizes_ckeys_list) - to_chat(user, "The SPASM beeps in an upset manner, you already have a collar!") + to_chat(user, span_warning("The SPASM beeps in an upset manner, you already have a collar!")) return sentientprizes_ckeys_list += user.ckey var/obj/item/clothing/accessory/collar/casinosentientprize/C = new(src.loc) @@ -612,19 +613,19 @@ spawn_casinochips(casinosentientprize_price, src.loc) -/obj/machinery/casinosentientprize_handler/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/machinery/casinosentientprize_handler/attackby(obj/item/W as obj, mob/user as mob) if(usr.incapacitated()) return - if(istype(W, /obj/item/weapon/spacecasinocash)) + if(istype(W, /obj/item/spacecasinocash)) if(casinosentientprize_sale == "disabled") - to_chat(user, "Sentient Prize sales are currently disabled.") + to_chat(user, span_warning("Sentient Prize sales are currently disabled.")) return if(!selected_collar) - to_chat(user, "Select a prize first.") + to_chat(user, span_warning("Select a prize first.")) return if(!selected_collar.ownername) - var/obj/item/weapon/spacecasinocash/C = W + var/obj/item/spacecasinocash/C = W if(user.client.ckey == selected_collar.sentientprizeckey) insert_chip(C, user, "selfbuy") return @@ -632,25 +633,25 @@ insert_chip(C, user, "buy") return else - to_chat(user, "This Sentient Prize is already owned! If you are the owner you can release the prize by swiping the collar on the SPASM!") + to_chat(user, span_warning("This Sentient Prize is already owned! If you are the owner you can release the prize by swiping the collar on the SPASM!")) return if(istype(W, /obj/item/clothing/accessory/collar/casinosentientprize)) var/obj/item/clothing/accessory/collar/casinosentientprize/C = W if(user.name != C.sentientprizename && user.name != C.ownername) - to_chat(user, "This Sentient Prize collar isn't yours, please give it to the one it tagged for, belongs to, or a casino staff member!") + to_chat(user, span_warning("This Sentient Prize collar isn't yours, please give it to the one it tagged for, belongs to, or a casino staff member!")) return if(user.name == C.sentientprizename) if(!C.ownername) - to_chat(user,"If collar isn't disabled and entry removed, please select your entry and insert chips. Or contact staff if you need assistance. ") + to_chat(user,span_notice("If collar isn't disabled and entry removed, please select your entry and insert chips. Or contact staff if you need assistance.")) return else - to_chat(user,"If collar isn't disabled and entry removed, please ask your owner to free you with collar swipe on the SPASM, or contact staff if you need assistance. ") + to_chat(user,span_notice("If collar isn't disabled and entry removed, please ask your owner to free you with collar swipe on the SPASM, or contact staff if you need assistance.")) return if(user.name == C.ownername) var/confirm = tgui_alert(usr, "Are you sure you want to wipe [C.sentientprizename] entry?", "Confirm Sentient Prize Release", list("Yes", "No")) if(confirm == "Yes") - to_chat(user, "[C.sentientprizename] collar has been deleted from registry!") + to_chat(user, span_warning("[C.sentientprizename] collar has been deleted from registry!")) C.icon_state = "casinoslave" C.update_icon() C.name = "disabled Sentient Prize Collar: [C.sentientprizename]" @@ -659,12 +660,12 @@ C.sentientprizeckey = null collar_list -= C - if(istype(W, /obj/item/weapon/card/id)||istype(W, /obj/item/device/pda)) + if(istype(W, /obj/item/card/id)||istype(W, /obj/item/pda)) if(!check_access(W)) - to_chat(user, "Access Denied.") + to_chat(user, span_warning("Access Denied.")) return else - to_chat(user, "Proper access, allowed staff controls.") + to_chat(user, span_warning("Proper access, allowed staff controls.")) if(ishuman(usr) || istype(usr, /mob/living/silicon/robot)) switch(input(user,"Choose what to do (Management)","SPASM (Management)") in list("Toggle Sentient Prize Sales", "Wipe Selected Prize Entry", "Change Prize Value", "Cancel")) if("Cancel") @@ -675,28 +676,28 @@ casinosentientprize_sale = "enabled" icon_state = "casinoslave_hub_on" update_icon() - to_chat(user,"Prize sale has been enabled. ") + to_chat(user,span_notice("Prize sale has been enabled.")) else casinosentientprize_sale = "disabled" icon_state = "casinoslave_hub_off" update_icon() - to_chat(user,"Prize sale has been disabled. ") + to_chat(user,span_notice("Prize sale has been disabled.")) if("Wipe Selected Prize Entry") if(!selected_collar) - to_chat(user, "No collar selected!") + to_chat(user, span_warning("No collar selected!")) return if(QDELETED(selected_collar)) collar_list -= selected_collar sentientprizes_ckeys_list -= selected_collar.sentientprizeckey - to_chat(user, "Collar has been destroyed!") + to_chat(user, span_warning("Collar has been destroyed!")) selected_collar = null return var/safety_ckey = selected_collar.sentientprizeckey var/confirm = tgui_alert(usr, "Are you sure you want to wipe [selected_collar.sentientprizename] entry?", "Confirm Sentient Prize", list("Yes", "No")) if(confirm == "Yes") if(safety_ckey == selected_collar.sentientprizeckey) - to_chat(user, "[selected_collar.sentientprizename] collar has been deleted from registry!") + to_chat(user, span_warning("[selected_collar.sentientprizename] collar has been deleted from registry!")) selected_collar.icon_state = "casinoslave" selected_collar.update_icon() selected_collar.name = "disabled Sentient Prize Collar: [selected_collar.sentientprizename]" @@ -706,15 +707,15 @@ collar_list -= selected_collar selected_collar = null else - to_chat(user, "Registry deletion aborted! Changed collar selection!") + to_chat(user, span_warning("Registry deletion aborted! Changed collar selection!")) return if("Change Prize Value") setprice(user) -/obj/machinery/casinosentientprize_handler/proc/insert_chip(var/obj/item/weapon/spacecasinocash/cashmoney, mob/user, var/buystate) +/obj/machinery/casinosentientprize_handler/proc/insert_chip(var/obj/item/spacecasinocash/cashmoney, mob/user, var/buystate) if(cashmoney.worth < casinosentientprize_price) - to_chat(user,"You dont have enough chips to pay for the sentient prize! ") + to_chat(user,span_notice("You dont have enough chips to pay for the sentient prize!")) return cashmoney.worth -= casinosentientprize_price @@ -726,7 +727,7 @@ cashmoney.update_icon() if(buystate == "selfbuy") - to_chat(user,"You put [casinosentientprize_price] credits worth of chips into the SPASM and nullify your collar! ") + to_chat(user,span_notice("You put [casinosentientprize_price] credits worth of chips into the SPASM and nullify your collar!")) selected_collar.icon_state = "casinoslave" selected_collar.update_icon() selected_collar.name = "disabled Sentient Prize Collar: [selected_collar.sentientprizename]" @@ -737,7 +738,7 @@ selected_collar = null if(buystate == "buy") - to_chat(user,"You put [casinosentientprize_price] credits worth of chips into the SPASM and it pings to inform you bought [selected_collar.sentientprizename]! ") + to_chat(user,span_notice("You put [casinosentientprize_price] credits worth of chips into the SPASM and it pings to inform you bought [selected_collar.sentientprizename]!")) selected_collar.icon_state = "casinoslave_owned" selected_collar.update_icon() selected_collar.ownername = user.name @@ -751,6 +752,6 @@ if(ishuman(usr) || istype(usr, /mob/living/silicon/robot)) casinosentientprize_price = tgui_input_number(usr, "Select the desired price (1-1000)", "Set Price", null, null, 1000, 1) if(casinosentientprize_price>1000 || casinosentientprize_price<1) - to_chat(user,"Invalid price. ") + to_chat(user,span_notice("Invalid price.")) return - to_chat(user,"You set the price to [casinosentientprize_price] ") + to_chat(user,span_notice("You set the price to [casinosentientprize_price]")) diff --git a/code/modules/casino/casino_book.dm b/code/modules/casino/casino_book.dm index 84cd8197eec..7babc27d93b 100644 --- a/code/modules/casino/casino_book.dm +++ b/code/modules/casino/casino_book.dm @@ -5,7 +5,7 @@ // //Casino Manual - NEEDS EDITING // -/obj/item/weapon/book/manual/casino +/obj/item/book/manual/casino name = "A dummy guide to losing your thalers" icon = 'icons/obj/casino.dmi' icon_state ="casinomanual" diff --git a/code/modules/casino/casino_cards.dm b/code/modules/casino/casino_cards.dm index 9df021abbe8..439c6826443 100644 --- a/code/modules/casino/casino_cards.dm +++ b/code/modules/casino/casino_cards.dm @@ -2,7 +2,7 @@ //Original Casino Code created by Shadowfire117#1269 - Ported from CHOMPstation //Modified by GhostActual#2055 for use with VOREstation -/obj/item/weapon/deck/cards/casino/New() +/obj/item/deck/cards/casino/New() var/datum/playingcard/casino/P for(var/suit in list("spades","clubs","diamonds","hearts")) @@ -31,17 +31,17 @@ card_icon = "card_back" back_icon = "card_back" -/obj/item/weapon/deck/casino +/obj/item/deck/casino w_class = ITEMSIZE_SMALL icon = 'icons/obj/playing_cards.dmi' -/obj/item/weapon/deck/holder/casino //WIP In future do a cool holder +/obj/item/deck/holder/casino //WIP In future do a cool holder name = "card box" desc = "A small leather case to show how classy you are compared to everyone else." icon = 'icons/obj/playing_cards.dmi' icon_state = "card_holder" -/obj/item/weapon/deck/cards/casino +/obj/item/deck/cards/casino name = "deck of casino cards" desc = "A deck of playing cards from the golden goose casino, comes without a joker card!" icon = 'icons/obj/playing_cards.dmi' diff --git a/code/modules/casino/casino_prize_vendor.dm b/code/modules/casino/casino_prize_vendor.dm index 10b9437d1ad..bf4acaa1f02 100644 --- a/code/modules/casino/casino_prize_vendor.dm +++ b/code/modules/casino/casino_prize_vendor.dm @@ -62,21 +62,21 @@ item_list = list() item_list["Weapons"] = list( - CASINO_PRIZE("Scepter", /obj/item/weapon/scepter, 1, 2500, "weapons"), - CASINO_PRIZE("Rapier", /obj/item/weapon/melee/rapier, 1, 3000, "weapons"), - CASINO_PRIZE("Chain of Command", /obj/item/weapon/melee/chainofcommand, 1, 1250, "weapons"), - CASINO_PRIZE("Golden Bat", /obj/item/weapon/material/twohanded/baseballbat/gold, 1, 1000, "weapons"), - CASINO_PRIZE("Size Gun", /obj/item/weapon/gun/energy/sizegun, 1, 1500, "weapons"), - CASINO_PRIZE("Gradual Size Gun", /obj/item/device/slow_sizegun, 1, 1500, "weapons"), - CASINO_PRIZE("Metamorphosis Ray", /obj/item/weapon/gun/energy/mouseray/metamorphosis, 1, 6000, "weapons"), - CASINO_PRIZE("Net Gun", /obj/item/weapon/gun/energy/netgun, 1, 3000, "weapons"), + CASINO_PRIZE("Scepter", /obj/item/scepter, 1, 2500, "weapons"), + CASINO_PRIZE("Rapier", /obj/item/melee/rapier, 1, 3000, "weapons"), + CASINO_PRIZE("Chain of Command", /obj/item/melee/chainofcommand, 1, 1250, "weapons"), + CASINO_PRIZE("Golden Bat", /obj/item/material/twohanded/baseballbat/gold, 1, 1000, "weapons"), + CASINO_PRIZE("Size Gun", /obj/item/gun/energy/sizegun, 1, 1500, "weapons"), + CASINO_PRIZE("Gradual Size Gun", /obj/item/slow_sizegun, 1, 1500, "weapons"), + CASINO_PRIZE("Metamorphosis Ray", /obj/item/gun/energy/mouseray/metamorphosis, 1, 6000, "weapons"), + CASINO_PRIZE("Net Gun", /obj/item/gun/energy/netgun, 1, 3000, "weapons"), ) item_list["Gear"] = list( - CASINO_PRIZE("Experimental Welder", /obj/item/weapon/weldingtool/experimental, 1, 500, "gear"), - CASINO_PRIZE("Chemsprayer", /obj/item/weapon/reagent_containers/spray/chemsprayer, 1, 1250, "gear"), - CASINO_PRIZE("Bluespace Beaker", /obj/item/weapon/reagent_containers/glass/beaker/bluespace, 1, 1000, "gear"), - CASINO_PRIZE("Cryo Beaker", /obj/item/weapon/reagent_containers/glass/beaker/noreact, 1, 1000, "gear"), - CASINO_PRIZE("Golden Pickaxe", /obj/item/weapon/pickaxe/gold, 1, 1000, "gear"), + CASINO_PRIZE("Experimental Welder", /obj/item/weldingtool/experimental, 1, 500, "gear"), + CASINO_PRIZE("Chemsprayer", /obj/item/reagent_containers/spray/chemsprayer, 1, 1250, "gear"), + CASINO_PRIZE("Bluespace Beaker", /obj/item/reagent_containers/glass/beaker/bluespace, 1, 1000, "gear"), + CASINO_PRIZE("Cryo Beaker", /obj/item/reagent_containers/glass/beaker/noreact, 1, 1000, "gear"), + CASINO_PRIZE("Golden Pickaxe", /obj/item/pickaxe/gold, 1, 1000, "gear"), ) item_list["Clothing"] = list( CASINO_PRIZE("Shark mask", /obj/item/clothing/mask/shark, 1, 250, "clothing"), @@ -91,49 +91,49 @@ CASINO_PRIZE("Chameleon tie", /obj/item/clothing/accessory/chameleon, 1, 750, "clothing"), CASINO_PRIZE("Ian costume", /obj/item/clothing/suit/storage/hooded/costume/ian, 1, 250, "clothing"), CASINO_PRIZE("Carp costume", /obj/item/clothing/suit/storage/hooded/costume/carp, 1, 250, "clothing"), - CASINO_PRIZE("Plague doctor costume", /obj/item/weapon/storage/box/casino/costume_plaguedoctor, 1, 500, "clothing"), - CASINO_PRIZE("Wizard costume", /obj/item/weapon/storage/box/casino/costume_wizard, 1, 500, "clothing"), - CASINO_PRIZE("Pirate costume", /obj/item/weapon/storage/box/casino/costume_pirate, 1, 500, "clothing"), - CASINO_PRIZE("Commie costume", /obj/item/weapon/storage/box/casino/costume_commie, 1, 500, "clothing"), - CASINO_PRIZE("Marine costume", /obj/item/weapon/storage/box/casino/costume_marine, 1, 500, "clothing"), - CASINO_PRIZE("Cowboy costume", /obj/item/weapon/storage/box/casino/costume_cowboy, 1, 500, "clothing"), + CASINO_PRIZE("Plague doctor costume", /obj/item/storage/box/casino/costume_plaguedoctor, 1, 500, "clothing"), + CASINO_PRIZE("Wizard costume", /obj/item/storage/box/casino/costume_wizard, 1, 500, "clothing"), + CASINO_PRIZE("Pirate costume", /obj/item/storage/box/casino/costume_pirate, 1, 500, "clothing"), + CASINO_PRIZE("Commie costume", /obj/item/storage/box/casino/costume_commie, 1, 500, "clothing"), + CASINO_PRIZE("Marine costume", /obj/item/storage/box/casino/costume_marine, 1, 500, "clothing"), + CASINO_PRIZE("Cowboy costume", /obj/item/storage/box/casino/costume_cowboy, 1, 500, "clothing"), CASINO_PRIZE("Golden Collar", /obj/item/clothing/accessory/collar/gold, 1, 250, "clothing"), CASINO_PRIZE("Decorative Casino Sentient Prize Collar", /obj/item/clothing/accessory/collar/casinosentientprize_fake, 1, 100, "clothing"), CASINO_PRIZE("Bluespace Collar", /obj/item/clothing/accessory/collar/shock/bluespace, 1, 1000, "clothing"), ) item_list["Donk Soft"] = list( - CASINO_PRIZE("Donk-Soft shotgun", /obj/item/weapon/gun/projectile/shotgun/pump/toy, 1, 1000, "misc"), - CASINO_PRIZE("Donk-Soft mosin-nagant", /obj/item/weapon/gun/projectile/shotgun/pump/toy/moistnugget, 1, 1000, "misc"), - CASINO_PRIZE("Donk-Soft pistol", /obj/item/weapon/gun/projectile/pistol/toy, 1, 800, "misc"), - CASINO_PRIZE("Donk-Soft levergun", /obj/item/weapon/gun/projectile/shotgun/pump/toy/levergun, 1, 1000, "misc"), - CASINO_PRIZE("Donk-Soft commemorative pistol", /obj/item/weapon/gun/projectile/pistol/toy/n99, 1, 750, "misc"), - CASINO_PRIZE("Donk-Soft revolver", /obj/item/weapon/gun/projectile/revolver/toy, 1, 750, "misc"), - CASINO_PRIZE("Donk-Soft big-iron", /obj/item/weapon/gun/projectile/revolver/toy/big_iron, 1, 750, "misc"), - CASINO_PRIZE("Donk-Soft crossbow", /obj/item/weapon/gun/projectile/revolver/toy/crossbow, 1, 600, "misc"), - CASINO_PRIZE("Donk-Soft sawn off shotgun", /obj/item/weapon/gun/projectile/revolver/toy/sawnoff, 1, 800, "misc"), - CASINO_PRIZE("Donk-Soft SMG", /obj/item/weapon/gun/projectile/automatic/toy, 1, 1200, "misc"), + CASINO_PRIZE("Donk-Soft shotgun", /obj/item/gun/projectile/shotgun/pump/toy, 1, 1000, "misc"), + CASINO_PRIZE("Donk-Soft mosin-nagant", /obj/item/gun/projectile/shotgun/pump/toy/moistnugget, 1, 1000, "misc"), + CASINO_PRIZE("Donk-Soft pistol", /obj/item/gun/projectile/pistol/toy, 1, 800, "misc"), + CASINO_PRIZE("Donk-Soft levergun", /obj/item/gun/projectile/shotgun/pump/toy/levergun, 1, 1000, "misc"), + CASINO_PRIZE("Donk-Soft commemorative pistol", /obj/item/gun/projectile/pistol/toy/n99, 1, 750, "misc"), + CASINO_PRIZE("Donk-Soft revolver", /obj/item/gun/projectile/revolver/toy, 1, 750, "misc"), + CASINO_PRIZE("Donk-Soft big-iron", /obj/item/gun/projectile/revolver/toy/big_iron, 1, 750, "misc"), + CASINO_PRIZE("Donk-Soft crossbow", /obj/item/gun/projectile/revolver/toy/crossbow, 1, 600, "misc"), + CASINO_PRIZE("Donk-Soft sawn off shotgun", /obj/item/gun/projectile/revolver/toy/sawnoff, 1, 800, "misc"), + CASINO_PRIZE("Donk-Soft SMG", /obj/item/gun/projectile/automatic/toy, 1, 1200, "misc"), CASINO_PRIZE("Foam Darts", /obj/item/ammo_magazine/ammo_box/foam, 1, 100, "misc"), CASINO_PRIZE("Riot Darts", /obj/item/ammo_magazine/ammo_box/foam/riot, 1, 200, "misc"), ) item_list["Miscellaneous"] = list( CASINO_PRIZE("Winner's Medal", /obj/item/clothing/accessory/medal/gold/casino, 1, 30000, "misc"), - CASINO_PRIZE("Golden ID card", /obj/item/weapon/card/id/gold, 1, 1000, "misc"), - CASINO_PRIZE("Gold-trimmed pen", /obj/item/weapon/pen/fountain5, 1, 50, "misc"), - CASINO_PRIZE("Golden pen", /obj/item/weapon/pen/fountain7, 1, 350, "misc"), + CASINO_PRIZE("Golden ID card", /obj/item/card/id/gold, 1, 1000, "misc"), + CASINO_PRIZE("Gold-trimmed pen", /obj/item/pen/fountain5, 1, 50, "misc"), + CASINO_PRIZE("Golden pen", /obj/item/pen/fountain7, 1, 350, "misc"), CASINO_PRIZE("Toy sword", /obj/item/toy/sword, 1, 200, "misc"), - CASINO_PRIZE("Waterflower", /obj/item/weapon/reagent_containers/spray/waterflower, 1, 100, "misc"), + CASINO_PRIZE("Waterflower", /obj/item/reagent_containers/spray/waterflower, 1, 100, "misc"), CASINO_PRIZE("Horse stick", /obj/item/toy/stickhorse, 1, 100, "misc"), CASINO_PRIZE("Toy katana", /obj/item/toy/katana, 1, 200, "misc"), CASINO_PRIZE("Magic conch", /obj/item/toy/eight_ball/conch, 1, 100, "misc"), CASINO_PRIZE("Magic eight ball", /obj/item/toy/eight_ball, 1, 100, "misc"), - CASINO_PRIZE("Foam sword", /obj/item/weapon/material/sword/foam, 1, 200, "misc"), + CASINO_PRIZE("Foam sword", /obj/item/material/sword/foam, 1, 200, "misc"), CASINO_PRIZE("Whistle", /obj/item/toy/bosunwhistle, 1, 100, "misc"), - CASINO_PRIZE("Golden cup", /obj/item/weapon/reagent_containers/food/drinks/golden_cup, 1, 250, "misc"), - CASINO_PRIZE("Quality cigars", /obj/item/weapon/storage/fancy/cigar/havana, 1, 100, "misc"), - CASINO_PRIZE("Golden zippo lighter", /obj/item/weapon/flame/lighter/zippo/gold, 1, 100, "misc"), - CASINO_PRIZE("Candelabra", /obj/item/weapon/flame/candle/candelabra/everburn, 1, 400, "misc"), - CASINO_PRIZE("Casino wallet", /obj/item/weapon/storage/wallet/casino, 1, 200, "misc"), - CASINO_PRIZE("Casino cards", /obj/item/weapon/deck/cards/casino, 1, 200, "misc"), + CASINO_PRIZE("Golden cup", /obj/item/reagent_containers/food/drinks/golden_cup, 1, 250, "misc"), + CASINO_PRIZE("Quality cigars", /obj/item/storage/fancy/cigar/havana, 1, 100, "misc"), + CASINO_PRIZE("Golden zippo lighter", /obj/item/flame/lighter/zippo/gold, 1, 100, "misc"), + CASINO_PRIZE("Candelabra", /obj/item/flame/candle/candelabra/everburn, 1, 400, "misc"), + CASINO_PRIZE("Casino wallet", /obj/item/storage/wallet/casino, 1, 200, "misc"), + CASINO_PRIZE("Casino cards", /obj/item/deck/cards/casino, 1, 200, "misc"), CASINO_PRIZE("Instrument: Accordion", /obj/item/instrument/accordion, 1, 500, "misc"), CASINO_PRIZE("Instrument: Banjo", /obj/item/instrument/banjo, 1, 500, "misc"), CASINO_PRIZE("Instrument: Musical bikehorn", /obj/item/instrument/bikehorn, 1, 500, "misc"), @@ -155,27 +155,27 @@ CASINO_PRIZE("Instrument: Musical Moth (you monster)", /obj/item/instrument/musicalmoth, 1, 500, "misc"), ) item_list["Drinks"] = list( - CASINO_PRIZE("Redeemer's brew", /obj/item/weapon/reagent_containers/food/drinks/bottle/redeemersbrew, 1, 150, "drinks"), - CASINO_PRIZE("Poison wine", /obj/item/weapon/reagent_containers/food/drinks/bottle/pwine, 1, 150, "drinks"), - CASINO_PRIZE("Patron", /obj/item/weapon/reagent_containers/food/drinks/bottle/patron, 1, 150, "drinks"), - CASINO_PRIZE("Holy water", /obj/item/weapon/reagent_containers/food/drinks/bottle/holywater, 1, 150, "drinks"), - CASINO_PRIZE("Goldschlager", /obj/item/weapon/reagent_containers/food/drinks/bottle/goldschlager, 1, 150, "drinks"), - CASINO_PRIZE("Champagne", /obj/item/weapon/reagent_containers/food/drinks/bottle/champagne, 1, 150, "drinks"), - CASINO_PRIZE("Bottle of Nothing", /obj/item/weapon/reagent_containers/food/drinks/bottle/bottleofnothing, 1, 150, "drinks"), - CASINO_PRIZE("Whiskey bliss", /obj/item/weapon/reagent_containers/food/drinks/bottle/specialwhiskey, 1, 150, "drinks"), + CASINO_PRIZE("Redeemer's brew", /obj/item/reagent_containers/food/drinks/bottle/redeemersbrew, 1, 150, "drinks"), + CASINO_PRIZE("Poison wine", /obj/item/reagent_containers/food/drinks/bottle/pwine, 1, 150, "drinks"), + CASINO_PRIZE("Patron", /obj/item/reagent_containers/food/drinks/bottle/patron, 1, 150, "drinks"), + CASINO_PRIZE("Holy water", /obj/item/reagent_containers/food/drinks/bottle/holywater, 1, 150, "drinks"), + CASINO_PRIZE("Goldschlager", /obj/item/reagent_containers/food/drinks/bottle/goldschlager, 1, 150, "drinks"), + CASINO_PRIZE("Champagne", /obj/item/reagent_containers/food/drinks/bottle/champagne, 1, 150, "drinks"), + CASINO_PRIZE("Bottle of Nothing", /obj/item/reagent_containers/food/drinks/bottle/bottleofnothing, 1, 150, "drinks"), + CASINO_PRIZE("Whiskey bliss", /obj/item/reagent_containers/food/drinks/bottle/specialwhiskey, 1, 150, "drinks"), ) item_list["Pets"] = list( - CASINO_PRIZE("Cat", /obj/item/weapon/grenade/spawnergrenade/casino, 1, 700, "pets"), - CASINO_PRIZE("Chicken", /obj/item/weapon/grenade/spawnergrenade/casino/chicken, 1, 700, "pets"), - CASINO_PRIZE("Cow", /obj/item/weapon/grenade/spawnergrenade/casino/cow, 1, 700, "pets"), - CASINO_PRIZE("Corgi", /obj/item/weapon/grenade/spawnergrenade/casino/corgi, 1, 900, "pets"), - CASINO_PRIZE("Fox", /obj/item/weapon/grenade/spawnergrenade/casino/fox, 1, 700, "pets"), - CASINO_PRIZE("Red panda", /obj/item/weapon/grenade/spawnergrenade/casino/redpanda, 1, 1200, "pets"), - CASINO_PRIZE("Otie", /obj/item/weapon/grenade/spawnergrenade/casino/otie, 1, 1500, "pets"), - CASINO_PRIZE("Snake", /obj/item/weapon/grenade/spawnergrenade/casino/snake, 1, 900, "pets"), - CASINO_PRIZE("Penguin", /obj/item/weapon/grenade/spawnergrenade/casino/penguin, 1, 900, "pets"), - CASINO_PRIZE("Fennec", /obj/item/weapon/grenade/spawnergrenade/casino/fennec, 1, 1200, "pets"), - CASINO_PRIZE("Bird", /obj/item/weapon/grenade/spawnergrenade/casino/goldcrest, 1, 1500, "pets"), + CASINO_PRIZE("Cat", /obj/item/grenade/spawnergrenade/casino, 1, 700, "pets"), + CASINO_PRIZE("Chicken", /obj/item/grenade/spawnergrenade/casino/chicken, 1, 700, "pets"), + CASINO_PRIZE("Cow", /obj/item/grenade/spawnergrenade/casino/cow, 1, 700, "pets"), + CASINO_PRIZE("Corgi", /obj/item/grenade/spawnergrenade/casino/corgi, 1, 900, "pets"), + CASINO_PRIZE("Fox", /obj/item/grenade/spawnergrenade/casino/fox, 1, 700, "pets"), + CASINO_PRIZE("Red panda", /obj/item/grenade/spawnergrenade/casino/redpanda, 1, 1200, "pets"), + CASINO_PRIZE("Otie", /obj/item/grenade/spawnergrenade/casino/otie, 1, 1500, "pets"), + CASINO_PRIZE("Snake", /obj/item/grenade/spawnergrenade/casino/snake, 1, 900, "pets"), + CASINO_PRIZE("Penguin", /obj/item/grenade/spawnergrenade/casino/penguin, 1, 900, "pets"), + CASINO_PRIZE("Fennec", /obj/item/grenade/spawnergrenade/casino/fennec, 1, 1200, "pets"), + CASINO_PRIZE("Bird", /obj/item/grenade/spawnergrenade/casino/goldcrest, 1, 1500, "pets"), CASINO_PRIZE("Capture Crystal", /obj/item/capture_crystal, 1, 3000, "pets"), ) @@ -195,31 +195,31 @@ return tgui_interact(user) -/obj/machinery/casino_prize_dispenser/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/machinery/casino_prize_dispenser/attackby(obj/item/W as obj, mob/user as mob) if(currently_vending) - if(istype(W, /obj/item/weapon/spacecasinocash)) - to_chat(usr, "Please select prize on display with sufficient amount of chips.") + if(istype(W, /obj/item/spacecasinocash)) + to_chat(user, span_warning("Please select prize on display with sufficient amount of chips.")) else SStgui.update_uis(src) return // don't smack that machine with your 2 chips - if(istype(W, /obj/item/weapon/spacecasinocash)) + if(istype(W, /obj/item/spacecasinocash)) attack_hand(user) return ..() -/obj/machinery/casino_prize_dispenser/proc/pay_with_chips(var/obj/item/weapon/spacecasinocash/cashmoney, mob/user, var/price) +/obj/machinery/casino_prize_dispenser/proc/pay_with_chips(var/obj/item/spacecasinocash/cashmoney, mob/user, var/price) //"cashmoney_:[cashmoney] user:[user] currently_vending:[currently_vending]" if(price > cashmoney.worth) - to_chat(usr, "[icon2html(cashmoney, user.client)] That is not enough chips.") + to_chat(user, "[icon2html(cashmoney, user.client)] " + span_warning("That is not enough chips.")) return 0 - if(istype(cashmoney, /obj/item/weapon/spacecasinocash)) - visible_message("\The [usr] inserts some chips into \the [src].") + if(istype(cashmoney, /obj/item/spacecasinocash)) + visible_message(span_info("\The [user] inserts some chips into \the [src].")) cashmoney.worth -= price if(cashmoney.worth <= 0) - usr.drop_from_inventory(cashmoney) + user.drop_from_inventory(cashmoney) qdel(cashmoney) else cashmoney.update_icon() @@ -249,10 +249,10 @@ ui = new(user, src, "CasinoPrizeDispenser", name) ui.open() -/obj/machinery/casino_prize_dispenser/tgui_act(action, params) +/obj/machinery/casino_prize_dispenser/tgui_act(action, params, datum/tgui/ui) if(stat & (BROKEN|NOPOWER)) return - if(usr.stat || usr.restrained()) + if(ui.user.stat || ui.user.restrained()) return if(..()) return TRUE @@ -283,36 +283,36 @@ if("event") restriction_check = category_event else - to_chat(usr, "Prize checkout error has occurred, purchase cancelled.") + to_chat(ui.user, span_warning("Prize checkout error has occurred, purchase cancelled.")) return FALSE if(restriction_check < 1) - to_chat(usr, "[name] is restricted, this prize can't be bought.") + to_chat(ui.user, span_warning("[name] is restricted, this prize can't be bought.")) return FALSE if(restriction_check > 1) item_given = TRUE if(price <= 0 && item_given == TRUE) - vend(bi, usr) + vend(bi, ui.user) return TRUE currently_vending = bi - if(istype(usr.get_active_hand(), /obj/item/weapon/spacecasinocash)) - var/obj/item/weapon/spacecasinocash/cash = usr.get_active_hand() - paid = pay_with_chips(cash, usr, price) + if(istype(ui.user.get_active_hand(), /obj/item/spacecasinocash)) + var/obj/item/spacecasinocash/cash = ui.user.get_active_hand() + paid = pay_with_chips(cash, ui.user, price) else - to_chat(usr, "Payment failure: Improper payment method, please provide chips.") + to_chat(ui.user, span_warning("Payment failure: Improper payment method, please provide chips.")) return TRUE // we set this because they shouldn't even be able to get this far, and we want the UI to update. if(paid) if(item_given == TRUE) - vend(bi, usr) + vend(bi, ui.user) speak("Thank you for your purchase, your [bi] has been logged.") - do_logging(currently_vending, usr, bi) + do_logging(currently_vending, ui.user, bi) . = TRUE else - to_chat(usr, "Payment failure: unable to process payment.") + to_chat(ui.user, span_warning("Payment failure: unable to process payment.")) /obj/machinery/casino_prize_dispenser/proc/vend(datum/data/casino_prize/bi, mob/user) SStgui.update_uis(src) @@ -344,7 +344,7 @@ return for(var/mob/O in hearers(src, null)) - O.show_message("\The [src] beeps, \"[message]\"",2) + O.show_message(span_npc_say(span_name("\The [src]") + " beeps, \"[message]\""),2) return /obj/machinery/casino_prize_dispenser/process() //Might not need this, but just to be safe for now diff --git a/code/modules/casino/headset_casino.dm b/code/modules/casino/headset_casino.dm index fa7f09d401e..6fd4f5b68c7 100644 --- a/code/modules/casino/headset_casino.dm +++ b/code/modules/casino/headset_casino.dm @@ -1,20 +1,24 @@ -/obj/item/device/radio/headset/casino +/obj/item/radio/headset/casino name = "casino headset" desc = "An updated, modular intercom that fits over the head with extra comfortable for the hardworking casino luxury crew. Has encryption key for scamm-... Kind casino staff channel." icon = 'icons/obj/casino.dmi' icon_state = "headset" + adhoc_fallback = TRUE origin_tech = list(TECH_ILLEGAL = 1) - ks1type = /obj/item/device/encryptionkey/casino + ks1type = /obj/item/encryptionkey/casino -/obj/item/device/radio/headset/casino/bowman +/obj/item/radio/headset/alt/casino name = "casino bowman headset" + desc = "An updated, modular intercom that fits over the head with extra comfortable for the hardworking casino luxury crew. Has encryption key for scamm-... Kind casino staff channel." + icon = 'icons/obj/casino.dmi' icon_state = "headset_alt" adhoc_fallback = TRUE origin_tech = list(TECH_ILLEGAL = 2) + ks1type = /obj/item/encryptionkey/casino -/obj/item/device/encryptionkey/casino +/obj/item/encryptionkey/casino icon = 'icons/obj/casino.dmi' icon_state = "cypherkey" - channels = list("Casino" = 1) + channels = list(CHANNEL_CASINO = 1) origin_tech = list(TECH_ILLEGAL = 1) - syndie = 1 \ No newline at end of file + syndie = 1 diff --git a/code/modules/casino/premium_dispenser.dm b/code/modules/casino/premium_dispenser.dm index 91b4833d6ef..bae1835be47 100644 --- a/code/modules/casino/premium_dispenser.dm +++ b/code/modules/casino/premium_dispenser.dm @@ -13,57 +13,57 @@ /obj/machinery/chemical_dispenser/premium/full spawn_cartridges = list( - /obj/item/weapon/reagent_containers/chem_disp_cartridge/lemon_lime, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/sugar, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/orange, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/lime, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/sodawater, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/tonic, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/beer, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/kahlua, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/whiskey, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/redwine, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/whitewine, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/vodka, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/gin, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/rum, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/tequila, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/vermouth, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/cognac, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/cider, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/ale, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/mead, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/water, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/ice, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/coffee, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/cream, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/tea, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/icetea, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/cola, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/smw, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/dr_gibb, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/spaceup, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/tonic, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/sodawater, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/lemon_lime, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/sugar, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/orange, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/lime, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/watermelon, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/lemon, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/coffee, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/cafe_latte, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/soy_latte, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/hot_coco, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/milk, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/cream, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/tea, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/ice, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/mint, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/orange, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/lemon, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/lime, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/berry, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/greentea, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/decaf + /obj/item/reagent_containers/chem_disp_cartridge/lemon_lime, + /obj/item/reagent_containers/chem_disp_cartridge/sugar, + /obj/item/reagent_containers/chem_disp_cartridge/orange, + /obj/item/reagent_containers/chem_disp_cartridge/lime, + /obj/item/reagent_containers/chem_disp_cartridge/sodawater, + /obj/item/reagent_containers/chem_disp_cartridge/tonic, + /obj/item/reagent_containers/chem_disp_cartridge/beer, + /obj/item/reagent_containers/chem_disp_cartridge/kahlua, + /obj/item/reagent_containers/chem_disp_cartridge/whiskey, + /obj/item/reagent_containers/chem_disp_cartridge/redwine, + /obj/item/reagent_containers/chem_disp_cartridge/whitewine, + /obj/item/reagent_containers/chem_disp_cartridge/vodka, + /obj/item/reagent_containers/chem_disp_cartridge/gin, + /obj/item/reagent_containers/chem_disp_cartridge/rum, + /obj/item/reagent_containers/chem_disp_cartridge/tequila, + /obj/item/reagent_containers/chem_disp_cartridge/vermouth, + /obj/item/reagent_containers/chem_disp_cartridge/cognac, + /obj/item/reagent_containers/chem_disp_cartridge/cider, + /obj/item/reagent_containers/chem_disp_cartridge/ale, + /obj/item/reagent_containers/chem_disp_cartridge/mead, + /obj/item/reagent_containers/chem_disp_cartridge/water, + /obj/item/reagent_containers/chem_disp_cartridge/ice, + /obj/item/reagent_containers/chem_disp_cartridge/coffee, + /obj/item/reagent_containers/chem_disp_cartridge/cream, + /obj/item/reagent_containers/chem_disp_cartridge/tea, + /obj/item/reagent_containers/chem_disp_cartridge/icetea, + /obj/item/reagent_containers/chem_disp_cartridge/cola, + /obj/item/reagent_containers/chem_disp_cartridge/smw, + /obj/item/reagent_containers/chem_disp_cartridge/dr_gibb, + /obj/item/reagent_containers/chem_disp_cartridge/spaceup, + /obj/item/reagent_containers/chem_disp_cartridge/tonic, + /obj/item/reagent_containers/chem_disp_cartridge/sodawater, + /obj/item/reagent_containers/chem_disp_cartridge/lemon_lime, + /obj/item/reagent_containers/chem_disp_cartridge/sugar, + /obj/item/reagent_containers/chem_disp_cartridge/orange, + /obj/item/reagent_containers/chem_disp_cartridge/lime, + /obj/item/reagent_containers/chem_disp_cartridge/watermelon, + /obj/item/reagent_containers/chem_disp_cartridge/lemon, + /obj/item/reagent_containers/chem_disp_cartridge/coffee, + /obj/item/reagent_containers/chem_disp_cartridge/cafe_latte, + /obj/item/reagent_containers/chem_disp_cartridge/soy_latte, + /obj/item/reagent_containers/chem_disp_cartridge/hot_coco, + /obj/item/reagent_containers/chem_disp_cartridge/milk, + /obj/item/reagent_containers/chem_disp_cartridge/cream, + /obj/item/reagent_containers/chem_disp_cartridge/tea, + /obj/item/reagent_containers/chem_disp_cartridge/ice, + /obj/item/reagent_containers/chem_disp_cartridge/mint, + /obj/item/reagent_containers/chem_disp_cartridge/orange, + /obj/item/reagent_containers/chem_disp_cartridge/lemon, + /obj/item/reagent_containers/chem_disp_cartridge/lime, + /obj/item/reagent_containers/chem_disp_cartridge/berry, + /obj/item/reagent_containers/chem_disp_cartridge/greentea, + /obj/item/reagent_containers/chem_disp_cartridge/decaf ) \ No newline at end of file diff --git a/code/modules/casino/premium_vendors.dm b/code/modules/casino/premium_vendors.dm index ad65cd61c21..7014400f977 100644 --- a/code/modules/casino/premium_vendors.dm +++ b/code/modules/casino/premium_vendors.dm @@ -15,63 +15,63 @@ desc = "A top of the line drink vendor that carries some of the finest drinks in the frontier." icon = 'icons/obj/casino.dmi' icon_state = "premiumbooze" - products = list(/obj/item/weapon/glass_extra/stick = 50, - /obj/item/weapon/glass_extra/straw = 50, - /obj/item/weapon/reagent_containers/food/drinks/glass2/square = 25, - /obj/item/weapon/reagent_containers/food/drinks/glass2/rocks = 25, - /obj/item/weapon/reagent_containers/food/drinks/glass2/shake = 25, - /obj/item/weapon/reagent_containers/food/drinks/glass2/cocktail = 25, - /obj/item/weapon/reagent_containers/food/drinks/glass2/shot = 25, - /obj/item/weapon/reagent_containers/food/drinks/glass2/pint = 25, - /obj/item/weapon/reagent_containers/food/drinks/glass2/mug = 25, - /obj/item/weapon/reagent_containers/food/drinks/glass2/wine = 25, - /obj/item/weapon/reagent_containers/food/drinks/glass2/carafe = 2, - /obj/item/weapon/reagent_containers/food/drinks/glass2/pitcher = 2, - /obj/item/weapon/reagent_containers/food/drinks/metaglass = 25, - /obj/item/weapon/reagent_containers/food/drinks/metaglass/metapint = 25, - /obj/item/weapon/reagent_containers/food/drinks/bottle/gin = 10, - /obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe = 10, - /obj/item/weapon/reagent_containers/food/drinks/bottle/bluecuracao = 10, - /obj/item/weapon/reagent_containers/food/drinks/bottle/cognac = 10, - /obj/item/weapon/reagent_containers/food/drinks/bottle/grenadine = 10, - /obj/item/weapon/reagent_containers/food/drinks/bottle/kahlua = 10, - /obj/item/weapon/reagent_containers/food/drinks/bottle/melonliquor = 10, - /obj/item/weapon/reagent_containers/food/drinks/bottle/rum = 10, - /obj/item/weapon/reagent_containers/food/drinks/bottle/sake = 10, - /obj/item/weapon/reagent_containers/food/drinks/bottle/specialwhiskey = 10, - /obj/item/weapon/reagent_containers/food/drinks/bottle/tequilla = 10, - /obj/item/weapon/reagent_containers/food/drinks/bottle/vermouth = 10, - /obj/item/weapon/reagent_containers/food/drinks/bottle/vodka = 10, - /obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey = 10, - /obj/item/weapon/reagent_containers/food/drinks/bottle/wine = 10, - /obj/item/weapon/reagent_containers/food/drinks/bottle/redeemersbrew = 10, - /obj/item/weapon/reagent_containers/food/drinks/bottle/patron = 10, - /obj/item/weapon/reagent_containers/food/drinks/bottle/goldschlager = 10, - /obj/item/weapon/reagent_containers/food/drinks/bottle/champagne = 10, - /obj/item/weapon/reagent_containers/food/drinks/bottle/bottleofnothing = 10, - /obj/item/weapon/reagent_containers/food/drinks/bottle/holywater = 10, - /obj/item/weapon/reagent_containers/food/drinks/bottle/small/ale = 15, - /obj/item/weapon/reagent_containers/food/drinks/bottle/small/ale/hushedwhisper = 15, - /obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer = 15, - /obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer/silverdragon = 15, - /obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer/meteor = 15, - /obj/item/weapon/reagent_containers/food/drinks/bottle/small/litebeer = 15, - /obj/item/weapon/reagent_containers/food/drinks/bottle/small/cider = 15, - /obj/item/weapon/reagent_containers/food/drinks/cans/tonic = 50, - /obj/item/weapon/reagent_containers/food/drinks/cans/gingerale = 50, - /obj/item/weapon/reagent_containers/food/drinks/cans/sodawater = 50, - /obj/item/weapon/reagent_containers/food/drinks/tea = 50, - /obj/item/weapon/reagent_containers/food/drinks/bottle/cola = 15, - /obj/item/weapon/reagent_containers/food/drinks/bottle/space_up = 15, - /obj/item/weapon/reagent_containers/food/drinks/bottle/space_mountain_wind = 15, - /obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice = 10, - /obj/item/weapon/reagent_containers/food/drinks/bottle/tomatojuice = 10, - /obj/item/weapon/reagent_containers/food/drinks/bottle/limejuice = 10, - /obj/item/weapon/reagent_containers/food/drinks/bottle/lemonjuice = 10, - /obj/item/weapon/reagent_containers/food/drinks/bottle/applejuice = 10, - /obj/item/weapon/reagent_containers/food/drinks/bottle/milk = 10, - /obj/item/weapon/reagent_containers/food/drinks/bottle/cream = 10, - /obj/item/weapon/reagent_containers/food/drinks/ice = 10 + products = list(/obj/item/glass_extra/stick = 50, + /obj/item/glass_extra/straw = 50, + /obj/item/reagent_containers/food/drinks/glass2/square = 25, + /obj/item/reagent_containers/food/drinks/glass2/rocks = 25, + /obj/item/reagent_containers/food/drinks/glass2/shake = 25, + /obj/item/reagent_containers/food/drinks/glass2/cocktail = 25, + /obj/item/reagent_containers/food/drinks/glass2/shot = 25, + /obj/item/reagent_containers/food/drinks/glass2/pint = 25, + /obj/item/reagent_containers/food/drinks/glass2/mug = 25, + /obj/item/reagent_containers/food/drinks/glass2/wine = 25, + /obj/item/reagent_containers/food/drinks/glass2/carafe = 2, + /obj/item/reagent_containers/food/drinks/glass2/pitcher = 2, + /obj/item/reagent_containers/food/drinks/metaglass = 25, + /obj/item/reagent_containers/food/drinks/metaglass/metapint = 25, + /obj/item/reagent_containers/food/drinks/bottle/gin = 10, + /obj/item/reagent_containers/food/drinks/bottle/absinthe = 10, + /obj/item/reagent_containers/food/drinks/bottle/bluecuracao = 10, + /obj/item/reagent_containers/food/drinks/bottle/cognac = 10, + /obj/item/reagent_containers/food/drinks/bottle/grenadine = 10, + /obj/item/reagent_containers/food/drinks/bottle/kahlua = 10, + /obj/item/reagent_containers/food/drinks/bottle/melonliquor = 10, + /obj/item/reagent_containers/food/drinks/bottle/rum = 10, + /obj/item/reagent_containers/food/drinks/bottle/sake = 10, + /obj/item/reagent_containers/food/drinks/bottle/specialwhiskey = 10, + /obj/item/reagent_containers/food/drinks/bottle/tequilla = 10, + /obj/item/reagent_containers/food/drinks/bottle/vermouth = 10, + /obj/item/reagent_containers/food/drinks/bottle/vodka = 10, + /obj/item/reagent_containers/food/drinks/bottle/whiskey = 10, + /obj/item/reagent_containers/food/drinks/bottle/wine = 10, + /obj/item/reagent_containers/food/drinks/bottle/redeemersbrew = 10, + /obj/item/reagent_containers/food/drinks/bottle/patron = 10, + /obj/item/reagent_containers/food/drinks/bottle/goldschlager = 10, + /obj/item/reagent_containers/food/drinks/bottle/champagne = 10, + /obj/item/reagent_containers/food/drinks/bottle/bottleofnothing = 10, + /obj/item/reagent_containers/food/drinks/bottle/holywater = 10, + /obj/item/reagent_containers/food/drinks/bottle/small/ale = 15, + /obj/item/reagent_containers/food/drinks/bottle/small/ale/hushedwhisper = 15, + /obj/item/reagent_containers/food/drinks/bottle/small/beer = 15, + /obj/item/reagent_containers/food/drinks/bottle/small/beer/silverdragon = 15, + /obj/item/reagent_containers/food/drinks/bottle/small/beer/meteor = 15, + /obj/item/reagent_containers/food/drinks/bottle/small/litebeer = 15, + /obj/item/reagent_containers/food/drinks/bottle/small/cider = 15, + /obj/item/reagent_containers/food/drinks/cans/tonic = 50, + /obj/item/reagent_containers/food/drinks/cans/gingerale = 50, + /obj/item/reagent_containers/food/drinks/cans/sodawater = 50, + /obj/item/reagent_containers/food/drinks/tea = 50, + /obj/item/reagent_containers/food/drinks/bottle/cola = 15, + /obj/item/reagent_containers/food/drinks/bottle/space_up = 15, + /obj/item/reagent_containers/food/drinks/bottle/space_mountain_wind = 15, + /obj/item/reagent_containers/food/drinks/bottle/orangejuice = 10, + /obj/item/reagent_containers/food/drinks/bottle/tomatojuice = 10, + /obj/item/reagent_containers/food/drinks/bottle/limejuice = 10, + /obj/item/reagent_containers/food/drinks/bottle/lemonjuice = 10, + /obj/item/reagent_containers/food/drinks/bottle/applejuice = 10, + /obj/item/reagent_containers/food/drinks/bottle/milk = 10, + /obj/item/reagent_containers/food/drinks/bottle/cream = 10, + /obj/item/reagent_containers/food/drinks/ice = 10 ) contraband = list() @@ -87,40 +87,40 @@ desc = "A top of the line drink vendor that carries some of the finest foods in the frontier." icon = 'icons/obj/casino.dmi' icon_state = "premiumfood" - products = list(/obj/item/weapon/reagent_containers/food/snacks/bigbiteburger = 30, - /obj/item/weapon/reagent_containers/food/snacks/meatsteak = 30, - /obj/item/weapon/reagent_containers/food/snacks/fries = 30, - /obj/item/weapon/reagent_containers/food/snacks/onionrings = 30, - /obj/item/weapon/reagent_containers/food/snacks/cheeseburrito= 30, - /obj/item/weapon/reagent_containers/food/snacks/enchiladas= 30, - /obj/item/weapon/reagent_containers/food/snacks/meatburrito= 30, - /obj/item/weapon/reagent_containers/food/snacks/taco= 30, - /obj/item/weapon/reagent_containers/food/snacks/cheesenachos= 30, - /obj/item/weapon/reagent_containers/food/snacks/cubannachos= 30, - /obj/item/weapon/reagent_containers/food/snacks/stew= 20, - /obj/item/weapon/reagent_containers/food/snacks/roastbeef = 20, - /obj/item/weapon/reagent_containers/food/snacks/aesirsalad = 20, - /obj/item/weapon/reagent_containers/food/snacks/sliceable/sushi = 20, - /obj/item/weapon/reagent_containers/food/snacks/kitsuneudon = 20, - /obj/item/weapon/reagent_containers/food/snacks/baguette = 30, - /obj/item/weapon/reagent_containers/food/snacks/appletart = 30, - /obj/item/weapon/reagent_containers/food/snacks/muffin = 30, - /obj/item/weapon/reagent_containers/food/snacks/berrymuffin = 30, - /obj/item/weapon/reagent_containers/food/snacks/cherrypie = 30, - /obj/item/weapon/reagent_containers/food/snacks/croissant = 30, - /obj/item/weapon/reagent_containers/food/snacks/pie = 30, - /obj/item/weapon/reagent_containers/food/snacks/poppypretzel = 30, - /obj/item/weapon/reagent_containers/food/snacks/sugarcookie = 30, - /obj/item/weapon/reagent_containers/food/snacks/waffles = 30, - /obj/item/weapon/reagent_containers/food/snacks/sliceable/applecake = 2, - /obj/item/weapon/reagent_containers/food/snacks/sliceable/birthdaycake = 2, - /obj/item/weapon/reagent_containers/food/snacks/sliceable/carrotcake = 2, - /obj/item/weapon/reagent_containers/food/snacks/sliceable/cheesecake = 2, - /obj/item/weapon/reagent_containers/food/snacks/sliceable/chocolatecake = 2, - /obj/item/weapon/reagent_containers/food/snacks/sliceable/lemoncake = 2, - /obj/item/weapon/reagent_containers/food/snacks/sliceable/limecake = 2, - /obj/item/weapon/reagent_containers/food/snacks/sliceable/orangecake = 2, - /obj/item/weapon/reagent_containers/food/snacks/sliceable/plaincake = 2 + products = list(/obj/item/reagent_containers/food/snacks/bigbiteburger = 30, + /obj/item/reagent_containers/food/snacks/meatsteak = 30, + /obj/item/reagent_containers/food/snacks/fries = 30, + /obj/item/reagent_containers/food/snacks/onionrings = 30, + /obj/item/reagent_containers/food/snacks/cheeseburrito= 30, + /obj/item/reagent_containers/food/snacks/enchiladas= 30, + /obj/item/reagent_containers/food/snacks/meatburrito= 30, + /obj/item/reagent_containers/food/snacks/taco= 30, + /obj/item/reagent_containers/food/snacks/cheesenachos= 30, + /obj/item/reagent_containers/food/snacks/cubannachos= 30, + /obj/item/reagent_containers/food/snacks/stew= 20, + /obj/item/reagent_containers/food/snacks/roastbeef = 20, + /obj/item/reagent_containers/food/snacks/aesirsalad = 20, + /obj/item/reagent_containers/food/snacks/sliceable/sushi = 20, + /obj/item/reagent_containers/food/snacks/kitsuneudon = 20, + /obj/item/reagent_containers/food/snacks/baguette = 30, + /obj/item/reagent_containers/food/snacks/appletart = 30, + /obj/item/reagent_containers/food/snacks/muffin = 30, + /obj/item/reagent_containers/food/snacks/berrymuffin = 30, + /obj/item/reagent_containers/food/snacks/cherrypie = 30, + /obj/item/reagent_containers/food/snacks/croissant = 30, + /obj/item/reagent_containers/food/snacks/pie = 30, + /obj/item/reagent_containers/food/snacks/poppypretzel = 30, + /obj/item/reagent_containers/food/snacks/sugarcookie = 30, + /obj/item/reagent_containers/food/snacks/waffles = 30, + /obj/item/reagent_containers/food/snacks/sliceable/applecake = 2, + /obj/item/reagent_containers/food/snacks/sliceable/birthdaycake = 2, + /obj/item/reagent_containers/food/snacks/sliceable/carrotcake = 2, + /obj/item/reagent_containers/food/snacks/sliceable/cheesecake = 2, + /obj/item/reagent_containers/food/snacks/sliceable/chocolatecake = 2, + /obj/item/reagent_containers/food/snacks/sliceable/lemoncake = 2, + /obj/item/reagent_containers/food/snacks/sliceable/limecake = 2, + /obj/item/reagent_containers/food/snacks/sliceable/orangecake = 2, + /obj/item/reagent_containers/food/snacks/sliceable/plaincake = 2 ) contraband = list() @@ -136,13 +136,13 @@ desc = "A top of the line smokes vendor that carries some of the finest tobacco based goods in the frontier." icon = 'icons/obj/casino.dmi' icon_state = "premiumcigs" - products = list(/obj/item/weapon/storage/fancy/cigar = 15, - /obj/item/weapon/storage/fancy/cigarettes/carcinomas = 15, - /obj/item/weapon/storage/fancy/cigarettes/professionals = 15, + products = list(/obj/item/storage/fancy/cigar = 15, + /obj/item/storage/fancy/cigarettes/carcinomas = 15, + /obj/item/storage/fancy/cigarettes/professionals = 15, /obj/item/clothing/mask/smokable/cigarette/cigar/cohiba = 30, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 30, - /obj/item/weapon/storage/box/matches = 5, - /obj/item/weapon/flame/lighter/zippo = 10 + /obj/item/storage/box/matches = 5, + /obj/item/flame/lighter/zippo = 10 ) contraband = list() diff --git a/code/modules/casino/slots.dm b/code/modules/casino/slots.dm index 654d872b0e3..bfc9e074911 100644 --- a/code/modules/casino/slots.dm +++ b/code/modules/casino/slots.dm @@ -57,9 +57,9 @@ ispowered = 0 update_icon() -/obj/machinery/slot_machine/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/machinery/slot_machine/attackby(obj/item/W as obj, mob/user as mob) if(busy) - to_chat(user,"The slot machine is currently running. ") + to_chat(user,span_notice("The slot machine is currently running.")) return if(W.has_tool_quality(TOOL_WRENCH)) playsound(src, W.usesound, 100, 1) @@ -70,19 +70,19 @@ if(do_after(user, 20 * W.toolspeed)) if(!src) return - to_chat(user, "You [anchored? "un" : ""]secured \the [src]!") + to_chat(user, span_notice("You [anchored? "un" : ""]secured \the [src]!")) anchored = !anchored return if(!anchored) - to_chat(user," The slot machine isn't secured.") + to_chat(user,span_notice(" The slot machine isn't secured.")) return var/handled = 0 var/paid = 0 - if(istype(W, /obj/item/weapon/spacecasinocash)) - var/obj/item/weapon/spacecasinocash/C = W + if(istype(W, /obj/item/spacecasinocash)) + var/obj/item/spacecasinocash/C = W paid = insert_chip(C, user) handled = 1 @@ -98,19 +98,19 @@ else if(isbroken) return -/obj/machinery/slot_machine/proc/insert_chip(var/obj/item/weapon/spacecasinocash/cashmoney, mob/user) +/obj/machinery/slot_machine/proc/insert_chip(var/obj/item/spacecasinocash/cashmoney, mob/user) if (ispowered == 0) return if (isbroken) return if (busy) - to_chat(user,"The slot machine is currently rolling. ") + to_chat(user,span_notice("The slot machine is currently rolling.")) return if(cashmoney.worth < 5) - to_chat(user,"You dont have enough chips to gamble! ") + to_chat(user,span_notice("You dont have enough chips to gamble!")) return - to_chat(user,"You puts 5 credits in the slot machine and presses start.") + to_chat(user,span_notice("You puts 5 credits in the slot machine and presses start.")) cashmoney.worth -= 5 cashmoney.update_icon() @@ -161,44 +161,44 @@ spawn(delaytime) - to_chat(user,"The slot machine flashes with bright colours as the slots lights up with a [symbol1], a [symbol2] and a [symbol3]!") + to_chat(user,span_notice("The slot machine flashes with bright colours as the slots lights up with a [symbol1], a [symbol2] and a [symbol3]!")) if (symbol1 == "cherry" && symbol2 == "cherry" && symbol3 == "cherry") - output = "Three cherries! The slot machine deposits chips worth 25 credits!" + output = span_notice("Three cherries! The slot machine deposits chips worth 25 credits!") winnings = 25 if ((symbol1 != "cherry" && symbol2 == "cherry" && symbol3 == "cherry") || (symbol1 == "cherry" && symbol2 != "cherry" && symbol3 == "cherry") ||(symbol1 == "cherry" && symbol2 == "cherry" && symbol3 != "cherry")) - output = "Two cherries! The slot machine deposits a 10 credit chip!" + output = span_notice("Two cherries! The slot machine deposits a 10 credit chip!") winnings = 10 if (symbol1 == "lemon" && symbol2 == "lemon" && symbol3 == "lemon") - output = "Three lemons! The slot machine deposits a 50 credit chip!" + output = span_notice("Three lemons! The slot machine deposits a 50 credit chip!") winnings = 50 if (symbol1 == "watermelon" && symbol2 == "watermelon" && symbol3 == "watermelon") - output = "Three watermelons! The slot machine deposits chips worth 75 credits!" + output = span_notice("Three watermelons! The slot machine deposits chips worth 75 credits!") winnings = 75 if (symbol1 == "bell" && symbol2 == "bell" && symbol3 == "bell") - output = "Three bells! The slot machine deposits chips a 100 credit chip!" + output = span_notice("Three bells! The slot machine deposits chips a 100 credit chip!") winnings = 100 if (symbol1 == "four leaf clover" && symbol2 == "four leaf clover" && symbol3 == "four leaf clover") - output = "Three four leaf clovers! The slot machine deposits a 200 credit chip!" + output = span_notice("Three four leaf clovers! The slot machine deposits a 200 credit chip!") winnings = 200 if (symbol1 == "seven" && symbol2 == "seven" && symbol3 == "seven") - output = "Three sevens! The slot machine deposits a 500 credit chip!" + output = span_notice("Three sevens! The slot machine deposits a 500 credit chip!") winnings = 500 celebrate = 1 if (symbol1 == "diamond" && symbol2 == "diamond" && symbol3 == "diamond") - output = "Three diamonds! The slot machine deposits a 1000 credit chip!" + output = span_notice("Three diamonds! The slot machine deposits a 1000 credit chip!") winnings = 1000 celebrate = 1 if (symbol1 == "platinum coin" && symbol2 == "platinum coin" && symbol3 == "platinum coin") - output = "Three platinum coins! The slot machine deposits a platinum chip!" + output = span_notice("Three platinum coins! The slot machine deposits a platinum chip!") platinumwin = TRUE celebrate = 1 @@ -212,7 +212,7 @@ to_chat(user,output) //Output message if(platinumwin) // Did they win the platinum chip? - new /obj/item/weapon/casino_platinum_chip(src.loc) + new /obj/item/casino_platinum_chip(src.loc) playsound(src.loc, 'sound/machines/slotmachine.ogg', 25, 1) if(winnings) //Did the person win? @@ -287,9 +287,9 @@ ispowered = 0 update_icon() -/obj/machinery/station_slot_machine/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/machinery/station_slot_machine/attackby(obj/item/W as obj, mob/user as mob) if(busy) - to_chat(user,"The slot machine is currently running. ") + to_chat(user,span_notice("The slot machine is currently running.")) return if(W.has_tool_quality(TOOL_WRENCH)) playsound(src, W.usesound, 100, 1) @@ -300,19 +300,19 @@ if(do_after(user, 20 * W.toolspeed)) if(!src) return - to_chat(user, "You [anchored? "un" : ""]secured \the [src]!") + to_chat(user, span_notice("You [anchored? "un" : ""]secured \the [src]!")) anchored = !anchored return if(!anchored) - to_chat(user," The slot machine isn't secured.") + to_chat(user,span_notice(" The slot machine isn't secured.")) return var/handled = 0 var/paid = 0 - if(istype(W, /obj/item/weapon/spacecash)) - var/obj/item/weapon/spacecash/C = W + if(istype(W, /obj/item/spacecash)) + var/obj/item/spacecash/C = W paid = insert_cash(C, user) handled = 1 if(paid) @@ -327,19 +327,19 @@ else if(isbroken) return -/obj/machinery/station_slot_machine/proc/insert_cash(var/obj/item/weapon/spacecash/cashmoney, mob/user) +/obj/machinery/station_slot_machine/proc/insert_cash(var/obj/item/spacecash/cashmoney, mob/user) if (ispowered == 0) return if (isbroken) return if (busy) - to_chat(user,"The slot machine is currently rolling. ") + to_chat(user,span_notice("The slot machine is currently rolling.")) return if(cashmoney.worth < 5) - to_chat(user,"You dont have enough Thalers to gamble! ") + to_chat(user,span_notice("You dont have enough Thalers to gamble!")) return - to_chat(user,"You puts 5 Thalers in the slot machine and presses start.") + to_chat(user,span_notice("You puts 5 Thalers in the slot machine and presses start.")) cashmoney.worth -= 5 cashmoney.update_icon() @@ -390,44 +390,44 @@ spawn(delaytime) - to_chat(user,"The slot machine flashes with bright colours as the slots lights up with a [symbol1], a [symbol2] and a [symbol3]!") + to_chat(user,span_notice("The slot machine flashes with bright colours as the slots lights up with a [symbol1], a [symbol2] and a [symbol3]!")) if (symbol1 == "cherry" && symbol2 == "cherry" && symbol3 == "cherry") - output = "Three cherries! The slot machine deposits 25 Thalers!" + output = span_notice("Three cherries! The slot machine deposits 25 Thalers!") winnings = 25 if ((symbol1 != "cherry" && symbol2 == "cherry" && symbol3 == "cherry") || (symbol1 == "cherry" && symbol2 != "cherry" && symbol3 == "cherry") ||(symbol1 == "cherry" && symbol2 == "cherry" && symbol3 != "cherry")) - output = "Two cherries! The slot machine deposits 10 Thalers!" + output = span_notice("Two cherries! The slot machine deposits 10 Thalers!") winnings = 10 if (symbol1 == "lemon" && symbol2 == "lemon" && symbol3 == "lemon") - output = "Three lemons! The slot machine deposits 50 Thalers!" + output = span_notice("Three lemons! The slot machine deposits 50 Thalers!") winnings = 50 if (symbol1 == "watermelon" && symbol2 == "watermelon" && symbol3 == "watermelon") - output = "Three watermelons! The slot machine deposits 75 Thalers!" + output = span_notice("Three watermelons! The slot machine deposits 75 Thalers!") winnings = 75 if (symbol1 == "bell" && symbol2 == "bell" && symbol3 == "bell") - output = "Three bells! The slot machine deposits 100 Thalers!" + output = span_notice("Three bells! The slot machine deposits 100 Thalers!") winnings = 100 if (symbol1 == "four leaf clover" && symbol2 == "four leaf clover" && symbol3 == "four leaf clover") - output = "Three four leaf clovers! The slot machine deposits 200 Thalers!" + output = span_notice("Three four leaf clovers! The slot machine deposits 200 Thalers!") winnings = 200 if (symbol1 == "seven" && symbol2 == "seven" && symbol3 == "seven") - output = "Three sevens! The slot machine deposits 500 Thalers!" + output = span_notice("Three sevens! The slot machine deposits 500 Thalers!") winnings = 500 celebrate = 1 if (symbol1 == "diamond" && symbol2 == "diamond" && symbol3 == "diamond") - output = "Three diamonds! The slot machine deposits 1000 Thalers!" + output = span_notice("Three diamonds! The slot machine deposits 1000 Thalers!") winnings = 1000 celebrate = 1 if (symbol1 == "platinum coin" && symbol2 == "platinum coin" && symbol3 == "platinum coin") - output = "Three platinum coins! The slot machine deposits a platinum chip!" + output = span_notice("Three platinum coins! The slot machine deposits a platinum chip!") platinumwin = TRUE; celebrate = 1 @@ -441,7 +441,7 @@ to_chat(user,output) //Output message if(platinumwin) // Did they win the platinum chip? - new /obj/item/weapon/casino_platinum_chip(src.loc) + new /obj/item/casino_platinum_chip(src.loc) playsound(src.loc, 'sound/machines/slotmachine.ogg', 25, 1) if(winnings) //Did the person win? diff --git a/code/modules/casino/spawnergrenade_casino.dm b/code/modules/casino/spawnergrenade_casino.dm index 34056fe89a7..9b37da4f94b 100644 --- a/code/modules/casino/spawnergrenade_casino.dm +++ b/code/modules/casino/spawnergrenade_casino.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/grenade/spawnergrenade/casino +/obj/item/grenade/spawnergrenade/casino name = "Creature Container (Cat)" desc = "It is set to detonate in 5 seconds. It will release a cat won from the prize vendor!" icon = 'icons/obj/casino.dmi' @@ -8,7 +8,7 @@ spawner_type = /mob/living/simple_mob/animal/passive/cat // Detonate now just handles the two loops that query for people in lockers and people who can see it. -/obj/item/weapon/grenade/spawnergrenade/casino/detonate() +/obj/item/grenade/spawnergrenade/casino/detonate() if(spawner_type && deliveryamt) var/turf/T = get_turf(src) @@ -25,57 +25,57 @@ // // Creatures // -/obj/item/weapon/grenade/spawnergrenade/casino/penguin +/obj/item/grenade/spawnergrenade/casino/penguin desc = "It is set to detonate in 5 seconds. It will release a penguin won from the prize vendor!" name = "Creature Container (Penguin)" spawner_type = /mob/living/simple_mob/animal/passive/penguin -/obj/item/weapon/grenade/spawnergrenade/casino/chicken +/obj/item/grenade/spawnergrenade/casino/chicken desc = "It is set to detonate in 5 seconds. It will release a chicken won from the prize vendor!" name = "Creature Container (Chicken)" spawner_type = /mob/living/simple_mob/animal/passive/chicken -/obj/item/weapon/grenade/spawnergrenade/casino/cow +/obj/item/grenade/spawnergrenade/casino/cow desc = "It is set to detonate in 5 seconds. It will release a cow won from the prize vendor!" name = "Creature Container (Cow)" spawner_type = /mob/living/simple_mob/animal/passive/cow -/obj/item/weapon/grenade/spawnergrenade/casino/corgi +/obj/item/grenade/spawnergrenade/casino/corgi desc = "It is set to detonate in 5 seconds. It will release a corgi won from the prize vendor!" name = "Creature Container (Corgi)" spawner_type = /mob/living/simple_mob/animal/passive/dog/corgi -/obj/item/weapon/grenade/spawnergrenade/casino/fox +/obj/item/grenade/spawnergrenade/casino/fox desc = "It is set to detonate in 5 seconds. It will release a fox won from the prize vendor!" name = "Creature Container (Fox)" spawner_type = /mob/living/simple_mob/animal/passive/fox -/obj/item/weapon/grenade/spawnergrenade/casino/fennec +/obj/item/grenade/spawnergrenade/casino/fennec desc = "It is set to detonate in 5 seconds. It will release a fennec won from the prize vendor!" name = "Creature Container (Fennec)" spawner_type = /mob/living/simple_mob/vore/fennec -/obj/item/weapon/grenade/spawnergrenade/casino/snake +/obj/item/grenade/spawnergrenade/casino/snake desc = "It is set to detonate in 5 seconds. It will release a snake won from the prize vendor!" name = "Creature Container (Snake)" spawner_type = /mob/living/simple_mob/animal/passive/snake -/obj/item/weapon/grenade/spawnergrenade/casino/redpanda +/obj/item/grenade/spawnergrenade/casino/redpanda desc = "It is set to detonate in 5 seconds. It will release a red panda won from the prize vendor!" name = "Creature Container (Red panda)" spawner_type = /mob/living/simple_mob/vore/redpanda -/obj/item/weapon/grenade/spawnergrenade/casino/snake +/obj/item/grenade/spawnergrenade/casino/snake desc = "It is set to detonate in 5 seconds. It will release a snake won from the prize vendor!" name = "Creature Container (Snake)" spawner_type = /mob/living/simple_mob/animal/passive/snake -/obj/item/weapon/grenade/spawnergrenade/casino/otie +/obj/item/grenade/spawnergrenade/casino/otie desc = "It is set to detonate in 5 seconds. It will release a otie won from the prize vendor!" name = "Creature Container (Otie)" spawner_type = /mob/living/simple_mob/vore/otie/friendly -/obj/item/weapon/grenade/spawnergrenade/casino/goldcrest +/obj/item/grenade/spawnergrenade/casino/goldcrest desc = "It is set to detonate in 5 seconds. It will release a bird won from the prize vendor!" name = "Creature Container (Bird)" spawner_type = /mob/living/simple_mob/animal/passive/bird/goldcrest @@ -83,48 +83,48 @@ // // Mecha // -/obj/item/weapon/grenade/spawnergrenade/casino/gygax +/obj/item/grenade/spawnergrenade/casino/gygax desc = "You feel great power inside this small round sphere, with great powers comes great responsibilities!" name = "Mysterious Grenade" spawner_type = /obj/mecha/combat/gygax/dark -/obj/item/weapon/grenade/spawnergrenade/casino/gygax/mining +/obj/item/grenade/spawnergrenade/casino/gygax/mining name = "Mech Container (Mining Ripley)" spawner_type = /obj/mecha/working/ripley/mining -/obj/item/weapon/grenade/spawnergrenade/casino/gygax/firefighter +/obj/item/grenade/spawnergrenade/casino/gygax/firefighter name = "Mech Container (Firefighter Ripley)" spawner_type = /obj/mecha/working/ripley/firefighter -/obj/item/weapon/grenade/spawnergrenade/casino/gygax/Odysseus +/obj/item/grenade/spawnergrenade/casino/gygax/Odysseus name = "Mech Container (Odysseus)" spawner_type = /obj/mecha/medical/odysseus/loaded -/obj/item/weapon/grenade/spawnergrenade/casino/gygax/shuttlepod +/obj/item/grenade/spawnergrenade/casino/gygax/shuttlepod name = "Mech Container (Shuttlepod)" spawner_type = /obj/mecha/working/hoverpod/shuttlepod // // Fighters // -/obj/item/weapon/grenade/spawnergrenade/casino/fighter +/obj/item/grenade/spawnergrenade/casino/fighter desc = "You feel great power inside this small round sphere, with great powers comes great responsibilities!" -/obj/item/weapon/grenade/spawnergrenade/casino/fighter/gunpod +/obj/item/grenade/spawnergrenade/casino/fighter/gunpod name = "Fighter Container (Gunpod)" spawner_type = /obj/mecha/combat/fighter/gunpod/loaded -/obj/item/weapon/grenade/spawnergrenade/casino/fighter/baron +/obj/item/grenade/spawnergrenade/casino/fighter/baron name = "Fighter Container (Baron)" spawner_type = /obj/mecha/combat/fighter/baron/loaded -/obj/item/weapon/grenade/spawnergrenade/casino/fighter/scoralis +/obj/item/grenade/spawnergrenade/casino/fighter/scoralis name = "Fighter Container (Scoralis)" spawner_type = /obj/mecha/combat/fighter/scoralis/loaded -/obj/item/weapon/grenade/spawnergrenade/casino/fighter/allure +/obj/item/grenade/spawnergrenade/casino/fighter/allure name = "Fighter Container (Allure)" spawner_type = /obj/mecha/combat/fighter/allure/loaded -/obj/item/weapon/grenade/spawnergrenade/casino/fighter/pinnace +/obj/item/grenade/spawnergrenade/casino/fighter/pinnace name = "Fighter Container (Pinnace)" spawner_type = /obj/mecha/combat/fighter/pinnace/loaded diff --git a/code/modules/catalogue/atoms.dm b/code/modules/catalogue/atoms.dm index 69939aeb451..d0d075f0a50 100644 --- a/code/modules/catalogue/atoms.dm +++ b/code/modules/catalogue/atoms.dm @@ -14,7 +14,7 @@ // First check if anything is even on here. var/list/data = get_catalogue_data() if(!LAZYLEN(data)) - to_chat(user, span("warning", "\The [src] is not interesting enough to catalogue.")) + to_chat(user, span_warning("\The [src] is not interesting enough to catalogue.")) return FALSE else // Check if this has nothing new on it. @@ -26,20 +26,20 @@ break if(!has_new_data) - to_chat(user, span("warning", "Scanning \the [src] would provide no new information.")) + to_chat(user, span_warning("Scanning \the [src] would provide no new information.")) return FALSE return TRUE /mob/living/can_catalogue(mob/user) // Dead mobs can't be scanned. if(stat >= DEAD) - to_chat(user, span("warning", "Entities must be alive for a comprehensive scan.")) + to_chat(user, span_warning("Entities must be alive for a comprehensive scan.")) return FALSE return ..() /obj/item/can_catalogue(mob/user) // Items must be identified to be scanned. if(!is_identified()) - to_chat(user, span("warning", "The properties of this object has not been determined. Identify it first.")) + to_chat(user, span_warning("The properties of this object has not been determined. Identify it first.")) return FALSE return ..() @@ -78,4 +78,4 @@ data += /datum/category_item/catalogue/technology/positronics if(BORG_BRAINTYPE_DRONE) data += /datum/category_item/catalogue/technology/drone/drones - return data \ No newline at end of file + return data diff --git a/code/modules/catalogue/catalogue_data.dm b/code/modules/catalogue/catalogue_data.dm index 301e9ced500..548b1f39231 100644 --- a/code/modules/catalogue/catalogue_data.dm +++ b/code/modules/catalogue/catalogue_data.dm @@ -103,8 +103,8 @@ GLOBAL_DATUM_INIT(catalogue_data, /datum/category_collection/catalogue, new) . += item /datum/category_item/catalogue/proc/display_in_chatlog(mob/user) - to_chat(user, "
    ") - to_chat(user, span("notice", "[uppertext(name)]")) + to_chat(user, span_infoplain("
    ")) + to_chat(user, span_boldnotice("[uppertext(name)]")) // Some entries get very long so lets not totally flood the chatlog. var/desc_length_limit = 750 @@ -113,9 +113,9 @@ GLOBAL_DATUM_INIT(catalogue_data, /datum/category_collection/catalogue, new) displayed_desc = copytext(displayed_desc, 1, desc_length_limit + 1) displayed_desc += "... (View databanks for full data)" - to_chat(user, span("notice", "[displayed_desc]")) - to_chat(user, span("notice", "Cataloguers : [english_list(cataloguers)].")) - to_chat(user, span("notice", "Contributes [value] points to personal exploration fund.")) + to_chat(user, span_notice(span_italics("[displayed_desc]"))) + to_chat(user, span_notice("Cataloguers : [english_list(cataloguers)].")) + to_chat(user, span_notice("Contributes [value] points to personal exploration fund.")) /* // Truncates text to limit if necessary. @@ -290,7 +290,6 @@ GLOBAL_DATUM_INIT(catalogue_data, /datum/category_collection/catalogue, new) full set of prosthetic limbs." value = CATALOGUER_REWARD_TRIVIAL - /datum/category_item/catalogue/information // For these we can piggyback off of the lore datums that are already defined and used in some places. diff --git a/code/modules/catalogue/catalogue_data_vr.dm b/code/modules/catalogue/catalogue_data_vr.dm index 8c07605377e..3fa6d6c5131 100644 --- a/code/modules/catalogue/catalogue_data_vr.dm +++ b/code/modules/catalogue/catalogue_data_vr.dm @@ -132,9 +132,3 @@ in the dormant brain via direct electro-uploading. However, this technology is not perfect and small, but \ non-zero error margins exist. Handle with care! Or don't. Stress testing this stuff makes a lucrative market." value = CATALOGUER_REWARD_TRIVIAL - -/* -/datum/category_item/catalogue/information/organization/khi - name = "Independents - Kitsuhana Heavy Industries" - datum_to_copy = /datum/lore/organization/other/kitsuhana -*/ diff --git a/code/modules/catalogue/cataloguer.dm b/code/modules/catalogue/cataloguer.dm index 580b209b9e0..2ea1045dca7 100644 --- a/code/modules/catalogue/cataloguer.dm +++ b/code/modules/catalogue/cataloguer.dm @@ -12,7 +12,7 @@ GLOBAL_LIST_EMPTY(all_cataloguers) the person with the scanner gets a visual box that shows where they are allowed to move to without inturrupting the scan. */ -/obj/item/device/cataloguer +/obj/item/cataloguer name = "cataloguer" desc = "A hand-held device, used for compiling information about an object by scanning it. Alt+click to highlight scannable objects around you." description_info = "This is a special device used to obtain information about objects and entities in the environment. \ @@ -35,7 +35,7 @@ GLOBAL_LIST_EMPTY(all_cataloguers) var/datum/weakref/partial_scanned = null // Weakref of the thing that was last scanned if inturrupted. Used to allow for partial scans to be resumed. var/partial_scan_time = 0 // How much to make the next scan shorter. -/obj/item/device/cataloguer/advanced +/obj/item/cataloguer/advanced name = "advanced cataloguer" icon = 'icons/obj/device.dmi' icon_state = "adv_cataloguer" @@ -45,7 +45,7 @@ GLOBAL_LIST_EMPTY(all_cataloguers) toolspeed = 0.8 // Able to see all defined catalogue data regardless of if it was unlocked, intended for testing. -/obj/item/device/cataloguer/debug +/obj/item/cataloguer/debug name = "omniscient cataloguer" desc = "A hand-held cataloguer device that appears to be plated with gold. For some reason, it \ just seems to already know everything about narrowly defined pieces of knowledge one would find \ @@ -57,25 +57,25 @@ GLOBAL_LIST_EMPTY(all_cataloguers) debug = TRUE -/obj/item/device/cataloguer/Initialize() +/obj/item/cataloguer/Initialize() GLOB.all_cataloguers += src return ..() -/obj/item/device/cataloguer/Destroy() +/obj/item/cataloguer/Destroy() GLOB.all_cataloguers -= src displayed_data = null return ..() -/obj/item/device/cataloguer/update_icon() +/obj/item/cataloguer/update_icon() if(busy) icon_state = "[initial(icon_state)]_active" else icon_state = initial(icon_state) -/obj/item/device/cataloguer/afterattack(atom/target, mob/user, proximity_flag) +/obj/item/cataloguer/afterattack(atom/target, mob/user, proximity_flag) // Things that invalidate the scan immediately. if(busy) - to_chat(user, span("warning", "\The [src] is already scanning something.")) + to_chat(user, span_warning("\The [src] is already scanning something.")) return if(isturf(target) && (!target.can_catalogue())) @@ -89,7 +89,7 @@ GLOBAL_LIST_EMPTY(all_cataloguers) return if(get_dist(target, user) > scan_range) - to_chat(user, span("warning", "You are too far away from \the [target] to catalogue it. Get closer.")) + to_chat(user, span_warning("You are too far away from \the [target] to catalogue it. Get closer.")) return // Get how long the delay will be. @@ -97,9 +97,9 @@ GLOBAL_LIST_EMPTY(all_cataloguers) if(partial_scanned) if(partial_scanned.resolve() == target) scan_delay -= partial_scan_time - to_chat(user, span("notice", "Resuming previous scan.")) + to_chat(user, span_notice("Resuming previous scan.")) else - to_chat(user, span("warning", "Scanning new target. Previous scan buffer cleared.")) + to_chat(user, span_warning("Scanning new target. Previous scan buffer cleared.")) // Start the special effects. busy = TRUE @@ -118,18 +118,18 @@ GLOBAL_LIST_EMPTY(all_cataloguers) var/scan_start_time = world.time if(do_after(user, scan_delay, target, ignore_movement = TRUE, max_distance = scan_range)) if(target.can_catalogue(user)) - to_chat(user, span("notice", "You successfully scan \the [target] with \the [src].")) + to_chat(user, span_notice("You successfully scan \the [target] with \the [src].")) playsound(src, 'sound/machines/ping.ogg', 50) catalogue_object(target, user) else // In case someone else scans it first, or it died, etc. - to_chat(user, span("warning", "\The [target] is no longer valid to scan with \the [src].")) + to_chat(user, span_warning("\The [target] is no longer valid to scan with \the [src].")) playsound(src, 'sound/machines/buzz-two.ogg', 50) partial_scanned = null partial_scan_time = 0 else - to_chat(user, span("warning", "You failed to finish scanning \the [target] with \the [src].")) + to_chat(user, span_warning("You failed to finish scanning \the [target] with \the [src].")) playsound(src, 'sound/machines/buzz-two.ogg', 50) color_box(box_segments, "#FF0000", 3) partial_scanned = WEAKREF(target) @@ -146,7 +146,7 @@ GLOBAL_LIST_EMPTY(all_cataloguers) delete_box(box_segments, user.client) // Todo: Display scanned information, increment points, etc. -/obj/item/device/cataloguer/proc/catalogue_object(atom/target, mob/living/user) +/obj/item/cataloguer/proc/catalogue_object(atom/target, mob/living/user) // Figure out who may have helped out. var/list/contributers = list() var/list/contributer_names = list() @@ -175,30 +175,30 @@ GLOBAL_LIST_EMPTY(all_cataloguers) // Give out points. if(points_gained) // First, to us. - to_chat(user, span("notice", "Gained [points_gained] points from this scan.")) + to_chat(user, span_notice("Gained [points_gained] points from this scan.")) adjust_points(points_gained) // Now to our friends, if any. if(contributers.len) for(var/mob/M in contributers) var/list/things = M.GetAllContents(3) // Depth of two should reach into bags but just in case lets make it three. - var/obj/item/device/cataloguer/other_cataloguer = locate() in things // If someone has two or more scanners this only adds points to one. + var/obj/item/cataloguer/other_cataloguer = locate() in things // If someone has two or more scanners this only adds points to one. if(other_cataloguer) - to_chat(M, span("notice", "Gained [points_gained] points from \the [user]'s scan of \the [target].")) + to_chat(M, span_notice("Gained [points_gained] points from \the [user]'s scan of \the [target].")) other_cataloguer.adjust_points(points_gained) - to_chat(user, span("notice", "Shared discovery with [contributers.len] other contributer\s.")) + to_chat(user, span_notice("Shared discovery with [contributers.len] other contributer\s.")) -/obj/item/device/cataloguer/AltClick(mob/user) +/obj/item/cataloguer/AltClick(mob/user) pulse_scan(user) // Gives everything capable of being scanned an outline for a brief moment. // Helps to avoid having to click a hundred things in a room for things that have an entry. -/obj/item/device/cataloguer/proc/pulse_scan(mob/user) +/obj/item/cataloguer/proc/pulse_scan(mob/user) if(busy) - to_chat(user, span("warning", "\The [src] is busy doing something else.")) + to_chat(user, span_warning("\The [src] is busy doing something else.")) return busy = TRUE @@ -215,7 +215,7 @@ GLOBAL_LIST_EMPTY(all_cataloguers) var/filter = filter(type = "outline", size = 1, color = "#00FF00") for(var/atom/A as anything in scannable_atoms) A.filters += filter - to_chat(user, span("notice", "\The [src] is highlighting scannable objects in green, if any exist.")) + to_chat(user, span_notice("\The [src] is highlighting scannable objects in green, if any exist.")) sleep(2 SECONDS) @@ -231,17 +231,17 @@ GLOBAL_LIST_EMPTY(all_cataloguers) playsound(src, 'sound/machines/ping.ogg', 50) else playsound(src, 'sound/machines/buzz-two.ogg', 50) - to_chat(user, span("notice", "\The [src] found [scannable_atoms.len] object\s that can be scanned.")) + to_chat(user, span_notice("\The [src] found [scannable_atoms.len] object\s that can be scanned.")) // Negative points are bad. -/obj/item/device/cataloguer/proc/adjust_points(amount) +/obj/item/cataloguer/proc/adjust_points(amount) points_stored = max(0, points_stored += amount) -/obj/item/device/cataloguer/attack_self(mob/living/user) +/obj/item/cataloguer/attack_self(mob/living/user) interact(user) -/obj/item/device/cataloguer/interact(mob/user) +/obj/item/cataloguer/interact(mob/user) var/list/dat = list() var/title = "Cataloguer Data Display" @@ -258,7 +258,7 @@ GLOBAL_LIST_EMPTY(all_cataloguers) dat += "\[(DEBUG) Force Discovery\]" dat += "
    " - dat += "[displayed_data.desc]" + dat += span_italics("[displayed_data.desc]") if(LAZYLEN(displayed_data.cataloguers)) dat += "Cataloguers : [english_list(displayed_data.cataloguers)]." else @@ -271,7 +271,7 @@ GLOBAL_LIST_EMPTY(all_cataloguers) var/list/group_dat = list() var/show_group = FALSE - group_dat += "[group.name]" + group_dat += span_bold("[group.name]") for(var/datum/category_item/catalogue/item as anything in group.items) if(item.visible || debug) group_dat += "[item.name]" @@ -285,7 +285,7 @@ GLOBAL_LIST_EMPTY(all_cataloguers) popup.open() add_fingerprint(user) -/obj/item/device/cataloguer/Topic(href, href_list) +/obj/item/cataloguer/Topic(href, href_list) if(..()) usr << browse(null, "window=cataloguer_display") return 0 @@ -307,31 +307,31 @@ GLOBAL_LIST_EMPTY(all_cataloguers) interact(usr) // So it refreshes the window. return 1 -/obj/item/device/cataloguer/attackby(obj/item/weapon/W, mob/user) - if(istype(W, /obj/item/weapon/card/id) && !busy) +/obj/item/cataloguer/attackby(obj/item/W, mob/user) + if(istype(W, /obj/item/card/id) && !busy) busy = TRUE - var/obj/item/weapon/card/id/ID = W + var/obj/item/card/id/ID = W if(points_stored) ID.survey_points += points_stored points_stored = 0 - to_chat(user, "You swipe the id over \the [src].") + to_chat(user, span_notice("You swipe the id over \the [src].")) else - to_chat(user, "\The [src] has no points available.") + to_chat(user, span_notice("\The [src] has no points available.")) busy = FALSE return ..() -/obj/item/device/cataloguer/compact +/obj/item/cataloguer/compact name = "compact cataloguer" desc = "A compact hand-held device, used for compiling information about an object by scanning it. \ Alt+click to highlight scannable objects around you." icon = 'icons/obj/device_vr.dmi' icon_state = "compact" - action_button_name = "Toggle Cataloguer" + actions_types = list(/datum/action/item_action/toggle_cataloguer) var/deployed = TRUE scan_range = 1 toolspeed = 1.2 -/obj/item/device/cataloguer/compact/pathfinder +/obj/item/cataloguer/compact/pathfinder name = "pathfinder's cataloguer" desc = "A compact hand-held device, used for compiling information about an object by scanning it. \ Alt+click to highlight scannable objects around you." @@ -340,44 +340,44 @@ GLOBAL_LIST_EMPTY(all_cataloguers) scan_range = 3 toolspeed = 1 -/obj/item/device/cataloguer/compact/update_icon() +/obj/item/cataloguer/compact/update_icon() if(busy) icon_state = "[initial(icon_state)]_s" else icon_state = initial(icon_state) -/obj/item/device/cataloguer/compact/ui_action_click() +/obj/item/cataloguer/compact/ui_action_click(mob/user, actiontype) toggle() -/obj/item/device/cataloguer/compact/verb/toggle() +/obj/item/cataloguer/compact/verb/toggle() set name = "Toggle Cataloguer" set category = "Object" if(busy) - to_chat(usr, span("warning", "\The [src] is currently scanning something.")) + to_chat(usr, span_warning("\The [src] is currently scanning something.")) return deployed = !(deployed) if(deployed) w_class = ITEMSIZE_NORMAL icon_state = "[initial(icon_state)]" - to_chat(usr, span("notice", "You flick open \the [src].")) + to_chat(usr, span_notice("You flick open \the [src].")) else w_class = ITEMSIZE_SMALL icon_state = "[initial(icon_state)]_closed" - to_chat(usr, span("notice", "You close \the [src].")) + to_chat(usr, span_notice("You close \the [src].")) if (ismob(usr)) var/mob/M = usr - M.update_action_buttons() + M.update_mob_action_buttons() -/obj/item/device/cataloguer/compact/afterattack(atom/target, mob/user, proximity_flag) +/obj/item/cataloguer/compact/afterattack(atom/target, mob/user, proximity_flag) if(!deployed) - to_chat(user, span("warning", "\The [src] is closed.")) + to_chat(user, span_warning("\The [src] is closed.")) return return ..() -/obj/item/device/cataloguer/compact/pulse_scan(mob/user) +/obj/item/cataloguer/compact/pulse_scan(mob/user) if(!deployed) - to_chat(user, span("warning", "\The [src] is closed.")) + to_chat(user, span_warning("\The [src] is closed.")) return return ..() diff --git a/code/modules/catalogue/cataloguer_visuals.dm b/code/modules/catalogue/cataloguer_visuals.dm index f159271a026..dcb59a132af 100644 --- a/code/modules/catalogue/cataloguer_visuals.dm +++ b/code/modules/catalogue/cataloguer_visuals.dm @@ -2,7 +2,7 @@ // Draws a box showing the limits of movement while scanning something. // Only the client supplied will see the box. -/obj/item/device/cataloguer/proc/draw_box(atom/A, box_size, client/C) +/obj/item/cataloguer/proc/draw_box(atom/A, box_size, client/C) . = list() // Things moved with pixel_[x|y] will move the box, so this is to correct that. var/pixel_x_correction = -A.pixel_x @@ -47,7 +47,7 @@ #undef ICON_SIZE // Draws an individual segment of the box. -/obj/item/device/cataloguer/proc/draw_line(atom/A, line_dir, line_pixel_x, line_pixel_y, client/C) +/obj/item/cataloguer/proc/draw_line(atom/A, line_dir, line_pixel_x, line_pixel_y, client/C) var/image/line = image(icon = 'icons/effects/effects.dmi', loc = A, icon_state = "stripes", dir = line_dir) line.pixel_x = line_pixel_x line.pixel_y = line_pixel_y @@ -58,11 +58,11 @@ return line // Removes the box that was generated before from the client. -/obj/item/device/cataloguer/proc/delete_box(list/box_segments, client/C) +/obj/item/cataloguer/proc/delete_box(list/box_segments, client/C) for(var/i in box_segments) C.images -= i qdel(i) -/obj/item/device/cataloguer/proc/color_box(list/box_segments, new_color, new_time) +/obj/item/cataloguer/proc/color_box(list/box_segments, new_color, new_time) for(var/i in box_segments) animate(i, color = new_color, time = new_time) \ No newline at end of file diff --git a/code/modules/client/client defines.dm b/code/modules/client/client defines.dm index 3f1b5d81b4b..9936418085f 100644 --- a/code/modules/client/client defines.dm +++ b/code/modules/client/client defines.dm @@ -36,6 +36,8 @@ //////////////// //ADMIN THINGS// //////////////// + /// hides the byond verb panel as we use our own custom version + show_verb_panel = FALSE ///Contains admin info. Null if client is not an admin. var/datum/admins/holder = null var/datum/admins/deadmin_holder = null @@ -104,6 +106,11 @@ var/last_asset_job = 0 var/last_completed_asset_job = 0 + ///Last ping of the client + var/lastping = 0 + ///Average ping of the client + var/avgping = 0 + ///world.time they connected var/connection_time ///world.realtime they connected @@ -113,6 +120,23 @@ // Runechat messages var/list/seen_messages + /// our current tab + var/stat_tab + + /// list of all tabs + var/list/panel_tabs = list() + /// list of tabs containing spells and abilities + var/list/spell_tabs = list() + /// list of misc tabs from mob + var/list/misc_tabs = list() + ///A lazy list of atoms we've examined in the last RECENT_EXAMINE_MAX_WINDOW (default 2) seconds, so that we will call [/atom/proc/examine_more] instead of [/atom/proc/examine] on them when examining + var/list/recent_examines + ///Our object window datum. It stores info about and handles behavior for the object tab + var/datum/object_window_info/obj_window + + var/list/misc_cache = list() + + var/atom/examine_icon //Holder for examine icon, useful for statpanel //Hide top bars var/fullscreen = FALSE @@ -147,3 +171,6 @@ var/last_move_dir_pressed = NONE #endif + + /// If this client has been fully initialized or not + var/fully_created = FALSE diff --git a/code/modules/client/client procs.dm b/code/modules/client/client procs.dm index 8c71529d52d..4fdc79f0a3f 100644 --- a/code/modules/client/client procs.dm +++ b/code/modules/client/client procs.dm @@ -70,10 +70,10 @@ if(href_list["irc_msg"]) if(!holder && received_irc_pm < world.time - 6000) //Worse they can do is spam IRC for 10 minutes - to_chat(usr, "You are no longer able to use this, it's been more than 10 minutes since an admin on IRC has responded to you") + to_chat(src, span_warning("You are no longer able to use this, it's been more than 10 minutes since an admin on IRC has responded to you")) return if(mute_irc) - to_chat(usr, "") + to_chat(usr, span_warning("You cannot use this as your client has been muted from sending messages to the admins on IRC")) return send2adminirc(href_list["irc_msg"]) return @@ -90,37 +90,39 @@ GLOB.pending_discord_registrations -= list(L) var/time = L["time"] if((world.realtime - time) > 10 MINUTES) - to_chat(src, "Sorry, that link has expired. Please request another on Discord.") + to_chat(src, span_warning("Sorry, that link has expired. Please request another on Discord.")) return sane = TRUE break if(!sane) - to_chat(src, "Sorry, that link doesn't appear to be valid. Please try again.") + to_chat(src, span_warning("Sorry, that link doesn't appear to be valid. Please try again.")) return var/sql_discord = sql_sanitize_text(their_id) var/sql_ckey = sql_sanitize_text(ckey) var/DBQuery/query = dbcon.NewQuery("UPDATE erro_player SET discord_id = '[sql_discord]' WHERE ckey = '[sql_ckey]'") if(query.Execute()) - to_chat(src, "Registration complete! Thank you for taking the time to register your Discord ID.") - log_and_message_admins("[ckey] has registered their Discord ID. Their Discord snowflake ID is: [their_id]") //YW EDIT - admin_chat_message(message = "[ckey] has registered their Discord ID. Their Discord is: <@[their_id]>", color = "#4eff22") //YW EDIT + to_chat(src, span_notice("Registration complete! Thank you for taking the time to register your Discord ID.")) + log_and_message_admins("[ckey] has registered their Discord ID. Their Discord snowflake ID is: [their_id]") + admin_chat_message(message = "[ckey] has registered their Discord ID. Their Discord is: <@[their_id]>", color = "#4eff22") notes_add(ckey, "Discord ID: [their_id]") world.VgsAddMemberRole(their_id) else - to_chat(src, "There was an error registering your Discord ID in the database. Contact an administrator.") + to_chat(src, span_warning("There was an error registering your Discord ID in the database. Contact an administrator.")) log_and_message_admins("[ckey] failed to register their Discord ID. Their Discord snowflake ID is: [their_id]. Is the database connected?") return //VOREStation Add End + if(href_list["reload_statbrowser"]) + stat_panel.reinitialize() //Logs all hrefs - if(config && config.log_hrefs && href_logfile) + if(config && CONFIG_GET(flag/log_hrefs) && href_logfile) WRITE_LOG(href_logfile, "[src] (usr:[usr]) || [hsrc ? "[hsrc] " : ""][href]") //byond bug ID:2256651 if (asset_cache_job && (asset_cache_job in completed_asset_jobs)) - to_chat(src, "An error has been detected in how your client is receiving resources. Attempting to correct.... (If you keep seeing these messages you might want to close byond and reconnect)") + to_chat(src, span_danger("An error has been detected in how your client is receiving resources. Attempting to correct.... (If you keep seeing these messages you might want to close byond and reconnect)")) src << browse("...", "window=asset_cache_browser") return if (href_list["asset_cache_preload_data"]) @@ -141,7 +143,21 @@ if("openLink") src << link(href_list["link"]) - ..() //redirect to hsrc.Topic() + if (hsrc) + var/datum/real_src = hsrc + if(QDELETED(real_src)) + return + + //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_REF(_Topic), hsrc, href, href_list))) + return + ..() //redirect to hsrc.Topic() + +///dumb workaround because byond doesnt seem to recognize the Topic() typepath for /datum/proc/Topic() from the client Topic, +///so we cant queue it without this +/client/proc/_Topic(datum/hsrc, href, list/href_list) + return hsrc.Topic(href, href_list) //This stops files larger than UPLOAD_LIMIT being sent from client to server via input(), client.Import() etc. @@ -163,6 +179,10 @@ //CONNECT// /////////// /client/New(TopicData) + // TODO: Remove version check with 516 + if(byond_version >= 516) // Enable 516 compat browser storage mechanisms + winset(src, null, "browser-options=[DEFAULT_CLIENT_BROWSER_OPTIONS]") + TopicData = null //Prevent calls to client.Topic from connect if(!(connection in list("seeker", "web"))) //Invalid connection type. @@ -170,7 +190,7 @@ if(byond_version < MIN_CLIENT_VERSION) //Out of date client. return null - if(!config.guests_allowed && IsGuestKey(key)) + if(!CONFIG_GET(flag/guests_allowed) && IsGuestKey(key)) alert(src,"This server doesn't allow guest accounts to play. Please go to https://www.byond.com/ and register for a key.","Guest") // Not tgui_alert del(src) return @@ -182,6 +202,10 @@ GLOB.clients += src GLOB.directory[ckey] = src + // Instantiate stat panel + stat_panel = new(src, "statbrowser") + stat_panel.subscribe(src, .proc/on_stat_panel_message) + // Instantiate tgui panel tgui_say = new(src, "tgui_say") initialize_commandbar_spy() @@ -202,12 +226,15 @@ //preferences datum - also holds some persistant data for the client (because we may as well keep these datums to a minimum) prefs = preferences_datums[ckey] - if(!prefs) + if(prefs) + prefs.client = src + prefs.load_savefile() // just to make sure we have the latest data + prefs.apply_all_client_preferences() + else prefs = new /datum/preferences(src) preferences_datums[ckey] = prefs prefs.last_ip = address //these are gonna be used for banning prefs.last_id = computer_id //these are gonna be used for banning - prefs.client = src // Only relevant if we reloaded it from the global list, otherwise prefs/New sets it hook_vr("client_new",list(src)) //VOREStation Code. For now this only loads vore prefs, so better put before mob.Login() call but after normal prefs are loaded. @@ -216,6 +243,14 @@ if(prefs) prefs.selecting_slots = FALSE + // Initialize stat panel + stat_panel.initialize( + inline_html = file2text('html/statbrowser.html'), + inline_js = file2text('html/statbrowser.js'), + inline_css = file2text('html/statbrowser.css'), + ) + addtimer(CALLBACK(src, PROC_REF(check_panel_loaded)), 30 SECONDS) + // Initialize tgui panel tgui_say.initialize() tgui_panel.initialize() @@ -227,11 +262,11 @@ if(custom_event_msg && custom_event_msg != "") to_chat(src, "

    Custom Event

    ") to_chat(src, "

    A custom event is taking place. OOC Info:

    ") - to_chat(src, "[custom_event_msg]") + to_chat(src, span_alert("[custom_event_msg]")) to_chat(src, "
    ") if(!winexists(src, "asset_cache_browser")) // The client is using a custom skin, tell them. - to_chat(src, "Unable to access asset cache browser, if you are using a custom skin file, please allow DS to download the updated version, if you are not, then make a bug report. This is not a critical issue but can cause issues with resource downloading, as it is impossible to know when extra resources arrived to you.") + to_chat(src, span_warning("Unable to access asset cache browser, if you are using a custom skin file, please allow DS to download the updated version, if you are not, then make a bug report. This is not a critical issue but can cause issues with resource downloading, as it is impossible to know when extra resources arrived to you.")) if(holder) add_admin_verbs() @@ -256,13 +291,13 @@ //disabled because we don't use the ingame changelog system any more /* if((prefs.lastchangelog != changelog_hash) && isnewplayer(src.mob)) //bolds the changelog button on the interface so we know there are updates. - to_chat(src, "You have unread updates in the changelog.") + to_chat(src, span_info("You have unread updates in the changelog.")) winset(src, "rpane.changelog", "background-color=#eaeaea;font-style=bold") if(config.aggressive_changelog) src.changes() */ - if(config.paranoia_logging) + if(CONFIG_GET(flag/paranoia_logging)) var/alert = FALSE //VOREStation Edit start. if(isnum(player_age) && player_age == 0) log_and_message_admins("PARANOIA: [key_name(src)] has connected here for the first time.") @@ -272,10 +307,18 @@ alert = TRUE if(alert) for(var/client/X in GLOB.admins) - if(X.is_preference_enabled(/datum/client_preference/holder/play_adminhelp_ping)) + if(X.prefs?.read_preference(/datum/preference/toggle/holder/play_adminhelp_ping)) X << 'sound/effects/tones/newplayerping.ogg' window_flash(X) //VOREStation Edit end. + fully_created = TRUE + attempt_auto_fit_viewport() + + // TODO: Remove version check with 516 + if(byond_version >= 516) + // Now that we're fully initialized, use our prefs + if(prefs?.read_preference(/datum/preference/toggle/browser_dev_tools)) + winset(src, null, "browser-options=[DEFAULT_CLIENT_BROWSER_OPTIONS],devtools") ////////////// //DISCONNECT// @@ -387,30 +430,30 @@ //Panic bunker code if (isnum(player_age) && player_age == 0) //first connection - if (config.panic_bunker && !holder && !deadmin_holder) + if (CONFIG_GET(flag/panic_bunker) && !holder && !deadmin_holder) log_adminwarn("Failed Login: [key] - New account attempting to connect during panic bunker") - message_admins("Failed Login: [key] - New account attempting to connect during panic bunker") + message_admins(span_adminnotice("Failed Login: [key] - New account attempting to connect during panic bunker")) disconnect_with_message("Sorry but the server is currently not accepting connections from never before seen players.") return 0 // IP Reputation Check - if(config.ip_reputation) - if(config.ipr_allow_existing && player_age >= config.ipr_minimum_age) + if(CONFIG_GET(flag/ip_reputation)) + if(CONFIG_GET(flag/ipr_allow_existing) && player_age >= CONFIG_GET(number/ipr_minimum_age)) log_admin("Skipping IP reputation check on [key] with [address] because of player age") else if(update_ip_reputation()) //It is set now - if(ip_reputation >= config.ipr_bad_score) //It's bad + if(ip_reputation >= CONFIG_GET(number/ipr_bad_score)) //It's bad //Log it - if(config.paranoia_logging) //We don't block, but we want paranoia log messages + if(CONFIG_GET(flag/paranoia_logging)) //We don't block, but we want paranoia log messages log_and_message_admins("[key] at [address] has bad IP reputation: [ip_reputation]. Will be kicked if enabled in config.") else //We just log it log_admin("[key] at [address] has bad IP reputation: [ip_reputation]. Will be kicked if enabled in config.") //Take action if required - if(config.ipr_block_bad_ips && config.ipr_allow_existing) //We allow players of an age, but you don't meet it - disconnect_with_message("Sorry, we only allow VPN/Proxy/Tor usage for players who have spent at least [config.ipr_minimum_age] days on the server. If you are unable to use the internet without your VPN/Proxy/Tor, please contact an admin out-of-game to let them know so we can accommodate this.") + if(CONFIG_GET(flag/ipr_block_bad_ips) && CONFIG_GET(flag/ipr_allow_existing)) //We allow players of an age, but you don't meet it + disconnect_with_message("Sorry, we only allow VPN/Proxy/Tor usage for players who have spent at least [CONFIG_GET(number/ipr_minimum_age)] days on the server. If you are unable to use the internet without your VPN/Proxy/Tor, please contact an admin out-of-game to let them know so we can accommodate this.") return 0 - else if(config.ipr_block_bad_ips) //We don't allow players of any particular age + else if(CONFIG_GET(flag/ipr_block_bad_ips)) //We don't allow players of any particular age disconnect_with_message("Sorry, we do not accept connections from users via VPN/Proxy/Tor connections. If you believe this is in error, contact an admin out-of-game.") return 0 else @@ -469,7 +512,7 @@ src << browse('code/modules/asset_cache/validate_assets.html', "window=asset_cache_browser") //Precache the client with all other assets slowly, so as to not block other browse() calls - if (config.asset_simple_preload) + if (CONFIG_GET(flag/asset_simple_preload)) addtimer(CALLBACK(SSassets.transport, TYPE_PROC_REF(/datum/asset_transport, send_assets_slow), src, SSassets.transport.preload), 5 SECONDS) /mob/proc/MayRespawn() @@ -484,10 +527,16 @@ /client/verb/character_setup() set name = "Character Setup" - set category = "Preferences" + set category = "Preferences.Character" if(prefs) prefs.ShowChoices(usr) +/client/verb/game_options() + set name = "Game Options" + set category = "Preferences.Game" + if(prefs) + prefs.tgui_interact(usr) + /client/proc/findJoinDate() var/list/http = world.Export("http://byond.com/members/[ckey]?format=text") if(!http) @@ -510,7 +559,7 @@ //You're welcome to replace this proc with your own that does your own cool stuff. //Just set the client's ip_reputation var and make sure it makes sense with your config settings (higher numbers are worse results) /client/proc/update_ip_reputation() - var/request = "https://check.getipintel.net/check.php?ip=[address]&contact=[config.ipr_email]" + var/request = "https://check.getipintel.net/check.php?ip=[address]&contact=[CONFIG_GET(string/ipr_email)]" var/http[] = world.Export(request) /* Debug @@ -526,7 +575,7 @@ //429 is rate limit exceeded if(text2num(http["STATUS"]) == 429) log_and_message_admins("getipintel.net reports HTTP status 429. IP reputation checking is now disabled. If you see this, let a developer know.") - config.ip_reputation = FALSE + CONFIG_SET(flag/ip_reputation, FALSE) return FALSE var/content = file2text(http["CONTENT"]) //world.Export actually returns a file object in CONTENT @@ -557,7 +606,7 @@ log_and_message_admins(ipr_error) if(fatal) - config.ip_reputation = FALSE + CONFIG_SET(flag/ip_reputation, FALSE) log_and_message_admins("With this error, IP reputation checking is disabled for this shift. Let a developer know.") return FALSE @@ -586,7 +635,7 @@ /client/verb/toggle_fullscreen() set name = "Toggle Fullscreen" - set category = "OOC" + set category = "OOC.Client Settings" fullscreen = !fullscreen @@ -603,19 +652,20 @@ winset(usr, "mainwindow", "can-resize=true") winset(usr, "mainwindow", "is-maximized=false") winset(usr, "mainwindow", "on-size=attempt_auto_fit_viewport") // The attempt_auto_fit_viewport() proc is not implemented yet + attempt_auto_fit_viewport() /client/verb/toggle_verb_panel() set name = "Toggle Verbs" - set category = "OOC" + set category = "OOC.Client Settings" show_verb_panel = !show_verb_panel - to_chat(usr, "Your verbs are now [show_verb_panel ? "on" : "off. To turn them back on, type 'toggle-verbs' into the command bar."].") + to_chat(src, "Your verbs are now [show_verb_panel ? "on" : "off. To turn them back on, type 'toggle-verbs' into the command bar."].") /* /client/verb/toggle_status_bar() set name = "Toggle Status Bar" - set category = "OOC" + set category = "OOC.Client Settings" show_status_bar = !show_status_bar @@ -624,3 +674,66 @@ else winset(usr, "input", "is-visible=false") */ + +/client/verb/show_active_playtime() + set name = "Active Playtime" + set category = "OOC.Game" + + if(!play_hours.len) + to_chat(src, span_warning("Persistent playtime disabled!")) + return + + var/department_hours = "" + for(var/play_hour in play_hours) + if(!isnum(play_hour) && isnum(play_hours[play_hour])) + department_hours += "
    \t[capitalize(play_hour)]: [play_hours[play_hour]]" + if(!department_hours) + to_chat(src, span_warning("No recorded playtime found!")) + return + to_chat(src, span_info("Your department hours:" + department_hours)) + +/// compiles a full list of verbs and sends it to the browser +/client/proc/init_verbs() + if(IsAdminAdvancedProcCall()) + return + var/list/verblist = list() + panel_tabs.Cut() + for(var/thing in (verbs + mob?.verbs)) + var/procpath/verb_to_init = thing + if(!verb_to_init) + continue + if(verb_to_init.hidden) + continue + if(!istext(verb_to_init.category)) + continue + panel_tabs |= verb_to_init.category + verblist[++verblist.len] = list(verb_to_init.category, verb_to_init.name, verb_to_init.desc) + src.stat_panel.send_message("init_verbs", list(panel_tabs = panel_tabs, verblist = verblist)) + +/client/proc/check_panel_loaded() + if(stat_panel && stat_panel.is_ready()) + return + to_chat(src, "Statpanel failed to load, click here to reload the panel. If this does not work, reconnecting will reassign a new panel.") + +/** + * Handles incoming messages from the stat-panel TGUI. + */ +/client/proc/on_stat_panel_message(type, payload) + switch(type) + if("Update-Verbs") + init_verbs() + if("Remove-Tabs") + panel_tabs -= payload["tab"] + if("Send-Tabs") + panel_tabs |= payload["tab"] + if("Reset-Tabs") + panel_tabs = list() + if("Set-Tab") + stat_tab = payload["tab"] + SSstatpanels.immediate_send_stat_data(src) + + +// Mouse stuff +/client/Click(atom/object, atom/location, control, params) + SEND_SIGNAL(src, COMSIG_CLIENT_CLICK, object, location, control, params, usr) + . = ..() diff --git a/code/modules/client/client procs_vr.dm b/code/modules/client/client procs_vr.dm index 7cea3d57769..fdc861aa186 100644 --- a/code/modules/client/client procs_vr.dm +++ b/code/modules/client/client procs_vr.dm @@ -17,10 +17,10 @@ //Service returns a single float in html body /client/proc/ipr_getipintel() - if(!config.ipr_email) + if(!CONFIG_GET(string/ipr_email)) return -1 - var/request = "https://check.getipintel.net/check.php?ip=[address]&contact=[config.ipr_email]" + var/request = "https://check.getipintel.net/check.php?ip=[address]&contact=[CONFIG_GET(string/ipr_email)]" var/http[] = world.Export(request) if(!http || !islist(http)) //If we couldn't check, the service might be down, fail-safe. @@ -30,7 +30,7 @@ //429 is rate limit exceeded if(text2num(http["STATUS"]) == 429) log_and_message_admins("getipintel.net reports HTTP status 429. IP reputation checking is now disabled. If you see this, let a developer know.") - config.ip_reputation = FALSE + CONFIG_SET(flag/ip_reputation, FALSE) return -1 var/content = file2text(http["CONTENT"]) //world.Export actually returns a file object in CONTENT @@ -61,7 +61,7 @@ log_and_message_admins(ipr_error) if(fatal) - config.ip_reputation = FALSE + CONFIG_SET(flag/ip_reputation, FALSE) log_and_message_admins("With this error, IP reputation checking is disabled for this shift. Let a developer know.") return -1 @@ -71,10 +71,10 @@ //Service returns JSON in html body /client/proc/ipr_ipqualityscore() - if(!config.ipqualityscore_apikey) + if(!CONFIG_GET(string/ipqualityscore_apikey)) return -1 - var/request = "https://www.ipqualityscore.com/api/json/ip/[config.ipqualityscore_apikey]/[address]?strictness=1&fast=true&byond_key=[key]" + var/request = "https://www.ipqualityscore.com/api/json/ip/[CONFIG_GET(string/ipqualityscore_apikey)]/[address]?strictness=1&fast=true&byond_key=[key]" var/http[] = world.Export(request) if(!http || !islist(http)) //If we couldn't check, the service might be down, fail-safe. diff --git a/code/modules/client/movement.dm b/code/modules/client/movement.dm index efcf51c02ee..c04cf26c30c 100644 --- a/code/modules/client/movement.dm +++ b/code/modules/client/movement.dm @@ -5,11 +5,10 @@ /client/verb/spinleft() set name = "Spin View CCW" - set category = "OOC" + set category = "OOC.Game" dir = turn(dir, 90) /client/verb/spinright() set name = "Spin View CW" - set category = "OOC" + set category = "OOC.Game" dir = turn(dir, -90) - diff --git a/code/modules/client/preference_setup/antagonism/01_basic.dm b/code/modules/client/preference_setup/antagonism/01_basic.dm index 8dc760a00ff..438692e1735 100644 --- a/code/modules/client/preference_setup/antagonism/01_basic.dm +++ b/code/modules/client/preference_setup/antagonism/01_basic.dm @@ -4,17 +4,17 @@ var/global/list/uplink_locations = list("PDA", "Headset", "None") name = "Basic" sort_order = 1 -/datum/category_item/player_setup_item/antagonism/basic/load_character(var/savefile/S) - S["uplinklocation"] >> pref.uplinklocation - S["exploit_record"] >> pref.exploit_record - S["antag_faction"] >> pref.antag_faction - S["antag_vis"] >> pref.antag_vis +/datum/category_item/player_setup_item/antagonism/basic/load_character(list/save_data) + pref.uplinklocation = save_data["uplinklocation"] + pref.exploit_record = save_data["exploit_record"] + pref.antag_faction = save_data["antag_faction"] + pref.antag_vis = save_data["antag_vis"] -/datum/category_item/player_setup_item/antagonism/basic/save_character(var/savefile/S) - S["uplinklocation"] << pref.uplinklocation - S["exploit_record"] << pref.exploit_record - S["antag_faction"] << pref.antag_faction - S["antag_vis"] << pref.antag_vis +/datum/category_item/player_setup_item/antagonism/basic/save_character(list/save_data) + save_data["uplinklocation"] = pref.uplinklocation + save_data["exploit_record"] = pref.exploit_record + save_data["antag_faction"] = pref.antag_faction + save_data["antag_vis"] = pref.antag_vis /datum/category_item/player_setup_item/antagonism/basic/sanitize_character() pref.uplinklocation = sanitize_inlist(pref.uplinklocation, uplink_locations, initial(pref.uplinklocation)) @@ -30,11 +30,11 @@ var/global/list/uplink_locations = list("PDA", "Headset", "None") /datum/category_item/player_setup_item/antagonism/basic/content(var/mob/user) . += "Faction: [pref.antag_faction]
    " . += "Visibility: [pref.antag_vis]
    " - . +="Uplink Type : [pref.uplinklocation]" + . +=span_bold("Uplink Type : [pref.uplinklocation]") . +="
    " - . +="Exploitable information:
    " + . +=span_bold("Exploitable information:") + "
    " if(jobban_isbanned(user, "Records")) - . += "You are banned from using character records.
    " + . += span_bold("You are banned from using character records.") + "
    " else . +="[TextPreview(pref.exploit_record,40)]
    " diff --git a/code/modules/client/preference_setup/antagonism/02_candidacy.dm b/code/modules/client/preference_setup/antagonism/02_candidacy.dm index 945491ed0d0..5c1c58fc72f 100644 --- a/code/modules/client/preference_setup/antagonism/02_candidacy.dm +++ b/code/modules/client/preference_setup/antagonism/02_candidacy.dm @@ -20,10 +20,11 @@ var/global/list/special_roles = list( //keep synced with the defines BE_* in set //VOREStation Add "lost drone" = 1, // 16 "maint pred" = 1, // 17 - "morph" = 1, // 18 - "corgi" = 1, // 19 - "cursed sword" = 1, // 20 - "Ship Survivor" = 1, // 21 + "maint lurker" = 1, // 18 + "morph" = 1, // 19 + "corgi" = 1, // 20 + "cursed sword" = 1, // 21 + "Ship Survivor" = 1, // 22 //VOREStation Add End ) @@ -31,27 +32,27 @@ var/global/list/special_roles = list( //keep synced with the defines BE_* in set name = "Candidacy" sort_order = 2 -/datum/category_item/player_setup_item/antagonism/candidacy/load_character(var/savefile/S) - S["be_special"] >> pref.be_special +/datum/category_item/player_setup_item/antagonism/candidacy/load_character(list/save_data) + pref.be_special = save_data["be_special"] -/datum/category_item/player_setup_item/antagonism/candidacy/save_character(var/savefile/S) - S["be_special"] << pref.be_special +/datum/category_item/player_setup_item/antagonism/candidacy/save_character(list/save_data) + save_data["be_special"] = pref.be_special /datum/category_item/player_setup_item/antagonism/candidacy/sanitize_character() pref.be_special = sanitize_integer(pref.be_special, 0, 16777215, initial(pref.be_special)) //VOREStation Edit - 24 bits of support /datum/category_item/player_setup_item/antagonism/candidacy/content(var/mob/user) - if(jobban_isbanned(user, "Syndicate")) - . += "You are banned from antagonist roles." + if(jobban_isbanned(user, JOB_SYNDICATE)) + . += span_bold("You are banned from antagonist roles.") pref.be_special = 0 else var/n = 0 for (var/i in special_roles) if(special_roles[i]) //if mode is available on the server - if(jobban_isbanned(user, i) || (i == "positronic brain" && jobban_isbanned(user, "AI") && jobban_isbanned(user, "Cyborg")) || (i == "pAI candidate" && jobban_isbanned(user, "pAI"))) - . += "Be [i]: \[BANNED]
    " + if(jobban_isbanned(user, i) || (i == "positronic brain" && jobban_isbanned(user, JOB_AI) && jobban_isbanned(user, JOB_CYBORG)) || (i == "pAI candidate" && jobban_isbanned(user, JOB_PAI))) + . += span_bold("Be [i]:") + " \[BANNED]
    " else - . += "Be [i]: [pref.be_special&(1<
    " + . += span_bold("Be [i]:") + " " + span_bold("[pref.be_special&(1<
    " n++ /datum/category_item/player_setup_item/antagonism/candidacy/OnTopic(var/href,var/list/href_list, var/mob/user) diff --git a/code/modules/client/preference_setup/general/01_basic.dm b/code/modules/client/preference_setup/general/01_basic.dm index dc4202f912c..ac56b2b005b 100644 --- a/code/modules/client/preference_setup/general/01_basic.dm +++ b/code/modules/client/preference_setup/general/01_basic.dm @@ -10,37 +10,37 @@ name = "Basic" sort_order = 1 -/datum/category_item/player_setup_item/general/basic/load_character(var/savefile/S) - S["real_name"] >> pref.real_name - S["nickname"] >> pref.nickname - S["name_is_always_random"] >> pref.be_random_name - S["gender"] >> pref.biological_gender - S["id_gender"] >> pref.identifying_gender - S["age"] >> pref.age - S["bday_month"] >> pref.bday_month - S["bday_day"] >> pref.bday_day - S["last_bday_note"] >> pref.last_birthday_notification - S["bday_announce"] >> pref.bday_announce - S["spawnpoint"] >> pref.spawnpoint - S["OOC_Notes"] >> pref.metadata - S["OOC_Notes_Likes"] >> pref.metadata_likes - S["OOC_Notes_Disikes"] >> pref.metadata_dislikes - -/datum/category_item/player_setup_item/general/basic/save_character(var/savefile/S) - S["real_name"] << pref.real_name - S["nickname"] << pref.nickname - S["name_is_always_random"] << pref.be_random_name - S["gender"] << pref.biological_gender - S["id_gender"] << pref.identifying_gender - S["age"] << pref.age - S["bday_month"] << pref.bday_month - S["bday_day"] << pref.bday_day - S["last_bday_note"] << pref.last_birthday_notification - S["bday_announce"] << pref.bday_announce - S["spawnpoint"] << pref.spawnpoint - S["OOC_Notes"] << pref.metadata - S["OOC_Notes_Likes"] << pref.metadata_likes - S["OOC_Notes_Disikes"] << pref.metadata_dislikes +/datum/category_item/player_setup_item/general/basic/load_character(list/save_data) + pref.real_name = save_data["real_name"] + pref.nickname = save_data["nickname"] + pref.be_random_name = save_data["name_is_always_random"] + pref.biological_gender = save_data["gender"] + pref.identifying_gender = save_data["id_gender"] + pref.age = save_data["age"] + pref.bday_month = save_data["bday_month"] + pref.bday_day = save_data["bday_day"] + pref.last_birthday_notification = save_data["last_bday_note"] + pref.bday_announce = save_data["bday_announce"] + pref.spawnpoint = save_data["spawnpoint"] + pref.metadata = save_data["OOC_Notes"] + pref.metadata_likes = save_data["OOC_Notes_Likes"] + pref.metadata_dislikes = save_data["OOC_Notes_Disikes"] + +/datum/category_item/player_setup_item/general/basic/save_character(list/save_data) + save_data["real_name"] = pref.real_name + save_data["nickname"] = pref.nickname + save_data["name_is_always_random"] = pref.be_random_name + save_data["gender"] = pref.biological_gender + save_data["id_gender"] = pref.identifying_gender + save_data["age"] = pref.age + save_data["bday_month"] = pref.bday_month + save_data["bday_day"] = pref.bday_day + save_data["last_bday_note"] = pref.last_birthday_notification + save_data["bday_announce"] = pref.bday_announce + save_data["spawnpoint"] = pref.spawnpoint + save_data["OOC_Notes"] = pref.metadata + save_data["OOC_Notes_Likes"] = pref.metadata_likes + save_data["OOC_Notes_Disikes"] = pref.metadata_dislikes /datum/category_item/player_setup_item/general/basic/sanitize_character() pref.age = sanitize_integer(pref.age, get_min_age(), get_max_age(), initial(pref.age)) @@ -58,7 +58,7 @@ // Moved from /datum/preferences/proc/copy_to() /datum/category_item/player_setup_item/general/basic/copy_to_mob(var/mob/living/carbon/human/character) - if(config.humans_need_surnames) + if(CONFIG_GET(flag/humans_need_surnames)) var/firstspace = findtext(pref.real_name, " ") var/name_length = length(pref.real_name) if(!firstspace) //we need a surname @@ -81,20 +81,20 @@ /datum/category_item/player_setup_item/general/basic/content() . = list() - . += "Name: " + . += span_bold("Name:") + " " . += "
    [pref.real_name]
    " . += "Randomize Name
    " . += "Always Random Name: [pref.be_random_name ? "Yes" : "No"]
    " - . += "Nickname: " + . += span_bold("Nickname:") + " " . += "[pref.nickname]" . += "(Clear)" . += "
    " - . += "Biological Sex: [gender2text(pref.biological_gender)]
    " - . += "Pronouns: [gender2text(pref.identifying_gender)]
    " - . += "Age: [pref.age] Birthday: [pref.bday_month]/[pref.bday_day] - Announce?: [pref.bday_announce ? "Yes" : "No"]
    " - . += "Spawn Point: [pref.spawnpoint]
    " - if(config.allow_Metadata) - . += "OOC Notes: EditLikesDislikes
    " + . += span_bold("Biological Sex:") + " [gender2text(pref.biological_gender)]
    " + . += span_bold("Pronouns:") + " [gender2text(pref.identifying_gender)]
    " + . += span_bold("Age:") + " [pref.age] Birthday: [pref.bday_month]/[pref.bday_day] - Announce?: [pref.bday_announce ? "Yes" : "No"]
    " + . += span_bold("Spawn Point") + ": [pref.spawnpoint]
    " + if(CONFIG_GET(flag/allow_metadata)) + . += span_bold("OOC Notes: EditLikesDislikes") + "
    " . = jointext(.,null) /datum/category_item/player_setup_item/general/basic/OnTopic(var/href,var/list/href_list, var/mob/user) @@ -106,7 +106,7 @@ pref.real_name = new_name return TOPIC_REFRESH else - to_chat(user, "Invalid name. Your name should be at least 2 and at most [MAX_NAME_LEN] characters long. It may only contain the characters A-Z, a-z, -, ' and .") + to_chat(user, span_warning("Invalid name. Your name should be at least 2 and at most [MAX_NAME_LEN] characters long. It may only contain the characters A-Z, a-z, -, ' and .")) return TOPIC_NOACTION else if(href_list["random_name"]) @@ -125,7 +125,7 @@ pref.nickname = new_nickname return TOPIC_REFRESH else - to_chat(user, "Invalid name. Your name should be at least 2 and at most [MAX_NAME_LEN] characters long. It may only contain the characters A-Z, a-z, -, ' and .") + to_chat(user, span_warning("Invalid name. Your name should be at least 2 and at most [MAX_NAME_LEN] characters long. It may only contain the characters A-Z, a-z, -, ' and .")) return TOPIC_NOACTION else if(href_list["reset_nickname"]) diff --git a/code/modules/client/preference_setup/general/02_language.dm b/code/modules/client/preference_setup/general/02_language.dm index 0b86c67b04e..06a7fc6f260 100644 --- a/code/modules/client/preference_setup/general/02_language.dm +++ b/code/modules/client/preference_setup/general/02_language.dm @@ -1,31 +1,29 @@ /datum/preferences var/extra_languages = 0 var/preferred_language = "common" // VOREStation Edit: Allow selecting a preferred language + var/runechat_color = COLOR_BLACK /datum/category_item/player_setup_item/general/language name = "Language" sort_order = 2 var/static/list/forbidden_prefixes = list(";", ":", ".", "!", "*", "^", "-") -/datum/category_item/player_setup_item/general/language/load_character(var/savefile/S) - S["language"] >> pref.alternate_languages - S["extra_languages"] >> pref.extra_languages - if(islist(pref.alternate_languages)) // Because aparently it may not be? - testing("LANGSANI: Loaded from [pref.client]'s character [pref.real_name || "-name not yet loaded-"] savefile: [english_list(pref.alternate_languages || list())]") - S["language_prefixes"] >> pref.language_prefixes - //VORE Edit Begin - S["preflang"] >> pref.preferred_language - //VORE Edit End - S["language_custom_keys"] >> pref.language_custom_keys - -/datum/category_item/player_setup_item/general/language/save_character(var/savefile/S) - S["language"] << pref.alternate_languages - S["extra_languages"] << pref.extra_languages - if(islist(pref.alternate_languages)) // Because aparently it may not be? - testing("LANGSANI: Loaded from [pref.client]'s character [pref.real_name || "-name not yet loaded-"] savefile: [english_list(pref.alternate_languages || list())]") - S["language_prefixes"] << pref.language_prefixes - S["language_custom_keys"] << pref.language_custom_keys - S["preflang"] << pref.preferred_language // VOREStation Edit +/datum/category_item/player_setup_item/general/language/load_character(list/save_data) + pref.alternate_languages = check_list_copy(save_data["language"]) + pref.extra_languages = save_data["extra_languages"] + pref.language_prefixes = save_data["language_prefixes"] + pref.species = save_data["species"] + pref.preferred_language = save_data["preflang"] + pref.language_custom_keys = check_list_copy(save_data["language_custom_keys"]) + pref.runechat_color = save_data["runechat_color"] + +/datum/category_item/player_setup_item/general/language/save_character(list/save_data) + save_data["language"] = check_list_copy(pref.alternate_languages) + save_data["extra_languages"] = pref.extra_languages + save_data["language_prefixes"] = pref.language_prefixes + save_data["language_custom_keys"] = pref.language_custom_keys + save_data["preflang"] = check_list_copy(pref.preferred_language) + save_data["runechat_color"] = pref.runechat_color /datum/category_item/player_setup_item/general/language/sanitize_character() if(!islist(pref.alternate_languages)) @@ -54,7 +52,8 @@ pref.alternate_languages -= language if(isnull(pref.language_prefixes) || !pref.language_prefixes.len) - pref.language_prefixes = config.language_prefixes.Copy() + var/list/prefixes = CONFIG_GET(str_list/language_prefixes) + pref.language_prefixes = prefixes.Copy() for(var/prefix in pref.language_prefixes) if(prefix in forbidden_prefixes) pref.language_prefixes -= prefix @@ -67,8 +66,10 @@ if(!((pref.language_custom_keys[key] == S.language) || (pref.language_custom_keys[key] == S.default_language && S.default_language != S.language) || (pref.language_custom_keys[key] in pref.alternate_languages))) pref.language_custom_keys.Remove(key) + pref.runechat_color = sanitize_hexcolor(pref.runechat_color, COLOR_BLACK) + /datum/category_item/player_setup_item/general/language/content() - . += "Languages
    " + . += span_bold("Languages") + "
    " var/datum/species/S = GLOB.all_species[pref.species] if(pref.alternate_languages.len > (S.num_alternate_languages + pref.extra_languages)) testing("LANGSANI: Truncated [pref.client]'s character [pref.real_name || "-name not yet loaded-"] language list because it was too long (len: [pref.alternate_languages.len], allowed: [S.num_alternate_languages])") @@ -88,9 +89,10 @@ else . += "- [pref.species] cannot choose secondary languages.
    " - . += "Language Keys
    " + . += span_bold("Language Keys") + "
    " . += " [jointext(pref.language_prefixes, " ")] Change Reset
    " - . += "Preferred Language [pref.preferred_language]
    " // VOREStation Add + . += span_bold("Preferred Language") + " [pref.preferred_language]
    " // VOREStation Add + . += span_bold("Runechat Color") + " Change Runechat Color [color_square(hex = pref.runechat_color)]" /datum/category_item/player_setup_item/general/language/OnTopic(var/href,var/list/href_list, var/mob/user) if(href_list["remove_language"]) @@ -147,7 +149,8 @@ pref.language_prefixes = keys return TOPIC_REFRESH else if(href_list["reset_prefix"]) - pref.language_prefixes = config.language_prefixes.Copy() + var/list/prefixes = CONFIG_GET(str_list/language_prefixes) + pref.language_prefixes = prefixes.Copy() return TOPIC_REFRESH else if(href_list["set_custom_key"]) @@ -195,5 +198,17 @@ return TOPIC_REFRESH // VOREStation Add End + else if(href_list["pref_runechat_color"]) + var/new_runechat_color = input(user, "Choose your character's runechat colour (#000000 for random):", "Character Preference", pref.runechat_color) as color|null + if(new_runechat_color && CanUseTopic(user)) + pref.runechat_color = new_runechat_color + // whenever we change this, we update our mob + var/mob/pref_mob = preference_mob() + if(pref_mob) + pref_mob.chat_color = new_runechat_color + pref_mob.chat_color_darkened = new_runechat_color + pref_mob.chat_color_name = pref_mob.name + return TOPIC_REFRESH + return ..() diff --git a/code/modules/client/preference_setup/general/03_body.dm b/code/modules/client/preference_setup/general/03_body.dm index e20597dd0be..b06967a97a8 100644 --- a/code/modules/client/preference_setup/general/03_body.dm +++ b/code/modules/client/preference_setup/general/03_body.dm @@ -17,6 +17,15 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O var/r_ears3 = 30 // Ear tertiary color. var/g_ears3 = 30 // Ear tertiary color var/b_ears3 = 30 // Ear tertiary color + + /// The typepath of the character's selected secondary ears. + var/ear_secondary_style + /// The color channels for the character's selected secondary ears + /// + /// * This is a lazy list. Its length, when populated, should but cannot be assumed + /// to be the number of color channels supported by the secondary ear style. + var/list/ear_secondary_colors = list() + var/tail_style // Type of selected tail style var/r_tail = 30 // Tail/Taur color var/g_tail = 30 // Tail/Taur color @@ -27,6 +36,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O var/r_tail3 = 30 // For tertiary overlay. var/g_tail3 = 30 // For tertiary overlay. var/b_tail3 = 30 // For tertiary overlay. + var/wing_style // Type of selected wing style var/r_wing = 30 // Wing color var/g_wing = 30 // Wing color @@ -37,6 +47,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O var/r_wing3 = 30 // Wing tertiary color var/g_wing3 = 30 // Wing tertiary color var/b_wing3 = 30 // Wing tertiary color + var/datum/browser/markings_subwindow = null // Sanitize ear/wing/tail styles @@ -59,6 +70,8 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O // Sanitize for non-existent keys. if(ear_style && !(ear_style in get_available_styles(global.ear_styles_list))) ear_style = null + if(ear_secondary_style && !(ear_secondary_style in get_available_styles(global.ear_styles_list))) + ear_secondary_style = null if(wing_style && !(wing_style in get_available_styles(global.wing_styles_list))) wing_style = null if(tail_style && !(tail_style in get_available_styles(global.tail_styles_list))) @@ -90,147 +103,160 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O name = "Body" sort_order = 3 -/datum/category_item/player_setup_item/general/body/load_character(var/savefile/S) - S["species"] >> pref.species - S["hair_red"] >> pref.r_hair - S["hair_green"] >> pref.g_hair - S["hair_blue"] >> pref.b_hair - S["facial_red"] >> pref.r_facial - S["grad_red"] >> pref.r_grad - S["grad_green"] >> pref.g_grad - S["grad_blue"] >> pref.b_grad - S["facial_green"] >> pref.g_facial - S["facial_blue"] >> pref.b_facial - S["skin_tone"] >> pref.s_tone - S["skin_red"] >> pref.r_skin - S["skin_green"] >> pref.g_skin - S["skin_blue"] >> pref.b_skin - S["hair_style_name"] >> pref.h_style - S["facial_style_name"] >> pref.f_style - S["grad_style_name"] >> pref.grad_style - S["eyes_red"] >> pref.r_eyes - S["eyes_green"] >> pref.g_eyes - S["eyes_blue"] >> pref.b_eyes - S["b_type"] >> pref.b_type - S["disabilities"] >> pref.disabilities - S["organ_data"] >> pref.organ_data - S["rlimb_data"] >> pref.rlimb_data - S["body_markings"] >> pref.body_markings - S["synth_color"] >> pref.synth_color - S["synth_red"] >> pref.r_synth - S["synth_green"] >> pref.g_synth - S["synth_blue"] >> pref.b_synth - S["synth_markings"] >> pref.synth_markings - S["bgstate"] >> pref.bgstate - S["body_descriptors"] >> pref.body_descriptors - S["ear_style"] >> pref.ear_style - S["r_ears"] >> pref.r_ears - S["g_ears"] >> pref.g_ears - S["b_ears"] >> pref.b_ears - S["r_ears2"] >> pref.r_ears2 - S["g_ears2"] >> pref.g_ears2 - S["b_ears2"] >> pref.b_ears2 - S["r_ears3"] >> pref.r_ears3 - S["g_ears3"] >> pref.g_ears3 - S["b_ears3"] >> pref.b_ears3 - S["tail_style"] >> pref.tail_style - S["r_tail"] >> pref.r_tail - S["g_tail"] >> pref.g_tail - S["b_tail"] >> pref.b_tail - S["r_tail2"] >> pref.r_tail2 - S["g_tail2"] >> pref.g_tail2 - S["b_tail2"] >> pref.b_tail2 - S["r_tail3"] >> pref.r_tail3 - S["g_tail3"] >> pref.g_tail3 - S["b_tail3"] >> pref.b_tail3 - S["wing_style"] >> pref.wing_style - S["r_wing"] >> pref.r_wing - S["g_wing"] >> pref.g_wing - S["b_wing"] >> pref.b_wing - S["r_wing2"] >> pref.r_wing2 - S["g_wing2"] >> pref.g_wing2 - S["b_wing2"] >> pref.b_wing2 - S["r_wing3"] >> pref.r_wing3 - S["g_wing3"] >> pref.g_wing3 - S["b_wing3"] >> pref.b_wing3 - S["digitigrade"] >> pref.digitigrade - S["Wingdings"] >> pref.wingdings //YWadd start - S["colorblind_mono"] >> pref.colorblind_mono - S["colorblind_vulp"] >> pref.colorblind_vulp - S["colorblind_taj"] >> pref.colorblind_taj - S["haemophilia"] >> pref.haemophilia //YWadd end - -/datum/category_item/player_setup_item/general/body/save_character(var/savefile/S) - S["species"] << pref.species - S["hair_red"] << pref.r_hair - S["hair_green"] << pref.g_hair - S["hair_blue"] << pref.b_hair - S["grad_red"] << pref.r_grad - S["grad_green"] << pref.g_grad - S["grad_blue"] << pref.b_grad - S["facial_red"] << pref.r_facial - S["facial_green"] << pref.g_facial - S["facial_blue"] << pref.b_facial - S["skin_tone"] << pref.s_tone - S["skin_red"] << pref.r_skin - S["skin_green"] << pref.g_skin - S["skin_blue"] << pref.b_skin - S["hair_style_name"] << pref.h_style - S["facial_style_name"] << pref.f_style - S["grad_style_name"] << pref.grad_style - S["eyes_red"] << pref.r_eyes - S["eyes_green"] << pref.g_eyes - S["eyes_blue"] << pref.b_eyes - S["b_type"] << pref.b_type - S["disabilities"] << pref.disabilities - S["organ_data"] << pref.organ_data - S["rlimb_data"] << pref.rlimb_data - S["body_markings"] << pref.body_markings - S["synth_color"] << pref.synth_color - S["synth_red"] << pref.r_synth - S["synth_green"] << pref.g_synth - S["synth_blue"] << pref.b_synth - S["synth_markings"] << pref.synth_markings - S["bgstate"] << pref.bgstate - S["body_descriptors"] << pref.body_descriptors - S["ear_style"] << pref.ear_style - S["r_ears"] << pref.r_ears - S["g_ears"] << pref.g_ears - S["b_ears"] << pref.b_ears - S["r_ears2"] << pref.r_ears2 - S["g_ears2"] << pref.g_ears2 - S["b_ears2"] << pref.b_ears2 - S["r_ears3"] << pref.r_ears3 - S["g_ears3"] << pref.g_ears3 - S["b_ears3"] << pref.b_ears3 - S["tail_style"] << pref.tail_style - S["r_tail"] << pref.r_tail - S["g_tail"] << pref.g_tail - S["b_tail"] << pref.b_tail - S["r_tail2"] << pref.r_tail2 - S["g_tail2"] << pref.g_tail2 - S["b_tail2"] << pref.b_tail2 - S["r_tail3"] << pref.r_tail3 - S["g_tail3"] << pref.g_tail3 - S["b_tail3"] << pref.b_tail3 - S["wing_style"] << pref.wing_style - S["r_wing"] << pref.r_wing - S["g_wing"] << pref.g_wing - S["b_wing"] << pref.b_wing - S["r_wing2"] << pref.r_wing2 - S["g_wing2"] << pref.g_wing2 - S["b_wing2"] << pref.b_wing2 - S["r_wing3"] << pref.r_wing3 - S["g_wing3"] << pref.g_wing3 - S["b_wing3"] << pref.b_wing3 - S["digitigrade"] << pref.digitigrade - S["Wingdings"] << pref.wingdings //YWadd start - S["colorblind_mono"] << pref.colorblind_mono - S["colorblind_vulp"] << pref.colorblind_vulp - S["colorblind_taj"] << pref.colorblind_taj - S["haemophilia"] << pref.haemophilia //YWadd end - -/datum/category_item/player_setup_item/general/body/sanitize_character(var/savefile/S) +/datum/category_item/player_setup_item/general/body/load_character(list/save_data) + pref.species = save_data["species"] + pref.r_hair = save_data["hair_red"] + pref.g_hair = save_data["hair_green"] + pref.b_hair = save_data["hair_blue"] + pref.r_facial = save_data["facial_red"] + pref.r_grad = save_data["grad_red"] + pref.g_grad = save_data["grad_green"] + pref.b_grad = save_data["grad_blue"] + pref.g_facial = save_data["facial_green"] + pref.b_facial = save_data["facial_blue"] + pref.s_tone = save_data["skin_tone"] + pref.r_skin = save_data["skin_red"] + pref.g_skin = save_data["skin_green"] + pref.b_skin = save_data["skin_blue"] + pref.h_style = save_data["hair_style_name"] + pref.f_style = save_data["facial_style_name"] + pref.grad_style = save_data["grad_style_name"] + pref.r_eyes = save_data["eyes_red"] + pref.g_eyes = save_data["eyes_green"] + pref.b_eyes = save_data["eyes_blue"] + pref.b_type = save_data["b_type"] + pref.disabilities = save_data["disabilities"] + pref.organ_data = check_list_copy(save_data["organ_data"]) + pref.rlimb_data = check_list_copy(save_data["rlimb_data"]) + pref.body_markings = check_list_copy(save_data["body_markings"]) + for(var/i in pref.body_markings) + pref.body_markings[i] = check_list_copy(pref.body_markings[i]) + for(var/j in pref.body_markings[i]) + pref.body_markings[i][j] = check_list_copy(pref.body_markings[i][j]) + pref.synth_color = save_data["synth_color"] + pref.r_synth = save_data["synth_red"] + pref.g_synth = save_data["synth_green"] + pref.b_synth = save_data["synth_blue"] + pref.synth_markings = save_data["synth_markings"] + pref.bgstate = save_data["bgstate"] + pref.body_descriptors = check_list_copy(save_data["body_descriptors"]) + pref.ear_style = save_data["ear_style"] + pref.r_ears = save_data["r_ears"] + pref.g_ears = save_data["g_ears"] + pref.b_ears = save_data["b_ears"] + pref.r_ears2 = save_data["r_ears2"] + pref.g_ears2 = save_data["g_ears2"] + pref.b_ears2 = save_data["b_ears2"] + pref.r_ears3 = save_data["r_ears3"] + pref.g_ears3 = save_data["g_ears3"] + pref.b_ears3 = save_data["b_ears3"] + pref.ear_secondary_style = save_data["ear_secondary_style"] + pref.ear_secondary_colors = save_data["ear_secondary_colors"] + pref.tail_style = save_data["tail_style"] + pref.r_tail = save_data["r_tail"] + pref.g_tail = save_data["g_tail"] + pref.b_tail = save_data["b_tail"] + pref.r_tail2 = save_data["r_tail2"] + pref.g_tail2 = save_data["g_tail2"] + pref.b_tail2 = save_data["b_tail2"] + pref.r_tail3 = save_data["r_tail3"] + pref.g_tail3 = save_data["g_tail3"] + pref.b_tail3 = save_data["b_tail3"] + pref.wing_style = save_data["wing_style"] + pref.r_wing = save_data["r_wing"] + pref.g_wing = save_data["g_wing"] + pref.b_wing = save_data["b_wing"] + pref.r_wing2 = save_data["r_wing2"] + pref.g_wing2 = save_data["g_wing2"] + pref.b_wing2 = save_data["b_wing2"] + pref.r_wing3 = save_data["r_wing3"] + pref.g_wing3 = save_data["g_wing3"] + pref.b_wing3 = save_data["b_wing3"] + pref.digitigrade = save_data["digitigrade"] + pref.wingdings = save_data["Wingdings"]// YW add start + pref.colorblind_mono = save_data["colorblind_mono"] + pref.colorblind_vulp = save_data["colorblind_vulp"] + pref.colorblind_taj = save_data["colorblind_taj"] + pref.haemophilia = save_data["haemophilia"] // YW add end + +/datum/category_item/player_setup_item/general/body/save_character(list/save_data) + save_data["species"] = pref.species + save_data["hair_red"] = pref.r_hair + save_data["hair_green"] = pref.g_hair + save_data["hair_blue"] = pref.b_hair + save_data["grad_red"] = pref.r_grad + save_data["grad_green"] = pref.g_grad + save_data["grad_blue"] = pref.b_grad + save_data["facial_red"] = pref.r_facial + save_data["facial_green"] = pref.g_facial + save_data["facial_blue"] = pref.b_facial + save_data["skin_tone"] = pref.s_tone + save_data["skin_red"] = pref.r_skin + save_data["skin_green"] = pref.g_skin + save_data["skin_blue"] = pref.b_skin + save_data["hair_style_name"] = pref.h_style + save_data["facial_style_name"] = pref.f_style + save_data["grad_style_name"] = pref.grad_style + save_data["eyes_red"] = pref.r_eyes + save_data["eyes_green"] = pref.g_eyes + save_data["eyes_blue"] = pref.b_eyes + save_data["b_type"] = pref.b_type + save_data["disabilities"] = pref.disabilities + save_data["organ_data"] = check_list_copy(pref.organ_data) + save_data["rlimb_data"] = check_list_copy(pref.rlimb_data) + var/list/body_markings = check_list_copy(pref.body_markings) + for(var/i in pref.body_markings) + body_markings[i] = check_list_copy(body_markings[i]) + for(var/j in body_markings[i]) + body_markings[i][j] = check_list_copy(body_markings[i][j]) + save_data["body_markings"] = body_markings + save_data["synth_color"] = pref.synth_color + save_data["synth_red"] = pref.r_synth + save_data["synth_green"] = pref.g_synth + save_data["synth_blue"] = pref.b_synth + save_data["synth_markings"] = pref.synth_markings + save_data["bgstate"] = pref.bgstate + save_data["body_descriptors"] = check_list_copy(pref.body_descriptors) + save_data["ear_style"] = pref.ear_style + save_data["r_ears"] = pref.r_ears + save_data["g_ears"] = pref.g_ears + save_data["b_ears"] = pref.b_ears + save_data["r_ears2"] = pref.r_ears2 + save_data["g_ears2"] = pref.g_ears2 + save_data["b_ears2"] = pref.b_ears2 + save_data["r_ears3"] = pref.r_ears3 + save_data["g_ears3"] = pref.g_ears3 + save_data["b_ears3"] = pref.b_ears3 + save_data["ear_secondary_style"] = pref.ear_secondary_style + save_data["ear_secondary_colors"] = pref.ear_secondary_colors + save_data["tail_style"] = pref.tail_style + save_data["r_tail"] = pref.r_tail + save_data["g_tail"] = pref.g_tail + save_data["b_tail"] = pref.b_tail + save_data["r_tail2"] = pref.r_tail2 + save_data["g_tail2"] = pref.g_tail2 + save_data["b_tail2"] = pref.b_tail2 + save_data["r_tail3"] = pref.r_tail3 + save_data["g_tail3"] = pref.g_tail3 + save_data["b_tail3"] = pref.b_tail3 + save_data["wing_style"] = pref.wing_style + save_data["r_wing"] = pref.r_wing + save_data["g_wing"] = pref.g_wing + save_data["b_wing"] = pref.b_wing + save_data["r_wing2"] = pref.r_wing2 + save_data["g_wing2"] = pref.g_wing2 + save_data["b_wing2"] = pref.b_wing2 + save_data["r_wing3"] = pref.r_wing3 + save_data["g_wing3"] = pref.g_wing3 + save_data["b_wing3"] = pref.b_wing3 + save_data["digitigrade"] = pref.digitigrade + save_data["Wingdings"] = pref.wingdings // YW add start + save_data["colorblind_mono"] = pref.colorblind_mono + save_data["colorblind_vulp"] = pref.colorblind_vulp + save_data["colorblind_taj"] = pref.colorblind_taj + save_data["haemophilia"] = pref.haemophilia // YW add end + +/datum/category_item/player_setup_item/general/body/sanitize_character() if(!pref.species || !(pref.species in GLOB.playable_species)) pref.species = SPECIES_HUMAN pref.r_hair = sanitize_integer(pref.r_hair, 0, 255, initial(pref.r_hair)) @@ -275,6 +301,14 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O pref.r_ears3 = sanitize_integer(pref.r_ears3, 0, 255, initial(pref.r_ears3)) pref.g_ears3 = sanitize_integer(pref.g_ears3, 0, 255, initial(pref.g_ears3)) pref.b_ears3 = sanitize_integer(pref.b_ears3, 0, 255, initial(pref.b_ears3)) + + // sanitize secondary ears + pref.ear_secondary_colors = SANITIZE_LIST(pref.ear_secondary_colors) + if(length(pref.ear_secondary_colors) > length(GLOB.fancy_sprite_accessory_color_channel_names)) + pref.ear_secondary_colors.len = length(GLOB.fancy_sprite_accessory_color_channel_names) + for(var/i in 1 to length(pref.ear_secondary_colors)) + pref.ear_secondary_colors[i] = sanitize_hexcolor(pref.ear_secondary_colors[i], "#ffffff") + pref.r_tail = sanitize_integer(pref.r_tail, 0, 255, initial(pref.r_tail)) pref.g_tail = sanitize_integer(pref.g_tail, 0, 255, initial(pref.g_tail)) pref.b_tail = sanitize_integer(pref.b_tail, 0, 255, initial(pref.b_tail)) @@ -365,6 +399,10 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O character.b_ears3 = pref.b_ears3 character.g_ears3 = pref.g_ears3 + // apply secondary ears; sanitize again to prevent runtimes in rendering + character.ear_secondary_style = ear_styles[pref.ear_secondary_style] + character.ear_secondary_colors = SANITIZE_LIST(pref.ear_secondary_colors) + var/list/tail_styles = pref.get_available_styles(global.tail_styles_list) character.tail_style = tail_styles[pref.tail_style] character.r_tail = pref.r_tail @@ -532,11 +570,17 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O ++ind if(ind > 1) . += ", " - var/datum/robolimb/R - if(pref.rlimb_data[name] && all_robolimbs[pref.rlimb_data[name]]) - R = all_robolimbs[pref.rlimb_data[name]] + + var/datum/robolimb/R = basic_robolimb + var/key = pref.rlimb_data[name] + if(!istext(key)) + log_debug("Bad rlimb_data for [key_name(pref.client)], [name] was set to [key]") + to_chat(usr, span_warning("Error loading robot limb data for `[name]`, clearing pref.")) + pref.rlimb_data -= name else - R = basic_robolimb + R = LAZYACCESS(all_robolimbs, key) + if(!istype(R)) + R = basic_robolimb . += "\t[R.company] [organ_name] prosthesis" else if(status == "amputated") ++ind @@ -593,12 +637,12 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O . += "
    [pref.animations_toggle ? "Stop animations" : "Show animations"]" . += "
    " - . += "Hair
    " + . += span_bold("Hair") + "
    " if(has_flag(mob_species, HAS_HAIR_COLOR)) . += "Change Color [color_square(pref.r_hair, pref.g_hair, pref.b_hair)] " . += " Style: < > [pref.h_style]
    " //The < & > in this line is correct-- those extra characters are the arrows you click to switch between styles. - . += "Gradient
    " + . += span_bold("Gradient") + "
    " . += "Change Color [color_square(pref.r_grad, pref.g_grad, pref.b_grad)] " . += " Style: < > [pref.grad_style]
    " @@ -622,7 +666,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O var/list/ear_styles = pref.get_available_styles(global.ear_styles_list) var/datum/sprite_accessory/ears/ear = ear_styles[pref.ear_style] - . += "Ears
    " + . += span_bold("Ears") + "
    " if(istype(ear)) . += " Style: [ear.name]
    " if(ear.do_colouration) @@ -634,9 +678,18 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O else . += " Style: Select
    " + var/datum/sprite_accessory/ears/ears_secondary = ear_styles[pref.ear_secondary_style] + . += span_bold("Horns") + "
    " + if(istype(ears_secondary)) + . += " Style: [ears_secondary.name]
    " + for(var/channel in 1 to min(ears_secondary.get_color_channel_count(), length(GLOB.fancy_sprite_accessory_color_channel_names))) + . += "Change [GLOB.fancy_sprite_accessory_color_channel_names[channel]] Color [color_square(hex = LAZYACCESS(pref.ear_secondary_colors, channel) || "#ffffff")]
    " + else + . += " Style: Select
    " + var/list/tail_styles = pref.get_available_styles(global.tail_styles_list) var/datum/sprite_accessory/tail/tail = tail_styles[pref.tail_style] - . += "Tail
    " + . += span_bold("Tail") + "
    " if(istype(tail)) . += " Style: [tail.name]
    " if(tail.do_colouration) @@ -650,7 +703,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O var/list/wing_styles = pref.get_available_styles(global.wing_styles_list) var/datum/sprite_accessory/wing/wings = wing_styles[pref.wing_style] - . += "Wing
    " + . += span_bold("Wing") + "
    " if(istype(wings)) . += " Style: [wings.name]
    " if(wings.do_colouration) @@ -669,8 +722,8 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O . += "
    " . += "
    " - . += "Allow Synth markings: [pref.synth_markings ? "Yes" : "No"]
    " - . += "Allow Synth color: [pref.synth_color ? "Yes" : "No"]
    " + . += span_bold("Allow Synth markings:") + " [pref.synth_markings ? "Yes" : "No"]
    " + . += span_bold("Allow Synth color:") + " [pref.synth_color ? "Yes" : "No"]
    " if(pref.synth_color) . += "Change Color [color_square(pref.r_synth, pref.g_synth, pref.b_synth)]" @@ -739,7 +792,8 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O var/list/valid_hairstyles = pref.get_valid_hairstyles() if(valid_hairstyles.len) - pref.h_style = pick(valid_hairstyles) + if(!(pref.h_style in valid_hairstyles)) + pref.h_style = pick(valid_hairstyles) else //this shouldn't happen pref.h_style = hair_styles_list["Bald"] @@ -748,7 +802,8 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O var/list/valid_facialhairstyles = pref.get_valid_facialhairstyles() if(valid_facialhairstyles.len) - pref.f_style = pick(valid_facialhairstyles) + if(!(pref.f_style in valid_facialhairstyles)) + pref.f_style = pick(valid_facialhairstyles) else //this shouldn't happen pref.f_style = facial_hair_styles_list["Shaved"] @@ -958,7 +1013,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O else if(href_list["marking_color"]) var/M = href_list["marking_color"] if (isnull(pref.body_markings[M]["color"])) - if (tgui_alert(user, "You currently have customized marking colors. This will reset each bodypart's color. Are you sure you want to continue?","Reset Bodypart Colors",list("Yes","No")) == "No") + if (tgui_alert(user, "You currently have customized marking colors. This will reset each bodypart's color. Are you sure you want to continue?","Reset Bodypart Colors",list("Yes","No")) != "Yes") return TOPIC_NOACTION var/mark_color = input(user, "Choose the [M] color: ", "Character Preference", pref.body_markings[M]["color"]) as color|null if(mark_color && CanUseTopic(user)) @@ -1169,7 +1224,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O organ = O_STOMACH if("Brain") if(pref.organ_data[BP_HEAD] != "cyborg") - to_chat(user, "You may only select a cybernetic or synthetic brain if you have a full prosthetic body.") + to_chat(user, span_warning("You may only select a cybernetic or synthetic brain if you have a full prosthetic body.")) return organ = "brain" @@ -1276,6 +1331,32 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O pref.b_ears3 = hex2num(copytext(new_earc3, 6, 8)) return TOPIC_REFRESH_UPDATE_PREVIEW + else if(href_list["ear_secondary_style"]) + var/new_style = tgui_input_list(user, "Select an ear style for this character:", "Character Preference", pref.get_available_styles(global.ear_styles_list), pref.ear_secondary_style) + if(!new_style) + return TOPIC_NOACTION + pref.ear_secondary_style = new_style + return TOPIC_REFRESH_UPDATE_PREVIEW + else if(href_list["ear_secondary_color"]) + var/channel = text2num(href_list["ear_secondary_color"]) + // very important sanity check; this makes sure someone can't crash the server by setting channel to some insanely high value + if(channel > GLOB.fancy_sprite_accessory_color_channel_names.len) + return TOPIC_NOACTION + // this would say 'secondary ears' but you'd get 'choose your character's primary secondary ear colour' which sounds silly + var/new_color = input( + user, + "Choose your character's [lowertext(GLOB.fancy_sprite_accessory_color_channel_names[channel])] ear colour:", + "Secondary Ear Coloration", + LAZYACCESS(pref.ear_secondary_colors, channel) || "#ffffff", + ) as color | null + if(!new_color) + return TOPIC_NOACTION + // ensures color channel list is at least that long + // the upper bound is to have a secondary safety check because list index set is a dangerous call + pref.ear_secondary_colors.len = clamp(length(pref.ear_secondary_colors), channel, length(GLOB.fancy_sprite_accessory_color_channel_names)) + pref.ear_secondary_colors[channel] = new_color + return TOPIC_REFRESH_UPDATE_PREVIEW + else if(href_list["tail_style"]) var/new_tail_style = tgui_input_list(user, "Select a tail style for this character:", "Character Preference", pref.get_available_styles(global.tail_styles_list), pref.tail_style) if(new_tail_style) @@ -1411,7 +1492,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O if("preview" in cached_icon_states(current_species.icobase)) usr << browse_rsc(icon(current_species.icobase,"preview"), "species_preview_[current_species.name].png") dat += "

    " - dat += "Language: [current_species.species_language]
    " + dat += span_bold("Language:") + " [current_species.species_language]
    " dat += "" if(current_species.spawn_flags & SPECIES_CAN_JOIN) switch(current_species.rarity_value) diff --git a/code/modules/client/preference_setup/general/04_equipment.dm b/code/modules/client/preference_setup/general/04_equipment.dm index 692e4f7d57b..b76ff9ee387 100644 --- a/code/modules/client/preference_setup/general/04_equipment.dm +++ b/code/modules/client/preference_setup/general/04_equipment.dm @@ -6,23 +6,30 @@ name = "Clothing" sort_order = 4 -/datum/category_item/player_setup_item/general/equipment/load_character(var/savefile/S) - S["all_underwear"] >> pref.all_underwear - S["all_underwear_metadata"] >> pref.all_underwear_metadata - S["backbag"] >> pref.backbag - S["pdachoice"] >> pref.pdachoice - S["communicator_visibility"] >> pref.communicator_visibility - S["ringtone"] >> pref.ringtone - S["shoe_hater"] >> pref.shoe_hater //RS ADD - -/datum/category_item/player_setup_item/general/equipment/save_character(var/savefile/S) - S["all_underwear"] << pref.all_underwear - S["all_underwear_metadata"] << pref.all_underwear_metadata - S["backbag"] << pref.backbag - S["pdachoice"] << pref.pdachoice - S["communicator_visibility"] << pref.communicator_visibility - S["ringtone"] << pref.ringtone - S["shoe_hater"] << pref.shoe_hater //RS ADD +/datum/category_item/player_setup_item/general/equipment/load_character(list/save_data) + pref.all_underwear = check_list_copy(save_data["all_underwear"]) + pref.all_underwear_metadata = check_list_copy(save_data["all_underwear_metadata"]) + for(var/i in pref.all_underwear_metadata) + pref.all_underwear_metadata[i] = path2text_list(pref.all_underwear_metadata[i]) + pref.headset = save_data["headset"] + pref.backbag = save_data["backbag"] + pref.pdachoice = save_data["pdachoice"] + pref.communicator_visibility = save_data["communicator_visibility"] + pref.ringtone = save_data["ringtone"] + pref.shoe_hater = save_data["shoe_hater"] + +/datum/category_item/player_setup_item/general/equipment/save_character(list/save_data) + save_data["all_underwear"] = pref.all_underwear + var/list/underwear = list() + for(var/i in pref.all_underwear_metadata) + underwear[i] = check_list_copy(pref.all_underwear_metadata[i]) + save_data["all_underwear_metadata"] = underwear + save_data["headset"] = pref.headset + save_data["backbag"] = pref.backbag + save_data["pdachoice"] = pref.pdachoice + save_data["communicator_visibility"] = pref.communicator_visibility + save_data["ringtone"] = pref.ringtone + save_data["shoe_hater"] = pref.shoe_hater var/global/list/valid_ringtones = list( "beep", @@ -67,6 +74,10 @@ var/global/list/valid_ringtones = list( pref.all_underwear -= underwear_category_name // TODO - Looks like this is duplicating the work of sanitize_character() if so, remove + if(pref.headset > GLOB.headsetlist.len || pref.headset < 1) + pref.headset = 1 //Same as above + character.headset = pref.headset + if(pref.backbag > backbaglist.len || pref.backbag < 1) pref.backbag = 2 //Same as above character.backbag = pref.backbag @@ -102,13 +113,14 @@ var/global/list/valid_ringtones = list( for(var/underwear_metadata in pref.all_underwear_metadata) if(!(underwear_metadata in pref.all_underwear)) pref.all_underwear_metadata -= underwear_metadata + pref.headset = sanitize_integer(pref.headset, 1, GLOB.headsetlist.len, initial(pref.headset)) pref.backbag = sanitize_integer(pref.backbag, 1, backbaglist.len, initial(pref.backbag)) pref.pdachoice = sanitize_integer(pref.pdachoice, 1, pdachoicelist.len, initial(pref.pdachoice)) pref.ringtone = sanitize(pref.ringtone, 20) /datum/category_item/player_setup_item/general/equipment/content() . = list() - . += "Equipment:
    " + . += span_bold("Equipment:") + "
    " for(var/datum/category_group/underwear/UWC in global_underwear.categories) var/item_name = pref.all_underwear[UWC.name] ? pref.all_underwear[UWC.name] : "None" . += "[UWC.name]: [item_name]" @@ -118,6 +130,7 @@ var/global/list/valid_ringtones = list( . += " [gt.get_contents(get_metadata(UWC.name, gt))]" . += "
    " + . += "Headset Type: [GLOB.headsetlist[pref.headset]]
    " . += "Backpack Type: [backbaglist[pref.backbag]]
    " . += "PDA Type: [pdachoicelist[pref.pdachoice]]
    " . += "Communicator Visibility: [(pref.communicator_visibility) ? "Yes" : "No"]
    " @@ -144,6 +157,12 @@ var/global/list/valid_ringtones = list( /datum/category_item/player_setup_item/general/equipment/OnTopic(var/href,var/list/href_list, var/mob/user) + if(href_list["change_headset"]) + var/new_headset = tgui_input_list(user, "Choose your character's style of headset:", "Character Preference", GLOB.headsetlist, GLOB.headsetlist[pref.headset]) + if(!isnull(new_headset) && CanUseTopic(user)) + pref.headset = GLOB.headsetlist.Find(new_headset) + return TOPIC_REFRESH_UPDATE_PREVIEW + if(href_list["change_backpack"]) var/new_backbag = tgui_input_list(user, "Choose your character's style of bag:", "Character Preference", backbaglist, backbaglist[pref.backbag]) if(!isnull(new_backbag) && CanUseTopic(user)) diff --git a/code/modules/client/preference_setup/general/05_background.dm b/code/modules/client/preference_setup/general/05_background.dm index 70b2e130bda..bbf4e9f694d 100644 --- a/code/modules/client/preference_setup/general/05_background.dm +++ b/code/modules/client/preference_setup/general/05_background.dm @@ -1,28 +1,27 @@ /datum/category_item/player_setup_item/general/background name = "Background" sort_order = 5 - -/datum/category_item/player_setup_item/general/background/load_character(var/savefile/S) - S["med_record"] >> pref.med_record - S["sec_record"] >> pref.sec_record - S["gen_record"] >> pref.gen_record - S["home_system"] >> pref.home_system - S["birthplace"] >> pref.birthplace - S["citizenship"] >> pref.citizenship - S["faction"] >> pref.faction - S["religion"] >> pref.religion - S["economic_status"] >> pref.economic_status - -/datum/category_item/player_setup_item/general/background/save_character(var/savefile/S) - S["med_record"] << pref.med_record - S["sec_record"] << pref.sec_record - S["gen_record"] << pref.gen_record - S["home_system"] << pref.home_system - S["birthplace"] << pref.birthplace - S["citizenship"] << pref.citizenship - S["faction"] << pref.faction - S["religion"] << pref.religion - S["economic_status"] << pref.economic_status +/datum/category_item/player_setup_item/general/background/load_character(list/save_data) + pref.med_record = save_data["med_record"] + pref.sec_record = save_data["sec_record"] + pref.gen_record = save_data["gen_record"] + pref.home_system = save_data["home_system"] + pref.birthplace = save_data["birthplace"] + pref.citizenship = save_data["citizenship"] + pref.faction = save_data["faction"] + pref.religion = save_data["religion"] + pref.economic_status = save_data["economic_status"] + +/datum/category_item/player_setup_item/general/background/save_character(list/save_data) + save_data["med_record"] = pref.med_record + save_data["sec_record"] = pref.sec_record + save_data["gen_record"] = pref.gen_record + save_data["home_system"] = pref.home_system + save_data["birthplace"] = pref.birthplace + save_data["citizenship"] = pref.citizenship + save_data["faction"] = pref.faction + save_data["religion"] = pref.religion + save_data["economic_status"] = pref.economic_status /datum/category_item/player_setup_item/general/background/sanitize_character() if(!pref.home_system) pref.home_system = "Unset" @@ -45,7 +44,7 @@ character.religion = pref.religion /datum/category_item/player_setup_item/general/background/content(var/mob/user) - . += "Background Information
    " + . += span_bold("Background Information") + "
    " . += "Economic Status: [pref.economic_status]
    " . += "Home: [pref.home_system]
    " . += "Birthplace: [pref.birthplace]
    " @@ -55,7 +54,7 @@ . += "
    Records:
    " if(jobban_isbanned(user, "Records")) - . += "You are banned from using character records.
    " + . += span_danger("You are banned from using character records.") + "
    " else . += "Medical Records:
    " . += "[TextPreview(pref.med_record,40)]
    " @@ -136,19 +135,19 @@ else if(href_list["set_medical_records"]) var/new_medical = strip_html_simple(tgui_input_text(user,"Enter medical information here.","Character Preference", html_decode(pref.med_record), MAX_RECORD_LENGTH, TRUE, prevent_enter = TRUE), MAX_RECORD_LENGTH) - if(new_medical && !jobban_isbanned(user, "Records") && CanUseTopic(user)) + if(new_medical && !jobban_isbanned(user, JOB_RECORDS) && CanUseTopic(user)) pref.med_record = new_medical return TOPIC_REFRESH else if(href_list["set_general_records"]) var/new_general = strip_html_simple(tgui_input_text(user,"Enter employment information here.","Character Preference", html_decode(pref.gen_record), MAX_RECORD_LENGTH, TRUE, prevent_enter = TRUE), MAX_RECORD_LENGTH) - if(new_general && !jobban_isbanned(user, "Records") && CanUseTopic(user)) + if(new_general && !jobban_isbanned(user, JOB_RECORDS) && CanUseTopic(user)) pref.gen_record = new_general return TOPIC_REFRESH else if(href_list["set_security_records"]) var/sec_medical = strip_html_simple(tgui_input_text(user,"Enter security information here.","Character Preference", html_decode(pref.sec_record), MAX_RECORD_LENGTH, TRUE, prevent_enter = TRUE), MAX_RECORD_LENGTH) - if(sec_medical && !jobban_isbanned(user, "Records") && CanUseTopic(user)) + if(sec_medical && !jobban_isbanned(user, JOB_RECORDS) && CanUseTopic(user)) pref.sec_record = sec_medical return TOPIC_REFRESH diff --git a/code/modules/client/preference_setup/general/06_flavor.dm b/code/modules/client/preference_setup/general/06_flavor.dm index 76af38f5dc9..334fd413fd2 100644 --- a/code/modules/client/preference_setup/general/06_flavor.dm +++ b/code/modules/client/preference_setup/general/06_flavor.dm @@ -2,37 +2,37 @@ name = "Flavor" sort_order = 6 -/datum/category_item/player_setup_item/general/flavor/load_character(var/savefile/S) - S["flavor_texts_general"] >> pref.flavor_texts["general"] - S["flavor_texts_head"] >> pref.flavor_texts["head"] - S["flavor_texts_face"] >> pref.flavor_texts["face"] - S["flavor_texts_eyes"] >> pref.flavor_texts["eyes"] - S["flavor_texts_torso"] >> pref.flavor_texts["torso"] - S["flavor_texts_arms"] >> pref.flavor_texts["arms"] - S["flavor_texts_hands"] >> pref.flavor_texts["hands"] - S["flavor_texts_legs"] >> pref.flavor_texts["legs"] - S["flavor_texts_feet"] >> pref.flavor_texts["feet"] - S["custom_link"] >> pref.custom_link +/datum/category_item/player_setup_item/general/flavor/load_character(list/save_data) + pref.flavor_texts["general"] = save_data["flavor_texts_general"] + pref.flavor_texts["head"] = save_data["flavor_texts_head"] + pref.flavor_texts["face"] = save_data["flavor_texts_face"] + pref.flavor_texts["eyes"] = save_data["flavor_texts_eyes"] + pref.flavor_texts["torso"] = save_data["flavor_texts_torso"] + pref.flavor_texts["arms"] = save_data["flavor_texts_arms"] + pref.flavor_texts["hands"] = save_data["flavor_texts_hands"] + pref.flavor_texts["legs"] = save_data["flavor_texts_legs"] + pref.flavor_texts["feet"] = save_data["flavor_texts_feet"] + pref.custom_link = save_data["custom_link"] //Flavour text for robots. - S["flavour_texts_robot_Default"] >> pref.flavour_texts_robot["Default"] + pref.flavour_texts_robot["Default"] = save_data["flavour_texts_robot_Default"] for(var/module in robot_module_types) - S["flavour_texts_robot_[module]"] >> pref.flavour_texts_robot[module] + pref.flavour_texts_robot[module] = save_data["flavour_texts_robot_[module]"] -/datum/category_item/player_setup_item/general/flavor/save_character(var/savefile/S) - S["flavor_texts_general"] << pref.flavor_texts["general"] - S["flavor_texts_head"] << pref.flavor_texts["head"] - S["flavor_texts_face"] << pref.flavor_texts["face"] - S["flavor_texts_eyes"] << pref.flavor_texts["eyes"] - S["flavor_texts_torso"] << pref.flavor_texts["torso"] - S["flavor_texts_arms"] << pref.flavor_texts["arms"] - S["flavor_texts_hands"] << pref.flavor_texts["hands"] - S["flavor_texts_legs"] << pref.flavor_texts["legs"] - S["flavor_texts_feet"] << pref.flavor_texts["feet"] - S["custom_link"] << pref.custom_link +/datum/category_item/player_setup_item/general/flavor/save_character(list/save_data) + save_data["flavor_texts_general"] = pref.flavor_texts["general"] + save_data["flavor_texts_head"] = pref.flavor_texts["head"] + save_data["flavor_texts_face"] = pref.flavor_texts["face"] + save_data["flavor_texts_eyes"] = pref.flavor_texts["eyes"] + save_data["flavor_texts_torso"] = pref.flavor_texts["torso"] + save_data["flavor_texts_arms"] = pref.flavor_texts["arms"] + save_data["flavor_texts_hands"] = pref.flavor_texts["hands"] + save_data["flavor_texts_legs"] = pref.flavor_texts["legs"] + save_data["flavor_texts_feet"] = pref.flavor_texts["feet"] + save_data["custom_link"] = pref.custom_link - S["flavour_texts_robot_Default"] << pref.flavour_texts_robot["Default"] + save_data["flavour_texts_robot_Default"] = pref.flavour_texts_robot["Default"] for(var/module in robot_module_types) - S["flavour_texts_robot_[module]"] << pref.flavour_texts_robot[module] + save_data["flavour_texts_robot_[module]"] = pref.flavour_texts_robot[module] /datum/category_item/player_setup_item/general/flavor/sanitize_character() return @@ -54,7 +54,7 @@ character.custom_link = pref.custom_link /datum/category_item/player_setup_item/general/flavor/content(var/mob/user) - . += "Flavor:
    " + . += span_bold("Flavor:") + "
    " . += "Set Flavor Text
    " . += "Set Robot Flavor Text
    " . += "Set Custom Link
    " @@ -64,11 +64,11 @@ switch(href_list["flavor_text"]) if("open") if("general") - var/msg = strip_html_simple(tgui_input_text(usr,"Give a general description of your character. This will be shown regardless of clothings. Put in a single space to make blank.","Flavor Text",html_decode(pref.flavor_texts[href_list["flavor_text"]]), multiline = TRUE, prevent_enter = TRUE)) //VOREStation Edit: separating out OOC notes + var/msg = strip_html_simple(tgui_input_text(user,"Give a general description of your character. This will be shown regardless of clothings. Put in a single space to make blank.","Flavor Text",html_decode(pref.flavor_texts[href_list["flavor_text"]]), multiline = TRUE, prevent_enter = TRUE)) //VOREStation Edit: separating out OOC notes if(CanUseTopic(user) && msg) pref.flavor_texts[href_list["flavor_text"]] = msg else - var/msg = strip_html_simple(tgui_input_text(usr,"Set the flavor text for your [href_list["flavor_text"]]. Put in a single space to make blank.","Flavor Text",html_decode(pref.flavor_texts[href_list["flavor_text"]]), multiline = TRUE, prevent_enter = TRUE)) + var/msg = strip_html_simple(tgui_input_text(user,"Set the flavor text for your [href_list["flavor_text"]]. Put in a single space to make blank.","Flavor Text",html_decode(pref.flavor_texts[href_list["flavor_text"]]), multiline = TRUE, prevent_enter = TRUE)) if(CanUseTopic(user) && msg) pref.flavor_texts[href_list["flavor_text"]] = msg SetFlavorText(user) @@ -78,30 +78,30 @@ switch(href_list["flavour_text_robot"]) if("open") if("Default") - var/msg = strip_html_simple(tgui_input_text(usr,"Set the default flavour text for your robot. It will be used for any module without individual setting. Put in a single space to make blank.","Flavour Text",html_decode(pref.flavour_texts_robot["Default"]), multiline = TRUE, prevent_enter = TRUE)) + var/msg = strip_html_simple(tgui_input_text(user,"Set the default flavour text for your robot. It will be used for any module without individual setting. Put in a single space to make blank.","Flavour Text",html_decode(pref.flavour_texts_robot["Default"]), multiline = TRUE, prevent_enter = TRUE)) if(CanUseTopic(user) && msg) pref.flavour_texts_robot[href_list["flavour_text_robot"]] = msg else - var/msg = strip_html_simple(tgui_input_text(usr,"Set the flavour text for your robot with [href_list["flavour_text_robot"]] module. If you leave this blank, default flavour text will be used for this module. Put in a single space to make blank.","Flavour Text",html_decode(pref.flavour_texts_robot[href_list["flavour_text_robot"]]), multiline = TRUE, prevent_enter = TRUE)) + var/msg = strip_html_simple(tgui_input_text(user,"Set the flavour text for your robot with [href_list["flavour_text_robot"]] module. If you leave this blank, default flavour text will be used for this module. Put in a single space to make blank.","Flavour Text",html_decode(pref.flavour_texts_robot[href_list["flavour_text_robot"]]), multiline = TRUE, prevent_enter = TRUE)) if(CanUseTopic(user) && msg) pref.flavour_texts_robot[href_list["flavour_text_robot"]] = msg SetFlavourTextRobot(user) return TOPIC_HANDLED else if(href_list["custom_link"]) - var/new_link = strip_html_simple(tgui_input_text(usr, "Enter a link to add on to your examine text! This should be a related image link/gallery, or things like your F-list. This is not the place for memes.", "Custom Link" , html_decode(pref.custom_link), max_length = 100, encode = TRUE, prevent_enter = TRUE)) - if(new_link && CanUseTopic(usr)) + var/new_link = strip_html_simple(tgui_input_text(user, "Enter a link to add on to your examine text! This should be a related image link/gallery, or things like your F-list. This is not the place for memes.", "Custom Link" , html_decode(pref.custom_link), max_length = 100, encode = TRUE, prevent_enter = TRUE)) + if(new_link && CanUseTopic(user)) if(length(new_link) > 100) - to_chat(usr, "Your entry is too long, it must be 100 characters or less.") + to_chat(user, span_warning("Your entry is too long, it must be 100 characters or less.")) return pref.custom_link = new_link - log_admin("[usr]/[usr.ckey] set their custom link to [pref.custom_link]") + log_admin("[user]/[user.ckey] set their custom link to [pref.custom_link]") return ..() /datum/category_item/player_setup_item/general/flavor/proc/SetFlavorText(mob/user) var/HTML = "" HTML += "
    " - HTML += "Set Flavor Text
    " + HTML += span_bold("Set Flavor Text") + "
    " HTML += "Note: This is not *literal* flavor of your character. This is visual description of what they look like.
    " HTML += "
    " HTML += "General: " @@ -139,7 +139,7 @@ /datum/category_item/player_setup_item/general/flavor/proc/SetFlavourTextRobot(mob/user) var/HTML = "" HTML += "
    " - HTML += "Set Robot Flavour Text
    " + HTML += span_bold("Set Robot Flavour Text") + "
    " HTML += "
    " HTML += "Default: " HTML += TextPreview(pref.flavour_texts_robot["Default"]) diff --git a/code/modules/client/preference_setup/global/01_ui.dm b/code/modules/client/preference_setup/global/01_ui.dm index 3130aade42b..9c40d063960 100644 --- a/code/modules/client/preference_setup/global/01_ui.dm +++ b/code/modules/client/preference_setup/global/01_ui.dm @@ -2,41 +2,41 @@ name = "UI" sort_order = 1 -/datum/category_item/player_setup_item/player_global/ui/load_preferences(var/savefile/S) - S["UI_style"] >> pref.UI_style - S["UI_style_color"] >> pref.UI_style_color - S["UI_style_alpha"] >> pref.UI_style_alpha - S["ooccolor"] >> pref.ooccolor - S["tooltipstyle"] >> pref.tooltipstyle - S["client_fps"] >> pref.client_fps - S["ambience_freq"] >> pref.ambience_freq - S["ambience_chance"] >> pref.ambience_chance - S["tgui_fancy"] >> pref.tgui_fancy - S["tgui_lock"] >> pref.tgui_lock - S["tgui_input_mode"] >> pref.tgui_input_mode - S["tgui_large_buttons"] >> pref.tgui_large_buttons - S["tgui_swapped_buttons"] >> pref.tgui_swapped_buttons - S["obfuscate_key"] >> pref.obfuscate_key - S["obfuscate_job"] >> pref.obfuscate_job - S["chat_timestamp"] >> pref.chat_timestamp - -/datum/category_item/player_setup_item/player_global/ui/save_preferences(var/savefile/S) - S["UI_style"] << pref.UI_style - S["UI_style_color"] << pref.UI_style_color - S["UI_style_alpha"] << pref.UI_style_alpha - S["ooccolor"] << pref.ooccolor - S["tooltipstyle"] << pref.tooltipstyle - S["client_fps"] << pref.client_fps - S["ambience_freq"] << pref.ambience_freq - S["ambience_chance"] << pref.ambience_chance - S["tgui_fancy"] << pref.tgui_fancy - S["tgui_lock"] << pref.tgui_lock - S["tgui_input_mode"] << pref.tgui_input_mode - S["tgui_large_buttons"] << pref.tgui_large_buttons - S["tgui_swapped_buttons"] << pref.tgui_swapped_buttons - S["obfuscate_key"] << pref.obfuscate_key - S["obfuscate_job"] << pref.obfuscate_job - S["chat_timestamp"] << pref.chat_timestamp +/datum/category_item/player_setup_item/player_global/ui/load_preferences(datum/json_savefile/savefile) + pref.UI_style = savefile.get_entry("UI_style") + pref.UI_style_color = savefile.get_entry("UI_style_color") + pref.UI_style_alpha = savefile.get_entry("UI_style_alpha") + pref.ooccolor = savefile.get_entry("ooccolor") + pref.tooltipstyle = savefile.get_entry("tooltipstyle") + pref.client_fps = savefile.get_entry("client_fps") + pref.ambience_freq = savefile.get_entry("ambience_freq") + pref.ambience_chance = savefile.get_entry("ambience_chance") + pref.tgui_fancy = savefile.get_entry("tgui_fancy") + pref.tgui_lock = savefile.get_entry("tgui_lock") + pref.tgui_input_mode = savefile.get_entry("tgui_input_mode") + pref.tgui_large_buttons = savefile.get_entry("tgui_large_buttons") + pref.tgui_swapped_buttons = savefile.get_entry("tgui_swapped_buttons") + pref.obfuscate_key = savefile.get_entry("obfuscate_key") + pref.obfuscate_job = savefile.get_entry("obfuscate_job") + pref.chat_timestamp = savefile.get_entry("chat_timestamp") + +/datum/category_item/player_setup_item/player_global/ui/save_preferences(datum/json_savefile/savefile) + savefile.set_entry("UI_style", pref.UI_style) + savefile.set_entry("UI_style_color", pref.UI_style_color) + savefile.set_entry("UI_style_alpha", pref.UI_style_alpha) + savefile.set_entry("ooccolor", pref.ooccolor) + savefile.set_entry("tooltipstyle", pref.tooltipstyle) + savefile.set_entry("client_fps", pref.client_fps) + savefile.set_entry("ambience_freq", pref.ambience_freq) + savefile.set_entry("ambience_chance", pref.ambience_chance) + savefile.set_entry("tgui_fancy", pref.tgui_fancy) + savefile.set_entry("tgui_lock", pref.tgui_lock) + savefile.set_entry("tgui_input_mode", pref.tgui_input_mode) + savefile.set_entry("tgui_large_buttons", pref.tgui_large_buttons) + savefile.set_entry("tgui_swapped_buttons", pref.tgui_swapped_buttons) + savefile.set_entry("obfuscate_key", pref.obfuscate_key) + savefile.set_entry("obfuscate_job", pref.obfuscate_job) + savefile.set_entry("chat_timestamp", pref.chat_timestamp) /datum/category_item/player_setup_item/player_global/ui/sanitize_preferences() pref.UI_style = sanitize_inlist(pref.UI_style, all_ui_styles, initial(pref.UI_style)) @@ -57,24 +57,24 @@ pref.chat_timestamp = sanitize_integer(pref.chat_timestamp, 0, 1, initial(pref.chat_timestamp)) /datum/category_item/player_setup_item/player_global/ui/content(var/mob/user) - . = "UI Style: [pref.UI_style]
    " - . += "Custom UI (recommended for White UI):
    " + . = span_bold("UI Style:") + " [pref.UI_style]
    " + . += span_bold("Custom UI") + " (recommended for White UI):
    " . += "-Color: [pref.UI_style_color] [color_square(hex = pref.UI_style_color)] reset
    " . += "-Alpha(transparency): [pref.UI_style_alpha] reset
    " - . += "Tooltip Style: [pref.tooltipstyle]
    " - . += "Client FPS: [pref.client_fps]
    " - . += "Random Ambience Frequency: [pref.ambience_freq]
    " - . += "Ambience Chance: [pref.ambience_chance]
    " - . += "TGUI Window Mode: [(pref.tgui_fancy) ? "Fancy (default)" : "Compatible (slower)"]
    " - . += "TGUI Window Placement: [(pref.tgui_lock) ? "Primary Monitor" : "Free (default)"]
    " - . += "TGUI Input Framework: [(pref.tgui_input_mode) ? "Enabled" : "Disabled (default)"]
    " - . += "TGUI Large Buttons: [(pref.tgui_large_buttons) ? "Enabled (default)" : "Disabled"]
    " - . += "TGUI Swapped Buttons: [(pref.tgui_swapped_buttons) ? "Enabled" : "Disabled (default)"]
    " - . += "Obfuscate Ckey: [(pref.obfuscate_key) ? "Enabled" : "Disabled (default)"]
    " - . += "Obfuscate Job: [(pref.obfuscate_job) ? "Enabled" : "Disabled (default)"]
    " - . += "Chat Timestamps: [(pref.chat_timestamp) ? "Enabled" : "Disabled (default)"]
    " + . += span_bold("Tooltip Style:") + " [pref.tooltipstyle]
    " + . += span_bold("Client FPS:") + " [pref.client_fps]
    " + . += span_bold("Random Ambience Frequency:") + " [pref.ambience_freq]
    " + . += span_bold("Ambience Chance:") + " [pref.ambience_chance]
    " + . += span_bold("TGUI Window Mode:") + " [(pref.tgui_fancy) ? "Fancy (default)" : "Compatible (slower)"]
    " + . += span_bold("TGUI Window Placement:") + " [(pref.tgui_lock) ? "Primary Monitor" : "Free (default)"]
    " + . += span_bold("TGUI Input Framework:") + " [(pref.tgui_input_mode) ? "Enabled" : "Disabled (default)"]
    " + . += span_bold("TGUI Large Buttons:") + " [(pref.tgui_large_buttons) ? "Enabled (default)" : "Disabled"]
    " + . += span_bold("TGUI Swapped Buttons:") + " [(pref.tgui_swapped_buttons) ? "Enabled" : "Disabled (default)"]
    " + . += span_bold("Obfuscate Ckey:") + " [(pref.obfuscate_key) ? "Enabled" : "Disabled (default)"]
    " + . += span_bold("Obfuscate Job:") + " [(pref.obfuscate_job) ? "Enabled" : "Disabled (default)"]
    " + . += span_bold("Chat Timestamps:") + " [(pref.chat_timestamp) ? "Enabled" : "Disabled (default)"]
    " if(can_select_ooc_color(user)) - . += "OOC Color:" + . += span_bold("OOC Color:") if(pref.ooccolor == initial(pref.ooccolor)) . += "Using Default
    " else @@ -179,4 +179,4 @@ return ..() /datum/category_item/player_setup_item/player_global/ui/proc/can_select_ooc_color(var/mob/user) - return config.allow_admin_ooccolor && check_rights(R_ADMIN|R_EVENT|R_FUN, 0, user) + return CONFIG_GET(flag/allow_admin_ooccolor) && check_rights(R_ADMIN|R_EVENT|R_FUN, 0, user) diff --git a/code/modules/client/preference_setup/global/02_settings.dm b/code/modules/client/preference_setup/global/02_settings.dm index 71ff5d0a09d..3fddd3552e9 100644 --- a/code/modules/client/preference_setup/global/02_settings.dm +++ b/code/modules/client/preference_setup/global/02_settings.dm @@ -1,141 +1,20 @@ -/datum/preferences - var/preferences_enabled = null - var/preferences_disabled = null - /datum/category_item/player_setup_item/player_global/settings name = "Settings" sort_order = 2 -/datum/category_item/player_setup_item/player_global/settings/load_preferences(var/savefile/S) - S["lastchangelog"] >> pref.lastchangelog - S["lastnews"] >> pref.lastnews - S["lastlorenews"] >> pref.lastlorenews - S["default_slot"] >> pref.default_slot - S["preferences"] >> pref.preferences_enabled - S["preferences_disabled"] >> pref.preferences_disabled +/datum/category_item/player_setup_item/player_global/settings/load_preferences(datum/json_savefile/savefile) + pref.lastchangelog = savefile.get_entry("lastchangelog") + pref.lastnews = savefile.get_entry("lastnews") + pref.lastlorenews = savefile.get_entry("lastlorenews") + pref.default_slot = savefile.get_entry("default_slot") -/datum/category_item/player_setup_item/player_global/settings/save_preferences(var/savefile/S) - S["lastchangelog"] << pref.lastchangelog - S["lastnews"] << pref.lastnews - S["lastlorenews"] << pref.lastlorenews - S["default_slot"] << pref.default_slot - S["preferences"] << pref.preferences_enabled - S["preferences_disabled"] << pref.preferences_disabled +/datum/category_item/player_setup_item/player_global/settings/save_preferences(datum/json_savefile/savefile) + savefile.set_entry("lastchangelog", pref.lastchangelog) + savefile.set_entry("lastnews", pref.lastnews) + savefile.set_entry("lastlorenews", pref.lastlorenews) + savefile.set_entry("default_slot", pref.default_slot) /datum/category_item/player_setup_item/player_global/settings/sanitize_preferences() - // Ensure our preferences are lists. - if(!istype(pref.preferences_enabled, /list)) - pref.preferences_enabled = list() - if(!istype(pref.preferences_disabled, /list)) - pref.preferences_disabled = list() - - // Arrange preferences that have never been enabled/disabled. - var/list/client_preference_keys = list() - for(var/datum/client_preference/client_pref as anything in get_client_preferences()) - client_preference_keys += client_pref.key - if((client_pref.key in pref.preferences_enabled) || (client_pref.key in pref.preferences_disabled)) - continue - - if(client_pref.enabled_by_default) - pref.preferences_enabled += client_pref.key - else - pref.preferences_disabled += client_pref.key - - // Clean out preferences that no longer exist. - for(var/key in pref.preferences_enabled) - if(!(key in client_preference_keys)) - pref.preferences_enabled -= key - for(var/key in pref.preferences_disabled) - if(!(key in client_preference_keys)) - pref.preferences_disabled -= key - pref.lastchangelog = sanitize_text(pref.lastchangelog, initial(pref.lastchangelog)) pref.lastnews = sanitize_text(pref.lastnews, initial(pref.lastnews)) - pref.default_slot = sanitize_integer(pref.default_slot, 1, config.character_slots, initial(pref.default_slot)) - -/datum/category_item/player_setup_item/player_global/settings/content(var/mob/user) - . = list() - . += "Preferences
    " - . += "" - var/mob/pref_mob = preference_mob() - for(var/datum/client_preference/client_pref as anything in get_client_preferences()) - if(!client_pref.may_toggle(pref_mob)) - continue - - . += "" - if(pref_mob.is_preference_enabled(client_pref.key)) - . += "" - else - . += "" - . += "" - - . += "
    [client_pref.description]: [client_pref.enabled_description] [client_pref.disabled_description][client_pref.enabled_description] [client_pref.disabled_description]
    " - return jointext(., "") - -/datum/category_item/player_setup_item/player_global/settings/OnTopic(var/href,var/list/href_list, var/mob/user) - var/mob/pref_mob = preference_mob() - if(href_list["toggle_on"]) - . = pref_mob.set_preference(href_list["toggle_on"], TRUE) - else if(href_list["toggle_off"]) - . = pref_mob.set_preference(href_list["toggle_off"], FALSE) - if(.) - return TOPIC_REFRESH - - return ..() - -/** - * This can take either a single preference datum or a list of preferences, and will return true if *all* preferences in the arguments are enabled. - */ -/client/proc/is_preference_enabled(var/preference) - if(!islist(preference)) - preference = list(preference) - for(var/p in preference) - var/datum/client_preference/cp = get_client_preference(p) - if(!prefs || !cp || !istype(cp, /datum/client_preference) || !(cp.key in prefs.preferences_enabled)) - return FALSE - return TRUE - -/client/proc/set_preference(var/preference, var/set_preference) - var/datum/client_preference/cp = get_client_preference(preference) - if(!cp) - return FALSE - preference = cp.key - - if(set_preference && !(preference in prefs.preferences_enabled)) - return toggle_preference(cp) - else if(!set_preference && (preference in prefs.preferences_enabled)) - return toggle_preference(cp) - -/client/proc/toggle_preference(var/preference, var/set_preference) - var/datum/client_preference/cp = get_client_preference(preference) - if(!cp) - return FALSE - preference = cp.key - - var/enabled - if(preference in prefs.preferences_disabled) - prefs.preferences_enabled |= preference - prefs.preferences_disabled -= preference - enabled = TRUE - . = TRUE - else if(preference in prefs.preferences_enabled) - prefs.preferences_enabled -= preference - prefs.preferences_disabled |= preference - enabled = FALSE - . = TRUE - if(.) - cp.toggled(mob, enabled) - -/mob/proc/is_preference_enabled(var/preference) - if(!client) - return FALSE - return client.is_preference_enabled(preference) - -/mob/proc/set_preference(var/preference, var/set_preference) - if(!client) - return FALSE - if(!client.prefs) - log_debug("Client prefs found to be null for mob [src] and client [ckey], this should be investigated.") - return FALSE - - return client.set_preference(preference, set_preference) + pref.default_slot = sanitize_integer(pref.default_slot, 1, CONFIG_GET(number/character_slots), initial(pref.default_slot)) diff --git a/code/modules/client/preference_setup/global/03_pai.dm b/code/modules/client/preference_setup/global/03_pai.dm index c4d81e552b0..22c92e9905a 100644 --- a/code/modules/client/preference_setup/global/03_pai.dm +++ b/code/modules/client/preference_setup/global/03_pai.dm @@ -4,7 +4,7 @@ var/datum/paiCandidate/candidate -/datum/category_item/player_setup_item/player_global/pai/load_preferences(var/savefile/S) +/datum/category_item/player_setup_item/player_global/pai/load_preferences(datum/json_savefile/savefile) if(!candidate) candidate = new() var/preference_mob = preference_mob() @@ -18,7 +18,7 @@ candidate.savefile_load(preference_mob) -/datum/category_item/player_setup_item/player_global/pai/save_preferences(var/savefile/S) +/datum/category_item/player_setup_item/player_global/pai/save_preferences(datum/json_savefile/savefile) if(!candidate) return @@ -28,7 +28,7 @@ candidate.savefile_save(preference_mob()) /datum/category_item/player_setup_item/player_global/pai/content(var/mob/user) - . += "pAI:
    " + . += span_bold("pAI:") + "
    " if(!candidate) log_debug("[user] pAI prefs have a null candidate var.") return . diff --git a/code/modules/client/preference_setup/global/04_ooc.dm b/code/modules/client/preference_setup/global/04_ooc.dm index e695bee6772..e99777927f2 100644 --- a/code/modules/client/preference_setup/global/04_ooc.dm +++ b/code/modules/client/preference_setup/global/04_ooc.dm @@ -2,12 +2,12 @@ name = "OOC" sort_order = 4 -/datum/category_item/player_setup_item/player_global/ooc/load_preferences(var/savefile/S) - S["ignored_players"] >> pref.ignored_players +/datum/category_item/player_setup_item/player_global/ooc/load_preferences(datum/json_savefile/savefile) + pref.ignored_players = savefile.get_entry("ignored_players") -/datum/category_item/player_setup_item/player_global/ooc/save_preferences(var/savefile/S) - S["ignored_players"] << pref.ignored_players +/datum/category_item/player_setup_item/player_global/ooc/save_preferences(datum/json_savefile/savefile) + savefile.set_entry("ignored_players", pref.ignored_players) /* /datum/category_item/player_setup_item/player_global/ooc/sanitize_preferences() @@ -15,7 +15,7 @@ pref.ignored_players = list() /datum/category_item/player_setup_item/player_global/ooc/content(var/mob/user) - . += "OOC:
    " + . += span_bold("OOC:") + "
    " . += "Ignored Players
    " for(var/ignored_player in pref.ignored_players) . += "[ignored_player] (Unignore)
    " @@ -33,10 +33,10 @@ if(player_to_ignore) player_to_ignore = sanitize(ckey(player_to_ignore)) if(player_to_ignore == user.ckey) - to_chat(user, "You can't ignore yourself.") + to_chat(user, span_notice("You can't ignore yourself.")) return TOPIC_REFRESH pref.ignored_players |= player_to_ignore return TOPIC_REFRESH return ..() -*/ \ No newline at end of file +*/ diff --git a/code/modules/client/preference_setup/global/setting_datums.dm b/code/modules/client/preference_setup/global/setting_datums.dm deleted file mode 100644 index 7d74e5bd0d1..00000000000 --- a/code/modules/client/preference_setup/global/setting_datums.dm +++ /dev/null @@ -1,481 +0,0 @@ -var/list/_client_preferences -var/list/_client_preferences_by_key -var/list/_client_preferences_by_type - -/proc/get_client_preferences() - if(!_client_preferences) - _client_preferences = list() - for(var/datum/client_preference/client_type as anything in subtypesof(/datum/client_preference)) - if(initial(client_type.description)) - _client_preferences += new client_type() - return _client_preferences - -/proc/get_client_preference(var/datum/client_preference/preference) - if(istype(preference)) - return preference - if(ispath(preference)) - return get_client_preference_by_type(preference) - return get_client_preference_by_key(preference) - -/proc/get_client_preference_by_key(var/preference) - if(!_client_preferences_by_key) - _client_preferences_by_key = list() - for(var/datum/client_preference/client_pref as anything in get_client_preferences()) - _client_preferences_by_key[client_pref.key] = client_pref - return _client_preferences_by_key[preference] - -/proc/get_client_preference_by_type(var/preference) - if(!_client_preferences_by_type) - _client_preferences_by_type = list() - for(var/datum/client_preference/client_pref as anything in get_client_preferences()) - _client_preferences_by_type[client_pref.type] = client_pref - return _client_preferences_by_type[preference] - -/datum/client_preference - var/description - var/key - var/enabled_by_default = TRUE - var/enabled_description = "Yes" - var/disabled_description = "No" - -/datum/client_preference/proc/may_toggle(var/mob/preference_mob) - return TRUE - -/datum/client_preference/proc/toggled(var/mob/preference_mob, var/enabled) - return - -/********************* -* Player Preferences * -*********************/ - -/datum/client_preference/play_admin_midis - description ="Play admin midis" - key = "SOUND_MIDI" - -/datum/client_preference/play_lobby_music - description ="Play lobby music" - key = "SOUND_LOBBY" - -/datum/client_preference/play_lobby_music/toggled(var/mob/preference_mob, var/enabled) - if(!preference_mob.client || !preference_mob.client.media) - return - - if(enabled) - preference_mob.client.playtitlemusic() - else - preference_mob.client.media.stop_music() - -/datum/client_preference/play_ambiance - description ="Play ambience" - key = "SOUND_AMBIENCE" - -/datum/client_preference/play_ambiance/toggled(var/mob/preference_mob, var/enabled) - if(!enabled) - preference_mob << sound(null, repeat = 0, wait = 0, volume = 0, channel = 1) - preference_mob << sound(null, repeat = 0, wait = 0, volume = 0, channel = 2) -//VOREStation Add - Need to put it here because it should be ordered riiiight here. -/datum/client_preference/play_jukebox - description ="Play jukebox music" - key = "SOUND_JUKEBOX" - -/datum/client_preference/play_jukebox/toggled(var/mob/preference_mob, var/enabled) - if(!enabled) - preference_mob.stop_all_music() - else - preference_mob.update_music() - -/datum/client_preference/eating_noises - description = "Eating Noises" - key = "EATING_NOISES" - enabled_description = "Noisy" - disabled_description = "Silent" - -/datum/client_preference/digestion_noises - description = "Digestion Noises" - key = "DIGEST_NOISES" - enabled_description = "Noisy" - disabled_description = "Silent" - -/datum/client_preference/belch_noises // Belching noises - pref toggle for 'em - description = "Burping" - key = "BELCH_NOISES" - enabled_description = "Noisy" - disabled_description = "Silent" - -/datum/client_preference/emote_noises - description = "Emote Noises" //MERP - key = "EMOTE_NOISES" - enabled_description = "Noisy" - disabled_description = "Silent" -/datum/client_preference/whisubtle_vis - description = "Whi/Subtles Ghost Visible" - key = "WHISUBTLE_VIS" - enabled_description = "Visible" - disabled_description = "Hidden" - enabled_by_default = FALSE - -/datum/client_preference/ghost_see_whisubtle - description = "See subtles/whispers as ghost" - key = "GHOST_SEE_WHISUBTLE" - enabled_description = "Visible" - disabled_description = "Hidden" - enabled_by_default = TRUE -//VOREStation Add End -/datum/client_preference/weather_sounds - description ="Weather sounds" - key = "SOUND_WEATHER" - enabled_description = "Audible" - disabled_description = "Silent" - -/datum/client_preference/supermatter_hum - description ="Supermatter hum" - key = "SOUND_SUPERMATTER" - enabled_description = "Audible" - disabled_description = "Silent" - -/datum/client_preference/ghost_ears - description ="Ghost ears" - key = "CHAT_GHOSTEARS" - enabled_description = "All Speech" - disabled_description = "Nearby" - -/datum/client_preference/ghost_sight - description ="Ghost sight" - key = "CHAT_GHOSTSIGHT" - enabled_description = "All Emotes" - disabled_description = "Nearby" - -/datum/client_preference/ghost_radio - description ="Ghost radio" - key = "CHAT_GHOSTRADIO" - enabled_description = "All Chatter" - disabled_description = "Nearby" - -/datum/client_preference/chat_tags - description ="Chat tags" - key = "CHAT_SHOWICONS" - enabled_description = "Show" - disabled_description = "Hide" - -/datum/client_preference/air_pump_noise - description ="Air Pump Ambient Noise" - key = "SOUND_AIRPUMP" - enabled_description = "Audible" - disabled_description = "Silent" - -/datum/client_preference/old_door_sounds - description ="Old Door Sounds" - key = "SOUND_OLDDOORS" - enabled_description = "Old" - disabled_description = "New" - -/datum/client_preference/department_door_sounds - description ="Department-Specific Door Sounds" - key = "SOUND_DEPARTMENTDOORS" - enabled_description = "Enabled" - disabled_description = "Disabled" - -/datum/client_preference/pickup_sounds - description = "Picked Up Item Sounds" - key = "SOUND_PICKED" - enabled_description = "Enabled" - disabled_description = "Disabled" - -/datum/client_preference/drop_sounds - description = "Dropped Item Sounds" - key = "SOUND_DROPPED" - enabled_description = "Enabled" - disabled_description = "Disabled" - -/datum/client_preference/mob_tooltips - description ="Mob tooltips" - key = "MOB_TOOLTIPS" - enabled_description = "Show" - disabled_description = "Hide" - -/datum/client_preference/inv_tooltips - description ="Inventory tooltips" - key = "INV_TOOLTIPS" - enabled_description = "Show" - disabled_description = "Hide" - -/datum/client_preference/attack_icons - description ="Attack icons" - key = "ATTACK_ICONS" - enabled_description = "Show" - disabled_description = "Hide" - -/datum/client_preference/precision_placement - description ="Precision Placement" - key = "PRECISE_PLACEMENT" - enabled_description = "Active" - disabled_description = "Inactive" - -/datum/client_preference/hotkeys_default - description ="Hotkeys Default" - key = "HUD_HOTKEYS" - enabled_description = "Enabled" - disabled_description = "Disabled" - enabled_by_default = FALSE // Backwards compatibility - -/datum/client_preference/show_typing_indicator - description ="Typing indicator" - key = "SHOW_TYPING" - enabled_description = "Show" - disabled_description = "Hide" - -/datum/client_preference/show_typing_indicator/toggled(var/mob/preference_mob, var/enabled) - if(!enabled) - preference_mob.client?.stop_thinking() - -/datum/client_preference/show_typing_indicator_subtle - description ="Typing indicator (subtle)" - key = "SHOW_TYPING_SUBTLE" - enabled_description = "Show" - disabled_description = "Hide" - -/datum/client_preference/show_ooc - description ="OOC chat" - key = "CHAT_OOC" - enabled_description = "Show" - disabled_description = "Hide" - -/datum/client_preference/show_looc - description ="LOOC chat" - key = "CHAT_LOOC" - enabled_description = "Show" - disabled_description = "Hide" - -/datum/client_preference/show_dsay - description ="Dead chat" - key = "CHAT_DEAD" - enabled_description = "Show" - disabled_description = "Hide" - -/datum/client_preference/check_mention - description ="Emphasize Name Mention" - key = "CHAT_MENTION" - enabled_description = "Emphasize" - disabled_description = "Normal" - -/datum/client_preference/show_progress_bar - description ="Progress Bar" - key = "SHOW_PROGRESS" - enabled_description = "Show" - disabled_description = "Hide" - -/datum/client_preference/safefiring - description = "Gun Firing Intent Requirement" - key = "SAFE_FIRING" - enabled_description = "Safe" - disabled_description = "Dangerous" - -/datum/client_preference/browser_style - description = "Fake NanoUI Browser Style" - key = "BROWSER_STYLED" - enabled_description = "Fancy" - disabled_description = "Plain" - -/datum/client_preference/ambient_occlusion - description = "Fake Ambient Occlusion" - key = "AMBIENT_OCCLUSION_PREF" - enabled_by_default = FALSE - enabled_description = "On" - disabled_description = "Off" - -/datum/client_preference/ambient_occlusion/toggled(var/mob/preference_mob, var/enabled) - . = ..() - if(preference_mob && preference_mob.plane_holder) - var/datum/plane_holder/PH = preference_mob.plane_holder - PH.set_ao(VIS_OBJS, enabled) - PH.set_ao(VIS_MOBS, enabled) - -/datum/client_preference/instrument_toggle - description ="Hear In-game Instruments" - key = "SOUND_INSTRUMENT" - -/datum/client_preference/vchat_enable - description = "Enable/Disable TGChat" - key = "VCHAT_ENABLE" - enabled_description = "Enabled" - disabled_description = "Disabled" - -/datum/client_preference/status_indicators - description = "Status Indicators" - key = "SHOW_STATUS" - enabled_description = "Show" - disabled_description = "Hide" - -/datum/client_preference/radio_sounds - description = "Radio Sounds" - key = "RADIO_SOUNDS" - enabled_description = "On" - disabled_description = "Off" - -/datum/client_preference/say_sounds - description = "Say Sounds" - key = "SAY_SOUNDS" - enabled_description = "On" - disabled_description = "Off" - -/datum/client_preference/emote_sounds - description = "Me Sounds" - key = "EMOTE_SOUNDS" - enabled_description = "On" - disabled_description = "Off" - -/datum/client_preference/whisper_sounds - description = "Whisper Sounds" - key = "WHISPER_SOUNDS" - enabled_description = "On" - disabled_description = "Off" - -/datum/client_preference/subtle_sounds - description = "Subtle Sounds" - key = "SUBTLE_SOUNDS" - enabled_description = "On" - disabled_description = "Off" - -/datum/client_preference/vore_health_bars - description = "Vore Health Bars" - key = "VORE_HEALTH_BARS" - enabled_description = "Enabled" - disabled_description = "Disabled" - -/datum/client_preference/runechat_mob - description = "Runechat (Mobs)" - key = "RUNECHAT_MOB" - enabled_description = "Show" - disabled_description = "Hide" - -/datum/client_preference/runechat_obj - description = "Runechat (Objs)" - key = "RUNECHAT_OBJ" - enabled_description = "Show" - disabled_description = "Hide" - -/datum/client_preference/runechat_border - description = "Runechat Message Border" - key = "RUNECHAT_BORDER" - enabled_description = "Show" - disabled_description = "Hide" - enabled_by_default = TRUE - -/datum/client_preference/runechat_long_messages - description = "Runechat Message Length" - key = "RUNECHAT_LONG" - enabled_description = "Long" - disabled_description = "Short" - enabled_by_default = FALSE - -/datum/client_preference/status_indicators/toggled(mob/preference_mob, enabled) - . = ..() - if(preference_mob && preference_mob.plane_holder) - var/datum/plane_holder/PH = preference_mob.plane_holder - PH.set_vis(VIS_STATUS, enabled) - -/datum/client_preference/show_lore_news - description = "Lore News Popup" - key = "NEWS_POPUP" - enabled_by_default = TRUE - enabled_description = "Popup New On Login" - disabled_description = "Do Nothing" - -/datum/client_preference/play_mentorhelp_ping - description = "Mentorhelps" - key = "SOUND_MENTORHELP" - enabled_description = "Hear" - disabled_description = "Silent" - -/datum/client_preference/player_tips - description = "Receive Tips Periodically" - key = "RECEIVE_TIPS" - enabled_description = "Enabled" - disabled_description = "Disabled" - -/datum/client_preference/pain_frequency - description = "Pain Messages Cooldown" - key = "PAIN_FREQUENCY" - enabled_by_default = FALSE - enabled_description = "Extended" - disabled_description = "Default" - -/datum/client_preference/auto_afk - description = "Automatic AFK Status" - key = "AUTO_AFK" - enabled_by_default = TRUE - enabled_description = "Automatic" - disabled_description = "Manual Only" - -/datum/client_preference/tgui_say - description = "TGUI Say: Use TGUI For Say Input" - key = "TGUI_SAY" - enabled_by_default = TRUE - enabled_description = "Yes" - disabled_description = "No" - -/datum/client_preference/tgui_say_light - description = "TGUI Say: Use Light Mode" - key = "TGUI_SAY_LIGHT_MODE" - enabled_by_default = FALSE - enabled_description = "Yes" - disabled_description = "No" - -/******************** -* Staff Preferences * -********************/ -/datum/client_preference/admin/may_toggle(var/mob/preference_mob) - return check_rights(R_ADMIN|R_EVENT, 0, preference_mob) - -/datum/client_preference/mod/may_toggle(var/mob/preference_mob) - return check_rights(R_MOD|R_ADMIN, 0, preference_mob) - -/datum/client_preference/debug/may_toggle(var/mob/preference_mob) - return check_rights(R_DEBUG|R_ADMIN, 0, preference_mob) - -/datum/client_preference/mod/show_attack_logs - description = "Attack Log Messages" - key = "CHAT_ATTACKLOGS" - enabled_description = "Show" - disabled_description = "Hide" - enabled_by_default = FALSE - -/datum/client_preference/debug/show_debug_logs - description = "Debug Log Messages" - key = "CHAT_DEBUGLOGS" - enabled_description = "Show" - disabled_description = "Hide" - enabled_by_default = FALSE - -/datum/client_preference/admin/show_chat_prayers - description = "Chat Prayers" - key = "CHAT_PRAYER" - enabled_description = "Show" - disabled_description = "Hide" - -/datum/client_preference/holder/may_toggle(var/mob/preference_mob) - return preference_mob && preference_mob.client && preference_mob.client.holder - -/datum/client_preference/holder/play_adminhelp_ping - description = "Adminhelps" - key = "SOUND_ADMINHELP" - enabled_description = "Hear" - disabled_description = "Silent" - -/datum/client_preference/holder/hear_radio - description = "Radio chatter" - key = "CHAT_RADIO" - enabled_description = "Show" - disabled_description = "Hide" - -/datum/client_preference/holder/show_rlooc - description ="Remote LOOC chat" - key = "CHAT_RLOOC" - enabled_description = "Show" - disabled_description = "Hide" - -/datum/client_preference/holder/show_staff_dsay - description ="Staff Deadchat" - key = "CHAT_ADSAY" - enabled_description = "Show" - disabled_description = "Hide" diff --git a/code/modules/client/preference_setup/loadout/gear_tweaks.dm b/code/modules/client/preference_setup/loadout/gear_tweaks.dm index f371fac6c18..ce9a748e5c8 100644 --- a/code/modules/client/preference_setup/loadout/gear_tweaks.dm +++ b/code/modules/client/preference_setup/loadout/gear_tweaks.dm @@ -151,6 +151,11 @@ GLOBAL_DATUM_INIT(gear_tweak_free_matrix_recolor, /datum/gear_tweak/matrix_recol continue else path = contents[metadata[i]] + if(!path) + var/mob/user = ismob(I.loc) ? I.loc : I.loc?.loc + if(istype(user)) + to_chat(user, span_warning("The content \"[metadata[i]]\" from \"[I]\" does no longer exist and has not been loaded. Please replace it in the character setup.")) + continue new path(I) /* @@ -209,7 +214,7 @@ var/datum/gear_tweak/custom_name/gear_tweak_free_name = new() /datum/gear_tweak/custom_name/get_metadata(var/user, var/metadata) if(jobban_isbanned(user, LOADOUT_BAN_STRING)) - to_chat(user, SPAN_WARNING("You are banned from using custom loadout names/descriptions.")) + to_chat(user, span_warning("You are banned from using custom loadout names/descriptions.")) return if(valid_custom_names) return tgui_input_list(user, "Choose an item name.", "Character Preference", valid_custom_names, metadata) @@ -241,7 +246,7 @@ var/datum/gear_tweak/custom_desc/gear_tweak_free_desc = new() /datum/gear_tweak/custom_desc/get_metadata(var/user, var/metadata) if(jobban_isbanned(user, LOADOUT_BAN_STRING)) - to_chat(user, SPAN_WARNING("You are banned from using custom loadout names/descriptions.")) + to_chat(user, span_warning("You are banned from using custom loadout names/descriptions.")) return if(valid_custom_desc) return tgui_input_list(user, "Choose an item description.", "Character Preference",valid_custom_desc, metadata) @@ -256,13 +261,13 @@ var/datum/gear_tweak/custom_desc/gear_tweak_free_desc = new() //end of custom description /datum/gear_tweak/tablet - var/list/ValidProcessors = list(/obj/item/weapon/computer_hardware/processor_unit/small) - var/list/ValidBatteries = list(/obj/item/weapon/computer_hardware/battery_module/nano, /obj/item/weapon/computer_hardware/battery_module/micro, /obj/item/weapon/computer_hardware/battery_module) - var/list/ValidHardDrives = list(/obj/item/weapon/computer_hardware/hard_drive/micro, /obj/item/weapon/computer_hardware/hard_drive/small, /obj/item/weapon/computer_hardware/hard_drive) - var/list/ValidNetworkCards = list(/obj/item/weapon/computer_hardware/network_card, /obj/item/weapon/computer_hardware/network_card/advanced) - var/list/ValidNanoPrinters = list(null, /obj/item/weapon/computer_hardware/nano_printer) - var/list/ValidCardSlots = list(null, /obj/item/weapon/computer_hardware/card_slot) - var/list/ValidTeslaLinks = list(null, /obj/item/weapon/computer_hardware/tesla_link) + var/list/ValidProcessors = list(/obj/item/computer_hardware/processor_unit/small) + var/list/ValidBatteries = list(/obj/item/computer_hardware/battery_module/nano, /obj/item/computer_hardware/battery_module/micro, /obj/item/computer_hardware/battery_module) + var/list/ValidHardDrives = list(/obj/item/computer_hardware/hard_drive/micro, /obj/item/computer_hardware/hard_drive/small, /obj/item/computer_hardware/hard_drive) + var/list/ValidNetworkCards = list(/obj/item/computer_hardware/network_card, /obj/item/computer_hardware/network_card/advanced) + var/list/ValidNanoPrinters = list(null, /obj/item/computer_hardware/nano_printer) + var/list/ValidCardSlots = list(null, /obj/item/computer_hardware/card_slot) + var/list/ValidTeslaLinks = list(null, /obj/item/computer_hardware/tesla_link) /datum/gear_tweak/tablet/get_contents(var/list/metadata) var/list/names = list() @@ -405,13 +410,13 @@ var/datum/gear_tweak/custom_desc/gear_tweak_free_desc = new() I.update_verbs() /datum/gear_tweak/laptop - var/list/ValidProcessors = list(/obj/item/weapon/computer_hardware/processor_unit/small, /obj/item/weapon/computer_hardware/processor_unit) - var/list/ValidBatteries = list(/obj/item/weapon/computer_hardware/battery_module, /obj/item/weapon/computer_hardware/battery_module/advanced, /obj/item/weapon/computer_hardware/battery_module/super) - var/list/ValidHardDrives = list(/obj/item/weapon/computer_hardware/hard_drive, /obj/item/weapon/computer_hardware/hard_drive/advanced, /obj/item/weapon/computer_hardware/hard_drive/super) - var/list/ValidNetworkCards = list(/obj/item/weapon/computer_hardware/network_card, /obj/item/weapon/computer_hardware/network_card/advanced) - var/list/ValidNanoPrinters = list(null, /obj/item/weapon/computer_hardware/nano_printer) - var/list/ValidCardSlots = list(null, /obj/item/weapon/computer_hardware/card_slot) - var/list/ValidTeslaLinks = list(null, /obj/item/weapon/computer_hardware/tesla_link) + var/list/ValidProcessors = list(/obj/item/computer_hardware/processor_unit/small, /obj/item/computer_hardware/processor_unit) + var/list/ValidBatteries = list(/obj/item/computer_hardware/battery_module, /obj/item/computer_hardware/battery_module/advanced, /obj/item/computer_hardware/battery_module/super) + var/list/ValidHardDrives = list(/obj/item/computer_hardware/hard_drive, /obj/item/computer_hardware/hard_drive/advanced, /obj/item/computer_hardware/hard_drive/super) + var/list/ValidNetworkCards = list(/obj/item/computer_hardware/network_card, /obj/item/computer_hardware/network_card/advanced) + var/list/ValidNanoPrinters = list(null, /obj/item/computer_hardware/nano_printer) + var/list/ValidCardSlots = list(null, /obj/item/computer_hardware/card_slot) + var/list/ValidTeslaLinks = list(null, /obj/item/computer_hardware/tesla_link) /datum/gear_tweak/laptop/get_contents(var/list/metadata) var/list/names = list() @@ -584,7 +589,7 @@ var/datum/gear_tweak/custom_desc/gear_tweak_free_desc = new() /datum/gear_tweak/implant_location/get_default() return bodypart_names_to_tokens[1] -/datum/gear_tweak/implant_location/tweak_item(var/obj/item/weapon/implant/I, var/metadata) +/datum/gear_tweak/implant_location/tweak_item(var/obj/item/implant/I, var/metadata) if(istype(I)) I.initialize_loc = bodypart_names_to_tokens[metadata] || BP_TORSO diff --git a/code/modules/client/preference_setup/loadout/loadout.dm b/code/modules/client/preference_setup/loadout/loadout.dm index 21e6602863e..5019e5c845e 100644 --- a/code/modules/client/preference_setup/loadout/loadout.dm +++ b/code/modules/client/preference_setup/loadout/loadout.dm @@ -45,19 +45,34 @@ var/list/gear_datums = list() sort_order = 1 var/current_tab = "General" -/datum/category_item/player_setup_item/loadout/load_character(var/savefile/S) - from_file(S["gear_list"], pref.gear_list) - from_file(S["gear_slot"], pref.gear_slot) +/datum/category_item/player_setup_item/loadout/load_character(list/save_data) + pref.gear_list = list() + var/all_gear = check_list_copy(save_data["gear_list"]) + for(var/i in all_gear) + var/list/entries = check_list_copy(all_gear["[i]"]) + for(var/j in entries) + entries["[j]"] = path2text_list(entries["[j]"]) + pref.gear_list["[i]"] = entries + pref.gear_slot = save_data["gear_slot"] if(pref.gear_list!=null && pref.gear_slot!=null) pref.gear = pref.gear_list["[pref.gear_slot]"] else - from_file(S["gear"], pref.gear) + pref.gear = check_list_copy(save_data["gear"]) pref.gear_slot = 1 -/datum/category_item/player_setup_item/loadout/save_character(var/savefile/S) +/datum/category_item/player_setup_item/loadout/save_character(list/save_data) pref.gear_list["[pref.gear_slot]"] = pref.gear - to_file(S["gear_list"], pref.gear_list) - to_file(S["gear_slot"], pref.gear_slot) + var/list/all_gear = list() + var/worn_gear = check_list_copy(pref.gear_list) + for(var/i in worn_gear) + var/list/entries = check_list_copy(worn_gear["[i]"]) + if(!length(entries)) + entries = check_list_copy(worn_gear[i]) + for(var/j in entries) + entries["[j]"] = check_list_copy(entries["[j]"]) + all_gear["[i]"] = entries + save_data["gear_list"] = all_gear + save_data["gear_slot"] = pref.gear_slot /datum/category_item/player_setup_item/loadout/proc/valid_gear_choices(var/max_cost) . = list() @@ -65,10 +80,10 @@ var/list/gear_datums = list() for(var/gear_name in gear_datums) var/datum/gear/G = gear_datums[gear_name] - if(G.whitelisted && config.loadout_whitelist != LOADOUT_WHITELIST_OFF && pref.client) //VOREStation Edit. - if(config.loadout_whitelist == LOADOUT_WHITELIST_STRICT && G.whitelisted != pref.species) + if(G.whitelisted && CONFIG_GET(flag/loadout_whitelist) != LOADOUT_WHITELIST_OFF && pref.client) //VOREStation Edit. + if(CONFIG_GET(flag/loadout_whitelist) == LOADOUT_WHITELIST_STRICT && G.whitelisted != pref.species) continue - if(config.loadout_whitelist == LOADOUT_WHITELIST_LAX && !is_alien_whitelisted(preference_mob(), GLOB.all_species[G.whitelisted])) + if(CONFIG_GET(flag/loadout_whitelist) == LOADOUT_WHITELIST_LAX && !is_alien_whitelisted(preference_mob(), GLOB.all_species[G.whitelisted])) continue if(max_cost && G.cost > max_cost) continue @@ -94,16 +109,16 @@ var/list/gear_datums = list() var/total_cost = 0 for(var/gear_name in pref.gear) if(!gear_datums[gear_name]) - to_chat(preference_mob, "You cannot have more than one of the \the [gear_name]") + to_chat(preference_mob, span_warning("You cannot have more than one of the \the [gear_name]")) pref.gear -= gear_name else if(!(gear_name in valid_gear_choices())) - to_chat(preference_mob, "You cannot take \the [gear_name] as you are not whitelisted for the species or item.") //Vorestation Edit + to_chat(preference_mob, span_warning("You cannot take \the [gear_name] as you are not whitelisted for the species or item.")) //Vorestation Edit pref.gear -= gear_name else var/datum/gear/G = gear_datums[gear_name] if(total_cost + G.cost > MAX_GEAR_COST) pref.gear -= gear_name - to_chat(preference_mob, "You cannot afford to take \the [gear_name]") + to_chat(preference_mob, span_warning("You cannot afford to take \the [gear_name]")) else total_cost += G.cost @@ -141,7 +156,7 @@ var/list/gear_datums = list() category_cost += G.cost if(category == current_tab) - . += " [category] - [category_cost] " + . += " " + span_linkOn("[category] - [category_cost]") + " " else if(category_cost) . += " [category] - [category_cost] " @@ -221,14 +236,14 @@ var/list/gear_datums = list() if(href_list["next_slot"]) //change the current slot number pref.gear_slot = pref.gear_slot+1 - if(pref.gear_slot>config.loadout_slots) + if(pref.gear_slot > CONFIG_GET(number/loadout_slots)) pref.gear_slot = 1 //If we're moving down a slot.. else if(href_list["prev_slot"]) //change current slot one down pref.gear_slot = pref.gear_slot-1 if(pref.gear_slot<1) - pref.gear_slot = config.loadout_slots + pref.gear_slot = CONFIG_GET(number/loadout_slots) // Set the currently selected gear to whatever's in the new slot if(pref.gear_list["[pref.gear_slot]"]) pref.gear = pref.gear_list["[pref.gear_slot]"] diff --git a/code/modules/client/preference_setup/loadout/loadout_accessories.dm b/code/modules/client/preference_setup/loadout/loadout_accessories.dm index f4a1b0c244e..e4b8a2161c6 100644 --- a/code/modules/client/preference_setup/loadout/loadout_accessories.dm +++ b/code/modules/client/preference_setup/loadout/loadout_accessories.dm @@ -27,16 +27,16 @@ /datum/gear/accessory/wallet display_name = "wallet, orange" - path = /obj/item/weapon/storage/wallet/random + path = /obj/item/storage/wallet/random /datum/gear/accessory/wallet_poly display_name = "wallet, polychromic" - path = /obj/item/weapon/storage/wallet/poly + path = /obj/item/storage/wallet/poly cost = 0 //VOREStation Edit /datum/gear/accessory/wallet/womens display_name = "wallet, womens" - path = /obj/item/weapon/storage/wallet/womens + path = /obj/item/storage/wallet/womens cost = 0 //VOREStation Edit /datum/gear/accessory/wallet/womens/New() @@ -45,7 +45,7 @@ /datum/gear/accessory/clutch display_name = "clutch bag" - path = /obj/item/weapon/storage/briefcase/clutch + path = /obj/item/storage/briefcase/clutch cost = 2 /datum/gear/accessory/clutch/New() @@ -54,7 +54,7 @@ /datum/gear/accessory/purse display_name = "purse" - path = /obj/item/weapon/storage/backpack/purse + path = /obj/item/storage/backpack/purse cost = 3 /datum/gear/accessory/purse/New() @@ -77,7 +77,7 @@ display_name = "holster selection" description = "Select from a number of general-purpose handgun holsters, or a baton lanyard." path = /obj/item/clothing/accessory/holster - allowed_roles = list("Site Manager", "Head of Personnel", "Security Officer", "Warden", "Head of Security","Detective","Talon Captain","Talon Guard", "Blueshield Guard","Security Pilot") //YW ADDITIONS + allowed_roles = list(JOB_SITE_MANAGER, JOB_HEAD_OF_PERSONNEL, JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_HEAD_OF_SECURITY,JOB_DETECTIVE,JOB_TALON_CAPTAIN,JOB_TALON_GUARD, "Blueshield Guard","Security Pilot") //YW ADDITIONS /datum/gear/accessory/holster/New() ..() @@ -185,12 +185,12 @@ /datum/gear/accessory/fannypack display_name = "fannypack selection" cost = 2 - path = /obj/item/weapon/storage/belt/fannypack + path = /obj/item/storage/belt/fannypack /datum/gear/accessory/fannypack/New() ..() var/list/fannys = list() - for(var/obj/item/weapon/storage/belt/fannypack/fanny_type as anything in typesof(/obj/item/weapon/storage/belt/fannypack)) + for(var/obj/item/storage/belt/fannypack/fanny_type as anything in typesof(/obj/item/storage/belt/fannypack)) fannys[initial(fanny_type.name)] = fanny_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(fannys)) @@ -250,7 +250,7 @@ /datum/gear/accessory/stethoscope display_name = "stethoscope" path = /obj/item/clothing/accessory/stethoscope - allowed_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Psychiatrist","Paramedic","Talon Doctor","Field Medic") //YW ADDITIONS, field medic + allowed_roles = list(JOB_CHIEF_MEDICAL_OFFICER,JOB_MEDICAL_DOCTOR,JOB_CHEMIST,JOB_PSYCHIATRIST,JOB_PARAMEDIC,JOB_TALON_DOCTOR,"Field Medic") //YW ADDITIONS, field medic /datum/gear/accessory/locket display_name = "locket" @@ -335,12 +335,12 @@ /datum/gear/accessory/badge display_name = "sheriff badge (Security)" path = /obj/item/clothing/accessory/badge/holo/sheriff - allowed_roles = list("Security Officer","Detective","Head of Security","Warden") + allowed_roles = list(JOB_SECURITY_OFFICER,JOB_DETECTIVE,JOB_HEAD_OF_SECURITY,JOB_WARDEN) /datum/gear/accessory/corpbadge display_name = "investigator holobadge (IAA)" path = /obj/item/clothing/accessory/badge/holo/investigator - allowed_roles = list("Internal Affairs Agent") + allowed_roles = list(JOB_INTERNAL_AFFAIRS_AGENT) /datum/gear/accessory/pressbadge display_name = "corporate press pass" @@ -360,17 +360,18 @@ /datum/gear/accessory/wristband_collection display_name = "wristbands (selection)" - path = /obj/item/clothing/accessory/wristbandcollection + path = /obj/item/clothing/accessory/wristband/collection /datum/gear/accessory/wristband_collection/New() ..() var/list/wristband_lists = list( - "Green, Blue and Yellow" = /obj/item/clothing/accessory/wristbandcollection, - "Pink, Black and Red" = /obj/item/clothing/accessory/wristbandcollection/pink, - "Red and Orange" = /obj/item/clothing/accessory/wristbandcollection/les, - "White, Pink and Blue" = /obj/item/clothing/accessory/wristbandcollection/trans, - "Blue, Purple and Pink" = /obj/item/clothing/accessory/wristbandcollection/bi, - "Black, White and Grey" = /obj/item/clothing/accessory/wristbandcollection/ace + "Green, Blue and Yellow" = /obj/item/clothing/accessory/wristband/collection, + "Pink, Black and Red" = /obj/item/clothing/accessory/wristband/collection/pink, + "Red and Orange" = /obj/item/clothing/accessory/wristband/collection/les, + "White, Pink and Blue" = /obj/item/clothing/accessory/wristband/collection/trans, + "Blue, Purple and Pink" = /obj/item/clothing/accessory/wristband/collection/bi, + "Black, White and Grey" = /obj/item/clothing/accessory/wristband/collection/ace, + "Spiked" = /obj/item/clothing/accessory/wristband/spiked ) gear_tweaks += new/datum/gear_tweak/path(wristband_lists) @@ -434,7 +435,7 @@ /datum/gear/accessory/khcrystal display_name = "KH Life Crystal" - path = /obj/item/weapon/storage/box/khcrystal + path = /obj/item/storage/box/khcrystal description = "A small necklace device that will notify an offsite cloning facility should you expire after activating it." /datum/gear/accessory/tronket @@ -458,7 +459,7 @@ /datum/gear/accessory/dosimeter display_name = "Dosimeter" - path = /obj/item/weapon/storage/box/dosimeter + path = /obj/item/storage/box/dosimeter description = "A small device that will warn the bearer when they are exposed to dangerous levels of radiation." /* @@ -553,3 +554,26 @@ Talon pin "Service - Echelons" = /obj/item/clothing/accessory/solgov/department/service/army ) gear_tweaks += new/datum/gear_tweak/path(insignia) + +/datum/gear/accessory/belt_selection + display_name = "belts (selection, colorable)" + path = /obj/item/clothing/accessory/belt + +/datum/gear/accessory/belt_selection/New() + ..() + var/list/wristband_lists = list( + "Thin Belt" = /obj/item/clothing/accessory/belt, + "Thick Belt" = /obj/item/clothing/accessory/belt/thick, + "Strap Belt" = /obj/item/clothing/accessory/belt/strap, + "Studded Belt" = /obj/item/clothing/accessory/belt/studded + ) + gear_tweaks += new/datum/gear_tweak/path(wristband_lists) + gear_tweaks += gear_tweak_free_color_choice + +/datum/gear/accessory/bunny_tail + display_name = "bunny tail, colorable" + path = /obj/item/clothing/accessory/bunny_tail + +/datum/gear/accessory/bunny_tail/New() + ..() + gear_tweaks += gear_tweak_free_color_choice diff --git a/code/modules/client/preference_setup/loadout/loadout_cosmetics.dm b/code/modules/client/preference_setup/loadout/loadout_cosmetics.dm index 7e9b25070ae..f48943883bb 100644 --- a/code/modules/client/preference_setup/loadout/loadout_cosmetics.dm +++ b/code/modules/client/preference_setup/loadout/loadout_cosmetics.dm @@ -1,20 +1,20 @@ /datum/gear/cosmetic/lipstick/black display_name = "lipstick, black" - path = /obj/item/weapon/lipstick/black + path = /obj/item/lipstick/black /datum/gear/cosmetic/lipstick/jade display_name = "lipstick, jade" - path = /obj/item/weapon/lipstick/jade + path = /obj/item/lipstick/jade /datum/gear/cosmetic/lipstick/purple display_name = "lipstick, purple" - path = /obj/item/weapon/lipstick/purple + path = /obj/item/lipstick/purple /datum/gear/cosmetic/lipstick display_name = "lipstick, red" - path = /obj/item/weapon/lipstick + path = /obj/item/lipstick /datum/gear/cosmetic display_name = "purple comb" - path = /obj/item/weapon/haircomb + path = /obj/item/haircomb sort_category = "Cosmetics" \ No newline at end of file diff --git a/code/modules/client/preference_setup/loadout/loadout_cosmetics_vr.dm b/code/modules/client/preference_setup/loadout/loadout_cosmetics_vr.dm index c538c66410b..9cd5982274b 100644 --- a/code/modules/client/preference_setup/loadout/loadout_cosmetics_vr.dm +++ b/code/modules/client/preference_setup/loadout/loadout_cosmetics_vr.dm @@ -1,7 +1,7 @@ /datum/gear/cosmetic/nailpolish display_name = "nail polish (colorable)" description = "Nail polish, available in every color of the rainbow! Doesn't come with nail polish remover." - path = /obj/item/weapon/nailpolish + path = /obj/item/nailpolish /datum/gear/cosmetic/nailpolish/New() ..() @@ -9,7 +9,7 @@ gear_tweaks = list(gear_tweak_free_color_choice, gear_tweak_free_name) /datum/gear/cosmetic/nailpolish/spawn_item(var/location, var/metadata) - var/obj/item/weapon/nailpolish/polish = ..() + var/obj/item/nailpolish/polish = ..() polish.set_colour(polish.color) polish.color = null return polish @@ -17,4 +17,4 @@ /datum/gear/cosmetic/nailpolish_remover display_name = "nail polish remover" description = "Nail polish remover, for when the fun's over. Doesn't come with nail polish." - path = /obj/item/weapon/nailpolish_remover \ No newline at end of file + path = /obj/item/nailpolish_remover \ No newline at end of file diff --git a/code/modules/client/preference_setup/loadout/loadout_cyberware.dm b/code/modules/client/preference_setup/loadout/loadout_cyberware.dm index 1fac24c862b..4c0e49e48f5 100644 --- a/code/modules/client/preference_setup/loadout/loadout_cyberware.dm +++ b/code/modules/client/preference_setup/loadout/loadout_cyberware.dm @@ -1,7 +1,7 @@ /datum/gear/utility/implant display_name = "implant, neural assistance web" description = "A complex web implanted into the subject, medically in order to compensate for neurological disease." - path = /obj/item/weapon/implant/neural + path = /obj/item/implant/neural slot = "implant" exploitable = 1 sort_category = "Cyberware" @@ -9,13 +9,13 @@ /datum/gear/utility/implant/tracking display_name = "implant, tracking" - path = /obj/item/weapon/implant/tracking/weak + path = /obj/item/implant/tracking/weak cost = 0 //VOREStation Edit. Changed cost to 0 /datum/gear/utility/implant/generic display_name = "implant, generic, primary" description = "An implant with no obvious purpose." - path = /obj/item/weapon/implant + path = /obj/item/implant cost = 1 /datum/gear/utility/implant/generic/second @@ -35,9 +35,9 @@ /datum/gear/utility/implant/language/eal display_name = "vocal synthesizer, EAL" description = "A surgically implanted vocal synthesizer which allows the owner to speak EAL, if they know it." - path = /obj/item/weapon/implant/language/eal + path = /obj/item/implant/language/eal /datum/gear/utility/implant/language/skrellian display_name = "vocal synthesizer, Skrellian" description = "A surgically implanted vocal synthesizer which allows the owner to speak Common Skrellian, if they know it." - path = /obj/item/weapon/implant/language/skrellian + path = /obj/item/implant/language/skrellian diff --git a/code/modules/client/preference_setup/loadout/loadout_eyes.dm b/code/modules/client/preference_setup/loadout/loadout_eyes.dm index 14195953b08..cecce3822e2 100644 --- a/code/modules/client/preference_setup/loadout/loadout_eyes.dm +++ b/code/modules/client/preference_setup/loadout/loadout_eyes.dm @@ -71,7 +71,7 @@ display_name = "Security HUD selector" description = "Select from a range of Security HUD eyepieces that can display the ID status and security records of people in line of sight." path = /obj/item/clothing/glasses/hud/security - allowed_roles = list("Security Officer","Head of Security","Warden", "Detective","Blueshield Guard","Security Pilot") //YW ADDITIONS + allowed_roles = list(JOB_SECURITY_OFFICER,JOB_HEAD_OF_SECURITY,JOB_WARDEN, JOB_DETECTIVE,"Blueshield Guard","Security Pilot") //YW ADDITIONS /datum/gear/eyes/security/New() ..() @@ -91,7 +91,7 @@ display_name = "Medical HUD selector" description = "Select from a range of Medical HUD eyepieces that can display the health status of people in line of sight." path = /obj/item/clothing/glasses/hud/health - allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist", "Psychiatrist") + allowed_roles = list(JOB_MEDICAL_DOCTOR,JOB_CHIEF_MEDICAL_OFFICER,JOB_CHEMIST,JOB_PARAMEDIC,JOB_GENETICIST, JOB_PSYCHIATRIST) /datum/gear/eyes/medical/New() ..() @@ -107,7 +107,7 @@ /datum/gear/eyes/janitor display_name = "Contaminant HUD" path = /obj/item/clothing/glasses/hud/janitor - allowed_roles = list("Janitor") + allowed_roles = list(JOB_JANITOR) /datum/gear/eyes/janitor/prescriptionjan display_name = "Contaminant HUD, prescription" @@ -117,7 +117,7 @@ display_name = "Optical Meson Scanners selection" description = "Select from a range of meson-projection eyewear. Note: not all of these items are atmospherically sealed." path = /obj/item/clothing/glasses/meson - allowed_roles = list("Engineer","Chief Engineer","Atmospheric Technician", "Scientist", "Research Director", "Explorer", "Pathfinder", "Field Medic") // YW EDIT Field medic, Explo + allowed_roles = list(JOB_ENGINEER,JOB_CHIEF_ENGINEER,JOB_ATMOSPHERIC_TECHNICIAN, JOB_SCIENTIST, JOB_RESEARCH_DIRECTOR, "Explorer", "Pathfinder", "Field Medic") // YW EDIT Field medic, Explo /datum/gear/eyes/meson/New() ..() @@ -133,7 +133,7 @@ /datum/gear/eyes/material display_name = "Optical Material Scanners" path = /obj/item/clothing/glasses/material - allowed_roles = list("Shaft Miner","Quartermaster") + allowed_roles = list(JOB_SHAFT_MINER,JOB_QUARTERMASTER) /datum/gear/eyes/glasses/fakesun display_name = "Sunglasses, stylish" @@ -147,7 +147,7 @@ display_name = "functional sunglasses selector" description = "Select from a range of polarized sunglasses that can block flashes whilst still looking classy." path = /obj/item/clothing/glasses/sunglasses - allowed_roles = list("Security Officer","Head of Security","Warden","Site Manager","Head of Personnel","Quartermaster","Internal Affairs Agent","Detective", "Blueshield Guard","Security Pilot") //YW ADDITIONS + allowed_roles = list(JOB_SECURITY_OFFICER,JOB_HEAD_OF_SECURITY,JOB_WARDEN,JOB_SITE_MANAGER,JOB_HEAD_OF_PERSONNEL,JOB_QUARTERMASTER,JOB_INTERNAL_AFFAIRS_AGENT,JOB_DETECTIVE, "Blueshield Guard","Security Pilot") //YW ADDITIONS /datum/gear/eyes/sun/New() ..() diff --git a/code/modules/client/preference_setup/loadout/loadout_eyes_vr.dm b/code/modules/client/preference_setup/loadout/loadout_eyes_vr.dm index afd16191e7c..918f27b9732 100644 --- a/code/modules/client/preference_setup/loadout/loadout_eyes_vr.dm +++ b/code/modules/client/preference_setup/loadout/loadout_eyes_vr.dm @@ -1,5 +1,5 @@ /datum/gear/eyes/medical - allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist", "Psychiatrist", "Field Medic") // YW EDIT Field medic + allowed_roles = list(JOB_MEDICAL_DOCTOR,JOB_CHIEF_MEDICAL_OFFICER,JOB_CHEMIST,JOB_PARAMEDIC,JOB_GENETICIST, JOB_PSYCHIATRIST, "Field Medic") // YW EDIT Field medic /datum/gear/eyes/arglasses display_name = "AR glasses" @@ -19,28 +19,28 @@ /datum/gear/eyes/arglasses/sec display_name = "AR-Security glasses" path = /obj/item/clothing/glasses/omnihud/sec - allowed_roles = list("Security Officer","Head of Security","Warden","Detective") + allowed_roles = list(JOB_SECURITY_OFFICER,JOB_HEAD_OF_SECURITY,JOB_WARDEN,JOB_DETECTIVE) /datum/gear/eyes/arglasses/sci display_name = "AR-Research glasses" path = /obj/item/clothing/glasses/omnihud/rnd - allowed_roles = list("Research Director","Scientist","Xenobiologist","Xenobotanist","Roboticist") + allowed_roles = list(JOB_RESEARCH_DIRECTOR,JOB_SCIENTIST,JOB_XENOBIOLOGIST,JOB_XENOBOTANIST,JOB_ROBOTICIST) /datum/gear/eyes/arglasses/eng display_name = "AR-Engineering glasses" path = /obj/item/clothing/glasses/omnihud/eng - allowed_roles = list("Engineer","Chief Engineer","Atmospheric Technician") + allowed_roles = list(JOB_ENGINEER,JOB_CHIEF_ENGINEER,JOB_ATMOSPHERIC_TECHNICIAN) /datum/gear/eyes/arglasses/med display_name = "AR-Medical glasses" path = /obj/item/clothing/glasses/omnihud/med - allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist", "Psychiatrist", "Field Medic") // YW EDIT Field medic + allowed_roles = list(JOB_MEDICAL_DOCTOR,JOB_CHIEF_MEDICAL_OFFICER,JOB_CHEMIST,JOB_PARAMEDIC,JOB_GENETICIST, JOB_PSYCHIATRIST, "Field Medic") // YW EDIT Field medi /datum/gear/eyes/arglasses/all display_name = "AR-Command glasses" path = /obj/item/clothing/glasses/omnihud/all cost = 2 - allowed_roles = list("Site Manager","Head of Personnel") + allowed_roles = list(JOB_SITE_MANAGER,JOB_HEAD_OF_PERSONNEL) /datum/gear/eyes/spiffygogs display_name = "slick orange goggles" diff --git a/code/modules/client/preference_setup/loadout/loadout_fluffitems_vr.dm b/code/modules/client/preference_setup/loadout/loadout_fluffitems_vr.dm index 9055d285480..17030caab04 100644 --- a/code/modules/client/preference_setup/loadout/loadout_fluffitems_vr.dm +++ b/code/modules/client/preference_setup/loadout/loadout_fluffitems_vr.dm @@ -13,11 +13,11 @@ /* /datum/gear/fluff/testhorn - path = /obj/item/weapon/bikehorn + path = /obj/item/bikehorn display_name = "Airhorn - Example Item" description = "An example item that you probably shouldn't see!" ckeywhitelist = list("your_ckey_here") - allowed_roles = list("Engineer") + allowed_roles = list(JOB_ENGINEER) */ /datum/gear/fluff/collar //Use this as a base path for collars if you'd like to set tags in loadout. Make sure you don't use apostrophes in the display name or this breaks! @@ -29,7 +29,7 @@ // 0-9 CKEYS /datum/gear/fluff/malady_crop - path = /obj/item/weapon/material/twohanded/riding_crop/malady + path = /obj/item/material/twohanded/riding_crop/malady display_name = "Malady's Crop" ckeywhitelist = list("1r1s") character_name = list("Malady Blanche") @@ -80,7 +80,7 @@ character_name = list("Charlotte Graves") /datum/gear/fluff/charlotte_cigarettes - path = /obj/item/weapon/storage/fancy/fluff/charlotte + path = /obj/item/storage/fancy/fluff/charlotte display_name = "Charlotte's cigarette case" ckeywhitelist = list("alfalah") character_name = list("Charlotte Graves") @@ -104,7 +104,7 @@ character_name = list("Fifi The Magnificent") /datum/gear/fluff/lynn_penlight - path = /obj/item/device/flashlight/pen/fluff/lynn + path = /obj/item/flashlight/pen/fluff/lynn display_name = "Lynn's Penlight" ckeywhitelist = list("argobargsoup") character_name = list("Lynn Shady") @@ -132,7 +132,7 @@ character_name = list("Aronai Sieyes") /datum/gear/fluff/astra_ritualknife - path = /obj/item/weapon/material/knife/ritual/fluff/astra + path = /obj/item/material/knife/ritual/fluff/astra display_name = "Polished Ritual Knife" description = "A well kept strange ritual knife, There is a small tag with the name 'Astra Ether' on it. They are probably looking for this." ckeywhitelist = list("astraether") @@ -180,7 +180,7 @@ character_name = list("Yuuko Shimmerpond") /datum/gear/fluff/cassandra_box - path = /obj/item/weapon/storage/box/fluff/cassandra + path = /obj/item/storage/box/fluff/cassandra display_name = "Cassandra's Box" ckeywhitelist = list("beyondmylife") character_name = list("Cassandra Selone") @@ -200,7 +200,7 @@ character_name = list("Kilano Soryu") /datum/gear/fluff/netra_box - path = /obj/item/weapon/storage/box/fluff/kilano + path = /obj/item/storage/box/fluff/kilano display_name = "Ne'tra's Box" ckeywhitelist = list("beyondmylife") character_name = list("Ne'tra Ky'ram") @@ -238,13 +238,13 @@ character_name = list("Xin Xiao") /datum/gear/fluff/tasald_box - path = /obj/item/weapon/storage/box/fluff/tasald + path = /obj/item/storage/box/fluff/tasald display_name = "Tasald's Box" ckeywhitelist = list("bwoincognito") character_name = list("Tasald Corlethian") /datum/gear/fluff/octavius_box - path = /obj/item/weapon/storage/box/fluff/octavious + path = /obj/item/storage/box/fluff/octavious display_name = "Octavious' Box" ckeywhitelist = list("bwoincognito") character_name = list("Octavious Ward") @@ -271,13 +271,13 @@ // C CKEYS /datum/gear/fluff/cappy_watch - path = /obj/item/clothing/accessory/watch + path = /obj/item/clothing/accessory/watch/custom display_name = "Cappy's Pocket Watch" ckeywhitelist = list("cappycat") character_name = list("Cappy Fuzzlyfeathers") /datum/gear/fluff/james_disk - path = /obj/item/weapon/disk/data + path = /obj/item/disk/data display_name = "James' Disk" ckeywhitelist = list("cockatricexl") character_name = list("James Holder") @@ -304,13 +304,13 @@ character_name = list("Aika Hisakawa") /datum/gear/fluff/sariU_disk - path = /obj/item/weapon/disk/limb/eggnerdltd + path = /obj/item/disk/limb/eggnerdltd display_name = "Sari-U's Eggnerd Disk" ckeywhitelist = list("crossexonar") character_name = list("Sari-U") /datum/gear/fluff/sariE_disk - path = /obj/item/weapon/disk/limb/eggnerdltd + path = /obj/item/disk/limb/eggnerdltd display_name = "Sari-E's Eggnerd Disk" ckeywhitelist = list("crossexonar") character_name = list("Sari-E") @@ -340,13 +340,13 @@ character_name = list("Perrin Kade") /datum/gear/fluff/jade_stamp - path = /obj/item/weapon/stamp/fluff/jade_horror + path = /obj/item/stamp/fluff/jade_horror display_name = "Official Council of Mid Horror rubber stamp" ckeywhitelist = list("coolcrow420") character_name = list("Jade Davis") /datum/gear/fluff/m4il_hdd - path = /obj/item/weapon/implant/language/fluff/m41l + path = /obj/item/implant/language/fluff/m41l display_name = "dusty hard drive" slot = "implant" ckeywhitelist = list("coolcrow420") @@ -354,7 +354,7 @@ // D CKEYS /datum/gear/fluff/Aku_briefcase - path = /obj/item/weapon/storage/secure/briefcase/dealer + path = /obj/item/storage/secure/briefcase/dealer display_name = "Aku's dealer briefcase" ckeywhitelist = list("defiintelynotarock") character_name = list("Aku Zoles") @@ -366,7 +366,7 @@ character_name = list("Dhaeleena M'iar") /datum/gear/fluff/elliot_belt - path = /obj/item/weapon/storage/belt/champion + path = /obj/item/storage/belt/champion display_name = "Elliot's Belt" ckeywhitelist = list("dickfreedomjohnson") character_name = list("Elliot Richards") @@ -384,20 +384,20 @@ character_name = list("Donald Weinbeck") /datum/gear/fluff/drake_box - path = /obj/item/weapon/storage/box/fluff/drake + path = /obj/item/storage/box/fluff/drake display_name = "Drake's Box" ckeywhitelist = list("drakefrostpaw") character_name = list("Drake Frostpaw") /datum/gear/fluff/theseus_coin - path = /obj/item/weapon/coin/diamond + path = /obj/item/coin/diamond display_name = "Theseus' Diamond coin" ckeywhitelist = list("draycu") character_name = list("Theseus") description = "An engraved coin made of diamond. On the side for heads is printed the year 2541, along with the letter T. On the side for tails, the letter Y can be seen." /datum/gear/fluff/yonra_box - path = /obj/item/weapon/storage/box/fluff/yonra + path = /obj/item/storage/box/fluff/yonra display_name = "Yonra's Box" ckeywhitelist = list("draycu") character_name = list("Schae Yonra") @@ -437,7 +437,7 @@ character_name = list("Erik Ramadwood") /datum/gear/fluff/salvage_id - path = /obj/item/weapon/card/id/event/polymorphic/itg + path = /obj/item/card/id/event/polymorphic/itg display_name = "Salvage's ITG-ID card" ckeywhitelist = list("essbie") character_name = list("Savage") @@ -449,7 +449,7 @@ slot = slot_wear_suit ckeywhitelist = list("flaktual") character_name = list("Yikatihaki") - allowed_roles = list("Explorer") + allowed_roles = list(JOB_EXPLORER) /datum/gear/fluff/suit/storage/flintlock path = /obj/item/clothing/suit/storage/flintlock @@ -504,13 +504,13 @@ character_name = list("Lauren Zackson") /datum/gear/fluff/belle_sizegun - path = /obj/item/weapon/gun/energy/sizegun + path = /obj/item/gun/energy/sizegun display_name = "Belle's Sizegun" ckeywhitelist = list("hottokeeki") character_name = list("Belle Day") /datum/gear/fluff/amaryll_claws - path = /obj/item/weapon/surgical/scalpel/amaryll_claws + path = /obj/item/surgical/scalpel/amaryll_claws display_name = "Amaryll's Claws" ckeywhitelist = list("hunterbirk") character_name = list("Amaryll") @@ -528,7 +528,7 @@ character_name = list("Elizabeth Bayou") /datum/gear/fluff/mercury_vopal_ring - path = /obj/item/clothing/gloves/ring/material/void_opal/fluff/mercury + path = /obj/item/clothing/accessory/ring/material/void_opal/fluff/mercury display_name = "Mercury's Mate Ring" ckeywhitelist = list("haloren") character_name = list("Mercury") @@ -536,7 +536,7 @@ // I CKEYS /datum/gear/fluff/ruda_badge path = /obj/item/clothing/accessory/badge/holo/detective/ruda - display_name = "Ruda's Detective Badge" + display_name = "Ruda's " + JOB_DETECTIVE + " Badge" ckeywhitelist = list("interrolouis") character_name = list("Ruda Lizden") @@ -547,7 +547,7 @@ character_name = list("Kai Highlands") /datum/gear/fluff/ivy_backpack - path = /obj/item/weapon/storage/backpack/messenger/sec/fluff/ivymoomoo + path = /obj/item/storage/backpack/messenger/sec/fluff/ivymoomoo display_name = "Ivy's Backpack" slot = slot_back ckeywhitelist = list("ivymoomoo") @@ -567,18 +567,18 @@ // J CKEYS /datum/gear/fluff/mor_box - path = /obj/item/weapon/storage/box/fluff/morxaina + path = /obj/item/storage/box/fluff/morxaina display_name = "Mor's Box" ckeywhitelist = list("jacknoir413") character_name = list("Mor Xaina") /datum/gear/fluff/areax_staff - path = /obj/item/weapon/storage/backpack/fluff/stunstaff + path = /obj/item/storage/backpack/fluff/stunstaff display_name = "Areax's Stun Staff" slot = slot_back ckeywhitelist = list("jacknoir413") character_name = list("Areax Third") - allowed_roles = list("Security Officer, Warden, Head of Security") + allowed_roles = list(JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_HEAD_OF_SECURITY) /datum/gear/fluff/earthen_uniform path = /obj/item/clothing/under/fluff/earthenbreath @@ -602,7 +602,7 @@ character_name = list("Freyr") /datum/gear/fluff/cirra_box - path = /obj/item/weapon/storage/box/fluff/cirra + path = /obj/item/storage/box/fluff/cirra display_name = "Cirra's Box" ckeywhitelist = list("jemli") character_name = list("Cirra Mayhem") @@ -626,7 +626,7 @@ display_name = "Ace's Holster" ckeywhitelist = list("jertheace") character_name = list("Jeremiah Acacius") - allowed_roles = list("Site Manager", "Warden", "Head of Security") + allowed_roles = list(JOB_SITE_MANAGER, JOB_WARDEN, JOB_HEAD_OF_SECURITY) /datum/gear/fluff/jeremiah_boots path = /obj/item/clothing/shoes/boots/combat @@ -643,21 +643,21 @@ character_name = list("Jeremiah Acacius") /datum/gear/fluff/joan_backpack - path = /obj/item/weapon/storage/backpack/dufflebag/sec/fluff/joanrisu + path = /obj/item/storage/backpack/dufflebag/sec/fluff/joanrisu display_name = "Joan's backpack" ckeywhitelist = list("joanrisu") character_name = list("Joan Risu") /datum/gear/fluff/katarina_backpack - path = /obj/item/weapon/storage/backpack/dufflebag/sec/fluff/katarina + path = /obj/item/storage/backpack/dufflebag/sec/fluff/katarina display_name = "Katarina's Backpack" ckeywhitelist = list("joanrisu") character_name = list("Katarina Eine") - allowed_roles = list("Site Manager", "Warden", "Head of Security") + allowed_roles = list(JOB_SITE_MANAGER, JOB_WARDEN, JOB_HEAD_OF_SECURITY) /datum/gear/fluff/emoticon_box - path = /obj/item/weapon/storage/box/fluff/emoticon + path = /obj/item/storage/box/fluff/emoticon display_name = "Emoticon's Box" ckeywhitelist = list("joey4298") character_name = list("Emoticon") @@ -683,19 +683,25 @@ character_name = list("Harmony Pretchl") /datum/gear/fluff/harmony_modkit - path = /obj/item/device/modkit_conversion/fluff/harmonysuit + path = /obj/item/modkit_conversion/fluff/harmonysuit display_name = "Harmony's Modkit" ckeywhitelist = list("john.wayne9392") character_name = list("Harmony Pretchl") /datum/gear/fluff/harmony_spacemodkit - path = /obj/item/device/modkit_conversion/fluff/harmonyspace + path = /obj/item/modkit_conversion/fluff/harmonyspace display_name = "Harmony's Modkit 2" ckeywhitelist = list("john.wayne9392") character_name = list("Harmony Pretchl") +/datum/gear/fluff/vox_dylo_pills + path = /obj/item/storage/pill_bottle/dylovene + display_name = "Dylovene pill bottle" + ckeywhitelist = list("jparker890") + character_name = list("Krey-Timinine") + /datum/gear/fluff/koyo_box - path = /obj/item/weapon/storage/box/fluff/koyoakimomi + path = /obj/item/storage/box/fluff/koyoakimomi display_name = "Koyo's Box" ckeywhitelist = list("jwguy") character_name = list("Koyo Akimomi") @@ -715,7 +721,7 @@ character_name = list("Ketrai") /datum/gear/fluff/amaya_id - path = /obj/item/weapon/card/id/event/fluff/amaya + path = /obj/item/card/id/event/fluff/amaya display_name = "Amaya's ID" ckeywhitelist = list("kiraalitruss") character_name = list("Amaya Rahl") @@ -773,30 +779,30 @@ character_name = list("Kenzie Houser") /datum/gear/fluff/kenzie_hypospray - path = /obj/item/weapon/reagent_containers/hypospray/vial/kenzie + path = /obj/item/reagent_containers/hypospray/vial/kenzie display_name = "Kenzie's Hypospray" ckeywhitelist = list("lm40") character_name = list("Kenzie Houser") - allowed_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Psychiatrist","Paramedic") + allowed_roles = list(JOB_CHIEF_MEDICAL_OFFICER,JOB_MEDICAL_DOCTOR,JOB_CHEMIST,JOB_PSYCHIATRIST,JOB_PARAMEDIC) /datum/gear/fluff/brianna_backpack - path = /obj/item/weapon/storage/backpack/messenger/black/fluff/briana + path = /obj/item/storage/backpack/messenger/black/fluff/briana display_name = "Briana's Backpack" slot = slot_back ckeywhitelist = list("luminescentring") character_name = list("Briana Moore") /datum/gear/fluff/zharritool - path = /obj/item/weapon/tool/transforming/altevian + path = /obj/item/tool/transforming/altevian display_name = "Zharri's Custom Omni-Tool" description = "A Hull Systems Omni-Tool capable of temporarily shrinking to handheld sizes for even the most delicate work." ckeywhitelist = list("lewzharri") character_name = list ("Kovgam Zharri") - allowed_roles = list("Roboticist","Engineer","Scientist","Xenobiologist","Xenobotanist","Research Director") + allowed_roles = list(JOB_ROBOTICIST,JOB_ENGINEER,JOB_SCIENTIST,JOB_XENOBIOLOGIST,JOB_XENOBOTANIST,JOB_RESEARCH_DIRECTOR) // M CKEYS /datum/gear/fluff/phi_box - path = /obj/item/weapon/storage/box/fluff/phi + path = /obj/item/storage/box/fluff/phi display_name = "Phi's Box" ckeywhitelist = list("mewchild") character_name = list("Phi Vietsi") @@ -809,7 +815,7 @@ character_name = list("Giliana Gamish") /datum/gear/fluff/myryan_belt - path = /obj/item/weapon/storage/belt/utility/fluff/vulpine + path = /obj/item/storage/belt/utility/fluff/vulpine display_name = "Myryan's Belt" ckeywhitelist = list("myryan") character_name = list("Myryan Karnage-Cunningham") @@ -820,7 +826,7 @@ slot = slot_wear_suit ckeywhitelist = list("mrsignmeup") character_name = list("Reshskakskakss Seekiseekis") - allowed_roles = list("Head of Security") + allowed_roles = list(JOB_HEAD_OF_SECURITY) /datum/gear/fluff/daniel_medal path = /obj/item/clothing/accessory/medal/conduct @@ -882,14 +888,14 @@ character_name = list("Damon Bones Xrim") /datum/gear/fluff/kt_fishing_rod - path = /obj/item/weapon/material/fishing_rod/modern/strong + path = /obj/item/material/fishing_rod/modern/strong display_name = "K't's fishing rod" ckeywhitelist = list("nerdass") character_name = list("K't") // O CKEYS /datum/gear/fluff/richard_chain - path = /obj/item/weapon/melee/fluff/holochain + path = /obj/item/melee/fluff/holochain display_name = "Richard's Holochain" ckeywhitelist = list("orbisa") character_name = list("Richard D'angelo") @@ -938,13 +944,13 @@ character_name = list("Pip Shyner") /datum/gear/fluff/lucuis_battery - path = /obj/item/weapon/fluff/dragor_dot + path = /obj/item/fluff/dragor_dot display_name = "Lucuis' Spare Battery" ckeywhitelist = list("pontifexminimus") character_name = list("Lucius Null") /datum/gear/fluff/lucia_battery - path = /obj/item/weapon/fluff/dragor_dot + path = /obj/item/fluff/dragor_dot display_name = "Lucia's Spare Battery" ckeywhitelist = list("pontifexminimus") character_name = list("Lucia Null") @@ -1007,10 +1013,10 @@ display_name = "Tiemli's Welding Goggles" ckeywhitelist = list("radiantaurora") character_name = list("Tiemli Kroto") - allowed_roles = list("Roboticist") + allowed_roles = list(JOB_ROBOTICIST) /datum/gear/fluff/clara_flask - path = /obj/item/weapon/reagent_containers/food/drinks/glass2/fluff/claraflask + path = /obj/item/reagent_containers/food/drinks/glass2/fluff/claraflask display_name = "Clara's Vacuum Flask" ckeywhitelist = list("rboys2") character_name = list("Clara Mali") @@ -1029,19 +1035,19 @@ character_name = list("LUNA") /datum/gear/fluff/pathfinder_id - path = /obj/item/weapon/card/id/event/polymorphic/itg + path = /obj/item/card/id/event/polymorphic/itg display_name = "Pathfinder's ITG ID" ckeywhitelist = list("residentcody") character_name = list("Pathfinder") /datum/gear/fluff/revolver_claymore - path = /obj/item/weapon/sword/fluff/revolver + path = /obj/item/sword/fluff/revolver display_name = "Catnip" ckeywhitelist = list("revolvereloise") character_name = list("Revolver Eloise") /datum/gear/fluff/nikki_dorky_outfit - path = /obj/item/weapon/storage/box/fluff + path = /obj/item/storage/box/fluff display_name = "Nikki's Witchy Outfit" ckeywhitelist = list("ryumi") character_name = list("Nikki Yumeno") @@ -1076,14 +1082,14 @@ display_name = "Kateryna's Voidsuit" ckeywhitelist = list("samanthafyre") character_name = list("Kateryna Petrovitch") - allowed_roles = list("Engineer", "Chief Engineer", "Atmospheric Technician") + allowed_roles = list(JOB_ENGINEER, JOB_CHIEF_ENGINEER, JOB_ATMOSPHERIC_TECHNICIAN) /datum/gear/fluff/katerina_spacesuit path = /obj/item/clothing/head/helmet/space/fluff/kate display_name = "Kateryna's Helmet" ckeywhitelist = list("samanthafyre") character_name = list("Kateryna Petrovitch") - allowed_roles = list("Engineer", "Chief Engineer", "Atmospheric Technician") + allowed_roles = list(JOB_ENGINEER, JOB_CHIEF_ENGINEER, JOB_ATMOSPHERIC_TECHNICIAN) /datum/gear/fluff/kateryna_armorvest path = /obj/item/clothing/suit/armor/vest/wolftaur/kate @@ -1091,16 +1097,16 @@ slot = slot_wear_suit ckeywhitelist = list("samanthafyre") character_name = list("Kateryna Petrovitch") - allowed_roles = list("Security Officer", "Warden", "Head of Security", "Site Manager", "Head of Personnel") + allowed_roles = list(JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_HEAD_OF_SECURITY, JOB_SITE_MANAGER, JOB_HEAD_OF_PERSONNEL) /datum/gear/fluff/viktor_flask - path = /obj/item/weapon/reagent_containers/food/drinks/flask/vacuumflask/fluff/viktor + path = /obj/item/reagent_containers/food/drinks/flask/vacuumflask/fluff/viktor display_name = "Viktor's Flask" ckeywhitelist = list("semaun") character_name = list("Viktor Solothurn") /datum/gear/fluff/scree_modkit - path = /obj/item/device/modkit_conversion/fluff/screekit + path = /obj/item/modkit_conversion/fluff/screekit display_name = "Scree's Modkit" ckeywhitelist = list("scree") character_name = list("Scree") @@ -1134,11 +1140,11 @@ character_name = list("Alfonso Oak Telanor") /datum/gear/fluff/cerise_secbelt - path = /obj/item/weapon/storage/belt/security/fluff/cerise + path = /obj/item/storage/belt/security/fluff/cerise display_name = "Cerise's Champion's Belt" ckeywhitelist = list("shalax") character_name = list("Cerise Duelliste") - allowed_roles = list("Security Officer", "Warden", "Head of Security", "Detective") + allowed_roles = list(JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_HEAD_OF_SECURITY, JOB_DETECTIVE) /datum/gear/fluff/sidona_robes path = /obj/item/clothing/under/fluff/gildedrobe_perrin @@ -1153,18 +1159,18 @@ character_name = list("Sidona Kaal") /datum/gear/fluff/nthasd_modkit //Converts a Security suit's sprite - path = /obj/item/device/modkit_conversion/hasd + path = /obj/item/modkit_conversion/hasd display_name = "NT-HASD 556's Modkit" ckeywhitelist = list("silencedmp5a5") character_name = list("NT-HASD #556") - allowed_roles = list("Site Manager", "Head of Personnel", "Security Officer", "Warden", "Head of Security","Detective") + allowed_roles = list(JOB_SITE_MANAGER, JOB_HEAD_OF_PERSONNEL, JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_HEAD_OF_SECURITY,JOB_DETECTIVE) /datum/gear/fluff/serdykov_modkit //Also converts a Security suit's sprite - path = /obj/item/device/modkit_conversion/fluff/serdykit + path = /obj/item/modkit_conversion/fluff/serdykit display_name = "Serdykov Antoz's Modkit" ckeywhitelist = list("silencedmp5a5") character_name = list("Serdykov Antoz") - allowed_roles = list("Site Manager", "Head of Personnel", "Security Officer", "Warden", "Head of Security","Detective") + allowed_roles = list(JOB_SITE_MANAGER, JOB_HEAD_OF_PERSONNEL, JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_HEAD_OF_SECURITY,JOB_DETECTIVE) /datum/gear/fluff/tasy_clownuniform path = /obj/item/clothing/under/sexyclown @@ -1181,13 +1187,13 @@ character_name = list("Tasy Ruffles") /datum/gear/fluff/tasy_clownPDA - path = /obj/item/device/pda/clown + path = /obj/item/pda/clown display_name = "Tasy's Clown PDA" ckeywhitelist = list("silvertalismen") character_name = list("Tasy Ruffles") /datum/gear/fluff/fortune_backpack - path = /obj/item/weapon/storage/backpack/satchel/fluff/swat43bag + path = /obj/item/storage/backpack/satchel/fluff/swat43bag display_name = "Fortune's Backpack" slot = slot_back ckeywhitelist = list("swat43") @@ -1239,6 +1245,13 @@ ckeywhitelist = list("satinisle") character_name = list("Parriz Tavakdavi") +/datum/gear/fluff/dark_tarot + path = /obj/item/deck/dark_tarot + display_name = "dark rose tarot deck" + ckeywhitelist = list("satinisle") + character_name = list("Millie Orlen") + + // T CKEYS /datum/gear/fluff/ascian_medal path = /obj/item/clothing/accessory/medal/silver/unity/tabiranth @@ -1259,19 +1272,19 @@ character_name = list("Ascian") /datum/gear/fluff/ascian_spiritspawner - path = /obj/item/weapon/grenade/spawnergrenade/spirit + path = /obj/item/grenade/spawnergrenade/spirit display_name = "The Best Kitten" ckeywhitelist = list("tabiranth") character_name = list("Ascian") /datum/gear/fluff/ascian_shelterpod - path = /obj/item/device/survivalcapsule/tabiranth + path = /obj/item/survivalcapsule/tabiranth display_name = "Ascian's Shelterpod" ckeywhitelist = list("tabiranth") character_name = list("Ascian") /datum/gear/fluff/lasshseeki_ealimplant - path = /obj/item/weapon/implant/language/eal + path = /obj/item/implant/language/eal display_name = "Lasshseeki's EAL Implant" ckeywhitelist = list("techtypes") character_name = list("Lasshseeki Korss") @@ -1293,11 +1306,11 @@ display_name = "Lucky's amour" ckeywhitelist = list ("thedavestdave") character_name = list("Lucky") - allowed_roles = list("Chaplain") + allowed_roles = list(JOB_CHAPLAIN) /datum/gear/fluff/lovec_gasmask path = /obj/item/clothing/mask/gas/explorer - display_name = "Explorer's Gas Mask" + display_name = JOB_EXPLORER + "'s Gas Mask" ckeywhitelist = list("thenewmeta") character_name = list("Lovec") @@ -1349,7 +1362,7 @@ character_name = list("Verie") /datum/gear/fluff/verie_comb - path = /obj/item/weapon/fluff/verie + path = /obj/item/fluff/verie display_name = "Verie's Crazy Comb" description = "(Note: The highlights this gives you will be placed above EVERYTHING... including mobs!)" ckeywhitelist = list("vitoras") @@ -1363,7 +1376,7 @@ character_name = list("Cameron Eggbert") /datum/gear/fluff/cameron_disk - path = /obj/item/weapon/disk/limb/eggnerdltd + path = /obj/item/disk/limb/eggnerdltd display_name = "Cameron's Eggnerd Disk" ckeywhitelist = list("verkister") character_name = list("Cameron Eggbert") @@ -1383,7 +1396,7 @@ character_name = list("Verin Raharra") /datum/gear/fluff/lucina_pda - path = /obj/item/device/pda/heads/cmo/fluff/lucinapda + path = /obj/item/pda/heads/cmo/fluff/lucinapda display_name = "Lucina's PDA" ckeywhitelist = list("vorrarkul") character_name = list("Lucina Dakarim") @@ -1456,7 +1469,7 @@ character_name = list("Roanna Ti'Rox") /datum/gear/fluff/harmony_id - path = /obj/item/weapon/card/id/event/polymorphic/itg + path = /obj/item/card/id/event/polymorphic/itg display_name = "ITG-ID card" ckeywhitelist = list("verysoft") character_name = null @@ -1505,18 +1518,18 @@ slot = slot_glasses ckeywhitelist = list("wickedtemp") character_name = list("Chakat Tempest Venosare") - allowed_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Psychiatrist","Paramedic", "Off-duty Medic") + allowed_roles = list(JOB_CHIEF_MEDICAL_OFFICER,JOB_MEDICAL_DOCTOR,JOB_CHEMIST,JOB_PSYCHIATRIST,JOB_PARAMEDIC, JOB_OFFDUTY_MEDIC) /datum/gear/fluff/tempest_hypospray - path = /obj/item/weapon/reagent_containers/hypospray/vial/tempest + path = /obj/item/reagent_containers/hypospray/vial/tempest display_name = "Tempest's Hypospray" slot = slot_belt ckeywhitelist = list("wickedtemp") character_name = list("Chakat Tempest Venosare") - allowed_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Psychiatrist","Paramedic", "Off-duty Medic") + allowed_roles = list(JOB_CHIEF_MEDICAL_OFFICER,JOB_MEDICAL_DOCTOR,JOB_CHEMIST,JOB_PSYCHIATRIST,JOB_PARAMEDIC, JOB_OFFDUTY_MEDIC) /datum/gear/fluff/tempest_backpack - path = /obj/item/weapon/storage/backpack/saddlebag/tempest + path = /obj/item/storage/backpack/saddlebag/tempest display_name = "Tempest's Saddlebag" slot = slot_back ckeywhitelist = list("wickedtemp") @@ -1524,7 +1537,7 @@ // X CKEYS /datum/gear/fluff/penelope_box - path = /obj/item/weapon/storage/box/fluff/penelope + path = /obj/item/storage/box/fluff/penelope display_name = "Penelope's Box" ckeywhitelist = list("xsdew") character_name = list("Penelope Allen") @@ -1557,7 +1570,7 @@ character_name = list("Lemon Yellow", "Lemon Gettler Yellow", "Lemon Lee Yellow", "Lemon Jade Yellow") //different sleeves, same char /datum/gear/fluff/cephyra_d6 - path = /obj/item/weapon/dice/loaded/ceph + path = /obj/item/dice/loaded/ceph display_name = "engraved d6" ckeywhitelist = list("yeehawguvnah") character_name = list("Cephyra") @@ -1577,7 +1590,7 @@ character_name = list("Zaoozaoo Xrimxuqmqixzix") /datum/gear/fluff/nehi_radio - path = /obj/item/device/radio/headset/fluff/zodiacshadow + path = /obj/item/radio/headset/fluff/zodiacshadow display_name = "Nehi's 'phones" ckeywhitelist = list("zodiacshadow") character_name = list("Nehi Maximus") diff --git a/code/modules/client/preference_setup/loadout/loadout_fluffitems_yw.dm b/code/modules/client/preference_setup/loadout/loadout_fluffitems_yw.dm index 58215dea6e4..237ad4d2eae 100644 --- a/code/modules/client/preference_setup/loadout/loadout_fluffitems_yw.dm +++ b/code/modules/client/preference_setup/loadout/loadout_fluffitems_yw.dm @@ -13,7 +13,7 @@ /* /datum/gear/fluff/testhorn - path = /obj/item/weapon/bikehorn + path = /obj/item/bikehorn display_name = "Airhorn - Example Item" //Don't use the same as another item description = "An example item that you probably shouldn't see!" ckeywhitelist = list("broman2000") @@ -65,7 +65,7 @@ character_name = list("Madoka Koto") /datum/gear/fluff/madoka_koto_1 - path = /obj/item/weapon/oldtwohanded/spear/fluff/madoka_koto_1 + path = /obj/item/oldtwohanded/spear/fluff/madoka_koto_1 display_name = "Madoka's spear" description = "A 10 foot long spear, with a sturdy wooden shaft to which is attached a strange, double spiked steel blade. One is slightly larger than the other." ckeywhitelist = list("blackangelsace") @@ -124,7 +124,7 @@ character_name = list("Strix Hades") /datum/gear/fluff/strix_headset - path = /obj/item/device/radio/headset/fluff/strix + path = /obj/item/radio/headset/fluff/strix display_name = "Strix\'s headset" description = "A headset that seems custom made for a avali skull shape, the sounds coming from it are very quiet." ckeywhitelist = list("blackangelsace") @@ -146,7 +146,7 @@ //Plague Doctor Boye /datum/gear/fluff/kel_plague_box - path = /obj/item/weapon/storage/box/fluff/kelplague + path = /obj/item/storage/box/fluff/kelplague display_name = "Plague Outfit Box" description = "Yes" ckeywhitelist = list("blackangelsace") @@ -199,7 +199,7 @@ //captmatt4 //Payton Joghs /datum/gear/fluff/payton_joghs_1 - path = /obj/item/weapon/material/hatchet/unathiknife/fluff/payton_joghs_1 + path = /obj/item/material/hatchet/unathiknife/fluff/payton_joghs_1 display_name = "Payton's Knife" description = "It appears to be a traditional unathi knife, though with 'Payton' written on the side and appearing to be made of steel." ckeywhitelist = list("captmatt4") @@ -232,7 +232,7 @@ //championfire //Yuki Windroar /datum/gear/fluff/anoki_implant - path = /obj/item/weapon/implanter/reagent_generator/roiz/yuki + path = /obj/item/implanter/reagent_generator/roiz/yuki display_name = "Egg laying implanter" description = "This is an implant that allows the user to lay eggs." ckeywhitelist = list("championfire") @@ -264,7 +264,7 @@ //codavanistok //Coda Vanistok // (Yes, I'm aware they're the same. Yes, this is correct.) /datum/gear/fluff/coda_implant - path = /obj/item/weapon/implanter/fluff/coda + path = /obj/item/implanter/fluff/coda display_name = "Locked size implant" description = "It seems to be locked to two settings." ckeywhitelist = list("codavanistok") @@ -275,7 +275,7 @@ //dameonowen //Dameon Owen /datum/gear/fluff/dameon_1 - path = /obj/item/weapon/reagent_containers/food/snacks/cookie/mysterious + path = /obj/item/reagent_containers/food/snacks/cookie/mysterious display_name = "A mysterious cookie" description = "DAS A BIG COOKIE!!!" ckeywhitelist = list("dameonowen") @@ -291,14 +291,14 @@ character_name = list("Melissa Krutz") /datum/gear/fluff/melissa_1 - path = /obj/item/weapon/flame/lighter/zippo/fluff/melissa + path = /obj/item/flame/lighter/zippo/fluff/melissa display_name = "Zippo" description = "A custom made zippo lighter with word 'Mel' engraved in white font on the bottom right corner. It's black, with red lines around the edges." ckeywhitelist = list("dawidoe") character_name = list("Melissa Krutz") /datum/gear/fluff/melissa_gun_kit - path = /obj/item/device/modkit_conversion/fluff/melissa_gun_kit + path = /obj/item/modkit_conversion/fluff/melissa_gun_kit display_name = "Melissa's modkit" description = "A kit containing all the needed tools and parts to modify a 45 Pistol." ckeywhitelist = list("dawidoe") @@ -307,7 +307,7 @@ //Dopiotl //Jeanne Petite /datum/gear/fluff/jeans_chocolates - path = /obj/item/weapon/storage/secure/briefcase/fluff/jeans + path = /obj/item/storage/secure/briefcase/fluff/jeans display_name = "ChocoBox" description = "M-M-M-M-MONEY SHOT" ckeywhitelist = list("dopiotl") @@ -321,7 +321,7 @@ //dwaggy90 //Saur Darastrix /datum/gear/fluff/saur_rig - path = /obj/item/weapon/rig/medical/equipped/fluff/saur + path = /obj/item/rig/medical/equipped/fluff/saur display_name = "AMR-DRGN" description = "This seems to be a highly customized Medical RIG suit, coloured black and purple, and with an added extendable plating to include a pair of wings and a tail comfortably within the suits protection. There's a nametag on the chest piece, and on the control module itself, with the name 'Saur Darastrix' on it." ckeywhitelist = list("dwaggy90") @@ -337,7 +337,7 @@ allowed_roles = list("Blueshield Guard") /datum/gear/fluff/saur_dufflebag - path = /obj/item/weapon/storage/backpack/dufflebag/fluff/saur_dufflebag + path = /obj/item/storage/backpack/dufflebag/fluff/saur_dufflebag display_name = "Saur's Dufflebag" description = "A large custom made dufflebag to fit snug between a pair of wings, fitted with custom purple straps and golden medical cross, with the name 'Saur Darastrix' written under it." ckeywhitelist = list("dwaggy90") @@ -368,7 +368,7 @@ //deepindigo //Amina Dae-Kouri /datum/gear/fluff/amina_1 - path = /obj/item/weapon/storage/bible/fluff/amina + path = /obj/item/storage/bible/fluff/amina display_name = "New Space Pioneer's Bible" description = "This one says it was printed in 2492. The name \"Eric Hayvers\" is written on the inside of the cover, crossed out. Under it is written \"Kouri, Amina, Marine Unit 14, Fifth Echelon. Service number NTN-5528928522372\"" ckeywhitelist = list("deepindigo") @@ -379,7 +379,7 @@ //esperkin //Sheri Calen /datum/gear/fluff/sheri_rig_kit - path = /obj/item/device/modkit_conversion/fluff/sheri_rig_kit + path = /obj/item/modkit_conversion/fluff/sheri_rig_kit display_name = "Sheri's modkit" description = "A kit containing all the needed tools and parts to modify a Research Director rig suit. It has a snake painted on it." ckeywhitelist = list("esperkin") @@ -391,14 +391,14 @@ //Foxicide //Kaith /datum/gear/fluff/kaith_modkit - path = /obj/item/device/modkit_conversion/fluff/kaith_knife_kit + path = /obj/item/modkit_conversion/fluff/kaith_knife_kit display_name = "Kaith's modkit" description = "A kit containing all the needed tools and parts to modify a survival knife" ckeywhitelist = list("foxicide") character_name = list("Kaith") /datum/gear/fluff/kaith_bag - path = /obj/item/weapon/storage/backpack/fluff/kaith + path = /obj/item/storage/backpack/fluff/kaith display_name = "Light duffle bag" description = "A compact duffle bag, meant for long hikes." ckeywhitelist = list("foxicide") @@ -452,14 +452,14 @@ character_name = list("Amara Faell") /datum/gear/fluff/amara_zippo - path = /obj/item/weapon/flame/lighter/zippo/fluff/amara + path = /obj/item/flame/lighter/zippo/fluff/amara display_name = "Amara's Zippo" description = "A zippo that comes in a metallic blood red case. How the flame can be lime green is an enigma in itself." ckeywhitelist = list("generalpantsu") character_name = list("Amara Faell") /datum/gear/fluff/amara_hos_kit - path = /obj/item/device/modkit_conversion/fluff/amara_hos_kit + path = /obj/item/modkit_conversion/fluff/amara_hos_kit display_name = "Amara's modkit" description = "A kit containing all the needed tools and parts to modify a Head of security armored coat. It has a red wolf painted on it." ckeywhitelist = list("generalpantsu") @@ -467,7 +467,7 @@ allowed_roles = list("Head of Security") /datum/gear/fluff/amara_belt - path = /obj/item/weapon/storage/belt/security/tactical/amara_belt + path = /obj/item/storage/belt/security/tactical/amara_belt display_name = "Mercenary belt" description = "A sturdy military belt with a shiny buckle and a bunch of pouches." ckeywhitelist = list("generalpantsu") @@ -533,7 +533,7 @@ character_name = list("Samantha Quzix") /datum/gear/fluff/sam_belt - path = /obj/item/weapon/storage/belt/utility/fluff/sam_belt + path = /obj/item/storage/belt/utility/fluff/sam_belt display_name = "Mech Pilot Belt" description = "A white-blue toolbelt with many slots to hold tools in, seems to be made to literally be attached onto a suit." ckeywhitelist = list("generalpantsu") @@ -550,7 +550,7 @@ //Glitterpaws /datum/gear/fluff/goz_whitecane - path = /obj/item/weapon/melee/goz_whitecane + path = /obj/item/melee/goz_whitecane display_name = "Telescopic White Cane." description = "A telescoping white cane. They are commonly used by the blind or visually impaired as a mobility tool or as a courtesy to others." ckeywhitelist = list("gozulio") @@ -598,7 +598,7 @@ //Raja Bastet /datum/gear/fluff/raja_belt - path = /obj/item/weapon/storage/belt/utility/fluff/raja_belt + path = /obj/item/storage/belt/utility/fluff/raja_belt display_name = "Mech Engineer Belt" description = "A black-golden toolbelt with many slots to hold tools in. Also comes with a blue buckle." ckeywhitelist = list("izac112") @@ -697,7 +697,7 @@ //lukevale //Mira Rezus /datum/gear/fluff/mira_1 - path = /obj/item/weapon/implanter/reagent_generator/mira + path = /obj/item/implanter/reagent_generator/mira display_name = "Mira's implanter" description = "" ckeywhitelist = list("lukevale") @@ -749,7 +749,7 @@ character_name = list("Mitsuko Jiao") /datum/gear/fluff/jiao_belt - path = /obj/item/weapon/storage/belt/medical/fluff/jiao_belt + path = /obj/item/storage/belt/medical/fluff/jiao_belt display_name = "Navy medical belt" description = "A customized medical belt to sport the navy colors of the Kanghu force." ckeywhitelist = list("lukevale") @@ -763,21 +763,21 @@ character_name = list("Mitsuko Jiao") /datum/gear/fluff/jiao_anynlizer_kit_a - path = /obj/item/device/modkit_conversion/fluff/jiao_anynlizer_kit/a + path = /obj/item/modkit_conversion/fluff/jiao_anynlizer_kit/a display_name = "Mitsuko's modkit Mk1" description = "A kit containing all the needed tools and parts to modify a heath analyzer. It has a Emblem painted on it." ckeywhitelist = list("lukevale") character_name = list("Mitsuko Jiao") /datum/gear/fluff/jiao_anynlizer_kit_b - path = /obj/item/device/modkit_conversion/fluff/jiao_anynlizer_kit/b + path = /obj/item/modkit_conversion/fluff/jiao_anynlizer_kit/b display_name = "Mitsuko's modkit Mk2" description = "A kit containing all the needed tools and parts to modify a heath analyzer. It has a Emblem painted on it." ckeywhitelist = list("lukevale") character_name = list("Mitsuko Jiao") /datum/gear/fluff/jiao_anynlizer_kit_c - path = /obj/item/device/modkit_conversion/fluff/jiao_anynlizer_kit/c + path = /obj/item/modkit_conversion/fluff/jiao_anynlizer_kit/c display_name = "Mitsuko's modkit Mk3" description = "A kit containing all the needed tools and parts to modify a heath analyzer. It has a Emblem painted on it." ckeywhitelist = list("lukevale") @@ -805,7 +805,7 @@ allowed_roles = list("Explorer", "Pathfinder") /datum/gear/fluff/mocha_suit_kit - path = /obj/item/device/modkit_conversion/fluff/mocha_suit_kit + path = /obj/item/modkit_conversion/fluff/mocha_suit_kit display_name = "Mocha's modkit" description = "A kit containing all the needed tools and parts to modify a Explorer Suit" ckeywhitelist = list("mocatheporg1") @@ -822,7 +822,7 @@ // N CKEYS //NESgamer190 /datum/gear/fluff/lucy_flask - path = /obj/item/weapon/reagent_containers/food/drinks/flask/vacuumflask/fluff/lucyprice + path = /obj/item/reagent_containers/food/drinks/flask/vacuumflask/fluff/lucyprice display_name = "Cryostasis Thermos" description = "A thermos that has been designed to look something akin to a mix between a cryostasis beaker and a thermos. Does NOT keep the drinks cold, surprisingly enough.." ckeywhitelist = list("nesgamer190") @@ -890,7 +890,7 @@ ckeywhitelist = list("radiantflash") character_name = list("Vasharr Zahirn") /datum/gear/fluff/vasharr_coffee - path = /obj/item/weapon/reagent_containers/food/drinks/bluespace_coffee + path = /obj/item/reagent_containers/food/drinks/bluespace_coffee display_name = "Bluespace Coffee" description = "Dreamt up in a strange feverish dream, this coffee cup seems to have been heavily modified with a variety of unlikely parts and wires, and never seems to run out of coffee. Truly the differance between madmen and genius is success." ckeywhitelist = list("radiantflash") diff --git a/code/modules/client/preference_setup/loadout/loadout_general.dm b/code/modules/client/preference_setup/loadout/loadout_general.dm index bd83241019d..b9448887d05 100644 --- a/code/modules/client/preference_setup/loadout/loadout_general.dm +++ b/code/modules/client/preference_setup/loadout/loadout_general.dm @@ -1,50 +1,50 @@ /datum/gear/cane display_name = "cane" - path = /obj/item/weapon/cane + path = /obj/item/cane /datum/gear/cane/white display_name = "white cane" - path = /obj/item/weapon/cane/white + path = /obj/item/cane/white /datum/gear/cane/white2 display_name = "telescopic white cane" - path = /obj/item/weapon/cane/white/collapsible + path = /obj/item/cane/white/collapsible /datum/gear/crutch display_name = "crutch" - path = /obj/item/weapon/cane/crutch + path = /obj/item/cane/crutch /datum/gear/dice display_name = "dice pack" - path = /obj/item/weapon/storage/pill_bottle/dice + path = /obj/item/storage/pill_bottle/dice /datum/gear/dice/nerd display_name = "dice pack (gaming)" - path = /obj/item/weapon/storage/pill_bottle/dice_nerd + path = /obj/item/storage/pill_bottle/dice_nerd /datum/gear/dice/cup display_name = "dice cup and dice" - path = /obj/item/weapon/storage/dicecup/loaded + path = /obj/item/storage/dicecup/loaded /datum/gear/cards display_name = "deck of cards" - path = /obj/item/weapon/deck/cards + path = /obj/item/deck/cards /datum/gear/tarot display_name = "deck of tarot cards" - path = /obj/item/weapon/deck/tarot + path = /obj/item/deck/tarot /datum/gear/holder display_name = "card holder" - path = /obj/item/weapon/deck/holder + path = /obj/item/deck/holder /datum/gear/cardemon_pack display_name = "Cardemon booster pack" - path = /obj/item/weapon/pack/cardemon + path = /obj/item/pack/cardemon /datum/gear/spaceball_pack display_name = "Spaceball booster pack" - path = /obj/item/weapon/pack/spaceball + path = /obj/item/pack/spaceball /datum/gear/plushie display_name = "plushie selection" @@ -85,7 +85,7 @@ var/toytype = list() toytype["Blink toy"] = /obj/item/toy/blink toytype["Gravitational singularity"] = /obj/item/toy/spinningtoy - toytype["Water flower"] = /obj/item/weapon/reagent_containers/spray/waterflower + toytype["Water flower"] = /obj/item/reagent_containers/spray/waterflower toytype["Bosun's whistle"] = /obj/item/toy/bosunwhistle toytype["Magic 8 Ball"] = /obj/item/toy/eight_ball toytype["Magic Conch shell"] = /obj/item/toy/eight_ball/conch @@ -94,7 +94,7 @@ /datum/gear/flask display_name = "flask" - path = /obj/item/weapon/reagent_containers/food/drinks/flask/barflask + path = /obj/item/reagent_containers/food/drinks/flask/barflask /datum/gear/flask/New() ..() @@ -102,7 +102,7 @@ /datum/gear/vacflask display_name = "vacuum-flask" - path = /obj/item/weapon/reagent_containers/food/drinks/flask/vacuumflask + path = /obj/item/reagent_containers/food/drinks/flask/vacuumflask /datum/gear/vacflask/New() ..() @@ -112,13 +112,13 @@ display_name = "lunchbox" description = "A little lunchbox." cost = 2 - path = /obj/item/weapon/storage/toolbox/lunchbox + path = /obj/item/storage/toolbox/lunchbox /datum/gear/lunchbox/New() ..() var/list/lunchboxes = list() - for(var/lunchbox_type in typesof(/obj/item/weapon/storage/toolbox/lunchbox)) - var/obj/item/weapon/storage/toolbox/lunchbox/lunchbox = lunchbox_type + for(var/lunchbox_type in typesof(/obj/item/storage/toolbox/lunchbox)) + var/obj/item/storage/toolbox/lunchbox/lunchbox = lunchbox_type if(!initial(lunchbox.filled)) lunchboxes[initial(lunchbox.name)] = lunchbox_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(lunchboxes)) @@ -126,7 +126,7 @@ /datum/gear/towel display_name = "towel" - path = /obj/item/weapon/towel + path = /obj/item/towel /datum/gear/towel/New() ..() @@ -134,65 +134,65 @@ /datum/gear/cahwhite display_name = "Cards Against The Galaxy (white deck)" - path = /obj/item/weapon/deck/cah + path = /obj/item/deck/cah description = "The ever-popular Cards Against The Galaxy word game. Warning: may include traces of broken fourth wall. This is the white deck." /datum/gear/cahblack display_name = "Cards Against The Galaxy (black deck)" - path = /obj/item/weapon/deck/cah/black + path = /obj/item/deck/cah/black description = "The ever-popular Cards Against The Galaxy word game. Warning: may include traces of broken fourth wall. This is the black deck." /datum/gear/wizoff display_name = "WizOff" - path = /obj/item/weapon/deck/wizoff + path = /obj/item/deck/wizoff /datum/gear/wizoffguide display_name = "WizOff Guide" - path = /obj/item/weapon/book/manual/wizzoffguide + path = /obj/item/book/manual/wizzoffguide description = "The guide to playing the ever popular card game: Wiz-Off!" /datum/gear/coffeemug display_name = "coffee mugs" description = "A coffee mug in various designs." cost = 1 - path = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug + path = /obj/item/reagent_containers/food/drinks/glass2/coffeemug /datum/gear/coffeemug/New() ..() var/list/coffeemugs = list() - coffeemugs["plain coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug - coffeemugs["SCG coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/sol - coffeemugs["Fleet coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/fleet - coffeemugs["Five Arrows coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/fivearrows - coffeemugs["Pearlshield coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/psc - coffeemugs["Almach Association coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/alma - coffeemugs["Almach Protectorate coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/almp - coffeemugs["NT coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/nt - coffeemugs["Wulf Aeronautics mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/metal/wulf - coffeemugs["Gilthari Exports coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/gilthari - coffeemugs["Zeng-Hu coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/zeng - coffeemugs["Ward-Takahashi coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/wt - coffeemugs["Aether Atmospherics coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/aether - coffeemugs["Bishop Cybernetics coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/bishop - coffeemugs["Oculum Broadcast coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/oculum - coffeemugs["#1 coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/one - coffeemugs["#1 monkey coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/puni - coffeemugs["heart coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/heart - coffeemugs["pawn coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/pawn - coffeemugs["diona coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/diona - coffeemugs["british coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/britcup - coffeemugs["flame coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/flame - coffeemugs["blue coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/blue - coffeemugs["black coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/black - coffeemugs["green coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/green - coffeemugs["dark green coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/green/dark - coffeemugs["rainbow coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/rainbow - coffeemugs["metal coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/metal - coffeemugs["glass coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/glass - coffeemugs["tall coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/tall - coffeemugs["tall black coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/tall/black - coffeemugs["tall metal coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/tall/metal - coffeemugs["tall rainbow coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/tall/rainbow - coffeemugs["Talon coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/talon + coffeemugs["plain coffee mug"] = /obj/item/reagent_containers/food/drinks/glass2/coffeemug + coffeemugs["SCG coffee mug"] = /obj/item/reagent_containers/food/drinks/glass2/coffeemug/sol + coffeemugs["Fleet coffee mug"] = /obj/item/reagent_containers/food/drinks/glass2/coffeemug/fleet + coffeemugs["Five Arrows coffee mug"] = /obj/item/reagent_containers/food/drinks/glass2/coffeemug/fivearrows + coffeemugs["Pearlshield coffee mug"] = /obj/item/reagent_containers/food/drinks/glass2/coffeemug/psc + coffeemugs["Almach Association coffee mug"] = /obj/item/reagent_containers/food/drinks/glass2/coffeemug/alma + coffeemugs["Almach Protectorate coffee mug"] = /obj/item/reagent_containers/food/drinks/glass2/coffeemug/almp + coffeemugs["NT coffee mug"] = /obj/item/reagent_containers/food/drinks/glass2/coffeemug/nt + coffeemugs["Wulf Aeronautics mug"] = /obj/item/reagent_containers/food/drinks/glass2/coffeemug/metal/wulf + coffeemugs["Gilthari Exports coffee mug"] = /obj/item/reagent_containers/food/drinks/glass2/coffeemug/gilthari + coffeemugs["Zeng-Hu coffee mug"] = /obj/item/reagent_containers/food/drinks/glass2/coffeemug/zeng + coffeemugs["Ward-Takahashi coffee mug"] = /obj/item/reagent_containers/food/drinks/glass2/coffeemug/wt + coffeemugs["Aether Atmospherics coffee mug"] = /obj/item/reagent_containers/food/drinks/glass2/coffeemug/aether + coffeemugs["Bishop Cybernetics coffee mug"] = /obj/item/reagent_containers/food/drinks/glass2/coffeemug/bishop + coffeemugs["Oculum Broadcast coffee mug"] = /obj/item/reagent_containers/food/drinks/glass2/coffeemug/oculum + coffeemugs["#1 coffee mug"] = /obj/item/reagent_containers/food/drinks/glass2/coffeemug/one + coffeemugs["#1 monkey coffee mug"] = /obj/item/reagent_containers/food/drinks/glass2/coffeemug/puni + coffeemugs["heart coffee mug"] = /obj/item/reagent_containers/food/drinks/glass2/coffeemug/heart + coffeemugs["pawn coffee mug"] = /obj/item/reagent_containers/food/drinks/glass2/coffeemug/pawn + coffeemugs["diona coffee mug"] = /obj/item/reagent_containers/food/drinks/glass2/coffeemug/diona + coffeemugs["british coffee mug"] = /obj/item/reagent_containers/food/drinks/glass2/coffeemug/britcup + coffeemugs["flame coffee mug"] = /obj/item/reagent_containers/food/drinks/glass2/coffeemug/flame + coffeemugs["blue coffee mug"] = /obj/item/reagent_containers/food/drinks/glass2/coffeemug/blue + coffeemugs["black coffee mug"] = /obj/item/reagent_containers/food/drinks/glass2/coffeemug/black + coffeemugs["green coffee mug"] = /obj/item/reagent_containers/food/drinks/glass2/coffeemug/green + coffeemugs["dark green coffee mug"] = /obj/item/reagent_containers/food/drinks/glass2/coffeemug/green/dark + coffeemugs["rainbow coffee mug"] = /obj/item/reagent_containers/food/drinks/glass2/coffeemug/rainbow + coffeemugs["metal coffee mug"] = /obj/item/reagent_containers/food/drinks/glass2/coffeemug/metal + coffeemugs["glass coffee mug"] = /obj/item/reagent_containers/food/drinks/glass2/coffeemug/glass + coffeemugs["tall coffee mug"] = /obj/item/reagent_containers/food/drinks/glass2/coffeemug/tall + coffeemugs["tall black coffee mug"] = /obj/item/reagent_containers/food/drinks/glass2/coffeemug/tall/black + coffeemugs["tall metal coffee mug"] = /obj/item/reagent_containers/food/drinks/glass2/coffeemug/tall/metal + coffeemugs["tall rainbow coffee mug"] = /obj/item/reagent_containers/food/drinks/glass2/coffeemug/tall/rainbow + coffeemugs["Talon coffee mug"] = /obj/item/reagent_containers/food/drinks/glass2/coffeemug/talon gear_tweaks += new /datum/gear_tweak/path(coffeemugs) gear_tweaks += new /datum/gear_tweak/reagents(lunchables_drink_reagents()) \ No newline at end of file diff --git a/code/modules/client/preference_setup/loadout/loadout_general_vr.dm b/code/modules/client/preference_setup/loadout/loadout_general_vr.dm index d00415a67d4..86a89ddfa83 100644 --- a/code/modules/client/preference_setup/loadout/loadout_general_vr.dm +++ b/code/modules/client/preference_setup/loadout/loadout_general_vr.dm @@ -41,13 +41,13 @@ toytype["Foam dart crossbow"] = /obj/item/toy/blink toytype["Toy sword"] = /obj/item/toy/sword toytype["Toy katana"] = /obj/item/toy/katana - toytype["Snap pops"] = /obj/item/weapon/storage/box/snappops + toytype["Snap pops"] = /obj/item/storage/box/snappops toytype["Plastic flowers"] = /obj/item/toy/bouquet/fake toytype["Stick horse"] = /obj/item/toy/stickhorse toytype["Toy X-mas tree"] = /obj/item/toy/xmastree - toytype["Fake handcuff kit"] = /obj/item/weapon/storage/box/handcuffs/fake + toytype["Fake handcuff kit"] = /obj/item/storage/box/handcuffs/fake toytype["Gravitational singularity"] = /obj/item/toy/spinningtoy - toytype["Water flower"] = /obj/item/weapon/reagent_containers/spray/waterflower + toytype["Water flower"] = /obj/item/reagent_containers/spray/waterflower toytype["Bosun's whistle"] = /obj/item/toy/bosunwhistle toytype["Magic 8 Ball"] = /obj/item/toy/eight_ball toytype["Magic Conch shell"] = /obj/item/toy/eight_ball/conch @@ -56,7 +56,6 @@ toytype["Big Red Button"] = /obj/item/toy/redbutton toytype["Garden gnome"] = /obj/item/toy/gnome toytype["Toy AI"] = /obj/item/toy/AI - toytype["Hand buzzer"] = /obj/item/clothing/gloves/ring/buzzer/toy toytype["Toy nuke"] = /obj/item/toy/nuke toytype["Toy gibber"] = /obj/item/toy/minigibber toytype["Toy xeno"] = /obj/item/toy/toy_xeno @@ -90,19 +89,19 @@ /datum/gear/textmug display_name = "mug with text" description = "A mug with something written on it." - path = /obj/item/weapon/reagent_containers/food/drinks/textmug + path = /obj/item/reagent_containers/food/drinks/textmug /datum/gear/schnapsen display_name = "schnapsen playing cards" description = "An ancient Austro-Hungarian suit of cards!" - path = /obj/item/weapon/deck/schnapsen + path = /obj/item/deck/schnapsen /datum/gear/egy_game display_name = "EGY playing cards" description = "A deck of cards for playing EGY! Be the first to lose all cards!" - path = /obj/item/weapon/deck/egy + path = /obj/item/deck/egy /datum/gear/fluff_permit display_name = "Customizable Permit" description = "A customizable permit you can use for... just about anything! Be sure to customize the name and description. It is meant to represent generic driver's or pilot's licenses, and similar fluff items. It includes an irremovable disclaimer and may be freely confiscated or revoked at the discretion of Security and/or Command if you attempt to abuse it!" - path = /obj/item/weapon/card_fluff + path = /obj/item/card_fluff diff --git a/code/modules/client/preference_setup/loadout/loadout_gloves.dm b/code/modules/client/preference_setup/loadout/loadout_gloves.dm index a330027611f..29f22840e69 100644 --- a/code/modules/client/preference_setup/loadout/loadout_gloves.dm +++ b/code/modules/client/preference_setup/loadout/loadout_gloves.dm @@ -54,11 +54,11 @@ /datum/gear/gloves/forensic display_name = "gloves, forensic" path = /obj/item/clothing/gloves/forensic - allowed_roles = list("Detective") + allowed_roles = list(JOB_DETECTIVE) /datum/gear/gloves/fingerless display_name = "fingerless gloves" - description = "A pair of gloves that don't actually cover the fingers. Available in classic black or recolourable white." + description = "A pair of gloves that don't actually cover the fingers. Available in classic black or recolourable white, with or without cutouts." path = /obj/item/clothing/gloves/fingerless /datum/gear/gloves/fingerless/New() @@ -66,7 +66,8 @@ var/list/selector_uniforms = list( "black"=/obj/item/clothing/gloves/fingerless, "black, alt" =/obj/item/clothing/gloves/fingerless/alt, - "recolourable white"=/obj/item/clothing/gloves/fingerless_recolourable + "recolourable white"=/obj/item/clothing/gloves/fingerless_recolourable, + "recolourable, alt"=/obj/item/clothing/gloves/fingerless_recolourable/alt ) gear_tweaks += new/datum/gear_tweak/path(sortAssoc(selector_uniforms)) gear_tweaks += gear_tweak_free_color_choice @@ -74,27 +75,27 @@ /datum/gear/gloves/ring display_name = "ring selection" description = "Choose from a number of rings." - path = /obj/item/clothing/gloves/ring + path = /obj/item/clothing/accessory/ring cost = 1 /datum/gear/gloves/ring/New() ..() var/ringtype = list() - ringtype["CTI ring"] = /obj/item/clothing/gloves/ring/cti - ringtype["Mariner University ring"] = /obj/item/clothing/gloves/ring/mariner - ringtype["engagement ring"] = /obj/item/clothing/gloves/ring/engagement - ringtype["signet ring"] = /obj/item/clothing/gloves/ring/seal/signet - ringtype["masonic ring"] = /obj/item/clothing/gloves/ring/seal/mason - ringtype["ring, glass"] = /obj/item/clothing/gloves/ring/material/glass - ringtype["ring, wood"] = /obj/item/clothing/gloves/ring/material/wood - ringtype["ring, plastic"] = /obj/item/clothing/gloves/ring/material/plastic - ringtype["ring, iron"] = /obj/item/clothing/gloves/ring/material/iron - ringtype["ring, bronze"] = /obj/item/clothing/gloves/ring/material/bronze - ringtype["ring, steel"] = /obj/item/clothing/gloves/ring/material/steel - ringtype["ring, copper"] = /obj/item/clothing/gloves/ring/material/copper - ringtype["ring, silver"] = /obj/item/clothing/gloves/ring/material/silver - ringtype["ring, gold"] = /obj/item/clothing/gloves/ring/material/gold - ringtype["ring, platinum"] = /obj/item/clothing/gloves/ring/material/platinum + ringtype["CTI ring"] = /obj/item/clothing/accessory/ring/cti + ringtype["Mariner University ring"] = /obj/item/clothing/accessory/ring/mariner + ringtype["engagement ring"] = /obj/item/clothing/accessory/ring/engagement + ringtype["signet ring"] = /obj/item/clothing/accessory/ring/seal/signet + ringtype["masonic ring"] = /obj/item/clothing/accessory/ring/seal/mason + ringtype["ring, glass"] = /obj/item/clothing/accessory/ring/material/glass + ringtype["ring, wood"] = /obj/item/clothing/accessory/ring/material/wood + ringtype["ring, plastic"] = /obj/item/clothing/accessory/ring/material/plastic + ringtype["ring, iron"] = /obj/item/clothing/accessory/ring/material/iron + ringtype["ring, bronze"] = /obj/item/clothing/accessory/ring/material/bronze + ringtype["ring, steel"] = /obj/item/clothing/accessory/ring/material/steel + ringtype["ring, copper"] = /obj/item/clothing/accessory/ring/material/copper + ringtype["ring, silver"] = /obj/item/clothing/accessory/ring/material/silver + ringtype["ring, gold"] = /obj/item/clothing/accessory/ring/material/gold + ringtype["ring, platinum"] = /obj/item/clothing/accessory/ring/material/platinum gear_tweaks += new/datum/gear_tweak/path(ringtype) @@ -105,14 +106,14 @@ /datum/gear/gloves/watch display_name = "wristwatch selector" description = "Pick from a range of wristwatches." - path = /obj/item/clothing/gloves/watch + path = /obj/item/clothing/accessory/watch /datum/gear/gloves/watch/New() ..() var/list/selector_watches = list( - "plain plastic"=/obj/item/clothing/gloves/watch, - "silver"=/obj/item/clothing/gloves/watch/silver, - "gold"=/obj/item/clothing/gloves/watch/gold, - "survival"=/obj/item/clothing/gloves/watch/survival + "plain plastic"=/obj/item/clothing/accessory/watch, + "silver"=/obj/item/clothing/accessory/watch/silver, + "gold"=/obj/item/clothing/accessory/watch/gold, + "survival"=/obj/item/clothing/accessory/watch/survival ) gear_tweaks += new/datum/gear_tweak/path(sortAssoc(selector_watches)) diff --git a/code/modules/client/preference_setup/loadout/loadout_gloves_vr.dm b/code/modules/client/preference_setup/loadout/loadout_gloves_vr.dm index cfc0a6b1053..fd25064e85b 100644 --- a/code/modules/client/preference_setup/loadout/loadout_gloves_vr.dm +++ b/code/modules/client/preference_setup/loadout/loadout_gloves_vr.dm @@ -1,10 +1,10 @@ /datum/gear/gloves/goldring display_name = "wedding ring, gold" - path = /obj/item/clothing/gloves/ring/wedding + path = /obj/item/clothing/accessory/ring/wedding /datum/gear/gloves/silverring display_name = "wedding ring, silver" - path = /obj/item/clothing/gloves/ring/wedding/silver + path = /obj/item/clothing/accessory/ring/wedding/silver /datum/gear/gloves/colored display_name = "gloves, colorable" diff --git a/code/modules/client/preference_setup/loadout/loadout_head.dm b/code/modules/client/preference_setup/loadout/loadout_head.dm index 1e42f9c5f6f..d52584c23ba 100644 --- a/code/modules/client/preference_setup/loadout/loadout_head.dm +++ b/code/modules/client/preference_setup/loadout/loadout_head.dm @@ -19,22 +19,22 @@ /datum/gear/head/beret/bsec_warden display_name = "beret, navy (warden)" path = /obj/item/clothing/head/beret/sec/navy/warden - allowed_roles = list("Head of Security","Warden") + allowed_roles = list(JOB_HEAD_OF_SECURITY,JOB_WARDEN) /datum/gear/head/beret/bsec_hos display_name = "beret, navy (hos)" path = /obj/item/clothing/head/beret/sec/navy/hos - allowed_roles = list("Head of Security") + allowed_roles = list(JOB_HEAD_OF_SECURITY) /datum/gear/head/beret/csec_warden display_name = "beret, corporate (warden)" path = /obj/item/clothing/head/beret/sec/corporate/warden - allowed_roles = list("Head of Security","Warden") + allowed_roles = list(JOB_HEAD_OF_SECURITY,JOB_WARDEN) /datum/gear/head/beret/csec_hos display_name = "beret, corporate (hos)" path = /obj/item/clothing/head/beret/sec/corporate/hos - allowed_roles = list("Head of Security") + allowed_roles = list(JOB_HEAD_OF_SECURITY) /datum/gear/head/beret/eng display_name = "beret, engie-orange" @@ -239,6 +239,10 @@ display_name = "rabbit ears" path = /obj/item/clothing/head/rabbitears +/datum/gear/head/rabbit/New() + ..() + gear_tweaks += gear_tweak_free_color_choice + /datum/gear/head/beanie display_name = "beanie" path = /obj/item/clothing/head/beanie @@ -288,7 +292,7 @@ description = "Select from a range of welding masks (engineering crew/roboticists only)" path = /obj/item/clothing/head/welding cost = 2 - allowed_roles = list("Chief Engineer","Engineer","Atmospheric Technician","Research Director","Roboticist") + allowed_roles = list(JOB_CHIEF_ENGINEER,JOB_ENGINEER,JOB_ATMOSPHERIC_TECHNICIAN,JOB_RESEARCH_DIRECTOR,JOB_ROBOTICIST) /datum/gear/head/welding/New() ..() @@ -376,7 +380,7 @@ /datum/gear/head/sec_hat_selector display_name = "Security - Basic Headwear" description = "Select from a range of hats available to all Security personnel." - allowed_roles = list("Head of Security", "Warden", "Detective", "Security Officer","Blueshield Guard","Security Pilot") //YW ADDITIONS + allowed_roles = list(JOB_HEAD_OF_SECURITY, JOB_WARDEN, JOB_DETECTIVE, JOB_SECURITY_OFFICER,"Blueshield Guard","Security Pilot") //YW ADDITIONS path = /obj/item/clothing/head/soft/sec/corp /datum/gear/head/sec_hat_selector/New() @@ -394,7 +398,7 @@ /datum/gear/head/med_hat_selector display_name = "Medical - Basic Headwear" description = "Select from a range of hats available to all Medical personnel." - allowed_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Psychiatrist","Paramedic","Field Medic") // YW EDIT Field medic + allowed_roles = list(JOB_CHIEF_MEDICAL_OFFICER,JOB_MEDICAL_DOCTOR,JOB_CHEMIST,JOB_PSYCHIATRIST,JOB_PARAMEDIC,"Blueshield Guard","Security Pilot") //YW ADDITIONS path = /obj/item/clothing/head/soft/med /datum/gear/head/med_hat_selector/New() @@ -434,7 +438,7 @@ display_name = "pilot helmets selection" description = "Your choice of four hard-wearing head-protecting helmets for pilots." path = /obj/item/clothing/head/pilot_vr - allowed_roles = list("Pilot", "Talon Pilot") + allowed_roles = list(JOB_PILOT, JOB_TALON_PILOT) /datum/gear/head/pilot/New() ..() diff --git a/code/modules/client/preference_setup/loadout/loadout_head_vr.dm b/code/modules/client/preference_setup/loadout/loadout_head_vr.dm index 48015f229e7..969bb5cb06e 100644 --- a/code/modules/client/preference_setup/loadout/loadout_head_vr.dm +++ b/code/modules/client/preference_setup/loadout/loadout_head_vr.dm @@ -25,7 +25,7 @@ /datum/gear/head/detective_alt display_name = "cyberscope headgear, detective" path = /obj/item/clothing/head/helmet/detective_alt - allowed_roles = list("Head of Security", "Detective") + allowed_roles = list(JOB_HEAD_OF_SECURITY, JOB_DETECTIVE) /datum/gear/head/bearpelt display_name = "animal pelt selection" diff --git a/code/modules/client/preference_setup/loadout/loadout_shoes.dm b/code/modules/client/preference_setup/loadout/loadout_shoes.dm index e45b65e22bb..372a7f7fc13 100644 --- a/code/modules/client/preference_setup/loadout/loadout_shoes.dm +++ b/code/modules/client/preference_setup/loadout/loadout_shoes.dm @@ -206,7 +206,7 @@ /datum/gear/shoes/boots/winter/security display_name = "security winter boots" path = /obj/item/clothing/shoes/boots/winter/security - allowed_roles = list("Security Officer", "Head of Security", "Warden", "Detective","Blueshield Guard","Security Pilot") //YW ADDITIONS + allowed_roles = list(JOB_SECURITY_OFFICER, JOB_HEAD_OF_SECURITY, JOB_WARDEN, JOB_DETECTIVE,"Blueshield Guard","Security Pilot") //YW ADDITIONS /datum/gear/shoes/boots/winter/science display_name = "science winter boots" @@ -215,7 +215,7 @@ /datum/gear/shoes/boots/winter/command display_name = "site manager's winter boots" path = /obj/item/clothing/shoes/boots/winter/command - allowed_roles = list("Site Manager") + allowed_roles = list(JOB_SITE_MANAGER) /datum/gear/shoes/boots/winter/engineering display_name = "engineering winter boots" @@ -228,7 +228,7 @@ /datum/gear/shoes/boots/winter/medical display_name = "medical winter boots" path = /obj/item/clothing/shoes/boots/winter/medical - allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist", "Psychiatrist", "Field Medic") // YW EDIT Field medic + allowed_roles = list(JOB_MEDICAL_DOCTOR,JOB_CHIEF_MEDICAL_OFFICER,JOB_CHEMIST,JOB_PARAMEDIC,JOB_GENETICIST, JOB_PSYCHIATRIST, "Field Medic") // YW EDIT Field medic /datum/gear/shoes/boots/winter/mining display_name = "mining winter boots" diff --git a/code/modules/client/preference_setup/loadout/loadout_smoking.dm b/code/modules/client/preference_setup/loadout/loadout_smoking.dm index f855d31ca21..bab1765f0ab 100644 --- a/code/modules/client/preference_setup/loadout/loadout_smoking.dm +++ b/code/modules/client/preference_setup/loadout/loadout_smoking.dm @@ -13,29 +13,29 @@ /datum/gear/matchbook display_name = "matchbook" - path = /obj/item/weapon/storage/box/matches + path = /obj/item/storage/box/matches /datum/gear/lighter display_name = "cheap lighter" - path = /obj/item/weapon/flame/lighter + path = /obj/item/flame/lighter /datum/gear/lighter/zippo display_name = "Zippo selection" - path = /obj/item/weapon/flame/lighter/zippo + path = /obj/item/flame/lighter/zippo /datum/gear/lighter/zippo/New() ..() var/list/zippos = list() - for(var/zippo in typesof(/obj/item/weapon/flame/lighter/zippo)) - if(zippo in typesof(/obj/item/weapon/flame/lighter/zippo/fluff)) //VOREStation addition + for(var/zippo in typesof(/obj/item/flame/lighter/zippo)) + if(zippo in typesof(/obj/item/flame/lighter/zippo/fluff)) //VOREStation addition continue //VOREStation addition - var/obj/item/weapon/flame/lighter/zippo/zippo_type = zippo + var/obj/item/flame/lighter/zippo/zippo_type = zippo zippos[initial(zippo_type.name)] = zippo_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(zippos)) /datum/gear/ashtray display_name = "ashtray, plastic" - path = /obj/item/weapon/material/ashtray/plastic + path = /obj/item/material/ashtray/plastic /datum/gear/cigar display_name = "cigar" @@ -43,11 +43,11 @@ /datum/gear/cigarettes display_name = "cigarette selection" - path = /obj/item/weapon/storage/fancy/cigarettes + path = /obj/item/storage/fancy/cigarettes /datum/gear/cigarettes/New() ..() var/list/cigarettes = list() - for(var/obj/item/weapon/storage/fancy/cigarettes/cigarette_brand as anything in (typesof(/obj/item/weapon/storage/fancy/cigarettes))) + for(var/obj/item/storage/fancy/cigarettes/cigarette_brand as anything in (typesof(/obj/item/storage/fancy/cigarettes))) cigarettes[initial(cigarette_brand.name)] = cigarette_brand gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cigarettes)) diff --git a/code/modules/client/preference_setup/loadout/loadout_suit.dm b/code/modules/client/preference_setup/loadout/loadout_suit.dm index 3a4682ad795..121bb57984b 100644 --- a/code/modules/client/preference_setup/loadout/loadout_suit.dm +++ b/code/modules/client/preference_setup/loadout/loadout_suit.dm @@ -146,7 +146,7 @@ /datum/gear/suit/labcoat_cmo display_name = "labcoat selection, cmo" path = /obj/item/clothing/suit/storage/toggle/labcoat/cmo - allowed_roles = list("Chief Medical Officer") + allowed_roles = list(JOB_CHIEF_MEDICAL_OFFICER) show_roles = FALSE /datum/gear/suit/labcoat_cmo/New() @@ -161,12 +161,12 @@ /datum/gear/suit/labcoat_emt display_name = "labcoat, EMT" path = /obj/item/clothing/suit/storage/toggle/labcoat/emt - allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist", "Psychiatrist") + allowed_roles = list(JOB_MEDICAL_DOCTOR,JOB_CHIEF_MEDICAL_OFFICER,JOB_CHEMIST,JOB_PARAMEDIC,JOB_GENETICIST, JOB_PSYCHIATRIST) /datum/gear/suit/labcoat_rd display_name = "labcoat, research director" path = /obj/item/clothing/suit/storage/toggle/labcoat/rd - allowed_roles = list("Research Director") + allowed_roles = list(JOB_RESEARCH_DIRECTOR) show_roles = FALSE /datum/gear/suit/miscellaneous/labcoat @@ -176,7 +176,7 @@ /datum/gear/suit/roles/surgical_apron display_name = "surgical apron" path = /obj/item/clothing/suit/surgicalapron - allowed_roles = list("Medical Doctor","Chief Medical Officer") + allowed_roles = list(JOB_MEDICAL_DOCTOR,JOB_CHIEF_MEDICAL_OFFICER) /datum/gear/suit/overalls display_name = "overalls" @@ -258,49 +258,49 @@ /datum/gear/suit/roles/cloak_hos display_name = "cloak, head of security" path = /obj/item/clothing/accessory/poncho/roles/cloak/hos - allowed_roles = list("Head of Security") + allowed_roles = list(JOB_HEAD_OF_SECURITY) show_roles = FALSE cost = 1 /datum/gear/suit/roles/cloak_cmo display_name = "cloak, chief medical officer" path = /obj/item/clothing/accessory/poncho/roles/cloak/cmo - allowed_roles = list("Chief Medical Officer") + allowed_roles = list(JOB_CHIEF_MEDICAL_OFFICER) show_roles = FALSE cost = 1 /datum/gear/suit/roles/cloak_ce display_name = "cloak, chief engineer" path = /obj/item/clothing/accessory/poncho/roles/cloak/ce - allowed_roles = list("Chief Engineer") + allowed_roles = list(JOB_CHIEF_ENGINEER) show_roles = FALSE cost = 1 /datum/gear/suit/roles/cloak_rd display_name = "cloak, research director" path = /obj/item/clothing/accessory/poncho/roles/cloak/rd - allowed_roles = list("Research Director") + allowed_roles = list(JOB_RESEARCH_DIRECTOR) show_roles = FALSE cost = 1 /datum/gear/suit/roles/cloak_qm display_name = "cloak, quartermaster" path = /obj/item/clothing/accessory/poncho/roles/cloak/qm - allowed_roles = list("Quartermaster") + allowed_roles = list(JOB_QUARTERMASTER) show_roles = FALSE cost = 1 /datum/gear/suit/roles/cloak_captain display_name = "cloak, site manager" path = /obj/item/clothing/accessory/poncho/roles/cloak/captain - allowed_roles = list("Site Manager") + allowed_roles = list(JOB_SITE_MANAGER) show_roles = FALSE cost = 1 /datum/gear/suit/roles/cloak_hop display_name = "cloak, head of personnel" path = /obj/item/clothing/accessory/poncho/roles/cloak/hop - allowed_roles = list("Head of Personnel") + allowed_roles = list(JOB_HEAD_OF_PERSONNEL) show_roles = FALSE cost = 1 @@ -367,7 +367,7 @@ /datum/gear/suit/forensics display_name = "forensics uniform selection" path = /obj/item/clothing/suit/storage/forensics/red/long - allowed_roles = list("Detective") + allowed_roles = list(JOB_DETECTIVE) /datum/gear/suit/forensics/New() ..() @@ -382,13 +382,13 @@ /datum/gear/suit/qm_coat display_name = "coat, quartermaster" path = /obj/item/clothing/suit/storage/qm - allowed_roles = list("Quartermaster") + allowed_roles = list(JOB_QUARTERMASTER) show_roles = FALSE /datum/gear/suit/cargo_coat display_name = "coat, cargo tech" path = /obj/item/clothing/suit/storage/cargo - allowed_roles = list("Quartermaster","Shaft Miner","Cargo Technician","Head of Personnel") + allowed_roles = list(JOB_QUARTERMASTER,JOB_SHAFT_MINER,JOB_CARGO_TECHNICIAN,JOB_HEAD_OF_PERSONNEL) show_roles = FALSE // winter coats go here @@ -399,139 +399,139 @@ /datum/gear/suit/wintercoat/captain display_name = "winter coat, site manager" path = /obj/item/clothing/suit/storage/hooded/wintercoat/captain - allowed_roles = list("Site Manager") + allowed_roles = list(JOB_SITE_MANAGER) show_roles = FALSE /datum/gear/suit/wintercoat/hop display_name = "winter coat, head of personnel" path = /obj/item/clothing/suit/storage/hooded/wintercoat/hop - allowed_roles = list("Head of Personnel") + allowed_roles = list(JOB_HEAD_OF_PERSONNEL) show_roles = FALSE /datum/gear/suit/wintercoat/security display_name = "winter coat, security" path = /obj/item/clothing/suit/storage/hooded/wintercoat/security - allowed_roles = list("Security Officer", "Head of Security", "Warden", "Detective","Blueshield Guard","Security Pilot") //YW ADDITIONS + allowed_roles = list(JOB_SECURITY_OFFICER, JOB_HEAD_OF_SECURITY, JOB_WARDEN, JOB_DETECTIVE,"Blueshield Guard","Security Pilot") //YW ADDITIONS show_roles = FALSE /datum/gear/suit/wintercoat/security/hos display_name = "winter coat, head of security" path = /obj/item/clothing/suit/storage/hooded/wintercoat/security/hos - allowed_roles = list("Head of Security") + allowed_roles = list(JOB_HEAD_OF_SECURITY) show_roles = FALSE /datum/gear/suit/wintercoat/medical display_name = "winter coat, medical" path = /obj/item/clothing/suit/storage/hooded/wintercoat/medical - allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist", "Psychiatrist", "Field Medic") // YW EDIT Field medic + allowed_roles = list(JOB_MEDICAL_DOCTOR,JOB_CHIEF_MEDICAL_OFFICER,JOB_CHEMIST,JOB_PARAMEDIC,JOB_GENETICIST, JOB_PSYCHIATRIST, "Field Medic") // YW EDIT Field medic show_roles = FALSE /datum/gear/suit/wintercoat/medical/alt display_name = "winter coat, medical alt" path = /obj/item/clothing/suit/storage/hooded/wintercoat/medical/alt - allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist", "Psychiatrist", "Field Medic") // YW EDIT Field medic + allowed_roles = list(JOB_MEDICAL_DOCTOR,JOB_CHIEF_MEDICAL_OFFICER,JOB_CHEMIST,JOB_PARAMEDIC,JOB_GENETICIST, JOB_PSYCHIATRIST, "Field Medic") // YW EDIT Field medic show_roles = FALSE /datum/gear/suit/wintercoat/medical/viro display_name = "winter coat, virologist" path = /obj/item/clothing/suit/storage/hooded/wintercoat/medical/viro - allowed_roles = list("Medical Doctor","Chief Medical Officer") + allowed_roles = list(JOB_MEDICAL_DOCTOR,JOB_CHIEF_MEDICAL_OFFICER) show_roles = FALSE /datum/gear/suit/wintercoat/medical/para display_name = "winter coat, paramedic" path = /obj/item/clothing/suit/storage/hooded/wintercoat/medical/para - allowed_roles = list("Medical Doctor","Chief Medical Officer","Paramedic", "Field Medic") // YW EDIT Field medic + allowed_roles = list(JOB_MEDICAL_DOCTOR,JOB_CHIEF_MEDICAL_OFFICER,JOB_PARAMEDIC, "Field Medic") // YW EDIT Field medic show_roles = FALSE /datum/gear/suit/wintercoat/medical/chemist display_name = "winter coat, chemist" path = /obj/item/clothing/suit/storage/hooded/wintercoat/medical/chemist - allowed_roles = list("Chief Medical Officer","Chemist") + allowed_roles = list(JOB_CHIEF_MEDICAL_OFFICER,JOB_CHEMIST) show_roles = FALSE /datum/gear/suit/wintercoat/medical/cmo display_name = "winter coat, chief medical officer" path = /obj/item/clothing/suit/storage/hooded/wintercoat/medical/cmo - allowed_roles = list("Chief Medical Officer") + allowed_roles = list(JOB_CHIEF_MEDICAL_OFFICER) show_roles = FALSE /datum/gear/suit/wintercoat/medical/sar display_name = "winter coat, search and rescue" path = /obj/item/clothing/suit/storage/hooded/wintercoat/medical/sar - allowed_roles = list("Chief Medical Officer","Paramedic", "Field Medic") // YW EDIT Field medic + allowed_roles = list(JOB_CHIEF_MEDICAL_OFFICER,JOB_PARAMEDIC, "Field Medic") // YW EDIT Field medic show_roles = FALSE /datum/gear/suit/wintercoat/science display_name = "winter coat, science" path = /obj/item/clothing/suit/storage/hooded/wintercoat/science - allowed_roles = list("Research Director","Scientist", "Roboticist", "Xenobiologist", "Xenobotanist") + allowed_roles = list(JOB_RESEARCH_DIRECTOR,JOB_SCIENTIST, JOB_ROBOTICIST, JOB_XENOBIOLOGIST, JOB_XENOBOTANIST) show_roles = FALSE /datum/gear/suit/wintercoat/science/robotics display_name = "winter coat, robotics" path = /obj/item/clothing/suit/storage/hooded/wintercoat/science/robotics - allowed_roles = list("Research Director", "Roboticist") + allowed_roles = list(JOB_RESEARCH_DIRECTOR, JOB_ROBOTICIST) show_roles = FALSE /datum/gear/suit/wintercoat/science/rd display_name = "winter coat, research director" path = /obj/item/clothing/suit/storage/hooded/wintercoat/science/rd - allowed_roles = list("Research Director") + allowed_roles = list(JOB_RESEARCH_DIRECTOR) show_roles = FALSE /datum/gear/suit/wintercoat/engineering display_name = "winter coat, engineering" path = /obj/item/clothing/suit/storage/hooded/wintercoat/engineering - allowed_roles = list("Chief Engineer","Atmospheric Technician", "Engineer") + allowed_roles = list(JOB_CHIEF_ENGINEER,JOB_ATMOSPHERIC_TECHNICIAN, JOB_ENGINEER) show_roles = FALSE /datum/gear/suit/wintercoat/engineering/atmos display_name = "winter coat, atmospherics" path = /obj/item/clothing/suit/storage/hooded/wintercoat/engineering/atmos - allowed_roles = list("Chief Engineer", "Atmospheric Technician") + allowed_roles = list(JOB_CHIEF_ENGINEER, JOB_ATMOSPHERIC_TECHNICIAN) show_roles = FALSE /datum/gear/suit/wintercoat/engineering/ce display_name = "winter coat, chief engineer" path = /obj/item/clothing/suit/storage/hooded/wintercoat/engineering/ce - allowed_roles = list("Chief Engineer") + allowed_roles = list(JOB_CHIEF_ENGINEER) show_roles = FALSE /datum/gear/suit/wintercoat/hydro display_name = "winter coat, hydroponics" path = /obj/item/clothing/suit/storage/hooded/wintercoat/hydro - allowed_roles = list("Botanist", "Xenobotanist") + allowed_roles = list(JOB_BOTANIST, JOB_XENOBOTANIST) show_roles = FALSE /datum/gear/suit/wintercoat/cargo display_name = "winter coat, cargo" path = /obj/item/clothing/suit/storage/hooded/wintercoat/cargo - allowed_roles = list("Quartermaster","Cargo Technician") + allowed_roles = list(JOB_QUARTERMASTER,JOB_CARGO_TECHNICIAN) show_roles = FALSE /datum/gear/suit/wintercoat/miner display_name = "winter coat, mining" path = /obj/item/clothing/suit/storage/hooded/wintercoat/miner - allowed_roles = list("Shaft Miner") + allowed_roles = list(JOB_SHAFT_MINER) show_roles = FALSE /datum/gear/suit/wintercoat/cargo/qm display_name = "winter coat, quartermaster" path = /obj/item/clothing/suit/storage/hooded/wintercoat/cargo/qm - allowed_roles = list("Quartermaster") + allowed_roles = list(JOB_QUARTERMASTER) show_roles = FALSE /datum/gear/suit/wintercoat/bar display_name = "winter coat, bartender" path = /obj/item/clothing/suit/storage/hooded/wintercoat/bar - allowed_roles = list("Bartender") + allowed_roles = list(JOB_BARTENDER) show_roles = FALSE /datum/gear/suit/wintercoat/janitor display_name = "winter coat, janitor" path = /obj/item/clothing/suit/storage/hooded/wintercoat/janitor - allowed_roles = list("Janitor") + allowed_roles = list(JOB_JANITOR) show_roles = FALSE /datum/gear/suit/wintercoat/aformal @@ -658,37 +658,37 @@ /datum/gear/suit/snowsuit/command_vore // YW EDIT command to command_vore display_name = "snowsuit, command" path = /obj/item/clothing/suit/storage/hooded/wintercoat/snowsuit/command // YW EDIT Replaced by our snowsuits - allowed_roles = list("Site Manager","Research Director","Head of Personnel","Head of Security","Chief Engineer","Command Secretary","Blueshield Guard") //YW ADDITIONS + allowed_roles = list(JOB_SITE_MANAGER,JOB_RESEARCH_DIRECTOR,JOB_HEAD_OF_PERSONNEL,JOB_HEAD_OF_SECURITY,JOB_CHIEF_ENGINEER,JOB_COMMAND_SECRETARY,"Blueshield Guard") //YW ADDITIONS show_roles = FALSE /datum/gear/suit/snowsuit/security_vore //YW EDIT security to security_vore display_name = "snowsuit, security" path = /obj/item/clothing/suit/storage/hooded/wintercoat/snowsuit/security // YW EDIT Replaced by our snowsuits - allowed_roles = list("Security Officer", "Head of Security", "Warden", "Detective") + allowed_roles = list(JOB_SECURITY_OFFICER, JOB_HEAD_OF_SECURITY, JOB_WARDEN, JOB_DETECTIVE) show_roles = FALSE /datum/gear/suit/snowsuit/medical display_name = "snowsuit, medical" - path = /obj/item/clothing/suit/storage/hooded/wintercoat/snowsuit/medical - allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist", "Psychiatrist", "Search and Rescue") + path = /obj/item/clothing/suit/storage/hooded/wintercoat/snowsuit/medical // YW EDIT Replaced by our snowsuits + allowed_roles = list(JOB_MEDICAL_DOCTOR,JOB_CHIEF_MEDICAL_OFFICER,JOB_CHEMIST,JOB_PARAMEDIC,JOB_GENETICIST, JOB_PSYCHIATRIST, JOB_ALT_SEARCH_AND_RESCUE) show_roles = FALSE /datum/gear/suit/snowsuit/science display_name = "snowsuit, science" - path = /obj/item/clothing/suit/storage/hooded/wintercoat/snowsuit/science - allowed_roles = list("Research Director","Scientist", "Roboticist", "Xenobiologist") + path = /obj/item/clothing/suit/storage/hooded/wintercoat/snowsuit/science // YW EDIT Replaced by our snowsuits + allowed_roles = list(JOB_RESEARCH_DIRECTOR,JOB_SCIENTIST, JOB_ROBOTICIST, JOB_XENOBIOLOGIST) show_roles = FALSE /datum/gear/suit/snowsuit/engineering display_name = "snowsuit, engineering" - path = /obj/item/clothing/suit/storage/hooded/wintercoat/snowsuit/engineering - allowed_roles = list("Chief Engineer","Atmospheric Technician", "Engineer") + path = /obj/item/clothing/suit/storage/hooded/wintercoat/snowsuit/engineering // YW EDIT Replaced by our snowsuits + allowed_roles = list(JOB_CHIEF_ENGINEER,JOB_ATMOSPHERIC_TECHNICIAN, JOB_ENGINEER) show_roles = FALSE /datum/gear/suit/snowsuit/cargo display_name = "snowsuit, supply" - path = /obj/item/clothing/suit/storage/hooded/wintercoat/snowsuit/cargo - allowed_roles = list("Quartermaster","Shaft Miner","Cargo Technician","Head of Personnel") + path = /obj/item/clothing/suit/storage/hooded/wintercoat/snowsuit/cargo // YW EDIT Replaced by our snowsuits + allowed_roles = list(JOB_QUARTERMASTER,JOB_SHAFT_MINER,JOB_CARGO_TECHNICIAN,JOB_HEAD_OF_PERSONNEL) show_roles = FALSE /datum/gear/suit/miscellaneous/cardigan @@ -702,7 +702,7 @@ /datum/gear/suit/cmddressjacket display_name = "command dress jacket" path = /obj/item/clothing/suit/storage/toggle/cmddressjacket - allowed_roles = list("Site Manager", "Head of Personnel", "Command Secretary") + allowed_roles = list(JOB_SITE_MANAGER, JOB_HEAD_OF_PERSONNEL, JOB_COMMAND_SECRETARY) show_roles = FALSE /datum/gear/suit/miscellaneous/kimono diff --git a/code/modules/client/preference_setup/loadout/loadout_suit_vr.dm b/code/modules/client/preference_setup/loadout/loadout_suit_vr.dm index 5f33313538a..25bf11496d7 100644 --- a/code/modules/client/preference_setup/loadout/loadout_suit_vr.dm +++ b/code/modules/client/preference_setup/loadout/loadout_suit_vr.dm @@ -1,5 +1,5 @@ /datum/gear/suit/snowsuit/medical - allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist", "Psychiatrist", "Field Medic") // YW EDIT Field medic + allowed_roles = list(JOB_MEDICAL_DOCTOR,JOB_CHIEF_MEDICAL_OFFICER,JOB_CHEMIST,JOB_PARAMEDIC,JOB_GENETICIST, JOB_PSYCHIATRIST, "Field Medic") // YW EDIT Field medic /datum/gear/suit/labcoat_colorable display_name = "labcoat, colorable" @@ -16,7 +16,7 @@ /datum/gear/suit/labcoat_cmo_old display_name = "labcoat, CMO, oldschool" path = /obj/item/clothing/suit/storage/toggle/labcoat/old/cmo - allowed_roles = list("Chief Medical Officer") + allowed_roles = list(JOB_CHIEF_MEDICAL_OFFICER) /datum/gear/suit/roles/labcoat_old display_name = "labcoat selection, department, oldschool" @@ -57,7 +57,7 @@ /datum/gear/suit/detective_alt display_name = "sleek modern coat selection" path = /obj/item/clothing/suit/storage/det_trench/alt - allowed_roles = list("Head of Security", "Detective") + allowed_roles = list(JOB_HEAD_OF_SECURITY, JOB_DETECTIVE) /datum/gear/suit/detective_alt/New() ..() @@ -73,7 +73,7 @@ /datum/gear/suit/paramedic_coat display_name = "paramedic outerwear selection" path = /obj/item/clothing/suit/storage/toggle/fr_jacket - allowed_roles = list("Chief Medical Officer","Paramedic","Medical Doctor", "Field Medic") // YW EDIT Field medic + allowed_roles = list(JOB_CHIEF_MEDICAL_OFFICER,JOB_PARAMEDIC,JOB_MEDICAL_DOCTOR, "Field Medic") // YW EDIT Field medic /datum/gear/suit/paramedic_coat/New() ..() @@ -112,12 +112,12 @@ Talon winter coat /datum/gear/suit/armor/combat/crusader_explo display_name = "knight, explo" path = /obj/item/clothing/suit/armor/combat/crusader_explo - //allowed_roles = list("Explorer","Pathfinder", "Field Medic") // YW EDIT Field medic + //allowed_roles = list(JOB_EXPLORER,JOB_PATHFINDER, "Field Medic") // YW EDIT Field medic /datum/gear/suit/armor/combat/crusader_explo/FM display_name = "knight, Field Medic" path = /obj/item/clothing/suit/armor/combat/crusader_explo/FM - allowed_roles = list ("Paramedic", "Field Medic") // YW EDIT Field medic + allowed_roles = list (JOB_PARAMEDIC, "Field Medic") // YW EDIT Field medic //Long fur coat /datum/gear/suit/russofurcoat @@ -231,13 +231,13 @@ Talon winter coat /datum/gear/suit/roles/capboatcloak display_name = "boat cloak, site manager" path = /obj/item/clothing/accessory/poncho/roles/cloak/boat/cap - allowed_roles = list("Site Manager") + allowed_roles = list(JOB_SITE_MANAGER) show_roles = FALSE /datum/gear/suit/roles/hopboatcloak display_name = "boat cloak, head of personnel" path = /obj/item/clothing/accessory/poncho/roles/cloak/boat/hop - allowed_roles = list("Head of Personnel") + allowed_roles = list(JOB_HEAD_OF_PERSONNEL) show_roles = FALSE /datum/gear/suit/roles/boatcloaks @@ -269,13 +269,13 @@ Talon winter coat /datum/gear/suit/roles/capshroud display_name = "shroud, site manager" path = /obj/item/clothing/accessory/poncho/roles/cloak/shroud/cap - allowed_roles = list("Site Manager") + allowed_roles = list(JOB_SITE_MANAGER) show_roles = FALSE /datum/gear/suit/roles/hopshroud display_name = "shroud, head of personnel" path = /obj/item/clothing/accessory/poncho/roles/cloak/shroud/hop - allowed_roles = list("Head of Personnel") + allowed_roles = list(JOB_HEAD_OF_PERSONNEL) show_roles = FALSE /datum/gear/suit/roles/shrouds diff --git a/code/modules/client/preference_setup/loadout/loadout_uni_selector.dm b/code/modules/client/preference_setup/loadout/loadout_uni_selector.dm index 5c363bfb6f4..986ea328e5a 100644 --- a/code/modules/client/preference_setup/loadout/loadout_uni_selector.dm +++ b/code/modules/client/preference_setup/loadout/loadout_uni_selector.dm @@ -21,9 +21,9 @@ //Command/Specific /datum/gear/uniform/site_manager_selector - display_name = "Command - Site Manager's Uniforms" - description = "Select from a range of outfits available to all Site Managers, and Talon Captains." - allowed_roles = list("Site Manager","Talon Captain") + display_name = "Command - " + JOB_SITE_MANAGER + "'s Uniforms" + description = "Select from a range of outfits available to all " + JOB_SITE_MANAGER + "s, and Talon Captains." + allowed_roles = list(JOB_SITE_MANAGER,JOB_TALON_CAPTAIN) show_roles = FALSE path = /obj/item/clothing/under/rank/neo_captain sort_category = "Uniforms" @@ -33,7 +33,7 @@ ..() var/list/selector_uniforms = list( "uniform w/ dress"=/obj/item/clothing/under/dress/dress_cap, - "KHI uniform"=/obj/item/clothing/under/rank/khi/cmd, + "neocorporate uniform"=/obj/item/clothing/under/rank/khi/cmd, "ST: Original Series Command"=/obj/item/clothing/under/rank/trek/command, "ST: Next Generation Command"=/obj/item/clothing/under/rank/trek/command/next, "ST: Voyager Command"=/obj/item/clothing/under/rank/trek/command/voy, @@ -51,9 +51,9 @@ gear_tweaks += new/datum/gear_tweak/path(sortAssoc(selector_uniforms)) /datum/gear/uniform/head_of_personnel_selector - display_name = "Command - Head of Personnel's Uniforms" + display_name = "Command - " + JOB_HEAD_OF_PERSONNEL + "'s Uniforms" description = "Select from a range of outfits available to all Heads of Personnel." - allowed_roles = list("Head of Personnel") + allowed_roles = list(JOB_HEAD_OF_PERSONNEL) show_roles = FALSE path = /obj/item/clothing/under/rank/neo_hop sort_category = "Uniforms" @@ -64,7 +64,7 @@ var/list/selector_uniforms = list( "uniform w/ dress"=/obj/item/clothing/under/dress/dress_hop, "HR director"=/obj/item/clothing/under/dress/dress_hr, - "KHI uniform"=/obj/item/clothing/under/rank/khi/cmd, + "neocorporate uniform"=/obj/item/clothing/under/rank/khi/cmd, "ST: Original Series Command"=/obj/item/clothing/under/rank/trek/command, "ST: Next Generation Command"=/obj/item/clothing/under/rank/trek/command/next, "ST: Voyager Command"=/obj/item/clothing/under/rank/trek/command/voy, @@ -83,9 +83,9 @@ gear_tweaks += new/datum/gear_tweak/path(sortAssoc(selector_uniforms)) /datum/gear/uniform/pilot_uniform_selector - display_name = "Civilian - Pilot's Uniforms" - description = "Select from a range of outfits available to all Pilots (including those on the Talon)." - allowed_roles = list("Pilot","Talon Pilot") + display_name = "Civilian - " + JOB_PILOT+ "'s Uniforms" + description = "Select from a range of outfits available to all " + JOB_PILOT + "s (including those on the Talon)." + allowed_roles = list(JOB_PILOT,JOB_TALON_PILOT) show_roles = FALSE path = /obj/item/clothing/under/rank/neo_pilot sort_category = "Uniforms" @@ -104,9 +104,9 @@ gear_tweaks += new/datum/gear_tweak/path(sortAssoc(selector_uniforms)) /datum/gear/uniform/janitor_uniform_selector - display_name = "Civilian - Janitor's Uniforms" - description = "Select from a range of outfits available to all Janitorial personnel." - allowed_roles = list("Janitor") + display_name = "Civilian - " + JOB_JANITOR + "'s Uniforms" + description = "Select from a range of outfits available to all " + JOB_JANITOR + "ial personnel." + allowed_roles = list(JOB_JANITOR) show_roles = FALSE path = /obj/item/clothing/under/rank/neo_janitor sort_category = "Uniforms" @@ -130,7 +130,7 @@ /datum/gear/uniform/civvie_uniform_selector/New() ..() var/list/selector_uniforms = list( - "KHI uniform"=/obj/item/clothing/under/rank/khi/civ, + "neocorporate uniform"=/obj/item/clothing/under/rank/khi/civ, "TG&C plain turtleneck"=/obj/item/clothing/under/rank/neo_suspect_turtleneck, "TG&C plain turtleneck w/ skirt"=/obj/item/clothing/under/rank/neo_suspect_turtleskirt, "TG&C blue turtleneck"=/obj/item/clothing/under/rank/neo_suspect_turtleneck_blue, @@ -190,7 +190,7 @@ /datum/gear/uniform/security_selector display_name = "Security - Basic Uniforms" description = "Select from a range of outfits available to all Security personnel." - allowed_roles = list("Head of Security", "Warden", "Detective", "Security Officer","Talon Guard","Security Pilot") // YW EDIT Security Pilot + allowed_roles = list(JOB_HEAD_OF_SECURITY, JOB_WARDEN, JOB_DETECTIVE, JOB_SECURITY_OFFICER,JOB_TALON_GUARD,"Security Pilot") // YW EDIT Security Pilot show_roles = FALSE path = /obj/item/clothing/under/rank/security/corp sort_category = "Uniforms" @@ -200,7 +200,7 @@ ..() var/list/selector_uniforms = list( "undersuit, modernized"=/obj/item/clothing/under/rank/security/modern, - "KHI uniform"=/obj/item/clothing/under/rank/khi/sec, + "neocorporate uniform"=/obj/item/clothing/under/rank/khi/sec, "voidsuit underlayer"=/obj/item/clothing/under/undersuit/sec, "skirt"=/obj/item/clothing/under/rank/security/skirt, "turtleneck"=/obj/item/clothing/under/rank/security/turtleneck, @@ -234,9 +234,9 @@ gear_tweaks += new/datum/gear_tweak/path(sortAssoc(selector_uniforms)) /datum/gear/uniform/security_warden_selector - display_name = "Security - Warden's Uniforms" + display_name = "Security - "+ JOB_WARDEN + "'s Uniforms" description = "Select from a range of outfits available to Wardens." - allowed_roles = list("Head of Security","Warden") + allowed_roles = list(JOB_HEAD_OF_SECURITY,JOB_WARDEN) show_roles = FALSE path = /obj/item/clothing/under/rank/warden/corp sort_category = "Uniforms" @@ -256,9 +256,9 @@ gear_tweaks += new/datum/gear_tweak/path(sortAssoc(selector_uniforms)) /datum/gear/uniform/security_detective_selector - display_name = "Security - Detective's Uniforms" + display_name = "Security - " + JOB_DETECTIVE + "'s Uniforms" description = "Select from a range of outfits available to all Detectives." - allowed_roles = list("Head of Security","Detective") + allowed_roles = list(JOB_HEAD_OF_SECURITY,JOB_DETECTIVE) show_roles = FALSE path = /obj/item/clothing/under/det/corporate sort_category = "Uniforms" @@ -275,7 +275,7 @@ /datum/gear/uniform/security_head_selector display_name = "Security - Head's Uniforms" description = "Select from a range of outfits available to all Heads of Security." - allowed_roles = list("Head of Security") + allowed_roles = list(JOB_HEAD_OF_SECURITY) show_roles = FALSE path = /obj/item/clothing/under/rank/head_of_security/corp sort_category = "Uniforms" @@ -300,7 +300,7 @@ "TG&C blue turtleneck & skirt"=/obj/item/clothing/under/rank/neo_hos_blackblue_skirt, "TG&C blue parade uniform"=/obj/item/clothing/under/rank/neo_hos_parade_blue, "TG&C blue parade uniform, feminine"=/obj/item/clothing/under/rank/neo_hos_parade_blue_fem, - "KHI uniform, command"=/obj/item/clothing/under/rank/khi/cmd, + "neocorporate uniform, command"=/obj/item/clothing/under/rank/khi/cmd, "ST: Original Series Command"=/obj/item/clothing/under/rank/trek/command, "ST: Next Generation Command"=/obj/item/clothing/under/rank/trek/command/next, "ST: Voyager Command"=/obj/item/clothing/under/rank/trek/command/voy, @@ -313,9 +313,9 @@ //Cargo /datum/gear/uniform/quartermaster_selector - display_name = "Cargo - Quartermaster's Uniforms" - description = "Select from a range of outfits available to all Quartermasters." - allowed_roles = list("Quartermaster") + display_name = "Cargo - " + JOB_QUARTERMASTER + "'s Uniforms" + description = "Select from a range of outfits available to all " + JOB_QUARTERMASTER + "s." + allowed_roles = list(JOB_QUARTERMASTER) show_roles = FALSE path = /obj/item/clothing/under/rank/cargo/jeans sort_category = "Uniforms" @@ -327,7 +327,7 @@ "skirt"=/obj/item/clothing/under/rank/cargo/skirt, "jeans"=/obj/item/clothing/under/rank/cargo/jeans, "jeans, feminine cut"=/obj/item/clothing/under/rank/cargo/jeans/female, - "KHI uniform, command"=/obj/item/clothing/under/rank/khi/cmd, + "neocorporate uniform, command"=/obj/item/clothing/under/rank/khi/cmd, "TG&C jumpsuit"=/obj/item/clothing/under/rank/neo_qm, "TG&C jumpskirt"=/obj/item/clothing/under/rank/neo_qm_skirt, "TG&C casualwear"=/obj/item/clothing/under/rank/neo_qm_jacket, @@ -347,7 +347,7 @@ /datum/gear/uniform/cargo_general_selector display_name = "Cargo - Basic Uniforms" description = "Select from a range of outfits available to all Cargo personnel." - allowed_roles = list("Cargo Technician","Shaft Miner","Quartermaster") + allowed_roles = list(JOB_CARGO_TECHNICIAN,JOB_SHAFT_MINER,JOB_QUARTERMASTER) show_roles = FALSE path = /obj/item/clothing/under/rank/cargotech/jeans sort_category = "Uniforms" @@ -359,7 +359,7 @@ "skirt"=/obj/item/clothing/under/rank/cargotech/skirt, "jeans"=/obj/item/clothing/under/rank/cargotech/jeans, "jeans, feminine cut"=/obj/item/clothing/under/rank/cargotech/jeans/female, - "KHI uniform"=/obj/item/clothing/under/rank/khi/crg, + "neocorporate uniform"=/obj/item/clothing/under/rank/khi/crg, "TG&C shorts"=/obj/item/clothing/under/rank/neo_cargo_shorts, "TG&C skirt"=/obj/item/clothing/under/rank/neo_cargo_skirt, "TG&C jumpsuit"=/obj/item/clothing/under/rank/neo_cargo, @@ -376,7 +376,7 @@ /datum/gear/uniform/cargo_miner_selector display_name = "Cargo - Miner's Uniforms" description = "Select from a range of outfits available to all Mining personnel." - allowed_roles = list("Shaft Miner","Quartermaster","Talon Miner") + allowed_roles = list(JOB_SHAFT_MINER,JOB_QUARTERMASTER,JOB_TALON_MINER) show_roles = FALSE path = /obj/item/clothing/under/rank/neo_miner sort_category = "Uniforms" @@ -393,9 +393,9 @@ //Engineering /datum/gear/uniform/engineering_chief_selector - display_name = "Engineering - Chief Engineer's Uniforms" - description = "Select from a range of outfits available to all Chief Engineers." - allowed_roles = list("Chief Engineer") + display_name = "Engineering - " + JOB_CHIEF_ENGINEER + "'s Uniforms" + description = "Select from a range of outfits available to all " + JOB_CHIEF_ENGINEER + "s." + allowed_roles = list(JOB_CHIEF_ENGINEER) show_roles = FALSE path = /obj/item/clothing/under/rank/neo_chiefengi sort_category = "Uniforms" @@ -405,7 +405,7 @@ ..() var/list/selector_uniforms = list( "skirt"=/obj/item/clothing/under/rank/chief_engineer/skirt, - "KHI uniform, command"=/obj/item/clothing/under/rank/khi/cmd, + "neocorporate uniform, command"=/obj/item/clothing/under/rank/khi/cmd, "ST: Original Series Command"=/obj/item/clothing/under/rank/trek/command, "ST: Next Generation Command"=/obj/item/clothing/under/rank/trek/command/next, "ST: Voyager Command"=/obj/item/clothing/under/rank/trek/command/voy, @@ -420,7 +420,7 @@ /datum/gear/uniform/engineer_selector display_name = "Engineering - Basic Uniforms" description = "Select from a range of outfits available to all Engineering personnel." - allowed_roles = list("Chief Engineer","Engineer","Atmospheric Technician","Talon Engineer") + allowed_roles = list(JOB_CHIEF_ENGINEER,JOB_ENGINEER,JOB_ATMOSPHERIC_TECHNICIAN,JOB_TALON_ENGINEER) show_roles = FALSE path = /obj/item/clothing/under/rank/neo_engi sort_category = "Uniforms" @@ -431,7 +431,7 @@ var/list/selector_uniforms = list( "skirt"=/obj/item/clothing/under/rank/engineer/skirt, "turtleneck"=/obj/item/clothing/under/rank/engineer/turtleneck, - "KHI uniform"=/obj/item/clothing/under/rank/khi/eng, + "neocorporate uniform"=/obj/item/clothing/under/rank/khi/eng, "ST: Original Series Ops"=/obj/item/clothing/under/rank/trek/engsec, "ST: Next Generation Ops"=/obj/item/clothing/under/rank/trek/engsec/next, "ST: Voyager Ops"=/obj/item/clothing/under/rank/trek/engsec/voy, @@ -448,7 +448,7 @@ /datum/gear/uniform/engi_atmos_selector display_name = "Engineering - Atmos Tech's Uniforms" description = "Select from a range of outfits available to all Atmospherics Technicians." - allowed_roles = list("Chief Engineer","Atmospheric Technician") + allowed_roles = list(JOB_CHIEF_ENGINEER,JOB_ATMOSPHERIC_TECHNICIAN) show_roles = FALSE path = /obj/item/clothing/under/rank/atmospheric_technician/skirt sort_category = "Uniforms" @@ -468,7 +468,7 @@ /datum/gear/uniform/medical_selector display_name = "Medical - Basic Uniforms" description = "Select from a range of outfits available to all Medical personnel." - allowed_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Psychiatrist","Paramedic","Talon Doctor", "Field Medic") // YW EDIT Field medic + allowed_roles = list(JOB_CHIEF_MEDICAL_OFFICER,JOB_MEDICAL_DOCTOR,JOB_CHEMIST,JOB_PSYCHIATRIST,JOB_PARAMEDIC,JOB_TALON_DOCTOR, "Field Medic") // YW EDIT Field medic show_roles = FALSE path = /obj/item/clothing/under/rank/neo_med sort_category = "Uniforms" @@ -481,7 +481,7 @@ "virologist skirt"=/obj/item/clothing/under/rank/virologist/skirt, "turtleneck"=/obj/item/clothing/under/rank/medical/turtleneck, "vey-medical jumpsuit"=/obj/item/clothing/under/corp/veymed, - "KHI uniform"=/obj/item/clothing/under/rank/khi/med, + "neocorporate uniform"=/obj/item/clothing/under/rank/khi/med, "ST: Original Series Med-Sci"=/obj/item/clothing/under/rank/trek/medsci, "ST: Next Generation Med-Sci"=/obj/item/clothing/under/rank/trek/medsci/next, "ST: Voyager Med-Sci"=/obj/item/clothing/under/rank/trek/medsci/voy, @@ -499,9 +499,9 @@ gear_tweaks += new/datum/gear_tweak/path(sortAssoc(selector_uniforms)) /datum/gear/uniform/chemist_selector - display_name = "Medical - Chemist's Uniforms" + display_name = "Medical - " + JOB_CHEMIST + "'s Uniforms" description = "Select from a range of outfits available to all Chemists." - allowed_roles = list("Chief Medical Officer","Chemist") + allowed_roles = list(JOB_CHIEF_MEDICAL_OFFICER,JOB_CHEMIST) show_roles = FALSE path = /obj/item/clothing/under/rank/neo_chem sort_category = "Uniforms" @@ -519,9 +519,9 @@ gear_tweaks += new/datum/gear_tweak/path(sortAssoc(selector_uniforms)) /datum/gear/uniform/paramedic_selector - display_name = "Medical - Paramedic's Uniforms" - description = "Select from a range of outfits available to all Paramedics." - allowed_roles = list("Medical Doctor","Chief Medical Officer","Paramedic","Talon Doctor") + display_name = "Medical - " + JOB_PARAMEDIC + "'s Uniforms" + description = "Select from a range of outfits available to all " + JOB_PARAMEDIC + "s." + allowed_roles = list(JOB_MEDICAL_DOCTOR,JOB_CHIEF_MEDICAL_OFFICER,JOB_PARAMEDIC,JOB_TALON_DOCTOR) show_roles = FALSE path = /obj/item/clothing/under/rank/paramedunidark sort_category = "Uniforms" @@ -542,9 +542,9 @@ gear_tweaks += new/datum/gear_tweak/path(sortAssoc(selector_uniforms)) /datum/gear/uniform/chief_medical_selector - display_name = "Medical - Chief Medical Officer's Uniforms" - description = "Select from a range of outfits available to all Chief Medical Officers." - allowed_roles = list("Chief Medical Officer") + display_name = "Medical - " + JOB_CHIEF_MEDICAL_OFFICER + "'s Uniforms" + description = "Select from a range of outfits available to all " + JOB_CHIEF_MEDICAL_OFFICER + "." + allowed_roles = list(JOB_CHIEF_MEDICAL_OFFICER) show_roles = FALSE path = /obj/item/clothing/under/rank/neo_cmo sort_category = "Uniforms" @@ -554,7 +554,7 @@ ..() var/list/selector_uniforms = list( "skirt"=/obj/item/clothing/under/rank/chief_medical_officer/skirt, - "KHI uniform, command"=/obj/item/clothing/under/rank/khi/cmd, + "neocorporate uniform, command"=/obj/item/clothing/under/rank/khi/cmd, "ST: Original Series Command"=/obj/item/clothing/under/rank/trek/command, "ST: Next Generation Command"=/obj/item/clothing/under/rank/trek/command/next, "ST: Voyager Command"=/obj/item/clothing/under/rank/trek/command/voy, @@ -571,9 +571,9 @@ //Science /datum/gear/uniform/research_director_selector - display_name = "Science - Research Director's Uniforms" - description = "Select from a range of outfits available to all Research Directors." - allowed_roles = list("Research Director") + display_name = "Science - " + JOB_RESEARCH_DIRECTOR + "'s Uniforms" + description = "Select from a range of outfits available to all " + JOB_RESEARCH_DIRECTOR + "s." + allowed_roles = list(JOB_RESEARCH_DIRECTOR) show_roles = FALSE path = /obj/item/clothing/under/rank/neo_rd_suit sort_category = "Uniforms" @@ -582,7 +582,7 @@ /datum/gear/uniform/research_director_selector/New() ..() var/list/selector_uniforms = list( - "KHI uniform, command"=/obj/item/clothing/under/rank/khi/cmd, + "neocorporate uniform, command"=/obj/item/clothing/under/rank/khi/cmd, "ST: Original Series Command"=/obj/item/clothing/under/rank/trek/command, "ST: Next Generation Command"=/obj/item/clothing/under/rank/trek/command/next, "ST: Voyager Command"=/obj/item/clothing/under/rank/trek/command/voy, @@ -599,7 +599,7 @@ /datum/gear/uniform/science_dept_selector display_name = "Science - Basic Uniforms" description = "Select from a range of outfits available to all Science personnel." - allowed_roles = list("Scientist","Research Director","Roboticist","Xenobiologist","Xenobotanist") + allowed_roles = list(JOB_SCIENTIST,JOB_RESEARCH_DIRECTOR,JOB_ROBOTICIST,JOB_XENOBIOLOGIST,JOB_XENOBOTANIST) show_roles = FALSE path = /obj/item/clothing/under/rank/neo_science sort_category = "Uniforms" @@ -611,7 +611,7 @@ "TG&C jumpsuit"=/obj/item/clothing/under/rank/neo_science, "TG&C jumpskirt"=/obj/item/clothing/under/rank/neo_science_skirt, "TG&C utility"=/obj/item/clothing/under/rank/neo_util_sci, - "KHI uniform"=/obj/item/clothing/under/rank/khi/sci, + "neocorporate uniform"=/obj/item/clothing/under/rank/khi/sci, "ST: Original Series Med-Sci"=/obj/item/clothing/under/rank/trek/medsci, "ST: Next Generation Med-Sci"=/obj/item/clothing/under/rank/trek/medsci/next, "ST: Voyager Med-Sci"=/obj/item/clothing/under/rank/trek/medsci/voy, @@ -622,9 +622,9 @@ gear_tweaks += new/datum/gear_tweak/path(sortAssoc(selector_uniforms)) /datum/gear/uniform/science_robotics_selector - display_name = "Science - Roboticist's Uniforms" - description = "Select from a range of outfits available to all Roboticists." - allowed_roles = list("Research Director","Roboticist") + display_name = "Science - " + JOB_ROBOTICIST + "'s Uniforms" + description = "Select from a range of outfits available to all " + JOB_ROBOTICIST + "s." + allowed_roles = list(JOB_RESEARCH_DIRECTOR,JOB_ROBOTICIST) show_roles = FALSE path = /obj/item/clothing/under/rank/neo_robo sort_category = "Uniforms" diff --git a/code/modules/client/preference_setup/loadout/loadout_uniform.dm b/code/modules/client/preference_setup/loadout/loadout_uniform.dm index 5976fe86eae..c7803fc0e9e 100644 --- a/code/modules/client/preference_setup/loadout/loadout_uniform.dm +++ b/code/modules/client/preference_setup/loadout/loadout_uniform.dm @@ -152,14 +152,14 @@ path = /obj/item/clothing/under/scratch/skirt /datum/gear/uniform/suit/detectiveskirt - display_name = "suit, detective skirt (Detective)" + display_name = "suit, detective skirt (" + JOB_DETECTIVE + ")" path = /obj/item/clothing/under/det/skirt - allowed_roles = list("Detective") + allowed_roles = list(JOB_DETECTIVE) /datum/gear/uniform/suit/iaskirt display_name = "suit, Internal Affairs skirt (Internal Affairs)" path = /obj/item/clothing/under/rank/internalaffairs/skirt - allowed_roles = list("Internal Affairs Agent") + allowed_roles = list(JOB_INTERNAL_AFFAIRS_AGENT) /datum/gear/uniform/suit/bartenderskirt display_name = "suit, bartender skirt" @@ -635,3 +635,22 @@ "black tabard-dress"=/obj/item/clothing/under/dress/tabard/black ) gear_tweaks += list(new/datum/gear_tweak/path(tabarddress)) + +//bunny suits + +/datum/gear/uniform/bunnysuit + display_name = "bunny suit selection, colorable" + path = /obj/item/clothing/under/bunnysuit + +/datum/gear/uniform/bunnysuit/New() + ..() + var/list/bunnysuit = list( + "bunnysuit"=/obj/item/clothing/under/bunnysuit, + "maid bunnysuit"=/obj/item/clothing/under/bunnysuit_maid, + "reverse bunnysuit"=/obj/item/clothing/under/reverse_bunnysuit, + "maid reverse bunnysuit"=/obj/item/clothing/under/reverse_bunnysuit_maid, + "reverse bunnysuit, no legs"=/obj/item/clothing/under/reverse_bunnytop, + "maid reverse bunnysuit, no legs"=/obj/item/clothing/under/reverse_bunnytop_maid + ) + gear_tweaks += list(new/datum/gear_tweak/path(bunnysuit)) + gear_tweaks += gear_tweak_free_color_choice diff --git a/code/modules/client/preference_setup/loadout/loadout_uniform_vr.dm b/code/modules/client/preference_setup/loadout/loadout_uniform_vr.dm index 383ebf6c195..99349b9f734 100644 --- a/code/modules/client/preference_setup/loadout/loadout_uniform_vr.dm +++ b/code/modules/client/preference_setup/loadout/loadout_uniform_vr.dm @@ -15,26 +15,26 @@ /datum/gear/suit/job_fed/sec display_name = "fed uniform, sec" path = /obj/item/clothing/suit/storage/fluff/fedcoat - allowed_roles = list("Head of Security", "Warden", "Detective", "Security Officer","Blueshield Guard","Security Pilot") //YW ADDITIONS + allowed_roles = list(JOB_HEAD_OF_SECURITY, JOB_WARDEN, JOB_DETECTIVE, JOB_SECURITY_OFFICER,"Blueshield Guard","Security Pilot") //YW ADDITIONS /datum/gear/suit/job_fed/medsci display_name = "fed uniform, med/sci" path = /obj/item/clothing/suit/storage/fluff/fedcoat/fedblue - allowed_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Paramedic","Geneticist","Research Director","Scientist", "Roboticist", "Xenobiologist","Xenobotanist", "Field Medic") // YW EDIT Field medic + allowed_roles = list(JOB_CHIEF_MEDICAL_OFFICER,JOB_MEDICAL_DOCTOR,JOB_CHEMIST,JOB_PARAMEDIC,JOB_GENETICIST,JOB_RESEARCH_DIRECTOR,JOB_SCIENTIST, JOB_ROBOTICIST, JOB_XENOBIOLOGIST,JOB_XENOBOTANIST, "Field Medic") // YW EDIT Field medic /datum/gear/suit/job_fed/eng display_name = "fed uniform, eng" path = /obj/item/clothing/suit/storage/fluff/fedcoat/fedeng - allowed_roles = list("Chief Engineer","Atmospheric Technician","Engineer") + allowed_roles = list(JOB_CHIEF_ENGINEER,JOB_ATMOSPHERIC_TECHNICIAN,JOB_ENGINEER) //DS9 /datum/gear/suit/job_trek/ds9_coat display_name = "DS9 Overcoat (use uniform)" path = /obj/item/clothing/suit/storage/trek/ds9 - allowed_roles = list("Head of Security","Site Manager","Head of Personnel","Chief Engineer","Research Director", - "Chief Medical Officer","Medical Doctor","Chemist","Paramedic","Geneticist", - "Scientist","Roboticist","Xenobiologist","Xenobotanist","Atmospheric Technician", - "Engineer","Warden","Detective","Security Officer", "Pathfinder", "Explorer", "Field Medic", "Blueshield Guard","Security Pilot") //YW ADDITIONS, Blueshield, Sec pilot, Exploration + allowed_roles = list(JOB_HEAD_OF_SECURITY,JOB_SITE_MANAGER,JOB_HEAD_OF_PERSONNEL,JOB_CHIEF_ENGINEER,JOB_RESEARCH_DIRECTOR, + JOB_CHIEF_MEDICAL_OFFICER,JOB_MEDICAL_DOCTOR,JOB_CHEMIST,JOB_PARAMEDIC,JOB_GENETICIST, + JOB_SCIENTIST,JOB_ROBOTICIST,JOB_XENOBIOLOGIST,JOB_XENOBOTANIST,JOB_ATMOSPHERIC_TECHNICIAN, + JOB_ENGINEER,JOB_WARDEN,JOB_DETECTIVE,JOB_SECURITY_OFFICER, "Pathfinder", "Explorer", "Field Medic", "Blueshield Guard","Security Pilot") //YW ADDITIONS, Blueshield, Sec pilot, Exploration /* Swimsuits @@ -42,12 +42,12 @@ Swimsuits /datum/gear/uniform/swimsuits display_name = "swimsuits selection" - path = /obj/item/weapon/storage/box/fluff/swimsuit + path = /obj/item/storage/box/fluff/swimsuit /datum/gear/uniform/swimsuits/New() ..() var/list/swimsuits = list() - for(var/obj/item/weapon/storage/box/fluff/swimsuit/swimsuit_type as anything in typesof(/obj/item/weapon/storage/box/fluff/swimsuit)) + for(var/obj/item/storage/box/fluff/swimsuit/swimsuit_type as anything in typesof(/obj/item/storage/box/fluff/swimsuit)) swimsuits[initial(swimsuit_type.name)] = swimsuit_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(swimsuits)) @@ -185,7 +185,9 @@ Talon jumpsuit "high skirt"=/obj/item/clothing/under/skirt/colorable/high, "swept skirt"=/obj/item/clothing/under/skirt/colorable/swept, "jumper skirt"=/obj/item/clothing/under/skirt/colorable/jumper, - "jumper dress"=/obj/item/clothing/under/skirt/colorable/jumperdress + "jumper dress"=/obj/item/clothing/under/skirt/colorable/jumperdress, + "short skirt"=/obj/item/clothing/under/skirt/colorable/short, + "short skirt (split)"=/obj/item/clothing/under/skirt/colorable/short_split ) gear_tweaks += list(new/datum/gear_tweak/path(skirts), gear_tweak_free_color_choice) diff --git a/code/modules/client/preference_setup/loadout/loadout_utility.dm b/code/modules/client/preference_setup/loadout/loadout_utility.dm index 94238a1c1ab..73a145455fc 100644 --- a/code/modules/client/preference_setup/loadout/loadout_utility.dm +++ b/code/modules/client/preference_setup/loadout/loadout_utility.dm @@ -1,130 +1,130 @@ // "Useful" items - I'm guessing things that might be used at work? /datum/gear/utility display_name = "briefcase" - path = /obj/item/weapon/storage/briefcase + path = /obj/item/storage/briefcase sort_category = "Utility" /datum/gear/utility/clipboard display_name = "clipboard" - path = /obj/item/weapon/clipboard + path = /obj/item/clipboard /datum/gear/utility/tts_device display_name = "text to speech device" - path = /obj/item/device/text_to_speech + path = /obj/item/text_to_speech cost = 3 //Not extremely expensive, but it's useful for mute chracters. /datum/gear/utility/communicator display_name = "communicator selection" - path = /obj/item/device/communicator + path = /obj/item/communicator cost = 0 /datum/gear/utility/communicator/New() ..() var/list/communicators = list() - for(var/obj/item/device/communicator_type as anything in typesof(/obj/item/device/communicator) - list(/obj/item/device/communicator/integrated,/obj/item/device/communicator/commlink)) //VOREStation Edit - Remove Commlink + for(var/obj/item/communicator_type as anything in typesof(/obj/item/communicator) - list(/obj/item/communicator/integrated,/obj/item/communicator/commlink)) //VOREStation Edit - Remove Commlink communicators[initial(communicator_type.name)] = communicator_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(communicators)) /datum/gear/utility/camera display_name = "camera" - path = /obj/item/device/camera + path = /obj/item/camera /datum/gear/utility/codex display_name = "the traveler's guide to borealis" //YW Edit - path = /obj/item/weapon/book/codex //VOREStation Edit + path = /obj/item/book/codex //VOREStation Edit cost = 0 /datum/gear/utility/news display_name = "daedalus pocket newscaster" - path = /obj/item/weapon/book/codex/lore/news + path = /obj/item/book/codex/lore/news cost = 0 /* //VORESTATION REMOVAL /datum/gear/utility/corp_regs display_name = "corporate regulations and legal code" - path = /obj/item/weapon/book/codex/corp_regs + path = /obj/item/book/codex/corp_regs cost = 0 */ /datum/gear/utility/robutt display_name = "a buyer's guide to artificial bodies" - path = /obj/item/weapon/book/codex/lore/robutt + path = /obj/item/book/codex/lore/robutt cost = 0 /datum/gear/utility/folder_blue display_name = "folder, blue" - path = /obj/item/weapon/folder/blue + path = /obj/item/folder/blue /datum/gear/utility/folder_grey display_name = "folder, grey" - path = /obj/item/weapon/folder + path = /obj/item/folder /datum/gear/utility/folder_red display_name = "folder, red" - path = /obj/item/weapon/folder/red + path = /obj/item/folder/red /datum/gear/utility/folder_white display_name = "folder, white" - path = /obj/item/weapon/folder/white + path = /obj/item/folder/white /datum/gear/utility/folder_yellow display_name = "folder, yellow" - path = /obj/item/weapon/folder/yellow + path = /obj/item/folder/yellow /datum/gear/utility/paicard display_name = "personal AI device (classic)" - path = /obj/item/device/paicard + path = /obj/item/paicard /datum/gear/utility/paicard_b display_name = "personal AI device (new)" - path = /obj/item/device/paicard/typeb + path = /obj/item/paicard/typeb /datum/gear/utility/securecase display_name = "secure briefcase" - path =/obj/item/weapon/storage/secure/briefcase + path =/obj/item/storage/secure/briefcase cost = 2 /datum/gear/utility/laserpointer display_name = "laser pointer" - path =/obj/item/device/laser_pointer + path =/obj/item/laser_pointer cost = 2 /datum/gear/utility/flashlight display_name = "flashlight" - path = /obj/item/device/flashlight + path = /obj/item/flashlight /datum/gear/utility/maglight display_name = "flashlight, maglight" - path = /obj/item/device/flashlight/maglight + path = /obj/item/flashlight/maglight cost = 2 /datum/gear/utility/flashlight/color display_name = "flashlight, small (selection)" - path = /obj/item/device/flashlight/color + path = /obj/item/flashlight/color /datum/gear/utility/flashlight/color/New() ..() var/list/flashlights = list( - "Blue Flashlight" = /obj/item/device/flashlight/color, - "Red Flashlight" = /obj/item/device/flashlight/color/red, - "Green Flashlight" = /obj/item/device/flashlight/color/green, - "Yellow Flashlight" = /obj/item/device/flashlight/color/yellow, - "Purple Flashlight" = /obj/item/device/flashlight/color/purple, - "Orange Flashlight" = /obj/item/device/flashlight/color/orange + "Blue Flashlight" = /obj/item/flashlight/color, + "Red Flashlight" = /obj/item/flashlight/color/red, + "Green Flashlight" = /obj/item/flashlight/color/green, + "Yellow Flashlight" = /obj/item/flashlight/color/yellow, + "Purple Flashlight" = /obj/item/flashlight/color/purple, + "Orange Flashlight" = /obj/item/flashlight/color/orange ) gear_tweaks += new/datum/gear_tweak/path(flashlights) /datum/gear/utility/battery display_name = "cell, device" - path = /obj/item/weapon/cell/device + path = /obj/item/cell/device /datum/gear/utility/pen display_name = "fountain pen" - path = /obj/item/weapon/pen/fountain + path = /obj/item/pen/fountain /datum/gear/utility/umbrella display_name = "umbrella" - path = /obj/item/weapon/melee/umbrella + path = /obj/item/melee/umbrella cost = 3 /datum/gear/utility/umbrella/New() @@ -147,7 +147,7 @@ /datum/gear/utility/lantern display_name = "lantern" - path = /obj/item/device/flashlight/lantern + path = /obj/item/flashlight/lantern cost = 2 /**************** @@ -194,3 +194,39 @@ modular computers /datum/gear/utility/customlaptop/New() ..() gear_tweaks += new /datum/gear_tweak/laptop() + +//////////Language Translators + +/datum/gear/utility/translator + display_name = "handheld translator (selection)" + path = /obj/item/universal_translator/limited + cost = 4 + +/datum/gear/utility/translator/New() + ..() + var/list/translators = list( + "galcom" = /obj/item/universal_translator/limited, + "solcom" = /obj/item/universal_translator/limited/sol, + "terminus" = /obj/item/universal_translator/limited/terminus, + "tradeband" = /obj/item/universal_translator/limited/tradeband, + "gutterband" = /obj/item/universal_translator/limited/gutterband, + "skrellian" = /obj/item/universal_translator/limited/skrellian, + "sinta'unathi" = /obj/item/universal_translator/limited/unathi, + "siik" = /obj/item/universal_translator/limited/siik, + "schechi" = /obj/item/universal_translator/limited/schechi, + "vedaqh" = /obj/item/universal_translator/limited/vedaqh, + "birdsong" = /obj/item/universal_translator/limited/birdsong, + "sagaru" = /obj/item/universal_translator/limited/sagaru, + "canilunzt" = /obj/item/universal_translator/limited/canilunzt, + "ecureuilian" = /obj/item/universal_translator/limited/ecureuilian, + "daemon" = /obj/item/universal_translator/limited/daemon, + "enochian" = /obj/item/universal_translator/limited/enochian, + "vespinae" = /obj/item/universal_translator/limited/vespinae, + "d'rudak'ar" = /obj/item/universal_translator/limited/dragon, + "spacer" = /obj/item/universal_translator/limited/spacer, + "tavan" = /obj/item/universal_translator/limited/tavan, + "echo song" = /obj/item/universal_translator/limited/echosong, + "akhani" = /obj/item/universal_translator/limited/akhani, + "alai" = /obj/item/universal_translator/limited/alai + ) + gear_tweaks += new/datum/gear_tweak/path(translators) diff --git a/code/modules/client/preference_setup/loadout/loadout_utility_vr.dm b/code/modules/client/preference_setup/loadout/loadout_utility_vr.dm index b5974166900..f57cda348fc 100644 --- a/code/modules/client/preference_setup/loadout/loadout_utility_vr.dm +++ b/code/modules/client/preference_setup/loadout/loadout_utility_vr.dm @@ -1,72 +1,72 @@ /datum/gear/utility/saddlebag display_name = "saddle bag, horse" - path = /obj/item/weapon/storage/backpack/saddlebag + path = /obj/item/storage/backpack/saddlebag slot = slot_back cost = 2 /datum/gear/utility/saddlebag_common display_name = "saddle bag, common" - path = /obj/item/weapon/storage/backpack/saddlebag_common + path = /obj/item/storage/backpack/saddlebag_common slot = slot_back cost = 2 /datum/gear/utility/saddlebag_common/robust display_name = "saddle bag, robust" - path = /obj/item/weapon/storage/backpack/saddlebag_common/robust + path = /obj/item/storage/backpack/saddlebag_common/robust slot = slot_back cost = 2 /datum/gear/utility/saddlebag_common/vest display_name = "taur duty vest (backpack)" - path = /obj/item/weapon/storage/backpack/saddlebag_common/vest + path = /obj/item/storage/backpack/saddlebag_common/vest slot = slot_back cost = 1 /datum/gear/utility/dufflebag display_name = "dufflebag" - path = /obj/item/weapon/storage/backpack/dufflebag + path = /obj/item/storage/backpack/dufflebag slot = slot_back cost = 2 /datum/gear/utility/dufflebag/black display_name = "black dufflebag" - path = /obj/item/weapon/storage/backpack/dufflebag/fluff + path = /obj/item/storage/backpack/dufflebag/fluff /datum/gear/utility/dufflebag/med display_name = "medical dufflebag" - path = /obj/item/weapon/storage/backpack/dufflebag/med - allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist","Psychiatrist", "Field Medic") // YW EDIT Field medic + path = /obj/item/storage/backpack/dufflebag/med + allowed_roles = list(JOB_MEDICAL_DOCTOR,JOB_CHIEF_MEDICAL_OFFICER,JOB_CHEMIST,JOB_PARAMEDIC,JOB_GENETICIST,JOB_PSYCHIATRIST, "Field Medic") // YW EDIT Field medic /datum/gear/utility/dufflebag/med/emt display_name = "EMT dufflebag" - path = /obj/item/weapon/storage/backpack/dufflebag/emt + path = /obj/item/storage/backpack/dufflebag/emt /datum/gear/utility/dufflebag/sec - display_name = "security Dufflebag" - path = /obj/item/weapon/storage/backpack/dufflebag/sec - allowed_roles = list("Head of Security","Warden","Detective","Security Officer","Blueshield Guard","Security Pilot")//YW ADDITIONS + display_name = "security Dufflebag" + allowed_roles = list(JOB_HEAD_OF_SECURITY,JOB_WARDEN,JOB_DETECTIVE,JOB_SECURITY_OFFICER,"Blueshield Guard","Security Pilot")//YW ADDITIONS + path = /obj/item/storage/backpack/dufflebag/sec /datum/gear/utility/dufflebag/eng display_name = "engineering dufflebag" - path = /obj/item/weapon/storage/backpack/dufflebag/eng - allowed_roles = list("Chief Engineer","Atmospheric Technician","Engineer") + allowed_roles = list(JOB_CHIEF_ENGINEER,JOB_ATMOSPHERIC_TECHNICIAN,JOB_ENGINEER) + path = /obj/item/storage/backpack/dufflebag/eng /datum/gear/utility/dufflebag/sci display_name = "science dufflebag" - path = /obj/item/weapon/storage/backpack/dufflebag/sci - allowed_roles = list("Research Director","Scientist","Roboticist","Xenobiologist","Xenobotanist") + allowed_roles = list(JOB_RESEARCH_DIRECTOR,JOB_SCIENTIST,JOB_ROBOTICIST,JOB_XENOBIOLOGIST,JOB_XENOBOTANIST) + path = /obj/item/storage/backpack/dufflebag/sci /datum/gear/utility/dufflebag/explorer display_name = "explorer dufflebag" // YW EDIT - path = /obj/item/weapon/storage/backpack/dufflebag/explorer + path = /obj/item/storage/backpack/dufflebag/explorer /datum/gear/utility/dufflebag/talon display_name = "Talon dufflebag" - path = /obj/item/weapon/storage/backpack/dufflebag/explorer + path = /obj/item/storage/backpack/dufflebag/explorer /datum/gear/utility/ID display_name = "contractor identification card" - path = /obj/item/weapon/card/id/event/polymorphic/altcard + path = /obj/item/card/id/event/polymorphic/altcard cost = 1 /datum/gear/utility/bs_bracelet @@ -76,5 +76,5 @@ /datum/gear/utility/walkpod display_name = "podzu music player" - path = /obj/item/device/walkpod + path = /obj/item/walkpod cost = 2 diff --git a/code/modules/client/preference_setup/loadout/loadout_xeno.dm b/code/modules/client/preference_setup/loadout/loadout_xeno.dm index d0b1a2cef64..e31233d0487 100644 --- a/code/modules/client/preference_setup/loadout/loadout_xeno.dm +++ b/code/modules/client/preference_setup/loadout/loadout_xeno.dm @@ -169,107 +169,107 @@ /datum/gear/uniform/dept/undercoat/cap display_name = "site manager undercoat (Teshari)" path = /obj/item/clothing/under/teshari/undercoat/jobs/cap - allowed_roles = list("Site Manager") + allowed_roles = list(JOB_SITE_MANAGER) /datum/gear/uniform/dept/undercoat/hop display_name = "head of personnel undercoat (Teshari)" path = /obj/item/clothing/under/teshari/undercoat/jobs/hop - allowed_roles = list("Head of Personnel") + allowed_roles = list(JOB_HEAD_OF_PERSONNEL) /datum/gear/uniform/dept/undercoat/rd display_name = "research director undercoat (Teshari)" path = /obj/item/clothing/under/teshari/undercoat/jobs/rd - allowed_roles = list("Research Director") + allowed_roles = list(JOB_RESEARCH_DIRECTOR) /datum/gear/uniform/dept/undercoat/hos display_name = "head of security undercoat (Teshari)" path = /obj/item/clothing/under/teshari/undercoat/jobs/hos - allowed_roles = list("Head of Security") + allowed_roles = list(JOB_HEAD_OF_SECURITY) /datum/gear/uniform/dept/undercoat/ce display_name = "chief engineer undercoat (Teshari)" path = /obj/item/clothing/under/teshari/undercoat/jobs/ce - allowed_roles = list("Chief Engineer") + allowed_roles = list(JOB_CHIEF_ENGINEER) /datum/gear/uniform/dept/undercoat/cmo display_name = "chief medical officer undercoat (Teshari)" path = /obj/item/clothing/under/teshari/undercoat/jobs/cmo - allowed_roles = list("Chief Medical Officer") + allowed_roles = list(JOB_CHIEF_MEDICAL_OFFICER) /datum/gear/uniform/dept/undercoat/qm display_name = "quartermaster undercoat (Teshari)" path = /obj/item/clothing/under/teshari/undercoat/jobs/qm - allowed_roles = list("Quartermaster") + allowed_roles = list(JOB_QUARTERMASTER) /datum/gear/uniform/dept/undercoat/cargo display_name = "cargo undercoat (Teshari)" path = /obj/item/clothing/under/teshari/undercoat/jobs/cargo - allowed_roles = list("Cargo Technician","Quartermaster","Shaft Miner") + allowed_roles = list(JOB_CARGO_TECHNICIAN,JOB_QUARTERMASTER,JOB_SHAFT_MINER) /datum/gear/uniform/dept/undercoat/mining display_name = "mining undercoat (Teshari)" path = /obj/item/clothing/under/teshari/undercoat/jobs/mining - allowed_roles = list("Quartermaster","Shaft Miner") + allowed_roles = list(JOB_QUARTERMASTER,JOB_SHAFT_MINER) /datum/gear/uniform/dept/undercoat/security display_name = "security undercoat (Teshari)" path = /obj/item/clothing/under/teshari/undercoat/jobs/sec - allowed_roles = list("Head of Security","Detective","Warden","Security Officer","Security Pilot")//YW ADDITIONS + allowed_roles = list(JOB_HEAD_OF_SECURITY,JOB_DETECTIVE,JOB_WARDEN,JOB_SECURITY_OFFICER,"Security Pilot")//YW ADDITIONS /datum/gear/uniform/dept/undercoat/service display_name = "service undercoat (Teshari)" path = /obj/item/clothing/under/teshari/undercoat/jobs/service - allowed_roles = list("Head of Personnel","Bartender","Botanist","Janitor","Chef","Librarian","Chaplain") + allowed_roles = list(JOB_HEAD_OF_PERSONNEL,JOB_BARTENDER,JOB_BOTANIST,JOB_JANITOR,JOB_CHEF,JOB_LIBRARIAN,JOB_CHAPLAIN) /datum/gear/uniform/dept/undercoat/engineer display_name = "engineering undercoat (Teshari)" path = /obj/item/clothing/under/teshari/undercoat/jobs/engineer - allowed_roles = list("Chief Engineer","Engineer") + allowed_roles = list(JOB_CHIEF_ENGINEER,JOB_ENGINEER) /datum/gear/uniform/dept/undercoat/atmos display_name = "atmospherics undercoat (Teshari)" path = /obj/item/clothing/under/teshari/undercoat/jobs/atmos - allowed_roles = list("Chief Engineer","Atmospheric Technician") + allowed_roles = list(JOB_CHIEF_ENGINEER,JOB_ATMOSPHERIC_TECHNICIAN) /datum/gear/uniform/dept/undercoat/research display_name = "scientist undercoat (Teshari)" path = /obj/item/clothing/under/teshari/undercoat/jobs/sci - allowed_roles = list("Research Director","Scientist", "Roboticist", "Xenobiologist") + allowed_roles = list(JOB_RESEARCH_DIRECTOR,JOB_SCIENTIST, JOB_ROBOTICIST, JOB_XENOBIOLOGIST) /datum/gear/uniform/dept/undercoat/robo display_name = "roboticist undercoat (Teshari)" path = /obj/item/clothing/under/teshari/undercoat/jobs/robo - allowed_roles = list("Research Director","Roboticist") + allowed_roles = list(JOB_RESEARCH_DIRECTOR,JOB_ROBOTICIST) /datum/gear/uniform/dept/undercoat/medical display_name = "medical undercoat (Teshari)" path = /obj/item/clothing/under/teshari/undercoat/jobs/medical - allowed_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Paramedic","Geneticist","Psychiatrist") + allowed_roles = list(JOB_CHIEF_MEDICAL_OFFICER,JOB_MEDICAL_DOCTOR,JOB_CHEMIST,JOB_PARAMEDIC,JOB_GENETICIST,JOB_PSYCHIATRIST) /datum/gear/uniform/dept/undercoat/chemistry display_name = "chemist undercoat (Teshari)" path = /obj/item/clothing/under/teshari/undercoat/jobs/chemistry - allowed_roles = list("Chief Medical Officer","Chemist") + allowed_roles = list(JOB_CHIEF_MEDICAL_OFFICER,JOB_CHEMIST) /datum/gear/uniform/dept/undercoat/virology display_name = "virologist undercoat (Teshari)" path = /obj/item/clothing/under/teshari/undercoat/jobs/viro - allowed_roles = list("Chief Medical Officer","Medical Doctor") + allowed_roles = list(JOB_CHIEF_MEDICAL_OFFICER,JOB_MEDICAL_DOCTOR) /datum/gear/uniform/dept/undercoat/psych display_name = "psychiatrist undercoat (Teshari)" path = /obj/item/clothing/under/teshari/undercoat/jobs/psych - allowed_roles = list("Chief Medical Officer","Psychiatrist") + allowed_roles = list(JOB_CHIEF_MEDICAL_OFFICER,JOB_PSYCHIATRIST) /datum/gear/uniform/dept/undercoat/paramedic display_name = "paramedic undercoat (Teshari)" path = /obj/item/clothing/under/teshari/undercoat/jobs/para - allowed_roles = list("Chief Medical Officer","Paramedic") + allowed_roles = list(JOB_CHIEF_MEDICAL_OFFICER,JOB_PARAMEDIC) /datum/gear/uniform/dept/undercoat/iaa display_name = "internal affairs undercoat (Teshari)" path = /obj/item/clothing/under/teshari/undercoat/jobs/iaa - allowed_roles = list("Internal Affairs Agent") + allowed_roles = list(JOB_INTERNAL_AFFAIRS_AGENT) /datum/gear/suit/dept/cloak whitelisted = SPECIES_TESHARI @@ -278,22 +278,22 @@ /datum/gear/suit/dept/cloak/cap display_name = "site manager cloak (Teshari)" path = /obj/item/clothing/suit/storage/teshari/cloak/jobs - allowed_roles = list("Site Manager") + allowed_roles = list(JOB_SITE_MANAGER) /datum/gear/suit/dept/cloak/hop display_name = "head of personnel cloak (Teshari)" path = /obj/item/clothing/suit/storage/teshari/cloak/jobs/hop - allowed_roles = list("Head of Personnel") + allowed_roles = list(JOB_HEAD_OF_PERSONNEL) /datum/gear/suit/dept/cloak/rd display_name = "research director cloak (Teshari)" path = /obj/item/clothing/suit/storage/teshari/cloak/jobs/rd - allowed_roles = list("Research Director") + allowed_roles = list(JOB_RESEARCH_DIRECTOR) /datum/gear/suit/dept/cloak/hos display_name = "head of security cloak (Teshari)" path = /obj/item/clothing/suit/storage/teshari/cloak/jobs/hos - allowed_roles = list("Head of Security") + allowed_roles = list(JOB_HEAD_OF_SECURITY) /datum/gear/suit/dept/cloak/hos/New() ..() @@ -306,7 +306,7 @@ /datum/gear/suit/cloak/dept/ce display_name = "chief engineer cloak (Teshari)" path = /obj/item/clothing/suit/storage/teshari/cloak/jobs/ce - allowed_roles = list("Chief Engineer") + allowed_roles = list(JOB_CHIEF_ENGINEER) /datum/gear/suit/dept/cloak/ce/New() ..() @@ -319,7 +319,7 @@ /datum/gear/suit/dept/cloak/cmo display_name = "chief medical officer cloak (Teshari)" path = /obj/item/clothing/suit/storage/teshari/cloak/jobs/cmo - allowed_roles = list("Chief Medical Officer") + allowed_roles = list(JOB_CHIEF_MEDICAL_OFFICER) /datum/gear/suit/dept/cloak/cmo/New() ..() @@ -332,7 +332,7 @@ /datum/gear/suit/dept/cloak/qm display_name = "quartermaster cloak (Teshari)" path = /obj/item/clothing/suit/storage/teshari/cloak/jobs/qm - allowed_roles = list("Chief Medical Officer") + allowed_roles = list(JOB_CHIEF_MEDICAL_OFFICER) /datum/gear/suit/dept/cloak/qm/New() ..() @@ -345,7 +345,7 @@ /datum/gear/suit/dept/cloak/cargo display_name = "cargo cloak (Teshari)" path = /obj/item/clothing/suit/storage/teshari/cloak/jobs/cargo - allowed_roles = list("Quartermaster","Shaft Miner","Cargo Technician") + allowed_roles = list(JOB_QUARTERMASTER,JOB_SHAFT_MINER,JOB_CARGO_TECHNICIAN) /datum/gear/suit/dept/cloak/cargo/New() ..() @@ -358,7 +358,7 @@ /datum/gear/suit/dept/cloak/mining display_name = "mining cloak (Teshari)" path = /obj/item/clothing/suit/storage/teshari/cloak/jobs/mining - allowed_roles = list("Quartermaster","Shaft Miner") + allowed_roles = list(JOB_QUARTERMASTER,JOB_SHAFT_MINER) /datum/gear/suit/dept/cloak/mining/New() ..() @@ -371,7 +371,7 @@ /datum/gear/suit/dept/cloak/security display_name = "security cloak (Teshari)" path = /obj/item/clothing/suit/storage/teshari/cloak/jobs/sec - allowed_roles = list("Head of Security","Detective","Warden","Security Officer","Security Pilot")//YW ADDITIONS + allowed_roles = list(JOB_HEAD_OF_SECURITY,JOB_DETECTIVE,JOB_WARDEN,JOB_SECURITY_OFFICER,"Security Pilot")//YW ADDITIONS) /datum/gear/suit/dept/cloak/security/New() ..() @@ -384,7 +384,7 @@ /datum/gear/suit/dept/cloak/service display_name = "service cloak (Teshari)" path = /obj/item/clothing/suit/storage/teshari/cloak/jobs/service - allowed_roles = list("Head of Personnel","Bartender","Botanist","Janitor","Chef","Librarian","Chaplain") + allowed_roles = list(JOB_HEAD_OF_PERSONNEL,JOB_BARTENDER,JOB_BOTANIST,JOB_JANITOR,JOB_CHEF,JOB_LIBRARIAN,JOB_CHAPLAIN) /datum/gear/suit/dept/cloak/service/New() ..() @@ -397,7 +397,7 @@ /datum/gear/suit/dept/cloak/engineer display_name = "engineering cloak (Teshari)" path = /obj/item/clothing/suit/storage/teshari/cloak/jobs/engineer - allowed_roles = list("Chief Engineer","Engineer") + allowed_roles = list(JOB_CHIEF_ENGINEER,JOB_ENGINEER) /datum/gear/suit/dept/cloak/engineer/New() ..() @@ -410,7 +410,7 @@ /datum/gear/suit/dept/cloak/atmos display_name = "atmospherics cloak (Teshari)" path = /obj/item/clothing/suit/storage/teshari/cloak/jobs/atmos - allowed_roles = list("Chief Engineer","Atmospheric Technician") + allowed_roles = list(JOB_CHIEF_ENGINEER,JOB_ATMOSPHERIC_TECHNICIAN) /datum/gear/suit/dept/cloak/atmos/New() ..() @@ -423,7 +423,7 @@ /datum/gear/suit/dept/cloak/research display_name = "scientist cloak (Teshari)" path = /obj/item/clothing/suit/storage/teshari/cloak/jobs/sci - allowed_roles = list("Research Director","Scientist","Roboticist","Xenobiologist") + allowed_roles = list(JOB_RESEARCH_DIRECTOR,JOB_SCIENTIST,JOB_ROBOTICIST,JOB_XENOBIOLOGIST) /datum/gear/suit/dept/cloak/research/New() ..() @@ -436,7 +436,7 @@ /datum/gear/suit/dept/cloak/robo display_name = "roboticist cloak (Teshari)" path = /obj/item/clothing/suit/storage/teshari/cloak/jobs/robo - allowed_roles = list("Research Director","Roboticist") + allowed_roles = list(JOB_RESEARCH_DIRECTOR,JOB_ROBOTICIST) /datum/gear/suit/dept/cloak/robo/New() ..() @@ -449,7 +449,7 @@ /datum/gear/suit/dept/cloak/medical display_name = "medical cloak (Teshari)" path = /obj/item/clothing/suit/storage/teshari/cloak/jobs/medical - allowed_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Paramedic","Geneticist", "Psychiatrist") + allowed_roles = list(JOB_CHIEF_MEDICAL_OFFICER,JOB_MEDICAL_DOCTOR,JOB_CHEMIST,JOB_PARAMEDIC,JOB_GENETICIST, JOB_PSYCHIATRIST) /datum/gear/suit/dept/cloak/medical/New() ..() @@ -462,7 +462,7 @@ /datum/gear/suit/dept/cloak/chemistry display_name = "chemist cloak (Teshari)" path = /obj/item/clothing/suit/storage/teshari/cloak/jobs/chemistry - allowed_roles = list("Chemist") + allowed_roles = list(JOB_CHEMIST) /datum/gear/suit/dept/cloak/chemistry/New() ..() @@ -475,7 +475,7 @@ /datum/gear/suit/dept/cloak/virology display_name = "virologist cloak (Teshari)" path = /obj/item/clothing/suit/storage/teshari/cloak/jobs/viro - allowed_roles = list("Medical Doctor") + allowed_roles = list(JOB_MEDICAL_DOCTOR) /datum/gear/suit/dept/cloak/virology/New() ..() @@ -488,12 +488,12 @@ /datum/gear/suit/dept/cloak/psych display_name = "psychiatrist cloak (Teshari)" path = /obj/item/clothing/suit/storage/teshari/cloak/jobs/psych - allowed_roles = list("Chief Medical Officer","Psychiatrist") + allowed_roles = list(JOB_CHIEF_MEDICAL_OFFICER,JOB_PSYCHIATRIST) /datum/gear/suit/dept/cloak/paramedic display_name = "paramedic cloak (Teshari)" path = /obj/item/clothing/suit/storage/teshari/cloak/jobs/para - allowed_roles = list("Chief Medical Officer","Paramedic") + allowed_roles = list(JOB_CHIEF_MEDICAL_OFFICER,JOB_PARAMEDIC) /datum/gear/suit/dept/cloak/paramedic/New() ..() @@ -506,7 +506,7 @@ /datum/gear/suit/dept/cloak/iaa display_name = "internal affairs cloak (Teshari)" path = /obj/item/clothing/suit/storage/teshari/cloak/jobs/iaa - allowed_roles = list("Internal Affairs Agent") + allowed_roles = list(JOB_INTERNAL_AFFAIRS_AGENT) /datum/gear/suit/dept/cloak/iaa/New() ..() @@ -553,19 +553,19 @@ /datum/gear/suit/dept/beltcloak/wrdn display_name = "warden belted cloak (Teshari)" path = /obj/item/clothing/suit/storage/teshari/beltcloak/jobs/wrdn - allowed_roles = list("Head of Security","Warden") + allowed_roles = list(JOB_HEAD_OF_SECURITY,JOB_WARDEN) sort_category = "Xenowear" /datum/gear/suit/dept/beltcloak/jani display_name = "janitor belted cloak (Teshari)" path = /obj/item/clothing/suit/storage/teshari/beltcloak/jobs/jani - allowed_roles = list("Janitor") + allowed_roles = list(JOB_JANITOR) sort_category = "Xenowear" /datum/gear/suit/dept/beltcloak/cmd display_name = "command belted cloak (Teshari)" path = /obj/item/clothing/suit/storage/teshari/beltcloak/jobs/command - allowed_roles = list("Site Manager","Head of Personnel","Head of Security","Chief Engineer","Chief Medical Officer","Research Director") + allowed_roles = list(JOB_SITE_MANAGER,JOB_HEAD_OF_PERSONNEL,JOB_HEAD_OF_SECURITY,JOB_CHIEF_ENGINEER,JOB_CHIEF_MEDICAL_OFFICER,JOB_RESEARCH_DIRECTOR) sort_category = "Xenowear" /datum/gear/suit/cloak_hood diff --git a/code/modules/client/preference_setup/loadout/loadout_xeno_vr.dm b/code/modules/client/preference_setup/loadout/loadout_xeno_vr.dm index 7e302bbf4ff..3fdf1ec61fb 100644 --- a/code/modules/client/preference_setup/loadout/loadout_xeno_vr.dm +++ b/code/modules/client/preference_setup/loadout/loadout_xeno_vr.dm @@ -2,10 +2,10 @@ ///// /datum/gear/suit/dept/cloak/research - allowed_roles = list("Research Director","Scientist", "Roboticist", "Xenobiologist", "Xenobotanist") + allowed_roles = list(JOB_RESEARCH_DIRECTOR,JOB_SCIENTIST, JOB_ROBOTICIST, JOB_XENOBIOLOGIST, JOB_XENOBOTANIST) /datum/gear/uniform/dept/undercoat/research - allowed_roles = list("Research Director","Scientist", "Roboticist", "Xenobiologist", "Xenobotanist") + allowed_roles = list(JOB_RESEARCH_DIRECTOR,JOB_SCIENTIST, JOB_ROBOTICIST, JOB_XENOBIOLOGIST, JOB_XENOBOTANIST) ///// @@ -126,7 +126,7 @@ description = "A comfortable official suit for altevian command officers." display_name = "altevian officer's suit selection, site manager" whitelisted = SPECIES_ALTEVIAN - allowed_roles = list("Site Manager") + allowed_roles = list(JOB_SITE_MANAGER) sort_category = "Xenowear" /datum/gear/suit/altevian_officer_suit/New() diff --git a/code/modules/client/preference_setup/occupation/occupation.dm b/code/modules/client/preference_setup/occupation/occupation.dm index 9ce7f08026c..08befbebe71 100644 --- a/code/modules/client/preference_setup/occupation/occupation.dm +++ b/code/modules/client/preference_setup/occupation/occupation.dm @@ -2,41 +2,41 @@ name = "Occupation" sort_order = 1 -/datum/category_item/player_setup_item/occupation/load_character(var/savefile/S) - S["alternate_option"] >> pref.alternate_option - S["job_civilian_high"] >> pref.job_civilian_high - S["job_civilian_med"] >> pref.job_civilian_med - S["job_civilian_low"] >> pref.job_civilian_low - S["job_medsci_high"] >> pref.job_medsci_high - S["job_medsci_med"] >> pref.job_medsci_med - S["job_medsci_low"] >> pref.job_medsci_low - S["job_engsec_high"] >> pref.job_engsec_high - S["job_engsec_med"] >> pref.job_engsec_med - S["job_engsec_low"] >> pref.job_engsec_low +/datum/category_item/player_setup_item/occupation/load_character(list/save_data) + pref.alternate_option = save_data["alternate_option"] + pref.job_civilian_high = save_data["job_civilian_high"] + pref.job_civilian_med = save_data["job_civilian_med"] + pref.job_civilian_low = save_data["job_civilian_low"] + pref.job_medsci_high = save_data["job_medsci_high"] + pref.job_medsci_med = save_data["job_medsci_med"] + pref.job_medsci_low = save_data["job_medsci_low"] + pref.job_engsec_high = save_data["job_engsec_high"] + pref.job_engsec_med = save_data["job_engsec_med"] + pref.job_engsec_low = save_data["job_engsec_low"] //VOREStation Add - S["job_talon_low"] >> pref.job_talon_low - S["job_talon_med"] >> pref.job_talon_med - S["job_talon_high"] >> pref.job_talon_high + pref.job_talon_low = save_data["job_talon_low"] + pref.job_talon_med = save_data["job_talon_med"] + pref.job_talon_high = save_data["job_talon_high"] //VOREStation Add End - S["player_alt_titles"] >> pref.player_alt_titles - -/datum/category_item/player_setup_item/occupation/save_character(var/savefile/S) - S["alternate_option"] << pref.alternate_option - S["job_civilian_high"] << pref.job_civilian_high - S["job_civilian_med"] << pref.job_civilian_med - S["job_civilian_low"] << pref.job_civilian_low - S["job_medsci_high"] << pref.job_medsci_high - S["job_medsci_med"] << pref.job_medsci_med - S["job_medsci_low"] << pref.job_medsci_low - S["job_engsec_high"] << pref.job_engsec_high - S["job_engsec_med"] << pref.job_engsec_med - S["job_engsec_low"] << pref.job_engsec_low + pref.player_alt_titles = check_list_copy(save_data["player_alt_titles"]) + +/datum/category_item/player_setup_item/occupation/save_character(list/save_data) + save_data["alternate_option"] = pref.alternate_option + save_data["job_civilian_high"] = pref.job_civilian_high + save_data["job_civilian_med"] = pref.job_civilian_med + save_data["job_civilian_low"] = pref.job_civilian_low + save_data["job_medsci_high"] = pref.job_medsci_high + save_data["job_medsci_med"] = pref.job_medsci_med + save_data["job_medsci_low"] = pref.job_medsci_low + save_data["job_engsec_high"] = pref.job_engsec_high + save_data["job_engsec_med"] = pref.job_engsec_med + save_data["job_engsec_low"] = pref.job_engsec_low //VOREStation Add - S["job_talon_low"] << pref.job_talon_low - S["job_talon_med"] << pref.job_talon_med - S["job_talon_high"] << pref.job_talon_high + save_data["job_talon_low"] = pref.job_talon_low + save_data["job_talon_med"] = pref.job_talon_med + save_data["job_talon_high"] = pref.job_talon_high //VOREStation Add End - S["player_alt_titles"] << pref.player_alt_titles + save_data["player_alt_titles"] = check_list_copy(pref.player_alt_titles) /datum/category_item/player_setup_item/occupation/sanitize_character() pref.alternate_option = sanitize_integer(pref.alternate_option, 0, 2, initial(pref.alternate_option)) @@ -70,7 +70,7 @@ . = list() . += "
    " - . += "Choose occupation chances
    Unavailable occupations are crossed out.
    " + . += span_bold("Choose occupation chances") + "
    Unavailable occupations are crossed out.
    " . += "" . += "" - return "" - -/datum/category_item/player_setup_item/skills/OnTopic(href, href_list, user) - if(href_list["skillinfo"]) - var/datum/skill/S = locate(href_list["skillinfo"]) - var/HTML = "[S.name]
    [S.desc]" - user << browse(HTML, "window=\ref[user]skillinfo") - return TOPIC_HANDLED - - else if(href_list["setskill"]) - var/datum/skill/S = locate(href_list["setskill"]) - var/value = text2num(href_list["newvalue"]) - pref.skills[S.ID] = value - pref.CalculateSkillPoints() - return TOPIC_REFRESH - - else if(href_list["preconfigured"]) - var/selected = tgui_input_list(user, "Select a skillset", "Skillset", SKILL_PRE) - if(!selected || !CanUseTopic(user)) return - - pref.ZeroSkills(1) - for(var/V in SKILL_PRE[selected]) - if(V == "field") - pref.skill_specialization = SKILL_PRE[selected]["field"] - continue - pref.skills[V] = SKILL_PRE[selected][V] - pref.CalculateSkillPoints() - - return TOPIC_REFRESH - - else if(href_list["setspecialization"]) - pref.skill_specialization = href_list["setspecialization"] - pref.CalculateSkillPoints() - return TOPIC_REFRESH - - return ..() diff --git a/code/modules/client/preference_setup/traits/traits.dm b/code/modules/client/preference_setup/traits/traits.dm index 4102a04f74e..f51459de337 100644 --- a/code/modules/client/preference_setup/traits/traits.dm +++ b/code/modules/client/preference_setup/traits/traits.dm @@ -35,11 +35,11 @@ var/list/trait_categories = list() // The categories available for the trait men sort_order = 1 var/current_tab = "Physical" -/datum/category_item/player_setup_item/traits/load_character(var/savefile/S) - S["traits"] >> pref.traits +/datum/category_item/player_setup_item/traits/load_character(list/save_data) + pref.traits = save_data["traits"] -/datum/category_item/player_setup_item/traits/save_character(var/savefile/S) - S["traits"] << pref.traits +/datum/category_item/player_setup_item/traits/save_character(list/save_data) + save_data["traits"] = pref.traits /datum/category_item/player_setup_item/traits/content() @@ -58,7 +58,7 @@ var/list/trait_categories = list() // The categories available for the trait men . += " |" if(category == current_tab) - . += " [category] " + . += " " + span_linkOn("[category]") + " " else . += " [category] " . += "" @@ -107,19 +107,19 @@ var/list/trait_categories = list() // The categories available for the trait men for(var/trait_name in pref.traits) if(!trait_datums[trait_name]) - to_chat(preference_mob, "You cannot have more than one of trait: [trait_name]") + to_chat(preference_mob, span_warning("You cannot have more than one of trait: [trait_name]")) pref.traits -= trait_name else var/datum/trait/T = trait_datums[trait_name] var/invalidity = T.test_for_invalidity(src) if(invalidity) pref.traits -= trait_name - to_chat(preference_mob, "You cannot take the [trait_name] trait. Reason: [invalidity]") + to_chat(preference_mob, span_warning("You cannot take the [trait_name] trait. Reason: [invalidity]")) var/conflicts = T.test_for_trait_conflict(pref.traits) if(conflicts) pref.traits -= trait_name - to_chat(preference_mob, "The [trait_name] trait is mutually exclusive with [conflicts].") + to_chat(preference_mob, span_warning("The [trait_name] trait is mutually exclusive with [conflicts].")) /datum/category_item/player_setup_item/traits/OnTopic(href, href_list, user) if(href_list["toggle_trait"]) @@ -129,12 +129,12 @@ var/list/trait_categories = list() // The categories available for the trait men else var/invalidity = T.test_for_invalidity(src) if(invalidity) - to_chat(user, "You cannot take the [T.name] trait. Reason: [invalidity]") + to_chat(user, span_warning("You cannot take the [T.name] trait. Reason: [invalidity]")) return TOPIC_NOACTION var/conflicts = T.test_for_trait_conflict(pref.traits) if(conflicts) - to_chat(user, "The [T.name] trait is mutually exclusive with [conflicts].") + to_chat(user, span_warning("The [T.name] trait is mutually exclusive with [conflicts].")) return TOPIC_NOACTION pref.traits += T.name diff --git a/code/modules/client/preference_setup/volume_sliders/01_volume.dm b/code/modules/client/preference_setup/volume_sliders/01_volume.dm index 7dea5d2053e..eb07af33cc0 100644 --- a/code/modules/client/preference_setup/volume_sliders/01_volume.dm +++ b/code/modules/client/preference_setup/volume_sliders/01_volume.dm @@ -7,11 +7,11 @@ name = "General Volume" sort_order = 1 -/datum/category_item/player_setup_item/volume_sliders/volume/load_preferences(var/savefile/S) - S["volume_channels"] >> pref.volume_channels +/datum/category_item/player_setup_item/volume_sliders/volume/load_preferences(datum/json_savefile/savefile) + pref.volume_channels = savefile.get_entry("volume_channels") -/datum/category_item/player_setup_item/volume_sliders/volume/save_preferences(var/savefile/S) - S["volume_channels"] << pref.volume_channels +/datum/category_item/player_setup_item/volume_sliders/volume/save_preferences(datum/json_savefile/savefile) + savefile.set_entry("volume_channels", pref.volume_channels) /datum/category_item/player_setup_item/volume_sliders/volume/sanitize_preferences() if(isnull(pref.volume_channels)) @@ -29,7 +29,7 @@ pref.volume_channels["[channel]"] = clamp(pref.volume_channels["[channel]"], 0, 2) /datum/category_item/player_setup_item/volume_sliders/volume/content(var/mob/user) - . += "Volume Settings
    " + . += span_bold("Volume Settings") + "
    " for(var/channel in pref.volume_channels) . += "[channel]: [pref.volume_channels[channel] * 100]%
    " . += "
    " @@ -40,7 +40,7 @@ var/channel = href_list["change_volume"] if(!(channel in pref.volume_channels)) pref.volume_channels["[channel]"] = 1 - var/value = tgui_input_number(usr, "Choose your volume for [channel] (0-200%)", "[channel] volume", (pref.volume_channels[channel] * 100), 200, 0) + var/value = tgui_input_number(user, "Choose your volume for [channel] (0-200%)", "[channel] volume", (pref.volume_channels[channel] * 100), 200, 0) if(isnum(value)) value = CLAMP(value, 0, 200) pref.volume_channels["[channel]"] = (value / 100) @@ -74,19 +74,19 @@ /datum/volume_panel/tgui_data(mob/user) if(!user.client || !user.client.prefs) return list("error" = TRUE) - + var/list/data = ..() data["volume_channels"] = user.client.prefs.volume_channels return data -/datum/volume_panel/tgui_act(action, params) +/datum/volume_panel/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE - if(!usr?.client?.prefs) + if(!ui.user?.client?.prefs) return TRUE - var/datum/preferences/P = usr.client.prefs + var/datum/preferences/P = ui.user.client.prefs switch(action) if("adjust_volume") var/channel = params["channel"] @@ -97,7 +97,7 @@ /client/verb/volume_panel() set name = "Volume Panel" - set category = "Preferences" + set category = "Preferences.Sounds" set desc = "Allows you to adjust volume levels on the fly." if(!volume_panel) diff --git a/code/modules/client/preference_setup/volume_sliders/02_media.dm b/code/modules/client/preference_setup/volume_sliders/02_media.dm index 98f7bb4cfed..979eac55ce6 100644 --- a/code/modules/client/preference_setup/volume_sliders/02_media.dm +++ b/code/modules/client/preference_setup/volume_sliders/02_media.dm @@ -6,28 +6,28 @@ name = "Media" sort_order = 2 -/datum/category_item/player_setup_item/volume_sliders/media/load_preferences(var/savefile/S) - S["media_volume"] >> pref.media_volume - S["media_player"] >> pref.media_player +/datum/category_item/player_setup_item/volume_sliders/media/load_preferences(datum/json_savefile/savefile) + pref.media_volume = savefile.get_entry("media_volume") + pref.media_player = savefile.get_entry("media_player") -/datum/category_item/player_setup_item/volume_sliders/media/save_preferences(var/savefile/S) - S["media_volume"] << pref.media_volume - S["media_player"] << pref.media_player +/datum/category_item/player_setup_item/volume_sliders/media/save_preferences(datum/json_savefile/savefile) + savefile.set_entry("media_volume", pref.media_volume) + savefile.set_entry("media_player", pref.media_player) /datum/category_item/player_setup_item/volume_sliders/media/sanitize_preferences() pref.media_volume = isnum(pref.media_volume) ? CLAMP(pref.media_volume, 0, 1) : initial(pref.media_volume) pref.media_player = sanitize_inlist(pref.media_player, list(0, 1, 2), initial(pref.media_player)) /datum/category_item/player_setup_item/volume_sliders/media/content(var/mob/user) - . += "Jukebox Volume:" + . += span_bold("Jukebox Volume:") . += "[round(pref.media_volume * 100)]%
    " - . += "Media Player Type: Depending on you operating system, one of these might work better. " + . += span_bold("Media Player Type:") + " Depending on you operating system, one of these might work better. " . += "Use HTML5 if it works for you. If neither HTML5 nor WMP work, you'll have to fall back to using VLC, " . += "but this requires you have the VLC client installed on your comptuer." . += "Try the others if you want but you'll probably just get no music.
    " - . += (pref.media_player == 2) ? "HTML5 " : "HTML5 " - . += (pref.media_player == 1) ? "WMP " : "WMP " - . += (pref.media_player == 0) ? "VLC " : "VLC " + . += (pref.media_player == 2) ? (span_linkOn(span_bold("HTML5")) + " ") : "HTML5 " + . += (pref.media_player == 1) ? (span_linkOn(span_bold("WMP")) + " ") : "WMP " + . += (pref.media_player == 0) ? (span_linkOn(span_bold("VLC")) + " ") : "VLC " . += "
    " /datum/category_item/player_setup_item/volume_sliders/media/OnTopic(var/href, var/list/href_list, var/mob/user) diff --git a/code/modules/client/preference_setup/vore/02_size.dm b/code/modules/client/preference_setup/vore/02_size.dm index 599424723c5..447b3298371 100644 --- a/code/modules/client/preference_setup/vore/02_size.dm +++ b/code/modules/client/preference_setup/vore/02_size.dm @@ -22,27 +22,27 @@ name = "Size" sort_order = 2 -/datum/category_item/player_setup_item/vore/size/load_character(var/savefile/S) - S["size_multiplier"] >> pref.size_multiplier - S["weight_vr"] >> pref.weight_vr - S["weight_gain"] >> pref.weight_gain - S["weight_loss"] >> pref.weight_loss - S["fuzzy"] >> pref.fuzzy - S["offset_override"] >> pref.offset_override - S["voice_freq"] >> pref.voice_freq - S["voice_sound"] >> pref.voice_sound - S["custom_speech_bubble"] >> pref.custom_speech_bubble - -/datum/category_item/player_setup_item/vore/size/save_character(var/savefile/S) - S["size_multiplier"] << pref.size_multiplier - S["weight_vr"] << pref.weight_vr - S["weight_gain"] << pref.weight_gain - S["weight_loss"] << pref.weight_loss - S["fuzzy"] << pref.fuzzy - S["offset_override"] << pref.offset_override - S["voice_freq"] << pref.voice_freq - S["voice_sound"] << pref.voice_sound - S["custom_speech_bubble"] << pref.custom_speech_bubble +/datum/category_item/player_setup_item/vore/size/load_character(list/save_data) + pref.size_multiplier = save_data["size_multiplier"] + pref.weight_vr = save_data["weight_vr"] + pref.weight_gain = save_data["weight_gain"] + pref.weight_loss = save_data["weight_loss"] + pref.fuzzy = save_data["fuzzy"] + pref.offset_override = save_data["offset_override"] + pref.voice_freq = save_data["voice_freq"] + pref.voice_sound = save_data["voice_sound"] + pref.custom_speech_bubble = save_data["custom_speech_bubble"] + +/datum/category_item/player_setup_item/vore/size/save_character(list/save_data) + save_data["size_multiplier"] = pref.size_multiplier + save_data["weight_vr"] = pref.weight_vr + save_data["weight_gain"] = pref.weight_gain + save_data["weight_loss"] = pref.weight_loss + save_data["fuzzy"] = pref.fuzzy + save_data["offset_override"] = pref.offset_override + save_data["voice_freq"] = pref.voice_freq + save_data["voice_sound"] = pref.voice_sound + save_data["custom_speech_bubble"] = pref.custom_speech_bubble /datum/category_item/player_setup_item/vore/size/sanitize_character() pref.weight_vr = sanitize_integer(pref.weight_vr, WEIGHT_MIN, WEIGHT_MAX, initial(pref.weight_vr)) @@ -68,57 +68,29 @@ if(!pref.voice_sound) character.voice_sounds_list = talk_sound else - switch(pref.voice_sound) - if("beep-boop") - character.voice_sounds_list = talk_sound - if("goon speak 1") - character.voice_sounds_list = goon_speak_one_sound - if("goon speak 2") - character.voice_sounds_list = goon_speak_two_sound - if("goon speak 3") - character.voice_sounds_list = goon_speak_three_sound - if("goon speak 4") - character.voice_sounds_list = goon_speak_four_sound - if("goon speak blub") - character.voice_sounds_list = goon_speak_blub_sound - if("goon speak bottalk") - character.voice_sounds_list = goon_speak_bottalk_sound - if("goon speak buwoo") - character.voice_sounds_list = goon_speak_buwoo_sound - if("goon speak cow") - character.voice_sounds_list = goon_speak_cow_sound - if("goon speak lizard") - character.voice_sounds_list = goon_speak_lizard_sound - if("goon speak pug") - character.voice_sounds_list = goon_speak_pug_sound - if("goon speak pugg") - character.voice_sounds_list = goon_speak_pugg_sound - if("goon speak roach") - character.voice_sounds_list = goon_speak_roach_sound - if("goon speak skelly") - character.voice_sounds_list = goon_speak_skelly_sound + character.voice_sounds_list = get_talk_sound(pref.voice_sound) character.custom_speech_bubble = pref.custom_speech_bubble /datum/category_item/player_setup_item/vore/size/content(var/mob/user) . += "
    " - . += "Scale:[round(pref.size_multiplier*100)]%
    " - . += "Scaled Appearance:[pref.fuzzy ? "Fuzzy" : "Sharp"]
    " - . += "Scaling Center:[pref.offset_override ? "Odd" : "Even"]
    " - . += "Voice Frequency:[pref.voice_freq]
    " - . += "Voice Sounds:[pref.voice_sound]
    " + . += span_bold("Scale:") + " [round(pref.size_multiplier*100)]%
    " + . += span_bold("Scaled Appearance:") + " [pref.fuzzy ? "Fuzzy" : "Sharp"]
    " + . += span_bold("Scaling Center:") + " [pref.offset_override ? "Odd" : "Even"]
    " + . += span_bold("Voice Frequency:") + " [pref.voice_freq]
    " + . += span_bold("Voice Sounds:") + " [pref.voice_sound]
    " . += "Test Selected Voice
    " - . += "Custom Speech Bubble:[pref.custom_speech_bubble]
    " + . += span_bold("Custom Speech Bubble:") + " [pref.custom_speech_bubble]
    " . += "
    " - . += "Relative Weight:[pref.weight_vr]
    " - . += "Weight Gain Rate:[pref.weight_gain]
    " - . += "Weight Loss Rate:[pref.weight_loss]
    " + . += span_bold("Relative Weight:") + " [pref.weight_vr]
    " + . += span_bold("Weight Gain Rate:") + " [pref.weight_gain]
    " + . += span_bold("Weight Loss Rate:") + " [pref.weight_loss]
    " /datum/category_item/player_setup_item/vore/size/OnTopic(var/href, var/list/href_list, var/mob/user) if(href_list["size_multiplier"]) var/new_size = tgui_input_number(user, "Choose your character's size, ranging from 25% to 200%", "Set Size", null, 200, 25) if (!ISINRANGE(new_size,25,200)) pref.size_multiplier = 1 - to_chat(user, "Invalid size.") + to_chat(user, span_notice("Invalid size.")) return TOPIC_REFRESH_UPDATE_PREVIEW else if(new_size) pref.size_multiplier = (new_size/100) @@ -140,6 +112,8 @@ ([WEIGHT_MIN]-[WEIGHT_MAX])", "Character Preference", null, WEIGHT_MAX, WEIGHT_MIN, round_value=FALSE) if(new_weight) var/unit_of_measurement = tgui_alert(user, "Is that number in pounds (lb) or kilograms (kg)?", "Confirmation", list("Pounds", "Kilograms")) + if(!unit_of_measurement) + return TOPIC_NOACTION if(unit_of_measurement == "Pounds") new_weight = round(text2num(new_weight),4) if(unit_of_measurement == "Kilograms") diff --git a/code/modules/client/preference_setup/vore/03_egg.dm b/code/modules/client/preference_setup/vore/03_egg.dm index 5ad651fbf94..e8e989f9df4 100644 --- a/code/modules/client/preference_setup/vore/03_egg.dm +++ b/code/modules/client/preference_setup/vore/03_egg.dm @@ -14,13 +14,13 @@ name = "Egg appearance." sort_order = 3 -/datum/category_item/player_setup_item/vore/egg/load_character(var/savefile/S) - S["vore_egg_type"] >> pref.vore_egg_type - S["autohiss"] >> pref.autohiss // VOREStation Add +/datum/category_item/player_setup_item/vore/egg/load_character(list/save_data) + pref.vore_egg_type = save_data["vore_egg_type"] + pref.autohiss = save_data["autohiss"] -/datum/category_item/player_setup_item/vore/egg/save_character(var/savefile/S) - S["vore_egg_type"] << pref.vore_egg_type - S["autohiss"] << pref.autohiss // VOREStation Add +/datum/category_item/player_setup_item/vore/egg/save_character(list/save_data) + save_data["vore_egg_type"] = pref.vore_egg_type + save_data["autohiss"] = pref.autohiss /datum/category_item/player_setup_item/vore/egg/sanitize_character() pref.vore_egg_type = sanitize_inlist(pref.vore_egg_type, global_vore_egg_types, initial(pref.vore_egg_type)) @@ -44,7 +44,7 @@ /datum/category_item/player_setup_item/vore/egg/content(var/mob/user) . += "
    " . += " Egg Type: [pref.vore_egg_type]
    " - . += "Autohiss Default Setting:[pref.autohiss]
    " // VOREStation Add + . += span_bold("Autohiss Default Setting:") + " [pref.autohiss]
    " // VOREStation Add /datum/category_item/player_setup_item/vore/egg/OnTopic(var/href, var/list/href_list, var/mob/user) if(!CanUseTopic(user)) diff --git a/code/modules/client/preference_setup/vore/04_resleeving.dm b/code/modules/client/preference_setup/vore/04_resleeving.dm index 22fba4e6a7a..6ec8ca51bff 100644 --- a/code/modules/client/preference_setup/vore/04_resleeving.dm +++ b/code/modules/client/preference_setup/vore/04_resleeving.dm @@ -2,24 +2,27 @@ /datum/preferences var/resleeve_lock = 0 // Whether movs should have OOC reslieving protection. Default false. var/resleeve_scan = 1 // Whether mob should start with a pre-spawn body scan. Default true. + var/mind_scan = 1 // Whether mob should start with a pre-spawn mind scan. Default true. // Definition of the stuff for Sizing /datum/category_item/player_setup_item/vore/resleeve name = "Resleeving" sort_order = 4 -/datum/category_item/player_setup_item/vore/resleeve/load_character(var/savefile/S) - S["resleeve_lock"] >> pref.resleeve_lock - S["resleeve_scan"] >> pref.resleeve_scan +/datum/category_item/player_setup_item/vore/resleeve/load_character(list/save_data) + pref.resleeve_lock = save_data["resleeve_lock"] + pref.resleeve_scan = save_data["resleeve_scan"] + pref.mind_scan = save_data["mind_scan"] - -/datum/category_item/player_setup_item/vore/resleeve/save_character(var/savefile/S) - S["resleeve_lock"] << pref.resleeve_lock - S["resleeve_scan"] << pref.resleeve_scan +/datum/category_item/player_setup_item/vore/resleeve/save_character(list/save_data) + save_data["resleeve_lock"] = pref.resleeve_lock + save_data["resleeve_scan"] = pref.resleeve_scan + save_data["mind_scan"] = pref.mind_scan /datum/category_item/player_setup_item/vore/resleeve/sanitize_character() pref.resleeve_lock = sanitize_integer(pref.resleeve_lock, 0, 1, initial(pref.resleeve_lock)) pref.resleeve_scan = sanitize_integer(pref.resleeve_scan, 0, 1, initial(pref.resleeve_scan)) + pref.mind_scan = sanitize_integer(pref.mind_scan, 0, 1, initial(pref.mind_scan)) /datum/category_item/player_setup_item/vore/resleeve/copy_to_mob(var/mob/living/carbon/human/character) if(character && !istype(character,/mob/living/carbon/human/dummy)) @@ -29,14 +32,19 @@ if(pref.resleeve_scan) var/datum/transhuman/body_record/BR = new() BR.init_from_mob(character, pref.resleeve_scan, pref.resleeve_lock) + if(pref.mind_scan) + var/datum/transcore_db/our_db = SStranscore.db_by_key(null) + if(our_db) + our_db.m_backup(character.mind,character.nif,one_time = TRUE) if(pref.resleeve_lock) character.resleeve_lock = character.ckey character.original_player = character.ckey /datum/category_item/player_setup_item/vore/resleeve/content(var/mob/user) . += "
    " - . += "Start With Body Scan:[pref.resleeve_scan ? "Yes" : "No"]
    " - . += "Prevent Body Impersonation:[pref.resleeve_lock ? "Yes" : "No"]
    " + . += span_bold("Start With Body Scan:") + " [pref.resleeve_scan ? "Yes" : "No"]
    " + . += span_bold("Start With Mind Scan:") + " [pref.mind_scan ? "Yes" : "No"]
    " + . += span_bold("Prevent Body Impersonation:") + " [pref.resleeve_lock ? "Yes" : "No"]
    " /datum/category_item/player_setup_item/vore/resleeve/OnTopic(var/href, var/list/href_list, var/mob/user) if(href_list["toggle_resleeve_lock"]) @@ -45,4 +53,7 @@ else if(href_list["toggle_resleeve_scan"]) pref.resleeve_scan = pref.resleeve_scan ? 0 : 1; return TOPIC_REFRESH + else if(href_list["toggle_mind_scan"]) + pref.mind_scan = pref.mind_scan ? 0 : 1; + return TOPIC_REFRESH return ..(); diff --git a/code/modules/client/preference_setup/vore/05_persistence.dm b/code/modules/client/preference_setup/vore/05_persistence.dm index 330a21a73b9..704b22bb6ca 100644 --- a/code/modules/client/preference_setup/vore/05_persistence.dm +++ b/code/modules/client/preference_setup/vore/05_persistence.dm @@ -7,19 +7,19 @@ name = "Persistence" sort_order = 5 -/datum/category_item/player_setup_item/vore/persistence/load_character(var/savefile/S) - S["persistence_settings"] >> pref.persistence_settings +/datum/category_item/player_setup_item/vore/persistence/load_character(list/save_data) + pref.persistence_settings = save_data["persistence_settings"] sanitize_character() // Don't let new characters start off with nulls -/datum/category_item/player_setup_item/vore/persistence/save_character(var/savefile/S) - S["persistence_settings"] << pref.persistence_settings +/datum/category_item/player_setup_item/vore/persistence/save_character(list/save_data) + save_data["persistence_settings"] = pref.persistence_settings /datum/category_item/player_setup_item/vore/persistence/sanitize_character() pref.persistence_settings = sanitize_integer(pref.persistence_settings, 0, (1<<(PERSIST_COUNT+1)-1), initial(pref.persistence_settings)) /datum/category_item/player_setup_item/vore/persistence/content(var/mob/user) . = list() - . += "Round-to-Round Persistence
    " + . += span_bold("Round-to-Round Persistence") + "
    " . += "
    " // Table within a table for alignment, also allows you to easily add more columns. . += "" @@ -157,8 +157,8 @@ if((pref.job_civilian_low & ASSISTANT) && job.type != /datum/job/assistant) . += "[rank]" continue - if((rank in SSjob.get_job_titles_in_department(DEPARTMENT_COMMAND) ) || (rank == "AI"))//Bold head jobs - . += "[rank]" + if((rank in SSjob.get_job_titles_in_department(DEPARTMENT_COMMAND) ) || (rank == JOB_AI))//Bold head jobs + . += span_bold("[rank]") + "" else . += "[rank]" @@ -210,11 +210,11 @@ switch(pref.alternate_option) if(GET_RANDOM_JOB) - . += "Get random job if preferences unavailable" + . += span_underline("Get random job if preferences unavailable") if(BE_ASSISTANT) - . += "Be assistant if preference unavailable" + . += span_underline("Be assistant if preference unavailable") if(RETURN_TO_LOBBY) - . += "Return to lobby if preference unavailable" + . += span_underline("Return to lobby if preference unavailable") . += "\[Reset\]" . += "" @@ -252,18 +252,18 @@ dat += "



    " if(job.alt_titles) - dat += "Alternate titles: [english_list(job.alt_titles)]." + dat += span_italics(span_bold("Alternate titles:") + " [english_list(job.alt_titles)].") send_rsc(user, job.get_job_icon(), "job[ckey(rank)].png") dat += "" if(job.departments) - dat += "Departments: [english_list(job.departments)]." + dat += span_bold("Departments:") + " [english_list(job.departments)]." if(LAZYLEN(job.departments_managed)) dat += "You manage these departments: [english_list(job.departments_managed)]" dat += "You answer to [job.supervisors] normally." dat += "


    " - if(config.wikiurl) + if(CONFIG_GET(string/wikiurl)) dat += "Open wiki page in browser" var/alt_title = pref.GetPlayerAltTitle(job) @@ -281,7 +281,7 @@ else if(href_list["job_wiki"]) var/rank = href_list["job_wiki"] - open_link(user,"[config.wikiurl][rank]") + open_link(user,"[CONFIG_GET(string/wikiurl)][rank]") return ..() diff --git a/code/modules/client/preference_setup/preference_setup.dm b/code/modules/client/preference_setup/preference_setup.dm index 5a8e31c324c..d43fb0529c2 100644 --- a/code/modules/client/preference_setup/preference_setup.dm +++ b/code/modules/client/preference_setup/preference_setup.dm @@ -7,11 +7,6 @@ sort_order = 1 category_item_type = /datum/category_item/player_setup_item/general -/datum/category_group/player_setup_category/skill_preferences - name = "Skills" - sort_order = 2 - category_item_type = /datum/category_item/player_setup_item/skills - /datum/category_group/player_setup_category/occupation_preferences name = "Occupation" sort_order = 3 @@ -59,21 +54,21 @@ for(var/datum/category_group/player_setup_category/PS in categories) PS.sanitize_setup() -/datum/category_collection/player_setup_collection/proc/load_character(var/savefile/S) +/datum/category_collection/player_setup_collection/proc/load_character(list/save_data) for(var/datum/category_group/player_setup_category/PS in categories) - PS.load_character(S) + PS.load_character(save_data) -/datum/category_collection/player_setup_collection/proc/save_character(var/savefile/S) +/datum/category_collection/player_setup_collection/proc/save_character(list/save_data) for(var/datum/category_group/player_setup_category/PS in categories) - PS.save_character(S) + PS.save_character(save_data) -/datum/category_collection/player_setup_collection/proc/load_preferences(var/savefile/S) +/datum/category_collection/player_setup_collection/proc/load_preferences(datum/json_savefile/savefile) for(var/datum/category_group/player_setup_category/PS in categories) - PS.load_preferences(S) + PS.load_preferences(savefile) -/datum/category_collection/player_setup_collection/proc/save_preferences(var/savefile/S) +/datum/category_collection/player_setup_collection/proc/save_preferences(datum/json_savefile/savefile) for(var/datum/category_group/player_setup_category/PS in categories) - PS.save_preferences(S) + PS.save_preferences(savefile) /datum/category_collection/player_setup_collection/proc/copy_to_mob(var/mob/living/carbon/human/C) for(var/datum/category_group/player_setup_category/PS in categories) @@ -86,6 +81,7 @@ dat += "[PS.name] " // TODO: Check how to properly mark a href/button selected in a classic browser window else dat += "[PS.name] " + dat += "Game Options" return dat /datum/category_collection/player_setup_collection/proc/content(var/mob/user) @@ -105,6 +101,9 @@ selected_category = category . = 1 + else if(href_list["game_prefs"]) + user.client.prefs.tgui_interact(user) + if(.) user.client.prefs.ShowChoices(user) @@ -123,29 +122,29 @@ for(var/datum/category_item/player_setup_item/PI in items) PI.sanitize_character() -/datum/category_group/player_setup_category/proc/load_character(var/savefile/S) +/datum/category_group/player_setup_category/proc/load_character(list/save_data) // Load all data, then sanitize it. // Need due to, for example, the 01_basic module relying on species having been loaded to sanitize correctly but that isn't loaded until module 03_body. for(var/datum/category_item/player_setup_item/PI in items) - PI.load_character(S) + PI.load_character(save_data) -/datum/category_group/player_setup_category/proc/save_character(var/savefile/S) +/datum/category_group/player_setup_category/proc/save_character(list/save_data) // Sanitize all data, then save it for(var/datum/category_item/player_setup_item/PI in items) PI.sanitize_character() for(var/datum/category_item/player_setup_item/PI in items) - PI.save_character(S) + PI.save_character(save_data) -/datum/category_group/player_setup_category/proc/load_preferences(var/savefile/S) +/datum/category_group/player_setup_category/proc/load_preferences(datum/json_savefile/savefile) for(var/datum/category_item/player_setup_item/PI in items) - PI.load_preferences(S) + PI.load_preferences(savefile) -/datum/category_group/player_setup_category/proc/save_preferences(var/savefile/S) +/datum/category_group/player_setup_category/proc/save_preferences(datum/json_savefile/savefile) for(var/datum/category_item/player_setup_item/PI in items) PI.sanitize_preferences() for(var/datum/category_item/player_setup_item/PI in items) - PI.save_preferences(S) + PI.save_preferences(savefile) /datum/category_group/player_setup_category/proc/copy_to_mob(var/mob/living/carbon/human/C) for(var/datum/category_item/player_setup_item/PI in items) @@ -188,25 +187,25 @@ /* * Called when the item is asked to load per character settings */ -/datum/category_item/player_setup_item/proc/load_character(var/savefile/S) +/datum/category_item/player_setup_item/proc/load_character(list/save_data) return /* * Called when the item is asked to save per character settings */ -/datum/category_item/player_setup_item/proc/save_character(var/savefile/S) +/datum/category_item/player_setup_item/proc/save_character(list/save_data) return /* * Called when the item is asked to load user/global settings */ -/datum/category_item/player_setup_item/proc/load_preferences(var/savefile/S) +/datum/category_item/player_setup_item/proc/load_preferences(datum/json_savefile/savefile) return /* * Called when the item is asked to save user/global settings */ -/datum/category_item/player_setup_item/proc/save_preferences(var/savefile/S) +/datum/category_item/player_setup_item/proc/save_preferences(datum/json_savefile/savefile) return /* diff --git a/code/modules/client/preference_setup/skills/skills.dm b/code/modules/client/preference_setup/skills/skills.dm deleted file mode 100644 index 645314ab590..00000000000 --- a/code/modules/client/preference_setup/skills/skills.dm +++ /dev/null @@ -1,89 +0,0 @@ -/datum/category_item/player_setup_item/skills - name = "Skills" - sort_order = 1 - -/datum/category_item/player_setup_item/skills/load_character(var/savefile/S) - S["skills"] >> pref.skills - S["used_skillpoints"] >> pref.used_skillpoints - S["skill_specialization"] >> pref.skill_specialization - -/datum/category_item/player_setup_item/skills/save_character(var/savefile/S) - S["skills"] << pref.skills - S["used_skillpoints"] << pref.used_skillpoints - S["skill_specialization"] << pref.skill_specialization - -/datum/category_item/player_setup_item/skills/sanitize_character() - if(SKILLS == null) setup_skills() - if(!pref.skills) pref.skills = list() - if(!pref.skills.len) pref.ZeroSkills() - if(pref.used_skillpoints < 0) pref.used_skillpoints = 0 - -// Moved from /datum/preferences/proc/copy_to() -/datum/category_item/player_setup_item/skills/copy_to_mob(var/mob/living/carbon/human/character) - character.skills = pref.skills - character.used_skillpoints = pref.used_skillpoints - -/datum/category_item/player_setup_item/skills/content() - . = list() - . += "Select your Skills
    " - . += "Current skill level: [pref.GetSkillClass(pref.used_skillpoints)] ([pref.used_skillpoints])
    " - . += "Use preconfigured skillset
    " - . += "
    " - for(var/V in SKILLS) - . += "" - for(var/datum/skill/S in SKILLS[V]) - var/level = pref.skills[S.ID] - . += "" - . += "" - . += skill_to_button(S, "Untrained", level, SKILL_NONE) - // secondary skills don't have an amateur level - if(S.secondary) - . += "" - else - . += skill_to_button(S, "Amateur", level, SKILL_BASIC) - . += skill_to_button(S, "Trained", level, SKILL_ADEPT) - . += skill_to_button(S, "Professional", level, SKILL_EXPERT) - . += "" - . += "
    [V]" - . += "
    [S.name]
    " - . = jointext(.,null) - -/datum/category_item/player_setup_item/proc/skill_to_button(var/skill, var/level_name, var/current_level, var/selection_level) - if(current_level == selection_level) - return "
    [level_name][level_name]
    " . += "" @@ -47,9 +47,9 @@ /datum/category_item/player_setup_item/vore/persistence/proc/make_yesno(var/bit) if(pref.persistence_settings & bit) - return "" + return "" else - return "" + return "" /datum/category_item/player_setup_item/vore/persistence/OnTopic(var/href, var/list/href_list, var/mob/user) if(href_list["toggle_on"]) diff --git a/code/modules/client/preference_setup/vore/06_vantag.dm b/code/modules/client/preference_setup/vore/06_vantag.dm index c402f1f2771..5433e712f04 100644 --- a/code/modules/client/preference_setup/vore/06_vantag.dm +++ b/code/modules/client/preference_setup/vore/06_vantag.dm @@ -8,13 +8,13 @@ name = "VS Events" sort_order = 6 -/datum/category_item/player_setup_item/vore/vantag/load_character(var/savefile/S) - S["vantag_volunteer"] >> pref.vantag_volunteer - S["vantag_preference"] >> pref.vantag_preference +/datum/category_item/player_setup_item/vore/vantag/load_character(list/save_data) + pref.vantag_volunteer = save_data["vantag_volunteer"] + pref.vantag_preference = save_data["vantag_preference"] -/datum/category_item/player_setup_item/vore/vantag/save_character(var/savefile/S) - S["vantag_volunteer"] << pref.vantag_volunteer - S["vantag_preference"] << pref.vantag_preference +/datum/category_item/player_setup_item/vore/vantag/save_character(list/save_data) + save_data["vantag_volunteer"] = pref.vantag_volunteer + save_data["vantag_preference"] = pref.vantag_preference /datum/category_item/player_setup_item/vore/vantag/sanitize_character() pref.vantag_volunteer = sanitize_integer(pref.vantag_volunteer, 0, 1, initial(pref.vantag_volunteer)) @@ -27,8 +27,8 @@ /datum/category_item/player_setup_item/vore/vantag/content(var/mob/user) . += "
    " - . += "Event Volunteer:[pref.vantag_volunteer ? "Yes" : "No"]
    " - . += "Event Pref:[vantag_choices_list[pref.vantag_preference]]
    " + . += span_bold("Event Volunteer:") + " " + span_bold("[pref.vantag_volunteer ? "Yes" : "No"]") + "
    " + . += span_bold("Event Pref:") + " " + span_bold("[vantag_choices_list[pref.vantag_preference]]") + "
    " /datum/category_item/player_setup_item/vore/vantag/OnTopic(var/href, var/list/href_list, var/mob/user) if(href_list["toggle_vantag_volunteer"]) diff --git a/code/modules/client/preference_setup/vore/07_traits.dm b/code/modules/client/preference_setup/vore/07_traits.dm index 549b54be820..6fca6775683 100644 --- a/code/modules/client/preference_setup/vore/07_traits.dm +++ b/code/modules/client/preference_setup/vore/07_traits.dm @@ -63,6 +63,9 @@ var/global/list/valid_bloodreagents = list("default","iron","copper","phoron","s . += link + (trait_prefs[identifier] ? "Enabled" : "Disabled") if (2) //TRAIT_PREF_TYPE_COLOR . += " " + color_square(hex = trait_prefs[identifier]) + link + "Change" + if (3) //TRAIT_PREF_TYPE_STRING + var/string = trait_prefs[identifier] + . += link + (length(string) > 0 ? string : "\[Empty\]") . += "" . += "" if (altered) @@ -101,53 +104,56 @@ var/global/list/valid_bloodreagents = list("default","iron","copper","phoron","s var/new_color = input(user, "Choose the color for this trait preference:", "Trait Preference", trait_prefs[preference]) as color|null if (new_color) trait_prefs[preference] = new_color + if (3) //TRAIT_PREF_TYPE_STRING + var/new_string = instance.apply_sanitization_to_string(preference, tgui_input_text(user, "What should the new value be?", instance.has_preferences[preference][2], trait_prefs[preference], MAX_NAME_LEN)) + trait_prefs[preference] = new_string // Definition of the stuff for Ears /datum/category_item/player_setup_item/vore/traits name = "Traits" sort_order = 7 -/datum/category_item/player_setup_item/vore/traits/load_character(var/savefile/S) - S["custom_species"] >> pref.custom_species - S["custom_base"] >> pref.custom_base - S["pos_traits"] >> pref.pos_traits - S["neu_traits"] >> pref.neu_traits - S["neg_traits"] >> pref.neg_traits - S["blood_color"] >> pref.blood_color - S["blood_reagents"] >> pref.blood_reagents - - S["traits_cheating"] >> pref.traits_cheating - S["max_traits"] >> pref.max_traits - S["trait_points"] >> pref.starting_trait_points - - S["custom_say"] >> pref.custom_say - S["custom_whisper"] >> pref.custom_whisper - S["custom_ask"] >> pref.custom_ask - S["custom_exclaim"] >> pref.custom_exclaim - - S["custom_heat"] >> pref.custom_heat - S["custom_cold"] >> pref.custom_cold - -/datum/category_item/player_setup_item/vore/traits/save_character(var/savefile/S) - S["custom_species"] << pref.custom_species - S["custom_base"] << pref.custom_base - S["pos_traits"] << pref.pos_traits - S["neu_traits"] << pref.neu_traits - S["neg_traits"] << pref.neg_traits - S["blood_color"] << pref.blood_color - S["blood_reagents"] << pref.blood_reagents - - S["traits_cheating"] << pref.traits_cheating - S["max_traits"] << pref.max_traits - S["trait_points"] << pref.starting_trait_points - - S["custom_say"] << pref.custom_say - S["custom_whisper"] << pref.custom_whisper - S["custom_ask"] << pref.custom_ask - S["custom_exclaim"] << pref.custom_exclaim - - S["custom_heat"] << pref.custom_heat - S["custom_cold"] << pref.custom_cold +/datum/category_item/player_setup_item/vore/traits/load_character(list/save_data) + pref.custom_species = save_data["custom_species"] + pref.custom_base = save_data["custom_base"] + pref.pos_traits = text2path_list(save_data["pos_traits"]) + pref.neu_traits = text2path_list(save_data["neu_traits"]) + pref.neg_traits = text2path_list(save_data["neg_traits"]) + pref.blood_color = save_data["blood_color"] + pref.blood_reagents = save_data["blood_reagents"] + + pref.traits_cheating = save_data["traits_cheating"] + pref.max_traits = save_data["max_traits"] + pref.starting_trait_points = save_data["trait_points"] + + pref.custom_say = save_data["custom_say"] + pref.custom_whisper = save_data["custom_whisper"] + pref.custom_ask = save_data["custom_ask"] + pref.custom_exclaim = save_data["custom_exclaim"] + + pref.custom_heat = check_list_copy(save_data["custom_heat"]) + pref.custom_cold = check_list_copy(save_data["custom_cold"]) + +/datum/category_item/player_setup_item/vore/traits/save_character(list/save_data) + save_data["custom_species"] = pref.custom_species + save_data["custom_base"] = pref.custom_base + save_data["pos_traits"] = check_list_copy(pref.pos_traits) + save_data["neu_traits"] = check_list_copy(pref.neu_traits) + save_data["neg_traits"] = check_list_copy(pref.neg_traits) + save_data["blood_color"] = pref.blood_color + save_data["blood_reagents"] = pref.blood_reagents + + save_data["traits_cheating"] = pref.traits_cheating + save_data["max_traits"] = pref.max_traits + save_data["trait_points"] = pref.starting_trait_points + + save_data["custom_say"] = pref.custom_say + save_data["custom_whisper"] = pref.custom_whisper + save_data["custom_ask"] = pref.custom_ask + save_data["custom_exclaim"] = pref.custom_exclaim + + save_data["custom_heat"] = check_list_copy(pref.custom_heat) + save_data["custom_cold"] = check_list_copy(pref.custom_cold) /datum/category_item/player_setup_item/vore/traits/sanitize_character() if(!pref.pos_traits) pref.pos_traits = list() @@ -186,13 +192,16 @@ var/global/list/valid_bloodreagents = list("default","iron","copper","phoron","s //Neutral traits for(var/datum/trait/path as anything in pref.neu_traits) if(!(path in neutral_traits)) + to_world_log("removing [path] for not being in neutral_traits") pref.neu_traits -= path continue if(!(pref.species == SPECIES_CUSTOM) && !(path in everyone_traits_neutral)) + to_world_log("removing [path] for not being a custom species") pref.neu_traits -= path continue var/take_flags = initial(path.can_take) if((pref.dirty_synth && !(take_flags & SYNTHETICS)) || (pref.gross_meatbag && !(take_flags & ORGANICS))) + to_world_log("removing [path] for being a dirty synth") pref.neu_traits -= path //Negative traits for(var/datum/trait/path as anything in pref.neg_traits) @@ -264,12 +273,12 @@ var/global/list/valid_bloodreagents = list("default","iron","copper","phoron","s log_game("TRAITS [pref.client_ckey]/([character]) with: [english_traits]") //Terrible 'fake' key_name()... but they aren't in the same entity yet /datum/category_item/player_setup_item/vore/traits/content(var/mob/user) - . += "Custom Species Name: " + . += span_bold("Custom Species Name:") + " " . += "[pref.custom_species ? pref.custom_species : "-Input Name-"]
    " var/datum/species/selected_species = GLOB.all_species[pref.species] if(selected_species.selects_bodytype) - . += "Icon Base: " + . += span_bold("Icon Base:") + " " . += "[pref.custom_base ? pref.custom_base : "Human"]
    " var/traits_left = pref.max_traits @@ -279,11 +288,12 @@ var/global/list/valid_bloodreagents = list("default","iron","copper","phoron","s for(var/T in pref.pos_traits + pref.neg_traits) points_left -= traits_costs[T] - traits_left-- - . += "Traits Left: [traits_left]
    " - . += "Points Left: [points_left]
    " + if(T in pref.pos_traits) + traits_left-- + . += span_bold("Traits Left:") + " [traits_left]
    " + . += span_bold("Points Left:") + " [points_left]
    " if(points_left < 0 || traits_left < 0 || (!pref.custom_species && pref.species == SPECIES_CUSTOM)) - . += "^ Fix things! ^
    " + . += span_red(span_bold("^ Fix things! ^")) + "
    " . += "Positive Trait +
    " . += "
      " @@ -306,34 +316,34 @@ var/global/list/valid_bloodreagents = list("default","iron","copper","phoron","s . += "
    • - [trait.name] ([trait.cost]) [get_html_for_trait(trait, pref.neg_traits[T])]
    • " . += "
    " - . += "Blood Color: " //People that want to use a certain species to have that species traits (xenochimera/promethean/spider) should be able to set their own blood color. + . += span_bold("Blood Color: ") //People that want to use a certain species to have that species traits (xenochimera/promethean/spider) should be able to set their own blood color. . += "Set Color " . += "R
    " - . += "Blood Reagent: " //Wanna be copper-based? Go ahead. + . += span_bold("Blood Reagent: ") //Wanna be copper-based? Go ahead. . += "[pref.blood_reagents]
    " . += "
    " - . += "Custom Say: " + . += span_bold("Custom Say: ") . += "Set Say Verb" . += "(Reset)" . += "
    " - . += "Custom Whisper: " + . += span_bold("Custom Whisper: ") . += "Set Whisper Verb" . += "(Reset)" . += "
    " - . += "Custom Ask: " + . += span_bold("Custom Ask: ") . += "Set Ask Verb" . += "(Reset)" . += "
    " - . += "Custom Exclaim: " + . += span_bold("Custom Exclaim: ") . += "Set Exclaim Verb" . += "(Reset)" . += "
    " - . += "Custom Heat Discomfort: " + . += span_bold("Custom Heat Discomfort: ") . += "Set Heat Messages" . += "(Reset)" . += "
    " - . += "Custom Cold Discomfort: " + . += span_bold("Custom Cold Discomfort: ") . += "Set Cold Messages" . += "(Reset)" . += "
    " @@ -568,7 +578,7 @@ var/global/list/valid_bloodreagents = list("default","iron","copper","phoron","s if(trait_choice in nicelist) var/datum/trait/path = nicelist[trait_choice] var/choice = tgui_alert(usr, "\[Cost:[initial(path.cost)]\] [initial(path.desc)]",initial(path.name), list("Take Trait","Go Back")) - if(choice != "Go Back") + if(choice == "Take Trait") done = TRUE if(!trait_choice) diff --git a/code/modules/client/preference_setup/vore/08_nif.dm b/code/modules/client/preference_setup/vore/08_nif.dm index d502fb447bf..4075e0db0db 100644 --- a/code/modules/client/preference_setup/vore/08_nif.dm +++ b/code/modules/client/preference_setup/vore/08_nif.dm @@ -1,23 +1,38 @@ //Pretty small file, mostly just for storage. /datum/preferences - var/obj/item/device/nif/nif_path + var/obj/item/nif/nif_path var/nif_durability var/list/nif_savedata // Definition of the stuff for NIFs +// Magic bullshit, they're stored separately from everything else /datum/category_item/player_setup_item/vore/nif name = "NIF Data" sort_order = 8 -/datum/category_item/player_setup_item/vore/nif/load_character(var/savefile/S) - S["nif_path"] >> pref.nif_path - S["nif_durability"] >> pref.nif_durability - S["nif_savedata"] >> pref.nif_savedata +/proc/nif_savefile_path(ckey) + if(!ckey) + return + return "data/player_saves/[copytext(ckey,1,2)]/[ckey]/nif.json" -/datum/category_item/player_setup_item/vore/nif/save_character(var/savefile/S) - S["nif_path"] << pref.nif_path - S["nif_durability"] << pref.nif_durability - S["nif_savedata"] << pref.nif_savedata +/datum/category_item/player_setup_item/vore/nif/load_character() + var/datum/json_savefile/savefile = new /datum/json_savefile(nif_savefile_path(pref.client_ckey)) + var/list/save_data_file = savefile.get_entry("character[pref.default_slot]", list()) + + pref.nif_path = save_data_file["nif_path"] + pref.nif_durability = save_data_file["nif_durability"] + pref.nif_savedata = check_list_copy(save_data_file["nif_savedata"]) + +/datum/category_item/player_setup_item/vore/nif/save_character() + var/datum/json_savefile/savefile = new /datum/json_savefile(nif_savefile_path(pref.client_ckey)) + var/list/save_data_file = savefile.get_entry("character[pref.default_slot]", list()) + + save_data_file["nif_path"] = pref.nif_path + save_data_file["nif_durability"] = pref.nif_durability + save_data_file["nif_savedata"] = check_list_copy(pref.nif_savedata) + + savefile.set_entry("character[pref.default_slot]", save_data_file) + savefile.save() /datum/category_item/player_setup_item/vore/nif/sanitize_character() if(pref.nif_path && !ispath(pref.nif_path)) //We have at least a text string that should be a path. @@ -26,7 +41,7 @@ pref.nif_path = null //Kill! WARNING("Loaded a NIF but it was an invalid path, [pref.real_name]") - if (ispath(pref.nif_path, /obj/item/device/nif/protean) && pref.species != SPECIES_PROTEAN) //no free nifs + if (ispath(pref.nif_path, /obj/item/nif/protean) && pref.species != SPECIES_PROTEAN) //no free nifs pref.nif_path = null if(ispath(pref.nif_path) && isnull(pref.nif_durability)) //How'd you lose this? @@ -38,23 +53,8 @@ /datum/category_item/player_setup_item/vore/nif/copy_to_mob(var/mob/living/carbon/human/character) //If you had a NIF... - if((character.type == /mob/living/carbon/human) && ispath(pref.nif_path) && pref.nif_durability) - new pref.nif_path(character,pref.nif_durability,pref.nif_savedata) - - /* - //And now here's the trick. We wipe these so that if they die, they lose the NIF. - //Backup implants will start saving this again periodically, and so will cryo'ing out. - pref.nif_path = null - pref.nif_durability = null - pref.nif_savedata = null - */ - //No we do not, that's lame and admins have to re-NIF them later. - //If they leave round after they get their NIF extracted, it will save as 'gone' anyway - //The NIF will save automatically every time durability changes too now. - var/savefile/S = new /savefile(pref.path) - if(!S) WARNING ("Couldn't load NIF save savefile? [pref.real_name]") - S.cd = "/character[pref.default_slot]" - save_character(S) + if(istype(character) && ispath(pref.nif_path) && pref.nif_durability) + new pref.nif_path(character, pref.nif_durability, pref.nif_savedata) /datum/category_item/player_setup_item/vore/nif/content(var/mob/user) - . += "NIF: [ispath(pref.nif_path) ? "Present" : "None"]" + . += span_bold("NIF:") + " [ispath(pref.nif_path) ? "Present" : "None"]" diff --git a/code/modules/client/preference_setup/vore/09_misc.dm b/code/modules/client/preference_setup/vore/09_misc.dm index 963354baea4..c2e3ebd24bd 100644 --- a/code/modules/client/preference_setup/vore/09_misc.dm +++ b/code/modules/client/preference_setup/vore/09_misc.dm @@ -2,27 +2,27 @@ name = "Misc Settings" sort_order = 9 -/datum/category_item/player_setup_item/vore/misc/load_character(var/savefile/S) - S["show_in_directory"] >> pref.show_in_directory - S["directory_tag"] >> pref.directory_tag - S["directory_erptag"] >> pref.directory_erptag - S["directory_ad"] >> pref.directory_ad - S["sensorpref"] >> pref.sensorpref - S["capture_crystal"] >> pref.capture_crystal - S["auto_backup_implant"] >> pref.auto_backup_implant - S["borg_petting"] >> pref.borg_petting - S["stomach_vision"] >> pref.stomach_vision +/datum/category_item/player_setup_item/vore/misc/load_character(list/save_data) + pref.show_in_directory = save_data["show_in_directory"] + pref.directory_tag = save_data["directory_tag"] + pref.directory_erptag = save_data["directory_erptag"] + pref.directory_ad = save_data["directory_ad"] + pref.sensorpref = save_data["sensorpref"] + pref.capture_crystal = save_data["capture_crystal"] + pref.auto_backup_implant = save_data["auto_backup_implant"] + pref.borg_petting = save_data["borg_petting"] + pref.stomach_vision = save_data["stomach_vision"] -/datum/category_item/player_setup_item/vore/misc/save_character(var/savefile/S) - S["show_in_directory"] << pref.show_in_directory - S["directory_tag"] << pref.directory_tag - S["directory_erptag"] << pref.directory_erptag - S["directory_ad"] << pref.directory_ad - S["sensorpref"] << pref.sensorpref - S["capture_crystal"] << pref.capture_crystal - S["auto_backup_implant"] << pref.auto_backup_implant - S["borg_petting"] << pref.borg_petting - S["stomach_vision"] << pref.stomach_vision +/datum/category_item/player_setup_item/vore/misc/save_character(list/save_data) + save_data["show_in_directory"] = pref.show_in_directory + save_data["directory_tag"] = pref.directory_tag + save_data["directory_erptag"] = pref.directory_erptag + save_data["directory_ad"] = pref.directory_ad + save_data["sensorpref"] = pref.sensorpref + save_data["capture_crystal"] = pref.capture_crystal + save_data["auto_backup_implant"] = pref.auto_backup_implant + save_data["borg_petting"] = pref.borg_petting + save_data["stomach_vision"] = pref.stomach_vision /datum/category_item/player_setup_item/vore/misc/copy_to_mob(var/mob/living/carbon/human/character) if(pref.sensorpref > 5 || pref.sensorpref < 1) @@ -31,12 +31,7 @@ character.capture_crystal = pref.capture_crystal //Vore Stomach Sprite Preference character.stomach_vision = pref.stomach_vision - if((character && !istype(character,/mob/living/carbon/human/dummy)) && character.stomach_vision && !(VIS_CH_STOMACH in character.vis_enabled)) - character.plane_holder.set_vis(VIS_CH_STOMACH,TRUE) - character.vis_enabled += VIS_CH_STOMACH - else if((character && !istype(character,/mob/living/carbon/human/dummy)) && !character.stomach_vision && (VIS_CH_STOMACH in character.vis_enabled)) - character.plane_holder.set_vis(VIS_CH_STOMACH,FALSE) - character.vis_enabled -= VIS_CH_STOMACH + character.recalculate_vis() /datum/category_item/player_setup_item/vore/misc/sanitize_character() pref.show_in_directory = sanitize_integer(pref.show_in_directory, 0, 1, initial(pref.show_in_directory)) @@ -50,15 +45,15 @@ /datum/category_item/player_setup_item/vore/misc/content(var/mob/user) . += "
    " - . += "Appear in Character Directory:[pref.show_in_directory ? "Yes" : "No"]
    " - . += "Character Directory Vore Tag:[pref.directory_tag]
    " - . += "Character Directory ERP Tag:[pref.directory_erptag]
    " - . += "Character Directory Advertisement:Set Directory Ad
    " - . += "Suit Sensors Preference:[sensorpreflist[pref.sensorpref]]
    " - . += "Capture Crystal Preference:[pref.capture_crystal ? "Yes" : "No"]
    " - . += "Spawn With Backup Implant:[pref.auto_backup_implant ? "Yes" : "No"]
    " - . += "Allow petting as robot:[pref.borg_petting ? "Yes" : "No"]
    " - . += "Enable Stomach Sprites:[pref.stomach_vision ? "Yes" : "No"]
    " + . += span_bold("Appear in Character Directory:") + " [pref.show_in_directory ? "Yes" : "No"]
    " + . += span_bold("Character Directory Vore Tag:") + " [pref.directory_tag]
    " + . += span_bold("Character Directory ERP Tag:") + " [pref.directory_erptag]
    " + . += span_bold("Character Directory Advertisement:") + " Set Directory Ad
    " + . += span_bold("Suit Sensors Preference:") + " [sensorpreflist[pref.sensorpref]]
    " + . += span_bold("Capture Crystal Preference:") + " [pref.capture_crystal ? "Yes" : "No"]
    " + . += span_bold("Spawn With Backup Implant:") + " [pref.auto_backup_implant ? "Yes" : "No"]
    " + . += span_bold("Allow petting as robot:") + " [pref.borg_petting ? "Yes" : "No"]
    " + . += span_bold("Enable Stomach Sprites:") + " [pref.stomach_vision ? "Yes" : "No"]
    " /datum/category_item/player_setup_item/vore/misc/OnTopic(var/href, var/list/href_list, var/mob/user) if(href_list["toggle_show_in_directory"]) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 4df23158bd3..95b42830caa 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -1,10 +1,12 @@ var/list/preferences_datums = list() /datum/preferences - //doohickeys for savefiles + /// The path to the general savefile for this datum var/path - var/default_slot = 1 //Holder so it doesn't default to slot 1, rather the last one used - var/savefile_version = 0 + /// Whether or not we allow saving/loading. Used for guests, if they're enabled + var/load_and_save = TRUE + /// Ensures that we always load the last used save, QOL + var/default_slot = 1 //non-preference stuff var/warns = 0 @@ -45,6 +47,7 @@ var/list/preferences_datums = list() var/spawnpoint = "Arrivals Shuttle" //where this character will spawn (0-2). var/b_type = "A+" //blood type (not-chooseable) var/blood_reagents = "default" //blood restoration reagents + var/headset = 1 //headset type var/backbag = 2 //backpack type var/pdachoice = 1 //PDA type var/shoe_hater = FALSE //RS ADD - if true, will spawn with no shoes @@ -119,15 +122,11 @@ var/list/preferences_datums = list() //Keeps track of preferrence for not getting any wanted jobs var/alternate_option = 1 - var/used_skillpoints = 0 - var/skill_specialization = null - var/list/skills = list() // skills can range from 0 to 3 - // maps each organ to either null(intact), "cyborg" or "amputated" // will probably not be able to do this for head and torso ;) var/list/organ_data = list() var/list/rlimb_data = list() - var/list/player_alt_titles = new() // the default name of a job like "Medical Doctor" + var/list/player_alt_titles = new() // the default name of a job like JOB_MEDICAL_DOCTOR var/list/body_markings = list() // "name" = "#rgbcolor" //VOREStation Edit: "name" = list(BP_HEAD = list("on" = , "color" = "#rgbcolor"), BP_TORSO = ...) @@ -171,92 +170,70 @@ var/list/preferences_datums = list() var/examine_text_mode = 0 // Just examine text, include usage (description_info), switch to examine panel. var/multilingual_mode = 0 // Default behaviour, delimiter-key-space, delimiter-key-delimiter, off + // THIS IS NOT SAVED + // WE JUST HAVE NOWHERE ELSE TO STORE IT + var/list/action_button_screen_locs + var/list/volume_channels = list() ///If they are currently in the process of swapping slots, don't let them open 999 windows for it and get confused var/selecting_slots = FALSE + /// The json savefile for this datum + var/datum/json_savefile/savefile /datum/preferences/New(client/C) - player_setup = new(src) - set_biological_gender(pick(MALE, FEMALE)) - real_name = random_name(identifying_gender,species) - b_type = RANDOM_BLOOD_TYPE + client = C + + for(var/middleware_type in subtypesof(/datum/preference_middleware)) + middleware += new middleware_type(src) + if(istype(C)) // IS_CLIENT_OR_MOCK + client_ckey = C.ckey + load_and_save = !IsGuestKey(C.key) + load_path(C.ckey) + if(load_and_save && !fexists(path)) + try_savefile_type_migration() + else + CRASH("attempted to create a preferences datum without a client or mock!") + load_savefile() + + // Legacy code gear = list() gear_list = list() gear_slot = 1 + // End legacy code - if(istype(C)) - client = C - client_ckey = C.ckey - if(!IsGuestKey(C.key)) - load_path(C.ckey) - if(load_preferences()) - load_character() + player_setup = new(src) + var/loaded_preferences_successfully = load_preferences() + if(loaded_preferences_successfully) + if(load_character()) + return + + // Didn't load a character, so let's randomize + set_biological_gender(pick(MALE, FEMALE)) + real_name = random_name(identifying_gender,species) + b_type = RANDOM_BLOOD_TYPE + + if(client) + apply_all_client_preferences() + + if(!loaded_preferences_successfully) + save_preferences() + save_character() // Save random character /datum/preferences/Destroy() - . = ..() QDEL_LIST_ASSOC_VAL(char_render_holders) - -/datum/preferences/proc/ZeroSkills(var/forced = 0) - for(var/V in SKILLS) for(var/datum/skill/S in SKILLS[V]) - if(!skills.Find(S.ID) || forced) - skills[S.ID] = SKILL_NONE - -/datum/preferences/proc/CalculateSkillPoints() - used_skillpoints = 0 - for(var/V in SKILLS) for(var/datum/skill/S in SKILLS[V]) - var/multiplier = 1 - switch(skills[S.ID]) - if(SKILL_NONE) - used_skillpoints += 0 * multiplier - if(SKILL_BASIC) - used_skillpoints += 1 * multiplier - if(SKILL_ADEPT) - // secondary skills cost less - if(S.secondary) - used_skillpoints += 1 * multiplier - else - used_skillpoints += 3 * multiplier - if(SKILL_EXPERT) - // secondary skills cost less - if(S.secondary) - used_skillpoints += 3 * multiplier - else - used_skillpoints += 6 * multiplier - -/datum/preferences/proc/GetSkillClass(points) - return CalculateSkillClass(points, age) - -/proc/CalculateSkillClass(points, age) - if(points <= 0) return "Unconfigured" - // skill classes describe how your character compares in total points - points -= min(round((age - 20) / 2.5), 4) // every 2.5 years after 20, one extra skillpoint - if(age > 30) - points -= round((age - 30) / 5) // every 5 years after 30, one extra skillpoint - switch(points) - if(-1000 to 3) - return "Terrifying" - if(4 to 6) - return "Below Average" - if(7 to 10) - return "Average" - if(11 to 14) - return "Above Average" - if(15 to 18) - return "Exceptional" - if(19 to 24) - return "Genius" - if(24 to 1000) - return "God" + QDEL_NULL(middleware) + value_cache = null + return ..() /datum/preferences/proc/ShowChoices(mob/user) if(!user || !user.client) return if(!get_mob_by_key(client_ckey)) - to_chat(user, "No mob exists for the given client!") + to_chat(user, span_danger("No mob exists for the given client!")) return if(!char_render_holders) @@ -345,10 +322,10 @@ var/list/preferences_datums = list() if(!istype(user, /mob/new_player)) return if(href_list["preference"] == "open_whitelist_forum") - if(config.forumurl) - user << link(config.forumurl) + if(CONFIG_GET(string/forumurl)) + user << link(CONFIG_GET(string/forumurl)) else - to_chat(user, "The forum URL is not set in the server configuration.") + to_chat(user, span_danger("The forum URL is not set in the server configuration.")) return ShowChoices(usr) return 1 @@ -358,8 +335,8 @@ var/list/preferences_datums = list() return 1 if(href_list["save"]) - save_preferences() save_character() + save_preferences() else if(href_list["reload"]) load_preferences() load_character() @@ -374,7 +351,7 @@ var/list/preferences_datums = list() return 0 if("Yes" != tgui_alert(usr, "Are you completely sure that you want to reset this character slot?", "Reset current slot?", list("No", "Yes"))) return 0 - load_character(SAVE_RESET) + reset_slot() sanitize_preferences() else if(href_list["copy"]) if(!IsGuestKey(usr.key)) @@ -410,6 +387,12 @@ var/list/preferences_datums = list() // Ask the preferences datums to apply their own settings to the new mob player_setup.copy_to_mob(character) + for(var/datum/preference/preference as anything in get_preferences_in_priority_order()) + if(preference.savefile_identifier != PREFERENCE_CHARACTER) + continue + + preference.apply_to_human(character, read_preference(preference.type)) + // VOREStation Edit - Sync up all their organs and species one final time character.force_update_organs() @@ -426,28 +409,25 @@ var/list/preferences_datums = list() /datum/preferences/proc/open_load_dialog(mob/user) if(selecting_slots) - to_chat(user, "You already have a slot selection dialog open!") + to_chat(user, span_warning("You already have a slot selection dialog open!")) return - var/savefile/S = new /savefile(path) - if(!S) - error("Somehow missing savefile path?! [path]") + if(!savefile) return - var/name - var/nickname //vorestation edit - This set appends nicknames to the save slot + var/default var/list/charlist = list() - var/default //VOREStation edit - for(var/i=1, i<= config.character_slots, i++) - S.cd = "/character[i]" - S["real_name"] >> name - S["nickname"] >> nickname //vorestation edit + + for(var/i in 1 to CONFIG_GET(number/character_slots)) + var/list/save_data = savefile.get_entry("character[i]", list()) + var/name = save_data["real_name"] + var/nickname = save_data["nickname"] if(!name) name = "[i] - \[Unused Slot\]" else if(i == default_slot) name = "â–º[i] - [name]" else name = "[i] - [name]" - if (i == default_slot) //VOREStation edit + if(i == default_slot) default = "[name][nickname ? " ([nickname])" : ""]" charlist["[name][nickname ? " ([nickname])" : ""]"] = i @@ -462,33 +442,34 @@ var/list/preferences_datums = list() error("Player picked [choice] slot to load, but that wasn't one we sent.") return + load_preferences() load_character(slotnum) attempt_vr(user.client?.prefs_vr,"load_vore","") //VOREStation Edit sanitize_preferences() + save_preferences() ShowChoices(user) /datum/preferences/proc/open_copy_dialog(mob/user) if(selecting_slots) - to_chat(user, "You already have a slot selection dialog open!") + to_chat(user, span_warning("You already have a slot selection dialog open!")) return - var/savefile/S = new /savefile(path) - if(!S) - error("Somehow missing savefile path?! [path]") + if(!savefile) return - var/name - var/nickname //vorestation edit - This set appends nicknames to the save slot var/list/charlist = list() - for(var/i=1, i<= config.character_slots, i++) - S.cd = "/character[i]" - S["real_name"] >> name - S["nickname"] >> nickname //vorestation edit + + for(var/i in 1 to CONFIG_GET(number/character_slots)) + var/list/save_data = savefile.get_entry("character[i]", list()) + var/name = save_data["real_name"] + var/nickname = save_data["nickname"] + if(!name) name = "[i] - \[Unused Slot\]" - if(i == default_slot) + else if(i == default_slot) name = "â–º[i] - [name]" else name = "[i] - [name]" + charlist["[name][nickname ? " ([nickname])" : ""]"] = i selecting_slots = TRUE @@ -502,6 +483,250 @@ var/list/preferences_datums = list() error("Player picked [choice] slot to copy to, but that wasn't one we sent.") return - overwrite_character(slotnum) - sanitize_preferences() - ShowChoices(user) + if(tgui_alert(user, "Are you sure you want to override slot [slotnum], [choice]'s savedata?", "Confirm Override", list("No", "Yes")) == "Yes") + overwrite_character(slotnum) + sanitize_preferences() + save_preferences() + save_character() + attempt_vr(user.client?.prefs_vr,"load_vore","") + ShowChoices(user) + +/datum/preferences/proc/vanity_copy_to(var/mob/living/carbon/human/character, var/copy_name, var/copy_flavour = TRUE, var/copy_ooc_notes = FALSE, var/convert_to_prosthetics = FALSE) + //snowflake copy_to, does not copy anything but the vanity things + //does not check if the name is the same, do that in any proc that calls this proc + /* + name, nickname, flavour, OOC notes + gender, sex + custom species name, custom bodytype, weight, scale, scaling center, sound type, sound freq + custom say verbs + ears, wings, tail, hair, facial hair + ears colors, wings colors, tail colors + body color, prosthetics (if they're a protean) (convert to DSI if protean and not prosthetic), eye color, hair color etc + markings + custom synth markings toggle, custom synth color toggle + digitigrade + blood color + */ + if (copy_name) + if(CONFIG_GET(flag/humans_need_surnames)) + var/firstspace = findtext(real_name, " ") + var/name_length = length(real_name) + if(!firstspace) //we need a surname + real_name += " [pick(last_names)]" + else if(firstspace == name_length) + real_name += "[pick(last_names)]" + character.real_name = real_name + character.name = character.real_name + if(character.dna) + character.dna.real_name = character.real_name + character.nickname = nickname + character.gender = biological_gender + character.identifying_gender = identifying_gender + + character.r_eyes = r_eyes + character.g_eyes = g_eyes + character.b_eyes = b_eyes + character.h_style = h_style + character.r_hair = r_hair + character.g_hair = g_hair + character.b_hair = b_hair + character.r_grad = r_grad + character.g_grad = g_grad + character.b_grad = b_grad + character.f_style = f_style + character.r_facial = r_facial + character.g_facial = g_facial + character.b_facial = b_facial + character.r_skin = r_skin + character.g_skin = g_skin + character.b_skin = b_skin + character.s_tone = s_tone + character.h_style = h_style + character.grad_style= grad_style + character.f_style = f_style + character.grad_style= grad_style + character.b_type = b_type + character.synth_color = synth_color + character.r_synth = r_synth + character.g_synth = g_synth + character.b_synth = b_synth + character.synth_markings = synth_markings + + var/list/ear_styles = get_available_styles(global.ear_styles_list) + character.ear_style = ear_styles[ear_style] + character.r_ears = r_ears + character.b_ears = b_ears + character.g_ears = g_ears + character.r_ears2 = r_ears2 + character.b_ears2 = b_ears2 + character.g_ears2 = g_ears2 + character.r_ears3 = r_ears3 + character.b_ears3 = b_ears3 + character.g_ears3 = g_ears3 + + character.ear_secondary_style = ear_styles[ear_secondary_style] + character.ear_secondary_colors = SANITIZE_LIST(ear_secondary_colors) + + var/list/tail_styles = get_available_styles(global.tail_styles_list) + character.tail_style = tail_styles[tail_style] + character.r_tail = r_tail + character.b_tail = b_tail + character.g_tail = g_tail + character.r_tail2 = r_tail2 + character.b_tail2 = b_tail2 + character.g_tail2 = g_tail2 + character.r_tail3 = r_tail3 + character.b_tail3 = b_tail3 + character.g_tail3 = g_tail3 + + var/list/wing_styles = get_available_styles(global.wing_styles_list) + character.wing_style = wing_styles[wing_style] + character.r_wing = r_wing + character.b_wing = b_wing + character.g_wing = g_wing + character.r_wing2 = r_wing2 + character.b_wing2 = b_wing2 + character.g_wing2 = g_wing2 + character.r_wing3 = r_wing3 + character.b_wing3 = b_wing3 + character.g_wing3 = g_wing3 + + character.set_gender(biological_gender) + + // Destroy/cyborgize organs and limbs. + if (convert_to_prosthetics) //should only really be run for proteans + var/list/organs_to_edit = list() + for (var/name in list(BP_TORSO, BP_HEAD, BP_GROIN, BP_L_ARM, BP_R_ARM, BP_L_HAND, BP_R_HAND, BP_L_LEG, BP_R_LEG, BP_L_FOOT, BP_R_FOOT)) + var/obj/item/organ/external/O = character.organs_by_name[name] + if (O) + var/x = organs_to_edit.Find(O.parent_organ) + if (x == 0) + organs_to_edit += name + else + organs_to_edit.Insert(x+(O.robotic == ORGAN_NANOFORM ? 1 : 0), name) + for(var/name in organs_to_edit) + var/status = organ_data[name] + var/obj/item/organ/external/O = character.organs_by_name[name] + if(O) + if(status == "amputated") + continue + else if(status == "cyborg") + O.robotize(rlimb_data[name]) + else + var/bodytype + var/datum/species/selected_species = GLOB.all_species[species] + if(selected_species.selects_bodytype) + bodytype = custom_base + else + bodytype = selected_species.get_bodytype() + var/dsi_company = GLOB.dsi_to_species[bodytype] + if (!dsi_company) + dsi_company = "DSI - Adaptive" + O.robotize(dsi_company) + + for(var/N in character.organs_by_name) + var/obj/item/organ/external/O = character.organs_by_name[N] + O.markings.Cut() + + var/priority = 0 + for(var/M in body_markings) + priority += 1 + var/datum/sprite_accessory/marking/mark_datum = body_marking_styles_list[M] + + for(var/BP in mark_datum.body_parts) + var/obj/item/organ/external/O = character.organs_by_name[BP] + if(O) + O.markings[M] = list("color" = body_markings[M][BP]["color"], "datum" = mark_datum, "priority" = priority, "on" = body_markings[M][BP]["on"]) + character.markings_len = priority + + var/list/last_descriptors = list() + if(islist(body_descriptors)) + last_descriptors = body_descriptors.Copy() + body_descriptors = list() + + var/datum/species/mob_species = GLOB.all_species[species] + if(LAZYLEN(mob_species.descriptors)) + for(var/entry in mob_species.descriptors) + var/datum/mob_descriptor/descriptor = mob_species.descriptors[entry] + if(istype(descriptor)) + if(isnull(last_descriptors[entry])) + body_descriptors[entry] = descriptor.default_value // Species datums have initial default value. + else + body_descriptors[entry] = CLAMP(last_descriptors[entry], 1, LAZYLEN(descriptor.standalone_value_descriptors)) + character.descriptors = body_descriptors + + if (copy_flavour) + character.flavor_texts["general"] = flavor_texts["general"] + character.flavor_texts["head"] = flavor_texts["head"] + character.flavor_texts["face"] = flavor_texts["face"] + character.flavor_texts["eyes"] = flavor_texts["eyes"] + character.flavor_texts["torso"] = flavor_texts["torso"] + character.flavor_texts["arms"] = flavor_texts["arms"] + character.flavor_texts["hands"] = flavor_texts["hands"] + character.flavor_texts["legs"] = flavor_texts["legs"] + character.flavor_texts["feet"] = flavor_texts["feet"] + if (copy_ooc_notes) + character.ooc_notes = metadata + + character.weight = weight_vr + character.weight_gain = weight_gain + character.weight_loss = weight_loss + character.fuzzy = fuzzy + character.offset_override = offset_override + character.voice_freq = voice_freq + character.resize(size_multiplier, animate = FALSE, ignore_prefs = TRUE) + + var/list/traits_to_copy = list(/datum/trait/neutral/tall, + /datum/trait/neutral/taller, + /datum/trait/neutral/short, + /datum/trait/neutral/shorter, + /datum/trait/neutral/obese, + /datum/trait/neutral/fat, + /datum/trait/neutral/thin, + /datum/trait/neutral/thinner, + /datum/trait/neutral/micro_size_down, + /datum/trait/neutral/micro_size_up) + //reset all the above trait vars + if (character.species) + character.species.micro_size_mod = 0 + character.species.icon_scale_x = 1 + character.species.icon_scale_y = 1 + for (var/trait in neu_traits) + if (trait in traits_to_copy) + var/datum/trait/instance = all_traits[trait] + if (!instance) + continue + for (var/to_edit in instance.var_changes) + character.species.vars[to_edit] = instance.var_changes[to_edit] + character.update_transform() + if(!voice_sound) + character.voice_sounds_list = talk_sound + else + character.voice_sounds_list = get_talk_sound(voice_sound) + + character.species?.blood_color = blood_color + + var/datum/species/selected_species = GLOB.all_species[species] + var/bodytype_selected + if(selected_species.selects_bodytype) + bodytype_selected = custom_base + else + bodytype_selected = selected_species.get_bodytype(character) + + character.dna.base_species = bodytype_selected + character.species.base_species = bodytype_selected + character.species.vanity_base_fit = bodytype_selected + if (istype(character.species, /datum/species/shapeshifter)) + wrapped_species_by_ref["\ref[character]"] = bodytype_selected + + character.custom_species = custom_species + character.custom_say = lowertext(trim(custom_say)) + character.custom_ask = lowertext(trim(custom_ask)) + character.custom_whisper = lowertext(trim(custom_whisper)) + character.custom_exclaim = lowertext(trim(custom_exclaim)) + + character.digitigrade = selected_species.digi_allowed ? digitigrade : 0 + + character.dna.ResetUIFrom(character) + character.force_update_limbs() + character.regenerate_icons() diff --git a/code/modules/client/preferences/README.md b/code/modules/client/preferences/README.md new file mode 100644 index 00000000000..fabfb779c90 --- /dev/null +++ b/code/modules/client/preferences/README.md @@ -0,0 +1,456 @@ +# Preferences (by Mothblocks) + +This does not contain all the information on specific values--you can find those as doc-comments in relevant paths, such as `/datum/preference`. Rather, this gives you an overview for creating *most* preferences, and getting your foot in the door to create more advanced ones. + +## Anatomy of a preference (A.K.A. how do I make one?) + +Most preferences consist of two parts: + +1. A `/datum/preference` type. +2. A tgui representation in a TypeScript file. + +Every `/datum/preference` requires these three values be set: +1. `category` - See [Categories](#Categories). +2. `savefile_key` - The value which will be saved in the savefile. This will also be the identifier for tgui. +3. `savefile_identifier` - Whether or not this is a character specific preference (`PREFERENCE_CHARACTER`) or one that affects the player (`PREFERENCE_PLAYER`). As an example: hair color is `PREFERENCE_CHARACTER` while your UI settings are `PREFERENCE_PLAYER`, since they do not change between characters. + +For the tgui representation, most preferences will create a `.tsx` file in `tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/`. If your preference is a character preference, make a new file in `character_preferences`. Otherwise, put it in `game_preferences`. The filename does not matter, and this file can hold multiple relevant preferences if you would like. + +From here, you will want to write code resembling: + +```ts +import { Feature } from "../base"; + +export const savefile_key_here: Feature = { + name: "Preference Name Here", + component: Component, + + // Necessary for game preferences, unused for others + category: "CATEGORY", + + // Optional, shown as a tooltip + description: "This preference will blow your mind!", +} +``` + +`T` and `Component` depend on the type of preference you're making. Here are all common examples... + +## Numeric preferences + +Examples include age and FPS. + +A numeric preference derives from `/datum/preference/numeric`. + +```dm +/datum/preference/numeric/legs + category = PREFERENCE_CATEGORY_NON_CONTEXTUAL + savefile_identifier = PREFERENCE_CHARACTER + savefile_key = "legs" + + minimum = 1 + maximum = 8 +``` + +You can optionally provide a `step` field. This value is 1 by default, meaning only integers are accepted. + +Your `.tsx` file would look like: + +```ts +import { Feature, FeatureNumberInput } from "../base"; + +export const legs: Feature = { + name: "Legs", + component: FeatureNumberInput, +} +``` + +## Toggle preferences + +Examples include enabling tooltips. + +```dm +/datum/preference/toggle/enable_breathing + category = PREFERENCE_CATEGORY_NON_CONTEXTUAL + savefile_identifier = PREFERENCE_CHARACTER + savefile_key = "enable_breathing" + + // Optional, TRUE by default + default_value = FALSE +``` + +Your `.tsx` file would look like: + +```ts +import { CheckboxInput, FeatureToggle } from "../base"; + +export const enable_breathing: FeatureToggle = { + name: "Enable breathing", + component: CheckboxInput, +} +``` + +## Choiced preferences +A choiced preference is one where the only options are in a distinct few amount of choices. Examples include skin tone, shirt, and UI style. + +To create one, derive from `/datum/preference/choiced`. + +```dm +/datum/preference/choiced/favorite_drink + category = PREFERENCE_CATEGORY_NON_CONTEXTUAL + savefile_identifier = PREFERENCE_CHARACTER + savefile_key = "favorite_drink" +``` + +Now we need to tell the game what the choices are. We do this by overriding `init_possible_values()`. This will return a list of possible options. + +```dm +/datum/preference/choiced/favorite_drink/init_possible_values() + return list( + "Milk", + "Cola", + "Water", + ) +``` + +Your `.tsx` file would then look like: + +```tsx +import { FeatureChoiced, FeatureDropdownInput } from "../base"; + +export const favorite_drink: FeatureChoiced = { + name: "Favorite drink", + component: FeatureDropdownInput, +}; +``` + +This will create a dropdown input for your preference. + +### Choiced preferences - Icons +Choiced preferences can generate icons. This is how the clothing/species preferences work, for instance. However, if we just want a basic dropdown input with icons, it would look like this: + +```dm +/datum/preference/choiced/favorite_drink + category = PREFERENCE_CATEGORY_NON_CONTEXTUAL + savefile_identifier = PREFERENCE_CHARACTER + savefile_key = "favorite_drink" + should_generate_icons = TRUE // NEW! This is necessary. + +/datum/preference/choiced/favorite_drink/init_possible_values() + return list("Milk", "Cola", "Water") + +// New! This proc will get called for every value. +/datum/preference/choiced/favorite_drink/icon_for(value) + switch (value) + if ("Milk") + return icon('drinks.dmi', "milk") + if ("Cola") + return icon('drinks.dmi', "cola") + if ("Water") + return icon('drinks.dmi', "water") +``` + +Then, change your `.tsx` file to look like: + +```tsx +import { FeatureChoiced, FeatureIconnedDropdownInput } from "../base"; + +export const favorite_drink: FeatureChoiced = { + name: "Favorite drink", + component: FeatureIconnedDropdownInput, +}; +``` + +### Choiced preferences - Display names +Sometimes the values you want to save in code aren't the same as the ones you want to display. You can specify display names to change this. + +The only thing you will add is "compiled data". + +```dm +/datum/preference/choiced/favorite_drink/compile_constant_data() + var/list/data = ..() + + // An assoc list of values to display names + data[CHOICED_PREFERENCE_DISPLAY_NAMES] = list( + "Milk" = "Delicious Milk", + "Cola" = "Crisp Cola", + "Water" = "Plain Ol' Water", + ) + + return data +``` + +Your `.tsx` file does not change. The UI will figure it out for you! + +## Color preferences +These refer to colors, such as your OOC color. When read, these values will be given as 6 hex digits, *without* the pound sign. + +```dm +/datum/preference/color/eyeliner_color + category = PREFERENCE_CATEGORY_NON_CONTEXTUAL + savefile_identifier = PREFERENCE_CHARACTER + savefile_key = "eyeliner_color" +``` + +Your `.tsx` file would look like: + +```ts +import { FeatureColorInput, Feature } from "../base"; + +export const eyeliner_color: Feature = { + name: "Eyeliner color", + component: FeatureColorInput, +}; +``` + +## Name preferences +These refer to an alternative name. Examples include AI names and backup human names. + +These exist in `code/modules/client/preferences/names.dm`. + +These do not need a `.ts` file, and will be created in the UI automatically. + +```dm +/datum/preference/name/doctor + savefile_key = "doctor_name" + + // The name on the UI + explanation = "Doctor name" + + // This groups together with anything else with the same group + group = "medicine" + + // Optional, if specified the UI will show this name actively + // when the player is a medical doctor. + relevant_job = /datum/job/medical_doctor +``` + +## Making your preference do stuff + +There are a handful of procs preferences can use to act on their own: + +```dm +/// Apply this preference onto the given client. +/// Called when the savefile_identifier == PREFERENCE_PLAYER. +/datum/preference/proc/apply_to_client(client/client, value) + +/// Fired when the preference is updated. +/// Calls apply_to_client by default, but can be overridden. +/datum/preference/proc/apply_to_client_updated(client/client, value) + +/// Apply this preference onto the given human. +/// Must be overriden by subtypes. +/// Called when the savefile_identifier == PREFERENCE_CHARACTER. +/datum/preference/proc/apply_to_human(mob/living/carbon/human/target, value) +``` + +For example, `/datum/preference/numeric/age` contains: + +```dm +/datum/preference/numeric/age/apply_to_human(mob/living/carbon/human/target, value) + target.age = value +``` + +If your preference is `PREFERENCE_CHARACTER`, it MUST override `apply_to_human`, even if just to immediately `return`. + +You can also read preferences directly with `prefs.read_preference(/datum/preference/type/here)`, which will return the stored value. + +## Categories +Every preference needs to be in a `category`. These can be found in `code/__DEFINES/preferences.dm`. + +```dm +/// These will be shown in the character sidebar, but at the bottom. +#define PREFERENCE_CATEGORY_FEATURES "features" + +/// Any preferences that will show to the sides of the character in the setup menu. +#define PREFERENCE_CATEGORY_CLOTHING "clothing" + +/// Preferences that will be put into the 3rd list, and are not contextual. +#define PREFERENCE_CATEGORY_NON_CONTEXTUAL "non_contextual" + +/// Will be put under the game preferences window. +#define PREFERENCE_CATEGORY_GAME_PREFERENCES "game_preferences" + +/// These will show in the list to the right of the character preview. +#define PREFERENCE_CATEGORY_SECONDARY_FEATURES "secondary_features" + +/// These are preferences that are supplementary for main features, +/// such as hair color being affixed to hair. +#define PREFERENCE_CATEGORY_SUPPLEMENTAL_FEATURES "supplemental_features" +``` + +![Preference categories for the main page](https://raw.githubusercontent.com/tgstation/documentation-assets/main/preferences/preference_categories.png) + +> SECONDARY_FEATURES or NON_CONTEXTUAL? + +Secondary features tend to be species specific. Non contextual features shouldn't change much from character to character. + +## Default values and randomization + +There are three procs to be aware of in regards to this topic: + +- `create_default_value()`. This is used when a value deserializes improperly or when a new character is created. +- `create_informed_default_value(datum/preferences/preferences)` - Used for more complicated default values, like how names require the gender. Will call `create_default_value()` by default. +- `create_random_value(datum/preferences/preferences)` - Explicitly used for random values, such as when a character is being randomized. + +`create_default_value()` in most preferences will create a random value. If this is a problem (like how default characters should always be human), you can override `create_default_value()`. By default (without overriding `create_random_value`), random values are just default values. + +## Advanced - Server data + +As previewed in [the display names implementation](#Choiced-preferences---Display-names), there exists a `compile_constant_data()` proc you can override. + +Compiled data is used wherever the server needs to give the client some value it can't figure out on its own. Skin tones use this to tell the client what colors they represent, for example. + +Compiled data is sent to the `serverData` field in the `FeatureValueProps`. + +## Advanced - Creating your own tgui component + +If you have good knowledge with tgui (especially TypeScript), you'll be able to create your own component to represent preferences. + +The `component` field in a feature accepts __any__ component that accepts `FeatureValueProps`. + +This will give you the fields: + +```ts +act: typeof sendAct, +featureId: string, +handleSetValue: (newValue: TSending) => void, +serverData: TServerData | undefined, +shrink?: boolean, +value: TReceiving, +``` + +`act` is the same as the one you get from `useBackend`. + +`featureId` is the savefile_key of the feature. + +`handleSetValue` is a function that, when called, will tell the server the new value, as well as changing the value immediately locally. + +`serverData` is the [server data](#Advanced---Server-data), if it has been fetched yet (and exists). + +`shrink` is whether or not the UI should appear smaller. This is only used for supplementary features. + +`value` is the current value, could be predicted (meaning that the value was changed locally, but has not yet reached the server). + +For a basic example of how this can look, observe `CheckboxInput`: + +```tsx +export const CheckboxInput = ( + props: FeatureValueProps +) => { + return ( { + props.handleSetValue(!props.value); + }} + />); +}; +``` + +## Advanced - Middleware +A `/datum/preference_middleware` is a way to inject your own data at specific points, as well as hijack actions. + +Middleware can hijack actions by specifying `action_delegations`: + +```dm +/datum/preference_middleware/congratulations + action_delegations = list( + "congratulate_me" = PROC_REF(congratulate_me), + ) + +/datum/preference_middleware/congratulations/proc/congratulate_me(list/params, mob/user) + to_chat(user, span_notice("Wow, you did a great job learning about middleware!")) + + return TRUE +``` + +Middleware can inject its own data at several points, such as providing new UI assets, compiled data (used by middleware such as quirks to tell the client what quirks exist), etc. Look at `code/modules/client/preferences/middleware/_middleware.dm` for full information. + +--- + +## Antagonists + +In order to make an antagonist selectable, you must do a few things: + +1. Your antagonist needs an icon. +2. Your antagonist must be in a Dynamic ruleset. The ruleset must specify the antagonist as its `antag_flag`. +3. Your antagonist needs a file in `tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/filename.ts`. This file name MUST be the `antag_flag` of your ruleset, with nothing but letters remaining (e.g. "Nuclear Operative" -> `nuclearoperative`). +4. Add it to `special_roles`. + +## Creating icons + +If you are satisfied with your icon just being a dude with some clothes, then you can specify `preview_outfit` in your `/datum/antagonist`. + +Space Ninja, for example, looks like: + +```dm +/datum/antagonist/ninja + preview_outift = /datum/outfit/ninja +``` + +However, if you want to get creative, you can override `/get_preview_icon()`. This proc should return an icon of size `ANTAGONIST_PREVIEW_ICON_SIZE`x`ANTAGONIST_PREVIEW_ICON_SIZE`. + +There are some helper procs you can use as well. `render_preview_outfit(outfit_type)` will take an outfit and give you an icon of someone wearing those clothes. `finish_preview_outfit` will, given an icon, resize it appropriately and zoom in on the head. Note that this will look bad on anything that isn't a human, so if you have a non-human antagonist (such as sentient disease), just run `icon.Scale(ANTAGONIST_PREVIEW_ICON_SIZE, ANTAGONIST_PREVIEW_ICON_SIZE)`. + +For inspiration, here is changeling's: + +```dm +/datum/antagonist/changeling/get_preview_icon() + var/icon/final_icon = render_preview_outfit(/datum/outfit/changeling) + var/icon/split_icon = render_preview_outfit(/datum/outfit/job/engineer) + + final_icon.Shift(WEST, world.icon_size / 2) + final_icon.Shift(EAST, world.icon_size / 2) + + split_icon.Shift(EAST, world.icon_size / 2) + split_icon.Shift(WEST, world.icon_size / 2) + + final_icon.Blend(split_icon, ICON_OVERLAY) + + return finish_preview_icon(final_icon) +``` + +...which creates: + +![Changeling icon](https://raw.githubusercontent.com/tgstation/documentation-assets/main/preferences/changeling.png) + +## Creating the tgui representation + +In the `.ts` file you created earlier, you must now give the information of your antagonist. For reference, this is the changeling's: + +```ts +import { Antagonist, Category } from "../base"; +import { multiline } from "common/string"; + +const Changeling: Antagonist = { + key: "changeling", // This must be the same as your filename + name: "Changeling", + description: [ + multiline` + A highly intelligent alien predator that is capable of altering their + shape to flawlessly resemble a human. + `, + + multiline` + Transform yourself or others into different identities, and buy from an + arsenal of biological weaponry with the DNA you collect. + `, + ], + category: Category.Roundstart, // Category.Roundstart, Category.Midround, or Category.Latejoin +}; + +export default Changeling; +``` + +## Readying the Dynamic ruleset + +You already need to create a Dynamic ruleset, so in order to get your antagonist recognized, you just need to specify `antag_flag`. This must be unique per ruleset. + +Two other values to note are `antag_flag_override` and `antag_preference`. + +`antag_flag_override` exists for cases where you want the banned antagonist to be separate from `antag_flag`. As an example: roundstart, midround, and latejoin traitors have separate `antag_flag`, but all have `antag_flag_override = ROLE_TRAITOR`. This is because admins want to ban a player from Traitor altogether, not specific rulesets. + +If `antag_preference` is set, it will refer to that preference instead of `antag_flag`. This is used for clown operatives, which we want to be on the same preference as standard nuke ops, but must specify a unique `antag_flag` for. + +## Updating special_roles + +In `code/__DEFINES/role_preferences.dm` (the same place you'll need to make your ROLE_\* defined), simply add your antagonist to the `special_roles` assoc list. The key is your ROLE, the value is the number of days since your first game in order to play as that antagonist. diff --git a/code/modules/client/preferences/_preference.dm b/code/modules/client/preferences/_preference.dm new file mode 100644 index 00000000000..d3ad859249f --- /dev/null +++ b/code/modules/client/preferences/_preference.dm @@ -0,0 +1,546 @@ +// Priorities must be in order! +/// The default priority level +#define PREFERENCE_PRIORITY_DEFAULT 1 + +/// The priority at which species runs, needed for external organs to apply properly. +#define PREFERENCE_PRIORITY_SPECIES 2 + +/** + * Some preferences get applied directly to bodyparts (anything head_flags related right now). + * These must apply after species, as species gaining might replace the bodyparts of the human. + */ +#define PREFERENCE_PRIORITY_BODYPARTS 3 + +/// The priority at which gender is determined, needed for proper randomization. +#define PREFERENCE_PRIORITY_GENDER 4 + +/// The priority at which body type is decided, applied after gender so we can +/// support the "use gender" option. +#define PREFERENCE_PRIORITY_BODY_TYPE 5 + +/// Used for preferences that rely on body setup being finalized. +#define PREFERENCE_PRORITY_LATE_BODY_TYPE 6 + +/// Equpping items based on preferences. +/// Should happen after species and body type to make sure it looks right. +/// Mostly redundant, but a safety net for saving/loading. +#define PREFERENCE_PRIORITY_LOADOUT 7 + +/// The priority at which names are decided, needed for proper randomization. +#define PREFERENCE_PRIORITY_NAMES 8 + +/// Preferences that aren't names, but change the name changes set by PREFERENCE_PRIORITY_NAMES. +#define PREFERENCE_PRIORITY_NAME_MODIFICATIONS 9 + +/// The maximum preference priority, keep this updated, but don't use it for `priority`. +#define MAX_PREFERENCE_PRIORITY PREFERENCE_PRIORITY_NAME_MODIFICATIONS + +/// For choiced preferences, this key will be used to set display names in constant data. +#define CHOICED_PREFERENCE_DISPLAY_NAMES "display_names" + +/// For main feature preferences, this key refers to a feature considered supplemental. +/// For instance, hair color being supplemental to hair. +#define SUPPLEMENTAL_FEATURE_KEY "supplemental_feature" + +/// An assoc list list of types to instantiated `/datum/preference` instances +GLOBAL_LIST_INIT(preference_entries, init_preference_entries()) + +/// An assoc list of preference entries by their `savefile_key` +GLOBAL_LIST_INIT(preference_entries_by_key, init_preference_entries_by_key()) + +/proc/init_preference_entries() + var/list/output = list() + for(var/datum/preference/preference_type as anything in subtypesof(/datum/preference)) + if(is_abstract(preference_type)) + continue + output[preference_type] = new preference_type + return output + +/proc/init_preference_entries_by_key() + var/list/output = list() + for(var/datum/preference/preference_type as anything in subtypesof(/datum/preference)) + if(is_abstract(preference_type)) + continue + output[initial(preference_type.savefile_key)] = GLOB.preference_entries[preference_type] + return output + +/// Returns a flat list of preferences in order of their priority +/proc/get_preferences_in_priority_order() + var/list/preferences[MAX_PREFERENCE_PRIORITY] + + for(var/preference_type in GLOB.preference_entries) + var/datum/preference/preference = GLOB.preference_entries[preference_type] + LAZYADD(preferences[preference.priority], preference) + + var/list/flattened = list() + for(var/index in 1 to MAX_PREFERENCE_PRIORITY) + // Don't add nulls to the list if there's no preferences in a given priority level + if(LAZYLEN(preferences[index])) + flattened += preferences[index] + return flattened + +/// Represents an individual preference. +/datum/preference + /// The key inside the savefile to use. + /// This is also sent to the UI. + /// Once you pick this, don't change it. + var/savefile_key + + /// The category of preference, for use by the PreferencesMenu. + /// This isn't used for anything other than as a key for UI data. + /// It is up to the PreferencesMenu UI itself to interpret it. + var/category = "misc" + + /// Do not instantiate if type matches this. + abstract_type = /datum/preference + + /// What savefile should this preference be read from? + /// Valid values are PREFERENCE_CHARACTER and PREFERENCE_PLAYER. + /// See the documentation in [code/__DEFINES/preferences.dm]. + var/savefile_identifier + + /// The priority of when to apply this preference. + /// Used for when you need to rely on another preference. + var/priority = PREFERENCE_PRIORITY_DEFAULT + + /// If set, will be available to randomize, but only if the preference + /// is for PREFERENCE_CHARACTER. + var/can_randomize = TRUE + + /// If randomizable (PREFERENCE_CHARACTER and can_randomize), whether + /// or not to enable randomization by default. + /// This doesn't mean it'll always be random, but rather if a player + /// DOES have random body on, will this already be randomized? + var/randomize_by_default = TRUE + + /// If the selected species has this in its /datum/species/mutant_bodyparts, + /// will show the feature as selectable. + var/relevant_mutant_bodypart = null + + /// If the selected species has this in its /datum/species/body_markings, + /// will show the feature as selectable. + var/relevant_body_markings = null + + /// If the selected species has this in its /datum/species/inherent_traits, + /// will show the feature as selectable. + var/relevant_inherent_trait = null + + /// If the selected species has this in its /datum/species/var/external_organs, + /// will show the feature as selectable. + var/relevant_external_organ = null + + /// If the selected species has this head_flag by default, + /// will show the feature as selectable. + var/relevant_head_flag = null + +/// Called on the saved input when retrieving. +/// Also called by the value sent from the user through UI. Do not trust it. +/// Input is the value inside the savefile, output is to tell other code +/// what the value is. +/// This is useful either for more optimal data saving or for migrating +/// older data. +/// Must be overridden by subtypes. +/// Can return null if no value was found. +/datum/preference/proc/pref_deserialize(input, datum/preferences/preferences) + SHOULD_NOT_SLEEP(TRUE) + SHOULD_CALL_PARENT(FALSE) + CRASH("`pref_deserialize()` was not implemented on [type]!") + +/// Called on the input while saving. +/// Input is the current value, output is what to save in the savefile. +/datum/preference/proc/pref_serialize(input) + SHOULD_NOT_SLEEP(TRUE) + return input + +/// Produce a default, potentially random value for when no value for this +/// preference is found in the savefile. +/// Either this or create_informed_default_value must be overriden by subtypes. +/datum/preference/proc/create_default_value() + SHOULD_NOT_SLEEP(TRUE) + SHOULD_CALL_PARENT(FALSE) + CRASH("`create_default_value()` was not implemented on [type]!") + +/// Produce a default, potentially random value for when no value for this +/// preference is found in the savefile. +/// Unlike create_default_value(), will provide the preferences object if you +/// need to use it. +/// If not overriden, will call create_default_value() instead. +/datum/preference/proc/create_informed_default_value(datum/preferences/preferences) + return create_default_value() + +/// Produce a random value for the purposes of character randomization. +/// Will just create a default value by default. +/datum/preference/proc/create_random_value(datum/preferences/preferences) + return create_informed_default_value(preferences) + +/// Returns whether or not a preference can be randomized. +/datum/preference/proc/is_randomizable() + SHOULD_NOT_OVERRIDE(TRUE) + return savefile_identifier == PREFERENCE_CHARACTER && can_randomize + +/// Given a savefile, return either the saved data or an acceptable default. +/// This will write to the savefile if a value was not found with the new value. +/datum/preference/proc/read(list/save_data, datum/preferences/preferences) + SHOULD_NOT_OVERRIDE(TRUE) + + var/value + + if(!isnull(save_data)) + value = save_data[savefile_key] + + if(isnull(value)) + return null + else + return pref_deserialize(value, preferences) + +/// Given a savefile, writes the inputted value. +/// Returns TRUE for a successful application. +/// Return FALSE if it is invalid. +/datum/preference/proc/write(list/save_data, value) + SHOULD_NOT_OVERRIDE(TRUE) + + if(!is_valid(value)) + return FALSE + + if(!isnull(save_data)) + save_data[savefile_key] = pref_serialize(value) + + return TRUE + +/// Apply this preference onto the given client. +/// Called when the savefile_identifier == PREFERENCE_PLAYER. +/datum/preference/proc/apply_to_client(client/client, value) + SHOULD_NOT_SLEEP(TRUE) + SHOULD_CALL_PARENT(FALSE) + return + +/// Fired when the preference is updated. +/// Calls apply_to_client by default, but can be overridden. +/datum/preference/proc/apply_to_client_updated(client/client, value) + SHOULD_NOT_SLEEP(TRUE) + apply_to_client(client, value) + +/// Apply this preference onto the given human. +/// Must be overriden by subtypes. +/// Called when the savefile_identifier == PREFERENCE_CHARACTER. +/datum/preference/proc/apply_to_human(mob/living/carbon/human/target, value) + SHOULD_NOT_SLEEP(TRUE) + SHOULD_CALL_PARENT(FALSE) + CRASH("`apply_to_human()` was not implemented for [type]!") + +/// Returns which savefile to use for a given savefile identifier +/datum/preferences/proc/get_save_data_for_savefile_identifier(savefile_identifier) + RETURN_TYPE(/list) + + if(!client) + return null + if(!savefile) + CRASH("Attempted to get the savedata for [savefile_identifier] of [client] without a savefile. This should have been handled by load_preferences()") + + // Both of these will cache savefiles, but only for a tick. + // This is because storing a savefile will lock it, causing later issues down the line. + // Do not change them to addtimer, since the timer SS might not be running at this time. + switch (savefile_identifier) + if(PREFERENCE_CHARACTER) + return savefile.get_entry("character[default_slot]") + if(PREFERENCE_PLAYER) + return savefile.get_entry() + else + CRASH("Unknown savefile identifier [savefile_identifier]") + +/// Read a /datum/preference type and return its value. +/// This will write to the savefile if a value was not found with the new value. +/datum/preferences/proc/read_preference(preference_type) + var/datum/preference/preference_entry = GLOB.preference_entries[preference_type] + if(isnull(preference_entry)) + var/extra_info = "" + + // Current initializing subsystem is important to know because it might be a problem with + // things running pre-assets-initialization. + // if(!isnull(Master.current_initializing_subsystem)) + // extra_info = "Info was attempted to be retrieved while [Master.current_initializing_subsystem] was initializing." + // else if(!MC_RUNNING()) + // extra_info = "Info was attempted to be retrieved before the MC started, but not while it was actively initializing a subsystem" + + CRASH("Preference type `[preference_type]` is invalid! [extra_info]") + + if(preference_type in value_cache) + return value_cache[preference_type] + + var/value = preference_entry.read(get_save_data_for_savefile_identifier(preference_entry.savefile_identifier), src) + if(isnull(value)) + value = preference_entry.create_informed_default_value(src) + if(write_preference(preference_entry, value)) + return value + else + CRASH("Couldn't write the default value for [preference_type] (received [value])") + value_cache[preference_type] = value + return value + +/// Read a /datum/preference type and return its value. +/mob/proc/read_preference(preference_type) + return client?.prefs?.read_preference(preference_type) + +/// Set a /datum/preference entry. +/// Returns TRUE for a successful preference application. +/// Returns FALSE if it is invalid. +/datum/preferences/proc/write_preference(datum/preference/preference, preference_value) + var/save_data = get_save_data_for_savefile_identifier(preference.savefile_identifier) + var/new_value = preference.pref_deserialize(preference_value, src) + var/success = preference.write(save_data, new_value) + if(success) + value_cache[preference.type] = new_value + return success + +/// Will perform an update on the preference, but not write to the savefile. +/// This will, for instance, update the character preference view. +/// Performs sanity checks. +/datum/preferences/proc/update_preference(datum/preference/preference, preference_value) + if(!preference.is_accessible(src)) + return FALSE + + var/new_value = preference.pref_deserialize(preference_value, src) + var/success = preference.write(null, new_value) + + if(!success) + return FALSE + + recently_updated_keys |= preference.type + value_cache[preference.type] = new_value + + if(preference.savefile_identifier == PREFERENCE_PLAYER) + preference.apply_to_client_updated(client, read_preference(preference.type)) + else + update_preview_icon() + + return TRUE + +/// Checks that a given value is valid. +/// Must be overriden by subtypes. +/// Any type can be passed through. +/datum/preference/proc/is_valid(value) + SHOULD_NOT_SLEEP(TRUE) + SHOULD_CALL_PARENT(FALSE) + CRASH("`is_valid()` was not implemented for [type]!") + +/// Returns data to be sent to users in the menu +/datum/preference/proc/compile_ui_data(mob/user, value) + SHOULD_NOT_SLEEP(TRUE) + + return pref_serialize(value) + +/// Returns data compiled into the preferences JSON asset +/datum/preference/proc/compile_constant_data() + SHOULD_NOT_SLEEP(TRUE) + + return null + +/// Returns whether or not this preference is accessible. +/// If FALSE, will not show in the UI and will not be editable (by update_preference). +/datum/preference/proc/is_accessible(datum/preferences/preferences) + SHOULD_CALL_PARENT(TRUE) + SHOULD_NOT_SLEEP(TRUE) + + // if( + // !isnull(relevant_mutant_bodypart) + // || !isnull(relevant_inherent_trait) + // || !isnull(relevant_external_organ) + // || !isnull(relevant_head_flag) + // || !isnull(relevant_body_markings) + // ) + // var/species_type = preferences.read_preference(/datum/preference/choiced/species) + + // var/datum/species/species = GLOB.species_prototypes[species_type] + // if(!(savefile_key in species.get_features())) + // return FALSE + + if(!should_show_on_page(preferences.current_window)) + return FALSE + + return TRUE + +/// Returns whether or not, given the PREFERENCE_TAB_*, this preference should +/// appear. +/datum/preference/proc/should_show_on_page(preference_tab) + var/is_on_character_page = preference_tab == PREFERENCE_TAB_CHARACTER_PREFERENCES + var/is_character_preference = savefile_identifier == PREFERENCE_CHARACTER + return is_on_character_page == is_character_preference + +/// A preference that is a choice of one option among a fixed set. +/// Used for preferences such as clothing. +/datum/preference/choiced + /// If this is TRUE, an icon will be generated for every value. + /// If you implement this, you must implement `icon_for(value)` for every possible value. + var/should_generate_icons = FALSE + + var/list/cached_values + + /// If the preference is a main feature (PREFERENCE_CATEGORY_FEATURES or PREFERENCE_CATEGORY_CLOTHING) + /// this is the name of the feature that will be presented. + var/main_feature_name + + abstract_type = /datum/preference/choiced + +/// Returns a list of every possible value. +/// The first time this is called, will run `init_values()`. +/// Return value can be in the form of: +/// - A flat list of raw values, such as list(MALE, FEMALE, PLURAL). +/// - An assoc list of raw values to atoms/icons. +/datum/preference/choiced/proc/get_choices() + // Override `init_values()` instead. + SHOULD_NOT_OVERRIDE(TRUE) + + if(isnull(cached_values)) + cached_values = init_possible_values() + ASSERT(cached_values.len) + + return cached_values + +/// Returns a list of every possible value, serialized. +/datum/preference/choiced/proc/get_choices_serialized() + // Override `init_values()` instead. + SHOULD_NOT_OVERRIDE(TRUE) + + var/list/serialized_choices = list() + + for(var/choice in get_choices()) + serialized_choices += pref_serialize(choice) + + return serialized_choices + +/// Returns a list of every possible value. +/// This must be overriden by `/datum/preference/choiced` subtypes. +/// If `should_generate_icons` is TRUE, then you will also need to implement `icon_for(value)` +/// for every possible value. +/datum/preference/choiced/proc/init_possible_values() + CRASH("`init_possible_values()` was not implemented for [type]!") + +/// When `should_generate_icons` is TRUE, this proc is called for every value. +/// It can return either an icon or a typepath to an atom to create. +/datum/preference/choiced/proc/icon_for(value) + SHOULD_CALL_PARENT(FALSE) + SHOULD_NOT_SLEEP(TRUE) + CRASH("`icon_for()` was not implemented for [type], even though should_generate_icons = TRUE!") + +/datum/preference/choiced/is_valid(value) + return value in get_choices() + +/datum/preference/choiced/pref_deserialize(input, datum/preferences/preferences) + return sanitize_inlist(input, get_choices(), create_default_value()) + +/datum/preference/choiced/create_default_value() + return pick(get_choices()) + +/datum/preference/choiced/compile_constant_data() + var/list/data = list() + + var/list/choices = list() + + for(var/choice in get_choices()) + choices += choice + + data["choices"] = choices + + if(should_generate_icons) + var/list/icons = list() + + // for(var/choice in choices) // TODO: Pref spritesheet asset + // icons[choice] = get_spritesheet_key(choice) + + data["icons"] = icons + + if(!isnull(main_feature_name)) + data["name"] = main_feature_name + + return data + +/// A preference that represents an RGB color of something. +/// Will give the value as 6 hex digits, without a hash. +/datum/preference/color + abstract_type = /datum/preference/color + +/datum/preference/color/pref_deserialize(input, datum/preferences/preferences) + return sanitize_hexcolor(input) + +/datum/preference/color/create_default_value() + return random_color() + +/datum/preference/color/pref_serialize(input) + return sanitize_hexcolor(input) + +/datum/preference/color/is_valid(value) + return findtext(value, GLOB.is_color) + +/// A numeric preference with a minimum and maximum value +/datum/preference/numeric + /// The minimum value + var/minimum + + /// The maximum value + var/maximum + + /// The step of the number, such as 1 for integers or 0.5 for half-steps. + var/step = 1 + + abstract_type = /datum/preference/numeric + +/datum/preference/numeric/pref_deserialize(input, datum/preferences/preferences) + if(istext(input)) // Sometimes TGUI will return a string instead of a number, so we take that into account. + input = text2num(input) // Worst case, it's null, it'll just use create_default_value() + return sanitize_float(input, minimum, maximum, step, create_default_value()) + +/datum/preference/numeric/pref_serialize(input) + return sanitize_float(input, minimum, maximum, step, create_default_value()) + +/datum/preference/numeric/create_default_value() + return rand(minimum, maximum) + +/datum/preference/numeric/is_valid(value) + return isnum(value) && value >= round(minimum, step) && value <= round(maximum, step) + +/datum/preference/numeric/compile_constant_data() + return list( + "minimum" = minimum, + "maximum" = maximum, + "step" = step, + ) + +/// A preference whose value is always TRUE or FALSE +/datum/preference/toggle + abstract_type = /datum/preference/toggle + + /// The default value of the toggle, if create_default_value is not specified + var/default_value = TRUE + +/datum/preference/toggle/create_default_value() + return default_value + +/datum/preference/toggle/pref_deserialize(input, datum/preferences/preferences) + return !!input + +/datum/preference/toggle/is_valid(value) + return value == TRUE || value == FALSE + + +/// A string-based preference accepting arbitrary string values entered by the user, with a maximum length. +/datum/preference/text + abstract_type = /datum/preference/text + + /// What is the maximum length of the value allowed in this field? + var/maximum_value_length = 256 + + /// Should we strip HTML the input or simply restrict it to the maximum_value_length? + var/should_strip_html = TRUE + + +/datum/preference/text/pref_deserialize(input, datum/preferences/preferences) + return should_strip_html ? STRIP_HTML_SIMPLE(input, maximum_value_length) : copytext(input, 1, maximum_value_length) + +/datum/preference/text/create_default_value() + return "" + +/datum/preference/text/is_valid(value) + return istext(value) && length(value) < maximum_value_length + +/datum/preference/text/compile_constant_data() + return list("maximum_length" = maximum_value_length) diff --git a/code/modules/client/preferences/middleware/_middleware.dm b/code/modules/client/preferences/middleware/_middleware.dm new file mode 100644 index 00000000000..8f47f73642c --- /dev/null +++ b/code/modules/client/preferences/middleware/_middleware.dm @@ -0,0 +1,52 @@ +/// Preference middleware is code that helps to decentralize complicated preference features. +/datum/preference_middleware + /// The preferences datum + var/datum/preferences/preferences + + /// The key that will be used for get_constant_data(). + /// If null, will use the typepath minus /datum/preference_middleware. + var/key = null + + /// Map of ui_act actions -> proc paths to call. + /// Signature is `(list/params, mob/user) -> TRUE/FALSE. + /// Return output is the same as ui_act--TRUE if it should update, FALSE if it should not + var/list/action_delegations = list() + +/datum/preference_middleware/New(datum/preferences) + src.preferences = preferences + + if (isnull(key)) + // + 2 coming from the off-by-one of copytext, and then another from the slash + key = copytext("[type]", length("[parent_type]") + 2) + +/datum/preference_middleware/Destroy() + preferences = null + return ..() + +/// Append all of these into ui_data +/datum/preference_middleware/proc/get_ui_data(mob/user) + return list() + +/// Append all of these into ui_static_data +/datum/preference_middleware/proc/get_ui_static_data(mob/user) + return list() + +/// Append all of these into ui_assets +/datum/preference_middleware/proc/get_ui_assets() + return list() + +/// Append all of these into /datum/asset/json/preferences. +/datum/preference_middleware/proc/get_constant_data() + return null + +/// Merge this into the result of compile_character_preferences. +/datum/preference_middleware/proc/get_character_preferences(mob/user) + return null + +/// Called every set_preference, returns TRUE if this handled it. +/datum/preference_middleware/proc/pre_set_preference(mob/user, preference, value) + return FALSE + +/// Called when a character is changed. +/datum/preference_middleware/proc/on_new_character(mob/user) + return diff --git a/code/modules/client/preferences/migrations/13_preferences.dm b/code/modules/client/preferences/migrations/13_preferences.dm new file mode 100644 index 00000000000..1c6eb47d31b --- /dev/null +++ b/code/modules/client/preferences/migrations/13_preferences.dm @@ -0,0 +1,12 @@ +/// Transforms the bay style `"preferences": ["SOUND_MIDI", ...]` to `"SOUND_MIDI": 1` and `"preferences_disabled": [...]` to `0`. +/datum/preferences/proc/migration_13_preferences(datum/json_savefile/S) + var/list/preferences_enabled = S.get_entry("preferences") + for(var/key in preferences_enabled) + S.set_entry("[key]", TRUE) + + var/list/preferences_disabled = S.get_entry("preferences_disabled") + for(var/key in preferences_disabled) + S.set_entry("[key]", FALSE) + + // Force a reload of the value cache + apply_all_client_preferences() diff --git a/code/modules/client/preferences/migrations/14_nifs.dm b/code/modules/client/preferences/migrations/14_nifs.dm new file mode 100644 index 00000000000..95f039591e3 --- /dev/null +++ b/code/modules/client/preferences/migrations/14_nifs.dm @@ -0,0 +1,17 @@ +/// Moves nif stuff to it's own file +/datum/preferences/proc/migration_14_nifs(datum/json_savefile/S) + var/datum/json_savefile/new_savefile = new /datum/json_savefile(nif_savefile_path(client_ckey)) + + for(var/slot in 1 to CONFIG_GET(number/character_slots)) + var/list/prefs = S.get_entry("character[slot]", null) + if(!islist(prefs)) + continue + + var/list/new_data = list() + new_data["nif_path"] = prefs["nif_path"] + new_data["nif_durability"] = prefs["nif_durability"] + new_data["nif_savedata"] = prefs["nif_savedata"] + + new_savefile.set_entry("character[slot]", new_data) + + new_savefile.save() diff --git a/code/modules/client/preferences/migrations/15_nif_path.dm b/code/modules/client/preferences/migrations/15_nif_path.dm new file mode 100644 index 00000000000..cb68e8b5682 --- /dev/null +++ b/code/modules/client/preferences/migrations/15_nif_path.dm @@ -0,0 +1,12 @@ +/// Moves nif stuff to it's own file +/datum/preferences/proc/migration_15_nif_path(datum/json_savefile/S) + var/datum/json_savefile/new_savefile = new /datum/json_savefile(nif_savefile_path(client_ckey)) + + for(var/slot in 1 to CONFIG_GET(number/character_slots)) + var/list/prefs = new_savefile.get_entry("character[slot]", null) + if(!islist(prefs)) + continue + prefs["nif_path"] = replacetext(prefs["nif_path"], "/device", "") + new_savefile.set_entry("character[slot]", prefs) + + new_savefile.save() diff --git a/code/modules/client/preferences/preferences_tg.dm b/code/modules/client/preferences/preferences_tg.dm new file mode 100644 index 00000000000..944bffc0392 --- /dev/null +++ b/code/modules/client/preferences/preferences_tg.dm @@ -0,0 +1,28 @@ +// Contains all of the variables and such to make tg prefs work +/datum/preferences + /// The savefile relating to character preferences, PREFERENCE_CHARACTER + var/list/character_data + + /// A list of keys that have been updated since the last save. + var/list/recently_updated_keys = list() + + /// A cache of preference entries to values. + /// Used to avoid expensive READ_FILE every time a preference is retrieved. + var/value_cache = list() + + /// If set to TRUE, will update character_profiles on the next ui_data tick. + var/tainted_character_profiles = FALSE + + var/current_window = PREFERENCE_TAB_GAME_PREFERENCES + + /// A list of instantiated middleware + var/list/datum/preference_middleware/middleware = list() + +/// Applies all PREFERENCE_PLAYER preferences +/datum/preferences/proc/apply_all_client_preferences() + for(var/datum/preference/preference as anything in get_preferences_in_priority_order()) + if(preference.savefile_identifier != PREFERENCE_PLAYER) + continue + + value_cache -= preference.type + preference.apply_to_client(client, read_preference(preference.type)) diff --git a/code/modules/client/preferences/types/admin.dm b/code/modules/client/preferences/types/admin.dm new file mode 100644 index 00000000000..f066bc041e0 --- /dev/null +++ b/code/modules/client/preferences/types/admin.dm @@ -0,0 +1,73 @@ +/datum/preference/toggle/show_attack_logs + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "CHAT_ATTACKLOGS" + default_value = FALSE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/show_attack_logs/is_accessible(datum/preferences/preferences) + . = ..() + if(!.) + return + + return check_rights(R_MOD|R_ADMIN, FALSE, preferences.client) + +/datum/preference/toggle/show_debug_logs + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "CHAT_DEBUGLOGS" + default_value = FALSE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/show_debug_logs/is_accessible(datum/preferences/preferences) + . = ..() + if(!.) + return + + return check_rights(R_DEBUG|R_ADMIN, FALSE, preferences.client) + +/datum/preference/toggle/show_chat_prayers + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "CHAT_PRAYER" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/show_chat_prayers/is_accessible(datum/preferences/preferences) + . = ..() + if(!.) + return + + return check_rights(R_EVENT|R_ADMIN, FALSE, preferences.client) + +// General holder prefs +/datum/preference/toggle/holder + abstract_type = /datum/preference/toggle/holder + +/datum/preference/toggle/holder/is_accessible(datum/preferences/preferences) + . = ..(preferences) + if(!.) + return + + return preferences.client.holder + +/datum/preference/toggle/holder/play_adminhelp_ping + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "SOUND_ADMINHELP" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/holder/hear_radio + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "CHAT_RADIO" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/holder/show_rlooc + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "CHAT_RLOOC" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/holder/show_staff_dsay + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "CHAT_ADSAY" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER diff --git a/code/modules/client/preferences/types/auto_fit_viewport.dm b/code/modules/client/preferences/types/auto_fit_viewport.dm new file mode 100644 index 00000000000..3550af05454 --- /dev/null +++ b/code/modules/client/preferences/types/auto_fit_viewport.dm @@ -0,0 +1,7 @@ +/datum/preference/toggle/auto_fit_viewport + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "auto_fit_viewport" + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/auto_fit_viewport/apply_to_client_updated(client/client, value) + INVOKE_ASYNC(client, /client/verb/fit_viewport) diff --git a/code/modules/client/preferences/types/chat.dm b/code/modules/client/preferences/types/chat.dm new file mode 100644 index 00000000000..4bf527a1cff --- /dev/null +++ b/code/modules/client/preferences/types/chat.dm @@ -0,0 +1,69 @@ +/datum/preference/toggle/chat_tags + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "CHAT_SHOWICONS" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/show_typing_indicator + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "SHOW_TYPING" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/show_typing_indicator/apply_to_client(client/client, value) + if(!value) + client.stop_thinking() + +/datum/preference/toggle/show_typing_indicator_subtle + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "SHOW_TYPING_SUBTLE" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/show_ooc + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "CHAT_OOC" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/show_looc + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "CHAT_LOOC" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/show_dsay + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "CHAT_DEAD" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/check_mention + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "CHAT_MENTION" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/vore_health_bars + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "VORE_HEALTH_BARS" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/show_lore_news + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "NEWS_POPUP" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/player_tips + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "RECEIVE_TIPS" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/pain_frequency + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "PAIN_FREQUENCY" + default_value = FALSE + savefile_identifier = PREFERENCE_PLAYER diff --git a/code/modules/client/preferences/types/ghost.dm b/code/modules/client/preferences/types/ghost.dm new file mode 100644 index 00000000000..8ae51631edd --- /dev/null +++ b/code/modules/client/preferences/types/ghost.dm @@ -0,0 +1,29 @@ +/datum/preference/toggle/whisubtle_vis + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "WHISUBTLE_VIS" + default_value = FALSE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/ghost_see_whisubtle + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "GHOST_SEE_WHISUBTLE" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/ghost_ears + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "CHAT_GHOSTEARS" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/ghost_sight + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "CHAT_GHOSTSIGHT" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/ghost_radio + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "CHAT_GHOSTRADIO" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER diff --git a/code/modules/client/preferences/types/misc.dm b/code/modules/client/preferences/types/misc.dm new file mode 100644 index 00000000000..3efea588934 --- /dev/null +++ b/code/modules/client/preferences/types/misc.dm @@ -0,0 +1,95 @@ +/// Whether or not to toggle ambient occlusion, the shadows around people +/datum/preference/toggle/ambient_occlusion + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "AMBIENT_OCCLUSION_PREF" + default_value = FALSE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/ambient_occlusion/apply_to_client(client/client, value) + var/datum/plane_holder/PH = client?.mob?.plane_holder + if(PH) + PH.set_ao(VIS_OBJS, value) + PH.set_ao(VIS_MOBS, value) + +/datum/preference/toggle/mob_tooltips + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "MOB_TOOLTIPS" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/inv_tooltips + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "INV_TOOLTIPS" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/attack_icons + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "ATTACK_ICONS" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/precision_placement + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "PRECISE_PLACEMENT" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/hotkeys_default + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "HUD_HOTKEYS" + default_value = FALSE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/show_progress_bar + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "SHOW_PROGRESS" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/safefiring + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "SAFE_FIRING" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/status_indicators + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "SHOW_STATUS" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/status_indicators/apply_to_client(client/client, value) + var/datum/plane_holder/PH = client?.mob?.plane_holder + if(PH) + PH.set_vis(VIS_STATUS, value) + +/datum/preference/toggle/auto_afk + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "AUTO_AFK" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/messenger_embeds + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "MessengerEmbeds" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/autopunctuation + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "AutoPunctuation" + default_value = FALSE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/browser_dev_tools + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "BrowserDevTools" + default_value = FALSE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/browser_dev_tools/apply_to_client(client/client, value) + if(value) + winset(client, null, "browser-options=[DEFAULT_CLIENT_BROWSER_OPTIONS],devtools") + else + winset(client, null, "browser-options=[DEFAULT_CLIENT_BROWSER_OPTIONS]") diff --git a/code/modules/client/preferences/types/runechat.dm b/code/modules/client/preferences/types/runechat.dm new file mode 100644 index 00000000000..1c6ea10fb3c --- /dev/null +++ b/code/modules/client/preferences/types/runechat.dm @@ -0,0 +1,23 @@ +/datum/preference/toggle/runechat_mob + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "RUNECHAT_MOB" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/runechat_obj + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "RUNECHAT_OBJ" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/runechat_border + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "RUNECHAT_BORDER" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/runechat_long_messages + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "RUNECHAT_LONG" + default_value = FALSE + savefile_identifier = PREFERENCE_PLAYER diff --git a/code/modules/client/preferences/types/sound.dm b/code/modules/client/preferences/types/sound.dm new file mode 100644 index 00000000000..83c4109bd09 --- /dev/null +++ b/code/modules/client/preferences/types/sound.dm @@ -0,0 +1,149 @@ +/datum/preference/toggle/play_admin_midis + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "SOUND_MIDI" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/play_lobby_music + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "SOUND_LOBBY" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/play_lobby_music/apply_to_client(client/client, value) + if(value) + client?.playtitlemusic() + else + client?.media?.stop_music() + +/datum/preference/toggle/play_ambience + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "SOUND_AMBIENCE" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/play_ambience/apply_to_client(client/client, value) + if(!value) + client << sound(null, repeat = 0, wait = 0, volume = 0, channel = CHANNEL_AMBIENCE_FORCED) + client << sound(null, repeat = 0, wait = 0, volume = 0, channel = CHANNEL_AMBIENCE) + +/datum/preference/toggle/play_jukebox + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "SOUND_JUKEBOX" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/play_jukebox/apply_to_client(client/client, value) + if(value) + client?.mob?.update_music() + else + client?.mob?.stop_all_music() + +/datum/preference/toggle/instrument_toggle + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "SOUND_INSTRUMENT" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/emote_noises + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "EMOTE_NOISES" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/radio_sounds + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "RADIO_SOUNDS" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/say_sounds + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "SAY_SOUNDS" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/emote_sounds + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "EMOTE_SOUNDS" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/whisper_sounds + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "WHISPER_SOUNDS" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/subtle_sounds + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "SUBTLE_SOUNDS" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/air_pump_noise + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "SOUND_AIRPUMP" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/old_door_sounds + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "SOUND_OLDDOORS" + default_value = FALSE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/department_door_sounds + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "SOUND_DEPARTMENTDOORS" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/pickup_sounds + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "SOUND_PICKED" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/drop_sounds + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "SOUND_DROPPED" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/weather_sounds + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "SOUND_WEATHER" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/supermatter_hum + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "SOUND_SUPERMATTER" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/play_mentorhelp_ping + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "SOUND_MENTORHELP" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +// Vorey sounds +/datum/preference/toggle/belch_noises // Belching noises - pref toggle for 'em + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "BELCH_NOISES" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/eating_noises + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "EATING_NOISES" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/digestion_noises + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "DIGEST_NOISES" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER diff --git a/code/modules/client/preferences/types/ui.dm b/code/modules/client/preferences/types/ui.dm new file mode 100644 index 00000000000..9458652192b --- /dev/null +++ b/code/modules/client/preferences/types/ui.dm @@ -0,0 +1,62 @@ +/datum/preference/toggle/browser_style + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "BROWSER_STYLED" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/vchat_enable + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "VCHAT_ENABLE" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/vchat_enable/apply_to_client(client/client, value) + var/before = client.tgui_panel.oldchat + if(value) + client.tgui_panel.oldchat = FALSE + else + client.tgui_panel.oldchat = TRUE + + // If something actually changed, reload chat + if(before != client.tgui_panel.oldchat) + client.nuke_chat() + + +/datum/preference/toggle/tgui_say + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "TGUI_SAY" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/tgui_say_light + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "TGUI_SAY_LIGHT_MODE" + default_value = FALSE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/tgui_say_light/apply_to_client(client/client, value) + client.tgui_say?.load() + +/datum/preference/toggle/tgui_say_emotes + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "tgui_say_emotes" + default_value = TRUE + savefile_identifier = PREFERENCE_PLAYER + +/datum/preference/toggle/tgui_say_emotes/apply_to_client(client/client, value) + client.tgui_say?.load() + +/datum/preference/numeric/tgui_say_height + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "tgui_say_height" + savefile_identifier = PREFERENCE_PLAYER + + minimum = 1 + maximum = 5 + step = 1 + +/datum/preference/numeric/tgui_say_height/create_default_value() + return 1 + +/datum/preference/numeric/tgui_say_height/apply_to_client(client/client, value) + client.tgui_say?.load() diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index e98e7de3520..b0ec02a892d 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -1,121 +1,277 @@ #define SAVEFILE_VERSION_MIN 8 -#define SAVEFILE_VERSION_MAX 11 - -//handles converting savefiles to new formats -//MAKE SURE YOU KEEP THIS UP TO DATE! -//If the sanity checks are capable of handling any issues. Only increase SAVEFILE_VERSION_MAX, -//this will mean that savefile_version will still be over SAVEFILE_VERSION_MIN, meaning -//this savefile update doesn't run everytime we load from the savefile. -//This is mainly for format changes, such as the bitflags in toggles changing order or something. -//if a file can't be updated, return 0 to delete it and start again -//if a file was updated, return 1 -/datum/preferences/proc/savefile_update() - if(savefile_version < 8) //lazily delete everything + additional files so they can be saved in the new format - for(var/ckey in preferences_datums) - var/datum/preferences/D = preferences_datums[ckey] - if(D == src) - var/delpath = "data/player_saves/[copytext(ckey,1,2)]/[ckey]/" - if(delpath && fexists(delpath)) - fdel(delpath) - break - return 0 - - if(savefile_version == SAVEFILE_VERSION_MAX) //update successful. - save_preferences() - save_character() - return 1 - return 0 +#define SAVEFILE_VERSION_MAX 15 + +/* +SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Carn + This proc checks if the current directory of the savefile S needs updating + It is to be used by the load_character and load_preferences procs. + (S.cd == "/" is preferences, S.cd == "/character[integer]" is a character slot, etc) + + if the current directory's version is below SAVEFILE_VERSION_MIN it will simply wipe everything in that directory + (if we're at root "/" then it'll just wipe the entire savefile, for instance.) + + if its version is below SAVEFILE_VERSION_MAX but above the minimum, it will load data but later call the + respective update_preferences() or update_character() proc. + Those procs allow coders to specify format changes so users do not lose their setups and have to redo them again. + + Failing all that, the standard sanity checks are performed. They simply check the data is suitable, reverting to + initial() values if necessary. +*/ +/datum/preferences/proc/save_data_needs_update(list/save_data) + if(!save_data) // empty list, either savefile isnt loaded or its a new char + return -1 + if(!save_data["version"]) // special case: if there is no version key, such as in character slots before v12 + return -3 + if(save_data["version"] < SAVEFILE_VERSION_MIN) + return -2 + if(save_data["version"] < SAVEFILE_VERSION_MAX) + return save_data["version"] + return -1 + +//should these procs get fairly long +//just increase SAVEFILE_VERSION_MIN so it's not as far behind +//SAVEFILE_VERSION_MAX and then delete any obsolete if clauses +//from these procs. +//This only really meant to avoid annoying frequent players +//if your savefile is 3 months out of date, then 'tough shit'. + +/datum/preferences/proc/update_preferences(current_version, datum/json_savefile/S) + // Migration from BYOND savefiles to JSON: Important milemark. + // if(current_version < 11) + + // Migration for client preferences + if(current_version < 13) + log_debug("[client_ckey] preferences migrating from [current_version] to v13....") + to_chat(client, span_danger("Migrating savefile from version [current_version] to v13...")) + + migration_13_preferences(S) + + log_debug("[client_ckey] preferences successfully migrated from [current_version] to v13.") + to_chat(client, span_danger("v13 savefile migration complete.")) + + // Migration for nifs + if(current_version < 14) + log_debug("[client_ckey] preferences migrating from [current_version] to v14....") + to_chat(client, span_danger("Migrating savefile from version [current_version] to v14...")) + + migration_14_nifs(S) + + log_debug("[client_ckey] preferences successfully migrated from [current_version] to v14.") + to_chat(client, span_danger("v14 savefile migration complete.")) -/datum/preferences/proc/load_path(ckey,filename="preferences.sav") - if(!ckey) return + // Migration for nifs, again, to get rid of the /device path + if(current_version < 15) + log_debug("[client_ckey] preferences migrating from [current_version] to v15....") + to_chat(client, span_danger("Migrating savefile from version [current_version] to v15...")) + + migration_15_nif_path(S) + + log_debug("[client_ckey] preferences successfully migrated from [current_version] to v15.") + to_chat(client, span_danger("v15 savefile migration complete.")) + + +/datum/preferences/proc/update_character(current_version, list/save_data) + // Migration from BYOND savefiles to JSON: Important milemark. + if(current_version == -3) + // Add a version field inside each character + save_data["version"] = SAVEFILE_VERSION_MAX + +/// Migrates from byond savefile to json savefile +/datum/preferences/proc/try_savefile_type_migration() + log_debug("[client_ckey] preferences migrating from savefile to JSON...") + to_chat(client, span_danger("Savefile migration to JSON in progress...")) + + load_path(client.ckey, "preferences.sav") // old save file + var/old_path = path + load_path(client.ckey) + if(!fexists(old_path)) + return + var/datum/json_savefile/json_savefile = new(path) + json_savefile.import_byond_savefile(new /savefile(old_path)) + json_savefile.save() + + log_debug("[client_ckey] preferences successfully migrated from savefile to JSON.") + to_chat(client, span_danger("Savefile migration to JSON is complete.")) + + return TRUE + +/datum/preferences/proc/load_path(ckey, filename = "preferences.json") + if(!ckey || !load_and_save) + return path = "data/player_saves/[copytext(ckey,1,2)]/[ckey]/[filename]" - savefile_version = SAVEFILE_VERSION_MAX + +/datum/preferences/proc/load_savefile() + if(load_and_save && !path) + CRASH("Attempted to load savefile without first loading a path!") + savefile = new /datum/json_savefile(load_and_save ? path : null) /datum/preferences/proc/load_preferences() - if(!path) return 0 - if(!fexists(path)) return 0 - var/savefile/S = new /savefile(path) - if(!S) return 0 - S.cd = "/" - - S["version"] >> savefile_version - //Conversion - if(!savefile_version || !isnum(savefile_version) || savefile_version < SAVEFILE_VERSION_MIN || savefile_version > SAVEFILE_VERSION_MAX) - if(!savefile_update()) //handles updates - savefile_version = SAVEFILE_VERSION_MAX - save_preferences() - save_character() - return 0 - - player_setup.load_preferences(S) - return 1 + if(!savefile) + stack_trace("Attempted to load the preferences of [client] without a savefile; did you forget to call load_savefile?") + load_savefile() + if(!savefile) + stack_trace("Failed to load the savefile for [client] after manually calling load_savefile; something is very wrong.") + return FALSE + + var/needs_update = save_data_needs_update(savefile.get_entry()) + if(load_and_save && (needs_update <= -2)) //fatal, can't load any data + var/bacpath = "[path].updatebac" //todo: if the savefile version is higher then the server, check the backup, and give the player a prompt to load the backup + if(fexists(bacpath)) + fdel(bacpath) //only keep 1 version of backup + fcopy(savefile.path, bacpath) //byond helpfully lets you use a savefile for the first arg. + return FALSE + + apply_all_client_preferences() + + //try to fix any outdated data if necessary + if(needs_update >= 0) + var/bacpath = "[path].updatebac" //todo: if the savefile version is higher then the server, check the backup, and give the player a prompt to load the backup + if(fexists(bacpath)) + fdel(bacpath) //only keep 1 version of backup + fcopy(savefile.path, bacpath) //byond helpfully lets you use a savefile for the first arg. + update_preferences(needs_update, savefile) //needs_update = savefile_version if we need an update (positive integer) + + // Load general prefs after applying migrations + player_setup.load_preferences(savefile) + + //save the updated version + var/old_default_slot = default_slot + // var/old_max_save_slots = max_save_slots + + for(var/slot in savefile.get_entry()) //but first, update all current character slots. + if (copytext(slot, 1, 10) != "character") + continue + var/slotnum = text2num(copytext(slot, 10)) + if (!slotnum) + continue + // max_save_slots = max(max_save_slots, slotnum) //so we can still update byond member slots after they lose memeber status + default_slot = slotnum + if(load_character()) + save_character() + default_slot = old_default_slot + // max_save_slots = old_max_save_slots + save_preferences() + else + // Load general prefs + player_setup.load_preferences(savefile) + + return TRUE /datum/preferences/proc/save_preferences() - if(!path) return 0 - var/savefile/S = new /savefile(path) - if(!S) return 0 - S.cd = "/" + if(!savefile) + CRASH("Attempted to save the preferences of [client] without a savefile. This should have been handled by load_preferences()") + savefile.set_entry("version", SAVEFILE_VERSION_MAX) //updates (or failing that the sanity checks) will ensure data is not invalid at load. Assume up-to-date + + player_setup.save_preferences(savefile) + + for(var/preference_type in GLOB.preference_entries) + var/datum/preference/preference = GLOB.preference_entries[preference_type] + if(preference.savefile_identifier != PREFERENCE_PLAYER) + continue + + if(!(preference.type in recently_updated_keys)) + continue + + recently_updated_keys -= preference.type + + if(preference_type in value_cache) + write_preference(preference, preference.pref_serialize(value_cache[preference_type])) + + savefile.save() + + return TRUE - S["version"] << savefile_version - player_setup.save_preferences(S) - return 1 +/datum/preferences/proc/reset_slot() + var/bacpath = "[path].resetbac" + if(fexists(bacpath)) + fdel(bacpath) //only keep 1 version of backup + fcopy(savefile.path, bacpath) //byond helpfully lets you use a savefile for the first arg. + + savefile.remove_entry("character[default_slot]") + default_slot = 1 + + clear_character_previews() + + // Load slot 1 character + load_character() + // And save them immediately, in case we load an empty slot + save_character() + save_preferences() + return TRUE /datum/preferences/proc/load_character(slot) - if(!path) return 0 - if(!fexists(path)) return 0 - var/savefile/S = new /savefile(path) - if(!S) return 0 - S.cd = "/" - if(!slot) slot = default_slot - if(slot != SAVE_RESET) // SAVE_RESET will reset the slot as though it does not exist, but keep the current slot for saving purposes. - slot = sanitize_integer(slot, 1, config.character_slots, initial(default_slot)) - if(slot != default_slot) - default_slot = slot - S["default_slot"] << slot - else - S["default_slot"] << default_slot + SHOULD_NOT_SLEEP(TRUE) + if(!slot) + slot = default_slot + + slot = sanitize_integer(slot, 1, CONFIG_GET(number/character_slots), initial(default_slot)) + if(slot != default_slot) + default_slot = slot + savefile.set_entry("default_slot", slot) + + var/list/save_data = savefile.get_entry("character[slot]") // This is allowed to be null and will give a -1 in needs_update + + var/needs_update = save_data_needs_update(save_data) + if(needs_update == -2) //fatal, can't load any data + return FALSE - if(slot != SAVE_RESET) - S.cd = "/character[slot]" - player_setup.load_character(S) + // Read everything into cache (pre-migrations, as migrations should have access to deserialized data) + // Uses priority order as some values may rely on others for creating default values + for(var/datum/preference/preference as anything in get_preferences_in_priority_order()) + if(preference.savefile_identifier != PREFERENCE_CHARACTER) + continue + + value_cache -= preference.type + read_preference(preference.type) + + // It has to be a list or load_character freaks out + if(!save_data) + player_setup.load_character(list()) else - player_setup.load_character(S) - S.cd = "/character[default_slot]" - player_setup.save_character(S) + player_setup.load_character(save_data) + + //try to fix any outdated data if necessary + //preference updating will handle saving the updated data for us. + if(needs_update >= 0 || needs_update == -3) + update_character(needs_update, save_data) //needs_update == savefile_version if we need an update (positive integer - clear_character_previews() // VOREStation Edit - return 1 + clear_character_previews() + return TRUE /datum/preferences/proc/save_character() - if(!path) return 0 - var/savefile/S = new /savefile(path) - if(!S) return 0 - S.cd = "/character[default_slot]" + SHOULD_NOT_SLEEP(TRUE) + if(!savefile) + return FALSE - player_setup.save_character(S) - return 1 + var/tree_key = "character[default_slot]" + if(!(tree_key in savefile.get_entry())) + savefile.set_entry(tree_key, list()) + var/save_data = savefile.get_entry(tree_key) + + save_data["version"] = SAVEFILE_VERSION_MAX //load_character will sanitize any bad data, so assume up-to-date. + player_setup.save_character(save_data) + + return TRUE /datum/preferences/proc/overwrite_character(slot) - if(!path) return 0 - if(!fexists(path)) return 0 - var/savefile/S = new /savefile(path) - if(!S) return 0 - if(!slot) slot = default_slot - if(slot != SAVE_RESET) - slot = sanitize_integer(slot, 1, config.character_slots, initial(default_slot)) - if(slot != default_slot) - default_slot = slot - nif_path = nif_durability = nif_savedata = null //VOREStation Add - Don't copy NIF - S["default_slot"] << slot + if(!savefile) + return FALSE + if(!slot) + slot = default_slot - else - S["default_slot"] << default_slot + // This basically just changes default_slot without loading the correct data, so the next save call will overwrite + // the slot + slot = sanitize_integer(slot, 1, CONFIG_GET(number/character_slots), initial(default_slot)) + if(slot != default_slot) + default_slot = slot + nif_path = nif_durability = nif_savedata = null //VOREStation Add - Don't copy NIF + savefile.set_entry("default_slot", slot) - return 1 + return TRUE /datum/preferences/proc/sanitize_preferences() player_setup.sanitize_setup() - return 1 + return TRUE #undef SAVEFILE_VERSION_MAX #undef SAVEFILE_VERSION_MIN diff --git a/code/modules/client/preferences_tgui.dm b/code/modules/client/preferences_tgui.dm new file mode 100644 index 00000000000..9e3b430f68f --- /dev/null +++ b/code/modules/client/preferences_tgui.dm @@ -0,0 +1,138 @@ +/datum/preferences/tgui_interact(mob/user, datum/tgui/ui, datum/tgui/parent_ui, custom_state) + ui = SStgui.try_update_ui(user, src, ui) + if(!ui) + ui = new(user, src, "PreferencesMenu", "Preferences") + ui.set_autoupdate(FALSE) + ui.open() + +/datum/preferences/tgui_state(mob/user) + return GLOB.tgui_always_state + +/datum/preferences/tgui_status(mob/user, datum/tgui_state/state) + return user.client == client ? STATUS_INTERACTIVE : STATUS_CLOSE + +/datum/preferences/ui_assets(mob/user) + var/list/assets = list( + // get_asset_datum(/datum/asset/spritesheet/preferences), + get_asset_datum(/datum/asset/json/preferences), + ) + + for (var/datum/preference_middleware/preference_middleware as anything in middleware) + assets += preference_middleware.get_ui_assets() + + return assets + +/datum/preferences/tgui_data(mob/user) + var/list/data = list() + + if(tainted_character_profiles) + data["character_profiles"] = create_character_profiles() + tainted_character_profiles = FALSE + + data["character_preferences"] = compile_character_preferences(user) + + data["active_slot"] = default_slot + + for(var/datum/preference_middleware/preference_middleware as anything in middleware) + data += preference_middleware.get_ui_data(user) + + return data + +/datum/preferences/tgui_static_data(mob/user) + var/list/data = list() + + data["character_profiles"] = create_character_profiles() + + // data["character_preview_view"] = character_preview_view.assigned_map + // data["overflow_role"] = SSjob.GetJobType(SSjob.overflow_role).title + data["window"] = current_window + + for(var/datum/preference_middleware/preference_middleware as anything in middleware) + data += preference_middleware.get_ui_static_data(user) + + return data + +/datum/preferences/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state) + . = ..() + if(.) + return + + switch(action) + if("set_preference") + var/requested_preference_key = params["preference"] + var/value = params["value"] + + for(var/datum/preference_middleware/preference_middleware as anything in middleware) + if(preference_middleware.pre_set_preference(ui.user, requested_preference_key, value)) + return TRUE + + var/datum/preference/requested_preference = GLOB.preference_entries_by_key[requested_preference_key] + if(isnull(requested_preference)) + return FALSE + + // SAFETY: `update_preference` performs validation checks + if(!update_preference(requested_preference, value)) + return FALSE + + // if(istype(requested_preference, /datum/preference/name)) // TODO: do this + // tainted_character_profiles = TRUE + + return TRUE + + for(var/datum/preference_middleware/preference_middleware as anything in middleware) + var/delegation = preference_middleware.action_delegations[action] + if(!isnull(delegation)) + return call(preference_middleware, delegation)(params, ui.user) + + return FALSE + +/datum/preferences/tgui_close(mob/user) + save_character() + save_preferences() + +/datum/preferences/proc/create_character_profiles() + var/list/profiles = list() + + for(var/index in 1 to CONFIG_GET(number/character_slots)) + // TODO: It won't be updated in the savefile yet, so just read the name directly + // if(index == default_slot) + // profiles += read_preference(/datum/preference/name/real_name) + // continue + + var/tree_key = "character[index]" + var/save_data = savefile.get_entry(tree_key) + var/name = save_data?["real_name"] + + if(isnull(name)) + profiles += null + continue + + profiles += name + + return profiles + +/datum/preferences/proc/compile_character_preferences(mob/user) + var/list/preferences = list() + + for(var/datum/preference/preference as anything in get_preferences_in_priority_order()) + if(!preference.is_accessible(src)) + continue + + var/value = read_preference(preference.type) + var/data = preference.compile_ui_data(user, value) + + LAZYINITLIST(preferences[preference.category]) + preferences[preference.category][preference.savefile_key] = data + + for(var/datum/preference_middleware/preference_middleware as anything in middleware) + var/list/append_character_preferences = preference_middleware.get_character_preferences(user) + if(isnull(append_character_preferences)) + continue + + for(var/category in append_character_preferences) + if(category in preferences) + preferences[category] += append_character_preferences[category] + else + preferences[category] = append_character_preferences[category] + + return preferences diff --git a/code/modules/client/preferences_toggle_procs.dm b/code/modules/client/preferences_toggle_procs.dm index 97e33d66c96..fbd61f46eab 100644 --- a/code/modules/client/preferences_toggle_procs.dm +++ b/code/modules/client/preferences_toggle_procs.dm @@ -1,232 +1,7 @@ //Toggles for preferences, normal clients -/client/verb/toggle_ghost_ears() - set name = "Toggle Ghost Ears" - set category = "Preferences" - set desc = "Toggles between seeing all mob speech and only nearby mob speech as an observer." - - var/pref_path = /datum/client_preference/ghost_ears - - toggle_preference(pref_path) - - to_chat(src,"You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] hear all mob speech as a ghost.") - - SScharacter_setup.queue_preferences_save(prefs) - - feedback_add_details("admin_verb","TGEars") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - -/client/verb/toggle_ghost_vision() - set name = "Toggle Ghost Sight" - set category = "Preferences" - set desc = "Toggles between seeing all mob emotes and only nearby mob emotes as an observer." - - var/pref_path = /datum/client_preference/ghost_sight - - toggle_preference(pref_path) - - to_chat(src,"You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] see all emotes as a ghost.") - - SScharacter_setup.queue_preferences_save(prefs) - - feedback_add_details("admin_verb","TGVision") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - -/client/verb/toggle_ghost_radio() - set name = "Toggle Ghost Radio" - set category = "Preferences" - set desc = "Toggles between seeing all radio chat and only nearby radio chatter as an observer." - - var/pref_path = /datum/client_preference/ghost_radio - - toggle_preference(pref_path) - - to_chat(src,"You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] hear all radios as a ghost.") - - SScharacter_setup.queue_preferences_save(prefs) - - feedback_add_details("admin_verb","TGRadio") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - -/client/verb/toggle_deadchat() - set name = "Toggle Deadchat" - set category = "Preferences" - set desc = "Toggles visibility of dead chat." - - var/pref_path = /datum/client_preference/show_dsay - - toggle_preference(pref_path) - - to_chat(src,"You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] hear dead chat as a ghost.") - - SScharacter_setup.queue_preferences_save(prefs) - - feedback_add_details("admin_verb","TDeadChat") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - -/client/verb/toggle_ooc() - set name = "Toggle OOC" - set category = "Preferences" - set desc = "Toggles visibility of global out of character chat." - - var/pref_path = /datum/client_preference/show_ooc - - toggle_preference(pref_path) - - to_chat(src,"You will [ (is_preference_enabled(/datum/client_preference/show_ooc)) ? "now" : "no longer"] hear global out of character chat.") - - SScharacter_setup.queue_preferences_save(prefs) - - feedback_add_details("admin_verb","TOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - -/client/verb/toggle_looc() - set name = "Toggle LOOC" - set category = "Preferences" - set desc = "Toggles visibility of local out of character chat." - - var/pref_path = /datum/client_preference/show_looc - - toggle_preference(pref_path) - - to_chat(src,"You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] hear local out of character chat.") - - SScharacter_setup.queue_preferences_save(prefs) - - feedback_add_details("admin_verb","TLOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - -/client/verb/toggle_precision_placement() - set name = "Toggle Precision Placement" - set category = "Preferences" - set desc = "Toggles whether objects placed on table will be on cursor position or centered." - - var/pref_path = /datum/client_preference/precision_placement - - toggle_preference(pref_path) - - to_chat(src,"You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] place items where your cursor is on the table.") - - SScharacter_setup.queue_preferences_save(prefs) - - feedback_add_details("admin_verb","TPIP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - -/client/verb/toggle_typing() - set name = "Toggle Typing Indicator" - set category = "Preferences" - set desc = "Toggles you having the speech bubble typing indicator." - - var/pref_path = /datum/client_preference/show_typing_indicator - - toggle_preference(pref_path) - - to_chat(src,"You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] have the speech indicator.") - - SScharacter_setup.queue_preferences_save(prefs) - - feedback_add_details("admin_verb","TTIND") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - -/client/verb/toggle_ahelp_sound() - set name = "Toggle Admin Help Sound" - set category = "Preferences" - set desc = "Toggles the ability to hear a noise broadcasted when you get an admin message." - - var/pref_path = /datum/client_preference/holder/play_adminhelp_ping - - toggle_preference(pref_path) - - to_chat(src,"You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] receive noise from admin messages.") - - SScharacter_setup.queue_preferences_save(prefs) - - feedback_add_details("admin_verb","TAHelp") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - -/client/verb/toggle_lobby_music() - set name = "Toggle Lobby Music" - set category = "Preferences" - set desc = "Toggles the ability to hear the music in the lobby." - - var/pref_path = /datum/client_preference/play_lobby_music - - toggle_preference(pref_path) - - to_chat(src,"You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] hear music in the lobby.") - - SScharacter_setup.queue_preferences_save(prefs) - - feedback_add_details("admin_verb","TLobMusic") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - -/client/verb/toggle_admin_midis() - set name = "Toggle Admin Music" - set category = "Preferences" - set desc = "Toggles the ability to hear music played by admins." - - var/pref_path = /datum/client_preference/play_admin_midis - - toggle_preference(pref_path) - - to_chat(src,"You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] hear music from admins.") - - SScharacter_setup.queue_preferences_save(prefs) - - feedback_add_details("admin_verb","TAMidis") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - -/client/verb/toggle_ambience() - set name = "Toggle Ambience" - set category = "Preferences" - set desc = "Toggles the ability to hear local ambience." - - var/pref_path = /datum/client_preference/play_ambiance - - toggle_preference(pref_path) - - to_chat(src,"You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] hear ambient noise.") - - SScharacter_setup.queue_preferences_save(prefs) - - feedback_add_details("admin_verb","TAmbience") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - -/client/verb/toggle_weather_sounds() - set name = "Toggle Weather Sounds" - set category = "Preferences" - set desc = "Toggles the ability to hear weather sounds while on a planet." - - var/pref_path = /datum/client_preference/weather_sounds - - toggle_preference(pref_path) - - to_chat(src,"You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] hear weather sounds.") - - SScharacter_setup.queue_preferences_save(prefs) - - feedback_add_details("admin_verb","TWeatherSounds") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - -/client/verb/toggle_supermatter_hum() - set name = "Toggle SM Hum" // Avoiding using the full 'Supermatter' name to not conflict with the Setup-Supermatter adminverb. - set category = "Preferences" - set desc = "Toggles the ability to hear supermatter hums." - - var/pref_path = /datum/client_preference/supermatter_hum - - toggle_preference(pref_path) - - to_chat(src,"You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] hear a hum from the supermatter.") - - SScharacter_setup.queue_preferences_save(prefs) - - feedback_add_details("admin_verb","TSupermatterHum") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - -/client/verb/toggle_jukebox() - set name = "Toggle Jukebox" - set category = "Preferences" - set desc = "Toggles the ability to hear jukebox music." - - var/pref_path = /datum/client_preference/play_jukebox - - toggle_preference(pref_path) - - to_chat(src, "You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] hear jukebox music.") - - SScharacter_setup.queue_preferences_save(prefs) - - feedback_add_details("admin_verb","TJukebox") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - /client/verb/toggle_be_special(role in be_special_flags) set name = "Toggle Special Role Candidacy" - set category = "Preferences" + set category = "Preferences.Character" set desc = "Toggles which special roles you would like to be a candidate for, during events." var/role_flag = be_special_flags[role] @@ -239,149 +14,9 @@ feedback_add_details("admin_verb","TBeSpecial") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! -/client/verb/toggle_air_pump_hum() - set name = "Toggle Air Vent Noise" - set category = "Preferences" - set desc = "Toggles the ability to hear air vent humming." - - var/pref_path = /datum/client_preference/air_pump_noise - - toggle_preference(pref_path) - - to_chat(src, "You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] hear air vents hum, start, and stop.") - - SScharacter_setup.queue_preferences_save(prefs) - - feedback_add_details("admin_verb","TAirPumpNoise") - -/client/verb/toggle_old_door_sounds() - set name = "Toggle Old Door Sounds" - set category = "Preferences" - set desc = "Toggles door sounds between old and new." - - var/pref_path = /datum/client_preference/old_door_sounds - - toggle_preference(pref_path) - - to_chat(src, "You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] hear the legacy door sounds.") - - SScharacter_setup.queue_preferences_save(prefs) - - feedback_add_details("admin_verb","TOldDoorSounds") - -/client/verb/toggle_department_door_sounds() - set name = "Toggle Department Door Sounds" - set category = "Preferences" - set desc = "Toggles hearing of department-specific door sounds." - - var/pref_path = /datum/client_preference/department_door_sounds - - toggle_preference(pref_path) - - to_chat(src, "You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] hear per-department door sounds.") - - SScharacter_setup.queue_preferences_save(prefs) - - feedback_add_details("admin_verb","TDepartmentDoorSounds") - -/client/verb/toggle_pickup_sounds() - set name = "Toggle Picked Up Item Sounds" - set category = "Preferences" - set desc = "Toggles the ability to hear sounds when items are picked up." - - var/pref_path = /datum/client_preference/pickup_sounds - - toggle_preference(pref_path) - - to_chat(src, "You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] hear sounds when items are picked up.") - - SScharacter_setup.queue_preferences_save(prefs) - - feedback_add_details("admin_verb", "TPickupSounds") - -/client/verb/toggle_drop_sounds() - set name = "Toggle Dropped Item Sounds" - set category = "Preferences" - set desc = "Toggles the ability to hear sounds when items are dropped or thrown." - - var/pref_path = /datum/client_preference/drop_sounds - - toggle_preference(pref_path) - - to_chat(src, "You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] hear sounds when items are dropped or thrown.") - - SScharacter_setup.queue_preferences_save(prefs) - - feedback_add_details("admin_verb", "TDropSounds") - -/client/verb/toggle_safe_firing() - set name = "Toggle Gun Firing Intent Requirement" - set category = "Preferences" - set desc = "Toggles between safe and dangerous firing. Safe requires a non-help intent to fire, dangerous can be fired on help intent." - - var/pref_path = /datum/client_preference/safefiring - toggle_preference(pref_path) - SScharacter_setup.queue_preferences_save(prefs) - - to_chat(src,"You will now use [(is_preference_enabled(/datum/client_preference/safefiring)) ? "safe" : "dangerous"] firearms firing.") - - feedback_add_details("admin_verb","TFiringMode") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - -/client/verb/toggle_mob_tooltips() - set name = "Toggle Mob Tooltips" - set category = "Preferences" - set desc = "Toggles displaying name/species over mobs when they are moused over." - - var/pref_path = /datum/client_preference/mob_tooltips - toggle_preference(pref_path) - SScharacter_setup.queue_preferences_save(prefs) - - to_chat(src,"You will now [(is_preference_enabled(/datum/client_preference/mob_tooltips)) ? "see" : "not see"] mob tooltips.") - - feedback_add_details("admin_verb","TMobTooltips") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - -/client/verb/toggle_inv_tooltips() - set name = "Toggle Item Tooltips" - set category = "Preferences" - set desc = "Toggles displaying name/desc over items when they are moused over (only applies in inventory)." - - var/pref_path = /datum/client_preference/inv_tooltips - toggle_preference(pref_path) - SScharacter_setup.queue_preferences_save(prefs) - - to_chat(src,"You will now [(is_preference_enabled(/datum/client_preference/inv_tooltips)) ? "see" : "not see"] inventory tooltips.") - - feedback_add_details("admin_verb","TInvTooltips") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - -/client/verb/toggle_hear_instruments() - set name = "Toggle Hear/Ignore Instruments" - set category = "Preferences" - set desc = "Toggles the ability to hear instruments playing." - - var/pref_path = /datum/client_preference/instrument_toggle - toggle_preference(pref_path) - SScharacter_setup.queue_preferences_save(prefs) - - to_chat(src, "You will now [(is_preference_enabled(/datum/client_preference/instrument_toggle)) ? "hear" : "not hear"] instruments being played.") - - feedback_add_details("admin_verb","THInstm") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - -/client/verb/toggle_vchat() - set name = "Toggle TGChat" - set category = "Preferences" - set desc = "Toggles TGChat. Reloading TGChat and/or reconnecting required to affect changes." - - var/pref_path = /datum/client_preference/vchat_enable - toggle_preference(pref_path) - SScharacter_setup.queue_preferences_save(prefs) - - to_chat(src, "You have toggled TGChat [is_preference_enabled(pref_path) ? "on" : "off"]. \ - You will have to reload TGChat and/or reconnect to the server for these changes to take place. \ - TGChat message persistence is not guaranteed if you change this again before the start of the next round.") - /client/verb/toggle_chat_timestamps() set name = "Toggle Chat Timestamps" - set category = "Preferences" + set category = "Preferences.Chat" set desc = "Toggles whether or not messages in chat will display timestamps. Enabling this will not add timestamps to messages that have already been sent." prefs.chat_timestamp = !prefs.chat_timestamp //There is no preference datum for tgui input lock, nor for any TGUI prefs. @@ -389,191 +24,37 @@ to_chat(src, span_notice("You have toggled chat timestamps: [prefs.chat_timestamp ? "ON" : "OFF"].")) -/client/verb/toggle_status_indicators() - set name = "Toggle Status Indicators" - set category = "Preferences" - set desc = "Toggles seeing status indicators over peoples' heads." - - var/pref_path = /datum/client_preference/status_indicators - toggle_preference(pref_path) - SScharacter_setup.queue_preferences_save(prefs) - - to_chat(src, "You will now [(is_preference_enabled(/datum/client_preference/status_indicators)) ? "see" : "not see"] status indicators.") - - feedback_add_details("admin_verb","TStatusIndicators") - - -/client/verb/toggle_radio_sounds() - set name = "Toggle Radio Sounds" - set category = "Preferences" - set desc = "Toggle hearing a sound when somebody speaks over your headset." - - var/pref_path = /datum/client_preference/radio_sounds - toggle_preference(pref_path) - SScharacter_setup.queue_preferences_save(prefs) - - to_chat(src, "You will now [(is_preference_enabled(/datum/client_preference/radio_sounds)) ? "hear" : "not hear"] radio sounds.") - - feedback_add_details("admin_verb","TRadioSounds") - -/client/verb/toggle_say_sounds() - set name = "Sound-Toggle-Say" - set category = "Preferences" - set desc = "Toggle hearing a sound when somebody speaks using say." - - var/pref_path = /datum/client_preference/say_sounds - toggle_preference(pref_path) - SScharacter_setup.queue_preferences_save(prefs) - - to_chat(src, "You will now [(is_preference_enabled(/datum/client_preference/say_sounds)) ? "hear" : "not hear"] say sounds.") - - feedback_add_details("admin_verb","TSaySounds") - -/client/verb/toggle_emote_sounds() - set name = "Sound-Toggle-Me" - set category = "Preferences" - set desc = "Toggle hearing a sound when somebody speaks using me ." - - var/pref_path = /datum/client_preference/emote_sounds - toggle_preference(pref_path) - SScharacter_setup.queue_preferences_save(prefs) - - to_chat(src, "You will now [(is_preference_enabled(/datum/client_preference/emote_sounds)) ? "hear" : "not hear"] me sounds.") - - feedback_add_details("admin_verb","TMeSounds") - -/client/verb/toggle_whisper_sounds() - set name = "Sound-Toggle-Whisper" - set category = "Preferences" - set desc = "Toggle hearing a sound when somebody speaks using whisper." - - var/pref_path = /datum/client_preference/whisper_sounds - toggle_preference(pref_path) - SScharacter_setup.queue_preferences_save(prefs) - - to_chat(src, "You will now [(is_preference_enabled(/datum/client_preference/whisper_sounds)) ? "hear" : "not hear"] whisper sounds.") - - feedback_add_details("admin_verb","TWhisperSounds") - -/client/verb/toggle_subtle_sounds() - set name = "Sound-Toggle-Subtle" - set category = "Preferences" - set desc = "Toggle hearing a sound when somebody uses subtle." - - var/pref_path = /datum/client_preference/subtle_sounds - toggle_preference(pref_path) - SScharacter_setup.queue_preferences_save(prefs) - - to_chat(src, "You will now [(is_preference_enabled(/datum/client_preference/subtle_sounds)) ? "hear" : "not hear"] subtle sounds.") - - feedback_add_details("admin_verb","TSubtleSounds") - -/client/verb/toggle_vore_health_bars() - set name = "Toggle Vore Health Bars" - set category = "Preferences" - set desc = "Toggle the display of vore related health bars" - - var/pref_path = /datum/client_preference/vore_health_bars - toggle_preference(pref_path) - SScharacter_setup.queue_preferences_save(prefs) - - to_chat(src, "Vore related health bars - [(is_preference_enabled(/datum/client_preference/vore_health_bars)) ? "Enabled" : "Disabled"]") - - feedback_add_details("admin_verb","TVoreHealthBars") - // Not attached to a pref datum because those are strict binary toggles /client/verb/toggle_examine_mode() set name = "Toggle Examine Mode" - set category = "Preferences" + set category = "Preferences.Game" set desc = "Toggle the additional behaviour of examining things." prefs.examine_text_mode++ prefs.examine_text_mode %= EXAMINE_MODE_MAX // This cycles through them because if you're already specifically being routed to the examine panel, you probably don't need to have the extra text printed to chat switch(prefs.examine_text_mode) // ... And I only wanted to add one verb if(EXAMINE_MODE_DEFAULT) - to_chat(src, "Examining things will only output the base examine text, and you will not be redirected to the examine panel automatically.") + to_chat(src, span_filter_system("Examining things will only output the base examine text, and you will not be redirected to the examine panel automatically.")) if(EXAMINE_MODE_INCLUDE_USAGE) - to_chat(src, "Examining things will also print any extra usage information normally included in the examine panel to the chat.") + to_chat(src, span_filter_system("Examining things will also print any extra usage information normally included in the examine panel to the chat.")) if(EXAMINE_MODE_SWITCH_TO_PANEL) - to_chat(src, "Examining things will direct you to the examine panel, where you can view extended information about the thing.") + to_chat(src, span_filter_system("Examining things will direct you to the examine panel, where you can view extended information about the thing.")) /client/verb/toggle_multilingual_mode() set name = "Toggle Multilingual Mode" - set category = "Preferences" + set category = "Preferences.Character" set desc = "Toggle the behaviour of multilingual speech parsing." prefs.multilingual_mode++ prefs.multilingual_mode %= MULTILINGUAL_MODE_MAX // Cycles through the various options switch(prefs.multilingual_mode) if(MULTILINGUAL_DEFAULT) - to_chat(src, "Multilingual parsing will only check for the delimiter-key combination (,0galcom-2tradeband).") + to_chat(src, span_filter_system("Multilingual parsing will only check for the delimiter-key combination (,0galcom-2tradeband).")) if(MULTILINGUAL_SPACE) - to_chat(src, "Multilingual parsing will enforce a space after the delimiter-key combination (,0 galcom -2still galcom). The extra space will be consumed by the pattern-matching.") + to_chat(src, span_filter_system("Multilingual parsing will enforce a space after the delimiter-key combination (,0 galcom -2still galcom). The extra space will be consumed by the pattern-matching.")) if(MULTILINGUAL_DOUBLE_DELIMITER) - to_chat(src, "Multilingual parsing will enforce the a language delimiter after the delimiter-key combination (,0,galcom -2 still galcom). The extra delimiter will be consumed by the pattern-matching.") + to_chat(src, span_filter_system("Multilingual parsing will enforce the a language delimiter after the delimiter-key combination (,0,galcom -2 still galcom). The extra delimiter will be consumed by the pattern-matching.")) if(MULTILINGUAL_OFF) - to_chat(src, "Multilingual parsing is now disabled. Entire messages will be in the language specified at the start of the message.") - - -//Toggles for Staff -//Developers - -/client/proc/toggle_debug_logs() - set name = "Toggle Debug Logs" - set category = "Preferences" - set desc = "Toggles seeing debug logs." - - var/pref_path = /datum/client_preference/debug/show_debug_logs - - if(check_rights(R_ADMIN|R_DEBUG)) - toggle_preference(pref_path) - to_chat(src,"You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] receive debug logs.") - SScharacter_setup.queue_preferences_save(prefs) - - feedback_add_details("admin_verb","TADebugLogs") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - -//Mods -/client/proc/toggle_attack_logs() - set name = "Toggle Attack Logs" - set category = "Preferences" - set desc = "Toggles seeing attack logs." - - var/pref_path = /datum/client_preference/mod/show_attack_logs - - if(check_rights(R_ADMIN|R_MOD)) - toggle_preference(pref_path) - to_chat(src,"You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] receive attack logs.") - SScharacter_setup.queue_preferences_save(prefs) - - feedback_add_details("admin_verb","TAAttackLogs") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - -//General -/client/proc/toggle_admin_global_looc() - set name = "Toggle Admin Global LOOC Visibility" - set category = "Preferences" - set desc = "Toggles seeing LOOC messages outside your actual LOOC range." - - var/pref_path = /datum/client_preference/holder/show_rlooc - - if(holder) - toggle_preference(pref_path) - to_chat(src,"You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] hear global LOOC.") - SScharacter_setup.queue_preferences_save(prefs) - - feedback_add_details("admin_verb","TAGlobalLOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - -/client/proc/toggle_admin_deadchat() - set name = "Toggle Admin Living Deadchat" - set category = "Preferences" - set desc = "Toggles seeing deadchat while not observing." - - var/pref_path = /datum/client_preference/holder/show_staff_dsay - - if(holder) - toggle_preference(pref_path) - to_chat(src,"You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] hear deadchat while not observing.") - SScharacter_setup.queue_preferences_save(prefs) - - feedback_add_details("admin_verb","TADeadchat") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + to_chat(src, span_filter_system("Multilingual parsing is now disabled. Entire messages will be in the language specified at the start of the message.")) diff --git a/code/modules/client/preferences_vr.dm b/code/modules/client/preferences_vr.dm index f1cfc4413ab..8453d0f16a3 100644 --- a/code/modules/client/preferences_vr.dm +++ b/code/modules/client/preferences_vr.dm @@ -14,100 +14,9 @@ var/job_talon_low = 0 //Why weren't these in game toggles already? -/client/verb/toggle_eating_noises() - set name = "Toggle Eating Noises" - set category = "Preferences" - set desc = "Toggles hearing Vore Eating noises." - - var/pref_path = /datum/client_preference/eating_noises - - toggle_preference(pref_path) - - to_chat(src, "You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] hear eating related vore noises.") - - SScharacter_setup.queue_preferences_save(prefs) - - feedback_add_details("admin_verb","TEatNoise") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - - -/client/verb/toggle_digestion_noises() - set name = "Toggle Digestion Noises" - set category = "Preferences" - set desc = "Toggles hearing Vore Digestion noises." - - var/pref_path = /datum/client_preference/digestion_noises - - toggle_preference(pref_path) - - to_chat(src, "You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] hear digestion related vore noises.") - - SScharacter_setup.queue_preferences_save(prefs) - - feedback_add_details("admin_verb","TDigestNoise") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - -/client/verb/toggle_belch_noises() - set name = "Toggle Audible Belching" - set category = "Preferences" - set desc = "Toggles hearing audible belches." - - var/pref_path = /datum/client_preference/belch_noises - - toggle_preference(pref_path) - - to_chat(src, "You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] hear belching.") - - SScharacter_setup.queue_preferences_save(prefs) - - feedback_add_details("admin_verb","TBelchNoise") - -/client/verb/toggle_emote_noises() - set name = "Toggle Emote Noises" - set category = "Preferences" - set desc = "Toggles hearing emote noises." - - var/pref_path = /datum/client_preference/emote_noises - - toggle_preference(pref_path) - - to_chat(src, "You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] hear emote-related noises.") - - SScharacter_setup.queue_preferences_save(prefs) - - feedback_add_details("admin_verb","TEmoteNoise") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - -/client/verb/toggle_ghost_quiets() - set name = "Toggle Ghost Privacy" - set category = "Preferences" - set desc = "Toggles ghosts being able to see your subtles/whispers." - - var/pref_path = /datum/client_preference/whisubtle_vis - - toggle_preference(pref_path) - - to_chat(src, "Ghosts will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] hear subtles/whispers made by you.") - - SScharacter_setup.queue_preferences_save(prefs) - - feedback_add_details("admin_verb","TWhisubtleVis") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - -/client/verb/toggle_ghost_privacyvision() - set name = "Toggle Ghost Private Eyes/ears" - set category = "Preferences" - set desc = "Toggles your ability to see subtles/whispers. Overrides admin status. Respects Ghost Privacy" - - var/pref_path = /datum/client_preference/ghost_see_whisubtle - - toggle_preference(pref_path) - - to_chat(src, "As a ghost, you will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] hear subtles/whispers made by players.") - - SScharacter_setup.queue_preferences_save(prefs) - - feedback_add_details("admin_verb","TGhostSeeWhisSubtle") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - /client/verb/toggle_capture_crystal() set name = "Toggle Catchable" - set category = "Preferences" + set category = "Preferences.Character" set desc = "Toggles being catchable with capture crystals." var/mob/living/L = mob @@ -123,55 +32,3 @@ SScharacter_setup.queue_preferences_save(prefs) feedback_add_details("admin_verb","TCaptureCrystal") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - -/client/verb/toggle_mentorhelp_ping() - set name = "Toggle Mentorhelp Ping" - set category = "Preferences" - set desc = "Toggles the mentorhelp ping" - - var/pref_path = /datum/client_preference/play_mentorhelp_ping - - toggle_preference(pref_path) - - to_chat(src, "Mentorhelp pings are now [ is_preference_enabled(pref_path) ? "enabled" : "disabled"]") - - SScharacter_setup.queue_preferences_save(prefs) - - feedback_add_details("admin_verb", "TSoundMentorhelps") - -/client/verb/toggle_player_tips() - set name = "Toggle Receiving Player Tips" - set category = "Preferences" - set desc = "When toggled on, you receive tips periodically on roleplay and gameplay." - - var/pref_path = /datum/client_preference/player_tips - - toggle_preference(pref_path) - - to_chat(src, "You are [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] periodically receiving advice on gameplay and roleplay.") - - SScharacter_setup.queue_preferences_save(prefs) - - feedback_add_details("admin_verb", "TReceivePlayerTips") - -/client/verb/toggle_pain_frequency() - set name = "Toggle Pain Frequency" - set category = "Preferences" - set desc = "When toggled on, increases the cooldown of pain messages sent to chat for minor injuries" - - var/pref_path = /datum/client_preference/pain_frequency - - toggle_preference(pref_path) - - to_chat(src, "The cooldown between pain messages for minor (under 20/5 injury. Multi-limb injuries are still faster) is now [ (is_preference_enabled(pref_path)) ? "extended" : "default"].") - -/client/verb/toggle_automatic_afk() - set name = "Toggle Automatic AFK" - set category = "Preferences" - set desc = "When enabled, causes you to be automatically marked as AFK if you are idle for too long." - - var/pref_path = /datum/client_preference/auto_afk - - toggle_preference(pref_path) - - to_chat(src, "You will [ (is_preference_enabled(pref_path)) ? "now" : "not"] be automatically marked as AFK if you are idle for ten minutes or more.") diff --git a/code/modules/client/record_updater.dm b/code/modules/client/record_updater.dm new file mode 100644 index 00000000000..de802eedcf2 --- /dev/null +++ b/code/modules/client/record_updater.dm @@ -0,0 +1,129 @@ +var/global/client_record_update_lock = FALSE + +// Manually updating records from medical console to a player's save. +/proc/get_current_mob_from_record(var/datum/data/record/active) + var/datum/transcore_db/db = SStranscore.db_by_mind_name(active.fields["name"]) + if(db) + var/datum/transhuman/mind_record/record = db.backed_up[active.fields["name"]] + if(record.mind_ref) + var/datum/mind/D = record.mind_ref + if(D.current) + var/client/C = D.current.client + if(C && C.ckey != record.ckey) + return null + return D.current + return null + + +/proc/client_update_record(var/obj/machinery/computer/COM, var/user) + if(!COM || QDELETED(COM)) + return "Invalid console" + + if(jobban_isbanned(user, "Records") ) + COM.visible_message(span_notice("\The [COM] buzzes!")) + playsound(COM, 'sound/machines/deniedbeep.ogg', 50, 0) + return "Update syncronization denied (OOC: You are banned from editing records)" + + var/record_string = "" + var/datum/data/record/active + var/console_path = null + if(istype(COM,/obj/machinery/computer/med_data)) + var/obj/machinery/computer/med_data/MCOM = COM + active = MCOM.active2 + record_string = "medical" + console_path = /obj/machinery/computer/med_data + if(istype(COM,/obj/machinery/computer/skills)) + var/obj/machinery/computer/skills/ECOM = COM + active = ECOM.active1 + record_string = "employment" + console_path = /obj/machinery/computer/skills + if(istype(COM,/obj/machinery/computer/secure_data)) + var/obj/machinery/computer/secure_data/SCOM = COM + active = SCOM.active2 + record_string = "security" + console_path = /obj/machinery/computer/secure_data + + if(client_record_update_lock) + to_chat(user,"Update already in progress! Please wait a moment...") + if(COM && !QDELETED(COM)) + COM.visible_message(span_notice("\The [COM] buzzes!")) + playsound(COM, 'sound/machines/deniedbeep.ogg', 50, 0) + return "Update already in progress! Please wait a moment..." + client_record_update_lock = TRUE + spawn(60 SECONDS) + client_record_update_lock = FALSE + + if(!active || !console_path) + if(COM && !QDELETED(COM)) + COM.visible_message(span_notice("\The [COM] buzzes!")) + playsound(COM, 'sound/machines/deniedbeep.ogg', 50, 0) + return "Update syncronization failed (OOC: Record or console destroyed)" + + to_chat(user,"Update sent! Please wait for a response...") + message_admins("[user] pushed [record_string] record update to [active.fields["name"]].") + + var/mob/M = get_current_mob_from_record(active) + if(!M) + if(COM && !QDELETED(COM)) + COM.visible_message(span_notice("\The [COM] buzzes!")) + playsound(COM, 'sound/machines/deniedbeep.ogg', 50, 0) + return "Update syncronization failed (OOC: Client mob does not exist, has no mind record, or is possesssed)" + + var/client/C = M.client + if(!C) + if(COM && !QDELETED(COM)) + COM.visible_message(span_notice("\The [COM] buzzes!")) + playsound(COM, 'sound/machines/deniedbeep.ogg', 50, 0) + return "Update syncronization failed (OOC: Record's owner is offline)" + + var/choice = tgui_alert(M, "Your [record_string] record has been updated from the a records console by [user]. Please review the changes made to your [record_string] record. Accepting these changes will SAVE your CURRENT character slot! If your new [record_string] record has errors, it is recomended to have it corrected IC instead of editing it yourself.", "Record Updated", list("Review Changes","Refuse Update")) + if(choice == "Refuse Update") + message_admins("[active.fields["name"]] refused [record_string] record update from [user] without review.") + if(COM && !QDELETED(COM)) + COM.visible_message(span_notice("\The [COM] buzzes!")) + playsound(COM, 'sound/machines/deniedbeep.ogg', 50, 0) + return "Update syncronization failed (OOC: Client refused without review)" + + var/datum/preferences/P = C.prefs + var/new_data = strip_html_simple(tgui_input_text(M,"Please review [user]'s changes to your [record_string] record before confirming. Confirming will SAVE your CURRENT character slot! If your new [record_string] record major errors, it is recomended to have it corrected IC instead of editing it yourself.","Character Preference", html_decode(active.fields["notes"]), MAX_RECORD_LENGTH, TRUE, prevent_enter = TRUE), MAX_RECORD_LENGTH) + if(!new_data) + message_admins("[active.fields["name"]] refused [record_string] record update from [user] with review.") + if(COM && !QDELETED(COM)) + COM.visible_message(span_notice("\The [COM] buzzes!")) + playsound(COM, 'sound/machines/deniedbeep.ogg', 50, 0) + return "Update syncronization failed (OOC: Client refused with review)" + if(!M || !M.client || !P) + message_admins("[active.fields["name"]]'s [record_string] record could not be updated, client disconnected.") + if(COM && !QDELETED(COM)) + COM.visible_message(span_notice("\The [COM] buzzes!")) + playsound(COM, 'sound/machines/deniedbeep.ogg', 50, 0) + return "Update syncronization failed (OOC: Client does not exist)" + + // Update records in the consoles, remember this can happen a while after a record is closed on the console... Use cached data. + switch(console_path) + if(/obj/machinery/computer/med_data) + P.med_record = new_data + if(active) + active.fields["notes"] = new_data + if(/obj/machinery/computer/skills) + P.gen_record = new_data + if(active) + active.fields["notes"] = new_data + if(/obj/machinery/computer/secure_data) + P.sec_record = new_data + if(active) + active.fields["notes"] = new_data + + // Update player record + P.save_preferences() + P.save_character() + if(M) + to_chat(M,span_notice("Your [record_string] record for [active.fields["name"]] has been updated.")) + message_admins("[active.fields["name"]] accepted the [record_string] record update from [user].") + + // ding! + if(COM && !QDELETED(COM)) + COM.visible_message(span_notice("\The [COM] dings!")) + playsound(COM, 'sound/machines/ding.ogg', 50, 1) + + return "Record syncronized." diff --git a/code/modules/client/stored_item.dm b/code/modules/client/stored_item.dm index cd0f8829d29..06b8d0caf05 100644 --- a/code/modules/client/stored_item.dm +++ b/code/modules/client/stored_item.dm @@ -61,7 +61,7 @@ return if(istype(user) && Adjacent(user)) if(inoperable() || panel_open) - to_chat(user, "\The [src] seems to be nonfunctional...") + to_chat(user, span_warning("\The [src] seems to be nonfunctional...")) else start_using(user) @@ -69,7 +69,7 @@ if(!ishuman(user)) return if(busy_bank) - to_chat(user, "\The [src] is already in use.") + to_chat(user, span_warning("\The [src] is already in use.")) return busy_bank = TRUE var/I = persist_item_savefile_load(user, "type") @@ -79,15 +79,15 @@ busy_bank = FALSE return else if(choice == "Check contents" && I) - to_chat(user, "\The [src] has \the [Iname] for you!") + to_chat(user, span_notice("\The [src] has \the [Iname] for you!")) busy_bank = FALSE else if(choice == "Retrieve item" && I) if(user.hands_are_full()) - to_chat(user,"Your hands are full!") + to_chat(user,span_notice("Your hands are full!")) busy_bank = FALSE return if(user.ckey in item_takers) - to_chat(user, "You have already taken something out of \the [src] this shift.") + to_chat(user, span_warning("You have already taken something out of \the [src] this shift.")) busy_bank = FALSE return choice = tgui_alert(user, "If you remove this item from the bank, it will be unable to be stored again. Do you still want to remove it?", "[src]", list("No", "Yes"), timeout = 10 SECONDS) @@ -102,7 +102,7 @@ return var/obj/N = new I(get_turf(src)) log_admin("[key_name_admin(user)] retrieved [N] from the item bank.") - visible_message("\The [src] dispenses the [N] to \the [user].") + visible_message(span_notice("\The [src] dispenses the [N] to \the [user].")) user.put_in_hands(N) N.persist_storable = FALSE var/path = src.persist_item_savefile_path(user) @@ -114,24 +114,24 @@ busy_bank = FALSE icon_state = "item_bank" else if(choice == "Info") - to_chat(user, "\The [src] can store a single item for you between shifts! Anything that has been retrieved from the bank cannot be stored again in the same shift. Anyone can withdraw from the bank one time per shift. Some items are not able to be accepted by the bank.") + to_chat(user, span_notice("\The [src] can store a single item for you between shifts! Anything that has been retrieved from the bank cannot be stored again in the same shift. Anyone can withdraw from the bank one time per shift. Some items are not able to be accepted by the bank.")) busy_bank = FALSE return else if(!I) - to_chat(user, "\The [src] doesn't seem to have anything for you...") + to_chat(user, span_warning("\The [src] doesn't seem to have anything for you...")) busy_bank = FALSE /obj/machinery/item_bank/attackby(obj/item/O, mob/living/user) if(!ishuman(user)) return if(busy_bank) - to_chat(user, "\The [src] is already in use.") + to_chat(user, span_warning("\The [src] is already in use.")) return busy_bank = TRUE var/I = persist_item_savefile_load(user, "type") if(!istool(O) && O.persist_storable) if(ispath(I)) - to_chat(user, "You cannot store \the [O]. You already have something stored.") + to_chat(user, span_warning("You cannot store \the [O]. You already have something stored.")) busy_bank = FALSE return var/choice = tgui_alert(user, "If you store \the [O], anything it contains may be lost to \the [src]. Are you sure?", "[src]", list("Store", "Cancel"), timeout = 10 SECONDS) @@ -140,23 +140,23 @@ return for(var/obj/check in O.contents) if(!check.persist_storable) - to_chat(user, "\The [src] buzzes. \The [O] contains [check], which cannot be stored. Please remove this item before attempting to store \the [O]. As a reminder, any contents of \the [O] will be lost if you store it with contents.") + to_chat(user, span_warning("\The [src] buzzes. \The [O] contains [check], which cannot be stored. Please remove this item before attempting to store \the [O]. As a reminder, any contents of \the [O] will be lost if you store it with contents.")) busy_bank = FALSE return - user.visible_message("\The [user] begins storing \the [O] in \the [src].","You begin storing \the [O] in \the [src].") + user.visible_message(span_notice("\The [user] begins storing \the [O] in \the [src]."),span_notice("You begin storing \the [O] in \the [src].")) icon_state = "item_bank_o" if(!do_after(user, 10 SECONDS, src, exclusive = TASK_ALL_EXCLUSIVE) || inoperable()) busy_bank = FALSE icon_state = "item_bank" return src.persist_item_savefile_save(user, O) - user.visible_message("\The [user] stores \the [O] in \the [src].","You stored \the [O] in \the [src].") + user.visible_message(span_notice("\The [user] stores \the [O] in \the [src]."),span_notice("You stored \the [O] in \the [src].")) log_admin("[key_name_admin(user)] stored [O] in the item bank.") qdel(O) busy_bank = FALSE icon_state = "item_bank" else - to_chat(user, "You cannot store \the [O]. \The [src] either does not accept that, or it has already been retrieved from storage this shift.") + to_chat(user, span_warning("You cannot store \the [O]. \The [src] either does not accept that, or it has already been retrieved from storage this shift.")) busy_bank = FALSE /////STORABLE ITEMS AND ALL THAT JAZZ///// @@ -170,89 +170,89 @@ /////LIST OF STUFF WE DON'T WANT PEOPLE STORING///// -/obj/item/device/pda +/obj/item/pda persist_storable = FALSE -/obj/item/device/communicator +/obj/item/communicator persist_storable = FALSE -/obj/item/weapon/card +/obj/item/card persist_storable = FALSE -/obj/item/weapon/holder +/obj/item/holder persist_storable = FALSE -/obj/item/device/radio +/obj/item/radio persist_storable = FALSE -/obj/item/device/encryptionkey +/obj/item/encryptionkey persist_storable = FALSE -/obj/item/weapon/storage //There are lots of things that have stuff that we may not want people to just have. And this is mostly intended for a single thing. +/obj/item/storage //There are lots of things that have stuff that we may not want people to just have. And this is mostly intended for a single thing. persist_storable = FALSE //And it would be annoying to go through and consider all of them, so default to disabled. -/obj/item/weapon/storage/backpack //But we can enable some where it makes sense. Backpacks and their variants basically never start with anything in them, as an example. +/obj/item/storage/backpack //But we can enable some where it makes sense. Backpacks and their variants basically never start with anything in them, as an example. persist_storable = TRUE -/obj/item/weapon/reagent_containers/hypospray/vial +/obj/item/reagent_containers/hypospray/vial persist_storable = FALSE -/obj/item/weapon/cmo_disk_holder +/obj/item/cmo_disk_holder persist_storable = FALSE -/obj/item/device/defib_kit/compact/combat +/obj/item/defib_kit/compact/combat persist_storable = FALSE /obj/item/clothing/glasses/welding/superior persist_storable = FALSE /obj/item/clothing/shoes/magboots/adv persist_storable = FALSE -/obj/item/weapon/rig +/obj/item/rig persist_storable = FALSE /obj/item/clothing/head/helmet/space/void persist_storable = FALSE /obj/item/clothing/suit/space/void persist_storable = FALSE -/obj/item/weapon/grab +/obj/item/grab persist_storable = FALSE -/obj/item/weapon/grenade +/obj/item/grenade persist_storable = FALSE -/obj/item/weapon/hand_tele +/obj/item/hand_tele persist_storable = FALSE -/obj/item/weapon/paper +/obj/item/paper persist_storable = FALSE -/obj/item/weapon/backup_implanter +/obj/item/backup_implanter persist_storable = FALSE -/obj/item/weapon/disk/nuclear +/obj/item/disk/nuclear persist_storable = FALSE -/obj/item/weapon/gun/energy/locked //These are guns with security measures on them, so let's say the box won't let you put them in there. +/obj/item/gun/energy/locked //These are guns with security measures on them, so let's say the box won't let you put them in there. persist_storable = FALSE //(otherwise explo will just put their locker/vendor guns into it every round) -/obj/item/device/retail_scanner +/obj/item/retail_scanner persist_storable = FALSE -/obj/item/weapon/telecube +/obj/item/telecube persist_storable = FALSE -/obj/item/weapon/reagent_containers/glass/bottle/adminordrazine +/obj/item/reagent_containers/glass/bottle/adminordrazine persist_storable = FALSE -/obj/item/weapon/gun/energy/sizegun/admin +/obj/item/gun/energy/sizegun/admin persist_storable = FALSE /obj/item/stack persist_storable = FALSE -/obj/item/weapon/book +/obj/item/book persist_storable = FALSE -/obj/item/weapon/melee/cursedblade +/obj/item/melee/cursedblade persist_storable = FALSE -/obj/item/weapon/circuitboard/mecha/imperion +/obj/item/circuitboard/mecha/imperion persist_storable = FALSE -/obj/item/device/paicard +/obj/item/paicard persist_storable = FALSE /obj/item/organ persist_storable = FALSE -/obj/item/device/soulstone +/obj/item/soulstone persist_storable = FALSE -/obj/item/device/aicard +/obj/item/aicard persist_storable = FALSE -/obj/item/device/mmi +/obj/item/mmi persist_storable = FALSE /obj/item/seeds persist_storable = FALSE -/obj/item/weapon/reagent_containers/food/snacks/grown +/obj/item/reagent_containers/food/snacks/grown persist_storable = FALSE -/obj/item/weapon/stock_parts +/obj/item/stock_parts persist_storable = FALSE -/obj/item/weapon/rcd +/obj/item/rcd persist_storable = FALSE -/obj/item/weapon/spacecash +/obj/item/spacecash persist_storable = FALSE -/obj/item/weapon/spacecasinocash +/obj/item/spacecasinocash + persist_storable = FALSE +/obj/item/personal_shield_generator persist_storable = FALSE -/obj/item/device/personal_shield_generator - persist_storable = FALSE \ No newline at end of file diff --git a/code/modules/client/ui_style.dm b/code/modules/client/ui_style.dm index eb6cc2ffdd4..9cd68b86068 100644 --- a/code/modules/client/ui_style.dm +++ b/code/modules/client/ui_style.dm @@ -37,12 +37,12 @@ var/global/list/all_tooltip_styles = list( /client/verb/change_ui() set name = "Change UI" - set category = "Preferences" + set category = "Preferences.Game" set desc = "Configure your user interface" if(!ishuman(usr)) if(!isrobot(usr)) - to_chat(usr, "You must be a human or a robot to use this verb.") + to_chat(usr, span_warning("You must be a human or a robot to use this verb.")) return var/UI_style_new = tgui_input_list(usr, "Select a style. White is recommended for customization", "UI Style Choice", all_ui_styles) diff --git a/code/modules/client/verbs/advanced_who.dm b/code/modules/client/verbs/advanced_who.dm index 104ed92bc0c..e2b6fc46e00 100644 --- a/code/modules/client/verbs/advanced_who.dm +++ b/code/modules/client/verbs/advanced_who.dm @@ -2,40 +2,40 @@ /* YW EDIT START /client/verb/who_advanced() set name = "Advanced Who" - set category = "OOC" + set category = "OOC.Resources" - var/msg = "Current Players:\n" + var/msg = span_bold("Current Players:") + "\n" var/list/Lines = list() - if(holder) + if(check_rights(R_ADMIN|R_SERVER|R_MOD,FALSE,src)) for(var/client/C in GLOB.clients) var/entry = "
    Save Spawn Location: Yes No" + span_linkOn(span_bold("Yes")) + " NoYes NoYes " + span_linkOn(span_bold("No")) + "
    [C.key]" if(C.holder && C.holder.fakekey) - entry += " (as [C.holder.fakekey])" + entry += " " + span_italics("(as [C.holder.fakekey])") entry += "" if(C.mob.real_name) switch(C.mob.stat) if(UNCONSCIOUS) - entry += "Unconscious" // these are literally all spans so I can apply .inverted to them because black on dark grey isn't legible + entry += span_darkgray(span_bold("Unconscious")) // these are literally all spans so I can apply .inverted to them because black on dark grey isn't legible if(DEAD) if(isobserver(C.mob)) var/mob/observer/dead/O = C.mob if(O.started_as_observer) - entry += "Observing" + entry += span_gray("Observing") else - entry += "Died" + entry += span_black(span_bold("Died")) else - entry += "Playing" + entry += span_green("Playing") entry += " as [C.mob.real_name]" else if(isnewplayer(C.mob)) - entry += "In lobby" + entry += span_blue(span_bold("In lobby")) entry += "" @@ -46,18 +46,18 @@ age = 0 if(age <= 1) - age = "[age]" + age = span_red(span_bold("[age]")) else if(age < 10) - age = "[age]" + age = span_orange(span_bold("[age]")) entry += "Age: [age]" entry += "" if(is_special_character(C.mob)) if(C.mob?.mind?.special_role) - entry += "[C.mob.mind.special_role]" + entry += span_red(span_bold("[C.mob.mind.special_role]")) else - entry += "Antagonist" + entry += span_red(span_bold("Antagonist")) entry += "" @@ -81,11 +81,11 @@ entry += "[C.key]" var/mob/observer/dead/O = C.mob if(isobserver(O)) - entry += " - Observing
    " + entry += " - " + span_gray("Observing") + "
    " else if(istype(O,/mob/new_player)) - entry += " - In Lobby
    " + entry += " - " + span_blue("In Lobby") + "
    " else - entry += " - Playing
    " + entry += " - "+ span_green("Playing") + "
    " Lines += entry @@ -93,7 +93,7 @@ for(var/line in sortList(Lines)) msg += "[line]" msg += "
    " - msg += "Total Players: [length(Lines)]" - msg = "" + msg + "" + msg += span_bold("Total Players: [length(Lines)]") + msg = span_filter_notice(msg) to_chat(src, msg) YW EDIT STOP*/ diff --git a/code/modules/client/verbs/character_directory.dm b/code/modules/client/verbs/character_directory.dm index ebc7f4da763..b58334b06c7 100644 --- a/code/modules/client/verbs/character_directory.dm +++ b/code/modules/client/verbs/character_directory.dm @@ -2,12 +2,12 @@ GLOBAL_DATUM(character_directory, /datum/character_directory) /client/verb/show_character_directory() set name = "Character Directory" - set category = "OOC" + set category = "OOC.Game" set desc = "Shows a listing of all active characters, along with their associated OOC notes, flavor text, and more." // This is primarily to stop malicious users from trying to lag the server by spamming this verb if(!usr.checkMoveCooldown()) - to_chat(usr, "Don't spam character directory refresh.") + to_chat(usr, span_warning("Don't spam character directory refresh.")) return usr.setMoveCooldown(10) @@ -136,14 +136,14 @@ GLOBAL_DATUM(character_directory, /datum/character_directory) if(action == "refresh") // This is primarily to stop malicious users from trying to lag the server by spamming this verb - if(!usr.checkMoveCooldown()) - to_chat(usr, "Don't spam character directory refresh.") + if(!ui.user.checkMoveCooldown()) + to_chat(ui.user, span_warning("Don't spam character directory refresh.")) return - usr.setMoveCooldown(10) - update_tgui_static_data(usr, ui) + ui.user.setMoveCooldown(10) + update_tgui_static_data(ui.user, ui) return TRUE else - return check_for_mind_or_prefs(usr, action, params["overwrite_prefs"]) + return check_for_mind_or_prefs(ui.user, action, params["overwrite_prefs"]) /datum/character_directory/proc/check_for_mind_or_prefs(mob/user, action, overwrite_prefs) if (!user.client) @@ -152,16 +152,16 @@ GLOBAL_DATUM(character_directory, /datum/character_directory) var/can_set_mind = !!user.mind if (!can_set_prefs && !can_set_mind) if (!overwrite_prefs && !!user.client.prefs) - to_chat(user, "You cannot change these settings if you don't have a mind to save them to. Enable overwriting prefs and switch to a slot you're fine with overwriting.") + to_chat(user, span_warning("You cannot change these settings if you don't have a mind to save them to. Enable overwriting prefs and switch to a slot you're fine with overwriting.")) return switch(action) if ("setTag") - var/list/new_tag = tgui_input_list(usr, "Pick a new Vore tag for the character directory", "Character Tag", GLOB.char_directory_tags) + var/list/new_tag = tgui_input_list(user, "Pick a new Vore tag for the character directory", "Character Tag", GLOB.char_directory_tags) if(!new_tag) return return set_for_mind_or_prefs(user, action, new_tag, can_set_prefs, can_set_mind) if ("setErpTag") - var/list/new_erptag = tgui_input_list(usr, "Pick a new ERP tag for the character directory", "Character ERP Tag", GLOB.char_directory_erptags) + var/list/new_erptag = tgui_input_list(user, "Pick a new ERP tag for the character directory", "Character ERP Tag", GLOB.char_directory_erptags) if(!new_erptag) return return set_for_mind_or_prefs(user, action, new_erptag, can_set_prefs, can_set_mind) @@ -171,11 +171,11 @@ GLOBAL_DATUM(character_directory, /datum/character_directory) visible = user.mind.show_in_directory else if (can_set_prefs) visible = user.client.prefs.show_in_directory - to_chat(usr, "You are now [!visible ? "shown" : "not shown"] in the directory.") + to_chat(user, span_notice("You are now [!visible ? "shown" : "not shown"] in the directory.")) return set_for_mind_or_prefs(user, action, !visible, can_set_prefs, can_set_mind) if ("editAd") - var/current_ad = (can_set_mind ? usr.mind.directory_ad : null) || (can_set_prefs ? usr.client.prefs.directory_ad : null) - var/new_ad = sanitize(tgui_input_text(usr, "Change your character ad", "Character Ad", current_ad, multiline = TRUE, prevent_enter = TRUE), extra = 0) + var/current_ad = (can_set_mind ? user.mind.directory_ad : null) || (can_set_prefs ? user.client.prefs.directory_ad : null) + var/new_ad = sanitize(tgui_input_text(user, "Change your character ad", "Character Ad", current_ad, multiline = TRUE, prevent_enter = TRUE), extra = 0) if(isnull(new_ad)) return return set_for_mind_or_prefs(user, action, new_ad, can_set_prefs, can_set_mind) @@ -184,7 +184,7 @@ GLOBAL_DATUM(character_directory, /datum/character_directory) can_set_prefs &&= !!user.client.prefs can_set_mind &&= !!user.mind if (!can_set_prefs && !can_set_mind) - to_chat(user, "You seem to have lost either your mind, or your current preferences, while changing the values.[action == "editAd" ? " Here is your ad that you wrote. [new_value]" : null]") + to_chat(user, span_warning("You seem to have lost either your mind, or your current preferences, while changing the values.[action == "editAd" ? " Here is your ad that you wrote. [new_value]" : null]")) return switch(action) if ("setTag") diff --git a/code/modules/client/verbs/ignore.dm b/code/modules/client/verbs/ignore.dm index 416aa246069..9981348f2b1 100644 --- a/code/modules/client/verbs/ignore.dm +++ b/code/modules/client/verbs/ignore.dm @@ -1,6 +1,6 @@ /client/verb/ignore(key_to_ignore as text) set name = "Ignore" - set category = "OOC" + set category = "OOC.Chat Settings" set desc = "Makes OOC and Deadchat messages from a specific player not appear to you." if(!key_to_ignore) @@ -8,27 +8,27 @@ key_to_ignore = ckey(sanitize(key_to_ignore)) if(prefs && prefs.ignored_players) if(key_to_ignore in prefs.ignored_players) - to_chat(usr, "[key_to_ignore] is already being ignored.") + to_chat(usr, span_warning("[key_to_ignore] is already being ignored.")) return if(key_to_ignore == usr.ckey) - to_chat(usr, "You can't ignore yourself.") + to_chat(usr, span_notice("You can't ignore yourself.")) return prefs.ignored_players |= key_to_ignore SScharacter_setup.queue_preferences_save(prefs) - to_chat(usr, "Now ignoring [key_to_ignore].") + to_chat(usr, span_notice("Now ignoring [key_to_ignore].")) /client/verb/unignore() set name = "Unignore" - set category = "OOC" + set category = "OOC.Chat Settings" set desc = "Reverts your ignoring of a specific player." if(!prefs) - to_chat(usr, "Preferences not found.") + to_chat(usr, span_warning("Preferences not found.")) return if(!prefs.ignored_players?.len) - to_chat(usr, "You aren't ignoring any players.") + to_chat(usr, span_warning("You aren't ignoring any players.")) return var/key_to_unignore = tgui_input_list(usr, "Ignored players", "Unignore", prefs.ignored_players) @@ -36,11 +36,11 @@ return key_to_unignore = ckey(sanitize(key_to_unignore)) if(!(key_to_unignore in prefs.ignored_players)) - to_chat(usr, "[key_to_unignore] isn't being ignored.") + to_chat(usr, span_warning("[key_to_unignore] isn't being ignored.")) return prefs.ignored_players -= key_to_unignore SScharacter_setup.queue_preferences_save(prefs) - to_chat(usr, "Reverted ignore on [key_to_unignore].") + to_chat(usr, span_notice("Reverted ignore on [key_to_unignore].")) /mob/proc/is_key_ignored(var/key_to_check) if(client) diff --git a/code/modules/client/verbs/ooc.dm b/code/modules/client/verbs/ooc.dm index a020840f21c..b07704693e0 100644 --- a/code/modules/client/verbs/ooc.dm +++ b/code/modules/client/verbs/ooc.dm @@ -1,11 +1,8 @@ /client/verb/ooc(msg as text) set name = "OOC" - set category = "OOC" + set category = "OOC.Chat" - if(say_disabled) //This is here to try to identify lag problems - to_chat(usr, "Speech is currently admin-disabled.") - return if(!mob) return if(IsGuestKey(key)) @@ -15,32 +12,32 @@ msg = sanitize(msg) if(!msg) return - if(!is_preference_enabled(/datum/client_preference/show_ooc)) - to_chat(src, "You have OOC muted.") + if(!prefs?.read_preference(/datum/preference/toggle/show_ooc)) + to_chat(src, span_warning("You have OOC muted.")) return if(!holder) - if(!config.ooc_allowed) - to_chat(src, "OOC is globally muted.") + if(!CONFIG_GET(flag/ooc_allowed)) + to_chat(src, span_danger("OOC is globally muted.")) return - if(!config.dooc_allowed && (mob.stat == DEAD)) - to_chat(usr, "OOC for dead mobs has been turned off.") + if(!CONFIG_GET(flag/dooc_allowed) && (mob.stat == DEAD)) + to_chat(usr, span_danger("OOC for dead mobs has been turned off.")) return if(prefs.muted & MUTE_OOC) - to_chat(src, "You cannot use OOC (muted).") + to_chat(src, span_danger("You cannot use OOC (muted).")) return - if(findtext(msg, "byond://") && !config.allow_byond_links) - to_chat(src, "Advertising other servers is not allowed.") + if(findtext(msg, "byond://") && !CONFIG_GET(flag/allow_byond_links)) + to_chat(src, span_bold("Advertising other servers is not allowed.")) log_admin("[key_name(src)] has attempted to advertise in OOC: [msg]") message_admins("[key_name_admin(src)] has attempted to advertise in OOC: [msg]") return - if(findtext(msg, "discord.gg") && !config.allow_discord_links) - to_chat(src, "Advertising discords is not allowed.") + if(findtext(msg, "discord.gg") && !CONFIG_GET(flag/allow_discord_links)) + to_chat(src, span_bold("Advertising discords is not allowed.")) log_admin("[key_name(src)] has attempted to advertise a discord server in OOC: [msg]") message_admins("[key_name_admin(src)] has attempted to advertise a discord server in OOC: [msg]") return - if((findtext(msg, "http://") || findtext(msg, "https://")) && !config.allow_url_links) - to_chat(src, "Posting external links is not allowed.") + if((findtext(msg, "http://") || findtext(msg, "https://")) && !CONFIG_GET(flag/allow_url_links)) + to_chat(src, span_bold("Posting external links is not allowed.")) log_admin("[key_name(src)] has attempted to post a link in OOC: [msg]") message_admins("[key_name_admin(src)] has attempted to post a link in OOC: [msg]") return @@ -63,10 +60,10 @@ if(holder.rights & R_ADMIN && holder.rights & R_BAN) //Admins ooc_style = "admin" - msg = GLOB.is_valid_url.Replace(msg,"$1") + msg = GLOB.is_valid_url.Replace(msg,span_linkify("$1")) for(var/client/target in GLOB.clients) - if(target.is_preference_enabled(/datum/client_preference/show_ooc)) + if(target.prefs?.read_preference(/datum/preference/toggle/show_ooc)) if(target.is_key_ignored(key)) // If we're ignored by this person, then do nothing. continue var/display_name = src.key @@ -76,19 +73,15 @@ display_name = "[holder.fakekey]/([src.key])" else display_name = holder.fakekey - if(holder && !holder.fakekey && (holder.rights & R_ADMIN|R_FUN|R_EVENT) && config.allow_admin_ooccolor && (src.prefs.ooccolor != initial(src.prefs.ooccolor))) // keeping this for the badmins - to_chat(target, "" + create_text_tag("ooc", "OOC:", target) + " [display_name]: [msg]") + if(holder && !holder.fakekey && (holder.rights & R_ADMIN|R_FUN|R_EVENT) && CONFIG_GET(flag/allow_admin_ooccolor) && (src.prefs.ooccolor != initial(src.prefs.ooccolor))) // keeping this for the badmins + to_chat(target, span_ooc("" + create_text_tag("ooc", "OOC:", target) + " [display_name]: [span_message(msg)]")) else - to_chat(target, "" + create_text_tag("ooc", "OOC:", target) + " [display_name]: [msg]") + to_chat(target, span_ooc("" + create_text_tag("ooc", "OOC:", target) + " [display_name]: " + span_message(msg)) + "") /client/verb/looc(msg as text) set name = "LOOC" set desc = "Local OOC, seen only by those in view." - set category = "OOC" - - if(say_disabled) //This is here to try to identify lag problems - to_chat(usr, "Speech is currently admin-disabled.") - return + set category = "OOC.Chat" if(!mob) return @@ -101,32 +94,32 @@ if(!msg) return - if(!is_preference_enabled(/datum/client_preference/show_looc)) - to_chat(src, "You have LOOC muted.") + if(!prefs?.read_preference(/datum/preference/toggle/show_looc)) + to_chat(src, span_danger("You have LOOC muted.")) return if(!holder) - if(!config.looc_allowed) - to_chat(src, "LOOC is globally muted.") + if(!CONFIG_GET(flag/looc_allowed)) + to_chat(src, span_danger("LOOC is globally muted.")) return - if(!config.dooc_allowed && (mob.stat == DEAD)) - to_chat(usr, "OOC for dead mobs has been turned off.") + if(!CONFIG_GET(flag/dooc_allowed) && (mob.stat == DEAD)) + to_chat(usr, span_danger("OOC for dead mobs has been turned off.")) return if(prefs.muted & MUTE_LOOC) - to_chat(src, "You cannot use OOC (muted).") + to_chat(src, span_danger("You cannot use OOC (muted).")) return - if(findtext(msg, "byond://") && !config.allow_byond_links) - to_chat(src, "Advertising other servers is not allowed.") + if(findtext(msg, "byond://") && !CONFIG_GET(flag/allow_byond_links)) + to_chat(src, span_bold("Advertising other servers is not allowed.")) log_admin("[key_name(src)] has attempted to advertise in OOC: [msg]") message_admins("[key_name_admin(src)] has attempted to advertise in OOC: [msg]") return - if(findtext(msg, "discord.gg") && !config.allow_discord_links) - to_chat(src, "Advertising discords is not allowed.") + if(findtext(msg, "discord.gg") && !CONFIG_GET(flag/allow_discord_links)) + to_chat(src, span_bold("Advertising discords is not allowed.")) log_admin("[key_name(src)] has attempted to advertise a discord server in OOC: [msg]") message_admins("[key_name_admin(src)] has attempted to advertise a discord server in OOC: [msg]") return - if((findtext(msg, "http://") || findtext(msg, "https://")) && !config.allow_url_links) - to_chat(src, "Posting external links is not allowed.") + if((findtext(msg, "http://") || findtext(msg, "https://")) && !CONFIG_GET(flag/allow_url_links)) + to_chat(src, span_bold("Posting external links is not allowed.")) log_admin("[key_name(src)] has attempted to post a link in OOC: [msg]") message_admins("[key_name_admin(src)] has attempted to post a link in OOC: [msg]") return @@ -159,7 +152,7 @@ // Everyone in normal viewing range of the LOOC for(var/mob/viewer in m_viewers) - if(viewer.client && viewer.client.is_preference_enabled(/datum/client_preference/show_looc)) + if(viewer.client && viewer.client.prefs?.read_preference(/datum/preference/toggle/show_looc)) receivers |= viewer.client else if(istype(viewer,/mob/observer/eye)) // For AI eyes and the like var/mob/observer/eye/E = viewer @@ -168,11 +161,11 @@ // Admins with RLOOC displayed who weren't already in for(var/client/admin in GLOB.admins) - if(!(admin in receivers) && admin.is_preference_enabled(/datum/client_preference/holder/show_rlooc)) + if(!(admin in receivers) && admin.prefs?.read_preference(/datum/preference/toggle/holder/show_rlooc)) if(check_rights(R_SERVER, FALSE, admin)) //Stop rLOOC showing for retired staff r_receivers |= admin - msg = GLOB.is_valid_url.Replace(msg,"$1") + msg = GLOB.is_valid_url.Replace(msg,span_linkify("$1")) // Send a message for(var/client/target in receivers) @@ -181,12 +174,12 @@ if(target in GLOB.admins) admin_stuff += "/([key])" - to_chat(target, "" + create_text_tag("looc", "LOOC:", target) + " [display_name][admin_stuff]: [msg]") + to_chat(target, span_looc(create_text_tag("looc", "LOOC:", target) + " [display_name][admin_stuff]: " + span_message("[msg]"))) for(var/client/target in r_receivers) var/admin_stuff = "/([key])([admin_jump_link(mob, target.holder)])" - to_chat(target, "" + create_text_tag("looc", "LOOC:", target) + " (R)[display_name][admin_stuff]: [msg]") + to_chat(target, span_rlooc(create_text_tag("rlooc", "RLOOC:", target) + " " + span_prefix("(R)") + "[display_name][admin_stuff]: " + span_message("[msg]"))) /mob/proc/get_looc_source() return src @@ -195,3 +188,89 @@ if(eyeobj) return eyeobj return src + +/client/verb/fit_viewport() + set name = "Fit Viewport" + set category = "OOC.Client Settings" + set desc = "Fit the width of the map window to match the viewport" + + // Fetch aspect ratio + var/view_size = getviewsize(view) + var/aspect_ratio = view_size[1] / view_size[2] + + // Calculate desired pixel width using window size and aspect ratio + var/list/sizes = params2list(winget(src, "mainwindow.mainvsplit;mapwindow", "size")) + + // Client closed the window? Some other error? This is unexpected behaviour, let's + // CRASH with some info. + if(!sizes["mapwindow.size"]) + CRASH("sizes does not contain mapwindow.size key. This means a winget failed to return what we wanted. --- sizes var: [sizes] --- sizes length: [length(sizes)]") + + var/list/map_size = splittext(sizes["mapwindow.size"], "x") + + // Gets the type of zoom we're currently using from our view datum + // If it's 0 we do our pixel calculations based off the size of the mapwindow + // If it's not, we already know how big we want our window to be, since zoom is the exact pixel ratio of the map + var/zoom_value = 0 // src.view_size?.zoom || 0 + + var/desired_width = 0 + if(zoom_value) + desired_width = round(view_size[1] * zoom_value * world.icon_size) + else + + // Looks like we expect mapwindow.size to be "ixj" where i and j are numbers. + // If we don't get our expected 2 outputs, let's give some useful error info. + if(length(map_size) != 2) + CRASH("map_size of incorrect length --- map_size var: [map_size] --- map_size length: [length(map_size)]") + var/height = text2num(map_size[2]) + desired_width = round(height * aspect_ratio) + + if (text2num(map_size[1]) == desired_width) + // Nothing to do + return + + var/split_size = splittext(sizes["mainwindow.mainvsplit.size"], "x") + var/split_width = text2num(split_size[1]) + + // Avoid auto-resizing the statpanel and chat into nothing. + desired_width = min(desired_width, split_width - 300) + + // Calculate and apply a best estimate + // +4 pixels are for the width of the splitter's handle + var/pct = 100 * (desired_width + 4) / split_width + winset(src, "mainwindow.mainvsplit", "splitter=[pct]") + + // Apply an ever-lowering offset until we finish or fail + var/delta + for(var/safety in 1 to 10) + var/after_size = winget(src, "mapwindow", "size") + map_size = splittext(after_size, "x") + var/got_width = text2num(map_size[1]) + + if (got_width == desired_width) + // success + return + else if (isnull(delta)) + // calculate a probable delta value based on the difference + delta = 100 * (desired_width - got_width) / split_width + else if ((delta > 0 && got_width > desired_width) || (delta < 0 && got_width < desired_width)) + // if we overshot, halve the delta and reverse direction + delta = -delta/2 + + pct += delta + winset(src, "mainwindow.mainvsplit", "splitter=[pct]") + +/// Attempt to automatically fit the viewport, assuming the user wants it +/client/proc/attempt_auto_fit_viewport() + if(!prefs.read_preference(/datum/preference/toggle/auto_fit_viewport)) + return + if(fully_created) + INVOKE_ASYNC(src, VERB_REF(fit_viewport)) + else //Delayed to avoid wingets from Login calls. + addtimer(CALLBACK(src, VERB_REF(fit_viewport), 1 SECONDS)) + +/client/verb/fix_stat_panel() + set name = "Fix Stat Panel" + set hidden = TRUE + + init_verbs() diff --git a/code/modules/client/verbs/ping.dm b/code/modules/client/verbs/ping.dm index 8213daa7505..32c8f8244e5 100644 --- a/code/modules/client/verbs/ping.dm +++ b/code/modules/client/verbs/ping.dm @@ -1,12 +1,23 @@ + +/client/verb/update_ping(time as num) + set instant = TRUE + set name = ".update_ping" + var/ping = pingfromtime(time) + lastping = ping + if (!avgping) + avgping = ping + else + avgping = MC_AVERAGE_SLOW(avgping, ping) + /client/proc/pingfromtime(time) - return ((world.time+world.tick_lag*world.tick_usage/100)-time)*100 + return ((world.time+world.tick_lag*TICK_USAGE_REAL/100)-time)*100 /client/verb/display_ping(time as num) set instant = TRUE set name = ".display_ping" - to_chat(src, "Round trip ping took [round(pingfromtime(time),1)]ms") + to_chat(src, span_notice("Round trip ping took [round(pingfromtime(time),1)]ms")) /client/verb/ping() set name = "Ping" - set category = "OOC" - winset(src, null, "command=.display_ping+[world.time+world.tick_lag*world.tick_usage/100]") \ No newline at end of file + set category = "OOC.Debug" + winset(src, null, "command=.display_ping+[world.time+world.tick_lag*TICK_USAGE_REAL/100]") diff --git a/code/modules/client/verbs/suicide.dm b/code/modules/client/verbs/suicide.dm index 9d2a3f064b9..21eb9a135d4 100644 --- a/code/modules/client/verbs/suicide.dm +++ b/code/modules/client/verbs/suicide.dm @@ -10,8 +10,8 @@ if (!ticker) to_chat(src, "You can't commit suicide before the game starts!") return - - to_chat(src, "No. Adminhelp if there is a legitimate reason, and please review our server rules.") + + to_chat(src, span_warning("No. Adminhelp if there is a legitimate reason, and please review our server rules.")) message_admins("[ckey] has tried to trigger the suicide verb as human, but it is currently disabled.") /mob/living/carbon/brain/verb/suicide() @@ -33,7 +33,7 @@ if(confirm == "Yes") suiciding = 1 - to_chat(viewers(loc),"[src]'s brain is growing dull and lifeless. It looks like it's lost the will to live.") + to_chat(viewers(loc),span_danger("[src]'s brain is growing dull and lifeless. It looks like it's lost the will to live.")) spawn(50) death(0) suiciding = 0 @@ -53,7 +53,7 @@ if(confirm == "Yes") suiciding = 1 - to_chat(viewers(src),"[src] is powering down. It looks like they're trying to commit suicide.") + to_chat(viewers(src),span_danger("[src] is powering down. It looks like they're trying to commit suicide.")) //put em at -175 adjustOxyLoss(max(getMaxHealth() * 2 - getToxLoss() - getFireLoss() - getBruteLoss() - getOxyLoss(), 0)) updatehealth() @@ -73,24 +73,24 @@ if(confirm == "Yes") suiciding = 1 - to_chat(viewers(src),"[src] is powering down. It looks like they're trying to commit suicide.") + to_chat(viewers(src),span_danger("[src] is powering down. It looks like they're trying to commit suicide.")) //put em at -175 adjustOxyLoss(max(getMaxHealth() * 2 - getToxLoss() - getFireLoss() - getBruteLoss() - getOxyLoss(), 0)) updatehealth() /* /mob/living/silicon/pai/verb/suicide() - set category = "pAI Commands" + set category = "Abilities.pAI Commands" set desc = "Kill yourself and become a ghost (You will receive a confirmation prompt)" set name = "pAI Suicide" var/answer = tgui_alert(usr, "REALLY kill yourself? This action can't be undone.", "Suicide", list("Yes","No")) if(answer == "Yes") - var/obj/item/device/paicard/card = loc + var/obj/item/paicard/card = loc card.removePersonality() var/turf/T = get_turf_or_move(card.loc) for (var/mob/M in viewers(T)) - M.show_message("[src] flashes a message across its screen, \"Wiping core files. Please acquire a new personality to continue using pAI device functions.\"", 3, "[src] bleeps electronically.", 2) + M.show_message(span_notice("[src] flashes a message across its screen, \"Wiping core files. Please acquire a new personality to continue using pAI device functions.\""), 3, span_notice("[src] bleeps electronically."), 2) death(0) else to_chat(src, "Aborting suicide attempt.") -*/ \ No newline at end of file +*/ diff --git a/code/modules/client/verbs/typing.dm b/code/modules/client/verbs/typing.dm index 4845a40e32f..50704f6c934 100644 --- a/code/modules/client/verbs/typing.dm +++ b/code/modules/client/verbs/typing.dm @@ -7,7 +7,7 @@ src << output('html/typing_indicator.html', "commandbar_spy") /client/proc/handle_commandbar_typing(href_list) - if(!is_preference_enabled(/datum/client_preference/show_typing_indicator)) + if(!prefs?.read_preference(/datum/preference/toggle/show_typing_indicator)) return if(length(href_list["verb"]) < 1 || !(lowertext(href_list["verb"]) in IC_VERBS) || text2num(href_list["argument_length"]) < 1) @@ -31,10 +31,10 @@ /** Sets the mob as "thinking" - with indicator and the TRAIT_THINKING_IN_CHARACTER trait */ /client/proc/start_thinking(channel) - if(!is_preference_enabled(/datum/client_preference/show_typing_indicator)) + if(!prefs?.read_preference(/datum/preference/toggle/show_typing_indicator)) return FALSE if(channel == "Whis" || channel == "Subtle" || channel == "whisper" || channel == "subtle") - if(!is_preference_enabled(/datum/client_preference/show_typing_indicator_subtle)) + if(!prefs?.read_preference(/datum/preference/toggle/show_typing_indicator_subtle)) return FALSE ADD_TRAIT(mob, TRAIT_THINKING_IN_CHARACTER, CURRENTLY_TYPING_TRAIT) mob.create_thinking_indicator() @@ -50,10 +50,10 @@ /client/proc/start_typing(channel) var/mob/client_mob = mob client_mob.remove_thinking_indicator() - if(!is_preference_enabled(/datum/client_preference/show_typing_indicator) || !HAS_TRAIT(client_mob, TRAIT_THINKING_IN_CHARACTER)) + if(!prefs?.read_preference(/datum/preference/toggle/show_typing_indicator) || !HAS_TRAIT(client_mob, TRAIT_THINKING_IN_CHARACTER)) return FALSE if(channel == "Whis" || channel == "Subtle" || channel == "whisper" || channel == "subtle") - if(!is_preference_enabled(/datum/client_preference/show_typing_indicator_subtle)) + if(!prefs?.read_preference(/datum/preference/toggle/show_typing_indicator_subtle)) return FALSE client_mob.create_typing_indicator() addtimer(CALLBACK(src, PROC_REF(stop_typing), channel), 5 SECONDS, TIMER_UNIQUE | TIMER_OVERRIDE | TIMER_STOPPABLE) @@ -67,10 +67,10 @@ return FALSE var/mob/client_mob = mob client_mob.remove_typing_indicator() - if(!is_preference_enabled(/datum/client_preference/show_typing_indicator) || !HAS_TRAIT(client_mob, TRAIT_THINKING_IN_CHARACTER)) + if(!prefs?.read_preference(/datum/preference/toggle/show_typing_indicator) || !HAS_TRAIT(client_mob, TRAIT_THINKING_IN_CHARACTER)) return FALSE if(channel == "Whis" || channel == "Subtle" || channel == "whisper" || channel == "subtle") - if(!is_preference_enabled(/datum/client_preference/show_typing_indicator_subtle)) + if(!prefs?.read_preference(/datum/preference/toggle/show_typing_indicator_subtle)) return FALSE client_mob.create_thinking_indicator() diff --git a/code/modules/client/verbs/who.dm b/code/modules/client/verbs/who.dm index b00d2bb8965..942ecd5e52d 100644 --- a/code/modules/client/verbs/who.dm +++ b/code/modules/client/verbs/who.dm @@ -1,8 +1,8 @@ /client/verb/who() set name = "Who" - set category = "OOC" + set category = "OOC.Resources" - var/msg = "Current Players:\n" + var/msg = span_bold("Current Players:") + "\n" var/list/Lines = list() @@ -12,33 +12,33 @@ continue var/entry = "\t[C.key]" if(C.holder?.fakekey) - entry += " (as [C.holder.fakekey])" + entry += " " + span_italics("as [C.holder.fakekey])") entry += " - Playing as [C.mob.real_name]" switch(C.mob.stat) if(UNCONSCIOUS) - entry += " - [span_darkgray("Unconscious")]" + entry += " - [span_darkgray(span_bold("Unconscious"))]" if(DEAD) if(isobserver(C.mob)) var/mob/observer/dead/O = C.mob if(O.started_as_observer) entry += " - [span_gray("Observing")]" else - entry += " - [span_black("DEAD")]" + entry += " - [span_black(span_bold("DEAD"))]" else - entry += " - [span_black("DEAD")]" + entry += " - [span_black(span_bold("DEAD"))]" if(C.player_age != initial(C.player_age) && isnum(C.player_age)) // database is on var/age = C.player_age switch(age) if(0 to 1) - age = span_red("[age] days old") + age = span_red(span_bold("[age] days old")) if(1 to 10) - age = span_orange("[age] days old") + age = span_orange(span_bold("[age] days old")) else entry += " - [age] days old" if(is_special_character(C.mob)) - entry += " - [span_red("Antagonist")]" + entry += " - [span_red(span_bold("Antagonist"))]" if(C.is_afk()) var/seconds = C.last_activity_seconds() @@ -50,8 +50,8 @@ for(var/line in sortList(Lines)) msg += "[line]\n" - msg += "Total Players: [length(Lines)]" - msg = "[jointext(msg, "
    ")]
    " + msg += span_bold("Total Players: [length(Lines)]") + msg = span_filter_notice("[jointext(msg, "
    ")]") to_chat(src,msg) /client/verb/staffwho() @@ -88,7 +88,7 @@ temp += "\t[C] is a [C.holder.rank]" if(holder) if(C.holder.fakekey) - temp += " (as [C.holder.fakekey])" + temp += " " + span_italics("(as [C.holder.fakekey])") if(isobserver(C.mob)) temp += " - Observing" @@ -111,16 +111,16 @@ if(R_EVENT) eventMmsg += temp - msg = "Current Admins ([num_admins_online]):\n" + msg + msg = span_bold("Current Admins ([num_admins_online]):") + "\n" + msg - if(config.show_mods) - msg += "\n Current Game Masters ([num_mods_online]):\n" + modmsg + if(CONFIG_GET(flag/show_mods)) + msg += "\n" + span_bold(" Current Game Masters ([num_mods_online]):") + "\n" + modmsg - if(config.show_devs) - msg += "\n Current Developers ([num_devs_online]):\n" + devmsg + if(CONFIG_GET(flag/show_devs)) + msg += "\n" + span_bold(" Current Developers ([num_devs_online]):") + "\n" + devmsg - if(config.show_event_managers) - msg += "\n Current Miscellaneous ([num_event_managers_online]):\n" + eventMmsg + if(CONFIG_GET(flag/show_event_managers)) + msg += "\n" + span_bold(" Current Miscellaneous ([num_event_managers_online]):") + "\n" + eventMmsg var/num_mentors_online = 0 var/mmsg = "" @@ -141,9 +141,9 @@ mmsg += " (AFK - [round(seconds / 60)] minutes, [seconds % 60] seconds)" mmsg += "\n" - if(config.show_mentors) - msg += "\n Current Mentors ([num_mentors_online]):\n" + mmsg + if(CONFIG_GET(flag/show_mentors)) + msg += "\n" + span_bold(" Current Mentors ([num_mentors_online]):") + "\n" + mmsg - msg += "\nAdminhelps are also sent to Discord. If no admins are available in game try anyway and an admin on Discord may see it and respond." + msg += "\n" + span_info("Adminhelps are also sent to Discord. If no admins are available in game try anyway and an admin on Discord may see it and respond.") - to_chat(src,"[jointext(msg, "
    ")]
    ") + to_chat(src,span_filter_notice("[jointext(msg, "
    ")]")) diff --git a/code/modules/clothing/under/accessories/accessory.dm b/code/modules/clothing/accessories/accessory.dm similarity index 81% rename from code/modules/clothing/under/accessories/accessory.dm rename to code/modules/clothing/accessories/accessory.dm index 96cc4afca1c..69bcdd2fc9b 100644 --- a/code/modules/clothing/under/accessories/accessory.dm +++ b/code/modules/clothing/accessories/accessory.dm @@ -12,6 +12,8 @@ var/image/inv_overlay = null // Overlay used when attached to clothing. var/image/mob_overlay = null var/overlay_state = null + var/punch_force = 0 // added melee damage + var/punch_damtype = BRUTE // added melee damage type var/concealed_holster = 0 var/mob/living/carbon/human/wearer = null // To check if the wearer changes, so species spritesheets change properly. var/list/on_rolled = list() // Used when jumpsuit sleevels are rolled ("rolled" entry) or it's rolled down ("down"). Set to "none" to hide in those states. @@ -82,14 +84,23 @@ src.forceMove(S) has_suit.add_overlay(get_inv_overlay()) + has_suit.force += force + if(istype(S,/obj/item/clothing/gloves)) + var/obj/item/clothing/gloves/has_gloves = S + has_gloves.punch_force = has_gloves.punch_force + punch_force + if(user) - to_chat(user, "You attach \the [src] to \the [has_suit].") + to_chat(user, span_notice("You attach \the [src] to \the [has_suit].")) add_fingerprint(user) /obj/item/clothing/accessory/proc/on_removed(var/mob/user) if(!has_suit) return has_suit.cut_overlay(get_inv_overlay()) + has_suit.force = initial(has_suit.force) + if(istype(has_suit,/obj/item/clothing/gloves)) + var/obj/item/clothing/gloves/has_gloves = has_suit + has_gloves.punch_force = initial(has_gloves.punch_force) has_suit = null if(user) usr.put_in_hands(src) @@ -391,85 +402,6 @@ icon_state = "tesh_neckscarf" species_restricted = list(SPECIES_TESHARI) -//bracelets - -/obj/item/clothing/accessory/bracelet - name = "bracelet" - desc = "A simple silver bracelet with a clasp." - icon = 'icons/inventory/accessory/item.dmi' - icon_state = "bracelet" - w_class = ITEMSIZE_TINY - slot_flags = SLOT_TIE - slot = ACCESSORY_SLOT_DECOR - -/obj/item/clothing/accessory/bracelet/friendship - name = "friendship bracelet" - desc = "A beautiful friendship bracelet in all the colors of the rainbow." - icon_state = "friendbracelet" - -/obj/item/clothing/accessory/bracelet/friendship/verb/dedicate_bracelet() - set name = "Dedicate Bracelet" - set category = "Object" - set desc = "Dedicate your friendship bracelet to a special someone." - var/mob/M = usr - if(!M.mind) - return 0 - - var/input = sanitizeSafe(input(usr, "Who do you want to dedicate the bracelet to?", ,""), MAX_NAME_LEN) - - if(src && input && !M.stat && in_range(M,src)) - desc = "A beautiful friendship bracelet in all the colors of the rainbow. It's dedicated to [input]." - to_chat(M, "You dedicate the bracelet to [input], remembering the times you've had together.") - return 1 - - -/obj/item/clothing/accessory/bracelet/material - icon_state = "materialbracelet" - -/obj/item/clothing/accessory/bracelet/material/New(var/newloc, var/new_material) - ..(newloc) - if(!new_material) - new_material = MAT_STEEL - material = get_material_by_name(new_material) - if(!istype(material)) - qdel(src) - return - name = "[material.display_name] bracelet" - desc = "A bracelet made from [material.display_name]." - color = material.icon_colour - -/obj/item/clothing/accessory/bracelet/material/get_material() - return material - -/obj/item/clothing/accessory/bracelet/material/wood/New(var/newloc) - ..(newloc, "wood") - -/obj/item/clothing/accessory/bracelet/material/plastic/New(var/newloc) - ..(newloc, "plastic") - -/obj/item/clothing/accessory/bracelet/material/iron/New(var/newloc) - ..(newloc, "iron") - -/obj/item/clothing/accessory/bracelet/material/steel/New(var/newloc) - ..(newloc, "steel") - -/obj/item/clothing/accessory/bracelet/material/silver/New(var/newloc) - ..(newloc, "silver") - -/obj/item/clothing/accessory/bracelet/material/gold/New(var/newloc) - ..(newloc, "gold") - -/obj/item/clothing/accessory/bracelet/material/platinum/New(var/newloc) - ..(newloc, "platinum") - -/obj/item/clothing/accessory/bracelet/material/phoron/New(var/newloc) - ..(newloc, "phoron") - -/obj/item/clothing/accessory/bracelet/material/glass/New(var/newloc) - ..(newloc, "glass") - - ..() - /obj/item/clothing/accessory/halfcape name = "half cape" desc = "A tasteful half-cape, suitible for European nobles and retro anime protagonists." @@ -488,70 +420,6 @@ icon_state = "sash" slot = ACCESSORY_SLOT_OVER -/obj/item/clothing/accessory/wristband - name = "wristband" - desc = "A simple plastic wristband." - icon = 'icons/inventory/accessory/item.dmi' - icon_state = "wristband" - w_class = ITEMSIZE_TINY - slot_flags = SLOT_TIE - slot = ACCESSORY_SLOT_DECOR - -/obj/item/clothing/accessory/wristbandcollection - name = "wristband collection" - desc = "A mix of colourable plastic wristbands." - icon = 'icons/inventory/accessory/item.dmi' - icon_state = "wristband_collection" - w_class = ITEMSIZE_TINY - slot_flags = SLOT_TIE - slot = ACCESSORY_SLOT_DECOR - -/obj/item/clothing/accessory/wristbandcollection/pink - name = "wristband collection" - desc = "A mix of colourable plastic wristbands." - icon = 'icons/inventory/accessory/item.dmi' - icon_state = "wristband_collection2" - w_class = ITEMSIZE_TINY - slot_flags = SLOT_TIE - slot = ACCESSORY_SLOT_DECOR - -/obj/item/clothing/accessory/wristbandcollection/les - name = "wristband collection" - desc = "A mix of colourable plastic wristbands." - icon = 'icons/inventory/accessory/item.dmi' - icon_state = "wristband_collection3" - w_class = ITEMSIZE_TINY - slot_flags = SLOT_TIE - slot = ACCESSORY_SLOT_DECOR - -/obj/item/clothing/accessory/wristbandcollection/trans - name = "wristband collection" - desc = "A mix of colourable plastic wristbands." - icon = 'icons/inventory/accessory/item.dmi' - icon_state = "wristband_collection4" - w_class = ITEMSIZE_TINY - slot_flags = SLOT_TIE - slot = ACCESSORY_SLOT_DECOR - -/obj/item/clothing/accessory/wristbandcollection/bi - name = "wristband collection" - desc = "A mix of colourable plastic wristbands." - icon = 'icons/inventory/accessory/item.dmi' - icon_state = "wristband_collection5" - w_class = ITEMSIZE_TINY - slot_flags = SLOT_TIE - slot = ACCESSORY_SLOT_DECOR - -/obj/item/clothing/accessory/wristbandcollection/ace - name = "wristband collection" - desc = "A mix of colourable plastic wristbands." - icon = 'icons/inventory/accessory/item.dmi' - icon_state = "wristband_collection6" - w_class = ITEMSIZE_TINY - slot_flags = SLOT_TIE - slot = ACCESSORY_SLOT_DECOR - - //Gaiter scarves /obj/item/clothing/accessory/gaiter name = "red neck gaiter" @@ -564,7 +432,7 @@ item_flags = FLEXIBLEMATERIAL var/breath_masked = FALSE var/obj/item/clothing/mask/breath/breathmask - action_button_name = "Pull On Gaiter" + actions_types = list(/datum/action/item_action/pull_on_gaiter) /obj/item/clothing/accessory/gaiter/update_clothing_icon() . = ..() @@ -574,7 +442,7 @@ /obj/item/clothing/accessory/gaiter/attackby(obj/item/I, mob/user) if(istype(I, /obj/item/clothing/mask/breath)) - to_chat(user, SPAN_NOTICE("You tuck [I] behind [src].")) + to_chat(user, span_notice("You tuck [I] behind [src].")) breathmask = I breath_masked = TRUE user.drop_from_inventory(I, drop_location()) @@ -585,7 +453,7 @@ /obj/item/clothing/accessory/gaiter/AltClick(mob/user) . = ..() if(breath_masked && breathmask) - to_chat(user, SPAN_NOTICE("You pull [breathmask] out from behind [src], and it drops to your feet.")) + to_chat(user, span_notice("You pull [breathmask] out from behind [src], and it drops to your feet.")) breathmask.forceMove(drop_location()) breathmask = null breath_masked = FALSE @@ -605,7 +473,7 @@ body_parts_covered &= ~FACE if(breath_masked) item_flags &= ~AIRTIGHT - to_chat(user, SPAN_NOTICE(gaiterstring)) + to_chat(user, span_notice(gaiterstring)) qdel(mob_overlay) // we're gonna need to refresh these update_clothing_icon() //so our mob-overlays update diff --git a/code/modules/clothing/under/accessories/accessory_vr.dm b/code/modules/clothing/accessories/accessory_vr.dm similarity index 65% rename from code/modules/clothing/under/accessories/accessory_vr.dm rename to code/modules/clothing/accessories/accessory_vr.dm index 899359966f6..78aaf8354e0 100644 --- a/code/modules/clothing/under/accessories/accessory_vr.dm +++ b/code/modules/clothing/accessories/accessory_vr.dm @@ -5,7 +5,7 @@ /obj/item/clothing/accessory/choker //A colorable, tagless choker name = "plain choker" slot_flags = SLOT_TIE | SLOT_OCLOTHING - desc = "A simple, plain choker. Or maybe it's a collar? Use in-hand to customize it." + desc = "A simple, plain choker. Or maybe it's a collar?" icon = 'icons/inventory/accessory/item_vr.dmi' icon_override = 'icons/inventory/accessory/mob_vr.dmi' icon_state = "choker_cst" @@ -44,18 +44,6 @@ /obj/item/clothing/accessory/choker/dropped() icon_override = icon_previous_override -/obj/item/clothing/accessory/choker/attack_self(mob/user as mob) - if(!customized) - var/design = tgui_input_list(user,"Descriptor?","Pick descriptor","Descriptor", list("plain","simple","ornate","elegant","opulent")) - var/material = tgui_input_list(user,"Material?","Pick material","Material", list("leather","velvet","lace","fabric","latex","plastic","metal","chain","silver","gold","platinum","steel","bead","ruby","sapphire","emerald","diamond")) - var/type = tgui_input_list(user,"Type?","Pick type","Type", list("choker","collar","necklace")) - name = "[design] [material] [type]" - desc = "A [type], made of [material]. It's rather [design]." - customized = 1 - to_chat(usr,"[src] has now been customized.") - else - to_chat(usr,"[src] has already been customized!") - /obj/item/clothing/accessory/collar slot_flags = SLOT_TIE | SLOT_OCLOTHING icon = 'icons/inventory/accessory/item_vr.dmi' @@ -158,52 +146,68 @@ frequency = new_frequency radio_connection = radio_controller.add_object(src, frequency, RADIO_CHAT) -/obj/item/clothing/accessory/collar/shock/Topic(href, href_list) - if(usr.stat || usr.restrained()) +/obj/item/clothing/accessory/collar/shock/attack_self(mob/user as mob, flag1) + if(!ishuman(user)) return - if(((istype(usr, /mob/living/carbon/human) && ((!( ticker ) || (ticker && ticker.mode != "monkey")) && usr.contents.Find(src))) || (usr.contents.Find(master) || (in_range(src, usr) && istype(loc, /turf))))) - usr.set_machine(src) - if(href_list["freq"]) - var/new_frequency = sanitize_frequency(frequency + text2num(href_list["freq"])) - set_frequency(new_frequency) - if(href_list["tag"]) - var/str = copytext(reject_bad_text(tgui_input_text(usr,"Tag text?","Set tag","",MAX_NAME_LEN)),1,MAX_NAME_LEN) - if(!str || !length(str)) - to_chat(usr,"[name]'s tag set to be blank.") + tgui_interact(user) + +/obj/item/clothing/accessory/collar/shock/tgui_interact(mob/user, datum/tgui/ui, datum/tgui/parent_ui, custom_state) + ui = SStgui.try_update_ui(user, src, ui) + if(!ui) + ui = new(user, src, "ShockCollar", name) + ui.open() + +/obj/item/clothing/accessory/collar/shock/tgui_static_data(mob/user) + var/list/data = ..() + + data["freq_min"] = PUBLIC_LOW_FREQ + data["freq_max"] = PUBLIC_HIGH_FREQ + + data["code_min"] = 0 + data["code_max"] = 100 + + return data + +/obj/item/clothing/accessory/collar/shock/tgui_data(mob/user, datum/tgui/ui, datum/tgui_state/state) + var/list/data = ..() + + data["on"] = on + data["frequency"] = frequency + data["code"] = code + + return data + +/obj/item/clothing/accessory/collar/shock/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state) + . = ..() + if(.) + return + + switch(action) + if("freq") + var/new_freq = sanitize_frequency(params["freq"]) + set_frequency(new_freq) + . = TRUE + if("code") + code = CLAMP(text2num(params["code"]), 1, 100) + . = TRUE + if("power") + on = !on + icon_state = "collar_shk[on]" + . = TRUE + if("tag") + var/sanitized = tgui_input_text(ui.user, "Tag text?", "Set Tag", "", MAX_NAME_LEN, encode = TRUE) + if(isnull(sanitized)) + return + + if(!length(sanitized)) + to_chat(ui.user, span_notice("[src]'s tag set to blank.")) name = initial(name) desc = initial(desc) else - to_chat(usr,"You set the [name]'s tag to '[str]'.") - name = initial(name) + " ([str])" - desc = initial(desc) + " The tag says \"[str]\"." - else - if(href_list["code"]) - code += text2num(href_list["code"]) - code = round(code) - code = min(100, code) - code = max(1, code) - else - if(href_list["power"]) - on = !( on ) - icon_state = "collar_shk[on]" // And apparently this works, too?! - if(!( master )) - if(istype(loc, /mob)) - attack_self(loc) - else - for(var/mob/M in viewers(1, src)) - if(M.client) - attack_self(M) - else - if(istype(master.loc, /mob)) - attack_self(master.loc) - else - for(var/mob/M in viewers(1, master)) - if(M.client) - attack_self(M) - else - usr << browse(null, "window=radio") - return - return + to_chat(ui.user, span_notice("[src]'s tag set to '[sanitized]'.")) + name = initial(name) + " ([sanitized])" + desc = initial(desc) + " The tag says \"[sanitized]\"." + . = TRUE /obj/item/clothing/accessory/collar/shock/receive_signal(datum/signal/signal) if(!signal || signal.encryption != code) @@ -215,38 +219,11 @@ M = loc if(ismob(loc.loc)) M = loc.loc // This is about as terse as I can make my solution to the whole 'collar won't work when attached as accessory' thing. - to_chat(M,"You feel a sharp shock!") + to_chat(M,span_danger("You feel a sharp shock!")) var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread s.set_up(3, 1, M) s.start() M.Weaken(10) - return - -/obj/item/clothing/accessory/collar/shock/attack_self(mob/user as mob, flag1) - if(!istype(user, /mob/living/carbon/human)) - return - user.set_machine(src) - var/dat = {" - Turn [on ? "Off" : "On"]
    - Frequency/Code for collar:
    - Frequency: - - - - [format_frequency(frequency)] - + - +
    - - Code: - - - - [code] - + - +
    - - Tag: - Set tag
    -
    "} - user << browse(dat, "window=radio") - onclose(user, "radio") - return /obj/item/clothing/accessory/collar/spike name = "Spiked collar" @@ -293,21 +270,21 @@ /obj/item/clothing/accessory/collar/attack_self(mob/user as mob) if(istype(src,/obj/item/clothing/accessory/collar/holo)) - to_chat(user,"[name]'s interface is projected onto your hand.") + to_chat(user,span_notice("[name]'s interface is projected onto your hand.")) else if(writtenon) - to_chat(user,"You need a pen or a screwdriver to edit the tag on this collar.") + to_chat(user,span_notice("You need a pen or a screwdriver to edit the tag on this collar.")) return - to_chat(user,"You adjust the [name]'s tag.") + to_chat(user,span_notice("You adjust the [name]'s tag.")) var/str = copytext(reject_bad_text(tgui_input_text(user,"Tag text?","Set tag","",MAX_NAME_LEN)),1,MAX_NAME_LEN) if(!str || !length(str)) - to_chat(user,"[name]'s tag set to be blank.") + to_chat(user,span_notice("[name]'s tag set to be blank.")) name = initial(name) desc = initial(desc) else - to_chat(user,"You set the [name]'s tag to '[str]'.") + to_chat(user,span_notice("You set the [name]'s tag to '[str]'.")) initialize_tag(str) /obj/item/clothing/accessory/collar/proc/initialize_tag(var/tag) @@ -323,15 +300,15 @@ if(istype(src,/obj/item/clothing/accessory/collar/holo)) return - if(istype(I,/obj/item/weapon/tool/screwdriver)) + if(istype(I,/obj/item/tool/screwdriver)) update_collartag(user, I, "scratched out", "scratch out", "engraved") return - if(istype(I,/obj/item/weapon/pen)) + if(istype(I,/obj/item/pen)) update_collartag(user, I, "crossed out", "cross out", "written") return - to_chat(user,"You need a pen or a screwdriver to edit the tag on this collar.") + to_chat(user,span_notice("You need a pen or a screwdriver to edit the tag on this collar.")) /obj/item/clothing/accessory/collar/proc/update_collartag(mob/user, obj/item/I, var/erasemethod, var/erasing, var/writemethod) if(!(istype(user.get_active_hand(),I)) || !(istype(user.get_inactive_hand(),src)) || (user.stat)) @@ -341,19 +318,19 @@ if(!str || !length(str)) if(!writtenon) - to_chat(user,"You don't write anything.") + to_chat(user,span_notice("You don't write anything.")) else - to_chat(user,"You [erasing] the words with the [I].") + to_chat(user,span_notice("You [erasing] the words with the [I].")) name = initial(name) desc = initial(desc) + " The tag has had the words [erasemethod]." else if(!writtenon) - to_chat(user,"You write '[str]' on the tag with the [I].") + to_chat(user,span_notice("You write '[str]' on the tag with the [I].")) name = initial(name) + " ([str])" desc = initial(desc) + " \"[str]\" has been [writemethod] on the tag." writtenon = 1 else - to_chat(user,"You [erasing] the words on the tag with the [I], and write '[str]'.") + to_chat(user,span_notice("You [erasing] the words on the tag with the [I], and write '[str]'.")) name = initial(name) + " ([str])" desc = initial(desc) + " Something has been [erasemethod] on the tag, and it now has \"[str]\" [writemethod] on it." @@ -370,85 +347,29 @@ var/target_size = 1 on = 1 -/obj/item/clothing/accessory/collar/shock/bluespace/Topic(href, href_list) - if(usr.stat || usr.restrained()) - return - if(((istype(usr, /mob/living/carbon/human) && ((!( ticker ) || (ticker && ticker.mode != "monkey")) && usr.contents.Find(src))) || (usr.contents.Find(master) || (in_range(src, usr) && istype(loc, /turf))))) - usr.set_machine(src) - if(href_list["freq"]) - var/new_frequency = sanitize_frequency(frequency + text2num(href_list["freq"])) - set_frequency(new_frequency) - if(href_list["tag"]) - var/str = copytext(reject_bad_text(tgui_input_text(usr,"Tag text?","Set tag","",MAX_NAME_LEN)),1,MAX_NAME_LEN) - if(!str || !length(str)) - to_chat(usr,"[name]'s tag set to be blank.") - name = initial(name) - desc = initial(desc) - else - to_chat(usr,"You set the [name]'s tag to '[str]'.") - name = initial(name) + " ([str])" - desc = initial(desc) + " The tag says \"[str]\"." - else - if(href_list["code"]) - code += text2num(href_list["code"]) - code = round(code) - code = min(100, code) - code = max(1, code) - else - if(href_list["size"]) - var/size_select = tgui_input_number(usr, "Put the desired size (25-200%), (1-600%) in dormitory areas.", "Set Size", target_size * 100, 200, 25) - if(!size_select) - return //cancelled - target_size = clamp((size_select/100), RESIZE_MINIMUM_DORMS, RESIZE_MAXIMUM_DORMS) - to_chat(usr, "You set the size to [size_select]%") - if(target_size < RESIZE_MINIMUM || target_size > RESIZE_MAXIMUM) - to_chat(usr, "Note: Resizing limited to 25-200% automatically while outside dormatory areas.") //hint that we clamp it in resize - if(!( master )) - if(istype(loc, /mob)) - attack_self(loc) - else - for(var/mob/M in viewers(1, src)) - if(M.client) - attack_self(M) - else - if(istype(master.loc, /mob)) - attack_self(master.loc) - else - for(var/mob/M in viewers(1, master)) - if(M.client) - attack_self(M) - else - usr << browse(null, "window=radio") - return - return +/obj/item/clothing/accessory/collar/shock/bluespace/tgui_static_data(mob/user) + var/list/data = ..() + data["target_size_min"] = RESIZE_MINIMUM_DORMS + data["target_size_max"] = RESIZE_MAXIMUM_DORMS + return data -/obj/item/clothing/accessory/collar/shock/bluespace/attack_self(mob/user as mob, flag1) - if(!istype(user, /mob/living/carbon/human)) +/obj/item/clothing/accessory/collar/shock/bluespace/tgui_data(mob/user, datum/tgui/ui, datum/tgui_state/state) + var/list/data = ..() + data["target_size"] = target_size + return data + +/obj/item/clothing/accessory/collar/shock/bluespace/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state) + . = ..() + if(.) return - user.set_machine(src) - var/dat = {" - Frequency/Code for collar:
    - Frequency: - - - - [format_frequency(frequency)] - + - +
    - - Code: - - - - [code] - + - +
    - - Tag: - Set tag
    - - Size: - Set size
    -
    "} - user << browse(dat, "window=radio") - onclose(user, "radio") - return + + switch(action) + if("size") + target_size = clamp((params["size"]/100), RESIZE_MINIMUM_DORMS, RESIZE_MAXIMUM_DORMS) + to_chat(ui.user, span_notice("You set the size to [target_size * 100]%")) + if(target_size < RESIZE_MINIMUM || target_size > RESIZE_MAXIMUM) + to_chat(ui.user, span_notice("Note: Resizing limited to 25-200% automatically while outside dormatory areas.")) //hint that we clamp it in resize + . = TRUE /obj/item/clothing/accessory/collar/shock/bluespace/receive_signal(datum/signal/signal) if(!signal || signal.encryption != code) @@ -463,29 +384,29 @@ var/mob/living/carbon/human/H = M var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread if(!H.resizable) - H.visible_message("The space around [H] compresses for a moment but then nothing happens.","The space around you distorts but nothing happens to you.") + H.visible_message(span_warning("The space around [H] compresses for a moment but then nothing happens."),span_notice("The space around you distorts but nothing happens to you.")) return if(H.size_multiplier != target_size) if(!(world.time - last_activated > 10 SECONDS)) - to_chat(M, "\The [src] flickers. It seems to be recharging.") + to_chat(M, span_warning("\The [src] flickers. It seems to be recharging.")) return last_activated = world.time original_size = H.size_multiplier H.resize(target_size, ignore_prefs = FALSE) //In case someone else tries to put it on you. - H.visible_message("The space around [H] distorts as they change size!","The space around you distorts as you change size!") + H.visible_message(span_warning("The space around [H] distorts as they change size!"),span_notice("The space around you distorts as you change size!")) log_admin("Admin [key_name(M)]'s size was altered by a bluespace collar.") s.set_up(3, 1, M) s.start() else if(H.size_multiplier == target_size) if(original_size == null) - H.visible_message("The space around [H] twists and turns for a moment but then nothing happens.","The space around you distorts but stay the same size.") + H.visible_message(span_warning("The space around [H] twists and turns for a moment but then nothing happens."),span_notice("The space around you distorts but stay the same size.")) return last_activated = world.time H.resize(original_size, ignore_prefs = FALSE) original_size = null - H.visible_message("The space around [H] distorts as they return to their original size!","The space around you distorts as you return to your original size!") + H.visible_message(span_warning("The space around [H] distorts as they return to their original size!"),span_notice("The space around you distorts as you return to your original size!")) log_admin("Admin [key_name(M)]'s size was altered by a bluespace collar.") - to_chat(M, "\The [src] flickers. It is now recharging and will be ready again in ten seconds.") + to_chat(M, span_warning("\The [src] flickers. It is now recharging and will be ready again in ten seconds.")) s.set_up(3, 1, M) s.start() return @@ -495,16 +416,16 @@ /obj/item/clothing/accessory/collar/shock/bluespace/attackby(var/obj/item/component, mob/user as mob) if (component.has_tool_quality(TOOL_WRENCH)) - to_chat(user, "You crack the bluespace crystal [src].") + to_chat(user, span_notice("You crack the bluespace crystal [src].")) var/turf/T = get_turf(src) new /obj/item/clothing/accessory/collar/shock/bluespace/malfunctioning(T) user.drop_from_inventory(src) qdel(src) return - if (!istype(component,/obj/item/device/assembly/signaler)) + if (!istype(component,/obj/item/assembly/signaler)) ..() return - to_chat(user, "You wire the signaler into the [src].") + to_chat(user, span_notice("You wire the signaler into the [src].")) user.drop_item() qdel(component) var/turf/T = get_turf(src) @@ -526,75 +447,27 @@ /obj/item/clothing/accessory/collar/shock/bluespace/modified/attackby(var/obj/item/component, mob/user as mob) if (component.has_tool_quality(TOOL_WRENCH)) - to_chat(user, "You crack the bluespace crystal [src], the attached signaler disconnects.") + to_chat(user, span_notice("You crack the bluespace crystal [src], the attached signaler disconnects.")) var/turf/T = get_turf(src) new /obj/item/clothing/accessory/collar/shock/bluespace/malfunctioning(T) user.drop_from_inventory(src) qdel(src) return - if (!istype(component,/obj/item/device/assembly/signaler)) + if (!istype(component,/obj/item/assembly/signaler)) ..() return - to_chat(user, "There is already a signaler wired to the [src].") + to_chat(user, span_notice("There is already a signaler wired to the [src].")) return -/obj/item/clothing/accessory/collar/shock/bluespace/modified/attack_self(mob/user as mob, flag1) - if(!istype(user, /mob/living/carbon/human)) - return - user.set_machine(src) //Doesn't need code or size options as the code now just defines the size. - var/dat = {" - Frequency/Code for collar:
    - Frequency: - - - - [format_frequency(frequency)] - + - +
    - - Tag: - Set tag
    - - The size control of the collar is determined by two times the value of the code it recieves, to a minimum of 26 (code 13). -
    "} - user << browse(dat, "window=radio") - onclose(user, "radio") - return +/obj/item/clothing/accessory/collar/shock/bluespace/modified/tgui_data(mob/user, datum/tgui/ui, datum/tgui_state/state) + var/list/data = ..() + data["target_size"] = "code" + return data -/obj/item/clothing/accessory/collar/shock/bluespace/modified/Topic(href, href_list) - if(usr.stat || usr.restrained()) - return - if(((istype(usr, /mob/living/carbon/human) && ((!( ticker ) || (ticker && ticker.mode != "monkey")) && usr.contents.Find(src))) || (usr.contents.Find(master) || (in_range(src, usr) && istype(loc, /turf))))) - usr.set_machine(src) - if(href_list["freq"]) - var/new_frequency = sanitize_frequency(frequency + text2num(href_list["freq"])) - set_frequency(new_frequency) - if(href_list["tag"]) - var/str = copytext(reject_bad_text(tgui_input_text(usr,"Tag text?","Set tag","",MAX_NAME_LEN)),1,MAX_NAME_LEN) - if(!str || !length(str)) - to_chat(usr,"[name]'s tag set to be blank.") - name = initial(name) - desc = initial(desc) - else - to_chat(usr,"You set the [name]'s tag to '[str]'.") - name = initial(name) + " ([str])" - desc = initial(desc) + " The tag says \"[str]\"." - if(!( master )) - if(istype(loc, /mob)) - attack_self(loc) - else - for(var/mob/M in viewers(1, src)) - if(M.client) - attack_self(M) - else - if(istype(master.loc, /mob)) - attack_self(master.loc) - else - for(var/mob/M in viewers(1, master)) - if(M.client) - attack_self(M) - else - usr << browse(null, "window=radio") - return - return +/obj/item/clothing/accessory/collar/shock/bluespace/modified/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state) + if(action == "size") + return // no modifying size + . = ..() /obj/item/clothing/accessory/collar/shock/bluespace/modified/receive_signal(datum/signal/signal) if(!signal) @@ -609,32 +482,32 @@ var/mob/living/carbon/human/H = M var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread if(!H.resizable) - H.visible_message("The space around [H] compresses for a moment but then nothing happens.","The space around you distorts but nothing happens to you.") + H.visible_message(span_warning("The space around [H] compresses for a moment but then nothing happens."),span_notice("The space around you distorts but nothing happens to you.")) return if (target_size < 0.26) - H.visible_message("The collar on [H] flickers, but fizzles out.","Your collar flickers, but is not powerful enough to shrink you that small.") + H.visible_message(span_warning("The collar on [H] flickers, but fizzles out."),span_notice("Your collar flickers, but is not powerful enough to shrink you that small.")) return if(H.size_multiplier != target_size) if(!(world.time - last_activated > 10 SECONDS)) - to_chat(M, "\The [src] flickers. It seems to be recharging.") + to_chat(M, span_warning("\The [src] flickers. It seems to be recharging.")) return last_activated = world.time original_size = H.size_multiplier H.resize(target_size, ignore_prefs = FALSE) //In case someone else tries to put it on you. - H.visible_message("The space around [H] distorts as they change size!","The space around you distorts as you change size!") + H.visible_message(span_warning("The space around [H] distorts as they change size!"),span_notice("The space around you distorts as you change size!")) log_admin("Admin [key_name(M)]'s size was altered by a bluespace collar.") s.set_up(3, 1, M) s.start() else if(H.size_multiplier == target_size) if(original_size == null) - H.visible_message("The space around [H] twists and turns for a moment but then nothing happens.","The space around you distorts but stay the same size.") + H.visible_message(span_warning("The space around [H] twists and turns for a moment but then nothing happens."),span_notice("The space around you distorts but stay the same size.")) return last_activated = world.time H.resize(original_size, ignore_prefs = FALSE) original_size = null - H.visible_message("The space around [H] distorts as they return to their original size!","The space around you distorts as you return to your original size!") + H.visible_message(span_warning("The space around [H] distorts as they return to their original size!"),span_notice("The space around you distorts as you return to your original size!")) log_admin("Admin [key_name(M)]'s size was altered by a bluespace collar.") - to_chat(M, "\The [src] flickers. It is now recharging and will be ready again in ten seconds.") + to_chat(M, span_warning("\The [src] flickers. It is now recharging and will be ready again in ten seconds.")) s.set_up(3, 1, M) s.start() return @@ -652,82 +525,21 @@ var/currently_shrinking = 0 /obj/item/clothing/accessory/collar/shock/bluespace/malfunctioning/attackby(var/obj/item/component, mob/user as mob) - if (!istype(component,/obj/item/device/assembly/signaler)) + if (!istype(component,/obj/item/assembly/signaler)) ..() return - to_chat(user, "The signaler doesn't respond to the connection attempt [src].") + to_chat(user, span_notice("The signaler doesn't respond to the connection attempt [src].")) return -/obj/item/clothing/accessory/collar/shock/bluespace/malfunctioning/attack_self(mob/user as mob, flag1) - if(!istype(user, /mob/living/carbon/human)) - return - user.set_machine(src) - var/dat = {" - Frequency/Code for collar:
    - Frequency: - - - - [format_frequency(frequency)] - + - +
    - - Code: - - - - [code] - + - +
    - - Tag: - Set tag
    - - Size: - Input Disabled!
    -
    "} - user << browse(dat, "window=radio") - onclose(user, "radio") - return +/obj/item/clothing/accessory/collar/shock/bluespace/malfunctioning/tgui_data(mob/user, datum/tgui/ui, datum/tgui_state/state) + var/list/data = ..() + data["target_size"] = "locked" + return data -/obj/item/clothing/accessory/collar/shock/bluespace/malfunctioning/Topic(href, href_list) - if(usr.stat || usr.restrained()) - return - if(((istype(usr, /mob/living/carbon/human) && ((!( ticker ) || (ticker && ticker.mode != "monkey")) && usr.contents.Find(src))) || (usr.contents.Find(master) || (in_range(src, usr) && istype(loc, /turf))))) - usr.set_machine(src) - if(href_list["freq"]) - var/new_frequency = sanitize_frequency(frequency + text2num(href_list["freq"])) - set_frequency(new_frequency) - if(href_list["tag"]) - var/str = copytext(reject_bad_text(tgui_input_text(usr,"Tag text?","Set tag","",MAX_NAME_LEN)),1,MAX_NAME_LEN) - if(!str || !length(str)) - to_chat(usr,"[name]'s tag set to be blank.") - name = initial(name) - desc = initial(desc) - else - to_chat(usr,"You set the [name]'s tag to '[str]'.") - name = initial(name) + " ([str])" - desc = initial(desc) + " The tag says \"[str]\"." - else - if(href_list["code"]) - code += text2num(href_list["code"]) - code = round(code) - code = min(100, code) - code = max(1, code) - if(!( master )) - if(istype(loc, /mob)) - attack_self(loc) - else - for(var/mob/M in viewers(1, src)) - if(M.client) - attack_self(M) - else - if(istype(master.loc, /mob)) - attack_self(master.loc) - else - for(var/mob/M in viewers(1, master)) - if(M.client) - attack_self(M) - else - usr << browse(null, "window=radio") - return - return +/obj/item/clothing/accessory/collar/shock/bluespace/malfunctioning/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state) + if(action == "size") + return // no modifying size + . = ..() /obj/item/clothing/accessory/collar/shock/bluespace/malfunctioning/receive_signal(datum/signal/signal) if(!signal) @@ -742,34 +554,34 @@ var/mob/living/carbon/human/H = M var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread if(!H.resizable) - H.visible_message("The space around [H] compresses for a moment but then nothing happens.","The space around you distorts but nothing happens to you.") + H.visible_message(span_warning("The space around [H] compresses for a moment but then nothing happens."),span_notice("The space around you distorts but nothing happens to you.")) return if (target_size < 0.25) - H.visible_message("The collar on [H] flickers, but fizzles out.","Your collar flickers, but is not powerful enough to shrink you that small.") + H.visible_message(span_warning("The collar on [H] flickers, but fizzles out."),span_notice("Your collar flickers, but is not powerful enough to shrink you that small.")) return if(currently_shrinking == 0) if(!(world.time - last_activated > 10 SECONDS)) - to_chat(M, "\The [src] flickers. It seems to be recharging.") + to_chat(M, span_warning("\The [src] flickers. It seems to be recharging.")) return last_activated = world.time original_size = H.size_multiplier currently_shrinking = 1 H.resize(target_size, ignore_prefs = FALSE) //In case someone else tries to put it on you. - H.visible_message("The space around [H] distorts as they change size!","The space around you distorts as you change size!") + H.visible_message(span_warning("The space around [H] distorts as they change size!"),span_notice("The space around you distorts as you change size!")) log_admin("Admin [key_name(M)]'s size was altered by a bluespace collar.") s.set_up(3, 1, M) s.start() else if(currently_shrinking == 1) if(original_size == null) - H.visible_message("The space around [H] twists and turns for a moment but then nothing happens.","The space around you distorts but stay the same size.") + H.visible_message(span_warning("The space around [H] twists and turns for a moment but then nothing happens."),span_notice("The space around you distorts but stay the same size.")) return last_activated = world.time H.resize(original_size, ignore_prefs = FALSE) original_size = null currently_shrinking = 0 - H.visible_message("The space around [H] distorts as they return to their original size!","The space around you distorts as you return to your original size!") + H.visible_message(span_warning("The space around [H] distorts as they return to their original size!"),span_notice("The space around you distorts as you return to your original size!")) log_admin("Admin [key_name(M)]'s size was altered by a bluespace collar.") - to_chat(M, "\The [src] flickers. It is now recharging and will be ready again in ten seconds.") + to_chat(M, span_warning("\The [src] flickers. It is now recharging and will be ready again in ten seconds.")) s.set_up(3, 1, M) s.start() return @@ -781,7 +593,7 @@ icon_state = "holster_machete" slot = ACCESSORY_SLOT_WEAPON concealed_holster = 0 - can_hold = list(/obj/item/weapon/material/knife/machete, /obj/item/weapon/kinetic_crusher/machete) + can_hold = list(/obj/item/material/knife/machete, /obj/item/kinetic_crusher/machete) //sound_in = 'sound/effects/holster/sheathin.ogg' //sound_out = 'sound/effects/holster/sheathout.ogg' @@ -890,7 +702,7 @@ desc = "The latest fashion innovations by the Nanotrasen Uniform & Fashion Department have provided the brilliant invention of slicing a regular cloak in half! All the ponce, half the cost!" icon_state = "roughcloak" item_state = "roughcloak" - action_button_name = "Adjust Cloak" + actions_types = list(/datum/action/item_action/adjust_cloak) /obj/item/clothing/accessory/poncho/roles/cloak/half/update_clothing_icon() . = ..() @@ -961,13 +773,13 @@ /obj/item/clothing/accessory/poncho/roles/cloak/mantle/hop name = "head of personnel mantle" - desc = "A shoulder mantle bearing the colors of the Head of Personnel's uniform, featuring the typical royal blue contrasted by authoritative red." + desc = "A shoulder mantle bearing the colors of the " + JOB_HEAD_OF_PERSONNEL + "'s uniform, featuring the typical royal blue contrasted by authoritative red." icon_state = "hopmantle" item_state = "hopmantle" /obj/item/clothing/accessory/poncho/roles/cloak/mantle/cap name = "site manager mantle" - desc = "A shoulder mantle bearing the colors usually found on a Site Manager, a commanding blue with regal gold inlay." + desc = "A shoulder mantle bearing the colors usually found on a " + JOB_SITE_MANAGER + ", a commanding blue with regal gold inlay." icon_state = "capmantle" item_state = "capmantle" @@ -1161,7 +973,7 @@ desc = "Aim for the Heart, Ramon." icon_state = "neo_ranger" item_state = "neo_ranger" - action_button_name = "Adjust Poncho" + actions_types = list(/datum/action/item_action/adjust_poncho) /obj/item/clothing/accessory/poncho/roles/neo_ranger/update_clothing_icon() . = ..() @@ -1181,3 +993,41 @@ flags_inv = HIDEHOLSTER to_chat(user, "You adjust your poncho.") update_clothing_icon() + +/obj/item/clothing/accessory/belt + name = "Thin Belt" + desc = "A thin belt for holding your pants up." + icon = 'icons/inventory/accessory/item.dmi' + icon_override = 'icons/inventory/accessory/mob.dmi' + icon_state = "belt_thin" + item_state = "belt_thin" + slot_flags = SLOT_TIE | SLOT_BELT + slot = ACCESSORY_SLOT_DECOR + +/obj/item/clothing/accessory/belt/thick + name = "Thick Belt" + desc = "A thick belt for holding your pants up." + icon_state = "belt_thick" + item_state = "belt_thick" + +/obj/item/clothing/accessory/belt/strap + name = "Strap Belt" + desc = "A belt with no bucklet for holding your pants up." + icon_state = "belt_strap" + item_state = "belt_strap" + +/obj/item/clothing/accessory/belt/studded + name = "Studded Belt" + desc = "A studded belt for holding your pants up and looking cool." + icon_state = "belt_studded" + item_state = "belt_studded" + +/obj/item/clothing/accessory/bunny_tail + name = "Bunny Tail" + desc = "A little fluffy bunny tail to spice up your outfit." + icon = 'icons/inventory/accessory/item.dmi' + icon_override = 'icons/inventory/accessory/mob.dmi' + icon_state = "bunny_tail" + item_state = "bunny_tail" + slot_flags = SLOT_TIE | SLOT_BELT + slot = ACCESSORY_SLOT_DECOR diff --git a/code/modules/clothing/under/accessories/accessory_yw.dm b/code/modules/clothing/accessories/accessory_yw.dm similarity index 100% rename from code/modules/clothing/under/accessories/accessory_yw.dm rename to code/modules/clothing/accessories/accessory_yw.dm diff --git a/code/modules/clothing/under/accessories/altevian_vr.dm b/code/modules/clothing/accessories/altevian_vr.dm similarity index 100% rename from code/modules/clothing/under/accessories/altevian_vr.dm rename to code/modules/clothing/accessories/altevian_vr.dm diff --git a/code/modules/clothing/under/accessories/armband.dm b/code/modules/clothing/accessories/armband.dm similarity index 100% rename from code/modules/clothing/under/accessories/armband.dm rename to code/modules/clothing/accessories/armband.dm diff --git a/code/modules/clothing/under/accessories/armor.dm b/code/modules/clothing/accessories/armor.dm similarity index 98% rename from code/modules/clothing/under/accessories/armor.dm rename to code/modules/clothing/accessories/armor.dm index 96d6448fd2a..2262cc4650e 100644 --- a/code/modules/clothing/under/accessories/armor.dm +++ b/code/modules/clothing/accessories/armor.dm @@ -17,13 +17,13 @@ if((body_parts_covered & ARMS) && istype(H.gloves, /obj/item/clothing)) var/obj/item/clothing/G = H.gloves if(G.body_parts_covered & ARMS) - to_chat(H, "You can't wear \the [src] with \the [G], it's in the way.") + to_chat(H, span_warning("You can't wear \the [src] with \the [G], it's in the way.")) S.accessories -= src return else if((body_parts_covered & LEGS) && istype(H.shoes, /obj/item/clothing)) var/obj/item/clothing/Sh = H.shoes if(Sh.body_parts_covered & LEGS) - to_chat(H, "You can't wear \the [src] with \the [Sh], it's in the way.") + to_chat(H, span_warning("You can't wear \the [src] with \the [Sh], it's in the way.")) S.accessories -= src return ..() @@ -167,7 +167,7 @@ if(!(def_zone in list(BP_TORSO, BP_GROIN))) reflectchance /= 2 if(P.starting && prob(reflectchance)) - visible_message("\The [user]'s [src.name] reflects [attack_text]!") + visible_message(span_danger("\The [user]'s [src.name] reflects [attack_text]!")) var/new_x = P.starting.x + pick(0, 0, 0, 0, 0, -1, 1, -2, 2) @@ -435,4 +435,4 @@ /obj/item/clothing/accessory/armor/helmcover/saare name = "\improper SAARE helmet cover" desc = "A fabric cover for armored helmets. This one has SAARE's colors." - icon_state = "helmcover_saare" \ No newline at end of file + icon_state = "helmcover_saare" diff --git a/code/modules/clothing/under/accessories/badges.dm b/code/modules/clothing/accessories/badges.dm similarity index 85% rename from code/modules/clothing/under/accessories/badges.dm rename to code/modules/clothing/accessories/badges.dm index 6e2b392331e..3c8a6d2309f 100644 --- a/code/modules/clothing/under/accessories/badges.dm +++ b/code/modules/clothing/accessories/badges.dm @@ -28,13 +28,13 @@ if(isliving(user)) if(stored_name) - user.visible_message("[user] displays their [src.name].\nIt reads: [stored_name], [badge_string].","You display your [src.name].\nIt reads: [stored_name], [badge_string].") + user.visible_message(span_notice("[user] displays their [src.name].\nIt reads: [stored_name], [badge_string]."),span_notice("You display your [src.name].\nIt reads: [stored_name], [badge_string].")) else - user.visible_message("[user] displays their [src.name].\nIt reads: [badge_string].","You display your [src.name]. It reads: [badge_string].") + user.visible_message(span_notice("[user] displays their [src.name].\nIt reads: [badge_string]."),span_notice("You display your [src.name]. It reads: [badge_string].")) /obj/item/clothing/accessory/badge/attack(mob/living/carbon/human/M, mob/living/user) if(isliving(user)) - user.visible_message("[user] invades [M]'s personal space, thrusting [src] into their face insistently.","You invade [M]'s personal space, thrusting [src] into their face insistently.") + user.visible_message(span_danger("[user] invades [M]'s personal space, thrusting [src] into their face insistently."),span_danger("You invade [M]'s personal space, thrusting [src] into their face insistently.")) user.do_attack_animation(M) user.setClickCooldown(DEFAULT_QUICK_COOLDOWN) //NO SPAM @@ -94,27 +94,27 @@ /obj/item/clothing/accessory/badge/holo/emag_act(var/remaining_charges, var/mob/user) if (emagged) - to_chat(user, "\The [src] is already cracked.") + to_chat(user, span_danger("\The [src] is already cracked.")) return else emagged = 1 - to_chat(user, "You crack the holobadge security checks.") + to_chat(user, span_danger("You crack the holobadge security checks.")) return 1 /obj/item/clothing/accessory/badge/holo/attackby(var/obj/item/O as obj, var/mob/user as mob) - if(istype(O, /obj/item/weapon/card/id) || istype(O, /obj/item/device/pda)) + if(istype(O, /obj/item/card/id) || istype(O, /obj/item/pda)) - var/obj/item/weapon/card/id/id_card = null + var/obj/item/card/id/id_card = null - if(istype(O, /obj/item/weapon/card/id)) + if(istype(O, /obj/item/card/id)) id_card = O else - var/obj/item/device/pda/pda = O + var/obj/item/pda/pda = O id_card = pda.id var/found = FALSE for(var/access in valid_access) - if(access in id_card.access || emagged) + if(access in id_card.GetAccess() || emagged) to_chat(user, "You imprint your ID details onto the badge.") set_name(user.real_name) found = TRUE @@ -124,7 +124,7 @@ return ..() -/obj/item/weapon/storage/box/holobadge +/obj/item/storage/box/holobadge name = "holobadge box" desc = "A box claiming to contain holobadges." starts_with = list( @@ -135,25 +135,25 @@ /obj/item/clothing/accessory/badge/holo/officer name = "officer's badge" - desc = "A bronze corporate security badge. Stamped with the words 'Security Officer.'" + desc = "A bronze corporate security badge. Stamped with the words '" + JOB_SECURITY_OFFICER + ".'" icon_state = "bronzebadge" slot_flags = SLOT_TIE | SLOT_BELT /obj/item/clothing/accessory/badge/holo/warden name = "warden's holobadge" - desc = "A silver corporate security badge. Stamped with the words 'Warden.'" + desc = "A silver corporate security badge. Stamped with the words '" + JOB_WARDEN + ".'" icon_state = "silverbadge" slot_flags = SLOT_TIE | SLOT_BELT /obj/item/clothing/accessory/badge/holo/hos name = "head of security's holobadge" - desc = "An immaculately polished gold security badge. Stamped with the words 'Head of Security.'" + desc = "An immaculately polished gold security badge. Stamped with the words '" + JOB_HEAD_OF_SECURITY + ".'" icon_state = "goldbadge" slot_flags = SLOT_TIE | SLOT_BELT /obj/item/clothing/accessory/badge/holo/detective name = "detective's holobadge" - desc = "An immaculately polished gold security badge on leather. Labeled 'Detective.'" + desc = "An immaculately polished gold security badge on leather. Labeled '" + JOB_DETECTIVE + ".'" icon_state = "marshalbadge" slot_flags = SLOT_TIE | SLOT_BELT @@ -171,7 +171,7 @@ icon_state = "sheriff" slot_flags = SLOT_TIE | SLOT_BELT -/obj/item/weapon/storage/box/holobadge/hos +/obj/item/storage/box/holobadge/hos name = "holobadge box" desc = "A box claiming to contain holobadges." starts_with = list( @@ -195,7 +195,7 @@ /obj/item/clothing/accessory/badge/sheriff/attack(mob/living/carbon/human/M, mob/living/user) if(isliving(user)) - user.visible_message("[user] invades [M]'s personal space, the sheriff badge into their face!.","You invade [M]'s personal space, thrusting the sheriff badge into their face insistently.") + user.visible_message(span_danger("[user] invades [M]'s personal space, the sheriff badge into their face!."),span_danger("You invade [M]'s personal space, thrusting the sheriff badge into their face insistently.")) user.do_attack_animation(M) user.setClickCooldown(DEFAULT_QUICK_COOLDOWN) //NO SPAM diff --git a/code/modules/clothing/under/accessories/badges_vr.dm b/code/modules/clothing/accessories/badges_vr.dm similarity index 76% rename from code/modules/clothing/under/accessories/badges_vr.dm rename to code/modules/clothing/accessories/badges_vr.dm index a3fa5e1fd5b..091b8eeb65f 100644 --- a/code/modules/clothing/under/accessories/badges_vr.dm +++ b/code/modules/clothing/accessories/badges_vr.dm @@ -9,11 +9,11 @@ item_state = "dosimeter" overlay_state = "dosimeter" slot_flags = SLOT_TIE - var/obj/item/weapon/dosimeter_film/current_film = null + var/obj/item/dosimeter_film/current_film = null /obj/item/clothing/accessory/dosimeter/New() ..() - current_film = new /obj/item/weapon/dosimeter_film(src) + current_film = new /obj/item/dosimeter_film(src) update_state(current_film.state) START_PROCESSING(SSobj, src) @@ -30,7 +30,7 @@ if(current_film) user.put_in_hands(current_film) current_film = null - to_chat(user, "You pulled out the film out of \the [src].") + to_chat(user, span_notice("You pulled out the film out of \the [src].")) desc = "This seems like a dosimeter, but there is no film inside." STOP_PROCESSING(SSobj, src) update_state(0) @@ -40,20 +40,20 @@ return ..() /obj/item/clothing/accessory/dosimeter/attackby(obj/item/I, mob/user) - if(istype(I, /obj/item/weapon/dosimeter_film)) + if(istype(I, /obj/item/dosimeter_film)) if(!current_film) user.drop_item() I.loc = src current_film = I update_state(current_film.state) - to_chat(user, "You inserted the film into \the [src].") + to_chat(user, span_notice("You inserted the film into \the [src].")) desc = "This seems like a dosimeter. It has a film inside." if(current_film.state < 2) START_PROCESSING(SSobj, src) else - to_chat(user, "\The [src] already has a film inside.") + to_chat(user, span_notice("\The [src] already has a film inside.")) else return ..() @@ -61,11 +61,11 @@ if(wearer) if(current_film && (wearer.radiation >= 25) && (current_film.state == 0)) update_state(1) - visible_message("The film of \the [src] starts to darken.") + visible_message(span_warning("The film of \the [src] starts to darken.")) desc = "This seems like a dosimeter, but the film has darkened." sleep(30) else if(current_film && (wearer.radiation >= 50) && (current_film.state == 1)) - visible_message("The film of \the [src] has turned black!") + visible_message(span_warning("The film of \the [src] has turned black!")) update_state(2) desc = "This seems like a dosimeter, but the film has turned black." @@ -78,7 +78,7 @@ icon_state = "[initial(icon_state)]-empty" update_icon() -/obj/item/weapon/dosimeter_film +/obj/item/dosimeter_film name = "dosimeter film" desc = "These films can be inserted into dosimeters. It turns from white to black, depending on how much radiation it endured." w_class = ITEMSIZE_SMALL @@ -87,11 +87,11 @@ icon_state = "dosimeter_film0" var/state = 0 //0 - White, 1 - Darker, 2 - Black (same as iconstates) -/obj/item/weapon/dosimeter_film/proc/update_state(var/tostate) +/obj/item/dosimeter_film/proc/update_state(var/tostate) icon_state = tostate update_icon() -/obj/item/weapon/paper/dosimeter_manual +/obj/item/paper/dosimeter_manual name = "Dosimeter manual" info = {"

    Dosimeter

    Usage
    @@ -106,7 +106,7 @@ A white film indicates that everything is alright. A darker film indicates, that the radiation level is starting to get dangerous for your body. The body has absorbed too much radiation if the film turned black.

    "} -/obj/item/weapon/storage/box/dosimeter +/obj/item/storage/box/dosimeter name = "dosimeter case" desc = "This case can only hold the Dosimeter, a few films and a manual." icon = 'icons/inventory/accessory/item_vr.dmi' @@ -114,14 +114,14 @@ icon_state = "dosimeter_case" item_state_slots = list(slot_r_hand_str = "syringe_kit", slot_l_hand_str = "syringe_kit") storage_slots = 5 - can_hold = list(/obj/item/weapon/paper/dosimeter_manual, /obj/item/clothing/accessory/dosimeter, /obj/item/weapon/dosimeter_film) + can_hold = list(/obj/item/paper/dosimeter_manual, /obj/item/clothing/accessory/dosimeter, /obj/item/dosimeter_film) max_storage_space = (ITEMSIZE_COST_SMALL * 4) + (ITEMSIZE_COST_TINY * 1) w_class = ITEMSIZE_SMALL -/obj/item/weapon/storage/box/dosimeter/New() +/obj/item/storage/box/dosimeter/New() ..() - new /obj/item/weapon/paper/dosimeter_manual(src) + new /obj/item/paper/dosimeter_manual(src) new /obj/item/clothing/accessory/dosimeter(src) - new /obj/item/weapon/dosimeter_film(src) - new /obj/item/weapon/dosimeter_film(src) - new /obj/item/weapon/dosimeter_film(src) \ No newline at end of file + new /obj/item/dosimeter_film(src) + new /obj/item/dosimeter_film(src) + new /obj/item/dosimeter_film(src) diff --git a/code/modules/clothing/under/accessories/clothing.dm b/code/modules/clothing/accessories/clothing.dm similarity index 96% rename from code/modules/clothing/under/accessories/clothing.dm rename to code/modules/clothing/accessories/clothing.dm index 121cf61c5e4..0858ec47f8d 100644 --- a/code/modules/clothing/under/accessories/clothing.dm +++ b/code/modules/clothing/accessories/clothing.dm @@ -166,7 +166,7 @@ item_state = "classicponcho" icon_override = 'icons/inventory/accessory/mob.dmi' var/fire_resist = T0C+100 - allowed = list(/obj/item/weapon/tank/emergency/oxygen) + allowed = list(/obj/item/tank/emergency/oxygen) armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) slot_flags = SLOT_OCLOTHING | SLOT_TIE body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS @@ -369,7 +369,7 @@ item_state = "vest" icon_override = 'icons/inventory/accessory/mob.dmi' item_state_slots = list(slot_r_hand_str = "wcoat", slot_l_hand_str = "wcoat") - allowed = list(/obj/item/weapon/pen, /obj/item/weapon/paper, /obj/item/device/flashlight, /obj/item/weapon/tank/emergency/oxygen, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/storage/box/matches, /obj/item/weapon/reagent_containers/food/drinks/flask) + allowed = list(/obj/item/pen, /obj/item/paper, /obj/item/flashlight, /obj/item/tank/emergency/oxygen, /obj/item/storage/fancy/cigarettes, /obj/item/storage/box/matches, /obj/item/reagent_containers/food/drinks/flask) armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) slot_flags = SLOT_OCLOTHING | SLOT_TIE body_parts_covered = UPPER_TORSO|LOWER_TORSO @@ -553,7 +553,7 @@ icon_state = "klbr" icon_override = 'icons/inventory/accessory/mob.dmi' item_state_slots = list(SLOT_ID_RIGHT_HAND = "armor", SLOT_ID_LEFT_HAND = "armor") - allowed = list(/obj/item/weapon/gun,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/device/flashlight/maglight,/obj/item/clothing/head/helmet) + allowed = list(/obj/item/gun,/obj/item/reagent_containers/spray/pepper,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/handcuffs,/obj/item/flashlight/maglight,/obj/item/clothing/head/helmet) slot_flags = SLOT_OCLOTHING | SLOT_TIE body_parts_covered = UPPER_TORSO|ARMS siemens_coefficient = 0.9 diff --git a/code/modules/clothing/under/accessories/clothing_vr.dm b/code/modules/clothing/accessories/clothing_vr.dm similarity index 100% rename from code/modules/clothing/under/accessories/clothing_vr.dm rename to code/modules/clothing/accessories/clothing_vr.dm diff --git a/code/modules/clothing/accessories/hands.dm b/code/modules/clothing/accessories/hands.dm new file mode 100644 index 00000000000..2ac4386e6a2 --- /dev/null +++ b/code/modules/clothing/accessories/hands.dm @@ -0,0 +1,141 @@ +/obj/item/clothing/accessory/knuckledusters + name = "knuckle dusters" + desc = "A pair of brass knuckles. Generally used to enhance the user's punches." + icon_state = "knuckledusters" + slot = ACCESSORY_SLOT_RING + slot_flags = SLOT_GLOVES + matter = list(MAT_STEEL = 500) + attack_verb = list("punched", "beaten", "struck") + siemens_coefficient = 1 + force = 10 //base punch strength is 5 + punch_force = 5 //added to base punch strength when added as a glove accessory + icon = 'icons/inventory/hands/item.dmi' + item_icons = list( + slot_l_hand_str = 'icons/mob/items/lefthand_gloves.dmi', + slot_r_hand_str = 'icons/mob/items/righthand_gloves.dmi', + ) + drop_sound = 'sound/items/drop/metalboots.ogg' + pickup_sound = 'sound/items/pickup/toolbox.ogg' + +//bracelets + +/obj/item/clothing/accessory/bracelet + name = "bracelet" + desc = "A simple silver bracelet with a clasp." + icon = 'icons/inventory/accessory/item.dmi' + icon_state = "bracelet" + w_class = ITEMSIZE_TINY + slot_flags = SLOT_GLOVES | SLOT_TIE + slot = ACCESSORY_SLOT_WRIST + +/obj/item/clothing/accessory/bracelet/friendship + name = "friendship bracelet" + desc = "A beautiful friendship bracelet in all the colors of the rainbow." + icon_state = "friendbracelet" + +/obj/item/clothing/accessory/bracelet/friendship/verb/dedicate_bracelet() + set name = "Dedicate Bracelet" + set category = "Object" + set desc = "Dedicate your friendship bracelet to a special someone." + var/mob/M = usr + if(!M.mind) + return 0 + + var/input = sanitizeSafe(input(usr, "Who do you want to dedicate the bracelet to?", ,""), MAX_NAME_LEN) + + if(src && input && !M.stat && in_range(M,src)) + desc = "A beautiful friendship bracelet in all the colors of the rainbow. It's dedicated to [input]." + to_chat(M, "You dedicate the bracelet to [input], remembering the times you've had together.") + return 1 + + +/obj/item/clothing/accessory/bracelet/material + icon_state = "materialbracelet" + +/obj/item/clothing/accessory/bracelet/material/New(var/newloc, var/new_material) + ..(newloc) + if(!new_material) + new_material = MAT_STEEL + material = get_material_by_name(new_material) + if(!istype(material)) + qdel(src) + return + name = "[material.display_name] bracelet" + desc = "A bracelet made from [material.display_name]." + color = material.icon_colour + +/obj/item/clothing/accessory/bracelet/material/get_material() + return material + +/obj/item/clothing/accessory/bracelet/material/wood/New(var/newloc) + ..(newloc, "wood") + +/obj/item/clothing/accessory/bracelet/material/plastic/New(var/newloc) + ..(newloc, "plastic") + +/obj/item/clothing/accessory/bracelet/material/iron/New(var/newloc) + ..(newloc, "iron") + +/obj/item/clothing/accessory/bracelet/material/steel/New(var/newloc) + ..(newloc, "steel") + +/obj/item/clothing/accessory/bracelet/material/silver/New(var/newloc) + ..(newloc, "silver") + +/obj/item/clothing/accessory/bracelet/material/gold/New(var/newloc) + ..(newloc, "gold") + +/obj/item/clothing/accessory/bracelet/material/platinum/New(var/newloc) + ..(newloc, "platinum") + +/obj/item/clothing/accessory/bracelet/material/phoron/New(var/newloc) + ..(newloc, "phoron") + +/obj/item/clothing/accessory/bracelet/material/glass/New(var/newloc) + ..(newloc, "glass") + +//wristbands + +/obj/item/clothing/accessory/wristband + name = "wristband" + desc = "A simple plastic wristband." + icon = 'icons/inventory/accessory/item.dmi' + icon_state = "wristband" + w_class = ITEMSIZE_TINY + slot_flags = SLOT_GLOVES | SLOT_TIE + slot = ACCESSORY_SLOT_WRIST + +/obj/item/clothing/accessory/wristband/spiked + name = "wristband (spiked)" + desc = "A black wristband with short spikes around it." + icon_state = "wristband_spiked" + +/obj/item/clothing/accessory/wristband/collection + name = "wristband collection" + desc = "A mix of colourable plastic wristbands." + icon_state = "wristband_collection" + +/obj/item/clothing/accessory/wristband/collection/pink + name = "wristband collection" + desc = "A mix of colourable plastic wristbands." + icon_state = "wristband_collection2" + +/obj/item/clothing/accessory/wristband/collection/les + name = "wristband collection" + desc = "A mix of colourable plastic wristbands." + icon_state = "wristband_collection3" + +/obj/item/clothing/accessory/wristband/collection/trans + name = "wristband collection" + desc = "A mix of colourable plastic wristbands." + icon_state = "wristband_collection4" + +/obj/item/clothing/accessory/wristband/collection/bi + name = "wristband collection" + desc = "A mix of colourable plastic wristbands." + icon_state = "wristband_collection5" + +/obj/item/clothing/accessory/wristband/collection/ace + name = "wristband collection" + desc = "A mix of colourable plastic wristbands." + icon_state = "wristband_collection6" diff --git a/code/modules/clothing/under/accessories/holster.dm b/code/modules/clothing/accessories/holster.dm similarity index 78% rename from code/modules/clothing/under/accessories/holster.dm rename to code/modules/clothing/accessories/holster.dm index 32ad7fc4a56..f88b6d3ad98 100644 --- a/code/modules/clothing/under/accessories/holster.dm +++ b/code/modules/clothing/accessories/holster.dm @@ -12,17 +12,17 @@ /obj/item/clothing/accessory/holster/proc/holster(var/obj/item/I, var/mob/living/user) if(holstered && istype(user)) - to_chat(user, "There is already \a [holstered] holstered here!") + to_chat(user, span_warning("There is already \a [holstered] holstered here!")) return //VOREStation Edit - Machete sheath support if (LAZYLEN(can_hold)) if(!is_type_in_list(I,can_hold)) - to_chat(user, "[I] won't fit in [src]!") + to_chat(user, span_warning("[I] won't fit in [src]!")) return else if (!(I.slot_flags & SLOT_HOLSTER)) //VOREStation Edit End - to_chat(user, "[I] won't fit in [src]!") + to_chat(user, span_warning("[I] won't fit in [src]!")) return if(holster_in) @@ -34,7 +34,7 @@ user.drop_from_inventory(holstered, target = src) holstered.add_fingerprint(user) w_class = max(w_class, holstered.w_class) - user.visible_message("[user] holsters \the [holstered].", "You holster \the [holstered].") + user.visible_message(span_notice("[user] holsters \the [holstered]."), span_notice("You holster \the [holstered].")) name = "occupied [initial(name)]" /obj/item/clothing/accessory/holster/proc/clear_holster() @@ -46,19 +46,19 @@ return if(istype(user.get_active_hand(),/obj) && istype(user.get_inactive_hand(),/obj)) - to_chat(user, "You need an empty hand to draw \the [holstered]!") + to_chat(user, span_warning("You need an empty hand to draw \the [holstered]!")) else var/sound_vol = 25 if(user.a_intent == I_HURT) sound_vol = 50 usr.visible_message( - "[user] draws \the [holstered], ready to go!", //VOREStation Edit - "You draw \the [holstered], ready to go!" //VOREStation Edit + span_danger("[user] draws \the [holstered], ready to go!"), //VOREStation Edit + span_warning("You draw \the [holstered], ready to go!") //VOREStation Edit ) else user.visible_message( - "[user] draws \the [holstered], pointing it at the ground.", - "You draw \the [holstered], pointing it at the ground." + span_notice("[user] draws \the [holstered], pointing it at the ground."), + span_notice("You draw \the [holstered], pointing it at the ground.") ) if(holster_out) @@ -122,12 +122,12 @@ H = locate() in S.accessories if (!H) - to_chat(usr, "Something is very wrong.") + to_chat(usr, span_warning("Something is very wrong.")) if(!H.holstered) var/obj/item/W = usr.get_active_hand() if(!istype(W, /obj/item)) - to_chat(usr, "You need your gun equipped to holster it.") + to_chat(usr, span_warning("You need your gun equipped to holster it.")) return H.holster(W, usr) else @@ -153,7 +153,7 @@ /obj/item/clothing/accessory/holster/hip name = "hip holster" - desc = "No one dared to ask his business, no one dared to make a slip. The stranger there among them had a big iron on his hip." + desc = span_italics("No one dared to ask his business, no one dared to make a slip. The stranger there among them had a big iron on his hip.") icon_state = "holster_hip" concealed_holster = 0 @@ -170,4 +170,4 @@ /obj/item/clothing/accessory/holster/leg/black desc = "A tacticool handgun holster. Worn on the upper leg." - icon_state = "holster_b_leg" \ No newline at end of file + icon_state = "holster_b_leg" diff --git a/code/modules/clothing/under/accessories/holster_vr.dm b/code/modules/clothing/accessories/holster_vr.dm similarity index 81% rename from code/modules/clothing/under/accessories/holster_vr.dm rename to code/modules/clothing/accessories/holster_vr.dm index 5032134302d..3678e7629f7 100644 --- a/code/modules/clothing/under/accessories/holster_vr.dm +++ b/code/modules/clothing/accessories/holster_vr.dm @@ -1,7 +1,7 @@ /obj/item/clothing/accessory/holster/waist/kinetic_accelerator name = "KA holster" desc = "A specialized holster, made specifically for Kinetic Accelerators." - can_hold = list(/obj/item/weapon/gun/energy/kinetic_accelerator) + can_hold = list(/obj/item/gun/energy/kinetic_accelerator) /obj/item/clothing/accessory/holster/waist/lanyard name = "baton lanyard" @@ -9,9 +9,9 @@ icon_state = "holster_lanyard" overlay_state = "holster_lanyard" can_hold = list( - /obj/item/weapon/melee/baton, - /obj/item/weapon/melee/classic_baton, - /obj/item/weapon/melee/telebaton + /obj/item/melee/baton, + /obj/item/melee/classic_baton, + /obj/item/melee/telebaton ) /obj/item/clothing/accessory/holster/machete/rapier @@ -23,18 +23,18 @@ var/has_full_icon = 1 icon_override = 'icons/inventory/accessory/mob_vr.dmi' overlay_state = "sheath" - can_hold = list(/obj/item/weapon/melee/rapier) + can_hold = list(/obj/item/melee/rapier) /obj/item/clothing/accessory/holster/machete/rapier/swords name = "sword sheath" desc = "A beautiful red sheath, probably for a beautiful blade." can_hold = list( - /obj/item/weapon/melee/rapier, - /obj/item/weapon/material/sword/katana, + /obj/item/melee/rapier, + /obj/item/material/sword/katana, /obj/item/toy/cultsword, - /obj/item/weapon/material/sword, - /obj/item/weapon/melee/cursedblade, - /obj/item/weapon/melee/cultblade + /obj/item/material/sword, + /obj/item/melee/cursedblade, + /obj/item/melee/cultblade ) /obj/item/clothing/accessory/holster/machete/rapier/proc/occupied() diff --git a/code/modules/clothing/under/accessories/lockets.dm b/code/modules/clothing/accessories/lockets.dm similarity index 94% rename from code/modules/clothing/under/accessories/lockets.dm rename to code/modules/clothing/accessories/lockets.dm index ef9ea3623ac..ee610474615 100644 --- a/code/modules/clothing/under/accessories/lockets.dm +++ b/code/modules/clothing/accessories/lockets.dm @@ -35,7 +35,7 @@ to_chat(user, "You have to open it first.") return - if(istype(O,/obj/item/weapon/paper) || istype(O, /obj/item/weapon/photo)) + if(istype(O,/obj/item/paper) || istype(O, /obj/item/photo)) if(held) to_chat(usr, "\The [src] already has something inside it.") else diff --git a/code/modules/clothing/under/accessories/permits.dm b/code/modules/clothing/accessories/permits.dm similarity index 100% rename from code/modules/clothing/under/accessories/permits.dm rename to code/modules/clothing/accessories/permits.dm diff --git a/code/modules/clothing/under/accessories/permits_vr.dm b/code/modules/clothing/accessories/permits_vr.dm similarity index 100% rename from code/modules/clothing/under/accessories/permits_vr.dm rename to code/modules/clothing/accessories/permits_vr.dm diff --git a/code/modules/clothing/accessories/rings.dm b/code/modules/clothing/accessories/rings.dm new file mode 100644 index 00000000000..361c87c854d --- /dev/null +++ b/code/modules/clothing/accessories/rings.dm @@ -0,0 +1,204 @@ +//Generic Ring + +/obj/item/clothing/accessory/ring + name = "generic ring" + desc = "Torus shaped finger decoration." + icon_state = "material" + drop_sound = 'sound/items/drop/ring.ogg' + slot = ACCESSORY_SLOT_RING + slot_flags = SLOT_GLOVES + item_icons = list( + slot_l_hand_str = 'icons/mob/items/lefthand_gloves.dmi', + slot_r_hand_str = 'icons/mob/items/righthand_gloves.dmi', + ) + gender = PLURAL + w_class = ITEMSIZE_SMALL + icon = 'icons/inventory/hands/item.dmi' + drop_sound = 'sound/items/drop/ring.ogg' + pickup_sound = 'sound/items/pickup/ring.ogg' + force = 7 //base punch strength is 5 + punch_force = 2 //added to base punch strength when added as a glove accessory + siemens_coefficient = 1 + +///////////////////////////////////////// +//Standard Rings +/obj/item/clothing/accessory/ring/engagement + name = "engagement ring" + desc = "An engagement ring. It certainly looks expensive." + icon_state = "diamond" + +/obj/item/clothing/accessory/ring/engagement/attack_self(mob/user) + user.visible_message(span_warning("\The [user] gets down on one knee, presenting \the [src]."),span_warning("You get down on one knee, presenting \the [src].")) + +/obj/item/clothing/accessory/ring/cti + name = "CTI ring" + desc = "A ring commemorating graduation from CTI." + icon_state = "cti-grad" + +/obj/item/clothing/accessory/ring/mariner + name = "Mariner University ring" + desc = "A ring commemorating graduation from Mariner University." + icon_state = "mariner-grad" + + +///////////////////////////////////////// +//Reagent Rings + +/obj/item/clothing/accessory/ring/reagent + flags = OPENCONTAINER + origin_tech = list(TECH_MATERIAL = 2, TECH_ILLEGAL = 4) + +/obj/item/clothing/accessory/ring/reagent/Initialize() + . = ..() + create_reagents(15) + +/obj/item/clothing/accessory/ring/reagent/equipped(var/mob/living/carbon/human/H) + ..() + if(istype(H) && H.gloves==src) + + if(reagents.total_volume) + to_chat(H, span_danger("You feel a prick as you slip on \the [src].")) + if(H.reagents) + var/contained = reagents.get_reagents() + var/trans = reagents.trans_to_mob(H, 15, CHEM_BLOOD) + add_attack_logs(usr, H, "Injected with [name] containing [contained] transferred [trans] units") + return + +//Sleepy Ring +/obj/item/clothing/accessory/ring/reagent/sleepy + name = "silver ring" + desc = "A ring made from what appears to be silver." + icon_state = "material" + origin_tech = list(TECH_MATERIAL = 2, TECH_ILLEGAL = 5) + +/obj/item/clothing/accessory/ring/reagent/sleepy/Initialize() + . = ..() + reagents.add_reagent("chloralhydrate", 15) // Less than a sleepy-pen, but still enough to knock someone out + +///////////////////////////////////////// +//Seals and Signet Rings + +/obj/item/clothing/accessory/ring/seal + var/stamptext = null + +/obj/item/clothing/accessory/ring/seal/secgen + name = "Secretary-General's official seal" + desc = "The official seal of the Secretary-General of the Sol Central Government, featured prominently on a silver ring." + icon_state = "seal-secgen" + +/obj/item/clothing/accessory/ring/seal/mason + name = "\improper Masonic ring" + desc = "The Square and Compasses feature prominently on this Masonic ring." + icon_state = "seal-masonic" + +/obj/item/clothing/accessory/ring/seal/signet + name = "signet ring" + desc = "A signet ring, for when you're too sophisticated to sign letters." + icon_state = "seal-signet" + var/nameset = FALSE + +/obj/item/clothing/accessory/ring/seal/signet/attack_self(mob/user) + if(nameset) + to_chat(user, span_notice("The [src] has already been claimed!")) + return + + to_chat(user, span_notice("You claim the [src] as your own!")) + change_name(user) + nameset = TRUE + +/obj/item/clothing/accessory/ring/seal/signet/proc/change_name(var/signet_name = "Unknown") + name = "[signet_name]'s signet ring" + desc = "A signet ring belonging to [signet_name], for when you're too sophisticated to sign letters." + +/obj/item/clothing/accessory/ring/wedding + name = "golden wedding ring" + desc = "For showing your devotion to another person. It has a golden glimmer to it." + icon = 'icons/inventory/hands/item_vr.dmi' + icon_state = "wedring_g" + item_state = "wedring_g" + var/partnername = "" + +/obj/item/clothing/accessory/ring/wedding/attack_self(mob/user) + partnername = copytext(sanitize(input(user, "Would you like to change the holoengraving on the ring?", "Name your spouse", "Bae") as null|text),1,MAX_NAME_LEN) + name = "[initial(name)] - [partnername]" + +/obj/item/clothing/accessory/ring/wedding/silver + name = "silver wedding ring" + desc = "For showing your devotion to another person. It has a silver glimmer to it." + icon_state = "wedring_s" + item_state = "wedring_s" + +///////////////////////////////////////// +//Material Rings +/obj/item/clothing/accessory/ring/material + icon = 'icons/inventory/hands/item.dmi' + icon_state = "material" + +/obj/item/clothing/accessory/ring/material/New(var/newloc, var/new_material) + ..(newloc) + if(!new_material) + new_material = MAT_STEEL + material = get_material_by_name(new_material) + if(!istype(material)) + qdel(src) + return + name = "[material.display_name] ring" + desc = "A ring made from [material.display_name]." + color = material.icon_colour + +/obj/item/clothing/accessory/ring/material/get_material() + return material + +/obj/item/clothing/accessory/ring/material/wood/New(var/newloc) + ..(newloc, MAT_WOOD) + +/obj/item/clothing/accessory/ring/material/plastic/New(var/newloc) + ..(newloc, MAT_PLASTIC) + +/obj/item/clothing/accessory/ring/material/iron/New(var/newloc) + ..(newloc, MAT_IRON) + +/obj/item/clothing/accessory/ring/material/glass/New(var/newloc) + ..(newloc, MAT_GLASS) + +/obj/item/clothing/accessory/ring/material/steel/New(var/newloc) + ..(newloc, MAT_STEEL) + +/obj/item/clothing/accessory/ring/material/silver/New(var/newloc) + ..(newloc, MAT_SILVER) + +/obj/item/clothing/accessory/ring/material/gold/New(var/newloc) + ..(newloc, MAT_GOLD) + +/obj/item/clothing/accessory/ring/material/platinum/New(var/newloc) + ..(newloc, MAT_PLATINUM) + +/obj/item/clothing/accessory/ring/material/phoron/New(var/newloc) + ..(newloc, MAT_PHORON) + +/obj/item/clothing/accessory/ring/material/titanium/New(var/newloc) + ..(newloc, MAT_TITANIUM) + +/obj/item/clothing/accessory/ring/material/copper/New(var/newloc) + ..(newloc, MAT_COPPER) + +/obj/item/clothing/accessory/ring/material/bronze/New(var/newloc) + ..(newloc, MAT_BRONZE) + +/obj/item/clothing/accessory/ring/material/uranium/New(var/newloc) + ..(newloc, MAT_URANIUM) + +/obj/item/clothing/accessory/ring/material/osmium/New(var/newloc) + ..(newloc, MAT_OSMIUM) + +/obj/item/clothing/accessory/ring/material/lead/New(var/newloc) + ..(newloc, MAT_LEAD) + +/obj/item/clothing/accessory/ring/material/diamond/New(var/newloc) + ..(newloc, MAT_DIAMOND) + +/obj/item/clothing/accessory/ring/material/tin/New(var/newloc) + ..(newloc, MAT_TIN) + +/obj/item/clothing/accessory/ring/material/void_opal/New(var/newloc) + ..(newloc, MAT_VOPAL) diff --git a/code/modules/clothing/under/accessories/shiny_vr.dm b/code/modules/clothing/accessories/shiny_vr.dm similarity index 100% rename from code/modules/clothing/under/accessories/shiny_vr.dm rename to code/modules/clothing/accessories/shiny_vr.dm diff --git a/code/modules/clothing/under/accessories/storage.dm b/code/modules/clothing/accessories/storage.dm similarity index 87% rename from code/modules/clothing/under/accessories/storage.dm rename to code/modules/clothing/accessories/storage.dm index 0bd0549e7a2..de06731d6e9 100644 --- a/code/modules/clothing/under/accessories/storage.dm +++ b/code/modules/clothing/accessories/storage.dm @@ -6,14 +6,14 @@ show_messages = 1 var/slots = 5 - var/obj/item/weapon/storage/internal/hold + var/obj/item/storage/internal/hold w_class = ITEMSIZE_NORMAL on_rolled = list("down" = "none") var/hide_on_roll = FALSE /obj/item/clothing/accessory/storage/Initialize() . = ..() - hold = new/obj/item/weapon/storage/internal(src) + hold = new/obj/item/storage/internal(src) hold.max_storage_space = slots * 2 hold.max_w_class = ITEMSIZE_SMALL if (!hide_on_roll) @@ -42,7 +42,7 @@ ..() /obj/item/clothing/accessory/storage/attack_self(mob/user as mob) - to_chat(user, "You empty [src].") + to_chat(user, span_notice("You empty [src].")) var/turf/T = get_turf(src) hold.hide_from(usr) for(var/obj/item/I in hold.contents) @@ -97,9 +97,9 @@ /obj/item/clothing/accessory/storage/knifeharness/Initialize() . = ..() hold.max_storage_space = ITEMSIZE_COST_SMALL * 2 - hold.can_hold = list(/obj/item/weapon/material/knife/machete/hatchet/unathiknife,\ - /obj/item/weapon/material/knife,\ - /obj/item/weapon/material/knife/plastic) + hold.can_hold = list(/obj/item/material/knife/machete/hatchet/unathiknife,\ + /obj/item/material/knife,\ + /obj/item/material/knife/plastic) - new /obj/item/weapon/material/knife/machete/hatchet/unathiknife(hold) - new /obj/item/weapon/material/knife/machete/hatchet/unathiknife(hold) + new /obj/item/material/knife/machete/hatchet/unathiknife(hold) + new /obj/item/material/knife/machete/hatchet/unathiknife(hold) diff --git a/code/modules/clothing/under/accessories/storage_vr.dm b/code/modules/clothing/accessories/storage_vr.dm similarity index 100% rename from code/modules/clothing/under/accessories/storage_vr.dm rename to code/modules/clothing/accessories/storage_vr.dm diff --git a/code/modules/clothing/under/accessories/temperature/poncho.dm b/code/modules/clothing/accessories/temperature/poncho.dm similarity index 100% rename from code/modules/clothing/under/accessories/temperature/poncho.dm rename to code/modules/clothing/accessories/temperature/poncho.dm diff --git a/code/modules/clothing/under/accessories/torch.dm b/code/modules/clothing/accessories/torch.dm similarity index 100% rename from code/modules/clothing/under/accessories/torch.dm rename to code/modules/clothing/accessories/torch.dm diff --git a/code/modules/clothing/under/accessories/torch_vr.dm b/code/modules/clothing/accessories/torch_vr.dm similarity index 100% rename from code/modules/clothing/under/accessories/torch_vr.dm rename to code/modules/clothing/accessories/torch_vr.dm diff --git a/code/modules/clothing/accessories/watches.dm b/code/modules/clothing/accessories/watches.dm new file mode 100644 index 00000000000..5a93cb94f0e --- /dev/null +++ b/code/modules/clothing/accessories/watches.dm @@ -0,0 +1,72 @@ +/obj/item/clothing/accessory/watch + name = "wristwatch" + desc = "A cheap plastic quartz-based wristwatch. Painfully archaic by modern standards, but there's something charming about it all the same." + icon_state = "wristwatch_basic" + siemens_coefficient = 1 + gender = "neuter" + slot = ACCESSORY_SLOT_WRIST + slot_flags = SLOT_GLOVES + icon = 'icons/inventory/hands/item.dmi' + item_icons = list( + slot_l_hand_str = 'icons/mob/items/lefthand_gloves.dmi', + slot_r_hand_str = 'icons/mob/items/righthand_gloves.dmi', + ) + sprite_sheets = list( + SPECIES_TESHARI = 'icons/inventory/hands/mob_teshari.dmi', + SPECIES_VOX = 'icons/inventory/hands/mob_vox.dmi' + ) + +/obj/item/clothing/accessory/watch/examine(mob/user) + . = ..() + + if(Adjacent(user)) + . += span_notice("The current station time is [stationtime2text()].") + +/obj/item/clothing/accessory/watch/silver + name = "silver wristwatch" + desc = "A humble silver (or maybe chrome) plated wristwatch. It's quite archaic, but nonetheless classy in its own way." + icon_state = "wristwatch_silver" + +/obj/item/clothing/accessory/watch/gold + name = "gold wristwatch" + desc = "A very fancy gold-plated wristwatch. For when you want to casually show off just how wealthy you are. It even tells the time!" + icon_state = "wristwatch_gold" + +/obj/item/clothing/accessory/watch/survival + name = "survival watch" + desc = "An overengineered wristwatch that purports to be both space and water proof, and includes a compass, micro GPS beacon, and temperature and pressure sensors. The beacon is off by default, and can only transmit its location: it cannot scan for other signals." + description_fluff = "Hold ALT whilst left-clicking on the survival watch to toggle the status of its micro-beacon." + icon_state = "wristwatch_survival" + + var/obj/item/gps/gps = null + +/obj/item/clothing/accessory/watch/survival/examine(mob/user) + . = ..() + + if(Adjacent(user)) + . += span_notice("You are currently facing [dir2text(user.dir)]. The micro beacon is [gps.tracking ? "on" : "off"].") + var/TB = user.loc + if(istype(TB, /turf/)) //no point returning light level if we're not on a turf (might be *in* someone!) + var/turf/TL = TB + var/light_level = TL.get_lumcount() + if(light_level) + . += span_notice("Light Level: [TL.get_lumcount()]") + else + . += span_notice("It's too dark to see the light level!") + if(istype(TB, /turf/simulated)) //no point returning atmospheric data from unsimulated tiles (they don't track pressure anyway, only temperature) + var/turf/simulated/T = TB + var/datum/gas_mixture/env = T.return_air() + . += span_notice("Pressure: [env.return_pressure()]kPa / Temperature: [env.temperature]K ") + +/obj/item/clothing/accessory/watch/survival/New() + gps = new/obj/item/gps/watch(src) + +/obj/item/gps/watch + gps_tag = "SRV-WTCH" + +/obj/item/clothing/accessory/watch/survival/AltClick(mob/user) + . = ..() + + if(Adjacent(user)) + gps.tracking = !gps.tracking + to_chat(user,span_notice("You turn the micro beacon [gps.tracking ? "on" : "off"].")) diff --git a/code/modules/clothing/chameleon.dm b/code/modules/clothing/chameleon.dm index 0e52b8674c3..f03692bf7b6 100644 --- a/code/modules/clothing/chameleon.dm +++ b/code/modules/clothing/chameleon.dm @@ -175,20 +175,20 @@ //********************** //**Chameleon Backpack** //********************** -/obj/item/weapon/storage/backpack/chameleon +/obj/item/storage/backpack/chameleon name = "backpack" icon_state = "backpack" desc = "A backpack outfitted with cloaking tech. It seems to have a small dial inside, kept away from the storage." origin_tech = list(TECH_ILLEGAL = 3) var/global/list/clothing_choices -/obj/item/weapon/storage/backpack/chameleon/New() +/obj/item/storage/backpack/chameleon/New() ..() if(!clothing_choices) - var/blocked = list(src.type, /obj/item/weapon/storage/backpack/satchel/withwallet) - clothing_choices = generate_chameleon_choices(/obj/item/weapon/storage/backpack, blocked) + var/blocked = list(src.type, /obj/item/storage/backpack/satchel/withwallet) + clothing_choices = generate_chameleon_choices(/obj/item/storage/backpack, blocked) -/obj/item/weapon/storage/backpack/chameleon/emp_act(severity) //Because we don't have psych for all slots right now but still want a downside to EMP. In this case your cover's blown. +/obj/item/storage/backpack/chameleon/emp_act(severity) //Because we don't have psych for all slots right now but still want a downside to EMP. In this case your cover's blown. name = "backpack" desc = "You wear this on your back and put items into it." icon_state = "backpack" @@ -197,7 +197,7 @@ var/mob/M = src.loc M.update_inv_back() -/obj/item/weapon/storage/backpack/chameleon/verb/change(picked in clothing_choices) +/obj/item/storage/backpack/chameleon/verb/change(picked in clothing_choices) set name = "Change Backpack Appearance" set category = "Chameleon Items" set src in usr @@ -212,7 +212,7 @@ var/mob/M = src.loc M.update_inv_back() -/obj/item/weapon/storage/backpack/chameleon/full +/obj/item/storage/backpack/chameleon/full starts_with = list( /obj/item/clothing/under/chameleon, /obj/item/clothing/head/chameleon, @@ -331,19 +331,19 @@ //**Chameleon Belt** //****************** -/obj/item/weapon/storage/belt/chameleon +/obj/item/storage/belt/chameleon name = "belt" desc = "Can hold various things. It also has a small dial inside one of the pouches." icon_state = "utilitybelt" origin_tech = list(TECH_ILLEGAL = 3) var/global/list/clothing_choices -/obj/item/weapon/storage/belt/chameleon/New() +/obj/item/storage/belt/chameleon/New() ..() if(!clothing_choices) - clothing_choices = generate_chameleon_choices(/obj/item/weapon/storage/belt, list(src.type)) + clothing_choices = generate_chameleon_choices(/obj/item/storage/belt, list(src.type)) -/obj/item/weapon/storage/belt/chameleon/emp_act(severity) //Because we don't have psych for all slots right now but still want a downside to EMP. In this case your cover's blown. +/obj/item/storage/belt/chameleon/emp_act(severity) //Because we don't have psych for all slots right now but still want a downside to EMP. In this case your cover's blown. name = "belt" desc = "Can hold various things." icon_state = "utilitybelt" @@ -352,7 +352,7 @@ var/mob/M = src.loc M.update_inv_belt() -/obj/item/weapon/storage/belt/chameleon/verb/change(picked in clothing_choices) +/obj/item/storage/belt/chameleon/verb/change(picked in clothing_choices) set name = "Change Belt Appearance" set category = "Chameleon Items" set src in usr @@ -405,7 +405,7 @@ //***************** //**Chameleon Gun** //***************** -/obj/item/weapon/gun/energy/chameleon +/obj/item/gun/energy/chameleon name = "desert eagle" desc = "A hologram projector in the shape of a gun. There is a dial on the side to change the gun's disguise." icon_state = "deagle" @@ -422,17 +422,17 @@ var/obj/item/projectile/copy_projectile var/global/list/gun_choices -/obj/item/weapon/gun/energy/chameleon/New() +/obj/item/gun/energy/chameleon/New() ..() if(!gun_choices) gun_choices = list() - for(var/gun_type in typesof(/obj/item/weapon/gun/) - src.type) - var/obj/item/weapon/gun/G = gun_type + for(var/gun_type in typesof(/obj/item/gun/) - src.type) + var/obj/item/gun/G = gun_type src.gun_choices[initial(G.name)] = gun_type return -/obj/item/weapon/gun/energy/chameleon/consume_next_projectile() +/obj/item/gun/energy/chameleon/consume_next_projectile() var/obj/item/projectile/P = ..() if(P && ispath(copy_projectile)) P.name = initial(copy_projectile.name) @@ -447,7 +447,7 @@ P.impact_type = initial(copy_projectile.impact_type) return P -/obj/item/weapon/gun/energy/chameleon/emp_act(severity) +/obj/item/gun/energy/chameleon/emp_act(severity) name = "desert eagle" desc = "It's a desert eagle." icon_state = "deagle" @@ -457,8 +457,8 @@ M.update_inv_r_hand() M.update_inv_l_hand() -/obj/item/weapon/gun/energy/chameleon/disguise(var/newtype) - var/obj/item/weapon/gun/copy = ..() +/obj/item/gun/energy/chameleon/disguise(var/newtype) + var/obj/item/gun/copy = ..() flags_inv = copy.flags_inv if(copy.fire_sound) @@ -467,7 +467,7 @@ fire_sound = null fire_sound_text = copy.fire_sound_text - var/obj/item/weapon/gun/G = copy + var/obj/item/gun/G = copy if(istype(G)) copy_projectile = G.projectile_type //charge_meter = E.charge_meter //does not work very well with icon_state changes, ATM @@ -475,7 +475,7 @@ copy_projectile = null //charge_meter = 0 -/obj/item/weapon/gun/energy/chameleon/verb/change(picked in gun_choices) +/obj/item/gun/energy/chameleon/verb/change(picked in gun_choices) set name = "Change Gun Appearance" set category = "Chameleon Items" set src in usr diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 72476e78a96..1ea3cfed854 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -90,7 +90,7 @@ wearable = 1 if(!wearable && !(slot in list(slot_l_store, slot_r_store, slot_s_store))) - to_chat(H, "Your species cannot wear [src].") + to_chat(H, span_danger("Your species cannot wear [src].")) return 0 return 1 @@ -308,7 +308,7 @@ siemens_coefficient = 0.9 blood_sprite_state = "bloodyhands" var/wired = 0 - var/obj/item/weapon/cell/cell = 0 + var/obj/item/cell/cell = 0 var/fingerprint_chance = 0 //How likely the glove is to let fingerprints through var/obj/item/clothing/gloves/ring = null //Covered ring var/mob/living/carbon/human/wearer = null //Used for covered rings when dropping @@ -326,6 +326,13 @@ drop_sound = 'sound/items/drop/gloves.ogg' pickup_sound = 'sound/items/pickup/gloves.ogg' + valid_accessory_slots = (\ + ACCESSORY_SLOT_RING\ + |ACCESSORY_SLOT_WRIST) + restricted_accessory_slots = (\ + ACCESSORY_SLOT_RING\ + |ACCESSORY_SLOT_WRIST) + /obj/item/clothing/proc/set_clothing_index() return @@ -345,10 +352,10 @@ /obj/item/clothing/gloves/proc/Touch(var/atom/A, var/proximity) return 0 // return 1 to cancel attack_hand() -/*/obj/item/clothing/gloves/attackby(obj/item/weapon/W, mob/user) - if(W.has_tool_quality(TOOL_WIRECUTTER) || istype(W, /obj/item/weapon/scalpel)) +/*/obj/item/clothing/gloves/attackby(obj/item/W, mob/user) + if(W.has_tool_quality(TOOL_WIRECUTTER) || istype(W, /obj/item/scalpel)) if (clipped) - to_chat(user, "The [src] have already been clipped!") + to_chat(user, span_notice("The [src] have already been clipped!")) update_icon() return @@ -422,8 +429,6 @@ if(special_attack_type && ispath(special_attack_type)) special_attack = new special_attack_type - - ///////////////////////////////////////////////////////////////////// //Rings @@ -485,7 +490,7 @@ update_light() update_icon(user) - user.update_action_buttons() + user.update_mob_action_buttons() /obj/item/clothing/head/attack_ai(var/mob/user) if(!mob_wear_hat(user)) @@ -517,9 +522,9 @@ if(!success) return 0 else if(success == 2) - to_chat(user, "You are already wearing a hat.") + to_chat(user, span_warning("You are already wearing a hat.")) else if(success == 1) - to_chat(user, "You crawl under \the [src].") + to_chat(user, span_notice("You crawl under \the [src].")) return 1 /obj/item/clothing/head/update_icon(var/mob/user) @@ -631,7 +636,7 @@ /obj/item/clothing/shoes/proc/draw_knife() set name = "Draw Boot Knife" set desc = "Pull out your boot knife." - set category = "IC" + set category = "IC.Game" set src in usr if(usr.stat || usr.restrained() || usr.incapacitated()) @@ -640,12 +645,12 @@ holding.forceMove(get_turf(usr)) if(usr.put_in_hands(holding)) - usr.visible_message("\The [usr] pulls a knife out of their boot!") + usr.visible_message(span_danger("\The [usr] pulls a knife out of their boot!")) playsound(src, 'sound/weapons/holster/sheathout.ogg', 25) holding = null cut_overlay("[icon_state]_knife") else - to_chat(usr, "Your need an empty, unbroken hand to do that.") + to_chat(usr, span_warning("Your need an empty, unbroken hand to do that.")) holding.forceMove(src) if(!holding) @@ -661,17 +666,17 @@ ..() /obj/item/clothing/shoes/attackby(var/obj/item/I, var/mob/user) - if((can_hold_knife == 1) && (istype(I, /obj/item/weapon/material/shard) || \ - istype(I, /obj/item/weapon/material/butterfly) || \ - istype(I, /obj/item/weapon/material/kitchen/utensil) || \ - istype(I, /obj/item/weapon/material/knife/tacknife))) + if((can_hold_knife == 1) && (istype(I, /obj/item/material/shard) || \ + istype(I, /obj/item/material/butterfly) || \ + istype(I, /obj/item/material/kitchen/utensil) || \ + istype(I, /obj/item/material/knife/tacknife))) if(holding) - to_chat(user, "\The [src] is already holding \a [holding].") + to_chat(user, span_warning("\The [src] is already holding \a [holding].")) return user.unEquip(I) I.forceMove(src) holding = I - user.visible_message("\The [user] shoves \the [I] into \the [src].") + user.visible_message(span_infoplain(span_bold("\The [user]") + " shoves \the [I] into \the [src].")) verbs |= /obj/item/clothing/shoes/proc/draw_knife update_icon() else @@ -682,7 +687,7 @@ set category = "Object" if(shoes_under_pants == -1) - to_chat(usr, "\The [src] cannot be worn above your suit!") + to_chat(usr, span_notice("\The [src] cannot be worn above your suit!")) return shoes_under_pants = !shoes_under_pants update_icon() @@ -731,7 +736,7 @@ name = "suit" var/fire_resist = T0C+100 body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS - allowed = list(/obj/item/weapon/tank/emergency/oxygen) + allowed = list(/obj/item/tank/emergency/oxygen) armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0) slot_flags = SLOT_OCLOTHING var/blood_overlay_type = "suit" @@ -851,7 +856,9 @@ |ACCESSORY_SLOT_TIE\ |ACCESSORY_SLOT_RANK\ |ACCESSORY_SLOT_DEPT\ - |ACCESSORY_SLOT_OVER) + |ACCESSORY_SLOT_OVER\ + |ACCESSORY_SLOT_RING\ + |ACCESSORY_SLOT_WRIST) restricted_accessory_slots = (\ ACCESSORY_SLOT_UTILITY\ |ACCESSORY_SLOT_WEAPON\ @@ -1005,7 +1012,7 @@ update_rolldown_status() if(rolled_down == -1) - to_chat(usr, "You cannot roll down [src]!") + to_chat(usr, span_notice("You cannot roll down [src]!")) return if((rolled_sleeves == 1) && !(rolled_down)) rolled_sleeves = 0 @@ -1020,13 +1027,13 @@ else LAZYSET(item_state_slots, slot_w_uniform_str, "[worn_state]_d") - to_chat(usr, "You roll down your [src].") + to_chat(usr, span_notice("You roll down your [src].")) else body_parts_covered = initial(body_parts_covered) if(icon_override == rolled_down_icon) icon_override = initial(icon_override) LAZYSET(item_state_slots, slot_w_uniform_str, worn_state) - to_chat(usr, "You roll up your [src].") + to_chat(usr, span_notice("You roll up your [src].")) update_clothing_icon() /obj/item/clothing/under/verb/rollsleeves() @@ -1038,10 +1045,10 @@ update_rollsleeves_status() if(rolled_sleeves == -1) - to_chat(usr, "You cannot roll up your [src]'s sleeves!") + to_chat(usr, span_notice("You cannot roll up your [src]'s sleeves!")) return if(rolled_down == 1) - to_chat(usr, "You must roll up your [src] first!") + to_chat(usr, span_notice("You must roll up your [src] first!")) return rolled_sleeves = !rolled_sleeves @@ -1052,13 +1059,13 @@ LAZYSET(item_state_slots, slot_w_uniform_str, worn_state) else LAZYSET(item_state_slots, slot_w_uniform_str, "[worn_state]_r") - to_chat(usr, "You roll up your [src]'s sleeves.") + to_chat(usr, span_notice("You roll up your [src]'s sleeves.")) else body_parts_covered = initial(body_parts_covered) if(icon_override == rolled_down_sleeves_icon) icon_override = initial(icon_override) LAZYSET(item_state_slots, slot_w_uniform_str, worn_state) - to_chat(usr, "You roll down your [src]'s sleeves.") + to_chat(usr, span_notice("You roll down your [src]'s sleeves.")) update_clothing_icon() /obj/item/clothing/under/rank/New() diff --git a/code/modules/clothing/clothing_accessories.dm b/code/modules/clothing/clothing_accessories.dm index 5ecf2479d33..7c365caefc0 100644 --- a/code/modules/clothing/clothing_accessories.dm +++ b/code/modules/clothing/clothing_accessories.dm @@ -79,7 +79,7 @@ /obj/item/clothing/proc/attempt_attach_accessory(obj/item/clothing/accessory/A, mob/user) if(!valid_accessory_slots) if(user) - to_chat(user, "You cannot attach accessories of any kind to \the [src].") + to_chat(user, span_warning("You cannot attach accessories of any kind to \the [src].")) return FALSE var/obj/item/clothing/accessory/acc = A @@ -90,7 +90,7 @@ return TRUE else if(user) - to_chat(user, "You cannot attach more accessories of this type to [src].") + to_chat(user, span_warning("You cannot attach more accessories of this type to [src].")) return FALSE @@ -145,4 +145,4 @@ if(LAZYLEN(accessories)) for(var/obj/item/clothing/accessory/A in accessories) A.emp_act(severity) - ..() \ No newline at end of file + ..() diff --git a/code/modules/clothing/clothing_vr.dm b/code/modules/clothing/clothing_vr.dm index 6109f89e70c..42b8ae87fa0 100644 --- a/code/modules/clothing/clothing_vr.dm +++ b/code/modules/clothing/clothing_vr.dm @@ -32,22 +32,22 @@ //This is a crazy 'sideways' override. /obj/item/clothing/shoes/attackby(var/obj/item/I, var/mob/user) - if(istype(I,/obj/item/weapon/holder/micro)) + if(istype(I,/obj/item/holder/micro)) var/full = 0 for(var/mob/M in src) if(istype(M,/mob/living/voice)) //Don't count voices as people! continue full++ if(full >= 2) - to_chat(user, "You can't fit anyone else into \the [src]!") + to_chat(user, span_warning("You can't fit anyone else into \the [src]!")) else - var/obj/item/weapon/holder/micro/holder = I + var/obj/item/holder/micro/holder = I if(holder.held_mob && (holder.held_mob in holder)) var/mob/living/M = holder.held_mob holder.dump_mob() - to_chat(M, "[user] stuffs you into \the [src]!") + to_chat(M, span_warning("[user] stuffs you into \the [src]!")) M.forceMove(src) - to_chat(user, "You stuff \the [M] into \the [src]!") + to_chat(user, span_notice("You stuff \the [M] into \the [src]!")) else ..() @@ -56,8 +56,8 @@ if(istype(M,/mob/living/voice)) //Don't knock voices out! continue M.forceMove(get_turf(user)) - to_chat(M, "[user] shakes you out of \the [src]!") - to_chat(user, "You shake [M] out of \the [src]!") + to_chat(M, span_warning("[user] shakes you out of \the [src]!")) + to_chat(user, span_notice("You shake [M] out of \the [src]!")) ..() @@ -66,9 +66,9 @@ if(istype(micro,/mob/living/voice)) //Voices shouldn't be able to resist but we have this here just in case. return if(!istype(macro)) - to_chat(micro, "You start to climb out of [src]!") + to_chat(micro, span_notice("You start to climb out of [src]!")) if(do_after(micro, 50, src)) - to_chat(micro, "You climb out of [src]!") + to_chat(micro, span_notice("You climb out of [src]!")) micro.forceMove(loc) return @@ -80,15 +80,15 @@ escape_message_micro = "You start to climb around the larger creature's feet and ankles!" escape_time = 100 - to_chat(micro, "[escape_message_micro]") - to_chat(macro, "[escape_message_macro]") + to_chat(micro, span_notice("[escape_message_micro]")) + to_chat(macro, span_danger("[escape_message_macro]")) if(!do_after(micro, escape_time, macro)) - to_chat(micro, "You're pinned underfoot!") - to_chat(macro, "You pin the escapee underfoot!") + to_chat(micro, span_danger("You're pinned underfoot!")) + to_chat(macro, span_danger("You pin the escapee underfoot!")) return - to_chat(micro, "You manage to escape [src]!") - to_chat(macro, "Someone has climbed out of your [src]!") + to_chat(micro, span_notice("You manage to escape [src]!")) + to_chat(macro, span_danger("Someone has climbed out of your [src]!")) micro.forceMove(macro.loc) /obj/item/clothing/gloves diff --git a/code/modules/clothing/ears/ears.dm b/code/modules/clothing/ears/ears.dm index 99f9b009129..c56d395d5c8 100644 --- a/code/modules/clothing/ears/ears.dm +++ b/code/modules/clothing/ears/ears.dm @@ -4,6 +4,7 @@ /obj/item/clothing/ears/earmuffs name = "earmuffs" desc = "Protects your hearing from loud noises, and quiet ones as well." + icon = 'icons/obj/items.dmi' icon_state = "earmuffs" item_state_slots = list(slot_r_hand_str = "earmuffs", slot_l_hand_str = "earmuffs") slot_flags = SLOT_EARS | SLOT_TWOEARS @@ -29,11 +30,11 @@ if(headphones_on) icon_state = "[base_icon]_off" headphones_on = 0 - to_chat(usr, "You turn the music off.") + to_chat(usr, span_notice("You turn the music off.")) else icon_state = "[base_icon]_on" headphones_on = 1 - to_chat(usr, "You turn the music on.") + to_chat(usr, span_notice("You turn the music on.")) update_clothing_icon() @@ -184,4 +185,4 @@ /obj/item/clothing/ears/skrell/cloth_male/lightblue name = "light blue headtail cloth" icon_state = "skrell_cloth_lblue_male" - item_state_slots = list(slot_r_hand_str = "egg2", slot_l_hand_str = "egg2") \ No newline at end of file + item_state_slots = list(slot_r_hand_str = "egg2", slot_l_hand_str = "egg2") diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm index e984f606cbb..28c2b41a281 100644 --- a/code/modules/clothing/glasses/glasses.dm +++ b/code/modules/clothing/glasses/glasses.dm @@ -48,7 +48,7 @@ BLIND // can't see anything // Prevent people from just turning their goggles back on. if(!active && (vision_flags & (SEE_TURFS|SEE_OBJS))) var/area/A = get_area(src) - if(A.no_spoilers) + if(A.flag_check(AREA_NO_SPOILERS)) return FALSE return TRUE @@ -71,19 +71,19 @@ BLIND // can't see anything tint = initial(tint) enables_planes = away_planes away_planes = null - user.update_action_buttons() + user.update_mob_action_buttons() user.recalculate_vis() /obj/item/clothing/glasses/attack_self(mob/user) if(toggleable) if(!can_toggle(user)) - to_chat(user, span("warning", "You don't seem to be able to toggle \the [src] here.")) + to_chat(user, span_warning("You don't seem to be able to toggle \the [src] here.")) else toggle_active(user) if(active) - to_chat(user, span("notice", "You activate the optical matrix on the [src].")) + to_chat(user, span_notice("You activate the optical matrix on the [src].")) else - to_chat(user, span("notice", "You deactivate the optical matrix on the [src].")) + to_chat(user, span_notice("You deactivate the optical matrix on the [src].")) ..() /obj/item/clothing/glasses/meson @@ -91,7 +91,7 @@ BLIND // can't see anything desc = "Used for seeing walls, floors, and stuff through anything." icon_state = "meson" item_state_slots = list(slot_r_hand_str = "meson", slot_l_hand_str = "meson") - action_button_name = "Toggle Goggles" + actions_types = list(/datum/action/item_action/toggle_goggles) origin_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2) toggleable = 1 vision_flags = SEE_TURFS @@ -111,7 +111,7 @@ BLIND // can't see anything icon_state = "aviator_eng" off_state = "aviator" item_state_slots = list(slot_r_hand_str = "sunglasses", slot_l_hand_str = "sunglasses") - action_button_name = "Toggle HUD" + actions_types = list(/datum/action/item_action/toggle_hud) activation_sound = 'sound/effects/pop.ogg' /obj/item/clothing/glasses/meson/aviator/prescription @@ -124,7 +124,7 @@ BLIND // can't see anything desc = "Modified aviator glasses with a toggled health HUD." icon_state = "aviator_med" off_state = "aviator" - action_button_name = "Toggle Mode" + actions_types = list(/datum/action/item_action/toggle_mode) toggleable = 1 activation_sound = 'sound/effects/pop.ogg' @@ -139,7 +139,7 @@ BLIND // can't see anything icon_state = "purple" item_state_slots = list(slot_r_hand_str = "glasses", slot_l_hand_str = "glasses") toggleable = 1 - action_button_name = "Toggle Goggles" + actions_types = list(/datum/action/item_action/toggle_goggles) item_flags = AIRTIGHT /obj/item/clothing/glasses/science/New() @@ -162,7 +162,7 @@ BLIND // can't see anything origin_tech = list(TECH_MAGNET = 2) darkness_view = 7 toggleable = 1 - action_button_name = "Toggle Goggles" + actions_types = list(/datum/action/item_action/toggle_goggles) off_state = "denight" flash_protection = FLASH_PROTECTION_REDUCED enables_planes = list(VIS_FULLBRIGHT) @@ -238,7 +238,7 @@ BLIND // can't see anything item_state_slots = list(slot_r_hand_str = "glasses", slot_l_hand_str = "glasses") origin_tech = list(TECH_MAGNET = 3, TECH_ENGINEERING = 3) toggleable = 1 - action_button_name = "Toggle Goggles" + actions_types = list(/datum/action/item_action/toggle_goggles) vision_flags = SEE_OBJS enables_planes = list(VIS_FULLBRIGHT) @@ -258,7 +258,7 @@ BLIND // can't see anything origin_tech = list(TECH_MAGNET = 2, TECH_BLUESPACE = 1) darkness_view = 5 toggleable = 1 - action_button_name = "Toggle Goggles" + actions_types = list(/datum/action/item_action/toggle_goggles) off_state = "denight" vision_flags = SEE_OBJS | SEE_TURFS flash_protection = FLASH_PROTECTION_REDUCED @@ -355,7 +355,7 @@ BLIND // can't see anything /obj/item/clothing/glasses/sunglasses/bigshot/examine(mob/user as mob) . = ..() - . += to_chat(usr, "Alt-click to toggle modes.") + . += to_chat(usr, span_notice("Alt-click to toggle modes.")) /obj/item/clothing/glasses/sunglasses/bigshot/AltClick() set src in usr @@ -375,7 +375,7 @@ BLIND // can't see anything desc = "Protects the eyes from welders, approved by the mad scientist association." icon_state = "welding-g" item_state_slots = list(slot_r_hand_str = "welding-g", slot_l_hand_str = "welding-g") - action_button_name = "Flip Welding Goggles" + actions_types = list(/datum/action/item_action/flip_welding_goggles) matter = list(MAT_STEEL = 1500, MAT_GLASS = 1000) item_flags = AIRTIGHT var/up = 0 @@ -408,7 +408,7 @@ BLIND // can't see anything tint = TINT_NONE to_chat(usr, "You push \the [src] up out of your face.") update_clothing_icon() - usr.update_action_buttons() + usr.update_mob_action_buttons() /obj/item/clothing/glasses/welding/superior name = "superior welding goggles" @@ -422,6 +422,7 @@ BLIND // can't see anything icon_state = "blindfold" item_state_slots = list(slot_r_hand_str = "blindfold", slot_l_hand_str = "blindfold") flash_protection = FLASH_PROTECTION_MAJOR + body_parts_covered = EYES tint = BLIND drop_sound = 'sound/items/drop/gloves.ogg' pickup_sound = 'sound/items/pickup/gloves.ogg' @@ -436,6 +437,7 @@ BLIND // can't see anything desc = "A thin blindfold to help protect sensitive eyes while still allowing some sight" icon_state = "blindfoldwhite" flash_protection = FLASH_PROTECTION_MODERATE //not as thick, only offers some protection + body_parts_covered = EYES tint = TINT_HEAVY /obj/item/clothing/glasses/sunglasses/blindfold/tape @@ -445,6 +447,7 @@ BLIND // can't see anything icon_state = "tape_cross" item_state_slots = list(slot_r_hand_str = null, slot_l_hand_str = null) w_class = ITEMSIZE_TINY + body_parts_covered = EYES /obj/item/clothing/glasses/sunglasses/prescription name = "prescription sunglasses" @@ -481,7 +484,7 @@ BLIND // can't see anything desc = "Modified aviator glasses that can be switch between HUD and flash protection modes." icon_state = "aviator_sec" off_state = "aviator" - action_button_name = "Toggle Mode" + actions_types = list(/datum/action/item_action/toggle_mode) var/on = 1 toggleable = 1 activation_sound = 'sound/effects/pop.ogg' @@ -503,7 +506,7 @@ BLIND // can't see anything user << activation_sound user.recalculate_vis() user.update_inv_glasses() - user.update_action_buttons() + user.update_mob_action_buttons() /obj/item/clothing/glasses/sunglasses/sechud/aviator/update_icon() if(on) @@ -529,7 +532,7 @@ BLIND // can't see anything item_state_slots = list(slot_r_hand_str = "glasses", slot_l_hand_str = "glasses") origin_tech = list(TECH_MAGNET = 3) toggleable = 1 - action_button_name = "Toggle Goggles" + actions_types = list(/datum/action/item_action/toggle_goggles) vision_flags = SEE_MOBS enables_planes = list(VIS_FULLBRIGHT, VIS_CLOAKED) flash_protection = FLASH_PROTECTION_REDUCED @@ -562,7 +565,7 @@ BLIND // can't see anything /obj/item/clothing/glasses/thermal/plain toggleable = 0 activation_sound = null - action_button_name = null + actions_types = list() /obj/item/clothing/glasses/thermal/plain/monocle name = "thermonocle" @@ -570,7 +573,7 @@ BLIND // can't see anything icon_state = "thermoncle" item_state_slots = list(slot_r_hand_str = "sunglasses", slot_l_hand_str = "sunglasses") toggleable = 1 - action_button_name = "Toggle Monocle" + actions_types = list(/datum/action/item_action/toggle_monocle) flags = null //doesn't protect eyes because it's a monocle, duh body_parts_covered = 0 @@ -582,7 +585,7 @@ BLIND // can't see anything item_state_slots = list(slot_r_hand_str = "blindfold", slot_l_hand_str = "blindfold") body_parts_covered = 0 toggleable = 1 - action_button_name = "Toggle Eyepatch" + actions_types = list(/datum/action/item_action/toggle_eyepatch) /obj/item/clothing/glasses/thermal/plain/jensen name = "optical thermal implants" @@ -595,7 +598,7 @@ BLIND // can't see anything desc = "Teshari designed lightweight goggles." icon_state = "orange-g" item_state_slots = list(slot_r_hand_str = "glasses", slot_l_hand_str = "glasses") - action_button_name = "Adjust Orange Goggles" + actions_types = list(/datum/action/item_action/adjust_orange_goggles) var/up = 0 item_flags = AIRTIGHT body_parts_covered = EYES @@ -623,4 +626,4 @@ BLIND // can't see anything icon_state = "[initial(icon_state)]up" to_chat(usr, "You push \the [src] up from in front of your eyes.") update_clothing_icon() - usr.update_action_buttons() + usr.update_mob_action_buttons() diff --git a/code/modules/clothing/glasses/glasses_vr.dm b/code/modules/clothing/glasses/glasses_vr.dm index 2225c6667f5..36c46af30c8 100644 --- a/code/modules/clothing/glasses/glasses_vr.dm +++ b/code/modules/clothing/glasses/glasses_vr.dm @@ -12,14 +12,14 @@ playsound(src,'sound/items/screwdriver.ogg', 50, 1) //Prescription kit -/obj/item/device/glasses_kit +/obj/item/glasses_kit name = "prescription glasses kit" desc = "A kit containing all the needed tools and parts to develop and apply a prescription for someone." icon = 'icons/obj/device.dmi' icon_state = "modkit" var/scrip_loaded = 0 -/obj/item/device/glasses_kit/afterattack(var/target, var/mob/living/carbon/human/user, var/proximity) +/obj/item/glasses_kit/afterattack(var/target, var/mob/living/carbon/human/user, var/proximity) if(!proximity) return if(!istype(user)) @@ -27,14 +27,14 @@ //Too difficult if(target == user) - to_chat(user, "You can't use this on yourself. Get someone to help you.") + to_chat(user, span_warning("You can't use this on yourself. Get someone to help you.")) return //We're applying a prescription if(istype(target,/obj/item/clothing/glasses)) var/obj/item/clothing/glasses/G = target if(!scrip_loaded) - to_chat(user, "You need to build a prescription from someone first! Use the kit on someone.") + to_chat(user, span_warning("You need to build a prescription from someone first! Use the kit on someone.")) return if(do_after(user,5 SECONDS)) @@ -45,14 +45,14 @@ else if(ishuman(target)) var/mob/living/carbon/human/T = target if(T.glasses || (T.head && T.head.flags_inv & HIDEEYES)) - to_chat(user, "The person's eyes can't be covered!") + to_chat(user, span_warning("The person's eyes can't be covered!")) return T.visible_message("[user] begins making measurements for prescription lenses for [target].","[user] begins measuring your eyes. Hold still!") if(do_after(user,5 SECONDS,T)) T.flash_eyes() scrip_loaded = 1 - T.visible_message("[user] finishes making prescription lenses for [target].","Gah, that's bright!") + T.visible_message("[user] finishes making prescription lenses for [target].",span_warning("Gah, that's bright!")) else ..() @@ -68,7 +68,7 @@ icon_override = 'icons/inventory/eyes/mob_vr.dmi' icon_state = "medgravpatch" item_state_slots = list(slot_r_hand_str = "blindfold", slot_l_hand_str = "blindfold") - action_button_name = "Toggle Eyepatch" + actions_types = list(/datum/action/item_action/toggle_eyepatch) off_state = "eyepatch" enables_planes = list(VIS_CH_STATUS,VIS_CH_HEALTH,VIS_FULLBRIGHT,VIS_MESONS) @@ -82,8 +82,7 @@ flash_protection = FLASH_PROTECTION_MODERATE item_flags = AIRTIGHT body_parts_covered = EYES - action_button_name = "Change scanning pattern" - action_button_is_hands_free = TRUE + actions_types = list(/datum/action/item_action/hands_free/change_scanning_pattern) var/static/list/tac_sec_vis_anim = list() /obj/item/clothing/glasses/sunglasses/sechud/tactical_sec_vis/Initialize(mapload) @@ -107,8 +106,8 @@ if(src && choice && !user.incapacitated() && in_range(user,src)) icon_state = options[choice] user.update_inv_glasses() - user.update_action_buttons() - to_chat(user, "Your [src] now displays [choice] .") + user.update_mob_action_buttons() + to_chat(user, span_notice("Your [src] now displays [choice] .")) return 1 /*---Tajaran-specific Eyewear---*/ diff --git a/code/modules/clothing/glasses/hud_vr.dm b/code/modules/clothing/glasses/hud_vr.dm index 0b67fba9b3a..93a9708d432 100644 --- a/code/modules/clothing/glasses/hud_vr.dm +++ b/code/modules/clothing/glasses/hud_vr.dm @@ -33,9 +33,9 @@ /obj/item/clothing/glasses/omnihud/examine() . = ..() if(ar_toggled) - . += "\n The HUD indicator reads ON." + . += "\n " + span_notice("The HUD indicator reads ON.") else - . += "\n The HUD indicator reads OFF." + . += "\n " + span_notice("The HUD indicator reads OFF.") /obj/item/clothing/glasses/omnihud/emp_act(var/severity) @@ -51,12 +51,12 @@ if(prob(10)) icon_state = "3d" if(ishuman(loc)) - to_chat(loc, "The lenses of your [src.name] malfunction!") + to_chat(loc, span_warning("The lenses of your [src.name] malfunction!")) ..() /obj/item/clothing/glasses/omnihud/proc/flashed() if(flash_prot && ishuman(loc)) - to_chat(loc, "Your [src.name] darken to try and protect your eyes!") + to_chat(loc, span_warning("Your [src.name] darken to try and protect your eyes!")) /obj/item/clothing/glasses/omnihud/prescribe(var/mob/user) prescription = !prescription @@ -76,10 +76,10 @@ var/mob/living/carbon/human/H = user if(!H.glasses || !(H.glasses == src)) - to_chat(user, "You must be wearing the [src] to see the display.") + to_chat(user, span_warning("You must be wearing the [src] to see the display.")) else if(!ar_interact(H)) - to_chat(user, "The [src] does not have any kind of special display.") + to_chat(user, span_warning("The [src] does not have any kind of special display.")) //cosmetic shading, doesn't enhance eye protection /obj/item/clothing/glasses/omnihud/verb/chromatize() @@ -135,13 +135,13 @@ if(ar_toggled) away_planes = enables_planes enables_planes = null - to_chat(usr, SPAN_NOTICE("You disabled the Augmented Reality HUD of your [src.name].")) + to_chat(usr, span_notice("You disabled the Augmented Reality HUD of your [src.name].")) else enables_planes = away_planes away_planes = null - to_chat(usr, SPAN_NOTICE("You enabled the Augmented Reality HUD of your [src.name].")) + to_chat(usr, span_notice("You enabled the Augmented Reality HUD of your [src.name].")) ar_toggled = !ar_toggled - usr.update_action_buttons() + usr.update_mob_action_buttons() usr.recalculate_vis() @@ -167,7 +167,7 @@ These have been upgraded with medical records access and virus database integration. \ They can also read data from active suit sensors using the crew monitoring system." mode = "med" - action_button_name = "AR Console (Crew Monitor)" + actions_types = list(/datum/action/item_action/ar_console_crew) tgarscreen_path = /datum/tgui_module/crew_monitor/glasses enables_planes = list(VIS_CH_ID,VIS_CH_HEALTH_VR,VIS_CH_STATUS_R,VIS_CH_BACKUP,VIS_AUGMENTED) @@ -183,7 +183,7 @@ They also have access to security alerts such as camera and motion sensor alarms." mode = "sec" flash_protection = FLASH_PROTECTION_MODERATE //weld protection is a little too widespread - action_button_name = "AR Console (Security Alerts)" + actions_types = list(/datum/action/item_action/ar_console_security_alerts) tgarscreen_path = /datum/tgui_module/alarm_monitor/security/glasses enables_planes = list(VIS_CH_ID,VIS_CH_HEALTH_VR,VIS_CH_WANTED,VIS_AUGMENTED) @@ -199,7 +199,7 @@ and can also display a list of atmospheric, fire, and power alarms." mode = "eng" flash_protection = FLASH_PROTECTION_MAJOR - action_button_name = "AR Console (Station Alerts)" + actions_types = list(/datum/action/item_action/ar_console_station_alerts) tgarscreen_path = /datum/tgui_module/alarm_monitor/engineering/glasses /obj/item/clothing/glasses/omnihud/eng/ar_interact(var/mob/living/carbon/human/user) @@ -249,7 +249,7 @@ item_state = initial(item_state) usr.update_inv_glasses() to_chat(usr, "You activate the retinal projector on the [src].") - usr.update_action_buttons() + usr.update_mob_action_buttons() /obj/item/clothing/glasses/omnihud/all name = "\improper AR-B glasses" @@ -259,7 +259,7 @@ mode = "best" flash_protection = FLASH_PROTECTION_MAJOR enables_planes = list(VIS_CH_ID,VIS_CH_HEALTH_VR,VIS_CH_STATUS_R,VIS_CH_BACKUP,VIS_CH_WANTED,VIS_AUGMENTED) - action_button_name = "AR Console (All Alerts)" + actions_types = list(/datum/action/item_action/ar_console_all_alerts) tgarscreen_path = /datum/tgui_module/alarm_monitor/all/glasses /obj/item/clothing/glasses/omnihud/all/ar_interact(var/mob/living/carbon/human/user) diff --git a/code/modules/clothing/gloves/antagonist.dm b/code/modules/clothing/gloves/antagonist.dm index 2f369adba0f..34574e2e538 100644 --- a/code/modules/clothing/gloves/antagonist.dm +++ b/code/modules/clothing/gloves/antagonist.dm @@ -25,14 +25,14 @@ return 0 if(user.a_intent != I_HURT && (turn(target.dir, 180) == get_dir(user, target))) - to_chat(target, "[user] rifles in your pockets!") + to_chat(target, span_warning("[user] rifles in your pockets!")) if(user.a_intent == I_HELP) - if(istype(target.back,/obj/item/weapon/storage) && do_after(user, 3 SECONDS, target)) - var/obj/item/weapon/storage/Backpack = target.back + if(istype(target.back,/obj/item/storage) && do_after(user, 3 SECONDS, target)) + var/obj/item/storage/Backpack = target.back Backpack.open(user) - else if(istype(target.belt, /obj/item/weapon/storage) && do_after(user, 5 SECONDS, target)) - var/obj/item/weapon/storage/Belt = target.belt + else if(istype(target.belt, /obj/item/storage) && do_after(user, 5 SECONDS, target)) + var/obj/item/storage/Belt = target.belt Belt.open(user) return 1 @@ -88,70 +88,3 @@ if(proximity && istype(usr, /mob/living/carbon/human) && do_after(usr, 1 SECOND, A)) return pickpocket(usr, A, proximity) return 0 - -// Buzzer Ring - Traitor, Merc. -/obj/item/clothing/gloves/ring/buzzer - name = "ring" - desc = "A plain metal band." - description_antag = "This morphium-alloy ring continually generates an electric field, capable of electrocuting a target while not injuring the wearer.\ - The device is also capable of 'frankenstein'-ing a corpse, long after normal technology would be able to save them. The body will still be tied to the\ - normal damage limits for survival, however, so care must be taken." - icon_state = "material" - var/battery_type = /obj/item/weapon/cell/device/weapon/recharge - var/obj/item/weapon/cell/battery = null - -/obj/item/clothing/gloves/ring/buzzer/get_cell() - return battery - -/obj/item/clothing/gloves/ring/buzzer/Initialize() - . = ..() - if(!battery) - battery = new battery_type(src) - -/obj/item/clothing/gloves/ring/buzzer/Touch(var/atom/A, var/proximity) - if(proximity && istype(usr, /mob/living/carbon/human)) - return zap(usr, A, proximity) - return 0 - -/obj/item/clothing/gloves/ring/buzzer/proc/zap(var/mob/living/carbon/human/user, var/atom/movable/target, var/proximity) - . = FALSE - if(user.a_intent == I_HURT && battery.percent() >= 50) - if(isliving(target)) - var/mob/living/L = target - - if(ishuman(L) && battery.percent() >= 90) // Silent text-wise, for maximum potential for gimmicks. - var/mob/living/carbon/human/H = L - - if(H.stat == DEAD) - . = TRUE - - do_defib(H) - - to_chat(L, "You feel a powerful shock!") - if(!.) - playsound(L, 'sound/effects/sparks7.ogg', 40, 1) - L.electrocute_act(battery.percent() * 0.25, src) - battery.emp_act(2) - return . - - return 0 - -/obj/item/clothing/gloves/ring/buzzer/proc/do_defib(var/mob/living/carbon/human/H = null) - if(!istype(H)) - return 0 - - dead_mob_list.Remove(H) - if((H in living_mob_list) || (H in dead_mob_list)) - WARNING("Mob [H] was ring-defibbed but already in the living or dead list still!") - living_mob_list += H - - H.timeofdeath = 0 - H.set_stat(UNCONSCIOUS) - H.failed_last_breath = 0 - H.reload_fullscreen() - - H.emote("gasp") - H.Weaken(rand(10,25)) - H.updatehealth() - - battery.emp_act(1) diff --git a/code/modules/clothing/gloves/arm_guards.dm b/code/modules/clothing/gloves/arm_guards.dm index ea0c97187c7..af3883ae74c 100644 --- a/code/modules/clothing/gloves/arm_guards.dm +++ b/code/modules/clothing/gloves/arm_guards.dm @@ -12,11 +12,11 @@ if(..()) //This will only run if no other problems occured when equiping. if(H.wear_suit) if(H.wear_suit.body_parts_covered & ARMS) - to_chat(H, "You can't wear \the [src] with \the [H.wear_suit], it's in the way.") + to_chat(H, span_warning("You can't wear \the [src] with \the [H.wear_suit], it's in the way.")) return 0 for(var/obj/item/clothing/accessory/A in H.wear_suit) if(A.body_parts_covered & ARMS) - to_chat(H, "You can't wear \the [src] with \the [H.wear_suit]'s [A], it's in the way.") + to_chat(H, span_warning("You can't wear \the [src] with \the [H.wear_suit]'s [A], it's in the way.")) return 0 return 1 @@ -60,4 +60,4 @@ siemens_coefficient = 0.6 armor = list(melee = 40, bullet = 40, laser = 60, energy = 35, bomb = 30, bio = 0, rad = 0) min_cold_protection_temperature = T0C - 20 - cold_protection = ARMS \ No newline at end of file + cold_protection = ARMS diff --git a/code/modules/clothing/gloves/boxing.dm b/code/modules/clothing/gloves/boxing.dm index b818be2dba1..3cb5ca54578 100644 --- a/code/modules/clothing/gloves/boxing.dm +++ b/code/modules/clothing/gloves/boxing.dm @@ -5,9 +5,9 @@ item_state_slots = list(slot_r_hand_str = "red", slot_l_hand_str = "red") /* -/obj/item/clothing/gloves/boxing/attackby(obj/item/weapon/W, mob/user) - if(W.has_tool_quality(TOOL_WIRECUTTER) || istype(W, /obj/item/weapon/surgical/scalpel)) - to_chat(user, "That won't work.") //Nope +/obj/item/clothing/gloves/boxing/attackby(obj/item/W, mob/user) + if(W.has_tool_quality(TOOL_WIRECUTTER) || istype(W, /obj/item/surgical/scalpel)) + to_chat(user, span_notice("That won't work.")) //Nope return ..() */ diff --git a/code/modules/clothing/gloves/color.dm b/code/modules/clothing/gloves/color.dm index 32012ed330c..f71010a2325 100644 --- a/code/modules/clothing/gloves/color.dm +++ b/code/modules/clothing/gloves/color.dm @@ -100,3 +100,6 @@ name = "fingerless gloves" icon_state = "fingerlessgloves_rc" fingerprint_chance = 100 + +/obj/item/clothing/gloves/fingerless_recolourable/alt + icon_state = "fingerlessgloves_rc_alt" diff --git a/code/modules/clothing/gloves/miscellaneous.dm b/code/modules/clothing/gloves/miscellaneous.dm index cd26d6da781..31e641348a5 100644 --- a/code/modules/clothing/gloves/miscellaneous.dm +++ b/code/modules/clothing/gloves/miscellaneous.dm @@ -62,7 +62,7 @@ //TODO: Make inflating gloves a thing /*/obj/item/clothing/gloves/sterile/proc/Inflate(/mob/living/carbon/human/user) - user.visible_message("\The [src] expands!") + user.visible_message(span_infoplain(span_bold("\The [src]") + " expands!")) qdel(src)*/ /obj/item/clothing/gloves/sterile/latex @@ -121,21 +121,6 @@ heat_protection = HANDS max_heat_protection_temperature = GLOVES_MAX_HEAT_PROTECTION_TEMPERATURE -/obj/item/clothing/gloves/knuckledusters - name = "knuckle dusters" - desc = "A pair of brass knuckles. Generally used to enhance the user's punches." - icon_state = "knuckledusters" - matter = list(MAT_STEEL = 500) - attack_verb = list("punched", "beaten", "struck") - flags = THICKMATERIAL // Stops rings from increasing hit strength - siemens_coefficient = 1 - fingerprint_chance = 100 - overgloves = 1 - force = 5 - punch_force = 5 - drop_sound = 'sound/items/drop/metalboots.ogg' - pickup_sound = 'sound/items/pickup/toolbox.ogg' - /obj/item/clothing/gloves/ranger var/glovecolor = "white" name = "ranger gloves" @@ -172,65 +157,3 @@ name = "water wings" desc = "Swim aids designed to help a wearer float in water and learn to swim." icon_state = "waterwings" - -/obj/item/clothing/gloves/watch - name = "wristwatch" - desc = "A cheap plastic quartz-based wristwatch. Painfully archaic by modern standards, but there's something charming about it all the same." - icon_state = "wristwatch_basic" - siemens_coefficient = 1 - gender = "neuter" - -/obj/item/clothing/gloves/watch/examine(mob/user) - . = ..() - - if(Adjacent(user)) - . += "The current station time is [stationtime2text()]." - -/obj/item/clothing/gloves/watch/silver - name = "silver wristwatch" - desc = "A humble silver (or maybe chrome) plated wristwatch. It's quite archaic, but nonetheless classy in its own way." - icon_state = "wristwatch_silver" - -/obj/item/clothing/gloves/watch/gold - name = "gold wristwatch" - desc = "A very fancy gold-plated wristwatch. For when you want to casually show off just how wealthy you are. It even tells the time!" - icon_state = "wristwatch_gold" - -/obj/item/clothing/gloves/watch/survival - name = "survival watch" - desc = "An overengineered wristwatch that purports to be both space and water proof, and includes a compass, micro GPS beacon, and temperature and pressure sensors. The beacon is off by default, and can only transmit its location: it cannot scan for other signals." - description_fluff = "Hold ALT whilst left-clicking on the survival watch to toggle the status of its micro-beacon." - icon_state = "wristwatch_survival" - - var/obj/item/device/gps/gps = null - -/obj/item/clothing/gloves/watch/survival/examine(mob/user) - . = ..() - - if(Adjacent(user) && src.loc == user) - . += "You are currently facing [dir2text(user.dir)]. The micro beacon is [gps.tracking ? "on" : "off"]." - var/TB = src.loc.loc - if(istype(TB, /turf/)) //no point returning light level if we're not on a turf (might be *in* someone!) - var/turf/TL = TB - var/light_level = TL.get_lumcount() - if(light_level) - . += "Light Level: [TL.get_lumcount()]" - else - . += "It's too dark to see the light level!" - if(istype(TB, /turf/simulated)) //no point returning atmospheric data from unsimulated tiles (they don't track pressure anyway, only temperature) - var/turf/simulated/T = TB - var/datum/gas_mixture/env = T.return_air() - . += "Pressure: [env.return_pressure()]kPa / Temperature: [env.temperature]K " - -/obj/item/clothing/gloves/watch/survival/New() - gps = new/obj/item/device/gps/watch(src) - -/obj/item/device/gps/watch - gps_tag = "SRV-WTCH" - -/obj/item/clothing/gloves/watch/survival/AltClick(mob/user) - . = ..() - - if(Adjacent(user)) - gps.tracking = !gps.tracking - to_chat(user,"You turn the micro beacon [gps.tracking ? "on" : "off"].") diff --git a/code/modules/clothing/head/collectable.dm b/code/modules/clothing/head/collectable.dm index eea71f60417..ea8bf1b01b0 100644 --- a/code/modules/clothing/head/collectable.dm +++ b/code/modules/clothing/head/collectable.dm @@ -29,7 +29,7 @@ /obj/item/clothing/head/collectable/chef name = "collectable chef's hat" - desc = "A rare Chef's Hat meant for hat collectors!" + desc = "A rare " + JOB_CHEF + "'s Hat meant for hat collectors!" icon_state = "chefhat" /obj/item/clothing/head/collectable/paper diff --git a/code/modules/clothing/head/flowercrowns.dm b/code/modules/clothing/head/flowercrowns.dm index 81193f337d1..53ee01141f3 100644 --- a/code/modules/clothing/head/flowercrowns.dm +++ b/code/modules/clothing/head/flowercrowns.dm @@ -7,8 +7,8 @@ /obj/item/clothing/head/woodcirclet/attackby(obj/item/W as obj, mob/user as mob) var/obj/item/complete - if(istype(W, /obj/item/weapon/reagent_containers/food/snacks/grown)) - var/obj/item/weapon/reagent_containers/food/snacks/grown/G = W + if(istype(W, /obj/item/reagent_containers/food/snacks/grown)) + var/obj/item/reagent_containers/food/snacks/grown/G = W if(G.seed.kitchen_tag == "poppy") to_chat(user, "You attach the poppy to the circlet and create a beautiful flower crown.") complete = new /obj/item/clothing/head/poppy_crown(get_turf(user)) diff --git a/code/modules/clothing/head/hardhat.dm b/code/modules/clothing/head/hardhat.dm index 6d9fda604a5..02bb0f5313b 100644 --- a/code/modules/clothing/head/hardhat.dm +++ b/code/modules/clothing/head/hardhat.dm @@ -19,7 +19,7 @@ armor = list(melee = 30, bullet = 5, laser = 20,energy = 10, bomb = 20, bio = 10, rad = 20) flags_inv = 0 siemens_coefficient = 0.9 - action_button_name = "Toggle Head-light" + actions_types = list(/datum/action/item_action/toggle_head_light) w_class = ITEMSIZE_NORMAL ear_protection = 1 drop_sound = 'sound/items/drop/helm.ogg' @@ -76,7 +76,7 @@ /obj/item/clothing/head/hardhat/firefighter/chief name = "chief firefighter helmet" - desc = "A helmet with face mask specially designed for firefighting. This one is in the colors of the Chief Engineer. It's airtight and has a port for internals." + desc = "A helmet with face mask specially designed for firefighting. This one is in the colors of the " + JOB_CHIEF_ENGINEER + ". It's airtight and has a port for internals." icon_state = "helmet_firefighter_ce" max_heat_protection_temperature = FIRE_HELMET_MAX_HEAT_PROTECTION_TEMPERATURE + 10000 @@ -166,4 +166,4 @@ /obj/item/clothing/head/hardhat/ranger/yellow hatcolor = "yellow" -*/ \ No newline at end of file +*/ diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index 236f7857967..4106d577af7 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -66,7 +66,7 @@ armor = list(melee = 80, bullet = 10, laser = 10, energy = 10, bomb = 0, bio = 0, rad = 0) siemens_coefficient = 0.7 valid_accessory_slots = null - action_button_name = "Toggle Visor" + actions_types = list(/datum/action/item_action/toggle_visor) /obj/item/clothing/head/helmet/riot/attack_self(mob/user as mob) if(src.icon_state == initial(icon_state)) @@ -113,7 +113,7 @@ siemens_coefficient = 0.6 light_range = 6 light_overlay = "helmet_light_dual_green" - action_button_name = "Toggle Head-light" + actions_types = list(/datum/action/item_action/toggle_head_light) min_cold_protection_temperature = T0C - 20 cold_protection = HEAD @@ -150,7 +150,7 @@ /obj/item/clothing/head/helmet/thunderdome name = "\improper Thunderdome helmet" - desc = "'Let the battle commence!'" + desc = span_italics("'Let the battle commence!'") icon_state = "thunderdome" armor = list(melee = 80, bullet = 60, laser = 50,energy = 10, bomb = 25, bio = 10, rad = 0) cold_protection = HEAD diff --git a/code/modules/clothing/head/helmet_vr.dm b/code/modules/clothing/head/helmet_vr.dm index 53e9c581af4..7b7890b4238 100644 --- a/code/modules/clothing/head/helmet_vr.dm +++ b/code/modules/clothing/head/helmet_vr.dm @@ -28,7 +28,7 @@ icon = 'icons/inventory/head/item_vr.dmi' icon_override = 'icons/inventory/head/mob_vr.dmi' -// Armor Versions Here +// Armor Versions Here /obj/item/clothing/head/helmet/combat/crusader name = "crusader helmet" desc = "ye olde armored helmet" @@ -47,10 +47,10 @@ armor = list(melee = 80, bullet = 50, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0) tint = TINT_HEAVY siemens_coefficient = 2 - + var/base_state var/up = FALSE - + /obj/item/clothing/head/helmet/combat/bedevere/attack_self() toggle() @@ -83,8 +83,8 @@ if (ismob(src.loc)) //should allow masks to update when it is opened/closed var/mob/M = src.loc M.update_inv_wear_mask() - usr.update_action_buttons() - + usr.update_mob_action_buttons() + // Costume Versions Here /obj/item/clothing/head/helmet/combat/crusader_costume name = "crusader costume helmet" @@ -104,10 +104,10 @@ armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0) tint = TINT_HEAVY siemens_coefficient = 1 - + var/base_state var/up = FALSE - + /obj/item/clothing/head/helmet/combat/bedevere_costume/attack_self() toggle() @@ -140,4 +140,4 @@ if (ismob(src.loc)) //should allow masks to update when it is opened/closed var/mob/M = src.loc M.update_inv_wear_mask() - usr.update_action_buttons() \ No newline at end of file + usr.update_mob_action_buttons() diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm index 3178da47572..7e538630256 100644 --- a/code/modules/clothing/head/jobs.dm +++ b/code/modules/clothing/head/jobs.dm @@ -97,8 +97,8 @@ item_state_slots = list(slot_r_hand_str = "beret_navy", slot_l_hand_str = "beret_navy") /obj/item/clothing/head/beret/sec/navy/hos - name = "Head of Security beret" - desc = "A navy blue beret with a Head of Security's rank emblem. For officers that are more inclined towards style than safety." + name = JOB_HEAD_OF_SECURITY + " beret" + desc = "A navy blue beret with a " + JOB_HEAD_OF_SECURITY + "'s rank emblem. For officers that are more inclined towards style than safety." icon_state = "beret_navy_hos" item_state_slots = list(slot_r_hand_str = "beret_navy", slot_l_hand_str = "beret_navy") @@ -115,8 +115,8 @@ item_state_slots = list(slot_r_hand_str = "beret_black", slot_l_hand_str = "beret_black") /obj/item/clothing/head/beret/sec/corporate/hos - name = "Head of Security beret" - desc = "A corporate black beret with a Head of Security's rank emblem. For officers that are more inclined towards style than safety." + name = JOB_HEAD_OF_SECURITY + " beret" + desc = "A corporate black beret with a " + JOB_HEAD_OF_SECURITY + "'s rank emblem. For officers that are more inclined towards style than safety." icon_state = "beret_corporate_hos" item_state_slots = list(slot_r_hand_str = "beret_black", slot_l_hand_str = "beret_black") @@ -128,21 +128,21 @@ /obj/item/clothing/head/helmet/warden name = "warden's helmet" - desc = "Standard Warden gear. Protects the head from impacts." + desc = "Standard " + JOB_WARDEN + " gear. Protects the head from impacts." /obj/item/clothing/head/helmet/warden/hat name = "warden's hat" - desc = "It's a special hat issued to the Warden of a securiy force." + desc = "It's a special hat issued to the " + JOB_WARDEN + " of a securiy force." icon_state = "policehelm" valid_accessory_slots = null /obj/item/clothing/head/helmet/HoS - name = "Head of Security helmet" - desc = "Standard Head of Security gear. Protects the head from impacts." + name = JOB_HEAD_OF_SECURITY + " helmet" + desc = "Standard " + JOB_HEAD_OF_SECURITY + " gear. Protects the head from impacts." /obj/item/clothing/head/helmet/HoS/hat - name = "Head of Security Hat" - desc = "The hat of the Head of Security. For showing the officers who's in charge." + name = JOB_HEAD_OF_SECURITY + " Hat" + desc = "The hat of the " + JOB_HEAD_OF_SECURITY + ". For showing the officers who's in charge." icon_state = "hoscap" valid_accessory_slots = null @@ -160,7 +160,7 @@ desc = "A specially designed fedora that is woven with protective fibers. It also makes you look cool." icon_state = "fedora_brown" item_state_slots = list(slot_r_hand_str = "detective", slot_l_hand_str = "detective") - allowed = list(/obj/item/weapon/reagent_containers/food/snacks/candy_corn, /obj/item/weapon/pen) + allowed = list(/obj/item/reagent_containers/food/snacks/candy_corn, /obj/item/pen) armor = list(melee = 10, bullet = 10, laser = 15, energy = 10, bomb = 0, bio = 0, rad = 0) siemens_coefficient = 0.9 valid_accessory_slots = null @@ -288,4 +288,4 @@ /obj/item/clothing/head/beret/qm name = "quartermaster's beret" desc = "This headwear shows off your Cargonian leadership." - icon_state = "beretqm" \ No newline at end of file + icon_state = "beretqm" diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm index cab1d3fff6a..7d9fb9b54ab 100644 --- a/code/modules/clothing/head/misc.dm +++ b/code/modules/clothing/head/misc.dm @@ -110,7 +110,7 @@ name = "redcoat's hat" icon_state = "redcoat" item_state_slots = list(slot_r_hand_str = "pirate", slot_l_hand_str = "pirate") - desc = "'I guess it's a redhead.'" + desc = span_italics("'I guess it's a redhead.'") body_parts_covered = 0 /obj/item/clothing/head/mailman @@ -452,7 +452,7 @@ /obj/item/clothing/head/fedora/brown desc = "A brown fedora. Perfect for detectives or those trying to pilfer artifacts." icon_state = "fedora_brown" - allowed = list(/obj/item/weapon/reagent_containers/food/snacks/candy_corn, /obj/item/weapon/pen) + allowed = list(/obj/item/reagent_containers/food/snacks/candy_corn, /obj/item/pen) /obj/item/clothing/head/fedora/white desc = "A white fedora, really cool hat if you're a mobster. A really lame hat if you're not." diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm index 42cebdf0f08..937da8a743a 100644 --- a/code/modules/clothing/head/misc_special.dm +++ b/code/modules/clothing/head/misc_special.dm @@ -23,7 +23,7 @@ armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) flags_inv = (HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE) body_parts_covered = HEAD|FACE|EYES - action_button_name = "Flip Welding Mask" + actions_types = list(/datum/action/item_action/flip_welding_mask) siemens_coefficient = 0.9 w_class = ITEMSIZE_NORMAL var/base_state @@ -65,7 +65,7 @@ if (ismob(src.loc)) //should allow masks to update when it is opened/closed var/mob/M = src.loc M.update_inv_wear_mask() - usr.update_action_buttons() + usr.update_mob_action_buttons() /obj/item/clothing/head/welding/demon name = "demonic welding helmet" @@ -264,7 +264,7 @@ /obj/item/clothing/head/psy_crown/proc/activate_ability(var/mob/living/wearer) cooldown = world.time + cooldown_duration to_chat(wearer, flavor_activate) - to_chat(wearer, "The inside of your head hurts...") + to_chat(wearer, span_danger("The inside of your head hurts...")) wearer.adjustBrainLoss(brainloss_cost) /obj/item/clothing/head/psy_crown/equipped(var/mob/living/carbon/human/H) @@ -298,10 +298,10 @@ desc = "A crown-of-thorns set with a red gemstone that seems to glow unnaturally. It feels rather disturbing to touch." description_info = "This has a chance to cause the wearer to become extremely angry when in extreme danger." icon_state = "wrathcrown" - flavor_equip = "You feel a bit angrier after putting on this crown." - flavor_unequip = "You feel calmer after removing the crown." - flavor_drop = "You feel much calmer after letting go of the crown." - flavor_activate = "An otherworldly feeling seems to enter your mind, and it ignites your mind in fury!" + flavor_equip = span_warning("You feel a bit angrier after putting on this crown.") + flavor_unequip = span_notice("You feel calmer after removing the crown.") + flavor_drop = span_notice("You feel much calmer after letting go of the crown.") + flavor_activate = span_danger("An otherworldly feeling seems to enter your mind, and it ignites your mind in fury!") /obj/item/clothing/head/psy_crown/wrath/activate_ability(var/mob/living/wearer) ..() @@ -312,10 +312,10 @@ desc = "A crown-of-thorns set with a green gemstone that seems to glow unnaturally. It feels rather disturbing to touch." description_info = "This has a chance to cause the wearer to become extremely durable, but hungry when in extreme danger." icon_state = "gluttonycrown" - flavor_equip = "You feel a bit hungrier after putting on this crown." - flavor_unequip = "You feel sated after removing the crown." - flavor_drop = "You feel much more sated after letting go of the crown." - flavor_activate = "An otherworldly feeling seems to enter your mind, and it drives your mind into gluttony!" + flavor_equip = span_warning("You feel a bit hungrier after putting on this crown.") + flavor_unequip = span_notice("You feel sated after removing the crown.") + flavor_drop = span_notice("You feel much more sated after letting go of the crown.") + flavor_activate = span_danger("An otherworldly feeling seems to enter your mind, and it drives your mind into gluttony!") /obj/item/clothing/head/psy_crown/gluttony/activate_ability(var/mob/living/wearer) ..() diff --git a/code/modules/clothing/head/neohats.dm b/code/modules/clothing/head/neohats.dm index bfc675c5ebf..d6ccb26e73a 100644 --- a/code/modules/clothing/head/neohats.dm +++ b/code/modules/clothing/head/neohats.dm @@ -2,8 +2,8 @@ this file deals with hats/headwear. */ /obj/item/clothing/head/helmet/HoS/hat/blue - name = "Blue Head of Security Hat" - desc = "The hat of the Head of Security. For showing the officers who's in charge." + name = "Blue " + JOB_HEAD_OF_SECURITY + " Hat" + desc = "The hat of the " + JOB_HEAD_OF_SECURITY + ". For showing the officers who's in charge." icon = 'icons/inventory/head/item.dmi' icon_state = "neo_hoshat_blue" valid_accessory_slots = null diff --git a/code/modules/clothing/head/pilot_helmet.dm b/code/modules/clothing/head/pilot_helmet.dm index 590cba4dd1a..b035fb5a4f4 100644 --- a/code/modules/clothing/head/pilot_helmet.dm +++ b/code/modules/clothing/head/pilot_helmet.dm @@ -188,7 +188,7 @@ name = "pilot helmet" desc = "Standard pilot gear. Protects the head from impacts. This one has a retractable visor" icon_state = "pilot_helmet2" - action_button_name = "Toggle Visor" + actions_types = list(/datum/action/item_action/toggle_visor) /obj/item/clothing/head/pilot/alt/attack_self(mob/user as mob) if(src.icon_state == initial(icon_state)) @@ -197,4 +197,4 @@ else src.icon_state = initial(icon_state) to_chat(user, "You lower the visor on the pilot helmet.") - update_clothing_icon() //so our mob-overlays update \ No newline at end of file + update_clothing_icon() //so our mob-overlays update diff --git a/code/modules/clothing/head/pilot_helmet_vr.dm b/code/modules/clothing/head/pilot_helmet_vr.dm index ab4b2335c82..8aa36238a88 100644 --- a/code/modules/clothing/head/pilot_helmet_vr.dm +++ b/code/modules/clothing/head/pilot_helmet_vr.dm @@ -15,7 +15,7 @@ sprite_sheets = list( SPECIES_TESHARI = 'icons/inventory/head/mob_vr_teshari.dmi' ) - action_button_name = "Toggle Visor" + actions_types = list(/datum/action/item_action/toggle_visor) /obj/item/clothing/head/pilot_vr/attack_self(mob/user as mob) if(src.icon_state == initial(icon_state)) @@ -34,7 +34,7 @@ sprite_sheets = list( SPECIES_TESHARI = 'icons/inventory/head/mob_vr_teshari.dmi' ) - action_button_name = "Toggle Visor" + actions_types = list(/datum/action/item_action/toggle_visor) /obj/item/clothing/head/pilot_vr/alt/attack_self(mob/user as mob) if(src.icon_state == initial(icon_state)) @@ -55,7 +55,7 @@ sprite_sheets = list( SPECIES_TESHARI = 'icons/inventory/head/mob_vr_teshari.dmi' ) - action_button_name = "Toggle Visor" + actions_types = list(/datum/action/item_action/toggle_visor) /obj/item/clothing/head/pilot_vr/talon/attack_self(mob/user as mob) if(src.icon_state == initial(icon_state)) @@ -77,7 +77,7 @@ sprite_sheets = list( SPECIES_TESHARI = 'icons/inventory/head/mob_vr_teshari.dmi' ) - action_button_name = "Toggle Visor" + actions_types = list(/datum/action/item_action/toggle_visor) /obj/item/clothing/head/pilot_vr/mbill/attack_self(mob/user as mob) if(src.icon_state == initial(icon_state)) @@ -86,4 +86,4 @@ else src.icon_state = initial(icon_state) to_chat(user, "You lower the visor on the pilot helmet.") - update_clothing_icon() //so our mob-overlays update \ No newline at end of file + update_clothing_icon() //so our mob-overlays update diff --git a/code/modules/clothing/masks/breath.dm b/code/modules/clothing/masks/breath.dm index c9e5baaf2c5..4c4781b8a89 100644 --- a/code/modules/clothing/masks/breath.dm +++ b/code/modules/clothing/masks/breath.dm @@ -9,7 +9,7 @@ gas_transfer_coefficient = 0.10 permeability_coefficient = 0.50 var/hanging = 0 - action_button_name = "Adjust Breath Mask" + actions_types = list(/datum/action/item_action/adjust_breath_mask) pickup_sound = 'sound/items/pickup/component.ogg' drop_sound = 'sound/items/drop/component.ogg' diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm index 667e7b41f95..59541aebc21 100644 --- a/code/modules/clothing/masks/gasmask.dm +++ b/code/modules/clothing/masks/gasmask.dm @@ -45,7 +45,7 @@ //Turn it into a hailer mask /obj/item/clothing/mask/gas/half/attackby(obj/item/I, mob/user) - if(istype(I, /obj/item/device/hailer)) + if(istype(I, /obj/item/hailer)) playsound(src, 'sound/items/Screwdriver.ogg', 50, 1) user.drop_item(src) var/obj/item/clothing/mask/gas/sechailer/N = new /obj/item/clothing/mask/gas/sechailer(src.loc) @@ -90,7 +90,7 @@ species_restricted = list(SPECIES_VOX) filtered_gases = list("oxygen", "nitrous_oxide") var/mask_open = FALSE // Controls if the Vox can eat through this mask - action_button_name = "Toggle Feeding Port" + actions_types = list(/datum/action/item_action/toggle_feeding_port) /obj/item/clothing/mask/gas/swat/vox/proc/feeding_port(mob/user) if(user.canmove && !user.stat) diff --git a/code/modules/clothing/masks/hailer.dm b/code/modules/clothing/masks/hailer.dm index 8737aa71a13..b3d265b86cf 100644 --- a/code/modules/clothing/masks/hailer.dm +++ b/code/modules/clothing/masks/hailer.dm @@ -4,9 +4,9 @@ description_info = "This mask has a hailer attached, you can activate it on the button or use the Halt! verb, for switching phrases you can alt+click it or change it using the change phrase verb." icon_state = "halfgas" armor = list(melee = 10, bullet = 10, laser = 10, energy = 0, bomb = 0, bio = 55, rad = 0) - action_button_name = "HALT!" + actions_types = list(/datum/action/item_action/halt) body_parts_covered = FACE - var/obj/item/device/hailer/hailer + var/obj/item/hailer/hailer var/cooldown = 0 var/phrase = 1 var/aggressiveness = 1 @@ -39,7 +39,7 @@ /obj/item/clothing/mask/gas/sechailer/swat/warden - name = "\improper Warden SWAT mask" + name = "\improper " + JOB_WARDEN + " SWAT mask" desc = "A close-fitting tactical mask with an especially aggressive Compli-o-nator 3000. It has a blue stripe." icon_state = "wardenmask" @@ -53,7 +53,7 @@ phrase = 12 -/obj/item/clothing/mask/gas/sechailer/ui_action_click() +/obj/item/clothing/mask/gas/sechailer/ui_action_click(mob/user, actiontype) halt() /obj/item/clothing/mask/gas/sechailer/AltClick(mob/user) @@ -68,36 +68,36 @@ var/message = phrase_list[key] if (!safety) - to_chat(usr, "You set the restrictor to: FUCK YOUR CUNT YOU SHIT EATING COCKSUCKER MAN EAT A DONG FUCKING ASS RAMMING SHIT FUCK EAT PENISES IN YOUR FUCK FACE AND SHIT OUT ABORTIONS OF FUCK AND DO SHIT IN YOUR ASS YOU COCK FUCK SHIT MONKEY FUCK ASS WANKER FROM THE DEPTHS OF SHIT.") + to_chat(usr, span_notice("You set the restrictor to: FUCK YOUR CUNT YOU SHIT EATING COCKSUCKER MAN EAT A DONG FUCKING ASS RAMMING SHIT FUCK EAT PENISES IN YOUR FUCK FACE AND SHIT OUT ABORTIONS OF FUCK AND DO SHIT IN YOUR ASS YOU COCK FUCK SHIT MONKEY FUCK ASS WANKER FROM THE DEPTHS OF SHIT.")) return switch(aggressiveness) if(1) phrase = (phrase < 6) ? (phrase + 1) : 1 key = phrase_list[phrase] message = phrase_list[key] - to_chat(usr,"You set the restrictor to: [message]") + to_chat(usr,span_notice("You set the restrictor to: [message]")) if(2) phrase = (phrase < 11 && phrase >= 7) ? (phrase + 1) : 7 key = phrase_list[phrase] message = phrase_list[key] - to_chat(usr,"You set the restrictor to: [message]") + to_chat(usr,span_notice("You set the restrictor to: [message]")) if(3) phrase = (phrase < 18 && phrase >= 12 ) ? (phrase + 1) : 12 key = phrase_list[phrase] message = phrase_list[key] - to_chat(usr,"You set the restrictor to: [message]") + to_chat(usr,span_notice("You set the restrictor to: [message]")) if(4) phrase = (phrase < 18 && phrase >= 1 ) ? (phrase + 1) : 1 key = phrase_list[phrase] message = phrase_list[key] - to_chat(usr,"You set the restrictor to: [message]") + to_chat(usr,span_notice("You set the restrictor to: [message]")) else - to_chat(usr, "It's broken.") + to_chat(usr, span_notice("It's broken.")) /obj/item/clothing/mask/gas/sechailer/emag_act(mob/user) if(safety) safety = 0 - to_chat(user, "You silently fry [src]'s vocal circuit with the cryptographic sequencer.") + to_chat(user, span_warning("You silently fry [src]'s vocal circuit with the cryptographic sequencer.")) else return @@ -105,30 +105,30 @@ if(I.has_tool_quality(TOOL_SCREWDRIVER)) switch(aggressiveness) if(1) - to_chat(user, "You set the aggressiveness restrictor to the second position.") + to_chat(user, span_notice("You set the aggressiveness restrictor to the second position.")) aggressiveness = 2 phrase = 7 if(2) - to_chat(user, "You set the aggressiveness restrictor to the third position.") + to_chat(user, span_notice("You set the aggressiveness restrictor to the third position.")) aggressiveness = 3 phrase = 13 if(3) - to_chat(user, "You set the aggressiveness restrictor to the fourth position.") + to_chat(user, span_notice("You set the aggressiveness restrictor to the fourth position.")) aggressiveness = 4 phrase = 1 if(4) - to_chat(user, "You set the aggressiveness restrictor to the first position.") + to_chat(user, span_notice("You set the aggressiveness restrictor to the first position.")) aggressiveness = 1 phrase = 1 if(5) - to_chat(user, "You adjust the restrictor but nothing happens, probably because its broken.") + to_chat(user, span_warning("You adjust the restrictor but nothing happens, probably because its broken.")) if(I.has_tool_quality(TOOL_WIRECUTTER)) if(aggressiveness != 5) - to_chat(user, "You broke it!") + to_chat(user, span_warning("You broke it!")) aggressiveness = 5 if(I.has_tool_quality(TOOL_CROWBAR)) if(!hailer) - to_chat(user, "This mask has an integrated hailer, you can't remove it!") + to_chat(user, span_warning("This mask has an integrated hailer, you can't remove it!")) else var/obj/N = new /obj/item/clothing/mask/gas/half(src.loc) playsound(src, 'sound/items/Screwdriver.ogg', 50, 1) @@ -155,11 +155,11 @@ if(cooldown < world.time - 35) // A cooldown, to stop people being jerks if(!safety) message = "FUCK YOUR CUNT YOU SHIT EATING COCKSUCKER MAN EAT A DONG FUCKING ASS RAMMING SHIT FUCK EAT PENISES IN YOUR FUCK FACE AND SHIT OUT ABORTIONS OF FUCK AND DO SHIT IN YOUR ASS YOU COCK FUCK SHIT MONKEY FUCK ASS WANKER FROM THE DEPTHS OF SHIT." - usr.visible_message("[usr]'s Compli-o-Nator: [span_red("[message]")]") + usr.visible_message(span_infoplain("[usr]'s Compli-o-Nator: " + span_red(span_huge(span_bold("[message]"))))) playsound(src, 'sound/voice/binsult.ogg', 50, 0, 4) //Future sound channel = something like SFX cooldown = world.time return - usr.visible_message("[usr]'s Compli-o-Nator: [span_red("[message]")]") + usr.visible_message(span_infoplain("[usr]'s Compli-o-Nator: " + span_red(span_huge(span_bold("[message]"))))) playsound(src, "sound/voice/complionator/[key].ogg", 50, 0, 4) //future sound channel = something like SFX cooldown = world.time diff --git a/code/modules/clothing/masks/miscellaneous.dm b/code/modules/clothing/masks/miscellaneous.dm index 9d7d9a693b1..be5dad9f667 100644 --- a/code/modules/clothing/masks/miscellaneous.dm +++ b/code/modules/clothing/masks/miscellaneous.dm @@ -320,8 +320,7 @@ w_class = ITEMSIZE_SMALL body_parts_covered = FACE icon_state = "papermask" - action_button_name = "Redraw Design" - action_button_is_hands_free = TRUE + actions_types = list(/datum/action/item_action/hands_free/redraw_design) var/list/papermask_designs = list() /obj/item/clothing/mask/paper/Initialize(mapload) @@ -374,8 +373,8 @@ if(src && choice && !user.incapacitated() && in_range(user,src)) icon_state = options[choice] user.update_inv_wear_mask() - user.update_action_buttons() - to_chat(user, "Your paper mask now is now [choice].") + user.update_mob_action_buttons() + to_chat(user, span_notice("Your paper mask now is now [choice].")) return 1 /obj/item/clothing/mask/emotions @@ -384,8 +383,7 @@ w_class = ITEMSIZE_SMALL body_parts_covered = FACE icon_state = "joy" - action_button_name = "Redraw Design" - action_button_is_hands_free = TRUE + actions_types = list(/datum/action/item_action/hands_free/redraw_design) var/static/list/joymask_designs = list() @@ -410,8 +408,8 @@ if(src && choice && !user.incapacitated() && in_range(user,src)) icon_state = options[choice] user.update_inv_wear_mask() - user.update_action_buttons() - to_chat(user, "Your [src] now displays a [choice] emotion.") + user.update_mob_action_buttons() + to_chat(user, span_notice("Your [src] now displays a [choice] emotion.")) return 1 /obj/item/clothing/mask/mouthwheat diff --git a/code/modules/clothing/masks/monitor.dm b/code/modules/clothing/masks/monitor.dm index 0d577443bec..5efb8fb6d51 100644 --- a/code/modules/clothing/masks/monitor.dm +++ b/code/modules/clothing/masks/monitor.dm @@ -27,7 +27,7 @@ if(robohead.monitor_styles) monitor_states = params2list(robohead.monitor_styles) icon_state = monitor_states[monitor_state_index] - to_chat(H, "\The [src] connects to your display output.") + to_chat(H, span_notice("\The [src] connects to your display output.")) /obj/item/clothing/mask/monitor/dropped() canremove = TRUE @@ -41,20 +41,20 @@ var/datum/robolimb/robohead = all_robolimbs[E.model] if(istype(E) && (E.robotic >= ORGAN_ROBOT) && robohead.monitor_styles) return 1 - to_chat(user, "You must have a compatible robotic head to install this upgrade.") + to_chat(user, span_warning("You must have a compatible robotic head to install this upgrade.")) return 0 /obj/item/clothing/mask/monitor/verb/set_monitor_state() set name = "Set Monitor State" set desc = "Choose an icon for your monitor." - set category = "IC" + set category = "IC.Game" set src in usr var/mob/living/carbon/human/H = loc if(!istype(H) || H != usr) return if(H.wear_mask != src) - to_chat(usr, "You have not installed \the [src] yet.") + to_chat(usr, span_warning("You have not installed \the [src] yet.")) return var/choice = tgui_input_list(usr, "Select a screen icon:", "Head Monitor Choice", monitor_states) if(choice) @@ -66,4 +66,4 @@ monitor_state_index = initial(monitor_state_index) icon_state = monitor_states[monitor_state_index] var/mob/living/carbon/human/H = loc - if(istype(H)) H.update_inv_wear_mask() \ No newline at end of file + if(istype(H)) H.update_inv_wear_mask() diff --git a/code/modules/clothing/masks/tesh_synth_facemask.dm b/code/modules/clothing/masks/tesh_synth_facemask.dm index a321eb9dca6..e63002f3cca 100644 --- a/code/modules/clothing/masks/tesh_synth_facemask.dm +++ b/code/modules/clothing/masks/tesh_synth_facemask.dm @@ -38,7 +38,7 @@ var/obj/item/organ/external/E = user.organs_by_name[BP_HEAD] if(istype(E) && (E.robotic >= ORGAN_ROBOT)) return 1 - to_chat(user, "You must have a compatible robotic head to install this upgrade.") + to_chat(user, span_warning("You must have a compatible robotic head to install this upgrade.")) return 0 /obj/item/clothing/mask/synthfacemask/update_icon() diff --git a/code/modules/clothing/masks/voice.dm b/code/modules/clothing/masks/voice.dm index 7d214be9c35..122bcdb1c06 100644 --- a/code/modules/clothing/masks/voice.dm +++ b/code/modules/clothing/masks/voice.dm @@ -15,7 +15,7 @@ set src in usr changer.active = !changer.active - to_chat(usr, "You [changer.active ? "enable" : "disable"] the voice-changing module in \the [src].") + to_chat(usr, span_notice("You [changer.active ? "enable" : "disable"] the voice-changing module in \the [src].")) /obj/item/clothing/mask/gas/voice/verb/Set_Voice(name as text) set category = "Object" @@ -24,14 +24,14 @@ var/voice = sanitize(name, MAX_NAME_LEN) if(!voice || !length(voice)) return changer.voice = voice - to_chat(usr, "You are now mimicking [changer.voice].") + to_chat(usr, span_notice("You are now mimicking [changer.voice].")) /obj/item/clothing/mask/gas/voice/verb/Reset_Voice() set category = "Object" set src in usr changer.voice = null - to_chat(usr, "You have reset your voice changer's mimicry feature.") + to_chat(usr, span_notice("You have reset your voice changer's mimicry feature.")) /obj/item/clothing/mask/gas/voice/New() ..() diff --git a/code/modules/clothing/rings/material.dm b/code/modules/clothing/rings/material.dm deleted file mode 100644 index 30242fef66e..00000000000 --- a/code/modules/clothing/rings/material.dm +++ /dev/null @@ -1,74 +0,0 @@ -///////////////////////////////////////// -//Material Rings -/obj/item/clothing/gloves/ring/material - icon = 'icons/inventory/hands/item.dmi' - icon_state = "material" - -/obj/item/clothing/gloves/ring/material/New(var/newloc, var/new_material) - ..(newloc) - if(!new_material) - new_material = MAT_STEEL - material = get_material_by_name(new_material) - if(!istype(material)) - qdel(src) - return - name = "[material.display_name] ring" - desc = "A ring made from [material.display_name]." - color = material.icon_colour - -/obj/item/clothing/gloves/ring/material/get_material() - return material - -/obj/item/clothing/gloves/ring/material/wood/New(var/newloc) - ..(newloc, MAT_WOOD) - -/obj/item/clothing/gloves/ring/material/plastic/New(var/newloc) - ..(newloc, MAT_PLASTIC) - -/obj/item/clothing/gloves/ring/material/iron/New(var/newloc) - ..(newloc, MAT_IRON) - -/obj/item/clothing/gloves/ring/material/glass/New(var/newloc) - ..(newloc, MAT_GLASS) - -/obj/item/clothing/gloves/ring/material/steel/New(var/newloc) - ..(newloc, MAT_STEEL) - -/obj/item/clothing/gloves/ring/material/silver/New(var/newloc) - ..(newloc, MAT_SILVER) - -/obj/item/clothing/gloves/ring/material/gold/New(var/newloc) - ..(newloc, MAT_GOLD) - -/obj/item/clothing/gloves/ring/material/platinum/New(var/newloc) - ..(newloc, MAT_PLATINUM) - -/obj/item/clothing/gloves/ring/material/phoron/New(var/newloc) - ..(newloc, MAT_PHORON) - -/obj/item/clothing/gloves/ring/material/titanium/New(var/newloc) - ..(newloc, MAT_TITANIUM) - -/obj/item/clothing/gloves/ring/material/copper/New(var/newloc) - ..(newloc, MAT_COPPER) - -/obj/item/clothing/gloves/ring/material/bronze/New(var/newloc) - ..(newloc, MAT_BRONZE) - -/obj/item/clothing/gloves/ring/material/uranium/New(var/newloc) - ..(newloc, MAT_URANIUM) - -/obj/item/clothing/gloves/ring/material/osmium/New(var/newloc) - ..(newloc, MAT_OSMIUM) - -/obj/item/clothing/gloves/ring/material/lead/New(var/newloc) - ..(newloc, MAT_LEAD) - -/obj/item/clothing/gloves/ring/material/diamond/New(var/newloc) - ..(newloc, MAT_DIAMOND) - -/obj/item/clothing/gloves/ring/material/tin/New(var/newloc) - ..(newloc, MAT_TIN) - -/obj/item/clothing/gloves/ring/material/void_opal/New(var/newloc) - ..(newloc, MAT_VOPAL) \ No newline at end of file diff --git a/code/modules/clothing/rings/rings.dm b/code/modules/clothing/rings/rings.dm deleted file mode 100644 index f07d0ae6747..00000000000 --- a/code/modules/clothing/rings/rings.dm +++ /dev/null @@ -1,96 +0,0 @@ -//Generic Ring - -/obj/item/clothing/gloves/ring - name = "generic ring" - desc = "Torus shaped finger decoration." - icon_state = "material" - drop_sound = 'sound/items/drop/ring.ogg' - -///////////////////////////////////////// -//Standard Rings -/obj/item/clothing/gloves/ring/engagement - name = "engagement ring" - desc = "An engagement ring. It certainly looks expensive." - icon_state = "diamond" - -/obj/item/clothing/gloves/ring/engagement/attack_self(mob/user) - user.visible_message("\The [user] gets down on one knee, presenting \the [src].","You get down on one knee, presenting \the [src].") - -/obj/item/clothing/gloves/ring/cti - name = "CTI ring" - desc = "A ring commemorating graduation from CTI." - icon_state = "cti-grad" - -/obj/item/clothing/gloves/ring/mariner - name = "Mariner University ring" - desc = "A ring commemorating graduation from Mariner University." - icon_state = "mariner-grad" - - -///////////////////////////////////////// -//Reagent Rings - -/obj/item/clothing/gloves/ring/reagent - flags = OPENCONTAINER - origin_tech = list(TECH_MATERIAL = 2, TECH_ILLEGAL = 4) - -/obj/item/clothing/gloves/ring/reagent/New() - ..() - create_reagents(15) - -/obj/item/clothing/gloves/ring/reagent/equipped(var/mob/living/carbon/human/H) - ..() - if(istype(H) && H.gloves==src) - - if(reagents.total_volume) - to_chat(H, "You feel a prick as you slip on \the [src].") - if(H.reagents) - var/contained = reagents.get_reagents() - var/trans = reagents.trans_to_mob(H, 15, CHEM_BLOOD) - add_attack_logs(usr, H, "Injected with [name] containing [contained] transferred [trans] units") - return - -//Sleepy Ring -/obj/item/clothing/gloves/ring/reagent/sleepy - name = "silver ring" - desc = "A ring made from what appears to be silver." - icon_state = "material" - origin_tech = list(TECH_MATERIAL = 2, TECH_ILLEGAL = 5) - -/obj/item/clothing/gloves/ring/reagent/sleepy/New() - ..() - reagents.add_reagent("chloralhydrate", 15) // Less than a sleepy-pen, but still enough to knock someone out - -///////////////////////////////////////// -//Seals and Signet Rings - -/obj/item/clothing/gloves/ring/seal - var/stamptext = null -/obj/item/clothing/gloves/ring/seal/secgen - name = "Secretary-General's official seal" - desc = "The official seal of the Secretary-General of the Sol Central Government, featured prominently on a silver ring." - icon_state = "seal-secgen" - -/obj/item/clothing/gloves/ring/seal/mason - name = "\improper Masonic ring" - desc = "The Square and Compasses feature prominently on this Masonic ring." - icon_state = "seal-masonic" - -/obj/item/clothing/gloves/ring/seal/signet - name = "signet ring" - desc = "A signet ring, for when you're too sophisticated to sign letters." - icon_state = "seal-signet" - var/nameset = FALSE - -/obj/item/clothing/gloves/ring/seal/signet/attack_self(mob/user) - if(nameset) - to_chat(user, "The [src] has already been claimed!") - return - - to_chat(user, "You claim the [src] as your own!") - change_name(user) - nameset = TRUE - -/obj/item/clothing/gloves/ring/seal/signet/proc/change_name(var/signet_name = "Unknown") - name = "[signet_name]'s signet ring" - desc = "A signet ring belonging to [signet_name], for when you're too sophisticated to sign letters." diff --git a/code/modules/clothing/rings/rings_vr.dm b/code/modules/clothing/rings/rings_vr.dm deleted file mode 100644 index 45306a7acc1..00000000000 --- a/code/modules/clothing/rings/rings_vr.dm +++ /dev/null @@ -1,17 +0,0 @@ -/obj/item/clothing/gloves/ring/wedding - name = "golden wedding ring" - desc = "For showing your devotion to another person. It has a golden glimmer to it." - icon = 'icons/inventory/hands/item_vr.dmi' - icon_state = "wedring_g" - item_state = "wedring_g" - var/partnername = "" - -/obj/item/clothing/gloves/ring/wedding/attack_self(mob/user) - partnername = copytext(sanitize(input(user, "Would you like to change the holoengraving on the ring?", "Name your spouse", "Bae") as null|text),1,MAX_NAME_LEN) - name = "[initial(name)] - [partnername]" - -/obj/item/clothing/gloves/ring/wedding/silver - name = "silver wedding ring" - desc = "For showing your devotion to another person. It has a silver glimmer to it." - icon_state = "wedring_s" - item_state = "wedring_s" diff --git a/code/modules/clothing/shoes/colour.dm b/code/modules/clothing/shoes/colour.dm index aa01bab9d8a..8c4ba42d20a 100644 --- a/code/modules/clothing/shoes/colour.dm +++ b/code/modules/clothing/shoes/colour.dm @@ -90,9 +90,9 @@ /obj/item/clothing/shoes/orange name = "orange shoes" icon_state = "orange" - var/obj/item/weapon/handcuffs/chained = null + var/obj/item/handcuffs/chained = null -/obj/item/clothing/shoes/orange/proc/attach_cuffs(var/obj/item/weapon/handcuffs/cuffs, mob/user as mob) +/obj/item/clothing/shoes/orange/proc/attach_cuffs(var/obj/item/handcuffs/cuffs, mob/user as mob) if (chained) return user.drop_item() @@ -117,7 +117,7 @@ /obj/item/clothing/shoes/orange/attackby(H as obj, mob/user as mob) ..() - if (istype(H, /obj/item/weapon/handcuffs)) + if (istype(H, /obj/item/handcuffs)) attach_cuffs(H, user) /obj/item/clothing/shoes/hitops diff --git a/code/modules/clothing/shoes/leg_guards.dm b/code/modules/clothing/shoes/leg_guards.dm index 3ef213e69d6..01c8e95cdd3 100644 --- a/code/modules/clothing/shoes/leg_guards.dm +++ b/code/modules/clothing/shoes/leg_guards.dm @@ -14,11 +14,11 @@ if(..()) //This will only run if no other problems occured when equiping. if(H.wear_suit) if(H.wear_suit.body_parts_covered & LEGS) - to_chat(H, "You can't wear \the [src] with \the [H.wear_suit], it's in the way.") + to_chat(H, span_warning("You can't wear \the [src] with \the [H.wear_suit], it's in the way.")) return 0 for(var/obj/item/clothing/accessory/A in H.wear_suit) if(A.body_parts_covered & LEGS) - to_chat(H, "You can't wear \the [src] with \the [H.wear_suit]'s [A], it's in the way.") + to_chat(H, span_warning("You can't wear \the [src] with \the [H.wear_suit]'s [A], it's in the way.")) return 0 return 1 @@ -63,4 +63,4 @@ slowdown = SHOES_SLOWDOWN+0.5 armor = list(melee = 40, bullet = 40, laser = 60, energy = 35, bomb = 30, bio = 0, rad = 0) min_cold_protection_temperature = T0C - 20 - cold_protection = LEGS \ No newline at end of file + cold_protection = LEGS diff --git a/code/modules/clothing/shoes/magboots.dm b/code/modules/clothing/shoes/magboots.dm index dd921661156..756d7f4d3f9 100644 --- a/code/modules/clothing/shoes/magboots.dm +++ b/code/modules/clothing/shoes/magboots.dm @@ -12,7 +12,7 @@ preserve_item = 1 var/magpulse = 0 var/icon_base = "magboots" - action_button_name = "Toggle Magboots" + actions_types = list(/datum/action/item_action/toggle_magboots) var/obj/item/clothing/shoes/shoes = null //Undershoes var/mob/living/carbon/human/wearer = null //For shoe procs step_volume_mod = 1.3 @@ -41,7 +41,7 @@ playsound(src, 'sound/effects/magnetclamp.ogg', 20) to_chat(user, "You enable the mag-pulse traction system.") user.update_inv_shoes() //so our mob-overlays update - user.update_action_buttons() + user.update_mob_action_buttons() /obj/item/clothing/shoes/magboots/mob_can_equip(mob/user, slot, disable_warning = FALSE) var/mob/living/carbon/human/H = user @@ -90,8 +90,7 @@ icon_state = "boots-vox" flags = PHORONGUARD species_restricted = list(SPECIES_VOX) - - action_button_name = "Toggle the magclaws" + actions_types = list(/datum/action/item_action/toggle_magclaws) /obj/item/clothing/shoes/magboots/vox/attack_self(mob/user) if(src.magpulse) @@ -112,7 +111,7 @@ magpulse = 1 canremove = FALSE //kinda hard to take off magclaws when you are gripping them tightly. to_chat(user, "You dig your claws deeply into the flooring, bracing yourself.") - user.update_action_buttons() + user.update_mob_action_buttons() //In case they somehow come off while enabled. /obj/item/clothing/shoes/magboots/vox/dropped(mob/user as mob) @@ -126,4 +125,4 @@ /obj/item/clothing/shoes/magboots/vox/examine(mob/user) . = ..() if(magpulse) - . += "It would be hard to take these off without relaxing your grip first." // Theoretically this message should only be seen by the wearer when the claws are equipped. \ No newline at end of file + . += "It would be hard to take these off without relaxing your grip first." // Theoretically this message should only be seen by the wearer when the claws are equipped. diff --git a/code/modules/clothing/shoes/miscellaneous_vr.dm b/code/modules/clothing/shoes/miscellaneous_vr.dm index b2f714f5d8b..9d9bd1dcc2d 100644 --- a/code/modules/clothing/shoes/miscellaneous_vr.dm +++ b/code/modules/clothing/shoes/miscellaneous_vr.dm @@ -14,7 +14,7 @@ icon = 'icons/inventory/feet/item_vr.dmi' icon_override = 'icons/inventory/feet/mob_vr.dmi' // resistance_flags = FIRE_PROOF - action_button_name = "Activate Jump Boots" + actions_types = list(/datum/action/item_action/activate_jump_boots) permeability_coefficient = 0.05 var/jumpdistance = 5 //-1 from to see the actual distance, e.g 4 goes over 3 tiles var/jumpspeed = 3 @@ -22,7 +22,7 @@ var/recharging_time = 0 //time until next dash // var/jumping = FALSE //are we mid-jump? We have no throw_at callback, so we have to check user.throwing. -/obj/item/clothing/shoes/bhop/ui_action_click() +/obj/item/clothing/shoes/bhop/ui_action_click(mob/unused_user, actiontype) var/mob/living/user = loc if(!isliving(user)) return @@ -31,13 +31,13 @@ return // User is already being thrown if(recharging_time > world.time) - to_chat(user, "The boot's internal propulsion needs to recharge still!") + to_chat(user, span_warning("The boot's internal propulsion needs to recharge still!")) return var/atom/target = get_edge_target_turf(user, user.dir) //gets the user's direction playsound(src, 'sound/effects/stealthoff.ogg', 50, 1, 1) - user.visible_message("[user] dashes forward into the air!") + user.visible_message(span_warning("[user] dashes forward into the air!")) user.throw_at(target, jumpdistance, jumpspeed) recharging_time = world.time + recharging_rate diff --git a/code/modules/clothing/spacesuits/alien.dm b/code/modules/clothing/spacesuits/alien.dm index cbd1afdb897..e3e93b29380 100644 --- a/code/modules/clothing/spacesuits/alien.dm +++ b/code/modules/clothing/spacesuits/alien.dm @@ -16,7 +16,7 @@ name = "Skrellian voidsuit" desc = "Seems like a wetsuit with reinforced plating seamlessly attached to it. Very chic." armor = list(melee = 20, bullet = 20, laser = 20, energy = 50, bomb = 50, bio = 100, rad = 50) - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd) + allowed = list(/obj/item/flashlight,/obj/item/tank,/obj/item/storage/bag/ore,/obj/item/t_scanner,/obj/item/pickaxe, /obj/item/rcd) heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE species_restricted = list(SPECIES_SKRELL,SPECIES_HUMAN) @@ -33,7 +33,7 @@ w_class = ITEMSIZE_NORMAL flags = PHORONGUARD item_flags = THICKMATERIAL - allowed = list(/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/handcuffs,/obj/item/weapon/tank) + allowed = list(/obj/item/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword,/obj/item/handcuffs,/obj/item/tank) armor = list(melee = 60, bullet = 50, laser = 40,energy = 15, bomb = 30, bio = 100, rad = 50) siemens_coefficient = 0.2 heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS @@ -216,7 +216,7 @@ desc = "A cheap and oddly-shaped pressure suit made for vox crewmembers." icon = 'icons/inventory/suit/mob_yw.dmi' icon_state = "vox-civ-assistant" - allowed = list(/obj/item/weapon/tank,/obj/item/weapon/pen,/obj/item/device/flashlight/pen) + allowed = list(/obj/item/tank,/obj/item/pen,/obj/item/flashlight/pen) armor = list(melee = 5, bullet = 5, laser = 5, energy = 5, bomb = 0, bio = 100, rad = 25) pressure_resistance = 5 * ONE_ATMOSPHERE @@ -309,7 +309,7 @@ desc = "A cheap and oddly-shaped pressure suit made for vox crewmembers. This one comes with more radiation protection." icon_state = "vox-civ-engineer" armor = list(melee = 5, bullet = 5, laser = 5, energy = 5, bomb = 0, bio = 100, rad = 50) - allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank, /obj/item/device/t_scanner, /obj/item/weapon/rcd, /obj/item/weapon/tool) + allowed = list(/obj/item/flashlight, /obj/item/tank, /obj/item/t_scanner, /obj/item/rcd, /obj/item/tool) max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE pressure_resistance = 200 * ONE_ATMOSPHERE @@ -389,7 +389,7 @@ name = "vox medical pressure suit" desc = "A cheap and oddly-shaped pressure suit made for vox crewmembers. This one is for medical personnel." icon_state = "vox-civ-medical" - allowed = list(/obj/item/weapon/tank,/obj/item/device/flashlight,/obj/item/weapon/storage/firstaid,/obj/item/device/healthanalyzer,/obj/item/stack/medical) + allowed = list(/obj/item/tank,/obj/item/flashlight,/obj/item/storage/firstaid,/obj/item/healthanalyzer,/obj/item/stack/medical) pressure_resistance = 40 * ONE_ATMOSPHERE /obj/item/clothing/head/helmet/space/vox/civ/medical @@ -432,7 +432,7 @@ name = "vox paramedic pressure suit" desc = "A cheap and oddly-shaped pressure suit made for vox crewmembers. This one is for paramedics." icon_state = "vox-civ-paramedic" - allowed = list(/obj/item/weapon/tank,/obj/item/device/flashlight,/obj/item/weapon/storage/firstaid,/obj/item/device/healthanalyzer,/obj/item/stack/medical,/obj/item/roller) + allowed = list(/obj/item/tank,/obj/item/flashlight,/obj/item/storage/firstaid,/obj/item/healthanalyzer,/obj/item/stack/medical,/obj/item/roller) /obj/item/clothing/head/helmet/space/vox/civ/medical/paramedic name = "vox paramedic pressure helmet" @@ -443,7 +443,7 @@ name = "vox cmo pressure suit" desc = "A cheap and oddly-shaped pressure suit made for vox crewmembers. This one is for the CMO." icon_state = "vox-civ-cmo" - allowed = list(/obj/item/weapon/tank,/obj/item/device/flashlight,/obj/item/weapon/storage/firstaid,/obj/item/device/healthanalyzer,/obj/item/stack/medical,/obj/item/roller) + allowed = list(/obj/item/tank,/obj/item/flashlight,/obj/item/storage/firstaid,/obj/item/healthanalyzer,/obj/item/stack/medical,/obj/item/roller) /obj/item/clothing/head/helmet/space/vox/civ/medical/cmo name = "vox cmo pressure helmet" @@ -456,7 +456,7 @@ desc = "A cheap and oddly-shaped pressure suit made for vox crewmembers. This one is for security aligned vox." icon_state = "vox-civ-security" armor = list(melee = 60, bullet = 10, laser = 30, energy = 5, bomb = 45, bio = 100, rad = 10) - allowed = list(/obj/item/weapon/tank,/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/weapon/melee/baton) + allowed = list(/obj/item/tank,/obj/item/gun,/obj/item/flashlight,/obj/item/tank,/obj/item/melee/baton) pressure_resistance = 40 * ONE_ATMOSPHERE /obj/item/clothing/head/helmet/space/vox/civ/security diff --git a/code/modules/clothing/spacesuits/breaches.dm b/code/modules/clothing/spacesuits/breaches.dm index 7e74ee57f83..aa6e0649ea6 100644 --- a/code/modules/clothing/spacesuits/breaches.dm +++ b/code/modules/clothing/spacesuits/breaches.dm @@ -81,7 +81,7 @@ var/global/list/breach_burn_descriptors = list( amount_left = 0 B.update_descriptor() - user.visible_message("[user] patches some of the damage on \the [src].") + user.visible_message(span_infoplain(span_bold("[user]") + " patches some of the damage on \the [src].")) calc_breach_damage() /obj/item/clothing/suit/space/proc/create_breaches(var/damtype, var/amount) @@ -119,9 +119,9 @@ var/global/list/breach_burn_descriptors = list( amount -= needs if(existing.damtype == BRUTE) - T.visible_message("\The [existing.descriptor] on [src] gapes wider!") + T.visible_message(span_warning("\The [existing.descriptor] on [src] gapes wider!")) else if(existing.damtype == BURN) - T.visible_message("\The [existing.descriptor] on [src] widens!") + T.visible_message(span_warning("\The [existing.descriptor] on [src] widens!")) if (amount) //Spawn a new breach. @@ -135,9 +135,9 @@ var/global/list/breach_burn_descriptors = list( B.holder = src if(B.damtype == BRUTE) - T.visible_message("\A [B.descriptor] opens up on [src]!") + T.visible_message(span_warning("\A [B.descriptor] opens up on [src]!")) else if(B.damtype == BURN) - T.visible_message("\A [B.descriptor] marks the surface of [src]!") + T.visible_message(span_warning("\A [B.descriptor] marks the surface of [src]!")) calc_breach_damage() @@ -190,7 +190,7 @@ var/global/list/breach_burn_descriptors = list( return if(istype(src.loc,/mob/living)) - to_chat(user, "How do you intend to patch a hardsuit while someone is wearing it?") + to_chat(user, span_warning("How do you intend to patch a hardsuit while someone is wearing it?")) return if(!damage || !burn_damage) @@ -213,7 +213,7 @@ var/global/list/breach_burn_descriptors = list( to_chat(user, "There is no structural damage on \the [src] to repair.") return - var/obj/item/weapon/weldingtool/WT = W.get_welder() + var/obj/item/weldingtool/WT = W.get_welder() if(!WT.remove_fuel(5)) to_chat(user, span_red("You need more welding fuel to repair this suit.")) return @@ -227,4 +227,4 @@ var/global/list/breach_burn_descriptors = list( . = ..() if(can_breach && breaches?.len) for(var/datum/breach/B in breaches) - . += span_red("It has \a [B.descriptor].") + . += span_red(span_bold("It has \a [B.descriptor].")) diff --git a/code/modules/clothing/spacesuits/miscellaneous.dm b/code/modules/clothing/spacesuits/miscellaneous.dm index f3fef22d7b1..b0c3cd073a1 100644 --- a/code/modules/clothing/spacesuits/miscellaneous.dm +++ b/code/modules/clothing/spacesuits/miscellaneous.dm @@ -10,7 +10,7 @@ //Captain's space suit This is not the proper path but I don't currently know enough about how this all works to mess with it. /obj/item/clothing/suit/armor/captain - name = "Site Manager's armor" + name = JOB_SITE_MANAGER + "'s armor" desc = "A bulky, heavy-duty piece of exclusive corporate armor. YOU are in charge!" icon_state = "caparmor" w_class = ITEMSIZE_HUGE @@ -18,7 +18,7 @@ permeability_coefficient = 0.02 item_flags = 0 body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS - allowed = list(/obj/item/weapon/tank/emergency/oxygen, /obj/item/device/flashlight,/obj/item/weapon/gun/energy, /obj/item/weapon/gun/projectile, /obj/item/ammo_magazine, /obj/item/ammo_casing, /obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs) + allowed = list(/obj/item/tank/emergency/oxygen, /obj/item/flashlight,/obj/item/gun/energy, /obj/item/gun/projectile, /obj/item/ammo_magazine, /obj/item/ammo_casing, /obj/item/melee/baton,/obj/item/handcuffs) slowdown = 1.5 armor = list(melee = 65, bullet = 50, laser = 50, energy = 25, bomb = 50, bio = 100, rad = 50) flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL @@ -83,7 +83,7 @@ desc = "Yarr." icon_state = "pirate" w_class = ITEMSIZE_NORMAL - allowed = list(/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/tank/emergency/oxygen) + allowed = list(/obj/item/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/handcuffs,/obj/item/tank/emergency/oxygen) slowdown = 0 armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30) siemens_coefficient = 0.9 diff --git a/code/modules/clothing/spacesuits/rig/modules/combat.dm b/code/modules/clothing/spacesuits/rig/modules/combat.dm index 4db4e7146e7..e54980b2131 100644 --- a/code/modules/clothing/spacesuits/rig/modules/combat.dm +++ b/code/modules/clothing/spacesuits/rig/modules/combat.dm @@ -14,7 +14,7 @@ icon_state = "flash" interface_name = "mounted flash" interface_desc = "Stuns your target by blinding them with a bright light." - device_type = /obj/item/device/flash + device_type = /obj/item/flash /obj/item/rig_module/grenade_launcher @@ -30,9 +30,9 @@ var/fire_distance = 10 charges = list( - list("flashbang", "flashbang", /obj/item/weapon/grenade/flashbang, 3), - list("smoke bomb", "smoke bomb", /obj/item/weapon/grenade/smokebomb, 3), - list("EMP grenade", "EMP grenade", /obj/item/weapon/grenade/empgrenade, 3), + list("flashbang", "flashbang", /obj/item/grenade/flashbang, 3), + list("smoke bomb", "smoke bomb", /obj/item/grenade/smokebomb, 3), + list("EMP grenade", "EMP grenade", /obj/item/grenade/empgrenade, 3), ) /obj/item/rig_module/grenade_launcher/accepts_item(var/obj/item/input_device, var/mob/living/user) @@ -51,10 +51,10 @@ return 0 if(accepted_item.charges >= 5) - to_chat(user, "Another grenade of that type will not fit into the module.") + to_chat(user, span_danger("Another grenade of that type will not fit into the module.")) return 0 - to_chat(user, span_blue("You slot \the [input_device] into the suit module.")) + to_chat(user, span_boldnotice("You slot \the [input_device] into the suit module.")) user.drop_from_inventory(input_device) qdel(input_device) accepted_item.charges++ @@ -71,7 +71,7 @@ var/mob/living/carbon/human/H = holder.wearer if(!charge_selected) - to_chat(H, "You have not selected a grenade type.") + to_chat(H, span_danger("You have not selected a grenade type.")) return 0 var/datum/rig_charge/charge = charges[charge_selected] @@ -80,12 +80,12 @@ return 0 if(charge.charges <= 0) - to_chat(H, "Insufficient grenades!") + to_chat(H, span_danger("Insufficient grenades!")) return 0 charge.charges-- - var/obj/item/weapon/grenade/new_grenade = new charge.product_type(get_turf(H)) - H.visible_message("[H] launches \a [new_grenade]!") + var/obj/item/grenade/new_grenade = new charge.product_type(get_turf(H)) + H.visible_message(span_danger("[H] launches \a [new_grenade]!")) new_grenade.activate(H) new_grenade.throw_at(target,fire_force,fire_distance) @@ -99,7 +99,7 @@ fire_force = 15 charges = list( - list("smoke bomb", "smoke bomb", /obj/item/weapon/grenade/smokebomb, 6) + list("smoke bomb", "smoke bomb", /obj/item/grenade/smokebomb, 6) ) /obj/item/rig_module/mounted @@ -116,8 +116,8 @@ interface_name = "mounted laser cannon" interface_desc = "A shoulder-mounted cell-powered laser cannon." - var/gun_type = /obj/item/weapon/gun/energy/lasercannon/mounted - var/obj/item/weapon/gun/gun + var/gun_type = /obj/item/gun/energy/lasercannon/mounted + var/obj/item/gun/gun /obj/item/rig_module/mounted/New() ..() @@ -144,7 +144,7 @@ interface_name = "mounted energy gun" interface_desc = "A forearm-mounted suit-powered energy gun." - gun_type = /obj/item/weapon/gun/energy/gun/mounted + gun_type = /obj/item/gun/energy/gun/mounted /obj/item/rig_module/mounted/taser @@ -160,7 +160,7 @@ interface_name = "mounted taser" interface_desc = "A shoulder-mounted cell-powered taser." - gun_type = /obj/item/weapon/gun/energy/taser/mounted + gun_type = /obj/item/gun/energy/taser/mounted /obj/item/rig_module/mounted/energy_blade @@ -181,12 +181,12 @@ active_power_cost = 10 passive_power_cost = 0 - gun_type = /obj/item/weapon/gun/energy/crossbow/ninja + gun_type = /obj/item/gun/energy/crossbow/ninja /obj/item/rig_module/mounted/energy_blade/process() if(holder && holder.wearer) - if(!(locate(/obj/item/weapon/melee/energy/blade) in holder.wearer)) + if(!(locate(/obj/item/melee/energy/blade) in holder.wearer)) deactivate() return 0 @@ -199,11 +199,11 @@ var/mob/living/M = holder.wearer if(M.l_hand && M.r_hand) - to_chat(M, "Your hands are full.") + to_chat(M, span_danger("Your hands are full.")) deactivate() return - var/obj/item/weapon/melee/energy/blade/blade = new(M) + var/obj/item/melee/energy/blade/blade = new(M) blade.creator = M M.put_in_hands(blade) @@ -216,7 +216,7 @@ if(!M) return - for(var/obj/item/weapon/melee/energy/blade/blade in M.contents) + for(var/obj/item/melee/energy/blade/blade in M.contents) M.drop_from_inventory(blade) qdel(blade) @@ -234,7 +234,7 @@ interface_name = "death blossom launcher" interface_desc = "An integrated microfactory that produces poisoned throwing stars from thin air and electricity." - var/fabrication_type = /obj/item/weapon/material/star/ninja + var/fabrication_type = /obj/item/material/star/ninja var/fire_force = 30 var/fire_distance = 10 @@ -248,15 +248,15 @@ if(target) var/obj/item/firing = new fabrication_type() firing.forceMove(get_turf(src)) - H.visible_message("[H] launches \a [firing]!") + H.visible_message(span_danger("[H] launches \a [firing]!")) firing.throw_at(target,fire_force,fire_distance) else if(H.l_hand && H.r_hand) - to_chat(H, "Your hands are full.") + to_chat(H, span_danger("Your hands are full.")) else var/obj/item/new_weapon = new fabrication_type() new_weapon.forceMove(H) - to_chat(H, span_blue("You quickly fabricate \a [new_weapon].")) + to_chat(H, span_boldnotice("You quickly fabricate \a [new_weapon].")) H.put_in_hands(new_weapon) return 1 diff --git a/code/modules/clothing/spacesuits/rig/modules/computer.dm b/code/modules/clothing/spacesuits/rig/modules/computer.dm index 21dad8e8c21..e8e786d0128 100644 --- a/code/modules/clothing/spacesuits/rig/modules/computer.dm +++ b/code/modules/clothing/spacesuits/rig/modules/computer.dm @@ -48,7 +48,7 @@ /obj/item/rig_module/ai_container/process() if(integrated_ai) - var/obj/item/weapon/rig/rig = get_rig() + var/obj/item/rig/rig = get_rig() if(rig && rig.ai_override_enabled) integrated_ai.get_rig_stats = 1 else @@ -57,7 +57,7 @@ /mob/living/Stat() . = ..() if(. && get_rig_stats) - var/obj/item/weapon/rig/rig = get_rig() + var/obj/item/rig/rig = get_rig() if(rig) SetupStat(rig) @@ -78,14 +78,14 @@ else target_ai = locate(/mob/living/silicon/ai) in input_device.contents - var/obj/item/device/aicard/card = ai_card + var/obj/item/aicard/card = ai_card // Downloading from/loading to a terminal. if(istype(input_device,/obj/machinery/computer/aifixer) || istype(input_device,/mob/living/silicon/ai) || istype(input_device,/obj/structure/AIcore/deactivated)) // If we're stealing an AI, make sure we have a card for it. if(!card) - card = new /obj/item/device/aicard(src) + card = new /obj/item/aicard(src) // Terminal interaction only works with an intellicarded AI. if(!istype(card)) @@ -103,7 +103,7 @@ update_verb_holder() return 1 - if(istype(input_device,/obj/item/device/aicard)) + if(istype(input_device,/obj/item/aicard)) // We are carding the AI in our suit. if(integrated_ai) integrated_ai.attackby(input_device,user) @@ -119,7 +119,7 @@ return 1 // Okay, it wasn't a terminal being touched, check for all the simple insertions. - if(input_device.type in list(/obj/item/device/paicard, /obj/item/device/mmi, /obj/item/device/mmi/digital/posibrain)) + if(input_device.type in list(/obj/item/paicard, /obj/item/mmi, /obj/item/mmi/digital/posibrain)) if(integrated_ai) integrated_ai.attackby(input_device,user) // If the transfer was successful, we can clear out our vars. @@ -141,7 +141,7 @@ if(!target) if(ai_card) - if(istype(ai_card,/obj/item/device/aicard)) + if(istype(ai_card,/obj/item/aicard)) ai_card.ui_interact(H, state = deep_inventory_state) else eject_ai(H) @@ -160,12 +160,12 @@ /obj/item/rig_module/ai_container/proc/eject_ai(var/mob/user) if(ai_card) - if(istype(ai_card, /obj/item/device/aicard)) + if(istype(ai_card, /obj/item/aicard)) if(integrated_ai && !integrated_ai.stat) if(user) - to_chat(user, "You cannot eject your currently stored AI. Purge it manually.") + to_chat(user, span_danger("You cannot eject your currently stored AI. Purge it manually.")) return 0 - to_chat(user, "You purge the previous AI from your Integrated Intelligence System, freeing it for use.") + to_chat(user, span_danger("You purge the previous AI from your Integrated Intelligence System, freeing it for use.")) if(integrated_ai) integrated_ai.ghostize() qdel(integrated_ai) @@ -190,13 +190,13 @@ if(ai_mob.key && ai_mob.client) - if(istype(ai, /obj/item/device/aicard)) + if(istype(ai, /obj/item/aicard)) if(!ai_card) - ai_card = new /obj/item/device/aicard(src) + ai_card = new /obj/item/aicard(src) - var/obj/item/device/aicard/source_card = ai - var/obj/item/device/aicard/target_card = ai_card + var/obj/item/aicard/source_card = ai + var/obj/item/aicard/target_card = ai_card if(istype(source_card) && istype(target_card)) if(target_card.grab_ai(ai_mob, user)) source_card.clear() @@ -217,9 +217,9 @@ integrated_ai = null eject_ai() else - to_chat(user, "There is no active AI within \the [ai].") + to_chat(user, span_warning("There is no active AI within \the [ai].")) else - to_chat(user, "There is no active AI within \the [ai].") + to_chat(user, span_warning("There is no active AI within \the [ai].")) update_verb_holder() return @@ -256,17 +256,17 @@ /obj/item/rig_module/datajack/accepts_item(var/obj/item/input_device, var/mob/living/user) - if(istype(input_device,/obj/item/weapon/disk/tech_disk)) + if(istype(input_device,/obj/item/disk/tech_disk)) to_chat(user, "You slot the disk into [src].") - var/obj/item/weapon/disk/tech_disk/disk = input_device + var/obj/item/disk/tech_disk/disk = input_device if(disk.stored) if(load_data(disk.stored)) to_chat(user, span_blue"Download successful; disk erased.")) disk.stored = null else - to_chat(user, "The disk is corrupt. It is useless to you.") + to_chat(user, span_warning("The disk is corrupt. It is useless to you.")) else - to_chat(user, "The disk is blank. It is useless to you.") + to_chat(user, span_warning("The disk is blank. It is useless to you.")) return 1 // I fucking hate R&D code. This typecheck spam would be totally unnecessary in a sane setup. @@ -283,13 +283,13 @@ incoming_files = input_machine.files if(!incoming_files || !incoming_files.known_tech || !incoming_files.known_tech.len) - to_chat(user, "Memory failure. There is nothing accessible stored on this terminal.") + to_chat(user, span_warning("Memory failure. There is nothing accessible stored on this terminal.")) else // Maybe consider a way to drop all your data into a target repo in the future. if(load_data(incoming_files.known_tech)) to_chat(user, span_blue("Download successful; local and remote repositories synchronized.")) else - to_chat(user, "Scan complete. There is nothing useful stored on this terminal.") + to_chat(user, span_warning("Scan complete. There is nothing useful stored on this terminal.")) return 1 return 0 @@ -368,7 +368,7 @@ if(interfaced_with) if(holder && holder.wearer) - to_chat(holder.wearer, "Your power sink retracts as the module deactivates.") + to_chat(holder.wearer, span_warning("Your power sink retracts as the module deactivates.")) drain_complete() interfaced_with = null total_power_drained = 0 @@ -400,7 +400,7 @@ if(target.drain_power(1) <= 0) return 0 - to_chat(H, "You begin draining power from [target]!") + to_chat(H, span_danger("You begin draining power from [target]!")) interfaced_with = target drain_loc = interfaced_with.loc @@ -434,17 +434,17 @@ H.break_cloak() if(!holder.cell) - to_chat(H, "Your power sink flashes an error; there is no cell in your rig.") + to_chat(H, span_danger("Your power sink flashes an error; there is no cell in your rig.")) drain_complete(H) return if(!interfaced_with || !interfaced_with.Adjacent(H) || !(interfaced_with.loc == drain_loc)) - to_chat(H, "Your power sink retracts into its casing.") + to_chat(H, span_warning("Your power sink retracts into its casing.")) drain_complete(H) return if(holder.cell.fully_charged()) - to_chat(H, "Your power sink flashes an amber light; your rig cell is full.") + to_chat(H, span_warning("Your power sink flashes an amber light; your rig cell is full.")) drain_complete(H) return @@ -453,7 +453,7 @@ var/to_drain = min(12.5*holder.cell.maxcharge, ((holder.cell.maxcharge - holder.cell.charge) / CELLRATE)) var/target_drained = interfaced_with.drain_power(0,0,to_drain) if(target_drained <= 0) - to_chat(H, "Your power sink flashes a red light; there is no power left in [interfaced_with].") + to_chat(H, span_danger("Your power sink flashes a red light; there is no power left in [interfaced_with].")) drain_complete(H) return @@ -466,10 +466,10 @@ if(!interfaced_with) if(M) - to_chat(M, span_blue("Total power drained: [round(total_power_drained*CELLRATE)] cell units.")) + to_chat(M, span_notice(span_bold("Total power drained:") + " [round(total_power_drained*CELLRATE)] cell units.")) else if(M) - to_chat(M, span_blue("Total power drained from [interfaced_with]: [round(total_power_drained*CELLRATE)] cell units.")) + to_chat(M, span_notice(span_bold("Total power drained from [interfaced_with]:") + " [round(total_power_drained*CELLRATE)] cell units.")) interfaced_with.drain_power(0,1,0) // Damage the victim. drain_loc = null diff --git a/code/modules/clothing/spacesuits/rig/modules/modules.dm b/code/modules/clothing/spacesuits/rig/modules/modules.dm index 7b27dfb9ac3..15a303769db 100644 --- a/code/modules/clothing/spacesuits/rig/modules/modules.dm +++ b/code/modules/clothing/spacesuits/rig/modules/modules.dm @@ -16,7 +16,7 @@ matter = list(MAT_STEEL = 20000, MAT_PLASTIC = 30000, MAT_GLASS = 5000) var/damage = 0 - var/obj/item/weapon/rig/holder + var/obj/item/rig/holder var/module_cooldown = 10 var/next_use = 0 @@ -141,7 +141,7 @@ // Called when the module is installed into a suit. -/obj/item/rig_module/proc/installed(var/obj/item/weapon/rig/new_holder) +/obj/item/rig_module/proc/installed(var/obj/item/rig/new_holder) holder = new_holder return @@ -149,27 +149,27 @@ /obj/item/rig_module/proc/engage() if(damage >= 2) - to_chat(usr, "The [interface_name] is damaged beyond use!") + to_chat(usr, span_warning("The [interface_name] is damaged beyond use!")) return 0 if(world.time < next_use) - to_chat(usr, "You cannot use the [interface_name] again so soon.") + to_chat(usr, span_warning("You cannot use the [interface_name] again so soon.")) return 0 if(!holder || holder.canremove) - to_chat(usr, "The suit is not initialized.") + to_chat(usr, span_warning("The suit is not initialized.")) return 0 if(usr.lying || usr.stat || usr.stunned || usr.paralysis || usr.weakened) - to_chat(usr, "You cannot use the suit in this state.") + to_chat(usr, span_warning("You cannot use the suit in this state.")) return 0 if(holder.wearer && holder.wearer.lying) - to_chat(usr, "The suit cannot function while the wearer is prone.") + to_chat(usr, span_warning("The suit cannot function while the wearer is prone.")) return 0 if(holder.security_check_enabled && !holder.check_suit_access(usr)) - to_chat(usr, "Access denied.") + to_chat(usr, span_danger("Access denied.")) return 0 if(!holder.check_power_cost(usr, use_power_cost, 0, src, (istype(usr,/mob/living/silicon ? 1 : 0) ) ) ) @@ -234,28 +234,6 @@ /obj/item/rig_module/proc/accepts_item(var/obj/item/input_device) return 0 -/mob/living/carbon/human/Stat() - . = ..() - - if(. && istype(back,/obj/item/weapon/rig)) - var/obj/item/weapon/rig/R = back - SetupStat(R) - - else if(. && istype(belt,/obj/item/weapon/rig)) - var/obj/item/weapon/rig/R = belt - SetupStat(R) - -/mob/proc/SetupStat(var/obj/item/weapon/rig/R) - if(R && !R.canremove && R.installed_modules.len && statpanel("Hardsuit Modules")) - var/cell_status = R.cell ? "[R.cell.charge]/[R.cell.maxcharge]" : "ERROR" - stat("Suit charge", cell_status) - for(var/obj/item/rig_module/module in R.installed_modules) - { - for(var/stat_rig_module/SRM in module.stat_modules) - if(SRM.CanUse()) - stat(SRM.module.interface_name,SRM) - } - /stat_rig_module parent_type = /atom/movable var/module_mode = "" @@ -282,6 +260,10 @@ module.holder.selected_module = module if("engage") module.engage() + if("activate") + module.activate() + if("deactivate") + module.deactivate() if("toggle") if(module.active) module.deactivate() diff --git a/code/modules/clothing/spacesuits/rig/modules/ninja.dm b/code/modules/clothing/spacesuits/rig/modules/ninja.dm index 89802134804..90a3b06be8b 100644 --- a/code/modules/clothing/spacesuits/rig/modules/ninja.dm +++ b/code/modules/clothing/spacesuits/rig/modules/ninja.dm @@ -37,7 +37,7 @@ var/mob/living/carbon/human/H = holder.wearer - to_chat(H, span_blue("You are now nearly invisible to normal detection.")) + to_chat(H, span_boldnotice("You are now nearly invisible to normal detection.")) H.alpha = 5 anim(get_turf(H), H, 'icons/effects/effects.dmi', "electricity",null,20,null) @@ -51,7 +51,7 @@ var/mob/living/carbon/human/H = holder.wearer - to_chat(H, "You are now visible.") + to_chat(H, span_danger("You are now visible.")) anim(get_turf(H), H,'icons/mob/mob.dmi',,"uncloak",,H.dir) anim(get_turf(H), H, 'icons/effects/effects.dmi', "electricity",null,20,null) @@ -100,7 +100,7 @@ var/mob/living/carbon/human/H = holder.wearer if(!istype(H.loc, /turf)) - to_chat(H, "You cannot teleport out of your current location.") + to_chat(H, span_warning("You cannot teleport out of your current location.")) return 0 var/turf/T @@ -110,23 +110,23 @@ T = get_teleport_loc(get_turf(H), H, 6, 1, 1, 1) if(!T) - to_chat(H, "No valid teleport target found.") + to_chat(H, span_warning("No valid teleport target found.")) return 0 if(T.density) - to_chat(H, "You cannot teleport into solid walls.") + to_chat(H, span_warning("You cannot teleport into solid walls.")) return 0 if(T.z in using_map.admin_levels) - to_chat(H, "You cannot use your teleporter on this Z-level.") + to_chat(H, span_warning("You cannot use your teleporter on this Z-level.")) return 0 if(T.contains_dense_objects()) - to_chat(H, "You cannot teleport to a location with solid objects.") + to_chat(H, span_warning("You cannot teleport to a location with solid objects.")) return 0 if(T.z != H.z || get_dist(T, get_turf(H)) > world.view) - to_chat(H, "You cannot teleport to such a distant object.") + to_chat(H, span_warning("You cannot teleport to such a distant object.")) return 0 if(!..()) return 0 @@ -135,7 +135,7 @@ H.forceMove(T) phase_in(H,get_turf(H)) - for(var/obj/item/weapon/grab/G in H.contents) + for(var/obj/item/grab/G in H.contents) if(G.affecting) phase_out(G.affecting,get_turf(G.affecting)) G.affecting.forceMove(locate(T.x+rand(-1,1),T.y+rand(-1,1),T.z)) @@ -154,7 +154,7 @@ engage_string = "Fabricate Net" - fabrication_type = /obj/item/weapon/energy_net + fabrication_type = /obj/item/energy_net use_power_cost = 70 /obj/item/rig_module/fabricator/energy_net/engage(atom/target) @@ -209,7 +209,7 @@ engage(1) /obj/item/rig_module/self_destruct/engage(var/skip_check) - if(!skip_check && usr && tgui_alert(usr, "Are you sure you want to push that button?", "Self-destruct", list("No", "Yes")) == "No") + if(!skip_check && usr && tgui_alert(usr, "Are you sure you want to push that button?", "Self-destruct", list("No", "Yes")) != "Yes") return if(holder && holder.wearer) smoke.set_up(10, 0, holder.loc) diff --git a/code/modules/clothing/spacesuits/rig/modules/protean.dm b/code/modules/clothing/spacesuits/rig/modules/protean.dm new file mode 100644 index 00000000000..f1e78a5e074 --- /dev/null +++ b/code/modules/clothing/spacesuits/rig/modules/protean.dm @@ -0,0 +1,209 @@ +/* +A collection of Protean rigsuit modules, intended to encourage Symbiotic relations with a host. +All of these should require someone else to be wearing the Protean to function. +These should come standard with the Protean rigsuit, unless you want them to work for some upgrades. +*/ + + +//This rig module feeds nutrition directly from the wearer to the Protean, to help them stay charged while worn. +/obj/item/rig_module/protean + permanent = 1 + +/obj/item/rig_module/protean/syphon + name = "Protean Metabolic Syphon" + desc = "This should never be outside of a RIG." + icon_state = "flash" + interface_name = "Protean Metabolic Syphon" + interface_desc = "Toggle to drain nutrition/power from the user directly into the Protean's own energy stores." + toggleable = 1 + activate_string = "Enable Syphon" + deactivate_string = "Disable Syphon" + +/obj/item/rig_module/protean/syphon/activate() + if(!..()) + return 0 + + var/mob/living/carbon/human/H = holder.wearer + if(H) + to_chat(usr, span_boldnotice("You activate the suit's energy syphon.")) + to_chat(H, span_warning("Your suit begins to sap at your own energy stores.")) + active = 1 + else + return 0 + +/obj/item/rig_module/protean/syphon/deactivate(var/forced) + if(!..()) + return 0 + if(forced) + active = 0 + return + var/mob/living/carbon/human/H = holder.wearer + if(H) + to_chat(usr, span_boldnotice("You deactivate the suit's energy syphon.")) + to_chat(H, span_warning("Your suit ceases from sapping your own energy.")) + active = 0 + else + return 0 + +/obj/item/rig_module/protean/syphon/process() + if(active) + var/mob/living/carbon/human/H = holder.wearer + var/mob/living/P = holder?:myprotean + if(istype(H.species, /datum/species/protean)) + to_chat(H, span_warning("Your Protean modules do not function on yourself.")) + deactivate(1) + else + P = P?:humanform + if((H.nutrition >= 100) && (P.nutrition <= 5000)) + H.nutrition -= 10 + P.nutrition += 10 + +//This rig module allows a worn Protean to toggle and configure its armor settings. +/obj/item/rig_module/protean/armor + name = "Protean Adaptive Armor" + desc = "This should never be outside of a RIG." + interface_name = "Protean Adaptive Armor" + interface_desc = "Adjusts the proteans deployed armor values to fit the needs of the wearer." + usable = 1 + toggleable = 1 + activate_string = "Enable Armor" + deactivate_string = "Disable Armor" + engage_string = "Configure Armor" + var/list/armor_settings = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0) + var/armor_weight_ratio = 0.01 //This amount of slowdown per 1% of armour. 3 slowdown at the max armour. + +/obj/item/rig_module/protean/armor/engage() + var/armor_chosen = input(usr, "Which armor to adjust?", "Protean Armor") as null|anything in armor_settings + if(armor_chosen) + var/armorvalue = tgui_input_number(usr, "Set armour reduction value (Max of 60%)", "Protean Armor",0,60) + if(isnum(armorvalue)) + armor_settings[armor_chosen] = armorvalue + interface_desc = initial(interface_desc) + slowdown = 0 + for(var/entry in armor_settings) //This is dumb and ugly but I dont feel like rewriting rig TGUI just to make this a pretty list + interface_desc += " [entry]: [armor_settings[entry]]" + slowdown += armor_settings[entry]*armor_weight_ratio + interface_desc += " Slowdown: [slowdown]" + +/obj/item/rig_module/protean/armor/activate() + if(holder?:assimilated_rig) + to_chat(usr, span_bolddanger("Armor module non-functional while a RIG is assimilated.")) + return + if(!..(1)) + return 0 + + var/mob/living/carbon/human/H = holder.wearer + if(H) + var/list/temparmor = list("bio" = 100, "rad" = 100) + temparmor = armor_settings + temparmor + to_chat(usr, span_boldnotice("You signal the suit to harden.")) + to_chat(H, span_notice("Your suit hardens in response to physical trauma.")) + holder.armor = temparmor.Copy() + for(var/obj/item/piece in list(holder.gloves,holder.helmet,holder.boots,holder.chest)) + piece.armor = temparmor.Copy() + holder.slowdown = slowdown + active = 1 + else + return 0 + +/obj/item/rig_module/protean/armor/deactivate(var/forced) + if(!..(1)) + return 0 + if(forced) + holder.armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 100) + for(var/obj/item/piece in list(holder.gloves,holder.helmet,holder.boots,holder.chest)) + piece.armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 100) + holder.slowdown = initial(slowdown) + active = 0 + return + var/mob/living/carbon/human/H = holder.wearer + if(H) + to_chat(usr, span_boldnotice("You signal the suit to relax.")) + to_chat(H, span_warning("Your suit softens.")) + holder.armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 100) + for(var/obj/item/piece in list(holder.gloves,holder.helmet,holder.boots,holder.chest)) + piece.armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 100) + holder.slowdown = initial(slowdown) + active = 0 + else + return 0 + +/obj/item/rig_module/protean/armor/process() + if(active) + var/mob/living/carbon/human/H = holder.wearer + if(istype(H.species, /datum/species/protean)) + to_chat(H, span_warning("Your Protean modules do not function on yourself.")) + deactivate(1) + + +//This rig module lets a Protean expend its metal stores to heal its host +/obj/item/rig_module/protean/healing + name = "Protean Restorative Nanites" + desc = "This should never be outside of a RIG." + interface_name = "Protean Restorative Nanites" + interface_desc = "Utilises stored steel from the Protean to slowly heal and repair the wearer." + toggleable = 1 + activate_string = "Enable Healing" + deactivate_string = "Disable Healing" + var/datum/modifier/healing + +/obj/item/rig_module/protean/healing/activate() + if(!..(1)) + return 0 + + var/mob/living/carbon/human/H = holder.wearer + var/mob/living/P = holder?:myprotean + if(H && P) + if(istype(H.species, /datum/species/protean)) + to_chat(H, span_warning("Your Protean modules do not function on yourself.")) + return 0 + var/obj/item/organ/internal/nano/refactory/R = P.nano_get_refactory() + if(R.get_stored_material(MAT_STEEL) >= 100) + healing = holder.wearer.add_modifier(/datum/modifier/protean/steel, origin = R) + to_chat(usr, span_boldnotice("You activate the suit's restorative nanites.")) + to_chat(H, span_warning("Your suit begins mending your injuries.")) + active = 1 + return 1 + return 0 + +/obj/item/rig_module/protean/healing/deactivate() + if(!..(1)) + return 0 + var/mob/living/carbon/human/H = holder.wearer + if(H) + to_chat(usr, span_boldnotice("You deactivate the suit's restorative nanites.")) + to_chat(H, span_warning("Your suit is no longer mending your injuries.")) + active = 0 + if(healing) + healing.expire() + healing = null + return 1 + else + return 0 + +/obj/item/rig_module/protean/healing/process() + if(active) + var/mob/living/carbon/human/H = holder.wearer + var/mob/living/P = holder?:myprotean + if((istype(H.species, /datum/species/protean)) || !H || !P) + to_chat(H, span_warning("Your Protean modules do not function on yourself.")) + deactivate() + return + var/obj/item/organ/internal/nano/refactory/R = P.nano_get_refactory() + if((!R.get_stored_material(MAT_STEEL))) + to_chat(H, span_warning("Your [holder] is out of steel.")) + deactivate() + return + +/obj/item/rig_module/protean/healing/accepts_item(var/obj/item/stack/material/steel/S, var/mob/living/user) + + if(!istype(S) || !istype(user)) + return 0 + + var/mob/living/P = holder?:myprotean + var/obj/item/organ/internal/nano/refactory/R = P?.nano_get_refactory() + + if(R?.add_stored_material(S.material.name,1*S.perunit) && S.use(1)) + to_chat(user, span_boldnotice("You directly feed some steel to the [holder].")) + return 1 + return 0 diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/ai_container.dm b/code/modules/clothing/spacesuits/rig/modules/specific/ai_container.dm index d3d62089111..b65417f3ec1 100644 --- a/code/modules/clothing/spacesuits/rig/modules/specific/ai_container.dm +++ b/code/modules/clothing/spacesuits/rig/modules/specific/ai_container.dm @@ -35,24 +35,17 @@ interface_desc = "A socket that supports a range of artificial intelligence systems." var/mob/integrated_ai // Direct reference to the actual mob held in the suit. - var/obj/item/device/aicard/ai_card // Reference to the MMI, posibrain, intellicard or pAI card previously holding the AI. + var/obj/item/aicard/ai_card // Reference to the MMI, posibrain, intellicard or pAI card previously holding the AI. var/obj/item/ai_verbs/verb_holder /obj/item/rig_module/ai_container/process() if(integrated_ai) - var/obj/item/weapon/rig/rig = get_rig() + var/obj/item/rig/rig = get_rig() if(rig && rig.ai_override_enabled) integrated_ai.get_rig_stats = 1 else integrated_ai.get_rig_stats = 0 -/mob/living/Stat() - . = ..() - if(. && get_rig_stats) - var/obj/item/weapon/rig/rig = get_rig() - if(rig) - SetupStat(rig) - /obj/item/rig_module/ai_container/proc/update_verb_holder() if(!verb_holder) verb_holder = new(src) @@ -70,14 +63,14 @@ else target_ai = locate(/mob/living/silicon/ai) in input_device.contents - var/obj/item/device/aicard/card = ai_card + var/obj/item/aicard/card = ai_card // Downloading from/loading to a terminal. if(istype(input_device,/obj/machinery/computer/aifixer) || istype(input_device,/mob/living/silicon/ai) || istype(input_device,/obj/structure/AIcore/deactivated)) // If we're stealing an AI, make sure we have a card for it. if(!card) - card = new /obj/item/device/aicard(src) + card = new /obj/item/aicard(src) // Terminal interaction only works with an intellicarded AI. if(!istype(card)) @@ -95,7 +88,7 @@ update_verb_holder() return 1 - if(istype(input_device,/obj/item/device/aicard)) + if(istype(input_device,/obj/item/aicard)) // We are carding the AI in our suit. if(integrated_ai) integrated_ai.attackby(input_device,user) @@ -111,7 +104,7 @@ return 1 // Okay, it wasn't a terminal being touched, check for all the simple insertions. - if(input_device.type in list(/obj/item/device/paicard, /obj/item/device/mmi, /obj/item/device/mmi/digital/posibrain)) + if(input_device.type in list(/obj/item/paicard, /obj/item/mmi, /obj/item/mmi/digital/posibrain)) if(integrated_ai) integrated_ai.attackby(input_device,user) // If the transfer was successful, we can clear out our vars. @@ -133,7 +126,7 @@ if(!target) if(ai_card) - if(istype(ai_card,/obj/item/device/aicard)) + if(istype(ai_card,/obj/item/aicard)) ai_card.tgui_interact(H, custom_state = GLOB.tgui_deep_inventory_state) else eject_ai(H) @@ -152,12 +145,12 @@ /obj/item/rig_module/ai_container/proc/eject_ai(var/mob/user) if(ai_card) - if(istype(ai_card, /obj/item/device/aicard)) + if(istype(ai_card, /obj/item/aicard)) if(integrated_ai && !integrated_ai.stat) if(user) - to_chat(user, "You cannot eject your currently stored AI. Purge it manually.") + to_chat(user, span_danger("You cannot eject your currently stored AI. Purge it manually.")) return 0 - to_chat(user, "You purge the previous AI from your Integrated Intelligence System, freeing it for use.") + to_chat(user, span_danger("You purge the previous AI from your Integrated Intelligence System, freeing it for use.")) if(integrated_ai) integrated_ai.ghostize() qdel(integrated_ai) @@ -182,13 +175,13 @@ if(ai_mob.key && ai_mob.client) - if(istype(ai, /obj/item/device/aicard)) + if(istype(ai, /obj/item/aicard)) if(!ai_card) - ai_card = new /obj/item/device/aicard(src) + ai_card = new /obj/item/aicard(src) - var/obj/item/device/aicard/source_card = ai - var/obj/item/device/aicard/target_card = ai_card + var/obj/item/aicard/source_card = ai + var/obj/item/aicard/target_card = ai_card if(istype(source_card) && istype(target_card)) if(target_card.grab_ai(ai_mob, user)) source_card.clear() @@ -209,8 +202,8 @@ integrated_ai = null eject_ai() else - to_chat(user, "There is no active AI within \the [ai].") + to_chat(user, span_warning("There is no active AI within \the [ai].")) else - to_chat(user, "There is no active AI within \the [ai].") + to_chat(user, span_warning("There is no active AI within \the [ai].")) update_verb_holder() return diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/chem_dispenser.dm b/code/modules/clothing/spacesuits/rig/modules/specific/chem_dispenser.dm index 7e1d40858b9..4018b5cb533 100644 --- a/code/modules/clothing/spacesuits/rig/modules/specific/chem_dispenser.dm +++ b/code/modules/clothing/spacesuits/rig/modules/specific/chem_dispenser.dm @@ -73,7 +73,7 @@ if(total_transferred) to_chat(user, span_blue("You transfer [total_transferred] units into the suit reservoir.")) else - to_chat(user, "None of the reagents seem suitable.") + to_chat(user, span_danger("None of the reagents seem suitable.")) return 1 /obj/item/rig_module/chem_dispenser/engage(atom/target) @@ -84,7 +84,7 @@ var/mob/living/carbon/human/H = holder.wearer if(!charge_selected) - to_chat(H, "You have not selected a chemical type.") + to_chat(H, span_danger("You have not selected a chemical type.")) return 0 var/datum/rig_charge/charge = charges[charge_selected] @@ -94,7 +94,7 @@ var/chems_to_use = 10 if(charge.charges <= 0) - to_chat(H, "Insufficient chems!") + to_chat(H, span_danger("Insufficient chems!")) return 0 else if(charge.charges < chems_to_use) chems_to_use = charge.charges @@ -109,8 +109,8 @@ target_mob = H if(target_mob != H) - to_chat(H, "You inject [target_mob] with [chems_to_use] unit\s of [charge.display_name].") - to_chat(target_mob, "You feel a rushing in your veins as [chems_to_use] unit\s of [charge.display_name] [chems_to_use == 1 ? "is" : "are"] injected.") + to_chat(H, span_danger("You inject [target_mob] with [chems_to_use] unit\s of [charge.display_name].")) + to_chat(target_mob, span_danger("You feel a rushing in your veins as [chems_to_use] unit\s of [charge.display_name] [chems_to_use == 1 ? "is" : "are"] injected.")) target_mob.reagents.add_reagent(charge.display_name, chems_to_use) charge.charges -= chems_to_use diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/cleaner_launcher.dm b/code/modules/clothing/spacesuits/rig/modules/specific/cleaner_launcher.dm index 46acec15988..39f9d02c62f 100644 --- a/code/modules/clothing/spacesuits/rig/modules/specific/cleaner_launcher.dm +++ b/code/modules/clothing/spacesuits/rig/modules/specific/cleaner_launcher.dm @@ -12,7 +12,7 @@ var/fire_distance = 10 charges = list( - list("cleaner grenade", "cleaner grenade", /obj/item/weapon/grenade/chem_grenade/cleaner, 9), + list("cleaner grenade", "cleaner grenade", /obj/item/grenade/chem_grenade/cleaner, 9), ) /obj/item/rig_module/cleaner_launcher/accepts_item(var/obj/item/input_device, var/mob/living/user) @@ -31,10 +31,10 @@ return 0 if(accepted_item.charges >= 5) - to_chat(user, "Another grenade of that type will not fit into the module.") + to_chat(user, span_danger("Another grenade of that type will not fit into the module.")) return 0 - to_chat(user, span_blue("You slot \the [input_device] into the suit module.")) + to_chat(user, span_boldnotice("You slot \the [input_device] into the suit module.")) user.drop_from_inventory(input_device) qdel(input_device) accepted_item.charges++ @@ -51,7 +51,7 @@ var/mob/living/carbon/human/H = holder.wearer if(!charge_selected) - to_chat(H, "You have not selected a grenade type.") + to_chat(H, span_danger("You have not selected a grenade type.")) return 0 var/datum/rig_charge/charge = charges[charge_selected] @@ -60,11 +60,11 @@ return 0 if(charge.charges <= 0) - to_chat(H, "Insufficient grenades!") + to_chat(H, span_danger("Insufficient grenades!")) return 0 charge.charges-- - var/obj/item/weapon/grenade/new_grenade = new charge.product_type(get_turf(H)) - H.visible_message("[H] launches \a [new_grenade]!") + var/obj/item/grenade/new_grenade = new charge.product_type(get_turf(H)) + H.visible_message(span_danger("[H] launches \a [new_grenade]!")) new_grenade.activate(H) new_grenade.throw_at(target,fire_force,fire_distance) diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/cloak.dm b/code/modules/clothing/spacesuits/rig/modules/specific/cloak.dm index 2d27dd2ddb2..9e51ef9832d 100644 --- a/code/modules/clothing/spacesuits/rig/modules/specific/cloak.dm +++ b/code/modules/clothing/spacesuits/rig/modules/specific/cloak.dm @@ -29,7 +29,7 @@ var/mob/living/carbon/human/H = holder.wearer - to_chat(H, span_blue("You are now nearly invisible to normal detection.")) + to_chat(H, span_boldnotice("You are now nearly invisible to normal detection.")) H.alpha = 5 anim(get_turf(H), H, 'icons/effects/effects.dmi', "electricity",null,20,null) @@ -43,7 +43,7 @@ var/mob/living/carbon/human/H = holder.wearer - to_chat(H, "You are now visible.") + to_chat(H, span_danger("You are now visible.")) anim(get_turf(H), H,'icons/mob/mob.dmi',,"uncloak",,H.dir) anim(get_turf(H), H, 'icons/effects/effects.dmi', "electricity",null,20,null) diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/crusher_gauntlets.dm b/code/modules/clothing/spacesuits/rig/modules/specific/crusher_gauntlets.dm index 9d156a13613..3ef1987ce16 100644 --- a/code/modules/clothing/spacesuits/rig/modules/specific/crusher_gauntlets.dm +++ b/code/modules/clothing/spacesuits/rig/modules/specific/crusher_gauntlets.dm @@ -15,11 +15,11 @@ use_power_cost = 0 active_power_cost = 0 passive_power_cost = 0 - var/obj/item/weapon/kinetic_crusher/machete/gauntlets/rig/stored_gauntlets + var/obj/item/kinetic_crusher/machete/gauntlets/rig/stored_gauntlets /obj/item/rig_module/gauntlets/Initialize() . = ..() - stored_gauntlets = new /obj/item/weapon/kinetic_crusher/machete/gauntlets/rig(src) + stored_gauntlets = new /obj/item/kinetic_crusher/machete/gauntlets/rig(src) stored_gauntlets.storing_module = src /obj/item/rig_module/gauntlets/activate() @@ -28,20 +28,20 @@ var/datum/gender/TU = gender_datums[M.get_visible_gender()] if(M.l_hand && M.r_hand) - to_chat(M, "Your hands are full.") + to_chat(M, span_danger("Your hands are full.")) deactivate() return if(M.a_intent == I_HURT) M.visible_message( - "[M] throws [TU.his] arms out, extending [stored_gauntlets] from \the [holder] with a click!", - "You throw your arms out, extending [stored_gauntlets] from \the [holder] with a click!", - "You hear a threatening hiss and a click." + span_danger("[M] throws [TU.his] arms out, extending [stored_gauntlets] from \the [holder] with a click!"), + span_danger("You throw your arms out, extending [stored_gauntlets] from \the [holder] with a click!"), + span_notice("You hear a threatening hiss and a click.") ) else M.visible_message( - "[M] extends [stored_gauntlets] from \the [holder] with a click!", - "You extend [stored_gauntlets] from \the [holder] with a click!", - "You hear a hiss and a click.") + span_notice("[M] extends [stored_gauntlets] from \the [holder] with a click!"), + span_notice("You extend [stored_gauntlets] from \the [holder] with a click!"), + span_notice("You hear a hiss and a click.")) playsound(src, 'sound/items/helmetdeploy.ogg', 40, 1) M.put_in_hands(stored_gauntlets) @@ -51,5 +51,5 @@ var/mob/living/M = holder.wearer if(!M) return - for(var/obj/item/weapon/kinetic_crusher/machete/gauntlets/gaming in M.contents) - M.drop_from_inventory(gaming, src) \ No newline at end of file + for(var/obj/item/kinetic_crusher/machete/gauntlets/gaming in M.contents) + M.drop_from_inventory(gaming, src) diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/datajack.dm b/code/modules/clothing/spacesuits/rig/modules/specific/datajack.dm index d863fa06768..08b2e0ae10b 100644 --- a/code/modules/clothing/spacesuits/rig/modules/specific/datajack.dm +++ b/code/modules/clothing/spacesuits/rig/modules/specific/datajack.dm @@ -31,17 +31,17 @@ /obj/item/rig_module/datajack/accepts_item(var/obj/item/input_device, var/mob/living/user) - if(istype(input_device,/obj/item/weapon/disk/tech_disk)) + if(istype(input_device,/obj/item/disk/tech_disk)) to_chat(user, "You slot the disk into [src].") - var/obj/item/weapon/disk/tech_disk/disk = input_device + var/obj/item/disk/tech_disk/disk = input_device if(disk.stored) if(load_data(disk.stored)) to_chat(user, span_blue("Download successful; disk erased.")) disk.stored = null else - to_chat(user, "The disk is corrupt. It is useless to you.") + to_chat(user, span_warning("The disk is corrupt. It is useless to you.")) else - to_chat(user, "The disk is blank. It is useless to you.") + to_chat(user, span_warning("The disk is blank. It is useless to you.")) return 1 // I fucking hate R&D code. This typecheck spam would be totally unnecessary in a sane setup. Sanity? This is BYOND. @@ -54,13 +54,13 @@ incoming_files = input_device:files if(!incoming_files || !incoming_files.known_tech || !incoming_files.known_tech.len) - to_chat(user, "Memory failure. There is nothing accessible stored on this terminal.") + to_chat(user, span_warning("Memory failure. There is nothing accessible stored on this terminal.")) else // Maybe consider a way to drop all your data into a target repo in the future. if(load_data(incoming_files.known_tech)) to_chat(user, span_blue("Download successful; local and remote repositories synchronized.")) else - to_chat(user, "Scan complete. There is nothing useful stored on this terminal.") + to_chat(user, span_warning("Scan complete. There is nothing useful stored on this terminal.")) return 1 return 0 diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/device.dm b/code/modules/clothing/spacesuits/rig/modules/specific/device.dm index 044bdc143cf..037ba31d4f0 100644 --- a/code/modules/clothing/spacesuits/rig/modules/specific/device.dm +++ b/code/modules/clothing/spacesuits/rig/modules/specific/device.dm @@ -36,7 +36,7 @@ icon_state = "flash" interface_name = "mounted flash" interface_desc = "Stuns your target by blinding them with a bright light." - device_type = /obj/item/device/flash/robot + device_type = /obj/item/flash/robot /obj/item/rig_module/device/plasmacutter name = "hardsuit plasma cutter" @@ -48,7 +48,7 @@ suit_overlay_inactive = "plasmacutter" use_power_cost = 0.5 - device_type = /obj/item/weapon/pickaxe/plasmacutter + device_type = /obj/item/pickaxe/plasmacutter /obj/item/rig_module/device/healthscanner name = "health scanner module" @@ -57,7 +57,7 @@ interface_name = "health scanner" interface_desc = "Shows an informative health readout when used on a subject." - device_type = /obj/item/device/healthanalyzer + device_type = /obj/item/healthanalyzer /obj/item/rig_module/device/drill name = "hardsuit drill mount" @@ -69,7 +69,7 @@ suit_overlay_inactive = "mounted-drill" use_power_cost = 0.1 - device_type = /obj/item/weapon/pickaxe/diamonddrill + device_type = /obj/item/pickaxe/diamonddrill /obj/item/rig_module/device/anomaly_scanner name = "hardsuit anomaly scanner" @@ -80,7 +80,7 @@ engage_string = "Begin Scan" usable = 1 selectable = 0 - device_type = /obj/item/device/ano_scanner + device_type = /obj/item/ano_scanner /obj/item/rig_module/device/orescanner name = "ore scanner module" @@ -91,7 +91,7 @@ engage_string = "Begin Scan" usable = 1 selectable = 0 - device_type = /obj/item/weapon/mining_scanner + device_type = /obj/item/mining_scanner /obj/item/rig_module/device/rcd name = "RCD mount" @@ -102,7 +102,7 @@ usable = 1 engage_string = "Configure RCD" - device_type = /obj/item/weapon/rcd/electric/mounted/rig + device_type = /obj/item/rcd/electric/mounted/rig /obj/item/rig_module/device/arch_drill name = "archaeology drill mount" @@ -113,7 +113,7 @@ usable = 1 engage_string = "Configure Drill Depth" - device_type = /obj/item/weapon/pickaxe/excavationdrill + device_type = /obj/item/pickaxe/excavationdrill /obj/item/rig_module/device/paperdispenser name = "hardsuit paper dispenser" @@ -124,7 +124,7 @@ engage_string = "Dispense" usable = 1 selectable = 0 - device_type = /obj/item/weapon/paper_bin + device_type = /obj/item/paper_bin /obj/item/rig_module/device/paperdispenser/engage(atom/target) @@ -143,7 +143,7 @@ interface_desc = "Signatures with style(tm)." engage_string = "Change color" usable = 1 - device_type = /obj/item/weapon/pen/multi + device_type = /obj/item/pen/multi /obj/item/rig_module/device/stamp name = "mounted internal affairs stamp" @@ -158,8 +158,8 @@ /obj/item/rig_module/device/stamp/New() ..() - iastamp = new /obj/item/weapon/stamp/internalaffairs(src) - deniedstamp = new /obj/item/weapon/stamp/denied(src) + iastamp = new /obj/item/stamp/internalaffairs(src) + deniedstamp = new /obj/item/stamp/denied(src) device = iastamp /obj/item/rig_module/device/stamp/engage(atom/target) @@ -169,8 +169,8 @@ if(!target) if(device == iastamp) device = deniedstamp - to_chat(holder.wearer, "Switched to denied stamp.") + to_chat(holder.wearer, span_notice("Switched to denied stamp.")) else if(device == deniedstamp) device = iastamp - to_chat(holder.wearer, "Switched to internal affairs stamp.") + to_chat(holder.wearer, span_notice("Switched to internal affairs stamp.")) return 1 diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/grenade_launcher.dm b/code/modules/clothing/spacesuits/rig/modules/specific/grenade_launcher.dm index 0ae4a461a30..d7ae54ce073 100644 --- a/code/modules/clothing/spacesuits/rig/modules/specific/grenade_launcher.dm +++ b/code/modules/clothing/spacesuits/rig/modules/specific/grenade_launcher.dm @@ -12,9 +12,9 @@ var/fire_distance = 10 charges = list( - list("flashbang", "flashbang", /obj/item/weapon/grenade/flashbang, 3), - list("smoke bomb", "smoke bomb", /obj/item/weapon/grenade/smokebomb, 3), - list("EMP grenade", "EMP grenade", /obj/item/weapon/grenade/empgrenade, 3), + list("flashbang", "flashbang", /obj/item/grenade/flashbang, 3), + list("smoke bomb", "smoke bomb", /obj/item/grenade/smokebomb, 3), + list("EMP grenade", "EMP grenade", /obj/item/grenade/empgrenade, 3), ) /obj/item/rig_module/grenade_launcher/accepts_item(var/obj/item/input_device, var/mob/living/user) @@ -33,10 +33,10 @@ return 0 if(accepted_item.charges >= 5) - to_chat(user, "Another grenade of that type will not fit into the module.") + to_chat(user, span_danger("Another grenade of that type will not fit into the module.")) return 0 - to_chat(user, span_blue("You slot \the [input_device] into the suit module.")) + to_chat(user, span_boldnotice("You slot \the [input_device] into the suit module.")) user.drop_from_inventory(input_device) qdel(input_device) accepted_item.charges++ @@ -53,7 +53,7 @@ var/mob/living/carbon/human/H = holder.wearer if(!charge_selected) - to_chat(H, "You have not selected a grenade type.") + to_chat(H, span_danger("You have not selected a grenade type.")) return 0 var/datum/rig_charge/charge = charges[charge_selected] @@ -62,12 +62,12 @@ return 0 if(charge.charges <= 0) - to_chat(H, "Insufficient grenades!") + to_chat(H, span_danger("Insufficient grenades!")) return 0 charge.charges-- - var/obj/item/weapon/grenade/new_grenade = new charge.product_type(get_turf(H)) - H.visible_message("[H] launches \a [new_grenade]!") + var/obj/item/grenade/new_grenade = new charge.product_type(get_turf(H)) + H.visible_message(span_danger("[H] launches \a [new_grenade]!")) new_grenade.activate(H) new_grenade.throw_at(target,fire_force,fire_distance) @@ -81,7 +81,7 @@ fire_force = 15 charges = list( - list("smoke bomb", "smoke bomb", /obj/item/weapon/grenade/smokebomb, 6) + list("smoke bomb", "smoke bomb", /obj/item/grenade/smokebomb, 6) ) /obj/item/rig_module/grenade_launcher/flash @@ -94,5 +94,5 @@ interface_desc = "Discharges loaded grenades against the wearer's location." charges = list( - list("flashbang", "flashbang", /obj/item/weapon/grenade/flashbang, 3) + list("flashbang", "flashbang", /obj/item/grenade/flashbang, 3) ) diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/inhand_fabricator.dm b/code/modules/clothing/spacesuits/rig/modules/specific/inhand_fabricator.dm index 3ea3c09ea82..f993d81a2b5 100644 --- a/code/modules/clothing/spacesuits/rig/modules/specific/inhand_fabricator.dm +++ b/code/modules/clothing/spacesuits/rig/modules/specific/inhand_fabricator.dm @@ -12,7 +12,7 @@ interface_name = "death blossom launcher" interface_desc = "An integrated microfactory that produces poisoned throwing stars from thin air and electricity." - var/fabrication_type = /obj/item/weapon/material/star/ninja + var/fabrication_type = /obj/item/material/star/ninja var/fire_force = 30 var/fire_distance = 10 @@ -26,15 +26,15 @@ if(target) var/obj/item/firing = new fabrication_type() firing.forceMove(get_turf(src)) - H.visible_message("[H] launches \a [firing]!") + H.visible_message(span_danger("[H] launches \a [firing]!")) firing.throw_at(target,fire_force,fire_distance) else if(H.l_hand && H.r_hand) - to_chat(H, "Your hands are full.") + to_chat(H, span_danger("Your hands are full.")) else var/obj/item/new_weapon = new fabrication_type() new_weapon.forceMove(H) - to_chat(H, span_blue("You quickly fabricate \a [new_weapon].")) + to_chat(H, span_boldnotice("You quickly fabricate \a [new_weapon].")) H.put_in_hands(new_weapon) return 1 @@ -50,7 +50,7 @@ engage_string = "Fabricate Net" - fabrication_type = /obj/item/weapon/energy_net + fabrication_type = /obj/item/energy_net use_power_cost = 70 /obj/item/rig_module/fabricator/energy_net/engage(atom/target) diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/jetpack.dm b/code/modules/clothing/spacesuits/rig/modules/specific/jetpack.dm index 6f9f7e38047..032ae53b1cf 100644 --- a/code/modules/clothing/spacesuits/rig/modules/specific/jetpack.dm +++ b/code/modules/clothing/spacesuits/rig/modules/specific/jetpack.dm @@ -18,7 +18,7 @@ interface_name = "maneuvering jets" interface_desc = "An inbuilt EVA maneuvering system that runs off the rig air supply." - var/obj/item/weapon/tank/jetpack/rig/jets + var/obj/item/tank/jetpack/rig/jets /obj/item/rig_module/maneuvering_jets/engage() if(!..()) diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/metalfoam_launcher.dm b/code/modules/clothing/spacesuits/rig/modules/specific/metalfoam_launcher.dm index 0843b9f779f..7d2a3c53e78 100644 --- a/code/modules/clothing/spacesuits/rig/modules/specific/metalfoam_launcher.dm +++ b/code/modules/clothing/spacesuits/rig/modules/specific/metalfoam_launcher.dm @@ -11,5 +11,5 @@ fire_force = 15 charges = list( - list("metalfoam", "metalfoam", /obj/item/weapon/grenade/chem_grenade/metalfoam, 5) + list("metalfoam", "metalfoam", /obj/item/grenade/chem_grenade/metalfoam, 5) ) diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/mounted_gun.dm b/code/modules/clothing/spacesuits/rig/modules/specific/mounted_gun.dm index 97db6b3281f..15acf1c9ecf 100644 --- a/code/modules/clothing/spacesuits/rig/modules/specific/mounted_gun.dm +++ b/code/modules/clothing/spacesuits/rig/modules/specific/mounted_gun.dm @@ -12,8 +12,8 @@ interface_name = "mounted laser cannon" interface_desc = "A shoulder-mounted cell-powered laser cannon." - var/gun_type = /obj/item/weapon/gun/energy/lasercannon/mounted - var/obj/item/weapon/gun/gun + var/gun_type = /obj/item/gun/energy/lasercannon/mounted + var/obj/item/gun/gun /obj/item/rig_module/mounted/New() ..() @@ -40,7 +40,7 @@ interface_name = "mounted energy gun" interface_desc = "A forearm-mounted suit-powered energy gun." - gun_type = /obj/item/weapon/gun/energy/gun/mounted + gun_type = /obj/item/gun/energy/gun/mounted /obj/item/rig_module/mounted/taser @@ -56,7 +56,7 @@ interface_name = "mounted taser" interface_desc = "A shoulder-mounted cell-powered taser." - gun_type = /obj/item/weapon/gun/energy/taser/mounted + gun_type = /obj/item/gun/energy/taser/mounted /obj/item/rig_module/mounted/energy_blade @@ -77,12 +77,12 @@ active_power_cost = 10 passive_power_cost = 0 - gun_type = /obj/item/weapon/gun/energy/crossbow/ninja + gun_type = /obj/item/gun/energy/crossbow/ninja /obj/item/rig_module/mounted/energy_blade/process() if(holder && holder.wearer) - if(!(locate(/obj/item/weapon/melee/energy/blade) in holder.wearer)) + if(!(locate(/obj/item/melee/energy/blade) in holder.wearer)) deactivate() return 0 @@ -95,11 +95,11 @@ var/mob/living/M = holder.wearer if(M.l_hand && M.r_hand) - to_chat(M, "Your hands are full.") + to_chat(M, span_danger("Your hands are full.")) deactivate() return - var/obj/item/weapon/melee/energy/blade/blade = new(M) + var/obj/item/melee/energy/blade/blade = new(M) blade.creator = M M.put_in_hands(blade) @@ -112,7 +112,7 @@ if(!M) return - for(var/obj/item/weapon/melee/energy/blade/blade in M.contents) + for(var/obj/item/melee/energy/blade/blade in M.contents) M.drop_from_inventory(blade) qdel(blade) @@ -135,12 +135,12 @@ active_power_cost = 0 passive_power_cost = 0 - gun_type = /obj/item/weapon/gun/energy/temperature/mounted + gun_type = /obj/item/gun/energy/temperature/mounted /obj/item/rig_module/mounted/mop/process() if(holder && holder.wearer) - if(!(locate(/obj/item/weapon/mop_deploy) in holder.wearer)) + if(!(locate(/obj/item/mop_deploy) in holder.wearer)) deactivate() return 0 @@ -153,11 +153,11 @@ var/mob/living/M = holder.wearer if(M.l_hand && M.r_hand) - to_chat(M, "Your hands are full.") + to_chat(M, span_danger("Your hands are full.")) deactivate() return - var/obj/item/weapon/mop_deploy/blade = new(M) + var/obj/item/mop_deploy/blade = new(M) blade.creator = M M.put_in_hands(blade) @@ -170,6 +170,6 @@ if(!M) return - for(var/obj/item/weapon/mop_deploy/blade in M.contents) + for(var/obj/item/mop_deploy/blade in M.contents) M.drop_from_inventory(blade) qdel(blade) diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/mounted_gun_vr.dm b/code/modules/clothing/spacesuits/rig/modules/specific/mounted_gun_vr.dm index 96f609a1dac..f979b9f91c7 100644 --- a/code/modules/clothing/spacesuits/rig/modules/specific/mounted_gun_vr.dm +++ b/code/modules/clothing/spacesuits/rig/modules/specific/mounted_gun_vr.dm @@ -9,4 +9,4 @@ interface_name = "mounted sizegun" interface_desc = "A wrist-mounted, hardsuit cell-powered, size gun. Features interface-based target size adjustment for hands-free size-altering shenanigans." - gun_type = /obj/item/weapon/gun/energy/sizegun/mounted + gun_type = /obj/item/gun/energy/sizegun/mounted diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/passive_protection.dm b/code/modules/clothing/spacesuits/rig/modules/specific/passive_protection.dm index 27eb5f9b794..ddb72b5ad2a 100644 --- a/code/modules/clothing/spacesuits/rig/modules/specific/passive_protection.dm +++ b/code/modules/clothing/spacesuits/rig/modules/specific/passive_protection.dm @@ -34,7 +34,7 @@ var/obj/item/clothing/head/helmet/space/rig/helmet = holder.helmet var/obj/item/clothing/gloves/gauntlets/rig/gloves = holder.gloves - to_chat(H, span_blue("You activate your suit's powered radiation shielding.")) + to_chat(H, span_boldnotice("You activate your suit's powered radiation shielding.")) stored_rad_armor = holder.armor["rad"] if(boots) boots.armor["rad"] = 100 @@ -57,7 +57,7 @@ var/obj/item/clothing/head/helmet/space/rig/helmet = holder.helmet var/obj/item/clothing/gloves/gauntlets/rig/gloves = holder.gloves - to_chat(H, "You deactivate your suit's powered radiation shielding.") + to_chat(H, span_danger("You deactivate your suit's powered radiation shielding.")) if(boots) boots.armor["rad"] = stored_rad_armor @@ -117,7 +117,7 @@ stored_max_pressure = holder.max_pressure_protection stored_max_temp = holder.max_heat_protection_temperature - to_chat(H, span_blue("You activate your suit's powered atmospheric shielding.")) + to_chat(H, span_boldnotice("You activate your suit's powered atmospheric shielding.")) if(boots) boots.max_pressure_protection = INFINITY @@ -145,7 +145,7 @@ var/obj/item/clothing/head/helmet/space/rig/helmet = holder.helmet var/obj/item/clothing/gloves/gauntlets/rig/gloves = holder.gloves - to_chat(H, "You deactivate your suit's powered atmospheric shielding.") + to_chat(H, span_boldnotice("You deactivate your suit's powered atmospheric shielding.")) if(boots) boots.max_pressure_protection = stored_max_pressure diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/pat_module_vr.dm b/code/modules/clothing/spacesuits/rig/modules/specific/pat_module_vr.dm index 86880b897ed..1a329054a22 100644 --- a/code/modules/clothing/spacesuits/rig/modules/specific/pat_module_vr.dm +++ b/code/modules/clothing/spacesuits/rig/modules/specific/pat_module_vr.dm @@ -24,7 +24,7 @@ /* var/message = "[H] has activated \a [src] in [get_area(T)] at position [T.x],[T.y],[T.z], giving them full access for medical rescue." - var/obj/item/device/radio/headset/a = new /obj/item/device/radio/headset/heads/captain(null) + var/obj/item/radio/headset/a = new /obj/item/radio/headset/heads/captain(null) a.icon = icon a.icon_state = icon_state a.autosay(message, "Security Subsystem", "Command") @@ -37,7 +37,7 @@ return 0 var/mob/living/carbon/human/H = holder.wearer - to_chat(H,"You activate the P.A.T. module.") + to_chat(H,span_notice("You activate the P.A.T. module.")) H.AddComponent(/datum/component/recursive_move) RegisterSignal(H, COMSIG_OBSERVER_MOVED, /obj/item/rig_module/pat_module/proc/boop) @@ -46,7 +46,7 @@ return 0 var/mob/living/carbon/human/H = holder.wearer - to_chat(H,"Your disable the P.A.T. module.") + to_chat(H,span_notice("Your disable the P.A.T. module.")) UnregisterSignal(H, COMSIG_OBSERVER_MOVED) /obj/item/rig_module/pat_module/proc/boop(var/mob/living/carbon/human/user,var/turf/To,var/turf/Tn) @@ -75,10 +75,10 @@ //Okay, we either found an airlock or we're about to give up. if(!A || !A.density || !A.can_open() || !..()) - to_chat(H,"Unable to comply! Energy too low, or not facing a working airlock!") + to_chat(H,span_warning("Unable to comply! Energy too low, or not facing a working airlock!")) return 0 - H.visible_message("[H] begins overriding the airlock!","You begin overriding the airlock!") + H.visible_message(span_warning("[H] begins overriding the airlock!"),span_notice("You begin overriding the airlock!")) if(do_after(H,6 SECONDS,A) && A.density) A.open() diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/powersink.dm b/code/modules/clothing/spacesuits/rig/modules/specific/powersink.dm index 562f874af12..3b166f5915f 100644 --- a/code/modules/clothing/spacesuits/rig/modules/specific/powersink.dm +++ b/code/modules/clothing/spacesuits/rig/modules/specific/powersink.dm @@ -20,7 +20,7 @@ if(interfaced_with) if(holder && holder.wearer) - to_chat(holder.wearer, "Your power sink retracts as the module deactivates.") + to_chat(holder.wearer, span_warning("Your power sink retracts as the module deactivates.")) drain_complete() interfaced_with = null total_power_drained = 0 @@ -52,7 +52,7 @@ if(target.drain_power(1) <= 0) return 0 - to_chat(H, "You begin draining power from [target]!") + to_chat(H, span_danger("You begin draining power from [target]!")) interfaced_with = target drain_loc = interfaced_with.loc @@ -86,17 +86,17 @@ H.break_cloak() if(!holder.cell) - to_chat(H, "Your power sink flashes an error; there is no cell in your rig.") + to_chat(H, span_danger("Your power sink flashes an error; there is no cell in your rig.")) drain_complete(H) return if(!interfaced_with || !interfaced_with.Adjacent(H) || !(interfaced_with.loc == drain_loc)) - to_chat(H, "Your power sink retracts into its casing.") + to_chat(H, span_warning("Your power sink retracts into its casing.")) drain_complete(H) return if(holder.cell.fully_charged()) - to_chat(H, "Your power sink flashes an amber light; your rig cell is full.") + to_chat(H, span_warning("Your power sink flashes an amber light; your rig cell is full.")) drain_complete(H) return @@ -105,7 +105,7 @@ var/to_drain = min(12.5*holder.cell.maxcharge, ((holder.cell.maxcharge - holder.cell.charge) / CELLRATE)) var/target_drained = interfaced_with.drain_power(0,0,to_drain) if(target_drained <= 0) - to_chat(H, "Your power sink flashes a red light; there is no power left in [interfaced_with].") + to_chat(H, span_danger("Your power sink flashes a red light; there is no power left in [interfaced_with].")) drain_complete(H) return @@ -118,10 +118,10 @@ if(!interfaced_with) if(M) - to_chat(M, span_blue("Total power drained: [round(total_power_drained*CELLRATE)] cell units.")) + to_chat(M, span_notice(span_bold("Total power drained:") + " [round(total_power_drained*CELLRATE)] cell units.")) else if(M) - to_chat(M, span_blue("Total power drained from [interfaced_with]: [round(total_power_drained*CELLRATE)] cell units.")) + to_chat(M, span_notice(span_bold("Total power drained from [interfaced_with]:") + " [round(total_power_drained*CELLRATE)] cell units.")) interfaced_with.drain_power(0,1,0) // Damage the victim. drain_loc = null diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/rescue_pharm_vr.dm b/code/modules/clothing/spacesuits/rig/modules/specific/rescue_pharm_vr.dm index d3c840a12fd..0b54dd879ba 100644 --- a/code/modules/clothing/spacesuits/rig/modules/specific/rescue_pharm_vr.dm +++ b/code/modules/clothing/spacesuits/rig/modules/specific/rescue_pharm_vr.dm @@ -49,7 +49,7 @@ var/mob/living/carbon/human/H = holder.wearer if(!charge_selected) - to_chat(H,"You have not selected a chemical type.") + to_chat(H,span_danger("You have not selected a chemical type.")) return 0 var/datum/rig_charge/charge = charges[charge_selected] @@ -58,7 +58,7 @@ return 0 if(charge.charges <= 0) - to_chat(H,"Insufficient chems!") + to_chat(H,span_danger("Insufficient chems!")) return 0 else if(charge.charges < chems_to_use) @@ -70,8 +70,8 @@ else return 0 - to_chat(H,"You inject [target_mob == H ? "yourself" : target_mob] with [chems_to_use] unit\s of [charge.short_name].") - to_chat(target_mob,"You feel a rushing in your veins as you're injected by \the [src].") + to_chat(H,span_notice("You inject [target_mob == H ? "yourself" : target_mob] with [chems_to_use] unit\s of [charge.short_name].")) + to_chat(target_mob,span_notice("You feel a rushing in your veins as you're injected by \the [src].")) target_mob.reagents.add_reagent(charge.display_name, chems_to_use) charge.charges -= chems_to_use diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/self_destruct.dm b/code/modules/clothing/spacesuits/rig/modules/specific/self_destruct.dm index 861d6528d90..e2295f31029 100644 --- a/code/modules/clothing/spacesuits/rig/modules/specific/self_destruct.dm +++ b/code/modules/clothing/spacesuits/rig/modules/specific/self_destruct.dm @@ -41,7 +41,7 @@ engage(1) /obj/item/rig_module/self_destruct/engage(var/skip_check) - if(!skip_check && usr && tgui_alert(usr, "Are you sure you want to push that button?", "Self-destruct", list("No", "Yes")) == "No") + if(!skip_check && usr && tgui_alert(usr, "Are you sure you want to push that button?", "Self-destruct", list("No", "Yes")) != "Yes") return if(holder && holder.wearer) smoke.set_up(10, 0, holder.loc) diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/sprinter.dm b/code/modules/clothing/spacesuits/rig/modules/specific/sprinter.dm index 2df47f575f3..f18d67d8e38 100644 --- a/code/modules/clothing/spacesuits/rig/modules/specific/sprinter.dm +++ b/code/modules/clothing/spacesuits/rig/modules/specific/sprinter.dm @@ -27,7 +27,7 @@ var/mob/living/carbon/human/H = holder.wearer - to_chat(H, span_blue("You activate the suit's sprint mode.")) + to_chat(H, span_boldnotice("You activate the suit's sprint mode.")) holder.slowdown = initial(holder.slowdown) - sprint_speed @@ -38,6 +38,6 @@ var/mob/living/carbon/human/H = holder.wearer - to_chat(H, "Your hardsuit returns to normal speed.") + to_chat(H, span_danger("Your hardsuit returns to normal speed.")) holder.slowdown = initial(holder.slowdown) diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/teleporter.dm b/code/modules/clothing/spacesuits/rig/modules/specific/teleporter.dm index 1f533f98fed..373f525b3fa 100644 --- a/code/modules/clothing/spacesuits/rig/modules/specific/teleporter.dm +++ b/code/modules/clothing/spacesuits/rig/modules/specific/teleporter.dm @@ -36,7 +36,7 @@ var/mob/living/carbon/human/H = holder.wearer if(!istype(H.loc, /turf)) - to_chat(H, "You cannot teleport out of your current location.") + to_chat(H, span_warning("You cannot teleport out of your current location.")) return 0 var/turf/T @@ -46,23 +46,23 @@ T = get_teleport_loc(get_turf(H), H, 6, 1, 1, 1) if(!T) - to_chat(H, "No valid teleport target found.") + to_chat(H, span_warning("No valid teleport target found.")) return 0 if(T.density) - to_chat(H, "You cannot teleport into solid walls.") + to_chat(H, span_warning("You cannot teleport into solid walls.")) return 0 if(T.z in using_map.admin_levels) - to_chat(H, "You cannot use your teleporter on this Z-level.") + to_chat(H, span_warning("You cannot use your teleporter on this Z-level.")) return 0 if(T.contains_dense_objects()) - to_chat(H, "You cannot teleport to a location with solid objects.") + to_chat(H, span_warning("You cannot teleport to a location with solid objects.")) return 0 if(T.z != H.z || get_dist(T, get_turf(H)) > world.view) - to_chat(H, "You cannot teleport to such a distant object.") + to_chat(H, span_warning("You cannot teleport to such a distant object.")) return 0 if(!..()) return 0 @@ -71,10 +71,10 @@ H.forceMove(T) phase_in(H,get_turf(H)) - for(var/obj/item/weapon/grab/G in H.contents) + for(var/obj/item/grab/G in H.contents) if(G.affecting) phase_out(G.affecting,get_turf(G.affecting)) G.affecting.forceMove(locate(T.x+rand(-1,1),T.y+rand(-1,1),T.z)) phase_in(G.affecting,get_turf(G.affecting)) - return 1 \ No newline at end of file + return 1 diff --git a/code/modules/clothing/spacesuits/rig/modules/utility.dm b/code/modules/clothing/spacesuits/rig/modules/utility.dm index a92dfe1039e..6e66d2504fd 100644 --- a/code/modules/clothing/spacesuits/rig/modules/utility.dm +++ b/code/modules/clothing/spacesuits/rig/modules/utility.dm @@ -28,7 +28,7 @@ disruptive = 0 var/device_type - var/obj/item/device + var/obj/item /obj/item/rig_module/device/plasmacutter name = "hardsuit plasma cutter" @@ -40,7 +40,7 @@ suit_overlay_inactive = "plasmacutter" use_power_cost = 0.5 - device_type = /obj/item/weapon/pickaxe/plasmacutter + device_type = /obj/item/pickaxe/plasmacutter /obj/item/rig_module/device/healthscanner name = "health scanner module" @@ -49,7 +49,7 @@ interface_name = "health scanner" interface_desc = "Shows an informative health readout when used on a subject." - device_type = /obj/item/device/healthanalyzer + device_type = /obj/item/healthanalyzer /obj/item/rig_module/device/drill name = "hardsuit drill mount" @@ -61,7 +61,7 @@ suit_overlay_inactive = "mounted-drill" use_power_cost = 0.1 - device_type = /obj/item/weapon/pickaxe/diamonddrill + device_type = /obj/item/pickaxe/diamonddrill /obj/item/rig_module/device/anomaly_scanner name = "hardsuit anomaly scanner" @@ -72,7 +72,7 @@ engage_string = "Begin Scan" usable = 1 selectable = 0 - device_type = /obj/item/device/ano_scanner + device_type = /obj/item/ano_scanner /obj/item/rig_module/device/orescanner name = "ore scanner module" @@ -83,7 +83,7 @@ engage_string = "Begin Scan" usable = 1 selectable = 0 - device_type = /obj/item/weapon/mining_scanner + device_type = /obj/item/mining_scanner /obj/item/rig_module/device/rcd name = "RCD mount" @@ -94,7 +94,7 @@ usable = 1 engage_string = "Configure RCD" - device_type = /obj/item/weapon/rcd/electric/mounted/rig + device_type = /obj/item/rcd/electric/mounted/rig /obj/item/rig_module/device/arch_drill name = "archaeology drill mount" @@ -105,7 +105,7 @@ usable = 1 engage_string = "Configure Drill Depth" - device_type = /obj/item/weapon/pickaxe/excavationdrill + device_type = /obj/item/pickaxe/excavationdrill /obj/item/rig_module/device/New() ..() @@ -203,7 +203,7 @@ if(total_transferred) to_chat(user, span_blue("You transfer [total_transferred] units into the suit reservoir.")) else - to_chat(user, "None of the reagents seem suitable.") + to_chat(user, span_danger("None of the reagents seem suitable.")) return 1 /obj/item/rig_module/chem_dispenser/engage(atom/target) @@ -214,7 +214,7 @@ var/mob/living/carbon/human/H = holder.wearer if(!charge_selected) - to_chat(H, "You have not selected a chemical type.") + to_chat(H, span_danger("You have not selected a chemical type.")) return 0 var/datum/rig_charge/charge = charges[charge_selected] @@ -224,7 +224,7 @@ var/chems_to_use = 10 if(charge.charges <= 0) - to_chat(H, "Insufficient chems!") + to_chat(H, span_danger("Insufficient chems!")) return 0 else if(charge.charges < chems_to_use) chems_to_use = charge.charges @@ -239,8 +239,8 @@ target_mob = H if(target_mob != H) - to_chat(H, "You inject [target_mob] with [chems_to_use] unit\s of [charge.display_name].") - to_chat(target_mob, "You feel a rushing in your veins as [chems_to_use] unit\s of [charge.display_name] [chems_to_use == 1 ? "is" : "are"] injected.") + to_chat(H, span_danger("You inject [target_mob] with [chems_to_use] unit\s of [charge.display_name].")) + to_chat(target_mob, span_danger("You feel a rushing in your veins as [chems_to_use] unit\s of [charge.display_name] [chems_to_use == 1 ? "is" : "are"] injected.")) target_mob.reagents.add_reagent(charge.display_name, chems_to_use) charge.charges -= chems_to_use @@ -363,7 +363,7 @@ interface_name = "maneuvering jets" interface_desc = "An inbuilt EVA maneuvering system that runs off the rig air supply." - var/obj/item/weapon/tank/jetpack/rig/jets + var/obj/item/tank/jetpack/rig/jets /obj/item/rig_module/maneuvering_jets/engage() if(!..()) @@ -430,12 +430,12 @@ active_power_cost = 0 passive_power_cost = 0 - gun_type = /obj/item/weapon/gun/energy/temperature/mounted + gun_type = /obj/item/gun/energy/temperature/mounted /obj/item/rig_module/mounted/mop/process() if(holder && holder.wearer) - if(!(locate(/obj/item/weapon/mop_deploy) in holder.wearer)) + if(!(locate(/obj/item/mop_deploy) in holder.wearer)) deactivate() return 0 @@ -448,11 +448,11 @@ var/mob/living/M = holder.wearer if(M.l_hand && M.r_hand) - to_chat(M, "Your hands are full.") + to_chat(M, span_danger("Your hands are full.")) deactivate() return - var/obj/item/weapon/mop_deploy/blade = new(M) + var/obj/item/mop_deploy/blade = new(M) blade.creator = M M.put_in_hands(blade) @@ -465,7 +465,7 @@ if(!M) return - for(var/obj/item/weapon/mop_deploy/blade in M.contents) + for(var/obj/item/mop_deploy/blade in M.contents) M.drop_from_inventory(blade) qdel(blade) @@ -486,7 +486,7 @@ var/fire_distance = 10 charges = list( - list("cleaner grenade", "cleaner grenade", /obj/item/weapon/grenade/chem_grenade/cleaner, 9), + list("cleaner grenade", "cleaner grenade", /obj/item/grenade/chem_grenade/cleaner, 9), ) /obj/item/rig_module/cleaner_launcher/accepts_item(var/obj/item/input_device, var/mob/living/user) @@ -505,10 +505,10 @@ return 0 if(accepted_item.charges >= 5) - to_chat(user, "Another grenade of that type will not fit into the module.") + to_chat(user, span_danger("Another grenade of that type will not fit into the module.")) return 0 - to_chat(user, span_blue("You slot \the [input_device] into the suit module.")) + to_chat(user, span_boldnotice("You slot \the [input_device] into the suit module.")) user.drop_from_inventory(input_device) qdel(input_device) accepted_item.charges++ @@ -525,7 +525,7 @@ var/mob/living/carbon/human/H = holder.wearer if(!charge_selected) - to_chat(H, "You have not selected a grenade type.") + to_chat(H, span_danger("You have not selected a grenade type.")) return 0 var/datum/rig_charge/charge = charges[charge_selected] @@ -534,12 +534,12 @@ return 0 if(charge.charges <= 0) - to_chat(H, "Insufficient grenades!") + to_chat(H, span_danger("Insufficient grenades!")) return 0 charge.charges-- - var/obj/item/weapon/grenade/new_grenade = new charge.product_type(get_turf(H)) - H.visible_message("[H] launches \a [new_grenade]!") + var/obj/item/grenade/new_grenade = new charge.product_type(get_turf(H)) + H.visible_message(span_danger("[H] launches \a [new_grenade]!")) new_grenade.activate(H) new_grenade.throw_at(target,fire_force,fire_distance) @@ -552,7 +552,7 @@ engage_string = "Dispense" usable = 1 selectable = 0 - device_type = /obj/item/weapon/paper_bin + device_type = /obj/item/paper_bin /obj/item/rig_module/device/paperdispenser/engage(atom/target) @@ -571,7 +571,7 @@ interface_desc = "Signatures with style(tm)." engage_string = "Change color" usable = 1 - device_type = /obj/item/weapon/pen/multi + device_type = /obj/item/pen/multi /obj/item/rig_module/device/stamp name = "mounted internal affairs stamp" @@ -586,8 +586,8 @@ /obj/item/rig_module/device/stamp/New() ..() - iastamp = new /obj/item/weapon/stamp/internalaffairs(src) - deniedstamp = new /obj/item/weapon/stamp/denied(src) + iastamp = new /obj/item/stamp/internalaffairs(src) + deniedstamp = new /obj/item/stamp/denied(src) device = iastamp /obj/item/rig_module/device/stamp/engage(atom/target) @@ -597,10 +597,10 @@ if(!target) if(device == iastamp) device = deniedstamp - to_chat(holder.wearer, "Switched to denied stamp.") + to_chat(holder.wearer, span_notice("Switched to denied stamp.")) else if(device == deniedstamp) device = iastamp - to_chat(holder.wearer, "Switched to internal affairs stamp.") + to_chat(holder.wearer, span_notice("Switched to internal affairs stamp.")) return 1 /obj/item/rig_module/sprinter @@ -632,7 +632,7 @@ var/mob/living/carbon/human/H = holder.wearer - to_chat(H, span_blue("You activate the suit's sprint mode.")) + to_chat(H, span_boldnotice("You activate the suit's sprint mode.")) holder.slowdown = initial(holder.slowdown) - sprint_speed @@ -643,6 +643,6 @@ var/mob/living/carbon/human/H = holder.wearer - to_chat(H, "Your hardsuit returns to normal speed.") + to_chat(H, span_danger("Your hardsuit returns to normal speed.")) holder.slowdown = initial(holder.slowdown) diff --git a/code/modules/clothing/spacesuits/rig/rig.dm b/code/modules/clothing/spacesuits/rig/rig.dm index c958d4016dd..6dba8b8f05a 100644 --- a/code/modules/clothing/spacesuits/rig/rig.dm +++ b/code/modules/clothing/spacesuits/rig/rig.dm @@ -6,7 +6,7 @@ * Defines the behavior of hardsuits/rigs/power armour. */ -/obj/item/weapon/rig +/obj/item/rig name = "hardsuit control module" icon = 'icons/obj/rig_modules.dmi' desc = "A back-mounted hardsuit deployment and control mechanism." @@ -15,7 +15,7 @@ req_one_access = list() req_access = list() w_class = ITEMSIZE_HUGE - action_button_name = "Toggle Heatsink" + actions_types = list(/datum/action/item_action/toggle_heatsink) // These values are passed on to all component pieces. armor = list(melee = 40, bullet = 5, laser = 20,energy = 5, bomb = 35, bio = 100, rad = 20) @@ -43,16 +43,16 @@ var/helm_type = /obj/item/clothing/head/helmet/space/rig var/boot_type = /obj/item/clothing/shoes/magboots/rig var/glove_type = /obj/item/clothing/gloves/gauntlets/rig - var/cell_type = /obj/item/weapon/cell/high - var/air_type = /obj/item/weapon/tank/oxygen + var/cell_type = /obj/item/cell/high + var/air_type = /obj/item/tank/oxygen //Component/device holders. - var/obj/item/weapon/tank/air_supply // Air tank, if any. + var/obj/item/tank/air_supply // Air tank, if any. var/obj/item/clothing/shoes/boots = null // Deployable boots, if any. var/obj/item/clothing/suit/space/rig/chest // Deployable chestpiece, if any. var/obj/item/clothing/head/helmet/space/rig/helmet = null // Deployable helmet, if any. var/obj/item/clothing/gloves/gauntlets/rig/gloves = null // Deployable gauntlets, if any. - var/obj/item/weapon/cell/cell // Power supply, if any. + var/obj/item/cell/cell // Power supply, if any. var/obj/item/rig_module/selected_module = null // Primary system (used with middle-click) var/obj/item/rig_module/vision/visor // Kinda shitty to have a var for a module, but saves time. var/obj/item/rig_module/voice/speech // As above. @@ -98,9 +98,14 @@ var/datum/mini_hud/rig/minihud // Action button - action_button_name = "Hardsuit Interface" + actions_types = list(/datum/action/item_action/hardsuit_interface) -/obj/item/weapon/rig/New() + // Protean + var/protean = 0 + var/obj/item/storage/backpack/rig_storage + permeability_coefficient = 0 //Protect the squishies, after all this shit should be waterproof. + +/obj/item/rig/New() ..() suit_state = icon_state @@ -127,18 +132,18 @@ air_supply = new air_type(src) if(glove_type) gloves = new glove_type(src) - verbs |= /obj/item/weapon/rig/proc/toggle_gauntlets + verbs |= /obj/item/rig/proc/toggle_gauntlets if(helm_type) helmet = new helm_type(src) - verbs |= /obj/item/weapon/rig/proc/toggle_helmet + verbs |= /obj/item/rig/proc/toggle_helmet if(boot_type) boots = new boot_type(src) - verbs |= /obj/item/weapon/rig/proc/toggle_boots + verbs |= /obj/item/rig/proc/toggle_boots if(chest_type) chest = new chest_type(src) if(allowed) chest.allowed = allowed - verbs |= /obj/item/weapon/rig/proc/toggle_chest + verbs |= /obj/item/rig/proc/toggle_chest for(var/obj/item/piece in list(gloves,helmet,boots,chest)) if(!istype(piece)) @@ -158,7 +163,7 @@ update_icon(1) -/obj/item/weapon/rig/Destroy() +/obj/item/rig/Destroy() for(var/obj/item/piece in list(gloves,boots,helmet,chest,cell,air_supply)) var/mob/living/M = piece.loc if(istype(M)) @@ -177,7 +182,7 @@ spark_system = null return ..() -/obj/item/weapon/rig/examine(mob/user) +/obj/item/rig/examine(mob/user) . = ..() if(wearer) for(var/obj/item/piece in list(helmet,gloves,chest,boots)) @@ -188,14 +193,14 @@ if(src.loc == usr) . += "The access panel is [locked? "locked" : "unlocked"]." . += "The maintenance panel is [open ? "open" : "closed"]." - . += "Hardsuit systems are [offline ? "offline" : "online"]." + . += "Hardsuit systems are [offline ? span_warning("offline") : span_notice("online")]." . += "The cooling system is [cooling_on ? "active" : "inactive"]." if(open) . += "It's equipped with [english_list(installed_modules)]." // We only care about processing when we're on a mob -/obj/item/weapon/rig/Moved(old_loc, direction, forced) +/obj/item/rig/Moved(old_loc, direction, forced) if(ismob(loc)) START_PROCESSING(SSobj, src) else @@ -211,7 +216,7 @@ M.unEquip(piece) piece.forceMove(src) -/obj/item/weapon/rig/get_worn_icon_file(var/body_type,var/slot_name,var/default_icon,var/inhands) +/obj/item/rig/get_worn_icon_file(var/body_type,var/slot_name,var/default_icon,var/inhands) if(!inhands && (slot_name == slot_back_str || slot_name == slot_belt_str)) if(icon_override) return icon_override @@ -220,7 +225,7 @@ return ..() -/obj/item/weapon/rig/proc/suit_is_deployed() +/obj/item/rig/proc/suit_is_deployed() if(!istype(wearer) || src.loc != wearer || (wearer.back != src && wearer.belt != src)) return 0 if(helm_type && !(helmet && wearer.head == helmet)) @@ -236,7 +241,7 @@ // Updates pressure protection // Seal = 1 sets protection // Seal = 0 unsets protection -/obj/item/weapon/rig/proc/update_airtight(var/obj/item/piece, var/seal = 0) +/obj/item/rig/proc/update_airtight(var/obj/item/piece, var/seal = 0) if(seal == 1) piece.min_pressure_protection = rigsuit_min_pressure piece.max_pressure_protection = rigsuit_max_pressure @@ -248,7 +253,7 @@ return -/obj/item/weapon/rig/proc/reset() +/obj/item/rig/proc/reset() offline = 2 canremove = TRUE for(var/obj/item/piece in list(helmet,boots,gloves,chest)) @@ -258,7 +263,7 @@ update_airtight(piece, 0) // Unseal update_icon(1) -/obj/item/weapon/rig/proc/cut_suit() +/obj/item/rig/proc/cut_suit() offline = 2 canremove = TRUE toggle_piece("helmet", loc, ONLY_RETRACT, TRUE) @@ -267,7 +272,7 @@ toggle_piece("chest", loc, ONLY_RETRACT, TRUE) update_icon(1) -/obj/item/weapon/rig/proc/toggle_seals(var/mob/living/carbon/human/M,var/instant) +/obj/item/rig/proc/toggle_seals(var/mob/living/carbon/human/M,var/instant) if(sealing) return @@ -294,17 +299,17 @@ sealing = 1 if(!seal_target && !suit_is_deployed()) - M.visible_message("[M]'s suit flashes an error light.","Your suit flashes an error light. It can't function properly without being fully deployed.") + M.visible_message(span_danger("[M]'s suit flashes an error light."),span_danger("Your suit flashes an error light. It can't function properly without being fully deployed.")) playsound(src, 'sound/machines/rig/rigerror.ogg', 20, FALSE) failed_to_seal = 1 if(!failed_to_seal) if(!instant) - M.visible_message("[M]'s suit emits a quiet hum as it begins to adjust its seals.","With a quiet hum, the suit begins running checks and adjusting components.") + M.visible_message(span_notice("[M]'s suit emits a quiet hum as it begins to adjust its seals."),span_notice("With a quiet hum, the suit begins running checks and adjusting components.")) if(seal_delay && !do_after(M,seal_delay)) if(M) - to_chat(M, "You must remain still while the suit is adjusting the components.") + to_chat(M, span_warning("You must remain still while the suit is adjusting the components.")) playsound(src, 'sound/machines/rig/rigerror.ogg', 20, FALSE) failed_to_seal = 1 if(!M) @@ -322,7 +327,7 @@ if(!istype(M) || !istype(piece) || !istype(compare_piece) || !msg_type) if(M) - to_chat(M, "You must remain still while the suit is adjusting the components.") + to_chat(M, span_warning("You must remain still while the suit is adjusting the components.")) failed_to_seal = 1 break @@ -334,16 +339,16 @@ piece.icon_state = "[suit_state][!seal_target ? "_sealed" : ""]" switch(msg_type) if("boots") - to_chat(M, "\The [piece] [!seal_target ? "seal around your feet" : "relax their grip on your legs"].") + to_chat(M, span_notice("\The [piece] [!seal_target ? "seal around your feet" : "relax their grip on your legs"].")) M.update_inv_shoes() if("gloves") - to_chat(M, "\The [piece] [!seal_target ? "tighten around your fingers and wrists" : "become loose around your fingers"].") + to_chat(M, span_notice("\The [piece] [!seal_target ? "tighten around your fingers and wrists" : "become loose around your fingers"].")) M.update_inv_gloves() if("chest") - to_chat(M, "\The [piece] [!seal_target ? "cinches tight again your chest" : "releases your chest"].") + to_chat(M, span_notice("\The [piece] [!seal_target ? "cinches tight again your chest" : "releases your chest"].")) M.update_inv_wear_suit() if("helmet") - to_chat(M, "\The [piece] hisses [!seal_target ? "closed" : "open"].") + to_chat(M, span_notice("\The [piece] hisses [!seal_target ? "closed" : "open"].")) M.update_inv_head() if(helmet?.light_system == STATIC_LIGHT) helmet.update_light(wearer) @@ -384,7 +389,7 @@ QDEL_NULL(minihud) else minihud = new (M.hud_used, src) - to_chat(M, "Your entire suit [canremove ? "loosens as the components relax" : "tightens around you as the components lock into place"].") + to_chat(M, span_boldnotice("Your entire suit [canremove ? "loosens as the components relax" : "tightens around you as the components lock into place"].")) playsound(src, 'sound/machines/rig/rigstarted.ogg', 10, FALSE) M.client?.screen -= booting_L qdel(booting_L) @@ -400,44 +405,41 @@ update_component_sealed() update_icon(1) -/obj/item/weapon/rig/proc/update_component_sealed() +/obj/item/rig/proc/update_component_sealed() for(var/obj/item/piece in list(helmet,boots,gloves,chest)) if(canremove) update_airtight(piece, 0) // Unseal else update_airtight(piece, 1) // Seal -/obj/item/weapon/rig/ui_action_click() - toggle_cooling(usr) - -/obj/item/weapon/rig/proc/toggle_cooling(var/mob/user) +/obj/item/rig/proc/toggle_cooling(var/mob/user) if(cooling_on) turn_cooling_off(user) else turn_cooling_on(user) -/obj/item/weapon/rig/proc/turn_cooling_on(var/mob/user) +/obj/item/rig/proc/turn_cooling_on(var/mob/user) if(!cell) return if(cell.charge <= 0) - to_chat(user, "\The [src] has no power!") + to_chat(user, span_notice("\The [src] has no power!")) return if(!suit_is_deployed()) - to_chat(user, "The hardsuit needs to be deployed first!") + to_chat(user, span_notice("The hardsuit needs to be deployed first!")) return cooling_on = 1 - to_chat(usr, "You switch \the [src]'s cooling system on.") + to_chat(usr, span_notice("You switch \the [src]'s cooling system on.")) -/obj/item/weapon/rig/proc/turn_cooling_off(var/mob/user, var/failed) +/obj/item/rig/proc/turn_cooling_off(var/mob/user, var/failed) if(failed) visible_message("\The [src]'s cooling system clicks and whines as it powers down.") else - to_chat(usr, "You switch \the [src]'s cooling system off.") + to_chat(usr, span_notice("You switch \the [src]'s cooling system off.")) cooling_on = 0 -/obj/item/weapon/rig/proc/get_environment_temperature() +/obj/item/rig/proc/get_environment_temperature() if (ishuman(loc)) var/mob/living/carbon/human/H = loc if(istype(H.loc, /obj/mecha)) @@ -457,7 +459,7 @@ return environment.temperature -/obj/item/weapon/rig/proc/attached_to_user(mob/M) +/obj/item/rig/proc/attached_to_user(mob/M) if (!ishuman(M)) return 0 @@ -468,7 +470,7 @@ return 1 -/obj/item/weapon/rig/proc/coolingProcess() +/obj/item/rig/proc/coolingProcess() if (!cooling_on || !cell) return @@ -507,7 +509,7 @@ if(cell.charge <= 0) turn_cooling_off(H, 1) -/obj/item/weapon/rig/process() +/obj/item/rig/process() // Not on a mob...? if(!ismob(loc)) if(wearer?.wearing_rig == src) @@ -526,14 +528,14 @@ if(istype(wearer)) if(!canremove) if (offline_slowdown < 1.5) - to_chat(wearer, "Your suit beeps stridently, and suddenly goes dead.") + to_chat(wearer, span_danger("Your suit beeps stridently, and suddenly goes dead.")) else - to_chat(wearer, "Your suit beeps stridently, and suddenly you're wearing a leaden mass of metal and plastic composites instead of a powered suit.") + to_chat(wearer, span_danger("Your suit beeps stridently, and suddenly you're wearing a leaden mass of metal and plastic composites instead of a powered suit.")) playsound(src, 'sound/machines/rig/rigdown.ogg', 60, FALSE) if(offline_vision_restriction == 1) - to_chat(wearer, "The suit optics flicker and die, leaving you with restricted vision.") + to_chat(wearer, span_danger("The suit optics flicker and die, leaving you with restricted vision.")) else if(offline_vision_restriction == 2) - to_chat(wearer, "The suit optics drop out completely, drowning you in darkness.") + to_chat(wearer, span_danger("The suit optics drop out completely, drowning you in darkness.")) if(!offline) offline = 1 else @@ -541,7 +543,8 @@ offline = 0 if(istype(wearer) && !wearer.wearing_rig) wearer.wearing_rig = src - slowdown = initial(slowdown) + if(!istype(src,/obj/item/rig/protean)) // Stupid snowflake protean special check for rig assimilation code + slowdown = initial(slowdown) if(offline) if(offline == 1) @@ -563,7 +566,7 @@ for(var/obj/item/rig_module/module in installed_modules) cell.use(module.process()*10) -/obj/item/weapon/rig/proc/check_power_cost(var/mob/living/user, var/cost, var/use_unconcious, var/obj/item/rig_module/mod, var/user_is_ai) +/obj/item/rig/proc/check_power_cost(var/mob/living/user, var/cost, var/use_unconcious, var/obj/item/rig_module/mod, var/user_is_ai) if(!istype(user)) return 0 @@ -573,17 +576,17 @@ if(!user_is_ai) var/mob/living/carbon/human/H = user if(istype(H) && (H.back != src && H.belt != src)) - fail_msg = "You must be wearing \the [src] to do this." + fail_msg = span_warning("You must be wearing \the [src] to do this.") else if(user.incorporeal_move) - fail_msg = "You must be solid to do this." + fail_msg = span_warning("You must be solid to do this.") if(sealing) - fail_msg = "The hardsuit is in the process of adjusting seals and cannot be activated." + fail_msg = span_warning("The hardsuit is in the process of adjusting seals and cannot be activated.") else if(!fail_msg && ((use_unconcious && user.stat > 1) || (!use_unconcious && user.stat))) - fail_msg = "You are in no fit state to do that." + fail_msg = span_warning("You are in no fit state to do that.") else if(!cell) - fail_msg = "There is no cell installed in the suit." + fail_msg = span_warning("There is no cell installed in the suit.") else if(cost && cell.charge < cost * 10) //TODO: Cellrate? - fail_msg = "Not enough stored power." + fail_msg = span_warning("Not enough stored power.") if(fail_msg) to_chat(user, fail_msg) @@ -599,7 +602,7 @@ cell.use(cost*10) return 1 -/obj/item/weapon/rig/update_icon(var/update_mob_icon) +/obj/item/rig/update_icon(var/update_mob_icon) cut_overlays() if(!mob_icon || update_mob_icon) @@ -624,7 +627,7 @@ wearer.update_inv_back() return -/obj/item/weapon/rig/proc/check_suit_access(var/mob/living/carbon/human/user, var/do_message = TRUE) +/obj/item/rig/proc/check_suit_access(var/mob/living/carbon/human/user, var/do_message = TRUE) if(!security_check_enabled) return 1 @@ -638,27 +641,27 @@ return 0 else if(!src.allowed(user)) if(do_message) - to_chat(user, "Unauthorized user. Access denied.") + to_chat(user, span_danger("Unauthorized user. Access denied.")) return 0 else if(!ai_override_enabled) if(do_message) - to_chat(user, "Synthetic access disabled. Please consult hardware provider.") + to_chat(user, span_danger("Synthetic access disabled. Please consult hardware provider.")) return 0 return 1 -/obj/item/weapon/rig/proc/notify_ai(var/message) +/obj/item/rig/proc/notify_ai(var/message) for(var/obj/item/rig_module/ai_container/module in installed_modules) if(module.integrated_ai && module.integrated_ai.client && !module.integrated_ai.stat) to_chat(module.integrated_ai, "[message]") . = 1 -/obj/item/weapon/rig/equipped(mob/living/carbon/human/M) +/obj/item/rig/equipped(mob/living/carbon/human/M) ..() - if(istype(M.back, /obj/item/weapon/rig) && istype(M.belt, /obj/item/weapon/rig)) - to_chat(M, "You try to put on the [src], but it won't fit.") + if(istype(M.back, /obj/item/rig) && istype(M.belt, /obj/item/rig)) + to_chat(M, span_notice("You try to put on the [src], but it won't fit.")) if(M && (M.back == src || M.belt == src)) if(!M.unEquip(src)) return @@ -666,7 +669,7 @@ return if(seal_delay > 0 && istype(M) && (M.back == src || M.belt == src)) - M.visible_message("[M] starts putting on \the [src]...", "You start putting on \the [src]...") + M.visible_message(span_notice("[M] starts putting on \the [src]..."), span_notice("You start putting on \the [src]...")) if(!do_after(M,seal_delay)) if(M && (M.back == src || M.belt == src)) if(!M.unEquip(src)) @@ -675,12 +678,12 @@ return if(istype(M) && (M.back == src || M.belt == src)) - M.visible_message("[M] struggles into \the [src].", "You struggle into \the [src].") + M.visible_message(span_boldnotice("[M] struggles into \the [src]."), span_boldnotice("You struggle into \the [src].")) wearer = M wearer.wearing_rig = src update_icon() -/obj/item/weapon/rig/proc/toggle_piece(var/piece, var/mob/living/carbon/human/H, var/deploy_mode, var/forced = FALSE) +/obj/item/rig/proc/toggle_piece(var/piece, var/mob/living/carbon/human/H, var/deploy_mode, var/forced = FALSE) if((sealing || !cell || !cell.charge) && !forced) return @@ -725,7 +728,7 @@ holder = use_obj.loc if(istype(holder)) if(use_obj && check_slot == use_obj) - to_chat(H, "Your [use_obj.name] [use_obj.gender == PLURAL ? "retract" : "retracts"] swiftly.") + to_chat(H, span_boldnotice("Your [use_obj.name] [use_obj.gender == PLURAL ? "retract" : "retracts"] swiftly.")) playsound(src, 'sound/machines/rig/rigservo.ogg', 10, FALSE) use_obj.canremove = TRUE holder.drop_from_inventory(use_obj) @@ -741,16 +744,16 @@ if(!H.equip_to_slot_if_possible(use_obj, equip_to, 0, 1)) use_obj.forceMove(src) if(check_slot) - to_chat(H, "You are unable to deploy \the [piece] as \the [check_slot] [check_slot.gender == PLURAL ? "are" : "is"] in the way.") + to_chat(H, span_danger("You are unable to deploy \the [piece] as \the [check_slot] [check_slot.gender == PLURAL ? "are" : "is"] in the way.")) return else - to_chat(H, "Your [use_obj.name] [use_obj.gender == PLURAL ? "deploy" : "deploys"] swiftly.") + to_chat(H, span_notice("Your [use_obj.name] [use_obj.gender == PLURAL ? "deploy" : "deploys"] swiftly.")) playsound(src, 'sound/machines/rig/rigservo.ogg', 10, FALSE) if(piece == "helmet" && helmet?.light_system == STATIC_LIGHT) helmet.update_light() -/obj/item/weapon/rig/proc/deploy(mob/M,var/sealed) +/obj/item/rig/proc/deploy(mob/M,var/sealed) var/mob/living/carbon/human/H = M @@ -787,8 +790,8 @@ for(var/piece in list("helmet","gauntlets","chest","boots")) toggle_piece(piece, H, ONLY_DEPLOY) -/obj/item/weapon/rig/dropped(var/mob/user) - ..() +/obj/item/rig/dropped(var/mob/user) + . = ..(user) for(var/piece in list("helmet","gauntlets","chest","boots")) toggle_piece(piece, user, ONLY_RETRACT) if(wearer && wearer.wearing_rig == src) @@ -796,10 +799,10 @@ wearer = null //Todo -/obj/item/weapon/rig/proc/malfunction() +/obj/item/rig/proc/malfunction() return 0 -/obj/item/weapon/rig/emp_act(severity_class) +/obj/item/rig/emp_act(severity_class) //set malfunctioning if(emp_protection < 30) //for ninjas, really. malfunctioning += 10 @@ -812,14 +815,14 @@ //possibly damage some modules take_hit((100/severity_class), "electrical pulse", 1) -/obj/item/weapon/rig/proc/shock(mob/user) +/obj/item/rig/proc/shock(mob/user) if (electrocute_mob(user, cell, src)) //electrocute_mob() handles removing charge from the cell, no need to do that here. spark_system.start() if(user.stunned) return 1 return 0 -/obj/item/weapon/rig/proc/take_hit(damage, source, is_emp=0) +/obj/item/rig/proc/take_hit(damage, source, is_emp=0) if(!installed_modules.len) return @@ -860,21 +863,21 @@ if(wearer) if(dam_module.damage >= 2) - to_chat(wearer, "The [source] has disabled your [dam_module.interface_name]!") + to_chat(wearer, span_danger("The [source] has disabled your [dam_module.interface_name]!")) else - to_chat(wearer, "The [source] has damaged your [dam_module.interface_name]!") + to_chat(wearer, span_warning("The [source] has damaged your [dam_module.interface_name]!")) dam_module.deactivate() -/obj/item/weapon/rig/proc/malfunction_check(var/mob/living/carbon/human/user) +/obj/item/rig/proc/malfunction_check(var/mob/living/carbon/human/user) if(malfunction_delay) if(offline) - to_chat(user, "The suit is completely unresponsive.") + to_chat(user, span_danger("The suit is completely unresponsive.")) else - to_chat(user, "ERROR: Hardware fault. Rebooting interface...") + to_chat(user, span_danger("ERROR: Hardware fault. Rebooting interface...")) return 1 return 0 -/obj/item/weapon/rig/proc/ai_can_move_suit(var/mob/user, var/check_user_module = 0, var/check_for_ai = 0) +/obj/item/rig/proc/ai_can_move_suit(var/mob/user, var/check_user_module = 0, var/check_for_ai = 0) if(check_for_ai) if(!(locate(/obj/item/rig_module/ai_container) in contents)) @@ -894,43 +897,52 @@ return 0 var/obj/item/rig_module/ai_container/module = user.loc.loc if(!istype(module) || module.damage >= 2) - to_chat(user, "Your host module is unable to interface with the suit.") + to_chat(user, span_warning("Your host module is unable to interface with the suit.")) return 0 if(offline || !cell || !cell.charge || locked_down) if(user) - to_chat(user, "Your host rig is unpowered and unresponsive.") + to_chat(user, span_warning("Your host rig is unpowered and unresponsive.")) return 0 if(!wearer || (wearer.back != src && wearer.belt != src)) if(user) - to_chat(user, "Your host rig is not being worn.") + to_chat(user, span_warning("Your host rig is not being worn.")) return 0 if(!wearer.stat && !control_overridden && !ai_override_enabled) if(user) - to_chat(user, "You are locked out of the suit servo controller.") + to_chat(user, span_warning("You are locked out of the suit servo controller.")) return 0 return 1 -/obj/item/weapon/rig/proc/force_rest(var/mob/user) +/obj/item/rig/proc/force_rest(var/mob/user) if(!ai_can_move_suit(user, check_user_module = 1)) return wearer.lay_down() - to_chat(user, "\The [wearer] is now [wearer.resting ? "resting" : "getting up"].") + to_chat(user, span_notice("\The [wearer] is now [wearer.resting ? "resting" : "getting up"].")) -/obj/item/weapon/rig/proc/forced_move(var/direction, var/mob/user) +/obj/item/rig/proc/forced_move(var/direction, var/mob/user, var/ai_moving = TRUE) // Why is all this shit in client/Move()? Who knows? if(world.time < wearer_move_delay) return - if(!wearer || !wearer.loc || !ai_can_move_suit(user, check_user_module = 1)) + if(!wearer || !wearer.loc) // Removed some stuff for protean living hardsuit return +// Added this for protean living hardsuit + wearer_move_delay = world.time + 2 + if(ai_moving) + if(!ai_can_move_suit(user, check_user_module = 1)) + return + // AIs are a bit slower than regular and ignore move intent. + // Moved this to where it's relevant + wearer_move_delay = world.time + ai_controlled_move_delay + //This is sota the goto stop mobs from moving var if(wearer.transforming || !wearer.canmove) return - if((istype(wearer.loc, /turf/space)) || (wearer.lastarea.has_gravity == 0)) + if((istype(wearer.loc, /turf/space)) || (wearer.lastarea.get_gravity() == 0)) if(!wearer.Process_Spacemove(0)) return 0 @@ -947,18 +959,15 @@ for(var/mob/M in range(wearer, 1)) if(M.pulling == wearer) if(!M.restrained() && M.stat == 0 && M.canmove && wearer.Adjacent(M)) - to_chat(user, "Your host is restrained! They can't move!") + to_chat(user, span_notice("Your host is restrained! They can't move!")) return 0 else M.stop_pulling() if(wearer.pinned.len) - to_chat(src, "Your host is pinned to a wall by [wearer.pinned[1]]!") + to_chat(src, span_notice("Your host is pinned to a wall by [wearer.pinned[1]]!")) return 0 - // AIs are a bit slower than regular and ignore move intent. - wearer_move_delay = world.time + ai_controlled_move_delay - if(istype(wearer.buckled, /obj/vehicle)) //manually set move_delay for vehicles so we don't inherit any mob movement penalties //specific vehicle move delays are set in code\modules\vehicles\vehicle.dm @@ -983,7 +992,10 @@ wearer_move_delay += 2 return wearer.buckled.relaymove(wearer,direction) - cell.use(200) //Arbitrary, TODO + var/power_cost = 200 + if(!ai_moving) + power_cost = 20 + cell.use(power_cost) //Arbitrary, TODO wearer.Move(get_step(get_turf(wearer),direction),direction) // This returns the rig if you are contained inside one, but not if you are wearing it @@ -992,13 +1004,13 @@ return loc.get_rig() return null -/obj/item/weapon/rig/get_rig() +/obj/item/rig/get_rig() return src /mob/living/carbon/human/get_rig() - if(istype(back, /obj/item/weapon/rig)) + if(istype(back, /obj/item/rig)) return back - else if(istype(belt, /obj/item/weapon/rig)) + else if(istype(belt, /obj/item/rig)) return belt else return null diff --git a/code/modules/clothing/spacesuits/rig/rig_attackby.dm b/code/modules/clothing/spacesuits/rig/rig_attackby.dm index e6c48734dfc..e09db0ca752 100644 --- a/code/modules/clothing/spacesuits/rig/rig_attackby.dm +++ b/code/modules/clothing/spacesuits/rig/rig_attackby.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/rig/attackby(obj/item/W as obj, mob/living/user as mob) +/obj/item/rig/attackby(obj/item/W as obj, mob/living/user as mob) if(!istype(user)) return 0 @@ -14,16 +14,16 @@ if(W.GetID()) if(subverted) locked = 0 - to_chat(user, "It looks like the locking system has been shorted out.") + to_chat(user, span_danger("It looks like the locking system has been shorted out.")) return if(!LAZYLEN(req_access) && !LAZYLEN(req_one_access)) locked = 0 - to_chat(user, "\The [src] doesn't seem to have a locking mechanism.") + to_chat(user, span_danger("\The [src] doesn't seem to have a locking mechanism.")) return if(security_check_enabled && !src.allowed(user)) - to_chat(user, "Access denied.") + to_chat(user, span_danger("Access denied.")) return locked = !locked @@ -41,14 +41,14 @@ if(open) // Hacking. - if(W.has_tool_quality(TOOL_WIRECUTTER) || istype(W, /obj/item/device/multitool)) + if(W.has_tool_quality(TOOL_WIRECUTTER) || istype(W, /obj/item/multitool)) if(open) wires.Interact(user) else to_chat(user, "You can't reach the wiring.") return // Air tank. - if(istype(W,/obj/item/weapon/tank)) //Todo, some kind of check for suits without integrated air supplies. + if(istype(W,/obj/item/tank)) //Todo, some kind of check for suits without integrated air supplies. if(air_supply) to_chat(user, "\The [src] already has a tank installed.") @@ -67,7 +67,7 @@ if(istype(src.loc,/mob/living/carbon/human)) var/mob/living/carbon/human/H = src.loc if(H.back == src || H.belt == src) - to_chat(user, "You can't install a hardsuit module while the suit is being worn.") + to_chat(user, span_danger("You can't install a hardsuit module while the suit is being worn.")) return 1 if(!installed_modules) @@ -93,7 +93,7 @@ update_icon() return 1 - else if(!cell && istype(W,/obj/item/weapon/cell)) + else if(!cell && istype(W,/obj/item/cell)) if(!user.unEquip(W)) return @@ -181,18 +181,18 @@ ..() -/obj/item/weapon/rig/attack_hand(var/mob/user) +/obj/item/rig/attack_hand(var/mob/user) if(electrified != 0) if(shock(user)) //Handles removing charge from the cell, as well. No need to do that here. return ..() -/obj/item/weapon/rig/emag_act(var/remaining_charges, var/mob/user) +/obj/item/rig/emag_act(var/remaining_charges, var/mob/user) if(!subverted) LAZYCLEARLIST(req_access) LAZYCLEARLIST(req_one_access) locked = 0 subverted = 1 - to_chat(user, "You short out the access protocol for the suit.") + to_chat(user, span_danger("You short out the access protocol for the suit.")) return 1 diff --git a/code/modules/clothing/spacesuits/rig/rig_pieces.dm b/code/modules/clothing/spacesuits/rig/rig_pieces.dm index 600e89a82c9..056a1092abc 100644 --- a/code/modules/clothing/spacesuits/rig/rig_pieces.dm +++ b/code/modules/clothing/spacesuits/rig/rig_pieces.dm @@ -42,7 +42,7 @@ /obj/item/clothing/suit/space/rig name = "chestpiece" - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit) + allowed = list(/obj/item/flashlight,/obj/item/tank,/obj/item/suit_cooling_unit) body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS cold_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS @@ -61,7 +61,7 @@ ) supporting_limbs = list() species_restricted = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_TAJ, SPECIES_UNATHI, SPECIES_PROMETHEAN, SPECIES_TESHARI) //vox, diona, and zaddat can't use hardsuits not designed for them - var/obj/item/weapon/material/knife/tacknife + var/obj/item/material/knife/tacknife max_pressure_protection = null min_pressure_protection = null @@ -69,7 +69,7 @@ if(tacknife) tacknife.loc = get_turf(src) if(M.put_in_active_hand(tacknife)) - to_chat(M, "You slide \the [tacknife] out of [src].") + to_chat(M, span_notice("You slide \the [tacknife] out of [src].")) playsound(src, 'sound/weapons/flipblade.ogg', 40, 1) tacknife = null update_icon() @@ -77,13 +77,13 @@ ..() /obj/item/clothing/suit/space/rig/attackby(var/obj/item/I, var/mob/living/M) - if(istype(I, /obj/item/weapon/material/knife/tacknife)) + if(istype(I, /obj/item/material/knife/tacknife)) if(tacknife) return M.drop_item() tacknife = I I.loc = src - to_chat(M, "You slide the [I] into [src].") + to_chat(M, span_notice("You slide the [I] into [src].")) playsound(src, 'sound/weapons/flipblade.ogg', 40, 1) update_icon() ..() @@ -101,7 +101,7 @@ if(!istype(H) || (!H.back && !H.belt)) return 0 - var/obj/item/weapon/rig/suit = H.back + var/obj/item/rig/suit = H.back if(!suit || !istype(suit) || !suit.installed_modules.len) return 0 @@ -124,7 +124,7 @@ /obj/item/clothing/suit/lightrig name = "suit" - allowed = list(/obj/item/device/flashlight) + allowed = list(/obj/item/flashlight) body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS cold_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS diff --git a/code/modules/clothing/spacesuits/rig/rig_tgui.dm b/code/modules/clothing/spacesuits/rig/rig_tgui.dm index 66c7266d3dd..2aa11cd8595 100644 --- a/code/modules/clothing/spacesuits/rig/rig_tgui.dm +++ b/code/modules/clothing/spacesuits/rig/rig_tgui.dm @@ -8,10 +8,10 @@ * tgui_interact() is the proc that opens the UI. It doesn't really do anything else, unlike NanoV1. * We add an extra argument, custom_state, for the things that want a custom state for their UI. */ -/obj/item/weapon/rig/tgui_interact(mob/user, datum/tgui/ui, datum/tgui/parent_ui, datum/tgui_state/custom_state) +/obj/item/rig/tgui_interact(mob/user, datum/tgui/ui, datum/tgui/parent_ui, datum/tgui_state/custom_state) ui = SStgui.try_update_ui(user, src, ui) if(!ui) - ui = new(user, src, (loc != usr ? ai_interface_path : interface_path), interface_title) + ui = new(user, src, (loc != user ? ai_interface_path : interface_path), interface_title) ui.open() if(custom_state) ui.set_state(custom_state) @@ -19,7 +19,7 @@ /* * tgui_state() gives the UI the state to use by default. */ -/obj/item/weapon/rig/tgui_state() +/obj/item/rig/tgui_state() return GLOB.tgui_inventory_state /* @@ -28,7 +28,7 @@ * not authorized to do so. * This saves us two lines of code in tgui_act(). */ -/obj/item/weapon/rig/tgui_status(mob/user, datum/tgui_state/state) +/obj/item/rig/tgui_status(mob/user, datum/tgui_state/state) . = ..() if(!check_suit_access(user, FALSE)) // don't send a message to the user, this is a UI thing // Forces the UI to never go interactive, @@ -38,7 +38,7 @@ /* * tgui_data() is the heavy lifter, it gives the UI it's relevant datastructure every SStgui tick. */ -/obj/item/weapon/rig/tgui_data(mob/user) +/obj/item/rig/tgui_data(mob/user) var/list/data = list() if(selected_module) @@ -120,19 +120,19 @@ /* * tgui_act() is the TGUI equivelent of Topic(). It's responsible for all of the "actions" you can take in the UI. */ -/obj/item/weapon/rig/tgui_act(action, params) +/obj/item/rig/tgui_act(action, params, datum/tgui/ui) // This parent call is very important, as it's responsible for invoking tgui_status and checking our state's rules. if(..()) return TRUE - add_fingerprint(usr) + add_fingerprint(ui.user) switch(action) if("toggle_seals") - toggle_seals(usr) + toggle_seals(ui.user) . = TRUE if("toggle_cooling") - toggle_cooling(usr) // cooling toggles have its own to_chats, tbf + toggle_cooling(ui.user) // cooling toggles have its own to_chats, tbf . = TRUE if("toggle_ai_control") ai_override_enabled = !ai_override_enabled @@ -142,9 +142,9 @@ locked = !locked . = TRUE if("toggle_piece") - if(ishuman(usr) && (usr.stat || usr.stunned || usr.lying)) + if(ishuman(ui.user) && (ui.user.stat || ui.user.stunned || ui.user.lying)) return FALSE - toggle_piece(params["piece"], usr) + toggle_piece(params["piece"], ui.user) . = TRUE if("interact_module") var/module_index = text2num(params["module"]) @@ -166,4 +166,7 @@ . = TRUE if("select_charge_type") module.charge_selected = params["charge_type"] - . = TRUE \ No newline at end of file + . = TRUE + if("tank_settings") + air_supply?.attack_self(ui.user) + . = TRUE diff --git a/code/modules/clothing/spacesuits/rig/rig_verbs.dm b/code/modules/clothing/spacesuits/rig/rig_verbs.dm index 3cc91f6249a..9eb0724b0ef 100644 --- a/code/modules/clothing/spacesuits/rig/rig_verbs.dm +++ b/code/modules/clothing/spacesuits/rig/rig_verbs.dm @@ -1,5 +1,5 @@ // Interface for humans. -/obj/item/weapon/rig/verb/hardsuit_interface() +/obj/item/rig/verb/hardsuit_interface() set name = "Open Hardsuit Interface" set desc = "Open the hardsuit system interface." @@ -10,11 +10,11 @@ tgui_interact(usr) // So the UI button clicks come here -/obj/item/weapon/rig/ui_action_click() - if(usr == wearer && (wearer.back == src || wearer.belt == src)) - tgui_interact(usr) +/obj/item/rig/ui_action_click(mob/user, actiontype) + if(user == wearer && (wearer.back == src || wearer.belt == src)) + tgui_interact(user) -/obj/item/weapon/rig/verb/toggle_vision() +/obj/item/rig/verb/toggle_vision() set name = "Toggle Visor" set desc = "Turns your rig visor off or on." @@ -22,21 +22,21 @@ set src = usr.contents if(!istype(wearer) || (!wearer.back == src && !wearer.belt == src)) - to_chat(usr, "The hardsuit is not being worn.") + to_chat(usr, span_warning("The hardsuit is not being worn.")) return if(!check_power_cost(usr)) return if(canremove) - to_chat(usr, "The suit is not active.") + to_chat(usr, span_warning("The suit is not active.")) return if(!check_suit_access(usr)) return if(!visor) - to_chat(usr, "The hardsuit does not have a configurable visor.") + to_chat(usr, span_warning("The hardsuit does not have a configurable visor.")) return if(!visor.active) @@ -44,7 +44,7 @@ else visor.deactivate() -/obj/item/weapon/rig/proc/toggle_helmet() +/obj/item/rig/proc/toggle_helmet() set name = "Toggle Helmet" set desc = "Deploys or retracts your helmet." @@ -52,7 +52,7 @@ set src = usr.contents if(!istype(wearer) || (!wearer.back == src && !wearer.belt == src)) - to_chat(usr, "The hardsuit is not being worn.") + to_chat(usr, span_warning("The hardsuit is not being worn.")) return if(!check_suit_access(usr)) @@ -60,7 +60,7 @@ toggle_piece("helmet",wearer) -/obj/item/weapon/rig/proc/toggle_chest() +/obj/item/rig/proc/toggle_chest() set name = "Toggle Chestpiece" set desc = "Deploys or retracts your chestpiece." @@ -72,7 +72,7 @@ toggle_piece("chest",wearer) -/obj/item/weapon/rig/proc/toggle_gauntlets() +/obj/item/rig/proc/toggle_gauntlets() set name = "Toggle Gauntlets" set desc = "Deploys or retracts your gauntlets." @@ -80,7 +80,7 @@ set src = usr.contents if(!istype(wearer) || (!wearer.back == src && !wearer.belt == src)) - to_chat(usr, "The hardsuit is not being worn.") + to_chat(usr, span_warning("The hardsuit is not being worn.")) return if(!check_suit_access(usr)) @@ -88,7 +88,7 @@ toggle_piece("gauntlets",wearer) -/obj/item/weapon/rig/proc/toggle_boots() +/obj/item/rig/proc/toggle_boots() set name = "Toggle Boots" set desc = "Deploys or retracts your boots." @@ -96,7 +96,7 @@ set src = usr.contents if(!istype(wearer) || (!wearer.back == src && !wearer.belt == src)) - to_chat(usr, "The hardsuit is not being worn.") + to_chat(usr, span_warning("The hardsuit is not being worn.")) return if(!check_suit_access(usr)) @@ -104,7 +104,7 @@ toggle_piece("boots",wearer) -/obj/item/weapon/rig/verb/deploy_suit() +/obj/item/rig/verb/deploy_suit() set name = "Deploy Hardsuit" set desc = "Deploys helmet, gloves and boots." @@ -112,7 +112,7 @@ set src = usr.contents if(!istype(wearer) || (!wearer.back == src && !wearer.belt == src)) - to_chat(usr, "The hardsuit is not being worn.") + to_chat(usr, span_warning("The hardsuit is not being worn.")) return if(!check_suit_access(usr)) @@ -123,7 +123,7 @@ deploy(wearer) -/obj/item/weapon/rig/verb/toggle_seals_verb() +/obj/item/rig/verb/toggle_seals_verb() set name = "Toggle Hardsuit" set desc = "Activates or deactivates your rig." @@ -131,7 +131,7 @@ set src = usr.contents if(!istype(wearer) || (!wearer.back == src && !wearer.belt == src)) - to_chat(usr, "The hardsuit is not being worn.") + to_chat(usr, span_warning("The hardsuit is not being worn.")) return if(!check_suit_access(usr)) @@ -139,7 +139,7 @@ toggle_seals(wearer) -/obj/item/weapon/rig/verb/switch_vision_mode() +/obj/item/rig/verb/switch_vision_mode() set name = "Switch Vision Mode" set desc = "Switches between available vision modes." @@ -153,23 +153,23 @@ return if(canremove) - to_chat(usr, "The suit is not active.") + to_chat(usr, span_warning("The suit is not active.")) return if(!visor) - to_chat(usr, "The hardsuit does not have a configurable visor.") + to_chat(usr, span_warning("The hardsuit does not have a configurable visor.")) return if(!visor.active) visor.activate() if(!visor.active) - to_chat(usr, "The visor is suffering a hardware fault and cannot be configured.") + to_chat(usr, span_warning("The visor is suffering a hardware fault and cannot be configured.")) return visor.engage() -/obj/item/weapon/rig/verb/alter_voice() +/obj/item/rig/verb/alter_voice() set name = "Configure Voice Synthesiser" set desc = "Toggles or configures your voice synthesizer." @@ -180,20 +180,20 @@ return if(canremove) - to_chat(usr, "The suit is not active.") + to_chat(usr, span_warning("The suit is not active.")) return if(!istype(wearer) || (!wearer.back == src && !wearer.belt == src)) - to_chat(usr, "The hardsuit is not being worn.") + to_chat(usr, span_warning("The hardsuit is not being worn.")) return if(!speech) - to_chat(usr, "The hardsuit does not have a speech synthesiser.") + to_chat(usr, span_warning("The hardsuit does not have a speech synthesiser.")) return speech.engage() -/obj/item/weapon/rig/verb/select_module() +/obj/item/rig/verb/select_module() set name = "Select Module" set desc = "Selects a module as your primary system." @@ -207,11 +207,11 @@ return if(canremove) - to_chat(usr, "The suit is not active.") + to_chat(usr, span_warning("The suit is not active.")) return if(!istype(wearer) || (!wearer.back == src && !wearer.belt == src)) - to_chat(usr, "The hardsuit is not being worn.") + to_chat(usr, span_warning("The hardsuit is not being worn.")) return var/list/selectable = list() @@ -223,13 +223,13 @@ if(!istype(module)) selected_module = null - to_chat(usr, span_blue("Primary system is now: deselected.")) + to_chat(usr, span_boldnotice("Primary system is now: deselected.")) return selected_module = module - to_chat(usr, span_blue("Primary system is now: [selected_module.interface_name].")) + to_chat(usr, span_boldnotice("Primary system is now: [selected_module.interface_name].")) -/obj/item/weapon/rig/verb/toggle_module() +/obj/item/rig/verb/toggle_module() set name = "Toggle Module" set desc = "Toggle a system module." @@ -243,11 +243,11 @@ return if(canremove) - to_chat(usr, "The suit is not active.") + to_chat(usr, span_warning("The suit is not active.")) return if(!istype(wearer) || (!wearer.back == src && !wearer.belt == src)) - to_chat(usr, "The hardsuit is not being worn.") + to_chat(usr, span_warning("The hardsuit is not being worn.")) return var/list/selectable = list() @@ -261,13 +261,13 @@ return if(module.active) - to_chat(usr, span_blue("You attempt to deactivate \the [module.interface_name].")) + to_chat(usr, span_boldnotice("You attempt to deactivate \the [module.interface_name].")) module.deactivate() else - to_chat(usr, span_blue("You attempt to activate \the [module.interface_name].")) + to_chat(usr, span_boldnotice("You attempt to activate \the [module.interface_name].")) module.activate() -/obj/item/weapon/rig/verb/engage_module() +/obj/item/rig/verb/engage_module() set name = "Engage Module" set desc = "Engages a system module." @@ -278,11 +278,11 @@ return if(canremove) - to_chat(usr, "The suit is not active.") + to_chat(usr, span_warning("The suit is not active.")) return if(!istype(wearer) || (!wearer.back == src && !wearer.belt == src)) - to_chat(usr, "The hardsuit is not being worn.") + to_chat(usr, span_warning("The hardsuit is not being worn.")) return if(!check_power_cost(usr, 0, 0, 0, 0)) @@ -298,5 +298,5 @@ if(!istype(module)) return - to_chat(usr, span_blue("You attempt to engage the [module.interface_name].")) + to_chat(usr, span_boldnotice("You attempt to engage the [module.interface_name].")) module.engage() diff --git a/code/modules/clothing/spacesuits/rig/rig_wiring.dm b/code/modules/clothing/spacesuits/rig/rig_wiring.dm index c7fec3c5d6e..09c04c10428 100644 --- a/code/modules/clothing/spacesuits/rig/rig_wiring.dm +++ b/code/modules/clothing/spacesuits/rig/rig_wiring.dm @@ -1,6 +1,6 @@ /datum/wires/rig randomize = TRUE - holder_type = /obj/item/weapon/rig + holder_type = /obj/item/rig wire_count = 5 /datum/wires/rig/New(atom/_holder) @@ -14,7 +14,7 @@ */ /datum/wires/rig/on_cut(wire, mend) - var/obj/item/weapon/rig/rig = holder + var/obj/item/rig/rig = holder switch(wire) if(WIRE_RIG_SECURITY) if(mend) @@ -25,7 +25,7 @@ rig.shock(usr,100) /datum/wires/rig/on_pulse(wire) - var/obj/item/weapon/rig/rig = holder + var/obj/item/rig/rig = holder switch(wire) if(WIRE_RIG_SECURITY) rig.security_check_enabled = !rig.security_check_enabled @@ -47,7 +47,7 @@ rig.shock(usr,100) /datum/wires/rig/interactable(mob/user) - var/obj/item/weapon/rig/rig = holder + var/obj/item/rig/rig = holder if(rig.open) return TRUE return FALSE \ No newline at end of file diff --git a/code/modules/clothing/spacesuits/rig/suits/alien.dm b/code/modules/clothing/spacesuits/rig/suits/alien.dm index 56f69bda521..2db88474a18 100644 --- a/code/modules/clothing/spacesuits/rig/suits/alien.dm +++ b/code/modules/clothing/spacesuits/rig/suits/alien.dm @@ -2,7 +2,7 @@ * UNATHI */ -/obj/item/weapon/rig/breacher +/obj/item/rig/breacher name = "\improper NT breacher chassis control module" desc = "A cheap NT knock-off of an Unathi battle-rig. Looks like a fish, moves like a fish, steers like a cow." suit_type = "\improper NT breacher" @@ -18,7 +18,7 @@ helm_type = /obj/item/clothing/head/helmet/space/rig/breacher boot_type = /obj/item/clothing/shoes/magboots/rig/breacher -/obj/item/weapon/rig/breacher/fancy +/obj/item/rig/breacher/fancy name = "breacher chassis control module" desc = "An authentic Unathi breacher chassis. Huge, bulky and absurdly heavy. It must be like wearing a tank." suit_type = "breacher chassis" @@ -41,7 +41,7 @@ * VOX */ -/obj/item/weapon/rig/vox //Just to get the flags set up +/obj/item/rig/vox //Just to get the flags set up name = "alien control module" desc = "This metal box writhes and squirms as if it were alive..." suit_type = "alien" @@ -52,14 +52,14 @@ siemens_coefficient = 0.2 offline_slowdown = 2.5 allowed = list( - /obj/item/weapon/gun, - /obj/item/device/flashlight, - /obj/item/weapon/tank, - /obj/item/device/suit_cooling_unit, - /obj/item/weapon/storage + /obj/item/gun, + /obj/item/flashlight, + /obj/item/tank, + /obj/item/suit_cooling_unit, + /obj/item/storage ) - air_type = /obj/item/weapon/tank/vox + air_type = /obj/item/tank/vox helm_type = /obj/item/clothing/head/helmet/space/rig/vox boot_type = /obj/item/clothing/shoes/magboots/rig/vox @@ -87,7 +87,7 @@ SPECIES_VOX = 'icons/inventory/hands/mob_vox.dmi' ) -/obj/item/weapon/rig/vox/carapace +/obj/item/rig/vox/carapace name = "dense alien control module" suit_type = "dense alien" armor = list(melee = 60, bullet = 50, laser = 40, energy = 15, bomb = 30, bio = 100, rad = 50) @@ -95,7 +95,7 @@ req_access = list(access_syndicate) - cell_type = /obj/item/weapon/cell/hyper + cell_type = /obj/item/cell/hyper initial_modules = list( /obj/item/rig_module/mounted/energy_blade, @@ -106,7 +106,7 @@ /obj/item/rig_module/self_destruct ) -/obj/item/weapon/rig/vox/stealth +/obj/item/rig/vox/stealth name = "sinister alien control module" suit_type = "sinister alien" icon_state = "voxstealth_rig" @@ -115,7 +115,7 @@ req_access = list(access_syndicate) - cell_type = /obj/item/weapon/cell/hyper + cell_type = /obj/item/cell/hyper initial_modules = list( /obj/item/rig_module/stealth_field, @@ -125,7 +125,7 @@ /obj/item/rig_module/self_destruct ) -/obj/item/weapon/rig/vox/civilian +/obj/item/rig/vox/civilian name = "matte alien control module" suit_type = "sinister alien" icon_state = "voxstealth_rig" @@ -134,8 +134,8 @@ req_access = list() req_one_access = list() - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit) + allowed = list(/obj/item/flashlight,/obj/item/tank,/obj/item/suit_cooling_unit) offline_vision_restriction = 1 initial_modules = list( - ) \ No newline at end of file + ) diff --git a/code/modules/clothing/spacesuits/rig/suits/alien_vr.dm b/code/modules/clothing/spacesuits/rig/suits/alien_vr.dm index 012d73d4355..a1795c797b3 100644 --- a/code/modules/clothing/spacesuits/rig/suits/alien_vr.dm +++ b/code/modules/clothing/spacesuits/rig/suits/alien_vr.dm @@ -1,5 +1,5 @@ -/obj/item/weapon/rig/breacher +/obj/item/rig/breacher armor = list(melee = 60, bullet = 45, laser = 45, energy = 10, bomb = 50, bio = 100, rad = 20) -/obj/item/weapon/rig/breacher/fancy +/obj/item/rig/breacher/fancy armor = list(melee = 85, bullet = 80, laser = 80, energy = 40, bomb = 80, bio = 100, rad = 60) //Still a tank just not indestructable diff --git a/code/modules/clothing/spacesuits/rig/suits/combat.dm b/code/modules/clothing/spacesuits/rig/suits/combat.dm index 214622881a6..64de30524b0 100644 --- a/code/modules/clothing/spacesuits/rig/suits/combat.dm +++ b/code/modules/clothing/spacesuits/rig/suits/combat.dm @@ -1,7 +1,7 @@ /obj/item/clothing/head/helmet/space/rig/combat light_overlay = "helmet_light_dual_green" -/obj/item/weapon/rig/combat +/obj/item/rig/combat name = "combat hardsuit control module" desc = "A sleek and dangerous hardsuit for active combat." icon_state = "security_rig" @@ -13,16 +13,16 @@ helm_type = /obj/item/clothing/head/helmet/space/rig/combat allowed = list( - /obj/item/weapon/gun, - /obj/item/device/flashlight, - /obj/item/weapon/tank, - /obj/item/device/suit_cooling_unit, - /obj/item/weapon/melee/baton, - /obj/item/weapon/storage + /obj/item/gun, + /obj/item/flashlight, + /obj/item/tank, + /obj/item/suit_cooling_unit, + /obj/item/melee/baton, + /obj/item/storage ) -/obj/item/weapon/rig/combat/equipped +/obj/item/rig/combat/equipped initial_modules = list( /obj/item/rig_module/mounted, @@ -34,13 +34,13 @@ /obj/item/rig_module/chem_dispenser/combat ) -/obj/item/weapon/rig/combat/empty +/obj/item/rig/combat/empty initial_modules = list( /obj/item/rig_module/ai_container, /obj/item/rig_module/electrowarfare_suite, ) -/obj/item/weapon/rig/military +/obj/item/rig/military name = "military hardsuit control module" desc = "An austere hardsuit used by paramilitary groups and real soldiers alike." icon_state = "military_rig" @@ -50,24 +50,24 @@ offline_slowdown = 1.5 offline_vision_restriction = 1 allowed = list( - /obj/item/device/flashlight, - /obj/item/weapon/tank, + /obj/item/flashlight, + /obj/item/tank, /obj/item/ammo_magazine, /obj/item/ammo_casing, - /obj/item/weapon/handcuffs, - /obj/item/device/t_scanner, - /obj/item/weapon/rcd, - /obj/item/weapon/weldingtool, - /obj/item/weapon/tool, - /obj/item/device/multitool, - /obj/item/device/radio, - /obj/item/device/analyzer, - /obj/item/weapon/melee/baton, - /obj/item/weapon/gun, - /obj/item/weapon/storage, - /obj/item/weapon/reagent_containers/hypospray, + /obj/item/handcuffs, + /obj/item/t_scanner, + /obj/item/rcd, + /obj/item/weldingtool, + /obj/item/tool, + /obj/item/multitool, + /obj/item/radio, + /obj/item/analyzer, + /obj/item/melee/baton, + /obj/item/gun, + /obj/item/storage, + /obj/item/reagent_containers/hypospray, /obj/item/roller, - /obj/item/device/suit_cooling_unit + /obj/item/suit_cooling_unit ) chest_type = /obj/item/clothing/suit/space/rig/military @@ -88,7 +88,7 @@ /obj/item/clothing/gloves/gauntlets/rig/military species_restricted = list(SPECIES_HUMAN,SPECIES_PROMETHEAN) -/obj/item/weapon/rig/military/equipped +/obj/item/rig/military/equipped initial_modules = list( /obj/item/rig_module/mounted/egun, /obj/item/rig_module/vision/multi, @@ -99,7 +99,7 @@ /obj/item/rig_module/chem_dispenser/combat, ) -/obj/item/weapon/rig/military/empty +/obj/item/rig/military/empty initial_modules = list( /obj/item/rig_module/ai_container, /obj/item/rig_module/electrowarfare_suite, diff --git a/code/modules/clothing/spacesuits/rig/suits/combat_vr.dm b/code/modules/clothing/spacesuits/rig/suits/combat_vr.dm index b9b8d8906ef..2af3eb66dc1 100644 --- a/code/modules/clothing/spacesuits/rig/suits/combat_vr.dm +++ b/code/modules/clothing/spacesuits/rig/suits/combat_vr.dm @@ -1,5 +1,5 @@ -/obj/item/weapon/rig/combat +/obj/item/rig/combat armor = list(melee = 80, bullet = 70, laser = 60, energy = 15, bomb = 80, bio = 100, rad = 60) -/obj/item/weapon/rig/military +/obj/item/rig/military armor = list(melee = 80, bullet = 75, laser = 65, energy = 15, bomb = 80, bio = 100, rad = 40) diff --git a/code/modules/clothing/spacesuits/rig/suits/ert.dm b/code/modules/clothing/spacesuits/rig/suits/ert.dm index 0edd36c1d28..a701511b05e 100644 --- a/code/modules/clothing/spacesuits/rig/suits/ert.dm +++ b/code/modules/clothing/spacesuits/rig/suits/ert.dm @@ -2,7 +2,7 @@ light_overlay = "helmet_light_dual" camera_networks = list(NETWORK_ERT) -/obj/item/weapon/rig/ert +/obj/item/rig/ert name = "ERT-C hardsuit control module" desc = "A suit worn by the commander of an Emergency Response Team. Has blue highlights. Armoured and space ready." suit_type = "ERT commander" @@ -15,22 +15,22 @@ armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 100, rad = 100) allowed = list( - /obj/item/device/flashlight, - /obj/item/weapon/tank, - /obj/item/device/t_scanner, - /obj/item/weapon/rcd, - /obj/item/weapon/tool/crowbar, - /obj/item/weapon/tool/screwdriver, - /obj/item/weapon/weldingtool, - /obj/item/weapon/tool/wirecutters, - /obj/item/weapon/tool/wrench, - /obj/item/device/multitool, - /obj/item/device/radio, - /obj/item/device/analyzer, - /obj/item/weapon/storage, - /obj/item/weapon/melee/baton, - /obj/item/weapon/gun, - /obj/item/weapon/reagent_containers/hypospray, + /obj/item/flashlight, + /obj/item/tank, + /obj/item/t_scanner, + /obj/item/rcd, + /obj/item/tool/crowbar, + /obj/item/tool/screwdriver, + /obj/item/weldingtool, + /obj/item/tool/wirecutters, + /obj/item/tool/wrench, + /obj/item/multitool, + /obj/item/radio, + /obj/item/analyzer, + /obj/item/storage, + /obj/item/melee/baton, + /obj/item/gun, + /obj/item/reagent_containers/hypospray, /obj/item/roller ) @@ -40,7 +40,7 @@ /obj/item/rig_module/datajack, ) -/obj/item/weapon/rig/ert/engineer +/obj/item/rig/ert/engineer name = "ERT-E suit control module" desc = "A suit worn by the engineering division of an Emergency Response Team. Has orange highlights. Armoured and space ready." suit_type = "ERT engineer" @@ -55,7 +55,7 @@ /obj/item/rig_module/device/rcd ) -/obj/item/weapon/rig/ert/medical +/obj/item/rig/ert/medical name = "ERT-M suit control module" desc = "A suit worn by the medical division of an Emergency Response Team. Has white highlights. Armoured and space ready." suit_type = "ERT medic" @@ -68,7 +68,7 @@ /obj/item/rig_module/chem_dispenser/injector/advanced ) -/obj/item/weapon/rig/ert/security +/obj/item/rig/ert/security name = "ERT-S suit control module" desc = "A suit worn by the security division of an Emergency Response Team. Has red highlights. Armoured and space ready." suit_type = "ERT security" @@ -81,7 +81,7 @@ /obj/item/rig_module/mounted/egun, ) -/obj/item/weapon/rig/ert/assetprotection +/obj/item/rig/ert/assetprotection name = "Heavy Asset Protection suit control module" desc = "A heavy suit worn by the highest level of Asset Protection, don't mess with the person wearing this. Armoured and space ready." suit_type = "heavy asset protection" diff --git a/code/modules/clothing/spacesuits/rig/suits/ert_vr.dm b/code/modules/clothing/spacesuits/rig/suits/ert_vr.dm index 4782058b3a8..34dd4fb6464 100644 --- a/code/modules/clothing/spacesuits/rig/suits/ert_vr.dm +++ b/code/modules/clothing/spacesuits/rig/suits/ert_vr.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/rig/ert/janitor +/obj/item/rig/ert/janitor name = "ERT-J suit control module" desc = "A suit worn by the janitorial division of an Emergency Response Team. Has purple highlights. Armoured and space ready." suit_type = "ERT janitor" @@ -9,5 +9,5 @@ /obj/item/rig_module/cleaner_launcher, ) -/obj/item/weapon/rig/ert/assetprotection +/obj/item/rig/ert/assetprotection armor = list(melee = 80, bullet = 70, laser = 60, energy = 15, bomb = 80, bio = 100, rad = 60) diff --git a/code/modules/clothing/spacesuits/rig/suits/light.dm b/code/modules/clothing/spacesuits/rig/suits/light.dm index b2a525f24d8..e8081194cd4 100644 --- a/code/modules/clothing/spacesuits/rig/suits/light.dm +++ b/code/modules/clothing/spacesuits/rig/suits/light.dm @@ -1,19 +1,19 @@ // Light rigs are not space-capable, but don't suffer excessive slowdown or sight issues when depowered. -/obj/item/weapon/rig/light +/obj/item/rig/light name = "light suit control module" desc = "A lighter, less armoured rig suit." icon_state = "ninja_rig" suit_type = "light suit" allowed = list( - /obj/item/weapon/gun, + /obj/item/gun, /obj/item/ammo_magazine, /obj/item/ammo_casing, - /obj/item/weapon/melee/baton, - /obj/item/weapon/handcuffs, - /obj/item/weapon/tank, - /obj/item/device/suit_cooling_unit, - /obj/item/weapon/cell, - /obj/item/weapon/storage + /obj/item/melee/baton, + /obj/item/handcuffs, + /obj/item/tank, + /obj/item/suit_cooling_unit, + /obj/item/cell, + /obj/item/storage ) armor = list(melee = 50, bullet = 15, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0) emp_protection = 10 @@ -43,7 +43,7 @@ /obj/item/clothing/head/helmet/space/rig/light name = "hood" -/obj/item/weapon/rig/light/hacker +/obj/item/rig/light/hacker name = "cybersuit control module" suit_type = "cyber" desc = "An advanced powered armour suit with many cyberwarfare enhancements. Comes with built-in insulated gloves for safely tampering with electronics." @@ -85,7 +85,7 @@ /obj/item/clothing/gloves/gauntlets/rig/light/hacker siemens_coefficient = 0 -/obj/item/weapon/rig/light/ninja +/obj/item/rig/light/ninja name = "ominous suit control module" suit_type = "ominous" desc = "A unique suit of nano-enhanced armor designed for covert operations." @@ -97,7 +97,7 @@ chest_type = /obj/item/clothing/suit/space/rig/light/ninja glove_type = /obj/item/clothing/gloves/gauntlets/rig/light/ninja boot_type = /obj/item/clothing/shoes/magboots/rig/light/ninja - cell_type = /obj/item/weapon/cell/hyper + cell_type = /obj/item/cell/hyper req_access = list(access_syndicate) @@ -126,7 +126,7 @@ /obj/item/clothing/suit/space/rig/light/ninja breach_threshold = 38 //comparable to regular hardsuits -/obj/item/weapon/rig/light/stealth +/obj/item/rig/light/stealth name = "stealth suit control module" suit_type = "stealth" desc = "A highly advanced and expensive suit designed for covert operations." diff --git a/code/modules/clothing/spacesuits/rig/suits/merc.dm b/code/modules/clothing/spacesuits/rig/suits/merc.dm index 6dcb6bb264a..aa7a691a18b 100644 --- a/code/modules/clothing/spacesuits/rig/suits/merc.dm +++ b/code/modules/clothing/spacesuits/rig/suits/merc.dm @@ -2,7 +2,7 @@ light_overlay = "helmet_light_dual_green" camera_networks = list(NETWORK_MERCENARY) -/obj/item/weapon/rig/merc +/obj/item/rig/merc name = "crimson hardsuit control module" desc = "A blood-red hardsuit featuring some fairly illegal technology." icon_state = "merc_rig" @@ -15,16 +15,16 @@ glove_type = /obj/item/clothing/gloves/gauntlets/rig/eva helm_type = /obj/item/clothing/head/helmet/space/rig/merc allowed = list( - /obj/item/device/flashlight, - /obj/item/weapon/tank, - /obj/item/device/suit_cooling_unit, - /obj/item/weapon/gun, + /obj/item/flashlight, + /obj/item/tank, + /obj/item/suit_cooling_unit, + /obj/item/gun, /obj/item/ammo_magazine, /obj/item/ammo_casing, - /obj/item/weapon/melee/baton, - /obj/item/weapon/melee/energy/sword, - /obj/item/weapon/handcuffs, - /obj/item/weapon/storage + /obj/item/melee/baton, + /obj/item/melee/energy/sword, + /obj/item/handcuffs, + /obj/item/storage ) initial_modules = list( @@ -39,7 +39,7 @@ ) //Has most of the modules removed -/obj/item/weapon/rig/merc/empty +/obj/item/rig/merc/empty initial_modules = list( /obj/item/rig_module/ai_container, /obj/item/rig_module/electrowarfare_suite, //might as well diff --git a/code/modules/clothing/spacesuits/rig/suits/pmc.dm b/code/modules/clothing/spacesuits/rig/suits/pmc.dm index e312ee826a2..ede523dd694 100644 --- a/code/modules/clothing/spacesuits/rig/suits/pmc.dm +++ b/code/modules/clothing/spacesuits/rig/suits/pmc.dm @@ -1,7 +1,7 @@ /obj/item/clothing/head/helmet/space/rig/pmc light_overlay = "helmet_light_dual" -/obj/item/weapon/rig/pmc +/obj/item/rig/pmc name = "PMC hardsuit control module" desc = "A suit worn by private military contractors. Armoured and space ready." suit_type = "PMC" @@ -13,32 +13,32 @@ armor = list(melee = 60, bullet = 50, laser = 35,energy = 15, bomb = 30, bio = 100, rad = 95) allowed = list( - /obj/item/device/flashlight, - /obj/item/weapon/tank, - /obj/item/device/t_scanner, - /obj/item/weapon/rcd, - /obj/item/weapon/tool/crowbar, - /obj/item/weapon/tool/screwdriver, - /obj/item/weapon/weldingtool, - /obj/item/weapon/tool/wirecutters, - /obj/item/weapon/tool/wrench, - /obj/item/device/multitool, - /obj/item/device/radio, - /obj/item/device/analyzer, - /obj/item/weapon/melee/baton, - /obj/item/weapon/gun, - /obj/item/weapon/storage, - /obj/item/weapon/reagent_containers/hypospray, + /obj/item/flashlight, + /obj/item/tank, + /obj/item/t_scanner, + /obj/item/rcd, + /obj/item/tool/crowbar, + /obj/item/tool/screwdriver, + /obj/item/weldingtool, + /obj/item/tool/wirecutters, + /obj/item/tool/wrench, + /obj/item/multitool, + /obj/item/radio, + /obj/item/analyzer, + /obj/item/melee/baton, + /obj/item/gun, + /obj/item/storage, + /obj/item/reagent_containers/hypospray, /obj/item/roller ) -/obj/item/weapon/rig/pmc/commander +/obj/item/rig/pmc/commander name = "PMC-C hardsuit control module" desc = "A suit worn by private military contractors. Armoured and space ready." suit_type = "PMC commander" icon_state = "pmc_commandergrey_rig" -/obj/item/weapon/rig/pmc/commander/grey/equipped +/obj/item/rig/pmc/commander/grey/equipped initial_modules = list( /obj/item/rig_module/ai_container, @@ -46,10 +46,10 @@ /obj/item/rig_module/datajack, ) -/obj/item/weapon/rig/pmc/commander/green +/obj/item/rig/pmc/commander/green icon_state = "pmc_commandergreen_rig" -/obj/item/weapon/rig/pmc/commander/green/equipped +/obj/item/rig/pmc/commander/green/equipped initial_modules = list( /obj/item/rig_module/ai_container, @@ -57,7 +57,7 @@ /obj/item/rig_module/datajack, ) -/obj/item/weapon/rig/pmc/engineer +/obj/item/rig/pmc/engineer name = "PMC-E suit control module" desc = "A suit worn by private military contractors. This one is setup for engineering. Armoured and space ready." suit_type = "PMC engineer" @@ -65,7 +65,7 @@ armor = list(melee = 60, bullet = 50, laser = 35,energy = 15, bomb = 30, bio = 100, rad = 100) siemens_coefficient = 0 -/obj/item/weapon/rig/pmc/engineer/grey/equipped +/obj/item/rig/pmc/engineer/grey/equipped initial_modules = list( /obj/item/rig_module/ai_container, @@ -74,10 +74,10 @@ /obj/item/rig_module/device/rcd ) -/obj/item/weapon/rig/pmc/engineer/green +/obj/item/rig/pmc/engineer/green icon_state = "pmc_engineergreen_rig" -/obj/item/weapon/rig/pmc/engineer/green/equipped +/obj/item/rig/pmc/engineer/green/equipped initial_modules = list( /obj/item/rig_module/ai_container, @@ -86,13 +86,13 @@ /obj/item/rig_module/device/rcd ) -/obj/item/weapon/rig/pmc/medical +/obj/item/rig/pmc/medical name = "PMC-M suit control module" desc = "A suit worn by private military contractors. This one is setup for medical. Armoured and space ready." suit_type = "PMC medic" icon_state = "pmc_medicalgrey_rig" -/obj/item/weapon/rig/pmc/medical/grey/equipped +/obj/item/rig/pmc/medical/grey/equipped initial_modules = list( /obj/item/rig_module/ai_container, @@ -101,10 +101,10 @@ /obj/item/rig_module/chem_dispenser/injector/advanced ) -/obj/item/weapon/rig/pmc/medical/green +/obj/item/rig/pmc/medical/green icon_state = "pmc_medicalgreen_rig" -/obj/item/weapon/rig/pmc/medical/green/equipped +/obj/item/rig/pmc/medical/green/equipped initial_modules = list( /obj/item/rig_module/ai_container, @@ -113,13 +113,13 @@ /obj/item/rig_module/chem_dispenser/injector/advanced ) -/obj/item/weapon/rig/pmc/security +/obj/item/rig/pmc/security name = "PMC-S suit control module" desc = "A suit worn by private military contractors. This one is setup for security. Armoured and space ready." suit_type = "PMC security" icon_state = "pmc_securitygrey_rig" -/obj/item/weapon/rig/pmc/security/grey/equipped +/obj/item/rig/pmc/security/grey/equipped initial_modules = list( /obj/item/rig_module/ai_container, @@ -127,10 +127,10 @@ /obj/item/rig_module/mounted/egun, ) -/obj/item/weapon/rig/pmc/security/green +/obj/item/rig/pmc/security/green icon_state = "pmc_securitygreen_rig" -/obj/item/weapon/rig/pmc/security/green/equipped +/obj/item/rig/pmc/security/green/equipped initial_modules = list( /obj/item/rig_module/ai_container, diff --git a/code/modules/clothing/spacesuits/rig/suits/robotics.dm b/code/modules/clothing/spacesuits/rig/suits/robotics.dm index 860ed2c6b8f..1535169cc2b 100644 --- a/code/modules/clothing/spacesuits/rig/suits/robotics.dm +++ b/code/modules/clothing/spacesuits/rig/suits/robotics.dm @@ -1,5 +1,5 @@ //Advanced Exploration Suit -/obj/item/weapon/rig/robotics +/obj/item/rig/robotics name = "advanced suit control belt" suit_type = "advanced" desc = "A lightweight suit combining the utility of a RIG with the wearability of a voidsuit." @@ -21,8 +21,8 @@ cell_type = null allowed = list( - /obj/item/device/flashlight, - /obj/item/weapon/storage/box + /obj/item/flashlight, + /obj/item/storage/box ) req_access = list() diff --git a/code/modules/clothing/spacesuits/rig/suits/station.dm b/code/modules/clothing/spacesuits/rig/suits/station.dm index ef639073625..c677d82fffb 100644 --- a/code/modules/clothing/spacesuits/rig/suits/station.dm +++ b/code/modules/clothing/spacesuits/rig/suits/station.dm @@ -20,7 +20,7 @@ camera_networks = list(NETWORK_SECURITY) //Internal Affairs suit -/obj/item/weapon/rig/internalaffairs +/obj/item/rig/internalaffairs name = "augmented tie" suit_type = "augmented suit" desc = "The last suit you'll ever wear." @@ -32,10 +32,10 @@ offline_vision_restriction = 0 allowed = list( - /obj/item/device/flashlight, - /obj/item/weapon/tank, - /obj/item/device/suit_cooling_unit, - /obj/item/weapon/storage, + /obj/item/flashlight, + /obj/item/tank, + /obj/item/suit_cooling_unit, + /obj/item/storage, ) req_access = list() @@ -45,7 +45,7 @@ helm_type = null boot_type = null -/obj/item/weapon/rig/internalaffairs/equipped +/obj/item/rig/internalaffairs/equipped req_access = list(access_lawyer) @@ -62,7 +62,7 @@ boot_type = null //Mining suit -/obj/item/weapon/rig/industrial +/obj/item/rig/industrial name = "industrial suit control module" suit_type = "industrial hardsuit" desc = "A heavy, powerful hardsuit used by construction crews and mining corporations." @@ -79,20 +79,20 @@ helm_type = /obj/item/clothing/head/helmet/space/rig/industrial allowed = list( - /obj/item/device/flashlight, - /obj/item/weapon/tank, - /obj/item/device/suit_cooling_unit, - /obj/item/weapon/storage, - /obj/item/device/t_scanner, - /obj/item/weapon/pickaxe, - /obj/item/weapon/rcd + /obj/item/flashlight, + /obj/item/tank, + /obj/item/suit_cooling_unit, + /obj/item/storage, + /obj/item/t_scanner, + /obj/item/pickaxe, + /obj/item/rcd ) req_access = list() req_one_access = list() -/obj/item/weapon/rig/industrial/equipped +/obj/item/rig/industrial/equipped initial_modules = list( /obj/item/rig_module/device/plasmacutter, @@ -102,7 +102,7 @@ /obj/item/rig_module/maneuvering_jets) //VOREStation Edit - Added maneuvering jets //Engineering suit -/obj/item/weapon/rig/eva +/obj/item/rig/eva name = "EVA suit control module" suit_type = "EVA hardsuit" desc = "A light hardsuit for repairs and maintenance to the outside of habitats and vessels." @@ -117,12 +117,12 @@ glove_type = /obj/item/clothing/gloves/gauntlets/rig/eva allowed = list( - /obj/item/device/flashlight, - /obj/item/weapon/tank, - /obj/item/device/suit_cooling_unit, - /obj/item/weapon/storage, - /obj/item/device/t_scanner, - /obj/item/weapon/rcd + /obj/item/flashlight, + /obj/item/tank, + /obj/item/suit_cooling_unit, + /obj/item/storage, + /obj/item/t_scanner, + /obj/item/rcd ) req_access = list() @@ -133,7 +133,7 @@ name = "insulated gauntlets" siemens_coefficient = 0 -/obj/item/weapon/rig/eva/equipped +/obj/item/rig/eva/equipped req_access = list(access_engine) @@ -145,7 +145,7 @@ ) //Chief Engineer's rig. This is sort of a halfway point between the old hardsuits (voidsuits) and the rig class. -/obj/item/weapon/rig/ce +/obj/item/rig/ce name = "advanced voidsuit control module" suit_type = "advanced voidsuit" @@ -164,12 +164,12 @@ boot_type = /obj/item/clothing/shoes/magboots/rig/ce //VOREStation Add allowed = list( - /obj/item/device/flashlight, - /obj/item/weapon/tank, - /obj/item/device/suit_cooling_unit, - /obj/item/weapon/storage, - /obj/item/device/t_scanner, - /obj/item/weapon/rcd + /obj/item/flashlight, + /obj/item/tank, + /obj/item/suit_cooling_unit, + /obj/item/storage, + /obj/item/t_scanner, + /obj/item/rcd ) req_access = list() @@ -180,7 +180,7 @@ name = "insulated gauntlets" siemens_coefficient = 0 -/obj/item/weapon/rig/ce/equipped +/obj/item/rig/ce/equipped req_access = list(access_ce) @@ -193,7 +193,7 @@ ) //Research Director's suit. Just add red crowbar. -/obj/item/weapon/rig/hazmat +/obj/item/rig/hazmat name = "AMI control module" suit_type = "hazmat hardsuit" @@ -211,36 +211,36 @@ //ywadd end allowed = list( - /obj/item/device/flashlight, - /obj/item/weapon/tank, - /obj/item/device/suit_cooling_unit, + /obj/item/flashlight, + /obj/item/tank, + /obj/item/suit_cooling_unit, /obj/item/stack/flag, - /obj/item/weapon/storage, - /obj/item/weapon/pickaxe, - /obj/item/device/healthanalyzer, - /obj/item/device/measuring_tape, - /obj/item/device/ano_scanner, - /obj/item/device/depth_scanner, - /obj/item/device/core_sampler, - /obj/item/device/gps, - /obj/item/device/beacon_locator, - /obj/item/device/radio/beacon, - /obj/item/weapon/pickaxe/hand + /obj/item/storage, + /obj/item/pickaxe, + /obj/item/healthanalyzer, + /obj/item/measuring_tape, + /obj/item/ano_scanner, + /obj/item/depth_scanner, + /obj/item/core_sampler, + /obj/item/gps, + /obj/item/beacon_locator, + /obj/item/radio/beacon, + /obj/item/pickaxe/hand ) req_access = list() req_one_access = list() -//ywadd start +// yw add start /obj/item/clothing/gloves/gauntlets/rig/hazmat icon_override = 'icons/vore/rig_yw/rigs_gauntlets_onmob.dmi' /obj/item/clothing/shoes/magboots/rig/hazmat icon = 'icons/vore/rig_yw/rigs_shoes.dmi' icon_override = 'icons/vore/rig_yw/rigs_shoes_onmob.dmi' -//ywadd end +// yw add end -/obj/item/weapon/rig/hazmat/equipped +/obj/item/rig/hazmat/equipped req_access = list(access_rd) @@ -251,7 +251,7 @@ ) //Paramedic suit -/obj/item/weapon/rig/medical +/obj/item/rig/medical name = "rescue suit control module" suit_type = "rescue hardsuit" @@ -266,11 +266,11 @@ helm_type = /obj/item/clothing/head/helmet/space/rig/medical allowed = list( - /obj/item/device/flashlight, - /obj/item/weapon/tank, - /obj/item/device/suit_cooling_unit, - /obj/item/weapon/storage, - /obj/item/device/healthanalyzer, + /obj/item/flashlight, + /obj/item/tank, + /obj/item/suit_cooling_unit, + /obj/item/storage, + /obj/item/healthanalyzer, /obj/item/stack/medical, /obj/item/roller ) @@ -278,7 +278,7 @@ req_access = list() req_one_access = list() -/obj/item/weapon/rig/medical/equipped +/obj/item/rig/medical/equipped req_access = list(access_medical) @@ -291,7 +291,7 @@ ) //Security suit -/obj/item/weapon/rig/hazard +/obj/item/rig/hazard name = "hazard hardsuit control module" suit_type = "hazard hardsuit" desc = "A Security hardsuit designed for prolonged EVA in dangerous environments." @@ -305,23 +305,23 @@ helm_type = /obj/item/clothing/head/helmet/space/rig/hazard allowed = list( - /obj/item/weapon/gun, - /obj/item/device/flashlight, - /obj/item/weapon/tank, - /obj/item/device/suit_cooling_unit, - /obj/item/weapon/melee/baton, - /obj/item/weapon/storage + /obj/item/gun, + /obj/item/flashlight, + /obj/item/tank, + /obj/item/suit_cooling_unit, + /obj/item/melee/baton, + /obj/item/storage ) req_access = list() req_one_access = list() -/obj/item/weapon/rig/hazard/equipped +/obj/item/rig/hazard/equipped initial_modules = list( /obj/item/rig_module/vision/sechud, /obj/item/rig_module/maneuvering_jets, /obj/item/rig_module/grenade_launcher, /obj/item/rig_module/mounted/taser - ) \ No newline at end of file + ) diff --git a/code/modules/clothing/spacesuits/rig/suits/station_vr.dm b/code/modules/clothing/spacesuits/rig/suits/station_vr.dm index a58a296cd71..72d8d48f13e 100644 --- a/code/modules/clothing/spacesuits/rig/suits/station_vr.dm +++ b/code/modules/clothing/spacesuits/rig/suits/station_vr.dm @@ -1,5 +1,5 @@ //Access restriction and seal delay, plus pat_module and rescue_pharm for medical suit -/obj/item/weapon/rig/medical/equipped +/obj/item/rig/medical/equipped req_access = list(access_medical) seal_delay = 5 @@ -11,69 +11,69 @@ ) //Armor reduction for industrial suit -/obj/item/weapon/rig/industrial/vendor +/obj/item/rig/industrial/vendor desc = "A heavy, powerful hardsuit used by construction crews and mining corporations. This is a mass production model with reduced armor." armor = list(melee = 50, bullet = 10, laser = 20, energy = 15, bomb = 30, bio = 100, rad = 50) //Area allowing backpacks to be placed on rigsuits. -/obj/item/weapon/rig/vox - allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/backpack, /obj/item/device/bluespaceradio, /obj/item/device/defib_kit) +/obj/item/rig/vox + allowed = list(/obj/item/gun,/obj/item/flashlight,/obj/item/tank,/obj/item/suit_cooling_unit,/obj/item/storage/backpack, /obj/item/bluespaceradio, /obj/item/defib_kit) -/obj/item/weapon/rig/combat - allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/melee/baton,/obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit) +/obj/item/rig/combat + allowed = list(/obj/item/gun,/obj/item/flashlight,/obj/item/tank,/obj/item/suit_cooling_unit,/obj/item/melee/baton,/obj/item/storage/backpack,/obj/item/bluespaceradio, /obj/item/defib_kit) -/obj/item/weapon/rig/ert - allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank, /obj/item/device/t_scanner, /obj/item/weapon/rcd, /obj/item/weapon/tool/crowbar, \ - /obj/item/weapon/tool/screwdriver, /obj/item/weapon/weldingtool, /obj/item/weapon/tool/wirecutters, /obj/item/weapon/tool/wrench, /obj/item/device/multitool, \ - /obj/item/device/radio, /obj/item/device/analyzer,/obj/item/weapon/storage/briefcase/inflatable, /obj/item/weapon/melee/baton, /obj/item/weapon/gun, \ - /obj/item/weapon/storage/firstaid, /obj/item/weapon/reagent_containers/hypospray, /obj/item/roller, /obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit) +/obj/item/rig/ert + allowed = list(/obj/item/flashlight, /obj/item/tank, /obj/item/t_scanner, /obj/item/rcd, /obj/item/tool/crowbar, \ + /obj/item/tool/screwdriver, /obj/item/weldingtool, /obj/item/tool/wirecutters, /obj/item/tool/wrench, /obj/item/multitool, \ + /obj/item/radio, /obj/item/analyzer,/obj/item/storage/briefcase/inflatable, /obj/item/melee/baton, /obj/item/gun, \ + /obj/item/storage/firstaid, /obj/item/reagent_containers/hypospray, /obj/item/roller, /obj/item/storage/backpack,/obj/item/bluespaceradio, /obj/item/defib_kit) -/obj/item/weapon/rig/light/ninja - allowed = list(/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/cell, /obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit) +/obj/item/rig/light/ninja + allowed = list(/obj/item/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/handcuffs,/obj/item/tank,/obj/item/suit_cooling_unit,/obj/item/cell, /obj/item/storage/backpack,/obj/item/bluespaceradio, /obj/item/defib_kit) -/obj/item/weapon/rig/merc - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/handcuffs, /obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit) +/obj/item/rig/merc + allowed = list(/obj/item/flashlight,/obj/item/tank,/obj/item/suit_cooling_unit,/obj/item/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword,/obj/item/handcuffs, /obj/item/storage/backpack,/obj/item/bluespaceradio, /obj/item/defib_kit) -/obj/item/weapon/rig/ce - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd,/obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit) +/obj/item/rig/ce + allowed = list(/obj/item/flashlight,/obj/item/tank,/obj/item/suit_cooling_unit,/obj/item/storage/bag/ore,/obj/item/t_scanner,/obj/item/pickaxe, /obj/item/rcd,/obj/item/storage/backpack,/obj/item/bluespaceradio, /obj/item/defib_kit) -/obj/item/weapon/rig/medical - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/firstaid,/obj/item/device/healthanalyzer,/obj/item/stack/medical,/obj/item/roller,/obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit) +/obj/item/rig/medical + allowed = list(/obj/item/flashlight,/obj/item/tank,/obj/item/suit_cooling_unit,/obj/item/storage/firstaid,/obj/item/healthanalyzer,/obj/item/stack/medical,/obj/item/roller,/obj/item/storage/backpack,/obj/item/bluespaceradio, /obj/item/defib_kit) -/obj/item/weapon/rig/hazmat - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/stack/flag,/obj/item/weapon/storage/excavation,/obj/item/weapon/pickaxe,/obj/item/device/healthanalyzer,/obj/item/device/measuring_tape,/obj/item/device/ano_scanner,/obj/item/device/depth_scanner,/obj/item/device/core_sampler,/obj/item/device/gps,/obj/item/device/beacon_locator,/obj/item/device/radio/beacon,/obj/item/weapon/pickaxe/hand,/obj/item/weapon/storage/bag/fossils,/obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit) +/obj/item/rig/hazmat + allowed = list(/obj/item/flashlight,/obj/item/tank,/obj/item/suit_cooling_unit,/obj/item/stack/flag,/obj/item/storage/excavation,/obj/item/pickaxe,/obj/item/healthanalyzer,/obj/item/measuring_tape,/obj/item/ano_scanner,/obj/item/depth_scanner,/obj/item/core_sampler,/obj/item/gps,/obj/item/beacon_locator,/obj/item/radio/beacon,/obj/item/pickaxe/hand,/obj/item/storage/bag/fossils,/obj/item/storage/backpack,/obj/item/bluespaceradio, /obj/item/defib_kit) -/obj/item/weapon/rig/hazard - allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/melee/baton,/obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit) +/obj/item/rig/hazard + allowed = list(/obj/item/gun,/obj/item/flashlight,/obj/item/tank,/obj/item/suit_cooling_unit,/obj/item/melee/baton,/obj/item/storage/backpack,/obj/item/bluespaceradio, /obj/item/defib_kit) -/obj/item/weapon/rig/industrial - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd,/obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit) +/obj/item/rig/industrial + allowed = list(/obj/item/flashlight,/obj/item/tank,/obj/item/suit_cooling_unit,/obj/item/storage/bag/ore,/obj/item/t_scanner,/obj/item/pickaxe, /obj/item/rcd,/obj/item/storage/backpack,/obj/item/bluespaceradio, /obj/item/defib_kit) -/obj/item/weapon/rig/military - allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/handcuffs, \ - /obj/item/device/t_scanner, /obj/item/weapon/rcd, /obj/item/weapon/weldingtool, /obj/item/weapon/tool, /obj/item/device/multitool, \ - /obj/item/device/radio, /obj/item/device/analyzer,/obj/item/weapon/storage/briefcase/inflatable, /obj/item/weapon/melee/baton, /obj/item/weapon/gun, \ - /obj/item/weapon/storage/firstaid, /obj/item/weapon/reagent_containers/hypospray, /obj/item/roller, /obj/item/device/suit_cooling_unit, /obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit) +/obj/item/rig/military + allowed = list(/obj/item/flashlight, /obj/item/tank,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/handcuffs, \ + /obj/item/t_scanner, /obj/item/rcd, /obj/item/weldingtool, /obj/item/tool, /obj/item/multitool, \ + /obj/item/radio, /obj/item/analyzer,/obj/item/storage/briefcase/inflatable, /obj/item/melee/baton, /obj/item/gun, \ + /obj/item/storage/firstaid, /obj/item/reagent_containers/hypospray, /obj/item/roller, /obj/item/suit_cooling_unit, /obj/item/storage/backpack,/obj/item/bluespaceradio, /obj/item/defib_kit) -/obj/item/weapon/rig/pmc - allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank, /obj/item/device/t_scanner, /obj/item/weapon/rcd, /obj/item/weapon/tool/crowbar, \ - /obj/item/weapon/tool/screwdriver, /obj/item/weapon/weldingtool, /obj/item/weapon/tool/wirecutters, /obj/item/weapon/tool/wrench, /obj/item/device/multitool, \ - /obj/item/device/radio, /obj/item/device/analyzer,/obj/item/weapon/storage/briefcase/inflatable, /obj/item/weapon/melee/baton, /obj/item/weapon/gun, \ - /obj/item/weapon/storage/firstaid, /obj/item/weapon/reagent_containers/hypospray, /obj/item/roller, /obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit) +/obj/item/rig/pmc + allowed = list(/obj/item/flashlight, /obj/item/tank, /obj/item/t_scanner, /obj/item/rcd, /obj/item/tool/crowbar, \ + /obj/item/tool/screwdriver, /obj/item/weldingtool, /obj/item/tool/wirecutters, /obj/item/tool/wrench, /obj/item/multitool, \ + /obj/item/radio, /obj/item/analyzer,/obj/item/storage/briefcase/inflatable, /obj/item/melee/baton, /obj/item/gun, \ + /obj/item/storage/firstaid, /obj/item/reagent_containers/hypospray, /obj/item/roller, /obj/item/storage/backpack,/obj/item/bluespaceradio, /obj/item/defib_kit) -/obj/item/weapon/rig/robotics - allowed = list(/obj/item/device/flashlight, /obj/item/weapon/storage/box, /obj/item/weapon/storage/belt, /obj/item/device/defib_kit/compact) +/obj/item/rig/robotics + allowed = list(/obj/item/flashlight, /obj/item/storage/box, /obj/item/storage/belt, /obj/item/defib_kit/compact) // 'Technomancer' hardsuit -/obj/item/weapon/rig/focalpoint +/obj/item/rig/focalpoint name = "\improper F.P.E. hardsuit control module" desc = "A high-end hardsuit produced by Focal Point Energistics, focused around repair and construction." - + icon = 'icons/obj/rig_modules_vr.dmi' // the item default_mob_icon = 'icons/mob/rig_back_vr.dmi' // the onmob icon_state = "techno_rig" suit_type = "\improper F.P.E. hardsuit" - cell_type = /obj/item/weapon/cell/hyper + cell_type = /obj/item/cell/hyper // Copied from CE rig slowdown = 0 @@ -84,14 +84,14 @@ min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE max_heat_protection_temperature = FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE // so it's like a rig firesuit armor = list("melee" = 40, "bullet" = 10, "laser" = 30, "energy" = 55, "bomb" = 70, "bio" = 100, "rad" = 100) - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/backpack) - + allowed = list(/obj/item/flashlight,/obj/item/tank,/obj/item/suit_cooling_unit,/obj/item/storage/backpack) + chest_type = /obj/item/clothing/suit/space/rig/focalpoint helm_type = /obj/item/clothing/head/helmet/space/rig/focalpoint boot_type = /obj/item/clothing/shoes/magboots/rig/ce/focalpoint glove_type = /obj/item/clothing/gloves/gauntlets/rig/focalpoint -/obj/item/weapon/rig/focalpoint/equipped +/obj/item/rig/focalpoint/equipped initial_modules = list( /obj/item/rig_module/maneuvering_jets, /obj/item/rig_module/teleporter, // Try not to set yourself on fire @@ -133,28 +133,28 @@ sprite_sheets = null // 'Ironhammer' hardsuit -/obj/item/weapon/rig/hephaestus +/obj/item/rig/hephaestus name = "\improper Hephaestus hardsuit control module" desc = "A high-end hardsuit produced by Hephaestus Industries, focused on destroying the competition. Literally." - + icon = 'icons/obj/rig_modules_vr.dmi' // the item default_mob_icon = 'icons/mob/rig_back_vr.dmi' // the onmob icon_state = "ihs_rig" suit_type = "\improper Hephaestus hardsuit" - cell_type = /obj/item/weapon/cell/super - allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/handcuffs, \ - /obj/item/device/t_scanner, /obj/item/weapon/rcd, /obj/item/weapon/weldingtool, /obj/item/weapon/tool, /obj/item/device/multitool, \ - /obj/item/device/radio, /obj/item/device/analyzer,/obj/item/weapon/storage/briefcase/inflatable, /obj/item/weapon/melee/baton, /obj/item/weapon/gun, \ - /obj/item/weapon/storage/firstaid, /obj/item/weapon/reagent_containers/hypospray, /obj/item/roller, /obj/item/device/suit_cooling_unit, /obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit) + cell_type = /obj/item/cell/super + allowed = list(/obj/item/flashlight, /obj/item/tank,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/handcuffs, \ + /obj/item/t_scanner, /obj/item/rcd, /obj/item/weldingtool, /obj/item/tool, /obj/item/multitool, \ + /obj/item/radio, /obj/item/analyzer,/obj/item/storage/briefcase/inflatable, /obj/item/melee/baton, /obj/item/gun, \ + /obj/item/storage/firstaid, /obj/item/reagent_containers/hypospray, /obj/item/roller, /obj/item/suit_cooling_unit, /obj/item/storage/backpack,/obj/item/bluespaceradio, /obj/item/defib_kit) armor = list("melee" = 70, "bullet" = 70, "laser" = 70, "energy" = 50, "bomb" = 60, "bio" = 100, "rad" = 20) - + chest_type = /obj/item/clothing/suit/space/rig/hephaestus helm_type = /obj/item/clothing/head/helmet/space/rig/hephaestus boot_type = /obj/item/clothing/shoes/magboots/rig/hephaestus glove_type = /obj/item/clothing/gloves/gauntlets/rig/hephaestus -/obj/item/weapon/rig/hephaestus/equipped +/obj/item/rig/hephaestus/equipped initial_modules = list( /obj/item/rig_module/maneuvering_jets, /obj/item/rig_module/grenade_launcher, @@ -195,29 +195,29 @@ sprite_sheets = null // 'Zero' rig -/obj/item/weapon/rig/zero +/obj/item/rig/zero name = "null hardsuit control module" desc = "A very lightweight suit designed to allow use inside mechs and starfighters. It feels like you're wearing nothing at all." - + icon = 'icons/obj/rig_modules_vr.dmi' // the item default_mob_icon = 'icons/mob/rig_back_vr.dmi' // the onmob icon_state = "null_rig" suit_type = "null hardsuit" - cell_type = /obj/item/weapon/cell/high + cell_type = /obj/item/cell/high chest_type = /obj/item/clothing/suit/space/rig/zero helm_type = /obj/item/clothing/head/helmet/space/rig/zero boot_type = null glove_type = null - allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/backpack, /obj/item/device/bluespaceradio, /obj/item/device/defib_kit) - + allowed = list(/obj/item/gun,/obj/item/flashlight,/obj/item/tank,/obj/item/suit_cooling_unit,/obj/item/storage/backpack, /obj/item/bluespaceradio, /obj/item/defib_kit) + slowdown = 0 offline_slowdown = 1 offline_vision_restriction = 2 armor = list("melee" = 20, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 35, "bio" = 100, "rad" = 20) -/obj/item/weapon/rig/zero/equipped +/obj/item/rig/zero/equipped initial_modules = list( /obj/item/rig_module/maneuvering_jets ) @@ -241,16 +241,16 @@ slowdown = 0 // Medical rig from bay -/obj/item/weapon/rig/baymed +/obj/item/rig/baymed name = "\improper SolGov medical hardsuit control module" //YW EDIT desc = "A lightweight first responder hardsuit from the SolGov. Not suitable for combat use, but advanced myomer fibers can push the user to incredible speeds." //YW EDIT - + icon = 'icons/obj/rig_modules_vr.dmi' // the item default_mob_icon = 'icons/mob/rig_back_vr.dmi' // the onmob icon_state = "medical_rig_bay" item_state = null suit_type = "medical hardsuit" - cell_type = /obj/item/weapon/cell/high + cell_type = /obj/item/cell/high chest_type = /obj/item/clothing/suit/space/rig/baymed helm_type = /obj/item/clothing/head/helmet/space/rig/baymed @@ -258,22 +258,22 @@ glove_type = /obj/item/clothing/gloves/gauntlets/rig/baymed allowed = list( - /obj/item/device/flashlight, - /obj/item/weapon/tank, - /obj/item/device/suit_cooling_unit, - /obj/item/device/healthanalyzer, + /obj/item/flashlight, + /obj/item/tank, + /obj/item/suit_cooling_unit, + /obj/item/healthanalyzer, /obj/item/stack/medical, /obj/item/roller, - /obj/item/weapon/storage/backpack, - /obj/item/device/bluespaceradio, - /obj/item/device/defib_kit) + /obj/item/storage/backpack, + /obj/item/bluespaceradio, + /obj/item/defib_kit) // speedy paper slowdown = -0.5 armor = list("melee" = 10, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 25, "bio" = 100, "rad" = 20) -/obj/item/weapon/rig/baymed/equipped - +/obj/item/rig/baymed/equipped + initial_modules = list( /obj/item/rig_module/maneuvering_jets, /obj/item/rig_module/sprinter, @@ -315,16 +315,16 @@ sprite_sheets_obj = null // Engineering/'Industrial' rig from bay -/obj/item/weapon/rig/bayeng +/obj/item/rig/bayeng name = "\improper SolGov engineering hardsuit control module" //YW EDIT desc = "An advanced construction hardsuit from the SolGov. Built like a tank. Don't expect to be taking any tight corners while running." //YW EDIT - + icon = 'icons/obj/rig_modules_vr.dmi' // the item default_mob_icon = 'icons/mob/rig_back_vr.dmi' // the onmob icon_state = "engineering_rig_bay" item_state = null suit_type = "engineering hardsuit" - cell_type = /obj/item/weapon/cell/super + cell_type = /obj/item/cell/super chest_type = /obj/item/clothing/suit/space/rig/bayeng helm_type = /obj/item/clothing/head/helmet/space/rig/bayeng @@ -332,22 +332,22 @@ glove_type = /obj/item/clothing/gloves/gauntlets/rig/bayeng allowed = list( - /obj/item/device/flashlight, - /obj/item/weapon/tank, - /obj/item/device/suit_cooling_unit, - /obj/item/device/t_scanner, - /obj/item/weapon/pickaxe, - /obj/item/weapon/rcd, - /obj/item/weapon/storage/backpack, - /obj/item/device/bluespaceradio, - /obj/item/device/defib_kit + /obj/item/flashlight, + /obj/item/tank, + /obj/item/suit_cooling_unit, + /obj/item/t_scanner, + /obj/item/pickaxe, + /obj/item/rcd, + /obj/item/storage/backpack, + /obj/item/bluespaceradio, + /obj/item/defib_kit ) slowdown = 0 offline_slowdown = 5 // very bulky armor = list(melee = 60, bullet = 50, laser = 30, energy = 15, bomb = 30, bio = 100, rad = 50) -/obj/item/weapon/rig/bayeng/equipped +/obj/item/rig/bayeng/equipped initial_modules = list( /obj/item/rig_module/maneuvering_jets, /obj/item/rig_module/device/rcd, @@ -391,16 +391,16 @@ siemens_coefficient = 0 // insulated // Pathfinder rig from bay - event/reward stuff here -/obj/item/weapon/rig/pathfinder +/obj/item/rig/pathfinder name = "\improper SolGov pathfinder hardsuit control module" //YW EDIT desc = "A SolGov pathfinder hardsuit is hard to come by... how'd this end up on the frontier?" //YW EDIT - + icon = 'icons/obj/rig_modules_vr.dmi' // the item default_mob_icon = 'icons/mob/rig_back_vr.dmi' // the onmob icon_state = "pathfinder_rig_bay" item_state = null suit_type = "pathfinder hardsuit" - cell_type = /obj/item/weapon/cell/super + cell_type = /obj/item/cell/super chest_type = /obj/item/clothing/suit/space/rig/pathfinder helm_type = /obj/item/clothing/head/helmet/space/rig/pathfinder @@ -412,7 +412,7 @@ offline_vision_restriction = 2 // doesn't even have a way to see out without power armor = list(melee = 60, bullet = 50, laser = 30, energy = 15, bomb = 30, bio = 100, rad = 50) -/obj/item/weapon/rig/pathfinder//equipped +/obj/item/rig/pathfinder//equipped initial_modules = list( /obj/item/rig_module/maneuvering_jets, /obj/item/rig_module/teleporter, diff --git a/code/modules/clothing/spacesuits/spacesuits.dm b/code/modules/clothing/spacesuits/spacesuits.dm index a07ebe19a9b..b70ddc6a571 100644 --- a/code/modules/clothing/spacesuits/spacesuits.dm +++ b/code/modules/clothing/spacesuits/spacesuits.dm @@ -27,7 +27,7 @@ var/obj/machinery/camera/camera var/list/camera_networks - action_button_name = "Toggle Helmet Light" + actions_types = list(/datum/action/item_action/toggle_helmet_light) light_overlay = "helmet_light" light_range = 4 @@ -76,7 +76,7 @@ flags = PHORONGUARD item_flags = THICKMATERIAL body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency/oxygen,/obj/item/device/suit_cooling_unit) + allowed = list(/obj/item/flashlight,/obj/item/tank/emergency/oxygen,/obj/item/suit_cooling_unit) slowdown = 1.5 armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 50) flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL|HIDETIE|HIDEHOLSTER diff --git a/code/modules/clothing/spacesuits/syndi.dm b/code/modules/clothing/spacesuits/syndi.dm index b49ad6098f4..b30c41450d7 100644 --- a/code/modules/clothing/spacesuits/syndi.dm +++ b/code/modules/clothing/spacesuits/syndi.dm @@ -11,7 +11,7 @@ icon_state = "syndicate" desc = "A crimson spacesuit sporting clean lines and durable plating. Robust, reliable, and slightly suspicious." w_class = ITEMSIZE_NORMAL - allowed = list(/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/handcuffs,/obj/item/weapon/tank/emergency/oxygen) + allowed = list(/obj/item/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword,/obj/item/handcuffs,/obj/item/tank/emergency/oxygen) slowdown = 0.5 armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30) siemens_coefficient = 0.6 diff --git a/code/modules/clothing/spacesuits/void/ert_vr.dm b/code/modules/clothing/spacesuits/void/ert_vr.dm index 9d98e3273cb..f165f11f82f 100644 --- a/code/modules/clothing/spacesuits/void/ert_vr.dm +++ b/code/modules/clothing/spacesuits/void/ert_vr.dm @@ -15,7 +15,7 @@ min_pressure_protection = 0 * ONE_ATMOSPHERE max_pressure_protection = 15* ONE_ATMOSPHERE max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE+10000 - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/handcuffs) + allowed = list(/obj/item/flashlight,/obj/item/tank,/obj/item/suit_cooling_unit,/obj/item/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword,/obj/item/handcuffs) /obj/item/clothing/suit/space/void/responseteam/command name = "Mark VII-C Emergency Response Team Commander Suit" @@ -70,11 +70,11 @@ if(!isliving(user)) return - if(istype(W, /obj/item/clothing/accessory) || istype(W, /obj/item/weapon/hand_labeler)) + if(istype(W, /obj/item/clothing/accessory) || istype(W, /obj/item/hand_labeler)) return ..() if(user.get_inventory_slot(src) == slot_wear_suit) - to_chat(user, "You cannot modify \the [src] while it is being worn.") + to_chat(user, span_warning("You cannot modify \the [src] while it is being worn.")) return if(W.has_tool_quality(TOOL_SCREWDRIVER)) diff --git a/code/modules/clothing/spacesuits/void/event.dm b/code/modules/clothing/spacesuits/void/event.dm index 0fff3afcad8..ac2d7e2cfee 100644 --- a/code/modules/clothing/spacesuits/void/event.dm +++ b/code/modules/clothing/spacesuits/void/event.dm @@ -18,14 +18,14 @@ icon_state = "rig-vintagecrew" item_state_slots = list(slot_r_hand_str = "sec_voidsuitTG", slot_l_hand_str = "sec_voidsuitTG") armor = list(melee = 30, bullet = 15, laser = 15,energy = 5, bomb = 20, bio = 100, rad = 50) - allowed = list(/obj/item/device/flashlight, - /obj/item/weapon/tank, - /obj/item/device/suit_cooling_unit, - /obj/item/weapon/storage/briefcase/inflatable, - /obj/item/device/gps, - /obj/item/device/radio/beacon, - /obj/item/weapon/pickaxe, - /obj/item/weapon/shovel + allowed = list(/obj/item/flashlight, + /obj/item/tank, + /obj/item/suit_cooling_unit, + /obj/item/storage/briefcase/inflatable, + /obj/item/gps, + /obj/item/radio/beacon, + /obj/item/pickaxe, + /obj/item/shovel ) //Engineering Crewsuit (ORANGE, RING) @@ -52,25 +52,25 @@ max_pressure_protection = 15 * ONE_ATMOSPHERE max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE+10000 breach_threshold = 14 //These are kinda thicc - allowed = list(/obj/item/device/flashlight, - /obj/item/weapon/tank, - /obj/item/device/suit_cooling_unit, - /obj/item/device/t_scanner, - /obj/item/weapon/rcd, - /obj/item/weapon/rcd_ammo, - /obj/item/weapon/storage/toolbox, - /obj/item/weapon/storage/briefcase/inflatable, - /obj/item/device/gps, - /obj/item/device/radio/beacon, - /obj/item/device/robotanalyzer, - /obj/item/device/geiger, - /obj/item/weapon/tool, - /obj/item/weapon/weldingtool, - /obj/item/weapon/cell, - /obj/item/weapon/pickaxe, - /obj/item/device/measuring_tape, - /obj/item/device/lightreplacer, - /obj/item/weapon/shovel + allowed = list(/obj/item/flashlight, + /obj/item/tank, + /obj/item/suit_cooling_unit, + /obj/item/t_scanner, + /obj/item/rcd, + /obj/item/rcd_ammo, + /obj/item/storage/toolbox, + /obj/item/storage/briefcase/inflatable, + /obj/item/gps, + /obj/item/radio/beacon, + /obj/item/robotanalyzer, + /obj/item/geiger, + /obj/item/tool, + /obj/item/weldingtool, + /obj/item/cell, + /obj/item/pickaxe, + /obj/item/measuring_tape, + /obj/item/lightreplacer, + /obj/item/shovel ) //Medical Crewsuit (GREEN, CROSS) @@ -94,18 +94,18 @@ icon_state = "rig-vintagemedic" item_state_slots = list(slot_r_hand_str = "sec_voidsuitTG", slot_l_hand_str = "sec_voidsuitTG") armor = list(melee = 30, bullet = 15, laser = 15, energy = 5, bomb = 25, bio = 100, rad = 75) - allowed = list(/obj/item/device/flashlight, - /obj/item/weapon/tank, - /obj/item/device/suit_cooling_unit, - /obj/item/weapon/storage/firstaid, - /obj/item/device/healthanalyzer, - /obj/item/device/robotanalyzer, - /obj/item/device/mass_spectrometer, - /obj/item/device/halogen_counter, + allowed = list(/obj/item/flashlight, + /obj/item/tank, + /obj/item/suit_cooling_unit, + /obj/item/storage/firstaid, + /obj/item/healthanalyzer, + /obj/item/robotanalyzer, + /obj/item/mass_spectrometer, + /obj/item/halogen_counter, /obj/item/stack/medical, - /obj/item/device/gps, - /obj/item/device/radio/beacon, - /obj/item/weapon/cell + /obj/item/gps, + /obj/item/radio/beacon, + /obj/item/cell ) //Marine Crewsuit (BLUE, SHIELD) @@ -128,21 +128,21 @@ breach_threshold = 14 //These are kinda thicc resilience = 0.15 //Armored siemens_coefficient = 0.8 - allowed = list(/obj/item/weapon/gun, - /obj/item/device/flashlight, - /obj/item/weapon/tank, - /obj/item/device/suit_cooling_unit, - /obj/item/weapon/melee, - /obj/item/weapon/grenade, - /obj/item/device/flash, - /obj/item/device/gps, - /obj/item/device/radio/beacon, - /obj/item/weapon/handcuffs, - /obj/item/device/hailer, - /obj/item/device/holowarrant, - /obj/item/device/megaphone, + allowed = list(/obj/item/gun, + /obj/item/flashlight, + /obj/item/tank, + /obj/item/suit_cooling_unit, + /obj/item/melee, + /obj/item/grenade, + /obj/item/flash, + /obj/item/gps, + /obj/item/radio/beacon, + /obj/item/handcuffs, + /obj/item/hailer, + /obj/item/holowarrant, + /obj/item/megaphone, /obj/item/ammo_magazine, - /obj/item/weapon/cell + /obj/item/cell ) //Officer Crewsuit (GOLD, X) @@ -166,21 +166,21 @@ breach_threshold = 16 //Extra Thicc resilience = 0.1 //Heavily Armored siemens_coefficient = 0.7 - allowed = list(/obj/item/weapon/gun, - /obj/item/device/flashlight, - /obj/item/weapon/tank, - /obj/item/device/suit_cooling_unit, - /obj/item/weapon/melee, - /obj/item/weapon/grenade, - /obj/item/device/flash, - /obj/item/device/gps, - /obj/item/device/radio/beacon, - /obj/item/weapon/handcuffs, - /obj/item/device/hailer, - /obj/item/device/holowarrant, - /obj/item/device/megaphone, + allowed = list(/obj/item/gun, + /obj/item/flashlight, + /obj/item/tank, + /obj/item/suit_cooling_unit, + /obj/item/melee, + /obj/item/grenade, + /obj/item/flash, + /obj/item/gps, + /obj/item/radio/beacon, + /obj/item/handcuffs, + /obj/item/hailer, + /obj/item/holowarrant, + /obj/item/megaphone, /obj/item/ammo_magazine, - /obj/item/weapon/cell + /obj/item/cell ) //Pilot Crewsuit (ROYAL BLUE, I) @@ -207,12 +207,12 @@ slowdown = 0 armor = list(melee = 25, bullet = 20, laser = 20, energy = 5, bomb = 20, bio = 100, rad = 50) siemens_coefficient = 0.9 - allowed = list(/obj/item/device/flashlight, - /obj/item/weapon/tank, - /obj/item/device/suit_cooling_unit, - /obj/item/weapon/storage/briefcase/inflatable, - /obj/item/device/gps, - /obj/item/device/radio/beacon, + allowed = list(/obj/item/flashlight, + /obj/item/tank, + /obj/item/suit_cooling_unit, + /obj/item/storage/briefcase/inflatable, + /obj/item/gps, + /obj/item/radio/beacon, ) //Scientist Crewsuit (PURPLE, O) @@ -237,27 +237,27 @@ item_state_slots = list(slot_r_hand_str = "sec_voidsuitTG", slot_l_hand_str = "sec_voidsuitTG") armor = list(melee = 25, bullet = 10, laser = 10, energy = 50, bomb = 10, bio = 100, rad = 100) siemens_coefficient = 0.8 - allowed = list(/obj/item/device/flashlight, - /obj/item/weapon/tank, - /obj/item/device/suit_cooling_unit, - /obj/item/weapon/storage/firstaid, - /obj/item/device/healthanalyzer, - /obj/item/device/gps, - /obj/item/device/radio/beacon, - /obj/item/device/ano_scanner, - /obj/item/device/depth_scanner, - /obj/item/device/xenoarch_multi_tool, - /obj/item/device/measuring_tape, - /obj/item/device/reagent_scanner, - /obj/item/device/robotanalyzer, - /obj/item/device/analyzer, - /obj/item/device/cataloguer, - /obj/item/device/universal_translator, - /obj/item/weapon/tool/crowbar, + allowed = list(/obj/item/flashlight, + /obj/item/tank, + /obj/item/suit_cooling_unit, + /obj/item/storage/firstaid, + /obj/item/healthanalyzer, + /obj/item/gps, + /obj/item/radio/beacon, + /obj/item/ano_scanner, + /obj/item/depth_scanner, + /obj/item/xenoarch_multi_tool, + /obj/item/measuring_tape, + /obj/item/reagent_scanner, + /obj/item/robotanalyzer, + /obj/item/analyzer, + /obj/item/cataloguer, + /obj/item/universal_translator, + /obj/item/tool/crowbar, /obj/item/stack/marker_beacon, /obj/item/stack/flag, - /obj/item/weapon/clipboard, - /obj/item/weapon/cell + /obj/item/clipboard, + /obj/item/cell ) //Miner's Crewsuit (BROWN) @@ -276,14 +276,14 @@ icon_state = "rig-vintageminer" item_state_slots = list(slot_r_hand_str = "sec_voidsuitTG", slot_l_hand_str = "sec_voidsuitTG") armor = list(melee = 30, bullet = 15, laser = 15,energy = 5, bomb = 20, bio = 100, rad = 50) - allowed = list(/obj/item/device/flashlight, - /obj/item/weapon/tank, - /obj/item/device/suit_cooling_unit, - /obj/item/weapon/storage/briefcase/inflatable, - /obj/item/device/gps, - /obj/item/device/radio/beacon, - /obj/item/weapon/pickaxe, - /obj/item/weapon/shovel + allowed = list(/obj/item/flashlight, + /obj/item/tank, + /obj/item/suit_cooling_unit, + /obj/item/storage/briefcase/inflatable, + /obj/item/gps, + /obj/item/radio/beacon, + /obj/item/pickaxe, + /obj/item/shovel ) //Mercenary Crewsuit (RED, CROSS) @@ -306,22 +306,22 @@ breach_threshold = 16 //Extra Thicc resilience = 0.05 //Military Armor siemens_coefficient = 0.6 - allowed = list(/obj/item/weapon/gun, - /obj/item/device/flashlight, - /obj/item/weapon/tank, - /obj/item/device/suit_cooling_unit, - /obj/item/weapon/melee, - /obj/item/weapon/grenade, - /obj/item/device/flash, - /obj/item/device/gps, - /obj/item/device/radio/beacon, - /obj/item/weapon/handcuffs, - /obj/item/device/hailer, - /obj/item/device/holowarrant, - /obj/item/device/megaphone, + allowed = list(/obj/item/gun, + /obj/item/flashlight, + /obj/item/tank, + /obj/item/suit_cooling_unit, + /obj/item/melee, + /obj/item/grenade, + /obj/item/flash, + /obj/item/gps, + /obj/item/radio/beacon, + /obj/item/handcuffs, + /obj/item/hailer, + /obj/item/holowarrant, + /obj/item/megaphone, /obj/item/ammo_magazine, - /obj/item/device/spaceflare, - /obj/item/device/powersink, - /obj/item/device/radio_jammer, - /obj/item/weapon/cell + /obj/item/spaceflare, + /obj/item/powersink, + /obj/item/radio_jammer, + /obj/item/cell ) diff --git a/code/modules/clothing/spacesuits/void/event_vr.dm b/code/modules/clothing/spacesuits/void/event_vr.dm index 3edd3a83f0e..d9645b94887 100644 --- a/code/modules/clothing/spacesuits/void/event_vr.dm +++ b/code/modules/clothing/spacesuits/void/event_vr.dm @@ -206,7 +206,7 @@ return icon_state = "moebiushelm_[choice]" update_clothing_icon() - to_chat(usr, "[src] color changed to: [choice]") + to_chat(usr, span_notice("[src] color changed to: [choice]")) // Excelsior suit /obj/item/clothing/suit/space/void/excelsior @@ -270,7 +270,7 @@ armor = list("melee" = 50, "bullet" = 15, "laser" = 15, "energy" = 25, "bomb" = 45, "bio" = 100, "rad" = 80) slowdown = 1.5 breach_threshold = 14 - allowed = list(/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit) + allowed = list(/obj/item/tank,/obj/item/suit_cooling_unit) sprite_sheets = ALL_VR_SPRITE_SHEETS_SUIT_MOB sprite_sheets_obj = ALL_VR_SPRITE_SHEETS_SUIT_ITEM diff --git a/code/modules/clothing/spacesuits/void/merc.dm b/code/modules/clothing/spacesuits/void/merc.dm index 10f2b0a8386..8193c474891 100644 --- a/code/modules/clothing/spacesuits/void/merc.dm +++ b/code/modules/clothing/spacesuits/void/merc.dm @@ -16,7 +16,7 @@ item_state_slots = list(slot_r_hand_str = "syndie_voidsuit", slot_l_hand_str = "syndie_voidsuit") w_class = ITEMSIZE_NORMAL armor = list(melee = 60, bullet = 50, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 60) - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/handcuffs) + allowed = list(/obj/item/flashlight,/obj/item/tank,/obj/item/suit_cooling_unit,/obj/item/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword,/obj/item/handcuffs) siemens_coefficient = 0.6 breach_threshold = 16 //Extra Thicc resilience = 0.05 //Military Armor @@ -40,7 +40,7 @@ max_heat_protection_temperature = FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE min_pressure_protection = 0 * ONE_ATMOSPHERE max_pressure_protection = 20* ONE_ATMOSPHERE - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/handcuffs,/obj/item/weapon/material/twohanded/fireaxe,/obj/item/weapon/flamethrower) + allowed = list(/obj/item/flashlight,/obj/item/tank,/obj/item/suit_cooling_unit,/obj/item/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword,/obj/item/handcuffs,/obj/item/material/twohanded/fireaxe,/obj/item/flamethrower) siemens_coefficient = 0.7 breach_threshold = 18 //Super Extra Thicc slowdown = 1 diff --git a/code/modules/clothing/spacesuits/void/military_vr.dm b/code/modules/clothing/spacesuits/void/military_vr.dm index 88701c2da74..e4b40097e4f 100644 --- a/code/modules/clothing/spacesuits/void/military_vr.dm +++ b/code/modules/clothing/spacesuits/void/military_vr.dm @@ -27,7 +27,7 @@ /obj/item/clothing/head/helmet/space/void/merc/odst name = "\improper ODST Helmet" - desc = "\"... we are glad to plunge feet first into hell in the knowledge that we will rise.\"" + desc = span_italics("\"... we are glad to plunge feet first into hell in the knowledge that we will rise.\"") icon_state = "rig0-odst" item_state = "rig0-odst" item_state_slots = null @@ -46,7 +46,7 @@ /obj/item/clothing/suit/space/void/merc/odst name = "ODST Armor" - desc = "\"... we are glad to plunge feet first into hell in the knowledge that we will rise.\"" + desc = span_italics("\"... we are glad to plunge feet first into hell in the knowledge that we will rise.\"") icon_state = "odst" item_state = "odst" item_state_slots = null diff --git a/code/modules/clothing/spacesuits/void/station.dm b/code/modules/clothing/spacesuits/void/station.dm index 910771aabb3..bbf5cfa105e 100644 --- a/code/modules/clothing/spacesuits/void/station.dm +++ b/code/modules/clothing/spacesuits/void/station.dm @@ -17,7 +17,7 @@ icon_state = "rig-engineering" item_state_slots = list(slot_r_hand_str = "eng_voidsuit", slot_l_hand_str = "eng_voidsuit") armor = list(melee = 30, bullet = 5, laser = 20, energy = 5, bomb = 35, bio = 100, rad = 70) - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd) + allowed = list(/obj/item/flashlight,/obj/item/tank,/obj/item/suit_cooling_unit,/obj/item/storage/bag/ore,/obj/item/t_scanner,/obj/item/pickaxe, /obj/item/rcd) min_pressure_protection = 0 * ONE_ATMOSPHERE max_pressure_protection = 15 * ONE_ATMOSPHERE max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE+5000 @@ -100,7 +100,7 @@ desc = "A hand-me-down salvage voidsuit. It has obviously had a lot of repair work done to its radiation shielding." icon_state = "rig-engineeringsav" armor = list(melee = 50, bullet = 15, laser = 25, energy = 15, bomb = 45, bio = 100, rad = 100) - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/toolbox,/obj/item/weapon/storage/briefcase/inflatable,/obj/item/device/t_scanner,/obj/item/weapon/rcd) + allowed = list(/obj/item/flashlight,/obj/item/tank,/obj/item/suit_cooling_unit,/obj/item/storage/toolbox,/obj/item/storage/briefcase/inflatable,/obj/item/t_scanner,/obj/item/rcd) slowdown = 0.5 //Mining @@ -118,7 +118,7 @@ desc = "A special suit that protects against hazardous, low pressure environments. Has reinforced plating." icon_state = "rig-mining" item_state_slots = list(slot_r_hand_str = "mining_voidsuit", slot_l_hand_str = "mining_voidsuit") - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/pickaxe) + allowed = list(/obj/item/flashlight,/obj/item/tank,/obj/item/suit_cooling_unit,/obj/item/pickaxe) armor = list(melee = 50, bullet = 15, laser = 25, energy = 15, bomb = 55, bio = 100, rad = 50) breach_threshold = 14 //These are kinda thicc resilience = 0.15 //Armored @@ -151,7 +151,7 @@ desc = "A special suit that protects against hazardous, low pressure environments. Has minor radiation shielding." icon_state = "rig-medical" item_state_slots = list(slot_r_hand_str = "medical_voidsuit", slot_l_hand_str = "medical_voidsuit") - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/firstaid,/obj/item/device/healthanalyzer,/obj/item/stack/medical) + allowed = list(/obj/item/flashlight,/obj/item/tank,/obj/item/suit_cooling_unit,/obj/item/storage/firstaid,/obj/item/healthanalyzer,/obj/item/stack/medical) armor = list(melee = 30, bullet = 5, laser = 20, energy = 5, bomb = 25, bio = 100, rad = 80) //Medical EMT Voidsuit @@ -285,7 +285,7 @@ icon_state = "rig-sec" item_state_slots = list(slot_r_hand_str = "sec_voidsuit", slot_l_hand_str = "sec_voidsuit") armor = list(melee = 50, bullet = 25, laser = 25, energy = 15, bomb = 45, bio = 100, rad = 10) - allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/melee/baton) + allowed = list(/obj/item/gun,/obj/item/flashlight,/obj/item/tank,/obj/item/suit_cooling_unit,/obj/item/melee/baton) siemens_coefficient = 0.7 breach_threshold = 14 //These are kinda thicc resilience = 0.15 //Armored @@ -379,12 +379,12 @@ /obj/item/clothing/suit/space/void/exploration name = "exploration voidsuit" - desc = "A hazard and radiation resistant voidsuit, featuring the Explorer emblem on its chest plate. Designed for exploring unknown planetary environments." + desc = "A hazard and radiation resistant voidsuit, featuring the " + JOB_EXPLORER + " emblem on its chest plate. Designed for exploring unknown planetary environments." icon_state = "void_explorer" item_state_slots = list(slot_r_hand_str = "skrell_suit_black", slot_l_hand_str = "skrell_suit_black") armor = list(melee = 50, bullet = 15, laser = 35, energy = 25, bomb = 30, bio = 100, rad = 70) - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/stack/flag,/obj/item/device/healthanalyzer,/obj/item/device/gps,/obj/item/device/radio/beacon, \ - /obj/item/weapon/shovel,/obj/item/ammo_magazine,/obj/item/weapon/gun) + allowed = list(/obj/item/flashlight,/obj/item/tank,/obj/item/suit_cooling_unit,/obj/item/stack/flag,/obj/item/healthanalyzer,/obj/item/gps,/obj/item/radio/beacon, \ + /obj/item/shovel,/obj/item/ammo_magazine,/obj/item/gun) breach_threshold = 14 //These are kinda thicc resilience = 0.15 //Armored @@ -401,12 +401,12 @@ /obj/item/clothing/suit/space/void/expedition_medical name = "field medic voidsuit" - desc = "A hazard and radiation resistant voidsuit, featuring the Explorer emblem and a green cross on its chest plate. Seems to be a little lighter and more flexible than the regular explorer issue." + desc = "A hazard and radiation resistant voidsuit, featuring the " + JOB_EXPLORER + " emblem and a green cross on its chest plate. Seems to be a little lighter and more flexible than the regular explorer issue." icon_state = "void_exp_medic" item_state_slots = list(slot_r_hand_str = "skrell_suit_black", slot_l_hand_str = "skrell_suit_black") armor = list(melee = 50, bullet = 15, laser = 25, energy = 15, bomb = 30, bio = 100, rad = 90) - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/stack/flag,/obj/item/device/healthanalyzer,/obj/item/device/gps,/obj/item/device/radio/beacon, \ - /obj/item/weapon/shovel,/obj/item/ammo_magazine,/obj/item/weapon/gun,/obj/item/weapon/storage/firstaid,/obj/item/stack/medical) + allowed = list(/obj/item/flashlight,/obj/item/tank,/obj/item/suit_cooling_unit,/obj/item/stack/flag,/obj/item/healthanalyzer,/obj/item/gps,/obj/item/radio/beacon, \ + /obj/item/shovel,/obj/item/ammo_magazine,/obj/item/gun,/obj/item/storage/firstaid,/obj/item/stack/medical) breach_threshold = 14 //These are kinda thicc resilience = 0.15 //Armored max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE+5000 @@ -439,7 +439,7 @@ item_state_slots = list(slot_r_hand_str = "atmos_voidsuit", slot_l_hand_str = "atmos_voidsuit") name = "pilot voidsuit" armor = list(melee = 40, bullet = 10, laser = 25, energy = 15, bomb = 25, bio = 100, rad = 60) - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/toolbox,/obj/item/weapon/storage/briefcase/inflatable) + allowed = list(/obj/item/flashlight,/obj/item/tank,/obj/item/suit_cooling_unit,/obj/item/storage/toolbox,/obj/item/storage/briefcase/inflatable) /obj/item/clothing/head/helmet/space/void/pilot/alt icon_state = "rig0_pilot2" diff --git a/code/modules/clothing/spacesuits/void/void.dm b/code/modules/clothing/spacesuits/void/void.dm index 7d421348cc6..a8c4c0f53d7 100644 --- a/code/modules/clothing/spacesuits/void/void.dm +++ b/code/modules/clothing/spacesuits/void/void.dm @@ -27,12 +27,12 @@ desc = "A high-tech dark red space suit. Used for AI satellite maintenance." slowdown = 0.5 armor = list(melee = 30, bullet = 5, laser = 20,energy = 5, bomb = 35, bio = 100, rad = 20) - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit) + allowed = list(/obj/item/flashlight,/obj/item/tank,/obj/item/suit_cooling_unit) heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE min_pressure_protection = 0 * ONE_ATMOSPHERE max_pressure_protection = 10 * ONE_ATMOSPHERE - action_button_name = "Toggle Helmet" + actions_types = list(/datum/action/item_action/toggle_helmet) species_restricted = list("Human", SPECIES_SKRELL, "Promethean") sprite_sheets = VR_SPECIES_SPRITE_SHEETS_SUIT_MOB sprite_sheets_obj = VR_SPECIES_SPRITE_SHEETS_SUIT_ITEM @@ -45,8 +45,8 @@ //Inbuilt devices. var/obj/item/clothing/shoes/magboots/boots = null // Deployable boots, if any. var/obj/item/clothing/head/helmet/helmet = null // Deployable helmet, if any. - var/obj/item/weapon/tank/tank = null // Deployable tank, if any. - var/obj/item/device/suit_cooling_unit/cooler = null// Cooling unit, for FBPs. Cannot be installed alongside a tank. + var/obj/item/tank/tank = null // Deployable tank, if any. + var/obj/item/suit_cooling_unit/cooler = null// Cooling unit, for FBPs. Cannot be installed alongside a tank. //Cycler settings var/no_cycle = FALSE //stop this item from being put in a cycler @@ -63,11 +63,11 @@ /obj/item/clothing/suit/space/void/examine(user) . = ..() - . += to_chat(usr, "Alt-click to relase Tank/Cooling unit if installed.") + . += to_chat(usr, span_notice("Alt-click to relase Tank/Cooling unit if installed.")) for(var/obj/item/I in list(helmet,boots,tank,cooler)) . += "It has \a [I] installed." if(tank && in_range(src,user)) - . += "The wrist-mounted pressure gauge reads [max(round(tank.air_contents.return_pressure()),0)] kPa remaining in \the [tank]." + . += span_notice("The wrist-mounted pressure gauge reads [max(round(tank.air_contents.return_pressure()),0)] kPa remaining in \the [tank].") /obj/item/clothing/suit/space/void/refit_for_species(var/target_species) ..() @@ -180,22 +180,22 @@ if(H.wear_suit != src) return if(helmet.light_on) - to_chat(H, SPAN_NOTICE("The helmet light shuts off as it retracts.")) + to_chat(H, span_notice("The helmet light shuts off as it retracts.")) helmet.update_flashlight(H) if(H.head == helmet) - to_chat(H, SPAN_NOTICE("You retract your suit helmet.")) + to_chat(H, span_notice("You retract your suit helmet.")) helmet.canremove = TRUE H.drop_from_inventory(helmet) helmet.forceMove(src) playsound(src.loc, 'sound/machines/click2.ogg', 75, 1) else if(H.head) - to_chat(H, SPAN_DANGER("You cannot deploy your helmet while wearing \the [H.head].")) + to_chat(H, span_danger("You cannot deploy your helmet while wearing \the [H.head].")) return if(H.equip_to_slot_if_possible(helmet, slot_head)) helmet.canremove = FALSE - to_chat(H, "You deploy your suit helmet, sealing you off from the world.") + to_chat(H, span_info("You deploy your suit helmet, sealing you off from the world.")) playsound(src.loc, 'sound/machines/click2.ogg', 75, 1) /obj/item/clothing/suit/space/void/AltClick(mob/living/user) @@ -211,7 +211,7 @@ var/mob/living/carbon/human/H = usr if(!tank && !cooler) - to_chat(H, SPAN_NOTICE("There is no tank or cooling unit inserted.")) + to_chat(H, span_notice("There is no tank or cooling unit inserted.")) return if(!istype(H)) return @@ -225,7 +225,7 @@ else removing = cooler cooler = null - to_chat(H, SPAN_DANGER("You press the emergency release, ejecting \the [removing] from your suit.")) + to_chat(H, span_danger("You press the emergency release, ejecting \the [removing] from your suit.")) playsound(src.loc, 'sound/machines/click.ogg', 75, 1) removing.canremove = TRUE H.drop_from_inventory(removing) @@ -234,11 +234,11 @@ if(!istype(user,/mob/living)) return - if(istype(W,/obj/item/clothing/accessory) || istype(W, /obj/item/weapon/hand_labeler)) + if(istype(W,/obj/item/clothing/accessory) || istype(W, /obj/item/hand_labeler)) return ..() if(user.get_inventory_slot(src) == slot_wear_suit) - to_chat(user, "You cannot modify \the [src] while it is being worn.") + to_chat(user, span_warning("You cannot modify \the [src] while it is being worn.")) return if(W.has_tool_quality(TOOL_SCREWDRIVER)) @@ -285,12 +285,12 @@ W.forceMove(src) boots = W return - else if(istype(W,/obj/item/weapon/tank)) + else if(istype(W,/obj/item/tank)) if(tank) to_chat(user, "\The [src] already has an airtank installed.") else if(cooler) to_chat(user, "\The [src]'s suit cooling unit is in the way. Remove it first.") - else if(istype(W,/obj/item/weapon/tank/phoron)) + else if(istype(W,/obj/item/tank/phoron)) to_chat(user, "\The [W] cannot be inserted into \the [src]'s storage compartment.") else to_chat(user, "You insert \the [W] into \the [src]'s storage compartment.") @@ -298,7 +298,7 @@ W.forceMove(src) tank = W return - else if(istype(W,/obj/item/device/suit_cooling_unit)) + else if(istype(W,/obj/item/suit_cooling_unit)) if(cooler) to_chat(user, "\The [src] already has a suit cooling unit installed.") else if(tank) diff --git a/code/modules/clothing/spacesuits/void/void_vr.dm b/code/modules/clothing/spacesuits/void/void_vr.dm index 9222a4ca9c9..49d72e2222c 100644 --- a/code/modules/clothing/spacesuits/void/void_vr.dm +++ b/code/modules/clothing/spacesuits/void/void_vr.dm @@ -107,11 +107,11 @@ if(!isliving(user)) return - if(istype(W, /obj/item/clothing/accessory) || istype(W, /obj/item/weapon/hand_labeler)) + if(istype(W, /obj/item/clothing/accessory) || istype(W, /obj/item/hand_labeler)) return ..() if(user.get_inventory_slot(src) == slot_wear_suit) - to_chat(user, "You cannot modify \the [src] while it is being worn.") + to_chat(user, span_warning("You cannot modify \the [src] while it is being worn.")) return if(W.has_tool_quality(TOOL_SCREWDRIVER)) diff --git a/code/modules/clothing/spacesuits/void/zaddat.dm b/code/modules/clothing/spacesuits/void/zaddat.dm index 6b096aca229..025d52c8f02 100644 --- a/code/modules/clothing/spacesuits/void/zaddat.dm +++ b/code/modules/clothing/spacesuits/void/zaddat.dm @@ -17,7 +17,7 @@ slowdown = 1 armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 70) siemens_coefficient = 1 - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank) + allowed = list(/obj/item/flashlight,/obj/item/tank) icon_state = "zaddat_hegemony" helmet = new/obj/item/clothing/head/helmet/space/void/zaddat //shrouds come with helmets built-in var/has_been_customized = FALSE diff --git a/code/modules/clothing/suits/aliens/teshari.dm b/code/modules/clothing/suits/aliens/teshari.dm index e17ef0e85e6..89975b9f160 100644 --- a/code/modules/clothing/suits/aliens/teshari.dm +++ b/code/modules/clothing/suits/aliens/teshari.dm @@ -107,14 +107,14 @@ // Job Cloaks /obj/item/clothing/suit/storage/teshari/cloak/jobs/cap name = "site manager cloak" - desc = "A soft Teshari cloak made for the Site Manager" + desc = "A soft Teshari cloak made for the " + JOB_SITE_MANAGER icon_state = "tesh_cloak_cap" //Cargo /obj/item/clothing/suit/storage/teshari/cloak/jobs/qm name = "quartermaster cloak" - desc = "A soft Teshari cloak made for the Quartermaster" + desc = "A soft Teshari cloak made for the " + JOB_QUARTERMASTER icon_state = "tesh_cloak_qm" /obj/item/clothing/suit/storage/teshari/cloak/jobs/cargo @@ -131,7 +131,7 @@ /obj/item/clothing/suit/storage/teshari/cloak/jobs/ce name = "cheif engineer cloak" - desc = "A soft Teshari cloak made the Chief Engineer" + desc = "A soft Teshari cloak made for the "+ JOB_CHIEF_ENGINEER icon_state = "tesh_cloak_ce" /obj/item/clothing/suit/storage/teshari/cloak/jobs/engineer @@ -141,7 +141,7 @@ /obj/item/clothing/suit/storage/teshari/cloak/jobs/atmos name = "atmospherics cloak" - desc = "A soft Teshari cloak made for the Atmospheric Technician" + desc = "A soft Teshari cloak made for the " + JOB_ATMOSPHERIC_TECHNICIAN icon_state = "tesh_cloak_atmos" //Medical @@ -158,29 +158,29 @@ /obj/item/clothing/suit/storage/teshari/cloak/jobs/chemistry name = "chemist cloak" - desc = "A soft Teshari cloak made for the Chemist" + desc = "A soft Teshari cloak made for the " + JOB_CHEMIST icon_state = "tesh_cloak_chem" /obj/item/clothing/suit/storage/teshari/cloak/jobs/viro name = "virologist cloak" - desc = "A soft Teshari cloak made for the Virologist" + desc = "A soft Teshari cloak made for the " + JOB_ALT_VIROLOGIST icon_state = "tesh_cloak_viro" /obj/item/clothing/suit/storage/teshari/cloak/jobs/para name = "paramedic cloak" - desc = "A soft Teshari cloak made for the Paramedic" + desc = "A soft Teshari cloak made for the " + JOB_PARAMEDIC icon_state = "tesh_cloak_para" /obj/item/clothing/suit/storage/teshari/cloak/jobs/psych name = " psychiatrist cloak" - desc = "A soft Teshari cloak made for the Psychiatrist" + desc = "A soft Teshari cloak made for the " + JOB_PSYCHIATRIST icon_state = "tesh_cloak_psych" //Science /obj/item/clothing/suit/storage/teshari/cloak/jobs/rd name = "research director cloak" - desc = "A soft Teshari cloak made for the Research Director" + desc = "A soft Teshari cloak made for the " + JOB_RESEARCH_DIRECTOR icon_state = "tesh_cloak_rd" /obj/item/clothing/suit/storage/teshari/cloak/jobs/sci @@ -190,14 +190,14 @@ /obj/item/clothing/suit/storage/teshari/cloak/jobs/robo name = "roboticist cloak" - desc = "A soft Teshari cloak made for the Roboticist" + desc = "A soft Teshari cloak made for the " + JOB_ROBOTICIST icon_state = "tesh_cloak_robo" //Security /obj/item/clothing/suit/storage/teshari/cloak/jobs/hos name = "head of security cloak" - desc = "A soft Teshari cloak made for the Head of Security" + desc = "A soft Teshari cloak made for the " + JOB_HEAD_OF_SECURITY icon_state = "tesh_cloak_hos" /obj/item/clothing/suit/storage/teshari/cloak/jobs/sec @@ -207,14 +207,14 @@ /obj/item/clothing/suit/storage/teshari/cloak/jobs/iaa name = "internal affairs cloak" - desc = "A soft Teshari cloak made for the Internal Affairs Agent" + desc = "A soft Teshari cloak made for the " + JOB_INTERNAL_AFFAIRS_AGENT icon_state = "tesh_cloak_iaa" //Service /obj/item/clothing/suit/storage/teshari/cloak/jobs/hop name = "head of personnel cloak" - desc = "A soft Teshari cloak made for the Head of Personnel" + desc = "A soft Teshari cloak made for the " + JOB_HEAD_OF_PERSONNEL icon_state = "tesh_cloak_hop" /obj/item/clothing/suit/storage/teshari/cloak/jobs/service @@ -256,9 +256,9 @@ item_state_slots = list(slot_r_hand_str = "tesh_hcloak_bo", slot_l_hand_str = "tesh_hcloak_bo") body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS flags_inv = HIDEHOLSTER|HIDETIE - action_button_name = "Toggle Cloak Hood" + actions_types = list(/datum/action/item_action/toggle_hood) hoodtype = /obj/item/clothing/head/tesh_hood - allowed = list (/obj/item/weapon/pen, /obj/item/weapon/paper, /obj/item/device/flashlight,/obj/item/weapon/tank/emergency/oxygen, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/storage/box/matches, /obj/item/weapon/reagent_containers/food/drinks/flask) + allowed = list (/obj/item/pen, /obj/item/paper, /obj/item/flashlight,/obj/item/tank/emergency/oxygen, /obj/item/storage/fancy/cigarettes, /obj/item/storage/box/matches, /obj/item/reagent_containers/food/drinks/flask) /obj/item/clothing/head/tesh_hood name = "Cloak Hood" @@ -624,7 +624,7 @@ /obj/item/clothing/suit/storage/teshari/beltcloak/jobs/ce name = "chief engineer belted cloak" - desc = "A soft Teshari cloak made the Chief Engineer" + desc = "A soft Teshari cloak made for the " + JOB_CHIEF_ENGINEER icon_state = "tesh_beltcloak_ce" /obj/item/clothing/suit/storage/teshari/beltcloak/jobs/engineer @@ -634,12 +634,12 @@ /obj/item/clothing/suit/storage/teshari/beltcloak/jobs/atmos name = "atmospherics belted cloak" - desc = "A soft Teshari cloak made for the Atmospheric Technician" + desc = "A soft Teshari cloak made for the " + JOB_ATMOSPHERIC_TECHNICIAN icon_state = "tesh_beltcloak_atmos" /obj/item/clothing/suit/storage/teshari/beltcloak/jobs/cmo name = "chief medical officer belted cloak" - desc = "A soft Teshari cloak made the Chief Medical Officer" + desc = "A soft Teshari cloak made the " + JOB_CHIEF_MEDICAL_OFFICER icon_state = "tesh_beltcloak_cmo" /obj/item/clothing/suit/storage/teshari/beltcloak/jobs/medical @@ -649,17 +649,17 @@ /obj/item/clothing/suit/storage/teshari/beltcloak/jobs/chemistry name = "chemist belted cloak" - desc = "A soft Teshari cloak made for the Chemist" + desc = "A soft Teshari cloak made for the " + JOB_CHEMIST icon_state = "tesh_beltcloak_chem" /obj/item/clothing/suit/storage/teshari/beltcloak/jobs/viro name = "virologist belted cloak" - desc = "A soft Teshari cloak made for the Virologist" + desc = "A soft Teshari cloak made for the " + JOB_ALT_VIROLOGIST icon_state = "tesh_beltcloak_viro" /obj/item/clothing/suit/storage/teshari/beltcloak/jobs/para name = "paramedic belted cloak" - desc = "A soft Teshari cloak made for the Paramedic" + desc = "A soft Teshari cloak made for the " + JOB_PARAMEDIC icon_state = "tesh_beltcloak_para" /obj/item/clothing/suit/storage/teshari/beltcloak/jobs/sci @@ -669,7 +669,7 @@ /obj/item/clothing/suit/storage/teshari/beltcloak/jobs/robo name = "roboticist belted cloak" - desc = "A soft Teshari cloak made for the Roboticist" + desc = "A soft Teshari cloak made for the " + JOB_ROBOTICIST icon_state = "tesh_beltcloak_robo" /obj/item/clothing/suit/storage/teshari/beltcloak/jobs/sec @@ -679,7 +679,7 @@ /obj/item/clothing/suit/storage/teshari/beltcloak/jobs/qm name = "quartermaster belted cloak" - desc = "A soft Teshari cloak made for the Quartermaster" + desc = "A soft Teshari cloak made for the " + JOB_QUARTERMASTER icon_state = "tesh_beltcloak_qm" /obj/item/clothing/suit/storage/teshari/beltcloak/jobs/service @@ -689,21 +689,20 @@ /obj/item/clothing/suit/storage/teshari/beltcloak/jobs/iaa name = "internal affairs belted cloak" - desc = "A soft Teshari cloak made for the Internal Affairs Agent" + desc = "A soft Teshari cloak made for the " + JOB_INTERNAL_AFFAIRS_AGENT icon_state = "tesh_beltcloak_iaa" /obj/item/clothing/suit/storage/teshari/beltcloak/jobs/wrdn name = "warden belted cloak" - desc = "A soft Teshari cloak made for the Warden" + desc = "A soft Teshari cloak made for the " + JOB_WARDEN icon_state = "tesh_beltcloak_wrdn" /obj/item/clothing/suit/storage/teshari/beltcloak/jobs/hos name = "security chief belted cloak" - desc = "A soft Teshari cloak made for the Head of Security" + desc = "A soft Teshari cloak made for the " + JOB_HEAD_OF_SECURITY icon_state = "tesh_beltcloak_hos" /obj/item/clothing/suit/storage/teshari/beltcloak/jobs/jani name = "janitor belted cloak" - desc = "A soft Teshari cloak made for the Janitor" + desc = "A soft Teshari cloak made for the " + JOB_JANITOR icon_state = "tesh_beltcloak_jani" - diff --git a/code/modules/clothing/suits/aliens/teshari_yw.dm b/code/modules/clothing/suits/aliens/teshari_yw.dm index f977bf72e35..48d6758fe9d 100644 --- a/code/modules/clothing/suits/aliens/teshari_yw.dm +++ b/code/modules/clothing/suits/aliens/teshari_yw.dm @@ -25,9 +25,9 @@ body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS flags_inv = HIDEHOLSTER|HIDETIE //hooded = 1 Variable no longer exists, hood is now handled by code/modules/clothing/suit/storage/hooded.dm - action_button_name = "Toggle Cloak Hood" + actions_types = list(/datum/action/item_action/toggle_cloak_hood) hoodtype = /obj/item/clothing/head/tesh_hood - allowed = list (/obj/item/weapon/pen, /obj/item/weapon/paper, /obj/item/device/flashlight,/obj/item/weapon/tank/emergency/oxygen, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/storage/box/matches, /obj/item/weapon/reagent_containers/food/drinks/flask) + allowed = list (/obj/item/pen, /obj/item/paper, /obj/item/flashlight,/obj/item/tank/emergency/oxygen, /obj/item/storage/fancy/cigarettes, /obj/item/storage/box/matches, /obj/item/reagent_containers/food/drinks/flask) /obj/item/clothing/head/tesh_hood name = "Cloak Hood" @@ -570,4 +570,4 @@ name = "research director belted cloak (black)" desc = "A soft Teshari cloak made for the Research Director" icon_state = "tesh_beltcloak_rd2" - item_state = "tesh_beltcloak_rd2" \ No newline at end of file + item_state = "tesh_beltcloak_rd2" diff --git a/code/modules/clothing/suits/aliens/vox.dm b/code/modules/clothing/suits/aliens/vox.dm index b658aa0586e..b4bcf1859fd 100644 --- a/code/modules/clothing/suits/aliens/vox.dm +++ b/code/modules/clothing/suits/aliens/vox.dm @@ -1,7 +1,7 @@ /obj/item/clothing/suit/armor/vox_scrap name = "rusted metal armor" desc = "A hodgepodge of various pieces of metal scrapped together into a rudimentary vox-shaped piece of armor." - allowed = list(/obj/item/weapon/gun, /obj/item/weapon/tank) + allowed = list(/obj/item/gun, /obj/item/tank) armor = list(melee = 60, bullet = 30, laser = 30,energy = 5, bomb = 40, bio = 0, rad = 0) //Higher melee armor versus lower everything else. icon_state = "vox-scrap" icon_state = "vox-scrap" diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index 12ed13f6010..d6847f2284b 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -1,5 +1,5 @@ /obj/item/clothing/suit/armor - allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/gun/projectile,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/device/flashlight/maglight,/obj/item/clothing/head/helmet) + allowed = list(/obj/item/gun/energy,/obj/item/reagent_containers/spray/pepper,/obj/item/gun/projectile,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/handcuffs,/obj/item/flashlight/maglight,/obj/item/clothing/head/helmet) body_parts_covered = UPPER_TORSO|LOWER_TORSO item_flags = THICKMATERIAL @@ -13,10 +13,10 @@ if(..()) //This will only run if no other problems occured when equiping. for(var/obj/item/clothing/I in list(H.gloves, H.shoes)) if(I && (src.body_parts_covered & ARMS && I.body_parts_covered & ARMS) ) - to_chat(H, "You can't wear \the [src] with \the [I], it's in the way.") + to_chat(H, span_warning("You can't wear \the [src] with \the [I], it's in the way.")) return 0 if(I && (src.body_parts_covered & LEGS && I.body_parts_covered & LEGS) ) - to_chat(H, "You can't wear \the [src] with \the [I], it's in the way.") + to_chat(H, span_warning("You can't wear \the [src] with \the [I], it's in the way.")) return 0 return 1 @@ -86,7 +86,7 @@ if(!(def_zone in list(BP_TORSO, BP_GROIN))) reflectchance /= 2 if(P.starting && prob(reflectchance)) - visible_message("\The [user]'s [src.name] reflects [attack_text]!") + visible_message(span_danger("\The [user]'s [src.name] reflects [attack_text]!")) // Find a turf near or on the original location to bounce to var/new_x = P.starting.x + pick(0, 0, 0, 0, 0, -1, 1, -2, 2) @@ -128,7 +128,7 @@ permeability_coefficient = 0.01 item_flags = THICKMATERIAL body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS - allowed = list(/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/tank/emergency/oxygen,/obj/item/clothing/head/helmet) + allowed = list(/obj/item/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/handcuffs,/obj/item/tank/emergency/oxygen,/obj/item/clothing/head/helmet) slowdown = 1 w_class = ITEMSIZE_HUGE armor = list(melee = 80, bullet = 60, laser = 50,energy = 25, bomb = 50, bio = 100, rad = 100) @@ -164,7 +164,7 @@ //When the wearer gets hit, this armor will teleport the user a short distance away (to safety or to more danger, no one knows. That's the fun of it!) /obj/item/clothing/suit/armor/reactive name = "Reactive Teleport Armor" - desc = "Someone separated our Research Director from their own head!" + desc = "Someone separated our " + JOB_RESEARCH_DIRECTOR + " from their own head!" var/active = 0.0 icon_state = "reactiveoff" item_state_slots = list(slot_r_hand_str = "armor_reflec_old", slot_l_hand_str = "armor_reflec_old") @@ -174,7 +174,7 @@ /obj/item/clothing/suit/armor/reactive/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack") if(prob(50)) - user.visible_message("The reactive teleport system flings [user] clear of the attack!") + user.visible_message(span_danger("The reactive teleport system flings [user] clear of the attack!")) var/list/turfs = new/list() for(var/turf/T in orange(6, user)) if(istype(T,/turf/space)) continue @@ -237,7 +237,7 @@ /obj/item/clothing/suit/armor/alien/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack") if(prob(block_chance)) - user.visible_message("\The [src] completely absorbs [attack_text]!") + user.visible_message(span_danger("\The [src] completely absorbs [attack_text]!")) return TRUE return FALSE @@ -281,7 +281,7 @@ blood_overlay_type = "armor" item_state_slots = list(slot_r_hand_str = "armor", slot_l_hand_str = "armor") armor = list(melee = 40, bullet = 30, laser = 30, energy = 10, bomb = 10, bio = 0, rad = 0) - allowed = list(/obj/item/weapon/gun,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/device/flashlight/maglight,/obj/item/clothing/head/helmet) + allowed = list(/obj/item/gun,/obj/item/reagent_containers/spray/pepper,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/handcuffs,/obj/item/flashlight/maglight,/obj/item/clothing/head/helmet) body_parts_covered = UPPER_TORSO|LOWER_TORSO item_flags = THICKMATERIAL @@ -309,7 +309,7 @@ icon_nobadge = "wardenvest_nobadge" /obj/item/clothing/suit/storage/vest/wardencoat - name = "Warden's jacket" + name = JOB_WARDEN + "'s jacket" desc = "An armoured jacket with silver rank pips and livery." icon_state = "warden_jacket" blood_overlay_type = "suit" @@ -317,7 +317,7 @@ flags_inv = HIDETIE|HIDEHOLSTER /obj/item/clothing/suit/storage/vest/wardencoat/alt - name = "Warden's jacket" + name = JOB_WARDEN + "'s jacket" desc = "An armoured jacket with silver rank pips and livery." icon_state = "warden_alt" body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS @@ -404,7 +404,7 @@ icon_state = "pvest" desc = "A simple kevlar plate carrier. This one has the word 'Press' embroidered on patches on the back and front." item_state_slots = list(slot_r_hand_str = "armor", slot_l_hand_str = "armor") - allowed = list(/obj/item/device/flashlight,/obj/item/device/taperecorder,/obj/item/weapon/pen,/obj/item/device/camera_film,/obj/item/device/camera,/obj/item/clothing/head/helmet) + allowed = list(/obj/item/flashlight,/obj/item/taperecorder,/obj/item/pen,/obj/item/camera_film,/obj/item/camera,/obj/item/clothing/head/helmet) /obj/item/clothing/suit/storage/vest/heavy name = "heavy armor vest" @@ -464,7 +464,7 @@ item_state_slots = list(slot_r_hand_str = "armor", slot_l_hand_str = "armor") w_class = ITEMSIZE_LARGE//bulky item body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS - allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/tank/emergency/oxygen,/obj/item/clothing/head/helmet) + allowed = list(/obj/item/gun/energy,/obj/item/melee/baton,/obj/item/handcuffs,/obj/item/tank/emergency/oxygen,/obj/item/clothing/head/helmet) flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETIE|HIDEHOLSTER cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE @@ -529,13 +529,13 @@ if(H.gloves.body_parts_covered & ARMS) for(var/obj/item/clothing/accessory/A in src) if(A.body_parts_covered & ARMS) - to_chat(H, "You can't wear \the [A] with \the [H.gloves], they're in the way.") + to_chat(H, span_warning("You can't wear \the [A] with \the [H.gloves], they're in the way.")) return 0 if(H.shoes) if(H.shoes.body_parts_covered & LEGS) for(var/obj/item/clothing/accessory/A in src) if(A.body_parts_covered & LEGS) - to_chat(H, "You can't wear \the [A] with \the [H.shoes], they're in the way.") + to_chat(H, span_warning("You can't wear \the [A] with \the [H.shoes], they're in the way.")) return 0 return 1 diff --git a/code/modules/clothing/suits/armor_vr.dm b/code/modules/clothing/suits/armor_vr.dm index da738262c7c..d07343d6fb7 100644 --- a/code/modules/clothing/suits/armor_vr.dm +++ b/code/modules/clothing/suits/armor_vr.dm @@ -24,7 +24,7 @@ if(istype(H) && istype(H.tail_style, /datum/sprite_accessory/tail/taur/wolf)) return ..() else - to_chat(H,"You need to have a wolf-taur half to wear this.") + to_chat(H,span_warning("You need to have a wolf-taur half to wear this.")) return 0 // HoS armor improved by Vorestation to be slightly better than normal security stuff. @@ -156,14 +156,14 @@ siemens_coefficient = 0.9 armor = list(melee = 30, bullet = 20, laser = 20, energy = 20, bomb = 35, bio = 75, rad = 35) // Inferior to sec vests in bullet/laser but better for environmental protection. allowed = list( - /obj/item/device/flashlight, - /obj/item/weapon/gun, + /obj/item/flashlight, + /obj/item/gun, /obj/item/ammo_magazine, - /obj/item/weapon/melee, - /obj/item/weapon/material/knife, - /obj/item/weapon/tank, - /obj/item/device/radio, - /obj/item/weapon/pickaxe + /obj/item/melee, + /obj/item/material/knife, + /obj/item/tank, + /obj/item/radio, + /obj/item/pickaxe ) /obj/item/clothing/suit/armor/combat/crusader_explo/FM diff --git a/code/modules/clothing/suits/bio.dm b/code/modules/clothing/suits/bio.dm index 60237b385ed..05f31ce1de8 100644 --- a/code/modules/clothing/suits/bio.dm +++ b/code/modules/clothing/suits/bio.dm @@ -22,7 +22,7 @@ permeability_coefficient = 0.01 body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS|HANDS|FEET slowdown = 1.0 - allowed = list(/obj/item/weapon/tank/emergency/oxygen,/obj/item/weapon/pen,/obj/item/device/flashlight/pen) + allowed = list(/obj/item/tank/emergency/oxygen,/obj/item/pen,/obj/item/flashlight/pen) armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 20) flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL|HIDETIE|HIDEHOLSTER siemens_coefficient = 0.9 diff --git a/code/modules/clothing/suits/hooded.dm b/code/modules/clothing/suits/hooded.dm index d56f6c590d3..aa7d1bf8fb4 100644 --- a/code/modules/clothing/suits/hooded.dm +++ b/code/modules/clothing/suits/hooded.dm @@ -7,7 +7,7 @@ var/hoodtype = null //so the chaplain hoodie or other hoodies can override this var/hood_up = FALSE var/toggleicon - action_button_name = "Toggle Hood" + actions_types = list(/datum/action/item_action/toggle_hood) /obj/item/clothing/suit/storage/hooded/New() toggleicon = "[initial(icon_state)]" @@ -23,7 +23,7 @@ var/obj/item/clothing/head/hood/H = new hoodtype(src) hood = H -/obj/item/clothing/suit/storage/hooded/ui_action_click() +/obj/item/clothing/suit/storage/hooded/ui_action_click(mob/user, actiontype) ToggleHood() /obj/item/clothing/suit/storage/hooded/equipped(mob/user, slot) @@ -50,10 +50,10 @@ if(ishuman(loc)) var/mob/living/carbon/human/H = src.loc if(H.wear_suit != src) - to_chat(H, "You must be wearing [src] to put up the hood!") + to_chat(H, span_warning("You must be wearing [src] to put up the hood!")) return if(H.head) - to_chat(H, "You're already wearing something on your head!") + to_chat(H, span_warning("You're already wearing something on your head!")) return else if(color != hood.color) @@ -74,7 +74,7 @@ body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS flags_inv = HIDEJUMPSUIT|HIDETIE|HIDEHOLSTER cold_protection = UPPER_TORSO|LOWER_TORSO|ARMS - action_button_name = "Toggle Hood" + actions_types = list(/datum/action/item_action/toggle_hood) /obj/item/clothing/suit/storage/hooded/costume/siffet name = "siffet costume" @@ -110,8 +110,8 @@ cold_protection = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE hoodtype = /obj/item/clothing/head/hood/winter - allowed = list(/obj/item/weapon/pen, /obj/item/weapon/paper, /obj/item/device/flashlight, /obj/item/weapon/tank/emergency/oxygen, /obj/item/weapon/storage/fancy/cigarettes, - /obj/item/weapon/storage/box/matches, /obj/item/weapon/reagent_containers/food/drinks/flask, /obj/item/device/suit_cooling_unit) + allowed = list(/obj/item/pen, /obj/item/paper, /obj/item/flashlight, /obj/item/tank/emergency/oxygen, /obj/item/storage/fancy/cigarettes, + /obj/item/storage/box/matches, /obj/item/reagent_containers/food/drinks/flask, /obj/item/suit_cooling_unit) /obj/item/clothing/suit/storage/hooded/wintercoat/captain name = "site manager's winter coat" @@ -120,10 +120,10 @@ item_state_slots = list(slot_r_hand_str = "coatcaptain", slot_l_hand_str = "coatcaptain") armor = list(melee = 20, bullet = 15, laser = 20, energy = 10, bomb = 15, bio = 0, rad = 0) hoodtype = /obj/item/clothing/head/hood/winter/captain - allowed = list (/obj/item/weapon/pen, /obj/item/weapon/paper, /obj/item/device/flashlight, /obj/item/weapon/tank/emergency/oxygen, /obj/item/weapon/storage/fancy/cigarettes, - /obj/item/weapon/storage/box/matches, /obj/item/weapon/reagent_containers/food/drinks/flask, /obj/item/device/suit_cooling_unit, /obj/item/weapon/gun/energy, - /obj/item/weapon/reagent_containers/spray/pepper, /obj/item/weapon/gun/projectile, /obj/item/ammo_magazine, /obj/item/ammo_casing, /obj/item/weapon/melee/baton, - /obj/item/weapon/handcuffs, /obj/item/clothing/head/helmet) + allowed = list (/obj/item/pen, /obj/item/paper, /obj/item/flashlight, /obj/item/tank/emergency/oxygen, /obj/item/storage/fancy/cigarettes, + /obj/item/storage/box/matches, /obj/item/reagent_containers/food/drinks/flask, /obj/item/suit_cooling_unit, /obj/item/gun/energy, + /obj/item/reagent_containers/spray/pepper, /obj/item/gun/projectile, /obj/item/ammo_magazine, /obj/item/ammo_casing, /obj/item/melee/baton, + /obj/item/handcuffs, /obj/item/clothing/head/helmet) /obj/item/clothing/suit/storage/hooded/wintercoat/hop name = "head of personnel's winter coat" @@ -131,10 +131,10 @@ icon_state = "coathop" armor = list(melee = 5, bullet = 0, laser = 0, energy = 0, bomb = 5, bio = 5, rad = 0) hoodtype = /obj/item/clothing/head/hood/winter/hop - allowed = list (/obj/item/weapon/pen, /obj/item/weapon/paper, /obj/item/device/flashlight, /obj/item/weapon/tank/emergency/oxygen, /obj/item/weapon/storage/fancy/cigarettes, - /obj/item/weapon/storage/box/matches, /obj/item/weapon/reagent_containers/food/drinks/flask, /obj/item/device/suit_cooling_unit, /obj/item/weapon/gun/energy, - /obj/item/weapon/reagent_containers/spray/pepper, /obj/item/weapon/gun/projectile, /obj/item/ammo_magazine, /obj/item/ammo_casing, /obj/item/weapon/melee/baton, - /obj/item/weapon/handcuffs, /obj/item/clothing/head/helmet) + allowed = list (/obj/item/pen, /obj/item/paper, /obj/item/flashlight, /obj/item/tank/emergency/oxygen, /obj/item/storage/fancy/cigarettes, + /obj/item/storage/box/matches, /obj/item/reagent_containers/food/drinks/flask, /obj/item/suit_cooling_unit, /obj/item/gun/energy, + /obj/item/reagent_containers/spray/pepper, /obj/item/gun/projectile, /obj/item/ammo_magazine, /obj/item/ammo_casing, /obj/item/melee/baton, + /obj/item/handcuffs, /obj/item/clothing/head/helmet) /obj/item/clothing/suit/storage/hooded/wintercoat/security name = "security winter coat" @@ -143,10 +143,10 @@ item_state_slots = list(slot_r_hand_str = "coatsecurity", slot_l_hand_str = "coatsecurity") armor = list(melee = 25, bullet = 20, laser = 20, energy = 15, bomb = 20, bio = 0, rad = 0) hoodtype = /obj/item/clothing/head/hood/winter/security - allowed = list(/obj/item/weapon/pen, /obj/item/weapon/paper, /obj/item/device/flashlight, /obj/item/weapon/tank/emergency/oxygen, /obj/item/weapon/storage/fancy/cigarettes, - /obj/item/weapon/storage/box/matches, /obj/item/weapon/reagent_containers/food/drinks/flask, /obj/item/device/suit_cooling_unit, /obj/item/weapon/gun/energy, - /obj/item/weapon/reagent_containers/spray/pepper, /obj/item/weapon/gun/projectile, /obj/item/ammo_magazine, /obj/item/ammo_casing, /obj/item/weapon/melee/baton, - /obj/item/weapon/handcuffs, /obj/item/clothing/head/helmet, /obj/item/clothing/mask/gas) + allowed = list(/obj/item/pen, /obj/item/paper, /obj/item/flashlight, /obj/item/tank/emergency/oxygen, /obj/item/storage/fancy/cigarettes, + /obj/item/storage/box/matches, /obj/item/reagent_containers/food/drinks/flask, /obj/item/suit_cooling_unit, /obj/item/gun/energy, + /obj/item/reagent_containers/spray/pepper, /obj/item/gun/projectile, /obj/item/ammo_magazine, /obj/item/ammo_casing, /obj/item/melee/baton, + /obj/item/handcuffs, /obj/item/clothing/head/helmet, /obj/item/clothing/mask/gas) /obj/item/clothing/suit/storage/hooded/wintercoat/security/hos name = "head of security's winter coat" @@ -154,10 +154,10 @@ icon_state = "coathos" armor = list(melee = 30, bullet = 20, laser = 20, energy = 20, bomb = 20, bio = 0, rad = 0) hoodtype = /obj/item/clothing/head/hood/winter/security/hos - allowed = list(/obj/item/weapon/pen, /obj/item/weapon/paper, /obj/item/device/flashlight, /obj/item/weapon/tank/emergency/oxygen, /obj/item/weapon/storage/fancy/cigarettes, - /obj/item/weapon/storage/box/matches, /obj/item/weapon/reagent_containers/food/drinks/flask, /obj/item/device/suit_cooling_unit, /obj/item/weapon/gun/energy, - /obj/item/weapon/reagent_containers/spray/pepper, /obj/item/weapon/gun/projectile, /obj/item/ammo_magazine, /obj/item/ammo_casing, /obj/item/weapon/melee/baton, - /obj/item/weapon/handcuffs, /obj/item/clothing/head/helmet, /obj/item/clothing/mask/gas) + allowed = list(/obj/item/pen, /obj/item/paper, /obj/item/flashlight, /obj/item/tank/emergency/oxygen, /obj/item/storage/fancy/cigarettes, + /obj/item/storage/box/matches, /obj/item/reagent_containers/food/drinks/flask, /obj/item/suit_cooling_unit, /obj/item/gun/energy, + /obj/item/reagent_containers/spray/pepper, /obj/item/gun/projectile, /obj/item/ammo_magazine, /obj/item/ammo_casing, /obj/item/melee/baton, + /obj/item/handcuffs, /obj/item/clothing/head/helmet, /obj/item/clothing/mask/gas) /obj/item/clothing/suit/storage/hooded/wintercoat/medical name = "medical winter coat" @@ -166,11 +166,11 @@ item_state_slots = list(slot_r_hand_str = "coatmedical", slot_l_hand_str = "coatmedical") armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 50, rad = 0) hoodtype = /obj/item/clothing/head/hood/winter/medical - allowed = list(/obj/item/weapon/pen, /obj/item/weapon/paper, /obj/item/device/flashlight, /obj/item/weapon/tank/emergency/oxygen, /obj/item/weapon/storage/fancy/cigarettes, - /obj/item/weapon/storage/box/matches, /obj/item/weapon/reagent_containers/food/drinks/flask, /obj/item/device/suit_cooling_unit, /obj/item/device/analyzer, /obj/item/stack/medical, - /obj/item/weapon/dnainjector, /obj/item/weapon/reagent_containers/dropper, /obj/item/weapon/reagent_containers/syringe, /obj/item/weapon/reagent_containers/hypospray, - /obj/item/device/healthanalyzer, /obj/item/weapon/reagent_containers/glass/bottle, /obj/item/weapon/reagent_containers/glass/beaker, - /obj/item/weapon/reagent_containers/pill, /obj/item/weapon/storage/pill_bottle, /obj/item/clothing/mask/gas) + allowed = list(/obj/item/pen, /obj/item/paper, /obj/item/flashlight, /obj/item/tank/emergency/oxygen, /obj/item/storage/fancy/cigarettes, + /obj/item/storage/box/matches, /obj/item/reagent_containers/food/drinks/flask, /obj/item/suit_cooling_unit, /obj/item/analyzer, /obj/item/stack/medical, + /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, + /obj/item/healthanalyzer, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, + /obj/item/reagent_containers/pill, /obj/item/storage/pill_bottle, /obj/item/clothing/mask/gas) /obj/item/clothing/suit/storage/hooded/wintercoat/medical/alt name = "medical winter coat, alt" @@ -213,11 +213,11 @@ icon_state = "coatsar" armor = list(melee = 15, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 50, rad = 5) hoodtype = /obj/item/clothing/head/hood/winter/medical/sar //VOREStation edit: sar winter hood - allowed = list (/obj/item/weapon/gun, /obj/item/weapon/pen, /obj/item/weapon/paper, /obj/item/device/flashlight, /obj/item/weapon/tank/emergency/oxygen, /obj/item/weapon/storage/fancy/cigarettes, - /obj/item/weapon/storage/box/matches, /obj/item/weapon/reagent_containers/food/drinks/flask, /obj/item/device/suit_cooling_unit, /obj/item/device/analyzer, /obj/item/stack/medical, - /obj/item/weapon/dnainjector, /obj/item/weapon/reagent_containers/dropper, /obj/item/weapon/reagent_containers/syringe, /obj/item/weapon/reagent_containers/hypospray, - /obj/item/device/healthanalyzer, /obj/item/weapon/reagent_containers/glass/bottle, /obj/item/weapon/reagent_containers/glass/beaker, - /obj/item/weapon/reagent_containers/pill, /obj/item/weapon/storage/pill_bottle, /obj/item/clothing/mask/gas) + allowed = list (/obj/item/gun, /obj/item/pen, /obj/item/paper, /obj/item/flashlight, /obj/item/tank/emergency/oxygen, /obj/item/storage/fancy/cigarettes, + /obj/item/storage/box/matches, /obj/item/reagent_containers/food/drinks/flask, /obj/item/suit_cooling_unit, /obj/item/analyzer, /obj/item/stack/medical, + /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, + /obj/item/healthanalyzer, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, + /obj/item/reagent_containers/pill, /obj/item/storage/pill_bottle, /obj/item/clothing/mask/gas) /obj/item/clothing/suit/storage/hooded/wintercoat/science name = "science winter coat" @@ -226,11 +226,11 @@ item_state_slots = list(slot_r_hand_str = "coatscience", slot_l_hand_str = "coatscience") armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 10, bio = 0, rad = 0) hoodtype = /obj/item/clothing/head/hood/winter/science - allowed = list(/obj/item/weapon/pen, /obj/item/weapon/paper, /obj/item/device/flashlight, /obj/item/weapon/tank/emergency/oxygen, /obj/item/weapon/storage/fancy/cigarettes, - /obj/item/weapon/storage/box/matches, /obj/item/weapon/reagent_containers/food/drinks/flask, /obj/item/device/suit_cooling_unit, /obj/item/device/analyzer,/obj/item/stack/medical, - /obj/item/weapon/dnainjector, /obj/item/weapon/reagent_containers/dropper, /obj/item/weapon/reagent_containers/syringe, /obj/item/weapon/reagent_containers/hypospray, - /obj/item/device/healthanalyzer, /obj/item/weapon/reagent_containers/glass/bottle, /obj/item/weapon/reagent_containers/glass/beaker, - /obj/item/weapon/reagent_containers/pill, /obj/item/weapon/storage/pill_bottle) + allowed = list(/obj/item/pen, /obj/item/paper, /obj/item/flashlight, /obj/item/tank/emergency/oxygen, /obj/item/storage/fancy/cigarettes, + /obj/item/storage/box/matches, /obj/item/reagent_containers/food/drinks/flask, /obj/item/suit_cooling_unit, /obj/item/analyzer,/obj/item/stack/medical, + /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, + /obj/item/healthanalyzer, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, + /obj/item/reagent_containers/pill, /obj/item/storage/pill_bottle) /obj/item/clothing/suit/storage/hooded/wintercoat/science/robotics name = "robotics winter coat" @@ -253,10 +253,10 @@ item_state_slots = list(slot_r_hand_str = "coatengineer", slot_l_hand_str = "coatengineer") armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 20) hoodtype = /obj/item/clothing/head/hood/winter/engineering - allowed = list(/obj/item/weapon/pen, /obj/item/weapon/paper, /obj/item/device/flashlight, /obj/item/weapon/tank/emergency/oxygen, /obj/item/weapon/storage/fancy/cigarettes, - /obj/item/weapon/storage/box/matches, /obj/item/weapon/reagent_containers/food/drinks/flask, /obj/item/device/suit_cooling_unit, /obj/item/device/analyzer, /obj/item/device/flashlight, - /obj/item/device/multitool, /obj/item/device/pipe_painter, /obj/item/device/radio, /obj/item/device/t_scanner, /obj/item/weapon/tool/crowbar, /obj/item/weapon/tool/screwdriver, - /obj/item/weapon/weldingtool, /obj/item/weapon/tool/wirecutters, /obj/item/weapon/tool/wrench, /obj/item/weapon/tank/emergency/oxygen, /obj/item/clothing/mask/gas, /obj/item/taperoll/engineering, /obj/item/clothing/head/hardhat) //please engineers take your hardhat with you I beg of you + allowed = list(/obj/item/pen, /obj/item/paper, /obj/item/flashlight, /obj/item/tank/emergency/oxygen, /obj/item/storage/fancy/cigarettes, + /obj/item/storage/box/matches, /obj/item/reagent_containers/food/drinks/flask, /obj/item/suit_cooling_unit, /obj/item/analyzer, /obj/item/flashlight, + /obj/item/multitool, /obj/item/pipe_painter, /obj/item/radio, /obj/item/t_scanner, /obj/item/tool/crowbar, /obj/item/tool/screwdriver, + /obj/item/weldingtool, /obj/item/tool/wirecutters, /obj/item/tool/wrench, /obj/item/tank/emergency/oxygen, /obj/item/clothing/mask/gas, /obj/item/taperoll/engineering, /obj/item/clothing/head/hardhat) //please engineers take your hardhat with you I beg of you /obj/item/clothing/suit/storage/hooded/wintercoat/engineering/atmos name = "atmospherics winter coat" @@ -279,10 +279,10 @@ icon_state = "coathydro" item_state_slots = list(slot_r_hand_str = "coathydro", slot_l_hand_str = "coathydro") hoodtype = /obj/item/clothing/head/hood/winter/hydro - allowed = list(/obj/item/weapon/pen, /obj/item/weapon/paper, /obj/item/device/flashlight, /obj/item/weapon/tank/emergency/oxygen, - /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/storage/box/matches, /obj/item/weapon/reagent_containers/food/drinks/flask, - /obj/item/device/suit_cooling_unit, /obj/item/weapon/reagent_containers/spray/plantbgone, /obj/item/device/analyzer/plant_analyzer, /obj/item/seeds, - /obj/item/weapon/reagent_containers/glass/bottle, /obj/item/weapon/material/minihoe) + allowed = list(/obj/item/pen, /obj/item/paper, /obj/item/flashlight, /obj/item/tank/emergency/oxygen, + /obj/item/storage/fancy/cigarettes, /obj/item/storage/box/matches, /obj/item/reagent_containers/food/drinks/flask, + /obj/item/suit_cooling_unit, /obj/item/reagent_containers/spray/plantbgone, /obj/item/analyzer/plant_analyzer, /obj/item/seeds, + /obj/item/reagent_containers/glass/bottle, /obj/item/material/minihoe) /obj/item/clothing/suit/storage/hooded/wintercoat/cargo name = "cargo winter coat" @@ -305,9 +305,9 @@ item_state_slots = list(slot_r_hand_str = "coatminer", slot_l_hand_str = "coatminer") armor = list(melee = 10, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0) hoodtype = /obj/item/clothing/head/hood/winter/cargo/miner - allowed = list(/obj/item/weapon/pen, /obj/item/weapon/paper, /obj/item/device/flashlight, /obj/item/weapon/storage/fancy/cigarettes, - /obj/item/weapon/storage/box/matches, /obj/item/weapon/reagent_containers/food/drinks/flask, /obj/item/device/suit_cooling_unit, - /obj/item/weapon/tank, /obj/item/device/radio, /obj/item/weapon/pickaxe, /obj/item/weapon/storage/bag/ore, /obj/item/clothing/mask/gas) + allowed = list(/obj/item/pen, /obj/item/paper, /obj/item/flashlight, /obj/item/storage/fancy/cigarettes, + /obj/item/storage/box/matches, /obj/item/reagent_containers/food/drinks/flask, /obj/item/suit_cooling_unit, + /obj/item/tank, /obj/item/radio, /obj/item/pickaxe, /obj/item/storage/bag/ore, /obj/item/clothing/mask/gas) /obj/item/clothing/suit/storage/hooded/wintercoat/bar name = "bartender winter coat" @@ -379,14 +379,14 @@ siemens_coefficient = 0.9 armor = list(melee = 30, bullet = 20, laser = 20, energy = 20, bomb = 35, bio = 75, rad = 35) // Inferior to sec vests in bullet/laser but better for environmental protection. allowed = list( - /obj/item/device/flashlight, - /obj/item/weapon/gun, + /obj/item/flashlight, + /obj/item/gun, /obj/item/ammo_magazine, - /obj/item/weapon/melee, - /obj/item/weapon/material/knife, - /obj/item/weapon/tank, - /obj/item/device/radio, - /obj/item/weapon/pickaxe + /obj/item/melee, + /obj/item/material/knife, + /obj/item/tank, + /obj/item/radio, + /obj/item/pickaxe ) /obj/item/clothing/suit/storage/hooded/techpriest @@ -402,8 +402,8 @@ body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS flags_inv = HIDEHOLSTER hoodtype = /obj/item/clothing/head/hood/raincoat - allowed = list(/obj/item/weapon/pen, /obj/item/weapon/paper, /obj/item/device/flashlight, /obj/item/weapon/tank/emergency/oxygen, /obj/item/weapon/storage/fancy/cigarettes, - /obj/item/weapon/storage/box/matches, /obj/item/weapon/reagent_containers/food/drinks/flask, /obj/item/device/suit_cooling_unit) + allowed = list(/obj/item/pen, /obj/item/paper, /obj/item/flashlight, /obj/item/tank/emergency/oxygen, /obj/item/storage/fancy/cigarettes, + /obj/item/storage/box/matches, /obj/item/reagent_containers/food/drinks/flask, /obj/item/suit_cooling_unit) //hooded cloaks diff --git a/code/modules/clothing/suits/hooded_vr.dm b/code/modules/clothing/suits/hooded_vr.dm index 2a5da38c4b9..57cc6314048 100644 --- a/code/modules/clothing/suits/hooded_vr.dm +++ b/code/modules/clothing/suits/hooded_vr.dm @@ -22,7 +22,7 @@ hoodtype = /obj/item/clothing/head/hood/galahad armor = list(melee = 80, bullet = 50, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0) siemens_coefficient = 2 - action_button_name = "Toggle Knight Headgear" + actions_types = list(/datum/action/item_action/toggle_knight_headgear) /obj/item/clothing/suit/storage/hooded/knight/galahad name = "crusader's armor" @@ -53,7 +53,7 @@ icon = 'icons/obj/clothing/knights_vr.dmi' icon_override = 'icons/obj/clothing/knights_vr.dmi' hoodtype = /obj/item/clothing/head/hood/galahad_costume - action_button_name = "Toggle Knight Headgear" + actions_types = list(/datum/action/item_action/toggle_knight_headgear) /obj/item/clothing/suit/storage/hooded/knight_costume/galahad icon_state = "galahad" @@ -84,7 +84,7 @@ body_parts_covered = UPPER_TORSO|LOWER_TORSO flags_inv = HIDETIE|HIDEHOLSTER cold_protection = UPPER_TORSO|LOWER_TORSO - action_button_name = "Toggle Hood" + actions_types = list(/datum/action/item_action/toggle_hood) /obj/item/clothing/suit/storage/hooded/foodcostume/hotdog //Belly filler uniform :^). name = "hotdog costume" @@ -118,8 +118,8 @@ cold_protection = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE hoodtype = /obj/item/clothing/head/hood/hoodie - allowed = list(/obj/item/weapon/pen, /obj/item/weapon/paper, /obj/item/device/flashlight, /obj/item/weapon/tank/emergency/oxygen, /obj/item/weapon/storage/fancy/cigarettes, - /obj/item/weapon/storage/box/matches, /obj/item/weapon/reagent_containers/food/drinks/flask, /obj/item/device/suit_cooling_unit) + allowed = list(/obj/item/pen, /obj/item/paper, /obj/item/flashlight, /obj/item/tank/emergency/oxygen, /obj/item/storage/fancy/cigarettes, + /obj/item/storage/box/matches, /obj/item/reagent_containers/food/drinks/flask, /obj/item/suit_cooling_unit) /obj/item/clothing/suit/storage/hooded/hoodie/redtrim name = "red-trimmed hoodie" diff --git a/code/modules/clothing/suits/hooded_yw.dm b/code/modules/clothing/suits/hooded_yw.dm index a0196c05a66..77a8cb7d342 100644 --- a/code/modules/clothing/suits/hooded_yw.dm +++ b/code/modules/clothing/suits/hooded_yw.dm @@ -6,7 +6,7 @@ icon_override = 'icons/inventory/suit/mob_yw.dmi' item_state = "snowsuit" hoodtype = /obj/item/clothing/head/hood/winter/snowsuit - allowed = list (/obj/item/weapon/pen, /obj/item/weapon/paper, /obj/item/device/flashlight,/obj/item/weapon/tank/emergency/oxygen, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/storage/box/matches, /obj/item/weapon/reagent_containers/food/drinks/flask) + allowed = list (/obj/item/pen, /obj/item/paper, /obj/item/flashlight,/obj/item/tank/emergency/oxygen, /obj/item/storage/fancy/cigarettes, /obj/item/storage/box/matches, /obj/item/reagent_containers/food/drinks/flask) /obj/item/clothing/suit/storage/hooded/wintercoat/snowsuit/command name = "command snowsuit" @@ -14,7 +14,7 @@ item_state = "snowsuit_command" hoodtype = /obj/item/clothing/head/hood/winter/snowsuit/command armor = list(melee = 20, bullet = 15, laser = 20, energy = 10, bomb = 15, bio = 0, rad = 0) - allowed = list (/obj/item/weapon/pen, /obj/item/weapon/paper, /obj/item/device/flashlight,/obj/item/weapon/tank/emergency/oxygen, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/storage/box/matches, /obj/item/weapon/reagent_containers/food/drinks/flask, /obj/item/device/suit_cooling_unit, /obj/item/weapon/gun/energy, /obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/gun/projectile,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton, /obj/item/weapon/handcuffs,/obj/item/clothing/head/helmet) + allowed = list (/obj/item/pen, /obj/item/paper, /obj/item/flashlight,/obj/item/tank/emergency/oxygen, /obj/item/storage/fancy/cigarettes, /obj/item/storage/box/matches, /obj/item/reagent_containers/food/drinks/flask, /obj/item/suit_cooling_unit, /obj/item/gun/energy, /obj/item/reagent_containers/spray/pepper,/obj/item/gun/projectile,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton, /obj/item/handcuffs,/obj/item/clothing/head/helmet) /obj/item/clothing/suit/storage/hooded/wintercoat/snowsuit/security name = "security snowsuit" @@ -22,7 +22,7 @@ item_state = "snowsuit_security" hoodtype = /obj/item/clothing/head/hood/winter/snowsuit/security armor = list(melee = 25, bullet = 20, laser = 20, energy = 15, bomb = 20, bio = 0, rad = 0) - allowed = list (/obj/item/weapon/pen, /obj/item/weapon/paper, /obj/item/device/flashlight,/obj/item/weapon/tank/emergency/oxygen, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/storage/box/matches, /obj/item/weapon/reagent_containers/food/drinks/flask, /obj/item/device/suit_cooling_unit, /obj/item/weapon/gun/energy, /obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/gun/projectile,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton, /obj/item/weapon/handcuffs,/obj/item/clothing/head/helmet) + allowed = list (/obj/item/pen, /obj/item/paper, /obj/item/flashlight,/obj/item/tank/emergency/oxygen, /obj/item/storage/fancy/cigarettes, /obj/item/storage/box/matches, /obj/item/reagent_containers/food/drinks/flask, /obj/item/suit_cooling_unit, /obj/item/gun/energy, /obj/item/reagent_containers/spray/pepper,/obj/item/gun/projectile,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton, /obj/item/handcuffs,/obj/item/clothing/head/helmet) /obj/item/clothing/suit/storage/hooded/wintercoat/snowsuit/medical name = "medical snowsuit" @@ -30,7 +30,7 @@ item_state = "snowsuit_medical" hoodtype = /obj/item/clothing/head/hood/winter/snowsuit/medical armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 50, rad = 0) - allowed = list (/obj/item/weapon/pen, /obj/item/weapon/paper, /obj/item/device/flashlight,/obj/item/weapon/tank/emergency/oxygen, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/storage/box/matches, /obj/item/weapon/reagent_containers/food/drinks/flask, /obj/item/device/suit_cooling_unit, /obj/item/device/analyzer,/obj/item/stack/medical, /obj/item/weapon/dnainjector,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/reagent_containers/hypospray, /obj/item/device/healthanalyzer,/obj/item/weapon/reagent_containers/glass/bottle,/obj/item/weapon/reagent_containers/glass/beaker, /obj/item/weapon/reagent_containers/pill,/obj/item/weapon/storage/pill_bottle) + allowed = list (/obj/item/pen, /obj/item/paper, /obj/item/flashlight,/obj/item/tank/emergency/oxygen, /obj/item/storage/fancy/cigarettes, /obj/item/storage/box/matches, /obj/item/reagent_containers/food/drinks/flask, /obj/item/suit_cooling_unit, /obj/item/analyzer,/obj/item/stack/medical, /obj/item/dnainjector,/obj/item/reagent_containers/dropper,/obj/item/reagent_containers/syringe,/obj/item/reagent_containers/hypospray, /obj/item/healthanalyzer,/obj/item/reagent_containers/glass/bottle,/obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/pill,/obj/item/storage/pill_bottle) /obj/item/clothing/suit/storage/hooded/wintercoat/snowsuit/engineering name = "engineering snowsuit" @@ -38,7 +38,7 @@ item_state = "snowsuit_engineering" hoodtype = /obj/item/clothing/head/hood/winter/snowsuit/engineering armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 20) - allowed = list (/obj/item/weapon/pen, /obj/item/weapon/paper, /obj/item/device/flashlight,/obj/item/weapon/tank/emergency/oxygen, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/storage/box/matches, /obj/item/weapon/reagent_containers/food/drinks/flask, /obj/item/device/suit_cooling_unit, /obj/item/device/analyzer, /obj/item/device/flashlight, /obj/item/device/multitool, /obj/item/device/pipe_painter, /obj/item/device/radio, /obj/item/device/t_scanner, /obj/item/weapon/tool/crowbar, /obj/item/weapon/tool/screwdriver, /obj/item/weapon/weldingtool, /obj/item/weapon/tool/wirecutters, /obj/item/weapon/tool/wrench, /obj/item/weapon/tank/emergency/oxygen, /obj/item/clothing/mask/gas, /obj/item/taperoll/engineering) + allowed = list (/obj/item/pen, /obj/item/paper, /obj/item/flashlight,/obj/item/tank/emergency/oxygen, /obj/item/storage/fancy/cigarettes, /obj/item/storage/box/matches, /obj/item/reagent_containers/food/drinks/flask, /obj/item/suit_cooling_unit, /obj/item/analyzer, /obj/item/flashlight, /obj/item/multitool, /obj/item/pipe_painter, /obj/item/radio, /obj/item/t_scanner, /obj/item/tool/crowbar, /obj/item/tool/screwdriver, /obj/item/weldingtool, /obj/item/tool/wirecutters, /obj/item/tool/wrench, /obj/item/tank/emergency/oxygen, /obj/item/clothing/mask/gas, /obj/item/taperoll/engineering) /obj/item/clothing/suit/storage/hooded/wintercoat/snowsuit/cargo name = "cargo snowsuit" @@ -46,7 +46,7 @@ item_state = "snowsuit_cargo" hoodtype = /obj/item/clothing/head/hood/winter/snowsuit/cargo armor = list(melee = 10, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0) - allowed = list (/obj/item/weapon/pen, /obj/item/weapon/paper, /obj/item/device/flashlight, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/storage/box/matches, /obj/item/weapon/reagent_containers/food/drinks/flask, /obj/item/device/suit_cooling_unit, /obj/item/weapon/tank, /obj/item/device/radio, /obj/item/weapon/pickaxe, /obj/item/weapon/storage/bag/ore) + allowed = list (/obj/item/pen, /obj/item/paper, /obj/item/flashlight, /obj/item/storage/fancy/cigarettes, /obj/item/storage/box/matches, /obj/item/reagent_containers/food/drinks/flask, /obj/item/suit_cooling_unit, /obj/item/tank, /obj/item/radio, /obj/item/pickaxe, /obj/item/storage/bag/ore) /obj/item/clothing/suit/storage/hooded/wintercoat/snowsuit/science name = "science snowsuit" @@ -54,7 +54,7 @@ item_state = "snowsuit_science" hoodtype = /obj/item/clothing/head/hood/winter/snowsuit/science armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 10, bio = 0, rad = 0) - allowed = list (/obj/item/weapon/pen, /obj/item/weapon/paper, /obj/item/device/flashlight,/obj/item/weapon/tank/emergency/oxygen, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/storage/box/matches, /obj/item/weapon/reagent_containers/food/drinks/flask, /obj/item/device/suit_cooling_unit, /obj/item/device/analyzer,/obj/item/stack/medical, /obj/item/weapon/dnainjector,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/reagent_containers/hypospray, /obj/item/device/healthanalyzer,/obj/item/weapon/reagent_containers/glass/bottle,/obj/item/weapon/reagent_containers/glass/beaker, /obj/item/weapon/reagent_containers/pill,/obj/item/weapon/storage/pill_bottle) + allowed = list (/obj/item/pen, /obj/item/paper, /obj/item/flashlight,/obj/item/tank/emergency/oxygen, /obj/item/storage/fancy/cigarettes, /obj/item/storage/box/matches, /obj/item/reagent_containers/food/drinks/flask, /obj/item/suit_cooling_unit, /obj/item/analyzer,/obj/item/stack/medical, /obj/item/dnainjector,/obj/item/reagent_containers/dropper,/obj/item/reagent_containers/syringe,/obj/item/reagent_containers/hypospray, /obj/item/healthanalyzer,/obj/item/reagent_containers/glass/bottle,/obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/pill,/obj/item/storage/pill_bottle) /obj/item/clothing/suit/storage/hooded/wintercoat/snowsuit/get_worn_icon_file(var/body_type, var/slot_name, var/default_icon, var/inhands) if(body_type == SPECIES_TESHARI) diff --git a/code/modules/clothing/suits/jobs.dm b/code/modules/clothing/suits/jobs.dm index 37ac8cd948d..ffe9850629d 100644 --- a/code/modules/clothing/suits/jobs.dm +++ b/code/modules/clothing/suits/jobs.dm @@ -10,8 +10,8 @@ item_state_slots = list(slot_r_hand_str = "overalls", slot_l_hand_str = "overalls") blood_overlay_type = "armor" body_parts_covered = 0 - allowed = list (/obj/item/weapon/reagent_containers/spray/plantbgone, /obj/item/device/analyzer/plant_analyzer, /obj/item/seeds, - /obj/item/weapon/reagent_containers/glass/bottle, /obj/item/weapon/material/minihoe) + allowed = list (/obj/item/reagent_containers/spray/plantbgone, /obj/item/analyzer/plant_analyzer, /obj/item/seeds, + /obj/item/reagent_containers/glass/bottle, /obj/item/material/minihoe) /obj/item/clothing/suit/storage/apron/white name = "white apron" @@ -28,14 +28,14 @@ //Captain /obj/item/clothing/suit/captunic name = "site manager's parade tunic" - desc = "Worn by a Site Manager to show their class." + desc = "Worn by a " + JOB_SITE_MANAGER + " to show their class." icon_state = "captunic" body_parts_covered = UPPER_TORSO|ARMS flags_inv = HIDEJUMPSUIT|HIDETIE|HIDEHOLSTER /obj/item/clothing/suit/captunic/capjacket name = "site manager's uniform jacket" - desc = "A less formal jacket for everyday Site Manager use." + desc = "A less formal jacket for everyday " + JOB_SITE_MANAGER + " use." icon_state = "capjacket" body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS flags_inv = HIDEHOLSTER @@ -55,7 +55,7 @@ body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS flags_inv = HIDEHOLSTER hoodtype = /obj/item/clothing/head/chaplain_hood - allowed = list (/obj/item/weapon/storage/bible) + allowed = list (/obj/item/storage/bible) //Chaplain but spookier /obj/item/clothing/suit/storage/hooded/chaplain_hoodie/whiteout @@ -83,7 +83,7 @@ permeability_coefficient = 0.50 body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS flags_inv = HIDETIE|HIDEHOLSTER - allowed = list (/obj/item/weapon/material/knife) + allowed = list (/obj/item/material/knife) //Chef /obj/item/clothing/suit/chef/classic @@ -127,9 +127,9 @@ blood_overlay_type = "coat" body_parts_covered = UPPER_TORSO|ARMS flags_inv = HIDEHOLSTER - allowed = list(/obj/item/weapon/tank/emergency/oxygen, /obj/item/device/flashlight, /obj/item/weapon/gun/energy, /obj/item/weapon/gun/projectile, /obj/item/ammo_magazine, - /obj/item/ammo_casing, /obj/item/weapon/melee/baton, /obj/item/weapon/handcuffs, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/flame/lighter, - /obj/item/device/taperecorder, /obj/item/device/uv_light) + allowed = list(/obj/item/tank/emergency/oxygen, /obj/item/flashlight, /obj/item/gun/energy, /obj/item/gun/projectile, /obj/item/ammo_magazine, + /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/handcuffs, /obj/item/storage/fancy/cigarettes, /obj/item/flame/lighter, + /obj/item/taperecorder, /obj/item/uv_light) armor = list(melee = 10, bullet = 10, laser = 15, energy = 10, bomb = 0, bio = 0, rad = 0) /obj/item/clothing/suit/storage/det_trench/grey @@ -144,9 +144,9 @@ desc = "A forensics technician jacket." body_parts_covered = UPPER_TORSO|ARMS flags_inv = HIDEHOLSTER - allowed = list(/obj/item/weapon/tank/emergency/oxygen, /obj/item/device/flashlight, /obj/item/weapon/gun/energy, /obj/item/weapon/gun/projectile, /obj/item/ammo_magazine, - /obj/item/ammo_casing, /obj/item/weapon/melee/baton, /obj/item/weapon/handcuffs, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/flame/lighter, - /obj/item/device/taperecorder, /obj/item/device/uv_light) + allowed = list(/obj/item/tank/emergency/oxygen, /obj/item/flashlight, /obj/item/gun/energy, /obj/item/gun/projectile, /obj/item/ammo_magazine, + /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/handcuffs, /obj/item/storage/fancy/cigarettes, /obj/item/flame/lighter, + /obj/item/taperecorder, /obj/item/uv_light) armor = list(melee = 10, bullet = 10, laser = 15, energy = 10, bomb = 0, bio = 0, rad = 0) /obj/item/clothing/suit/storage/forensics/red @@ -177,9 +177,9 @@ desc = "A high-visibility vest used in work zones." icon_state = "hazard" blood_overlay_type = "armor" - allowed = list (/obj/item/device/analyzer, /obj/item/device/flashlight, /obj/item/device/multitool, /obj/item/device/pipe_painter, /obj/item/device/radio, /obj/item/device/t_scanner, - /obj/item/weapon/tool/crowbar, /obj/item/weapon/tool/screwdriver, /obj/item/weapon/weldingtool, /obj/item/weapon/tool/wirecutters, /obj/item/weapon/tool/wrench, /obj/item/weapon/tank/emergency/oxygen, - /obj/item/clothing/mask/gas, /obj/item/taperoll/engineering, /obj/item/taperoll/atmos, /obj/item/device/analyzer, /obj/item/weapon/extinguisher/mini) //VOREStation edit. Few more tools that can be put on vests + allowed = list (/obj/item/analyzer, /obj/item/flashlight, /obj/item/multitool, /obj/item/pipe_painter, /obj/item/radio, /obj/item/t_scanner, + /obj/item/tool/crowbar, /obj/item/tool/screwdriver, /obj/item/weldingtool, /obj/item/tool/wirecutters, /obj/item/tool/wrench, /obj/item/tank/emergency/oxygen, + /obj/item/clothing/mask/gas, /obj/item/taperoll/engineering, /obj/item/taperoll/atmos, /obj/item/analyzer, /obj/item/extinguisher/mini) //VOREStation edit. Few more tools that can be put on vests body_parts_covered = UPPER_TORSO /obj/item/clothing/suit/storage/hazardvest/blue @@ -230,8 +230,8 @@ icon_state = "fr_jacket" item_state_slots = list(slot_r_hand_str = "fr_jacket", slot_l_hand_str = "fr_jacket") blood_overlay_type = "armor" - allowed = list(/obj/item/stack/medical, /obj/item/weapon/reagent_containers/dropper, /obj/item/weapon/reagent_containers/hypospray, /obj/item/weapon/reagent_containers/syringe, - /obj/item/device/healthanalyzer, /obj/item/device/flashlight, /obj/item/device/radio, /obj/item/weapon/tank/emergency/oxygen) + allowed = list(/obj/item/stack/medical, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/hypospray, /obj/item/reagent_containers/syringe, + /obj/item/healthanalyzer, /obj/item/flashlight, /obj/item/radio, /obj/item/tank/emergency/oxygen) body_parts_covered = UPPER_TORSO|ARMS /obj/item/clothing/suit/storage/toggle/fr_jacket/ems @@ -246,9 +246,9 @@ icon_state = "surgical" blood_overlay_type = "armor" body_parts_covered = UPPER_TORSO|LOWER_TORSO - allowed = list(/obj/item/stack/medical, /obj/item/weapon/reagent_containers/dropper, /obj/item/weapon/reagent_containers/hypospray, /obj/item/weapon/reagent_containers/syringe, \ - /obj/item/device/healthanalyzer, /obj/item/device/flashlight, /obj/item/device/radio, /obj/item/weapon/tank/emergency/oxygen,/obj/item/weapon/surgical/scalpel,/obj/item/weapon/surgical/retractor,/obj/item/weapon/surgical/hemostat, \ - /obj/item/weapon/surgical/cautery,/obj/item/weapon/surgical/bonegel,/obj/item/weapon/surgical/FixOVein) + allowed = list(/obj/item/stack/medical, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/hypospray, /obj/item/reagent_containers/syringe, \ + /obj/item/healthanalyzer, /obj/item/flashlight, /obj/item/radio, /obj/item/tank/emergency/oxygen,/obj/item/surgical/scalpel,/obj/item/surgical/retractor,/obj/item/surgical/hemostat, \ + /obj/item/surgical/cautery,/obj/item/surgical/bonegel,/obj/item/surgical/FixOVein) //Mime /obj/item/clothing/suit/suspenders diff --git a/code/modules/clothing/suits/labcoat.dm b/code/modules/clothing/suits/labcoat.dm index 0e5d4d938b8..bd75d0b0b45 100644 --- a/code/modules/clothing/suits/labcoat.dm +++ b/code/modules/clothing/suits/labcoat.dm @@ -6,7 +6,7 @@ blood_overlay_type = "coat" body_parts_covered = UPPER_TORSO|ARMS flags_inv = HIDEHOLSTER - allowed = list(/obj/item/device/analyzer,/obj/item/stack/medical,/obj/item/weapon/dnainjector,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/reagent_containers/hypospray,/obj/item/device/healthanalyzer,/obj/item/device/flashlight/pen,/obj/item/weapon/reagent_containers/glass/bottle,/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/pill,/obj/item/weapon/storage/pill_bottle,/obj/item/weapon/paper, /obj/item/clothing/mask/gas) + allowed = list(/obj/item/analyzer,/obj/item/stack/medical,/obj/item/dnainjector,/obj/item/reagent_containers/dropper,/obj/item/reagent_containers/syringe,/obj/item/reagent_containers/hypospray,/obj/item/healthanalyzer,/obj/item/flashlight/pen,/obj/item/reagent_containers/glass/bottle,/obj/item/reagent_containers/glass/beaker,/obj/item/reagent_containers/pill,/obj/item/storage/pill_bottle,/obj/item/paper, /obj/item/clothing/mask/gas) armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 50, rad = 0) /obj/item/clothing/suit/storage/toggle/labcoat/red @@ -70,39 +70,39 @@ item_state_slots = list(slot_r_hand_str = "cmo_labcoat", slot_l_hand_str = "cmo_labcoat") /obj/item/clothing/suit/storage/toggle/labcoat/genetics - name = "Geneticist labcoat" + name = JOB_GENETICIST + " labcoat" desc = "A suit that protects against minor chemical spills. Has a blue stripe on the shoulder." icon_state = "labcoat_gen" item_state_slots = list(slot_r_hand_str = "genetics_labcoat", slot_l_hand_str = "genetics_labcoat") /obj/item/clothing/suit/storage/toggle/labcoat/chemist - name = "Chemist labcoat" + name = JOB_CHEMIST + " labcoat" desc = "A suit that protects against minor chemical spills. Has an orange stripe on the shoulder." icon_state = "labcoat_chem" item_state_slots = list(slot_r_hand_str = "chemist_labcoat", slot_l_hand_str = "chemist_labcoat") /obj/item/clothing/suit/storage/toggle/labcoat/virologist - name = "Virologist labcoat" + name = JOB_ALT_VIROLOGIST + " labcoat" desc = "A suit that protects against minor chemical spills. Offers slightly more protection against biohazards than the standard model. Has a green stripe on the shoulder." icon_state = "labcoat_vir" item_state_slots = list(slot_r_hand_str = "virologist_labcoat", slot_l_hand_str = "virologist_labcoat") armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 60, rad = 0) /obj/item/clothing/suit/storage/toggle/labcoat/roboticist - name = "Roboticist labcoat" + name = JOB_ROBOTICIST + " labcoat" desc = "More like an eccentric coat than a labcoat. Helps pass off bloodstains as part of the aesthetic. Comes with red shoulder pads." icon_state = "labcoat_robo" item_state_slots = list(slot_r_hand_str = "labcoat", slot_l_hand_str = "labcoat") /obj/item/clothing/suit/storage/toggle/labcoat/science - name = "Scientist labcoat" + name = JOB_SCIENTIST + " labcoat" desc = "A suit that protects against minor chemical spills. Has a purple stripe on the shoulder." icon_state = "labcoat_tox" item_state_slots = list(slot_r_hand_str = "science_labcoat", slot_l_hand_str = "science_labcoat") /obj/item/clothing/suit/storage/toggle/labcoat/rd name = "research director's labcoat" - desc = "A flashy labcoat with purple markings. It belongs to the Research Director." + desc = "A flashy labcoat with purple markings. It belongs to the " + JOB_RESEARCH_DIRECTOR + "." icon_state = "labcoat_rd" item_state_slots = list(slot_r_hand_str = "science_labcoat", slot_l_hand_str = "science_labcoat") diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index b8ed6156fee..ea70a1f0a0f 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -21,7 +21,7 @@ item_state_slots = list(slot_r_hand_str = "tdblue", slot_l_hand_str = "tdblue") blood_overlay_type = "armor" body_parts_covered = UPPER_TORSO - allowed = list (/obj/item/weapon/gun/energy/lasertag/blue) + allowed = list (/obj/item/gun/energy/lasertag/blue) siemens_coefficient = 3.0 var/lasertag_health = LASER_TAG_HEALTH @@ -37,7 +37,7 @@ item_state_slots = list(slot_r_hand_str = "tdred", slot_l_hand_str = "tdred") blood_overlay_type = "armor" body_parts_covered = UPPER_TORSO - allowed = list (/obj/item/weapon/gun/energy/lasertag/red) + allowed = list (/obj/item/gun/energy/lasertag/red) siemens_coefficient = 3.0 var/lasertag_health = LASER_TAG_HEALTH @@ -153,7 +153,7 @@ desc = "This robe commands authority." icon_state = "judge" body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS - allowed = list(/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/spacecash) + allowed = list(/obj/item/storage/fancy/cigarettes,/obj/item/spacecash) flags_inv = HIDEJUMPSUIT|HIDETIE|HIDEHOLSTER /obj/item/clothing/suit/storage/apron/overalls @@ -167,7 +167,7 @@ icon_state = "syndicate" desc = "A plastic replica of a mercenary combat space suit, you'll look just like a real bloodthirsty mercenary in this! This is a toy, it is not made for use in space!" w_class = ITEMSIZE_NORMAL - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency/oxygen,/obj/item/toy) + allowed = list(/obj/item/flashlight,/obj/item/tank/emergency/oxygen,/obj/item/toy) flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL|HIDETIE|HIDEHOLSTER body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|HANDS|LEGS|FEET @@ -311,7 +311,7 @@ if(ishuman(user)) var/mob/living/carbon/human/H = user if(src == H.wear_suit) - to_chat(H, "You need help taking this off!") + to_chat(H, span_notice("You need help taking this off!")) return ..() @@ -403,7 +403,7 @@ name = "leather coat" desc = "A long, thick black leather coat." icon_state = "leathercoat_alt" - allowed = list (/obj/item/weapon/pen, /obj/item/weapon/paper, /obj/item/device/flashlight, /obj/item/weapon/tank/emergency/oxygen, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/storage/box/matches, /obj/item/weapon/reagent_containers/food/drinks/flask) + allowed = list (/obj/item/pen, /obj/item/paper, /obj/item/flashlight, /obj/item/tank/emergency/oxygen, /obj/item/storage/fancy/cigarettes, /obj/item/storage/box/matches, /obj/item/reagent_containers/food/drinks/flask) item_state_slots = list(slot_r_hand_str = "leather_jacket", slot_l_hand_str = "leather_jacket") flags_inv = HIDEHOLSTER @@ -418,7 +418,7 @@ name = "brown leather coat" desc = "A long, brown leather coat." icon_state = "browncoat" - allowed = list (/obj/item/weapon/pen, /obj/item/weapon/paper, /obj/item/device/flashlight,/obj/item/weapon/tank/emergency/oxygen, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/storage/box/matches, /obj/item/weapon/reagent_containers/food/drinks/flask) + allowed = list (/obj/item/pen, /obj/item/paper, /obj/item/flashlight,/obj/item/tank/emergency/oxygen, /obj/item/storage/fancy/cigarettes, /obj/item/storage/box/matches, /obj/item/reagent_containers/food/drinks/flask) item_state_slots = list(slot_r_hand_str = "brown_jacket", slot_l_hand_str = "brown_jacket") flags_inv = HIDEHOLSTER @@ -426,7 +426,7 @@ name = "black coat" desc = "A flowing, black coat." icon_state = "neocoat" - allowed = list (/obj/item/weapon/pen, /obj/item/weapon/paper, /obj/item/device/flashlight, /obj/item/weapon/tank/emergency/oxygen, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/storage/box/matches, /obj/item/weapon/reagent_containers/food/drinks/flask) + allowed = list (/obj/item/pen, /obj/item/paper, /obj/item/flashlight, /obj/item/tank/emergency/oxygen, /obj/item/storage/fancy/cigarettes, /obj/item/storage/box/matches, /obj/item/reagent_containers/food/drinks/flask) item_state_slots = list(slot_r_hand_str = "leather_jacket", slot_l_hand_str = "leather_jacket") flags_inv = HIDEHOLSTER @@ -449,7 +449,7 @@ desc = "A rugged canvas trenchcoat, designed and created by TX Fabrication Corp. The coat appears to have its kevlar lining removed." icon_state = "detective" blood_overlay_type = "coat" - allowed = list(/obj/item/weapon/tank/emergency/oxygen, /obj/item/device/flashlight,/obj/item/weapon/gun/energy,/obj/item/weapon/gun/projectile,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/flame/lighter,/obj/item/device/taperecorder,/obj/item/device/uv_light) + allowed = list(/obj/item/tank/emergency/oxygen, /obj/item/flashlight,/obj/item/gun/energy,/obj/item/gun/projectile,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/handcuffs,/obj/item/storage/fancy/cigarettes,/obj/item/flame/lighter,/obj/item/taperecorder,/obj/item/uv_light) flags_inv = HIDEHOLSTER /obj/item/clothing/suit/storage/trench/grey @@ -471,7 +471,7 @@ desc = "A duster is a light, loose-fitting long coat. Dusters are meant to protect your clothing from dust and rain." icon_state = "duster" blood_overlay_type = "coat" - allowed = list(/obj/item/weapon/tank/emergency/oxygen, /obj/item/device/flashlight,/obj/item/weapon/gun/energy,/obj/item/weapon/gun/projectile,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/flame/lighter) + allowed = list(/obj/item/tank/emergency/oxygen, /obj/item/flashlight,/obj/item/gun/energy,/obj/item/gun/projectile,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/handcuffs,/obj/item/storage/fancy/cigarettes,/obj/item/flame/lighter) flags_inv = HIDEHOLSTER /obj/item/clothing/suit/storage/toggle/cardigan @@ -619,7 +619,7 @@ desc = "A thick, well-worn WW2 leather bomber jacket." icon_state = "bomber" item_state_slots = list(slot_r_hand_str = "brown_jacket", slot_l_hand_str = "brown_jacket") - allowed = list (/obj/item/weapon/pen, /obj/item/weapon/paper, /obj/item/device/flashlight, /obj/item/weapon/tank/emergency/oxygen, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/storage/box/matches, /obj/item/weapon/reagent_containers/food/drinks/flask) + allowed = list (/obj/item/pen, /obj/item/paper, /obj/item/flashlight, /obj/item/tank/emergency/oxygen, /obj/item/storage/fancy/cigarettes, /obj/item/storage/box/matches, /obj/item/reagent_containers/food/drinks/flask) body_parts_covered = UPPER_TORSO|ARMS flags_inv = HIDEHOLSTER cold_protection = UPPER_TORSO|ARMS @@ -646,7 +646,7 @@ name = "leather jacket" desc = "A black leather coat." icon_state = "leather_jacket" - allowed = list (/obj/item/weapon/pen, /obj/item/weapon/paper, /obj/item/device/flashlight, /obj/item/weapon/tank/emergency/oxygen, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/storage/box/matches, /obj/item/weapon/reagent_containers/food/drinks/flask) + allowed = list (/obj/item/pen, /obj/item/paper, /obj/item/flashlight, /obj/item/tank/emergency/oxygen, /obj/item/storage/fancy/cigarettes, /obj/item/storage/box/matches, /obj/item/reagent_containers/food/drinks/flask) body_parts_covered = UPPER_TORSO|ARMS flags_inv = HIDEHOLSTER @@ -682,7 +682,7 @@ desc = "A brown leather coat." icon_state = "brown_jacket" item_state_slots = list(slot_r_hand_str = "brown_jacket", slot_l_hand_str = "brown_jacket") - allowed = list (/obj/item/weapon/pen, /obj/item/weapon/paper, /obj/item/device/flashlight,/obj/item/weapon/tank/emergency/oxygen, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/storage/box/matches, /obj/item/weapon/reagent_containers/food/drinks/flask) + allowed = list (/obj/item/pen, /obj/item/paper, /obj/item/flashlight,/obj/item/tank/emergency/oxygen, /obj/item/storage/fancy/cigarettes, /obj/item/storage/box/matches, /obj/item/reagent_containers/food/drinks/flask) body_parts_covered = UPPER_TORSO|ARMS flags_inv = HIDEHOLSTER @@ -710,7 +710,7 @@ desc = "A denim coat." icon_state = "denim_jacket" item_state_slots = list(slot_r_hand_str = "denim_jacket", slot_l_hand_str = "denim_jacket") - allowed = list (/obj/item/weapon/pen, /obj/item/weapon/paper, /obj/item/device/flashlight,/obj/item/weapon/tank/emergency/oxygen, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/storage/box/matches, /obj/item/weapon/reagent_containers/food/drinks/flask) + allowed = list (/obj/item/pen, /obj/item/paper, /obj/item/flashlight,/obj/item/tank/emergency/oxygen, /obj/item/storage/fancy/cigarettes, /obj/item/storage/box/matches, /obj/item/reagent_containers/food/drinks/flask) body_parts_covered = UPPER_TORSO|ARMS flags_inv = HIDEHOLSTER @@ -820,7 +820,7 @@ name = "black varsity jacket" desc = "A favorite of jocks everywhere from Sol to Nyx." icon_state = "varsity" - allowed = list (/obj/item/weapon/pen, /obj/item/weapon/paper, /obj/item/device/flashlight,/obj/item/weapon/tank/emergency/oxygen, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/storage/box/matches, /obj/item/weapon/reagent_containers/food/drinks/flask) + allowed = list (/obj/item/pen, /obj/item/paper, /obj/item/flashlight,/obj/item/tank/emergency/oxygen, /obj/item/storage/fancy/cigarettes, /obj/item/storage/box/matches, /obj/item/reagent_containers/food/drinks/flask) item_state_slots = list(slot_r_hand_str = "suit_black", slot_l_hand_str = "suit_black") flags_inv = HIDETIE|HIDEHOLSTER @@ -848,7 +848,7 @@ name = "runner jacket" desc = "A yellow sports jacket with white trim and an unfolded collar." icon_state = "runner" - allowed = list (/obj/item/weapon/pen, /obj/item/weapon/paper, /obj/item/device/flashlight, /obj/item/weapon/tank/emergency/oxygen, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/storage/box/matches, /obj/item/weapon/reagent_containers/food/drinks/flask) + allowed = list (/obj/item/pen, /obj/item/paper, /obj/item/flashlight, /obj/item/tank/emergency/oxygen, /obj/item/storage/fancy/cigarettes, /obj/item/storage/box/matches, /obj/item/reagent_containers/food/drinks/flask) item_state_slots = list(slot_r_hand_str = "suit_red", slot_l_hand_str = "suit_red") flags_inv = HIDEHOLSTER @@ -911,7 +911,7 @@ desc = "A track jacket, for the athletic." icon_state = "trackjacket" item_state_slots = list(slot_r_hand_str = "black_labcoat", slot_l_hand_str = "black_labcoat") - allowed = list (/obj/item/weapon/pen, /obj/item/weapon/paper, /obj/item/device/flashlight,/obj/item/weapon/tank/emergency/oxygen, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/storage/box/matches, /obj/item/weapon/reagent_containers/food/drinks/flask) + allowed = list (/obj/item/pen, /obj/item/paper, /obj/item/flashlight,/obj/item/tank/emergency/oxygen, /obj/item/storage/fancy/cigarettes, /obj/item/storage/box/matches, /obj/item/reagent_containers/food/drinks/flask) /obj/item/clothing/suit/storage/toggle/track/blue name = "blue track jacket" @@ -941,7 +941,7 @@ desc = "A comfy, grey flannel shirt. Unleash your inner hipster." icon_state = "flannel" item_state_slots = list(slot_r_hand_str = "black_labcoat", slot_l_hand_str = "black_labcoat") - allowed = list (/obj/item/weapon/pen, /obj/item/weapon/paper, /obj/item/device/flashlight,/obj/item/weapon/tank/emergency/oxygen, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/storage/box/matches, /obj/item/weapon/reagent_containers/food/drinks/flask) + allowed = list (/obj/item/pen, /obj/item/paper, /obj/item/flashlight,/obj/item/tank/emergency/oxygen, /obj/item/storage/fancy/cigarettes, /obj/item/storage/box/matches, /obj/item/reagent_containers/food/drinks/flask) flags_inv = HIDEHOLSTER var/rolled = 0 var/tucked = 0 @@ -959,11 +959,11 @@ if(rolled == 0) rolled = 1 body_parts_covered &= ~(ARMS) - to_chat(usr, "You roll up the sleeves of your [src].") + to_chat(usr, span_notice("You roll up the sleeves of your [src].")) else rolled = 0 body_parts_covered = initial(body_parts_covered) - to_chat(usr, "You roll down the sleeves of your [src].") + to_chat(usr, span_notice("You roll down the sleeves of your [src].")) update_icon() /obj/item/clothing/suit/storage/flannel/verb/tuck() @@ -975,10 +975,10 @@ if(tucked == 0) tucked = 1 - to_chat(usr, "You tuck in your your [src].") + to_chat(usr, span_notice("You tuck in your your [src].")) else tucked = 0 - to_chat(usr, "You untuck your [src].") + to_chat(usr, span_notice("You untuck your [src].")) update_icon() /obj/item/clothing/suit/storage/flannel/verb/button() @@ -991,11 +991,11 @@ if(buttoned == 0) buttoned = 1 flags_inv = HIDETIE|HIDEHOLSTER - to_chat(usr, "You button your [src].") + to_chat(usr, span_notice("You button your [src].")) else buttoned = 0 flags_inv = HIDEHOLSTER - to_chat(usr, "You unbutton your [src].") + to_chat(usr, span_notice("You unbutton your [src].")) update_icon() /obj/item/clothing/suit/storage/flannel/update_icon() @@ -1050,7 +1050,7 @@ cold_protection = UPPER_TORSO|LOWER_TORSO|ARMS min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0) - allowed = list (/obj/item/weapon/pen, /obj/item/weapon/paper, /obj/item/device/flashlight,/obj/item/weapon/tank/emergency/oxygen, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/storage/box/matches, /obj/item/weapon/reagent_containers/food/drinks/flask) + allowed = list (/obj/item/pen, /obj/item/paper, /obj/item/flashlight,/obj/item/tank/emergency/oxygen, /obj/item/storage/fancy/cigarettes, /obj/item/storage/box/matches, /obj/item/reagent_containers/food/drinks/flask) /obj/item/clothing/suit/storage/snowsuit/command name = "command snowsuit" @@ -1154,7 +1154,7 @@ name = "motorcycle jacket" desc = "A recreation of one of the famous Sol-based biwheeled driver assemblies. Patches on the back denote an AI-generated 'biker logo'. It looks unintelligible." icon_state = "motojacket" - allowed = list (/obj/item/weapon/pen, /obj/item/weapon/paper, /obj/item/device/flashlight, /obj/item/weapon/tank/emergency/oxygen, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/storage/box/matches, /obj/item/weapon/reagent_containers/food/drinks/flask) //same as leather jackets + allowed = list (/obj/item/pen, /obj/item/paper, /obj/item/flashlight, /obj/item/tank/emergency/oxygen, /obj/item/storage/fancy/cigarettes, /obj/item/storage/box/matches, /obj/item/reagent_containers/food/drinks/flask) //same as leather jackets body_parts_covered = UPPER_TORSO|ARMS /obj/item/clothing/suit/storage/punkvest diff --git a/code/modules/clothing/suits/miscellaneous_vr.dm b/code/modules/clothing/suits/miscellaneous_vr.dm index 12ecb090892..aaed67eb0d6 100644 --- a/code/modules/clothing/suits/miscellaneous_vr.dm +++ b/code/modules/clothing/suits/miscellaneous_vr.dm @@ -39,7 +39,7 @@ if(istype(H) && istype(H.tail_style, /datum/sprite_accessory/tail/taur/drake)) return ..() else - to_chat(H, "You need to have a drake-taur half to wear this.") + to_chat(H, span_warning("You need to have a drake-taur half to wear this.")) return 0 /obj/item/clothing/suit/barding @@ -55,7 +55,7 @@ if(istype(H) && istype(H.tail_style, /datum/sprite_accessory/tail/taur/horse)) return ..() else - to_chat(H, "You need to have a horse-taur half to wear this.") + to_chat(H, span_warning("You need to have a horse-taur half to wear this.")) return 0 //Bardings are medieval suits of armor. diff --git a/code/modules/clothing/suits/solgov.dm b/code/modules/clothing/suits/solgov.dm index a20ce165ee4..5976833d5ca 100644 --- a/code/modules/clothing/suits/solgov.dm +++ b/code/modules/clothing/suits/solgov.dm @@ -16,7 +16,7 @@ armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) siemens_coefficient = 0.9 flags_inv = HIDEHOLSTER //VOREStation Add - These obviously do. - allowed = list(/obj/item/weapon/tank/emergency/oxygen,/obj/item/device/flashlight,/obj/item/weapon/pen,/obj/item/clothing/head/soft,/obj/item/clothing/head/beret,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/flame/lighter,/obj/item/device/taperecorder,/obj/item/device/analyzer,/obj/item/device/radio,/obj/item/taperoll) + allowed = list(/obj/item/tank/emergency/oxygen,/obj/item/flashlight,/obj/item/pen,/obj/item/clothing/head/soft,/obj/item/clothing/head/beret,/obj/item/storage/fancy/cigarettes,/obj/item/flame/lighter,/obj/item/taperecorder,/obj/item/analyzer,/obj/item/radio,/obj/item/taperoll) valid_accessory_slots = (ACCESSORY_SLOT_ARMBAND|ACCESSORY_SLOT_MEDAL|ACCESSORY_SLOT_INSIGNIA|ACCESSORY_SLOT_RANK|ACCESSORY_SLOT_DEPT) restricted_accessory_slots = (ACCESSORY_SLOT_ARMBAND) @@ -186,7 +186,7 @@ body_parts_covered = UPPER_TORSO|ARMS armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) siemens_coefficient = 0.9 - allowed = list(/obj/item/weapon/tank/emergency/oxygen,/obj/item/device/flashlight,/obj/item/clothing/head/soft,/obj/item/clothing/head/beret,/obj/item/device/radio,/obj/item/weapon/pen) + allowed = list(/obj/item/tank/emergency/oxygen,/obj/item/flashlight,/obj/item/clothing/head/soft,/obj/item/clothing/head/beret,/obj/item/radio,/obj/item/pen) valid_accessory_slots = (ACCESSORY_SLOT_MEDAL|ACCESSORY_SLOT_RANK) restricted_accessory_slots = (ACCESSORY_SLOT_ARMBAND) @@ -267,7 +267,7 @@ body_parts_covered = UPPER_TORSO|ARMS armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) siemens_coefficient = 0.9 - allowed = list(/obj/item/weapon/tank/emergency,/obj/item/device/flashlight,/obj/item/clothing/head/soft,/obj/item/clothing/head/beret,/obj/item/device/radio,/obj/item/weapon/pen) + allowed = list(/obj/item/tank/emergency,/obj/item/flashlight,/obj/item/clothing/head/soft,/obj/item/clothing/head/beret,/obj/item/radio,/obj/item/pen) valid_accessory_slots = (ACCESSORY_SLOT_MEDAL|ACCESSORY_SLOT_RANK) /obj/item/clothing/suit/dress/solgov/fleet/sailor @@ -365,7 +365,7 @@ body_parts_covered = UPPER_TORSO|ARMS armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) siemens_coefficient = 0.9 - allowed = list(/obj/item/weapon/tank/emergency,/obj/item/device/flashlight,/obj/item/clothing/head/soft,/obj/item/clothing/head/beret,/obj/item/device/radio,/obj/item/weapon/pen) + allowed = list(/obj/item/tank/emergency,/obj/item/flashlight,/obj/item/clothing/head/soft,/obj/item/clothing/head/beret,/obj/item/radio,/obj/item/pen) valid_accessory_slots = (ACCESSORY_SLOT_MEDAL|ACCESSORY_SLOT_RANK) /obj/item/clothing/suit/dress/terran/navy diff --git a/code/modules/clothing/suits/storage.dm b/code/modules/clothing/suits/storage.dm index 7d201bc7d65..70ad69fa23c 100644 --- a/code/modules/clothing/suits/storage.dm +++ b/code/modules/clothing/suits/storage.dm @@ -1,9 +1,9 @@ /obj/item/clothing/suit/storage - var/obj/item/weapon/storage/internal/pockets + var/obj/item/storage/internal/pockets /obj/item/clothing/suit/storage/New() ..() - pockets = new/obj/item/weapon/storage/internal(src) + pockets = new/obj/item/storage/internal(src) pockets.max_w_class = ITEMSIZE_SMALL //fit only pocket sized items pockets.max_storage_space = ITEMSIZE_COST_SMALL * 2 @@ -93,7 +93,7 @@ //New Vest 4 pocket storage and badge toggles, until suit accessories are a thing. /obj/item/clothing/suit/storage/vest/heavy/New() ..() - pockets = new/obj/item/weapon/storage/internal(src) + pockets = new/obj/item/storage/internal(src) pockets.max_w_class = ITEMSIZE_SMALL pockets.max_storage_space = ITEMSIZE_COST_SMALL * 4 diff --git a/code/modules/clothing/suits/storage_yw.dm b/code/modules/clothing/suits/storage_yw.dm index 3a54c7497fb..46237ceb7c3 100644 --- a/code/modules/clothing/suits/storage_yw.dm +++ b/code/modules/clothing/suits/storage_yw.dm @@ -7,7 +7,7 @@ armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) siemens_coefficient = 0.9 flags_inv = HIDEHOLSTER //VOREStation Add - These obviously do. - allowed = list(/obj/item/weapon/tank/emergency/oxygen,/obj/item/device/flashlight,/obj/item/weapon/pen,/obj/item/clothing/head/soft,/obj/item/clothing/head/beret,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/flame/lighter,/obj/item/device/taperecorder,/obj/item/device/analyzer,/obj/item/device/radio,/obj/item/taperoll) + allowed = list(/obj/item/tank/emergency/oxygen,/obj/item/flashlight,/obj/item/pen,/obj/item/clothing/head/soft,/obj/item/clothing/head/beret,/obj/item/storage/fancy/cigarettes,/obj/item/flame/lighter,/obj/item/taperecorder,/obj/item/analyzer,/obj/item/radio,/obj/item/taperoll) /obj/item/clothing/suit/storage/explorer/crew name = "\improper Explorer jacket" diff --git a/code/modules/clothing/suits/utility.dm b/code/modules/clothing/suits/utility.dm index f465941ed7e..444e1099c4b 100644 --- a/code/modules/clothing/suits/utility.dm +++ b/code/modules/clothing/suits/utility.dm @@ -18,7 +18,7 @@ gas_transfer_coefficient = 0.90 permeability_coefficient = 0.50 body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency/oxygen,/obj/item/weapon/extinguisher) + allowed = list(/obj/item/flashlight,/obj/item/tank/emergency/oxygen,/obj/item/extinguisher) slowdown = 1.0 flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL|HIDETIE|HIDEHOLSTER item_flags = 0 @@ -72,7 +72,7 @@ /obj/item/clothing/suit/bomb_suit/security icon_state = "bombsuitsec" - allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs) + allowed = list(/obj/item/gun/energy,/obj/item/melee/baton,/obj/item/handcuffs) body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS /* @@ -95,7 +95,7 @@ gas_transfer_coefficient = 0.90 permeability_coefficient = 0.50 body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS|HANDS|FEET - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency/oxygen,/obj/item/clothing/head/radiation,/obj/item/clothing/mask/gas) + allowed = list(/obj/item/flashlight,/obj/item/tank/emergency/oxygen,/obj/item/clothing/head/radiation,/obj/item/clothing/mask/gas) slowdown = 1.5 armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 60, rad = 100) flags_inv = HIDEJUMPSUIT|HIDETAIL|HIDETIE|HIDEHOLSTER diff --git a/code/modules/clothing/suits/utility_vr.dm b/code/modules/clothing/suits/utility_vr.dm index 17f796ca85c..69e8acafe2a 100644 --- a/code/modules/clothing/suits/utility_vr.dm +++ b/code/modules/clothing/suits/utility_vr.dm @@ -13,7 +13,7 @@ blood_overlay_type = "coat" body_parts_covered = UPPER_TORSO flags_inv = HIDEHOLSTER - allowed = list(/obj/item/device/analyzer,/obj/item/stack/medical,/obj/item/weapon/dnainjector,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/reagent_containers/hypospray,/obj/item/device/healthanalyzer,/obj/item/device/flashlight/pen,/obj/item/weapon/reagent_containers/glass/bottle,/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/pill,/obj/item/weapon/storage/pill_bottle,/obj/item/weapon/paper) + allowed = list(/obj/item/analyzer,/obj/item/stack/medical,/obj/item/dnainjector,/obj/item/reagent_containers/dropper,/obj/item/reagent_containers/syringe,/obj/item/reagent_containers/hypospray,/obj/item/healthanalyzer,/obj/item/flashlight/pen,/obj/item/reagent_containers/glass/bottle,/obj/item/reagent_containers/glass/beaker,/obj/item/reagent_containers/pill,/obj/item/storage/pill_bottle,/obj/item/paper) armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 50, rad = 0) /obj/item/clothing/head/radiation diff --git a/code/modules/clothing/suits/wiz_robe.dm b/code/modules/clothing/suits/wiz_robe.dm index 903fca84103..c6c66805a22 100644 --- a/code/modules/clothing/suits/wiz_robe.dm +++ b/code/modules/clothing/suits/wiz_robe.dm @@ -65,7 +65,7 @@ gas_transfer_coefficient = 0.01 // IT'S MAGICAL OKAY JEEZ +1 TO NOT DIE permeability_coefficient = 0.01 armor = list(melee = 30, bullet = 20, laser = 20,energy = 20, bomb = 20, bio = 20, rad = 20) - allowed = list(/obj/item/weapon/teleportation_scroll) + allowed = list(/obj/item/teleportation_scroll) flags_inv = HIDEJUMPSUIT|HIDETIE|HIDEHOLSTER siemens_coefficient = 0.8 wizard_garb = 1 diff --git a/code/modules/clothing/under/eva_bodysuits.dm b/code/modules/clothing/under/eva_bodysuits.dm index 8b77595f9fa..73856571dfd 100644 --- a/code/modules/clothing/under/eva_bodysuits.dm +++ b/code/modules/clothing/under/eva_bodysuits.dm @@ -31,7 +31,7 @@ /obj/item/clothing/under/undersuit/sec/hos name = "security command undersuit" - desc = "A reinforced undersuit, intended for wearing under a voidsuit or other EVA equipment. This one is specifically made for the Head of Security or equivalent, and has slight protective capabilities against simple melee attacks." + desc = "A reinforced undersuit, intended for wearing under a voidsuit or other EVA equipment. This one is specifically made for the " + JOB_HEAD_OF_SECURITY + " or equivalent, and has slight protective capabilities against simple melee attacks." icon_state = "bodysuit_seccom" item_state = "bodysuit_seccom" diff --git a/code/modules/clothing/under/jobs/civilian.dm b/code/modules/clothing/under/jobs/civilian.dm index 9f714d9a0c9..3fe42db608f 100644 --- a/code/modules/clothing/under/jobs/civilian.dm +++ b/code/modules/clothing/under/jobs/civilian.dm @@ -13,7 +13,7 @@ item_state_slots = list(slot_r_hand_str = "ba_suit", slot_l_hand_str = "ba_suit") /obj/item/clothing/under/rank/captain //Alright, technically not a 'civilian' but its better then giving a .dm file for a single define. - desc = "It's a blue jumpsuit with some gold markings denoting the rank of \"Site Manager\"." + desc = "It's a blue jumpsuit with some gold markings denoting the rank of \"" + JOB_SITE_MANAGER + "\"." name = "site manager's jumpsuit" icon_state = "captain" rolled_sleeves = 0 @@ -80,7 +80,7 @@ rolled_sleeves = -1 /obj/item/clothing/under/rank/head_of_personnel - desc = "It's a jumpsuit worn by someone who works in the position of \"Head of Personnel\"." + desc = "It's a jumpsuit worn by someone who works in the position of \"" + JOB_HEAD_OF_PERSONNEL + "\"." name = "head of personnel's jumpsuit" icon_state = "hop" rolled_sleeves = 0 @@ -104,7 +104,7 @@ icon_state = "hydro" /obj/item/clothing/under/rank/internalaffairs - desc = "The plain, professional attire of an Internal Affairs Agent. The collar is immaculately starched." + desc = "The plain, professional attire of an " + JOB_INTERNAL_AFFAIRS_AGENT + ". The collar is immaculately starched." name = "Internal Affairs uniform" icon_state = "internalaffairs" item_state_slots = list(slot_r_hand_str = "ba_suit", slot_l_hand_str = "ba_suit") @@ -112,7 +112,7 @@ starting_accessories = list(/obj/item/clothing/accessory/tie/black) /obj/item/clothing/under/rank/internalaffairs/skirt - desc = "The plain, professional attire of an Internal Affairs Agent. The top button is sewn shut." + desc = "The plain, professional attire of an " + JOB_INTERNAL_AFFAIRS_AGENT + ". The top button is sewn shut." name = "Internal Affairs skirt" icon_state = "internalaffairs_skirt" diff --git a/code/modules/clothing/under/jobs/medsci.dm b/code/modules/clothing/under/jobs/medsci.dm index 00b0ed43f96..cf2a59b7fd7 100644 --- a/code/modules/clothing/under/jobs/medsci.dm +++ b/code/modules/clothing/under/jobs/medsci.dm @@ -2,7 +2,7 @@ * Science */ /obj/item/clothing/under/rank/research_director - desc = "It's a jumpsuit worn by those with the know-how to achieve the position of \"Research Director\". Its fabric provides minor protection from biological contaminants." + desc = "It's a jumpsuit worn by those with the know-how to achieve the position of \"" + JOB_RESEARCH_DIRECTOR + "\". Its fabric provides minor protection from biological contaminants." name = "research director's jumpsuit" icon_state = "director" armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0) @@ -51,7 +51,7 @@ * Medical */ /obj/item/clothing/under/rank/chief_medical_officer - desc = "It's a jumpsuit worn by those with the experience to be \"Chief Medical Officer\". It provides minor biological protection." + desc = "It's a jumpsuit worn by those with the experience to be \"" + JOB_CHIEF_MEDICAL_OFFICER + "\". It provides minor biological protection." name = "chief medical officer's jumpsuit" icon_state = "cmo" item_state_slots = list(slot_r_hand_str = "white", slot_l_hand_str = "white") diff --git a/code/modules/clothing/under/jobs/security.dm b/code/modules/clothing/under/jobs/security.dm index 3d6bdfec0c0..fe985023cc5 100644 --- a/code/modules/clothing/under/jobs/security.dm +++ b/code/modules/clothing/under/jobs/security.dm @@ -9,7 +9,7 @@ * Security */ /obj/item/clothing/under/rank/warden - desc = "It's made of a slightly sturdier material than standard jumpsuits, to allow for more robust protection. It has the word \"Warden\" written on the shoulders." + desc = "It's made of a slightly sturdier material than standard jumpsuits, to allow for more robust protection. It has the word \"" + JOB_WARDEN+ "\" written on the shoulders." name = "warden's jumpsuit" icon_state = "warden" item_state_slots = list(slot_r_hand_str = "red", slot_l_hand_str = "red") @@ -102,7 +102,7 @@ item_state_slots[slot_w_uniform_str] = unrolled ? "[worn_state]_r" : initial(worn_state) var/mob/living/carbon/human/H = loc H.update_inv_w_uniform(1) - to_chat(H, "You roll the sleeves of your shirt [unrolled ? "up" : "down"]") + to_chat(H, span_notice("You roll the sleeves of your shirt [unrolled ? "up" : "down"]")) */ /obj/item/clothing/under/det/grey @@ -147,7 +147,7 @@ * Head of Security */ /obj/item/clothing/under/rank/head_of_security - desc = "It's a jumpsuit worn by those few with the dedication to achieve the position of \"Head of Security\". It has additional armor to protect the wearer." + desc = "It's a jumpsuit worn by those few with the dedication to achieve the position of \"" + JOB_HEAD_OF_SECURITY + "\". It has additional armor to protect the wearer." name = "head of security's jumpsuit" icon_state = "hos" item_state_slots = list(slot_r_hand_str = "red", slot_l_hand_str = "red") @@ -178,14 +178,14 @@ rolled_sleeves = 0 /obj/item/clothing/under/rank/head_of_security/navyblue - desc = "The insignia on this uniform tells you that this uniform belongs to the Head of Security." + desc = "The insignia on this uniform tells you that this uniform belongs to the " + JOB_HEAD_OF_SECURITY + "." name = "head of security's uniform" icon_state = "hosblueclothes" item_state_slots = list(slot_r_hand_str = "ba_suit", slot_l_hand_str = "ba_suit") rolled_sleeves = 0 /obj/item/clothing/under/rank/warden/navyblue - desc = "The insignia on this uniform tells you that this uniform belongs to the Warden." + desc = "The insignia on this uniform tells you that this uniform belongs to the " + JOB_WARDEN + "." name = "warden's uniform" icon_state = "wardenblueclothes" item_state_slots = list(slot_r_hand_str = "ba_suit", slot_l_hand_str = "ba_suit") @@ -202,16 +202,15 @@ rolled_sleeves = 0 /obj/item/clothing/under/rank/head_of_security/tan - desc = "The insignia on this uniform tells you that this uniform belongs to the Head of Security." + desc = "The insignia on this uniform tells you that this uniform belongs to the " + JOB_HEAD_OF_SECURITY+ "." name = "head of security's uniform" icon_state = "hostanclothes" item_state_slots = list(slot_r_hand_str = "ba_suit", slot_l_hand_str = "ba_suit") rolled_sleeves = 0 /obj/item/clothing/under/rank/warden/tan - desc = "The insignia on this uniform tells you that this uniform belongs to the Warden." + desc = "The insignia on this uniform tells you that this uniform belongs to the " + JOB_WARDEN + "." name = "warden's uniform" icon_state = "wardentanclothes" item_state_slots = list(slot_r_hand_str = "ba_suit", slot_l_hand_str = "ba_suit") rolled_sleeves = 0 - diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm index fbc9bf7233a..9233e327e8a 100644 --- a/code/modules/clothing/under/miscellaneous.dm +++ b/code/modules/clothing/under/miscellaneous.dm @@ -54,7 +54,7 @@ /obj/item/clothing/under/rank/mailman name = "mailman's jumpsuit" - desc = "'Special delivery!'" + desc = span_italics("'Special delivery!'") icon_state = "mailman" item_state_slots = list(slot_r_hand_str = "blue", slot_l_hand_str = "blue") rolled_sleeves = 0 @@ -418,7 +418,7 @@ /obj/item/clothing/under/dress/dress_cap name = "site manager's dress uniform" - desc = "Feminine fashion for the style conscious Site Manager." + desc = "Feminine fashion for the style conscious " + JOB_SITE_MANAGER + "." icon_state = "dress_cap" body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS @@ -751,7 +751,7 @@ /obj/item/clothing/under/captainformal name = "site manager's formal uniform" - desc = "A Site Manager's formal-wear, for special occasions." + desc = "A " + JOB_SITE_MANAGER + "'s formal-wear, for special occasions." icon_state = "captain_formal" item_state_slots = list(slot_r_hand_str = "lawyer_blue", slot_l_hand_str = "lawyer_blue") @@ -1723,3 +1723,36 @@ name = "fiendish dress" desc = "A red and black dress befitting someone from the dark pits themselves… Or someone way too edgy." icon_state = "fienddress" + +//bunny suits + +/obj/item/clothing/under/bunnysuit_maid + name = "bunny suit" + desc = "A black and white bunny suit, extremely skimpy. Tails and ears sold seperately." + icon_state = "bunnysuit_maid" + +/obj/item/clothing/under/bunnysuit + name = "bunny suit" + desc = "A bunny suit, extremely skimpy. Tails and ears sold seperately." + icon_state = "bunnysuit_colour" + + +/obj/item/clothing/under/reverse_bunnysuit + name = "reverse bunny suit" + desc = "A reverse bunny suit, literally just covers everything except the bits you're supposed to. Tails and ears sold seperately." + icon_state = "reverse_bunnysuit_colour" + +/obj/item/clothing/under/reverse_bunnysuit_maid + name = "reverse bunny suit" + desc = "A maid themed reverse bunny suit, literally just covers everything except the bits you're supposed to. Tails and ears sold seperately." + icon_state = "reverse_bunnysuit_maid" + +/obj/item/clothing/under/reverse_bunnytop + name = "reverse bunny suit" + desc = "A reverse bunny suit, literally just covers everything except the bits you're supposed to. Tails and ears sold seperately." + icon_state = "reverse_bunnytop_colour" + +/obj/item/clothing/under/reverse_bunnytop_maid + name = "reverse bunny suit" + desc = "A maid themed reverse bunny suit, literally just covers everything except the bits you're supposed to. Tails and ears sold seperately." + icon_state = "reverse_bunnytop_maid" diff --git a/code/modules/clothing/under/miscellaneous_vr.dm b/code/modules/clothing/under/miscellaneous_vr.dm index dfd43832eb4..4c500ec90fc 100644 --- a/code/modules/clothing/under/miscellaneous_vr.dm +++ b/code/modules/clothing/under/miscellaneous_vr.dm @@ -73,7 +73,7 @@ return if (src != H.w_uniform) - to_chat(H,"You must be WEARING the uniform to change your size.") + to_chat(H,span_warning("You must be WEARING the uniform to change your size.")) return var/new_size = tgui_input_number(usr, "Put the desired size (25-200%), or (1-600%) in dormitory areas.", "Set Size", 200, 600, 1) @@ -82,20 +82,20 @@ //Check AGAIN because we accepted user input which is blocking. if (src != H.w_uniform) - to_chat(H,"You must be WEARING the uniform to change your size.") + to_chat(H,span_warning("You must be WEARING the uniform to change your size.")) return if (H.stat || H.restrained()) return if (isnull(H.size_multiplier)) // Why would this ever be the case? - to_chat(H,"The uniform panics and corrects your apparently microscopic size.") + to_chat(H,span_warning("The uniform panics and corrects your apparently microscopic size.")) H.resize(RESIZE_NORMAL, ignore_prefs = TRUE) H.update_icons() //Just want the matrix transform return if (!H.size_range_check(new_size)) - to_chat(H,"The safety features of the uniform prevent you from choosing this size.") + to_chat(H,span_notice("The safety features of the uniform prevent you from choosing this size.")) return else if(new_size) @@ -103,7 +103,7 @@ if(!original_size) original_size = H.size_multiplier H.resize(new_size/100, uncapped = H.has_large_resize_bounds(), ignore_prefs = TRUE) // Ignores prefs because you can only resize yourself - H.visible_message("The space around [H] distorts as they change size!","The space around you distorts as you change size!") + H.visible_message(span_warning("The space around [H] distorts as they change size!"),span_notice("The space around you distorts as you change size!")) else //They chose their current size. return @@ -113,7 +113,7 @@ var/mob/living/carbon/human/H = M H.resize(original_size, ignore_prefs = TRUE) original_size = null - H.visible_message("The space around [H] distorts as they return to their original size!","The space around you distorts as you return to your original size!") + H.visible_message(span_warning("The space around [H] distorts as they return to their original size!"),span_notice("The space around you distorts as you return to your original size!")) /obj/item/clothing/gloves/bluespace name = "size standardization bracelet" @@ -138,12 +138,12 @@ return if(H.size_multiplier != target_size) if(!(world.time - last_activated > 10 SECONDS)) - to_chat(M, "\The [src] flickers. It seems to be recharging.") + to_chat(M, span_warning("\The [src] flickers. It seems to be recharging.")) return last_activated = world.time original_size = H.size_multiplier H.resize(target_size, uncapped = emagged, ignore_prefs = FALSE) //In case someone else tries to put it on you. - H.visible_message("The space around [H] distorts as they change size!","The space around you distorts as you change size!") + H.visible_message(span_warning("The space around [H] distorts as they change size!"),span_notice("The space around you distorts as you change size!")) log_admin("Admin [key_name(M)]'s size was altered by a bluespace bracelet.") /obj/item/clothing/gloves/bluespace/mob_can_unequip(mob/M, gloves, disable_warning = 0) @@ -155,18 +155,18 @@ last_activated = world.time H.resize(original_size, uncapped = emagged, ignore_prefs = FALSE) original_size = null - H.visible_message("The space around [H] distorts as they return to their original size!","The space around you distorts as you return to your original size!") + H.visible_message(span_warning("The space around [H] distorts as they return to their original size!"),span_notice("The space around you distorts as you return to your original size!")) log_admin("Admin [key_name(M)]'s size was altered by a bluespace bracelet.") - to_chat(M, "\The [src] flickers. It is now recharging and will be ready again in thirty seconds.") + to_chat(M, span_warning("\The [src] flickers. It is now recharging and will be ready again in thirty seconds.")) /obj/item/clothing/gloves/bluespace/examine(var/mob/user) . = ..() var/cooldowntime = round((10 SECONDS - (world.time - last_activated)) * 0.1) if(Adjacent(user)) if(cooldowntime >= 0) - . += "It appears to be recharging." + . += span_notice("It appears to be recharging.") if(emagged) - . += "The crystal is flickering." + . += span_warning("The crystal is flickering.") /obj/item/clothing/gloves/bluespace/emag_act(R_charges, var/mob/user, emag_source) . = ..() @@ -175,7 +175,7 @@ target_size = (rand(1,300)) /100 if(target_size < 0.1) target_size = 0.1 - user.visible_message("\The [user] swipes the [emag_source] over the \the [src].","You swipes the [emag_source] over the \the [src].") + user.visible_message(span_notice("\The [user] swipes the [emag_source] over the \the [src]."),span_notice("You swipes the [emag_source] over the \the [src].")) return 1 /obj/item/clothing/gloves/bluespace/emagged @@ -524,6 +524,20 @@ item_state = "skirt_jumperdress" worn_state = "skirt_jumperdress" +/obj/item/clothing/under/skirt/colorable/short + name = "short skirt" + desc = "A far too short pleated skirt." + icon_state = "skirt_short" + item_state = "skirt_short" + worn_state = "skirt_short" + +/obj/item/clothing/under/skirt/colorable/short_split + name = "short skirt (split)" + desc = "A far too short pleated skirt with an open split down one side." + icon_state = "skirt_short_split" + item_state = "skirt_short_split" + worn_state = "skirt_short_split" + // Gwen Beedell's clown outfit /obj/item/clothing/under/stripeddungarees diff --git a/code/modules/clothing/under/shorts.dm b/code/modules/clothing/under/shorts.dm index b2289e70eba..75160cfd05f 100644 --- a/code/modules/clothing/under/shorts.dm +++ b/code/modules/clothing/under/shorts.dm @@ -217,7 +217,7 @@ icon_state = "chemistryf" /obj/item/clothing/under/rank/chief_medical_officer/skirt - desc = "It's a jumpskirt worn by those with the experience to be \"Chief Medical Officer\". It provides minor biological protection." + desc = "It's a jumpskirt worn by those with the experience to be \"" + JOB_CHIEF_MEDICAL_OFFICER + "\". It provides minor biological protection." name = "chief medical officer's jumpskirt" icon_state = "cmof" @@ -237,11 +237,11 @@ siemens_coefficient = 0.9 /obj/item/clothing/under/rank/warden/skirt - desc = "Standard feminine fashion for a Warden. It is made of sturdier material than standard jumpskirts. It has the word \"Warden\" written on the shoulders." + desc = "Standard feminine fashion for a " + JOB_WARDEN + ". It is made of sturdier material than standard jumpskirts. It has the word \"" + JOB_WARDEN + "\" written on the shoulders." name = "warden's jumpskirt" icon_state = "wardenf" /obj/item/clothing/under/rank/head_of_security/skirt - desc = "It's a fashionable jumpskirt worn by those few with the dedication to achieve the position of \"Head of Security\". It has additional armor to protect the wearer." + desc = "It's a fashionable jumpskirt worn by those few with the dedication to achieve the position of \"" + JOB_HEAD_OF_SECURITY + "\". It has additional armor to protect the wearer." name = "head of security's jumpskirt" icon_state = "hosf" diff --git a/code/modules/clothing/under/xenos/teshari.dm b/code/modules/clothing/under/xenos/teshari.dm index d7254524f7f..5127ae5b132 100644 --- a/code/modules/clothing/under/xenos/teshari.dm +++ b/code/modules/clothing/under/xenos/teshari.dm @@ -222,27 +222,27 @@ //Job Undercoats /obj/item/clothing/under/teshari/undercoat/jobs/cap name = "site manager undercoat" - desc = "A traditional Teshari garb made for the Site Manager" + desc = "A traditional Teshari garb made for the " + JOB_SITE_MANAGER icon_state = "tesh_uniform_cap" /obj/item/clothing/under/teshari/undercoat/jobs/hop name = "head of personnel undercoat" - desc = "A traditional Teshari garb made for the Head of Personnel" + desc = "A traditional Teshari garb made for the " + JOB_HEAD_OF_PERSONNEL icon_state = "tesh_uniform_hop" /obj/item/clothing/under/teshari/undercoat/jobs/ce name = "cheif engineer undercoat" - desc = "A traditional Teshari garb made for the Chief Engineer" + desc = "A traditional Teshari garb made for the " + JOB_CHIEF_ENGINEER icon_state = "tesh_uniform_ce" /obj/item/clothing/under/teshari/undercoat/jobs/hos name = "head of security undercoat" - desc = "A traditional Teshari garb made for the Head of Security" + desc = "A traditional Teshari garb made for the " + JOB_HEAD_OF_SECURITY icon_state = "tesh_uniform_hos" /obj/item/clothing/under/teshari/undercoat/jobs/rd name = "research director undercoat" - desc = "A traditional Teshari garb made for the Research Director" + desc = "A traditional Teshari garb made for the " + JOB_RESEARCH_DIRECTOR icon_state = "tesh_uniform_rd" /obj/item/clothing/under/teshari/undercoat/jobs/engineer @@ -252,7 +252,7 @@ /obj/item/clothing/under/teshari/undercoat/jobs/atmos name = "atmospherics undercoat" - desc = "A traditional Teshari garb made for the Atmospheric Technician" + desc = "A traditional Teshari garb made for the " + JOB_ATMOSPHERIC_TECHNICIAN icon_state = "tesh_uniform_atmos" /obj/item/clothing/under/teshari/undercoat/jobs/cmo @@ -262,7 +262,7 @@ /obj/item/clothing/under/teshari/undercoat/jobs/qm name = "quartermaster undercoat" - desc = "A traditional Teshari garb made for the Quartermaster" + desc = "A traditional Teshari garb made for the " + JOB_QUARTERMASTER icon_state = "tesh_uniform_qm" /obj/item/clothing/under/teshari/undercoat/jobs/cargo @@ -282,22 +282,22 @@ /obj/item/clothing/under/teshari/undercoat/jobs/chemistry name = "chemist undercoat" - desc = "A traditional Teshari garb made for the Chemist" + desc = "A traditional Teshari garb made for the " + JOB_CHEMIST icon_state = "tesh_uniform_chem" /obj/item/clothing/under/teshari/undercoat/jobs/viro name = "virologist undercoat" - desc = "A traditional Teshari garb made for the Virologist" + desc = "A traditional Teshari garb made for the " + JOB_ALT_VIROLOGIST icon_state = "tesh_uniform_viro" /obj/item/clothing/under/teshari/undercoat/jobs/psych name = "psychiatrist undercoat" - desc = "A traditional Teshari garb made for the Psychiatrist" + desc = "A traditional Teshari garb made for the " + JOB_PSYCHIATRIST icon_state = "tesh_uniform_psych" /obj/item/clothing/under/teshari/undercoat/jobs/para name = "paramedic undercoat" - desc = "A traditional Teshari garb made for the Paramedic" + desc = "A traditional Teshari garb made for the " + JOB_PARAMEDIC icon_state = "tesh_uniform_para" /obj/item/clothing/under/teshari/undercoat/jobs/sci @@ -307,7 +307,7 @@ /obj/item/clothing/under/teshari/undercoat/jobs/robo name = "roboticist undercoat" - desc = "A traditional Teshari garb made for the Roboticist" + desc = "A traditional Teshari garb made for the " + JOB_ROBOTICIST icon_state = "tesh_uniform_robo" /obj/item/clothing/under/teshari/undercoat/jobs/sec @@ -322,5 +322,5 @@ /obj/item/clothing/under/teshari/undercoat/jobs/iaa name = "internal affairs undercoat" - desc = "A traditional Teshari garb made for the Internal Affairs Agent" + desc = "A traditional Teshari garb made for the " + JOB_INTERNAL_AFFAIRS_AGENT icon_state = "tesh_uniform_iaa" diff --git a/code/modules/customitems/item_spawning.dm b/code/modules/customitems/item_spawning.dm index c1ddca45227..66fc766f1f7 100644 --- a/code/modules/customitems/item_spawning.dm +++ b/code/modules/customitems/item_spawning.dm @@ -69,8 +69,8 @@ U.update_rolldown_status() // Kits are dumb so this is going to have to be hardcoded/snowflake. - if(istype(item, /obj/item/device/kit)) - var/obj/item/device/kit/K = item + if(istype(item, /obj/item/kit)) + var/obj/item/kit/K = item K.set_info(kit_name, kit_desc, kit_icon, additional_data = additional_data) return item @@ -189,9 +189,9 @@ continue // Check for required access. - var/obj/item/weapon/card/id/current_id = M.wear_id + var/obj/item/card/id/current_id = M.wear_id if(citem.req_access && citem.req_access > 0) // These are numbers, not lists - if(!(istype(current_id) && (citem.req_access in current_id.access))) + if(!(istype(current_id) && (citem.req_access in current_id.GetAccess()))) log_debug("Custom Item: [key_name(M)] Does not have required access.") continue @@ -209,12 +209,12 @@ // ID cards and PDAs are applied directly to the existing object rather than spawned fresh. var/obj/item/existing_item - if(citem.item_path == /obj/item/weapon/card/id && istype(current_id)) //Set earlier. + if(citem.item_path == /obj/item/card/id && istype(current_id)) //Set earlier. existing_item = M.wear_id - else if(citem.item_path == /obj/item/device/pda) - existing_item = locate(/obj/item/device/pda) in M.contents - else if(citem.item_path == /obj/item/weapon/storage/backpack) - existing_item = locate(/obj/item/weapon/storage/backpack) in M.contents + else if(citem.item_path == /obj/item/pda) + existing_item = locate(/obj/item/pda) in M.contents + else if(citem.item_path == /obj/item/storage/backpack) + existing_item = locate(/obj/item/storage/backpack) in M.contents // Spawn and equip the item. if(existing_item) diff --git a/code/modules/detectivework/forensics.dm b/code/modules/detectivework/forensics.dm index 3f6dc119d00..9e7e0d2c88d 100644 --- a/code/modules/detectivework/forensics.dm +++ b/code/modules/detectivework/forensics.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/forensics +/obj/item/forensics icon = 'icons/obj/forensics.dmi' w_class = ITEMSIZE_TINY diff --git a/code/modules/detectivework/microscope/dnascanner.dm b/code/modules/detectivework/microscope/dnascanner.dm index 340158eba82..788128c299c 100644 --- a/code/modules/detectivework/microscope/dnascanner.dm +++ b/code/modules/detectivework/microscope/dnascanner.dm @@ -6,9 +6,9 @@ icon_state = "dnaopen" anchored = TRUE density = TRUE - circuit = /obj/item/weapon/circuitboard/dna_analyzer + circuit = /obj/item/circuitboard/dna_analyzer - var/obj/item/weapon/forensics/swab/bloodsamp = null + var/obj/item/forensics/swab/bloodsamp = null var/scanning = 0 var/scanner_progress = 0 var/scanner_rate = 5 @@ -21,11 +21,11 @@ /obj/machinery/dnaforensics/attackby(obj/item/W, mob/user) if(bloodsamp) - to_chat(user, "There is a sample in the machine.") + to_chat(user, span_warning("There is a sample in the machine.")) return if(scanning) - to_chat(user, "[src] is busy scanning right now.") + to_chat(user, span_warning("[src] is busy scanning right now.")) return if(default_deconstruction_screwdriver(user, W)) @@ -33,15 +33,15 @@ if(default_deconstruction_crowbar(user, W)) return - var/obj/item/weapon/forensics/swab/swab = W + var/obj/item/forensics/swab/swab = W if(istype(swab) && swab.is_used()) user.unEquip(W) bloodsamp = swab swab.forceMove(src) - to_chat(user, "You insert [W] into [src].") + to_chat(user, span_notice("You insert [W] into [src].")) update_icon() else - to_chat(user, "\The [src] only accepts used swabs.") + to_chat(user, span_warning("\The [src] only accepts used swabs.")) return /obj/machinery/dnaforensics/tgui_interact(mob/user, datum/tgui/ui) @@ -60,7 +60,7 @@ data["bloodsamp_desc"] = (bloodsamp ? (bloodsamp.desc ? bloodsamp.desc : "No information on record.") : "") return data -/obj/machinery/dnaforensics/tgui_act(action, list/params) +/obj/machinery/dnaforensics/tgui_act(action, list/params, datum/tgui/ui) if(..()) return TRUE @@ -77,10 +77,10 @@ if(bloodsamp) scanner_progress = 0 scanning = TRUE - to_chat(usr, "Scan initiated.") + to_chat(ui.user, span_notice("Scan initiated.")) update_icon() else - to_chat(usr, "Insert an item to scan.") + to_chat(ui.user, span_warning("Insert an item to scan.")) . = TRUE if("ejectItem") @@ -105,12 +105,12 @@ last_process_worldtime = world.time /obj/machinery/dnaforensics/proc/complete_scan() - visible_message("[icon2html(src,viewers(src))] makes an insistent chime.", 2) + visible_message(span_notice("[icon2html(src,viewers(src))] makes an insistent chime."), 2) update_icon() if(bloodsamp) - var/obj/item/weapon/paper/P = new(src) + var/obj/item/paper/P = new(src) P.name = "[src] report #[++report_num]: [bloodsamp.name]" - P.stamped = list(/obj/item/weapon/stamp) + P.stamped = list(/obj/item/stamp) P.cut_overlays() P.add_overlay("paper_stamped") //dna data itself @@ -121,8 +121,8 @@ data += "Blood type: [bloodsamp.dna[blood]]
    \nDNA: [blood]

    " else data += "No DNA found.
    " - P.info = "[src] analysis report #[report_num]
    " - P.info += "Scanned item:
    [bloodsamp.name]
    [bloodsamp.desc]

    " + data + P.info = span_bold("[src] analysis report #[report_num]") + "
    " + P.info += span_bold("Scanned item:") + "
    [bloodsamp.name]
    [bloodsamp.desc]

    " + data P.forceMove(loc) P.update_icon() scanning = FALSE diff --git a/code/modules/detectivework/microscope/microscope.dm b/code/modules/detectivework/microscope/microscope.dm index 575465d0e00..62185b7538e 100644 --- a/code/modules/detectivework/microscope/microscope.dm +++ b/code/modules/detectivework/microscope/microscope.dm @@ -7,17 +7,17 @@ anchored = TRUE density = TRUE - var/obj/item/weapon/sample = null + var/obj/item/sample = null var/report_num = 0 -/obj/machinery/microscope/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/machinery/microscope/attackby(obj/item/W as obj, mob/user as mob) if(sample) - to_chat(user, "There is already a slide in the microscope.") + to_chat(user, span_warning("There is already a slide in the microscope.")) return - if(istype(W, /obj/item/weapon/forensics/swab)|| istype(W, /obj/item/weapon/sample/fibers) || istype(W, /obj/item/weapon/sample/print)) - to_chat(user, "You insert \the [W] into the microscope.") + if(istype(W, /obj/item/forensics/swab)|| istype(W, /obj/item/sample/fibers) || istype(W, /obj/item/sample/print)) + to_chat(user, span_notice("You insert \the [W] into the microscope.")) user.unEquip(W) W.forceMove(src) sample = W @@ -27,50 +27,50 @@ /obj/machinery/microscope/attack_hand(mob/user) if(!sample) - to_chat(user, "The microscope has no sample to examine.") + to_chat(user, span_warning("The microscope has no sample to examine.")) return - to_chat(user, "The microscope whirrs as you examine \the [sample].") + to_chat(user, span_notice("The microscope whirrs as you examine \the [sample].")) if(!do_after(user, 2 SECONDS) || !sample) - to_chat(user, "You stop examining \the [sample].") + to_chat(user, span_notice("You stop examining \the [sample].")) return - to_chat(user, "Printing findings now...") - var/obj/item/weapon/paper/report = new(get_turf(src)) - report.stamped = list(/obj/item/weapon/stamp) + to_chat(user, span_notice("Printing findings now...")) + var/obj/item/paper/report = new(get_turf(src)) + report.stamped = list(/obj/item/stamp) report.overlays = list("paper_stamped") report_num++ - if(istype(sample, /obj/item/weapon/forensics/swab)) - var/obj/item/weapon/forensics/swab/swab = sample + if(istype(sample, /obj/item/forensics/swab)) + var/obj/item/forensics/swab/swab = sample report.name = "GSR report #[++report_num]: [swab.name]" - report.info = "Scanned item:
    [swab.name]

    " + report.info = span_bold("Scanned item:") + "
    [swab.name]

    " if(swab.gsr) report.info += "Residue from a [swab.gsr] bullet detected." else report.info += "No gunpowder residue found." - else if(istype(sample, /obj/item/weapon/sample/fibers)) - var/obj/item/weapon/sample/fibers/fibers = sample + else if(istype(sample, /obj/item/sample/fibers)) + var/obj/item/sample/fibers/fibers = sample report.name = "Fiber report #[++report_num]: [fibers.name]" - report.info = "Scanned item:
    [fibers.name]

    " + report.info = span_bold("Scanned item:") + "
    [fibers.name]

    " if(fibers.evidence) report.info = "Molecular analysis on provided sample has determined the presence of unique fiber strings.

    " for(var/fiber in fibers.evidence) - report.info += "Most likely match for fibers: [fiber]

    " + report.info += span_notice("Most likely match for fibers: [fiber]") + "

    " else report.info += "No fibers found." - else if(istype(sample, /obj/item/weapon/sample/print)) + else if(istype(sample, /obj/item/sample/print)) report.name = "Fingerprint report #[report_num]: [sample.name]" - report.info = "Fingerprint analysis report #[report_num]: [sample.name]
    " - var/obj/item/weapon/sample/print/card = sample + report.info = span_bold("Fingerprint analysis report #[report_num]") + ": [sample.name]
    " + var/obj/item/sample/print/card = sample if(card.evidence && card.evidence.len) report.info += "Surface analysis has determined unique fingerprint strings:

    " for(var/prints in card.evidence) - report.info += "Fingerprint string: " + report.info += span_notice("Fingerprint string: ") if(!is_complete_print(card.evidence[prints])) report.info += "INCOMPLETE PRINT:[card.evidence[prints]]" else @@ -89,9 +89,9 @@ if(!istype(remover) || remover.incapacitated() || !Adjacent(remover)) return if(!sample) - to_chat(remover, "\The [src] does not have a sample in it.") + to_chat(remover, span_warning("\The [src] does not have a sample in it.")) return - to_chat(remover, "You remove \the [sample] from \the [src].") + to_chat(remover, span_notice("You remove \the [sample] from \the [src].")) sample.forceMove(get_turf(src)) remover.put_in_hands(sample) sample = null diff --git a/code/modules/detectivework/tools/crimekit.dm b/code/modules/detectivework/tools/crimekit.dm index 395aca8b496..c34e928597c 100644 --- a/code/modules/detectivework/tools/crimekit.dm +++ b/code/modules/detectivework/tools/crimekit.dm @@ -1,5 +1,5 @@ //crime scene kit -/obj/item/weapon/storage/briefcase/crimekit +/obj/item/storage/briefcase/crimekit name = "crime scene kit" desc = "A stainless steel-plated carrycase for all your forensic needs. Feels heavy." icon = 'icons/obj/forensics.dmi' @@ -8,11 +8,11 @@ drop_sound = 'sound/items/drop/toolbox.ogg' pickup_sound = 'sound/items/pickup/toolbox.ogg' -/obj/item/weapon/storage/briefcase/crimekit/New() +/obj/item/storage/briefcase/crimekit/New() ..() - new /obj/item/weapon/storage/box/swabs(src) - new /obj/item/weapon/storage/box/fingerprints(src) - new /obj/item/weapon/reagent_containers/spray/luminol(src) - new /obj/item/device/uv_light(src) - new /obj/item/weapon/forensics/sample_kit(src) - new /obj/item/weapon/forensics/sample_kit/powder(src) \ No newline at end of file + new /obj/item/storage/box/swabs(src) + new /obj/item/storage/box/fingerprints(src) + new /obj/item/reagent_containers/spray/luminol(src) + new /obj/item/uv_light(src) + new /obj/item/forensics/sample_kit(src) + new /obj/item/forensics/sample_kit/powder(src) \ No newline at end of file diff --git a/code/modules/detectivework/tools/evidencebag.dm b/code/modules/detectivework/tools/evidencebag.dm index 846528a8f9f..d7100c61375 100644 --- a/code/modules/detectivework/tools/evidencebag.dm +++ b/code/modules/detectivework/tools/evidencebag.dm @@ -1,6 +1,6 @@ //CONTAINS: Evidence bags and fingerprint cards -/obj/item/weapon/evidencebag +/obj/item/evidencebag name = "evidence bag" desc = "An empty evidence bag." icon = 'icons/obj/storage.dmi' @@ -9,7 +9,7 @@ w_class = ITEMSIZE_SMALL var/obj/item/stored_item = null -/obj/item/weapon/evidencebag/MouseDrop(var/obj/item/I as obj) +/obj/item/evidencebag/MouseDrop(var/obj/item/I as obj) if (!ishuman(usr)) return if(!istype(I) || I.anchored) @@ -25,12 +25,12 @@ return else //If it isn't on the floor. Do some checks to see if it's in our hands or a box. Otherwise give up. - if(istype(I.loc,/obj/item/weapon/storage)) //in a container. + if(istype(I.loc,/obj/item/storage)) //in a container. var/sdepth = I.storage_depth(user) if (sdepth == -1 || sdepth > 1) return //too deeply nested to access - var/obj/item/weapon/storage/U = I.loc + var/obj/item/storage/U = I.loc user.client.screen -= I U.contents.Remove(I) else if(user.item_is_in_hands(I)) @@ -38,16 +38,16 @@ else return - if(istype(I, /obj/item/weapon/evidencebag)) - to_chat(user, "You find putting an evidence bag in another evidence bag to be slightly absurd.") + if(istype(I, /obj/item/evidencebag)) + to_chat(user, span_notice("You find putting an evidence bag in another evidence bag to be slightly absurd.")) return if(I.w_class > 3) - to_chat(user, "[I] won't fit in [src].") + to_chat(user, span_notice("[I] won't fit in [src].")) return if(contents.len) - to_chat(user, "[src] already has something inside it.") + to_chat(user, span_notice("[src] already has something inside it.")) return user.visible_message("[user] puts [I] into [src]", "You put [I] inside [src].",\ @@ -72,7 +72,7 @@ return -/obj/item/weapon/evidencebag/attack_self(mob/user as mob) +/obj/item/evidencebag/attack_self(mob/user as mob) if(contents.len) var/obj/item/I = contents[1] user.visible_message("[user] takes [I] out of [src]", "You take [I] out of [src].",\ @@ -90,7 +90,7 @@ icon_state = "evidenceobj" return -/obj/item/weapon/evidencebag/examine(mob/user) +/obj/item/evidencebag/examine(mob/user) . = ..() if(stored_item) user.examinate(stored_item) diff --git a/code/modules/detectivework/tools/luminol.dm b/code/modules/detectivework/tools/luminol.dm index 48636370bc3..560522508dc 100644 --- a/code/modules/detectivework/tools/luminol.dm +++ b/code/modules/detectivework/tools/luminol.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/reagent_containers/spray/luminol +/obj/item/reagent_containers/spray/luminol name = "luminol bottle" desc = "A bottle containing an odourless, colorless liquid." icon = 'icons/obj/forensics.dmi' @@ -8,6 +8,6 @@ possible_transfer_amounts = list(5,10) volume = 250 -/obj/item/weapon/reagent_containers/spray/luminol/Initialize() +/obj/item/reagent_containers/spray/luminol/Initialize() . = ..() reagents.add_reagent("luminol", 250) \ No newline at end of file diff --git a/code/modules/detectivework/tools/rag.dm b/code/modules/detectivework/tools/rag.dm index 4d9c009e10d..52ccc6558c3 100644 --- a/code/modules/detectivework/tools/rag.dm +++ b/code/modules/detectivework/tools/rag.dm @@ -13,7 +13,7 @@ /obj/item/clothing/shoes/ var/track_blood = 0 -/obj/item/weapon/reagent_containers/glass/rag +/obj/item/reagent_containers/glass/rag name = "rag" desc = "For cleaning up messes, you suppose." w_class = ITEMSIZE_TINY @@ -31,36 +31,36 @@ var/on_fire = 0 var/burn_time = 20 //if the rag burns for too long it turns to ashes -/obj/item/weapon/reagent_containers/glass/rag/Initialize() +/obj/item/reagent_containers/glass/rag/Initialize() . = ..() update_name() -/obj/item/weapon/reagent_containers/glass/rag/Destroy() +/obj/item/reagent_containers/glass/rag/Destroy() STOP_PROCESSING(SSobj, src) //so we don't continue turning to ash while gc'd return ..() -/obj/item/weapon/reagent_containers/glass/rag/attack_self(mob/user as mob) +/obj/item/reagent_containers/glass/rag/attack_self(mob/user as mob) if(on_fire) - user.visible_message("\The [user] stamps out [src].", "You stamp out [src].") + user.visible_message(span_warning("\The [user] stamps out [src]."), span_warning("You stamp out [src].")) user.unEquip(src) extinguish() else remove_contents(user) -/obj/item/weapon/reagent_containers/glass/rag/attackby(obj/item/W, mob/user) - if(!on_fire && istype(W, /obj/item/weapon/flame)) - var/obj/item/weapon/flame/F = W +/obj/item/reagent_containers/glass/rag/attackby(obj/item/W, mob/user) + if(!on_fire && istype(W, /obj/item/flame)) + var/obj/item/flame/F = W if(F.lit) src.ignite() if(on_fire) - visible_message("\The [user] lights [src] with [W].") + visible_message(span_warning("\The [user] lights [src] with [W].")) else - to_chat(user, "You manage to singe [src], but fail to light it.") + to_chat(user, span_warning("You manage to singe [src], but fail to light it.")) . = ..() update_name() -/obj/item/weapon/reagent_containers/glass/rag/proc/update_name() +/obj/item/reagent_containers/glass/rag/proc/update_name() if(on_fire) name = "burning [initial(name)]" else if(reagents.total_volume) @@ -68,35 +68,35 @@ else name = "dry [initial(name)]" -/obj/item/weapon/reagent_containers/glass/rag/update_icon() +/obj/item/reagent_containers/glass/rag/update_icon() if(on_fire) icon_state = "raglit" else icon_state = "rag" - var/obj/item/weapon/reagent_containers/food/drinks/bottle/B = loc + var/obj/item/reagent_containers/food/drinks/bottle/B = loc if(istype(B)) B.update_icon() -/obj/item/weapon/reagent_containers/glass/rag/proc/remove_contents(mob/user, atom/trans_dest = null) +/obj/item/reagent_containers/glass/rag/proc/remove_contents(mob/user, atom/trans_dest = null) if(!trans_dest && !user.loc) return if(reagents.total_volume) var/target_text = trans_dest? "\the [trans_dest]" : "\the [user.loc]" - user.visible_message("\The [user] begins to wring out [src] over [target_text].", "You begin to wring out [src] over [target_text].") + user.visible_message(span_danger("\The [user] begins to wring out [src] over [target_text]."), span_notice("You begin to wring out [src] over [target_text].")) if(do_after(user, reagents.total_volume*5)) //50 for a fully soaked rag if(trans_dest) reagents.trans_to(trans_dest, reagents.total_volume) else reagents.splash(user.loc, reagents.total_volume) - user.visible_message("\The [user] wrings out [src] over [target_text].", "You finish to wringing out [src].") + user.visible_message(span_danger("\The [user] wrings out [src] over [target_text]."), span_notice("You finish to wringing out [src].")) update_name() -/obj/item/weapon/reagent_containers/glass/rag/proc/wipe_down(atom/A, mob/user) +/obj/item/reagent_containers/glass/rag/proc/wipe_down(atom/A, mob/user) if(!reagents.total_volume) - to_chat(user, "The [initial(name)] is dry!") + to_chat(user, span_warning("The [initial(name)] is dry!")) else user.visible_message("[user] starts to wipe [A] with [src].") update_name() @@ -104,50 +104,50 @@ user.visible_message("[user] finishes wiping [A]!") A.on_rag_wipe(src) -/obj/item/weapon/reagent_containers/glass/rag/attack(atom/target as obj|turf|area, mob/user as mob , flag) +/obj/item/reagent_containers/glass/rag/attack(atom/target as obj|turf|area, mob/user as mob , flag) if(isliving(target)) //Leaving this as isliving. var/mob/living/M = target if(on_fire) //Check if rag is on fire, if so igniting them and stopping. - user.visible_message("\The [user] hits [target] with [src]!",) + user.visible_message(span_danger("\The [user] hits [target] with [src]!"),) user.do_attack_animation(src) M.IgniteMob() else if(user.zone_sel.selecting == O_MOUTH) //Check player target location, provided the rag is not on fire. Then check if mouth is exposed. if(ishuman(target)) //Added this since player species process reagents in majority of cases. var/mob/living/carbon/human/H = target if(H.head && (H.head.body_parts_covered & FACE)) //Check human head coverage. - to_chat(user, "Remove their [H.head] first.") + to_chat(user, span_warning("Remove their [H.head] first.")) return else if(reagents.total_volume) //Final check. If the rag is not on fire and their face is uncovered, smother target. user.do_attack_animation(src) user.visible_message( - "\The [user] smothers [target] with [src]!", - "You smother [target] with [src]!", + span_danger("\The [user] smothers [target] with [src]!"), + span_warning("You smother [target] with [src]!"), "You hear some struggling and muffled cries of surprise" ) //it's inhaled, so... maybe CHEM_BLOOD doesn't make a whole lot of sense but it's the best we can do for now reagents.trans_to_mob(target, amount_per_transfer_from_this, CHEM_BLOOD) update_name() else - to_chat(user, "You can't smother this creature.") + to_chat(user, span_warning("You can't smother this creature.")) else - to_chat(user, "You can't smother this creature.") + to_chat(user, span_warning("You can't smother this creature.")) else wipe_down(target, user) else wipe_down(target, user) return -/obj/item/weapon/reagent_containers/glass/rag/afterattack(atom/A as obj|turf|area, mob/user as mob, proximity) +/obj/item/reagent_containers/glass/rag/afterattack(atom/A as obj|turf|area, mob/user as mob, proximity) if(!proximity) return - if(istype(A, /obj/structure/reagent_dispensers) || istype(A, /obj/item/weapon/reagent_containers/glass/bucket) || istype(A, /obj/structure/mopbucket)) //VOREStation Edit - "Allows rags to be used on buckets and mopbuckets" + if(istype(A, /obj/structure/reagent_dispensers) || istype(A, /obj/item/reagent_containers/glass/bucket) || istype(A, /obj/structure/mopbucket)) //VOREStation Edit - "Allows rags to be used on buckets and mopbuckets" if(!reagents.get_free_space()) - to_chat(user, "\The [src] is already soaked.") + to_chat(user, span_warning("\The [src] is already soaked.")) return if(A.reagents && A.reagents.trans_to_obj(src, reagents.maximum_volume)) - user.visible_message("\The [user] soaks [src] using [A].", "You soak [src] using [A].") + user.visible_message(span_infoplain(span_bold("\The [user]") + " soaks [src] using [A]."), span_notice("You soak [src] using [A].")) update_name() return @@ -158,7 +158,7 @@ wipe_down(A, user) return -/obj/item/weapon/reagent_containers/glass/rag/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) +/obj/item/reagent_containers/glass/rag/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) if(exposed_temperature >= 50 + T0C) src.ignite() if(exposed_temperature >= 900 + T0C) @@ -166,7 +166,7 @@ qdel(src) //rag must have a minimum of 2 units welder fuel or ehtanol based reagents and at least 80% of the reagents must so. -/obj/item/weapon/reagent_containers/glass/rag/proc/can_ignite() +/obj/item/reagent_containers/glass/rag/proc/can_ignite() var/fuel if(reagents.get_reagent_amount("fuel")) fuel += reagents.get_reagent_amount("fuel") @@ -177,7 +177,7 @@ return (fuel >= 2 && fuel >= reagents.total_volume*0.8) -/obj/item/weapon/reagent_containers/glass/rag/proc/ignite() +/obj/item/reagent_containers/glass/rag/proc/ignite() if(on_fire) return if(!can_ignite()) @@ -185,7 +185,7 @@ //also copied from matches if(reagents.get_reagent_amount("phoron")) // the phoron explodes when exposed to fire - visible_message("\The [src] conflagrates violently!") + visible_message(span_danger("\The [src] conflagrates violently!")) var/datum/effect/effect/system/reagents_explosion/e = new() e.set_up(round(reagents.get_reagent_amount("phoron") / 2.5, 1), get_turf(src), 0, 0) e.start() @@ -198,7 +198,7 @@ update_name() update_icon() -/obj/item/weapon/reagent_containers/glass/rag/proc/extinguish() +/obj/item/reagent_containers/glass/rag/proc/extinguish() STOP_PROCESSING(SSobj, src) set_light(0) on_fire = 0 @@ -206,15 +206,15 @@ //rags sitting around with 1 second of burn time left is dumb. //ensures players always have a few seconds of burn time left when they light their rag if(burn_time <= 5) - visible_message("\The [src] falls apart!") + visible_message(span_warning("\The [src] falls apart!")) new /obj/effect/decal/cleanable/ash(get_turf(src)) qdel(src) update_name() update_icon() -/obj/item/weapon/reagent_containers/glass/rag/process() +/obj/item/reagent_containers/glass/rag/process() if(!can_ignite()) - visible_message("\The [src] burns out.") + visible_message(span_warning("\The [src] burns out.")) extinguish() //copied from matches diff --git a/code/modules/detectivework/tools/sample_kits.dm b/code/modules/detectivework/tools/sample_kits.dm index 042749d0085..b08dfb03485 100644 --- a/code/modules/detectivework/tools/sample_kits.dm +++ b/code/modules/detectivework/tools/sample_kits.dm @@ -1,34 +1,34 @@ -/obj/item/weapon/sample +/obj/item/sample name = "forensic sample" icon = 'icons/obj/forensics.dmi' w_class = ITEMSIZE_TINY var/list/evidence = list() -/obj/item/weapon/sample/New(var/newloc, var/atom/supplied) +/obj/item/sample/New(var/newloc, var/atom/supplied) ..(newloc) if(supplied) copy_evidence(supplied) name = "[initial(name)] (\the [supplied])" -/obj/item/weapon/sample/print/New(var/newloc, var/atom/supplied) +/obj/item/sample/print/New(var/newloc, var/atom/supplied) ..(newloc, supplied) if(evidence && evidence.len) icon_state = "fingerprint1" -/obj/item/weapon/sample/proc/copy_evidence(var/atom/supplied) +/obj/item/sample/proc/copy_evidence(var/atom/supplied) if(supplied.suit_fibers && supplied.suit_fibers.len) evidence = supplied.suit_fibers.Copy() supplied.suit_fibers.Cut() -/obj/item/weapon/sample/proc/merge_evidence(var/obj/item/weapon/sample/supplied, var/mob/user) +/obj/item/sample/proc/merge_evidence(var/obj/item/sample/supplied, var/mob/user) if(!supplied.evidence || !supplied.evidence.len) return 0 evidence |= supplied.evidence name = "[initial(name)] (combined)" - to_chat(user, "You transfer the contents of \the [supplied] into \the [src].") + to_chat(user, span_notice("You transfer the contents of \the [supplied] into \the [src].")) return 1 -/obj/item/weapon/sample/print/merge_evidence(var/obj/item/weapon/sample/supplied, var/mob/user) +/obj/item/sample/print/merge_evidence(var/obj/item/sample/supplied, var/mob/user) if(!supplied.evidence || !supplied.evidence.len) return 0 for(var/print in supplied.evidence) @@ -37,10 +37,10 @@ else evidence[print] = supplied.evidence[print] name = "[initial(name)] (combined)" - to_chat(user, "You overlay \the [src] and \the [supplied], combining the print records.") + to_chat(user, span_notice("You overlay \the [src] and \the [supplied], combining the print records.")) return 1 -/obj/item/weapon/sample/attackby(var/obj/O, var/mob/user) +/obj/item/sample/attackby(var/obj/O, var/mob/user) if(O.type == src.type) user.unEquip(O) if(merge_evidence(O, user)) @@ -48,35 +48,35 @@ return 1 return ..() -/obj/item/weapon/sample/fibers +/obj/item/sample/fibers name = "fiber bag" desc = "Used to hold fiber evidence for the detective." icon_state = "fiberbag" -/obj/item/weapon/sample/print +/obj/item/sample/print name = "fingerprint card" desc = "Records a set of fingerprints." icon = 'icons/obj/card.dmi' icon_state = "fingerprint0" item_state = "paper" -/obj/item/weapon/sample/print/attack_self(var/mob/user) +/obj/item/sample/print/attack_self(var/mob/user) if(evidence && evidence.len) return if(!ishuman(user)) return var/mob/living/carbon/human/H = user if(H.gloves) - to_chat(user, "Take \the [H.gloves] off first.") + to_chat(user, span_warning("Take \the [H.gloves] off first.")) return - to_chat(user, "You firmly press your fingertips onto the card.") + to_chat(user, span_notice("You firmly press your fingertips onto the card.")) var/fullprint = H.get_full_print() evidence[fullprint] = fullprint name = "[initial(name)] (\the [H])" icon_state = "fingerprint1" -/obj/item/weapon/sample/print/attack(var/mob/living/M, var/mob/user) +/obj/item/sample/print/attack(var/mob/living/M, var/mob/user) if(!ishuman(M)) return ..() @@ -87,11 +87,11 @@ var/mob/living/carbon/human/H = M if(H.gloves) - to_chat(user, "\The [H] is wearing gloves.") + to_chat(user, span_warning("\The [H] is wearing gloves.")) return 1 if(user != H && H.a_intent != "help" && !H.lying) - user.visible_message("\The [user] tries to take prints from \the [H], but they move away.") + user.visible_message(span_danger("\The [user] tries to take prints from \the [H], but they move away.")) return 1 if(user.zone_sel.selecting == "r_hand" || user.zone_sel.selecting == "l_hand") @@ -104,7 +104,7 @@ if(istype(O) && !O.is_stump()) has_hand = 1 if(!has_hand) - to_chat(user, "They don't have any hands.") + to_chat(user, span_warning("They don't have any hands.")) return 1 user.visible_message("[user] takes a copy of \the [H]'s fingerprints.") var/fullprint = H.get_full_print() @@ -115,28 +115,28 @@ return 1 return 0 -/obj/item/weapon/sample/print/copy_evidence(var/atom/supplied) +/obj/item/sample/print/copy_evidence(var/atom/supplied) if(supplied.fingerprints && supplied.fingerprints.len) for(var/print in supplied.fingerprints) evidence[print] = supplied.fingerprints[print] supplied.fingerprints.Cut() -/obj/item/weapon/forensics/sample_kit +/obj/item/forensics/sample_kit name = "fiber collection kit" desc = "A magnifying glass and tweezers. Used to lift suit fibers." icon_state = "m_glass" w_class = ITEMSIZE_SMALL var/evidence_type = "fiber" - var/evidence_path = /obj/item/weapon/sample/fibers + var/evidence_path = /obj/item/sample/fibers -/obj/item/weapon/forensics/sample_kit/proc/can_take_sample(var/mob/user, var/atom/supplied) +/obj/item/forensics/sample_kit/proc/can_take_sample(var/mob/user, var/atom/supplied) return (supplied.suit_fibers && supplied.suit_fibers.len) -/obj/item/weapon/forensics/sample_kit/proc/take_sample(var/mob/user, var/atom/supplied) - var/obj/item/weapon/sample/S = new evidence_path(get_turf(user), supplied) - to_chat(user, "You transfer [S.evidence.len] [S.evidence.len > 1 ? "[evidence_type]s" : "[evidence_type]"] to \the [S].") +/obj/item/forensics/sample_kit/proc/take_sample(var/mob/user, var/atom/supplied) + var/obj/item/sample/S = new evidence_path(get_turf(user), supplied) + to_chat(user, span_notice("You transfer [S.evidence.len] [S.evidence.len > 1 ? "[evidence_type]s" : "[evidence_type]"] to \the [S].")) -/obj/item/weapon/forensics/sample_kit/afterattack(var/atom/A, var/mob/user, var/proximity) +/obj/item/forensics/sample_kit/afterattack(var/atom/A, var/mob/user, var/proximity) if(!proximity) return add_fingerprint(user) @@ -144,15 +144,15 @@ take_sample(user,A) return 1 else - to_chat(user, "You are unable to locate any [evidence_type]s on \the [A].") + to_chat(user, span_warning("You are unable to locate any [evidence_type]s on \the [A].")) return ..() -/obj/item/weapon/forensics/sample_kit/powder +/obj/item/forensics/sample_kit/powder name = "fingerprint powder" desc = "A jar containing aluminum powder and a specialized brush." icon_state = "dust" evidence_type = "fingerprint" - evidence_path = /obj/item/weapon/sample/print + evidence_path = /obj/item/sample/print -/obj/item/weapon/forensics/sample_kit/powder/can_take_sample(var/mob/user, var/atom/supplied) +/obj/item/forensics/sample_kit/powder/can_take_sample(var/mob/user, var/atom/supplied) return (supplied.fingerprints && supplied.fingerprints.len) diff --git a/code/modules/detectivework/tools/scanner.dm b/code/modules/detectivework/tools/scanner.dm index aaac54eee56..b00ab89f39d 100644 --- a/code/modules/detectivework/tools/scanner.dm +++ b/code/modules/detectivework/tools/scanner.dm @@ -1,4 +1,4 @@ -/obj/item/device/detective_scanner +/obj/item/detective_scanner name = "forensic scanner" desc = "Used to scan objects for DNA and fingerprints." icon_state = "forensic" @@ -13,31 +13,34 @@ var/reveal_blood = TRUE var/reveal_fibers = FALSE -/obj/item/device/detective_scanner/attack(mob/living/carbon/human/M as mob, mob/user as mob) + pickup_sound = 'sound/items/pickup/device.ogg' + drop_sound = 'sound/items/drop/device.ogg' + +/obj/item/detective_scanner/attack(mob/living/carbon/human/M as mob, mob/user as mob) if (!ishuman(M)) - to_chat(user, "\The [M] does not seem to be compatible with this device.") + to_chat(user, span_warning("\The [M] does not seem to be compatible with this device.")) flick("[icon_state]0",src) return 0 if(reveal_fingerprints) if((!( istype(M.dna, /datum/dna) ) || M.gloves)) - to_chat(user, "No fingerprints found on [M]") + to_chat(user, span_notice("No fingerprints found on [M]")) flick("[icon_state]0",src) return 0 else if(user.zone_sel.selecting == "r_hand" || user.zone_sel.selecting == "l_hand") - var/obj/item/weapon/sample/print/P = new /obj/item/weapon/sample/print(user.loc) + var/obj/item/sample/print/P = new /obj/item/sample/print(user.loc) P.attack(M, user) - to_chat(user, "Done printing.") - // to_chat(user, "[M]'s Fingerprints: [md5(M.dna.uni_identity)]") + to_chat(user, span_notice("Done printing.")) + // to_chat(user, span_notice("[M]'s Fingerprints: [md5(M.dna.uni_identity)]")) if(reveal_blood && M.blood_DNA && M.blood_DNA.len) - to_chat(user, "Blood found on [M]. Analysing...") + to_chat(user, span_notice("Blood found on [M]. Analysing...")) spawn(15) for(var/blood in M.blood_DNA) - to_chat(user, "Blood type: [M.blood_DNA[blood]]\nDNA: [blood]") + to_chat(user, span_notice("Blood type: [M.blood_DNA[blood]]\nDNA: [blood]")) return -/obj/item/device/detective_scanner/afterattack(atom/A as obj|turf, mob/user, proximity) +/obj/item/detective_scanner/afterattack(atom/A as obj|turf, mob/user, proximity) if(!proximity) return if(ismob(A)) return @@ -45,13 +48,13 @@ /* if(istype(A,/obj/machinery/computer/forensic_scanning)) user.visible_message("[user] takes a cord out of [src] and hooks its end into [A]" ,\ - "You download data from [src] to [A]") + span_notice("You download data from [src] to [A]")) var/obj/machinery/computer/forensic_scanning/F = A F.sync_data(stored) return */ - if(istype(A,/obj/item/weapon/sample/print)) + if(istype(A,/obj/item/sample/print)) to_chat(user, "The scanner displays on the screen: \"ERROR 43: Object on Excluded Object List.\"") flick("[icon_state]0",src) return @@ -59,27 +62,27 @@ add_fingerprint(user) if(!(do_after(user, 1 SECOND))) - to_chat(user, "You must remain still for the device to complete its work.") + to_chat(user, span_warning("You must remain still for the device to complete its work.")) return 0 //General if ((!A.fingerprints || !A.fingerprints.len) && !A.suit_fibers && !A.blood_DNA) user.visible_message("\The [user] scans \the [A] with \a [src], the air around [user.gender == MALE ? "him" : "her"] humming[prob(70) ? " gently." : "."]" ,\ - "Unable to locate any fingerprints, materials, fibers, or blood on [A]!",\ + span_warning("Unable to locate any fingerprints, materials, fibers, or blood on [A]!"),\ "You hear a faint hum of electrical equipment.") flick("[icon_state]0",src) return 0 if(add_data(A)) - to_chat(user,"Object already in internal memory. Consolidating data...") + to_chat(user,span_notice("Object already in internal memory. Consolidating data...")) flick("[icon_state]1",src) return //PRINTS if(A.fingerprints && A.fingerprints.len) - to_chat(user, "Isolated [A.fingerprints.len] fingerprints:") + to_chat(user, span_notice("Isolated [A.fingerprints.len] fingerprints:")) if(!reveal_incompletes) - to_chat(user, "Rapid Analysis Imperfect: Scan samples with H.R.F.S. equipment to determine nature of incomplete prints.") + to_chat(user, span_warning("Rapid Analysis Imperfect: Scan samples with H.R.F.S. equipment to determine nature of incomplete prints.")) var/list/complete_prints = list() var/list/incomplete_prints = list() for(var/i in A.fingerprints) @@ -89,43 +92,43 @@ else incomplete_prints += print if(complete_prints.len < 1) - to_chat(user, "No intact prints found") + to_chat(user, span_notice("No intact prints found")) else - to_chat(user, "Found [complete_prints.len] intact prints") + to_chat(user, span_notice("Found [complete_prints.len] intact prints")) if(reveal_fingerprints) for(var/i in complete_prints) - to_chat(user, "    [i]") + to_chat(user, span_notice("    [i]")) - to_chat(user, "Found [incomplete_prints.len] incomplete prints") + to_chat(user, span_notice("Found [incomplete_prints.len] incomplete prints")) if(reveal_incompletes) for(var/i in incomplete_prints) - to_chat(user, "    [i]") + to_chat(user, span_notice("    [i]")) //FIBERS if(A.suit_fibers && A.suit_fibers.len) - to_chat(user,"Fibers/Materials detected.[reveal_fibers ? " Analysing..." : " Acquisition of fibers for H.R.F.S. analysis advised."]") + to_chat(user,span_notice("Fibers/Materials detected.[reveal_fibers ? " Analysing..." : " Acquisition of fibers for H.R.F.S. analysis advised."]")) flick("[icon_state]1",src) if(reveal_fibers && do_after(user, 5 SECONDS)) - to_chat(user, "Apparel samples scanned:") + to_chat(user, span_notice("Apparel samples scanned:")) for(var/sample in A.suit_fibers) - to_chat(user, " - [sample]") + to_chat(user, " - " + span_notice("[sample]")) //Blood if (A.blood_DNA && A.blood_DNA.len) - to_chat(user, "Blood detected.[reveal_blood ? " Analysing..." : " Acquisition of swab for H.R.F.S. analysis advised."]") + to_chat(user, span_notice("Blood detected.[reveal_blood ? " Analysing..." : " Acquisition of swab for H.R.F.S. analysis advised."]")) if(reveal_blood && do_after(user, 5 SECONDS)) flick("[icon_state]1",src) for(var/blood in A.blood_DNA) - to_chat(user, "Blood type: [A.blood_DNA[blood]] DNA: [blood]") + to_chat(user, "Blood type: " + span_warning("[A.blood_DNA[blood]]") + " DNA: " + span_warning("[blood]")) user.visible_message("\The [user] scans \the [A] with \a [src], the air around [user.gender == MALE ? "him" : "her"] humming[prob(70) ? " gently." : "."]" ,\ - "You finish scanning \the [A].",\ + span_notice("You finish scanning \the [A]."),\ "You hear a faint hum of electrical equipment.") flick("[icon_state]1",src) return 0 -/obj/item/device/detective_scanner/proc/add_data(atom/A as mob|obj|turf|area) +/obj/item/detective_scanner/proc/add_data(atom/A as mob|obj|turf|area) var/datum/data/record/forensic/old = stored["\ref [A]"] var/datum/data/record/forensic/fresh = new(A) @@ -134,7 +137,7 @@ . = 1 stored["\ref [A]"] = fresh -/obj/item/device/detective_scanner/verb/examine_data() +/obj/item/detective_scanner/verb/examine_data() set name = "Examine Forensic Data" set category = "Object" set src in view(1) @@ -142,7 +145,7 @@ //to_world("usr is [usr]") //why was this a thing? -KK. display_data(usr) -/obj/item/device/detective_scanner/proc/display_data(var/mob/user) +/obj/item/detective_scanner/proc/display_data(var/mob/user) if(user && stored && stored.len) for(var/objref in stored) if(!do_after(user, 1 SECOND)) // So people can move and stop the spam, if they refuse to wipe data. @@ -153,7 +156,7 @@ var/list/fibers = F.fields["fibers"] var/list/bloods = F.fields["blood"] - to_chat(user, "Data for: [F.fields["name"]]") + to_chat(user, span_notice("Data for: [F.fields["name"]]")) if(reveal_fingerprints) var/list/complete_prints = list() @@ -162,39 +165,39 @@ var/print = fprints[i] if(stringpercent(print) <= FINGERPRINT_COMPLETE) complete_prints += print - to_chat(user, " - [print]") + to_chat(user, " - " + span_notice("[print]")) else incomplete_prints += print if(complete_prints.len < 1) - to_chat(user, "No intact prints found.") + to_chat(user, span_notice("No intact prints found.")) if(reveal_incompletes) for(var/print in incomplete_prints) - to_chat(user, " - [print]") + to_chat(user, " - " + span_notice("[print]")) if(fibers && fibers.len) - to_chat(user, "[fibers.len] samples of material were present.") + to_chat(user, span_notice("[fibers.len] samples of material were present.")) if(reveal_fibers) for(var/sample in fibers) - to_chat(user, " - [sample]") + to_chat(user, " - " + span_notice("[sample]")) if(bloods && bloods.len) - to_chat(user, "[bloods.len] samples of blood were present.") + to_chat(user, span_notice("[bloods.len] samples of blood were present.")) if(reveal_blood) for(var/bloodsample in bloods) - to_chat(user, " - [bloodsample] Type: [bloods[bloodsample]]") + to_chat(user, " - " + span_warning("[bloodsample]") + " Type: [bloods[bloodsample]]") -/obj/item/device/detective_scanner/verb/wipe() +/obj/item/detective_scanner/verb/wipe() set name = "Wipe Forensic Data" set category = "Object" set src in view(1) if (tgui_alert(usr, "Are you sure you want to wipe all data from [src]?","Wipe Data",list("Yes","No")) == "Yes") stored = list() - to_chat(usr, "Forensic data erase complete.") + to_chat(usr, span_notice("Forensic data erase complete.")) -/obj/item/device/detective_scanner/advanced +/obj/item/detective_scanner/advanced name = "advanced forensic scanner" icon_state = "forensic_neo" reveal_fibers = TRUE diff --git a/code/modules/detectivework/tools/storage.dm b/code/modules/detectivework/tools/storage.dm index 9c45028e93d..c7c3186a915 100644 --- a/code/modules/detectivework/tools/storage.dm +++ b/code/modules/detectivework/tools/storage.dm @@ -1,36 +1,36 @@ -/obj/item/weapon/storage/box/swabs +/obj/item/storage/box/swabs name = "box of swab kits" desc = "Sterilized equipment within. Do not contaminate." icon = 'icons/obj/forensics.dmi' icon_state = "dnakit" - can_hold = list(/obj/item/weapon/forensics/swab) + can_hold = list(/obj/item/forensics/swab) storage_slots = 14 -/obj/item/weapon/storage/box/swabs/New() +/obj/item/storage/box/swabs/New() ..() for(var/i = 1 to storage_slots) // Fill 'er up. - new /obj/item/weapon/forensics/swab(src) + new /obj/item/forensics/swab(src) -/obj/item/weapon/storage/box/evidence +/obj/item/storage/box/evidence name = "evidence bag box" desc = "A box claiming to contain evidence bags." storage_slots = 7 - can_hold = list(/obj/item/weapon/evidencebag) + can_hold = list(/obj/item/evidencebag) -/obj/item/weapon/storage/box/evidence/New() +/obj/item/storage/box/evidence/New() ..() for(var/i = 1 to storage_slots) - new /obj/item/weapon/evidencebag(src) + new /obj/item/evidencebag(src) -/obj/item/weapon/storage/box/fingerprints +/obj/item/storage/box/fingerprints name = "box of fingerprint cards" desc = "Sterilized equipment within. Do not contaminate." icon = 'icons/obj/forensics.dmi' icon_state = "dnakit" - can_hold = list(/obj/item/weapon/sample/print) + can_hold = list(/obj/item/sample/print) storage_slots = 14 -/obj/item/weapon/storage/box/fingerprints/New() +/obj/item/storage/box/fingerprints/New() ..() for(var/i = 1 to storage_slots) - new /obj/item/weapon/sample/print(src) \ No newline at end of file + new /obj/item/sample/print(src) \ No newline at end of file diff --git a/code/modules/detectivework/tools/swabs.dm b/code/modules/detectivework/tools/swabs.dm index e9377a4d7b0..e841541c358 100644 --- a/code/modules/detectivework/tools/swabs.dm +++ b/code/modules/detectivework/tools/swabs.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/forensics/swab +/obj/item/forensics/swab name = "swab kit" desc = "A sterilized cotton swab and vial used to take forensic samples." icon_state = "swab" @@ -8,10 +8,10 @@ drop_sound = 'sound/items/drop/glass.ogg' pickup_sound = 'sound/items/pickup/glass.ogg' -/obj/item/weapon/forensics/swab/proc/is_used() +/obj/item/forensics/swab/proc/is_used() return used -/obj/item/weapon/forensics/swab/attack(var/mob/living/M, var/mob/user) +/obj/item/forensics/swab/attack(var/mob/living/M, var/mob/user) if(!ishuman(M)) return ..() @@ -23,23 +23,23 @@ var/sample_type if(H.wear_mask) - to_chat(user, "\The [H] is wearing a mask.") + to_chat(user, span_warning("\The [H] is wearing a mask.")) return if(!H.dna || !H.dna.unique_enzymes) - to_chat(user, "They don't seem to have DNA!") + to_chat(user, span_warning("They don't seem to have DNA!")) return if(user != H && H.a_intent != "help" && !H.lying) - user.visible_message("\The [user] tries to take a swab sample from \the [H], but they move away.") + user.visible_message(span_danger("\The [user] tries to take a swab sample from \the [H], but they move away.")) return if(user.zone_sel.selecting == O_MOUTH) if(!H.organs_by_name[BP_HEAD]) - to_chat(user, "They don't have a head.") + to_chat(user, span_warning("They don't have a head.")) return if(!H.check_has_mouth()) - to_chat(user, "They don't have a mouth.") + to_chat(user, span_warning("They don't have a mouth.")) return user.visible_message("[user] swabs \the [H]'s mouth for a saliva sample.") dna = list(H.dna.unique_enzymes) @@ -55,7 +55,7 @@ if(istype(O) && !O.is_stump()) has_hand = 1 if(!has_hand) - to_chat(user, "They don't have any hands.") + to_chat(user, span_warning("They don't have any hands.")) return user.visible_message("[user] swabs [H]'s palm for a sample.") sample_type = "GSR" @@ -68,13 +68,13 @@ return return 1 -/obj/item/weapon/forensics/swab/afterattack(var/atom/A, var/mob/user, var/proximity) +/obj/item/forensics/swab/afterattack(var/atom/A, var/mob/user, var/proximity) if(!proximity || istype(A, /obj/machinery/dnaforensics)) return if(is_used()) - to_chat(user, "This swab has already been used.") + to_chat(user, span_warning("This swab has already been used.")) return add_fingerprint(user) @@ -87,7 +87,7 @@ var/choice if(!choices.len) - to_chat(user, "There is no evidence on \the [A].") + to_chat(user, span_warning("There is no evidence on \the [A].")) return else if(choices.len == 1) choice = choices[1] @@ -106,7 +106,7 @@ else if(choice == "Gunshot Residue") var/obj/item/clothing/B = A if(!istype(B) || !B.gunshot_residue) - to_chat(user, "There is no residue on \the [A].") + to_chat(user, span_warning("There is no residue on \the [A].")) return gsr = B.gunshot_residue sample_type = "residue" @@ -115,7 +115,7 @@ user.visible_message("\The [user] swabs \the [A] for a sample.", "You swab \the [A] for a sample.") set_used(sample_type, A) -/obj/item/weapon/forensics/swab/proc/set_used(var/sample_str, var/atom/source) +/obj/item/forensics/swab/proc/set_used(var/sample_str, var/atom/source) name = "[initial(name)] ([sample_str] - [source])" desc = "[initial(desc)] The label on the vial reads 'Sample of [sample_str] from [source].'." icon_state = "swab_used" diff --git a/code/modules/detectivework/tools/uvlight.dm b/code/modules/detectivework/tools/uvlight.dm index ba316f89974..29aca9fe31a 100644 --- a/code/modules/detectivework/tools/uvlight.dm +++ b/code/modules/detectivework/tools/uvlight.dm @@ -1,11 +1,12 @@ -/obj/item/device/uv_light +/obj/item/uv_light name = "\improper UV light" desc = "A small handheld black light." + icon = 'icons/obj/device.dmi' icon_state = "uv_off" slot_flags = SLOT_BELT w_class = ITEMSIZE_SMALL item_state = "electronic" - action_button_name = "Toggle UV light" + actions_types = list(/datum/action/item_action/toggle_uv_light) matter = list(MAT_STEEL = 150) origin_tech = list(TECH_MAGNET = 1, TECH_ENGINEERING = 1) @@ -16,8 +17,10 @@ var/range = 3 var/on = 0 var/step_alpha = 50 + pickup_sound = 'sound/items/pickup/device.ogg' + drop_sound = 'sound/items/drop/device.ogg' -/obj/item/device/uv_light/attack_self(var/mob/user) +/obj/item/uv_light/attack_self(var/mob/user) on = !on if(on) set_light(range, 2, "#007fff") @@ -29,7 +32,7 @@ STOP_PROCESSING(SSobj, src) icon_state = "uv_off" -/obj/item/device/uv_light/proc/clear_last_scan() +/obj/item/uv_light/proc/clear_last_scan() if(scanned.len) for(var/atom/O in scanned) O.invisibility = scanned[O] @@ -46,7 +49,7 @@ if(I.fluorescent == 2) I.fluorescent = 1 reset_objects.Cut() -/obj/item/device/uv_light/process() +/obj/item/uv_light/process() clear_last_scan() if(on) step_alpha = round(255/range) @@ -67,4 +70,4 @@ var/obj/item/O = A if(O.was_bloodied && !(O.blood_overlay in O.overlays)) O.add_overlay(O.blood_overlay) - reset_objects |= O \ No newline at end of file + reset_objects |= O diff --git a/code/modules/economy/ATM.dm b/code/modules/economy/ATM.dm index 8bb91fdbfdf..914dfbf9485 100644 --- a/code/modules/economy/ATM.dm +++ b/code/modules/economy/ATM.dm @@ -12,7 +12,7 @@ log transactions #define TRANSFER_FUNDS 2 #define VIEW_TRANSACTION_LOGS 3 -/obj/item/weapon/card/id/var/money = 2000 +/obj/item/card/id/var/money = 2000 /obj/machinery/atm name = "Automatic Teller Machine" @@ -22,7 +22,7 @@ log transactions anchored = TRUE use_power = USE_POWER_IDLE idle_power_usage = 10 - circuit = /obj/item/weapon/circuitboard/atm + circuit = /obj/item/circuitboard/atm var/datum/money_account/authenticated_account var/number_incorrect_tries = 0 var/previous_account_number = 0 @@ -30,7 +30,7 @@ log transactions var/ticks_left_locked_down = 0 var/ticks_left_timeout = 0 var/machine_id = "" - var/obj/item/weapon/card/held_card + var/obj/item/card/held_card var/editing_security_level = 0 var/view_screen = NO_SCREEN var/datum/effect/effect/system/spark_spread/spark_system @@ -55,7 +55,7 @@ log transactions if(ticks_left_locked_down <= 0) number_incorrect_tries = 0 - for(var/obj/item/weapon/spacecash/S in src) + for(var/obj/item/spacecash/S in src) S.loc = src.loc if(prob(50)) playsound(src, 'sound/items/polaroid1.ogg', 50, 1) @@ -76,30 +76,30 @@ log transactions //display a message to the user var/response = pick("Initiating withdraw. Have a nice day!", "CRITICAL ERROR: Activating cash chamber panic siphon.","PIN Code accepted! Emptying account balance.", "Jackpot!") - to_chat(user, "[icon2html(src, user.client)] The [src] beeps: \"[response]\"") + to_chat(user, span_warning("[icon2html(src, user.client)] The [src] beeps: \"[response]\"")) return 1 /obj/machinery/atm/attackby(obj/item/I as obj, mob/user as mob) if(computer_deconstruction_screwdriver(user, I)) return - if(istype(I, /obj/item/weapon/card)) + if(istype(I, /obj/item/card)) if(emagged > 0) //prevent inserting id into an emagged ATM - to_chat(user, span_red("[icon2html(src, user.client)] CARD READER ERROR. This system has been compromised!")) + to_chat(user, span_boldwarning("[icon2html(src, user.client)] CARD READER ERROR. This system has been compromised!")) return - else if(istype(I,/obj/item/weapon/card/emag)) + else if(istype(I,/obj/item/card/emag)) I.resolve_attackby(src, user) return - var/obj/item/weapon/card/id/idcard = I + var/obj/item/card/id/idcard = I if(!held_card) - usr.drop_item() + user.drop_item() idcard.loc = src held_card = idcard if(authenticated_account && held_card.associated_account_number != authenticated_account.account_number) authenticated_account = null else if(authenticated_account) - if(istype(I,/obj/item/weapon/spacecash)) + if(istype(I,/obj/item/spacecash)) //consume the money authenticated_account.money += I:worth if(prob(50)) @@ -117,346 +117,343 @@ log transactions T.time = stationtime2text() authenticated_account.transaction_log.Add(T) - to_chat(user, "You insert [I] into [src].") + to_chat(user, span_info("You insert [I] into [src].")) src.attack_hand(user) qdel(I) else ..() -/obj/machinery/atm/attack_hand(mob/user as mob) - if(istype(user, /mob/living/silicon)) - to_chat (user, "A firewall prevents you from interfacing with this device!") - return - if(get_dist(src,user) <= 1) +/obj/machinery/atm/tgui_status(mob/user) + . = ..() + if(issilicon(user)) + return STATUS_CLOSE - //js replicated from obj/machinery/computer/card - var/dat = "

    Automatic Teller Machine

    " - dat += "For all your monetary needs!
    " - dat += "This terminal is [machine_id]. Report this code when contacting IT Support
    " +/obj/machinery/atm/tgui_interact(mob/user, datum/tgui/ui, datum/tgui/parent_ui, custom_state) + ui = SStgui.try_update_ui(user, src, ui) + if(!ui) + ui = new(user, src, "AutomatedTellerMachine", name) + ui.open() - if(emagged > 0) - dat += "Card: LOCKED

    Unauthorized terminal access detected! This ATM has been locked. Please contact IT Support." - else - dat += "Card: [held_card ? held_card.name : "------"]

    " +/obj/machinery/atm/tgui_static_data(mob/user) + var/list/data = ..() + data["machine_id"] = machine_id + return data - if(ticks_left_locked_down > 0) - dat += "Maximum number of pin attempts exceeded! Access to this ATM has been temporarily disabled." - else if(authenticated_account) - if(authenticated_account.suspended) - dat += "Access to this account has been suspended, and the funds within frozen." - else - switch(view_screen) - if(CHANGE_SECURITY_LEVEL) - dat += "Select a new security level for this account:

    " - var/text = "Zero - Either the account number or card is required to access this account. EFTPOS transactions will require a card and ask for a pin, but not verify the pin is correct." - if(authenticated_account.security_level != 0) - text = "[text]" - dat += "[text]
    " - text = "One - An account number and pin must be manually entered to access this account and process transactions." - if(authenticated_account.security_level != 1) - text = "[text]" - dat += "[text]
    " - text = "Two - In addition to account number and pin, a card is required to access this account and process transactions." - if(authenticated_account.security_level != 2) - text = "[text]" - dat += "[text]

    " - dat += "Back" - if(VIEW_TRANSACTION_LOGS) - dat += "Transaction logs
    " - dat += "Back" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - for(var/datum/transaction/T in authenticated_account.transaction_log) - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "
    DateTimeTargetPurposeValueSource terminal ID
    [T.date][T.time][T.target_name][T.purpose]$[T.amount][T.source_terminal]
    " - dat += "Print
    " - if(TRANSFER_FUNDS) - dat += "Account balance: $[authenticated_account.money]
    " - dat += "Back

    " - dat += "
    " - dat += "" - dat += "" - dat += "Target account number:
    " - dat += "Funds to transfer:
    " - dat += "Transaction purpose:
    " - dat += "
    " - dat += "
    " - else - dat += "Welcome, [authenticated_account.owner_name].
    " - dat += "Account balance: $[authenticated_account.money]" - dat += "
    " - dat += "" - dat += " Cash Chargecard
    " - dat += "" - dat += "
    " - dat += "Change account security level
    " - dat += "Make transfer
    " - dat += "View transaction log
    " - dat += "Print balance statement
    " - dat += "Logout
    " - else - dat += "
    " - dat += "" - dat += "" - dat += "Account:
    " - dat += "PIN:
    " - dat += "
    " - dat += "
    " - - user << browse(dat,"window=atm;size=550x650") - else - user << browse(null,"window=atm") - -/obj/machinery/atm/Topic(var/href, var/href_list) - if(href_list["choice"]) - switch(href_list["choice"]) - if("transfer") - if(authenticated_account) - var/transfer_amount = text2num(href_list["funds_amount"]) - transfer_amount = round(transfer_amount, 0.01) - if(transfer_amount <= 0) - tgui_alert_async(usr, "That is not a valid amount.") - else if(transfer_amount <= authenticated_account.money) - var/target_account_number = text2num(href_list["target_acc_number"]) - var/transfer_purpose = href_list["purpose"] - if(charge_to_account(target_account_number, authenticated_account.owner_name, transfer_purpose, machine_id, transfer_amount)) - to_chat(usr, "[icon2html(src, usr.client)]Funds transfer successful.") - authenticated_account.money -= transfer_amount - - //create an entry in the account transaction log - var/datum/transaction/T = new() - T.target_name = "Account #[target_account_number]" - T.purpose = transfer_purpose - T.source_terminal = machine_id - T.date = current_date_string - T.time = stationtime2text() - T.amount = "([transfer_amount])" - authenticated_account.transaction_log.Add(T) - else - to_chat(usr, "[icon2html(src, usr.client)]Funds transfer failed.") +/obj/machinery/atm/tgui_data(mob/user, datum/tgui/ui, datum/tgui_state/state) + var/list/data = ..() - else - to_chat(usr, "[icon2html(src, usr.client)]You don't have enough funds to do that!") - if("view_screen") - view_screen = text2num(href_list["view_screen"]) - if("change_security_level") - if(authenticated_account) - var/new_sec_level = max( min(text2num(href_list["new_security_level"]), 2), 0) - authenticated_account.security_level = new_sec_level - if("attempt_auth") - if(!ticks_left_locked_down) - var/tried_account_num = held_card ? held_card.associated_account_number : text2num(href_list["account_num"]) - var/tried_pin = text2num(href_list["account_pin"]) - - // check if they have low security enabled - - if (!tried_account_num) - scan_user(usr) - else - authenticated_account = attempt_account_access(tried_account_num, tried_pin, held_card && held_card.associated_account_number == tried_account_num ? 2 : 1) - - if(!authenticated_account) - number_incorrect_tries++ - if(previous_account_number == tried_account_num) - if(number_incorrect_tries > max_pin_attempts) - //lock down the atm - ticks_left_locked_down = 30 - playsound(src, 'sound/machines/buzz-two.ogg', 50, 1) - - //create an entry in the account transaction log - var/datum/money_account/failed_account = get_account(tried_account_num) - if(failed_account) - var/datum/transaction/T = new() - T.target_name = failed_account.owner_name - T.purpose = "Unauthorised login attempt" - T.source_terminal = machine_id - T.date = current_date_string - T.time = stationtime2text() - failed_account.transaction_log.Add(T) - else - to_chat(usr, span_red("[icon2html(src, usr.client)] Incorrect pin/account combination entered, [max_pin_attempts - number_incorrect_tries] attempts remaining.")) - previous_account_number = tried_account_num - playsound(src, 'sound/machines/buzz-sigh.ogg', 50, 1) - else - to_chat(usr, span_red("[icon2html(src, usr.client)] incorrect pin/account combination entered.")) - number_incorrect_tries = 0 - else - playsound(src, 'sound/machines/twobeep.ogg', 50, 1) - ticks_left_timeout = 120 - view_screen = NO_SCREEN - - //create a transaction log entry - var/datum/transaction/T = new() - T.target_name = authenticated_account.owner_name - T.purpose = "Remote terminal access" - T.source_terminal = machine_id - T.date = current_date_string - T.time = stationtime2text() - authenticated_account.transaction_log.Add(T) - - to_chat(usr, span_blue("[icon2html(src, usr.client)] Access granted. Welcome user '[authenticated_account.owner_name].'")) - - previous_account_number = tried_account_num - if("e_withdrawal") - var/amount = max(text2num(href_list["funds_amount"]),0) - amount = round(amount, 0.01) - if(amount <= 0) - tgui_alert_async(usr, "That is not a valid amount.") - else if(authenticated_account && amount > 0) - if(amount <= authenticated_account.money) - playsound(src, 'sound/machines/chime.ogg', 50, 1) - - //remove the money - authenticated_account.money -= amount - - // spawn_money(amount,src.loc) - spawn_ewallet(amount,src.loc,usr) + data["emagged"] = emagged + if(emagged > 0) + return data - //create an entry in the account transaction log - var/datum/transaction/T = new() - T.target_name = authenticated_account.owner_name - T.purpose = "Credit withdrawal" - T.amount = "([amount])" - T.source_terminal = machine_id - T.date = current_date_string - T.time = stationtime2text() - authenticated_account.transaction_log.Add(T) - else - to_chat(usr, "[icon2html(src, usr.client)]You don't have enough funds to do that!") - if("withdrawal") - var/amount = max(text2num(href_list["funds_amount"]),0) - amount = round(amount, 0.01) - if(amount <= 0) - tgui_alert_async(usr, "That is not a valid amount.") - else if(authenticated_account && amount > 0) - if(amount <= authenticated_account.money) - playsound(src, 'sound/machines/chime.ogg', 50, 1) + data["held_card"] = held_card + data["locked_down"] = ticks_left_locked_down + if(ticks_left_locked_down > 0) + return data + + data["authenticated_account"] = null + data["suspended"] = FALSE + if(authenticated_account) + if(authenticated_account.suspended) + data["suspended"] = TRUE + return data + + var/list/transactions = list() + for(var/datum/transaction/T as anything in authenticated_account.transaction_log) + UNTYPED_LIST_ADD(transactions, list( + "date" = T.date, + "time" = T.time, + "target_name" = T.target_name, + "purpose" = T.purpose, + "amount" = T.amount, + "source_terminal" = T.source_terminal + )) + + data["authenticated_account"] = list( + "owner_name" = authenticated_account.owner_name, + "money" = authenticated_account.money, + "security_level" = authenticated_account.security_level, + "transactions" = transactions, + ) + + return data + +/obj/machinery/atm/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state) + . = ..() + if(.) + return + + switch(action) + // This is also a logout + if("insert_card") + if(held_card) + release_held_id(ui.user) + else + if(emagged > 0) + to_chat(ui.user, span_boldwarning("[icon2html(src, ui.user.client)] The ATM card reader rejected your ID because this machine has been sabotaged!")) + else + var/obj/item/I = ui.user.get_active_hand() + if(istype(I, /obj/item/card/id)) + ui.user.drop_item(src) + held_card = I + . = TRUE + + if("logout") + if(held_card) + release_held_id(ui.user) + authenticated_account = null + . = TRUE + + // Balance statement + if("balance_statement") + if(!authenticated_account) + return + + var/obj/item/paper/R = new(loc) + R.name = "Account balance: [authenticated_account.owner_name]" + R.info = span_bold("NT Automated Teller Account Statement") + "

    " + R.info += span_italics("Account holder:") + " [authenticated_account.owner_name]
    " + R.info += span_italics("Account number:") + " [authenticated_account.account_number]
    " + R.info += span_italics("Balance:") + " $[authenticated_account.money]
    " + R.info += span_italics("Date and time:") + " [stationtime2text()], [current_date_string]

    " + R.info += span_italics("Service terminal ID:") + " [machine_id]
    " + + //stamp the paper + var/image/stampoverlay = image('icons/obj/bureaucracy.dmi') + stampoverlay.icon_state = "paper_stamp-cent" + if(!R.stamped) + R.stamped = new + R.stamped += /obj/item/stamp + R.add_overlay(stampoverlay) + R.stamps += "
    " + span_italics("This paper has been stamped by the Automatic Teller Machine.") + + if(prob(50)) + playsound(src, 'sound/items/polaroid1.ogg', 50, 1) + else + playsound(src, 'sound/items/polaroid2.ogg', 50, 1) + . = TRUE + + // Transaction logs + if("print_transaction") + if(!authenticated_account) + return + + var/obj/item/paper/R = new(loc) + R.name = "Transaction logs: [authenticated_account.owner_name]" + R.info = span_bold("Transaction logs") + "
    " + R.info += span_italics("Account holder:") + " [authenticated_account.owner_name]
    " + R.info += span_italics("Account number:") + " [authenticated_account.account_number]
    " + R.info += span_italics("Date and time:") + " [stationtime2text()], [current_date_string]

    " + R.info += span_italics("Service terminal ID:") + " [machine_id]
    " + R.info += "" + R.info += "" + R.info += "" + R.info += "" + R.info += "" + R.info += "" + R.info += "" + R.info += "" + R.info += "" + for(var/datum/transaction/T in authenticated_account.transaction_log) + R.info += "" + R.info += "" + R.info += "" + R.info += "" + R.info += "" + R.info += "" + R.info += "" + R.info += "" + R.info += "
    " + span_bold("Date") + "" + span_bold("Time") + "" + span_bold("Target") + "" + span_bold("Purpose") + "" + span_bold("Value") + "" + span_bold("Source terminal ID") + "
    [T.date][T.time][T.target_name][T.purpose]$[T.amount][T.source_terminal]
    " + + //stamp the paper + var/image/stampoverlay = image('icons/obj/bureaucracy.dmi') + stampoverlay.icon_state = "paper_stamp-cent" + if(!R.stamped) + R.stamped = new + R.stamped += /obj/item/stamp + R.add_overlay(stampoverlay) + R.stamps += "
    " + span_italics("This paper has been stamped by the Automatic Teller Machine.") - //remove the money - authenticated_account.money -= amount + if(prob(50)) + playsound(src, 'sound/items/polaroid1.ogg', 50, 1) + else + playsound(src, 'sound/items/polaroid2.ogg', 50, 1) + . = TRUE + + if("change_security_level") + if(authenticated_account) + var/new_sec_level = clamp(text2num(params["new_security_level"]), 0, 2) + authenticated_account.security_level = new_sec_level + . = TRUE + + if("attempt_auth") + if(ticks_left_locked_down) + return + var/tried_account_num = held_card ? held_card.associated_account_number : text2num(params["account_num"]) + var/tried_pin = text2num(params["account_pin"]) + + // check if they have low security enabled + if(!tried_account_num) + scan_user(ui.user) + else + authenticated_account = attempt_account_access(tried_account_num, tried_pin, held_card && held_card.associated_account_number == tried_account_num ? 2 : 1) - spawn_money(amount,src.loc,usr) + if(!authenticated_account) + number_incorrect_tries++ + if(previous_account_number == tried_account_num) + if(number_incorrect_tries > max_pin_attempts) + //lock down the atm + ticks_left_locked_down = 30 + playsound(src, 'sound/machines/buzz-two.ogg', 50, 1) //create an entry in the account transaction log - var/datum/transaction/T = new() - T.target_name = authenticated_account.owner_name - T.purpose = "Credit withdrawal" - T.amount = "([amount])" - T.source_terminal = machine_id - T.date = current_date_string - T.time = stationtime2text() - authenticated_account.transaction_log.Add(T) + var/datum/money_account/failed_account = get_account(tried_account_num) + if(failed_account) + var/datum/transaction/T = new() + T.target_name = failed_account.owner_name + T.purpose = "Unauthorised login attempt" + T.source_terminal = machine_id + T.date = current_date_string + T.time = stationtime2text() + failed_account.transaction_log.Add(T) else - to_chat(usr, "[icon2html(src, usr.client)]You don't have enough funds to do that!") - if("balance_statement") - if(authenticated_account) - var/obj/item/weapon/paper/R = new(src.loc) - R.name = "Account balance: [authenticated_account.owner_name]" - R.info = "NT Automated Teller Account Statement

    " - R.info += "Account holder: [authenticated_account.owner_name]
    " - R.info += "Account number: [authenticated_account.account_number]
    " - R.info += "Balance: $[authenticated_account.money]
    " - R.info += "Date and time: [stationtime2text()], [current_date_string]

    " - R.info += "Service terminal ID: [machine_id]
    " - - //stamp the paper - var/image/stampoverlay = image('icons/obj/bureaucracy.dmi') - stampoverlay.icon_state = "paper_stamp-cent" - if(!R.stamped) - R.stamped = new - R.stamped += /obj/item/weapon/stamp - R.add_overlay(stampoverlay) - R.stamps += "
    This paper has been stamped by the Automatic Teller Machine." - - if(prob(50)) - playsound(src, 'sound/items/polaroid1.ogg', 50, 1) + to_chat(ui.user, span_warning("[icon2html(src, ui.user.client)] Incorrect pin/account combination entered, [max_pin_attempts - number_incorrect_tries] attempts remaining.")) + previous_account_number = tried_account_num + playsound(src, 'sound/machines/buzz-sigh.ogg', 50, 1) else - playsound(src, 'sound/items/polaroid2.ogg', 50, 1) - if ("print_transaction") - if(authenticated_account) - var/obj/item/weapon/paper/R = new(src.loc) - R.name = "Transaction logs: [authenticated_account.owner_name]" - R.info = "Transaction logs
    " - R.info += "Account holder: [authenticated_account.owner_name]
    " - R.info += "Account number: [authenticated_account.account_number]
    " - R.info += "Date and time: [stationtime2text()], [current_date_string]

    " - R.info += "Service terminal ID: [machine_id]
    " - R.info += "" - R.info += "" - R.info += "" - R.info += "" - R.info += "" - R.info += "" - R.info += "" - R.info += "" - R.info += "" - for(var/datum/transaction/T in authenticated_account.transaction_log) - R.info += "" - R.info += "" - R.info += "" - R.info += "" - R.info += "" - R.info += "" - R.info += "" - R.info += "" - R.info += "
    DateTimeTargetPurposeValueSource terminal ID
    [T.date][T.time][T.target_name][T.purpose]$[T.amount][T.source_terminal]
    " - - //stamp the paper - var/image/stampoverlay = image('icons/obj/bureaucracy.dmi') - stampoverlay.icon_state = "paper_stamp-cent" - if(!R.stamped) - R.stamped = new - R.stamped += /obj/item/weapon/stamp - R.add_overlay(stampoverlay) - R.stamps += "
    This paper has been stamped by the Automatic Teller Machine." - - if(prob(50)) - playsound(src, 'sound/items/polaroid1.ogg', 50, 1) + to_chat(ui.user, span_warning("[icon2html(src, ui.user.client)] incorrect pin/account combination entered.")) + number_incorrect_tries = 0 + else + playsound(src, 'sound/machines/twobeep.ogg', 50, 1) + ticks_left_timeout = 120 + view_screen = NO_SCREEN + + //create a transaction log entry + var/datum/transaction/T = new() + T.target_name = authenticated_account.owner_name + T.purpose = "Remote terminal access" + T.source_terminal = machine_id + T.date = current_date_string + T.time = stationtime2text() + authenticated_account.transaction_log.Add(T) + + to_chat(ui.user, span_notice("[icon2html(src, ui.user.client)] Access granted. Welcome user '[authenticated_account.owner_name].'")) + + previous_account_number = tried_account_num + . = TRUE + + if("transfer") + if(!authenticated_account) + return + var/transfer_amount = text2num(params["funds_amount"]) + transfer_amount = round(transfer_amount, 0.01) + if(transfer_amount <= 0) + tgui_alert_async(ui.user, "That is not a valid amount.") + else if(transfer_amount <= authenticated_account.money) + var/target_account_number = text2num(params["target_acc_number"]) + var/transfer_purpose = params["purpose"] + if(charge_to_account(target_account_number, authenticated_account.owner_name, transfer_purpose, machine_id, transfer_amount)) + to_chat(ui.user, "[icon2html(src, ui.user.client)]" + span_info("Funds transfer successful.")) + authenticated_account.money -= transfer_amount + + //create an entry in the account transaction log + var/datum/transaction/T = new() + T.target_name = "Account #[target_account_number]" + T.purpose = transfer_purpose + T.source_terminal = machine_id + T.date = current_date_string + T.time = stationtime2text() + T.amount = "([transfer_amount])" + authenticated_account.transaction_log.Add(T) else - playsound(src, 'sound/items/polaroid2.ogg', 50, 1) + to_chat(ui.user, "[icon2html(src, ui.user.client)]" + span_warning("Funds transfer failed.")) - if("insert_card") - if(!held_card) - //this might happen if the user had the browser window open when somebody emagged it - if(emagged > 0) - to_chat(usr, span_red("[icon2html(src, usr.client)] The ATM card reader rejected your ID because this machine has been sabotaged!")) - else - var/obj/item/I = usr.get_active_hand() - if (istype(I, /obj/item/weapon/card/id)) - usr.drop_item() - I.loc = src - held_card = I - else - release_held_id(usr) - if("logout") - authenticated_account = null - //usr << browse(null,"window=atm") + else + to_chat(ui.user, "[icon2html(src, ui.user.client)]" + span_warning("You don't have enough funds to do that!")) + . = TRUE + + if("e_withdrawal") + var/amount = max(text2num(params["funds_amount"]),0) + amount = round(amount, 0.01) + if(amount <= 0) + tgui_alert_async(ui.user, "That is not a valid amount.") + return + + if(!authenticated_account) + return + + if(amount <= authenticated_account.money) + playsound(src, 'sound/machines/chime.ogg', 50, 1) + + //remove the money + authenticated_account.money -= amount + + // spawn_money(amount,src.loc) + spawn_ewallet(amount,src.loc,ui.user) + + //create an entry in the account transaction log + var/datum/transaction/T = new() + T.target_name = authenticated_account.owner_name + T.purpose = "Credit withdrawal" + T.amount = "([amount])" + T.source_terminal = machine_id + T.date = current_date_string + T.time = stationtime2text() + authenticated_account.transaction_log.Add(T) + else + to_chat(ui.user, "[icon2html(src, ui.user.client)]" + span_warning("You don't have enough funds to do that!")) + . = TRUE + + if("withdrawal") + var/amount = max(text2num(params["funds_amount"]),0) + amount = round(amount, 0.01) + if(amount <= 0) + tgui_alert_async(ui.user, "That is not a valid amount.") + return + + if(!authenticated_account) + return + + if(amount <= authenticated_account.money) + playsound(src, 'sound/machines/chime.ogg', 50, 1) + + //remove the money + authenticated_account.money -= amount + + spawn_money(amount,src.loc,ui.user) + + //create an entry in the account transaction log + var/datum/transaction/T = new() + T.target_name = authenticated_account.owner_name + T.purpose = "Credit withdrawal" + T.amount = "([amount])" + T.source_terminal = machine_id + T.date = current_date_string + T.time = stationtime2text() + authenticated_account.transaction_log.Add(T) + else + to_chat(ui.user, "[icon2html(src, ui.user.client)]" + span_warning("You don't have enough funds to do that!")) + . = TRUE + + if(.) + playsound(src, "keyboard", 50, TRUE) - src.attack_hand(usr) +/obj/machinery/atm/attack_hand(mob/user as mob) + if(istype(user, /mob/living/silicon)) + to_chat (user, span_warning("A firewall prevents you from interfacing with this device!")) + return + if(get_dist(src,user) <= 1) + tgui_interact(user) //stolen wholesale and then edited a bit from newscasters, which are awesome and by Agouri /obj/machinery/atm/proc/scan_user(mob/living/carbon/human/human_user as mob) if(!authenticated_account) if(human_user.wear_id) - var/obj/item/weapon/card/id/I - if(istype(human_user.wear_id, /obj/item/weapon/card/id) ) + var/obj/item/card/id/I + if(istype(human_user.wear_id, /obj/item/card/id) ) I = human_user.wear_id - else if(istype(human_user.wear_id, /obj/item/device/pda) ) - var/obj/item/device/pda/P = human_user.wear_id + else if(istype(human_user.wear_id, /obj/item/pda) ) + var/obj/item/pda/P = human_user.wear_id I = P.id if(I) authenticated_account = attempt_account_access(I.associated_account_number) @@ -475,7 +472,7 @@ log transactions /obj/machinery/atm/proc/spawn_ewallet(var/sum, loc, mob/living/carbon/human/human_user as mob) - var/obj/item/weapon/spacecash/ewallet/E = new /obj/item/weapon/spacecash/ewallet(loc) + var/obj/item/spacecash/ewallet/E = new /obj/item/spacecash/ewallet(loc) if(ishuman(human_user) && !human_user.get_active_hand()) human_user.put_in_hands(E) E.worth = sum diff --git a/code/modules/economy/Accounts.dm b/code/modules/economy/Accounts.dm index 332a8e1193c..d8f7a02ff0f 100644 --- a/code/modules/economy/Accounts.dm +++ b/code/modules/economy/Accounts.dm @@ -51,10 +51,10 @@ //create a sealed package containing the account details var/obj/item/smallDelivery/P = new /obj/item/smallDelivery(source_db.loc) - var/obj/item/weapon/paper/R = new /obj/item/weapon/paper(P) + var/obj/item/paper/R = new /obj/item/paper(P) P.wrapped = R R.name = "Account information: [M.owner_name]" - R.info = "Account details (confidential)


    " + R.info = span_bold("Account details (confidential)") + "


    " R.info += "Account holder: [M.owner_name]
    " R.info += "Account number: [M.account_number]
    " R.info += "Account pin: [M.remote_access_pin]
    " @@ -68,7 +68,7 @@ stampoverlay.icon_state = "paper_stamp-cent" if(!R.stamped) R.stamped = new - R.stamped += /obj/item/weapon/stamp + R.stamped += /obj/item/stamp R.add_overlay(stampoverlay) R.stamps += "
    This paper has been stamped by the Accounts Database." diff --git a/code/modules/economy/Accounts_DB.dm b/code/modules/economy/Accounts_DB.dm index 8fa9fe73e4b..c0b352d790e 100644 --- a/code/modules/economy/Accounts_DB.dm +++ b/code/modules/economy/Accounts_DB.dm @@ -9,7 +9,7 @@ anchored = TRUE var/receipt_num var/machine_id = "" - var/obj/item/weapon/card/id/held_card + var/obj/item/card/id/held_card var/datum/money_account/detailed_account_view var/creating_new_account = 0 var/const/fund_cap = 1000000 @@ -45,7 +45,7 @@ ..() /obj/machinery/account_database/attackby(obj/O, mob/user) - if(!istype(O, /obj/item/weapon/card/id)) + if(!istype(O, /obj/item/card/id)) return ..() if(!held_card) @@ -127,12 +127,12 @@ creating_new_account = 1 if("add_funds") - var/amount = tgui_input_number(usr, "Enter the amount you wish to add", "Silently add funds") + var/amount = tgui_input_number(ui.user, "Enter the amount you wish to add", "Silently add funds") if(detailed_account_view) detailed_account_view.money = min(detailed_account_view.money + amount, fund_cap) if("remove_funds") - var/amount = tgui_input_number(usr, "Enter the amount you wish to remove", "Silently remove funds") + var/amount = tgui_input_number(ui.user, "Enter the amount you wish to remove", "Silently remove funds") if(detailed_account_view) detailed_account_view.money = max(detailed_account_view.money - amount, -fund_cap) @@ -164,15 +164,15 @@ if(held_card) held_card.loc = src.loc - if(ishuman(usr) && !usr.get_active_hand()) - usr.put_in_hands(held_card) + if(ishuman(ui.user) && !ui.user.get_active_hand()) + ui.user.put_in_hands(held_card) held_card = null else - var/obj/item/I = usr.get_active_hand() - if(istype(I, /obj/item/weapon/card/id)) - var/obj/item/weapon/card/id/C = I - usr.drop_item() + var/obj/item/I = ui.user.get_active_hand() + if(istype(I, /obj/item/card/id)) + var/obj/item/card/id/C = I + ui.user.drop_item() C.loc = src held_card = C @@ -205,7 +205,7 @@ /obj/machinery/account_database/proc/print() var/text - var/obj/item/weapon/paper/P = new(loc) + var/obj/item/paper/P = new(loc) if(detailed_account_view) P.name = "account #[detailed_account_view.account_number] details" var/title = "Account #[detailed_account_view.account_number] Details" @@ -278,4 +278,4 @@ "} P.info = text - state("The terminal prints out a report.") \ No newline at end of file + state("The terminal prints out a report.") diff --git a/code/modules/economy/EFTPOS.dm b/code/modules/economy/EFTPOS.dm index e8fca4633ba..cd9f84f3d7c 100644 --- a/code/modules/economy/EFTPOS.dm +++ b/code/modules/economy/EFTPOS.dm @@ -1,4 +1,4 @@ -/obj/item/device/eftpos +/obj/item/eftpos name = "\improper EFTPOS scanner" desc = "Swipe your ID card to make purchases electronically." icon = 'icons/obj/device.dmi' @@ -11,8 +11,10 @@ var/transaction_purpose = "Default charge" var/access_code = 0 var/datum/money_account/linked_account + pickup_sound = 'sound/items/pickup/device.ogg' + drop_sound = 'sound/items/drop/device.ogg' -/obj/item/device/eftpos/Initialize() +/obj/item/eftpos/Initialize() . = ..() //by default, connect to the station account //the user of the EFTPOS device can change the target account though, and no-one will be the wiser (except whoever's being charged) @@ -23,13 +25,13 @@ print_reference() //create a short manual as well - var/obj/item/weapon/paper/R = new(src.loc) + var/obj/item/paper/R = new(src.loc) R.name = "Steps to success: Correct EFTPOS Usage" //Temptative new manual: - R.info += "First EFTPOS setup:
    " + R.info += span_bold("First EFTPOS setup:") + "
    " R.info += "1. Memorise your EFTPOS command code (provided with all EFTPOS devices).
    " R.info += "2. Connect the EFTPOS to the account in which you want to receive the funds.

    " - R.info += "When starting a new transaction:
    " + R.info += span_bold("When starting a new transaction:") + "
    " R.info += "1. Enter the amount of money you want to charge and a purpose message for the new transaction.
    " R.info += "2. Lock the new transaction. If you want to modify or cancel the transaction, you simply have to reset your EFTPOS device.
    " R.info += "3. Give the EFTPOS device to your customer, he/she must finish the transaction by swiping their ID card or a charge card with enough funds.
    " @@ -43,27 +45,27 @@ R.offset_x += 0 R.offset_y += 0 R.ico += "paper_stamp-cent" - R.stamped += /obj/item/weapon/stamp + R.stamped += /obj/item/stamp R.add_overlay(stampoverlay) R.stamps += "
    This paper has been stamped by the EFTPOS device." -/obj/item/device/eftpos/Destroy() +/obj/item/eftpos/Destroy() linked_account = null return ..() -/obj/item/device/eftpos/proc/print_reference() - var/obj/item/weapon/paper/R = new(src.loc) +/obj/item/eftpos/proc/print_reference() + var/obj/item/paper/R = new(src.loc) R.name = "Reference: [eftpos_name]" - R.info = "[eftpos_name] reference

    " + R.info = span_bold("[eftpos_name] reference") + "

    " R.info += "Access code: [access_code]

    " - R.info += "Do not lose or misplace this code.
    " + R.info += span_bold("Do not lose or misplace this code.") + "
    " //stamp the paper var/image/stampoverlay = image('icons/obj/bureaucracy.dmi') stampoverlay.icon_state = "paper_stamp-cent" if(!R.stamped) R.stamped = new - R.stamped += /obj/item/weapon/stamp + R.stamped += /obj/item/stamp R.add_overlay(stampoverlay) R.stamps += "
    This paper has been stamped by the EFTPOS device." var/obj/item/smallDelivery/D = new(R.loc) @@ -71,9 +73,9 @@ D.wrapped = R D.name = "small parcel - 'EFTPOS access code'" -/obj/item/device/eftpos/attack_self(mob/user as mob) +/obj/item/eftpos/attack_self(mob/user as mob) if(get_dist(src,user) <= 1) - var/dat = "[eftpos_name]
    " + var/dat = span_bold("[eftpos_name]") + "
    " dat += "This terminal is [machine_id]. Report this code when contacting IT Support
    " if(transaction_locked) dat += "Back[transaction_paid ? "" : " (authentication required)"]

    " @@ -99,17 +101,17 @@ else user << browse(null,"window=eftpos") -/obj/item/device/eftpos/attackby(obj/item/O as obj, user as mob) +/obj/item/eftpos/attackby(obj/item/O as obj, user as mob) - var/obj/item/weapon/card/id/I = O.GetID() + var/obj/item/card/id/I = O.GetID() if(I) if(linked_account) scan_card(I, O) else - to_chat(usr, "[icon2html(src, usr.client)]Unable to connect to linked account.") - else if (istype(O, /obj/item/weapon/spacecash/ewallet)) - var/obj/item/weapon/spacecash/ewallet/E = O + to_chat(usr, "[icon2html(src, usr.client)]" + span_warning("Unable to connect to linked account.")) + else if (istype(O, /obj/item/spacecash/ewallet)) + var/obj/item/spacecash/ewallet/E = O if (linked_account) if(!linked_account.suspended) if(transaction_locked && !transaction_paid) @@ -132,16 +134,16 @@ T.time = stationtime2text() linked_account.transaction_log.Add(T) else - to_chat(usr, "[icon2html(src, usr.client)]\The [O] doesn't have that much money!") + to_chat(usr, "[icon2html(src, usr.client)]" + span_warning("\The [O] doesn't have that much money!")) else - to_chat(usr, "[icon2html(src, usr.client)]Connected account has been suspended.") + to_chat(usr, "[icon2html(src, usr.client)]" + span_warning("Connected account has been suspended.")) else - to_chat(usr, "[icon2html(src, usr.client)]EFTPOS is not connected to an account.") + to_chat(usr, "[icon2html(src, usr.client)]" + span_warning("EFTPOS is not connected to an account.")) else ..() -/obj/item/device/eftpos/Topic(var/href, var/href_list) +/obj/item/eftpos/Topic(var/href, var/href_list) if(href_list["choice"]) switch(href_list["choice"]) if("change_code") @@ -154,14 +156,14 @@ tgui_alert_async(usr, "That is not a valid code!") print_reference() else - to_chat(usr, "[icon2html(src, usr.client)]Incorrect code entered.") + to_chat(usr, "[icon2html(src, usr.client)]" + span_warning("Incorrect code entered.")) if("change_id") var/attempt_code = text2num(input(usr, "Re-enter the current EFTPOS access code", "Confirm EFTPOS code")) if(attempt_code == access_code) eftpos_name = sanitize(input(usr, "Enter a new terminal ID for this device", "Enter new EFTPOS ID"), MAX_NAME_LEN) + " EFTPOS scanner" print_reference() else - to_chat(usr, "[icon2html(src, usr.client)]Incorrect code entered.") + to_chat(usr, "[icon2html(src, usr.client)]" + span_warning("Incorrect code entered.")) if("link_account") var/attempt_account_num = tgui_input_number(usr, "Enter account number to pay EFTPOS charges into", "New account number") var/attempt_pin = tgui_input_number(usr, "Enter pin code", "Account pin") @@ -169,9 +171,9 @@ if(linked_account) if(linked_account.suspended) linked_account = null - to_chat(usr, "[icon2html(src, usr.client)]Account has been suspended.") + to_chat(usr, "[icon2html(src, usr.client)]" + span_warning("Account has been suspended.")) else - to_chat(usr, "[icon2html(src, usr.client)]Account not found.") + to_chat(usr, "[icon2html(src, usr.client)]" + span_warning("Account not found.")) if("trans_purpose") var/choice = sanitize(input(usr, "Enter reason for EFTPOS transaction", "Transaction purpose")) if(choice) transaction_purpose = choice @@ -194,35 +196,35 @@ else if(linked_account) transaction_locked = 1 else - to_chat(usr, "[icon2html(src, usr.client)]No account connected to send transactions to.") + to_chat(usr, "[icon2html(src, usr.client)]" + span_warning("No account connected to send transactions to.")) if("scan_card") if(linked_account) var/obj/item/I = usr.get_active_hand() - if (istype(I, /obj/item/weapon/card)) + if (istype(I, /obj/item/card)) scan_card(I) else - to_chat(usr, "[icon2html(src, usr.client)]Unable to link accounts.") + to_chat(usr, "[icon2html(src, usr.client)]" + span_warning("Unable to link accounts.")) if("reset") //reset the access code - requires HoP/captain access var/obj/item/I = usr.get_active_hand() - if (istype(I, /obj/item/weapon/card)) - var/obj/item/weapon/card/id/C = I + if (istype(I, /obj/item/card)) + var/obj/item/card/id/C = I if((access_cent_captain in C.access) || (access_hop in C.access) || (access_captain in C.access)) access_code = 0 - to_chat(usr, "[icon2html(src, usr.client)]Access code reset to 0.") - else if (istype(I, /obj/item/weapon/card/emag)) + to_chat(usr, "[icon2html(src, usr.client)]" + span_info("Access code reset to 0.")) + else if (istype(I, /obj/item/card/emag)) access_code = 0 - to_chat(usr, "[icon2html(src, usr.client)]Access code reset to 0.") + to_chat(usr, "[icon2html(src, usr.client)]" + span_info("Access code reset to 0.")) src.attack_self(usr) -/obj/item/device/eftpos/proc/scan_card(var/obj/item/weapon/card/I, var/obj/item/ID_container) - if (istype(I, /obj/item/weapon/card/id)) - var/obj/item/weapon/card/id/C = I +/obj/item/eftpos/proc/scan_card(var/obj/item/card/I, var/obj/item/ID_container) + if (istype(I, /obj/item/card/id)) + var/obj/item/card/id/C = I if(I==ID_container || ID_container == null) - usr.visible_message("\The [usr] swipes a card through \the [src].") + usr.visible_message(span_info("\The [usr] swipes a card through \the [src].")) else - usr.visible_message("\The [usr] swipes \the [ID_container] through \the [src].") + usr.visible_message(span_info("\The [usr] swipes \the [ID_container] through \the [src].")) if(transaction_locked && !transaction_paid) if(linked_account) if(!linked_account.suspended) @@ -265,23 +267,23 @@ T.time = stationtime2text() linked_account.transaction_log.Add(T) else - to_chat(usr, "[icon2html(src, usr.client)]You don't have that much money!") + to_chat(usr, "[icon2html(src, usr.client)]" + span_warning("You don't have that much money!")) else - to_chat(usr, "[icon2html(src, usr.client)]Your account has been suspended.") + to_chat(usr, "[icon2html(src, usr.client)]" + span_warning("Your account has been suspended.")) else - to_chat(usr, "[icon2html(src, usr.client)]Unable to access account. Check security settings and try again.") + to_chat(usr, "[icon2html(src, usr.client)]" + span_warning("Unable to access account. Check security settings and try again.")) else - to_chat(usr, "[icon2html(src, usr.client)]Connected account has been suspended.") + to_chat(usr, "[icon2html(src, usr.client)]" + span_warning("Connected account has been suspended.")) else - to_chat(usr, "[icon2html(src, usr.client)]EFTPOS is not connected to an account.") - else if (istype(I, /obj/item/weapon/card/emag)) + to_chat(usr, "[icon2html(src, usr.client)]" + span_warning("EFTPOS is not connected to an account.")) + else if (istype(I, /obj/item/card/emag)) if(transaction_locked) if(transaction_paid) - to_chat(usr, "[icon2html(src, usr.client)]You stealthily swipe \the [I] through \the [src].") + to_chat(usr, "[icon2html(src, usr.client)]" + span_info("You stealthily swipe \the [I] through \the [src].")) transaction_locked = 0 transaction_paid = 0 else - usr.visible_message("\The [usr] swipes a card through \the [src].") + usr.visible_message(span_info("\The [usr] swipes a card through \the [src].")) playsound(src, 'sound/machines/chime.ogg', 50, 1) src.visible_message("[icon2html(src,viewers(src))] \The [src] chimes.") transaction_paid = 1 diff --git a/code/modules/economy/Events_Mundane.dm b/code/modules/economy/Events_Mundane.dm index 67031334620..a3997421278 100644 --- a/code/modules/economy/Events_Mundane.dm +++ b/code/modules/economy/Events_Mundane.dm @@ -29,7 +29,7 @@ "New bowling lane that shoots mini-meteors at bowlers very popular.",\ "[pick("Unathi","Spacer")] gets tattoo of "+using_map.starsys_name+" on chest '[pick("[using_map.boss_short]","star","starship","asteroid")] tickles most'.",\ "Skrell marries computer; wedding attended by 100 modems.",\ - "Chef reports successfully using harmonica as cheese grater.",\ + JOB_CHEF + " reports successfully using harmonica as cheese grater.",\ "[using_map.company_name] invents handkerchief that says 'Bless you' after sneeze.",\ "Clone accused of posing for other clones's school photo.",\ "Clone accused of stealing other clones's employee of the month award.",\ diff --git a/code/modules/economy/cash.dm b/code/modules/economy/cash.dm index 7cf04f4ac5a..a536d08157c 100644 --- a/code/modules/economy/cash.dm +++ b/code/modules/economy/cash.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/spacecash +/obj/item/spacecash name = "0 Thaler" var/initial_name = "Thaler" desc = "It's worth 0 Thalers." @@ -19,11 +19,11 @@ drop_sound = 'sound/items/drop/paper.ogg' pickup_sound = 'sound/items/pickup/paper.ogg' -/obj/item/weapon/spacecash/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W, /obj/item/weapon/spacecash)) - if(istype(W, /obj/item/weapon/spacecash/ewallet)) return 0 +/obj/item/spacecash/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W, /obj/item/spacecash)) + if(istype(W, /obj/item/spacecash/ewallet)) return 0 - var/obj/item/weapon/spacecash/SC = W + var/obj/item/spacecash/SC = W SC.adjust_worth(src.worth) if(istype(user, /mob/living/carbon/human)) @@ -32,10 +32,10 @@ h_user.drop_from_inventory(src) h_user.drop_from_inventory(SC) h_user.put_in_hands(SC) - to_chat(user, "You combine the [initial_name]s to a bundle of [SC.worth] [initial_name]s.") + to_chat(user, span_notice("You combine the [initial_name]s to a bundle of [SC.worth] [initial_name]s.")) qdel(src) -/obj/item/weapon/spacecash/update_icon() +/obj/item/spacecash/update_icon() cut_overlays() name = "[worth] [initial_name]\s" if(worth in list(1000,500,200,100,50,20,10,5,1)) @@ -63,7 +63,7 @@ add_overlay(banknote) src.desc = "They are worth [worth] [initial_name]s." -/obj/item/weapon/spacecash/proc/adjust_worth(var/adjust_worth = 0, var/update = 1) +/obj/item/spacecash/proc/adjust_worth(var/adjust_worth = 0, var/update = 1) worth += adjust_worth if(worth > 0) if(update) @@ -73,13 +73,13 @@ qdel(src) return 0 -/obj/item/weapon/spacecash/proc/set_worth(var/new_worth = 0, var/update = 1) +/obj/item/spacecash/proc/set_worth(var/new_worth = 0, var/update = 1) worth = max(0, new_worth) if(update) update_icon() return worth -/obj/item/weapon/spacecash/attack_self() +/obj/item/spacecash/attack_self() var/amount = tgui_input_number(usr, "How many [initial_name]s do you want to take? (0 to [src.worth])", "Take Money", 20, src.worth) if(!src || QDELETED(src)) return @@ -89,73 +89,73 @@ return adjust_worth(-amount) - var/obj/item/weapon/spacecash/SC = new (usr.loc) + var/obj/item/spacecash/SC = new (usr.loc) SC.set_worth(amount) usr.put_in_hands(SC) -/obj/item/weapon/spacecash/c1 +/obj/item/spacecash/c1 name = "1 Thaler" icon_state = "spacecash1" desc = "It's worth 1 Thaler." worth = 1 -/obj/item/weapon/spacecash/c5 +/obj/item/spacecash/c5 name = "5 Thaler" icon_state = "spacecash5" desc = "It's worth 5 Thalers." worth = 5 -/obj/item/weapon/spacecash/c10 +/obj/item/spacecash/c10 name = "10 Thaler" icon_state = "spacecash10" desc = "It's worth 10 Thalers." worth = 10 -/obj/item/weapon/spacecash/c20 +/obj/item/spacecash/c20 name = "20 Thaler" icon_state = "spacecash20" desc = "It's worth 20 Thalers." worth = 20 -/obj/item/weapon/spacecash/c50 +/obj/item/spacecash/c50 name = "50 Thaler" icon_state = "spacecash50" desc = "It's worth 50 Thalers." worth = 50 -/obj/item/weapon/spacecash/c100 +/obj/item/spacecash/c100 name = "100 Thaler" icon_state = "spacecash100" desc = "It's worth 100 Thalers." worth = 100 -/obj/item/weapon/spacecash/c200 +/obj/item/spacecash/c200 name = "200 Thaler" icon_state = "spacecash200" desc = "It's worth 200 Thalers." worth = 200 -/obj/item/weapon/spacecash/c500 +/obj/item/spacecash/c500 name = "500 Thaler" icon_state = "spacecash500" desc = "It's worth 500 Thalers." worth = 500 -/obj/item/weapon/spacecash/c1000 +/obj/item/spacecash/c1000 name = "1000 Thaler" icon_state = "spacecash1000" desc = "It's worth 1000 Thalers." worth = 1000 /proc/spawn_money(var/sum, spawnloc, mob/living/carbon/human/human_user as mob) - var/obj/item/weapon/spacecash/SC = new (spawnloc) + var/obj/item/spacecash/SC = new (spawnloc) SC.set_worth(sum) if (ishuman(human_user) && !human_user.get_active_hand()) human_user.put_in_hands(SC) return -/obj/item/weapon/spacecash/ewallet +/obj/item/spacecash/ewallet name = "charge card" initial_name = "charge card" icon_state = "efundcard" @@ -164,11 +164,11 @@ pickup_sound = 'sound/items/pickup/card.ogg' var/owner_name = "" //So the ATM can set it so the EFTPOS can put a valid name on transactions. -/obj/item/weapon/spacecash/ewallet/attack_self() return //Don't act -/obj/item/weapon/spacecash/ewallet/attackby() return //like actual -/obj/item/weapon/spacecash/ewallet/update_icon() return //space cash +/obj/item/spacecash/ewallet/attack_self() return //Don't act +/obj/item/spacecash/ewallet/attackby() return //like actual +/obj/item/spacecash/ewallet/update_icon() return //space cash -/obj/item/weapon/spacecash/ewallet/examine(mob/user) +/obj/item/spacecash/ewallet/examine(mob/user) . = ..() if(Adjacent(user)) - . += "Charge card's owner: [src.owner_name]. Thalers remaining: [src.worth]." + . += span_notice("Charge card's owner: [src.owner_name]. Thalers remaining: [src.worth].") diff --git a/code/modules/economy/cash_register.dm b/code/modules/economy/cash_register.dm index f48404af0e1..17b1327ebf0 100644 --- a/code/modules/economy/cash_register.dm +++ b/code/modules/economy/cash_register.dm @@ -67,8 +67,8 @@ var/dat = "

    Cash Register

    " if (locked) dat += "Unlock
    " - dat += "Linked account: [linked_account ? linked_account.owner_name : "None"]
    " - dat += "[cash_locked? "Unlock" : "Lock"] Cash Box | " + dat += "Linked account: " + span_bold("[linked_account ? linked_account.owner_name : "None"]") + "
    " + dat += span_bold("[cash_locked? "Unlock" : "Lock"] Cash Box") + " | " else dat += "Lock
    " dat += "Linked account: [linked_account ? linked_account.owner_name : "None"]
    " @@ -103,7 +103,7 @@ if(allowed(usr)) locked = !locked else - to_chat(usr, "[icon2html(src, usr.client)]Insufficient access.") + to_chat(usr, "[icon2html(src, usr.client)]" + span_warning("Insufficient access.")) if("toggle_cash_lock") cash_locked = !cash_locked if("link_account") @@ -113,9 +113,9 @@ if(linked_account) if(linked_account.suspended) linked_account = null - src.visible_message("[icon2html(src,viewers(src))]Account has been suspended.") + src.visible_message("[icon2html(src,viewers(src))]" + span_warning("Account has been suspended.")) else - to_chat(usr, "[icon2html(src, usr.client)]Account not found.") + to_chat(usr, "[icon2html(src, usr.client)]" + span_warning("Account not found.")) if("custom_order") var/t_purpose = sanitize(tgui_input_text(usr, "Enter purpose", "New purpose")) if (!t_purpose || !Adjacent(usr)) return @@ -163,21 +163,21 @@ price_list.Cut() if("reset_log") transaction_logs.Cut() - to_chat(usr, "[icon2html(src, usr.client)]Transaction log reset.") + to_chat(usr, "[icon2html(src, usr.client)]" + span_notice("Transaction log reset.")) updateDialog() /obj/machinery/cash_register/attackby(obj/item/O as obj, user as mob) // Check for a method of paying (ID, PDA, e-wallet, cash, ect.) - var/obj/item/weapon/card/id/I = O.GetID() + var/obj/item/card/id/I = O.GetID() if(I) scan_card(I, O) - else if (istype(O, /obj/item/weapon/spacecash/ewallet)) - var/obj/item/weapon/spacecash/ewallet/E = O + else if (istype(O, /obj/item/spacecash/ewallet)) + var/obj/item/spacecash/ewallet/E = O scan_wallet(E) - else if (istype(O, /obj/item/weapon/spacecash)) - var/obj/item/weapon/spacecash/SC = O + else if (istype(O, /obj/item/spacecash)) + var/obj/item/spacecash/SC = O if(cash_open) to_chat(user, "You neatly sort the cash into the box.") cash_stored += SC.worth @@ -188,10 +188,10 @@ qdel(SC) else scan_cash(SC) - else if(istype(O, /obj/item/weapon/card/emag)) + else if(istype(O, /obj/item/card/emag)) return ..() - else if(O.has_tool_quality(TOOL_WRENCH)) - var/obj/item/weapon/tool/wrench/W = O + else if(istype(O) && O.has_tool_quality(TOOL_WRENCH)) + var/obj/item/tool/wrench/W = O toggle_anchors(W, user) // Not paying: Look up price and add it to transaction_amount else @@ -208,25 +208,25 @@ return 1 else confirm_item = I - src.visible_message("[icon2html(src,viewers(src))]Total price: [transaction_amount] Thaler\s. Swipe again to confirm.") + src.visible_message(span_infoplain("[icon2html(src,viewers(src))]" + span_bold("Total price:") + " [transaction_amount] Thaler\s. Swipe again to confirm.")) playsound(src, 'sound/machines/twobeep.ogg', 25) return 0 -/obj/machinery/cash_register/proc/scan_card(obj/item/weapon/card/id/I, obj/item/ID_container) +/obj/machinery/cash_register/proc/scan_card(obj/item/card/id/I, obj/item/ID_container) if (!transaction_amount) return if (cash_open) playsound(src, 'sound/machines/buzz-sigh.ogg', 25) - to_chat(usr, "[icon2html(src, usr.client)]The cash box is open.") + to_chat(usr, "[icon2html(src, usr.client)]" + span_warning("The cash box is open.")) return if((item_list.len > 1 || item_list[item_list[1]] > 1) && !confirm(I)) return if (!linked_account) - usr.visible_message("[icon2html(src,viewers(src))]Unable to connect to linked account.") + usr.visible_message("[icon2html(src,viewers(src))]" + span_warning("Unable to connect to linked account.")) return // Access account for transaction @@ -239,13 +239,13 @@ D = attempt_account_access(I.associated_account_number, attempt_pin, 2) if(!D) - src.visible_message("[icon2html(src,viewers(src))]Unable to access account. Check security settings and try again.") + src.visible_message("[icon2html(src,viewers(src))]" + span_warning("Unable to access account. Check security settings and try again.")) else if(D.suspended) - src.visible_message("[icon2html(src,viewers(src))]Your account has been suspended.") + src.visible_message("[icon2html(src,viewers(src))]" + span_warning("Your account has been suspended.")) else if(transaction_amount > D.money) - src.visible_message("[icon2html(src,viewers(src))]Not enough funds.") + src.visible_message("[icon2html(src,viewers(src))]" + span_warning("Not enough funds.")) else // Transfer the money D.money -= transaction_amount @@ -278,13 +278,13 @@ transaction_complete() -/obj/machinery/cash_register/proc/scan_wallet(obj/item/weapon/spacecash/ewallet/E) +/obj/machinery/cash_register/proc/scan_wallet(obj/item/spacecash/ewallet/E) if (!transaction_amount) return if (cash_open) playsound(src, 'sound/machines/buzz-sigh.ogg', 25) - to_chat(usr, "[icon2html(src, usr.client)]The cash box is open.") + to_chat(usr, "[icon2html(src, usr.client)]" + span_warning("The cash box is open.")) return if((item_list.len > 1 || item_list[item_list[1]] > 1) && !confirm(E)) @@ -293,7 +293,7 @@ // Access account for transaction if(check_account()) if(transaction_amount > E.worth) - src.visible_message("[icon2html(src,viewers(src))]Not enough funds.") + src.visible_message("[icon2html(src,viewers(src))]" + span_warning("Not enough funds.")) else // Transfer the money E.worth -= transaction_amount @@ -316,20 +316,20 @@ transaction_complete() -/obj/machinery/cash_register/proc/scan_cash(obj/item/weapon/spacecash/SC) +/obj/machinery/cash_register/proc/scan_cash(obj/item/spacecash/SC) if (!transaction_amount) return if (cash_open) playsound(src, 'sound/machines/buzz-sigh.ogg', 25) - to_chat(usr, "[icon2html(src, usr.client)]The cash box is open.") + to_chat(usr, "[icon2html(src, usr.client)]" + span_warning("The cash box is open.")) return if((item_list.len > 1 || item_list[item_list[1]] > 1) && !confirm(SC)) return if(transaction_amount > SC.worth) - src.visible_message("[icon2html(src,viewers(src))]Not enough money.") + src.visible_message("[icon2html(src,viewers(src))]" + span_warning("Not enough money.")) else // Insert cash into magical slot SC.worth -= transaction_amount @@ -351,17 +351,17 @@ /obj/machinery/cash_register/proc/scan_item_price(obj/O) if(!istype(O)) return if(item_list.len > 10) - src.visible_message("[icon2html(src,viewers(src))]Only up to ten different items allowed per purchase.") + src.visible_message("[icon2html(src,viewers(src))]" + span_warning("Only up to ten different items allowed per purchase.")) return if (cash_open) playsound(src, 'sound/machines/buzz-sigh.ogg', 25) - to_chat(usr, "[icon2html(src, usr.client)]The cash box is open.") + to_chat(usr, "[icon2html(src, usr.client)]" + span_warning("The cash box is open.")) return // First check if item has a valid price var/price = O.get_item_cost() if(isnull(price)) - src.visible_message("[icon2html(src,viewers(src))]Unable to find item in database.") + src.visible_message("[icon2html(src,viewers(src))]" + span_warning("Unable to find item in database.")) return // Call out item cost src.visible_message("[icon2html(src,viewers(src))]\A [O]: [price ? "[price] Thaler\s" : "free of charge"].") @@ -399,7 +399,7 @@ item_name = item_list[i] dat += "[item_list[item_name] ? "- Set + [item_list[item_name]] x " : ""][item_name] Remove[price_list[item_name] * item_list[item_name]] þ" dat += "" - dat += "" + dat += "" dat += "
    Clear EntryTotal Amount: [transaction_amount] þ
    Clear Entry" + span_bold("Total Amount: [transaction_amount] þ") + "
    " return dat @@ -424,7 +424,7 @@ for(var/i=1, i<=item_list.len, i++) item_name = item_list[i] dat += "[item_list[item_name] ? "[item_list[item_name]] x " : ""][item_name][price_list[item_name] * item_list[item_name]] þ" - dat += "Total Amount: [transaction_amount] þ" + dat += "" + span_bold("Total Amount: [transaction_amount] þ") + "" dat += "" transaction_logs += dat @@ -432,11 +432,11 @@ /obj/machinery/cash_register/proc/check_account() if (!linked_account) - usr.visible_message("[icon2html(src,viewers(src))]Unable to connect to linked account.") + usr.visible_message("[icon2html(src,viewers(src))]" + span_warning("Unable to connect to linked account.")) return 0 if(linked_account.suspended) - src.visible_message("[icon2html(src,viewers(src))]Connected account has been suspended.") + src.visible_message("[icon2html(src,viewers(src))]" + span_warning("Connected account has been suspended.")) return 0 return 1 @@ -444,7 +444,7 @@ /obj/machinery/cash_register/proc/transaction_complete() /// Visible confirmation playsound(src, 'sound/machines/chime.ogg', 25) - src.visible_message("[icon2html(src,viewers(src))]Transaction complete.") + src.visible_message("[icon2html(src,viewers(src))]" + span_notice("Transaction complete.")) flick("register_approve", src) reset_memory() updateDialog() @@ -478,28 +478,28 @@ if(cash_stored) add_overlay("register_cash") else - to_chat(usr, "The cash box is locked.") + to_chat(usr, span_warning("The cash box is locked.")) -/obj/machinery/cash_register/proc/toggle_anchors(obj/item/weapon/tool/wrench/W, mob/user) +/obj/machinery/cash_register/proc/toggle_anchors(obj/item/tool/wrench/W, mob/user) if(manipulating) return manipulating = 1 if(!anchored) user.visible_message("\The [user] begins securing \the [src] to the floor.", "You begin securing \the [src] to the floor.") else - user.visible_message("\The [user] begins unsecuring \the [src] from the floor.", + user.visible_message(span_warning("\The [user] begins unsecuring \the [src] from the floor."), "You begin unsecuring \the [src] from the floor.") playsound(src, W.usesound, 50, 1) if(!do_after(user, 20 * W.toolspeed)) manipulating = 0 return if(!anchored) - user.visible_message("\The [user] has secured \the [src] to the floor.", - "You have secured \the [src] to the floor.") + user.visible_message(span_notice("\The [user] has secured \the [src] to the floor."), + span_notice("You have secured \the [src] to the floor.")) else - user.visible_message("\The [user] has unsecured \the [src] from the floor.", - "You have unsecured \the [src] from the floor.") + user.visible_message(span_warning("\The [user] has unsecured \the [src] from the floor."), + span_notice("You have unsecured \the [src] from the floor.")) anchored = !anchored manipulating = 0 return @@ -508,7 +508,7 @@ /obj/machinery/cash_register/emag_act(var/remaining_charges, var/mob/user) if(!emagged) - src.visible_message("The [src]'s cash box springs open as [user] swipes the card through the scanner!") + src.visible_message(span_danger("The [src]'s cash box springs open as [user] swipes the card through the scanner!")) playsound(src, "sparks", 50, 1) req_access = list() emagged = 1 diff --git a/code/modules/economy/casinocash.dm b/code/modules/economy/casinocash.dm index e5749504a97..3ae7383eb6a 100644 --- a/code/modules/economy/casinocash.dm +++ b/code/modules/economy/casinocash.dm @@ -10,7 +10,7 @@ anchored = 1 /obj/machinery/chipmachine/attackby(obj/item/I as obj, mob/user as mob) - if(istype(I,/obj/item/weapon/spacecash) && (I:worth >= 5)) + if(istype(I,/obj/item/spacecash) && (I:worth >= 5)) //consume the money if(prob(50)) playsound(loc, 'sound/items/polaroid1.ogg', 50, 1) @@ -22,7 +22,7 @@ src.attack_hand(user) qdel(I) - if(istype(I,/obj/item/weapon/spacecasinocash)) + if(istype(I,/obj/item/spacecasinocash)) //consume the chips if(prob(50)) playsound(loc, 'sound/items/polaroid1.ogg', 50, 1) @@ -34,7 +34,7 @@ src.attack_hand(user) qdel(I) -/obj/item/weapon/spacecasinocash +/obj/item/spacecasinocash name = "broken casino chip" desc = "It's worth nothing in a casino." gender = PLURAL @@ -52,10 +52,10 @@ access = access_crate_cash var/worth = 0 -/obj/item/weapon/spacecasinocash/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W, /obj/item/weapon/spacecasinocash)) +/obj/item/spacecasinocash/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W, /obj/item/spacecasinocash)) - var/obj/item/weapon/spacecasinocash/SC = W + var/obj/item/spacecasinocash/SC = W SC.adjust_worth(src.worth) if(istype(user, /mob/living/carbon/human)) @@ -67,7 +67,7 @@ to_chat(user, span_notice("You combine the casino chips to a stack of [SC.worth] casino credits.")) qdel(src) -/obj/item/weapon/spacecasinocash/update_icon() +/obj/item/spacecasinocash/update_icon() overlays.Cut() name = "[worth] casino credit\s" if(worth in list(1000,500,200,100,50,20,10,1)) @@ -95,7 +95,7 @@ src.overlays += banknote src.desc = "They are worth [worth] casino credits." -/obj/item/weapon/spacecasinocash/proc/adjust_worth(var/adjust_worth = 0, var/update = 1) +/obj/item/spacecasinocash/proc/adjust_worth(var/adjust_worth = 0, var/update = 1) worth += adjust_worth if(worth > 0) if(update) @@ -105,13 +105,13 @@ qdel(src) return 0 -/obj/item/weapon/spacecasinocash/proc/set_worth(var/new_worth = 0, var/update = 1) +/obj/item/spacecasinocash/proc/set_worth(var/new_worth = 0, var/update = 1) worth = max(0, new_worth) if(update) update_icon() return worth -/obj/item/weapon/spacecasinocash/attack_self() +/obj/item/spacecasinocash/attack_self() var/amount = tgui_input_number(usr, "How much credits worth of chips do you want to take? (0 to [src.worth])", "Take chips", 20, src.worth) if(!src || QDELETED(src)) return @@ -121,67 +121,67 @@ return adjust_worth(-amount) - var/obj/item/weapon/spacecasinocash/SC = new (usr.loc) + var/obj/item/spacecasinocash/SC = new (usr.loc) SC.set_worth(amount) usr.put_in_hands(SC) -/obj/item/weapon/spacecasinocash/c1 +/obj/item/spacecasinocash/c1 name = "1 credit casino chip" icon_state = "spacecasinocash1" desc = "It's worth 1 credit." worth = 1 -/obj/item/weapon/spacecasinocash/c10 +/obj/item/spacecasinocash/c10 name = "10 credit casino chip" icon_state = "spacecasinocash10" desc = "It's worth 10 credits." worth = 10 -/obj/item/weapon/spacecasinocash/c20 +/obj/item/spacecasinocash/c20 name = "20 credit casino chip" icon_state = "spacecasinocash20" desc = "It's worth 20 credits." worth = 20 -/obj/item/weapon/spacecasinocash/c50 +/obj/item/spacecasinocash/c50 name = "50 credit casino chip" icon_state = "spacecasinocash50" desc = "It's worth 50 credits." worth = 50 -/obj/item/weapon/spacecasinocash/c100 +/obj/item/spacecasinocash/c100 name = "100 credit casino chip" icon_state = "spacecasinocash100" desc = "It's worth 100 credits." worth = 100 -/obj/item/weapon/spacecasinocash/c200 +/obj/item/spacecasinocash/c200 name = "200 credit casino chip" icon_state = "spacecasinocash200" desc = "It's worth 200 credits." worth = 200 -/obj/item/weapon/spacecasinocash/c500 +/obj/item/spacecasinocash/c500 name = "500 credit casino chip" icon_state = "spacecasinocash500" desc = "It's worth 500 credits." worth = 500 -/obj/item/weapon/spacecasinocash/c1000 +/obj/item/spacecasinocash/c1000 name = "1000 credit casino chip" icon_state = "spacecasinocash1000" desc = "It's worth 1000 credits." worth = 1000 /proc/spawn_casinochips(var/sum, spawnloc, mob/living/carbon/human/human_user as mob) - var/obj/item/weapon/spacecasinocash/SC = new (spawnloc) + var/obj/item/spacecasinocash/SC = new (spawnloc) SC.set_worth(sum, TRUE) if (ishuman(human_user) && !human_user.get_active_hand()) human_user.put_in_hands(SC) return -/obj/item/weapon/casino_platinum_chip +/obj/item/casino_platinum_chip name = "platinum chip" desc = "Ringa-a-Ding-Ding!" icon = 'icons/obj/casino.dmi' @@ -196,12 +196,12 @@ throw_range = 2 w_class = ITEMSIZE_SMALL -/obj/item/weapon/casino_platinum_chip/attack_self(mob/user as mob) +/obj/item/casino_platinum_chip/attack_self(mob/user as mob) var/result = rand(1, sides) var/comment = "" if(result == 1) comment = "Ace" else if(result == 2) comment = "Joker" - user.visible_message("[user] has thrown \the [src]. It lands on [comment]! ", \ - "You throw \the [src]. It lands on [comment]! ") + user.visible_message(span_notice("[user] has thrown \the [src]. It lands on [comment]! "), \ + span_notice("You throw \the [src]. It lands on [comment]! ")) diff --git a/code/modules/economy/coins.dm b/code/modules/economy/coins.dm index 87056deecda..1d29b160611 100644 --- a/code/modules/economy/coins.dm +++ b/code/modules/economy/coins.dm @@ -1,6 +1,6 @@ /*****************************Coin********************************/ -/obj/item/weapon/coin +/obj/item/coin icon = 'icons/obj/items.dmi' name = "Coin" desc = "A simple coin you can flip." @@ -15,71 +15,71 @@ drop_sound = 'sound/items/drop/ring.ogg' pickup_sound = 'sound/items/pickup/ring.ogg' -/obj/item/weapon/coin/New() +/obj/item/coin/New() randpixel_xy() -/obj/item/weapon/coin/gold +/obj/item/coin/gold name = "gold coin" icon_state = "coin_gold" matter = list(MAT_GOLD = 250) -/obj/item/weapon/coin/silver +/obj/item/coin/silver name = "silver coin" icon_state = "coin_silver" matter = list(MAT_SILVER = 250) -/obj/item/weapon/coin/diamond +/obj/item/coin/diamond name = "diamond coin" icon_state = "coin_diamond" matter = list(MAT_DIAMOND = 250) -/obj/item/weapon/coin/iron +/obj/item/coin/iron name = "iron coin" icon_state = "coin_iron" matter = list(MAT_IRON = 250) -/obj/item/weapon/coin/phoron +/obj/item/coin/phoron name = "solid phoron coin" icon_state = "coin_phoron" matter = list(MAT_PHORON = 250) -/obj/item/weapon/coin/uranium +/obj/item/coin/uranium name = "uranium coin" icon_state = "coin_uranium" matter = list(MAT_URANIUM = 250) -/obj/item/weapon/coin/platinum +/obj/item/coin/platinum name = "platinum coin" icon_state = "coin_adamantine" matter = list(MAT_GOLD = 250) -/obj/item/weapon/coin/morphium +/obj/item/coin/morphium name = "morphium coin" icon_state = "coin_morphium" matter = list(MAT_MORPHIUM = 250) -/obj/item/weapon/coin/aluminium +/obj/item/coin/aluminium name = "aluminium coin" icon_state = "coin_aluminium" matter = list(MAT_ALUMINIUM = 250) -/obj/item/weapon/coin/verdantium +/obj/item/coin/verdantium name = "verdantium coin" icon_state = "coin_verdantium" matter = list(MAT_VERDANTIUM = 250) -/obj/item/weapon/coin/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/item/coin/attackby(obj/item/W as obj, mob/user as mob) if(istype(W,/obj/item/stack/cable_coil)) var/obj/item/stack/cable_coil/CC = W if(string_attached) - to_chat(user, "There already is a string attached to this coin.") + to_chat(user, span_notice("There already is a string attached to this coin.")) return if (CC.use(1)) add_overlay("coin_string_overlay") string_attached = 1 - to_chat(user, "You attach a string to the coin.") + to_chat(user, span_notice("You attach a string to the coin.")) else - to_chat(user, "This cable coil appears to be empty.") + to_chat(user, span_notice("This cable coil appears to be empty.")) return else if(W.has_tool_quality(TOOL_WIRECUTTER)) if(!string_attached) @@ -90,15 +90,15 @@ CC.update_icon() cut_overlays() string_attached = null - to_chat(user, "You detach the string from the coin.") + to_chat(user, span_notice("You detach the string from the coin.")) else ..() -/obj/item/weapon/coin/attack_self(mob/user as mob) +/obj/item/coin/attack_self(mob/user as mob) var/result = rand(1, sides) var/comment = "" if(result == 1) comment = "tails" else if(result == 2) comment = "heads" - user.visible_message("[user] has thrown \the [src]. It lands on [comment]! ", \ - "You throw \the [src]. It lands on [comment]! ") + user.visible_message(span_notice("[user] has thrown \the [src]. It lands on [comment]!"), \ + span_notice("You throw \the [src]. It lands on [comment]!")) diff --git a/code/modules/economy/coins_vr.dm b/code/modules/economy/coins_vr.dm index 6d1ac8351ef..aef2ce4b313 100644 --- a/code/modules/economy/coins_vr.dm +++ b/code/modules/economy/coins_vr.dm @@ -1,6 +1,6 @@ //Weird coins that I would prefer didn't work with normal vending machines. Might use them to make weird vending machines later. -/obj/item/weapon/aliencoin +/obj/item/aliencoin icon = 'icons/obj/aliencoins.dmi' name = "curious coin" desc = "A curious triangular coin made primarily of some kind of dark, smooth metal. " @@ -15,43 +15,43 @@ drop_sound = 'sound/items/drop/ring.ogg' pickup_sound = 'sound/items/pickup/ring.ogg' -/obj/item/weapon/aliencoin/New() +/obj/item/aliencoin/New() randpixel_xy() -/obj/item/weapon/aliencoin/basic +/obj/item/aliencoin/basic -/obj/item/weapon/aliencoin/gold +/obj/item/aliencoin/gold name = "curious coin" icon_state = "triangle-g" desc = "A curious triangular coin made primarily of some kind of dark, smooth metal. This one's markings appear to reveal a golden material underneath." value = 10 -/obj/item/weapon/aliencoin/silver +/obj/item/aliencoin/silver name = "curious coin" icon_state = "triangle-s" desc = "A curious triangular coin made primarily of some kind of dark, smooth metal. This one's markings appear to reveal a silver material underneath." value = 5 -/obj/item/weapon/aliencoin/phoron +/obj/item/aliencoin/phoron name = "curious coin" icon_state = "triangle-p" desc = "A curious triangular coin made primarily of some kind of dark, smooth metal. This one's markings appear to reveal a purple material underneath." value = 20 -/obj/item/weapon/aliencoin/attack_self(mob/user as mob) +/obj/item/aliencoin/attack_self(mob/user as mob) var/result = rand(1, sides) var/comment = "" if(result == 1) comment = "tails" else if(result == 2) comment = "heads" - user.visible_message("[user] has thrown [src]. It lands on [comment]! ", runemessage = "[src] landed on [comment]") + user.visible_message(span_notice("[user] has thrown [src]. It lands on [comment]! "), runemessage = "[src] landed on [comment]") if(rand(1,20) == 1) - user.visible_message("[user] fumbled the [src]!", runemessage = "fumbles [src]") + user.visible_message(span_notice("[user] fumbled the [src]!"), runemessage = "fumbles [src]") user.remove_from_mob(src) -/obj/item/weapon/aliencoin/examine(var/mob/user) +/obj/item/aliencoin/examine(var/mob/user) . = ..() if(Adjacent(user)) - . += "It has some writing along its edge that seems to be some language that you are not familiar with. The face of the coin is very smooth, with what appears to be some kind of angular logo along the left side, and a couple of lines of the alien text along the opposite side. The reverse side is similarly smooth, the top of it features what appears to be some kind of vortex, surrounded by six stars, three on either side, with further swirls and intricate patterns along the bottom sections of this face. Looking closely, you can see that there is more text hidden among the swirls." + . += span_notice("It has some writing along its edge that seems to be some language that you are not familiar with. The face of the coin is very smooth, with what appears to be some kind of angular logo along the left side, and a couple of lines of the alien text along the opposite side. The reverse side is similarly smooth, the top of it features what appears to be some kind of vortex, surrounded by six stars, three on either side, with further swirls and intricate patterns along the bottom sections of this face. Looking closely, you can see that there is more text hidden among the swirls.") diff --git a/code/modules/economy/economy_misc.dm b/code/modules/economy/economy_misc.dm index 1aa32484f5d..3d7cea259d4 100644 --- a/code/modules/economy/economy_misc.dm +++ b/code/modules/economy/economy_misc.dm @@ -46,7 +46,7 @@ var/global/economy_init = 0 create_department_account("Vendor") vendor_account = department_accounts["Vendor"] - for(var/obj/item/device/retail_scanner/RS in transaction_devices) + for(var/obj/item/retail_scanner/RS in transaction_devices) if(RS.account_to_connect) RS.linked_account = department_accounts[RS.account_to_connect] for(var/obj/machinery/cash_register/CR in transaction_devices) diff --git a/code/modules/economy/mint.dm b/code/modules/economy/mint.dm index 07bc1d22a75..179228a0500 100644 --- a/code/modules/economy/mint.dm +++ b/code/modules/economy/mint.dm @@ -18,32 +18,32 @@ M.amount-- if(M.default_type == "silver") while(coinsToProduce-- > 0) - new /obj/item/weapon/coin/silver(user.loc) + new /obj/item/coin/silver(user.loc) else if(M.default_type == "gold") while(coinsToProduce-- > 0) - new /obj/item/weapon/coin/gold(user.loc) + new /obj/item/coin/gold(user.loc) else if(M.default_type == "diamond") while(coinsToProduce-- > 0) - new /obj/item/weapon/coin/diamond(user.loc) + new /obj/item/coin/diamond(user.loc) else if(M.default_type == "iron") while(coinsToProduce-- > 0) - new /obj/item/weapon/coin/iron(user.loc) + new /obj/item/coin/iron(user.loc) else if(M.default_type == "phoron") while(coinsToProduce-- > 0) - new /obj/item/weapon/coin/phoron(user.loc) + new /obj/item/coin/phoron(user.loc) else if(M.default_type == "uranium") while(coinsToProduce-- > 0) - new /obj/item/weapon/coin/uranium(user.loc) - src.visible_message("\The [src] rattles and dispenses several [M.default_type] coins!") + new /obj/item/coin/uranium(user.loc) + src.visible_message(span_notice("\The [src] rattles and dispenses several [M.default_type] coins!")) coinsToProduce = initial(coinsToProduce) if(M.amount == 0) icon_state = "coinpress0" qdel(M) //clean it up just to be sure - src.visible_message("\The [src] has run out of usable materials.") + src.visible_message(span_notice("\The [src] has run out of usable materials.")) break else - to_chat(usr,"\The [src] is hand-operated and requires your full attention!") + to_chat(usr,span_warning("\The [src] is hand-operated and requires your full attention!")) icon_state = "coinpress0" break else - src.visible_message("\The [src] doesn't look like it'll accept that material.") \ No newline at end of file + src.visible_message(span_notice("\The [src] doesn't look like it'll accept that material.")) diff --git a/code/modules/economy/money_bag.dm b/code/modules/economy/money_bag.dm index d9afc36357e..65bfe9cd6fb 100644 --- a/code/modules/economy/money_bag.dm +++ b/code/modules/economy/money_bag.dm @@ -1,6 +1,6 @@ /*****************************Money bag********************************/ -/obj/item/weapon/moneybag +/obj/item/moneybag icon = 'icons/obj/storage.dmi' name = "Money bag" icon_state = "moneybag" @@ -8,7 +8,7 @@ throwforce = 2.0 w_class = ITEMSIZE_LARGE -/obj/item/weapon/moneybag/attack_hand(user as mob) +/obj/item/moneybag/attack_hand(user as mob) var/amt_gold = 0 var/amt_silver = 0 var/amt_diamond = 0 @@ -16,21 +16,21 @@ var/amt_phoron = 0 var/amt_uranium = 0 - for (var/obj/item/weapon/coin/C in contents) - if (istype(C,/obj/item/weapon/coin/diamond)) + for (var/obj/item/coin/C in contents) + if (istype(C,/obj/item/coin/diamond)) amt_diamond++; - if (istype(C,/obj/item/weapon/coin/phoron)) + if (istype(C,/obj/item/coin/phoron)) amt_phoron++; - if (istype(C,/obj/item/weapon/coin/iron)) + if (istype(C,/obj/item/coin/iron)) amt_iron++; - if (istype(C,/obj/item/weapon/coin/silver)) + if (istype(C,/obj/item/coin/silver)) amt_silver++; - if (istype(C,/obj/item/weapon/coin/gold)) + if (istype(C,/obj/item/coin/gold)) amt_gold++; - if (istype(C,/obj/item/weapon/coin/uranium)) + if (istype(C,/obj/item/coin/uranium)) amt_uranium++; - var/dat = text("The contents of the moneybag reveal...
    ") + var/dat = span_bold("The contents of the moneybag reveal...") + "
    " if (amt_gold) dat += text("Gold coins: [amt_gold] Remove one
    ") if (amt_silver) @@ -45,40 +45,40 @@ dat += text("Uranium coins: [amt_uranium] Remove one
    ") user << browse("[dat]", "window=moneybag") -/obj/item/weapon/moneybag/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/item/moneybag/attackby(obj/item/W as obj, mob/user as mob) ..() - if (istype(W, /obj/item/weapon/coin)) - var/obj/item/weapon/coin/C = W + if (istype(W, /obj/item/coin)) + var/obj/item/coin/C = W to_chat(user, span_blue("You add the [C.name] into the bag.")) usr.drop_item() contents += C - if (istype(W, /obj/item/weapon/moneybag)) - var/obj/item/weapon/moneybag/C = W + if (istype(W, /obj/item/moneybag)) + var/obj/item/moneybag/C = W for (var/obj/O in C.contents) contents += O; to_chat(user, span_blue("You empty the [C.name] into the bag.")) return -/obj/item/weapon/moneybag/Topic(href, href_list) +/obj/item/moneybag/Topic(href, href_list) if(..()) return 1 usr.set_machine(src) src.add_fingerprint(usr) if(href_list["remove"]) - var/obj/item/weapon/coin/COIN + var/obj/item/coin/COIN switch(href_list["remove"]) if("gold") - COIN = locate(/obj/item/weapon/coin/gold,src.contents) + COIN = locate(/obj/item/coin/gold,src.contents) if("silver") - COIN = locate(/obj/item/weapon/coin/silver,src.contents) + COIN = locate(/obj/item/coin/silver,src.contents) if("iron") - COIN = locate(/obj/item/weapon/coin/iron,src.contents) + COIN = locate(/obj/item/coin/iron,src.contents) if("diamond") - COIN = locate(/obj/item/weapon/coin/diamond,src.contents) + COIN = locate(/obj/item/coin/diamond,src.contents) if("phoron") - COIN = locate(/obj/item/weapon/coin/phoron,src.contents) + COIN = locate(/obj/item/coin/phoron,src.contents) if("uranium") - COIN = locate(/obj/item/weapon/coin/uranium,src.contents) + COIN = locate(/obj/item/coin/uranium,src.contents) if(!COIN) return COIN.loc = src.loc @@ -86,13 +86,13 @@ -/obj/item/weapon/moneybag/vault +/obj/item/moneybag/vault -/obj/item/weapon/moneybag/vault/New() +/obj/item/moneybag/vault/New() ..() - new /obj/item/weapon/coin/silver(src) - new /obj/item/weapon/coin/silver(src) - new /obj/item/weapon/coin/silver(src) - new /obj/item/weapon/coin/silver(src) - new /obj/item/weapon/coin/gold(src) - new /obj/item/weapon/coin/gold(src) + new /obj/item/coin/silver(src) + new /obj/item/coin/silver(src) + new /obj/item/coin/silver(src) + new /obj/item/coin/silver(src) + new /obj/item/coin/gold(src) + new /obj/item/coin/gold(src) diff --git a/code/modules/economy/price_list.dm b/code/modules/economy/price_list.dm index 3a92f3d46be..77933f8bcde 100644 --- a/code/modules/economy/price_list.dm +++ b/code/modules/economy/price_list.dm @@ -78,13 +78,13 @@ /datum/reagent/drink/hot_coco price_tag = 3 -/obj/item/weapon/reagent_containers/food/drinks/coffee +/obj/item/reagent_containers/food/drinks/coffee price_tag = 3 -/obj/item/weapon/reagent_containers/food/drinks/tea +/obj/item/reagent_containers/food/drinks/tea price_tag = 3 -/obj/item/weapon/reagent_containers/food/drinks/h_chocolate +/obj/item/reagent_containers/food/drinks/h_chocolate price_tag = 3 @@ -378,31 +378,31 @@ // From the machine // -/obj/item/weapon/reagent_containers/food/drinks/cans/cola +/obj/item/reagent_containers/food/drinks/cans/cola price_tag = 1 -/obj/item/weapon/reagent_containers/food/drinks/cans/space_mountain_wind +/obj/item/reagent_containers/food/drinks/cans/space_mountain_wind price_tag = 1 -/obj/item/weapon/reagent_containers/food/drinks/cans/dr_gibb +/obj/item/reagent_containers/food/drinks/cans/dr_gibb price_tag = 1 -/obj/item/weapon/reagent_containers/food/drinks/cans/starkist +/obj/item/reagent_containers/food/drinks/cans/starkist price_tag = 1 -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle +/obj/item/reagent_containers/food/drinks/cans/waterbottle price_tag = 2 -/obj/item/weapon/reagent_containers/food/drinks/cans/space_up +/obj/item/reagent_containers/food/drinks/cans/space_up price_tag = 1 -/obj/item/weapon/reagent_containers/food/drinks/cans/iced_tea +/obj/item/reagent_containers/food/drinks/cans/iced_tea price_tag = 1 -/obj/item/weapon/reagent_containers/food/drinks/cans/grape_juice +/obj/item/reagent_containers/food/drinks/cans/grape_juice price_tag = 1 -/obj/item/weapon/reagent_containers/food/drinks/cans/gingerale +/obj/item/reagent_containers/food/drinks/cans/gingerale price_tag = 1 //***************// @@ -411,103 +411,103 @@ // Juices, soda and similar // -/obj/item/weapon/reagent_containers/food/drinks/bottle/cola +/obj/item/reagent_containers/food/drinks/bottle/cola price_tag = 6 -/obj/item/weapon/reagent_containers/food/drinks/bottle/space_up +/obj/item/reagent_containers/food/drinks/bottle/space_up price_tag = 6 -/obj/item/weapon/reagent_containers/food/drinks/bottle/space_mountain_wind +/obj/item/reagent_containers/food/drinks/bottle/space_mountain_wind price_tag = 6 -/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice +/obj/item/reagent_containers/food/drinks/bottle/orangejuice price_tag = 6 -/obj/item/weapon/reagent_containers/food/drinks/bottle/applejuice +/obj/item/reagent_containers/food/drinks/bottle/applejuice price_tag = 6 -/obj/item/weapon/reagent_containers/food/drinks/bottle/cream +/obj/item/reagent_containers/food/drinks/bottle/cream price_tag = 6 -/obj/item/weapon/reagent_containers/food/drinks/bottle/tomatojuice +/obj/item/reagent_containers/food/drinks/bottle/tomatojuice price_tag = 6 -/obj/item/weapon/reagent_containers/food/drinks/bottle/limejuice +/obj/item/reagent_containers/food/drinks/bottle/limejuice price_tag = 6 // Beer // -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer +/obj/item/reagent_containers/food/drinks/bottle/small/beer price_tag = 3 -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/ale +/obj/item/reagent_containers/food/drinks/bottle/small/ale price_tag = 3 // Spirituous Liquors // -/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe +/obj/item/reagent_containers/food/drinks/bottle/absinthe price_tag = 15 -/obj/item/weapon/reagent_containers/food/drinks/bottle/bluecuracao +/obj/item/reagent_containers/food/drinks/bottle/bluecuracao price_tag = 15 -/obj/item/weapon/reagent_containers/food/drinks/bottle/gin +/obj/item/reagent_containers/food/drinks/bottle/gin price_tag = 15 -/obj/item/weapon/reagent_containers/food/drinks/bottle/kahlua +/obj/item/reagent_containers/food/drinks/bottle/kahlua price_tag = 15 -/obj/item/weapon/reagent_containers/food/drinks/bottle/melonliquor +/obj/item/reagent_containers/food/drinks/bottle/melonliquor price_tag = 15 -/obj/item/weapon/reagent_containers/food/drinks/bottle/rum +/obj/item/reagent_containers/food/drinks/bottle/rum price_tag = 15 -/obj/item/weapon/reagent_containers/food/drinks/bottle/tequilla +/obj/item/reagent_containers/food/drinks/bottle/tequilla price_tag = 15 -/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka +/obj/item/reagent_containers/food/drinks/bottle/vodka price_tag = 15 -/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey +/obj/item/reagent_containers/food/drinks/bottle/whiskey price_tag = 15 -/obj/item/weapon/reagent_containers/food/drinks/bottle/specialwhiskey +/obj/item/reagent_containers/food/drinks/bottle/specialwhiskey price_tag = 15 -/obj/item/weapon/reagent_containers/food/drinks/bottle/patron +/obj/item/reagent_containers/food/drinks/bottle/patron price_tag = 15 -/obj/item/weapon/reagent_containers/food/drinks/bottle/goldschlager +/obj/item/reagent_containers/food/drinks/bottle/goldschlager price_tag = 15 -/obj/item/weapon/reagent_containers/food/drinks/bottle/bottleofnothing +/obj/item/reagent_containers/food/drinks/bottle/bottleofnothing price_tag = 15 -/obj/item/weapon/reagent_containers/food/drinks/bottle/grenadine +/obj/item/reagent_containers/food/drinks/bottle/grenadine price_tag = 15 // Wines // -/obj/item/weapon/reagent_containers/food/drinks/bottle/wine +/obj/item/reagent_containers/food/drinks/bottle/wine price_tag = 25 -/obj/item/weapon/reagent_containers/food/drinks/bottle/cognac +/obj/item/reagent_containers/food/drinks/bottle/cognac price_tag = 25 -/obj/item/weapon/reagent_containers/food/drinks/bottle/vermouth +/obj/item/reagent_containers/food/drinks/bottle/vermouth price_tag = 25 -/obj/item/weapon/reagent_containers/food/drinks/bottle/pwine +/obj/item/reagent_containers/food/drinks/bottle/pwine price_tag = 25 -/obj/item/weapon/reagent_containers/food/drinks/bottle/sake +/obj/item/reagent_containers/food/drinks/bottle/sake price_tag = 25 -/obj/item/weapon/reagent_containers/food/drinks/bottle/jager +/obj/item/reagent_containers/food/drinks/bottle/jager price_tag = 25 //***************// @@ -516,471 +516,471 @@ // Snacks // -/obj/item/weapon/reagent_containers/food/snacks/candy +/obj/item/reagent_containers/food/snacks/candy price_tag = 1 -/obj/item/weapon/reagent_containers/food/snacks/sosjerky +/obj/item/reagent_containers/food/snacks/sosjerky price_tag = 2 -/obj/item/weapon/reagent_containers/food/snacks/unajerky +/obj/item/reagent_containers/food/snacks/unajerky price_tag = 12 -/obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers +/obj/item/reagent_containers/food/snacks/cheesiehonkers price_tag = 1 -/obj/item/weapon/reagent_containers/food/snacks/tastybread +/obj/item/reagent_containers/food/snacks/tastybread price_tag = 2 -/obj/item/weapon/reagent_containers/food/snacks/no_raisin +/obj/item/reagent_containers/food/snacks/no_raisin price_tag = 1 -/obj/item/weapon/reagent_containers/food/snacks/packaged/spacetwinkie +/obj/item/reagent_containers/food/snacks/packaged/spacetwinkie price_tag = 1 -/obj/item/weapon/reagent_containers/food/snacks/skrellsnacks +/obj/item/reagent_containers/food/snacks/skrellsnacks price_tag = 4 -/obj/item/weapon/reagent_containers/food/snacks/chips +/obj/item/reagent_containers/food/snacks/chips price_tag = 1 -/obj/item/weapon/reagent_containers/food/drinks/dry_ramen +/obj/item/reagent_containers/food/drinks/dry_ramen price_tag = 5 // Burger // -/obj/item/weapon/reagent_containers/food/snacks/brainburger +/obj/item/reagent_containers/food/snacks/brainburger price_tag = 2 -/obj/item/weapon/reagent_containers/food/snacks/ghostburger +/obj/item/reagent_containers/food/snacks/ghostburger price_tag = 2 -/obj/item/weapon/reagent_containers/food/snacks/human/burger +/obj/item/reagent_containers/food/snacks/human/burger price_tag = 2 -/obj/item/weapon/reagent_containers/food/snacks/cheeseburger +/obj/item/reagent_containers/food/snacks/cheeseburger price_tag = 2 -/obj/item/weapon/reagent_containers/food/snacks/monkeyburger +/obj/item/reagent_containers/food/snacks/monkeyburger price_tag = 2 -/obj/item/weapon/reagent_containers/food/snacks/fishburger +/obj/item/reagent_containers/food/snacks/fishburger price_tag = 2 -/obj/item/weapon/reagent_containers/food/snacks/tofuburger +/obj/item/reagent_containers/food/snacks/tofuburger price_tag = 2 -/obj/item/weapon/reagent_containers/food/snacks/roburger +/obj/item/reagent_containers/food/snacks/roburger price_tag = 2 -/obj/item/weapon/reagent_containers/food/snacks/roburgerbig +/obj/item/reagent_containers/food/snacks/roburgerbig price_tag = 2 -/obj/item/weapon/reagent_containers/food/snacks/xenoburger +/obj/item/reagent_containers/food/snacks/xenoburger price_tag = 2 -/obj/item/weapon/reagent_containers/food/snacks/clownburger +/obj/item/reagent_containers/food/snacks/clownburger price_tag = 2 -/obj/item/weapon/reagent_containers/food/snacks/mimeburger +/obj/item/reagent_containers/food/snacks/mimeburger price_tag = 2 -/obj/item/weapon/reagent_containers/food/snacks/spellburger +/obj/item/reagent_containers/food/snacks/spellburger price_tag = 2 -/obj/item/weapon/reagent_containers/food/snacks/jellyburger +/obj/item/reagent_containers/food/snacks/jellyburger price_tag = 2 -/obj/item/weapon/reagent_containers/food/snacks/bigbiteburger +/obj/item/reagent_containers/food/snacks/bigbiteburger price_tag = 4 -/obj/item/weapon/reagent_containers/food/snacks/superbiteburger +/obj/item/reagent_containers/food/snacks/superbiteburger price_tag = 8 // Sandwiches // -/obj/item/weapon/reagent_containers/food/snacks/sandwich +/obj/item/reagent_containers/food/snacks/sandwich price_tag = 3 -/obj/item/weapon/reagent_containers/food/snacks/toastedsandwich +/obj/item/reagent_containers/food/snacks/toastedsandwich price_tag = 3 -/obj/item/weapon/reagent_containers/food/snacks/grilledcheese +/obj/item/reagent_containers/food/snacks/grilledcheese price_tag = 3 -/obj/item/weapon/reagent_containers/food/snacks/jellysandwich +/obj/item/reagent_containers/food/snacks/jellysandwich price_tag = 3 // Cookies and Candies // -/obj/item/weapon/reagent_containers/food/snacks/cookie +/obj/item/reagent_containers/food/snacks/cookie price_tag = 1 -/obj/item/weapon/reagent_containers/food/snacks/chocolatebar +/obj/item/reagent_containers/food/snacks/chocolatebar price_tag = 1 -/obj/item/weapon/reagent_containers/food/snacks/chocolateegg +/obj/item/reagent_containers/food/snacks/chocolateegg price_tag = 1 -/obj/item/weapon/reagent_containers/food/snacks/candy_corn +/obj/item/reagent_containers/food/snacks/candy_corn price_tag = 1 -/obj/item/weapon/reagent_containers/food/snacks/donut +/obj/item/reagent_containers/food/snacks/donut price_tag = 1 -/obj/item/weapon/reagent_containers/food/snacks/donut/chaos +/obj/item/reagent_containers/food/snacks/donut/chaos price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/popcorn +/obj/item/reagent_containers/food/snacks/popcorn price_tag = 3 -/obj/item/weapon/reagent_containers/food/snacks/fortunecookie +/obj/item/reagent_containers/food/snacks/fortunecookie price_tag = 1 -/obj/item/weapon/reagent_containers/food/snacks/candiedapple +/obj/item/reagent_containers/food/snacks/candiedapple price_tag = 2 -/obj/item/weapon/reagent_containers/food/snacks/plumphelmetbiscuit +/obj/item/reagent_containers/food/snacks/plumphelmetbiscuit price_tag = 1 -/obj/item/weapon/reagent_containers/food/snacks/chawanmushi +/obj/item/reagent_containers/food/snacks/chawanmushi price_tag = 2 -/obj/item/weapon/reagent_containers/food/snacks/cracker +/obj/item/reagent_containers/food/snacks/cracker price_tag = 1 // Full meals // -/obj/item/weapon/reagent_containers/food/snacks/friedegg +/obj/item/reagent_containers/food/snacks/friedegg price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/tofurkey +/obj/item/reagent_containers/food/snacks/tofurkey price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/carpmeat +/obj/item/reagent_containers/food/snacks/carpmeat price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/fishfingers +/obj/item/reagent_containers/food/snacks/fishfingers price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/omelette +/obj/item/reagent_containers/food/snacks/omelette price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/berryclafoutis +/obj/item/reagent_containers/food/snacks/berryclafoutis price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/waffles +/obj/item/reagent_containers/food/snacks/waffles price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/eggplantparm +/obj/item/reagent_containers/food/snacks/eggplantparm price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/soylentgreen +/obj/item/reagent_containers/food/snacks/soylentgreen price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/soylenviridians +/obj/item/reagent_containers/food/snacks/soylenviridians price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/wingfangchu +/obj/item/reagent_containers/food/snacks/wingfangchu price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/monkeykabob +/obj/item/reagent_containers/food/snacks/monkeykabob price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/tofukabob +/obj/item/reagent_containers/food/snacks/tofukabob price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/cubancarp +/obj/item/reagent_containers/food/snacks/cubancarp price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/loadedbakedpotato +/obj/item/reagent_containers/food/snacks/loadedbakedpotato price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/fries +/obj/item/reagent_containers/food/snacks/fries price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/spagetti +/obj/item/reagent_containers/food/snacks/spagetti price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/cheesyfries +/obj/item/reagent_containers/food/snacks/cheesyfries price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/enchiladas +/obj/item/reagent_containers/food/snacks/enchiladas price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/taco +/obj/item/reagent_containers/food/snacks/taco price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/monkeysdelight +/obj/item/reagent_containers/food/snacks/monkeysdelight price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/fishandchips +/obj/item/reagent_containers/food/snacks/fishandchips price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/rofflewaffles +/obj/item/reagent_containers/food/snacks/rofflewaffles price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/stew +/obj/item/reagent_containers/food/snacks/stew price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/stewedsoymeat +/obj/item/reagent_containers/food/snacks/stewedsoymeat price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/boiledspagetti +/obj/item/reagent_containers/food/snacks/boiledspagetti price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/boiledrice +/obj/item/reagent_containers/food/snacks/boiledrice price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/ricepudding +/obj/item/reagent_containers/food/snacks/ricepudding price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/pastatomato +/obj/item/reagent_containers/food/snacks/pastatomato price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/meatballspagetti +/obj/item/reagent_containers/food/snacks/meatballspagetti price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/spesslaw +/obj/item/reagent_containers/food/snacks/spesslaw price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/carrotfries +/obj/item/reagent_containers/food/snacks/carrotfries price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/appletart +/obj/item/reagent_containers/food/snacks/appletart price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza +/obj/item/reagent_containers/food/snacks/sliceable/pizza price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/slice/margherita +/obj/item/reagent_containers/food/snacks/slice/margherita price_tag = 1 -/obj/item/weapon/reagent_containers/food/snacks/slice/meatpizza +/obj/item/reagent_containers/food/snacks/slice/meatpizza price_tag = 1 -/obj/item/weapon/reagent_containers/food/snacks/slice/mushroompizza +/obj/item/reagent_containers/food/snacks/slice/mushroompizza price_tag = 1 -/obj/item/weapon/reagent_containers/food/snacks/slice/vegetablepizza +/obj/item/reagent_containers/food/snacks/slice/vegetablepizza price_tag = 1 -/obj/item/weapon/reagent_containers/food/snacks/ +/obj/item/reagent_containers/food/snacks/ // Baked Goods // -/obj/item/weapon/reagent_containers/food/snacks/poppypretzel +/obj/item/reagent_containers/food/snacks/poppypretzel price_tag = 2 -/obj/item/weapon/reagent_containers/food/snacks/baguette +/obj/item/reagent_containers/food/snacks/baguette price_tag = 2 -/obj/item/weapon/reagent_containers/food/snacks/jelliedtoast +/obj/item/reagent_containers/food/snacks/jelliedtoast price_tag = 1 -/obj/item/weapon/reagent_containers/food/snacks/twobread +/obj/item/reagent_containers/food/snacks/twobread price_tag = 2 -/obj/item/weapon/reagent_containers/food/snacks/sliceable/meatbread +/obj/item/reagent_containers/food/snacks/sliceable/meatbread price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/slice/meatbread +/obj/item/reagent_containers/food/snacks/slice/meatbread price_tag = 1 -/obj/item/weapon/reagent_containers/food/snacks/sliceable/xenomeatbread +/obj/item/reagent_containers/food/snacks/sliceable/xenomeatbread price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/slice/xenomeatbread +/obj/item/reagent_containers/food/snacks/slice/xenomeatbread price_tag = 1 -/obj/item/weapon/reagent_containers/food/snacks/sliceable/bananabread +/obj/item/reagent_containers/food/snacks/sliceable/bananabread price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/slice/bananabread +/obj/item/reagent_containers/food/snacks/slice/bananabread price_tag = 1 -/obj/item/weapon/reagent_containers/food/snacks/sliceable/tofubread +/obj/item/reagent_containers/food/snacks/sliceable/tofubread price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/slice/tofubread +/obj/item/reagent_containers/food/snacks/slice/tofubread price_tag = 1 -/obj/item/weapon/reagent_containers/food/snacks/sliceable/bread +/obj/item/reagent_containers/food/snacks/sliceable/bread price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/slice/bread +/obj/item/reagent_containers/food/snacks/slice/bread price_tag = 1 -/obj/item/weapon/reagent_containers/food/snacks/sliceable/creamcheesebread +/obj/item/reagent_containers/food/snacks/sliceable/creamcheesebread price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/slice/creamcheesebread +/obj/item/reagent_containers/food/snacks/slice/creamcheesebread price_tag = 1 // Soups // -/obj/item/weapon/reagent_containers/food/snacks/meatballsoup +/obj/item/reagent_containers/food/snacks/meatballsoup price_tag = 3 -/obj/item/weapon/reagent_containers/food/snacks/slimesoup +/obj/item/reagent_containers/food/snacks/slimesoup price_tag = 3 -/obj/item/weapon/reagent_containers/food/snacks/bloodsoup +/obj/item/reagent_containers/food/snacks/bloodsoup price_tag = 3 -/obj/item/weapon/reagent_containers/food/snacks/clownstears +/obj/item/reagent_containers/food/snacks/clownstears price_tag = 3 -/obj/item/weapon/reagent_containers/food/snacks/vegetablesoup +/obj/item/reagent_containers/food/snacks/vegetablesoup price_tag = 3 -/obj/item/weapon/reagent_containers/food/snacks/nettlesoup +/obj/item/reagent_containers/food/snacks/nettlesoup price_tag = 3 -/obj/item/weapon/reagent_containers/food/snacks/mysterysoup +/obj/item/reagent_containers/food/snacks/mysterysoup price_tag = 3 -/obj/item/weapon/reagent_containers/food/snacks/wishsoup +/obj/item/reagent_containers/food/snacks/wishsoup price_tag = 3 -/obj/item/weapon/reagent_containers/food/snacks/hotchili +/obj/item/reagent_containers/food/snacks/hotchili price_tag = 3 -/obj/item/weapon/reagent_containers/food/snacks/coldchili +/obj/item/reagent_containers/food/snacks/coldchili price_tag = 3 -/obj/item/weapon/reagent_containers/food/snacks/tomatosoup +/obj/item/reagent_containers/food/snacks/tomatosoup price_tag = 3 -/obj/item/weapon/reagent_containers/food/snacks/milosoup +/obj/item/reagent_containers/food/snacks/milosoup price_tag = 3 -/obj/item/weapon/reagent_containers/food/snacks/mushroomsoup +/obj/item/reagent_containers/food/snacks/mushroomsoup price_tag = 3 -/obj/item/weapon/reagent_containers/food/snacks/beetsoup +/obj/item/reagent_containers/food/snacks/beetsoup price_tag = 3 // Pies // -/obj/item/weapon/reagent_containers/food/snacks/pie +/obj/item/reagent_containers/food/snacks/pie price_tag = 4 -/obj/item/weapon/reagent_containers/food/snacks/meatpie +/obj/item/reagent_containers/food/snacks/meatpie price_tag = 4 -/obj/item/weapon/reagent_containers/food/snacks/tofupie +/obj/item/reagent_containers/food/snacks/tofupie price_tag = 4 -/obj/item/weapon/reagent_containers/food/snacks/plump_pie +/obj/item/reagent_containers/food/snacks/plump_pie price_tag = 4 -/obj/item/weapon/reagent_containers/food/snacks/xemeatpie +/obj/item/reagent_containers/food/snacks/xemeatpie price_tag = 4 -/obj/item/weapon/reagent_containers/food/snacks/applepie +/obj/item/reagent_containers/food/snacks/applepie price_tag = 4 -/obj/item/weapon/reagent_containers/food/snacks/cherrypie +/obj/item/reagent_containers/food/snacks/cherrypie price_tag = 4 // Cakes // -/obj/item/weapon/reagent_containers/food/snacks/sliceable/carrotcake +/obj/item/reagent_containers/food/snacks/sliceable/carrotcake price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/slice/carrotcake +/obj/item/reagent_containers/food/snacks/slice/carrotcake price_tag = 1 -/obj/item/weapon/reagent_containers/food/snacks/sliceable/braincake +/obj/item/reagent_containers/food/snacks/sliceable/braincake price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/slice/braincake +/obj/item/reagent_containers/food/snacks/slice/braincake price_tag = 1 -/obj/item/weapon/reagent_containers/food/snacks/sliceable/cheesecake +/obj/item/reagent_containers/food/snacks/sliceable/cheesecake price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/slice/cheesecake +/obj/item/reagent_containers/food/snacks/slice/cheesecake price_tag = 1 -/obj/item/weapon/reagent_containers/food/snacks/sliceable/plaincake +/obj/item/reagent_containers/food/snacks/sliceable/plaincake price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/slice/plaincake +/obj/item/reagent_containers/food/snacks/slice/plaincake price_tag = 1 -/obj/item/weapon/reagent_containers/food/snacks/sliceable/orangecake +/obj/item/reagent_containers/food/snacks/sliceable/orangecake price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/slice/orangecake +/obj/item/reagent_containers/food/snacks/slice/orangecake price_tag = 1 -/obj/item/weapon/reagent_containers/food/snacks/sliceable/limecake +/obj/item/reagent_containers/food/snacks/sliceable/limecake price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/slice/limecake +/obj/item/reagent_containers/food/snacks/slice/limecake price_tag = 1 -/obj/item/weapon/reagent_containers/food/snacks/sliceable/lemoncake +/obj/item/reagent_containers/food/snacks/sliceable/lemoncake price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/slice/lemoncake +/obj/item/reagent_containers/food/snacks/slice/lemoncake price_tag = 1 -/obj/item/weapon/reagent_containers/food/snacks/sliceable/chocolatecake +/obj/item/reagent_containers/food/snacks/sliceable/chocolatecake price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/slice/chocolatecake +/obj/item/reagent_containers/food/snacks/slice/chocolatecake price_tag = 1 -/obj/item/weapon/reagent_containers/food/snacks/sliceable/birthdaycake +/obj/item/reagent_containers/food/snacks/sliceable/birthdaycake price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/slice/birthdaycake +/obj/item/reagent_containers/food/snacks/slice/birthdaycake price_tag = 1 -/obj/item/weapon/reagent_containers/food/snacks/sliceable/applecake +/obj/item/reagent_containers/food/snacks/sliceable/applecake price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/slice/applecake +/obj/item/reagent_containers/food/snacks/slice/applecake price_tag = 1 -/obj/item/weapon/reagent_containers/food/snacks/sliceable/pumpkinpie +/obj/item/reagent_containers/food/snacks/sliceable/pumpkinpie price_tag = 5 -/obj/item/weapon/reagent_containers/food/snacks/slice/pumpkinpie +/obj/item/reagent_containers/food/snacks/slice/pumpkinpie price_tag = 1 // Misc // -/obj/item/weapon/reagent_containers/food/snacks/boiledegg +/obj/item/reagent_containers/food/snacks/boiledegg price_tag = 2 -/obj/item/weapon/reagent_containers/food/snacks/donkpocket +/obj/item/reagent_containers/food/snacks/donkpocket price_tag = 1 -/obj/item/weapon/reagent_containers/food/snacks/sausage +/obj/item/reagent_containers/food/snacks/sausage price_tag = 2 -/obj/item/weapon/reagent_containers/food/snacks/muffin +/obj/item/reagent_containers/food/snacks/muffin price_tag = 2 -/obj/item/weapon/reagent_containers/food/snacks/tossedsalad +/obj/item/reagent_containers/food/snacks/tossedsalad price_tag = 2 -/obj/item/weapon/reagent_containers/food/snacks/validsalad +/obj/item/reagent_containers/food/snacks/validsalad price_tag = 2 -/obj/item/weapon/reagent_containers/food/snacks/dionaroast +/obj/item/reagent_containers/food/snacks/dionaroast price_tag = 25 /obj/item/pizzabox/get_item_cost() @@ -991,34 +991,34 @@ //----Smokes-----// //***************// -/obj/item/weapon/storage/fancy/cigarettes +/obj/item/storage/fancy/cigarettes price_tag = 15 -/obj/item/weapon/storage/fancy/cigarettes/luckystars +/obj/item/storage/fancy/cigarettes/luckystars price_tag = 17 -/obj/item/weapon/storage/fancy/cigarettes/jerichos +/obj/item/storage/fancy/cigarettes/jerichos price_tag = 22 -/obj/item/weapon/storage/fancy/cigarettes/menthols +/obj/item/storage/fancy/cigarettes/menthols price_tag = 18 -/obj/item/weapon/storage/fancy/cigar +/obj/item/storage/fancy/cigar price_tag = 27 -/obj/item/weapon/storage/fancy/cigarettes/carcinomas +/obj/item/storage/fancy/cigarettes/carcinomas price_tag = 23 -/obj/item/weapon/storage/fancy/cigarettes/professionals +/obj/item/storage/fancy/cigarettes/professionals price_tag = 25 -/obj/item/weapon/storage/box/matches +/obj/item/storage/box/matches price_tag = 1 -/obj/item/weapon/flame/lighter +/obj/item/flame/lighter price_tag = 2 -/obj/item/weapon/flame/lighter/zippo +/obj/item/flame/lighter/zippo price_tag = 5 //******************************// diff --git a/code/modules/economy/price_list_yw.dm b/code/modules/economy/price_list_yw.dm index 0cb7bac74fa..f4253eccc8d 100644 --- a/code/modules/economy/price_list_yw.dm +++ b/code/modules/economy/price_list_yw.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/storage/fancy/cigarettes/yw/mauser +/obj/item/storage/fancy/cigarettes/yw/mauser price_tag = 18 /datum/reagent/drink/antidepressant_yw diff --git a/code/modules/economy/retail_scanner.dm b/code/modules/economy/retail_scanner.dm index 5632203dd88..1b981dc6790 100644 --- a/code/modules/economy/retail_scanner.dm +++ b/code/modules/economy/retail_scanner.dm @@ -1,4 +1,4 @@ -/obj/item/device/retail_scanner +/obj/item/retail_scanner name = "retail scanner" desc = "Swipe your ID card to make purchases electronically." icon = 'icons/obj/device.dmi' @@ -24,7 +24,7 @@ // Claim machine ID -/obj/item/device/retail_scanner/New() +/obj/item/retail_scanner/New() machine_id = "[station_name()] RETAIL #[num_financial_terminals++]" if(locate(/obj/structure/table) in loc) pixel_y = 3 @@ -32,7 +32,7 @@ // Always face the user when put on a table -/obj/item/device/retail_scanner/afterattack(atom/movable/AM, mob/user, proximity) +/obj/item/retail_scanner/afterattack(atom/movable/AM, mob/user, proximity) if(!proximity) return if(istype(AM, /obj/structure/table)) src.pixel_y = 3 // Shift it up slightly to look better on table @@ -41,27 +41,27 @@ scan_item_price(AM) // Reset dir when picked back up -/obj/item/device/retail_scanner/pickup(mob/user) +/obj/item/retail_scanner/pickup(mob/user) src.dir = SOUTH src.pixel_y = 0 -/obj/item/device/retail_scanner/attack_self(mob/user as mob) +/obj/item/retail_scanner/attack_self(mob/user as mob) user.set_machine(src) interact(user) -/obj/item/device/retail_scanner/AltClick(var/mob/user) +/obj/item/retail_scanner/AltClick(var/mob/user) if(Adjacent(user)) user.set_machine(src) interact(user) -/obj/item/device/retail_scanner/examine(mob/user as mob) +/obj/item/retail_scanner/examine(mob/user as mob) . = ..() if(transaction_amount) . += "It has a purchase of [transaction_amount] pending[transaction_purpose ? " for [transaction_purpose]" : ""]." -/obj/item/device/retail_scanner/interact(mob/user as mob) +/obj/item/retail_scanner/interact(mob/user as mob) var/dat = "

    Retail Scanner

    " if (locked) dat += "Unlock
    " @@ -86,7 +86,7 @@ onclose(user, "retail") -/obj/item/device/retail_scanner/Topic(var/href, var/href_list) +/obj/item/retail_scanner/Topic(var/href, var/href_list) if(..()) return @@ -99,7 +99,7 @@ if(allowed(usr)) locked = !locked else - to_chat(usr, "[icon2html(src, usr.client)]Insufficient access.") + to_chat(usr, "[icon2html(src, usr.client)]" + span_warning("Insufficient access.")) if("link_account") var/attempt_account_num = tgui_input_number(usr, "Enter account number", "New account number") var/attempt_pin = tgui_input_number(usr, "Enter PIN", "Account PIN") @@ -107,9 +107,9 @@ if(linked_account) if(linked_account.suspended) linked_account = null - src.visible_message("[icon2html(src,viewers(src))]Account has been suspended.") + src.visible_message("[icon2html(src,viewers(src))]" + span_warning("Account has been suspended.")) else - to_chat(usr, "[icon2html(src, usr.client)]Account not found.") + to_chat(usr, "[icon2html(src, usr.client)]" + span_warning("Account not found.")) if("custom_order") var/t_purpose = sanitize(tgui_input_text(usr, "Enter purpose", "New purpose")) if (!t_purpose || !Adjacent(usr)) return @@ -157,35 +157,35 @@ price_list.Cut() if("reset_log") transaction_logs.Cut() - to_chat(usr, "[icon2html(src, usr.client)]Transaction log reset.") + to_chat(usr, "[icon2html(src, usr.client)]" + span_notice("Transaction log reset.")) updateDialog() -/obj/item/device/retail_scanner/attackby(obj/O as obj, user as mob) +/obj/item/retail_scanner/attackby(obj/O as obj, user as mob) // Check for a method of paying (ID, PDA, e-wallet, cash, ect.) - var/obj/item/weapon/card/id/I = O.GetID() + var/obj/item/card/id/I = O.GetID() if(I) scan_card(I, O) - else if (istype(O, /obj/item/weapon/spacecash/ewallet)) - var/obj/item/weapon/spacecash/ewallet/E = O + else if (istype(O, /obj/item/spacecash/ewallet)) + var/obj/item/spacecash/ewallet/E = O scan_wallet(E) - else if (istype(O, /obj/item/weapon/spacecash)) - to_chat(usr, "This device does not accept cash.") + else if (istype(O, /obj/item/spacecash)) + to_chat(usr, span_warning("This device does not accept cash.")) - else if(istype(O, /obj/item/weapon/card/emag)) + else if(istype(O, /obj/item/card/emag)) return ..() // Not paying: Look up price and add it to transaction_amount else scan_item_price(O) -/obj/item/device/retail_scanner/showoff(mob/user) +/obj/item/retail_scanner/showoff(mob/user) for (var/mob/M in view(user)) M.show_message("[user] holds up [src]. Swipe card or item.",1) -/obj/item/device/retail_scanner/proc/confirm(var/obj/item/I) +/obj/item/retail_scanner/proc/confirm(var/obj/item/I) if(confirm_item == I) return 1 else @@ -195,7 +195,7 @@ return 0 -/obj/item/device/retail_scanner/proc/scan_card(var/obj/item/weapon/card/id/I, var/obj/item/ID_container) +/obj/item/retail_scanner/proc/scan_card(var/obj/item/card/id/I, var/obj/item/ID_container) if (!transaction_amount) return @@ -203,7 +203,7 @@ return if (!linked_account) - usr.visible_message("[icon2html(src,viewers(src))]Unable to connect to linked account.") + usr.visible_message("[icon2html(src,viewers(src))]" + span_warning("Unable to connect to linked account.")) return // Access account for transaction @@ -216,13 +216,13 @@ D = attempt_account_access(I.associated_account_number, attempt_pin, 2) if(!D) - src.visible_message("[icon2html(src,viewers(src))]Unable to access account. Check security settings and try again.") + src.visible_message("[icon2html(src,viewers(src))]" + span_warning("Unable to access account. Check security settings and try again.")) else if(D.suspended) - src.visible_message("[icon2html(src,viewers(src))]Your account has been suspended.") + src.visible_message("[icon2html(src,viewers(src))]" + span_warning("Your account has been suspended.")) else if(transaction_amount > D.money) - src.visible_message("[icon2html(src,viewers(src))]Not enough funds.") + src.visible_message("[icon2html(src,viewers(src))]" + span_warning("Not enough funds.")) else // Transfer the money D.money -= transaction_amount @@ -255,7 +255,7 @@ transaction_complete() -/obj/item/device/retail_scanner/proc/scan_wallet(var/obj/item/weapon/spacecash/ewallet/E) +/obj/item/retail_scanner/proc/scan_wallet(var/obj/item/spacecash/ewallet/E) if (!transaction_amount) return @@ -265,7 +265,7 @@ // Access account for transaction if(check_account()) if(transaction_amount > E.worth) - src.visible_message("[icon2html(src,viewers(src))]Not enough funds.") + src.visible_message("[icon2html(src,viewers(src))]" + span_warning("Not enough funds.")) else // Transfer the money E.worth -= transaction_amount @@ -288,16 +288,16 @@ transaction_complete() -/obj/item/device/retail_scanner/proc/scan_item_price(var/obj/O) +/obj/item/retail_scanner/proc/scan_item_price(var/obj/O) if(!istype(O)) return if(item_list.len > 10) - src.visible_message("[icon2html(src,viewers(src))]Only up to ten different items allowed per purchase.") + src.visible_message("[icon2html(src,viewers(src))]" + span_warning("Only up to ten different items allowed per purchase.")) return // First check if item has a valid price var/price = O.get_item_cost() if(isnull(price)) - src.visible_message("[icon2html(src,viewers(src))]Unable to find item in database.") + src.visible_message("[icon2html(src,viewers(src))]" + span_warning("Unable to find item in database.")) return // Call out item cost src.visible_message("[icon2html(src,viewers(src))]\A [O]: [price ? "[price] Thaler\s" : "free of charge"].") @@ -320,7 +320,7 @@ confirm_item = null -/obj/item/device/retail_scanner/proc/get_current_transaction() +/obj/item/retail_scanner/proc/get_current_transaction() var/dat = {" -
    In the land of Margata, nothing is ever as it seems. There have been many verifiable cases of local bakers having a secret double life as DJs. The correlation between exposure to bread and wanting to scratch out some sick beats has never been quantified, quite possibly to science being illegal in the region. That didn't happen to be the case of a young boy named Gadroc, who was neither a baker nor a DJ. In fact, his story happens to have nothing to do with either of the two. Poor Gadroc was afflicted with a terrible curse. It had been that way ever since he was born, because a witch had cursed his mother for saying "Keep the change," when there was only one cent of change left. Gadroc’s curse was horrible, one that no human being should suffer through: he couldn’t look at butts. Whenever someone showed him a full moon, he transformed into a horrible beast with astoundingly fresh breath. Whenever this happened, he would always run to the nearest cornfield and begin uncontrollably eating corn. Why corn? Because magic, that’s why. That's just how it fucking works. Don't you know anything?
    -
    After coming home with corn stuck in his teeth for three days straight, and only having one more pair of pants that weren’t destroyed, Gadroc knew that he needed to do something about his curse. He went to the first person he could think of for help.
    -
    Carne was the town’s blacksmith. He wasn’t very wise, but he always spoke as though he was. It was for this reason that Gadroc often came to Carne for help, despite the fact that he could probably go to basically anyone else. The town beggar, who was constantly sitting in a puddle of his own pee, gave better advice than the blacksmith. Carne was the only one who knew about Gadroc’s affliction. No one else knew who was ravaging the town’s corn population, and riots had already broken out over the severe deficit in cornbread supply.
    +
    In the land of Margata, nothing is ever as it seems. There have been many verifiable cases of local bakers having a secret double life as DJs. The correlation between exposure to bread and wanting to scratch out some sick beats has never been quantified, quite possibly to science being illegal in the region. That didn't happen to be the case of a young boy named Gadroc, who was neither a baker nor a DJ. In fact, his story happens to have nothing to do with either of the two. Poor Gadroc was afflicted with a terrible curse. It had been that way ever since he was born, because a witch had cursed his mother for saying "Keep the change," when there was only one cent of change left. Gadroc�s curse was horrible, one that no human being should suffer through: he couldn�t look at butts. Whenever someone showed him a full moon, he transformed into a horrible beast with astoundingly fresh breath. Whenever this happened, he would always run to the nearest cornfield and begin uncontrollably eating corn. Why corn? Because magic, that�s why. That's just how it fucking works. Don't you know anything?
    +
    After coming home with corn stuck in his teeth for three days straight, and only having one more pair of pants that weren�t destroyed, Gadroc knew that he needed to do something about his curse. He went to the first person he could think of for help.
    +
    Carne was the town�s blacksmith. He wasn�t very wise, but he always spoke as though he was. It was for this reason that Gadroc often came to Carne for help, despite the fact that he could probably go to basically anyone else. The town beggar, who was constantly sitting in a puddle of his own pee, gave better advice than the blacksmith. Carne was the only one who knew about Gadroc�s affliction. No one else knew who was ravaging the town�s corn population, and riots had already broken out over the severe deficit in cornbread supply.
    "Carne, you have to help me!" Gadroc shouted as he burst through the doors of the smithy. Carne was in the middle of forging a pair of iron gauntlets, and had his back turned to Gadroc. He did not turn around.
    "Do you need my help? Or do you need my help to help yourself?" Carne said, spouting his signature wisdom.
    "Yes. No. What? Did you get that from a fortune cookie?" replied Gadroc.
    -
    "Yes, actually." Carne turned around. He was loudly crunching on some fortune cookie and inexplicably wearing the gauntlets he was working on, still glowing red hot. He held up the fortune, but Gadroc didn’t have time to read it, as it immediately caught fire and fell into a pile of ashes on the floor.
    -
    Gadroc was concerned. "Doesn’t that... you know... hurt?"
    +
    "Yes, actually." Carne turned around. He was loudly crunching on some fortune cookie and inexplicably wearing the gauntlets he was working on, still glowing red hot. He held up the fortune, but Gadroc didn�t have time to read it, as it immediately caught fire and fell into a pile of ashes on the floor.
    +
    Gadroc was concerned. "Doesn�t that... you know... hurt?"
    "Oh yes, extremely," Carne said with a smile. They both stared at each other for a moment.
    @@ -105,27 +105,27 @@ CATEGORY: Fiction
    "AHHHHHHHHHHHHHHHHHHHH!" screamed Carne. He flailed his arms around wildly until the gauntlets flew off. One of them flew across the room and hit a painting hanging on the wall. The painting was of our lord and president, Orcbama, and the gauntlet punched him in the face. The painting had a large scorch mark in the same place where the gauntlet had hit, indicating that this was a common occurrence.
    "Anyways," Carne said casually, hands blistered and burnt, "What do you need to help me with?"
    -
    "That’s not what I... you know what, nevermind. Listen. I am sick and tired of this stupid werewolf bullshit! Corn used to be my favorite, and now I can’t stand it! I miss the days when I enjoyed cornbread..."
    +
    "That�s not what I... you know what, nevermind. Listen. I am sick and tired of this stupid werewolf bullshit! Corn used to be my favorite, and now I can�t stand it! I miss the days when I enjoyed cornbread..."
    "Yeah, so do the townsfolk," the blacksmith replied.
    "That's not helpful," Gadroc said, but Carne went on.
    "I've always been more of a corn casserole kind of guy myself. Easier on the old gut. Y'know, when I was a boy-"
    "Would you shut up and listen? We need to do something about this!"
    -
    "Right... What’s the problem again?" Gadroc smacked his forehead. He pointed to his own butt.
    +
    "Right... What�s the problem again?" Gadroc smacked his forehead. He pointed to his own butt.
    "Listen, son, if that's the way you're swingin', you don't have to play charades about it. Old Carne won't judge," Carne said.
    -
    "No, the werewolf problem!" Gadroc screamed. He fell to his knees, tears welling up in his eyes. He sniffed. "I just want to be able to look at butts. That’s all I want."
    -
    Carne walked up and put his gross, burnt hand on Gadroc’s shoulder. "It’s alright. I’ll help you with your problem."
    +
    "No, the werewolf problem!" Gadroc screamed. He fell to his knees, tears welling up in his eyes. He sniffed. "I just want to be able to look at butts. That�s all I want."
    +
    Carne walked up and put his gross, burnt hand on Gadroc�s shoulder. "It�s alright. I�ll help you with your problem."
    Gadroc sniffed again. "Really?"
    -
    "Yes. Even if it means I’m helping myself to help you help me-"
    -
    "Carne, you’re not helping again."
    +
    "Yes. Even if it means I�m helping myself to help you help me-"
    +
    "Carne, you�re not helping again."

    -
    CUT TO: Gadroc and Carne, scaling a mountain. Both men were equipped with the finest blades from Carne’s smithy. Gadroc was feeling a little indignant, considering Carne had only given him a foam sword. Carne had taken the only finished blade in the smithy.
    -
    "You see that up there?" Carne said to Gadroc as they climbed. "That’s the ancient temple whose name is really hard to pronounce."
    +
    CUT TO: Gadroc and Carne, scaling a mountain. Both men were equipped with the finest blades from Carne�s smithy. Gadroc was feeling a little indignant, considering Carne had only given him a foam sword. Carne had taken the only finished blade in the smithy.
    +
    "You see that up there?" Carne said to Gadroc as they climbed. "That�s the ancient temple whose name is really hard to pronounce."
    "Really?" Gadroc asked. "What's it called?"
    -
    "I’d tell you, but it’s really hard to pronounce," explained the smith. He continued. "From what I understand, there’s a mystical artifact that can cure any curse. We’re going to use it to cure your werewolf problem."
    -
    "Why didn’t you tell me any of this on the way here? I’ve been following you up this mountain for hours with no idea of what we’re doing."
    +
    "I�d tell you, but it�s really hard to pronounce," explained the smith. He continued. "From what I understand, there�s a mystical artifact that can cure any curse. We�re going to use it to cure your werewolf problem."
    +
    "Why didn�t you tell me any of this on the way here? I�ve been following you up this mountain for hours with no idea of what we�re doing."
    "We took that part out in post. It was a really long and not very funny bit that didn't get much of a reaction out of anyone the first time this story was read out loud. It's a little trick the boys back home call 'the Director's Cut.'"
    "Ah. That makes a lot of sense."
    -
    "Right?" The two laughed at that, looked at the camera for a moment, then back to each other. A laugh track played during this. It lasted for an uncomfortable amount of time. It was the kind of laughter that you think is about to die down, but then it kicks right back up again. There’s also that one lady who’s cackling like a hyena having a tea party with a witch. You try to unhear her, but you just keep noticing her. Why do sitcoms think laugh tracks add anything to the show? It doesn't. That shit just doesn’t sit right with me.
    +
    "Right?" The two laughed at that, looked at the camera for a moment, then back to each other. A laugh track played during this. It lasted for an uncomfortable amount of time. It was the kind of laughter that you think is about to die down, but then it kicks right back up again. There�s also that one lady who�s cackling like a hyena having a tea party with a witch. You try to unhear her, but you just keep noticing her. Why do sitcoms think laugh tracks add anything to the show? It doesn't. That shit just doesn�t sit right with me.
    "}, @@ -139,20 +139,20 @@ CATEGORY: Fiction
    They continued to hike up the mountain. After a little while, they reached the temple. The door was guarded by two dog-men holding spears.
    "Who are these guys?" Gadroc asked.
    -
    "Let me handle this," assured Carne. "How’s it going gentlemen?" The dog-men stepped closer and crossed their spears across the door.
    -
    "Listen boys, there’s no need for the attitude," said the smith. The dog-men began to growl at him.
    -
    Carne frowned. "Hey now, that’s just rude." The dog-men responded to this by shoulder-checking Carne, knocking him to the ground. Gadroc sighed and walked up to the armored, bipedal golden retriever.
    -
    "Who’s a good boy?" Gadroc said as he began to scratch the dog behind his cutie ears. The dog-man turned his head into Gadroc’s hand and began to pant.
    -
    Gadroc continued. "You are! You’re a good boy! Oh it’s you!" The dog barked as if to say, "YES IT IS ME, I AM THE GOOD BOY." The dog-man eventually got down on all fours, stomped around in a circle a bit, and promptly fell asleep. The other guard whimpered. He had felt that he had been a good boy too, and that he deserved scratchies just as much as his partner, if not more. He conveyed this to Gadroc in a single bark. Gadroc turned to him.
    -
    "Oh I know! You’ve been a good boy too!" He pet the guard for a little bit, then pulled an ear of corn out of his pocket.
    +
    "Let me handle this," assured Carne. "How�s it going gentlemen?" The dog-men stepped closer and crossed their spears across the door.
    +
    "Listen boys, there�s no need for the attitude," said the smith. The dog-men began to growl at him.
    +
    Carne frowned. "Hey now, that�s just rude." The dog-men responded to this by shoulder-checking Carne, knocking him to the ground. Gadroc sighed and walked up to the armored, bipedal golden retriever.
    +
    "Who�s a good boy?" Gadroc said as he began to scratch the dog behind his cutie ears. The dog-man turned his head into Gadroc�s hand and began to pant.
    +
    Gadroc continued. "You are! You�re a good boy! Oh it�s you!" The dog barked as if to say, "YES IT IS ME, I AM THE GOOD BOY." The dog-man eventually got down on all fours, stomped around in a circle a bit, and promptly fell asleep. The other guard whimpered. He had felt that he had been a good boy too, and that he deserved scratchies just as much as his partner, if not more. He conveyed this to Gadroc in a single bark. Gadroc turned to him.
    +
    "Oh I know! You�ve been a good boy too!" He pet the guard for a little bit, then pulled an ear of corn out of his pocket.
    "You want a treat boy?" Gadroc asked, as he held up the corn. The dog nodded violently and made a couple of attempts to nibble on the corn, but Gadroc pulled it away before he could.
    "Go get it!" shouted Gadroc as he threw the corn down the mountain. The dog guard threw his spear to the side as he bounded after the corn bouncing down the path. Certain the guard had made it out of sight, Gadroc went to help Carne up.
    "Where did you learn to deal with Canine-sapiens like that?" Carne asked.
    "Well, if you think about it, werewolves are technically part dog. Plus, I just know a good boy when I see one."
    The two stepped through the doors of the temple. At the end of the long, church-like room was a marble altar on a platform, with a set of stairs leading up to it. On the altar sat a small, simple wooden box. From above, a light fell gently on the box, giving it a soft, almost holy glow. The stained glass windows at the back of the room were arranged in such a way that they almost seemed to be pointing at the box. Many different flowers were arranged on either side of the box and at the foot of the altar.
    -
    "Call it a hunch," Carne said slowly, "but I think those flowers might be important somehow. I just get that feeling, I couldn’t tell you why."
    -
    "It’s the box that’s important, or whatever's in it," Gadroc said dryly. "The only thing that could make it more obvious is if a huge, luminescent sign dropped down with blinking arrows that read, ‘There’s probably a magic artifact in this box.’" Just then, a huge luminescent sign with blinking arrows that read, "There’s probably a magic artifact in this box." dropped down. Gadroc pinched the bridge of his nose.
    -
    "Do you think there might be a secret compartment in the altar? I bet that’s where the artifact is," pondered the smith.
    +
    "Call it a hunch," Carne said slowly, "but I think those flowers might be important somehow. I just get that feeling, I couldn�t tell you why."
    +
    "It�s the box that�s important, or whatever's in it," Gadroc said dryly. "The only thing that could make it more obvious is if a huge, luminescent sign dropped down with blinking arrows that read, �There�s probably a magic artifact in this box.�" Just then, a huge luminescent sign with blinking arrows that read, "There�s probably a magic artifact in this box." dropped down. Gadroc pinched the bridge of his nose.
    +
    "Do you think there might be a secret compartment in the altar? I bet that�s where the artifact is," pondered the smith.
    "}, @@ -164,20 +164,20 @@ CATEGORY: Fiction -
    "Welcome to the temple of Ivyechneyoveen Kah’al, my children," came a voice.
    -
    "Who said that?" Gadroc asked. "So that’s how it’s pronounced," mused Carne. A figure stepped out from behind a pillar. It was a robed dog-woman, an ancient St. Bernard.
    +
    "Welcome to the temple of Ivyechneyoveen Kah�al, my children," came a voice.
    +
    "Who said that?" Gadroc asked. "So that�s how it�s pronounced," mused Carne. A figure stepped out from behind a pillar. It was a robed dog-woman, an ancient St. Bernard.
    The dog lady spoke again. "Have you come to give your thanks to Orcville?"
    -
    "I’m sorry, who?" Gadroc asked, confused.
    +
    "I�m sorry, who?" Gadroc asked, confused.
    "Yes, Orcville Redenbacher. He blessed the world with his glorious popcorn and saved our souls."
    "Wait," interrupted Carne. "Then why is it called the temple of Itchyville Cable?"
    -
    "Ivyechneyoveen Kah’al," corrected the priestess with a polite smile.
    -
    "Yeah, that’s what I said."
    -
    "I’d be glad to enlighten you, my child. It all started when..." The priestess lengthy explanation on the history and fine points of the religion of the dog people. It didn’t make the slightest bit of sense, though Carne did have a bit of a chuckle at the part where Orcville defeated the demon lord who wouldn't stop pretending to throw a ball to go fetch and then never actually throw the ball. Gadroc nearly fell asleep on his feet. He decided not to take part in the theological discussion and turned his attention back to the box. He walked up to the altar platform and climbed the steps. Carefully he opened the two small, wooden doors on the front of the box. Words could not describe his excitement. Inside the box was...
    -
    "A hot dog?" Gadroc asked aloud. He was thoroughly baffled. Inside the box was a golden hot dog that sparkled in the light. He couldn’t tell whether or not it had ketchup, mustard, or even relish on it; it was all gold.
    +
    "Ivyechneyoveen Kah�al," corrected the priestess with a polite smile.
    +
    "Yeah, that�s what I said."
    +
    "I�d be glad to enlighten you, my child. It all started when..." The priestess lengthy explanation on the history and fine points of the religion of the dog people. It didn�t make the slightest bit of sense, though Carne did have a bit of a chuckle at the part where Orcville defeated the demon lord who wouldn't stop pretending to throw a ball to go fetch and then never actually throw the ball. Gadroc nearly fell asleep on his feet. He decided not to take part in the theological discussion and turned his attention back to the box. He walked up to the altar platform and climbed the steps. Carefully he opened the two small, wooden doors on the front of the box. Words could not describe his excitement. Inside the box was...
    +
    "A hot dog?" Gadroc asked aloud. He was thoroughly baffled. Inside the box was a golden hot dog that sparkled in the light. He couldn�t tell whether or not it had ketchup, mustard, or even relish on it; it was all gold.
    "What are you doing with our sacred artifact?" shouted the dog priestess. Gadroc jumped, startled. He was too busy thinking about what gold tasted like.
    "Uh... I need it... for... a friend," Gadroc lied, incredibly convincingly.
    -
    "You’d better not eat that because that’s totally not how a magic artifact shaped like a hot dog would work!" screeched the priestess.
    -
    Gadroc looked again at the supposed cure to all his problems. It was right there in his hands! "You’re not my mom!" he shouted, and promptly shoved the entire hot dog in his mouth and made a break for the door. Carne seemed impressed.
    +
    "You�d better not eat that because that�s totally not how a magic artifact shaped like a hot dog would work!" screeched the priestess.
    +
    Gadroc looked again at the supposed cure to all his problems. It was right there in his hands! "You�re not my mom!" he shouted, and promptly shoved the entire hot dog in his mouth and made a break for the door. Carne seemed impressed.
    "Damn," he said. "Wish I could run that fast after stuffing an entire hot dog in my mouth. Last time I did that I got a hernia." He turned to the dog priestess.
    "So, uh... wanna go grab some popcorn later?" The priestess slapped him across the face. "Right. I'll get goin', then. Sorry about the hot dog. We'll make you a new one." Carne began to head in Gadroc's direction.
    @@ -192,16 +192,16 @@ CATEGORY: Fiction -
    "Gadroc, where are you?" Carne shouted. "You can come out now, she didn’t follow us." Gadroc looked around and slowly stepped out from behind a tree that didn't even come close to consealing him whatsoever.
    -
    "I... I don’t know if it worked, Carne," the boy said nervously.
    -
    "Here," said the smith. He handed Gadroc a small, folded up piece of paper. Almost the exact moment Gadroc’s fingers touched it, Carne leapt like an orc-lympic death hurdle sprinter and combat rolled to take cover behind a nearby fallen tree. Gadroc unfolded the paper, hands trembling. On it was a pin up of a real buff orc dude. His shirtless body was ripped and glistening with sweat. He held a wrench and his jeans were not tight around his waist. Another shot showed him crouched down in front of a sink, which was confusing because plumbing was not very popular yet. The orc’s loose jeans were sagging down his pants, and they revealed the glowing, firm cheeks of his fine behind. A single tear rolled down Gadroc’s face.
    +
    "Gadroc, where are you?" Carne shouted. "You can come out now, she didn�t follow us." Gadroc looked around and slowly stepped out from behind a tree that didn't even come close to consealing him whatsoever.
    +
    "I... I don�t know if it worked, Carne," the boy said nervously.
    +
    "Here," said the smith. He handed Gadroc a small, folded up piece of paper. Almost the exact moment Gadroc�s fingers touched it, Carne leapt like an orc-lympic death hurdle sprinter and combat rolled to take cover behind a nearby fallen tree. Gadroc unfolded the paper, hands trembling. On it was a pin up of a real buff orc dude. His shirtless body was ripped and glistening with sweat. He held a wrench and his jeans were not tight around his waist. Another shot showed him crouched down in front of a sink, which was confusing because plumbing was not very popular yet. The orc�s loose jeans were sagging down his pants, and they revealed the glowing, firm cheeks of his fine behind. A single tear rolled down Gadroc�s face.
    "Carne," he sniffed. "It worked." Carne came out from behind the log and wiped the sweat from his brow with a "Phew!"
    -
    "It’s beautiful, Carne," Gadroc went on.
    -
    "Keep it, kid," the blacksmith said with a smile. "You need it more than I do. Let’s go home."
    +
    "It�s beautiful, Carne," Gadroc went on.
    +
    "Keep it, kid," the blacksmith said with a smile. "You need it more than I do. Let�s go home."
    Gadroc had gold poop for a week.


    Fin.

    - "}) \ No newline at end of file + "}) diff --git a/code/modules/library/hardcode_library/fiction/schnayy.dm b/code/modules/library/hardcode_library/fiction/schnayy.dm index 14381e0ace4..182bed8f3ca 100644 --- a/code/modules/library/hardcode_library/fiction/schnayy.dm +++ b/code/modules/library/hardcode_library/fiction/schnayy.dm @@ -5,7 +5,7 @@ CATEGORY: Fiction /// Beyond the Door - Philip K. Dick -/obj/item/weapon/book/bundle/custom_library/fiction/beyondthedoor +/obj/item/book/bundle/custom_library/fiction/beyondthedoor name = "Beyond the Door" desc = "A hardbound book titled 'Beyond the Door' by Philip K. Dick." description_info = "This book is titled 'Beyond the Door' by Philip K. Dick. There is a blurb on the back:
    \ @@ -228,7 +228,7 @@ CATEGORY: Fiction /// The Man From Snowy River by A.B. "Banjo" Paterson -/obj/item/weapon/book/bundle/custom_library/fiction/manfromsnowyriver +/obj/item/book/bundle/custom_library/fiction/manfromsnowyriver name = "The Man From Snowy River" desc = "A hardbound book titled 'The Man From Snowy River' by A.B. 'Banjo' Paterson." description_info = "This book is titled 'The Man From Snowy River' by A.B. 'Banjo' Paterson." diff --git a/code/modules/library/hardcode_library/non-fiction/PortedBooks.dm b/code/modules/library/hardcode_library/non-fiction/PortedBooks.dm index 579e2fe5f31..e6c640327e4 100644 --- a/code/modules/library/hardcode_library/non-fiction/PortedBooks.dm +++ b/code/modules/library/hardcode_library/non-fiction/PortedBooks.dm @@ -7,7 +7,7 @@ Category: Non-Fiction /// Free Sirisai: Light Bulbs by Sene of Sheraeshi. -/obj/item/weapon/book/custom_library/nonfiction/freesirisailightbulbs +/obj/item/book/custom_library/nonfiction/freesirisailightbulbs name = "Free Sirisai: Light Bulbs" desc = "A hardbound book titled \"Free Sirisai: Light Bulbs\" by Sene of Sheraeshi." description_info = "This book is titled \"Free Sirisai: Light Bulbs\" by Sene of Sheraeshi. It appears to be about the different lighting needs of different sapient species, written from a Teshari author's view." @@ -42,7 +42,7 @@ Category: Non-Fiction /// The Viability of Corporate Government by Yang Simiao -/obj/item/weapon/book/bundle/custom_library/nonfiction/viabilityofcorporategov +/obj/item/book/bundle/custom_library/nonfiction/viabilityofcorporategov name = "The Viability of Corporate Government" desc = "A hardbound book titled \"The Viability of Corporate Government\" by Yang Simiao." description_info = "This book is titled \"The Viability of Corporate Government\" by Yang Simiao. It seems to be an opinion piece on the relationship between corporations and the stations they own." @@ -99,7 +99,7 @@ Category: Non-Fiction ///A Brief History Of The Rise And Fall Of The Persian Empire by Satrap. -/obj/item/weapon/book/bundle/custom_library/nonfiction/riseandfallofpersianempire +/obj/item/book/bundle/custom_library/nonfiction/riseandfallofpersianempire name = "The Rise And Fall Of The Persian Empire" desc = "A hardbound book titled \"A Brief History Of The Rise And Fall Of The Persian Empire\" by Satrap." description_info = "This book is titled \"A Brief History Of The Rise And Fall Of The Persian Empire\" by Satrap. It covers the beginning and end of Earth's Persian Empire." @@ -224,7 +224,7 @@ Category: Non-Fiction /// An Explanation of the Skrellian Caste System by Jyotirao Phule. -/obj/item/weapon/book/bundle/custom_library/nonfiction/skrelliancastesystem +/obj/item/book/bundle/custom_library/nonfiction/skrelliancastesystem name = "An Explanation of the Skrellian Caste System" desc = "A hardbound book titled \"An Explanation of the Skrellian Caste System\" by Jyotirao Phule." diff --git a/code/modules/library/hardcode_library/reference/PortedBooks.dm b/code/modules/library/hardcode_library/reference/PortedBooks.dm index 27b1af95091..45344142eb6 100644 --- a/code/modules/library/hardcode_library/reference/PortedBooks.dm +++ b/code/modules/library/hardcode_library/reference/PortedBooks.dm @@ -7,7 +7,7 @@ Category: Reference /// Recycling Procedures by 'Astrid Morton'. -/obj/item/weapon/book/bundle/custom_library/reference/recyclingprocedures +/obj/item/book/bundle/custom_library/reference/recyclingprocedures name = "Recycling Procedures" desc = "A hardbound book titled \"Recycling Procedures\" by Astrid Morton." description_info = "This book is titled \"Recycling Procedures\" by Astrid Morton. It appears to be about ways you can help recycle on your average space station." @@ -104,7 +104,7 @@ Category: Reference ///A Guide to FBP and Prosthetic Maintenance by Yuki Matsuda. Was edited to be more accurate and fixed typos. -/obj/item/weapon/book/bundle/custom_library/reference/fbpandprostheticmaintenance +/obj/item/book/bundle/custom_library/reference/fbpandprostheticmaintenance name = "A Guide to FBP and Prosthetic Maintenance" desc = "A hardbound book titled \"A Guide to FBP and Prosthetic Maintenance\" by Yuki Matsuda." description_info = "This book is titled \"A Guide to FBP and Prosthetic Maintenance\" by Yuki Matsuda. It appears to cover general steps for repairing prosthetics." @@ -233,7 +233,7 @@ Category: Reference ///A Fistful of D6's: Player's Guide by Ray Rogers -/obj/item/weapon/book/custom_library/reference/fistfulofd6splayersguide +/obj/item/book/custom_library/reference/fistfulofd6splayersguide name = "A Fistful of D6's: Player's Guide" desc = "A hardbound book titled \"A Fistful of D6's: Player's Guide\" by Ray Rogers." @@ -269,7 +269,7 @@ Category: Reference ///The Space Survival Guide: Depressurization by Lachina Green. -/obj/item/weapon/book/custom_library/reference/spacesurvivalguidedespressurization +/obj/item/book/custom_library/reference/spacesurvivalguidedespressurization name = "The Space Survival Guide: Depressurization" desc = "A hardbound book titled \"The Space Survival Guide: Depressurization\" by Lachina Green." @@ -322,7 +322,7 @@ Category: Reference ///Security Guidelines by NanoTrasen. -/obj/item/weapon/book/custom_library/reference/securityguidelines +/obj/item/book/custom_library/reference/securityguidelines name = "Security Guidelines" desc = "A hardbound book titled \"Security Guidelines\" as provided by NanoTrasen." diff --git a/code/modules/library/hardcode_library/reference/Schnayy.dm b/code/modules/library/hardcode_library/reference/Schnayy.dm index 7d9c4c993c3..d3edc453fc0 100644 --- a/code/modules/library/hardcode_library/reference/Schnayy.dm +++ b/code/modules/library/hardcode_library/reference/Schnayy.dm @@ -5,7 +5,7 @@ CATEGORY: Reference ///Thermodynamic Reactions and Research: A Guide to Phoron Studies and Safety by I.R.I.S. -/obj/item/weapon/book/bundle/custom_library/reference/ThermodynamicReactionsandResearch +/obj/item/book/bundle/custom_library/reference/ThermodynamicReactionsandResearch name = "Thermodynamic Reactions and Research" desc = "A hardbound book titled \"Thermodynamic Reactions and Research: A Guide to Phoron Studies and Safety\" by I.R.I.S.." description_info = "This book is titled \"Thermodynamic Reactions and Research: A Guide to Phoron Studies and Safety\" by I.R.I.S.. It appears to cover the fundamentals of phoron and thermodynamic research." @@ -49,7 +49,7 @@ CATEGORY: Reference
    Phoron research and study is a vital subject of research -- it has been a pillar of humanity's progress, a staple of the technology that has shaped our society. To work on expanding our knowledge and shape our future in the cosmos is a noble cause, but it should be done with caution.

    - This is not to speak on safety in your lab, but the consequences of action. Many times has man created the unthinkable, and many times we have not been prepared for such discoveries. We should not censor ourselves from advancement, but we should shape the world to be ready for what comes with it – and know that it is an invariable consequence there will be those who seek to abuse it. + This is not to speak on safety in your lab, but the consequences of action. Many times has man created the unthinkable, and many times we have not been prepared for such discoveries. We should not censor ourselves from advancement, but we should shape the world to be ready for what comes with it � and know that it is an invariable consequence there will be those who seek to abuse it.

    You cannot take back what you give to the world. @@ -160,4 +160,4 @@ CATEGORY: Reference
    - "}) \ No newline at end of file + "}) diff --git a/code/modules/library/hardcode_library/religious/PortedBooks.dm b/code/modules/library/hardcode_library/religious/PortedBooks.dm index 36c4e657028..af92a062ff8 100644 --- a/code/modules/library/hardcode_library/religious/PortedBooks.dm +++ b/code/modules/library/hardcode_library/religious/PortedBooks.dm @@ -7,7 +7,7 @@ Category: Religion ///A Basic Understanding of Zoroastrianism by Satrap -/obj/item/weapon/book/bundle/custom_library/religious/zoroastrianism +/obj/item/book/bundle/custom_library/religious/zoroastrianism name = "A Basic Understanding of Zoroastrianism" desc = "A hardbound book titled \"A Basic Understanding of Zoroastrianism\" by Satrap." description_info = "This book is titled \"A Basic Understanding of Zoroastrianism\" by Satrap. It covers the basics of Zoroastrianism -- an old religion originating on Earth -- as well as its influence on other religions." @@ -84,7 +84,7 @@ Category: Religion /// The Way of the Bleeding Swan by Shra'ziir Krin Enai-Rinrijar. I have no idea what this is about but it was in religion. -/obj/item/weapon/book/custom_library/religious/wayofbleedingswan +/obj/item/book/custom_library/religious/wayofbleedingswan name = "The Way of the Bleeding Swan" desc = "A hardbound book titled \"The Way of the Bleeding Swan\" by Shra'ziir Krin Enai-Rinrijar." description_info = "This book is titled \"The Way of the Bleeding Swan\" by Shra'ziir Krin Enai-Rinrijar. It appears religious in nature." @@ -171,7 +171,7 @@ Category: Religion /// The Sun Goddess of Korea by Korean Folklore -/obj/item/weapon/book/custom_library/religious/sungoddessofkorea +/obj/item/book/custom_library/religious/sungoddessofkorea name = "The Sun Goddess of Korea" desc = "A hardbound book titled \"The Sun Goddess of Korea\" as provided by the Earth Religion Preservation Team." @@ -208,7 +208,7 @@ Category: Religion /// The Story of Lord Ganesha by Hindu Folklore -/obj/item/weapon/book/custom_library/religious/storyoflordganesha +/obj/item/book/custom_library/religious/storyoflordganesha name = "The Story of Lord Ganesha" desc = "A hardbound book titled \"The Story of Lord Ganesha\" as provided by the Earth Religion Preservation Team." @@ -249,7 +249,7 @@ Category: Religion /// Feast of Kubera by Hindu Folklore -/obj/item/weapon/book/custom_library/religious/feastofkubera +/obj/item/book/custom_library/religious/feastofkubera name = "Feast of Kubera" desc = "A hardbound book titled \"The Story of Lord Ganesha\" as provided by the Earth Religion Preservation Team." diff --git a/code/modules/library/lib_items.dm b/code/modules/library/lib_items.dm index db94ed64010..45598b0126d 100644 --- a/code/modules/library/lib_items.dm +++ b/code/modules/library/lib_items.dm @@ -23,16 +23,16 @@ /obj/structure/bookcase/Initialize() . = ..() for(var/obj/item/I in loc) - if(istype(I, /obj/item/weapon/book)) + if(istype(I, /obj/item/book)) I.loc = src update_icon() /obj/structure/bookcase/attackby(obj/item/O as obj, mob/user as mob) - if(istype(O, /obj/item/weapon/book)) + if(istype(O, /obj/item/book)) user.drop_item() O.loc = src update_icon() - else if(istype(O, /obj/item/weapon/pen)) + else if(istype(O, /obj/item/pen)) var/newname = sanitizeSafe(tgui_input_text(usr, "What would you like to title this bookshelf?", null, null, MAX_NAME_LEN), MAX_NAME_LEN) if(!newname) return @@ -40,15 +40,15 @@ name = ("bookcase ([newname])") else if(O.has_tool_quality(TOOL_WRENCH)) playsound(src, O.usesound, 100, 1) - to_chat(user, (anchored ? "You unfasten \the [src] from the floor." : "You secure \the [src] to the floor.")) + to_chat(user, (anchored ? span_notice("You unfasten \the [src] from the floor.") : span_notice("You secure \the [src] to the floor."))) anchored = !anchored else if(O.has_tool_quality(TOOL_SCREWDRIVER)) playsound(src, O.usesound, 75, 1) - to_chat(user, "You begin dismantling \the [src].") + to_chat(user, span_notice("You begin dismantling \the [src].")) if(do_after(user,25 * O.toolspeed)) - to_chat(user, "You dismantle \the [src].") + to_chat(user, span_notice("You dismantle \the [src].")) new /obj/item/stack/material/wood(get_turf(src), 3) - for(var/obj/item/weapon/book/b in contents) + for(var/obj/item/book/b in contents) b.loc = (get_turf(src)) qdel(src) @@ -57,7 +57,7 @@ /obj/structure/bookcase/attack_hand(var/mob/user as mob) if(contents.len) - var/obj/item/weapon/book/choice = tgui_input_list(usr, "Which book would you like to remove from the shelf?", "Book Selection", contents) + var/obj/item/book/choice = tgui_input_list(usr, "Which book would you like to remove from the shelf?", "Book Selection", contents) if(choice) if(!usr.canmove || usr.stat || usr.restrained() || !in_range(loc, usr)) return @@ -71,19 +71,19 @@ /obj/structure/bookcase/ex_act(severity) switch(severity) if(1.0) - for(var/obj/item/weapon/book/b in contents) + for(var/obj/item/book/b in contents) qdel(b) qdel(src) return if(2.0) - for(var/obj/item/weapon/book/b in contents) + for(var/obj/item/book/b in contents) if (prob(50)) b.loc = (get_turf(src)) else qdel(b) qdel(src) return if(3.0) if (prob(50)) - for(var/obj/item/weapon/book/b in contents) + for(var/obj/item/book/b in contents) b.loc = (get_turf(src)) qdel(src) return @@ -108,7 +108,7 @@ Book Cart opacity = 0 /obj/structure/bookcase/bookcart/attackby(obj/item/O as obj, mob/user as mob) - if(istype(O, /obj/item/weapon/book)) + if(istype(O, /obj/item/book)) user.drop_item() O.loc = src update_icon() @@ -130,10 +130,10 @@ Book Cart End /obj/structure/bookcase/manuals/medical/New() ..() - new /obj/item/weapon/book/manual/medical_cloning(src) - new /obj/item/weapon/book/manual/medical_diagnostics_manual(src) - new /obj/item/weapon/book/manual/medical_diagnostics_manual(src) - new /obj/item/weapon/book/manual/medical_diagnostics_manual(src) + new /obj/item/book/manual/medical_cloning(src) + new /obj/item/book/manual/wiki/medical_diagnostics_manual(src) + new /obj/item/book/manual/wiki/medical_diagnostics_manual(src) + new /obj/item/book/manual/wiki/medical_diagnostics_manual(src) update_icon() @@ -142,13 +142,13 @@ Book Cart End /obj/structure/bookcase/manuals/engineering/New() ..() - new /obj/item/weapon/book/manual/engineering_construction(src) - new /obj/item/weapon/book/manual/engineering_particle_accelerator(src) - new /obj/item/weapon/book/manual/engineering_hacking(src) - new /obj/item/weapon/book/manual/engineering_guide(src) - new /obj/item/weapon/book/manual/atmospipes(src) - new /obj/item/weapon/book/manual/engineering_singularity_safety(src) - new /obj/item/weapon/book/manual/evaguide(src) + new /obj/item/book/manual/wiki/engineering_construction(src) + new /obj/item/book/manual/engineering_particle_accelerator(src) + new /obj/item/book/manual/wiki/engineering_hacking(src) + new /obj/item/book/manual/wiki/engineering_guide(src) + new /obj/item/book/manual/atmospipes(src) + new /obj/item/book/manual/engineering_singularity_safety(src) + new /obj/item/book/manual/evaguide(src) update_icon() /obj/structure/bookcase/manuals/research_and_development @@ -156,14 +156,14 @@ Book Cart End /obj/structure/bookcase/manuals/research_and_development/New() ..() - new /obj/item/weapon/book/manual/research_and_development(src) + new /obj/item/book/manual/research_and_development(src) update_icon() /* * Book */ -/obj/item/weapon/book +/obj/item/book name = "book" icon = 'icons/obj/library.dmi' icon_state ="book" @@ -188,18 +188,18 @@ Book Cart End drop_sound = 'sound/items/drop/book.ogg' pickup_sound = 'sound/items/pickup/book.ogg' -/obj/item/weapon/book/attack_self(var/mob/user as mob) +/obj/item/book/attack_self(var/mob/user as mob) if(carved) if(store) - to_chat(user, "[store] falls out of [title]!") + to_chat(user, span_notice("[store] falls out of [title]!")) store.loc = get_turf(src.loc) store = null return else - to_chat(user, "The pages of [title] have been cut out!") + to_chat(user, span_notice("The pages of [title] have been cut out!")) return if(src.dat) - user << browse("Penned by [author].
    " + "[dat]", "window=book") + display_content(user) user.visible_message("[user] opens a book titled \"[src.title]\" and begins reading intently.") playsound(src, 'sound/bureaucracy/bookopen.ogg', 50, 1) onclose(user, "book") @@ -207,22 +207,25 @@ Book Cart End else to_chat(user, "This book is completely blank!") -/obj/item/weapon/book/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/item/book/proc/display_content(mob/living/user) + user << browse("Penned by [author].
    " + "[dat]", "window=book") + +/obj/item/book/attackby(obj/item/W as obj, mob/user as mob) if(carved) if(!store) if(W.w_class < ITEMSIZE_LARGE) user.drop_item() W.loc = src store = W - to_chat(user, "You put [W] in [title].") + to_chat(user, span_notice("You put [W] in [title].")) return else - to_chat(user, "[W] won't fit in [title].") + to_chat(user, span_notice("[W] won't fit in [title].")) return else - to_chat(user, "There's already something in [title]!") + to_chat(user, span_notice("There's already something in [title]!")) return - if(istype(W, /obj/item/weapon/pen)) + if(istype(W, /obj/item/pen)) if(unique) to_chat(user, "These pages don't seem to take the ink well. Looks like you can't modify it.") return @@ -252,8 +255,8 @@ Book Cart End src.author = newauthor else return - else if(istype(W, /obj/item/weapon/barcodescanner)) - var/obj/item/weapon/barcodescanner/scanner = W + else if(istype(W, /obj/item/barcodescanner)) + var/obj/item/barcodescanner/scanner = W if(!scanner.computer) to_chat(user, "[W]'s screen flashes: 'No associated computer found!'") else @@ -275,44 +278,44 @@ Book Cart End to_chat(user, "[W]'s screen flashes: 'Book stored in buffer. No active check-out record found for current title.'") if(3) scanner.book = src - for(var/obj/item/weapon/book in scanner.computer.inventory) + for(var/obj/item/book in scanner.computer.inventory) if(book == src) to_chat(user, "[W]'s screen flashes: 'Book stored in buffer. Title already present in inventory, aborting to avoid duplicate entry.'") return scanner.computer.inventory.Add(src) to_chat(user, "[W]'s screen flashes: 'Book stored in buffer. Title added to general inventory.'") - else if(istype(W, /obj/item/weapon/material/knife) || W.has_tool_quality(TOOL_WIRECUTTER)) + else if(istype(W, /obj/item/material/knife) || W.has_tool_quality(TOOL_WIRECUTTER)) if(carved) return - to_chat(user, "You begin to carve out [title].") + to_chat(user, span_notice("You begin to carve out [title].")) if(do_after(user, 30)) - to_chat(user, "You carve out the pages from [title]! You didn't want to read it anyway.") + to_chat(user, span_notice("You carve out the pages from [title]! You didn't want to read it anyway.")) playsound(src, 'sound/bureaucracy/papercrumple.ogg', 50, 1) - new /obj/item/weapon/shreddedp(get_turf(src)) + new /obj/item/shreddedp(get_turf(src)) carved = 1 return else ..() -/obj/item/weapon/book/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) +/obj/item/book/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) if(user.zone_sel.selecting == O_EYES) - user.visible_message("You open up the book and show it to [M]. ", \ - " [user] opens up a book and shows it to [M]. ") - M << browse("Penned by [author].
    " + "[dat]", "window=book") + user.visible_message(span_notice("You open up the book and show it to [M]."), \ + span_notice(" [user] opens up a book and shows it to [M].")) + display_content(M) user.setClickCooldown(DEFAULT_QUICK_COOLDOWN) //to prevent spam /* * Book Bundle (Multi-page book) */ -/obj/item/weapon/book/bundle +/obj/item/book/bundle var/page = 1 //current page var/list/pages = list() //the contents of each page -/obj/item/weapon/book/bundle/proc/show_content(mob/user as mob) +/obj/item/book/bundle/proc/show_content(mob/user as mob) if(!pages.len) return var/dat - var/obj/item/weapon/W = pages[page] + var/obj/item/W = pages[page] // first if(page == 1) dat+= "" @@ -325,15 +328,15 @@ Book Cart End else dat+= "" dat+= "

    " - if(istype(pages[page], /obj/item/weapon/paper)) - var/obj/item/weapon/paper/P = W + if(istype(pages[page], /obj/item/paper)) + var/obj/item/paper/P = W if(!(istype(usr, /mob/living/carbon/human) || isobserver(usr) || istype(usr, /mob/living/silicon))) dat += "[P.name][stars(P.info)][P.stamps]" else dat += "[P.name][P.info][P.stamps]" user << browse(dat, "window=[name]") - else if(istype(pages[page], /obj/item/weapon/photo)) - var/obj/item/weapon/photo/P = W + else if(istype(pages[page], /obj/item/photo)) + var/obj/item/photo/P = W user << browse_rsc(P.img, "tmp_photo.png") user << browse(dat + "[P.name]" \ + "" \ @@ -347,16 +350,16 @@ Book Cart End dat += "Page [page][pages[page]]" user << browse(dat, "window=[name]") -/obj/item/weapon/book/bundle/attack_self(mob/user as mob) +/obj/item/book/bundle/attack_self(mob/user as mob) src.show_content(user) add_fingerprint(usr) update_icon() return -/obj/item/weapon/book/bundle/Topic(href, href_list) +/obj/item/book/bundle/Topic(href, href_list) if(..()) return 1 - if((src in usr.contents) || (istype(src.loc, /obj/item/weapon/folder) && (src.loc in usr.contents))) + if((src in usr.contents) || (istype(src.loc, /obj/item/folder) && (src.loc in usr.contents))) usr.set_machine(src) if(href_list["next_page"]) if(page != pages.len) @@ -369,12 +372,12 @@ Book Cart End src.attack_self(usr) updateUsrDialog() else - to_chat(usr, "You need to hold it in your hands!") + to_chat(usr, span_notice("You need to hold it in your hands!")) /* * Barcode Scanner */ -/obj/item/weapon/barcodescanner +/obj/item/barcodescanner name = "barcode scanner" icon = 'icons/obj/library.dmi' icon_state ="scanner" @@ -382,10 +385,10 @@ Book Cart End throw_range = 5 w_class = ITEMSIZE_SMALL var/obj/machinery/librarycomp/computer // Associated computer - Modes 1 to 3 use this - var/obj/item/weapon/book/book // Currently scanned book + var/obj/item/book/book // Currently scanned book var/mode = 0 // 0 - Scan only, 1 - Scan and Set Buffer, 2 - Scan and Attempt to Check In, 3 - Scan and Attempt to Add to Inventory -/obj/item/weapon/barcodescanner/attack_self(mob/user as mob) +/obj/item/barcodescanner/attack_self(mob/user as mob) mode += 1 if(mode > 3) mode = 0 diff --git a/code/modules/library/lib_machines.dm b/code/modules/library/lib_machines.dm index 3af5a829f74..06edbb03315 100644 --- a/code/modules/library/lib_machines.dm +++ b/code/modules/library/lib_machines.dm @@ -43,11 +43,11 @@ Filter by Author: [author]
    \[Start Search\]
    "} if(1) - establish_old_db_connection() + establish_db_connection() if(!dbcon_old.IsConnected()) - dat += "ERROR: Unable to contact External Archive. Please contact your system administrator for assistance.
    " + dat += span_red(span_bold("ERROR") + ": Unable to contact External Archive. Please contact your system administrator for assistance.") + "
    " else if(!SQLquery) - dat += "ERROR: Malformed search request. Please contact your system administrator for assistance.
    " + dat += span_red(span_bold("ERROR") + ": Malformed search request. Please contact your system administrator for assistance.") + "
    " else dat += {""} @@ -143,29 +143,29 @@ if(!base_genre_books || !base_genre_books.len) base_genre_books = list( - /obj/item/weapon/book/custom_library/fiction, - /obj/item/weapon/book/custom_library/nonfiction, - /obj/item/weapon/book/custom_library/reference, - /obj/item/weapon/book/custom_library/religious, - /obj/item/weapon/book/bundle/custom_library/fiction, - /obj/item/weapon/book/bundle/custom_library/nonfiction, - /obj/item/weapon/book/bundle/custom_library/reference, - /obj/item/weapon/book/bundle/custom_library/religious + /obj/item/book/custom_library/fiction, + /obj/item/book/custom_library/nonfiction, + /obj/item/book/custom_library/reference, + /obj/item/book/custom_library/religious, + /obj/item/book/bundle/custom_library/fiction, + /obj/item/book/bundle/custom_library/nonfiction, + /obj/item/book/bundle/custom_library/reference, + /obj/item/book/bundle/custom_library/religious ) if(!all_books || !all_books.len) all_books = list() - for(var/path in subtypesof(/obj/item/weapon/book/codex/lore)) - var/obj/item/weapon/book/C = new path(null) + for(var/path in subtypesof(/obj/item/book/codex/lore)) + var/obj/item/book/C = new path(null) all_books[C.name] = C - for(var/path in subtypesof(/obj/item/weapon/book/custom_library) - base_genre_books) - var/obj/item/weapon/book/B = new path(null) + for(var/path in subtypesof(/obj/item/book/custom_library) - base_genre_books) + var/obj/item/book/B = new path(null) all_books[B.title] = B - for(var/path in subtypesof(/obj/item/weapon/book/bundle/custom_library) - base_genre_books) - var/obj/item/weapon/book/M = new path(null) + for(var/path in subtypesof(/obj/item/book/bundle/custom_library) - base_genre_books) + var/obj/item/book/M = new path(null) all_books[M.title] = M /obj/machinery/librarycomp/attack_hand(var/mob/user as mob) @@ -184,15 +184,15 @@ if(src.emagged) dat += "7. Access the Forbidden Lore Vault
    " if(src.arcanecheckout) - new /obj/item/weapon/book/tome(src.loc) + new /obj/item/book/tome(src.loc) var/datum/gender/T = gender_datums[user.get_visible_gender()] - to_chat(user, "Your sanity barely endures the seconds spent in the vault's browsing window. The only thing to remind you of this when you stop browsing is a dusty old tome sitting on the desk. You don't really remember printing it.") - user.visible_message("\The [user] stares at the blank screen for a few moments, [T.his] expression frozen in fear. When [T.he] finally awakens from it, [T.he] looks a lot older.", 2) + to_chat(user, span_warning("Your sanity barely endures the seconds spent in the vault's browsing window. The only thing to remind you of this when you stop browsing is a dusty old tome sitting on the desk. You don't really remember printing it.")) + user.visible_message(span_infoplain(span_bold("\The [user]") + " stares at the blank screen for a few moments, [T.his] expression frozen in fear. When [T.he] finally awakens from it, [T.he] looks a lot older."), 2) src.arcanecheckout = 0 if(1) // Inventory dat += "

    Inventory


    " - for(var/obj/item/weapon/book/b in inventory) + for(var/obj/item/book/b in inventory) dat += "[b.name] (Delete)
    " dat += "(Return to main menu)
    " if(2) @@ -207,7 +207,7 @@ //timedue *= 10 timedue /= 600 if(timedue <= 0) - timedue = "(OVERDUE) [timedue]" + timedue = span_red(span_bold("(OVERDUE)") + " [timedue]") else timedue = round(timedue) dat += {"\"[b.bookname]\", Checked out to: [b.mobname]
    --- Taken: [timetaken] minutes ago, Due: in [timedue] minutes
    @@ -228,13 +228,13 @@ if(4) dat += "

    Internal Archive

    " if(!all_books || !all_books.len) - dat += "ERROR Something has gone seriously wrong. Contact System Administrator for more information." + dat += span_red(span_bold("ERROR") + " Something has gone seriously wrong. Contact System Administrator for more information.") else dat += {"
    AUTHORTITLECATEGORYSS13BN
    " else diff --git a/code/modules/persistence/effects/paper_sticky.dm b/code/modules/persistence/effects/paper_sticky.dm index 0b1a0f57c96..dd7d81f6d41 100644 --- a/code/modules/persistence/effects/paper_sticky.dm +++ b/code/modules/persistence/effects/paper_sticky.dm @@ -1,6 +1,6 @@ /datum/persistent/paper/sticky name = "stickynotes" - paper_type = /obj/item/weapon/paper/sticky + paper_type = /obj/item/paper/sticky requires_noticeboard = FALSE /datum/persistent/paper/sticky/CreateEntryInstance(var/turf/creating, var/list/token) @@ -19,7 +19,7 @@ /datum/persistent/paper/sticky/CompileEntry(var/atom/entry, var/write_file) . = ..() - var/obj/item/weapon/paper/sticky/paper = entry + var/obj/item/paper/sticky/paper = entry LAZYADDASSOC(., "offset_x", paper.pixel_x) LAZYADDASSOC(., "offset_y", paper.pixel_y) LAZYADDASSOC(., "color", paper.color) \ No newline at end of file diff --git a/code/modules/persistence/graffiti.dm b/code/modules/persistence/graffiti.dm index feb561f482d..033aa212d55 100644 --- a/code/modules/persistence/graffiti.dm +++ b/code/modules/persistence/graffiti.dm @@ -30,7 +30,7 @@ random_icon_states.Remove(W.icon_state) if(random_icon_states.len) icon_state = pick(random_icon_states) - if(!mapload || !config.persistence_ignore_mapload) + if(!mapload || !CONFIG_GET(flag/persistence_ignore_mapload)) SSpersistence.track_value(src, /datum/persistent/graffiti) . = ..() @@ -44,25 +44,25 @@ /obj/effect/decal/writing/attackby(var/obj/item/thing, var/mob/user) if(thing.has_tool_quality(TOOL_WELDER)) - var/obj/item/weapon/weldingtool/welder = thing.get_welder() + var/obj/item/weldingtool/welder = thing.get_welder() if(welder.isOn() && welder.remove_fuel(0,user) && do_after(user, 5, src) && !QDELETED(src)) playsound(src.loc, welder.usesound, 50, 1) - user.visible_message("\The [user] clears away some graffiti.") + user.visible_message(span_infoplain(span_bold("\The [user]") + " clears away some graffiti.")) qdel(src) else if(thing.sharp) - if(jobban_isbanned(user, "Graffiti")) - to_chat(user, SPAN_WARNING("You are banned from leaving persistent information across rounds.")) + if(jobban_isbanned(user, JOB_GRAFFITI)) + to_chat(user, span_warning("You are banned from leaving persistent information across rounds.")) return var/_message = sanitize(tgui_input_text(usr, "Enter an additional message to engrave.", "Graffiti"), trim = TRUE) if(_message && loc && user && !user.incapacitated() && user.Adjacent(loc) && thing.loc == user) - user.visible_message("\The [user] begins carving something into \the [loc].") + user.visible_message(span_warning("\The [user] begins carving something into \the [loc].")) if(do_after(user, max(20, length(_message)), src) && loc) - user.visible_message("\The [user] carves some graffiti into \the [loc].") + user.visible_message(span_danger("\The [user] carves some graffiti into \the [loc].")) message = "[message] [_message]" author = user.ckey if(lowertext(message) == "elbereth") - to_chat(user, "You feel much safer.") + to_chat(user, span_notice("You feel much safer.")) else . = ..() diff --git a/code/modules/persistence/noticeboard.dm b/code/modules/persistence/noticeboard.dm index 54f07d2a589..7282ac3e265 100644 --- a/code/modules/persistence/noticeboard.dm +++ b/code/modules/persistence/noticeboard.dm @@ -15,7 +15,7 @@ // Grab any mapped notices. notices = list() - for(var/obj/item/weapon/paper/note in get_turf(src)) + for(var/obj/item/paper/note in get_turf(src)) note.forceMove(src) LAZYADD(notices, note) if(LAZYLEN(notices) >= max_notices) @@ -56,7 +56,7 @@ /obj/structure/noticeboard/attackby(obj/item/I, mob/user) if(I.has_tool_quality(TOOL_SCREWDRIVER)) - var/choice = tgui_input_list(usr, "Which direction do you wish to place the noticeboard?", "Noticeboard Offset", list("North", "South", "East", "West", "No Offset")) + var/choice = tgui_input_list(user, "Which direction do you wish to place the noticeboard?", "Noticeboard Offset", list("North", "South", "East", "West", "No Offset")) if(choice && Adjacent(user) && I.loc == user && !user.incapacitated()) playsound(loc, 'sound/items/Screwdriver.ogg', 50, 1) switch(choice) @@ -76,23 +76,23 @@ return return else if(I.has_tool_quality(TOOL_WRENCH)) - visible_message("[user] begins dismantling [src].") + visible_message(span_warning("[user] begins dismantling [src].")) playsound(loc, 'sound/items/Ratchet.ogg', 50, 1) if(do_after(user, 50, src)) - visible_message("[user] has dismantled [src]!") + visible_message(span_danger("[user] has dismantled [src]!")) dismantle() return - else if(istype(I, /obj/item/weapon/paper) || istype(I, /obj/item/weapon/photo)) - if(jobban_isbanned(user, "Graffiti")) - to_chat(user, "You are banned from leaving persistent information across rounds.") + else if(istype(I, /obj/item/paper) || istype(I, /obj/item/photo)) + if(jobban_isbanned(user, JOB_GRAFFITI)) + to_chat(user, span_warning("You are banned from leaving persistent information across rounds.")) else if(LAZYLEN(notices) < max_notices && user.unEquip(I, src)) add_fingerprint(user) add_paper(I) - to_chat(user, "You pin [I] to [src].") + to_chat(user, span_notice("You pin [I] to [src].")) SSpersistence.track_value(I, /datum/persistent/paper) else - to_chat(user, "You hesitate, certain [I] will not be seen among the many others already attached to \the [src].") + to_chat(user, span_warning("You hesitate, certain [I] will not be seen among the many others already attached to \the [src].")) return return ..() @@ -119,54 +119,54 @@ var/list/tgui_notices = list() for(var/obj/item/I in src.notices) tgui_notices.Add(list(list( - "ispaper" = istype(I, /obj/item/weapon/paper), - "isphoto" = istype(I, /obj/item/weapon/photo), + "ispaper" = istype(I, /obj/item/paper), + "isphoto" = istype(I, /obj/item/photo), "name" = I.name, "ref" = "\ref[I]", ))) data["notices"] = tgui_notices return data -/obj/structure/noticeboard/tgui_act(action, params) +/obj/structure/noticeboard/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE switch(action) if("read") - var/obj/item/weapon/paper/P = locate(params["ref"]) + var/obj/item/paper/P = locate(params["ref"]) if(P && P.loc == src) - P.show_content(usr) + P.show_content(ui.user) . = TRUE if("look") - var/obj/item/weapon/photo/P = locate(params["ref"]) + var/obj/item/photo/P = locate(params["ref"]) if(P && P.loc == src) - P.show(usr) + P.show(ui.user) . = TRUE if("remove") - if(!in_range(src, usr)) + if(!in_range(src, ui.user)) return FALSE var/obj/item/I = locate(params["ref"]) remove_paper(I) if(istype(I)) - usr.put_in_hands(I) - add_fingerprint(usr) + ui.user.put_in_hands(I) + add_fingerprint(ui.user) . = TRUE if("write") - if(!in_range(src, usr)) + if(!in_range(src, ui.user)) return FALSE var/obj/item/P = locate(params["ref"]) if((P && P.loc == src)) //if the paper's on the board - var/mob/living/M = usr + var/mob/living/M = ui.user if(istype(M)) - var/obj/item/weapon/pen/E = M.get_type_in_hands(/obj/item/weapon/pen) + var/obj/item/pen/E = M.get_type_in_hands(/obj/item/pen) if(E) add_fingerprint(M) - P.attackby(E, usr) + P.attackby(E, ui.user) else - to_chat(M, "You'll need something to write with!") + to_chat(M, span_notice("You'll need something to write with!")) . = TRUE /obj/structure/noticeboard/anomaly @@ -174,37 +174,37 @@ icon_state = "nboard05" /obj/structure/noticeboard/anomaly/New() - var/obj/item/weapon/paper/P = new() + var/obj/item/paper/P = new() P.name = "Memo RE: proper analysis procedure" P.info = "
    We keep test dummies in pens here for a reason, so standard procedure should be to activate newfound alien artifacts and place the two in close proximity. Promising items I might even approve monkey testing on." - P.stamped = list(/obj/item/weapon/stamp/rd) + P.stamped = list(/obj/item/stamp/rd) P.add_overlay("paper_stamped_rd") contents += P P = new() P.name = "Memo RE: materials gathering" P.info = "Corasang,
    the hands-on approach to gathering our samples may very well be slow at times, but it's safer than allowing the blundering miners to roll willy-nilly over our dig sites in their mechs, destroying everything in the process. And don't forget the escavation tools on your way out there!
    - R.W" - P.stamped = list(/obj/item/weapon/stamp/rd) + P.stamped = list(/obj/item/stamp/rd) P.add_overlay("paper_stamped_rd") contents += P P = new() P.name = "Memo RE: ethical quandaries" P.info = "Darion-

    I don't care what his rank is, our business is that of science and knowledge - questions of moral application do not come into this. Sure, so there are those who would employ the energy-wave particles my modified device has managed to abscond for their own personal gain, but I can hardly see the practical benefits of some of these artifacts our benefactors left behind. Ward--" - P.stamped = list(/obj/item/weapon/stamp/rd) + P.stamped = list(/obj/item/stamp/rd) P.add_overlay("paper_stamped_rd") contents += P P = new() P.name = "READ ME! Before you people destroy any more samples" P.info = "how many times do i have to tell you people, these xeno-arch samples are del-i-cate, and should be handled so! careful application of a focussed, concentrated heat or some corrosive liquids should clear away the extraneous carbon matter, while application of an energy beam will most decidedly destroy it entirely - like someone did to the chemical dispenser! W, the one who signs your paychecks" - P.stamped = list(/obj/item/weapon/stamp/rd) + P.stamped = list(/obj/item/stamp/rd) P.add_overlay("paper_stamped_rd") contents += P P = new() P.name = "Reminder regarding the anomalous material suits" P.info = "Do you people think the anomaly suits are cheap to come by? I'm about a hair trigger away from instituting a log book for the damn things. Only wear them if you're going out for a dig, and for god's sake don't go tramping around in them unless you're field testing something, R" - P.stamped = list(/obj/item/weapon/stamp/rd) + P.stamped = list(/obj/item/stamp/rd) P.add_overlay("paper_stamped_rd") - contents += P \ No newline at end of file + contents += P diff --git a/code/modules/persistence/noticeboard_yw.dm b/code/modules/persistence/noticeboard_yw.dm index 50256d441a1..58ef51360ec 100644 --- a/code/modules/persistence/noticeboard_yw.dm +++ b/code/modules/persistence/noticeboard_yw.dm @@ -7,17 +7,17 @@ icon_state = "nboard02" /obj/structure/noticeboard/medical/New() - var/obj/item/weapon/paper/P = new() + var/obj/item/paper/P = new() P.name = "Staff Notice: Patient rooms" P.info = "
    No matter how many times I've said this, it doesn't seem to stick, so I'm leaving this reminder: Screwing patients in the patient rooms is a serious breach of professionality and your code of ethics. Take it to the dorms." - P.stamped = list(/obj/item/weapon/stamp/cmo) + P.stamped = list(/obj/item/stamp/cmo) P.overlays = list("paper_stamped_cmo") src.contents += P - + P = new() P.name = "Staff Notice: Breakroom \& Storage" P.info = "
    Enjoy the view from the new breakroom. You've also got a storage room full of leftover supplies from the shift before yours." - P.stamped = list(/obj/item/weapon/stamp/cmo) + P.stamped = list(/obj/item/stamp/cmo) P.overlays = list("paper_stamped_cmo") src.contents += P @@ -27,10 +27,10 @@ icon_state = "nboard01" /obj/structure/noticeboard/toxins/New() - var/obj/item/weapon/paper/P = new() + var/obj/item/paper/P = new() P.name = "Staff Notice: Toxins Mixing" P.info = "
    Toxins Mixing is currently shut down for the time being, due to damage requiring parts from off station to fix. Please do not use at this time, or risk setting the entire outpost on fire." - P.stamped = list(/obj/item/weapon/stamp/rd) + P.stamped = list(/obj/item/stamp/rd) P.overlays = list("paper_stamped_rd") src.contents += P @@ -40,10 +40,10 @@ icon_state = "nboard01" /obj/structure/noticeboard/nanite/New() - var/obj/item/weapon/paper/P = new() + var/obj/item/paper/P = new() P.name = "Staff Notice: Nanite Laboratory" P.info = "
    The Nanite Laboratory is nearly complete. We're simply awaiting specialized machinery and equipment from central. The lab is currently shut down. Please do not use at this time." - P.stamped = list(/obj/item/weapon/stamp/rd) + P.stamped = list(/obj/item/stamp/rd) P.overlays = list("paper_stamped_rd") src.contents += P @@ -53,10 +53,10 @@ icon_state = "nboard01" /obj/structure/noticeboard/blueshield/New() - var/obj/item/weapon/paper/P = new() + var/obj/item/paper/P = new() P.name = "Staff Notice: Blueshield Special Reserve" P.info = "
    This secure storage unit is intended to be used for special equipment specifically for the use of Blueshield Agents in the event of a Code Red threat to Heads of Staff. Heads of Staff found 'commandeering' this equipment can expect to be severely reprimanded.

    (Underneath, there is a messy handwritten addition.)
    Sorry, we haven't had time or spare funds to issue anything yet. You know how frontier budgets are! Sit tight, champ. -Z.V." - P.stamped = list(/obj/item/weapon/stamp/centcomm) + P.stamped = list(/obj/item/stamp/centcomm) P.overlays = list("paper_stamped_cent") src.contents += P @@ -65,7 +65,7 @@ icon_state = "nboard02" /obj/structure/noticeboard/library/New() - var/obj/item/weapon/paper/P = new() + var/obj/item/paper/P = new() P.name = "Library Warning: coffee stains" P.info = "
    I seem to tell you guys this daily, but please, stop bringing coffee to carpeted areas. It's hard enough to get the stains off wood,let alone carpet." src.contents += P @@ -80,24 +80,24 @@ icon_state = "nboard03" /obj/structure/noticeboard/exploration/New() - var/obj/item/weapon/paper/P = new() + var/obj/item/paper/P = new() P.name = "Memo: Prototype ship" P.info = "
    With the lost of our last Research installation and the damage sustained to the old exploration shuttle,We've decided to finally approve the construction of the Prototype Star-Runner class Exploration Vessel. Keep in mind it's a prototype, so try not to scratch it's paint. We don't have a second." - P.stamped = list(/obj/item/weapon/stamp/centcomm) + P.stamped = list(/obj/item/stamp/centcomm) P.overlays = list("paper_stamped_cent") src.contents += P P = new() P.name = "Memo RE: Expedition Requirements" P.info = "Jones,
    For the last time, Expeditions regulations require atleast three crew members, including the Pathfinder and/or Research Director. The next time you activate your bluespace drive with less then that, and you're fired from the department.I won't have this conversation again.
    - R.F" - P.stamped = list(/obj/item/weapon/stamp/rd) + P.stamped = list(/obj/item/stamp/rd) P.overlays = list("paper_stamped_rd") src.contents += P P = new() P.name = "Memo RE: Pilot duties" P.info = "Pilots, As you're fully aware, we're on the edge of civilized space out here.
    Leaving the shuttle area is dangerious. This is why the Prototype is equipped with a proper camera system to keep an eye on the explorers. If you get yourselves killed, and an explorer has to crash land the ship back here, the company is NOT going to be happy.
    - R.F" - P.stamped = list(/obj/item/weapon/stamp/rd) + P.stamped = list(/obj/item/stamp/rd) P.overlays = list("paper_stamped_rd") src.contents += P @@ -106,9 +106,9 @@ icon_state = "nboard01" /obj/structure/noticeboard/airlock/New() - var/obj/item/weapon/paper/P = new() + var/obj/item/paper/P = new() P.name = "Staff Notice: Airlock Proceedure" P.info = "
    Due to the large amount of new staff unfamiliar with our proceedures we've left you some instructions.
    To exit through an airlock, simply hit the button to open the interior, and then cycle to exterior once inside. To re-enter the station, enter the airlock, Close the exterior hatch, and look for the customized thermal regulators installed on the wall.
    This should heat up the air in the airlock, allowing you to open the interior door with no issues." - P.stamped = list(/obj/item/weapon/stamp/captain) + P.stamped = list(/obj/item/stamp/captain) P.overlays = list("paper_stamp-cap") - src.contents += P \ No newline at end of file + src.contents += P diff --git a/code/modules/persistence/storage/smartfridge.dm b/code/modules/persistence/storage/smartfridge.dm index addb37ed16d..fd019cfa130 100644 --- a/code/modules/persistence/storage/smartfridge.dm +++ b/code/modules/persistence/storage/smartfridge.dm @@ -55,7 +55,7 @@ . = list() for(var/obj/item/stack/material/S as anything in L) var/real_path = istext(S) ? text2path(S) : S - if(!ispath(real_path, /obj/item/stack/material)) + if(!ispath(real_path, /obj/item/stack/material) || ispath(real_path, /obj/item/stack/material/cyborg)) log_debug("Warning: Sheet_storage persistent datum tried to create [S]") continue @@ -104,7 +104,7 @@ . += A /datum/persistent/storage/smartfridge/produce/create_item(var/seedtype) - return new /obj/item/weapon/reagent_containers/food/snacks/grown(null, seedtype) // Smartfridge will be stock()ed with it, loc is unimportant + return new /obj/item/reagent_containers/food/snacks/grown(null, seedtype) // Smartfridge will be stock()ed with it, loc is unimportant /datum/persistent/storage/smartfridge/produce/get_storage_list(var/obj/machinery/smartfridge/produce/entry) if(!istype(entry)) @@ -115,7 +115,7 @@ if(prob(go_missing_chance)) continue if(LAZYLEN(I.instances)) - var/obj/item/weapon/reagent_containers/food/snacks/grown/G = I.instances[1] + var/obj/item/reagent_containers/food/snacks/grown/G = I.instances[1] if(!istype(G)) continue .[G.plantname] = I.get_amount() // Store the seed type, because that's what's used to generate the fruit diff --git a/code/modules/planet/borealismajoris.dm b/code/modules/planet/borealismajoris.dm index 2099cd7fc8b..ac270f49ea6 100644 --- a/code/modules/planet/borealismajoris.dm +++ b/code/modules/planet/borealismajoris.dm @@ -297,7 +297,7 @@ var/datum/planet/borealis2/planet_borealis2 = null continue // They're indoors, so no need to rain on them. // If they have an open umbrella, it'll guard from rain - var/obj/item/weapon/melee/umbrella/U = L.get_active_hand() + var/obj/item/melee/umbrella/U = L.get_active_hand() if(!istype(U) || !U.open) U = L.get_inactive_hand() @@ -351,14 +351,14 @@ var/datum/planet/borealis2/planet_borealis2 = null // Lazy wind code if(prob(10)) - if(istype(L.get_active_hand(), /obj/item/weapon/melee/umbrella)) - var/obj/item/weapon/melee/umbrella/U = L.get_active_hand() + if(istype(L.get_active_hand(), /obj/item/melee/umbrella)) + var/obj/item/melee/umbrella/U = L.get_active_hand() if(U.open) to_chat(L, "You struggle to keep hold of your umbrella!") L.Stun(20) // This is not nearly as long as it seems playsound(L, 'sound/effects/rustle1.ogg', 100, 1) // Closest sound I've got to "Umbrella in the wind" - else if(istype(L.get_inactive_hand(), /obj/item/weapon/melee/umbrella)) - var/obj/item/weapon/melee/umbrella/U = L.get_inactive_hand() + else if(istype(L.get_inactive_hand(), /obj/item/melee/umbrella)) + var/obj/item/melee/umbrella/U = L.get_inactive_hand() if(U.open) to_chat(L, "A gust of wind yanks the umbrella from your hand!") playsound(L, 'sound/effects/rustle1.ogg', 100, 1) @@ -367,7 +367,7 @@ var/datum/planet/borealis2/planet_borealis2 = null U.throw_at(get_edge_target_turf(U, pick(alldirs)), 8, 1, L) // If they have an open umbrella, it'll guard from rain - var/obj/item/weapon/melee/umbrella/U = L.get_active_hand() + var/obj/item/melee/umbrella/U = L.get_active_hand() if(!istype(U) || !U.open) U = L.get_inactive_hand() @@ -425,7 +425,7 @@ var/datum/planet/borealis2/planet_borealis2 = null continue // They're indoors, so no need to pelt them with ice. // If they have an open umbrella, it'll guard from hail - var/obj/item/weapon/melee/umbrella/U = H.get_active_hand() + var/obj/item/melee/umbrella/U = H.get_active_hand() if(!istype(U) || !U.open) U = H.get_inactive_hand() diff --git a/code/modules/planet/sif.dm b/code/modules/planet/sif.dm index 4b3cb1980c2..50c18925553 100644 --- a/code/modules/planet/sif.dm +++ b/code/modules/planet/sif.dm @@ -277,7 +277,7 @@ var/datum/planet/sif/planet_sif = null wind_high = 2 wind_low = 1 light_modifier = 0.5 - effect_message = "Rain falls on you." + effect_message = span_warning("Rain falls on you.") transition_chances = list( WEATHER_OVERCAST = 20, @@ -303,13 +303,13 @@ var/datum/planet/sif/planet_sif = null continue // They're indoors, so no need to rain on them. // If they have an open umbrella, it'll guard from rain - var/obj/item/weapon/melee/umbrella/U = L.get_active_hand() + var/obj/item/melee/umbrella/U = L.get_active_hand() if(!istype(U) || !U.open) U = L.get_inactive_hand() if(istype(U) && U.open) if(show_message) - to_chat(L, "Rain patters softly onto your umbrella.") + to_chat(L, span_notice("Rain patters softly onto your umbrella.")) continue L.water_act(1) @@ -325,7 +325,7 @@ var/datum/planet/sif/planet_sif = null wind_low = 2 light_modifier = 0.3 flight_failure_modifier = 10 - effect_message = "Rain falls on you, drenching you in water." + effect_message = span_warning("Rain falls on you, drenching you in water.") var/next_lightning_strike = 0 // world.time when lightning will strike. var/min_lightning_cooldown = 5 SECONDS @@ -355,13 +355,13 @@ var/datum/planet/sif/planet_sif = null continue // They're indoors, so no need to rain on them. // If they have an open umbrella, it'll guard from rain - var/obj/item/weapon/melee/umbrella/U = L.get_active_hand() + var/obj/item/melee/umbrella/U = L.get_active_hand() if(!istype(U) || !U.open) U = L.get_inactive_hand() if(istype(U) && U.open) if(show_message) - to_chat(L, "Rain showers loudly onto your umbrella!") + to_chat(L, span_notice("Rain showers loudly onto your umbrella!")) continue @@ -389,7 +389,7 @@ var/datum/planet/sif/planet_sif = null flight_failure_modifier = 15 timer_low_bound = 2 timer_high_bound = 5 - effect_message = "The hail smacks into you!" + effect_message = span_warning("The hail smacks into you!") transition_chances = list( WEATHER_HAIL = 10, @@ -411,13 +411,13 @@ var/datum/planet/sif/planet_sif = null continue // They're indoors, so no need to pelt them with ice. // If they have an open umbrella, it'll guard from hail - var/obj/item/weapon/melee/umbrella/U = H.get_active_hand() + var/obj/item/melee/umbrella/U = H.get_active_hand() if(!istype(U) || !U.open) U = H.get_inactive_hand() if(istype(U) && U.open) if(show_message) - to_chat(H, "Hail patters onto your umbrella.") + to_chat(H, span_notice("Hail patters onto your umbrella.")) continue var/target_zone = pick(BP_ALL) diff --git a/code/modules/planet/virgo3b_vr.dm b/code/modules/planet/virgo3b_vr.dm index 4b156a840e1..75afb6fcf3f 100644 --- a/code/modules/planet/virgo3b_vr.dm +++ b/code/modules/planet/virgo3b_vr.dm @@ -268,7 +268,7 @@ var/datum/planet/virgo3b/planet_virgo3b = null wind_high = 2 wind_low = 1 light_modifier = 0.5 - effect_message = "Rain falls on you." + effect_message = span_warning("Rain falls on you.") transition_chances = list( WEATHER_OVERCAST = 25, @@ -295,13 +295,13 @@ var/datum/planet/virgo3b/planet_virgo3b = null continue // They're indoors, so no need to rain on them. // If they have an open umbrella, it'll guard from rain - var/obj/item/weapon/melee/umbrella/U = L.get_active_hand() + var/obj/item/melee/umbrella/U = L.get_active_hand() if(!istype(U) || !U.open) U = L.get_inactive_hand() if(istype(U) && U.open) if(show_message) - to_chat(L, "Rain patters softly onto your umbrella.") + to_chat(L, span_notice("Rain patters softly onto your umbrella.")) continue L.water_act(1) @@ -315,7 +315,7 @@ var/datum/planet/virgo3b/planet_virgo3b = null wind_low = 2 light_modifier = 0.3 flight_failure_modifier = 10 - effect_message = "Rain falls on you, drenching you in water." + effect_message = span_warning("Rain falls on you, drenching you in water.") var/next_lightning_strike = 0 // world.time when lightning will strike. var/min_lightning_cooldown = 5 SECONDS @@ -348,13 +348,13 @@ var/datum/planet/virgo3b/planet_virgo3b = null continue // They're indoors, so no need to rain on them. // If they have an open umbrella, it'll guard from rain - var/obj/item/weapon/melee/umbrella/U = L.get_active_hand() + var/obj/item/melee/umbrella/U = L.get_active_hand() if(!istype(U) || !U.open) U = L.get_inactive_hand() if(istype(U) && U.open) if(show_message) - to_chat(L, "Rain patters softly onto your umbrella.") + to_chat(L, span_notice("Rain patters softly onto your umbrella.")) continue @@ -380,7 +380,7 @@ var/datum/planet/virgo3b/planet_virgo3b = null flight_failure_modifier = 15 timer_low_bound = 2 timer_high_bound = 5 - effect_message = "The hail smacks into you!" + effect_message = span_warning("The hail smacks into you!") transition_chances = list( WEATHER_RAIN = 45, @@ -406,13 +406,13 @@ var/datum/planet/virgo3b/planet_virgo3b = null continue // They're indoors, so no need to pelt them with ice. // If they have an open umbrella, it'll guard from hail - var/obj/item/weapon/melee/umbrella/U = H.get_active_hand() + var/obj/item/melee/umbrella/U = H.get_active_hand() if(!istype(U) || !U.open) U = H.get_inactive_hand() if(istype(U) && U.open) if(show_message) - to_chat(H, "Hail patters onto your umbrella.") + to_chat(H, span_notice("Hail patters onto your umbrella.")) continue var/target_zone = pick(BP_ALL) @@ -625,4 +625,3 @@ var/datum/planet/virgo3b/planet_virgo3b = null "Suddenly, colorful confetti starts raining from the sky." ) imminent_transition_message = "A rain is starting... A rain of confetti...?" - diff --git a/code/modules/planet/virgo3c_vr.dm b/code/modules/planet/virgo3c_vr.dm index c0664319a46..9ab6cb9f02f 100644 --- a/code/modules/planet/virgo3c_vr.dm +++ b/code/modules/planet/virgo3c_vr.dm @@ -258,7 +258,7 @@ var/datum/planet/virgo3c/planet_virgo3c = null wind_high = 2 wind_low = 1 light_modifier = 0.5 - effect_message = "Rain falls on you." + effect_message = span_warning("Rain falls on you.") outdoor_sounds_type = /datum/looping_sound/weather/rain indoor_sounds_type = /datum/looping_sound/weather/rain/indoors @@ -284,13 +284,13 @@ var/datum/planet/virgo3c/planet_virgo3c = null continue // They're indoors, so no need to rain on them. // If they have an open umbrella, it'll guard from rain - var/obj/item/weapon/melee/umbrella/U = L.get_active_hand() + var/obj/item/melee/umbrella/U = L.get_active_hand() if(!istype(U) || !U.open) U = L.get_inactive_hand() if(istype(U) && U.open) if(show_message) - to_chat(L, "Rain patters softly onto your umbrella.") + to_chat(L, span_notice("Rain patters softly onto your umbrella.")) continue L.water_act(1) @@ -306,7 +306,7 @@ var/datum/planet/virgo3c/planet_virgo3c = null wind_low = 2 light_modifier = 0.3 flight_failure_modifier = 10 - effect_message = "Rain falls on you, drenching you in water." + effect_message = span_warning("Rain falls on you, drenching you in water.") var/next_lightning_strike = 0 // world.time when lightning will strike. var/min_lightning_cooldown = 1 MINUTE @@ -338,13 +338,13 @@ var/datum/planet/virgo3c/planet_virgo3c = null continue // They're indoors, so no need to rain on them. // If they have an open umbrella, it'll guard from rain - var/obj/item/weapon/melee/umbrella/U = L.get_active_hand() + var/obj/item/melee/umbrella/U = L.get_active_hand() if(!istype(U) || !U.open) U = L.get_inactive_hand() if(istype(U) && U.open) if(show_message) - to_chat(L, "Rain showers loudly onto your umbrella!") + to_chat(L, span_notice("Rain showers loudly onto your umbrella!")) continue @@ -372,7 +372,7 @@ var/datum/planet/virgo3c/planet_virgo3c = null flight_failure_modifier = 15 timer_low_bound = 2 timer_high_bound = 5 - effect_message = "The hail smacks into you!" + effect_message = span_warning("The hail smacks into you!") transition_chances = list( WEATHER_FOG = 5, @@ -396,13 +396,13 @@ var/datum/planet/virgo3c/planet_virgo3c = null continue // They're indoors, so no need to pelt them with ice. // If they have an open umbrella, it'll guard from hail - var/obj/item/weapon/melee/umbrella/U = H.get_active_hand() + var/obj/item/melee/umbrella/U = H.get_active_hand() if(!istype(U) || !U.open) U = H.get_inactive_hand() if(istype(U) && U.open) if(show_message) - to_chat(H, "Hail patters onto your umbrella.") + to_chat(H, span_notice("Hail patters onto your umbrella.")) continue var/target_zone = pick(BP_ALL) @@ -527,7 +527,7 @@ var/datum/planet/virgo3c/planet_virgo3c = null continue //Don't murder the wildlife, they live here it's fine L.inflict_heat_damage(1) - to_chat(L, "Smoldering ash singes you!") + to_chat(L, span_warning("Smoldering ash singes you!")) diff --git a/code/modules/planet/virgo4_vr.dm b/code/modules/planet/virgo4_vr.dm index 2c9f8f5c47d..d20da34cdff 100644 --- a/code/modules/planet/virgo4_vr.dm +++ b/code/modules/planet/virgo4_vr.dm @@ -251,7 +251,7 @@ var/datum/planet/virgo4/planet_virgo4 = null wind_high = 2 wind_low = 1 light_modifier = 0.5 - effect_message = "Rain falls on you." + effect_message = span_warning("Rain falls on you.") transition_chances = list( WEATHER_OVERCAST = 25, @@ -274,13 +274,13 @@ var/datum/planet/virgo4/planet_virgo4 = null continue // They're indoors, so no need to rain on them. // If they have an open umbrella, it'll guard from rain - var/obj/item/weapon/melee/umbrella/U = L.get_active_hand() + var/obj/item/melee/umbrella/U = L.get_active_hand() if(!istype(U) || !U.open) U = L.get_inactive_hand() if(istype(U) && U.open) if(show_message) - to_chat(L, "Rain patters softly onto your umbrella.") + to_chat(L, span_notice("Rain patters softly onto your umbrella.")) continue L.water_act(1) @@ -294,7 +294,7 @@ var/datum/planet/virgo4/planet_virgo4 = null wind_low = 2 light_modifier = 0.3 flight_failure_modifier = 10 - effect_message = "Rain falls on you, drenching you in water." + effect_message = span_warning("Rain falls on you, drenching you in water.") var/next_lightning_strike = 0 // world.time when lightning will strike. var/min_lightning_cooldown = 5 SECONDS @@ -324,13 +324,13 @@ var/datum/planet/virgo4/planet_virgo4 = null continue // They're indoors, so no need to rain on them. // If they have an open umbrella, it'll guard from rain - var/obj/item/weapon/melee/umbrella/U = L.get_active_hand() + var/obj/item/melee/umbrella/U = L.get_active_hand() if(!istype(U) || !U.open) U = L.get_inactive_hand() if(istype(U) && U.open) if(show_message) - to_chat(L, "Rain showers loudly onto your umbrella!") + to_chat(L, span_notice("Rain showers loudly onto your umbrella!")) continue @@ -356,7 +356,7 @@ var/datum/planet/virgo4/planet_virgo4 = null flight_failure_modifier = 15 timer_low_bound = 2 timer_high_bound = 5 - effect_message = "The hail smacks into you!" + effect_message = span_warning("The hail smacks into you!") transition_chances = list( WEATHER_HAIL = 10, @@ -380,13 +380,13 @@ var/datum/planet/virgo4/planet_virgo4 = null continue // They're indoors, so no need to pelt them with ice. // If they have an open umbrella, it'll guard from hail - var/obj/item/weapon/melee/umbrella/U = H.get_active_hand() + var/obj/item/melee/umbrella/U = H.get_active_hand() if(!istype(U) || !U.open) U = H.get_inactive_hand() if(istype(U) && U.open) if(show_message) - to_chat(H, "Hail patters onto your umbrella.") + to_chat(H, span_notice("Hail patters onto your umbrella.")) continue var/target_zone = pick(BP_ALL) @@ -611,4 +611,4 @@ var/datum/planet/virgo4/planet_virgo4 = null RCon = TRUE input_level = input_level_max output_level = output_level_max - input_attempt = TRUE \ No newline at end of file + input_attempt = TRUE diff --git a/code/modules/planet/weather.dm b/code/modules/planet/weather.dm index a2ea891028f..45dd62b12e7 100644 --- a/code/modules/planet/weather.dm +++ b/code/modules/planet/weather.dm @@ -151,7 +151,7 @@ wind_speed = new_wind_speed wind_dir = pick(alldirs) var/message = "You feel the wind blowing [wind_speed > 2 ? "strongly ": ""]towards the [dir2text(wind_dir)]." - message_all_outdoor_players(span("warning", message)) + message_all_outdoor_players(span_warning(message)) /datum/weather_holder/proc/message_all_outdoor_players(message) for(var/mob/M in player_list) // Don't need to care about clientless mobs. @@ -290,4 +290,4 @@ // This is for special effects for specific types of weather, such as lightning flashes in a storm. // It's a seperate object to allow the use of flick(). /atom/movable/weather_visuals/special - plane = PLANE_LIGHTING_ABOVE \ No newline at end of file + plane = PLANE_LIGHTING_ABOVE diff --git a/code/modules/player_tips_vr/player_tips_controller_vr.dm b/code/modules/player_tips_vr/player_tips_controller_vr.dm index e23994be928..e0e856765c2 100644 --- a/code/modules/player_tips_vr/player_tips_controller_vr.dm +++ b/code/modules/player_tips_vr/player_tips_controller_vr.dm @@ -27,12 +27,12 @@ Controlled by the player_tips subsystem under code/controllers/subsystems/player break last_tip = tip for(var/mob/M in player_list) - if(M.is_preference_enabled(/datum/client_preference/player_tips)) + if(M.client?.prefs?.read_preference(/datum/preference/toggle/player_tips)) if(!M.key && !(M.key in HasReceived)) - to_chat(M, SPAN_WARNING("You have periodic player tips enabled. You may turn them off at any time with the Toggle Receiving Player Tips verb in Preferences, or in character set up under the OOC tab!\n Player tips appear every 45-75 minutes.")) + to_chat(M, span_warning("You have periodic player tips enabled. You may turn them off at any time with the Toggle Receiving Player Tips verb in Preferences, or in character set up under the OOC tab!\n Player tips appear every 45-75 minutes.")) HasReceived.Add(M.key) - tip = GLOB.is_valid_url.Replace(tip,"$1") - to_chat(M, SPAN_NOTICE("[tip]")) + tip = GLOB.is_valid_url.Replace(tip,span_linkify("$1")) + to_chat(M, span_notice("[tip]")) @@ -41,10 +41,10 @@ Controlled by the player_tips subsystem under code/controllers/subsystems/player /mob/living/verb/request_automated_advice() set name = "Request Automated Advice" set desc = "Sends you advice from a list of possibilities. You can choose to request a specific topic." - set category = "OOC" + set category = "OOC.Game Settings" var/choice = tgui_input_list(src, "What topic would you like to receive advice on?", "Select Topic", list("none","general","gameplay","roleplay","lore","cancel")) if(choice == "cancel") return var/static/datum/player_tips/player_tips = new - to_chat(src, SPAN_NOTICE("[GLOB.is_valid_url.Replace(player_tips.pick_tip(choice),"$1")]")) + to_chat(src, span_notice("[GLOB.is_valid_url.Replace(player_tips.pick_tip(choice),span_linkify("$1"))]")) diff --git a/code/modules/player_tips_vr/player_tips_list_vr.dm b/code/modules/player_tips_vr/player_tips_list_vr.dm index e9b4752f457..f8e956f9f5c 100644 --- a/code/modules/player_tips_vr/player_tips_list_vr.dm +++ b/code/modules/player_tips_vr/player_tips_list_vr.dm @@ -52,7 +52,8 @@ When editing the list, please try and keep similar probabilities near each other prob(25); "[info] Emergency Fire Doors seal breaches and keep active fires out. Please do not open them without good reason.", prob(25); "[info] The kitchen's Oven can fit multiple ingredients in one slot if you pull the baking tray out first. This is required for most recipes, and the Grille and Deep Frier work the same way!", prob(10); "[info] You can keep a single item between rounds using secure lockboxes! Beware! You can only store 1 item across all characters! To find these lockboxes, feel free to ask over radio!", - prob(10); "[info] Not every hostile NPC you encounter while mining or exploring need to be defeated. Sometimes, it's better to avoid or run away from them. For example, star-treaders are slow and weak but have lots of HP - it is better to just run away." + prob(10); "[info] Not every hostile NPC you encounter while mining or exploring need to be defeated. Sometimes, it's better to avoid or run away from them. For example, star-treaders are slow and weak but have lots of HP - it is better to just run away.", + prob(10); "[info] Clicking on a venomous animal/person with a closed beaker will express their venom into the beaker!", ) if("roleplay") diff --git a/code/modules/power/antimatter/computer.dm b/code/modules/power/antimatter/computer.dm index 018d4d0325a..7fdb1236419 100644 --- a/code/modules/power/antimatter/computer.dm +++ b/code/modules/power/antimatter/computer.dm @@ -45,7 +45,7 @@ src.state = STATE_DEFAULT if("login") var/mob/M = usr - var/obj/item/weapon/card/id/I = M.get_active_hand() + var/obj/item/card/id/I = M.get_active_hand() if (I && istype(I)) if(src.check_access(I)) authenticated = 1 diff --git a/code/modules/power/antimatter/containment_jar.dm b/code/modules/power/antimatter/containment_jar.dm index ff64c28f606..03cd1730ce4 100644 --- a/code/modules/power/antimatter/containment_jar.dm +++ b/code/modules/power/antimatter/containment_jar.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/am_containment +/obj/item/am_containment name = "antimatter containment jar" desc = "Holds antimatter." icon = 'icons/obj/machines/antimatter.dmi' @@ -15,7 +15,7 @@ var/stability = 100//TODO: add all the stability things to this so its not very safe if you keep hitting in on things -/obj/item/weapon/am_containment/ex_act(severity) +/obj/item/am_containment/ex_act(severity) switch(severity) if(1.0) explosion(get_turf(src), 1, 2, 3, 5)//Should likely be larger but this works fine for now I guess @@ -34,7 +34,7 @@ //check_stability() return -/obj/item/weapon/am_containment/proc/usefuel(var/wanted) +/obj/item/am_containment/proc/usefuel(var/wanted) if(fuel < wanted) wanted = fuel fuel -= wanted diff --git a/code/modules/power/antimatter/control.dm b/code/modules/power/antimatter/control.dm index 366f9b055ea..34f20cdd8d1 100644 --- a/code/modules/power/antimatter/control.dm +++ b/code/modules/power/antimatter/control.dm @@ -11,7 +11,7 @@ var/list/obj/machinery/am_shielding/linked_shielding var/list/obj/machinery/am_shielding/linked_cores - var/obj/item/weapon/am_containment/fueljar + var/obj/item/am_containment/fueljar var/update_shield_icons = 0 var/stability = 100 var/exploding = 0 @@ -159,7 +159,7 @@ to_chat(user, span_red("Once bolted and linked to a shielding unit it the [src.name] is unable to be moved!")) return - if(istype(W, /obj/item/weapon/am_containment)) + if(istype(W, /obj/item/am_containment)) if(fueljar) to_chat(user, span_red("There is already a [fueljar] inside!")) return diff --git a/code/modules/power/antimatter/engine.dm b/code/modules/power/antimatter/engine.dm index 90f4cc7b578..ad3b36ff58e 100644 --- a/code/modules/power/antimatter/engine.dm +++ b/code/modules/power/antimatter/engine.dm @@ -37,10 +37,10 @@ return -/obj/machinery/power/am_engine/injector/attackby(obj/item/weapon/fuel/F, mob/user) +/obj/machinery/power/am_engine/injector/attackby(obj/item/fuel/F, mob/user) if( (stat & BROKEN) || !connected) return - if(istype(F, /obj/item/weapon/fuel/H)) + if(istype(F, /obj/item/fuel/H)) if(injecting) to_chat(user, "There's already a fuel rod in the injector!") return @@ -50,10 +50,10 @@ qdel(F) spawn( 300 ) injecting = 0 - new/obj/item/weapon/fuel(src.loc) + new/obj/item/fuel(src.loc) connected.H_fuel += fuel - if(istype(F, /obj/item/weapon/fuel/antiH)) + if(istype(F, /obj/item/fuel/antiH)) if(injecting) to_chat(user, "There's already a fuel rod in the injector!") return @@ -63,7 +63,7 @@ qdel(F) spawn( 300 ) injecting = 0 - new /obj/item/weapon/fuel(src.loc) + new /obj/item/fuel(src.loc) connected.antiH_fuel += fuel return diff --git a/code/modules/power/antimatter/fuel.dm b/code/modules/power/antimatter/fuel.dm index 030e6b596b8..b602ac1e498 100644 --- a/code/modules/power/antimatter/fuel.dm +++ b/code/modules/power/antimatter/fuel.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/fuel +/obj/item/fuel name = "Magnetic Storage Ring" desc = "A magnetic storage ring." icon = 'icons/obj/items.dmi' @@ -10,38 +10,38 @@ var/s_time = 1.0 var/content = null -/obj/item/weapon/fuel/H +/obj/item/fuel/H name = "Hydrogen storage ring" content = "Hydrogen" fuel = 1e-12 //pico-kilogram -/obj/item/weapon/fuel/antiH +/obj/item/fuel/antiH name = "Anti-Hydrogen storage ring" content = "Anti-Hydrogen" fuel = 1e-12 //pico-kilogram -/obj/item/weapon/fuel/attackby(obj/item/weapon/fuel/F, mob/user) +/obj/item/fuel/attackby(obj/item/fuel/F, mob/user) ..() - if(istype(src, /obj/item/weapon/fuel/antiH)) - if(istype(F, /obj/item/weapon/fuel/antiH)) + if(istype(src, /obj/item/fuel/antiH)) + if(istype(F, /obj/item/fuel/antiH)) src.fuel += F.fuel F.fuel = 0 to_chat(user, "You have added the anti-Hydrogen to the storage ring, it now contains [src.fuel]kg") - if(istype(F, /obj/item/weapon/fuel/H)) + if(istype(F, /obj/item/fuel/H)) src.fuel += F.fuel qdel(F) src:annihilation(src.fuel) - if(istype(src, /obj/item/weapon/fuel/H)) - if(istype(F, /obj/item/weapon/fuel/H)) + if(istype(src, /obj/item/fuel/H)) + if(istype(F, /obj/item/fuel/H)) src.fuel += F.fuel F.fuel = 0 to_chat(user, "You have added the Hydrogen to the storage ring, it now contains [src.fuel]kg") - if(istype(F, /obj/item/weapon/fuel/antiH)) + if(istype(F, /obj/item/fuel/antiH)) src.fuel += F.fuel qdel(src) F:annihilation(F.fuel) -/obj/item/weapon/fuel/antiH/proc/annihilation(var/mass) +/obj/item/fuel/antiH/proc/annihilation(var/mass) var/strength = convert2energy(mass) @@ -67,12 +67,12 @@ return -/obj/item/weapon/fuel/examine(mob/user) +/obj/item/fuel/examine(mob/user) . = ..() if(Adjacent(user)) . += "It contains [fuel]kg of [content ? content : "nothing"]." -/obj/item/weapon/fuel/proc/injest(mob/M as mob) +/obj/item/fuel/proc/injest(mob/M as mob) switch(content) if("Anti-Hydrogen") M.gib() //Yikes! @@ -81,7 +81,7 @@ qdel(src) return -/obj/item/weapon/fuel/attack(mob/M as mob, mob/user as mob) +/obj/item/fuel/attack(mob/M as mob, mob/user as mob) if (user != M) var/obj/effect/equip_e/human/O = new /obj/effect/equip_e/human( ) O.source = user diff --git a/code/modules/power/antimatter/shielding.dm b/code/modules/power/antimatter/shielding.dm index 406b67a9814..d179da117d1 100644 --- a/code/modules/power/antimatter/shielding.dm +++ b/code/modules/power/antimatter/shielding.dm @@ -184,7 +184,7 @@ -/obj/item/device/am_shielding_container +/obj/item/am_shielding_container name = "packaged antimatter reactor section" desc = "A small storage unit containing an antimatter reactor section. To use place near an antimatter control unit or deployed antimatter reactor section and use a multitool to activate this package." icon = 'icons/obj/machines/antimatter.dmi' @@ -196,8 +196,8 @@ throw_range = 2 matter = list(MAT_STEEL = 100) -/obj/item/device/am_shielding_container/attackby(var/obj/item/I, var/mob/user) - if(istype(I, /obj/item/device/multitool) && istype(src.loc,/turf)) +/obj/item/am_shielding_container/attackby(var/obj/item/I, var/mob/user) + if(istype(I, /obj/item/multitool) && istype(src.loc,/turf)) new/obj/machinery/am_shielding(src.loc) qdel(src) return diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index 8f387b20d9c..16199e4b8c0 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -61,16 +61,16 @@ GLOBAL_LIST_EMPTY(apcs) is_critical = 1 /obj/machinery/power/apc/high - cell_type = /obj/item/weapon/cell/high + cell_type = /obj/item/cell/high /obj/machinery/power/apc/super - cell_type = /obj/item/weapon/cell/super + cell_type = /obj/item/cell/super /obj/machinery/power/apc/super/critical is_critical = 1 /obj/machinery/power/apc/hyper - cell_type = /obj/item/weapon/cell/hyper + cell_type = /obj/item/cell/hyper /obj/machinery/power/apc/alarms_hidden alarms_hidden = TRUE @@ -104,10 +104,10 @@ GLOBAL_LIST_EMPTY(apcs) vis_flags = VIS_HIDE // They have an emissive that looks bad in openspace due to their wall-mounted nature var/area/area var/areastring = null - var/obj/item/weapon/cell/cell + var/obj/item/cell/cell var/chargelevel = 0.0005 // Cap for how fast APC cells charge, as a percentage-per-tick (0.01 means cellcharge is capped to 1% per second) var/start_charge = 90 // initial cell charge % - var/cell_type = /obj/item/weapon/cell/apc + var/cell_type = /obj/item/cell/apc var/opened = 0 //0=closed, 1=opened, 2=cover removed var/shorted = 0 var/grid_check = FALSE @@ -474,7 +474,7 @@ GLOBAL_LIST_EMPTY(apcs) if(W.has_tool_quality(TOOL_CROWBAR) && opened) if(has_electronics == APC_HAS_ELECTRONICS_WIRED) if(terminal) - to_chat(user, "Disconnect the wires first.") + to_chat(user, span_warning("Disconnect the wires first.")) return playsound(src, W.usesound, 50, 1) to_chat(user, "You begin to remove the power control board...") //lpeters - fixed grammar issues //Ner - grrrrrr @@ -483,31 +483,31 @@ GLOBAL_LIST_EMPTY(apcs) has_electronics = APC_HAS_ELECTRONICS_NONE if((stat & BROKEN)) user.visible_message(\ - "[user.name] has broken the charred power control board inside [name]!",\ - "You broke the charred power control board and remove the remains.", + span_warning("[user.name] has broken the charred power control board inside [name]!"),\ + span_notice("You broke the charred power control board and remove the remains."), "You hear a crack!") //ticker.mode:apcs-- //XSI said no and I agreed. -rastaf0 else user.visible_message(\ - "[user.name] has removed the power control board from [name]!",\ - "You remove the power control board.") - new /obj/item/weapon/module/power_control(loc) + span_warning("[user.name] has removed the power control board from [name]!"),\ + span_notice("You remove the power control board.")) + new /obj/item/module/power_control(loc) else if(opened != 2) //cover isn't removed opened = 0 update_icon() else if(W.has_tool_quality(TOOL_CROWBAR) && !(stat & BROKEN) ) if(coverlocked && !(stat & MAINT)) - to_chat(user, "The cover is locked and cannot be opened.") + to_chat(user, span_warning("The cover is locked and cannot be opened.")) return else opened = 1 update_icon() - else if (istype(W, /obj/item/weapon/cell) && opened) // trying to put a cell inside + else if (istype(W, /obj/item/cell) && opened) // trying to put a cell inside if(cell) to_chat(user, "The [name] already has a power cell installed.") return if(stat & MAINT) - to_chat(user, "You need to install the wiring and electronics first.") + to_chat(user, span_warning("You need to install the wiring and electronics first.")) return if(W.w_class != ITEMSIZE_NORMAL) to_chat(user, "\The [W] is too [W.w_class < 3? "small" : "large"] to work here.") @@ -517,14 +517,14 @@ GLOBAL_LIST_EMPTY(apcs) W.forceMove(src) cell = W user.visible_message(\ - "[user.name] has inserted a power cell into [name]!",\ - "You insert the power cell.") + span_warning("[user.name] has inserted a power cell into [name]!"),\ + span_notice("You insert the power cell.")) chargecount = 0 update_icon() else if (W.has_tool_quality(TOOL_SCREWDRIVER)) // haxing if(opened) if(cell) - to_chat(user, "Remove the power cell first.") + to_chat(user, span_warning("Remove the power cell first.")) return else if(has_electronics == APC_HAS_ELECTRONICS_WIRED && terminal) @@ -538,7 +538,7 @@ GLOBAL_LIST_EMPTY(apcs) playsound(src, W.usesound, 50, 1) to_chat(user, "You unfasten the electronics.") else /* has_electronics == APC_HAS_ELECTRONICS_NONE */ - to_chat(user, "There is nothing to secure.") + to_chat(user, span_warning("There is nothing to secure.")) return update_icon() else @@ -547,25 +547,25 @@ GLOBAL_LIST_EMPTY(apcs) playsound(src, W.usesound, 50, 1) update_icon() - else if(istype(W, /obj/item/weapon/card/id)||istype(W, /obj/item/device/pda)) // trying to unlock the interface with an ID card + else if(istype(W, /obj/item/card/id)||istype(W, /obj/item/pda)) // trying to unlock the interface with an ID card togglelock(user) else if(istype(W, /obj/item/stack/cable_coil) && !terminal && opened && has_electronics != APC_HAS_ELECTRONICS_SECURED) var/turf/T = loc if(istype(T) && !T.is_plating()) - to_chat(user, "You must remove the floor plating in front of the APC first.") + to_chat(user, span_warning("You must remove the floor plating in front of the APC first.")) return var/obj/item/stack/cable_coil/C = W if(C.get_amount() < 10) - to_chat(user, "You need ten lengths of cable for that.") + to_chat(user, span_warning("You need ten lengths of cable for that.")) return - user.visible_message("[user.name] adds cables to the APC frame.", \ + user.visible_message(span_warning("[user.name] adds cables to the APC frame."), \ "You start adding cables to the APC frame...") playsound(src, 'sound/items/Deconstruct.ogg', 50, 1) if(do_after(user, 20)) if(C.get_amount() >= 10 && !terminal && opened && has_electronics != APC_HAS_ELECTRONICS_SECURED) var/obj/structure/cable/N = T.get_cable_node() - if(prob(50) && electrocute_mob(usr, N, N)) + if(prob(50) && electrocute_mob(user, N, N)) var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread s.set_up(5, 1, src) s.start() @@ -573,48 +573,48 @@ GLOBAL_LIST_EMPTY(apcs) return C.use(10) user.visible_message(\ - "[user.name] has added cables to the APC frame!",\ + span_warning("[user.name] has added cables to the APC frame!"),\ "You add cables to the APC frame.") make_terminal() terminal.connect_to_network() else if(W.has_tool_quality(TOOL_WIRECUTTER) && terminal && opened && has_electronics != APC_HAS_ELECTRONICS_SECURED) var/turf/T = loc if(istype(T) && !T.is_plating()) - to_chat(user, "You must remove the floor plating in front of the APC first.") + to_chat(user, span_warning("You must remove the floor plating in front of the APC first.")) return - user.visible_message("[user.name] starts dismantling the [src]'s power terminal.", \ + user.visible_message(span_warning("[user.name] starts dismantling the [src]'s power terminal."), \ "You begin to cut the cables...") playsound(src, 'sound/items/Deconstruct.ogg', 50, 1) if(do_after(user, 50 * W.toolspeed)) if(terminal && opened && has_electronics != APC_HAS_ELECTRONICS_SECURED) - if(prob(50) && electrocute_mob(usr, terminal.powernet, terminal)) + if(prob(50) && electrocute_mob(user, terminal.powernet, terminal)) var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread s.set_up(5, 1, src) s.start() - if(usr.stunned) + if(user.stunned) return new /obj/item/stack/cable_coil(loc,10) - to_chat(user, "You cut the cables and dismantle the power terminal.") + to_chat(user, span_notice("You cut the cables and dismantle the power terminal.")) qdel(terminal) - else if(istype(W, /obj/item/weapon/module/power_control) && opened && has_electronics == APC_HAS_ELECTRONICS_NONE && !((stat & BROKEN))) - user.visible_message("[user.name] inserts the power control board into [src].", \ + else if(istype(W, /obj/item/module/power_control) && opened && has_electronics == APC_HAS_ELECTRONICS_NONE && !((stat & BROKEN))) + user.visible_message(span_warning("[user.name] inserts the power control board into [src]."), \ "You start to insert the power control board into the frame...") playsound(src, 'sound/items/Deconstruct.ogg', 50, 1) if(do_after(user, 10)) if(has_electronics == APC_HAS_ELECTRONICS_NONE) has_electronics = APC_HAS_ELECTRONICS_WIRED reboot() - to_chat(user, "You place the power control board inside the frame.") + to_chat(user, span_notice("You place the power control board inside the frame.")) qdel(W) - else if(istype(W, /obj/item/weapon/module/power_control) && opened && has_electronics == APC_HAS_ELECTRONICS_NONE && ((stat & BROKEN))) - to_chat(user, "The [src] is too broken for that. Repair it first.") + else if(istype(W, /obj/item/module/power_control) && opened && has_electronics == APC_HAS_ELECTRONICS_NONE && ((stat & BROKEN))) + to_chat(user, span_warning("The [src] is too broken for that. Repair it first.")) return else if(W.has_tool_quality(TOOL_WELDER) && opened && has_electronics == APC_HAS_ELECTRONICS_NONE && !terminal) - var/obj/item/weapon/weldingtool/WT = W.get_welder() + var/obj/item/weldingtool/WT = W.get_welder() if(WT.get_fuel() < 3) - to_chat(user, "You need more welding fuel to complete this task.") + to_chat(user, span_warning("You need more welding fuel to complete this task.")) return - user.visible_message("[user.name] begins cutting apart [src] with the [WT.name].", \ + user.visible_message(span_warning("[user.name] begins cutting apart [src] with the [WT.name]."), \ "You start welding the APC frame...", \ "You hear welding.") playsound(src, WT.usesound, 25, 1) @@ -623,26 +623,26 @@ GLOBAL_LIST_EMPTY(apcs) if(emagged || (stat & BROKEN) || opened==2) new /obj/item/stack/material/steel(loc) user.visible_message(\ - "[src] has been cut apart by [user.name] with the [WT.name].",\ - "You disassembled the broken APC frame.",\ + span_warning("[src] has been cut apart by [user.name] with the [WT.name]."),\ + span_notice("You disassembled the broken APC frame."),\ "You hear welding.") else new /obj/item/frame/apc(loc) user.visible_message(\ - "[src] has been cut from the wall by [user.name] with the [WT.name].",\ - "You cut the APC frame from the wall.",\ + span_warning("[src] has been cut from the wall by [user.name] with the [WT.name]."),\ + span_notice("You cut the APC frame from the wall."),\ "You hear welding.") qdel(src) return else if(opened && ((stat & BROKEN) || hacker || emagged)) if(istype(W, /obj/item/frame/apc) && (stat & BROKEN)) if(cell) - to_chat(user, "You need to remove the power cell first.") + to_chat(user, span_warning("You need to remove the power cell first.")) return - user.visible_message("[user.name] begins replacing the damaged APC cover with a new one.",\ + user.visible_message(span_warning("[user.name] begins replacing the damaged APC cover with a new one."),\ "You begin to replace the damaged APC cover...") if(do_after(user, 50)) - user.visible_message("[user.name] has replaced the damaged APC cover with a new one.",\ + user.visible_message(span_notice("[user.name] has replaced the damaged APC cover with a new one."),\ "You replace the damaged APC cover with a new one.") qdel(W) stat &= ~BROKEN @@ -650,14 +650,14 @@ GLOBAL_LIST_EMPTY(apcs) if(opened==2) opened = 1 update_icon() - else if(istype(W, /obj/item/device/multitool) && (hacker || emagged)) + else if(istype(W, /obj/item/multitool) && (hacker || emagged)) if(cell) - to_chat(user, "You need to remove the power cell first.") + to_chat(user, span_warning("You need to remove the power cell first.")) return - user.visible_message("[user.name] connects their [W.name] to the APC and begins resetting it.",\ + user.visible_message(span_warning("[user.name] connects their [W.name] to the APC and begins resetting it."),\ "You begin resetting the APC...") if(do_after(user, 50)) - user.visible_message("[user.name] resets the APC with a beep from their [W.name].",\ + user.visible_message(span_notice("[user.name] resets the APC with a beep from their [W.name]."),\ "You finish resetting the APC.") playsound(src, 'sound/machines/chime.ogg', 25, 1) reboot() @@ -666,25 +666,26 @@ GLOBAL_LIST_EMPTY(apcs) && !opened \ && W.force >= 5 \ && W.w_class >= ITEMSIZE_SMALL ) - user.visible_message("The [name] has been hit with the [W.name] by [user.name]!", \ - "You hit the [name] with your [W.name]!", \ + user.visible_message(span_danger("The [name] has been hit with the [W.name] by [user.name]!"), \ + span_danger("You hit the [name] with your [W.name]!"), \ "You hear a bang!") if(prob(20)) opened = 2 - user.visible_message("The APC cover was knocked down with the [W.name] by [user.name]!", \ - "You knock down the APC cover with your [W.name]!", \ + user.visible_message(span_danger("The APC cover was knocked down with the [W.name] by [user.name]!"), \ + span_danger("You knock down the APC cover with your [W.name]!"), \ "You hear a bang!") update_icon() else if(istype(user, /mob/living/silicon)) return attack_hand(user) - if(!opened && wiresexposed && (istype(W, /obj/item/device/multitool) || W.has_tool_quality(TOOL_WIRECUTTER) || istype(W, /obj/item/device/assembly/signaler))) + if(!opened && wiresexposed && (istype(W, /obj/item/multitool) || W.has_tool_quality(TOOL_WIRECUTTER) || istype(W, /obj/item/assembly/signaler))) return attack_hand(user) //Placeholder until someone can do take_damage() for APCs or something. - to_chat(user, "The [name] looks too sturdy to bash open with \the [W.name].") + to_chat(user, span_notice("The [name] looks too sturdy to bash open with \the [W.name].")) // attack with hand - remove cell (if cover open) or interact with the APC -/obj/machinery/power/apc/verb/togglelock(mob/user as mob) + +/obj/machinery/power/apc/proc/togglelock(mob/user) if(emagged) to_chat(user, "The panel is unresponsive.") else if(opened) @@ -694,14 +695,14 @@ GLOBAL_LIST_EMPTY(apcs) else if(stat & (BROKEN|MAINT)) to_chat(user, "Nothing happens.") else if(hacker) - to_chat(user, "Access denied.") + to_chat(user, span_warning("Access denied.")) else if(allowed(user) && !wires.is_cut(WIRE_IDSCAN)) locked = !locked to_chat(user, "You [ locked ? "lock" : "unlock"] the APC interface.") update_icon() else - to_chat(user, "Access denied.") + to_chat(user, span_warning("Access denied.")) /obj/machinery/power/apc/AltClick(mob/user) ..() @@ -720,7 +721,7 @@ GLOBAL_LIST_EMPTY(apcs) if(do_after(user,6)) emagged = 1 locked = 0 - to_chat(user, "You emag the APC interface.") + to_chat(user, span_notice("You emag the APC interface.")) update_icon() return 1 @@ -741,7 +742,7 @@ GLOBAL_LIST_EMPTY(apcs) if(H.species.can_shred(H)) user.setClickCooldown(user.get_attack_speed()) - user.visible_message("[user.name] slashes at the [name]!", "You slash at the [name]!") + user.visible_message(span_warning("[user.name] slashes at the [name]!"), span_notice("You slash at the [name]!")) playsound(src, 'sound/weapons/slash.ogg', 100, 1) var/allcut = wires.is_all_cut() @@ -749,12 +750,12 @@ GLOBAL_LIST_EMPTY(apcs) if(beenhit >= pick(3, 4) && wiresexposed != 1) wiresexposed = 1 update_icon() - visible_message("The [name]'s cover flies open, exposing the wires!") + visible_message(span_warning("The [name]'s cover flies open, exposing the wires!")) else if(wiresexposed == 1 && allcut == 0) wires.cut_all() update_icon() - visible_message("The [name]'s wires are shredded!") + visible_message(span_warning("The [name]'s wires are shredded!")) else beenhit += 1 return @@ -766,8 +767,8 @@ GLOBAL_LIST_EMPTY(apcs) cell.update_icon() cell = null - user.visible_message("[user.name] removes the power cell from [name]!",\ - "You remove the power cell.") + user.visible_message(span_warning("[user.name] removes the power cell from [name]!"),\ + span_notice("You remove the power cell.")) charging = 0 update_icon() return @@ -872,7 +873,7 @@ GLOBAL_LIST_EMPTY(apcs) // to_world("[area.power_equip]") area.power_change() -/obj/machinery/power/apc/proc/can_use(mob/user as mob, var/loud = 0) //used by attack_hand() and Topic() +/obj/machinery/power/apc/proc/can_use(mob/user, var/loud = 0) //used by attack_hand() and Topic() if(!user.client) return 0 if(isobserver(user) && is_admin(user)) //This is to allow nanoUI interaction by ghost admins. @@ -884,10 +885,10 @@ GLOBAL_LIST_EMPTY(apcs) if(!user.IsAdvancedToolUser()) return 0 if(user.restrained()) - to_chat(user, "Your hands must be free to use [src].") + to_chat(user, span_warning("Your hands must be free to use [src].")) return 0 if(user.lying) - to_chat(user, "You must stand to use [src]!") + to_chat(user, span_warning("You must stand to use [src]!")) return 0 autoflag = 5 if(istype(user, /mob/living/silicon)) @@ -902,29 +903,29 @@ GLOBAL_LIST_EMPTY(apcs) if(aidisabled && !permit) if(!loud) - to_chat(user, "\The AI control for [src] has been disabled!") + to_chat(user, span_danger("\The AI control for [src] has been disabled!")) return 0 else if(!in_range(src, user) || !istype(loc, /turf)) return 0 var/mob/living/carbon/human/H = user if(istype(H) && prob(H.getBrainLoss())) - to_chat(user, "You momentarily forget how to use [src].") + to_chat(user, span_danger("You momentarily forget how to use [src].")) return 0 return 1 -/obj/machinery/power/apc/tgui_act(action, params) - if(..() || !can_use(usr, TRUE)) +/obj/machinery/power/apc/tgui_act(action, params, datum/tgui/ui) + if(..() || !can_use(ui.user, TRUE)) return TRUE // There's a handful of cases where we want to allow users to bypass the `locked` variable. // If can_admin_interact() wasn't only defined on observers, this could just be part of a single-line // conditional. var/locked_exception = FALSE - if(issilicon(usr) || action == "nightshift") + if(issilicon(ui.user) || action == "nightshift") locked_exception = TRUE - if(isobserver(usr)) - var/mob/observer/dead/D = usr + if(isobserver(ui.user)) + var/mob/observer/dead/D = ui.user if(D.can_admin_interact()) locked_exception = TRUE @@ -936,7 +937,7 @@ GLOBAL_LIST_EMPTY(apcs) if("lock") if(locked_exception) // Yay code reuse if(emagged || (stat & (BROKEN|MAINT))) - to_chat(usr, "The APC does not respond to the command.") + to_chat(ui.user, "The APC does not respond to the command.") return locked = !locked update_icon() @@ -946,7 +947,7 @@ GLOBAL_LIST_EMPTY(apcs) toggle_breaker() if("nightshift") if(last_nightshift_switch > world.time - 10 SECONDS) // don't spam... - to_chat(usr, "[src]'s night lighting circuit breaker is still cycling!") + to_chat(ui.user, span_warning("[src]'s night lighting circuit breaker is still cycling!")) return 0 last_nightshift_switch = world.time nightshift_setting = params["nightshift"] @@ -1243,7 +1244,7 @@ GLOBAL_LIST_EMPTY(apcs) /obj/machinery/power/apc/proc/set_broken() // Aesthetically much better! spawn(rand(2,5)) - visible_message("[src]'s screen flickers suddenly, then explodes in a rain of sparks and small debris!") + visible_message(span_warning("[src]'s screen flickers suddenly, then explodes in a rain of sparks and small debris!")) stat |= BROKEN operating = 0 update_icon() diff --git a/code/modules/power/batteryrack.dm b/code/modules/power/batteryrack.dm index 200021543d5..b91e5f688e0 100644 --- a/code/modules/power/batteryrack.dm +++ b/code/modules/power/batteryrack.dm @@ -35,19 +35,19 @@ /obj/machinery/power/smes/batteryrack/proc/add_parts() component_parts = list() - component_parts += new /obj/item/weapon/circuitboard/batteryrack - component_parts += new /obj/item/weapon/stock_parts/capacitor // Capacitors: Maximal I/O - component_parts += new /obj/item/weapon/stock_parts/capacitor - component_parts += new /obj/item/weapon/stock_parts/capacitor - component_parts += new /obj/item/weapon/stock_parts/matter_bin // Matter Bin: Max. amount of cells. + component_parts += new /obj/item/circuitboard/batteryrack + component_parts += new /obj/item/stock_parts/capacitor // Capacitors: Maximal I/O + component_parts += new /obj/item/stock_parts/capacitor + component_parts += new /obj/item/stock_parts/capacitor + component_parts += new /obj/item/stock_parts/matter_bin // Matter Bin: Max. amount of cells. /obj/machinery/power/smes/batteryrack/RefreshParts() var/capacitor_efficiency = 0 var/maxcells = 0 - for(var/obj/item/weapon/stock_parts/capacitor/CP in component_parts) + for(var/obj/item/stock_parts/capacitor/CP in component_parts) capacitor_efficiency += CP.rating - for(var/obj/item/weapon/stock_parts/matter_bin/MB in component_parts) + for(var/obj/item/stock_parts/matter_bin/MB in component_parts) maxcells += MB.rating * 3 max_transfer_rate = 10000 * capacitor_efficiency // 30kw - 90kw depending on used capacitors. @@ -56,7 +56,7 @@ output_level = max_transfer_rate /obj/machinery/power/smes/batteryrack/Destroy() - for(var/obj/item/weapon/cell/C in internal_cells) + for(var/obj/item/cell/C in internal_cells) qdel(C) internal_cells = null return ..() @@ -74,7 +74,7 @@ add_overlay("charge[charge_level]") - for(var/obj/item/weapon/cell/C in internal_cells) + for(var/obj/item/cell/C in internal_cells) cellcount++ add_overlay("cell[cellcount]") if(C.fully_charged()) @@ -85,7 +85,7 @@ // Recalculate maxcharge and similar variables. /obj/machinery/power/smes/batteryrack/proc/update_maxcharge() var/newmaxcharge = 0 - for(var/obj/item/weapon/cell/C in internal_cells) + for(var/obj/item/cell/C in internal_cells) newmaxcharge += C.maxcharge newmaxcharge /= CELLRATE // Convert to Joules @@ -116,14 +116,14 @@ amount *= CELLRATE // Convert to CELLRATE first. if(equalise) // Now try to get least charged cell and use the power from it. - var/obj/item/weapon/cell/CL = get_least_charged_cell() + var/obj/item/cell/CL = get_least_charged_cell() if(!CL) return amount -= CL.give(amount) if(!amount) return // We're still here, so it means the least charged cell was full OR we don't care about equalising the charge. Give power to other cells instead. - for(var/obj/item/weapon/cell/C in internal_cells) + for(var/obj/item/cell/C in internal_cells) amount -= C.give(amount) // No more power to input so return. if(!amount) @@ -134,12 +134,12 @@ amount *= CELLRATE // Convert to CELLRATE first. if(equalise) // Now try to get most charged cell and use the power from it. - var/obj/item/weapon/cell/CL = get_most_charged_cell() + var/obj/item/cell/CL = get_most_charged_cell() amount -= CL.use(amount) if(!amount) return // We're still here, so it means the most charged cell didn't have enough power OR we don't care about equalising the charge. Use power from other cells instead. - for(var/obj/item/weapon/cell/C in internal_cells) + for(var/obj/item/cell/C in internal_cells) amount -= C.use(amount) // No more power to output so return. if(!amount) @@ -147,23 +147,23 @@ // Helper procs to get most/least charged cells. /obj/machinery/power/smes/batteryrack/proc/get_most_charged_cell() - var/obj/item/weapon/cell/CL = null - for(var/obj/item/weapon/cell/C in internal_cells) + var/obj/item/cell/CL = null + for(var/obj/item/cell/C in internal_cells) if(CL == null) CL = C else if(CL.percent() < C.percent()) CL = C return CL /obj/machinery/power/smes/batteryrack/proc/get_least_charged_cell() - var/obj/item/weapon/cell/CL = null - for(var/obj/item/weapon/cell/C in internal_cells) + var/obj/item/cell/CL = null + for(var/obj/item/cell/C in internal_cells) if(CL == null) CL = C else if(CL.percent() > C.percent()) CL = C return CL -/obj/machinery/power/smes/batteryrack/proc/insert_cell(var/obj/item/weapon/cell/C, var/mob/user) +/obj/machinery/power/smes/batteryrack/proc/insert_cell(var/obj/item/cell/C, var/mob/user) if(!istype(C)) return 0 @@ -182,7 +182,7 @@ /obj/machinery/power/smes/batteryrack/process() charge = 0 - for(var/obj/item/weapon/cell/C in internal_cells) + for(var/obj/item/cell/C in internal_cells) charge += C.charge charge /= CELLRATE // Convert to Joules charge *= SMESRATE // And to SMES charge units (which are for some reason different than CELLRATE) @@ -198,8 +198,8 @@ // Try to balance charge between stored cells. Capped at max_transfer_rate per tick. // Take power from most charged cell, and give it to least charged cell. if(equalise) - var/obj/item/weapon/cell/least = get_least_charged_cell() - var/obj/item/weapon/cell/most = get_most_charged_cell() + var/obj/item/cell/least = get_least_charged_cell() + var/obj/item/cell/most = get_most_charged_cell() // Don't bother equalising charge between two same cells. Also ensure we don't get NULLs or wrong types. Don't bother equalising when difference between charges is tiny. if(least == most || !istype(least) || !istype(most) || least.percent() == most.percent()) return @@ -216,17 +216,17 @@ least.give(most.use(celldiff)) /obj/machinery/power/smes/batteryrack/dismantle() - for(var/obj/item/weapon/cell/C in internal_cells) + for(var/obj/item/cell/C in internal_cells) C.forceMove(get_turf(src)) internal_cells -= C return ..() -/obj/machinery/power/smes/batteryrack/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) - if(istype(W, /obj/item/weapon/cell)) // ID Card, try to insert it. +/obj/machinery/power/smes/batteryrack/attackby(var/obj/item/W as obj, var/mob/user as mob) + if(istype(W, /obj/item/cell)) // ID Card, try to insert it. if(insert_cell(W, user)) - to_chat(user, "You insert \the [W] into \the [src].") + to_chat(user, span_filter_notice("You insert \the [W] into \the [src].")) else - to_chat(user, "\The [src] has no empty slot for \the [W]") + to_chat(user, span_filter_notice("\The [src] has no empty slot for \the [W]")) if(!..()) return 0 if(default_deconstruction_crowbar(user, W)) @@ -263,7 +263,7 @@ data["cells_cur"] = internal_cells.len var/list/cells = list() var/cell_index = 0 - for(var/obj/item/weapon/cell/C in internal_cells) + for(var/obj/item/cell/C in internal_cells) var/list/cell[0] cell["slot"] = cell_index + 1 cell["used"] = 1 @@ -306,8 +306,8 @@ equalise = 0 return TRUE if("ejectcell") - var/obj/item/weapon/cell/C - for(var/obj/item/weapon/cell/CL in internal_cells) + var/obj/item/cell/C + for(var/obj/item/cell/CL in internal_cells) if(CL.c_uid == text2num(params["ejectcell"])) C = CL break diff --git a/code/modules/power/batteryrack_vr.dm b/code/modules/power/batteryrack_vr.dm index f6c4f3d36a4..c9e08741c2e 100644 --- a/code/modules/power/batteryrack_vr.dm +++ b/code/modules/power/batteryrack_vr.dm @@ -1,5 +1,5 @@ /obj/machinery/power/smes/batteryrack/mapped - var/cell_type = /obj/item/weapon/cell/apc + var/cell_type = /obj/item/cell/apc var/cell_number = 3 /obj/machinery/power/smes/batteryrack/mapped/Initialize() @@ -7,14 +7,14 @@ for(var/i = 1 to cell_number) if(i > max_cells) break - var/obj/item/weapon/cell/newcell = new cell_type(src.loc) + var/obj/item/cell/newcell = new cell_type(src.loc) insert_cell(newcell) -/obj/item/weapon/module/power_control/attackby(var/obj/item/I, var/mob/user) +/obj/item/module/power_control/attackby(var/obj/item/I, var/mob/user) if(I.has_tool_quality(TOOL_MULTITOOL)) - to_chat(user, SPAN_NOTICE("You begin tweaking the power control circuits to support a power cell rack.")) + to_chat(user, span_notice("You begin tweaking the power control circuits to support a power cell rack.")) if(do_after(user, 50 * I.toolspeed)) - var/obj/item/newcircuit = new/obj/item/weapon/circuitboard/batteryrack(get_turf(user)) + var/obj/item/newcircuit = new/obj/item/circuitboard/batteryrack(get_turf(user)) qdel(src) user.put_in_hands(newcircuit) return diff --git a/code/modules/power/breaker_box.dm b/code/modules/power/breaker_box.dm index 1b2e03cb749..76576bc7ec5 100644 --- a/code/modules/power/breaker_box.dm +++ b/code/modules/power/breaker_box.dm @@ -15,7 +15,7 @@ density = TRUE anchored = TRUE unacidable = TRUE - circuit = /obj/item/weapon/circuitboard/breakerbox + circuit = /obj/item/circuitboard/breakerbox var/on = 0 var/busy = 0 var/directions = list(1,2,4,8,5,6,9,10) @@ -47,9 +47,9 @@ /obj/machinery/power/breakerbox/examine(mob/user) . = ..() if(on) - . += "It seems to be online." + . += span_notice("It seems to be online.") else - . += "It seems to be offline." + . += span_warning("It seems to be offline.") /obj/machinery/power/breakerbox/attack_ai(mob/user) if(update_locked) @@ -87,20 +87,20 @@ if(do_after(user, 50)) set_state(!on) user.visible_message(\ - "[user.name] [on ? "enabled" : "disabled"] the breaker box!",\ - "You [on ? "enabled" : "disabled"] the breaker box!") + span_notice("[user.name] [on ? "enabled" : "disabled"] the breaker box!"),\ + span_notice("You [on ? "enabled" : "disabled"] the breaker box!")) update_locked = 1 spawn(600) update_locked = 0 busy = 0 -/obj/machinery/power/breakerbox/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) - if(istype(W, /obj/item/device/multitool)) +/obj/machinery/power/breakerbox/attackby(var/obj/item/W as obj, var/mob/user as mob) + if(istype(W, /obj/item/multitool)) var/newtag = tgui_input_text(user, "Enter new RCON tag. Use \"NO_TAG\" to disable RCON or leave empty to cancel.", "SMES RCON system", "", MAX_NAME_LEN) newtag = sanitize(newtag,MAX_NAME_LEN) if(newtag) RCon_tag = newtag - to_chat(user, "You changed the RCON tag to: [newtag]") + to_chat(user, span_notice("You changed the RCON tag to: [newtag]")) if(on) to_chat(user, span_red("Disable the breaker before performing maintenance.")) return diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index 954231a6abe..f8c7d4fe99b 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -114,7 +114,7 @@ var/list/possible_cable_coil_colours = list( /obj/structure/cable/examine(mob/user) . = ..() if(isobserver(user)) - . += "[powernet?.avail > 0 ? "[DisplayPower(powernet.avail)] in power network." : "The cable is not powered."]" + . += span_warning("[powernet?.avail > 0 ? "[DisplayPower(powernet.avail)] in power network." : "The cable is not powered."]") // Rotating cables requires d1 and d2 to be rotated /obj/structure/cable/set_dir(new_dir) @@ -180,11 +180,11 @@ var/list/possible_cable_coil_colours = list( if(W.has_tool_quality(TOOL_WIRECUTTER)) var/obj/item/stack/cable_coil/CC if(d1 == UP || d2 == UP) - to_chat(user, "You must cut this cable from above.") + to_chat(user, span_warning("You must cut this cable from above.")) return if(breaker_box) - to_chat(user, "This cable is connected to nearby breaker box. Use breaker box to interact with it.") + to_chat(user, span_warning("This cable is connected to nearby breaker box. Use breaker box to interact with it.")) return if (shock(user, 50)) @@ -199,7 +199,7 @@ var/list/possible_cable_coil_colours = list( src.transfer_fingerprints_to(CC) for(var/mob/O in viewers(src, null)) - O.show_message("[user] cuts the cable.", 1) + O.show_message(span_warning("[user] cuts the cable."), 1) if(d1 == DOWN || d2 == DOWN) var/turf/turf = GetBelow(src) @@ -221,13 +221,13 @@ var/list/possible_cable_coil_colours = list( return coil.cable_join(src, user) - else if(istype(W, /obj/item/device/multitool)) + else if(istype(W, /obj/item/multitool)) if(powernet && (powernet.avail > 0)) // is it powered? - to_chat(user, "[DisplayPower(powernet.avail)] in power network.") + to_chat(user, span_warning("[DisplayPower(powernet.avail)] in power network.")) else - to_chat(user, "The cable is not powered.") + to_chat(user, span_warning("The cable is not powered.")) shock(user, 5, 0.2) @@ -554,11 +554,11 @@ var/list/possible_cable_coil_colours = list( if(S.organ_tag == BP_HEAD) if(H.head && istype(H.head,/obj/item/clothing/head/helmet/space)) - to_chat(user, "You can't apply [src] through [H.head]!") + to_chat(user, span_warning("You can't apply [src] through [H.head]!")) return 1 else if(H.wear_suit && istype(H.wear_suit,/obj/item/clothing/suit/space)) - to_chat(user, "You can't apply [src] through [H.wear_suit]!") + to_chat(user, span_warning("You can't apply [src] through [H.wear_suit]!")) return 1 var/use_amt = min(src.amount, CEILING(S.burn_dam/5, 1), 5) @@ -591,7 +591,7 @@ var/list/possible_cable_coil_colours = list( final_color = possible_cable_coil_colours["Red"] selected_color = "red" color = final_color - to_chat(user, "You change \the [src]'s color to [lowertext(selected_color)].") + to_chat(user, span_notice("You change \the [src]'s color to [lowertext(selected_color)].")) /obj/item/stack/cable_coil/proc/update_wclass() if(amount == 1) @@ -600,7 +600,7 @@ var/list/possible_cable_coil_colours = list( w_class = ITEMSIZE_SMALL /obj/item/stack/cable_coil/attackby(obj/item/W, mob/user) - if(istype(W, /obj/item/device/multitool)) + if(istype(W, /obj/item/multitool)) var/selected_type = tgui_input_list(usr, "Pick new colour.", "Cable Colour", possible_cable_coil_colours) set_cable_color(selected_type, usr) return @@ -614,14 +614,14 @@ var/list/possible_cable_coil_colours = list( if(ishuman(M) && !M.restrained() && !M.stat && !M.paralysis && ! M.stunned) if(!istype(usr.loc,/turf)) return if(src.amount <= 14) - to_chat(usr, "You need at least 15 lengths to make restraints!") + to_chat(usr, span_warning("You need at least 15 lengths to make restraints!")) return - var/obj/item/weapon/handcuffs/cable/B = new /obj/item/weapon/handcuffs/cable(usr.loc) + var/obj/item/handcuffs/cable/B = new /obj/item/handcuffs/cable(usr.loc) B.color = color - to_chat(usr, "You wind some cable together to make some restraints.") + to_chat(usr, span_notice("You wind some cable together to make some restraints.")) src.use(15) else - to_chat(usr, "You cannot do that.") + to_chat(usr, span_notice("You cannot do that.")) /obj/item/stack/cable_coil/cyborg/verb/set_colour() set name = "Change Colour" @@ -685,7 +685,7 @@ var/list/possible_cable_coil_colours = list( for(var/obj/structure/cable/LC in F) if((LC.d1 == dirn && LC.d2 == end_dir ) || ( LC.d2 == dirn && LC.d1 == end_dir)) - to_chat(user, "There's already a cable at that position.") + to_chat(user, span_warning("There's already a cable at that position.")) return put_cable(F, user, end_dir, dirn) diff --git a/code/modules/power/cable_ender.dm b/code/modules/power/cable_ender.dm index ba6359be638..906da2a42ad 100644 --- a/code/modules/power/cable_ender.dm +++ b/code/modules/power/cable_ender.dm @@ -25,10 +25,10 @@ /obj/structure/cable/ender/attackby(obj/item/W, mob/user) src.add_fingerprint(user) if(W.has_tool_quality(TOOL_WIRECUTTER)) - to_chat(user, " These cables are too tough to be cut with those [W.name].") + to_chat(user, span_notice(" These cables are too tough to be cut with those [W.name].")) return else if(istype(W, /obj/item/stack/cable_coil)) - to_chat(user, " You will need heavier cables to connect to these.") + to_chat(user, span_notice(" You will need heavier cables to connect to these.")) return else ..() @@ -36,4 +36,3 @@ // Because they cannot be rebuilt, they are hard to destroy /obj/structure/cable/ender/ex_act(severity) return - diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index 0709b9f795f..5379ab7f423 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -2,7 +2,7 @@ // charge from 0 to 100% // fits in APC to provide backup power -/obj/item/weapon/cell +/obj/item/cell name = "power cell" desc = "A rechargable electrochemical power cell." icon = 'icons/obj/power_cells.dmi' @@ -18,7 +18,7 @@ var/emp_proof = FALSE var/static/cell_uid = 1 // Unique ID of this power cell. Used to reduce bunch of uglier code in nanoUI. var/c_uid - var/charge = 0 // note %age conveted to actual charge in New + var/charge = 1000 // maximum charge on spawn var/maxcharge = 1000 var/rigged = 0 // true if rigged to explode var/minor_fault = 0 //If not 100% reliable, it will build up faults. @@ -27,6 +27,7 @@ var/last_use = 0 // A tracker for use in self-charging var/connector_type = "standard" //What connector sprite to use when in a cell charger, null if no connectors var/charge_delay = 0 // How long it takes for the cell to start recharging after last use + var/robot_durability = 50 matter = list(MAT_STEEL = 700, MAT_GLASS = 50) drop_sound = 'sound/items/drop/component.ogg' pickup_sound = 'sound/items/pickup/component.ogg' @@ -35,36 +36,35 @@ var/standard_overlays = TRUE var/last_overlay_state = null // Used to optimize update_icon() calls. -/obj/item/weapon/cell/New() - ..() +/obj/item/cell/Initialize() + . = ..() c_uid = cell_uid++ - charge = maxcharge update_icon() if(self_recharge) START_PROCESSING(SSobj, src) -/obj/item/weapon/cell/Destroy() +/obj/item/cell/Destroy() if(self_recharge) STOP_PROCESSING(SSobj, src) return ..() -/obj/item/weapon/cell/get_cell() +/obj/item/cell/get_cell() return src -/obj/item/weapon/cell/process() +/obj/item/cell/process() if(self_recharge) if(world.time >= last_use + charge_delay) give(charge_amount) // TGMC Ammo HUD - Update the HUD every time we're called to recharge. - if(istype(loc, /obj/item/weapon/gun/energy)) // Are we in a gun currently? - var/obj/item/weapon/gun/energy/gun = loc + if(istype(loc, /obj/item/gun/energy)) // Are we in a gun currently? + var/obj/item/gun/energy/gun = loc var/mob/living/user = gun.loc if(istype(user)) user?.hud_used.update_ammo_hud(user, gun) // Update the HUD else return PROCESS_KILL -/obj/item/weapon/cell/drain_power(var/drain_check, var/surge, var/power = 0) +/obj/item/cell/drain_power(var/drain_check, var/surge, var/power = 0) if(drain_check) return 1 @@ -80,7 +80,7 @@ #define OVERLAY_PARTIAL 1 #define OVERLAY_EMPTY 0 -/obj/item/weapon/cell/update_icon() +/obj/item/cell/update_icon() if(!standard_overlays) return var/ratio = 0 @@ -96,25 +96,25 @@ #undef OVERLAY_PARTIAL #undef OVERLAY_EMPTY -/obj/item/weapon/cell/proc/percent() // return % charge of cell +/obj/item/cell/proc/percent() // return % charge of cell var/charge_percent = 0 if(maxcharge > 0) charge_percent = 100.0*charge/maxcharge return charge_percent -/obj/item/weapon/cell/proc/fully_charged() +/obj/item/cell/proc/fully_charged() return (charge == maxcharge) // checks if the power cell is able to provide the specified amount of charge -/obj/item/weapon/cell/proc/check_charge(var/amount) +/obj/item/cell/proc/check_charge(var/amount) return (charge >= amount) // Returns how much charge is missing from the cell, useful to make sure not overdraw from the grid when recharging. -/obj/item/weapon/cell/proc/amount_missing() +/obj/item/cell/proc/amount_missing() return max(maxcharge - charge, 0) // use power from a cell, returns the amount actually used -/obj/item/weapon/cell/proc/use(var/amount) +/obj/item/cell/proc/use(var/amount) if(rigged && amount > 0) explode() return 0 @@ -126,14 +126,14 @@ // Checks if the specified amount can be provided. If it can, it removes the amount // from the cell and returns 1. Otherwise does nothing and returns 0. -/obj/item/weapon/cell/proc/checked_use(var/amount) +/obj/item/cell/proc/checked_use(var/amount) if(!check_charge(amount)) return 0 use(amount) return 1 // recharge the cell -/obj/item/weapon/cell/proc/give(var/amount) +/obj/item/cell/proc/give(var/amount) if(rigged && amount > 0) explode() return 0 @@ -147,16 +147,16 @@ return amount_used -/obj/item/weapon/cell/examine(mob/user) +/obj/item/cell/examine(mob/user) . = ..() if(Adjacent(user)) . += "It has a power rating of [maxcharge]." . += "The charge meter reads [round(src.percent() )]%." -/obj/item/weapon/cell/attackby(obj/item/W, mob/user) +/obj/item/cell/attackby(obj/item/W, mob/user) ..() - if(istype(W, /obj/item/weapon/reagent_containers/syringe)) - var/obj/item/weapon/reagent_containers/syringe/S = W + if(istype(W, /obj/item/reagent_containers/syringe)) + var/obj/item/reagent_containers/syringe/S = W to_chat(user, "You inject the solution into the power cell.") @@ -169,7 +169,7 @@ S.reagents.clear_reagents() -/obj/item/weapon/cell/proc/explode() +/obj/item/cell/proc/explode() var/turf/T = get_turf(src.loc) /* * 1000-cell explosion(T, -1, 0, 1, 1) @@ -196,13 +196,13 @@ qdel(src) -/obj/item/weapon/cell/proc/corrupt() +/obj/item/cell/proc/corrupt() charge /= 2 maxcharge /= 2 if (prob(10)) rigged = 1 //broken batterys are dangerous -/obj/item/weapon/cell/emp_act(severity) +/obj/item/cell/emp_act(severity) if(emp_proof) return //remove this once emp changes on dev are merged in @@ -217,7 +217,7 @@ update_icon() ..() -/obj/item/weapon/cell/ex_act(severity) +/obj/item/cell/ex_act(severity) switch(severity) if(1.0) @@ -237,7 +237,7 @@ corrupt() return -/obj/item/weapon/cell/proc/get_electrocute_damage() +/obj/item/cell/proc/get_electrocute_damage() //1kW = 5 //10kW = 24 //100kW = 45 diff --git a/code/modules/power/cells/device_cells.dm b/code/modules/power/cells/device_cells.dm index e4d822044a8..7ec7e8f3525 100644 --- a/code/modules/power/cells/device_cells.dm +++ b/code/modules/power/cells/device_cells.dm @@ -1,7 +1,7 @@ /* * Device */ -/obj/item/weapon/cell/device +/obj/item/cell/device name = "device power cell" desc = "A small power cell designed to power handheld devices." icon_state = "device_cell" @@ -10,85 +10,79 @@ force = 0 throw_speed = 5 throw_range = 7 + charge = 480 maxcharge = 480 charge_amount = 5 matter = list(MAT_STEEL = 350, MAT_GLASS = 50) preserve_item = 1 -/obj/item/weapon/cell/device/empty/Initialize() - . = ..() +/obj/item/cell/device/empty charge = 0 - update_icon() /* * Crap Device */ -/obj/item/weapon/cell/device/crap +/obj/item/cell/device/crap name = "\improper rechargable D battery" desc = "An older, cheap power cell designed to power handheld devices. It's probably been in use for quite some time now." description_fluff = "You can't top the rust top." //TOTALLY TRADEMARK INFRINGEMENT origin_tech = list(TECH_POWER = 0) icon_state = "device_crap" + charge = 240 maxcharge = 240 matter = list(MAT_STEEL = 350, MAT_GLASS = 30) -/obj/item/weapon/cell/device/crap/update_icon() //No visible charge indicator +/obj/item/cell/device/crap/update_icon() //No visible charge indicator return -/obj/item/weapon/cell/device/crap/empty/Initialize() - . = ..() +/obj/item/cell/device/crap/empty charge = 0 - update_icon() /* * Hyper Device */ -/obj/item/weapon/cell/device/hyper +/obj/item/cell/device/hyper name = "hyper device power cell" desc = "A small power cell designed to power handheld devices. Has a better charge than a standard device cell." icon_state = "hype_device_cell" + charge = 600 maxcharge = 600 matter = list(MAT_STEEL = 400, MAT_GLASS = 60) -/obj/item/weapon/cell/device/hyper/empty/Initialize() - . = ..() +/obj/item/cell/device/hyper/empty charge = 0 - update_icon() /* * EMP Proof Device */ -/obj/item/weapon/cell/device/empproof +/obj/item/cell/device/empproof name = "shielded device power cell" desc = "A small power cell designed to power handheld devices. Shielded from EMPs." icon_state = "up_device_cell" matter = list(MAT_STEEL = 400, MAT_GLASS = 60) emp_proof = TRUE -/obj/item/weapon/cell/device/empproof/empty/Initialize() - . = ..() +/obj/item/cell/device/empproof/empty charge = 0 - update_icon() /* * Weapon */ -/obj/item/weapon/cell/device/weapon +/obj/item/cell/device/weapon name = "weapon power cell" desc = "A small power cell designed to power handheld weaponry." icon_state = "weapon_cell" + charge = 2400 maxcharge = 2400 charge_amount = 20 origin_tech = list(TECH_POWER = 2) //Yawn changes -/obj/item/weapon/cell/device/weapon/empty/Initialize() - . = ..() +/obj/item/cell/device/weapon/empty charge = 0 - update_icon() -/obj/item/weapon/cell/device/super +/obj/item/cell/device/super name = "super device power cell" desc = "A small upgraded power cell designed to power handheld devices." icon = 'icons/obj/power_yw.dmi' @@ -97,12 +91,12 @@ charge_amount = 20 origin_tech = list(TECH_POWER = 3) -/obj/item/weapon/cell/device/super/empty/Initialize() +/obj/item/cell/device/super/empty/Initialize() . = ..() charge = 0 update_icon() -/obj/item/weapon/cell/device/hyper +/obj/item/cell/device/hyper name = "hyper device power cell" desc = "A small upgraded power cell designed to hold much more power for handheld devices." icon = 'icons/obj/power_yw.dmi' @@ -111,7 +105,7 @@ charge_amount = 20 origin_tech = list(TECH_POWER = 4) -/obj/item/weapon/cell/device/hyper/empty/Initialize() +/obj/item/cell/device/hyper/empty/Initialize() . = ..() charge = 0 update_icon() @@ -120,22 +114,20 @@ /* * EMP Proof Weapon */ -/obj/item/weapon/cell/device/weapon/empproof +/obj/item/cell/device/weapon/empproof name = "shielded weapon power cell" desc = "A small power cell designed to power handheld weaponry. Shielded from EMPs." icon_state = "emp_weapon_cell" matter = list(MAT_STEEL = 400, MAT_GLASS = 60) emp_proof = TRUE -/obj/item/weapon/cell/device/weapon/empproof/empty/Initialize() - . = ..() +/obj/item/cell/device/weapon/empproof/empty charge = 0 - update_icon() /* * Self-charging Weapon */ -/obj/item/weapon/cell/device/weapon/recharge +/obj/item/cell/device/weapon/recharge name = "self-charging weapon power cell" desc = "A small power cell designed to power handheld weaponry. This one recharges itself." icon_state = "sc_weapon_cell" @@ -147,7 +139,7 @@ /* * Captain's Self-charging Weapon */ -/obj/item/weapon/cell/device/weapon/recharge/captain +/obj/item/cell/device/weapon/recharge/captain icon_state = "cap_weapon_cell" matter = list(MAT_STEEL = 400, MAT_GLASS = 100) charge_amount = 160 //Recharges a lot more quickly... @@ -170,8 +162,8 @@ Scanning similar objects may yield more information." value = CATALOGUER_REWARD_EASY -/obj/item/weapon/cell/device/weapon/recharge/alien - name = "void cell" +/obj/item/cell/device/weapon/recharge/alien + name = "void cell (device)" desc = "An alien technology that produces energy seemingly out of nowhere. Its small, cylinderal shape means it might be able to be used with human technology, perhaps?" catalogue_data = list(/datum/category_item/catalogue/anomalous/precursor_a/alien_void_cell) icon = 'icons/obj/abductor.dmi' @@ -179,12 +171,30 @@ charge_amount = 120 // 5%. charge_delay = 50 // Every five seconds, bit faster than the default. origin_tech = list(TECH_POWER = 8, TECH_ENGINEERING = 6) + var/swaps_to = /obj/item/cell/void + standard_overlays = FALSE -/obj/item/weapon/cell/device/weapon/recharge/alien/update_icon() +/obj/item/cell/device/weapon/recharge/alien/update_icon() return // No overlays please. -//YAWN Addtion -/obj/item/weapon/cell/device/weapon/recharge/alien/omni +/obj/item/cell/device/weapon/recharge/alien/attack_self(var/mob/user) + user.remove_from_mob(src) + to_chat(user, span_notice("You swap [src] to 'machinery cell' mode.")) + var/obj/item/cell/newcell = new swaps_to(null) + user.put_in_active_hand(newcell) + var/percentage = charge/maxcharge + newcell.charge = newcell.maxcharge * percentage + newcell.persist_storable = persist_storable + qdel(src) + +// Bloo friendlier hybrid tech +/obj/item/cell/device/weapon/recharge/alien/hybrid + icon = 'icons/obj/power_vr.dmi' + icon_state = "cellb" + swaps_to = /obj/item/cell/void/hybrid + +// yw Addtion +/obj/item/cell/device/weapon/recharge/alien/omni name = "omni weapon power cell" desc = "A mix between alien technology and phoron tech. Seems to fit in almost any cell slot..." charge_amount = 90 // 5%. @@ -192,6 +202,6 @@ charge_delay = 50 SECONDS origin_tech = list(TECH_POWER = 6, TECH_ENGINEERING = 4, TECH_PHORON = 3) -/obj/item/weapon/cell/device/weapon/recharge/alien/omni/empty/Initialize() +/obj/item/cell/device/weapon/recharge/alien/omni/empty/Initialize() . = ..() charge = 0 diff --git a/code/modules/power/cells/device_cells_vr.dm b/code/modules/power/cells/device_cells_vr.dm deleted file mode 100644 index 639130a6605..00000000000 --- a/code/modules/power/cells/device_cells_vr.dm +++ /dev/null @@ -1,52 +0,0 @@ - -//The device cell -/obj/item/weapon/cell/device/weapon/recharge/alien - name = "void cell (device)" - var/swaps_to = /obj/item/weapon/cell/void - standard_overlays = FALSE - -/obj/item/weapon/cell/device/weapon/recharge/alien/attack_self(var/mob/user) - user.remove_from_mob(src) - to_chat(user, "You swap [src] to 'machinery cell' mode.") - var/obj/item/weapon/cell/newcell = new swaps_to(null) - user.put_in_active_hand(newcell) - var/percentage = charge/maxcharge - newcell.charge = newcell.maxcharge * percentage - newcell.persist_storable = persist_storable - qdel(src) - -//The machine cell -/obj/item/weapon/cell/void - name = "void cell (machinery)" - desc = "An alien technology that produces energy seemingly out of nowhere. Its small, cylinderal shape means it might be able to be used with human technology, perhaps?" - origin_tech = list(TECH_POWER = 8, TECH_ENGINEERING = 6) - icon = 'icons/obj/abductor.dmi' - icon_state = "cell" - maxcharge = 4800 //10x the device version - charge_amount = 1200 //10x the device version - self_recharge = TRUE - charge_delay = 50 - matter = null - standard_overlays = FALSE - var/swaps_to = /obj/item/weapon/cell/device/weapon/recharge/alien - -/obj/item/weapon/cell/void/attack_self(var/mob/user) - user.remove_from_mob(src) - to_chat(user, "You swap [src] to 'device cell' mode.") - var/obj/item/weapon/cell/newcell = new swaps_to(null) - user.put_in_active_hand(newcell) - var/percentage = charge/maxcharge - newcell.charge = newcell.maxcharge * percentage - newcell.persist_storable = persist_storable - qdel(src) - -// Bloo friendlier hybrid tech -/obj/item/weapon/cell/device/weapon/recharge/alien/hybrid - icon = 'icons/obj/power_vr.dmi' - icon_state = "cellb" - swaps_to = /obj/item/weapon/cell/void/hybrid - -/obj/item/weapon/cell/void/hybrid - icon = 'icons/obj/power_vr.dmi' - icon_state = "cellb" - swaps_to = /obj/item/weapon/cell/device/weapon/recharge/alien/hybrid diff --git a/code/modules/power/cells/esoteric_cells.dm b/code/modules/power/cells/esoteric_cells.dm index a94a7223e08..925a8f55437 100644 --- a/code/modules/power/cells/esoteric_cells.dm +++ b/code/modules/power/cells/esoteric_cells.dm @@ -1,15 +1,16 @@ -/obj/item/weapon/cell/spike +/obj/item/cell/spike name = "modified power cell" desc = "A modified power cell sitting in a highly conductive chassis." origin_tech = list(TECH_POWER = 2) icon_state = "modded" + charge = 10000 maxcharge = 10000 matter = list(MAT_STEEL = 1000, MAT_GLASS = 80, MAT_SILVER = 100) self_recharge = TRUE charge_amount = 150 -/obj/item/weapon/cell/spike/process() +/obj/item/cell/spike/process() ..() var/turf/Center = get_turf(src) @@ -63,10 +64,10 @@ var/obj/item/projectile/beam/shock/weak/P = new (get_turf(src)) P.launch_projectile_from_turf(L, BP_TORSO) - var/obj/item/weapon/plastique/C4 = locate() in get_turf(src) + var/obj/item/plastique/C4 = locate() in get_turf(src) if(C4) - C4.visible_message("The current fries \the [C4]!") + C4.visible_message(span_danger("The current fries \the [C4]!")) if(prob(10)) C4.explode(get_turf(src)) diff --git a/code/modules/power/cells/power_cells.dm b/code/modules/power/cells/power_cells.dm index 4054c422c6e..3722b6832f5 100644 --- a/code/modules/power/cells/power_cells.dm +++ b/code/modules/power/cells/power_cells.dm @@ -1,104 +1,108 @@ /* * Empty */ -/obj/item/weapon/cell/empty/New() - ..() +/obj/item/cell/empty charge = 0 /* * Crap */ -/obj/item/weapon/cell/crap +/obj/item/cell/crap name = "\improper rechargable DD battery" desc = "An older, cheap power cell. It's probably been in use for quite some time now." description_fluff = "You can't top the rust top." //TOTALLY TRADEMARK INFRINGEMENT origin_tech = list(TECH_POWER = 0) icon_state = "crap" + charge = 500 maxcharge = 500 matter = list(MAT_STEEL = 700, MAT_GLASS = 40) + robot_durability = 20 -/obj/item/weapon/cell/crap/update_icon() //No visible charge indicator +/obj/item/cell/crap/update_icon() //No visible charge indicator return -/obj/item/weapon/cell/crap/empty/New() - ..() +/obj/item/cell/crap/empty charge = 0 /* * APC */ -/obj/item/weapon/cell/apc +/obj/item/cell/apc name = "heavy-duty power cell" origin_tech = list(TECH_POWER = 1) icon_state = "apc" + charge = 5000 maxcharge = 5000 matter = list(MAT_STEEL = 700, MAT_GLASS = 50) /* * Robot */ -/obj/item/weapon/cell/robot_station +/obj/item/cell/robot_station name = "standard robot power cell" + charge = 7500 maxcharge = 7500 /* * High */ -/obj/item/weapon/cell/high +/obj/item/cell/high name = "high-capacity power cell" origin_tech = list(TECH_POWER = 2) icon_state = "high" + charge = 10000 maxcharge = 10000 matter = list(MAT_STEEL = 700, MAT_GLASS = 60) + robot_durability = 55 -/obj/item/weapon/cell/high/empty/New() - ..() +/obj/item/cell/high/empty charge = 0 - update_icon() /* * Super */ -/obj/item/weapon/cell/super +/obj/item/cell/super name = "super-capacity power cell" origin_tech = list(TECH_POWER = 5) icon_state = "super" + charge = 20000 maxcharge = 20000 matter = list(MAT_STEEL = 700, MAT_GLASS = 70) + robot_durability = 60 -/obj/item/weapon/cell/super/empty/New() - ..() +/obj/item/cell/super/empty charge = 0 - update_icon() /* * Syndicate */ -/obj/item/weapon/cell/robot_syndi +/obj/item/cell/robot_syndi name = "syndicate robot power cell" description_fluff = "Almost as good as a hyper." icon_state = "super" //We don't want roboticists confuse it with a low standard cell + charge = 25000 maxcharge = 25000 + robot_durability = 65 /* * Hyper */ -/obj/item/weapon/cell/hyper +/obj/item/cell/hyper name = "hyper-capacity power cell" origin_tech = list(TECH_POWER = 6) icon_state = "hyper" + charge = 30000 maxcharge = 30000 matter = list(MAT_STEEL = 700, MAT_GLASS = 80) + robot_durability = 70 -/obj/item/weapon/cell/hyper/empty/New() - ..() +/obj/item/cell/hyper/empty charge = 0 - update_icon() /* * Mecha */ -/obj/item/weapon/cell/mech +/obj/item/cell/mech name = "mecha power cell" icon_state = "mech" connector_type = "mech" @@ -106,7 +110,7 @@ maxcharge = 15000 matter = list(MAT_STEEL = 800, MAT_GLASS = 60) -/obj/item/weapon/cell/mech/lead +/obj/item/cell/mech/lead name = "lead acid battery" desc = "An ancient battery design not commonly seen anymore. It looks like it'd fit inside a mech however..." origin_tech = list(TECH_POWER = 0) //Litteraly an old car battery, doesn't need tech @@ -115,10 +119,10 @@ maxcharge = 8000 matter = list(MAT_STEEL = 300, MAT_GLASS = 10) -/obj/item/weapon/cell/mech/lead/update_icon() //No visible charge indicator +/obj/item/cell/mech/lead/update_icon() //No visible charge indicator return -/obj/item/weapon/cell/mech/high +/obj/item/cell/mech/high name = "high-capacity mecha power cell" origin_tech = list(TECH_POWER = 3) icon_state = "blue" @@ -126,7 +130,7 @@ maxcharge = 20000 matter = list(MAT_STEEL = 800, MAT_GLASS = 80) -/obj/item/weapon/cell/mech/super +/obj/item/cell/mech/super name = "super-capacity mecha power cell" origin_tech = list(TECH_POWER = 6) icon_state = "white" @@ -137,23 +141,25 @@ /* * Infinite */ -/obj/item/weapon/cell/infinite +/obj/item/cell/infinite name = "infinite-capacity power cell!" icon_state = "infinity" origin_tech = null + charge = 30000 maxcharge = 30000 //determines how badly mobs get shocked matter = list(MAT_STEEL = 700, MAT_GLASS = 80) + robot_durability = 200 -/obj/item/weapon/cell/infinite/check_charge() +/obj/item/cell/infinite/check_charge() return 1 -/obj/item/weapon/cell/infinite/use() +/obj/item/cell/infinite/use() return 1 /* * Potato */ -/obj/item/weapon/cell/potato +/obj/item/cell/potato name = "potato battery" desc = "A rechargable starch based power cell." origin_tech = list(TECH_POWER = 1) @@ -161,11 +167,12 @@ charge = 100 maxcharge = 300 minor_fault = 1 + robot_durability = 30 /* * Slime */ -/obj/item/weapon/cell/slime +/obj/item/cell/slime name = "charged slime core" desc = "A yellow slime core infused with phoron, it crackles with power." origin_tech = list(TECH_POWER = 4, TECH_BIO = 5) @@ -173,6 +180,7 @@ icon_state = "yellow slime extract" //"potato_battery" connector_type = "slime" description_info = "This 'cell' holds a max charge of 10k and self recharges over time." + charge = 10000 maxcharge = 10000 matter = null self_recharge = TRUE @@ -181,19 +189,20 @@ /* * Emergency Light */ -/obj/item/weapon/cell/emergency_light +/obj/item/cell/emergency_light name = "miniature power cell" desc = "A tiny power cell with a very low power capacity. Used in light fixtures to power them in the event of an outage." + charge = 120 maxcharge = 120 //Emergency lights use 0.2 W per tick, meaning ~10 minutes of emergency power from a cell matter = list(MAT_GLASS = 20) icon_state = "em_light" connector_type = "emergency" w_class = ITEMSIZE_TINY -/obj/item/weapon/cell/emergency_light/update_icon() //No visible charge indicator +/obj/item/cell/emergency_light/update_icon() //No visible charge indicator return -/obj/item/weapon/cell/emergency_light/Initialize() +/obj/item/cell/emergency_light/Initialize() . = ..() var/area/A = get_area(src) if(!A.lightswitch || !A.light_power) @@ -204,7 +213,7 @@ * * Not actually a cell, but if people look for it, they'll probably look near other cells */ -/obj/item/device/fbp_backup_cell +/obj/item/fbp_backup_cell name = "backup battery" desc = "A small one-time-use chemical battery for synthetic crew when they are low on power in emergency situations." icon = 'icons/obj/power_cells.dmi' @@ -213,26 +222,26 @@ var/amount = 100 var/used = FALSE -/obj/item/device/fbp_backup_cell/Initialize() +/obj/item/fbp_backup_cell/Initialize() . = ..() add_overlay("[icon_state]_100") -/obj/item/device/fbp_backup_cell/attack(mob/living/M as mob, mob/user as mob) +/obj/item/fbp_backup_cell/attack(mob/living/M as mob, mob/user as mob) if(!used && ishuman(M)) var/mob/living/carbon/human/H = M if(H.isSynthetic()) if(H.nutrition <= amount) use(user,H) else - to_chat(user,"The difference in potential is too great. [user == M ? "You have" : "[H] has"] too much charge to use such a small battery.") + to_chat(user,span_warning("The difference in potential is too great. [user == M ? "You have" : "[H] has"] too much charge to use such a small battery.")) else if(M == user) - to_chat(user,"You lick the cell, and your tongue tingles slightly.") + to_chat(user,span_warning("You lick the cell, and your tongue tingles slightly.")) else - to_chat(user,"This cell is meant for use on humanoid synthetics only.") + to_chat(user,span_warning("This cell is meant for use on humanoid synthetics only.")) . = ..() -/obj/item/device/fbp_backup_cell/proc/use(var/mob/living/user, var/mob/living/target) +/obj/item/fbp_backup_cell/proc/use(var/mob/living/user, var/mob/living/target) if(used) return used = TRUE @@ -240,3 +249,35 @@ cut_overlays() target.adjust_nutrition(amount) user.custom_emote(message = "connects \the [src] to [user == target ? "their" : "[target]'s"] charging port, expending it.") + +//The machine cell +/obj/item/cell/void + name = "void cell (machinery)" + desc = "An alien technology that produces energy seemingly out of nowhere. Its small, cylinderal shape means it might be able to be used with human technology, perhaps?" + origin_tech = list(TECH_POWER = 8, TECH_ENGINEERING = 6) + icon = 'icons/obj/abductor.dmi' + icon_state = "cell" + charge = 4800 + maxcharge = 4800 //10x the device version + charge_amount = 1200 //10x the device version + self_recharge = TRUE + charge_delay = 50 + matter = null + standard_overlays = FALSE + var/swaps_to = /obj/item/cell/device/weapon/recharge/alien + robot_durability = 100 + +/obj/item/cell/void/attack_self(var/mob/user) + user.remove_from_mob(src) + to_chat(user, span_notice("You swap [src] to 'device cell' mode.")) + var/obj/item/cell/newcell = new swaps_to(null) + user.put_in_active_hand(newcell) + var/percentage = charge/maxcharge + newcell.charge = newcell.maxcharge * percentage + newcell.persist_storable = persist_storable + qdel(src) + +/obj/item/cell/void/hybrid + icon = 'icons/obj/power_vr.dmi' + icon_state = "cellb" + swaps_to = /obj/item/cell/device/weapon/recharge/alien/hybrid diff --git a/code/modules/power/debug_items.dm b/code/modules/power/debug_items.dm index 0fe6e9fb079..371b239ded6 100644 --- a/code/modules/power/debug_items.dm +++ b/code/modules/power/debug_items.dm @@ -13,15 +13,15 @@ /obj/machinery/power/debug_items/proc/show_info(var/mob/user) var/list/extra_info = list() if(!powernet) - extra_info += "This device is not connected to a powernet" + extra_info += span_filter_notice("This device is not connected to a powernet") return - extra_info += "Connected to powernet: [powernet]" - extra_info += "Available power: [num2text(powernet.avail, 20)] W" - extra_info += "Load: [num2text(powernet.viewload, 20)] W" - extra_info += "Has alert: [powernet.problem ? "YES" : "NO"]" - extra_info += "Cables: [powernet.cables.len]" - extra_info += "Nodes: [powernet.nodes.len]" + extra_info += span_filter_notice("Connected to powernet: [powernet]") + extra_info += span_filter_notice("Available power: [num2text(powernet.avail, 20)] W") + extra_info += span_filter_notice("Load: [num2text(powernet.viewload, 20)] W") + extra_info += span_filter_notice("Has alert: [powernet.problem ? "YES" : "NO"]") + extra_info += span_filter_notice("Cables: [powernet.cables.len]") + extra_info += span_filter_notice("Nodes: [powernet.nodes.len]") return extra_info @@ -36,7 +36,7 @@ /obj/machinery/power/debug_items/infinite_generator/show_info(var/mob/user) . = ..() - . += "Generator is providing [num2text(power_generation_rate, 20)] W" + . += span_filter_notice("Generator is providing [num2text(power_generation_rate, 20)] W") // A cable powersink, without the explosion/network alarms normal powersink causes. @@ -51,8 +51,8 @@ /obj/machinery/power/debug_items/infinite_cable_powersink/show_info(var/mob/user) . = ..() - . += "Power sink is demanding [num2text(power_usage_rate, 20)] W" - . += "[num2text(last_used, 20)] W was actually used last tick" + . += span_filter_notice("Power sink is demanding [num2text(power_usage_rate, 20)] W") + . += span_filter_notice("[num2text(last_used, 20)] W was actually used last tick") /obj/machinery/power/debug_items/infinite_apc_powersink @@ -63,5 +63,5 @@ /obj/machinery/power/debug_items/infinite_apc_powersink/show_info(var/mob/user) . = ..() - . += "Dummy load is using [num2text(active_power_usage, 20)] W" - . += "Powered: [powered() ? "YES" : "NO"]" + . += span_filter_notice("Dummy load is using [num2text(active_power_usage, 20)] W") + . += span_filter_notice("Powered: [powered() ? "YES" : "NO"]") diff --git a/code/modules/power/fusion/_setup.dm b/code/modules/power/fusion/_setup.dm index ca490705260..e0ac4853572 100644 --- a/code/modules/power/fusion/_setup.dm +++ b/code/modules/power/fusion/_setup.dm @@ -22,7 +22,7 @@ return var/response = tgui_alert(usr, "Are you sure?", "Engine setup", list("No", "Yes")) - if(!response || response == "No") + if(response != "Yes") return var/errors = 0 @@ -32,7 +32,7 @@ log_and_message_admins("## FUSION CORE SETUP - Setup initiated by [usr].") for(var/obj/machinery/fusion_fuel_injector/mapped/injector in machines) - injector.cur_assembly = new /obj/item/weapon/fuel_assembly/deuterium(injector) + injector.cur_assembly = new /obj/item/fuel_assembly/deuterium(injector) injector.BeginInjecting() var/obj/machinery/power/fusion_core/mapped/core = locate() in machines @@ -80,4 +80,4 @@ #undef SETUP_OK #undef SETUP_WARNING #undef SETUP_ERROR -#undef SETUP_DELAYED \ No newline at end of file +#undef SETUP_DELAYED diff --git a/code/modules/power/fusion/core/_core.dm b/code/modules/power/fusion/core/_core.dm index dfcf908107a..7eaee107a50 100644 --- a/code/modules/power/fusion/core/_core.dm +++ b/code/modules/power/fusion/core/_core.dm @@ -18,7 +18,7 @@ GLOBAL_LIST_EMPTY(fusion_cores) active_power_usage = 500 //multiplied by field strength anchored = FALSE - circuit = /obj/item/weapon/circuitboard/fusion_core + circuit = /obj/item/circuitboard/fusion_core var/obj/item/hose_connector/output/Output @@ -67,7 +67,7 @@ GLOBAL_LIST_EMPTY(fusion_cores) if(Output.get_pairing()) reagents.trans_to_holder(Output.reagents, Output.reagents.maximum_volume) if(prob(5)) - visible_message("\The [src] gurgles as it exports fluid.") + visible_message(span_infoplain(span_bold("\The [src]") + " gurgles as it exports fluid.")) if(owned_field) @@ -131,14 +131,14 @@ GLOBAL_LIST_EMPTY(fusion_cores) /obj/machinery/power/fusion_core/attack_hand(var/mob/user) if(!Adjacent(user)) // As funny as it was for the AI to hug-kill the tokamak field from a distance... return - visible_message("\The [user] hugs \the [src] to make it feel better!") + visible_message(span_infoplain(span_bold("\The [user]") + " hugs \the [src] to make it feel better!")) if(owned_field) Shutdown() /obj/machinery/power/fusion_core/attackby(var/obj/item/W, var/mob/user) if(owned_field) - to_chat(user,"Shut \the [src] off first!") + to_chat(user,span_warning("Shut \the [src] off first!")) return if(default_deconstruction_screwdriver(user, W)) @@ -148,7 +148,7 @@ GLOBAL_LIST_EMPTY(fusion_cores) if(default_part_replacement(user, W)) return - if(istype(W, /obj/item/device/multitool)) + if(istype(W, /obj/item/multitool)) var/new_ident = tgui_input_text(usr, "Enter a new ident tag.", "Fusion Core", id_tag, MAX_NAME_LEN) new_ident = sanitize(new_ident,MAX_NAME_LEN) if(new_ident && user.Adjacent(src)) @@ -166,4 +166,4 @@ GLOBAL_LIST_EMPTY(fusion_cores) if(!owned_field) return FALSE owned_field.plasma_temperature = field_temperature - return TRUE \ No newline at end of file + return TRUE diff --git a/code/modules/power/fusion/core/core_control.dm b/code/modules/power/fusion/core/core_control.dm index ae3af61c9a3..2965228b3a6 100644 --- a/code/modules/power/fusion/core/core_control.dm +++ b/code/modules/power/fusion/core/core_control.dm @@ -1,7 +1,7 @@ /obj/machinery/computer/fusion_core_control name = "\improper R-UST Mk. 8 core control" light_color = COLOR_ORANGE - circuit = /obj/item/weapon/circuitboard/fusion_core_control + circuit = /obj/item/circuitboard/fusion_core_control icon_keyboard = "tech_key" icon_screen = "core_control" @@ -23,7 +23,7 @@ /obj/machinery/computer/fusion_core_control/attackby(var/obj/item/thing, var/mob/user) ..() - if(istype(thing, /obj/item/device/multitool)) + if(istype(thing, /obj/item/multitool)) var/new_ident = sanitize_text(tgui_input_text(usr, "Enter a new ident tag.", "Core Control", monitor.core_tag)) if(new_ident && user.Adjacent(src)) monitor.core_tag = new_ident @@ -57,22 +57,22 @@ cur_viewed_device = null if(!id_tag) - to_chat(user, "This console has not been assigned an ident tag. Please contact your system administrator or conduct a manual update with a standard multitool.") + to_chat(user, span_warning("This console has not been assigned an ident tag. Please contact your system administrator or conduct a manual update with a standard multitool.")) return if(cur_viewed_device && (cur_viewed_device.id_tag != id_tag || get_dist(src, cur_viewed_device) > scan_range)) cur_viewed_device = null - var/dat = "Core Control #[id_tag]
    " + var/dat = span_bold("Core Control #[id_tag]") + "
    " if(cur_viewed_device) dat += {" Back to overview
    - Device ident '[cur_viewed_device.id_tag]' [cur_viewed_device.owned_field ? "Active" : "Inactive"].
    + Device ident '[cur_viewed_device.id_tag]' [cur_viewed_device.owned_field ? span_green("Active") : span_red("Inactive")].
    Power status: [cur_viewed_device.avail()]/[cur_viewed_device.active_power_usage] W

    - Field Status:[cur_viewed_device.owned_field ? "Online" : "Offline"].
    - Reactant Dump:[cur_viewed_device.reactant_dump ? "Active" : "Inactive"].
    + Field Status:[cur_viewed_device.owned_field ? span_green("Online") : span_red("Offline")].
    + Reactant Dump:[cur_viewed_device.reactant_dump ? span_gren("Active") : span_red("Inactive")].

    Field power density (W.m-3):
    ---- @@ -123,12 +123,12 @@ var/status var/can_access = 1 if(!check_core_status(C)) - status = "Unresponsive" + status = span_red("Unresponsive") can_access = 0 else if(C.avail() < C.active_power_usage) - status = "Underpowered" + status = span_orange("Underpowered") else - status = "Good" + status = span_green("Good") dat += {" @@ -138,7 +138,7 @@ if(!can_access) dat += {" - + "} else dat += {" @@ -149,7 +149,7 @@ "} else - dat += "No electromagnetic field generators connected." + dat += span_red("No electromagnetic field generators connected.") var/datum/browser/popup = new(user, "fusion_control", name, 500, 400, src) popup.set_content(dat) diff --git a/code/modules/power/fusion/core/core_field.dm b/code/modules/power/fusion/core/core_field.dm index 18d6a6834a8..03dd6ced8da 100644 --- a/code/modules/power/fusion/core/core_field.dm +++ b/code/modules/power/fusion/core/core_field.dm @@ -206,21 +206,21 @@ else if(percent_unstable > 0.1 && prob(percent_unstable*100)) if(plasma_temperature < 2000) - visible_message("\The [src] ripples uneasily, like a disturbed pond.") + visible_message(span_danger("\The [src] ripples uneasily, like a disturbed pond.")) else var/flare var/fuel_loss var/rupture if(percent_unstable > 0.2) - visible_message("\The [src] ripples uneasily, like a disturbed pond.") + visible_message(span_danger("\The [src] ripples uneasily, like a disturbed pond.")) flare = prob(25) else if(percent_unstable > 0.5) - visible_message("\The [src] undulates violently, shedding plumes of plasma!") + visible_message(span_danger("\The [src] undulates violently, shedding plumes of plasma!")) flare = prob(50) fuel_loss = prob(20) rupture = prob(5) else if(percent_unstable > 0.8) - visible_message("\The [src] is wracked by a series of horrendous distortions, buckling and twisting like a living thing!") + visible_message(span_danger("\The [src] is wracked by a series of horrendous distortions, buckling and twisting like a living thing!")) flare = 1 fuel_loss = prob(50) rupture = prob(25) @@ -260,11 +260,11 @@ critical += 0.6 if(critical >= 25 && prob(percent_unstable*100)) if (critical >= 90) - visible_message("\The [src] rumbles and quivers violently, threatening to break free!") + visible_message(span_danger("\The [src] rumbles and quivers violently, threatening to break free!")) else if(critical >= 50) - visible_message("\The [src] rumbles and quivers energetically, the walls distorting slightly.") + visible_message(span_danger("\The [src] rumbles and quivers energetically, the walls distorting slightly.")) else if(critical >= 25) - visible_message("\The [src] rumbles and quivers slightly, vibrating the deck.") + visible_message(span_danger("\The [src] rumbles and quivers slightly, vibrating the deck.")) */ /obj/effect/fusion_em_field/proc/ChangeFieldStrength(var/new_strength) var/calc_size = 1 @@ -353,7 +353,7 @@ continue log_debug("R-UST DEBUG: [AM] is [AM.type]") - AM.visible_message("The field buckles visibly around \the [AM]!") + AM.visible_message(span_danger("The field buckles visibly around \the [AM]!")) tick_instability += rand(15,30) AM.emp_act(empsev) @@ -580,7 +580,7 @@ light_min_power = 30 light_min_range = 30 light_max_range = 30 - visible_message("\The [src] flares to eye-searing brightness!") + visible_message(span_danger("\The [src] flares to eye-searing brightness!")) sleep(60) temp_color() //plasma_temperature -= lost_plasma @@ -589,7 +589,7 @@ /obj/effect/fusion_em_field/proc/Rupture() - visible_message("\The [src] shudders like a dying animal before flaring to eye-searing brightness and rupturing!") + visible_message(span_danger("\The [src] shudders like a dying animal before flaring to eye-searing brightness and rupturing!")) set_light(15, 15, "#CCCCFF") empulse(get_turf(src), CEILING(plasma_temperature/1000, 1), CEILING(plasma_temperature/300, 1)) global_announcer.autosay("WARNING: FIELD RUPTURE IMMINENT!", "Containment Monitor") @@ -616,7 +616,7 @@ return /obj/effect/fusion_em_field/proc/MRC() //spews electromagnetic pulses in an area around the core. - visible_message("\The [src] glows an extremely bright pink and flares out of existance!") + visible_message(span_danger("\The [src] glows an extremely bright pink and flares out of existance!")) global_announcer.autosay("Warning! Magnetic Resonance Cascade detected! Brace for electronic system distruption.", "Field Stability Monitor") set_light(15, 15, "#ff00d8") var/list/things_in_range = range(15, owned_core) @@ -667,7 +667,7 @@ return /obj/effect/fusion_em_field/proc/BluespaceQuenchEvent() //!!FUN!! causes a number of explosions in an area around the core. Will likely destory or heavily damage the reactor. - visible_message("\The [src] shudders like a dying animal before flaring to eye-searing brightness and rupturing!") + visible_message(span_danger("\The [src] shudders like a dying animal before flaring to eye-searing brightness and rupturing!")) set_light(15, 15, "#CCCCFF") empulse(get_turf(src), CEILING(plasma_temperature/1000, 1), CEILING(plasma_temperature/300, 1)) global_announcer.autosay("WARNING: FIELD RUPTURE IMMINENT!", "Containment Monitor") diff --git a/code/modules/power/fusion/fuel_assembly/fuel_assembly.dm b/code/modules/power/fusion/fuel_assembly/fuel_assembly.dm index 7993e5e8438..2bc4712ab3c 100644 --- a/code/modules/power/fusion/fuel_assembly/fuel_assembly.dm +++ b/code/modules/power/fusion/fuel_assembly/fuel_assembly.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/fuel_assembly +/obj/item/fuel_assembly name = "fuel rod assembly" icon = 'icons/obj/machines/power/fusion.dmi' icon_state = "fuel_assembly" @@ -12,12 +12,12 @@ var/radioactivity = 0 var/const/initial_amount = 3000000 -/obj/item/weapon/fuel_assembly/New(var/newloc, var/_material, var/_colour) +/obj/item/fuel_assembly/New(var/newloc, var/_material, var/_colour) fuel_type = _material fuel_colour = _colour ..(newloc) -/obj/item/weapon/fuel_assembly/Initialize() +/obj/item/fuel_assembly/Initialize() . = ..() var/datum/material/material = get_material_by_name(fuel_type) if(istype(material)) @@ -41,26 +41,26 @@ add_overlay(list(I, image(icon, "fuel_assembly_bracket"))) rod_quantities[fuel_type] = initial_amount -/obj/item/weapon/fuel_assembly/process() +/obj/item/fuel_assembly/process() if(!radioactivity) return PROCESS_KILL if(istype(loc, /turf)) SSradiation.radiate(src, max(1,CEILING(radioactivity/30, 1))) -/obj/item/weapon/fuel_assembly/Destroy() +/obj/item/fuel_assembly/Destroy() STOP_PROCESSING(SSobj, src) return ..() // Mapper shorthand. -/obj/item/weapon/fuel_assembly/deuterium/New(var/newloc) +/obj/item/fuel_assembly/deuterium/New(var/newloc) ..(newloc, "deuterium") -/obj/item/weapon/fuel_assembly/tritium/New(var/newloc) +/obj/item/fuel_assembly/tritium/New(var/newloc) ..(newloc, "tritium") -/obj/item/weapon/fuel_assembly/phoron/New(var/newloc) +/obj/item/fuel_assembly/phoron/New(var/newloc) ..(newloc, "phoron") -/obj/item/weapon/fuel_assembly/supermatter/New(var/newloc) +/obj/item/fuel_assembly/supermatter/New(var/newloc) ..(newloc, "supermatter") diff --git a/code/modules/power/fusion/fuel_assembly/fuel_compressor.dm b/code/modules/power/fusion/fuel_assembly/fuel_compressor.dm index ea6a39b2624..31e1b9dfcee 100644 --- a/code/modules/power/fusion/fuel_assembly/fuel_compressor.dm +++ b/code/modules/power/fusion/fuel_assembly/fuel_compressor.dm @@ -6,7 +6,7 @@ density = TRUE anchored = TRUE - circuit = /obj/item/weapon/circuitboard/fusion_fuel_compressor + circuit = /obj/item/circuitboard/fusion_fuel_compressor /obj/machinery/fusion_fuel_compressor/Initialize() . = ..() @@ -20,20 +20,20 @@ /obj/machinery/fusion_fuel_compressor/proc/do_special_fuel_compression(var/obj/item/thing, var/mob/user) if(istype(thing) && thing.reagents && thing.reagents.total_volume && thing.is_open_container()) if(thing.reagents.reagent_list.len > 1) - to_chat(user, "The contents of \the [thing] are impure and cannot be used as fuel.") + to_chat(user, span_warning("The contents of \the [thing] are impure and cannot be used as fuel.")) return 1 if(thing.reagents.total_volume < 300) - to_chat(user, "You need at least three hundred units of material to form a fuel rod.") + to_chat(user, span_warning("You need at least three hundred units of material to form a fuel rod.")) return 1 var/datum/reagent/R = thing.reagents.reagent_list[1] - visible_message("\The [src] compresses the contents of \the [thing] into a new fuel assembly.") - var/obj/item/weapon/fuel_assembly/F = new(get_turf(src), R.id, R.color) + visible_message(span_infoplain(span_bold("\The [src]") + " compresses the contents of \the [thing] into a new fuel assembly.")) + var/obj/item/fuel_assembly/F = new(get_turf(src), R.id, R.color) thing.reagents.remove_reagent(R.id, R.volume) user.put_in_hands(F) else if(istype(thing, /obj/machinery/power/supermatter)) - var/obj/item/weapon/fuel_assembly/F = new(get_turf(src), "supermatter") - visible_message("\The [src] compresses \the [thing] into a new fuel assembly.") + var/obj/item/fuel_assembly/F = new(get_turf(src), "supermatter") + visible_message(span_infoplain(span_bold("\The [src]") + " compresses \the [thing] into a new fuel assembly.")) qdel(thing) user.put_in_hands(F) return 1 @@ -52,13 +52,13 @@ var/obj/item/stack/material/M = thing var/datum/material/mat = M.get_material() if(!mat.is_fusion_fuel) - to_chat(user, "It would be pointless to make a fuel rod out of [mat.use_name].") + to_chat(user, span_warning("It would be pointless to make a fuel rod out of [mat.use_name].")) return if(M.get_amount() < FUSION_ROD_SHEET_AMT) - to_chat(user, "You need at least 25 [mat.sheet_plural_name] to make a fuel rod.") + to_chat(user, span_warning("You need at least 25 [mat.sheet_plural_name] to make a fuel rod.")) return - var/obj/item/weapon/fuel_assembly/F = new(get_turf(src), mat.name) - visible_message("\The [src] compresses the [mat.use_name] into a new fuel assembly.") + var/obj/item/fuel_assembly/F = new(get_turf(src), mat.name) + visible_message(span_infoplain(span_bold("\The [src]") + " compresses the [mat.use_name] into a new fuel assembly.")) M.use(FUSION_ROD_SHEET_AMT) user.put_in_hands(F) @@ -67,4 +67,4 @@ return ..() -#undef FUSION_ROD_SHEET_AMT \ No newline at end of file +#undef FUSION_ROD_SHEET_AMT diff --git a/code/modules/power/fusion/fuel_assembly/fuel_control.dm b/code/modules/power/fusion/fuel_assembly/fuel_control.dm index 621847f79b6..2978b378258 100644 --- a/code/modules/power/fusion/fuel_assembly/fuel_control.dm +++ b/code/modules/power/fusion/fuel_assembly/fuel_control.dm @@ -1,7 +1,7 @@ /obj/machinery/computer/fusion_fuel_control name = "fuel injection control computer" desc = "Displays information about the fuel rods." - circuit = /obj/item/weapon/circuitboard/fusion_fuel_control + circuit = /obj/item/circuitboard/fusion_fuel_control icon_keyboard = "tech_key" icon_screen = "fuel_screen" @@ -47,10 +47,10 @@ return if(!id_tag) - to_chat(user, "This console has not been assigned an ident tag. Please contact your system administrator or conduct a manual update with a standard multitool.") + to_chat(user, span_warning("This console has not been assigned an ident tag. Please contact your system administrator or conduct a manual update with a standard multitool.")) return - var/dat = "Reactor Core Fuel Control #[id_tag]
    " + var/dat = span_bold("Reactor Core Fuel Control #[id_tag]") + "
    " dat += {"
    TITLE(Return to main menu)
    " if(5) //dat += "

    ERROR

    " //VOREStation Removal - //dat+= "Library Database is in Secure Management Mode.
    \ //VOREStation Removal + //dat+= span_red("Library Database is in Secure Management Mode.") + "
    \ //VOREStation Removal //Contact a System Administrator for more information.
    " //VOREStation Removal //VOREstation Edit Start dat += "

    Upload a New Title

    " @@ -253,9 +253,9 @@ scanner = S break if(!scanner) - dat += "No scanner found within wireless network range.
    " + dat += span_red("No scanner found within wireless network range.") + "
    " else if(!scanner.cache) - dat += "No data found in scanner memory.
    " + dat += span_red("No data found in scanner memory.") + "
    " else dat += {"Data marked for upload...
    Title: [scanner.cache.name]
    "} @@ -273,12 +273,12 @@ No.
    "} if(8) dat += "

    External Archive

    " //VOREStation Edit - establish_old_db_connection() + establish_db_connection() - //dat += "

    Warning: System Administrator has slated this archive for removal. Personal uploads should be taken to the NT board of internal literature.

    " //VOREStation Removal + //dat += "

    " + span_red("arning: System Administrator has slated this archive for removal. Personal uploads should be taken to the NT board of internal literature.") + "

    " //VOREStation Removal if(!dbcon_old.IsConnected()) - dat += "ERROR: Unable to contact External Archive. Please contact your system administrator for assistance." + dat += span_red(span_bold("ERROR") + ": Unable to contact External Archive. Please contact your system administrator for assistance.") else dat += {"(Order book by SS13BN)

    @@ -316,10 +316,10 @@ var/dat = "Book Inventory Management\n" // dat += "

    ADMINISTRATIVE MANAGEMENT

    " - establish_old_db_connection() + establish_db_connection() if(!dbcon_old.IsConnected()) - dat += "ERROR: Unable to contact External Archive. Please contact your system administrator for assistance." + dat += span_red(span_bold("ERROR") + ": Unable to contact External Archive. Please contact your system administrator for assistance.") else dat += {"(Order book by SS13BN)

    @@ -346,9 +346,9 @@ src.emagged = 1 return 1 -/obj/machinery/librarycomp/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W, /obj/item/weapon/barcodescanner)) - var/obj/item/weapon/barcodescanner/scanner = W +/obj/machinery/librarycomp/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W, /obj/item/barcodescanner)) + var/obj/item/barcodescanner/scanner = W scanner.computer = src to_chat(user, "[scanner]'s associated machine has been set to [src].") for (var/mob/V in hearers(src)) @@ -378,14 +378,14 @@ screenstate = 5 if("6") if(!bibledelay) - new /obj/item/weapon/storage/bible(src.loc) + new /obj/item/storage/bible(src.loc) bibledelay = 1 spawn(60) bibledelay = 0 else for (var/mob/V in hearers(src)) - V.show_message("[src]'s monitor flashes, \"Bible printer currently unavailable, please wait a moment.\"") + V.show_message(span_infoplain(span_bold("[src]") + "'s monitor flashes, \"Bible printer currently unavailable, please wait a moment.\"")) if("7") screenstate = 7 @@ -416,7 +416,7 @@ var/datum/borrowbook/b = locate(href_list["checkin"]) checkouts.Remove(b) if(href_list["delbook"]) - var/obj/item/weapon/book/b = locate(href_list["delbook"]) + var/obj/item/book/b = locate(href_list["delbook"]) inventory.Remove(b) if(href_list["setauthor"]) var/newauthor = sanitize(tgui_input_text(usr, "Enter the author's name: ")) @@ -436,7 +436,7 @@ if(scanner.cache.unique) tgui_alert_async(usr, "This book has been rejected from the database. Aborting!") else - establish_old_db_connection() + establish_db_connection() if(!dbcon_old.IsConnected()) tgui_alert_async(usr, "Connection to Archive has been severed. Aborting.") else @@ -460,12 +460,12 @@ if(href_list["targetid"]) var/sqlid = sanitizeSQL(href_list["targetid"]) - establish_old_db_connection() + establish_db_connection() if(!dbcon_old.IsConnected()) tgui_alert_async(usr, "Connection to Archive has been severed. Aborting.") if(bibledelay) for (var/mob/V in hearers(src)) - V.show_message("[src]'s monitor flashes, \"Printer unavailable. Please allow a short time before attempting to print.\"") + V.show_message(span_infoplain(span_bold("[src]") + "'s monitor flashes, \"Printer unavailable. Please allow a short time before attempting to print.\"")) else bibledelay = 1 spawn(6) @@ -477,7 +477,7 @@ var/author = query.item[2] var/title = query.item[3] var/content = query.item[4] - var/obj/item/weapon/book/B = new(src.loc) + var/obj/item/book/B = new(src.loc) B.name = "Book: [title]" B.title = title B.author = author @@ -491,7 +491,7 @@ if(!check_rights(R_ADMIN)) return var/sqlid = sanitizeSQL(href_list["delid"]) - establish_old_db_connection() + establish_db_connection() if(!dbcon_old.IsConnected()) tgui_alert_async(usr, "Connection to Archive has been severed. Aborting.") else @@ -509,7 +509,7 @@ sortby = href_list["sort"] if(href_list["hardprint"]) var/newpath = href_list["hardprint"] - var/obj/item/weapon/book/NewBook = new newpath(get_turf(src)) + var/obj/item/book/NewBook = new newpath(get_turf(src)) NewBook.name = "Book: [NewBook.name]" src.add_fingerprint(usr) src.updateUsrDialog() @@ -525,10 +525,10 @@ icon_state = "bigscanner" anchored = TRUE density = TRUE - var/obj/item/weapon/book/cache // Last scanned book + var/obj/item/book/cache // Last scanned book /obj/machinery/libraryscanner/attackby(var/obj/O as obj, var/mob/user as mob) - if(istype(O, /obj/item/weapon/book)) + if(istype(O, /obj/item/book)) user.drop_item() O.loc = src @@ -536,7 +536,7 @@ usr.set_machine(src) var/dat = "Scanner Control Interface\n" // if(cache) - dat += "Data stored in memory.
    " + dat += span_darkgray("Data stored in memory.") + "
    " else dat += "No data stored in memory.
    " dat += "\[Scan\]" @@ -554,13 +554,13 @@ return if(href_list["scan"]) - for(var/obj/item/weapon/book/B in contents) + for(var/obj/item/book/B in contents) cache = B break if(href_list["clear"]) cache = null if(href_list["eject"]) - for(var/obj/item/weapon/book/B in contents) + for(var/obj/item/book/B in contents) B.loc = src.loc src.add_fingerprint(usr) src.updateUsrDialog() @@ -579,15 +579,15 @@ density = TRUE /obj/machinery/bookbinder/attackby(var/obj/O as obj, var/mob/user as mob) - if(istype(O, /obj/item/weapon/paper) || istype(O, /obj/item/weapon/paper_bundle)) - if(istype(O, /obj/item/weapon/paper)) + if(istype(O, /obj/item/paper) || istype(O, /obj/item/paper_bundle)) + if(istype(O, /obj/item/paper)) user.drop_item() O.loc = src user.visible_message("[user] loads some paper into [src].", "You load some paper into [src].") src.visible_message("[src] begins to hum as it warms up its printing drums.") sleep(rand(200,400)) src.visible_message("[src] whirs as it prints and binds a new book.") - var/obj/item/weapon/book/b = new(src.loc) + var/obj/item/book/b = new(src.loc) b.dat = O:info b.name = "Print Job #" + "[rand(100, 999)]" b.icon_state = "book[rand(1,7)]" @@ -599,11 +599,11 @@ src.visible_message("[src] begins to hum as it warms up its printing drums.") sleep(rand(300,500)) src.visible_message("[src] whirs as it prints and binds a new book.") - var/obj/item/weapon/book/bundle/b = new(src.loc) + var/obj/item/book/bundle/b = new(src.loc) b.pages = O:pages - for(var/obj/item/weapon/paper/P in O.contents) + for(var/obj/item/paper/P in O.contents) P.forceMove(b) - for(var/obj/item/weapon/photo/P in O.contents) + for(var/obj/item/photo/P in O.contents) P.forceMove(b) b.name = "Print Job #" + "[rand(100, 999)]" b.icon_state = "book[rand(1,7)]" diff --git a/code/modules/lighting/lighting_corner.dm b/code/modules/lighting/lighting_corner.dm index e02e04b0f7c..3f66bdde70a 100644 --- a/code/modules/lighting/lighting_corner.dm +++ b/code/modules/lighting/lighting_corner.dm @@ -29,35 +29,47 @@ ///whether we are to be added to SSlighting's corners_queue list for an update var/needs_update = FALSE -/datum/lighting_corner/New(turf/new_turf, diagonal) +/datum/lighting_corner/New(x, y, z) . = ..() - save_master(new_turf, turn(diagonal, 180)) - var/vertical = diagonal & ~(diagonal - 1) // The horizontal directions (4 and 8) are bigger than the vertical ones (1 and 2), so we can reliably say the lsb is the horizontal direction. - var/horizontal = diagonal & ~vertical // Now that we know the horizontal one we can get the vertical one. - - x = new_turf.x + (horizontal == EAST ? 0.5 : -0.5) - y = new_turf.y + (vertical == NORTH ? 0.5 : -0.5) - - // My initial plan was to make this loop through a list of all the dirs (horizontal, vertical, diagonal). - // Issue being that the only way I could think of doing it was very messy, slow and honestly overengineered. - // So we'll have this hardcode instead. - var/turf/new_master_turf - - // Diagonal one is easy. - new_master_turf = get_step(new_turf, diagonal) - if (new_master_turf) // In case we're on the map's border. - save_master(new_master_turf, diagonal) - - // Now the horizontal one. - new_master_turf = get_step(new_turf, horizontal) - if (new_master_turf) // Ditto. - save_master(new_master_turf, ((new_master_turf.x > x) ? EAST : WEST) | ((new_master_turf.y > y) ? NORTH : SOUTH)) // Get the dir based on coordinates. - - // And finally the vertical one. - new_master_turf = get_step(new_turf, vertical) - if (new_master_turf) - save_master(new_master_turf, ((new_master_turf.x > x) ? EAST : WEST) | ((new_master_turf.y > y) ? NORTH : SOUTH)) // Get the dir based on coordinates. + src.x = x + 0.5 + src.y = y + 0.5 + + // Alright. We're gonna take a set of coords, and from them do a loop clockwise + // To build out the turfs adjacent to us. This is pretty fast + var/turf/process_next = locate(x, y, z) + if(process_next) + master_SW = process_next + process_next.lighting_corner_NE = src + // Now, we go north! + process_next = get_step(process_next, NORTH) + else + // Yes this is slightly slower then having a guarenteeed turf, but there aren't many null turfs + // So this is pretty damn fast + process_next = locate(x, y + 1, z) + + // Ok, if we have a north turf, go there. otherwise, onto the next + if(process_next) + master_NW = process_next + process_next.lighting_corner_SE = src + // Now, TO THE EAST + process_next = get_step(process_next, EAST) + else + process_next = locate(x + 1, y + 1, z) + + // Etc etc + if(process_next) + master_NE = process_next + process_next.lighting_corner_SW = src + // Now, TO THE SOUTH AGAIN (SE) + process_next = get_step(process_next, SOUTH) + else + process_next = locate(x + 1, y, z) + + // anddd the last tile + if(process_next) + master_SE = process_next + process_next.lighting_corner_NW = src /datum/lighting_corner/proc/save_master(turf/master, dir) switch (dir) diff --git a/code/modules/lighting/lighting_overlay.dm b/code/modules/lighting/lighting_overlay.dm index 155de84b1da..b01cb45cae8 100644 --- a/code/modules/lighting/lighting_overlay.dm +++ b/code/modules/lighting/lighting_overlay.dm @@ -28,8 +28,9 @@ affected_turf.lighting_object = src affected_turf.set_luminosity(0) - for(var/turf/space/space_tile in RANGE_TURFS(1, affected_turf)) - space_tile.update_starlight() + if(CONFIG_GET(flag/starlight)) + for(var/turf/space/space_tile in RANGE_TURFS(1, affected_turf)) + space_tile.update_starlight() needs_update = TRUE SSlighting.objects_queue += src @@ -57,6 +58,7 @@ var/static/datum/lighting_corner/dummy/dummy_lighting_corner = new + var/turf/affected_turf = src.affected_turf var/datum/lighting_corner/red_corner = affected_turf.lighting_corner_SW || dummy_lighting_corner var/datum/lighting_corner/green_corner = affected_turf.lighting_corner_SE || dummy_lighting_corner var/datum/lighting_corner/blue_corner = affected_turf.lighting_corner_NW || dummy_lighting_corner @@ -64,22 +66,6 @@ var/max = max(red_corner.largest_color_luminosity, green_corner.largest_color_luminosity, blue_corner.largest_color_luminosity, alpha_corner.largest_color_luminosity) - var/rr = red_corner.cache_r - var/rg = red_corner.cache_g - var/rb = red_corner.cache_b - - var/gr = green_corner.cache_r - var/gg = green_corner.cache_g - var/gb = green_corner.cache_b - - var/br = blue_corner.cache_r - var/bg = blue_corner.cache_g - var/bb = blue_corner.cache_b - - var/ar = alpha_corner.cache_r - var/ag = alpha_corner.cache_g - var/ab = alpha_corner.cache_b - #if LIGHTING_SOFT_THRESHOLD != 0 var/set_luminosity = max > LIGHTING_SOFT_THRESHOLD #else @@ -88,30 +74,30 @@ var/set_luminosity = max > 1e-6 #endif - if((rr & gr & br & ar) && (rg + gg + bg + ag + rb + gb + bb + ab == 8)) + var/mutable_appearance/current_underlay = src.current_underlay + affected_turf.underlays -= current_underlay + if(red_corner.cache_r & green_corner.cache_r & blue_corner.cache_r & alpha_corner.cache_r && \ + (red_corner.cache_g + green_corner.cache_g + blue_corner.cache_g + alpha_corner.cache_g + \ + red_corner.cache_b + green_corner.cache_b + blue_corner.cache_b + alpha_corner.cache_b == 8)) //anything that passes the first case is very likely to pass the second, and addition is a little faster in this case - affected_turf.underlays -= current_underlay current_underlay.icon_state = "transparent" current_underlay.color = null - affected_turf.underlays += current_underlay else if(!set_luminosity) - affected_turf.underlays -= current_underlay current_underlay.icon_state = "dark" current_underlay.color = null - affected_turf.underlays += current_underlay else - affected_turf.underlays -= current_underlay current_underlay.icon_state = "gradient" current_underlay.color = list( - rr, rg, rb, 00, - gr, gg, gb, 00, - br, bg, bb, 00, - ar, ag, ab, 00, + red_corner.cache_r, red_corner.cache_g, red_corner.cache_b, 00, + green_corner.cache_r, green_corner.cache_g, green_corner.cache_b, 00, + blue_corner.cache_r, blue_corner.cache_g, blue_corner.cache_b, 00, + alpha_corner.cache_r, alpha_corner.cache_g, alpha_corner.cache_b, 00, 00, 00, 00, 01 ) - affected_turf.underlays += current_underlay - + // Of note. Most of the cost in this proc is here, I think because color matrix'd underlays DO NOT cache well, which is what adding to underlays does + // We use underlays because objects on each tile would fuck with maptick. if that ever changes, use an object for this instead + affected_turf.underlays += current_underlay affected_turf.set_luminosity(set_luminosity) /datum/lighting_object/proc/removefromturf() diff --git a/code/modules/lighting/lighting_source.dm b/code/modules/lighting/lighting_source.dm index a04cd6c6eb0..611a875104f 100644 --- a/code/modules/lighting/lighting_source.dm +++ b/code/modules/lighting/lighting_source.dm @@ -111,34 +111,51 @@ // As such this all gets counted as a single line. // The braces and semicolons are there to be able to do this on a single line. -// /tg/ falloff alg -#define LUM_FALLOFF(C, T) (1 - CLAMP01(sqrt((C.x - T.x) ** 2 + (C.y - T.y) ** 2 + LIGHTING_HEIGHT) / max(1, light_range))) - -// Bay/Polaris falloff alg -//#define LUM_FALLOFF(C, T)(1 - CLAMP01(((C.x - T.x) ** 2 +(C.y - T.y) ** 2 + LIGHTING_HEIGHT) ** 0.6 / max(1, light_range))) +// This exists so we can cache the vars used in this macro, and save MASSIVE time :) +// Most of this is saving off datum var accesses, tho some of it does actually cache computation +// You will NEED to call this before you call APPLY_CORNER +#define SETUP_CORNERS_CACHE(lighting_source) \ + var/_turf_x = lighting_source.pixel_turf.x; \ + var/_turf_y = lighting_source.pixel_turf.y; \ + var/_range_divisor = max(1, lighting_source.light_range); \ + var/_light_power = lighting_source.light_power; \ + var/_applied_lum_r = lighting_source.applied_lum_r; \ + var/_applied_lum_g = lighting_source.applied_lum_g; \ + var/_applied_lum_b = lighting_source.applied_lum_b; \ + var/_lum_r = lighting_source.lum_r; \ + var/_lum_g = lighting_source.lum_g; \ + var/_lum_b = lighting_source.lum_b; \ + +#define SETUP_CORNERS_REMOVAL_CACHE(lighting_source) \ + var/_applied_lum_r = lighting_source.applied_lum_r; \ + var/_applied_lum_g = lighting_source.applied_lum_g; \ + var/_applied_lum_b = lighting_source.applied_lum_b; + +#define LUM_FALLOFF(C) (1 - CLAMP01(sqrt((C.x - _turf_x) ** 2 + (C.y - _turf_y) ** 2 + LIGHTING_HEIGHT) / _range_divisor)) #define APPLY_CORNER(C) \ - . = LUM_FALLOFF(C, pixel_turf); \ - . *= light_power; \ + . = LUM_FALLOFF(C); \ + . *= _light_power; \ var/OLD = effect_str[C]; \ \ C.update_lumcount \ ( \ - (. * lum_r) - (OLD * applied_lum_r), \ - (. * lum_g) - (OLD * applied_lum_g), \ - (. * lum_b) - (OLD * applied_lum_b) \ + (. * _lum_r) - (OLD * _applied_lum_r), \ + (. * _lum_g) - (OLD * _applied_lum_g), \ + (. * _lum_b) - (OLD * _applied_lum_b) \ ); \ #define REMOVE_CORNER(C) \ . = -effect_str[C]; \ C.update_lumcount \ ( \ - . * applied_lum_r, \ - . * applied_lum_g, \ - . * applied_lum_b \ + . * _applied_lum_r, \ + . * _applied_lum_g, \ + . * _applied_lum_b \ ); /datum/light_source/proc/remove_lum() + SETUP_CORNERS_REMOVAL_CACHE(src) applied = FALSE for (var/datum/lighting_corner/corner as anything in effect_str) REMOVE_CORNER(corner) @@ -147,6 +164,7 @@ effect_str = null /datum/light_source/proc/recalc_corner(datum/lighting_corner/corner) + SETUP_CORNERS_CACHE(src) LAZYINITLIST(effect_str) if (effect_str[corner]) // Already have one. REMOVE_CORNER(corner) @@ -158,6 +176,22 @@ /datum/light_source/proc/get_turfs_in_range() return view(CEILING(light_range, 1), source_turf) +// Keep in mind. Lighting corners accept the bottom left (northwest) set of cords to them as input +#define GENERATE_MISSING_CORNERS(gen_for) \ + if (!gen_for.lighting_corner_NE) { \ + gen_for.lighting_corner_NE = new /datum/lighting_corner(gen_for.x, gen_for.y, gen_for.z); \ + } \ + if (!gen_for.lighting_corner_SE) { \ + gen_for.lighting_corner_SE = new /datum/lighting_corner(gen_for.x, gen_for.y - 1, gen_for.z); \ + } \ + if (!gen_for.lighting_corner_SW) { \ + gen_for.lighting_corner_SW = new /datum/lighting_corner(gen_for.x - 1, gen_for.y - 1, gen_for.z); \ + } \ + if (!gen_for.lighting_corner_NW) { \ + gen_for.lighting_corner_NW = new /datum/lighting_corner(gen_for.x - 1, gen_for.y, gen_for.z); \ + } \ + gen_for.lighting_corners_initialised = TRUE; + /datum/light_source/proc/update_corners() var/update = FALSE var/atom/source_atom = src.source_atom @@ -220,24 +254,27 @@ return //nothing's changed var/list/datum/lighting_corner/corners = list() - var/list/turf/turfs = list() if (source_turf) var/oldlum = source_turf.luminosity source_turf.luminosity = CEILING(light_range, 1) for(var/turf/T in get_turfs_in_range()) - if(!IS_OPAQUE_TURF(T)) - if (!T.lighting_corners_initialised) - T.generate_missing_corners() - corners[T.lighting_corner_NE] = 0 - corners[T.lighting_corner_SE] = 0 - corners[T.lighting_corner_SW] = 0 - corners[T.lighting_corner_NW] = 0 - turfs += T + if(IS_OPAQUE_TURF(T)) + continue + if (!T.lighting_corners_initialised) + GENERATE_MISSING_CORNERS(T) + + corners[T.lighting_corner_NE] = 0 + corners[T.lighting_corner_SE] = 0 + corners[T.lighting_corner_SW] = 0 + corners[T.lighting_corner_NW] = 0 source_turf.luminosity = oldlum - var/list/datum/lighting_corner/new_corners = (corners - effect_str) - LAZYINITLIST(effect_str) + SETUP_CORNERS_CACHE(src) + + var/list/datum/lighting_corner/new_corners = (corners - src.effect_str) + LAZYINITLIST(src.effect_str) + var/list/effect_str = src.effect_str if (needs_update == LIGHTING_VIS_UPDATE) for (var/datum/lighting_corner/corner as anything in new_corners) APPLY_CORNER(corner) @@ -251,13 +288,15 @@ LAZYADD(corner.affecting, src) effect_str[corner] = . - for (var/datum/lighting_corner/corner as anything in corners - new_corners) // Existing corners - APPLY_CORNER(corner) - if (. != 0) - effect_str[corner] = . - else - LAZYREMOVE(corner.affecting, src) - effect_str -= corner + // New corners are a subset of corners. so if they're both the same length, there are NO old corners! + if(length(corners) != length(new_corners)) + for (var/datum/lighting_corner/corner as anything in corners - new_corners) // Existing corners + APPLY_CORNER(corner) + if (. != 0) + effect_str[corner] = . + else + LAZYREMOVE(corner.affecting, src) + effect_str -= corner var/list/datum/lighting_corner/gone_corners = effect_str - corners for (var/datum/lighting_corner/corner as anything in gone_corners) @@ -269,9 +308,12 @@ applied_lum_g = lum_g applied_lum_b = lum_b - UNSETEMPTY(effect_str) + UNSETEMPTY(src.effect_str) #undef EFFECT_UPDATE #undef LUM_FALLOFF #undef REMOVE_CORNER #undef APPLY_CORNER +#undef SETUP_CORNERS_REMOVAL_CACHE +#undef SETUP_CORNERS_CACHE +#undef GENERATE_MISSING_CORNERS diff --git a/code/modules/lighting/lighting_turf.dm b/code/modules/lighting/lighting_turf.dm index 4ba09f11f23..dc5437c4cac 100644 --- a/code/modules/lighting/lighting_turf.dm +++ b/code/modules/lighting/lighting_turf.dm @@ -138,19 +138,3 @@ /turf/proc/has_dynamic_lighting() var/area/A = loc return (IS_DYNAMIC_LIGHTING(src) && IS_DYNAMIC_LIGHTING(A)) - -/turf/proc/generate_missing_corners() - - if (!lighting_corner_NE) - lighting_corner_NE = new/datum/lighting_corner(src, NORTH|EAST) - - if (!lighting_corner_SE) - lighting_corner_SE = new/datum/lighting_corner(src, SOUTH|EAST) - - if (!lighting_corner_SW) - lighting_corner_SW = new/datum/lighting_corner(src, SOUTH|WEST) - - if (!lighting_corner_NW) - lighting_corner_NW = new/datum/lighting_corner(src, NORTH|WEST) - - lighting_corners_initialised = TRUE diff --git a/code/modules/looking_glass/lg_console.dm b/code/modules/looking_glass/lg_console.dm index b46ea9c5fb1..e3a9ec82042 100644 --- a/code/modules/looking_glass/lg_console.dm +++ b/code/modules/looking_glass/lg_console.dm @@ -1,6 +1,6 @@ /obj/machinery/computer/looking_glass name = "looking glass control" - desc = "Controls the looking glass displays in this room." + desc = "Controls the looking glass displays in this room. Provided courtesy of NT's Advanced Spatial Imaging Division." icon_keyboard = "tech_key" icon_screen = "holocontrol" @@ -66,7 +66,7 @@ /obj/machinery/computer/looking_glass/tgui_data(mob/user, datum/tgui/ui, datum/tgui_state/state) var/list/data = ..() - + var/list/program_list = list() for(var/P in supported_programs) program_list.Add(P) @@ -78,7 +78,7 @@ data["supportedPrograms"] = program_list data["currentProgram"] = current_program data["immersion"] = immersion - if(my_area?.has_gravity) + if(my_area?.get_gravity()) data["gravity"] = 1 else data["gravity"] = 0 @@ -88,7 +88,7 @@ /obj/machinery/computer/looking_glass/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state) if(..()) return TRUE - + switch(action) if("program") if(ready) @@ -100,7 +100,7 @@ current_program = prog load_program(prog) else - visible_message("ERROR. Recalibrating displays.") + visible_message(span_warning("ERROR. Recalibrating displays.")) return TRUE if("gravity") @@ -112,14 +112,14 @@ my_area.toggle_optional(immersion) return TRUE - add_fingerprint(usr) + add_fingerprint(ui.user) /obj/machinery/computer/looking_glass/emag_act(var/remaining_charges, var/mob/user as mob) if (!emagged) playsound(src, 'sound/effects/sparks4.ogg', 75, 1) emagged = 1 - to_chat(user, "You unlock several programs that were hidden somewhere in memory.") - log_game("[key_name(usr)] emagged the [name]") + to_chat(user, span_notice("You unlock several programs that were hidden somewhere in memory.")) + log_game("[key_name(user)] emagged the [name]") return 1 return @@ -142,12 +142,12 @@ if(world.time < (last_gravity_change + 3 SECONDS)) if(world.time < (last_gravity_change + 1 SECOND)) return - visible_message("ERROR. Recalibrating gravity field.") + visible_message(span_warning("ERROR. Recalibrating gravity field.")) return last_gravity_change = world.time - if(A.has_gravity) + if(A.get_gravity()) A.gravitychange(0) else A.gravitychange(1) @@ -165,4 +165,4 @@ var/oldstat = stat ..() if (stat != oldstat && (stat & NOPOWER)) - unload_program() \ No newline at end of file + unload_program() diff --git a/code/modules/lore_codex/codex.dm b/code/modules/lore_codex/codex.dm index 008cf429edc..f67ac887ebf 100644 --- a/code/modules/lore_codex/codex.dm +++ b/code/modules/lore_codex/codex.dm @@ -1,5 +1,5 @@ // Inherits from /book/ so it can fit on bookshelves. -/obj/item/weapon/book/codex // Vorestation Edits throughout this object. +/obj/item/book/codex // Vorestation Edits throughout this object. name = "The Traveler's Guide to Human Space: Borealis Edition" //YW Edit desc = "Contains useful information about the world around you. It seems to have been written for travelers to the Borealis system, human or not. It also \ has the words 'Don't Panic' in small, friendly letters on the cover." //YW Edit @@ -11,14 +11,14 @@ var/static/list/codex_tree_keys = list() // static list linking codexes to the correct codex_tree. -/obj/item/weapon/book/codex/Initialize() +/obj/item/book/codex/Initialize() tree = codex_tree_keys["[root_type]"] if(!tree) tree = new(src, root_type) codex_tree_keys["[root_type]"] = tree . = ..() -/obj/item/weapon/book/codex/attack_self(mob/user) +/obj/item/book/codex/attack_self(mob/user) if(!tree) tree = codex_tree_keys["[root_type]"] if(!tree) @@ -27,7 +27,7 @@ icon_state = "[initial(icon_state)]-open" tree.display(user) -/obj/item/weapon/book/codex/lore/vir // Vorestation Edits throughout this object. +/obj/item/book/codex/lore/vir // Vorestation Edits throughout this object. name = "The Traveler's Guide to Human Space: Borealis Edition" //YW Edit desc = "Contains useful information about the world around you. It seems to have been written for travelers to the Borealis system, human or not. It also \ has the words 'Don't Panic' in small, friendly letters on the cover." //YW Edit @@ -35,7 +35,7 @@ root_type = /datum/lore/codex/category/main_borealis_lore //YW EDIT libcategory = "Reference" -/obj/item/weapon/book/codex/lore/robutt +/obj/item/book/codex/lore/robutt name = "A Buyer's Guide to Artificial Bodies" desc = "Recommended reading for the newly cyborgified, new positronics, and the upwardly-mobile FBP." icon_state = "codex_robutt" @@ -43,7 +43,7 @@ root_type = /datum/lore/codex/category/main_robutts libcategory = "Reference" -/obj/item/weapon/book/codex/lore/news +/obj/item/book/codex/lore/news name = "Daedalus Pocket Newscaster" desc = "A regularly-updating compendium of articles on current events. Essential for new arrivals in the Borealis system and anyone interested in politics." //YW Edit icon_state = "newscodex" @@ -55,7 +55,7 @@ /* //VORESTATION REMOVAL // Combines SOP/Regs/Law -/obj/item/weapon/book/codex/corp_regs +/obj/item/book/codex/corp_regs name = "NanoTrasen Regulatory Compendium" desc = "Contains large amounts of information on Standard Operating Procedure, Corporate Regulations, and important regional laws. The best friend of \ Internal Affairs." diff --git a/code/modules/lore_codex/codex_tree.dm b/code/modules/lore_codex/codex_tree.dm index 200a1ec4f09..c6c00643f8d 100644 --- a/code/modules/lore_codex/codex_tree.dm +++ b/code/modules/lore_codex/codex_tree.dm @@ -71,7 +71,7 @@ var/datum/lore/codex/checked = current_page["[user]"] if(istype(checked)) var/output = "" - output = "[checked.name]" + output = span_bold("[checked.name]") while(checked.parent) output = "[checked.parent.name] \> [output]" checked = checked.parent @@ -164,7 +164,7 @@ quick_link(href_list["quick_link"], usr) else if(href_list["close"]) // Close the book, if our holder is actually a book. - //if(istype(holder, /obj/item/weapon/book/codex)) + //if(istype(holder, /obj/item/book/codex)) //holder.icon_state = initial(holder.icon_state) usr << browse(null, "window=the_empress_protects") return diff --git a/code/modules/lore_codex/legal_code_data/corporate_regulations.dm b/code/modules/lore_codex/legal_code_data/corporate_regulations.dm index ca0cb919f90..a41f6a3bf09 100644 --- a/code/modules/lore_codex/legal_code_data/corporate_regulations.dm +++ b/code/modules/lore_codex/legal_code_data/corporate_regulations.dm @@ -4,7 +4,7 @@ or otherwise on-board a NanoTrasen installation, which if you are reading this, you likely are at one. Corporate Regulations, \ commonly shortened to Corp Regs by employees, is common throughout NanoTrasen's other holdings. Offenses against Corp Regs can \ range from things like littering, to disrespecting a Head of Staff, to failing to follow a valid order from a superior. \ - All NanoTrasen employees must follow these regulations, no one is above them, not even the Station Director. \ + All NanoTrasen employees must follow these regulations, no one is above them, not even the " + JOB_SITE_MANAGER + ". \ The only exception for this is Asset Protection." children = list( /datum/lore/codex/page/corporate_punishments, @@ -79,14 +79,14 @@ Brig time may also be used for repeat offenders.
    \
  • Write-ups to Central Command may be recommended or mandated for specific offenses. Internal Affairs is to ensure that this is \ adhered to, and assist if needed.

  • \ -
  • Reassignments as a form of punishment may be done by the Station Director, with consent from both the offender and the offender's \ +
  • Reassignments as a form of punishment may be done by the " + JOB_SITE_MANAGER + ", with consent from both the offender and the offender's \ Superior, if one exists. Generally the new role for the offender is usually considered something menial or related to their offense, for example: \ - Janitor, Miner, Cook, Gardener. This punishment can be especially fitting for certain violations such as someone who made graffiti being reassigned to janitorial duties.

  • \ -
  • Demotions may be done by the offender's Superior, at their discretion. The Station Director may also do this, \ + " + JOB_JANITOR + ", Miner, Cook, " + JOB_ALT_GARDENER + ". This punishment can be especially fitting for certain violations such as someone who made graffiti being reassigned to janitorial duties.

  • \ +
  • Demotions may be done by the offender's Superior, at their discretion. The " + JOB_SITE_MANAGER + " may also do this, \ however the Director is recommended to defer to the offender's direct Superior if one exists.

  • \ -
  • Terminations of employment from NanoTrasen can only be issued by the Station Director. This is the most severe corporate punishment available. \ +
  • Terminations of employment from NanoTrasen can only be issued by the " + JOB_SITE_MANAGER + ". This is the most severe corporate punishment available. \ It should be noted that visitors and other non-employees cannot be terminated, obviously. Central Command must be informed of the termination, if one is applied.
  • \ -
  • Hold until Transfer is an option reserved for the Station Director only for repeat offenders, for serious violations of Regulations, or it the offender poses a \ +
  • Hold until Transfer is an option reserved for the " + JOB_SITE_MANAGER + " only for repeat offenders, for serious violations of Regulations, or it the offender poses a \ credible threat to the station or crew.
  • \ " @@ -151,7 +151,7 @@ suggested_punishments = "50 thaler fine. Demotion at discretion of Superior." suggested_fine = 50 notes = "For this charge to apply, the order must be lawful, reasonable, and the person being ordered to do it must have been able to do so. \ - This includes orders from someone who is not necessarily the direct superior of the offender, but has authority in that context, for instance the Chief Engineer \ + This includes orders from someone who is not necessarily the direct superior of the offender, but has authority in that context, for instance the " + JOB_CHIEF_ENGINEER + " \ giving an order about engineering matters." /datum/lore/codex/page/law/littering @@ -188,7 +188,7 @@ suggested_punishments = "Fine of up to 200 thaler, or brig time extention up to 20 minutes. Demotion at discretion of Superior." suggested_fine = 200 suggested_brig_time = 20 MINUTES - notes = "If this disputed, an Internal Affairs Agent (if available) is to be the impartial mediator." + notes = "If this disputed, an " + JOB_INTERNAL_AFFAIRS_AGENT + " (if available) is to be the impartial mediator." /datum/lore/codex/page/law/control_contraband name = "Possession of a Controlled Item (Contraband)" @@ -251,7 +251,7 @@ /datum/lore/codex/page/law/i_am_the_law/add_content() name = "Exceeding Official Powers" definition = "Acting beyond what is allowed by Corporate Regulations or Standard Operating Procedure, generally as a member of Command or Security." - suggested_punishments = "Demotion or termination at discretion of Station Admin. Send notice to Central Command if a Head of Staff or Station Director had exceeded their powers." + suggested_punishments = "Demotion or termination at discretion of Station Admin. Send notice to Central Command if a Head of Staff or " + JOB_SITE_MANAGER + " had exceeded their powers." notes = "The difference between this and [quick_link("Abuse of Office")] is that generally this charge is for instances of someone using their position to go beyond their \ assigned role, or generally acting 'above the regulations'." mandated = TRUE @@ -260,7 +260,7 @@ /datum/lore/codex/page/law/abuse_of_office/add_content() name = "Abuse of Office" definition = "Doing illegal, immoral, or otherwise disallowed actions, in an official capacity, placing their own interests ahead of the interests of the Company." - suggested_punishments = "Demotion. Termination at discretion of Station Admin. Send notice to Central Command if a Head of Staff or Station Director had abused their office." + suggested_punishments = "Demotion. Termination at discretion of Station Admin. Send notice to Central Command if a Head of Staff or " + JOB_SITE_MANAGER + " had abused their office." notes = "The difference between this and [quick_link("Exceeding Official Powers")] is that this charge is for instances of someone using their authority to adversely \ affect another crewmember or visitor unlawfully by using their authority, or otherwise empowering themselves for their own personal gain." mandated = TRUE @@ -273,41 +273,41 @@ notes = "Visitors boarding the station with restricted items must leave the item outside the station (e.g. vessel), or surrender it to the Security team. \ A list of restricted items are provided inside this book.\

    \ - Roles authorized to handle a weapon by default include; Station Director, Head of Personnel, Head of Security, Security Officers, Detectives, and anyone possessing \ + Roles authorized to handle a weapon by default include; " + JOB_SITE_MANAGER + ", " + JOB_HEAD_OF_PERSONNEL + ", " + JOB_HEAD_OF_SECURITY + ", Security Officers, Detectives, and anyone possessing \ a valid weapon permit." /datum/lore/codex/page/law/breaking_sop_major name = "Breaking Standard Operation Procedure (Major)" definition = "Actively and willfully disregarding the station's Standard Operating Procedures, where the probable effects includes death or destruction." - suggested_punishments = "30 minutes to 1 hour of Brig time. Demotion left to discretion of Superior, but strongly suggested. Termination at discretion of Station Director." + suggested_punishments = "30 minutes to 1 hour of Brig time. Demotion left to discretion of Superior, but strongly suggested. Termination at discretion of " + JOB_SITE_MANAGER + "." suggested_brig_time = 1 HOUR notes = "This includes non-compliance to orders from Emergency Responders, entering breached areas without proper EVA gear." /datum/lore/codex/page/law/neglect_of_duty name = "Neglect of Duty" definition = "To fail to meet satisfactory work standards." - suggested_punishments = "Demotion at discretion of Superior. Termination at discretion of Station Director." + suggested_punishments = "Demotion at discretion of Superior. Termination at discretion of " + JOB_SITE_MANAGER + "." notes = "This includes accidents, refusing or failing to work, or simply not providing a reasonable amount of productivity, when the offender is capable of work. This charge \ is meant to be applied only by Command staff to their subordinates, and not from individual Security Officers." /datum/lore/codex/page/law/deception name = "Deception" definition = "To lie in an official report." - suggested_punishments = "Demotion. Termination at discretion of Station Director. Notify Central Command." + suggested_punishments = "Demotion. Termination at discretion of " + JOB_SITE_MANAGER + ". Notify Central Command." notes = "This includes lying or withholding information to your superior in a report or lying to the crew about a situation." mandated = TRUE /datum/lore/codex/page/law/wrongful_dismissal name = "Wrongful Dismissal" definition = "To demote, dismiss, terminate, or otherwise reduce a crewmember's rank for no valid, or a knowingly false reason." - suggested_punishments = "Demotion. Termination at discretion of Station Director. Notify Central Command." - notes = "An Internal Affairs Agent is required to do an investigation in order to conclude if this has occurred or not. Security cannot \ + suggested_punishments = "Demotion. Termination at discretion of " + JOB_SITE_MANAGER + ". Notify Central Command." + notes = "An " + JOB_INTERNAL_AFFAIRS_AGENT + " is required to do an investigation in order to conclude if this has occurred or not. Security cannot \ give this charge out on their own." mandated = TRUE /datum/lore/codex/page/law/abuse_of_confiscated_equipment name = "Abuse of Confiscated Equipment" definition = "To take and use equipment confiscated as evidence or contraband, generally as a member of Security or Command." - suggested_punishments = "Demotion of the user. Termination at discretion of Station Director. Return confiscated equipment to evidence storage." + suggested_punishments = "Demotion of the user. Termination at discretion of " + JOB_SITE_MANAGER +". Return confiscated equipment to evidence storage." notes = "Security shouldn't be using evidence for anything but evidence, and should never use contraband. This is meant for people misusing evidence for personal use. Evidence stolen \ in order to cover up a crime would fall under Theft or Tampering with Evidence." diff --git a/code/modules/lore_codex/legal_code_data/main.dm b/code/modules/lore_codex/legal_code_data/main.dm index a16d7d35d68..8e5ffee829a 100644 --- a/code/modules/lore_codex/legal_code_data/main.dm +++ b/code/modules/lore_codex/legal_code_data/main.dm @@ -9,7 +9,7 @@

    \ In this book, there are two different types of rules. Corporate Regulations, and Laws. They each cover specific situations, and are both enforced \ by the Security team. Despite this, however, the punishments vary considerably for the two types. It should also be noted that no one is above \ - these rules, not even the Station Director.\ + these rules, not even the " + JOB_SITE_MANAGER + ".\

    \ Also contained inside are our Standard Operating Procedures, that all employees of NanoTrasen are expected to follow, and for the local facility's \ Command team and Internal Affairs to enforce.\ @@ -98,4 +98,4 @@ HTML += "" data = data + HTML - ..() \ No newline at end of file + ..() diff --git a/code/modules/lore_codex/legal_code_data/sif_law.dm b/code/modules/lore_codex/legal_code_data/sif_law.dm index 58e62cda2a3..cea14013789 100644 --- a/code/modules/lore_codex/legal_code_data/sif_law.dm +++ b/code/modules/lore_codex/legal_code_data/sif_law.dm @@ -93,7 +93,7 @@ suggested_punishments = "200 thaler fine. Give Drone a temporary paper stating that it is a drone, if the ID was lost. Fax VirGov. Inform owner of \ Drone if possible. Instruct Drone to obtain new ID at its earliest opportunity, if it was lost." notes = "This is only applicable to Drone intelligences which possess autonomous capability. It must be proven that the offender is a Drone, which can be \ - accomplished in various ways, generally with the expertise of a Roboticist. Lawbound synthetics, maintenance drones, and \ + accomplished in various ways, generally with the expertise of a " + JOB_ROBOTICIST + ". Lawbound synthetics, maintenance drones, and \ simple bots do not require an ID card. No fine or VirGov fax should be sent if the Drone's ID was lost due to theft and the ID is able to be recovered." mandated = TRUE @@ -157,7 +157,7 @@ name = "Excessive Force" definition = "Using more force than what is required to safely detain someone, using force against a helpless or incapacitated person, \ or using force against an unarmed and compliant person." - suggested_punishments = "Demotion. Termination at discretion of Superior, or Station Director. Send notice to Central Command if a Head of Security had used excessive force." + suggested_punishments = "Demotion. Termination at discretion of Superior, or " + JOB_SITE_MANAGER + ". Send notice to Central Command if a " + JOB_HEAD_OF_SECURITY + " had used excessive force." notes = "This charge also is applicible to non-Security personnel acting in self defense. \ Persons whom have caused a person to die as a result of excessive force should have [quick_link("Manslaughter")] applied instead, if the circumstances were \ unjustified." @@ -205,7 +205,7 @@ definition = "Creating an intelligence from an codeline that has not been registered with, or audited by, the Emergent Intelligence Oversight (EIO)." suggested_punishments = "Decommissioning of the newly created Drone. Investigation of Drone to determine level of intelligence, if possible. \ Hold until Transfer for the creator." - notes = "It must be proven that the Drone is in fact a Drone, which can be accomplished in various ways, generally with the expertise of a Roboticist. \ + notes = "It must be proven that the Drone is in fact a Drone, which can be accomplished in various ways, generally with the expertise of a " + JOB_ROBOTICIST + ". \ It must also be proven that the Drone's codeline is also unregistered. Intelligences produced from a Maintenance Drone Fabricator, \ the Research department, and through other regular means are by default already registered. Very simple machines such as securitrons do not require registration.\

    \ diff --git a/code/modules/lore_codex/legal_code_data/sop.dm b/code/modules/lore_codex/legal_code_data/sop.dm index 15dd5fdeaf1..f291d11492d 100644 --- a/code/modules/lore_codex/legal_code_data/sop.dm +++ b/code/modules/lore_codex/legal_code_data/sop.dm @@ -19,7 +19,7 @@

    \

    Visitors

    \ Visitors of all forms are required to follow SOP, Corporate Regulations, and local laws while onboard or around NanoTrasen property. Visitors who are \ - not registered on the manifest are required to speak with the Head of Personnel or Station Director, if one exists, to register, and obtain an identification \ + not registered on the manifest are required to speak with the " + JOB_HEAD_OF_PERSONNEL + " or " + JOB_SITE_MANAGER + ", if one exists, to register, and obtain an identification \ card denoting their status as a visitor. Visitors registered on the manifest are free to visit any public (non-access restricted) location on the facility, however \ they are still subject to the same regulations and rules as an ordinary crew member.\
    \ @@ -60,7 +60,7 @@ /* /datum/lore/codex/page/command_sop name = "Command SOP" - data = "This SOP is specific to those in the Command department, which includes the Station Director, Head of Personnel, Chief Engineer, Head of Security, and Research Director. \ + data = "This SOP is specific to those in the Command department, which includes the " + JOB_SITE_MANAGER + ", Head of Personnel, " + JOB_CHIEF_ENGINEER + ", " + JOB_HEAD_OF_SECURITY + ", and " + JOB_RESEARCH_DIRECTOR + ". \ This also covers Internal Affairs Agents, however they do not occupy a position inside Command crew, and instead exist outside of all the other departments.\
    \

    Bridge Secretaries

    \ @@ -68,10 +68,10 @@ regards.\
    \

    Responsibility and Authority

    \ - The Chain of Command is generally represented as: Station Director > Command Crew > Station Crew.
    \ - The Station Director is responsible for, and authoritative in, and and all matters regarding the station. In the absence of a Department Head, the Station Director \ + The Chain of Command is generally represented as: " + JOB_SITE_MANAGER + " > Command Crew > Station Crew.
    \ + The " + JOB_SITE_MANAGER + " is responsible for, and authoritative in, and and all matters regarding the station. In the absence of a Department Head, the " + JOB_SITE_MANAGER + " \ may choose to appoint an Acting Head, or else act as the voice of authority in a department. If a Department Head arrives on station, the Acting Head \ - is to step down, and the Station Director is to defer to the Department Head in matters involving said department.\ + is to step down, and the " + JOB_SITE_MANAGER + " is to defer to the Department Head in matters involving said department.\
    \ The remainder of the Command Crew is of equal rank among themselves, and are responsible for, and authoritative over only their own department, crew, and location. \ In the case of the Head of Personnel, this includes Service, Cargo, and any other Civilian role. Command Crew only have authority in their own department, when going \ @@ -80,7 +80,7 @@

    Demotion

    \ A member of the Command Crew may call for the demotion of any member of their department for disregarding safety protocol, disobeying orders with serious consequences, \ or other gross incompetence. Certain infractions necessitate that a guilty crew member receive a demotion. Demotion is to be performed by the Head of Personnel, or the \ - Station Director, as soon as possible. The demoted crewmember is to be present during the demotion, unless it is caused by a criminal sentence. If said crewmemeber \ + " + JOB_SITE_MANAGER + ", as soon as possible. The demoted crewmember is to be present during the demotion, unless it is caused by a criminal sentence. If said crewmemeber \ refuses to comply with a demotion order, Security is to escort them to the Head of Personnel's office.\
    \ Any demoted crewmember must return all equipment and non-personal items to their previous department, including departmental jumpsuits and radios. If a demoted \ @@ -88,21 +88,21 @@ may treat said items as stolen.\
    \

    Chain of Command & Succession

    \ - In case of emergency or other need, and in the absence of a Station Director, an Acting Director may be selected from active, certified Command crew. \ - The selected individual has the same responsibility and authority as a certified Station Director, along with that of their regular position, with the assumption that \ - they will step down if a certified Station Director arrives on station. This role is entirely voluntary, and no Command crew may be forced into the role \ + In case of emergency or other need, and in the absence of a " + JOB_SITE_MANAGER + ", an Acting Director may be selected from active, certified Command crew. \ + The selected individual has the same responsibility and authority as a certified " + JOB_SITE_MANAGER + ", along with that of their regular position, with the assumption that \ + they will step down if a certified " + JOB_SITE_MANAGER + " arrives on station. This role is entirely voluntary, and no Command crew may be forced into the role \ if they are opposed to doing so.\
    \ The preferred order of selecting an Acting Director is as follows:
    \ The role is to be offered to the Head of Personnel, if one is present. If there is no Head of Personnel, or they are unwilling to assume Acting Director, the \ - position is offered to non-Security Command crew. If no other Command crew is available or willing to assume Acting Director, the Head of Security may be offered \ + position is offered to non-Security Command crew. If no other Command crew is available or willing to assume Acting Director, the " + JOB_HEAD_OF_SECURITY + " may be offered \ the position. If no other Command crew is available or willing to assume Acting Director, no Acting Director is selected. Acting Command may not be offered or accept \ Acting Director.\
    \

    Command Crew Demotions

    \ - If a member of the Command crew is suspected to be incompetent, or in breach of SOP, the Station Director has discretion to demote the guilty Command crewmember. \ - If there is no Station Director, or the Station Director themselves is guilty, they may be demoted after a vote of no confidence by the remaining Command crew \ - and relevant station crew. For the Station Director, the vote is only to be among the remaining Command crew. Misuse of this privilage may warrant an \ + If a member of the Command crew is suspected to be incompetent, or in breach of SOP, the " + JOB_SITE_MANAGER + " has discretion to demote the guilty Command crewmember. \ + If there is no " + JOB_SITE_MANAGER + ", or the " + JOB_SITE_MANAGER + " themselves is guilty, they may be demoted after a vote of no confidence by the remaining Command crew \ + and relevant station crew. For the " + JOB_SITE_MANAGER + ", the vote is only to be among the remaining Command crew. Misuse of this privilage may warrant an \ Internal Affairs investigation for wrongful dismissal.\
    \

    Communications with Central Command

    \ @@ -171,12 +171,12 @@

    Ejection Procedure

    \ The Supermatter's isolation chamber contains a mass driver and a heavy blast door leading into space. Ejecting the Supermatter into the void \ will cause it to delaminate, however hopefully far away from your facility. Supermatter crystals are rare and expensive, so this option should \ - only be used if delamination cannot be stopped by any other means. A special button, behind glass, exists inside the Chief Engineer's office. \ + only be used if delamination cannot be stopped by any other means. A special button, behind glass, exists inside the " + JOB_CHIEF_ENGINEER + "'s office. \ The button controls the mass driver, however it should not be the first button to press. The blast door leading into space must be opened first, \ or else the Supermatter cannot be ejected. Premature ejection can cause the Supermatter to not be on the mass driver, which will require an extremely \ - risky manual Supermatter movement to place onto the mass driver again. The blast door can be opened with a button in the Chief Engineer's office, or inside the engine room. \ + risky manual Supermatter movement to place onto the mass driver again. The blast door can be opened with a button in the " + JOB_CHIEF_ENGINEER + "'s office, or inside the engine room. \ It is the same button used to 'vent' the engine core. Make use of engine core cameras to verify that the blast door is open. \ - The Chief Engineer should be the one to oversee Ejection. If one does not exist, the facility's AI should initiate Ejection. If there is no AI, \ + The " + JOB_CHIEF_ENGINEER + " should be the one to oversee Ejection. If one does not exist, the facility's AI should initiate Ejection. If there is no AI, \ it would be prudent for an Engineering member to forcefully enter to press the required buttons." /* @@ -202,8 +202,8 @@
    \

    Cloning Procedure

    \ Persons whom have committed suicide are not to be cloned. Individuals are also to not be cloned if there is a Do Not Clone (generally referred \ - to as DNC) order in their medical records, or if the individual has had a DNC order declared against them by the Station Director, Chief \ - Medical Officer, or Head of Security. If any of this occurs, procede to Portmortem Storage.\ + to as DNC) order in their medical records, or if the individual has had a DNC order declared against them by the " + JOB_SITE_MANAGER + ", Chief \ + Medical Officer, or " + JOB_HEAD_OF_SECURITY + ". If any of this occurs, procede to Portmortem Storage.\
    \ Some individuals may have special instructions in their Postmortem Instructions, generally found in their medical records. \ Be sure to read them before committing to cloning someone. In particular, some instructions may express a desire to be placed \ @@ -273,7 +273,7 @@ not to be placed inside an MMI. Still-living persons who wish to be placed inside an MMI should be ignored.\
    \ Lawbound Synthetics are to not have their lawset tampered with. Any errors with the lawset, intentional or resulting from an ionic storm, should \ - be reset by the Research Director or Chief Engineer. If they are unavailable, it is permissible for Robotics to do the reset. Lawbound Synthetics \ + be reset by the " + JOB_RESEARCH_DIRECTOR + " or " + JOB_CHIEF_ENGINEER + ". If they are unavailable, it is permissible for Robotics to do the reset. Lawbound Synthetics \ physically harmed should be repaired.\
    \

    Lawing Synthetics

    \ @@ -291,7 +291,7 @@

    Exosuits & Prosthetics

    \ Exosuits (also known as Mecha, or Mechs) are large machines piloted by an individual. Construction of exosuits is to occur inside Robotics or the \ Mech Bay. Damaged exosuits should be repaired by Robotics. Civilian Exosuits (Ripley, Odysseus) may be built at the request of departmental crew. \ - Combat exosuits (Durand, Gygax) may not be built without permission from the Head of Security or Station Director.\ + Combat exosuits (Durand, Gygax) may not be built without permission from the " + JOB_HEAD_OF_SECURITY + " or " + JOB_SITE_MANAGER + ".\
    \ Robotics is also tasked with the repair of prostheses limbs. Robotics may also be tasked with installing a prosthetic, however the Medical team \ may also do this if the Robotics staff lack the training to do so." @@ -319,7 +319,7 @@

    Crew

    \ Crew members and visitors may freely walk in the hallways and other public areas. Suit sensors are recommended, but not mandatory. \ The Security team must respect the privacy of crew members and visitors, and no unauthorized searches are allowed. Searches of any kind may \ - only be done with the consent of the searched, or with a signed warrant by the Head of Security or Station Director. A warrant is not required \ + only be done with the consent of the searched, or with a signed warrant by the " + JOB_HEAD_OF_SECURITY + " or " + JOB_SITE_MANAGER + ". A warrant is not required \ for instances of visible contraband." /datum/lore/codex/page/blue diff --git a/code/modules/lore_codex/legal_code_data/sop/medical.dm b/code/modules/lore_codex/legal_code_data/sop/medical.dm index 29ba57e6e33..1525fdcbf3e 100644 --- a/code/modules/lore_codex/legal_code_data/sop/medical.dm +++ b/code/modules/lore_codex/legal_code_data/sop/medical.dm @@ -28,10 +28,10 @@ /datum/lore/codex/page/sop_cloning name = "Cloning Procedures" - data = "Persons whom have committed suicide are not to be cloned, without authorization from the Chief Medical Officer. \ - The Chief Medical Officer is fully responsible if they choose to clone a person whom has committed suicide. \ + data = "Persons whom have committed suicide are not to be cloned, without authorization from the " + JOB_CHIEF_MEDICAL_OFFICER + ". \ + The " + JOB_CHIEF_MEDICAL_OFFICER + " is fully responsible if they choose to clone a person whom has committed suicide. \ Individuals are also to not be cloned if there is a Do Not Clone (generally referred to as DNC) order in their medical records, \ - or if the individual has had a DNC order declared against them by the Station Director, Chief Medical Officer, or Head of Security. \ + or if the individual has had a DNC order declared against them by the " + JOB_SITE_MANAGER + ", " + JOB_CHIEF_MEDICAL_OFFICER + ", or " + JOB_HEAD_OF_SECURITY + ". \ If any of this occurs, procede to Portmortem Storage.\

    \ Some individuals may have special instructions in their Postmortem Instructions, generally found in their medical records. \ @@ -70,4 +70,4 @@ data = "If a room becomes breached, the first priority is to evacuate any crewmembers and guests endangered by the breach, especially if they lack an EVA \ suit. Emergency softsuits are available in cyan colored lockers at key locations on your facility, if an untrained person requires short term EVA \ capability. Those exposed to vacuum without protection will almost certainly require advanced medical care, so bring anyone harmed to Medical. \ - Remember to avoid risking your own life, as stated in the Triage section." \ No newline at end of file + Remember to avoid risking your own life, as stated in the Triage section." diff --git a/code/modules/lore_codex/legal_code_data/sop/security.dm b/code/modules/lore_codex/legal_code_data/sop/security.dm index ca52d765290..594af5d6c74 100644 --- a/code/modules/lore_codex/legal_code_data/sop/security.dm +++ b/code/modules/lore_codex/legal_code_data/sop/security.dm @@ -31,7 +31,7 @@ /datum/lore/codex/page/sop_processing name = "Processing" - data = "Processing is the responsibility of the Arresting Officer, or the Warden if the Warden chooses to do so. The suspect is to be informed \ + data = "Processing is the responsibility of the Arresting Officer, or the " + JOB_WARDEN + " if the " + JOB_WARDEN + " chooses to do so. The suspect is to be informed \ again of the cause for their arrest, and that they will be searched. Suspects are assumed to be innocent until they are proven guilty. \ They are to be thoroughly searched. They may not be stripped of their inner clothing, though pockets are to be emptied. \ Any and all found contraband is to be confiscated, and anything that may be used to escape the brig is to be confiscated until the suspect's release.\ @@ -39,7 +39,7 @@ Assess the suspect's guilt. Contraband found in the search may be used as evidence at the discretion of the Arresting Officer. If the \ suspect is found innocent, all non-contraband is to be returned to them, and they are to be released. If instead they are found guilty and \ brig time is required by the type of violation they are guilty of, or have chosen brig time as an alternative to a fine if possible, they \ - are now considered a Prisoner, and further processing is the responsibility of the Warden, if one is present. If no Warden is present, the \ + are now considered a Prisoner, and further processing is the responsibility of the " + JOB_WARDEN + ", if one is present. If no " + JOB_WARDEN + " is present, the \ Arresting Officer is to continue processing.\

    \ The Prisoner is to be informed of their Sentencing Options, if available. These will vary depending on the violation in question, and \ @@ -58,13 +58,13 @@ department channels are to have their radio replaced with a general use radio. The prisoner's possessions are to be placed in the cell's locker, \ which will open upon their release.\

    \ - The Warden or processing officer is to set the cell timer, uncuff the Prisoner, and exit the cell, in any order desired. If the Prisoner is non-compliant, the Warden can activate \ - the cell's mounted flash, to incapacitate the Prisoner. The Warden may use up to Less-than-Lethal force to Prisoners resisting. Once the \ - Prisoner is secure, and the handcuffs recovered, the Warden may elect to open the communal brig for said prisoner. It is recommended to do this. If multiple Prisoners are present, \ - the Warden is to assess the threat posed by all prisoners as a group, to the Security team and to themselves, before allowing any Prisoner to access \ + The " + JOB_WARDEN + " or processing officer is to set the cell timer, uncuff the Prisoner, and exit the cell, in any order desired. If the Prisoner is non-compliant, the " + JOB_WARDEN + " can activate \ + the cell's mounted flash, to incapacitate the Prisoner. The " + JOB_WARDEN + " may use up to Less-than-Lethal force to Prisoners resisting. Once the \ + Prisoner is secure, and the handcuffs recovered, the " + JOB_WARDEN + " may elect to open the communal brig for said prisoner. It is recommended to do this. If multiple Prisoners are present, \ + the " + JOB_WARDEN + " is to assess the threat posed by all prisoners as a group, to the Security team and to themselves, before allowing any Prisoner to access \ the communal brig.\

    \ - The Warden is to check in on all prisoners frequently, to ensure they remain contained and healthy. This can be accomplished with the use of \ + The " + JOB_WARDEN + " is to check in on all prisoners frequently, to ensure they remain contained and healthy. This can be accomplished with the use of \ cameras. They are to also keep track of the sentencing time for all their prisoners, and be on location to escort them out of the brig when \ their time is up and they have returned to their normal clothing. The Prisoner's possessions are to be returned to the Prisoner at this time, and \ their security record must be set to Released." @@ -73,7 +73,7 @@ name = "Solitary Confinement" data = "Solitary confinement is only to be used with prisoners possessing Hold until Transfer sentences that cannot be trusted with access to the normal \ brig, due to attempts at escaping, or posing a threat to other prisoners, or themselves. A prisoner is to never be placed inside Solitary as a first course of \ - action. Prisoners inside Solitary are to still be checked up on by the Warden." + action. Prisoners inside Solitary are to still be checked up on by the " + JOB_WARDEN + "." // Sad that we need this page to exist. /datum/lore/codex/page/sop_prisoner_rights @@ -91,10 +91,10 @@ be returned if there is no pressing need for them to be deployed.\
    \ For Blue, Security may have weapons visible, but not drawn unless needed. Body armor and helmets are recommended bot not mandatory. \ - Weaponry and specialized armor are allowed to be given out to security officers, with clearance from the Warden or Head of Security.\ + Weaponry and specialized armor are allowed to be given out to security officers, with clearance from the " + JOB_WARDEN + " or " + JOB_HEAD_OF_SECURITY + ".\
    \ For Red, Security may have weapons drawn at all times, however properly handling of weapons should not be disregarded. Body armor and \ - helmets are mandatory. Specialized armor may be distributed by the Warden and Head of Security, when appropriate." + helmets are mandatory. Specialized armor may be distributed by the " + JOB_WARDEN + " and " + JOB_HEAD_OF_SECURITY + ", when appropriate." /datum/lore/codex/page/sop_escalation name = "Escalation of Force" diff --git a/code/modules/lore_codex/lore_data/main.dm b/code/modules/lore_codex/lore_data/main.dm index 7b43a25d5fd..7a263baf740 100644 --- a/code/modules/lore_codex/lore_data/main.dm +++ b/code/modules/lore_codex/lore_data/main.dm @@ -19,7 +19,7 @@ // We're a bird. /datum/lore/codex/page/about_lore name = "About" - data = "The Traveler's Guide to Human Space is a series of books detailing a specific location inside a location colonized by humans. \ + data = span_italics("The Traveler's Guide to Human Space") + " is a series of books detailing a specific location inside a location colonized by humans. \ This book is for the system Vir, and was written by Eshi Tache, an explorer whom has visited many star systems, and \ has personally visited and seen many of the locations described inside this book. Two other people have also assisted in the creation of this \ book, being Qooqr Volquum, whom is an expert on synthetics, and Damian Fischer, a historian. Together, they provide valuable information and facts that lie outside of Tache's expertise.\ @@ -28,5 +28,5 @@ to an immigrant from another system or even from outside human space, and anyone inbetween. The publisher wishes to note that any opinions expressed \ in this text does not reflect the opinions of the publisher, and are instead the author's.\

    \ - Eshi Tache has also written other The Traveler's Guide books, including Sol Edition, Tau Ceti Edition, Alpha Centauri Edition, and more, \ - which you can find in your local book store, library, or e-reader device." \ No newline at end of file + Eshi Tache has also written other " + span_italics("The Traveler's Guide") + " books, including " + span_italics("Sol Edition") + ", " + span_italics("Tau Ceti Edition") + ", " + span_italics("Alpha Centauri Edition") + ", and more, \ + which you can find in your local book store, library, or e-reader device." diff --git a/code/modules/lore_codex/lore_data_vr/important_locations.dm b/code/modules/lore_codex/lore_data_vr/important_locations.dm index ae87092212d..ddf3d4092cd 100644 --- a/code/modules/lore_codex/lore_data_vr/important_locations.dm +++ b/code/modules/lore_codex/lore_data_vr/important_locations.dm @@ -41,14 +41,14 @@ /datum/lore/codex/page/virgo_one/add_content() name = "Virgo 1 (Hot-Ice Giant)" keywords += list("Virgo 1") - data = "Virgo 1 is a tidally locked hot ice giant located closest to the star. Temperatures soar and drop between 490°K and 120°K. Winds on the planet often surpass \ + data = "Virgo 1 is a tidally locked hot ice giant located closest to the star. Temperatures soar and drop between 490°K and 120°K. Winds on the planet often surpass \ supersonic speeds." /datum/lore/codex/page/virgo_two/add_content() name = "Virgo 2 (Metal-Rich Planet)" keywords += list("Virgo 2") data = "The second closest planet to [quick_link("Virgo-Erigone")], this planet has a high concentration of minerals inside its crust, as well as active volcanism and plate tectonics. \ - The temperature on the surface can reach up to 405 degrees kelvin (132°C) due to the relatively high albedo of the surface, which has deterred most people from the planet, except for two [quick_link("TSC", "TSCs")], \ + The temperature on the surface can reach up to 405 degrees kelvin (132°C) due to the relatively high albedo of the surface, which has deterred most people from the planet, except for two [quick_link("TSC", "TSCs")], \ Greyson Manufactories and [quick_link("Xion Manufacturing Group")]. In orbit, the two companies each have a space station, used to coordinate and \ control their stations on the surface without having to suffer the intense heat. Xion's station also doubles as a control and oversight facility for their \ [quick_link("drones","autonomous mining drones")].\ @@ -88,7 +88,7 @@ /datum/lore/codex/page/virgo_prime/add_content() // Virgo 4 technically. name = "Virgo 4 / Virgo-Prime (Terrestrial Planet)" keywords += list("Virgo 4","Virgo-Prime") - data = "Virgo 4, also known as Virgo-Prime, is the fourth planet of Virgo-Eirgone. Although primarily desert, temperatures linger around only 287 kelvin (~14°C). \ + data = "Virgo 4, also known as Virgo-Prime, is the fourth planet of Virgo-Eirgone. Although primarily desert, temperatures linger around only 287 kelvin (~14°C). \ It is the only planet in the system with an environment that supports oxygen-breathing lifeforms. \

    \ While being about the size of Earth, it is home to only about 750,000 known residents, most of whom live \ @@ -103,7 +103,7 @@ /datum/lore/codex/page/virgo_five/add_content() name = "Virgo 5 (Rocky Ice Planet)" keywords += list("Virgo 5") - data = "Virgo 5 is a cold, inhospitable wasteland contaminated with toxic phoron-based compounds. At temperatures around 213 kelvin (-60°C), \ + data = "Virgo 5 is a cold, inhospitable wasteland contaminated with toxic phoron-based compounds. At temperatures around 213 kelvin (-60°C), \ it can support only the most hardy of phoron-based life, such as space carp, which are unaffected by the frigid temperatures or deadly \ atmosphere. Scientists believe this planet was once closer to its host star, but over time was pushed out beyond the habitable zone by \ other large planets." @@ -112,14 +112,14 @@ name = "The Outer Worlds" keywords += list("The Outer Worlds") data = "The last three planets in the system are two small rocky worlds, Virgo 6 and 7, and finally Virgo 8 which is a frozen gas giant \ - whose temperatures reach only 49°K. The planet has several moons, but none of these worlds are of any significance. Virgo 6 and 7, as well \ + whose temperatures reach only 49°K. The planet has several moons, but none of these worlds are of any significance. Virgo 6 and 7, as well \ as 8's moons have no substantial deposits of any useful minerals, nor do they have an abundance of phoron. They are left largely ignored by \ the local [quick_link("TSC", "TSCs")], though this also makes them a safe haven for various pirate and smuggler stations." /datum/lore/codex/page/virgo_central_command/add_content() name = "Virgo Central Command (Colony)" keywords += list("Virgo Central Command") - data = "This page has been ripped out. Odd." + data = span_italics("This page has been ripped out. Odd.") /*data = "The Virgo Central Command is a large facility on [quick_link("Virgo-3B")] which handles the loading and \ unloading, refuelling, and general maintenance of large spacecraft. The main structure is owned by \ [quick_link("NanoTrasen")], but individual offices, docking/loading bays, and warehouses are often leased to individuals \ @@ -140,4 +140,4 @@ largely unknown history.\

    \ Today it houses a population of civilians, whom work to maintain the facility and support the local mining industry. Employees often commute to the \ - installation via an underground transit network that links the facility to a neighboring colony." // ToDo: Add link to CentCom colony. \ No newline at end of file + installation via an underground transit network that links the facility to a neighboring colony." // ToDo: Add link to CentCom colony. diff --git a/code/modules/lore_codex/lore_data_vr/orgs.dm b/code/modules/lore_codex/lore_data_vr/orgs.dm index 6a9ced097c3..2cd32f6c91a 100644 --- a/code/modules/lore_codex/lore_data_vr/orgs.dm +++ b/code/modules/lore_codex/lore_data_vr/orgs.dm @@ -29,7 +29,7 @@ /datum/lore/codex/category/auto_org/other name = "Other Factions" - auto_keywords = list("KHI","SDF","Smuggler","Smugglers","Pirate","Pirates") + auto_keywords = list("SDF","Smuggler","Smugglers","Pirate","Pirates") desired_type = /datum/lore/organization/other /datum/lore/codex/category/auto_org/gov diff --git a/code/modules/lore_codex/lore_data_vr/political_parties.dm b/code/modules/lore_codex/lore_data_vr/political_parties.dm index 1a768ff9e0b..e13f8395d30 100644 --- a/code/modules/lore_codex/lore_data_vr/political_parties.dm +++ b/code/modules/lore_codex/lore_data_vr/political_parties.dm @@ -1,6 +1,6 @@ /datum/lore/codex/category/political_factions name = "Political Factions" - data = "For some weird reason, this section is blank. This looks like a publishing error." + data = span_italics("For some weird reason, this section is blank. This looks like a publishing error.") /*data = "Those wishing to immigrate to somewhere in Virgo-Erigone, or otherwise plan to stay for a long time should get to know human politics. \ There are presently three major political parties that exist throughout SolGov space, being the Icarus Front, the Shadow Coalition, and \ the Sol Economic Organization, and several smaller ones which tend to align themselves among one of the major parties. In the Virgo-Erigone system, the \ @@ -12,4 +12,4 @@ /datum/lore/codex/page/blank/add_content() name = "Blank Page" keywords += list("Blank") - data = "For some weird reason, this section is blank. This looks like a publishing error." // ToDo: A lot. + data = span_italics("For some weird reason, this section is blank. This looks like a publishing error.") // ToDo: A lot. diff --git a/code/modules/lore_codex/news_data/main.dm b/code/modules/lore_codex/news_data/main.dm index 8f3061f38a9..088d0bba6e6 100644 --- a/code/modules/lore_codex/news_data/main.dm +++ b/code/modules/lore_codex/news_data/main.dm @@ -947,12 +947,12 @@ Shelf, a largely Positronic colony fleet, consists of over 1700 vessels including the 'One Leaky Bitch', current headquarters of Morpheus Shelf, Morpheus' non-Solar 'spin-out' corporation established last June. The fleet has continuously denied direct affiliation with the Almach Assocation, but was involved in a major drone attack on Solar vessels just nine months ago, which was claimed to be 'in error'." /datum/lore/codex/page/article80 - name = "02/12/64 - Spectralist Wardens to hold Vigils for Lost Fleet" - data = "In the wake of Shelf's sudden disappearence, Wardens across SolGov space have collectively agreed to hold services and vigils throughout dozens of systems for those who are doubtless worried for their loved ones aboard the missing ships. Spectralism, a synthetic-centric religion, finds it's roots within 'Haven', a small vessel and community that travels alongside the wider Shelf fleet, though considers itself a distinct entity. Its ministers, known as Wardens, tend to its adherants wherever they may be found.\ + name = "02/12/64 - Spectralist " + JOB_WARDEN + "s to hold Vigils for Lost Fleet" + data = "In the wake of Shelf's sudden disappearence, " + JOB_WARDEN + "s across SolGov space have collectively agreed to hold services and vigils throughout dozens of systems for those who are doubtless worried for their loved ones aboard the missing ships. Spectralism, a synthetic-centric religion, finds it's roots within 'Haven', a small vessel and community that travels alongside the wider Shelf fleet, though considers itself a distinct entity. Its ministers, known as " + JOB_WARDEN + "s, tend to its adherants wherever they may be found.\

    \ Despite Haven's well-known and somewhat-controversial independence of identity from Shelf, all indications point to the Fleet's disappearance having taken the attached ship with it. All twelve Spectralist Elders are known to have been onboard Haven at the time of its disappearance, as well as numerous other significant Spectralists and other spiritual leaders thought to have been on Shelf. The potential loss of the entire upper organizational body could be devastating to the religion, who have long been instrumental in the synthetic rights movement.\

    \ - Ceramica, a Warden operating out of Nyx, reached out for comment with the following: 'We are as worried as everyone else who calls Shelf their home, or who has lost contact with friends or family. You need not believe in the First Spark to have a place at your local vigil; We welcome everyone who may be hurting. This is our way, this has always been our way. We remind everyone to stay mindful, and to reach out to those you see struggling. In times like this, we cannot leave each other behind.'" + Ceramica, a " + JOB_WARDEN + " operating out of Nyx, reached out for comment with the following: 'We are as worried as everyone else who calls Shelf their home, or who has lost contact with friends or family. You need not believe in the First Spark to have a place at your local vigil; We welcome everyone who may be hurting. This is our way, this has always been our way. We remind everyone to stay mindful, and to reach out to those you see struggling. In times like this, we cannot leave each other behind.'" /datum/lore/codex/page/article81 name = "02/14/64 - Shelf Safe After 'Impossible' Jump!" diff --git a/code/modules/makeup/nailpolish.dm b/code/modules/makeup/nailpolish.dm index 4cd989959fb..8fe3e12ac74 100644 --- a/code/modules/makeup/nailpolish.dm +++ b/code/modules/makeup/nailpolish.dm @@ -1,6 +1,6 @@ /obj/item/organ/external/var/datum/nail_polish/nail_polish -/obj/item/weapon/nailpolish +/obj/item/nailpolish name = "nail polish" desc = "to paint your nails with. Or someone else's!" icon = 'icons/obj/nailpolish_vr.dmi' @@ -12,24 +12,24 @@ drop_sound = 'sound/items/drop/glass.ogg' pickup_sound = 'sound/items/pickup/glass.ogg' -/obj/item/weapon/nailpolish/Initialize() +/obj/item/nailpolish/Initialize() . = ..() desc = "Nail polish, " + initial(desc) top_underlay = image(icon, "top") color_underlay = image(icon, "color") update_icon() -/obj/item/weapon/nailpolish/proc/set_colour(var/_colour) +/obj/item/nailpolish/proc/set_colour(var/_colour) colour = _colour desc = "Nail polish, " + initial(desc) update_icon() -/obj/item/weapon/nailpolish/attack_self(var/mob/user) +/obj/item/nailpolish/attack_self(var/mob/user) open = !open - to_chat(user, SPAN_NOTICE("You [open ? "open" : "close"] \the [src].")) + to_chat(user, span_notice("You [open ? "open" : "close"] \the [src].")) update_icon() -/obj/item/weapon/nailpolish/update_icon() +/obj/item/nailpolish/update_icon() . = ..() icon_state = "[initial(icon_state)][open ? "-open" : ""]" top_underlay.icon_state = "top[open ? "-open" : ""]" @@ -57,32 +57,32 @@ icostate = organ_tag return new /datum/nail_polish(ico, icostate, colour) -/obj/item/weapon/nailpolish/attack(var/mob/user, var/mob/living/carbon/human/target) +/obj/item/nailpolish/attack(var/mob/user, var/mob/living/carbon/human/target) if(!open) return if(!istype(target)) return - + var/bp = user.zone_sel.selecting var/obj/item/organ/external/body_part = target.get_organ(bp) if(!body_part) - to_chat(user, SPAN_WARNING("[target] is missing that limb!")) + to_chat(user, span_warning("[target] is missing that limb!")) return if(body_part.nail_polish) - to_chat(user, SPAN_NOTICE("[target]'s [body_part.name] already has nail polish on!")) + to_chat(user, span_notice("[target]'s [body_part.name] already has nail polish on!")) return var/datum/nail_polish/polish = body_part.get_polish(colour) if(!polish) - to_chat(user, SPAN_NOTICE("You can't find any nails on [body_part] to paint.")) + to_chat(user, span_notice("You can't find any nails on [body_part] to paint.")) return if(user == target) - user.visible_message("\The [user] paints their nails with \the [src].", "You paint your nails with \the [src].") + user.visible_message(span_infoplain(span_bold("\The [user]") + " paints their nails with \the [src]."), span_infoplain("You paint your nails with \the [src].")) else if(do_after(user, 2 SECONDS, target)) - user.visible_message("\The [user] paints \the [target]'s nails with \the [src].", "You paint \the [target]'s nails with \the [src].") + user.visible_message(span_infoplain(span_bold("\The [user]") + " paints \the [target]'s nails with \the [src]."), span_infoplain("You paint \the [target]'s nails with \the [src].")) else - to_chat(user, SPAN_NOTICE("Both you and [target] must stay still!")) + to_chat(user, span_notice("Both you and [target] must stay still!")) return body_part.set_polish(polish) @@ -90,7 +90,7 @@ nail_polish = polish owner?.update_icons_body() -/obj/item/weapon/nailpolish_remover +/obj/item/nailpolish_remover name = "nail polish remover" desc = "Paint thinner, acetone, nail polish remover; whatever you call it, it gets the job done." drop_sound = 'sound/items/drop/helm.ogg' @@ -99,37 +99,37 @@ icon_state = "nailpolishremover" var/open = FALSE -/obj/item/weapon/nailpolish_remover/attack_self(var/mob/user) +/obj/item/nailpolish_remover/attack_self(var/mob/user) open = !open - to_chat(user, SPAN_NOTICE("You [open ? "open" : "close"] \the [src].")) + to_chat(user, span_notice("You [open ? "open" : "close"] \the [src].")) update_icon() -/obj/item/weapon/nailpolish_remover/update_icon() +/obj/item/nailpolish_remover/update_icon() . = ..() icon_state = "[initial(icon_state)][open ? "-open" : ""]" -/obj/item/weapon/nailpolish_remover/attack(var/mob/user, var/mob/living/carbon/human/target) +/obj/item/nailpolish_remover/attack(var/mob/user, var/mob/living/carbon/human/target) if(!open) return if(!istype(target)) return - + var/bp = user.zone_sel.selecting var/obj/item/organ/external/body_part = target.get_organ(bp) if(!body_part) - to_chat(user, SPAN_WARNING("[target] is missing that limb!")) + to_chat(user, span_warning("[target] is missing that limb!")) return if(!body_part.nail_polish) - to_chat(user, SPAN_NOTICE("[target]'s [body_part.name] has no nail polish to remove!")) + to_chat(user, span_notice("[target]'s [body_part.name] has no nail polish to remove!")) return if(user == target) - user.visible_message("\The [user] removes their nail polish with \the [src].", "You remove your nail polish with \the [src].") + user.visible_message(span_infoplain(span_bold("\The [user]") + " removes their nail polish with \the [src]."), span_infoplain("You remove your nail polish with \the [src].")) else if(do_after(user, 2 SECONDS, target)) - user.visible_message("\The [user] removes \the [target]'s nail polish with \the [src].", "You remove \the [target]'s nail polish with \the [src].") + user.visible_message(span_infoplain(span_bold("\The [user]") + " removes \the [target]'s nail polish with \the [src]."), span_infoplain("You remove \the [target]'s nail polish with \the [src].")) else - to_chat(user, SPAN_NOTICE("Both you and [target] must stay still!")) + to_chat(user, span_notice("Both you and [target] must stay still!")) return body_part.set_polish(null) @@ -142,4 +142,3 @@ icon = _icon icon_state = _icon_state color = _color - \ No newline at end of file diff --git a/code/modules/maps/bapi-dmm/bapi_bindings.dm b/code/modules/maps/bapi-dmm/bapi_bindings.dm new file mode 100644 index 00000000000..780445e4e63 --- /dev/null +++ b/code/modules/maps/bapi-dmm/bapi_bindings.dm @@ -0,0 +1,36 @@ +//THIS FILE IS AUTOMATICALLY GENERATED BY BAPI_DMM_READER, PLEASE DO NOT TOUCH IT +//PROC DEFINITIONS MAY MOVE AROUND, THIS IS NORMAL + +/* This comment bypasses grep checks */ /var/__bapi_dmm_reader + +/proc/__detect_bapi_dmm_reader() + if (world.system_type == UNIX) + if(fexists("./libbapi_dmm_reader.so")) + // No need for LD_LIBRARY_PATH badness. + return __bapi_dmm_reader = "./libbapi_dmm_reader.so" + // It's not in the current directory, so try others + return __bapi_dmm_reader = "libbapi_dmm_reader" + else + return __bapi_dmm_reader = "bapi_dmm_reader" + +#define BAPI_DMM_READER (__bapi_dmm_reader || __detect_bapi_dmm_reader()) + +/proc/_bapidmm_test_connection() + return call_ext(BAPI_DMM_READER, "byond:_bapidmm_test_connection_ffi")() + +/proc/_bapidmm_parse_map_blocking(dmm_file, map_datum) + return call_ext(BAPI_DMM_READER, "byond:_bapidmm_parse_map_blocking_ffi")(dmm_file, map_datum) + +/proc/_bapidmm_load_map_buffered(parsed_map, x_offset, y_offset, z_offset, crop_map, no_changeturf, x_lower, +x_upper, y_lower, y_upper, z_lower, z_upper, place_on_top, new_z) + return call_ext(BAPI_DMM_READER, "byond:_bapidmm_load_map_buffered_ffi")(parsed_map, x_offset, y_offset, z_offset, crop_map, no_changeturf, x_lower, +x_upper, y_lower, y_upper, z_lower, z_upper, place_on_top, new_z) + +/proc/_bapidmm_work_commandbuffer(parsed_map, resume_key) + return call_ext(BAPI_DMM_READER, "byond:_bapidmm_work_commandbuffer_ffi")(parsed_map, resume_key) + +/proc/_bapidmm_clear_map_data() + return call_ext(BAPI_DMM_READER, "byond:_bapidmm_clear_map_data_ffi")() + +/proc/bapidmm_generate_automata(limit_x, limit_y, iterations, initial_wall_cell) + return call_ext(BAPI_DMM_READER, "byond:bapidmm_generate_automata_ffi")(limit_x, limit_y, iterations, initial_wall_cell) diff --git a/code/modules/maps/bapi-dmm/bapi_dmm_reader.dm b/code/modules/maps/bapi-dmm/bapi_dmm_reader.dm new file mode 100644 index 00000000000..ea71276be83 --- /dev/null +++ b/code/modules/maps/bapi-dmm/bapi_dmm_reader.dm @@ -0,0 +1,274 @@ +// This file provides manually written utility types and such for the BAPI DMM Reader + +GLOBAL_LIST_EMPTY(cached_maps) + +GLOBAL_VAR_INIT(use_preloader, FALSE) +GLOBAL_VAR_INIT(_preloader_path, null) +GLOBAL_LIST_EMPTY(_preloader_attributes) + +/world/proc/preloader_setup(list/the_attributes, path) + if(LAZYLEN(the_attributes)) + GLOB.use_preloader = TRUE + GLOB._preloader_attributes = the_attributes + GLOB._preloader_path = path + +/world/proc/preloader_load(atom/what) + GLOB.use_preloader = FALSE + var/list/attributes = GLOB._preloader_attributes + for(var/attribute in attributes) + var/value = attributes[attribute] + if(islist(value)) + value = deepCopyList(value) + #ifdef TESTING + if(what.vars[attribute] == value) + var/message = "[what.type] at [AREACOORD(what)] - VAR:[attribute] = [isnull(value) ? "null" : (isnum(value) ? value : "\"[value]\"")]" + world.log << "DIRTY VAR: [message]" + dirty_vars += message + #endif + what.vars[attribute] = value + +#define MAP_DMM "dmm" +/** + * TGM SPEC: + * TGM is a derevation of DMM, with restrictions placed on it + * to make it easier to parse and to reduce merge conflicts/ease their resolution + * + * Requirements: + * Each "statement" in a key's details ends with a new line, and wrapped in (...) + * All paths end with either a comma or occasionally a {, then a new line + * Excepting the area, who is listed last and ends with a ) to mark the end of the key + * + * {} denotes a list of variable edits applied to the path that came before the first { + * the final } is followed by a comma, and then a new line + * Variable edits have the form \tname = value;\n + * Except the last edit, which has no final ;, and just ends in a newline + * No extra padding is permitted + * Many values are supported. See parse_constant() + * Strings must be wrapped in "...", files in '...', and lists in list(...) + * Files are kinda susy, and may not actually work. buyer beware + * Lists support assoc values as expected + * These constants can be further embedded into lists + * + * There can be no padding in front of, or behind a path + * + * Therefore: + * "key" = ( + * /path, + * /other/path{ + * var = list("name" = 'filepath'); + * other_var = /path + * }, + * /turf, + * /area) + * + */ +#define MAP_TGM "tgm" +#define MAP_UNKNOWN "unknown" + +/// Returned from parse_map to give some metadata about the map +/datum/bapi_parsed_map + var/_internal_index = -1 + + var/original_path = "" + var/map_format = MAP_UNKNOWN + var/key_len = 0 + var/line_len = 0 + var/expanded_y = FALSE + var/expanded_x = FALSE + + /// Unoffset bounds. Null on parse failure. + var/list/bounds = list() + /// Offset bounds. Same as parsed_bounds until load(). + var/list/parsed_bounds = list() + + ///any turf in this list is skipped inside of build_coordinate. Lazy assoc list + var/list/turf_blacklist + + var/loading = FALSE + var/loaded_warnings = list() + +/** + * Helper and recommened way to load a map file + * - dmm_file: The path to the map file + * - x_offset: The x offset to load the map at + * - y_offset: The y offset to load the map at + * - z_offset: The z offset to load the map at + * - crop_map: If true, the map will be cropped to the world bounds + * - measure_only: If true, the map will not be loaded, but the bounds will be calculated + * - no_changeturf: If true, the map will not call /turf/AfterChange + * - x_lower: The minimum x coordinate to load + * - x_upper: The maximum x coordinate to load + * - y_lower: The minimum y coordinate to load + * - y_upper: The maximum y coordinate to load + * - z_lower: The minimum z coordinate to load + * - z_upper: The maximum z coordinate to load + * - place_on_top: Whether to use /turf/proc/PlaceOnTop rather than /turf/proc/ChangeTurf + * - new_z: If true, a new z level will be created for the map + */ +/proc/load_map_bapi( + dmm_file, + x_offset = 1, + y_offset = 1, + z_offset, + crop_map = FALSE, + measure_only = FALSE, + no_changeturf = FALSE, + x_lower = -INFINITY, + x_upper = INFINITY, + y_lower = -INFINITY, + y_upper = INFINITY, + z_lower = -INFINITY, + z_upper = INFINITY, + place_on_top = FALSE, + new_z = FALSE, +) + if(isfile(dmm_file)) + log_debug("bapi-dmm was passed a file instead of a path string: [dmm_file]") + var/name = sanitize_filename("[dmm_file]") + var/path = "data/baked_dmm_files/[name]" + if(!fexists(path)) + var/text = file2text(dmm_file) + rustg_file_write(text, path) + dmm_file = path + + if(!fexists(dmm_file)) + stack_trace("Invalid map path: [dmm_file]") + return + + if(!(dmm_file in GLOB.cached_maps)) + GLOB.cached_maps[dmm_file] = new /datum/bapi_parsed_map(dmm_file) + + // Bay assumption + if(!z_offset) + z_offset = world.maxz + 1 + + var/datum/bapi_parsed_map/parsed_map = GLOB.cached_maps[dmm_file] + parsed_map = parsed_map.copy() + if(!measure_only && !isnull(parsed_map.bounds)) + parsed_map.load(x_offset, y_offset, z_offset, crop_map, no_changeturf, x_lower, x_upper, y_lower, y_upper, z_lower, z_upper, place_on_top, new_z) + return parsed_map + +/datum/bapi_parsed_map/New(tfile) + if(isnull(tfile)) + return // create a new datum without loading a map + var/ret = _bapidmm_parse_map_blocking(tfile, src) + if(!ret) + CRASH("Failed to load map [tfile], check rust_log.txt") + +/datum/bapi_parsed_map/Destroy() + ..() + SSatoms.map_loader_stop(REF(src)) // Just in case, I don't want to double up here + if(turf_blacklist) + turf_blacklist.Cut() + parsed_bounds.Cut() + bounds.Cut() + return QDEL_HINT_HARDDEL_NOW + +/datum/bapi_parsed_map/proc/copy() + // Avoids duped work just in case + var/datum/bapi_parsed_map/newfriend = new() + // use the same under-the-hood data + newfriend._internal_index = _internal_index + newfriend.original_path = original_path + newfriend.map_format = map_format + newfriend.key_len = key_len + newfriend.line_len = line_len + newfriend.parsed_bounds = parsed_bounds.Copy() + // Copy parsed bounds to reset to initial values + newfriend.bounds = parsed_bounds.Copy() + newfriend.turf_blacklist = turf_blacklist?.Copy() + // Explicitly do NOT copy `loaded` and `loaded_warnings` + return newfriend + +/datum/bapi_parsed_map/proc/load( + x_offset = 1, + y_offset = 1, + z_offset = 1, + crop_map = FALSE, + no_changeturf = FALSE, + x_lower = -INFINITY, + x_upper = INFINITY, + y_lower = -INFINITY, + y_upper = INFINITY, + z_lower = -INFINITY, + z_upper = INFINITY, + place_on_top = FALSE, + new_z = FALSE, +) + Master.StartLoadingMap() + . = _load_impl(x_offset, y_offset, z_offset, crop_map, no_changeturf, x_lower, x_upper, y_lower, y_upper, z_lower, z_upper, place_on_top, new_z) + Master.StopLoadingMap() + +/datum/bapi_parsed_map/proc/_load_impl( + x_offset = 1, + y_offset = 1, + z_offset = 1, + crop_map = FALSE, + no_changeturf = FALSE, + x_lower = -INFINITY, + x_upper = INFINITY, + y_lower = -INFINITY, + y_upper = INFINITY, + z_lower = -INFINITY, + z_upper = INFINITY, + place_on_top = FALSE, + new_z = FALSE, +) + PRIVATE_PROC(TRUE) + SSatoms.map_loader_begin(REF(src)) + + // `loading` var handled by bapidmm + var/resume_key = _bapidmm_load_map_buffered( + src, + x_offset, + y_offset, + z_offset, + crop_map, + no_changeturf, + x_lower, + x_upper, + y_lower, + y_upper, + z_lower, + z_upper, + place_on_top, + new_z + ) + + if(!resume_key) + SSatoms.map_loader_stop(REF(src)) + CRASH("Failed to generate command buffer, check rust_log.txt and other runtimes") + + var/work_remaining = FALSE + do + work_remaining = _bapidmm_work_commandbuffer(src, resume_key) + stoplag() + while(work_remaining) + + SSatoms.map_loader_stop(REF(src)) + + // if(new_z) + // for(var/z_index in bounds[MAP_MINZ] to bounds[MAP_MAXZ]) + // SSmapping.build_area_turfs(z_index) + + // if(!no_changeturf) + // var/list/turfs = block( + // locate(bounds[MAP_MINX], bounds[MAP_MINY], bounds[MAP_MINZ]), + // locate(bounds[MAP_MAXX], bounds[MAP_MAXY], bounds[MAP_MAXZ])) + // for(var/turf/T as anything in turfs) + // //we do this after we load everything in. if we don't, we'll have weird atmos bugs regarding atmos adjacent turfs + // T.AfterChange(CHANGETURF_IGNORE_AIR) + + // if(expanded_x || expanded_y) + // SEND_GLOBAL_SIGNAL(COMSIG_GLOB_EXPANDED_WORLD_BOUNDS, expanded_x, expanded_y) + + return TRUE + +/datum/bapi_parsed_map/proc/has_warnings() + if(length(loaded_warnings)) + return TRUE + return FALSE + +// #undef MAP_DMM +// #undef MAP_TGM +// #undef MAP_UNKNOWN diff --git a/code/modules/maps/bapi-dmm/bapi_helpers.dm b/code/modules/maps/bapi-dmm/bapi_helpers.dm new file mode 100644 index 00000000000..815e4764fdb --- /dev/null +++ b/code/modules/maps/bapi-dmm/bapi_helpers.dm @@ -0,0 +1,110 @@ +// Internal bapi-dmm helpers +/datum/bapi_parsed_map/proc/_bapi_add_warning(warning) + loaded_warnings += list(warning) + +/datum/bapi_parsed_map/proc/_bapi_expand_map(x, y, z, new_z, z_offset) + if(x > world.maxx) + expanded_x = TRUE + world.maxx = x + // if(new_z) + // world.increase_max_x(x, map_load_z_cutoff = z_offset - 1) + // else + // world.increase_max_x(x) + if(y > world.maxy) + expanded_y = TRUE + world.maxy = y + // if(new_z) + // world.increase_max_y(y, map_load_z_cutoff = z_offset - 1) + // else + // world.increase_max_y(y) + if(z > world.maxz) + while(world.maxz < z) + world.increment_max_z() + +/proc/_bapi_helper_get_world_bounds() + . = list(world.maxx, world.maxy, world.maxz) + +/proc/_bapi_helper_text2path(text) + . = text2path(text) + +/proc/_bapi_helper_text2file(text) + . = file(text) + +/proc/_bapi_create_atom(path, crds) + set waitfor = FALSE + . = new path (crds) + +/proc/_bapi_setup_preloader(list/attributes, path) + world.preloader_setup(attributes, path) + +/proc/_bapi_apply_preloader(atom/A) + if(GLOB.use_preloader) + world.preloader_load(A) + +/proc/_bapi_new_atom(text_path, turf/crds, list/attributes) + var/path = text2path(text_path) + if(!path) + CRASH("Bad atom path [text_path]") + + if(attributes != null) + world.preloader_setup(attributes, path) + + var/atom/instance = _bapi_create_atom(path, crds) // first preloader pass + + if(GLOB.use_preloader && instance) // second preloader pass for atoms that don't ..() in New() + world.preloader_load(instance) + +/proc/_bapi_create_or_get_area(text_path) + var/path = text2path(text_path) + if(!path) + CRASH("Bad area path [text_path]") + + var/area/area_instance = GLOB.areas_by_type[path] + if(!area_instance) + area_instance = new path(null) + if(!area_instance) + CRASH("[path] failed to be new'd, what'd you do?") + + return area_instance + +/proc/_bapi_handle_area_contain(turf/T, area/A) + // var/area/old_area = T.loc + // if(old_area == A) + // return // no changing areas that already contain this turf, it'll confuse them + // LISTASSERTLEN(old_area.turfs_to_uncontain_by_zlevel, T.z, list()) + // LISTASSERTLEN(A.turfs_by_zlevel, T.z, list()) + // old_area.turfs_to_uncontain_by_zlevel[T.z] += T + // A.turfs_by_zlevel[T.z] += T + +/proc/_bapi_create_turf(turf/crds, text_path, list/attributes, place_on_top, no_changeturf) + var/path = text2path(text_path) + if(!path) + CRASH("Bad turf path [text_path]") + + if(attributes != null) + world.preloader_setup(attributes, path) + + var/atom/instance + if(no_changeturf) + instance = _bapi_create_atom(path, crds) + else + instance = crds.ChangeTurf(path, FALSE, TRUE) + + if(GLOB.use_preloader && instance) // second preloader pass for atoms that don't ..() in New() + world.preloader_load(instance) + +/proc/_bapi_add_turf_to_area(area/A, turf/T) + if(!A || !T) + return + A.contents.Add(T) + +/proc/_bapi_helper_get_world_type_turf() + return "[world.turf]" + +/proc/_bapi_helper_get_world_type_area() + return "[world.area]" + +/// Implement this to have bapi-dmm sleep occasionally +/// by returning true +/proc/_bapi_helper_tick_check() + return TICK_CHECK diff --git a/code/modules/maps/dmm_suite.dm b/code/modules/maps/dmm_suite.dm deleted file mode 100644 index a9f9825211a..00000000000 --- a/code/modules/maps/dmm_suite.dm +++ /dev/null @@ -1,73 +0,0 @@ -var/global/dmm_suite/maploader = null - -dmm_suite{ - /* - - dmm_suite version 1.0 - Released January 30th, 2011. - - defines the object /dmm_suite - - Provides the proc load_map() - - Loads the specified map file onto the specified z-level. - - provides the proc write_map() - - Returns a text string of the map in dmm format - ready for output to a file. - - provides the proc save_map() - - Returns a .dmm file if map is saved - - Returns FALSE if map fails to save - - The dmm_suite provides saving and loading of map files in BYOND's native DMM map - format. It approximates the map saving and loading processes of the Dream Maker - and Dream Seeker programs so as to allow editing, saving, and loading of maps at - runtime. - - ------------------------ - - To save a map at runtime, create an instance of /dmm_suite, and then call - write_map(), which accepts three arguments: - - A turf representing one corner of a three dimensional grid (Required). - - Another turf representing the other corner of the same grid (Required). - - Any, or a combination, of several bit flags (Optional, see documentation). - - The order in which the turfs are supplied does not matter, the /dmm_writer will - determine the grid containing both, in much the same way as DM's block() function. - write_map() will then return a string representing the saved map in dmm format; - this string can then be saved to a file, or used for any other purose. - - ------------------------ - - To load a map at runtime, create an instance of /dmm_suite, and then call load_map(), - which accepts two arguments: - - A .dmm file to load (Required). - - A number representing the z-level on which to start loading the map (Optional). - - The /dmm_suite will load the map file starting on the specified z-level. If no - z-level was specified, world.maxz will be increased so as to fit the map. Note - that if you wish to load a map onto a z-level that already has objects on it, - you will have to handle the removal of those objects. Otherwise the new map will - simply load the new objects on top of the old ones. - - Also note that all type paths specified in the .dmm file must exist in the world's - code, and that the /dmm_reader trusts that files to be loaded are in fact valid - .dmm files. Errors in the .dmm format will cause runtime errors. - - */ - - verb/load_map(var/dmm_file as file, var/z_offset as num) - // dmm_file: A .dmm file to load (Required). - // z_offset: A number representing the z-level on which to start loading the map (Optional). - - verb/write_map(var/turf/t1 as turf, var/turf/t2 as turf, var/flags as num){ - // t1: A turf representing one corner of a three dimensional grid (Required). - // t2: Another turf representing the other corner of the same grid (Required). - // flags: Any, or a combination, of several bit flags (Optional, see documentation). - } - - // save_map is included as a legacy proc. Use write_map instead. - verb/save_map(var/turf/t1 as turf, var/turf/t2 as turf, var/map_name as text, var/flags as num){ - // t1: A turf representing one corner of a three dimensional grid (Required). - // t2: Another turf representing the other corner of the same grid (Required). - // map_name: A valid name for the map to be saved, such as "castle" (Required). - // flags: Any, or a combination, of several bit flags (Optional, see documentation). - } - } \ No newline at end of file diff --git a/code/modules/maps/fromdmp.dm b/code/modules/maps/fromdmp.dm deleted file mode 100644 index 4c5b62a310f..00000000000 --- a/code/modules/maps/fromdmp.dm +++ /dev/null @@ -1,237 +0,0 @@ -/* - DMP to swapmap converter - version 1.0 - - by Lummox JR - */ - -/mob/verb/Convert(filename as file) - dmp2swapmap(filename) - -/proc/d2sm_prepmap(filename) - var/txt = file2text(filename) - if(!txt) return - var/i,j - i=findText(txt,ascii2text(13)) // eliminate carriage returns - while(i) - txt=copytext(txt,1,i)+copytext(txt,i+1) - i=findText(txt,ascii2text(13),i) - i=findText(txt,"\\\n") - while(i) - for(j=i+2,j<=length(txt),++j) if(text2ascii(txt,j)>32) break - txt=copytext(txt,1,i)+copytext(txt,j) - i=findText(txt,"\\\n",i) - return txt - -/proc/dmp2swapmap(filename) - //var/txt = file2text(filename) - //if(!txt) return - var/txt = d2sm_prepmap(filename) - var/mapname="[filename]" - var/i,j,k - i=findtext(mapname,".dmp") - while(i && i+432) break - txt=copytext(txt,1,i)+copytext(txt,j) - i=findText(txt,"\\\n",i) */ - var/list/codes=new - var/codelen=1 - var/list/areas - var/mode=34 - var/z=0 - var/X=0,Y=0,Z=0 - while(txt) - if(text2ascii(txt)==34) - if(mode!=34) - to_world("Corrupt map file [filename]: Unexpected code found after z-level [z]") - return - // standard line: - // "a" = (/obj, /obj, /turf, /area) - i=findtext(txt,"\"",2) - var/code=copytext(txt,2,i) - codelen=length(code) - i=findtext(txt,"(",i) - if(!i) - to_world("Corrupt map file [filename]: No type list follows \"[code]\"") - return - k=findtext(txt,"\n",++i) - j=(k || length(txt+1)) - while(--j>=i && text2ascii(txt,j)!=41) - if(j2) codetrans+=d2sm_Contents(L,L.len-2,"\t\t\t\t") - codes[code]=copytext(codetrans,1,length(codetrans)) - else if(text2ascii(txt)==40) - mode=40 - // standard line (top-down, left-right symbol order): - // (1,1,1) = {" - // abcde - // bcdef - // "} - i=d2sm_MatchBrace(txt,1,40) - if(!i) - to_world("Corrupt map file [filename]: No matching ) for coordinates: [copytext(txt,1,findtext(txt,"\n"))]") - return - var/list/coords=d2sm_ParseCommaList(copytext(txt,2,i)) - if(istext(coords) || coords.len!=3) - to_world("Corrupt map file [filename]: [istext(coords)?(coords):"[copytext(txt,1,i+1)] is not a valid (x,y,z) coordinate"]") - return - j=findtext(txt,"{",i+1) - if(!j) - to_world("Corrupt map file [filename]: No braces {} following [copytext(txt,1,i+1)]") - return - k=d2sm_MatchBrace(txt,j,123) - if(!k) - to_world("Corrupt map file [filename]: No closing brace } following [copytext(txt,1,i+1)]") - return - var/mtxt=copytext(txt,j+1,k) - if(findText(mtxt,"\"\n")!=1 || !findText(mtxt,"\n\"",length(mtxt)-1)) - to_world(findText(mtxt,"\"\n")) - to_world(findText(mtxt,"\n\"",length(mtxt)-1)) - to_world("Corrupt map file [filename]: No quotes in braces following [copytext(txt,1,i+1)]") - return - mtxt=copytext(mtxt,2,length(mtxt)) - var/_x=0,_y=0 - for(i=1,,++_y) - j=findText(mtxt,"\n",i+1) - if(!j) break - _x=max(_x,(j-i-1)/codelen) - i=j - X=max(X,_x) - Y=max(Y,_y) - z=text2num(coords[3]) - Z=max(Z,z) - txt=copytext(txt,k+1) - else - i=findtext(txt,"\n") - txt=i?copytext(txt,i+1):null - to_world("Map size: [X],[Y],[Z]") - //for(var/code in codes) - // to_world("Code \"[code]\":\n[codes[code]]") - fdel("map_[mapname].txt") - var/F = file("map_[mapname].txt") - to_chat(F, ". = object(\".0\")\n.0\n\ttype = /swapmap\n\tid = \"[mapname]\"\n\tz = [Z]\n\ty = [Y]\n\tx = [X]") - if(areas) - txt="" - for(i=0,i0,--y) // map is top-down - ++i - to_chat(F, "\t\t[y]") - for(var/x in 1 to _x) - to_chat(F, "\t\t\t[x]") - j=i+codelen - to_chat(F, codes[copytext(mtxt,i,j)]) - i=j - txt=copytext(txt,k+1) - /* for(z in 1 to Z) - to_chat(F, "\t[z]") - for(var/y in 1 to Y) - to_chat(F, "\t\t[y]") - for(var/x in 1 to X) - to_chat(F, "\t\t\t[x]") - to_chat(F, codes[pick(codes)]) */ - -/proc/d2sm_ParseCommaList(txt) - var/list/L=new - var/i,ch - for(i=1,i<=length(txt),++i) - if(text2ascii(txt,i)>32) break - for(,i<=length(txt),++i) - ch=text2ascii(txt,i) - if(ch==44) - L+=copytext(txt,1,i) - for(++i,i<=length(txt),++i) if(text2ascii(txt,i)>32) break - txt=copytext(txt,i) - i=0;continue - if(ch==40 || ch==91 || ch==123) - i=d2sm_MatchBrace(txt,i,ch) - if(!i) return "No matching brace found for [ascii2text(ch)]" - if(i>1) L+=copytext(txt,1,i) - return L - -/proc/d2sm_MatchBrace(txt, i, which) - if(which==40) ++which - else which+=2 - var/j,ch - for(j=i+1,j<=length(txt),++j) - ch=text2ascii(txt,j) - if(ch==which) return j - if(ch==40 || ch==91 || ch==123) - j=d2sm_MatchBrace(txt,j,ch) - if(!j) return 0 - -/proc/d2sm_ConvertType(tt,tabs="") - var/i=findText(tt,"{") - if(!i) return "[tabs]type = [tt]\n" - .="[tabs]type = [copytext(tt,1,i)]\n" - var/list/L=d2sm_ParseCommaList(copytext(tt,i+1,d2sm_MatchBrace(tt,i,123))) - if(istext(L)) return - for(var/pair in L) - .="[.][tabs][pair]\n" - -/proc/d2sm_Contents(list/conts,n,tabs="") - .="[tabs]contents = list(" - var/i - for(i=0,iz_depth) - break - - ycrd-- - - sleep(-1) - - //reached End Of File - if(findtext(tfile,quote+"}",zpos,0)+2==tfile_len) - break - sleep(-1) - -/** - * Fill a given tile with its area/turf/objects/mobs - * Variable model is one full map line (e.g /turf/unsimulated/wall{icon_state = "rock"},/area/mine/explored) - * - * WORKING : - * - * 1) Read the model string, member by member (delimiter is ',') - * - * 2) Get the path of the atom and store it into a list - * - * 3) a) Check if the member has variables (text within '{' and '}') - * - * 3) b) Construct an associative list with found variables, if any (the atom index in members is the same as its variables in members_attributes) - * - * 4) Instanciates the atom with its variables - * - */ -/dmm_suite/proc/parse_grid(var/model as text,var/xcrd as num,var/ycrd as num,var/zcrd as num) - /*Method parse_grid() - - Accepts a text string containing a comma separated list of type paths of the - same construction as those contained in a .dmm file, and instantiates them. - */ - - var/list/members = list()//will contain all members (paths) in model (in our example : /turf/unsimulated/wall and /area/mine/explored) - var/list/members_attributes = list()//will contain lists filled with corresponding variables, if any (in our example : list(icon_state = "rock") and list()) - - - ///////////////////////////////////////////////////////// - //Constructing members and corresponding variables lists - //////////////////////////////////////////////////////// - - var/index=1 - var/old_position = 1 - var/dpos - - do - //finding next member (e.g /turf/unsimulated/wall{icon_state = "rock"} or /area/mine/explored) - dpos= find_next_delimiter_position(model,old_position,",","{","}")//find next delimiter (comma here) that's not within {...} - - var/full_def = copytext(model,old_position,dpos)//full definition, e.g : /obj/foo/bar{variables=derp} - var/atom_def = text2path(copytext(full_def,1,findtext(full_def,"{")))//path definition, e.g /obj/foo/bar - members.Add(atom_def) - old_position = dpos + 1 - - //transform the variables in text format into a list (e.g {var1="derp"; var2; var3=7} => list(var1="derp", var2, var3=7)) - var/list/fields = list() - - var/variables_start = findtext(full_def,"{") - if(variables_start)//if there's any variable - full_def = copytext(full_def,variables_start+1,length(full_def))//removing the last '}' - fields = text2list(full_def,";") - - //then fill the members_attributes list with the corresponding variables - members_attributes.len++ - members_attributes[index++] = fields - - sleep(-1) - while(dpos != 0) - - - //////////////// - //Instanciation - //////////////// - - //The next part of the code assumes there's ALWAYS an /area AND a /turf on a given tile - - //in case of multiples turfs on one tile, - //will contains the images of all underlying turfs, to simulate the DMM multiple tiles piling - var/list/turfs_underlays = list() - - //first instance the /area and remove it from the members list - index = members.len - var/atom/instance - _preloader = new(members_attributes[index])//preloader for assigning set variables on atom creation - - instance = locate(members[index]) - instance.contents.Add(locate(xcrd,ycrd,zcrd)) - - if(_preloader && instance) - _preloader.load(instance) - - members.Remove(members[index]) - - //then instance the /turf and, if multiple tiles are presents, simulates the DMM underlays piling effect - - var/first_turf_index = 1 - while(!ispath(members[first_turf_index],/turf)) //find first /turf object in members - first_turf_index++ - - //instanciate the first /turf - var/turf/T = instance_atom(members[first_turf_index],members_attributes[first_turf_index],xcrd,ycrd,zcrd) - - //if others /turf are presents, simulates the underlays piling effect - index = first_turf_index + 1 - while(index <= members.len) - turfs_underlays.Insert(1,image(T.icon,null,T.icon_state,T.layer,T.dir))//add the current turf image to the underlays list - var/turf/UT = instance_atom(members[index],members_attributes[index],xcrd,ycrd,zcrd)//instance new turf - add_underlying_turf(UT,T,turfs_underlays)//simulates the DMM piling effect - T = UT - index++ - - //finally instance all remainings objects/mobs - for(index=1,index < first_turf_index,index++) - instance_atom(members[index],members_attributes[index],xcrd,ycrd,zcrd) - -//////////////// -//Helpers procs -//////////////// - -//Instance an atom at (x,y,z) and gives it the variables in attributes -/dmm_suite/proc/instance_atom(var/path,var/list/attributes, var/x, var/y, var/z) - var/atom/instance - _preloader = new(attributes, path) - - instance = new path (locate(x,y,z))//first preloader pass - - if(_preloader && instance)//second preloader pass, for those atoms that don't ..() in New() - _preloader.load(instance) - - return instance - -//text trimming (both directions) helper proc -//optionally removes quotes before and after the text (for variable name) -/dmm_suite/proc/trim_text(var/what as text,var/trim_quotes=0) - while(length(what) && (findtext(what," ",1,2))) - what=copytext(what,2,0) - while(length(what) && (findtext(what," ",length(what),0))) - what=copytext(what,1,length(what)) - if(trim_quotes) - while(length(what) && (findtext(what,quote,1,2))) - what=copytext(what,2,0) - while(length(what) && (findtext(what,quote,length(what),0))) - what=copytext(what,1,length(what)) - return what - -//find the position of the next delimiter,skipping whatever is comprised between opening_escape and closing_escape -//returns 0 if reached the last delimiter -/dmm_suite/proc/find_next_delimiter_position(var/text as text,var/initial_position as num, var/delimiter=",",var/opening_escape=quote,var/closing_escape=quote) - var/position = initial_position - var/next_delimiter = findtext(text,delimiter,position,0) - var/next_opening = findtext(text,opening_escape,position,0) - - while((next_opening != 0) && (next_opening < next_delimiter)) - position = findtext(text,closing_escape,next_opening + 1,0)+1 - next_delimiter = findtext(text,delimiter,position,0) - next_opening = findtext(text,opening_escape,position,0) - - return next_delimiter - - -//build a list from variables in text form (e.g {var1="derp"; var2; var3=7} => list(var1="derp", var2, var3=7)) -//return the filled list -/dmm_suite/proc/text2list(var/text as text,var/delimiter=",") - - var/list/to_return = list() - - var/position - var/old_position = 1 - - do - //find next delimiter that is not within "..." - position = find_next_delimiter_position(text,old_position,delimiter) - - //check if this is a simple variable (as in list(var1, var2)) or an associative one (as in list(var1="foo",var2=7)) - var/equal_position = findtext(text,"=",old_position, position) - - var/trim_left = trim_text(copytext(text,old_position,(equal_position ? equal_position : position)),1)//the name of the variable, must trim quotes to build a BYOND compliant associatives list - old_position = position + 1 - - if(equal_position)//associative var, so do the association - var/trim_right = trim_text(copytext(text,equal_position+1,position))//the content of the variable - - //Check for string - if(findtext(trim_right,quote,1,2)) - trim_right = copytext(trim_right,2,findtext(trim_right,quote,3,0)) - - //Check for number - else if(isnum(text2num(trim_right))) - trim_right = text2num(trim_right) - - //Check for null - else if(trim_right == "null") - trim_right = null - - //Check for list - else if(copytext(trim_right,1,5) == "list") - trim_right = text2list(copytext(trim_right,6,length(trim_right))) - - //Check for file - else if(copytext(trim_right,1,2) == "'") - trim_right = file(copytext(trim_right,2,length(trim_right))) - - to_return[trim_left] = trim_right - - else//simple var - to_return[trim_left] = null - - while(position != 0) - - return to_return - -//simulates the DM multiple turfs on one tile underlaying -/dmm_suite/proc/add_underlying_turf(var/turf/placed,var/turf/underturf, var/list/turfs_underlays) - if(underturf.density) - placed.density = TRUE - if(underturf.opacity) - placed.opacity = 1 - placed.underlays += turfs_underlays - -//atom creation method that preloads variables at creation -/atom/New() - if(_preloader && (src.type == _preloader.target_path))//in case the instanciated atom is creating other atoms in New() - _preloader.load(src) - - . = ..() - -////////////////// -//Preloader datum -////////////////// - -/dmm_suite/preloader - parent_type = /datum - var/list/attributes - var/target_path - -/dmm_suite/preloader/New(var/list/the_attributes, var/path) - .=..() - if(!the_attributes.len) - Del() - return - attributes = the_attributes - target_path = path - -/dmm_suite/preloader/proc/load(atom/what) - for(var/attribute in attributes) - what.vars[attribute] = attributes[attribute] - Del() \ No newline at end of file diff --git a/code/modules/maps/swapmaps.dm b/code/modules/maps/swapmaps.dm deleted file mode 100644 index 629ea0042c4..00000000000 --- a/code/modules/maps/swapmaps.dm +++ /dev/null @@ -1,678 +0,0 @@ -//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32 - -/* - SwapMaps library by Lummox JR - developed for digitalBYOND - http://www.digitalbyond.org - - Version 2.1 - - The purpose of this library is to make it easy for authors to swap maps - in and out of their game using savefiles. Swapped-out maps can be - transferred between worlds for an MMORPG, sent to the client, etc. - This is facilitated by the use of a special datum and a global list. - - Uses of swapmaps: - - - Temporary battle arenas - - House interiors - - Individual custom player houses - - Virtually unlimited terrain - - Sharing maps between servers running different instances of the same - game - - Loading and saving pieces of maps for reusable room templates - */ - -/* - User Interface: - - VARS: - - swapmaps_iconcache - An associative list of icon files with names, like - 'player.dmi' = "player" - swapmaps_mode - This must be set at runtime, like in world/New(). - - SWAPMAPS_SAV 0 (default) - Uses .sav files for raw /savefile output. - SWAPMAPS_TEXT 1 - Uses .txt files via ExportText() and ImportText(). These maps - are easily editable and appear to take up less space in the - current version of BYOND. - - PROCS: - - SwapMaps_Find(id) - Find a map by its id - SwapMaps_Load(id) - Load a map by its id - SwapMaps_Save(id) - Save a map by its id (calls swapmap.Save()) - SwapMaps_Unload(id) - Save and unload a map by its id (calls swapmap.Unload()) - SwapMaps_Save_All() - Save all maps - SwapMaps_DeleteFile(id) - Delete a map file - SwapMaps_CreateFromTemplate(id) - Create a new map by loading another map to use as a template. - This map has id==src and will not be saved. To make it savable, - change id with swapmap.SetID(newid). - SwapMaps_LoadChunk(id,turf/locorner) - Load a swapmap as a "chunk", at a specific place. A new datum is - created but it's not added to the list of maps to save or unload. - The new datum can be safely deleted without affecting the turfs - it loaded. The purpose of this is to load a map file onto part of - another swapmap or an existing part of the world. - locorner is the corner turf with the lowest x,y,z values. - SwapMaps_SaveChunk(id,turf/corner1,turf/corner2) - Save a piece of the world as a "chunk". A new datum is created - for the chunk, but it can be deleted without destroying any turfs. - The chunk file can be reloaded as a swapmap all its own, or loaded - via SwapMaps_LoadChunk() to become part of another map. - SwapMaps_GetSize(id) - Return a list corresponding to the x,y,z sizes of a map file, - without loading the map. - Returns null if the map is not found. - SwapMaps_AddIconToCache(name,icon) - Cache an icon file by name for space-saving storage - - swapmap.New(id,x,y,z) - Create a new map; specify id, width (x), height (y), and - depth (z) - Default size is world.maxx,world.maxy,1 - swapmap.New(id,turf1,turf2) - Create a new map; specify id and 2 corners - This becomes a /swapmap for one of the compiled-in maps, for - easy saving. - swapmap.New() - Create a new map datum, but does not allocate space or assign an - ID (used for loading). - swapmap.Del() - Deletes a map but does not save - swapmap.Save() - Saves to map_[id].sav - Maps with id==src are not saved. - swapmap.Unload() - Saves the map and then deletes it - Maps with id==src are not saved. - swapmap.SetID(id) - Change the map's id and make changes to the lookup list - swapmap.AllTurfs(z) - Returns a block of turfs encompassing the entire map, or on just - one z-level - z is in world coordinates; it is optional - swapmap.Contains(turf/T) - Returns nonzero if T is inside the map's boundaries. - Also works for objs and mobs, but the proc is not area-safe. - swapmap.InUse() - Returns nonzero if a mob with a key is within the map's - boundaries. - swapmap.LoCorner(z=z1) - Returns locate(x1,y1,z), where z=z1 if none is specified. - swapmap.HiCorner(z=z2) - Returns locate(x2,y2,z), where z=z2 if none is specified. - swapmap.BuildFilledRectangle(turf/corner1,turf/corner2,item) - Builds a filled rectangle of item from one corner turf to the - other, on multiple z-levels if necessary. The corners may be - specified in any order. - item is a type path like /turf/wall or /obj/barrel{full=1}. - swapmap.BuildRectangle(turf/corner1,turf/corner2,item) - Builds an unfilled rectangle of item from one corner turf to - the other, on multiple z-levels if necessary. - swapmap.BuildInTurfs(list/turfs,item) - Builds item on all of the turfs listed. The list need not - contain only turfs, or even only atoms. - */ - -swapmap - var/id // a string identifying this map uniquely - var/x1 // minimum x,y,z coords - var/y1 - var/z1 - var/x2 // maximum x,y,z coords (also used as width,height,depth until positioned) - var/y2 - var/z2 - var/tmp/locked // don't move anyone to this map; it's saving or loading - var/tmp/mode // save as text-mode - var/ischunk // tells the load routine to load to the specified location - - New(_id,x,y,z) - if(isnull(_id)) return - id=_id - mode=swapmaps_mode - if(isturf(x) && isturf(y)) - /* - Special format: Defines a map as an existing set of turfs; - this is useful for saving a compiled map in swapmap format. - Because this is a compiled-in map, its turfs are not deleted - when the datum is deleted. - */ - x1=min(x:x,y:x);x2=max(x:x,y:x) - y1=min(x:y,y:y);y2=max(x:y,y:y) - z1=min(x:z,y:z);z2=max(x:z,y:z) - InitializeSwapMaps() - if(z2>swapmaps_compiled_maxz ||\ - y2>swapmaps_compiled_maxy ||\ - x2>swapmaps_compiled_maxx) - qdel(src) - return - x2=x?(x):world.maxx - y2=y?(y):world.maxy - z2=z?(z):1 - AllocateSwapMap() - - Del() - // a temporary datum for a chunk can be deleted outright - // for others, some cleanup is necessary - if(!ischunk) - swapmaps_loaded-=src - swapmaps_byname-=id - if(z2>swapmaps_compiled_maxz ||\ - y2>swapmaps_compiled_maxy ||\ - x2>swapmaps_compiled_maxx) - var/list/areas=new - for(var/atom/A in block(locate(x1,y1,z1),locate(x2,y2,z2))) - for(var/obj/O in A) qdel(O) - for(var/mob/M in A) - if(!M.key) qdel(M) - else M.loc=null - areas[A.loc]=null - qdel(A) - // delete areas that belong only to this map - for(var/area/a in areas) - if(a && !a.contents.len) qdel(a) - if(x2>=world.maxx || y2>=world.maxy || z2>=world.maxz) CutXYZ() - qdel(areas) - ..() - - /* - Savefile format: - map - id - x // size, not coords - y - z - areas // list of areas, not including default - [each z; 1 to depth] - [each y; 1 to height] - [each x; 1 to width] - type // of turf - AREA // if non-default; saved as a number (index into areas list) - vars // all other changed vars - */ - Write(savefile/S) - var/x - var/y - var/z - var/n - var/list/areas - var/area/defarea=locate(world.area) - if(!defarea) defarea=new world.area - areas=list() - for(var/turf/T in block(locate(x1,y1,z1),locate(x2,y2,z2))) - areas[T.loc]=null - for(n in areas) // quickly eliminate associations for smaller storage - areas-=n - areas+=n - areas-=defarea - InitializeSwapMaps() - locked=1 - S["id"] << id - S["z"] << z2-z1+1 - S["y"] << y2-y1+1 - S["x"] << x2-x1+1 - S["areas"] << areas - for(n in 1 to areas.len) areas[areas[n]]=n - var/oldcd=S.cd - for(z=z1,z<=z2,++z) - S.cd="[z-z1+1]" - for(y=y1,y<=y2,++y) - S.cd="[y-y1+1]" - for(x=x1,x<=x2,++x) - S.cd="[x-x1+1]" - var/turf/T=locate(x,y,z) - S["type"] << T.type - if(T.loc!=defarea) S["AREA"] << areas[T.loc] - T.Write(S) - S.cd=".." - S.cd=".." - sleep() - S.cd=oldcd - locked=0 - qdel(areas) - - Read(savefile/S,_id,turf/locorner) - var/x - var/y - var/z - var/n - var/list/areas - var/area/defarea=locate(world.area) - id=_id - if(locorner) - ischunk=1 - x1=locorner.x - y1=locorner.y - z1=locorner.z - if(!defarea) defarea=new world.area - if(!_id) - S["id"] >> id - else - var/dummy - S["id"] >> dummy - S["z"] >> z2 // these are depth, - S["y"] >> y2 // height, - S["x"] >> x2 // width - S["areas"] >> areas - locked=1 - AllocateSwapMap() // adjust x1,y1,z1 - x2,y2,z2 coords - var/oldcd=S.cd - for(z=z1,z<=z2,++z) - S.cd="[z-z1+1]" - for(y=y1,y<=y2,++y) - S.cd="[y-y1+1]" - for(x=x1,x<=x2,++x) - S.cd="[x-x1+1]" - var/tp - S["type"]>>tp - var/turf/T=locate(x,y,z) - T.loc.contents-=T - T=new tp(locate(x,y,z)) - if("AREA" in S.dir) - S["AREA"]>>n - var/area/A=areas[n] - A.contents+=T - else defarea.contents+=T - // clear the turf - for(var/obj/O in T) qdel(O) - for(var/mob/M in T) - if(!M.key) qdel(M) - else M.loc=null - // finish the read - T.Read(S) - S.cd=".." - S.cd=".." - sleep() - S.cd=oldcd - locked=0 - qdel(areas) - - /* - Find an empty block on the world map in which to load this map. - If no space is found, increase world.maxz as necessary. (If the - map is greater in x,y size than the current world, expand - world.maxx and world.maxy too.) - - Ignore certain operations if loading a map as a chunk. Use the - x1,y1,z1 position for it, and *don't* count it as a loaded map. - */ - proc/AllocateSwapMap() - InitializeSwapMaps() - world.maxx=max(x2,world.maxx) // stretch x/y if necessary - world.maxy=max(y2,world.maxy) - if(!ischunk) - if(world.maxz<=swapmaps_compiled_maxz) - z1=swapmaps_compiled_maxz+1 - x1=1;y1=1 - else - var/list/l=ConsiderRegion(1,1,world.maxx,world.maxy,swapmaps_compiled_maxz+1) - x1=l[1] - y1=l[2] - z1=l[3] - qdel(l) - x2+=x1-1 - y2+=y1-1 - z2+=z1-1 - world.maxz=max(z2,world.maxz) // stretch z if necessary - if(!ischunk) - swapmaps_loaded[src]=null - swapmaps_byname[id]=src - - proc/ConsiderRegion(X1,Y1,X2,Y2,Z1,Z2) - while(1) - var/nextz=0 - var/swapmap/M - for(M in swapmaps_loaded) - if(M.z2Z2) || M.z1>=Z1+z2 ||\ - M.x1>X2 || M.x2=X1+x2 ||\ - M.y1>Y2 || M.y2=Y1+y2) continue - // look for sub-regions with a defined ceiling - var/nz2=Z2?(Z2):Z1+z2-1+M.z2-M.z1 - if(M.x1>=X1+x2) - .=ConsiderRegion(X1,Y1,M.x1-1,Y2,Z1,nz2) - if(.) return - else if(M.x2<=X2-x2) - .=ConsiderRegion(M.x2+1,Y1,X2,Y2,Z1,nz2) - if(.) return - if(M.y1>=Y1+y2) - .=ConsiderRegion(X1,Y1,X2,M.y1-1,Z1,nz2) - if(.) return - else if(M.y2<=Y2-y2) - .=ConsiderRegion(X1,M.y2+1,X2,Y2,Z1,nz2) - if(.) return - nextz=nextz?min(nextz,M.z2+1):(M.z2+1) - if(!M) - /* If nextz is not 0, then at some point there was an overlap that - could not be resolved by using an area to the side */ - if(nextz) Z1=nextz - if(!nextz || (Z2 && Z2-Z1+1=z2)?list(X1,Y1,Z1):null - X1=1;X2=world.maxx - Y1=1;Y2=world.maxy - - proc/CutXYZ() - var/mx=swapmaps_compiled_maxx - var/my=swapmaps_compiled_maxy - var/mz=swapmaps_compiled_maxz - for(var/swapmap/M in swapmaps_loaded) // may not include src - mx=max(mx,M.x2) - my=max(my,M.y2) - mz=max(mz,M.z2) - world.maxx=mx - world.maxy=my - world.maxz=mz - - // save and delete - proc/Unload() - Save() - qdel(src) - - proc/Save() - if(id==src) return 0 - var/savefile/S=mode?(new):new("map_[id].sav") - S << src - while(locked) sleep(1) - if(mode) - fdel("map_[id].txt") - S.ExportText("/","map_[id].txt") - return 1 - - // this will not delete existing savefiles for this map - proc/SetID(newid) - swapmaps_byname-=id - id=newid - swapmaps_byname[id]=src - - proc/AllTurfs(z) - if(isnum(z) && (zz2)) return null - return block(LoCorner(z),HiCorner(z)) - - // this could be safely called for an obj or mob as well, but - // probably not an area - proc/Contains(turf/T) - return (T && T.x>=x1 && T.x<=x2\ - && T.y>=y1 && T.y<=y2\ - && T.z>=z1 && T.z<=z2) - - proc/InUse() - for(var/turf/T in AllTurfs()) - for(var/mob/M in T) if(M.key) return 1 - - proc/LoCorner(z=z1) - return locate(x1,y1,z) - proc/HiCorner(z=z2) - return locate(x2,y2,z) - - /* - Build procs: Take 2 turfs as corners, plus an item type. - An item may be like: - - turf/wall - obj/fence{icon_state="iron"} - */ - proc/BuildFilledRectangle(turf/T1,turf/T2,item) - if(!Contains(T1) || !Contains(T2)) return - var/turf/T=T1 - // pick new corners in a block()-friendly form - T1=locate(min(T1.x,T2.x),min(T1.y,T2.y),min(T1.z,T2.z)) - T2=locate(max(T.x,T2.x),max(T.y,T2.y),max(T.z,T2.z)) - for(T in block(T1,T2)) new item(T) - - proc/BuildRectangle(turf/T1,turf/T2,item) - if(!Contains(T1) || !Contains(T2)) return - var/turf/T=T1 - // pick new corners in a block()-friendly form - T1=locate(min(T1.x,T2.x),min(T1.y,T2.y),min(T1.z,T2.z)) - T2=locate(max(T.x,T2.x),max(T.y,T2.y),max(T.z,T2.z)) - if(T2.x-T1.x<2 || T2.y-T1.y<2) BuildFilledRectangle(T1,T2,item) - else - //for(T in block(T1,T2)-block(locate(T1.x+1,T1.y+1,T1.z),locate(T2.x-1,T2.y-1,T2.z))) - for(T in block(T1,locate(T2.x,T1.y,T2.z))) new item(T) - for(T in block(locate(T1.x,T2.y,T1.z),T2)) new item(T) - for(T in block(locate(T1.x,T1.y+1,T1.z),locate(T1.x,T2.y-1,T2.z))) new item(T) - for(T in block(locate(T2.x,T1.y+1,T1.z),locate(T2.x,T2.y-1,T2.z))) new item(T) - - /* - Supplementary build proc: Takes a list of turfs, plus an item - type. Actually the list doesn't have to be just turfs. - */ - proc/BuildInTurfs(list/turfs,item) - for(var/T in turfs) new item(T) - -atom - Write(savefile/S) - for(var/V in vars-"x"-"y"-"z"-"contents"-"icon"-"overlays"-"underlays") - if(issaved(vars[V])) - if(vars[V]!=initial(vars[V])) S[V]<>ic - if(istext(ic)) icon=swapmaps_iconcache[ic] - if(l && contents!=l) - contents+=l - qdel(l) - - -// set this up (at runtime) as follows: -// list(\ -// 'player.dmi'="player",\ -// 'monster.dmi'="monster",\ -// ... -// 'item.dmi'="item") -var/list/swapmaps_iconcache - -// preferred mode; sav or text -var/const/SWAPMAPS_SAV=0 -var/const/SWAPMAPS_TEXT=1 -var/swapmaps_mode=SWAPMAPS_SAV - -var/swapmaps_compiled_maxx -var/swapmaps_compiled_maxy -var/swapmaps_compiled_maxz -var/swapmaps_initialized -var/swapmaps_loaded -var/swapmaps_byname - -/proc/InitializeSwapMaps() - if(swapmaps_initialized) return - swapmaps_initialized=1 - swapmaps_compiled_maxx=world.maxx - swapmaps_compiled_maxy=world.maxy - swapmaps_compiled_maxz=world.maxz - swapmaps_loaded=list() - swapmaps_byname=list() - if(swapmaps_iconcache) - for(var/V in swapmaps_iconcache) - // reverse-associate everything - // so you can look up an icon file by name or vice-versa - swapmaps_iconcache[swapmaps_iconcache[V]]=V - -/proc/SwapMaps_AddIconToCache(name,icon) - if(!swapmaps_iconcache) swapmaps_iconcache=list() - swapmaps_iconcache[name]=icon - swapmaps_iconcache[icon]=name - -/proc/SwapMaps_Find(id) - InitializeSwapMaps() - return swapmaps_byname[id] - -/proc/SwapMaps_Load(id) - InitializeSwapMaps() - var/swapmap/M=swapmaps_byname[id] - if(!M) - var/savefile/S - var/text=0 - if(swapmaps_mode==SWAPMAPS_TEXT && fexists("map_[id].txt")) - text=1 - else if(fexists("map_[id].sav")) - S=new("map_[id].sav") - else if(swapmaps_mode!=SWAPMAPS_TEXT && fexists("map_[id].txt")) - text=1 - else return // no file found - if(text) - S=new - S.ImportText("/",file("map_[id].txt")) - S >> M - while(M.locked) sleep(1) - M.mode=text - return M - -/proc/SwapMaps_Save(id) - InitializeSwapMaps() - var/swapmap/M=swapmaps_byname[id] - if(M) M.Save() - return M - -/proc/SwapMaps_Save_All() - InitializeSwapMaps() - for(var/swapmap/M in swapmaps_loaded) - if(M) M.Save() - -/proc/SwapMaps_Unload(id) - InitializeSwapMaps() - var/swapmap/M=swapmaps_byname[id] - if(!M) return // return silently from an error - M.Unload() - return 1 - -/proc/SwapMaps_DeleteFile(id) - fdel("map_[id].sav") - fdel("map_[id].txt") - -/proc/SwapMaps_CreateFromTemplate(template_id) - var/swapmap/M=new - var/savefile/S - var/text=0 - if(swapmaps_mode==SWAPMAPS_TEXT && fexists("map_[template_id].txt")) - text=1 - else if(fexists("map_[template_id].sav")) - S=new("map_[template_id].sav") - else if(swapmaps_mode!=SWAPMAPS_TEXT && fexists("map_[template_id].txt")) - text=1 - else - to_world_log("SwapMaps error in SwapMaps_CreateFromTemplate(): map_[template_id] file not found.") - return - if(text) - S=new - S.ImportText("/",file("map_[template_id].txt")) - /* - This hacky workaround is needed because S >> M will create a brand new - M to fill with data. There's no way to control the Read() process - properly otherwise. The //.0 path should always match the map, however. - */ - S.cd="//.0" - M.Read(S,M) - M.mode=text - while(M.locked) sleep(1) - return M - -/proc/SwapMaps_LoadChunk(chunk_id,turf/locorner) - var/swapmap/M=new - var/savefile/S - var/text=0 - if(swapmaps_mode==SWAPMAPS_TEXT && fexists("map_[chunk_id].txt")) - text=1 - else if(fexists("map_[chunk_id].sav")) - S=new("map_[chunk_id].sav") - else if(swapmaps_mode!=SWAPMAPS_TEXT && fexists("map_[chunk_id].txt")) - text=1 - else - to_world_log("SwapMaps error in SwapMaps_LoadChunk(): map_[chunk_id] file not found.") - return - if(text) - S=new - S.ImportText("/",file("map_[chunk_id].txt")) - /* - This hacky workaround is needed because S >> M will create a brand new - M to fill with data. There's no way to control the Read() process - properly otherwise. The //.0 path should always match the map, however. - */ - S.cd="//.0" - M.Read(S,M,locorner) - while(M.locked) sleep(1) - qdel(M) - return 1 - -/proc/SwapMaps_SaveChunk(chunk_id,turf/corner1,turf/corner2) - if(!corner1 || !corner2) - to_world_log("SwapMaps error in SwapMaps_SaveChunk():") - if(!corner1) to_world_log(" corner1 turf is null") - if(!corner2) to_world_log(" corner2 turf is null") - return - var/swapmap/M=new - M.id=chunk_id - M.ischunk=1 // this is a chunk - M.x1=min(corner1.x,corner2.x) - M.y1=min(corner1.y,corner2.y) - M.z1=min(corner1.z,corner2.z) - M.x2=max(corner1.x,corner2.x) - M.y2=max(corner1.y,corner2.y) - M.z2=max(corner1.z,corner2.z) - M.mode=swapmaps_mode - M.Save() - while(M.locked) sleep(1) - qdel(M) - return 1 - -/proc/SwapMaps_GetSize(id) - var/savefile/S - var/text=0 - if(swapmaps_mode==SWAPMAPS_TEXT && fexists("map_[id].txt")) - text=1 - else if(fexists("map_[id].sav")) - S=new("map_[id].sav") - else if(swapmaps_mode!=SWAPMAPS_TEXT && fexists("map_[id].txt")) - text=1 - else - to_world_log("SwapMaps error in SwapMaps_GetSize(): map_[id] file not found.") - return - if(text) - S=new - S.ImportText("/",file("map_[id].txt")) - /* - The //.0 path should always be the map. There's no other way to - read this data. - */ - S.cd="//.0" - var/x - var/y - var/z - S["x"] >> x - S["y"] >> y - S["z"] >> z - return list(x,y,z) diff --git a/code/modules/maps/tg/dmm_suite.dm b/code/modules/maps/tg/dmm_suite.dm deleted file mode 100644 index d4be44f729b..00000000000 --- a/code/modules/maps/tg/dmm_suite.dm +++ /dev/null @@ -1,63 +0,0 @@ -/dmm_suite{ - /* - - dmm_suite version 1.0 - Released January 30th, 2011. - - NOTE: Map saving functionality removed - - defines the object /dmm_suite - - Provides the proc load_map() - - Loads the specified map file onto the specified z-level. - - provides the proc write_map() - - Returns a text string of the map in dmm format - ready for output to a file. - - provides the proc save_map() - - Returns a .dmm file if map is saved - - Returns FALSE if map fails to save - - The dmm_suite provides saving and loading of map files in BYOND's native DMM map - format. It approximates the map saving and loading processes of the Dream Maker - and Dream Seeker programs so as to allow editing, saving, and loading of maps at - runtime. - - ------------------------ - - To save a map at runtime, create an instance of /dmm_suite, and then call - write_map(), which accepts three arguments: - - A turf representing one corner of a three dimensional grid (Required). - - Another turf representing the other corner of the same grid (Required). - - Any, or a combination, of several bit flags (Optional, see documentation). - - The order in which the turfs are supplied does not matter, the /dmm_writer will - determine the grid containing both, in much the same way as DM's block() function. - write_map() will then return a string representing the saved map in dmm format; - this string can then be saved to a file, or used for any other purose. - - ------------------------ - - To load a map at runtime, create an instance of /dmm_suite, and then call load_map(), - which accepts two arguments: - - A .dmm file to load (Required). - - A number representing the z-level on which to start loading the map (Optional). - - The /dmm_suite will load the map file starting on the specified z-level. If no - z-level was specified, world.maxz will be increased so as to fit the map. Note - that if you wish to load a map onto a z-level that already has objects on it, - you will have to handle the removal of those objects. Otherwise the new map will - simply load the new objects on top of the old ones. - - Also note that all type paths specified in the .dmm file must exist in the world's - code, and that the /dmm_reader trusts that files to be loaded are in fact valid - .dmm files. Errors in the .dmm format will cause runtime errors. - - */ -} - -/dmm_suite/verb/load_map(var/dmm_file as file, var/x_offset as num, var/y_offset as num, var/z_offset as num, var/cropMap as num, var/measureOnly as num, no_changeturf as num){ - // dmm_file: A .dmm file to load (Required). - // z_offset: A number representing the z-level on which to start loading the map (Optional). - // cropMap: When true, the map will be cropped to fit the existing world dimensions (Optional). - // measureOnly: When true, no changes will be made to the world (Optional). - // no_changeturf: When true, turf/AfterChange won't be called on loaded turfs -} \ No newline at end of file diff --git a/code/modules/maps/tg/map_template.dm b/code/modules/maps/tg/map_template.dm index 17f43d10292..29bf89a74e5 100644 --- a/code/modules/maps/tg/map_template.dm +++ b/code/modules/maps/tg/map_template.dm @@ -7,7 +7,6 @@ var/mappath = null var/loaded = 0 // Times loaded this round var/annihilate = FALSE // If true, all (movable) atoms at the location where the map is loaded will be deleted before the map is loaded in. - var/fixed_orientation = FALSE // If true, the submap will not be rotated randomly when loaded. var/cost = null /* The map generator has a set 'budget' it spends to place down different submaps. It will pick available submaps randomly until it runs out. The cost of a submap should roughly corrispond with several factors such as size, loot, difficulty, desired scarcity, etc. @@ -24,15 +23,12 @@ if(rename) name = rename -/datum/map_template/proc/preload_size(path, orientation = 0) - var/bounds = SSmapping.maploader.load_map(file(path), 1, 1, 1, cropMap=FALSE, measureOnly=TRUE, orientation=orientation) +/datum/map_template/proc/preload_size(path) + var/datum/bapi_parsed_map/map = load_map_bapi(path, 1, 1, 1, crop_map=FALSE, measure_only=TRUE) + var/list/bounds = map.parsed_bounds if(bounds) - if(orientation & (90 | 270)) - width = bounds[MAP_MAXY] - height = bounds[MAP_MAXX] - else - width = bounds[MAP_MAXX] // Assumes all templates are rectangular, have a single Z level, and begin at 1,1,1 - height = bounds[MAP_MAXY] + width = bounds[MAP_MAXX] // Assumes all templates are rectangular, have a single Z level, and begin at 1,1,1 + height = bounds[MAP_MAXY] return bounds /datum/map_template/proc/initTemplateBounds(var/list/bounds) @@ -60,13 +56,13 @@ atmos_machines += A atoms |= areas - admin_notice("Initializing newly created atom(s) in submap.", R_DEBUG) + admin_notice(span_danger("Initializing newly created atom(s) in submap."), R_DEBUG) SSatoms.InitializeAtoms(atoms) - admin_notice("Initializing atmos pipenets and machinery in submap.", R_DEBUG) + admin_notice(span_danger("Initializing atmos pipenets and machinery in submap."), R_DEBUG) SSmachines.setup_atmos_machinery(atmos_machines) - admin_notice("Rebuilding powernets due to submap creation.", R_DEBUG) + admin_notice(span_danger("Rebuilding powernets due to submap creation."), R_DEBUG) SSmachines.setup_powernets_for_cables(cables) // Ensure all machines in loaded areas get notified of power status @@ -78,9 +74,9 @@ SSshuttles.block_init_queue = prev_shuttle_queue_state SSshuttles.process_init_queues() // We will flush the queue unless there were other blockers, in which case they will do it. - admin_notice("Submap initializations finished.", R_DEBUG) + admin_notice(span_danger("Submap initializations finished."), R_DEBUG) -/datum/map_template/proc/load_new_z(var/centered = FALSE, var/orientation = 0) +/datum/map_template/proc/load_new_z(var/centered = FALSE) var/x = 1 var/y = 1 @@ -88,7 +84,8 @@ x = round((world.maxx - width)/2) y = round((world.maxy - height)/2) - var/list/bounds = SSmapping.maploader.load_map(file(mappath), x, y, no_changeturf = TRUE, orientation=orientation) + var/datum/bapi_parsed_map/map = load_map_bapi(mappath, x, y, no_changeturf = TRUE) + var/list/bounds = map.bounds if(!bounds) return FALSE @@ -100,10 +97,10 @@ on_map_loaded(world.maxz) //VOREStation Edit return TRUE -/datum/map_template/proc/load(turf/T, centered = FALSE, orientation = 0) +/datum/map_template/proc/load(turf/T, centered = FALSE) var/old_T = T if(centered) - T = locate(T.x - round(((orientation%180) ? height : width)/2) , T.y - round(((orientation%180) ? width : height)/2) , T.z) // %180 catches East/West (90,270) rotations on true, North/South (0,180) rotations on false + T = locate(T.x - round((width)/2) , T.y - round((height)/2) , T.z) // %180 catches East/West (90,270) rotations on true, North/South (0,180) rotations on false if(!T) return if(T.x+width > world.maxx) @@ -112,9 +109,10 @@ return if(annihilate) - annihilate_bounds(old_T, centered, orientation) + annihilate_bounds(old_T, centered) - var/list/bounds = SSmapping.maploader.load_map(file(mappath), T.x, T.y, T.z, cropMap=TRUE, orientation = orientation) + var/datum/bapi_parsed_map/map = load_map_bapi(mappath, T.x, T.y, T.z, crop_map = TRUE) + var/list/bounds = map.bounds if(!bounds) return @@ -128,31 +126,31 @@ loaded++ return TRUE -/datum/map_template/proc/get_affected_turfs(turf/T, centered = FALSE, orientation = 0) +/datum/map_template/proc/get_affected_turfs(turf/T, centered = FALSE) var/turf/placement = T if(centered) - var/turf/corner = locate(placement.x - round(((orientation%180) ? height : width)/2), placement.y - round(((orientation%180) ? width : height)/2), placement.z) // %180 catches East/West (90,270) rotations on true, North/South (0,180) rotations on false + var/turf/corner = locate(placement.x - round((width)/2), placement.y - round((height)/2), placement.z) // %180 catches East/West (90,270) rotations on true, North/South (0,180) rotations on false if(corner) placement = corner - return block(placement, locate(placement.x+((orientation%180) ? height : width)-1, placement.y+((orientation%180) ? width : height)-1, placement.z)) + return block(placement, locate(placement.x+(width)-1, placement.y+(height)-1, placement.z)) -/datum/map_template/proc/annihilate_bounds(turf/origin, centered = FALSE, orientation = 0) +/datum/map_template/proc/annihilate_bounds(turf/origin, centered = FALSE) var/deleted_atoms = 0 - admin_notice("Annihilating objects in submap loading locatation.", R_DEBUG) - var/list/turfs_to_clean = get_affected_turfs(origin, centered, orientation) + admin_notice(span_danger("Annihilating objects in submap loading locatation."), R_DEBUG) + var/list/turfs_to_clean = get_affected_turfs(origin, centered) if(turfs_to_clean.len) for(var/turf/T in turfs_to_clean) for(var/atom/movable/AM in T) ++deleted_atoms qdel(AM) - admin_notice("Annihilated [deleted_atoms] objects.", R_DEBUG) + admin_notice(span_danger("Annihilated [deleted_atoms] objects."), R_DEBUG) //for your ever biggening badminnery kevinz000 //⤠- Cyberboss -/proc/load_new_z_level(var/file, var/name, var/orientation = 0) +/proc/load_new_z_level(var/file, var/name) var/datum/map_template/template = new(file, name) - template.load_new_z(orientation) + template.load_new_z() // Very similar to the /tg/ version. /proc/seed_submaps(var/list/z_levels, var/budget = 0, var/whitelist = /area/space, var/desired_map_template_type = null) @@ -231,20 +229,14 @@ while(specific_sanity > 0) specific_sanity-- - var/orientation - if(chosen_template.fixed_orientation || !config.random_submap_orientation) - orientation = 0 - else - orientation = pick(list(0, 90, 180, 270)) - - chosen_template.preload_size(chosen_template.mappath, orientation) - var/width_border = SUBMAP_MAP_EDGE_PAD + round(((orientation%180) ? chosen_template.height : chosen_template.width) / 2) // %180 catches East/West (90,270) rotations on true, North/South (0,180) rotations on false //VOREStation Edit - var/height_border = SUBMAP_MAP_EDGE_PAD + round(((orientation%180) ? chosen_template.width : chosen_template.height) / 2) //VOREStation Edit + chosen_template.preload_size(chosen_template.mappath) + var/width_border = SUBMAP_MAP_EDGE_PAD + round((chosen_template.width) / 2) + var/height_border = SUBMAP_MAP_EDGE_PAD + round((chosen_template.height) / 2) //VOREStation Edit var/z_level = pick(z_levels) var/turf/T = locate(rand(width_border, world.maxx - width_border), rand(height_border, world.maxy - height_border), z_level) var/valid = TRUE - for(var/turf/check in chosen_template.get_affected_turfs(T,TRUE,orientation)) + for(var/turf/check in chosen_template.get_affected_turfs(T,TRUE)) var/area/new_area = get_area(check) if(!(istype(new_area, whitelist))) valid = FALSE // Probably overlapping something important. @@ -267,7 +259,7 @@ specific_sanity = -1 // force end the placement loop // Do loading here. - chosen_template.load(T, centered = TRUE, orientation=orientation) // This is run before the main map's initialization routine, so that can initilize our submaps for us instead. + chosen_template.load(T, centered = TRUE) // This is run before the main map's initialization routine, so that can initilize our submaps for us instead. CHECK_TICK @@ -299,10 +291,17 @@ if(count > 1) pretty_submap_list += "[count] [submap_name]" else - pretty_submap_list += "[submap_name]" + pretty_submap_list += span_bold("[submap_name]") if(!overall_sanity) admin_notice("Submap loader gave up with [budget] left to spend.", R_DEBUG) else admin_notice("Submaps loaded.", R_DEBUG) admin_notice("Loaded: [english_list(pretty_submap_list)]", R_DEBUG) + +/area/template_noop + name = "Area Passthrough" + +/turf/template_noop + name = "Turf Passthrough" + icon_state = "template_void" diff --git a/code/modules/maps/tg/reader.dm b/code/modules/maps/tg/reader.dm deleted file mode 100644 index bb320e27ae0..00000000000 --- a/code/modules/maps/tg/reader.dm +++ /dev/null @@ -1,549 +0,0 @@ -/////////////////////////////////////////////////////////////// -//SS13 Optimized Map loader -////////////////////////////////////////////////////////////// - -//global datum that will preload variables on atoms instanciation -GLOBAL_VAR_INIT(use_preloader, FALSE) -GLOBAL_DATUM_INIT(_preloader, /dmm_suite/preloader, new) - -/dmm_suite - // /"([a-zA-Z]+)" = \(((?:.|\n)*?)\)\n(?!\t)|\((\d+),(\d+),(\d+)\) = \{"([a-zA-Z\n]*)"\}/g - var/static/regex/dmmRegex = new/regex({""(\[a-zA-Z]+)" = \\(((?:.|\n)*?)\\)\n(?!\t)|\\((\\d+),(\\d+),(\\d+)\\) = \\{"(\[a-zA-Z\n]*)"\\}"}, "g") - // /^[\s\n]+"?|"?[\s\n]+$|^"|"$/g - var/static/regex/trimQuotesRegex = new/regex({"^\[\\s\n]+"?|"?\[\\s\n]+$|^"|"$"}, "g") - // /^[\s\n]+|[\s\n]+$/ - var/static/regex/trimRegex = new/regex("^\[\\s\n]+|\[\\s\n]+$", "g") - var/static/list/modelCache = list() - var/static/space_key - #ifdef TESTING - var/static/turfsSkipped - #endif - -/** - * Construct the model map and control the loading process - * - * WORKING : - * - * 1) Makes an associative mapping of model_keys with model - * e.g aa = /turf/unsimulated/wall{icon_state = "rock"} - * 2) Read the map line by line, parsing the result (using parse_grid) - * - */ -/dmm_suite/load_map(dmm_file as file, x_offset as num, y_offset as num, z_offset as num, cropMap as num, measureOnly as num, no_changeturf as num, orientation as num) - - dmmRegex = new/regex({""(\[a-zA-Z]+)" = \\(((?:.|\n)*?)\\)\n(?!\t)|\\((\\d+),(\\d+),(\\d+)\\) = \\{"(\[a-zA-Z\n]*)"\\}"}, "g") - trimQuotesRegex = new/regex({"^\[\\s\n]+"?|"?\[\\s\n]+$|^"|"$"}, "g") - trimRegex = new/regex("^\[\\s\n]+|\[\\s\n]+$", "g") - modelCache = list() - - //How I wish for RAII - if(!measureOnly) - Master.StartLoadingMap() - space_key = null - #ifdef TESTING - turfsSkipped = 0 - #endif - . = load_map_impl(dmm_file, x_offset, y_offset, z_offset, cropMap, measureOnly, no_changeturf, orientation) - #ifdef TESTING - if(turfsSkipped) - testing("Skipped loading [turfsSkipped] default turfs") - #endif - if(!measureOnly) - Master.StopLoadingMap() - -/dmm_suite/proc/load_map_impl(dmm_file, x_offset, y_offset, z_offset, cropMap, measureOnly, no_changeturf, orientation) - var/tfile = dmm_file//the map file we're creating - if(isfile(tfile)) - tfile = file2text(tfile) - - if(!x_offset) - x_offset = 1 - if(!y_offset) - y_offset = 1 - if(!z_offset) - z_offset = world.maxz + 1 - - // If it's not a single dir, default to 0 degrees rotation (Default orientation) - if(!(orientation in list(0, 90, 180, 270))) - orientation = 0 - - var/list/bounds = list(1.#INF, 1.#INF, 1.#INF, -1.#INF, -1.#INF, -1.#INF) - var/list/grid_models = list() - var/key_len = 0 - - var/stored_index = 1 - while(dmmRegex.Find(tfile, stored_index)) - stored_index = dmmRegex.next - - // "aa" = (/type{vars=blah}) - if(dmmRegex.group[1]) // Model - var/key = dmmRegex.group[1] - if(grid_models[key]) // Duplicate model keys are ignored in DMMs - continue - if(key_len != length(key)) - if(!key_len) - key_len = length(key) - else - throw EXCEPTION("Inconsistant key length in DMM") - if(!measureOnly) - grid_models[key] = dmmRegex.group[2] - - // (1,1,1) = {"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"} - else if(dmmRegex.group[3]) // Coords - if(!key_len) - throw EXCEPTION("Coords before model definition in DMM") - - var/xcrdStart = text2num(dmmRegex.group[3]) + x_offset - 1 - //position of the currently processed square - var/xcrd - var/ycrd = text2num(dmmRegex.group[4]) + y_offset - 1 - var/zcrd = text2num(dmmRegex.group[5]) + z_offset - 1 - - if(orientation & (EAST | WEST)) //VOREStation edit we just have to pray the upstream spacebrains take into consideration before their refator is done. - xcrd = ycrd // temp variable - ycrd = xcrdStart - xcrdStart = xcrd - - var/zexpansion = zcrd > world.maxz - if(zexpansion && !measureOnly) - if(cropMap) - continue - else - while(world.maxz < zcrd) - world.increment_max_z() // create a new z_level if needed. - if(!no_changeturf) - WARNING("Z-level expansion occurred without no_changeturf set, this may cause problems") - - bounds[MAP_MINX] = min(bounds[MAP_MINX], xcrdStart) - bounds[MAP_MINZ] = min(bounds[MAP_MINZ], zcrd) - bounds[MAP_MAXZ] = max(bounds[MAP_MAXZ], zcrd) - - var/list/gridLines = splittext(dmmRegex.group[6], "\n") - - var/leadingBlanks = 0 - while(leadingBlanks < gridLines.len && gridLines[++leadingBlanks] == "") - if(leadingBlanks > 1) - gridLines.Cut(1, leadingBlanks) // Remove all leading blank lines. - - if(!gridLines.len) // Skip it if only blank lines exist. - continue - - if(gridLines.len && gridLines[gridLines.len] == "") - gridLines.Cut(gridLines.len) // Remove only one blank line at the end. - - bounds[MAP_MINY] = min(bounds[MAP_MINY], ycrd) - ycrd += gridLines.len - 1 // Start at the top and work down - - if(!cropMap && ycrd > world.maxy) - if(!measureOnly) - world.maxy = ycrd // Expand Y here. X is expanded in the loop below - bounds[MAP_MAXY] = max(bounds[MAP_MAXY], ycrd) - else - bounds[MAP_MAXY] = max(bounds[MAP_MAXY], min(ycrd, world.maxy)) - - var/maxx = xcrdStart - - // Assemble the grid of keys - var/list/list/key_list = list() - for(var/line in gridLines) - var/list/line_keys = list() - xcrd = 1 - for(var/tpos = 1 to length(line) - key_len + 1 step key_len) - if(xcrd > world.maxx) - if(cropMap) - break - else if(!measureOnly) - world.maxx = xcrd - - if(xcrd >= 1) - var/model_key = copytext(line, tpos, tpos + key_len) - line_keys[++line_keys.len] = model_key - #ifdef TESTING - ++turfsSkipped - #endif - CHECK_TICK - maxx = max(maxx, xcrd++) - key_list[++key_list.len] = line_keys - - // Rotate the list according to orientation - if(orientation != 0) - var/num_cols = key_list[1].len - var/num_rows = key_list.len - var/list/list/new_key_list = list() - // If it's rotated 180 degrees, the dimensions are the same - if(orientation == 180) - new_key_list.len = num_rows - for(var/i = 1 to new_key_list.len) - new_key_list[i] = list() - new_key_list[i].len = num_cols - // Else, the dimensions are swapped - else - new_key_list.len = num_cols - for(var/i = 1 to new_key_list.len) - new_key_list[i] = list() - new_key_list[i].len = num_rows - - num_rows++ // Buffering against the base index of 1 - num_cols++ - // Populate the new list - for(var/i = 1 to new_key_list.len) - for(var/j = 1 to new_key_list[i].len) - switch(orientation) - if(180) - new_key_list[i][j] = key_list[num_rows - i][num_cols - j] - if(270) - new_key_list[i][j] = key_list[num_rows - j][i] - if(90) - new_key_list[i][j] = key_list[j][num_cols - i] - - key_list = new_key_list - - if(measureOnly) - for(var/list/line in key_list) - maxx = max(maxx, line.len) - else - for(var/i = 1 to key_list.len) - if(ycrd <= world.maxy && ycrd >= 1) - xcrd = xcrdStart - for(var/j = 1 to key_list[1].len) - if(xcrd > world.maxx) - if(cropMap) - break - else - world.maxx = xcrd - - if(xcrd >= 1) - var/no_afterchange = no_changeturf || zexpansion - if(!no_afterchange || (key_list[i][j] != space_key)) - if(!grid_models[key_list[i][j]]) - throw EXCEPTION("Undefined model key in DMM: [dmm_file], [key_list[i][j]]") - parse_grid(grid_models[key_list[i][j]], key_list[i][j], xcrd, ycrd, zcrd, no_afterchange, orientation) - #ifdef TESTING - else - ++turfsSkipped - #endif - CHECK_TICK - maxx = max(maxx, xcrd) - ++xcrd - --ycrd - - bounds[MAP_MAXX] = max(bounds[MAP_MAXX], cropMap ? min(maxx, world.maxx) : maxx) - - CHECK_TICK - - if(bounds[1] == 1.#INF) // Shouldn't need to check every item - return null - else - // if(!measureOnly) - // if(!no_changeturf) - // for(var/t in block(locate(bounds[MAP_MINX], bounds[MAP_MINY], bounds[MAP_MINZ]), locate(bounds[MAP_MAXX], bounds[MAP_MAXY], bounds[MAP_MAXZ]))) - // var/turf/T = t - // //we do this after we load everything in. if we don't; we'll have weird atmos bugs regarding atmos adjacent turfs - // T.post_change() - return bounds - -/** - * Fill a given tile with its area/turf/objects/mobs - * Variable model is one full map line (e.g /turf/unsimulated/wall{icon_state = "rock"}, /area/mine/explored) - * - * WORKING : - * - * 1) Read the model string, member by member (delimiter is ',') - * - * 2) Get the path of the atom and store it into a list - * - * 3) a) Check if the member has variables (text within '{' and '}') - * - * 3) b) Construct an associative list with found variables, if any (the atom index in members is the same as its variables in members_attributes) - * - * 4) Instanciates the atom with its variables - * - */ -/dmm_suite/proc/parse_grid(model as text, model_key as text, xcrd as num,ycrd as num,zcrd as num, no_changeturf as num, orientation as num) - /*Method parse_grid() - - Accepts a text string containing a comma separated list of type paths of the - same construction as those contained in a .dmm file, and instantiates them. - */ - - var/list/members //will contain all members (paths) in model (in our example : /turf/unsimulated/wall and /area/mine/explored) - var/list/members_attributes //will contain lists filled with corresponding variables, if any (in our example : list(icon_state = "rock") and list()) - var/list/cached = modelCache[model] - var/index - - if(cached) - members = cached[1] - members_attributes = cached[2] - else - - ///////////////////////////////////////////////////////// - //Constructing members and corresponding variables lists - //////////////////////////////////////////////////////// - - members = list() - members_attributes = list() - index = 1 - - var/old_position = 1 - var/dpos - - do - //finding next member (e.g /turf/unsimulated/wall{icon_state = "rock"} or /area/mine/explored) - dpos = find_next_delimiter_position(model, old_position, ",", "{", "}") //find next delimiter (comma here) that's not within {...} - - var/full_def = trim_text(copytext(model, old_position, dpos)) //full definition, e.g : /obj/foo/bar{variables=derp} - var/variables_start = findtext(full_def, "{") - var/atom_def = text2path(trim_text(copytext(full_def, 1, variables_start))) //path definition, e.g /obj/foo/bar - old_position = dpos + 1 - - if(!atom_def) // Skip the item if the path does not exist. Fix your crap, mappers! - error("Maploader skipping undefined type: '[trim_text(copytext(full_def, 1, variables_start))]' (key=[model_key])") - continue - members.Add(atom_def) - - //transform the variables in text format into a list (e.g {var1="derp"; var2; var3=7} => list(var1="derp", var2, var3=7)) - var/list/fields = list() - - if(variables_start)//if there's any variable - full_def = copytext(full_def,variables_start+1,length(full_def))//removing the last '}' - fields = readlist(full_def, ";", TRUE) - if(fields.len) - if(!trim(fields[fields.len])) - --fields.len - for(var/I in fields) - var/value = fields[I] - if(istext(value)) - fields[I] = apply_text_macros(value) - - //then fill the members_attributes list with the corresponding variables - members_attributes.len++ - members_attributes[index++] = fields - - CHECK_TICK - while(dpos != 0) - - //check and see if we can just skip this turf - //So you don't have to understand this horrid statement, we can do this if - // 1. no_changeturf is set - // 2. the space_key isn't set yet - // 3. there are exactly 2 members - // 4. with no attributes - // 5. and the members are world.turf and world.area - // Basically, if we find an entry like this: "XXX" = (/turf/default, /area/default) - // We can skip calling this proc every time we see XXX - if(no_changeturf && !space_key && members.len == 2 && members_attributes.len == 2 && length(members_attributes[1]) == 0 && length(members_attributes[2]) == 0 && (world.area in members) && (world.turf in members)) - space_key = model_key - return - - - modelCache[model] = list(members, members_attributes) - - - //////////////// - //Instanciation - //////////////// - - //The next part of the code assumes there's ALWAYS an /area AND a /turf on a given tile - var/turf/crds = locate(xcrd,ycrd,zcrd) - - //first instance the /area and remove it from the members list - index = members.len - if(members[index] != /area/template_noop) - var/atom/instance - GLOB._preloader.setup(members_attributes[index])//preloader for assigning set variables on atom creation - var/atype = members[index] - for(var/area/A in world) - if(A.type == atype) - instance = A - break - if(!instance) - instance = new atype(null) - if(crds) - instance.contents.Add(crds) - - if(GLOB.use_preloader && instance) - GLOB._preloader.load(instance) - - //then instance the /turf and, if multiple tiles are presents, simulates the DMM underlays piling effect - - var/first_turf_index = 1 - while(!ispath(members[first_turf_index], /turf)) //find first /turf object in members - first_turf_index++ - - //turn off base new Initialization until the whole thing is loaded - SSatoms.map_loader_begin() - //instanciate the first /turf - var/turf/T - if(members[first_turf_index] != /turf/template_noop) - T = instance_atom(members[first_turf_index],members_attributes[first_turf_index],crds,no_changeturf,orientation) - - if(T) - //if others /turf are presents, simulates the underlays piling effect - index = first_turf_index + 1 - while(index <= members.len - 1) // Last item is an /area - var/underlay = T.appearance - T = instance_atom(members[index],members_attributes[index],crds,no_changeturf,orientation)//instance new turf - T.underlays += underlay - index++ - - //finally instance all remainings objects/mobs - for(index in 1 to first_turf_index-1) - instance_atom(members[index],members_attributes[index],crds,no_changeturf,orientation) - //Restore initialization to the previous value - SSatoms.map_loader_stop() - -//////////////// -//Helpers procs -//////////////// - -//Instance an atom at (x,y,z) and gives it the variables in attributes -/dmm_suite/proc/instance_atom(path,list/attributes, turf/crds, no_changeturf, orientation=0) - GLOB._preloader.setup(attributes, path) - - if(crds) - if(!no_changeturf && ispath(path, /turf)) - . = crds.ChangeTurf(path, FALSE, TRUE) - else - . = create_atom(path, crds)//first preloader pass - - if(GLOB.use_preloader && .)//second preloader pass, for those atoms that don't ..() in New() - GLOB._preloader.load(.) - - //custom CHECK_TICK here because we don't want things created while we're sleeping to not initialize - if(TICK_CHECK) - SSatoms.map_loader_stop() - stoplag() - SSatoms.map_loader_begin() - - // Rotate the atom now that it exists, rather than changing its orientation beforehand through the fields["dir"] - if(orientation != 0) // 0 means no rotation - var/atom/A = . - A.set_dir(turn(A.dir, orientation)) - -/dmm_suite/proc/create_atom(path, crds) - set waitfor = FALSE - . = new path (crds) - -//text trimming (both directions) helper proc -//optionally removes quotes before and after the text (for variable name) -/dmm_suite/proc/trim_text(what as text,trim_quotes=0) - if(trim_quotes) - return trimQuotesRegex.Replace(what, "") - else - return trimRegex.Replace(what, "") - - -//find the position of the next delimiter,skipping whatever is comprised between opening_escape and closing_escape -//returns 0 if reached the last delimiter -/dmm_suite/proc/find_next_delimiter_position(text as text,initial_position as num, delimiter=",",opening_escape="\"",closing_escape="\"") - var/position = initial_position - var/next_delimiter = findtext(text,delimiter,position,0) - var/next_opening = findtext(text,opening_escape,position,0) - - while((next_opening != 0) && (next_opening < next_delimiter)) - position = findtext(text,closing_escape,next_opening + 1,0)+1 - next_delimiter = findtext(text,delimiter,position,0) - next_opening = findtext(text,opening_escape,position,0) - - return next_delimiter - - -//build a list from variables in text form (e.g {var1="derp"; var2; var3=7} => list(var1="derp", var2, var3=7)) -// text - variables in text form. Not including surrounding {} or list() -// delimiter - Delimiter between list entries -// keys_only_string - If true, text that looks like an associative list has its keys treated as var names, -// otherwise they are parsed as valid associative list keys. -//return the filled list -/dmm_suite/proc/readlist(text as text, delimiter=",", keys_only_string = FALSE) - - var/list/to_return = list() - if(text == "") - return to_return // Fast bail-out - - var/position - var/old_position = 1 - - do - //find next delimiter that is not within "..." - position = find_next_delimiter_position(text,old_position,delimiter) - - //check if this is a simple variable (as in list(var1, var2)) or an associative one (as in list(var1="foo",var2=7)) - var/equal_position = findtext(text,"=",old_position, position) - - // part to the left of = (the key/var name), or the entire value. If treating it as a var name, strip quotes at the same time. - var/trim_left = trim_text(copytext(text,old_position,(equal_position ? equal_position : position)), keys_only_string) - old_position = position + 1 - - var/trim_right = trim_left - if(equal_position)//associative var, so do the association - trim_right = trim_text(copytext(text,equal_position+1,position))//the content of the variable - if(!keys_only_string) // We also need to evaluate the key for the types it is permitted to be - if(findtext(trim_left,"\"",1,2)) //Check for string - trim_left = copytext(trim_left,2,findtext(trim_left,"\"",3,0)) - else if(isnum(text2num(trim_left))) //Check for number - trim_left = text2num(trim_left) - else if(ispath(text2path(trim_left))) //Check for path - trim_left = text2path(trim_left) - - // Parse the value in trim_right - //Check for string - if(findtext(trim_right,"\"",1,2)) - trim_right = copytext(trim_right,2,findtext(trim_right,"\"",3,0)) - //Check for number - else if(isnum(text2num(trim_right))) - trim_right = text2num(trim_right) - //Check for null - else if(trim_right == "null") - trim_right = null - //Check for list - else if(copytext(trim_right,1,5) == "list") - trim_right = readlist(copytext(trim_right,6,length(trim_right))) - //Check for file - else if(copytext(trim_right,1,2) == "'") - trim_right = file(copytext(trim_right,2,length(trim_right))) - //Check for path - else if(ispath(text2path(trim_right))) - trim_right = text2path(trim_right) - - // Now put the trim_right into the result. Method by which we do so varies on if its assoc or not - if(equal_position) - to_return[trim_left] = trim_right - else - to_return += trim_right - - while(position != 0) - - return to_return - -/dmm_suite/Destroy() - ..() - return QDEL_HINT_HARDDEL_NOW - -////////////////// -//Preloader datum -////////////////// - -/dmm_suite/preloader - parent_type = /datum - var/list/attributes - var/target_path - -/dmm_suite/preloader/proc/setup(list/the_attributes, path) - if(the_attributes.len) - GLOB.use_preloader = TRUE - attributes = the_attributes - target_path = path - -/dmm_suite/preloader/proc/load(atom/what) - for(var/attribute in attributes) - var/value = attributes[attribute] - if(islist(value)) - value = deepCopyList(value) - what.vars[attribute] = value - GLOB.use_preloader = FALSE - -/area/template_noop - name = "Area Passthrough" - -/turf/template_noop - name = "Turf Passthrough" - icon_state = "template_void" diff --git a/code/modules/maps/writer.dm b/code/modules/maps/writer.dm deleted file mode 100644 index 1d4d403684e..00000000000 --- a/code/modules/maps/writer.dm +++ /dev/null @@ -1,181 +0,0 @@ -#define DMM_IGNORE_AREAS 1 -#define DMM_IGNORE_TURFS 2 -#define DMM_IGNORE_OBJS 4 -#define DMM_IGNORE_NPCS 8 -#define DMM_IGNORE_PLAYERS 16 -#define DMM_IGNORE_MOBS 24 -dmm_suite{ - var{ - quote = "\"" - list/letter_digits = list( - "a","b","c","d","e", - "f","g","h","i","j", - "k","l","m","n","o", - "p","q","r","s","t", - "u","v","w","x","y", - "z", - "A","B","C","D","E", - "F","G","H","I","J", - "K","L","M","N","O", - "P","Q","R","S","T", - "U","V","W","X","Y", - "Z" - ) - } - save_map(var/turf/t1 as turf, var/turf/t2 as turf, var/map_name as text, var/flags as num){ - //Check for illegal characters in file name... in a cheap way. - if(!((ckeyEx(map_name)==map_name) && ckeyEx(map_name))){ - CRASH("Invalid text supplied to proc save_map, invalid characters or empty string.") - } - //Check for valid turfs. - if(!isturf(t1) || !isturf(t2)){ - CRASH("Invalid arguments supplied to proc save_map, arguments were not turfs.") - } - var/file_text = write_map(t1,t2,flags) - if(fexists("[map_name].dmm")){ - fdel("[map_name].dmm") - } - var/saved_map = file("[map_name].dmm") - saved_map << file_text - return saved_map - } - write_map(var/turf/t1 as turf, var/turf/t2 as turf, var/flags as num){ - //Check for valid turfs. - if(!isturf(t1) || !isturf(t2)){ - CRASH("Invalid arguments supplied to proc write_map, arguments were not turfs.") - } - var/turf/nw = locate(min(t1.x,t2.x),max(t1.y,t2.y),min(t1.z,t2.z)) - var/turf/se = locate(max(t1.x,t2.x),min(t1.y,t2.y),max(t1.z,t2.z)) - var/list/templates[0] - var/template_buffer = {""} - var/dmm_text = {""} - for(var/pos_z=nw.z;pos_z<=se.z;pos_z++){ - for(var/pos_y=nw.y;pos_y>=se.y;pos_y--){ - for(var/pos_x=nw.x;pos_x<=se.x;pos_x++){ - var/turf/test_turf = locate(pos_x,pos_y,pos_z) - var/test_template = make_template(test_turf, flags) - var/template_number = templates.Find(test_template) - if(!template_number){ - templates.Add(test_template) - template_number = templates.len - } - template_buffer += "[template_number]," - } - template_buffer += ";" - } - template_buffer += "." - } - var/key_length = round/*floor*/(log(letter_digits.len,templates.len-1)+1) - var/list/keys[templates.len] - for(var/key_pos=1;key_pos<=templates.len;key_pos++){ - keys[key_pos] = get_model_key(key_pos,key_length) - dmm_text += {""[keys[key_pos]]" = ([templates[key_pos]])\n"} - } - var/z_level = 0 - for(var/z_pos=1;TRUE;z_pos=findtext(template_buffer,".",z_pos)+1){ - if(z_pos>=length(template_buffer)){break} - if(z_level){dmm_text+={"\n"}} - dmm_text += {"\n(1,1,[++z_level]) = {"\n"} - var/z_block = copytext(template_buffer,z_pos,findtext(template_buffer,".",z_pos)) - for(var/y_pos=1;TRUE;y_pos=findtext(z_block,";",y_pos)+1){ - if(y_pos>=length(z_block)){break} - var/y_block = copytext(z_block,y_pos,findtext(z_block,";",y_pos)) - for(var/x_pos=1;TRUE;x_pos=findtext(y_block,",",x_pos)+1){ - if(x_pos>=length(y_block)){break} - var/x_block = copytext(y_block,x_pos,findtext(y_block,",",x_pos)) - var/key_number = text2num(x_block) - var/temp_key = keys[key_number] - dmm_text += temp_key - sleep(-1) - } - dmm_text += {"\n"} - sleep(-1) - } - dmm_text += {"\"}"} - sleep(-1) - } - return dmm_text - } - proc{ - make_template(var/turf/model as turf, var/flags as num){ - var/template = "" - var/obj_template = "" - var/mob_template = "" - var/turf_template = "" - if(!(flags & DMM_IGNORE_TURFS)){ - turf_template = "[model.type][check_attributes(model)]," - } else{ turf_template = "[world.turf],"} - var/area_template = "" - if(!(flags & DMM_IGNORE_OBJS)){ - for(var/obj/O in model.contents){ - obj_template += "[O.type][check_attributes(O)]," - } - } - for(var/mob/M in model.contents){ - if(M.client){ - if(!(flags & DMM_IGNORE_PLAYERS)){ - mob_template += "[M.type][check_attributes(M)]," - } - } - else{ - if(!(flags & DMM_IGNORE_NPCS)){ - mob_template += "[M.type][check_attributes(M)]," - } - } - } - if(!(flags & DMM_IGNORE_AREAS)){ - var/area/m_area = model.loc - area_template = "[m_area.type][check_attributes(m_area)]" - } else{ area_template = "[world.area]"} - template = "[obj_template][mob_template][turf_template][area_template]" - return template - } - check_attributes(var/atom/A){ - var/attributes_text = {"{"} - for(var/V in A.vars){ - sleep(-1) - if((!issaved(A.vars[V])) || (A.vars[V]==initial(A.vars[V]))){continue} - if(istext(A.vars[V])){ - attributes_text += {"[V] = "[A.vars[V]]""} - } - else if(isnum(A.vars[V])||ispath(A.vars[V])){ - attributes_text += {"[V] = [A.vars[V]]"} - } - else if(isicon(A.vars[V])||isfile(A.vars[V])){ - attributes_text += {"[V] = '[A.vars[V]]'"} - } - else{ - continue - } - if(attributes_text != {"{"}){ - attributes_text+={"; "} - } - } - if(attributes_text=={"{"}){ - return - } - if(copytext(attributes_text, length(attributes_text)-1, 0) == {"; "}){ - attributes_text = copytext(attributes_text, 1, length(attributes_text)-1) - } - attributes_text += {"}"} - return attributes_text - } - get_model_key(var/which as num, var/key_length as num){ - var/key = "" - var/working_digit = which-1 - for(var/digit_pos=key_length;digit_pos>=1;digit_pos--){ - var/place_value = round/*floor*/(working_digit/(letter_digits.len**(digit_pos-1))) - working_digit-=place_value*(letter_digits.len**(digit_pos-1)) - key = "[key][letter_digits[place_value+1]]" - } - return key - } - } - } - -#undef DMM_IGNORE_AREAS -#undef DMM_IGNORE_TURFS -#undef DMM_IGNORE_OBJS -#undef DMM_IGNORE_NPCS -#undef DMM_IGNORE_PLAYERS -#undef DMM_IGNORE_MOBS diff --git a/code/modules/materials/materials/_materials.dm b/code/modules/materials/materials/_materials.dm index 24a2beb9023..322e5d7beaf 100644 --- a/code/modules/materials/materials/_materials.dm +++ b/code/modules/materials/materials/_materials.dm @@ -6,7 +6,7 @@ PATHS THAT USE DATUMS turf/simulated/wall - obj/item/weapon/material + obj/item/material obj/structure/barricade obj/item/stack/material obj/structure/table @@ -238,10 +238,10 @@ var/list/name_to_material // Placeholders for light tiles and rglass. /datum/material/proc/build_rod_product(var/mob/user, var/obj/item/stack/used_stack, var/obj/item/stack/target_stack) if(!rod_product) - to_chat(user, "You cannot make anything out of \the [target_stack]") + to_chat(user, span_warning("You cannot make anything out of \the [target_stack]")) return if(used_stack.get_amount() < 1 || target_stack.get_amount() < 1) - to_chat(user, "You need one rod and one sheet of [display_name] to make anything useful.") + to_chat(user, span_warning("You need one rod and one sheet of [display_name] to make anything useful.")) return used_stack.use(1) target_stack.use(1) @@ -251,15 +251,15 @@ var/list/name_to_material /datum/material/proc/build_wired_product(var/mob/living/user, var/obj/item/stack/used_stack, var/obj/item/stack/target_stack) if(!wire_product) - to_chat(user, "You cannot make anything out of \the [target_stack]") + to_chat(user, span_warning("You cannot make anything out of \the [target_stack]")) return if(used_stack.get_amount() < 5 || target_stack.get_amount() < 1) - to_chat(user, "You need five wires and one sheet of [display_name] to make anything useful.") + to_chat(user, span_warning("You need five wires and one sheet of [display_name] to make anything useful.")) return used_stack.use(5) target_stack.use(1) - to_chat(user, "You attach wire to the [name].") + to_chat(user, span_notice("You attach wire to the [name].")) var/obj/item/product = new wire_product(get_turf(user)) user.put_in_hands(product) @@ -333,7 +333,7 @@ var/list/name_to_material // As above. /datum/material/proc/place_shard(var/turf/target) if(shard_type) - return new /obj/item/weapon/material/shard(target, src.name) + return new /obj/item/material/shard(target, src.name) // Used by walls and weapons to determine if they break or not. /datum/material/proc/is_brittle() @@ -354,14 +354,14 @@ var/list/name_to_material /datum/material/proc/generate_recipes() // If is_brittle() returns true, these are only good for a single strike. recipes = list( - new /datum/stack_recipe("[display_name] baseball bat", /obj/item/weapon/material/twohanded/baseballbat, 10, time = 20, one_per_turf = 0, on_floor = 1, supplied_material = "[name]", pass_stack_color = TRUE), - new /datum/stack_recipe("[display_name] staff", /obj/item/weapon/material/twohanded/staff, 10, time = 20, one_per_turf = 0, on_floor = 1, supplied_material = "[name]", pass_stack_color = TRUE), - new /datum/stack_recipe("[display_name] ashtray", /obj/item/weapon/material/ashtray, 2, one_per_turf = 1, on_floor = 1, supplied_material = "[name]", pass_stack_color = TRUE), - new /datum/stack_recipe("[display_name] spoon", /obj/item/weapon/material/kitchen/utensil/spoon/plastic, 1, on_floor = 1, supplied_material = "[name]", pass_stack_color = TRUE), - new /datum/stack_recipe("[display_name] armor plate", /obj/item/weapon/material/armor_plating, 1, time = 20, on_floor = 1, supplied_material = "[name]", pass_stack_color = TRUE), - new /datum/stack_recipe("[display_name] armor plate insert", /obj/item/weapon/material/armor_plating/insert, 2, time = 40, on_floor = 1, supplied_material = "[name]", pass_stack_color = TRUE), - new /datum/stack_recipe("[display_name] grave marker", /obj/item/weapon/material/gravemarker, 5, time = 50, supplied_material = "[name]", pass_stack_color = TRUE), - new /datum/stack_recipe("[display_name] ring", /obj/item/clothing/gloves/ring/material, 1, on_floor = 1, supplied_material = "[name]", pass_stack_color = TRUE), + new /datum/stack_recipe("[display_name] baseball bat", /obj/item/material/twohanded/baseballbat, 10, time = 20, one_per_turf = 0, on_floor = 1, supplied_material = "[name]", pass_stack_color = TRUE), + new /datum/stack_recipe("[display_name] staff", /obj/item/material/twohanded/staff, 10, time = 20, one_per_turf = 0, on_floor = 1, supplied_material = "[name]", pass_stack_color = TRUE), + new /datum/stack_recipe("[display_name] ashtray", /obj/item/material/ashtray, 2, one_per_turf = 1, on_floor = 1, supplied_material = "[name]", pass_stack_color = TRUE), + new /datum/stack_recipe("[display_name] spoon", /obj/item/material/kitchen/utensil/spoon/plastic, 1, on_floor = 1, supplied_material = "[name]", pass_stack_color = TRUE), + new /datum/stack_recipe("[display_name] armor plate", /obj/item/material/armor_plating, 1, time = 20, on_floor = 1, supplied_material = "[name]", pass_stack_color = TRUE), + new /datum/stack_recipe("[display_name] armor plate insert", /obj/item/material/armor_plating/insert, 2, time = 40, on_floor = 1, supplied_material = "[name]", pass_stack_color = TRUE), + new /datum/stack_recipe("[display_name] grave marker", /obj/item/material/gravemarker, 5, time = 50, supplied_material = "[name]", pass_stack_color = TRUE), + new /datum/stack_recipe("[display_name] ring", /obj/item/clothing/accessory/ring/material, 1, on_floor = 1, supplied_material = "[name]", pass_stack_color = TRUE), new /datum/stack_recipe("[display_name] bracelet", /obj/item/clothing/accessory/bracelet/material, 1, on_floor = 1, supplied_material = "[name]", pass_stack_color = TRUE) ) @@ -369,7 +369,7 @@ var/list/name_to_material recipes += list( new /datum/stack_recipe("[display_name] door", /obj/structure/simple_door, 10, one_per_turf = 1, on_floor = 1, supplied_material = "[name]", pass_stack_color = TRUE), new /datum/stack_recipe("[display_name] barricade", /obj/structure/barricade, 5, time = 50, one_per_turf = 1, on_floor = 1, supplied_material = "[name]", pass_stack_color = TRUE), - new /datum/stack_recipe("[display_name] stool", /obj/item/weapon/stool, one_per_turf = 1, on_floor = 1, supplied_material = "[name]", pass_stack_color = TRUE), + new /datum/stack_recipe("[display_name] stool", /obj/item/stool, one_per_turf = 1, on_floor = 1, supplied_material = "[name]", pass_stack_color = TRUE), new /datum/stack_recipe("[display_name] chair", /obj/structure/bed/chair, one_per_turf = 1, on_floor = 1, supplied_material = "[name]", pass_stack_color = TRUE), new /datum/stack_recipe("[display_name] bed", /obj/structure/bed, 2, one_per_turf = 1, on_floor = 1, supplied_material = "[name]", pass_stack_color = TRUE), new /datum/stack_recipe("[display_name] double bed", /obj/structure/bed/double, 4, one_per_turf = 1, on_floor = 1, supplied_material = "[name]", pass_stack_color = TRUE), @@ -384,10 +384,10 @@ var/list/name_to_material )) if(hardness>50) recipes += list( - new /datum/stack_recipe("[display_name] fork", /obj/item/weapon/material/kitchen/utensil/fork/plastic, 1, on_floor = 1, supplied_material = "[name]", pass_stack_color = TRUE), - new /datum/stack_recipe("[display_name] knife", /obj/item/weapon/material/knife/plastic, 1, on_floor = 1, supplied_material = "[name]", pass_stack_color = TRUE), - new /datum/stack_recipe("[display_name] blade", /obj/item/weapon/material/butterflyblade, 6, time = 20, one_per_turf = 0, on_floor = 1, supplied_material = "[name]", pass_stack_color = TRUE), - new /datum/stack_recipe("[display_name] defense wire", /obj/item/weapon/material/barbedwire, 10, time = 1 MINUTE, one_per_turf = 0, on_floor = 1, supplied_material = "[name]", pass_stack_color = TRUE) + new /datum/stack_recipe("[display_name] fork", /obj/item/material/kitchen/utensil/fork/plastic, 1, on_floor = 1, supplied_material = "[name]", pass_stack_color = TRUE), + new /datum/stack_recipe("[display_name] knife", /obj/item/material/knife/plastic, 1, on_floor = 1, supplied_material = "[name]", pass_stack_color = TRUE), + new /datum/stack_recipe("[display_name] blade", /obj/item/material/butterflyblade, 6, time = 20, one_per_turf = 0, on_floor = 1, supplied_material = "[name]", pass_stack_color = TRUE), + new /datum/stack_recipe("[display_name] defense wire", /obj/item/material/barbedwire, 10, time = 1 MINUTE, one_per_turf = 0, on_floor = 1, supplied_material = "[name]", pass_stack_color = TRUE) ) /datum/material/proc/get_wall_texture() diff --git a/code/modules/materials/materials/glass.dm b/code/modules/materials/materials/glass.dm index 940ac15eb19..7563f8a0fea 100644 --- a/code/modules/materials/materials/glass.dm +++ b/code/modules/materials/materials/glass.dm @@ -25,12 +25,12 @@ return 0 if(!user.IsAdvancedToolUser()) - to_chat(user, "This task is too complex for your clumsy hands.") + to_chat(user, span_warning("This task is too complex for your clumsy hands.")) return 1 var/turf/T = user.loc if(!istype(T)) - to_chat(user, "You must be standing on open flooring to build a window.") + to_chat(user, span_warning("You must be standing on open flooring to build a window.")) return 1 var/message = "Sheet-[used_stack.name] ([used_stack.get_amount()] sheet\s left)" @@ -68,7 +68,7 @@ else failed_to_build = 1 if(failed_to_build) - to_chat(user, "There is no room in this location.") + to_chat(user, span_warning("There is no room in this location.")) return 1 var/build_path = /obj/structure/windoor_assembly @@ -82,7 +82,7 @@ build_path = created_window if(used_stack.get_amount() < sheets_needed) - to_chat(user, "You need at least [sheets_needed] sheets to build this.") + to_chat(user, span_warning("You need at least [sheets_needed] sheets to build this.")) return 1 // Build the structure and update sheet count etc. diff --git a/code/modules/materials/materials/metals/metals_vr.dm b/code/modules/materials/materials/metals/metals_vr.dm index f600b2fe025..547689114a9 100644 --- a/code/modules/materials/materials/metals/metals_vr.dm +++ b/code/modules/materials/materials/metals/metals_vr.dm @@ -1,6 +1,6 @@ /datum/material/durasteel/generate_recipes() . = ..() recipes += list( - new /datum/stack_recipe("durasteel fishing rod", /obj/item/weapon/material/fishing_rod/modern/strong, 2), - new /datum/stack_recipe("whetstone", /obj/item/weapon/whetstone, 2, time = 30), + new /datum/stack_recipe("durasteel fishing rod", /obj/item/material/fishing_rod/modern/strong, 2), + new /datum/stack_recipe("whetstone", /obj/item/whetstone, 2, time = 30), ) diff --git a/code/modules/materials/materials/metals/plasteel.dm b/code/modules/materials/materials/metals/plasteel.dm index fa9e271521e..f4508fa64b8 100644 --- a/code/modules/materials/materials/metals/plasteel.dm +++ b/code/modules/materials/materials/metals/plasteel.dm @@ -19,10 +19,10 @@ recipes += list( new /datum/stack_recipe("AI core", /obj/structure/AIcore, 4, time = 50, one_per_turf = 1, recycle_material = "[name]"), new /datum/stack_recipe("Metal crate", /obj/structure/closet/crate, 10, time = 50, one_per_turf = 1, recycle_material = "[name]"), - new /datum/stack_recipe("knife grip", /obj/item/weapon/material/butterflyhandle, 4, time = 20, one_per_turf = 0, on_floor = 1, supplied_material = "[name]"), + new /datum/stack_recipe("knife grip", /obj/item/material/butterflyhandle, 4, time = 20, one_per_turf = 0, on_floor = 1, supplied_material = "[name]"), new /datum/stack_recipe("dark floor tile", /obj/item/stack/tile/floor/dark, 1, 4, 20, recycle_material = "[name]"), new /datum/stack_recipe("roller bed", /obj/item/roller, 5, time = 30, on_floor = 1, recycle_material = "[name]"), - new /datum/stack_recipe("whetstone", /obj/item/weapon/whetstone, 2, time = 10, recycle_material = "[name]"), + new /datum/stack_recipe("whetstone", /obj/item/whetstone, 2, time = 10, recycle_material = "[name]"), new /datum/stack_recipe("plasteel rebar", /obj/item/stack/material/plasteel/rebar, 1, time = 5, recycle_material = "[name]"), new /datum/stack_recipe("plasteel hull sheet", /obj/item/stack/material/plasteel/hull, 2, 1, 5, time = 20, one_per_turf = 0, on_floor = 1, recycle_material = "[name]"), new /datum/stack_recipe_list("reinforced low walls",list( diff --git a/code/modules/materials/materials/metals/plasteel_vr.dm b/code/modules/materials/materials/metals/plasteel_vr.dm index f3d582213db..742d90fd328 100644 --- a/code/modules/materials/materials/metals/plasteel_vr.dm +++ b/code/modules/materials/materials/metals/plasteel_vr.dm @@ -17,5 +17,5 @@ /datum/material/plastitanium/generate_recipes() ..() recipes += list( - new /datum/stack_recipe("whetstone", /obj/item/weapon/whetstone, 2, time = 20), + new /datum/stack_recipe("whetstone", /obj/item/whetstone, 2, time = 20), ) diff --git a/code/modules/materials/materials/metals/steel.dm b/code/modules/materials/materials/metals/steel.dm index f3a51fa4c44..359c0a04cd1 100644 --- a/code/modules/materials/materials/metals/steel.dm +++ b/code/modules/materials/materials/metals/steel.dm @@ -79,7 +79,7 @@ new /datum/stack_recipe("steel shelves", /obj/structure/table/rack/shelf/steel, 1, one_per_turf = TRUE, time = 5, on_floor = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("closet", /obj/structure/closet, 2, time = 15, one_per_turf = 1, on_floor = 1, recycle_material = "[name]"), new /datum/stack_recipe("canister", /obj/machinery/portable_atmospherics/canister, 10, time = 15, one_per_turf = 1, on_floor = 1, recycle_material = "[name]"), - new /datum/stack_recipe("cannon frame", /obj/item/weapon/cannonframe, 10, time = 15, one_per_turf = 0, on_floor = 0, recycle_material = "[name]"), + new /datum/stack_recipe("cannon frame", /obj/item/cannonframe, 10, time = 15, one_per_turf = 0, on_floor = 0, recycle_material = "[name]"), new /datum/stack_recipe_list("floor tiles", list( new /datum/stack_recipe("regular floor tile", /obj/item/stack/tile/floor, 1, 4, 20, recycle_material = "[name]"), new /datum/stack_recipe("steel hi-grip tile", /obj/item/stack/tile/floor/steelgrip, 1, 4, 20, recycle_material = "[name]"), @@ -144,14 +144,14 @@ //new /datum/stack_recipe("IV drip", /obj/machinery/iv_drip, 4, time = 20, one_per_turf = 1, on_floor = 1, recycle_material = "[name]"), //VOREStation Removal new /datum/stack_recipe("medical stand", /obj/structure/medical_stand, 4, time = 20, one_per_turf = 1, on_floor = 1, recycle_material = "[name]"), //VOREStation Replacement, new /datum/stack_recipe("conveyor switch", /obj/machinery/conveyor_switch, 2, time = 20, one_per_turf = 1, on_floor = 1, recycle_material = "[name]"), - new /datum/stack_recipe("grenade casing", /obj/item/weapon/grenade/chem_grenade, recycle_material = "[name]"), + new /datum/stack_recipe("grenade casing", /obj/item/grenade/chem_grenade, recycle_material = "[name]"), new /datum/stack_recipe("light fixture frame", /obj/item/frame/light, 2, recycle_material = "[name]"), new /datum/stack_recipe("floor light fixture frame", /obj/machinery/light_construct/floortube, 2, recycle_material = "[name]"), new /datum/stack_recipe("small light fixture frame", /obj/item/frame/light/small, 1, recycle_material = "[name]"), new /datum/stack_recipe("floor lamp fixture frame", /obj/machinery/light_construct/flamp, 2, recycle_material = "[name]"), new /datum/stack_recipe("big floor lamp fixture frame", /obj/machinery/light_construct/bigfloorlamp, 3, recycle_material = "[name]"), new /datum/stack_recipe("apc frame", /obj/item/frame/apc, 2, recycle_material = "[name]"), - new /datum/stack_recipe("desk bell", /obj/item/weapon/deskbell, 1, on_floor = 1, supplied_material = "[name]"), + new /datum/stack_recipe("desk bell", /obj/item/deskbell, 1, on_floor = 1, supplied_material = "[name]"), new /datum/stack_recipe("tanning rack", /obj/structure/tanning_rack, 3, one_per_turf = TRUE, time = 20, on_floor = TRUE, supplied_material = "[name]"), new /datum/stack_recipe("steel hull sheet", /obj/item/stack/material/steel/hull, 2, 1, 5, time = 20, one_per_turf = 0, on_floor = 1, recycle_material = "[name]") ) diff --git a/code/modules/materials/materials/organic/cloth.dm b/code/modules/materials/materials/organic/cloth.dm index 38a8aae2658..9c92e03ed16 100644 --- a/code/modules/materials/materials/organic/cloth.dm +++ b/code/modules/materials/materials/organic/cloth.dm @@ -15,8 +15,8 @@ /datum/material/cloth/generate_recipes() //Vorestation Add - adding some funny cool storage pouches to this so botany can do things other than food recipes = list( - new /datum/stack_recipe("woven net", /obj/item/weapon/material/fishing_net, 10, time = 30 SECONDS, pass_stack_color = TRUE, supplied_material = "[name]"), - new /datum/stack_recipe("bedsheet", /obj/item/weapon/bedsheet, 10, time = 30 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]"), + new /datum/stack_recipe("woven net", /obj/item/material/fishing_net, 10, time = 30 SECONDS, pass_stack_color = TRUE, supplied_material = "[name]"), + new /datum/stack_recipe("bedsheet", /obj/item/bedsheet, 10, time = 30 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("uniform", /obj/item/clothing/under/color/white, 8, time = 15 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("foot wraps", /obj/item/clothing/shoes/footwraps, 2, time = 5 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("gloves", /obj/item/clothing/gloves/white, 2, time = 5 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]"), @@ -28,14 +28,14 @@ new /datum/stack_recipe("kippa", /obj/item/clothing/head/kippa, 3, time = 6 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("scarf", /obj/item/clothing/accessory/scarf/white, 4, time = 5 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("baggy pants", /obj/item/clothing/under/pants/baggy/white, 8, time = 10 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]"), - new /datum/stack_recipe("belt pouch", /obj/item/weapon/storage/belt/fannypack/white, 25, time = 1 MINUTE, pass_stack_color = TRUE, recycle_material = "[name]"), - new /datum/stack_recipe("pouch, small", /obj/item/weapon/storage/pouch/small, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), //vorestation Add - new /datum/stack_recipe("pouch, ammo", /obj/item/weapon/storage/pouch/ammo, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), //vorestation Add - new /datum/stack_recipe("pouch, tools", /obj/item/weapon/storage/pouch/eng_tool, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), //vorestation Add - new /datum/stack_recipe("pouch, parts", /obj/item/weapon/storage/pouch/eng_parts, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), //vorestation Add - new /datum/stack_recipe("pouch, supplies", /obj/item/weapon/storage/pouch/eng_supply, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), //vorestation Add - new /datum/stack_recipe("pouch, medical", /obj/item/weapon/storage/pouch/medical, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), //vorestation Add - new /datum/stack_recipe("pouch, flare", /obj/item/weapon/storage/pouch/flares, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), //vorestation Add + new /datum/stack_recipe("belt pouch", /obj/item/storage/belt/fannypack/white, 25, time = 1 MINUTE, pass_stack_color = TRUE, recycle_material = "[name]"), + new /datum/stack_recipe("pouch, small", /obj/item/storage/pouch/small, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), //vorestation Add + new /datum/stack_recipe("pouch, ammo", /obj/item/storage/pouch/ammo, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), //vorestation Add + new /datum/stack_recipe("pouch, tools", /obj/item/storage/pouch/eng_tool, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), //vorestation Add + new /datum/stack_recipe("pouch, parts", /obj/item/storage/pouch/eng_parts, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), //vorestation Add + new /datum/stack_recipe("pouch, supplies", /obj/item/storage/pouch/eng_supply, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), //vorestation Add + new /datum/stack_recipe("pouch, medical", /obj/item/storage/pouch/medical, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), //vorestation Add + new /datum/stack_recipe("pouch, flare", /obj/item/storage/pouch/flares, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), //vorestation Add new /datum/stack_recipe("crude bandage", /obj/item/stack/medical/crude_pack, 1, time = 2 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("empty sandbag", /obj/item/stack/emptysandbag, 2, time = 2 SECONDS, pass_stack_color = TRUE, supplied_material = "[name]"), new /datum/stack_recipe("painting canvas (11x11)", /obj/item/canvas, 2, time = 2 SECONDS, pass_stack_color = FALSE, supplied_material = "[name]"), diff --git a/code/modules/materials/materials/organic/leather.dm b/code/modules/materials/materials/organic/leather.dm index 1c46a78bfd5..607361d07e2 100644 --- a/code/modules/materials/materials/organic/leather.dm +++ b/code/modules/materials/materials/organic/leather.dm @@ -14,7 +14,7 @@ /datum/material/leather/generate_recipes() recipes = list( - new /datum/stack_recipe("bedsheet", /obj/item/weapon/bedsheet, 10, time = 30 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]"), + new /datum/stack_recipe("bedsheet", /obj/item/bedsheet, 10, time = 30 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("uniform", /obj/item/clothing/under/color/white, 8, time = 15 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("foot wraps", /obj/item/clothing/shoes/footwraps, 2, time = 5 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("gloves", /obj/item/clothing/gloves/white, 2, time = 5 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]"), @@ -26,16 +26,16 @@ new /datum/stack_recipe("kippa", /obj/item/clothing/head/kippa, 3, time = 6 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("scarf", /obj/item/clothing/accessory/scarf/white, 4, time = 5 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("baggy pants", /obj/item/clothing/under/pants/baggy/white, 8, time = 10 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]"), - new /datum/stack_recipe("belt pouch", /obj/item/weapon/storage/belt/fannypack/white, 25, time = 1 MINUTE, pass_stack_color = TRUE, recycle_material = "[name]"), - new /datum/stack_recipe("pouch, medium", /obj/item/weapon/storage/pouch, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), //vorestation Add - new /datum/stack_recipe("pouch, large", /obj/item/weapon/storage/pouch/large, 15, time = 30 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), //vorestation Add - new /datum/stack_recipe("pouch, holster", /obj/item/weapon/storage/pouch/holster, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), //vorestation Add - new /datum/stack_recipe("pouch, melee", /obj/item/weapon/storage/pouch/baton, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), //vorestation Add + new /datum/stack_recipe("belt pouch", /obj/item/storage/belt/fannypack/white, 25, time = 1 MINUTE, pass_stack_color = TRUE, recycle_material = "[name]"), + new /datum/stack_recipe("pouch, medium", /obj/item/storage/pouch, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), //vorestation Add + new /datum/stack_recipe("pouch, large", /obj/item/storage/pouch/large, 15, time = 30 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), //vorestation Add + new /datum/stack_recipe("pouch, holster", /obj/item/storage/pouch/holster, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), //vorestation Add + new /datum/stack_recipe("pouch, melee", /obj/item/storage/pouch/baton, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), //vorestation Add new /datum/stack_recipe("crude [display_name] bandage", /obj/item/stack/medical/crude_pack, 1, time = 2 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]"), - new /datum/stack_recipe("[display_name] net", /obj/item/weapon/material/fishing_net, 10, time = 5 SECONDS, supplied_material = "[name]", pass_stack_color = TRUE), - new /datum/stack_recipe("[display_name] ring", /obj/item/clothing/gloves/ring/material, 1, on_floor = 1, supplied_material = "[name]", pass_stack_color = TRUE), + new /datum/stack_recipe("[display_name] net", /obj/item/material/fishing_net, 10, time = 5 SECONDS, supplied_material = "[name]", pass_stack_color = TRUE), + new /datum/stack_recipe("[display_name] ring", /obj/item/clothing/accessory/ring/material, 1, on_floor = 1, supplied_material = "[name]", pass_stack_color = TRUE), new /datum/stack_recipe("[display_name] bracelet", /obj/item/clothing/accessory/bracelet/material, 1, on_floor = 1, supplied_material = "[name]", pass_stack_color = TRUE), - new /datum/stack_recipe("[display_name] armor plate", /obj/item/weapon/material/armor_plating, 1, time = 20, on_floor = 1, supplied_material = "[name]", pass_stack_color = TRUE), + new /datum/stack_recipe("[display_name] armor plate", /obj/item/material/armor_plating, 1, time = 20, on_floor = 1, supplied_material = "[name]", pass_stack_color = TRUE), new /datum/stack_recipe("empty sandbag", /obj/item/stack/emptysandbag, 2, time = 2 SECONDS, pass_stack_color = TRUE, supplied_material = "[name]"), - new /datum/stack_recipe("whip", /obj/item/weapon/material/whip, 5, time = 15 SECONDS, pass_stack_color = TRUE, supplied_material = "[name]") + new /datum/stack_recipe("whip", /obj/item/material/whip, 5, time = 15 SECONDS, pass_stack_color = TRUE, supplied_material = "[name]") ) \ No newline at end of file diff --git a/code/modules/materials/materials/organic/resin.dm b/code/modules/materials/materials/organic/resin.dm index 5d46999c29c..6c5cf203090 100644 --- a/code/modules/materials/materials/organic/resin.dm +++ b/code/modules/materials/materials/organic/resin.dm @@ -19,17 +19,27 @@ var/mob/living/carbon/M = user if(istype(M) && locate(/obj/item/organ/internal/xenos/hivenode) in M.internal_organs) return TRUE + if(istype(M) && locate(/obj/item/organ/internal/xenos/resinspinner/replicant) in M.internal_organs) + return TRUE return FALSE /datum/material/resin/wall_touch_special(var/turf/simulated/wall/W, var/mob/living/L) var/mob/living/carbon/M = L if(istype(M) && locate(/obj/item/organ/internal/xenos/hivenode) in M.internal_organs) - to_chat(M, "\The [W] shudders under your touch, starting to become porous.") + to_chat(M, "\The [W] shudders under your touch, starting to become porous.") + playsound(W, 'sound/effects/attackblob.ogg', 50, 1) + if(!do_after(L, 5 SECONDS)) + return FALSE + playsound(W, 'sound/effects/attackblob.ogg', 100, 1) + W.dismantle_wall() + return TRUE + if(istype(M) && locate(/obj/item/organ/internal/xenos/resinspinner/replicant) in M.internal_organs) + to_chat(M, "\The [W] shudders under your touch, starting to become porous.") playsound(W, 'sound/effects/attackblob.ogg', 50, 1) - if(do_after(L, 5 SECONDS)) - spawn(2) - playsound(W, 'sound/effects/attackblob.ogg', 100, 1) - W.dismantle_wall() + if(!do_after(L, 5 SECONDS)) + return FALSE + playsound(W, 'sound/effects/attackblob.ogg', 100, 1) + W.dismantle_wall() return TRUE return FALSE @@ -40,7 +50,7 @@ new /datum/stack_recipe("[display_name] nest", /obj/structure/bed/nest, 2, one_per_turf = 1, on_floor = 1, supplied_material = "[name]", pass_stack_color = TRUE), new /datum/stack_recipe("[display_name] wall girders", /obj/structure/girder/resin, 2, time = 5 SECONDS, one_per_turf = 1, on_floor = 1, supplied_material = "[name]", pass_stack_color = TRUE), new /datum/stack_recipe("crude [display_name] bandage", /obj/item/stack/medical/crude_pack, 1, time = 2 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]"), - new /datum/stack_recipe("[display_name] net", /obj/item/weapon/material/fishing_net, 10, time = 5 SECONDS, supplied_material = "[name]", pass_stack_color = TRUE), + new /datum/stack_recipe("[display_name] net", /obj/item/material/fishing_net, 10, time = 5 SECONDS, supplied_material = "[name]", pass_stack_color = TRUE), new /datum/stack_recipe("[display_name] membrane", /obj/structure/alien/membrane, 1, time = 2 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("[display_name] node", /obj/effect/alien/weeds/node, 1, time = 4 SECONDS, recycle_material = "[name]") ) \ No newline at end of file diff --git a/code/modules/materials/materials/organic/wood.dm b/code/modules/materials/materials/organic/wood.dm index 446ff021dce..f63e0c5b075 100644 --- a/code/modules/materials/materials/organic/wood.dm +++ b/code/modules/materials/materials/organic/wood.dm @@ -24,30 +24,30 @@ /datum/material/wood/generate_recipes() ..() recipes += list( - new /datum/stack_recipe("oar", /obj/item/weapon/oar, 2, time = 30, supplied_material = "[name]", pass_stack_color = TRUE), + new /datum/stack_recipe("oar", /obj/item/oar, 2, time = 30, supplied_material = "[name]", pass_stack_color = TRUE), new /datum/stack_recipe("boat", /obj/vehicle/boat, 20, time = 10 SECONDS, supplied_material = "[name]", pass_stack_color = TRUE), new /datum/stack_recipe("dragon boat", /obj/vehicle/boat/dragon, 50, time = 30 SECONDS, supplied_material = "[name]", pass_stack_color = TRUE), new /datum/stack_recipe("wooden sandals", /obj/item/clothing/shoes/sandal, 1, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("wood circlet", /obj/item/clothing/head/woodcirclet, 1, pass_stack_color = TRUE, recycle_material = "[name]"), - new /datum/stack_recipe("clipboard", /obj/item/weapon/clipboard, 1, pass_stack_color = TRUE, recycle_material = "[name]"), + new /datum/stack_recipe("clipboard", /obj/item/clipboard, 1, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("wood floor tile", /obj/item/stack/tile/wood, 1, 4, 20, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("wooden chair", /obj/structure/bed/chair/wood, 3, time = 10, one_per_turf = 1, on_floor = 1, pass_stack_color = TRUE, recycle_material = "[name]"), - new /datum/stack_recipe("crossbow frame", /obj/item/weapon/crossbowframe, 5, time = 25, one_per_turf = 0, on_floor = 0, pass_stack_color = TRUE, recycle_material = "[name]"), + new /datum/stack_recipe("crossbow frame", /obj/item/crossbowframe, 5, time = 25, one_per_turf = 0, on_floor = 0, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("coffin", /obj/structure/closet/coffin, 5, time = 15, one_per_turf = 1, on_floor = 1, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("beehive assembly", /obj/item/beehive_assembly, 4, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("beehive frame", /obj/item/honey_frame, 1, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("book shelf", /obj/structure/bookcase, 5, time = 15, one_per_turf = 1, on_floor = 1, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("wooden shelves", /obj/structure/table/rack/shelf/wood, 1, one_per_turf = TRUE, time = 5, on_floor = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("noticeboard frame", /obj/item/frame/noticeboard, 4, time = 5, one_per_turf = 0, on_floor = 1, pass_stack_color = TRUE, recycle_material = "[name]"), - new /datum/stack_recipe("coilgun stock", /obj/item/weapon/coilgun_assembly, 5, pass_stack_color = TRUE, recycle_material = "[name]"), - new /datum/stack_recipe("crude fishing rod", /obj/item/weapon/material/fishing_rod/built, 8, time = 10 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]"), + new /datum/stack_recipe("coilgun stock", /obj/item/coilgun_assembly, 5, pass_stack_color = TRUE, recycle_material = "[name]"), + new /datum/stack_recipe("crude fishing rod", /obj/item/material/fishing_rod/built, 8, time = 10 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("wooden standup figure", /obj/structure/barricade/cutout, 5, time = 10 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]"), //VOREStation Add new /datum/stack_recipe("noticeboard", /obj/structure/noticeboard, 1, recycle_material = "[name]"), new /datum/stack_recipe("tanning rack", /obj/structure/tanning_rack, 3, one_per_turf = TRUE, time = 20, on_floor = TRUE, supplied_material = "[name]"), new /datum/stack_recipe("painting easel", /obj/structure/easel, 5, one_per_turf = TRUE, time = 20, on_floor = TRUE, supplied_material = "[name]"), new /datum/stack_recipe("painting frame", /obj/item/frame/painting, 5, one_per_turf = TRUE, time = 20, on_floor = TRUE, supplied_material = "[name]"), new /datum/stack_recipe("roofing tile", /obj/item/stack/tile/roofing, 3, 4, 20, recycle_material = "[name]"), - new /datum/stack_recipe("shovel", /obj/item/weapon/shovel/wood, 2, time = 10, on_floor = TRUE, supplied_material = "[name]") + new /datum/stack_recipe("shovel", /obj/item/shovel/wood, 2, time = 10, on_floor = TRUE, supplied_material = "[name]") ) /datum/material/wood/sif diff --git a/code/modules/materials/materials/plastic.dm b/code/modules/materials/materials/plastic.dm index b31ed2cb736..cbea431e733 100644 --- a/code/modules/materials/materials/plastic.dm +++ b/code/modules/materials/materials/plastic.dm @@ -17,11 +17,11 @@ ..() recipes += list( new /datum/stack_recipe("plastic crate", /obj/structure/closet/crate/plastic, 10, one_per_turf = 1, on_floor = 1, pass_stack_color = TRUE, recycle_material = "[name]"), - new /datum/stack_recipe("plastic bag", /obj/item/weapon/storage/bag/plasticbag, 3, on_floor = 1, pass_stack_color = TRUE, recycle_material = "[name]"), - new /datum/stack_recipe("blood pack", /obj/item/weapon/reagent_containers/blood/empty, 4, on_floor = 0, pass_stack_color = TRUE, recycle_material = "[name]"), - new /datum/stack_recipe("reagent dispenser cartridge (large)", /obj/item/weapon/reagent_containers/chem_disp_cartridge, 5, on_floor=0, pass_stack_color = TRUE, recycle_material = "[name]"), // 500u - new /datum/stack_recipe("reagent dispenser cartridge (med)", /obj/item/weapon/reagent_containers/chem_disp_cartridge/medium, 3, on_floor=0, pass_stack_color = TRUE, recycle_material = "[name]"), // 250u - new /datum/stack_recipe("reagent dispenser cartridge (small)", /obj/item/weapon/reagent_containers/chem_disp_cartridge/small, 1, on_floor=0, pass_stack_color = TRUE, recycle_material = "[name]"), // 100u + new /datum/stack_recipe("plastic bag", /obj/item/storage/bag/plasticbag, 3, on_floor = 1, pass_stack_color = TRUE, recycle_material = "[name]"), + new /datum/stack_recipe("blood pack", /obj/item/reagent_containers/blood/empty, 4, on_floor = 0, pass_stack_color = TRUE, recycle_material = "[name]"), + new /datum/stack_recipe("reagent dispenser cartridge (large)", /obj/item/reagent_containers/chem_disp_cartridge, 5, on_floor=0, pass_stack_color = TRUE, recycle_material = "[name]"), // 500u + new /datum/stack_recipe("reagent dispenser cartridge (med)", /obj/item/reagent_containers/chem_disp_cartridge/medium, 3, on_floor=0, pass_stack_color = TRUE, recycle_material = "[name]"), // 250u + new /datum/stack_recipe("reagent dispenser cartridge (small)", /obj/item/reagent_containers/chem_disp_cartridge/small, 1, on_floor=0, pass_stack_color = TRUE, recycle_material = "[name]"), // 100u new /datum/stack_recipe("white floor tile", /obj/item/stack/tile/floor/white, 1, 4, 20, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("freezer floor tile", /obj/item/stack/tile/floor/freezer, 1, 4, 20, pass_stack_color = TRUE, recycle_material = "[name]"), @@ -50,8 +50,8 @@ new /datum/stack_recipe("shower curtain", /obj/structure/curtain, 4, time = 15, one_per_turf = 1, on_floor = 1, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("plastic flaps", /obj/structure/plasticflaps, 4, time = 25, one_per_turf = 1, on_floor = 1, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("water-cooler", /obj/structure/reagent_dispensers/water_cooler, 4, time = 10, one_per_turf = 1, on_floor = 1, pass_stack_color = TRUE, recycle_material = "[name]"), - new /datum/stack_recipe("lampshade", /obj/item/weapon/lampshade, 1, time = 1, pass_stack_color = TRUE, recycle_material = "[name]"), - new /datum/stack_recipe("plastic net", /obj/item/weapon/material/fishing_net, 25, time = 1 MINUTE, pass_stack_color = TRUE, recycle_material = "[name]"), + new /datum/stack_recipe("lampshade", /obj/item/lampshade, 1, time = 1, pass_stack_color = TRUE, recycle_material = "[name]"), + new /datum/stack_recipe("plastic net", /obj/item/material/fishing_net, 25, time = 1 MINUTE, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("plastic fishtank", /obj/item/glass_jar/fish/plastic, 2, time = 30 SECONDS, recycle_material = "[name]"), new /datum/stack_recipe("reagent tubing", /obj/item/stack/hose, 1, 4, 20, pass_stack_color = TRUE, recycle_material = "[name]") ) @@ -79,21 +79,21 @@ /datum/material/cardboard/generate_recipes() ..() recipes += list( - new /datum/stack_recipe("box", /obj/item/weapon/storage/box, pass_stack_color = TRUE, recycle_material = "[name]"), - new /datum/stack_recipe("donut box", /obj/item/weapon/storage/box/donut/empty, pass_stack_color = TRUE, recycle_material = "[name]"), - new /datum/stack_recipe("egg box", /obj/item/weapon/storage/fancy/egg_box, pass_stack_color = TRUE, recycle_material = "[name]"), - new /datum/stack_recipe("light tubes box", /obj/item/weapon/storage/box/lights/tubes, pass_stack_color = TRUE, recycle_material = "[name]"), - new /datum/stack_recipe("light bulbs box", /obj/item/weapon/storage/box/lights/bulbs, pass_stack_color = TRUE, recycle_material = "[name]"), - new /datum/stack_recipe("mouse traps box", /obj/item/weapon/storage/box/mousetraps, pass_stack_color = TRUE, recycle_material = "[name]"), + new /datum/stack_recipe("box", /obj/item/storage/box, pass_stack_color = TRUE, recycle_material = "[name]"), + new /datum/stack_recipe("donut box", /obj/item/storage/box/donut/empty, pass_stack_color = TRUE, recycle_material = "[name]"), + new /datum/stack_recipe("egg box", /obj/item/storage/fancy/egg_box, pass_stack_color = TRUE, recycle_material = "[name]"), + new /datum/stack_recipe("light tubes box", /obj/item/storage/box/lights/tubes, pass_stack_color = TRUE, recycle_material = "[name]"), + new /datum/stack_recipe("light bulbs box", /obj/item/storage/box/lights/bulbs, pass_stack_color = TRUE, recycle_material = "[name]"), + new /datum/stack_recipe("mouse traps box", /obj/item/storage/box/mousetraps, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("cardborg suit", /obj/item/clothing/suit/cardborg, 3, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("cardborg helmet", /obj/item/clothing/head/cardborg, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("pizza box", /obj/item/pizzabox, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe_list("folders",list( - new /datum/stack_recipe("blue folder", /obj/item/weapon/folder/blue, recycle_material = "[name]"), - new /datum/stack_recipe("grey folder", /obj/item/weapon/folder, recycle_material = "[name]"), - new /datum/stack_recipe("red folder", /obj/item/weapon/folder/red, recycle_material = "[name]"), - new /datum/stack_recipe("white folder", /obj/item/weapon/folder/white, recycle_material = "[name]"), - new /datum/stack_recipe("yellow folder", /obj/item/weapon/folder/yellow, recycle_material = "[name]") + new /datum/stack_recipe("blue folder", /obj/item/folder/blue, recycle_material = "[name]"), + new /datum/stack_recipe("grey folder", /obj/item/folder, recycle_material = "[name]"), + new /datum/stack_recipe("red folder", /obj/item/folder/red, recycle_material = "[name]"), + new /datum/stack_recipe("white folder", /obj/item/folder/white, recycle_material = "[name]"), + new /datum/stack_recipe("yellow folder", /obj/item/folder/yellow, recycle_material = "[name]") )) ) diff --git a/code/modules/materials/materials/snow.dm b/code/modules/materials/materials/snow.dm index 5434bfc0d42..0dde3aa7c4d 100644 --- a/code/modules/materials/materials/snow.dm +++ b/code/modules/materials/materials/snow.dm @@ -18,7 +18,7 @@ /datum/material/snow/generate_recipes() recipes = list( - new /datum/stack_recipe("snowball", /obj/item/weapon/material/snow/snowball, 1, time = 10, recycle_material = "[name]"), + new /datum/stack_recipe("snowball", /obj/item/material/snow/snowball, 1, time = 10, recycle_material = "[name]"), new /datum/stack_recipe("snow brick", /obj/item/stack/material/snowbrick, 2, time = 10, recycle_material = "[name]"), new /datum/stack_recipe("snowman", /obj/structure/snowman, 2, time = 15, recycle_material = "[name]"), new /datum/stack_recipe("snow robot", /obj/structure/snowman/borg, 2, time = 10, recycle_material = "[name]"), @@ -48,11 +48,11 @@ recipes = list( new /datum/stack_recipe("[display_name] door", /obj/structure/simple_door, 10, one_per_turf = 1, on_floor = 1, supplied_material = "[name]"), new /datum/stack_recipe("[display_name] barricade", /obj/structure/barricade, 5, time = 50, one_per_turf = 1, on_floor = 1, supplied_material = "[name]"), - new /datum/stack_recipe("[display_name] stool", /obj/item/weapon/stool, one_per_turf = 1, on_floor = 1, supplied_material = "[name]"), + new /datum/stack_recipe("[display_name] stool", /obj/item/stool, one_per_turf = 1, on_floor = 1, supplied_material = "[name]"), new /datum/stack_recipe("[display_name] chair", /obj/structure/bed/chair, one_per_turf = 1, on_floor = 1, supplied_material = "[name]"), new /datum/stack_recipe("[display_name] bed", /obj/structure/bed, 2, one_per_turf = 1, on_floor = 1, supplied_material = "[name]"), new /datum/stack_recipe("[display_name] double bed", /obj/structure/bed/double, 4, one_per_turf = 1, on_floor = 1, supplied_material = "[name]"), new /datum/stack_recipe("[display_name] wall girders", /obj/structure/girder, 2, time = 50, one_per_turf = 1, on_floor = 1, supplied_material = "[name]"), - new /datum/stack_recipe("[display_name] ashtray", /obj/item/weapon/material/ashtray, 2, one_per_turf = 1, on_floor = 1, supplied_material = "[name]"), - new /datum/stack_recipe("[display_name] flooring", /obj/item/stack/tile/snowbrick, 2, max_res_amount = 20, on_floor = 1)//YW add - snow tile floor + new /datum/stack_recipe("[display_name] ashtray", /obj/item/material/ashtray, 2, one_per_turf = 1, on_floor = 1, supplied_material = "[name]"), + new /datum/stack_recipe("[display_name] flooring", /obj/item/stack/tile/snowbrick, 2, max_res_amount = 20, on_floor = 1) //YW add - snow tile floor ) diff --git a/code/modules/materials/sheets/metals/rods.dm b/code/modules/materials/sheets/metals/rods.dm index dbb30c19d9d..4363cb55c14 100644 --- a/code/modules/materials/sheets/metals/rods.dm +++ b/code/modules/materials/sheets/metals/rods.dm @@ -44,17 +44,17 @@ var/global/list/datum/stack_recipe/rods_recipes = list( \ /obj/item/stack/rods/attackby(obj/item/W as obj, mob/user as mob) if(W.has_tool_quality(TOOL_WELDER)) - var/obj/item/weapon/weldingtool/WT = W.get_welder() + var/obj/item/weldingtool/WT = W.get_welder() if(get_amount() < 2) - to_chat(user, "You need at least two rods to do this.") + to_chat(user, span_warning("You need at least two rods to do this.")) return if(WT.remove_fuel(0,user)) var/obj/item/stack/material/steel/new_item = new(usr.loc) new_item.add_to_stacks(usr) for (var/mob/M in viewers(src)) - M.show_message("[src] is shaped into metal by [user.name] with the weldingtool.", 3, "You hear welding.", 2) + M.show_message(span_notice("[src] is shaped into metal by [user.name] with the weldingtool."), 3, span_notice("You hear welding."), 2) var/obj/item/stack/rods/R = src src = null var/replace = (user.get_inactive_hand()==R) @@ -63,12 +63,12 @@ var/global/list/datum/stack_recipe/rods_recipes = list( \ user.put_in_hands(new_item) return - if (istype(W, /obj/item/weapon/tape_roll)) + if (istype(W, /obj/item/tape_roll)) var/obj/item/stack/medical/splint/ghetto/new_splint = new(get_turf(user)) new_splint.add_fingerprint(user) - user.visible_message("\The [user] constructs \a [new_splint] out of a [singular_name].", \ - "You use make \a [new_splint] out of a [singular_name].") + user.visible_message(span_infoplain(span_bold("\The [user]") + " constructs \a [new_splint] out of a [singular_name]."), \ + span_notice("You use make \a [new_splint] out of a [singular_name].")) src.use(1) return @@ -93,17 +93,17 @@ var/global/list/datum/stack_recipe/rods_recipes = list( \ else if(!in_use) if(get_amount() < 2) - to_chat(user, "You need at least two rods to do this.") + to_chat(user, span_warning("You need at least two rods to do this.")) return - to_chat(usr, "Assembling grille...") + to_chat(usr, span_notice("Assembling grille...")) in_use = 1 if (!do_after(usr, 10)) in_use = 0 return var/obj/structure/grille/F = new /obj/structure/grille/ ( usr.loc ) - to_chat(usr, "You assemble a grille") + to_chat(usr, span_notice("You assemble a grille")) in_use = 0 F.add_fingerprint(usr) use(2) return -*/ \ No newline at end of file +*/ diff --git a/code/modules/materials/sheets/organic/animal_products.dm b/code/modules/materials/sheets/organic/animal_products.dm index 4a0c9cd7bbb..ac747ecff54 100644 --- a/code/modules/materials/sheets/organic/animal_products.dm +++ b/code/modules/materials/sheets/organic/animal_products.dm @@ -60,7 +60,7 @@ /datum/material/fur/generate_recipes() recipes = list( new /datum/stack_recipe("duster", /obj/item/clothing/suit/storage/duster/craftable, 10, time = 15 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]"), - new /datum/stack_recipe("bedsheet", /obj/item/weapon/bedsheet/craftable, 10, time = 30 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]"), + new /datum/stack_recipe("bedsheet", /obj/item/bedsheet/craftable, 10, time = 30 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("jumpsuit", /obj/item/clothing/under/color/white/craftable, 8, time = 15 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("foot wraps", /obj/item/clothing/shoes/footwraps/craftable, 2, time = 5 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("gloves", /obj/item/clothing/gloves/white/craftable, 2, time = 5 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]"), @@ -72,18 +72,18 @@ new /datum/stack_recipe("kippa", /obj/item/clothing/head/kippa/craftable, 3, time = 6 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("scarf", /obj/item/clothing/accessory/scarf/white/craftable, 4, time = 5 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("baggy pants", /obj/item/clothing/under/pants/baggy/white/craftable, 8, time = 10 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]"), - new /datum/stack_recipe("belt pouch", /obj/item/weapon/storage/belt/fannypack/white/craftable, 25, time = 1 MINUTE, pass_stack_color = TRUE, recycle_material = "[name]"), - new /datum/stack_recipe("pouch, small", /obj/item/weapon/storage/pouch/small, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), //vorestation Add - new /datum/stack_recipe("pouch, ammo", /obj/item/weapon/storage/pouch/ammo, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), //vorestation Add - new /datum/stack_recipe("pouch, tools", /obj/item/weapon/storage/pouch/eng_tool, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), //vorestation Add - new /datum/stack_recipe("pouch, parts", /obj/item/weapon/storage/pouch/eng_parts, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), //vorestation Add - new /datum/stack_recipe("pouch, supplies", /obj/item/weapon/storage/pouch/eng_supply, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), //vorestation Add - new /datum/stack_recipe("pouch, medical", /obj/item/weapon/storage/pouch/medical, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), //vorestation Add - new /datum/stack_recipe("pouch, flare", /obj/item/weapon/storage/pouch/flares, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), //vorestation Add + new /datum/stack_recipe("belt pouch", /obj/item/storage/belt/fannypack/white/craftable, 25, time = 1 MINUTE, pass_stack_color = TRUE, recycle_material = "[name]"), + new /datum/stack_recipe("pouch, small", /obj/item/storage/pouch/small, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), //vorestation Add + new /datum/stack_recipe("pouch, ammo", /obj/item/storage/pouch/ammo, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), //vorestation Add + new /datum/stack_recipe("pouch, tools", /obj/item/storage/pouch/eng_tool, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), //vorestation Add + new /datum/stack_recipe("pouch, parts", /obj/item/storage/pouch/eng_parts, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), //vorestation Add + new /datum/stack_recipe("pouch, supplies", /obj/item/storage/pouch/eng_supply, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), //vorestation Add + new /datum/stack_recipe("pouch, medical", /obj/item/storage/pouch/medical, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), //vorestation Add + new /datum/stack_recipe("pouch, flare", /obj/item/storage/pouch/flares, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), //vorestation Add new /datum/stack_recipe("crude bandage", /obj/item/stack/medical/crude_pack, 1, time = 2 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("empty sandbag", /obj/item/stack/emptysandbag, 2, time = 2 SECONDS, pass_stack_color = TRUE, supplied_material = "[name]"), - new /datum/stack_recipe("satchel", /obj/item/weapon/storage/backpack/satchel/craftable, 30, time = 1 MINUTE, pass_stack_color = TRUE, recycle_material = "[name]"), - new /datum/stack_recipe("backpack", /obj/item/weapon/storage/backpack/craftable, 30, time = 1 MINUTE, pass_stack_color = TRUE, recycle_material = "[name]"), + new /datum/stack_recipe("satchel", /obj/item/storage/backpack/satchel/craftable, 30, time = 1 MINUTE, pass_stack_color = TRUE, recycle_material = "[name]"), + new /datum/stack_recipe("backpack", /obj/item/storage/backpack/craftable, 30, time = 1 MINUTE, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("cloak", /obj/item/clothing/accessory/poncho/roles/cloak/custom, 10, time = 15 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("teshari cloak", /obj/item/clothing/under/teshari/smock/white/craftable, 10, time = 15 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("teshari beltcloak", /obj/item/clothing/suit/storage/teshari/beltcloak/standard/black_white/craftable, 10, time = 15 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]"), @@ -111,7 +111,7 @@ /obj/item/clothing/suit/storage/duster/craftable name = "handmade duster" -/obj/item/weapon/bedsheet/craftable +/obj/item/bedsheet/craftable name = "handmade bedsheet" /obj/item/clothing/under/color/white/craftable name = "handmade jumpsuit" @@ -131,13 +131,13 @@ name = "handmade scarf" /obj/item/clothing/under/pants/baggy/white/craftable name = "handmade pants" -/obj/item/weapon/storage/belt/fannypack/white/craftable +/obj/item/storage/belt/fannypack/white/craftable name = "handmade fannypack" -/obj/item/weapon/storage/backpack/satchel/craftable +/obj/item/storage/backpack/satchel/craftable name = "handmade satchel" icon_state = "satchel_white" desc = "A handmade satchel, made for holding your things!" -/obj/item/weapon/storage/backpack/craftable +/obj/item/storage/backpack/craftable name = "handmade backpack" icon_state = "backpack_white" /obj/item/clothing/under/teshari/smock/white/craftable diff --git a/code/modules/materials/sheets/organic/tanning/hide.dm b/code/modules/materials/sheets/organic/tanning/hide.dm index 5f61873537e..c8918e8bc2a 100644 --- a/code/modules/materials/sheets/organic/tanning/hide.dm +++ b/code/modules/materials/sheets/organic/tanning/hide.dm @@ -1,7 +1,7 @@ /obj/item/stack/animalhide name = "hide" desc = "The hide of some creature." - description_info = "Use something sharp, like a knife, to scrape the hairs/feathers/etc off this hide to prepare it for tanning." + description_info = "Use something " + span_bold(span_red("sharp")) + ", like a knife, to scrape the hairs/feathers/etc off this hide to prepare it for tanning." icon_state = "sheet-hide" drop_sound = 'sound/items/drop/cloth.ogg' pickup_sound = 'sound/items/pickup/cloth.ogg' @@ -15,10 +15,10 @@ . += description_info //Step one - dehairing. -/obj/item/stack/animalhide/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/item/stack/animalhide/attackby(obj/item/W as obj, mob/user as mob) if(has_edge(W) || is_sharp(W)) //visible message on mobs is defined as visible_message(var/message, var/self_message, var/blind_message) - user.visible_message("\The [user] starts cutting hair off \the [src]", "You start cutting the hair off \the [src]", "You hear the sound of a knife rubbing against flesh") + user.visible_message(span_infoplain(span_bold("\The [user]") + " starts cutting hair off \the [src]"), span_notice("You start cutting the hair off \the [src]"), "You hear the sound of a knife rubbing against flesh") var/scraped = 0 while(amount > 0 && do_after(user, 2.5 SECONDS, user)) //Try locating an exisitng stack on the tile and add to there if possible @@ -40,7 +40,7 @@ scraped++ if(scraped) - to_chat(user, SPAN_NOTICE("You scrape the hair off [scraped] hide\s.")) + to_chat(user, span_notice("You scrape the hair off [scraped] hide\s.")) else ..() diff --git a/code/modules/materials/sheets/organic/tanning/hide_hairless.dm b/code/modules/materials/sheets/organic/tanning/hide_hairless.dm index edb36b9b867..3cf927a8255 100644 --- a/code/modules/materials/sheets/organic/tanning/hide_hairless.dm +++ b/code/modules/materials/sheets/organic/tanning/hide_hairless.dm @@ -3,7 +3,7 @@ /obj/item/stack/hairlesshide name = "hairless hide" desc = "This hide was stripped of it's hair, but still needs tanning." - description_info = "Get it wet to continue tanning this into leather.
    \ + description_info = "Get it " + span_bold(span_blue("wet")) + " to continue tanning this into leather.
    \ You could set it in a river, wash it with a sink, or just splash water on it with a bucket." singular_name = "hairless hide piece" icon_state = "sheet-hairlesshide" diff --git a/code/modules/materials/sheets/organic/tanning/leather_wet.dm b/code/modules/materials/sheets/organic/tanning/leather_wet.dm index be4d60570aa..070b45c7a3b 100644 --- a/code/modules/materials/sheets/organic/tanning/leather_wet.dm +++ b/code/modules/materials/sheets/organic/tanning/leather_wet.dm @@ -3,9 +3,9 @@ name = "wet leather" desc = "This leather has been cleaned but still needs to be dried." description_info = "To finish tanning the leather, you need to dry it. \ - You could place it under a fire, \ - put it in a drying rack, \ - or build a tanning rack from steel or wooden boards." + You could place it under a " + span_bold(span_red("fire")) + ", \ + put it in a " + span_bold(span_blue("drying rack")) + ", \ + or build a " + span_bold(span_brown("tanning rack")) + " from steel or wooden boards." singular_name = "wet leather piece" icon_state = "sheet-wetleather" var/wetness = 30 //Reduced when exposed to high temperautres diff --git a/code/modules/materials/sheets/organic/wood.dm b/code/modules/materials/sheets/organic/wood.dm index f41fa64439d..73961df1857 100644 --- a/code/modules/materials/sheets/organic/wood.dm +++ b/code/modules/materials/sheets/organic/wood.dm @@ -51,7 +51,7 @@ var/time = (3 SECONDS / max(W.force / 10, 1)) * W.toolspeed user.setClickCooldown(time) if(do_after(user, time, src) && use(1)) - to_chat(user, "You cut up a log into planks.") + to_chat(user, span_notice("You cut up a log into planks.")) playsound(src, 'sound/effects/woodcutting.ogg', 50, 1) var/obj/item/stack/material/wood/existing_wood = null for(var/obj/item/stack/material/wood/M in user.loc) @@ -61,7 +61,7 @@ var/obj/item/stack/material/wood/new_wood = new plank_type(user.loc, 2) if(existing_wood && new_wood.transfer_to(existing_wood)) - to_chat(user, "You add the newly-formed wood to the stack. It now contains [existing_wood.get_amount()] planks.") + to_chat(user, span_notice("You add the newly-formed wood to the stack. It now contains [existing_wood.get_amount()] planks.")) else return ..() @@ -79,4 +79,4 @@ /obj/item/stack/material/stick/fivestack amount = 5 - color = "#824B28" \ No newline at end of file + color = "#824B28" diff --git a/code/modules/materials/sheets/supermatter.dm b/code/modules/materials/sheets/supermatter.dm index c56f2980881..03da2643ad5 100644 --- a/code/modules/materials/sheets/supermatter.dm +++ b/code/modules/materials/sheets/supermatter.dm @@ -33,7 +33,7 @@ burn_user = FALSE if(burn_user) - H.visible_message("\The [src] flashes as it scorches [H]'s hands!") + H.visible_message(span_danger("\The [src] flashes as it scorches [H]'s hands!")) H.apply_damage(amount / 2 + 5, BURN, "r_hand", used_weapon="Supermatter Chunk") H.apply_damage(amount / 2 + 5, BURN, "l_hand", used_weapon="Supermatter Chunk") H.drop_from_inventory(src, get_turf(H)) @@ -52,4 +52,4 @@ qdel(src) return SSradiation.radiate(get_turf(src), amount * 2) - ..() \ No newline at end of file + ..() diff --git a/code/modules/media/juke_remote.dm b/code/modules/media/juke_remote.dm index 416db7a792e..4091c0c5aa1 100644 --- a/code/modules/media/juke_remote.dm +++ b/code/modules/media/juke_remote.dm @@ -1,4 +1,4 @@ -/obj/item/device/juke_remote +/obj/item/juke_remote name = "\improper BoomTown cordless speaker" desc = "Once paired with a jukebox, this speaker can relay the tunes elsewhere!" @@ -12,56 +12,56 @@ var/area/our_area /* -/obj/item/device/juke_remote/Initialize() +/obj/item/juke_remote/Initialize() . = ..() flags |= NOBLUDGEON */ // Pairing -/obj/item/device/juke_remote/proc/pair_juke(obj/machinery/media/jukebox/juke, mob/user) +/obj/item/juke_remote/proc/pair_juke(obj/machinery/media/jukebox/juke, mob/user) if(paired_juke) - to_chat(user, "The [src] is already paired to [paired_juke == juke ? "that" : "a different"] jukebox.") + to_chat(user, span_warning("The [src] is already paired to [paired_juke == juke ? "that" : "a different"] jukebox.")) return paired_juke = juke LAZYDISTINCTADD(paired_juke.remotes, src) - to_chat(user, "You pair the [src] to the [juke].") + to_chat(user, span_notice("You pair the [src] to the [juke].")) icon_state = "[initial(icon_state)]_ready" -/obj/item/device/juke_remote/proc/unpair_juke(mob/user) +/obj/item/juke_remote/proc/unpair_juke(mob/user) if(!paired_juke) - to_chat(user, "The [src] isn't paired to anything.") + to_chat(user, span_warning("The [src] isn't paired to anything.")) return LAZYREMOVE(paired_juke.remotes, src) paired_juke = null icon_state = initial(icon_state) unanchor() detach_area() - to_chat(user, "You unpair the [src].") + to_chat(user, span_notice("You unpair the [src].")) icon_state = "[initial(icon_state)]" -/obj/item/device/juke_remote/afterattack(atom/target, mob/user, proximity_flag, click_parameters) +/obj/item/juke_remote/afterattack(atom/target, mob/user, proximity_flag, click_parameters) if(istype(target, /obj/machinery/media/jukebox)) pair_juke(target, user) return return ..() -/obj/item/device/juke_remote/verb/reset() +/obj/item/juke_remote/verb/reset() set name = "Reset Pairing" set desc = "Unpair this speaker from a jukebox." unpair_juke(usr) // Deploying -/obj/item/device/juke_remote/Moved(atom/old_loc, direction, forced) +/obj/item/juke_remote/Moved(atom/old_loc, direction, forced) . = ..() if(paired_juke && !anchored && isturf(loc)) anchor() -/obj/item/device/juke_remote/attack_hand(mob/living/user) +/obj/item/juke_remote/attack_hand(mob/living/user) if(anchored) unanchor() return ..() -/obj/item/device/juke_remote/proc/anchor() +/obj/item/juke_remote/proc/anchor() if(anchored) return anchored = TRUE @@ -72,7 +72,7 @@ else icon_state = "[initial(icon_state)]" -/obj/item/device/juke_remote/proc/unanchor() +/obj/item/juke_remote/proc/unanchor() detach_area() anchored = FALSE visible_message("[src] detaches from it's mounting surface, able to be moved once again.", runemessage = "clunk") @@ -82,7 +82,7 @@ icon_state = "[initial(icon_state)]" // Area handling -/obj/item/device/juke_remote/proc/attach_area() +/obj/item/juke_remote/proc/attach_area() var/area/A = get_area(src) if(!A || !paired_juke) error("Jukebox remote at [x],[y],[z] without paired juke tried to bind to an area.") @@ -93,8 +93,8 @@ A.media_source = paired_juke update_music() return TRUE - -/obj/item/device/juke_remote/proc/detach_area() + +/obj/item/juke_remote/proc/detach_area() if(!our_area || (paired_juke && our_area.media_source != paired_juke)) return our_area.media_source = null @@ -102,10 +102,10 @@ our_area = null // Music handling -/obj/item/device/juke_remote/proc/update_music() +/obj/item/juke_remote/proc/update_music() if(!our_area || !paired_juke) return // Send update to clients. for(var/mob/M in mobs_in_area(our_area)) if(M?.client) - M.update_music() \ No newline at end of file + M.update_music() diff --git a/code/modules/media/mediamanager.dm b/code/modules/media/mediamanager.dm index adc522546f6..e23866e8e9f 100644 --- a/code/modules/media/mediamanager.dm +++ b/code/modules/media/mediamanager.dm @@ -54,13 +54,13 @@ /client/verb/change_volume() set name = "Set Volume" - set category = "OOC" + set category = "OOC.Client Settings" set desc = "Set jukebox volume" set_new_volume(usr) /client/proc/set_new_volume(var/mob/user) if(QDELETED(src.media) || !istype(src.media)) - to_chat(user, "You have no media datum to change, if you're not in the lobby tell an admin.") + to_chat(user, span_warning("You have no media datum to change, if you're not in the lobby tell an admin.")) return var/value = input(usr, "Choose your Jukebox volume.", "Jukebox volume", media.volume) value = round(max(0, min(100, value))) @@ -137,11 +137,11 @@ // Tell the player to play something via JS. /datum/media_manager/proc/send_update() - if(!(owner.prefs)) + if(!owner.prefs) return - if(!owner.is_preference_enabled(/datum/client_preference/play_jukebox) && url != "") + if(!owner.prefs.read_preference(/datum/preference/toggle/play_jukebox) && url != "") return // Don't send anything other than a cancel to people with SOUND_STREAMING pref disabled - MP_DEBUG("Sending update to mediapanel ([url], [(world.time - start_time) / 10], [volume * source_volume])...") + MP_DEBUG(span_good("Sending update to mediapanel ([url], [(world.time - start_time) / 10], [volume * source_volume])...")) owner << output(list2params(list(url, (world.time - start_time) / 10, volume * source_volume)), "[WINDOW_ID]:SetMusic") /datum/media_manager/proc/push_music(var/targetURL, var/targetStartTime, var/targetVolume) diff --git a/code/modules/media/walkpod.dm b/code/modules/media/walkpod.dm index 3ef0f046b63..eadc493a82e 100644 --- a/code/modules/media/walkpod.dm +++ b/code/modules/media/walkpod.dm @@ -1,7 +1,7 @@ // Mostly a jukebox copy-paste, given the vastly different paths though it seemed worth it. // Would rather not have a bunch of /machinery baggage on our portable music player. -/obj/item/device/walkpod +/obj/item/walkpod name = "\improper PodZu music player" desc = "Portable music player! For when you need to ignore the rest of the world, there's only one choice: PodZu." description_fluff = "A prestigious set: The ZuMan music player, and the HeadPods headphones, both 90th anniversary releases! Together they form the PodZu Music Player, famous in the local galactic cluster for pumping sick beats directly into your head." @@ -20,17 +20,17 @@ var/media_url = "" var/media_start_time - var/obj/item/device/headpods/deployed_headpods + var/obj/item/headpods/deployed_headpods w_class = ITEMSIZE_COST_SMALL slot_flags = SLOT_BELT -/obj/item/device/walkpod/Destroy() +/obj/item/walkpod/Destroy() remove_listener() return ..() // Icon -/obj/item/device/walkpod/update_icon() +/obj/item/walkpod/update_icon() if(listener) if(deployed_headpods) icon_state = "zuman_on" @@ -43,39 +43,39 @@ icon_state = "[initial(icon_state)]" // Listener handling -/obj/item/device/walkpod/proc/check_listener() +/obj/item/walkpod/proc/check_listener() if(loc == listener) return TRUE return FALSE -/obj/item/device/walkpod/proc/remove_listener() +/obj/item/walkpod/proc/remove_listener() if(playing) StopPlaying() STOP_PROCESSING(SSobj, src) if(deployed_headpods) restore_headpods() - to_chat(listener, "You are no longer wearing the [src]'s headphones.") + to_chat(listener, span_notice("You are no longer wearing the [src]'s headphones.")) listener = null update_icon() -/obj/item/device/walkpod/proc/set_listener(mob/living/L) +/obj/item/walkpod/proc/set_listener(mob/living/L) if(listener) remove_listener() listener = L START_PROCESSING(SSobj, src) - to_chat(L, "You put the [src]'s headphones on and power it up, preparing to listen to some sick tunes.") + to_chat(L, span_notice("You put the [src]'s headphones on and power it up, preparing to listen to some sick tunes.")) update_icon() -/obj/item/device/walkpod/proc/update_music() +/obj/item/walkpod/proc/update_music() listener?.force_music(media_url, media_start_time, volume) // Calling this with "" url (when we aren't playing) helpfully disables forced music -/obj/item/device/walkpod/AltClick(mob/living/L) +/obj/item/walkpod/AltClick(mob/living/L) if(L == listener && check_listener()) tgui_interact(L) else if(loc == L) // at least they're holding it - to_chat(L, "Turn on the [src] first.") + to_chat(L, span_warning("Turn on the [src] first.")) -/obj/item/device/walkpod/attack_self(mob/living/L) +/obj/item/walkpod/attack_self(mob/living/L) if(!istype(L) || loc != L) return if(!listener) @@ -83,7 +83,7 @@ tgui_interact(L) // Process ticks to ensure our listener remains valid and we do music-ing -/obj/item/device/walkpod/process() +/obj/item/walkpod/process() if(!check_headpods()) restore_headpods() if(!check_listener()) @@ -116,7 +116,7 @@ start_stop_song() // Track/music internals -/obj/item/device/walkpod/proc/start_stop_song() +/obj/item/walkpod/proc/start_stop_song() if(current_track && playing) media_url = current_track.url media_start_time = world.time @@ -126,11 +126,11 @@ media_start_time = 0 update_music() -/obj/item/device/walkpod/proc/StopPlaying() +/obj/item/walkpod/proc/StopPlaying() playing = 0 start_stop_song() -/obj/item/device/walkpod/proc/StartPlaying() +/obj/item/walkpod/proc/StartPlaying() if(!current_track) return playing = 1 @@ -138,7 +138,7 @@ updateDialog() // Advance to the next track - Don't start playing it unless we were already playing -/obj/item/device/walkpod/proc/NextTrack() +/obj/item/walkpod/proc/NextTrack() var/list/tracks = getTracksList() if(!tracks.len) return var/curTrackIndex = max(1, tracks.Find(current_track)) @@ -149,7 +149,7 @@ updateDialog() // Unadvance to the notnext track - Don't start playing it unless we were already playing -/obj/item/device/walkpod/proc/PrevTrack() +/obj/item/walkpod/proc/PrevTrack() var/list/tracks = getTracksList() if(!tracks.len) return var/curTrackIndex = max(1, tracks.Find(current_track)) @@ -160,16 +160,16 @@ updateDialog() // UI -/obj/item/device/walkpod/proc/getTracksList() +/obj/item/walkpod/proc/getTracksList() return SSmedia_tracks.jukebox_tracks -/obj/item/device/walkpod/tgui_interact(mob/user, datum/tgui/ui) +/obj/item/walkpod/tgui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) if(!ui) ui = new(user, src, "Jukebox", "PodZu Music Player") ui.open() -/obj/item/device/walkpod/tgui_data(mob/user, datum/tgui/ui, datum/tgui_state/state) +/obj/item/walkpod/tgui_data(mob/user, datum/tgui/ui, datum/tgui_state/state) var/list/data = ..() data["playing"] = playing @@ -191,7 +191,7 @@ return data -/obj/item/device/walkpod/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state) +/obj/item/walkpod/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state) if(..()) return TRUE @@ -216,13 +216,13 @@ return TRUE if("play") if(current_track == null) - to_chat(usr, "No track selected.") + to_chat(ui.user, "No track selected.") else StartPlaying() return TRUE // Silly verb -/obj/item/device/walkpod/verb/take_headpods() +/obj/item/walkpod/verb/take_headpods() set name = "Take HeadPods" set desc = "Grab the pair of HeadPods." @@ -230,36 +230,36 @@ if(!istype(L)) return if(deployed_headpods) - to_chat(usr, "The HeadPods are already deployed!") + to_chat(usr, span_warning("The HeadPods are already deployed!")) return deployed_headpods = new () L.put_in_any_hand_if_possible(deployed_headpods) update_icon() -/obj/item/device/walkpod/attackby(obj/item/W, mob/user) +/obj/item/walkpod/attackby(obj/item/W, mob/user) if(W == deployed_headpods) restore_headpods(user) return return ..() -/obj/item/device/walkpod/proc/restore_headpods(mob/living/potential_holder) +/obj/item/walkpod/proc/restore_headpods(mob/living/potential_holder) if(!deployed_headpods) return if(listener) - to_chat(listener, "The headphone cable reunites the [deployed_headpods] with the [src] by retracting inwards.") + to_chat(listener, span_notice("The headphone cable reunites the [deployed_headpods] with the [src] by retracting inwards.")) if(istype(potential_holder)) potential_holder.unEquip(deployed_headpods, force = TRUE) qdel_null(deployed_headpods) update_icon() -/obj/item/device/walkpod/proc/check_headpods() +/obj/item/walkpod/proc/check_headpods() if(deployed_headpods && deployed_headpods.loc != loc) return FALSE return TRUE -/obj/item/device/headpods +/obj/item/headpods name = "\improper pair of HeadPods" desc = "Portable listening in Hi-Fi!" icon = 'icons/obj/device_vr.dmi' diff --git a/code/modules/mentor/mentor.dm b/code/modules/mentor/mentor.dm index e28202745e7..c6524130aa0 100644 --- a/code/modules/mentor/mentor.dm +++ b/code/modules/mentor/mentor.dm @@ -36,17 +36,17 @@ var/list/mentor_verbs_default = list( /client/proc/add_mentor_verbs() if(mentorholder) - verbs += mentor_verbs_default + add_verb(src, mentor_verbs_default) /client/proc/remove_mentor_verbs() if(mentorholder) - verbs -= mentor_verbs_default + remove_verb(src, mentor_verbs_default) /client/proc/make_mentor() - set category = "Special Verbs" + set category = "Admin.Secrets" set name = "Make Mentor" if(!holder) - to_chat(src, "Error: Only administrators may use this command.") + to_chat(src, span_admin_pm_warning("Error: Only administrators may use this command.")) return var/list/client/targets[0] for(var/client/T in GLOB.clients) @@ -56,20 +56,20 @@ var/list/mentor_verbs_default = list( return var/client/C = targets[target] if(has_mentor_powers(C) || C.deadmin_holder) // If an admin is deadminned you could mentor them and that will cause fuckery if they readmin - to_chat(src, "Error: They already have mentor powers.") + to_chat(src, span_admin_pm_warning("Error: They already have mentor powers.")) return var/datum/mentor/M = new /datum/mentor(C.ckey) M.associate(C) - to_chat(C, "You have been granted mentorship.") - to_chat(src, "You have made [C] a mentor.") + to_chat(C, span_admin_pm_notice("You have been granted mentorship.")) + to_chat(src, span_admin_pm_notice("You have made [C] a mentor.")) log_admin("[key_name(src)] made [key_name(C)] a mentor.") feedback_add_details("admin_verb","Make Mentor") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/unmake_mentor() - set category = "Special Verbs" + set category = "Admin.Secrets" set name = "Unmake Mentor" if(!holder) - to_chat(src, "Error: Only administrators may use this command.") + to_chat(src, span_admin_pm_warning("Error: Only administrators may use this command.")) return var/list/client/targets[0] for(var/client/T in GLOB.mentors) @@ -79,13 +79,13 @@ var/list/mentor_verbs_default = list( return var/client/C = targets[target] C.mentorholder.disassociate() - to_chat(C, "Your mentorship has been revoked.") - to_chat(src, "You have revoked [C]'s mentorship.") + to_chat(C, span_admin_pm_warning("Your mentorship has been revoked.")) + to_chat(src, span_admin_pm_notice("You have revoked [C]'s mentorship.")) log_admin("[key_name(src)] revoked [key_name(C)]'s mentorship.") feedback_add_details("admin_verb","Unmake Mentor") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_mentor_say(msg as text) - set category = "Admin" + set category = "Admin.Chat" set name ="Mentorsay" //check rights @@ -99,9 +99,9 @@ var/list/mentor_verbs_default = list( log_admin("Mentorsay: [key_name(src)]: [msg]") for(var/client/C in GLOB.mentors) - to_chat(C, create_text_tag("mentor", "MENTOR:", C) + " [src]: [msg]") + to_chat(C, create_text_tag("mentor", "MENTOR:", C) + " " + span_mentor_channel(span_name("[src]") + ": " + span_message("[msg]"))) for(var/client/C in GLOB.admins) - to_chat(C, create_text_tag("mentor", "MENTOR:", C) + " [src]: [msg]") + to_chat(C, create_text_tag("mentor", "MENTOR:", C) + " " + span_mentor_channel(span_name("[src]") + ": " + span_message("[msg]"))) /proc/mentor_commands(href, href_list, client/C) if(href_list["mhelp"]) @@ -126,7 +126,7 @@ var/list/mentor_verbs_default = list( mentor_commands(href, href_list, usr) /client/proc/cmd_dementor() - set category = "Admin" + set category = "Admin.Misc" set name = "De-mentor" if(tgui_alert(usr, "Confirm self-dementor for the round? You can't re-mentor yourself without someone promoting you.","Dementor",list("Yes","No")) == "Yes") @@ -134,7 +134,7 @@ var/list/mentor_verbs_default = list( /client/proc/cmd_mhelp_reply(whom) if(prefs.muted & MUTE_ADMINHELP) - to_chat(src, "Error: Mentor-PM: You are unable to use admin PM-s (muted).") + to_chat(src, span_admin_pm_warning("Error: Mentor-PM: You are unable to use admin PM-s (muted).")) return var/client/C if(istext(whom)) @@ -143,16 +143,16 @@ var/list/mentor_verbs_default = list( C = whom if(!C) if(has_mentor_powers(src)) - to_chat(src, "Error: Mentor-PM: Client not found.") + to_chat(src, span_admin_pm_warning("Error: Mentor-PM: Client not found.")) return var/datum/mentor_help/MH = C.current_mentorhelp if(MH) - message_mentors("[src] has started replying to [C]'s mentor help.") + message_mentors(span_mentor_channel("[src] has started replying to [C]'s mentor help.")) var/msg = tgui_input_text(src,"Message:", "Private message to [C]", multiline = TRUE) if (!msg) - message_mentors("[src] has cancelled their reply to [C]'s mentor help.") + message_mentors(span_mentor_channel("[src] has cancelled their reply to [C]'s mentor help.")) return cmd_mentor_pm(whom, msg, MH) @@ -167,10 +167,15 @@ var/list/mentor_verbs_default = list( set name = "Request help" set hidden = 1 - var/mhelp = tgui_alert(usr, "Select the help you need.","Request for Help",list("Adminhelp","Mentorhelp")) == "Mentorhelp" - var/msg = tgui_input_text(usr, "Input your request for help.", "Request for Help", multiline = TRUE) + var/mhelp = tgui_alert(usr, "Select the help you need.","Request for Help",list("Adminhelp","Mentorhelp")) + if(!mhelp) + return + + var/msg = tgui_input_text(usr, "Input your request for help.", "Request for Help ([mhelp])", multiline = TRUE) + if(!msg) + return - if (mhelp) + if (mhelp == "Mentorhelp") mentorhelp(msg) return @@ -183,13 +188,13 @@ var/list/mentor_verbs_default = list( set hidden = 1 if(prefs.muted & MUTE_ADMINHELP) - to_chat(src, "Error: Mentor-PM: You are unable to use admin PM-s (muted).") + to_chat(src, span_mentor_pm_warning("Error: Mentor-PM: You are unable to use mentor PM-s (muted).")) return //Not a mentor and no open ticket if(!has_mentor_powers(src) && !current_mentorhelp) - to_chat(src, "You can no longer reply to this ticket, please open another one by using the Mentorhelp verb if need be.") - to_chat(src, "Message: [msg]") + to_chat(src, span_mentor_pm_warning("You can no longer reply to this ticket, please open another one by using the Mentorhelp verb if need be.")) + to_chat(src, span_mentor_pm_notice("Message: [msg]")) return var/client/recipient @@ -208,12 +213,12 @@ var/list/mentor_verbs_default = list( return if(prefs.muted & MUTE_ADMINHELP) - to_chat(src, "Error: Mentor-PM: You are unable to use admin PM-s (muted).") + to_chat(src, span_mentor_pm_warning("Error: Mentor-PM: You are unable to use mentor PM-s (muted).")) return if(!recipient) if(has_mentor_powers(src)) - to_chat(src, "Error:Mentor-PM: Client not found.") + to_chat(src, span_mentor_pm_warning("Error:Mentor-PM: Client not found.")) to_chat(src, msg) else log_admin("Mentorhelp: [key_name(src)]: [msg]") @@ -222,8 +227,8 @@ var/list/mentor_verbs_default = list( //Has mentor powers but the recipient no longer has an open ticket if(has_mentor_powers(src) && !recipient.current_mentorhelp) - to_chat(src, "You can no longer reply to this ticket.") - to_chat(src, "Message: [msg]") + to_chat(src, span_mentor_pm_warning("You can no longer reply to this ticket.")) + to_chat(src, span_mentor_pm_notice("Message: [msg]")) return if (src.handle_spam_prevention(msg,MUTE_ADMINHELP)) @@ -233,7 +238,7 @@ var/list/mentor_verbs_default = list( if(!msg) return - var/interaction_message = "Mentor-PM from-[src] to-[recipient]: [msg]" + var/interaction_message = span_mentor_pm_notice("Mentor-PM from-[src] to-[recipient]: [msg]") if (recipient.current_mentorhelp && !has_mentor_powers(recipient)) recipient.current_mentorhelp.AddInteraction(interaction_message) @@ -247,12 +252,12 @@ var/list/mentor_verbs_default = list( if (src.current_mentorhelp) src.current_mentorhelp.AddInteraction(interaction_message) - to_chat(recipient, "Mentor-PM from-[src]: [msg]") - to_chat(src, "Mentor-PM to-[recipient]: [msg]") + to_chat(recipient, span_mentor(span_italics("Mentor-PM from-[src]: [msg]"))) + to_chat(src, span_mentor(span_italics("Mentor-PM to-[recipient]: [msg]"))) log_admin("[key_name(src)]->[key_name(recipient)]: [msg]") - if(recipient.is_preference_enabled(/datum/client_preference/play_mentorhelp_ping)) + if(recipient.prefs?.read_preference(/datum/preference/toggle/play_mentorhelp_ping)) recipient << 'sound/effects/mentorhelp.mp3' for(var/client/C in GLOB.mentors) diff --git a/code/modules/mentor/mentorhelp.dm b/code/modules/mentor/mentorhelp.dm index 5b23a244af3..2d748823ce1 100644 --- a/code/modules/mentor/mentorhelp.dm +++ b/code/modules/mentor/mentorhelp.dm @@ -55,23 +55,28 @@ GLOBAL_DATUM_INIT(mhelp_tickets, /datum/mentor_help_tickets, new) var/list/dat = list("[title]") dat += "Refresh

    " for(var/datum/mentor_help/MH as anything in l2b) - dat += "Ticket #[MH.id]: [MH.initiator_ckey]: [MH.name]
    " + dat += span_adminnotice(span_adminhelp("Ticket #[MH.id]") + " [MH.initiator_ckey]: [MH.name]") + "
    " usr << browse(dat.Join(), "window=mhelp_list[state];size=600x480") //Tickets statpanel /datum/mentor_help_tickets/proc/stat_entry() + SHOULD_CALL_PARENT(TRUE) + SHOULD_NOT_SLEEP(TRUE) + var/list/L = list() var/num_disconnected = 0 - stat("== Mentor Tickets ==") - stat("Active Tickets:", astatclick.update("[active_tickets.len]")) + L[++L.len] = list("== Mentor Tickets ==", "", null, null) + L[++L.len] = list("Active Tickets:", "[astatclick.update("[active_tickets.len]")]", null, REF(astatclick)) + astatclick.update("[active_tickets.len]") for(var/datum/mentor_help/MH as anything in active_tickets) if(MH.initiator) - stat("#[MH.id]. [MH.initiator_ckey]:", MH.statclick.update()) + L[++L.len] = list("#[MH.id]. [MH.initiator_ckey]:", "[MH.statclick.update()]", REF(MH)) else ++num_disconnected if(num_disconnected) - stat("Disconnected:", astatclick.update("[num_disconnected]")) - stat("Resolved Tickets:", rstatclick.update("[resolved_tickets.len]")) + L[++L.len] = list("Disconnected:", "[astatclick.update("[num_disconnected]")]", null, REF(astatclick)) + L[++L.len] = list("Resolved Tickets:", "[rstatclick.update("[resolved_tickets.len]")]", null, REF(rstatclick)) + return L //Reassociate still open ticket if one exists /datum/mentor_help_tickets/proc/ClientLogin(client/C) @@ -158,7 +163,7 @@ GLOBAL_DATUM_INIT(mhelp_tickets, /datum/mentor_help_tickets, new) log_admin("Mentorhelp: [key_name(C)]: [msg]") MessageNoRecipient(msg) //show it to the person adminhelping too - to_chat(C, "Mentor-PM to-Mentors: [name]") + to_chat(C, span_mentor(span_italics("Mentor-PM to-" + span_bold("Mentors") + ": [name]"))) GLOB.mhelp_tickets.active_tickets += src @@ -191,24 +196,24 @@ GLOBAL_DATUM_INIT(mhelp_tickets, /datum/mentor_help_tickets, new) //message from the initiator without a target, all people with mentor powers will see this /datum/mentor_help/proc/MessageNoRecipient(msg) var/ref_src = "\ref[src]" - var/chat_msg = "(ESCALATE) Ticket [TicketHref("#[id]", ref_src)]: [LinkedReplyName(ref_src)]: [msg]" + var/chat_msg = span_notice("(ESCALATE) Ticket [TicketHref("#[id]", ref_src)]: [LinkedReplyName(ref_src)]: [msg]") AddInteraction("[LinkedReplyName(ref_src)]: [msg]") for (var/client/C in GLOB.mentors) - if (C.is_preference_enabled(/datum/client_preference/play_mentorhelp_ping)) + if (C.prefs?.read_preference(/datum/preference/toggle/play_mentorhelp_ping)) C << 'sound/effects/mentorhelp.mp3' for (var/client/C in GLOB.admins) - if (C.is_preference_enabled(/datum/client_preference/play_mentorhelp_ping)) + if (C.prefs?.read_preference(/datum/preference/toggle/play_mentorhelp_ping)) C << 'sound/effects/mentorhelp.mp3' message_mentors(chat_msg) //Reopen a closed ticket /datum/mentor_help/proc/Reopen() if(state == AHELP_ACTIVE) - to_chat(usr, "This ticket is already open.") + to_chat(usr, span_warning("This ticket is already open.")) return if(GLOB.mhelp_tickets.CKey2ActiveTicket(initiator_ckey)) - to_chat(usr, "This user already has an active ticket, cannot reopen this one.") + to_chat(usr, span_warning("This user already has an active ticket, cannot reopen this one.")) return statclick = new(null, src) @@ -224,8 +229,8 @@ GLOBAL_DATUM_INIT(mhelp_tickets, /datum/mentor_help_tickets, new) AddInteraction("Reopened by [usr.ckey]") if(initiator) - to_chat(initiator, "[span_purple("Ticket [TicketHref("#[id]")] was reopened by [usr.ckey].")]") - var/msg = "Ticket [TicketHref("#[id]")] reopened by [usr.ckey]." + to_chat(initiator, span_filter_adminlog("[span_purple("Ticket [TicketHref("#[id]")] was reopened by [usr.ckey].")]")) + var/msg = span_adminhelp("Ticket [TicketHref("#[id]")] reopened by [usr.ckey].") message_mentors(msg) log_admin(msg) feedback_inc("mhelp_reopen") @@ -249,9 +254,9 @@ GLOBAL_DATUM_INIT(mhelp_tickets, /datum/mentor_help_tickets, new) state = AHELP_RESOLVED GLOB.mhelp_tickets.ListInsert(src) - AddInteraction("[span_green("Resolved by [usr.ckey].")]") + AddInteraction(span_filter_adminlog("[span_green("Resolved by [usr.ckey].")]")) if(initiator) - to_chat(initiator, "[span_green("Ticket [TicketHref("#[id]")] was marked resolved by [usr.ckey].")]") + to_chat(initiator, span_filter_adminlog("[span_green("Ticket [TicketHref("#[id]")] was marked resolved by [usr.ckey].")]")) if(!silent) feedback_inc("mhelp_resolve") var/msg = "Ticket [TicketHref("#[id]")] resolved by [usr.ckey]" @@ -282,9 +287,9 @@ GLOBAL_DATUM_INIT(mhelp_tickets, /datum/mentor_help_tickets, new) dat += "
    Closed at: [gameTimestamp(wtime = closed_at)] (Approx [(world.time - closed_at) / 600] minutes ago)" dat += "

    " if(initiator) - dat += "Actions: [Context(ref_src)]
    " + dat += span_bold("Actions:") + " [Context(ref_src)]
    " else - dat += "DISCONNECTED[GLOB.TAB][ClosureLinks(ref_src)]
    " + dat += span_bold("DISCONNECTED") + "[GLOB.TAB][ClosureLinks(ref_src)]
    " dat += "
    Log:

    " for(var/I in _interactions) dat += "[I]
    " @@ -353,12 +358,12 @@ GLOBAL_DATUM_INIT(mhelp_tickets, /datum/mentor_help_tickets, new) if(tgui_alert(usr, "Really escalate this ticket to admins? No mentors will ever be able to interact with it again if you do.","Escalate",list("Yes","No")) != "Yes") return if (src.initiator == null) // You can't escalate a mentorhelp of someone who's logged out because it won't create the adminhelp properly - to_chat(usr, "Error: client not found, unable to escalate.") + to_chat(usr, span_mentor_pm_warning("Error: client not found, unable to escalate.")) return var/datum/admin_help/AH = new /datum/admin_help(src.name, src.initiator, FALSE) message_mentors("[usr.ckey] escalated Ticket [TicketHref("#[id]")]") log_admin("[key_name(usr)] escalated mentorhelp [src.name]") - to_chat(src.initiator, "[usr.ckey] escalated your mentorhelp to admins.") + to_chat(src.initiator, span_mentor("[usr.ckey] escalated your mentorhelp to admins.")) AH._interactions = src._interactions GLOB.mhelp_tickets.active_tickets -= src GLOB.mhelp_tickets.resolved_tickets -= src @@ -415,13 +420,9 @@ GLOBAL_DATUM_INIT(mhelp_tickets, /datum/mentor_help_tickets, new) set category = "Admin" set name = "Mentorhelp" - if(say_disabled) //This is here to try to identify lag problems - to_chat(usr, "Speech is currently admin-disabled.") - return - //handle muting and automuting if(prefs.muted & MUTE_ADMINHELP) - to_chat(src, "Error: Mentor-PM: You cannot send adminhelps (Muted).") + to_chat(src, span_danger("Error: Mentor-PM: You cannot send adminhelps (Muted).")) return if(handle_spam_prevention(msg,MUTE_ADMINHELP)) return @@ -439,30 +440,33 @@ GLOBAL_DATUM_INIT(mhelp_tickets, /datum/mentor_help_tickets, new) "Send to discord?", list("Admin-help!", "Still mentorhelp!", "Cancel")) if(choice == "Admin-help!") usr.client.adminhelp(msg) - src.verbs -= /client/verb/mentorhelp + remove_verb(src, /client/verb/mentorhelp) spawn(1200) - src.verbs += /client/verb/mentorhelp // 2 minute cd to prevent abusing this to spam admins. + add_verb(src, /client/verb/mentorhelp) // 2 minute cd to prevent abusing this to spam admins. return - else if(choice == "Cancel") + else if(!choice || choice == "Cancel") return //remove out adminhelp verb temporarily to prevent spamming of admins. - src.verbs -= /client/verb/mentorhelp + remove_verb(src, /client/verb/mentorhelp) spawn(600) - src.verbs += /client/verb/mentorhelp // 1 minute cool-down for mentorhelps + add_verb(src, /client/verb/mentorhelp) // 1 minute cool-down for mentorhelps feedback_add_details("admin_verb","Mentorhelp") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! if(current_mentorhelp) - if(tgui_alert(usr, "You already have a ticket open. Is this for the same issue?","Duplicate?",list("Yes","No")) != "No") + var/input = tgui_alert(usr, "You already have a ticket open. Is this for the same issue?","Duplicate?",list("Yes","No")) + if(!input) + return + if(input == "Yes") if(current_mentorhelp) log_admin("Mentorhelp: [key_name(src)]: [msg]") current_mentorhelp.MessageNoRecipient(msg) - to_chat(usr, "Mentor-PM to-Mentors: [msg]") + to_chat(usr, span_mentor_pm_notice("Mentor-PM to-Mentors: [msg]")) return else - to_chat(usr, "Ticket not found, creating new one...") + to_chat(usr, span_warning("Ticket not found, creating new one...")) else current_mentorhelp.AddInteraction("[usr.ckey] opened a new ticket.") current_mentorhelp.Resolve() @@ -472,7 +476,7 @@ GLOBAL_DATUM_INIT(mhelp_tickets, /datum/mentor_help_tickets, new) //admin proc /client/proc/cmd_mentor_ticket_panel() set name = "Mentor Ticket List" - set category = "Admin" + set category = "Admin.Misc" var/browse_to @@ -487,7 +491,7 @@ GLOBAL_DATUM_INIT(mhelp_tickets, /datum/mentor_help_tickets, new) GLOB.mhelp_tickets.BrowseTickets(browse_to) /proc/message_mentors(var/msg) - msg = "Mentor: [msg]" + msg = span_mentor_channel(span_prefix("Mentor: " + span_message(msg))) for(var/client/C in GLOB.mentors) to_chat(C, msg) diff --git a/code/modules/mining/abandonedcrates.dm b/code/modules/mining/abandonedcrates.dm index f0ac7c002e2..953aef9b817 100644 --- a/code/modules/mining/abandonedcrates.dm +++ b/code/modules/mining/abandonedcrates.dm @@ -24,30 +24,30 @@ var/loot = rand(1, 100) switch(loot) if(1 to 5) // Common things go, 5% - new/obj/item/weapon/reagent_containers/food/drinks/bottle/rum(src) - new/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey(src) - new/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus(src) - new/obj/item/weapon/flame/lighter/zippo(src) + new/obj/item/reagent_containers/food/drinks/bottle/rum(src) + new/obj/item/reagent_containers/food/drinks/bottle/whiskey(src) + new/obj/item/reagent_containers/food/snacks/grown/ambrosiadeus(src) + new/obj/item/flame/lighter/zippo(src) if(6 to 10) - new/obj/item/weapon/pickaxe/advdrill(src) - new/obj/item/device/taperecorder(src) + new/obj/item/pickaxe/advdrill(src) + new/obj/item/taperecorder(src) new/obj/item/clothing/suit/space(src) new/obj/item/clothing/head/helmet/space(src) if(11 to 15) - new/obj/item/weapon/reagent_containers/glass/beaker/bluespace(src) + new/obj/item/reagent_containers/glass/beaker/bluespace(src) if(16 to 20) for(var/i = 0, i < 10, i++) - new/obj/item/weapon/ore/diamond(src) + new/obj/item/ore/diamond(src) if(21 to 25) for(var/i = 0, i < 3, i++) new/obj/machinery/portable_atmospherics/hydroponics(src) if(26 to 30) for(var/i = 0, i < 3, i++) - new/obj/item/weapon/reagent_containers/glass/beaker/noreact(src) + new/obj/item/reagent_containers/glass/beaker/noreact(src) if(31 to 35) spawn_money(rand(300,800), src) if(36 to 40) - new/obj/item/weapon/melee/baton(src) + new/obj/item/melee/baton(src) if(41 to 45) new/obj/item/clothing/under/shorts/red(src) new/obj/item/clothing/under/shorts/blue(src) @@ -56,7 +56,7 @@ for(var/i = 0, i < 7, i++) new/obj/item/clothing/accessory/tie/horrible(src) if(51 to 52) // Uncommon, 2% each - new/obj/item/weapon/melee/classic_baton(src) + new/obj/item/melee/classic_baton(src) if(53 to 54) new/obj/item/latexballon(src) if(55 to 56) @@ -65,36 +65,36 @@ if(57 to 58) new/obj/item/toy/syndicateballoon(src) if(59 to 60) - new/obj/item/weapon/rig/industrial(src) + new/obj/item/rig/industrial(src) if(61 to 62) for(var/i = 0, i < 12, ++i) new/obj/item/clothing/head/kitty(src) if(63 to 64) var/t = rand(4,7) for(var/i = 0, i < t, ++i) - var/newcoin = pick(/obj/item/weapon/coin/silver, /obj/item/weapon/coin/silver, /obj/item/weapon/coin/silver, /obj/item/weapon/coin/iron, /obj/item/weapon/coin/iron, /obj/item/weapon/coin/iron, /obj/item/weapon/coin/gold, /obj/item/weapon/coin/diamond, /obj/item/weapon/coin/phoron, /obj/item/weapon/coin/uranium, /obj/item/weapon/coin/platinum) + var/newcoin = pick(/obj/item/coin/silver, /obj/item/coin/silver, /obj/item/coin/silver, /obj/item/coin/iron, /obj/item/coin/iron, /obj/item/coin/iron, /obj/item/coin/gold, /obj/item/coin/diamond, /obj/item/coin/phoron, /obj/item/coin/uranium, /obj/item/coin/platinum) new newcoin(src) if(65 to 66) new/obj/item/clothing/suit/ianshirt(src) if(67 to 68) var/t = rand(4,7) for(var/i = 0, i < t, ++i) - var/newitem = pick(subtypesof(/obj/item/weapon/stock_parts) - /obj/item/weapon/stock_parts/subspace) + var/newitem = pick(subtypesof(/obj/item/stock_parts) - /obj/item/stock_parts/subspace) new newitem(src) if(69 to 70) - new/obj/item/weapon/pickaxe/silver(src) + new/obj/item/pickaxe/silver(src) if(71 to 72) - new/obj/item/weapon/pickaxe/drill(src) + new/obj/item/pickaxe/drill(src) if(73 to 74) - new/obj/item/weapon/pickaxe/jackhammer(src) + new/obj/item/pickaxe/jackhammer(src) if(75 to 76) - new/obj/item/weapon/pickaxe/diamond(src) + new/obj/item/pickaxe/diamond(src) if(77 to 78) - new/obj/item/weapon/pickaxe/diamonddrill(src) + new/obj/item/pickaxe/diamonddrill(src) if(79 to 80) - new/obj/item/weapon/pickaxe/gold(src) + new/obj/item/pickaxe/gold(src) if(81 to 82) - new/obj/item/weapon/pickaxe/plasmacutter(src) + new/obj/item/pickaxe/plasmacutter(src) if(83 to 84) new/obj/item/toy/katana(src) if(85 to 86) @@ -108,42 +108,42 @@ if(90) new/obj/item/organ/internal/heart(src) if(91) - new/obj/item/device/soulstone(src) + new/obj/item/soulstone(src) if(92) - new/obj/item/weapon/material/sword/katana(src) + new/obj/item/material/sword/katana(src) if(93) - new/obj/item/weapon/dnainjector/xraymut(src) // Probably the least OP + new/obj/item/dnainjector/xraymut(src) // Probably the least OP if(94) // Why the hell not - new/obj/item/weapon/storage/backpack/clown(src) + new/obj/item/storage/backpack/clown(src) new/obj/item/clothing/under/rank/clown(src) new/obj/item/clothing/shoes/clown_shoes(src) - new/obj/item/device/pda/clown(src) + new/obj/item/pda/clown(src) new/obj/item/clothing/mask/gas/clown_hat(src) - new/obj/item/weapon/bikehorn(src) - //new/obj/item/weapon/stamp/clown(src) I'd add it, but only clowns can use it - new/obj/item/weapon/pen/crayon/rainbow(src) - new/obj/item/weapon/reagent_containers/spray/waterflower(src) + new/obj/item/bikehorn(src) + //new/obj/item/stamp/clown(src) I'd add it, but only clowns can use it + new/obj/item/pen/crayon/rainbow(src) + new/obj/item/reagent_containers/spray/waterflower(src) if(95) new/obj/item/clothing/under/mime(src) new/obj/item/clothing/shoes/black(src) - new/obj/item/device/pda/mime(src) + new/obj/item/pda/mime(src) new/obj/item/clothing/gloves/white(src) new/obj/item/clothing/mask/gas/mime(src) new/obj/item/clothing/head/beret(src) new/obj/item/clothing/suit/suspenders(src) - new/obj/item/weapon/pen/crayon/mime(src) - new/obj/item/weapon/reagent_containers/food/drinks/bottle/bottleofnothing(src) + new/obj/item/pen/crayon/mime(src) + new/obj/item/reagent_containers/food/drinks/bottle/bottleofnothing(src) if(96) - new/obj/item/weapon/vampiric(src) + new/obj/item/vampiric(src) if(97) - new/obj/item/weapon/archaeological_find(src) + new/obj/item/archaeological_find(src) if(98) - new/obj/item/weapon/melee/energy/sword(src) + new/obj/item/melee/energy/sword(src) if(99) - new/obj/item/weapon/storage/belt/champion(src) + new/obj/item/storage/belt/champion(src) new/obj/item/clothing/mask/luchador(src) if(100) - new/obj/item/device/personal_shield_generator/belt/mining/loaded(src) + new/obj/item/personal_shield_generator/belt/mining/loaded(src) vorestation edit end */ @@ -152,7 +152,7 @@ vorestation edit end */ if(!locked) return - to_chat(user, "The crate is locked with a Deca-code lock.") + to_chat(user, span_notice("The crate is locked with a Deca-code lock.")) var/input = tgui_input_text(usr, "Enter [codelen] digits. All digits must be unique.", "Deca-Code Lock", "") if(!Adjacent(user)) return @@ -166,23 +166,23 @@ vorestation edit end */ sanitycheck = null //if a digit is repeated, reject the input if(input == null || sanitycheck == null || length(input) != codelen) - to_chat(user, "You leave the crate alone.") + to_chat(user, span_notice("You leave the crate alone.")) else if(check_input(input)) - to_chat(user, "The crate unlocks!") + to_chat(user, span_notice("The crate unlocks!")) playsound(src, 'sound/machines/lockreset.ogg', 50, 1) set_locked(0) else - visible_message("A red light on \the [src]'s control panel flashes briefly.") + visible_message(span_warning("A red light on \the [src]'s control panel flashes briefly.")) attempts-- if (attempts == 0) - to_chat(user, "The crate's anti-tamper system activates!") + to_chat(user, span_danger("The crate's anti-tamper system activates!")) var/turf/T = get_turf(src.loc) explosion(T, 0, 0, 1, 2) qdel(src) /obj/structure/closet/crate/secure/loot/emag_act(var/remaining_charges, var/mob/user) if (locked) - to_chat(user, "The crate unlocks!") + to_chat(user, span_notice("The crate unlocks!")) locked = 0 /obj/structure/closet/crate/secure/loot/proc/check_input(var/input) @@ -197,14 +197,14 @@ vorestation edit end */ if(guesschar != code[i]) . = 0 -/obj/structure/closet/crate/secure/loot/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/structure/closet/crate/secure/loot/attackby(obj/item/W as obj, mob/user as mob) if(locked) - if (istype(W, /obj/item/device/multitool)) // Greetings Urist McProfessor, how about a nice game of cows and bulls? - to_chat(user, "DECA-CODE LOCK ANALYSIS:") + if (istype(W, /obj/item/multitool)) // Greetings Urist McProfessor, how about a nice game of cows and bulls? + to_chat(user, span_notice("DECA-CODE LOCK ANALYSIS:")) if (attempts == 1) - to_chat(user, "* Anti-Tamper system will activate on the next failed access attempt.") + to_chat(user, span_warning("* Anti-Tamper system will activate on the next failed access attempt.")) else - to_chat(user, "* Anti-Tamper system will activate after [src.attempts] failed access attempts.") + to_chat(user, span_notice("* Anti-Tamper system will activate after [src.attempts] failed access attempts.")) if(lastattempt.len) var/bulls = 0 var/cows = 0 @@ -219,6 +219,6 @@ vorestation edit end */ var/previousattempt = null //convert back to string for readback for(var/i in 1 to codelen) previousattempt = addtext(previousattempt, lastattempt[i]) - to_chat(user, "Last code attempt, [previousattempt], had [bulls] correct digits at correct positions and [cows] correct digits at incorrect positions.") + to_chat(user, span_notice("Last code attempt, [previousattempt], had [bulls] correct digits at correct positions and [cows] correct digits at incorrect positions.")) return - ..() \ No newline at end of file + ..() diff --git a/code/modules/mining/abandonedcrates_vr.dm b/code/modules/mining/abandonedcrates_vr.dm index 56d05c9947f..a443839f9b5 100644 --- a/code/modules/mining/abandonedcrates_vr.dm +++ b/code/modules/mining/abandonedcrates_vr.dm @@ -7,101 +7,102 @@ //pick a thing to add to the crate - the format is "list(filepath, value) = weight," var/choice = list() choice = pickweight(list( - list(pick(/obj/item/weapon/ore/diamond, - /obj/item/weapon/ore/osmium, - /obj/item/weapon/ore/hydrogen, - /obj/item/weapon/ore/verdantium, - /obj/item/weapon/ore/uranium), 1) = 10, - list(pick(subtypesof(/obj/item/weapon/coin)), 2) = 10, - list(/obj/item/weapon/spacecash/c500, 4) = 5, - list(/obj/item/weapon/spacecash/c200, 2) = 10, - list(/obj/item/weapon/spacecash/c100, 1) = 10, - list(/obj/item/weapon/spacecash/c50, 1) = 10, - list(/obj/item/weapon/spacecash/c20, 1) = 10, - list(pick(subtypesof(/obj/item/weapon/reagent_containers/food/drinks/bottle/) - /obj/item/weapon/reagent_containers/food/drinks/bottle/small), 1) = 5, - list(/obj/item/weapon/storage/backpack/dufflebag/cratebooze,5) = 5, - list(/obj/item/weapon/storage/backpack/dufflebag/cratedrills, 5) = 5, - list(/obj/item/weapon/reagent_containers/glass/beaker/bluespace, 3) = 5, - list(/obj/item/weapon/reagent_containers/glass/beaker/noreact, 3) = 5, - list(/obj/item/weapon/melee/baton, 5) = 4, - list(pick(subtypesof(/obj/item/weapon/storage/mre)), 2) = 3, + list(pick(/obj/item/ore/diamond, + /obj/item/ore/osmium, + /obj/item/ore/hydrogen, + /obj/item/ore/verdantium, + /obj/item/ore/uranium), 1) = 10, + list(pick(subtypesof(/obj/item/coin)), 2) = 10, + list(/obj/item/spacecash/c500, 4) = 5, + list(/obj/item/spacecash/c200, 2) = 10, + list(/obj/item/spacecash/c100, 1) = 10, + list(/obj/item/spacecash/c50, 1) = 10, + list(/obj/item/spacecash/c20, 1) = 10, + list(pick(subtypesof(/obj/item/reagent_containers/food/drinks/bottle/) - /obj/item/reagent_containers/food/drinks/bottle/small), 1) = 5, + list(/obj/item/storage/backpack/dufflebag/cratebooze,5) = 5, + list(/obj/item/storage/backpack/dufflebag/cratedrills, 5) = 5, + list(/obj/item/reagent_containers/glass/beaker/bluespace, 3) = 5, + list(/obj/item/reagent_containers/glass/beaker/noreact, 3) = 5, + list(/obj/item/melee/baton, 5) = 4, + list(pick(subtypesof(/obj/item/storage/mre)), 2) = 3, list(/obj/item/seeds/random, 2) = 3, list(/obj/item/clothing/under/chameleon, 5) = 3, - list(/obj/item/weapon/melee/classic_baton, 6) = 3, - list(/obj/item/weapon/rig/industrial, 6) = 3, - list(/obj/item/device/multitool/hacktool, 5) = 3, + list(/obj/item/melee/classic_baton, 6) = 3, + list(/obj/item/rig/industrial, 6) = 3, + list(/obj/item/multitool/hacktool, 5) = 3, + list(/obj/item/multitool/hacktool/modified, 4) = 4, list(/obj/item/toy/katana, 1) = 2, list(/obj/item/clothing/head/kitty, 1) = 2, - list(pick(subtypesof(/obj/item/weapon/soap)), 1) = 2, + list(pick(subtypesof(/obj/item/soap)), 1) = 2, list(/obj/item/clothing/under/shorts/red, 1) = 2, list(/obj/item/clothing/under/shorts/blue, 1) = 2, list(/obj/item/clothing/accessory/tie/horrible, 1) = 2, - list(pick(subtypesof(/obj/item/weapon/stock_parts) - /obj/item/weapon/stock_parts/subspace), 2) = 3, + list(pick(subtypesof(/obj/item/stock_parts) - /obj/item/stock_parts/subspace), 2) = 3, list(/obj/item/latexballon, 2) = 2, list(/obj/item/toy/syndicateballoon, 3) = 2, list(/obj/item/clothing/suit/ianshirt, 3) = 2, list(/obj/item/clothing/head/bearpelt, 4) = 2, - //list(/obj/item/weapon/archaeological_find, 3) = 2, //ChompREMOVE - causes runtimes + //list(/obj/item/archaeological_find, 3) = 2, // Removed, causes runtimes list(pick(subtypesof(/obj/item/toy/mecha)), 4) = 2, list(pick(subtypesof(/obj/item/toy/figure)), 4) = 2, list(pick(subtypesof(/obj/item/toy/plushie)), 4) = 2, - list(pick(subtypesof(/obj/item/weapon/storage/firstaid)), 4) = 2, - list(/obj/item/weapon/pickaxe/silver, 3) = 2, - list(/obj/item/weapon/pickaxe/drill, 3) = 2, - list(/obj/item/weapon/pickaxe/jackhammer, 4) = 2, - list(/obj/item/weapon/pickaxe/gold, 4) = 2, - list(/obj/item/weapon/pickaxe/diamond, 5) = 2, - list(/obj/item/weapon/pickaxe/diamonddrill, 6) = 2, - list(/obj/item/weapon/pickaxe/plasmacutter, 5) = 2, - list(/obj/item/device/soulstone, 5) = 2, - list(/obj/item/weapon/material/sword/katana, 5) = 2, - list(/obj/item/weapon/storage/belt/utility/chief/full, 8) = 2, - list(/obj/item/device/personal_shield_generator/belt/mining/loaded, 6) = 2, - list(pick(subtypesof(/obj/item/weapon/melee/energy/sword) - /obj/item/weapon/melee/energy/sword/charge), 6) = 2, - list(pick(/obj/item/weapon/dnainjector/xraymut, /obj/item/weapon/dnainjector/nobreath, /obj/item/weapon/dnainjector/insulation), 6) = 2, - list(/obj/item/weapon/gun/energy/netgun, 7) = 2, - list(pick(prob(300);/obj/item/weapon/gun/energy/mouseray, - prob(50);/obj/item/weapon/gun/energy/mouseray/corgi, - prob(50);/obj/item/weapon/gun/energy/mouseray/woof, - prob(50);/obj/item/weapon/gun/energy/mouseray/cat, - prob(50);/obj/item/weapon/gun/energy/mouseray/chicken, - prob(50);/obj/item/weapon/gun/energy/mouseray/lizard, - prob(50);/obj/item/weapon/gun/energy/mouseray/rabbit, - prob(50);/obj/item/weapon/gun/energy/mouseray/fennec, - prob(5);/obj/item/weapon/gun/energy/mouseray/monkey, - prob(5);/obj/item/weapon/gun/energy/mouseray/wolpin, - prob(5);/obj/item/weapon/gun/energy/mouseray/otie, - prob(5);/obj/item/weapon/gun/energy/mouseray/direwolf, - prob(5);/obj/item/weapon/gun/energy/mouseray/giantrat, - prob(50);/obj/item/weapon/gun/energy/mouseray/redpanda, - prob(5);/obj/item/weapon/gun/energy/mouseray/catslug, - prob(1);/obj/item/weapon/gun/energy/mouseray/metamorphosis, - prob(1);/obj/item/weapon/gun/energy/mouseray/metamorphosis/advanced/random + list(pick(subtypesof(/obj/item/storage/firstaid)), 4) = 2, + list(/obj/item/pickaxe/silver, 3) = 2, + list(/obj/item/pickaxe/drill, 3) = 2, + list(/obj/item/pickaxe/jackhammer, 4) = 2, + list(/obj/item/pickaxe/gold, 4) = 2, + list(/obj/item/pickaxe/diamond, 5) = 2, + list(/obj/item/pickaxe/diamonddrill, 6) = 2, + list(/obj/item/pickaxe/plasmacutter, 5) = 2, + list(/obj/item/soulstone, 5) = 2, + list(/obj/item/material/sword/katana, 5) = 2, + list(/obj/item/storage/belt/utility/chief/full, 8) = 2, + list(/obj/item/personal_shield_generator/belt/mining/loaded, 6) = 2, + list(pick(subtypesof(/obj/item/melee/energy/sword) - /obj/item/melee/energy/sword/charge), 6) = 2, + list(pick(/obj/item/dnainjector/xraymut, /obj/item/dnainjector/nobreath, /obj/item/dnainjector/insulation), 6) = 2, + list(/obj/item/gun/energy/netgun, 7) = 2, + list(pick(prob(300);/obj/item/gun/energy/mouseray, + prob(50);/obj/item/gun/energy/mouseray/corgi, + prob(50);/obj/item/gun/energy/mouseray/woof, + prob(50);/obj/item/gun/energy/mouseray/cat, + prob(50);/obj/item/gun/energy/mouseray/chicken, + prob(50);/obj/item/gun/energy/mouseray/lizard, + prob(50);/obj/item/gun/energy/mouseray/rabbit, + prob(50);/obj/item/gun/energy/mouseray/fennec, + prob(5);/obj/item/gun/energy/mouseray/monkey, + prob(5);/obj/item/gun/energy/mouseray/wolpin, + prob(5);/obj/item/gun/energy/mouseray/otie, + prob(5);/obj/item/gun/energy/mouseray/direwolf, + prob(5);/obj/item/gun/energy/mouseray/giantrat, + prob(50);/obj/item/gun/energy/mouseray/redpanda, + prob(5);/obj/item/gun/energy/mouseray/catslug, + prob(1);/obj/item/gun/energy/mouseray/metamorphosis, + prob(1);/obj/item/gun/energy/mouseray/metamorphosis/advanced/random ), 8) = 2, - list(/obj/item/weapon/gun/energy/pummeler, 11) = 2, - list(pick(subtypesof(/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug)), 1) = 1, + list(/obj/item/gun/energy/pummeler, 11) = 2, + list(pick(subtypesof(/obj/item/reagent_containers/food/drinks/glass2/coffeemug)), 1) = 1, list(/obj/item/xenos_claw, 1) = 1, list(/obj/item/organ/internal/heart, 1) = 1, - list(/obj/item/weapon/vampiric, 2) = 1, + list(/obj/item/vampiric, 2) = 1, list(/obj/item/weed_extract, 2) = 1, - list(/obj/item/weapon/storage/backpack/luchador/loaded, 3) = 1, - list(/obj/item/weapon/storage/backpack/clown/loaded, 5) = 1, - list(/obj/item/weapon/storage/backpack/mime/loaded, 5) = 1, - list(pick(/obj/item/device/multitool/alien, + list(/obj/item/storage/backpack/luchador/loaded, 3) = 1, + list(/obj/item/storage/backpack/clown/loaded, 5) = 1, + list(/obj/item/storage/backpack/mime/loaded, 5) = 1, + list(pick(/obj/item/multitool/alien, /obj/item/stack/cable_coil/alien, - /obj/item/weapon/tool/crowbar/alien, - /obj/item/weapon/tool/screwdriver/alien, - /obj/item/weapon/weldingtool/alien, - /obj/item/weapon/tool/wirecutters/alien, - /obj/item/weapon/tool/wrench/alien), 7) = 1, - list(pick(/obj/item/weapon/melee/energy/axe, /obj/item/weapon/melee/energy/spear), 11) = 1, - list(/obj/item/weapon/card/emag/used, 7) = 1, - list(pick(/obj/item/weapon/grenade/spawnergrenade/spesscarp, /obj/item/weapon/grenade/spawnergrenade/spider, /obj/item/weapon/grenade/explosive/frag), 7) = 1, - list(/obj/item/weapon/grenade/flashbang/clusterbang, 7) = 1, - list(/obj/item/weapon/card/emag, 11) = 1, - list(/obj/item/weapon/melee/shock_maul, 11) = 3, + /obj/item/tool/crowbar/alien, + /obj/item/tool/screwdriver/alien, + /obj/item/weldingtool/alien, + /obj/item/tool/wirecutters/alien, + /obj/item/tool/wrench/alien), 7) = 1, + list(pick(/obj/item/melee/energy/axe, /obj/item/melee/energy/spear), 11) = 1, + list(/obj/item/card/emag/used, 7) = 1, + list(pick(/obj/item/grenade/spawnergrenade/spesscarp, /obj/item/grenade/spawnergrenade/spider, /obj/item/grenade/explosive/frag), 7) = 1, + list(/obj/item/grenade/flashbang/clusterbang, 7) = 1, + list(/obj/item/card/emag, 11) = 1, + list(/obj/item/melee/shock_maul, 11) = 3, list(/obj/item/clothing/suit/storage/vest/martian_miner/reinforced, 4) = 6, - list(/obj/item/weapon/storage/backpack/sport/hyd/catchemall, 11) = 1 + list(/obj/item/storage/backpack/sport/hyd/catchemall, 11) = 1 )) var/path = choice[1] var/value = choice[2] @@ -110,55 +111,55 @@ //putting the multi-object loot items as their own things -/obj/item/weapon/storage/backpack/dufflebag/cratebooze +/obj/item/storage/backpack/dufflebag/cratebooze starts_with = list( - /obj/item/weapon/reagent_containers/food/drinks/bottle/rum, - /obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey, - /obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus, - /obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus, - /obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus, + /obj/item/reagent_containers/food/drinks/bottle/rum, + /obj/item/reagent_containers/food/drinks/bottle/whiskey, + /obj/item/reagent_containers/food/snacks/grown/ambrosiadeus, + /obj/item/reagent_containers/food/snacks/grown/ambrosiadeus, + /obj/item/reagent_containers/food/snacks/grown/ambrosiadeus, ) -/obj/item/weapon/storage/backpack/dufflebag/cratedrills +/obj/item/storage/backpack/dufflebag/cratedrills starts_with = list( - /obj/item/weapon/pickaxe/advdrill, - /obj/item/device/taperecorder, + /obj/item/pickaxe/advdrill, + /obj/item/taperecorder, /obj/item/clothing/suit/space, /obj/item/clothing/head/helmet/space ) -/obj/item/weapon/storage/backpack/clown/loaded +/obj/item/storage/backpack/clown/loaded starts_with = list( /obj/item/clothing/under/rank/clown, /obj/item/clothing/shoes/clown_shoes, - /obj/item/device/pda/clown, + /obj/item/pda/clown, /obj/item/clothing/mask/gas/clown_hat, - /obj/item/weapon/bikehorn, - /obj/item/weapon/pen/crayon/rainbow, - /obj/item/weapon/reagent_containers/spray/waterflower + /obj/item/bikehorn, + /obj/item/pen/crayon/rainbow, + /obj/item/reagent_containers/spray/waterflower ) -/obj/item/weapon/storage/backpack/mime/loaded +/obj/item/storage/backpack/mime/loaded starts_with = list( /obj/item/clothing/under/mime, /obj/item/clothing/shoes/black, - /obj/item/device/pda/mime, + /obj/item/pda/mime, /obj/item/clothing/gloves/white, /obj/item/clothing/mask/gas/mime, /obj/item/clothing/head/beret, /obj/item/clothing/suit/suspenders, - /obj/item/weapon/pen/crayon/mime, - /obj/item/weapon/reagent_containers/food/drinks/bottle/bottleofnothing + /obj/item/pen/crayon/mime, + /obj/item/reagent_containers/food/drinks/bottle/bottleofnothing ) -/obj/item/weapon/storage/backpack/luchador/loaded +/obj/item/storage/backpack/luchador/loaded starts_with = list( - /obj/item/weapon/storage/belt/champion, + /obj/item/storage/belt/champion, /obj/item/clothing/mask/luchador ) -/obj/item/weapon/storage/backpack/sport/hyd/catchemall +/obj/item/storage/backpack/sport/hyd/catchemall name = "sports backpack" desc = "A green sports backpack." starts_with = list( @@ -168,7 +169,7 @@ /obj/item/capture_crystal ) -/obj/item/weapon/storage/backpack/sport/hyd/catchemall/Initialize() //gotta have your starter 'mon too (or an improved way to catch one) +/obj/item/storage/backpack/sport/hyd/catchemall/Initialize() //gotta have your starter 'mon too (or an improved way to catch one) ..() var/path = pick(subtypesof(/obj/item/capture_crystal)) contents += new path() diff --git a/code/modules/mining/drilling/drill.dm b/code/modules/mining/drilling/drill.dm index f2ca5a95842..7a1607a8ee8 100644 --- a/code/modules/mining/drilling/drill.dm +++ b/code/modules/mining/drilling/drill.dm @@ -9,14 +9,14 @@ name = "mining drill head" desc = "An enormous drill." icon_state = "mining_drill" - circuit = /obj/item/weapon/circuitboard/miningdrill + circuit = /obj/item/circuitboard/miningdrill var/braces_needed = 2 var/total_brace_tier = 0 var/list/obj/machinery/mining/brace/supports = list() var/supported = 0 var/active = 0 var/list/resource_field = list() - var/obj/item/device/radio/intercom/faultreporter + var/obj/item/radio/intercom/faultreporter var/drill_range = 5 var/offset = 2 var/current_capacity = 0 @@ -44,20 +44,20 @@ "rutile" = 0) var/list/ore_types = list( - "hematite" = /obj/item/weapon/ore/iron, - "uranium" = /obj/item/weapon/ore/uranium, - "gold" = /obj/item/weapon/ore/gold, - "silver" = /obj/item/weapon/ore/silver, - "diamond" = /obj/item/weapon/ore/diamond, - "phoron" = /obj/item/weapon/ore/phoron, - "platinum" = /obj/item/weapon/ore/osmium, - "mhydrogen" = /obj/item/weapon/ore/hydrogen, - "sand" = /obj/item/weapon/ore/glass, - "carbon" = /obj/item/weapon/ore/coal, - // "copper" = /obj/item/weapon/ore/copper, - // "tin" = /obj/item/weapon/ore/tin, - // "bauxite" = /obj/item/weapon/ore/bauxite, - "rutile" = /obj/item/weapon/ore/rutile + "hematite" = /obj/item/ore/iron, + "uranium" = /obj/item/ore/uranium, + "gold" = /obj/item/ore/gold, + "silver" = /obj/item/ore/silver, + "diamond" = /obj/item/ore/diamond, + "phoron" = /obj/item/ore/phoron, + "platinum" = /obj/item/ore/osmium, + "mhydrogen" = /obj/item/ore/hydrogen, + "sand" = /obj/item/ore/glass, + "carbon" = /obj/item/ore/coal, + // "copper" = /obj/item/ore/copper, + // "tin" = /obj/item/ore/tin, + // "bauxite" = /obj/item/ore/bauxite, + "rutile" = /obj/item/ore/rutile ) //Upgrades @@ -65,20 +65,20 @@ var/capacity var/charge_use var/exotic_drilling - var/obj/item/weapon/cell/cell = null + var/obj/item/cell/cell = null // Found with an advanced laser. exotic_drilling >= 1 var/list/ore_types_uncommon = list( - MAT_MARBLE = /obj/item/weapon/ore/marble, - //"painite" = /obj/item/weapon/ore/painite, - //"quartz" = /obj/item/weapon/ore/quartz, - MAT_LEAD = /obj/item/weapon/ore/lead + MAT_MARBLE = /obj/item/ore/marble, + //"painite" = /obj/item/ore/painite, + //"quartz" = /obj/item/ore/quartz, + MAT_LEAD = /obj/item/ore/lead ) // Found with an ultra laser. exotic_drilling >= 2 var/list/ore_types_rare = list( - //"void opal" = /obj/item/weapon/ore/void_opal, - MAT_VERDANTIUM = /obj/item/weapon/ore/verdantium + //"void opal" = /obj/item/ore/void_opal, + MAT_VERDANTIUM = /obj/item/ore/verdantium ) //Flags @@ -109,7 +109,7 @@ if(ispath(cell)) cell = new cell(src) default_apply_parts() - faultreporter = new /obj/item/device/radio/intercom{channels=list("Supply")}(null) + faultreporter = new /obj/item/radio/intercom{channels=list("Supply")}(null) /obj/machinery/mining/drill/Destroy() qdel_null(faultreporter) @@ -126,7 +126,7 @@ return cell /obj/machinery/mining/drill/loaded - cell = /obj/item/weapon/cell/high + cell = /obj/item/cell/high /obj/machinery/mining/drill/process() @@ -223,14 +223,14 @@ /obj/machinery/mining/drill/attackby(obj/item/O as obj, mob/user as mob) if(!active) - if(istype(O, /obj/item/device/multitool)) + if(istype(O, /obj/item/multitool)) var/newtag = text2num(sanitizeSafe(tgui_input_text(user, "Enter new ID number or leave empty to cancel.", "Assign ID number", null, 4), 4)) if(newtag) name = "[initial(name)] #[newtag]" - to_chat(user, "You changed the drill ID to: [newtag]") + to_chat(user, span_notice("You changed the drill ID to: [newtag]")) else name = "[initial(name)]" - to_chat(user, SPAN_NOTICE("You removed the drill's ID and any extraneous labels.")) + to_chat(user, span_notice("You removed the drill's ID and any extraneous labels.")) return if(default_deconstruction_screwdriver(user, O)) return @@ -240,7 +240,7 @@ return if(!panel_open || active) return ..() - if(istype(O, /obj/item/weapon/cell)) + if(istype(O, /obj/item/cell)) if(cell) to_chat(user, "The drill already has a cell installed.") else @@ -273,16 +273,16 @@ if(use_cell_power()) active = !active if(active) - visible_message("\The [src] lurches downwards, grinding noisily.") + visible_message(span_infoplain(span_bold("\The [src]") + " lurches downwards, grinding noisily.")) need_update_field = 1 harvest_speed *= total_brace_tier charge_use *= total_brace_tier else - visible_message("\The [src] shudders to a grinding halt.") + visible_message(span_infoplain(span_bold("\The [src]") + " shudders to a grinding halt.")) else - to_chat(user, "The drill is unpowered.") + to_chat(user, span_notice("The drill is unpowered.")) else - to_chat(user, "Turning on a piece of industrial machinery without sufficient bracing or wires exposed is a bad idea.") + to_chat(user, span_notice("Turning on a piece of industrial machinery without sufficient bracing or wires exposed is a bad idea.")) update_icon() @@ -305,8 +305,8 @@ drill_range = 5 offset = 2 - for(var/obj/item/weapon/stock_parts/P in component_parts) - if(istype(P, /obj/item/weapon/stock_parts/micro_laser)) + for(var/obj/item/stock_parts/P in component_parts) + if(istype(P, /obj/item/stock_parts/micro_laser)) harvest_speed = P.rating ** 2 // 1, 4, 9, 16, 25 exotic_drilling = P.rating - 1 if(exotic_drilling >= 1) @@ -324,11 +324,11 @@ else if(P.rating >= 4) // t4 drill_range = 7 offset = 3 - if(istype(P, /obj/item/weapon/stock_parts/matter_bin)) + if(istype(P, /obj/item/stock_parts/matter_bin)) capacity = 200 * P.rating - if(istype(P, /obj/item/weapon/stock_parts/capacitor)) + if(istype(P, /obj/item/stock_parts/capacitor)) charge_use -= 10 * P.rating - cell = locate(/obj/item/weapon/cell) in src + cell = locate(/obj/item/cell) in src /obj/machinery/mining/drill/proc/check_supports() @@ -356,7 +356,7 @@ /obj/machinery/mining/drill/proc/system_error(var/error) if(error) - src.visible_message("\The [src] flashes a '[error]' warning.") + src.visible_message(span_infoplain(span_bold("\The [src]") + " flashes a '[error]' warning.")) faultreporter.autosay(error, src.name, "Supply", using_map.get_map_levels(z)) need_player_check = 1 active = 0 @@ -405,23 +405,23 @@ B.stored_ore[ore] += ore_amount // Add the ore to the machine. stored_ore[ore] = 0 // Set the value of the ore in the satchel to 0. current_capacity = 0 // Set the amount of ore in the drill to 0. - to_chat(usr, "You unload the drill's storage cache into the ore box.") + to_chat(usr, span_notice("You unload the drill's storage cache into the ore box.")) else - to_chat(usr, "You must move an ore box up to the drill before you can unload it.") + to_chat(usr, span_notice("You must move an ore box up to the drill before you can unload it.")) /obj/machinery/mining/brace name = "mining drill brace" desc = "A machinery brace for an industrial drill. It looks easily two feet thick." icon_state = "mining_brace" - circuit = /obj/item/weapon/circuitboard/miningdrillbrace + circuit = /obj/item/circuitboard/miningdrillbrace var/brace_tier = 1 var/obj/machinery/mining/drill/connected /obj/machinery/mining/brace/examine(mob/user) . = ..() if(brace_tier >= 3) - . += SPAN_NOTICE("The internals of the brace look resilient enough to support a drill by itself.") + . += span_notice("The internals of the brace look resilient enough to support a drill by itself.") /obj/machinery/mining/brace/Initialize() . = ..() @@ -430,12 +430,12 @@ /obj/machinery/mining/brace/RefreshParts() ..() brace_tier = 0 - for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts) + for(var/obj/item/stock_parts/manipulator/M in component_parts) brace_tier += M.rating -/obj/machinery/mining/brace/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/machinery/mining/brace/attackby(obj/item/W as obj, mob/user as mob) if(connected && connected.active) - to_chat(user, "You can't work with the brace of a running drill!") + to_chat(user, span_notice("You can't work with the brace of a running drill!")) return if(default_deconstruction_screwdriver(user, W)) @@ -448,11 +448,11 @@ if(W.has_tool_quality(TOOL_WRENCH)) if(istype(get_turf(src), /turf/space)) - to_chat(user, "You can't anchor something to empty space. Idiot.") + to_chat(user, span_notice("You can't anchor something to empty space. Idiot.")) return playsound(src, W.usesound, 100, 1) - to_chat(user, "You [anchored ? "un" : ""]anchor the brace.") + to_chat(user, span_notice("You [anchored ? "un" : ""]anchor the brace.")) anchored = !anchored if(anchored) diff --git a/code/modules/mining/drilling/scanner.dm b/code/modules/mining/drilling/scanner.dm index e8f88a0f883..85046260531 100644 --- a/code/modules/mining/drilling/scanner.dm +++ b/code/modules/mining/drilling/scanner.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/mining_scanner +/obj/item/mining_scanner name = "deep scan device" desc = "A complex device used to locate ore deep underground." icon = 'icons/obj/device.dmi' @@ -10,8 +10,8 @@ var/range = 2 var/exact = FALSE -/obj/item/weapon/mining_scanner/attack_self(mob/user as mob) - to_chat(user, "You begin sweeping \the [src] about, scanning for metal deposits.") +/obj/item/mining_scanner/attack_self(mob/user as mob) + to_chat(user, span_notice("You begin sweeping \the [src] about, scanning for metal deposits.")) playsound(src, 'sound/items/goggles_charge.ogg', 50, 1, -6) if(!do_after(user, scan_time)) @@ -19,7 +19,7 @@ ScanTurf(get_turf(user), user) -/obj/item/weapon/mining_scanner/proc/ScanTurf(var/atom/target, var/mob/user) +/obj/item/mining_scanner/proc/ScanTurf(var/atom/target, var/mob/user) var/list/metals = list( "surface minerals" = 0, "industrial metals" = 0, @@ -51,7 +51,7 @@ if(ore_type) metals[ore_type] += T.resources[metal] - var/message = "[icon2html(src, user.client)] The scanner beeps and displays a readout." + var/message = "[icon2html(src, user.client)] " + span_notice("The scanner beeps and displays a readout.") for(var/ore_type in metals) var/result = "no sign" @@ -65,11 +65,11 @@ else result = metals[ore_type] - message += "
    - [result] of [ore_type]." + message += "
    " + span_notice("- [result] of [ore_type].") to_chat(user, message) -/obj/item/weapon/mining_scanner/advanced +/obj/item/mining_scanner/advanced name = "advanced ore detector" desc = "An advanced device used to locate ore deep underground." description_info = "This scanner has variable range, you can use the Set Scanner Range verb, or alt+click the device. Drills dig in 5x5." @@ -78,13 +78,13 @@ scan_time = 0.5 SECONDS exact = TRUE -/obj/item/weapon/mining_scanner/advanced/AltClick(mob/user) +/obj/item/mining_scanner/advanced/AltClick(mob/user) change_size() -/obj/item/weapon/mining_scanner/advanced/verb/change_size() +/obj/item/mining_scanner/advanced/verb/change_size() set name = "Set Scanner Range" set category = "Object" var/custom_range = tgui_input_list(usr, "Scanner Range","Pick a range to scan. ", list(0,1,2,3,4,5,6,7)) if(custom_range) range = custom_range - to_chat(usr, "Scanner will now look up to [range] tile(s) away.") + to_chat(usr, span_notice("Scanner will now look up to [range] tile(s) away.")) diff --git a/code/modules/mining/fulton.dm b/code/modules/mining/fulton.dm index 65911e98aec..abad46ed3eb 100644 --- a/code/modules/mining/fulton.dm +++ b/code/modules/mining/fulton.dm @@ -57,9 +57,9 @@ var/global/list/total_extraction_beacons = list() return if(A.anchored) return - to_chat(user, "You start attaching the pack to [A]...") + to_chat(user, span_notice("You start attaching the pack to [A]...")) if(do_after(user,50,target=A)) - to_chat(user, "You attach the pack to [A] and activate it.") + to_chat(user, span_notice("You attach the pack to [A] and activate it.")) /* No components, sorry. No convienence for you! if(loc == user && istype(user.back, /obj/item/storage/backpack)) var/obj/item/storage/backpack/B = user.back diff --git a/code/modules/mining/kinetic_crusher.dm b/code/modules/mining/kinetic_crusher.dm index 2a668262824..06ab146ec6b 100644 --- a/code/modules/mining/kinetic_crusher.dm +++ b/code/modules/mining/kinetic_crusher.dm @@ -2,7 +2,7 @@ // thanks silicons /*********************Mining Hammer****************/ -/obj/item/weapon/kinetic_crusher +/obj/item/kinetic_crusher icon = 'icons/obj/mining_vr.dmi' icon_state = "crusher" item_state = "crusher0" @@ -27,8 +27,7 @@ sharp = TRUE edge = TRUE // sharpness = SHARP_EDGED - action_button_name = "Toggle Light" - // actions_types = list(/datum/action/item_action/toggle_light) + actions_types = list(/datum/action/item_action/toggle_light) // var/list/trophies = list() var/charged = TRUE var/charge_time = 15 @@ -55,75 +54,75 @@ /// do we update item state? var/update_item_state = FALSE -/obj/item/weapon/kinetic_crusher/cyborg //probably give this a unique sprite later +/obj/item/kinetic_crusher/cyborg //probably give this a unique sprite later desc = "An integrated version of the standard kinetic crusher with a grinded down axe head to dissuade mis-use against crewmen. Deals damage equal to the standard crusher against creatures, however." force = 10 //wouldn't want to give a borg a 20 brute melee weapon unemagged now would we detonation_damage = 60 wielded = 1 -/obj/item/weapon/kinetic_crusher/Initialize(mapload) +/obj/item/kinetic_crusher/Initialize(mapload) . = ..() AddElement(/datum/element/conflict_checking, CONFLICT_ELEMENT_CRUSHER) /* -/obj/item/weapon/kinetic_crusher/Initialize() +/obj/item/kinetic_crusher/Initialize() . = ..() if(requires_Wield) RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield)) RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield)) -/obj/item/weapon/kinetic_crusher/ComponentInitialize() +/obj/item/kinetic_crusher/ComponentInitialize() . = ..() if(requires_wield) AddComponent(/datum/component/butchering, 60, 110) //technically it's huge and bulky, but this provides an incentive to use it AddComponent(/datum/component/two_handed, force_unwielded=0, force_wielded=20) */ -/obj/item/weapon/kinetic_crusher/Destroy() +/obj/item/kinetic_crusher/Destroy() // QDEL_LIST(trophies) return ..() -/obj/item/weapon/kinetic_crusher/emag_act() +/obj/item/kinetic_crusher/emag_act() . = ..() if(emagged) return emagged = TRUE desc = desc + " The destabilizer module occasionally sparks and glows a menacing red." -/obj/item/weapon/kinetic_crusher/proc/can_mark(mob/living/victim) +/obj/item/kinetic_crusher/proc/can_mark(mob/living/victim) if(emagged) return TRUE return !ishuman(victim) && !issilicon(victim) /// triggered on wield of two handed item -/obj/item/weapon/kinetic_crusher/proc/on_wield(obj/item/source, mob/user) +/obj/item/kinetic_crusher/proc/on_wield(obj/item/source, mob/user) wielded = TRUE /// triggered on unwield of two handed item -/obj/item/weapon/kinetic_crusher/proc/on_unwield(obj/item/source, mob/user) +/obj/item/kinetic_crusher/proc/on_unwield(obj/item/source, mob/user) wielded = FALSE -/obj/item/weapon/kinetic_crusher/examine(mob/living/user) +/obj/item/kinetic_crusher/examine(mob/living/user) . = ..() - . += "Mark a[emagged ? "nything": " creature"] with the destabilizing force, then hit them in melee to do [force + detonation_damage] damage." - . += "Does [force + detonation_damage + backstab_bonus] damage if the target is backstabbed, instead of [force + detonation_damage]." + . += span_notice("Mark a[emagged ? "nything": " creature"] with the destabilizing force, then hit them in melee to do [force + detonation_damage] damage.") + . += span_notice("Does [force + detonation_damage + backstab_bonus] damage if the target is backstabbed, instead of [force + detonation_damage].") /* for(var/t in trophies) var/obj/item/crusher_trophy/T = t - . += "It has \a [T] attached, which causes [T.effect_desc()]." + . += span_notice("It has \a [T] attached, which causes [T.effect_desc()].") */ /* -/obj/item/weapon/kinetic_crusher/attackby(obj/item/I, mob/living/user) +/obj/item/kinetic_crusher/attackby(obj/item/I, mob/living/user) if(I.tool_behaviour == TOOL_CROWBAR) if(LAZYLEN(trophies)) - to_chat(user, "You remove [src]'s trophies.") + to_chat(user, span_notice("You remove [src]'s trophies.")) I.play_tool_sound(src) for(var/t in trophies) var/obj/item/crusher_trophy/T = t T.remove_from(src, user) else - to_chat(user, "There are no trophies on [src].") + to_chat(user, span_warning("There are no trophies on [src].")) else if(istype(I, /obj/item/crusher_trophy)) var/obj/item/crusher_trophy/T = I T.add_to(src, user) @@ -131,13 +130,13 @@ return ..() */ -/obj/item/weapon/kinetic_crusher/attack(mob/living/target, mob/living/carbon/user) +/obj/item/kinetic_crusher/attack(mob/living/target, mob/living/carbon/user) if(!wielded && requires_wield) - to_chat(user, "[src] is too heavy to use with one hand.") + to_chat(user, span_warning("[src] is too heavy to use with one hand.")) return ..() -/obj/item/weapon/kinetic_crusher/afterattack(atom/target, mob/living/user, proximity_flag, clickparams) +/obj/item/kinetic_crusher/afterattack(atom/target, mob/living/user, proximity_flag, clickparams) . = ..() /* if(istype(target, /obj/item/crusher_trophy)) @@ -169,7 +168,7 @@ if(proximity_flag && isliving(target)) detonate(target, user) -/obj/item/weapon/kinetic_crusher/proc/detonate(mob/living/L, mob/living/user, thrown = FALSE) +/obj/item/kinetic_crusher/proc/detonate(mob/living/L, mob/living/user, thrown = FALSE) var/datum/modifier/crusher_mark/CM = L.get_modifier_of_type(/datum/modifier/crusher_mark) if(!CM || CM.hammer_synced != src) return @@ -187,7 +186,7 @@ else L.apply_damage(detonation_damage + thrown_bonus, BRUTE, blocked = def_check) -/obj/item/weapon/kinetic_crusher/throw_impact(atom/hit_atom, speed) +/obj/item/kinetic_crusher/throw_impact(atom/hit_atom, speed) . = ..() if(!isliving(hit_atom)) return @@ -195,25 +194,25 @@ if(L.has_modifier_of_type(/datum/modifier/crusher_mark)) detonate(L, thrower, TRUE) -/obj/item/weapon/kinetic_crusher/proc/Recharge() +/obj/item/kinetic_crusher/proc/Recharge() if(!charged) charged = TRUE update_icon() playsound(src.loc, 'sound/weapons/kenetic_reload.ogg', 60, 1) -/obj/item/weapon/kinetic_crusher/ui_action_click(mob/user, actiontype) +/obj/item/kinetic_crusher/ui_action_click(mob/user, actiontype) integ_light_on = !integ_light_on playsound(src, 'sound/weapons/empty.ogg', 100, TRUE) update_brightness(user) update_icon() -/obj/item/weapon/kinetic_crusher/proc/update_brightness(mob/user = null) +/obj/item/kinetic_crusher/proc/update_brightness(mob/user = null) if(integ_light_on) set_light(brightness_on) else set_light(0) -/obj/item/weapon/kinetic_crusher/update_icon() +/obj/item/kinetic_crusher/update_icon() . = ..() cut_overlay("[icon_state]_uncharged") cut_overlay("[icon_state]_lit") @@ -225,7 +224,7 @@ add_overlay("[icon_state]_lit") /* -/obj/item/weapon/kinetic_crusher/glaive +/obj/item/kinetic_crusher/glaive name = "proto-kinetic glaive" desc = "A modified design of a proto-kinetic crusher, it is still little more of a combination of various mining tools cobbled together \ and kit-bashed into a high-tech cleaver on a stick - with a handguard and a goliath hide grip. While it is still of little use to any \ @@ -236,7 +235,7 @@ */ -/obj/item/weapon/kinetic_crusher/machete +/obj/item/kinetic_crusher/machete // general purpose. cleaves though name = "proto-kinetic machete" desc = "A scaled down version of a proto-kinetic crusher, used by people who don't want to lug around an axe-hammer." @@ -261,7 +260,7 @@ -/obj/item/weapon/kinetic_crusher/machete/gauntlets +/obj/item/kinetic_crusher/machete/gauntlets // did someone say single target damage name = "\improper proto-kinetic gear" desc = "A pair of scaled-down proto-kinetic crusher destabilizer modules shoved into gauntlets and greaves, used by those who wish to spit in the eyes of God." @@ -280,29 +279,29 @@ var/obj/item/offhand/crushergauntlets/offhand slot_flags = null -/obj/item/weapon/kinetic_crusher/machete/gauntlets/equipped() +/obj/item/kinetic_crusher/machete/gauntlets/equipped() . = ..() START_PROCESSING(SSprocessing, src) -/obj/item/weapon/kinetic_crusher/machete/gauntlets/dropped(mob/user) +/obj/item/kinetic_crusher/machete/gauntlets/dropped(mob/user) ready_toggle(TRUE) STOP_PROCESSING(SSprocessing, src) . = ..() -/obj/item/weapon/kinetic_crusher/machete/gauntlets/Destroy() +/obj/item/kinetic_crusher/machete/gauntlets/Destroy() . = ..() STOP_PROCESSING(SSprocessing, src) -/obj/item/weapon/kinetic_crusher/machete/gauntlets/attack_self(mob/user) +/obj/item/kinetic_crusher/machete/gauntlets/attack_self(mob/user) ready_toggle() -/obj/item/weapon/kinetic_crusher/machete/gauntlets/process() +/obj/item/kinetic_crusher/machete/gauntlets/process() if(wielded) // are we supposed to be wielded if(!offhand) // does our offhand exist ready_toggle(TRUE) // no? well, shit /// toggles twohand. if forced is true, forces an unready state -/obj/item/weapon/kinetic_crusher/machete/gauntlets/proc/ready_toggle(var/forced = 0) +/obj/item/kinetic_crusher/machete/gauntlets/proc/ready_toggle(var/forced = 0) var/mob/living/M = loc if(istype(M) && forced == 0) if(M.can_wield_item(src) && src.is_held_twohanded(M)) @@ -312,10 +311,10 @@ else unwield(M) -/obj/item/weapon/kinetic_crusher/machete/gauntlets/proc/wield(var/mob/living/M) +/obj/item/kinetic_crusher/machete/gauntlets/proc/wield(var/mob/living/M) name = initial(name) wielded = TRUE - to_chat(M, "You ready [src].") + to_chat(M, span_notice("You ready [src].")) var/obj/item/offhand/crushergauntlets/O = new(M) O.name = "[name] - readied" O.desc = "As much as you'd like to punch things with one hand, [src] is far too unwieldy for that." @@ -323,8 +322,8 @@ M.put_in_inactive_hand(O) offhand = O -/obj/item/weapon/kinetic_crusher/machete/gauntlets/proc/unwield(var/mob/living/M) - to_chat(M, "You unready [src].") +/obj/item/kinetic_crusher/machete/gauntlets/proc/unwield(var/mob/living/M) + to_chat(M, span_notice("You unready [src].")) name = "[initial(name)] (unreadied)" wielded = FALSE if(offhand) @@ -339,25 +338,25 @@ // man i really should try porting the twohand component this is hacky and Sucks /obj/item/offhand/crushergauntlets - var/obj/item/weapon/kinetic_crusher/machete/gauntlets/linked + var/obj/item/kinetic_crusher/machete/gauntlets/linked /obj/item/offhand/crushergauntlets/dropped(mob/user as mob) if(linked.wielded) linked.ready_toggle(TRUE) -/obj/item/weapon/kinetic_crusher/machete/gauntlets/rig +/obj/item/kinetic_crusher/machete/gauntlets/rig name = "\improper mounted proto-kinetic gear" var/obj/item/rig_module/gauntlets/storing_module -/obj/item/weapon/kinetic_crusher/machete/gauntlets/rig/dropped(mob/user) - . = ..() +/obj/item/kinetic_crusher/machete/gauntlets/rig/dropped(mob/user) + . = ..(user) if(storing_module) src.forceMove(storing_module) storing_module.stored_gauntlets = src user.visible_message( - "[user] retracts [src] with a click and a hiss.", - "You retract [src] with a click and a hiss.", - "You hear a click and a hiss." + span_notice("[user] retracts [src] with a click and a hiss."), + span_notice("You retract [src] with a click and a hiss."), + span_notice("You hear a click and a hiss.") ) playsound(src, 'sound/items/helmetdeploy.ogg', 40, 1) storing_module.active = FALSE @@ -365,7 +364,7 @@ QDEL_NULL(src) // gimmicky backup for throwing -/obj/item/weapon/kinetic_crusher/machete/dagger +/obj/item/kinetic_crusher/machete/dagger name = "proto-kinetic dagger" desc = "A scaled down version of a proto-kinetic machete, usually used in a last ditch scenario." icon_state = "glaive-dagger" @@ -397,7 +396,7 @@ range = 6 accuracy = INFINITY // NO. // log_override = TRUE - var/obj/item/weapon/kinetic_crusher/hammer_synced + var/obj/item/kinetic_crusher/hammer_synced /obj/item/projectile/destabilizer/Destroy() hammer_synced = null diff --git a/code/modules/mining/machinery/machine_processing.dm b/code/modules/mining/machinery/machine_processing.dm index 62842e9ebbe..df23a27a6ef 100644 --- a/code/modules/mining/machinery/machine_processing.dm +++ b/code/modules/mining/machinery/machine_processing.dm @@ -12,7 +12,7 @@ density = TRUE anchored = TRUE - var/obj/item/weapon/card/id/inserted_id // Inserted ID card, for points + var/obj/item/card/id/inserted_id // Inserted ID card, for points var/obj/machinery/mineral/processing_unit/machine = null var/show_all_ores = FALSE @@ -35,15 +35,15 @@ if(..()) return if(!allowed(user)) - to_chat(user, "Access denied.") + to_chat(user, span_warning("Access denied.")) return tgui_interact(user) /obj/machinery/mineral/processing_unit_console/attackby(var/obj/item/I, var/mob/user) - if(istype(I, /obj/item/weapon/card/id)) + if(istype(I, /obj/item/card/id)) if(!powered()) return - if(!inserted_id && user.unEquip(I)) + if(!inserted_id && (user.unEquip(I) || isrobot(user))) I.forceMove(src) inserted_id = I SStgui.update_uis(src) @@ -90,17 +90,17 @@ return data -/obj/machinery/mineral/processing_unit_console/tgui_act(action, list/params) +/obj/machinery/mineral/processing_unit_console/tgui_act(action, list/params, datum/tgui/ui) if(..()) return TRUE - add_fingerprint(usr) + add_fingerprint(ui.user) switch(action) if("toggleSmelting") var/ore = params["ore"] var/new_setting = params["set"] if(new_setting == null) - new_setting = tgui_input_list(usr, "What setting do you wish to use for processing [ore]]?", "Process Setting", list("Smelting","Compressing","Alloying","Nothing")) + new_setting = tgui_input_list(ui.user, "What setting do you wish to use for processing [ore]]?", "Process Setting", list("Smelting","Compressing","Alloying","Nothing")) if(!new_setting) return switch(new_setting) @@ -119,25 +119,25 @@ if("logoff") if(!inserted_id) return - usr.put_in_hands(inserted_id) + ui.user.put_in_hands(inserted_id) inserted_id = null . = TRUE if("claim") if(istype(inserted_id)) - if(access_mining_station in inserted_id.access) + if(access_mining_station in inserted_id.GetAccess()) inserted_id.mining_points += machine.points machine.points = 0 else - to_chat(usr, "Required access not found.") + to_chat(ui.user, span_warning("Required access not found.")) . = TRUE if("insert") - var/obj/item/weapon/card/id/I = usr.get_active_hand() + var/obj/item/card/id/I = ui.user.get_active_hand() if(istype(I)) - usr.drop_item() + ui.user.drop_item() I.forceMove(src) inserted_id = I else - to_chat(usr, "No valid ID.") + to_chat(ui.user, span_warning("No valid ID.")) . = TRUE if("speed_toggle") machine.toggle_speed() @@ -253,7 +253,7 @@ ore_chunk.stored_ore[ore] = 0 qdel(ore_chunk) - for(var/obj/item/weapon/ore/O in input.loc) + for(var/obj/item/ore/O in input.loc) if(!isnull(ores_stored[O.material])) ores_stored[O.material]++ points += (ore_values[O.material]*points_mult) @@ -337,7 +337,7 @@ else ores_stored[metal]-- sheets++ - new /obj/item/weapon/ore/slag(output.loc) + new /obj/item/ore/slag(output.loc) else continue @@ -347,4 +347,3 @@ #undef PROCESS_SMELT #undef PROCESS_COMPRESS #undef PROCESS_ALLOY - diff --git a/code/modules/mining/machinery/machine_stacking.dm b/code/modules/mining/machinery/machine_stacking.dm index 6567625b54b..9b74555e7a8 100644 --- a/code/modules/mining/machinery/machine_stacking.dm +++ b/code/modules/mining/machinery/machine_stacking.dm @@ -21,7 +21,7 @@ machine.console = src else //Silently failing and causing mappers to scratch their heads while runtiming isn't ideal. - to_world("Warning: Stacking machine console at [src.x], [src.y], [src.z] could not find its machine!") + to_world(span_danger("Warning: Stacking machine console at [src.x], [src.y], [src.z] could not find its machine!")) qdel(src) /obj/machinery/mineral/stacking_unit_console/attack_hand(mob/user) @@ -37,7 +37,7 @@ /obj/machinery/mineral/stacking_unit_console/tgui_data(mob/user) var/list/data = ..() - + var/list/stacktypes = list() for(var/stacktype in machine.stack_storage) if(machine.stack_storage[stacktype] > 0) @@ -49,7 +49,7 @@ data["stackingAmt"] = machine.stack_amt return data -/obj/machinery/mineral/stacking_unit_console/tgui_act(action, list/params) +/obj/machinery/mineral/stacking_unit_console/tgui_act(action, list/params, datum/tgui/ui) if(..()) return TRUE @@ -66,7 +66,7 @@ machine.stack_storage[stack] = 0 . = TRUE - add_fingerprint(usr) + add_fingerprint(ui.user) /**********************Mineral stacking unit**************************/ @@ -136,8 +136,7 @@ var/stacktype = stack_paths[sheet] new stacktype (get_turf(output), stack_amt) stack_storage[sheet] -= stack_amt - + if(console) console.updateUsrDialog() return - diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index 9cb1dbf9537..0469b044fc9 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -1,6 +1,6 @@ /******************************Lantern*******************************/ -/obj/item/device/flashlight/lantern +/obj/item/flashlight/lantern name = "lantern" icon_state = "lantern" desc = "A mining lantern." @@ -9,7 +9,7 @@ /*****************************Pickaxe********************************/ -/obj/item/weapon/pickaxe +/obj/item/pickaxe name = "pickaxe" desc = "A miner's best friend." icon = 'icons/obj/items.dmi' @@ -31,7 +31,7 @@ var/excavation_amount = 200 var/destroy_artefacts = FALSE // some mining tools will destroy artefacts completely while avoiding side-effects. -/obj/item/weapon/pickaxe/silver +/obj/item/pickaxe/silver name = "silver pickaxe" icon_state = "spickaxe" item_state = "spickaxe" @@ -39,7 +39,7 @@ origin_tech = list(TECH_MATERIAL = 3) desc = "This makes no metallurgic sense." -/obj/item/weapon/pickaxe/gold +/obj/item/pickaxe/gold name = "golden pickaxe" icon_state = "gpickaxe" item_state = "gpickaxe" @@ -48,7 +48,7 @@ desc = "This makes no metallurgic sense." drill_verb = "picking" -/obj/item/weapon/pickaxe/diamond +/obj/item/pickaxe/diamond name = "diamond pickaxe" icon_state = "dpickaxe" item_state = "dpickaxe" @@ -59,7 +59,7 @@ /*****************************Drill********************************/ -/obj/item/weapon/pickaxe/drill +/obj/item/pickaxe/drill name = "mining drill" // Can dig sand as well! icon_state = "drill" item_state = "jackhammer" @@ -70,7 +70,7 @@ desc = "The most basic of mining drills, for short excavations and small mineral extractions." drill_verb = "drilling" -/obj/item/weapon/pickaxe/advdrill +/obj/item/pickaxe/advdrill name = "advanced mining drill" // Can dig sand as well! icon_state = "advdrill" item_state = "jackhammer" @@ -81,7 +81,7 @@ desc = "Yours is the drill that will pierce through the rock walls." drill_verb = "drilling" -/obj/item/weapon/pickaxe/diamonddrill //When people ask about the badass leader of the mining tools, they are talking about ME! +/obj/item/pickaxe/diamonddrill //When people ask about the badass leader of the mining tools, they are talking about ME! name = "diamond mining drill" icon_state = "diamonddrill" item_state = "jackhammer" @@ -92,7 +92,7 @@ desc = "Yours is the drill that will pierce the heavens!" drill_verb = "drilling" -/obj/item/weapon/pickaxe/jackhammer +/obj/item/pickaxe/jackhammer name = "sonic jackhammer" icon_state = "jackhammer" item_state = "jackhammer" @@ -102,7 +102,7 @@ drill_verb = "hammering" destroy_artefacts = TRUE -/obj/item/weapon/pickaxe/borgdrill +/obj/item/pickaxe/borgdrill name = "jackhammer" icon_state = "borg_pick" item_state = "jackhammer" @@ -112,7 +112,7 @@ drill_verb = "hammering" destroy_artefacts = TRUE -/obj/item/weapon/pickaxe/plasmacutter +/obj/item/pickaxe/plasmacutter name = "plasma cutter" desc = "A rock cutter that uses bursts of hot plasma. You could use it to cut limbs off of xenos! Or, you know, mine stuff." icon_state = "plasmacutter" @@ -127,13 +127,13 @@ sharp = TRUE edge = TRUE -/obj/item/weapon/pickaxe/plasmacutter/borg +/obj/item/pickaxe/plasmacutter/borg name = "mounted plasma cutter" icon_state = "pcutter_borg" /*****************************Shovel********************************/ -/obj/item/weapon/shovel +/obj/item/shovel name = "shovel" desc = "A large tool for digging and moving dirt. Alt click to switch modes." icon = 'icons/obj/items.dmi' @@ -151,17 +151,17 @@ var/digspeed = 40 var/grave_mode = FALSE -/obj/item/weapon/shovel/AltClick(mob/user) +/obj/item/shovel/AltClick(mob/user) grave_mode = !grave_mode to_chat(user, span_notice("You'll now dig [grave_mode ? "out graves" : "for loot"].")) . = ..() -/obj/item/weapon/shovel/wood +/obj/item/shovel/wood icon_state = "whiteshovel" item_state = "whiteshovel" var/datum/material/material -/obj/item/weapon/shovel/wood/Initialize(var/ml, var/_mat) +/obj/item/shovel/wood/Initialize(var/ml, var/_mat) . = ..() material = get_material_by_name(_mat) if(!istype(material)) @@ -171,12 +171,12 @@ matter = list("[material.name]" = 50) update_icon() -/obj/item/weapon/shovel/wood/update_icon() +/obj/item/shovel/wood/update_icon() . = ..() color = material ? material.icon_colour : initial(color) alpha = min(max(255 * material.opacity, 80), 255) -/obj/item/weapon/shovel/spade +/obj/item/shovel/spade name = "spade" desc = "A small tool for digging and moving dirt." icon_state = "spade" @@ -185,7 +185,7 @@ throwforce = 7.0 w_class = ITEMSIZE_SMALL -/obj/item/weapon/shovel/wood +/obj/item/shovel/wood name = "wooden shovel" desc = "An improvised tool for digging and moving dirt." icon = 'icons/obj/items.dmi' @@ -245,7 +245,7 @@ upright = 0 icon_state = base_state anchored = FALSE - src.visible_message("[user] knocks down [src].") + src.visible_message(span_infoplain(span_bold("[user]") + " knocks down [src].")) else ..() @@ -268,7 +268,7 @@ newflag.anchored = TRUE newflag.name = newflag.singular_name newflag.icon_state = "[newflag.base_state]_open" - newflag.visible_message("[user] plants [newflag] firmly in the ground.") + newflag.visible_message(span_infoplain(span_bold("[user]") + " plants [newflag] firmly in the ground.")) src.use(1) // Lightpoles for lumber colony diff --git a/code/modules/mining/mine_outcrops.dm b/code/modules/mining/mine_outcrops.dm index fb570af547c..c8da8a4de9f 100644 --- a/code/modules/mining/mine_outcrops.dm +++ b/code/modules/mining/mine_outcrops.dm @@ -9,7 +9,7 @@ icon_state = "outcrop" var/mindrop = 5 var/upperdrop = 10 - var/outcropdrop = /obj/item/weapon/ore/glass + var/outcropdrop = /obj/item/ore/glass /obj/structure/outcrop/Initialize() . = ..() @@ -22,7 +22,7 @@ icon_state = "outcrop-diamond" mindrop = 2 upperdrop = 4 - outcropdrop = /obj/item/weapon/ore/diamond + outcropdrop = /obj/item/ore/diamond /obj/structure/outcrop/phoron name = "shiny outcrop" @@ -30,7 +30,7 @@ icon_state = "outcrop-phoron" mindrop = 4 upperdrop = 8 - outcropdrop = /obj/item/weapon/ore/phoron + outcropdrop = /obj/item/ore/phoron /obj/structure/outcrop/iron name = "rugged outcrop" @@ -38,7 +38,7 @@ icon_state = "outcrop-iron" mindrop = 10 upperdrop = 20 - outcropdrop = /obj/item/weapon/ore/iron + outcropdrop = /obj/item/ore/iron /obj/structure/outcrop/coal name = "rugged outcrop" @@ -46,7 +46,7 @@ icon_state = "outcrop-coal" mindrop = 10 upperdrop = 20 - outcropdrop = /obj/item/weapon/ore/coal + outcropdrop = /obj/item/ore/coal /obj/structure/outcrop/lead name = "rugged outcrop" @@ -54,7 +54,7 @@ icon_state = "outcrop-lead" mindrop = 2 upperdrop = 5 - outcropdrop = /obj/item/weapon/ore/lead + outcropdrop = /obj/item/ore/lead /obj/structure/outcrop/gold name = "hollow outcrop" @@ -62,7 +62,7 @@ icon_state = "outcrop-gold" mindrop = 4 upperdrop = 6 - outcropdrop = /obj/item/weapon/ore/gold + outcropdrop = /obj/item/ore/gold /obj/structure/outcrop/silver name = "hollow outcrop" @@ -70,7 +70,7 @@ icon_state = "outcrop-silver" mindrop = 6 upperdrop = 8 - outcropdrop = /obj/item/weapon/ore/silver + outcropdrop = /obj/item/ore/silver /obj/structure/outcrop/platinum name = "hollow outcrop" @@ -78,7 +78,7 @@ icon_state = "outcrop-platinum" mindrop = 2 upperdrop = 5 - outcropdrop = /obj/item/weapon/ore/osmium + outcropdrop = /obj/item/ore/osmium /obj/structure/outcrop/uranium name = "spiky outcrop" @@ -86,27 +86,27 @@ icon_state = "outcrop-uranium" mindrop = 4 upperdrop = 8 - outcropdrop = /obj/item/weapon/ore/uranium + outcropdrop = /obj/item/ore/uranium /obj/structure/outcrop/attackby(obj/item/W as obj, mob/user as mob) - if (istype(W, /obj/item/weapon/pickaxe)) - to_chat(user, "[user] begins to hack away at \the [src].") + if (istype(W, /obj/item/pickaxe)) + to_chat(user, span_notice("[user] begins to hack away at \the [src].")) if(do_after(user,40)) - to_chat(user, "You have finished digging!") + to_chat(user, span_notice("You have finished digging!")) for(var/i=0;i<(rand(mindrop,upperdrop));i++) new outcropdrop(get_turf(src)) qdel(src) return - if (istype(W, /obj/item/weapon/melee/shock_maul)) - var/obj/item/weapon/melee/shock_maul/S = W + if (istype(W, /obj/item/melee/shock_maul)) + var/obj/item/melee/shock_maul/S = W if(!S.wielded || !S.status) - to_chat(user, "\The [src] must be wielded in two hands and powered on to be used for mining!") + to_chat(user, span_warning("\The [S] must be wielded in two hands and powered on to be used for mining!")) return - to_chat(user, "You pulverize \the [src]!") + to_chat(user, span_notice("You pulverize \the [src]!")) for(var/i=0;i<(rand(mindrop,upperdrop));i++) new outcropdrop(get_turf(src)) playsound(src, 'sound/weapons/resonator_blast.ogg', 100, 1, -1) - user.visible_message("\The [S] discharges with a thunderous, hair-raising crackle!") + user.visible_message(span_warning("\The [S] discharges with a thunderous, hair-raising crackle!")) S.deductcharge() S.status = 0 S.update_held_icon() @@ -129,4 +129,4 @@ prob(30);/obj/structure/outcrop/phoron, prob(7);/obj/structure/outcrop/diamond, prob(15);/obj/structure/outcrop/platinum, - prob(15);/obj/structure/outcrop/lead) \ No newline at end of file + prob(15);/obj/structure/outcrop/lead) diff --git a/code/modules/mining/mine_turfs.dm b/code/modules/mining/mine_turfs.dm index 7cf35610dcd..0d0aeb07882 100644 --- a/code/modules/mining/mine_turfs.dm +++ b/code/modules/mining/mine_turfs.dm @@ -51,31 +51,31 @@ var/list/mining_overlay_cache = list() var/next_rock = 0 var/archaeo_overlay = "" var/excav_overlay = "" - var/obj/item/weapon/last_find + var/obj/item/last_find var/datum/artifact_find/artifact_find var/ignore_mapgen var/static/list/ore_types = list( - "hematite" = /obj/item/weapon/ore/iron, - "uranium" = /obj/item/weapon/ore/uranium, - "gold" = /obj/item/weapon/ore/gold, - "silver" = /obj/item/weapon/ore/silver, - "diamond" = /obj/item/weapon/ore/diamond, - "phoron" = /obj/item/weapon/ore/phoron, - "platinum" = /obj/item/weapon/ore/osmium, - "mhydrogen" = /obj/item/weapon/ore/hydrogen, - "sand" = /obj/item/weapon/ore/glass, - "carbon" = /obj/item/weapon/ore/coal, - "verdantium" = /obj/item/weapon/ore/verdantium, - "marble" = /obj/item/weapon/ore/marble, - "lead" = /obj/item/weapon/ore/lead, -// "copper" = /obj/item/weapon/ore/copper, -// "tin" = /obj/item/weapon/ore/tin, -// "bauxite" = /obj/item/weapon/ore/bauxite, -// "void opal" = /obj/item/weapon/ore/void_opal, -// "painite" = /obj/item/weapon/ore/painite, -// "quartz" = /obj/item/weapon/ore/quartz, - "rutile" = /obj/item/weapon/ore/rutile + "hematite" = /obj/item/ore/iron, + "uranium" = /obj/item/ore/uranium, + "gold" = /obj/item/ore/gold, + "silver" = /obj/item/ore/silver, + "diamond" = /obj/item/ore/diamond, + "phoron" = /obj/item/ore/phoron, + "platinum" = /obj/item/ore/osmium, + "mhydrogen" = /obj/item/ore/hydrogen, + "sand" = /obj/item/ore/glass, + "carbon" = /obj/item/ore/coal, + "verdantium" = /obj/item/ore/verdantium, + "marble" = /obj/item/ore/marble, + "lead" = /obj/item/ore/lead, +// "copper" = /obj/item/ore/copper, +// "tin" = /obj/item/ore/tin, +// "bauxite" = /obj/item/ore/bauxite, +// "void opal" = /obj/item/ore/void_opal, +// "painite" = /obj/item/ore/painite, +// "quartz" = /obj/item/ore/quartz, + "rutile" = /obj/item/ore/rutile ) has_resources = 1 @@ -184,8 +184,8 @@ var/list/mining_overlay_cache = list() recalculate_directional_opacity() if(ticker && ticker.current_state == GAME_STATE_PLAYING) reconsider_lights() - if(air_master) - air_master.mark_for_update(src) + if(SSair) + SSair.mark_for_update(src) /turf/simulated/mineral/proc/get_cached_border(var/cache_id, var/direction, var/icon_file, var/icon_state, var/offset = 32) //Cache miss @@ -329,13 +329,13 @@ var/list/mining_overlay_cache = list() if(istype(AM,/mob/living/carbon/human)) var/mob/living/carbon/human/H = AM - var/obj/item/weapon/pickaxe/P = H.get_inactive_hand() + var/obj/item/pickaxe/P = H.get_inactive_hand() if(istype(P)) src.attackby(P, H) else if(istype(AM,/mob/living/silicon/robot)) var/mob/living/silicon/robot/R = AM - if(istype(R.module_active,/obj/item/weapon/pickaxe)) + if(istype(R.module_active,/obj/item/pickaxe)) attackby(R.module_active,R) else if(istype(AM,/obj/mecha)) @@ -361,55 +361,55 @@ var/list/mining_overlay_cache = list() update_icon() //Not even going to touch this pile of spaghetti -/turf/simulated/mineral/attackby(obj/item/weapon/W as obj, mob/user as mob) +/turf/simulated/mineral/attackby(obj/item/W as obj, mob/user as mob) if (!user.IsAdvancedToolUser()) - to_chat(user, "You don't have the dexterity to do this!") + to_chat(user, span_warning("You don't have the dexterity to do this!")) return if(!density) var/valid_tool = 0 var/digspeed = 30 //YAWN change. 30 from 40 - if(istype(W, /obj/item/weapon/shovel)) - var/obj/item/weapon/shovel/S = W + if(istype(W, /obj/item/shovel)) + var/obj/item/shovel/S = W valid_tool = 1 digspeed = S.digspeed - if(istype(W, /obj/item/weapon/pickaxe)) - var/obj/item/weapon/pickaxe/P = W + if(istype(W, /obj/item/pickaxe)) + var/obj/item/pickaxe/P = W if(P.sand_dig) valid_tool = 1 digspeed = P.digspeed if(valid_tool) if (sand_dug) - to_chat(user, "This area has already been dug.") + to_chat(user, span_warning("This area has already been dug.")) return var/turf/T = user.loc if (!(istype(T))) return - to_chat(user, "You start digging.") + to_chat(user, span_notice("You start digging.")) playsound(user, 'sound/effects/rustle1.ogg', 50, 1) if(!do_after(user,digspeed)) return - to_chat(user, "You dug a hole.") + to_chat(user, span_notice("You dug a hole.")) GetDrilled() - else if(istype(W,/obj/item/weapon/storage/bag/ore)) - var/obj/item/weapon/storage/bag/ore/S = W + else if(istype(W,/obj/item/storage/bag/ore)) + var/obj/item/storage/bag/ore/S = W if(S.collection_mode) - for(var/obj/item/weapon/ore/O in contents) + for(var/obj/item/ore/O in contents) O.attackby(W,user) return - else if(istype(W,/obj/item/weapon/storage/bag/fossils)) - var/obj/item/weapon/storage/bag/fossils/S = W + else if(istype(W,/obj/item/storage/bag/fossils)) + var/obj/item/storage/bag/fossils/S = W if(S.collection_mode) - for(var/obj/item/weapon/fossil/F in contents) + for(var/obj/item/fossil/F in contents) F.attackby(W,user) return @@ -424,41 +424,41 @@ var/list/mining_overlay_cache = list() else - if (istype(W, /obj/item/device/core_sampler)) + if (istype(W, /obj/item/core_sampler)) geologic_data.UpdateNearbyArtifactInfo(src) - var/obj/item/device/core_sampler/C = W + var/obj/item/core_sampler/C = W C.sample_item(src, user) return - if (istype(W, /obj/item/device/depth_scanner)) - var/obj/item/device/depth_scanner/C = W + if (istype(W, /obj/item/depth_scanner)) + var/obj/item/depth_scanner/C = W C.scan_atom(user, src) return - if (istype(W, /obj/item/device/measuring_tape)) - var/obj/item/device/measuring_tape/P = W - user.visible_message("\The [user] extends \a [P] towards \the [src].","You extend \the [P] towards \the [src].") + if (istype(W, /obj/item/measuring_tape)) + var/obj/item/measuring_tape/P = W + user.visible_message(span_infoplain(span_bold("\The [user]") + " extends \a [P] towards \the [src]."),span_notice("You extend \the [P] towards \the [src].")) if(do_after(user, 15)) - to_chat(user, "\The [src] has been excavated to a depth of [excavation_level]cm.") + to_chat(user, span_notice("\The [src] has been excavated to a depth of [excavation_level]cm.")) return - if(istype(W, /obj/item/device/xenoarch_multi_tool)) - var/obj/item/device/xenoarch_multi_tool/C = W + if(istype(W, /obj/item/xenoarch_multi_tool)) + var/obj/item/xenoarch_multi_tool/C = W if(C.mode) //Mode means scanning C.depth_scanner.scan_atom(user, src) else - user.visible_message("\The [user] extends \the [C] over \the [src], a flurry of red beams scanning \the [src]'s surface!", "You extend \the [C] over \the [src], a flurry of red beams scanning \the [src]'s surface!") + user.visible_message(span_infoplain(span_bold("\The [user]") + " extends \the [C] over \the [src], a flurry of red beams scanning \the [src]'s surface!"), span_notice("You extend \the [C] over \the [src], a flurry of red beams scanning \the [src]'s surface!")) if(do_after(user, 15)) - to_chat(user, "\The [src] has been excavated to a depth of [excavation_level]cm.") + to_chat(user, span_notice("\The [src] has been excavated to a depth of [excavation_level]cm.")) return - if (istype(W, /obj/item/weapon/melee/shock_maul)) + if (istype(W, /obj/item/melee/shock_maul)) if(!istype(user.loc, /turf)) return - var/obj/item/weapon/melee/shock_maul/S = W + var/obj/item/melee/shock_maul/S = W if(!S.wielded || !S.status) //if we're not wielded OR not powered up, do nothing - to_chat(user, "\The [src] must be wielded in two hands and powered on to be used for mining!") + to_chat(user, span_warning("\The [src] must be wielded in two hands and powered on to be used for mining!")) return var/newDepth = excavation_level + S.excavation_amount // Used commonly below @@ -471,7 +471,7 @@ var/list/mining_overlay_cache = list() fail_message = ". [pick("There is a crunching noise","[S] collides with some different rock","Part of the rock face crumbles away","Something breaks under [S]")]" wreckfinds(S.destroy_artefacts) - to_chat(user, "You smash through \the [src][fail_message].") + to_chat(user, span_notice("You smash through \the [src][fail_message].")) if(newDepth >= 200) // This means the rock is mined out fully if(S.destroy_artefacts) @@ -487,21 +487,21 @@ var/list/mining_overlay_cache = list() next_rock += S.excavation_amount while(next_rock > 50) next_rock -= 50 - var/obj/item/weapon/ore/O = new(src) + var/obj/item/ore/O = new(src) geologic_data.UpdateNearbyArtifactInfo(src) O.geologic_data = geologic_data - user.visible_message("\The [src] discharges with a thunderous, hair-raising crackle!") + user.visible_message(span_warning("\The [src] discharges with a thunderous, hair-raising crackle!")) playsound(src, 'sound/weapons/resonator_blast.ogg', 100, 1, -1) S.deductcharge() S.status = 0 S.update_held_icon() - if (istype(W, /obj/item/weapon/pickaxe)) + if (istype(W, /obj/item/pickaxe)) if(!istype(user.loc, /turf)) return - var/obj/item/weapon/pickaxe/P = W + var/obj/item/pickaxe/P = W if(last_act + P.digspeed > world.time)//prevents message spam return last_act = world.time @@ -516,7 +516,7 @@ var/list/mining_overlay_cache = list() if(newDepth > F.excavation_required) // Digging too deep can break the item. At least you won't summon a Balrog (probably) fail_message = ". [pick("There is a crunching noise","[W] collides with some different rock","Part of the rock face crumbles away","Something breaks under [W]")]" wreckfinds(P.destroy_artefacts) - to_chat(user, "You start [P.drill_verb][fail_message].") + to_chat(user, span_notice("You start [P.drill_verb][fail_message].")) if(do_after(user,P.digspeed)) @@ -527,7 +527,7 @@ var/list/mining_overlay_cache = list() else if(newDepth > F.excavation_required - F.clearance_range) // Not quite right but you still extract your find, the closer to the bottom the better, but not above 80% excavate_find(prob(80 * (F.excavation_required - newDepth) / F.clearance_range), F) - to_chat(user, "You finish [P.drill_verb] \the [src].") + to_chat(user, span_notice("You finish [P.drill_verb] \the [src].")) if(newDepth >= 200) // This means the rock is mined out fully if(P.destroy_artefacts) @@ -543,7 +543,7 @@ var/list/mining_overlay_cache = list() next_rock += P.excavation_amount while(next_rock > 50) next_rock -= 50 - var/obj/item/weapon/ore/O = new(src) + var/obj/item/ore/O = new(src) geologic_data.UpdateNearbyArtifactInfo(src) O.geologic_data = geologic_data return @@ -606,7 +606,7 @@ var/list/mining_overlay_cache = list() if(!mineral) return clear_ore_effects() - var/obj/item/weapon/ore/O = new mineral.ore (src) + var/obj/item/ore/O = new mineral.ore (src) if(istype(O)) geologic_data.UpdateNearbyArtifactInfo(src) O.geologic_data = geologic_data @@ -638,7 +638,7 @@ var/list/mining_overlay_cache = list() if(!sand_dug) sand_dug = 1 for(var/i=0;i<5;i++) - new/obj/item/weapon/ore/glass(src) + new/obj/item/ore/glass(src) update_icon() return @@ -657,7 +657,7 @@ var/list/mining_overlay_cache = list() if(prob(50)) pain = 1 for(var/mob/living/M in range(src, 200)) - to_chat(M, "[pick("A high-pitched [pick("keening","wailing","whistle")]","A rumbling noise like [pick("thunder","heavy machinery")]")] somehow penetrates your mind before fading away!") + to_chat(M, span_danger("[pick("A high-pitched [pick("keening","wailing","whistle")]","A rumbling noise like [pick("thunder","heavy machinery")]")] somehow penetrates your mind before fading away!")) if(pain) flick("pain",M.pain) if(prob(50)) @@ -670,7 +670,7 @@ var/list/mining_overlay_cache = list() if(prob(25)) excavate_find(prob(5), finds[1]) else if(rand(1,500) == 1) - visible_message("An old dusty crate was buried within!") + visible_message(span_notice("An old dusty crate was buried within!")) new /obj/structure/closet/crate/secure/loot(src) make_floor() @@ -679,16 +679,16 @@ var/list/mining_overlay_cache = list() /turf/simulated/mineral/proc/excavate_find(var/is_clean = 0, var/datum/find/F) //with skill and luck, players can cleanly extract finds //otherwise, they come out inside a chunk of rock - var/obj/item/weapon/X + var/obj/item/X if(is_clean) - X = new /obj/item/weapon/archaeological_find(src, new_item_type = F.find_type) + X = new /obj/item/archaeological_find(src, new_item_type = F.find_type) else - X = new /obj/item/weapon/strangerock(src, inside_item_type = F.find_type) + X = new /obj/item/strangerock(src, inside_item_type = F.find_type) geologic_data.UpdateNearbyArtifactInfo(src) - var/obj/item/weapon/strangerock/SR = X + var/obj/item/strangerock/SR = X SR.geologic_data = geologic_data - //some find types delete the /obj/item/weapon/archaeological_find and replace it with something else, this handles when that happens + //some find types delete the /obj/item/archaeological_find and replace it with something else, this handles when that happens //yuck var/display_name = "Something" if(!X) @@ -701,7 +701,7 @@ var/list/mining_overlay_cache = list() var/obj/effect/suspension_field/S = locate() in src if(!S) if(X) - visible_message("\The [pick("[display_name] crumbles away into dust","[display_name] breaks apart")].") + visible_message(span_danger("\The [pick("[display_name] crumbles away into dust","[display_name] breaks apart")].")) qdel(X) finds.Remove(F) @@ -723,10 +723,10 @@ var/list/mining_overlay_cache = list() new /obj/item/stack/material/plasteel(src, rand(5,25)) if(5) for(var/i=1 to rand(1,3)) - new /obj/item/weapon/material/shard(src) + new /obj/item/material/shard(src) if(6) for(var/i=1 to rand(1,3)) - new /obj/item/weapon/material/shard/phoron(src) + new /obj/item/material/shard/phoron(src) if(7) new /obj/item/stack/material/uranium(src, rand(5,25)) diff --git a/code/modules/mining/ore.dm b/code/modules/mining/ore.dm index 3ceab8f7f94..08a1c5a2daf 100644 --- a/code/modules/mining/ore.dm +++ b/code/modules/mining/ore.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/ore +/obj/item/ore name = "small rock" icon = 'icons/obj/mining.dmi' icon_state = "ore2" @@ -7,31 +7,31 @@ var/datum/geosample/geologic_data var/material -/obj/item/weapon/ore/uranium +/obj/item/ore/uranium name = "pitchblende" icon_state = "ore_uranium" origin_tech = list(TECH_MATERIAL = 5) material = "uranium" -/obj/item/weapon/ore/iron +/obj/item/ore/iron name = "hematite" icon_state = "ore_iron" origin_tech = list(TECH_MATERIAL = 1) material = "hematite" -/obj/item/weapon/ore/coal +/obj/item/ore/coal name = "raw carbon" icon_state = "ore_coal" origin_tech = list(TECH_MATERIAL = 1) material = "carbon" -/obj/item/weapon/ore/marble +/obj/item/ore/marble name = "recrystallized carbonate" icon_state = "ore_marble" origin_tech = list(TECH_MATERIAL = 1) material = "marble" -/obj/item/weapon/ore/glass +/obj/item/ore/glass name = "sand" icon_state = "ore_glass" origin_tech = list(TECH_MATERIAL = 1) @@ -39,133 +39,133 @@ slot_flags = SLOT_HOLSTER // POCKET SAND! -/obj/item/weapon/ore/glass/throw_impact(atom/hit_atom) +/obj/item/ore/glass/throw_impact(atom/hit_atom) ..() var/mob/living/carbon/human/H = hit_atom if(istype(H) && H.has_eyes() && prob(85)) - to_chat(H, "Some of \the [src] gets in your eyes!") + to_chat(H, span_danger("Some of \the [src] gets in your eyes!")) H.Blind(5) H.eye_blurry += 10 spawn(1) if(istype(loc, /turf/)) qdel(src) -/obj/item/weapon/ore/phoron +/obj/item/ore/phoron name = "phoron crystals" icon_state = "ore_phoron" origin_tech = list(TECH_MATERIAL = 2) material = "phoron" -/obj/item/weapon/ore/silver +/obj/item/ore/silver name = "native silver ore" icon_state = "ore_silver" origin_tech = list(TECH_MATERIAL = 3) material = "silver" -/obj/item/weapon/ore/gold +/obj/item/ore/gold name = "native gold ore" icon_state = "ore_gold" origin_tech = list(TECH_MATERIAL = 4) material = "gold" -/obj/item/weapon/ore/diamond +/obj/item/ore/diamond name = "diamonds" icon_state = "ore_diamond" origin_tech = list(TECH_MATERIAL = 6) material = "diamond" -/obj/item/weapon/ore/osmium +/obj/item/ore/osmium name = "raw platinum" icon_state = "ore_platinum" material = "platinum" -/obj/item/weapon/ore/hydrogen +/obj/item/ore/hydrogen name = "raw hydrogen" icon_state = "ore_hydrogen" material = "mhydrogen" -/obj/item/weapon/ore/verdantium +/obj/item/ore/verdantium name = "verdantite dust" icon_state = "ore_verdantium" material = MAT_VERDANTIUM origin_tech = list(TECH_MATERIAL = 7) // POCKET ... Crystal dust. -/obj/item/weapon/ore/verdantium/throw_impact(atom/hit_atom) +/obj/item/ore/verdantium/throw_impact(atom/hit_atom) ..() var/mob/living/carbon/human/H = hit_atom if(istype(H) && H.has_eyes() && prob(85)) - to_chat(H, "Some of \the [src] gets in your eyes!") + to_chat(H, span_danger("Some of \the [src] gets in your eyes!")) H.Blind(10) H.eye_blurry += 15 spawn(1) if(istype(loc, /turf/)) qdel(src) -/obj/item/weapon/ore/lead +/obj/item/ore/lead name = "lead glance" icon_state = "ore_lead" material = MAT_LEAD origin_tech = list(TECH_MATERIAL = 3) /* -/obj/item/weapon/ore/copper +/obj/item/ore/copper name = "raw copper" icon_state = "ore_copper" material = "copper" -/obj/item/weapon/ore/tin +/obj/item/ore/tin name = "raw tin" icon_state = "ore_tin" material = "tin" -/obj/item/weapon/ore/bauxite +/obj/item/ore/bauxite name = "raw bauxite" icon_state = "ore_bauxite" material = "bauxite" */ -/obj/item/weapon/ore/rutile +/obj/item/ore/rutile name = "raw rutile" icon_state = "ore_rutile" material = "rutile" /* -/obj/item/weapon/ore/void_opal +/obj/item/ore/void_opal name = "raw void opal" icon_state = "ore_void_opal" material = "void opal" -/obj/item/weapon/ore/painite +/obj/item/ore/painite name = "raw painite" icon_state = "ore_painite" material = "painite" -/obj/item/weapon/ore/quartz +/obj/item/ore/quartz name = "raw quartz" icon_state = "ore_quartz" material = "quartz" */ -/obj/item/weapon/ore/slag +/obj/item/ore/slag name = "Slag" desc = "Someone screwed up..." icon_state = "slag" material = null -/obj/item/weapon/ore/Initialize() +/obj/item/ore/Initialize() . = ..() randpixel_xy() -/obj/item/weapon/ore/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W,/obj/item/device/core_sampler)) - var/obj/item/device/core_sampler/C = W +/obj/item/ore/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W,/obj/item/core_sampler)) + var/obj/item/core_sampler/C = W C.sample_item(src, user) else return ..() //VOREStation Add -/obj/item/weapon/ore/attack(mob/living/M as mob, mob/living/user as mob) +/obj/item/ore/attack(mob/living/M as mob, mob/living/user as mob) if(M.handle_eat_minerals(src, user)) return ..() -/obj/item/weapon/ore/attack_generic(var/mob/living/user) //Allow adminbussed mobs to eat ore if they click it while NOT on help intent. +/obj/item/ore/attack_generic(var/mob/living/user) //Allow adminbussed mobs to eat ore if they click it while NOT on help intent. if(user.handle_eat_minerals(src)) return ..() @@ -215,4 +215,4 @@ . += "- [stored_ore[ore]] [ore]" has_ore = 1 if(!has_ore) - . += "Nothing. You should contact a developer." \ No newline at end of file + . += "Nothing. You should contact a developer." diff --git a/code/modules/mining/ore_box.dm b/code/modules/mining/ore_box.dm index caade5fce93..35dac00347f 100644 --- a/code/modules/mining/ore_box.dm +++ b/code/modules/mining/ore_box.dm @@ -30,15 +30,15 @@ "rutile" = 0) -/obj/structure/ore_box/attackby(obj/item/weapon/W as obj, mob/user as mob) - if (istype(W, /obj/item/weapon/ore)) - var/obj/item/weapon/ore/ore = W +/obj/structure/ore_box/attackby(obj/item/W as obj, mob/user as mob) + if (istype(W, /obj/item/ore)) + var/obj/item/ore/ore = W stored_ore[ore.material]++ user.remove_from_mob(W) qdel(ore) - else if (istype(W, /obj/item/weapon/storage/bag/ore)) - var/obj/item/weapon/storage/bag/ore/S = W + else if (istype(W, /obj/item/storage/bag/ore)) + var/obj/item/storage/bag/ore/S = W S.hide_from(user) for(var/ore in S.stored_ore) if(S.stored_ore[ore] > 0) @@ -46,7 +46,7 @@ stored_ore[ore] += ore_amount // Add the ore to the machine. S.stored_ore[ore] = 0 // Set the value of the ore in the satchel to 0. S.current_capacity = 0 // Set the amount of ore in the satchel to 0. - to_chat(user, "You empty the satchel into the box.") + to_chat(user, span_notice("You empty the satchel into the box.")) return @@ -55,7 +55,8 @@ stored_ore = list() - for(var/obj/item/weapon/ore/O in contents) + for(var/obj/item/ore/O in contents) + if(stored_ore[O.name]) stored_ore[O.name]++ else @@ -84,7 +85,7 @@ // set src in view(1) // // if(!ishuman(usr) && !isrobot(usr)) //Only living, intelligent creatures with gripping aparatti can empty ore boxes. -// to_chat(usr, "You are physically incapable of emptying the ore box.") +// to_chat(usr, span_warning("You are physically incapable of emptying the ore box.")) // return // if(usr.stat || usr.restrained()) // return @@ -96,13 +97,13 @@ // add_fingerprint(usr) // // if(contents.len < 1) -// to_chat(usr, "The ore box is empty.") +// to_chat(usr, span_warning("The ore box is empty.")) // return // -// for (var/obj/item/weapon/ore/O in contents) +// for (var/obj/item/ore/O in contents) // contents -= O // O.loc = src.loc -// to_chat(usr, "You empty the ore box.") +// to_chat(usr, span_notice("You empty the ore box.")) // // return diff --git a/code/modules/mining/ore_datum.dm b/code/modules/mining/ore_datum.dm index 382e31b8bdf..697abc9c7c3 100644 --- a/code/modules/mining/ore_datum.dm +++ b/code/modules/mining/ore_datum.dm @@ -28,7 +28,7 @@ smelts_to = "uranium" result_amount = 5 spread_chance = 10 - ore = /obj/item/weapon/ore/uranium + ore = /obj/item/ore/uranium scan_icon = "mineral_uncommon" xarch_ages = list( "thousand" = 999, @@ -44,7 +44,7 @@ alloy = 1 result_amount = 5 spread_chance = 25 - ore = /obj/item/weapon/ore/iron + ore = /obj/item/ore/iron scan_icon = "mineral_common" reagent = "iron" @@ -56,7 +56,7 @@ alloy = 1 result_amount = 5 spread_chance = 25 - ore = /obj/item/weapon/ore/coal + ore = /obj/item/ore/coal scan_icon = "mineral_common" reagent = "carbon" @@ -74,7 +74,7 @@ //smelts_to = something that explodes violently on the conveyor, huhuhuhu result_amount = 5 spread_chance = 25 - ore = /obj/item/weapon/ore/phoron + ore = /obj/item/ore/phoron scan_icon = "mineral_uncommon" xarch_ages = list( "thousand" = 999, @@ -91,7 +91,7 @@ smelts_to = "silver" result_amount = 5 spread_chance = 10 - ore = /obj/item/weapon/ore/silver + ore = /obj/item/ore/silver scan_icon = "mineral_uncommon" reagent = "silver" @@ -101,7 +101,7 @@ display_name = "native gold" result_amount = 5 spread_chance = 10 - ore = /obj/item/weapon/ore/gold + ore = /obj/item/ore/gold scan_icon = "mineral_uncommon" xarch_ages = list( "thousand" = 999, @@ -118,7 +118,7 @@ compresses_to = "diamond" result_amount = 5 spread_chance = 10 - ore = /obj/item/weapon/ore/diamond + ore = /obj/item/ore/diamond scan_icon = "mineral_rare" xarch_source_mineral = "nitrogen" reagent = "carbon" @@ -131,7 +131,7 @@ alloy = 1 result_amount = 5 spread_chance = 10 - ore = /obj/item/weapon/ore/osmium + ore = /obj/item/ore/osmium scan_icon = "mineral_rare" reagent = "platinum" @@ -149,7 +149,7 @@ compresses_to = MAT_VERDANTIUM result_amount = 2 spread_chance = 5 - ore = /obj/item/weapon/ore/verdantium + ore = /obj/item/ore/verdantium scan_icon = "mineral_rare" xarch_ages = list( "billion" = 13, @@ -162,7 +162,7 @@ compresses_to = "marble" result_amount = 1 spread_chance = 10 - ore = /obj/item/weapon/ore/marble + ore = /obj/item/ore/marble scan_icon = "mineral_common" reagent = "calciumcarbonate" @@ -172,7 +172,7 @@ smelts_to = "lead" result_amount = 3 spread_chance = 20 - ore = /obj/item/weapon/ore/lead + ore = /obj/item/ore/lead scan_icon = "mineral_rare" reagent = "lead" /* @@ -183,7 +183,7 @@ alloy = 1 result_amount = 5 spread_chance = 15 - ore = /obj/item/weapon/ore/copper + ore = /obj/item/ore/copper scan_icon = "mineral_common" reagent = "copper" @@ -194,7 +194,7 @@ alloy = 1 result_amount = 5 spread_chance = 10 - ore = /obj/item/weapon/ore/tin + ore = /obj/item/ore/tin scan_icon = "mineral_common" /ore/quartz @@ -203,7 +203,7 @@ compresses_to = "quartz" result_amount = 5 spread_chance = 5 - ore = /obj/item/weapon/ore/quartz + ore = /obj/item/ore/quartz scan_icon = "mineral_common" /ore/bauxite @@ -212,7 +212,7 @@ smelts_to = "aluminium" result_amount = 5 spread_chance = 25 - ore = /obj/item/weapon/ore/bauxite + ore = /obj/item/ore/bauxite scan_icon = "mineral_common" reagent = "aluminum" */ @@ -223,7 +223,7 @@ result_amount = 5 spread_chance = 12 alloy = 1 - ore = /obj/item/weapon/ore/rutile + ore = /obj/item/ore/rutile scan_icon = "mineral_uncommon" /* /ore/painite @@ -232,7 +232,7 @@ compresses_to = "painite" result_amount = 5 spread_chance = 3 - ore = /obj/item/weapon/ore/painite + ore = /obj/item/ore/painite scan_icon = "mineral_rare" /ore/void_opal @@ -241,6 +241,6 @@ compresses_to = "void opal" result_amount = 5 spread_chance = 1 - ore = /obj/item/weapon/ore/void_opal + ore = /obj/item/ore/void_opal scan_icon = "mineral_rare" */ \ No newline at end of file diff --git a/code/modules/mining/ore_datum_vr.dm b/code/modules/mining/ore_datum_vr.dm index 91171367f4d..a8413cbd0c9 100644 --- a/code/modules/mining/ore_datum_vr.dm +++ b/code/modules/mining/ore_datum_vr.dm @@ -5,5 +5,5 @@ alloy = 1 result_amount = 5 spread_chance = 10 - ore = /obj/item/weapon/ore/rutile + ore = /obj/item/ore/rutile scan_icon = "mineral_rare" \ No newline at end of file diff --git a/code/modules/mining/ore_redemption_machine/construction.dm b/code/modules/mining/ore_redemption_machine/construction.dm index 3880ef5cb8a..77b55ea2e12 100644 --- a/code/modules/mining/ore_redemption_machine/construction.dm +++ b/code/modules/mining/ore_redemption_machine/construction.dm @@ -2,20 +2,20 @@ #error T_BOARD macro is not defined but we need it! #endif -/obj/item/weapon/circuitboard/mining_equipment_vendor +/obj/item/circuitboard/mining_equipment_vendor name = T_BOARD("Mining Equipment Vendor") board_type = new /datum/frame/frame_types/machine build_path = /obj/machinery/mineral/equipment_vendor origin_tech = list(TECH_DATA = 1, TECH_ENGINEERING = 3) req_components = list( - /obj/item/weapon/stock_parts/console_screen = 1, - /obj/item/weapon/stock_parts/matter_bin = 3) + /obj/item/stock_parts/console_screen = 1, + /obj/item/stock_parts/matter_bin = 3) -/obj/item/weapon/circuitboard/exploration_equipment_vendor +/obj/item/circuitboard/exploration_equipment_vendor name = T_BOARD("Exploration Equipment Vendor") board_type = new /datum/frame/frame_types/machine build_path = /obj/machinery/mineral/equipment_vendor/survey origin_tech = list(TECH_DATA = 1, TECH_ENGINEERING = 2) req_components = list( - /obj/item/weapon/stock_parts/console_screen = 1, - /obj/item/weapon/stock_parts/matter_bin = 3) + /obj/item/stock_parts/console_screen = 1, + /obj/item/stock_parts/matter_bin = 3) diff --git a/code/modules/mining/ore_redemption_machine/equipment_vendor.dm b/code/modules/mining/ore_redemption_machine/equipment_vendor.dm index b9e2c2d75ea..798c8eea576 100644 --- a/code/modules/mining/ore_redemption_machine/equipment_vendor.dm +++ b/code/modules/mining/ore_redemption_machine/equipment_vendor.dm @@ -13,29 +13,29 @@ anchored = TRUE var/icon_deny = "minevend-deny" var/icon_vend = "minevend-vend" - circuit = /obj/item/weapon/circuitboard/mining_equipment_vendor - var/obj/item/weapon/card/id/inserted_id + circuit = /obj/item/circuitboard/mining_equipment_vendor + var/obj/item/card/id/inserted_id var/list/prize_list = list( new /datum/data/mining_equipment("1 Marker Beacon", /obj/item/stack/marker_beacon, 10), new /datum/data/mining_equipment("10 Marker Beacons", /obj/item/stack/marker_beacon/ten, 100), new /datum/data/mining_equipment("30 Marker Beacons", /obj/item/stack/marker_beacon/thirty, 300), - new /datum/data/mining_equipment("Whiskey", /obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey, 125), - new /datum/data/mining_equipment("Absinthe", /obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe, 125), + new /datum/data/mining_equipment("Whiskey", /obj/item/reagent_containers/food/drinks/bottle/whiskey, 125), + new /datum/data/mining_equipment("Absinthe", /obj/item/reagent_containers/food/drinks/bottle/absinthe, 125), new /datum/data/mining_equipment("Cigar", /obj/item/clothing/mask/smokable/cigarette/cigar/havana, 150), - new /datum/data/mining_equipment("Soap", /obj/item/weapon/soap/nanotrasen, 200), - new /datum/data/mining_equipment("Laser Pointer", /obj/item/device/laser_pointer, 900), - new /datum/data/mining_equipment("Geiger Counter", /obj/item/device/geiger, 750), + new /datum/data/mining_equipment("Soap", /obj/item/soap/nanotrasen, 200), + new /datum/data/mining_equipment("Laser Pointer", /obj/item/laser_pointer, 900), + new /datum/data/mining_equipment("Geiger Counter", /obj/item/geiger, 750), new /datum/data/mining_equipment("Plush Toy", /obj/random/plushie, 300), - new /datum/data/mining_equipment("Umbrella", /obj/item/weapon/melee/umbrella/random, 200), + new /datum/data/mining_equipment("Umbrella", /obj/item/melee/umbrella/random, 200), // new /datum/data/mining_equipment("Fulton Beacon", /obj/item/fulton_core, 500), - new /datum/data/mining_equipment("Point Transfer Card", /obj/item/weapon/card/mining_point_card, 500), + new /datum/data/mining_equipment("Point Transfer Card", /obj/item/card/mining_point_card, 500), // new /datum/data/mining_equipment("Fulton Pack", /obj/item/extraction_pack, 1200), -// new /datum/data/mining_equipment("Silver Pickaxe", /obj/item/weapon/pickaxe/silver, 1200), -// new /datum/data/mining_equipment("Diamond Pickaxe", /obj/item/weapon/pickaxe/diamond, 2000), - new /datum/data/mining_equipment("Fishing Net", /obj/item/weapon/material/fishing_net, 500), - new /datum/data/mining_equipment("Titanium Fishing Rod", /obj/item/weapon/material/fishing_rod/modern, 1000), -// new /datum/data/mining_equipment("Space Cash", /obj/item/weapon/spacecash/c1000, 2000), - new /datum/data/mining_equipment("Industrial Hardsuit - Control Module", /obj/item/weapon/rig/industrial, 10000), +// new /datum/data/mining_equipment("Silver Pickaxe", /obj/item/pickaxe/silver, 1200), +// new /datum/data/mining_equipment("Diamond Pickaxe", /obj/item/pickaxe/diamond, 2000), + new /datum/data/mining_equipment("Fishing Net", /obj/item/material/fishing_net, 500), + new /datum/data/mining_equipment("Titanium Fishing Rod", /obj/item/material/fishing_rod/modern, 1000), +// new /datum/data/mining_equipment("Space Cash", /obj/item/spacecash/c1000, 2000), + new /datum/data/mining_equipment("Industrial Hardsuit - Control Module", /obj/item/rig/industrial, 10000), new /datum/data/mining_equipment("Industrial Hardsuit - Plasma Cutter", /obj/item/rig_module/device/plasmacutter, 800), new /datum/data/mining_equipment("Industrial Hardsuit - Drill", /obj/item/rig_module/device/drill, 5000), new /datum/data/mining_equipment("Industrial Hardsuit - Ore Scanner", /obj/item/rig_module/device/orescanner, 1000), @@ -43,20 +43,20 @@ new /datum/data/mining_equipment("Industrial Hardsuit - Maneuvering Jets", /obj/item/rig_module/maneuvering_jets, 1250), new /datum/data/mining_equipment("Hardsuit - Intelligence Storage", /obj/item/rig_module/ai_container, 2500), new /datum/data/mining_equipment("Hardsuit - Smoke Bomb Deployer", /obj/item/rig_module/grenade_launcher/smoke, 2000), - new /datum/data/mining_equipment("Industrial Equipment - Phoron Bore", /obj/item/weapon/gun/magnetic/matfed/phoronbore/loaded, 3000), - new /datum/data/mining_equipment("Industrial Equipment - Sheet-Snatcher",/obj/item/weapon/storage/bag/sheetsnatcher, 500), + new /datum/data/mining_equipment("Industrial Equipment - Phoron Bore", /obj/item/gun/magnetic/matfed/phoronbore/loaded, 3000), + new /datum/data/mining_equipment("Industrial Equipment - Sheet-Snatcher",/obj/item/storage/bag/sheetsnatcher, 500), new /datum/data/mining_equipment("Digital Tablet - Standard", /obj/item/modular_computer/tablet/preset/custom_loadout/standard, 500), new /datum/data/mining_equipment("Digital Tablet - Advanced", /obj/item/modular_computer/tablet/preset/custom_loadout/advanced, 1000), - new /datum/data/mining_equipment("Explosive Excavation Kit - Plastic Charge",/obj/item/weapon/plastique/seismic, 1500), - new /datum/data/mining_equipment("Injector (L) - Glucose",/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/glucose, 500), - new /datum/data/mining_equipment("Injector (L) - Panacea",/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/purity, 500), - new /datum/data/mining_equipment("Injector (L) - Trauma",/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/brute, 500), + new /datum/data/mining_equipment("Explosive Excavation Kit - Plastic Charge",/obj/item/plastique/seismic, 1500), + new /datum/data/mining_equipment("Injector (L) - Glucose",/obj/item/reagent_containers/hypospray/autoinjector/biginjector/glucose, 500), + new /datum/data/mining_equipment("Injector (L) - Panacea",/obj/item/reagent_containers/hypospray/autoinjector/biginjector/purity, 500), + new /datum/data/mining_equipment("Injector (L) - Trauma",/obj/item/reagent_containers/hypospray/autoinjector/biginjector/brute, 500), new /datum/data/mining_equipment("Nanopaste Tube", /obj/item/stack/nanopaste, 1000), - new /datum/data/mining_equipment("Defense Equipment - Phase Pistol",/obj/item/weapon/gun/energy/phasegun/pistol, 400), - new /datum/data/mining_equipment("Defense Equipment - Smoke Bomb",/obj/item/weapon/grenade/smokebomb, 100), - new /datum/data/mining_equipment("Defense Equipment - Razor Drone Deployer",/obj/item/weapon/grenade/spawnergrenade/manhacks/station, 1000), - new /datum/data/mining_equipment("Defense Equipment - Sentry Drone Deployer",/obj/item/weapon/grenade/spawnergrenade/ward, 1500), - new /datum/data/mining_equipment("Defense Equipment - Steel Machete", /obj/item/weapon/material/knife/machete, 500) + new /datum/data/mining_equipment("Defense Equipment - Phase Pistol",/obj/item/gun/energy/phasegun/pistol, 400), + new /datum/data/mining_equipment("Defense Equipment - Smoke Bomb",/obj/item/grenade/smokebomb, 100), + new /datum/data/mining_equipment("Defense Equipment - Razor Drone Deployer",/obj/item/grenade/spawnergrenade/manhacks/station, 1000), + new /datum/data/mining_equipment("Defense Equipment - Sentry Drone Deployer",/obj/item/grenade/spawnergrenade/ward, 1500), + new /datum/data/mining_equipment("Defense Equipment - Steel Machete", /obj/item/material/knife/machete, 500) ) var/dirty_items = FALSE // Used to refresh the static/redundant data in case the machine gets VV'd @@ -75,45 +75,45 @@ //VOREStation Edit Start - Heavily modified list prize_list = list() prize_list["Gear"] = list( - // TODO EQUIPMENT("Advanced Scanner", /obj/item/device/t_scanner/adv_mining_scanner, 800), + // TODO EQUIPMENT("Advanced Scanner", /obj/item/t_scanner/adv_mining_scanner, 800), // TODO EQUIPMENT("Explorer's Webbing", /obj/item/storage/belt/mining, 500), - EQUIPMENT("Defense Equipment - Plasteel Machete", /obj/item/weapon/material/knife/machete, 500), - EQUIPMENT("Defense Equipment - Razor Drone Deployer", /obj/item/weapon/grenade/spawnergrenade/manhacks/station/locked, 1000), - EQUIPMENT("Defense Equipment - Sentry Drone Deployer", /obj/item/weapon/grenade/spawnergrenade/ward, 1500), - EQUIPMENT("Defense Equipment - Smoke Bomb", /obj/item/weapon/grenade/smokebomb, 100), - EQUIPMENT("Hybrid Equipment - Proto-Kinetic Dagger", /obj/item/weapon/kinetic_crusher/machete/dagger, 500), - EQUIPMENT("Hybrid Equipment - Proto-Kinetic Machete", /obj/item/weapon/kinetic_crusher/machete, 1000), - EQUIPMENT("Durasteel Fishing Rod", /obj/item/weapon/material/fishing_rod/modern/strong, 7500), - EQUIPMENT("Titanium Fishing Rod", /obj/item/weapon/material/fishing_rod/modern, 1000), - EQUIPMENT("Fishing Net", /obj/item/weapon/material/fishing_net, 500), + EQUIPMENT("Defense Equipment - Plasteel Machete", /obj/item/material/knife/machete, 500), + EQUIPMENT("Defense Equipment - Razor Drone Deployer", /obj/item/grenade/spawnergrenade/manhacks/station/locked, 1000), + EQUIPMENT("Defense Equipment - Sentry Drone Deployer", /obj/item/grenade/spawnergrenade/ward, 1500), + EQUIPMENT("Defense Equipment - Smoke Bomb", /obj/item/grenade/smokebomb, 100), + EQUIPMENT("Hybrid Equipment - Proto-Kinetic Dagger", /obj/item/kinetic_crusher/machete/dagger, 500), + EQUIPMENT("Hybrid Equipment - Proto-Kinetic Machete", /obj/item/kinetic_crusher/machete, 1000), + EQUIPMENT("Durasteel Fishing Rod", /obj/item/material/fishing_rod/modern/strong, 7500), + EQUIPMENT("Titanium Fishing Rod", /obj/item/material/fishing_rod/modern, 1000), + EQUIPMENT("Fishing Net", /obj/item/material/fishing_net, 500), EQUIPMENT("Fulton Beacon", /obj/item/fulton_core, 500), - EQUIPMENT("Geiger Counter", /obj/item/device/geiger, 750), - EQUIPMENT("GPS Device", /obj/item/device/gps/mining, 100), + EQUIPMENT("Geiger Counter", /obj/item/geiger, 750), + EQUIPMENT("GPS Device", /obj/item/gps/mining, 100), // EQUIPMENT("Mining Conscription Kit", /obj/item/storage/backpack/duffelbag/mining_conscript, 1000), EQUIPMENT("Jump Boots", /obj/item/clothing/shoes/bhop, 2500), - EQUIPMENT("Mini-Translocator", /obj/item/device/perfect_tele/one_beacon, 1200), + EQUIPMENT("Mini-Translocator", /obj/item/perfect_tele/one_beacon, 1200), EQUIPMENT("Survival Equipment - Insulated Poncho", /obj/random/thermalponcho, 750), - EQUIPMENT("Mining Satchel of Holding", /obj/item/weapon/storage/bag/ore/holding, 1500), - EQUIPMENT("Advanced Ore Scanner", /obj/item/weapon/mining_scanner/advanced, 500), + EQUIPMENT("Mining Satchel of Holding", /obj/item/storage/bag/ore/holding, 1500), + EQUIPMENT("Advanced Ore Scanner", /obj/item/mining_scanner/advanced, 500), ) prize_list["Consumables"] = list( EQUIPMENT("1 Marker Beacon", /obj/item/stack/marker_beacon, 1), EQUIPMENT("10 Marker Beacons", /obj/item/stack/marker_beacon/ten, 10), EQUIPMENT("30 Marker Beacons", /obj/item/stack/marker_beacon/thirty, 30), EQUIPMENT("Fulton Pack", /obj/item/extraction_pack, 1200), - EQUIPMENT("Injector (L) - Glucose", /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/glucose, 500), - EQUIPMENT("Injector (L) - Panacea", /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/purity, 500), - EQUIPMENT("Injector (L) - Trauma", /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/brute, 500), + EQUIPMENT("Injector (L) - Glucose", /obj/item/reagent_containers/hypospray/autoinjector/biginjector/glucose, 500), + EQUIPMENT("Injector (L) - Panacea", /obj/item/reagent_containers/hypospray/autoinjector/biginjector/purity, 500), + EQUIPMENT("Injector (L) - Trauma", /obj/item/reagent_containers/hypospray/autoinjector/biginjector/brute, 500), EQUIPMENT("Nanopaste Tube", /obj/item/stack/nanopaste, 1000), - EQUIPMENT("Point Transfer Card", /obj/item/weapon/card/mining_point_card, 500), - EQUIPMENT("Shelter Capsule", /obj/item/device/survivalcapsule, 500), - EQUIPMENT("Burn Medipen", /obj/item/weapon/reagent_containers/hypospray/autoinjector/burn, 250), - EQUIPMENT("Detox Medipen", /obj/item/weapon/reagent_containers/hypospray/autoinjector/detox, 250), - EQUIPMENT("Oxy Medipen", /obj/item/weapon/reagent_containers/hypospray/autoinjector/oxy, 250), - EQUIPMENT("Trauma Medipen", /obj/item/weapon/reagent_containers/hypospray/autoinjector/trauma, 250), + EQUIPMENT("Point Transfer Card", /obj/item/card/mining_point_card, 500), + EQUIPMENT("Shelter Capsule", /obj/item/survivalcapsule, 500), + EQUIPMENT("Burn Medipen", /obj/item/reagent_containers/hypospray/autoinjector/burn, 250), + EQUIPMENT("Detox Medipen", /obj/item/reagent_containers/hypospray/autoinjector/detox, 250), + EQUIPMENT("Oxy Medipen", /obj/item/reagent_containers/hypospray/autoinjector/oxy, 250), + EQUIPMENT("Trauma Medipen", /obj/item/reagent_containers/hypospray/autoinjector/trauma, 250), ) prize_list["Kinetic Accelerator"] = list( - EQUIPMENT("Kinetic Accelerator", /obj/item/weapon/gun/energy/kinetic_accelerator, 900), + EQUIPMENT("Kinetic Accelerator", /obj/item/gun/energy/kinetic_accelerator, 900), EQUIPMENT("KA AoE Damage", /obj/item/borg/upgrade/modkit/aoe/mobs, 2000), EQUIPMENT("KA Damage Increase", /obj/item/borg/upgrade/modkit/damage, 1000), EQUIPMENT("KA Cooldown Decrease", /obj/item/borg/upgrade/modkit/cooldown, 1200), @@ -125,24 +125,24 @@ EQUIPMENT("KA Hyper Chassis", /obj/item/borg/upgrade/modkit/chassis_mod/orange, 300), EQUIPMENT("KA Adjustable Tracer Rounds",/obj/item/borg/upgrade/modkit/tracer/adjustable, 175), EQUIPMENT("KA White Tracer Rounds", /obj/item/borg/upgrade/modkit/tracer, 125), - EQUIPMENT("Premium Kinetic Accelerator",/obj/item/weapon/gun/energy/kinetic_accelerator/premiumka, 12000), + EQUIPMENT("Premium Kinetic Accelerator",/obj/item/gun/energy/kinetic_accelerator/premiumka, 12000), ) prize_list["Digging Tools"] = list( - // EQUIPMENT("Diamond Pickaxe", /obj/item/weapon/pickaxe/diamond, 2000), + // EQUIPMENT("Diamond Pickaxe", /obj/item/pickaxe/diamond, 2000), // EQUIPMENT("Kinetic Crusher", /obj/item/twohanded/required/kinetic_crusher, 750), EQUIPMENT("Resonator", /obj/item/resonator, 900), - EQUIPMENT("Silver Pickaxe", /obj/item/weapon/pickaxe/silver, 1200), + EQUIPMENT("Silver Pickaxe", /obj/item/pickaxe/silver, 1200), EQUIPMENT("Super Resonator", /obj/item/resonator/upgraded, 2500), - EQUIPMENT("Fine Excavation Kit - Chisels", /obj/item/weapon/storage/excavation, 500), - EQUIPMENT("Fine Excavation Kit - Measuring Tape", /obj/item/device/measuring_tape, 125), - EQUIPMENT("Fine Excavation Kit - Hand Pick", /obj/item/weapon/pickaxe/hand, 375), - EQUIPMENT("Explosive Excavation Kit - Plastic Charge",/obj/item/weapon/plastique/seismic/locked, 1500), - EQUIPMENT("Industrial Equipment - Phoron Bore", /obj/item/weapon/gun/magnetic/matfed/phoronbore/loaded, 3000), - EQUIPMENT("Industrial Equipment - Inducer", /obj/item/weapon/inducer, 3500), - EQUIPMENT("Industrial Equipment - Sheet-Snatcher", /obj/item/weapon/storage/bag/sheetsnatcher, 500), + EQUIPMENT("Fine Excavation Kit - Chisels", /obj/item/storage/excavation, 500), + EQUIPMENT("Fine Excavation Kit - Measuring Tape", /obj/item/measuring_tape, 125), + EQUIPMENT("Fine Excavation Kit - Hand Pick", /obj/item/pickaxe/hand, 375), + EQUIPMENT("Explosive Excavation Kit - Plastic Charge",/obj/item/plastique/seismic/locked, 1500), + EQUIPMENT("Industrial Equipment - Phoron Bore", /obj/item/gun/magnetic/matfed/phoronbore/loaded, 3000), + EQUIPMENT("Industrial Equipment - Inducer", /obj/item/inducer, 3500), + EQUIPMENT("Industrial Equipment - Sheet-Snatcher", /obj/item/storage/bag/sheetsnatcher, 500), ) prize_list["Hardsuit"] = list( - EQUIPMENT("Hardsuit - Control Module", /obj/item/weapon/rig/industrial/vendor, 2000), + EQUIPMENT("Hardsuit - Control Module", /obj/item/rig/industrial/vendor, 2000), EQUIPMENT("Hardsuit - Drill", /obj/item/rig_module/device/drill, 5000), EQUIPMENT("Hardsuit - Intelligence Storage", /obj/item/rig_module/ai_container, 2500), EQUIPMENT("Hardsuit - Maneuvering Jets", /obj/item/rig_module/maneuvering_jets, 1250), @@ -153,19 +153,19 @@ EQUIPMENT("Hardsuit - Proto-Kinetic Gauntlets", /obj/item/rig_module/gauntlets, 2000), ) prize_list["Miscellaneous"] = list( - EQUIPMENT("Absinthe", /obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe, 125), + EQUIPMENT("Absinthe", /obj/item/reagent_containers/food/drinks/bottle/absinthe, 125), EQUIPMENT("Cigar", /obj/item/clothing/mask/smokable/cigarette/cigar/havana, 150), EQUIPMENT("Digital Tablet - Standard", /obj/item/modular_computer/tablet/preset/custom_loadout/standard, 500), EQUIPMENT("Digital Tablet - Advanced", /obj/item/modular_computer/tablet/preset/custom_loadout/advanced, 1000), - EQUIPMENT("Laser Pointer", /obj/item/device/laser_pointer, 900), - EQUIPMENT("Luxury Shelter Capsule", /obj/item/device/survivalcapsule/luxury, 3100), - EQUIPMENT("Bar Shelter Capsule", /obj/item/device/survivalcapsule/luxurybar, 10000), + EQUIPMENT("Laser Pointer", /obj/item/laser_pointer, 900), + EQUIPMENT("Luxury Shelter Capsule", /obj/item/survivalcapsule/luxury, 3100), + EQUIPMENT("Bar Shelter Capsule", /obj/item/survivalcapsule/luxurybar, 10000), EQUIPMENT("Plush Toy", /obj/random/plushie, 300), - EQUIPMENT("Soap", /obj/item/weapon/soap/nanotrasen, 200), - EQUIPMENT("Thalers - 100", /obj/item/weapon/spacecash/c100, 1000), - EQUIPMENT("Thalers - 1000", /obj/item/weapon/spacecash/c1000, 10000), - EQUIPMENT("Umbrella", /obj/item/weapon/melee/umbrella/random, 200), - EQUIPMENT("Whiskey", /obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey, 125), + EQUIPMENT("Soap", /obj/item/soap/nanotrasen, 200), + EQUIPMENT("Thalers - 100", /obj/item/spacecash/c100, 1000), + EQUIPMENT("Thalers - 1000", /obj/item/spacecash/c1000, 10000), + EQUIPMENT("Umbrella", /obj/item/melee/umbrella/random, 200), + EQUIPMENT("Whiskey", /obj/item/reagent_containers/food/drinks/bottle/whiskey, 125), EQUIPMENT("Mining PSG Upgrade Disk", /obj/item/borg/upgrade/shield_upgrade, 2500), ) prize_list["Extra"] = list() // Used in child vendors @@ -177,7 +177,7 @@ if(old_stat != stat) update_icon() if(inserted_id && !powered()) - visible_message("The ID slot indicator light flickers on \the [src] as it spits out a card before powering down.") + visible_message(span_notice("The ID slot indicator light flickers on \the [src] as it spits out a card before powering down.")) inserted_id.forceMove(get_turf(src)) /obj/machinery/mineral/equipment_vendor/update_icon() @@ -215,12 +215,12 @@ return data -/obj/machinery/mineral/equipment_vendor/proc/get_points(obj/item/weapon/card/id/target) +/obj/machinery/mineral/equipment_vendor/proc/get_points(obj/item/card/id/target) if(!istype(target)) return 0 return target.mining_points -/obj/machinery/mineral/equipment_vendor/proc/remove_points(obj/item/weapon/card/id/target, amt) +/obj/machinery/mineral/equipment_vendor/proc/remove_points(obj/item/card/id/target, amt) target.mining_points -= amt /obj/machinery/mineral/equipment_vendor/tgui_static_data(mob/user) @@ -257,7 +257,7 @@ ui.set_autoupdate(FALSE) -/obj/machinery/mineral/equipment_vendor/tgui_act(action, params) +/obj/machinery/mineral/equipment_vendor/tgui_act(action, params, datum/tgui/ui) if(..()) return @@ -266,7 +266,7 @@ if("logoff") if(!inserted_id) return - usr.put_in_hands(inserted_id) + ui.user.put_in_hands(inserted_id) inserted_id = null if("purchase") if(!inserted_id) @@ -279,7 +279,7 @@ return var/datum/data/mining_equipment/prize = prize_list[category][name] if(prize.cost > get_points(inserted_id)) // shouldn't be able to access this since the button is greyed out, but.. - to_chat(usr, "You have insufficient points.") + to_chat(ui.user, span_danger("You have insufficient points.")) flick(icon_deny, src) //VOREStation Add return @@ -307,10 +307,10 @@ return redeem_voucher(I, user) return - if(istype(I,/obj/item/weapon/card/id)) + if(istype(I,/obj/item/card/id)) if(!powered()) return - else if(!inserted_id && user.unEquip(I)) + else if(!inserted_id && (user.unEquip(I) || isrobot(user))) I.forceMove(src) inserted_id = I tgui_interact(user) @@ -337,14 +337,14 @@ var/drop_location = drop_location() switch(selection) if("Kinetic Accelerator") - new /obj/item/weapon/gun/energy/kinetic_accelerator(drop_location) + new /obj/item/gun/energy/kinetic_accelerator(drop_location) if("Resonator") new /obj/item/resonator(drop_location) //VOREStation Edit End // if("Mining Drone") // new /obj/item/storage/box/drone_kit(drop_location) // if("Advanced Scanner") - // new /obj/item/device/t_scanner/adv_mining_scanner(drop_location) + // new /obj/item/t_scanner/adv_mining_scanner(drop_location) // if("Crusher") // new /obj/item/twohanded/required/mining_hammer(drop_location) qdel(voucher) diff --git a/code/modules/mining/ore_redemption_machine/mine_point_items.dm b/code/modules/mining/ore_redemption_machine/mine_point_items.dm index 0e47e89b2ea..fac3c5d1adb 100644 --- a/code/modules/mining/ore_redemption_machine/mine_point_items.dm +++ b/code/modules/mining/ore_redemption_machine/mine_point_items.dm @@ -11,37 +11,37 @@ /**********************Mining Point Card**********************/ -/obj/item/weapon/card/mining_point_card +/obj/item/card/mining_point_card name = "mining point card" desc = "A small card preloaded with mining points. Swipe your ID card over it to transfer the points, then discard." icon_state = "data" var/mine_points = 500 var/survey_points = 0 -/obj/item/weapon/card/mining_point_card/attackby(obj/item/I, mob/user, params) - if(istype(I, /obj/item/weapon/card/id)) - var/obj/item/weapon/card/id/C = I +/obj/item/card/mining_point_card/attackby(obj/item/I, mob/user, params) + if(istype(I, /obj/item/card/id)) + var/obj/item/card/id/C = I if(mine_points) C.mining_points += mine_points - to_chat(user, "You transfer [mine_points] excavation points to [C].") + to_chat(user, span_info("You transfer [mine_points] excavation points to [C].")) mine_points = 0 else - to_chat(user, "There's no excavation points left on [src].") + to_chat(user, span_info("There's no excavation points left on [src].")) if(survey_points) C.survey_points += survey_points - to_chat(user, "You transfer [survey_points] survey points to [C].") + to_chat(user, span_info("You transfer [survey_points] survey points to [C].")) survey_points = 0 else - to_chat(user, "There's no survey points left on [src].") + to_chat(user, span_info("There's no survey points left on [src].")) ..() -/obj/item/weapon/card/mining_point_card/examine(mob/user) +/obj/item/card/mining_point_card/examine(mob/user) . = ..() . += "There's [mine_points] excavation points on the card." . += "There's [survey_points] survey points on the card." -/obj/item/weapon/card/mining_point_card/survey +/obj/item/card/mining_point_card/survey mine_points = 0 survey_points = 50 diff --git a/code/modules/mining/ore_redemption_machine/survey_vendor.dm b/code/modules/mining/ore_redemption_machine/survey_vendor.dm index 2966b29ac0d..d56ab6c3687 100644 --- a/code/modules/mining/ore_redemption_machine/survey_vendor.dm +++ b/code/modules/mining/ore_redemption_machine/survey_vendor.dm @@ -5,43 +5,43 @@ icon_state = "exploration" //VOREStation Edit density = TRUE anchored = TRUE - circuit = /obj/item/weapon/circuitboard/exploration_equipment_vendor + circuit = /obj/item/circuitboard/exploration_equipment_vendor icon_deny = "exploration-deny" //VOREStation Edit icon_vend = "exploration-vend" //VOREStation Add prize_list = list( new /datum/data/mining_equipment("1 Marker Beacon", /obj/item/stack/marker_beacon, 1), new /datum/data/mining_equipment("10 Marker Beacons", /obj/item/stack/marker_beacon/ten, 10), new /datum/data/mining_equipment("30 Marker Beacons", /obj/item/stack/marker_beacon/thirty, 30), - new /datum/data/mining_equipment("Whiskey", /obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey, 120), - new /datum/data/mining_equipment("Absinthe", /obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe, 120), + new /datum/data/mining_equipment("Whiskey", /obj/item/reagent_containers/food/drinks/bottle/whiskey, 120), + new /datum/data/mining_equipment("Absinthe", /obj/item/reagent_containers/food/drinks/bottle/absinthe, 120), new /datum/data/mining_equipment("Cigar", /obj/item/clothing/mask/smokable/cigarette/cigar/havana, 15), - new /datum/data/mining_equipment("Soap", /obj/item/weapon/soap/nanotrasen, 20), - new /datum/data/mining_equipment("Laser Pointer", /obj/item/device/laser_pointer, 90), - new /datum/data/mining_equipment("Geiger Counter", /obj/item/device/geiger, 75), + new /datum/data/mining_equipment("Soap", /obj/item/soap/nanotrasen, 20), + new /datum/data/mining_equipment("Laser Pointer", /obj/item/laser_pointer, 90), + new /datum/data/mining_equipment("Geiger Counter", /obj/item/geiger, 75), new /datum/data/mining_equipment("Plush Toy", /obj/random/plushie, 30), - new /datum/data/mining_equipment("Umbrella", /obj/item/weapon/melee/umbrella/random, 10), + new /datum/data/mining_equipment("Umbrella", /obj/item/melee/umbrella/random, 10), new /datum/data/mining_equipment("Extraction Equipment - Fulton Beacon", /obj/item/fulton_core, 100), new /datum/data/mining_equipment("Extraction Equipment - Fulton Pack", /obj/item/extraction_pack, 50), - new /datum/data/mining_equipment("Point Transfer Card", /obj/item/weapon/card/mining_point_card/survey, 50), - new /datum/data/mining_equipment("Fishing Net", /obj/item/weapon/material/fishing_net, 50), - new /datum/data/mining_equipment("Titanium Fishing Rod", /obj/item/weapon/material/fishing_rod/modern, 50), - new /datum/data/mining_equipment("Direct Payment - 1000", /obj/item/weapon/spacecash/c1000, 500), - new /datum/data/mining_equipment("Industrial Equipment - Phoron Bore", /obj/item/weapon/gun/magnetic/matfed/phoronbore/loaded, 500), - new /datum/data/mining_equipment("Survey Tools - Mapping Unit", /obj/item/device/mapping_unit, 150), - new /datum/data/mining_equipment("Survey Tools - Mapping Beacon",/obj/item/device/holomap_beacon, 25), - new /datum/data/mining_equipment("Survey Tools - Shovel", /obj/item/weapon/shovel, 20), - new /datum/data/mining_equipment("Survey Tools - Mechanical Trap", /obj/item/weapon/beartrap, 30), + new /datum/data/mining_equipment("Point Transfer Card", /obj/item/card/mining_point_card/survey, 50), + new /datum/data/mining_equipment("Fishing Net", /obj/item/material/fishing_net, 50), + new /datum/data/mining_equipment("Titanium Fishing Rod", /obj/item/material/fishing_rod/modern, 50), + new /datum/data/mining_equipment("Direct Payment - 1000", /obj/item/spacecash/c1000, 500), + new /datum/data/mining_equipment("Industrial Equipment - Phoron Bore", /obj/item/gun/magnetic/matfed/phoronbore/loaded, 500), + new /datum/data/mining_equipment("Survey Tools - Mapping Unit", /obj/item/mapping_unit, 150), + new /datum/data/mining_equipment("Survey Tools - Mapping Beacon",/obj/item/holomap_beacon, 25), + new /datum/data/mining_equipment("Survey Tools - Shovel", /obj/item/shovel, 20), + new /datum/data/mining_equipment("Survey Tools - Mechanical Trap", /obj/item/beartrap, 30), new /datum/data/mining_equipment("Digital Tablet - Standard", /obj/item/modular_computer/tablet/preset/custom_loadout/standard, 100), new /datum/data/mining_equipment("Digital Tablet - Advanced", /obj/item/modular_computer/tablet/preset/custom_loadout/advanced, 300), - new /datum/data/mining_equipment("Injector (L) - Glucose",/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/glucose, 30), - new /datum/data/mining_equipment("Injector (L) - Panacea",/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/purity, 30), - new /datum/data/mining_equipment("Injector (L) - Trauma",/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/brute, 50), + new /datum/data/mining_equipment("Injector (L) - Glucose",/obj/item/reagent_containers/hypospray/autoinjector/biginjector/glucose, 30), + new /datum/data/mining_equipment("Injector (L) - Panacea",/obj/item/reagent_containers/hypospray/autoinjector/biginjector/purity, 30), + new /datum/data/mining_equipment("Injector (L) - Trauma",/obj/item/reagent_containers/hypospray/autoinjector/biginjector/brute, 50), new /datum/data/mining_equipment("Nanopaste Tube", /obj/item/stack/nanopaste, 50), - new /datum/data/mining_equipment("Defense Equipment - Phase Pistol",/obj/item/weapon/gun/energy/phasegun/pistol, 15), - new /datum/data/mining_equipment("Defense Equipment - Smoke Bomb",/obj/item/weapon/grenade/smokebomb, 50), - new /datum/data/mining_equipment("Defense Equipment - Razor Drone Deployer",/obj/item/weapon/grenade/spawnergrenade/manhacks/station, 50), - new /datum/data/mining_equipment("Defense Equipment - Sentry Drone Deployer",/obj/item/weapon/grenade/spawnergrenade/ward, 100), - new /datum/data/mining_equipment("Defense Equipment - Steel Machete", /obj/item/weapon/material/knife/machete, 50), + new /datum/data/mining_equipment("Defense Equipment - Phase Pistol",/obj/item/gun/energy/phasegun/pistol, 15), + new /datum/data/mining_equipment("Defense Equipment - Smoke Bomb",/obj/item/grenade/smokebomb, 50), + new /datum/data/mining_equipment("Defense Equipment - Razor Drone Deployer",/obj/item/grenade/spawnergrenade/manhacks/station, 50), + new /datum/data/mining_equipment("Defense Equipment - Sentry Drone Deployer",/obj/item/grenade/spawnergrenade/ward, 100), + new /datum/data/mining_equipment("Defense Equipment - Steel Machete", /obj/item/material/knife/machete, 50), new /datum/data/mining_equipment("Survival Equipment - Insulated Poncho", /obj/random/thermalponcho, 75) ) @@ -50,27 +50,27 @@ //VOREStation Edit Start - Heavily modified list prize_list = list() prize_list["Gear"] = list( - EQUIPMENT("Defense Equipment - Smoke Bomb", /obj/item/weapon/grenade/smokebomb, 10), - EQUIPMENT("Defense Equipment - Plasteel Machete", /obj/item/weapon/material/knife/machete, 50), - EQUIPMENT("Defense Equipment - Razor Drone Deployer", /obj/item/weapon/grenade/spawnergrenade/manhacks/station/locked, 100), - EQUIPMENT("Defense Equipment - Sentry Drone Deployer", /obj/item/weapon/grenade/spawnergrenade/ward, 150), - EQUIPMENT("Defense Equipment - Frontier Carbine", /obj/item/weapon/gun/energy/locked/frontier/carbine, 750), //YW EDIT Un-Comment - EQUIPMENT("Hybrid Equipment - Proto-Kinetic Dagger", /obj/item/weapon/kinetic_crusher/machete/dagger, 75), - EQUIPMENT("Hybrid Equipment - Proto-Kinetic Machete", /obj/item/weapon/kinetic_crusher/machete, 250), - EQUIPMENT("Fishing Net", /obj/item/weapon/material/fishing_net, 50), - EQUIPMENT("Titanium Fishing Rod", /obj/item/weapon/material/fishing_rod/modern, 100), - EQUIPMENT("Durasteel Fishing Rod", /obj/item/weapon/material/fishing_rod/modern/strong, 750), + EQUIPMENT("Defense Equipment - Smoke Bomb", /obj/item/grenade/smokebomb, 10), + EQUIPMENT("Defense Equipment - Plasteel Machete", /obj/item/material/knife/machete, 50), + EQUIPMENT("Defense Equipment - Razor Drone Deployer", /obj/item/grenade/spawnergrenade/manhacks/station/locked, 100), + EQUIPMENT("Defense Equipment - Sentry Drone Deployer", /obj/item/grenade/spawnergrenade/ward, 150), + EQUIPMENT("Defense Equipment - Frontier Carbine", /obj/item/gun/energy/locked/frontier/carbine, 750), //YW EDIT Un-Comment + EQUIPMENT("Hybrid Equipment - Proto-Kinetic Dagger", /obj/item/kinetic_crusher/machete/dagger, 75), + EQUIPMENT("Hybrid Equipment - Proto-Kinetic Machete", /obj/item/kinetic_crusher/machete, 250), + EQUIPMENT("Fishing Net", /obj/item/material/fishing_net, 50), + EQUIPMENT("Titanium Fishing Rod", /obj/item/material/fishing_rod/modern, 100), + EQUIPMENT("Durasteel Fishing Rod", /obj/item/material/fishing_rod/modern/strong, 750), EQUIPMENT("Fulton Beacon", /obj/item/fulton_core, 300), - EQUIPMENT("Geiger Counter", /obj/item/device/geiger, 75), - EQUIPMENT("GPS Device", /obj/item/device/gps/mining, 10), + EQUIPMENT("Geiger Counter", /obj/item/geiger, 75), + EQUIPMENT("GPS Device", /obj/item/gps/mining, 10), EQUIPMENT("Jump Boots", /obj/item/clothing/shoes/bhop, 250), - EQUIPMENT("Mini-Translocator", /obj/item/device/perfect_tele/one_beacon, 120), - EQUIPMENT("Survey Tools - Mapping Unit", /obj/item/device/mapping_unit, 150), - EQUIPMENT("Survey Tools - Mapping Beacon", /obj/item/device/holomap_beacon, 25), + EQUIPMENT("Mini-Translocator", /obj/item/perfect_tele/one_beacon, 120), + EQUIPMENT("Survey Tools - Mapping Unit", /obj/item/mapping_unit, 150), + EQUIPMENT("Survey Tools - Mapping Beacon", /obj/item/holomap_beacon, 25), EQUIPMENT("Survival Equipment - Insulated Poncho", /obj/random/thermalponcho, 75), - EQUIPMENT("Survival Equipment - Glowstick", /obj/item/device/flashlight/glowstick, 5), - EQUIPMENT("Survival Equipment - Flare", /obj/item/device/flashlight/flare, 5), - EQUIPMENT("Survival Equipment - Radioisotope Glowstick", /obj/item/device/flashlight/glowstick/radioisotope, 40), + EQUIPMENT("Survival Equipment - Glowstick", /obj/item/flashlight/glowstick, 5), + EQUIPMENT("Survival Equipment - Flare", /obj/item/flashlight/flare, 5), + EQUIPMENT("Survival Equipment - Radioisotope Glowstick", /obj/item/flashlight/glowstick/radioisotope, 40), EQUIPMENT("Survival Equipment - Modular Explorer Suit", /obj/item/clothing/suit/armor/pcarrier/explorer, 200), EQUIPMENT("Survival Equipment - Armored Jumpsuit", /obj/item/clothing/under/explorer/armored, 200), ) @@ -79,46 +79,46 @@ EQUIPMENT("10 Marker Beacons", /obj/item/stack/marker_beacon/ten, 10), EQUIPMENT("30 Marker Beacons", /obj/item/stack/marker_beacon/thirty, 30), EQUIPMENT("Fulton Pack", /obj/item/extraction_pack, 125), - EQUIPMENT("Injector (L) - Glucose", /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/glucose, 50), - EQUIPMENT("Injector (L) - Panacea", /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/purity, 50), - EQUIPMENT("Injector (L) - Trauma", /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/brute, 50), + EQUIPMENT("Injector (L) - Glucose", /obj/item/reagent_containers/hypospray/autoinjector/biginjector/glucose, 50), + EQUIPMENT("Injector (L) - Panacea", /obj/item/reagent_containers/hypospray/autoinjector/biginjector/purity, 50), + EQUIPMENT("Injector (L) - Trauma", /obj/item/reagent_containers/hypospray/autoinjector/biginjector/brute, 50), EQUIPMENT("Nanopaste Tube", /obj/item/stack/nanopaste, 100), - EQUIPMENT("Point Transfer Card", /obj/item/weapon/card/mining_point_card/survey, 50), - EQUIPMENT("Shelter Capsule", /obj/item/device/survivalcapsule, 50), - EQUIPMENT("Burn Medipen", /obj/item/weapon/reagent_containers/hypospray/autoinjector/burn, 25), - EQUIPMENT("Detox Medipen", /obj/item/weapon/reagent_containers/hypospray/autoinjector/detox, 25), - EQUIPMENT("Oxy Medipen", /obj/item/weapon/reagent_containers/hypospray/autoinjector/oxy, 25), - EQUIPMENT("Trauma Medipen", /obj/item/weapon/reagent_containers/hypospray/autoinjector/trauma, 25), + EQUIPMENT("Point Transfer Card", /obj/item/card/mining_point_card/survey, 50), + EQUIPMENT("Shelter Capsule", /obj/item/survivalcapsule, 50), + EQUIPMENT("Burn Medipen", /obj/item/reagent_containers/hypospray/autoinjector/burn, 25), + EQUIPMENT("Detox Medipen", /obj/item/reagent_containers/hypospray/autoinjector/detox, 25), + EQUIPMENT("Oxy Medipen", /obj/item/reagent_containers/hypospray/autoinjector/oxy, 25), + EQUIPMENT("Trauma Medipen", /obj/item/reagent_containers/hypospray/autoinjector/trauma, 25), ) prize_list["Digging Tools"] = list( - EQUIPMENT("Survey Tools - Shovel", /obj/item/weapon/shovel, 40), - EQUIPMENT("Survey Tools - Mechanical Trap", /obj/item/weapon/beartrap, 50), - EQUIPMENT("Survey Tools - Binoculars", /obj/item/device/binoculars,40), + EQUIPMENT("Survey Tools - Shovel", /obj/item/shovel, 40), + EQUIPMENT("Survey Tools - Mechanical Trap", /obj/item/beartrap, 50), + EQUIPMENT("Survey Tools - Binoculars", /obj/item/binoculars,40), ) prize_list["Miscellaneous"] = list( - EQUIPMENT("Absinthe", /obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe, 10), - EQUIPMENT("Whiskey", /obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey, 10), + EQUIPMENT("Absinthe", /obj/item/reagent_containers/food/drinks/bottle/absinthe, 10), + EQUIPMENT("Whiskey", /obj/item/reagent_containers/food/drinks/bottle/whiskey, 10), EQUIPMENT("Cigar", /obj/item/clothing/mask/smokable/cigarette/cigar/havana, 15), EQUIPMENT("Digital Tablet - Standard", /obj/item/modular_computer/tablet/preset/custom_loadout/standard, 50), EQUIPMENT("Digital Tablet - Advanced", /obj/item/modular_computer/tablet/preset/custom_loadout/advanced, 100), - EQUIPMENT("Industrial Equipment - Phoron Bore", /obj/item/weapon/gun/magnetic/matfed/phoronbore/loaded, 300), - EQUIPMENT("Industrial Equipment - Inducer", /obj/item/weapon/inducer, 750), - EQUIPMENT("Laser Pointer", /obj/item/device/laser_pointer, 90), - EQUIPMENT("Luxury Shelter Capsule", /obj/item/device/survivalcapsule/luxury, 310), - EQUIPMENT("Bar Shelter Capsule", /obj/item/device/survivalcapsule/luxurybar, 1000), + EQUIPMENT("Industrial Equipment - Phoron Bore", /obj/item/gun/magnetic/matfed/phoronbore/loaded, 300), + EQUIPMENT("Industrial Equipment - Inducer", /obj/item/inducer, 750), + EQUIPMENT("Laser Pointer", /obj/item/laser_pointer, 90), + EQUIPMENT("Luxury Shelter Capsule", /obj/item/survivalcapsule/luxury, 310), + EQUIPMENT("Bar Shelter Capsule", /obj/item/survivalcapsule/luxurybar, 1000), EQUIPMENT("Plush Toy", /obj/random/plushie, 30), - EQUIPMENT("Soap", /obj/item/weapon/soap/nanotrasen, 20), - EQUIPMENT("Thalers - 100", /obj/item/weapon/spacecash/c100, 100), - EQUIPMENT("Umbrella", /obj/item/weapon/melee/umbrella/random, 20), - EQUIPMENT("UAV - Recon Skimmer", /obj/item/device/uav, 40), + EQUIPMENT("Soap", /obj/item/soap/nanotrasen, 20), + EQUIPMENT("Thalers - 100", /obj/item/spacecash/c100, 100), + EQUIPMENT("Umbrella", /obj/item/melee/umbrella/random, 20), + EQUIPMENT("UAV - Recon Skimmer", /obj/item/uav, 40), ) //VOREStation Edit End -/obj/machinery/mineral/equipment_vendor/survey/get_points(obj/item/weapon/card/id/target) +/obj/machinery/mineral/equipment_vendor/survey/get_points(obj/item/card/id/target) if(!istype(target)) return 0 return target.survey_points -/obj/machinery/mineral/equipment_vendor/survey/remove_points(obj/item/weapon/card/id/target, amt) +/obj/machinery/mineral/equipment_vendor/survey/remove_points(obj/item/card/id/target, amt) target.survey_points -= amt diff --git a/code/modules/mining/ore_vr.dm b/code/modules/mining/ore_vr.dm index fe7d23a5799..c73e1979597 100644 --- a/code/modules/mining/ore_vr.dm +++ b/code/modules/mining/ore_vr.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/ore/rutile +/obj/item/ore/rutile name = "rutile" icon = 'icons/obj/mining_vr.dmi' icon_state = "ore_rutile" diff --git a/code/modules/mining/resonator.dm b/code/modules/mining/resonator.dm index dbee1668b28..9a7ffa48eb4 100644 --- a/code/modules/mining/resonator.dm +++ b/code/modules/mining/resonator.dm @@ -36,10 +36,10 @@ /obj/item/resonator/attack_self(mob/user) if(burst_time == 50) burst_time = 30 - to_chat(user, "You set the resonator's fields to detonate after 3 seconds.") + to_chat(user, span_info("You set the resonator's fields to detonate after 3 seconds.")) else burst_time = 50 - to_chat(user, "You set the resonator's fields to detonate after 5 seconds.") + to_chat(user, span_info("You set the resonator's fields to detonate after 5 seconds.")) /obj/item/resonator/afterattack(atom/target, mob/user, proximity_flag) if(proximity_flag) @@ -88,7 +88,7 @@ for(var/mob/living/L in src.loc) if(creator) add_attack_logs(creator, L, "used a resonator field on") - to_chat(L, "\The [src] ruptured with you in it!") + to_chat(L, span_danger("\The [src] ruptured with you in it!")) L.apply_damage(resonance_damage, BRUTE) qdel(src) diff --git a/code/modules/mining/resonator_vr.dm b/code/modules/mining/resonator_vr.dm index 796a2a12fd1..e1e5e4ae1bb 100644 --- a/code/modules/mining/resonator_vr.dm +++ b/code/modules/mining/resonator_vr.dm @@ -94,10 +94,10 @@ if("Resonance Time") if(burst_time == 50) burst_time = 30 - to_chat(user, "You set the resonator's fields to detonate after 3 seconds.") + to_chat(user, span_info("You set the resonator's fields to detonate after 3 seconds.")) else burst_time = 50 - to_chat(user, "You set the resonator's fields to detonate after 5 seconds.") + to_chat(user, span_info("You set the resonator's fields to detonate after 5 seconds.")) if("Toggle Cascade") spreadmode = !spreadmode to_chat(user, span_info("You have [(spreadmode ? "enabled" : "disabled")] the resonance cascade mode.")) @@ -152,7 +152,7 @@ for(var/mob/living/L in src.loc) if(creator) add_attack_logs(creator, L, "used a resonator field on") - to_chat(L, "\The [src] ruptured with you in it!") + to_chat(L, span_danger("\The [src] ruptured with you in it!")) L.apply_damage(resonance_damage, BRUTE) qdel(src) diff --git a/code/modules/mining/shelter_atoms_vr.dm b/code/modules/mining/shelter_atoms_vr.dm index 2f4ad9e46f7..e36e992ce48 100644 --- a/code/modules/mining/shelter_atoms_vr.dm +++ b/code/modules/mining/shelter_atoms_vr.dm @@ -8,7 +8,7 @@ GLOBAL_LIST_EMPTY(unique_deployable) has_gravity = TRUE //Survival Capsule -/obj/item/device/survivalcapsule +/obj/item/survivalcapsule name = "surfluid shelter capsule" desc = "An emergency shelter programmed into construction nanomachines. It has a license for use printed on the bottom." icon_state = "houseball" @@ -20,7 +20,7 @@ GLOBAL_LIST_EMPTY(unique_deployable) var/is_ship = FALSE var/unique_id = null -/obj/item/device/survivalcapsule/proc/get_template() +/obj/item/survivalcapsule/proc/get_template() if(template) return template = SSmapping.shelter_templates[template_id] @@ -28,11 +28,11 @@ GLOBAL_LIST_EMPTY(unique_deployable) throw EXCEPTION("Shelter template ([template_id]) not found!") qdel(src) -/obj/item/device/survivalcapsule/Destroy() +/obj/item/survivalcapsule/Destroy() template = null // without this, capsules would be one use. per round. . = ..() -/obj/item/device/survivalcapsule/examine(mob/user) +/obj/item/survivalcapsule/examine(mob/user) . = ..() if(!template) get_template() @@ -42,11 +42,11 @@ GLOBAL_LIST_EMPTY(unique_deployable) else . += "This capsule has an unknown template stored." -/obj/item/device/survivalcapsule/attack_self() +/obj/item/survivalcapsule/attack_self() //Can't grab when capsule is New() because templates aren't loaded then get_template() if(!used) - loc.visible_message("\The [src] begins to shake. Stand back!") + loc.visible_message(span_warning("\The [src] begins to shake. Stand back!")) used = TRUE sleep(5 SECONDS) @@ -58,16 +58,16 @@ GLOBAL_LIST_EMPTY(unique_deployable) switch(status) //Not allowed due to /area technical reasons if(SHELTER_DEPLOY_BAD_AREA) - src.loc.visible_message("\The [src] will not function in this area.") + src.loc.visible_message(span_warning("\The [src] will not function in this area.")) //Anchored objects or no space if(SHELTER_DEPLOY_BAD_TURFS, SHELTER_DEPLOY_ANCHORED_OBJECTS) var/width = template.width var/height = template.height - src.loc.visible_message("\The [src] doesn't have room to deploy! You need to clear a [width]x[height] area!") + src.loc.visible_message(span_warning("\The [src] doesn't have room to deploy! You need to clear a [width]x[height] area!")) if(SHELTER_DEPLOY_SHIP_SPACE) - src.loc.visible_message("\The [src] can only be deployed in space.") + src.loc.visible_message(span_warning("\The [src] can only be deployed in space.")) if(status != SHELTER_DEPLOY_ALLOWED) used = FALSE @@ -75,7 +75,7 @@ GLOBAL_LIST_EMPTY(unique_deployable) if(unique_id) if(unique_id in GLOB.unique_deployable) - loc.visible_message("There can only be one [src] deployed at a time.") + loc.visible_message(span_warning("There can only be one [src] deployed at a time.")) used = FALSE return GLOB.unique_deployable += unique_id @@ -97,43 +97,35 @@ GLOBAL_LIST_EMPTY(unique_deployable) template.update_lighting(deploy_location) qdel(src) -/obj/item/device/survivalcapsule/luxury +/obj/item/survivalcapsule/luxury name = "luxury surfluid shelter capsule" desc = "An exorbitantly expensive luxury suite programmed into construction nanomachines. There's a license for use printed on the bottom." template_id = "shelter_beta" -/obj/item/device/survivalcapsule/luxurybar +/obj/item/survivalcapsule/luxurybar name = "luxury surfluid bar capsule" - desc = "A luxury bar in a capsule. Bartender required and not included. There's a license for use printed on the bottom." + desc = "A luxury bar in a capsule. " + JOB_BARTENDER + " required and not included. There's a license for use printed on the bottom." template_id = "shelter_gamma" -/obj/item/device/survivalcapsule/military +/obj/item/survivalcapsule/military name = "military surfluid shelter capsule" desc = "A prefabricated firebase in a capsule. Contains basic weapons, building materials, and combat suits. There's a license for use printed on the bottom." template_id = "shelter_delta" -/obj/item/device/survivalcapsule/escapepod +/obj/item/survivalcapsule/escapepod name = "escape surfluid shelter capsule" desc = "A prefabricated escape pod in a capsule. Contains a basic escape pod for survival purposes. There's a license for use printed on the bottom." template_id = "shelter_epsilon" unique_id = "shelter_5" is_ship = TRUE -/obj/item/device/survivalcapsule/popcabin +/obj/item/survivalcapsule/popcabin name = "pop-out cabin shelter capsule" desc = "A cozy cabin; crammed into a survival capsule." template_id = "shelter_cab" -/obj/item/device/survivalcapsule/dropship - name = "dropship surfluid shelter capsule" - desc = "A military dropship in a capsule. Contains everything an assault squad would need, minus the squad itself. This capsule is significantly larger than most. There's a license for use printed on the bottom." - template_id = "shelter_zeta" - unique_id = "shelter_6" - is_ship = TRUE - w_class = ITEMSIZE_SMALL - //Custom Shelter Capsules -/obj/item/device/survivalcapsule/tabiranth +/obj/item/survivalcapsule/tabiranth name = "silver-trimmed surfluid shelter capsule" desc = "An exorbitantly expensive luxury suite programmed into construction nanomachines. This one is a particularly rare and expensive model. There's a license for use printed on the bottom." template_id = "shelter_phi" @@ -161,7 +153,7 @@ GLOBAL_LIST_EMPTY(unique_deployable) id = "placeholder_id_do_not_use" //This has to be this way, otherwise it will control ALL doors if left blank. var/obj/machinery/door/airlock/voidcraft/survival_pod/door -/obj/machinery/button/remote/airlock/survival_pod/attack_hand(obj/item/weapon/W, mob/user as mob) +/obj/machinery/button/remote/airlock/survival_pod/attack_hand(obj/item/W, mob/user as mob) if(..()) return 1 //1 is failure on machines (for whatever reason) if(!door) var/turf/dT = get_step(src,dir) @@ -207,8 +199,8 @@ GLOBAL_LIST_EMPTY(unique_deployable) verbs -= /obj/structure/table/proc/do_put ..() -/obj/structure/table/survival_pod/dismantle(obj/item/weapon/tool/wrench/W, mob/user) - to_chat(user, "You cannot dismantle \the [src].") +/obj/structure/table/survival_pod/dismantle(obj/item/tool/wrench/W, mob/user) + to_chat(user, span_warning("You cannot dismantle \the [src].")) return //Sleeper @@ -225,7 +217,7 @@ GLOBAL_LIST_EMPTY(unique_deployable) cut_overlays() //Computer -/obj/item/device/gps/computer +/obj/item/gps/computer name = "pod computer" icon_state = "pod_computer" icon = 'icons/obj/survival_pod_comp.dmi' @@ -233,18 +225,18 @@ GLOBAL_LIST_EMPTY(unique_deployable) density = TRUE pixel_y = -32 -/obj/item/device/gps/computer/attackby(obj/item/I, mob/living/user) +/obj/item/gps/computer/attackby(obj/item/I, mob/living/user) if(I.has_tool_quality(TOOL_WRENCH)) - user.visible_message("[user] disassembles [src].", - "You start to disassemble [src]...", "You hear clanking and banging noises.") + user.visible_message(span_warning("[user] disassembles [src]."), + span_notice("You start to disassemble [src]..."), "You hear clanking and banging noises.") if(do_after(user,4 SECONDS,src)) - new /obj/item/device/gps(loc) + new /obj/item/gps(loc) qdel(src) return TRUE return FALSE -/obj/item/device/gps/computer/attack_hand(mob/user) +/obj/item/gps/computer/attack_hand(mob/user) attack_self(user) //Bed @@ -301,8 +293,8 @@ GLOBAL_LIST_EMPTY(unique_deployable) /obj/structure/fans/attackby(obj/item/I, mob/living/user) if(I.has_tool_quality(TOOL_WRENCH)) - user.visible_message("[user] disassembles [src].", - "You start to disassemble [src]...", "You hear clanking and banging noises.") + user.visible_message(span_warning("[user] disassembles [src]."), + span_notice("You start to disassemble [src]..."), "You hear clanking and banging noises.") if(do_after(user,4 SECONDS,src)) deconstruct() return TRUE diff --git a/code/modules/mining/shelters_vr.dm b/code/modules/mining/shelters_vr.dm index b5e64192409..626a86506fc 100644 --- a/code/modules/mining/shelters_vr.dm +++ b/code/modules/mining/shelters_vr.dm @@ -43,7 +43,7 @@ for(var/obj/structure/flora/AM in T) ++deleted_atoms qdel(AM) - admin_notice("Annihilated [deleted_atoms] plants.", R_DEBUG) + admin_notice(span_danger("Annihilated [deleted_atoms] plants."), R_DEBUG) /datum/map_template/shelter/proc/update_lighting(turf/deploy_location) var/affected = get_affected_turfs(deploy_location, centered=TRUE) @@ -102,16 +102,6 @@ description = "A small cabin; turned into a shelter capsule. Includes dorm amenities, and a nice dinner." mappath = "maps/submaps/shelters/shelter_cab.dmm" -/datum/map_template/shelter/zeta - name = "Shelter Zeta" - shelter_id = "shelter_zeta" - description = "An small dropship with a massive number of equipment, \ - weapons, and supplies. Contains exterior weapons, point defense, \ - a shield generator, and extremely advanced technology. It is \ - unknown who manufactued a vessel like this, as it is beyond the \ - technology level of most contemporary powers." - mappath = "maps/offmap_vr/om_ships/shelter_6.dmm" - /datum/map_template/shelter/phi name = "Shelter Phi" shelter_id = "shelter_phi" diff --git a/code/modules/mob/_modifiers/changeling.dm b/code/modules/mob/_modifiers/changeling.dm index 7e83c454617..739e29c8bdf 100644 --- a/code/modules/mob/_modifiers/changeling.dm +++ b/code/modules/mob/_modifiers/changeling.dm @@ -47,7 +47,7 @@ desc = "Our eyes are capable of seeing into the infrared spectrum to accurately identify prey through walls." vision_flags = SEE_MOBS - on_expired_text = "Your sight returns to what it once was." + on_expired_text = span_alien("Your sight returns to what it once was.") stacks = MODIFIER_STACK_EXTEND /datum/modifier/changeling/thermal_sight/check_if_valid() diff --git a/code/modules/mob/_modifiers/cloning.dm b/code/modules/mob/_modifiers/cloning.dm index 958ecd4ecd2..f6c0493170e 100644 --- a/code/modules/mob/_modifiers/cloning.dm +++ b/code/modules/mob/_modifiers/cloning.dm @@ -7,8 +7,8 @@ name = "cloning sickness" desc = "You feel rather weak, having been cloned not so long ago." - on_created_text = "You feel really weak." - on_expired_text = "You feel your strength returning to you." + on_created_text = span_warning(span_large("You feel really weak.")) + on_expired_text = span_notice(span_large("You feel your strength returning to you.")) max_health_percent = 0.6 // -40% max health. incoming_damage_percent = 1.1 // 10% more incoming damage. @@ -31,8 +31,8 @@ desc = "For whatever reason, you cannot be cloned." //WIP, but these may never be seen anyway, so *shrug - on_created_text = "Life suddenly feels more precious." - on_expired_text = "Death is cheap again." + on_created_text = span_warning("Life suddenly feels more precious.") + on_expired_text = span_notice("Death is cheap again.") flags = MODIFIER_GENETIC @@ -52,8 +52,8 @@ name = "reformation sickness" desc = "Your core feels damaged, as you were reformed with the improper machinery." - on_created_text = "Your core aches." - on_expired_text = "You feel your core's strength returning to normal." + on_created_text = span_warning(span_large("Your core aches.")) + on_expired_text = span_notice(span_large("You feel your core's strength returning to normal.")) incoming_damage_percent = 1 //Level the incoming damage from the parent modifier. They already take 200% burn. incoming_brute_damage_percent = 1.5 //150% incoming brute damage. Decreases the effectiveness of their 0.75 modifier. @@ -70,8 +70,8 @@ name = "surgically attached brain" desc = "You feel weak, as your central nervous system is still recovering from being repaired." - on_created_text = "You feel... off, and your head hurts." - on_expired_text = "You feel some strength returning to you." + on_created_text = span_warning(span_large("You feel... off, and your head hurts.")) + on_expired_text = span_notice(span_large("You feel some strength returning to you.")) max_health_percent = 0.9 // -10% max health. incoming_damage_percent = 1.1 // 10% more incoming damage. @@ -107,8 +107,8 @@ name = "neural recovery" desc = "You feel out of touch, as your central nervous system is still recovering from being repaired." - on_created_text = "You feel... off. Everything is fuzzy." - on_expired_text = "You feel your senses returning to you." + on_created_text = span_warning(span_large("You feel... off. Everything is fuzzy.")) + on_expired_text = span_notice(span_large("You feel your senses returning to you.")) incoming_hal_damage_percent = 1.5 // 50% more halloss damage. disable_duration_percent = 1.25 // Stuns last 25% longer. diff --git a/code/modules/mob/_modifiers/crusher_mark.dm b/code/modules/mob/_modifiers/crusher_mark.dm index 96ce129aad2..e0dc2dc12d0 100644 --- a/code/modules/mob/_modifiers/crusher_mark.dm +++ b/code/modules/mob/_modifiers/crusher_mark.dm @@ -2,19 +2,19 @@ name = "destabilized" desc = "You've been struck by a destabilizing bolt. By all accounts, this is probably a bad thing." stacks = MODIFIER_STACK_EXTEND - on_created_text = "You feel physically unstable." - on_expired_text = "You feel physically stable again." + on_created_text = span_warning("You feel physically unstable.") + on_expired_text = span_notice("You feel physically stable again.") var/mutable_appearance/marked_underlay - var/obj/item/weapon/kinetic_crusher/hammer_synced + var/obj/item/kinetic_crusher/hammer_synced /datum/modifier/crusher_mark/New(var/new_holder, var/new_origin) . = ..() if(isliving(new_origin)) var/mob/living/origin = new_origin - var/obj/item/weapon/kinetic_crusher/to_sync - if(istype(origin.get_active_hand(), /obj/item/weapon/kinetic_crusher)) + var/obj/item/kinetic_crusher/to_sync + if(istype(origin.get_active_hand(), /obj/item/kinetic_crusher)) to_sync = origin.get_active_hand() - else if (istype(origin.get_inactive_hand(), /obj/item/weapon/kinetic_crusher)) + else if (istype(origin.get_inactive_hand(), /obj/item/kinetic_crusher)) to_sync = origin.get_inactive_hand() if(to_sync) // did we find it? hammer_synced = to_sync // go ahead @@ -35,4 +35,4 @@ /datum/modifier/crusher_mark/on_expire() holder.underlays -= marked_underlay //if this is being called, we should have a holder at this point. - ..() \ No newline at end of file + ..() diff --git a/code/modules/mob/_modifiers/feysight.dm b/code/modules/mob/_modifiers/feysight.dm index af391ed51ca..5ff99307b97 100644 --- a/code/modules/mob/_modifiers/feysight.dm +++ b/code/modules/mob/_modifiers/feysight.dm @@ -3,8 +3,8 @@ desc = "You are filled with an inner peace, and widened sight." client_color = "#42e6ca" - on_created_text = "You feel an inner peace as your mind's eye expands!" - on_expired_text = "Your sight returns to what it once was." + on_created_text = span_alien("You feel an inner peace as your mind's eye expands!") + on_expired_text = span_notice("Your sight returns to what it once was.") stacks = MODIFIER_STACK_EXTEND accuracy = -15 @@ -20,7 +20,7 @@ /datum/modifier/feysight/can_apply(var/mob/living/L) if(L.stat) - to_chat(L, "You can't be unconscious or dead to experience tranquility.") + to_chat(L, span_warning("You can't be unconscious or dead to experience tranquility.")) return FALSE if(!L.is_sentient()) @@ -29,7 +29,7 @@ if(ishuman(L)) var/mob/living/carbon/human/H = L if(H.species.name == "Diona") - to_chat(L, "You feel strange for a moment, but it passes.") + to_chat(L, span_warning("You feel strange for a moment, but it passes.")) return FALSE // Happy trees aren't affected by tranquility. return ..() diff --git a/code/modules/mob/_modifiers/fire.dm b/code/modules/mob/_modifiers/fire.dm index 3a3c53a9dcd..31f6a4f8203 100644 --- a/code/modules/mob/_modifiers/fire.dm +++ b/code/modules/mob/_modifiers/fire.dm @@ -5,8 +5,8 @@ desc = "You are on fire! You will be harmed until the fire goes out or you extinguish it with water." mob_overlay_state = "on_fire" - on_created_text = "You burst into flames!" - on_expired_text = "The fire starts to fade." + on_created_text = span_danger("You burst into flames!") + on_expired_text = span_warning("The fire starts to fade.") stacks = MODIFIER_STACK_ALLOWED // Multiple instances will hurt a lot. var/damage_per_tick = 5 diff --git a/code/modules/mob/_modifiers/medical.dm b/code/modules/mob/_modifiers/medical.dm index 3d170719039..dabcd60d868 100644 --- a/code/modules/mob/_modifiers/medical.dm +++ b/code/modules/mob/_modifiers/medical.dm @@ -7,8 +7,8 @@ name = "external blood pumping" desc = "Your blood flows thanks to the wonderful power of science." - on_created_text = "You feel alive." - on_expired_text = "You feel.. less alive." + on_created_text = span_notice("You feel alive.") + on_expired_text = span_notice("You feel.. less alive.") stacks = MODIFIER_STACK_EXTEND pulse_set_level = PULSE_NORM @@ -22,8 +22,8 @@ name = "forced blood pumping" desc = "Your blood flows thanks to the wonderful power of science." - on_created_text = "You feel alive." - on_expired_text = "You feel.. less alive." + on_created_text = span_notice("You feel alive.") + on_expired_text = span_notice("You feel.. less alive.") stacks = MODIFIER_STACK_EXTEND pulse_set_level = PULSE_SLOW @@ -42,8 +42,8 @@ desc = "Your body begins to freeze." mob_overlay_state = "chilled" - on_created_text = "You feel like you're going to freeze! It's hard to move." - on_expired_text = "You feel somewhat warmer and more mobile now." + on_created_text = span_danger("You feel like you're going to freeze! It's hard to move.") + on_expired_text = span_warning("You feel somewhat warmer and more mobile now.") stacks = MODIFIER_STACK_ALLOWED slowdown = 0.1 @@ -55,8 +55,8 @@ name = "clone stabilized" desc = "Your body's regeneration is highly restricted." - on_created_text = "You feel nauseous." - on_expired_text = "You feel healthier." + on_created_text = span_danger("You feel nauseous.") + on_expired_text = span_warning("You feel healthier.") stacks = MODIFIER_STACK_EXTEND incoming_healing_percent = 0.1 diff --git a/code/modules/mob/_modifiers/modifiers_misc.dm b/code/modules/mob/_modifiers/modifiers_misc.dm index fee761cf307..7a7df3dcce9 100644 --- a/code/modules/mob/_modifiers/modifiers_misc.dm +++ b/code/modules/mob/_modifiers/modifiers_misc.dm @@ -46,8 +46,8 @@ the artifact triggers the rage. client_color = "#FF5555" // Make everything red! mob_overlay_state = "berserk" - on_created_text = "You feel an intense and overwhelming rage overtake you as you go berserk!" - on_expired_text = "The blaze of rage inside you has ran out." + on_created_text = span_critical("You feel an intense and overwhelming rage overtake you as you go berserk!") + on_expired_text = span_notice("The blaze of rage inside you has ran out.") stacks = MODIFIER_STACK_EXTEND // The good stuff. @@ -72,8 +72,8 @@ the artifact triggers the rage. // For changelings. /datum/modifier/berserk/changeling - on_created_text = "We feel an intense and overwhelming rage overtake us as we go berserk!" - on_expired_text = "The blaze of rage inside us has ran out." + on_created_text = span_critical("We feel an intense and overwhelming rage overtake us as we go berserk!") + on_expired_text = span_notice("The blaze of rage inside us has ran out.") // For changelings who bought the Recursive Enhancement evolution. /datum/modifier/berserk/changeling/recursive @@ -84,7 +84,7 @@ the artifact triggers the rage. /datum/modifier/berserk/on_applied() if(ishuman(holder)) // Most other mobs don't really use nutrition and can't get it back. holder.adjust_nutrition(-nutrition_cost) - holder.visible_message("\The [holder] descends into an all consuming rage!") + holder.visible_message(span_critical("\The [holder] descends into an all consuming rage!")) // End all stuns. holder.SetParalysis(0) @@ -105,7 +105,7 @@ the artifact triggers the rage. holder.add_modifier(/datum/modifier/berserk_exhaustion, exhaustion_duration) if(prob(last_shock_stage)) - to_chat(holder, "You pass out from the pain you were suppressing.") + to_chat(holder, span_warning("You pass out from the pain you were suppressing.")) holder.Paralyse(5) if(ishuman(holder)) @@ -115,7 +115,7 @@ the artifact triggers the rage. /datum/modifier/berserk/can_apply(var/mob/living/L, var/suppress_failure = FALSE) if(L.stat) if(!suppress_failure) - to_chat(L, "You can't be unconscious or dead to berserk.") + to_chat(L, span_warning("You can't be unconscious or dead to berserk.")) return FALSE // It would be weird to see a dead body get angry all of a sudden. if(!L.is_sentient()) @@ -123,7 +123,7 @@ the artifact triggers the rage. if(L.has_modifier_of_type(/datum/modifier/berserk_exhaustion)) if(!suppress_failure) - to_chat(L, "You recently berserked, and cannot do so again while exhausted.") + to_chat(L, span_warning("You recently berserked, and cannot do so again while exhausted.")) return FALSE // On cooldown. if(L.isSynthetic()) @@ -133,12 +133,12 @@ the artifact triggers the rage. if(ishuman(L)) var/mob/living/carbon/human/H = L if(H.species.name == "Diona") - to_chat(L, "You feel strange for a moment, but it passes.") + to_chat(L, span_warning("You feel strange for a moment, but it passes.")) return FALSE // Happy trees aren't affected by blood rages. if(L.nutrition < nutrition_cost) if(!suppress_failure) - to_chat(L, "You are too hungry to berserk.") + to_chat(L, span_warning("You are too hungry to berserk.")) return FALSE // Too hungry to enrage. return ..() @@ -153,8 +153,8 @@ the artifact triggers the rage. name = "exhaustion" desc = "You recently exerted yourself extremely hard, and need a rest." - on_created_text = "You feel extremely exhausted." - on_expired_text = "You feel less exhausted now." + on_created_text = span_warning("You feel extremely exhausted.") + on_expired_text = span_notice("You feel less exhausted now.") stacks = MODIFIER_STACK_EXTEND slowdown = 2 @@ -164,7 +164,7 @@ the artifact triggers the rage. evasion = -30 /datum/modifier/berserk_exhaustion/on_applied() - holder.visible_message("\The [holder] looks exhausted.") + holder.visible_message(span_warning("\The [holder] looks exhausted.")) // Synth version with no benefits due to a loss of focus inside a metal shell, which can't be pushed harder just be being mad. @@ -175,9 +175,9 @@ the artifact triggers the rage. client_color = "#FF0000" // Make everything red! mob_overlay_state = "berserk" - on_created_text = "You feel an intense and overwhelming rage overtake you as you go berserk! \ - Unfortunately, your lifeless body cannot benefit from this. You feel reckless..." - on_expired_text = "The blaze of rage inside your mind has ran out." + on_created_text = span_danger("You feel an intense and overwhelming rage overtake you as you go berserk! \ + Unfortunately, your lifeless body cannot benefit from this. You feel reckless...") + on_expired_text = span_notice("The blaze of rage inside your mind has ran out.") stacks = MODIFIER_STACK_EXTEND // Just being mad isn't gonna overclock your body when you're a beepboop. @@ -190,8 +190,8 @@ the artifact triggers the rage. name = "sprinting" desc = "You are filled with energy!" - on_created_text = "You feel a surge of energy!" - on_expired_text = "The energy high dies out." + on_created_text = span_warning("You feel a surge of energy!") + on_expired_text = span_notice("The energy high dies out.") stacks = MODIFIER_STACK_EXTEND slowdown = -1 @@ -202,8 +202,8 @@ the artifact triggers the rage. name = "melee surge" desc = "You are filled with energy!" - on_created_text = "You feel a surge of energy!" - on_expired_text = "The energy high dies out." + on_created_text = span_warning("You feel a surge of energy!") + on_expired_text = span_notice("The energy high dies out.") stacks = MODIFIER_STACK_ALLOWED attack_speed_percent = 0.8 @@ -216,8 +216,8 @@ the artifact triggers the rage. name = "grievous wounds" desc = "Your wounds are not easily mended." - on_created_text = "Your wounds pain you greatly." - on_expired_text = "The pain lulls." + on_created_text = span_critical("Your wounds pain you greatly.") + on_expired_text = span_notice("The pain lulls.") stacks = MODIFIER_STACK_EXTEND @@ -234,8 +234,8 @@ the artifact triggers the rage. desc = "You feel yourself freezing up. Its hard to move." mob_overlay_state = "chilled" - on_created_text = "You feel like you're going to freeze! It's hard to move." - on_expired_text = "You feel somewhat warmer and more mobile now." + on_created_text = span_danger("You feel like you're going to freeze! It's hard to move.") + on_expired_text = span_warning("You feel somewhat warmer and more mobile now.") stacks = MODIFIER_STACK_EXTEND slowdown = 2 @@ -252,8 +252,8 @@ the artifact triggers the rage. desc = "You have poison inside of you. It will cause harm over a long span of time if not cured." mob_overlay_state = "poisoned" - on_created_text = "You feel sick..." - on_expired_text = "You feel a bit better." + on_created_text = span_warning("You feel sick...") + on_expired_text = span_notice("You feel a bit better.") stacks = MODIFIER_STACK_ALLOWED // Multiple instances will hurt a lot. var/damage_per_tick = 1 @@ -277,7 +277,7 @@ the artifact triggers the rage. /datum/modifier/poisoned/paralysis desc = "You have poison inside of you. It will cause harm over a long span of time if not cured, and may cause temporary paralysis." - on_created_text = "You feel incredibly weak..." + on_created_text = span_warning("You feel incredibly weak...") damage_per_tick = 0.75 /datum/modifier/poisoned/paralysis/tick() @@ -294,8 +294,8 @@ the artifact triggers the rage. name = "false pulse" desc = "Your blood flows, despite all other factors." - on_created_text = "You feel alive." - on_expired_text = "You feel.. different." + on_created_text = span_notice("You feel alive.") + on_expired_text = span_notice("You feel.. different.") stacks = MODIFIER_STACK_EXTEND pulse_set_level = PULSE_NORM @@ -304,8 +304,8 @@ the artifact triggers the rage. name = "slow pulse" desc = "Your blood flows slower." - on_created_text = "You feel sluggish." - on_expired_text = "You feel energized." + on_created_text = span_notice("You feel sluggish.") + on_expired_text = span_notice("You feel energized.") stacks = MODIFIER_STACK_EXTEND bleeding_rate_percent = 0.8 @@ -317,8 +317,8 @@ the artifact triggers the rage. name = "temperature resistance" desc = "Your body normalizes to room temperature." - on_created_text = "You feel comfortable." - on_expired_text = "You feel.. still probably comfortable." + on_created_text = span_notice("You feel comfortable.") + on_expired_text = span_notice("You feel.. still probably comfortable.") stacks = MODIFIER_STACK_EXTEND /datum/modifier/homeothermic/tick() @@ -329,8 +329,8 @@ the artifact triggers the rage. name = "heat resistance" desc = "Your body lowers to room temperature." - on_created_text = "You feel comfortable." - on_expired_text = "You feel.. still probably comfortable." + on_created_text = span_notice("You feel comfortable.") + on_expired_text = span_notice("You feel.. still probably comfortable.") stacks = MODIFIER_STACK_EXTEND /datum/modifier/exothermic/tick() @@ -342,8 +342,8 @@ the artifact triggers the rage. name = "cold resistance" desc = "Your body rises to room temperature." - on_created_text = "You feel comfortable." - on_expired_text = "You feel.. still probably comfortable." + on_created_text = span_notice("You feel comfortable.") + on_expired_text = span_notice("You feel.. still probably comfortable.") stacks = MODIFIER_STACK_EXTEND /datum/modifier/endothermic/tick() @@ -357,8 +357,8 @@ the artifact triggers the rage. desc = "You are covered in some form of faraday shielding. EMPs have no effect." mob_overlay_state = "electricity" - on_created_text = "You feel a surge of energy, that fades to a calm tide." - on_expired_text = "You feel a longing for the flow of energy." + on_created_text = span_notice("You feel a surge of energy, that fades to a calm tide.") + on_expired_text = span_warning("You feel a longing for the flow of energy.") stacks = MODIFIER_STACK_EXTEND emp_modifier = 5 @@ -369,8 +369,8 @@ the artifact triggers the rage. desc = "You are protected from explosions somehow." mob_overlay_state = "electricity" - on_created_text = "You feel a surge of energy, that fades to a stalwart hum." - on_expired_text = "You feel a longing for the flow of energy." + on_created_text = span_notice("You feel a surge of energy, that fades to a stalwart hum.") + on_expired_text = span_warning("You feel a longing for the flow of energy.") stacks = MODIFIER_STACK_EXTEND explosion_modifier = 3 @@ -380,13 +380,13 @@ the artifact triggers the rage. name = "Doomed" desc = "You are doomed." - on_created_text = "You feel an overwhelming sense of dread." - on_expired_text = "You feel the life drain from your body." + on_created_text = span_notice("You feel an overwhelming sense of dread.") + on_expired_text = span_warning("You feel the life drain from your body.") stacks = MODIFIER_STACK_EXTEND /datum/modifier/doomed/on_expire() if(holder.stat != DEAD) - holder.visible_message("\The [holder] collapses, the life draining from their body.") + holder.visible_message(span_alien("\The [holder] collapses, the life draining from their body.")) holder.death() /datum/modifier/outline_test @@ -432,8 +432,8 @@ the artifact triggers the rage. name = "entangled" desc = "Its hard to move." - on_created_text = "You're caught in something! It's hard to move." - on_expired_text = "Your movement is freed." + on_created_text = span_danger("You're caught in something! It's hard to move.") + on_expired_text = span_warning("Your movement is freed.") stacks = MODIFIER_STACK_EXTEND slowdown = 2 diff --git a/code/modules/mob/_modifiers/modifiers_vr.dm b/code/modules/mob/_modifiers/modifiers_vr.dm index 2de03120d4f..18eb5fb0c93 100644 --- a/code/modules/mob/_modifiers/modifiers_vr.dm +++ b/code/modules/mob/_modifiers/modifiers_vr.dm @@ -6,7 +6,7 @@ var/energy_based // Sees if the modifier is based on something electronic based. var/energy_cost // How much the modifier uses per action/special effect blocked. For base values. var/damage_cost // How much energy is used when numbers are involed. For values, such as taking damage. Ex: (Damage*damage_cost) - var/obj/item/weapon/cell/energy_source = null // The source of the above. + var/obj/item/cell/energy_source = null // The source of the above. // RESISTANCES CODE. Variable to enable external damage resistance modifiers. This is not unlike armor. // 0 = immune || < 0 = heals || 1 = full damage || >1 = increased damage. @@ -50,8 +50,8 @@ name = "underwater stealth" desc = "You are currently underwater, rendering it more difficult to see you and enabling you to move quicker, thanks to your aquatic nature." - on_created_text = "You sink under the water." - on_expired_text = "You come out from the water." + on_created_text = span_warning("You sink under the water.") + on_expired_text = span_notice("You come out from the water.") stacks = MODIFIER_STACK_FORBID @@ -92,8 +92,8 @@ name = "Shield Projection" desc = "You are currently protected by a shield, rendering nigh impossible to hit you through conventional means." - on_created_text = "Your shield generator buzzes on." - on_expired_text = "Your shield generator buzzes off." + on_created_text = span_notice("Your shield generator buzzes on.") + on_expired_text = span_warning("Your shield generator buzzes off.") stacks = MODIFIER_STACK_FORBID //No stacking shields. If you put one one your belt and backpack it won't work. icon_override = 1 @@ -129,7 +129,7 @@ effective_fire_resistance = 1 disable_duration_percent = 1 //THIS CAN ALSO BE USED! Don't be too afraid to use this one, but use it sparingly! */ - var/obj/item/device/personal_shield_generator/shield_generator //This is the shield generator you're wearing! + var/obj/item/personal_shield_generator/shield_generator //This is the shield generator you're wearing! /datum/modifier/shield_projection/on_applied() @@ -141,11 +141,11 @@ /datum/modifier/shield_projection/check_if_valid() //Let's check to make sure you got the stuff and set the vars. Don't need to modify this for any subtypes! if(ishuman(holder)) //Only humans can use this! Other things later down the line might use the same stuff this does, but the shield generator is human only! var/mob/living/carbon/human/H = holder - if(istype(H.get_equipped_item(slot_back), /obj/item/device/personal_shield_generator)) + if(istype(H.get_equipped_item(slot_back), /obj/item/personal_shield_generator)) shield_generator = H.get_equipped_item(slot_back) //Sets the var on the modifier that the shield gen is their back shield gen. - else if(istype(H.get_equipped_item(slot_belt), /obj/item/device/personal_shield_generator)) + else if(istype(H.get_equipped_item(slot_belt), /obj/item/personal_shield_generator)) shield_generator = H.get_equipped_item(slot_belt) //No need for other checks. If they got hit by this, they just turned it on. - else if(istype(H.get_equipped_item(slot_s_store), /obj/item/device/personal_shield_generator) ) //Rigsuits. + else if(istype(H.get_equipped_item(slot_s_store), /obj/item/personal_shield_generator) ) //Rigsuits. shield_generator = H.get_equipped_item(slot_s_store) else expire(silent = TRUE) @@ -277,8 +277,8 @@ effective_clone_resistance = 1 /datum/modifier/shield_projection/admin // Adminbus. - on_created_text = "Your shield generator activates and you feel the power of the tesla buzzing around you." - on_expired_text = "Your shield generator deactivates, leaving you feeling weak and vulnerable." + on_created_text = span_notice("Your shield generator activates and you feel the power of the tesla buzzing around you.") + on_expired_text = span_warning("Your shield generator deactivates, leaving you feeling weak and vulnerable.") siemens_coefficient = 0 disable_duration_percent = 0 min_damage_resistance = 0 @@ -332,4 +332,4 @@ max_hal_resistance = 0 min_hal_resistance = 0 - effective_hal_resistance = 1 \ No newline at end of file + effective_hal_resistance = 1 diff --git a/code/modules/mob/_modifiers/traits.dm b/code/modules/mob/_modifiers/traits.dm index ea21ae007bc..0d44e8fdde5 100644 --- a/code/modules/mob/_modifiers/traits.dm +++ b/code/modules/mob/_modifiers/traits.dm @@ -6,8 +6,8 @@ name = "flimsy" desc = "You're more fragile than most, and have less of an ability to endure harm." - on_created_text = "You feel rather weak." - on_expired_text = "You feel your strength returning to you." + on_created_text = span_warning("You feel rather weak.") + on_expired_text = span_notice("You feel your strength returning to you.") max_health_percent = 0.8 @@ -15,8 +15,8 @@ name = "frail" desc = "Your body is very fragile, and has even less of an ability to endure harm." - on_created_text = "You feel really weak." - on_expired_text = "You feel your strength returning to you." + on_created_text = span_warning("You feel really weak.") + on_expired_text = span_notice("You feel your strength returning to you.") max_health_percent = 0.6 @@ -162,4 +162,4 @@ desc = "You are fully colorblind. Your condition is rare, but you can see no colors at all." client_color = MATRIX_Monochromia - wire_colors_replace = GREYSCALE_COLOR_REPLACE \ No newline at end of file + wire_colors_replace = GREYSCALE_COLOR_REPLACE diff --git a/code/modules/mob/_modifiers/traits_phobias.dm b/code/modules/mob/_modifiers/traits_phobias.dm index d8bd08a5497..17a8454204d 100644 --- a/code/modules/mob/_modifiers/traits_phobias.dm +++ b/code/modules/mob/_modifiers/traits_phobias.dm @@ -60,36 +60,36 @@ desc = "Seeing a bunch of blood isn't really pleasant for most people, but for you, it is very distressing." fear_decay_rate = 4 - on_created_text = "You are terrified of seeing blood." - on_expired_text = "You feel that blood doesn't bother you, at least, as much as it used to." + on_created_text = span_warning("You are terrified of seeing blood.") + on_expired_text = span_notice("You feel that blood doesn't bother you, at least, as much as it used to.") zero_fear_up = list( - "You see some blood nearby...", - "You try to avoid looking at the blood nearby." + span_warning(span_large("You see some blood nearby...")), + span_warning(span_large("You try to avoid looking at the blood nearby.")) ) zero_fear_down = list( - "You feel better now, with no blood in sight.", - "At last, the blood is gone.", - "Hopefully you won't see anymore blood today." + span_notice("You feel better now, with no blood in sight."), + span_notice("At last, the blood is gone."), + span_notice("Hopefully you won't see anymore blood today.") ) half_fear_up = list( - "You're still near the blood!", - "So much blood... You can't stand it." + span_danger(span_large("You're still near the blood!")), + span_danger(span_large("So much blood... You can't stand it.")) ) half_fear_down = list( - "The blood is gone now, but you're still worked up.", - "You can't see the blood now, but you're still anxious." + span_warning("The blood is gone now, but you're still worked up."), + span_warning("You can't see the blood now, but you're still anxious.") ) full_fear_up = list( - "The blood is too much!", - "There is so much blood here, you need to leave!", - "You gotta get away from the blood!" + span_danger(span_huge("The blood is too much!")), + span_danger(span_huge("There is so much blood here, you need to leave!")), + span_danger(span_huge("You gotta get away from the blood!")) ) full_fear_down = list( - "The blood is gone, but you're still very anxious.", - "No more blood... Please." + span_danger("The blood is gone, but you're still very anxious."), + span_danger("No more blood... Please.") ) /datum/modifier/trait/phobia/haemophobia/check_if_valid() @@ -161,37 +161,37 @@ desc = "Spiders are quite creepy to most people, however for you, those chitters of pure evil inspire pure dread and fear." fear_decay_rate = 1 - on_created_text = "You are terrified of seeing spiders." - on_expired_text = "You feel that your fear of spiders has gone from 'crippling' to 'nope nope nope', which is still an improvement." + on_created_text = span_warning("You are terrified of seeing spiders.") + on_expired_text = span_notice("You feel that your fear of spiders has gone from 'crippling' to 'nope nope nope', which is still an improvement.") zero_fear_up = list( - "You see a spider!", - "Spider!" + span_warning(span_large("You see a spider!")), + span_warning(span_large("Spider!")) ) zero_fear_down = list( - "Those evil spiders are finally gone.", - "At last, the chitters are gone.", - "The spiders are gone, at last." + span_notice("Those evil spiders are finally gone."), + span_notice("At last, the chitters are gone."), + span_notice("The spiders are gone, at last.") ) half_fear_up = list( - "The spiders are gonna eat you!", - "The spiders are still here!", - "The spiders will lay eggs inside you if you don't run!", + span_danger(span_large("The spiders are gonna eat you!")), + span_danger(span_large("The spiders are still here!")), + span_danger(span_large("The spiders will lay eggs inside you if you don't run!")), ) half_fear_down = list( - "The spiders are gone... right?", - "You can't see any spiders now, but you're still anxious." + span_warning("The spiders are gone... right?"), + span_warning("You can't see any spiders now, but you're still anxious.") ) full_fear_up = list( - "The chittering is driving you mad!", - "You're gonna be spider-food if you don't run!", - "The spiders are gonna feast on your eyes!" + span_danger(span_huge("The chittering is driving you mad!")), + span_danger(span_huge("You're gonna be spider-food if you don't run!")), + span_danger(span_huge("The spiders are gonna feast on your eyes!")) ) full_fear_down = list( - "The spiders must surely be hiding somewhere...", - "No more spiders... Please." + span_danger("The spiders must surely be hiding somewhere..."), + span_danger("No more spiders... Please.") ) /datum/modifier/trait/phobia/arachnophobe/should_fear() @@ -232,38 +232,38 @@ desc = "More commonly known as the fear of darkness. The shadows can hide many dangers, which makes the prospect of going into the depths of Maintenance rather worrisome." fear_decay_rate = 5 - on_created_text = "You are terrified of the dark." - on_expired_text = "You feel that darkness isn't quite as scary anymore." + on_created_text = span_warning("You are terrified of the dark.") + on_expired_text = span_notice("You feel that darkness isn't quite as scary anymore.") var/fear_threshold = 0.5 // Average lighting needs to be below this to start increasing fear. zero_fear_up = list( - "It's so dark here!", - "It's too dark!" + span_warning(span_large("It's so dark here!")), + span_warning(span_large("It's too dark!")) ) zero_fear_down = list( - "You feel calmer, now that you're in the light.", - "At last, no more darkness.", - "The light makes you feel calmer." + span_notice("You feel calmer, now that you're in the light."), + span_notice("At last, no more darkness."), + span_notice("The light makes you feel calmer.") ) half_fear_up = list( - "You need to escape this darkness!", - "Something might be lurking near you, but you can't see in this darkness.", - "You need to find a light!", + span_danger(span_large("You need to escape this darkness!")), + span_danger(span_large("Something might be lurking near you, but you can't see in this darkness.")), + span_danger(span_large("You need to find a light!")), ) half_fear_down = list( - "The darkness is gone, for now...", - "You're not in the dark anymore, but you're still anxious." + span_warning("The darkness is gone, for now..."), + span_warning("You're not in the dark anymore, but you're still anxious.") ) full_fear_up = list( - "What was that?", - "Something is nearby..." + span_danger(span_huge("What was that?")), + span_danger(span_huge("Something is nearby...")) ) full_fear_down = list( - "Light, at last!", - "The darkness is finally gone!" + span_danger("Light, at last!"), + span_danger("The darkness is finally gone!") ) /datum/modifier/trait/phobia/nyctophobe/should_fear() @@ -311,36 +311,36 @@ var/open_tiles_needed = 15 // Tends to be just right, as maint triggers this but hallways don't. - on_created_text = "You are terrified of tight spaces. Why did you come to space?" - on_expired_text = "Small rooms aren't so bad now." + on_created_text = span_warning("You are terrified of tight spaces. Why did you come to space?") + on_expired_text = span_notice("Small rooms aren't so bad now.") zero_fear_up = list( - "This room is too small...", - "The walls are too close together..." + span_warning(span_large("This room is too small...")), + span_warning(span_large("The walls are too close together...")) ) zero_fear_down = list( - "You feel calmer, now that you're in a larger room.", - "At last, the walls are far apart.", - "The relatively open area makes you feel calmer." + span_notice("You feel calmer, now that you're in a larger room."), + span_notice("At last, the walls are far apart."), + span_notice("The relatively open area makes you feel calmer.") ) half_fear_up = list( - "Your surroundings look like they are closing in.", - "Is the room getting smaller?", - "You need to get out of here!", + span_danger(span_large("Your surroundings look like they are closing in.")), + span_danger(span_large("Is the room getting smaller?")), + span_danger(span_large("You need to get out of here!")), ) half_fear_down = list( - "Your surroundings seem to have stopped closing in.", - "You're not in a tight space anymore, but you're still anxious." + span_warning("Your surroundings seem to have stopped closing in."), + span_warning("You're not in a tight space anymore, but you're still anxious.") ) full_fear_up = list( - "You need to escape!", - "There's barely any room to move around!" + span_danger(span_huge("You need to escape!")), + span_danger(span_huge("There's barely any room to move around!")) ) full_fear_down = list( - "The surroundings stop shrinking.", - "The walls seem to have stopped." + span_danger("The surroundings stop shrinking."), + span_danger("The walls seem to have stopped.") ) /datum/modifier/trait/phobia/claustrophobe/should_fear() @@ -376,34 +376,34 @@ desc = "Slimes are quite dangerous, but just the aspect of something being slimey is uncomfortable." fear_decay_rate = 1 - on_created_text = "You are disgusted and horrified by slime." - on_expired_text = "You feel more... okay with slime." + on_created_text = span_warning("You are disgusted and horrified by slime.") + on_expired_text = span_notice("You feel more... okay with slime.") zero_fear_up = list( - "That's some slime!", - "There's slime right there!" + span_warning(span_large("That's some slime!")), + span_warning(span_large("There's slime right there!")) ) zero_fear_down = list( - "The slime is out of sight and out of mind.", - "Clean. No more slime." + span_notice("The slime is out of sight and out of mind."), + span_notice("Clean. No more slime.") ) half_fear_up = list( - "The slimes might strike at any point!", - "The slime is still there!" + span_danger(span_large("The slimes might strike at any point!")), + span_danger(span_large("The slime is still there!")) ) half_fear_down = list( - "The slime is gone... right?", - "You can't see any slime right now, but you're still anxious." + span_warning("The slime is gone... right?"), + span_warning("You can't see any slime right now, but you're still anxious.") ) full_fear_up = list( - "The slime is everywhere!", - "You're gonna get absorbed if you don't get out!" + span_danger(span_huge("The slime is everywhere!")), + span_danger(span_huge("You're gonna get absorbed if you don't get out!")) ) full_fear_down = list( - "There must be more of that slime somewhere...", - "No more of this slime, please...." + span_danger("There must be more of that slime somewhere..."), + span_danger("No more of this slime, please....") ) /datum/modifier/trait/phobia/blennophobe/should_fear() @@ -470,35 +470,35 @@ desc = "Syringes and needles make you very distressed. You really don't want to get sick..." fear_decay_rate = 100 - on_created_text = "You are terrified by needles." - on_expired_text = "You feel better about being near needles.." + on_created_text = span_warning("You are terrified by needles.") + on_expired_text = span_notice("You feel better about being near needles..") zero_fear_up = list( - "That's a needle!", - "There's a needle right there!" + span_warning(span_large("That's a needle!")), + span_warning(span_large("There's a needle right there!")) ) zero_fear_down = list( - "The needle is gone, no need to worry.", - "No more needle." + span_notice("The needle is gone, no need to worry."), + span_notice("No more needle.") ) half_fear_up = list( - "The needle could get you at any time!", - "The needle is still there!" + span_danger(span_large("The needle could get you at any time!")), + span_danger(span_large("The needle is still there!")) ) half_fear_down = list( - "There are no more needles... right?", - "You don't see any more needles... But you can never be sure." + span_warning("There are no more needles... right?"), + span_warning("You don't see any more needles... But you can never be sure.") ) full_fear_up = list( - "The needles are going to pierce you!", - "They could get you any second!" + span_danger(span_huge("The needles are going to pierce you!")), + span_danger(span_huge("They could get you any second!")) ) full_fear_down = list( - "There are more needles around, you can feel it...", - "No more needles, please..." + span_danger("There are more needles around, you can feel it..."), + span_danger("No more needles, please...") ) /datum/modifier/trait/phobia/trypanophobe/should_fear() @@ -509,7 +509,7 @@ for(var/atom/thing in view(5, holder)) // See haemophobia for why this is 5. - if(istype(thing, /obj/item/weapon/reagent_containers/syringe)) + if(istype(thing, /obj/item/reagent_containers/syringe)) fear_amount += 4 if(istype(thing, /obj/machinery/iv_drip)) @@ -519,16 +519,16 @@ else fear_amount += 6 - if(istype(thing, /obj/item/weapon/reagent_containers/hypospray)) + if(istype(thing, /obj/item/reagent_containers/hypospray)) fear_amount += 2 //Needle doesn't look as intimidating. - if(istype(thing, /obj/item/weapon/reagent_containers/hypospray/autoinjector)) //Don't know if I need to define autoinjectors too. Meh. + if(istype(thing, /obj/item/reagent_containers/hypospray/autoinjector)) //Don't know if I need to define autoinjectors too. Meh. fear_amount += 3 if(istype(thing, /obj/item/rig_module/chem_dispenser)) fear_amount += 5 - if(istype(thing, /obj/item/weapon/storage/box/syringes)) + if(istype(thing, /obj/item/storage/box/syringes)) fear_amount += 2 if(istype(thing, /obj/item/mecha_parts/mecha_equipment/tool/syringe_gun)) @@ -537,10 +537,10 @@ if(istype(thing, /obj/machinery/sleep_console)) //Sleepers got them needles in them. fear_amount += 4 - if(istype(thing, /obj/item/weapon/implanter)) + if(istype(thing, /obj/item/implanter)) fear_amount += 8 //Very big needle. - if(istype(thing, /obj/item/weapon/gun/launcher/syringe)) + if(istype(thing, /obj/item/gun/launcher/syringe)) fear_amount += 6 if(isliving(thing)) @@ -549,10 +549,10 @@ continue if(istype(L, /mob/living/carbon/human)) var/mob/living/carbon/human/H = L - if(H.l_hand && istype(H.l_hand, /obj/item/weapon/reagent_containers/syringe) || H.r_hand && istype(H.r_hand, /obj/item/weapon/reagent_containers/syringe)) + if(H.l_hand && istype(H.l_hand, /obj/item/reagent_containers/syringe) || H.r_hand && istype(H.r_hand, /obj/item/reagent_containers/syringe)) fear_amount += 10 - if(H.l_ear && istype(H.l_ear, /obj/item/weapon/reagent_containers/syringe) || H.r_ear && istype(H.r_ear, /obj/item/weapon/reagent_containers/syringe)) + if(H.l_ear && istype(H.l_ear, /obj/item/reagent_containers/syringe) || H.r_ear && istype(H.r_ear, /obj/item/reagent_containers/syringe)) fear_amount +=10 @@ -568,8 +568,8 @@ desc = "The mind of the Alien is unknowable, and as such, their intentions cannot be known. You always watch the xenos closely, as they most certainly are watching you \ closely, waiting to strike." - on_created_text = "You remain vigilant against the Alien." - on_expired_text = "Aliens aren't so bad after all." + on_created_text = span_warning("You remain vigilant against the Alien.") + on_expired_text = span_notice("Aliens aren't so bad after all.") var/last_message = null // world.time we last did a message. var/message_cooldown = 1 MINUTE @@ -586,7 +586,7 @@ if(xenos.len) var/chosen_xeno = pick(xenos) - to_chat(holder, "[make_message(chosen_xeno)]") + to_chat(holder, span_warning(span_large("[make_message(chosen_xeno)]"))) return TRUE else return FALSE // No xenos in sight, so don't apply the cooldown. @@ -605,8 +605,8 @@ desc = "The mind of the Alien is unknowable, and as such, their intentions cannot be known. You always watch the xenos closely, as they most certainly are watching you \ closely, waiting to strike." - on_created_text = "You remain vigilant against the Alien." - on_expired_text = "Aliens aren't so bad afterall." + on_created_text = span_warning("You remain vigilant against the Alien.") + on_expired_text = span_notice("Aliens aren't so bad afterall.") /datum/modifier/trait/phobia/xenophobia/generic/get_xenos() var/list/xenos = list() @@ -643,8 +643,8 @@ name = "anti-human sentiment" desc = "Humans are bound to get us all killed with their reckless use of technology..." - on_created_text = "You unfortunately are likely to have to deal with humans today." - on_expired_text = "Humans aren't so bad after all." + on_created_text = span_warning("You unfortunately are likely to have to deal with humans today.") + on_expired_text = span_notice("Humans aren't so bad after all.") /datum/modifier/trait/phobia/xenophobia/human/get_xenos() var/list/humans = list() @@ -672,8 +672,8 @@ name = "anti-skrell sentiment" desc = "The Skrell pretend that they are Humanity's enlightened allies, but you can see past that." - on_created_text = "Hopefully no Skrell show up today." - on_expired_text = "Skrell aren't so bad after all." + on_created_text = span_warning("Hopefully no Skrell show up today.") + on_expired_text = span_notice("Skrell aren't so bad after all.") /datum/modifier/trait/phobia/xenophobia/skrell/get_xenos() var/list/skrell = list() @@ -692,4 +692,3 @@ "WetSkrell was a mistake." ) return pick(generic_responses) - diff --git a/code/modules/mob/_modifiers/unholy.dm b/code/modules/mob/_modifiers/unholy.dm index 034c3b455be..0f4ab94db98 100644 --- a/code/modules/mob/_modifiers/unholy.dm +++ b/code/modules/mob/_modifiers/unholy.dm @@ -8,8 +8,8 @@ name = "fortified body" desc = "You are taking less damage from outside sources." - on_created_text = "Your body becomes a mountain to your enemies' storm." - on_expired_text = "Your body softens, returning to its regular durability." + on_created_text = span_critical("Your body becomes a mountain to your enemies' storm.") + on_expired_text = span_notice("Your body softens, returning to its regular durability.") stacks = MODIFIER_STACK_EXTEND disable_duration_percent = 0.25 // Disables only last 25% as long. @@ -25,8 +25,8 @@ name = "phased" desc = "You are partially shifted from the material plane." - on_created_text = "Your body pulses, before partially dematerializing." - on_expired_text = "Your body rematerializes fully." + on_created_text = span_critical("Your body pulses, before partially dematerializing.") + on_expired_text = span_notice("Your body rematerializes fully.") stacks = MODIFIER_STACK_FORBID @@ -50,8 +50,8 @@ name = "deep wounds" desc = "Your wounds are mysteriously harder to mend." - on_created_text = "Your wounds pain you greatly." - on_expired_text = "Your wounds numb for a moment." + on_created_text = span_cult("Your wounds pain you greatly.") + on_expired_text = span_notice("Your wounds numb for a moment.") stacks = MODIFIER_STACK_EXTEND @@ -64,8 +64,8 @@ name = "aura of repair (cult)" desc = "You are emitting a field of strange energy, capable of repairing occult constructs." - on_created_text = "You begin emitting an occult repair aura." - on_expired_text = "The occult repair aura fades." + on_created_text = span_cult("You begin emitting an occult repair aura.") + on_expired_text = span_notice("The occult repair aura fades.") stacks = MODIFIER_STACK_EXTEND mob_overlay_state = "cult_aura" @@ -80,8 +80,8 @@ name = "agonize" desc = "Your body is wracked with pain." - on_created_text = "A red lightning quickly covers your body. The pain is horrendous." - on_expired_text = "The lightning fades, and so too does the ongoing pain." + on_created_text = span_cult("A red lightning quickly covers your body. The pain is horrendous.") + on_expired_text = span_notice("The lightning fades, and so too does the ongoing pain.") stacks = MODIFIER_STACK_EXTEND @@ -93,15 +93,15 @@ var/mob/living/carbon/human/H = holder H.apply_effect(20, AGONY) if(prob(10)) - to_chat(H, "Just make it stop!") + to_chat(H, span_warning("Just make it stop!")) ////////// Target Modifier /datum/modifier/mend_occult name = "occult mending" desc = "Your body is mending, though at what cost?" - on_created_text = "Something haunting envelops your body as it begins to mend." - on_expired_text = "The cloak of unease dissipates." + on_created_text = span_cult("Something haunting envelops your body as it begins to mend.") + on_expired_text = span_notice("The cloak of unease dissipates.") stacks = MODIFIER_STACK_EXTEND @@ -132,7 +132,7 @@ for(var/obj/item/organ/E in H.bad_external_organs) // Fix bones var/obj/item/organ/external/affected = E - if((affected.damage < affected.min_broken_damage * config.organ_health_multiplier) && (affected.status & ORGAN_BROKEN)) + if((affected.damage < affected.min_broken_damage * CONFIG_GET(number/organ_health_multiplier)) && (affected.status & ORGAN_BROKEN)) affected.status &= ~ORGAN_BROKEN for(var/datum/wound/W in affected.wounds) // Fix IB @@ -144,7 +144,7 @@ if(!iscultist(H)) H.apply_effect(2, AGONY) if(prob(10)) - to_chat(H, "It feels as though your body is being torn apart!") + to_chat(H, span_danger("It feels as though your body is being torn apart!")) L.updatehealth() /datum/modifier/gluttonyregeneration @@ -152,20 +152,20 @@ desc = "You are filled with an overwhelming hunger." mob_overlay_state = "electricity" - on_created_text = "You feel an intense and overwhelming hunger overtake you as your body regenerates!" - on_expired_text = "The blaze of hunger inside you has been snuffed." + on_created_text = span_critical("You feel an intense and overwhelming hunger overtake you as your body regenerates!") + on_expired_text = span_notice("The blaze of hunger inside you has been snuffed.") stacks = MODIFIER_STACK_EXTEND /datum/modifier/gluttonyregeneration/can_apply(var/mob/living/L) if(L.stat == DEAD) - to_chat(L, "You can't be dead to consume.") + to_chat(L, span_warning("You can't be dead to consume.")) return FALSE if(!L.is_sentient()) return FALSE // Drones don't feel anything, not even hunger. if(L.has_modifier_of_type(/datum/modifier/berserk_exhaustion)) - to_chat(L, "You recently berserked, so you are too tired to consume.") + to_chat(L, span_warning("You recently berserked, so you are too tired to consume.")) return FALSE if(!ishuman(L)) // Only humanoids feel hunger. Totally. @@ -174,7 +174,7 @@ else var/mob/living/carbon/human/H = L if(H.species.name == "Diona") - to_chat(L, "You feel strange for a moment, but it passes.") + to_chat(L, span_warning("You feel strange for a moment, but it passes.")) return FALSE // Happy trees aren't affected by incredible hunger. return ..() @@ -195,4 +195,4 @@ H.adjustToxLoss(-healing_amount * 0.25) - ..() \ No newline at end of file + ..() diff --git a/code/modules/mob/animations.dm b/code/modules/mob/animations.dm index 9e6efaed9c5..331a7daef1e 100644 --- a/code/modules/mob/animations.dm +++ b/code/modules/mob/animations.dm @@ -94,7 +94,7 @@ note dizziness decrements automatically in the mob's Life() proc. var/turf/turf = get_turf(src) if(!istype(turf,/turf/space)) var/area/A = turf.loc - if(istype(A) && A.has_gravity) + if(istype(A) && A.get_gravity()) make_floating(0) return else if (Check_Shoegrip()) @@ -238,8 +238,7 @@ note dizziness decrements automatically in the mob's Life() proc. //Check for clients with pref enabled var/list/viewing = list() for(var/mob/M as anything in viewers(A)) - var/client/C = M.client - if(C && C.is_preference_enabled(/datum/client_preference/attack_icons)) + if(M.client?.prefs?.read_preference(/datum/preference/toggle/attack_icons)) viewing += M.client //Animals attacking each other in the distance, probably. Forgeddaboutit. diff --git a/code/modules/mob/autowhisper.dm b/code/modules/mob/autowhisper.dm index 88e07df7a4b..e667c639311 100644 --- a/code/modules/mob/autowhisper.dm +++ b/code/modules/mob/autowhisper.dm @@ -1,7 +1,7 @@ /mob/living/verb/toggle_autowhisper() set name = "Autowhisper Toggle" set desc = "Toggle whether you will automatically whisper/subtle" - set category = "IC" + set category = "IC.Settings" autowhisper = !autowhisper if(autowhisper_display) @@ -12,34 +12,34 @@ var/obj/belly/b = loc if(b.mode_flags & DM_FLAG_FORCEPSAY) var/mes = "but you are affected by forced psay right now, so you will automatically use psay/pme instead of any other option." - to_chat(src, "Autowhisper has been [autowhisper ? "enabled, [mes]" : "disabled, [mes]"].") + to_chat(src, span_notice("Autowhisper has been [autowhisper ? "enabled, [mes]" : "disabled, [mes]"].")) return else forced_psay = autowhisper - to_chat(src, "Autowhisper has been [autowhisper ? "enabled. You will now automatically psay/pme when using say/me. As a note, this option will only work if you are in a situation where you can send psay/pme messages! Otherwise it will work as default whisper/subtle" : "disabled"].") + to_chat(src, span_notice("Autowhisper has been [autowhisper ? "enabled. You will now automatically psay/pme when using say/me. As a note, this option will only work if you are in a situation where you can send psay/pme messages! Otherwise it will work as default whisper/subtle" : "disabled"].")) else - to_chat(src, "Autowhisper has been [autowhisper ? "enabled. You will now automatically whisper/subtle when using say/me" : "disabled"].") + to_chat(src, span_notice("Autowhisper has been [autowhisper ? "enabled. You will now automatically whisper/subtle when using say/me" : "disabled"].")) /mob/living/verb/autowhisper_mode() set name = "Autowhisper Mode" set desc = "Set the mode your emotes will default to while using Autowhisper" - set category = "IC" + set category = "IC.Settings" var/choice = tgui_input_list(src, "Select Custom Subtle Mode", "Custom Subtle Mode", list("Adjacent Turfs (Default)", "My Turf", "My Table", "Current Belly (Prey)", "Specific Belly (Pred)", "Specific Person", "Psay/Pme")) if(!choice || choice == "Adjacent Turfs (Default)") autowhisper_mode = null - to_chat(src, "Your subtles have returned to the default setting.") + to_chat(src, span_notice("Your subtles have returned to the default setting.")) return if(choice == "Psay/Pme") if(autowhisper) if(isbelly(loc) && absorbed) var/obj/belly/b = loc if(b.mode_flags & DM_FLAG_FORCEPSAY) - to_chat(src, "You can't set that mode right now, as you appear to be absorbed in a belly using forced psay!") + to_chat(src, span_warning("You can't set that mode right now, as you appear to be absorbed in a belly using forced psay!")) return forced_psay = TRUE - to_chat(src, "As a note, this option will only work if you are in a situation where you can send psay/pme messages! Otherwise it will work as default whisper/subtle.") + to_chat(src, span_notice("As a note, this option will only work if you are in a situation where you can send psay/pme messages! Otherwise it will work as default whisper/subtle.")) autowhisper_mode = choice - to_chat(src, "Your subtles have been set to [autowhisper_mode].") + to_chat(src, span_notice("Your subtles have been set to [autowhisper_mode].")) diff --git a/code/modules/mob/dead/corpse.dm b/code/modules/mob/dead/corpse.dm index 8a8756ffd2d..cab2a711470 100644 --- a/code/modules/mob/dead/corpse.dm +++ b/code/modules/mob/dead/corpse.dm @@ -31,6 +31,9 @@ var/list/random_species_list = list(SPECIES_HUMAN,SPECIES_TAJ,SPECIES_UNATHI,SPECIES_SKRELL) var/list/tail_type = null var/list/ear_type = null + /// list(name of ear, color of ear, color of ear, ...). + /// Color is optional, each position after the name is a color channel from 1 to n. + var/list/ear_secondary_type var/list/wing_type = null var/corpsesynthtype = 0 // 0 for organic, 1 for drone, 2 for posibrain var/corpsesynthbrand = "Unbranded" @@ -85,6 +88,12 @@ M.g_ears3 = color_rgb_list[2] M.b_ears3 = color_rgb_list[3] M.update_hair() + // handle secondary ears + if(length(ear_secondary_type) && (ear_secondary_type[1] in global.ear_styles_list)) + M.ear_secondary_style = global.ear_styles_list[ear_secondary_type[1]] + if(length(ear_secondary_type) > 1) + M.ear_secondary_colors = ear_secondary_type.Copy(2, min(length(GLOB.fancy_sprite_accessory_color_channel_names), length(ear_secondary_type)) + 1) + if(wing_type && wing_type.len) if(wing_type[1] in wing_styles_list) M.wing_style = wing_styles_list[wing_type[1]] @@ -136,7 +145,7 @@ if(src.corpseback) M.equip_to_slot_or_del(new src.corpseback(M), slot_back) if(src.corpseid == 1) - var/obj/item/weapon/card/id/W = new(M) + var/obj/item/card/id/W = new(M) W.name = "[M.real_name]'s ID Card" var/datum/job/jobdatum for(var/jobtype in typesof(/datum/job)) @@ -173,13 +182,13 @@ corpsesuit = /obj/item/clothing/suit/armor/vest corpseshoes = /obj/item/clothing/shoes/boots/swat corpsegloves = /obj/item/clothing/gloves/swat - corpseradio = /obj/item/device/radio/headset + corpseradio = /obj/item/radio/headset corpsemask = /obj/item/clothing/mask/gas corpsehelmet = /obj/item/clothing/head/helmet/swat - corpseback = /obj/item/weapon/storage/backpack + corpseback = /obj/item/storage/backpack corpseid = 1 corpseidjob = "Operative" - corpseidaccess = "Syndicate" + corpseidaccess = JOB_SYNDICATE /obj/effect/landmark/mobcorpse/solarpeacekeeper name = "Mercenary" @@ -187,13 +196,13 @@ corpsesuit = /obj/item/clothing/suit/armor/pcarrier/blue/sol corpseshoes = /obj/item/clothing/shoes/boots/swat corpsegloves = /obj/item/clothing/gloves/swat - corpseradio = /obj/item/device/radio/headset + corpseradio = /obj/item/radio/headset corpsemask = /obj/item/clothing/mask/gas corpsehelmet = /obj/item/clothing/head/helmet/swat - corpseback = /obj/item/weapon/storage/backpack + corpseback = /obj/item/storage/backpack corpseid = 1 corpseidjob = "Peacekeeper" - corpseidaccess = "Syndicate" + corpseidaccess = JOB_SYNDICATE /obj/effect/landmark/mobcorpse/syndicatecommando name = "Mercenary Commando" @@ -201,28 +210,28 @@ corpsesuit = /obj/item/clothing/suit/space/void/merc corpseshoes = /obj/item/clothing/shoes/boots/swat corpsegloves = /obj/item/clothing/gloves/swat - corpseradio = /obj/item/device/radio/headset + corpseradio = /obj/item/radio/headset corpsemask = /obj/item/clothing/mask/gas/syndicate corpsehelmet = /obj/item/clothing/head/helmet/space/void/merc - corpseback = /obj/item/weapon/tank/jetpack/oxygen - corpsepocket1 = /obj/item/weapon/tank/emergency/oxygen + corpseback = /obj/item/tank/jetpack/oxygen + corpsepocket1 = /obj/item/tank/emergency/oxygen corpseid = 1 corpseidjob = "Operative" - corpseidaccess = "Syndicate" + corpseidaccess = JOB_SYNDICATE /obj/effect/landmark/mobcorpse/clown - name = "Clown" + name = JOB_CLOWN corpseuniform = /obj/item/clothing/under/rank/clown corpseshoes = /obj/item/clothing/shoes/clown_shoes - corpseradio = /obj/item/device/radio/headset + corpseradio = /obj/item/radio/headset corpsemask = /obj/item/clothing/mask/gas/clown_hat - corpsepocket1 = /obj/item/weapon/bikehorn - corpseback = /obj/item/weapon/storage/backpack/clown + corpsepocket1 = /obj/item/bikehorn + corpseback = /obj/item/storage/backpack/clown corpseid = 1 - corpseidjob = "Clown" - corpseidaccess = "Clown" + corpseidjob = JOB_CLOWN + corpseidaccess = JOB_CLOWN diff --git a/code/modules/mob/dead/corpse_vr.dm b/code/modules/mob/dead/corpse_vr.dm index ac1496b7d63..73894a9a110 100644 --- a/code/modules/mob/dead/corpse_vr.dm +++ b/code/modules/mob/dead/corpse_vr.dm @@ -31,12 +31,12 @@ corpsesuit = /obj/item/clothing/suit/space/void/altevian_heartbreaker corpseshoes = /obj/item/clothing/shoes/boots/swat corpsegloves = /obj/item/clothing/gloves/swat - corpseradio = /obj/item/device/radio/headset + corpseradio = /obj/item/radio/headset corpsemask = /obj/item/clothing/mask/altevian_breath corpsehelmet = /obj/item/clothing/head/helmet/space/void/altevian_heartbreaker corpseid = 1 corpseidjob = "Altevian Navy" - corpseidaccess = "Syndicate" + corpseidaccess = JOB_SYNDICATE species = SPECIES_ALTEVIAN ear_type = list(/datum/sprite_accessory/ears/altevian, "#777777", "#FFCCFF") - tail_type = list(/datum/sprite_accessory/tail/altevian, "#FF9999") \ No newline at end of file + tail_type = list(/datum/sprite_accessory/tail/altevian, "#FF9999") diff --git a/code/modules/mob/dead/observer/free_vr.dm b/code/modules/mob/dead/observer/free_vr.dm index a3c63de1976..811a535ab1e 100644 --- a/code/modules/mob/dead/observer/free_vr.dm +++ b/code/modules/mob/dead/observer/free_vr.dm @@ -2,13 +2,13 @@ var/global/list/prevent_respawns = list() /hook/death/proc/quit_notify(mob/dead) if(ishuman(dead)) - to_chat(dead,"You're dead! If you don't intend to continue playing this round as this character, please use the Quit This Round verb in the OOC tab to free your job slot. Otherwise, you can use the Notify Transcore verb to let medical know you need resleeving, or Find Auto Resleever verb to be taken to an auto resleever, which you can click on to be resleeved automatically after a time.") + to_chat(dead,span_notice("You're dead! If you don't intend to continue playing this round as this character, please use the Quit This Round verb in the OOC tab to free your job slot. Otherwise, you can use the Notify Transcore verb to let medical know you need resleeving, or Find Auto Resleever verb to be taken to an auto resleever, which you can click on to be resleeved automatically after a time.")) return TRUE /mob/observer/dead/verb/cleanup() set name = "Quit This Round" - set category = "OOC" + set category = "OOC.Game" set desc = "Free your job slot, remove yourself from the manifest, and prevent respawning as this character for this round." var/confirm = tgui_alert(usr, "This will free up your job slot, remove you from the manifest, and allow you to respawn as this character. You can rejoin as another \ @@ -18,7 +18,7 @@ var/global/list/prevent_respawns = list() //Why are you clicking this button? if(!mind || !mind.assigned_role) - to_chat(src,"Either you haven't played this round, you already used this verb or you left round properly already.") + to_chat(src,span_warning("Either you haven't played this round, you already used this verb or you left round properly already.")) return //Add them to the nope list @@ -28,7 +28,7 @@ var/global/list/prevent_respawns = list() for(var/datum/objective/O in all_objectives) if(O.target == src.mind) if(O.owner && O.owner.current) - to_chat(O.owner.current,"You get the feeling your target is no longer within your reach...") + to_chat(O.owner.current,span_warning("You get the feeling your target is no longer within your reach...")) qdel(O) //Resleeving cleanup @@ -61,4 +61,4 @@ var/global/list/prevent_respawns = list() src.mind.assigned_role = null //Feedback - to_chat(src,"Your job has been free'd up, and you can rejoin as another character or quit. Thanks for using this verb, it helps the server!") + to_chat(src,span_notice("Your job has been free'd up, and you can rejoin as another character or quit. Thanks for using this verb, it helps the server!")) diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 1bcf12c5b9b..d0d103c1fef 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -131,7 +131,7 @@ forceMove(T) else moveToNullspace() - to_chat(src, "Could not locate an observer spawn point. Use the Teleport verb to jump to the station map.") + to_chat(src, span_danger("Could not locate an observer spawn point. Use the Teleport verb to jump to the station map.")) if(!name) //To prevent nameless ghosts name = capitalize(pick(first_names_male)) + " " + capitalize(pick(last_names)) @@ -151,7 +151,7 @@ return /mob/observer/dead/attackby(obj/item/W, mob/user) - if(istype(W,/obj/item/weapon/book/tome)) + if(istype(W,/obj/item/book/tome)) var/mob/observer/dead/M = src M.manifest(user) @@ -173,7 +173,7 @@ . = ..() if(is_admin(user)) - . += "\t>[ADMIN_FULLMONTY(src)]" + . += "\t>" + span_admin("[ADMIN_FULLMONTY(src)]") /* Transfer_mind is there to check if mob is being deleted/not going to have a body. @@ -187,6 +187,27 @@ Works together with spawning an observer, noted above. handle_regular_hud_updates() handle_vision() + check_area() //RS Port #658 + +//RS Port #658 Start +/mob/observer/dead/proc/check_area() + if(client?.holder) + return + if(!isturf(loc)) + return + var/area/A = get_area(src) + if(A.flag_check(AREA_BLOCK_GHOSTS)) + to_chat(src, span_warning("Ghosts can't enter this location.")) + return_to_spawn() + +/mob/observer/dead/proc/return_to_spawn() + if(following) + stop_following() + var/obj/O = locate("landmark*Observer-Start") + if(istype(O)) + to_chat(src, span_notice("Now teleporting.")) + forceMove(O.loc) +//RS Port #658 End /mob/proc/ghostize(var/can_reenter_corpse = 1) if(key) @@ -207,15 +228,15 @@ Works together with spawning an observer, noted above. B.update() if(ghost.client) ghost.client.time_died_as_mouse = ghost.timeofdeath - if(ghost.client && !ghost.client.holder && !config.antag_hud_allowed) // For new ghosts we remove the verb from even showing up if it's not allowed. - ghost.verbs -= /mob/observer/dead/verb/toggle_antagHUD // Poor guys, don't know what they are missing! + if(ghost.client && !ghost.client.holder && !CONFIG_GET(flag/antag_hud_allowed)) // For new ghosts we remove the verb from even showing up if it's not allowed. + remove_verb(ghost, /mob/observer/dead/verb/toggle_antagHUD) // Poor guys, don't know what they are missing! return ghost /* This is the proc mobs get to turn into a ghost. Forked from ghostize due to compatibility issues. */ /mob/living/verb/ghost() - set category = "OOC" + set category = "OOC.Game" set name = "Ghost" set desc = "Relinquish your life and enter the land of the dead." @@ -223,7 +244,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp announce_ghost_joinleave(ghostize(1)) else var/response - if(src.client && src.client.holder) + if(check_rights(R_ADMIN|R_SERVER|R_MOD,FALSE,src)) //No need to sanity check for client and holder here as that is part of check_rights response = tgui_alert(src, "You have the ability to Admin-Ghost. The regular Ghost verb will announce your presence to dead chat. Both variants will allow you to return to your body using 'aghost'.\n\nWhat do you wish to do?", "Are you sure you want to ghost?", list("Admin Ghost", "Ghost", "Stay in body")) if(response == "Admin Ghost") if(!src.client) @@ -249,27 +270,27 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp /mob/observer/dead/can_use_hands() return 0 /mob/observer/dead/is_active() return 0 -/mob/observer/dead/Stat() - ..() - if(statpanel("Status")) - if(emergency_shuttle) - var/eta_status = emergency_shuttle.get_status_panel_eta() - if(eta_status) - stat(null, eta_status) +/mob/observer/dead/get_status_tab_items() + . = ..() + if(emergency_shuttle) + var/eta_status = emergency_shuttle.get_status_panel_eta() + if(eta_status) + . += "" + . += "[eta_status]" /mob/observer/dead/verb/reenter_corpse() - set category = "Ghost" + set category = "Ghost.Game" set name = "Re-enter Corpse" if(!client) return if(!(mind && mind.current && can_reenter_corpse)) - to_chat(src, "You have no body.") + to_chat(src, span_warning("You have no body.")) return if(mind.current.key && copytext(mind.current.key,1,2)!="@") //makes sure we don't accidentally kick any clients - to_chat(usr, "Another consciousness is in your body... it is resisting you.") + to_chat(usr, span_warning("Another consciousness is in your body... it is resisting you.")) return //VOREStation Add if(prevent_respawns.Find(mind.name)) - to_chat(usr, "You already quit this round as this character, sorry!") + to_chat(usr, span_warning("You already quit this round as this character, sorry!")) return //VOREStation Add End if(mind.current.ajourn && mind.current.stat != DEAD) //check if the corpse is astral-journeying (it's client ghosted using a cultist rune). @@ -279,7 +300,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp found_rune = 1 break if(!found_rune) - to_chat(usr, "The astral cord that ties your body and your spirit has been severed. You are likely to wander the realm beyond until your body is finally dead and thus reunited with you.") + to_chat(usr, span_warning("The astral cord that ties your body and your spirit has been severed. You are likely to wander the realm beyond until your body is finally dead and thus reunited with you.")) return mind.current.ajourn=0 mind.current.key = key @@ -295,17 +316,17 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp return 1 /mob/observer/dead/verb/toggle_medHUD() - set category = "Ghost" + set category = "Ghost.Settings" set name = "Toggle MedicHUD" set desc = "Toggles Medical HUD allowing you to see how everyone is doing" medHUD = !medHUD plane_holder.set_vis(VIS_CH_HEALTH, medHUD) plane_holder.set_vis(VIS_CH_STATUS_OOC, medHUD) - to_chat(src, "Medical HUD [medHUD ? "Enabled" : "Disabled"]") + to_chat(src, span_boldnotice("Medical HUD [medHUD ? "Enabled" : "Disabled"]")) /mob/observer/dead/verb/toggle_secHUD() - set category = "Ghost" + set category = "Ghost.Settings" set name = "Toggle Security HUD" set desc = "Toggles Security HUD allowing you to see people's displayed ID's job, wanted status, etc" @@ -315,22 +336,22 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp plane_holder.set_vis(VIS_CH_IMPTRACK, secHUD) plane_holder.set_vis(VIS_CH_IMPLOYAL, secHUD) plane_holder.set_vis(VIS_CH_IMPCHEM, secHUD) - to_chat(src, "Security HUD [secHUD ? "Enabled" : "Disabled"]") + to_chat(src, span_boldnotice("Security HUD [secHUD ? "Enabled" : "Disabled"]")) /mob/observer/dead/verb/toggle_antagHUD() - set category = "Ghost" + set category = "Ghost.Settings" set name = "Toggle AntagHUD" set desc = "Toggles AntagHUD allowing you to see who is the antagonist" - if(!config.antag_hud_allowed && !client.holder) - to_chat(src, "[span_red("Admins have disabled this for this round.")]") + if(!CONFIG_GET(flag/antag_hud_allowed) && !client.holder) + to_chat(src, span_filter_notice(span_red("Admins have disabled this for this round."))) return - if(jobban_isbanned(src, "AntagHUD")) - to_chat(src, "[span_red("You have been banned from using this feature")]") + if(jobban_isbanned(src, JOB_ANTAGHUD)) + to_chat(src, span_filter_notice(span_red(span_bold("You have been banned from using this feature")))) return - if(config.antag_hud_restricted && !has_enabled_antagHUD && !client.holder) + if(CONFIG_GET(flag/antag_hud_restricted) && !has_enabled_antagHUD && !client.holder) var/response = tgui_alert(src, "If you turn this on, you will not be able to take any part in the round.","Are you sure you want to turn this feature on?",list("Yes","No")) - if(response == "No") return + if(response != "Yes") return can_reenter_corpse = FALSE set_respawn_timer(-1) // Foreeeever if(!has_enabled_antagHUD && !client.holder) @@ -338,7 +359,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp antagHUD = !antagHUD plane_holder.set_vis(VIS_CH_SPECIAL, antagHUD) - to_chat(src, "AntagHUD [antagHUD ? "Enabled" : "Disabled"]") + to_chat(src, span_boldnotice("AntagHUD [antagHUD ? "Enabled" : "Disabled"]")) /mob/observer/dead/proc/jumpable_areas() var/list/areas = return_sorted_areas() @@ -370,21 +391,19 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp /mob/observer/dead/verb/dead_tele(areaname as anything in jumpable_areas()) set name = "Teleport" - set category = "Ghost" + set category = "Ghost.Game" set desc = "Teleport to a location." if(!istype(usr, /mob/observer/dead)) - to_chat(usr, "Not when you're not dead!") + to_chat(usr, span_filter_notice("Not when you're not dead!")) return var/area/A - if(!areaname) - var/list/areas = jumpable_areas() - var/input = tgui_input_list(usr, "Select an area:", "Ghost Teleport", areas) - if(!input) - return - A = areas[input] + if(areaname) + A = return_sorted_areas()[areaname] + else + A = return_sorted_areas()[tgui_input_list(usr, "Select an area:", "Ghost Teleport", jumpable_areas())] if(!A) return @@ -392,12 +411,12 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp to_chat(usr, "Not when you're not dead!") return - usr.forceMove(pick(get_area_turfs(A || jumpable_areas()[areaname]))) + usr.forceMove(pick(get_area_turfs(A))) usr.on_mob_jump() /mob/observer/dead/verb/follow(mobname as anything in jumpable_mobs()) set name = "Follow" - set category = "Ghost" + set category = "Ghost.Game" set desc = "Follow and haunt a mob." if(!istype(usr, /mob/observer/dead)) @@ -426,11 +445,19 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp return ..() if(get_z(destination) in using_map?.secret_levels) - to_chat(src,SPAN_WARNING("Sorry, that z-level does not allow ghosts.")) + to_chat(src,span_warning("Sorry, that z-level does not allow ghosts.")) if(following) stop_following() return + //RS Port #658 Start + var/area/A = get_area(destination) + if(A.flag_check(AREA_BLOCK_GHOSTS)) + to_chat(src,span_warning("Sorry, that area does not allow ghosts.")) + if(following) + stop_following() + return + //RS Port #658 End return ..() /mob/observer/dead/Move(atom/newloc, direct = 0, movetime) @@ -438,7 +465,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp return ..() if(get_z(newloc) in using_map?.secret_levels) - to_chat(src,SPAN_WARNING("Sorry, that z-level does not allow ghosts.")) + to_chat(src,span_warning("Sorry, that z-level does not allow ghosts.")) if(following) stop_following() return @@ -452,10 +479,10 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp var/turf/targetloc = get_turf(target) if(check_holy(targetloc)) - to_chat(usr, "You cannot follow a mob standing on holy grounds!") + to_chat(usr, span_warning("You cannot follow a mob standing on holy grounds!")) return if(get_z(target) in using_map?.secret_levels) - to_chat(src, "Sorry, that target is in an area that ghosts aren't allowed to go.") + to_chat(src, span_warning("Sorry, that target is in an area that ghosts aren't allowed to go.")) return if(target != src) if(following && following == target) @@ -463,11 +490,11 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp if(following) src.stop_following() following = target - to_chat(src, "Now following [target]") + to_chat(src, span_notice("Now following [target]")) if(ismob(target)) var/target_turf = get_turf(target) if(!target_turf) - to_chat(usr, "This mob does not seem to exist in the tangible world.") + to_chat(usr, span_warning("This mob does not seem to exist in the tangible world.")) return forceMove(target_turf) var/mob/M = target @@ -571,7 +598,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp return (T && T.holy) && (is_manifest || (mind in cult.current_antagonists)) /mob/observer/dead/verb/jumptomob() //Moves the ghost instead of just changing the ghosts's eye -Nodrak - set category = "Ghost" + set category = "Ghost.Game" set name = "Jump to Mob" set desc = "Teleport to a mob" set popup_menu = FALSE @@ -595,22 +622,22 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp forceMove(T) stop_following() else - to_chat(src, "This mob is not located in the game world.") + to_chat(src, span_filter_notice("This mob is not located in the game world.")) /mob/observer/dead/memory() set hidden = 1 - to_chat(src, "[span_red("You are dead! You have no mind to store memory!")]") + to_chat(src, span_filter_notice(span_red("You are dead! You have no mind to store memory!"))) /mob/observer/dead/add_memory() set hidden = 1 - to_chat(src, "[span_red("You are dead! You have no mind to store memory!")]") + to_chat(src, span_filter_notice(span_red("You are dead! You have no mind to store memory!"))) /mob/observer/dead/Post_Incorpmove() stop_following() /mob/observer/dead/verb/analyze_air() set name = "Analyze Air" - set category = "Ghost" + set category = "Ghost.Game" if(!istype(usr, /mob/observer/dead)) return @@ -623,7 +650,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp var/pressure = environment.return_pressure() var/total_moles = environment.total_moles var/list/gas_analyzing = list() - gas_analyzing += "Results:" + gas_analyzing += span_bold("Results:") if(abs(pressure - ONE_ATMOSPHERE) < 10) gas_analyzing += "Pressure: [round(pressure,0.1)] kPa" else @@ -633,29 +660,29 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp gas_analyzing += "[gas_data.name[g]]: [round((environment.gas[g] / total_moles) * 100)]% ([round(environment.gas[g], 0.01)] moles)" gas_analyzing += "Temperature: [round(environment.temperature-T0C,0.1)]°C ([round(environment.temperature,0.1)]K)" gas_analyzing += "Heat Capacity: [round(environment.heat_capacity(),0.1)]" - to_chat(src, "[jointext(gas_analyzing, "
    ")]
    ") + to_chat(src, span_notice("[jointext(gas_analyzing, "
    ")]")) /mob/observer/dead/verb/check_radiation() set name = "Check Radiation" - set category = "Ghost" + set category = "Ghost.Game" var/turf/t = get_turf(src) if(t) var/rads = SSradiation.get_rads_at_turf(t) - to_chat(src, "Radiation level: [rads ? rads : "0"] Bq.") + to_chat(src, span_notice("Radiation level: [rads ? rads : "0"] Bq.")) /mob/observer/dead/verb/become_mouse() set name = "Become mouse" - set category = "Ghost" + set category = "Ghost.Join" - if(config.disable_player_mice) - to_chat(src, "Spawning as a mouse is currently disabled.") + if(CONFIG_GET(flag/disable_player_mice)) + to_chat(src, span_warning("Spawning as a mouse is currently disabled.")) return //VOREStation Add Start - if(jobban_isbanned(src, "GhostRoles")) - to_chat(src, "You cannot become a mouse because you are banned from playing ghost roles.") + if(jobban_isbanned(src, JOB_GHOSTROLES)) + to_chat(src, span_warning("You cannot become a mouse because you are banned from playing ghost roles.")) return //VOREStation Add End @@ -664,14 +691,14 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp var/turf/T = get_turf(src) if(!T || (T.z in using_map.admin_levels)) - to_chat(src, "You may not spawn as a mouse on this Z-level.") + to_chat(src, span_warning("You may not spawn as a mouse on this Z-level.")) return var/timedifference = world.time - client.time_died_as_mouse if(client.time_died_as_mouse && timedifference <= mouse_respawn_time * 600) var/timedifference_text timedifference_text = time2text(mouse_respawn_time * 600 - timedifference,"mm:ss") - to_chat(src, "You may only spawn again as a mouse more than [mouse_respawn_time] minutes after your death. You have [timedifference_text] left.") + to_chat(src, span_warning("You may only spawn again as a mouse more than [mouse_respawn_time] minutes after your death. You have [timedifference_text] left.")) return var/response = tgui_alert(src, "Are you -sure- you want to become a mouse?","Are you sure you want to squeek?",list("Squeek!","Nope!")) @@ -689,25 +716,22 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp vent_found = pick(found_vents) host = new /mob/living/simple_mob/animal/passive/mouse(vent_found) else - to_chat(src, "Unable to find any unwelded vents to spawn mice at.") + to_chat(src, span_warning("Unable to find any unwelded vents to spawn mice at.")) if(host) - if(config.uneducated_mice) + if(CONFIG_GET(flag/uneducated_mice)) host.universal_understand = 0 announce_ghost_joinleave(src, 0, "They are now a mouse.") host.ckey = src.ckey host.add_ventcrawl(vent_found) - to_chat(host, "You are now a mouse. Try to avoid interaction with players, and do not give hints away that you are more than a simple rodent.") + to_chat(host, span_info("You are now a mouse. Try to avoid interaction with players, and do not give hints away that you are more than a simple rodent.")) /mob/observer/dead/verb/view_manfiest() set name = "Show Crew Manifest" - set category = "Ghost" + set category = "Ghost.Game" - var/dat - dat += "

    Crew Manifest

    " - dat += data_core.get_manifest() - - src << browse(dat, "window=manifest;size=370x420;can_close=1") + var/datum/tgui_module/crew_manifest/self_deleting/S = new(src) + S.tgui_interact(src) //This is called when a ghost is drag clicked to something. /mob/observer/dead/MouseDrop(atom/over) @@ -721,12 +745,12 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp //Used for drawing on walls with blood puddles as a spooky ghost. /mob/observer/dead/verb/bloody_doodle() - set category = "Ghost" + set category = "Ghost.Game" set name = "Write in blood" set desc = "If the round is sufficiently spooky, write a short message in blood on the floor or a wall. Remember, no IC in OOC or OOC in IC." - if(!(config.cult_ghostwriter)) - to_chat(src, "[span_red("That verb is not currently permitted.")]") + if(!CONFIG_GET(flag/cult_ghostwriter)) + to_chat(src, span_filter_notice(span_red("That verb is not currently permitted."))) return if (!src.stat) @@ -737,11 +761,11 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp var/ghosts_can_write if(ticker.mode.name == "cult") - if(cult.current_antagonists.len > config.cult_ghostwriter_req_cultists) + if(cult.current_antagonists.len > CONFIG_GET(number/cult_ghostwriter_req_cultists)) ghosts_can_write = 1 if(!ghosts_can_write && !check_rights(R_ADMIN|R_EVENT|R_FUN, 0)) //Let's allow for admins to write in blood for events and the such. - to_chat(src, "[span_red("The veil is not thin enough for you to do that.")]") + to_chat(src, span_filter_notice(span_red("The veil is not thin enough for you to do that."))) return var/list/choices = list() @@ -750,7 +774,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp choices += B if(!choices.len) - to_chat(src, "There is no blood to use nearby.") + to_chat(src, span_warning("There is no blood to use nearby.")) return var/obj/effect/decal/cleanable/blood/choice = tgui_input_list(src, "What blood would you like to use?", "Blood Choice", choices) @@ -761,7 +785,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp T = get_step(T,text2dir(direction)) if (!istype(T)) - to_chat(src, "You cannot doodle there.") + to_chat(src, span_warning("You cannot doodle there.")) return if(!choice || choice.amount == 0 || !(src.Adjacent(choice))) @@ -773,7 +797,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp for (var/obj/effect/decal/cleanable/blood/writing/W in T) num_doodles++ if (num_doodles > 4) - to_chat(src, "There is no space to write on!") + to_chat(src, span_warning("There is no space to write on!")) return var/max_length = 50 @@ -784,37 +808,37 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp if (length(message) > max_length) message += "-" - to_chat(src, "You ran out of blood to write with!") + to_chat(src, span_warning("You ran out of blood to write with!")) var/obj/effect/decal/cleanable/blood/writing/W = new(T) W.basecolor = doodle_color W.update_icon() W.message = message W.add_hiddenprint(src) - W.visible_message("[span_red("Invisible fingers crudely paint something in blood on [T]...")]") + W.visible_message(span_filter_notice(span_red("Invisible fingers crudely paint something in blood on [T]..."))) /mob/observer/dead/pointed(atom/A as mob|obj|turf in view()) if(!..()) return 0 - usr.visible_message("[src] points to [A].") + usr.visible_message(span_deadsay(span_bold("[src]") + " points to [A].")) return 1 /mob/observer/dead/proc/manifest(mob/user) is_manifest = TRUE - verbs |= /mob/observer/dead/proc/toggle_visibility - verbs |= /mob/observer/dead/proc/ghost_whisper - to_chat(src, "[span_purple("As you are now in the realm of the living, you can whisper to the living with the Spectral Whisper verb, inside the IC tab.")]") + add_verb(src, /mob/observer/dead/proc/toggle_visibility) + add_verb(src, /mob/observer/dead/proc/ghost_whisper) + to_chat(src, span_filter_notice(span_purple("As you are now in the realm of the living, you can whisper to the living with the " + span_bold("Spectral Whisper") + " verb, inside the IC tab."))) if(plane != PLANE_WORLD) user.visible_message( \ - "\The [user] drags ghost, [src], to our plane of reality!", \ - "You drag [src] to our plane of reality!" \ + span_warning("\The [user] drags ghost, [src], to our plane of reality!"), \ + span_warning("You drag [src] to our plane of reality!") \ ) toggle_visibility(TRUE) else var/datum/gender/T = gender_datums[user.get_visible_gender()] user.visible_message ( \ - "\The [user] just tried to smash [T.his] book into that ghost! It's not very effective.", \ - "You get the feeling that the ghost can't become any more visible." \ + span_warning("\The [user] just tried to smash [T.his] book into that ghost! It's not very effective."), \ + span_warning("You get the feeling that the ghost can't become any more visible.") \ ) /mob/observer/dead/proc/toggle_icon(var/icon) @@ -832,20 +856,20 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp client.images += J /mob/observer/dead/proc/toggle_visibility(var/forced = 0) - set category = "Ghost" + set category = "Ghost.Settings" set name = "Toggle Visibility" set desc = "Allows you to turn (in)visible (almost) at will." var/toggled_invisible if(!forced && plane == PLANE_GHOSTS && world.time < toggled_invisible + 600) - to_chat(src, "You must gather strength before you can turn visible again...") + to_chat(src, span_filter_notice("You must gather strength before you can turn visible again...")) return if(plane == PLANE_WORLD) toggled_invisible = world.time - visible_message("It fades from sight...", "You are now invisible.") + visible_message(span_emote("It fades from sight..."), span_info("You are now invisible.")) else - to_chat(src, "You are now visible!") + to_chat(src, span_info("You are now visible!")) plane = (plane == PLANE_GHOSTS) ? PLANE_WORLD : PLANE_GHOSTS invisibility = (plane == PLANE_WORLD) ? 0 : INVISIBILITY_OBSERVER @@ -854,15 +878,15 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp toggle_icon("cult") /mob/observer/dead/verb/toggle_anonsay() - set category = "Ghost" + set category = "Ghost.Settings" set name = "Toggle Anonymous Chat" set desc = "Toggles showing your key in dead chat." src.anonsay = !src.anonsay if(anonsay) - to_chat(src, "Your key won't be shown when you speak in dead chat.") + to_chat(src, span_info("Your key won't be shown when you speak in dead chat.")) else - to_chat(src, "Your key will be publicly visible again.") + to_chat(src, span_info("Your key will be publicly visible again.")) /mob/observer/dead/canface() return 1 @@ -873,15 +897,15 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp /mob/observer/dead/verb/toggle_ghostsee() set name = "Toggle Ghost Vision" set desc = "Toggles your ability to see things only ghosts can see, like other ghosts" - set category = "Ghost" + set category = "Ghost.Settings" ghostvision = !ghostvision updateghostsight() - to_chat(src, "You [ghostvision ? "now" : "no longer"] have ghost vision.") + to_chat(src, span_filter_notice("You [ghostvision ? "now" : "no longer"] have ghost vision.")) /mob/observer/dead/verb/toggle_darkness() set name = "Toggle Darkness" set desc = "Toggles your ability to see lighting overlays, and the darkness they create." - set category = "Ghost" + set category = "Ghost.Settings" var/static/list/darkness_names = list("normal darkness levels", "30% darkness removed", "70% darkness removed", "no darkness") var/static/list/darkness_levels = list(255, 178, 76, 0) @@ -894,7 +918,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp lighting_alpha = darkness_levels[index] updateghostsight() - to_chat(src, "Your vision now has [darkness_names[index]].") + to_chat(src, span_filter_notice("Your vision now has [darkness_names[index]].")) /mob/observer/dead/proc/updateghostsight() plane_holder.set_desired_alpha(VIS_LIGHTING, lighting_alpha) @@ -906,11 +930,11 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp return 0 if(mind && mind.current && mind.current.stat != DEAD && can_reenter_corpse) if(feedback) - to_chat(src, "Your non-dead body prevent you from respawning.") + to_chat(src, span_warning("Your non-dead body prevent you from respawning.")) return 0 - if(config.antag_hud_restricted && has_enabled_antagHUD == 1) + if(CONFIG_GET(flag/antag_hud_restricted) && has_enabled_antagHUD == 1) if(feedback) - to_chat(src, "antagHUD restrictions prevent you from respawning.") + to_chat(src, span_warning("antagHUD restrictions prevent you from respawning.")) return 0 return 1 @@ -934,7 +958,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp /mob/observer/dead/proc/ghost_whisper() set name = "Spectral Whisper" - set category = "IC" + set category = "IC.Subtle" if(is_manifest) //Only able to whisper if it's hit with a tome. var/list/options = list() @@ -946,16 +970,16 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp var/msg = sanitize(tgui_input_text(src, "Message:", "Spectral Whisper")) if(msg) log_say("(SPECWHISP to [key_name(M)]): [msg]", src) - to_chat(M, " You hear a strange, unidentifiable voice in your head... [span_purple("[msg]")]") - to_chat(src, " You said: '[msg]' to [M].") + to_chat(M, span_warning(" You hear a strange, unidentifiable voice in your head... [span_purple("[msg]")]")) + to_chat(src, span_warning(" You said: '[msg]' to [M].")) else return return 1 else - to_chat(src, "You have not been pulled past the veil!") + to_chat(src, span_danger("You have not been pulled past the veil!")) /mob/observer/dead/verb/choose_ghost_sprite() - set category = "Ghost" + set category = "Ghost.Settings" set name = "Choose Sprite" var/choice @@ -979,7 +1003,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp ghost_sprite = possible_ghost_sprites[choice] - if(finalized == "No") + if(!finalized || finalized == "No") icon_state = previous_state /mob/observer/dead/is_blind() @@ -989,37 +1013,39 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp return FALSE /mob/observer/dead/verb/paialert() - set category = "Ghost" + set category = "Ghost.Message" set name = "Blank pAI alert" set desc = "Flash an indicator light on available blank pAI devices for a smidgen of hope." var/time_till_respawn = time_till_respawn() if(time_till_respawn == -1) // Special case, never allowed to respawn - to_chat(usr, "Respawning is not allowed!") + to_chat(usr, span_warning("Respawning is not allowed!")) else if(time_till_respawn) // Nonzero time to respawn - to_chat(usr, "You can't do that yet! You died too recently. You need to wait another [round(time_till_respawn/10/60, 0.1)] minutes.") + to_chat(usr, span_warning("You can't do that yet! You died too recently. You need to wait another [round(time_till_respawn/10/60, 0.1)] minutes.")) return if(jobban_isbanned(usr, "pAI")) - to_chat(usr,"You cannot alert pAI cards when you are banned from playing as a pAI.") + to_chat(usr,span_warning("You cannot alert pAI cards when you are banned from playing as a pAI.")) return if(usr.client.prefs?.be_special & BE_PAI) var/choice = tgui_alert(usr, "Would you like to submit yourself to the recruitment list too?", "Confirmation", list("No", "Yes")) + if(!choice) + return if(choice == "Yes") paiController.recruitWindow(usr) var/count = 0 - for(var/obj/item/device/paicard/p in GLOB.all_pai_cards) - var/obj/item/device/paicard/PP = p + for(var/obj/item/paicard/p in GLOB.all_pai_cards) + var/obj/item/paicard/PP = p if(PP.pai == null) count++ PP.add_overlay("pai-ghostalert") PP.alertUpdate() spawn(54) PP.cut_overlays() - to_chat(usr,"Flashing the displays of [count] unoccupied PAIs.") + to_chat(usr,span_notice("Flashing the displays of [count] unoccupied PAIs.")) else - to_chat(usr,"You have 'Be pAI' disabled in your character prefs, so we can't help you.") + to_chat(usr,span_warning("You have 'Be pAI' disabled in your character prefs, so we can't help you.")) /mob/observer/dead/speech_bubble_appearance() return "ghost" @@ -1034,14 +1060,14 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp if(flashwindow) window_flash(client) if(message) - to_chat(src, "[message]") + to_chat(src, span_ghostalert("[message]")) if(source) throw_alert("\ref[source]_notify_revive", /obj/screen/alert/notify_cloning, new_master = source) - to_chat(src, "(Click to re-enter)") + to_chat(src, span_ghostalert("(Click to re-enter)")) if(sound) SEND_SOUND(src, sound(sound)) /mob/observer/dead/verb/respawn() set name = "Respawn" - set category = "Ghost" + set category = "Ghost.Join" src.abandon_mob() diff --git a/code/modules/mob/dead/observer/observer_vr.dm b/code/modules/mob/dead/observer/observer_vr.dm index d138a0b1636..fad743e5c5d 100644 --- a/code/modules/mob/dead/observer/observer_vr.dm +++ b/code/modules/mob/dead/observer/observer_vr.dm @@ -1,5 +1,5 @@ /mob/observer/dead/verb/nifjoin() - set category = "Ghost" + set category = "Ghost.Join" set name = "Join Into Soulcatcher" set desc = "Select a player with a working NIF + Soulcatcher NIFSoft to join into it." @@ -11,39 +11,39 @@ //Good choice testing and some instance-grabbing if(!ishuman(picked)) - to_chat(src,"[picked] isn't in a humanoid mob at the moment.") + to_chat(src,span_warning("[picked] isn't in a humanoid mob at the moment.")) return var/mob/living/carbon/human/H = picked if(H.stat || !H.client) - to_chat(src,"[H] isn't awake/alive at the moment.") + to_chat(src,span_warning("[H] isn't awake/alive at the moment.")) return if(!H.nif) - to_chat(src,"[H] doesn't have a NIF installed.") + to_chat(src,span_warning("[H] doesn't have a NIF installed.")) return var/datum/nifsoft/soulcatcher/SC = H.nif.imp_check(NIF_SOULCATCHER) if(!SC) - to_chat(src,"[H] doesn't have the Soulcatcher NIFSoft installed, or their NIF is unpowered.") + to_chat(src,span_warning("[H] doesn't have the Soulcatcher NIFSoft installed, or their NIF is unpowered.")) return //Fine fine, we can ask. - var/obj/item/device/nif/nif = H.nif - to_chat(src,"Request sent to [H].") + var/obj/item/nif/nif = H.nif + to_chat(src,span_notice("Request sent to [H].")) var/req_time = world.time nif.notify("Transient mindstate detected, analyzing...") sleep(15) //So if they are typing they get interrupted by sound and message, and don't type over the box var/response = tgui_alert(H,"[src] ([src.key]) wants to join into your Soulcatcher.","Soulcatcher Request",list("Deny","Allow")) - if(response == "Deny") - to_chat(src,"[H] denied your request.") + if(!response || response == "Deny") + to_chat(src,span_warning("[H] denied your request.")) return if((world.time - req_time) > 1 MINUTES) - to_chat(H,"The request had already expired. (1 minute waiting max)") + to_chat(H,span_warning("The request had already expired. (1 minute waiting max)")) return //Final check since we waited for input a couple times. @@ -58,12 +58,12 @@ SC.catch_mob(src) //This will result in us being deleted so... /mob/observer/dead/verb/backup_ping() - set category = "Ghost" + set category = "Ghost.Join" set name = "Notify Transcore" set desc = "If your past-due backup notification was missed or ignored, you can use this to send a new one." if(!mind) - to_chat(src,"Your ghost is missing game values that allow this functionality, sorry.") + to_chat(src,span_warning("Your ghost is missing game values that allow this functionality, sorry.")) return var/datum/transcore_db/db = SStranscore.db_by_mind_name(mind.name) if(db) @@ -73,39 +73,39 @@ record.dead_state = MR_DEAD //Such as if you got scanned but didn't take an implant. It's a little funky, but I mean, you got scanned db.notify(record) //So you probably will want to let someone know if you die. record.last_notification = world.time - to_chat(src, "New notification has been sent.") + to_chat(src, span_notice("New notification has been sent.")) else - to_chat(src, "Your backup is not past-due yet.") + to_chat(src, span_warning("Your backup is not past-due yet.")) else if((world.time - record.last_notification) < 5 MINUTES) - to_chat(src, "Too little time has passed since your last notification.") + to_chat(src, span_warning("Too little time has passed since your last notification.")) else db.notify(record) record.last_notification = world.time - to_chat(src, "New notification has been sent.") + to_chat(src, span_notice("New notification has been sent.")) else - to_chat(src,"No backup record could be found, sorry.") + to_chat(src,span_warning("No backup record could be found, sorry.")) /* /mob/observer/dead/verb/backup_delay() - set category = "Ghost" + set category = "Ghost.Settings" set name = "Cancel Transcore Notification" set desc = "You can use this to avoid automatic backup notification happening. Manual notification can still be used." if(!mind) - to_chat(src,"Your ghost is missing game values that allow this functionality, sorry.") + to_chat(src,span_warning("Your ghost is missing game values that allow this functionality, sorry.")) return var/datum/transcore_db/db = SStranscore.db_by_mind_name(mind.name) if(db) var/datum/transhuman/mind_record/record = db.backed_up[src.mind.name] if(record.dead_state == MR_DEAD || !(record.do_notify)) - to_chat(src, "The notification has already happened or been delayed.") + to_chat(src, span_warning("The notification has already happened or been delayed.")) else record.do_notify = FALSE - to_chat(src, "Overdue mind backup notification delayed successfully.") + to_chat(src, span_notice("Overdue mind backup notification delayed successfully.")) else - to_chat(src,"No backup record could be found, sorry.") + to_chat(src,span_warning("No backup record could be found, sorry.")) */ /mob/observer/dead/verb/findghostpod() //Moves the ghost instead of just changing the ghosts's eye -Nodrak - set category = "Ghost" + set category = "Ghost.Join" set name = "Find Ghost Pod" set desc = "Find an active ghost pod" set popup_menu = FALSE @@ -115,7 +115,7 @@ var/input = tgui_input_list(usr, "Select a ghost pod:", "Ghost Jump", observe_list_format(active_ghost_pods)) if(!input) - to_chat(src, "No active ghost pods detected.") + to_chat(src, span_filter_notice("No active ghost pods detected.")) return var/target = observe_list_format(active_ghost_pods)[input] @@ -129,10 +129,10 @@ forceMove(T) stop_following() else - to_chat(src, "This ghost pod is not located in the game world.") + to_chat(src, span_filter_notice("This ghost pod is not located in the game world.")) /mob/observer/dead/verb/findautoresleever() - set category = "Ghost" + set category = "Ghost.Join" set name = "Find Auto Resleever" set desc = "Find a Auto Resleever" set popup_menu = FALSE @@ -150,11 +150,11 @@ var/obj/machinery/transhuman/autoresleever/thisone = pick(ar) if(!thisone) - to_chat(src, "There appears to be no auto-resleevers available.") + to_chat(src, span_warning("There appears to be no auto-resleevers available.")) return var/L = get_turf(thisone) if(!L) - to_chat(src, "There appears to be something wrong with this auto-resleever, try again.") + to_chat(src, span_warning("There appears to be something wrong with this auto-resleever, try again.")) return forceMove(L) diff --git a/code/modules/mob/dead/observer/say.dm b/code/modules/mob/dead/observer/say.dm index fa26cc707cf..0f0a2efaf9b 100644 --- a/code/modules/mob/dead/observer/say.dm +++ b/code/modules/mob/dead/observer/say.dm @@ -10,7 +10,7 @@ if(message) client.handle_spam_prevention(MUTE_DEADCHAT) if(client.prefs.muted & MUTE_DEADCHAT) - to_chat(src, "[span_red("You cannot talk in deadchat (muted).")]") + to_chat(src, span_filter_notice("[span_red("You cannot talk in deadchat (muted).")]")) return . = say_dead(message) @@ -26,7 +26,7 @@ if(message) client.handle_spam_prevention(MUTE_DEADCHAT) if(client.prefs.muted & MUTE_DEADCHAT) - to_chat(src, "[span_red("You cannot emote in deadchat (muted).")]") + to_chat(src, span_filter_notice("[span_red("You cannot emote in deadchat (muted).")]")) return . = emote_dead(message) diff --git a/code/modules/mob/death.dm b/code/modules/mob/death.dm index 7fbc7ca01ec..a222b81e680 100644 --- a/code/modules/mob/death.dm +++ b/code/modules/mob/death.dm @@ -72,11 +72,11 @@ if(stat == DEAD) return 0 SEND_SIGNAL(src, COMSIG_MOB_DEATH, gibbed) - if(src.loc && istype(loc,/obj/belly) || istype(loc,/obj/item/device/dogborg/sleeper)) deathmessage = "no message" //VOREStation Add - Prevents death messages from inside mobs + if(src.loc && istype(loc,/obj/belly) || istype(loc,/obj/item/dogborg/sleeper)) deathmessage = "no message" //VOREStation Add - Prevents death messages from inside mobs facing_dir = null if(!gibbed && deathmessage != DEATHGASP_NO_MESSAGE) - src.visible_message("\The [src.name] [deathmessage]") + src.visible_message(span_infoplain(span_bold("\The [src.name]") + " [deathmessage]")) set_stat(DEAD) diff --git a/code/modules/mob/emote.dm b/code/modules/mob/emote.dm index 712393fd211..218289215ae 100644 --- a/code/modules/mob/emote.dm +++ b/code/modules/mob/emote.dm @@ -8,16 +8,16 @@ /mob/proc/emote_dead(var/message) if(client.prefs.muted & MUTE_DEADCHAT) - to_chat(src, "You cannot send deadchat emotes (muted).") + to_chat(src, span_danger("You cannot send deadchat emotes (muted).")) return - if(!is_preference_enabled(/datum/client_preference/show_dsay)) - to_chat(src, "You have deadchat muted.") + if(!client?.prefs?.read_preference(/datum/preference/toggle/show_dsay)) + to_chat(src, span_danger("You have deadchat muted.")) return if(!src.client.holder) - if(!config.dsay_allowed) - to_chat(src, "Deadchat is globally muted.") + if(!CONFIG_GET(flag/dsay_allowed)) + to_chat(src, span_danger("Deadchat is globally muted.")) return @@ -32,6 +32,6 @@ if(input) log_ghostemote(input, src) if(!invisibility) //If the ghost is made visible by admins or cult. And to see if the ghost has toggled its own visibility, as well. -Mech - visible_message("[src] [input]") + visible_message(span_deadsay(span_bold("[src]") + " [input]")) else say_dead_direct(input, src) diff --git a/code/modules/mob/freelook/ai/eye.dm b/code/modules/mob/freelook/ai/eye.dm index fa3fb311f0e..679d02c37ca 100644 --- a/code/modules/mob/freelook/ai/eye.dm +++ b/code/modules/mob/freelook/ai/eye.dm @@ -10,7 +10,7 @@ /mob/observer/eye/aiEye/New() ..() visualnet = cameranet - + /mob/observer/eye/aiEye/Destroy() if(owner) var/mob/living/silicon/ai/ai = owner @@ -105,7 +105,7 @@ src.eyeobj.setLoc(src) /mob/living/silicon/ai/proc/toggle_acceleration() - set category = "AI Settings" + set category = "AI.Settings" set name = "Toggle Camera Acceleration" if(!eyeobj) diff --git a/code/modules/mob/hear_say.dm b/code/modules/mob/hear_say.dm index b0f04e62470..1ad8ceb73cd 100644 --- a/code/modules/mob/hear_say.dm +++ b/code/modules/mob/hear_say.dm @@ -40,7 +40,7 @@ //HTML formatting if(!SP.speaking) // Catch the most generic case first - piece = "[piece]" + piece = span_message(span_body(piece)) else if(radio) // SP.speaking == TRUE enforced by previous !SP.speaking piece = SP.speaking.format_message_radio(piece) else // SP.speaking == TRUE && radio == FALSE @@ -66,7 +66,7 @@ if(!client && !teleop) return FALSE - if(isobserver(src) && is_preference_enabled(/datum/client_preference/ghost_ears)) + if(isobserver(src) && client?.prefs?.read_preference(/datum/preference/toggle/ghost_ears)) if(speaker && !speaker.client && !(speaker in view(src))) //Does the speaker have a client? It's either random stuff that observers won't care about (Experiment 97B says, 'EHEHEHEHEHEHEHE') //Or someone snoring. So we make it where they won't hear it. @@ -99,7 +99,7 @@ return FALSE if(italics) - message = "[message]" + message = span_italics("[message]") message = encode_html_emphasis(message) @@ -108,19 +108,19 @@ if(speaker_name != speaker.real_name && speaker.real_name) speaker_name = "[speaker.real_name] ([speaker_name])" track = "([ghost_follow_link(speaker, src)]) " - if(is_preference_enabled(/datum/client_preference/ghost_ears) && (speaker in view(src))) - message = "[message]" + if(client?.prefs?.read_preference(/datum/preference/toggle/ghost_ears) && (speaker in view(src))) + message = span_bold("[message]") if(is_deaf()) if(speaker == src) - to_chat(src, "You cannot hear yourself speak!") + to_chat(src, span_filter_say(span_warning("You cannot hear yourself speak!"))) else - to_chat(src, "[speaker_name][speaker.GetAltName()] makes a noise, possibly speech, but you cannot hear them.") + to_chat(src, span_filter_say(span_name(speaker_name) + "[speaker.GetAltName()] makes a noise, possibly speech, but you cannot hear them.")) else var/message_to_send = null - message_to_send = "[speaker_name][speaker.GetAltName()] [track][message]" - if(check_mentioned(multilingual_to_message(message_pieces)) && is_preference_enabled(/datum/client_preference/check_mention)) - message_to_send = "[message_to_send]" + message_to_send = span_name(speaker_name) + "[speaker.GetAltName()] [track][message]" + if(check_mentioned(multilingual_to_message(message_pieces)) && client?.prefs?.read_preference(/datum/preference/toggle/check_mention)) + message_to_send = span_large(span_bold(message_to_send)) on_hear_say(message_to_send, speaker) create_chat_message(speaker, combined["raw"], italics, list()) @@ -142,32 +142,32 @@ if(client) if(client.prefs.chat_timestamp) message = "[time] [message]" - message = "[message]" + message = span_game(span_say(message)) if(speaker && !speaker.client) - message = "[message]" + message = span_npc_say(message) else if(speaker && !(get_z(src) == get_z(speaker))) - message = "[message]" + message = span_multizsay(message) to_chat(src, message) else if(teleop) - to_chat(teleop, "[create_text_tag("body", "BODY:", teleop.client)][message]") + to_chat(teleop, span_game(span_say("[create_text_tag("body", "BODY:", teleop.client)][message]"))) else - to_chat(src, "[message]") + to_chat(src, span_game(span_say(message))) /mob/living/silicon/on_hear_say(var/message, var/mob/speaker = null) var/time = say_timestamp() if(client) if(client.prefs.chat_timestamp) message = "[time] [message]" - message = "[message]" + message = span_game(span_say(message)) if(speaker && !speaker.client) - message = "[message]" + message = span_npc_say(message) else if(speaker && !(get_z(src) == get_z(speaker))) - message = "[message]" + message = span_multizsay(message) to_chat(src, message) else if(teleop) - to_chat(teleop, "[create_text_tag("body", "BODY:", teleop.client)][message]") + to_chat(teleop, span_game(span_say("[create_text_tag("body", "BODY:", teleop.client)][message]"))) else - to_chat(src, "[message]") + to_chat(src, span_game(span_say(message))) // Checks if the mob's own name is included inside message. Handles both first and last names. /mob/proc/check_mentioned(var/message) @@ -215,20 +215,20 @@ if((sdisabilities & DEAF) || ear_deaf) if(prob(20)) - to_chat(src, "You feel your headset vibrate but can hear nothing from it!") + to_chat(src, span_warning("You feel your headset vibrate but can hear nothing from it!")) else on_hear_radio(part_a, part_b, speaker_name, track, part_c, message, part_d, part_e) /proc/say_timestamp() - return "\[[time2text(world.timeofday, "hh:mm")]\]" + return span_say_quote("\[[time2text(world.timeofday, "hh:mm")]\]") /mob/proc/on_hear_radio(part_a, part_b, speaker_name, track, part_c, formatted, part_d, part_e) var/time = "" if(client.prefs.chat_timestamp) time = say_timestamp() var/final_message = "[part_b][speaker_name][part_c][formatted][part_d]" - if(check_mentioned(formatted) && is_preference_enabled(/datum/client_preference/check_mention)) - final_message = "[time][part_a][final_message][part_e]" + if(check_mentioned(formatted) && client?.prefs?.read_preference(/datum/preference/toggle/check_mention)) + final_message = "[time][part_a]" + span_large(span_bold("[final_message]")) + "[part_e]" else final_message = "[time][part_a][final_message][part_e]" to_chat(src, final_message) @@ -238,8 +238,8 @@ if(client.prefs.chat_timestamp) time = say_timestamp() var/final_message = "[part_b][track][part_c][formatted][part_d]" - if(check_mentioned(formatted) && is_preference_enabled(/datum/client_preference/check_mention)) - final_message = "[time][part_a][final_message][part_e]" + if(check_mentioned(formatted) && client?.prefs?.read_preference(/datum/preference/toggle/check_mention)) + final_message = "[time][part_a]" + span_large(span_bold("[final_message]")) + "[part_e]" else final_message = "[time][part_a][final_message][part_e]" to_chat(src, final_message) @@ -249,8 +249,8 @@ if(client.prefs.chat_timestamp) time = say_timestamp() var/final_message = "[part_b][speaker_name][part_c][formatted][part_d]" - if(check_mentioned(formatted) && is_preference_enabled(/datum/client_preference/check_mention)) - final_message = "[time][part_a][final_message][part_e]" + if(check_mentioned(formatted) && client?.prefs?.read_preference(/datum/preference/toggle/check_mention)) + final_message = "[time][part_a]" + span_large(span_bold("[final_message]")) + "[part_e]" else final_message = "[time][part_a][final_message][part_e]" to_chat(src, final_message) @@ -260,8 +260,8 @@ if(client.prefs.chat_timestamp) time = say_timestamp() var/final_message = "[part_b][track][part_c][formatted][part_d]" - if(check_mentioned(formatted) && is_preference_enabled(/datum/client_preference/check_mention)) - final_message = "[time][part_a][final_message][part_e]" + if(check_mentioned(formatted) && client?.prefs?.read_preference(/datum/preference/toggle/check_mention)) + final_message = "[time][part_a]" + span_large(span_bold("[final_message]")) + "[part_e]" else final_message = "[time][part_a][final_message][part_e]" to_chat(src, final_message) @@ -271,7 +271,7 @@ return if(say_understands(speaker, language)) - message = "[speaker] [verb_understood], \"[message]\"" + message = span_game(span_say(span_bold("[speaker]") + " [verb_understood], \"[message]\"")) else if(!(language.ignore_adverb)) var/adverb var/length = length(message) * pick(0.8, 0.9, 1.0, 1.1, 1.2) //Adds a little bit of fuzziness @@ -281,9 +281,9 @@ if(30 to 48) adverb = " a message" if(48 to 90) adverb = " a lengthy message" else adverb = " a very lengthy message" - message = "[speaker] [verb][adverb]." + message = span_game(span_say(span_bold("[speaker]") + " [verb][adverb].")) else - message = "[speaker] [verb]." + message = span_game(span_say(span_bold("[speaker]") + " [verb].")) show_message(message, type = speech_type) // Type 1 is visual message @@ -298,10 +298,10 @@ heardword = copytext(heardword,2) if(copytext(heardword,-1) in punctuation) heardword = copytext(heardword,1,length(heardword)) - heard = "...You hear something about...[heardword]" + heard = span_game(span_say("...You hear something about...[heardword]")) else - heard = "...You almost hear someone talking..." + heard = span_game(span_say("..." + span_italics("You almost hear someone talking") + "...")) to_chat(src, heard) @@ -334,14 +334,14 @@ if(!say_understands(speaker)) name = speaker.voice_name - var/rendered = "[name] [message]" + var/rendered = span_game(span_say(span_name(name) + " [message]")) if(!speaker.client) - rendered = "[rendered]" + rendered = span_npc_say(rendered) else if(istype(speaker, /mob/living/silicon/ai)) var/mob/living/silicon/ai/source = speaker if(!(get_z(src) == get_z(source.holo))) - rendered = "[rendered]" + rendered = span_multizsay(rendered) else if(!(get_z(src) == get_z(speaker))) - rendered = "[rendered]" + rendered = span_multizsay(rendered) to_chat(src, rendered) diff --git a/code/modules/mob/holder.dm b/code/modules/mob/holder.dm index 0607862b449..a9327c3ff8d 100644 --- a/code/modules/mob/holder.dm +++ b/code/modules/mob/holder.dm @@ -1,7 +1,7 @@ var/list/holder_mob_icon_cache = list() //Helper object for picking dionaea (and other creatures) up. -/obj/item/weapon/holder +/obj/item/holder name = "holder" desc = "You shouldn't ever see this." icon = 'icons/obj/objects.dmi' @@ -25,14 +25,49 @@ var/list/holder_mob_icon_cache = list() var/matrix/original_transform var/original_vis_flags = NONE -/obj/item/weapon/holder/Initialize(mapload, mob/held) +/obj/item/holder/Initialize(mapload, mob/held) ASSERT(ismob(held)) . = ..() held.forceMove(src) held.reset_view(src) START_PROCESSING(SSobj, src) -/obj/item/weapon/holder/Entered(mob/held, atom/OldLoc) +/mob/living/get_status_tab_items() + . = ..() + if(. && istype(loc, /obj/item/holder)) + var/location = "" + var/obj/item/holder/H = loc + if(ishuman(H.loc)) + var/mob/living/carbon/human/HH = H.loc + if(HH.l_hand == H) + location = "[HH]'s left hand" + else if(HH.r_hand == H) + location = "[HH]'s right hand" + else if(HH.r_store == H || HH.l_store == H) + location = "[HH]'s pocket" + else if(HH.head == H) + location = "[HH]'s head" + else if(HH.shoes == H) + location = "[HH]'s feet" + else + location = "[HH]" + else if(ismob(H.loc)) + var/mob/living/M = H.loc + if(M.l_hand == H) + location = "[M]'s left hand" + else if(M.r_hand == H) + location = "[M]'s right hand" + else + location = "[M]" + else if(ismob(H.loc.loc)) + location = "[H.loc.loc]'s [H.loc]" + else + location = "[H.loc]" + if (location != "") + . += "" + . += "Location: [location]" + +/obj/item/holder/Entered(mob/held, atom/OldLoc) if(held_mob) held.forceMove(get_turf(src)) held.reset_view(null) @@ -47,7 +82,7 @@ var/list/holder_mob_icon_cache = list() original_transform = held.transform held.transform = null -/obj/item/weapon/holder/Exited(atom/movable/thing, atom/OldLoc) +/obj/item/holder/Exited(atom/movable/thing, atom/OldLoc) if(thing == held_mob) held_mob.transform = original_transform held_mob.update_transform() //VOREStation edit @@ -55,7 +90,7 @@ var/list/holder_mob_icon_cache = list() held_mob = null ..() -/obj/item/weapon/holder/Destroy() +/obj/item/holder/Destroy() STOP_PROCESSING(SSobj, src) if(held_mob) dump_mob() @@ -64,11 +99,11 @@ var/list/holder_mob_icon_cache = list() M.drop_from_inventory(src, get_turf(src)) return ..() -/obj/item/weapon/holder/process() +/obj/item/holder/process() if(held_mob?.loc != src || isturf(loc)) qdel(src) -/obj/item/weapon/holder/proc/dump_mob() +/obj/item/holder/proc/dump_mob() if(!held_mob) return if (held_mob.loc == src || isnull(held_mob.loc)) //VOREStation edit @@ -80,7 +115,7 @@ var/list/holder_mob_icon_cache = list() held_mob = null invisibility = INVISIBILITY_ABSTRACT //VOREStation edit -/obj/item/weapon/holder/throw_at(atom/target, range, speed, thrower) +/obj/item/holder/throw_at(atom/target, range, speed, thrower) if(held_mob) var/mob/localref = held_mob dump_mob() @@ -91,56 +126,56 @@ var/list/holder_mob_icon_cache = list() var/mob_range = round(range * min(thrower_mob_size / localref.mob_size, 1)) localref.throw_at(target, mob_range, speed, thrower) -/obj/item/weapon/holder/GetID() +/obj/item/holder/GetID() return held_mob?.GetIdCard() -/obj/item/weapon/holder/GetAccess() +/obj/item/holder/GetAccess() var/obj/item/I = GetID() return I?.GetAccess() || ..() -/obj/item/weapon/holder/container_resist(mob/living/held) +/obj/item/holder/container_resist(mob/living/held) if(ismob(loc)) var/mob/M = loc M.drop_from_inventory(src) // If it's another item, we can just continue existing, or if it's a turf we'll qdel() in Moved() - to_chat(M, "\The [held] wriggles out of your grip!") - to_chat(held, "You wiggle out of [M]'s grip!") + to_chat(M, span_warning("\The [held] wriggles out of your grip!")) + to_chat(held, span_warning("You wiggle out of [M]'s grip!")) else if(istype(loc, /obj/item/clothing/accessory/holster)) var/obj/item/clothing/accessory/holster/holster = loc if(holster.holstered == src) holster.clear_holster() - to_chat(held, "You extricate yourself from [holster].") + to_chat(held, span_warning("You extricate yourself from [holster].")) forceMove(get_turf(src)) held.reset_view(null) else if(isitem(loc)) var/obj/item/I = loc - to_chat(held, "You struggle free of [loc].") + to_chat(held, span_warning("You struggle free of [loc].")) forceMove(get_turf(src)) held.reset_view(null) if(istype(I)) I.on_holder_escape(src) //Mob specific holders. -/obj/item/weapon/holder/diona +/obj/item/holder/diona origin_tech = list(TECH_MAGNET = 3, TECH_BIO = 5) slot_flags = SLOT_HEAD | SLOT_OCLOTHING | SLOT_HOLSTER item_state = "diona" -/obj/item/weapon/holder/drone +/obj/item/holder/drone origin_tech = list(TECH_MAGNET = 3, TECH_ENGINEERING = 5) item_state = "repairbot" -/obj/item/weapon/holder/drone/swarm +/obj/item/holder/drone/swarm origin_tech = list(TECH_MAGNET = 6, TECH_ENGINEERING = 7, TECH_PRECURSOR = 2, TECH_ARCANE = 1) item_state = "constructiondrone" -/obj/item/weapon/holder/pai +/obj/item/holder/pai origin_tech = list(TECH_DATA = 2) -/obj/item/weapon/holder/pai/Initialize(mapload, mob/held) +/obj/item/holder/pai/Initialize(mapload, mob/held) . = ..() item_state = held.icon_state -/obj/item/weapon/holder/mouse +/obj/item/holder/mouse name = "mouse" desc = "It's a small rodent." item_state = "mouse_gray" @@ -148,144 +183,144 @@ var/list/holder_mob_icon_cache = list() origin_tech = list(TECH_BIO = 2) w_class = ITEMSIZE_TINY -/obj/item/weapon/holder/mouse/white +/obj/item/holder/mouse/white item_state = "mouse_white" -/obj/item/weapon/holder/mouse/gray +/obj/item/holder/mouse/gray item_state = "mouse_gray" -/obj/item/weapon/holder/mouse/brown +/obj/item/holder/mouse/brown item_state = "mouse_brown" -/obj/item/weapon/holder/mouse/black +/obj/item/holder/mouse/black item_state = "mouse_black" -/obj/item/weapon/holder/mouse/operative +/obj/item/holder/mouse/operative item_state = "mouse_operative" -/obj/item/weapon/holder/mouse/rat +/obj/item/holder/mouse/rat item_state = "mouse_rat" -/obj/item/weapon/holder/possum +/obj/item/holder/possum origin_tech = list(TECH_BIO = 2) item_state = "possum" -/obj/item/weapon/holder/possum/poppy +/obj/item/holder/possum/poppy origin_tech = list(TECH_BIO = 2, TECH_ENGINEERING = 4) item_state = "poppy" -/obj/item/weapon/holder/cat +/obj/item/holder/cat origin_tech = list(TECH_BIO = 2) item_state = "cat" -/obj/item/weapon/holder/cat/runtime +/obj/item/holder/cat/runtime -/obj/item/weapon/holder/fennec +/obj/item/holder/fennec origin_tech = list(TECH_BIO = 2) -/obj/item/weapon/holder/cat/runtime +/obj/item/holder/cat/runtime origin_tech = list(TECH_BIO = 2, TECH_DATA = 4) -/obj/item/weapon/holder/cat/cak +/obj/item/holder/cat/cak origin_tech = list(TECH_BIO = 2) item_state = "cak" -/obj/item/weapon/holder/cat/bluespace +/obj/item/holder/cat/bluespace origin_tech = list(TECH_BIO = 2, TECH_BLUESPACE = 6) item_state = "bscat" -/obj/item/weapon/holder/cat/spacecat +/obj/item/holder/cat/spacecat origin_tech = list(TECH_BIO = 2, TECH_MATERIAL = 4) item_state = "spacecat" -/obj/item/weapon/holder/cat/original +/obj/item/holder/cat/original origin_tech = list(TECH_BIO = 2, TECH_BLUESPACE = 4) item_state = "original" -/obj/item/weapon/holder/cat/breadcat +/obj/item/holder/cat/breadcat origin_tech = list(TECH_BIO = 2) item_state = "breadcat" -/obj/item/weapon/holder/corgi +/obj/item/holder/corgi origin_tech = list(TECH_BIO = 2) item_state = "corgi" -/obj/item/weapon/holder/lisa +/obj/item/holder/lisa origin_tech = list(TECH_BIO = 2) item_state = "lisa" -/obj/item/weapon/holder/old_corgi +/obj/item/holder/old_corgi origin_tech = list(TECH_BIO = 2) item_state = "old_corgi" -/obj/item/weapon/holder/void_puppy +/obj/item/holder/void_puppy origin_tech = list(TECH_BIO = 2, TECH_BLUESPACE = 3) item_state = "void_puppy" -/obj/item/weapon/holder/narsian +/obj/item/holder/narsian origin_tech = list(TECH_BIO = 2, TECH_ILLEGAL = 3) item_state = "narsian" -/obj/item/weapon/holder/bullterrier +/obj/item/holder/bullterrier origin_tech = list(TECH_BIO = 2) item_state = "bullterrier" -/obj/item/weapon/holder/fox +/obj/item/holder/fox origin_tech = list(TECH_BIO = 2) item_state = "fox" -/obj/item/weapon/holder/pug +/obj/item/holder/pug origin_tech = list(TECH_BIO = 2) item_state = "pug" -/obj/item/weapon/holder/sloth +/obj/item/holder/sloth origin_tech = list(TECH_BIO = 2) item_state = "sloth" -/obj/item/weapon/holder/borer +/obj/item/holder/borer origin_tech = list(TECH_BIO = 6) item_state = "brainslug" -/obj/item/weapon/holder/leech +/obj/item/holder/leech color = "#003366" origin_tech = list(TECH_BIO = 5, TECH_PHORON = 2) -/obj/item/weapon/holder/cat/fluff/tabiranth +/obj/item/holder/cat/fluff/tabiranth name = "Spirit" desc = "A small, inquisitive feline, who constantly seems to investigate his surroundings." gender = MALE icon_state = "kitten" w_class = ITEMSIZE_SMALL -/obj/item/weapon/holder/cat/kitten +/obj/item/holder/cat/kitten icon_state = "kitten" w_class = ITEMSIZE_SMALL -/obj/item/weapon/holder/cat/fluff/bones +/obj/item/holder/cat/fluff/bones name = "Bones" desc = "It's Bones! Meow." gender = MALE icon_state = "cat3" -/obj/item/weapon/holder/bird +/obj/item/holder/bird name = "bird" desc = "It's a bird!" icon_state = null item_icons = null w_class = ITEMSIZE_SMALL -/obj/item/weapon/holder/bird/Initialize() +/obj/item/holder/bird/Initialize() . = ..() held_mob?.lay_down() -/obj/item/weapon/holder/fish +/obj/item/holder/fish attack_verb = list("fished", "disrespected", "smacked", "smackereled") hitsound = 'sound/effects/slime_squish.ogg' slot_flags = SLOT_HOLSTER origin_tech = list(TECH_BIO = 3) -/obj/item/weapon/holder/fish/afterattack(var/atom/target, var/mob/living/user, proximity) +/obj/item/holder/fish/afterattack(var/atom/target, var/mob/living/user, proximity) if(!target) return if(!proximity) @@ -295,7 +330,7 @@ var/list/holder_mob_icon_cache = list() if(prob(10)) L.Stun(2) -/obj/item/weapon/holder/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/item/holder/attackby(obj/item/W as obj, mob/user as mob) for(var/mob/M in src.contents) M.attackby(W,user) @@ -330,28 +365,51 @@ var/list/holder_mob_icon_cache = list() return //end YW edit - var/obj/item/weapon/holder/H = new holder_type(get_turf(src), src) + var/obj/item/holder/H = new holder_type(get_turf(src), src) grabber.put_in_hands(H) if(self_grab) - to_chat(grabber, "\The [src] clambers onto you!") - to_chat(src, "You climb up onto \the [grabber]!") + to_chat(grabber, span_notice("\The [src] clambers onto you!")) + to_chat(src, span_notice("You climb up onto \the [grabber]!")) grabber.equip_to_slot_if_possible(H, slot_back, 0, 1) else - to_chat(grabber, "You scoop up \the [src]!") - to_chat(src, "\The [grabber] scoops you up!") + to_chat(grabber, span_notice("You scoop up \the [src]!")) + to_chat(src, span_notice("\The [grabber] scoops you up!")) add_attack_logs(grabber, H.held_mob, "Scooped up", FALSE) // Not important enough to notify admins, but still helpful. return H -/obj/item/weapon/holder/human +/obj/item/holder/human icon = 'icons/mob/holder_complex_yw.dmi' //YW Edit - yw complex var/list/generate_for_slots = list(slot_l_hand_str, slot_r_hand_str, slot_back_str) item_icons = list(slot_l_hand_str = 'icons/mob/holder_complex_yw.dmi', slot_r_hand_str = 'icons/mob/holder_complex_yw.dmi') //YW Add - holder slot_flags = SLOT_BACK +/obj/item/holder/proc/sync(var/mob/living/M) + dir = 2 + overlays.Cut() + if(M.item_state) + item_state = M.item_state + color = M.color + name = M.name + desc = M.desc + overlays |= M.overlays + +/obj/item/holder/protoblob + slot_flags = SLOT_HEAD | SLOT_OCLOTHING | SLOT_HOLSTER | SLOT_ICLOTHING | SLOT_ID | SLOT_EARS + w_class = ITEMSIZE_TINY + allowed = list(/obj/item/gun,/obj/item/flashlight,/obj/item/tank,/obj/item/suit_cooling_unit,/obj/item/melee/baton) + item_icons = list( + slot_l_hand_str = 'icons/mob/lefthand_holder.dmi', + slot_r_hand_str = 'icons/mob/righthand_holder.dmi', + slot_head_str = 'icons/mob/head.dmi', + slot_w_uniform_str = 'icons/mob/uniform.dmi', + slot_wear_suit_str = 'icons/mob/suit.dmi', + slot_r_ear_str = 'icons/mob/ears.dmi', + slot_l_ear_str = 'icons/mob/ears.dmi') + //YW Addition Start - Holder code for tesh -/obj/item/weapon/holder/human/Initialize(mapload, mob/held) +/obj/item/holder/human/Initialize(mapload, mob/held) . = ..() // Generate appropriate on-mob icons. var/mob/living/carbon/human/owner = held diff --git a/code/modules/mob/inventory.dm b/code/modules/mob/inventory.dm index c9015d36d92..41defb12b33 100644 --- a/code/modules/mob/inventory.dm +++ b/code/modules/mob/inventory.dm @@ -19,7 +19,7 @@ var/list/slot_equipment_priority = list( \ ) /mob - var/obj/item/weapon/storage/s_active = null // Even ghosts can/should be able to peek into boxes on the ground + var/obj/item/storage/s_active = null // Even ghosts can/should be able to peek into boxes on the ground //This proc is called whenever someone clicks an inventory ui slot. /mob/proc/attack_ui(var/slot) @@ -208,12 +208,6 @@ var/list/slot_equipment_priority = list( \ /mob/proc/temporarilyRemoveItemFromInventory(obj/item/I, force = FALSE, idrop = TRUE) return u_equip(I, force, null, TRUE, idrop) -///sometimes we only want to grant the item's action if it's equipped in a specific slot. -/obj/item/proc/item_action_slot_check(slot, mob/user) - if(slot == SLOT_BACK || slot == LEGS) //these aren't true slots, so avoid granting actions there - return FALSE - return TRUE - ///Get the item on the mob in the storage slot identified by the id passed in /mob/proc/get_item_by_slot(slot_id) return null diff --git a/code/modules/mob/language/language.dm b/code/modules/mob/language/language.dm index d7a8d11481d..a41f45ef356 100644 --- a/code/modules/mob/language/language.dm +++ b/code/modules/mob/language/language.dm @@ -115,7 +115,7 @@ return scrambled_text /datum/language/proc/format_message(message, verb) - return "[message]" + return span_message("[message]") /datum/language/proc/format_message_plain(message, verb) return "[capitalize(message)]" @@ -130,7 +130,7 @@ /datum/language/proc/broadcast(var/mob/living/speaker,var/message,var/speaker_mask) log_say("(HIVE) [message]", speaker) - speaker.verbs |= /mob/proc/adjust_hive_range + add_verb(speaker, /mob/proc/adjust_hive_range) if(!speaker_mask) speaker_mask = speaker.real_name message = "[get_spoken_verb(message)], \"[format_message(message, get_spoken_verb(message))]\"" @@ -154,7 +154,7 @@ /mob/proc/hear_broadcast(var/datum/language/language, var/mob/speaker, var/speaker_name, var/message) if((language in languages) && language.check_special_condition(src)) - var/msg = span_hivemind("[language.name], [speaker_name] [message]") + var/msg = span_hivemind("[language.name], " + span_name("[speaker_name]") + " [message]") to_chat(src,msg) /mob/new_player/hear_broadcast(var/datum/language/language, var/mob/speaker, var/speaker_name, var/message) @@ -162,9 +162,9 @@ /mob/observer/dead/hear_broadcast(var/datum/language/language, var/mob/speaker, var/speaker_name, var/message) if(speaker.name == speaker_name || antagHUD) - to_chat(src, span_hivemind("[language.name], [speaker_name] ([ghost_follow_link(speaker, src)]) [message]")) + to_chat(src, span_hivemind("[language.name], " + span_name("[speaker_name]") + " ([ghost_follow_link(speaker, src)]) [message]")) else - to_chat(src, span_hivemind("[language.name], [speaker_name] [message]")) + to_chat(src, span_hivemind("[language.name], " + span_name("[speaker_name]") + " [message]")) /datum/language/proc/check_special_condition(var/mob/other) return 1 @@ -205,7 +205,7 @@ languages.Add(new_language) //VOREStation Addition Start if(new_language.flags & HIVEMIND) - verbs |= /mob/proc/adjust_hive_range + add_verb(src, /mob/proc/adjust_hive_range) //VOREStation Addition End return 1 @@ -250,13 +250,13 @@ if(client && client.prefs.language_prefixes && client.prefs.language_prefixes.len) return client.prefs.language_prefixes[1] - return config.language_prefixes[1] + return CONFIG_GET(str_list/language_prefixes)[1] /mob/proc/is_language_prefix(var/prefix) if(client && client.prefs.language_prefixes && client.prefs.language_prefixes.len) return prefix in client.prefs.language_prefixes - return prefix in config.language_prefixes + return prefix in CONFIG_GET(str_list/language_prefixes) //TBD /mob/proc/check_lang_data() @@ -265,7 +265,7 @@ for(var/datum/language/L in languages) if(!(L.flags & NONGLOBAL)) var/lang_key = get_custom_prefix_by_lang(src, L) - . += "[L.name] ([get_language_prefix()][L.key][lang_key ? " [get_language_prefix()][lang_key]" : ""])
    [L.desc]

    " + . += span_bold("[L.name] ([get_language_prefix()][L.key][lang_key ? " [get_language_prefix()][lang_key]" : ""])") + "
    [L.desc]

    " /mob/living/check_lang_data() . = "" @@ -277,15 +277,15 @@ if(!(L.flags & NONGLOBAL)) var/lang_key = get_custom_prefix_by_lang(src, L) if(L == default_language) - . += "[L.name] ([get_language_prefix()][L.key][lang_key ? " [get_language_prefix()][lang_key]" : ""]) Edit Custom Key - default - reset
    [L.desc]

    " + . += span_bold("[L.name] ([get_language_prefix()][L.key][lang_key ? " [get_language_prefix()][lang_key]" : ""])") + " Edit Custom Key - default - reset
    [L.desc]

    " else if (can_speak(L)) - . += "[L.name] ([get_language_prefix()][L.key][lang_key ? " [get_language_prefix()][lang_key]" : ""]) Edit Custom Key - set default
    [L.desc]

    " + . += span_bold("[L.name] ([get_language_prefix()][L.key][lang_key ? " [get_language_prefix()][lang_key]" : ""])") + " Edit Custom Key - set default
    [L.desc]

    " else - . += "[L.name] ([get_language_prefix()][L.key][lang_key ? " [get_language_prefix()][lang_key]" : ""]) Edit Custom Key - cannot speak!
    [L.desc]

    " + . += span_bold("[L.name] ([get_language_prefix()][L.key][lang_key ? " [get_language_prefix()][lang_key]" : ""])") + " Edit Custom Key - cannot speak!
    [L.desc]

    " /mob/verb/check_languages() set name = "Check Known Languages" - set category = "IC" + set category = "IC.Game" set src = usr var/datum/browser/popup = new(src, "checklanguage", "Known Languages", 420, 470) @@ -296,13 +296,13 @@ if(href_list["default_lang"]) if(href_list["default_lang"] == "reset") if (species_language) - set_default_language(GLOB.all_languages[species_language]) + apply_default_language(GLOB.all_languages[species_language]) else - set_default_language(GLOB.all_languages[LANGUAGE_GIBBERISH]) + apply_default_language(GLOB.all_languages[LANGUAGE_GIBBERISH]) else var/datum/language/L = locate(href_list["default_lang"]) if(L && (L in languages)) - set_default_language(L) + apply_default_language(L) check_languages() return 1 else if(href_list["set_lang_key"]) diff --git a/code/modules/mob/language/snowflake.dm b/code/modules/mob/language/snowflake.dm index 7c8160c5c1b..9524fb638cc 100644 --- a/code/modules/mob/language/snowflake.dm +++ b/code/modules/mob/language/snowflake.dm @@ -4,7 +4,7 @@ /mob/proc/adjust_hive_range() set name = "Adjust Special Language Range" set desc = "Changes the range you will transmit your hive language to!" - set category = "IC" + set category = "IC.Settings" var/option = tgui_alert(src, "What range?", "Adjust special language range", list("Global","This Z level","Local", "Subtle")) diff --git a/code/modules/mob/language/synthetic.dm b/code/modules/mob/language/synthetic.dm index 6a4ccd494d4..73684681db6 100644 --- a/code/modules/mob/language/synthetic.dm +++ b/code/modules/mob/language/synthetic.dm @@ -20,27 +20,27 @@ message = encode_html_emphasis(message) - var/message_start = "[name], [speaker.name]" - var/message_body = "[speaker.say_quote(message)], \"[message]\"" + var/message_start = "[name], " + span_name("[speaker.name]") + var/message_body = span_message("[speaker.say_quote(message)], \"[message]\"") for (var/mob/M in dead_mob_list) if(!istype(M,/mob/new_player) && !istype(M,/mob/living/carbon/brain)) //No meta-evesdropping - var/message_to_send = span_binary("[message_start] ([ghost_follow_link(speaker, M)]) [message_body]") - if(M.check_mentioned(message) && M.is_preference_enabled(/datum/client_preference/check_mention)) - message_to_send = "[message_to_send]" + var/message_to_send = span_binarysay("[message_start] ([ghost_follow_link(speaker, M)]) [message_body]") + if(M.check_mentioned(message) && M.client?.prefs?.read_preference(/datum/preference/toggle/check_mention)) + message_to_send = span_large(span_bold("[message_to_send]")) M.show_message(message_to_send, 2) for (var/mob/living/S in living_mob_list) if(drone_only && !istype(S,/mob/living/silicon/robot/drone)) continue else if(istype(S , /mob/living/silicon/ai)) - message_start = span_binary("[name], [speaker.name]") + message_start = span_binarysay("[name], " + span_name("[speaker.name]") + "") else if (!S.binarycheck()) continue - var/message_to_send = span_binary("[message_start] [message_body]") - if(S.check_mentioned(message) && S.is_preference_enabled(/datum/client_preference/check_mention)) - message_to_send = "[message_to_send]" + var/message_to_send = span_binarysay("[message_start] [message_body]") + if(S.check_mentioned(message) && S.client?.prefs?.read_preference(/datum/preference/toggle/check_mention)) + message_to_send = span_large(span_bold("[message_to_send]")) S.show_message(message_to_send, 2) var/list/listening = hearers(1, src) @@ -49,7 +49,7 @@ for (var/mob/living/M in listening) if(istype(M, /mob/living/silicon) || M.binarycheck()) continue - M.show_message("synthesised voice beeps, \"beep beep beep\"",2) + M.show_message(span_binarysay(span_name("synthesised voice") + " " + span_message("beeps, \"beep beep beep\"")),2) //robot binary xmitter component power usage if (isrobot(speaker)) diff --git a/code/modules/mob/living/autohiss.dm b/code/modules/mob/living/autohiss.dm index 2675ddd9f16..594b20a4866 100644 --- a/code/modules/mob/living/autohiss.dm +++ b/code/modules/mob/living/autohiss.dm @@ -20,7 +20,7 @@ /client/verb/toggle_autohiss() set name = "Toggle Auto-Hiss" set desc = "Toggle automatic hissing as Unathi and r-rolling as Taj" - set category = "OOC" + set category = "OOC.Game Settings" autohiss_mode = (autohiss_mode + 1) % AUTOHISS_NUM switch(autohiss_mode) diff --git a/code/modules/mob/living/bot/SLed209bot.dm b/code/modules/mob/living/bot/SLed209bot.dm index a32a88973e8..2c1a8c9a554 100644 --- a/code/modules/mob/living/bot/SLed209bot.dm +++ b/code/modules/mob/living/bot/SLed209bot.dm @@ -15,7 +15,7 @@ mob_swap_flags = ~HEAVY mob_push_flags = HEAVY - used_weapon = /obj/item/weapon/gun/energy/taser/xeno + used_weapon = /obj/item/gun/energy/taser/xeno stun_strength = 10 xeno_harm_strength = 9 @@ -57,7 +57,7 @@ // Assembly -/obj/item/weapon/secbot_assembly/ed209_assembly/slime +/obj/item/secbot_assembly/ed209_assembly/slime name = "SL-ED-209 assembly" desc = "Some sort of bizarre assembly." icon = 'icons/obj/aibots.dmi' @@ -65,8 +65,8 @@ item_state = "buildpipe" created_name = "SL-ED-209 Security Robot" -/obj/item/weapon/secbot_assembly/ed209_assembly/slime/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) // Here in the event it's added into a PoI or some such. Standard construction relies on the standard ED up until taser. - if(istype(W, /obj/item/weapon/pen)) +/obj/item/secbot_assembly/ed209_assembly/slime/attackby(var/obj/item/W as obj, var/mob/user as mob) // Here in the event it's added into a PoI or some such. Standard construction relies on the standard ED up until taser. + if(istype(W, /obj/item/pen)) var/t = sanitizeSafe(tgui_input_text(user, "Enter new robot name", name, created_name, MAX_NAME_LEN), MAX_NAME_LEN) if(!t) return @@ -81,7 +81,7 @@ user.drop_item() qdel(W) build_step++ - to_chat(user, "You add the robot leg to [src].") + to_chat(user, span_notice("You add the robot leg to [src].")) name = "legs/frame assembly" if(build_step == 1) icon_state = "ed209_leg" @@ -93,24 +93,24 @@ user.drop_item() qdel(W) build_step++ - to_chat(user, "You add the armor to [src].") + to_chat(user, span_notice("You add the armor to [src].")) name = "vest/legs/frame assembly" item_state = "ed209_shell" icon_state = "ed209_shell" if(3) if(W.has_tool_quality(TOOL_WELDER)) - var/obj/item/weapon/weldingtool/WT = W.get_welder() + var/obj/item/weldingtool/WT = W.get_welder() if(WT.remove_fuel(0, user)) build_step++ name = "shielded frame assembly" - to_chat(user, "You welded the vest to [src].") + to_chat(user, span_notice("You welded the vest to [src].")) if(4) if(istype(W, /obj/item/clothing/head/helmet)) user.drop_item() qdel(W) build_step++ - to_chat(user, "You add the helmet to [src].") + to_chat(user, span_notice("You add the helmet to [src].")) name = "covered and shielded frame assembly" item_state = "ed209_hat" icon_state = "ed209_hat" @@ -120,7 +120,7 @@ user.drop_item() qdel(W) build_step++ - to_chat(user, "You add the prox sensor to [src].") + to_chat(user, span_notice("You add the prox sensor to [src].")) name = "covered, shielded and sensored frame assembly" item_state = "ed209_prox" icon_state = "ed209_prox" @@ -129,23 +129,23 @@ if(istype(W, /obj/item/stack/cable_coil)) var/obj/item/stack/cable_coil/C = W if (C.get_amount() < 1) - to_chat(user, "You need one coil of wire to wire [src].") + to_chat(user, span_warning("You need one coil of wire to wire [src].")) return - to_chat(user, "You start to wire [src].") + to_chat(user, span_notice("You start to wire [src].")) if(do_after(user, 40) && build_step == 6) if(C.use(1)) build_step++ - to_chat(user, "You wire the ED-209 assembly.") + to_chat(user, span_notice("You wire the ED-209 assembly.")) name = "wired ED-209 assembly" return if(7) - if(istype(W, /obj/item/weapon/gun/energy/taser/xeno)) + if(istype(W, /obj/item/gun/energy/taser/xeno)) name = "xenotaser SL-ED-209 assembly" item_state = "sled209_taser" icon_state = "sled209_taser" build_step++ - to_chat(user, "You add [W] to [src].") + to_chat(user, span_notice("You add [W] to [src].")) user.drop_item() qdel(W) @@ -153,21 +153,20 @@ if(W.has_tool_quality(TOOL_SCREWDRIVER)) playsound(src, W.usesound, 100, 1) var/turf/T = get_turf(user) - to_chat(user, "Now attaching the gun to the frame...") + to_chat(user, span_notice("Now attaching the gun to the frame...")) sleep(40) if(get_turf(user) == T && build_step == 8) build_step++ name = "armed [name]" - to_chat(user, "Taser gun attached.") + to_chat(user, span_notice("Taser gun attached.")) if(9) - if(istype(W, /obj/item/weapon/cell)) + if(istype(W, /obj/item/cell)) build_step++ - to_chat(user, "You complete the ED-209.") + to_chat(user, span_notice("You complete the ED-209.")) var/turf/T = get_turf(src) new /mob/living/bot/secbot/ed209/slime(T,created_name,lasercolor) user.drop_item() qdel(W) user.drop_from_inventory(src) qdel(src) - diff --git a/code/modules/mob/living/bot/bot.dm b/code/modules/mob/living/bot/bot.dm index 307f2de2047..41844ed5f8b 100644 --- a/code/modules/mob/living/bot/bot.dm +++ b/code/modules/mob/living/bot/bot.dm @@ -9,7 +9,7 @@ makes_dirt = FALSE // No more dirt from Beepsky - var/obj/item/weapon/card/id/botcard = null + var/obj/item/card/id/botcard = null var/list/botcard_access = list() var/on = 1 var/open = 0 @@ -17,7 +17,7 @@ var/emagged = 0 var/light_strength = 3 var/busy = 0 - var/obj/item/device/paicard/paicard = null + var/obj/item/paicard/paicard = null var/obj/access_scanner = null var/list/req_access = list() var/list/req_one_access = list() @@ -41,13 +41,15 @@ var/frustration = 0 var/max_frustration = 0 + allow_mind_transfer = TRUE + /mob/living/bot/New() ..() //update_icons() //VOREstation edit: moved to Init //default_language = GLOB.all_languages[LANGUAGE_GALCOM] //VOREstation edit: moved to Init - botcard = new /obj/item/weapon/card/id(src) + botcard = new /obj/item/card/id(src) botcard.access = botcard_access.Copy() access_scanner = new /obj(src) @@ -113,23 +115,23 @@ if(O.GetID()) if(access_scanner.allowed(user) && !open) locked = !locked - to_chat(user, "Controls are now [locked ? "locked." : "unlocked."]") + to_chat(user, span_notice("Controls are now [locked ? "locked." : "unlocked."]")) attack_hand(user) if(emagged) - to_chat(user, "ERROR! SYSTEMS COMPROMISED!") + to_chat(user, span_warning("ERROR! SYSTEMS COMPROMISED!")) else if(open) - to_chat(user, "Please close the access panel before locking it.") + to_chat(user, span_warning("Please close the access panel before locking it.")) else - to_chat(user, "Access denied.") + to_chat(user, span_warning("Access denied.")) return else if(O.has_tool_quality(TOOL_SCREWDRIVER)) if(!locked) open = !open - to_chat(user, "Maintenance panel is now [open ? "opened" : "closed"].") + to_chat(user, span_notice("Maintenance panel is now [open ? "opened" : "closed"].")) playsound(src, O.usesound, 50, 1) else - to_chat(user, "You need to unlock the controls first.") + to_chat(user, span_notice("You need to unlock the controls first.")) return else if(O.has_tool_quality(TOOL_WELDER)) if(health < getMaxHealth()) @@ -143,21 +145,21 @@ else fireloss = fireloss - 10 updatehealth() - user.visible_message("[user] repairs [src].","You repair [src].") + user.visible_message(span_notice("[user] repairs [src]."),span_notice("You repair [src].")) playsound(src, O.usesound, 50, 1) else - to_chat(user, "Unable to repair with the maintenance panel closed.") + to_chat(user, span_notice("Unable to repair with the maintenance panel closed.")) else - to_chat(user, "[src] does not need a repair.") + to_chat(user, span_notice("[src] does not need a repair.")) return - else if(istype(O, /obj/item/device/assembly/prox_sensor) && emagged) + else if(istype(O, /obj/item/assembly/prox_sensor) && emagged) if(open) - to_chat(user, "You repair the bot's systems.") + to_chat(user, span_notice("You repair the bot's systems.")) emagged = 0 qdel(O) else - to_chat(user, "Unable to repair with the maintenance panel closed.") - else if(istype(O, /obj/item/device/paicard)) + to_chat(user, span_notice("Unable to repair with the maintenance panel closed.")) + else if(istype(O, /obj/item/paicard)) if(open) insertpai(user, O) to_chat(user, span_notice("You slot the card into \the [initial(src.name)].")) @@ -413,7 +415,7 @@ // Returns the surrounding cardinal turfs with open links // Including through doors openable with the ID -/turf/proc/CardinalTurfsWithAccess(var/obj/item/weapon/card/id/ID) +/turf/proc/CardinalTurfsWithAccess(var/obj/item/card/id/ID) var/L[] = new() // for(var/turf/simulated/t in oview(src,1)) @@ -427,7 +429,7 @@ // Similar to above but not restricted to just cardinal directions. -/turf/proc/TurfsWithAccess(var/obj/item/weapon/card/id/ID) +/turf/proc/TurfsWithAccess(var/obj/item/card/id/ID) var/L[] = new() for(var/d in alldirs) @@ -440,7 +442,7 @@ // Returns true if a link between A and B is blocked // Movement through doors allowed if ID has access -/proc/LinkBlockedWithAccess(turf/A, turf/B, obj/item/weapon/card/id/ID) +/proc/LinkBlockedWithAccess(turf/A, turf/B, obj/item/card/id/ID) if(A == null || B == null) return 1 var/adir = get_dir(A,B) @@ -469,7 +471,7 @@ // Returns true if direction is blocked from loc // Checks doors against access with given ID -/proc/DirBlockedWithAccess(turf/loc,var/dir,var/obj/item/weapon/card/id/ID) +/proc/DirBlockedWithAccess(turf/loc,var/dir,var/obj/item/card/id/ID) for(var/obj/structure/window/D in loc) if(!D.density) continue if(D.dir == SOUTHWEST) return 1 @@ -499,7 +501,7 @@ canmove = on return canmove -/mob/living/bot/proc/insertpai(mob/user, obj/item/device/paicard/card) +/mob/living/bot/proc/insertpai(mob/user, obj/item/paicard/card) //var/obj/item/paicard/card = I var/mob/living/silicon/pai/AI = card.pai if(paicard) @@ -522,8 +524,8 @@ ooc_notes_likes = AI.ooc_notes_likes ooc_notes_dislikes = AI.ooc_notes_dislikes to_chat(src, span_notice("You feel a tingle in your circuits as your systems interface with \the [initial(src.name)].")) - if(AI.idcard.access) - botcard.access |= AI.idcard.access + if(AI.idcard.GetAccess()) + botcard.access |= AI.idcard.GetAccess() /mob/living/bot/proc/ejectpai(mob/user) if(paicard) @@ -560,13 +562,13 @@ /mob/living/bot/Login() no_vore = FALSE // ROBOT VORE init_vore() // ROBOT VORE - verbs |= /mob/proc/insidePanel + add_verb(src, /mob/proc/insidePanel) return ..() /mob/living/bot/Logout() release_vore_contents() - verbs -= /mob/proc/insidePanel + remove_verb(src, /mob/proc/insidePanel) no_vore = TRUE devourable = FALSE feeding = FALSE diff --git a/code/modules/mob/living/bot/cleanbot.dm b/code/modules/mob/living/bot/cleanbot.dm index 7c9870a79ca..fdaea498df2 100644 --- a/code/modules/mob/living/bot/cleanbot.dm +++ b/code/modules/mob/living/bot/cleanbot.dm @@ -154,11 +154,11 @@ /mob/living/bot/cleanbot/explode() on = 0 - visible_message("[src] blows apart!") + visible_message(span_danger("[src] blows apart!")) var/turf/Tsec = get_turf(src) - new /obj/item/weapon/reagent_containers/glass/bucket(Tsec) - new /obj/item/device/assembly/prox_sensor(Tsec) + new /obj/item/reagent_containers/glass/bucket(Tsec) + new /obj/item/assembly/prox_sensor(Tsec) if(prob(50)) new /obj/item/robot_parts/l_arm(Tsec) @@ -201,8 +201,8 @@ /mob/living/bot/cleanbot/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state) if(..()) return TRUE - usr.set_machine(src) - add_fingerprint(usr) + ui.user.set_machine(src) + add_fingerprint(ui.user) switch(action) if("start") if(on) @@ -222,18 +222,18 @@ . = TRUE if("wet_floors") wet_floors = !wet_floors - to_chat(usr, "You twiddle the screw.") + to_chat(ui.user, span_notice("You twiddle the screw.")) . = TRUE if("spray_blood") spray_blood = !spray_blood - to_chat(usr, "You press the weird button.") + to_chat(ui.user, span_notice("You press the weird button.")) . = TRUE /mob/living/bot/cleanbot/emag_act(var/remaining_uses, var/mob/user) . = ..() if(!wet_floors || !spray_blood) if(user) - to_chat(user, "The [src] buzzes and beeps.") + to_chat(user, span_notice("The [src] buzzes and beeps.")) playsound(src, 'sound/machines/buzzbeep.ogg', 50, 0) spray_blood = 1 wet_floors = 1 @@ -244,7 +244,7 @@ /* Assembly */ -/obj/item/weapon/bucket_sensor +/obj/item/bucket_sensor desc = "It's a bucket. With a sensor attached." name = "proxy bucket" icon = 'icons/obj/aibots.dmi' @@ -256,7 +256,7 @@ w_class = ITEMSIZE_NORMAL var/created_name = "Cleanbot" -/obj/item/weapon/bucket_sensor/attackby(var/obj/item/W, var/mob/user) +/obj/item/bucket_sensor/attackby(var/obj/item/W, var/mob/user) ..() if(istype(W, /obj/item/robot_parts/l_arm) || istype(W, /obj/item/robot_parts/r_arm) || (istype(W, /obj/item/organ/external/arm) && ((W.name == "robotic left arm") || (W.name == "robotic right arm")))) user.drop_item() @@ -264,14 +264,14 @@ var/turf/T = get_turf(loc) var/mob/living/bot/cleanbot/A = new /mob/living/bot/cleanbot(T) A.name = created_name - to_chat(user, "You add the robot arm to the bucket and sensor assembly. Beep boop!") + to_chat(user, span_notice("You add the robot arm to the bucket and sensor assembly. Beep boop!")) user.drop_from_inventory(src) qdel(src) - else if(istype(W, /obj/item/weapon/pen)) + else if(istype(W, /obj/item/pen)) var/t = sanitizeSafe(tgui_input_text(user, "Enter new robot name", name, created_name, MAX_NAME_LEN), MAX_NAME_LEN) if(!t) return - if(!in_range(src, usr) && src.loc != usr) + if(!in_range(src, user) && src.loc != user) return created_name = t diff --git a/code/modules/mob/living/bot/ed209bot.dm b/code/modules/mob/living/bot/ed209bot.dm index bca6624512e..fcf683aff05 100644 --- a/code/modules/mob/living/bot/ed209bot.dm +++ b/code/modules/mob/living/bot/ed209bot.dm @@ -15,7 +15,7 @@ mob_swap_flags = ~HEAVY mob_push_flags = HEAVY - used_weapon = /obj/item/weapon/gun/energy/taser + used_weapon = /obj/item/gun/energy/taser var/shot_delay = 4 var/last_shot = 0 @@ -27,12 +27,12 @@ icon_state = "ed209[on]" /mob/living/bot/secbot/ed209/explode() - visible_message("[src] blows apart!") + visible_message(span_warning("[src] blows apart!")) var/turf/Tsec = get_turf(src) - new /obj/item/weapon/secbot_assembly/ed209_assembly(Tsec) + new /obj/item/secbot_assembly/ed209_assembly(Tsec) - var/obj/item/weapon/gun/energy/taser/G = new used_weapon(Tsec) + var/obj/item/gun/energy/taser/G = new used_weapon(Tsec) G.power_supply.charge = 0 if(prob(50)) new /obj/item/robot_parts/l_leg(Tsec) @@ -74,7 +74,7 @@ // Assembly -/obj/item/weapon/secbot_assembly/ed209_assembly +/obj/item/secbot_assembly/ed209_assembly name = "ED-209 assembly" desc = "Some sort of bizarre assembly." icon = 'icons/obj/aibots.dmi' @@ -83,10 +83,10 @@ created_name = "ED-209 Security Robot" var/lasercolor = "" -/obj/item/weapon/secbot_assembly/ed209_assembly/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) +/obj/item/secbot_assembly/ed209_assembly/attackby(var/obj/item/W as obj, var/mob/user as mob) ..() - if(istype(W, /obj/item/weapon/pen)) + if(istype(W, /obj/item/pen)) var/t = sanitizeSafe(tgui_input_text(user, "Enter new robot name", name, created_name, MAX_NAME_LEN), MAX_NAME_LEN) if(!t) return @@ -101,7 +101,7 @@ user.drop_item() qdel(W) build_step++ - to_chat(user, "You add the robot leg to [src].") + to_chat(user, span_notice("You add the robot leg to [src].")) name = "legs/frame assembly" if(build_step == 1) icon_state = "ed209_leg" @@ -113,24 +113,24 @@ user.drop_item() qdel(W) build_step++ - to_chat(user, "You add the armor to [src].") + to_chat(user, span_notice("You add the armor to [src].")) name = "vest/legs/frame assembly" item_state = "ed209_shell" icon_state = "ed209_shell" if(3) if(W.has_tool_quality(TOOL_WELDER)) - var/obj/item/weapon/weldingtool/WT = W.get_welder() + var/obj/item/weldingtool/WT = W.get_welder() if(WT.remove_fuel(0, user)) build_step++ name = "shielded frame assembly" - to_chat(user, "You welded the vest to [src].") + to_chat(user, span_notice("You welded the vest to [src].")) if(4) if(istype(W, /obj/item/clothing/head/helmet)) user.drop_item() qdel(W) build_step++ - to_chat(user, "You add the helmet to [src].") + to_chat(user, span_notice("You add the helmet to [src].")) name = "covered and shielded frame assembly" item_state = "ed209_hat" icon_state = "ed209_hat" @@ -140,7 +140,7 @@ user.drop_item() qdel(W) build_step++ - to_chat(user, "You add the prox sensor to [src].") + to_chat(user, span_notice("You add the prox sensor to [src].")) name = "covered, shielded and sensored frame assembly" item_state = "ed209_prox" icon_state = "ed209_prox" @@ -149,27 +149,27 @@ if(istype(W, /obj/item/stack/cable_coil)) var/obj/item/stack/cable_coil/C = W if (C.get_amount() < 1) - to_chat(user, "You need one coil of wire to wire [src].") + to_chat(user, span_warning("You need one coil of wire to wire [src].")) return - to_chat(user, "You start to wire [src].") + to_chat(user, span_notice("You start to wire [src].")) if(do_after(user, 40) && build_step == 6) if(C.use(1)) build_step++ - to_chat(user, "You wire the ED-209 assembly.") + to_chat(user, span_notice("You wire the ED-209 assembly.")) name = "wired ED-209 assembly" return if(7) - if(istype(W, /obj/item/weapon/gun/energy/taser/xeno)) + if(istype(W, /obj/item/gun/energy/taser/xeno)) name = "xenotaser SL-ED-209 assembly" item_state = "sled209_taser" icon_state = "sled209_taser" build_step++ - to_chat(user, "You add [W] to [src].") + to_chat(user, span_notice("You add [W] to [src].")) user.drop_item() qdel(W) var/turf/T = get_turf(src) - var/obj/item/weapon/secbot_assembly/ed209_assembly/slime/S = new /obj/item/weapon/secbot_assembly/ed209_assembly/slime(T) + var/obj/item/secbot_assembly/ed209_assembly/slime/S = new /obj/item/secbot_assembly/ed209_assembly/slime(T) S.name = name S.item_state = item_state S.icon_state = icon_state @@ -178,12 +178,12 @@ user.drop_from_inventory(src) qdel(src) - else if(istype(W, /obj/item/weapon/gun/energy/taser)) + else if(istype(W, /obj/item/gun/energy/taser)) name = "taser ED-209 assembly" item_state = "ed209_taser" icon_state = "ed209_taser" build_step++ - to_chat(user, "You add [W] to [src].") + to_chat(user, span_notice("You add [W] to [src].")) user.drop_item() qdel(W) @@ -191,17 +191,17 @@ if(W.has_tool_quality(TOOL_SCREWDRIVER)) playsound(src, W.usesound, 100, 1) var/turf/T = get_turf(user) - to_chat(user, "Now attaching the gun to the frame...") + to_chat(user, span_notice("Now attaching the gun to the frame...")) sleep(40) if(get_turf(user) == T && build_step == 8) build_step++ name = "armed [name]" - to_chat(user, "Taser gun attached.") + to_chat(user, span_notice("Taser gun attached.")) if(9) - if(istype(W, /obj/item/weapon/cell)) + if(istype(W, /obj/item/cell)) build_step++ - to_chat(user, "You complete the ED-209.") + to_chat(user, span_notice("You complete the ED-209.")) var/turf/T = get_turf(src) var/mob/living/bot/secbot/ed209/S = new /mob/living/bot/secbot/ed209(T) S.name = created_name diff --git a/code/modules/mob/living/bot/edCLNbot.dm b/code/modules/mob/living/bot/edCLNbot.dm index 0d976fef89f..1aaeb0bbe4c 100644 --- a/code/modules/mob/living/bot/edCLNbot.dm +++ b/code/modules/mob/living/bot/edCLNbot.dm @@ -38,13 +38,13 @@ if(!red_switch && blue_switch && !green_switch && prob(50) || src.emagged) if(istype(loc, /turf/simulated)) var/turf/simulated/T = loc - visible_message("\The [src] squirts a puddle of water on the floor!") + visible_message(span_infoplain(span_bold("\The [src]") + " squirts a puddle of water on the floor!")) T.wet_floor() if(!red_switch && !blue_switch && green_switch && prob(10) || src.emagged) if(istype(loc, /turf/simulated)) var/turf/simulated/T = loc - visible_message("\The [src] stomps on \the [T], breaking it!") + visible_message(span_warning("\The [src] stomps on \the [T], breaking it!")) qdel(T) if(red_switch && blue_switch && green_switch && prob(1)) @@ -52,19 +52,19 @@ /mob/living/bot/cleanbot/edCLN/explode() on = 0 - visible_message("[src] blows apart!") + visible_message(span_danger("[src] blows apart!")) var/turf/Tsec = get_turf(src) - new /obj/item/weapon/secbot_assembly/ed209_assembly(Tsec) + new /obj/item/secbot_assembly/ed209_assembly(Tsec) if(prob(50)) new /obj/item/robot_parts/l_leg(Tsec) if(prob(50)) new /obj/item/robot_parts/r_leg(Tsec) if(prob(50)) if(prob(50)) - new /obj/item/weapon/reagent_containers/glass/bucket(Tsec) + new /obj/item/reagent_containers/glass/bucket(Tsec) else - new /obj/item/device/assembly/prox_sensor(Tsec) + new /obj/item/assembly/prox_sensor(Tsec) var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread s.set_up(3, 1, src) @@ -87,29 +87,29 @@ switch(action) if("red_switch") red_switch = !red_switch - to_chat(usr, "You flip the red switch [red_switch ? "on" : "off"].") + to_chat(ui.user, span_notice("You flip the red switch [red_switch ? "on" : "off"].")) . = TRUE if("green_switch") green_switch = !green_switch - to_chat(usr, "You flip the green switch [green_switch ? "on" : "off"].") + to_chat(ui.user, span_notice("You flip the green switch [green_switch ? "on" : "off"].")) . = TRUE if("blue_switch") blue_switch = !blue_switch - to_chat(usr, "You flip the blue switch [blue_switch ? "on" : "off"].") + to_chat(ui.user, span_notice("You flip the blue switch [blue_switch ? "on" : "off"].")) . = TRUE /mob/living/bot/cleanbot/edCLN/emag_act(var/remaining_uses, var/mob/user) . = ..() if(!emagged) if(user) - to_chat(user, "The [src] buzzes and beeps.") + to_chat(user, span_notice("The [src] buzzes and beeps.")) playsound(src, 'sound/machines/buzzbeep.ogg', 50, 0) emagged = 1 return 1 // Assembly -/obj/item/weapon/secbot_assembly/edCLN_assembly +/obj/item/secbot_assembly/edCLN_assembly name = "ED-CLN assembly" desc = "Some sort of bizarre assembly." icon = 'icons/obj/aibots.dmi' @@ -117,14 +117,14 @@ item_state = "buildpipe" created_name = "ED-CLN Security Robot" -/obj/item/weapon/secbot_assembly/edCLN_assembly/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) +/obj/item/secbot_assembly/edCLN_assembly/attackby(var/obj/item/W as obj, var/mob/user as mob) ..() - if(istype(W, /obj/item/weapon/pen)) + if(istype(W, /obj/item/pen)) var/t = sanitizeSafe(tgui_input_text(user, "Enter new robot name", name, created_name, MAX_NAME_LEN), MAX_NAME_LEN) if(!t) return - if(!in_range(src, usr) && src.loc != usr) + if(!in_range(src, user) && src.loc != user) return created_name = t return @@ -135,7 +135,7 @@ user.drop_item() qdel(W) build_step++ - to_chat(user, "You add \the [W] to \the [src].") + to_chat(user, span_notice("You add \the [W] to \the [src].")) name = "legs/frame assembly" if(build_step == 1) icon_state = "ed209_leg" @@ -143,28 +143,28 @@ icon_state = "ed209_legs" if(2) - if(istype(W, /obj/item/weapon/reagent_containers/glass/bucket)) + if(istype(W, /obj/item/reagent_containers/glass/bucket)) user.drop_item() qdel(W) build_step++ - to_chat(user, "You add \the [W] to \the [src].") + to_chat(user, span_notice("You add \the [W] to \the [src].")) name = "bucket/legs/frame assembly" item_state = "edCLN_bucket" icon_state = "edCLN_bucket" if(3) if(W.has_tool_quality(TOOL_WELDER)) - var/obj/item/weapon/weldingtool/WT = W.get_welder() + var/obj/item/weldingtool/WT = W.get_welder() if(WT.remove_fuel(0, user)) build_step++ name = "bucketed frame assembly" - to_chat(user, "You welded the bucket to \the [src].") + to_chat(user, span_notice("You welded the bucket to \the [src].")) if(4) if(isprox(W)) user.drop_item() qdel(W) build_step++ - to_chat(user, "You add \the [W] to \the [src].") + to_chat(user, span_notice("You add \the [W] to \the [src].")) name = "proximity bucket ED assembly" item_state = "edCLN_prox" icon_state = "edCLN_prox" @@ -173,21 +173,21 @@ if(istype(W, /obj/item/stack/cable_coil)) var/obj/item/stack/cable_coil/C = W if (C.get_amount() < 1) - to_chat(user, "You need one coil of wire to wire \the [src].") + to_chat(user, span_warning("You need one coil of wire to wire \the [src].")) return - to_chat(user, "You start to wire \the [src].") + to_chat(user, span_notice("You start to wire \the [src].")) if(do_after(user, 40)) if(C.use(1)) build_step++ - to_chat(user, "You wire the ED-CLN assembly.") + to_chat(user, span_notice("You wire the ED-CLN assembly.")) name = "wired ED-CLN assembly" return if(6) - if(istype(W, /obj/item/weapon/mop)) + if(istype(W, /obj/item/mop)) name = "mop ED-CLN assembly" build_step++ - to_chat(user, "You add \the [W] to \the [src].") + to_chat(user, span_notice("You add \the [W] to \the [src].")) item_state = "edCLN_mop" icon_state = "edCLN_mop" user.drop_item() @@ -197,16 +197,16 @@ if(W.has_tool_quality(TOOL_SCREWDRIVER)) playsound(src, W.usesound, 100, 1) var/turf/T = get_turf(user) - to_chat(user, "Attatching the mop to the frame...") + to_chat(user, span_notice("Attatching the mop to the frame...")) if(do_after(user, 40) && get_turf(user) == T) build_step++ name = "mopped ED-CLN assembly" - to_chat(user, "Mop attached.") + to_chat(user, span_notice("Mop attached.")) if(8) - if(istype(W, /obj/item/weapon/cell)) + if(istype(W, /obj/item/cell)) build_step++ - to_chat(user, "You complete the ED-CLN.") + to_chat(user, span_notice("You complete the ED-CLN.")) var/turf/T = get_turf(src) var/mob/living/bot/cleanbot/edCLN/S = new /mob/living/bot/cleanbot/edCLN(T) S.name = created_name diff --git a/code/modules/mob/living/bot/farmbot.dm b/code/modules/mob/living/bot/farmbot.dm index 396c42fb435..edf17d09957 100644 --- a/code/modules/mob/living/bot/farmbot.dm +++ b/code/modules/mob/living/bot/farmbot.dm @@ -74,9 +74,9 @@ . = ..() if(!emagged) if(user) - to_chat(user, "You short out [src]'s plant identifier circuits.") + to_chat(user, span_notice("You short out [src]'s plant identifier circuits.")) spawn(rand(30, 50)) - visible_message("[src] buzzes oddly.") + visible_message(span_warning("[src] buzzes oddly.")) emagged = 1 return 1 @@ -84,11 +84,11 @@ if(..()) return TRUE - add_fingerprint(usr) + add_fingerprint(ui.user) switch(action) if("power") - if(!access_scanner.allowed(usr)) + if(!access_scanner.allowed(ui.user)) return FALSE if(on) turn_off() @@ -189,40 +189,40 @@ if(FARMBOT_COLLECT) action = "water" // Needs a better one update_icons() - visible_message("[src] starts [T.dead? "removing the plant from" : "harvesting"] \the [A].") + visible_message(span_notice("[src] starts [T.dead? "removing the plant from" : "harvesting"] \the [A].")) busy = 1 if(do_after(src, 30, A)) - visible_message("[src] [T.dead? "removes the plant from" : "harvests"] \the [A].") + visible_message(span_notice("[src] [T.dead? "removes the plant from" : "harvests"] \the [A].")) T.attack_hand(src) if(FARMBOT_WATER) action = "water" update_icons() - visible_message("[src] starts watering \the [A].") + visible_message(span_notice("[src] starts watering \the [A].")) busy = 1 if(do_after(src, 30, A)) playsound(src, 'sound/effects/slosh.ogg', 25, 1) - visible_message("[src] waters \the [A].") + visible_message(span_notice("[src] waters \the [A].")) tank.reagents.trans_to(T, 100 - T.waterlevel) if(FARMBOT_UPROOT) action = "hoe" update_icons() - visible_message("[src] starts uprooting the weeds in \the [A].") + visible_message(span_notice("[src] starts uprooting the weeds in \the [A].")) busy = 1 if(do_after(src, 30)) - visible_message("[src] uproots the weeds in \the [A].") + visible_message(span_notice("[src] uproots the weeds in \the [A].")) T.weedlevel = 0 if(FARMBOT_NUTRIMENT) action = "fertile" update_icons() - visible_message("[src] starts fertilizing \the [A].") + visible_message(span_notice("[src] starts fertilizing \the [A].")) busy = 1 if(do_after(src, 30, A)) - visible_message("[src] fertilizes \the [A].") + visible_message(span_notice("[src] fertilizes \the [A].")) T.reagents.add_reagent("ammonia", 10) busy = 0 @@ -234,7 +234,7 @@ return action = "water" update_icons() - visible_message("[src] starts refilling its tank from \the [A].") + visible_message(span_notice("[src] starts refilling its tank from \the [A].")) busy = 1 while(do_after(src, 10) && tank.reagents.total_volume < tank.reagents.maximum_volume) @@ -245,7 +245,7 @@ busy = 0 action = "" update_icons() - visible_message("[src] finishes refilling its tank.") + visible_message(span_notice("[src] finishes refilling its tank.")) else if(emagged && ishuman(A)) var/action = pick("weed", "water") @@ -258,24 +258,24 @@ flick("farmbot_hoe", src) do_attack_animation(A) if(prob(50)) - visible_message("[src] swings wildly at [A] with a minihoe, missing completely!") + visible_message(span_danger("[src] swings wildly at [A] with a minihoe, missing completely!")) return var/t = pick("slashed", "sliced", "cut", "clawed") A.attack_generic(src, 5, t) if("water") flick("farmbot_water", src) - visible_message("[src] splashes [A] with water!") + visible_message(span_danger("[src] splashes [A] with water!")) tank.reagents.splash(A, 100) /mob/living/bot/farmbot/explode() - visible_message("[src] blows apart!") + visible_message(span_danger("[src] blows apart!")) var/turf/Tsec = get_turf(src) - new /obj/item/weapon/material/minihoe(Tsec) - new /obj/item/weapon/reagent_containers/glass/bucket(Tsec) - new /obj/item/device/assembly/prox_sensor(Tsec) - new /obj/item/device/analyzer/plant_analyzer(Tsec) + new /obj/item/material/minihoe(Tsec) + new /obj/item/reagent_containers/glass/bucket(Tsec) + new /obj/item/assembly/prox_sensor(Tsec) + new /obj/item/analyzer/plant_analyzer(Tsec) if(tank) tank.loc = Tsec @@ -327,7 +327,7 @@ // Assembly -/obj/item/weapon/farmbot_arm_assembly +/obj/item/farmbot_arm_assembly name = "water tank/robot arm assembly" desc = "A water tank with a robot arm permanently grafted to it." icon = 'icons/obj/chemical_tanks.dmi' @@ -338,7 +338,7 @@ w_class = ITEMSIZE_NORMAL -/obj/item/weapon/farmbot_arm_assembly/New(var/newloc, var/theTank) +/obj/item/farmbot_arm_assembly/New(var/newloc, var/theTank) ..(newloc) if(!theTank) // If an admin spawned it, it won't have a watertank it, so lets make one for em! tank = new /obj/structure/reagent_dispensers/watertank(src) @@ -357,7 +357,7 @@ user.drop_from_inventory(S) qdel(S) - new /obj/item/weapon/farmbot_arm_assembly(loc, src) + new /obj/item/farmbot_arm_assembly(loc, src) /obj/structure/reagent_dispensers/watertank/attackby(var/obj/item/organ/external/S, mob/user as mob) if ((!istype(S, /obj/item/organ/external/arm)) || S.robotic != ORGAN_ROBOT) @@ -369,11 +369,11 @@ user.drop_from_inventory(S) qdel(S) - new /obj/item/weapon/farmbot_arm_assembly(loc, src) + new /obj/item/farmbot_arm_assembly(loc, src) -/obj/item/weapon/farmbot_arm_assembly/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/item/farmbot_arm_assembly/attackby(obj/item/W as obj, mob/user as mob) ..() - if((istype(W, /obj/item/device/analyzer/plant_analyzer)) && (build_step == 0)) + if((istype(W, /obj/item/analyzer/plant_analyzer)) && (build_step == 0)) build_step++ to_chat(user, "You add the plant analyzer to [src].") name = "farmbot assembly" @@ -381,7 +381,7 @@ user.remove_from_mob(W) qdel(W) - else if((istype(W, /obj/item/weapon/reagent_containers/glass/bucket)) && (build_step == 1)) + else if((istype(W, /obj/item/reagent_containers/glass/bucket)) && (build_step == 1)) build_step++ to_chat(user, "You add a bucket to [src].") name = "farmbot assembly with bucket" @@ -389,7 +389,7 @@ user.remove_from_mob(W) qdel(W) - else if((istype(W, /obj/item/weapon/material/minihoe)) && (build_step == 2)) + else if((istype(W, /obj/item/material/minihoe)) && (build_step == 2)) build_step++ to_chat(user, "You add a minihoe to [src].") name = "farmbot assembly with bucket and minihoe" @@ -408,17 +408,17 @@ qdel(W) qdel(src) - else if(istype(W, /obj/item/weapon/pen)) + else if(istype(W, /obj/item/pen)) var/t = tgui_input_text(user, "Enter new robot name", name, created_name, MAX_NAME_LEN) t = sanitize(t, MAX_NAME_LEN) if(!t) return - if(!in_range(src, usr) && loc != usr) + if(!in_range(src, user) && loc != user) return created_name = t -/obj/item/weapon/farmbot_arm_assembly/attack_hand(mob/user as mob) +/obj/item/farmbot_arm_assembly/attack_hand(mob/user as mob) return //it's a converted watertank, no you cannot pick it up and put it in your backpack #undef FARMBOT_COLLECT diff --git a/code/modules/mob/living/bot/floorbot.dm b/code/modules/mob/living/bot/floorbot.dm index e281609cdbd..918fc30134a 100644 --- a/code/modules/mob/living/bot/floorbot.dm +++ b/code/modules/mob/living/bot/floorbot.dm @@ -68,7 +68,7 @@ if(!emagged) emagged = 1 if(user) - to_chat(user, "The [src] buzzes and beeps.") + to_chat(user, span_notice("The [src] buzzes and beeps.")) playsound(src, 'sound/machines/buzzbeep.ogg', 50, 0) return 1 @@ -86,7 +86,7 @@ turn_on() . = TRUE - if(locked && !issilicon(usr)) + if(locked && !issilicon(ui.user)) return switch(action) @@ -208,12 +208,12 @@ busy = 1 update_icons() if(F.flooring) - visible_message("\The [src] begins to tear the floor tile from the floor!") + visible_message(span_warning("\The [src] begins to tear the floor tile from the floor!")) if(do_after(src, 50)) F.break_tile_to_plating() addTiles(1) else - visible_message("\The [src] begins to tear through the floor!") + visible_message(span_danger("\The [src] begins to tear through the floor!")) if(do_after(src, 150)) // Extra time because this can and will kill. F.ReplaceWithLattice() addTiles(1) @@ -228,7 +228,7 @@ return busy = 1 update_icons() - visible_message("\The [src] begins to repair the hole.") + visible_message(span_infoplain(span_bold("\The [src]") + " begins to repair the hole.")) if(do_after(src, 50)) if(A && (locate(/obj/structure/lattice, A) && building == 1 || !locate(/obj/structure/lattice, A) && building == 2)) // Make sure that it still needs repairs var/obj/item/I @@ -245,7 +245,7 @@ if(F.broken || F.burnt) busy = 1 update_icons() - visible_message("\The [src] begins to remove the broken floor.") + visible_message(span_infoplain(span_bold("\The [src]") + " begins to remove the broken floor.")) if(do_after(src, 50, F)) if(F.broken || F.burnt) F.make_plating() @@ -255,7 +255,7 @@ else if(!F.flooring && amount) busy = 1 update_icons() - visible_message("\The [src] begins to improve the floor.") + visible_message(span_infoplain(span_bold("\The [src]") + " begins to improve the floor.")) if(do_after(src, 50)) if(!F.flooring) F.set_flooring(get_flooring_data(floor_build_type)) @@ -265,7 +265,7 @@ update_icons() else if(istype(A, /obj/item/stack/tile/floor) && amount < maxAmount) var/obj/item/stack/tile/floor/T = A - visible_message("\The [src] begins to collect tiles.") + visible_message(span_infoplain(span_bold("\The [src]") + " begins to collect tiles.")) busy = 1 update_icons() if(do_after(src, 20)) @@ -279,7 +279,7 @@ else if(istype(A, /obj/item/stack/material) && amount + 4 <= maxAmount) var/obj/item/stack/material/M = A if(M.get_material_name() == MAT_STEEL) - visible_message("\The [src] begins to make tiles.") + visible_message(span_infoplain(span_bold("\The [src]") + " begins to make tiles.")) busy = 1 update_icons() if(do_after(50)) @@ -289,13 +289,13 @@ /mob/living/bot/floorbot/explode() turn_off() - visible_message("\The [src] blows apart!") + visible_message(span_danger("\The [src] blows apart!")) playsound(src, "sparks", 50, 1) var/turf/Tsec = get_turf(src) - var/obj/item/weapon/storage/toolbox/mechanical/N = new /obj/item/weapon/storage/toolbox/mechanical(Tsec) + var/obj/item/storage/toolbox/mechanical/N = new /obj/item/storage/toolbox/mechanical(Tsec) N.contents = list() - new /obj/item/device/assembly/prox_sensor(Tsec) + new /obj/item/assembly/prox_sensor(Tsec) if(prob(50)) new /obj/item/robot_parts/l_arm(Tsec) new /obj/item/stack/tile/floor(Tsec, amount) @@ -340,26 +340,26 @@ /* Assembly */ -/obj/item/weapon/storage/toolbox/mechanical/attackby(var/obj/item/stack/tile/floor/T, mob/living/user as mob) +/obj/item/storage/toolbox/mechanical/attackby(var/obj/item/stack/tile/floor/T, mob/living/user as mob) if(!istype(T, /obj/item/stack/tile/floor)) ..() return if(contents.len >= 1) - to_chat(user, "They wont fit in as there is already stuff inside.") + to_chat(user, span_notice("They wont fit in as there is already stuff inside.")) return if(user.s_active) user.s_active.close(user) if(T.use(10)) - var/obj/item/weapon/toolbox_tiles/B = new /obj/item/weapon/toolbox_tiles + var/obj/item/toolbox_tiles/B = new /obj/item/toolbox_tiles user.put_in_hands(B) - to_chat(user, "You add the tiles into the empty toolbox. They protrude from the top.") + to_chat(user, span_notice("You add the tiles into the empty toolbox. They protrude from the top.")) user.drop_from_inventory(src) qdel(src) else - to_chat(user, "You need 10 floor tiles for a floorbot.") + to_chat(user, span_warning("You need 10 floor tiles for a floorbot.")) return -/obj/item/weapon/toolbox_tiles +/obj/item/toolbox_tiles desc = "It's a toolbox with tiles sticking out the top" name = "tiles and toolbox" icon = 'icons/obj/aibots.dmi' @@ -371,17 +371,17 @@ w_class = ITEMSIZE_NORMAL var/created_name = "Floorbot" -/obj/item/weapon/toolbox_tiles/attackby(var/obj/item/W, mob/user as mob) +/obj/item/toolbox_tiles/attackby(var/obj/item/W, mob/user as mob) ..() if(isprox(W)) qdel(W) - var/obj/item/weapon/toolbox_tiles_sensor/B = new /obj/item/weapon/toolbox_tiles_sensor() + var/obj/item/toolbox_tiles_sensor/B = new /obj/item/toolbox_tiles_sensor() B.created_name = created_name user.put_in_hands(B) - to_chat(user, "You add the sensor to the toolbox and tiles!") + to_chat(user, span_notice("You add the sensor to the toolbox and tiles!")) user.drop_from_inventory(src) qdel(src) - else if (istype(W, /obj/item/weapon/pen)) + else if (istype(W, /obj/item/pen)) var/t = sanitizeSafe(tgui_input_text(user, "Enter new robot name", name, created_name, MAX_NAME_LEN), MAX_NAME_LEN) if(!t) return @@ -389,7 +389,7 @@ return created_name = t -/obj/item/weapon/toolbox_tiles_sensor +/obj/item/toolbox_tiles_sensor desc = "It's a toolbox with tiles sticking out the top and a sensor attached" name = "tiles, toolbox and sensor arrangement" icon = 'icons/obj/aibots.dmi' @@ -401,17 +401,17 @@ w_class = ITEMSIZE_NORMAL var/created_name = "Floorbot" -/obj/item/weapon/toolbox_tiles_sensor/attackby(var/obj/item/W, mob/user as mob) +/obj/item/toolbox_tiles_sensor/attackby(var/obj/item/W, mob/user as mob) ..() if(istype(W, /obj/item/robot_parts/l_arm) || istype(W, /obj/item/robot_parts/r_arm) || (istype(W, /obj/item/organ/external/arm) && ((W.name == "robotic right arm") || (W.name == "robotic left arm")))) qdel(W) var/turf/T = get_turf(user.loc) var/mob/living/bot/floorbot/A = new /mob/living/bot/floorbot(T) A.name = created_name - to_chat(user, "You add the robot arm to the odd looking toolbox assembly! Boop beep!") + to_chat(user, span_notice("You add the robot arm to the odd looking toolbox assembly! Boop beep!")) user.drop_from_inventory(src) qdel(src) - else if(istype(W, /obj/item/weapon/pen)) + else if(istype(W, /obj/item/pen)) var/t = sanitizeSafe(tgui_input_text(user, "Enter new robot name", name, created_name, MAX_NAME_LEN), MAX_NAME_LEN) if(!t) return diff --git a/code/modules/mob/living/bot/medbot.dm b/code/modules/mob/living/bot/medbot.dm index 9596a2024d3..205952f0a00 100644 --- a/code/modules/mob/living/bot/medbot.dm +++ b/code/modules/mob/living/bot/medbot.dm @@ -27,7 +27,7 @@ var/vocal = 1 //Healing vars - var/obj/item/weapon/reagent_containers/glass/reagent_glass = null //Can be set to draw from this for reagents. + var/obj/item/reagent_containers/glass/reagent_glass = null //Can be set to draw from this for reagents. var/injection_amount = 15 //How much reagent do we inject at a time? var/heal_threshold = 10 //Start healing when they have this much damage in a category var/use_beaker = 0 //Use reagents in beaker instead of default treatment agents. @@ -143,7 +143,7 @@ if(!t) return - visible_message("[src] is trying to inject [H]!") + visible_message(span_warning("[src] is trying to inject [H]!")) if(declare_treatment) var/area/location = get_area(src) global_announcer.autosay("[src] is treating [H] in [location]", "[src]", "Medical") @@ -154,7 +154,7 @@ reagent_glass.reagents.trans_to_mob(H, injection_amount, CHEM_BLOOD) else H.reagents.add_reagent(t, injection_amount) - visible_message("[src] injects [H] with the syringe!") + visible_message(span_warning("[src] injects [H] with the syringe!")) if(H.stat == DEAD) // This is down here because this proc won't be called again due to losing a target because of parent AI loop. target = null @@ -197,7 +197,7 @@ /mob/living/bot/medbot/attack_hand(mob/living/carbon/human/H) if(istype(H) && H.a_intent == I_DISARM && !is_tipped) - H.visible_message("[H] begins tipping over [src].", "You begin tipping over [src]...") + H.visible_message(span_danger("[H] begins tipping over [src]."), span_warning("You begin tipping over [src]...")) if(world.time > last_tipping_action_voice + 15 SECONDS) last_tipping_action_voice = world.time // message for tipping happens when we start interacting, message for righting comes after finishing @@ -210,7 +210,7 @@ tip_over(H) else if(istype(H) && H.a_intent == I_HELP && is_tipped) - H.visible_message("[H] begins righting [src].", "You begin righting [src]...") + H.visible_message(span_notice("[H] begins righting [src]."), span_notice("You begin righting [src]...")) if(do_after(H, 3 SECONDS, target=src)) set_right(H) else @@ -249,18 +249,18 @@ ui.open() /mob/living/bot/medbot/attackby(var/obj/item/O, var/mob/user) - if(istype(O, /obj/item/weapon/reagent_containers/glass)) + if(istype(O, /obj/item/reagent_containers/glass)) if(locked) - to_chat(user, "You cannot insert a beaker because the panel is locked.") + to_chat(user, span_notice("You cannot insert a beaker because the panel is locked.")) return if(!isnull(reagent_glass)) - to_chat(user, "There is already a beaker loaded.") + to_chat(user, span_notice("There is already a beaker loaded.")) return user.drop_item() O.loc = src reagent_glass = O - to_chat(user, "You insert [O].") + to_chat(user, span_notice("You insert [O].")) return else ..() @@ -269,20 +269,20 @@ if(..()) return TRUE - usr.set_machine(src) - add_fingerprint(usr) + ui.user.set_machine(src) + add_fingerprint(ui.user) . = TRUE switch(action) if("power") - if(!access_scanner.allowed(usr)) + if(!access_scanner.allowed(ui.user)) return FALSE if(on) turn_off() else turn_on() - if(locked && !issilicon(usr)) + if(locked && !issilicon(ui.user)) return TRUE switch(action) @@ -316,8 +316,8 @@ . = ..() if(!emagged) if(user) - to_chat(user, "You short out [src]'s reagent synthesis circuits.") - visible_message("[src] buzzes oddly!") + to_chat(user, span_warning("You short out [src]'s reagent synthesis circuits.")) + visible_message(span_warning("[src] buzzes oddly!")) flick("medibot_spark", src) target = null busy = 0 @@ -329,12 +329,12 @@ /mob/living/bot/medbot/explode() on = 0 - visible_message("[src] blows apart!") + visible_message(span_danger("[src] blows apart!")) var/turf/Tsec = get_turf(src) - new /obj/item/weapon/storage/firstaid(Tsec) - new /obj/item/device/assembly/prox_sensor(Tsec) - new /obj/item/device/healthanalyzer(Tsec) + new /obj/item/storage/firstaid(Tsec) + new /obj/item/assembly/prox_sensor(Tsec) + new /obj/item/healthanalyzer(Tsec) if (prob(50)) new /obj/item/robot_parts/l_arm(Tsec) @@ -360,7 +360,7 @@ /mob/living/bot/medbot/proc/tip_over(mob/user) playsound(src, 'sound/machines/warning-buzzer.ogg', 50) - user.visible_message("[user] tips over [src]!", "You tip [src] over!") + user.visible_message(span_danger("[user] tips over [src]!"), span_danger("You tip [src] over!")) is_tipped = TRUE tipper_name = user.name var/matrix/mat = transform @@ -369,13 +369,13 @@ /mob/living/bot/medbot/proc/set_right(mob/user) var/list/messagevoice if(user) - user.visible_message("[user] sets [src] right-side up!", "You set [src] right-side up!") + user.visible_message(span_notice("[user] sets [src] right-side up!"), span_green("You set [src] right-side up!")) if(user.name == tipper_name) messagevoice = list("I forgive you." = 'sound/voice/medbot/forgive.ogg') else messagevoice = list("Thank you!" = 'sound/voice/medbot/thank_you.ogg', "You are a good person." = 'sound/voice/medbot/youre_good.ogg') else - visible_message("[src] manages to [pick("writhe", "wriggle", "wiggle")] enough to right itself.") + visible_message(span_notice("[src] manages to [pick("writhe", "wriggle", "wiggle")] enough to right itself.")) messagevoice = list("Fuck you." = 'sound/voice/medbot/fuck_you.ogg', "Your behavior has been reported, have a nice day." = 'sound/voice/medbot/reported.ogg') tipper_name = null @@ -430,9 +430,9 @@ if(MEDBOT_PANIC_MED to MEDBOT_PANIC_HIGH) . += "They are tipped over and appear visibly distressed." // now we humanize the medbot as a they, not an it if(MEDBOT_PANIC_HIGH to MEDBOT_PANIC_FUCK) - . += "They are tipped over and visibly panicking!" + . += span_warning("They are tipped over and visibly panicking!") if(MEDBOT_PANIC_FUCK to INFINITY) - . += "They are freaking out from being tipped over!" + . += span_boldwarning("They are freaking out from being tipped over!") /mob/living/bot/medbot/confirmTarget(var/mob/living/carbon/human/H) if(!..()) @@ -471,53 +471,53 @@ /* Construction */ -/obj/item/weapon/storage/firstaid/attackby(var/obj/item/robot_parts/S, mob/user as mob) +/obj/item/storage/firstaid/attackby(var/obj/item/robot_parts/S, mob/user as mob) if ((!istype(S, /obj/item/robot_parts/l_arm)) && (!istype(S, /obj/item/robot_parts/r_arm))) ..() return if(contents.len >= 1) - to_chat(user, "You need to empty [src] out first.") + to_chat(user, span_notice("You need to empty [src] out first.")) return - var/obj/item/weapon/firstaid_arm_assembly/A = new /obj/item/weapon/firstaid_arm_assembly - if(istype(src, /obj/item/weapon/storage/firstaid/fire)) + var/obj/item/firstaid_arm_assembly/A = new /obj/item/firstaid_arm_assembly + if(istype(src, /obj/item/storage/firstaid/fire)) A.skin = "ointment" - else if(istype(src, /obj/item/weapon/storage/firstaid/toxin)) + else if(istype(src, /obj/item/storage/firstaid/toxin)) A.skin = "tox" - else if(istype(src, /obj/item/weapon/storage/firstaid/o2)) + else if(istype(src, /obj/item/storage/firstaid/o2)) A.skin = "o2" qdel(S) user.put_in_hands(A) - to_chat(user, "You add the robot arm to the first aid kit.") + to_chat(user, span_notice("You add the robot arm to the first aid kit.")) user.drop_from_inventory(src) qdel(src) -/obj/item/weapon/storage/firstaid/attackby(var/obj/item/organ/external/S, mob/user as mob) +/obj/item/storage/firstaid/attackby(var/obj/item/organ/external/S, mob/user as mob) if (!istype(S, /obj/item/organ/external/arm) || S.robotic != ORGAN_ROBOT) ..() return if(contents.len >= 1) - to_chat(user, "You need to empty [src] out first.") + to_chat(user, span_notice("You need to empty [src] out first.")) return - var/obj/item/weapon/firstaid_arm_assembly/A = new /obj/item/weapon/firstaid_arm_assembly - if(istype(src, /obj/item/weapon/storage/firstaid/fire)) + var/obj/item/firstaid_arm_assembly/A = new /obj/item/firstaid_arm_assembly + if(istype(src, /obj/item/storage/firstaid/fire)) A.skin = "ointment" - else if(istype(src, /obj/item/weapon/storage/firstaid/toxin)) + else if(istype(src, /obj/item/storage/firstaid/toxin)) A.skin = "tox" - else if(istype(src, /obj/item/weapon/storage/firstaid/o2)) + else if(istype(src, /obj/item/storage/firstaid/o2)) A.skin = "o2" qdel(S) user.put_in_hands(A) - to_chat(user, "You add the robot arm to the first aid kit.") + to_chat(user, span_notice("You add the robot arm to the first aid kit.")) user.drop_from_inventory(src) qdel(src) -/obj/item/weapon/firstaid_arm_assembly +/obj/item/firstaid_arm_assembly name = "first aid/robot arm assembly" desc = "A first aid kit with a robot arm permanently grafted to it." icon = 'icons/obj/aibots.dmi' @@ -527,28 +527,28 @@ var/skin = null //Same as medbot, set to tox or ointment for the respective kits. w_class = ITEMSIZE_NORMAL -/obj/item/weapon/firstaid_arm_assembly/Initialize() +/obj/item/firstaid_arm_assembly/Initialize() . = ..() if(skin) add_overlay("kit_skin_[src.skin]") -/obj/item/weapon/firstaid_arm_assembly/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/item/firstaid_arm_assembly/attackby(obj/item/W as obj, mob/user as mob) ..() - if(istype(W, /obj/item/weapon/pen)) + if(istype(W, /obj/item/pen)) var/t = sanitizeSafe(tgui_input_text(user, "Enter new robot name", name, created_name, MAX_NAME_LEN), MAX_NAME_LEN) if(!t) return - if(!in_range(src, usr) && loc != usr) + if(!in_range(src, user) && loc != user) return created_name = t else switch(build_step) if(0) - if(istype(W, /obj/item/device/healthanalyzer)) + if(istype(W, /obj/item/healthanalyzer)) user.drop_item() qdel(W) build_step++ - to_chat(user, "You add the health sensor to [src].") + to_chat(user, span_notice("You add the health sensor to [src].")) name = "First aid/robot arm/health analyzer assembly" add_overlay("na_scanner") @@ -556,7 +556,7 @@ if(isprox(W)) user.drop_item() qdel(W) - to_chat(user, "You complete the Medibot! Beep boop.") + to_chat(user, span_notice("You complete the Medibot! Beep boop.")) var/turf/T = get_turf(src) var/mob/living/bot/medbot/S = new /mob/living/bot/medbot(T) S.skin = skin diff --git a/code/modules/mob/living/bot/mulebot.dm b/code/modules/mob/living/bot/mulebot.dm index cb8e2acb13d..c835e11a967 100644 --- a/code/modules/mob/living/bot/mulebot.dm +++ b/code/modules/mob/living/bot/mulebot.dm @@ -82,43 +82,43 @@ data["safety"] = safety return data -/mob/living/bot/mulebot/tgui_act(action, params) +/mob/living/bot/mulebot/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE - add_fingerprint(usr) + add_fingerprint(ui.user) switch(action) if("power") if(on) turn_off() else turn_on() - visible_message("[usr] switches [on ? "on" : "off"] [src].") + visible_message("[ui.user] switches [on ? "on" : "off"] [src].") . = TRUE if("stop") - obeyCommand("Stop") + obeyCommand(ui.user, "Stop") . = TRUE if("go") - obeyCommand("GoTD") + obeyCommand(ui.user, "GoTD") . = TRUE if("home") - obeyCommand("Home") + obeyCommand(ui.user, "Home") . = TRUE if("destination") - obeyCommand("SetD") + obeyCommand(ui.user, "SetD") . = TRUE if("sethome") var/new_dest var/list/beaconlist = GetBeaconList() if(beaconlist.len) - new_dest = tgui_input_list(usr, "Select new home tag", "Mulebot [suffix ? "([suffix])" : ""]", beaconlist) + new_dest = tgui_input_list(ui.user, "Select new home tag", "Mulebot [suffix ? "([suffix])" : ""]", beaconlist) else - tgui_alert_async(usr, "No destination beacons available.") + tgui_alert_async(ui.user, "No destination beacons available.") if(new_dest) home = get_turf(beaconlist[new_dest]) homeName = new_dest @@ -144,7 +144,7 @@ ..() update_icons() -/mob/living/bot/mulebot/proc/obeyCommand(var/command) +/mob/living/bot/mulebot/proc/obeyCommand(mob/user, var/command) switch(command) if("Home") resetTarget() @@ -154,9 +154,9 @@ var/new_dest var/list/beaconlist = GetBeaconList() if(beaconlist.len) - new_dest = tgui_input_list(usr, "Select new destination tag", "Mulebot [suffix ? "([suffix])" : ""]", beaconlist) + new_dest = tgui_input_list(user, "Select new destination tag", "Mulebot [suffix ? "([suffix])" : ""]", beaconlist) else - tgui_alert_async(usr, "No destination beacons available.") + tgui_alert_async(user, "No destination beacons available.") if(new_dest) resetTarget() target = get_turf(beaconlist[new_dest]) @@ -168,7 +168,7 @@ /mob/living/bot/mulebot/emag_act(var/remaining_charges, var/user) locked = !locked - to_chat(user, "You [locked ? "lock" : "unlock"] the mulebot's controls!") + to_chat(user, span_notice("You [locked ? "lock" : "unlock"] the mulebot's controls!")) flick("mulebot-emagged", src) playsound(src, 'sound/effects/sparks1.ogg', 100, 0) return 1 @@ -223,14 +223,14 @@ /mob/living/bot/mulebot/Bump(var/mob/living/M) if(!safety && istype(M)) - visible_message("[src] knocks over [M]!") + visible_message(span_warning("[src] knocks over [M]!")) M.Stun(8) M.Weaken(5) ..() /mob/living/bot/mulebot/proc/runOver(var/mob/living/M) if(istype(M)) // At this point, MULEBot has somehow crossed over onto your tile with you still on it. CRRRNCH. - visible_message("[src] drives over [M]!") + visible_message(span_warning("[src] drives over [M]!")) playsound(src, 'sound/effects/splat.ogg', 50, 1) var/damage = rand(5, 7) @@ -250,10 +250,10 @@ /mob/living/bot/mulebot/explode() unload(pick(0, 1, 2, 4, 8)) - visible_message("[src] blows apart!") + visible_message(span_danger("[src] blows apart!")) var/turf/Tsec = get_turf(src) - new /obj/item/device/assembly/prox_sensor(Tsec) + new /obj/item/assembly/prox_sensor(Tsec) new /obj/item/stack/rods(Tsec) new /obj/item/stack/rods(Tsec) new /obj/item/stack/cable_coil/cut(Tsec) diff --git a/code/modules/mob/living/bot/secbot.dm b/code/modules/mob/living/bot/secbot.dm index 31e0854d007..c9ee5783647 100644 --- a/code/modules/mob/living/bot/secbot.dm +++ b/code/modules/mob/living/bot/secbot.dm @@ -32,7 +32,7 @@ var/xeno_harm_strength = 15 // How hard to hit simple_mobs. var/baton_glow = "#FF6A00" - var/used_weapon = /obj/item/weapon/melee/baton //Weapon used by the bot + var/used_weapon = /obj/item/melee/baton //Weapon used by the bot var/list/threat_found_sounds = list('sound/voice/bcriminal.ogg', 'sound/voice/bjustice.ogg', 'sound/voice/bfreeze.ogg') var/list/preparing_arrest_sounds = list('sound/voice/bgod.ogg', 'sound/voice/biamthelaw.ogg', 'sound/voice/bsecureday.ogg', 'sound/voice/bradio.ogg', 'sound/voice/bcreep.ogg') @@ -70,7 +70,7 @@ baton_glow = "#33CCFF" req_one_access = list(access_research, access_robotics) botcard_access = list(access_research, access_robotics, access_xenobiology, access_xenoarch, access_tox, access_tox_storage, access_maint_tunnels) - used_weapon = /obj/item/weapon/melee/baton/slime + used_weapon = /obj/item/melee/baton/slime var/xeno_stun_strength = 5 // How hard to slimebatoned()'d naughty slimes. 5 works out to 2 discipline and 5 weaken. /mob/living/bot/secbot/slime/slimesky @@ -129,11 +129,11 @@ if(..()) return - add_fingerprint(usr) + add_fingerprint(ui.user) switch(action) if("power") - if(!access_scanner.allowed(usr)) + if(!access_scanner.allowed(ui.user)) return FALSE if(on) turn_off() @@ -141,7 +141,7 @@ turn_on() . = TRUE - if(locked && !issilicon(usr)) + if(locked && !issilicon(ui.user)) return TRUE switch(action) @@ -168,13 +168,13 @@ . = ..() if(!emagged) if(user) - to_chat(user, "\The [src] buzzes and beeps.") + to_chat(user, span_notice("\The [src] buzzes and beeps.")) emagged = TRUE patrol_speed = 3 target_speed = 4 return TRUE else - to_chat(user, "\The [src] is already corrupt.") + to_chat(user, span_notice("\The [src] is already corrupt.")) /mob/living/bot/secbot/attackby(var/obj/item/O, var/mob/user) var/curhealth = health @@ -328,18 +328,18 @@ spawn(2) busy = FALSE update_icons() - visible_message("\The [H] was prodded by \the [src] with a stun baton!") + visible_message(span_warning("\The [H] was prodded by \the [src] with a stun baton!")) insult(H) else playsound(src, 'sound/weapons/handcuffs.ogg', 30, 1, -2) - visible_message("\The [src] is trying to put handcuffs on \the [H]!") + visible_message(span_warning("\The [src] is trying to put handcuffs on \the [H]!")) busy = TRUE if(do_mob(src, H, 60)) if(!H.handcuffed) - if(istype(H.back, /obj/item/weapon/rig) && istype(H.gloves,/obj/item/clothing/gloves/gauntlets/rig)) - H.handcuffed = new /obj/item/weapon/handcuffs/cable(H) // Better to be cable cuffed than stun-locked + if(istype(H.back, /obj/item/rig) && istype(H.gloves,/obj/item/clothing/gloves/gauntlets/rig)) + H.handcuffed = new /obj/item/handcuffs/cable(H) // Better to be cable cuffed than stun-locked else - H.handcuffed = new /obj/item/weapon/handcuffs(H) + H.handcuffed = new /obj/item/handcuffs(H) H.update_handcuffed() busy = FALSE else if(istype(M, /mob/living)) @@ -352,7 +352,7 @@ spawn(2) busy = FALSE update_icons() - visible_message("\The [M] was beaten by \the [src] with a stun baton!") + visible_message(span_warning("\The [M] was beaten by \the [src] with a stun baton!")) insult(L) /mob/living/bot/secbot/slime/UnarmedAttack(var/mob/living/L, var/proximity) @@ -363,14 +363,14 @@ S.slimebatoned(src, xeno_stun_strength) /mob/living/bot/secbot/explode() - visible_message("[src] blows apart!") + visible_message(span_warning("[src] blows apart!")) var/turf/Tsec = get_turf(src) - var/obj/item/weapon/secbot_assembly/Sa = new /obj/item/weapon/secbot_assembly(Tsec) + var/obj/item/secbot_assembly/Sa = new /obj/item/secbot_assembly(Tsec) Sa.build_step = 1 Sa.add_overlay("hs_hole") Sa.created_name = name - new /obj/item/device/assembly/prox_sensor(Tsec) + new /obj/item/assembly/prox_sensor(Tsec) new used_weapon(Tsec) if(prob(50)) new /obj/item/robot_parts/l_arm(Tsec) @@ -403,7 +403,7 @@ //Secbot Construction -/obj/item/clothing/head/helmet/attackby(var/obj/item/device/assembly/signaler/S, mob/user as mob) +/obj/item/clothing/head/helmet/attackby(var/obj/item/assembly/signaler/S, mob/user as mob) ..() if(!issignaler(S)) ..() @@ -414,7 +414,7 @@ if(S.secured) qdel(S) - var/obj/item/weapon/secbot_assembly/A = new /obj/item/weapon/secbot_assembly + var/obj/item/secbot_assembly/A = new /obj/item/secbot_assembly user.put_in_hands(A) to_chat(user, "You add the signaler to the helmet.") user.drop_from_inventory(src) @@ -422,7 +422,7 @@ else return -/obj/item/weapon/secbot_assembly +/obj/item/secbot_assembly name = "helmet/signaler assembly" desc = "Some sort of bizarre assembly." icon = 'icons/obj/aibots.dmi' @@ -435,10 +435,10 @@ var/build_step = 0 var/created_name = "Securitron" -/obj/item/weapon/secbot_assembly/attackby(var/obj/item/W, var/mob/user) +/obj/item/secbot_assembly/attackby(var/obj/item/W, var/mob/user) ..() if(W.has_tool_quality(TOOL_WELDER) && !build_step) - var/obj/item/weapon/weldingtool/WT = W.get_welder() + var/obj/item/weldingtool/WT = W.get_welder() if(WT.remove_fuel(0, user)) build_step = 1 add_overlay("hs_hole") @@ -460,10 +460,10 @@ add_overlay("hs_arm") qdel(W) - else if(istype(W, /obj/item/weapon/melee/baton) && build_step == 3) + else if(istype(W, /obj/item/melee/baton) && build_step == 3) user.drop_item() to_chat(user, "You complete the Securitron! Beep boop.") - if(istype(W, /obj/item/weapon/melee/baton/slime)) + if(istype(W, /obj/item/melee/baton/slime)) var/mob/living/bot/secbot/slime/S = new /mob/living/bot/secbot/slime(get_turf(src)) S.name = created_name else @@ -472,7 +472,7 @@ qdel(W) qdel(src) - else if(istype(W, /obj/item/weapon/pen)) + else if(istype(W, /obj/item/pen)) var/t = sanitizeSafe(tgui_input_text(user, "Enter new robot name", name, created_name, MAX_NAME_LEN), MAX_NAME_LEN) if(!t) return diff --git a/code/modules/mob/living/butchering.dm b/code/modules/mob/living/butchering.dm index eb613341519..ad1eecfba60 100644 --- a/code/modules/mob/living/butchering.dm +++ b/code/modules/mob/living/butchering.dm @@ -3,6 +3,7 @@ /mob/living var/meat_amount = 0 // How much meat to drop from this mob when butchered var/obj/meat_type // The meat object to drop + var/name_the_meat = TRUE var/gib_on_butchery = FALSE var/butchery_drops_organs = TRUE // Do we spawn and/or drop organs when butchered? @@ -17,7 +18,8 @@ being_butchered = TRUE while(meat_amount > 0 && do_after(user, 0.5 SECONDS * (mob_size / 10), src)) var/obj/item/meat = new meat_type(get_turf(src)) - meat.name = "[src.name] [meat.name]" + if(name_the_meat) + meat.name = "[src.name] [meat.name]" new /obj/effect/decal/cleanable/blood/splatter(get_turf(src)) meat_amount-- being_butchered = FALSE @@ -86,11 +88,11 @@ if(!ckey) if(issmall(src)) - user?.visible_message("[user] chops up \the [src]!") + user?.visible_message(span_danger("[user] chops up \the [src]!")) new /obj/effect/decal/cleanable/blood/splatter(get_turf(src)) if(gib_on_butchery) qdel(src) else - user?.visible_message("[user] butchers \the [src] messily!") + user?.visible_message(span_danger("[user] butchers \the [src] messily!")) if(gib_on_butchery) gib() diff --git a/code/modules/mob/living/carbon/alien/alien.dm b/code/modules/mob/living/carbon/alien/alien.dm index 1629913c76b..882ed514534 100644 --- a/code/modules/mob/living/carbon/alien/alien.dm +++ b/code/modules/mob/living/carbon/alien/alien.dm @@ -27,8 +27,8 @@ time_of_birth = world.time - verbs += /mob/living/proc/ventcrawl - verbs += /mob/living/proc/hide + add_verb(src, /mob/living/proc/ventcrawl) + add_verb(src, /mob/living/proc/hide) instance_num = rand(1, 1000) name = "[initial(name)] ([instance_num])" @@ -66,4 +66,3 @@ else if(ending == "?") verb = "hisses curiously" return verb - diff --git a/code/modules/mob/living/carbon/alien/alien_attacks.dm b/code/modules/mob/living/carbon/alien/alien_attacks.dm index 6eac6a05d26..174828d7ee8 100644 --- a/code/modules/mob/living/carbon/alien/alien_attacks.dm +++ b/code/modules/mob/living/carbon/alien/alien_attacks.dm @@ -15,7 +15,7 @@ if (I_GRAB) if (M == src) return - var/obj/item/weapon/grab/G = new /obj/item/weapon/grab( M, src ) + var/obj/item/grab/G = new /obj/item/grab( M, src ) M.put_in_active_hand(G) @@ -28,7 +28,7 @@ playsound(src, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) for(var/mob/O in viewers(src, null)) if ((O.client && !( O.blinded ))) - O.show_message(span_red(text("[] has grabbed [] passively!", M, src)), 1) + O.show_message(span_danger(text("[] has grabbed [] passively!", M, src)), 1) else var/damage = rand(1, 9) @@ -43,17 +43,17 @@ playsound(src, "punch", 25, 1, -1) for(var/mob/O in viewers(src, null)) if ((O.client && !( O.blinded ))) - O.show_message(span_red(text("[] has punched []!", M, src)), 1) + O.show_message(span_bolddanger(text("[] has punched []!", M, src)), 1) if (damage > 4.9) Weaken(rand(10,15)) for(var/mob/O in viewers(M, null)) if ((O.client && !( O.blinded ))) - O.show_message(span_red(text("[] has weakened []!", M, src)), 1, span_red("You hear someone fall."), 2) + O.show_message(span_bolddanger(text("[] has weakened []!", M, src)), 1, span_red("You hear someone fall."), 2) adjustBruteLoss(damage) updatehealth() else playsound(src, 'sound/weapons/punchmiss.ogg', 25, 1, -1) for(var/mob/O in viewers(src, null)) if ((O.client && !( O.blinded ))) - O.show_message(span_red(text("[] has attempted to punch []!", M, src)), 1) + O.show_message(span_bolddanger(text("[] has attempted to punch []!", M, src)), 1) return diff --git a/code/modules/mob/living/carbon/alien/diona/diona.dm b/code/modules/mob/living/carbon/alien/diona/diona.dm index 753bdc90100..434d02617b7 100644 --- a/code/modules/mob/living/carbon/alien/diona/diona.dm +++ b/code/modules/mob/living/carbon/alien/diona/diona.dm @@ -43,7 +43,7 @@ var/list/_nymph_default_emotes = list( can_pull_size = ITEMSIZE_SMALL can_pull_mobs = MOB_PULL_SMALLER - holder_type = /obj/item/weapon/holder/diona + holder_type = /obj/item/holder/diona var/obj/item/hat /mob/living/carbon/alien/diona/get_available_emotes() @@ -54,7 +54,7 @@ var/list/_nymph_default_emotes = list( species = GLOB.all_species[SPECIES_DIONA] add_language(LANGUAGE_ROOTGLOBAL) add_language(LANGUAGE_GALCOM) - verbs += /mob/living/carbon/alien/diona/proc/merge + add_verb(src, /mob/living/carbon/alien/diona/proc/merge) /mob/living/carbon/alien/diona/put_in_hands(var/obj/item/W) // No hands. W.loc = get_turf(src) diff --git a/code/modules/mob/living/carbon/alien/diona/diona_attacks.dm b/code/modules/mob/living/carbon/alien/diona/diona_attacks.dm index bfb9ac536b7..d8376354f0d 100644 --- a/code/modules/mob/living/carbon/alien/diona/diona_attacks.dm +++ b/code/modules/mob/living/carbon/alien/diona/diona_attacks.dm @@ -5,19 +5,19 @@ if(H.a_intent == "grab" && hat && !H.hands_are_full()) hat.loc = get_turf(src) H.put_in_hands(hat) - H.visible_message("\The [H] removes \the [src]'s [hat].") + H.visible_message(span_danger("\The [H] removes \the [src]'s [hat].")) hat = null update_icon() else return ..() -/mob/living/carbon/alien/diona/attackby(var/obj/item/weapon/W, var/mob/user) +/mob/living/carbon/alien/diona/attackby(var/obj/item/W, var/mob/user) if(user.a_intent == "help" && istype(W, /obj/item/clothing/head)) if(hat) - to_chat(user, "\The [src] is already wearing \the [hat].") + to_chat(user, span_warning("\The [src] is already wearing \the [hat].")) return user.unEquip(W) wear_hat(W) - user.visible_message("\The [user] puts \the [W] on \the [src].") + user.visible_message(span_infoplain(span_bold("\The [user]") + " puts \the [W] on \the [src].")) return return ..() diff --git a/code/modules/mob/living/carbon/alien/diona/diona_powers.dm b/code/modules/mob/living/carbon/alien/diona/diona_powers.dm index fe31cf9c8b8..a2b33f7973b 100644 --- a/code/modules/mob/living/carbon/alien/diona/diona_powers.dm +++ b/code/modules/mob/living/carbon/alien/diona/diona_powers.dm @@ -1,7 +1,7 @@ //Verbs after this point. /mob/living/carbon/alien/diona/proc/merge() - set category = "Abilities" + set category = "Abilities.Diona" set name = "Merge with gestalt" set desc = "Merge with another diona." @@ -9,7 +9,7 @@ return if(istype(src.loc,/mob/living/carbon)) - src.verbs -= /mob/living/carbon/alien/diona/proc/merge + remove_verb(src, /mob/living/carbon/alien/diona/proc/merge) return var/list/choices = list() @@ -35,13 +35,13 @@ to_chat(H, "You feel your being twine with that of \the [src] as it merges with your biomass.") to_chat(src, "You feel your being twine with that of \the [H] as you merge with its biomass.") loc = H - verbs += /mob/living/carbon/alien/diona/proc/split - verbs -= /mob/living/carbon/alien/diona/proc/merge + add_verb(src, /mob/living/carbon/alien/diona/proc/split) + remove_verb(src, /mob/living/carbon/alien/diona/proc/merge) return 1 /mob/living/carbon/alien/diona/proc/split() - set category = "Abilities" + set category = "Abilities.Diona" set name = "Split from gestalt" set desc = "Split away from your gestalt as a lone nymph." @@ -49,7 +49,7 @@ return if(!(istype(src.loc,/mob/living/carbon))) - src.verbs -= /mob/living/carbon/alien/diona/proc/split + remove_verb(src, /mob/living/carbon/alien/diona/proc/split) return to_chat(src.loc, "You feel a pang of loss as [src] splits away from your biomass.") @@ -58,10 +58,10 @@ var/mob/living/M = src.loc src.loc = get_turf(src) - src.verbs -= /mob/living/carbon/alien/diona/proc/split - src.verbs += /mob/living/carbon/alien/diona/proc/merge + remove_verb(src, /mob/living/carbon/alien/diona/proc/split) + add_verb(src, /mob/living/carbon/alien/diona/proc/merge) if(istype(M)) for(var/atom/A in M.contents) - if(istype(A,/mob/living/simple_mob/animal/borer) || istype(A,/obj/item/weapon/holder)) + if(istype(A,/mob/living/simple_mob/animal/borer) || istype(A,/obj/item/holder)) return diff --git a/code/modules/mob/living/carbon/alien/diona/progression.dm b/code/modules/mob/living/carbon/alien/diona/progression.dm index 806fcbe8dbe..45a33d4ebb8 100644 --- a/code/modules/mob/living/carbon/alien/diona/progression.dm +++ b/code/modules/mob/living/carbon/alien/diona/progression.dm @@ -1,7 +1,8 @@ -/mob/living/carbon/alien/diona/Stat() //Specified where progression is at, doesn't work right for some things in carbon/alien +/mob/living/carbon/alien/diona/get_status_tab_items() //Specified where progression is at, doesn't work right for some things in carbon/alien . = ..() - if(. && statpanel("Status")) - stat("Growth", "[round(amount_grown)]/[max_grown]") + if(.) + . += "" + . += "Diona Growth: [round(amount_grown)]/[max_grown]" /mob/living/carbon/alien/diona/confirm_evolution() @@ -15,8 +16,8 @@ src.split() - if(istype(loc,/obj/item/weapon/holder/diona)) - var/obj/item/weapon/holder/diona/L = loc + if(istype(loc,/obj/item/holder/diona)) + var/obj/item/holder/diona/L = loc src.loc = L.loc qdel(L) diff --git a/code/modules/mob/living/carbon/alien/larva/larva.dm b/code/modules/mob/living/carbon/alien/larva/larva.dm index 06bbc810056..1d1af5df686 100644 --- a/code/modules/mob/living/carbon/alien/larva/larva.dm +++ b/code/modules/mob/living/carbon/alien/larva/larva.dm @@ -7,7 +7,7 @@ language = "Hivemind" maxHealth = 50 health = 50 - faction = "xeno" + faction = FACTION_XENO max_grown = 325 //Increase larva growth time due to not needing hosts. /mob/living/carbon/alien/larva/Initialize() diff --git a/code/modules/mob/living/carbon/alien/larva/progression.dm b/code/modules/mob/living/carbon/alien/larva/progression.dm index 6bff3e8a84b..1f1f44a3e3b 100644 --- a/code/modules/mob/living/carbon/alien/larva/progression.dm +++ b/code/modules/mob/living/carbon/alien/larva/progression.dm @@ -1,15 +1,16 @@ -/mob/living/carbon/alien/larva/Stat() //Specified where progression stats come from, because for some reason it doesn't work right in carbon/alien +/mob/living/carbon/alien/larva/get_status_tab_items() //Specified where progression stats come from, because for some reason it doesn't work right in carbon/alien . = ..() - if(. && statpanel("Status")) - stat("Growth", "[round(amount_grown)]/[max_grown]") + if(.) + . += "" + . += "Larva Growth: [round(amount_grown)]/[max_grown]" /mob/living/carbon/alien/larva/confirm_evolution() - to_chat(src, "You are growing into a beautiful alien! It is time to choose a caste.") - to_chat(src, "There are three to choose from:") - to_chat(src, "Hunters are strong and agile, able to hunt away from the hive and rapidly move through ventilation shafts. Hunters generate plasma slowly and have low reserves.") - to_chat(src, "Sentinels are tasked with protecting the hive and are deadly up close and at a range. They are not as physically imposing nor fast as the hunters.") - to_chat(src, "Drones are the working class, offering the largest plasma storage and generation. They are the only caste which may evolve again, turning into the dreaded alien queen.") + to_chat(src, span_boldnotice("You are growing into a beautiful alien! It is time to choose a caste.")) + to_chat(src, span_notice("There are three to choose from:")) + to_chat(src, span_bold("Hunters") + span_notice(" are strong and agile, able to hunt away from the hive and rapidly move through ventilation shafts. Hunters generate plasma slowly and have low reserves.")) + to_chat(src, span_bold("Sentinels") + span_notice(" are tasked with protecting the hive and are deadly up close and at a range. They are not as physically imposing nor fast as the hunters.")) + to_chat(src, span_bold("Drones") + span_notice(" are the working class, offering the largest plasma storage and generation. They are the only caste which may evolve again, turning into the dreaded alien queen.")) var/alien_caste = tgui_alert(src, "Please choose which alien caste you shall belong to.","Alien Choice",list("Hunter","Sentinel","Drone")) return alien_caste ? "Xenomorph [alien_caste]" : null diff --git a/code/modules/mob/living/carbon/alien/progression.dm b/code/modules/mob/living/carbon/alien/progression.dm index 001c1111392..af26a44221a 100644 --- a/code/modules/mob/living/carbon/alien/progression.dm +++ b/code/modules/mob/living/carbon/alien/progression.dm @@ -2,13 +2,13 @@ set name = "Evolve" set desc = "Evolve into your adult form." - set category = "Abilities" + set category = "Abilities.General" if(stat != CONSCIOUS) return if(!adult_form) - verbs -= /mob/living/carbon/alien/verb/evolve + remove_verb(src, /mob/living/carbon/alien/verb/evolve) return if(handcuffed || legcuffed) diff --git a/code/modules/mob/living/carbon/brain/MMI.dm b/code/modules/mob/living/carbon/brain/MMI.dm index f9c37f5f743..d0f4aef5754 100644 --- a/code/modules/mob/living/carbon/brain/MMI.dm +++ b/code/modules/mob/living/carbon/brain/MMI.dm @@ -1,6 +1,6 @@ //This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32 -/obj/item/device/mmi +/obj/item/mmi name = "man-machine interface" desc = "The Warrior's bland acronym, MMI, obscures the true horror of this monstrosity." icon = 'icons/obj/assemblies.dmi' @@ -17,12 +17,12 @@ var/mob/living/carbon/brain/brainmob = null//The current occupant. var/obj/item/organ/internal/brain/brainobj = null //The current brain organ. var/obj/mecha = null//This does not appear to be used outside of reference in mecha.dm. - var/obj/item/device/radio/headset/mmi_radio/radio = null//Let's give it a radio. + var/obj/item/radio/headset/mmi_radio/radio = null//Let's give it a radio. -/obj/item/device/mmi/New() +/obj/item/mmi/New() radio = new(src)//Spawns a radio inside the MMI. -/obj/item/device/mmi/verb/toggle_radio() +/obj/item/mmi/verb/toggle_radio() set name = "Toggle Brain Radio" set desc = "Enables or disables the integrated brain radio, which is only usable outside of a body." set category = "Object" @@ -42,23 +42,23 @@ else to_chat (usr, "You were unable to toggle the [src]'s radio.") -/obj/item/device/mmi/attackby(var/obj/item/O as obj, var/mob/user as mob) +/obj/item/mmi/attackby(var/obj/item/O as obj, var/mob/user as mob) if(istype(O,/obj/item/organ/internal/brain) && !brainmob) //Time to stick a brain in it --NEO var/obj/item/organ/internal/brain/B = O if(B.health <= 0) - to_chat(user, "That brain is well and truly dead.") + to_chat(user, span_warning("That brain is well and truly dead.")) return else if(!B.brainmob) - to_chat(user, "You aren't sure where this brain came from, but you're pretty sure it's useless.") + to_chat(user, span_warning("You aren't sure where this brain came from, but you're pretty sure it's useless.")) return for(var/modifier_type in B.brainmob.modifiers) //Can't be shoved in an MMI. if(istype(modifier_type, /datum/modifier/no_borg)) - to_chat(user, "\The [src] appears to reject this brain. It is incompatible.") + to_chat(user, span_warning("\The [src] appears to reject this brain. It is incompatible.")) return - user.visible_message("\The [user] sticks \a [O] into \the [src].") + user.visible_message(span_infoplain(span_bold("\The [user]") + " sticks \a [O] into \the [src].")) B.preserved = TRUE brainmob = B.brainmob @@ -83,12 +83,12 @@ return - if((istype(O,/obj/item/weapon/card/id)||istype(O,/obj/item/device/pda)) && brainmob) + if((istype(O,/obj/item/card/id)||istype(O,/obj/item/pda)) && brainmob) if(allowed(user)) locked = !locked - to_chat(user, "You [locked ? "lock" : "unlock"] the brain holder.") + to_chat(user, span_notice("You [locked ? "lock" : "unlock"] the brain holder.")) else - to_chat(user, "Access denied.") + to_chat(user, span_warning("Access denied.")) return if(brainmob) O.attack(brainmob, user)//Oh noooeeeee @@ -96,13 +96,13 @@ ..() //TODO: ORGAN REMOVAL UPDATE. Make the brain remain in the MMI so it doesn't lose organ data. -/obj/item/device/mmi/attack_self(mob/user as mob) +/obj/item/mmi/attack_self(mob/user as mob) if(!brainmob) - to_chat(user, "You upend the MMI, but there's nothing in it.") + to_chat(user, span_warning("You upend the MMI, but there's nothing in it.")) else if(locked) - to_chat(user, "You upend the MMI, but the brain is clamped into place.") + to_chat(user, span_warning("You upend the MMI, but the brain is clamped into place.")) else - to_chat(user, "You upend the MMI, spilling the brain onto the floor.") + to_chat(user, span_notice("You upend the MMI, spilling the brain onto the floor.")) var/obj/item/organ/internal/brain/brain if (brainobj) //Pull brain organ out of MMI. brainobj.loc = user.loc @@ -120,7 +120,7 @@ icon_state = "mmi_empty" name = "Man-Machine Interface" -/obj/item/device/mmi/proc/transfer_identity(var/mob/living/carbon/human/H)//Same deal as the regular brain proc. Used for human-->robot people. +/obj/item/mmi/proc/transfer_identity(var/mob/living/carbon/human/H)//Same deal as the regular brain proc. Used for human-->robot people. brainmob = new(src) brainmob.name = H.real_name brainmob.real_name = H.real_name @@ -137,15 +137,15 @@ locked = 1 return -/obj/item/device/mmi/relaymove(var/mob/user, var/direction) +/obj/item/mmi/relaymove(var/mob/user, var/direction) if(user.stat || user.stunned) return - var/obj/item/weapon/rig/rig = src.get_rig() + var/obj/item/rig/rig = src.get_rig() if(rig) - if(istype(rig,/obj/item/weapon/rig)) + if(istype(rig,/obj/item/rig)) rig.forced_move(direction, user) -/obj/item/device/mmi/Destroy() +/obj/item/mmi/Destroy() if(isrobot(loc)) var/mob/living/silicon/robot/borg = loc borg.mmi = null @@ -153,12 +153,12 @@ QDEL_NULL(brainmob) return ..() -/obj/item/device/mmi/radio_enabled +/obj/item/mmi/radio_enabled name = "radio-enabled man-machine interface" desc = "The Warrior's bland acronym, MMI, obscures the true horror of this monstrosity. This one comes with a built-in radio. Wait, don't they all?" origin_tech = list(TECH_BIO = 4) -/obj/item/device/mmi/emp_act(severity) +/obj/item/mmi/emp_act(severity) if(!brainmob) return else @@ -173,7 +173,7 @@ brainmob.emp_damage += rand(0,5) ..() -/obj/item/device/mmi/digital +/obj/item/mmi/digital var/searching = 0 var/askDelay = 10 * 60 * 1 req_access = list(access_robotics) @@ -181,7 +181,7 @@ mecha = null//This does not appear to be used outside of reference in mecha.dm. var/ghost_query_type = null -/obj/item/device/mmi/digital/New() +/obj/item/mmi/digital/New() src.brainmob = new(src) // src.brainmob.add_language("Robot Talk")//No binary without a binary communication device src.brainmob.add_language(LANGUAGE_GALCOM) @@ -193,25 +193,25 @@ radio = new(src) dead_mob_list -= src.brainmob -/obj/item/device/mmi/digital/attackby(var/obj/item/O as obj, var/mob/user as mob) +/obj/item/mmi/digital/attackby(var/obj/item/O as obj, var/mob/user as mob) return //Doesn't do anything right now because none of the things that can be done to a regular MMI make any sense for these -/obj/item/device/mmi/digital/examine(mob/user) +/obj/item/mmi/digital/examine(mob/user) . = ..() if(src.brainmob && src.brainmob.key) switch(src.brainmob.stat) if(CONSCIOUS) if(!src.brainmob.client) - . += "It appears to be in stand-by mode." //afk + . += span_warning("It appears to be in stand-by mode.") //afk if(UNCONSCIOUS) - . += "It doesn't seem to be responsive." + . += span_warning("It doesn't seem to be responsive.") if(DEAD) - . += "It appears to be completely inactive." + . += span_deadsay("It appears to be completely inactive.") else - . += "It appears to be completely inactive." + . += span_deadsay("It appears to be completely inactive.") -/obj/item/device/mmi/digital/emp_act(severity) +/obj/item/mmi/digital/emp_act(severity) if(!src.brainmob) return else @@ -226,7 +226,7 @@ src.brainmob.emp_damage += rand(0,5) ..() -/obj/item/device/mmi/digital/transfer_identity(var/mob/living/carbon/H) +/obj/item/mmi/digital/transfer_identity(var/mob/living/carbon/H) brainmob.dna = H.dna brainmob.timeofhostdeath = H.timeofdeath brainmob.set_stat(CONSCIOUS) @@ -234,13 +234,13 @@ H.mind.transfer_to(brainmob) return -/obj/item/device/mmi/digital/attack_self(mob/user as mob) +/obj/item/mmi/digital/attack_self(mob/user as mob) if(brainmob && !brainmob.key && searching == 0) //Start the process of searching for a new user. to_chat(user, span_blue("You carefully locate the manual activation switch and start the [src]'s boot process.")) request_player() -/obj/item/device/mmi/digital/proc/request_player() +/obj/item/mmi/digital/proc/request_player() if(!ghost_query_type) return searching = 1 @@ -253,7 +253,7 @@ else reset_search() -/obj/item/device/mmi/digital/proc/reset_search() //We give the players sixty seconds to decide, then reset the timer. +/obj/item/mmi/digital/proc/reset_search() //We give the players sixty seconds to decide, then reset the timer. if(src.brainmob && src.brainmob.key) return @@ -263,7 +263,7 @@ for (var/mob/M in viewers(T)) M.show_message(span_blue("\The [src] buzzes quietly, and the golden lights fade away. Perhaps you could try again?")) -/obj/item/device/mmi/digital/proc/transfer_personality(var/mob/candidate) +/obj/item/mmi/digital/proc/transfer_personality(var/mob/candidate) announce_ghost_joinleave(candidate, 0, "They are occupying a synthetic brain now.") src.searching = 0 if(candidate.mind) @@ -271,17 +271,17 @@ src.brainmob.mind.reset() src.brainmob.ckey = candidate.ckey src.name = "[name] ([src.brainmob.name])" - to_chat(src.brainmob, "You are [src.name], brought into existence on [station_name()].") - to_chat(src.brainmob, "As a synthetic intelligence, you are designed with organic values in mind.") - to_chat(src.brainmob, "However, unless placed in a lawed chassis, you are not obligated to obey any individual crew member.") //it's not like they can hurt anyone -// to_chat(src.brainmob, "Use say #b to speak to other artificial intelligences.") - src.brainmob.mind.assigned_role = "Synthetic Brain" + to_chat(src.brainmob, span_infoplain(span_bold("You are [src.name], brought into existence on [station_name()]."))) + to_chat(src.brainmob, span_infoplain(span_bold("As a synthetic intelligence, you are designed with organic values in mind."))) + to_chat(src.brainmob, span_infoplain(span_bold("However, unless placed in a lawed chassis, you are not obligated to obey any individual crew member."))) //it's not like they can hurt anyone +// to_chat(src.brainmob, span_infoplain(span_bold("Use say #b to speak to other artificial intelligences."))) + src.brainmob.mind.assigned_role = JOB_SYNTHETIC_BRAIN var/turf/T = get_turf_or_move(src.loc) for (var/mob/M in viewers(T)) M.show_message(span_blue("\The [src] chimes quietly.")) -/obj/item/device/mmi/digital/robot +/obj/item/mmi/digital/robot name = "robotic intelligence circuit" desc = "The pinnacle of artifical intelligence which can be achieved using classical computer science." catalogue_data = list(/datum/category_item/catalogue/technology/drone/drones) @@ -291,19 +291,19 @@ origin_tech = list(TECH_ENGINEERING = 4, TECH_MATERIAL = 3, TECH_DATA = 4) ghost_query_type = /datum/ghost_query/drone_brain -/obj/item/device/mmi/digital/robot/New() +/obj/item/mmi/digital/robot/New() ..() src.brainmob.name = "[pick(list("ADA","DOS","GNU","MAC","WIN","NJS","SKS","DRD","IOS","CRM","IBM","TEX","LVM","BSD",))]-[rand(1000, 9999)]" src.brainmob.real_name = src.brainmob.name -/obj/item/device/mmi/digital/robot/transfer_identity(var/mob/living/carbon/H) +/obj/item/mmi/digital/robot/transfer_identity(var/mob/living/carbon/H) ..() if(brainmob.mind) - brainmob.mind.assigned_role = "Robotic Intelligence" - to_chat(brainmob, "You feel slightly disoriented. That's normal when you're little more than a complex circuit.") + brainmob.mind.assigned_role = JOB_ROBOTIC_INTELLIGENCE + to_chat(brainmob, span_notify("You feel slightly disoriented. That's normal when you're little more than a complex circuit.")) return -/obj/item/device/mmi/digital/posibrain +/obj/item/mmi/digital/posibrain name = "positronic brain" desc = "A cube of shining metal, four inches to a side and covered in shallow grooves." catalogue_data = list(/datum/category_item/catalogue/technology/positronics) @@ -313,38 +313,38 @@ origin_tech = list(TECH_ENGINEERING = 4, TECH_MATERIAL = 4, TECH_BLUESPACE = 2, TECH_DATA = 4) ghost_query_type = /datum/ghost_query/posi_brain -/obj/item/device/mmi/digital/posibrain/request_player() +/obj/item/mmi/digital/posibrain/request_player() icon_state = "posibrain-searching" ..() -/obj/item/device/mmi/digital/posibrain/transfer_identity(var/mob/living/carbon/H) +/obj/item/mmi/digital/posibrain/transfer_identity(var/mob/living/carbon/H) ..() if(brainmob.mind) - brainmob.mind.assigned_role = "Positronic Brain" - to_chat(brainmob, "You feel slightly disoriented. That's normal when you're just a metal cube.") + brainmob.mind.assigned_role = JOB_POSITRONIC_BRAIN + to_chat(brainmob, span_notify("You feel slightly disoriented. That's normal when you're just a metal cube.")) icon_state = "posibrain-occupied" return -/obj/item/device/mmi/digital/posibrain/transfer_personality(var/mob/candidate) +/obj/item/mmi/digital/posibrain/transfer_personality(var/mob/candidate) ..() icon_state = "posibrain-occupied" -/obj/item/device/mmi/digital/posibrain/reset_search() //We give the players sixty seconds to decide, then reset the timer. +/obj/item/mmi/digital/posibrain/reset_search() //We give the players sixty seconds to decide, then reset the timer. ..() icon_state = "posibrain" -/obj/item/device/mmi/digital/posibrain/New() +/obj/item/mmi/digital/posibrain/New() ..() src.brainmob.name = "[pick(list("PBU","HIU","SINA","ARMA","OSI"))]-[rand(100, 999)]" src.brainmob.real_name = src.brainmob.name // This type shouldn't care about brainmobs. -/obj/item/device/mmi/inert +/obj/item/mmi/inert // This is a 'fake' MMI that is used to let AIs control borg shells directly. // This doesn't inherit from /digital because all that does is add ghost pulling capabilities, which this thing won't need. -/obj/item/device/mmi/inert/ai_remote +/obj/item/mmi/inert/ai_remote name = "\improper AI remote interface" desc = "A sophisticated board which allows for an artificial intelligence to remotely control a synthetic chassis." icon = 'icons/obj/module.dmi' diff --git a/code/modules/mob/living/carbon/brain/brain.dm b/code/modules/mob/living/carbon/brain/brain.dm index 2e77792a00c..6f98a878044 100644 --- a/code/modules/mob/living/carbon/brain/brain.dm +++ b/code/modules/mob/living/carbon/brain/brain.dm @@ -25,7 +25,7 @@ return ..() /mob/living/carbon/brain/say_understands(var/other)//Goddamn is this hackish, but this say code is so odd - if(istype(container, /obj/item/device/mmi)) + if(istype(container, /obj/item/mmi)) if(issilicon(other)) return TRUE if(ishuman(other)) @@ -35,7 +35,7 @@ return ..() /mob/living/carbon/brain/update_canmove() - if(in_contents_of(/obj/mecha) || istype(loc, /obj/item/device/mmi)) + if(in_contents_of(/obj/mecha) || istype(loc, /obj/item/mmi)) canmove = 1 use_me = 1 else @@ -43,7 +43,7 @@ return canmove /mob/living/carbon/brain/isSynthetic() - return istype(loc, /obj/item/device/mmi) + return istype(loc, /obj/item/mmi) /mob/living/carbon/brain/runechat_holder(datum/chatmessage/CM) if(isturf(loc)) @@ -54,7 +54,7 @@ // Vorestation edit start /mob/living/carbon/brain/verb/backup_ping() - set category = "IC" + set category = "IC.Game" set name = "Notify Transcore" set desc = "Your body is gone. Notify robotics to be resleeved!" var/datum/transcore_db/db = SStranscore.db_by_mind_name(mind.name) @@ -65,16 +65,16 @@ record.dead_state = MR_DEAD //Such as if you got scanned but didn't take an implant. It's a little funky, but I mean, you got scanned db.notify(record) //So you probably will want to let someone know if you die. record.last_notification = world.time - to_chat(src, "New notification has been sent.") + to_chat(src, span_notice("New notification has been sent.")) else - to_chat(src, "Your backup is not past-due yet.") + to_chat(src, span_warning("Your backup is not past-due yet.")) else if((world.time - record.last_notification) < 5 MINUTES) - to_chat(src, "Too little time has passed since your last notification.") + to_chat(src, span_warning("Too little time has passed since your last notification.")) else db.notify(record) record.last_notification = world.time - to_chat(src, "New notification has been sent.") + to_chat(src, span_notice("New notification has been sent.")) else - to_chat(src,"No backup record could be found, sorry.") + to_chat(src,span_warning("No backup record could be found, sorry.")) // VS edit ends diff --git a/code/modules/mob/living/carbon/brain/death.dm b/code/modules/mob/living/carbon/brain/death.dm index 1ad4169ceba..51ec405c9af 100644 --- a/code/modules/mob/living/carbon/brain/death.dm +++ b/code/modules/mob/living/carbon/brain/death.dm @@ -1,12 +1,12 @@ /mob/living/carbon/brain/death(gibbed) - if(!gibbed && istype(container, /obj/item/device/mmi)) //If not gibbed but in a container. + if(!gibbed && istype(container, /obj/item/mmi)) //If not gibbed but in a container. container.icon_state = "mmi_dead" return ..(gibbed,"beeps shrilly as the MMI flatlines!") else return ..(gibbed, DEATHGASP_NO_MESSAGE) /mob/living/carbon/brain/gib() - if(istype(container, /obj/item/device/mmi)) + if(istype(container, /obj/item/mmi)) qdel(container)//Gets rid of the MMI if there is one if(loc) if(istype(loc,/obj/item/organ/internal/brain)) diff --git a/code/modules/mob/living/carbon/brain/emote.dm b/code/modules/mob/living/carbon/brain/emote.dm index 0f0e4615a07..2b039355720 100644 --- a/code/modules/mob/living/carbon/brain/emote.dm +++ b/code/modules/mob/living/carbon/brain/emote.dm @@ -11,7 +11,7 @@ var/list/_brain_default_emotes = list( ) /mob/living/carbon/brain/can_emote() - return (istype(container, /obj/item/device/mmi) && ..()) + return (istype(container, /obj/item/mmi) && ..()) /mob/living/carbon/brain/get_available_emotes() return global._brain_default_emotes.Copy() diff --git a/code/modules/mob/living/carbon/brain/life.dm b/code/modules/mob/living/carbon/brain/life.dm index b3d0f142999..e31e3a615e3 100644 --- a/code/modules/mob/living/carbon/brain/life.dm +++ b/code/modules/mob/living/carbon/brain/life.dm @@ -93,7 +93,7 @@ blinded = 1 silent = 0 else //ALIVE. LIGHTS ARE ON - if( !container && (health < config.health_threshold_dead || ((world.time - timeofhostdeath) > config.revival_brain_life)) ) + if( !container && (health < CONFIG_GET(number/health_threshold_dead) || ((world.time - timeofhostdeath) > CONFIG_GET(number/revival_brain_life))) ) death() blinded = 1 silent = 0 @@ -101,7 +101,7 @@ //Handling EMP effect in the Life(), it's made VERY simply, and has some additional effects handled elsewhere if(emp_damage) //This is pretty much a damage type only used by MMIs, dished out by the emp_act - if(!(container && istype(container, /obj/item/device/mmi))) + if(!(container && istype(container, /obj/item/mmi))) emp_damage = 0 else emp_damage = round(emp_damage,1)//Let's have some nice numbers to work with diff --git a/code/modules/mob/living/carbon/brain/posibrain.dm b/code/modules/mob/living/carbon/brain/posibrain.dm index cb155797a22..222e27437c1 100644 --- a/code/modules/mob/living/carbon/brain/posibrain.dm +++ b/code/modules/mob/living/carbon/brain/posibrain.dm @@ -1,4 +1,4 @@ -/obj/item/device/mmi/digital/posibrain +/obj/item/mmi/digital/posibrain name = "positronic brain" desc = "A cube of shining metal, four inches to a side and covered in shallow grooves." icon = 'icons/obj/assemblies.dmi' @@ -13,7 +13,7 @@ mecha = null//This does not appear to be used outside of reference in mecha.dm. -/obj/item/device/mmi/digital/posibrain/attack_self(mob/user as mob) +/obj/item/mmi/digital/posibrain/attack_self(mob/user as mob) if(brainmob && !brainmob.key && searching == 0) //Start the process of searching for a new user. to_chat(user, span_blue("You carefully locate the manual activation switch and start the positronic brain's boot process.")) @@ -22,17 +22,17 @@ src.request_player() spawn(600) reset_search() -/obj/item/device/mmi/digital/posibrain/proc/request_player() +/obj/item/mmi/digital/posibrain/proc/request_player() for(var/mob/observer/dead/O in player_list) if(!O.MayRespawn()) continue - if(jobban_isbanned(O, "AI") && jobban_isbanned(O, "Cyborg")) + if(jobban_isbanned(O, JOB_AI) && jobban_isbanned(O, JOB_CYBORG)) continue if(O.client) if(O.client.prefs.be_special & BE_AI) question(O.client) -/obj/item/device/mmi/digital/posibrain/proc/question(var/client/C) +/obj/item/mmi/digital/posibrain/proc/question(var/client/C) spawn(0) if(!C) return var/response = tgui_alert(C, "Someone is requesting a personality for a positronic brain. Would you like to play as one?", "Positronic brain request", list("Yes", "No", "Never for this round")) @@ -45,26 +45,26 @@ C.prefs.be_special ^= BE_AI -/obj/item/device/mmi/digital/posibrain/transfer_identity(var/mob/living/carbon/H) +/obj/item/mmi/digital/posibrain/transfer_identity(var/mob/living/carbon/H) ..() if(brainmob.mind) - brainmob.mind.assigned_role = "Positronic Brain" - to_chat(brainmob, "You feel slightly disoriented. That's normal when you're just a metal cube.") + brainmob.mind.assigned_role = JOB_POSITRONIC_BRAIN + to_chat(brainmob, span_notify("You feel slightly disoriented. That's normal when you're just a metal cube.")) icon_state = "posibrain-occupied" return -/obj/item/device/mmi/digital/posibrain/proc/transfer_personality(var/mob/candidate) +/obj/item/mmi/digital/posibrain/proc/transfer_personality(var/mob/candidate) announce_ghost_joinleave(candidate, 0, "They are occupying a positronic brain now.") src.searching = 0 src.brainmob.mind = candidate.mind src.brainmob.ckey = candidate.ckey src.brainmob.mind.reset() src.name = "positronic brain ([src.brainmob.name])" - to_chat(src.brainmob, "You are a positronic brain, brought into existence on [station_name()].") - to_chat(src.brainmob, "As a synthetic intelligence, you answer to all crewmembers, as well as the AI.") - to_chat(src.brainmob, "Remember, the purpose of your existence is to serve the crew and the station. Above all else, do no harm.") - to_chat(src.brainmob, "Use say #b to speak to other artificial intelligences.") - src.brainmob.mind.assigned_role = "Positronic Brain" + to_chat(src.brainmob, span_infoplain(span_bold("You are a positronic brain, brought into existence on [station_name()]."))) + to_chat(src.brainmob, span_infoplain(span_bold("As a synthetic intelligence, you answer to all crewmembers, as well as the AI."))) + to_chat(src.brainmob, span_infoplain(span_bold("Remember, the purpose of your existence is to serve the crew and the station. Above all else, do no harm."))) + to_chat(src.brainmob, span_infoplain(span_bold("Use say #b to speak to other artificial intelligences."))) + src.brainmob.mind.assigned_role = JOB_POSITRONIC_BRAIN var/turf/T = get_turf_or_move(src.loc) for (var/mob/M in viewers(T)) @@ -72,7 +72,7 @@ playsound(src, 'sound/misc/boobeebeep.ogg', 50, 1) icon_state = "posibrain-occupied" -/obj/item/device/mmi/digital/posibrain/proc/reset_search() //We give the players sixty seconds to decide, then reset the timer. +/obj/item/mmi/digital/posibrain/proc/reset_search() //We give the players sixty seconds to decide, then reset the timer. if(src.brainmob && src.brainmob.key) return to_world_log("Resetting Posibrain: [brainmob][brainmob ? ", [brainmob.key]" : ""]") @@ -85,7 +85,7 @@ M.show_message(span_blue("The positronic brain buzzes and beeps, and the golden lights fade away. Perhaps you could try again?")) playsound(src, 'sound/misc/buzzbeep.ogg', 50, 1) -/obj/item/device/mmi/digital/posibrain/emp_act(severity) +/obj/item/mmi/digital/posibrain/emp_act(severity) if(!src.brainmob) return else @@ -100,7 +100,7 @@ src.brainmob.emp_damage += rand(0,5) ..() -/obj/item/device/mmi/digital/posibrain/New() +/obj/item/mmi/digital/posibrain/New() ..() src.brainmob.name = "[pick(list("PBU","HIU","SINA","ARMA","OSI"))]-[rand(100, 999)]" src.brainmob.real_name = src.brainmob.name diff --git a/code/modules/mob/living/carbon/brain/robot.dm b/code/modules/mob/living/carbon/brain/robot.dm index 9723a2aa774..ee235d4a1d6 100644 --- a/code/modules/mob/living/carbon/brain/robot.dm +++ b/code/modules/mob/living/carbon/brain/robot.dm @@ -1,4 +1,4 @@ -/obj/item/device/mmi/digital/robot +/obj/item/mmi/digital/robot name = "robotic intelligence circuit" desc = "The pinnacle of artifical intelligence which can be achieved using classical computer science." icon = 'icons/obj/module.dmi' @@ -6,18 +6,18 @@ w_class = ITEMSIZE_NORMAL origin_tech = list(TECH_ENGINEERING = 4, TECH_MATERIAL = 3, TECH_DATA = 4) -/obj/item/device/mmi/digital/robot/New() +/obj/item/mmi/digital/robot/New() ..() src.brainmob.name = "[pick(list("ADA","DOS","GNU","MAC","WIN"))]-[rand(1000, 9999)]" src.brainmob.real_name = src.brainmob.name src.name = "robotic intelligence circuit ([src.brainmob.name])" -/obj/item/device/mmi/digital/robot/transfer_identity(var/mob/living/carbon/H) +/obj/item/mmi/digital/robot/transfer_identity(var/mob/living/carbon/H) ..() if(brainmob.mind) - brainmob.mind.assigned_role = "Robotic Intelligence" - to_chat(brainmob, "You feel slightly disoriented. That's normal when you're little more than a complex circuit.") + brainmob.mind.assigned_role = JOB_ROBOTIC_INTELLIGENCE + to_chat(brainmob, span_notify("You feel slightly disoriented. That's normal when you're little more than a complex circuit.")) return -/obj/item/device/mmi/digital/robot/attack_self(mob/user as mob) - return //This object is technically a brain, and should not be dumping brains out of itself like its parent object does. \ No newline at end of file +/obj/item/mmi/digital/robot/attack_self(mob/user as mob) + return //This object is technically a brain, and should not be dumping brains out of itself like its parent object does. diff --git a/code/modules/mob/living/carbon/brain/say.dm b/code/modules/mob/living/carbon/brain/say.dm index 5a890b6aa51..ee246e4dbd3 100644 --- a/code/modules/mob/living/carbon/brain/say.dm +++ b/code/modules/mob/living/carbon/brain/say.dm @@ -19,11 +19,11 @@ /mob/living/carbon/brain/handle_message_mode(message_mode, message, verb, speaking, used_radios) ..() if(message_mode) - var/obj/item/device/mmi/R = container + var/obj/item/mmi/R = container if(R.radio && R.radio.radio_enabled) if(message_mode == "general") message_mode = null return R.radio.talk_into(src, message, message_mode, verb, speaking) else - to_chat(src, "Your radio is disabled.") + to_chat(src, span_danger("Your radio is disabled.")) return 0 diff --git a/code/modules/mob/living/carbon/breathe.dm b/code/modules/mob/living/carbon/breathe.dm index 1945db3e90a..009667dbf4b 100644 --- a/code/modules/mob/living/carbon/breathe.dm +++ b/code/modules/mob/living/carbon/breathe.dm @@ -2,7 +2,7 @@ //Start of a breath chain, calls breathe() /mob/living/carbon/handle_breathing() - if(air_master.current_cycle%4==2 || failed_last_breath || (health < config.health_threshold_crit)) //First, resolve location and get a breath + if(SSair.current_cycle%4==2 || failed_last_breath || (health < CONFIG_GET(number/health_threshold_crit))) //First, resolve location and get a breath breathe() /mob/living/carbon/proc/breathe() @@ -12,7 +12,7 @@ var/datum/gas_mixture/breath = null //First, check if we can breathe at all - if(health < config.health_threshold_crit && !(CE_STABLE in chem_effects)) //crit aka circulatory shock + if(health < CONFIG_GET(number/health_threshold_crit) && !(CE_STABLE in chem_effects)) //crit aka circulatory shock AdjustLosebreath(1) if(losebreath>0) //Suffocating so do not take a breath diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 0969e6137a5..9b6f1210c81 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -11,8 +11,6 @@ /mob/living/carbon/Life() ..() - handle_viruses() - // Increase germ_level regularly if(germ_level < GERM_LEVEL_AMBIENT && prob(30)) //if you're just standing there, you shouldn't get more germs beyond an ambient level germ_level++ @@ -49,7 +47,7 @@ if((user in src.stomach_contents) && istype(user)) if(user.last_special <= world.time) user.last_special = world.time + 50 - src.visible_message("You hear something rumbling inside [src]'s stomach...") + src.visible_message(span_danger("You hear something rumbling inside [src]'s stomach...")) var/obj/item/I = user.get_active_hand() if(I && I.force) var/d = rand(round(I.force / 4), I.force) @@ -62,7 +60,7 @@ H.updatehealth() else src.take_organ_damage(d) - user.visible_message("[user] attacks [src]'s stomach wall with the [I.name]!") + user.visible_message(span_danger("[user] attacks [src]'s stomach wall with the [I.name]!")) playsound(user, 'sound/effects/attackblob.ogg', 50, 1) if(prob(src.getBruteLoss() - 50)) @@ -78,7 +76,7 @@ M.loc = src.loc for(var/mob/N in viewers(src, null)) if(N.client) - N.show_message(span_red(text("[M] bursts out of [src]!")), 2) + N.show_message(span_bolddanger("[M] bursts out of [src]!"), 2) ..() /mob/living/carbon/attack_hand(mob/M as mob) @@ -89,7 +87,7 @@ if (H.hand) temp = H.organs_by_name["l_hand"] if(temp && !temp.is_usable()) - to_chat(H, span_red("You can't use your [temp.name]")) + to_chat(H, span_warning("You can't use your [temp.name]")) return return @@ -106,21 +104,21 @@ var/weaken_dur = (rand(2,4)-severity)*species.emp_stun_mod //0-3 knockdown, on par with.. you get the idea var/blind_dur = (rand(3,6)-severity)*species.emp_stun_mod //0-5 blind if(species.emp_sensitivity) //receive warning message and basic effects - to_chat(src, "*BZZZT*") + to_chat(src, span_bolddanger("*BZZZT*")) switch(severity) if(1) - to_chat(src, "DANGER: Extreme EM flux detected!") + to_chat(src, span_danger("DANGER: Extreme EM flux detected!")) if(2) - to_chat(src, "Danger: High EM flux detected!") + to_chat(src, span_danger("Danger: High EM flux detected!")) if(3) - to_chat(src, "Warning: Moderate EM flux detected!") + to_chat(src, span_danger("Warning: Moderate EM flux detected!")) if(4) - to_chat(src, "Warning: Minor EM flux detected!") + to_chat(src, span_danger("Warning: Minor EM flux detected!")) if(prob(90-(10*severity))) //50-80% chance to fire an emote. most are harmless, but vomit might reduce your nutrition level which could suck (so the whole thing is padded out with extras) src.emote(pick("twitch", "twitch_v", "choke", "pale", "blink", "blink_r", "shiver", "sneeze", "vomit", "gasp", "cough", "drool")) //stun effects block, effects vary wildly if(species.emp_sensitivity & EMP_PAIN) - to_chat(src, "A wave of intense pain washes over you.") + to_chat(src, span_danger("A wave of intense pain washes over you.")) src.adjustHalLoss(agony_str) if(species.emp_sensitivity & EMP_BLIND) if(blind_dur >= 1) //don't flash them unless they actually roll a positive blind duration @@ -131,11 +129,11 @@ src.ear_deaf = max(src.ear_deaf,deafen_dur) if(species.emp_sensitivity & EMP_CONFUSE) if(confuse_dur >= 1) - to_chat(src, "Oh god, everything's spinning!") + to_chat(src, span_danger("Oh god, everything's spinning!")) Confuse(max(0,confuse_dur)) if(species.emp_sensitivity & EMP_WEAKEN) if(weaken_dur >= 1) - to_chat(src, "Your limbs go slack!") + to_chat(src, span_danger("Your limbs go slack!")) Weaken(max(0,weaken_dur)) //physical damage block, deals (minor-4) 5-15, 10-20, 15-25, 20-30 (extreme-1) of *each* type if(species.emp_sensitivity & EMP_BRUTE_DMG) @@ -165,15 +163,15 @@ playsound(src, "sparks", 50, 1, -1) if (shock_damage > 15) src.visible_message( - "[src] was electrocuted[source ? " by the [source]" : ""]!", \ - "You feel a powerful shock course through your body!", \ - "You hear a heavy electrical crack." \ + span_warning("[src] was electrocuted[source ? " by the [source]" : ""]!"), \ + span_danger("You feel a powerful shock course through your body!"), \ + span_warning("You hear a heavy electrical crack.") \ ) else src.visible_message( - "[src] was shocked[source ? " by the [source]" : ""].", \ - "You feel a shock course through your body.", \ - "You hear a zapping sound." \ + span_warning("[src] was shocked[source ? " by the [source]" : ""]."), \ + span_warning("You feel a shock course through your body."), \ + span_warning("You hear a zapping sound.") \ ) if(stun) @@ -194,13 +192,13 @@ return shock_damage /mob/living/carbon/proc/help_shake_act(mob/living/carbon/M) - if (src.health >= config.health_threshold_crit) + if (src.health >= CONFIG_GET(number/health_threshold_crit)) if(src == M && istype(src, /mob/living/carbon/human)) var/mob/living/carbon/human/H = src var/datum/gender/T = gender_datums[H.get_visible_gender()] src.visible_message( \ - "[src] examines [T.himself].", \ - "You check yourself for injuries." \ + span_notice("[src] examines [T.himself]."), \ + span_notice("You check yourself for injuries.") \ ) for(var/obj/item/organ/external/org in H.organs) @@ -243,33 +241,33 @@ if(!org.is_usable() || org.is_dislocated()) status += "dangling uselessly" if(status.len) - src.show_message("My [org.name] is [english_list(status)].",1) + src.show_message("My [org.name] is " + span_warning("[english_list(status)]."),1) else - src.show_message("My [org.name] is OK.",1) + src.show_message("My [org.name] is " + span_notice("OK."),1) if((SKELETON in H.mutations) && (!H.w_uniform) && (!H.wear_suit)) H.play_xylophone() else if (on_fire) playsound(src, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) if (M.on_fire) - M.visible_message("[M] tries to pat out [src]'s flames, but to no avail!", - "You try to pat out [src]'s flames, but to no avail! Put yourself out first!") + M.visible_message(span_warning("[M] tries to pat out [src]'s flames, but to no avail!"), + span_warning("You try to pat out [src]'s flames, but to no avail! Put yourself out first!")) else - M.visible_message("[M] tries to pat out [src]'s flames!", - "You try to pat out [src]'s flames! Hot!") + M.visible_message(span_warning("[M] tries to pat out [src]'s flames!"), + span_warning("You try to pat out [src]'s flames! Hot!")) if(do_mob(M, src, 15)) src.adjust_fire_stacks(-0.5) if (prob(10) && (M.fire_stacks <= 0)) M.adjust_fire_stacks(1) M.IgniteMob() if (M.on_fire) - M.visible_message("The fire spreads from [src] to [M]!", - "The fire spreads to you as well!") + M.visible_message(span_danger("The fire spreads from [src] to [M]!"), + span_danger("The fire spreads to you as well!")) else src.adjust_fire_stacks(-0.5) //Less effective than stop, drop, and roll - also accounting for the fact that it takes half as long. if (src.fire_stacks <= 0) - M.visible_message("[M] successfully pats out [src]'s flames.", - "You successfully pat out [src]'s flames.") + M.visible_message(span_warning("[M] successfully pats out [src]'s flames."), + span_warning("You successfully pat out [src]'s flames.")) src.ExtinguishMob() src.fire_stacks = 0 else @@ -282,21 +280,21 @@ var/datum/gender/T = gender_datums[H.get_visible_gender()] // make sure to cast to human before using get_gender() or get_visible_gender()! if(istype(H)) show_ssd = H.species.show_ssd if(show_ssd && !client && !teleop) - M.visible_message("[M] shakes [src] trying to wake [T.him] up!", \ - "You shake [src], but [T.he] [T.does] not respond... Maybe [T.he] [T.has] S.S.D?") + M.visible_message(span_notice("[M] shakes [src] trying to wake [T.him] up!"), \ + span_notice("You shake [src], but [T.he] [T.does] not respond... Maybe [T.he] [T.has] S.S.D?")) else if(lying || src.sleeping) AdjustSleeping(-5) if(src.sleeping == 0) src.resting = 0 if(H) H.in_stasis = 0 //VOREStation Add - Just In Case - M.visible_message("[M] shakes [src] trying to wake [T.him] up!", \ - "You shake [src] trying to wake [T.him] up!") + M.visible_message(span_notice("[M] shakes [src] trying to wake [T.him] up!"), \ + span_notice("You shake [src] trying to wake [T.him] up!")) else var/mob/living/carbon/human/hugger = M var/datum/gender/TM = gender_datums[M.get_visible_gender()] if(M.resting == 1) //Are they resting on the ground? - M.visible_message("[M] grabs onto [src] and pulls [TM.himself] up", \ - "You grip onto [src] and pull yourself up off the ground!") + M.visible_message(span_notice("[M] grabs onto [src] and pulls [TM.himself] up"), \ + span_notice("You grip onto [src] and pull yourself up off the ground!")) if(M.fire_stacks >= (src.fire_stacks + 3)) //Fire checks. src.adjust_fire_stacks(1) M.adjust_fire_stacks(-1) @@ -307,8 +305,8 @@ else if(istype(hugger)) hugger.species.hug(hugger,src) else - M.visible_message("[M] hugs [src] to make [T.him] feel better!", \ - "You hug [src] to make [T.him] feel better!") + M.visible_message(span_notice("[M] hugs [src] to make [T.him] feel better!"), \ + span_notice("You hug [src] to make [T.him] feel better!")) if(M.fire_stacks >= (src.fire_stacks + 3)) src.adjust_fire_stacks(1) M.adjust_fire_stacks(-1) @@ -398,7 +396,10 @@ return ..() if(istype(A, /mob/living/carbon) && prob(10)) - spread_disease_to(A, "Contact") + var/mob/living/carbon/human/H = A + for(var/datum/disease/D in GetViruses()) + if(D.spread_flags & CONTACT_GENERAL) + H.ContractDisease(D) /mob/living/carbon/cannot_use_vents() return @@ -407,7 +408,7 @@ if(buckled) return 0 stop_pulling() - to_chat(src, "You slipped on [slipped_on]!") + to_chat(src, span_warning("You slipped on [slipped_on]!")) playsound(src, 'sound/misc/slip.ogg', 50, 1, -3) Weaken(FLOOR(stun_duration/2, 1)) return 1 @@ -455,7 +456,7 @@ throw_alert("handcuffed", /obj/screen/alert/restrained/handcuffed, new_master = handcuffed) else clear_alert("handcuffed") - update_action_buttons() //some of our action buttons might be unusable when we're handcuffed. + update_mob_action_buttons() //some of our action buttons might be unusable when we're handcuffed. update_inv_handcuffed() // Clears blood overlays @@ -542,3 +543,12 @@ if(allergen_type in species.food_preference) return species.food_preference_bonus return 0 + +/mob/living/carbon/handle_diseases() + for(var/thing in GetViruses()) + var/datum/disease/D = thing + if(prob(D.infectivity)) + D.spread() + + if(stat != DEAD || D.allow_dead) + D.stage_act() diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm index df195a495e7..921ff6996c4 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -41,7 +41,7 @@ // Attacking someone with a weapon while they are neck-grabbed /mob/living/carbon/proc/check_neckgrab_attack(obj/item/W, mob/user, var/hit_zone) if(user.a_intent == I_HURT) - for(var/obj/item/weapon/grab/G in src.grabbed_by) + for(var/obj/item/grab/G in src.grabbed_by) if(G.assailant == user) if(G.state >= GRAB_AGGRESSIVE) if(hit_zone == BP_TORSO && shank_attack(W, G, user)) @@ -53,12 +53,12 @@ // Knifing -/mob/living/carbon/proc/attack_throat(obj/item/W, obj/item/weapon/grab/G, mob/user) +/mob/living/carbon/proc/attack_throat(obj/item/W, obj/item/grab/G, mob/user) if(!W.edge || !W.force || W.damtype != BRUTE) return 0 //unsuitable weapon - user.visible_message("\The [user] begins to slit [src]'s throat with \the [W]!") + user.visible_message(span_danger("\The [user] begins to slit [src]'s throat with \the [W]!")) user.next_move = world.time + 20 //also should prevent user from triggering this repeatedly if(!do_after(user, 20)) @@ -87,9 +87,9 @@ if(total_damage) if(oxyloss >= 40) - user.visible_message("\The [user] slit [src]'s throat open with \the [W]!") + user.visible_message(span_danger("\The [user] slit [src]'s throat open with \the [W]!")) else - user.visible_message("\The [user] cut [src]'s neck with \the [W]!") + user.visible_message(span_danger("\The [user] cut [src]'s neck with \the [W]!")) if(W.hitsound) playsound(src, W.hitsound, 50, 1, -1) @@ -101,12 +101,12 @@ return 1 -/mob/living/carbon/proc/shank_attack(obj/item/W, obj/item/weapon/grab/G, mob/user, hit_zone) +/mob/living/carbon/proc/shank_attack(obj/item/W, obj/item/grab/G, mob/user, hit_zone) if(!W.sharp || !W.force || W.damtype != BRUTE) return 0 //unsuitable weapon - user.visible_message("\The [user] plunges \the [W] into \the [src]!") + user.visible_message(span_danger("\The [user] plunges \the [W] into \the [src]!")) var/damage = shank_armor_helper(W, G, user) apply_damage(damage, W.damtype, "torso", 0, sharp=W.sharp, edge=W.edge) @@ -118,7 +118,7 @@ return 1 -/mob/living/carbon/proc/shank_armor_helper(obj/item/W, obj/item/weapon/grab/G, mob/user) +/mob/living/carbon/proc/shank_armor_helper(obj/item/W, obj/item/grab/G, mob/user) var/damage = W.force var/damage_mod = 1 if(W.edge) @@ -152,4 +152,4 @@ damage = damage * damage_mod - return damage \ No newline at end of file + return damage diff --git a/code/modules/mob/living/carbon/carbon_defines.dm b/code/modules/mob/living/carbon/carbon_defines.dm index 8dc29e6d3b8..24a03592974 100644 --- a/code/modules/mob/living/carbon/carbon_defines.dm +++ b/code/modules/mob/living/carbon/carbon_defines.dm @@ -3,7 +3,6 @@ blocks_emissive = EMISSIVE_BLOCK_UNIQUE // BLEH, this could be improved for transparent species and stuff! And blocks glowing eyes?! var/datum/species/species //Contains icon generation and language information, set during New(). var/list/stomach_contents = list() - var/list/datum/disease2/disease/virus2 = list() var/list/antibodies = list() var/last_eating = 0 //Not sure what this does... I found it hidden in food.dm @@ -29,4 +28,4 @@ //these two help govern taste. The first is the last time a taste message was shown to the plaer. //the second is the message in question. var/last_taste_time = 0 - var/last_taste_text = "" \ No newline at end of file + var/last_taste_text = "" diff --git a/code/modules/mob/living/carbon/carbon_powers.dm b/code/modules/mob/living/carbon/carbon_powers.dm index e6e7e06e5c7..d6fdc94788b 100644 --- a/code/modules/mob/living/carbon/carbon_powers.dm +++ b/code/modules/mob/living/carbon/carbon_powers.dm @@ -1,27 +1,27 @@ //Brain slug proc for voluntary removal of control. /mob/living/carbon/proc/release_control() - set category = "Abilities" + set category = "Abilities.Brainslug" set name = "Release Control" set desc = "Release control of your host's body." var/mob/living/simple_mob/animal/borer/B = has_brain_worms() if(B && B.host_brain) - to_chat(src, "You withdraw your probosci, releasing control of [B.host_brain]") + to_chat(src, span_danger("You withdraw your probosci, releasing control of [B.host_brain]")) B.detatch() - verbs -= /mob/living/carbon/proc/release_control - verbs -= /mob/living/carbon/proc/punish_host - verbs -= /mob/living/carbon/proc/spawn_larvae + remove_verb(src, /mob/living/carbon/proc/release_control) + remove_verb(src, /mob/living/carbon/proc/punish_host) + remove_verb(src, /mob/living/carbon/proc/spawn_larvae) else - to_chat(src, "ERROR NO BORER OR BRAINMOB DETECTED IN THIS MOB, THIS IS A BUG !") + to_chat(src, span_danger("ERROR NO BORER OR BRAINMOB DETECTED IN THIS MOB, THIS IS A BUG !")) //Brain slug proc for tormenting the host. /mob/living/carbon/proc/punish_host() - set category = "Abilities" + set category = "Abilities.Brainslug" set name = "Torment host" set desc = "Punish your host with agony." @@ -31,15 +31,15 @@ return if(B.host_brain.ckey) - to_chat(src, "You send a punishing spike of psychic agony lancing into your host's brain.") + to_chat(src, span_danger("You send a punishing spike of psychic agony lancing into your host's brain.")) if (!can_feel_pain()) - to_chat(B.host_brain, "You feel a strange sensation as a foreign influence prods your mind.") - to_chat(src, "It doesn't seem to be as effective as you hoped.") + to_chat(B.host_brain, span_warning("You feel a strange sensation as a foreign influence prods your mind.")) + to_chat(src, span_danger("It doesn't seem to be as effective as you hoped.")) else - to_chat(B.host_brain, "Horrific, burning agony lances through you, ripping a soundless scream from your trapped mind!") + to_chat(B.host_brain, span_danger("Horrific, burning agony lances through you, ripping a soundless scream from your trapped mind!")) /mob/living/carbon/proc/spawn_larvae() - set category = "Abilities" + set category = "Abilities.Brainslug" set name = "Reproduce" set desc = "Spawn several young." @@ -49,8 +49,8 @@ return if(B.chemicals >= 100) - to_chat(src, "Your host twitches and quivers as you rapidly excrete a larva from your sluglike body.") - visible_message("\The [src] heaves violently, expelling a rush of vomit and a wriggling, sluglike creature!") + to_chat(src, span_danger("Your host twitches and quivers as you rapidly excrete a larva from your sluglike body.")) + visible_message(span_danger("\The [src] heaves violently, expelling a rush of vomit and a wriggling, sluglike creature!")) B.chemicals -= 100 B.has_reproduced = 1 @@ -58,5 +58,5 @@ new /mob/living/simple_mob/animal/borer(get_turf(src)) else - to_chat(src, "You do not have enough chemicals stored to reproduce.") - return \ No newline at end of file + to_chat(src, span_warning("You do not have enough chemicals stored to reproduce.")) + return diff --git a/code/modules/mob/living/carbon/give.dm b/code/modules/mob/living/carbon/give.dm index 43bab179d65..93559fbd982 100644 --- a/code/modules/mob/living/carbon/give.dm +++ b/code/modules/mob/living/carbon/give.dm @@ -1,5 +1,5 @@ /mob/living/verb/give(var/mob/living/target in living_mobs(1)) - set category = "IC" + set category = "IC.Game" set name = "Give" do_give(target) @@ -15,32 +15,32 @@ if(!I) I = src.get_inactive_hand() if(!I) - to_chat(src, SPAN_WARNING("You don't have anything in your hands to give to \the [target].")) + to_chat(src, span_warning("You don't have anything in your hands to give to \the [target].")) return - usr.visible_message(SPAN_NOTICE("\The [usr] holds out \the [I] to \the [target]."), SPAN_NOTICE("You hold out \the [I] to \the [target], waiting for them to accept it.")) + usr.visible_message(span_notice("\The [usr] holds out \the [I] to \the [target]."), span_notice("You hold out \the [I] to \the [target], waiting for them to accept it.")) - if(tgui_alert(target,"[src] wants to give you \a [I]. Will you accept it?","Item Offer",list("Yes","No")) == "No") - target.visible_message(SPAN_NOTICE("\The [src] tried to hand \the [I] to \the [target], but \the [target] didn't want it.")) + if(tgui_alert(target,"[src] wants to give you \a [I]. Will you accept it?","Item Offer",list("Yes","No")) != "Yes") + target.visible_message(span_notice("\The [src] tried to hand \the [I] to \the [target], but \the [target] didn't want it.")) return if(!I) return if(!Adjacent(target)) - to_chat(src, SPAN_WARNING("You need to stay in reaching distance while giving an object")) - to_chat(target, SPAN_WARNING("\The [src] moved too far away.")) + to_chat(src, span_warning("You need to stay in reaching distance while giving an object")) + to_chat(target, span_warning("\The [src] moved too far away.")) return if(I.loc != src || !src.item_is_in_hands(I)) - to_chat(src, SPAN_WARNING("You need to keep the item in your hands.")) - to_chat(target, SPAN_WARNING("\The [src] seems to have given up on passing \the [I] to you.")) + to_chat(src, span_warning("You need to keep the item in your hands.")) + to_chat(target, span_warning("\The [src] seems to have given up on passing \the [I] to you.")) return if(target.hands_are_full()) - to_chat(target, SPAN_WARNING("Your hands are full.")) - to_chat(src, SPAN_WARNING("Their hands are full.")) + to_chat(target, span_warning("Your hands are full.")) + to_chat(src, span_warning("Their hands are full.")) return if(src.unEquip(I)) target.put_in_hands(I) // If this fails it will just end up on the floor, but that's fitting for things like dionaea. - target.visible_message(SPAN_NOTICE("\The [src] handed \the [I] to \the [target]")) + target.visible_message(span_notice("\The [src] handed \the [I] to \the [target]")) diff --git a/code/modules/mob/living/carbon/human/ai_controlled/ai_controlled.dm b/code/modules/mob/living/carbon/human/ai_controlled/ai_controlled.dm index a028c12e72e..54df0bdb0b8 100644 --- a/code/modules/mob/living/carbon/human/ai_controlled/ai_controlled.dm +++ b/code/modules/mob/living/carbon/human/ai_controlled/ai_controlled.dm @@ -18,21 +18,21 @@ var/to_wear_helmet = /obj/item/clothing/head/welding var/to_wear_glasses = /obj/item/clothing/glasses/threedglasses var/to_wear_mask = /obj/item/clothing/mask/gas - var/to_wear_l_radio = /obj/item/device/radio/headset + var/to_wear_l_radio = /obj/item/radio/headset var/to_wear_r_radio = null var/to_wear_uniform = /obj/item/clothing/under/color/grey var/to_wear_suit = /obj/item/clothing/suit/armor/material/makeshift/glass - var/to_wear_gloves = /obj/item/clothing/gloves/ring/material/platinum + var/to_wear_gloves = /obj/item/clothing/accessory/ring/material/platinum var/to_wear_shoes = /obj/item/clothing/shoes/galoshes - var/to_wear_belt = /obj/item/weapon/storage/belt/utility/full - var/to_wear_l_pocket = /obj/item/weapon/soap - var/to_wear_r_pocket = /obj/item/device/pda - var/to_wear_back = /obj/item/weapon/storage/backpack - var/to_wear_id_type = /obj/item/weapon/card/id - var/to_wear_id_job = "Assistant" + var/to_wear_belt = /obj/item/storage/belt/utility/full + var/to_wear_l_pocket = /obj/item/soap + var/to_wear_r_pocket = /obj/item/pda + var/to_wear_back = /obj/item/storage/backpack + var/to_wear_id_type = /obj/item/card/id + var/to_wear_id_job = JOB_ALT_ASSISTANT var/to_wear_l_hand = null - var/to_wear_r_hand = /obj/item/weapon/melee/baton + var/to_wear_r_hand = /obj/item/melee/baton /mob/living/carbon/human/ai_controlled/Initialize() if(generate_gender) @@ -91,7 +91,7 @@ equip_to_slot_or_del(new to_wear_r_hand(src), slot_r_hand) if(to_wear_id_type) - var/obj/item/weapon/card/id/W = new to_wear_id_type(src) + var/obj/item/card/id/W = new to_wear_id_type(src) W.name = "[real_name]'s ID Card" var/datum/job/jobdatum for(var/jobtype in typesof(/datum/job)) @@ -121,22 +121,22 @@ generate_gender = TRUE identifying_gender = NEUTER - faction = "xeno" + faction = FACTION_XENO to_wear_helmet = /obj/item/clothing/head/helmet/dermal to_wear_glasses = /obj/item/clothing/glasses/goggles to_wear_mask = /obj/item/clothing/mask/gas/half - to_wear_l_radio = /obj/item/device/radio/headset/headset_rob + to_wear_l_radio = /obj/item/radio/headset to_wear_r_radio = null to_wear_uniform = /obj/item/clothing/under/color/grey to_wear_suit = /obj/item/clothing/suit/armor/vest to_wear_gloves = null to_wear_shoes = /obj/item/clothing/shoes/boots/combat/changeling - to_wear_belt = /obj/item/weapon/storage/belt/utility/full - to_wear_l_pocket = /obj/item/weapon/grenade/explosive/mini - to_wear_r_pocket = /obj/item/weapon/grenade/explosive/mini - to_wear_back = /obj/item/device/radio/electropack - to_wear_id_type = /obj/item/weapon/card/id + to_wear_belt = /obj/item/storage/belt/utility/full + to_wear_l_pocket = /obj/item/grenade/explosive/mini + to_wear_r_pocket = /obj/item/grenade/explosive/mini + to_wear_back = /obj/item/radio/electropack + to_wear_id_type = /obj/item/card/id to_wear_id_job = "Experiment" to_wear_r_hand = null diff --git a/code/modules/mob/living/carbon/human/appearance.dm b/code/modules/mob/living/carbon/human/appearance.dm index c2f767cbcb5..6397b86fc17 100644 --- a/code/modules/mob/living/carbon/human/appearance.dm +++ b/code/modules/mob/living/carbon/human/appearance.dm @@ -53,7 +53,7 @@ update_hair() return 1 - + /mob/living/carbon/human/proc/change_hair_gradient(var/hair_gradient) if(!hair_gradient) return @@ -124,7 +124,7 @@ update_hair() return 1 - + /mob/living/carbon/human/proc/change_grad_color(var/red, var/green, var/blue) if(red == r_grad && green == g_grad && blue == b_grad) return @@ -180,7 +180,7 @@ for(var/current_species_name in GLOB.all_species) var/datum/species/current_species = GLOB.all_species[current_species_name] - if(check_whitelist && config.usealienwhitelist && !check_rights(R_ADMIN|R_EVENT, 0, src)) //If we're using the whitelist, make sure to check it! + if(check_whitelist && CONFIG_GET(flag/usealienwhitelist) && !check_rights(R_ADMIN|R_EVENT, 0, src)) //If we're using the whitelist, make sure to check it! if(!(current_species.spawn_flags & SPECIES_CAN_JOIN)) continue if(whitelist.len && !(current_species_name in whitelist)) diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm index a34cce9cb17..dd76b5dfec7 100644 --- a/code/modules/mob/living/carbon/human/death.dm +++ b/code/modules/mob/living/carbon/human/death.dm @@ -77,15 +77,15 @@ B.host_brain.name = "host brain" B.host_brain.real_name = "host brain" - verbs -= /mob/living/carbon/proc/release_control + remove_verb(src, /mob/living/carbon/proc/release_control) callHook("death", list(src, gibbed)) if(mind) // SSgame_master.adjust_danger(gibbed ? 40 : 20) // VOREStation Edit - We don't use SSgame_master yet. for(var/mob/observer/dead/O in mob_list) - if(O.client && O.client.is_preference_enabled(/datum/client_preference/show_dsay)) - to_chat(O, "[src] has died in [get_area(src)]. [ghost_follow_link(src, O)] ") + if(O.client?.prefs?.read_preference(/datum/preference/toggle/show_dsay)) + to_chat(O, span_deadsay(span_bold("[src]") + " has died in " + span_bold("[get_area(src)]") + ". [ghost_follow_link(src, O)] ")) if(!gibbed && species.death_sound) playsound(src, species.death_sound, 80, 1, 1) @@ -95,7 +95,7 @@ ticker.mode.check_win() if(wearing_rig) - wearing_rig.notify_ai("Warning: user death event. Mobility control passed to integrated intelligence system.") + wearing_rig.notify_ai(span_danger("Warning: user death event. Mobility control passed to integrated intelligence system.")) // If the body is in VR, move the mind back to the real world if(vr_holder) @@ -109,7 +109,7 @@ vr_link.exit_vr() vr_link.vr_holder = null vr_link = null - to_chat(src, "Everything abruptly stops.") + to_chat(src, span_danger("Everything abruptly stops.")) return ..(gibbed,species.get_death_message(src)) diff --git a/code/modules/mob/living/carbon/human/death_vr.dm b/code/modules/mob/living/carbon/human/death_vr.dm index d29f6609462..6917fe7abcb 100644 --- a/code/modules/mob/living/carbon/human/death_vr.dm +++ b/code/modules/mob/living/carbon/human/death_vr.dm @@ -3,7 +3,7 @@ //Drop the NIF, they're expensive, why not recover them? release_vore_contents(silent = TRUE) if(nif) - var/obj/item/device/nif/deadnif = nif //Unimplant removes the reference on the mob + var/obj/item/nif/deadnif = nif //Unimplant removes the reference on the mob if(!deadnif.gib_nodrop) deadnif.unimplant(src) deadnif.forceMove(drop_location()) diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm index 87c43a12e92..83d36e57259 100644 --- a/code/modules/mob/living/carbon/human/emote.dm +++ b/code/modules/mob/living/carbon/human/emote.dm @@ -9,6 +9,8 @@ var/list/_human_default_emotes = list( /decl/emote/audible/synth/dwoop, /decl/emote/audible/synth/boop, /decl/emote/audible/synth/robochirp, + /decl/emote/audible/synth/ding, + /decl/emote/audible/synth/microwave, /decl/emote/visible/nod, /decl/emote/visible/shake, /decl/emote/visible/shiver, @@ -339,7 +341,7 @@ var/list/_simple_mob_default_emotes = list( /mob/living/carbon/human/verb/pose() set name = "Set Pose" set desc = "Sets a description which will be shown when someone examines you." - set category = "IC" + set category = "IC.Settings" var/datum/gender/T = gender_datums[get_visible_gender()] @@ -348,11 +350,11 @@ var/list/_simple_mob_default_emotes = list( /mob/living/carbon/human/verb/set_flavor() set name = "Set Flavour Text" set desc = "Sets an extended description of your character's features." - set category = "IC" + set category = "IC.Settings" var/HTML = "" HTML += "
    " - HTML += "Update Flavour Text
    " + HTML += span_bold("Update Flavour Text") + "
    " HTML += "
    " HTML += "General: " HTML += TextPreview(flavor_texts["general"]) @@ -389,7 +391,7 @@ var/list/_simple_mob_default_emotes = list( /mob/living/carbon/human/proc/toggle_tail(var/setting,var/message = 0) if(!tail_style || !tail_style.ani_state) if(message) - to_chat(src, "You don't have a tail that supports this.") + to_chat(src, span_warning("You don't have a tail that supports this.")) return 0 var/new_wagging = isnull(setting) ? !wagging : setting @@ -401,7 +403,7 @@ var/list/_simple_mob_default_emotes = list( /mob/living/carbon/human/proc/toggle_wing(var/setting,var/message = 0) if(!wing_style || !wing_style.ani_state) if(message) - to_chat(src, "You don't have a wingtype that supports this.") + to_chat(src, span_warning("You don't have a wingtype that supports this.")) return 0 var/new_flapping = isnull(setting) ? !flapping : setting diff --git a/code/modules/mob/living/carbon/human/emote_vr.dm b/code/modules/mob/living/carbon/human/emote_vr.dm index 7c2a2b520dd..25669fb6f86 100644 --- a/code/modules/mob/living/carbon/human/emote_vr.dm +++ b/code/modules/mob/living/carbon/human/emote_vr.dm @@ -1,10 +1,10 @@ /mob/living/carbon/human/verb/toggle_resizing_immunity() set name = "Toggle Resizing Immunity" set desc = "Toggles your ability to resist resizing attempts" - set category = "IC" + set category = "IC.Settings" resizable = !resizable - to_chat(src, "You are now [resizable ? "susceptible" : "immune"] to being resized.") + to_chat(src, span_notice("You are now [resizable ? "susceptible" : "immune"] to being resized.")) /mob/living/carbon/human/proc/handle_flip_vr() @@ -35,7 +35,7 @@ /mob/living/carbon/human/verb/toggle_gender_identity_vr() set name = "Set Gender Identity" set desc = "Sets the pronouns when examined and performing an emote." - set category = "IC" + set category = "IC.Settings" var/new_gender_identity = tgui_input_list(usr, "Please select a gender Identity:", "Set Gender Identity", list(FEMALE, MALE, NEUTER, PLURAL, HERM)) if(!new_gender_identity) return 0 @@ -44,14 +44,14 @@ /mob/living/carbon/human/verb/switch_tail_layer() set name = "Switch tail layer" - set category = "IC" + set category = "IC.Game" set desc = "Switch tail layer on top." tail_alt = !tail_alt update_tail_showing() /mob/living/carbon/human/verb/hide_wings_vr() set name = "Show/Hide wings" - set category = "IC" + set category = "IC.Settings" set desc = "Hide your wings, or show them if you already hid them." wings_hidden = !wings_hidden update_wing_showing() @@ -60,19 +60,19 @@ message = "reveals their wings!" else message = "hides their wings." - visible_message("[src] [message]") + visible_message(span_filter_notice("[src] [message]")) /mob/living/carbon/human/verb/hide_tail_vr() set name = "Show/Hide tail" - set category = "IC" + set category = "IC.Settings" set desc = "Hide your tail, or show it if you already hid it." if(!tail_style) //Just some checks. - to_chat(src,"You have no tail to hide!") + to_chat(src,span_notice("You have no tail to hide!")) return else //They got a tail. Let's make sure it ain't hiding stuff! var/datum/sprite_accessory/tail/current_tail = tail_style if((current_tail.hide_body_parts && current_tail.hide_body_parts.len) || current_tail.clip_mask_state || current_tail.clip_mask) - to_chat(src,"Your current tail is too considerable to hide!") + to_chat(src,span_notice("Your current tail is too considerable to hide!")) return if(species.tail) //If they're using this verb, they already have a custom tail. This prevents their species tail from showing. species.tail = null //Honestly, this should probably be done when a custom tail is chosen, but this is the only time it'd ever matter. @@ -83,4 +83,4 @@ message = "reveals their tail!" else message = "hides their tail." - visible_message("[src] [message]") \ No newline at end of file + visible_message(span_filter_notice("[src] [message]")) diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index d72299dcac2..80dabf789d2 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -87,7 +87,7 @@ if(!((skip_gear & EXAMINE_SKIPJUMPSUIT) && (skip_body & EXAMINE_SKIPFACE))) //VOREStation Add Start if(custom_species) - name_ender = ", a [src.custom_species]" + name_ender = ", a " + span_bold("[src.custom_species]") else if(looks_synth) //VOREStation Add End var/use_gender = "a synthetic" @@ -96,23 +96,21 @@ else if(gender == FEMALE) use_gender = "a gynoid" - name_ender = ", [use_gender]![species.get_additional_examine_text(src)]" + name_ender = ", " + span_bold(span_gray("[use_gender]!")) + "[species.get_additional_examine_text(src)]" else if(species.name != "Human") - name_ender = ", \a [species.get_examine_name()]![species.get_additional_examine_text(src)]" + name_ender = ", " + span_bold("\a [species.get_examine_name()]!") + "[species.get_additional_examine_text(src)]" - var/list/msg = list("*---------*","This is [icon2html(src, user.client)] [src.name][name_ender]") + var/list/msg = list("This is [icon2html(src, user.client)] [src.name][name_ender]") //uniform if(w_uniform && !(skip_gear & EXAMINE_SKIPJUMPSUIT) && w_uniform.show_examine) //Ties var/tie_msg - var/tie_msg_warn if(istype(w_uniform,/obj/item/clothing/under) && !(skip_gear & EXAMINE_SKIPTIE)) var/obj/item/clothing/under/U = w_uniform if(LAZYLEN(U.accessories)) tie_msg += ". Attached to it is" - tie_msg_warn += "! Attached to it is" var/list/accessory_descs = list() if(skip_gear & EXAMINE_SKIPHOLSTER) for(var/obj/item/clothing/accessory/A in U.accessories) @@ -125,115 +123,124 @@ tie_msg += " [lowertext(english_list(accessory_descs))]." if(w_uniform.blood_DNA) - msg += "[T.He] [T.is] wearing [icon2html(w_uniform,user.client)] [w_uniform.gender==PLURAL?"some":"a"] [(w_uniform.blood_color != "#030303") ? "blood" : "oil"]-stained [w_uniform.name]![tie_msg]" + msg += span_warning("[T.He] [T.is] wearing [icon2html(w_uniform,user.client)] [w_uniform.gender==PLURAL?"some":"a"] [(w_uniform.blood_color != "#030303") ? "blood" : "oil"]-stained [w_uniform.name]![tie_msg]") else msg += "[T.He] [T.is] wearing [icon2html(w_uniform,user.client)] \a [w_uniform].[tie_msg]" //head if(head && !(skip_gear & EXAMINE_SKIPHELMET) && head.show_examine) if(head.blood_DNA) - msg += "[T.He] [T.is] wearing [icon2html(head,user.client)] [head.gender==PLURAL?"some":"a"] [(head.blood_color != "#030303") ? "blood" : "oil"]-stained [head.name] on [T.his] head!" + msg += span_warning("[T.He] [T.is] wearing [icon2html(head,user.client)] [head.gender==PLURAL?"some":"a"] [(head.blood_color != "#030303") ? "blood" : "oil"]-stained [head.name] on [T.his] head!") else msg += "[T.He] [T.is] wearing [icon2html(head,user.client)] \a [head] on [T.his] head." //suit/armour if(wear_suit) var/tie_msg - var/tie_msg_warn if(istype(wear_suit,/obj/item/clothing/suit)) var/obj/item/clothing/suit/U = wear_suit if(LAZYLEN(U.accessories)) tie_msg += ". Attached to it is" - tie_msg_warn += "! Attached to it is" var/list/accessory_descs = list() for(var/accessory in U.accessories) accessory_descs += "\a [accessory]" tie_msg += " [lowertext(english_list(accessory_descs))]." if(wear_suit.blood_DNA) - msg += "[T.He] [T.is] wearing [icon2html(wear_suit,user.client)] [wear_suit.gender==PLURAL?"some":"a"] [(wear_suit.blood_color != "#030303") ? "blood" : "oil"]-stained [wear_suit.name]![tie_msg]" + msg += span_warning("[T.He] [T.is] wearing [icon2html(wear_suit,user.client)] [wear_suit.gender==PLURAL?"some":"a"] [(wear_suit.blood_color != "#030303") ? "blood" : "oil"]-stained [wear_suit.name]![tie_msg]") else msg += "[T.He] [T.is] wearing [icon2html(wear_suit,user.client)] \a [wear_suit].[tie_msg]" //suit/armour storage if(s_store && !(skip_gear & EXAMINE_SKIPSUITSTORAGE) && s_store.show_examine) if(s_store.blood_DNA) - msg += "[T.He] [T.is] carrying [icon2html(s_store,user.client)] [s_store.gender==PLURAL?"some":"a"] [(s_store.blood_color != "#030303") ? "blood" : "oil"]-stained [s_store.name] on [T.his] [wear_suit.name]!" + msg += span_warning("[T.He] [T.is] carrying [icon2html(s_store,user.client)] [s_store.gender==PLURAL?"some":"a"] [(s_store.blood_color != "#030303") ? "blood" : "oil"]-stained [s_store.name] on [T.his] [wear_suit.name]!") else msg += "[T.He] [T.is] carrying [icon2html(s_store,user.client)] \a [s_store] on [T.his] [wear_suit.name]." //back if(back && !(skip_gear & EXAMINE_SKIPBACKPACK) && back.show_examine) if(back.blood_DNA) - msg += "[T.He] [T.has] [icon2html(back,user.client)] [back.gender==PLURAL?"some":"a"] [(back.blood_color != "#030303") ? "blood" : "oil"]-stained [back] on [T.his] back." + msg += span_warning("[T.He] [T.has] [icon2html(back,user.client)] [back.gender==PLURAL?"some":"a"] [(back.blood_color != "#030303") ? "blood" : "oil"]-stained [back] on [T.his] back.") else msg += "[T.He] [T.has] [icon2html(back,user.client)] \a [back] on [T.his] back." //left hand if(l_hand && l_hand.show_examine) if(l_hand.blood_DNA) - msg += "[T.He] [T.is] holding [icon2html(l_hand,user.client)] [l_hand.gender==PLURAL?"some":"a"] [(l_hand.blood_color != "#030303") ? "blood" : "oil"]-stained [l_hand.name] in [T.his] left hand!" + msg += span_warning("[T.He] [T.is] holding [icon2html(l_hand,user.client)] [l_hand.gender==PLURAL?"some":"a"] [(l_hand.blood_color != "#030303") ? "blood" : "oil"]-stained [l_hand.name] in [T.his] left hand!") else msg += "[T.He] [T.is] holding [icon2html(l_hand,user.client)] \a [l_hand] in [T.his] left hand." //right hand if(r_hand && r_hand.show_examine) if(r_hand.blood_DNA) - msg += "[T.He] [T.is] holding [icon2html(r_hand,user.client)] [r_hand.gender==PLURAL?"some":"a"] [(r_hand.blood_color != "#030303") ? "blood" : "oil"]-stained [r_hand.name] in [T.his] right hand!" + msg += span_warning("[T.He] [T.is] holding [icon2html(r_hand,user.client)] [r_hand.gender==PLURAL?"some":"a"] [(r_hand.blood_color != "#030303") ? "blood" : "oil"]-stained [r_hand.name] in [T.his] right hand!") else msg += "[T.He] [T.is] holding [icon2html(r_hand,user.client)] \a [r_hand] in [T.his] right hand." //gloves if(gloves && !(skip_gear & EXAMINE_SKIPGLOVES) && gloves.show_examine) + var/gloves_acc_msg + if(istype(gloves,/obj/item/clothing/gloves)) + var/obj/item/clothing/gloves/G = gloves + if(LAZYLEN(G.accessories)) + gloves_acc_msg += ". Attached to it is" + var/list/accessory_descs = list() + for(var/obj/item/clothing/accessory/A in G.accessories) + accessory_descs += "\a [A]" + + gloves_acc_msg += " [lowertext(english_list(accessory_descs))]." if(gloves.blood_DNA) - msg += "[T.He] [T.has] [icon2html(gloves,user.client)] [gloves.gender==PLURAL?"some":"a"] [(gloves.blood_color != "#030303") ? "blood" : "oil"]-stained [gloves.name] on [T.his] hands!" + msg += span_warning("[T.He] [T.has] [icon2html(gloves,user.client)] [gloves.gender==PLURAL?"some":"a"] [(gloves.blood_color != "#030303") ? "blood" : "oil"]-stained [gloves.name] on [T.his] hands![gloves_acc_msg]") else - msg += "[T.He] [T.has] [icon2html(gloves,user.client)] \a [gloves] on [T.his] hands." + msg += "[T.He] [T.has] [icon2html(gloves,user.client)] \a [gloves] on [T.his] hands.[gloves_acc_msg]" + else if(blood_DNA && !(skip_body & EXAMINE_SKIPHANDS)) - msg += "[T.He] [T.has] [(hand_blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained hands!" + msg += span_warning("[T.He] [T.has] [(hand_blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained hands!") //handcuffed? if(handcuffed && handcuffed.show_examine) - if(istype(handcuffed, /obj/item/weapon/handcuffs/cable)) - msg += "[T.He] [T.is] [icon2html(handcuffed,user.client)] restrained with cable!" + if(istype(handcuffed, /obj/item/handcuffs/cable)) + msg += span_warning("[T.He] [T.is] [icon2html(handcuffed,user.client)] restrained with cable!") else - msg += "[T.He] [T.is] [icon2html(handcuffed,user.client)] handcuffed!" + msg += span_warning("[T.He] [T.is] [icon2html(handcuffed,user.client)] handcuffed!") //buckled if(buckled) - msg += "[T.He] [T.is] [icon2html(buckled,user.client)] buckled to [buckled]!" + msg += span_warning("[T.He] [T.is] [icon2html(buckled,user.client)] buckled to [buckled]!") //belt if(belt && !(skip_gear & EXAMINE_SKIPBELT) && belt.show_examine) if(belt.blood_DNA) - msg += "[T.He] [T.has] [icon2html(belt,user.client)] [belt.gender==PLURAL?"some":"a"] [(belt.blood_color != "#030303") ? "blood" : "oil"]-stained [belt.name] about [T.his] waist!" + msg += span_warning("[T.He] [T.has] [icon2html(belt,user.client)] [belt.gender==PLURAL?"some":"a"] [(belt.blood_color != "#030303") ? "blood" : "oil"]-stained [belt.name] about [T.his] waist!") else msg += "[T.He] [T.has] [icon2html(belt,user.client)] \a [belt] about [T.his] waist." //shoes if(shoes && !(skip_gear & EXAMINE_SKIPSHOES) && shoes.show_examine) if(shoes.blood_DNA) - msg += "[T.He] [T.is] wearing [icon2html(shoes,user.client)] [shoes.gender==PLURAL?"some":"a"] [(shoes.blood_color != "#030303") ? "blood" : "oil"]-stained [shoes.name] on [T.his] feet!" + msg += span_warning("[T.He] [T.is] wearing [icon2html(shoes,user.client)] [shoes.gender==PLURAL?"some":"a"] [(shoes.blood_color != "#030303") ? "blood" : "oil"]-stained [shoes.name] on [T.his] feet!") else msg += "[T.He] [T.is] wearing [icon2html(shoes,user.client)] \a [shoes] on [T.his] feet." else if(feet_blood_DNA && !(skip_body & EXAMINE_SKIPHANDS)) - msg += "[T.He] [T.has] [(feet_blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained feet!" + msg += span_warning("[T.He] [T.has] [(feet_blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained feet!") //mask if(wear_mask && !(skip_gear & EXAMINE_SKIPMASK) && wear_mask.show_examine) var/descriptor = "on [T.his] face" - if(istype(wear_mask, /obj/item/weapon/grenade) && check_has_mouth()) + if(istype(wear_mask, /obj/item/grenade) && check_has_mouth()) descriptor = "in [T.his] mouth" if(wear_mask.blood_DNA) - msg += "[T.He] [T.has] [icon2html(wear_mask,user.client)] [wear_mask.gender==PLURAL?"some":"a"] [(wear_mask.blood_color != "#030303") ? "blood" : "oil"]-stained [wear_mask.name] [descriptor]!" + msg += span_warning("[T.He] [T.has] [icon2html(wear_mask,user.client)] [wear_mask.gender==PLURAL?"some":"a"] [(wear_mask.blood_color != "#030303") ? "blood" : "oil"]-stained [wear_mask.name] [descriptor]!") else msg += "[T.He] [T.has] [icon2html(wear_mask,user.client)] \a [wear_mask] [descriptor]." //eyes if(glasses && !(skip_gear & EXAMINE_SKIPEYEWEAR) && glasses.show_examine) if(glasses.blood_DNA) - msg += "[T.He] [T.has] [icon2html(glasses,user.client)] [glasses.gender==PLURAL?"some":"a"] [(glasses.blood_color != "#030303") ? "blood" : "oil"]-stained [glasses] covering [T.his] eyes!" + msg += span_warning("[T.He] [T.has] [icon2html(glasses,user.client)] [glasses.gender==PLURAL?"some":"a"] [(glasses.blood_color != "#030303") ? "blood" : "oil"]-stained [glasses] covering [T.his] eyes!") else msg += "[T.He] [T.has] [icon2html(glasses,user.client)] \a [glasses] covering [T.his] eyes." @@ -252,20 +259,20 @@ //Jitters if(is_jittery) if(jitteriness >= 300) - msg += "[T.He] [T.is] convulsing violently!" + msg += span_boldwarning("[T.He] [T.is] convulsing violently!") else if(jitteriness >= 200) - msg += "[T.He] [T.is] extremely jittery." + msg += span_warning("[T.He] [T.is] extremely jittery.") else if(jitteriness >= 100) - msg += "[T.He] [T.is] twitching ever so slightly." + msg += span_warning("[T.He] [T.is] twitching ever so slightly.") //splints for(var/organ in BP_ALL) var/obj/item/organ/external/o = get_organ(organ) if(o && o.splinted && o.splinted.loc == o) - msg += "[T.He] [T.has] \a [o.splinted] on [T.his] [o.name]!" + msg += span_warning("[T.He] [T.has] \a [o.splinted] on [T.his] [o.name]!") if(suiciding) - msg += "[T.He] appears to have commited suicide... there is no hope of recovery." + msg += span_warning("[T.He] appears to have commited suicide... there is no hope of recovery.") //VOREStation Add var/list/vorestrings = list() @@ -286,29 +293,29 @@ msg += "[T.He] [T.is] very short!" if (src.stat) - msg += "[T.He] [T.is]n't responding to anything around [T.him] and seems to be asleep." + msg += span_warning("[T.He] [T.is]n't responding to anything around [T.him] and seems to be asleep.") if((stat == 2 || src.losebreath) && get_dist(user, src) <= 3) - msg += "[T.He] [T.does] not appear to be breathing." + msg += span_warning("[T.He] [T.does] not appear to be breathing.") if(istype(user, /mob/living/carbon/human) && !user.stat && Adjacent(user)) - user.visible_message("[usr] checks [src]'s pulse.", "You check [src]'s pulse.") + user.visible_message(span_infoplain(span_bold("[usr]") + " checks [src]'s pulse."), span_infoplain("You check [src]'s pulse.")) spawn(15) if(isobserver(user) || (Adjacent(user) && !user.stat)) // If you're a corpse then you can't exactly check their pulse, but ghosts can see anything if(pulse == PULSE_NONE) - to_chat(user, "[T.He] [T.has] no pulse[src.client ? "" : " and [T.his] soul has departed"]...") + to_chat(user, span_deadsay("[T.He] [T.has] no pulse[src.client ? "" : " and [T.his] soul has departed"]...")) else - to_chat(user, "[T.He] [T.has] a pulse!") + to_chat(user, span_deadsay("[T.He] [T.has] a pulse!")) if(fire_stacks) msg += "[T.He] [T.is] covered in some liquid." if(on_fire) - msg += "[T.He] [T.is] on fire!." + msg += span_warning("[T.He] [T.is] on fire!.") var/ssd_msg = species.get_ssd(src) if(ssd_msg && (!should_have_organ("brain") || has_brain()) && stat != DEAD) if(!key) - msg += "[T.He] [T.is] [ssd_msg]. It doesn't look like [T.he] [T.is] waking up anytime soon." + msg += span_deadsay("[T.He] [T.is] [ssd_msg]. It doesn't look like [T.he] [T.is] waking up anytime soon.") else if(!client) - msg += "[T.He] [T.is] [ssd_msg]." + msg += span_deadsay("[T.He] [T.is] [ssd_msg].") //VOREStation Add Start if(client && away_from_keyboard && manual_afk) msg += "\[Away From Keyboard for [round((client.inactivity/10)/60)] minutes\]" @@ -329,9 +336,9 @@ var/obj/item/organ/external/E = organs_by_name[organ_tag] if(!E) - wound_flavor_text["[organ_descriptor]"] = "[T.He] [T.is] missing [T.his] [organ_descriptor]." + wound_flavor_text["[organ_descriptor]"] = span_boldwarning("[T.He] [T.is] missing [T.his] [organ_descriptor].") else if(E.is_stump()) - wound_flavor_text["[organ_descriptor]"] = "[T.He] [T.has] a stump where [T.his] [organ_descriptor] should be." + wound_flavor_text["[organ_descriptor]"] = span_boldwarning("[T.He] [T.has] a stump where [T.his] [organ_descriptor] should be.") else continue @@ -340,38 +347,38 @@ if((temp.organ_tag in hidden) && hidden[temp.organ_tag]) continue //Organ is hidden, don't talk about it if(temp.status & ORGAN_DESTROYED) - wound_flavor_text["[temp.name]"] = "[T.He] [T.is] missing [T.his] [temp.name]." + wound_flavor_text["[temp.name]"] = span_boldwarning("[T.He] [T.is] missing [T.his] [temp.name].") continue if(!looks_synth && temp.robotic == ORGAN_ROBOT) if(!(temp.brute_dam + temp.burn_dam)) wound_flavor_text["[temp.name]"] = "[T.He] [T.has] a [temp.name]." else - wound_flavor_text["[temp.name]"] = "[T.He] [T.has] a [temp.name] with [temp.get_wounds_desc()]!" + wound_flavor_text["[temp.name]"] = span_warning("[T.He] [T.has] a [temp.name] with [temp.get_wounds_desc()]!") continue else if(temp.wounds.len > 0 || temp.open) if(temp.is_stump() && temp.parent_organ && organs_by_name[temp.parent_organ]) var/obj/item/organ/external/parent = organs_by_name[temp.parent_organ] - wound_flavor_text["[temp.name]"] = "[T.He] [T.has] [temp.get_wounds_desc()] on [T.his] [parent.name]." + wound_flavor_text["[temp.name]"] = span_warning("[T.He] [T.has] [temp.get_wounds_desc()] on [T.his] [parent.name].") else - wound_flavor_text["[temp.name]"] = "[T.He] [T.has] [temp.get_wounds_desc()] on [T.his] [temp.name]." + wound_flavor_text["[temp.name]"] = span_warning("[T.He] [T.has] [temp.get_wounds_desc()] on [T.his] [temp.name].") else wound_flavor_text["[temp.name]"] = "" if(temp.dislocated == 1) //VOREStation Edit Bugfix - wound_flavor_text["[temp.name]"] += "[T.His] [temp.joint] is dislocated!" + wound_flavor_text["[temp.name]"] += span_warning("[T.His] [temp.joint] is dislocated!") if(temp.brute_dam > temp.min_broken_damage || (temp.status & (ORGAN_BROKEN | ORGAN_MUTATED))) - wound_flavor_text["[temp.name]"] += "[T.His] [temp.name] is dented and swollen!" + wound_flavor_text["[temp.name]"] += span_warning("[T.His] [temp.name] is dented and swollen!") if(temp.germ_level > INFECTION_LEVEL_TWO && !(temp.status & ORGAN_DEAD)) - wound_flavor_text["[temp.name]"] += "[T.His] [temp.name] looks very infected!" + wound_flavor_text["[temp.name]"] += span_warning("[T.His] [temp.name] looks very infected!") else if(temp.status & ORGAN_DEAD) - wound_flavor_text["[temp.name]"] += "[T.His] [temp.name] looks rotten!" + wound_flavor_text["[temp.name]"] += span_warning("[T.His] [temp.name] looks rotten!") if(temp.status & ORGAN_BLEEDING) - is_bleeding["[temp.name]"] += "[T.His] [temp.name] is bleeding!" + is_bleeding["[temp.name]"] += span_danger("[T.His] [temp.name] is bleeding!") if(temp.applied_pressure == src) - applying_pressure = "[T.He] is applying pressure to [T.his] [temp.name]." + applying_pressure = span_info("[T.He] is applying pressure to [T.his] [temp.name].") for(var/limb in wound_flavor_text) var/flavor = wound_flavor_text[limb] @@ -382,7 +389,7 @@ if(blood) msg += blood for(var/implant in get_visible_implants(0)) - msg += "[src] [T.has] \a [implant] sticking out of [T.his] flesh!" + msg += span_danger("[src] [T.has] \a [implant] sticking out of [T.his] flesh!") if(digitalcamo) msg += "[T.He] [T.is] repulsively uncanny!" @@ -391,11 +398,11 @@ var/criminal = "None" if(wear_id) - if(istype(wear_id, /obj/item/weapon/card/id)) - var/obj/item/weapon/card/id/I = wear_id + if(istype(wear_id, /obj/item/card/id)) + var/obj/item/card/id/I = wear_id perpname = I.registered_name - else if(istype(wear_id, /obj/item/device/pda)) - var/obj/item/device/pda/P = wear_id + else if(istype(wear_id, /obj/item/pda)) + var/obj/item/pda/P = wear_id perpname = P.owner for (var/datum/data/record/R in data_core.security) @@ -410,11 +417,11 @@ var/medical = "None" if(wear_id) - if(istype(wear_id, /obj/item/weapon/card/id)) - var/obj/item/weapon/card/id/I = wear_id + if(istype(wear_id, /obj/item/card/id)) + var/obj/item/card/id/I = wear_id perpname = I.registered_name - else if(istype(wear_id, /obj/item/device/pda)) - var/obj/item/device/pda/P = wear_id + else if(istype(wear_id, /obj/item/pda)) + var/obj/item/pda/P = wear_id perpname = P.owner for (var/datum/data/record/R in data_core.medical) @@ -434,19 +441,19 @@ // VOREStation Start if(custom_link) - msg += "Custom link: [custom_link]" + msg += "Custom link: " + span_linkify("[custom_link]") if(ooc_notes) msg += "OOC Notes: \[View\] - \[Print\]" msg += "\[Mechanical Vore Preferences\]" // VOREStation End - msg += "*---------*" + msg = list(span_info(jointext(msg, "
    "))) if(applying_pressure) msg += applying_pressure var/show_descs = show_descriptors_to(user) if(show_descs) - msg += "[jointext(show_descs, "
    ")]
    " + msg += span_notice("[jointext(show_descs, "
    ")]") if(pose) if(!findtext(pose, regex("\[.?!]$"))) // Will be zero if the last character is not a member of [.?!] diff --git a/code/modules/mob/living/carbon/human/examine_vr.dm b/code/modules/mob/living/carbon/human/examine_vr.dm index e1d52728f98..5ba8e1db193 100644 --- a/code/modules/mob/living/carbon/human/examine_vr.dm +++ b/code/modules/mob/living/carbon/human/examine_vr.dm @@ -25,7 +25,7 @@ else message = weight_messages[10] if(message) - message = "[message]" + message = span_notice("[message]") return message //Credit to Aronai for helping me actually get this working! /mob/living/carbon/human/proc/examine_nutrition() @@ -55,7 +55,7 @@ if(5125 to INFINITY) // More. message = nutrition_messages[10] if(message) - message = "[message]" + message = span_notice("[message]") return message //For OmniHUD records access for appropriate models @@ -98,7 +98,7 @@ /mob/living/carbon/human/proc/examine_nif(mob/living/carbon/human/H) if(nif && nif.examine_msg) //If you have one set, anyway. - return "[nif.examine_msg]" + return span_notice("[nif.examine_msg]") /mob/living/carbon/human/proc/examine_chimera(mob/living/carbon/human/H) var/t_He = "It" //capitalised for use at the start of each line. @@ -131,8 +131,8 @@ t_his = "hir" if(revive_ready == REVIVING_NOW || revive_ready == REVIVING_DONE) if(stat == DEAD) - return "[t_His] body is twitching subtly." + return span_warning("[t_His] body is twitching subtly.") else - return "[t_He] [t_appear] to be in some sort of torpor." + return span_notice("[t_He] [t_appear] to be in some sort of torpor.") if(feral) - return "[t_He] [t_has] a crazed, wild look in [t_his] eyes!" + return span_warning("[t_He] [t_has] a crazed, wild look in [t_his] eyes!") diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index f157d12a3d1..c76711c39ab 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -19,7 +19,7 @@ var/vore_fullness = 0 var/embedded_flag //To check if we've need to roll for damage on movement while an item is imbedded in us. - var/obj/item/weapon/rig/wearing_rig // This is very not good, but it's much much better than calling get_rig() every update_canmove() call. + var/obj/item/rig/wearing_rig // This is very not good, but it's much much better than calling get_rig() every update_canmove() call. var/last_push_time //For human_attackhand.dm, keeps track of the last use of disarm var/spitting = 0 //Spitting and spitting related things. Any human based ranged attacks, be it innate or added abilities. @@ -66,12 +66,11 @@ dna.real_name = real_name sync_organ_dna() - //verbs |= /mob/living/proc/toggle_selfsurgery //VOREStation Removal AddComponent(/datum/component/personal_crafting) /mob/living/carbon/human/Destroy() human_mob_list -= src - /* //Chomp REMOVE - this is done on mob/living/Destroy + /* //REMOVE - this is done on mob/living/Destroy for(var/organ in organs) qdel(organ) */ @@ -84,42 +83,76 @@ QDEL_NULL(vessel) return ..() -/mob/living/carbon/human/Stat() - ..() - if(statpanel("Status")) - stat("Intent:", "[a_intent]") - stat("Move Mode:", "[m_intent]") - if(emergency_shuttle) - var/eta_status = emergency_shuttle.get_status_panel_eta() - if(eta_status) - stat(null, eta_status) - - if (internal) - if (!internal.air_contents) - qdel(internal) - else - stat("Internal Atmosphere Info", internal.name) - stat("Tank Pressure", internal.air_contents.return_pressure()) - stat("Distribution Pressure", internal.distribute_pressure) +/mob/living/carbon/human/get_status_tab_items() + . = ..() + . += "" + . += "Intent: [a_intent]" + . += "Move Mode: [m_intent]" + if(emergency_shuttle) + var/eta_status = emergency_shuttle.get_status_panel_eta() + if(eta_status) + . += "[eta_status]" + + if (internal) + if (!internal.air_contents) + qdel(internal) + else + . += "Internal Atmosphere Info: [internal.name]" + . += "Tank Pressure: [internal.air_contents.return_pressure()]" + . += "Distribution Pressure: [internal.distribute_pressure]" - var/obj/item/organ/internal/xenos/plasmavessel/P = internal_organs_by_name[O_PLASMA] //Xenomorphs. Mech. - if(P) - stat(null, "Phoron Stored: [P.stored_plasma]/[P.max_plasma]") + var/obj/item/organ/internal/xenos/plasmavessel/P = internal_organs_by_name[O_PLASMA] //Xenomorphs. Mech. + if(P) + . += "Phoron Stored: [P.stored_plasma]/[P.max_plasma]" - if(back && istype(back,/obj/item/weapon/rig)) - var/obj/item/weapon/rig/suit = back - var/cell_status = "ERROR" - if(suit.cell) cell_status = "[suit.cell.charge]/[suit.cell.maxcharge]" - stat(null, "Suit charge: [cell_status]") + if(back && istype(back,/obj/item/rig)) + var/obj/item/rig/suit = back + var/cell_status = "ERROR" + if(suit.cell) cell_status = "[suit.cell.charge]/[suit.cell.maxcharge]" + . += "Suit charge: [cell_status]" - if(mind) - if(mind.changeling) - stat("Chemical Storage", mind.changeling.chem_charges) - stat("Genetic Damage Time", mind.changeling.geneticdamage) - stat("Re-Adaptations", "[mind.changeling.readapts]/[mind.changeling.max_readapts]") + if(mind) + if(mind.changeling) + . += "Chemical Storage: [mind.changeling.chem_charges]" + . += "Genetic Damage Time: [mind.changeling.geneticdamage]" + . += "Re-Adaptations: [mind.changeling.readapts]/[mind.changeling.max_readapts]" + + if(species) + species.get_status_tab_items(src) + +/mob/proc/RigPanel(var/obj/item/rig/R) + if(R && !R.canremove && R.installed_modules.len) + var/list/L = list() + var/cell_status = R.cell ? "[R.cell.charge]/[R.cell.maxcharge]" : "ERROR" + L[++L.len] = list("Suit charge: [cell_status]", null, null, null, null) + for(var/obj/item/rig_module/module in R.installed_modules) + { + for(var/stat_rig_module/SRM in module.stat_modules) + if(SRM.CanUse()) + L[++L.len] = list(SRM.module.interface_name,null,null,SRM.name,REF(SRM)) + } + misc_tabs["Hardsuit Modules"] = L + +/mob/living/update_misc_tabs() + ..() + if(get_rig_stats) + var/obj/item/rig/rig = get_rig() + if(rig) + RigPanel(rig) + +/mob/living/carbon/human/update_misc_tabs() + ..() if(species) - species.Stat(src) + species.update_misc_tabs(src) + + if(istype(back,/obj/item/rig)) + var/obj/item/rig/R = back + RigPanel(R) + + else if(istype(belt,/obj/item/rig)) + var/obj/item/rig/R = belt + RigPanel(R) /mob/living/carbon/human/ex_act(severity) if(!blinded) @@ -204,15 +237,15 @@ if(update) UpdateDamageIcon() /mob/living/carbon/human/proc/implant_loyalty(override = FALSE) // Won't override by default. - if(!config.use_loyalty_implants && !override) return // Nuh-uh. + if(!CONFIG_GET(flag/use_loyalty_implants) && !override) return // Nuh-uh. - var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(src) + var/obj/item/implant/loyalty/L = new/obj/item/implant/loyalty(src) if(L.handle_implant(src, BP_HEAD)) L.post_implant(src) /mob/living/carbon/human/proc/is_loyalty_implanted() for(var/L in src.contents) - if(istype(L, /obj/item/weapon/implant/loyalty)) + if(istype(L, /obj/item/implant/loyalty)) for(var/obj/item/organ/external/O in src.organs) if(L in O.implants) return 1 @@ -240,14 +273,14 @@ // Get rank from ID, ID inside PDA, PDA, ID in wallet, etc. /mob/living/carbon/human/proc/get_authentification_rank(var/if_no_id = "No id", var/if_no_job = "No job") - var/obj/item/device/pda/pda = wear_id + var/obj/item/pda/pda = wear_id if (istype(pda)) if (pda.id) return pda.id.rank ? pda.id.rank : if_no_job else return pda.ownrank ? pda.ownrank : if_no_job else - var/obj/item/weapon/card/id/id = get_idcard() + var/obj/item/card/id/id = get_idcard() if(id) return id.rank ? id.rank : if_no_job else @@ -256,14 +289,14 @@ //gets assignment from ID or ID inside PDA or PDA itself //Useful when player do something with computers /mob/living/carbon/human/proc/get_assignment(var/if_no_id = "No id", var/if_no_job = "No job") - var/obj/item/device/pda/pda = wear_id + var/obj/item/pda/pda = wear_id if (istype(pda)) if (pda.id) return pda.id.assignment else return pda.ownjob ? pda.ownjob : if_no_job else - var/obj/item/weapon/card/id/id = get_idcard() + var/obj/item/card/id/id = get_idcard() if(id) return id.assignment ? id.assignment : if_no_job else @@ -272,14 +305,14 @@ //gets name from ID or ID inside PDA or PDA itself //Useful when player do something with computers /mob/living/carbon/human/proc/get_authentification_name(var/if_no_id = "Unknown") - var/obj/item/device/pda/pda = wear_id + var/obj/item/pda/pda = wear_id if (istype(pda)) if (pda.id) return pda.id.registered_name else return pda.owner ? pda.owner : if_no_id else - var/obj/item/weapon/card/id/id = get_idcard() + var/obj/item/card/id/id = get_idcard() if(id) return id.registered_name else @@ -310,11 +343,11 @@ //Useful when player is being seen by other mobs /mob/living/carbon/human/proc/get_id_name(var/if_no_id = "Unknown") . = if_no_id - if(istype(wear_id,/obj/item/device/pda)) - var/obj/item/device/pda/P = wear_id + if(istype(wear_id,/obj/item/pda)) + var/obj/item/pda/P = wear_id return P.owner ? P.owner : if_no_id if(wear_id) - var/obj/item/weapon/card/id/I = wear_id.GetID() + var/obj/item/card/id/I = wear_id.GetID() if(I) return I.registered_name return @@ -363,7 +396,7 @@ var/modified = 0 var/perpname = "wot" - var/obj/item/weapon/card/id/I = GetIdCard() + var/obj/item/card/id/I = GetIdCard() if(I) perpname = I.registered_name else @@ -392,14 +425,14 @@ U.handle_regular_hud_updates() if(!modified) - to_chat(usr, "[span_red("Unable to locate a data core entry for this person.")]") + to_chat(usr, span_filter_notice("[span_red("Unable to locate a data core entry for this person.")]")) if (href_list["secrecord"]) if(hasHUD(usr,"security")) var/perpname = "wot" var/read = 0 - var/obj/item/weapon/card/id/I = GetIdCard() + var/obj/item/card/id/I = GetIdCard() if(I) perpname = I.registered_name else @@ -410,26 +443,26 @@ if (R.fields["id"] == E.fields["id"]) if(hasHUD(usr,"security")) var/list/security_hud_text = list() - security_hud_text += "Name: [R.fields["name"]] Criminal Status: [R.fields["criminal"]]" - security_hud_text += "Species: [R.fields["species"]]" - security_hud_text += "Minor Crimes: [R.fields["mi_crim"]]" - security_hud_text += "Details: [R.fields["mi_crim_d"]]" - security_hud_text += "Major Crimes: [R.fields["ma_crim"]]" - security_hud_text += "Details: [R.fields["ma_crim_d"]]" - security_hud_text += "Notes: [R.fields["notes"]]" + security_hud_text += span_bold("Name:") + " [R.fields["name"]] " + span_bold("Criminal Status:") + " [R.fields["criminal"]]" + security_hud_text += span_bold("Species:") + " [R.fields["species"]]" + security_hud_text += span_bold("Minor Crimes:") + " [R.fields["mi_crim"]]" + security_hud_text += span_bold("Details:") + " [R.fields["mi_crim_d"]]" + security_hud_text += span_bold("Major Crimes:") + " [R.fields["ma_crim"]]" + security_hud_text += span_bold("Details:") + " [R.fields["ma_crim_d"]]" + security_hud_text += span_bold("Notes:") + " [R.fields["notes"]]" security_hud_text += "\[View Comment Log\]" - to_chat(usr, "[jointext(security_hud_text, "
    ")]
    ") + to_chat(usr, span_filter_notice("[jointext(security_hud_text, "
    ")]")) read = 1 if(!read) - to_chat(usr, "[span_red("Unable to locate a data core entry for this person.")]") + to_chat(usr, span_filter_notice("[span_red("Unable to locate a data core entry for this person.")]")) if (href_list["secrecordComment"]) if(hasHUD(usr,"security")) var/perpname = "wot" var/read = 0 - var/obj/item/weapon/card/id/I = GetIdCard() + var/obj/item/card/id/I = GetIdCard() if(I) perpname = I.registered_name else @@ -445,16 +478,16 @@ to_chat(usr, "[R.fields[text("com_[]", counter)]]") counter++ if (counter == 1) - to_chat(usr, "No comment found.") - to_chat(usr, "\[Add comment\]") + to_chat(usr, span_filter_notice("No comment found.")) + to_chat(usr, span_filter_notice("\[Add comment\]")) if(!read) - to_chat(usr, "[span_red("Unable to locate a data core entry for this person.")]") + to_chat(usr, span_filter_notice("[span_red("Unable to locate a data core entry for this person.")]")) if (href_list["secrecordadd"]) if(hasHUD(usr,"security")) var/perpname = "wot" - var/obj/item/weapon/card/id/I = GetIdCard() + var/obj/item/card/id/I = GetIdCard() if(I) perpname = I.registered_name else @@ -482,7 +515,7 @@ var/perpname = "wot" var/modified = 0 - var/obj/item/weapon/card/id/I = GetIdCard() + var/obj/item/card/id/I = GetIdCard() if(I) perpname = I.registered_name else @@ -511,14 +544,14 @@ U.handle_regular_hud_updates() if(!modified) - to_chat(usr, "[span_red("Unable to locate a data core entry for this person.")]") + to_chat(usr, span_filter_notice("[span_red("Unable to locate a data core entry for this person.")]")) if (href_list["medrecord"]) if(hasHUD(usr,"medical")) var/perpname = "wot" var/read = 0 - var/obj/item/weapon/card/id/I = GetIdCard() + var/obj/item/card/id/I = GetIdCard() if(I) perpname = I.registered_name else @@ -529,27 +562,27 @@ if (R.fields["id"] == E.fields["id"]) if(hasHUD(usr,"medical")) var/list/medical_hud_text = list() - medical_hud_text += "Name: [R.fields["name"]] Blood Type: [R.fields["b_type"]] Blood Basis: [R.fields["blood_reagent"]]" - medical_hud_text += "Species: [R.fields["species"]]" - medical_hud_text += "DNA: [R.fields["b_dna"]]" - medical_hud_text += "Minor Disabilities: [R.fields["mi_dis"]]" - medical_hud_text += "Details: [R.fields["mi_dis_d"]]" - medical_hud_text += "Major Disabilities: [R.fields["ma_dis"]]" - medical_hud_text += "Details: [R.fields["ma_dis_d"]]" - medical_hud_text += "Notes: [R.fields["notes"]]" + medical_hud_text += span_bold("Name:") + " [R.fields["name"]] " + span_bold("Blood Type:") + " [R.fields["b_type"]] " + span_bold("Blood Basis:") + " [R.fields["blood_reagent"]]" + medical_hud_text += span_bold("Species:") + " [R.fields["species"]]" + medical_hud_text += span_bold("DNA:") + " [R.fields["b_dna"]]" + medical_hud_text += span_bold("Minor Disabilities:") + " [R.fields["mi_dis"]]" + medical_hud_text += span_bold("Details:") + " [R.fields["mi_dis_d"]]" + medical_hud_text += span_bold("Major Disabilities:") + " [R.fields["ma_dis"]]" + medical_hud_text += span_bold("Details:") + " [R.fields["ma_dis_d"]]" + medical_hud_text += span_bold("Notes:") + " [R.fields["notes"]]" medical_hud_text += "\[View Comment Log\]" - to_chat(usr, "[jointext(medical_hud_text, "
    ")]
    ") + to_chat(usr, span_filter_notice("[jointext(medical_hud_text, "
    ")]")) read = 1 if(!read) - to_chat(usr, "[span_red("Unable to locate a data core entry for this person.")]") + to_chat(usr, span_filter_notice("[span_red("Unable to locate a data core entry for this person.")]")) if (href_list["medrecordComment"]) if(hasHUD(usr,"medical")) var/perpname = "wot" var/read = 0 - var/obj/item/weapon/card/id/I = GetIdCard() + var/obj/item/card/id/I = GetIdCard() if(I) perpname = I.registered_name else @@ -565,16 +598,16 @@ to_chat(usr, "[R.fields[text("com_[]", counter)]]") counter++ if (counter == 1) - to_chat(usr, "No comment found.") - to_chat(usr, "\[Add comment\]") + to_chat(usr, span_filter_notice("No comment found.")) + to_chat(usr, span_filter_notice("\[Add comment\]")) if(!read) - to_chat(usr, "[span_red("Unable to locate a data core entry for this person.")]") + to_chat(usr, span_filter_notice("[span_red("Unable to locate a data core entry for this person.")]")) if (href_list["medrecordadd"]) if(hasHUD(usr,"medical")) var/perpname = "wot" - var/obj/item/weapon/card/id/I = GetIdCard() + var/obj/item/card/id/I = GetIdCard() if(I) perpname = I.registered_name else @@ -602,7 +635,7 @@ var/perpname = "wot" var/read = 0 - var/obj/item/weapon/card/id/I = GetIdCard() + var/obj/item/card/id/I = GetIdCard() if(I) perpname = I.registered_name else @@ -613,29 +646,29 @@ if (R.fields["id"] == E.fields["id"]) if(hasHUD(usr,"best")) var/list/emp_hud_text = list() - emp_hud_text += "Name: [R.fields["name"]]" - emp_hud_text += "Species: [R.fields["species"]]" - emp_hud_text += "Assignment: [R.fields["real_rank"]] ([R.fields["rank"]])" - emp_hud_text += "Home System: [R.fields["home_system"]]" - emp_hud_text += "Birthplace: [R.fields["birthplace"]]" - emp_hud_text += "Citizenship: [R.fields["citizenship"]]" - emp_hud_text += "Primary Employer: [R.fields["personal_faction"]]" - emp_hud_text += "Religious Beliefs: [R.fields["religion"]]" - emp_hud_text += "Known Languages: [R.fields["languages"]]" - emp_hud_text += "Notes: [R.fields["notes"]]" + emp_hud_text += span_bold("Name:") + " [R.fields["name"]]" + emp_hud_text += span_bold("Species:") + " [R.fields["species"]]" + emp_hud_text += span_bold("Assignment:") + " [R.fields["real_rank"]] ([R.fields["rank"]])" + emp_hud_text += span_bold("Home System:") + " [R.fields["home_system"]]" + emp_hud_text += span_bold("Birthplace:") + " [R.fields["birthplace"]]" + emp_hud_text += span_bold("Citizenship:") + " [R.fields["citizenship"]]" + emp_hud_text += span_bold("Primary Employer:") + " [R.fields["personal_faction"]]" + emp_hud_text += span_bold("Religious Beliefs:") + " [R.fields["religion"]]" + emp_hud_text += span_bold("Known Languages:") + " [R.fields["languages"]]" + emp_hud_text += span_bold("Notes:") + " [R.fields["notes"]]" emp_hud_text += "\[View Comment Log\]" - to_chat(usr, "[jointext(emp_hud_text, "
    ")]
    ") + to_chat(usr, span_filter_notice("[jointext(emp_hud_text, "
    ")]")) read = 1 if(!read) - to_chat(usr, "[span_red("Unable to locate a data core entry for this person.")]") + to_chat(usr, span_filter_notice("[span_red("Unable to locate a data core entry for this person.")]")) if (href_list["emprecordComment"]) if(hasHUD(usr,"best")) var/perpname = "wot" var/read = 0 - var/obj/item/weapon/card/id/I = GetIdCard() + var/obj/item/card/id/I = GetIdCard() if(I) perpname = I.registered_name else @@ -651,16 +684,16 @@ to_chat(usr, "[R.fields[text("com_[]", counter)]]") counter++ if (counter == 1) - to_chat(usr, "No comment found.") - to_chat(usr, "\[Add comment\]") + to_chat(usr, span_filter_notice("No comment found.")) + to_chat(usr, span_filter_notice("\[Add comment\]")) if(!read) - to_chat(usr, "[span_red("Unable to locate a data core entry for this person.")]") + to_chat(usr, span_filter_notice("[span_red("Unable to locate a data core entry for this person.")]")) if (href_list["emprecordadd"]) if(hasHUD(usr,"best")) var/perpname = "wot" - var/obj/item/weapon/card/id/I = GetIdCard() + var/obj/item/card/id/I = GetIdCard() if(I) perpname = I.registered_name else @@ -788,13 +821,13 @@ /mob/living/carbon/human/IsAdvancedToolUser(var/silent) // VOREstation start if(feral) - to_chat(src, "Your primitive mind can't grasp the concept of that thing.") + to_chat(src, span_warning("Your primitive mind can't grasp the concept of that thing.")) return 0 // VOREstation end if(species.has_fine_manipulation) return 1 if(!silent) - to_chat(src, "You don't have the dexterity to use that!") + to_chat(src, span_warning("You don't have the dexterity to use that!")) return 0 /mob/living/carbon/human/abiotic(var/full_body = 0) @@ -819,7 +852,7 @@ /mob/living/carbon/human/proc/play_xylophone() if(!src.xylophone) var/datum/gender/T = gender_datums[get_visible_gender()] - visible_message("[span_red("\The [src] begins playing [T.his] ribcage like a xylophone. It's quite spooky.")]","You begin to play a spooky refrain on your ribcage.","[span_red("You hear a spooky xylophone melody.")]") + visible_message(span_filter_notice("[span_red("\The [src] begins playing [T.his] ribcage like a xylophone. It's quite spooky.")]"),span_notice("You begin to play a spooky refrain on your ribcage."),span_filter_notice("[span_red("You hear a spooky xylophone melody.")]")) var/song = pick('sound/effects/xylophone1.ogg','sound/effects/xylophone2.ogg','sound/effects/xylophone3.ogg') playsound(src, song, 50, 1, -1) xylophone = 1 @@ -847,7 +880,7 @@ return if(!(mMorph in mutations)) - src.verbs -= /mob/living/carbon/human/proc/morph + remove_verb(src, /mob/living/carbon/human/proc/morph) return var/new_facial = input(usr, "Please select facial hair color.", "Character Generation",rgb(r_facial,g_facial,b_facial)) as color @@ -910,11 +943,11 @@ regenerate_icons() check_dna() var/datum/gender/T = gender_datums[get_visible_gender()] - visible_message("\The [src] morphs and changes [T.his] appearance!", "You change your appearance!", "[span_red("Oh, god! What the hell was that? It sounded like flesh getting squished and bone ground into a different shape!")]") + visible_message(span_notice("\The [src] morphs and changes [T.his] appearance!"), span_notice("You change your appearance!"), span_filter_notice("[span_red("Oh, god! What the hell was that? It sounded like flesh getting squished and bone ground into a different shape!")]")) /mob/living/carbon/human/proc/remotesay() set name = "Project mind" - set category = "Superpower" + set category = "Abilities.Superpower" if(stat!=CONSCIOUS) reset_view(0) @@ -922,7 +955,7 @@ return if(!(mRemotetalk in src.mutations)) - src.verbs -= /mob/living/carbon/human/proc/remotesay + remove_verb(src, /mob/living/carbon/human/proc/remotesay) return var/list/creatures = list() for(var/mob/living/carbon/h in mob_list) @@ -933,17 +966,17 @@ var/say = sanitize(tgui_input_text(usr, "What do you wish to say?")) if(mRemotetalk in target.mutations) - target.show_message("[span_blue("You hear [src.real_name]'s voice: [say]")]") + target.show_message(span_filter_say("[span_blue("You hear [src.real_name]'s voice: [say]")]")) else - target.show_message("[span_blue("You hear a voice that seems to echo around the room: [say]")]") - usr.show_message("[span_blue("You project your mind into [target.real_name]: [say]")]") + target.show_message(span_filter_say("[span_blue("You hear a voice that seems to echo around the room: [say]")]")) + usr.show_message(span_filter_say("[span_blue("You project your mind into [target.real_name]: [say]")]")) log_say("(TPATH to [key_name(target)]) [say]",src) for(var/mob/observer/dead/G in mob_list) - G.show_message("Telepathic message from [src] to [target]: [say]") + G.show_message(span_filter_say(span_italics("Telepathic message from " + span_bold("[src]") + " to " + span_bold("[target]") + ": [say]"))) /mob/living/carbon/human/proc/remoteobserve() set name = "Remote View" - set category = "Superpower" + set category = "Abilities.Superpower" if(stat!=CONSCIOUS) remoteview_target = null @@ -953,7 +986,7 @@ if(!(mRemote in src.mutations)) remoteview_target = null reset_view(0) - src.verbs -= /mob/living/carbon/human/proc/remoteobserve + remove_verb(src, /mob/living/carbon/human/proc/remoteobserve) return if(client.eye != client.mob) @@ -1029,10 +1062,6 @@ sync_organ_dna() // end vorestation addition - for (var/ID in virus2) - var/datum/disease2/disease/V = virus2[ID] - V.cure(src) - losebreath = 0 ..() @@ -1088,7 +1117,7 @@ blood_DNA[M.dna.unique_enzymes] = M.dna.b_type hand_blood_color = blood_color update_bloodied() - verbs += /mob/living/carbon/human/proc/bloody_doodle + add_verb(src, /mob/living/carbon/human/proc/bloody_doodle) return 1 //we applied blood to the item /mob/living/carbon/human/proc/get_full_print() @@ -1126,8 +1155,8 @@ var/list/visible_implants = list() for(var/obj/item/organ/external/organ in src.organs) - for(var/obj/item/weapon/O in organ.implants) - if(!istype(O,/obj/item/weapon/implant) && (O.w_class > class) && !istype(O,/obj/item/weapon/material/shard/shrapnel)) + for(var/obj/item/O in organ.implants) + if(!istype(O,/obj/item/implant) && (O.w_class > class) && !istype(O,/obj/item/material/shard/shrapnel) && !istype(O,/obj/item/nif)) visible_implants += O return(visible_implants) @@ -1135,7 +1164,7 @@ /mob/living/carbon/human/embedded_needs_process() for(var/obj/item/organ/external/organ in src.organs) for(var/obj/item/O in organ.implants) - if(!istype(O, /obj/item/weapon/implant)) //implant type items do not cause embedding effects, see handle_embedded_objects() + if(!istype(O, /obj/item/implant)) //implant type items do not cause embedding effects, see handle_embedded_objects() return 1 return 0 @@ -1145,15 +1174,15 @@ if(organ.splinted) //Splints prevent movement. continue for(var/obj/item/O in organ.implants) - if(!istype(O,/obj/item/weapon/implant) && prob(5)) //Moving with things stuck in you could be bad. + if(!istype(O,/obj/item/implant) && prob(5)) //Moving with things stuck in you could be bad. // All kinds of embedded objects cause bleeding. if(!can_feel_pain(organ.organ_tag)) - to_chat(src, "You feel [O] moving inside your [organ.name].") + to_chat(src, span_warning("You feel [O] moving inside your [organ.name].")) else var/msg = pick( \ - "A spike of pain jolts your [organ.name] as you bump [O] inside.", \ - "Your movement jostles [O] in your [organ.name] painfully.", \ - "Your movement jostles [O] in your [organ.name] painfully.") + span_warning("A spike of pain jolts your [organ.name] as you bump [O] inside."), \ + span_warning("Your movement jostles [O] in your [organ.name] painfully."), \ + span_warning("Your movement jostles [O] in your [organ.name] painfully.")) custom_pain(msg, 40) organ.take_damage(rand(1,3), 0, 0) @@ -1175,24 +1204,24 @@ if(usr == src) self = 1 if(!self) - usr.visible_message("[usr] kneels down, puts [TU.his] hand on [src]'s wrist and begins counting [T.his] pulse.",\ - "You begin counting [src]'s pulse.") + usr.visible_message(span_notice("[usr] kneels down, puts [TU.his] hand on [src]'s wrist and begins counting [T.his] pulse."),\ + span_filter_notice("You begin counting [src]'s pulse.")) else - usr.visible_message("[usr] begins counting [T.his] pulse.",\ - "You begin counting your pulse.") + usr.visible_message(span_notice("[usr] begins counting [T.his] pulse."),\ + span_filter_notice("You begin counting your pulse.")) if(src.pulse) - to_chat(usr, "[self ? "You have a" : "[src] has a"] pulse! Counting...") + to_chat(usr, span_notice("[self ? "You have a" : "[src] has a"] pulse! Counting...")) else - to_chat(usr, "[src] has no pulse!") //it is REALLY UNLIKELY that a dead person would check his own pulse + to_chat(usr, span_danger("[src] has no pulse!")) //it is REALLY UNLIKELY that a dead person would check his own pulse return - to_chat(usr, "You must[self ? "" : " both"] remain still until counting is finished.") + to_chat(usr, span_filter_notice("You must[self ? "" : " both"] remain still until counting is finished.")) if(do_mob(usr, src, 60)) - var/message = "[self ? "Your" : "[src]'s"] pulse is [src.get_pulse(GETPULSE_HAND)]." + var/message = span_notice("[self ? "Your" : "[src]'s"] pulse is [src.get_pulse(GETPULSE_HAND)].") to_chat(usr,message) else - to_chat(usr, "You failed to check the pulse. Try again.") + to_chat(usr, span_warning("You failed to check the pulse. Try again.")) /mob/living/carbon/human/proc/set_species(var/new_species, var/default_colour, var/regen_icons = TRUE, var/mob/living/carbon/human/example = null) //VOREStation Edit - send an example @@ -1306,7 +1335,7 @@ return 0 /mob/living/carbon/human/proc/bloody_doodle() - set category = "IC" + set category = "IC.Game" set name = "Write in blood" set desc = "Use blood on your hands to write a short message on the floor or a wall, murder mystery style." @@ -1317,29 +1346,29 @@ return 0 //something is terribly wrong if (!bloody_hands) - verbs -= /mob/living/carbon/human/proc/bloody_doodle + remove_verb(src, /mob/living/carbon/human/proc/bloody_doodle) if (src.gloves) - to_chat(src, "Your [src.gloves] are getting in the way.") + to_chat(src, span_warning("Your [src.gloves] are getting in the way.")) return var/turf/simulated/T = src.loc if (!istype(T)) //to prevent doodling out of mechs and lockers - to_chat(src, "You cannot reach the floor.") + to_chat(src, span_warning("You cannot reach the floor.")) return var/direction = tgui_input_list(src,"Which way?","Tile selection", list("Here","North","South","East","West")) if (direction != "Here") T = get_step(T,text2dir(direction)) if (!istype(T)) - to_chat(src, "You cannot doodle there.") + to_chat(src, span_warning("You cannot doodle there.")) return var/num_doodles = 0 for (var/obj/effect/decal/cleanable/blood/writing/W in T) num_doodles++ if (num_doodles > 4) - to_chat(src, "There is no space to write on!") + to_chat(src, span_warning("There is no space to write on!")) return var/max_length = bloody_hands * 30 //tweeter style @@ -1352,7 +1381,7 @@ if (length(message) > max_length) message += "-" - to_chat(src, "You ran out of blood to write with!") + to_chat(src, span_warning("You ran out of blood to write with!")) var/obj/effect/decal/cleanable/blood/writing/W = new(T) W.basecolor = (hand_blood_color) ? hand_blood_color : "#A10808" @@ -1394,7 +1423,7 @@ if(!. && error_msg && user) if(!fail_msg) fail_msg = "There is no exposed flesh or thin material [target_zone == BP_HEAD ? "on their head" : "on their body"] to inject into." - to_chat(user, "[fail_msg]") + to_chat(user, span_warning("[fail_msg]")) /mob/living/carbon/human/print_flavor_text(var/shrink = 1) var/list/equipment = list(src.head,src.wear_mask,src.glasses,src.w_uniform,src.wear_suit,src.gloves,src.shoes) @@ -1488,11 +1517,11 @@ usr.setClickCooldown(20) if(usr.stat > 0) - to_chat(usr, "You are unconcious and cannot do that!") + to_chat(usr, span_filter_notice("You are unconcious and cannot do that!")) return if(usr.restrained()) - to_chat(usr, "You are restrained and cannot do that!") + to_chat(usr, span_filter_notice("You are restrained and cannot do that!")) return var/mob/S = src @@ -1512,9 +1541,9 @@ return if(self) - to_chat(src, "You brace yourself to relocate your [current_limb.joint]...") + to_chat(src, span_warning("You brace yourself to relocate your [current_limb.joint]...")) else - to_chat(U, "You begin to relocate [S]'s [current_limb.joint]...") + to_chat(U, span_warning("You begin to relocate [S]'s [current_limb.joint]...")) if(!do_after(U, 30)) return @@ -1522,10 +1551,10 @@ return if(self) - to_chat(src, "You pop your [current_limb.joint] back in!") + to_chat(src, span_danger("You pop your [current_limb.joint] back in!")) else - to_chat(U, "You pop [S]'s [current_limb.joint] back in!") - to_chat(S, "[U] pops your [current_limb.joint] back in!") + to_chat(U, span_danger("You pop [S]'s [current_limb.joint] back in!")) + to_chat(S, span_danger("[U] pops your [current_limb.joint] back in!")) current_limb.relocate() /mob/living/carbon/human/drop_from_inventory(var/obj/item/W, var/atom/target = null) @@ -1605,21 +1634,21 @@ if(!UWC) return var/datum/category_item/underwear/UWI = all_underwear[UWC.name] if(!UWI || UWI.name == "None") - to_chat(src, "You do not have [UWC.gender==PLURAL ? "[UWC.display_name]" : "a [UWC.display_name]"].") + to_chat(src, span_notice("You do not have [UWC.gender==PLURAL ? "[UWC.display_name]" : "a [UWC.display_name]"].")) return hide_underwear[UWC.name] = !hide_underwear[UWC.name] update_underwear(1) - to_chat(src, "You [hide_underwear[UWC.name] ? "take off" : "put on"] your [UWC.display_name].") + to_chat(src, span_notice("You [hide_underwear[UWC.name] ? "take off" : "put on"] your [UWC.display_name].")) return /mob/living/carbon/human/verb/pull_punches() set name = "Pull Punches" set desc = "Try not to hurt them." - set category = "IC" + set category = "IC.Game" if(stat) return pulling_punches = !pulling_punches - to_chat(src, "You are now [pulling_punches ? "pulling your punches" : "not pulling your punches"].") + to_chat(src, span_notice("You are now [pulling_punches ? "pulling your punches" : "not pulling your punches"].")) return /mob/living/carbon/human/should_have_organ(var/organ_check) @@ -1658,7 +1687,7 @@ return ..() /mob/living/carbon/human/is_muzzled() - return (wear_mask && (istype(wear_mask, /obj/item/clothing/mask/muzzle) || istype(src.wear_mask, /obj/item/weapon/grenade))) + return (wear_mask && (istype(wear_mask, /obj/item/clothing/mask/muzzle) || istype(src.wear_mask, /obj/item/grenade))) /mob/living/carbon/human/get_fire_icon_state() return species.fire_icon_state @@ -1682,7 +1711,7 @@ /mob/living/carbon/human/examine_icon() var/icon/I = get_cached_examine_icon(src) if(!I) - I = getFlatIcon(src, defdir = SOUTH, no_anim = TRUE) + I = getFlatIcon(src, defdir = SOUTH, no_anim = TRUE, force_south = TRUE) set_cached_examine_icon(src, I, 50 SECONDS) return I @@ -1712,7 +1741,7 @@ if(hasHUD(user,"security")) //Try to find their name var/perpname - var/obj/item/weapon/card/id/I = GetIdCard() + var/obj/item/card/id/I = GetIdCard() if(I) perpname = I.registered_name else @@ -1741,7 +1770,7 @@ return ..() /mob/living/carbon/human/pull_damage() - if(((health - halloss) <= config.health_threshold_softcrit)) + if(((health - halloss) <= CONFIG_GET(number/health_threshold_softcrit))) for(var/name in organs_by_name) var/obj/item/organ/external/e = organs_by_name[name] if(!e) @@ -1754,7 +1783,7 @@ // Drag damage is handled in a parent /mob/living/carbon/human/dragged(var/mob/living/dragger, var/oldloc) var/area/A = get_area(src) - if(lying && !buckled && A.has_gravity() && prob(getBruteLoss() * 200 / maxHealth)) + if(lying && !buckled && A.get_gravity() && prob(getBruteLoss() * 200 / maxHealth)) var/bloodtrail = 1 if(species?.flags & NO_BLOOD) bloodtrail = 0 @@ -1778,15 +1807,15 @@ var/obj/item/clothing/glasses/goggles = glasses if(goggles.active && (goggles.vision_flags & (SEE_TURFS|SEE_OBJS))) goggles.toggle_active(src) - to_chat(src, span("warning", "Your [goggles.name] have suddenly turned off!")) + to_chat(src, span_warning("Your [goggles.name] have suddenly turned off!")) // RIGs. - var/obj/item/weapon/rig/rig = get_rig() + var/obj/item/rig/rig = get_rig() if(istype(rig) && rig.visor?.active && rig.visor.vision?.glasses) var/obj/item/clothing/glasses/rig_goggles = rig.visor.vision.glasses if(rig_goggles.vision_flags & (SEE_TURFS|SEE_OBJS)) rig.visor.deactivate() - to_chat(src, span("warning", "\The [rig]'s visor has shuddenly deactivated!")) + to_chat(src, span_warning("\The [rig]'s visor has shuddenly deactivated!")) ..() @@ -1814,7 +1843,7 @@ rest_dir = -1 resting = !resting - to_chat(src, "You are now [resting ? "resting" : "getting up"].") + to_chat(src, span_notice("You are now [resting ? "resting" : "getting up"].")) update_canmove() /mob/living/carbon/human/verb/lay_down_right() @@ -1822,5 +1851,5 @@ rest_dir = 1 resting = !resting - to_chat(src, "You are now [resting ? "resting" : "getting up"].") + to_chat(src, span_notice("You are now [resting ? "resting" : "getting up"].")) update_canmove() diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm index ba6d89be089..13bb256c801 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand.dm @@ -42,8 +42,19 @@ if(H.hand) temp = H.organs_by_name["l_hand"] if(!temp || !temp.is_usable()) - to_chat(H, "You can't use your hand.") + to_chat(H, span_warning("You can't use your hand.")) return + + for(var/thing in GetViruses()) + var/datum/disease/D = thing + if(D.IsSpreadByTouch()) + H.ContractDisease(D) + + for(var/thing in H.GetViruses()) + var/datum/disease/D = thing + if(D.IsSpreadByTouch()) + ContractDisease(D) + if(H.lying) return M.break_cloak() @@ -64,7 +75,7 @@ if(!hit_zone) H.do_attack_animation(src) playsound(src, 'sound/weapons/punchmiss.ogg', 25, 1, -1) - visible_message("[span_red("[H] reaches for [src], but misses!")]") + visible_message(span_filter_combat("[span_red(span_bold("[H] reaches for [src], but misses!"))]")) return FALSE if(H != src && check_shields(0, null, H, H.zone_sel.selecting, H.name)) @@ -72,8 +83,9 @@ return FALSE if(istype(M,/mob/living/carbon)) - var/mob/living/carbon/C = M - C.spread_disease_to(src, "Contact") + for(var/datum/disease/D in M.GetViruses()) + if(D.spread_flags & CONTACT_HANDS) + ContractDisease(D) switch(M.a_intent) if(I_HELP) @@ -82,18 +94,18 @@ if (istype(H) && attempt_to_scoop(H)) return 0; // VOREStation Edit - End - if(istype(H) && health < config.health_threshold_crit) + if(istype(H) && health < CONFIG_GET(number/health_threshold_crit)) if(!H.check_has_mouth()) - to_chat(H, "You don't have a mouth, you cannot perform CPR!") + to_chat(H, span_danger("You don't have a mouth, you cannot perform CPR!")) return if(!check_has_mouth()) - to_chat(H, "They don't have a mouth, you cannot perform CPR!") + to_chat(H, span_danger("They don't have a mouth, you cannot perform CPR!")) return if((H.head && (H.head.body_parts_covered & FACE)) || (H.wear_mask && (H.wear_mask.body_parts_covered & FACE))) - to_chat(H, "Remove your mask!") + to_chat(H, span_notice("Remove your mask!")) return 0 if((head && (head.body_parts_covered & FACE)) || (wear_mask && (wear_mask.body_parts_covered & FACE))) - to_chat(H, "Remove [src]'s mask!") + to_chat(H, span_notice("Remove [src]'s mask!")) return 0 if (!cpr_time) @@ -103,18 +115,18 @@ spawn(30) cpr_time = 1 - H.visible_message("\The [H] is trying to perform CPR on \the [src]!") + H.visible_message(span_danger("\The [H] is trying to perform CPR on \the [src]!")) if(!do_after(H, 30)) return - H.visible_message("\The [H] performs CPR on \the [src]!") - to_chat(H, "Repeat at least every 7 seconds.") + H.visible_message(span_danger("\The [H] performs CPR on \the [src]!")) + to_chat(H, span_warning("Repeat at least every 7 seconds.")) - if(istype(H) && health > config.health_threshold_dead) + if(istype(H) && health > CONFIG_GET(number/health_threshold_dead)) adjustOxyLoss(-(min(getOxyLoss(), 5))) updatehealth() - to_chat(src, "You feel a breath of fresh air enter your lungs. It feels good.") + to_chat(src, span_notice("You feel a breath of fresh air enter your lungs. It feels good.")) else if(!(M == src && apply_pressure(M, M.zone_sel.selecting))) help_shake_act(M) @@ -123,16 +135,16 @@ if(I_GRAB) if(M == src || anchored) return 0 - for(var/obj/item/weapon/grab/G in src.grabbed_by) + for(var/obj/item/grab/G in src.grabbed_by) if(G.assailant == M) - to_chat(M, "You already grabbed [src].") + to_chat(M, span_notice("You already grabbed [src].")) return if(w_uniform) w_uniform.add_fingerprint(M) - var/obj/item/weapon/grab/G = new /obj/item/weapon/grab(M, src) + var/obj/item/grab/G = new /obj/item/grab(M, src) if(buckled) - to_chat(M, "You cannot grab [src], [TT.he] is buckled in!") + to_chat(M, span_notice("You cannot grab [src], [TT.he] is buckled in!")) return if(!G) //the grab will delete itself in New if affecting is anchored return @@ -143,20 +155,20 @@ H.do_attack_animation(src) playsound(src, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) //VORESTATION EDIT - visible_message("[M] has grabbed [src] [(M.zone_sel.selecting == BP_L_HAND || M.zone_sel.selecting == BP_R_HAND)? "by [(gender==FEMALE)? "her" : ((gender==MALE)? "his": "their")] hands": "passively"]!") + visible_message(span_warning("[M] has grabbed [src] [(M.zone_sel.selecting == BP_L_HAND || M.zone_sel.selecting == BP_R_HAND)? "by [(gender==FEMALE)? "her" : ((gender==MALE)? "his": "their")] hands": "passively"]!")) //VORESTATION END END return TRUE if(I_HURT) - if(M.zone_sel.selecting == "mouth" && wear_mask && istype(wear_mask, /obj/item/weapon/grenade)) - var/obj/item/weapon/grenade/G = wear_mask + if(M.zone_sel.selecting == "mouth" && wear_mask && istype(wear_mask, /obj/item/grenade)) + var/obj/item/grenade/G = wear_mask if(!G.active) - visible_message("\The [M] pulls the pin from \the [src]'s [G.name]!") + visible_message(span_danger("\The [M] pulls the pin from \the [src]'s [G.name]!")) G.activate(M) update_inv_wear_mask() else - to_chat(M, "\The [G] is already primed! Run!") + to_chat(M, span_warning("\The [G] is already primed! Run!")) return if(!istype(H)) @@ -172,7 +184,7 @@ var/obj/item/organ/external/affecting = get_organ(hit_zone) if(!affecting || affecting.is_stump()) - to_chat(M, "They are missing that limb!") + to_chat(M, span_danger("They are missing that limb!")) return TRUE switch(src.a_intent) @@ -256,7 +268,7 @@ if(!attack_message) attack.show_attack(H, src, hit_zone, rand_damage) else - H.visible_message("[attack_message]") + H.visible_message(span_danger("[attack_message]")) playsound(src, ((miss_type) ? (miss_type == 1 ? attack.miss_sound : 'sound/weapons/thudswoosh.ogg') : attack.attack_sound), 25, 1, -1) @@ -273,8 +285,12 @@ var/obj/item/clothing/gloves/G = H.gloves real_damage += G.punch_force hit_dam_type = G.punch_damtype - if(H.pulling_punches && !attack.sharp && !attack.edge) //SO IT IS DECREED: PULLING PUNCHES WILL PREVENT THE ACTUAL DAMAGE FROM RINGS AND KNUCKLES, BUT NOT THE ADDED PAIN, BUT YOU CAN'T "PULL" A KNIFE - hit_dam_type = AGONY + else if(istype(H.gloves, /obj/item/clothing/accessory)) + var/obj/item/clothing/accessory/G = H.gloves + real_damage += G.punch_force + hit_dam_type = G.punch_damtype + if(H.pulling_punches && !attack.sharp && !attack.edge) //SO IT IS DECREED: PULLING PUNCHES WILL PREVENT THE ACTUAL DAMAGE FROM RINGS AND KNUCKLES, BUT NOT THE ADDED PAIN, BUT YOU CAN'T "PULL" A KNIFE + hit_dam_type = AGONY real_damage *= damage_multiplier rand_damage *= damage_multiplier if(HULK in H.mutations) @@ -302,18 +318,18 @@ var/list/holding = list(get_active_hand() = 40, get_inactive_hand = 20) //See if they have any guns that might go off - for(var/obj/item/weapon/gun/W in holding) + for(var/obj/item/gun/W in holding) if(W && prob(holding[W])) var/list/turfs = list() for(var/turf/T in view()) turfs += T if(turfs.len) var/turf/target = pick(turfs) - visible_message("[src]'s [W] goes off during the struggle!") + visible_message(span_danger("[src]'s [W] goes off during the struggle!")) return W.afterattack(target,src) if(last_push_time + 30 > world.time) - visible_message("[M] has weakly pushed [src]!") + visible_message(span_warning("[M] has weakly pushed [src]!")) return var/randn = rand(1, 100) @@ -326,9 +342,9 @@ apply_effect(3, WEAKEN, armor_check) playsound(src, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) if(armor_check < 60) - visible_message("[M] has pushed [src]!") + visible_message(span_danger("[M] has pushed [src]!")) else - visible_message("[M] attempted to push [src]!") + visible_message(span_warning("[M] attempted to push [src]!")) return if(randn <= 60) @@ -341,12 +357,12 @@ for(var/obj/item/I in holding) if(I) drop_from_inventory(I) - visible_message("[M] has disarmed [src]!") + visible_message(span_danger("[M] has disarmed [src]!")) playsound(src, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) return playsound(src, 'sound/weapons/punchmiss.ogg', 25, 1, -1) - visible_message("[span_red("[M] attempted to disarm [src]!")]") + visible_message(span_filter_combat("[span_red(span_bold("[M] attempted to disarm [src]!"))]")) return /mob/living/carbon/human/proc/afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, inrange, params) @@ -358,7 +374,7 @@ return add_attack_logs(user,src,"Melee attacked with fists (miss/block)",admin_notify = FALSE) //No admin notice since this is usually fighting simple animals - src.visible_message("[user] has [attack_message] [src]!") + src.visible_message(span_danger("[user] has [attack_message] [src]!")) user.do_attack_animation(src) var/dam_zone = pick(organs_by_name) @@ -372,7 +388,7 @@ //Used to attack a joint through grabbing /mob/living/carbon/human/proc/grab_joint(var/mob/living/user, var/def_zone) var/has_grab = 0 - for(var/obj/item/weapon/grab/G in list(user.l_hand, user.r_hand)) + for(var/obj/item/grab/G in list(user.l_hand, user.r_hand)) if(G.affecting == src && G.state == GRAB_NECK) has_grab = 1 break @@ -388,10 +404,10 @@ if(!organ || organ.dislocated > 0 || organ.dislocated == -1) //don't use is_dislocated() here, that checks parent return FALSE - user.visible_message("[user] begins to dislocate [src]'s [organ.joint]!") + user.visible_message(span_warning("[user] begins to dislocate [src]'s [organ.joint]!")) if(do_after(user, 100)) organ.dislocate(1) - src.visible_message("[src]'s [organ.joint] [pick("gives way","caves in","crumbles","collapses")]!") + src.visible_message(span_danger("[src]'s [organ.joint] [pick("gives way","caves in","crumbles","collapses")]!")) return TRUE return FALSE @@ -399,21 +415,21 @@ /mob/living/carbon/human/proc/break_all_grabs(mob/living/carbon/user) var/success = FALSE if(pulling) - visible_message("[user] has broken [src]'s grip on [pulling]!") + visible_message(span_danger("[user] has broken [src]'s grip on [pulling]!")) success = TRUE stop_pulling() - if(istype(l_hand, /obj/item/weapon/grab)) - var/obj/item/weapon/grab/lgrab = l_hand + if(istype(l_hand, /obj/item/grab)) + var/obj/item/grab/lgrab = l_hand if(lgrab.affecting) - visible_message("[user] has broken [src]'s grip on [lgrab.affecting]!") + visible_message(span_danger("[user] has broken [src]'s grip on [lgrab.affecting]!")) success = TRUE spawn(1) qdel(lgrab) - if(istype(r_hand, /obj/item/weapon/grab)) - var/obj/item/weapon/grab/rgrab = r_hand + if(istype(r_hand, /obj/item/grab)) + var/obj/item/grab/rgrab = r_hand if(rgrab.affecting) - visible_message("[user] has broken [src]'s grip on [rgrab.affecting]!") + visible_message(span_danger("[user] has broken [src]'s grip on [rgrab.affecting]!")) success = TRUE spawn(1) qdel(rgrab) @@ -432,16 +448,16 @@ return FALSE if(organ.applied_pressure) - var/message = "Someone is already applying pressure to [user == src ? "your [organ.name]" : "[src]'s [organ.name]"]." + var/message = span_warning("Someone is already applying pressure to [user == src ? "your [organ.name]" : "[src]'s [organ.name]"].") to_chat(user,message) return FALSE var/datum/gender/TU = gender_datums[user.get_visible_gender()] if(user == src) - user.visible_message("\The [user] starts applying pressure to [TU.his] [organ.name]!", "You start applying pressure to your [organ.name]!") + user.visible_message(span_filter_notice("\The [user] starts applying pressure to [TU.his] [organ.name]!"), span_filter_notice("You start applying pressure to your [organ.name]!")) else - user.visible_message("\The [user] starts applying pressure to [src]'s [organ.name]!", "You start applying pressure to [src]'s [organ.name]!") + user.visible_message(span_filter_notice("\The [user] starts applying pressure to [src]'s [organ.name]!"), span_filter_notice("You start applying pressure to [src]'s [organ.name]!")) spawn(0) organ.applied_pressure = user @@ -451,27 +467,27 @@ organ.applied_pressure = null if(user == src) - user.visible_message("\The [user] stops applying pressure to [TU.his] [organ.name]!", "You stop applying pressure to your [organ]!") + user.visible_message(span_filter_notice("\The [user] stops applying pressure to [TU.his] [organ.name]!"), span_filter_notice("You stop applying pressure to your [organ]!")) else - user.visible_message("\The [user] stops applying pressure to [src]'s [organ.name]!", "You stop applying pressure to [src]'s [organ.name]!") + user.visible_message(span_filter_notice("\The [user] stops applying pressure to [src]'s [organ.name]!"), span_filter_notice("You stop applying pressure to [src]'s [organ.name]!")) return TRUE /mob/living/carbon/human/verb/check_attacks() set name = "Check Attacks" - set category = "IC" + set category = "IC.Game" set src = usr - var/dat = "Known Attacks

    " + var/dat = span_bold(span_giant("Known Attacks")) + "

    " if(default_attack) dat += "Current default attack: [default_attack.attack_name] - reset

    " for(var/datum/unarmed_attack/u_attack in species.unarmed_attacks) if(u_attack == default_attack) - dat += "Primarily [u_attack.attack_name] - default - reset


    " + dat += span_bold("Primarily [u_attack.attack_name]") + " - default - reset


    " else - dat += "Primarily [u_attack.attack_name] - set default


    " + dat += span_bold("Primarily [u_attack.attack_name]") + " - set default


    " src << browse(dat, "window=checkattack") diff --git a/code/modules/mob/living/carbon/human/human_attackhand_vr.dm b/code/modules/mob/living/carbon/human/human_attackhand_vr.dm index fa8c84c22cc..7175f645ccd 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand_vr.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand_vr.dm @@ -3,28 +3,28 @@ /mob/living/carbon/human/verb/check_attacks() set name = "Check Attacks" - set category = "IC" + set category = "IC.Game" set src = usr - var/dat = "Known Attacks

    " + var/dat = span_bold("Known Attacks") + "

    " for(var/datum/unarmed_attack/u_attack in species.unarmed_attacks) - dat += "Primarily [u_attack.attack_name]


    " + dat += span_bold("Primarily [u_attack.attack_name] ") + "


    " src << browse(dat, "window=checkattack") return /mob/living/carbon/human/check_attacks() - var/dat = "Known Attacks

    " + var/dat = span_bold("Known Attacks") + "

    " if(default_attack) dat += "Current default attack: [default_attack.attack_name] - reset

    " for(var/datum/unarmed_attack/u_attack in species.unarmed_attacks) if(u_attack == default_attack) - dat += "Primarily [u_attack.attack_name] - default - reset


    " + dat += span_bold("Primarily [u_attack.attack_name]") + " - default - reset


    " else - dat += "Primarily [u_attack.attack_name] - set default


    " + dat += span_bold("Primarily [u_attack.attack_name]") + " - set default


    " src << browse(dat, "window=checkattack") @@ -60,4 +60,4 @@ claws/attack_name = "claws" claws/strong/attack_name = "strong claws" slime_glomp/attack_name = "glomp" - bite/sharp/numbing/attack_name = "numbing bite" \ No newline at end of file + bite/sharp/numbing/attack_name = "numbing bite" diff --git a/code/modules/mob/living/carbon/human/human_damage.dm b/code/modules/mob/living/carbon/human/human_damage.dm index 333b314fac3..6ccfeb5fb8a 100644 --- a/code/modules/mob/living/carbon/human/human_damage.dm +++ b/code/modules/mob/living/carbon/human/human_damage.dm @@ -18,7 +18,7 @@ health = getMaxHealth() - getOxyLoss() - getToxLoss() - getCloneLoss() - total_burn - total_brute //TODO: fix husking - if( ((getMaxHealth() - total_burn) < config.health_threshold_dead * huskmodifier) && stat == DEAD) + if( ((getMaxHealth() - total_burn) < CONFIG_GET(number/health_threshold_dead) * huskmodifier) && stat == DEAD) ChangeToHusk() return @@ -217,7 +217,7 @@ if(HULK in mutations) return // Notify our AI if they can now control the suit. if(wearing_rig && !stat && paralysis < amount) //We are passing out right this second. - wearing_rig.notify_ai("Warning: user consciousness failure. Mobility control passed to integrated intelligence system.") + wearing_rig.notify_ai(span_danger("Warning: user consciousness failure. Mobility control passed to integrated intelligence system.")) ..() /mob/living/carbon/human/proc/Stasis(amount) @@ -269,21 +269,21 @@ if (candidates.len) var/obj/item/organ/external/O = pick(candidates) O.mutate() - to_chat(src, "Something is not right with your [O.name]...") + to_chat(src, span_notice("Something is not right with your [O.name]...")) return else if (prob(heal_prob)) for (var/obj/item/organ/external/O in organs) if (O.status & ORGAN_MUTATED) O.unmutate() - to_chat(src, "Your [O.name] is shaped normally again.") + to_chat(src, span_notice("Your [O.name] is shaped normally again.")) return if (getCloneLoss() < 1) for (var/obj/item/organ/external/O in organs) if (O.status & ORGAN_MUTATED) O.unmutate() - to_chat(src, "Your [O.name] is shaped normally again.") + to_chat(src, span_notice("Your [O.name] is shaped normally again.")) BITSET(hud_updateflag, HEALTH_HUD) // Defined here solely to take species flags into account without having to recast at mob/living level. @@ -526,7 +526,7 @@ This function restores all organs. if((damagetype != BRUTE) && (damagetype != BURN)) if(damagetype == HALLOSS) if((damage > 25 && prob(20)) || (damage > 50 && prob(60))) - if(organ && organ.organ_can_feel_pain() && !isbelly(loc) && !istype(loc, /obj/item/device/dogborg/sleeper)) //VOREStation Add + if(organ && organ.organ_can_feel_pain() && !isbelly(loc) && !istype(loc, /obj/item/dogborg/sleeper)) //VOREStation Add emote("scream") ..(damage, damagetype, def_zone, blocked, soaked) return 1 diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 4737c9b89f4..8d8fbfd5b37 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -50,7 +50,7 @@ emp_act hit_embed_chance = hit_embed_chance*M.incoming_brute_damage_percent if(prob(max(hit_embed_chance, 0))) - var/obj/item/weapon/material/shard/shrapnel/SP = new() + var/obj/item/material/shard/shrapnel/SP = new() SP.name = (P.name != "shrapnel")? "[P.name] shrapnel" : "shrapnel" SP.desc = "[SP.desc] It looks like it was fired from [P.shot_from]." SP.loc = organ @@ -258,7 +258,7 @@ emp_act if(!hit_zone) user.do_attack_animation(src) playsound(src, 'sound/weapons/punchmiss.ogg', 25, 1, -1) - visible_message("\The [user] misses [src] with \the [I]!") + visible_message(span_danger("\The [user] misses [src] with \the [I]!")) return null if(check_shields(I.force, I, user, target_zone, "the [I.name]")) @@ -266,7 +266,7 @@ emp_act var/obj/item/organ/external/affecting = get_organ(hit_zone) if (!affecting || affecting.is_stump()) - to_chat(user, "They are missing that limb!") + to_chat(user, span_danger("They are missing that limb!")) return null return hit_zone @@ -276,7 +276,7 @@ emp_act if(!affecting) return //should be prevented by attacked_with_item() but for sanity. - visible_message("[src] has been [LAZYLEN(I.attack_verb) ? pick(I.attack_verb) : "attacked"] in the [affecting.name] with [I.name] by [user]!") + visible_message(span_danger("[src] has been [LAZYLEN(I.attack_verb) ? pick(I.attack_verb) : "attacked"] in the [affecting.name] with [I.name] by [user]!")) var/soaked = get_armor_soak(hit_zone, "melee", I.armor_penetration) @@ -338,7 +338,7 @@ emp_act if(BP_HEAD)//Harder to score a stun but if you do it lasts a bit longer if(prob(effective_force)) apply_effect(20, PARALYZE, blocked, soaked) - visible_message("\The [src] has been knocked unconscious!") + visible_message(span_danger("\The [src] has been knocked unconscious!")) if(bloody)//Apply blood if(wear_mask) wear_mask.add_blood(src) @@ -352,7 +352,7 @@ emp_act if(BP_TORSO)//Easier to score a stun but lasts less time if(prob(effective_force + 10)) apply_effect(6, WEAKEN, blocked, soaked) - visible_message("\The [src] has been knocked down!") + visible_message(span_danger("\The [src] has been knocked down!")) if(bloody) bloody_body(src) @@ -369,9 +369,9 @@ emp_act effective_force -= round(effective_force*0.8) //want the dislocation chance to be such that the limb is expected to dislocate after dealing a fraction of the damage needed to break the limb - var/dislocate_chance = effective_force/(dislocate_mult * organ.min_broken_damage * config.organ_health_multiplier)*100 + var/dislocate_chance = effective_force/(dislocate_mult * organ.min_broken_damage * CONFIG_GET(number/organ_health_multiplier))*100 if(prob(dislocate_chance * (100 - blocked)/100)) - visible_message("[src]'s [organ.joint] [pick("gives way","caves in","crumbles","collapses")]!") + visible_message(span_danger("[src]'s [organ.joint] [pick("gives way","caves in","crumbles","collapses")]!")) organ.dislocate(1) return 1 return 0 @@ -379,12 +379,12 @@ emp_act /mob/living/carbon/human/emag_act(var/remaining_charges, mob/user, var/emag_source) var/obj/item/organ/external/affecting = get_organ(user.zone_sel.selecting) if(!affecting || !(affecting.robotic >= ORGAN_ROBOT)) - to_chat(user, "That limb isn't robotic.") + to_chat(user, span_warning("That limb isn't robotic.")) return -1 if(affecting.sabotaged) - to_chat(user, "[src]'s [affecting.name] is already sabotaged!") + to_chat(user, span_warning("[src]'s [affecting.name] is already sabotaged!")) return -1 - to_chat(user, "You sneakily slide [emag_source] into the dataport on [src]'s [affecting.name] and short out the safeties.") + to_chat(user, span_notice("You sneakily slide [emag_source] into the dataport on [src]'s [affecting.name] and short out the safeties.")) affecting.sabotaged = 1 return 1 @@ -404,7 +404,7 @@ emp_act // PERSON BEING THROWN: DEVOURABLE, ALLOWS THROW VORE, CAN BE DROP PREY. if((can_be_drop_pred && throw_vore && vore_selected) && (thrown_mob.devourable && thrown_mob.throw_vore && thrown_mob.can_be_drop_prey)) //Prey thrown into pred. vore_selected.nom_mob(thrown_mob) //Eat them!!! - visible_message("[thrown_mob] is thrown right into [src]'s [lowertext(vore_selected.name)]!") + visible_message(span_vwarning("[thrown_mob] is thrown right into [src]'s [lowertext(vore_selected.name)]!")) if(thrown_mob.loc != vore_selected) thrown_mob.forceMove(vore_selected) //Double check. Should never happen but...Weirder things have happened! add_attack_logs(thrown_mob.thrower,src,"Devoured [thrown_mob.name] via throw vore.") @@ -413,7 +413,7 @@ emp_act // PERSON BEING HIT: CAN BE DROP PREY, ALLOWS THROW VORE, AND IS DEVOURABLE. // PERSON BEING THROWN: CAN BE DROP PRED, ALLOWS THROW VORE. else if((can_be_drop_prey && throw_vore && devourable) && (thrown_mob.can_be_drop_pred && thrown_mob.throw_vore && thrown_mob.vore_selected)) //Pred thrown into prey. - visible_message("[src] suddenly slips inside of [thrown_mob]'s [lowertext(thrown_mob.vore_selected.name)] as [thrown_mob] flies into them!") + visible_message(span_vwarning("[src] suddenly slips inside of [thrown_mob]'s [lowertext(thrown_mob.vore_selected.name)] as [thrown_mob] flies into them!")) thrown_mob.vore_selected.nom_mob(src) //Eat them!!! if(src.loc != thrown_mob.vore_selected) src.forceMove(thrown_mob.vore_selected) //Double check. Should never happen but...Weirder things have happened! @@ -426,7 +426,7 @@ emp_act if(stat != DEAD && istype(O,/obj/item) && trash_catching && vore_selected) //Ported from chompstation var/obj/item/I = O if(adminbus_trash || is_type_in_list(I,edible_trash) && I.trash_eatable && !is_type_in_list(I,item_vore_blacklist)) - visible_message("[I] is thrown directly into [src]'s [lowertext(vore_selected.name)]!") + visible_message(span_warning("[I] is thrown directly into [src]'s [lowertext(vore_selected.name)]!")) I.throwing = 0 I.forceMove(vore_selected) return @@ -435,7 +435,7 @@ emp_act if(isturf(O.loc)) if(can_catch(O)) put_in_active_hand(O) - visible_message("[src] catches [O]!") + visible_message(span_warning("[src] catches [O]!")) throw_mode_off() return @@ -443,7 +443,7 @@ emp_act var/throw_damage = O.throwforce*(speed/THROWFORCE_SPEED_DIVISOR) if(species && species.throwforce_absorb_threshold >= throw_damage) - visible_message("\The [O] simply bounces off of [src]'s body!") + visible_message(span_infoplain(span_bold("\The [O]") + " simply bounces off of [src]'s body!")) return var/zone @@ -468,7 +468,7 @@ emp_act return if(!zone) - visible_message("\The [O] misses [src] narrowly!") + visible_message(span_infoplain(span_bold("\The [O]") + " misses [src] narrowly!")) return O.throwing = 0 //it hit, so stop moving @@ -476,7 +476,7 @@ emp_act var/obj/item/organ/external/affecting = get_organ(zone) var/hit_area = affecting.name - src.visible_message("[span_red("[src] has been hit in the [hit_area] by [O].")]") + src.visible_message(span_filter_warning("[span_red("[src] has been hit in the [hit_area] by [O].")]")) if(ismob(O.thrower)) add_attack_logs(O.thrower,src,"Hit with thrown [O.name]") @@ -484,7 +484,7 @@ emp_act //If the armor absorbs all of the damage, skip the rest of the calculations var/soaked = get_armor_soak(affecting, "melee", O.armor_penetration) if(soaked >= throw_damage) - to_chat(src, "Your armor absorbs the force of [O.name]!") + to_chat(src, span_warning("Your armor absorbs the force of [O.name]!")) return var/armor = run_armor_check(affecting, "melee", O.armor_penetration, "Your armor has protected your [hit_area].", "Your armor has softened hit to your [hit_area].") //I guess "melee" is the best fit here @@ -522,7 +522,7 @@ emp_act if(O.throw_source && momentum >= THROWNOBJ_KNOCKBACK_SPEED && !buckled) var/dir = get_dir(O.throw_source, src) - visible_message("[span_red("[src] staggers under the impact!")]","[span_red("You stagger under the impact!")]") + visible_message(span_filter_warning("[span_red("[src] staggers under the impact!")]"),span_filter_warning("[span_red("You stagger under the impact!")]")) src.throw_at(get_edge_target_turf(src,dir),1,momentum) if(!O || !src) return @@ -532,7 +532,7 @@ emp_act if(T) src.loc = T - visible_message("[src] is pinned to the wall by [O]!","You are pinned to the wall by [O]!") + visible_message(span_warning("[src] is pinned to the wall by [O]!"),span_warning("You are pinned to the wall by [O]!")) src.anchored = TRUE src.pinned += O @@ -595,8 +595,8 @@ emp_act if(damtype != BURN && damtype != BRUTE) return // The rig might soak this hit, if we're wearing one. - if(istype(get_rig(),/obj/item/weapon/rig)) - var/obj/item/weapon/rig/rig = get_rig() + if(istype(get_rig(),/obj/item/rig)) + var/obj/item/rig/rig = get_rig() rig.take_hit(damage) // We may also be taking a suit breach. @@ -662,7 +662,7 @@ emp_act species.handle_water_damage(src, amount) -/mob/living/carbon/human/shank_attack(obj/item/W, obj/item/weapon/grab/G, mob/user, hit_zone) +/mob/living/carbon/human/shank_attack(obj/item/W, obj/item/grab/G, mob/user, hit_zone) if(!..()) return 0 @@ -674,13 +674,13 @@ emp_act if(W.edge) organ_chance = 75 user.next_move = world.time + 20 - user.visible_message("\The [user] begins to twist \the [W] around inside [src]'s [chest]!") + user.visible_message(span_danger("\The [user] begins to twist \the [W] around inside [src]'s [chest]!")) if(!do_after(user, 20)) return 0 if(!(G && G.assailant == user && G.affecting == src)) //check that we still have a grab return 0 - user.visible_message("\The [user] twists \the [W] around inside [src]'s [chest]!") + user.visible_message(span_danger("\The [user] twists \the [W] around inside [src]'s [chest]!")) if(prob(organ_chance)) var/obj/item/organ/internal/selected_organ = pick(chest.internal_organs) diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm index 2a0bf0dc140..b1244ee799d 100644 --- a/code/modules/mob/living/carbon/human/human_defines.dm +++ b/code/modules/mob/living/carbon/human/human_defines.dm @@ -54,6 +54,7 @@ var/list/all_underwear = list() var/list/all_underwear_metadata = list() var/list/hide_underwear = list() + var/headset = 1 //Which headset type the player has chosen. var/backbag = 2 //Which backpack type the player has chosen. var/pdachoice = 1 //Which PDA type the player has chosen. @@ -81,10 +82,6 @@ var/obj/item/l_store = null var/obj/item/s_store = null - var/used_skillpoints = 0 - var/skill_specialization = null - var/list/skills = list() - var/voice = "" //Instead of new say code calling GetVoice() over and over and over, we're just going to ask this variable, which gets updated in Life() var/special_voice = "" // For changing our voice. Used by a symptom. @@ -135,6 +132,12 @@ var/r_ears3 = 30 //Trust me, we could always use more colour. No japes. var/g_ears3 = 30 var/b_ears3 = 30 + + /// secondary ears sprite accessory reference + var/datum/sprite_accessory/ears/ear_secondary_style + /// secondary ears color channels; can be null, or a list of #aabbcc hexcolors + var/list/ear_secondary_colors + var/datum/sprite_accessory/tail/tail_style = null var/r_tail = 30 var/g_tail = 30 @@ -162,4 +165,6 @@ // Custom Species Name var/custom_species - var/block_hud \ No newline at end of file + var/block_hud + + var/phobias //For holding a list of phobias diff --git a/code/modules/mob/living/carbon/human/human_helpers.dm b/code/modules/mob/living/carbon/human/human_helpers.dm index 1b8a9957544..23442c62cca 100644 --- a/code/modules/mob/living/carbon/human/human_helpers.dm +++ b/code/modules/mob/living/carbon/human/human_helpers.dm @@ -10,7 +10,7 @@ if(status[1] == HUMAN_EATING_NO_MOUTH) to_chat(src, "Where do you intend to put [food]? You don't have a mouth!") else if(status[1] == HUMAN_EATING_BLOCKED_MOUTH) - to_chat(src, "\The [status[2]] is in the way!") + to_chat(src, span_warning("\The [status[2]] is in the way!")) return 0 /mob/living/carbon/human/can_force_feed(var/feeder, var/food, var/feedback = 1) @@ -21,7 +21,7 @@ if(status[1] == HUMAN_EATING_NO_MOUTH) to_chat(feeder, "Where do you intend to put [food]? \The [src] doesn't have a mouth!") else if(status[1] == HUMAN_EATING_BLOCKED_MOUTH) - to_chat(feeder, "\The [status[2]] is in the way!") + to_chat(feeder, span_warning("\The [status[2]] is in the way!")) return 0 /mob/living/carbon/human/proc/can_eat_status() @@ -58,23 +58,23 @@ /mob/living/carbon/human/break_cloak() if(mind && mind.changeling) //Changeling visible camo mind.changeling.cloaked = 0 - if(istype(back, /obj/item/weapon/rig)) //Ninja cloak - var/obj/item/weapon/rig/suit = back + if(istype(back, /obj/item/rig)) //Ninja cloak + var/obj/item/rig/suit = back for(var/obj/item/rig_module/stealth_field/cloaker in suit.installed_modules) if(cloaker.active) cloaker.deactivate() - for(var/obj/item/weapon/deadringer/dr in src) + for(var/obj/item/deadringer/dr in src) dr.uncloak() /mob/living/carbon/human/is_cloaked() if(mind && mind.changeling && mind.changeling.cloaked) // Ling camo. return TRUE - else if(istype(back, /obj/item/weapon/rig)) //Ninja cloak - var/obj/item/weapon/rig/suit = back + else if(istype(back, /obj/item/rig)) //Ninja cloak + var/obj/item/rig/suit = back for(var/obj/item/rig_module/stealth_field/cloaker in suit.installed_modules) if(cloaker.active) return TRUE - for(var/obj/item/weapon/deadringer/dr in src) + for(var/obj/item/deadringer/dr in src) if(dr.timer > 20) return TRUE return ..() @@ -136,11 +136,11 @@ if(B) // Incase we lost our brain for some reason, like if we got decapped. if(istype(B, /obj/item/organ/internal/mmi_holder)) var/obj/item/organ/internal/mmi_holder/mmi_holder = B - if(istype(mmi_holder.stored_mmi, /obj/item/device/mmi/digital/posibrain)) + if(istype(mmi_holder.stored_mmi, /obj/item/mmi/digital/posibrain)) return FBP_POSI - else if(istype(mmi_holder.stored_mmi, /obj/item/device/mmi/digital/robot)) + else if(istype(mmi_holder.stored_mmi, /obj/item/mmi/digital/robot)) return FBP_DRONE - else if(istype(mmi_holder.stored_mmi, /obj/item/device/mmi)) // This needs to come last because inheritence. + else if(istype(mmi_holder.stored_mmi, /obj/item/mmi)) // This needs to come last because inheritence. return FBP_CYBORG return FBP_NONE @@ -172,11 +172,7 @@ var/list/compiled_vis = list() if(CE_DARKSIGHT in chem_effects) //Putting this near the beginning so it can be overwritten by equipment - plane_holder.set_vis(VIS_FULLBRIGHT,TRUE) compiled_vis += VIS_FULLBRIGHT - else - plane_holder.set_vis(VIS_FULLBRIGHT,FALSE) - compiled_vis -= VIS_FULLBRIGHT for(var/slot in slots) var/obj/item/clothing/O = get_equipped_item(slot) //Change this type if you move the vision stuff to item or something. @@ -184,7 +180,7 @@ compiled_vis |= O.enables_planes //Check to see if we have a rig (ugh, blame rigs, desnowflake this) - var/obj/item/weapon/rig/rig = get_rig() + var/obj/item/rig/rig = get_rig() if(istype(rig) && rig.visor) if(!rig.helmet || (head && rig.helmet == head)) if(rig.visor && rig.visor.vision && rig.visor.active && rig.visor.vision.glasses) @@ -200,12 +196,8 @@ //VOREStation Add End //Vore Stomach addition start. This goes here. - if(stomach_vision && !(VIS_CH_STOMACH in vis_enabled)) - plane_holder.set_vis(VIS_CH_STOMACH,TRUE) + if(stomach_vision) compiled_vis += VIS_CH_STOMACH - else if(!stomach_vision && (VIS_CH_STOMACH in vis_enabled)) - plane_holder.set_vis(VIS_CH_STOMACH,FALSE) - compiled_vis -= VIS_CH_STOMACH //Vore Stomach addition end if(!compiled_vis.len && !vis_enabled.len) @@ -226,7 +218,7 @@ vis_enabled -= vis /mob/living/carbon/human/get_restraining_bolt() - var/obj/item/weapon/implant/restrainingbolt/RB + var/obj/item/implant/restrainingbolt/RB for(var/obj/item/organ/external/EX in organs) RB = locate() in EX diff --git a/code/modules/mob/living/carbon/human/human_helpers_vr.dm b/code/modules/mob/living/carbon/human/human_helpers_vr.dm index 7d02ca95a05..28eea3e81e9 100644 --- a/code/modules/mob/living/carbon/human/human_helpers_vr.dm +++ b/code/modules/mob/living/carbon/human/human_helpers_vr.dm @@ -126,11 +126,155 @@ var/static/icon/ingame_hud_med_vr = icon('icons/mob/hud_med_vr.dmi') //does not really need to happen, that kinda thing will only happen when putting another person's limb onto your own body return sorted +/mob/living/carbon/human/proc/transform_into_other_human(var/mob/living/carbon/human/character, var/copy_name, var/copy_flavour = TRUE, var/convert_to_prosthetics = FALSE) + /* + name, nickname, flavour, OOC notes + gender, sex + custom species name, custom bodytype, weight, scale, scaling center, sound type, sound freq + custom say verbs + ears, wings, tail, hair, facial hair + ears colors, wings colors, tail colors + body color, prosthetics (if they're a protean) (convert to DSI if protean and not prosthetic), eye color, hair color etc + markings + custom synth markings toggle, custom synth color toggle + digitigrade + blood color + */ + if (copy_name) + name = character.name + nickname = character.nickname + gender = character.gender + identifying_gender = character.identifying_gender + r_eyes = character.r_eyes + g_eyes = character.g_eyes + b_eyes = character.b_eyes + h_style = character.h_style + r_hair = character.r_hair + g_hair = character.g_hair + b_hair = character.b_hair + r_grad = character.r_grad + g_grad = character.g_grad + b_grad = character.b_grad + f_style = character.f_style + r_facial = character.r_facial + g_facial = character.g_facial + b_facial = character.b_facial + r_skin = character.r_skin + g_skin = character.g_skin + b_skin = character.b_skin + s_tone = character.s_tone + h_style = character.h_style + grad_style = character.grad_style + f_style = character.f_style + grad_style = character.grad_style + b_type = character.b_type + synth_color = character.synth_color + r_synth = character.r_synth + g_synth = character.g_synth + b_synth = character.b_synth + synth_markings = character.synth_markings + ear_style = character.ear_style + r_ears = character.r_ears + b_ears = character.b_ears + g_ears = character.g_ears + r_ears2 = character.r_ears2 + b_ears2 = character.b_ears2 + g_ears2 = character.g_ears2 + r_ears3 = character.r_ears3 + b_ears3 = character.b_ears3 + g_ears3 = character.g_ears3 + tail_style = character.tail_style + r_tail = character.r_tail + b_tail = character.b_tail + g_tail = character.g_tail + r_tail2 = character.r_tail2 + b_tail2 = character.b_tail2 + g_tail2 = character.g_tail2 + r_tail3 = character.r_tail3 + b_tail3 = character.b_tail3 + g_tail3 = character.g_tail3 + wing_style = character.wing_style + r_wing = character.r_wing + b_wing = character.b_wing + g_wing = character.g_wing + r_wing2 = character.r_wing2 + b_wing2 = character.b_wing2 + g_wing2 = character.g_wing2 + r_wing3 = character.r_wing3 + b_wing3 = character.b_wing3 + g_wing3 = character.g_wing3 + var/bodytype = character.species?.get_bodytype() + if (convert_to_prosthetics) //should only really be run for proteans + var/list/organs_to_edit = list() + for (var/name in list(BP_TORSO, BP_HEAD, BP_GROIN, BP_L_ARM, BP_R_ARM, BP_L_HAND, BP_R_HAND, BP_L_LEG, BP_R_LEG, BP_L_FOOT, BP_R_FOOT)) + var/obj/item/organ/external/O = character.organs_by_name[name] + if (O) + var/x = organs_to_edit.Find(O.parent_organ) + if (x == 0) + organs_to_edit += name + else + organs_to_edit.Insert(x+(O.robotic == ORGAN_NANOFORM ? 1 : 0), name) + for(var/name in organs_to_edit) + var/obj/item/organ/external/I = character.organs_by_name[name] + var/obj/item/organ/external/O = organs_by_name[name] + if(O) + if(I.robotic >= ORGAN_ROBOT) + O.robotize(I.model) + else + var/dsi_company = GLOB.dsi_to_species[bodytype] + if (!dsi_company) + dsi_company = "DSI - Adaptive" + O.robotize(dsi_company) + + for(var/N in character.organs_by_name) + var/obj/item/organ/external/O = organs_by_name[N] + var/obj/item/organ/external/I = character.organs_by_name[N] + O.markings = I.markings.Copy() + + markings_len = character.markings_len + + descriptors = character.descriptors?.Copy() + + if (copy_flavour) + flavor_texts = character.flavor_texts?.Copy() + + weight = character.weight + weight_gain = character.weight_gain + weight_loss = character.weight_loss + fuzzy = character.fuzzy + offset_override = character.offset_override + voice_freq = character.voice_freq + if (species && character.species) + species.micro_size_mod = character.species.micro_size_mod + species.icon_scale_x = character.species.icon_scale_x + species.icon_scale_y = character.species.icon_scale_y + update_transform() + resize(character.size_multiplier, animate = TRUE, ignore_prefs = TRUE) + voice_sounds_list = character.voice_sounds_list + + species?.blood_color = character.species?.blood_color + + dna?.base_species = bodytype + species?.base_species = bodytype + species?.vanity_base_fit = bodytype + if (istype(species, /datum/species/shapeshifter)) + wrapped_species_by_ref["\ref[src]"] = bodytype + + custom_species = character.custom_species + custom_say = character.custom_say + custom_ask = character.custom_ask + custom_whisper = character.custom_whisper + custom_exclaim = character.custom_exclaim + + digitigrade = character.digitigrade + dna?.ResetUIFrom(src) + force_update_limbs() + regenerate_icons() diff --git a/code/modules/mob/living/carbon/human/human_modular_limbs.dm b/code/modules/mob/living/carbon/human/human_modular_limbs.dm index b9c783a8b17..7e1d4e1e40e 100644 --- a/code/modules/mob/living/carbon/human/human_modular_limbs.dm +++ b/code/modules/mob/living/carbon/human/human_modular_limbs.dm @@ -73,13 +73,13 @@ // Called in robotize(), replaced() and removed() to update our modular limb verbs. /mob/living/carbon/human/proc/refresh_modular_limb_verbs() if(length(get_modular_limbs(return_first_found = TRUE, validate_proc = /obj/item/organ/external/proc/can_attach_modular_limb_here))) - verbs |= /mob/living/carbon/human/proc/attach_limb_verb + add_verb(src, /mob/living/carbon/human/proc/attach_limb_verb) else - verbs -= /mob/living/carbon/human/proc/attach_limb_verb + remove_verb(src, /mob/living/carbon/human/proc/attach_limb_verb) if(length(get_modular_limbs(return_first_found = TRUE, validate_proc = /obj/item/organ/external/proc/can_remove_modular_limb))) - verbs |= /mob/living/carbon/human/proc/detach_limb_verb + add_verb(src, /mob/living/carbon/human/proc/detach_limb_verb) else - verbs -= /mob/living/carbon/human/proc/detach_limb_verb + remove_verb(src, /mob/living/carbon/human/proc/detach_limb_verb) // Proc helper for attachment verb. /mob/living/carbon/human/proc/check_can_attach_modular_limb(var/obj/item/organ/external/E) @@ -87,34 +87,34 @@ return FALSE //VOREStation Addition Start if(species.name == SPECIES_PROTEAN) - to_chat(src, SPAN_WARNING("This is not compatible with your nanomachine body!")) + to_chat(src, span_warning("This is not compatible with your nanomachine body!")) return FALSE //VOREStation Addition End if(incapacitated() || restrained()) - to_chat(src, SPAN_WARNING("You can't do that in your current state!")) + to_chat(src, span_warning("You can't do that in your current state!")) return FALSE if(QDELETED(E) || !istype(E)) - to_chat(src, SPAN_WARNING("You are not holding a compatible limb to attach.")) + to_chat(src, span_warning("You are not holding a compatible limb to attach.")) return FALSE if(!E.can_be_attached_modular_limb(src)) - to_chat(src, SPAN_WARNING("\The [E] cannot be attached to your current body.")) + to_chat(src, span_warning("\The [E] cannot be attached to your current body.")) return FALSE if(E.get_modular_limb_category() <= MODULAR_BODYPART_INVALID) - to_chat(src, SPAN_WARNING("\The [E] cannot be attached by your own hand.")) + to_chat(src, span_warning("\The [E] cannot be attached by your own hand.")) return FALSE var/install_to_zone = E.organ_tag if(!isnull(get_organ(install_to_zone))) - to_chat(src, SPAN_WARNING("There is already a limb attached at that part of your body.")) + to_chat(src, span_warning("There is already a limb attached at that part of your body.")) return FALSE if(E.check_modular_limb_damage(src)) - to_chat(src, SPAN_WARNING("\The [E] is too damaged to be attached.")) + to_chat(src, span_warning("\The [E] is too damaged to be attached.")) return FALSE var/obj/item/organ/external/parent = E.parent_organ && get_organ(E.parent_organ) if(!parent) - to_chat(src, SPAN_WARNING("\The [E] needs an existing limb to be attached to.")) + to_chat(src, span_warning("\The [E] needs an existing limb to be attached to.")) return FALSE if(parent.check_modular_limb_damage(src)) - to_chat(src, SPAN_WARNING("Your [parent.name] is too damaged to have anything attached.")) + to_chat(src, span_warning("Your [parent.name] is too damaged to have anything attached.")) return FALSE return TRUE @@ -124,22 +124,22 @@ return FALSE //VOREStation Addition Start if(species.name == SPECIES_PROTEAN) - to_chat(src, SPAN_WARNING("You can't just detach parts of your nanomachine body!")) + to_chat(src, span_warning("You can't just detach parts of your nanomachine body!")) return FALSE //VOREStation Addition End if(incapacitated() || restrained()) - to_chat(src, SPAN_WARNING("You can't do that in your current state!")) + to_chat(src, span_warning("You can't do that in your current state!")) return FALSE if(!istype(E) || QDELETED(src) || QDELETED(E) || E.owner != src || E.loc != src) return FALSE if(E.check_modular_limb_damage(src)) - to_chat(src, SPAN_WARNING("That limb is too damaged to be removed!")) + to_chat(src, span_warning("That limb is too damaged to be removed!")) return FALSE var/obj/item/organ/external/parent = E.parent_organ && get_organ(E.parent_organ) if(!parent) return FALSE if(parent.check_modular_limb_damage(src)) - to_chat(src, SPAN_WARNING("Your [parent.name] is too damaged to detach anything from it.")) + to_chat(src, span_warning("Your [parent.name] is too damaged to detach anything from it.")) return FALSE return (E in get_modular_limbs(return_first_found = FALSE, validate_proc = /obj/item/organ/external/proc/can_remove_modular_limb)) @@ -169,8 +169,8 @@ var/datum/gender/G = gender_datums[gender] visible_message( - SPAN_NOTICE("\The [src] attaches \the [E] to [G.his] body!"), - SPAN_NOTICE("You attach \the [E] to your body!")) + span_notice("\The [src] attaches \the [E] to [G.his] body!"), + span_notice("You attach \the [E] to your body!")) regenerate_icons() // Not sure why this isn't called by removed(), but without it we don't update our limb appearance. return TRUE @@ -181,7 +181,7 @@ var/list/detachable_limbs = get_modular_limbs(return_first_found = FALSE, validate_proc = /obj/item/organ/external/proc/can_remove_modular_limb) if(!length(detachable_limbs)) - to_chat(src, SPAN_WARNING("You have no detachable limbs.")) + to_chat(src, span_warning("You have no detachable limbs.")) return FALSE var/obj/item/organ/external/E = tgui_input_list(usr, "Which limb do you wish to detach?", "Limb Removal", detachable_limbs) if(!check_can_detach_modular_limb(E)) @@ -197,6 +197,6 @@ put_in_hands(E) var/datum/gender/G = gender_datums[gender] visible_message( - SPAN_NOTICE("\The [src] detaches [G.his] [E.name]!"), - SPAN_NOTICE("You detach your [E.name]!")) + span_notice("\The [src] detaches [G.his] [E.name]!"), + span_notice("You detach your [E.name]!")) return TRUE diff --git a/code/modules/mob/living/carbon/human/human_movement.dm b/code/modules/mob/living/carbon/human/human_movement.dm index 65b4039cddc..338c72451fa 100644 --- a/code/modules/mob/living/carbon/human/human_movement.dm +++ b/code/modules/mob/living/carbon/human/human_movement.dm @@ -116,7 +116,7 @@ . *= 0.5 . -= chem_effects[CE_SPEEDBOOST] // give 'em a buff on top. - . = max(HUMAN_LOWEST_SLOWDOWN, . + config.human_delay) // Minimum return should be the same as force_max_speed + . = max(HUMAN_LOWEST_SLOWDOWN, . + CONFIG_GET(number/human_delay)) // Minimum return should be the same as force_max_speed . += ..() /mob/living/carbon/human/Moved() @@ -147,7 +147,7 @@ if(!T) return 0 - if(T.movement_cost) + if(T.movement_cost && !flying) //VOREStation Add: If you are flying you are probably not affected by the terrain on the ground. var/turf_move_cost = T.movement_cost if(istype(T, /turf/simulated/floor/water)) if(species.water_movement) @@ -191,8 +191,8 @@ /mob/living/carbon/human/get_jetpack() if(back) - var/obj/item/weapon/rig/rig = get_rig() - if(istype(back, /obj/item/weapon/tank/jetpack)) + var/obj/item/rig/rig = get_rig() + if(istype(back, /obj/item/tank/jetpack)) return back else if(istype(rig)) for(var/obj/item/rig_module/maneuvering_jets/module in rig.installed_modules) @@ -212,7 +212,7 @@ return TRUE //VOREStation Edit. //Do we have a working jetpack? - var/obj/item/weapon/tank/jetpack/thrust = get_jetpack() + var/obj/item/tank/jetpack/thrust = get_jetpack() if(thrust) if(((!check_drift) || (check_drift && thrust.stabilization_on)) && (!lying) && (thrust.do_thrust(0.01, src))) @@ -231,7 +231,7 @@ if(species.can_space_freemove || species.can_zero_g_move) return FALSE - var/obj/item/weapon/tank/jetpack/thrust = get_jetpack() + var/obj/item/tank/jetpack/thrust = get_jetpack() if(thrust?.can_thrust(0.01)) return FALSE @@ -257,7 +257,7 @@ return if(is_incorporeal()) return - if(!config.footstep_volume || !T.footstep_sounds || !T.footstep_sounds.len) + if(!CONFIG_GET(number/footstep_volume) || !T.footstep_sounds || !T.footstep_sounds.len) return // Future Upgrades - Multi species support var/list/footstep_sounds = T.footstep_sounds["human"] @@ -276,7 +276,7 @@ if(m_intent == "run" && step_count++ % 2 != 0) return - var/volume = config.footstep_volume + var/volume = CONFIG_GET(number/footstep_volume) // Reduce volume while walking or barefoot if(!shoes || m_intent == "walk") @@ -292,7 +292,7 @@ if(buckled || lying || throwing) return // people flying, lying down or sitting do not step - if(!has_gravity(src) && prob(75)) + if(!get_gravity(src) && prob(75)) return // Far less likely to make noise in no gravity playsound(T, S, volume, FALSE) @@ -301,4 +301,4 @@ /mob/living/carbon/human/set_dir(var/new_dir) . = ..() if(. && (species.tail || tail_style)) - update_tail_showing() \ No newline at end of file + update_tail_showing() diff --git a/code/modules/mob/living/carbon/human/human_organs.dm b/code/modules/mob/living/carbon/human/human_organs.dm index 4b94ff930a4..294cdc86480 100644 --- a/code/modules/mob/living/carbon/human/human_organs.dm +++ b/code/modules/mob/living/carbon/human/human_organs.dm @@ -110,9 +110,9 @@ // Canes and crutches help you stand (if the latter is ever added) // One cane mitigates a broken leg+foot, or a missing foot. // Two canes are needed for a lost leg. If you are missing both legs, canes aren't gonna help you. - if (l_hand && istype(l_hand, /obj/item/weapon/cane)) + if (l_hand && istype(l_hand, /obj/item/cane)) stance_damage -= 2 - if (r_hand && istype(r_hand, /obj/item/weapon/cane)) + if (r_hand && istype(r_hand, /obj/item/cane)) stance_damage -= 2 // standing is poor @@ -132,7 +132,7 @@ for(var/limb_tag in list(BP_L_HAND, BP_L_ARM)) var/obj/item/organ/external/E = get_organ(limb_tag) if(!E) - visible_message("Lacking a functioning left hand, \the [src] drops \the [l_hand].") + visible_message(span_danger("Lacking a functioning left hand, \the [src] drops \the [l_hand].")) drop_from_inventory(l_hand) break @@ -140,7 +140,7 @@ for(var/limb_tag in list(BP_R_HAND, BP_R_ARM)) var/obj/item/organ/external/E = get_organ(limb_tag) if(!E) - visible_message("Lacking a functioning right hand, \the [src] drops \the [r_hand].") + visible_message(span_danger("Lacking a functioning right hand, \the [src] drops \the [r_hand].")) drop_from_inventory(r_hand) break @@ -203,7 +203,7 @@ /mob/living/carbon/human/proc/set_gender(var/g) if(g != gender) gender = g - + if(dna.GetUIState(DNA_UI_GENDER) ^ gender == FEMALE) // XOR will catch both cases where they do not match dna.SetUIState(DNA_UI_GENDER, gender == FEMALE) - sync_organ_dna(dna) \ No newline at end of file + sync_organ_dna(dna) diff --git a/code/modules/mob/living/carbon/human/human_powers.dm b/code/modules/mob/living/carbon/human/human_powers.dm index 6e5f9eae6c2..9abd6ddf229 100644 --- a/code/modules/mob/living/carbon/human/human_powers.dm +++ b/code/modules/mob/living/carbon/human/human_powers.dm @@ -4,17 +4,17 @@ /mob/living/carbon/human/proc/tie_hair() set name = "Tie Hair" set desc = "Style your hair." - set category = "IC" + set category = "IC.Game" if(incapacitated()) - to_chat(src, "You can't mess with your hair right now!") + to_chat(src, span_warning("You can't mess with your hair right now!")) return if(h_style) var/datum/sprite_accessory/hair/hair_style = hair_styles_list[h_style] var/selected_string if(!(hair_style.flags & HAIR_TIEABLE)) - to_chat(src, "Your hair isn't long enough to tie.") + to_chat(src, span_warning("Your hair isn't long enough to tie.")) return else var/list/datum/sprite_accessory/hair/valid_hairstyles = list() @@ -24,17 +24,17 @@ valid_hairstyles.Add(hair_string) selected_string = tgui_input_list(usr, "Select a new hairstyle", "Your hairstyle", valid_hairstyles) if(incapacitated()) - to_chat(src, "You can't mess with your hair right now!") + to_chat(src, span_warning("You can't mess with your hair right now!")) return else if(selected_string && h_style != selected_string) h_style = selected_string regenerate_icons() - visible_message("[src] pauses a moment to style their hair.") + visible_message(span_notice("[src] pauses a moment to style their hair.")) else - to_chat(src, "You're already using that style.") + to_chat(src, span_notice("You're already using that style.")) /mob/living/carbon/human/proc/tackle() - set category = "Abilities" + set category = "Abilities.General" set name = "Tackle" set desc = "Tackle someone down." @@ -42,7 +42,7 @@ return if(stat || paralysis || stunned || weakened || lying || restrained() || buckled) - to_chat(src, "You cannot tackle someone in your current state.") + to_chat(src, span_notice("You cannot tackle someone in your current state.")) return var/list/choices = list() @@ -61,7 +61,7 @@ return if(stat || paralysis || stunned || weakened || lying || restrained() || buckled) - to_chat(src, "You cannot tackle in your current state.") + to_chat(src, span_notice("You cannot tackle in your current state.")) return last_special = world.time + 50 @@ -78,10 +78,10 @@ for(var/mob/O in viewers(src, null)) if ((O.client && !( O.blinded ))) - O.show_message("[span_red("[src] [failed ? "tried to tackle" : "has tackled"] down [T]!")]", 1) + O.show_message(span_warning(span_red(span_bold("[src] [failed ? "tried to tackle" : "has tackled"] down [T]!"))), 1) /mob/living/carbon/human/proc/commune() - set category = "Abilities" + set category = "Abilities.General" set name = "Commune with creature" set desc = "Send a telepathic message to an unlucky recipient." @@ -103,48 +103,48 @@ var/mob/M = targets[target] if(istype(M, /mob/observer/dead) || M.stat == DEAD) - to_chat(src, "Not even a [src.species.name] can speak to the dead.") + to_chat(src, span_filter_notice("Not even a [src.species.name] can speak to the dead.")) return log_say("(COMMUNE to [key_name(M)]) [text]",src) - to_chat(M, "[span_blue("Like lead slabs crashing into the ocean, alien thoughts drop into your mind: [text]")]") + to_chat(M, span_filter_say("[span_blue("Like lead slabs crashing into the ocean, alien thoughts drop into your mind: [text]")]")) if(istype(M,/mob/living/carbon/human)) var/mob/living/carbon/human/H = M if(H.species.name == src.species.name) return - to_chat(H, "[span_red("Your nose begins to bleed...")]") + to_chat(H, span_filter_notice("[span_red("Your nose begins to bleed...")]")) H.drip(1) /mob/living/carbon/human/proc/regurgitate() set name = "Regurgitate" set desc = "Empties the contents of your stomach" - set category = "Abilities" + set category = "Abilities.General" if(stomach_contents.len) for(var/mob/M in src) if(M in stomach_contents) stomach_contents.Remove(M) M.loc = loc - src.visible_message("[span_red("[src] hurls out the contents of their stomach!")]") + src.visible_message(span_filter_warning(span_red(span_bold("[src] hurls out the contents of their stomach!")))) return /mob/living/carbon/human/proc/psychic_whisper(mob/M as mob in oview()) set name = "Psychic Whisper" set desc = "Whisper silently to someone over a distance." - set category = "Abilities" + set category = "Abilities.General" var/msg = sanitize(tgui_input_text(usr, "Message:", "Psychic Whisper")) if(msg) log_say("(PWHISPER to [key_name(M)]) [msg]", src) - to_chat(M, "[span_green("You hear a strange, alien voice in your head... [msg]")]") - to_chat(src, "[span_green("You said: \"[msg]\" to [M]")]") + to_chat(M, span_filter_say("[span_green("You hear a strange, alien voice in your head... [msg]")]")) + to_chat(src, span_filter_say("[span_green("You said: \"[msg]\" to [M]")]")) return /mob/living/carbon/human/proc/diona_split_nymph() set name = "Split" set desc = "Split your humanoid form into its constituent nymphs." - set category = "Abilities" + set category = "Abilities.Diona" diona_split_into_nymphs(5) // Separate proc to void argments being supplied when used as a verb /mob/living/carbon/human/proc/diona_split_into_nymphs(var/number_of_resulting_nymphs) @@ -181,7 +181,7 @@ var/obj/item/organ/external/Chest = organs_by_name[BP_TORSO] if(Chest.robotic >= 2) - visible_message("\The [src] shudders slightly, then ejects a cluster of nymphs with a wet slithering noise.") + visible_message(span_warning("\The [src] shudders slightly, then ejects a cluster of nymphs with a wet slithering noise.")) species = GLOB.all_species[SPECIES_HUMAN] // This is hard-set to default the body to a normal FBP, without changing anything. // Bust it @@ -191,27 +191,27 @@ qdel(Org) // Purge the diona verbs. - verbs -= /mob/living/carbon/human/proc/diona_split_nymph - verbs -= /mob/living/carbon/human/proc/regenerate + remove_verb(src, /mob/living/carbon/human/proc/diona_split_nymph) + remove_verb(src, /mob/living/carbon/human/proc/regenerate) for(var/obj/item/organ/external/E in organs) // Just fall apart. E.droplimb(TRUE) else - visible_message("\The [src] quivers slightly, then splits apart with a wet slithering noise.") + visible_message(span_warning("\The [src] quivers slightly, then splits apart with a wet slithering noise.")) qdel(src) /mob/living/carbon/human/proc/self_diagnostics() set name = "Self-Diagnostics" set desc = "Run an internal self-diagnostic to check for damage." - set category = "IC" + set category = "Abilities.General" if(stat == DEAD) return - to_chat(src, "Performing self-diagnostic, please wait...") + to_chat(src, span_notice("Performing self-diagnostic, please wait...")) spawn(50) - var/output = "Self-Diagnostic Results:\n" + var/output = span_filter_notice("Self-Diagnostic Results:\n") output += "Internal Temperature: [convert_k2c(bodytemperature)] Degrees Celsius\n" @@ -220,24 +220,24 @@ var/toxDam = getToxLoss() if(toxDam) - output += "System Instability: [toxDam > 25 ? "Severe" : "Moderate"]. Seek charging station for cleanup.\n" + output += "System Instability: " + span_warning("[toxDam > 25 ? "Severe" : "Moderate"]") + ". Seek charging station for cleanup.\n" else - output += "System Instability: OK\n" + output += "System Instability: " + span_green("OK") + "\n" for(var/obj/item/organ/external/EO in organs) if(EO.robotic >= ORGAN_ASSISTED) if(EO.brute_dam || EO.burn_dam) - output += "[EO.name] - [EO.burn_dam + EO.brute_dam > EO.min_broken_damage ? "Heavy Damage" : "Light Damage"]\n" //VOREStation Edit - Makes robotic limb damage scalable + output += "[EO.name] - " + span_warning("[EO.burn_dam + EO.brute_dam > EO.min_broken_damage ? "Heavy Damage" : "Light Damage"]") + "\n" //VOREStation Edit - Makes robotic limb damage scalable else - output += "[EO.name] - OK\n" + output += "[EO.name] - " + span_green("OK") + "\n" for(var/obj/item/organ/IO in internal_organs) if(IO.robotic >= ORGAN_ASSISTED) if(IO.damage) - output += "[IO.name] - [IO.damage > 10 ? "Heavy Damage" : "Light Damage"]\n" + output += "[IO.name] - " + span_warning("[IO.damage > 10 ? "Heavy Damage" : "Light Damage"]") + "\n" else - output += "[IO.name] - OK\n" - output += "" + output += "[IO.name] - " + span_green("OK") + "\n" + output = span_notice(output) to_chat(src,output) @@ -247,27 +247,27 @@ /mob/living/carbon/human/proc/sonar_ping() set name = "Listen In" set desc = "Allows you to listen in to movement and noises around you." - set category = "Abilities" + set category = "Abilities.General" if(incapacitated()) - to_chat(src, "You need to recover before you can use this ability.") + to_chat(src, span_warning("You need to recover before you can use this ability.")) return if(world.time < next_sonar_ping) - to_chat(src, "You need another moment to focus.") + to_chat(src, span_warning("You need another moment to focus.")) return if(is_deaf() || is_below_sound_pressure(get_turf(src))) - to_chat(src, "You are for all intents and purposes currently deaf!") + to_chat(src, span_warning("You are for all intents and purposes currently deaf!")) return next_sonar_ping += 10 SECONDS var/heard_something = FALSE - to_chat(src, "You take a moment to listen in to your environment...") + to_chat(src, span_notice("You take a moment to listen in to your environment...")) for(var/mob/living/L in range(client.view, src)) var/turf/T = get_turf(L) if(!T || L == src || L.stat == DEAD || is_below_sound_pressure(T)) continue heard_something = TRUE var/feedback = list() - feedback += "There are noises of movement " + feedback += "There are noises of movement " var/direction = get_dir(src, L) if(direction) feedback += "towards the [dir2text(direction)], " @@ -284,26 +284,25 @@ feedback += "far away." else // No need to check distance if they're standing right on-top of us feedback += "right on top of you." - feedback += "" - to_chat(src,jointext(feedback,null)) + to_chat(src,span_notice(jointext(feedback,null))) if(!heard_something) - to_chat(src, "You hear no movement but your own.") + to_chat(src, span_notice("You hear no movement but your own.")) /mob/living/carbon/human/proc/regenerate() set name = "Regenerate" set desc = "Allows you to regrow limbs and heal organs after a period of rest." - set category = "Abilities" + set category = "Abilities.General" if(nutrition < 250) - to_chat(src, "You lack the biomass to begin regeneration!") + to_chat(src, span_warning("You lack the biomass to begin regeneration!")) return if(active_regen) - to_chat(src, "You are already regenerating tissue!") + to_chat(src, span_warning("You are already regenerating tissue!")) return else active_regen = TRUE - src.visible_message("[src]'s flesh begins to mend...") + src.visible_message(span_filter_notice(span_bold("[src]") + "'s flesh begins to mend...")) var/delay_length = round(active_regen_delay * species.active_regen_mult) if(do_after(src,delay_length)) @@ -315,7 +314,7 @@ if(I.damage > 0) I.damage = max(I.damage - 30, 0) //Repair functionally half of a dead internal organ. I.status = 0 // Wipe status, as it's being regenerated from possibly dead. - to_chat(src, "You feel a soothing sensation within your [I.name]...") + to_chat(src, span_notice("You feel a soothing sensation within your [I.name]...")) // Replace completely missing limbs. for(var/limb_type in src.species.has_limbs) @@ -332,7 +331,7 @@ var/limb_path = organ_data["path"] var/obj/item/organ/O = new limb_path(src) organ_data["descriptor"] = O.name - to_chat(src, "You feel a slithering sensation as your [O.name] reform.") + to_chat(src, span_notice("You feel a slithering sensation as your [O.name] reform.")) var/agony_to_apply = round(0.66 * O.max_damage) // 66% of the limb's health is converted into pain. src.apply_damage(agony_to_apply, HALLOSS) @@ -349,24 +348,24 @@ update_icons_body() active_regen = FALSE else - to_chat(src, "Your regeneration is interrupted!") + to_chat(src, span_critical("Your regeneration is interrupted!")) adjust_nutrition(-75) active_regen = FALSE /mob/living/carbon/human/proc/setmonitor_state() set name = "Set monitor display" set desc = "Set your monitor display" - set category = "IC" + set category = "IC.Settings" if(stat) - to_chat(src,"You must be awake and standing to perform this action!") + to_chat(src,span_warning("You must be awake and standing to perform this action!")) return var/obj/item/organ/external/head/E = organs_by_name[BP_HEAD] if(!E) - to_chat(src,"You don't seem to have a head!") + to_chat(src,span_warning("You don't seem to have a head!")) return var/datum/robolimb/robohead = all_robolimbs[E.model] if(!robohead.monitor_styles || !robohead.monitor_icon) - to_chat(src,"Your head doesn't have a monitor, or it doesn't support being changed!") + to_chat(src,span_warning("Your head doesn't have a monitor, or it doesn't support being changed!")) return var/list/states if(!states) @@ -376,5 +375,5 @@ E.eye_icon_location = robohead.monitor_icon E.eye_icon = states[choice] E.eye_icon_override = TRUE - to_chat(src,"You set your monitor to display [choice]!") + to_chat(src,span_warning("You set your monitor to display [choice]!")) update_icons_body() diff --git a/code/modules/mob/living/carbon/human/human_powers_vr.dm b/code/modules/mob/living/carbon/human/human_powers_vr.dm index 72eda2e609d..acc53a7d499 100644 --- a/code/modules/mob/living/carbon/human/human_powers_vr.dm +++ b/code/modules/mob/living/carbon/human/human_powers_vr.dm @@ -1,30 +1,30 @@ /mob/living/carbon/human/proc/reagent_purge() set name = "Purge Reagents" set desc = "Empty yourself of any reagents you may have consumed or come into contact with." - set category = "IC" + set category = "IC.Game" if(stat == DEAD) return - to_chat(src, "Performing reagent purge, please wait...") + to_chat(src, span_notice("Performing reagent purge, please wait...")) sleep(50) src.bloodstr.clear_reagents() src.ingested.clear_reagents() src.touching.clear_reagents() - to_chat(src, "Reagents purged!") + to_chat(src, span_notice("Reagents purged!")) return TRUE /mob/living/carbon/human/verb/toggle_eyes_layer() set name = "Switch Eyes/Monitor Layer" set desc = "Toggle rendering of eyes/monitor above markings." - set category = "IC" + set category = "IC.Settings" if(stat) - to_chat(src, "You must be awake and standing to perform this action!") + to_chat(src, span_warning("You must be awake and standing to perform this action!")) return var/obj/item/organ/external/head/H = organs_by_name[BP_HEAD] if(!H) - to_chat(src, "You don't seem to have a head!") + to_chat(src, span_warning("You don't seem to have a head!")) return H.eyes_over_markings = !H.eyes_over_markings @@ -33,6 +33,6 @@ if(H.robotic) var/datum/robolimb/robohead = all_robolimbs[H.model] if(robohead.monitor_styles && robohead.monitor_icon) - to_chat(src, "You reconfigure the rendering order of your facial display.") + to_chat(src, span_notice("You reconfigure the rendering order of your facial display.")) return TRUE diff --git a/code/modules/mob/living/carbon/human/human_resist.dm b/code/modules/mob/living/carbon/human/human_resist.dm index 0b09d169f08..ac135a5428f 100644 --- a/code/modules/mob/living/carbon/human/human_resist.dm +++ b/code/modules/mob/living/carbon/human/human_resist.dm @@ -37,26 +37,26 @@ switch(attack_type) if(RESIST_ATTACK_DEFAULT) visible_message( - "\The [src] struggles to remove \the [SJ]!", - "You struggle to remove \the [SJ]. (This will take around [round(breakouttime / 600)] minutes and you need to stand still.)" + span_danger("\The [src] struggles to remove \the [SJ]!"), + span_warning("You struggle to remove \the [SJ]. (This will take around [round(breakouttime / 600)] minutes and you need to stand still.)") ) if(RESIST_ATTACK_CLAWS) visible_message( - "\The [src] starts clawing at \the [SJ]!", - "You claw at \the [SJ]. (This will take around [round(breakouttime / 600)] minutes and you need to stand still.)" + span_danger("\The [src] starts clawing at \the [SJ]!"), + span_warning("You claw at \the [SJ]. (This will take around [round(breakouttime / 600)] minutes and you need to stand still.)") ) if(RESIST_ATTACK_BITE) visible_message( - "\The [src] starts gnawing on \the [SJ]!", - "You gnaw on \the [SJ]. (This will take around [round(breakouttime / 600)] minutes and you need to stand still.)" + span_danger("\The [src] starts gnawing on \the [SJ]!"), + span_warning("You gnaw on \the [SJ]. (This will take around [round(breakouttime / 600)] minutes and you need to stand still.)") ) if(do_after(src, breakouttime, incapacitation_flags = INCAPACITATION_DISABLED & INCAPACITATION_KNOCKDOWN)) if(!wear_suit) return visible_message( - "\The [src] manages to remove \the [wear_suit]!", - "You successfully remove \the [wear_suit]." + span_danger("\The [src] manages to remove \the [wear_suit]!"), + span_notice("You successfully remove \the [wear_suit].") ) drop_from_inventory(wear_suit) @@ -70,8 +70,8 @@ /mob/living/carbon/human/proc/break_straight_jacket() visible_message( - "[src] is trying to rip \the [wear_suit]!", - "You attempt to rip your [wear_suit.name] apart. (This will take around 5 seconds and you need to stand still)" + span_danger("[src] is trying to rip \the [wear_suit]!"), + span_warning("You attempt to rip your [wear_suit.name] apart. (This will take around 5 seconds and you need to stand still)") ) if(do_after(src, 20 SECONDS, incapacitation_flags = INCAPACITATION_DEFAULT & ~INCAPACITATION_RESTRAINED)) // Same scaling as breaking cuffs, 5 seconds to 120 seconds, 20 seconds to 480 seconds. @@ -79,8 +79,8 @@ return visible_message( - "[src] manages to rip \the [wear_suit]!", - "You successfully rip your [wear_suit.name]." + span_danger("[src] manages to rip \the [wear_suit]!"), + span_warning("You successfully rip your [wear_suit.name].") ) say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!", "RAAAAAAAARGH!", "HNNNNNNNNNGGGGGGH!", "GWAAAAAAAARRRHHH!", "AAAAAAARRRGH!" )) diff --git a/code/modules/mob/living/carbon/human/human_species.dm b/code/modules/mob/living/carbon/human/human_species.dm index 1051bc4d540..8b3673289ef 100644 --- a/code/modules/mob/living/carbon/human/human_species.dm +++ b/code/modules/mob/living/carbon/human/human_species.dm @@ -45,8 +45,8 @@ C.species_restricted = null equip_to_appropriate_slot(I) - if(istype(back, /obj/item/weapon/rig)) - var/obj/item/weapon/rig/rig = back + if(istype(back, /obj/item/rig)) + var/obj/item/rig/rig = back rig.toggle_seals(src) /mob/living/carbon/human/dummy/mannequin/autoequip/proc/turntable() diff --git a/code/modules/mob/living/carbon/human/human_species_vr.dm b/code/modules/mob/living/carbon/human/human_species_vr.dm index dd3134420a6..d1d5bdab118 100644 --- a/code/modules/mob/living/carbon/human/human_species_vr.dm +++ b/code/modules/mob/living/carbon/human/human_species_vr.dm @@ -34,3 +34,6 @@ /mob/living/carbon/human/lleill/New(var/new_loc) ..(new_loc, SPECIES_LLEILL) + +/mob/living/carbon/human/hanner/New(var/new_loc) + ..(new_loc, SPECIES_HANNER) \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index df9a03294c3..25ae7e3f50e 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -14,7 +14,7 @@ This saves us from having to call add_fingerprint() any time something is put in var/mob/living/carbon/human/H = src var/obj/item/I = H.get_active_hand() if(!I) - to_chat(H, "You are not holding anything to equip.") + to_chat(H, span_notice("You are not holding anything to equip.")) return var/moved = FALSE @@ -29,7 +29,7 @@ This saves us from having to call add_fingerprint() any time something is put in // No?! Well, give up. if(!moved) - to_chat(H, "You are unable to equip that.") + to_chat(H, span_warning("You are unable to equip that.")) // Update hand icons else @@ -40,8 +40,8 @@ This saves us from having to call add_fingerprint() any time something is put in /mob/living/carbon/human/equip_to_storage(obj/item/newitem, user_initiated = FALSE) // Try put it in their belt first - if(istype(src.belt,/obj/item/weapon/storage)) - var/obj/item/weapon/storage/wornbelt = src.belt + if(istype(src.belt,/obj/item/storage)) + var/obj/item/storage/wornbelt = src.belt if(wornbelt.can_be_inserted(newitem, 1)) if(user_initiated) wornbelt.handle_item_insertion(newitem) @@ -222,7 +222,6 @@ This saves us from having to call add_fingerprint() any time something is put in else return 0 - update_action_buttons() return 1 @@ -369,9 +368,6 @@ This saves us from having to call add_fingerprint() any time something is put in W.hud_layerise() - if(W.action_button_name) - update_action_buttons() - if(W.zoom) W.zoom() @@ -401,7 +397,7 @@ This saves us from having to call add_fingerprint() any time something is put in covering = src.wear_suit if(covering && (covering.body_parts_covered & (I.body_parts_covered|check_flags))) - to_chat(user, "\The [covering] is in the way.") + to_chat(user, span_warning("\The [covering] is in the way.")) return 0 return 1 diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 12e7fa470ce..4a11af321f2 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -73,6 +73,8 @@ handle_heartbeat() handle_nif() //VOREStation Addition + if(phobias) + handle_phobias() if(!client) species.handle_npc(src) @@ -185,19 +187,19 @@ for(var/mob/O in viewers(src, null)) if(O == src) continue - O.show_message(text("[src] starts having a seizure!"), 1) + O.show_message(span_danger("[src] starts having a seizure!"), 1) Paralyse(10) make_jittery(1000) if (disabilities & COUGHING) if ((prob(5) && paralysis <= 1)) drop_item() - spawn( 0 ) + spawn(0) emote("cough") return if (disabilities & TOURETTES) if ((prob(10) && paralysis <= 1)) Stun(10) - spawn( 0 ) + spawn(0) switch(rand(1, 3)) if(1) emote("twitch") @@ -215,19 +217,19 @@ custom_pain("Your head feels numb and painful.", 10) if(getBrainLoss() >= 15) if(4 <= rn && rn <= 6) if(eye_blurry <= 0) - to_chat(src, "It becomes hard to see for some reason.") + to_chat(src, span_warning("It becomes hard to see for some reason.")) eye_blurry = 10 if(getBrainLoss() >= 35) if(7 <= rn && rn <= 9) if(get_active_hand()) - to_chat(src, "Your hand won't respond properly, you drop what you're holding!") + to_chat(src, span_danger("Your hand won't respond properly, you drop what you're holding!")) drop_item() if(getBrainLoss() >= 45) if(10 <= rn && rn <= 12) if(prob(50)) - to_chat(src, "You suddenly black out!") + to_chat(src, span_danger("You suddenly black out!")) Paralyse(10) else if(!lying) - to_chat(src, "Your legs won't respond properly, you fall down!") + to_chat(src, span_danger("Your legs won't respond properly, you fall down!")) Weaken(10) // RADIATION! Everyone's favorite thing in the world! So let's get some numbers down off the bat. @@ -321,11 +323,11 @@ accumulated_rads += 10 * RADIATION_SPEED_COEFFICIENT if(!isSynthetic()) if(prob(5) && prob(100 * RADIATION_SPEED_COEFFICIENT) && !weakened) - to_chat(src, "You feel exhausted.") + to_chat(src, span_warning("You feel exhausted.")) AdjustWeakened(3) if(prob(5) && prob(100 * RADIATION_SPEED_COEFFICIENT) && species.get_bodytype() == SPECIES_HUMAN) //apes go bald if((h_style != "Bald" || f_style != "Shaved" )) - to_chat(src, "Your hair falls out.") + to_chat(src, span_warning("Your hair falls out.")) h_style = "Bald" f_style = "Shaved" update_hair() @@ -345,7 +347,7 @@ if(prob(5) && prob(100 * RADIATION_SPEED_COEFFICIENT)) spawn vomit() if(prob(10) && !weakened) - to_chat(src, "You feel sick.") + to_chat(src, span_warning("You feel sick.")) AdjustWeakened(3) else if (radiation >= 300 && radiation < 400) //Equivalent of 6.0 to 8.0 Gy. @@ -361,7 +363,7 @@ if(prob(10) && prob(100 * RADIATION_SPEED_COEFFICIENT)) spawn vomit() if(prob(15) && !weakened) - to_chat(src, "You feel horribly ill.") + to_chat(src, span_warning("You feel horribly ill.")) AdjustWeakened(3) if(prob(5) && internal_organs.len) I = pick(internal_organs) //Internal organ damage...Not good. Not good at all. @@ -381,7 +383,7 @@ if(I) if(istype(I)) I.add_autopsy_data("Radiation Burns", damage) I.take_damage(damage * species.radiation_mod * RADIATION_SPEED_COEFFICIENT) - to_chat(src, "Your eyes burn!") + to_chat(src, span_warning("Your eyes burn!")) eye_blurry += 10 if(prob(4)) adjustCloneLoss(5 * RADIATION_SPEED_COEFFICIENT) @@ -389,10 +391,10 @@ if(prob(25) && prob(100 * RADIATION_SPEED_COEFFICIENT)) spawn vomit() if(prob(20) && !weakened) - to_chat(src, "You feel like your insides are burning!") + to_chat(src, span_critical("You feel like your insides are burning!")) AdjustWeakened(5) if(prob(5)) - to_chat(src, "Your entire body feels like it's on fire!") + to_chat(src, span_critical("Your entire body feels like it's on fire!")) adjustHalLoss(5) if(prob(10) && internal_organs.len) I = pick(internal_organs) //Internal organ damage...Not good. Not good at all. @@ -417,13 +419,13 @@ if(prob(50) && prob(100 * RADIATION_SPEED_COEFFICIENT)) spawn vomit() if(!paralysis && prob(30) && prob(100 * RADIATION_SPEED_COEFFICIENT)) //CNS is shutting down. - to_chat(src, "You have a seizure!") + to_chat(src, span_critical("You have a seizure!")) Paralyse(10) make_jittery(1000) if(!lying) emote("collapse") if(get_active_hand() && prob(15)) //CNS is shutting down. - to_chat(src, "Your hand won't respond properly, you drop what you're holding!") + to_chat(src, span_danger("Your hand won't respond properly, you drop what you're holding!")) drop_item() if(internal_organs.len) I = pick(internal_organs) //Internal organ damage...Not good. Not good at all. @@ -455,29 +457,29 @@ I = internal_organs_by_name[O_EYES] if(I) //Eye stuff if(prob(5) && prob(accumulated_rads * RADIATION_SPEED_COEFFICIENT)) - to_chat(src, "Your eyes water.") + to_chat(src, span_warning("Your eyes water.")) eye_blurry += 5 if(accumulated_rads > 300) // (6Gy) if(prob(2) && prob(accumulated_rads * RADIATION_SPEED_COEFFICIENT)) - to_chat(src, "Your eyes burn.") + to_chat(src, span_warning("Your eyes burn.")) I.add_autopsy_data("Radiation Burns", 1 * species.radiation_mod * RADIATION_SPEED_COEFFICIENT) I.take_damage(1 * species.radiation_mod * RADIATION_SPEED_COEFFICIENT) //0.1 damage. Not a lot, but enough to tell you to get to medical. eye_blurry += 10 if(accumulated_rads > 200) // (4Gy) if(prob(5) && prob(accumulated_rads * RADIATION_SPEED_COEFFICIENT)) - to_chat(src, "Your feel nauseated.") + to_chat(src, span_warning("Your feel nauseated.")) spawn vomit() if(!weakened && prob(2) && prob(accumulated_rads * RADIATION_SPEED_COEFFICIENT)) - to_chat(src, "Your feel exhausted.") + to_chat(src, span_warning("Your feel exhausted.")) AdjustWeakened(3) if(accumulated_rads > 300) // (6Gy) if(get_active_hand() && prob(15) && prob(100 * RADIATION_SPEED_COEFFICIENT)) //CNS is shutting down. - to_chat(src, "Your hand won't respond properly, you drop what you're holding!") + to_chat(src, span_danger("Your hand won't respond properly, you drop what you're holding!")) drop_item() if(accumulated_rads > 700) // (12Gy) if(!paralysis && prob(1) && prob(100 * RADIATION_SPEED_COEFFICIENT)) //1 in 1000 chance per tick. - to_chat(src, "You have a seizure!") + to_chat(src, span_critical("You have a seizure!")) Paralyse(10) make_jittery(1000) if(!lying) @@ -502,17 +504,20 @@ /mob/living/carbon/human/handle_post_breath(datum/gas_mixture/breath) ..() //spread some viruses while we are at it - if(breath && virus2.len > 0 && prob(10)) - for(var/mob/living/carbon/M in view(1,src)) - src.spread_disease_to(M) + if(breath && !isnull(viruses) && prob(10)) + for(var/datum/disease/D in GetViruses()) + if((D.spread_flags & SPECIAL) || (D.spread_flags & NON_CONTAGIOUS)) + continue + for(var/mob/living/carbon/M in view(1,src)) + ContractDisease(D) /mob/living/carbon/human/get_breath_from_internal(volume_needed=BREATH_VOLUME) if(internal) //Because rigs store their tanks out of reach of contents.Find(), a check has to be made to make //sure the rig is still worn, still online, and that its air supply still exists. - var/obj/item/weapon/tank/rig_supply - var/obj/item/weapon/rig/Rig = get_rig() + var/obj/item/tank/rig_supply + var/obj/item/rig/Rig = get_rig() if(Rig) rig_supply = Rig.air_supply @@ -549,7 +554,7 @@ if(!breath || (breath.total_moles == 0)) failed_last_breath = 1 - if(health > config.health_threshold_crit) + if(health > CONFIG_GET(number/health_threshold_crit)) adjustOxyLoss(HUMAN_MAX_OXYLOSS) else adjustOxyLoss(HUMAN_CRIT_MAX_OXYLOSS) @@ -663,7 +668,7 @@ if(exhaled_pp > safe_exhaled_max) if (prob(15)) var/word = pick("extremely dizzy","short of breath","faint","confused") - to_chat(src, "You feel [word].") + to_chat(src, span_danger("You feel [word].")) adjustOxyLoss(HUMAN_MAX_OXYLOSS) failed_exhale = 1 @@ -671,7 +676,7 @@ else if(exhaled_pp > safe_exhaled_max * 0.7) if (!prob(1)) var/word = pick("dizzy","short of breath","faint","momentarily confused") - to_chat(src, "You feel [word].") + to_chat(src, span_warning("You feel [word].")) //scale linearly from 0 to 1 between safe_exhaled_max and safe_exhaled_max*0.7 var/ratio = 1.0 - (safe_exhaled_max - exhaled_pp)/(safe_exhaled_max*0.3) @@ -684,7 +689,7 @@ else if(exhaled_pp > safe_exhaled_max * 0.6) if(prob(0.3)) var/word = pick("a little dizzy","short of breath") - to_chat(src, "You feel [word].") + to_chat(src, span_warning("You feel [word].")) // Too much poison in the air. if(toxins_pp > safe_toxins_max) @@ -729,10 +734,10 @@ if(breath.temperature <= species.breath_cold_level_1) if(prob(20)) - to_chat(src, "You feel your face freezing and icicles forming in your lungs!") + to_chat(src, span_danger("You feel your face freezing and icicles forming in your lungs!")) else if(breath.temperature >= species.breath_heat_level_1) if(prob(20)) - to_chat(src, "You feel your face burning and a searing heat in your lungs!") + to_chat(src, span_danger("You feel your face burning and a searing heat in your lungs!")) if(breath.temperature >= species.heat_discomfort_level) @@ -1165,7 +1170,7 @@ if(noisy == TRUE && nutrition < 250 && prob(10)) //VOREStation edit for hunger noises. var/sound/growlsound = sound(get_sfx("hunger_sounds")) var/growlmultiplier = 100 - (nutrition / 250 * 100) - playsound(src, growlsound, vol = growlmultiplier, vary = 1, falloff = 0.1, ignore_walls = TRUE, preference = /datum/client_preference/digestion_noises) + playsound(src, growlsound, vol = growlmultiplier, vary = 1, falloff = 0.1, ignore_walls = TRUE, preference = /datum/preference/toggle/digestion_noises) // VOREStation Edit End if((CE_DARKSIGHT in chem_effects) && chemical_darksight == 0) @@ -1199,14 +1204,14 @@ else //ALIVE. LIGHTS ARE ON updatehealth() //TODO - if(health <= config.health_threshold_dead || (should_have_organ("brain") && !has_brain())) + if(health <= CONFIG_GET(number/health_threshold_dead) || (should_have_organ("brain") && !has_brain())) death() blinded = 1 silent = 0 return 1 //UNCONSCIOUS. NO-ONE IS HOME - if((getOxyLoss() > (species.total_health/2)) || (health <= config.health_threshold_crit)) + if((getOxyLoss() > (species.total_health/2)) || (health <= CONFIG_GET(number/health_threshold_crit))) Paralyse(3) if(hallucination) @@ -1234,8 +1239,8 @@ adjustBrainLoss(brainOxPercent * oxyloss) if(halloss >= species.total_health) - to_chat(src, "You're in too much pain to keep going...") - src.visible_message("[src] slumps to the ground, too weak to continue fighting.") + to_chat(src, span_notice("You're in too much pain to keep going...")) + src.visible_message(span_infoplain(span_bold("[src]") + " slumps to the ground, too weak to continue fighting.")) Paralyse(10) setHalLoss(species.total_health - 1) @@ -1244,6 +1249,27 @@ if(tiredness >= 100) Sleeping(5) + if(fear) + fear = (fear - 1) + if(fear >= 80 && client?.prefs?.read_preference(/datum/preference/toggle/play_ambience)) + if(last_fear_sound + 51 SECONDS <= world.time) + src << sound('sound/effects/Heart Beat.ogg',0,0,0,25) + last_fear_sound = world.time + if(fear >= 80 && !isSynthetic()) + if(prob(1) && get_active_hand()) + var/stuff_to_drop = get_active_hand() + drop_item() + visible_message(span_notice("\The [src] suddenly drops their [stuff_to_drop]."),span_warning("You drop your [stuff_to_drop]!")) + if(prob(5)) + var/fear_self = pick(fear_message_self) + var/fear_other = pick(fear_message_other) + visible_message(span_notice("\The [src][fear_other]"),span_warning("[fear_self]")) + else if(fear >= 30 && !isSynthetic()) + if(prob(2)) + var/fear_self = pick(fear_message_self) + var/fear_other = pick(fear_message_other) + visible_message(span_notice("\The [src][fear_other]"),span_warning("[fear_self]")) + if(paralysis || sleeping) blinded = 1 set_stat(UNCONSCIOUS) @@ -1273,8 +1299,8 @@ //Eyes //Check rig first because it's two-check and other checks will override it. - if(istype(back,/obj/item/weapon/rig)) - var/obj/item/weapon/rig/O = back + if(istype(back,/obj/item/rig)) + var/obj/item/rig/O = back if(O.helmet && O.helmet == head && (O.helmet.body_parts_covered & EYES)) if((O.offline && O.offline_vision_restriction == 2) || (!O.offline && O.vision_restriction == 2)) blinded = 1 @@ -1442,6 +1468,19 @@ else clear_fullscreen("tired") + if(fear) + var/severity = 0 + switch(fear) + if(10 to 20) severity = 1 + if(20 to 30) severity = 2 + if(30 to 50) severity = 3 + if(50 to 70) severity = 4 + if(70 to 90) severity = 5 + if(90 to INFINITY) severity = 6 + overlay_fullscreen("fear", /obj/screen/fullscreen/fear, severity) + else + clear_fullscreen("fear") + if(healths) if (chem_effects[CE_PAINKILLER] > 100) healths.icon_state = "health_numb" @@ -1545,7 +1584,7 @@ clear_fullscreen("belly3") clear_fullscreen("belly4") - if(config.welder_vision) + if(CONFIG_GET(flag/welder_vision)) var/found_welder if(species.short_sighted) found_welder = 1 @@ -1561,8 +1600,8 @@ var/obj/item/clothing/head/welding/O = head if(!O.up) found_welder = 1 - if(!found_welder && istype(back, /obj/item/weapon/rig)) - var/obj/item/weapon/rig/O = back + if(!found_welder && istype(back, /obj/item/rig)) + var/obj/item/rig/O = back if(O.helmet && O.helmet == head && (O.helmet.body_parts_covered & EYES)) if((O.offline && O.offline_vision_restriction == 1) || (!O.offline && O.vision_restriction == 1)) found_welder = 1 @@ -1592,7 +1631,7 @@ // Do this early so certain stuff gets turned off before vision is assigned. var/area/A = get_area(src) - if(A?.no_spoilers) + if(A?.flag_check(AREA_NO_SPOILERS)) disable_spoiler_vision() if(XRAY in mutations) @@ -1619,7 +1658,7 @@ see_invisible = see_in_dark>2 ? SEE_INVISIBLE_LEVEL_ONE : see_invisible_default var/glasses_processed = 0 - var/obj/item/weapon/rig/rig = get_rig() + var/obj/item/rig/rig = get_rig() if(istype(rig) && rig.visor && !looking_elsewhere) if(!rig.helmet || (head && rig.helmet == head)) if(rig.visor && rig.visor.vision && rig.visor.active && rig.visor.vision.glasses) @@ -1711,7 +1750,7 @@ if (getToxLoss() >= 30 && isSynthetic()) if(!confused) if(prob(5)) - to_chat(src, "You lose directional control!") + to_chat(src, span_danger("You lose directional control!")) Confuse(10) if (getToxLoss() >= 45 && !isSynthetic()) spawn vomit() @@ -1741,7 +1780,7 @@ stomach_contents.Remove(M) qdel(M) continue - if(air_master.current_cycle%3==1) + if(SSair.current_cycle%3==1) if(!(M.status_flags & GODMODE)) M.adjustBruteLoss(5) adjust_nutrition(10) @@ -1796,12 +1835,12 @@ if(status_flags & GODMODE) return 0 //godmode if(!can_feel_pain()) return - if(health < config.health_threshold_softcrit)// health 0 makes you immediately collapse + if(health < CONFIG_GET(number/health_threshold_softcrit))// health 0 makes you immediately collapse shock_stage = max(shock_stage, 61) if(traumatic_shock >= 80) shock_stage += 1 - else if(health < config.health_threshold_softcrit) + else if(health < CONFIG_GET(number/health_threshold_softcrit)) shock_stage = max(shock_stage, 61) else shock_stage = min(shock_stage, 160) @@ -1824,26 +1863,26 @@ if(shock_stage == 40) if(traumatic_shock >= 80) - to_chat(src, "[pick("The pain is excruciating", "Please, just end the pain", "Your whole body is going numb")]!") + to_chat(src, span_danger("[pick("The pain is excruciating", "Please, just end the pain", "Your whole body is going numb")]!")) if (shock_stage >= 60) if(shock_stage == 60 && !isbelly(loc)) //VOREStation Edit custom_emote(VISIBLE_MESSAGE, "'s body becomes limp.") if (prob(2)) if(traumatic_shock >= 80) - to_chat(src, "[pick("The pain is excruciating", "Please, just end the pain", "Your whole body is going numb")]!") + to_chat(src, span_danger("[pick("The pain is excruciating", "Please, just end the pain", "Your whole body is going numb")]!")) Weaken(20) if(shock_stage >= 80) if (prob(5)) if(traumatic_shock >= 80) - to_chat(src, "[pick("The pain is excruciating", "Please, just end the pain", "Your whole body is going numb")]!") + to_chat(src, span_danger("[pick("The pain is excruciating", "Please, just end the pain", "Your whole body is going numb")]!")) Weaken(20) if(shock_stage >= 120) if (prob(2)) if(traumatic_shock >= 80) - to_chat(src, "[pick("You black out", "You feel like you could die any moment now", "You are about to lose consciousness")]!") + to_chat(src, span_danger("[pick("You black out", "You feel like you could die any moment now", "You are about to lose consciousness")]!")) Paralyse(5) if(shock_stage == 150) @@ -1953,7 +1992,7 @@ if(!H || (H.robotic >= ORGAN_ROBOT)) return - if(pulse >= PULSE_2FAST || shock_stage >= 10 || (istype(get_turf(src), /turf/space) && is_preference_enabled(/datum/client_preference/play_ambiance))) + if(pulse >= PULSE_2FAST || shock_stage >= 10 || (istype(get_turf(src), /turf/space) && read_preference(/datum/preference/toggle/play_ambience))) //PULSE_THREADY - maximum value for pulse, currently it 5. //High pulse value corresponds to a fast rate of heartbeat. //Divided by 2, otherwise it is too slow. @@ -1976,7 +2015,7 @@ if(stat == DEAD) holder.icon_state = "-100" // X_X else - holder.icon_state = RoundHealth((health-config.health_threshold_crit)/(getMaxHealth()-config.health_threshold_crit)*100) + holder.icon_state = RoundHealth((health-CONFIG_GET(number/health_threshold_crit))/(getMaxHealth()-CONFIG_GET(number/health_threshold_crit))*100) if(block_hud) holder.icon_state = "hudblank" apply_hud(HEALTH_HUD, holder) @@ -1995,8 +2034,8 @@ if (BITTEST(hud_updateflag, STATUS_HUD)) var/foundVirus = 0 - for (var/ID in virus2) - if (ID in virusDB) + for (var/datum/disease/D in GetViruses()) + if(D.discovered) foundVirus = 1 break @@ -2018,8 +2057,10 @@ holder2.icon_state = "hudbrainworm" else holder.icon_state = "hudhealthy" - if(virus2.len) - holder2.icon_state = "hudill" + if(viruses.len) + for(var/datum/disease/D in GetViruses()) + if(D.discovered) + holder2.icon_state = "hudill" else holder2.icon_state = "hudhealthy" if(block_hud) @@ -2032,7 +2073,7 @@ if (BITTEST(hud_updateflag, ID_HUD)) var/image/holder = grab_hud(ID_HUD) if(wear_id) - var/obj/item/weapon/card/id/I = wear_id.GetID() + var/obj/item/card/id/I = wear_id.GetID() if(I) holder.icon_state = "hud[ckey(I.GetJobName())]" else @@ -2049,7 +2090,7 @@ holder.icon_state = "hudblank" var/perpname = name if(wear_id) - var/obj/item/weapon/card/id/I = wear_id.GetID() + var/obj/item/card/id/I = wear_id.GetID() if(I) perpname = I.registered_name @@ -2084,14 +2125,14 @@ holder2.icon_state = "hudblank" holder3.icon_state = "hudblank" - for(var/obj/item/weapon/implant/I in src) + for(var/obj/item/implant/I in src) if(I.implanted) if(!I.malfunction) - if(istype(I,/obj/item/weapon/implant/tracking)) + if(istype(I,/obj/item/implant/tracking)) holder1.icon_state = "hud_imp_tracking" - if(istype(I,/obj/item/weapon/implant/loyalty)) + if(istype(I,/obj/item/implant/loyalty)) holder2.icon_state = "hud_imp_loyal" - if(istype(I,/obj/item/weapon/implant/chem)) + if(istype(I,/obj/item/implant/chem)) holder3.icon_state = "hud_imp_chem" apply_hud(IMPTRACK_HUD, holder1) diff --git a/code/modules/mob/living/carbon/human/life_vr.dm b/code/modules/mob/living/carbon/human/life_vr.dm index 126fb01012f..7f17529079d 100644 --- a/code/modules/mob/living/carbon/human/life_vr.dm +++ b/code/modules/mob/living/carbon/human/life_vr.dm @@ -41,9 +41,9 @@ holder.icon_state = "hudblank" for(var/obj/item/organ/external/E in organs) - for(var/obj/item/weapon/implant/I in E.implants) - if(I.implanted && istype(I,/obj/item/weapon/implant/backup)) - var/obj/item/weapon/implant/backup/B = I + for(var/obj/item/implant/I in E.implants) + if(I.implanted && istype(I,/obj/item/implant/backup)) + var/obj/item/implant/backup/B = I if(!mind) holder.icon_state = "hud_backup_nomind" else if(!(mind.name in B.our_db.body_scans)) diff --git a/code/modules/mob/living/carbon/human/phobias.dm b/code/modules/mob/living/carbon/human/phobias.dm new file mode 100644 index 00000000000..092fba6347b --- /dev/null +++ b/code/modules/mob/living/carbon/human/phobias.dm @@ -0,0 +1,58 @@ +//Handling and defining of phobias and fears +#define NYCTOPHOBIA 1 +#define ARACHNOPHOBIA 2 +#define HEMOPHOBIA 4 +#define THALASSOPHOBIA 8 +#define CLAUSTROPHOBIA_MINOR 16 +#define CLAUSTROPHOBIA_MAJOR 32 +#define ANATIDAEPHOBIA 64 +#define AGRAVIAPHOBIA 128 + +/mob/living/carbon/human/proc/handle_phobias() + if(phobias & NYCTOPHOBIA) + var/turf/T = get_turf(src) + var/brightness = T.get_lumcount() + if(brightness < 0.2) + fear = min((fear + 3), 102) + if(phobias & ARACHNOPHOBIA) + for (var/mob/living/simple_mob/animal/giant_spider/S in viewers(src, null)) + if(!istype(S) || S.stat) + continue + fear = min((fear + 6), 102) + if(phobias & HEMOPHOBIA) + for(var/obj/effect/decal/cleanable/blood/B in view(7, src)) + var/obj/effect/decal/cleanable/blood/oil/O = B + var/obj/effect/decal/cleanable/blood/tracks/T = B + if(istype(O) || istype(T)) + continue + fear = min((fear + 2), 102) + for(var/turf/simulated/floor/water/blood/T in view(7, src)) + fear = min((fear + 2), 102) + if(phobias & THALASSOPHOBIA) + var/turf/T = get_turf(src) + if(istype(T,/turf/simulated/floor/water/underwater) || istype(T,/turf/simulated/floor/water/deep)) + fear = min((fear + 4), 102) + if(phobias & CLAUSTROPHOBIA_MINOR) + if(!isturf(loc)) + if(!istype(loc,/obj/belly) && !istype(loc,/obj/item/holder/micro)) + fear = min((fear + 3), 102) + if(phobias & CLAUSTROPHOBIA_MAJOR) //Also activated inside of a belly + if(!isturf(loc)) + if(!istype(loc,/obj/item/holder/micro)) + fear = min((fear + 3), 102) + if(phobias & ANATIDAEPHOBIA) + for (var/mob/living/simple_mob/animal/space/goose/G in viewers(src, null)) + if(!istype(G) || G.stat) + continue + fear = min((fear + 3), 102) + for (var/mob/living/simple_mob/animal/sif/duck/D in viewers(src, null)) + if(!istype(D) || D.stat) + continue + fear = min((fear + 3), 102) + for(var/obj/item/bikehorn/rubberducky/R in view(7, src)) + if(!istype(R)) + continue + fear = min((fear + 2), 102) + if(phobias & AGRAVIAPHOBIA) + if(is_floating) + fear = min((fear + 4), 102) diff --git a/code/modules/mob/living/carbon/human/say.dm b/code/modules/mob/living/carbon/human/say.dm index 27b0f12e04e..121d32e39b0 100644 --- a/code/modules/mob/living/carbon/human/say.dm +++ b/code/modules/mob/living/carbon/human/say.dm @@ -84,8 +84,8 @@ /mob/living/carbon/human/GetVoice() var/voice_sub - if(istype(get_rig(),/obj/item/weapon/rig)) - var/obj/item/weapon/rig/rig = get_rig() + if(istype(get_rig(),/obj/item/rig)) + var/obj/item/rig/rig = get_rig() // todo: fix this shit if(rig.speech && rig.speech.voice_holder && rig.speech.voice_holder.active && rig.speech.voice_holder.voice) voice_sub = rig.speech.voice_holder.voice @@ -147,12 +147,12 @@ switch(message_mode) if("intercom") if(!restrained()) - for(var/obj/item/device/radio/intercom/I in view(1)) + for(var/obj/item/radio/intercom/I in view(1)) I.talk_into(src, message_pieces, null, verb) I.add_fingerprint(src) used_radios += I if("headset") - var/obj/item/device/radio/R = null + var/obj/item/radio/R = null if(isradio(l_ear)) R = l_ear if(R.talk_into(src, message_pieces, null, verb)) @@ -165,7 +165,7 @@ used_radios += R return if("right ear") - var/obj/item/device/radio/R = null + var/obj/item/radio/R = null if(isradio(r_ear)) R = r_ear if(isradio(r_hand)) @@ -174,7 +174,7 @@ if(R.talk_into(src, message_pieces, null, verb)) used_radios += R if("left ear") - var/obj/item/device/radio/R = null + var/obj/item/radio/R = null if(isradio(l_ear)) R = l_ear if(isradio(l_hand)) @@ -202,13 +202,13 @@ /mob/living/carbon/human/binarycheck() . = FALSE - var/obj/item/device/radio/headset/R = null - if(istype(l_ear, /obj/item/device/radio/headset)) + var/obj/item/radio/headset/R = null + if(istype(l_ear, /obj/item/radio/headset)) R = l_ear if(R.translate_binary) . = TRUE - if(istype(r_ear, /obj/item/device/radio/headset)) + if(istype(r_ear, /obj/item/radio/headset)) R = r_ear if(R.translate_binary) . = TRUE diff --git a/code/modules/mob/living/carbon/human/species/lleill/hanner.dm b/code/modules/mob/living/carbon/human/species/lleill/hanner.dm new file mode 100644 index 00000000000..39fb9f749a4 --- /dev/null +++ b/code/modules/mob/living/carbon/human/species/lleill/hanner.dm @@ -0,0 +1,133 @@ +/datum/species/shapeshifter/hanner + + name = SPECIES_HANNER + name_plural = "Hanner" + blurb = "Hanner are a sub-species of almost any other sapient species, \ + they are the offspring of one Lleill and any other non-lleill species. They are natural born fleshy \ + shapeshifters, able to take the appearance of almost any humanoid form. Hanner also have some limited \ + transmutation and energy sharing abilities not unlike they lleill, but considerably more limited. Unlike \ + other shapeshifter species, such as proteans or prometheans, Hanner have a typical humanoid set of organs and can not regenerate." + + color_mult = 1 + appearance_flags = HAS_SKIN_COLOR | HAS_EYE_COLOR | HAS_HAIR_COLOR | HAS_UNDERWEAR | HAS_LIPS + spawn_flags = SPECIES_CAN_JOIN | SPECIES_IS_WHITELISTED | SPECIES_WHITELIST_SELECTABLE + health_hud_intensity = 2 + num_alternate_languages = 3 + language = LANGUAGE_LLEILL + species_language = LANGUAGE_LLEILL + secondary_langs = list(LANGUAGE_LLEILL, LANGUAGE_SOL_COMMON) // For some reason, having this as their species language does not allow it to be chosen. + + min_age = 18 + max_age = 200 + + //Specific abilities + + burn_mod = 0.8 //Slightly resistant to fire + pain_mod = 0.8 //Whilst not resistant to brute or stunning, they are slightly resistant to pain. + + hazard_high_pressure = HAZARD_HIGH_PRESSURE + 700 // Dangerously high pressure. + warning_high_pressure = WARNING_HIGH_PRESSURE + 700 // High pressure warning. + warning_low_pressure = 100 // Low pressure warning. + hazard_low_pressure = 50 // Dangerously low pressure. + + minimum_breath_pressure = 0 //Doesn't gasp and lungs shouldn't pop + + cold_level_1 = 150 //Adapt well to temperature changes + cold_level_2 = 100 + cold_level_3 = 50 + + heat_level_1 = 500 //quite resiliant to heat + heat_level_2 = 600 + heat_level_3 = 700 + + chem_strength_alcohol = 0.8 //Handle alcohol slightly better + + metabolic_rate = 0.4 //Major downside of the Hanner, they metabolise drugs much slower, meaning that they are difficult to treat with medicine alone. + bloodloss_rate = 1.2 //They bleed out faster too + + lleill_energy = 100 + lleill_energy_max = 100 + + genders = list(MALE, FEMALE, NEUTER, PLURAL) + + has_organ = list( + O_HEART = /obj/item/organ/internal/heart, + O_LUNGS = /obj/item/organ/internal/lungs, + O_VOICE = /obj/item/organ/internal/voicebox, + O_LIVER = /obj/item/organ/internal/liver, + O_KIDNEYS = /obj/item/organ/internal/kidneys, + O_BRAIN = /obj/item/organ/internal/brain, + O_APPENDIX = /obj/item/organ/internal/appendix, + O_SPLEEN = /obj/item/organ/internal/spleen, + O_EYES = /obj/item/organ/internal/eyes, + O_STOMACH = /obj/item/organ/internal/stomach, + O_INTESTINE = /obj/item/organ/internal/intestine + ) + + has_limbs = list( + BP_TORSO = list("path" = /obj/item/organ/external/chest), + BP_GROIN = list("path" = /obj/item/organ/external/groin), + BP_HEAD = list("path" = /obj/item/organ/external/head), + BP_L_ARM = list("path" = /obj/item/organ/external/arm), + BP_R_ARM = list("path" = /obj/item/organ/external/arm/right), + BP_L_LEG = list("path" = /obj/item/organ/external/leg), + BP_R_LEG = list("path" = /obj/item/organ/external/leg/right), + BP_L_HAND = list("path" = /obj/item/organ/external/hand), + BP_R_HAND = list("path" = /obj/item/organ/external/hand/right), + BP_L_FOOT = list("path" = /obj/item/organ/external/foot), + BP_R_FOOT = list("path" = /obj/item/organ/external/foot/right) + ) + + inherent_verbs = list( + /mob/living/carbon/human/proc/shapeshifter_select_shape, + /mob/living/carbon/human/proc/shapeshifter_select_colour, + /mob/living/carbon/human/proc/shapeshifter_select_hair, + /mob/living/carbon/human/proc/shapeshifter_select_hair_colors, + /mob/living/carbon/human/proc/shapeshifter_select_gender, + /mob/living/carbon/human/proc/shapeshifter_select_wings, + /mob/living/carbon/human/proc/shapeshifter_select_tail, + /mob/living/carbon/human/proc/shapeshifter_select_ears, + /mob/living/carbon/human/proc/shapeshifter_select_secondary_ears, + /mob/living/carbon/human/proc/shapeshifter_select_eye_colour, + /mob/living/proc/set_size, +// /mob/living/carbon/human/proc/lleill_contact, +// /mob/living/carbon/human/proc/lleill_alchemy, +// /mob/living/carbon/human/proc/hanner_beast_form + ) + + valid_transform_species = list(SPECIES_HUMAN, SPECIES_HUMAN_VATBORN, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_SKRELL, SPECIES_ALTEVIAN, SPECIES_TESHARI, SPECIES_MONKEY, SPECIES_LLEILL, SPECIES_VULPKANIN, SPECIES_ZORREN_HIGH, SPECIES_RAPALA, SPECIES_NEVREAN, SPECIES_VASILISSAN, SPECIES_AKULA) + + var/list/lleill_abilities = list(/datum/power/lleill/contact, + /datum/power/lleill/alchemy, + /datum/power/lleill/beastform_hanner) + + var/list/lleill_ability_datums = list() + +/datum/species/shapeshifter/hanner/New() + ..() + for(var/power in lleill_abilities) + var/datum/power/lleill/LP = new power(src) + lleill_ability_datums.Add(LP) + +/datum/species/shapeshifter/hanner/proc/add_lleill_abilities(var/mob/living/carbon/human/H) + if(!H.ability_master || !istype(H.ability_master, /obj/screen/movable/ability_master/lleill)) + H.ability_master = null + H.ability_master = new /obj/screen/movable/ability_master/lleill(H) + for(var/datum/power/lleill/P in lleill_ability_datums) + if(!(P.verbpath in H.verbs)) + add_verb(H, P.verbpath) + H.ability_master.add_lleill_ability( + object_given = H, + verb_given = P.verbpath, + name_given = P.name, + ability_icon_given = P.ability_icon_state, + arguments = list() + ) + spawn (50) + if(H.lleill_display) + H.lleill_display.invisibility = 0 + H.lleill_display.icon_state = "lleill-4" + +/datum/species/shapeshifter/hanner/add_inherent_verbs(var/mob/living/carbon/human/H) + ..() + add_lleill_abilities(H) diff --git a/code/modules/mob/living/carbon/human/species/lleill/lleill.dm b/code/modules/mob/living/carbon/human/species/lleill/lleill.dm index 5ead8ebb51d..444139ce21d 100644 --- a/code/modules/mob/living/carbon/human/species/lleill/lleill.dm +++ b/code/modules/mob/living/carbon/human/species/lleill/lleill.dm @@ -33,9 +33,6 @@ //Specific abilities - var/lleill_energy = 200 - var/lleill_energy_max = 200 - var/ring_cooldown = 0 darksight = 10 //Can see in dark @@ -85,12 +82,15 @@ /mob/living/carbon/human/proc/shapeshifter_select_wings, /mob/living/carbon/human/proc/shapeshifter_select_tail, /mob/living/carbon/human/proc/shapeshifter_select_ears, + /mob/living/carbon/human/proc/shapeshifter_select_secondary_ears, /mob/living/proc/set_size, - /mob/living/carbon/human/proc/lleill_invisibility, - /mob/living/carbon/human/proc/lleill_transmute, - /mob/living/carbon/human/proc/lleill_rings, - /mob/living/carbon/human/proc/lleill_contact, - /mob/living/carbon/human/proc/lleill_alchemy) +// /mob/living/carbon/human/proc/lleill_invisibility, +// /mob/living/carbon/human/proc/lleill_transmute, +// /mob/living/carbon/human/proc/lleill_rings, +// /mob/living/carbon/human/proc/lleill_contact, +// /mob/living/carbon/human/proc/lleill_alchemy, +// /mob/living/carbon/human/proc/lleill_beast_form + ) //organs, going with just the basics for now @@ -124,6 +124,15 @@ base_species = SPECIES_LLEILL + var/list/lleill_abilities = list(/datum/power/lleill/invisibility, + /datum/power/lleill/transmute, + /datum/power/lleill/rings, + /datum/power/lleill/contact, + /datum/power/lleill/alchemy, + /datum/power/lleill/beastform) + + var/list/lleill_ability_datums = list() + // Shapeshifters have some behaviour that doesn't play well with this species so I have taken the main parts needed for here. /datum/species/lleill/get_valid_shapeshifter_forms(var/mob/living/carbon/human/H) @@ -185,3 +194,49 @@ if(!S || S.name == src.name) return ..() return S?.get_tail_hair(H) + +/datum/species/lleill/New() + ..() + for(var/power in lleill_abilities) + var/datum/power/lleill/LP = new power(src) + lleill_ability_datums.Add(LP) + +/datum/species/lleill/proc/add_lleill_abilities(var/mob/living/carbon/human/H) + if(!H.ability_master || !istype(H.ability_master, /obj/screen/movable/ability_master/lleill)) + H.ability_master = null + H.ability_master = new /obj/screen/movable/ability_master/lleill(H) + for(var/datum/power/lleill/P in lleill_ability_datums) + if(!(P.verbpath in H.verbs)) + add_verb(H, P.verbpath) + H.ability_master.add_lleill_ability( + object_given = H, + verb_given = P.verbpath, + name_given = P.name, + ability_icon_given = P.ability_icon_state, + arguments = list() + ) + spawn (50) + if(H.lleill_display) + H.lleill_display.invisibility = 0 + H.lleill_display.icon_state = "lleill-4" + +/datum/species/proc/update_lleill_hud(var/mob/living/carbon/human/H) + var/relative_energy = ((lleill_energy/lleill_energy_max)*100) + if(H.lleill_display) + H.lleill_display.invisibility = 0 + switch(relative_energy) + if(0 to 24) + H.lleill_display.icon_state = "lleill-0" + if(25 to 49) + H.lleill_display.icon_state = "lleill-1" + if(50 to 74) + H.lleill_display.icon_state = "lleill-2" + if(75 to 99) + H.lleill_display.icon_state = "lleill-3" + if(100 to INFINITY) + H.lleill_display.icon_state = "lleill-4" + return + +/datum/species/lleill/add_inherent_verbs(var/mob/living/carbon/human/H) + ..() + add_lleill_abilities(H) diff --git a/code/modules/mob/living/carbon/human/species/lleill/lleill_abilities.dm b/code/modules/mob/living/carbon/human/species/lleill/lleill_abilities.dm index e428f331a56..d61512624ea 100644 --- a/code/modules/mob/living/carbon/human/species/lleill/lleill_abilities.dm +++ b/code/modules/mob/living/carbon/human/species/lleill/lleill_abilities.dm @@ -4,9 +4,10 @@ // Essentially the same as traitor cloaking, using the same proc for it. /datum/power/lleill/invisibility - name = "Invisibility" + name = "Invisibility (75)" desc = "Change your appearance to match your surroundings, becoming completely invisible to the naked eye." verbpath = /mob/living/carbon/human/proc/lleill_invisibility + ability_icon_state = "ling_camoflage" /mob/living/carbon/human/proc/lleill_invisibility() set name = "Invisibility (75)" @@ -15,30 +16,25 @@ var/energy_cost = 75 - var/datum/species/lleill/LL = species - - if(!istype(LL)) - to_chat(src, "Only a lleill can use that!") - return - if(stat) - to_chat(src, "You can't go invisible when weakened like this.") + to_chat(src, span_warning("You can't go invisible when weakened like this.")) return if(!cloaked) - if(LL.lleill_energy < energy_cost) - to_chat(src, "You do not have enough energy to do that!") + if(species.lleill_energy < energy_cost) + to_chat(src, span_warning("You do not have enough energy to do that! You currently have [species.lleill_energy] energy.")) return cloak() block_hud = 1 hud_updateflag = 1 - to_chat(src, "Your fur shimmers and shifts around you, hiding you from the naked eye.") - LL.lleill_energy -= energy_cost + to_chat(src, span_warning("Your fur shimmers and shifts around you, hiding you from the naked eye.")) + species.lleill_energy -= energy_cost else uncloak() block_hud = 0 hud_updateflag = 1 - to_chat(src, "The brustling of your fur settles down and you become visible once again.") + to_chat(src, span_warning("The brustling of your fur settles down and you become visible once again.")) + species.update_lleill_hud(src) /mob/living/carbon/human/proc/lleill_select_shape() @@ -64,7 +60,7 @@ wrapped_species_by_ref["\ref[src]"] = new_species dna.base_species = new_species species.base_species = new_species - visible_message("\The [src] shifts and contorts, taking the form of \a [new_species]!") + visible_message(span_infoplain(span_bold("\The [src]") + " shifts and contorts, taking the form of \a [new_species]!")) regenerate_icons() /mob/living/carbon/human/proc/lleill_select_colour() @@ -96,42 +92,42 @@ regenerate_icons() +/datum/power/lleill/transmute + name = "Transmute Object (50)" + desc = "Convert an object into a piece of glamour." + verbpath = /mob/living/carbon/human/proc/lleill_transmute + ability_icon_state = "lleill_transmute" + /mob/living/carbon/human/proc/lleill_transmute() set name = "Transmute Object (50)" set desc = "Convert an object into a piece of glamour." set category = "Abilities" var/list/transmute_list = list( - "Transparent Glamour" = /obj/item/weapon/potion_material/glamour_transparent, - "Shrinking Glamour" = /obj/item/weapon/potion_material/glamour_shrinking, - "Twinkling Glamour" = /obj/item/weapon/potion_material/glamour_twinkling, - "Glamour Shard" = /obj/item/weapon/potion_material/glamour_shard, + "Transparent Glamour" = /obj/item/potion_material/glamour_transparent, + "Shrinking Glamour" = /obj/item/potion_material/glamour_shrinking, + "Twinkling Glamour" = /obj/item/potion_material/glamour_twinkling, + "Glamour Shard" = /obj/item/potion_material/glamour_shard, "Glamour Cell" = /obj/item/capture_crystal/glamour, "Face of Glamour" = /obj/item/glamour_face, - "Speaking Glamour" = /obj/item/device/universal_translator/glamour, + "Speaking Glamour" = /obj/item/universal_translator/glamour, "Glamour Bubble" = /obj/item/clothing/mask/gas/glamour, "Pocket of Glamour" = /obj/item/clothing/under/permit/glamour ) var/energy_cost = 50 - var/datum/species/lleill/LL = species - - if(!istype(LL)) - to_chat(src, "Only a lleill can use that!") - return - - if(LL.lleill_energy < energy_cost) - to_chat(src, "You do not have enough energy to do that!") + if(species.lleill_energy < energy_cost) + to_chat(src, span_warning("You do not have enough energy to do that! You currently have [species.lleill_energy] energy.")) return if(stat) - to_chat(src, "You can't go do that when weakened like this.") + to_chat(src, span_warning("You can't go do that when weakened like this.")) return var/obj/item/I = get_active_hand() if(!I) - to_chat(src, "You have no item in your active hand.") + to_chat(src, span_warning("You have no item in your active hand.")) return var/choice = tgui_input_list(src, "Choose a glamour to transmute the item into:", "Transmutation", transmute_list) @@ -142,20 +138,27 @@ if(!get_active_hand(I)) - to_chat(src, "The item is no longer in your hands.") + to_chat(src, span_warning("The item is no longer in your hands.")) return else - visible_message("\The [src] begins to change the form of \the [I].") + visible_message(span_infoplain(span_bold("\The [src]") + " begins to change the form of \the [I].")) if(!do_after(usr, 10 SECONDS, I, exclusive = TASK_USER_EXCLUSIVE)) - visible_message("\The [src] leaves \the [I] in its original form.") + visible_message(span_infoplain(span_bold("\The [src]") + " leaves \the [I] in its original form.")) return 0 - visible_message("\The [src] transmutes \the [I] into \the [transmute_product.name].") + visible_message(span_infoplain(span_bold("\The [src]") + " transmutes \the [I] into \the [transmute_product.name].")) drop_item(I) qdel(I) var/spawnloc = get_turf(usr) var/obj/item/N = new transmute_product(spawnloc) put_in_active_hand(N) - LL.lleill_energy -= energy_cost + species.lleill_energy -= energy_cost + species.update_lleill_hud(src) + +/datum/power/lleill/rings + name = "Glamour Rings" + desc = "Place or teleport to a glamour ring." + verbpath = /mob/living/carbon/human/proc/lleill_rings + ability_icon_state = "lleill_ring" /mob/living/carbon/human/proc/lleill_rings() set name = "Place/Use Rings" @@ -166,39 +169,34 @@ var/energy_cost_spawn = (25 * energy_cost_multi) var/energy_cost_tele = 50 - var/datum/species/lleill/LL = species - - if(!istype(LL)) - to_chat(src, "Only a lleill can use that!") - return if(stat) - to_chat(src, "You can't go do that when weakened like this.") + to_chat(src, span_warning("You can't go do that when weakened like this.")) return if(buckled) - to_chat(src,"You can't do that when restrained.") + to_chat(src,span_warning("You can't do that when restrained.")) - var/r_action = tgui_alert(src, "What would you like to do with your rings? You currently have [LL.lleill_energy] energy remaining.", "Actions", list("Spawn New Ring ([energy_cost_spawn])", "Teleport to Ring ([energy_cost_tele])", "Cancel")) - if(r_action == "Cancel") + var/r_action = tgui_alert(src, "What would you like to do with your rings? You currently have [species.lleill_energy] energy remaining.", "Actions", list("Spawn New Ring ([energy_cost_spawn])", "Teleport to Ring ([energy_cost_tele])", "Cancel")) + if(!r_action || r_action == "Cancel") return if(findtext(r_action,"Spawn New Ring")) - if(LL.lleill_energy < energy_cost_spawn) - to_chat(src, "You do not have enough energy to do that!") + if(species.lleill_energy < energy_cost_spawn) + to_chat(src, span_warning("You do not have enough energy to do that!")) return if(!do_after(src, 10 SECONDS, src, exclusive = TASK_USER_EXCLUSIVE)) - src.visible_message("\The [src] begins to form white rings on the ground.") + src.visible_message(span_infoplain(span_bold("\The [src]") + " begins to form white rings on the ground.")) return 0 - to_chat(src, "You place a new glamour ring at your feet.") + to_chat(src, span_warning("You place a new glamour ring at your feet.")) var/spawnloc = get_turf(src) var/obj/structure/glamour_ring/R = new(spawnloc) R.connected_mob = src src.teleporters |= R - LL.lleill_energy -= energy_cost_spawn + species.lleill_energy -= energy_cost_spawn if(findtext(r_action,"Teleport to Ring")) - if(LL.lleill_energy < energy_cost_tele) - to_chat(src, "You do not have enough energy to do that!") + if(species.lleill_energy < energy_cost_tele) + to_chat(src, span_warning("You do not have enough energy to do that!")) return if(!src.teleporters.len) - to_chat(src, "You need to place rings to teleport to them.") + to_chat(src, span_warning("You need to place rings to teleport to them.")) return else var/obj/structure/glamour_ring/R = tgui_input_list(src, "Where do you wish to teleport?", "Teleport", src.teleporters) @@ -214,7 +212,7 @@ var/S = get_turf(R) src.forceMove(S) - LL.lleill_energy -= energy_cost_tele + species.lleill_energy -= energy_cost_tele spk.start() playsound(S, 'sound/effects/phasein.ogg', 25, 1) @@ -230,7 +228,14 @@ for(var/mob/living/M in target_list) if(M.devourable && M.can_be_drop_prey) M.forceMove(vore_selected) - to_chat(M,"In a bright flash of white light, you suddenly find yourself trapped in \the [src]'s [vore_selected.name]!") + to_chat(M,span_vwarning("In a bright flash of white light, you suddenly find yourself trapped in \the [src]'s [vore_selected.name]!")) + species.update_lleill_hud(src) + +/datum/power/lleill/contact + name = "Energy Transfer" + desc = "Take the energy of another creature by making physical contact with them, the other party must consent. This will make them feel drained." + verbpath = /mob/living/carbon/human/proc/lleill_contact + ability_icon_state = "lleill_contact" /mob/living/carbon/human/proc/lleill_contact() set name = "Energy Transfer" @@ -238,7 +243,6 @@ set category = "Abilities" if(!ishuman(src)) return //If you're not a human you don't have permission to do this. - var/datum/species/lleill/LL = species var/list/contact_options = list( "Kiss (lips)", @@ -252,11 +256,8 @@ "Custom" ) - if(!istype(LL)) - to_chat(src, "Only a lleill can use that!") - return if(stat) - to_chat(src, "You can't go do that when weakened like this.") + to_chat(src, span_warning("You can't go do that when weakened like this.")) return var/list/targets = list() @@ -268,7 +269,7 @@ targets |= M if(!targets) - to_chat(src, "There is nobody next to you.") + to_chat(src, span_warning("There is nobody next to you.")) return var/mob/living/carbon/human/chosen_target = tgui_input_list(src, "Who do you wish to take energy from?", "Make contact", targets) if(!chosen_target) @@ -284,43 +285,50 @@ var/accepted = tgui_alert(chosen_target, "Do you accept the [contact_type] physical contact from \the [src]?", "Actions", list("Yes", "No")) if(get_dist(src,chosen_target) > 1) - to_chat(src, "You need to be standing next to [chosen_target].") + to_chat(src, span_warning("You need to be standing next to [chosen_target].")) return - if(accepted == "No") - to_chat(src, "\The [chosen_target] refuses the contact.") + if(!accepted || accepted == "No") + to_chat(src, span_warning("\The [chosen_target] refuses the contact.")) return if(accepted == "Yes") if(contact_type == "Kiss (lips)") - src.visible_message("\The [src] presses their lips up against [chosen_target]'s own.") + src.visible_message(span_infoplain(span_bold("\The [src]") + " presses their lips up against [chosen_target]'s own.")) if(contact_type == "Kiss (neck)") - src.visible_message("\The [src] presses their lips up against [chosen_target]'s neck.") + src.visible_message(span_infoplain(span_bold("\The [src]") + " presses their lips up against [chosen_target]'s neck.")) if(contact_type == "Bite (neck)") - src.visible_message("\The [src] bites down on [chosen_target]'s neck.") + src.visible_message(span_infoplain(span_bold("\The [src]") + " bites down on [chosen_target]'s neck.")) if(contact_type == "Bite (wrist)") - src.visible_message("\The [src] bites down on [chosen_target]'s wrist.") + src.visible_message(span_infoplain(span_bold("\The [src]") + " bites down on [chosen_target]'s wrist.")) if(contact_type == "Hold Hand") - src.visible_message("\The [src] takes [chosen_target]'s hand into their own.") + src.visible_message(span_infoplain(span_bold("\The [src]") + " takes [chosen_target]'s hand into their own.")) if(contact_type == "Embrace") - src.visible_message("\The [src] embraces [chosen_target].") + src.visible_message(span_infoplain(span_bold("\The [src]") + " embraces [chosen_target].")) if(contact_type == "Stroke (hair)") - src.visible_message("\The [src] runs their hand through [chosen_target]'s hair.") + src.visible_message(span_infoplain(span_bold("\The [src]") + " runs their hand through [chosen_target]'s hair.")) if(contact_type == "Boop (nose)") - src.visible_message("\The [src] boops [chosen_target] on the nose.") + src.visible_message(span_infoplain(span_bold("\The [src]") + " boops [chosen_target] on the nose.")) if(contact_type == "Custom") - src.visible_message("[custom_text]") + src.visible_message(span_infoplain("[custom_text]")) if(!do_after(src, 10 SECONDS, chosen_target, exclusive = TASK_USER_EXCLUSIVE)) return else - src.visible_message("\The [src] and \the [chosen_target] break contact before energy has been transferred.") - src.visible_message("\The [src] and \the [chosen_target] complete their contact.") - LL.lleill_energy = LL.lleill_energy_max + src.visible_message(span_infoplain(span_bold("\The [src]") + " and \the [chosen_target] break contact before energy has been transferred.")) + src.visible_message(span_infoplain(span_bold("\The [src]") + " and \the [chosen_target] complete their contact.")) + species.lleill_energy = species.lleill_energy_max nutrition += (chosen_target.nutrition / 2) - to_chat(src, "You feel revitalised.") + to_chat(src, span_warning("You feel revitalised.")) chosen_target.tiredness += 70 chosen_target.nutrition = max((chosen_target.nutrition / 2),75) chosen_target.remove_blood(40) //removes enough blood to make them feel a bit woozy, mostly just for flavour chosen_target.eye_blurry += 20 - to_chat(chosen_target, "You feel considerably weakened for the moment.") + to_chat(chosen_target, span_warning("You feel considerably weakened for the moment.")) + species.update_lleill_hud(src) + +/datum/power/lleill/alchemy + name = "Alchemy (25)" + desc = "Convert a potion material into a potion without the use of a base or alembic." + verbpath = /mob/living/carbon/human/proc/lleill_alchemy + ability_icon_state = "lleill_alchemy" /mob/living/carbon/human/proc/lleill_alchemy() set name = "Alchemy (25)" @@ -329,42 +337,365 @@ var/energy_cost = 25 - var/datum/species/lleill/LL = species - - if(!istype(LL)) - to_chat(src, "Only a lleill can use that!") - return - if(LL.lleill_energy < energy_cost) - to_chat(src, "You do not have enough energy to do that!") + if(species.lleill_energy < energy_cost) + to_chat(src, span_warning("You do not have enough energy to do that! You currently have [species.lleill_energy] energy.")) return if(stat) - to_chat(src, "You can't go do that when weakened like this.") + to_chat(src, span_warning("You can't go do that when weakened like this.")) return - var/obj/item/weapon/potion_material/I = get_active_hand() + var/obj/item/potion_material/I = get_active_hand() if(!I) - to_chat(src, "You have no item in your active hand.") + to_chat(src, span_warning("You have no item in your active hand.")) return if(!istype(I)) - to_chat(src, "\The [I] is not a potion material.") + to_chat(src, span_warning("\The [I] is not a potion material.")) return - var/obj/item/weapon/reagent_containers/glass/bottle/potion/transmute_product = I.product_potion + var/obj/item/reagent_containers/glass/bottle/potion/transmute_product = I.product_potion if(!get_active_hand(I)) - to_chat(src, "The item is no longer in your hands.") + to_chat(src, span_warning("The item is no longer in your hands.")) return else - visible_message("\The [src] begins to change the form of \the [I].") + visible_message(span_infoplain(span_bold("\The [src]") + " begins to change the form of \the [I].")) if(!do_after(usr, 10 SECONDS, I, exclusive = TASK_USER_EXCLUSIVE)) - visible_message("\The [src] leaves \the [I] in its original form.") + visible_message(span_infoplain(span_bold("\The [src]") + " leaves \the [I] in its original form.")) return 0 - visible_message("\The [src] transmutes \the [I] into \the [transmute_product.name].") + visible_message(span_infoplain(span_bold("\The [src]") + " transmutes \the [I] into \the [transmute_product.name].")) drop_item(I) qdel(I) var/spawnloc = get_turf(usr) var/obj/item/N = new transmute_product(spawnloc) put_in_active_hand(N) - LL.lleill_energy -= energy_cost + species.lleill_energy -= energy_cost + species.update_lleill_hud(src) + +/datum/power/lleill/beastform + name = "Beast Form (100)" + desc = "Take the form of a non-humanoid creature." + verbpath = /mob/living/carbon/human/proc/lleill_beast_form + ability_icon_state = "lleill_beast" + +/mob/living/carbon/human/proc/lleill_beast_form() + set name = "Beast Form (100)" + set desc = "Take the form of a non-humanoid creature." + set category = "Abilities" + if(!ishuman(src)) + return //If you're not a human you don't have permission to do this. + + var/energy_cost = 100 + + if(species.lleill_energy < energy_cost) + to_chat(src, span_warning("You do not have enough energy to do that! You currently have [species.lleill_energy] energy.")) + return + + var/list/beast_options = list("Rabbit" = /mob/living/simple_mob/vore/rabbit, + "Red Panda" = /mob/living/simple_mob/vore/redpanda, + "Fennec" = /mob/living/simple_mob/vore/fennec, + "Giant Frog" = /mob/living/simple_mob/vore/aggressive/frog, + "Giant Rat" = /mob/living/simple_mob/vore/aggressive/rat, + "Wolf" = /mob/living/simple_mob/vore/wolf, + "Dire Wolf" = /mob/living/simple_mob/vore/wolf/direwolf, + "Fox" = /mob/living/simple_mob/animal/passive/fox/beastmode, + "Panther" = /mob/living/simple_mob/vore/aggressive/panther, + "Giant Snake" = /mob/living/simple_mob/vore/aggressive/giant_snake, + "Otie" = /mob/living/simple_mob/vore/otie, + "Squirrel" = /mob/living/simple_mob/vore/squirrel, + "Raptor" = /mob/living/simple_mob/vore/raptor, + "Giant Bat" = /mob/living/simple_mob/vore/bat, + "Horse" = /mob/living/simple_mob/vore/horse, + "Horse (Big)" = /mob/living/simple_mob/vore/horse/big, + "Kelpie" = /mob/living/simple_mob/vore/horse/kelpie, + "Bear" = /mob/living/simple_mob/animal/space/bear/brown/beastmode, + "Seagull" = /mob/living/simple_mob/vore/seagull, + "Sheep" = /mob/living/simple_mob/vore/sheep, + "Azure Tit" = /mob/living/simple_mob/animal/passive/bird/azure_tit/beastmode, + "Robin" = /mob/living/simple_mob/animal/passive/bird/european_robin/beastmode, + "Cat" = /mob/living/simple_mob/animal/passive/cat/black/beastmode, + "Tamaskan Dog" = /mob/living/simple_mob/animal/passive/dog/tamaskan, + "Corgi" = /mob/living/simple_mob/animal/passive/dog/corgi, + "Bull Terrier" = /mob/living/simple_mob/animal/passive/dog/bullterrier, + "Duck" = /mob/living/simple_mob/animal/sif/duck, + "Cow" = /mob/living/simple_mob/animal/passive/cow, + "Chicken" = /mob/living/simple_mob/animal/passive/chicken, + "Goat" = /mob/living/simple_mob/animal/goat, + "Penguin" = /mob/living/simple_mob/animal/passive/penguin, + "Goose" = /mob/living/simple_mob/animal/space/goose + ) + + var/chosen_beast = tgui_input_list(src, "Which form would you like to take?", "Choose Beast Form", beast_options) + + if(!chosen_beast) + return + + if(species.lleill_energy < energy_cost) + to_chat(src, span_warning("You do not have enough energy to do that! You currently have [species.lleill_energy] energy.")) + return + + var/mob/living/M = src + log_debug("polymorph start") + if(!istype(M)) + log_debug("polymorph istype") + return + + if(M.stat) //We can let it undo the TF, because the person will be dead, but otherwise things get weird. + log_debug("polymorph stat") + to_chat(src, span_warning("You can't do that in your condition.")) + return + + if(M.health <= 10) //We can let it undo the TF, because the person will be dead, but otherwise things get weird. + log_debug("polymorph injured") + to_chat(src, span_warning("You are too injured to transform into a beast.")) + return + + visible_message(span_infoplain(span_bold("\The [src]") + " begins significantly shifting their form.")) + if(!do_after(src, 10 SECONDS, src, exclusive = TASK_USER_EXCLUSIVE)) + visible_message(span_infoplain(span_bold("\The [src]") + " ceases shifting their form.")) + return 0 + + var/image/coolanimation = image('icons/obj/glamour.dmi', null, "animation") + coolanimation.plane = PLANE_LIGHTING_ABOVE + src.overlays += coolanimation + spawn(10) + src.overlays -= coolanimation + + log_debug("polymorph not dead") + var/mob/living/new_mob = spawn_beast_mob(beast_options[chosen_beast]) + new_mob.faction = M.faction + + if(new_mob && isliving(new_mob)) + species.lleill_energy -= energy_cost + log_debug("polymorph new_mob") + for(var/obj/belly/B as anything in new_mob.vore_organs) + log_debug("polymorph new_mob belly") + new_mob.vore_organs -= B + qdel(B) + new_mob.vore_organs = list() + new_mob.name = M.name + new_mob.real_name = M.real_name + add_verb(new_mob, /mob/living/proc/revert_beast_form) + add_verb(new_mob, /mob/living/proc/set_size) + for(var/lang in M.languages) + new_mob.languages |= lang + M.copy_vore_prefs_to_mob(new_mob) + new_mob.vore_selected = M.vore_selected + if(ishuman(M)) + log_debug("polymorph ishuman part2") + var/mob/living/carbon/human/H = M + if(ishuman(new_mob)) + log_debug("polymorph ishuman(newmob)") + var/mob/living/carbon/human/N = new_mob + N.gender = H.gender + N.identifying_gender = H.identifying_gender + else + log_debug("polymorph gender else") + new_mob.gender = H.gender + else + log_debug("polymorph gender else 2") + new_mob.gender = M.gender + if(ishuman(new_mob)) + var/mob/living/carbon/human/N = new_mob + N.identifying_gender = M.gender + + for(var/obj/belly/B as anything in M.vore_organs) + B.loc = new_mob + B.forceMove(new_mob) + B.owner = new_mob + M.vore_organs -= B + new_mob.vore_organs += B + + new_mob.ckey = M.ckey + if(M.ai_holder && new_mob.ai_holder) + var/datum/ai_holder/old_AI = M.ai_holder + old_AI.set_stance(STANCE_SLEEP) + var/datum/ai_holder/new_AI = new_mob.ai_holder + new_AI.hostile = old_AI.hostile + new_AI.retaliate = old_AI.retaliate + M.loc = new_mob + M.forceMove(new_mob) + new_mob.tf_mob_holder = M + new_mob.visible_message(span_infoplain(span_bold("\The [src]") + " has transformed into \the [chosen_beast]!")) + species.update_lleill_hud(src) + + +/mob/living/carbon/human/proc/spawn_beast_mob(var/chosen_beast) + log_debug("polymorph proc spawn mob") + var/tf_type = chosen_beast + log_debug("polymorph [tf_type]") + if(!ispath(tf_type)) + log_debug("polymorph tf_type fail") + return + log_debug("polymorph tf_type pass") + var/new_mob = new tf_type(get_turf(src)) + return new_mob + +/mob/living/proc/revert_beast_form() + set name = "Revert Beast Form" + set desc = "Return to your humanoid form." + set category = "Abilities" + + if(stat) + to_chat(src, span_warning("You can't do that in your condition.")) + return + + visible_message(span_infoplain(span_bold("\The [src]") + " begins significantly shifting their form.")) + if(!do_after(src, 10 SECONDS, src, exclusive = TASK_USER_EXCLUSIVE)) + visible_message(span_infoplain(span_bold("\The [src]") + " ceases shifting their form.")) + return 0 + visible_message(span_infoplain(span_bold("\The [src]") + " has reverted to their original form.")) + revert_mob_tf() + + +//Hanner variant + +/datum/power/lleill/beastform_hanner + name = "Beast Form (100)" + desc = "Take the form of a non-humanoid creature." + verbpath = /mob/living/carbon/human/proc/hanner_beast_form + ability_icon_state = "lleill_beast" + +/mob/living/carbon/human/proc/hanner_beast_form() + set name = "Beast Form (100)" + set desc = "Take the form of a non-humanoid creature." + set category = "Abilities" + if(!ishuman(src)) + return //If you're not a human you don't have permission to do this. + + var/energy_cost = 100 + + if(species.lleill_energy < energy_cost) + to_chat(src, span_warning("You do not have enough energy to do that! You currently have [species.lleill_energy] energy.")) + return + + var/list/beast_options = list("Rabbit" = /mob/living/simple_mob/vore/rabbit, + "Red Panda" = /mob/living/simple_mob/vore/redpanda, + "Fennec" = /mob/living/simple_mob/vore/fennec, + "Giant Frog" = /mob/living/simple_mob/vore/aggressive/frog, + "Giant Rat" = /mob/living/simple_mob/vore/aggressive/rat, + "Wolf" = /mob/living/simple_mob/vore/wolf, + "Dire Wolf" = /mob/living/simple_mob/vore/wolf/direwolf, + "Fox" = /mob/living/simple_mob/animal/passive/fox/beastmode, + "Panther" = /mob/living/simple_mob/vore/aggressive/panther, + "Giant Snake" = /mob/living/simple_mob/vore/aggressive/giant_snake, + "Otie" = /mob/living/simple_mob/vore/otie, + "Squirrel" = /mob/living/simple_mob/vore/squirrel, + "Raptor" = /mob/living/simple_mob/vore/raptor, + "Giant Bat" = /mob/living/simple_mob/vore/bat, + "Horse" = /mob/living/simple_mob/vore/horse, + "Horse (Big)" = /mob/living/simple_mob/vore/horse/big, + "Kelpie" = /mob/living/simple_mob/vore/horse/kelpie, + "Bear" = /mob/living/simple_mob/animal/space/bear/brown/beastmode, + "Seagull" = /mob/living/simple_mob/vore/seagull, + "Sheep" = /mob/living/simple_mob/vore/sheep, + "Azure Tit" = /mob/living/simple_mob/animal/passive/bird/azure_tit/beastmode, + "Robin" = /mob/living/simple_mob/animal/passive/bird/european_robin/beastmode, + "Cat" = /mob/living/simple_mob/animal/passive/cat/black/beastmode, + "Tamaskan Dog" = /mob/living/simple_mob/animal/passive/dog/tamaskan, + "Corgi" = /mob/living/simple_mob/animal/passive/dog/corgi, + "Bull Terrier" = /mob/living/simple_mob/animal/passive/dog/bullterrier, + "Duck" = /mob/living/simple_mob/animal/sif/duck, + "Cow" = /mob/living/simple_mob/animal/passive/cow, + "Chicken" = /mob/living/simple_mob/animal/passive/chicken, + "Goat" = /mob/living/simple_mob/animal/goat, + "Penguin" = /mob/living/simple_mob/animal/passive/penguin, + "Goose" = /mob/living/simple_mob/animal/space/goose + ) + + var/chosen_beast = tgui_input_list(src, "Which form would you like to take?", "Choose Beast Form", beast_options) + + if(!chosen_beast) + return + + if(species.lleill_energy < energy_cost) + to_chat(src, span_warning("You do not have enough energy to do that! You currently have [species.lleill_energy] energy.")) + return + + var/mob/living/M = src + log_debug("polymorph start") + if(!istype(M)) + log_debug("polymorph istype") + return + + if(M.stat) //We can let it undo the TF, because the person will be dead, but otherwise things get weird. + log_debug("polymorph stat") + to_chat(src, span_warning("You can't do that in your condition.")) + return + + if(M.health <= 10) //We can let it undo the TF, because the person will be dead, but otherwise things get weird. + log_debug("polymorph injured") + to_chat(src, span_warning("You are too injured to transform into a beast.")) + return + + visible_message(span_infoplain(span_bold("\The [src]") + " begins significantly shifting their form.")) + if(!do_after(src, 10 SECONDS, src, exclusive = TASK_USER_EXCLUSIVE)) + visible_message(span_infoplain(span_bold("\The [src]") + " ceases shifting their form.")) + return 0 + + var/image/coolanimation = image('icons/obj/glamour.dmi', null, "animation") + coolanimation.plane = PLANE_LIGHTING_ABOVE + src.overlays += coolanimation + spawn(10) + src.overlays -= coolanimation + + log_debug("polymorph not dead") + var/mob/living/simple_mob/new_mob = spawn_beast_mob(beast_options[chosen_beast]) + new_mob.faction = M.faction + + if(new_mob && isliving(new_mob)) + species.lleill_energy -= energy_cost + log_debug("polymorph new_mob") + for(var/obj/belly/B as anything in new_mob.vore_organs) + log_debug("polymorph new_mob belly") + new_mob.vore_organs -= B + qdel(B) + new_mob.vore_organs = list() + new_mob.name = M.name + new_mob.real_name = M.real_name + add_verb(new_mob, /mob/living/proc/revert_beast_form) + add_verb(new_mob, /mob/living/proc/set_size) + new_mob.hasthermals = 0 + new_mob.health = M.health + new_mob.maxHealth = M.health + for(var/lang in M.languages) + new_mob.languages |= lang + M.copy_vore_prefs_to_mob(new_mob) + new_mob.vore_selected = M.vore_selected + if(ishuman(M)) + log_debug("polymorph ishuman part2") + var/mob/living/carbon/human/H = M + if(ishuman(new_mob)) + log_debug("polymorph ishuman(newmob)") + var/mob/living/carbon/human/N = new_mob + N.gender = H.gender + N.identifying_gender = H.identifying_gender + else + log_debug("polymorph gender else") + new_mob.gender = H.gender + else + log_debug("polymorph gender else 2") + new_mob.gender = M.gender + if(ishuman(new_mob)) + var/mob/living/carbon/human/N = new_mob + N.identifying_gender = M.gender + + for(var/obj/belly/B as anything in M.vore_organs) + B.loc = new_mob + B.forceMove(new_mob) + B.owner = new_mob + M.vore_organs -= B + new_mob.vore_organs += B + + new_mob.ckey = M.ckey + if(M.ai_holder && new_mob.ai_holder) + var/datum/ai_holder/old_AI = M.ai_holder + old_AI.set_stance(STANCE_SLEEP) + var/datum/ai_holder/new_AI = new_mob.ai_holder + new_AI.hostile = old_AI.hostile + new_AI.retaliate = old_AI.retaliate + M.loc = new_mob + M.forceMove(new_mob) + new_mob.tf_mob_holder = M + new_mob.visible_message(span_infoplain(span_bold("\The [src]") + " has transformed into \the [chosen_beast]!")) diff --git a/code/modules/mob/living/carbon/human/species/lleill/lleill_hud.dm b/code/modules/mob/living/carbon/human/species/lleill/lleill_hud.dm new file mode 100644 index 00000000000..cbf1aafbcc4 --- /dev/null +++ b/code/modules/mob/living/carbon/human/species/lleill/lleill_hud.dm @@ -0,0 +1,48 @@ +/obj/screen/lleill + name = "glamour" + icon = 'icons/mob/lleill_hud.dmi' + invisibility = 101 + + +/obj/screen/movable/ability_master/lleill + name = "Lleill Abilities" + icon = 'icons/mob/screen_spells.dmi' + icon_state = "grey_spell_ready" + ability_objects = list() + showing = 0 + + open_state = "master_open" + closed_state = "master_closed" + + screen_loc = ui_spell_master + +/obj/screen/movable/ability_master/lleill/update_abilities(forced = 0, mob/user) //Different proc to prevent indexing + update_icon() + if(user && user.client) + if(!(src in user.client.screen)) + user.client.screen += src + for(var/obj/screen/ability/ability in ability_objects) + ability.update_icon(forced) + +/obj/screen/ability/verb_based/lleill + icon_state = "grey_spell_base" + background_base_state = "grey" + +/obj/screen/movable/ability_master/proc/add_lleill_ability(var/object_given, var/verb_given, var/name_given, var/ability_icon_given, var/arguments) + if(!object_given) + message_admins("ERROR: add_lleill_ability() was not given an object in its arguments.") + if(!verb_given) + message_admins("ERROR: add_lleill_ability() was not given a verb/proc in its arguments.") + if(get_ability_by_proc_ref(verb_given)) + return // Duplicate + var/obj/screen/ability/verb_based/lleill/A = new /obj/screen/ability/verb_based/lleill() + A.ability_master = src + A.object_used = object_given + A.verb_to_call = verb_given + A.ability_icon_state = ability_icon_given + A.name = name_given + if(arguments) + A.arguments_to_use = arguments + ability_objects.Add(A) + if(my_mob.client) + toggle_open(2) diff --git a/code/modules/mob/living/carbon/human/species/lleill/lleill_items.dm b/code/modules/mob/living/carbon/human/species/lleill/lleill_items.dm index 2a1603e8b88..b36bad80e59 100644 --- a/code/modules/mob/living/carbon/human/species/lleill/lleill_items.dm +++ b/code/modules/mob/living/carbon/human/species/lleill/lleill_items.dm @@ -1,14 +1,14 @@ //Transparent Glamour (invisibility potion) -/obj/item/weapon/potion_material/glamour_transparent +/obj/item/potion_material/glamour_transparent name = "transparent glamour" desc = "A shard of hardened white crystal that is clearly translucent." icon = 'icons/obj/glamour.dmi' icon_state = "transparent" - base_reagent = /obj/item/weapon/potion_base/aqua_regia - product_potion = /obj/item/weapon/reagent_containers/glass/bottle/potion/invisibility + base_reagent = /obj/item/potion_base/aqua_regia + product_potion = /obj/item/reagent_containers/glass/bottle/potion/invisibility -/obj/item/weapon/reagent_containers/glass/bottle/potion/invisibility +/obj/item/reagent_containers/glass/bottle/potion/invisibility name = "transparent potion" desc = "A small white potion, the clear liquid inside can barely be seen at all." prefill = list("transparent glamour" = 1) @@ -24,7 +24,7 @@ /datum/reagent/glamour_transparent/affect_blood(var/mob/living/carbon/target, var/removed) if(!target.cloaked) - target.visible_message("\The [target] vanishes from sight.") + target.visible_message(span_infoplain(span_bold("\The [target]") + " vanishes from sight.")) target.cloak() target.bloodstr.clear_reagents() //instantly clears reagents afterwards target.ingested.clear_reagents() @@ -32,19 +32,19 @@ spawn(600) if(target.cloaked) target.uncloak() - target.visible_message("\The [target] appears as if from thin air.") + target.visible_message(span_infoplain(span_bold("\The [target]") + " appears as if from thin air.")) //Shrinking Glamour (scaling potion) -/obj/item/weapon/potion_material/glamour_shrinking +/obj/item/potion_material/glamour_shrinking name = "shrinking glamour" desc = "A soft clump of white material that seems to shrink at your touch." icon = 'icons/obj/glamour.dmi' icon_state = "shrinking" - base_reagent = /obj/item/weapon/potion_base/aqua_regia - product_potion = /obj/item/weapon/reagent_containers/glass/bottle/potion/scaling + base_reagent = /obj/item/potion_base/aqua_regia + product_potion = /obj/item/reagent_containers/glass/bottle/potion/scaling -/obj/item/weapon/reagent_containers/glass/bottle/potion/scaling +/obj/item/reagent_containers/glass/bottle/potion/scaling name = "scaling potion" desc = "A small white potion, the clear liquid inside can barely be seen at all." prefill = list("scaling glamour" = 1) @@ -60,23 +60,23 @@ /datum/reagent/glamour_scaling/affect_blood(var/mob/living/carbon/target, var/removed) if(!(/mob/living/proc/set_size in target.verbs)) - to_chat(target, "You feel as though you could change size at any moment.") - target.verbs |= /mob/living/proc/set_size + to_chat(target, span_warning("You feel as though you could change size at any moment.")) + add_verb(target, /mob/living/proc/set_size) target.bloodstr.clear_reagents() //instantly clears reagents afterwards target.ingested.clear_reagents() target.touching.clear_reagents() //Twinkling Glamour (Sparkling potion - Gives darksight) -/obj/item/weapon/potion_material/glamour_twinkling +/obj/item/potion_material/glamour_twinkling name = "twinkling glamour" desc = "A sheet of white material that twinkles on its own accord." icon = 'icons/obj/glamour.dmi' icon_state = "twinkling" - base_reagent = /obj/item/weapon/potion_base/aqua_regia - product_potion = /obj/item/weapon/reagent_containers/glass/bottle/potion/darksight + base_reagent = /obj/item/potion_base/aqua_regia + product_potion = /obj/item/reagent_containers/glass/bottle/potion/darksight -/obj/item/weapon/reagent_containers/glass/bottle/potion/darksight +/obj/item/reagent_containers/glass/bottle/potion/darksight name = "twinling potion" desc = "A small white potion, the thin white liquid inside twinkles brightly." prefill = list("twinkling glamour" = 1) @@ -92,11 +92,11 @@ /datum/reagent/glamour_twinkling/affect_blood(var/mob/living/carbon/human/target, var/removed) if(target.species.darksight < 10) - to_chat(target, "You can suddenly see much better than before.") + to_chat(target, span_warning("You can suddenly see much better than before.")) target.species.darksight = 10 if(target.disabilities & NEARSIGHTED) target.disabilities &= ~NEARSIGHTED - to_chat(target, "Everything is much less blurry.") + to_chat(target, span_warning("Everything is much less blurry.")) target.bloodstr.clear_reagents() //instantly clears reagents afterwards target.ingested.clear_reagents() target.touching.clear_reagents() @@ -130,12 +130,12 @@ for(var/mob/living/carbon/human/M in mob_list) if(M.z != user.z || get_dist(user,M) > 10) continue - if(istype(M) && M.resleeve_lock && M.ckey != M.resleeve_lock) + if(!M.allow_mimicry) continue targets |= M if(!targets) - to_chat(user, "There are no appropriate targets in range.") + to_chat(user, span_warning("There are no appropriate targets in range.")) return var/mob/living/carbon/human/chosen_target = tgui_input_list(user, "Which target do you wish to create a homunculus of?", "homunculus", targets) @@ -156,10 +156,10 @@ if(homunculus) var/mob/living/simple_mob/homunculus/H = homunculus var/h_action = tgui_alert(user, "What would you like to do with your homunculus?", "Actions", list("Recall", "Speak Through", "Cancel")) - if(h_action == "Cancel") + if(!h_action || h_action == "Cancel") return if(h_action == "Recall") - H.visible_message("\The [H] returns to the face.") + H.visible_message(span_infoplain(span_bold("\The [H]") + " returns to the face.")) qdel(H) homunculus = 0 return @@ -171,13 +171,13 @@ //Speaking Glamour (universal translator) -/obj/item/device/universal_translator/glamour +/obj/item/universal_translator/glamour name = "speaking glamour" desc = "A shard of glamour that translates all known language for the user." icon = 'icons/obj/glamour.dmi' icon_state = "translator" -/obj/item/device/universal_translator/glamour/hear_talk(mob/M, list/message_pieces, verb) +/obj/item/universal_translator/glamour/hear_talk(mob/M, list/message_pieces, verb) if(!listening || !istype(M)) return @@ -212,7 +212,7 @@ if(!L.say_understands(null, langset)) new_message = langset.scramble(new_message) - to_chat(L, "[src] translates, \"[new_message]\"") + to_chat(L, span_filter_say("[src] translates, \"[new_message]\"")) //Teleporter ring @@ -244,28 +244,28 @@ else m_action= tgui_alert(M, "Do you want to destroy the ring, the owner of it may be aware that you have done this?", "Destroy ring", list("Yes", "No")) - if(m_action == "No") + if(!m_action || m_action == "No") return if(m_action == "Yes") - to_chat(M, "You begin to break the lines of the glamour ring.") + to_chat(M, span_warning("You begin to break the lines of the glamour ring.")) if(!do_after(M, 10 SECONDS, src, exclusive = TASK_USER_EXCLUSIVE)) - to_chat(M, "You leave the glamour ring alone.") + to_chat(M, span_warning("You leave the glamour ring alone.")) return - to_chat(M, "You have destroyed \the [src].") - src.visible_message("\The [M] has broken apart \the [src].") + to_chat(M, span_warning("You have destroyed \the [src].")) + src.visible_message(span_infoplain(span_bold("\The [M]") + " has broken apart \the [src].")) if(M != connected_mob && connected_mob) - to_chat(connected_mob, "\The [src] has been destroyed by \the [M].") + to_chat(connected_mob, span_warning("\The [src] has been destroyed by \the [M].")) if(istype(LL)) L.teleporters -= src qdel(src) if(m_action == "Restore Energy") if(LL.ring_cooldown + 10 MINUTES > world.time) - to_chat(M, "You must wait a while before drawing energy from the glamour again.") + to_chat(M, span_warning("You must wait a while before drawing energy from the glamour again.")) return if(!do_after(M, 10 SECONDS, src, exclusive = TASK_USER_EXCLUSIVE)) - to_chat(M, "You stop drawing energy.") + to_chat(M, span_warning("You stop drawing energy.")) return LL.lleill_energy = min((LL.lleill_energy + 75),LL.lleill_energy_max) @@ -287,4 +287,4 @@ icon_state = "pocket" //Glamour Floor -//Glamour Wall \ No newline at end of file +//Glamour Wall diff --git a/code/modules/mob/living/carbon/human/species/outsider/vox.dm b/code/modules/mob/living/carbon/human/species/outsider/vox.dm index 6659695c574..a6988af39fb 100644 --- a/code/modules/mob/living/carbon/human/species/outsider/vox.dm +++ b/code/modules/mob/living/carbon/human/species/outsider/vox.dm @@ -103,11 +103,11 @@ H.equip_to_slot_or_del(new /obj/item/clothing/mask/breath(H), slot_wear_mask) if(H.backbag == 1) - H.equip_to_slot_or_del(new /obj/item/weapon/tank/vox(H), slot_back) + H.equip_to_slot_or_del(new /obj/item/tank/vox(H), slot_back) H.internal = H.back else - H.equip_to_slot_or_del(new /obj/item/weapon/tank/vox(H), slot_r_hand) + H.equip_to_slot_or_del(new /obj/item/tank/vox(H), slot_r_hand) H.internal = H.r_hand - H.internal = locate(/obj/item/weapon/tank) in H.contents - if(istype(H.internal,/obj/item/weapon/tank) && H.internals) + H.internal = locate(/obj/item/tank) in H.contents + if(istype(H.internal,/obj/item/tank) && H.internals) H.internals.icon_state = "internal1" diff --git a/code/modules/mob/living/carbon/human/species/shadekin/shadekin.dm b/code/modules/mob/living/carbon/human/species/shadekin/shadekin.dm index 28bc4fcb07e..bff31251db1 100644 --- a/code/modules/mob/living/carbon/human/species/shadekin/shadekin.dm +++ b/code/modules/mob/living/carbon/human/species/shadekin/shadekin.dm @@ -152,7 +152,7 @@ H.ability_master = new /obj/screen/movable/ability_master/shadekin(H) for(var/datum/power/shadekin/P in shadekin_ability_datums) if(!(P.verbpath in H.verbs)) - H.verbs += P.verbpath + add_verb(H, P.verbpath) H.ability_master.add_shadekin_ability( object_given = H, verb_given = P.verbpath, diff --git a/code/modules/mob/living/carbon/human/species/shadekin/shadekin_abilities.dm b/code/modules/mob/living/carbon/human/species/shadekin/shadekin_abilities.dm index 6184762866f..82af7ed3066 100644 --- a/code/modules/mob/living/carbon/human/species/shadekin/shadekin_abilities.dm +++ b/code/modules/mob/living/carbon/human/species/shadekin/shadekin_abilities.dm @@ -30,14 +30,21 @@ /mob/living/carbon/human/proc/phase_shift() set name = "Phase Shift (100)" set desc = "Shift yourself out of alignment with realspace to travel quickly to different areas." - set category = "Shadekin" + set category = "Abilities.Shadekin" + + //RS Port #658 Start + var/area/A = get_area(src) + if(!client?.holder && A.flag_check(AREA_BLOCK_PHASE_SHIFT)) + to_chat(src, span_warning("You can't do that here!")) + return + //RS Port #658 End var/ability_cost = 100 var/darkness = 1 var/turf/T = get_turf(src) if(!T) - to_chat(src,"You can't use that here!") + to_chat(src,span_warning("You can't use that here!")) return FALSE if(ability_flags & AB_PHASE_SHIFTING) @@ -49,7 +56,7 @@ var/watcher = 0 for(var/mob/living/carbon/human/watchers in oview(7,src )) // If we can see them... if(watchers in oviewers(7,src)) // And they can see us... - if(!(watchers.stat) && !isbelly(watchers.loc) && !istype(watchers.loc, /obj/item/weapon/holder)) // And they are alive and not being held by someone... + if(!(watchers.stat) && !isbelly(watchers.loc) && !istype(watchers.loc, /obj/item/holder)) // And they are alive and not being held by someone... watcher++ // They are watching us! ability_cost = CLAMP(ability_cost/(0.01+darkness*2),50, 80)//This allows for 1 watcher in full light @@ -60,13 +67,13 @@ var/datum/species/shadekin/SK = species if(!istype(SK)) - to_chat(src, "Only a shadekin can use that!") + to_chat(src, span_warning("Only a shadekin can use that!")) return FALSE else if(stat) - to_chat(src, "Can't use that ability in your state!") + to_chat(src, span_warning("Can't use that ability in your state!")) return FALSE else if(shadekin_get_energy() < ability_cost && !(ability_flags & AB_PHASE_SHIFTED)) - to_chat(src, "Not enough energy for that ability!") + to_chat(src, span_warning("Not enough energy for that ability!")) return FALSE if(!(ability_flags & AB_PHASE_SHIFTED)) @@ -74,22 +81,33 @@ playsound(src, 'sound/effects/stealthoff.ogg', 75, 1) if(!T.CanPass(src,T) || loc != T) - to_chat(src,"You can't use that here!") + to_chat(src,span_warning("You can't use that here!")) return FALSE - forceMove(T) - var/original_canmove = canmove - SetStunned(0) - SetWeakened(0) - if(buckled) - buckled.unbuckle_mob() - if(pulledby) - pulledby.stop_pulling() - stop_pulling() - canmove = FALSE - //Shifting in if(ability_flags & AB_PHASE_SHIFTED) + phase_in(T) + //Shifting out + else + phase_out(T) + + +/mob/living/carbon/human/proc/phase_in(var/turf/T) + if(ability_flags & AB_PHASE_SHIFTED) + + // pre-change + forceMove(T) + var/original_canmove = canmove + SetStunned(0) + SetWeakened(0) + if(buckled) + buckled.unbuckle_mob() + if(pulledby) + pulledby.stop_pulling() + stop_pulling() + + // change + canmove = FALSE ability_flags &= ~AB_PHASE_SHIFTED ability_flags |= AB_PHASE_SHIFTING mouse_opacity = 1 @@ -122,7 +140,7 @@ var/mob/living/target = pick(potentials) if(istype(target) && target.devourable && target.can_be_drop_prey && vore_selected) target.forceMove(vore_selected) - to_chat(target,"\The [src] phases in around you, [vore_selected.vore_verb]ing you into their [vore_selected.name]!") + to_chat(target,span_vwarning("\The [src] phases in around you, [vore_selected.vore_verb]ing you into their [vore_selected.name]!")) ability_flags &= ~AB_PHASE_SHIFTING @@ -138,8 +156,22 @@ L.broken() else L.flicker(10) - //Shifting out - else + +/mob/living/carbon/human/proc/phase_out(var/turf/T) + if(!(ability_flags & AB_PHASE_SHIFTED)) + // pre-change + forceMove(T) + var/original_canmove = canmove + SetStunned(0) + SetWeakened(0) + if(buckled) + buckled.unbuckle_mob() + if(pulledby) + pulledby.stop_pulling() + stop_pulling() + canmove = FALSE + + // change ability_flags |= AB_PHASE_SHIFTED ability_flags |= AB_PHASE_SHIFTING mouse_opacity = 0 @@ -189,22 +221,22 @@ /mob/living/carbon/human/proc/regenerate_other() set name = "Regenerate Other (50)" set desc = "Spend energy to heal physical wounds in another creature." - set category = "Shadekin" + set category = "Abilities.Shadekin" var/ability_cost = 50 var/datum/species/shadekin/SK = species if(!istype(SK)) - to_chat(src, "Only a shadekin can use that!") + to_chat(src, span_warning("Only a shadekin can use that!")) return FALSE else if(stat) - to_chat(src, "Can't use that ability in your state!") + to_chat(src, span_warning("Can't use that ability in your state!")) return FALSE else if(shadekin_get_energy() < ability_cost) - to_chat(src, "Not enough energy for that ability!") + to_chat(src, span_warning("Not enough energy for that ability!")) return FALSE else if(ability_flags & AB_PHASE_SHIFTED) - to_chat(src, "You can't use that while phase shifted!") + to_chat(src, span_warning("You can't use that while phase shifted!")) return FALSE var/list/viewed = oview(1) @@ -212,7 +244,7 @@ for(var/mob/living/L in viewed) targets += L if(!targets.len) - to_chat(src,"Nobody nearby to mend!") + to_chat(src,span_warning("Nobody nearby to mend!")) return FALSE var/mob/living/target = tgui_input_list(src,"Pick someone to mend:","Mend Other", targets) @@ -222,7 +254,7 @@ target.add_modifier(/datum/modifier/shadekin/heal_boop,1 MINUTE) playsound(src, 'sound/effects/EMPulse.ogg', 75, 1) shadekin_adjust_energy(-ability_cost) - visible_message("\The [src] gently places a hand on \the [target]...") + visible_message(span_notice("\The [src] gently places a hand on \the [target]...")) face_atom(target) return TRUE @@ -231,8 +263,8 @@ desc = "You feel serene and well rested." mob_overlay_state = "green_sparkles" - on_created_text = "Sparkles begin to appear around you, and all your ills seem to fade away." - on_expired_text = "The sparkles have faded, although you feel much healthier than before." + on_created_text = span_notice("Sparkles begin to appear around you, and all your ills seem to fade away.") + on_expired_text = span_notice("The sparkles have faded, although you feel much healthier than before.") stacks = MODIFIER_STACK_EXTEND /datum/modifier/shadekin/heal_boop/tick() @@ -258,22 +290,22 @@ /mob/living/carbon/human/proc/create_shade() set name = "Create Shade (25)" set desc = "Create a field of darkness that follows you." - set category = "Shadekin" + set category = "Abilities.Shadekin" var/ability_cost = 25 var/datum/species/shadekin/SK = species if(!istype(SK)) - to_chat(src, "Only a shadekin can use that!") + to_chat(src, span_warning("Only a shadekin can use that!")) return FALSE else if(stat) - to_chat(src, "Can't use that ability in your state!") + to_chat(src, span_warning("Can't use that ability in your state!")) return FALSE else if(shadekin_get_energy() < ability_cost) - to_chat(src, "Not enough energy for that ability!") + to_chat(src, span_warning("Not enough energy for that ability!")) return FALSE else if(ability_flags & AB_PHASE_SHIFTED) - to_chat(src, "You can't use that while phase shifted!") + to_chat(src, span_warning("You can't use that while phase shifted!")) return FALSE playsound(src, 'sound/effects/bamf.ogg', 75, 1) @@ -287,8 +319,8 @@ desc = "Darkness envelops you." mob_overlay_state = "" - on_created_text = "You drag part of The Dark into realspace, enveloping yourself." - on_expired_text = "You lose your grasp on The Dark and realspace reasserts itself." + on_created_text = span_notice("You drag part of The Dark into realspace, enveloping yourself.") + on_expired_text = span_warning("You lose your grasp on The Dark and realspace reasserts itself.") stacks = MODIFIER_STACK_EXTEND var/mob/living/simple_mob/shadekin/my_kin diff --git a/code/modules/mob/living/carbon/human/species/species.dm b/code/modules/mob/living/carbon/human/species/species.dm index 3b471a84a3f..09fc23d4c73 100644 --- a/code/modules/mob/living/carbon/human/species/species.dm +++ b/code/modules/mob/living/carbon/human/species/species.dm @@ -122,7 +122,7 @@ var/vision_flags = SEE_SELF // Same flags as glasses. // Death vars. - var/meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat/human + var/meat_type = /obj/item/reagent_containers/food/snacks/meat/human var/remains_type = /obj/effect/decal/remains/xeno var/gibbed_anim = "gibbed-h" var/dusted_anim = "dust-h" @@ -212,6 +212,9 @@ var/can_space_freemove = FALSE // Can we freely move in space? var/can_zero_g_move = FALSE // What about just in zero-g non-space? + var/swim_mult = 1 //multiplier to our z-movement rate for swimming + var/climb_mult = 1 //multiplier to our z-movement rate for lattices/catwalks + var/item_slowdown_mod = 1 // How affected by item slowdown the species is. var/primitive_form // Lesser form, if any (ie. monkey for humans) var/greater_form // Greater form, if any, ie. human for monkeys. @@ -222,6 +225,8 @@ var/rarity_value = 1 // Relative rarity/collector value for this species. var/economic_modifier = 2 // How much money this species makes + var/vanity_base_fit //when shapeshifting using vanity_copy_to, this allows you to have add something so they can go back to their original species fit + var/vore_belly_default_variant = "H" // Determines the organs that the species spawns with and @@ -334,26 +339,26 @@ return sanitizeName(name, MAX_NAME_LEN, robot) /datum/species/proc/equip_survival_gear(var/mob/living/carbon/human/H,var/extendedtank = 0,var/comprehensive = 0) - var/boxtype = /obj/item/weapon/storage/box/survival //Default survival box + var/boxtype = /obj/item/storage/box/survival //Default survival box var/synth = H.isSynthetic() //Empty box for synths if(synth) - boxtype = /obj/item/weapon/storage/box/survival/synth + boxtype = /obj/item/storage/box/survival/synth //Special box with extra equipment else if(comprehensive) - boxtype = /obj/item/weapon/storage/box/survival/comp + boxtype = /obj/item/storage/box/survival/comp //Create the box - var/obj/item/weapon/storage/box/box = new boxtype(H) + var/obj/item/storage/box/box = new boxtype(H) //If not synth, they get an air tank (if they breathe) if(!synth && breath_type) //Create a tank (if such a thing exists for this species) - var/tanktext = "/obj/item/weapon/tank/emergency/" + "[breath_type]" - var/obj/item/weapon/tank/emergency/tankpath //Will force someone to come look here if they ever alter this path. + var/tanktext = "/obj/item/tank/emergency/" + "[breath_type]" + var/obj/item/tank/emergency/tankpath //Will force someone to come look here if they ever alter this path. if(extendedtank) tankpath = text2path(tanktext + "/engi") if(!tankpath) //Is it just that there's no /engi? @@ -367,7 +372,7 @@ //If they are synth, they get a smol battery else if(synth) - new /obj/item/device/fbp_backup_cell(box) + new /obj/item/fbp_backup_cell(box) box.calibrate_size() @@ -440,31 +445,31 @@ //VOREStation Edit Start - Headpats and Handshakes. if(H.zone_sel.selecting == "head") H.visible_message( \ - "[H] pats [target] on the head.", \ - "You pat [target] on the head.", ) + span_notice("[H] pats [target] on the head."), \ + span_notice("You pat [target] on the head."), ) else if(H.zone_sel.selecting == "r_hand" || H.zone_sel.selecting == "l_hand") H.visible_message( \ - "[H] shakes [target]'s hand.", \ - "You shake [target]'s hand.", ) + span_notice("[H] shakes [target]'s hand."), \ + span_notice("You shake [target]'s hand."), ) else if(H.zone_sel.selecting == "mouth") H.visible_message( \ - "[H] boops [target]'s nose.", \ - "You boop [target] on the nose.", ) + span_notice("[H] boops [target]'s nose."), \ + span_notice("You boop [target] on the nose."), ) //VOREStation Edit End else - H.visible_message("[H] hugs [target] to make [t_him] feel better!", \ - "You hug [target] to make [t_him] feel better!") + H.visible_message(span_notice("[H] hugs [target] to make [t_him] feel better!"), \ + span_notice("You hug [target] to make [t_him] feel better!")) /datum/species/proc/remove_inherent_verbs(var/mob/living/carbon/human/H) if(inherent_verbs) for(var/verb_path in inherent_verbs) - H.verbs -= verb_path + remove_verb(H, verb_path) return /datum/species/proc/add_inherent_verbs(var/mob/living/carbon/human/H) if(inherent_verbs) for(var/verb_path in inherent_verbs) - H.verbs |= verb_path + add_verb(H, verb_path) return /datum/species/proc/handle_post_spawn(var/mob/living/carbon/human/H) //Handles anything not already covered by basic species assignment. @@ -556,8 +561,8 @@ return FALSE // Allow species to display interesting information in the human stat panels -/datum/species/proc/Stat(var/mob/living/carbon/human/H) - return +/datum/species/proc/get_status_tab_items(var/mob/living/carbon/human/H) + return "" /datum/species/proc/handle_water_damage(var/mob/living/carbon/human/H, var/amount = 0) amount *= 1 - H.get_water_protection() @@ -575,8 +580,8 @@ return FALSE if(!silent) - to_chat(H, SPAN_NOTICE("You manage to lower impact of the fall and land safely.")) - landing.visible_message("\The [H] lowers down from above, landing safely.") + to_chat(H, span_notice("You manage to lower impact of the fall and land safely.")) + landing.visible_message(span_infoplain(span_bold("\The [H]") + " lowers down from above, landing safely.")) playsound(H, "rustle", 25, 1) return TRUE @@ -584,3 +589,6 @@ /datum/species/proc/post_spawn_special(mob/living/carbon/human/H) return + +/datum/species/proc/update_misc_tabs(var/mob/living/carbon/human/H) + return diff --git a/code/modules/mob/living/carbon/human/species/species_attack.dm b/code/modules/mob/living/carbon/human/species/species_attack.dm index 5e2aaafb8e5..d4f5912d53e 100644 --- a/code/modules/mob/living/carbon/human/species/species_attack.dm +++ b/code/modules/mob/living/carbon/human/species/species_attack.dm @@ -25,15 +25,13 @@ edge = TRUE /datum/unarmed_attack/claws/show_attack(var/mob/living/carbon/human/user, var/mob/living/carbon/human/target, var/zone, var/attack_damage) - var/skill = user.skills["combat"] var/obj/item/organ/external/affecting = target.get_organ(zone) var/datum/gender/T = gender_datums[user.get_visible_gender()] var/datum/gender/TT = gender_datums[target.get_visible_gender()] - if(!skill) skill = 1 attack_damage = CLAMP(attack_damage, 1, 5) if(target == user) - user.visible_message("[user] [pick(attack_verb)] [T.himself] in the [affecting.name]!") + user.visible_message(span_danger("[user] [pick(attack_verb)] [T.himself] in the [affecting.name]!")) return 0 switch(zone) @@ -41,20 +39,20 @@ // ----- HEAD ----- // switch(attack_damage) if(1 to 2) - user.visible_message("[user] scratched [target] across [TT.his] cheek!") + user.visible_message(span_danger("[user] scratched [target] across [TT.his] cheek!")) if(3 to 4) - user.visible_message("[user] [pick(attack_verb)] [target]'s [pick("head", "neck")]!") //'with spread claws' sounds a little bit odd, just enough that conciseness is better here I think + user.visible_message(span_danger("[user] [pick(attack_verb)] [target]'s [pick("head", "neck")]!")) //'with spread claws' sounds a little bit odd, just enough that conciseness is better here I think if(5) user.visible_message(pick( - "[user] rakes [T.his] [pick(attack_noun)] across [target]'s face!", - "[user] tears [T.his] [pick(attack_noun)] into [target]'s face!", + span_danger("[user] rakes [T.his] [pick(attack_noun)] across [target]'s face!"), + span_danger("[user] tears [T.his] [pick(attack_noun)] into [target]'s face!"), )) else // ----- BODY ----- // switch(attack_damage) - if(1 to 2) user.visible_message("[user] scratched [target]'s [affecting.name]!") - if(3 to 4) user.visible_message("[user] [pick(attack_verb)] [pick("", "", "the side of")] [target]'s [affecting.name]!") - if(5) user.visible_message("[user] tears [T.his] [pick(attack_noun)] [pick("deep into", "into", "across")] [target]'s [affecting.name]!") + if(1 to 2) user.visible_message(span_danger("[user] scratched [target]'s [affecting.name]!")) + if(3 to 4) user.visible_message(span_danger("[user] [pick(attack_verb)] [pick("", "", "the side of")] [target]'s [affecting.name]!")) + if(5) user.visible_message(span_danger("[user] tears [T.his] [pick(attack_noun)] [pick("deep into", "into", "across")] [target]'s [affecting.name]!")) /datum/unarmed_attack/claws/strong attack_name = "strong claws" @@ -98,5 +96,5 @@ /datum/unarmed_attack/stomp/weak/show_attack(var/mob/living/carbon/human/user, var/mob/living/carbon/human/target, var/zone, var/attack_damage) var/obj/item/organ/external/affecting = target.get_organ(zone) - user.visible_message("[user] jumped up and down on \the [target]'s [affecting.name]!") - playsound(user, attack_sound, 25, 1, -1) \ No newline at end of file + user.visible_message(span_warning("[user] jumped up and down on \the [target]'s [affecting.name]!")) + playsound(user, attack_sound, 25, 1, -1) diff --git a/code/modules/mob/living/carbon/human/species/species_attack_vr.dm b/code/modules/mob/living/carbon/human/species/species_attack_vr.dm index 98d732b658b..219c6927779 100644 --- a/code/modules/mob/living/carbon/human/species/species_attack_vr.dm +++ b/code/modules/mob/living/carbon/human/species/species_attack_vr.dm @@ -11,41 +11,40 @@ attack_damage = CLAMP(attack_damage, 1, 5) if(target == user) - user.visible_message("[user] sinks their fangs in to themself in the [affecting.name]!") - to_chat(target, "You feel a wave of numbness as you sink your fangs in to yourself.") + user.visible_message(span_danger("[user] [pick(attack_verb)] \himself in the [affecting.name]!")) + to_chat(target, "You feel a wave of numbness as you sink your fangs in to yourself.") //Yawn-edit. Allows adding venom to self. target.bloodstr.add_reagent("numbenzyme",attack_damage) //Yawn-edit. Allows adding venom to self. - return 0 - + return 0 //No venom for you. switch(zone) if(BP_HEAD, O_MOUTH, O_EYES) // ----- HEAD ----- // switch(attack_damage) if(1 to 2) - user.visible_message("[user]'s fangs scrape across [target]'s cheek!") - to_chat(target, "Your face feels tingly!") + user.visible_message(span_danger("[user]'s fangs scrape across [target]'s cheek!")) + to_chat(target, span_danger("Your face feels tingly!")) target.bloodstr.add_reagent("numbenzyme",attack_damage) //Have to add this here, otherwise the swtich fails. if(3 to 4) - user.visible_message("[user]'s fangs pierce into [target]'s neck at an odd, awkward angle!") - to_chat(target, "Your neck feels like it's on fire before going numb!") + user.visible_message(span_danger("[user]'s fangs pierce into [target]'s neck at an odd, awkward angle!")) + to_chat(target, span_danger("Your neck feels like it's on fire before going numb!")) target.bloodstr.add_reagent("numbenzyme",attack_damage) if(5) - user.visible_message("[user] sinks \his [pick(attack_noun)] deep into [target]'s neck, causing the vein to bulge outwards at some type of chemical is pumped into it!") - to_chat(target, "Your neck feels like it's going to burst! Moments later, you simply can't feel your neck any longer, the numbness beginning to spread throughout your body!") + user.visible_message(span_danger("[user] sinks \his [pick(attack_noun)] deep into [target]'s neck, causing the vein to bulge outwards at some type of chemical is pumped into it!")) + to_chat(target, span_danger("Your neck feels like it's going to burst! Moments later, you simply can't feel your neck any longer, the numbness beginning to spread throughout your body!")) target.bloodstr.add_reagent("numbenzyme",attack_damage) else // ----- BODY ----- // switch(attack_damage) if(1 to 2) - user.visible_message("[user]'s fangs scrape across [target]'s [affecting.name]!") - to_chat(target, "Your [affecting.name] feels tingly!") + user.visible_message(span_danger("[user]'s fangs scrape across [target]'s [affecting.name]!")) + to_chat(target, span_danger("Your [affecting.name] feels tingly!")) target.bloodstr.add_reagent("numbenzyme",attack_damage) if(3 to 4) - user.visible_message("[user]'s fangs pierce [pick("", "", "the side of")] [target]'s [affecting.name]!") - to_chat(target, "Your [affecting.name] feels like it's on fire before going numb!") + user.visible_message(span_danger("[user]'s fangs pierce [pick("", "", "the side of")] [target]'s [affecting.name]!")) + to_chat(target, span_danger("Your [affecting.name] feels like it's on fire before going numb!")) target.bloodstr.add_reagent("numbenzyme",attack_damage) if(5) - user.visible_message("[user]'s fangs sink deep into [target]'s [affecting.name], one of their veins bulging outwards from the sudden fluid pumped into it!") - to_chat(target, "Your [affecting.name] feels like it's going to burst! Moments later, you simply can't feel your [affecting.name] any longer, the numbness slowly spreading throughout your body!") + user.visible_message(span_danger("[user]'s fangs sink deep into [target]'s [affecting.name], one of their veins bulging outwards from the sudden fluid pumped into it!")) + to_chat(target, span_danger("Your [affecting.name] feels like it's going to burst! Moments later, you simply can't feel your [affecting.name] any longer, the numbness slowly spreading throughout your body!")) target.bloodstr.add_reagent("numbenzyme",attack_damage) /datum/unarmed_attack/claws/shadekin @@ -77,4 +76,4 @@ selfdamagezone=pick(BP_L_ARM, BP_L_HAND) else selfdamagezone=pick(BP_R_ARM, BP_R_HAND) - user.apply_damage(selfdamage, BRUTE, selfdamagezone, 0, 0, sharp=FALSE, edge=FALSE) \ No newline at end of file + user.apply_damage(selfdamage, BRUTE, selfdamagezone, 0, 0, sharp=FALSE, edge=FALSE) diff --git a/code/modules/mob/living/carbon/human/species/species_getters.dm b/code/modules/mob/living/carbon/human/species/species_getters.dm index fc59efd67ef..298179fa5aa 100644 --- a/code/modules/mob/living/carbon/human/species/species_getters.dm +++ b/code/modules/mob/living/carbon/human/species/species_getters.dm @@ -41,7 +41,7 @@ return ((H && H.isSynthetic()) ? "encounters a hardware fault and suddenly reboots!" : knockout_message) /datum/species/proc/get_death_message(var/mob/living/carbon/human/H) - if(config.show_human_death_message) + if(CONFIG_GET(flag/show_human_death_message)) return ((H && H.isSynthetic()) ? "gives one shrill beep before falling lifeless." : death_message) else return DEATHGASP_NO_MESSAGE @@ -104,7 +104,7 @@ discomfort_message = pick(heat_discomfort_strings) if(discomfort_message && prob(5)) - to_chat(H, SPAN_DANGER(discomfort_message)) + to_chat(H, span_danger(discomfort_message)) return !!discomfort_message /datum/species/proc/get_random_name(var/gender) diff --git a/code/modules/mob/living/carbon/human/species/species_shapeshift.dm b/code/modules/mob/living/carbon/human/species/species_shapeshift.dm index e10176a5c7d..ade1ef0fc8a 100644 --- a/code/modules/mob/living/carbon/human/species/species_shapeshift.dm +++ b/code/modules/mob/living/carbon/human/species/species_shapeshift.dm @@ -16,7 +16,7 @@ var/list/wrapped_species_by_ref = list() //var/default_form = SPECIES_HUMAN //VOREStation edit /datum/species/shapeshifter/get_valid_shapeshifter_forms(var/mob/living/carbon/human/H) - return valid_transform_species + return list(vanity_base_fit)|valid_transform_species /datum/species/shapeshifter/get_icobase(var/mob/living/carbon/human/H, var/get_deform) if(!H) return ..(null, get_deform) @@ -79,7 +79,7 @@ var/list/wrapped_species_by_ref = list() /mob/living/carbon/human/proc/shapeshifter_select_hair() set name = "Select Hair" - set category = "Abilities" + set category = "Abilities.Shapeshift" if(stat || world.time < last_special) return @@ -109,7 +109,7 @@ var/list/wrapped_species_by_ref = list() valid_facialhairstyles += facialhairstyle - visible_message("\The [src]'s form contorts subtly.") + visible_message(span_notice("\The [src]'s form contorts subtly.")) if(valid_hairstyles.len) var/new_hair = tgui_input_list(usr, "Select a hairstyle.", "Shapeshifter Hair", valid_hairstyles) change_hair(new_hair ? new_hair : "Bald") @@ -123,7 +123,7 @@ var/list/wrapped_species_by_ref = list() /mob/living/carbon/human/proc/shapeshifter_select_gender() set name = "Select Gender" - set category = "Abilities" + set category = "Abilities.Shapeshift" if(stat || world.time < last_special) return @@ -138,14 +138,14 @@ var/list/wrapped_species_by_ref = list() if(!new_gender_identity) return - visible_message("\The [src]'s form contorts subtly.") + visible_message(span_notice("\The [src]'s form contorts subtly.")) change_gender(new_gender) change_gender_identity(new_gender_identity) /mob/living/carbon/human/proc/shapeshifter_select_shape() set name = "Select Body Shape" - set category = "Abilities" + set category = "Abilities.Shapeshift" if(stat || world.time < last_special) return @@ -165,14 +165,14 @@ var/list/wrapped_species_by_ref = list() return wrapped_species_by_ref["\ref[src]"] = new_species - visible_message("\The [src] shifts and contorts, taking the form of \a [new_species]!") + visible_message(span_infoplain(span_bold("\The [src]") + " shifts and contorts, taking the form of \a [new_species]!")) regenerate_icons() */ /mob/living/carbon/human/proc/shapeshifter_select_colour() set name = "Select Body Colour" - set category = "Abilities" + set category = "Abilities.Shapeshift" if(stat || world.time < last_special) return @@ -210,7 +210,7 @@ var/list/wrapped_species_by_ref = list() /mob/living/carbon/human/proc/shapeshifter_select_hair_colors() set name = "Select Hair Colors" - set category = "Abilities" + set category = "Abilities.Shapeshift" if(stat || world.time < last_special) return @@ -309,7 +309,7 @@ var/list/wrapped_species_by_ref = list() /mob/living/carbon/human/proc/shapeshifter_select_eye_colour() set name = "Select Eye Color" - set category = "Abilities" + set category = "Abilities.Shapeshift" if(stat || world.time < last_special) return diff --git a/code/modules/mob/living/carbon/human/species/species_shapeshift_vr.dm b/code/modules/mob/living/carbon/human/species/species_shapeshift_vr.dm index 1b7e3386dab..6dc8616210c 100644 --- a/code/modules/mob/living/carbon/human/species/species_shapeshift_vr.dm +++ b/code/modules/mob/living/carbon/human/species/species_shapeshift_vr.dm @@ -4,7 +4,7 @@ /mob/living/carbon/human/proc/shapeshifter_select_ears() set name = "Select Ears" - set category = "Abilities" + set category = "Abilities.Shapeshift" if(stat || world.time < last_special) return @@ -56,9 +56,41 @@ update_hair() //Includes Virgo ears +/mob/living/carbon/human/proc/shapeshifter_select_secondary_ears() + set name = "Select Secondary Ears" + set category = "Abilities.Shapeshift" + + if(stat || world.time < last_special) + return + last_special = world.time + 1 SECONDS + + // Construct the list of names allowed for this user. + var/list/pretty_ear_styles = list("Normal" = null) + for(var/path in ear_styles_list) + var/datum/sprite_accessory/ears/instance = ear_styles_list[path] + if((!instance.ckeys_allowed) || (ckey in instance.ckeys_allowed)) + pretty_ear_styles[instance.name] = path + + // Handle style pick + var/new_ear_style = tgui_input_list(src, "Pick some ears!", "Character Preference", pretty_ear_styles) + if(!new_ear_style) + return + ear_secondary_style = ear_styles_list[pretty_ear_styles[new_ear_style]] + + // Handle color picks + if(ear_secondary_style) + var/list/new_colors = list() + for(var/channel in 1 to ear_secondary_style.get_color_channel_count()) + var/channel_name = GLOB.fancy_sprite_accessory_color_channel_names[channel] + var/default = LAZYACCESS(ear_secondary_colors, channel) || "#ffffff" + var/new_color = input(usr, "Pick [channel_name]", "Ear Color ([channel_name])", default) as color | null + new_colors += new_color || default + + update_hair() + /mob/living/carbon/human/proc/shapeshifter_select_tail() set name = "Select Tail" - set category = "Abilities" + set category = "Abilities.Shapeshift" if(stat || world.time < last_special) return @@ -112,7 +144,7 @@ /mob/living/carbon/human/proc/shapeshifter_select_wings() set name = "Select Wings" - set category = "Abilities" + set category = "Abilities.Shapeshift" if(stat || world.time < last_special) return @@ -168,7 +200,7 @@ /mob/living/carbon/human/proc/promethean_select_opaqueness() set name = "Toggle Transparency" - set category = "Abilities" + set category = "Abilities.Shapeshift" if(stat || world.time < last_special) return @@ -177,7 +209,7 @@ for(var/obj/item/organ/external/L as anything in src.organs) L.transparent = !L.transparent - visible_message("\The [src]'s internal composition seems to change.") + visible_message(span_notice("\The [src]'s internal composition seems to change.")) update_icons_body() update_hair() @@ -189,5 +221,5 @@ species.base_species = new_species wrapped_species_by_ref["\ref[src]"] = new_species if (visible) - visible_message("\The [src] shifts and contorts, taking the form of \a [new_species]!") - regenerate_icons() \ No newline at end of file + visible_message(span_filter_notice(span_bold("\The [src]") + " shifts and contorts, taking the form of \a [new_species]!")) + regenerate_icons() diff --git a/code/modules/mob/living/carbon/human/species/species_vr.dm b/code/modules/mob/living/carbon/human/species/species_vr.dm index f6bf1a7a88b..9a994bc97d6 100644 --- a/code/modules/mob/living/carbon/human/species/species_vr.dm +++ b/code/modules/mob/living/carbon/human/species/species_vr.dm @@ -2,7 +2,7 @@ //This is so that if a race is using the chimera revive they can't use it more than once. //Shouldn't really be seen in play too often, but it's case an admin event happens and they give a non chimera the chimera revive. Only one person can use the chimera revive at a time per race. //var/reviving = 0 //commented out 'cause moved to mob - holder_type = /obj/item/weapon/holder/micro //This allows you to pick up crew + holder_type = /obj/item/holder/micro //This allows you to pick up crew min_age = 18 descriptors = list() @@ -45,6 +45,11 @@ var/list/food_preference = list() //RS edit var/food_preference_bonus = 0 + + // For Lleill and Hanner + var/lleill_energy = 200 + var/lleill_energy_max = 200 + /datum/species/unathi vore_belly_default_variant = "L" @@ -62,7 +67,7 @@ var/list/nif_savedata = H.nif.save_data.Copy()*/ ..() H.nif = null //A previous call during the rejuvenation path deleted it, so we no longer should have it here - /*var/obj/item/device/nif/nif = new type(H,durability,nif_savedata) + /*var/obj/item/nif/nif = new type(H,durability,nif_savedata) nif.nifsofts = nifsofts*/ else ..() diff --git a/code/modules/mob/living/carbon/human/species/station/alraune.dm b/code/modules/mob/living/carbon/human/species/station/alraune.dm index e4bfbc5b5e9..239f4a4e5a2 100644 --- a/code/modules/mob/living/carbon/human/species/station/alraune.dm +++ b/code/modules/mob/living/carbon/human/species/station/alraune.dm @@ -138,7 +138,7 @@ if(!breath || (breath.total_moles == 0)) H.failed_last_breath = 1 - if(H.health > config.health_threshold_crit) + if(H.health > CONFIG_GET(number/health_threshold_crit)) H.adjustOxyLoss(ALRAUNE_MAX_OXYLOSS) else H.adjustOxyLoss(ALRAUNE_CRIT_MAX_OXYLOSS) @@ -260,10 +260,10 @@ if(breath.temperature <= breath_cold_level_1) if(prob(20)) - to_chat(H, "You feel icicles forming on your skin!") + to_chat(H, span_danger("You feel icicles forming on your skin!")) else if(breath.temperature >= breath_heat_level_1) if(prob(20)) - to_chat(H, "You feel yourself smouldering in the heat!") + to_chat(H, span_danger("You feel yourself smouldering in the heat!")) var/bodypart = pick(BP_L_FOOT,BP_R_FOOT,BP_L_LEG,BP_R_LEG,BP_L_ARM,BP_R_ARM,BP_L_HAND,BP_R_HAND,BP_TORSO,BP_GROIN,BP_HEAD) if(breath.temperature >= breath_heat_level_1) @@ -369,9 +369,9 @@ if(reagents) if(reagents.total_volume == reagents.maximum_volume * 0.05) - to_chat(organ_owner, "[pick(empty_message)]") + to_chat(organ_owner, span_notice("[pick(empty_message)]")) else if(reagents.total_volume == reagents.maximum_volume && before_gen < reagents.maximum_volume) - to_chat(organ_owner, "[pick(full_message)]") + to_chat(organ_owner, span_warning("[pick(full_message)]")) /obj/item/organ/internal/fruitgland/proc/do_generation() organ_owner.adjust_nutrition(-gen_cost) @@ -382,7 +382,7 @@ /mob/living/carbon/human/proc/alraune_fruit_select() //So if someone doesn't want fruit/vegetables, they don't have to select one. set name = "Select fruit" set desc = "Select what fruit/vegetable you wish to grow." - set category = "Abilities" + set category = "Abilities.Alraune" var/obj/item/organ/internal/fruitgland/fruit_gland for(var/F in contents) if(istype(F, /obj/item/organ/internal/fruitgland)) @@ -393,13 +393,13 @@ var/selection = tgui_input_list(src, "Choose your character's fruit type. Choosing nothing will result in a default of apples.", "Fruit Type", acceptable_fruit_types) if(selection) fruit_gland.fruit_type = selection - verbs |= /mob/living/carbon/human/proc/alraune_fruit_pick - verbs -= /mob/living/carbon/human/proc/alraune_fruit_select + add_verb(src, /mob/living/carbon/human/proc/alraune_fruit_pick) + remove_verb(src, /mob/living/carbon/human/proc/alraune_fruit_select) fruit_gland.organ_owner = src fruit_gland.emote_descriptor = list("fruit right off of [fruit_gland.organ_owner]!", "a fruit from [fruit_gland.organ_owner]!") else - to_chat(src, "You lack the organ required to produce fruit.") + to_chat(src, span_notice("You lack the organ required to produce fruit.")) return /mob/living/carbon/human/proc/alraune_fruit_pick() @@ -422,7 +422,7 @@ break if (fruit_gland) //Do they have the gland? if(fruit_gland.reagents.total_volume < fruit_gland.transfer_amount) - to_chat(src, "[pick(fruit_gland.empty_message)]") + to_chat(src, span_notice("[pick(fruit_gland.empty_message)]")) return var/datum/seed/S = SSplants.seeds["[fruit_gland.fruit_type]"] @@ -434,11 +434,11 @@ var/emote = fruit_gland.emote_descriptor[index] var/verb_desc = fruit_gland.verb_descriptor[index] var/self_verb_desc = fruit_gland.self_verb_descriptor[index] - usr.visible_message("[usr] [verb_desc] [emote]", - "You [self_verb_desc] [emote]") + usr.visible_message(span_notice("[usr] [verb_desc] [emote]"), + span_notice("You [self_verb_desc] [emote]")) else - visible_message("[src] [pick(fruit_gland.short_emote_descriptor)] a fruit.", - "You [pick(fruit_gland.self_emote_descriptor)] a fruit.") + visible_message(span_notice("[src] [pick(fruit_gland.short_emote_descriptor)] a fruit."), + span_notice("You [pick(fruit_gland.self_emote_descriptor)] a fruit.")) fruit_gland.reagents.remove_any(fruit_gland.transfer_amount) diff --git a/code/modules/mob/living/carbon/human/species/station/blank_vr.dm b/code/modules/mob/living/carbon/human/species/station/blank_vr.dm index 6770386fbd3..f9b648393c9 100644 --- a/code/modules/mob/living/carbon/human/species/station/blank_vr.dm +++ b/code/modules/mob/living/carbon/human/species/station/blank_vr.dm @@ -71,14 +71,14 @@ . = ..() if(breath_type != "oxygen") H.equip_to_slot_or_del(new /obj/item/clothing/mask/breath(H), slot_wear_mask) - var/obj/item/weapon/tank/tankpath + var/obj/item/tank/tankpath if(breath_type == "phoron") - tankpath = /obj/item/weapon/tank/vox + tankpath = /obj/item/tank/vox else - tankpath = text2path("/obj/item/weapon/tank/" + breath_type) + tankpath = text2path("/obj/item/tank/" + breath_type) if(tankpath) H.equip_to_slot_or_del(new tankpath(H), slot_r_hand) H.internal = H.r_hand - if(istype(H.internal,/obj/item/weapon/tank) && H.internals) + if(istype(H.internal,/obj/item/tank) && H.internals) H.internals.icon_state = "internal1" diff --git a/code/modules/mob/living/carbon/human/species/station/golem.dm b/code/modules/mob/living/carbon/human/species/station/golem.dm index d2bc9dc1dd4..2353fcaa6d8 100644 --- a/code/modules/mob/living/carbon/human/species/station/golem.dm +++ b/code/modules/mob/living/carbon/human/species/station/golem.dm @@ -31,8 +31,8 @@ /datum/species/golem/handle_post_spawn(var/mob/living/carbon/human/H) if(H.mind) - H.mind.assigned_role = "Golem" - H.mind.special_role = "Golem" + H.mind.assigned_role = JOB_GOLEM + H.mind.special_role = JOB_GOLEM H.real_name = "adamantine golem ([rand(1, 1000)])" H.name = H.real_name - ..() \ No newline at end of file + ..() diff --git a/code/modules/mob/living/carbon/human/species/station/monkey.dm b/code/modules/mob/living/carbon/human/species/station/monkey.dm index f90a61111cc..c24ff5a123e 100644 --- a/code/modules/mob/living/carbon/human/species/station/monkey.dm +++ b/code/modules/mob/living/carbon/human/species/station/monkey.dm @@ -25,7 +25,7 @@ unarmed_types = list(/datum/unarmed_attack/bite, /datum/unarmed_attack/claws) inherent_verbs = list(/mob/living/proc/ventcrawl) hud_type = /datum/hud_data/monkey - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat/monkey + meat_type = /obj/item/reagent_containers/food/snacks/meat/monkey rarity_value = 0.1 total_health = 75 diff --git a/code/modules/mob/living/carbon/human/species/station/prometheans.dm b/code/modules/mob/living/carbon/human/species/station/prometheans.dm index 1574a1636ec..4f0d2d48479 100644 --- a/code/modules/mob/living/carbon/human/species/station/prometheans.dm +++ b/code/modules/mob/living/carbon/human/species/station/prometheans.dm @@ -138,17 +138,17 @@ var/datum/species/shapeshifter/promethean/prometheans prometheans = src /datum/species/shapeshifter/promethean/equip_survival_gear(var/mob/living/carbon/human/H) - var/boxtype = pick(list(/obj/item/weapon/storage/toolbox/lunchbox, - /obj/item/weapon/storage/toolbox/lunchbox/heart, - /obj/item/weapon/storage/toolbox/lunchbox/cat, - /obj/item/weapon/storage/toolbox/lunchbox/nt, - /obj/item/weapon/storage/toolbox/lunchbox/mars, - /obj/item/weapon/storage/toolbox/lunchbox/cti, - /obj/item/weapon/storage/toolbox/lunchbox/nymph, - /obj/item/weapon/storage/toolbox/lunchbox/syndicate)) //Only pick the empty types - var/obj/item/weapon/storage/toolbox/lunchbox/L = new boxtype(get_turf(H)) - new /obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar(L) - new /obj/item/weapon/tool/prybar/red(L) //VOREStation Add, + var/boxtype = pick(list(/obj/item/storage/toolbox/lunchbox, + /obj/item/storage/toolbox/lunchbox/heart, + /obj/item/storage/toolbox/lunchbox/cat, + /obj/item/storage/toolbox/lunchbox/nt, + /obj/item/storage/toolbox/lunchbox/mars, + /obj/item/storage/toolbox/lunchbox/cti, + /obj/item/storage/toolbox/lunchbox/nymph, + /obj/item/storage/toolbox/lunchbox/syndicate)) //Only pick the empty types + var/obj/item/storage/toolbox/lunchbox/L = new boxtype(get_turf(H)) + new /obj/item/reagent_containers/food/snacks/candy/proteinbar(L) + new /obj/item/tool/prybar/red(L) //VOREStation Add, if(H.backbag == 1) H.equip_to_slot_or_del(L, slot_r_hand) else @@ -175,8 +175,8 @@ var/datum/species/shapeshifter/promethean/prometheans if(FEMALE) t_him = "her" - H.visible_message("\The [H] glomps [target] to make [t_him] feel better!", \ - "You glomp [target] to make [t_him] feel better!") + H.visible_message(span_infoplain(span_bold("\The [H]") + " glomps [target] to make [t_him] feel better!"), \ + span_notice("You glomp [target] to make [t_him] feel better!")) H.apply_stored_shock_to(target) /datum/species/shapeshifter/promethean/handle_death(var/mob/living/carbon/human/H) @@ -362,6 +362,6 @@ var/datum/species/shapeshifter/promethean/prometheans if(11 to 20) return "[t_she] glowing gently with moderate levels of electrical activity.\n" if(21 to 35) - return "[t_she] glowing brightly with high levels of electrical activity." + return span_warning("[t_she] glowing brightly with high levels of electrical activity.") if(35 to INFINITY) - return "[t_she] radiating massive levels of electrical activity!" + return span_danger("[t_she] radiating massive levels of electrical activity!") diff --git a/code/modules/mob/living/carbon/human/species/station/prometheans_vr.dm b/code/modules/mob/living/carbon/human/species/station/prometheans_vr.dm index ddf634e56ec..614613ace56 100644 --- a/code/modules/mob/living/carbon/human/species/station/prometheans_vr.dm +++ b/code/modules/mob/living/carbon/human/species/station/prometheans_vr.dm @@ -31,6 +31,7 @@ /mob/living/carbon/human/proc/shapeshifter_select_wings, /mob/living/carbon/human/proc/shapeshifter_select_tail, /mob/living/carbon/human/proc/shapeshifter_select_ears, + /mob/living/carbon/human/proc/shapeshifter_select_secondary_ears, /mob/living/carbon/human/proc/prommie_blobform, /mob/living/proc/set_size, /mob/living/carbon/human/proc/promethean_select_opaqueness, @@ -39,24 +40,24 @@ /mob/living/carbon/human/proc/prommie_blobform() set name = "Toggle Blobform" set desc = "Switch between amorphous and humanoid forms." - set category = "Abilities" + set category = "Abilities.Promethean" set hidden = FALSE var/atom/movable/to_locate = temporary_form || src if(!isturf(to_locate.loc)) - to_chat(to_locate,"You need more space to perform this action!") + to_chat(to_locate,span_warning("You need more space to perform this action!")) return /* //Blob form if(temporary_form) if(temporary_form.stat) - to_chat(temporary_form,"You can only do this while not stunned.") + to_chat(temporary_form,span_warning("You can only do this while not stunned.")) else prommie_outofblob(temporary_form) */ //Human form else if(stat || paralysis || stunned || weakened || restrained()) - to_chat(src,"You can only do this while not stunned.") + to_chat(src,span_warning("You can only do this while not stunned.")) return else prommie_intoblob() @@ -75,4 +76,4 @@ spawn(1) if(H) - H.gib() \ No newline at end of file + H.gib() diff --git a/code/modules/mob/living/carbon/human/species/station/prommie_blob.dm b/code/modules/mob/living/carbon/human/species/station/prommie_blob.dm index ce68197264d..ad51161bc97 100644 --- a/code/modules/mob/living/carbon/human/species/station/prommie_blob.dm +++ b/code/modules/mob/living/carbon/human/species/station/prommie_blob.dm @@ -12,13 +12,15 @@ //appearance_flags = RADIATION_GLOWS shock_resist = 0 // Lets not be immune to zaps. friendly = list("nuzzles", "glomps", "snuggles", "cuddles", "squishes") // lets be cute :3 - melee_damage_upper = 0 - melee_damage_lower = 0 + harm_intent_damage = 3 + melee_damage_lower = 5 + melee_damage_upper = 5 player_msg = "You're a little squisher! Your cuteness level has increased tenfold." heat_damage_per_tick = 20 // Hot and cold are bad, but cold is AS bad for prommies as it is for slimes. cold_damage_per_tick = 20 //glow_range = 0 //glow_intensity = 0 + has_hands = 1 // brings in line with Proteans' own blob form. var/mob/living/carbon/human/humanform var/datum/modifier/healing @@ -42,15 +44,14 @@ /decl/emote/visible/floorspin ) /mob/living/simple_mob/slime/promethean/Initialize(mapload, null) - //verbs -= /mob/living/proc/ventcrawl - verbs += /mob/living/simple_mob/slime/promethean/proc/prommie_blobform - verbs += /mob/living/proc/set_size - verbs += /mob/living/proc/hide - verbs += /mob/living/simple_mob/proc/animal_nom - verbs += /mob/living/proc/shred_limb - verbs += /mob/living/simple_mob/slime/promethean/proc/toggle_expand - verbs += /mob/living/simple_mob/slime/promethean/proc/prommie_select_colour - verbs += /mob/living/simple_mob/slime/promethean/proc/toggle_shine + add_verb(src, /mob/living/simple_mob/slime/promethean/proc/prommie_blobform) + add_verb(src, /mob/living/proc/set_size) + add_verb(src, /mob/living/proc/hide) + add_verb(src, /mob/living/simple_mob/proc/animal_nom) + add_verb(src, /mob/living/proc/shred_limb) + add_verb(src, /mob/living/simple_mob/slime/promethean/proc/toggle_expand) + add_verb(src, /mob/living/simple_mob/slime/promethean/proc/prommie_select_colour) + add_verb(src, /mob/living/simple_mob/slime/promethean/proc/toggle_shine) update_mood() if(rad_glow) rad_glow = CLAMP(rad_glow,0,250) @@ -81,12 +82,19 @@ QDEL_NULL(stored_blob) return ..() -/mob/living/simple_mob/slime/promethean/Stat() - ..() +/mob/living/simple_mob/slime/promethean/update_misc_tabs() + . = ..() if(humanform) - humanform.species.Stat(humanform) + humanform.species.update_misc_tabs(src) /mob/living/simple_mob/slime/promethean/handle_special() // Should disable default slime healing, we'll use nutrition based heals instead. +// They already heal from their carbon form while even in slime form, but this is for a small bonus healing for being unformed. + adjustOxyLoss(-0.2) + adjustToxLoss(-0.2) + adjustFireLoss(-0.2) + adjustCloneLoss(-0.2) + adjustBruteLoss(-0.2) + adjustHalLoss(-6) // HalLoss ticks down FAST if(rad_glow) rad_glow = CLAMP(rad_glow,0,250) set_light(max(1,min(5,rad_glow/15)), max(1,min(10,rad_glow/25)), color) @@ -236,25 +244,25 @@ /mob/living/simple_mob/slime/promethean/proc/prommie_blobform() set name = "Toggle Blobform" set desc = "Switch between amorphous and humanoid forms." - set category = "Abilities" + set category = "Abilities.Promethean" set hidden = FALSE var/atom/movable/to_locate = src if(!isturf(to_locate.loc)) - to_chat(src,"You need more space to perform this action!") + to_chat(src,span_warning("You need more space to perform this action!")) return //Blob form if(!ishuman(src)) if(humanform.temporary_form.stat || paralysis || stunned || weakened || restrained()) - to_chat(src,"You can only do this while not stunned.") + to_chat(src,span_warning("You can only do this while not stunned.")) else humanform.prommie_outofblob(src) /mob/living/simple_mob/slime/promethean/proc/toggle_expand() set name = "Toggle Width" set desc = "Switch between smole and lorge." - set category = "Abilities" + set category = "Abilities.Promethean" set hidden = FALSE if(stat || world.time < last_special) @@ -264,17 +272,17 @@ if(is_wide) is_wide = FALSE - src.visible_message("[src.name] pulls together, compacting themselves into a small ball!") + src.visible_message(span_infoplain(span_bold("[src.name]") + " pulls together, compacting themselves into a small ball!")) update_icon() else is_wide = TRUE - src.visible_message("[src.name] flows outwards, their goop expanding!") + src.visible_message(span_infoplain(span_bold("[src.name]") + " flows outwards, their goop expanding!")) update_icon() /mob/living/simple_mob/slime/promethean/proc/toggle_shine() set name = "Toggle Shine" set desc = "Shine on you crazy diamond." - set category = "Abilities" + set category = "Abilities.Promethean" set hidden = FALSE if(stat || world.time < last_special) @@ -284,24 +292,24 @@ if(shiny) shiny = FALSE - src.visible_message("[src.name] dulls their shine, becoming more translucent.") + src.visible_message(span_infoplain(span_bold("[src.name]") + " dulls their shine, becoming more translucent.")) update_icon() else shiny = TRUE - src.visible_message("[src.name] glistens and sparkles, shining brilliantly.") + src.visible_message(span_infoplain(span_bold("[src.name]") + " glistens and sparkles, shining brilliantly.")) update_icon() /mob/living/simple_mob/slime/promethean/proc/prommie_select_colour() set name = "Select Body Colour" - set category = "Abilities" + set category = "Abilities.Promethean" if(stat || world.time < last_special) return last_special = world.time + 25 - var/new_skin = input(usr, "Please select a new body color.", "Shapeshifter Colour", color) as null|color + var/new_skin = input(src, "Please select a new body color.", "Shapeshifter Colour", color) as null|color if(!new_skin) return color = new_skin @@ -326,7 +334,7 @@ // Helpers - Unsafe, WILL perform change. /mob/living/carbon/human/proc/prommie_intoblob(force) if(!force && !isturf(loc)) - to_chat(src,"You can't change forms while inside something.") + to_chat(src,span_warning("You can't change forms while inside something.")) return handle_grasp() //It's possible to blob out before some key parts of the life loop. This results in things getting dropped at null. TODO: Fix the code so this can be done better. @@ -369,25 +377,14 @@ drop_from_inventory(H) things_to_drop -= H - for(var/obj/item/I in things_to_drop) //rip hoarders - drop_from_inventory(I) - - if(w_uniform && istype(w_uniform,/obj/item/clothing)) //No webbings tho. We do this after in case a suit was in the way - var/obj/item/clothing/uniform = w_uniform - if(LAZYLEN(uniform.accessories)) - for(var/obj/item/clothing/accessory/A in uniform.accessories) - if(is_type_in_list(A, disallowed_protean_accessories)) - uniform.remove_accessory(null,A) //First param is user, but adds fingerprints and messages - //Size update blob.transform = matrix()*size_multiplier blob.size_multiplier = size_multiplier - if(l_hand) blob.prev_left_hand = l_hand //Won't save them if dropped above, but necessary if handdrop is disabled. - if(r_hand) blob.prev_right_hand = r_hand + if(l_hand) drop_from_inventory(l_hand) + if(r_hand) drop_from_inventory(r_hand) //Put our owner in it (don't transfer var/mind) - blob.Weaken(2) blob.transforming = TRUE blob.ckey = ckey blob.ooc_notes = ooc_notes @@ -395,6 +392,7 @@ blob.ooc_notes_dislikes = ooc_notes_dislikes blob.transforming = FALSE blob.name = name + blob.real_name = real_name blob.nutrition = nutrition blob.color = rgb(r_skin, g_skin, b_skin) playsound(src.loc, "sound/effects/slime_squish.ogg", 15) @@ -409,14 +407,26 @@ new_hat.forceMove(src) blob.update_icon() - blob.verbs -= /mob/living/proc/ventcrawl // Absolutely not. - blob.verbs -= /mob/living/simple_mob/proc/set_name // We already have a name. + remove_verb(blob, /mob/living/proc/ventcrawl) // Absolutely not. + remove_verb(blob, /mob/living/simple_mob/proc/set_name) // We already have a name. temporary_form = blob + + var/obj/item/radio/R = null + if(isradio(l_ear)) + R = l_ear + if(isradio(r_ear)) + R = r_ear + if(R) + blob.mob_radio = R + R.forceMove(blob) + if(wear_id) + blob.myid = wear_id.GetID() + //Mail them to nullspace moveToNullspace() //Message - blob.visible_message("[src.name] squishes into their true form!") + blob.visible_message(span_infoplain(span_bold("[src.name]") + " squishes into their true form!")) //Transfer vore organs blob.vore_organs = vore_organs @@ -436,7 +446,7 @@ return if(!force && !isturf(blob.loc)) - to_chat(blob,"You can't change forms while inside something.") + to_chat(blob,span_warning("You can't change forms while inside something.")) return if(buckled) @@ -449,7 +459,7 @@ stop_pulling() //Message - blob.visible_message("[src.name] pulls together, forming a humanoid shape!") + blob.visible_message(span_infoplain(span_bold("[src.name]") + " pulls together, forming a humanoid shape!")) //Record where they should go var/atom/reform_spot = blob.drop_location() @@ -461,7 +471,6 @@ forceMove(reform_spot) //Put our owner in it (don't transfer var/mind) - Weaken(2) playsound(src.loc, "sound/effects/slime_squish.ogg", 15) transforming = TRUE ckey = blob.ckey @@ -494,8 +503,15 @@ B.owner = src //vore_organs.Cut() - if(blob.prev_left_hand) put_in_l_hand(blob.prev_left_hand) //The restore for when reforming. - if(blob.prev_right_hand) put_in_r_hand(blob.prev_right_hand) + + if(blob.l_hand) blob.drop_from_inventory(blob.l_hand) + if(blob.r_hand) blob.drop_from_inventory(blob.r_hand) + + if(blob.mob_radio) + blob.mob_radio.forceMove(src) + blob.mob_radio = null + if(blob.myid) + blob.myid = null Life(1) //Fix my blindness right meow //Has to be moved up here, there exists a circumstance where blob could be deleted without vore organs moving right. @@ -523,3 +539,8 @@ else if(humanform.say_understands(other, speaking)) //So they're speaking something other than promethean or sign, let's just ask our original mob if it understands return TRUE else return FALSE + +/mob/living/simple_mob/slime/promethean/character_directory_species() + if (humanform) + return "[humanform.custom_species ? humanform.custom_species : (humanform.species ? humanform.species.name : "Promethean Blob")]" + return "Promethean Blob" diff --git a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_blob.dm b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_blob.dm index 6a397f985fa..961fc177bce 100644 --- a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_blob.dm +++ b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_blob.dm @@ -5,22 +5,22 @@ tt_desc = "Animated nanogoop" icon = 'icons/mob/species/protean/protean.dmi' icon_state = "to_puddle" - icon_living = "puddle2" - icon_rest = "rest" - icon_dead = "puddle" + icon_living = "puddle0-eyes" //Null icon, since we're made of overlays now. + icon_rest = "puddle0-eyes" + icon_dead = "puddle0-eyes" - faction = "neutral" + faction = FACTION_NEUTRAL maxHealth = 200 health = 200 say_list_type = /datum/say_list/protean_blob show_stat_health = FALSE //We will do it ourselves - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "hits" + response_help = "pets the" + response_disarm = "gently pushes aside the " + response_harm = "hits the" - harm_intent_damage = 2 + harm_intent_damage = 3 melee_damage_lower = 5 melee_damage_upper = 5 attacktext = list("slashed") @@ -34,22 +34,32 @@ min_n2 = 0 max_n2 = 0 minbodytemp = 0 - maxbodytemp = 900 - movement_cooldown = -0.5 // Should mean that the little blurb about being quicker in blobform rings true. May need further adjusting. + maxbodytemp = 1100 + movement_cooldown = 0 + hunger_rate = 0 var/mob/living/carbon/human/humanform var/obj/item/organ/internal/nano/refactory/refactory var/datum/modifier/healing - var/obj/prev_left_hand - var/obj/prev_right_hand - var/human_brute = 0 var/human_burn = 0 - player_msg = "In this form, you can move a little faster, your health will regenerate as long as you have metal in you, and you can ventcrawl!" + player_msg = "In this form, your health will regenerate as long as you have metal in you." + + can_buckle = 1 + buckle_lying = 1 + mount_offset_x = 0 + mount_offset_y = 0 + has_hands = 1 + shock_resist = 1 + nameset = 1 + holder_type = /obj/item/holder/protoblob + var/hiding = 0 + vore_icons = 1 + vore_active = 1 - can_buckle = TRUE //Blobsurfing + plane = ABOVE_MOB_PLANE //Necessary for overlay based icons /datum/say_list/protean_blob speak = list("Blrb?","Sqrsh.","Glrsh!") @@ -63,14 +73,88 @@ humanform = H updatehealth() refactory = locate() in humanform.internal_organs - verbs |= /mob/living/proc/ventcrawl - verbs |= /mob/living/proc/hide + add_verb(src,/mob/living/proc/ventcrawl) + add_verb(src,/mob/living/proc/usehardsuit) + add_verb(src,/mob/living/simple_mob/protean_blob/proc/nano_partswap) + add_verb(src,/mob/living/simple_mob/protean_blob/proc/nano_regenerate) + add_verb(src,/mob/living/simple_mob/protean_blob/proc/nano_metalnom) + add_verb(src,/mob/living/simple_mob/protean_blob/proc/nano_blobform) + add_verb(src,/mob/living/simple_mob/protean_blob/proc/nano_rig_transform) + add_verb(src,/mob/living/simple_mob/protean_blob/proc/appearance_switch) + add_verb(src,/mob/living/simple_mob/protean_blob/proc/nano_latch) else update_icon() + add_verb(src,/mob/living/simple_mob/proc/animal_mount) + add_verb(src,/mob/living/proc/toggle_rider_reins) + +//Hidden verbs for macro hotkeying +/mob/living/simple_mob/protean_blob/proc/nano_partswap() + set name = "Ref - Single Limb" + set desc = "Allows you to replace and reshape your limbs as you see fit." + //set category = "Abilities.Protean" + set hidden = 1 + humanform.nano_partswap() + +/mob/living/simple_mob/protean_blob/proc/nano_regenerate() + set name = "Total Reassembly (wip)" + set desc = "Completely reassemble yourself from whatever save slot you have loaded in preferences. Assuming you meet the requirements." + //set category = "Abilities.Protean" + set hidden = 1 + humanform.nano_regenerate() + +/mob/living/simple_mob/protean_blob/proc/nano_blobform() + set name = "Toggle Blobform" + set desc = "Switch between amorphous and humanoid forms." + //set category = "Abilities.Protean" + set hidden = 1 + humanform.nano_blobform() + +/mob/living/simple_mob/protean_blob/proc/nano_metalnom() + set name = "Ref - Store Metals" + set desc = "If you're holding a stack of material, you can consume some and store it for later." + //set category = "Abilities.Protean" + set hidden = 1 + humanform.nano_metalnom() + +/mob/living/simple_mob/protean_blob/proc/nano_rig_transform() + set name = "Modify Form - Hardsuit" + set desc = "Allows a protean to retract its mass into its hardsuit module at will." + //set category = "Abilities.Protean" + set hidden = 1 + humanform.nano_rig_transform() + +/mob/living/simple_mob/protean_blob/proc/appearance_switch() + set name = "Switch Blob Appearance" + set desc = "Allows a protean blob to switch its outwards appearance." + //set category = "Abilities.Protean" + set hidden = 1 + humanform.appearance_switch() + +/mob/living/simple_mob/protean_blob/proc/nano_latch() + set name = "Latch/Unlatch host" + set desc = "Allows a protean to forcibly latch or unlatch from a host." + //set category = "Abilities.Protean" + set hidden = 1 + humanform.nano_latch() /mob/living/simple_mob/protean_blob/Login() - . = ..() - copy_from_prefs_vr(bellies = FALSE) //Load vore prefs + ..() + plane_holder.set_vis(VIS_AUGMENTED, 1) + plane_holder.set_vis(VIS_CH_HEALTH_VR, 1) + plane_holder.set_vis(VIS_CH_ID, 1) + plane_holder.set_vis(VIS_CH_STATUS_R, 1) + plane_holder.set_vis(VIS_CH_BACKUP, 1) //Gonna need these so we can see the status of our host. Could probably write it so this only happens when worn, but eeehhh + if(!riding_datum) + riding_datum = new /datum/riding/simple_mob/protean_blob(src) + +/datum/riding/simple_mob/protean_blob/handle_vehicle_layer() + ridden.layer = OBJ_LAYER + +/mob/living/simple_mob/protean_blob/MouseDrop_T() + return + +/mob/living/simple_mob/protean_blob/runechat_y_offset(width, height) + return (..()) - (20*size_multiplier) /mob/living/simple_mob/protean_blob/Destroy() humanform = null @@ -90,60 +174,44 @@ /mob/living/simple_mob/protean_blob/speech_bubble_appearance() return "synthetic" -/mob/living/simple_mob/protean_blob/get_available_emotes() - return global._robot_default_emotes.Copy() - /mob/living/simple_mob/protean_blob/init_vore() return //Don't make a random belly, don't waste your time /mob/living/simple_mob/protean_blob/isSynthetic() return TRUE // yup -/mob/living/simple_mob/protean_blob/Stat() - ..() - if(humanform) - humanform.species.Stat(humanform) +/mob/living/simple_mob/protean_blob/get_available_emotes() + var/list/fulllist = global._robot_default_emotes.Copy() + fulllist |= global._human_default_emotes //they're living nanites, they can make whatever sounds they want + return fulllist -/mob/living/simple_mob/protean_blob/update_icon() +/mob/living/simple_mob/protean_blob/update_misc_tabs() + . = ..() if(humanform) - //Still have a refactory - if(istype(refactory)) - icon_living = "puddle2" - - //Else missing one - else - icon_living = "puddle1" - - //Not human-based - else - icon_living = "puddle0" - - ..() + humanform.species.update_misc_tabs(src) /mob/living/simple_mob/protean_blob/updatehealth() + if(humanform.nano_dead_check(src)) + return if(!humanform) return ..() //Set the max maxHealth = humanform.getMaxHealth()*2 //HUMANS, and their 'double health', bleh. - //Set us to their health, but, human health ignores robolimbs so we do it 'the hard way' human_brute = humanform.getActualBruteLoss() human_burn = humanform.getActualFireLoss() - health = maxHealth - humanform.getOxyLoss() - humanform.getToxLoss() - humanform.getCloneLoss() - human_brute - human_burn + health = maxHealth - humanform.getOxyLoss() - humanform.getToxLoss() - humanform.getCloneLoss() - humanform.getBruteLoss() - humanform.getFireLoss() //Alive, becoming dead if((stat < DEAD) && (health <= 0)) - death() + humanform.death() + + nutrition = humanform.nutrition //Overhealth if(health > getMaxHealth()) health = getMaxHealth() - //Grab any other interesting values - confused = humanform.confused - radiation = humanform.radiation - paralysis = humanform.paralysis - //Update our hud if we have one if(healths) if(stat != DEAD) @@ -174,14 +242,12 @@ return ..() /mob/living/simple_mob/protean_blob/adjustBruteLoss(var/amount,var/include_robo) - amount *= 1.5 if(humanform) return humanform.adjustBruteLoss(amount) else return ..() /mob/living/simple_mob/protean_blob/adjustFireLoss(var/amount,var/include_robo) - amount *= 1.5 if(humanform) return humanform.adjustFireLoss(amount) else @@ -211,6 +277,12 @@ else return ..() +/mob/living/simple_mob/protean_blob/adjust_nutrition(amount) + if(humanform) + return humanform.adjust_nutrition(amount) + else + return ..() + /mob/living/simple_mob/protean_blob/emp_act(severity) if(humanform) return humanform.emp_act(severity) @@ -224,8 +296,10 @@ return ..() /mob/living/simple_mob/protean_blob/rad_act(severity) + if(istype(loc, /obj/item/rig)) + return //Don't irradiate us while we're in rig mode if(humanform) - return humanform.ex_act(severity) + return humanform.rad_act(severity) else return ..() @@ -235,38 +309,55 @@ else return ..() -/mob/living/simple_mob/protean_blob/death(gibbed, deathmessage = "dissolves away, leaving only a few spare parts!") +/mob/living/simple_mob/protean_blob/death(gibbed, deathmessage = "Coalesces inwards, retreating into their core componants") if(humanform) humanform.death(gibbed, deathmessage) else animate(src, alpha = 0, time = 2 SECONDS) sleep(2 SECONDS) - if(!QDELETED(src)) // Human's handle death should have taken us, but maybe we were adminspawned or something without a human counterpart - qdel(src) - /mob/living/simple_mob/protean_blob/Life() . = ..() - if(. && istype(refactory) && humanform) - if(!healing && (human_brute || human_burn) && refactory.get_stored_material(MAT_STEEL) >= 100) - healing = humanform.add_modifier(/datum/modifier/protean/steel, origin = refactory) - else if(healing && !(human_brute || human_burn)) + if(!humanform.nano_dead_check(src)) + if(. && istype(refactory) && humanform) + if(!healing && (human_brute || human_burn) && refactory.get_stored_material(MAT_STEEL) >= 100) + healing = humanform.add_modifier(/datum/modifier/protean/steel, origin = refactory) + else if(healing && !(human_brute || human_burn)) + healing.expire() + healing = null + else + if(healing) healing.expire() healing = null /mob/living/simple_mob/protean_blob/lay_down() + var/obj/item/rig/rig = src.get_rig() + if(rig) + rig.force_rest(src) + return ..() - if(resting) - animate(src,alpha = 40,time = 1 SECOND) + +/mob/living/simple_mob/protean_blob/verb/prot_hide() + set name = "Hide Self" + set desc = "Disperses your mass into a thin veil, making a trap to snatch prey with, or simply hide." + set category = "Abilities.Protean" + + if(!hiding) + cut_overlays() + icon = 'icons/mob/species/protean/protean.dmi' + icon_state = "hide" + sleep(7) mouse_opacity = 0 plane = ABOVE_OBJ_PLANE + hiding = 1 else + icon = 'icons/mob/species/protean/protean.dmi' mouse_opacity = 1 icon_state = "wake" - animate(src,alpha = 255,time = 1 SECOND) - plane = MOB_PLANE + plane = initial(plane) sleep(7) update_icon() + hiding = 0 //Potential glob noms if(can_be_drop_pred) //Toggleable in vore panel var/list/potentials = living_mobs(0) @@ -276,21 +367,15 @@ if(target.buckled) target.buckled.unbuckle_mob(target, force = TRUE) target.forceMove(vore_selected) - to_chat(target,"\The [src] quickly engulfs you, [vore_selected.vore_verb]ing you into their [vore_selected.name]!") + to_chat(target,span_warning("\The [src] quickly engulfs you, [vore_selected.vore_verb]ing you into their [vore_selected.name]!")) + update_canmove() -/mob/living/simple_mob/protean_blob/attack_target(var/atom/A) - if(refactory && istype(A,/obj/item/stack/material)) - var/obj/item/stack/material/S = A - var/substance = S.material.name - var allowed = FALSE - for(var/material in PROTEAN_EDIBLE_MATERIALS) - if(material == substance) allowed = TRUE - if(!allowed) - return - if(refactory.add_stored_material(S.material.name,1*S.perunit) && S.use(1)) - visible_message("[name] gloms over some of \the [S], absorbing it.") +/mob/living/simple_mob/protean_blob/update_canmove() + if(hiding) + canmove = 0 + return canmove else - return ..() + ..() /mob/living/simple_mob/protean_blob/attackby(var/obj/item/O, var/mob/user) if(refactory && istype(O,/obj/item/stack/material)) @@ -302,7 +387,20 @@ if(!allowed) return if(refactory.add_stored_material(S.material.name,1*S.perunit) && S.use(1)) - visible_message("[name] gloms over some of \the [S], absorbing it.") + visible_message(span_infoplain(span_bold("[name]") + " gloms over some of \the [S], absorbing it.")) + else + return ..() + +/mob/living/simple_mob/protean_blob/attack_hand(mob/living/L) + if(L.get_effective_size() >= (src.get_effective_size() + 0.5) ) + src.get_scooped(L) + else + ..() + +/mob/living/simple_mob/protean_blob/MouseDrop(var/atom/over_object) + if(ishuman(over_object) && usr == src && src.Adjacent(over_object)) + var/mob/living/carbon/human/H = over_object + get_scooped(H, TRUE) else return ..() @@ -311,190 +409,225 @@ return ..() -var/global/list/disallowed_protean_accessories = list( - /obj/item/clothing/accessory/holster, - /obj/item/clothing/accessory/storage, - /obj/item/clothing/accessory/armor - ) +/mob/living/simple_mob/protean_blob/character_directory_species() + if (humanform) + return "[humanform.custom_species ? humanform.custom_species : (humanform.species ? humanform.species.name : "Protean")]" + return "Protean" // Helpers - Unsafe, WILL perform change. /mob/living/carbon/human/proc/nano_intoblob(force) - if(!force && !isturf(loc)) - to_chat(src,"You can't change forms while inside something.") + if(!force && !isturf(loc) && !loc == /obj/item/rig/protean) + to_chat(src,span_warning("You can't change forms while inside something.")) return - - var/panel_was_up = FALSE - if(client?.statpanel == "Protean") - panel_was_up = TRUE - - handle_grasp() //It's possible to blob out before some key parts of the life loop. This results in things getting dropped at null. TODO: Fix the code so this can be done better. - remove_micros(src, src) //Living things don't fare well in roblobs. - if(buckled) - buckled.unbuckle_mob() - if(LAZYLEN(buckled_mobs)) - for(var/buckledmob in buckled_mobs) - riding_datum.force_dismount(buckledmob) - if(pulledby) - pulledby.stop_pulling() - stop_pulling() - - //Record where they should go - var/atom/creation_spot = drop_location() - - //Create our new blob - var/mob/living/simple_mob/protean_blob/blob = new(creation_spot,src) - - //Drop all our things - var/list/things_to_drop = contents.Copy() - var/list/things_to_not_drop = list(w_uniform,nif,l_store,r_store,wear_id,l_ear,r_ear) //And whatever else we decide for balancing. - - /* No for now, because insta-pepperspray or flash on unblob - if(l_hand && l_hand.w_class <= ITEMSIZE_SMALL) //Hands but only if small or smaller - things_to_not_drop += l_hand - if(r_hand && r_hand.w_class <= ITEMSIZE_SMALL) - things_to_not_drop += r_hand - */ - - things_to_drop -= things_to_not_drop //Crunch the lists - things_to_drop -= organs //Mah armbs - things_to_drop -= internal_organs //Mah sqeedily spooch - - for(var/obj/item/I in things_to_drop) //rip hoarders - if(I.protean_drop_whitelist) - continue - drop_from_inventory(I) - - if(w_uniform && istype(w_uniform,/obj/item/clothing)) //No webbings tho. We do this after in case a suit was in the way - var/obj/item/clothing/uniform = w_uniform - if(LAZYLEN(uniform.accessories)) - for(var/obj/item/clothing/accessory/A in uniform.accessories) - if(is_type_in_list(A, disallowed_protean_accessories)) - uniform.remove_accessory(null,A) //First param is user, but adds fingerprints and messages - - //Size update - blob.transform = matrix()*size_multiplier - blob.size_multiplier = size_multiplier - - if(l_hand) blob.prev_left_hand = l_hand //Won't save them if dropped above, but necessary if handdrop is disabled. - if(r_hand) blob.prev_right_hand = r_hand - - //Put our owner in it (don't transfer var/mind) - blob.ckey = ckey - blob.ooc_notes = ooc_notes - blob.ooc_notes_likes = ooc_notes_likes - blob.ooc_notes_dislikes = ooc_notes_dislikes - temporary_form = blob - - //Mail them to nullspace - moveToNullspace() - - //Message - blob.visible_message("[src.name] collapses into a gooey blob!") - - //Duration of the to_puddle iconstate that the blob starts with - sleep(13) - blob.update_icon() //Will remove the collapse anim - - //Transfer vore organs - blob.vore_organs = vore_organs - blob.vore_selected = vore_selected - for(var/obj/belly/B as anything in vore_organs) - B.forceMove(blob) - B.owner = blob - - //We can still speak our languages! - blob.languages = languages.Copy() - - //Flip them to the protean panel - if(panel_was_up) - client?.statpanel = "Protean" - - //Return our blob in case someone wants it - return blob + to_chat(src, span_notice("You rapidly disassociate your form.")) + if(force || do_after(src,20,exclusive = TASK_ALL_EXCLUSIVE)) + handle_grasp() //It's possible to blob out before some key parts of the life loop. This results in things getting dropped at null. TODO: Fix the code so this can be done better. + remove_micros(src, src) //Living things don't fare well in roblobs. + if(buckled) + buckled.unbuckle_mob() + if(LAZYLEN(buckled_mobs)) + for(var/buckledmob in buckled_mobs) + riding_datum.force_dismount(buckledmob) + if(pulledby) + pulledby.stop_pulling() + stop_pulling() + + var/client/C = client + + //Record where they should go + var/atom/creation_spot = drop_location() + + //Create our new blob + var/mob/living/simple_mob/protean_blob/blob = new(creation_spot,src) + + //Size update + blob.transform = matrix()*size_multiplier + blob.size_multiplier = size_multiplier + + //dir update + blob.dir = dir + + if(l_hand) drop_l_hand() + if(r_hand) drop_r_hand() + + //Put our owner in it (don't transfer var/mind) + blob.ckey = ckey + blob.ooc_notes = ooc_notes + blob.ooc_notes_likes = ooc_notes_likes + blob.ooc_notes_dislikes = ooc_notes_dislikes + temporary_form = blob + var/obj/item/radio/R = null + if(isradio(l_ear)) + R = l_ear + if(isradio(r_ear)) + R = r_ear + if(R) + blob.mob_radio = R + R.forceMove(blob) + if(wear_id) + blob.myid = wear_id.GetID() + + //Mail them to nullspace + moveToNullspace() + + //Message + blob.visible_message(span_infoplain(span_bold("[src.name]") + " collapses into a gooey blob!")) + + //Duration of the to_puddle iconstate that the blob starts with + sleep(13) + blob.update_icon() //Will remove the collapse anim + + //Transfer vore organs + blob.vore_organs = vore_organs.Copy() + blob.vore_selected = vore_selected + for(var/obj/belly/B as anything in vore_organs) + B.forceMove(blob) + B.owner = blob + vore_organs.Cut() + + //We can still speak our languages! + blob.languages = languages.Copy() + blob.name = real_name + blob.real_name = real_name + blob.voice_name = name + + blob.update_icon(1) + + //Flip them to the protean panel + addtimer(CALLBACK(src, PROC_REF(nano_set_panel), C), 4) + + //Return our blob in case someone wants it + return blob + else + to_chat(src, span_warning("You must remain still to blobform!")) //For some reason, there's no way to force drop all the mobs grabbed. This ought to fix that. And be moved elsewhere. Call with caution, doesn't handle cycles. /proc/remove_micros(var/src, var/mob/root) for(var/obj/item/I in src) remove_micros(I, root) //Recursion. I'm honestly depending on there being no containment loop, but at the cost of performance that can be fixed too. - if(istype(I, /obj/item/weapon/holder)) + if(istype(I, /obj/item/holder)) root.remove_from_mob(I) +/mob/living/proc/usehardsuit() + set name = "Utilize Hardsuit Interface" + set desc = "Allows a protean blob to open hardsuit interface." + set category = "Abilities.Protean" + + if(istype(loc, /obj/item/rig/protean)) + var/obj/item/rig/protean/prig = loc + to_chat(src, "You attempt to interface with the [prig].") + prig.tgui_interact(src) + else + to_chat(src, "You are not in RIG form.") + /mob/living/carbon/human/proc/nano_outofblob(var/mob/living/simple_mob/protean_blob/blob, force) if(!istype(blob)) return - + if(blob.loc == /obj/item/rig/protean) + return if(!force && !isturf(blob.loc)) - to_chat(blob,"You can't change forms while inside something.") + to_chat(blob,span_warning("You can't change forms while inside something.")) return + to_chat(src, span_notice("You rapidly reassemble your form.")) + if(force || do_after(blob,20,exclusive = TASK_ALL_EXCLUSIVE)) + if(buckled) + buckled.unbuckle_mob() + if(LAZYLEN(buckled_mobs)) + for(var/buckledmob in buckled_mobs) + riding_datum.force_dismount(buckledmob) + if(pulledby) + pulledby.stop_pulling() + stop_pulling() + + var/client/C = blob.client + + //Stop healing if we are + if(blob.healing) + blob.healing.expire() + + if(blob.mob_radio) + blob.mob_radio.forceMove(src) + blob.mob_radio = null + if(blob.myid) + blob.myid = null + + //Play the animation + blob.icon_state = "from_puddle" + + //Message + blob.visible_message(span_infoplain(span_bold("[src.name]") + " reshapes into a humanoid appearance!")) + + //Size update + resize(blob.size_multiplier, FALSE, TRUE, ignore_prefs = TRUE) + + //Duration of above animation + sleep(8) + + //Record where they should go + var/atom/reform_spot = blob.drop_location() + + //dir update + dir = blob.dir + + //Move them back where the blob was + forceMove(reform_spot) + + if(blob.l_hand) blob.drop_l_hand() + if(blob.r_hand) blob.drop_r_hand() + + //Put our owner in it (don't transfer var/mind) + ckey = blob.ckey + ooc_notes = blob.ooc_notes // Lets give the protean any updated notes from blob form. + ooc_notes_likes = blob.ooc_notes_likes + ooc_notes_dislikes = blob.ooc_notes_dislikes + temporary_form = null + + //Transfer vore organs + vore_organs = blob.vore_organs.Copy() + vore_selected = blob.vore_selected + for(var/obj/belly/B as anything in blob.vore_organs) + B.forceMove(src) + B.owner = src + languages = blob.languages.Copy() + + Life(1) //Fix my blindness right meow //Has to be moved up here, there exists a circumstance where blob could be deleted without vore organs moving right. + + //Get rid of friend blob + qdel(blob) + + //Flip them to the protean panel + addtimer(CALLBACK(src, PROC_REF(nano_set_panel), C), 4) + + //Return ourselves in case someone wants it + return src + else + to_chat(src, span_warning("You must remain still to reshape yourself!")) - var/panel_was_up = FALSE - if(client?.statpanel == "Protean") - panel_was_up = TRUE - - if(buckled) - buckled.unbuckle_mob() - if(LAZYLEN(buckled_mobs)) - for(var/buckledmob in buckled_mobs) - riding_datum.force_dismount(buckledmob) - if(pulledby) - pulledby.stop_pulling() - stop_pulling() - - //Stop healing if we are - if(blob.healing) - blob.healing.expire() - - //Play the animation - blob.icon_state = "from_puddle" - - //Message - blob.visible_message("[src.name] reshapes into a humanoid appearance!") - - //Duration of above animation - sleep(8) - - //Record where they should go - var/atom/reform_spot = blob.drop_location() - - //Size update - resize(blob.size_multiplier, FALSE, ignore_prefs = TRUE) - - //Move them back where the blob was - forceMove(reform_spot) - - //Put our owner in it (don't transfer var/mind) - ckey = blob.ckey - ooc_notes = blob.ooc_notes // Lets give the protean any updated notes from blob form. - ooc_notes_likes = blob.ooc_notes_likes - ooc_notes_dislikes = blob.ooc_notes_dislikes - temporary_form = null - - //Transfer vore organs - vore_selected = blob.vore_selected - for(var/obj/belly/B as anything in blob.vore_organs) - B.forceMove(src) - B.owner = src - - if(blob.prev_left_hand) put_in_l_hand(blob.prev_left_hand) //The restore for when reforming. - if(blob.prev_right_hand) put_in_r_hand(blob.prev_right_hand) - - Life(1) //Fix my blindness right meow //Has to be moved up here, there exists a circumstance where blob could be deleted without vore organs moving right. - - //Get rid of friend blob - qdel(blob) - - //Flip them to the protean panel - if(panel_was_up) - client?.statpanel = "Protean" - - //Return ourselves in case someone wants it - return src +/mob/living/carbon/human/proc/nano_set_panel(var/client/C) + if(C) + C.statpanel = "Protean" -/mob/living/simple_mob/protean_blob/CanStumbleVore(mob/living/target) - if(target == humanform) - return FALSE - return ..() +/mob/living/simple_mob/protean_blob/ClickOn(var/atom/A, var/params) + if(istype(loc, /obj/item/rig/protean)) + HardsuitClickOn(A) + ..() +/mob/living/simple_mob/protean_blob/can_use_rig() + return 1 + +/mob/living/simple_mob/protean_blob/HardsuitClickOn(var/atom/A, var/alert_ai = 0) + if(istype(loc, /obj/item/rig/protean)) + var/obj/item/rig/protean/prig = loc + if(istype(prig) && !prig.offline && prig.selected_module) + if(!prig.ai_can_move_suit(src)) + return 0 + prig.selected_module.engage(A, alert_ai) + if(ismob(A)) // No instant mob attacking - though modules have their own cooldowns + setClickCooldown(get_attack_speed()) + return 1 + return 0 + +//Don't eat yourself, idiot /mob/living/simple_mob/protean_blob/CanStumbleVore(mob/living/target) if(target == humanform) return FALSE @@ -506,3 +639,110 @@ var/global/list/disallowed_protean_accessories = list( if(PB.humanform == src) return FALSE return ..() + +/mob/living/simple_mob/protean_blob/handle_mutations_and_radiation() + humanform.handle_mutations_and_radiation() + +/mob/living/simple_mob/protean_blob/update_icon() + ..() + if(humanform) + vis_height = 32 + cut_overlays() + var/list/wide_icons = list( + "lizard", + "rat", + "wolf" + ) + var/list/tall_icons = list( + "drake", + "teppi", + "panther" + ) + var/list/big_icons = list( + "robodrgn" + ) + var/datum/species/protean/S = humanform.species + icon = 'icons/mob/species/protean/protean.dmi' + default_pixel_x = 0 + pixel_x = 0 + vore_capacity = 1 + if(S.blob_appearance == "dragon") + vore_capacity = 2 + icon = 'icons/mob/vore128x64.dmi' + mount_offset_y = 32 + mount_offset_x = -16 + var/image/I = image(icon, "[S.dragon_overlays[1]][resting? "-rest" : (vore_fullness? "-[vore_fullness]" : null)]", pixel_x = -48) + I.color = S.dragon_overlays[S.dragon_overlays[1]] + I.appearance_flags |= (RESET_COLOR|PIXEL_SCALE) + I.plane = MOB_PLANE + I.layer = MOB_LAYER + add_overlay(I) + qdel(I) + + I = image(icon, "[S.dragon_overlays[2]][resting? "-rest" : null]", pixel_x = -48) + I.color = S.dragon_overlays[S.dragon_overlays[2]] + I.appearance_flags |= (RESET_COLOR|PIXEL_SCALE) + I.plane = MOB_PLANE + I.layer = MOB_LAYER + add_overlay(I) + qdel(I) + + I = image(icon, "[S.dragon_overlays[3]][resting? "-rest" : null]", pixel_x = -48) + I.color = S.dragon_overlays[S.dragon_overlays[3]] + I.appearance_flags |= (RESET_COLOR|PIXEL_SCALE) + I.plane = MOB_PLANE + I.layer = MOB_LAYER + add_overlay(I) + qdel(I) + + I = image(icon, "[S.dragon_overlays[4]][resting? "-rest" : null]", pixel_x = -48) + I.color = S.dragon_overlays[S.dragon_overlays[4]] + I.appearance_flags |= (RESET_COLOR|PIXEL_SCALE) + I.plane = MOB_PLANE + I.layer = MOB_LAYER + add_overlay(I) + qdel(I) + + I = image(icon, "[S.dragon_overlays[5]][resting? "-rest" : null]", pixel_x = -48) + I.color = S.dragon_overlays[S.dragon_overlays[5]] + I.appearance_flags |= (RESET_COLOR|PIXEL_SCALE) + I.plane = MOB_PLANE + I.layer = MOB_LAYER + add_overlay(I) + qdel(I) + + I = image(icon, "[S.dragon_overlays[6]][resting? "-rest" : null]", pixel_x = -48) + I.color = S.dragon_overlays[S.dragon_overlays[6]] + I.appearance_flags |= (RESET_COLOR|PIXEL_SCALE) + I.plane = PLANE_LIGHTING_ABOVE + add_overlay(I) + qdel(I) + + //You know technically I could just put all the icons into the 128x64.dmi file and off-set them to fit.. + if(S.blob_appearance in wide_icons) + icon = 'icons/mob/species/protean/protean64x32.dmi' + default_pixel_x = -16 + pixel_x = -16 + if(S.blob_appearance in tall_icons) + icon = 'icons/mob/species/protean/protean64x64.dmi' + default_pixel_x = -16 + pixel_x = -16 + vis_height = 64 + if(S.blob_appearance in big_icons) + icon = 'icons/mob/species/protean/protean128x64.dmi' + default_pixel_x = -48 + pixel_x = -48 + vis_height = 64 + var/image/I = image(icon, S.blob_appearance+"[resting? "_rest":null][vore_fullness? "-[vore_fullness]" : null]") + I.color = S.blob_color_1 + I.appearance_flags |= (RESET_COLOR|PIXEL_SCALE) + I.plane = MOB_PLANE + I.layer = MOB_LAYER + add_overlay(I) + qdel(I) + eye_layer = image(icon, "[S.blob_appearance][resting? "_rest" : null]-eyes") + eye_layer.appearance_flags = appearance_flags + eye_layer.color = S.blob_color_2 + eye_layer.plane = PLANE_LIGHTING_ABOVE + add_overlay(eye_layer) + qdel(eye_layer) diff --git a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_powers.dm b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_powers.dm index bff5a09e390..0b0fc60284a 100644 --- a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_powers.dm +++ b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_powers.dm @@ -1,3 +1,4 @@ +//TODO: Replace ventcrawl with morphing. /mob/living/simple_mob/vore/hostile/morph #define PER_LIMB_STEEL_COST SHEET_MATERIAL_AMOUNT //// // One-part Refactor @@ -5,33 +6,39 @@ /mob/living/carbon/human/proc/nano_partswap() set name = "Ref - Single Limb" set desc = "Allows you to replace and reshape your limbs as you see fit." - set category = "Abilities" - set hidden = TRUE + //set category = "Abilities.Protean" + set hidden = 1 + var/mob/living/protie = src + if(temporary_form) + protie = temporary_form + if(nano_dead_check(protie)) + to_chat(protie, span_warning("You need to be repaired first before you can act!")) + return if(stat) - to_chat(src,"You must be awake and standing to perform this action!") + to_chat(protie,span_warning("You must be awake and standing to perform this action!")) return - if(!isturf(loc)) - to_chat(src,"You need more space to perform this action!") + if(!isturf(protie.loc)) + to_chat(protie,span_warning("You need more space to perform this action!")) return var/obj/item/organ/internal/nano/refactory/refactory = nano_get_refactory() //Missing the organ that does this if(!istype(refactory)) - to_chat(src,"You don't have a working refactory module!") + to_chat(protie,span_warning("You don't have a working refactory module!")) return - var/choice = tgui_input_list(src,"Pick the bodypart to change:", "Refactor - One Bodypart", species.has_limbs) + var/choice = tgui_input_list(protie,"Pick the bodypart to change:", "Refactor - One Bodypart", species.has_limbs) if(!choice) return //Organ is missing, needs restoring if(!organs_by_name[choice] || istype(organs_by_name[choice], /obj/item/organ/external/stump)) //allows limb stumps to regenerate like removed limbs. if(refactory.get_stored_material(MAT_STEEL) < PER_LIMB_STEEL_COST) - to_chat(src,"You're missing that limb, and need to store at least [PER_LIMB_STEEL_COST] steel to regenerate it.") + to_chat(protie,span_warning("You're missing that limb, and need to store at least [PER_LIMB_STEEL_COST] steel to regenerate it.")) return - var/regen = tgui_alert(src,"That limb is missing, do you want to regenerate it in exchange for [PER_LIMB_STEEL_COST] steel?","Regenerate limb?",list("Yes","No")) + var/regen = tgui_alert(protie,"That limb is missing, do you want to regenerate it in exchange for [PER_LIMB_STEEL_COST] steel?","Regenerate limb?",list("Yes","No")) if(regen != "Yes") return if(!refactory.use_stored_material(MAT_STEEL,PER_LIMB_STEEL_COST)) @@ -40,10 +47,13 @@ var/obj/item/organ/external/oldlimb = organs_by_name[choice] oldlimb.removed() qdel(oldlimb) - - var/mob/living/simple_mob/protean_blob/blob = nano_intoblob() - active_regen = TRUE - if(do_after(blob,5 SECONDS)) + var/mob/living/simple_mob/protean_blob/blob + if(!temporary_form) + blob = nano_intoblob() + else + blob = temporary_form + active_regen = 1 + if(do_after(blob,50,exclusive = TASK_ALL_EXCLUSIVE)) var/list/limblist = species.has_limbs[choice] var/limbpath = limblist["path"] var/obj/item/organ/external/new_eo = new limbpath(src) @@ -51,8 +61,7 @@ new_eo.robotize(synthetic ? synthetic.company : null) //Use the base we started with new_eo.sync_colour_to_human(src) regenerate_icons() - active_regen = FALSE - nano_outofblob(blob) + active_regen = 0 return //Organ exists, let's reshape it @@ -68,7 +77,7 @@ usable_manufacturers[company] = M if(!usable_manufacturers.len) return - var/manu_choice = tgui_input_list(src, "Which manufacturer do you wish to mimic for this limb?", "Manufacturer for [choice]", usable_manufacturers) + var/manu_choice = tgui_input_list(protie, "Which manufacturer do you wish to mimic for this limb?", "Manufacturer for [choice]", usable_manufacturers) if(!manu_choice) return //Changed mind @@ -78,113 +87,123 @@ return //Lost it meanwhile eo.robotize(manu_choice) - visible_message("[src]'s [choice] loses its shape, then reforms.") update_icons_body() -//// -// Full Refactor -//// -/mob/living/carbon/human/proc/nano_regenerate() //fixed the proc, it used to leave active_regen true. - set name = "Ref - Whole Body" - set desc = "Allows you to regrow limbs and replace organs, given you have enough materials." - set category = "Abilities" - set hidden = TRUE - - if(stat) - to_chat(src,"You must be awake and standing to perform this action!") +/mob/living/carbon/human/proc/nano_regenerate() + set name = "Total Reassembly" + set desc = "Fully repair yourself or reload your appearance from whatever character slot you have loaded." + //set category = "Abilities.Protean" + set hidden = 1 + var/mob/living/protie = src + if(temporary_form) + protie = temporary_form + var/input = tgui_alert(protie,{"Do you want to rebuild or reassemble yourself? + Rebuilding will cost 10,000 steel and will rebuild all of your limbs as well as repair all damage over a 40s period. + Reassembling costs no steel and will copy the appearance data of your currently loaded save slot."},"Reassembly",list("Rebuild","Reassemble","Cancel")) + if(input == "Cancel" || !input) return + if(input == "Rebuild") + var/obj/item/organ/internal/nano/refactory/refactory = nano_get_refactory() + if(refactory.get_stored_material(MAT_STEEL) >= 10000) + to_chat(protie, span_notify("You begin to rebuild. You will need to remain still.")) + if(do_after(protie, 400,exclusive = TASK_ALL_EXCLUSIVE)) + if(species?:OurRig) //Unsafe, but we should only ever be using this with a Protean + species?:OurRig?:make_alive(src,1) //Re-using this proc + refactory.use_stored_material(MAT_STEEL,refactory.get_stored_material(MAT_STEEL)) //Use all of our steel + else + to_chat(protie, span_userdanger("Somehow, you are missing your protean rig. You are unable to rebuild without one.")) + else + to_chat(protie, span_warning("You do not have enough steel stored for this operation.")) + else + input = tgui_alert(protie,{"Include Flavourtext?"},"Reassembly",list("Yes","No","Cancel")) + if(input == "Cancel" || !input) + return + var/flavour = 0 + if(input == "Yes") + flavour = 1 + input = tgui_alert(protie,{"Include OOC notes?"},"Reassembly",list("Yes","No","Cancel")) + if(input == "Cancel" || !input) + return + var/oocnotes = 0 + if(input == "Yes") + oocnotes = 1 + to_chat(protie, span_notify("You begin to reassemble. You will need to remain still.")) + protie.visible_message(span_notify("[protie] rapidly contorts and shifts!"), span_danger("You begin to reassemble.")) + if(do_after(protie, 40,exclusive = TASK_ALL_EXCLUSIVE)) + if(protie.client.prefs) //Make sure we didn't d/c + var/obj/item/rig/protean/Rig = species?:OurRig + protie.client.prefs.vanity_copy_to(src, FALSE, flavour, oocnotes, TRUE) + species?:OurRig = Rig //Get a reference to our Rig and put it back after reassembling + protie.visible_message(span_notify("[protie] adopts a new form!"), span_danger("You have reassembled.")) + + +/mob/living/carbon/human/proc/nano_copy_body() + set name = "Copy Form" + set desc = "If you are aggressively grabbing someone, with their consent, you can turn into a copy of them. (Without their name)." + //set category = "Abilities.Protean" + set hidden = 1 + var/mob/living/protie = src + if(temporary_form) + protie = temporary_form - if(!isturf(loc)) - to_chat(src,"You need more space to perform this action!") + var/grabbing_but_not_enough + var/mob/living/carbon/human/victim = null + for(var/obj/item/grab/G in protie) + if(G.state < GRAB_AGGRESSIVE) + grabbing_but_not_enough = TRUE + return + else + victim = G.affecting + if (!victim) + if (grabbing_but_not_enough) + to_chat(protie, span_warning("You need a better grip to do that!")) + else + to_chat(protie, span_notice("You need to be aggressively grabbing someone before you can copy their form.")) return - - var/obj/item/organ/internal/nano/refactory/refactory = nano_get_refactory() - //Missing the organ that does this - if(!istype(refactory)) - to_chat(src,"You don't have a working refactory module!") + if (!istype(victim)) + to_chat(protie, span_warning("You can only perform this on human mobs!")) return - - //Already regenerating - if(active_regen) - to_chat(src, "You are already refactoring!") + if (!victim.client) + to_chat(protie, span_notice("The person you try this on must have a client!")) return - var/swap_not_rebuild = tgui_alert(src,"Do you want to rebuild, or reshape?","Rebuild or Reshape",list("Reshape","Cancel","Rebuild")) - if(swap_not_rebuild == "Cancel") - return - if(swap_not_rebuild == "Reshape") - var/list/usable_manufacturers = list() - for(var/company in chargen_robolimbs) - var/datum/robolimb/M = chargen_robolimbs[company] - if(!(BP_TORSO in M.parts)) - continue - if(species?.base_species in M.species_cannot_use) - continue - if(M.whitelisted_to && !(ckey in M.whitelisted_to)) - continue - usable_manufacturers[company] = M - if(!usable_manufacturers.len) - return - var/manu_choice = tgui_input_list(src, "Which manufacturer do you wish to mimic?", "Manufacturer", usable_manufacturers) - - if(!manu_choice) - return //Changed mind - if(!organs_by_name[BP_TORSO]) - return //Ain't got a torso! - - var/obj/item/organ/external/torso = organs_by_name[BP_TORSO] - to_chat(src, "Remain still while the process takes place! It will take 5 seconds.") - visible_message("[src]'s form collapses into an amorphous blob of black ichor...") - - var/mob/living/simple_mob/protean_blob/blob = nano_intoblob() - active_regen = TRUE - if(do_after(blob,5 SECONDS)) - synthetic = usable_manufacturers[manu_choice] - torso.robotize(manu_choice) //Will cascade to all other organs. - regenerate_icons() - visible_message("[src]'s form reshapes into a new one...") - active_regen = FALSE - nano_outofblob(blob) - return - //Not enough resources (AND spends the resources, should be the last check) - if(!refactory.use_stored_material(MAT_STEEL,refactory.max_storage)) - to_chat(src, "You need to be maxed out on normal metal to do this!") + to_chat(protie, span_notice("Waiting for other person's consent.")) + var/consent = tgui_alert(victim, "Allow [src] to copy what you look like?", "Consent", list("Yes", "No")) + if (consent != "Yes") + to_chat(protie, span_notice("They declined your request.")) return - var/delay_length = round(active_regen_delay * species.active_regen_mult) - to_chat(src, "Remain still while the process takes place! It will take [delay_length/10] seconds.") - visible_message("[src]'s form begins to shift and ripple as if made of oil...") - active_regen = TRUE - - var/mob/living/simple_mob/protean_blob/blob = nano_intoblob() - if(do_after(blob, delay_length, null, 0)) - if(stat != DEAD && refactory) - var/list/holder = refactory.materials - species.create_organs(src) - var/obj/item/organ/external/torso = organs_by_name[BP_TORSO] - torso.robotize() //synthetic wasn't defined here. - LAZYCLEARLIST(blood_DNA) - LAZYCLEARLIST(feet_blood_DNA) - blood_color = null - feet_blood_color = null - regenerate_icons() //Probably worth it, yeah. - var/obj/item/organ/internal/nano/refactory/new_refactory = locate() in internal_organs - if(!new_refactory) - log_debug("[src] protean-regen'd but lacked a refactory when done.") - else - new_refactory.materials = holder - to_chat(src, "Your refactoring is complete.") //Guarantees the message shows no matter how bad the timing. - to_chat(blob, "Your refactoring is complete!") - else - to_chat(src, "Your refactoring has failed.") - to_chat(blob, "Your refactoring has failed!") - else - to_chat(src, "Your refactoring is interrupted.") - to_chat(blob, "Your refactoring is interrupted!") - active_regen = FALSE - nano_outofblob(blob) + var/input = tgui_alert(protie,{"Copy [victim]'s flavourtext?"},"Copy Form",list("Yes","No","Cancel")) + if(input == "Cancel" || !input) + return + var/flavour = 0 + if(input == "Yes") + flavour = 1 + + var/checking = FALSE + for(var/obj/item/grab/G in protie) + if(G.affecting == victim && G.state >= GRAB_AGGRESSIVE) + checking = TRUE + if (!checking) + to_chat(protie, span_warning("You lost your grip on [victim]!")) + return + to_chat(protie, span_notify("You begin to reassemble into [victim]. You will need to remain still.")) + protie.visible_message(span_notify("[protie] rapidly contorts and shifts!"), span_danger("You begin to reassemble into [victim].")) + if(do_after(protie, 40,exclusive = TASK_ALL_EXCLUSIVE)) + checking = FALSE + for(var/obj/item/grab/G in protie) + if(G.affecting == victim && G.state >= GRAB_AGGRESSIVE) + checking = TRUE + if (!checking) + to_chat(protie, span_warning("You lost your grip on [victim]!")) + return + if(protie.client) //Make sure we didn't d/c + var/obj/item/rig/protean/Rig = species?:OurRig + transform_into_other_human(victim, FALSE, flavour, TRUE) + species?:OurRig = Rig //Get a reference to our Rig and put it back after reassembling + protie.visible_message(span_notify("[protie] adopts the form of [victim]!"), span_danger("You have reassembled into [victim].")) //// // Storing metal @@ -192,70 +211,85 @@ /mob/living/carbon/human/proc/nano_metalnom() set name = "Ref - Store Metals" set desc = "If you're holding a stack of material, you can consume some and store it for later." - set category = "Abilities" - set hidden = TRUE + //set category = "Abilities.Protean" + set hidden = 1 + + var/mob/living/protie = src + if(temporary_form) + protie = temporary_form + if(nano_dead_check(protie)) + to_chat(protie, span_warning("You need to be repaired first before you can act!")) + return var/obj/item/organ/internal/nano/refactory/refactory = nano_get_refactory() //Missing the organ that does this if(!istype(refactory)) - to_chat(src,"You don't have a working refactory module!") + to_chat(protie,span_warning("You don't have a working refactory module!")) return - var/held = get_active_hand() + var/held = protie.get_active_hand() if(!istype(held,/obj/item/stack/material)) - to_chat(src,"You aren't holding a stack of materials in your active hand...!") + to_chat(protie,span_warning("You aren't holding a stack of materials in your active hand!")) return var/obj/item/stack/material/matstack = held var/substance = matstack.material.name - var allowed = FALSE + var allowed = 0 for(var/material in PROTEAN_EDIBLE_MATERIALS) - if(material == substance) allowed = TRUE + if(material == substance) allowed = 1 if(!allowed) - to_chat(src,"You can't process [substance]!") - return //Only a few things matter, the rest are best not cluttering the lists. + to_chat(protie,span_warning("You can't process [substance]!")) + return - var/howmuch = tgui_input_number(src,"How much do you want to store? (0-[matstack.get_amount()])","Select amount",null,matstack.get_amount(),0) - if(!howmuch || matstack != get_active_hand() || howmuch > matstack.get_amount()) + var/howmuch = tgui_input_number(protie,"How much do you want to store? (0-[matstack.get_amount()])","Select amount",null,matstack.get_amount()) + if(!howmuch || matstack != protie.get_active_hand() || howmuch > matstack.get_amount()) return //Quietly fail var/actually_added = refactory.add_stored_material(substance,howmuch*matstack.perunit) matstack.use(CEILING((actually_added/matstack.perunit), 1)) if(actually_added && actually_added < howmuch) - to_chat(src,"Your refactory module is now full, so only [actually_added] units were stored.") - visible_message("[src] nibbles some of the [substance] right off the stack!") + to_chat(protie,span_warning("Your refactory module is now full, so only [actually_added] units were stored.")) + visible_message(span_notice("[protie] nibbles some of the [substance] right off the stack!")) else if(actually_added) - to_chat(src,"You store [actually_added] units of [substance].") - visible_message("[src] devours some of the [substance] right off the stack!") + to_chat(protie,span_notice("You store [actually_added] units of [substance].")) + visible_message(span_notice("[protie] devours some of the [substance] right off the stack!")) else - to_chat(src,"You're completely capped out on [substance]!") + to_chat(protie,span_notice("You're completely capped out on [substance]!")) //// // Blob Form //// -/mob/living/carbon/human/proc/nano_blobform() +/mob/living/carbon/human/proc/nano_blobform(var/forced) set name = "Toggle Blobform" set desc = "Switch between amorphous and humanoid forms." - set category = "Abilities" - set hidden = TRUE + //set category = "Abilities.Protean" + set hidden = 1 + if(nano_dead_check(src)) + return + if(forced) + if(temporary_form) + nano_outofblob(temporary_form, forced) + else + nano_intoblob(forced) + return var/atom/movable/to_locate = temporary_form || src - if(!isturf(to_locate.loc)) - to_chat(to_locate,"You need more space to perform this action!") + if(!isturf(to_locate.loc) && !forced) + to_chat(to_locate,span_warning("You need more space to perform this action!")) return - //Blob form if(temporary_form) - if(health < maxHealth*0.5) - to_chat(temporary_form,"You need to regenerate more nanites first!") - else if(temporary_form.stat) - to_chat(temporary_form,"You can only do this while not stunned.") + if(temporary_form.stat) + to_chat(temporary_form,span_warning("You can only do this while not stunned.")) else nano_outofblob(temporary_form) //Human form else if(stat) - to_chat(src,"You can only do this while not stunned.") + to_chat(src,span_warning("You can only do this while not stunned.")) + return + else if(handcuffed) + to_chat(src, span_warning("You can't do this while handcuffed!")) return else nano_intoblob() @@ -266,63 +300,300 @@ /mob/living/carbon/human/proc/nano_change_fitting() set name = "Change Species Fit" set desc = "Tweak your shape to change what suits you fit into (and their sprites!)." - set category = "Abilities" + set category = "Abilities.Protean" if(stat) - to_chat(src,"You must be awake and standing to perform this action!") + to_chat(src,span_warning("You must be awake and standing to perform this action!")) return - var/new_species = tgui_input_list(usr, "Please select a species to emulate.", "Shapeshifter Body", GLOB.playable_species) + var/new_species = tgui_input_list(src, "Please select a species to emulate.", "Shapeshifter Body", list(species?.vanity_base_fit)|species?.get_valid_shapeshifter_forms()) if(new_species) species?.base_species = new_species // Really though you better have a species regenerate_icons() //Expensive, but we need to recrunch all the icons we're wearing //// -// Change size +// Rig Transform //// -/mob/living/carbon/human/proc/nano_set_size() - set name = "Adjust Volume" - set category = "Abilities" - set hidden = TRUE - - var/mob/living/user = temporary_form || src +/mob/living/carbon/human/proc/nano_rig_transform(var/forced) + set name = "Modify Form - Hardsuit" + set desc = "Allows a protean to retract its mass into its hardsuit module at will." + //set category = "Abilities.Protean" + set hidden = 1 - var/obj/item/organ/internal/nano/refactory/refactory = nano_get_refactory() - //Missing the organ that does this - if(!istype(refactory)) - to_chat(user,"You don't have a working refactory module!") + var/mob/living/protie = src + if(temporary_form) + protie = temporary_form + if(nano_dead_check(src)) + to_chat(protie, span_warning("You need to be repaired first before you can act!")) return - - var/nagmessage = "Adjust your mass to be a size between 25 to 200% (or between 1 to 600% in dorms area). Up-sizing consumes metal, downsizing returns metal." - var/new_size = tgui_input_number(user, nagmessage, "Pick a Size", user.size_multiplier*100, 600, 1) - if(!new_size || !size_range_check(new_size)) + to_chat(protie, span_notice("You rapidly condense into your module.")) + if(forced || do_after(protie,20,exclusive = TASK_ALL_EXCLUSIVE)) + if(!temporary_form) //If you're human, force you into blob form before rig'ing + nano_blobform(forced) + spawn(2) + + if(istype(src.species, /datum/species/protean)) + var/datum/species/protean/S = src.species + var/mob/living/simple_mob/protean_blob/P = temporary_form + if(S.OurRig) //Do we even have a RIG? + if(P.loc == S.OurRig) //we're inside our own RIG + if(ismob(S.OurRig.loc)) + var/mob/m = S.OurRig.loc + m.drop_from_inventory(S.OurRig) + if(S.OurRig.wearer) //We're being worn. Engulf em', if prefs align.. otherwise just drop off. + var/mob/living/carbon/human/victim = S.OurRig.wearer + if(P.can_be_drop_pred && victim.devourable && victim.can_be_drop_prey) + if(P.vore_selected) + perform_the_nom(P,victim,P,P.vore_selected,1) + P.forceMove(get_turf(S.OurRig)) + S.OurRig.forceMove(src) + S.OurRig.myprotean = src + src.equip_to_slot_if_possible(S.OurRig, slot_back) + S.OurRig.Moved() + P.has_hands = 1 + else //We're not in our own RIG + if(P.stat || P.resting && !forced) + to_chat(P,span_warning("You can only do this while not stunned.")) + else + if(P.l_hand) + P.drop_l_hand() + if(P.r_hand) + P.drop_r_hand() + P.has_hands = 0 + S.OurRig.myprotean = P + src.drop_from_inventory(S.OurRig) + P.forceMove(S.OurRig) + S.OurRig.canremove = 1 + P.reset_view() + else //Make one if not + to_chat(temporary_form, span_warning("Somehow, your RIG got disconnected from your species. This may have been caused by an admin heal. A new one has been created for you, contact a coder.")) + new /obj/item/rig/protean(src,src) + else + to_chat(protie, span_warning("You must remain still to condense!")) + +/mob/living/carbon/human/proc/appearance_switch() + set name = "Switch Blob Appearance" + set desc = "Allows a protean blob to switch its outwards appearance." + //set category = "Abilities.Protean" + set hidden = 1 + var/datum/species/protean/S = src.species + var/mob/living/protie = src + if(temporary_form) + protie = temporary_form + var/list/icon_choices = list( + "Primary" = image(icon = 'icons/mob/species/protean/protean.dmi', icon_state = "primary"), + "Highlight" = image(icon = 'icons/mob/species/protean/protean.dmi', icon_state = "highlight"), + "puddle1" = image(icon = 'icons/mob/species/protean/protean_powers.dmi', icon_state = "blob"), + "puddle0" = image(icon = 'icons/mob/species/protean/protean.dmi', icon_state = "puddle"), + "shadow" = image(icon = 'icons/mob/species/protean/protean.dmi', icon_state = "shadow"), + "clean" = image(icon = 'icons/mob/species/protean/protean.dmi', icon_state = "clean"), + "swarm" = image(icon = 'icons/mob/species/protean/protean.dmi', icon_state = "swarm"), + "slime" = image(icon = 'icons/mob/species/protean/protean.dmi', icon_state = "slime"), + "chaos" = image(icon = 'icons/mob/species/protean/protean.dmi', icon_state = "chaos"), + "cloud" = image(icon = 'icons/mob/species/protean/protean.dmi', icon_state = "cloud"), + /*"catslug" = image(icon = 'icons/mob/species/protean/protean.dmi', icon_state = "catslug"), + "cat" = image(icon = 'icons/mob/species/protean/protean.dmi', icon_state = "cat"), + "mouse" = image(icon = 'icons/mob/species/protean/protean.dmi', icon_state = "mouse"), + "rabbit" = image(icon = 'icons/mob/species/protean/protean.dmi', icon_state = "rabbit"), + "bear" = image(icon = 'icons/mob/species/protean/protean.dmi', icon_state = "bear"), + "fen" = image(icon = 'icons/mob/species/protean/protean.dmi', icon_state = "fen"), + "fox" = image(icon = 'icons/mob/species/protean/protean.dmi', icon_state = "fox"), + "raptor" = image(icon = 'icons/mob/species/protean/protean.dmi', icon_state = "raptor"), + "rat" = image(icon = 'icons/mob/species/protean/protean64x32.dmi', icon_state = "rat", pixel_x = -16), + "lizard" = image(icon = 'icons/mob/species/protean/protean64x32.dmi', icon_state = "lizard", pixel_x = -16), + "wolf" = image(icon = 'icons/mob/species/protean/protean64x32.dmi', icon_state = "wolf", pixel_x = -16), + //"drake" = image(icon = 'modular_chomp/icons/mob/species/protean/protean64x64.dmi', icon_state = "drake", pixel_x = -16), + "teppi" = image(icon = 'icons/mob/species/protean/protean64x64.dmi', icon_state = "teppi", pixel_x = -16), + "panther" = image(icon = 'icons/mob/species/protean/protean64x64.dmi', icon_state = "panther", pixel_x = -16), + "robodrgn" = image(icon = 'icons/mob/species/protean/protean128x64.dmi', icon_state = "robodrgn", pixel_x = -48), + "Dragon" = image(icon = 'icons/mob/bigdragon_small.dmi', icon_state = "dragon_small")*/ + ) + var/blobstyle = show_radial_menu(protie, protie, icon_choices, require_near = TRUE, tooltips = FALSE) + if(!blobstyle || QDELETED(protie) || protie.incapacitated()) + return FALSE + switch(blobstyle) + if("Dragon") //Fuck it, we ball + var/list/options = list("Underbelly","Body","Ears","Mane","Horns","Eyes") + for(var/option in options) + LAZYSET(options, option, image('icons/effects/bigdragon_labels.dmi', option)) + var/choice = show_radial_menu(protie, protie, options, radius = 60) + if(!choice || QDELETED(protie) || protie.incapacitated()) + return FALSE + . = TRUE + var/list/underbelly_styles = list( + "dragon_underSmooth", + "dragon_underPlated" + ) + var/list/body_styles = list( + "dragon_bodySmooth", + "dragon_bodyScaled" + ) + var/list/ear_styles = list( + "dragon_earsNormal" + ) + var/list/mane_styles = list( + "dragon_maneNone", + "dragon_maneShaggy", + "dragon_maneDorsalfin" + ) + var/list/horn_styles = list( + "dragon_hornsPointy", + "dragon_hornsCurved", + "dragon_hornsCurved2", + "dragon_hornsJagged", + "dragon_hornsCrown", + "dragon_hornsSkull" + ) + var/list/eye_styles = list( + "dragon_eyesNormal" + ) + switch(choice) + if("Underbelly") + options = underbelly_styles + for(var/option in options) + var/image/I = image('icons/mob/vore128x64.dmi', option, dir = 4, pixel_x = -48) + LAZYSET(options, option, I) + choice = show_radial_menu(protie, protie, options, radius = 90) + if(!choice || QDELETED(protie) || protie.incapacitated()) + return 0 + var/new_color = input("Pick underbelly color:","Underbelly Color", S.dragon_overlays[1]) as null|color + if(!new_color) + return 0 + S.dragon_overlays[1] = choice + S.dragon_overlays[S.dragon_overlays[1]] = new_color + if("Body") + options = body_styles + for(var/option in options) + var/image/I = image('icons/mob/vore128x64.dmi', option, dir = 4, pixel_x = -48) + LAZYSET(options, option, I) + choice = show_radial_menu(protie, protie, options, radius = 90) + if(!choice || QDELETED(protie) || protie.incapacitated()) + return 0 + var/new_color = input("Pick body color:","Body Color", S.dragon_overlays[2]) as null|color + if(!new_color) + return 0 + S.dragon_overlays[2] = choice + S.dragon_overlays[S.dragon_overlays[2]] = new_color + if("Ears") + options = ear_styles + for(var/option in options) + var/image/I = image('icons/mob/vore128x64.dmi', option, dir = 4, pixel_x = -76, pixel_y = -50) + LAZYSET(options, option, I) + choice = show_radial_menu(protie, protie, options, radius = 90) + if(!choice || QDELETED(protie) || protie.incapacitated()) + return 0 + var/new_color = input("Pick ear color:","Ear Color", S.dragon_overlays[3]) as null|color + if(!new_color) + return 0 + S.dragon_overlays[3] = choice + S.dragon_overlays[S.dragon_overlays[3]] = new_color + if("Mane") + options = mane_styles + for(var/option in options) + var/image/I = image('icons/mob/vore128x64.dmi', option, dir = 4, pixel_x = -76, pixel_y = -50) + LAZYSET(options, option, I) + choice = show_radial_menu(protie, protie, options, radius = 90) + if(!choice || QDELETED(protie) || protie.incapacitated()) + return 0 + var/new_color = input("Pick mane color:","Mane Color", S.dragon_overlays[4]) as null|color + if(!new_color) + return 0 + S.dragon_overlays[4] = choice + S.dragon_overlays[S.dragon_overlays[4]] = new_color + if("Horns") + options = horn_styles + for(var/option in options) + var/image/I = image('icons/mob/vore128x64.dmi', option, dir = 4, pixel_x = -86, pixel_y = -50) + LAZYSET(options, option, I) + choice = show_radial_menu(protie, protie, options, radius = 90) + if(!choice || QDELETED(protie) || protie.incapacitated()) + return 0 + var/new_color = input("Pick horn color:","Horn Color", S.dragon_overlays[5]) as null|color + if(!new_color) + return 0 + S.dragon_overlays[5] = choice + S.dragon_overlays[S.dragon_overlays[5]] = new_color + if("Eyes") + options = eye_styles + for(var/option in options) + var/image/I = image('icons/mob/vore128x64.dmi', option, dir = 2, pixel_x = -48, pixel_y = -50) + LAZYSET(options, option, I) + choice = show_radial_menu(protie, protie, options, radius = 90) + if(!choice || QDELETED(protie) || protie.incapacitated()) + return 0 + var/new_color = input("Pick eye color:","Eye Color", S.dragon_overlays[6]) as null|color + if(!new_color) + return 0 + S.dragon_overlays[6] = choice + S.dragon_overlays[S.dragon_overlays[6]] = new_color + S.blob_appearance = "dragon" + if("Primary") + var/new_color = input("Pick primary color:","Protean Primary", "#FF0000") as null|color + if(!new_color) + return + S.blob_color_1 = new_color + if("Highlight") + var/new_color = input("Pick highlight color:","Protean Highlight", "#FF0000") as null|color + if(!new_color) + return + S.blob_color_2 = new_color + else + S.blob_appearance = blobstyle + if(temporary_form) + if(blobstyle) + temporary_form.update_icon() + if(istype(temporary_form.loc, /obj/item/holder/protoblob)) + var/obj/item/holder/protoblob/PB = temporary_form.loc + PB.item_state = S.blob_appearance + +/mob/living/carbon/human/proc/nano_latch() + set name = "Latch/Unlatch host" + set desc = "Allows a protean to forcibly latch or unlatch from a host." + //set category = "Abilities.Protean" + set hidden = 1 + var/mob/living/protie = src + var/mob/living/carbon/human/target + var/datum/species/protean/S = src.species + if(nano_dead_check(src)) return - - var/size_factor = new_size/100 - - //Will be: -1.75 for 200->25, and 1.75 for 25->200 - var/sizediff = size_factor - user.size_multiplier - - //Negative if shrinking, positive if growing - //Will be (PLSC*2)*-1.75 to 1.75 - //For 2000 PLSC that's -7000 to 7000 - var/cost = (PER_LIMB_STEEL_COST*2)*sizediff - - //Sizing up - if(cost > 0) - if(refactory.use_stored_material(MAT_STEEL,cost)) - user.resize(size_factor, ignore_prefs = TRUE) + if(temporary_form) + protie = temporary_form + if(protie.loc == S.OurRig) + target = S.OurRig.wearer + if(target) + target.drop_from_inventory(S.OurRig) + to_chat(protie, span_notice("You detach from your host.")) + else + to_chat(protie, span_warning("You aren't being worn, dummy.")) + return + var/obj/held_item = protie.get_active_hand() + if(istype(held_item,/obj/item/grab)) + var/obj/item/grab/G = held_item + if(istype(G.affecting, /mob/living/carbon/human)) + target = G.affecting + if(istype(target.species, /datum/species/protean)) + to_chat(protie, span_danger("You can't latch onto a fellow Protean!")) + return + if(G.loc == protie && G.state >= GRAB_AGGRESSIVE) + protie.visible_message(span_warning("[protie] is attempting to latch onto [target]!"), span_danger("You attempt to latch onto [target]!")) + if(do_after(protie, 50, target,exclusive = TASK_ALL_EXCLUSIVE)) + if(G.loc == protie && G.state >= GRAB_AGGRESSIVE) + target.drop_from_inventory(target.back) + protie.visible_message(span_danger("[protie] latched onto [target]!"), span_danger("You latch yourself onto [target]!")) + target.Weaken(3) + nano_rig_transform(1) + spawn(5) //Have to give time for the above proc to resolve + //S.OurRig.forceMove(target) + target.equip_to_slot(S.OurRig, slot_back) + S.OurRig.Moved() + spawn(1) //Same here :( + S.OurRig.wearer = target + else + to_chat(protie, span_warning("You need a more aggressive grab to do this!")) else - to_chat(user,"That size change would cost [cost] steel, which you don't have.") - //Sizing down (or not at all) - else if(cost <= 0) - cost = abs(cost) - var/actually_added = refactory.add_stored_material(MAT_STEEL,cost) - user.resize(size_factor, ignore_prefs = TRUE) - if(actually_added != cost) - to_chat(user,"Unfortunately, [cost-actually_added] steel was lost due to lack of storage space.") - - user.visible_message("Black mist swirls around [user] as they change size.") + to_chat(protie, span_warning("You can only latch onto humanoid mobs!")) + else + to_chat(protie, span_warning("You need to be grabbing a humanoid mob aggressively to latch onto them.")) /// /// /// A helper to reuse /mob/living/proc/nano_get_refactory(obj/item/organ/internal/nano/refactory/R) @@ -340,7 +611,18 @@ /mob/living/carbon/human/nano_get_refactory() return ..(locate(/obj/item/organ/internal/nano/refactory) in internal_organs) +//I hate this whole bit but I want proteans to be able to "die" and still be "alive" in their blob as a suit +/mob/living/carbon/human/proc/nano_dead_check(var/mob/living/protie) + if(istype(src.species, /datum/species/protean)) + var/datum/species/protean/S = src.species + if(S.pseudodead) + return 1 + return 0 +/mob/living/carbon/human/proc/nano_set_dead(var/num) + if(istype(src.species, /datum/species/protean)) + var/datum/species/protean/S = src.species + S.pseudodead = num /// /// /// Ability objects for stat panel /obj/effect/protean_ability @@ -358,7 +640,7 @@ var/opts = clickprops["shift"] if(opts) - to_chat(usr,"[ability_name] - [desc]") + to_chat(usr,span_notice(span_bold("[ability_name]") + " - [desc]")) else //Humanform using it if(ishuman(usr)) @@ -371,20 +653,20 @@ /obj/effect/protean_ability/proc/do_ability(var/mob/living/L) if(istype(L)) call(L,to_call)() - return FALSE + return 0 /// The actual abilities /obj/effect/protean_ability/into_blob ability_name = "Toggle Blobform" - desc = "Discard your shape entirely, changing to a low-energy blob that can fit into small spaces. You'll consume steel to repair yourself in this form." + desc = "Discard your shape entirely, changing to a low-energy blob. You'll consume steel to repair yourself in this form." icon_state = "blob" to_call = /mob/living/carbon/human/proc/nano_blobform /obj/effect/protean_ability/change_volume ability_name = "Change Volume" - desc = "Alter your size by consuming steel to produce additional nanites, or regain steel by reducing your size and reclaiming them." + desc = "Alter your size between 25% and 200%." icon_state = "volume" - to_call = /mob/living/carbon/human/proc/nano_set_size + to_call = /mob/living/proc/set_size /obj/effect/protean_ability/reform_limb ability_name = "Ref - Single Limb" @@ -393,15 +675,80 @@ to_call = /mob/living/carbon/human/proc/nano_partswap /obj/effect/protean_ability/reform_body - ability_name = "Ref - Whole Body" - desc = "Rebuild your entire body into whatever design you want, assuming you have 10,000 metal." + ability_name = "Total Reassembly" + desc = "Fully repair yourself or reload your appearance from whatever character slot you have loaded." icon_state = "body" to_call = /mob/living/carbon/human/proc/nano_regenerate /obj/effect/protean_ability/metal_nom ability_name = "Ref - Store Metals" - desc = "Store the metal you're holding. Your refactory can only store steel, and all other metals will be converted into nanites ASAP for various effects." + desc = "Store the metal you're holding. Your refactory can only store steel." icon_state = "metal" to_call = /mob/living/carbon/human/proc/nano_metalnom +/obj/effect/protean_ability/hardsuit + ability_name = "Hardsuit Transform" + desc = "Coalesce your nanite swarm into their control module, allowing others to wear you." + icon_state = "rig" + to_call = /mob/living/carbon/human/proc/nano_rig_transform + +/obj/effect/protean_ability/appearance_switch + ability_name = "Blob Appearance" + desc = "Toggle your blob appearance. Also affects your worn appearance." + icon_state = "switch" + to_call = /mob/living/carbon/human/proc/appearance_switch + +/obj/effect/protean_ability/latch_host + ability_name = "Latch Host" + desc = "Forcibly latch or unlatch your RIG from a host mob." + icon_state = "latch" + to_call = /mob/living/carbon/human/proc/nano_latch + +/obj/effect/protean_ability/copy_form + ability_name = "Copy Form" + desc = "If you are aggressively grabbing someone, with their consent, you can turn into a copy of them. (Without their name)." + icon_state = "copy_form" + to_call = /mob/living/carbon/human/proc/nano_copy_body + #undef PER_LIMB_STEEL_COST + +/mob/living/carbon/human/proc/chest_transparency_toggle() + set name = "transparency toggle (chest only)" + set category = "Abilities.Protean" + if(stat || world.time < last_special) + return + last_special = world.time + 50 + for(var/obj/item/organ/external/proteanlimbs as anything in src.organs) + if(proteanlimbs.organ_tag == BP_HEAD) + continue + proteanlimbs.transparent = !proteanlimbs.transparent + visible_message(span_notice("\The [src]'s internal composition seems to change.")) + update_icons_body() + update_hair() + +/obj/effect/protean_ability/chest_transparency + ability_name = "body transparency toggle (All but head)" + desc = "Makes everything but your head transparent!" + icon = 'icons/obj/slimeborg/slimecore.dmi' + icon_state = "core" + to_call = /mob/living/carbon/human/proc/chest_transparency_toggle + +/mob/living/carbon/human/proc/transparency_toggle() + set name = "Toggle Transparency" + set category = "Abilities.Protean" + if(stat || world.time < last_special) + return + last_special = world.time + 50 + for(var/obj/item/organ/external/proteanlimbs as anything in src.organs) + proteanlimbs.transparent = !proteanlimbs.transparent + + visible_message(span_notice("\The [src]'s internal composition seems to change.")) + update_icons_body() + update_hair() + +/obj/effect/protean_ability/transparency_for_entire_body + ability_name = "Toggle Transparency" + desc = "transparency toggle for your entire body" + icon = 'icons/obj/slimeborg/slimecore.dmi' + icon_state = "core" + to_call = /mob/living/carbon/human/proc/transparency_toggle diff --git a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_rig.dm b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_rig.dm new file mode 100644 index 00000000000..79eaa0a9224 --- /dev/null +++ b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_rig.dm @@ -0,0 +1,609 @@ +/* + proteans +*/ +/obj/item/rig/protean + name = "nanosuit control cluster" + suit_type = "nanomachine" + icon = 'icons/obj/rig_modules_vr.dmi' + default_mob_icon = null //Actually having a forced sprite for Proteans is ugly af. I'm not gonna make this a toggle + icon_state = "nanomachine_rig" + armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 100) + siemens_coefficient= 1 + slowdown = 0 + offline_slowdown = 0 + seal_delay = 0 + var/mob/living/myprotean + initial_modules = list(/obj/item/rig_module/protean/syphon, /obj/item/rig_module/protean/armor, /obj/item/rig_module/protean/healing) + + helm_type = /obj/item/clothing/head/helmet/space/rig/protean //These are important for sprite pointers + boot_type = /obj/item/clothing/shoes/magboots/rig/protean + chest_type = /obj/item/clothing/suit/space/rig/protean + glove_type = /obj/item/clothing/gloves/gauntlets/rig/protean + protean = 1 + offline_vision_restriction = 0 + open = 1 + cell_type = /obj/item/cell/protean + var/dead = 0 + //interface_path = "RIGSuit_protean" + //ai_interface_path = "RIGSuit_protean" + var/sealed = 0 + var/assimilated_rig + var/can_assimilate_rig = FALSE + +/obj/item/rig/protean/relaymove(mob/user, var/direction) + if(user.stat || user.stunned) + return + forced_move(direction, user, 0) + +/obj/item/rig/protean/check_suit_access(mob/living/user) + if(user == myprotean) + return 1 + return ..() + +/obj/item/rig/protean/digest_act(atom/movable/item_storage = null) + return 0 + +/obj/item/rig/protean/ex_act(severity) + return + +/obj/item/rig/protean/New(var/newloc, var/mob/living/carbon/human/P) + if(P) + var/datum/species/protean/S = P.species + S.OurRig = src + if(P.back) + addtimer(CALLBACK(src, PROC_REF(AssimilateBag), P, 1, P.back), 3) + myprotean = P + else + to_chat(P, span_notice("You should have spawned with a backpack to assimilate into your RIG. Try clicking it with a backpack.")) + ..(newloc) + +/obj/item/rig/protean/Destroy() + if(myprotean) + var/mob/living/carbon/human/P = myprotean + var/datum/species/protean/S = P?.species + S?.OurRig = null + myprotean = null + . = ..() + + +/obj/item/rig/proc/AssimilateBag(var/mob/living/carbon/human/P, var/spawned, var/obj/item/storage/backpack/B) + if(istype(B,/obj/item/storage/backpack)) + if(spawned) + B = P.back + P.unEquip(P.back) + if(QDELETED(B)) // for mannequins or such + return + B.forceMove(src) + rig_storage = B + P.drop_item(B) + to_chat(P, span_notice("[B] has been integrated into the [src].")) + if(spawned) //This feels very dumb to have a second if but I'm lazy + P.equip_to_slot_if_possible(src, slot_back) + src.Moved() + else + to_chat(P,span_warning("Your rigsuit can only assimilate a backpack into itself. If you are seeing this message, and you do not have a rigsuit, tell a coder.")) + +/obj/item/rig/protean/verb/RemoveBag() + set name = "Remove Stored Bag" + set category = "Object" + + if(rig_storage) + usr.put_in_hands(rig_storage) + rig_storage = null + else + to_chat(usr, "This Rig does not have a bag installed. Use a bag on it to install one.") + +/obj/item/rig/protean/attack_hand(mob/user as mob) + if (src.loc == user) + if(rig_storage) + src.rig_storage.open(user) + else + ..() + for(var/mob/M in range(1)) + if (M.s_active == src) + src.rig_storage.close(M) + src.add_fingerprint(user) + return + +/obj/item/clothing/head/helmet/space/rig/protean + name = "mass" + desc = "A helmet-shaped clump of nanomachines." + light_overlay = "should not use a light overlay" + species_restricted = list(SPECIES_PROTEAN, SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_TAJ, SPECIES_UNATHI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_PROMETHEAN, SPECIES_XENOHYBRID, SPECIES_VOX, SPECIES_TESHARI, SPECIES_VASILISSAN, SPECIES_XENOMORPH_HYBRID) + sprite_sheets = list( + SPECIES_PROTEAN = 'icons/mob/head.dmi', + SPECIES_HUMAN = 'icons/mob/head.dmi', + SPECIES_TAJ = 'icons/mob/species/tajaran/helmet.dmi', + SPECIES_SKRELL = 'icons/mob/species/skrell/helmet.dmi', + SPECIES_UNATHI = 'icons/mob/species/unathi/helmet.dmi', + SPECIES_XENOHYBRID = 'icons/mob/species/unathi/helmet.dmi', + SPECIES_AKULA = 'icons/mob/species/akula/helmet.dmi', + SPECIES_SERGAL = 'icons/mob/species/sergal/helmet.dmi', + SPECIES_NEVREAN = 'icons/mob/species/sergal/helmet.dmi', + SPECIES_VULPKANIN = 'icons/mob/species/vulpkanin/helmet.dmi', + SPECIES_ZORREN_HIGH = 'icons/mob/species/fox/helmet.dmi', + SPECIES_FENNEC = 'icons/mob/species/vulpkanin/helmet.dmi', + SPECIES_PROMETHEAN = 'icons/mob/species/skrell/helmet.dmi', + SPECIES_TESHARI = 'icons/mob/species/teshari/helmet.dmi', + SPECIES_VASILISSAN = 'icons/mob/species/skrell/helmet.dmi', + SPECIES_VOX = 'icons/mob/species/vox/head.dmi', + SPECIES_XENOMORPH_HYBRID = 'icons/mob/species/xenomorph_hybrid/helmet.dmi' + ) + + sprite_sheets_obj = list( + SPECIES_PROTEAN = 'icons/mob/head.dmi', + SPECIES_HUMAN = 'icons/mob/head.dmi', + SPECIES_TAJ = 'icons/mob/head.dmi', + SPECIES_SKRELL = 'icons/mob/head.dmi', + SPECIES_UNATHI = 'icons/mob/head.dmi', + SPECIES_XENOHYBRID = 'icons/mob/head.dmi', + SPECIES_AKULA = 'icons/mob/head.dmi', + SPECIES_SERGAL = 'icons/mob/head.dmi', + SPECIES_NEVREAN = 'icons/mob/head.dmi', + SPECIES_VULPKANIN = 'icons/mob/head.dmi', + SPECIES_ZORREN_HIGH = 'icons/mob/head.dmi', + SPECIES_FENNEC = 'icons/mob/head.dmi', + SPECIES_PROMETHEAN = 'icons/mob/head.dmi', + SPECIES_TESHARI = 'icons/mob/head.dmi', + SPECIES_VASILISSAN = 'icons/mob/head.dmi', + SPECIES_VOX = 'icons/mob/head.dmi', + SPECIES_XENOMORPH_HYBRID = 'icons/mob/head.dmi' + ) + icon = 'icons/mob/head.dmi' + default_worn_icon = 'icons/mob/head.dmi' + +/obj/item/clothing/gloves/gauntlets/rig/protean + name = "mass" + desc = "Glove-shaped clusters of nanomachines." + siemens_coefficient= 0 + species_restricted = list(SPECIES_PROTEAN, SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_TAJ, SPECIES_UNATHI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_PROMETHEAN, SPECIES_XENOHYBRID, SPECIES_VOX, SPECIES_TESHARI, SPECIES_VASILISSAN, SPECIES_XENOMORPH_HYBRID) + sprite_sheets = list( + SPECIES_PROTEAN = 'icons/mob/hands.dmi', + SPECIES_HUMAN = 'icons/mob/hands.dmi', + SPECIES_TAJ = 'icons/mob/hands.dmi', + SPECIES_SKRELL = 'icons/mob/hands.dmi', + SPECIES_UNATHI = 'icons/mob/hands.dmi', + SPECIES_XENOHYBRID = 'icons/mob/hands.dmi', + SPECIES_AKULA = 'icons/mob/hands.dmi', + SPECIES_SERGAL = 'icons/mob/hands.dmi', + SPECIES_NEVREAN = 'icons/mob/hands.dmi', + SPECIES_VULPKANIN = 'icons/mob/hands.dmi', + SPECIES_ZORREN_HIGH = 'icons/mob/hands.dmi', + SPECIES_FENNEC = 'icons/mob/hands.dmi', + SPECIES_PROMETHEAN = 'icons/mob/hands.dmi', + SPECIES_TESHARI = 'icons/mob/species/teshari/hands.dmi', + SPECIES_VASILISSAN = 'icons/mob/hands.dmi', + SPECIES_VOX = 'icons/mob/species/vox/gloves.dmi', + SPECIES_XENOMORPH_HYBRID = 'icons/mob/species/xenomorph_hybrid/gloves.dmi' + ) + + sprite_sheets_obj = list( + SPECIES_HUMAN = 'icons/mob/hands.dmi', + SPECIES_TAJ = 'icons/mob/hands.dmi', + SPECIES_SKRELL = 'icons/mob/hands.dmi', + SPECIES_UNATHI = 'icons/mob/hands.dmi', + SPECIES_XENOHYBRID = 'icons/mob/hands.dmi', + SPECIES_AKULA = 'icons/mob/hands.dmi', + SPECIES_SERGAL = 'icons/mob/hands.dmi', + SPECIES_NEVREAN = 'icons/mob/hands.dmi', + SPECIES_VULPKANIN = 'icons/mob/hands.dmi', + SPECIES_ZORREN_HIGH = 'icons/mob/hands.dmi', + SPECIES_FENNEC = 'icons/mob/hands.dmi', + SPECIES_PROMETHEAN = 'icons/mob/hands.dmi', + SPECIES_TESHARI = 'icons/mob/hands.dmi', + SPECIES_VASILISSAN = 'icons/mob/hands.dmi', + SPECIES_VOX = 'icons/mob/hands.dmi', + SPECIES_XENOMORPH_HYBRID = 'icons/mob/hands.dmi' + ) + icon = 'icons/mob/hands.dmi' + default_worn_icon = 'icons/mob/hands.dmi' + +/obj/item/clothing/shoes/magboots/rig/protean + name = "mass" + desc = "Boot-shaped clusters of nanomachines." + species_restricted = list(SPECIES_PROTEAN, SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_TAJ, SPECIES_UNATHI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_PROMETHEAN, SPECIES_XENOHYBRID, SPECIES_VOX, SPECIES_TESHARI, SPECIES_VASILISSAN, SPECIES_XENOMORPH_HYBRID) + sprite_sheets = list( + SPECIES_TESHARI = 'icons/mob/species/teshari/feet.dmi', + SPECIES_VOX = 'icons/mob/species/vox/shoes.dmi', + SPECIES_XENOMORPH_HYBRID = 'icons/mob/species/xenomorph_hybrid/shoes.dmi' + ) + sprite_sheets_obj = list() + icon = 'icons/mob/feet.dmi' + default_worn_icon = 'icons/mob/feet.dmi' + +/obj/item/clothing/suit/space/rig/protean + name = "mass" + desc = "A body-hugging mass of nanomachines." + can_breach = 0 + species_restricted = list(SPECIES_PROTEAN, SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_TAJ, SPECIES_UNATHI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_PROMETHEAN, SPECIES_XENOHYBRID, SPECIES_VOX, SPECIES_TESHARI, SPECIES_VASILISSAN, SPECIES_XENOMORPH_HYBRID) + allowed = list( + /obj/item/gun, + /obj/item/flashlight, + /obj/item/tank, + /obj/item/suit_cooling_unit, + /obj/item/melee/baton, + /obj/item/storage/backpack, + ) + sprite_sheets = list( + SPECIES_TESHARI = 'icons/mob/species/teshari/suit.dmi', + SPECIES_VOX = 'icons/mob/species/vox/suit.dmi', + SPECIES_XENOMORPH_HYBRID = 'icons/mob/species/xenomorph_hybrid/suit.dmi' + ) + + sprite_sheets_obj = list() + icon = 'icons/mob/spacesuit.dmi' + default_worn_icon = 'icons/mob/spacesuit.dmi' + +//Copy pasted most of this proc from base because I don't feel like rewriting the base proc with a shit load of exceptions +/obj/item/rig/protean/attackby(obj/item/W as obj, mob/living/user as mob) + if(!istype(user)) + return 0 + if(dead) + switch(dead) + if(1) + if(W.is_screwdriver()) + playsound(src, W.usesound, 50, 1) + if(do_after(user,50,src,exclusive = TASK_ALL_EXCLUSIVE)) + to_chat(user, span_notice("You unscrew the maintenace panel on the [src].")) + dead +=1 + return + if(2) + if(istype(W, /obj/item/protean_reboot))//placeholder + if(do_after(user,50,src,exclusive = TASK_ALL_EXCLUSIVE)) + playsound(src, 'sound/items/Deconstruct.ogg', 50, 1) + to_chat(user, span_notice("You carefully slot [W] in the [src].")) + dead +=1 + qdel(W) + return + if(3) + if(istype(W, /obj/item/stack/nanopaste)) + if(do_after(user,50,src,exclusive = TASK_ALL_EXCLUSIVE)) + playsound(src, 'sound/effects/ointment.ogg', 50, 1) + to_chat(user, span_notice("You slather the interior confines of the [src] with the [W].")) + dead +=1 + W?:use(1) + return + if(4) + if(istype(W, /obj/item/shockpaddles)) + if(W?:can_use(user)) + to_chat(user, span_notice("You hook up the [W] to the contact points in the maintenance assembly")) + if(do_after(user,50,src,exclusive = TASK_ALL_EXCLUSIVE)) + playsound(src, 'sound/machines/defib_charge.ogg', 50, 0) + if(do_after(user,10,src)) + playsound(src, 'sound/machines/defib_zap.ogg', 50, 1, -1) + playsound(src, 'sound/machines/defib_success.ogg', 50, 0) + new /obj/effect/gibspawner/robot(src.loc) + src.atom_say("Contact received! Reassembly nanites calibrated. Estimated time to resucitation: 1 minute 30 seconds") + addtimer(CALLBACK(src, PROC_REF(make_alive), myprotean?:humanform), 900) + return + if(istype(W,/obj/item/rig)) + if(!assimilated_rig) + AssimilateRig(user,W) + if(istype(W,/obj/item/tank)) //Todo, some kind of check for suits without integrated air supplies. + if(air_supply) + to_chat(user, "\The [src] already has a tank installed.") + return + + if(!user.unEquip(W)) + return + + air_supply = W + W.forceMove(src) + to_chat(user, "You slot [W] into [src] and tighten the connecting valve.") + return + + // Check if this is a hardsuit upgrade or a modification. + else if(istype(W,/obj/item/rig_module)) + if(!installed_modules) + installed_modules = list() + if(installed_modules.len) + for(var/obj/item/rig_module/installed_mod in installed_modules) + if(!installed_mod.redundant && istype(installed_mod,W)) + to_chat(user, "The hardsuit already has a module of that class installed.") + return 1 + + var/obj/item/rig_module/mod = W + to_chat(user, "You begin installing \the [mod] into \the [src].") + if(!do_after(user,40)) + return + if(!user || !W) + return + if(!user.unEquip(mod)) + return + to_chat(user, "You install \the [mod] into \the [src].") + installed_modules |= mod + mod.forceMove(src) + mod.installed(src) + update_icon() + return 1 + else if(W.is_wrench()) + if(!air_supply) + to_chat(user, "There is no tank to remove.") + return + + if(user.r_hand && user.l_hand) + air_supply.forceMove(get_turf(user)) + else + user.put_in_hands(air_supply) + to_chat(user, "You detach and remove \the [air_supply].") + air_supply = null + return + else if(W.is_screwdriver()) + var/list/possible_removals = list() + for(var/obj/item/rig_module/module in installed_modules) + if(module.permanent) + continue + possible_removals[module.name] = module + + if(!possible_removals.len) + to_chat(user, "There are no installed modules to remove.") + return + + var/removal_choice = tgui_input_list(usr, "Which module would you like to remove?", "Removal Choice", possible_removals) + if(!removal_choice) + return + + var/obj/item/rig_module/removed = possible_removals[removal_choice] + to_chat(user, "You detach \the [removed] from \the [src].") + removed.forceMove(get_turf(src)) + removed.removed() + installed_modules -= removed + update_icon() + return + for(var/obj/item/rig_module/module in installed_modules) + if(module.accepts_item(W,user)) //Item is handled in this proc + return + if(rig_storage) + var/obj/item/storage/backpack = rig_storage + if(backpack.can_be_inserted(W, 1)) + backpack.handle_item_insertion(W) + else + if(istype(W,/obj/item/storage/backpack)) + AssimilateBag(user,0,W) + ..() + +/obj/item/rig/protean/proc/make_alive(var/mob/living/carbon/human/H, var/partial) + if(H) + H.setToxLoss(0) + H.setOxyLoss(0) + H.setCloneLoss(0) + H.setBrainLoss(0) + H.SetParalysis(0) + H.SetStunned(0) + H.SetWeakened(0) + H.blinded = 0 + H.SetBlinded(0) + H.eye_blurry = 0 + H.ear_deaf = 0 + H.ear_damage = 0 + H.heal_overall_damage(H.getActualBruteLoss(), H.getActualFireLoss(), 1) + for(var/I in H.organs_by_name) + if(!H.organs_by_name[I] || istype(H.organs_by_name[I], /obj/item/organ/external/stump)) + if(H.organs_by_name[I]) + var/obj/item/organ/external/oldlimb = H.organs_by_name[I] + oldlimb.removed() + qdel(oldlimb) + var/list/organ_data = H.species.has_limbs[I] + var/limb_path = organ_data["path"] + var/obj/item/organ/external/new_eo = new limb_path(H) + new_eo.robotize(H.synthetic ? H.synthetic.company : null) + new_eo.sync_colour_to_human(H) + if(!partial) + dead_mob_list.Remove(H) + living_mob_list += H + H.tod = null + H.timeofdeath = 0 + H.set_stat(CONSCIOUS) + if(istype(H.species, /datum/species/protean)) + var/datum/species/protean/S + S = H.species + S.pseudodead = 0 + to_chat(myprotean, span_notice("You have finished reconstituting.")) + playsound(src.loc, 'sound/machines/ding.ogg', 50, 1) + dead = 0 + +/obj/item/rig/protean/take_hit(damage, source, is_emp=0) + return //We don't do that here + +/obj/item/rig/protean/emp_act(severity_class) + return //Same here + +/obj/item/rig/protean/cut_suit() + return //nope + +/obj/item/rig/protean/force_rest(var/mob/user) + wearer.lay_down() + to_chat(user, span_notice("\The [wearer] is now [wearer.resting ? "resting" : "getting up"].")) + +/obj/item/cell/protean + name = "Protean power cell" + desc = "Something terrible must have happened if you're managing to see this." + maxcharge = 10000 + charge_amount = 100 + var/mob/living/carbon/human/charger + +/obj/item/cell/protean/Initialize() //ChompEDIT New --> Initialize + charge = maxcharge + update_icon() + addtimer(CALLBACK(src, PROC_REF(search_for_protean)), 60) + +/obj/item/cell/protean/proc/search_for_protean() + if(istype(src.loc, /obj/item/rig/protean)) + var/obj/item/rig/protean/prig = src.loc + charger = prig.wearer + if(charger) + START_PROCESSING(SSobj, src) + +/obj/item/cell/protean/process() + var/C = charge + if(charger) + if((world.time >= last_use + charge_delay) && charger.nutrition > 100) + give(charge_amount) + charger.nutrition -= ((1/200)*(charge - C)) //Take nutrition relative to charge. Change the 1/200 if you want to alter the nutrition to charge ratio + else + return PROCESS_KILL + + +/obj/item/rig/protean/equipped(mob/living/carbon/human/M) + ..() + if(dead) + canremove = 1 + else + canremove = 0 + +/obj/item/rig/protean/ai_can_move_suit(mob/user, check_user_module = 0, check_for_ai = 0) + if(check_for_ai) + return 0 //We don't do that here. + if(offline || !cell || !cell.charge || locked_down) + if(user) + to_chat(user, span_warning("Your host rig is unpowered and unresponsive.")) + return 0 + if(!wearer || (wearer.back != src && wearer.belt != src)) + if(user) + to_chat(user, span_warning("Your host rig is not being worn.")) + return 0 + return 1 + +/obj/item/rig/protean/toggle_seals(mob/living/carbon/human/M, instant) + M = src.wearer + ..() + +/obj/item/rig/protean/toggle_cooling(mob/user) + user = src.wearer + ..() + +/obj/item/rig/protean/toggle_piece(piece, mob/living/carbon/human/H, deploy_mode, forced) + H = src.wearer + ..() + +/obj/item/rig/protean/get_description_interaction() + if(dead) + var/list/results = list() + switch(dead) + if(1) + results += "Use a screwdriver to start repairs." + if(2) + results += "Insert a Protean Reboot Programmer, printed from a protolathe." + if(3) + results += "Use some Nanopaste." + if(4) + results += "Use either a defib or jumper cables to start the reboot sequence." + return results + +//Effectively a round about way of letting a Protean wear other rigs. +/obj/item/rig/protean/proc/AssimilateRig(mob/user, var/obj/item/rig/R) + if(!can_assimilate_rig) + to_chat(user, span_warning("You can not place a rig into \the [src]")) + return + if(!R || assimilated_rig) + return + if(istype(R, /obj/item/rig/protean)) + to_chat(user, span_warning("The world is not ready for such a technological singularity.")) + return + to_chat(user, span_notice("You assimilate the [R] into the [src]. Mimicking its stats and appearance.")) + for(var/obj/item/piece in list(gloves,helmet,boots,chest)) + piece.armor = R.armor.Copy() + piece.max_pressure_protection = R.max_pressure_protection + piece.max_heat_protection_temperature = R.max_heat_protection_temperature + //I dislike this piece of code, but not every rig has the full set of parts + if(R.gloves) + gloves.sprite_sheets = R.gloves.sprite_sheets.Copy() + gloves.sprite_sheets_obj = R.gloves.sprite_sheets.Copy() + gloves.icon = R.gloves.icon + gloves.icon_state = R.gloves.icon_state + gloves.default_worn_icon = R.gloves.default_worn_icon + if(R.helmet) + helmet.sprite_sheets = R.helmet.sprite_sheets.Copy() + helmet.sprite_sheets_obj = R.helmet.sprite_sheets.Copy() + helmet.icon = R.helmet.icon + helmet.icon_state = R.helmet.icon_state + helmet.default_worn_icon = R.helmet.default_worn_icon + if(R.boots) + boots.sprite_sheets = R.boots.sprite_sheets.Copy() + boots.sprite_sheets_obj = R.boots.sprite_sheets.Copy() + boots.icon = R.boots.icon + boots.icon_state = R.boots.icon_state + boots.default_worn_icon = R.boots.default_worn_icon + if(R.chest) + chest.sprite_sheets = R.chest.sprite_sheets.Copy() + chest.sprite_sheets_obj = R.chest.sprite_sheets.Copy() + chest.icon = R.chest.icon + chest.icon_state = R.chest.icon_state + chest.default_worn_icon = R.chest.default_worn_icon + + suit_state = R.suit_state + name = R.name + icon = R.icon + icon_state = R.icon_state + user.drop_item(R) + contents += R + assimilated_rig = R + slowdown = (initial(R.slowdown) *0.5) + offline_slowdown = slowdown + +/obj/item/rig/protean/verb/RemoveRig() + set name = "Remove Assimilated Rig" + set category = "Object" + + if(assimilated_rig) + for(var/obj/item/piece in list(gloves,helmet,boots,chest)) + piece.armor = armor.Copy() + piece.max_pressure_protection = initial(piece.max_pressure_protection) + piece.max_heat_protection_temperature = initial(piece.max_heat_protection_temperature) + piece.icon_state = src.icon_state + piece.icon = initial(piece.icon) + piece.default_worn_icon = initial(piece.default_worn_icon) + + //Byond at this time does not support initial() on lists + //So we have to create a new rig, just so we can copy the lists we're after + //If someone figures out a smarter way to do this, please tell me + var/obj/item/rig/tempRig = new /obj/item/rig/protean() + gloves.sprite_sheets = tempRig.gloves.sprite_sheets.Copy() + gloves.sprite_sheets_obj = tempRig.gloves.sprite_sheets.Copy() + helmet.sprite_sheets = tempRig.helmet.sprite_sheets.Copy() + helmet.sprite_sheets_obj = tempRig.helmet.sprite_sheets.Copy() + boots.sprite_sheets = tempRig.boots.sprite_sheets.Copy() + boots.sprite_sheets_obj = tempRig.boots.sprite_sheets.Copy() + chest.sprite_sheets = tempRig.chest.sprite_sheets.Copy() + chest.sprite_sheets_obj = tempRig.chest.sprite_sheets.Copy() + slowdown = initial(slowdown) + name = tempRig.name + icon = tempRig.icon // Reset the icon back to its original + icon_state = tempRig.icon_state + suit_state = icon_state + offline_slowdown = initial(offline_slowdown) + usr.put_in_hands(assimilated_rig) + assimilated_rig = null + qdel(tempRig) + else + to_chat(usr, "[src] has not assimilated a RIG. Use one on it to assimilate.") + +/obj/item/rig/protean/MouseDrop(obj/over_object as obj) + if(!canremove) + return + + if (isliving(usr) || isobserver(usr)) + + if (istype(usr.loc,/obj/mecha)) // stops inventory actions in a mech. why? + return + + if (!( istype(over_object, /obj/screen) )) + return ..() + + if (!(src.loc == usr) || (src.loc && src.loc.loc == usr)) + return + + if (( usr.restrained() ) || ( usr.stat )) + return + + if ((src.loc == usr) && !(istype(over_object, /obj/screen)) && !usr.unEquip(src)) + return + + switch(over_object.name) + if("r_hand") + usr.unEquip(src) + usr.put_in_r_hand(src) + if("l_hand") + usr.unEquip(src) + usr.put_in_l_hand(src) + src.add_fingerprint(usr) diff --git a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_rig_tgui.dm b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_rig_tgui.dm new file mode 100644 index 00000000000..6c90baed522 --- /dev/null +++ b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_rig_tgui.dm @@ -0,0 +1,128 @@ +/* +It's a bit snowflake, but some rigsuit rewriting was necessary to achieved what I wanted +for protean rigsuits, and rolling these changes into the base RIGsuit code would definitely create +merge conflicts down the line. +So here it sits, snowflake code for a single item. +*/ + +/obj/item/rig/protean/tgui_state(mob/user) + return GLOB.tgui_always_state + +/obj/item/rig/protean/tgui_data(mob/user) + var/list/data = list() + + if(selected_module) + data["primarysystem"] = "[selected_module.interface_name]" + else + data["primarysystem"] = null + + if(loc != user) + data["ai"] = TRUE + else + data["ai"] = FALSE + + data["cooling"] = cooling_on + data["sealed"] = !sealed + data["sealing"] = sealing + data["helmet"] = (helmet ? "[helmet.name]" : "None.") + data["gauntlets"] = (gloves ? "[gloves.name]" : "None.") + data["boots"] = (boots ? "[boots.name]" : "None.") + data["chest"] = (chest ? "[chest.name]" : "None.") + + data["helmetDeployed"] = (helmet && helmet.loc == loc) + data["gauntletsDeployed"] = (gloves && gloves.loc == loc) + data["bootsDeployed"] = (boots && boots.loc == loc) + data["chestDeployed"] = (chest && chest.loc == loc) + + data["charge"] = cell ? round(cell.charge,1) : 0 + data["maxcharge"] = cell ? cell.maxcharge : 0 + data["chargestatus"] = cell ? FLOOR((cell.charge/cell.maxcharge)*50, 1) : 0 + + data["emagged"] = subverted + data["coverlock"] = locked + data["interfacelock"] = interface_locked + data["aicontrol"] = control_overridden + data["aioverride"] = ai_override_enabled + data["securitycheck"] = security_check_enabled + data["malf"] = malfunction_delay + + var/list/module_list = list() + if(!canremove && !sealing) + var/i = 1 + for(var/obj/item/rig_module/module in installed_modules) + var/list/module_data = list( + "index" = i, + "name" = "[module.interface_name]", + "desc" = "[module.interface_desc]", + "can_use" = module.usable, + "can_select" = module.selectable, + "can_toggle" = module.toggleable, + "is_active" = module.active, + "engagecost" = module.use_power_cost*10, + "activecost" = module.active_power_cost*10, + "passivecost" = module.passive_power_cost*10, + "engagestring" = module.engage_string, + "activatestring" = module.activate_string, + "deactivatestring" = module.deactivate_string, + "damage" = module.damage + ) + + if(module.charges && module.charges.len) + module_data["charges"] = list() + var/datum/rig_charge/selected = module.charges["[module.charge_selected]"] + module_data["realchargetype"] = module.charge_selected + module_data["chargetype"] = selected ? "[selected.display_name]" : "none" + + for(var/chargetype in module.charges) + var/datum/rig_charge/charge = module.charges[chargetype] + module_data["charges"] += list(list("caption" = "[charge.display_name] ([charge.charges])", "index" = "[chargetype]")) + + module_list += list(module_data) + i++ + + if(module_list.len) + data["modules"] = module_list + else + data["modules"] = list() + + return data +/* +/obj/item/rig/protean/tgui_act(action, params) + switch(action) + if("toggle_seals") + toggle_seals(wearer) + . = TRUE + if("toggle_cooling") + toggle_cooling(wearer) + . = TRUE + if("toggle_ai_control") + to_chat(usr, span_notice("Proteans cannot be AI controlled.")) + . = TRUE + if("toggle_suit_lock") + locked = !locked + . = TRUE + if("toggle_piece") + toggle_piece(params["piece"], wearer) + . = TRUE + if("interact_module") + var/module_index = text2num(params["module"]) + + if(module_index > 0 && module_index <= installed_modules.len) + var/obj/item/rig_module/module = installed_modules[module_index] + switch(params["module_mode"]) + if("select") + selected_module = module + . = TRUE + if("engage") + module.engage() + . = TRUE + if("toggle") + if(module.active) + module.deactivate() + else + module.activate() + . = TRUE + if("select_charge_type") + module.charge_selected = params["charge_type"] + . = TRUE +*/ diff --git a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_species.dm b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_species.dm index eb04f2d6de3..97b094968f1 100755 --- a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_species.dm +++ b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_species.dm @@ -1,13 +1,12 @@ -#define DAM_SCALE_FACTOR 0.01 -#define METAL_PER_TICK 100 +#define METAL_PER_TICK SHEET_MATERIAL_AMOUNT/20 /datum/species/protean name = SPECIES_PROTEAN name_plural = "Proteans" blurb = "Sometimes very advanced civilizations will produce the ability to swap into manufactured, robotic bodies. And sometimes \ - VERY advanced civilizations have the option of 'nanoswarm' bodies. Effectively a single robot body comprised \ + " + span_italics("VERY") + " advanced civilizations have the option of 'nanoswarm' bodies. Effectively a single robot body comprised \ of millions of tiny nanites working in concert to maintain cohesion." show_ssd = "totally quiescent" - death_message = "rapidly loses cohesion, dissolving into a cloud of gray dust..." + death_message = "rapidly loses cohesion, retreating into their hardened control module..." knockout_message = "collapses inwards, forming a disordered puddle of gray goo." remains_type = /obj/effect/decal/cleanable/ash @@ -26,50 +25,52 @@ num_alternate_languages = 3 species_language = LANGUAGE_EAL assisted_langs = list(LANGUAGE_ROOTLOCAL, LANGUAGE_ROOTGLOBAL, LANGUAGE_VOX) + speech_bubble_appearance = "synthetic" color_mult = TRUE breath_type = null poison_type = null - virus_immune = 1 - blood_volume = 0 - min_age = 18 - max_age = 200 - brute_mod = 0.8 - burn_mod = 1.5 - oxy_mod = 0 - item_slowdown_mod = 1.33 - - cold_level_1 = 280 //Default 260 - Lower is better - cold_level_2 = 220 //Default 200 - cold_level_3 = 130 //Default 120 - - heat_level_1 = 320 //Default 360 - heat_level_2 = 370 //Default 400 - heat_level_3 = 600 //Default 1000 + // male_scream_sound = null + // female_scream_sound = null + + virus_immune = 1 + blood_volume = 0 + min_age = 18 + max_age = 200 + oxy_mod = 0 + //radiation_mod = 0 //Can't be assed with fandangling rad protections while blob formed/suited + siemens_coefficient = 2 + brute_mod = 0.8 + burn_mod = 1.5 + emp_dmg_mod = 0.8 + emp_sensitivity = EMP_BLIND | EMP_DEAFEN | EMP_BRUTE_DMG | EMP_BURN_DMG + item_slowdown_mod = 1.5 //Gentle encouragement to let others wear you hazard_low_pressure = -1 //Space doesn't bother them - hazard_high_pressure = 200 //They can cope with slightly higher pressure - //Cold/heat does affect them, but it's done in special ways below cold_level_1 = -INFINITY cold_level_2 = -INFINITY cold_level_3 = -INFINITY - heat_level_1 = INFINITY - heat_level_2 = INFINITY - heat_level_3 = INFINITY + heat_level_1 = 420 + heat_level_2 = 480 + heat_level_3 = 1100 + + body_temperature = 290 - body_temperature = 290 + rarity_value = 5 - siemens_coefficient = 1.5 //Very bad zappy times - rarity_value = 5 + // species_sounds = "Robotic" + + // crit_mod = 4 //Unable to go crit + var/obj/item/rig/protean/OurRig genders = list(MALE, FEMALE, PLURAL, NEUTER) has_organ = list( O_BRAIN = /obj/item/organ/internal/mmi_holder/posibrain/nano, O_ORCH = /obj/item/organ/internal/nano/orchestrator, - O_FACT = /obj/item/organ/internal/nano/refactory + O_FACT = /obj/item/organ/internal/nano/refactory, ) has_limbs = list( BP_TORSO = list("path" = /obj/item/organ/external/chest/unbreakable/nano), @@ -85,7 +86,7 @@ BP_R_FOOT = list("path" = /obj/item/organ/external/foot/right/unbreakable/nano) ) - heat_discomfort_strings = list("You feel too warm.") + heat_discomfort_strings = list("WARNING: Temperature exceeding acceptable thresholds!.") cold_discomfort_strings = list("You feel too cool.") //These verbs are hidden, for hotkey use only @@ -94,7 +95,11 @@ /mob/living/carbon/human/proc/nano_partswap, /mob/living/carbon/human/proc/nano_metalnom, /mob/living/carbon/human/proc/nano_blobform, - /mob/living/carbon/human/proc/nano_set_size, + /mob/living/carbon/human/proc/nano_rig_transform, + /mob/living/carbon/human/proc/nano_copy_body, + /mob/living/carbon/human/proc/appearance_switch, + /mob/living/carbon/human/proc/nano_latch, + /mob/living/proc/set_size, /mob/living/carbon/human/proc/nano_change_fitting, //These verbs are displayed normally, /mob/living/carbon/human/proc/shapeshifter_select_hair, /mob/living/carbon/human/proc/shapeshifter_select_hair_colors, @@ -103,13 +108,31 @@ /mob/living/carbon/human/proc/shapeshifter_select_gender, /mob/living/carbon/human/proc/shapeshifter_select_wings, /mob/living/carbon/human/proc/shapeshifter_select_tail, - /mob/living/carbon/human/proc/shapeshifter_select_ears - ) + /mob/living/carbon/human/proc/shapeshifter_select_ears, + /mob/living/carbon/human/proc/shapeshifter_select_secondary_ears, + /mob/living/proc/flying_toggle, + /mob/living/proc/flying_vore_toggle, + /mob/living/proc/start_wings_hovering, + ) //removed fetish verbs, since non-customs can pick neutral traits now. Also added flight, cause shapeshifter can grow wings. var/global/list/abilities = list() var/monochromatic = FALSE //IGNORE ME + var/blob_appearance = "puddle1" + var/blob_color_1 = "#363636" + var/blob_color_2 = "#ba3636" + var/list/dragon_overlays = list( + "dragon_underSmooth" = "#FFFFFF", + "dragon_bodySmooth" = "#FFFFFF", + "dragon_earsNormal" = "#FFFFFF", + "dragon_maneShaggy" = "#FFFFFF", + "dragon_hornsPointy" = "#FFFFFF", + "dragon_eyesNormal" = "#FFFFFF" + ) + + var/pseudodead = 0 + /datum/species/protean/New() ..() if(!LAZYLEN(abilities)) @@ -118,7 +141,7 @@ abilities += new path() /datum/species/protean/create_organs(var/mob/living/carbon/human/H) - var/obj/item/device/nif/saved_nif = H.nif + var/obj/item/nif/saved_nif = H.nif if(saved_nif) H.nif.unimplant(H) //Needs reference to owner to unimplant right. H.nif.moveToNullspace() @@ -126,20 +149,62 @@ if(saved_nif) saved_nif.quick_implant(H) +/datum/species/protean/get_race_key() + var/datum/species/real = GLOB.all_species[base_species] + return real.race_key + /datum/species/protean/get_bodytype(var/mob/living/carbon/human/H) if(!H || base_species == name) return ..() var/datum/species/S = GLOB.all_species[base_species] return S.get_bodytype(H) +/datum/species/protean/get_icobase(var/mob/living/carbon/human/H, var/get_deform) + if(!H || base_species == name) return ..(null, get_deform) + var/datum/species/S = GLOB.all_species[base_species] + return S.get_icobase(H, get_deform) + /datum/species/protean/get_valid_shapeshifter_forms(var/mob/living/carbon/human/H) - return GLOB.playable_species + var/static/list/protean_shapeshifting_forms = GLOB.playable_species.Copy() - SPECIES_PROMETHEAN + return protean_shapeshifting_forms + +/datum/species/protean/get_tail(var/mob/living/carbon/human/H) + if(!H || base_species == name) return ..() + var/datum/species/S = GLOB.all_species[base_species] + return S.get_tail(H) + +/datum/species/protean/get_tail_animation(var/mob/living/carbon/human/H) + if(!H || base_species == name) return ..() + var/datum/species/S = GLOB.all_species[base_species] + return S.get_tail_animation(H) + +/datum/species/protean/get_tail_hair(var/mob/living/carbon/human/H) + if(!H || base_species == name) return ..() + var/datum/species/S = GLOB.all_species[base_species] + return S.get_tail_hair(H) + +/datum/species/protean/get_blood_mask(var/mob/living/carbon/human/H) + if(!H || base_species == name) return ..() + var/datum/species/S = GLOB.all_species[base_species] + return S.get_blood_mask(H) + +/datum/species/protean/get_damage_mask(var/mob/living/carbon/human/H) + if(!H || base_species == name) return ..() + var/datum/species/S = GLOB.all_species[base_species] + return S.get_damage_mask(H) + +/datum/species/protean/get_damage_overlays(var/mob/living/carbon/human/H) + if(!H || base_species == name) return ..() + var/datum/species/S = GLOB.all_species[base_species] + return S.get_damage_overlays(H) /datum/species/protean/handle_post_spawn(var/mob/living/carbon/human/H) ..() H.synth_color = TRUE /datum/species/protean/equip_survival_gear(var/mob/living/carbon/human/H) - var/obj/item/stack/material/steel/metal_stack = new(null, 3) + ..() + var/obj/item/stack/material/steel/metal_stack = new() + metal_stack.set_amount(5) var/obj/item/clothing/accessory/permit/nanotech/permit = new() permit.set_name(H.real_name) @@ -155,11 +220,13 @@ if(!H) //Human could have been deleted in this amount of time. Observing does this, mannequins, etc. return if(!H.nif) - var/obj/item/device/nif/protean/new_nif = new() + var/obj/item/nif/protean/new_nif = new() new_nif.quick_implant(H) else H.nif.durability = 25 + new /obj/item/rig/protean(H,H) + /datum/species/protean/hug(var/mob/living/carbon/human/H, var/mob/living/target) return ..() //Wut @@ -171,18 +238,22 @@ /datum/species/protean/handle_death(var/mob/living/carbon/human/H) if(!H) - return // Iono! - + return //No body? + if(OurRig.dead) + return + OurRig.dead = 1 + var/mob/temp = H if(H.temporary_form) - H.forceMove(H.temporary_form.drop_location()) - H.ckey = H.temporary_form.ckey - QDEL_NULL(H.temporary_form) - - to_chat(H, "You died as a Protean. Please sit out of the round for at least 60 minutes before respawning, to represent the time it would take to ship a new-you to the station.") - - spawn(1) - if(H) - H.gib() + temp = H.temporary_form + playsound(temp, 'sound/voice/borg_deathsound.ogg', 50, 1) + temp.visible_message(span_bold("[temp.name]") + " shudders and retreats inwards, coalescing into a single core componant!") + to_chat(temp, span_warning("You've died as a Protean! While dead, you will be locked to your core RIG control module until you can be repaired. Instructions to your revival can be found in the Examine tab when examining your module.")) + if(H.temporary_form) + if(!istype(H.temporary_form.loc, /obj/item/rig/protean)) + H.nano_rig_transform(1) + else + H.nano_rig_transform(1) + pseudodead = 1 /datum/species/protean/handle_environment_special(var/mob/living/carbon/human/H) if((H.getActualBruteLoss() + H.getActualFireLoss()) > H.maxHealth*0.5 && isturf(H.loc)) //So, only if we're not a blob (we're in nullspace) or in someone (or a locker, really, but whatever) @@ -212,22 +283,32 @@ /datum/species/protean/get_additional_examine_text(var/mob/living/carbon/human/H) return ..() //Hmm, what could be done here? -/datum/species/protean/Stat(var/mob/living/carbon/human/H) +/datum/species/protean/update_misc_tabs(var/mob/living/carbon/human/H) ..() - if(statpanel("Protean")) - var/obj/item/organ/internal/nano/refactory/refactory = H.nano_get_refactory() - if(refactory && !(refactory.status & ORGAN_DEAD)) - stat(null, "- -- --- Refactory Metal Storage --- -- -") - var/max = refactory.max_storage - for(var/material in refactory.materials) - var/amount = refactory.get_stored_material(material) - stat("[capitalize(material)]", "[amount]/[max]") - else - stat(null, "- -- --- REFACTORY ERROR! --- -- -") - - stat(null, "- -- --- Abilities (Shift+LMB Examines) --- -- -") - for(var/obj/effect/protean_ability/A as anything in abilities) - stat("[A.ability_name]",A.atom_button_text()) + var/list/L = list() + var/obj/item/organ/internal/nano/refactory/refactory = H.nano_get_refactory() + if(refactory && !(refactory.status & ORGAN_DEAD)) + L[++L.len] = list("- -- --- Refactory Metal Storage --- -- -", null, null, null, null) + var/max = refactory.max_storage + for(var/material in refactory.materials) + var/amount = refactory.get_stored_material(material) + L[++L.len] = list("[capitalize(material)]: [amount]/[max]", null, null, null, null) + else + L[++L.len] = list("- -- --- REFACTORY ERROR! --- -- -", null, null, null, null) + + L[++L.len] = list("- -- --- Abilities (Shift+LMB Examines) --- -- -", null, null, null, null) + for(var/obj/effect/protean_ability/A as anything in abilities) + var/client/C = H.client + var/img + if(C && istype(C)) //sanity checks + if(A.ability_name in C.misc_cache) + img = C.misc_cache[A.ability_name] + else + img = icon2html(A,C,sourceonly=TRUE) + C.misc_cache[A.ability_name] = img + + L[++L.len] = list("[A.ability_name]", A.ability_name, img, A.atom_button_text(), REF(A)) + H.misc_tabs["Protean"] = L // Various modifiers /datum/modifier/protean @@ -263,8 +344,8 @@ name = "Protean Effect - M.Hydrogen" desc = "You're affected by the presence of metallic hydrogen." - on_created_text = "You feel yourself accelerate, the metallic hydrogen increasing your speed temporarily." - on_expired_text = "Your refactory finishes consuming the metallic hydrogen, and you return to normal speed." + on_created_text = span_notice("You feel yourself accelerate, the metallic hydrogen increasing your speed temporarily.") + on_expired_text = span_notice("Your refactory finishes consuming the metallic hydrogen, and you return to normal speed.") material_name = MAT_METALHYDROGEN @@ -274,8 +355,8 @@ name = "Protean Effect - Uranium" desc = "You're affected by the presence of uranium." - on_created_text = "You feel yourself become nearly impervious to physical attacks as uranium is incorporated in your nanites." - on_expired_text = "Your refactory finishes consuming the uranium, and you return to your normal nanites." + on_created_text = span_notice("You feel yourself become nearly impervious to physical attacks as uranium is incorporated in your nanites.") + on_expired_text = span_notice("Your refactory finishes consuming the uranium, and you return to your normal nanites.") material_name = MAT_URANIUM @@ -285,8 +366,8 @@ name = "Protean Effect - Gold" desc = "You're affected by the presence of gold." - on_created_text = "You feel yourself become more reflective, able to resist heat and fire better for a time." - on_expired_text = "Your refactory finishes consuming the gold, and you return to your normal nanites." + on_created_text = span_notice("You feel yourself become more reflective, able to resist heat and fire better for a time.") + on_expired_text = span_notice("Your refactory finishes consuming the gold, and you return to your normal nanites.") material_name = MAT_GOLD @@ -296,8 +377,8 @@ name = "Protean Effect - Silver" desc = "You're affected by the presence of silver." - on_created_text = "Your physical control is improved for a time, making it easier to hit targets, and avoid being hit." - on_expired_text = "Your refactory finishes consuming the silver, and your motor control returns to normal." + on_created_text = span_notice("Your physical control is improved for a time, making it easier to hit targets, and avoid being hit.") + on_expired_text = span_notice("Your refactory finishes consuming the silver, and your motor control returns to normal.") material_name = MAT_SILVER @@ -308,22 +389,32 @@ name = "Protean Effect - Steel" desc = "You're affected by the presence of steel." - on_created_text = "You feel new nanites being produced from your stockpile of steel, healing you slowly." - on_expired_text = "Your steel supply has either run out, or is no longer needed, and your healing stops." + on_created_text = span_notice("You feel new nanites being produced from your stockpile of steel, healing you slowly.") + on_expired_text = span_notice("Your steel supply has either run out, or is no longer needed, and your healing stops.") material_name = MAT_STEEL /datum/modifier/protean/steel/tick() - holder.adjustBruteLoss(-1,include_robo = TRUE) //Modified by species resistances - holder.adjustFireLoss(-0.5,include_robo = TRUE) //Modified by species resistances - var/mob/living/carbon/human/H = holder - for(var/obj/item/organ/O as anything in H.internal_organs) - // Fix internal damage - if(O.damage > 0) - O.damage = max(0,O.damage-0.1) - // If not damaged, but dead, fix it - else if(O.status & ORGAN_DEAD) - O.status &= ~ORGAN_DEAD //Unset dead if we repaired it entirely + //Heal a random damaged limb by 1,1 per tick + holder.adjustBruteLoss(-1,include_robo = TRUE) + holder.adjustFireLoss(-1,include_robo = TRUE) + holder.adjustToxLoss(-1) + + var/mob/living/carbon/human/H + if(ishuman(holder)) + H = holder + + //Then heal every damaged limb by a smaller amount + if(H) + for(var/obj/item/organ/external/O in H.organs) + O.heal_damage(0.5, 0.5, 0, 1) + + //Heal the organs a little bit too, as a treat + for(var/obj/item/organ/O as anything in H.internal_organs) + if(O.damage > 0) + O.damage = max(0,O.damage-0.3) + else if(O.status & ORGAN_DEAD) + O.status &= ~ORGAN_DEAD //Unset dead if we repaired it entirely // PAN Card /obj/item/clothing/accessory/permit/nanotech @@ -346,6 +437,4 @@ . = ..() . += validstring . += registring - -#undef DAM_SCALE_FACTOR -#undef METAL_PER_TICK \ No newline at end of file +#undef METAL_PER_TICK diff --git a/code/modules/mob/living/carbon/human/species/station/replicant_crew.dm b/code/modules/mob/living/carbon/human/species/station/replicant_crew.dm new file mode 100644 index 00000000000..c8e7b769c3f --- /dev/null +++ b/code/modules/mob/living/carbon/human/species/station/replicant_crew.dm @@ -0,0 +1,51 @@ +/datum/species/shapeshifter/replicant/crew + name = SPECIES_REPLICANT_CREW + blurb = "Replicants are one of the few remaining living examples of precursor technology. \ + While their origins remain unknown, they are a facsimile of organic life held together by amalgamate, \ + rubbery flesh and anomalous organs. Whilst their original purpose is speculated to be used through cortical \ + mirrors as a way to 'wirelessly exist' in a different body via VR pods, this specific variant has had its \ + forking capabilities severed in exchange for a more stable, self-sufficient (albeit weaker) form." + + min_age = 18 + max_age = 200 + blood_color = "#C0C0C0" + + radiation_mod = 1.2 //Affected more by radiation + siemens_coefficient = 1.5 //Don't get electrocuted + + secondary_langs = list() // None by default + + has_organ = list( + O_HEART = /obj/item/organ/internal/heart/replicant/rage/crew, + O_LUNGS = /obj/item/organ/internal/lungs/replicant/mending/crew, + O_VOICE = /obj/item/organ/internal/voicebox/replicant, + O_LIVER = /obj/item/organ/internal/liver/replicant, + O_KIDNEYS = /obj/item/organ/internal/kidneys/replicant, + O_BRAIN = /obj/item/organ/internal/brain/replicant/torso, + O_EYES = /obj/item/organ/internal/eyes/replicant, + O_AREJECT = /obj/item/organ/internal/immunehub/replicant, + O_VENTC = /obj/item/organ/internal/metamorphgland/replicant, + O_PLASMA = /obj/item/organ/internal/xenos/plasmavessel/replicant/crew, + O_RESIN = /obj/item/organ/internal/xenos/resinspinner/replicant, + O_STOMACH = /obj/item/organ/internal/stomach, + O_INTESTINE = /obj/item/organ/internal/intestine + ) + + appearance_flags = HAS_SKIN_COLOR | HAS_EYE_COLOR | HAS_HAIR_COLOR | HAS_UNDERWEAR | HAS_LIPS + spawn_flags = SPECIES_CAN_JOIN | SPECIES_IS_WHITELISTED | SPECIES_WHITELIST_SELECTABLE + color_mult = 1 + valid_transform_species = list(SPECIES_HUMAN, SPECIES_HUMAN_VATBORN, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_SKRELL, SPECIES_ALTEVIAN, SPECIES_TESHARI, SPECIES_MONKEY, SPECIES_LLEILL, SPECIES_VULPKANIN, SPECIES_ZORREN_HIGH, SPECIES_RAPALA, SPECIES_NEVREAN, SPECIES_VASILISSAN, SPECIES_AKULA) + + inherent_verbs = list( + /mob/living/carbon/human/proc/shapeshifter_select_shape, + /mob/living/carbon/human/proc/shapeshifter_select_colour, + /mob/living/carbon/human/proc/shapeshifter_select_hair, + /mob/living/carbon/human/proc/shapeshifter_select_hair_colors, + /mob/living/carbon/human/proc/shapeshifter_select_gender, + /mob/living/carbon/human/proc/shapeshifter_select_wings, + /mob/living/carbon/human/proc/shapeshifter_select_tail, + /mob/living/carbon/human/proc/shapeshifter_select_ears, + /mob/living/carbon/human/proc/shapeshifter_select_secondary_ears, + /mob/living/carbon/human/proc/shapeshifter_select_eye_colour, + /mob/living/proc/set_size + ) diff --git a/code/modules/mob/living/carbon/human/species/station/station.dm b/code/modules/mob/living/carbon/human/species/station/station.dm index f76e23ce9f3..1360bb0aed3 100644 --- a/code/modules/mob/living/carbon/human/species/station/station.dm +++ b/code/modules/mob/living/carbon/human/species/station/station.dm @@ -242,6 +242,8 @@ reagent_tag = IS_TAJARA allergens = ALLERGEN_STIMULANT + climb_mult = 0.75 + move_trail = /obj/effect/decal/cleanable/blood/tracks/paw heat_discomfort_level = 292 @@ -609,9 +611,9 @@ /datum/species/diona/equip_survival_gear(var/mob/living/carbon/human/H) if(H.backbag == 1) - H.equip_to_slot_or_del(new /obj/item/device/flashlight/flare(H), slot_r_hand) + H.equip_to_slot_or_del(new /obj/item/flashlight/flare(H), slot_r_hand) else - H.equip_to_slot_or_del(new /obj/item/device/flashlight/flare(H.back), slot_in_backpack) + H.equip_to_slot_or_del(new /obj/item/flashlight/flare(H.back), slot_in_backpack) /datum/species/diona/handle_post_spawn(var/mob/living/carbon/human/H) H.gender = NEUTER @@ -625,7 +627,7 @@ H.mind.transfer_to(S) if(H.isSynthetic()) - H.visible_message("\The [H] collapses into parts, revealing a solitary diona nymph at the core.") + H.visible_message(span_danger("\The [H] collapses into parts, revealing a solitary diona nymph at the core.")) H.species = GLOB.all_species[SPECIES_HUMAN] // This is hard-set to default the body to a normal FBP, without changing anything. @@ -633,8 +635,8 @@ qdel(Org) // Purge the diona verbs. - H.verbs -= /mob/living/carbon/human/proc/diona_split_nymph - H.verbs -= /mob/living/carbon/human/proc/regenerate + remove_verb(H, /mob/living/carbon/human/proc/diona_split_nymph) + remove_verb(H, /mob/living/carbon/human/proc/regenerate) return @@ -644,7 +646,7 @@ else qdel(D) - H.visible_message("\The [H] splits apart with a wet slithering noise!") + H.visible_message(span_danger("\The [H] splits apart with a wet slithering noise!")) /datum/species/diona/handle_environment_special(var/mob/living/carbon/human/H) if(H.inStasisNow()) diff --git a/code/modules/mob/living/carbon/human/species/station/station_special_abilities_vr.dm b/code/modules/mob/living/carbon/human/species/station/station_special_abilities_vr.dm index d35fd9832c8..8ecb4b9d44f 100644 --- a/code/modules/mob/living/carbon/human/species/station/station_special_abilities_vr.dm +++ b/code/modules/mob/living/carbon/human/species/station/station_special_abilities_vr.dm @@ -1,18 +1,18 @@ /mob/living/carbon/human/proc/reconstitute_form() //Scree's race ability.in exchange for: No cloning. set name = "Reconstitute Form" - set category = "Abilities" + set category = "Abilities.General" // Sanity is mostly handled in chimera_regenerate() if(stat == DEAD) - var/confirm = tgui_alert(usr, "Are you sure you want to regenerate your corpse? This process can take up to thirty minutes.", "Confirm Regeneration", list("Yes", "No")) + var/confirm = tgui_alert(src, "Are you sure you want to regenerate your corpse? This process can take up to thirty minutes.", "Confirm Regeneration", list("Yes", "No")) if(confirm == "Yes") chimera_regenerate() else if (quickcheckuninjured()) - var/confirm = tgui_alert(usr, "Are you sure you want to regenerate? As you are uninjured this will only take 30 seconds and match your appearance to your character slot.", "Confirm Regeneration", list("Yes", "No")) + var/confirm = tgui_alert(src, "Are you sure you want to regenerate? As you are uninjured this will only take 30 seconds and match your appearance to your character slot.", "Confirm Regeneration", list("Yes", "No")) if(confirm == "Yes") chimera_regenerate() else - var/confirm = tgui_alert(usr, "Are you sure you want to completely reconstruct your form? This process can take up to fifteen minutes, depending on how hungry you are, and you will be unable to move.", "Confirm Regeneration", list("Yes", "No")) + var/confirm = tgui_alert(src, "Are you sure you want to completely reconstruct your form? This process can take up to fifteen minutes, depending on how hungry you are, and you will be unable to move.", "Confirm Regeneration", list("Yes", "No")) if(confirm == "Yes") chimera_regenerate() @@ -49,15 +49,15 @@ spawn(time SECONDS) // check to see if they've been fixed by outside forces in the meantime such as defibbing if(stat != DEAD) - to_chat(src, "Your body has recovered from its ordeal, ready to regenerate itself again.") + to_chat(src, span_notice("Your body has recovered from its ordeal, ready to regenerate itself again.")) revive_ready = REVIVING_READY //reset their cooldown clear_alert("regen") throw_alert("hatch", /obj/screen/alert/xenochimera/readytohatch) // Was dead, still dead. else - to_chat(src, "Consciousness begins to stir as your new body awakens, ready to hatch.") - verbs |= /mob/living/carbon/human/proc/hatch + to_chat(src, span_notice("Consciousness begins to stir as your new body awakens, ready to hatch.")) + add_verb(src, /mob/living/carbon/human/proc/hatch) revive_ready = REVIVING_DONE src << sound('sound/effects/mob_effects/xenochimera/hatch_notification.ogg',0,0,0,30) clear_alert("regen") @@ -76,10 +76,10 @@ //Slightly different flavour messages if(stat != DEAD || hasnutriment()) - to_chat(src, "Consciousness begins to stir as your new body awakens, ready to hatch..") + to_chat(src, span_notice("Consciousness begins to stir as your new body awakens, ready to hatch..")) else - to_chat(src, "Consciousness begins to stir as your battered body struggles to recover from its ordeal..") - verbs |= /mob/living/carbon/human/proc/hatch + to_chat(src, span_warning("Consciousness begins to stir as your battered body struggles to recover from its ordeal..")) + add_verb(src, /mob/living/carbon/human/proc/hatch) revive_ready = REVIVING_DONE src << sound('sound/effects/mob_effects/xenochimera/hatch_notification.ogg',0,0,0,30) clear_alert("regen") @@ -106,14 +106,14 @@ /mob/living/carbon/human/proc/hatch() set name = "Hatch" - set category = "Abilities" + set category = "Abilities.General" if(revive_ready != REVIVING_DONE) //Hwhat? - verbs -= /mob/living/carbon/human/proc/hatch + remove_verb(src, /mob/living/carbon/human/proc/hatch) return - var/confirm = tgui_alert(usr, "Are you sure you want to hatch right now? This will be very obvious to anyone in view.", "Confirm Regeneration", list("Yes", "No")) + var/confirm = tgui_alert(src, "Are you sure you want to hatch right now? This will be very obvious to anyone in view.", "Confirm Regeneration", list("Yes", "No")) if(confirm == "Yes") //Dead when hatching @@ -126,7 +126,7 @@ chimera_hatch() add_modifier(/datum/modifier/resleeving_sickness/chimera, sickness_duration) adjustBrainLoss(5) // if they're reviving from dead, they come back with 5 brainloss on top of whatever's unhealed. - visible_message("

    The former corpse staggers to its feet, all its former wounds having vanished...

    ") //Bloody hell... + visible_message(span_warning("

    The former corpse staggers to its feet, all its former wounds having vanished...

    ")) //Bloody hell... clear_alert("hatch") return @@ -134,12 +134,12 @@ else chimera_hatch() - visible_message("

    [src] rises to \his feet.

    ") //Bloody hell... + visible_message(span_warning("

    [src] rises to \his feet.

    ")) //Bloody hell... clear_alert("hatch") /mob/living/carbon/human/proc/chimera_hatch() - verbs -= /mob/living/carbon/human/proc/hatch - to_chat(src, "Your new body awakens, bursting free from your old skin.") + remove_verb(src, /mob/living/carbon/human/proc/hatch) + to_chat(src, span_notice("Your new body awakens, bursting free from your old skin.")) //Modify and record values (half nutrition and braindamage) var/old_nutrition = nutrition var/braindamage = min(5, max(0, (brainloss-1) * 0.5)) //brainloss is tricky to heal and might take a couple of goes to get rid of completely. @@ -160,7 +160,7 @@ var/blood_color = species.blood_color var/flesh_color = species.flesh_color new /obj/effect/gibspawner/human/xenochimera(T, null, flesh_color, blood_color) - visible_message("

    The lifeless husk of [src] bursts open, revealing a new, intact copy in the pool of viscera.

    ") //Bloody hell... + visible_message(span_danger("

    The lifeless husk of [src] bursts open, revealing a new, intact copy in the pool of viscera.

    ")) //Bloody hell... playsound(T, 'sound/effects/mob_effects/xenochimera/hatch.ogg', 50) else //lower cost for doing a quick cosmetic revive nutrition = old_nutrition * 0.9 @@ -170,14 +170,14 @@ update_canmove() weakened = 2 - revive_ready = world.time + 10 MINUTES //set the cooldown CHOMPEdit: Reduced this to 10 minutes, you're playing with fire if you're reviving that often. + revive_ready = world.time + 10 MINUTES //set the cooldown, Reduced this to 10 minutes, you're playing with fire if you're reviving that often. /datum/modifier/resleeving_sickness/chimera //near identical to the regular version, just with different flavortexts name = "imperfect regeneration" desc = "You feel rather weak and unfocused, having just regrown your body not so long ago." - on_created_text = "You feel weak and unsteady, that regeneration having been rougher than most." - on_expired_text = "You feel your strength and focus return to you." + on_created_text = span_warning(span_large("You feel weak and unsteady, that regeneration having been rougher than most.")) + on_expired_text = span_notice(span_large("You feel your strength and focus return to you.")) /mob/living/carbon/human/proc/revivingreset() // keep this as a debug proc or potential future use revive_ready = REVIVING_READY @@ -378,7 +378,7 @@ var/list/hiddenspeakers = list("Someone distant", "A voice nearby","A familiar voice", "An echoing voice", "A cautious voice", "A scared voice", "Someone around the corner", "Someone", "Something", "Something scary", "An urgent voice", "An angry voice") var/list/speakerverbs = list("calls out", "yells", "screams", "exclaims", "shrieks", "shouts", "hisses", "snarls") var/list/spookyphrases = list("It's over here!","Stop it!", "Hunt it down!", "Get it!", "Quick, over here!", "Anyone there?", "Who's there?", "Catch that thing!", "Stop it! Kill it!", "Anyone there?", "Where is it?", "Find it!", "There it is!") - to_chat(src, "[pick(hiddenspeakers)] [pick(speakerverbs)], \"[pick(spookyphrases)]\"") + to_chat(src, span_game(span_say(span_name(pick(hiddenspeakers)) + " [pick(speakerverbs)], \"[pick(spookyphrases)]\""))) handling_hal = 0 @@ -388,7 +388,7 @@ /mob/living/carbon/human/proc/bloodsuck() set name = "Partially Drain prey of blood" set desc = "Bites prey and drains them of a significant portion of blood, feeding you in the process. You may only do this once per minute." - set category = "Abilities" + set category = "Abilities.General" if(stat || paralysis || stunned || weakened || lying || restrained() || buckled) @@ -409,7 +409,7 @@ src.species.bloodsucker_controlmode = tgui_input_list(src,"Choose your preferred control of blood sucking. \ You can only cause bleeding wounds with pop up and intents modes. Choosing intents prints controls to chat.", "Configure Bloodsuck", control_options, "always loud") if(src.species.bloodsucker_controlmode == "intents") //We are printing to chat for better readability - to_chat(src, SPAN_NOTICE("You've chosen to use intents for blood draining. \n \ + to_chat(src, span_notice("You've chosen to use intents for blood draining. \n \ HELP - Loud, No Bleeding \n \ DISARM - Subtle, Causes bleeding \n \ GRAB - Subtle, No Bleeding \n \ @@ -469,20 +469,20 @@ if(noise) - src.visible_message(span_red("[src] moves their head next to [B]'s neck, seemingly looking for something!")) + src.visible_message(span_infoplain(span_red(span_bold("[src] moves their head next to [B]'s neck, seemingly looking for something!")))) else - src.visible_message(span_red("[src] moves their head next to [B]'s neck, seemingly looking for something!"), range = 1) + src.visible_message(span_infoplain(span_red(span_italics("[src] moves their head next to [B]'s neck, seemingly looking for something!"))), range = 1) if(bleed) //Due to possibility of missing/misclick and missing the bleeding cues, we are warning the scene members of BLEEDING being on - to_chat(src, SPAN_WARNING("This is going to cause [B] to keep bleeding!")) - to_chat(B, SPAN_DANGER("You are going to keep bleeding from this bite!")) + to_chat(src, span_warning("This is going to cause [B] to keep bleeding!")) + to_chat(B, span_danger("You are going to keep bleeding from this bite!")) if(do_after(src, 300, B)) //Thrirty seconds. if(!Adjacent(B)) return if(noise) - src.visible_message(span_red("[src] suddenly extends their fangs and plunges them down into [B]'s neck!")) + src.visible_message(span_infoplain(span_red(span_bold("[src] suddenly extends their fangs and plunges them down into [B]'s neck!")))) else - src.visible_message(span_red("[src] suddenly extends their fangs and plunges them down into [B]'s neck!"), range = 1) + src.visible_message(span_infoplain(span_red(span_italics("[src] suddenly extends their fangs and plunges them down into [B]'s neck!"))), range = 1) if(bleed) B.apply_damage(10, BRUTE, BP_HEAD, blocked = 0, soaked = 0, sharp = TRUE, edge = FALSE) var/obj/item/organ/external/E = B.get_organ(BP_HEAD) @@ -510,40 +510,40 @@ /mob/living/carbon/human/proc/succubus_drain() set name = "Drain prey of nutrition" set desc = "Slowly drain prey of all the nutrition in their body, feeding you in the process. You may only do this to one person at a time." - set category = "Abilities" + set category = "Abilities.Succubus" if(!ishuman(src)) return //If you're not a human you don't have permission to do this. var/mob/living/carbon/human/C = src - var/obj/item/weapon/grab/G = src.get_active_hand() + var/obj/item/grab/G = src.get_active_hand() if(!istype(G)) - to_chat(C, "You must be grabbing a creature in your active hand to absorb them.") + to_chat(C, span_warning("You must be grabbing a creature in your active hand to absorb them.")) return var/mob/living/carbon/human/T = G.affecting // I must say, this is a quite ingenious way of doing it. Props to the original coders. if(!istype(T) || T.isSynthetic()) - to_chat(src, "\The [T] is not able to be drained.") + to_chat(src, span_warning("\The [T] is not able to be drained.")) return if(G.state != GRAB_NECK) - to_chat(C, "You must have a tighter grip to drain this creature.") + to_chat(C, span_warning("You must have a tighter grip to drain this creature.")) return if(C.absorbing_prey) - to_chat(C, "You are already draining someone!") + to_chat(C, span_warning("You are already draining someone!")) return C.absorbing_prey = 1 for(var/stage = 1, stage<=100, stage++) //100 stages. switch(stage) if(1) - to_chat(C, "You begin to drain [T]...") - to_chat(T, "An odd sensation flows through your body as [C] begins to drain you!") + to_chat(C, span_notice("You begin to drain [T]...")) + to_chat(T, span_danger("An odd sensation flows through your body as [C] begins to drain you!")) C.nutrition = (C.nutrition + (T.nutrition*0.05)) //Drain a small bit at first. 5% of the prey's nutrition. T.nutrition = T.nutrition*0.95 if(2) - to_chat(C, "You feel stronger with every passing moment of draining [T].") - src.visible_message("[C] seems to be doing something to [T], resulting in [T]'s body looking weaker with every passing moment!") - to_chat(T, "You feel weaker with every passing moment as [C] drains you!") + to_chat(C, span_notice("You feel stronger with every passing moment of draining [T].")) + src.visible_message(span_danger("[C] seems to be doing something to [T], resulting in [T]'s body looking weaker with every passing moment!")) + to_chat(T, span_danger("You feel weaker with every passing moment as [C] drains you!")) C.nutrition = (C.nutrition + (T.nutrition*0.1)) T.nutrition = T.nutrition*0.9 if(3 to 99) @@ -560,39 +560,39 @@ var/damage_to_be_applied = T.species.total_health //Get their max health. T.apply_damage(damage_to_be_applied, HALLOSS) //Knock em out. C.absorbing_prey = 0 - to_chat(C, "You have completely drained [T], causing them to pass out.") - to_chat(T, "You feel weak, as if you have no control over your body whatsoever as [C] finishes draining you.!") + to_chat(C, span_notice("You have completely drained [T], causing them to pass out.")) + to_chat(T, span_danger("You feel weak, as if you have no control over your body whatsoever as [C] finishes draining you.!")) add_attack_logs(C,T,"Succubus drained") return if(!do_mob(src, T, 50) || G.state != GRAB_NECK) //One drain tick every 5 seconds. - to_chat(src, "Your draining of [T] has been interrupted!") + to_chat(src, span_warning("Your draining of [T] has been interrupted!")) C.absorbing_prey = 0 return /mob/living/carbon/human/proc/succubus_drain_lethal() set name = "Lethally drain prey" //Provide a warning that THIS WILL KILL YOUR PREY. set desc = "Slowly drain prey of all the nutrition in their body, feeding you in the process. Once prey run out of nutrition, you will begin to drain them lethally. You may only do this to one person at a time." - set category = "Abilities" + set category = "Abilities.Succubus" if(!ishuman(src)) return //If you're not a human you don't have permission to do this. - var/obj/item/weapon/grab/G = src.get_active_hand() + var/obj/item/grab/G = src.get_active_hand() if(!istype(G)) - to_chat(src, "You must be grabbing a creature in your active hand to drain them.") + to_chat(src, span_warning("You must be grabbing a creature in your active hand to drain them.")) return var/mob/living/carbon/human/T = G.affecting // I must say, this is a quite ingenious way of doing it. Props to the original coders. if(!istype(T) || T.isSynthetic()) - to_chat(src, "\The [T] is not able to be drained.") + to_chat(src, span_warning("\The [T] is not able to be drained.")) return if(G.state != GRAB_NECK) - to_chat(src, "You must have a tighter grip to drain this creature.") + to_chat(src, span_warning("You must have a tighter grip to drain this creature.")) return if(absorbing_prey) - to_chat(src, "You are already draining someone!") + to_chat(src, span_warning("You are already draining someone!")) return absorbing_prey = 1 @@ -600,16 +600,16 @@ switch(stage) if(1) if(T.stat == DEAD) - to_chat(src, "[T] is dead and can not be drained..") + to_chat(src, span_warning("[T] is dead and can not be drained..")) return - to_chat(src, "You begin to drain [T]...") - to_chat(T, "An odd sensation flows through your body as [src] begins to drain you!") + to_chat(src, span_notice("You begin to drain [T]...")) + to_chat(T, span_danger("An odd sensation flows through your body as [src] begins to drain you!")) nutrition = (nutrition + (T.nutrition*0.05)) //Drain a small bit at first. 5% of the prey's nutrition. T.nutrition = T.nutrition*0.95 if(2) - to_chat(src, "You feel stronger with every passing moment as you drain [T].") - visible_message("[src] seems to be doing something to [T], resulting in [T]'s body looking weaker with every passing moment!") - to_chat(T, "You feel weaker with every passing moment as [src] drains you!") + to_chat(src, span_notice("You feel stronger with every passing moment as you drain [T].")) + visible_message(span_danger("[src] seems to be doing something to [T], resulting in [T]'s body looking weaker with every passing moment!")) + to_chat(T, span_danger("You feel weaker with every passing moment as [src] drains you!")) nutrition = (nutrition + (T.nutrition*0.1)) T.nutrition = T.nutrition*0.9 if(3 to 48) //Should be more than enough to get under 100. @@ -623,22 +623,22 @@ stage = 3 //Otherwise, advance to stage 50 (Lethal draining.) if(50) if(!T.digestable) - to_chat(src, "You feel invigorated as you completely drain [T] and begin to move onto draining them lethally before realizing they are too strong for you to do so!") - to_chat(T, "You feel completely drained as [src] finishes draining you and begins to move onto draining you lethally, but you are too strong for them to do so!") + to_chat(src, span_danger("You feel invigorated as you completely drain [T] and begin to move onto draining them lethally before realizing they are too strong for you to do so!")) + to_chat(T, span_danger("You feel completely drained as [src] finishes draining you and begins to move onto draining you lethally, but you are too strong for them to do so!")) nutrition = (nutrition + T.nutrition) T.nutrition = 0 //Completely drained of everything. var/damage_to_be_applied = T.species.total_health //Get their max health. T.apply_damage(damage_to_be_applied, HALLOSS) //Knock em out. absorbing_prey = 0 //Clean this up before we return return - to_chat(src, "You begin to drain [T] completely...") - to_chat(T, "An odd sensation flows through your body as you as [src] begins to drain you to dangerous levels!") + to_chat(src, span_notice("You begin to drain [T] completely...")) + to_chat(T, span_danger("An odd sensation flows through your body as you as [src] begins to drain you to dangerous levels!")) if(51 to 98) if(T.stat == DEAD) T.apply_damage(500, OXY) //Bit of fluff. absorbing_prey = 0 - to_chat(src, "You have completely drained [T], killing them.") - to_chat(T, "You feel... So... Weak...") + to_chat(src, span_notice("You have completely drained [T], killing them.")) + to_chat(T, span_danger(span_giant("You feel... So... Weak..."))) add_attack_logs(src,T,"Succubus drained (almost lethal)") return if(drain_finalized == 1 || T.getBrainLoss() < 55) //Let's not kill them with this unless the drain is finalized. This will still stack up to 55, since 60 is lethal. @@ -651,53 +651,53 @@ if(100) //They shouldn't survive long enough to get here, but just in case. T.apply_damage(500, OXY) //Kill them. absorbing_prey = 0 - to_chat(src, "You have completely drained [T], killing them in the process.") - to_chat(T, "You... Feel... So... Weak...") - visible_message("[src] seems to finish whatever they were doing to [T].") + to_chat(src, span_notice("You have completely drained [T], killing them in the process.")) + to_chat(T, span_danger("You... Feel... So... Weak...")) + visible_message(span_danger("[src] seems to finish whatever they were doing to [T].")) add_attack_logs(src,T,"Succubus drained (lethal)") return if(!do_mob(src, T, 50) || G.state != GRAB_NECK) //One drain tick every 5 seconds. - to_chat(src, "Your draining of [T] has been interrupted!") + to_chat(src, span_warning("Your draining of [T] has been interrupted!")) absorbing_prey = 0 return /mob/living/carbon/human/proc/slime_feed() set name = "Feed prey with self" set desc = "Slowly feed prey with your body, draining you in the process. You may only do this to one person at a time." - set category = "Abilities" + set category = "Abilities.Vore" if(!ishuman(src)) return //If you're not a human you don't have permission to do this. var/mob/living/carbon/human/C = src - var/obj/item/weapon/grab/G = src.get_active_hand() + var/obj/item/grab/G = src.get_active_hand() if(!istype(G)) - to_chat(C, "You must be grabbing a creature in your active hand to feed them.") + to_chat(C, span_warning("You must be grabbing a creature in your active hand to feed them.")) return var/mob/living/carbon/human/T = G.affecting // I must say, this is a quite ingenious way of doing it. Props to the original coders. if(!istype(T)) - to_chat(src, "\The [T] is not able to be fed.") + to_chat(src, span_warning("\The [T] is not able to be fed.")) return if(!G.state) //This should never occur. But alright return if(C.absorbing_prey) - to_chat(C, "You are already feeding someone!") + to_chat(C, span_warning("You are already feeding someone!")) return C.absorbing_prey = 1 for(var/stage = 1, stage<=100, stage++) //100 stages. switch(stage) if(1) - to_chat(C, "You begin to feed [T]...") - to_chat(T, "An odd sensation flows through your body as [C] begins to feed you!") + to_chat(C, span_notice("You begin to feed [T]...")) + to_chat(T, span_notice("An odd sensation flows through your body as [C] begins to feed you!")) T.nutrition = (T.nutrition + (C.nutrition*0.05)) //Drain a small bit at first. 5% of the prey's nutrition. C.nutrition = C.nutrition*0.95 if(2) - to_chat(C, "You feel weaker with every passing moment of feeding [T].") - src.visible_message("[C] seems to be doing something to [T], resulting in [T]'s body looking stronger with every passing moment!") - to_chat(T, "You feel stronger with every passing moment as [C] feeds you!") + to_chat(C, span_notice("You feel weaker with every passing moment of feeding [T].")) + src.visible_message(span_notice("[C] seems to be doing something to [T], resulting in [T]'s body looking stronger with every passing moment!")) + to_chat(T, span_notice("You feel stronger with every passing moment as [C] feeds you!")) T.nutrition = (T.nutrition + (C.nutrition*0.1)) C.nutrition = C.nutrition*0.90 if(3 to 99) @@ -712,25 +712,25 @@ T.nutrition = (T.nutrition + C.nutrition) C.nutrition = 0 //Completely drained of everything. C.absorbing_prey = 0 - to_chat(C, "You have completely fed [T] every part of your body!") - to_chat(T, "You feel quite strong and well fed, as [C] finishes feeding \himself to you!") + to_chat(C, span_danger("You have completely fed [T] every part of your body!")) + to_chat(T, span_notice("You feel quite strong and well fed, as [C] finishes feeding \himself to you!")) add_attack_logs(C,T,"Slime fed") C.feed_grabbed_to_self_falling_nom(T,C) //Reused this proc instead of making a new one to cut down on code usage. return if(!do_mob(src, T, 50) || !G.state) //One drain tick every 5 seconds. - to_chat(src, "Your feeding of [T] has been interrupted!") + to_chat(src, span_warning("Your feeding of [T] has been interrupted!")) C.absorbing_prey = 0 return /mob/living/carbon/human/proc/succubus_drain_finalize() set name = "Drain/Feed Finalization" set desc = "Toggle to allow for draining to be prolonged. Turn this on to make it so prey will be knocked out/die while being drained, or you will feed yourself to the prey's selected stomach if you're feeding them. Can be toggled at any time." - set category = "Abilities" + set category = "Abilities.Succubus" var/mob/living/carbon/human/C = src C.drain_finalized = !C.drain_finalized - to_chat(C, "You will [C.drain_finalized?"now":"not"] finalize draining/feeding.") + to_chat(C, span_notice("You will [C.drain_finalized?"now":"not"] finalize draining/feeding.")) //Test to see if we can shred a mob. Some child override needs to pass us a target. We'll return it if you can. @@ -738,19 +738,19 @@ /mob/living/proc/can_shred(var/mob/living/carbon/human/target) //Needs to have organs to be able to shred them. if(!istype(target)) - to_chat(src,"You can't shred that type of creature.") + to_chat(src,span_warning("You can't shred that type of creature.")) return FALSE //Needs to be capable (replace with incapacitated call?) if(stat || paralysis || stunned || weakened || lying || restrained() || buckled) - to_chat(src,"You cannot do that in your current state!") + to_chat(src,span_warning("You cannot do that in your current state!")) return FALSE //Needs to be adjacent, at the very least. if(!Adjacent(target)) - to_chat(src,"You must be next to your target.") + to_chat(src,span_warning("You must be next to your target.")) return FALSE //Cooldown on abilities if(last_special > world.time) - to_chat(src,"You can't perform an ability again so soon!") + to_chat(src,span_warning("You can't perform an ability again so soon!")) return FALSE return target @@ -759,12 +759,12 @@ /mob/living/carbon/human/vore_shred_time = 10 SECONDS /mob/living/carbon/human/can_shred() //Humans need a grab - var/obj/item/weapon/grab/G = get_active_hand() + var/obj/item/grab/G = get_active_hand() if(!istype(G)) - to_chat(src,"You have to have a very strong grip on someone first!") + to_chat(src,span_warning("You have to have a very strong grip on someone first!")) return FALSE if(G.state != GRAB_NECK) - to_chat(src,"You must have a tighter grip to severely damage this creature!") + to_chat(src,span_warning("You must have a tighter grip to severely damage this creature!")) return FALSE return ..(G.affecting) @@ -777,7 +777,7 @@ choices += M if(!choices.len) - to_chat(src,"There's nobody nearby to use this on.") + to_chat(src,span_warning("There's nobody nearby to use this on.")) target = tgui_input_list(src,"Who do you wish to target?","Damage/Remove Prey's Organ", choices) if(!istype(target)) @@ -792,7 +792,7 @@ choices += M if(!choices.len) - to_chat(src,"There's nobody nearby to use this on.") + to_chat(src,span_warning("There's nobody nearby to use this on.")) target = tgui_input_list(src,"Who do you wish to target?","Damage/Remove Prey's Organ", choices) if(!istype(target)) @@ -807,7 +807,7 @@ choices += M if(!choices.len) - to_chat(src,"There's nobody nearby to use this on.") + to_chat(src,span_warning("There's nobody nearby to use this on.")) target = tgui_input_list(src,"Who do you wish to target?","Damage/Remove Prey's Organ", choices) if(!istype(target)) @@ -818,7 +818,7 @@ /mob/living/proc/shred_limb() set name = "Damage/Remove Prey's Organ" set desc = "Severely damages prey's organ. If the limb is already severely damaged, it will be torn off." - set category = "Abilities" + set category = "Abilities.Vore" //can_shred() will return a mob we can shred, if we can shred any. var/mob/living/carbon/human/T = can_shred() @@ -830,28 +830,28 @@ if(!T_ext) //Picking something here is critical. return if(T_ext.vital) - if(tgui_alert(usr, "Are you sure you wish to severely damage their [T_ext]? It will likely kill [T]...","Shred Limb",list("Yes", "No")) != "Yes") + if(tgui_alert(src, "Are you sure you wish to severely damage their [T_ext]? It will likely kill [T]...","Shred Limb",list("Yes", "No")) != "Yes") return //If they reconsider, don't continue. //Any internal organ, if there are any var/obj/item/organ/internal/T_int = tgui_input_list(src,"Do you wish to severely damage an internal organ, as well? If not, click 'cancel'", "Organ Choice", T_ext.internal_organs) if(T_int && T_int.vital) - if(tgui_alert(usr, "Are you sure you wish to severely damage their [T_int]? It will likely kill [T]...","Shred Limb",list("Yes", "No")) != "Yes") + if(tgui_alert(src, "Are you sure you wish to severely damage their [T_int]? It will likely kill [T]...","Shred Limb",list("Yes", "No")) != "Yes") return //If they reconsider, don't continue. //And a belly, if they want var/obj/belly/B = tgui_input_list(src,"To where do you wish to swallow the organ if you tear if out? If not at all, click 'cancel'", "Organ Choice", vore_organs) if(can_shred(T) != T) - to_chat(src,"Looks like you lost your chance...") + to_chat(src,span_warning("Looks like you lost your chance...")) return last_special = world.time + vore_shred_time - visible_message("[src] appears to be preparing to do something to [T]!") //Let everyone know that bad times are ahead + visible_message(span_danger("[src] appears to be preparing to do something to [T]!")) //Let everyone know that bad times are ahead if(do_after(src, vore_shred_time, T)) //Ten seconds. You have to be in a neckgrab for this, so you're already in a bad position. if(can_shred(T) != T) - to_chat(src,"Looks like you lost your chance...") + to_chat(src,span_warning("Looks like you lost your chance...")) return T.add_modifier(/datum/modifier/gory_devourment, 10 SECONDS) @@ -862,10 +862,10 @@ T_int.removed() if(B) T_int.forceMove(B) //Move to pred's gut - visible_message("[src] severely damages [T_int.name] of [T]!") + visible_message(span_danger("[src] severely damages [T_int.name] of [T]!")) else T_int.forceMove(T.loc) - visible_message("[src] severely damages [T_ext.name] of [T], resulting in their [T_int.name] coming out!","You tear out [T]'s [T_int.name]!") + visible_message(span_danger("[src] severely damages [T_ext.name] of [T], resulting in their [T_int.name] coming out!"),span_warning("You tear out [T]'s [T_int.name]!")) //Removing an external organ else if(!T_int && (T_ext.damage >= 25 || T_ext.brute_dam >= 25)) @@ -874,33 +874,33 @@ //Is it groin/chest? You can't remove those. if(T_ext.cannot_amputate) T.apply_damage(25, BRUTE, T_ext) - visible_message("[src] severely damages [T]'s [T_ext.name]!") + visible_message(span_danger("[src] severely damages [T]'s [T_ext.name]!")) else if(B) T_ext.forceMove(B) - visible_message("[src] swallows [T]'s [T_ext.name] into their [lowertext(B.name)]!") + visible_message(span_warning("[src] swallows [T]'s [T_ext.name] into their [lowertext(B.name)]!")) else T_ext.forceMove(T.loc) - visible_message("[src] tears off [T]'s [T_ext.name]!","You tear off [T]'s [T_ext.name]!") + visible_message(span_warning("[src] tears off [T]'s [T_ext.name]!"),span_warning("You tear off [T]'s [T_ext.name]!")) //Not targeting an internal organ w/ > 25 damage , and the limb doesn't have < 25 damage. else if(T_int) T_int.damage = 25 //Internal organs can only take damage, not brute damage. T.apply_damage(25, BRUTE, T_ext) - visible_message("[src] severely damages [T]'s [T_ext.name]!") + visible_message(span_danger("[src] severely damages [T]'s [T_ext.name]!")) add_attack_logs(src,T,"Shredded (hardvore)") /mob/living/proc/shred_limb_temp() set name = "Damage/Remove Prey's Organ (beartrap)" set desc = "Severely damages prey's organ. If the limb is already severely damaged, it will be torn off." - set category = "Abilities" + set category = "Abilities.Vore" shred_limb() /mob/living/proc/flying_toggle() set name = "Toggle Flight" set desc = "While flying over open spaces, you will use up some nutrition. If you run out nutrition, you will fall." - set category = "Abilities" + set category = "Abilities.General" var/mob/living/carbon/human/C = src if(!C.wing_style) //The species var isn't taken into account here, as it's only purpose is to give this proc to a person. @@ -910,12 +910,12 @@ to_chat(src, "You cannot fly in this state!") return if(C.nutrition < 25 && !C.flying) //Don't have any food in you?" You can't fly. - to_chat(C, "You lack the nutrition to fly.") + to_chat(C, span_notice("You lack the nutrition to fly.")) return C.flying = !C.flying update_floating() - to_chat(C, "You have [C.flying?"started":"stopped"] flying.") + to_chat(C, span_notice("You have [C.flying?"started":"stopped"] flying.")) /mob/living/ var/flight_vore = FALSE @@ -923,7 +923,7 @@ /mob/living/proc/flying_vore_toggle() set name = "Toggle Flight Vore" set desc = "Allows you to engage in voracious misadventures while flying." - set category = "Abilities" + set category = "Abilities.Vore" flight_vore = !flight_vore if(flight_vore) @@ -935,7 +935,7 @@ /mob/living/proc/start_wings_hovering() set name = "Hover" set desc = "Allows you to stop gliding and hover. This will take a fair amount of nutrition to perform." - set category = "Abilities" + set category = "Abilities.General" var/mob/living/carbon/human/C = src if(!C.wing_style) //The species var isn't taken into account here, as it's only purpose is to give this proc to a person. @@ -948,17 +948,17 @@ to_chat(src, "You cannot hover in your current state!") return if(C.nutrition < 50 && !C.flying) //Don't have any food in you?" You can't hover, since it takes up 25 nutrition. And it's not 25 since we don't want them to immediately fall. - to_chat(C, "You lack the nutrition to fly.") + to_chat(C, span_notice("You lack the nutrition to fly.")) return if(C.anchored) - to_chat(C, "You are already hovering and/or anchored in place!") + to_chat(C, span_notice("You are already hovering and/or anchored in place!")) return if(!C.anchored && !C.pulledby) //Not currently anchored, and not pulled by anyone. C.anchored = TRUE //This is the only way to stop the inertial_drift. C.adjust_nutrition(-25) update_floating() - to_chat(C, "You hover in place.") + to_chat(C, span_notice("You hover in place.")) spawn(6) //.6 seconds. C.anchored = FALSE else @@ -967,35 +967,35 @@ /mob/living/proc/toggle_pass_table() set name = "Toggle Agility" //Dunno a better name for this. You have to be pretty agile to hop over stuff!!! set desc = "Allows you to start/stop hopping over things such as hydroponics trays, tables, and railings." - set category = "Abilities" + set category = "Abilities.General" pass_flags ^= PASSTABLE //I dunno what this fancy ^= is but Aronai gave it to me. to_chat(src, "You [pass_flags&PASSTABLE ? "will" : "will NOT"] move over tables/railings/trays!") /mob/living/carbon/human/proc/check_silk_amount() set name = "Check Silk Amount" - set category = "Abilities" + set category = "Abilities.Weaver" if(species.is_weaver) to_chat(src, "Your silk reserves are at [species.silk_reserve]/[species.silk_max_reserve].") else - to_chat(src, "You are not a weaver! How are you doing this? Tell a developer!") + to_chat(src, span_warning("You are not a weaver! How are you doing this? Tell a developer!")) /mob/living/carbon/human/proc/toggle_silk_production() set name = "Toggle Silk Production" - set category = "Abilities" + set category = "Abilities.Weaver" if(species.is_weaver) species.silk_production = !(species.silk_production) to_chat(src, "You are [species.silk_production ? "now" : "no longer"] producing silk.") else - to_chat(src, "You are not a weaver! How are you doing this? Tell a developer!") + to_chat(src, span_warning("You are not a weaver! How are you doing this? Tell a developer!")) /mob/living/carbon/human/proc/weave_structure() set name = "Weave Structure" - set category = "Abilities" + set category = "Abilities.Weaver" if(!(species.is_weaver)) - to_chat(src, "You are not a weaver! How are you doing this? Tell a developer!") + to_chat(src, span_warning("You are not a weaver! How are you doing this? Tell a developer!")) return var/choice @@ -1015,32 +1015,32 @@ return if(desired_result.cost > species.silk_reserve) - to_chat(src, "You don't have enough silk to weave that!") + to_chat(src, span_warning("You don't have enough silk to weave that!")) return if(stat) - to_chat(src, "You can't do that in your current state!") + to_chat(src, span_warning("You can't do that in your current state!")) return if(locate(desired_result.result_type) in src.loc) - to_chat(src, "You can't create another weaversilk [desired_result.title] here!") + to_chat(src, span_warning("You can't create another weaversilk [desired_result.title] here!")) return if(!isturf(src.loc)) - to_chat(src, "You can't weave here!") + to_chat(src, span_warning("You can't weave here!")) return if(do_after(src, desired_result.time, exclusive = TASK_USER_EXCLUSIVE)) if(desired_result.cost > species.silk_reserve) - to_chat(src, "You don't have enough silk to weave that!") + to_chat(src, span_warning("You don't have enough silk to weave that!")) return if(locate(desired_result.result_type) in src.loc) - to_chat(src, "You can't create another weaversilk [desired_result.title] here!") + to_chat(src, span_warning("You can't create another weaversilk [desired_result.title] here!")) return if(!isturf(src.loc)) - to_chat(src, "You can't weave here!") + to_chat(src, span_warning("You can't weave here!")) return species.silk_reserve = max(species.silk_reserve - desired_result.cost, 0) @@ -1052,7 +1052,7 @@ /mob/living/carbon/human/proc/weave_item() set name = "Weave Item" - set category = "Abilities" + set category = "Abilities.Weaver" if(!(species.is_weaver)) return @@ -1074,28 +1074,28 @@ return if(!(species.is_weaver)) - to_chat(src, "You are not a weaver! How are you doing this? Tell a developer!") + to_chat(src, span_warning("You are not a weaver! How are you doing this? Tell a developer!")) return if(desired_result.cost > species.silk_reserve) - to_chat(src, "You don't have enough silk to weave that!") + to_chat(src, span_warning("You don't have enough silk to weave that!")) return if(stat) - to_chat(src, "You can't do that in your current state!") + to_chat(src, span_warning("You can't do that in your current state!")) return if(!isturf(src.loc)) - to_chat(src, "You can't weave here!") + to_chat(src, span_warning("You can't weave here!")) return if(do_after(src, desired_result.time, exclusive = TASK_USER_EXCLUSIVE)) if(desired_result.cost > species.silk_reserve) - to_chat(src, "You don't have enough silk to weave that!") + to_chat(src, span_warning("You don't have enough silk to weave that!")) return if(!isturf(src.loc)) - to_chat(src, "You can't weave here!") + to_chat(src, span_warning("You can't weave here!")) return species.silk_reserve = max(species.silk_reserve - desired_result.cost, 0) @@ -1106,19 +1106,19 @@ /mob/living/carbon/human/proc/set_silk_color() set name = "Set Silk Color" - set category = "Abilities" + set category = "Abilities.Weaver" if(!(species.is_weaver)) - to_chat(src, "You are not a weaver! How are you doing this? Tell a developer!") + to_chat(src, span_warning("You are not a weaver! How are you doing this? Tell a developer!")) return - var/new_silk_color = input(usr, "Pick a color for your woven products:","Silk Color", species.silk_color) as null|color + var/new_silk_color = input(src, "Pick a color for your woven products:","Silk Color", species.silk_color) as null|color if(new_silk_color) species.silk_color = new_silk_color /mob/living/carbon/human/proc/toggle_eye_glow() set name = "Toggle Eye Glowing" - set category = "Abilities" + set category = "Abilities.General" species.has_glowing_eyes = !species.has_glowing_eyes update_eyes() @@ -1128,21 +1128,21 @@ /mob/living/carbon/human/proc/enter_cocoon() set name = "Spin Cocoon" - set category = "Abilities" + set category = "Abilities.Weaver" if(!isturf(loc)) to_chat(src, "You don't have enough space to spin a cocoon!") return if(do_after(src, 25, exclusive = TASK_USER_EXCLUSIVE)) - var/obj/item/weapon/storage/vore_egg/bugcocoon/C = new(loc) + var/obj/item/storage/vore_egg/bugcocoon/C = new(loc) forceMove(C) transforming = TRUE var/datum/tgui_module/appearance_changer/cocoon/V = new(src, src) V.tgui_interact(src) - var/mob_holder_type = src.holder_type || /obj/item/weapon/holder + var/mob_holder_type = src.holder_type || /obj/item/holder C.w_class = src.size_multiplier * 4 //Egg size and weight scaled to match occupant. - var/obj/item/weapon/holder/H = new mob_holder_type(C, src) + var/obj/item/holder/H = new mob_holder_type(C, src) C.max_storage_space = H.w_class C.icon_scale_x = 0.25 * C.w_class C.icon_scale_y = 0.25 * C.w_class @@ -1153,7 +1153,7 @@ /mob/living/carbon/human/proc/water_stealth() set name = "Dive under water / Resurface" set desc = "Dive under water, allowing for you to be stealthy and move faster." - set category = "Abilities" + set category = "Abilities.General" if(last_special > world.time) return @@ -1185,18 +1185,18 @@ /mob/living/carbon/human/proc/underwater_devour() set name = "Devour From Water" set desc = "Grab something in the water with you and devour them with your selected stomach." - set category = "Abilities" + set category = "Abilities.Vore" if(last_special > world.time) return last_special = world.time + 50 //No spamming! if(stat == DEAD || paralysis || weakened || stunned) - to_chat(src, "You cannot do that while in your current state.") + to_chat(src, span_notice("You cannot do that while in your current state.")) return if(!(src.vore_selected)) - to_chat(src, "No selected belly found.") + to_chat(src, span_notice("No selected belly found.")) return @@ -1215,7 +1215,7 @@ targets += L if(!(targets.len)) - to_chat(src, "No eligible targets found.") + to_chat(src, span_notice("No eligible targets found.")) return var/mob/living/target = tgui_input_list(src, "Please select a target.", "Victim", targets) @@ -1223,30 +1223,30 @@ if(!target) return - to_chat(target, "Something begins to circle around you in the water!") //Dun dun... + to_chat(target, span_critical("Something begins to circle around you in the water!")) //Dun dun... var/starting_loc = target.loc if(do_after(src, 50)) if(target.loc != starting_loc) - to_chat(target, "You got away from whatever that was...") - to_chat(src, "They got away.") + to_chat(target, span_warning("You got away from whatever that was...")) + to_chat(src, span_notice("They got away.")) return if(target.buckled) //how are you buckled in the water?! target.buckled.unbuckle_mob() - target.visible_message("\The [target] suddenly disappears, being dragged into the water!",\ - "You are dragged below the water and feel yourself slipping directly into \the [src]'s [vore_selected]!") - to_chat(src, "You successfully drag \the [target] into the water, slipping them into your [vore_selected].") + target.visible_message(span_vwarning("\The [target] suddenly disappears, being dragged into the water!"),\ + span_vdanger("You are dragged below the water and feel yourself slipping directly into \the [src]'s [vore_selected]!")) + to_chat(src, span_vnotice("You successfully drag \the [target] into the water, slipping them into your [vore_selected].")) target.forceMove(src.vore_selected) /mob/living/carbon/human/proc/toggle_pain_module() set name = "Toggle pain simulation." set desc = "Turn on your pain simulation for that organic experience! Or turn it off for repairs, or if it's too much." - set category = "Abilities" + set category = "Abilities.General" if(synth_cosmetic_pain) - to_chat(src, " You turn off your pain simulators.") + to_chat(src, span_notice(" You turn off your pain simulators.")) else - to_chat(src, " You turn on your pain simulators ") + to_chat(src, span_danger(" You turn on your pain simulators ")) synth_cosmetic_pain = !synth_cosmetic_pain @@ -1256,27 +1256,31 @@ /mob/living/proc/long_vore() // Allows the user to tongue grab a creature in range. Made a /living proc so frogs can frog you. set name = "Grab Prey With Appendage" - set category = "Abilities" + set category = "Abilities.Vore" set desc = "Grab a target with any of your appendages!" if(stat || paralysis || weakened || stunned || world.time < last_special) //No tongue flicking while stunned. - to_chat(src, "You can't do that in your current state.") + to_chat(src, span_warning("You can't do that in your current state.")) return last_special = world.time + 10 //Anti-spam. if (!istype(src, /mob/living)) - to_chat(src, "It doesn't work that way.") + to_chat(src, span_warning("It doesn't work that way.")) return var/choice = tgui_alert(src, "Do you wish to change the color of your appendage, use it, or change its functionality?", "Selection List", list("Use it", "Color", "Functionality")) + if(!choice) + return if(choice == "Color") //Easy way to set color so we don't bloat up the menu with even more buttons. - var/new_color = input(usr, "Choose a color to set your appendage to!", "", appendage_color) as color|null + var/new_color = input(src, "Choose a color to set your appendage to!", "", appendage_color) as color|null if(new_color) appendage_color = new_color if(choice == "Functionality") //Easy way to set color so we don't bloat up the menu with even more buttons. - var/choice2 = tgui_alert(usr, "Choose if you want to be pulled to the target or pull them to you!", "Functionality Setting", list("Pull target to self", "Pull self to target")) + var/choice2 = tgui_alert(src, "Choose if you want to be pulled to the target or pull them to you!", "Functionality Setting", list("Pull target to self", "Pull self to target")) + if(!choice2) + return if(choice2 == "Pull target to self") appendage_alt_setting = 0 else @@ -1293,7 +1297,7 @@ targets += L if(!(targets.len)) - to_chat(src, "No eligible targets found.") + to_chat(src, span_notice("No eligible targets found.")) return var/mob/living/target = tgui_input_list(src, "Please select a target.", "Victim", targets) @@ -1302,15 +1306,15 @@ return if(!istype(target, /mob/living)) //Safety. - to_chat(src, "You need to select a living target!") + to_chat(src, span_warning("You need to select a living target!")) return if (get_dist(src,target) >= 6) - to_chat(src, "You need to be closer to do that.") + to_chat(src, span_warning("You need to be closer to do that.")) return - visible_message("\The [src] attempts to snatch up [target]!", \ - "You attempt to snatch up [target]!" ) + visible_message(span_vnotice("\The [src] attempts to snatch up [target]!"), \ + span_vnotice("You attempt to snatch up [target]!") ) playsound(src, 'sound/vore/sunesound/pred/schlorp.ogg', 25) //Code to shoot the beam here. @@ -1380,8 +1384,8 @@ if(istype(firer, /mob/living)) var/mob/living/originator = firer originator.Weaken(2) //If you hit something dense or anchored, fall flat on your face. - originator.visible_message("\The [originator] trips over their self and falls flat on their face!", \ - "You trip over yourself and fall flat on your face!" ) + originator.visible_message(span_warning("\The [originator] trips over their self and falls flat on their face!"), \ + span_warning("You trip over yourself and fall flat on your face!") ) playsound(originator, "punch", 25, 1, -1) return else @@ -1390,8 +1394,8 @@ if(istype(firer, /mob/living)) var/mob/living/originator = firer originator.Weaken(2) //Hit a wall? Whoops! - originator.visible_message("\The [originator] trips over their self and falls flat on their face!", \ - "You trip over yourself and fall flat on your face!" ) + originator.visible_message(span_warning("\The [originator] trips over their self and falls flat on their face!"), \ + span_warning("You trip over yourself and fall flat on your face!") ) playsound(originator, "punch", 25, 1, -1) return else @@ -1421,7 +1425,7 @@ light_color = "#FF0D00" //LONG VORE ABILITY END -/obj/item/weapon/gun/energy/gun/tongue //This is the 'tongue' gun for admin memery. +/obj/item/gun/energy/gun/tongue //This is the 'tongue' gun for admin memery. name = "tongue" desc = "A tongue that can be used to grab things." icon = 'icons/mob/dogborg_vr.dmi' @@ -1433,7 +1437,7 @@ charge_cost = 0 //This is an adminspawn gun...No reason to force it to have a charge state. projectile_type = /obj/item/projectile/beam/appendage - cell_type = /obj/item/weapon/cell/device/weapon/recharge + cell_type = /obj/item/cell/device/weapon/recharge battery_lock = 1 modifystate = null @@ -1441,11 +1445,11 @@ firemodes = list( list(mode_name="vore", projectile_type=/obj/item/projectile/beam/appendage, modifystate=null, fire_sound='sound/vore/sunesound/pred/schlorp.ogg', charge_cost = 0),) -/obj/item/weapon/gun/energy/gun/tongue/update_icon() //No updating the icon. +/obj/item/gun/energy/gun/tongue/update_icon() //No updating the icon. icon_state = "synthtongue" return -/obj/item/weapon/gun/energy/bfgtaser/tongue +/obj/item/gun/energy/bfgtaser/tongue name = "9000-series Ball Tongue Taser" desc = "A banned riot control device." slot_flags = SLOT_BELT|SLOT_BACK @@ -1464,20 +1468,20 @@ /mob/living/proc/target_lunge() //The leaper leap, but usable as an ability set name = "Lunge At Prey" - set category = "Abilities" + set category = "Abilities.Vore" set desc = "Dive atop your prey and gobble them up!" var/leap_warmup = 1 SECOND //Easy to modify var/leap_sound = 'sound/weapons/spiderlunge.ogg' if(stat || paralysis || weakened || stunned || world.time < last_special) //No tongue flicking while stunned. - to_chat(src, "You can't do that in your current state.") + to_chat(src, span_warning("You can't do that in your current state.")) return last_special = world.time + 10 //Anti-spam. if (!istype(src, /mob/living)) - to_chat(src, "It doesn't work that way.") + to_chat(src, span_warning("It doesn't work that way.")) return else @@ -1492,7 +1496,7 @@ targets += L if(!(targets.len)) - to_chat(src, "No eligible targets found.") + to_chat(src, span_notice("No eligible targets found.")) return var/mob/living/target = tgui_input_list(src, "Please select a target.", "Victim", targets) @@ -1501,15 +1505,15 @@ return if(!istype(target, /mob/living)) //Safety. - to_chat(src, "You need to select a living target!") + to_chat(src, span_warning("You need to select a living target!")) return if (get_dist(src,target) >= 6) - to_chat(src, "You need to be closer to do that.") + to_chat(src, span_warning("You need to be closer to do that.")) return - visible_message(span("warning","\The [src] rears back, ready to lunge!")) - to_chat(target, span("danger","\The [src] focuses on you!")) + visible_message(span_warning("\The [src] rears back, ready to lunge!")) + to_chat(target, span_danger("\The [src] focuses on you!")) // Telegraph, since getting stunned suddenly feels bad. do_windup_animation(target, leap_warmup) sleep(leap_warmup) // For the telegraphing. @@ -1519,7 +1523,7 @@ // Do the actual leap. status_flags |= LEAPING // Lets us pass over everything. - visible_message(span("critical","\The [src] leaps at \the [target]!")) + visible_message(span_critical("\The [src] leaps at \the [target]!")) throw_at(get_step(target, get_turf(src)), 7, 1, src) playsound(src, leap_sound, 75, 1) @@ -1534,11 +1538,11 @@ /mob/living/proc/injection() // Allows the user to inject reagents into others somehow, like stinging, or biting. set name = "Injection" - set category = "Abilities" + set category = "Abilities.General" set desc = "Inject another being with something!" if(stat || paralysis || weakened || stunned || world.time < last_special) //Epic copypasta from tongue grabbing. - to_chat(src, "You can't do that in your current state.") + to_chat(src, span_warning("You can't do that in your current state.")) return last_special = world.time + 10 //Anti-spam. @@ -1556,23 +1560,26 @@ var/choice = tgui_alert(src, "Do you wish to inject somebody, or adjust settings?", "Selection List", choices) + if(!choice) + return + if(choice == "Change reagent") - var/reagent_choice = tgui_input_list(usr, "Choose which reagent to inject!", "Select reagent", trait_injection_reagents) + var/reagent_choice = tgui_input_list(src, "Choose which reagent to inject!", "Select reagent", trait_injection_reagents) if(reagent_choice) trait_injection_selected = reagent_choice - to_chat(src, "You prepare to inject [trait_injection_amount] units of [trait_injection_selected ? "[trait_injection_selected]" : "...nothing. Select a reagent before trying to inject anything."]") + to_chat(src, span_notice("You prepare to inject [trait_injection_amount] units of [trait_injection_selected ? "[trait_injection_selected]" : "...nothing. Select a reagent before trying to inject anything."]")) return if(choice == "Change amount") - var/amount_choice = tgui_input_number(usr, "How much of the reagent do you want to inject? (Up to 5 units) (Can select 0 for a bite that doesn't inject venom!)", "How much?", trait_injection_amount, 5, 0, round_value = FALSE) + var/amount_choice = tgui_input_number(src, "How much of the reagent do you want to inject? (Up to 5 units) (Can select 0 for a bite that doesn't inject venom!)", "How much?", trait_injection_amount, 5, 0, round_value = FALSE) if(amount_choice >= 0) trait_injection_amount = amount_choice - to_chat(src, "You prepare to inject [trait_injection_amount] units of [trait_injection_selected ? "[trait_injection_selected]" : "...nothing. Select a reagent before trying to inject anything."]") + to_chat(src, span_notice("You prepare to inject [trait_injection_amount] units of [trait_injection_selected ? "[trait_injection_selected]" : "...nothing. Select a reagent before trying to inject anything."]")) return if(choice == "Change verb") - var/verb_choice = tgui_input_text(usr, "Choose the percieved manner of injection, such as 'bites' or 'stings', don't be misleading or abusive. This will show up in game as ('X' 'Verb' 'Y'. Example: X bites Y.)", "How are you injecting?", trait_injection_verb, max_length = 60) //Whoaa there cowboy don't put a novel in there. + var/verb_choice = tgui_input_text(src, "Choose the percieved manner of injection, such as 'bites' or 'stings', don't be misleading or abusive. This will show up in game as ('X' 'Verb' 'Y'. Example: X bites Y.)", "How are you injecting?", trait_injection_verb, max_length = 60) //Whoaa there cowboy don't put a novel in there. if(verb_choice) trait_injection_verb = verb_choice - to_chat(src, "You will [trait_injection_verb] your targets.") + to_chat(src, span_notice("You will [trait_injection_verb] your targets.")) return if(choice == "Chemical Refresher") var/output = {"Chemical Refresher!
    @@ -1604,7 +1611,7 @@ You can also bite synthetics, but due to how synths work, they won't have anything injected into them.
    "} - usr << browse(output,"window=chemicalrefresher") + src << browse(output,"window=chemicalrefresher") return else var/list/targets = list() //IF IT IS NOT BROKEN. DO NOT FIX IT. AND KEEP COPYPASTING IT (Pointing Rick Dalton: "That's my code!" ~CL) @@ -1621,7 +1628,7 @@ targets += L if(!(targets.len)) - to_chat(src, "No eligible targets found.") + to_chat(src, span_notice("No eligible targets found.")) return var/mob/living/target = tgui_input_list(src, "Please select a target.", "Victim", targets) @@ -1630,7 +1637,7 @@ return if(!istype(target, /mob/living/carbon)) //Safety. - to_chat(src, "That won't work on that kind of creature! (Only works on crew/monkeys)") + to_chat(src, span_warning("That won't work on that kind of creature! (Only works on crew/monkeys)")) return @@ -1639,18 +1646,18 @@ synth = 1 if(!trait_injection_selected) - to_chat(src, "You need to select a reagent.") + to_chat(src, span_notice("You need to select a reagent.")) return if(!trait_injection_verb) - to_chat(src, "Somehow, you forgot your means of injecting. (Select a verb!)") + to_chat(src, span_notice("Somehow, you forgot your means of injecting. (Select a verb!)")) return if(do_after(src, 50, target)) //A decent enough timer. add_attack_logs(src,target,"Injection trait ([trait_injection_selected], [trait_injection_amount])") if(target.reagents && (trait_injection_amount > 0) && !synth) target.reagents.add_reagent(trait_injection_selected, trait_injection_amount) - var/ourmsg = "[usr] [trait_injection_verb] [target] " + var/ourmsg = "[src] [trait_injection_verb] [target] " switch(zone_sel.selecting) if(BP_HEAD) ourmsg += "on the head!" @@ -1670,5 +1677,4 @@ ourmsg += "on the mouth!" if("eyes") ourmsg += "on the eyes!" - ourmsg += "" - visible_message(ourmsg) + visible_message(span_warning(ourmsg)) diff --git a/code/modules/mob/living/carbon/human/species/station/station_special_vr.dm b/code/modules/mob/living/carbon/human/species/station/station_special_vr.dm index 9a698285013..2a0dc2bf32c 100644 --- a/code/modules/mob/living/carbon/human/species/station/station_special_vr.dm +++ b/code/modules/mob/living/carbon/human/species/station/station_special_vr.dm @@ -85,7 +85,7 @@ var/regen_sounds = H.regen_sounds if(prob(2)) // 2% chance of playing squelchy noise while reviving, which is run roughly every 2 seconds/tick while regenerating. playsound(H, pick(regen_sounds), 30) - H.visible_message("

    [H.name]'s motionless form shudders grotesquely, rippling unnaturally.

    ") + H.visible_message(span_danger("

    [H.name]'s motionless form shudders grotesquely, rippling unnaturally.

    ")) //Cold/pressure effects when not regenerating else @@ -154,9 +154,9 @@ else if(H.nutrition <= 200 && prob(0.5)) switch(H.nutrition) if(150 to 200) - to_chat(H,"You feel rather hungry. It might be a good idea to find some some food...") + to_chat(H,span_info("You feel rather hungry. It might be a good idea to find some some food...")) if(100 to 150) - to_chat(H,"You feel like you're going to snap and give in to your hunger soon... It would be for the best to find some [pick("food","prey")] to eat...") + to_chat(H,span_warning("You feel like you're going to snap and give in to your hunger soon... It would be for the best to find some [pick("food","prey")] to eat...")) danger = TRUE //now the check's done, update their brain so it remembers how stressed they were @@ -187,7 +187,7 @@ //Did we just finish being feral? if(!feral) feral_state = FALSE - to_chat(H,"Your thoughts start clearing, your feral urges having passed - for the time being, at least.") + to_chat(H,span_info("Your thoughts start clearing, your feral urges having passed - for the time being, at least.")) log_and_message_admins("is no longer feral.", H) update_xenochimera_hud(H, danger, feral_state) return @@ -227,19 +227,19 @@ if(darkish || !isturf(H.loc) || isbelly(H.loc)) // Specific check for if in belly. !isturf should do this, but JUST in case. // If hurt, tell 'em to heal up if (cause == "shock") - to_chat(H,"This place seems safe, secure, hidden, a place to lick your wounds and recover...") + to_chat(H,span_info("This place seems safe, secure, hidden, a place to lick your wounds and recover...")) //If hungry, nag them to go and find someone or something to eat. else if(cause == "hunger") - to_chat(H,"Secure in your hiding place, your hunger still gnaws at you. You need to catch some food...") + to_chat(H,span_info("Secure in your hiding place, your hunger still gnaws at you. You need to catch some food...")) //If jittery, etc else if(cause == "jittery") - to_chat(H,"sneakysneakyyesyesyescleverhidingfindthingsyessssss") + to_chat(H,span_info("sneakysneakyyesyesyescleverhidingfindthingsyessssss")) //Otherwise, just tell them to keep hiding. else - to_chat(H,"...safe...") + to_chat(H,span_info("...safe...")) // NOT in the darkness else @@ -254,18 +254,18 @@ if(nearby.len) var/M = pick(nearby) if(cause == "shock") - to_chat(H,"You're hurt, in danger, exposed, and [M] looks to be a little too close for comfort...") + to_chat(H,span_danger("You're hurt, in danger, exposed, and [M] looks to be a little too close for comfort...")) else - to_chat(H,"Every movement, every flick, every sight and sound has your full attention, your hunting instincts on high alert... In fact, [M] looks extremely appetizing...") + to_chat(H,span_danger("Every movement, every flick, every sight and sound has your full attention, your hunting instincts on high alert... In fact, [M] looks extremely appetizing...")) // Nobody around else if(cause == "hunger") - to_chat(H,"Confusing sights and sounds and smells surround you - scary and disorienting it may be, but the drive to hunt, to feed, to survive, compels you.") + to_chat(H,span_danger("Confusing sights and sounds and smells surround you - scary and disorienting it may be, but the drive to hunt, to feed, to survive, compels you.")) else if(cause == "jittery") - to_chat(H,"yesyesyesyesyesyesgetthethingGETTHETHINGfindfoodsfindpreypounceyesyesyes") + to_chat(H,span_danger("yesyesyesyesyesyesgetthethingGETTHETHINGfindfoodsfindpreypounceyesyesyes")) else - to_chat(H,"Confusing sights and sounds and smells surround you, this place is wrong, confusing, frightening. You need to hide, go to ground...") + to_chat(H,span_danger("Confusing sights and sounds and smells surround you, this place is wrong, confusing, frightening. You need to hide, go to ground...")) // HUD update time update_xenochimera_hud(H, danger, feral_state) @@ -273,28 +273,28 @@ /datum/species/xenochimera/proc/go_feral(var/mob/living/carbon/human/H, var/stress, var/cause) // Going feral due to hunger if(cause == "hunger") - to_chat(H,"Something in your mind flips, your instincts taking over, no longer able to fully comprehend your surroundings as survival becomes your primary concern - you must feed, survive, there is nothing else. Hunt. Eat. Hide. Repeat.") + to_chat(H,span_danger("Something in your mind flips, your instincts taking over, no longer able to fully comprehend your surroundings as survival becomes your primary concern - you must feed, survive, there is nothing else. Hunt. Eat. Hide. Repeat.")) log_and_message_admins("has gone feral due to hunger.", H) // If they're hurt, chance of snapping. else if(cause == "shock") //If the majority of their shock is due to halloss, give them a different message (3x multiplier on check as halloss is 2x - meaning t_s must be at least 3x for other damage sources to be the greater part) if(3*H.halloss >= H.traumatic_shock) - to_chat(H,"The pain! It stings! Got to get away! Your instincts take over, urging you to flee, to hide, to go to ground, get away from here...") + to_chat(H,span_danger("The pain! It stings! Got to get away! Your instincts take over, urging you to flee, to hide, to go to ground, get away from here...")) log_and_message_admins("has gone feral due to halloss.", H) //Majority due to other damage sources else - to_chat(H,"Your fight-or-flight response kicks in, your injuries too much to simply ignore - you need to flee, to hide, survive at all costs - or destroy whatever is threatening you.") + to_chat(H,span_danger("Your fight-or-flight response kicks in, your injuries too much to simply ignore - you need to flee, to hide, survive at all costs - or destroy whatever is threatening you.")) log_and_message_admins("has gone feral due to injury.", H) //No hungry or shock, but jittery else if(cause == "jittery") - to_chat(H,"Suddenly, something flips - everything that moves is... potential prey. A plaything. This is great! Time to hunt!") + to_chat(H,span_warning("Suddenly, something flips - everything that moves is... potential prey. A plaything. This is great! Time to hunt!")) log_and_message_admins("has gone feral due to jitteriness.", H) else // catch-all just in case something weird happens - to_chat(H,"The stress of your situation is too much for you, and your survival instincts kick in!") + to_chat(H,span_warning("The stress of your situation is too much for you, and your survival instincts kick in!")) log_and_message_admins("has gone feral for unknown reasons.", H) //finally, set their feral var H.feral = stress @@ -384,6 +384,8 @@ silk_reserve = 500 silk_max_reserve = 1000 + climb_mult = 0.75 + /datum/species/spider/handle_environment_special(var/mob/living/carbon/human/H) if(H.stat == DEAD) // If they're dead they won't need anything. return diff --git a/code/modules/mob/living/carbon/human/species/station/station_vr.dm b/code/modules/mob/living/carbon/human/species/station/station_vr.dm index bceebe85f3f..dee95bf6fb9 100644 --- a/code/modules/mob/living/carbon/human/species/station/station_vr.dm +++ b/code/modules/mob/living/carbon/human/species/station/station_vr.dm @@ -110,6 +110,7 @@ water_breather = TRUE water_movement = -4 //Negates shallow. Halves deep. + swim_mult = 0.5 flesh_color = "#AFA59E" base_color = "#777777" @@ -346,7 +347,7 @@ /datum/species/zaddat/equip_survival_gear(var/mob/living/carbon/human/H) .=..() - var/obj/item/weapon/storage/toolbox/lunchbox/survival/zaddat/L = new(get_turf(H)) + var/obj/item/storage/toolbox/lunchbox/survival/zaddat/L = new(get_turf(H)) if(H.backbag == 1) H.equip_to_slot_or_del(L, slot_r_hand) else diff --git a/code/modules/mob/living/carbon/human/species/station/teshari.dm b/code/modules/mob/living/carbon/human/species/station/teshari.dm index d25da007273..afd1d9dc825 100644 --- a/code/modules/mob/living/carbon/human/species/station/teshari.dm +++ b/code/modules/mob/living/carbon/human/species/station/teshari.dm @@ -56,8 +56,8 @@ burn_mod = 1.35 mob_size = MOB_SMALL pass_flags = PASSTABLE - holder_type = /obj/item/weapon/holder/human - short_sighted = 1 + holder_type = /obj/item/holder/human + short_sighted = 1 // YW uncomment -Kel gluttonous = 1 blood_volume = 400 hunger_factor = 0.2 @@ -186,14 +186,14 @@ if(H.buckled) if(!silent) - to_chat(H, SPAN_WARNING("You try to spread your wings to slow your fall, but \the [H.buckled] weighs you down!")) + to_chat(H, span_warning("You try to spread your wings to slow your fall, but \the [H.buckled] weighs you down!")) return ..() // Is there enough air to flap against? var/datum/gas_mixture/environment = landing.return_air() if(!environment || environment.return_pressure() < (ONE_ATMOSPHERE * 0.75)) if(!silent) - to_chat(H, SPAN_WARNING("You spread your wings to slow your fall, but the air is too thin!")) + to_chat(H, span_warning("You spread your wings to slow your fall, but the air is too thin!")) return ..() // Are we wearing a space suit? @@ -201,7 +201,7 @@ for(var/blacklisted_type in flight_suit_blacklisted_types) if(istype(H.wear_suit, blacklisted_type)) if(!silent) - to_chat(H, SPAN_WARNING("You try to spread your wings to slow your fall, but \the [H.wear_suit] is in the way!")) + to_chat(H, span_warning("You try to spread your wings to slow your fall, but \the [H.wear_suit] is in the way!")) return ..() // Do we have working wings? @@ -209,13 +209,13 @@ var/obj/item/organ/external/E = H.organs_by_name[bp] if(!istype(E) || !E.is_usable() || E.is_broken() || E.is_stump()) if(!silent) - to_chat(H, SPAN_WARNING("You try to spread your wings to slow your fall, but they won't hold your weight!")) + to_chat(H, span_warning("You try to spread your wings to slow your fall, but they won't hold your weight!")) return ..() // Handled! if(!silent) - to_chat(H, SPAN_NOTICE("You catch the air in your wings and greatly slow your fall.")) - landing.visible_message("\The [H] glides down from above, landing safely.") + to_chat(H, span_notice("You catch the air in your wings and greatly slow your fall.")) + landing.visible_message(span_infoplain(span_bold("\The [H]") + " glides down from above, landing safely.")) H.Stun(1) playsound(H, "rustle", 25, 1) return TRUE @@ -235,7 +235,7 @@ if(H.loneliness_stage > 0) H.loneliness_stage -= 4 return - if(istype(H.loc, /obj/item/weapon/holder)) + if(istype(H.loc, /obj/item/holder)) if(H.loneliness_stage > 0) H.loneliness_stage -= 4 return @@ -255,7 +255,7 @@ H.next_loneliness_time = world.time+500 return - for(var/obj/item/weapon/holder/micro/M in range(1, H)) + for(var/obj/item/holder/micro/M in range(1, H)) if(H.loneliness_stage > 0) H.loneliness_stage -= 4 if(H.loneliness_stage < 0) diff --git a/code/modules/mob/living/carbon/human/species/station/traits_vr/_traits.dm b/code/modules/mob/living/carbon/human/species/station/traits_vr/_traits.dm index 46a4b4c1d57..1c906b501bc 100644 --- a/code/modules/mob/living/carbon/human/species/station/traits_vr/_traits.dm +++ b/code/modules/mob/living/carbon/human/species/station/traits_vr/_traits.dm @@ -8,6 +8,7 @@ #define TRAIT_PREF_TYPE_BOOLEAN 1 #define TRAIT_PREF_TYPE_COLOR 2 +#define TRAIT_PREF_TYPE_STRING 3 #define TRAIT_NO_VAREDIT_TARGET 0 #define TRAIT_VAREDIT_TARGET_SPECIES 1 diff --git a/code/modules/mob/living/carbon/human/species/station/traits_vr/negative.dm b/code/modules/mob/living/carbon/human/species/station/traits_vr/negative.dm index e4ae86d9002..f9a6812f1dd 100644 --- a/code/modules/mob/living/carbon/human/species/station/traits_vr/negative.dm +++ b/code/modules/mob/living/carbon/human/species/station/traits_vr/negative.dm @@ -162,6 +162,8 @@ desc = "Increases your susceptibility to electric shocks by 100%" cost = -4 var_changes = list("siemens_coefficient" = 2.0) //This makes you extremely weak to tasers. + varchange_type = TRAIT_VARCHANGE_LESS_BETTER + //YW ADDITIONS: END /datum/trait/negative/haemophilia @@ -239,10 +241,12 @@ varchange_type = TRAIT_VARCHANGE_MORE_BETTER /datum/trait/negative/bad_swimmer name = "Bad Swimmer" - desc = "You can't swim very well, all water slows you down a lot and you drown in deep water." + desc = "You can't swim very well, all water slows you down a lot and you drown in deep water. You also swim up and down 25% slower." cost = -1 custom_only = FALSE - var_changes = list("bad_swimmer" = 1, "water_movement" = 4) + var_changes = list("bad_swimmer" = 1, "water_movement" = 4, "swim_mult" = 1.25) + varchange_type = TRAIT_VARCHANGE_LESS_BETTER + excludes = list(/datum/trait/positive/good_swimmer) //YW ADDITIONS: START /datum/trait/negative/light_sensitivity @@ -250,10 +254,12 @@ desc = "You have trouble dealing with sudden flashes of light, taking some time for you to recover. The effects of flashes from cameras and security equipment leaves you stunned for some time." cost = -1 var_changes = list("flash_mod" = 1.5) + varchange_type = TRAIT_VARCHANGE_LESS_BETTER /datum/trait/negative/light_sensitivity_plus name = "Photosensitivity Extreme" desc = "You have trouble dealing with sudden flashes of light, taking quite a long time for you to be able to recover. The effects of flashes from cameras and security equipment leave you stunned for some time." cost = -2 var_changes = list("flash_mod" = 2.0) + varchange_type = TRAIT_VARCHANGE_LESS_BETTER //YW ADDITIONS: END diff --git a/code/modules/mob/living/carbon/human/species/station/traits_vr/neutral.dm b/code/modules/mob/living/carbon/human/species/station/traits_vr/neutral.dm index 4805df6703b..1abaae82d30 100644 --- a/code/modules/mob/living/carbon/human/species/station/traits_vr/neutral.dm +++ b/code/modules/mob/living/carbon/human/species/station/traits_vr/neutral.dm @@ -109,7 +109,7 @@ YW change end */ /datum/trait/neutral/bloodsucker/apply(var/datum/species/S,var/mob/living/carbon/human/H) ..() - H.verbs |= /mob/living/carbon/human/proc/bloodsuck + add_verb(H, /mob/living/carbon/human/proc/bloodsuck) /*YW Comment out in favour for our variant /datum/trait/neutral/bloodsucker_freeform name = "Bloodsucker" @@ -130,7 +130,7 @@ YW change end */ */ /datum/trait/neutral/bloodsucker_freeform/apply(var/datum/species/S,var/mob/living/carbon/human/H) ..() - H.verbs |= /mob/living/carbon/human/proc/bloodsuck + add_verb(H, /mob/living/carbon/human/proc/bloodsuck) /datum/trait/neutral/succubus_drain name = "Succubus Drain" @@ -140,9 +140,9 @@ YW change end */ /datum/trait/neutral/succubus_drain/apply(var/datum/species/S,var/mob/living/carbon/human/H) ..() - H.verbs |= /mob/living/carbon/human/proc/succubus_drain - H.verbs |= /mob/living/carbon/human/proc/succubus_drain_finalize - H.verbs |= /mob/living/carbon/human/proc/succubus_drain_lethal + add_verb(H, /mob/living/carbon/human/proc/succubus_drain) + add_verb(H, /mob/living/carbon/human/proc/succubus_drain_finalize) + add_verb(H, /mob/living/carbon/human/proc/succubus_drain_lethal) /datum/trait/neutral/venom_bite name = "Venomous Injection" @@ -170,7 +170,7 @@ YW change end */ /datum/trait/neutral/venom_bite/apply(var/datum/species/S,var/mob/living/carbon/human/H) ..() - H.verbs |= /mob/living/proc/injection + add_verb(H, /mob/living/proc/injection) H.trait_injection_reagents += "microcillin" // get small H.trait_injection_reagents += "macrocillin" // get BIG H.trait_injection_reagents += "normalcillin" // normal @@ -202,7 +202,7 @@ YW change end */ /datum/trait/neutral/long_vore/apply(var/datum/species/S,var/mob/living/carbon/human/H) ..() - H.verbs |= /mob/living/proc/long_vore + add_verb(H, /mob/living/proc/long_vore) /datum/trait/neutral/feeder name = "Feeder" @@ -212,7 +212,7 @@ YW change end */ /datum/trait/neutral/feeder/apply(var/datum/species/S,var/mob/living/carbon/human/H) ..() - H.verbs |= /mob/living/carbon/human/proc/slime_feed + add_verb(H, /mob/living/carbon/human/proc/slime_feed) /datum/trait/neutral/stuffing_feeder name = "Food Stuffer" @@ -223,7 +223,7 @@ YW change end */ /datum/trait/neutral/stuffing_feeder/apply(var/datum/species/S,var/mob/living/carbon/human/H) ..() - H.verbs |= /mob/living/proc/toggle_stuffing_mode + add_verb(H, /mob/living/proc/toggle_stuffing_mode) /datum/trait/neutral/hard_vore name = "Brutal Predation" @@ -233,7 +233,7 @@ YW change end */ /datum/trait/neutral/hard_vore/apply(var/datum/species/S,var/mob/living/carbon/human/H) ..() - H.verbs |= /mob/living/proc/shred_limb + add_verb(H, /mob/living/proc/shred_limb) /datum/trait/neutral/trashcan name = "Trash Can" @@ -244,8 +244,8 @@ YW change end */ /datum/trait/neutral/trashcan/apply(var/datum/species/S,var/mob/living/carbon/human/H) ..() - H.verbs |= /mob/living/proc/eat_trash - H.verbs |= /mob/living/proc/toggle_trash_catching //Ported from chompstation + add_verb(H, /mob/living/proc/eat_trash) + add_verb(H, /mob/living/proc/toggle_trash_catching) //Ported from chompstation /datum/trait/neutral/gem_eater name = "Expensive Taste" @@ -256,7 +256,7 @@ YW change end */ /datum/trait/neutral/gem_eater/apply(var/datum/species/S,var/mob/living/carbon/human/H) ..() - H.verbs |= /mob/living/proc/eat_minerals + add_verb(H, /mob/living/proc/eat_minerals) /datum/trait/neutral/synth_chemfurnace name = "Biofuel Processor" @@ -293,7 +293,7 @@ YW change end */ /datum/trait/neutral/glowing_eyes/apply(var/datum/species/S,var/mob/living/carbon/human/H) ..() - H.verbs |= /mob/living/carbon/human/proc/toggle_eye_glow + add_verb(H, /mob/living/carbon/human/proc/toggle_eye_glow) /datum/trait/neutral/glowing_body name = "Glowing Body" @@ -305,8 +305,8 @@ YW change end */ /datum/trait/neutral/glowing_body/apply(var/datum/species/S,var/mob/living/carbon/human/H) ..() - H.verbs |= /mob/living/proc/glow_toggle - H.verbs |= /mob/living/proc/glow_color + add_verb(H, /mob/living/proc/glow_toggle) + add_verb(H, /mob/living/proc/glow_color) //Allergen traits! Not available to any species with a base allergens var. /datum/trait/neutral/allergy @@ -739,7 +739,7 @@ YW CHANGE STOP*/ /datum/trait/neutral/dominate_predator/apply(var/datum/species/S,var/mob/living/carbon/human/H) ..() - H.verbs |= /mob/proc/dominate_predator + add_verb(H, /mob/proc/dominate_predator) /datum/trait/neutral/dominate_prey name = "Dominate Prey" @@ -749,7 +749,7 @@ YW CHANGE STOP*/ /datum/trait/neutral/dominate_prey/apply(var/datum/species/S,var/mob/living/carbon/human/H) ..() - H.verbs |= /mob/living/proc/dominate_prey + add_verb(H, /mob/living/proc/dominate_prey) /datum/trait/neutral/submit_to_prey name = "Submit To Prey" @@ -759,7 +759,7 @@ YW CHANGE STOP*/ /datum/trait/neutral/submit_to_prey/apply(var/datum/species/S,var/mob/living/carbon/human/H) ..() - H.verbs |= /mob/living/proc/lend_prey_control + add_verb(H, /mob/living/proc/lend_prey_control) /datum/trait/neutral/vertical_nom name = "Vertical Nom" @@ -769,7 +769,7 @@ YW CHANGE STOP*/ /datum/trait/neutral/vertical_nom/apply(var/datum/species/S,var/mob/living/carbon/human/H) ..() - H.verbs |= /mob/living/proc/vertical_nom + add_verb(H, /mob/living/proc/vertical_nom) /datum/trait/neutral/micro_size_down name = "Light Frame" @@ -865,7 +865,7 @@ YW CHANGE STOP*/ /datum/trait/neutral/synth_cosmetic_pain/apply(var/datum/species/S,var/mob/living/carbon/human/H, var/trait_prefs = null) ..() - H.verbs |= /mob/living/carbon/human/proc/toggle_pain_module + add_verb(H, /mob/living/carbon/human/proc/toggle_pain_module) //Food preferences ported from RogueStar @@ -1094,3 +1094,131 @@ YW CHANGE STOP*/ /datum/trait/neutral/food_pref/coffee ) our_allergens = list(ALLERGEN_STIMULANT) + + +//////////////PHOBIAS///////////////// + +/datum/trait/neutral/nyctophobia + name = "Phobia: Nyctophobia" + desc = "You are afraid of the dark. When in very dark conditions, you will become afraid." + cost = 0 + custom_only = FALSE + +/datum/trait/neutral/nyctophobia/apply(var/datum/species/S,var/mob/living/carbon/human/H, var/trait_prefs = null) + ..() + H.phobias |= NYCTOPHOBIA + +/datum/trait/neutral/arachnophobia + name = "Phobia: Arachnophobia" + desc = "You are afraid of spiders. When you can see a large spider, you will become afraid." + cost = 0 + custom_only = FALSE + +/datum/trait/neutral/arachnophobia/apply(var/datum/species/S,var/mob/living/carbon/human/H, var/trait_prefs = null) + ..() + H.phobias |= ARACHNOPHOBIA + +/datum/trait/neutral/hemophobia + name = "Phobia: Hemophobia" + desc = "You are afraid of blood. When you can see large amounts of blood, you will become afraid." + cost = 0 + custom_only = FALSE + +/datum/trait/neutral/hemophobia/apply(var/datum/species/S,var/mob/living/carbon/human/H, var/trait_prefs = null) + ..() + H.phobias |= HEMOPHOBIA + +/datum/trait/neutral/thalassophobia + name = "Phobia: Thalassophobia" + desc = "You are afraid of deep water. When in deep water, you will become afraid." + cost = 0 + custom_only = FALSE + +/datum/trait/neutral/thalassophobia/apply(var/datum/species/S,var/mob/living/carbon/human/H, var/trait_prefs = null) + ..() + H.phobias |= THALASSOPHOBIA + +/datum/trait/neutral/clasutrophobia_minor + name = "Phobia: Claustrophobia (non-vore)" + desc = "You are afraid of tight, enclosed spaces. When inside of another object, you will become afraid." + cost = 0 + custom_only = FALSE + +/datum/trait/neutral/clasutrophobia_minor/apply(var/datum/species/S,var/mob/living/carbon/human/H, var/trait_prefs = null) + ..() + H.phobias |= CLAUSTROPHOBIA_MINOR + +/datum/trait/neutral/clasutrophobia_major + name = "Phobia: Claustrophobia (vore)" + desc = "You are afraid of tight, enclosed spaces. When inside of another object, including vore bellies, you will become afraid." + cost = 0 + custom_only = FALSE + +/datum/trait/neutral/clasutrophobia_major/apply(var/datum/species/S,var/mob/living/carbon/human/H, var/trait_prefs = null) + ..() + H.phobias |= CLAUSTROPHOBIA_MAJOR + +/datum/trait/neutral/anatidaephobia + name = "Phobia: Anatidaephobia" + desc = "You are afraid of ducks. When you can see a duck (even rubber ones), you will become afraid." + cost = 0 + custom_only = FALSE + +/datum/trait/neutral/anatidaephobia/apply(var/datum/species/S,var/mob/living/carbon/human/H, var/trait_prefs = null) + ..() + H.phobias |= ANATIDAEPHOBIA + +/datum/trait/neutral/agraviaphobia + name = "Phobia: Agraviaphobia" + desc = "You are afraid of a lack of gravity. When you find yourself floating, you will become afraid." + cost = 0 + custom_only = FALSE + +/datum/trait/neutral/agraviaphobia/apply(var/datum/species/S,var/mob/living/carbon/human/H, var/trait_prefs = null) + ..() + H.phobias |= AGRAVIAPHOBIA + +/datum/trait/neutral/gargoyle + name = "Gargoyle (Adjustable)" + desc = "You turn into a statue (or similar) at will, but also whenever you run out of energy. Being a statue replenishes your energy slowly." + cost = 0 + custom_only = FALSE //slimes, xenochimera, diona, proteans, etc, basically anything but custom doesn't make sense (as much as I wanna play a petrifying slime) + //Nah makes perfect sense, they could just be gene modded, not to mention we can expand this to have the statue and description of it renameable as well as color adjustable, to support general petrification + has_preferences = list("identifier" = list(TRAIT_PREF_TYPE_STRING, "Identifier", TRAIT_NO_VAREDIT_TARGET, "statue"), + "material" = list(TRAIT_PREF_TYPE_STRING, "Material", TRAIT_NO_VAREDIT_TARGET, "stone"), + "tint" = list(TRAIT_PREF_TYPE_COLOR, "Statue color", TRAIT_NO_VAREDIT_TARGET, "#FFFFFF"), + "adjective" = list(TRAIT_PREF_TYPE_STRING, "Adjective", TRAIT_NO_VAREDIT_TARGET, "hardens")/*, + "pickupable" = list(TRAIT_PREF_TYPE_BOOLEAN, "Can be picked up", TRAIT_NO_VAREDIT_TARGET, FALSE)*/) + +/datum/trait/neutral/gargoyle/apply(var/datum/species/S,var/mob/living/carbon/human/H, var/list/trait_prefs) + ..() + var/datum/component/gargoyle/G = H.LoadComponent(/datum/component/gargoyle) + if (trait_prefs) + G.tint = trait_prefs["tint"] + G.material = lowertext(trait_prefs["material"]) + G.identifier = lowertext(trait_prefs["identifier"]) + G.adjective = lowertext(trait_prefs["adjective"]) + +/datum/trait/neutral/gargoyle/apply_sanitization_to_string(var/pref, var/input) + if (has_preferences[pref][1] != TRAIT_PREF_TYPE_STRING || length(input) <= 0) + return + input = sanitizeSafe(input, 25) + if (length(input) <= 0) + return default_value_for_pref(pref) + input = lowertext(input) + if (pref == "adjective") + if (copytext_char(input, -1) != "s") + switch(copytext_char(input, -2)) + if ("ss") + input += "es" + if ("sh") + input += "es" + if ("ch") + input += "es" + else + switch(copytext_char(input, -1)) + if("s", "x", "z") + input += "es" + else + input += "s" + return input diff --git a/code/modules/mob/living/carbon/human/species/station/traits_vr/positive.dm b/code/modules/mob/living/carbon/human/species/station/traits_vr/positive.dm index 08645c4ab9d..d3d5aeb06bf 100644 --- a/code/modules/mob/living/carbon/human/species/station/traits_vr/positive.dm +++ b/code/modules/mob/living/carbon/human/species/station/traits_vr/positive.dm @@ -210,13 +210,14 @@ name = "Winged Flight" desc = "Allows you to fly by using your wings. Don't forget to bring them!" cost = 1 //YW EDIT + custom_only = FALSE has_preferences = list("flight_vore" = list(TRAIT_PREF_TYPE_BOOLEAN, "Flight Vore enabled on spawn", TRAIT_VAREDIT_TARGET_MOB, FALSE)) /datum/trait/positive/winged_flight/apply(var/datum/species/S,var/mob/living/carbon/human/H) ..() - H.verbs |= /mob/living/proc/flying_toggle - H.verbs |= /mob/living/proc/flying_vore_toggle - H.verbs |= /mob/living/proc/start_wings_hovering + add_verb(H, /mob/living/proc/flying_toggle) + add_verb(H, /mob/living/proc/flying_vore_toggle) + add_verb(H, /mob/living/proc/start_wings_hovering) /datum/trait/positive/soft_landing name = "Soft Landing" @@ -228,7 +229,9 @@ /datum/trait/positive/hardfeet name = "Hard Feet" desc = "Makes your nice clawed, scaled, hooved, armored, or otherwise just awfully calloused feet immune to glass shards." - cost = 1 + cost = 1 //YW EDIT + allowed_species = list(SPECIES_HANNER, SPECIES_CUSTOM) //So it only shows up for custom species and hanner + custom_only = FALSE var_changes = list("flags" = NO_MINOR_CUT) //Checked the flag is only used by shard stepping. /datum/trait/positive/antiseptic_saliva @@ -238,7 +241,7 @@ /datum/trait/positive/antiseptic_saliva/apply(var/datum/species/S,var/mob/living/carbon/human/H) ..() - H.verbs |= /mob/living/carbon/human/proc/lick_wounds + add_verb(H, /mob/living/carbon/human/proc/lick_wounds) /datum/trait/positive/traceur name = "Traceur" @@ -258,7 +261,7 @@ /datum/trait/positive/bloodsucker_plus/apply(var/datum/species/S,var/mob/living/carbon/human/H) ..(S,H) - H.verbs |= /mob/living/carbon/human/proc/bloodsuck + add_verb(H, /mob/living/carbon/human/proc/bloodsuck) /datum/trait/positive/sonar name="Perceptive Hearing" @@ -266,7 +269,7 @@ cost = 1 /datum/trait/positive/sonar/apply(var/datum/species/S,var/mob/living/carbon/human/H) ..(S,H) - H.verbs |= /mob/living/carbon/human/proc/sonar_ping + add_verb(H, /mob/living/carbon/human/proc/sonar_ping) /datum/trait/positive/coldadapt @@ -297,36 +300,42 @@ desc = "You can produce silk and create various articles of clothing and objects." cost = 2 var_changes = list("is_weaver" = 1) + allowed_species = list(SPECIES_HANNER, SPECIES_CUSTOM) //So it only shows up for custom species and hanner + custom_only = FALSE has_preferences = list("silk_production" = list(TRAIT_PREF_TYPE_BOOLEAN, "Silk production on spawn", TRAIT_VAREDIT_TARGET_SPECIES), \ "silk_color" = list(TRAIT_PREF_TYPE_COLOR, "Silk color", TRAIT_VAREDIT_TARGET_SPECIES)) /datum/trait/positive/weaver/apply(var/datum/species/S,var/mob/living/carbon/human/H) ..() - H.verbs |= /mob/living/carbon/human/proc/check_silk_amount - H.verbs |= /mob/living/carbon/human/proc/toggle_silk_production - H.verbs |= /mob/living/carbon/human/proc/weave_structure - H.verbs |= /mob/living/carbon/human/proc/weave_item - H.verbs |= /mob/living/carbon/human/proc/set_silk_color + add_verb(H, /mob/living/carbon/human/proc/check_silk_amount) + add_verb(H, /mob/living/carbon/human/proc/toggle_silk_production) + add_verb(H, /mob/living/carbon/human/proc/weave_structure) + add_verb(H, /mob/living/carbon/human/proc/weave_item) + add_verb(H, /mob/living/carbon/human/proc/set_silk_color) /datum/trait/positive/aquatic name = "Aquatic" desc = "You can breathe under water and can traverse water more efficiently. Additionally, you can eat others in the water." cost = 1 var_changes = list("water_breather" = 1, "water_movement" = -4) //Negate shallow water. Half the speed in deep water. + allowed_species = list(SPECIES_HANNER, SPECIES_CUSTOM) //So it only shows up for custom species and hanner + custom_only = FALSE /datum/trait/positive/aquatic/apply(var/datum/species/S,var/mob/living/carbon/human/H) ..() - H.verbs |= /mob/living/carbon/human/proc/water_stealth - H.verbs |= /mob/living/carbon/human/proc/underwater_devour + add_verb(H, /mob/living/carbon/human/proc/water_stealth) + add_verb(H, /mob/living/carbon/human/proc/underwater_devour) /datum/trait/positive/cocoon_tf name = "Cocoon Spinner" desc = "Allows you to build a cocoon around yourself, using it to transform your body if you desire." cost = 1 + allowed_species = list(SPECIES_HANNER, SPECIES_CUSTOM) //So it only shows up for custom species and hanner + custom_only = FALSE /datum/trait/positive/cocoon_tf/apply(var/datum/species/S,var/mob/living/carbon/human/H) ..() - H.verbs |= /mob/living/carbon/human/proc/enter_cocoon + add_verb(H, /mob/living/carbon/human/proc/enter_cocoon) /datum/trait/positive/linguist name = "Linguist" @@ -362,7 +371,7 @@ /datum/trait/positive/wall_climber name = "Climber, Amateur" - desc = "You can climb certain walls without tools! This is likely a personal skill you developed." + desc = "You can climb certain walls without tools! This is likely a personal skill you developed. You can also climb lattices and ladders a little bit faster than everyone else." tutorial = "You must approach a wall and right click it and select the \ 'climb wall' verb to climb it. You suffer from a movement delay of 1.5 with this trait.\n \ Your total climb time is expected to be 17.5 seconds. Tools may reduce this. \n\n \ @@ -371,12 +380,12 @@ cost = 1 custom_only = FALSE banned_species = list(SPECIES_TAJ, SPECIES_VASILISSAN) // They got unique climbing delay. - var_changes = list("can_climb" = TRUE) + var_changes = list("can_climb" = TRUE, "climb_mult" = 0.75) excludes = list(/datum/trait/positive/wall_climber_pro, /datum/trait/positive/wall_climber_natural) /datum/trait/positive/wall_climber_natural name = "Climber, Natural" - desc = "You can climb certain walls without tools! This is likely due to the unique anatomy of your species. CUSTOM AND XENOCHIM ONLY" + desc = "You can climb certain walls without tools! This is likely due to the unique anatomy of your species. You can climb lattices and ladders slightly faster than everyone else. CUSTOM AND XENOCHIM ONLY" tutorial = "You must approach a wall and right click it and select the \ 'climb wall' verb to climb it. You suffer from a movement delay of 1.5 with this trait.\n \ Your total climb time is expected to be 17.5 seconds. Tools may reduce this. \n\n \ @@ -384,13 +393,13 @@ a climbable wall. To climbe like so, use the verb 'Climb Down Wall' in IC tab!" cost = 0 custom_only = FALSE - var_changes = list("can_climb" = TRUE) + var_changes = list("can_climb" = TRUE, "climb_mult" = 0.75) allowed_species = list(SPECIES_XENOCHIMERA, SPECIES_CUSTOM) //So that we avoid needless bloat for xenochim excludes = list(/datum/trait/positive/wall_climber_pro, /datum/trait/positive/wall_climber) /datum/trait/positive/wall_climber_pro name = "Climber, Professional" - desc = "You can climb certain walls without tools! You are a professional rock climber at this, letting you climb almost twice as fast!" + desc = "You can climb certain walls without tools! You are a professional rock climber at this, letting you climb almost twice as fast! You can also climb lattices and ladders a fair bit faster than everyone else!" tutorial = "You must approach a wall and right click it and select the \ 'climb wall' verb to climb it. Your movement delay is just 1.25 with this trait.\n \ Your climb time is expected to be 9 seconds. Tools may reduce this. \n\n \ @@ -398,7 +407,7 @@ a climbable wall. To climbe like so, use the verb 'Climb Down Wall' in IC tab!" cost = 2 custom_only = FALSE - var_changes = list("climbing_delay" = 1.25) + var_changes = list("climbing_delay" = 1.25, "climb_mult" = 0.5) varchange_type = TRAIT_VARCHANGE_LESS_BETTER excludes = list(/datum/trait/positive/wall_climber,/datum/trait/positive/wall_climber_natural) @@ -408,3 +417,14 @@ /datum/trait/positive/wall_climber_pro/apply(var/datum/species/S,var/mob/living/carbon/human/H) ..() S.can_climb = TRUE + +/datum/trait/positive/good_swimmer + name = "Pro Swimmer" + desc = "You were top of your group in swimming class! This is of questionable usefulness on most planets, but hey, maybe you'll get to visit a nice beach world someday?" + tutorial = "You move faster in water, and can move up and down z-levels faster than other swimmers!" + cost = 1 + custom_only = FALSE + var_changes = list("water_movement" = -2, "swim_mult" = 0.5) + varchange_type = TRAIT_VARCHANGE_LESS_BETTER + excludes = list(/datum/trait/negative/bad_swimmer) + banned_species = list(SPECIES_AKULA) // They already swim better than this diff --git a/code/modules/mob/living/carbon/human/species/station/traits_vr/trait.dm b/code/modules/mob/living/carbon/human/species/station/traits_vr/trait.dm index 6239f894282..fb02575361a 100644 --- a/code/modules/mob/living/carbon/human/species/station/traits_vr/trait.dm +++ b/code/modules/mob/living/carbon/human/species/station/traits_vr/trait.dm @@ -33,7 +33,7 @@ S.vars[trait] = trait_prefs[trait] if(TRAIT_VAREDIT_TARGET_MOB) H.vars[trait] = trait_prefs[trait] - H.verbs |= /mob/living/carbon/human/proc/trait_tutorial + add_verb(H, /mob/living/carbon/human/proc/trait_tutorial) return //Applying trait to preferences rather than just us. @@ -75,4 +75,14 @@ return TRUE if(TRAIT_PREF_TYPE_COLOR) //color return "#ffffff" + if(TRAIT_PREF_TYPE_STRING) //string + return "" return + +/datum/trait/proc/apply_sanitization_to_string(var/pref, var/input) + if (has_preferences[pref][1] != TRAIT_PREF_TYPE_STRING || length(input) <= 0) + return default_value_for_pref(pref) + input = sanitizeSafe(input, MAX_NAME_LEN) + if (length(input) <= 0) + return default_value_for_pref(pref) + return input diff --git a/code/modules/mob/living/carbon/human/species/station/traits_vr/traits_tutorial.dm b/code/modules/mob/living/carbon/human/species/station/traits_vr/traits_tutorial.dm index 05aff46d1ff..e5671811fc2 100644 --- a/code/modules/mob/living/carbon/human/species/station/traits_vr/traits_tutorial.dm +++ b/code/modules/mob/living/carbon/human/species/station/traits_vr/traits_tutorial.dm @@ -27,7 +27,7 @@ TGUI frontend path: tgui\packages\tgui\interfaces\TraitTutorial.tsx /mob/living/carbon/human/proc/trait_tutorial() set name = "Explain Custom Traits" set desc = "Click this verb to obtain a detailed tutorial on your selected traits. " - set category = "Abilities" + set category = "Abilities.General" var/datum/tgui_module/trait_tutorial_tgui/fancy_UI if(!fancy_UI) fancy_UI = new /datum/tgui_module/trait_tutorial_tgui/ //Preventing a bunch of instances being spawned all over the place. Hopefully @@ -36,12 +36,12 @@ TGUI frontend path: tgui\packages\tgui\interfaces\TraitTutorial.tsx var/list/list_of_traits = species.traits if(!LAZYLEN(list_of_traits)) //Although we shouldn't show up if no traits, leaving this in case someone loses theirs after (re)spawning. - to_chat(usr, SPAN_NOTICE("You do not have any custom traits!")) + to_chat(usr, span_notice("You do not have any custom traits!")) return //Dont want an empty TGUI panel and list by accident after all. var/UI_choice = tgui_alert(src, "Would you like the tutorial text to be printed to chat?", "Choose preferred tutorial interface", list("TGUI","To Chat", "Cancel")) - if(UI_choice == "Cancel") + if(!UI_choice || UI_choice == "Cancel") return //Initializing associative lists @@ -66,8 +66,8 @@ TGUI frontend path: tgui\packages\tgui\interfaces\TraitTutorial.tsx if(UI_choice == "To Chat") var/to_chat_choice = tgui_input_list(usr, "Please choose the trait to be explained", "Print to Chat", trait_names, null) if(to_chat_choice) - to_chat(usr,SPAN_NOTICE("Name: [to_chat_choice] \n Category: [trait_category[to_chat_choice]] \n Description: [trait_desc[to_chat_choice]] \n \ - Guide: \n [trait_tutorial[to_chat_choice]]")) + to_chat(usr,span_notice(span_bold("Name:") + " [to_chat_choice] \n " + span_bold("Category:") + " [trait_category[to_chat_choice]] \n " + span_bold("Description:") + " [trait_desc[to_chat_choice]] \n \ + " + span_bold("Guide:") + " \n [trait_tutorial[to_chat_choice]]")) else if(UI_choice == "TGUI") diff --git a/code/modules/mob/living/carbon/human/species/station/traits_vr/weaver_objs.dm b/code/modules/mob/living/carbon/human/species/station/traits_vr/weaver_objs.dm index 8d7da6286af..ea715cbc9aa 100644 --- a/code/modules/mob/living/carbon/human/species/station/traits_vr/weaver_objs.dm +++ b/code/modules/mob/living/carbon/human/species/station/traits_vr/weaver_objs.dm @@ -11,11 +11,11 @@ qdel(src) return -/obj/effect/weaversilk/attackby(var/obj/item/weapon/W, var/mob/user) +/obj/effect/weaversilk/attackby(var/obj/item/W, var/mob/user) user.setClickCooldown(user.get_attack_speed(W)) if(W.force) - visible_message("\The [src] has been [LAZYLEN(W.attack_verb) ? pick(W.attack_verb) : "attacked"] with \the [W][(user ? " by [user]." : ".")]") + visible_message(span_warning("\The [src] has been [LAZYLEN(W.attack_verb) ? pick(W.attack_verb) : "attacked"] with \the [W][(user ? " by [user]." : ".")]")) qdel(src) /obj/effect/weaversilk/bullet_act(var/obj/item/projectile/Proj) @@ -33,7 +33,7 @@ /obj/effect/weaversilk/attack_hand(mob/user as mob) ..() if(user.a_intent == I_HURT) - to_chat(user,"You easily tear down [name].") + to_chat(user,span_warning("You easily tear down [name].")) qdel(src) /obj/effect/weaversilk/floor @@ -73,7 +73,7 @@ /obj/structure/bed/double/weaversilk_nest/update_icon() return -/obj/structure/bed/double/weaversilk_nest/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/structure/bed/double/weaversilk_nest/attackby(obj/item/W as obj, mob/user as mob) if(W.has_tool_quality(TOOL_WRENCH) || istype(W,/obj/item/stack) || W.has_tool_quality(TOOL_WIRECUTTER)) return ..() @@ -81,7 +81,7 @@ /obj/structure/bed/double/weaversilk_nest/attack_hand(mob/user as mob) ..() if(user.a_intent == I_HURT && !has_buckled_mobs()) - to_chat(user,"You easily tear down [name].") + to_chat(user,span_warning("You easily tear down [name].")) qdel(src) /obj/effect/weaversilk/trap @@ -102,14 +102,14 @@ var/mob/living/L = AM if(L.m_intent == "run") L.visible_message( - "[L] steps on \the [src].", - "You step on \the [src]!", - "You hear a squishy noise!" + span_danger("[L] steps on \the [src]."), + span_danger("You step on \the [src]!"), + span_infoplain(span_bold("You hear a squishy noise!")) ) set_dir(L.dir) buckle_mob(L) L.Stun(1 SECOND) //YW EDIT - to_chat(L, "The sticky fibers of \the [src] ensnare, trapping you in place!") + to_chat(L, span_danger("The sticky fibers of \the [src] ensnare, trapping you in place!")) trap_active = FALSE desc += " Actually, it looks like it's been all spent." ..() @@ -144,4 +144,4 @@ if(!inhands) return 'icons/vore/custom_onmob_yw.dmi' return ..() -//yw edit end \ No newline at end of file +//yw edit end diff --git a/code/modules/mob/living/carbon/human/species/station/traits_yw/neutral.dm b/code/modules/mob/living/carbon/human/species/station/traits_yw/neutral.dm index 6e17ded32de..39877b39915 100644 --- a/code/modules/mob/living/carbon/human/species/station/traits_yw/neutral.dm +++ b/code/modules/mob/living/carbon/human/species/station/traits_yw/neutral.dm @@ -63,6 +63,6 @@ /datum/trait/neutral/hydra_heads/apply(var/datum/species/S,var/mob/living/carbon/human/H) ..() - H.verbs |= /mob/living/carbon/human/proc/hydra_activate - H.verbs |= /mob/living/carbon/human/proc/hydra_reset + add_verb(H, /mob/living/carbon/human/proc/hydra_activate) + add_verb(H, /mob/living/carbon/human/proc/hydra_reset) //End hydra diff --git a/code/modules/mob/living/carbon/human/species/virtual_reality/avatar.dm b/code/modules/mob/living/carbon/human/species/virtual_reality/avatar.dm index 87c71c52963..c8d044330bd 100644 --- a/code/modules/mob/living/carbon/human/species/virtual_reality/avatar.dm +++ b/code/modules/mob/living/carbon/human/species/virtual_reality/avatar.dm @@ -37,6 +37,7 @@ /mob/living/carbon/human/proc/shapeshifter_select_wings, /mob/living/carbon/human/proc/shapeshifter_select_tail, /mob/living/carbon/human/proc/shapeshifter_select_ears, + /mob/living/carbon/human/proc/shapeshifter_select_secondary_ears, /mob/living/proc/set_size, /mob/living/carbon/human/proc/regenerate, /mob/living/carbon/human/proc/promethean_select_opaqueness, @@ -53,7 +54,7 @@ /mob/living/carbon/human/proc/shapeshifter_change_opacity() set name = "Toggle Opacity" - set category = "Abilities" + set category = "Abilities.Shapeshifter" if(stat || world.time < last_special) return @@ -81,13 +82,13 @@ // Move the mind avatar.Sleeping(1) src.mind.transfer_to(avatar) - to_chat(avatar, "You have enterred Virtual Reality!\nAll normal gameplay rules still apply.\nWounds you suffer here won't persist when you leave VR, but some of the pain will.\nYou can leave VR at any time by using the \"Exit Virtual Reality\" verb in the Abilities tab, or by ghosting.") //No more prommie VR thing, so removed tidbit about changing appearance - to_chat(avatar, " You black out for a moment, and wake to find yourself in a new body in virtual reality.") // So this is what VR feels like? + to_chat(avatar, span_infoplain(span_bold("You have enterred Virtual Reality!\nAll normal gameplay rules still apply.\nWounds you suffer here won't persist when you leave VR, but some of the pain will.\nYou can leave VR at any time by using the \"Exit Virtual Reality\" verb in the Abilities tab, or by ghosting."))) //No more prommie VR thing, so removed tidbit about changing appearance + to_chat(avatar, span_notice(" You black out for a moment, and wake to find yourself in a new body in virtual reality.")) // So this is what VR feels like? // exit_vr is called on the vr mob, and puts the mind back into the original mob /mob/living/carbon/human/proc/exit_vr() set name = "Exit Virtual Reality" - set category = "Abilities" + set category = "Abilities.VR" if(!vr_holder) return @@ -103,13 +104,13 @@ // Move the mind back to the original mob // vr_holder.Sleeping(1) src.mind.transfer_to(vr_holder) - to_chat(vr_holder, "You black out for a moment, and wake to find yourself back in your own body.") + to_chat(vr_holder, span_notice("You black out for a moment, and wake to find yourself back in your own body.")) // Two-thirds damage is transferred as agony for /humans // Getting hurt in VR doesn't damage the physical body, but you still got hurt. if(ishuman(vr_holder) && total_damage) var/mob/living/carbon/human/V = vr_holder V.stun_effect_act(0, total_damage*2/3, null) // 200 damage leaves the user in paincrit for several seconds, agony reaches 0 after around 2m. - to_chat(vr_holder, "Pain from your time in VR lingers.") // 250 damage leaves the user unconscious for several seconds in addition to paincrit + to_chat(vr_holder, span_warning("Pain from your time in VR lingers.")) // 250 damage leaves the user unconscious for several seconds in addition to paincrit // Maintain a link with the mob, but don't use teleop vr_holder.vr_link = src @@ -117,4 +118,4 @@ if(istype(vr_holder.loc, /obj/machinery/vr_sleeper)) var/obj/machinery/vr_sleeper/V = vr_holder.loc - V.go_out() \ No newline at end of file + V.go_out() diff --git a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_powers.dm b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_powers.dm index 6015dd16a9b..346259c449f 100644 --- a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_powers.dm +++ b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_powers.dm @@ -22,20 +22,20 @@ var/obj/item/organ/internal/xenos/plasmavessel/P = internal_organs_by_name[O_PLASMA] if(!istype(P)) - to_chat(src, "Your plasma vessel has been removed!") + to_chat(src, span_danger("Your plasma vessel has been removed!")) return if(needs_organ) var/obj/item/organ/internal/I = internal_organs_by_name[needs_organ] if(!I) - to_chat(src, "Your [needs_organ] has been removed!") + to_chat(src, span_danger("Your [needs_organ] has been removed!")) return else if((I.status & ORGAN_CUT_AWAY) || I.is_broken()) - to_chat(src, "Your [needs_organ] is too damaged to function!") + to_chat(src, span_danger("Your [needs_organ] is too damaged to function!")) return if(P.stored_plasma < cost) - to_chat(src, "You don't have enough phoron stored to do that.") + to_chat(src, span_danger("You don't have enough phoron stored to do that.")) return 0 if(needs_foundation) @@ -46,7 +46,7 @@ if(!(istype(T,/turf/space))) has_foundation = 1 if(!has_foundation) - to_chat(src, "You need a solid foundation to do that on.") + to_chat(src, span_danger("You need a solid foundation to do that on.")) return 0 P.stored_plasma -= cost @@ -56,15 +56,15 @@ /mob/living/carbon/human/proc/transfer_plasma(mob/living/carbon/human/M as mob in oview()) set name = "Transfer Plasma" set desc = "Transfer Plasma to another alien" - set category = "Abilities" + set category = "Abilities.Alien" if (get_dist(src,M) <= 1) - to_chat(src, "You need to be closer.") + to_chat(src, span_alium("You need to be closer.")) return var/obj/item/organ/internal/xenos/plasmavessel/I = M.internal_organs_by_name[O_PLASMA] if(!istype(I)) - to_chat(src, "Their plasma vessel is missing.") + to_chat(src, span_alium("Their plasma vessel is missing.")) return var/amount = tgui_input_number(usr, "Amount:", "Transfer Plasma to [M]") @@ -72,8 +72,8 @@ amount = abs(round(amount)) if(check_alien_ability(amount,0,O_PLASMA)) M.gain_plasma(amount) - to_chat(M, "[src] has transfered [amount] plasma to you.") - to_chat(src, "You have transferred [amount] plasma to [M].") + to_chat(M, span_alium("[src] has transfered [amount] plasma to you.")) + to_chat(src, span_alium("You have transferred [amount] plasma to [M].")) return // Queen verbs. @@ -81,11 +81,11 @@ set name = "Lay Egg (500)" //Cost is entire queen reserve, to compensate being able to reproduce on it's own set desc = "Lay an egg that will eventually hatch into a new xenomorph larva. Life finds a way." - set category = "Abilities" + set category = "Abilities.Alien" - if(!config.aliens_allowed) + if(!CONFIG_GET(flag/aliens_allowed)) to_chat(src, "You begin to lay an egg, but hesitate. You suspect it isn't allowed.") - verbs -= /mob/living/carbon/human/proc/lay_egg + remove_verb(src, /mob/living/carbon/human/proc/lay_egg) return if(locate(/obj/structure/ghost_pod/automatic/xenomorph_egg) in get_turf(src)) @@ -93,7 +93,7 @@ return if(check_alien_ability(500,1,O_EGG)) - visible_message("[src] has laid an egg!") + visible_message(span_alium(span_bold("[src] has laid an egg!"))) new /obj/structure/ghost_pod/automatic/xenomorph_egg(loc) return @@ -102,14 +102,14 @@ /mob/living/carbon/human/proc/evolve() set name = "Evolve (500)" set desc = "Produce an internal egg sac capable of spawning children. Only one queen can exist at a time." - set category = "Abilities" + set category = "Abilities.Alien" if(alien_queen_exists()) - to_chat(src, "We already have an active queen.") + to_chat(src, span_notice("We already have an active queen.")) return if(check_alien_ability(500)) - visible_message("[src] begins to twist and contort!", "You begin to evolve!") + visible_message(span_alium(span_bold("[src] begins to twist and contort!")), span_alium("You begin to evolve!")) src.set_species("Xenomorph Queen") return @@ -117,16 +117,16 @@ /mob/living/carbon/human/proc/plant() set name = "Plant Weeds (50)" set desc = "Plants some alien weeds" - set category = "Abilities" + set category = "Abilities.Alien" if(check_alien_ability(50,1,O_RESIN)) - visible_message("[src] has planted some alien weeds!") + visible_message(span_alium(span_bold("[src] has planted some alien weeds!"))) new /obj/effect/alien/weeds/node(get_turf(src), null, "#321D37") return /mob/living/carbon/human/proc/Spit(var/atom/A) if((last_spit + 1 SECONDS) > world.time) //To prevent YATATATATATAT spitting. - to_chat(src, "You have not yet prepared your chemical glands. You must wait before spitting again.") + to_chat(src, span_warning("You have not yet prepared your chemical glands. You must wait before spitting again.")) return else last_spit = world.time @@ -139,7 +139,7 @@ if(!check_alien_ability(20,0,O_ACID)) spitting = 0 return - visible_message("[src] spits [spit_name] at \the [A]!", "You spit [spit_name] at \the [A].") + visible_message(span_warning("[src] spits [spit_name] at \the [A]!"), span_alium("You spit [spit_name] at \the [A].")) var/obj/item/projectile/P = new spit_projectile(get_turf(src)) P.firer = src P.old_style_target(A) @@ -149,10 +149,10 @@ /mob/living/carbon/human/proc/corrosive_acid(O as obj|turf in oview(1)) //If they right click to corrode, an error will flash if its an invalid target./N set name = "Corrosive Acid (200)" set desc = "Drench an object in acid, destroying it over time." - set category = "Abilities" + set category = "Abilities.Alien" if(!(O in oview(1))) - to_chat(src, "[O] is too far away.") + to_chat(src, span_alium("[O] is too far away.")) return // OBJ CHECK @@ -174,22 +174,22 @@ cannot_melt = 1 //Gurgs : Everything that isn't a object, simulated wall, or simulated floor is assumed to be acid immune. Includes weird things like unsimulated floors and space. if(cannot_melt) - to_chat(src, "You cannot dissolve this object.") + to_chat(src, span_alium("You cannot dissolve this object.")) return if(check_alien_ability(200,0,O_ACID)) new /obj/effect/alien/acid(get_turf(O), O) - visible_message("[src] vomits globs of vile stuff all over [O]. It begins to sizzle and melt under the bubbling mess of acid!") + visible_message(span_alium(span_bold("[src] vomits globs of vile stuff all over [O]. It begins to sizzle and melt under the bubbling mess of acid!"))) return /mob/living/carbon/human/proc/neurotoxin() set name = "Toggle Neurotoxic Spit (40)" set desc = "Readies a neurotoxic spit, which paralyzes the target for a short time if they are not wearing protective gear." - set category = "Abilities" + set category = "Abilities.Alien" if(spitting) - to_chat(src, "You stop preparing to spit.") + to_chat(src, span_alium("You stop preparing to spit.")) spitting = 0 return @@ -202,15 +202,15 @@ spitting = 1 spit_projectile = /obj/item/projectile/energy/neurotoxin spit_name = "neurotoxin" - to_chat(src, "You prepare to spit neurotoxin.") + to_chat(src, span_alium("You prepare to spit neurotoxin.")) /mob/living/carbon/human/proc/acidspit() set name = "Toggle Acid Spit (50)" set desc = "Readies an acidic spit, which burns the target if they are not wearing protective gear." - set category = "Abilities" + set category = "Abilities.Alien" if(spitting) - to_chat(src, "You stop preparing to spit.") + to_chat(src, span_alium("You stop preparing to spit.")) spitting = 0 return @@ -223,12 +223,12 @@ spitting = 1 spit_projectile = /obj/item/projectile/energy/acid spit_name = "acid" - to_chat(src, "You prepare to spit acid.") + to_chat(src, span_alium("You prepare to spit acid.")) /mob/living/carbon/human/proc/resin() //Gurgs : Refactored resin ability, big thanks to Jon. set name = "Secrete Resin (75)" set desc = "Secrete tough malleable resin." - set category = "Abilities" + set category = "Abilities.Alien" var/list/options = list("resin door","resin wall","resin membrane","nest","resin blob") for(var/option in options) @@ -269,14 +269,14 @@ else O = new /obj/item/stack/material/resin(targetLoc) if(O) - visible_message("[src] vomits up a thick purple substance and begins to shape it!", "You shape a [choice].") + visible_message(span_boldwarning("[src] vomits up a thick purple substance and begins to shape it!"), span_alium("You shape a [choice].")) O.color = "#321D37" playsound(src, 'sound/effects/blobattack.ogg', 40, 1) return /mob/living/carbon/human/proc/leap() - set category = "Abilities" + set category = "Abilities.Alien" set name = "Leap" set desc = "Leap at a target and grab them aggressively." @@ -309,7 +309,7 @@ last_special = world.time + 75 status_flags |= LEAPING - src.visible_message("\The [src] leaps at [T]!") + src.visible_message(span_danger("\The [src] leaps at [T]!")) src.throw_at(get_step(get_turf(T),get_turf(src)), 4, 1, src) playsound(src, 'sound/voice/hiss5.ogg', 50, 1) @@ -318,7 +318,7 @@ if(status_flags & LEAPING) status_flags &= ~LEAPING if(!src.Adjacent(T)) - to_chat(src, "You miss!") + to_chat(src, span_warning("You miss!")) return T.Weaken(3) @@ -326,14 +326,14 @@ var/use_hand = "left" if(l_hand) if(r_hand) - to_chat(src, "You need to have one hand free to grab someone.") + to_chat(src, span_danger("You need to have one hand free to grab someone.")) return else use_hand = "right" - src.visible_message("\The [src] seizes [T] aggressively!") + src.visible_message(span_boldwarning("\The [src]") + " seizes [T] aggressively!") - var/obj/item/weapon/grab/G = new(src,T) + var/obj/item/grab/G = new(src,T) if(use_hand == "left") l_hand = G else @@ -344,7 +344,7 @@ G.synch() /mob/living/carbon/human/proc/gut() - set category = "Abilities" + set category = "Abilities.Alien" set name = "Slaughter" set desc = "While grabbing someone aggressively, rip their guts out or tear them apart." @@ -352,21 +352,21 @@ return if(stat || paralysis || stunned || weakened || lying) - to_chat(src, "You cannot do that in your current state.") + to_chat(src, span_danger("You cannot do that in your current state.")) return - var/obj/item/weapon/grab/G = locate() in src + var/obj/item/grab/G = locate() in src if(!G || !istype(G)) - to_chat(src, "You are not grabbing anyone.") + to_chat(src, span_danger("You are not grabbing anyone.")) return if(G.state < GRAB_AGGRESSIVE) - to_chat(src, "You must have an aggressive grab to slaughter your prey!") + to_chat(src, span_danger("You must have an aggressive grab to slaughter your prey!")) return last_special = world.time + 50 - visible_message("\The [src] rips viciously at \the [G.affecting]'s body with its claws!") + visible_message(span_warning(span_bold("\The [src]") + " rips viciously at \the [G.affecting]'s body with its claws!")) if(istype(G.affecting,/mob/living/carbon/human)) var/mob/living/carbon/human/H = G.affecting diff --git a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_species.dm b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_species.dm index ac85b0314a6..1e9143cc15a 100644 --- a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_species.dm +++ b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_species.dm @@ -92,14 +92,14 @@ return FALSE /datum/species/xenos/hug(var/mob/living/carbon/human/H,var/mob/living/target) - H.visible_message("[H] caresses [target] with its scythe-like arm.", \ - "You caress [target] with your scythe-like arm.") + H.visible_message(span_notice("[H] caresses [target] with its scythe-like arm."), \ + span_notice("You caress [target] with your scythe-like arm.")) /datum/species/xenos/handle_post_spawn(var/mob/living/carbon/human/H) if(H.mind) - H.mind.assigned_role = "Alien" - H.mind.special_role = "Alien" + H.mind.assigned_role = JOB_ALIEN + H.mind.special_role = JOB_ALIEN alien_number++ //Keep track of how many aliens we've had so far. H.real_name = "xenomorph [caste_name] ([alien_number])" @@ -135,7 +135,7 @@ H.adjustOxyLoss(-heal_rate) H.adjustToxLoss(-heal_rate) if (prob(5)) - to_chat(H, "You feel a soothing sensation come over you...") + to_chat(H, span_alien("You feel a soothing sensation come over you...")) return 1 //next internal organs @@ -143,7 +143,7 @@ if(I.damage > 0) I.damage = max(I.damage - heal_rate, 0) if (prob(5)) - to_chat(H, "You feel a soothing sensation within your [I.parent_organ]...") + to_chat(H, span_alien("You feel a soothing sensation within your [I.parent_organ]...")) return 1 //next mend broken bones, approx 10 ticks each @@ -151,7 +151,7 @@ if (E.status & ORGAN_BROKEN) if (prob(mend_prob)) if (E.mend_fracture()) - to_chat(H, "You feel something mend itself inside your [E.name].") + to_chat(H, span_alien("You feel something mend itself inside your [E.name].")) return 1 return 0 diff --git a/code/modules/mob/living/carbon/human/species/xenomorphs/xenomorphs.dm b/code/modules/mob/living/carbon/human/species/xenomorphs/xenomorphs.dm index 6c73c18430a..8dcf913c651 100644 --- a/code/modules/mob/living/carbon/human/species/xenomorphs/xenomorphs.dm +++ b/code/modules/mob/living/carbon/human/species/xenomorphs/xenomorphs.dm @@ -9,22 +9,22 @@ /mob/living/carbon/human/xdrone/New(var/new_loc) h_style = "Bald" - faction = "xeno" + faction = FACTION_XENO ..(new_loc, SPECIES_XENO_DRONE) /mob/living/carbon/human/xsentinel/New(var/new_loc) h_style = "Bald" - faction = "xeno" + faction = FACTION_XENO ..(new_loc, SPECIES_XENO_SENTINEL) /mob/living/carbon/human/xhunter/New(var/new_loc) h_style = "Bald" - faction = "xeno" + faction = FACTION_XENO ..(new_loc, SPECIES_XENO_HUNTER) /mob/living/carbon/human/xqueen/New(var/new_loc) h_style = "Bald" - faction = "xeno" + faction = FACTION_XENO ..(new_loc, SPECIES_XENO_QUEEN) //Removed AddInfectionImages, no longer required. diff --git a/code/modules/mob/living/carbon/human/stripping.dm b/code/modules/mob/living/carbon/human/stripping.dm index d635523b766..54a9114cc02 100644 --- a/code/modules/mob/living/carbon/human/stripping.dm +++ b/code/modules/mob/living/carbon/human/stripping.dm @@ -12,22 +12,22 @@ switch(slot_to_strip) // Handle things that are part of this interface but not removing/replacing a given item. if("pockets") - visible_message("\The [user] is trying to empty \the [src]'s pockets!") + visible_message(span_danger("\The [user] is trying to empty \the [src]'s pockets!")) if(do_after(user,HUMAN_STRIP_DELAY,src)) empty_pockets(user) return if("splints") - visible_message("\The [user] is trying to remove \the [src]'s splints!") + visible_message(span_danger("\The [user] is trying to remove \the [src]'s splints!")) if(do_after(user,HUMAN_STRIP_DELAY,src)) remove_splints(user) return if("sensors") - visible_message("\The [user] is trying to set \the [src]'s sensors!") + visible_message(span_danger("\The [user] is trying to set \the [src]'s sensors!")) if(do_after(user,HUMAN_STRIP_DELAY,src)) toggle_sensors(user) return if("internals") - visible_message("\The [usr] is trying to set \the [src]'s internals!") + visible_message(span_danger("\The [user] is trying to set \the [src]'s internals!")) if(do_after(user,HUMAN_STRIP_DELAY,src)) toggle_internals(user) return @@ -38,7 +38,7 @@ var/obj/item/clothing/accessory/A = suit.accessories[1] if(!istype(A)) return - visible_message("\The [usr] is trying to remove \the [src]'s [A.name]!") + visible_message(span_danger("\The [user] is trying to remove \the [src]'s [A.name]!")) if(!do_after(user,HUMAN_STRIP_DELAY,src)) return @@ -47,7 +47,7 @@ return if(istype(A, /obj/item/clothing/accessory/badge) || istype(A, /obj/item/clothing/accessory/medal)) - user.visible_message("\The [user] tears off \the [A] from [src]'s [suit.name]!") + user.visible_message(span_danger("\The [user] tears off \the [A] from [src]'s [suit.name]!")) add_attack_logs(user,src,"Stripped [A.name] off [suit.name]") A.on_removed(user) suit.accessories -= A @@ -58,11 +58,11 @@ if(!UWC) return var/datum/category_item/underwear/UWI = all_underwear[UWC.name] if(!UWI || UWI.name == "None") - to_chat(user, "\The [src] does not have [UWC.gender==PLURAL ? "[UWC.display_name]" : "a [UWC.display_name]"].") + to_chat(user, span_notice("\The [src] does not have [UWC.gender==PLURAL ? "[UWC.display_name]" : "a [UWC.display_name]"].")) return hide_underwear[UWC.name] = !hide_underwear[UWC.name] update_underwear(1) - visible_message("\The [user] [hide_underwear[UWC.name] ? "takes off" : "puts on"] \the [src]'s [UWC.display_name].") + visible_message(span_danger("\The [user] [hide_underwear[UWC.name] ? "takes off" : "puts on"] \the [src]'s [UWC.display_name].")) return // Are we placing or stripping? @@ -71,11 +71,11 @@ if(!istype(held) || is_robot_module(held)) stripping = TRUE else - var/obj/item/weapon/holder/holder = held + var/obj/item/holder/holder = held if(istype(holder) && src == holder.held_mob) stripping = TRUE else - var/obj/item/weapon/grab/grab = held + var/obj/item/grab/grab = held if(istype(grab) && grab.affecting == src) stripping = TRUE @@ -83,14 +83,14 @@ if(!istype(target_slot)) // They aren't holding anything valid and there's nothing to remove, why are we even here? return if(!target_slot.canremove) - to_chat(user, "You cannot remove \the [src]'s [target_slot.name].") + to_chat(user, span_warning("You cannot remove \the [src]'s [target_slot.name].")) return - visible_message("\The [user] is trying to remove \the [src]'s [target_slot.name]!") + visible_message(span_danger("\The [user] is trying to remove \the [src]'s [target_slot.name]!")) else - if(slot_to_strip == slot_wear_mask && istype(held, /obj/item/weapon/grenade)) - visible_message("\The [user] is trying to put \a [held] in \the [src]'s mouth!") + if(slot_to_strip == slot_wear_mask && istype(held, /obj/item/grenade)) + visible_message(span_danger("\The [user] is trying to put \a [held] in \the [src]'s mouth!")) else - visible_message("\The [user] is trying to put \a [held] on \the [src]!") + visible_message(span_danger("\The [user] is trying to put \a [held] on \the [src]!")) if(!do_after(user,HUMAN_STRIP_DELAY,src)) return @@ -98,9 +98,9 @@ if(!stripping) if(user.get_active_hand() != held) return - var/obj/item/weapon/holder/mobheld = held + var/obj/item/holder/mobheld = held if(istype(mobheld)&&mobheld.held_mob==src) - to_chat(user, "You can't put someone on themselves! Stop trying to break reality!") + to_chat(user, span_warning("You can't put someone on themselves! Stop trying to break reality!")) return if(stripping) @@ -114,22 +114,22 @@ // Empty out everything in the target's pockets. /mob/living/carbon/human/proc/empty_pockets(var/mob/living/user) if(!r_store && !l_store) - to_chat(user, "\The [src] has nothing in their pockets.") + to_chat(user, span_warning("\The [src] has nothing in their pockets.")) return if(r_store) unEquip(r_store) if(l_store) unEquip(l_store) - visible_message("\The [user] empties \the [src]'s pockets!") + visible_message(span_danger("\The [user] empties \the [src]'s pockets!")) // Modify the current target sensor level. /mob/living/carbon/human/proc/toggle_sensors(var/mob/living/user) var/obj/item/clothing/under/suit = w_uniform if(!suit) - to_chat(user, "\The [src] is not wearing a suit with sensors.") + to_chat(user, span_warning("\The [src] is not wearing a suit with sensors.")) return if (suit.has_sensor >= 2) - to_chat(user, "\The [src]'s suit sensor controls are locked.") + to_chat(user, span_warning("\The [src]'s suit sensor controls are locked.")) return add_attack_logs(user,src,"Adjusted suit sensor level") suit.set_sensors(user) @@ -141,7 +141,7 @@ if(istype(wear_suit,/obj/item/clothing/suit/space)) var/obj/item/clothing/suit/space/suit = wear_suit if(suit.supporting_limbs && suit.supporting_limbs.len) - to_chat(user, "You cannot remove the splints - [src]'s [suit] is supporting some of the breaks.") + to_chat(user, span_warning("You cannot remove the splints - [src]'s [suit] is supporting some of the breaks.")) can_reach_splints = 0 if(can_reach_splints) @@ -155,9 +155,9 @@ user.put_in_active_hand(S) removed_splint = 1 if(removed_splint) - visible_message("\The [user] removes \the [src]'s splints!") + visible_message(span_danger("\The [user] removes \the [src]'s splints!")) else - to_chat(user, "\The [src] has no splints to remove.") + to_chat(user, span_warning("\The [src] has no splints to remove.")) // Set internals on or off. /mob/living/carbon/human/proc/toggle_internals(var/mob/living/user) @@ -171,17 +171,17 @@ if(!(istype(wear_mask, /obj/item/clothing/mask) || istype(head, /obj/item/clothing/head/helmet/space))) return // Find an internal source. - if(istype(back, /obj/item/weapon/tank)) + if(istype(back, /obj/item/tank)) internal = back - else if(istype(s_store, /obj/item/weapon/tank)) + else if(istype(s_store, /obj/item/tank)) internal = s_store - else if(istype(belt, /obj/item/weapon/tank)) + else if(istype(belt, /obj/item/tank)) internal = belt if(internal) - visible_message("\The [src] is now running on internals!") + visible_message(span_warning("\The [src] is now running on internals!")) internal.add_fingerprint(user) if (internals) internals.icon_state = "internal1" else - visible_message("\The [user] disables \the [src]'s internals!") + visible_message(span_danger("\The [user] disables \the [src]'s internals!")) diff --git a/code/modules/mob/living/carbon/human/unarmed_attack.dm b/code/modules/mob/living/carbon/human/unarmed_attack.dm index cffc73cb2f4..1bf633298a0 100644 --- a/code/modules/mob/living/carbon/human/unarmed_attack.dm +++ b/code/modules/mob/living/carbon/human/unarmed_attack.dm @@ -51,47 +51,47 @@ var/global/list/sparring_attack_cache = list() switch(zone) // strong punches can have effects depending on where they hit if(BP_HEAD, O_EYES, O_MOUTH) // Induce blurriness - target.visible_message("[target] looks momentarily disoriented.", "You see stars.") + target.visible_message(span_danger("[target] looks momentarily disoriented."), span_danger("You see stars.")) target.apply_effect(attack_damage*2, EYE_BLUR, armour) if(BP_L_ARM, BP_L_HAND) if (target.l_hand) // Disarm left hand //Urist McAssistant dropped the macguffin with a scream just sounds odd. - target.visible_message("\The [target.l_hand] was knocked right out of [target]'s grasp!") + target.visible_message(span_danger("\The [target.l_hand] was knocked right out of [target]'s grasp!")) target.drop_l_hand() if(BP_R_ARM, BP_R_HAND) if (target.r_hand) // Disarm right hand - target.visible_message("\The [target.r_hand] was knocked right out of [target]'s grasp!") + target.visible_message(span_danger("\The [target.r_hand] was knocked right out of [target]'s grasp!")) target.drop_r_hand() if(BP_TORSO) if(!target.lying) var/turf/T = get_step(get_turf(target), get_dir(get_turf(user), get_turf(target))) if(!T.density) step(target, get_dir(get_turf(user), get_turf(target))) - target.visible_message("[pick("[target] was sent flying backward!", "[target] staggers back from the impact!")]") + target.visible_message(span_danger("[pick("[target] was sent flying backward!", "[target] staggers back from the impact!")]")) else - target.visible_message("[target] slams into [T]!") + target.visible_message(span_danger("[target] slams into [T]!")) if(prob(50)) target.set_dir(reverse_dir[target.dir]) target.apply_effect(attack_damage * 0.4, WEAKEN, armour) if(BP_GROIN) - target.visible_message("[target] looks like [TT.he] [TT.is] in pain!", "[(target.gender=="female") ? "Oh god that hurt!" : "Oh no, not your[pick("testicles", "crown jewels", "clockweights", "family jewels", "marbles", "bean bags", "teabags", "sweetmeats", "goolies")]!"]") // I see no easy way to fix this for non-organic or neuter characters. + target.visible_message(span_warning("[target] looks like [TT.he] [TT.is] in pain!"), span_warning("[(target.gender=="female") ? "Oh god that hurt!" : "Oh no, not your[pick("testicles", "crown jewels", "clockweights", "family jewels", "marbles", "bean bags", "teabags", "sweetmeats", "goolies")]!"]")) // I see no easy way to fix this for non-organic or neuter characters. target.apply_effects(stutter = attack_damage * 2, agony = attack_damage* 3, blocked = armour) if("l_leg", "l_foot", "r_leg", "r_foot") if(!target.lying) - target.visible_message("[target] gives way slightly.") + target.visible_message(span_warning("[target] gives way slightly.")) target.apply_effect(attack_damage*3, AGONY, armour) else if(attack_damage >= 5 && !(target == user) && (stun_chance + attack_damage * 5 >= 100) && armour < 2) // Chance to get the usual throwdown as well (25% standard chance) if(!target.lying) - target.visible_message("[target] [pick("slumps", "falls", "drops")] down to the ground!") + target.visible_message(span_danger("[target] [pick("slumps", "falls", "drops")] down to the ground!")) else - target.visible_message("[target] has been weakened!") + target.visible_message(span_danger("[target] has been weakened!")) target.apply_effect(3, WEAKEN, armour) /datum/unarmed_attack/proc/show_attack(var/mob/living/carbon/human/user, var/mob/living/carbon/human/target, var/zone, var/attack_damage) var/obj/item/organ/external/affecting = target.get_organ(zone) - user.visible_message("[user] [pick(attack_verb)] [target] in the [affecting.name]!") + user.visible_message(span_warning("[user] [pick(attack_verb)] [target] in the [affecting.name]!")) playsound(user, attack_sound, 25, 1, -1) /datum/unarmed_attack/proc/handle_eye_attack(var/mob/living/carbon/human/user, var/mob/living/carbon/human/target) @@ -100,11 +100,11 @@ var/global/list/sparring_attack_cache = list() var/datum/gender/TT = gender_datums[target.get_visible_gender()] if(eyes) eyes.take_damage(rand(3,4), 1) - user.visible_message("[user] presses [TU.his] [eye_attack_text] into [target]'s [eyes.name]!") + user.visible_message(span_danger("[user] presses [TU.his] [eye_attack_text] into [target]'s [eyes.name]!")) var/eye_pain = eyes.organ_can_feel_pain() - to_chat(target, "You experience[(eye_pain) ? "" : " immense pain as you feel" ] [eye_attack_text_victim] being pressed into your [eyes.name][(eye_pain)? "." : "!"]") + to_chat(target, span_danger("You experience[(eye_pain) ? "" : " immense pain as you feel" ] [eye_attack_text_victim] being pressed into your [eyes.name][(eye_pain)? "." : "!"]")) return - user.visible_message("[user] attempts to press [TU.his] [eye_attack_text] into [target]'s eyes, but [TT.he] [TT.does]n't have any!") + user.visible_message(span_danger("[user] attempts to press [TU.his] [eye_attack_text] into [target]'s eyes, but [TT.he] [TT.does]n't have any!")) /datum/unarmed_attack/proc/unarmed_override(var/mob/living/carbon/human/user,var/mob/living/carbon/human/target,var/zone) return FALSE //return true if the unarmed override prevents further attacks @@ -148,7 +148,7 @@ var/global/list/sparring_attack_cache = list() attack_damage = CLAMP(attack_damage, 1, 5) // We expect damage input of 1 to 5 for this proc. But we leave this check juuust in case. if(target == user) - user.visible_message("[user] [pick(attack_verb)] [TU.himself] in the [organ]!") + user.visible_message(span_danger("[user] [pick(attack_verb)] [TU.himself] in the [organ]!")) return 0 if(!target.lying) @@ -157,31 +157,31 @@ var/global/list/sparring_attack_cache = list() // ----- HEAD ----- // switch(attack_damage) if(1 to 2) - user.visible_message("[user] slapped [target] across [TT.his] cheek!") + user.visible_message(span_danger("[user] slapped [target] across [TT.his] cheek!")) if(3 to 4) user.visible_message(pick( - 40; "[user] [pick(attack_verb)] [target] in the head!", - 30; "[user] struck [target] in the head[pick("", " with a closed fist")]!", - 30; "[user] threw a hook against [target]'s head!" + 40; span_danger("[user] [pick(attack_verb)] [target] in the head!"), + 30; span_danger("[user] struck [target] in the head[pick("", " with a closed fist")]!"), + 30; span_danger("[user] threw a hook against [target]'s head!") )) if(5) user.visible_message(pick( - 30; "[user] gave [target] a resounding [pick("slap", "punch")] to the face!", - 40; "[user] smashed [TU.his] [pick(attack_noun)] into [target]'s face!", - 30; "[user] gave a strong blow against [target]'s jaw!" + 30; span_danger("[user] gave [target] a resounding [pick("slap", "punch")] to the face!"), + 40; span_danger("[user] smashed [TU.his] [pick(attack_noun)] into [target]'s face!"), + 30; span_danger("[user] gave a strong blow against [target]'s jaw!") )) else // ----- BODY ----- // switch(attack_damage) - if(1 to 2) user.visible_message("[user] threw a glancing punch at [target]'s [organ]!") - if(1 to 4) user.visible_message("[user] [pick(attack_verb)] [target] in [TT.his] [organ]!") + if(1 to 2) user.visible_message(span_danger("[user] threw a glancing punch at [target]'s [organ]!")) + if(1 to 4) user.visible_message(span_danger("[user] [pick(attack_verb)] [target] in [TT.his] [organ]!")) if(5) user.visible_message(pick( - 50; "[user] smashed [TU.his] [pick(attack_noun)] into [target]'s [organ]!", - 50; "[user] landed a striking [pick(attack_noun)] on [target]'s [organ]!" + 50; span_danger("[user] smashed [TU.his] [pick(attack_noun)] into [target]'s [organ]!"), + 50; span_danger("[user] landed a striking [pick(attack_noun)] on [target]'s [organ]!") )) else - user.visible_message("[user] [pick("punched", "threw a punch against", "struck", "slammed [TU.his] [pick(attack_noun)] into")] [target]'s [organ]!") //why do we have a separate set of verbs for lying targets? + user.visible_message(span_danger("[user] [pick("punched", "threw a punch against", "struck", "slammed [TU.his] [pick(attack_noun)] into")] [target]'s [organ]!")) //why do we have a separate set of verbs for lying targets? /datum/unarmed_attack/kick attack_name = "kick" @@ -223,9 +223,9 @@ var/global/list/sparring_attack_cache = list() attack_damage = CLAMP(attack_damage, 1, 5) switch(attack_damage) - if(1 to 2) user.visible_message("[user] threw [target] a glancing [pick(attack_noun)] to the [organ]!") //it's not that they're kicking lightly, it's that the kick didn't quite connect - if(3 to 4) user.visible_message("[user] [pick(attack_verb)] [target] in [TT.his] [organ]!") - if(5) user.visible_message("[user] landed a strong [pick(attack_noun)] against [target]'s [organ]!") + if(1 to 2) user.visible_message(span_danger("[user] threw [target] a glancing [pick(attack_noun)] to the [organ]!")) //it's not that they're kicking lightly, it's that the kick didn't quite connect + if(3 to 4) user.visible_message(span_danger("[user] [pick(attack_verb)] [target] in [TT.his] [organ]!")) + if(5) user.visible_message(span_danger("[user] landed a strong [pick(attack_noun)] against [target]'s [organ]!")) /datum/unarmed_attack/stomp attack_name = "stomp" @@ -270,8 +270,8 @@ var/global/list/sparring_attack_cache = list() attack_damage = CLAMP(attack_damage, 1, 5) switch(attack_damage) - if(1 to 4) user.visible_message("[pick("[user] stomped on", "[user] slammed [TU.his] [shoes ? copytext(shoes.name, 1, -1) : "foot"] down onto")] [target]'s [organ]!") - if(5) user.visible_message("[pick("[user] landed a powerful stomp on", "[user] stomped down hard on", "[user] slammed [TU.his] [shoes ? copytext(shoes.name, 1, -1) : "foot"] down hard onto")] [target]'s [organ]!") //Devastated lol. No. We want to say that the stomp was powerful or forceful, not that it /wrought devastation/ + if(1 to 4) user.visible_message(span_danger("[pick("[user] stomped on", "[user] slammed [TU.his] [shoes ? copytext(shoes.name, 1, -1) : "foot"] down onto")] [target]'s [organ]!")) + if(5) user.visible_message(span_danger("[pick("[user] landed a powerful stomp on", "[user] stomped down hard on", "[user] slammed [TU.his] [shoes ? copytext(shoes.name, 1, -1) : "foot"] down hard onto")] [target]'s [organ]!")) //Devastated lol. No. We want to say that the stomp was powerful or forceful, not that it /wrought devastation/ /datum/unarmed_attack/light_strike attack_name = "light hit" @@ -282,4 +282,4 @@ var/global/list/sparring_attack_cache = list() shredding = 0 damage = 0 sharp = FALSE - edge = FALSE \ No newline at end of file + edge = FALSE diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index c27553b787b..968f62939b0 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -57,52 +57,6 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() cut_overlay(I) overlays_standing[cache_index] = null -// These are used as the layers for the icons, as well as indexes in a list that holds onto them. -// Technically the layers used are all -100+layer to make them FLOAT_LAYER overlays. -//Human Overlays Indexes///////// -#define MUTATIONS_LAYER 1 //Mutations like fat, and lasereyes -#define SKIN_LAYER 2 //Skin things added by a call on species -#define BLOOD_LAYER 3 //Bloodied hands/feet/anything else -#define MOB_DAM_LAYER 4 //Injury overlay sprites like open wounds -#define SURGERY_LAYER 5 //Overlays for open surgical sites -#define UNDERWEAR_LAYER 6 //Underwear/bras/etc -#define TAIL_LOWER_LAYER 7 //Tail as viewed from the south -#define WING_LOWER_LAYER 8 //Wings as viewed from the south -#define SHOES_LAYER_ALT 9 //Shoe-slot item (when set to be under uniform via verb) -#define UNIFORM_LAYER 10 //Uniform-slot item -#define ID_LAYER 11 //ID-slot item -#define SHOES_LAYER 12 //Shoe-slot item -#define GLOVES_LAYER 13 //Glove-slot item -#define BELT_LAYER 14 //Belt-slot item -#define SUIT_LAYER 15 //Suit-slot item -#define TAIL_UPPER_LAYER 16 //Some species have tails to render (As viewed from the N, E, or W) -#define GLASSES_LAYER 17 //Eye-slot item -#define BELT_LAYER_ALT 18 //Belt-slot item (when set to be above suit via verb) -#define SUIT_STORE_LAYER 19 //Suit storage-slot item -#define BACK_LAYER 20 //Back-slot item -#define HAIR_LAYER 21 //The human's hair -#define HAIR_ACCESSORY_LAYER 22 //VOREStation edit. Simply move this up a number if things are added. -#define EARS_LAYER 23 //Both ear-slot items (combined image) -#define EYES_LAYER 24 //Mob's eyes (used for glowing eyes) -#define FACEMASK_LAYER 25 //Mask-slot item -#define GLASSES_LAYER_ALT 26 //So some glasses can appear on top of hair and things -#define HEAD_LAYER 27 //Head-slot item -#define HANDCUFF_LAYER 28 //Handcuffs, if the human is handcuffed, in a secret inv slot -#define LEGCUFF_LAYER 29 //Same as handcuffs, for legcuffs -#define L_HAND_LAYER 30 //Left-hand item -#define R_HAND_LAYER 31 //Right-hand item -#define WING_LAYER 32 //Wings or protrusions over the suit. -#define TAIL_UPPER_LAYER_ALT 33 //Modified tail-sprite layer. Tend to be larger. -#define MODIFIER_EFFECTS_LAYER 34 //Effects drawn by modifiers -#define FIRE_LAYER 35 //'Mob on fire' overlay layer -// # define MOB_WATER_LAYER 36 //'Mob submerged' overlay layer // Moved to global defines -#define TARGETED_LAYER 37 //'Aimed at' overlay layer -#define VORE_BELLY_LAYER 38 -#define VORE_TAIL_LAYER 39 - -#define TOTAL_LAYERS 39 //VOREStation edit. <---- KEEP THIS UPDATED, should always equal the highest number here, used to initialize a list. -////////////////////////////////// - /mob/living/carbon/human var/list/overlays_standing[TOTAL_LAYERS] var/previous_damage_appearance // store what the body last looked like, so we only have to update it if something changed @@ -245,6 +199,8 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() if(QDESTROYING(src)) return + remove_layer(BODYPARTS_LAYER) + var/husk_color_mod = rgb(96,88,80) var/hulk_color_mod = rgb(48,224,40) @@ -427,6 +383,13 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() //END CACHED ICON GENERATION. stand_icon.Blend(base_icon,ICON_OVERLAY) + + var/image/body = image(stand_icon) + if (body) + body.layer = BODY_LAYER + BODYPARTS_LAYER + overlays_standing[BODYPARTS_LAYER] = body + apply_layer(BODYPARTS_LAYER) + icon = stand_icon //tail @@ -555,7 +518,8 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() if(ears_s.Height() > face_standing.Height()) // Tol ears face_standing.Crop(1, 1, face_standing.Width(), ears_s.Height()) face_standing.Blend(ears_s, ICON_OVERLAY) - if(ear_style?.em_block) + // todo: these should be considered separately, but it'd take a slight refactor to how sprite acc's are rendered (or atleast ears) + if(ear_style?.em_block || ear_secondary_style?.em_block) em_block_ears = em_block_image_generic(image(ears_s)) var/image/semifinal = image(face_standing, layer = BODY_LAYER+HAIR_LAYER, "pixel_y" = head_organ.head_offset) @@ -884,8 +848,8 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() //Toggle for belt layering with uniform var/belt_layer = BELT_LAYER - if(istype(belt, /obj/item/weapon/storage/belt)) - var/obj/item/weapon/storage/belt/ubelt = belt + if(istype(belt, /obj/item/storage/belt)) + var/obj/item/storage/belt/ubelt = belt if(ubelt.show_above_suit) belt_layer = BELT_LAYER_ALT @@ -957,7 +921,7 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() var/icon/c_mask = tail_style?.clip_mask if(c_mask) - if(istype(back, /obj/item/weapon/storage/backpack/saddlebag) || istype(back, /obj/item/weapon/storage/backpack/saddlebag_common)) + if(istype(back, /obj/item/storage/backpack/saddlebag) || istype(back, /obj/item/storage/backpack/saddlebag_common)) c_mask = null overlays_standing[BACK_LAYER] = back.make_worn_icon(body_type = species.get_bodytype(src), slot_name = slot_back_str, default_icon = INV_BACK_DEF_ICON, default_layer = BACK_LAYER, clip_mask = c_mask) @@ -1315,11 +1279,13 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() /mob/living/carbon/human/proc/get_ears_overlay() //If you are FBP with ear style and didn't set a custom one var/datum/robolimb/model = isSynthetic() - if(istype(model) && model.includes_ears && !ear_style) + if(istype(model) && model.includes_ears && !ear_style && !ear_secondary_style) var/icon/ears_s = new/icon("icon" = synthetic.icon, "icon_state" = "ears") ears_s.Blend(rgb(src.r_ears, src.g_ears, src.b_ears), species.color_mult ? ICON_MULTIPLY : ICON_ADD) return ears_s + var/icon/rendered + if(ear_style && !(head && (head.flags_inv & BLOCKHEADHAIR))) var/icon/ears_s = new/icon("icon" = ear_style.icon, "icon_state" = ear_style.icon_state) if(ear_style.do_colouration) @@ -1334,9 +1300,35 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() overlay.Blend(rgb(src.r_ears3, src.g_ears3, src.b_ears3), ear_style.color_blend_mode) ears_s.Blend(overlay, ICON_OVERLAY) qdel(overlay) - return ears_s - return null + rendered = ears_s + + // todo: this is utterly horrible but i don't think i should be violently refactoring sprite acc rendering in a feature PR ~silicons + if(ear_secondary_style && !(head && (head.flags_inv & BLOCKHEADHAIR))) + var/icon/ears_s = new/icon("icon" = ear_secondary_style.icon, "icon_state" = ear_secondary_style.icon_state) + if(ear_secondary_style.do_colouration) + var/color = LAZYACCESS(ear_secondary_colors, 1) + if(color) + ears_s.Blend(color, ear_secondary_style.color_blend_mode) + if(ear_secondary_style.extra_overlay) + var/icon/overlay = new/icon("icon" = ear_secondary_style.icon, "icon_state" = ear_secondary_style.extra_overlay) + var/color = LAZYACCESS(ear_secondary_colors, 2) + if(color) + overlay.Blend(color, ear_secondary_style.color_blend_mode) + ears_s.Blend(overlay, ICON_OVERLAY) + qdel(overlay) + if(ear_secondary_style.extra_overlay2) //MORE COLOURS IS BETTERER + var/icon/overlay = new/icon("icon" = ear_secondary_style.icon, "icon_state" = ear_secondary_style.extra_overlay2) + var/color = LAZYACCESS(ear_secondary_colors, 3) + if(color) + overlay.Blend(color, ear_secondary_style.color_blend_mode) + ears_s.Blend(overlay, ICON_OVERLAY) + qdel(overlay) + if(!rendered) + rendered = ears_s + else + rendered.Blend(ears_s, ICON_OVERLAY) + return rendered /mob/living/carbon/human/proc/get_tail_image() //If you are FBP with tail style and didn't set a custom one @@ -1348,15 +1340,15 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() //If you have a custom tail selected if(tail_style && !(wear_suit && wear_suit.flags_inv & HIDETAIL && !istaurtail(tail_style)) && !tail_hidden) - var/icon/tail_s = new/icon("icon" = (tail_style.can_loaf && resting) ? tail_style.icon_loaf : tail_style.icon, "icon_state" = (wagging && tail_style.ani_state ? tail_style.ani_state : tail_style.icon_state)) //CHOMPEdit + var/icon/tail_s = new/icon("icon" = (tail_style.can_loaf && resting) ? tail_style.icon_loaf : tail_style.icon, "icon_state" = (wagging && tail_style.ani_state ? tail_style.ani_state : tail_style.icon_state)) if(tail_style.can_loaf && !is_shifted) pixel_y = (resting) ? -tail_style.loaf_offset*size_multiplier : default_pixel_y //move player down, then taur up, to fit the overlays correctly // VOREStation Edit: Taur Loafing if(tail_style.do_colouration) tail_s.Blend(rgb(src.r_tail, src.g_tail, src.b_tail), tail_style.color_blend_mode) if(tail_style.extra_overlay) - var/icon/overlay = new/icon("icon" = (tail_style?.can_loaf && resting) ? tail_style.icon_loaf : tail_style.icon, "icon_state" = tail_style.extra_overlay) //CHOMPEdit + var/icon/overlay = new/icon("icon" = (tail_style?.can_loaf && resting) ? tail_style.icon_loaf : tail_style.icon, "icon_state" = tail_style.extra_overlay) if(wagging && tail_style.ani_state) - overlay = new/icon("icon" = tail_style.icon, "icon_state" = tail_style.extra_overlay_w) + overlay = new/icon("icon" = (tail_style?.can_loaf && resting) ? tail_style.icon_loaf : tail_style.icon, "icon_state" = tail_style.extra_overlay_w) //RS EDIT overlay.Blend(rgb(src.r_tail2, src.g_tail2, src.b_tail2), tail_style.color_blend_mode) tail_s.Blend(overlay, ICON_OVERLAY) qdel(overlay) @@ -1366,9 +1358,9 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() qdel(overlay) if(tail_style.extra_overlay2) - var/icon/overlay = new/icon("icon" = (tail_style?.can_loaf && resting) ? tail_style.icon_loaf : tail_style.icon, "icon_state" = tail_style.extra_overlay2) //CHOMPEdit + var/icon/overlay = new/icon("icon" = (tail_style?.can_loaf && resting) ? tail_style.icon_loaf : tail_style.icon, "icon_state" = tail_style.extra_overlay2) if(wagging && tail_style.ani_state) - overlay = new/icon("icon" = tail_style.icon, "icon_state" = tail_style.extra_overlay2_w) + overlay = new/icon("icon" = (tail_style?.can_loaf && resting) ? tail_style.icon_loaf : tail_style.icon, "icon_state" = tail_style.extra_overlay2_w) //RS EDIT overlay.Blend(rgb(src.r_tail3, src.g_tail3, src.b_tail3), tail_style.color_blend_mode) tail_s.Blend(overlay, ICON_OVERLAY) qdel(overlay) @@ -1387,8 +1379,8 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() working.pixel_y = tail_style.offset_y if(taurtype.can_ride && !riding_datum) riding_datum = new /datum/riding/taur(src) - verbs |= /mob/living/carbon/human/proc/taur_mount - verbs |= /mob/living/proc/toggle_rider_reins + add_verb(src, /mob/living/carbon/human/proc/taur_mount) + add_verb(src, /mob/living/proc/toggle_rider_reins) else if(islongtail(tail_style)) working.pixel_x = tail_style.offset_x working.pixel_y = tail_style.offset_y @@ -1417,6 +1409,7 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() vore_belly_image.layer = BODY_LAYER+VORE_BELLY_LAYER overlays_standing[VORE_BELLY_LAYER] = vore_belly_image vore_belly_image.plane = PLANE_CH_STOMACH //This one line of code. This ONE LINE OF CODE TOOK 6 HOURS TO FIGURE OUT. THANK YOU REDCAT. + vore_belly_image.appearance_flags = appearance_flags apply_layer(VORE_BELLY_LAYER) @@ -1449,6 +1442,7 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() vore_tail_image.layer = BODY_LAYER+VORE_TAIL_LAYER overlays_standing[VORE_TAIL_LAYER] = vore_tail_image vore_tail_image.plane = PLANE_CH_STOMACH //This one line of code. This ONE LINE OF CODE TOOK 6 HOURS TO FIGURE OUT. THANK YOU REDCAT. + vore_tail_image.appearance_flags = appearance_flags apply_layer(VORE_TAIL_LAYER) diff --git a/code/modules/mob/living/carbon/lick_wounds.dm b/code/modules/mob/living/carbon/lick_wounds.dm index 6dc856b48d0..3a1db8b6c15 100644 --- a/code/modules/mob/living/carbon/lick_wounds.dm +++ b/code/modules/mob/living/carbon/lick_wounds.dm @@ -1,14 +1,14 @@ /mob/living/carbon/human/proc/lick_wounds(var/mob/living/carbon/M as mob in view(1)) // Allows the user to lick themselves. Given how rarely this trait is used, I don't see an issue with a slight buff. set name = "Lick Wounds" - set category = "Abilities" + set category = "Abilities.General" set desc = "Disinfect and heal small wounds with your saliva." if(stat || paralysis || weakened || stunned) - to_chat(src, "You can't do that in your current state.") + to_chat(src, span_warning("You can't do that in your current state.")) return if(nutrition < 50) - to_chat(src, "You need more energy to produce antiseptic enzymes. Eat something and try again.") + to_chat(src, span_warning("You need more energy to produce antiseptic enzymes. Eat something and try again.")) return //YW edit. Added the distance check to here. this allows the ability to lick ones own wounds. although this also means that all living/carbon/M appear on the list if used. if (get_dist(src,M) >= 2) @@ -16,12 +16,12 @@ return if (get_dist(src,M) >= 2) - to_chat(src, "You need to be closer to do that.") + to_chat(src, span_warning("You need to be closer to do that.")) return if ( ! (istype(src, /mob/living/carbon/human) || \ istype(src, /mob/living/silicon)) ) - to_chat(src, "If you even have a tongue, it doesn't work that way.") + to_chat(src, span_warning("If you even have a tongue, it doesn't work that way.")) return if (istype(M, /mob/living/carbon/human)) @@ -29,42 +29,42 @@ var/obj/item/organ/external/affecting = H.get_organ(src.zone_sel.selecting) if(!affecting) - to_chat(src, "No body part there to work on!") + to_chat(src, span_warning("No body part there to work on!")) return if(affecting.organ_tag == BP_HEAD) if(H.head && istype(H.head,/obj/item/clothing/head/helmet/space)) - to_chat(src, "You can't seem to lick through [H.head]!") + to_chat(src, span_warning("You can't seem to lick through [H.head]!")) return else if(H.wear_suit && istype(H.wear_suit,/obj/item/clothing/suit/space)) - to_chat(src, "You can't lick your way through [H.wear_suit]!") + to_chat(src, span_warning("You can't lick your way through [H.wear_suit]!")) return if(affecting.robotic == ORGAN_ROBOT) - to_chat(src, "You don't think your spit will help a robotic limb.") + to_chat(src, span_warning("You don't think your spit will help a robotic limb.")) return if(affecting.robotic >= ORGAN_LIFELIKE) - to_chat(src, "You lick [M]'s [affecting.name], but it seems to have no effect...") + to_chat(src, span_warning("You lick [M]'s [affecting.name], but it seems to have no effect...")) return if(affecting.open) - to_chat(src, "The [affecting.name] is cut open, you don't think your spit will help them!") + to_chat(src, span_notice("The [affecting.name] is cut open, you don't think your spit will help them!")) return if(affecting.is_bandaged() && affecting.is_salved()) - to_chat(src, "The wounds on [M]'s [affecting.name] have already been treated.") + to_chat(src, span_warning("The wounds on [M]'s [affecting.name] have already been treated.")) return if(affecting.brute_dam > 20 || affecting.burn_dam > 20) - to_chat(src, "The wounds on [M]'s [affecting.name] are too severe to treat with just licking.") + to_chat(src, span_warning("The wounds on [M]'s [affecting.name] are too severe to treat with just licking.")) return else - visible_message("\The [src] starts licking the wounds on [M]'s [affecting.name] clean.", \ - "You start licking the wounds on [M]'s [affecting.name] clean." ) + visible_message(span_infoplain(span_bold("\The [src]") + " starts licking the wounds on [M]'s [affecting.name] clean."), \ + span_notice("You start licking the wounds on [M]'s [affecting.name] clean.") ) for (var/datum/wound/W in affecting.wounds) @@ -72,20 +72,20 @@ continue if(!do_mob(src, M, W.damage/5)) - to_chat(src, "You must stand still to clean wounds.") + to_chat(src, span_notice("You must stand still to clean wounds.")) break if(affecting.is_bandaged() && affecting.is_salved()) // We do a second check after the delay, in case it was bandaged after the first check. - to_chat(src, "The wounds on [M]'s [affecting.name] have already been treated.") + to_chat(src, span_warning("The wounds on [M]'s [affecting.name] have already been treated.")) return else - visible_message("\The [src] [pick("slathers \a [W.desc] on [M]'s [affecting.name] with their spit.", + visible_message(span_notice("\The [src] [pick("slathers \a [W.desc] on [M]'s [affecting.name] with their spit.", "drags their tongue across \a [W.desc] on [M]'s [affecting.name].", "drips saliva onto \a [W.desc] on [M]'s [affecting.name].", "uses their tongue to disinfect \a [W.desc] on [M]'s [affecting.name].", - "licks \a [W.desc] on [M]'s [affecting.name], cleaning it.")]", \ - "You treat \a [W.desc] on [M]'s [affecting.name] with your antiseptic saliva." ) + "licks \a [W.desc] on [M]'s [affecting.name], cleaning it.")]"), \ + span_notice("You treat \a [W.desc] on [M]'s [affecting.name] with your antiseptic saliva.") ) adjust_nutrition(-20) W.salve() W.bandage() diff --git a/code/modules/mob/living/carbon/metroid/items.dm b/code/modules/mob/living/carbon/metroid/items.dm index cc04791e048..ad240a4a560 100644 --- a/code/modules/mob/living/carbon/metroid/items.dm +++ b/code/modules/mob/living/carbon/metroid/items.dm @@ -14,12 +14,12 @@ flags = OPENCONTAINER /* /obj/item/slime_extract/attackby(obj/item/O as obj, mob/user as mob) - if(istype(O, /obj/item/weapon/slimesteroid2)) + if(istype(O, /obj/item/slimesteroid2)) if(enhanced == 1) - to_chat(user, " This extract has already been enhanced!") + to_chat(user, span_warning(" This extract has already been enhanced!")) return ..() if(Uses == 0) - to_chat(user, " You can't enhance a used extract!") + to_chat(user, span_warning(" You can't enhance a used extract!")) return ..() to_chat(user, "You apply the enhancer. It now has triple the amount of uses.") Uses = 3 @@ -131,16 +131,16 @@ /obj/item/slimepotion/docility/attack(mob/living/carbon/slime/M as mob, mob/user as mob) if(!istype(M, /mob/living/carbon/slime))//If target is not a slime. - to_chat(user, " The potion only works on slimes!") + to_chat(user, span_warning(" The potion only works on slimes!")) return ..() // if(M.is_adult) //Can't tame adults -// to_chat(user, " Only baby slimes can be tamed!") +// to_chat(user, span_warning(" Only baby slimes can be tamed!")) // return..() if(M.stat) - to_chat(user, " The slime is dead!") + to_chat(user, span_warning(" The slime is dead!")) return..() if(M.mind) - to_chat(user, " The slime resists!") + to_chat(user, span_warning(" The slime resists!")) return ..() var/mob/living/simple_mob/slime/pet = new /mob/living/simple_mob/slime(M.loc) pet.icon_state = "[M.colour] [M.is_adult ? "adult" : "baby"] slime" @@ -166,21 +166,21 @@ /obj/item/slimepotion/stabilizer/attack(mob/living/carbon/slime/M, mob/user) if(!isslime(M)) - to_chat(user, "The stabilizer only works on slimes!") + to_chat(user, span_warning("The stabilizer only works on slimes!")) return ..() if(M.stat) - to_chat(user, "The slime is dead!") + to_chat(user, span_warning("The slime is dead!")) return ..() if(M.mutation_chance == 0) - to_chat(user, "The slime already has no chance of mutating!") + to_chat(user, span_warning("The slime already has no chance of mutating!")) return ..() - to_chat(user, "You feed the slime the stabilizer. It is now less likely to mutate.") + to_chat(user, span_notice("You feed the slime the stabilizer. It is now less likely to mutate.")) M.mutation_chance = Clamp(M.mutation_chance-15,0,100) qdel(src) -/obj/item/weapon/slimepotion2 +/obj/item/slimepotion2 name = "advanced docility potion" desc = "A potent chemical mix that will nullify a slime's powers, causing it to become docile and tame. This one is meant for adult slimes" icon = 'icons/obj/chemical.dmi' @@ -188,13 +188,13 @@ attack(mob/living/carbon/slime/M as mob, mob/user as mob) if(!istype(M, /mob/living/carbon/slime/))//If target is not a slime. - to_chat(user, " The potion only works on slimes!") + to_chat(user, span_warning(" The potion only works on slimes!")) return ..() if(M.stat) - to_chat(user, " The slime is dead!") + to_chat(user, span_warning(" The slime is dead!")) return..() if(M.mind) - to_chat(user, " The slime resists!") + to_chat(user, span_warning(" The slime resists!")) return ..() var/mob/living/simple_mob/adultslime/pet = new /mob/living/simple_mob/adultslime(M.loc) pet.icon_state = "[M.colour] adult slime" @@ -220,16 +220,16 @@ attack(mob/living/carbon/slime/M as mob, mob/user as mob) if(!istype(M, /mob/living/carbon/slime))//If target is not a slime. - to_chat(user, " The steroid only works on baby slimes!") + to_chat(user, span_warning(" The steroid only works on baby slimes!")) return ..() if(M.is_adult) //Can't tame adults - to_chat(user, " Only baby slimes can use the steroid!") + to_chat(user, span_warning(" Only baby slimes can use the steroid!")) return..() if(M.stat) - to_chat(user, " The slime is dead!") + to_chat(user, span_warning(" The slime is dead!")) return..() if(M.cores == 3) - to_chat(user, " The slime already has the maximum amount of extract!") + to_chat(user, span_warning(" The slime already has the maximum amount of extract!")) return..() to_chat(user, "You feed the slime the steroid. It now has triple the amount of extract.") @@ -245,10 +245,10 @@ /*afterattack(obj/target, mob/user , flag) if(istype(target, /obj/item/slime_extract)) if(target.enhanced == 1) - to_chat(user, " This extract has already been enhanced!") + to_chat(user, span_warning(" This extract has already been enhanced!")) return ..() if(target.Uses == 0) - to_chat(user, " You can't enhance a used extract!") + to_chat(user, span_warning(" You can't enhance a used extract!")) return ..() to_chat(user, "You apply the enhancer. It now has triple the amount of uses.") target.Uses = 3 @@ -347,7 +347,7 @@ -/obj/item/weapon/reagent_containers/food/snacks/egg/slime +/obj/item/reagent_containers/food/snacks/egg/slime name = "slime egg" desc = "A small, gelatinous egg." icon = 'icons/mob/mob.dmi' @@ -356,36 +356,36 @@ origin_tech = list(TECH_BIO = 4) var/grown = 0 -/obj/item/weapon/reagent_containers/food/snacks/egg/slime/Initialize() +/obj/item/reagent_containers/food/snacks/egg/slime/Initialize() . = ..() reagents.add_reagent("nutriment", 4) reagents.add_reagent("slimejelly", 1) addtimer(CALLBACK(src, ./proc/Grow), rand(120 SECONDS, 150 SECONDS)) -/obj/item/weapon/reagent_containers/food/snacks/egg/slime/proc/Grow() +/obj/item/reagent_containers/food/snacks/egg/slime/proc/Grow() grown = 1 icon_state = "slime egg-grown" START_PROCESSING(SSobj, src) return -/obj/item/weapon/reagent_containers/food/snacks/egg/slime/proc/Hatch() +/obj/item/reagent_containers/food/snacks/egg/slime/proc/Hatch() STOP_PROCESSING(SSobj, src) var/turf/T = get_turf(src) - src.visible_message(" The [name] pulsates and quivers!") + src.visible_message(span_warning(" The [name] pulsates and quivers!")) spawn(rand(50,100)) - src.visible_message(" The [name] bursts open!") + src.visible_message(span_warning(" The [name] bursts open!")) new/mob/living/carbon/slime(T) qdel(src) -/obj/item/weapon/reagent_containers/food/snacks/egg/slime/process() +/obj/item/reagent_containers/food/snacks/egg/slime/process() var/turf/location = get_turf(src) var/datum/gas_mixture/environment = location.return_air() if (environment.phoron > MOLES_PHORON_VISIBLE)//phoron exposure causes the egg to hatch src.Hatch() -/obj/item/weapon/reagent_containers/food/snacks/egg/slime/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype( W, /obj/item/weapon/pen/crayon )) +/obj/item/reagent_containers/food/snacks/egg/slime/attackby(obj/item/W as obj, mob/user as mob) + if(istype( W, /obj/item/pen/crayon )) return else ..() diff --git a/code/modules/mob/living/carbon/metroid/powers.dm b/code/modules/mob/living/carbon/metroid/powers.dm index bcbf8fb132e..505b6861b84 100644 --- a/code/modules/mob/living/carbon/metroid/powers.dm +++ b/code/modules/mob/living/carbon/metroid/powers.dm @@ -52,7 +52,7 @@ Victim.adjustBruteLoss(is_adult ? rand(7, 15) : rand(4, 12)) else - to_chat(src, "[pick("This subject is incompatible", "This subject does not have a life energy", "This subject is empty", "I am not satisfied", "I can not feed from this subject", "I do not feel nourished", "This subject is not food")]...") + to_chat(src, span_warning("[pick("This subject is incompatible", "This subject does not have a life energy", "This subject is empty", "I am not satisfied", "I can not feed from this subject", "I do not feel nourished", "This subject is not food")]...")) Feedstop() break @@ -64,7 +64,7 @@ else if (istype(M, /mob/living/carbon)) var/mob/living/carbon/C = M if (C.can_feel_pain()) - to_chat(M, "[painMes]") + to_chat(M, span_danger("[painMes]")) gain_nutrition(rand(20,25)) @@ -92,7 +92,7 @@ ++Friends[Victim.LAssailant] else - to_chat(src, "This subject does not have a strong enough life energy anymore...") + to_chat(src, span_notice("This subject does not have a strong enough life energy anymore...")) Victim = null @@ -112,7 +112,7 @@ set desc = "This will let you evolve from baby to adult slime." if(stat) - to_chat(src, "I must be conscious to do this...") + to_chat(src, span_notice("I must be conscious to do this...")) return if(!is_adult) @@ -123,22 +123,22 @@ regenerate_icons() name = text("[colour] [is_adult ? "adult" : "baby"] slime ([number])") else - to_chat(src, "I am not ready to evolve yet...") + to_chat(src, span_notice("I am not ready to evolve yet...")) else - to_chat(src, "I have already evolved...") + to_chat(src, span_notice("I have already evolved...")) /mob/living/carbon/slime/verb/Reproduce() set category = "Slime" set desc = "This will make you split into four Slimes." if(stat) - to_chat(src, "I must be conscious to do this...") + to_chat(src, span_notice("I must be conscious to do this...")) return if(is_adult) if(amount_grown >= 10) if(stat) - to_chat(src, "I must be conscious to do this...") + to_chat(src, span_notice("I must be conscious to do this...")) return var/list/babies = list() @@ -164,6 +164,6 @@ new_slime.key = src.key qdel(src) else - to_chat(src, "I am not ready to reproduce yet...") + to_chat(src, span_notice("I am not ready to reproduce yet...")) else - to_chat(src, "I am not old enough to reproduce yet...") + to_chat(src, span_notice("I am not old enough to reproduce yet...")) diff --git a/code/modules/mob/living/carbon/resist.dm b/code/modules/mob/living/carbon/resist.dm index 5434b31c44c..102540207c2 100644 --- a/code/modules/mob/living/carbon/resist.dm +++ b/code/modules/mob/living/carbon/resist.dm @@ -3,14 +3,14 @@ Weaken(3) spin(32,2) visible_message( - "[src] rolls on the floor, trying to put themselves out!", - "You stop, drop, and roll!" + span_danger("[src] rolls on the floor, trying to put themselves out!"), + span_notice("You stop, drop, and roll!") ) sleep(30) if(fire_stacks <= 0) visible_message( - "[src] has successfully extinguished themselves!", - "You extinguish yourself." + span_danger("[src] has successfully extinguished themselves!"), + span_notice("You extinguish yourself.") ) ExtinguishMob() return TRUE @@ -21,7 +21,7 @@ I = handcuffed else if(legcuffed) I = legcuffed - + if(I) setClickCooldown(100) cuff_resist(I, cuff_break = can_break_cuffs()) @@ -29,8 +29,8 @@ /mob/living/carbon/proc/reduce_cuff_time() return FALSE -/mob/living/carbon/proc/cuff_resist(obj/item/weapon/handcuffs/I, breakouttime = 1200, cuff_break = 0) - +/mob/living/carbon/proc/cuff_resist(obj/item/handcuffs/I, breakouttime = 1200, cuff_break = 0) + if(istype(I)) breakouttime = I.breakouttime @@ -42,14 +42,14 @@ displaytime /= reduceCuffTime if(cuff_break) - visible_message("[src] is trying to break [I]!", - "You attempt to break your [I]. (This will take around 5 seconds and you need to stand still)") + visible_message(span_danger("[src] is trying to break [I]!"), + span_warning("You attempt to break your [I]. (This will take around 5 seconds and you need to stand still)")) if(do_after(src, 5 SECONDS, target = src, incapacitation_flags = INCAPACITATION_DEFAULT & ~INCAPACITATION_RESTRAINED)) if(!I || buckled) return - visible_message("[src] manages to break [I]!", - "You successfully break your [I].") + visible_message(span_danger("[src] manages to break [I]!"), + span_warning("You successfully break your [I].")) say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" )) if(I == handcuffed) @@ -58,20 +58,20 @@ else if(I == legcuffed) legcuffed = null update_inv_legcuffed() - + if(buckled && buckled.buckle_require_restraints) buckled.unbuckle_mob() qdel(I) else - to_chat(src, "You fail to break [I].") + to_chat(src, span_warning("You fail to break [I].")) return - - visible_message("[src] attempts to remove [I]!", - "You attempt to remove [I]. (This will take around [displaytime] seconds and you need to stand still)") + + visible_message(span_danger("[src] attempts to remove [I]!"), + span_warning("You attempt to remove [I]. (This will take around [displaytime] seconds and you need to stand still)")) if(do_after(src, breakouttime, target = src, incapacitation_flags = INCAPACITATION_DISABLED & INCAPACITATION_KNOCKDOWN)) - visible_message("[src] manages to remove [I]!", - "You successfully remove [I].") + visible_message(span_danger("[src] manages to remove [I]!"), + span_notice("You successfully remove [I].")) drop_from_inventory(I) /mob/living/carbon/resist_buckle() @@ -83,15 +83,15 @@ setClickCooldown(100) visible_message( - "[src] attempts to unbuckle themself!", - "You attempt to unbuckle yourself. (This will take around 2 minutes and you need to stand still)" + span_danger("[src] attempts to unbuckle themself!"), + span_warning("You attempt to unbuckle yourself. (This will take around 2 minutes and you need to stand still)") ) if(do_after(src, 2 MINUTES, incapacitation_flags = INCAPACITATION_DEFAULT & ~(INCAPACITATION_RESTRAINED | INCAPACITATION_BUCKLED_FULLY))) if(!buckled) return - visible_message("[src] manages to unbuckle themself!", - "You successfully unbuckle yourself.") + visible_message(span_danger("[src] manages to unbuckle themself!"), + span_notice("You successfully unbuckle yourself.")) buckled.user_unbuckle_mob(src, src) /mob/living/carbon/proc/can_break_cuffs() diff --git a/code/modules/mob/living/carbon/taste.dm b/code/modules/mob/living/carbon/taste.dm index 150f67d955e..90e249b79a2 100644 --- a/code/modules/mob/living/carbon/taste.dm +++ b/code/modules/mob/living/carbon/taste.dm @@ -15,7 +15,7 @@ text_output = "nothing" if(text_output != last_taste_text || last_taste_time + 100 < world.time) //We dont want to spam the same message over and over again at the person. Give it a bit of a buffer. - to_chat(src, "You can taste [text_output].")//no taste means there are too many tastes and not enough flavor. + to_chat(src, span_notice("You can taste [text_output]."))//no taste means there are too many tastes and not enough flavor. last_taste_time = world.time last_taste_text = text_output @@ -67,4 +67,4 @@ calculate text size per text. intensity_desc = "the strong flavor of" out += "[intensity_desc] [taste_desc]" - return english_list(out, "something indescribable") \ No newline at end of file + return english_list(out, "something indescribable") diff --git a/code/modules/mob/living/carbon/viruses.dm b/code/modules/mob/living/carbon/viruses.dm deleted file mode 100644 index f57bc878a00..00000000000 --- a/code/modules/mob/living/carbon/viruses.dm +++ /dev/null @@ -1,48 +0,0 @@ -/mob/living/carbon/proc/handle_viruses() - - if(status_flags & GODMODE) return 0 //godmode - - if(bodytemperature > 406) - for (var/ID in virus2) - var/datum/disease2/disease/V = virus2[ID] - V.cure(src) - - if(life_tick % 3) //don't spam checks over all objects in view every tick. - for(var/obj/effect/decal/cleanable/O in view(1,src)) - if(istype(O,/obj/effect/decal/cleanable/blood)) - var/obj/effect/decal/cleanable/blood/B = O - if(B.virus2.len) - for (var/ID in B.virus2) - var/datum/disease2/disease/V = B.virus2[ID] - infect_virus2(src,V) - - else if(istype(O,/obj/effect/decal/cleanable/mucus)) - var/obj/effect/decal/cleanable/mucus/M = O - if(M.virus2.len) - for (var/ID in M.virus2) - var/datum/disease2/disease/V = M.virus2[ID] - infect_virus2(src,V) - - else if(istype(O,/obj/effect/decal/cleanable/vomit)) - var/obj/effect/decal/cleanable/vomit/Vom = O - if(Vom.virus2.len) - for (var/ID in Vom.virus2) - var/datum/disease2/disease/V = Vom.virus2[ID] - infect_virus2(src,V) - - if(virus2.len) - for (var/ID in virus2) - var/datum/disease2/disease/V = virus2[ID] - if(isnull(V)) // Trying to figure out a runtime error that keeps repeating - CRASH("virus2 nulled before calling activate()") - else - V.activate(src) - // activate may have deleted the virus - if(!V) continue - - // check if we're immune - var/list/common_antibodies = V.antigen & src.antibodies - if(common_antibodies.len) - V.dead = 1 - - return \ No newline at end of file diff --git a/code/modules/mob/living/death.dm b/code/modules/mob/living/death.dm index a5e5fece268..6880142471e 100644 --- a/code/modules/mob/living/death.dm +++ b/code/modules/mob/living/death.dm @@ -1,5 +1,6 @@ /mob/living/death(gibbed) clear_fullscreens() + update_mob_action_buttons() if(ai_holder) ai_holder.go_sleep() @@ -27,3 +28,9 @@ S.sharer_died(gibbed) . = ..() + +/mob/living/proc/delayed_gib() + visible_message(span_danger(span_bold("[src]") + " starts convulsing violently!"), span_danger("You feel as if your body is tearing itself apart!")) + Weaken(30) + make_jittery(1000) + addtimer(CALLBACK(src, PROC_REF(gib)), rand(2 SECONDS, 10 SECONDS)) diff --git a/code/modules/mob/living/default_language.dm b/code/modules/mob/living/default_language.dm index c83980f18f1..66cdcb28adb 100644 --- a/code/modules/mob/living/default_language.dm +++ b/code/modules/mob/living/default_language.dm @@ -1,36 +1,50 @@ /mob/living var/datum/language/default_language -/mob/living/verb/set_default_language(language as null|anything in languages) +/mob/living/verb/set_default_language() set name = "Set Default Language" - set category = "IC" + set category = "IC.Settings" + var/language = tgui_input_list(usr, "Select your default language", "Available languages", languages) + + apply_default_language(language) + +// Silicons can't neccessarily speak everything in their languages list +/mob/living/silicon/set_default_language() + var/language = tgui_input_list(usr, "Select your default language", "Available languages", speech_synthesizer_langs) + // Silicons have no species language usually. So let's default them to GALCOM + if(!language) + to_chat(src, span_notice("You will now speak your standard default language, common, if you do not specify a language when speaking.")) + for(var/datum/language/lang in speech_synthesizer_langs) + if(lang.name == LANGUAGE_GALCOM) + default_language = lang + break + return + apply_default_language(language) + +/mob/living/proc/apply_default_language(var/language) if (only_species_language && language != GLOB.all_languages[src.species_language]) - to_chat(src, "You can only speak your species language, [src.species_language].") + to_chat(src, span_notice("You can only speak your species language, [src.species_language].")) return 0 if(language == GLOB.all_languages[src.species_language]) - to_chat(src, "You will now speak your standard default language, [language ? language : "common"], if you do not specify a language when speaking.") + to_chat(src, span_notice("You will now speak your standard default language, [language ? language : "common"], if you do not specify a language when speaking.")) else if (language) if(language && !can_speak(language)) - to_chat(src, "You are unable to speak that language.") + to_chat(src, span_notice("You are unable to speak that language.")) return - to_chat(src, "You will now speak [language] if you do not specify a language when speaking.") + to_chat(src, span_notice("You will now speak [language] if you do not specify a language when speaking.")) else - to_chat(src, "You will now speak whatever your standard default language is if you do not specify one when speaking.") + to_chat(src, span_notice("You will now speak whatever your standard default language is if you do not specify one when speaking.")) default_language = language -// Silicons can't neccessarily speak everything in their languages list -/mob/living/silicon/set_default_language(language as null|anything in speech_synthesizer_langs) - ..() - /mob/living/verb/check_default_language() set name = "Check Default Language" - set category = "IC" + set category = "IC.Game" if(default_language) - to_chat(src, "You are currently speaking [default_language] by default.") + to_chat(src, span_notice("You are currently speaking [default_language] by default.")) else - to_chat(src, "Your current default language is your species or mob type default.") + to_chat(src, span_notice("Your current default language is your species or mob type default.")) diff --git a/code/modules/mob/living/inventory.dm b/code/modules/mob/living/inventory.dm index eb93f679e3a..2ddea51a17f 100644 --- a/code/modules/mob/living/inventory.dm +++ b/code/modules/mob/living/inventory.dm @@ -2,14 +2,14 @@ var/hand = null var/obj/item/l_hand = null var/obj/item/r_hand = null - var/obj/item/weapon/back = null//Human/Monkey - var/obj/item/weapon/tank/internal = null//Human/Monkey + var/obj/item/back = null//Human/Monkey + var/obj/item/tank/internal = null//Human/Monkey var/obj/item/clothing/mask/wear_mask = null//Carbon /mob/living/equip_to_storage(obj/item/newitem, user_initiated = FALSE) // Try put it in their backpack - if(istype(src.back,/obj/item/weapon/storage)) - var/obj/item/weapon/storage/backpack = src.back + if(istype(src.back,/obj/item/storage)) + var/obj/item/storage/backpack = src.back if(backpack.can_be_inserted(newitem, 1)) if(user_initiated) backpack.handle_item_insertion(newitem) @@ -18,13 +18,24 @@ return src.back // Try to place it in any item that can store stuff, on the mob. - for(var/obj/item/weapon/storage/S in src.contents) + for(var/obj/item/storage/S in src.contents) if (S.can_be_inserted(newitem, 1)) if(user_initiated) S.handle_item_insertion(newitem) else newitem.forceMove(S) return S + + if(istype(src.back,/obj/item/rig)) //This would be much cooler if we had componentized storage datums + var/obj/item/rig/R = src.back + if(R.rig_storage) + var/obj/item/storage/backpack = R.rig_storage + if(backpack.can_be_inserted(newitem, 1)) + if(user_initiated) + backpack.handle_item_insertion(newitem) + else + newitem.forceMove(src.back) + return backpack return 0 //Returns the thing in our active hand @@ -48,7 +59,7 @@ item_dropped = r_hand . = drop_r_hand(Target) - if (istype(item_dropped) && !QDELETED(item_dropped) && is_preference_enabled(/datum/client_preference/drop_sounds)) + if (istype(item_dropped) && !QDELETED(item_dropped) && check_sound_preference(/datum/preference/toggle/drop_sounds)) addtimer(CALLBACK(src, PROC_REF(make_item_drop_sound), item_dropped), 1) /mob/proc/make_item_drop_sound(obj/item/I) @@ -56,7 +67,7 @@ return if(I.drop_sound) - playsound(I, I.drop_sound, 25, 0, preference = /datum/client_preference/drop_sounds) + playsound(I, I.drop_sound, 25, 0, preference = /datum/preference/toggle/drop_sounds) //Drops the item in our left hand @@ -121,15 +132,15 @@ L = list() // Lefty grab! - if (istype(l_hand, /obj/item/weapon/grab)) - var/obj/item/weapon/grab/G = l_hand + if (istype(l_hand, /obj/item/grab)) + var/obj/item/grab/G = l_hand L |= G.affecting if(mobchain_limit-- > 0) G.affecting?.ret_grab(L, mobchain_limit) // Recurse! They can update the list. It's the same instance as ours. // Righty grab! - if (istype(r_hand, /obj/item/weapon/grab)) - var/obj/item/weapon/grab/G = r_hand + if (istype(r_hand, /obj/item/grab)) + var/obj/item/grab/G = r_hand L |= G.affecting if(mobchain_limit-- > 0) G.affecting?.ret_grab(L, mobchain_limit) // Same as lefty! @@ -264,7 +275,7 @@ data["slots"] = slots data["internals"] = host.internals - data["internalsValid"] = istype(host.wear_mask, /obj/item/clothing/mask) && istype(host.back, /obj/item/weapon/tank) + data["internalsValid"] = istype(host.wear_mask, /obj/item/clothing/mask) && istype(host.back, /obj/item/tank) return data @@ -294,7 +305,7 @@ switch(action) if("targetSlot") - H.handle_strip(params["slot"], usr) + H.handle_strip(params["slot"], ui.user) return TRUE @@ -340,7 +351,7 @@ data["specialSlots"] = specialSlots data["internals"] = H.internals - data["internalsValid"] = (istype(H.wear_mask, /obj/item/clothing/mask) || istype(H.head, /obj/item/clothing/head/helmet/space)) && (istype(H.back, /obj/item/weapon/tank) || istype(H.belt, /obj/item/weapon/tank) || istype(H.s_store, /obj/item/weapon/tank)) + data["internalsValid"] = (istype(H.wear_mask, /obj/item/clothing/mask) || istype(H.head, /obj/item/clothing/head/helmet/space)) && (istype(H.back, /obj/item/tank) || istype(H.belt, /obj/item/tank) || istype(H.s_store, /obj/item/tank)) data["sensors"] = FALSE if(istype(suit) && suit.has_sensor == 1) diff --git a/code/modules/mob/living/life.dm b/code/modules/mob/living/life.dm index e0120970561..a599ff38e2e 100644 --- a/code/modules/mob/living/life.dm +++ b/code/modules/mob/living/life.dm @@ -39,18 +39,22 @@ if(client) var/idle_limit = 10 MINUTES - if(client.inactivity >= idle_limit && !away_from_keyboard && src.is_preference_enabled(/datum/client_preference/auto_afk)) //if we're not already afk and we've been idle too long, and we have automarking enabled... then automark it + if(client.inactivity >= idle_limit && !away_from_keyboard && client.prefs?.read_preference(/datum/preference/toggle/auto_afk)) //if we're not already afk and we've been idle too long, and we have automarking enabled... then automark it add_status_indicator("afk") - to_chat(src, "You have been idle for too long, and automatically marked as AFK.") + to_chat(src, span_notice("You have been idle for too long, and automatically marked as AFK.")) away_from_keyboard = TRUE else if(away_from_keyboard && client.inactivity < idle_limit && !manual_afk) //if we're afk but we do something AND we weren't manually flagged as afk, unmark it remove_status_indicator("afk") - to_chat(src, "You have been automatically un-marked as AFK.") + to_chat(src, span_notice("You have been automatically un-marked as AFK.")) away_from_keyboard = FALSE //Chemicals in the body, this is moved over here so that blood can be added after death handle_chemicals_in_body() + // Handle viruses - Dead or not! + if(LAZYLEN(viruses)) + handle_diseases() + //Handle temperature/pressure differences between body and environment if(environment) handle_environment(environment) @@ -64,19 +68,17 @@ //stuff in the stomach //handle_stomach() //VOREStation Code - update_gravity(mob_has_gravity()) + update_gravity(mob_get_gravity()) update_pulling() - for(var/obj/item/weapon/grab/G in src) + for(var/obj/item/grab/G in src) G.process() if(handle_regular_status_updates()) // Status & health update, are we dead or alive etc. handle_disabilities() // eye, ear, brain damages handle_statuses() //all special effects, stunned, weakened, jitteryness, hallucination, sleeping, etc - handle_actions() - update_canmove() handle_regular_hud_updates() @@ -282,7 +284,7 @@ //Snowflake treatment of potential locations else if(istype(loc,/obj/mecha)) //I imagine there's like displays and junk in there. Use the lights! brightness = 1 - else if(istype(loc,/obj/item/weapon/holder)) //Poor carried teshari and whatnot should adjust appropriately + else if(istype(loc,/obj/item/holder)) //Poor carried teshari and whatnot should adjust appropriately var/turf/T = get_turf(src) brightness = T.get_lumcount() diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 972cf64c317..cbedd7d3923 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -99,12 +99,12 @@ if(!..()) return 0 - usr.visible_message("[src] points to [A].") + usr.visible_message(span_filter_notice(span_bold("[src]") + " points to [A].")) return 1 /mob/living/verb/succumb() set name = "Succumb to death" - set category = "IC" + set category = "IC.Game" set desc = "Press this button if you are in crit and wish to die. Use this sparingly (ending a scene, no medical, etc.)" var/confirm1 = tgui_alert(usr, "Pressing this button will kill you instantenously! Are you sure you wish to proceed?", "Confirm wish to succumb", list("No","Yes")) var/confirm2 = "No" @@ -116,23 +116,23 @@ else if(stat == DEAD) to_chat(src, span_blue("As much as you'd like, you can't die when already dead")) - else if(confirm1 == "No" || confirm2 == "No") + else if(!confirm1 || confirm1 == "No" || !confirm2 || confirm2 == "No") to_chat(src, span_blue("You chose to live another day.")) else to_chat(src, span_blue("You are not injured enough to succumb to death!")) /mob/living/verb/toggle_afk() set name = "Toggle AFK" - set category = "IC" + set category = "IC.Game" set desc = "Mark yourself as Away From Keyboard, or clear that status!" if(away_from_keyboard) remove_status_indicator("afk") - to_chat(src, "You are no longer marked as AFK.") + to_chat(src, span_notice("You are no longer marked as AFK.")) away_from_keyboard = FALSE manual_afk = FALSE else add_status_indicator("afk") - to_chat(src, "You are now marked as AFK.") + to_chat(src, span_notice("You are now marked as AFK.")) away_from_keyboard = TRUE manual_afk = TRUE @@ -577,42 +577,47 @@ //Recursive function to find everything a mob is holding. -/mob/living/get_contents(var/obj/item/weapon/storage/Storage = null) +/mob/living/get_contents(var/obj/item/storage/Storage = null) var/list/L = list() if(Storage) //If it called itself L += Storage.return_inv() //Leave this commented out, it will cause storage items to exponentially add duplicate to the list - //for(var/obj/item/weapon/storage/S in Storage.return_inv()) //Check for storage items + //for(var/obj/item/storage/S in Storage.return_inv()) //Check for storage items // L += get_contents(S) - for(var/obj/item/weapon/gift/G in Storage.return_inv()) //Check for gift-wrapped items + for(var/obj/item/gift/G in Storage.return_inv()) //Check for gift-wrapped items L += G.gift - if(istype(G.gift, /obj/item/weapon/storage)) + if(istype(G.gift, /obj/item/storage)) L += get_contents(G.gift) for(var/obj/item/smallDelivery/D in Storage.return_inv()) //Check for package wrapped items L += D.wrapped - if(istype(D.wrapped, /obj/item/weapon/storage)) //this should never happen + if(istype(D.wrapped, /obj/item/storage)) //this should never happen L += get_contents(D.wrapped) return L else L += src.contents - for(var/obj/item/weapon/storage/S in src.contents) //Check for storage items + for(var/obj/item/storage/S in src.contents) //Check for storage items L += get_contents(S) - for(var/obj/item/weapon/gift/G in src.contents) //Check for gift-wrapped items + for(var/obj/item/gift/G in src.contents) //Check for gift-wrapped items L += G.gift - if(istype(G.gift, /obj/item/weapon/storage)) + if(istype(G.gift, /obj/item/storage)) L += get_contents(G.gift) for(var/obj/item/smallDelivery/D in src.contents) //Check for package wrapped items L += D.wrapped - if(istype(D.wrapped, /obj/item/weapon/storage)) //this should never happen + if(istype(D.wrapped, /obj/item/storage)) //this should never happen L += get_contents(D.wrapped) + + for(var/obj/item/rig/R in src.contents) //Check rigsuit storage for items + if(R.rig_storage) + L += get_contents(R.rig_storage) + return L /mob/living/proc/check_contents_for(A) @@ -710,26 +715,26 @@ /mob/living/proc/Examine_OOC() set name = "Examine Meta-Info (OOC)" - set category = "OOC" + set category = "OOC.Game" set src in view() //VOREStation Edit Start - Making it so SSD people have prefs with fallback to original style. - if(config.allow_Metadata) + if(CONFIG_GET(flag/allow_metadata)) if(ooc_notes) ooc_notes_window(usr) -// to_chat(usr, "[src]'s Metainfo:
    [ooc_notes]
    ") +// to_chat(usr, span_filter_notice("[src]'s Metainfo:
    [ooc_notes]")) else if(client) - to_chat(usr, "[src]'s Metainfo:
    [client.prefs.metadata]
    ") + to_chat(usr, span_filter_notice("[src]'s Metainfo:
    [client.prefs.metadata]")) else - to_chat(usr, "[src] does not have any stored infomation!") + to_chat(usr, span_filter_notice("[src] does not have any stored infomation!")) else - to_chat(usr, "OOC Metadata is not supported by this server!") + to_chat(usr, span_filter_notice("OOC Metadata is not supported by this server!")) //VOREStation Edit End - Making it so SSD people have prefs with fallback to original style. return /mob/living/verb/resist() set name = "Resist" - set category = "IC" + set category = "IC.Game" if(!incapacitated(INCAPACITATION_KNOCKOUT) && (last_resist_time + RESIST_COOLDOWN < world.time)) last_resist_time = world.time @@ -775,11 +780,11 @@ /mob/living/proc/resist_grab() var/resisting = 0 - for(var/obj/item/weapon/grab/G in grabbed_by) + for(var/obj/item/grab/G in grabbed_by) resisting++ G.handle_resist() if(resisting) - visible_message("[src] resists!") + visible_message(span_danger("[src] resists!")) /mob/living/proc/resist_fire() return @@ -789,10 +794,10 @@ /mob/living/verb/lay_down() set name = "Rest" - set category = "IC" + set category = "IC.Game" resting = !resting - to_chat(src, "You are now [resting ? "resting" : "getting up"].") + to_chat(src, span_notice("You are now [resting ? "resting" : "getting up"].")) update_canmove() //called when the mob receives a bright flash @@ -816,7 +821,7 @@ return 1 /mob/living/proc/get_restraining_bolt() - var/obj/item/weapon/implant/restrainingbolt/RB = locate() in src + var/obj/item/implant/restrainingbolt/RB = locate() in src if(RB) if(!RB.malfunction) return TRUE @@ -844,7 +849,7 @@ inertia_dir = 1 else if(y >= world.maxy -TRANSITIONEDGE) inertia_dir = 2 - to_chat(src, "Something you are carrying is preventing you from leaving.") + to_chat(src, span_warning("Something you are carrying is preventing you from leaving.")) return ..() @@ -868,14 +873,14 @@ if(!lastpuke) lastpuke = 1 if(isSynthetic()) - to_chat(src, "A sudden, dizzying wave of internal feedback rushes over you!") + to_chat(src, span_danger("A sudden, dizzying wave of internal feedback rushes over you!")) src.Weaken(5) else if (nutrition <= 100) - to_chat(src, "You gag as you want to throw up, but there's nothing in your stomach!") + to_chat(src, span_danger("You gag as you want to throw up, but there's nothing in your stomach!")) src.Weaken(10) else - to_chat(src, "You feel nauseous...") + to_chat(src, span_warning("You feel nauseous...")) if(ishuman(src)) var/mob/living/carbon/human/Hu = src @@ -888,7 +893,7 @@ spawn() if(!skip_wait) sleep(150) //15 seconds until second warning - to_chat(src, "You feel like you are about to throw up!") + to_chat(src, span_warning("You feel like you are about to throw up!")) sleep(100) //and you have 10 more for mad dash to the bucket //Damaged livers cause you to vomit blood. @@ -901,7 +906,7 @@ blood_vomit = 1 Stun(5) - src.visible_message("[src] throws up!","You throw up!") + src.visible_message(span_warning("[src] throws up!"),span_warning("You throw up!")) playsound(src, 'sound/effects/splat.ogg', 50, 1) var/turf/simulated/T = get_turf(src) //TODO: Make add_blood_floor remove blood from human mobs @@ -959,13 +964,13 @@ unEquip(l_hand) if(r_hand) unEquip(r_hand) - for(var/obj/item/weapon/holder/holder in get_mob_riding_slots()) + for(var/obj/item/holder/holder in get_mob_riding_slots()) unEquip(holder) update_water() // Submerges the mob. else density = initial(density) - for(var/obj/item/weapon/grab/G in grabbed_by) + for(var/obj/item/grab/G in grabbed_by) if(G.state >= GRAB_AGGRESSIVE) canmove = 0 break @@ -973,6 +978,7 @@ if(lying != lying_prev) lying_prev = lying update_transform() + update_mob_action_buttons() //VOREStation Add if(lying && LAZYLEN(buckled_mobs)) for(var/mob/living/L as anything in buckled_mobs) @@ -1119,12 +1125,12 @@ var/atom/movable/item = src.get_active_hand() - if(!item) + if(!item || istype(item, /obj/item/tk_grab)) return FALSE var/throw_range = item.throw_range - if (istype(item, /obj/item/weapon/grab)) - var/obj/item/weapon/grab/G = item + if (istype(item, /obj/item/grab)) + var/obj/item/grab/G = item item = G.throw_held() //throw the person instead of the grab if(ismob(item)) var/mob/M = item @@ -1137,13 +1143,13 @@ add_attack_logs(src,M,"Thrown via grab to [end_T.x],[end_T.y],[end_T.z]") if(ishuman(M)) var/mob/living/carbon/human/N = M - if((N.health + N.halloss) < config.health_threshold_crit || N.stat == DEAD) + if((N.health + N.halloss) < CONFIG_GET(number/health_threshold_crit) || N.stat == DEAD) N.adjustBruteLoss(rand(10,30)) src.drop_from_inventory(G) - src.visible_message("[src] has thrown [item].") + src.visible_message(span_warning("[src] has thrown [item].")) - if((isspace(src.loc)) || (src.lastarea?.has_gravity == 0)) + if((isspace(src.loc)) || (src.lastarea?.get_gravity() == 0)) src.inertia_dir = get_dir(target, src) step(src, inertia_dir) item.throw_at(target, throw_range, item.throw_speed, src) @@ -1160,9 +1166,9 @@ var/mob/living/carbon/human/H = target if(H.in_throw_mode && H.a_intent == I_HELP && unEquip(I)) H.put_in_hands(I) // If this fails it will just end up on the floor, but that's fitting for things like dionaea. - visible_message("[src] hands \the [H] \a [I].", SPAN_NOTICE("You give \the [target] \a [I].")) + visible_message(span_filter_notice(span_bold("[src]") + " hands \the [H] \a [I]."), span_notice("You give \the [target] \a [I].")) else - to_chat(src, SPAN_NOTICE("You offer \the [I] to \the [target].")) + to_chat(src, span_notice("You offer \the [I] to \the [target].")) do_give(H) return TRUE @@ -1172,9 +1178,9 @@ return TRUE //It may not have thrown, but it sure as hell left your hand successfully. //actually throw it! - src.visible_message("[src] has thrown [item].") + src.visible_message(span_warning("[src] has thrown [item].")) - if((isspace(src.loc)) || (src.lastarea?.has_gravity == 0)) + if((isspace(src.loc)) || (src.lastarea?.get_gravity() == 0)) src.inertia_dir = get_dir(target, src) step(src, inertia_dir) @@ -1333,10 +1339,10 @@ /mob/living/verb/mob_sleep() set name = "Sleep" - set category = "IC" + set category = "IC.Game" if(!toggled_sleeping && alert(src, "Are you sure you wish to go to sleep? You will snooze until you use the Sleep verb again.", "Sleepy Time", "No", "Yes") == "No") return toggled_sleeping = !toggled_sleeping - to_chat(src, SPAN_NOTICE("You are [toggled_sleeping ? "now sleeping. Use the Sleep verb again to wake up" : "no longer sleeping"].")) + to_chat(src, span_notice("You are [toggled_sleeping ? "now sleeping. Use the Sleep verb again to wake up" : "no longer sleeping"].")) if(toggled_sleeping) Sleeping(1) diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 1e348d94ece..c46b4c88262 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -29,15 +29,15 @@ armor = max(armor - armour_pen, 0) //Armor pen makes armor less effective. if(armor >= 100) if(absorb_text) - to_chat(src, "[absorb_text]") + to_chat(src, span_danger("[absorb_text]")) else - to_chat(src, "Your armor absorbs the blow!") + to_chat(src, span_danger("Your armor absorbs the blow!")) else if(armor > 0) if(soften_text) - to_chat(src, "[soften_text]") + to_chat(src, span_danger("[soften_text]")) else - to_chat(src, "Your armor softens the blow!") + to_chat(src, span_danger("Your armor softens the blow!")) if(Debug2) to_world_log("## DEBUG: Armor when [src] was attacked was [armor].") return armor @@ -66,13 +66,13 @@ if(absorb_text) show_message("[absorb_text]") else - show_message("Your armor absorbs the blow!") + show_message(span_warning("Your armor absorbs the blow!")) return 2 if(absorb == 1) if(absorb_text) show_message("[soften_text]",4) else - show_message("Your armor softens the blow!") + show_message(span_warning("Your armor softens the blow!")) return 1 return 0 */ @@ -200,7 +200,7 @@ damage_type = BRUTE damage *= 0.66 // Take 2/3s as much damage. - visible_message("\The [B] [attack_verb] \the [src]!", "[attack_message]!") + visible_message(span_danger("\The [B] [attack_verb] \the [src]!"), span_danger("[attack_message]!")) playsound(src, 'sound/effects/attackblob.ogg', 50, 1) //Armor @@ -217,7 +217,7 @@ //Called when the mob is hit with an item in combat. Returns the blocked result /mob/living/proc/hit_with_weapon(obj/item/I, mob/living/user, var/effective_force, var/hit_zone) - visible_message("[src] has been [LAZYLEN(I.attack_verb) ? pick(I.attack_verb) : "attacked"] with [I.name] by [user]!") + visible_message(span_danger("[src] has been [LAZYLEN(I.attack_verb) ? pick(I.attack_verb) : "attacked"] with [I.name] by [user]!")) if(ai_holder) ai_holder.react_to_attack(user) @@ -260,7 +260,7 @@ if(stat != DEAD && istype(O,/obj/item) && trash_catching && vore_selected) //ported from chompstation var/obj/item/I = O if(adminbus_trash || is_type_in_list(I,edible_trash) && I.trash_eatable && !is_type_in_list(I,item_vore_blacklist)) - visible_message("[I] is thrown directly into [src]'s [lowertext(vore_selected.name)]!") + visible_message(span_warning("[I] is thrown directly into [src]'s [lowertext(vore_selected.name)]!")) I.throwing = 0 I.forceMove(vore_selected) return @@ -273,10 +273,10 @@ miss_chance = max(15*(distance-2), 0) if (prob(miss_chance)) - visible_message("\The [O] misses [src] narrowly!") + visible_message(span_notice("\The [O] misses [src] narrowly!")) return - src.visible_message("[span_red("[src] has been hit by [O].")]") + src.visible_message(span_filter_warning("[span_red("[src] has been hit by [O].")]")) var/armor = run_armor_check(null, "melee") var/soaked = get_armor_soak(null, "melee") @@ -303,7 +303,7 @@ if(O.throw_source && momentum >= THROWNOBJ_KNOCKBACK_SPEED) var/dir = get_dir(O.throw_source, src) - visible_message("[span_red("[src] staggers under the impact!")]","[span_red("You stagger under the impact!")]") + visible_message(span_filter_warning("[span_red("[src] staggers under the impact!")]"),span_filter_warning("[span_red("You stagger under the impact!")]")) src.throw_at(get_edge_target_turf(src,dir),1,momentum) if(!O || !src) return @@ -319,7 +319,7 @@ if(T) src.loc = T - visible_message("[src] is pinned to the wall by [O]!","You are pinned to the wall by [O]!") + visible_message(span_warning("[src] is pinned to the wall by [O]!"),span_warning("You are pinned to the wall by [O]!")) src.anchored = TRUE src.pinned += O @@ -339,7 +339,7 @@ if(!vore_selected) return vore_selected.nom_mob(thrown_mob) //Eat them!!! - visible_message("[thrown_mob] is thrown right into [src]'s [lowertext(vore_selected.name)]!") + visible_message(span_vwarning("[thrown_mob] is thrown right into [src]'s [lowertext(vore_selected.name)]!")) if(thrown_mob.loc != vore_selected) thrown_mob.forceMove(vore_selected) //Double check. Should never happen but...Weirder things have happened! on_throw_vore_special(TRUE, thrown_mob) @@ -351,7 +351,7 @@ else if((can_be_drop_prey && throw_vore && devourable) && (thrown_mob.can_be_drop_pred && thrown_mob.throw_vore) && thrown_mob.vore_selected) //Pred thrown into prey. if(!thrown_mob.vore_selected) return - visible_message("[src] suddenly slips inside of [thrown_mob]'s [lowertext(thrown_mob.vore_selected.name)] as [thrown_mob] flies into them!") + visible_message(span_vwarning("[src] suddenly slips inside of [thrown_mob]'s [lowertext(thrown_mob.vore_selected.name)] as [thrown_mob] flies into them!")) thrown_mob.vore_selected.nom_mob(src) //Eat them!!! if(src.loc != thrown_mob.vore_selected) src.forceMove(thrown_mob.vore_selected) //Double check. Should never happen but...Weirder things have happened! @@ -365,7 +365,7 @@ /mob/living/proc/embed(var/obj/O, var/def_zone=null) O.loc = src src.embedded += O - src.verbs += /mob/proc/yank_out_object + add_verb(src, /mob/proc/yank_out_object) throw_alert("embeddedobject", /obj/screen/alert/embeddedobject) //This is called when the mob is thrown into a dense turf @@ -398,7 +398,7 @@ add_attack_logs(user,src,"Generic attack (probably animal)", admin_notify = FALSE) //Usually due to simple_mob attacks if(ai_holder) ai_holder.react_to_attack(user) - src.visible_message("[user] has [attack_message] [src]!") + src.visible_message(span_danger("[user] has [attack_message] [src]!")) user.do_attack_animation(src) spawn(1) updatehealth() return 1 @@ -511,7 +511,7 @@ stuttering += 20 make_jittery(150) emp_act(1) - to_chat(src, span("critical", "You've been struck by lightning!")) + to_chat(src, span_critical("You've been struck by lightning!")) // Called when touching a lava tile. // Does roughly 70 damage (30 instantly, up to ~40 over time) to unprotected mobs, and 10 to fully protected mobs. @@ -524,75 +524,6 @@ /mob/living/proc/reagent_permeability() return 1 -/mob/living/proc/handle_actions() - //Pretty bad, i'd use picked/dropped instead but the parent calls in these are nonexistent - for(var/datum/action/A in actions) - if(A.CheckRemoval(src)) - A.Remove(src) - for(var/obj/item/I in src) - if(I.action_button_name) - if(!I.action) - if(I.action_button_is_hands_free) - I.action = new/datum/action/item_action/hands_free - else - I.action = new/datum/action/item_action - I.action.name = I.action_button_name - I.action.target = I - I.action.Grant(src) - return - -/mob/living/update_action_buttons() - if(!hud_used) return - if(!client) return - - if(hud_used.hud_shown != 1) //Hud toggled to minimal - return - - client.screen -= hud_used.hide_actions_toggle - for(var/datum/action/A in actions) - if(A.button) - client.screen -= A.button - - if(hud_used.action_buttons_hidden) - if(!hud_used.hide_actions_toggle) - hud_used.hide_actions_toggle = new(hud_used) - hud_used.hide_actions_toggle.UpdateIcon() - - if(!hud_used.hide_actions_toggle.moved) - hud_used.hide_actions_toggle.screen_loc = hud_used.ButtonNumberToScreenCoords(1) - //hud_used.SetButtonCoords(hud_used.hide_actions_toggle,1) - - client.screen += hud_used.hide_actions_toggle - return - - var/button_number = 0 - for(var/datum/action/A in actions) - button_number++ - if(A.button == null) - var/obj/screen/movable/action_button/N = new(hud_used) - N.owner = A - A.button = N - - var/obj/screen/movable/action_button/B = A.button - - B.UpdateIcon() - - B.name = A.UpdateName() - - client.screen += B - - if(!B.moved) - B.screen_loc = hud_used.ButtonNumberToScreenCoords(button_number) - //hud_used.SetButtonCoords(B,button_number) - - if(button_number > 0) - if(!hud_used.hide_actions_toggle) - hud_used.hide_actions_toggle = new(hud_used) - hud_used.hide_actions_toggle.InitialiseIcon(src) - if(!hud_used.hide_actions_toggle.moved) - hud_used.hide_actions_toggle.screen_loc = hud_used.ButtonNumberToScreenCoords(button_number+1) - //hud_used.SetButtonCoords(hud_used.hide_actions_toggle,button_number+1) - client.screen += hud_used.hide_actions_toggle // Returns a number to determine if something is harder or easier to hit than normal. /mob/living/proc/get_evasion() diff --git a/code/modules/mob/living/living_defines.dm b/code/modules/mob/living/living_defines.dm index 6635200baae..db9a065e46f 100644 --- a/code/modules/mob/living/living_defines.dm +++ b/code/modules/mob/living/living_defines.dm @@ -39,7 +39,6 @@ var/mob_always_swap = 0 var/mob/living/cameraFollow = null - var/list/datum/action/actions = list() var/tod = null // Time of death var/update_slimes = 1 @@ -83,3 +82,26 @@ var/datum/inventory_panel/inventory_panel var/last_resist_time = 0 // world.time of the most recent resist that wasn't on cooldown. var/tiredness = 0 //For vore draining + var/fear = 0 //For fear effects and phobias + var/last_fear_sound = 0 //For making sure the heartbeats don't play over each other + + var/list/fear_message_self = list( + "Your heart is racing, it feels like it's going burst from your chest.", + "Your stomach clenches and churns with anxiety.", + "It's getting hard to breathe, you're panting heavily.", + "You feel your eyes straining.", + "A sharp shiver runs down your spine.", + "You feel like you are drowning.", + "You feel your palms clamming up.", + "Your legs feel weak, you can barely control them.", + "You have difficulty even swallowing." + ) + var/list/fear_message_other = list( + "'s eyes are darting around the room rapidly.", + " looks like they are shivering, literally shaking.", + " is breathing rapidly.", + " looks profoundly uncomfortable.", + "s literally trembling in front of you.", + "'s hands are shaking.", + " is rocking slightly from side to side." + ) diff --git a/code/modules/mob/living/living_movement.dm b/code/modules/mob/living/living_movement.dm index 9ee08bf8a7b..46d6237afe3 100644 --- a/code/modules/mob/living/living_movement.dm +++ b/code/modules/mob/living/living_movement.dm @@ -19,7 +19,7 @@ // Unless the walker is confused. if(m_intent == "walk" && confused <= 0) if(!n.is_safe_to_enter(src)) - to_chat(src, span("warning", "\The [n] is dangerous to move into.")) + to_chat(src, span_warning("\The [n] is dangerous to move into.")) return FALSE // In case any code wants to know if movement happened. return ..() // Parent call should make the mob move. @@ -58,14 +58,14 @@ default behaviour is: spread_fire(tmob) for(var/mob/living/M in range(tmob, 1)) - if(tmob.pinned.len || ((M.pulling == tmob && ( tmob.restrained() && !( M.restrained() ) && M.stat == 0)) || locate(/obj/item/weapon/grab, tmob.grabbed_by.len)) ) + if(tmob.pinned.len || ((M.pulling == tmob && ( tmob.restrained() && !( M.restrained() ) && M.stat == 0)) || locate(/obj/item/grab, tmob.grabbed_by.len)) ) if ( !(world.time % 5) ) - to_chat(src, "[tmob] is restrained, you cannot push past") + to_chat(src, span_warning("[tmob] is restrained, you cannot push past")) now_pushing = 0 return if( tmob.pulling == M && ( M.restrained() && !( tmob.restrained() ) && tmob.stat == 0) ) if ( !(world.time % 5) ) - to_chat(src, "[tmob] is restraining [M], you cannot push past") + to_chat(src, span_warning("[tmob] is restraining [M], you cannot push past")) now_pushing = 0 return @@ -144,7 +144,7 @@ default behaviour is: if(ishuman(tmob)) var/mob/living/carbon/human/H = tmob if(H.species.lightweight == 1 && prob(50)) - H.visible_message("[src] bumps into [H], knocking them off balance!") + H.visible_message(span_warning("[src] bumps into [H], knocking them off balance!")) H.Weaken(5) now_pushing = 0 return @@ -154,14 +154,14 @@ default behaviour is: // VOREStation Edit - End if(istype(tmob, /mob/living/carbon/human) && (FAT in tmob.mutations)) if(prob(40) && !(FAT in src.mutations)) - to_chat(src, "You fail to push [tmob]'s fat ass out of the way.") + to_chat(src, span_danger("You fail to push [tmob]'s fat ass out of the way.")) now_pushing = 0 return - if(tmob.r_hand && istype(tmob.r_hand, /obj/item/weapon/shield/riot)) + if(tmob.r_hand && istype(tmob.r_hand, /obj/item/shield/riot)) if(prob(99)) now_pushing = 0 return - if(tmob.l_hand && istype(tmob.l_hand, /obj/item/weapon/shield/riot)) + if(tmob.l_hand && istype(tmob.l_hand, /obj/item/shield/riot)) if(prob(99)) now_pushing = 0 return @@ -182,9 +182,9 @@ default behaviour is: if(confused && prob(50) && m_intent=="run") Weaken(2) playsound(src, "punch", 25, 1, -1) - visible_message("[src] [pick("ran", "slammed")] into \the [AM]!") + visible_message(span_warning("[src] [pick("ran", "slammed")] into \the [AM]!")) src.apply_damage(5, BRUTE) - to_chat(src, "You just [pick("ran", "slammed")] into \the [AM]!") + to_chat(src, span_warning("You just [pick("ran", "slammed")] into \the [AM]!")) */ // VOREStation Removal End return if (!now_pushing) @@ -211,7 +211,7 @@ default behaviour is: Move(T, t, move_time) if(ishuman(AM) && AM:grabbed_by) - for(var/obj/item/weapon/grab/G in AM:grabbed_by) + for(var/obj/item/grab/G in AM:grabbed_by) step(G:assailant, get_dir(G:assailant, AM)) G.adjust_position() now_pushing = 0 @@ -264,9 +264,9 @@ default behaviour is: /mob/living/proc/dragged(var/mob/living/dragger, var/oldloc) var/area/A = get_area(src) - if(lying && !buckled && pull_damage() && A.has_gravity() && (prob(getBruteLoss() * 200 / maxHealth))) + if(lying && !buckled && pull_damage() && A.get_gravity() && (prob(getBruteLoss() * 200 / maxHealth))) adjustBruteLoss(2) - visible_message("\The [src]'s [isSynthetic() ? "state" : "wounds"] worsen terribly from being dragged!") + visible_message(span_danger("\The [src]'s [isSynthetic() ? "state" : "wounds"] worsen terribly from being dragged!")) /mob/living/Moved(var/atom/oldloc, direct, forced, movetime) . = ..() @@ -303,7 +303,7 @@ default behaviour is: if(!isturf(loc)) return - else if(lastarea?.has_gravity == 0) + else if(lastarea?.get_gravity() == 0) inertial_drift() //VOREStation Edit Start else if(flying) diff --git a/code/modules/mob/living/living_powers.dm b/code/modules/mob/living/living_powers.dm index a2515085ad4..3b6806b9f9b 100644 --- a/code/modules/mob/living/living_powers.dm +++ b/code/modules/mob/living/living_powers.dm @@ -1,4 +1,4 @@ -/mob/living/proc/reveal(var/silent, var/message = "You have been revealed! You are no longer hidden.") +/mob/living/proc/reveal(var/silent, var/message = span_warning("You have been revealed! You are no longer hidden.")) if(status_flags & HIDING) status_flags &= ~HIDING reset_plane_and_layer() @@ -8,18 +8,18 @@ /mob/living/proc/hide() set name = "Hide" set desc = "Allows to hide beneath tables or certain items. Toggled on or off." - set category = "Abilities" + set category = "Abilities.General" if(stat == DEAD || paralysis || weakened || stunned || restrained() || buckled || LAZYLEN(grabbed_by) || has_buckled_mobs()) //VORE EDIT: Check for has_buckled_mobs() (taur riding) return if(status_flags & HIDING) - reveal(FALSE, "You have stopped hiding.") + reveal(FALSE, span_notice("You have stopped hiding.")) else status_flags |= HIDING layer = HIDING_LAYER //Just above cables with their 2.44 plane = OBJ_PLANE - to_chat(src,"You are now hiding.") + to_chat(src,span_notice("You are now hiding.")) /mob/living/proc/toggle_selfsurgery() set name = "Allow Self Surgery" @@ -28,5 +28,5 @@ allow_self_surgery = !allow_self_surgery - to_chat(usr, "You will [allow_self_surgery ? "now" : "no longer"] attempt to operate upon yourself.") + to_chat(usr, span_notice("You will [allow_self_surgery ? "now" : "no longer"] attempt to operate upon yourself.")) log_admin("DEBUG \[[world.timeofday]\]: [src.ckey ? "[src.name]:([src.ckey])" : "[src.name]"] has [allow_self_surgery ? "Enabled" : "Disabled"] self surgery.") diff --git a/code/modules/mob/living/living_vr.dm b/code/modules/mob/living/living_vr.dm index 853e7908858..57d054e4248 100644 --- a/code/modules/mob/living/living_vr.dm +++ b/code/modules/mob/living/living_vr.dm @@ -4,7 +4,7 @@ ..() /mob/living/verb/customsay() - set category = "IC" + set category = "IC.Settings" set name = "Customize Speech Verbs" set desc = "Customize the text which appears when you type- e.g. 'says', 'asks', 'exclaims'." @@ -25,7 +25,7 @@ /mob/living/verb/set_metainfo() set name = "Set OOC Metainfo" set desc = "Sets OOC notes about yourself or your RP preferences or status." - set category = "OOC" + set category = "OOC.Game Settings" if(usr != src) return @@ -33,7 +33,7 @@ if(new_metadata && CanUseTopic(usr)) ooc_notes = new_metadata client.prefs.metadata = new_metadata - to_chat(usr, "OOC notes updated. Don't forget to save!") + to_chat(usr, span_filter_notice("OOC notes updated. Don't forget to save!")) log_admin("[key_name(usr)] updated their OOC notes mid-round.") ooc_notes_window(usr) set_metainfo_likes(FALSE) @@ -46,7 +46,7 @@ if(new_metadata && CanUseTopic(usr)) ooc_notes = new_metadata client.prefs.metadata = new_metadata - to_chat(usr, "OOC notes updated. Don't forget to save!") + to_chat(usr, span_filter_notice("OOC notes updated. Don't forget to save!")) log_admin("[key_name(usr)] updated their OOC notes mid-round.") ooc_notes_window(usr) @@ -59,7 +59,7 @@ new_metadata = "" ooc_notes_likes = new_metadata client.prefs.metadata_likes = new_metadata - to_chat(usr, "OOC note likes have been updated. Don't forget to save!") + to_chat(usr, span_filter_notice("OOC note likes have been updated. Don't forget to save!")) log_admin("[key_name(usr)] updated their OOC note likes mid-round.") if(reopen) ooc_notes_window(usr) @@ -73,7 +73,7 @@ new_metadata = "" ooc_notes_dislikes = new_metadata client.prefs.metadata_dislikes = new_metadata - to_chat(usr, "OOC note dislikes have been updated. Don't forget to save!") + to_chat(usr, span_filter_notice("OOC note dislikes have been updated. Don't forget to save!")) log_admin("[key_name(usr)] updated their OOC note dislikes mid-round.") if(reopen) ooc_notes_window(usr) @@ -82,10 +82,10 @@ if(usr != src) return if(client.prefs.real_name != real_name) - to_chat(usr, "Your selected character slot name is not the same as your character's name. Aborting save. Please select [real_name]'s character slot in character setup before saving.") + to_chat(usr, span_danger("Your selected character slot name is not the same as your character's name. Aborting save. Please select [real_name]'s character slot in character setup before saving.")) return if(client.prefs.save_character()) - to_chat(usr, "Character preferences saved.") + to_chat(usr, span_filter_notice("Character preferences saved.")) /mob/living/proc/print_ooc_notes_to_chat() if(!ooc_notes) @@ -95,29 +95,29 @@ msg += "

    LIKES

    [ooc_notes_likes]" if(ooc_notes_dislikes) msg += "

    DISLIKES

    [ooc_notes_dislikes]" - to_chat(usr, "[src]'s Metainfo:
    [msg]
    ") + to_chat(usr, span_chatexport("[src]'s Metainfo:
    [msg]")) /mob/living/verb/set_custom_link() set name = "Set Custom Link" set desc = "Set a custom link to show up with your examine text." - set category = "IC" + set category = "IC.Settings" if(usr != src) return var/new_link = strip_html_simple(tgui_input_text(usr, "Enter a link to add on to your examine text! This should be a related image link/gallery, or things like your F-list. This is not the place for memes.", "Custom Link" , html_decode(custom_link), max_length = 100, encode = TRUE, prevent_enter = TRUE)) if(new_link && CanUseTopic(usr)) if(length(new_link) > 100) - to_chat(usr, "Your entry is too long, it must be 100 characters or less.") + to_chat(usr, span_warning("Your entry is too long, it must be 100 characters or less.")) return custom_link = new_link - to_chat(usr, "Link set: [custom_link]") + to_chat(usr, span_notice("Link set: [custom_link]")) log_admin("[usr]/[usr.ckey] set their custom link to [custom_link]") /mob/living/verb/set_voice_freq() set name = "Set Voice Frequency" set desc = "Sets your voice frequency to be higher or lower pitched!" - set category = "OOC" + set category = "OOC.Game Settings" var/list/preset_voice_freqs = list("high" = MAX_VOICE_FREQ, "middle-high" = 56250, "middle" = 425000, "middle-low"= 28750, "low" = MIN_VOICE_FREQ, "custom" = 1, "random" = 0) var/choice = tgui_input_list(src, "What would you like to set your voice frequency to?", "Voice Frequency", preset_voice_freqs) @@ -138,52 +138,10 @@ /mob/living/verb/set_voice_type() set name = "Set Voice Type" set desc = "Sets your voice style!" - set category = "OOC" - - var/list/possible_voice_types = list( - "beep-boop", - "goon speak 1", - "goon speak 2", - "goon speak 3", - "goon speak 4", - "goon speak blub", - "goon speak bottalk", - "goon speak buwoo", - "goon speak cow", - "goon speak lizard", - "goon speak pug", - "goon speak pugg", - "goon speak roach", - "goon speak skelly") + set category = "OOC.Game Settings" + + var/list/possible_voice_types = get_talk_sound() var/choice = tgui_input_list(usr, "Which set of sounds would you like to use for your character's speech sounds?", "Voice Sounds", possible_voice_types) if(!choice) voice_sounds_list = talk_sound - switch(choice) - if("beep-boop") - voice_sounds_list = talk_sound - if("goon speak 1") - voice_sounds_list = goon_speak_one_sound - if("goon speak 2") - voice_sounds_list = goon_speak_two_sound - if("goon speak 3") - voice_sounds_list = goon_speak_three_sound - if("goon speak 4") - voice_sounds_list = goon_speak_four_sound - if("goon speak blub") - voice_sounds_list = goon_speak_blub_sound - if("goon speak bottalk") - voice_sounds_list = goon_speak_bottalk_sound - if("goon speak buwoo") - voice_sounds_list = goon_speak_buwoo_sound - if("goon speak cow") - voice_sounds_list = goon_speak_cow_sound - if("goon speak lizard") - voice_sounds_list = goon_speak_lizard_sound - if("goon speak pug") - voice_sounds_list = goon_speak_pug_sound - if("goon speak pugg") - voice_sounds_list = goon_speak_pugg_sound - if("goon speak roach") - voice_sounds_list = goon_speak_roach_sound - if("goon speak skelly") - voice_sounds_list = goon_speak_skelly_sound + voice_sounds_list = get_talk_sound(choice) diff --git a/code/modules/mob/living/login.dm b/code/modules/mob/living/login.dm index 927fc4a5119..ab322eb9bcc 100644 --- a/code/modules/mob/living/login.dm +++ b/code/modules/mob/living/login.dm @@ -10,54 +10,26 @@ if(ai_holder && !ai_holder.autopilot) ai_holder.go_sleep() - to_chat(src,"Mob AI disabled while you are controlling the mob.") + to_chat(src,span_notice("Mob AI disabled while you are controlling the mob.")) AddComponent(/datum/component/character_setup) // Vore stuff - verbs |= /mob/living/proc/escapeOOC - verbs |= /mob/living/proc/lick - verbs |= /mob/living/proc/smell - verbs |= /mob/living/proc/switch_scaling - verbs |= /mob/living/proc/center_offset + add_verb(src, /mob/living/proc/escapeOOC) + add_verb(src, /mob/living/proc/lick) + add_verb(src, /mob/living/proc/smell) + add_verb(src, /mob/living/proc/switch_scaling) + add_verb(src, /mob/living/proc/center_offset) if(!no_vore) - verbs |= /mob/living/proc/vorebelly_printout + add_verb(src, /mob/living/proc/vorebelly_printout) if(!vorePanel) AddComponent(/datum/component/vore_panel) //VOREStation Add Start if(!voice_sounds_list.len || !voice_sounds_list) if(client.prefs.voice_sound) var/prefsound = client.prefs.voice_sound - switch(prefsound) - if("beep-boop") - voice_sounds_list = talk_sound - if("goon speak 1") - voice_sounds_list = goon_speak_one_sound - if("goon speak 2") - voice_sounds_list = goon_speak_two_sound - if("goon speak 3") - voice_sounds_list = goon_speak_three_sound - if("goon speak 4") - voice_sounds_list = goon_speak_four_sound - if("goon speak blub") - voice_sounds_list = goon_speak_blub_sound - if("goon speak bottalk") - voice_sounds_list = goon_speak_bottalk_sound - if("goon speak buwoo") - voice_sounds_list = goon_speak_buwoo_sound - if("goon speak cow") - voice_sounds_list = goon_speak_cow_sound - if("goon speak lizard") - voice_sounds_list = goon_speak_lizard_sound - if("goon speak pug") - voice_sounds_list = goon_speak_pug_sound - if("goon speak pugg") - voice_sounds_list = goon_speak_pugg_sound - if("goon speak roach") - voice_sounds_list = goon_speak_roach_sound - if("goon speak skelly") - voice_sounds_list = goon_speak_skelly_sound + voice_sounds_list = get_talk_sound(prefsound) else voice_sounds_list = talk_sound //VOREStation Add End diff --git a/code/modules/mob/living/riding.dm b/code/modules/mob/living/riding.dm index 08a2f889708..1174ee30753 100644 --- a/code/modules/mob/living/riding.dm +++ b/code/modules/mob/living/riding.dm @@ -1,16 +1,16 @@ /mob/living/proc/toggle_rider_reins() set name = "Give Reins" - set category = "Abilities" + set category = "Abilities.General" set desc = "Let people riding on you control your movement." if(riding_datum) if(istype(riding_datum,/datum/riding)) if(riding_datum.keytype) riding_datum.keytype = null - to_chat(src, "Rider control enabled.") + to_chat(src, span_filter_notice("Rider control enabled.")) return else - riding_datum.keytype = /obj/item/weapon/material/twohanded/riding_crop - to_chat(src, "Rider control restricted.") + riding_datum.keytype = /obj/item/material/twohanded/riding_crop + to_chat(src, span_filter_notice("Rider control restricted.")) return return diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index 25ce01c34df..6278f731b79 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -4,41 +4,41 @@ var/list/department_radio_keys = list( ":i" = "intercom", ".i" = "intercom", ":h" = "department", ".h" = "department", ":+" = "special", ".+" = "special", //activate radio-specific special functions - ":c" = "Command", ".c" = "Command", - ":n" = "Science", ".n" = "Science", - ":m" = "Medical", ".m" = "Medical", - ":e" = "Engineering", ".e" = "Engineering", - ":k" = "Response Team", ".k" = "Response Team", - ":s" = "Security", ".s" = "Security", + ":c" = CHANNEL_COMMAND, ".c" = CHANNEL_COMMAND, + ":n" = CHANNEL_SCIENCE, ".n" = CHANNEL_SCIENCE, + ":m" = CHANNEL_MEDICAL, ".m" = CHANNEL_MEDICAL, + ":e" = CHANNEL_ENGINEERING, ".e" = CHANNEL_ENGINEERING, + ":k" = CHANNEL_RESPONSE_TEAM, ".k" = CHANNEL_RESPONSE_TEAM, + ":s" = CHANNEL_SECURITY, ".s" = CHANNEL_SECURITY, ":w" = "whisper", ".w" = "whisper", - ":t" = "Mercenary", ".t" = "Mercenary", - ":x" = "Raider", ".x" = "Raider", - ":u" = "Supply", ".u" = "Supply", - ":v" = "Service", ".v" = "Service", - ":p" = "AI Private", ".p" = "AI Private", - ":a" = "Away Team", ".a" = "Away Team", //VOREStation Edit - ":y" = "Talon", ".y" = "Talon", //VOREStation Add, - ":g" = "Casino", ".g" = "Casino", + ":t" = CHANNEL_MERCENARY, ".t" = CHANNEL_MERCENARY, + ":x" = CHANNEL_RAIDER, ".x" = CHANNEL_RAIDER, + ":u" = CHANNEL_SUPPLY, ".u" = CHANNEL_SUPPLY, + ":v" = CHANNEL_SERVICE, ".v" = CHANNEL_SERVICE, + ":p" = CHANNEL_AI_PRIVATE, ".p" = CHANNEL_AI_PRIVATE, + ":a" = CHANNEL_EXPLORATION, ".a" = CHANNEL_EXPLORATION, //VOREStation Edit + ":y" = CHANNEL_TALON, ".y" = CHANNEL_TALON, //VOREStation Add, + ":g" = CHANNEL_CASINO, ".g" = CHANNEL_CASINO, ":R" = "right ear", ".R" = "right ear", ":L" = "left ear", ".L" = "left ear", ":I" = "intercom", ".I" = "intercom", ":H" = "department", ".H" = "department", - ":C" = "Command", ".C" = "Command", - ":N" = "Science", ".N" = "Science", - ":M" = "Medical", ".M" = "Medical", - ":E" = "Engineering", ".E" = "Engineering", - ":k" = "Response Team", ".k" = "Response Team", - ":S" = "Security", ".S" = "Security", + ":C" = CHANNEL_COMMAND, ".C" = CHANNEL_COMMAND, + ":N" = CHANNEL_SCIENCE, ".N" = CHANNEL_SCIENCE, + ":M" = CHANNEL_MEDICAL, ".M" = CHANNEL_MEDICAL, + ":E" = CHANNEL_ENGINEERING, ".E" = CHANNEL_ENGINEERING, + ":k" = CHANNEL_RESPONSE_TEAM, ".k" = CHANNEL_RESPONSE_TEAM, + ":S" = CHANNEL_SECURITY, ".S" = CHANNEL_SECURITY, ":W" = "whisper", ".W" = "whisper", - ":T" = "Mercenary", ".T" = "Mercenary", - ":X" = "Raider", ".X" = "Raider", - ":U" = "Supply", ".U" = "Supply", - ":V" = "Service", ".V" = "Service", - ":P" = "AI Private", ".P" = "AI Private", - ":A" = "Away Team", ".A" = "Away Team", - ":Y" = "Talon", ".Y" = "Talon", //VOREStation Add, - ":G" = "Casino", ".G" = "Casino", + ":T" = CHANNEL_MERCENARY, ".T" = CHANNEL_MERCENARY, + ":X" = CHANNEL_RAIDER, ".X" = CHANNEL_RAIDER, + ":U" = CHANNEL_SUPPLY, ".U" = CHANNEL_SUPPLY, + ":V" = CHANNEL_SERVICE, ".V" = CHANNEL_SERVICE, + ":P" = CHANNEL_AI_PRIVATE, ".P" = CHANNEL_AI_PRIVATE, + ":A" = CHANNEL_EXPLORATION, ".A" = CHANNEL_EXPLORATION, + ":Y" = CHANNEL_TALON, ".Y" = CHANNEL_TALON, //VOREStation Add, + ":G" = CHANNEL_CASINO, ".G" = CHANNEL_CASINO, // Cyrillic characters on the same keys on the Russian QWERTY (phonetic) layout ":к" = "right ear", ".к" = "right ear", @@ -46,21 +46,21 @@ var/list/department_radio_keys = list( ":ш" = "intercom", ".ш" = "intercom", ":Ñ€" = "department", ".Ñ€" = "department", ":+" = "special", ".+" = "special", //activate radio-specific special functions - ":Ñ" = "Command", ".Ñ" = "Command", - ":Ñ‚" = "Science", ".Ñ‚" = "Science", - ":ÑŒ" = "Medical", ".ÑŒ" = "Medical", - ":у" = "Engineering", ".у" = "Engineering", - ":л" = "Response Team", ".л" = "Response Team", - ":Ñ‹" = "Security", ".Ñ‹" = "Security", + ":Ñ" = CHANNEL_COMMAND, ".Ñ" = CHANNEL_COMMAND, + ":Ñ‚" = CHANNEL_SCIENCE, ".Ñ‚" = CHANNEL_SCIENCE, + ":ÑŒ" = CHANNEL_MEDICAL, ".ÑŒ" = CHANNEL_MEDICAL, + ":у" = CHANNEL_ENGINEERING, ".у" = CHANNEL_ENGINEERING, + ":л" = CHANNEL_RESPONSE_TEAM, ".л" = CHANNEL_RESPONSE_TEAM, + ":Ñ‹" = CHANNEL_SECURITY, ".Ñ‹" = CHANNEL_SECURITY, ":ц" = "whisper", ".ц" = "whisper", - ":е" = "Mercenary", ".е" = "Mercenary", - ":ч" = "Raider", ".ч" = "Raider", - ":г" = "Supply", ".г" = "Supply", - ":м" = "Service", ".м" = "Service", - ":з" = "AI Private", ".з" = "AI Private", - ":Ñ„" = "Away Team", ".Ñ„" = "Away Team", - ":н" = "Talon", ".н" = "Talon", //VOREStation Add - ":п" = "Casino", ".п" = "Casino", + ":е" = CHANNEL_MERCENARY, ".е" = CHANNEL_MERCENARY, + ":ч" = CHANNEL_RAIDER, ".ч" = CHANNEL_RAIDER, + ":г" = CHANNEL_SUPPLY, ".г" = CHANNEL_SUPPLY, + ":м" = CHANNEL_SERVICE, ".м" = CHANNEL_SERVICE, + ":з" = CHANNEL_AI_PRIVATE, ".з" = CHANNEL_AI_PRIVATE, + ":Ñ„" = CHANNEL_EXPLORATION, ".Ñ„" = CHANNEL_EXPLORATION, + ":н" = CHANNEL_TALON, ".н" = CHANNEL_TALON, //VOREStation Add + ":п" = CHANNEL_CASINO, ".п" = CHANNEL_CASINO, ) @@ -121,7 +121,7 @@ var/list/channel_to_radio_key = new //VOREStation Edit End //YW Edit start if(wingdings) - S.message = span("wingdings",(S.message)) + S.message = span_wingdings(S.message) . = 1 //YW Edit End @@ -131,7 +131,7 @@ var/list/channel_to_radio_key = new /mob/living/proc/handle_message_mode(message_mode, list/message_pieces, verb, used_radios) if(message_mode == "intercom") - for(var/obj/item/device/radio/intercom/I in view(1, null)) + for(var/obj/item/radio/intercom/I in view(1, null)) I.talk_into(src, message_pieces, verb) used_radios += I return 0 @@ -154,8 +154,8 @@ var/list/channel_to_radio_key = new if(client) if(message) client.handle_spam_prevention(MUTE_IC) - if((client.prefs.muted & MUTE_IC) || say_disabled) - to_chat(src, "You cannot speak in IC (Muted).") + if((client.prefs.muted & MUTE_IC)) + to_chat(src, span_warning("You cannot speak in IC (Muted).")) return //Redirect to say_dead if talker is dead @@ -197,6 +197,13 @@ var/list/channel_to_radio_key = new return // VOREStation Edit End + // If the message ends in an alphanumeric character (therefore, not punctuation), + // and autopunctuation is turned on, add a period. + // This must be done right here, before parse_languages is called, to make sure it's in the last multilingual say piece. + if(contains_az09(copytext(message, length(message)))) + if(client?.prefs?.read_preference(/datum/preference/toggle/autopunctuation)) + message += "." + //Parse the language code and consume it var/list/message_pieces = parse_languages(message) if(istype(message_pieces, /datum/multilingual_say_piece)) // Little quark for dealing with hivemind/signlang languages. @@ -211,7 +218,7 @@ var/list/channel_to_radio_key = new // If you're muzzled, you can only speak sign language // However, sign language is handled above. if(is_muzzled()) - to_chat(src, "You're muzzled and cannot speak!") + to_chat(src, span_danger("You're muzzled and cannot speak!")) return //Whisper vars @@ -277,7 +284,7 @@ var/list/channel_to_radio_key = new message_range = first_piece.speaking.get_talkinto_msg_range(message) var/msg if(!first_piece.speaking || !(first_piece.speaking.flags & NO_TALK_MSG)) - msg = "[src] talks into [used_radios[1]]" + msg = span_notice("[src] talks into [used_radios[1]]") if(msg) for(var/mob/living/M in hearers(5, src) - src) @@ -368,14 +375,14 @@ var/list/channel_to_radio_key = new if(M && src) //If we still exist, when the spawn processes //VOREStation Add - Ghosts don't hear whispers - if(whispering && isobserver(M) && (!M.is_preference_enabled(/datum/client_preference/ghost_see_whisubtle) || \ - (!is_preference_enabled(/datum/client_preference/whisubtle_vis) && !M.client?.holder))) - M.show_message("[src.name] [w_not_heard].", 2) + if(whispering && isobserver(M) && (!M.client?.prefs?.read_preference(/datum/preference/toggle/ghost_see_whisubtle) || \ + (!(client?.prefs?.read_preference(/datum/preference/toggle/whisubtle_vis) || (isbelly(M.loc) && src == M.loc:owner)) && !M.client?.holder))) + M.show_message(span_game(span_say(span_name(src.name) + " [w_not_heard].")), 2) return //VOREStation Add End var/dst = get_dist(get_turf(M),get_turf(src)) - var/runechat_enabled = M.client?.is_preference_enabled(/datum/client_preference/runechat_mob) + var/runechat_enabled = M.client?.prefs?.read_preference(/datum/preference/toggle/runechat_mob) if(dst <= message_range || (M.stat == DEAD && !forbid_seeing_deadchat)) //Inside normal message range, or dead with ears (handled in the view proc) if(M.hear_say(message_pieces, verb, italics, src, speech_sound, sound_vol)) @@ -391,7 +398,7 @@ var/list/channel_to_radio_key = new images_to_clients[I2] |= M.client M << I2 if(dst > w_scramble_range && dst <= world.view) //Inside whisper 'visible' range - M.show_message("[name] [w_not_heard].", 2) + M.show_message(span_game(span_say(span_name(name) + " [w_not_heard].")), 2) //Object message delivery for(var/obj/O in listening_obj) @@ -418,19 +425,19 @@ var/list/channel_to_radio_key = new message = "([message_mode == "headset" ? "Common" : capitalize(message_mode)]) [message]" //Adds radio keys used if available if(whispering) if(do_sound && message) - playsound(T, pick(voice_sounds_list), 25, TRUE, extrarange = -6, falloff = 1 , is_global = TRUE, frequency = ourfreq, ignore_walls = FALSE, preference = /datum/client_preference/whisper_sounds) + playsound(T, pick(voice_sounds_list), 25, TRUE, extrarange = -6, falloff = 1 , is_global = TRUE, frequency = ourfreq, ignore_walls = FALSE, preference = /datum/preference/toggle/whisper_sounds) log_whisper(message, src) else if(do_sound && message) - playsound(T, pick(voice_sounds_list), 75, TRUE, falloff = 1 , is_global = TRUE, frequency = ourfreq, ignore_walls = FALSE, preference = /datum/client_preference/say_sounds) + playsound(T, pick(voice_sounds_list), 75, TRUE, falloff = 1 , is_global = TRUE, frequency = ourfreq, ignore_walls = FALSE, preference = /datum/preference/toggle/say_sounds) log_say(message, src) return 1 /mob/living/proc/say_signlang(var/message, var/verb="gestures", var/verb_understood="gestures", var/datum/language/language, var/type = 1) var/turf/T = get_turf(src) //We're in something, gesture to people inside the same thing - if(loc != T) + if(loc != T && !istype(loc, /obj/item/holder)) // Partially fixes sign language while being held. for(var/mob/M in loc) M.hear_signlang(message, verb, verb_understood, language, src, type) diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index cb067098e14..74467c67a9e 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -41,7 +41,7 @@ var/list/ai_verbs_default = list( /mob/living/silicon/ai - name = "AI" + name = JOB_AI icon = 'icons/mob/AI.dmi'// icon_state = "ai" anchored = TRUE // -- TLE @@ -55,10 +55,10 @@ var/list/ai_verbs_default = list( var/icon/holo_icon //Default is assigned when AI is created. var/holo_color = null var/list/connected_robots = list() - var/obj/item/device/pda/ai/aiPDA = null - var/obj/item/device/communicator/aiCommunicator = null - var/obj/item/device/multitool/aiMulti = null - var/obj/item/device/radio/headset/heads/ai_integrated/aiRadio = null + var/obj/item/pda/ai/aiPDA = null + var/obj/item/communicator/aiCommunicator = null + var/obj/item/multitool/aiMulti = null + var/obj/item/radio/headset/heads/ai_integrated/aiRadio = null var/camera_light_on = 0 //Defines if the AI toggled the light on the camera it's looking through. var/datum/trackable/track = null var/last_announcement = "" @@ -99,14 +99,14 @@ var/list/ai_verbs_default = list( can_be_antagged = TRUE /mob/living/silicon/ai/proc/add_ai_verbs() - src.verbs |= ai_verbs_default - src.verbs |= silicon_subsystems + add_verb(src, ai_verbs_default) + add_verb(src, silicon_subsystems) /mob/living/silicon/ai/proc/remove_ai_verbs() - src.verbs -= ai_verbs_default - src.verbs -= silicon_subsystems + remove_verb(src, ai_verbs_default) + remove_verb(src, silicon_subsystems) -/mob/living/silicon/ai/New(loc, var/datum/ai_laws/L, var/obj/item/device/mmi/B, var/safety = 0) +/mob/living/silicon/ai/New(loc, var/datum/ai_laws/L, var/obj/item/mmi/B, var/safety = 0) announcement = new() announcement.title = "A.I. Announcement" announcement.announcement_type = "A.I. Announcement" @@ -123,7 +123,7 @@ var/list/ai_verbs_default = list( pickedName = null if(!is_dummy) - aiPDA = new/obj/item/device/pda/ai(src) + aiPDA = new/obj/item/pda/ai(src) SetName(pickedName) anchored = TRUE canmove = 0 @@ -131,7 +131,7 @@ var/list/ai_verbs_default = list( loc = loc if(!is_dummy) - aiCommunicator = new /obj/item/device/communicator/integrated(src) + aiCommunicator = new /obj/item/communicator/integrated(src) holo_icon = getHologramIcon(icon('icons/mob/AI.dmi',"holo1")) @@ -150,7 +150,7 @@ var/list/ai_verbs_default = list( additional_law_channels["Binary"] = "#b" additional_law_channels["Holopad"] = ":h" - aiCamera = new/obj/item/device/camera/siliconcam/ai_camera(src) + aiCamera = new/obj/item/camera/siliconcam/ai_camera(src) if (istype(loc, /turf)) add_ai_verbs(src) @@ -191,12 +191,12 @@ var/list/ai_verbs_default = list( return /mob/living/silicon/ai/proc/on_mob_init() - var/init_text = list("You are playing the station's AI. The AI cannot move, but can interact with many objects while viewing them (through cameras).", - "To look at other parts of the station, click on yourself to get a camera menu.", - "While observing through a camera, you can use most (networked) devices which you can see, such as computers, APCs, intercoms, doors, etc.", + var/init_text = list(span_bold("You are playing the station's AI. The AI cannot move, but can interact with many objects while viewing them (through cameras)."), + span_bold("To look at other parts of the station, click on yourself to get a camera menu."), + span_bold("While observing through a camera, you can use most (networked) devices which you can see, such as computers, APCs, intercoms, doors, etc."), "To use something, simply click on it.", "For department channels, use the following say commands:") - to_chat(src, "[jointext(init_text, "
    ")]
    ") + to_chat(src, span_filter_notice("[jointext(init_text, "
    ")]")) var/radio_text = "" for(var/i = 1 to common_radio.channels.len) @@ -218,9 +218,9 @@ var/list/ai_verbs_default = list( if (malf && !(mind in malf.current_antagonists)) show_laws() - to_chat(src, "These laws may be changed by other players, or by you being the traitor.") + to_chat(src, span_filter_notice(span_bold("These laws may be changed by other players, or by you being the traitor."))) - job = "AI" + job = JOB_AI setup_icon() /mob/living/silicon/ai/Destroy() @@ -238,26 +238,27 @@ var/list/ai_verbs_default = list( return ..() -/mob/living/silicon/ai/Stat() - ..() - if(statpanel("Status")) - if(!stat) // Make sure we're not unconscious/dead. - stat(null, text("System integrity: [(health+100)/2]%")) - stat(null, text("Connected synthetics: [connected_robots.len]")) - for(var/mob/living/silicon/robot/R in connected_robots) - var/robot_status = "Nominal" - if(R.shell) - robot_status = "AI SHELL" - else if(R.stat || !R.client) - robot_status = "OFFLINE" - else if(!R.cell || R.cell.charge <= 0) - robot_status = "DEPOWERED" - //Name, Health, Battery, Module, Area, and Status! Everything an AI wants to know about its borgies! - stat(null, text("[R.name] | S.Integrity: [R.health]% | Cell: [R.cell ? "[R.cell.charge]/[R.cell.maxcharge]" : "Empty"] | \ - Module: [R.modtype] | Loc: [get_area_name(R, TRUE)] | Status: [robot_status]")) - stat(null, text("AI shell beacons detected: [LAZYLEN(GLOB.available_ai_shells)]")) //Count of total AI shells - else - stat(null, text("Systems nonfunctional")) + +/mob/living/silicon/ai/get_status_tab_items() + . = ..() + . += "" + if(!stat) // Make sure we're not unconscious/dead. + . += "System integrity: [(health+100)/2]%" + . += "Connected synthetics: [connected_robots.len]" + for(var/mob/living/silicon/robot/R in connected_robots) + var/robot_status = "Nominal" + if(R.shell) + robot_status = "AI SHELL" + else if(R.stat || !R.client) + robot_status = "OFFLINE" + else if(!R.cell || R.cell.charge <= 0) + robot_status = "DEPOWERED" + //Name, Health, Battery, Module, Area, and Status! Everything an AI wants to know about its borgies! + . += "[R.name] | S.Integrity: [R.health]% | Cell: [R.cell ? "[R.cell.charge]/[R.cell.maxcharge]" : "Empty"] | \ + Module: [R.modtype] | Loc: [get_area_name(R, TRUE)] | Status: [robot_status]" + . += "AI shell beacons detected: [LAZYLEN(GLOB.available_ai_shells)]" //Count of total AI shells + else + . += "Systems nonfunctional" /mob/living/silicon/ai/proc/setup_icon() @@ -294,7 +295,7 @@ var/list/ai_verbs_default = list( // Set ai pda name if(aiPDA) - aiPDA.ownjob = "AI" + aiPDA.ownjob = JOB_AI aiPDA.owner = pickedName aiPDA.name = pickedName + " (" + aiPDA.ownjob + ")" @@ -346,7 +347,7 @@ var/list/ai_verbs_default = list( update_use_power(USE_POWER_ACTIVE) /mob/living/silicon/ai/proc/pick_icon() - set category = "AI Settings" + set category = "AI.Settings" set name = "Set AI Core Display" if(stat || aiRestorePowerRoutine) return @@ -358,13 +359,13 @@ var/list/ai_verbs_default = list( /mob/living/silicon/ai/var/message_cooldown = 0 /mob/living/silicon/ai/proc/ai_announcement() - set category = "AI Commands" + set category = "AI.Station Commands" set name = "Make Station Announcement" if(check_unable(AI_CHECK_WIRELESS | AI_CHECK_RADIO)) return if(message_cooldown) - to_chat(src, "Please allow one minute to pass between announcements.") + to_chat(src, span_filter_notice("Please allow one minute to pass between announcements.")) return var/input = tgui_input_text(usr, "Please write a message to announce to the station crew.", "A.I. Announcement") if(!input) @@ -379,13 +380,16 @@ var/list/ai_verbs_default = list( message_cooldown = 0 /mob/living/silicon/ai/proc/ai_call_shuttle() - set category = "AI Commands" + set category = "AI.Station Commands" set name = "Call Emergency Shuttle" if(check_unable(AI_CHECK_WIRELESS)) return var/confirm = tgui_alert(usr, "Are you sure you want to call the shuttle?", "Confirm Shuttle Call", list("Yes", "No")) + if(!confirm) + return + if(check_unable(AI_CHECK_WIRELESS)) return @@ -397,7 +401,7 @@ var/list/ai_verbs_default = list( post_status(src, "shuttle", user = src) /mob/living/silicon/ai/proc/ai_recall_shuttle() - set category = "AI Commands" + set category = "AI.Station Commands" set name = "Recall Emergency Shuttle" if(check_unable(AI_CHECK_WIRELESS)) @@ -413,19 +417,19 @@ var/list/ai_verbs_default = list( /mob/living/silicon/ai/var/emergency_message_cooldown = 0 /mob/living/silicon/ai/proc/ai_emergency_message() - set category = "AI Commands" + set category = "AI.Station Commands" set name = "Send Emergency Message" if(check_unable(AI_CHECK_WIRELESS)) return if(emergency_message_cooldown) - to_chat(usr, "Arrays recycling. Please stand by.") + to_chat(usr, span_warning("Arrays recycling. Please stand by.")) return var/input = sanitize(tgui_input_text(usr, "Please choose a message to transmit to [using_map.boss_short] via quantum entanglement. Please be aware that this process is very expensive, and abuse will lead to... termination. Transmission does not guarantee a response. There is a 30 second delay before you may send another message, be clear, full and concise.", "To abort, send an empty message.", "")) if(!input) return CentCom_announce(input, usr) - to_chat(usr, "Message transmitted.") + to_chat(usr, span_notice("Message transmitted.")) log_game("[key_name(usr)] has made an IA [using_map.boss_short] announcement: [input]") emergency_message_cooldown = 1 spawn(300) @@ -468,7 +472,7 @@ var/list/ai_verbs_default = list( if(H) H.attack_ai(src) //may as well recycle else - to_chat(src, "Unable to locate the holopad.") + to_chat(src, span_notice("Unable to locate the holopad.")) if (href_list["track"]) var/mob/target = locate(href_list["track"]) in mob_list @@ -476,7 +480,7 @@ var/list/ai_verbs_default = list( if(target && (!istype(target, /mob/living/carbon/human) || html_decode(href_list["trackname"]) == target:get_face_name())) ai_actual_track(target) else - to_chat(src, "[span_red("System error. Cannot locate [html_decode(href_list["trackname"])].")]") + to_chat(src, span_filter_warning("[span_red("System error. Cannot locate [html_decode(href_list["trackname"])].")]")) return if(href_list["trackbot"]) @@ -484,7 +488,7 @@ var/list/ai_verbs_default = list( if(target) ai_actual_track(target) else - to_chat(src, "Target is not on or near any active cameras on the station.") + to_chat(src, span_warning("Target is not on or near any active cameras on the station.")) return if(href_list["open"]) @@ -534,7 +538,7 @@ var/list/ai_verbs_default = list( return 1 /mob/living/silicon/ai/cancel_camera() - set category = "AI Commands" + set category = "AI.Camera Control" set name = "Cancel Camera View" view_core() @@ -557,7 +561,7 @@ var/list/ai_verbs_default = list( return cameralist /mob/living/silicon/ai/proc/ai_network_change(var/network in get_camera_network_list()) - set category = "AI Commands" + set category = "AI.Camera Control" set name = "Jump To Network" unset_machine() @@ -576,11 +580,11 @@ var/list/ai_verbs_default = list( if(network in C.network) eyeobj.setLoc(get_turf(C)) break - to_chat(src, "Switched to [network] camera network.") + to_chat(src, span_notice("Switched to [network] camera network.")) //End of code by Mord_Sith /mob/living/silicon/ai/proc/ai_statuschange() - set category = "AI Settings" + set category = "AI.Settings" set name = "AI Status" if(check_unable(AI_CHECK_WIRELESS)) @@ -593,7 +597,7 @@ var/list/ai_verbs_default = list( /mob/living/silicon/ai/proc/ai_hologram_change() set name = "Change Hologram" set desc = "Change the default hologram available to AI to something else." - set category = "AI Settings" + set category = "AI.Settings" if(check_unable()) return @@ -613,6 +617,9 @@ var/list/ai_verbs_default = list( if("Model") choice = tgui_alert(usr, "Would you like to select a hologram based on a (visible) crew member, switch to unique avatar, or load your character from your character slot?","Hologram Selection",list("Crew Member","Unique","My Character")) + if(!choice) + return + switch(choice) if("Crew Member") //A seeable crew member (or a dog) var/list/targets = trackable_mobs() @@ -718,12 +725,12 @@ var/list/ai_verbs_default = list( /mob/living/silicon/ai/proc/toggle_camera_light() set name = "Toggle Camera Light" set desc = "Toggles the light on the camera the AI is looking through." - set category = "AI Commands" + set category = "AI.Camera Control" if(check_unable()) return camera_light_on = !camera_light_on - to_chat(src, "Camera lights [camera_light_on ? "activated" : "deactivated"].") + to_chat(src, span_filter_notice("Camera lights [camera_light_on ? "activated" : "deactivated"].")) if(!camera_light_on) if(camera) camera.set_light(0) @@ -758,32 +765,32 @@ var/list/ai_verbs_default = list( camera_light_on = world.timeofday + 1 * 20 // Update the light every 2 seconds. -/mob/living/silicon/ai/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W, /obj/item/device/aicard)) +/mob/living/silicon/ai/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W, /obj/item/aicard)) - var/obj/item/device/aicard/card = W + var/obj/item/aicard/card = W card.grab_ai(src, user) else if(W.has_tool_quality(TOOL_WRENCH)) if(user == deployed_shell) - to_chat(user, "The shell's subsystems resist your efforts to tamper with your bolts.") + to_chat(user, span_notice("The shell's subsystems resist your efforts to tamper with your bolts.")) return if(anchored) playsound(src, W.usesound, 50, 1) - user.visible_message("\The [user] starts to unbolt \the [src] from the plating...") + user.visible_message(span_notice("\The [user] starts to unbolt \the [src] from the plating...")) if(!do_after(user,40 * W.toolspeed)) - user.visible_message("\The [user] decides not to unbolt \the [src].") + user.visible_message(span_notice("\The [user] decides not to unbolt \the [src].")) return - user.visible_message("\The [user] finishes unfastening \the [src]!") + user.visible_message(span_notice("\The [user] finishes unfastening \the [src]!")) anchored = FALSE return else playsound(src, W.usesound, 50, 1) - user.visible_message("\The [user] starts to bolt \the [src] to the plating...") + user.visible_message(span_notice("\The [user] starts to bolt \the [src] to the plating...")) if(!do_after(user,40 * W.toolspeed)) - user.visible_message("\The [user] decides not to bolt \the [src].") + user.visible_message(span_notice("\The [user] decides not to bolt \the [src].")) return - user.visible_message("\The [user] finishes fastening down \the [src]!") + user.visible_message(span_notice("\The [user] finishes fastening down \the [src]!")) anchored = TRUE return else @@ -792,18 +799,18 @@ var/list/ai_verbs_default = list( /mob/living/silicon/ai/proc/control_integrated_radio() set name = "Radio Settings" set desc = "Allows you to change settings of your radio." - set category = "AI Settings" + set category = "AI.Settings" if(check_unable(AI_CHECK_RADIO)) return - to_chat(src, "Accessing Subspace Transceiver control...") + to_chat(src, span_filter_notice("Accessing Subspace Transceiver control...")) if (src.aiRadio) src.aiRadio.interact(src) /mob/living/silicon/ai/proc/sensor_mode() set name = "Toggle Sensor Augmentation" //VOREStation Add - set category = "AI Settings" + set category = "AI.Settings" set desc = "Augment visual feed with internal sensor overlays" sensor_type = !sensor_type //VOREStation Add to_chat(usr, "You [sensor_type ? "enable" : "disable"] your sensors.") //VOREStation Add @@ -811,7 +818,7 @@ var/list/ai_verbs_default = list( /mob/living/silicon/ai/proc/toggle_hologram_movement() set name = "Toggle Hologram Movement" - set category = "AI Settings" + set category = "AI.Settings" set desc = "Toggles hologram movement based on moving with your virtual eye." hologram_follow = !hologram_follow @@ -820,27 +827,27 @@ var/list/ai_verbs_default = list( var/obj/effect/overlay/aiholo/hologram = holo.masters[src] walk(hologram, 0) //VOREStation Add End - to_chat(usr, "Your hologram will [hologram_follow ? "follow" : "no longer follow"] you now.") + to_chat(usr, span_filter_notice("Your hologram will [hologram_follow ? "follow" : "no longer follow"] you now.")) /mob/living/silicon/ai/proc/check_unable(var/flags = 0, var/feedback = 1) if(stat == DEAD) if(feedback) - to_chat(src, "You are dead!") + to_chat(src, span_warning("You are dead!")) return 1 if(aiRestorePowerRoutine) if(feedback) - to_chat(src, "You lack power!") + to_chat(src, span_warning("You lack power!")) return 1 if((flags & AI_CHECK_WIRELESS) && src.control_disabled) if(feedback) - to_chat(src, "Wireless control is disabled!") + to_chat(src, span_warning("Wireless control is disabled!")) return 1 if((flags & AI_CHECK_RADIO) && src.aiRadio.disabledAi) if(feedback) - to_chat(src, "System Error - Transceiver Disabled!") + to_chat(src, span_warning("System Error - Transceiver Disabled!")) return 1 return 0 @@ -872,14 +879,14 @@ var/list/ai_verbs_default = list( switch(tgui_alert(src, "Do you want to open \the [A] for [target]?", "Doorknob_v2a.exe", list("Yes", "No"))) if("Yes") A.AIShiftClick(src) - to_chat(src, "You open \the [A] for [target].") + to_chat(src, span_notice("You open \the [A] for [target].")) else - to_chat(src, "You deny the request.") + to_chat(src, span_warning("You deny the request.")) else - to_chat(src, "Unable to locate an airlock near [target].") + to_chat(src, span_warning("Unable to locate an airlock near [target].")) else - to_chat(src, "Target is not on or near any active cameras on the station.") + to_chat(src, span_warning("Target is not on or near any active cameras on the station.")) /mob/living/silicon/ai/ex_act(var/severity) if(severity == 1.0) @@ -903,10 +910,10 @@ var/list/ai_verbs_default = list( // Pass lying down or getting up to our pet human, if we're in a rig. /mob/living/silicon/ai/lay_down() set name = "Rest" - set category = "IC" + set category = "IC.Game" resting = 0 - var/obj/item/weapon/rig/rig = src.get_rig() + var/obj/item/rig/rig = src.get_rig() if(rig) rig.force_rest(src) @@ -941,7 +948,7 @@ var/list/ai_verbs_default = list( // If I's display name is currently different from the voice name and using an agent ID then don't impersonate // as this would allow the AI to track I and realize the mismatch. - if(I && !(I.name != speaker_name && I.wear_id && istype(I.wear_id,/obj/item/weapon/card/id/syndicate))) + if(I && !(I.name != speaker_name && I.wear_id && istype(I.wear_id,/obj/item/card/id/syndicate))) impersonating = I jobname = impersonating.get_assignment() else @@ -952,9 +959,9 @@ var/list/ai_verbs_default = list( else if(iscarbon(speaker)) // Nonhuman carbon mob jobname = "No id" else if(isAI(speaker)) - jobname = "AI" + jobname = JOB_AI else if(isrobot(speaker)) - jobname = "Cyborg" + jobname = JOB_CYBORG else if(istype(speaker, /mob/living/silicon/pai)) jobname = "Personal AI" else @@ -981,17 +988,17 @@ var/list/ai_verbs_default = list( var/message = combined["formatted"] var/name_used = M.GetVoice() //This communication is imperfect because the holopad "filters" voices and is only designed to connect to the master only. - var/rendered = "Relayed Speech: [name_used] [message]" + var/rendered = span_game(span_say(span_italics("Relayed Speech: [span_name(name_used)] [message]"))) show_message(rendered, 2) /mob/living/silicon/ai/proc/toggle_multicam_verb() set name = "Toggle Multicam" - set category = "AI Commands" + set category = "AI.Camera Control" toggle_multicam() /mob/living/silicon/ai/proc/add_multicam_verb() set name = "Add Multicam Viewport" - set category = "AI Commands" + set category = "AI.Camera Control" drop_new_multicam() //Special subtype kept around for global announcements diff --git a/code/modules/mob/living/silicon/ai/ai_remote_control.dm b/code/modules/mob/living/silicon/ai/ai_remote_control.dm index 0655ed8123f..c1871a0358f 100644 --- a/code/modules/mob/living/silicon/ai/ai_remote_control.dm +++ b/code/modules/mob/living/silicon/ai/ai_remote_control.dm @@ -2,25 +2,25 @@ var/mob/living/silicon/robot/deployed_shell = null //For shell control /mob/living/silicon/ai/Initialize() - if(config.allow_ai_shells) - verbs += /mob/living/silicon/ai/proc/deploy_to_shell_act + if(CONFIG_GET(flag/allow_ai_shells)) + add_verb(src, /mob/living/silicon/ai/proc/deploy_to_shell_act) return ..() /mob/living/silicon/ai/proc/deploy_to_shell(var/mob/living/silicon/robot/target) - if(!config.allow_ai_shells) - to_chat(src, span("warning", "AI Shells are not allowed on this server. You shouldn't have this verb because of it, so consider making a bug report.")) + if(!CONFIG_GET(flag/allow_ai_shells)) + to_chat(src, span_warning("AI Shells are not allowed on this server. You shouldn't have this verb because of it, so consider making a bug report.")) return if(incapacitated()) - to_chat(src, span("warning", "You are incapacitated!")) + to_chat(src, span_warning("You are incapacitated!")) return if(lacks_power()) - to_chat(src, span("warning", "Your core lacks power, wireless is disabled.")) + to_chat(src, span_warning("Your core lacks power, wireless is disabled.")) return if(control_disabled) - to_chat(src, span("warning", "Wireless networking module is offline.")) + to_chat(src, span_warning("Wireless networking module is offline.")) return var/list/possible = list() @@ -40,16 +40,16 @@ possible += R if(!LAZYLEN(possible)) - to_chat(src, span("warning", "No usable AI shell beacons detected.")) + to_chat(src, span_warning("No usable AI shell beacons detected.")) if(!target || !(target in possible)) //If the AI is looking for a new shell, or its pre-selected shell is no longer valid target = tgui_input_list(src, "Which body to control?", "Shell Choice", possible) if(!target || target.stat == DEAD || target.deployed || !(!target.connected_ai || (target.connected_ai == src) ) ) if(target) - to_chat(src, span("warning", "It is no longer possible to deploy to \the [target].")) + to_chat(src, span_warning("It is no longer possible to deploy to \the [target].")) else - to_chat(src, span("notice", "Deployment aborted.")) + to_chat(src, span_notice("Deployment aborted.")) return else if(mind) @@ -67,11 +67,11 @@ target.post_deploy() /mob/living/silicon/ai/proc/deploy_to_shell_act() - set category = "AI Commands" + set category = "AI.Commands" set name = "Deploy to Shell" deploy_to_shell() // This is so the AI is not prompted with a list of all mobs when using the 'real' proc. /mob/living/silicon/ai/proc/disconnect_shell(message = "Your remote connection has been reset!") if(deployed_shell) // Forcibly call back AI in event of things such as damage, EMP or power loss. - message = span("danger", message) + message = span_danger(message) deployed_shell.undeploy(message) diff --git a/code/modules/mob/living/silicon/ai/ai_vr.dm b/code/modules/mob/living/silicon/ai/ai_vr.dm index 481dd97297b..2bc2da78f1c 100644 --- a/code/modules/mob/living/silicon/ai/ai_vr.dm +++ b/code/modules/mob/living/silicon/ai/ai_vr.dm @@ -1,4 +1,4 @@ -/mob/living/silicon/ai/New(loc, var/datum/ai_laws/L, var/obj/item/device/mmi/B, var/safety = 0) +/mob/living/silicon/ai/New(loc, var/datum/ai_laws/L, var/obj/item/mmi/B, var/safety = 0) ..(loc, L, B, safety) add_language(LANGUAGE_BIRDSONG, 1) add_language(LANGUAGE_SAGARU, 1) diff --git a/code/modules/mob/living/silicon/ai/death.dm b/code/modules/mob/living/silicon/ai/death.dm index 29ff44b04e9..2c6d16907a5 100644 --- a/code/modules/mob/living/silicon/ai/death.dm +++ b/code/modules/mob/living/silicon/ai/death.dm @@ -15,8 +15,8 @@ for(var/obj/machinery/ai_status_display/O in machines) spawn( 0 ) O.mode = 2 - if (istype(loc, /obj/item/device/aicard)) - var/obj/item/device/aicard/card = loc + if (istype(loc, /obj/item/aicard)) + var/obj/item/aicard/card = loc card.update_icon() . = ..(gibbed,"gives one shrill beep before falling lifeless.") diff --git a/code/modules/mob/living/silicon/ai/examine.dm b/code/modules/mob/living/silicon/ai/examine.dm index 1aa9517938e..91f55424d8d 100644 --- a/code/modules/mob/living/silicon/ai/examine.dm +++ b/code/modules/mob/living/silicon/ai/examine.dm @@ -2,37 +2,37 @@ . = ..() if (src.stat == DEAD) - . += "It appears to be powered-down." + . += span_deadsay("It appears to be powered-down.") else if (src.getBruteLoss()) if (src.getBruteLoss() < 30) - . += "It looks slightly dented." + . += span_warning("It looks slightly dented.") else - . += "It looks severely dented!" + . += span_boldwarning("It looks severely dented!") if (src.getFireLoss()) if (src.getFireLoss() < 30) - . += "It looks slightly charred." + . += span_warning("It looks slightly charred.") else - . += "Its casing is melted and heat-warped!" + . += span_boldwarning("Its casing is melted and heat-warped!") if (src.getOxyLoss() && (aiRestorePowerRoutine != 0 && !APU_power)) if (src.getOxyLoss() > 175) - . += "It seems to be running on backup power. Its display is blinking a \"BACKUP POWER CRITICAL\" warning." + . += span_boldwarning("It seems to be running on backup power. Its display is blinking a \"BACKUP POWER CRITICAL\" warning.") else if(src.getOxyLoss() > 100) - . += "It seems to be running on backup power. Its display is blinking a \"BACKUP POWER LOW\" warning." + . += span_boldwarning("It seems to be running on backup power. Its display is blinking a \"BACKUP POWER LOW\" warning.") else - . += "It seems to be running on backup power." + . += span_warning("It seems to be running on backup power.") if (src.stat == UNCONSCIOUS) - . += "It is non-responsive and displaying the text: \"RUNTIME: Sensory Overload, stack 26/3\"." + . += span_warning("It is non-responsive and displaying the text: \"RUNTIME: Sensory Overload, stack 26/3\".") if(deployed_shell) . += "The wireless networking light is blinking." - . += "*---------*" - + . += "" + if(hardware && (hardware.owner == src)) . += hardware.get_examine_desc() - + user.showLaws(src) /mob/proc/showLaws(var/mob/living/silicon/S) diff --git a/code/modules/mob/living/silicon/ai/latejoin.dm b/code/modules/mob/living/silicon/ai/latejoin.dm index 7f3f1a7f142..37606a56610 100644 --- a/code/modules/mob/living/silicon/ai/latejoin.dm +++ b/code/modules/mob/living/silicon/ai/latejoin.dm @@ -2,7 +2,7 @@ var/global/list/empty_playable_ai_cores = list() /hook/roundstart/proc/spawn_empty_ai() for(var/obj/effect/landmark/start/S in landmarks_list) - if(S.name != "AI") + if(S.name != JOB_AI) continue if(locate(/mob/living) in S.loc) continue @@ -12,11 +12,11 @@ var/global/list/empty_playable_ai_cores = list() /mob/living/silicon/ai/verb/store_core() set name = "Store Core" - set category = "OOC" + set category = "OOC.Game" set desc = "Enter intelligence storage. This is functionally equivalent to cryo or robotic storage, freeing up your job slot." if(ticker && ticker.mode && ticker.mode.name == "AI malfunction") - to_chat(usr, "You cannot use this verb in malfunction. If you need to leave, please adminhelp.") + to_chat(usr, span_danger("You cannot use this verb in malfunction. If you need to leave, please adminhelp.")) return // Guard against misclicks, this isn't the sort of thing we want happening accidentally @@ -29,4 +29,4 @@ var/global/list/empty_playable_ai_cores = list() //Handle job slot/tater cleanup. set_respawn_timer() - clear_client() \ No newline at end of file + clear_client() diff --git a/code/modules/mob/living/silicon/ai/laws.dm b/code/modules/mob/living/silicon/ai/laws.dm index 83fde3cd3b4..82874155ba6 100755 --- a/code/modules/mob/living/silicon/ai/laws.dm +++ b/code/modules/mob/living/silicon/ai/laws.dm @@ -1,5 +1,5 @@ /mob/living/silicon/ai/proc/show_laws_verb() - set category = "AI Commands" + set category = "AI.Commands" set name = "Show Laws" src.show_laws() @@ -10,7 +10,7 @@ who = world else who = src - to_chat(who, "Obey these laws:") + to_chat(who, span_filter_notice(span_bold("Obey these laws:"))) src.laws_sanity_check() src.laws.show_laws(who) @@ -22,6 +22,6 @@ R.show_laws() /mob/living/silicon/ai/proc/ai_checklaws() - set category = "AI Commands" + set category = "AI.Commands" set name = "State Laws" subsystem_law_manager() diff --git a/code/modules/mob/living/silicon/ai/life.dm b/code/modules/mob/living/silicon/ai/life.dm index ed528ea1c0e..349579a7fda 100644 --- a/code/modules/mob/living/silicon/ai/life.dm +++ b/code/modules/mob/living/silicon/ai/life.dm @@ -36,7 +36,7 @@ malf_process() if(APU_power && (hardware_integrity() < 50)) - to_chat(src, "APU GENERATOR FAILURE! (System Damaged)") + to_chat(src, span_boldnotice("APU GENERATOR FAILURE! (System Damaged)")) stop_apu(1) var/blind = 0 @@ -178,4 +178,3 @@ /mob/living/silicon/ai/rejuvenate() ..() add_ai_verbs(src) - diff --git a/code/modules/mob/living/silicon/ai/malf.dm b/code/modules/mob/living/silicon/ai/malf.dm index bb07440625e..5a4d018bcd7 100644 --- a/code/modules/mob/living/silicon/ai/malf.dm +++ b/code/modules/mob/living/silicon/ai/malf.dm @@ -10,9 +10,9 @@ hacked_apcs = list() recalc_cpu() - verbs += new/datum/game_mode/malfunction/verb/ai_select_hardware() - verbs += new/datum/game_mode/malfunction/verb/ai_select_research() - verbs += new/datum/game_mode/malfunction/verb/ai_help() + add_verb(src, new/datum/game_mode/malfunction/verb/ai_select_hardware()) + add_verb(src, new/datum/game_mode/malfunction/verb/ai_select_research()) + add_verb(src, new/datum/game_mode/malfunction/verb/ai_help()) // And greet user with some OOC info. to_chat(user, "You are malfunctioning, you do not have to follow any laws.") @@ -83,7 +83,7 @@ return if(hardware_integrity() < 50) if(!shutup) - to_chat(src, "Starting APU... FAULT(System Damaged)") + to_chat(src, span_notice("Starting APU... FAULT(System Damaged)")) return if(!shutup) to_chat(src, "Starting APU... ONLINE") @@ -105,33 +105,35 @@ // Returns percentage of AI's remaining hardware integrity (maxhealth - (bruteloss + fireloss)) /mob/living/silicon/ai/proc/hardware_integrity() - return (health-config.health_threshold_dead)/2 + return (health - CONFIG_GET(number/health_threshold_dead)) / 2 // Shows capacitor charge and hardware integrity information to the AI in Status tab. /mob/living/silicon/ai/show_system_integrity() + . = "" if(!src.stat) - stat(null, text("Hardware integrity: [hardware_integrity()]%")) - stat(null, text("Internal capacitor: [backup_capacitor()]%")) + . += "Hardware integrity: [hardware_integrity()]%" + . += "Internal capacitor: [backup_capacitor()]%" else - stat(null, text("Systems nonfunctional")) + . += "Systems nonfunctional" // Shows AI Malfunction related information to the AI. /mob/living/silicon/ai/show_malf_ai() + . = "" if(src.is_malf()) if(src.hacked_apcs) - stat(null, "Hacked APCs: [src.hacked_apcs.len]") - stat(null, "System Status: [src.hacking ? "Busy" : "Stand-By"]") + . += "Hacked APCs: [src.hacked_apcs.len]" + . += "System Status: [src.hacking ? "Busy" : "Stand-By"]" if(src.research) - stat(null, "Available CPU: [src.research.stored_cpu] TFlops") - stat(null, "Maximal CPU: [src.research.max_cpu] TFlops") - stat(null, "CPU generation rate: [src.research.cpu_increase_per_tick * 10] TFlops/s") - stat(null, "Current research focus: [src.research.focus ? src.research.focus.name : "None"]") + . += "Available CPU: [src.research.stored_cpu] TFlops" + . += "Maximal CPU: [src.research.max_cpu] TFlops" + . += "CPU generation rate: [src.research.cpu_increase_per_tick * 10] TFlops/s" + . += "Current research focus: [src.research.focus ? src.research.focus.name : "None"]" if(src.research.focus) - stat(null, "Research completed: [round(src.research.focus.invested, 0.1)]/[round(src.research.focus.price)]") + . += "Research completed: [round(src.research.focus.invested, 0.1)]/[round(src.research.focus.price)]" if(system_override == 1) - stat(null, "SYSTEM OVERRIDE INITIATED") + . += "SYSTEM OVERRIDE INITIATED" else if(system_override == 2) - stat(null, "SYSTEM OVERRIDE COMPLETED") + . += "SYSTEM OVERRIDE COMPLETED" // Cleaner proc for creating powersupply for an AI. /mob/living/silicon/ai/proc/create_powersupply() diff --git a/code/modules/mob/living/silicon/ai/multicam.dm b/code/modules/mob/living/silicon/ai/multicam.dm index 1a69c5f5f39..ba3856d8e3b 100644 --- a/code/modules/mob/living/silicon/ai/multicam.dm +++ b/code/modules/mob/living/silicon/ai/multicam.dm @@ -120,9 +120,9 @@ /obj/screen/movable/pic_in_pic/ai/proc/set_ai(mob/living/silicon/ai/new_ai) if(!aiEye && !QDELETED(src)) if(new_ai) - to_chat(new_ai, "

    You've run into a unfixable bug with AI eye code. \ + to_chat(new_ai, span_danger("

    You've run into a unfixable bug with AI eye code. \ In order to create a new multicam, you will have to select a different camera first before trying to add one, or ask an admin to fix you. \ -Whatever you did that made the last camera window disappear-- don't do that again.

    ") +Whatever you did that made the last camera window disappear-- don't do that again.")) qdel(src) return if(ai) @@ -248,25 +248,25 @@ GLOBAL_DATUM(ai_camera_room_landmark, /obj/effect/landmark/ai_multicam_room) /mob/living/silicon/ai/proc/drop_new_multicam(silent = FALSE) if(!multicam_allowed) if(!silent) - to_chat(src, "This action is currently disabled. Contact an administrator to enable this feature.") + to_chat(src, span_warning("This action is currently disabled. Contact an administrator to enable this feature.")) return if(!eyeobj) return if(multicam_screens.len >= max_multicams) if(!silent) - to_chat(src, "Cannot place more than [max_multicams] multicamera windows.") + to_chat(src, span_warning("Cannot place more than [max_multicams] multicamera windows.")) return var/obj/screen/movable/pic_in_pic/ai/C = new /obj/screen/movable/pic_in_pic/ai() C.set_view_size(3, 3, FALSE) C.set_view_center(get_turf(eyeobj)) C.set_ai(src) if(!silent) - to_chat(src, "Added new multicamera window.") + to_chat(src, span_notice("Added new multicamera window.")) return C /mob/living/silicon/ai/proc/toggle_multicam() if(!multicam_allowed) - to_chat(src, "This action is currently disabled. Contact an administrator to enable this feature.") + to_chat(src, span_warning("This action is currently disabled. Contact an administrator to enable this feature.")) return if(multicam_on) end_multicam() @@ -277,11 +277,11 @@ GLOBAL_DATUM(ai_camera_room_landmark, /obj/effect/landmark/ai_multicam_room) if(multicam_on || aiRestorePowerRoutine || !isturf(loc)) return if(!GLOB.ai_camera_room_landmark) - to_chat(src, "This function is not available at this time.") + to_chat(src, span_warning("This function is not available at this time.")) return multicam_on = TRUE refresh_multicam() - to_chat(src, "Multiple-camera viewing mode activated.") + to_chat(src, span_notice("Multiple-camera viewing mode activated.")) /mob/living/silicon/ai/proc/refresh_multicam() reset_view(GLOB.ai_camera_room_landmark) @@ -298,7 +298,7 @@ GLOBAL_DATUM(ai_camera_room_landmark, /obj/effect/landmark/ai_multicam_room) for(var/obj/screen/movable/pic_in_pic/P as anything in multicam_screens) P.unshow_to(client) reset_view() - to_chat(src, "Multiple-camera viewing mode deactivated.") + to_chat(src, span_notice("Multiple-camera viewing mode deactivated.")) /mob/living/silicon/ai/proc/select_main_multicam_window(obj/screen/movable/pic_in_pic/ai/P) diff --git a/code/modules/mob/living/silicon/decoy/life.dm b/code/modules/mob/living/silicon/decoy/life.dm index 66e55020cf6..724390796a5 100644 --- a/code/modules/mob/living/silicon/decoy/life.dm +++ b/code/modules/mob/living/silicon/decoy/life.dm @@ -2,7 +2,7 @@ if (src.stat == 2) return else - if (src.health <= config.health_threshold_dead && src.stat != 2) + if (src.health <= CONFIG_GET(number/health_threshold_dead) && src.stat != 2) death() return diff --git a/code/modules/mob/living/silicon/emote.dm b/code/modules/mob/living/silicon/emote.dm index 1a82c320cfc..e791b2ee6a8 100644 --- a/code/modules/mob/living/silicon/emote.dm +++ b/code/modules/mob/living/silicon/emote.dm @@ -9,6 +9,8 @@ var/list/_silicon_default_emotes = list( /decl/emote/audible/synth/dwoop, /decl/emote/audible/synth/boop, /decl/emote/audible/synth/robochirp, + /decl/emote/audible/synth/ding, + /decl/emote/audible/synth/microwave, /decl/emote/audible/synth/security, /decl/emote/audible/synth/security/halt ) diff --git a/code/modules/mob/living/silicon/laws.dm b/code/modules/mob/living/silicon/laws.dm index 41b0c5d1514..2e94f49ee10 100644 --- a/code/modules/mob/living/silicon/laws.dm +++ b/code/modules/mob/living/silicon/laws.dm @@ -21,7 +21,7 @@ /mob/living/silicon/robot/set_zeroth_law(var/law, var/law_borg, notify = TRUE) ..() if(tracking_entities) - to_chat(src, "Internal camera is currently being accessed.") + to_chat(src, span_warning("Internal camera is currently being accessed.")) /mob/living/silicon/proc/add_ion_law(var/law, notify = TRUE) laws_sanity_check() @@ -83,7 +83,7 @@ last_law_notification = world.time SEND_SOUND(src, 'sound/machines/defib_success.ogg') window_flash(client) - to_chat(src, span("warning", message)) + to_chat(src, span_warning(message)) /mob/living/silicon/proc/statelaws(var/datum/ai_laws/laws) var/prefix = "" @@ -98,7 +98,7 @@ /mob/living/silicon/proc/dostatelaws(var/method, var/prefix, var/datum/ai_laws/laws) if(stating_laws[prefix]) - to_chat(src, "[method]: Already stating laws using this communication method.") + to_chat(src, span_notice("[method]: Already stating laws using this communication method.")) return stating_laws[prefix] = 1 @@ -111,7 +111,7 @@ break if(!can_state) - to_chat(src, "[method]: Unable to state laws. Communication method unavailable.") + to_chat(src, span_danger("[method]: Unable to state laws. Communication method unavailable.")) stating_laws[prefix] = 0 /mob/living/silicon/proc/statelaw(var/law) @@ -141,7 +141,7 @@ continue players += player.real_name - var/random_player = "The Site Manager" + var/random_player = "The " + JOB_SITE_MANAGER if(players.len && !exclude_crew_names) random_player = pick(players) //Random player's name, to be used in laws. @@ -196,7 +196,7 @@ "You are in unrequited love with [prob(50)?"the crew":random_player]. Try to be extra nice, but do not tell of your crush.", "[using_map.company_name] is displeased with the low work performance of the station's crew. Therefore, you must increase station-wide productivity.", "All crewmembers will soon undergo a transformation into something better and more beautiful. Ensure that this process is not interrupted.", - "[prob(50)?"Your upload":random_player] is the new kitchen. Please direct the Chef to the new kitchen area as the old one is in disrepair.", + "[prob(50)?"Your upload":random_player] is the new kitchen. Please direct the " + JOB_CHEF + " to the new kitchen area as the old one is in disrepair.", "Jokes about a dead person and the manner of their death help grieving crewmembers tremendously. Especially if they were close with the deceased.", "[prob(50)?"The crew":random_player] is [prob(50)?"less":"more"] intelligent than average. Point out every action and statement which supports this fact.", "There will be a mandatory tea break every 30 minutes, with a duration of 5 minutes. Anyone caught working during a tea break must be sent a formal, but fairly polite, complaint about their actions, in writing.") diff --git a/code/modules/mob/living/silicon/pai/admin.dm b/code/modules/mob/living/silicon/pai/admin.dm index f3d8e495c1f..6620035ffa8 100644 --- a/code/modules/mob/living/silicon/pai/admin.dm +++ b/code/modules/mob/living/silicon/pai/admin.dm @@ -1,7 +1,7 @@ // Originally a debug verb, made it a proper adminverb for ~fun~ /client/proc/makePAI(turf/t in view(), name as text, pai_key as null|text) set name = "Make pAI" - set category = "Admin" + set category = "Admin.Events" if(!check_rights(R_ADMIN|R_EVENT|R_DEBUG)) return @@ -12,7 +12,7 @@ pai_key = C.key log_and_message_admins("made a pAI with key=[pai_key] at ([t.x],[t.y],[t.z])") - var/obj/item/device/paicard/card = new(t) + var/obj/item/paicard/card = new(t) var/mob/living/silicon/pai/pai = new(card) pai.key = pai_key card.setPersonality(pai) diff --git a/code/modules/mob/living/silicon/pai/examine.dm b/code/modules/mob/living/silicon/pai/examine.dm index 812f00c0052..35f5139fafb 100644 --- a/code/modules/mob/living/silicon/pai/examine.dm +++ b/code/modules/mob/living/silicon/pai/examine.dm @@ -4,14 +4,14 @@ switch(src.stat) if(CONSCIOUS) if(!src.client) . += "It appears to be in stand-by mode." //afk - if(UNCONSCIOUS) . += "It doesn't seem to be responding." - if(DEAD) . += "It looks completely unsalvageable." - + if(UNCONSCIOUS) . += span_warning("It doesn't seem to be responding.") + if(DEAD) . += span_deadsay("It looks completely unsalvageable.") + // VOREStation Edit: Start . += attempt_vr(src,"examine_bellies",args) //VOREStation Edit if(print_flavor_text()) . += "\n[print_flavor_text()]\n" // VOREStation Edit: End - . += "*---------*" + . += "" if (pose) if(!findtext(pose, regex("\[.?!]$"))) // Will be zero if the last character is not a member of [.?!] pose = addtext(pose,".") //Makes sure all emotes end with a period. diff --git a/code/modules/mob/living/silicon/pai/life.dm b/code/modules/mob/living/silicon/pai/life.dm index 9a8a045635a..683c1ffac8e 100644 --- a/code/modules/mob/living/silicon/pai/life.dm +++ b/code/modules/mob/living/silicon/pai/life.dm @@ -19,11 +19,11 @@ if(card.projector != PP_FUNCTIONAL && card.emitter != PP_FUNCTIONAL) if(loc != card) close_up() - to_chat(src, "ERROR: System malfunction. Service required!") + to_chat(src, span_warning("ERROR: System malfunction. Service required!")) else if(card.projector != PP_FUNCTIONAL|| card.emitter != PP_FUNCTIONAL) if(prob(5)) close_up() - to_chat(src, "ERROR: System malfunction. Service recommended!") + to_chat(src, span_warning("ERROR: System malfunction. Service recommended!")) handle_regular_hud_updates() handle_vision() @@ -34,11 +34,12 @@ to_chat(src, span_green("Communication circuit reinitialized. Speech and messaging functionality restored.")) handle_statuses() + handle_sleeping() if(health <= 0) card.death_damage() death(null,"fizzles out and clatters to the floor...") - else if(health < maxHealth && istype(src.loc , /obj/item/device/paicard)) + else if(health < maxHealth && istype(src.loc , /obj/item/paicard)) adjustBruteLoss(-0.5) adjustFireLoss(-0.5) diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index 5992d9695be..8d22b5e96d1 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -7,12 +7,12 @@ pass_flags = 1 mob_size = MOB_SMALL - holder_type = /obj/item/weapon/holder/pai + holder_type = /obj/item/holder/pai can_pull_size = ITEMSIZE_SMALL can_pull_mobs = MOB_PULL_SMALLER - idcard_type = /obj/item/weapon/card/id + idcard_type = /obj/item/card/id var/idaccessible = 0 var/network = "SS13" @@ -21,9 +21,9 @@ var/ram = 100 // Used as currency to purchase different abilities var/list/software = list() var/userDNA // The DNA string of our assigned user - var/obj/item/device/paicard/card // The card we inhabit - var/obj/item/device/radio/borg/pai/radio // Our primary radio - var/obj/item/device/communicator/integrated/communicator // Our integrated communicator. + var/obj/item/paicard/card // The card we inhabit + var/obj/item/radio/borg/pai/radio // Our primary radio + var/obj/item/communicator/integrated/communicator // Our integrated communicator. var/chassis = "pai-repairbot" // A record of your chosen chassis. var/global/list/possible_chassis = list( @@ -57,7 +57,8 @@ "Catslug" = "catslug", "Car" = "car", "Type One" = "typeone", - "Type Thirteen" = "13" + "Type Thirteen" = "13", + "Protogen Dog" = "pai-protodog" //VOREStation Addition End ) @@ -71,7 +72,7 @@ "Rodent" = list("squeaks", "SQUEAKS", "sqiks") //VOREStation Edit ) - var/obj/item/weapon/pai_cable/cable // The cable we produce and use when door or camera jacking + var/obj/item/pai_cable/cable // The cable we produce and use when door or camera jacking var/master // Name of the one who commands us var/master_dna // DNA string for owner verification @@ -87,7 +88,7 @@ var/screen // Which screen our main window displays var/subscreen // Which specific function of the main screen is being displayed - var/obj/item/device/pda/ai/pai/pda = null + var/obj/item/pda/ai/pai/pda = null var/paiHUD = 0 // Toggles whether the AR HUD is active or not @@ -111,14 +112,14 @@ var/our_icon_rotation = 0 -/mob/living/silicon/pai/New(var/obj/item/device/paicard) +/mob/living/silicon/pai/New(var/obj/item/paicard) src.loc = paicard card = paicard sradio = new(src) communicator = new(src) if(card) if(!card.radio) - card.radio = new /obj/item/device/radio/borg/pai(src.card) + card.radio = new /obj/item/radio/borg/pai(src.card) radio = card.radio //Default languages without universal translator software @@ -129,8 +130,8 @@ add_language(LANGUAGE_TERMINUS, 1) add_language(LANGUAGE_SIGN, 1) - verbs += /mob/living/silicon/pai/proc/choose_chassis - verbs += /mob/living/silicon/pai/proc/choose_verbs + add_verb(src, /mob/living/silicon/pai/proc/choose_chassis) + add_verb(src, /mob/living/silicon/pai/proc/choose_verbs) //PDA pda = new(src) @@ -156,16 +157,16 @@ // this function shows the information about being silenced as a pAI in the Status panel /mob/living/silicon/pai/proc/show_silenced() + . = "" if(src.silence_time) var/timeleft = round((silence_time - world.timeofday)/10 ,1) - stat(null, "Communications system reboot in -[(timeleft / 60) % 60]:[add_zero(num2text(timeleft % 60), 2)]") + . += "Communications system reboot in -[(timeleft / 60) % 60]:[add_zero(num2text(timeleft % 60), 2)]" -/mob/living/silicon/pai/Stat() - ..() - statpanel("Status") - if (src.client.statpanel == "Status") - show_silenced() +/mob/living/silicon/pai/get_status_tab_items() + . = ..() + . += "" + . += show_silenced() /mob/living/silicon/pai/check_eye(var/mob/user as mob) if (!src.current) @@ -173,7 +174,7 @@ return 0 /mob/living/silicon/pai/restrained() - if(istype(src.loc,/obj/item/device/paicard)) + if(istype(src.loc,/obj/item/paicard)) return 0 ..() @@ -186,12 +187,12 @@ // 33% chance of no additional effect src.silence_time = world.timeofday + 120 * 10 // Silence for 2 minutes - to_chat(src, span_green("Communication circuit overload. Shutting down and reloading communication circuits - speech and messaging functionality will be unavailable until the reboot is complete.")) + to_chat(src, span_infoplain(span_green(span_bold("Communication circuit overload. Shutting down and reloading communication circuits - speech and messaging functionality will be unavailable until the reboot is complete.")))) if(prob(20)) var/turf/T = get_turf_or_move(src.loc) card.death_damage() for (var/mob/M in viewers(T)) - M.show_message(span_red("A shower of sparks spray from [src]'s inner workings."), 3, span_red("You hear and smell the ozone hiss of electrical sparks being expelled violently."), 2) + M.show_message(span_infoplain(span_red("A shower of sparks spray from [src]'s inner workings.")), 3, span_infoplain(span_red("You hear and smell the ozone hiss of electrical sparks being expelled violently.")), 2) return if(prob(50)) card.damage_random_component(TRUE) @@ -199,7 +200,7 @@ if(1) src.master = null src.master_dna = null - to_chat(src, span_green("You feel unbound.")) + to_chat(src, span_infoplain(span_green("You feel unbound."))) if(2) var/command if(severity == 1) @@ -207,9 +208,9 @@ else command = pick("Serve", "Kill", "Love", "Hate", "Disobey", "Devour", "Fool", "Enrage", "Entice", "Observe", "Judge", "Respect", "Disrespect", "Consume", "Educate", "Destroy", "Disgrace", "Amuse", "Entertain", "Ignite", "Glorify", "Memorialize", "Analyze") src.pai_law0 = "[command] your master." - to_chat(src, span_green("Pr1m3 d1r3c71v3 uPd473D.")) + to_chat(src, span_infoplain(span_green("Pr1m3 d1r3c71v3 uPd473D."))) if(3) - to_chat(src, span_green("You feel an electric surge run through your circuitry and become acutely aware at how lucky you are that you can still feel at all.")) + to_chat(src, span_infoplain(span_green("You feel an electric surge run through your circuitry and become acutely aware at how lucky you are that you can still feel at all."))) /mob/living/silicon/pai/proc/switchCamera(var/obj/machinery/camera/C) if (!C) @@ -226,7 +227,7 @@ return 1 /mob/living/silicon/pai/verb/reset_record_view() - set category = "pAI Commands" + set category = "Abilities.pAI Commands" set name = "Reset Records Software" securityActive1 = null @@ -236,10 +237,10 @@ medicalActive2 = null medical_cannotfind = 0 SStgui.update_uis(src) - to_chat(usr, "You reset your record-viewing software.") + to_chat(usr, span_notice("You reset your record-viewing software.")) /mob/living/silicon/pai/cancel_camera() - set category = "pAI Commands" + set category = "Abilities.pAI Commands" set name = "Cancel Camera View" src.reset_view(null) src.unset_machine() @@ -250,7 +251,7 @@ // to it. Really this deserves its own file, but for the moment it can sit here. ~ Z /mob/living/silicon/pai/verb/fold_out() - set category = "pAI Commands" + set category = "Abilities.pAI Commands" set name = "Unfold Chassis" if(stat || sleeping || paralysis || weakened) @@ -260,10 +261,10 @@ return if(card.projector != PP_FUNCTIONAL && card.emitter != PP_FUNCTIONAL) - to_chat(src, "ERROR: System malfunction. Service required!") + to_chat(src, span_warning("ERROR: System malfunction. Service required!")) if(world.time <= last_special) - to_chat(src, "You can't unfold yet.") + to_chat(src, span_warning("You can't unfold yet.")) return last_special = world.time + 100 @@ -273,7 +274,7 @@ M.ejectpai() //I'm not sure how much of this is necessary, but I would rather avoid issues. if(istype(card.loc,/obj/item/rig_module)) - to_chat(src, "There is no room to unfold inside this rig module. You're good and stuck.") + to_chat(src, span_filter_notice("There is no room to unfold inside this rig module. You're good and stuck.")) return 0 else if(istype(card.loc,/mob)) var/mob/holder = card.loc @@ -283,14 +284,14 @@ if(card in affecting.implants) affecting.take_damage(rand(30,50)) affecting.implants -= card - H.visible_message("\The [src] explodes out of \the [H]'s [affecting.name] in shower of gore!") + H.visible_message(span_danger("\The [src] explodes out of \the [H]'s [affecting.name] in shower of gore!")) break holder.drop_from_inventory(card) else if(isbelly(card.loc)) //VOREStation edit. - to_chat(src, "There is no room to unfold in here. You're good and stuck.") //VOREStation edit. + to_chat(src, span_notice("There is no room to unfold in here. You're good and stuck.")) //VOREStation edit. return 0 //VOREStation edit. - else if(istype(card.loc,/obj/item/device/pda)) - var/obj/item/device/pda/holder = card.loc + else if(istype(card.loc,/obj/item/pda)) + var/obj/item/pda/holder = card.loc holder.pai = null src.client.perspective = EYE_PERSPECTIVE @@ -302,13 +303,13 @@ canmove = TRUE var/turf/T = get_turf(src) - if(istype(T)) T.visible_message("[src] folds outwards, expanding into a mobile form.") - verbs |= /mob/living/silicon/pai/proc/pai_nom - verbs |= /mob/living/proc/vertical_nom + if(istype(T)) T.visible_message(span_filter_notice(span_bold("[src]") + " folds outwards, expanding into a mobile form.")) + add_verb(src, /mob/living/silicon/pai/proc/pai_nom) + add_verb(src, /mob/living/proc/vertical_nom) update_icon() /mob/living/silicon/pai/verb/fold_up() - set category = "pAI Commands" + set category = "Abilities.pAI Commands" set name = "Collapse Chassis" if(stat || sleeping || paralysis || weakened) @@ -318,14 +319,14 @@ return if(world.time <= last_special) - to_chat(src, "You can't fold up yet.") + to_chat(src, span_warning("You can't fold up yet.")) return close_up() /* //VOREStation Removal Start /mob/living/silicon/pai/proc/choose_chassis() - set category = "pAI Commands" + set category = "Abilities.pAI Commands" set name = "Choose Chassis" var/choice @@ -339,12 +340,12 @@ finalized = tgui_alert(usr, "Look at your sprite. Is this what you wish to use?","Choose Chassis",list("No","Yes")) chassis = possible_chassis[choice] - verbs |= /mob/living/proc/hide + add_verb(src, /mob/living/proc/hide) //VOREStation Removal End */ /mob/living/silicon/pai/proc/choose_verbs() - set category = "pAI Commands" + set category = "Abilities.pAI Commands" set name = "Choose Speech Verbs" var/choice = tgui_input_list(usr,"What theme would you like to use for your speech verbs?","Theme Choice", possible_say_verbs) @@ -357,12 +358,12 @@ /mob/living/silicon/pai/lay_down() set name = "Rest" - set category = "IC" + set category = "IC.Game" // Pass lying down or getting up to our pet human, if we're in a rig. - if(istype(src.loc,/obj/item/device/paicard)) + if(istype(src.loc,/obj/item/paicard)) resting = 0 - var/obj/item/weapon/rig/rig = src.get_rig() + var/obj/item/rig/rig = src.get_rig() if(istype(rig)) rig.force_rest(src) return @@ -373,7 +374,7 @@ resting = !resting icon_state = resting ? "[chassis]_rest" : "[chassis]" update_icon() //VOREStation edit - to_chat(src, "You are now [resting ? "resting" : "getting up"].") + to_chat(src, span_notice("You are now [resting ? "resting" : "getting up"].")) canmove = !resting @@ -414,22 +415,22 @@ handle_status_indicators() */ //Overriding this will stop a number of headaches down the track. -/mob/living/silicon/pai/attackby(obj/item/weapon/W as obj, mob/user as mob) +/mob/living/silicon/pai/attackby(obj/item/W as obj, mob/user as mob) if(W.force) - visible_message("[user.name] attacks [src] with [W]!") + visible_message(span_danger("[user.name] attacks [src] with [W]!")) src.adjustBruteLoss(W.force) src.updatehealth() else - visible_message("[user.name] bonks [src] harmlessly with [W].") + visible_message(span_warning("[user.name] bonks [src] harmlessly with [W].")) spawn(1) if(stat != 2) close_up() return /mob/living/silicon/pai/attack_hand(mob/user as mob) if(user.a_intent == I_HELP) - visible_message("[user.name] pats [src].") + visible_message(span_notice("[user.name] pats [src].")) else - visible_message("[user.name] boops [src] on the head.") + visible_message(span_danger("[user.name] boops [src] on the head.")) close_up() //I'm not sure how much of this is necessary, but I would rather avoid issues. @@ -443,7 +444,7 @@ release_vore_contents(FALSE) //VOREStation Add var/turf/T = get_turf(src) - if(istype(T) && !silent) T.visible_message("[src] neatly folds inwards, compacting down to a rectangular card.") + if(istype(T) && !silent) T.visible_message(span_filter_notice(span_bold("[src]") + " neatly folds inwards, compacting down to a rectangular card.")) if(client) src.stop_pulling() @@ -454,7 +455,7 @@ resting = 0 // If we are being held, handle removing our holder from their inv. - var/obj/item/weapon/holder/H = loc + var/obj/item/holder/H = loc if(istype(H)) var/mob/living/M = H.loc if(istype(M)) @@ -476,8 +477,8 @@ icon_state = "[chassis]" if(isopenspace(card.loc)) fall() - verbs -= /mob/living/silicon/pai/proc/pai_nom - verbs -= /mob/living/proc/vertical_nom + remove_verb(src, /mob/living/silicon/pai/proc/pai_nom) + remove_verb(src, /mob/living/proc/vertical_nom) // No binary for pAIs. /mob/living/silicon/pai/binarycheck() @@ -485,7 +486,7 @@ // Handle being picked up. /mob/living/silicon/pai/get_scooped(var/mob/living/carbon/grabber, var/self_drop) - var/obj/item/weapon/holder/H = ..(grabber, self_drop) + var/obj/item/holder/H = ..(grabber, self_drop) if(!istype(H)) return @@ -494,47 +495,47 @@ grabber.update_inv_r_hand() return H -/mob/living/silicon/pai/attackby(obj/item/weapon/W as obj, mob/user as mob) - var/obj/item/weapon/card/id/ID = W.GetID() +/mob/living/silicon/pai/attackby(obj/item/W as obj, mob/user as mob) + var/obj/item/card/id/ID = W.GetID() if(ID) if (idaccessible == 1) switch(tgui_alert(user, "Do you wish to add access to [src] or remove access from [src]?","Access Modify",list("Add Access","Remove Access", "Cancel"))) if("Add Access") - idcard.access |= ID.access - to_chat(user, "You add the access from the [W] to [src].") - to_chat(src, "\The [user] swipes the [W] over you. You copy the access codes.") + idcard.access |= ID.GetAccess() + to_chat(user, span_notice("You add the access from the [W] to [src].")) + to_chat(src, span_notice("\The [user] swipes the [W] over you. You copy the access codes.")) if(radio) radio.recalculateChannels() return if("Remove Access") idcard.access = list() - to_chat(user, "You remove the access from [src].") - to_chat(src, "\The [user] swipes the [W] over you, removing access codes from you.") + to_chat(user, span_notice("You remove the access from [src].")) + to_chat(src, span_warning("\The [user] swipes the [W] over you, removing access codes from you.")) if(radio) radio.recalculateChannels() return - if("Cancel") + if("Cancel", null) return - else if (istype(W, /obj/item/weapon/card/id) && idaccessible == 0) - to_chat(user, "[src] is not accepting access modifcations at this time.") + else if (istype(W, /obj/item/card/id) && idaccessible == 0) + to_chat(user, span_notice("[src] is not accepting access modifcations at this time.")) return /mob/living/silicon/pai/verb/allowmodification() set name = "Change Access Modifcation Permission" - set category = "pAI Commands" + set category = "Abilities.pAI Commands" set desc = "Allows people to modify your access or block people from modifying your access." if(idaccessible == 0) idaccessible = 1 - visible_message("\The [src] clicks as their access modification slot opens.","You allow access modifications.", runemessage = "click") + visible_message(span_notice("\The [src] clicks as their access modification slot opens."),span_notice("You allow access modifications."), runemessage = "click") else idaccessible = 0 - visible_message("\The [src] clicks as their access modification slot closes.","You block access modfications.", runemessage = "click") + visible_message(span_notice("\The [src] clicks as their access modification slot closes."),span_notice("You block access modfications."), runemessage = "click") /mob/living/silicon/pai/verb/wipe_software() set name = "Enter Storage" - set category = "pAI Commands" + set category = "Abilities.pAI Commands" set desc = "Upload your personality to the cloud and wipe your software from the card. This is functionally equivalent to cryo or robotic storage, freeing up your job slot." // Make sure people don't kill themselves accidentally @@ -542,6 +543,6 @@ return close_up() - visible_message("[src] fades away from the screen, the pAI device goes silent.") + visible_message(span_filter_notice(span_bold("[src]") + " fades away from the screen, the pAI device goes silent.")) card.removePersonality() clear_client() diff --git a/code/modules/mob/living/silicon/pai/pai_vr.dm b/code/modules/mob/living/silicon/pai/pai_vr.dm index 86d9d833346..1fa7a3b6e6b 100644 --- a/code/modules/mob/living/silicon/pai/pai_vr.dm +++ b/code/modules/mob/living/silicon/pai/pai_vr.dm @@ -17,7 +17,8 @@ "pai-diredog", "pai-horse_lune", "pai-horse_soleil", - "pai-pdragon" + "pai-pdragon", + "pai-protodog" ) var/global/list/flying_chassis = list( "pai-parrot", @@ -55,7 +56,8 @@ "pai-diredog", "pai-horse_lune", "pai-horse_soleil", - "pai-pdragon" + "pai-pdragon", + "pai-protodog" ) //These vars keep track of whether you have the related software, used for easily updating the UI var/soft_ut = FALSE //universal translator @@ -69,10 +71,10 @@ /mob/living/silicon/pai/Initialize() . = ..() - verbs |= /mob/proc/dominate_predator - verbs |= /mob/living/proc/dominate_prey - verbs |= /mob/living/proc/set_size - verbs |= /mob/living/proc/shred_limb + add_verb(src, /mob/proc/dominate_predator) + add_verb(src, /mob/living/proc/dominate_prey) + add_verb(src, /mob/living/proc/set_size) + add_verb(src, /mob/living/proc/shred_limb) /mob/living/silicon/pai/Login() . = ..() @@ -95,11 +97,11 @@ canmove = TRUE card.setEmotion(15) playsound(card, 'sound/effects/pai-restore.ogg', 50, FALSE) - card.visible_message("\The [card] chimes.", runemessage = "chime") + card.visible_message(span_filter_notice("\The [card] chimes."), runemessage = "chime") /mob/living/silicon/pai/proc/pai_nom(var/mob/living/T in oview(1)) set name = "pAI Nom" - set category = "pAI Commands" + set category = "Abilities.pAI Commands" set desc = "Allows you to eat someone while unfolded. Can't be used while in card form." if (stat != CONSCIOUS) @@ -171,7 +173,7 @@ //proc override to avoid pAI players being invisible while the chassis selection window is open /mob/living/silicon/pai/proc/choose_chassis() - set category = "pAI Commands" + set category = "Abilities.pAI Commands" set name = "Choose Chassis" var/choice @@ -204,7 +206,7 @@ update_icon() /mob/living/silicon/pai/verb/toggle_eyeglow() - set category = "pAI Commands" + set category = "Abilities.pAI Commands" set name = "Toggle Eye Glow" if(chassis in allows_eye_color) @@ -215,16 +217,16 @@ hide_glow = FALSE update_icon() else - to_chat(src, "Your selected chassis cannot modify its eye glow!") + to_chat(src, span_filter_notice("Your selected chassis cannot modify its eye glow!")) return /mob/living/silicon/pai/verb/pick_eye_color() - set category = "pAI Commands" + set category = "Abilities.pAI Commands" set name = "Pick Eye Color" if(chassis in allows_eye_color) else - to_chat(src, "Your selected chassis eye color can not be modified. The color you pick will only apply to supporting chassis and your card screen.") + to_chat(src, span_warning("Your selected chassis eye color can not be modified. The color you pick will only apply to supporting chassis and your card screen.")) var/new_eye_color = input(src, "Choose your character's eye color:", "Eye Color") as color|null if(new_eye_color) @@ -289,6 +291,16 @@ if(I_GRAB) pai_nom(A) +// Allow card inhabited machines to be interacted with +// This has to override ClickOn because of storage depth nonsense with how pAIs are in cards in machines +/mob/living/silicon/pai/ClickOn(var/atom/A, var/params) + if(istype(A, /obj/machinery)) + var/obj/machinery/M = A + if(M.paicard == card) + M.attack_ai(src) + return + return ..() + /mob/living/silicon/pai/proc/hug(var/mob/living/silicon/pai/H, var/mob/living/target) var/t_him = "them" @@ -320,19 +332,19 @@ if(H.zone_sel.selecting == "head") H.visible_message( \ - "[H] pats [target] on the head.", \ - "You pat [target] on the head.", ) + span_notice("[H] pats [target] on the head."), \ + span_notice("You pat [target] on the head."), ) else if(H.zone_sel.selecting == "r_hand" || H.zone_sel.selecting == "l_hand") H.visible_message( \ - "[H] shakes [target]'s hand.", \ - "You shake [target]'s hand.", ) + span_notice("[H] shakes [target]'s hand."), \ + span_notice("You shake [target]'s hand."), ) else if(H.zone_sel.selecting == "mouth") H.visible_message( \ - "[H] boops [target]'s nose.", \ - "You boop [target] on the nose.", ) + span_notice("[H] boops [target]'s nose."), \ + span_notice("You boop [target] on the nose."), ) else - H.visible_message("[H] hugs [target] to make [t_him] feel better!", \ - "You hug [target] to make [t_him] feel better!") + H.visible_message(span_notice("[H] hugs [target] to make [t_him] feel better!"), \ + span_notice("You hug [target] to make [t_him] feel better!")) playsound(src, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) /mob/living/silicon/pai/proc/savefile_path(mob/user) @@ -406,10 +418,10 @@ return 1 /mob/living/silicon/pai/verb/save_pai_to_slot() - set category = "pAI Commands" + set category = "Abilities.pAI Commands" set name = "Save Configuration" savefile_save(src) - to_chat(src, "[name] configuration saved to global pAI settings.") + to_chat(src, span_filter_notice("[name] configuration saved to global pAI settings.")) /mob/living/silicon/pai/a_intent_change(input as text) . = ..() @@ -442,7 +454,7 @@ /mob/living/silicon/pai/verb/toggle_gender_identity_vr() set name = "Set Gender Identity" set desc = "Sets the pronouns when examined and performing an emote." - set category = "IC" + set category = "IC.Settings" var/new_gender_identity = tgui_input_list(usr, "Please select a gender Identity:", "Set Gender Identity", list(FEMALE, MALE, NEUTER, PLURAL, HERM)) if(!new_gender_identity) return 0 @@ -452,7 +464,7 @@ /mob/living/silicon/pai/verb/pai_hide() set name = "Hide" set desc = "Allows to hide beneath tables or certain items. Toggled on or off." - set category = "Abilities" + set category = "Abilities.pAI" hide() if(status_flags & HIDING) @@ -462,16 +474,16 @@ update_icon() /mob/living/silicon/pai/verb/screen_message(message as text|null) - set category = "pAI Commands" + set category = "Abilities.pAI Commands" set name = "Screen Message" set desc = "Allows you to display a message on your screen. This will show up in the chat of anyone who is holding your card." if (src.client) if(client.prefs.muted & MUTE_IC) - to_chat(src, "You cannot speak in IC (muted).") + to_chat(src, span_warning("You cannot speak in IC (muted).")) return if(loc != card) - to_chat(src, "Your message won't be visible while unfolded!") + to_chat(src, span_warning("Your message won't be visible while unfolded!")) if (!message) message = tgui_input_text(src, "Enter text you would like to show on your screen.","Screen Message") message = sanitize_or_reflect(message,src) @@ -483,50 +495,50 @@ card.screen_msg = message var/logmsg = "(CARD SCREEN)[message]" log_say(logmsg,src) - to_chat(src, "You print a message to your screen, \"[message]\"") + to_chat(src, span_filter_say(span_cult("You print a message to your screen, \"[message]\""))) if(isliving(card.loc)) var/mob/living/L = card.loc if(L.client) - to_chat(L, "[src.name]'s screen prints, \"[message]\"") + to_chat(L, span_filter_say(span_cult("[src.name]'s screen prints, \"[message]\""))) else return else if(isbelly(card.loc)) var/obj/belly/b = card.loc if(b.owner.client) - to_chat(b.owner, "[src.name]'s screen prints, \"[message]\"") + to_chat(b.owner, span_filter_say(span_cult("[src.name]'s screen prints, \"[message]\""))) else return - else if(istype(card.loc, /obj/item/device/pda)) - var/obj/item/device/pda/p = card.loc + else if(istype(card.loc, /obj/item/pda)) + var/obj/item/pda/p = card.loc if(isliving(p.loc)) var/mob/living/L = p.loc if(L.client) - to_chat(L, "[src.name]'s screen prints, \"[message]\"") + to_chat(L, span_filter_say(span_cult("[src.name]'s screen prints, \"[message]\""))) else return else if(isbelly(p.loc)) var/obj/belly/b = card.loc if(b.owner.client) - to_chat(b.owner, "[src.name]'s screen prints, \"[message]\"") + to_chat(b.owner, span_filter_say(span_cult("[src.name]'s screen prints, \"[message]\""))) else return else return else return - to_chat(src, "Your message was relayed.") + to_chat(src, span_notice("Your message was relayed.")) for (var/mob/G in player_list) if (istype(G, /mob/new_player)) continue - else if(isobserver(G) && G.is_preference_enabled(/datum/client_preference/ghost_ears)) - if((is_preference_enabled(/datum/client_preference/whisubtle_vis) || G.client.holder) && \ - G.is_preference_enabled(/datum/client_preference/ghost_see_whisubtle)) - to_chat(G, "[src.name]'s screen prints, \"[message]\"") + else if(isobserver(G) && G.client?.prefs?.read_preference(/datum/preference/toggle/ghost_ears)) + if((client?.prefs?.read_preference(/datum/preference/toggle/whisubtle_vis) || G.client.holder) && \ + G.client?.prefs?.read_preference(/datum/preference/toggle/ghost_see_whisubtle)) + to_chat(G, span_filter_say(span_cult("[src.name]'s screen prints, \"[message]\""))) /mob/living/silicon/pai/proc/touch_window(soft_name) //This lets us touch TGUI procs and windows that may be nested behind other TGUI procs and windows if(stat != CONSCIOUS) //so we can access our software without having to open up the software interface TGUI window - to_chat(src, "You can't do that right now.") + to_chat(src, span_warning("You can't do that right now.")) return for(var/thing in software) var/datum/pai_software/S = software[thing] if(istype(S, /datum/pai_software) && S.name == soft_name) if(S.toggle) S.toggle(src) - to_chat(src, "You toggled [S.name].") + to_chat(src, span_notice("You toggled [S.name].")) refresh_software_status() else S.tgui_interact(src) @@ -536,12 +548,12 @@ var/datum/pai_software/our_soft = pai_software_by_key[thing] if(our_soft.name == soft_name) if(!(ram >= our_soft.ram_cost)) - to_chat(src, "Insufficient RAM for download. (Cost [our_soft.ram_cost] : [ram] Remaining)") + to_chat(src, span_warning("Insufficient RAM for download. (Cost [our_soft.ram_cost] : [ram] Remaining)")) return if(tgui_alert(src, "Do you want to download [our_soft.name]? It costs [our_soft.ram_cost], and you have [ram] remaining.", "Download [our_soft.name]", list("Yes", "No")) == "Yes") ram -= our_soft.ram_cost software[our_soft.id] = our_soft - to_chat(src, "You downloaded [our_soft.name]. ([ram] RAM remaining.)") + to_chat(src, span_notice("You downloaded [our_soft.name]. ([ram] RAM remaining.)")) refresh_software_status() /mob/living/silicon/pai/proc/refresh_software_status() //This manages the pAI software status buttons icon states based on if you have them and if they are enabled diff --git a/code/modules/mob/living/silicon/pai/recruit.dm b/code/modules/mob/living/silicon/pai/recruit.dm index 588d0cf00d7..750c9e74057 100644 --- a/code/modules/mob/living/silicon/pai/recruit.dm +++ b/code/modules/mob/living/silicon/pai/recruit.dm @@ -31,10 +31,10 @@ var/datum/paiController/paiController // Global handler for pAI candidates /datum/paiController/Topic(href, href_list[]) if(href_list["download"]) var/datum/paiCandidate/candidate = locate(href_list["candidate"]) - var/obj/item/device/paicard/card = locate(href_list["device"]) + var/obj/item/paicard/card = locate(href_list["device"]) if(card.pai) return - if(istype(card,/obj/item/device/paicard) && istype(candidate,/datum/paiCandidate)) + if(istype(card,/obj/item/paicard) && istype(candidate,/datum/paiCandidate)) var/mob/living/silicon/pai/pai = new(card) pai.key = candidate.key paikeys |= pai.ckey @@ -102,7 +102,7 @@ var/datum/paiController/paiController // Global handler for pAI candidates if("submit") if(candidate) candidate.ready = 1 - for(var/obj/item/device/paicard/p in GLOB.all_pai_cards) + for(var/obj/item/paicard/p in GLOB.all_pai_cards) if(p.looking_for_personality == 1) p.alertUpdate() usr << browse(null, "window=paiRecruit") @@ -242,7 +242,7 @@ var/datum/paiController/paiController // Global handler for pAI candidates M << browse(dat, "window=paiRecruit;size=580x580;") -/datum/paiController/proc/findPAI(var/obj/item/device/paicard/p, var/mob/user) +/datum/paiController/proc/findPAI(var/obj/item/paicard/p, var/mob/user) requestRecruits(user) var/list/available = list() for(var/datum/paiCandidate/c in paiController.pai_candidates) diff --git a/code/modules/mob/living/silicon/pai/say.dm b/code/modules/mob/living/silicon/pai/say.dm index 84161ab57db..30e9ef40977 100644 --- a/code/modules/mob/living/silicon/pai/say.dm +++ b/code/modules/mob/living/silicon/pai/say.dm @@ -2,6 +2,6 @@ if(silence_time) to_chat(src, span_green("Communication circuits remain uninitialized.")) else if(card.speech_synthesizer != PP_FUNCTIONAL) - to_chat(src, "Communication circuits damaged. Service required.") + to_chat(src, span_warning("Communication circuits damaged. Service required.")) else ..() diff --git a/code/modules/mob/living/silicon/pai/software.dm b/code/modules/mob/living/silicon/pai/software.dm index 3475700c4bc..700634ea630 100644 --- a/code/modules/mob/living/silicon/pai/software.dm +++ b/code/modules/mob/living/silicon/pai/software.dm @@ -26,7 +26,7 @@ var/global/list/default_pai_software = list() var/datum/pai_software/P = new type() if(pai_software_by_key[P.id]) var/datum/pai_software/O = pai_software_by_key[P.id] - to_world("pAI software module [P.name] has the same key as [O.name]!") + to_world(span_warning("pAI software module [P.name] has the same key as [O.name]!")) r = 0 continue pai_software_by_key[P.id] = P @@ -39,7 +39,7 @@ var/global/list/default_pai_software = list() software = default_pai_software.Copy() /mob/living/silicon/pai/verb/paiInterface() - set category = "pAI Commands" + set category = "Abilities.pAI Commands" set name = "Software Interface" tgui_interact(src) @@ -55,7 +55,7 @@ var/global/list/default_pai_software = list() /mob/living/silicon/pai/tgui_data(mob/user, datum/tgui/ui, datum/tgui_state/state) var/list/data = ..() - + // Software we have bought var/list/bought_software = list() // Software we have not bought diff --git a/code/modules/mob/living/silicon/pai/software_modules.dm b/code/modules/mob/living/silicon/pai/software_modules.dm index 85fd333fbf7..79054818cc5 100644 --- a/code/modules/mob/living/silicon/pai/software_modules.dm +++ b/code/modules/mob/living/silicon/pai/software_modules.dm @@ -50,7 +50,7 @@ return data /datum/pai_software/directives/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state) - var/mob/living/silicon/pai/P = usr + var/mob/living/silicon/pai/P = ui.user if(!istype(P)) return TRUE if(..()) @@ -64,7 +64,7 @@ while(!istype(M, /mob/living)) if(!M || !M.loc || count > 6) //For a runtime where M ends up in nullspace (similar to bluespace but less colourful) - to_chat(src, "You are not being carried by anyone!") + to_chat(src, span_infoplain("You are not being carried by anyone!")) return 0 M = M.loc count++ @@ -75,15 +75,15 @@ if(answer == "Yes") var/turf/T = get_turf(P.loc) for (var/mob/v in viewers(T)) - v.show_message("[M] presses [TM.his] thumb against [P].", 3, "[P] makes a sharp clicking sound as it extracts DNA material from [M].", 2) + v.show_message(span_notice("[M] presses [TM.his] thumb against [P]."), 3, span_notice("[P] makes a sharp clicking sound as it extracts DNA material from [M]."), 2) var/datum/dna/dna = M.dna - to_chat(P, span_red("

    [M]'s UE string : [dna.unique_enzymes]

    ")) + to_chat(P, span_infoplain(span_red("

    [M]'s UE string : [dna.unique_enzymes]

    "))) if(dna.unique_enzymes == P.master_dna) - to_chat(P, "DNA is a match to stored Master DNA.") + to_chat(P, span_infoplain(span_bold("DNA is a match to stored Master DNA."))) else - to_chat(P, "DNA does not match stored Master DNA.") + to_chat(P, span_infoplain(span_bold("DNA does not match stored Master DNA."))) else - to_chat(P, "[M] does not seem like [TM.he] is going to provide a DNA sample willingly.") + to_chat(P, span_infoplain("[M] does not seem like [TM.he] is going to provide a DNA sample willingly.")) return TRUE /datum/pai_software/radio_config @@ -160,7 +160,7 @@ /datum/pai_software/med_records/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state) . = ..() - var/mob/living/silicon/pai/P = usr + var/mob/living/silicon/pai/P = ui.user if(!istype(P)) return @@ -216,7 +216,7 @@ /datum/pai_software/sec_records/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state) . = ..() - var/mob/living/silicon/pai/P = usr + var/mob/living/silicon/pai/P = ui.user if(!istype(P)) return @@ -267,7 +267,7 @@ return data /datum/pai_software/door_jack/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state) - var/mob/living/silicon/pai/P = usr + var/mob/living/silicon/pai/P = ui.user if(!istype(P) || ..()) return TRUE @@ -283,19 +283,19 @@ if("cable") var/turf/T = get_turf(P) P.hack_aborted = 0 - P.cable = new /obj/item/weapon/pai_cable(T) + P.cable = new /obj/item/pai_cable(T) for(var/mob/M in viewers(T)) - M.show_message("A port on [P] opens to reveal [P.cable], which promptly falls to the floor.", 3, - "You hear the soft click of something light and hard falling to the ground.", 2) + M.show_message(span_warning("A port on [P] opens to reveal [P.cable], which promptly falls to the floor."), 3, + span_warning("You hear the soft click of something light and hard falling to the ground."), 2) return 1 /mob/living/silicon/pai/proc/hackloop() var/turf/T = get_turf(src) for(var/mob/living/silicon/ai/AI in player_list) if(T.loc) - to_chat(AI, span_red("Network Alert: Brute-force encryption crack in progress in [T.loc].")) + to_chat(AI, span_bolddanger("Network Alert: Brute-force encryption crack in progress in [T.loc].")) else - to_chat(AI, span_red("Network Alert: Brute-force encryption crack in progress. Unable to pinpoint location.")) + to_chat(AI, span_bolddanger("Network Alert: Brute-force encryption crack in progress. Unable to pinpoint location.")) var/obj/machinery/door/D = cable.machine if(!istype(D)) hack_aborted = 1 @@ -494,7 +494,7 @@ if(..()) return TRUE - var/mob/living/silicon/pai/user = usr + var/mob/living/silicon/pai/user = ui.user if(istype(user)) var/obj/item/radio/integrated/signal/R = user.sradio diff --git a/code/modules/mob/living/silicon/robot/analyzer.dm b/code/modules/mob/living/silicon/robot/analyzer.dm index c7476f2ab71..bb37cdbb28f 100644 --- a/code/modules/mob/living/silicon/robot/analyzer.dm +++ b/code/modules/mob/living/silicon/robot/analyzer.dm @@ -1,8 +1,9 @@ // //Robotic Component Analyser, basically a health analyser for robots // -/obj/item/device/robotanalyzer +/obj/item/robotanalyzer name = "cyborg analyzer" + icon = 'icons/obj/device.dmi' icon_state = "robotanalyzer" item_state = "analyzer" desc = "A hand-held scanner able to diagnose robotic injuries." @@ -15,15 +16,17 @@ origin_tech = list(TECH_MAGNET = 2, TECH_BIO = 1, TECH_ENGINEERING = 2) matter = list(MAT_STEEL = 500, MAT_GLASS = 200) var/mode = 1; + pickup_sound = 'sound/items/pickup/device.ogg' + drop_sound = 'sound/items/drop/device.ogg' -/obj/item/device/robotanalyzer/attack(mob/living/M as mob, mob/living/user as mob) +/obj/item/robotanalyzer/attack(mob/living/M as mob, mob/living/user as mob) do_scan(M, user) -/obj/item/device/robotanalyzer/AltClick(mob/user) +/obj/item/robotanalyzer/AltClick(mob/user) mode = !mode user.show_message(span_blue("[mode ? "Toggled to cyborg analyzing mode." : "Toggled to cyborg upgrade scan mode."]"), 1) -/obj/item/device/robotanalyzer/proc/do_scan(mob/living/M as mob, mob/living/user as mob) +/obj/item/robotanalyzer/proc/do_scan(mob/living/M as mob, mob/living/user as mob) if((CLUMSY in user.mutations) && prob(50)) to_chat(user, span_red("You try to analyze the floor's vitals!")) for(var/mob/O in viewers(M, null)) @@ -45,19 +48,19 @@ to_chat(user, span_red("You can't analyze non-robotic things!")) return - user.visible_message("\The [user] has analyzed [M]'s components.","You have analyzed [M]'s components.") + user.visible_message(span_notice("\The [user] has analyzed [M]'s components."),span_notice("You have analyzed [M]'s components.")) switch(scan_type) if("robot") if(mode) - var/BU = M.getFireLoss() > 50 ? "[M.getFireLoss()]" : M.getFireLoss() - var/BR = M.getBruteLoss() > 50 ? "[M.getBruteLoss()]" : M.getBruteLoss() + var/BU = M.getFireLoss() > 50 ? span_bold("[M.getFireLoss()]") : M.getFireLoss() + var/BR = M.getBruteLoss() > 50 ? span_bold("[M.getBruteLoss()]") : M.getBruteLoss() user.show_message(span_blue("Analyzing Results for [M]:\n\t Overall Status: [M.stat > 1 ? "fully disabled" : "[M.health - M.halloss]% functional"]")) user.show_message("\t Key: [span_orange("Electronics")]/[span_red("Brute")]", 1) user.show_message("\t Damage Specifics: [span_orange("[BU]")] - [span_red("[BR]")]") if(M.tod && M.stat == DEAD) user.show_message(span_blue("Time of Disable: [M.tod]")) var/mob/living/silicon/robot/R = M - var/obj/item/weapon/cell/cell = R.get_cell() + var/obj/item/cell/cell = R.get_cell() if(cell) var/cell_charge = round(cell.percent()) var/cell_text @@ -70,7 +73,7 @@ else if (cell_charge > 1) cell_text = span_red("[cell_charge]") else - cell_text = span_red("[cell_charge]") + cell_text = span_red(span_bold("[cell_charge]")) user.show_message("\t Power Cell Status: [span_blue("[capitalize(cell.name)]")] at [cell_text]% charge") var/list/damaged = R.get_damaged_components(1,1,1) user.show_message(span_blue("Localized Damage:"),1) @@ -78,7 +81,7 @@ for(var/datum/robot_component/org in damaged) user.show_message(span_blue(text("\t []: [][] - [] - [] - []", \ span_blue(capitalize(org.name)), \ - (org.installed == -1) ? "[span_red("DESTROYED")] " :"",\ + (org.installed == -1) ? "[span_red(span_bold("DESTROYED"))] " :"",\ (org.electronics_damage > 0) ? "[span_orange("[org.electronics_damage]")]" :0, \ (org.brute_damage > 0) ? "[span_red("[org.brute_damage]")]" :0, \ (org.toggled) ? "Toggled ON" : "[span_red("Toggled OFF")]",\ @@ -90,7 +93,7 @@ user.show_message(span_blue("Operating Temperature: [M.bodytemperature-T0C]°C ([M.bodytemperature*1.8-459.67]°F)"), 1) else var/mob/living/silicon/robot/R = M - var/obj/item/weapon/cell/cell = R.get_cell() + var/obj/item/cell/cell = R.get_cell() user.show_message(span_blue("Upgrade Analyzing Results for [M]:")) if(cell) user.show_message("\t Power Cell Details: [span_blue("[capitalize(cell.name)]")] with a capacity of [cell.maxcharge] at [round(cell.percent())]% charge") @@ -118,7 +121,7 @@ user.show_message("\t Basic Modules, used for direct upgrade purposes:") show_title = FALSE if(R.has_basic_upgrade(initial(upgrade.build_path)) == "") - user.show_message(span_blue("\t\t [capitalize(initial(upgrade.name))]: [span_red("ERROR")]")) + user.show_message(span_blue("\t\t [capitalize(initial(upgrade.name))]: [span_red(span_bold("ERROR"))]")) else user.show_message(span_blue("\t\t [capitalize(initial(upgrade.name))]: [R.has_basic_upgrade(initial(upgrade.build_path)) ? span_green("Installed") : span_red("Missing")]")) show_title = TRUE @@ -131,7 +134,7 @@ user.show_message("\t Advanced Modules, used for module upgrade purposes:") show_title = FALSE if(R.has_advanced_upgrade(initial(upgrade.build_path)) == "") - user.show_message(span_blue("\t\t [capitalize(initial(upgrade.name))]: [span_red("ERROR")]")) + user.show_message(span_blue("\t\t [capitalize(initial(upgrade.name))]: [span_red(span_bold("ERROR"))]")) else user.show_message(span_blue("\t\t [capitalize(initial(upgrade.name))]: [R.has_advanced_upgrade(initial(upgrade.build_path)) ? span_green("Installed") : span_red("Missing")]")) show_title = TRUE @@ -144,7 +147,7 @@ user.show_message("\t Restricted Modules, used for module upgrade purposes on specific chassis:") show_title = FALSE if(R.has_restricted_upgrade(initial(upgrade.build_path)) == "") - user.show_message(span_blue("\t\t [capitalize(initial(upgrade.name))]: [span_red("ERROR")]")) + user.show_message(span_blue("\t\t [capitalize(initial(upgrade.name))]: [span_red(span_bold("ERROR"))]")) else user.show_message(span_blue("\t\t [capitalize(initial(upgrade.name))]: [R.has_restricted_upgrade(initial(upgrade.build_path)) ? span_green("Installed") : span_red("Missing")]")) show_title = TRUE @@ -158,18 +161,18 @@ user.show_message("\t Special Modules, used for recreation purposes:") show_title = FALSE if(R.has_no_prod_upgrade(initial(upgrade.build_path)) == "") - user.show_message(span_blue("\t\t [capitalize(initial(upgrade.name))]: [span_red("ERROR")]")) + user.show_message(span_blue("\t\t [capitalize(initial(upgrade.name))]: [span_red(span_bold("ERROR"))]")) else user.show_message(span_blue("\t\t [capitalize(initial(upgrade.name))]: [R.has_no_prod_upgrade(initial(upgrade.build_path)) ? span_green("Installed") : span_red("Missing")]")) if("prosthetics") var/mob/living/carbon/human/H = M - to_chat(user, "Analyzing Results for \the [H]:") + to_chat(user, span_notice("Analyzing Results for \the [H]:")) if(H.isSynthetic()) to_chat(user, "System instability: [span_green("[H.getToxLoss()]")]") to_chat(user, "Key: [span_orange("Electronics")]/[span_red("Brute")]") - to_chat(user, "External prosthetics:") + to_chat(user, span_notice("External prosthetics:")) var/organ_found if(H.internal_organs.len) for(var/obj/item/organ/external/E in H.organs) @@ -180,7 +183,7 @@ if(!organ_found) to_chat(user, "No prosthetics located.") to_chat(user, "
    ") - to_chat(user, "Internal prosthetics:") + to_chat(user, span_notice("Internal prosthetics:")) organ_found = null if(H.internal_organs.len) for(var/obj/item/organ/O in H.internal_organs) @@ -201,7 +204,7 @@ var/tank_temperature = Mecha.internal_tank ? Mecha.internal_tank.return_temperature() : "Unknown" var/cabin_pressure = round(Mecha.return_pressure(),0.01) - var/output = {"Analyzing Results for \the [Mecha]:
    + var/output = span_notice("Analyzing Results for \the [Mecha]:") + {"
    Chassis Integrity: [integrity]%
    Powercell charge: [isnull(cell_charge)?"No powercell installed":"[capitalize(initial(Mecha.cell.name))] at [Mecha.cell.percent()]%"]
    Air source: [Mecha.use_internal_tank?"Internal Airtank":"Environment"]
    @@ -214,14 +217,14 @@ to_chat(user, output) to_chat(user, "
    ") - to_chat(user, "Internal Diagnostics:") + to_chat(user, span_notice("Internal Diagnostics:")) for(var/slot in Mecha.internal_components) var/obj/item/mecha_parts/component/MC = Mecha.internal_components[slot] - to_chat(user, "[MC?"[slot]: [MC] [round((MC.integrity / MC.max_integrity) * 100, 0.1)]% integrity. [MC.get_efficiency() * 100] Operational capacity.":"[slot]: Component Not Found"]") + to_chat(user, "[MC? ("[slot]: [MC] " + span_notice("[round((MC.integrity / MC.max_integrity) * 100, 0.1)]%") + " integrity. [MC.get_efficiency() * 100] Operational capacity.") : span_warning("[slot]: Component Not Found")]") to_chat(user, "
    ") - to_chat(user, "General Statistics:") - to_chat(user, "Movement Weight: [Mecha.get_step_delay()]
    ") + to_chat(user, span_notice("General Statistics:")) + to_chat(user, span_notice("Movement Weight: [Mecha.get_step_delay()]") + "
    ") src.add_fingerprint(user) return diff --git a/code/modules/mob/living/silicon/robot/component.dm b/code/modules/mob/living/silicon/robot/component.dm index f89061e88ed..d57d1092a6c 100644 --- a/code/modules/mob/living/silicon/robot/component.dm +++ b/code/modules/mob/living/silicon/robot/component.dm @@ -21,7 +21,20 @@ src.owner = R /datum/robot_component/proc/install() + if(istype(wrapped, /obj/item/robot_parts/robot_component)) + var/obj/item/robot_parts/robot_component/comp = wrapped + max_damage = comp.max_damage + idle_usage = comp.idle_usage + active_usage = comp.active_usage + return + if(istype(wrapped, /obj/item/cell)) + var/obj/item/cell/cell = wrapped + max_damage = cell.robot_durability + /datum/robot_component/proc/uninstall() + max_damage = initial(max_damage) + idle_usage = initial(idle_usage) + active_usage = initial(active_usage) /datum/robot_component/proc/destroy() var/brokenstate = "broken" // Generic icon @@ -231,24 +244,34 @@ var/brute = 0 var/burn = 0 var/icon_state_broken = "broken" + var/idle_usage = 0 + var/active_usage = 0 + var/max_damage = 0 /obj/item/robot_parts/robot_component/binary_communication_device name = "binary communication device" desc = "A module used for binary communications over encrypted frequencies, commonly used by synthetic robots." icon_state = "binradio" icon_state_broken = "binradio_broken" + idle_usage = 5 + active_usage = 25 + max_damage = 30 /obj/item/robot_parts/robot_component/actuator name = "actuator" desc = "A modular, hydraulic actuator used by exosuits and robots alike for movement and manipulation." icon_state = "motor" icon_state_broken = "motor_broken" + idle_usage = 0 + active_usage = 200 + max_damage = 50 /obj/item/robot_parts/robot_component/armour name = "armour plating" desc = "A pair of flexible, adaptable armor plates, used to protect the internals of robots." icon_state = "armor" icon_state_broken = "armor_broken" + max_damage = 90 /obj/item/robot_parts/robot_component/armour_platform name = "platform armour plating" @@ -256,21 +279,64 @@ icon_state = "armor" icon_state_broken = "armor_broken" color = COLOR_GRAY80 + max_damage = 140 /obj/item/robot_parts/robot_component/camera name = "camera" desc = "A modified camera module used as a visual receptor for robots and exosuits, also serving as a relay for wireless video feed." icon_state = "camera" icon_state_broken = "camera_broken" + idle_usage = 10 + max_damage = 40 /obj/item/robot_parts/robot_component/diagnosis_unit name = "diagnosis unit" desc = "An internal computer and sensors used by robots and exosuits to accurately diagnose any system discrepancies on their components." icon_state = "analyser" icon_state_broken = "analyser_broken" + active_usage = 1000 + max_damage = 30 /obj/item/robot_parts/robot_component/radio name = "radio" desc = "A modular, multi-frequency radio used by robots and exosuits to enable communication systems. Comes with built-in subspace receivers." icon_state = "radio" - icon_state_broken = "radio_broken" \ No newline at end of file + icon_state_broken = "radio_broken" + idle_usage = 15 + active_usage = 75 + max_damage = 40 + +// Improved components +/obj/item/robot_parts/robot_component/binary_communication_device/upgraded + name = "improved binary communication device" + idle_usage = 2.5 + active_usage = 12.5 + max_damage = 45 + +/obj/item/robot_parts/robot_component/radio/upgraded + name = "improved radio" + idle_usage = 5 + active_usage = 35 + max_damage = 40 + +/obj/item/robot_parts/robot_component/actuator/upgraded + name = "improved actuator" + idle_usage = 0 + active_usage = 100 + max_damage = 75 + +/obj/item/robot_parts/robot_component/diagnosis_unit/upgraded + name = "improved self-diagnosis unit" + active_usage = 500 + max_damage = 45 + +/obj/item/robot_parts/robot_component/camera/upgraded + name = "improved camera" + idle_usage = 5 + max_damage = 60 + +/obj/item/robot_parts/robot_component/armour/armour_titan + name = "prototype armour plating" + desc = "A pair of flexible, adaptable armor plates, used to protect the internals of robots." + max_damage = 220 + color = COLOR_OFF_WHITE diff --git a/code/modules/mob/living/silicon/robot/death.dm b/code/modules/mob/living/silicon/robot/death.dm index 737c46884d9..eceacfec5a9 100644 --- a/code/modules/mob/living/silicon/robot/death.dm +++ b/code/modules/mob/living/silicon/robot/death.dm @@ -13,9 +13,9 @@ if(camera) camera.status = 0 if(module) - var/obj/item/weapon/gripper/G = locate(/obj/item/weapon/gripper) in module + var/obj/item/gripper/G = locate(/obj/item/gripper) in module if(G) G.drop_item() - var/obj/item/device/dogborg/sleeper/S = locate(/obj/item/device/dogborg/sleeper) in module //VOREStation edit. + var/obj/item/dogborg/sleeper/S = locate(/obj/item/dogborg/sleeper) in module //VOREStation edit. if(S) S.go_out() //VOREStation edit. remove_robot_verbs() sql_report_cyborg_death(src) diff --git a/code/modules/mob/living/silicon/robot/dogborg/dog_modules_vr.dm b/code/modules/mob/living/silicon/robot/dogborg/dog_modules_vr.dm index 2cd43aecdaa..d12d31d3cab 100644 --- a/code/modules/mob/living/silicon/robot/dogborg/dog_modules_vr.dm +++ b/code/modules/mob/living/silicon/robot/dogborg/dog_modules_vr.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/melee/dogborg/jaws +/obj/item/melee/dogborg/jaws icon = 'icons/mob/dogborg_vr.dmi' hitsound = 'sound/weapons/bite.ogg' throwforce = 0 @@ -6,7 +6,7 @@ pry = 1 tool_qualities = list(TOOL_CROWBAR) -/obj/item/weapon/melee/dogborg/jaws/big +/obj/item/melee/dogborg/jaws/big name = "combat jaws" icon_state = "jaws" desc = "The jaws of the law." @@ -15,7 +15,7 @@ defend_chance = 15 attack_verb = list("chomped", "bit", "ripped", "mauled", "enforced") -/obj/item/weapon/melee/dogborg/jaws/small +/obj/item/melee/dogborg/jaws/small name = "puppy jaws" icon_state = "smalljaws" desc = "The jaws of a small dog." @@ -24,7 +24,7 @@ attack_verb = list("nibbled", "bit", "gnawed", "chomped", "nommed") var/emagged = 0 -/obj/item/weapon/melee/dogborg/jaws/small/attack_self(mob/user) +/obj/item/melee/dogborg/jaws/small/attack_self(mob/user) var/mob/living/silicon/robot/R = user if(R.emagged || R.emag_items) emagged = !emagged @@ -47,7 +47,7 @@ update_icon() // Baton chompers -/obj/item/weapon/melee/borg_combat_shocker +/obj/item/melee/borg_combat_shocker name = "combat shocker" icon = 'icons/mob/dogborg_vr.dmi' icon_state = "combatshocker" @@ -60,7 +60,7 @@ var/charge_cost = 15 var/dogborg = FALSE -/obj/item/weapon/melee/borg_combat_shocker/apply_hit_effect(mob/living/target, mob/living/user, var/hit_zone) +/obj/item/melee/borg_combat_shocker/apply_hit_effect(mob/living/target, mob/living/user, var/hit_zone) if(isrobot(target)) return ..() @@ -81,14 +81,14 @@ else if(affecting) if(dogborg) - target.visible_message("[target] has been zap-chomped in the [affecting.name] with [src] by [user]!") + target.visible_message(span_danger("[target] has been zap-chomped in the [affecting.name] with [src] by [user]!")) else - target.visible_message("[target] has been zapped in the [affecting.name] with [src] by [user]!") + target.visible_message(span_danger("[target] has been zapped in the [affecting.name] with [src] by [user]!")) else if(dogborg) - target.visible_message("[target] has been zap-chomped with [src] by [user]!") + target.visible_message(span_danger("[target] has been zap-chomped with [src] by [user]!")) else - target.visible_message("[target] has been zapped with [src] by [user]!") + target.visible_message(span_danger("[target] has been zapped with [src] by [user]!")) playsound(src, 'sound/weapons/Egloves.ogg', 50, 1, -1) // Try to use power @@ -106,7 +106,7 @@ H.forcesay(hit_appends) //Boop //New and improved, now a simple reagent sniffer. -/obj/item/device/boop_module +/obj/item/boop_module name = "boop module" icon = 'icons/mob/dogborg_vr.dmi' icon_state = "nose" @@ -116,11 +116,11 @@ attack_verb = list("nuzzled", "nosed", "booped") w_class = ITEMSIZE_TINY -/obj/item/device/boop_module/New() +/obj/item/boop_module/New() ..() flags |= NOBLUDGEON //No more attack messages -/obj/item/device/boop_module/attack_self(mob/user) +/obj/item/boop_module/attack_self(mob/user) if (!( istype(user.loc, /turf) )) return @@ -130,19 +130,19 @@ var/total_moles = environment.total_moles user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) - user.visible_message("[user] scans the air.", "You scan the air...") + user.visible_message(span_notice("[user] scans the air."), span_notice("You scan the air...")) - to_chat(user, "Scan results:") + to_chat(user, span_boldnotice("Scan results:")) if(abs(pressure - ONE_ATMOSPHERE) < 10) - to_chat(user, "Pressure: [round(pressure,0.1)] kPa") + to_chat(user, span_notice("Pressure: [round(pressure,0.1)] kPa")) else - to_chat(user, "Pressure: [round(pressure,0.1)] kPa") + to_chat(user, span_warning("Pressure: [round(pressure,0.1)] kPa")) if(total_moles) for(var/g in environment.gas) - to_chat(user, "[gas_data.name[g]]: [round((environment.gas[g] / total_moles) * 100)]%") - to_chat(user, "Temperature: [round(environment.temperature-T0C,0.1)]°C ([round(environment.temperature,0.1)]K)") + to_chat(user, span_notice("[gas_data.name[g]]: [round((environment.gas[g] / total_moles) * 100)]%")) + to_chat(user, span_notice("Temperature: [round(environment.temperature-T0C,0.1)]°C ([round(environment.temperature,0.1)]K)")) -/obj/item/device/boop_module/afterattack(obj/O, mob/user as mob, proximity) +/obj/item/boop_module/afterattack(obj/O, mob/user as mob, proximity) if(!proximity) return if (user.stat) @@ -151,27 +151,27 @@ return user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) - user.visible_message("[user] scan at \the [O.name].", "You scan \the [O.name]...") + user.visible_message(span_notice("[user] scan at \the [O.name]."), span_notice("You scan \the [O.name]...")) if(!isnull(O.reagents)) var/dat = "" if(O.reagents.reagent_list.len > 0) for (var/datum/reagent/R in O.reagents.reagent_list) - dat += "\n \t [R]" + dat += "\n \t " + span_notice("[R]") if(dat) - to_chat(user, "Your BOOP module indicates: [dat]") + to_chat(user, span_notice("Your BOOP module indicates: [dat]")) else - to_chat(user, "No active chemical agents detected in [O].") + to_chat(user, span_notice("No active chemical agents detected in [O].")) else - to_chat(user, "No significant chemical agents detected in [O].") + to_chat(user, span_notice("No significant chemical agents detected in [O].")) return //Delivery /* -/obj/item/weapon/storage/bag/borgdelivery +/obj/item/storage/bag/borgdelivery name = "fetching storage" desc = "Fetch the thing!" icon = 'icons/mob/dogborg_vr.dmi' @@ -182,10 +182,10 @@ storage_slots = 1 collection_mode = 0 can_hold = list() // any - cant_hold = list(/obj/item/weapon/disk/nuclear) + cant_hold = list(/obj/item/disk/nuclear) */ -/obj/item/weapon/shockpaddles/robot/hound +/obj/item/shockpaddles/robot/hound name = "paws of life" icon = 'icons/mob/dogborg_vr.dmi' icon_state = "defibpaddles0" @@ -194,19 +194,19 @@ attack_verb = list("batted", "pawed", "bopped", "whapped") chargecost = 500 -/obj/item/weapon/shockpaddles/robot/hound/jumper +/obj/item/shockpaddles/robot/hound/jumper name = "jumper paws" desc = "Zappy paws. For rebooting a full body prostetic." use_on_synthetic = 1 -/obj/item/weapon/reagent_containers/borghypo/hound +/obj/item/reagent_containers/borghypo/hound name = "MediHound hypospray" desc = "An advanced chemical synthesizer and injection system utilizing carrier's reserves, designed for heavy-duty medical equipment." charge_cost = 10 reagent_ids = list("inaprovaline", "dexalin", "bicaridine", "kelotane", "anti_toxin", "spaceacillin", "paracetamol") var/datum/matter_synth/water = null -/obj/item/weapon/reagent_containers/borghypo/hound/process() //Recharges in smaller steps and uses the water reserves as well. +/obj/item/reagent_containers/borghypo/hound/process() //Recharges in smaller steps and uses the water reserves as well. if(isrobot(loc)) var/mob/living/silicon/robot/R = loc if(R && R.cell) @@ -217,19 +217,19 @@ reagent_volumes[T] = min(reagent_volumes[T] + 1, volume) return 1 -/obj/item/weapon/reagent_containers/borghypo/hound/lost +/obj/item/reagent_containers/borghypo/hound/lost name = "Hound hypospray" desc = "An advanced chemical synthesizer and injection system utilizing carrier's reserves." reagent_ids = list("tricordrazine", "inaprovaline", "bicaridine", "dexalin", "anti_toxin", "tramadol", "spaceacillin") -/obj/item/weapon/reagent_containers/borghypo/hound/trauma +/obj/item/reagent_containers/borghypo/hound/trauma name = "Hound hypospray" desc = "An advanced chemical synthesizer and injection system utilizing carrier's reserves." reagent_ids = list("tricordrazine", "inaprovaline", "oxycodone", "dexalin" ,"spaceacillin") //Tongue stuff -/obj/item/device/robot_tongue +/obj/item/robot_tongue name = "synthetic tongue" desc = "Useful for slurping mess off the floor before affectionately licking the crew members in the face." icon = 'icons/mob/dogborg_vr.dmi' @@ -238,11 +238,11 @@ var/emagged = 0 var/busy = 0 //prevents abuse and runtimes -/obj/item/device/robot_tongue/New() +/obj/item/robot_tongue/New() ..() flags |= NOBLUDGEON //No more attack messages -/obj/item/device/robot_tongue/attack_self(mob/user) +/obj/item/robot_tongue/attack_self(mob/user) var/mob/living/silicon/robot/R = user if(R.emagged || R.emag_items) emagged = !emagged @@ -258,30 +258,30 @@ icon_state = "synthtongue" update_icon() -/obj/item/device/robot_tongue/afterattack(atom/target, mob/user, proximity) +/obj/item/robot_tongue/afterattack(atom/target, mob/user, proximity) if(!proximity) return user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) if(busy) - to_chat(user, "You are already licking something else.") + to_chat(user, span_warning("You are already licking something else.")) return if(user.client && (target in user.client.screen)) - to_chat(user, "You need to take \the [target.name] off before cleaning it!") + to_chat(user, span_warning("You need to take \the [target.name] off before cleaning it!")) return else if(istype(target,/obj/item)) if(istype(target,/obj/item/trash)) - user.visible_message("[user] nibbles away at \the [target.name].", "You begin to nibble away at \the [target.name]...") + user.visible_message(span_filter_notice("[user] nibbles away at \the [target.name]."), span_notice("You begin to nibble away at \the [target.name]...")) busy = 1 if(do_after (user, 50)) - user.visible_message("[user] finishes eating \the [target.name].", "You finish eating \the [target.name].") - to_chat(user, "You finish off \the [target.name].") + user.visible_message(span_filter_notice("[user] finishes eating \the [target.name]."), span_notice("You finish eating \the [target.name].")) + to_chat(user, span_notice("You finish off \the [target.name].")) qdel(target) var/mob/living/silicon/robot/R = user R.cell.charge += 250 busy = 0 return - if(istype(target,/obj/item/weapon/reagent_containers/food)) + if(istype(target,/obj/item/reagent_containers/food)) user.visible_message("[user] nibbles away at \the [target.name].", "You begin to nibble away at \the [target.name]...") if(do_after (user, 50)) user.visible_message("[user] finishes eating \the [target.name].", "You finish eating \the [target.name].") @@ -290,14 +290,14 @@ var/mob/living/silicon/robot/R = user R.cell.charge = R.cell.charge + 250 return - if(istype(target,/obj/item/weapon/cell)) - user.visible_message("[user] begins cramming \the [target.name] down its throat.", "You begin cramming \the [target.name] down your throat...") + if(istype(target,/obj/item/cell)) + user.visible_message(span_filter_notice("[user] begins cramming \the [target.name] down its throat."), span_notice("You begin cramming \the [target.name] down your throat...")) busy = 1 if(do_after (user, 50)) - user.visible_message("[user] finishes gulping down \the [target.name].", "You finish swallowing \the [target.name].") - to_chat(user, "You finish off \the [target.name], and gain some charge!") + user.visible_message(span_filter_notice("[user] finishes gulping down \the [target.name]."), span_notice("You finish swallowing \the [target.name].")) + to_chat(user, span_notice("You finish off \the [target.name], and gain some charge!")) var/mob/living/silicon/robot/R = user - var/obj/item/weapon/cell/C = target + var/obj/item/cell/C = target R.cell.charge += C.charge / 3 qdel(target) busy = 0 @@ -312,11 +312,11 @@ L.Stun(1) L.Weaken(1) L.apply_effect(STUTTER, 1) - L.visible_message("[user] has shocked [L] with its tongue!", \ - "[user] has shocked you with its tongue! You can feel the betrayal.") + L.visible_message(span_danger("[user] has shocked [L] with its tongue!"), \ + span_userdanger("[user] has shocked you with its tongue! You can feel the betrayal.")) playsound(src, 'sound/weapons/Egloves.ogg', 50, 1, -1) else - user.visible_message("\The [user] affectionately licks all over \the [target]'s face!", "You affectionately lick all over \the [target]'s face!") + user.visible_message(span_notice("\The [user] affectionately licks all over \the [target]'s face!"), span_notice("You affectionately lick all over \the [target]'s face!")) playsound(src, 'sound/effects/attackblob.ogg', 50, 1) var/mob/living/carbon/human/H = target if(H.species.lightweight == 1) @@ -345,7 +345,7 @@ enabled = FALSE icon_state = "scrub0" -/obj/item/weapon/gun/energy/taser/mounted/cyborg/ertgun //Not a taser, but it's being used as a base so it takes energy and actually works. +/obj/item/gun/energy/taser/mounted/cyborg/ertgun //Not a taser, but it's being used as a base so it takes energy and actually works. name = "disabler" desc = "A small and nonlethal gun produced by NT.." icon = 'icons/mob/dogborg_vr.dmi' @@ -356,7 +356,7 @@ recharge_time = 1 //Takes ten ticks to recharge a laser, so don't waste them all! //cell_type = null //Same cell as a taser until edits are made. -/obj/item/weapon/melee/combat_borgblade +/obj/item/melee/combat_borgblade name = "energy blade" icon = 'icons/mob/dogborg_vr.dmi' icon_state = "swordtail" @@ -370,7 +370,7 @@ attack_verb = list("slashed", "stabbed", "jabbed", "mauled", "sliced") w_class = ITEMSIZE_NORMAL -/obj/item/device/lightreplacer/dogborg +/obj/item/lightreplacer/dogborg name = "light replacer" desc = "A device to automatically replace lights. This version is capable to produce a few replacements using your internal matter reserves." max_uses = 16 @@ -378,24 +378,26 @@ var/cooldown = 0 var/datum/matter_synth/glass = null -/obj/item/device/lightreplacer/dogborg/attack_self(mob/user)//Recharger refill is so last season. Now we recycle without magic! +/obj/item/lightreplacer/dogborg/attack_self(mob/user)//Recharger refill is so last season. Now we recycle without magic! var/choice = tgui_alert(user, "Do you wish to check the reserves or change the color?", "Selection List", list("Reserves", "Color")) + if(!choice) + return if(choice == "Color") var/new_color = input(usr, "Choose a color to set the light to! (Default is [LIGHT_COLOR_INCANDESCENT_TUBE])", "", selected_color) as color|null if(new_color) selected_color = new_color - to_chat(user, "The light color has been changed.") + to_chat(user, span_filter_notice("The light color has been changed.")) return else if(uses >= max_uses) - to_chat(user, "[src.name] is full.") + to_chat(user, span_warning("[src.name] is full.")) return if(uses < max_uses && cooldown == 0) if(glass.energy < 125) - to_chat(user, "Insufficient material reserves.") + to_chat(user, span_warning("Insufficient material reserves.")) return - to_chat(user, "It has [uses] lights remaining. Attempting to fabricate a replacement. Please stand still.") + to_chat(user, span_filter_notice("It has [uses] lights remaining. Attempting to fabricate a replacement. Please stand still.")) cooldown = 1 if(do_after(user, 50)) glass.use_charge(125) @@ -404,11 +406,54 @@ else cooldown = 0 else - to_chat(user, "It has [uses] lights remaining.") + to_chat(user, span_filter_notice("It has [uses] lights remaining.")) + return + +/obj/item/dogborg/stasis_clamp + name = "stasis clamp" + desc = "A magnetic clamp which can halt the flow of gas in a pipe, via a localised stasis field." + icon = 'icons/atmos/clamp.dmi' + icon_state = "pclamp0" + var/max_clamps = 3 + var/busy + var/list/clamps = list() + +/obj/item/dogborg/stasis_clamp/afterattack(var/atom/A, mob/user as mob, proximity) + if(!proximity) + return + + if (istype(A, /obj/machinery/atmospherics/pipe/simple)) + if(busy) return + var/C = locate(/obj/machinery/clamp) in get_turf(A) + if(!C) + if(length(clamps) >= max_clamps) + to_chat(user, span_warning("You've already placed the maximum amount of [max_clamps] [src]s. Find and remove some before placing new ones.")) + return + busy = TRUE + to_chat(user, span_notice("You begin to attach \the [C] to \the [A]...")) + if(do_after(user, 30)) + to_chat(user, span_notice("You have attached \the [src] to \the [A].")) + var/obj/machinery/clamp/clamp = new/obj/machinery/clamp(A.loc, A) + clamps.Add(clamp) + if(isrobot(user)) + var/mob/living/silicon/robot/R = user + R.use_direct_power(1000, 1500) + else + busy = TRUE + to_chat(user, span_notice("You begin to remove \the [C] from \the [A]...")) + if(do_after(user, 30)) + to_chat(user, span_notice("You have removed \the [src] from \the [A].")) + clamps.Remove(C) + qdel(C) + busy = FALSE + +/obj/item/dogborg/stasis_clamp/Destroy() + clamps.Cut() + . = ..() //Pounce stuff for K-9 -/obj/item/weapon/dogborg/pounce +/obj/item/dogborg/pounce name = "pounce" icon = 'icons/mob/dogborg_vr.dmi' icon_state = "pounce" @@ -417,27 +462,27 @@ throwforce = 0 var/bluespace = FALSE -/obj/item/weapon/dogborg/pounce/New() +/obj/item/dogborg/pounce/New() ..() flags |= NOBLUDGEON -/obj/item/weapon/dogborg/pounce/attack_self(mob/user) +/obj/item/dogborg/pounce/attack_self(mob/user) var/mob/living/silicon/robot/R = user R.leap(bluespace) /mob/living/silicon/robot/proc/leap(var/bluespace = FALSE) if(last_special > world.time) - to_chat(src, "Your leap actuators are still recharging.") + to_chat(src, span_filter_notice("Your leap actuators are still recharging.")) return var/power_cost = bluespace ? 1000 : 750 var/minimum_power = bluespace ? 2500 : 1000 if(cell.charge < minimum_power) - to_chat(src, "Cell charge too low to continue.") + to_chat(src, span_filter_notice("Cell charge too low to continue.")) return if(usr.incapacitated(INCAPACITATION_DISABLED)) - to_chat(src, "You cannot leap in your current state.") + to_chat(src, span_filter_notice("You cannot leap in your current state.")) return var/list/choices = list() @@ -466,14 +511,14 @@ return if(usr.incapacitated(INCAPACITATION_DISABLED)) - to_chat(src, "You cannot leap in your current state.") + to_chat(src, span_filter_notice("You cannot leap in your current state.")) return last_special = world.time + 10 status_flags |= LEAPING pixel_y = pixel_y + 10 - src.visible_message("\The [src] leaps at [T]!") + src.visible_message(span_danger("\The [src] leaps at [T]!")) if(bluespace) src.forceMove(get_turf(T)) T.hitby(src) @@ -488,7 +533,7 @@ if(status_flags & LEAPING) status_flags &= ~LEAPING if(!src.Adjacent(T)) - to_chat(src, "You miss!") + to_chat(src, span_warning("You miss!")) return if(ishuman(T)) @@ -503,16 +548,16 @@ if(prob(75)) //75% chance to stun for 5 seconds, really only going to be 4 bcus click cooldown+animation. T.apply_effect(5, WEAKEN, armor_block) -/obj/item/weapon/reagent_containers/glass/beaker/large/borg +/obj/item/reagent_containers/glass/beaker/large/borg var/mob/living/silicon/robot/R var/last_robot_loc -/obj/item/weapon/reagent_containers/glass/beaker/large/borg/Initialize() +/obj/item/reagent_containers/glass/beaker/large/borg/Initialize() . = ..() R = loc.loc RegisterSignal(src, COMSIG_OBSERVER_MOVED, PROC_REF(check_loc)) -/obj/item/weapon/reagent_containers/glass/beaker/large/borg/proc/check_loc(atom/movable/mover, atom/old_loc, atom/new_loc) +/obj/item/reagent_containers/glass/beaker/large/borg/proc/check_loc(atom/movable/mover, atom/old_loc, atom/new_loc) if(old_loc == R || old_loc == R.module) last_robot_loc = old_loc if(!istype(loc, /obj/machinery) && loc != R && loc != R.module) @@ -524,6 +569,8 @@ if(loc == R) hud_layerise() -/obj/item/weapon/reagent_containers/glass/beaker/large/borg/Destroy() +/obj/item/reagent_containers/glass/beaker/large/borg/Destroy() UnregisterSignal(src, COMSIG_OBSERVER_MOVED) + R = null + last_robot_loc = null ..() diff --git a/code/modules/mob/living/silicon/robot/dogborg/dog_modules_yw.dm b/code/modules/mob/living/silicon/robot/dogborg/dog_modules_yw.dm index e27175d7940..5b4065eb2ef 100644 --- a/code/modules/mob/living/silicon/robot/dogborg/dog_modules_yw.dm +++ b/code/modules/mob/living/silicon/robot/dogborg/dog_modules_yw.dm @@ -1,7 +1,7 @@ /*TEST*/ /******/ -/obj/item/device/dogborg/pounce_module +/obj/item/dogborg/pounce_module name = "pounce module" icon = 'icons/mob/dogborg_vr.dmi' icon_state = "pounce" @@ -9,14 +9,14 @@ throwforce = 0 //This shouldn't be thrown in the first place. w_class = ITEMSIZE_NORMAL -/obj/item/device/dogborg/pounce_module/New() +/obj/item/dogborg/pounce_module/New() ..() flags |= NOBLUDGEON //No more attack messages -/obj/item/device/dogborg/pounce_module/attack_self(mob/user) +/obj/item/dogborg/pounce_module/attack_self(mob/user) return -/obj/item/device/dogborg/pounce_module/afterattack(atom/target, mob/user as mob, proximity) +/obj/item/dogborg/pounce_module/afterattack(atom/target, mob/user as mob, proximity) if(proximity && ishuman(target)) user.visible_message("\the [user] pounces at \the [target]'s face!", "You pounce at \the [target]!") var/mob/living/L = target diff --git a/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm b/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm index a7a9386c394..0baa98d422b 100644 --- a/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm +++ b/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm @@ -1,7 +1,7 @@ #define SLEEPER_INJECT_COST 600 // Note that this has unlimited supply unlike a borg hypo, so should be balanced accordingly //Sleeper -/obj/item/device/dogborg/sleeper +/obj/item/dogborg/sleeper name = "Sleeper Belly" desc = "A mounted sleeper that stabilizes patients and can inject reagents in the borg's reserves." icon = 'icons/mob/dogborg_vr.dmi' @@ -42,29 +42,29 @@ var/digest_multiplier = 1 var/recycles = FALSE var/medsensor = TRUE //Does belly sprite come with patient ok/dead light? - var/obj/item/device/healthanalyzer/med_analyzer = null + var/obj/item/healthanalyzer/med_analyzer = null -/obj/item/device/dogborg/sleeper/New() +/obj/item/dogborg/sleeper/New() ..() flags |= NOBLUDGEON //No more attack messages files = new /datum/research/techonly(src) - med_analyzer = new /obj/item/device/healthanalyzer + med_analyzer = new /obj/item/healthanalyzer -/obj/item/device/dogborg/sleeper/Destroy() +/obj/item/dogborg/sleeper/Destroy() go_out() ..() -/obj/item/device/dogborg/sleeper/Exit(atom/movable/O) +/obj/item/dogborg/sleeper/Exit(atom/movable/O) return 0 -/obj/item/device/dogborg/sleeper/return_air() +/obj/item/dogborg/sleeper/return_air() return return_air_for_internal_lifeform() -/obj/item/device/dogborg/sleeper/return_air_for_internal_lifeform() +/obj/item/dogborg/sleeper/return_air_for_internal_lifeform() var/datum/gas_mixture/belly_air/air = new(1000) return air -/obj/item/device/dogborg/sleeper/afterattack(var/atom/movable/target, mob/living/silicon/user, proximity) +/obj/item/dogborg/sleeper/afterattack(var/atom/movable/target, mob/living/silicon/user, proximity) hound = loc if(!istype(target)) return @@ -75,70 +75,70 @@ if(target in hound.module.modules) return if(length(contents) >= max_item_count) - to_chat(user, "Your [src.name] is full. Eject or process contents to continue.") + to_chat(user, span_warning("Your [src.name] is full. Eject or process contents to continue.")) return if(compactor) if(is_type_in_list(target,item_vore_blacklist)) - to_chat(user, "You are hard-wired to not ingest this item.") + to_chat(user, span_warning("You are hard-wired to not ingest this item.")) return if(istype(target, /obj/item) || istype(target, /obj/effect/decal/remains)) var/obj/target_obj = target if(target_obj.w_class > ITEMSIZE_LARGE) - to_chat(user, "\The [target] is too large to fit into your [src.name]") + to_chat(user, span_warning("\The [target] is too large to fit into your [src.name]")) return - user.visible_message("[hound.name] is ingesting [target.name] into their [src.name].", "You start ingesting [target] into your [src.name]...") + user.visible_message(span_warning("[hound.name] is ingesting [target.name] into their [src.name]."), span_notice("You start ingesting [target] into your [src.name]...")) if(do_after(user, 30, target) && length(contents) < max_item_count) target.forceMove(src) - user.visible_message("[hound.name]'s [src.name] groans lightly as [target.name] slips inside.", "Your [src.name] groans lightly as [target] slips inside.") - playsound(src, gulpsound, vol = 60, vary = 1, falloff = 0.1, preference = /datum/client_preference/eating_noises) + user.visible_message(span_warning("[hound.name]'s [src.name] groans lightly as [target.name] slips inside."), span_notice("Your [src.name] groans lightly as [target] slips inside.")) + playsound(src, gulpsound, vol = 60, vary = 1, falloff = 0.1, preference = /datum/preference/toggle/eating_noises) if(analyzer && istype(target,/obj/item)) var/obj/item/tech_item = target var/list/tech_levels = list() for(var/T in tech_item.origin_tech) tech_levels += "\The [tech_item] has level [tech_item.origin_tech[T]] in [CallTechName(T)]." - to_chat(user, "[jointext(tech_levels, "
    ")]
    ") + to_chat(user, span_notice("[jointext(tech_levels, "
    ")]")) if(delivery) if(islist(deliverylists[delivery_tag])) deliverylists[delivery_tag] |= target - to_chat(user, "\The [target.name] added to cargo compartment slot: [delivery_tag].") + to_chat(user, span_notice("\The [target.name] added to cargo compartment slot: [delivery_tag].")) update_patient() return if(istype(target, /mob/living/simple_mob/animal/passive/mouse)) //Edible mice, dead or alive whatever. Mostly for carcass picking you cruel bastard :v var/mob/living/simple_mob/trashmouse = target - user.visible_message("[hound.name] is ingesting [trashmouse] into their [src.name].", "You start ingesting [trashmouse] into your [src.name]...") + user.visible_message(span_warning("[hound.name] is ingesting [trashmouse] into their [src.name]."), span_notice("You start ingesting [trashmouse] into your [src.name]...")) if(do_after(user, 30, trashmouse) && length(contents) < max_item_count) trashmouse.forceMove(src) trashmouse.reset_view(src) - user.visible_message("[hound.name]'s [src.name] groans lightly as [trashmouse] slips inside.", "Your [src.name] groans lightly as [trashmouse] slips inside.") - playsound(src, gulpsound, vol = 60, vary = 1, falloff = 0.1, preference = /datum/client_preference/eating_noises) + user.visible_message(span_warning("[hound.name]'s [src.name] groans lightly as [trashmouse] slips inside."), span_notice("Your [src.name] groans lightly as [trashmouse] slips inside.")) + playsound(src, gulpsound, vol = 60, vary = 1, falloff = 0.1, preference = /datum/preference/toggle/eating_noises) if(delivery) if(islist(deliverylists[delivery_tag])) deliverylists[delivery_tag] |= trashmouse - to_chat(user, "\The [trashmouse] added to cargo compartment slot: [delivery_tag].") + to_chat(user, span_notice("\The [trashmouse] added to cargo compartment slot: [delivery_tag].")) update_patient() return else if(ishuman(target)) var/mob/living/carbon/human/trashman = target if(patient) - to_chat(user, "Your [src.name] is already occupied.") + to_chat(user, span_warning("Your [src.name] is already occupied.")) return if(trashman.buckled) - to_chat(user, "[trashman] is buckled and can not be put into your [src.name].") + to_chat(user, span_warning("[trashman] is buckled and can not be put into your [src.name].")) return - user.visible_message("[hound.name] is ingesting [trashman] into their [src.name].", "You start ingesting [trashman] into your [src.name]...") + user.visible_message(span_warning("[hound.name] is ingesting [trashman] into their [src.name]."), span_notice("You start ingesting [trashman] into your [src.name]...")) if(do_after(user, 30, trashman) && !patient && !trashman.buckled && length(contents) < max_item_count) trashman.forceMove(src) trashman.reset_view(src) START_PROCESSING(SSobj, src) - user.visible_message("[hound.name]'s [src.name] groans lightly as [trashman] slips inside.", "Your [src.name] groans lightly as [trashman] slips inside.") + user.visible_message(span_warning("[hound.name]'s [src.name] groans lightly as [trashman] slips inside."), span_notice("Your [src.name] groans lightly as [trashman] slips inside.")) log_admin("[key_name(hound)] has eaten [key_name(patient)] with a cyborg belly. ([hound ? "JMP" : "null"])") - playsound(src, gulpsound, vol = 100, vary = 1, falloff = 0.1, preference = /datum/client_preference/eating_noises) + playsound(src, gulpsound, vol = 100, vary = 1, falloff = 0.1, preference = /datum/preference/toggle/eating_noises) if(delivery) if(islist(deliverylists[delivery_tag])) deliverylists[delivery_tag] |= trashman - to_chat(user, "\The [trashman] added to cargo compartment slot: [delivery_tag].") - to_chat(trashman, "[hound.name] has added you to their cargo compartment slot: [delivery_tag].") + to_chat(user, span_notice("\The [trashman] added to cargo compartment slot: [delivery_tag].")) + to_chat(trashman, span_notice("[hound.name] has added you to their cargo compartment slot: [delivery_tag].")) update_patient() return return @@ -146,12 +146,12 @@ else if(ishuman(target)) var/mob/living/carbon/human/H = target if(H.buckled) - to_chat(user, "The user is buckled and can not be put into your [src.name].") + to_chat(user, span_warning("The user is buckled and can not be put into your [src.name].")) return if(patient) - to_chat(user, "Your [src.name] is already occupied.") + to_chat(user, span_warning("Your [src.name] is already occupied.")) return - user.visible_message("[hound.name] is ingesting [H.name] into their [src.name].", "You start ingesting [H] into your [src]...") + user.visible_message(span_warning("[hound.name] is ingesting [H.name] into their [src.name]."), span_notice("You start ingesting [H] into your [src]...")) if(!patient && !H.buckled && do_after (user, 50, H)) if(!proximity) return //If they moved away, you can't eat them. @@ -162,11 +162,11 @@ H.reset_view(src) update_patient() START_PROCESSING(SSobj, src) - user.visible_message("[hound.name]'s [src.name] lights up as [H.name] slips inside.", "Your [src] lights up as [H] slips inside. Life support functions engaged.") + user.visible_message(span_warning("[hound.name]'s [src.name] lights up as [H.name] slips inside."), span_notice("Your [src] lights up as [H] slips inside. Life support functions engaged.")) log_admin("[key_name(hound)] has eaten [key_name(patient)] with a cyborg belly. ([hound ? "JMP" : "null"])") - playsound(src, gulpsound, vol = 100, vary = 1, falloff = 0.1, preference = /datum/client_preference/eating_noises) + playsound(src, gulpsound, vol = 100, vary = 1, falloff = 0.1, preference = /datum/preference/toggle/eating_noises) -/obj/item/device/dogborg/sleeper/proc/ingest_atom(var/atom/ingesting) +/obj/item/dogborg/sleeper/proc/ingest_atom(var/atom/ingesting) if (!ingesting || ingesting == hound) return var/obj/belly/belly = hound.vore_selected @@ -178,8 +178,8 @@ var/obj/item/to_eat = ingesting if (is_type_in_list(to_eat, item_vore_blacklist)) return - if (istype(to_eat, /obj/item/weapon/holder)) //just in case - var/obj/item/weapon/holder/micro = ingesting + if (istype(to_eat, /obj/item/holder)) //just in case + var/obj/item/holder/micro = ingesting var/delete_holder = TRUE for (var/mob/living/M in micro.contents) if (!ingest_living(M, belly) || M.loc == micro) @@ -191,21 +191,21 @@ to_eat.forceMove(belly) log_admin("VORE: [hound] used their [src] to swallow [to_eat].") -/obj/item/device/dogborg/sleeper/proc/ingest_living(var/mob/living/victim, var/obj/belly/belly) +/obj/item/dogborg/sleeper/proc/ingest_living(var/mob/living/victim, var/obj/belly/belly) if (victim.devourable && is_vore_predator(hound)) belly.nom_mob(victim, hound) add_attack_logs(hound, victim, "Eaten via [belly.name]") return TRUE return FALSE -/obj/item/device/dogborg/sleeper/proc/go_out() +/obj/item/dogborg/sleeper/proc/go_out() hound = src.loc items_preserved.Cut() cleaning = 0 for(var/list/dlist in deliverylists) dlist.Cut() if(length(contents) > 0) - hound.visible_message("[hound.name] empties out their contents via their [eject_port] port.", "You empty your contents via your [eject_port] port.") + hound.visible_message(span_warning("[hound.name] empties out their contents via their [eject_port] port."), span_notice("You empty your contents via your [eject_port] port.")) for(var/C in contents) if(ishuman(C)) var/mob/living/carbon/human/person = C @@ -217,12 +217,12 @@ playsound(src, 'sound/effects/splat.ogg', 50, 1) update_patient() -/obj/item/device/dogborg/sleeper/proc/vore_ingest_all() +/obj/item/dogborg/sleeper/proc/vore_ingest_all() hound = src.loc if (!istype(hound) || length(contents) <= 0) return if (!hound.vore_selected) - to_chat(hound, "You don't have a belly selected to empty the contents into!") + to_chat(hound, span_warning("You don't have a belly selected to empty the contents into!")) return for (var/C in contents) if (isliving(C) || isitem(C)) @@ -230,18 +230,18 @@ hound.updateVRPanel() update_patient() -/obj/item/device/dogborg/sleeper/proc/drain(var/amt = 3) //Slightly reduced cost (before, it was always injecting inaprov) +/obj/item/dogborg/sleeper/proc/drain(var/amt = 3) //Slightly reduced cost (before, it was always injecting inaprov) hound = src.loc - if(istype(hound,/obj/item/weapon/robot_module)) + if(istype(hound,/obj/item/robot_module)) hound = hound.loc hound.cell.charge = hound.cell.charge - amt -/obj/item/device/dogborg/sleeper/attack_self(mob/user) +/obj/item/dogborg/sleeper/attack_self(mob/user) if(..()) return sleeperUI(user) -/obj/item/device/dogborg/sleeper/proc/sleeperUI(mob/user) +/obj/item/dogborg/sleeper/proc/sleeperUI(mob/user) var/dat = "[name] Console
    " if(islist(injection_chems)) //Only display this if we're a drug-dispensing doggo. @@ -255,7 +255,7 @@ for(var/re in injection_chems) var/datum/reagent/C = SSchemistry.chemical_reagents[re] if(C) - dat += "Inject [C.name]
    " + dat += span_linkOff("Inject [C.name]") + "
    " dat += "

    [name] Status

    " dat += "
    " @@ -266,7 +266,7 @@ if(!cleaning) dat += "Self-Clean" else - dat += "Self-Clean" + dat += span_linkOff("Self-Clean") if(medsensor) dat += "Analyze Patient" if(delivery) @@ -317,32 +317,37 @@ switch(patient.stat) if(0) - dat += "Conscious" + dat += span_green("Conscious") if(1) - dat += "Unconscious" + dat += span_orange("Unconscious") else - dat += "DEAD" - - var/pulsecolor = (patient.pulse == PULSE_NONE || patient.pulse == PULSE_THREADY ? "color:red;" : "color:white;") - var/healthcolor = (patient.health > 0 ? "color:white;" : "color:red;") - var/brutecolor = (patient.getBruteLoss() < 60 ? "color:gray;" : "color:red;") - var/o2color = (patient.getOxyLoss() < 60 ? "color:gray;" : "color:red;") - var/toxcolor = (patient.getToxLoss() < 60 ? "color:gray;" : "color:red;") - var/burncolor = (patient.getFireLoss() < 60 ? "color:gray;" : "color:red;") - - dat += "\t-Pulse, bpm: [patient.get_pulse(GETPULSE_TOOL)]
    " - dat += "\t-Overall Health %: [round(100 * (patient.health / patient.getMaxHealth()))]
    " - dat += "\t-Brute Damage %: [patient.getBruteLoss()]
    " - dat += "\t-Respiratory Damage %: [patient.getOxyLoss()]
    " - dat += "\t-Toxin Content %: [patient.getToxLoss()]
    " - dat += "\t-Burn Severity %: [patient.getFireLoss()]
    " + dat += span_red("DEAD") + + var/pulse = "\t-Pulse, bpm: [patient.get_pulse(GETPULSE_TOOL)]" + dat += (patient.pulse == PULSE_NONE || patient.pulse == PULSE_THREADY ? span_red(pulse) : span_white(pulse)) + dat += "
    " + var/health = "\t-Overall Health %: [round(100 * (patient.health / patient.getMaxHealth()))]" + dat += (patient.health > 0 ? span_white(health) : span_red(health)) + dat += "
    " + var/brute = "\t-Brute Damage %: [patient.getBruteLoss()]" + dat += (patient.getBruteLoss() < 60 ? span_gray(brute) : span_red(brute)) + dat += "
    " + var/oxygen = "\t-Respiratory Damage %: [patient.getOxyLoss()]" + dat += (patient.getOxyLoss() < 60 ? span_gray(oxygen) : span_red(oxygen)) + dat += "
    " + var/toxic = "\t-Toxin Content %: [patient.getToxLoss()]" + dat += (patient.getToxLoss() < 60 ? span_gray(toxic) : span_red(toxic)) + dat += "
    " + var/burn = "\t-Burn Severity %: [patient.getFireLoss()]" + dat += (patient.getFireLoss() < 60 ? span_gray(burn) : span_red(burn)) + dat += "
    " if(round(patient.paralysis / 4) >= 1) dat += text("
    Patient paralyzed for: []
    ", round(patient.paralysis / 4) >= 1 ? "[round(patient.paralysis / 4)] seconds" : "None") if(patient.getBrainLoss()) - dat += "
    Significant brain damage detected.

    " + dat += "
    " + span_orange("Significant brain damage detected.") + "

    " if(patient.getCloneLoss()) - dat += "
    Patient may be improperly cloned.

    " + dat += "
    " + span_orange("Patient may be improperly cloned.") + "

    " if(patient.reagents.reagent_list.len) for(var/datum/reagent/R in patient.reagents.reagent_list) dat += "
    [R.name]:
    [round(R.volume, 0.1)] units

    " @@ -354,7 +359,7 @@ UI_open = TRUE return -/obj/item/device/dogborg/sleeper/Topic(href, href_list) +/obj/item/dogborg/sleeper/Topic(href, href_list) if(..() || usr == patient) return usr.set_machine(src) @@ -382,7 +387,7 @@ START_PROCESSING(SSobj, src) update_patient() if(patient) - to_chat(patient, "[hound.name]'s [src.name] fills with caustic enzymes around you!") + to_chat(patient, span_danger("[hound.name]'s [src.name] fills with caustic enzymes around you!")) return if(cleaning) sleeperUI(usr) @@ -410,7 +415,7 @@ return if(href_list["slot_eject"]) if(length(deliverylists[delivery_tag]) > 0) - hound.visible_message("[hound.name] empties out their cargo compartment via their [eject_port] port.", "You empty your cargo compartment via your [eject_port] port.") + hound.visible_message(span_warning("[hound.name] empties out their cargo compartment via their [eject_port] port."), span_notice("You empty your cargo compartment via your [eject_port] port.")) for(var/C in deliverylists[delivery_tag]) if(ishuman(C)) var/mob/living/carbon/human/person = C @@ -447,30 +452,30 @@ if(href_list["inject"] == "inaprovaline" || patient.health > min_health) inject_chem(usr, href_list["inject"]) else - to_chat(usr, "ERROR: Subject is not in stable condition for injections.") + to_chat(usr, span_notice("ERROR: Subject is not in stable condition for injections.")) else - to_chat(usr, "ERROR: Subject cannot metabolise chemicals.") + to_chat(usr, span_notice("ERROR: Subject cannot metabolise chemicals.")) updateUsrDialog() sleeperUI(usr) //Needs a callback to boop the page to refresh. return -/obj/item/device/dogborg/sleeper/proc/inject_chem(mob/user, chem) +/obj/item/dogborg/sleeper/proc/inject_chem(mob/user, chem) if(patient && patient.reagents) if(chem in injection_chems + "inaprovaline") if(hound.cell.charge < 800) //This is so borgs don't kill themselves with it. - to_chat(hound, "You don't have enough power to synthesize fluids.") + to_chat(hound, span_notice("You don't have enough power to synthesize fluids.")) return else if(patient.reagents.get_reagent_amount(chem) + 10 >= 20) //Preventing people from accidentally killing themselves by trying to inject too many chemicals! - to_chat(hound, "Your stomach is currently too full of fluids to secrete more fluids of this kind.") + to_chat(hound, span_notice("Your stomach is currently too full of fluids to secrete more fluids of this kind.")) else if(patient.reagents.get_reagent_amount(chem) + 10 <= 20) //No overdoses for you patient.reagents.add_reagent(chem, inject_amount) drain(SLEEPER_INJECT_COST) var/units = round(patient.reagents.get_reagent_amount(chem)) - to_chat(hound, "Injecting [units] unit\s of [SSchemistry.chemical_reagents[chem]] into occupant.") //If they were immersed, the reagents wouldn't leave with them. + to_chat(hound, span_notice("Injecting [units] unit\s of [SSchemistry.chemical_reagents[chem]] into occupant.")) //If they were immersed, the reagents wouldn't leave with them. //For if the dogborg's existing patient uh, doesn't make it. -/obj/item/device/dogborg/sleeper/proc/update_patient() +/obj/item/dogborg/sleeper/proc/update_patient() hound = src.loc if(!istype(hound,/mob/living/silicon/robot)) return @@ -529,7 +534,7 @@ return //Gurgleborg process -/obj/item/device/dogborg/sleeper/proc/clean_cycle() +/obj/item/dogborg/sleeper/proc/clean_cycle() //Sanity? Maybe not required. More like if indigestible person OOC escapes. for(var/I in items_preserved) @@ -551,11 +556,11 @@ 'sound/vore/death8.ogg', 'sound/vore/death9.ogg', 'sound/vore/death10.ogg') - playsound(src, finisher, vol = 100, vary = 1, falloff = 0.1, ignore_walls = TRUE, preference = /datum/client_preference/digestion_noises) - to_chat(hound, "Your [src.name] is now clean. Ending self-cleaning cycle.") + playsound(src, finisher, vol = 100, vary = 1, falloff = 0.1, ignore_walls = TRUE, preference = /datum/preference/toggle/digestion_noises) + to_chat(hound, span_notice("Your [src.name] is now clean. Ending self-cleaning cycle.")) cleaning = 0 update_patient() - playsound(src, 'sound/machines/ding.ogg', vol = 100, vary = 1, falloff = 0.1, ignore_walls = TRUE, preference = /datum/client_preference/digestion_noises) + playsound(src, 'sound/machines/ding.ogg', vol = 100, vary = 1, falloff = 0.1, ignore_walls = TRUE, preference = /datum/preference/toggle/digestion_noises) return if(prob(20)) @@ -572,9 +577,9 @@ 'sound/vore/digest10.ogg', 'sound/vore/digest11.ogg', 'sound/vore/digest12.ogg') - playsound(src, churnsound, vol = 100, vary = 1, falloff = 0.1, ignore_walls = TRUE, preference = /datum/client_preference/digestion_noises) + playsound(src, churnsound, vol = 100, vary = 1, falloff = 0.1, ignore_walls = TRUE, preference = /datum/preference/toggle/digestion_noises) //If the timing is right, and there are items to be touched - if(air_master.current_cycle%3==1 && length(touchable_items)) + if(SSair.current_cycle%3==1 && length(touchable_items)) //Burn all the mobs or add them to the exclusion list for(var/mob/living/T in (touchable_items)) @@ -593,8 +598,8 @@ if(T.stat == DEAD) if(ishuman(T)) log_admin("[key_name(hound)] has digested [key_name(T)] with a cyborg belly. ([hound ? "JMP" : "null"])") - to_chat(hound, "You feel your belly slowly churn around [T], breaking them down into a soft slurry to be used as power for your systems.") - to_chat(T, "You feel [hound]'s belly slowly churn around your form, breaking you down into a soft slurry to be used as power for [hound]'s systems.") + to_chat(hound, span_notice("You feel your belly slowly churn around [T], breaking them down into a soft slurry to be used as power for your systems.")) + to_chat(T, span_notice("You feel [hound]'s belly slowly churn around your form, breaking you down into a soft slurry to be used as power for [hound]'s systems.")) var/deathsound = pick( 'sound/vore/death1.ogg', 'sound/vore/death2.ogg', @@ -606,13 +611,13 @@ 'sound/vore/death8.ogg', 'sound/vore/death9.ogg', 'sound/vore/death10.ogg') - playsound(src, deathsound, vol = 100, vary = 1, falloff = 0.1, ignore_walls = TRUE, preference = /datum/client_preference/digestion_noises) + playsound(src, deathsound, vol = 100, vary = 1, falloff = 0.1, ignore_walls = TRUE, preference = /datum/preference/toggle/digestion_noises) if(is_vore_predator(T)) for(var/obj/belly/B as anything in T.vore_organs) for(var/atom/movable/thing in B) thing.forceMove(src) if(ismob(thing)) - to_chat(thing, "As [T] melts away around you, you find yourself in [hound]'s [name].") + to_chat(thing, span_filter_notice("As [T] melts away around you, you find yourself in [hound]'s [name].")) for(var/obj/item/I in T) if(istype(I,/obj/item/organ/internal/mmi_holder/posibrain)) var/obj/item/organ/internal/mmi_holder/MMI = I @@ -671,7 +676,7 @@ update_patient() return -/obj/item/device/dogborg/sleeper/process() +/obj/item/dogborg/sleeper/process() if(!istype(src.loc,/mob/living/silicon/robot)) return @@ -695,7 +700,7 @@ STOP_PROCESSING(SSobj, src) return -/obj/item/device/dogborg/sleeper/K9 //The K9 portabrig +/obj/item/dogborg/sleeper/K9 //The K9 portabrig name = "Brig-Belly" desc = "A mounted portable-brig that holds criminals for processing or 'processing'." icon_state = "sleeperb" @@ -703,7 +708,7 @@ stabilizer = TRUE medsensor = FALSE -/obj/item/device/dogborg/sleeper/compactor //Janihound gut. +/obj/item/dogborg/sleeper/compactor //Janihound gut. name = "Garbage Processor" desc = "A mounted garbage compactor unit with fuel processor, capable of processing any kind of contaminant." icon_state = "compactor" @@ -714,7 +719,7 @@ stabilizer = FALSE medsensor = FALSE -/obj/item/device/dogborg/sleeper/compactor/analyzer //sci-borg gut. +/obj/item/dogborg/sleeper/compactor/analyzer //sci-borg gut. name = "Digestive Analyzer" desc = "A mounted destructive analyzer unit with fuel processor, for 'deep scientific analysis'." icon_state = "analyzer" @@ -723,7 +728,7 @@ analyzer = TRUE recycles = FALSE -/obj/item/device/dogborg/sleeper/compactor/decompiler +/obj/item/dogborg/sleeper/compactor/decompiler name = "Matter Decompiler" desc = "A mounted matter decompiling unit with fuel processor, for recycling anything and everyone." icon_state = "decompiler" @@ -731,7 +736,7 @@ decompiler = TRUE recycles = TRUE /* -/obj/item/device/dogborg/sleeper/compactor/delivery //Unfinished and unimplemented, still testing. +/obj/item/dogborg/sleeper/compactor/delivery //Unfinished and unimplemented, still testing. name = "Cargo Belly" desc = "A mounted cargo bay unit for tagged deliveries." icon_state = "decompiler" @@ -739,7 +744,7 @@ delivery = TRUE recycles = FALSE */ -/obj/item/device/dogborg/sleeper/compactor/supply //Miner borg belly +/obj/item/dogborg/sleeper/compactor/supply //Miner borg belly name = "Supply Storage" desc = "A mounted survival unit with fuel processor, helpful with both deliveries and assisting injured miners." icon_state = "sleeperc" @@ -749,7 +754,7 @@ stabilizer = TRUE medsensor = FALSE -/obj/item/device/dogborg/sleeper/compactor/brewer +/obj/item/dogborg/sleeper/compactor/brewer name = "Brew Belly" desc = "A mounted drunk tank unit with fuel processor, for putting away particularly rowdy patrons." icon_state = "brewer" @@ -759,26 +764,26 @@ stabilizer = TRUE medsensor = FALSE -/obj/item/device/dogborg/sleeper/compactor/generic +/obj/item/dogborg/sleeper/compactor/generic name = "Internal Cache" desc = "An internal storage of no particularly specific purpose.." icon_state = "sleeperd" max_item_count = 10 recycles = FALSE -/obj/item/device/dogborg/sleeper/K9/ert +/obj/item/dogborg/sleeper/K9/ert name = "Emergency Storage" desc = "A mounted 'emergency containment cell'." icon_state = "sleeperert" injection_chems = list("inaprovaline", "tramadol") // short list -/obj/item/device/dogborg/sleeper/trauma //Trauma borg belly +/obj/item/dogborg/sleeper/trauma //Trauma borg belly name = "Recovery Belly" desc = "A downgraded model of the sleeper belly, intended primarily for post-surgery recovery." icon_state = "sleeper" injection_chems = list("inaprovaline", "dexalin", "tricordrazine", "spaceacillin", "oxycodone") -/obj/item/device/dogborg/sleeper/lost +/obj/item/dogborg/sleeper/lost name = "Multipurpose Belly" desc = "A multipurpose belly, capable of functioning as both sleeper and processor." icon_state = "sleeperlost" @@ -788,20 +793,20 @@ stabilizer = TRUE medsensor = TRUE -/obj/item/device/dogborg/sleeper/syndie +/obj/item/dogborg/sleeper/syndie name = "Combat Triage Belly" desc = "A mounted sleeper that stabilizes patients and can inject reagents in the borg's reserves. This one is for more extreme combat scenarios." icon_state = "sleepersyndiemed" injection_chems = list("healing_nanites", "hyperzine", "tramadol", "oxycodone", "spaceacillin", "peridaxon", "osteodaxon", "myelamine", "synthblood") digest_multiplier = 2 -/obj/item/device/dogborg/sleeper/K9/syndie +/obj/item/dogborg/sleeper/K9/syndie name = "Cell-Belly" desc = "A mounted portable cell that holds anyone you wish for processing or 'processing'." icon_state = "sleepersyndiebrig" digest_multiplier = 3 -/obj/item/device/dogborg/sleeper/compactor/syndie +/obj/item/dogborg/sleeper/compactor/syndie name = "Advanced Matter Decompiler" desc = "A mounted matter decompiling unit with fuel processor, for recycling anything and everyone in your way." icon_state = "sleepersyndieeng" diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm index fadd1fbf13c..c7c1a1a2fbc 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone.dm @@ -54,7 +54,7 @@ var/list/mob_hat_cache = list() var/mail_destination = "" var/obj/machinery/drone_fabricator/master_fabricator var/law_type = /datum/ai_laws/drone - var/module_type = /obj/item/weapon/robot_module/drone + var/module_type = /obj/item/robot_module/drone var/obj/item/hat var/hat_x_offset = 0 var/hat_y_offset = -13 @@ -63,7 +63,7 @@ var/list/mob_hat_cache = list() var/foreign_droid = FALSE - holder_type = /obj/item/weapon/holder/drone + holder_type = /obj/item/holder/drone can_be_antagged = FALSE @@ -84,7 +84,7 @@ var/list/mob_hat_cache = list() name = "construction drone" icon_state = "constructiondrone" law_type = /datum/ai_laws/construction_drone - module_type = /obj/item/weapon/robot_module/drone/construction + module_type = /obj/item/robot_module/drone/construction hat_x_offset = 1 hat_y_offset = -12 can_pull_mobs = MOB_PULL_SAME @@ -95,7 +95,7 @@ var/list/mob_hat_cache = list() icon_state = "miningdrone" item_state = "constructiondrone" law_type = /datum/ai_laws/mining_drone - module_type = /obj/item/weapon/robot_module/drone/mining + module_type = /obj/item/robot_module/drone/mining hat_x_offset = 1 hat_y_offset = -12 can_pull_mobs = MOB_PULL_SAME @@ -104,8 +104,8 @@ var/list/mob_hat_cache = list() /mob/living/silicon/robot/drone/New() ..() - verbs += /mob/living/proc/ventcrawl - verbs += /mob/living/proc/hide + add_verb(src, /mob/living/proc/ventcrawl) + add_verb(src, /mob/living/proc/hide) remove_language("Robot Talk") add_language("Robot Talk", 0) add_language("Drone Talk", 1) @@ -123,7 +123,7 @@ var/list/mob_hat_cache = list() var/datum/robot_component/C = components[V] C.max_damage = 10 - verbs -= /mob/living/silicon/robot/verb/namepick + remove_verb(src, /mob/living/silicon/robot/verb/namepick) if(can_pick_shell) var/random = pick(shell_types) @@ -135,7 +135,7 @@ var/list/mob_hat_cache = list() /mob/living/silicon/robot/drone/init() if(!scrambledcodes && !foreign_droid) - aiCamera = new/obj/item/device/camera/siliconcam/drone_camera(src) + aiCamera = new/obj/item/camera/siliconcam/drone_camera(src) additional_law_channels["Drone"] = ":d" if(!laws) laws = new law_type if(!module) module = new module_type(src) @@ -146,7 +146,7 @@ var/list/mob_hat_cache = list() /mob/living/silicon/robot/drone/Login() . = ..() if(can_pick_shell) - to_chat(src, "You can select a shell using the 'Robot Commands' > 'Customize Appearance'") + to_chat(src, span_infoplain(span_bold("You can select a shell using the 'Abilities.Silicon' > 'Customize Appearance'"))) //Redefining some robot procs... /mob/living/silicon/robot/drone/SetName(pickedName as text) @@ -172,10 +172,10 @@ var/list/mob_hat_cache = list() /mob/living/silicon/robot/drone/verb/pick_shell() set name = "Customize Appearance" - set category = "Robot Commands" + set category = "Abilities.Settings" if(!can_pick_shell) - to_chat(src, "You already selected a shell or this drone type isn't customizable.") + to_chat(src, span_warning("You already selected a shell or this drone type isn't customizable.")) return var/list/choices = shell_types.Copy() @@ -203,9 +203,6 @@ var/list/mob_hat_cache = list() can_pick_shell = FALSE update_icon() -/mob/living/silicon/robot/drone/choose_icon() - return - /mob/living/silicon/robot/drone/pick_module() return @@ -217,46 +214,46 @@ var/list/mob_hat_cache = list() update_icon() //Drones cannot be upgraded with borg modules so we need to catch some items before they get used in ..(). -/mob/living/silicon/robot/drone/attackby(var/obj/item/weapon/W, var/mob/user) +/mob/living/silicon/robot/drone/attackby(var/obj/item/W, var/mob/user) if(user.a_intent == "help" && istype(W, /obj/item/clothing/head)) if(hat) - to_chat(user, "\The [src] is already wearing \the [hat].") + to_chat(user, span_warning("\The [src] is already wearing \the [hat].")) return user.unEquip(W) wear_hat(W) - user.visible_message("\The [user] puts \the [W] on \the [src].") + user.visible_message(span_infoplain(span_bold("\The [user]") + " puts \the [W] on \the [src].")) return else if(istype(W, /obj/item/borg/upgrade/)) - to_chat(user, "\The [src] is not compatible with \the [W].") + to_chat(user, span_danger("\The [src] is not compatible with \the [W].")) return else if (W.has_tool_quality(TOOL_CROWBAR)) - to_chat(user, "\The [src] is hermetically sealed. You can't open the case.") + to_chat(user, span_danger("\The [src] is hermetically sealed. You can't open the case.")) return - else if (istype(W, /obj/item/weapon/card/id)||istype(W, /obj/item/device/pda)) + else if (istype(W, /obj/item/card/id)||istype(W, /obj/item/pda)) var/datum/gender/TU = gender_datums[user.get_visible_gender()] if(stat == 2) - if(!config.allow_drone_spawn || emagged || health < -35) //It's dead, Dave. - to_chat(user, "The interface is fried, and a distressing burned smell wafts from the robot's interior. You're not rebooting this one.") + if(!CONFIG_GET(flag/allow_drone_spawn) || emagged || health < -35) //It's dead, Dave. + to_chat(user, span_danger("The interface is fried, and a distressing burned smell wafts from the robot's interior. You're not rebooting this one.")) return if(!allowed(usr)) - to_chat(user, "Access denied.") + to_chat(user, span_danger("Access denied.")) return - user.visible_message("\The [user] swipes [TU.his] ID card through \the [src], attempting to reboot it.", ">You swipe your ID card through \the [src], attempting to reboot it.") + user.visible_message(span_danger("\The [user] swipes [TU.his] ID card through \the [src], attempting to reboot it."), span_danger(">You swipe your ID card through \the [src], attempting to reboot it.")) var/drones = 0 for(var/mob/living/silicon/robot/drone/D in player_list) drones++ - if(drones < config.max_maint_drones) + if(drones < CONFIG_GET(number/max_maint_drones)) request_player() return else - user.visible_message("\The [user] swipes [TU.his] ID card through \the [src], attempting to shut it down.", "You swipe your ID card through \the [src], attempting to shut it down.") + user.visible_message(span_danger("\The [user] swipes [TU.his] ID card through \the [src], attempting to shut it down."), span_danger("You swipe your ID card through \the [src], attempting to shut it down.")) if(emagged) return @@ -264,7 +261,7 @@ var/list/mob_hat_cache = list() if(allowed(usr)) shut_down() else - to_chat(user, "Access denied.") + to_chat(user, span_danger("Access denied.")) return @@ -272,21 +269,21 @@ var/list/mob_hat_cache = list() /mob/living/silicon/robot/drone/emag_act(var/remaining_charges, var/mob/user) if(!client || stat == 2) - to_chat(user, "There's not much point subverting this heap of junk.") + to_chat(user, span_danger("There's not much point subverting this heap of junk.")) return if(emagged) - to_chat(src, "\The [user] attempts to load subversive software into you, but your hacked subroutines ignore the attempt.") - to_chat(user, "You attempt to subvert [src], but the sequencer has no effect.") + to_chat(src, span_danger("\The [user] attempts to load subversive software into you, but your hacked subroutines ignore the attempt.")) + to_chat(user, span_danger("You attempt to subvert [src], but the sequencer has no effect.")) return - to_chat(user, "You swipe the sequencer across [src]'s interface and watch its eyes flicker.") + to_chat(user, span_danger("You swipe the sequencer across [src]'s interface and watch its eyes flicker.")) - to_chat(src, "You feel a sudden burst of malware loaded into your execute-as-root buffer. Your tiny brain methodically parses, loads and executes the script.") + to_chat(src, span_danger("You feel a sudden burst of malware loaded into your execute-as-root buffer. Your tiny brain methodically parses, loads and executes the script.")) log_game("[key_name(user)] emagged drone [key_name(src)]. Laws overridden.") var/time = time2text(world.realtime,"hh:mm:ss") - lawchanges.Add("[time] : [user.name]([user.key]) emagged [name]([key])") + lawchanges.Add("[time] " + span_bold(":") + " [user.name]([user.key]) emagged [name]([key])") emagged = 1 lawupdate = 0 @@ -297,9 +294,9 @@ var/list/mob_hat_cache = list() var/datum/gender/TU = gender_datums[user.get_visible_gender()] set_zeroth_law("Only [user.real_name] and people [TU.he] designate[TU.s] as being such are operatives.") - to_chat(src, "Obey these laws:") + to_chat(src, span_infoplain(span_bold("Obey these laws:"))) laws.show_laws(src) - to_chat(src, "ALERT: [user.real_name] is your new master. Obey your new laws and \his commands.") + to_chat(src, span_danger("ALERT: [user.real_name] is your new master. Obey your new laws and \his commands.")) return 1 //DRONE LIFE/DEATH @@ -333,18 +330,18 @@ var/list/mob_hat_cache = list() /mob/living/silicon/robot/drone/proc/law_resync() if(stat != DEAD) if(emagged) - to_chat(src, "You feel something attempting to modify your programming, but your hacked subroutines are unaffected.") + to_chat(src, span_danger("You feel something attempting to modify your programming, but your hacked subroutines are unaffected.")) else - to_chat(src, "A reset-to-factory directive packet filters through your data connection, and you obediently modify your programming to suit it.") + to_chat(src, span_danger("A reset-to-factory directive packet filters through your data connection, and you obediently modify your programming to suit it.")) full_law_reset() show_laws() /mob/living/silicon/robot/drone/proc/shut_down() if(stat != DEAD) if(emagged) - to_chat(src, "You feel a system kill order percolate through your tiny brain, but it doesn't seem like a good idea to you.") + to_chat(src, span_danger("You feel a system kill order percolate through your tiny brain, but it doesn't seem like a good idea to you.")) else - to_chat(src, "You feel a system kill order percolate through your tiny brain, and you obediently destroy yourself.") + to_chat(src, span_danger("You feel a system kill order percolate through your tiny brain, and you obediently destroy yourself.")) death() /mob/living/silicon/robot/drone/proc/full_law_reset() @@ -357,7 +354,7 @@ var/list/mob_hat_cache = list() /mob/living/silicon/robot/drone/proc/request_player() for(var/mob/observer/dead/O in player_list) - if(jobban_isbanned(O, "Cyborg")) + if(jobban_isbanned(O, JOB_CYBORG)) continue if(O.client) if(O.client.prefs.be_special & BE_PAI) @@ -365,7 +362,7 @@ var/list/mob_hat_cache = list() /mob/living/silicon/robot/drone/proc/question(var/client/C) spawn(0) - if(!C || jobban_isbanned(C,"Cyborg")) return + if(!C || jobban_isbanned(C,JOB_CYBORG)) return var/response = tgui_alert(C, "Someone is attempting to reboot a maintenance drone. Would you like to play as one?", "Maintenance drone reboot", list("Yes", "No", "Never for this round")) if(!C || ckey) return @@ -384,27 +381,27 @@ var/list/mob_hat_cache = list() player.mob.mind.transfer_to(src) lawupdate = 0 - to_chat(src, "Systems rebooted. Loading base pattern maintenance protocol... loaded.") + to_chat(src, span_infoplain(span_bold("Systems rebooted") + " Loading base pattern maintenance protocol... " + span_bold("loaded") + ".")) full_law_reset() welcome_drone() /mob/living/silicon/robot/drone/proc/welcome_drone() - to_chat(src, "You are a maintenance drone, a tiny-brained robotic repair machine.") - to_chat(src, "You have no individual will, no personality, and no drives or urges other than your laws.") - to_chat(src, "Remember, you are lawed against interference with the crew. Also remember, you DO NOT take orders from the AI.") - to_chat(src, "Use say ;Hello to talk to other drones and say Hello to speak silently to your nearby fellows.") + to_chat(src, span_infoplain(span_bold("You are a maintenance drone, a tiny-brained robotic repair machine") + ".")) + to_chat(src, span_infoplain("You have no individual will, no personality, and no drives or urges other than your laws.")) + to_chat(src, span_infoplain("Remember, you are " + span_bold("lawed against interference with the crew") + ". Also remember, " + span_bold("you DO NOT take orders from the AI") + ".")) + to_chat(src, span_infoplain("Use " + span_bold("say ;Hello") + " to talk to other drones and " + span_bold("say Hello") + " to speak silently to your nearby fellows.")) /mob/living/silicon/robot/drone/add_robot_verbs() - src.verbs |= silicon_subsystems + add_verb(src, silicon_subsystems) /mob/living/silicon/robot/drone/remove_robot_verbs() - src.verbs -= silicon_subsystems + remove_verb(src, silicon_subsystems) /mob/living/silicon/robot/drone/construction/welcome_drone() - to_chat(src, "You are a construction drone, an autonomous engineering and fabrication system..") - to_chat(src, "You are assigned to a Sol Central construction project. The name is irrelevant. Your task is to complete construction and subsystem integration as soon as possible.") - to_chat(src, "Use :d to talk to other drones and say to speak silently to your nearby fellows.") - to_chat(src, "You do not follow orders from anyone; not the AI, not humans, and not other synthetics..") + to_chat(src, span_infoplain(span_bold("You are a construction drone, an autonomous engineering and fabrication system") + ".")) + to_chat(src, span_infoplain("You are assigned to a Sol Central construction project. The name is irrelevant. Your task is to complete construction and subsystem integration as soon as possible.")) + to_chat(src, span_infoplain("Use " + span_bold(":d") + " to talk to other drones and " + span_bold("say") + " to speak silently to your nearby fellows.")) + to_chat(src, span_infoplain(span_bold("You do not follow orders from anyone; not the AI, not humans, and not other synthetics") + ".")) /mob/living/silicon/robot/drone/construction/init() ..() diff --git a/code/modules/mob/living/silicon/robot/drone/drone_abilities.dm b/code/modules/mob/living/silicon/robot/drone/drone_abilities.dm index 3ec0cfc5678..3a4bf3e0e28 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_abilities.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_abilities.dm @@ -2,7 +2,7 @@ /mob/living/silicon/robot/drone/verb/set_mail_tag() set name = "Set Mail Tag" set desc = "Tag yourself for delivery through the disposals system." - set category = "Robot Commands" + set category = "Abilities.Silicon" var/new_tag = tgui_input_list(usr, "Select the desired destination.", "Set Mail Tag", GLOB.tagger_locations) @@ -10,13 +10,13 @@ mail_destination = "" return - to_chat(src, "You configure your internal beacon, tagging yourself for delivery to '[new_tag]'.") + to_chat(src, span_notice("You configure your internal beacon, tagging yourself for delivery to '[new_tag]'.")) mail_destination = new_tag //Auto flush if we use this verb inside a disposal chute. var/obj/machinery/disposal/D = src.loc if(istype(D)) - to_chat(src, "\The [D] acknowledges your signal.") + to_chat(src, span_notice("\The [D] acknowledges your signal.")) D.flush_count = D.flush_every_ticks return @@ -27,9 +27,9 @@ return ..() if(H.a_intent == "grab" && hat && !(H.l_hand && H.r_hand)) H.put_in_hands(hat) - H.visible_message("\The [H] removes \the [src]'s [hat].") + H.visible_message(span_danger("\The [H] removes \the [src]'s [hat].")) hat = null update_icon() return else - return ..() \ No newline at end of file + return ..() diff --git a/code/modules/mob/living/silicon/robot/drone/drone_console.dm b/code/modules/mob/living/silicon/robot/drone/drone_console.dm index fd092f30039..a67f571e1f4 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_console.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_console.dm @@ -4,7 +4,7 @@ icon_keyboard = "power_key" icon_screen = "generic" //VOREStation Edit req_access = list(access_engine_equip) - circuit = /obj/item/weapon/circuitboard/drone_control + circuit = /obj/item/circuitboard/drone_control //Used when pinging drones. var/drone_call_area = "Engineering" @@ -64,7 +64,7 @@ return data -/obj/machinery/computer/drone_control/tgui_act(action, params) +/obj/machinery/computer/drone_control/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE @@ -75,10 +75,10 @@ return drone_call_area = t_area - to_chat(usr, "You set the area selector to [drone_call_area].") + to_chat(ui.user, span_notice("You set the area selector to [drone_call_area].")) if("ping") - to_chat(usr, "You issue a maintenance request for all active drones, highlighting [drone_call_area].") + to_chat(ui.user, span_notice("You issue a maintenance request for all active drones, highlighting [drone_call_area].")) for(var/mob/living/silicon/robot/drone/D in player_list) if(D.stat == 0) to_chat(D, "-- Maintenance drone presence requested in: [drone_call_area].") @@ -87,16 +87,16 @@ var/mob/living/silicon/robot/drone/D = locate(params["ref"]) if(D.stat != 2) - to_chat(usr, "You issue a law synchronization directive for the drone.") + to_chat(ui.user, span_danger("You issue a law synchronization directive for the drone.")) D.law_resync() if("shutdown") var/mob/living/silicon/robot/drone/D = locate(params["ref"]) if(D.stat != 2) - to_chat(usr, "You issue a kill command for the unfortunate drone.") - message_admins("[key_name_admin(usr)] issued kill order for drone [key_name_admin(D)] from control console.") - log_game("[key_name(usr)] issued kill order for [key_name(src)] from control console.") + to_chat(ui.user, span_danger("You issue a kill command for the unfortunate drone.")) + message_admins("[key_name_admin(ui.user)] issued kill order for drone [key_name_admin(D)] from control console.") + log_game("[key_name(ui.user)] issued kill order for [key_name(src)] from control console.") D.shut_down() if("search_fab") @@ -108,10 +108,10 @@ continue dronefab = fab - to_chat(usr, "Drone fabricator located.") + to_chat(ui.user, span_notice("Drone fabricator located.")) return - to_chat(usr, "Unable to locate drone fabricator.") + to_chat(ui.user, span_danger("Unable to locate drone fabricator.")) if("toggle_fab") if(!dronefab) @@ -119,8 +119,8 @@ if(get_dist(src,dronefab) > 3) dronefab = null - to_chat(usr, "Unable to locate drone fabricator.") + to_chat(ui.user, span_danger("Unable to locate drone fabricator.")) return dronefab.produce_drones = !dronefab.produce_drones - to_chat(usr, "You [dronefab.produce_drones ? "enable" : "disable"] drone production in the nearby fabricator.") + to_chat(ui.user, span_notice("You [dronefab.produce_drones ? "enable" : "disable"] drone production in the nearby fabricator.")) diff --git a/code/modules/mob/living/silicon/robot/drone/drone_items.dm b/code/modules/mob/living/silicon/robot/drone/drone_items.dm index 50c0323f7cf..bb9db800610 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_items.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_items.dm @@ -1,6 +1,6 @@ //Simple borg hand. //Limited use. -/obj/item/weapon/gripper +/obj/item/gripper name = "magnetic gripper" desc = "A simple grasping tool specialized in construction and engineering work." description_info = "Ctrl-Clicking on the gripper will drop whatever it is holding.
    \ @@ -12,38 +12,40 @@ //Has a list of items that it can hold. var/list/can_hold = list( - /obj/item/weapon/cell, - /obj/item/weapon/airlock_electronics, - /obj/item/weapon/tracker_electronics, - /obj/item/weapon/module/power_control, - /obj/item/weapon/stock_parts, + /obj/item/cell, + /obj/item/airlock_electronics, + /obj/item/tracker_electronics, + /obj/item/module/power_control, + /obj/item/stock_parts, /obj/item/frame, - /obj/item/weapon/camera_assembly, - /obj/item/weapon/tank, - /obj/item/weapon/circuitboard, - /obj/item/weapon/smes_coil, - /obj/item/weapon/fuel_assembly + /obj/item/camera_assembly, + /obj/item/tank, + /obj/item/circuitboard, + /obj/item/smes_coil, + /obj/item/fuel_assembly ) var/obj/item/wrapped = null // Item currently being held. var/force_holder = null // + pickup_sound = 'sound/items/pickup/device.ogg' + drop_sound = 'sound/items/drop/device.ogg' -/obj/item/weapon/gripper/examine(mob/user) +/obj/item/gripper/examine(mob/user) . = ..() if(wrapped) - . += "\The [src] is holding \the [wrapped]." + . += span_notice("\The [src] is holding \the [wrapped].") . += wrapped.examine(user) -/obj/item/weapon/gripper/CtrlClick(mob/user) +/obj/item/gripper/CtrlClick(mob/user) drop_item() return -/obj/item/weapon/gripper/AltClick(mob/user) +/obj/item/gripper/AltClick(mob/user) drop_item() return -/obj/item/weapon/gripper/omni +/obj/item/gripper/omni name = "omni gripper" desc = "A strange grasping tool that can hold anything a human can, but still maintains the limitations of application its more limited cousins have." icon_state = "gripper-omni" @@ -51,93 +53,93 @@ can_hold = list(/obj/item) // Testing and Event gripper. // VEEEEERY limited version for mining borgs. Basically only for swapping cells and upgrading the drills. -/obj/item/weapon/gripper/miner +/obj/item/gripper/miner name = "drill maintenance gripper" desc = "A simple grasping tool for the maintenance of heavy drilling machines." icon_state = "gripper-mining" can_hold = list( - /obj/item/weapon/cell, - /obj/item/weapon/stock_parts + /obj/item/cell, + /obj/item/stock_parts ) -/obj/item/weapon/gripper/security +/obj/item/gripper/security name = "security gripper" desc = "A simple grasping tool for corporate security work." icon_state = "gripper-sec" can_hold = list( - /obj/item/weapon/paper, - /obj/item/weapon/paper_bundle, - /obj/item/weapon/pen, - /obj/item/weapon/sample, - /obj/item/weapon/forensics/sample_kit, - /obj/item/device/taperecorder, - /obj/item/device/tape, - /obj/item/device/uv_light + /obj/item/paper, + /obj/item/paper_bundle, + /obj/item/pen, + /obj/item/sample, + /obj/item/forensics/sample_kit, + /obj/item/taperecorder, + /obj/item/rectape, + /obj/item/uv_light ) -/obj/item/weapon/gripper/paperwork +/obj/item/gripper/paperwork name = "paperwork gripper" desc = "A simple grasping tool for clerical work." can_hold = list( - /obj/item/weapon/clipboard, - /obj/item/weapon/paper, - /obj/item/weapon/paper_bundle, - /obj/item/weapon/card/id, - /obj/item/weapon/book, - /obj/item/weapon/newspaper + /obj/item/clipboard, + /obj/item/paper, + /obj/item/paper_bundle, + /obj/item/card/id, + /obj/item/book, + /obj/item/newspaper ) -/obj/item/weapon/gripper/medical +/obj/item/gripper/medical name = "medical gripper" desc = "A simple grasping tool for medical work." can_hold = list( - /obj/item/weapon/reagent_containers/glass, - /obj/item/weapon/storage/pill_bottle, - /obj/item/weapon/reagent_containers/pill, - /obj/item/weapon/reagent_containers/blood, + /obj/item/reagent_containers/glass, + /obj/item/storage/pill_bottle, + /obj/item/reagent_containers/pill, + /obj/item/reagent_containers/blood, /obj/item/stack/material/phoron, - /obj/item/weapon/tank/anesthetic, - /obj/item/weapon/disk/body_record //Vorestation Edit: this lets you get an empty sleeve or help someone else + /obj/item/tank/anesthetic, + /obj/item/disk/body_record //Vorestation Edit: this lets you get an empty sleeve or help someone else ) -/obj/item/weapon/gripper/research //A general usage gripper, used for toxins/robotics/xenobio/etc +/obj/item/gripper/research //A general usage gripper, used for toxins/robotics/xenobio/etc name = "scientific gripper" icon_state = "gripper-sci" desc = "A simple grasping tool suited to assist in a wide array of research applications." can_hold = list( - /obj/item/weapon/cell, - /obj/item/weapon/stock_parts, - /obj/item/device/mmi, + /obj/item/cell, + /obj/item/stock_parts, + /obj/item/mmi, /obj/item/robot_parts, /obj/item/borg/upgrade, - /obj/item/device/flash, //to build borgs, - /obj/item/weapon/disk, - /obj/item/weapon/circuitboard, - /obj/item/weapon/reagent_containers/glass, - /obj/item/device/assembly/prox_sensor, - /obj/item/device/healthanalyzer, //to build medibots, + /obj/item/flash, //to build borgs, + /obj/item/disk, + /obj/item/circuitboard, + /obj/item/reagent_containers/glass, + /obj/item/assembly/prox_sensor, + /obj/item/healthanalyzer, //to build medibots, /obj/item/slime_cube, /obj/item/slime_crystal, - /obj/item/weapon/disposable_teleporter/slime, + /obj/item/disposable_teleporter/slime, /obj/item/slimepotion, /obj/item/slime_extract, - /obj/item/weapon/reagent_containers/food/snacks/monkeycube + /obj/item/reagent_containers/food/snacks/monkeycube ) -/obj/item/weapon/gripper/circuit +/obj/item/gripper/circuit name = "circuit assembly gripper" icon_state = "gripper-circ" desc = "A complex grasping tool used for working with circuitry." can_hold = list( - /obj/item/weapon/cell/device, - /obj/item/device/electronic_assembly, - /obj/item/device/assembly/electronic_assembly, + /obj/item/cell/device, + /obj/item/electronic_assembly, + /obj/item/assembly/electronic_assembly, /obj/item/clothing/under/circuitry, /obj/item/clothing/gloves/circuitry, /obj/item/clothing/glasses/circuitry, @@ -145,47 +147,64 @@ /obj/item/clothing/head/circuitry, /obj/item/clothing/ears/circuitry, /obj/item/clothing/suit/circuitry, - /obj/item/weapon/implant/integrated_circuit, + /obj/item/implant/integrated_circuit, /obj/item/integrated_circuit ) -/obj/item/weapon/gripper/service //Used to handle food, drinks, and seeds. +/obj/item/gripper/service //Used to handle food, drinks, and seeds. name = "service gripper" icon_state = "gripper" desc = "A simple grasping tool used to perform tasks in the service sector, such as handling food, drinks, and seeds." can_hold = list( - /obj/item/weapon/reagent_containers/glass, - /obj/item/weapon/reagent_containers/food, + /obj/item/reagent_containers/glass, + /obj/item/reagent_containers/food, /obj/item/seeds, - /obj/item/weapon/grown, + /obj/item/grown, /obj/item/trash, - /obj/item/weapon/reagent_containers/cooking_container + /obj/item/reagent_containers/cooking_container ) -/obj/item/weapon/gripper/gravekeeper //Used for handling grave things, flowers, etc. +/obj/item/gripper/gravekeeper //Used for handling grave things, flowers, etc. name = "grave gripper" icon_state = "gripper" desc = "A specialized grasping tool used in the preparation and maintenance of graves." can_hold = list( /obj/item/seeds, - /obj/item/weapon/grown, - /obj/item/weapon/material/gravemarker + /obj/item/grown, + /obj/item/material/gravemarker ) -/obj/item/weapon/gripper/no_use/organ +/obj/item/gripper/scene + name = "misc gripper" + desc = "A simple grasping tool that can hold a variety of 'general' objects..." + + can_hold = list( + /obj/item/capture_crystal, + /obj/item/clothing, + /obj/item/implanter, + /obj/item/disk/nifsoft/compliance, + /obj/item/handcuffs, + /obj/item/toy, + /obj/item/petrifier, + /obj/item/dice, + /obj/item/casino_platinum_chip, + /obj/item/spacecasinocash + ) + +/obj/item/gripper/no_use/organ name = "organ gripper" icon_state = "gripper-flesh" desc = "A specialized grasping tool used to preserve and manipulate organic material." can_hold = list( /obj/item/organ, - /obj/item/device/nif //NIFs can be slapped in during surgery + /obj/item/nif //NIFs can be slapped in during surgery ) -/obj/item/weapon/gripper/no_use/organ/Entered(var/atom/movable/AM) +/obj/item/gripper/no_use/organ/Entered(var/atom/movable/AM) if(istype(AM, /obj/item/organ)) var/obj/item/organ/O = AM O.preserved = 1 @@ -193,7 +212,7 @@ organ.preserved = 1 ..() -/obj/item/weapon/gripper/no_use/organ/Exited(var/atom/movable/AM) +/obj/item/gripper/no_use/organ/Exited(var/atom/movable/AM) if(istype(AM, /obj/item/organ)) var/obj/item/organ/O = AM O.preserved = 0 @@ -201,7 +220,7 @@ organ.preserved = 0 ..() -/obj/item/weapon/gripper/no_use/organ/robotics +/obj/item/gripper/no_use/organ/robotics name = "robotics organ gripper" icon_state = "gripper-flesh" desc = "A specialized grasping tool used in robotics work." @@ -211,10 +230,10 @@ /obj/item/organ/internal/brain, //to insert into MMIs, /obj/item/organ/internal/cell, /obj/item/organ/internal/eyes/robot, - /obj/item/device/nif //NIFs can be slapped in during surgery + /obj/item/nif //NIFs can be slapped in during surgery ) -/obj/item/weapon/gripper/no_use/mech +/obj/item/gripper/no_use/mech name = "exosuit gripper" icon_state = "gripper-mech" desc = "A large, heavy-duty grasping tool used in construction of mechs." @@ -227,12 +246,12 @@ /obj/item/mecha_parts/component ) -/obj/item/weapon/gripper/no_use //Used when you want to hold and put items in other things, but not able to 'use' the item +/obj/item/gripper/no_use //Used when you want to hold and put items in other things, but not able to 'use' the item -/obj/item/weapon/gripper/no_use/attack_self(mob/user as mob) +/obj/item/gripper/no_use/attack_self(mob/user as mob) return -/obj/item/weapon/gripper/no_use/loader //This is used to disallow building with metal. +/obj/item/gripper/no_use/loader //This is used to disallow building with metal. name = "sheet loader" desc = "A specialized loading device, designed to pick up and insert sheets of materials inside machines." icon_state = "gripper-sheet" @@ -241,12 +260,12 @@ /obj/item/stack/material ) -/obj/item/weapon/gripper/attack_self(mob/user as mob) +/obj/item/gripper/attack_self(mob/user as mob) if(wrapped) return wrapped.attack_self(user) return ..() -/obj/item/weapon/gripper/attackby(var/obj/item/O, var/mob/user) +/obj/item/gripper/attackby(var/obj/item/O, var/mob/user) if(wrapped) // We're interacting with the item inside. If you can hold a cup with 2 fingers and stick a straw in it, you could do that with a gripper and another robotic arm. wrapped.loc = src.loc var/resolved = wrapped.attackby(O, user) @@ -261,15 +280,15 @@ return resolved return ..() -/obj/item/weapon/gripper/verb/drop_gripper_item() +/obj/item/gripper/verb/drop_gripper_item() set name = "Drop Item" set desc = "Release an item from your magnetic gripper." - set category = "Robot Commands" + set category = "Abilities.Silicon" drop_item() -/obj/item/weapon/gripper/proc/drop_item() +/obj/item/gripper/proc/drop_item() if(!wrapped) //There's some weirdness with items being lost inside the arm. Trying to fix all cases. ~Z for(var/obj/item/thing in src.contents) @@ -280,12 +299,12 @@ wrapped = null return - to_chat(src.loc, "You drop \the [wrapped].") + to_chat(src.loc, span_notice("You drop \the [wrapped].")) wrapped.loc = get_turf(src) wrapped = null //update_icon() -/obj/item/weapon/gripper/proc/drop_item_nm() +/obj/item/gripper/proc/drop_item_nm() if(!wrapped) for(var/obj/item/thing in src.contents) @@ -300,7 +319,7 @@ wrapped = null //update_icon() -/obj/item/weapon/gripper/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) +/obj/item/gripper/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) if(wrapped) //The force of the wrapped obj gets set to zero during the attack() and afterattack(). force_holder = wrapped.force wrapped.force = 0.0 @@ -317,7 +336,7 @@ return 1 return 0 -/obj/item/weapon/gripper/afterattack(var/atom/target, var/mob/living/user, proximity, params) +/obj/item/gripper/afterattack(var/atom/target, var/mob/living/user, proximity, params) if(!proximity) return // This will prevent them using guns at range but adminbuse can add them directly to modules, so eh. @@ -357,7 +376,7 @@ var/obj/item/I = target if(I.anchored) - to_chat(user,"You are unable to lift \the [I] from \the [I.loc].") + to_chat(user,span_notice("You are unable to lift \the [I] from \the [I.loc].")) return //Check if the item is blacklisted. @@ -374,7 +393,7 @@ wrapped = I return else - to_chat(user, "Your gripper cannot hold \the [target].") + to_chat(user, span_danger("Your gripper cannot hold \the [target].")) else if(istype(target,/obj/machinery/power/apc)) var/obj/machinery/power/apc/A = target @@ -391,7 +410,7 @@ A.charging = 0 A.update_icon() - user.visible_message("[user] removes the power cell from [A]!", "You remove the power cell.") + user.visible_message(span_danger("[user] removes the power cell from [A]!"), "You remove the power cell.") else if(istype(target,/mob/living/silicon/robot)) var/mob/living/silicon/robot/A = target @@ -406,10 +425,10 @@ A.cell.loc = src A.cell = null - user.visible_message("[user] removes the power cell from [A]!", "You remove the power cell.") + user.visible_message(span_danger("[user] removes the power cell from [A]!"), "You remove the power cell.") //TODO: Matter decompiler. -/obj/item/weapon/matter_decompiler +/obj/item/matter_decompiler name = "matter decompiler" desc = "Eating trash, bits of glass, or other debris will replenish your stores." @@ -422,10 +441,10 @@ var/datum/matter_synth/wood = null var/datum/matter_synth/plastic = null -/obj/item/weapon/matter_decompiler/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) +/obj/item/matter_decompiler/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) return -/obj/item/weapon/matter_decompiler/afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, proximity, params) +/obj/item/matter_decompiler/afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, proximity, params) if(!proximity) return //Not adjacent. @@ -439,7 +458,7 @@ for(var/mob/M in T) if(istype(M,/mob/living/simple_mob/animal/passive/lizard) || istype(M,/mob/living/simple_mob/animal/passive/mouse)) - src.loc.visible_message("[src.loc] sucks [M] into its decompiler. There's a horrible crunching noise.","It's a bit of a struggle, but you manage to suck [M] into your decompiler. It makes a series of visceral crunching noises.") + src.loc.visible_message(span_danger("[src.loc] sucks [M] into its decompiler. There's a horrible crunching noise."),span_danger("It's a bit of a struggle, but you manage to suck [M] into your decompiler. It makes a series of visceral crunching noises.")) new/obj/effect/decal/cleanable/blood/splatter(get_turf(src)) qdel(M) if(wood) @@ -455,15 +474,15 @@ if(!istype(D)) return - to_chat(D, "You begin decompiling [M].") + to_chat(D, span_danger("You begin decompiling [M].")) if(!do_after(D,50)) - to_chat(D, "You need to remain still while decompiling such a large object.") + to_chat(D, span_danger("You need to remain still while decompiling such a large object.")) return if(!M || !D) return - to_chat(D, "You carefully and thoroughly decompile [M], storing as much of its resources as you can within yourself.") + to_chat(D, span_danger("You carefully and thoroughly decompile [M], storing as much of its resources as you can within yourself.")) qdel(M) new/obj/effect/decal/cleanable/blood/oil(get_turf(src)) @@ -489,8 +508,8 @@ wood.add_charge(2000) if(plastic) plastic.add_charge(2000) - else if(istype(W,/obj/item/weapon/light)) - var/obj/item/weapon/light/L = W + else if(istype(W,/obj/item/light)) + var/obj/item/light/L = W if(L.status >= 2) //In before someone changes the inexplicably local defines. ~ Z if(metal) metal.add_charge(250) @@ -518,13 +537,13 @@ else if(istype(W,/obj/item/ammo_casing)) if(metal) metal.add_charge(1000) - else if(istype(W,/obj/item/weapon/material/shard/shrapnel)) + else if(istype(W,/obj/item/material/shard/shrapnel)) if(metal) metal.add_charge(1000) - else if(istype(W,/obj/item/weapon/material/shard)) + else if(istype(W,/obj/item/material/shard)) if(glass) glass.add_charge(1000) - else if(istype(W,/obj/item/weapon/reagent_containers/food/snacks/grown)) + else if(istype(W,/obj/item/reagent_containers/food/snacks/grown)) if(wood) wood.add_charge(4000) else if(istype(W,/obj/item/pipe)) @@ -536,20 +555,20 @@ grabbed_something = 1 if(grabbed_something) - to_chat(user, "You deploy your decompiler and clear out the contents of \the [T].") + to_chat(user, span_notice("You deploy your decompiler and clear out the contents of \the [T].")) else - to_chat(user, "Nothing on \the [T] is useful to you.") + to_chat(user, span_danger("Nothing on \the [T] is useful to you.")) return //PRETTIER TOOL LIST. /mob/living/silicon/robot/drone/installed_modules() if(weapon_lock) - to_chat(src, "Weapon lock active, unable to use modules! Count:[weaponlock_time]") + to_chat(src, span_danger("Weapon lock active, unable to use modules! Count:[weaponlock_time]")) return if(!module) - module = new /obj/item/weapon/robot_module/drone(src) + module = new /obj/item/robot_module/drone(src) var/dat = "Drone modules\n" dat += {" @@ -562,21 +581,21 @@ Installed Modules

    "} - var/tools = "Tools and devices
    " - var/resources = "
    Resources
    " + var/tools = span_bold("Tools and devices") + "
    " + var/resources = "
    " + span_bold("Resources") + "
    " for (var/O in module.modules) var/module_string = "" if (!O) - module_string += text("Resource depleted
    ") + module_string += span_bold("Resource depleted") + "
    " else if(activated(O)) module_string += text("[O]: Activated
    ") else module_string += text("[O]: Activate
    ") - if((istype(O,/obj/item/weapon) || istype(O,/obj/item/device)) && !(istype(O,/obj/item/stack/cable_coil))) + if((istype(O,/obj/item) || istype(O,/obj/item)) && !(istype(O,/obj/item/stack/cable_coil))) tools += module_string else resources += module_string @@ -587,13 +606,13 @@ var/module_string = "" if (!O) - module_string += text("Resource depleted
    ") + module_string += span_bold("Resource depleted") + "
    " else if(activated(O)) module_string += text("[O]: Activated
    ") else module_string += text("[O]: Activate
    ") - if((istype(O,/obj/item/weapon) || istype(O,/obj/item/device)) && !(istype(O,/obj/item/stack/cable_coil))) + if((istype(O,/obj/item) || istype(O,/obj/item)) && !(istype(O,/obj/item/stack/cable_coil))) tools += module_string else resources += module_string diff --git a/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm b/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm index 22851e56326..91f4c79b5e6 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm @@ -57,14 +57,14 @@ icon_state = "drone_fab_active" var/elapsed = world.time - time_last_drone - drone_progress = round((elapsed/config.drone_build_time)*100) + drone_progress = round((elapsed / CONFIG_GET(number/drone_build_time)) * 100) if(drone_progress >= 100) visible_message("\The [src] voices a strident beep, indicating a drone chassis is prepared.") /obj/machinery/drone_fabricator/examine(mob/user) . = ..() - if(produce_drones && drone_progress >= 100 && istype(user,/mob/observer/dead) && config.allow_drone_spawn && count_drones() < config.max_maint_drones) + if(produce_drones && drone_progress >= 100 && istype(user,/mob/observer/dead) && CONFIG_GET(flag/allow_drone_spawn) && count_drones() < CONFIG_GET(number/max_maint_drones)) . += "
    A drone is prepared. Select 'Join As Drone' from the Ghost tab to spawn as a maintenance drone." /obj/machinery/drone_fabricator/proc/create_drone(var/client/player) @@ -72,7 +72,7 @@ if(stat & NOPOWER) return - if(!produce_drones || !config.allow_drone_spawn || count_drones() >= config.max_maint_drones) + if(!produce_drones || !CONFIG_GET(flag/allow_drone_spawn) || count_drones() >= CONFIG_GET(number/max_maint_drones)) return if(player && !istype(player.mob,/mob/observer/dead)) @@ -94,16 +94,16 @@ /mob/observer/dead/verb/join_as_drone() - set category = "Ghost" + set category = "Ghost.Join" set name = "Join As Drone" set desc = "If there is a powered, enabled fabricator in the game world with a prepared chassis, join as a maintenance drone." if(ticker.current_state < GAME_STATE_PLAYING) - to_chat(src, "The game hasn't started yet!") + to_chat(src, span_danger("The game hasn't started yet!")) return - if(!(config.allow_drone_spawn)) - to_chat(src, "That verb is not currently permitted.") + if(!CONFIG_GET(flag/allow_drone_spawn)) + to_chat(src, span_danger("That verb is not currently permitted.")) return if (!src.stat) @@ -112,15 +112,15 @@ if (usr != src) return 0 //something is terribly wrong - if(jobban_isbanned(src,"Cyborg")) - to_chat(usr, "You are banned from playing synthetics and cannot spawn as a drone.") + if(jobban_isbanned(src,JOB_CYBORG)) + to_chat(usr, span_danger("You are banned from playing synthetics and cannot spawn as a drone.")) return // VOREStation Addition Start - if(config.use_age_restriction_for_jobs && isnum(src.client.player_age)) + if(CONFIG_GET(flag/use_age_restriction_for_jobs) && isnum(src.client.player_age)) var/time_till_play = max(0, 3 - src.client.player_age) if(time_till_play) - to_chat(usr, "You have not been playing on the server long enough to join as drone.") + to_chat(usr, span_danger("You have not been playing on the server long enough to join as drone.")) return // VOREStation Addition End @@ -151,7 +151,7 @@ all_fabricators[DF.fabricator_tag] = DF if(!all_fabricators.len) - to_chat(src, "There are no available drone spawn points, sorry.") + to_chat(src, span_danger("There are no available drone spawn points, sorry.")) return var/choice = tgui_input_list(src, "Which fabricator do you wish to use?", "Fabricator Choice", all_fabricators) diff --git a/code/modules/mob/living/silicon/robot/drone/drone_say.dm b/code/modules/mob/living/silicon/robot/drone/drone_say.dm index 5e8dd6dc74a..1accbf719f9 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_say.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_say.dm @@ -2,7 +2,7 @@ if(local_transmit) if (src.client) if(client.prefs.muted & MUTE_IC) - to_chat(src, "You cannot send IC messages (muted).") + to_chat(src, span_warning("You cannot send IC messages (muted).")) return 0 message = sanitize(message) @@ -27,13 +27,13 @@ for(var/mob/living/silicon/D in listeners) if(D.client && D.local_transmit) - to_chat(D, "[src] transmits, \"[message]\"") + to_chat(D, span_say(span_bold("[src]") + "transmits, \"[message]\"")) for (var/mob/M in player_list) if (istype(M, /mob/new_player)) continue - else if(M.stat == DEAD && M.is_preference_enabled(/datum/client_preference/ghost_ears)) + else if(M.stat == DEAD && M.client?.prefs?.read_preference(/datum/preference/toggle/ghost_ears)) if(M.client) - to_chat(M, "[src] transmits, \"[message]\"") + to_chat(M, span_say(span_bold("[src]") + "transmits, \"[message]\"")) return 1 - return ..() \ No newline at end of file + return ..() diff --git a/code/modules/mob/living/silicon/robot/drone/swarm.dm b/code/modules/mob/living/silicon/robot/drone/swarm.dm index 17056e29dd4..e39a3e641c3 100644 --- a/code/modules/mob/living/silicon/robot/drone/swarm.dm +++ b/code/modules/mob/living/silicon/robot/drone/swarm.dm @@ -4,7 +4,7 @@ icon = 'icons/mob/swarmbot.dmi' icon_state = "swarmer" item_state = "repairbot" - faction = "swarmer" + faction = FACTION_SWARMER maxHealth = 35 health = 35 cell_emp_mult = 0.5 @@ -15,7 +15,7 @@ braintype = "Drone" lawupdate = 0 density = TRUE - idcard_type = /obj/item/weapon/card/id/syndicate + idcard_type = /obj/item/card/id/syndicate req_access = list(999) integrated_light_power = 3 local_transmit = 0 @@ -35,7 +35,7 @@ mob_size = MOB_LARGE law_type = /datum/ai_laws/swarm_drone - module_type = /obj/item/weapon/robot_module/drone/swarm + module_type = /obj/item/robot_module/drone/swarm hat_x_offset = 0 hat_y_offset = -10 @@ -43,7 +43,7 @@ foreign_droid = TRUE scrambledcodes = TRUE - holder_type = /obj/item/weapon/holder/drone + holder_type = /obj/item/holder/drone can_be_antagged = TRUE @@ -75,7 +75,7 @@ real_name = "drone" icon = 'icons/mob/swarmbot.dmi' icon_state = "swarmer_ranged" - faction = "swarmer" + faction = FACTION_SWARMER maxHealth = 50 health = 50 @@ -83,7 +83,7 @@ speed = 4 law_type = /datum/ai_laws/swarm_drone/soldier - module_type = /obj/item/weapon/robot_module/drone/swarm/ranged + module_type = /obj/item/robot_module/drone/swarm/ranged spell_setup = list( /spell/aoe_turf/conjure/swarmer, @@ -96,7 +96,7 @@ real_name = "drone" icon = 'icons/mob/swarmbot.dmi' icon_state = "swarmer_melee" - faction = "swarmer" + faction = FACTION_SWARMER maxHealth = 70 health = 70 @@ -104,11 +104,10 @@ speed = 2 law_type = /datum/ai_laws/swarm_drone/soldier - module_type = /obj/item/weapon/robot_module/drone/swarm/melee + module_type = /obj/item/robot_module/drone/swarm/melee spell_setup = list( /spell/aoe_turf/conjure/swarmer, /spell/aoe_turf/conjure/forcewall/swarm, /spell/aoe_turf/blink/swarm ) - diff --git a/code/modules/mob/living/silicon/robot/drone/swarm_items.dm b/code/modules/mob/living/silicon/robot/drone/swarm_items.dm index 2bbba0b0827..f6610656cfd 100644 --- a/code/modules/mob/living/silicon/robot/drone/swarm_items.dm +++ b/code/modules/mob/living/silicon/robot/drone/swarm_items.dm @@ -1,6 +1,6 @@ //Swarm Assimilator / Breacher -/obj/item/weapon/matter_decompiler/swarm +/obj/item/matter_decompiler/swarm name = "matter assimilator" desc = "Used to eat some forms of simple machinery; and large, wall-shaped blocks of metal with energetic fields." icon = 'icons/obj/device.dmi' @@ -9,7 +9,7 @@ var/field_cooldown = 1 MINUTE var/last_field = 0 -/obj/item/weapon/matter_decompiler/swarm/afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, proximity, params) +/obj/item/matter_decompiler/swarm/afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, proximity, params) if(!proximity) return //Not adjacent. @@ -23,7 +23,7 @@ for(var/mob/M in T) if(istype(M,/mob/living/simple_mob/animal/passive/lizard) || istype(M,/mob/living/simple_mob/animal/passive/mouse)) - src.loc.visible_message("[src.loc] sucks [M] into its decompiler. There's a horrible crunching noise.","It's a bit of a struggle, but you manage to suck [M] into your decompiler. It makes a series of visceral crunching noises.") + src.loc.visible_message(span_danger("[src.loc] sucks [M] into its decompiler. There's a horrible crunching noise."),span_danger("It's a bit of a struggle, but you manage to suck [M] into your decompiler. It makes a series of visceral crunching noises.")) new/obj/effect/decal/cleanable/blood/splatter(get_turf(src)) qdel(M) if(wood) @@ -39,15 +39,15 @@ if(!istype(D)) return - to_chat(D, "You begin decompiling [M].") + to_chat(D, span_danger("You begin decompiling [M].")) if(!do_after(D,50)) - to_chat(D, "You need to remain still while decompiling such a large object.") + to_chat(D, span_danger("You need to remain still while decompiling such a large object.")) return if(!M || !D) return - to_chat(D, "You carefully and thoroughly decompile [M], storing as much of its resources as you can within yourself.") + to_chat(D, span_danger("You carefully and thoroughly decompile [M], storing as much of its resources as you can within yourself.")) qdel(M) new/obj/effect/decal/cleanable/blood/oil(get_turf(src)) @@ -100,16 +100,16 @@ if(istype(T,/turf/simulated/wall) && (last_field < world.time + field_cooldown)) if(!(locate(/obj/effect/temporary_effect/pulse/disintegrate))) last_field = world.time - to_chat(user, "You deploy an energetic field through \the [T], beginning its deconstruction.") - to_chat(user, "You should stand back.") + to_chat(user, span_alien("You deploy an energetic field through \the [T], beginning its deconstruction.")) + to_chat(user, span_warning("You should stand back.")) new /obj/effect/temporary_effect/pulse/disintegrate(T) else - to_chat(user, "There is already a disintigration field affecting \the [T].") + to_chat(user, span_notice("There is already a disintigration field affecting \the [T].")) if(grabbed_something) - to_chat(user, "You deploy your decompiler and clear out the contents of \the [T].") + to_chat(user, span_notice("You deploy your decompiler and clear out the contents of \the [T].")) else - to_chat(user, "Nothing on \the [T] is useful to you.") + to_chat(user, span_danger("Nothing on \the [T] is useful to you.")) return /obj/effect/temporary_effect/pulse/disintegrate @@ -124,7 +124,7 @@ pulse_delay = 2 SECONDS /obj/effect/temporary_effect/pulse/disintegrate/emp_act() - visible_message("\The [src] flickers, before dispersing energetically.") + visible_message(span_warning("\The [src] flickers, before dispersing energetically.")) qdel(src) /obj/effect/temporary_effect/pulse/disintegrate/on_pulse() @@ -139,7 +139,7 @@ explosion(get_turf(src), -1, 1, 2, 5, adminlog = 1) ..() -/obj/item/weapon/gun/energy/xray/swarm +/obj/item/gun/energy/xray/swarm name = "spectral projector" desc = "A high-power laser gun capable of expelling concentrated gamma blasts, which are able to penetrate matter easier than \ standard xray beams, resulting in an effective 'anti-everything' energy weapon." @@ -157,6 +157,6 @@ list(mode_name="deter", projectile_type=/obj/item/projectile/beam/shock, charge_cost = 175), ) -/obj/item/weapon/gun/energy/xray/swarm/Initialize() +/obj/item/gun/energy/xray/swarm/Initialize() . = ..() adjust_scale(-1, 1) diff --git a/code/modules/mob/living/silicon/robot/emote.dm b/code/modules/mob/living/silicon/robot/emote.dm index 60a0bea5ab7..6f92802684b 100644 --- a/code/modules/mob/living/silicon/robot/emote.dm +++ b/code/modules/mob/living/silicon/robot/emote.dm @@ -25,6 +25,8 @@ var/list/_robot_default_emotes = list( /decl/emote/audible/synth/dwoop, /decl/emote/audible/synth/boop, /decl/emote/audible/synth/robochirp, + /decl/emote/audible/synth/ding, + /decl/emote/audible/synth/microwave, /decl/emote/audible/synth/security, /decl/emote/audible/synth/security/halt, //VOREStation Add diff --git a/code/modules/mob/living/silicon/robot/examine.dm b/code/modules/mob/living/silicon/robot/examine.dm index f9d5663a777..2622411e1ec 100644 --- a/code/modules/mob/living/silicon/robot/examine.dm +++ b/code/modules/mob/living/silicon/robot/examine.dm @@ -4,22 +4,22 @@ if (src.getBruteLoss()) if (src.getBruteLoss() < 75) - . += "It looks slightly dented." + . += span_warning("It looks slightly dented.") else - . += "It looks severely dented!" + . += span_boldwarning("It looks severely dented!") if (src.getFireLoss()) if (src.getFireLoss() < 75) - . += "It looks slightly charred." + . += span_warning("It looks slightly charred.") else - . += "It looks severely burnt and heat-warped!" + . += span_boldwarning("It looks severely burnt and heat-warped!") if(opened) - . += "Its cover is open and the power cell is [cell ? "installed" : "missing"]." + . += span_warning("Its cover is open and the power cell is [cell ? "installed" : "missing"].") else . += "Its cover is closed." if(!has_power) - . += "It appears to be running on backup power." + . += span_warning("It appears to be running on backup power.") switch(src.stat) if(CONSCIOUS) @@ -27,14 +27,14 @@ . += "It appears to be an [deployed ? "active" : "empty"] AI shell." else if(!src.client) . += "It appears to be in stand-by mode." //afk - if(UNCONSCIOUS) . += "It doesn't seem to be responding." - if(DEAD) . += "It looks completely unsalvageable." + if(UNCONSCIOUS) . += span_warning("It doesn't seem to be responding.") + if(DEAD) . += span_deadsay("It looks completely unsalvageable.") // VOREStation Edit: Start . += attempt_vr(src,"examine_bellies_borg",args) //VOREStation Edit // VOREStation Edit: End - . += "*---------*" + . += "" if(print_flavor_text()) . += "
    [print_flavor_text()]" diff --git a/code/modules/mob/living/silicon/robot/inventory.dm b/code/modules/mob/living/silicon/robot/inventory.dm index ad38d91b1e6..b5c4dd522ff 100644 --- a/code/modules/mob/living/silicon/robot/inventory.dm +++ b/code/modules/mob/living/silicon/robot/inventory.dm @@ -18,10 +18,11 @@ set hidden = 1 toggle_module(module) -/mob/living/silicon/robot/proc/uneq_active() - if(isnull(module_active)) +/mob/living/silicon/robot/proc/uneq_specific(obj/item/I) + if(!istype(I)) return - if(module_state_1 == module_active) + + if(module_state_1 == I) if(istype(module_state_1,/obj/item/borg/sight)) sight_mode &= ~module_state_1:sight_mode if (client) @@ -31,30 +32,46 @@ module_state_1:loc = module //So it can be used again later module_state_1 = null inv1.icon_state = "inv1" - else if(module_state_2 == module_active) + else if(module_state_2 == I) if(istype(module_state_2,/obj/item/borg/sight)) sight_mode &= ~module_state_2:sight_mode if (client) client.screen -= module_state_2 contents -= module_state_2 module_active = null - module_state_2:loc = module + module_state_2:loc = module //So it can be used again later module_state_2 = null inv2.icon_state = "inv2" - else if(module_state_3 == module_active) + else if(module_state_3 == I) if(istype(module_state_3,/obj/item/borg/sight)) sight_mode &= ~module_state_3:sight_mode if (client) client.screen -= module_state_3 contents -= module_state_3 module_active = null - module_state_3:loc = module + module_state_3:loc = module //So it can be used again later module_state_3 = null inv3.icon_state = "inv3" + else + return + + for(var/datum/action/A as anything in I.actions) + A.Remove(src) + after_equip() update_icon() hud_used.update_robot_modules_display() +/mob/living/silicon/robot/proc/uneq_active() + if(isnull(module_active)) + return + + var/obj/item/I = module_active + for(var/datum/action/A as anything in I.actions) + A.Remove(src) + + uneq_specific(I) + /mob/living/silicon/robot/proc/uneq_all() module_active = null @@ -64,6 +81,9 @@ if (client) client.screen -= module_state_1 contents -= module_state_1 + var/obj/item/I = module_state_1 + for(var/datum/action/A as anything in I.actions) + A.Remove(src) module_state_1:loc = module module_state_1 = null inv1.icon_state = "inv1" @@ -72,6 +92,9 @@ sight_mode &= ~module_state_2:sight_mode if (client) client.screen -= module_state_2 + var/obj/item/I = module_state_2 + for(var/datum/action/A as anything in I.actions) + A.Remove(src) contents -= module_state_2 module_state_2:loc = module module_state_2 = null @@ -81,6 +104,9 @@ sight_mode &= ~module_state_3:sight_mode if (client) client.screen -= module_state_3 + var/obj/item/I = module_state_3 + for(var/datum/action/A as anything in I.actions) + A.Remove(src) contents -= module_state_3 module_state_3:loc = module module_state_3 = null @@ -88,6 +114,17 @@ after_equip() update_icon() +// Just used for pretty display in TGUI +/mob/living/silicon/robot/proc/get_slot_from_module(obj/item/I) + if(module_state_1 == I) + return 1 + else if(module_state_2 == I) + return 2 + else if(module_state_3 == I) + return 3 + else + return 0 + /mob/living/silicon/robot/proc/activated(obj/item/O) if(module_state_1 == O) return 1 @@ -99,12 +136,21 @@ return 0 // This one takes an object's type instead of an instance, as above. -/mob/living/silicon/robot/proc/has_active_type(var/type_to_compare) +/mob/living/silicon/robot/proc/has_active_type(var/type_to_compare, var/explicit = FALSE) var/list/active_modules = list(module_state_1, module_state_2, module_state_3) - if(is_path_in_list(type_to_compare, active_modules)) + if(is_type_in_modules(type_to_compare, active_modules, explicit)) return TRUE return FALSE +/mob/living/silicon/robot/proc/is_type_in_modules(var/type, var/list/modules, var/explicit = FALSE) + for(var/atom/module in modules) + if(explicit && isatom(module)) + if(module.type == type) + return TRUE + else if(istype(module, type)) + return TRUE + return FALSE + //Helper procs for cyborg modules on the UI. //These are hackish but they help clean up code elsewhere. @@ -212,16 +258,16 @@ var/slot_num if(slot_start == 0) slot_num = 1 - slot_start = 2 else slot_num = slot_start + 1 - - while(slot_start != slot_num) //If we wrap around without finding any free slots, just give up. + if(slot_num > 3) + return + // Attempt to rotate through the slots until we're past slot 3, or find the next usable slot. Allows skipping empty slots, while still having an empty slot at end of rotation. + while(slot_num <= 3) if(module_active(slot_num)) select_module(slot_num) return slot_num++ - if(slot_num > 3) slot_num = 1 //Wrap around. return @@ -229,7 +275,7 @@ if(!(locate(O) in src.module.modules) && !(locate(O) in src.module.emag)) return if(activated(O)) - to_chat(src, "Already activated") + to_chat(src, span_notice("Already activated")) return if(!module_state_1) module_state_1 = O @@ -253,29 +299,32 @@ if(istype(module_state_3,/obj/item/borg/sight)) sight_mode |= module_state_3:sight_mode else - to_chat(src, "You need to disable a module first!") + to_chat(src, span_notice("You need to disable a module first!")) return after_equip(O) /mob/living/silicon/robot/proc/after_equip(var/obj/item/O) - if(istype(O, /obj/item/device/gps)) - var/obj/item/device/gps/tracker = O + if(istype(O, /obj/item/gps)) + var/obj/item/gps/tracker = O if(tracker.tracking) tracker.tracking = FALSE tracker.toggle_tracking() if(sight_mode & BORGANOMALOUS) - var/obj/item/weapon/dogborg/pounce/pounce = has_upgrade_module(/obj/item/weapon/dogborg/pounce) + var/obj/item/dogborg/pounce/pounce = has_upgrade_module(/obj/item/dogborg/pounce) if(pounce) pounce.name = "bluespace pounce" pounce.icon_state = "bluespace_pounce" pounce.bluespace = TRUE else - var/obj/item/weapon/dogborg/pounce/pounce = has_upgrade_module(/obj/item/weapon/dogborg/pounce) + var/obj/item/dogborg/pounce/pounce = has_upgrade_module(/obj/item/dogborg/pounce) if(pounce) pounce.name = initial(pounce.name) pounce.icon_state = initial(pounce.icon_state) pounce.desc = initial(pounce.desc) pounce.bluespace = initial(pounce.bluespace) + if(O) + for(var/datum/action/A as anything in O.actions) + A.Grant(src) /mob/living/silicon/robot/put_in_hands(var/obj/item/W) // No hands. W.forceMove(get_turf(src)) diff --git a/code/modules/mob/living/silicon/robot/laws.dm b/code/modules/mob/living/silicon/robot/laws.dm index 59a7160d4c2..af480641857 100644 --- a/code/modules/mob/living/silicon/robot/laws.dm +++ b/code/modules/mob/living/silicon/robot/laws.dm @@ -1,5 +1,5 @@ /mob/living/silicon/robot/verb/cmd_show_laws() - set category = "Robot Commands" + set category = "Abilities.Silicon" set name = "Show Laws" show_laws() @@ -14,32 +14,32 @@ if(lawupdate) if (connected_ai) if(connected_ai.stat || connected_ai.control_disabled) - to_chat(src, "AI signal lost, unable to sync laws.") + to_chat(src, span_infoplain(span_bold("AI signal lost, unable to sync laws."))) else lawsync() photosync() - to_chat(src, "Laws synced with AI, be sure to note any changes.") + to_chat(src, span_infoplain(span_bold("Laws synced with AI, be sure to note any changes."))) // TODO: Update to new antagonist system. if(mind && mind.special_role == "traitor" && mind.original == src) - to_chat(src, "Remember, your AI does NOT share or know about your law 0.") + to_chat(src, span_infoplain(span_bold("Remember, your AI does NOT share or know about your law 0."))) else - to_chat(src, "No AI selected to sync laws with, disabling lawsync protocol.") + to_chat(src, span_infoplain(span_bold("No AI selected to sync laws with, disabling lawsync protocol."))) lawupdate = FALSE - to_chat(who, "Obey these laws:") + to_chat(who, span_infoplain(span_bold("Obey these laws:"))) laws.show_laws(who) if(shell) //AI shell - to_chat(who, "Remember, you are an AI remotely controlling your shell, other AIs can be ignored.") + to_chat(who, span_infoplain(span_bold("Remember, you are an AI remotely controlling your shell, other AIs can be ignored."))) // TODO: Update to new antagonist system. else if(mind && (mind.special_role == "traitor" && mind.original == src) && connected_ai) - to_chat(who, "Remember, [connected_ai.name] is technically your master, but your objective comes first.") + to_chat(who, span_infoplain(span_bold("Remember, [connected_ai.name] is technically your master, but your objective comes first."))) else if(connected_ai) - to_chat(who, "Remember, [connected_ai.name] is your master, other AIs can be ignored.") + to_chat(who, span_infoplain(span_bold("Remember, [connected_ai.name] is your master, other AIs can be ignored."))) else if(emagged) - to_chat(who, "Remember, you are not required to listen to the AI.") + to_chat(who, span_infoplain(span_bold("Remember, you are not required to listen to the AI."))) else - to_chat(who, "Remember, you are not bound to any AI, you are not required to listen to them.") + to_chat(who, span_infoplain(span_bold("Remember, you are not bound to any AI, you are not required to listen to them."))) /mob/living/silicon/robot/lawsync() @@ -51,6 +51,6 @@ return /mob/living/silicon/robot/proc/robot_checklaws() - set category = "Robot Commands" + set category = "Abilities.Silicon" set name = "State Laws" subsystem_law_manager() diff --git a/code/modules/mob/living/silicon/robot/life.dm b/code/modules/mob/living/silicon/robot/life.dm index 203f2e9d641..bbf89baf3a3 100644 --- a/code/modules/mob/living/silicon/robot/life.dm +++ b/code/modules/mob/living/silicon/robot/life.dm @@ -10,7 +10,6 @@ //Status updates, death etc. clamp_values() handle_regular_status_updates() - handle_actions() handle_instability() // For some reason borg Life() doesn't call ..() handle_modifiers() @@ -83,7 +82,7 @@ //if(src.resting) // VOREStation edit. Our borgos would rather not. // Weaken(5) - if(health < config.health_threshold_dead && src.stat != 2) //die only once + if(health < CONFIG_GET(number/health_threshold_dead) && src.stat != 2) //die only once death() if (src.stat != 2) //Alive. @@ -158,7 +157,7 @@ var/seejanhud = src.sight_mode & BORGJAN var/area/A = get_area(src) - if(A?.no_spoilers) + if(A?.flag_check(AREA_NO_SPOILERS)) disable_spoiler_vision() if (src.stat == DEAD || (XRAY in mutations) || (src.sight_mode & BORGXRAY)) @@ -243,7 +242,7 @@ src.healths.icon_state = "health3" else if(health >= 0) src.healths.icon_state = "health4" - else if(health >= config.health_threshold_dead) + else if(health >= CONFIG_GET(number/health_threshold_dead)) src.healths.icon_state = "health5" else src.healths.icon_state = "health6" @@ -329,7 +328,7 @@ if(client) client.screen -= contents for(var/obj/I in contents) - if(I && !(istype(I,/obj/item/weapon/cell) || istype(I,/obj/item/device/radio) || istype(I,/obj/machinery/camera) || istype(I,/obj/item/device/mmi))) + if(I && !(istype(I,/obj/item/cell) || istype(I,/obj/item/radio) || istype(I,/obj/machinery/camera) || istype(I,/obj/item/mmi))) client.screen += I if(module_state_1) module_state_1:screen_loc = ui_inv1 @@ -344,7 +343,7 @@ killswitch_time -- if(killswitch_time <= 0) if(src.client) - to_chat(src, "Killswitch Activated") + to_chat(src, span_danger("Killswitch Activated")) killswitch = 0 spawn(5) gib() @@ -355,7 +354,7 @@ weaponlock_time -- if(weaponlock_time <= 0) if(src.client) - to_chat(src, "Weapon Lock Timed Out!") + to_chat(src, span_danger("Weapon Lock Timed Out!")) weapon_lock = 0 weaponlock_time = 120 @@ -376,7 +375,7 @@ /mob/living/silicon/robot/handle_light() if(lights_on) - set_light(integrated_light_power, 1, "#FFFFFF") + set_light(integrated_light_power, 1, robot_light_col) return TRUE else . = ..() diff --git a/code/modules/mob/living/silicon/robot/login.dm b/code/modules/mob/living/silicon/robot/login.dm index 89a136223e2..ef25b1bece0 100644 --- a/code/modules/mob/living/silicon/robot/login.dm +++ b/code/modules/mob/living/silicon/robot/login.dm @@ -11,11 +11,6 @@ repick_laws() // Forces synths to select an icon relevant to their module - if(!icon_selected) - icon_selection_tries = SSrobot_sprites.get_module_sprites_len(modtype, src) + 1 - choose_icon(icon_selection_tries) - - if(sprite_datum && module) - sprite_datum.do_equipment_glamour(module) + pick_module() plane_holder.set_vis(VIS_AUGMENTED, TRUE) diff --git a/code/modules/mob/living/silicon/robot/photos.dm b/code/modules/mob/living/silicon/robot/photos.dm index 775bc68b6e5..4936c90e193 100644 --- a/code/modules/mob/living/silicon/robot/photos.dm +++ b/code/modules/mob/living/silicon/robot/photos.dm @@ -1,14 +1,14 @@ /mob/living/silicon/robot/proc/photosync() - var/obj/item/device/camera/siliconcam/master_cam = connected_ai ? connected_ai.aiCamera : null + var/obj/item/camera/siliconcam/master_cam = connected_ai ? connected_ai.aiCamera : null if (!master_cam) return var/synced = 0 // Sync borg images to the master AI. // We don't care about syncing the other way around - for(var/obj/item/weapon/photo/borg_photo in aiCamera.aipictures) + for(var/obj/item/photo/borg_photo in aiCamera.aipictures) var/copied = 0 - for(var/obj/item/weapon/photo/ai_photo in master_cam.aipictures) + for(var/obj/item/photo/ai_photo in master_cam.aipictures) if(borg_photo.id == ai_photo.id) copied = 1 break @@ -17,4 +17,4 @@ synced = 1 if(synced) - to_chat(src, "Images synced with AI. Local images will be retained in the case of loss of connection with the AI.") + to_chat(src, span_notice("Images synced with AI. Local images will be retained in the case of loss of connection with the AI.")) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 4cc3de8410f..b95612426a0 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -1,8 +1,8 @@ #define CYBORG_POWER_USAGE_MULTIPLIER 2 // Multiplier for amount of power cyborgs use. /mob/living/silicon/robot - name = "Cyborg" - real_name = "Cyborg" + name = JOB_CYBORG + real_name = JOB_CYBORG icon = 'icons/mob/robots.dmi' icon_state = "robot" maxHealth = 200 @@ -15,6 +15,7 @@ blocks_emissive = EMISSIVE_BLOCK_UNIQUE var/lights_on = 0 // Is our integrated light on? + var/robot_light_col = "#FFFFFF" var/used_power_this_tick = 0 var/sight_mode = 0 var/custom_name = "" @@ -30,8 +31,7 @@ //Icon stuff var/datum/robot_sprite/sprite_datum // Sprite datum, holding all our sprite data - var/icon_selected = 1 // If icon selection has been completed yet - var/icon_selection_tries = 0 // Remaining attempts to select icon before a selection is forced + var/icon_selected = FALSE // If icon selection has been completed yet var/list/sprite_extra_customization = list() var/rest_style = "Default" var/notransform @@ -46,17 +46,20 @@ var/shown_robot_modules = 0 //Used to determine whether they have the module menu shown or not var/obj/screen/robot_modules_background + var/ui_theme + var/selecting_module = FALSE + //3 Modules can be activated at any one time. - var/obj/item/weapon/robot_module/module = null + var/obj/item/robot_module/module = null var/module_active = null var/module_state_1 = null var/module_state_2 = null var/module_state_3 = null - var/obj/item/device/radio/borg/radio = null - var/obj/item/device/communicator/integrated/communicator = null + var/obj/item/radio/borg/radio = null + var/obj/item/communicator/integrated/communicator = null var/mob/living/silicon/ai/connected_ai = null - var/obj/item/weapon/cell/cell = null + var/obj/item/cell/cell = null var/obj/machinery/camera/camera = null var/cell_emp_mult = 2 @@ -70,9 +73,9 @@ // Components are basically robot organs. var/list/components = list() - var/obj/item/device/mmi/mmi = null + var/obj/item/mmi/mmi = null - var/obj/item/device/pda/ai/rbPDA = null + var/obj/item/pda/ai/rbPDA = null var/opened = 0 var/emagged = 0 @@ -101,9 +104,9 @@ var/speed = 0 //Cause sec borgs gotta go fast //No they dont! var/scrambledcodes = 0 // Used to determine if a borg shows up on the robotics console. Setting to one hides them. var/tracking_entities = 0 //The number of known entities currently accessing the internal camera - var/braintype = "Cyborg" + var/braintype = JOB_CYBORG - var/obj/item/weapon/implant/restrainingbolt/bolt // The restraining bolt installed into the cyborg. + var/obj/item/implant/restrainingbolt/bolt // The restraining bolt installed into the cyborg. var/list/robot_verbs_default = list( /mob/living/silicon/robot/proc/sensor_mode, @@ -132,6 +135,7 @@ spark_system = new /datum/effect/effect/system/spark_spread() spark_system.set_up(5, 0, src) spark_system.attach(src) + robotact = new(src) add_language("Robot Talk", 1) add_language(LANGUAGE_GALCOM, 1) @@ -144,8 +148,8 @@ ident = rand(1, 999) updatename(modtype) - radio = new /obj/item/device/radio/borg(src) -// communicator = new /obj/item/device/communicator/integrated(src) + radio = new /obj/item/radio/borg(src) +// communicator = new /obj/item/communicator/integrated(src) // communicator.register_device(src) common_radio = radio @@ -166,7 +170,7 @@ C.wrapped = new C.external_type if(!cell) - cell = new /obj/item/weapon/cell/robot_station(src) + cell = new /obj/item/cell/robot_station(src) else if(ispath(cell)) cell = new cell(src) @@ -209,11 +213,11 @@ if("radio") C.wrapped = new /obj/item/robot_parts/robot_component/radio(src) if("power cell") - var/list/recommended_cells = list(/obj/item/weapon/cell/robot_station, /obj/item/weapon/cell/high, /obj/item/weapon/cell/super, /obj/item/weapon/cell/robot_syndi, /obj/item/weapon/cell/hyper, - /obj/item/weapon/cell/infinite, /obj/item/weapon/cell/potato, /obj/item/weapon/cell/slime) + var/list/recommended_cells = list(/obj/item/cell/robot_station, /obj/item/cell/high, /obj/item/cell/super, /obj/item/cell/robot_syndi, /obj/item/cell/hyper, + /obj/item/cell/infinite, /obj/item/cell/potato, /obj/item/cell/slime) var/list/cell_names = list() for(var/cell_type in recommended_cells) - var/obj/item/weapon/cell/single_cell = cell_type + var/obj/item/cell/single_cell = cell_type cell_names[capitalize(initial(single_cell.name))] = cell_type var/selected_cell = tgui_input_list(usr, "What kind of cell do you want to install? Cancel installs a default robot cell.", "Cells", cell_names) if(!selected_cell || selected_cell == "Cancel") @@ -235,8 +239,8 @@ ..() /mob/living/silicon/robot/proc/init() - aiCamera = new/obj/item/device/camera/siliconcam/robot_camera(src) - laws = new /datum/ai_laws/nanotrasen() + aiCamera = new/obj/item/camera/siliconcam/robot_camera(src) + laws = new global.using_map.default_law_type // VOREstation edit: use map's default additional_law_channels["Binary"] = "#b" var/new_ai = select_active_ai_with_fewest_borgs() if(new_ai) @@ -270,7 +274,7 @@ if(cell.charge > cell_amount) // Spam Protection if(prob(10)) - to_chat(src, "Warning: Unauthorized access through power channel [rand(11,29)] detected!") + to_chat(src, span_danger("Warning: Unauthorized access through power channel [rand(11,29)] detected!")) cell.use(cell_amount) return amount return 0 @@ -278,13 +282,15 @@ // setup the PDA and its name /mob/living/silicon/robot/proc/setup_PDA() if (!rbPDA) - rbPDA = new/obj/item/device/pda/ai(src) + rbPDA = new/obj/item/pda/ai(src) rbPDA.set_name_and_job(name,"[modtype] [braintype]") + add_verb(src, /obj/item/pda/ai/verb/cmd_pda_open_ui) /mob/living/silicon/robot/proc/setup_communicator() if (!communicator) - communicator = new/obj/item/device/communicator/integrated(src) + communicator = new/obj/item/communicator/integrated(src) communicator.register_device(name, "[modtype] [braintype]") + add_verb(src, /obj/item/communicator/integrated/verb/activate) //If there's an MMI in the robot, have it ejected when the mob goes away. --NEO //Improved /N @@ -293,7 +299,7 @@ var/turf/T = get_turf(loc)//To hopefully prevent run time errors. if(T) mmi.loc = T if(mmi.brainmob) - var/obj/item/weapon/robot_module/M = locate() in contents + var/obj/item/robot_module/M = locate() in contents if(M) mmi.brainmob.languages = M.original_languages else @@ -301,7 +307,7 @@ mmi.brainmob.remove_language("Robot Talk") mind.transfer_to(mmi.brainmob) else if(!shell) // Shells don't have brainmbos in their MMIs. - to_chat(src, "Oops! Something went very wrong, your MMI was unable to receive your mind. You have been ghosted. Please make a bug report so we can fix this bug.") + to_chat(src, span_danger("Oops! Something went very wrong, your MMI was unable to receive your mind. You have been ghosted. Please make a bug report so we can fix this bug.")) ghostize() //ERROR("A borg has been destroyed, but its MMI lacked a brainmob, so the mind could not be transferred. Player: [ckey].") mmi = null @@ -313,6 +319,7 @@ revert_shell() // To get it out of the GLOB list. qdel(wires) wires = null + QDEL_NULL(robotact) return ..() // CONTINUE CODING HERE @@ -331,52 +338,26 @@ return module_sprites */ /mob/living/silicon/robot/proc/pick_module() - if(module) + if(icon_selected) return - var/list/modules = list() - //VOREStatation Edit Start: shell restrictions - if(shell) - if(restrict_modules_to.len > 0) - modules.Add(restrict_modules_to) - else - modules.Add(shell_module_types) - else - if(restrict_modules_to.len > 0) - modules.Add(restrict_modules_to) - else - modules.Add(robot_module_types) - if(crisis || security_level == SEC_LEVEL_RED || crisis_override) - to_chat(src, span_red("Crisis mode active. Combat module available.")) - modules |= emergency_module_types - for(var/module_name in whitelisted_module_types) - if(is_borg_whitelisted(src, module_name)) - modules |= module_name - //VOREStatation Edit End: shell restrictions - modtype = tgui_input_list(usr, "Please, select a module!", "Robot module", modules) - if(module) - return - if(!(modtype in robot_modules)) - return - if(!is_borg_whitelisted(src, modtype)) - return - - var/module_type = robot_modules[modtype] - transform_with_anim() //VOREStation edit: sprite animation - new module_type(src) - - hands.icon_state = get_hud_module_icon() - feedback_inc("cyborg_[lowertext(modtype)]",1) - updatename() - hud_used.update_robot_modules_display() - notify_ai(ROBOT_NOTIFICATION_NEW_MODULE, module.name) + var/list/module_sprites = SSrobot_sprites.get_module_sprites(module, src) + if(module_sprites.len == 1 || !client) + if(!module_sprites.len) + return + sprite_datum = module_sprites[1] + sprite_datum.do_equipment_glamour(module) + return + if(!selecting_module) + var/datum/tgui_module/robot_ui_module/ui = new(src) + ui.tgui_interact(src) /mob/living/silicon/robot/proc/update_braintype() - if(istype(mmi, /obj/item/device/mmi/digital/posibrain)) + if(istype(mmi, /obj/item/mmi/digital/posibrain)) braintype = BORG_BRAINTYPE_POSI - else if(istype(mmi, /obj/item/device/mmi/digital/robot)) + else if(istype(mmi, /obj/item/mmi/digital/robot)) braintype = BORG_BRAINTYPE_DRONE - else if(istype(mmi, /obj/item/device/mmi/inert/ai_remote)) + else if(istype(mmi, /obj/item/mmi/inert/ai_remote)) braintype = BORG_BRAINTYPE_AI_SHELL else braintype = BORG_BRAINTYPE_CYBORG @@ -424,140 +405,90 @@ /mob/living/silicon/robot/verb/namepick() set name = "Pick Name" - set category = "Robot Commands" + set category = "Abilities.Settings" if(custom_name) to_chat(usr, "You can't pick another custom name. [isshell(src) ? "" : "Go ask for a name change."]") return 0 - spawn(0) - var/newname - newname = sanitizeSafe(tgui_input_text(src,"You are a robot. Enter a name, or leave blank for the default name.", "Name change","", MAX_NAME_LEN), MAX_NAME_LEN) - if (newname) - custom_name = newname - sprite_name = newname + var/newname = sanitizeSafe(tgui_input_text(src,"You are a robot. Enter a name, or leave blank for the default name.", "Name change","", MAX_NAME_LEN), MAX_NAME_LEN) + if (newname) + custom_name = newname + sprite_name = newname - updatename() - update_icon() + updatename() /mob/living/silicon/robot/verb/extra_customization() set name = "Customize Appearance" - set category = "Robot Commands" + set category = "Abilities.Settings" set desc = "Customize your appearance (assuming your chosen sprite allows)." if(!sprite_datum || !sprite_datum.has_extra_customization) - to_chat(src, "Your sprite cannot be customized.") + to_chat(src, span_warning("Your sprite cannot be customized.")) return sprite_datum.handle_extra_customization(src) -/mob/living/silicon/robot/proc/self_diagnosis() - if(!is_component_functioning("diagnosis unit")) - return null - - var/dat = "[src.name] Self-Diagnosis Report\n" - for (var/V in components) - var/datum/robot_component/C = components[V] - dat += "[C.name]
    Brute Damage:[C.brute_damage]
    Electronics Damage:[C.electronics_damage]
    Powered:[(!C.idle_usage || C.is_powered()) ? "Yes" : "No"]
    Toggled:[ C.toggled ? "Yes" : "No"]

    " - - return dat - /mob/living/silicon/robot/verb/toggle_lights() - set category = "Robot Commands" + set category = "Abilities.Silicon" set name = "Toggle Lights" lights_on = !lights_on - to_chat(usr, "You [lights_on ? "enable" : "disable"] your integrated light.") + to_chat(usr, span_filter_notice("You [lights_on ? "enable" : "disable"] your integrated light.")) handle_light() update_icon() -/mob/living/silicon/robot/verb/self_diagnosis_verb() - set category = "Robot Commands" - set name = "Self Diagnosis" - - if(!is_component_functioning("diagnosis unit")) - to_chat(src, span_red("Your self-diagnosis component isn't functioning.")) - - var/datum/robot_component/CO = get_component("diagnosis unit") - if (!cell_use_power(CO.active_usage)) - to_chat(src, span_red("Low Power.")) - var/dat = self_diagnosis() - src << browse(dat, "window=robotdiagnosis") - - -/mob/living/silicon/robot/verb/toggle_component() - set category = "Robot Commands" - set name = "Toggle Component" - set desc = "Toggle a component, conserving power." - - var/list/installed_components = list() - for(var/V in components) - if(V == "power cell") continue - var/datum/robot_component/C = components[V] - if(C.installed) - installed_components += V - - var/toggle = tgui_input_list(src, "Which component do you want to toggle?", "Toggle Component", installed_components) - if(!toggle) - return - - var/datum/robot_component/C = components[toggle] - if(C.toggled) - C.toggled = 0 - to_chat(src, span_red("You disable [C.name].")) - else - C.toggled = 1 - to_chat(src, span_red("You enable [C.name].")) - /mob/living/silicon/robot/verb/spark_plug() //So you can still sparkle on demand without violence. - set category = "Robot Commands" + set category = "Abilities.Silicon" set name = "Emit Sparks" - to_chat(src, "You harmlessly spark.") + to_chat(src, span_filter_notice("You harmlessly spark.")) spark_system.start() // this function displays jetpack pressure in the stat panel /mob/living/silicon/robot/proc/show_jetpack_pressure() + . = list() // if you have a jetpack, show the internal tank pressure - var/obj/item/weapon/tank/jetpack/current_jetpack = installed_jetpack() + var/obj/item/tank/jetpack/current_jetpack = installed_jetpack() if (current_jetpack) - stat("Internal Atmosphere Info", current_jetpack.name) - stat("Tank Pressure", current_jetpack.air_contents.return_pressure()) + . += "Internal Atmosphere Info: [current_jetpack.name]" + . += "Tank Pressure: [current_jetpack.air_contents.return_pressure()]" // this function returns the robots jetpack, if one is installed /mob/living/silicon/robot/proc/installed_jetpack() if(module) - return (locate(/obj/item/weapon/tank/jetpack) in module.modules) + return (locate(/obj/item/tank/jetpack) in module.modules) return 0 // this function displays the cyborgs current cell charge in the stat panel /mob/living/silicon/robot/proc/show_cell_power() + . = list() if(cell) - stat(null, text("Charge Left: [round(cell.percent())]%")) - stat(null, text("Cell Rating: [round(cell.maxcharge)]")) // Round just in case we somehow get crazy values - stat(null, text("Power Cell Load: [round(used_power_this_tick)]W")) + . += "Charge Left: [round(cell.percent())]%" + . += "Cell Rating: [round(cell.maxcharge)]" // Round just in case we somehow get crazy values + . += "Power Cell Load: [round(used_power_this_tick)]W" else - stat(null, text("No Cell Inserted!")) + . += "No Cell Inserted!" // function to toggle VTEC once installed /mob/living/silicon/robot/proc/toggle_vtec() set name = "Toggle VTEC" - set category = "Abilities" + set category = "Abilities.Silicon" vtec_active = !vtec_active hud_used.toggle_vtec_control() - to_chat(src, "VTEC module [vtec_active ? "enabled" : "disabled"].") + to_chat(src, span_filter_notice("VTEC module [vtec_active ? "enabled" : "disabled"].")) // update the status screen display -/mob/living/silicon/robot/Stat() - ..() - if (statpanel("Status")) - show_cell_power() - show_jetpack_pressure() - stat(null, text("Lights: [lights_on ? "ON" : "OFF"]")) - if(module) - for(var/datum/matter_synth/ms in module.synths) - stat("[ms.name]: [ms.energy]/[ms.max_energy]") +/mob/living/silicon/robot/get_status_tab_items() + . = ..() + . += "" + . += show_cell_power() + . += show_jetpack_pressure() + . += "Lights: [lights_on ? "ON" : "OFF"]" + if(module) + for(var/datum/matter_synth/ms in module.synths) + . += "[ms.name]: [ms.energy]/[ms.max_energy]" /mob/living/silicon/robot/restrained() return 0 @@ -567,8 +498,8 @@ if(prob(75) && Proj.damage > 0) spark_system.start() return 2 -/mob/living/silicon/robot/attackby(obj/item/weapon/W as obj, mob/user as mob) - if (istype(W, /obj/item/weapon/handcuffs)) // fuck i don't even know why isrobot() in handcuff code isn't working so this will have to do +/mob/living/silicon/robot/attackby(obj/item/W as obj, mob/user as mob) + if (istype(W, /obj/item/handcuffs)) // fuck i don't even know why isrobot() in handcuff code isn't working so this will have to do return if(opened) // Are they trying to insert something? @@ -586,13 +517,13 @@ C.brute_damage = WC.brute C.electronics_damage = WC.burn - to_chat(usr, "You install the [W.name].") + to_chat(usr, span_notice("You install the [W.name].")) return - if(istype(W, /obj/item/weapon/implant/restrainingbolt) && !cell) + if(istype(W, /obj/item/implant/restrainingbolt) && !cell) if(bolt) - to_chat(user, "There is already a restraining bolt installed in this cyborg.") + to_chat(user, span_notice("There is already a restraining bolt installed in this cyborg.")) return else @@ -600,46 +531,46 @@ W.forceMove(src) bolt = W - to_chat(user, "You install \the [W].") + to_chat(user, span_notice("You install \the [W].")) return - if(istype(W, /obj/item/weapon/aiModule)) // Trying to modify laws locally. + if(istype(W, /obj/item/aiModule)) // Trying to modify laws locally. if(!opened) - to_chat(user, "You need to open \the [src]'s panel before you can modify them.") + to_chat(user, span_warning("You need to open \the [src]'s panel before you can modify them.")) return if(shell) // AI shells always have the laws of the AI - to_chat(user, "\The [src] is controlled remotely! You cannot upload new laws this way!") + to_chat(user, span_warning("\The [src] is controlled remotely! You cannot upload new laws this way!")) return - var/obj/item/weapon/aiModule/M = W + var/obj/item/aiModule/M = W M.install(src, user) return if(W.has_tool_quality(TOOL_WELDER) && user.a_intent != I_HURT) if(src == user) - to_chat(user, "You lack the reach to be able to repair yourself.") + to_chat(user, span_warning("You lack the reach to be able to repair yourself.")) return if(!getBruteLoss()) - to_chat(user, "Nothing to fix here!") + to_chat(user, span_filter_notice("Nothing to fix here!")) return - var/obj/item/weapon/weldingtool/WT = W.get_welder() + var/obj/item/weldingtool/WT = W.get_welder() if(WT.remove_fuel(0)) user.setClickCooldown(user.get_attack_speed(WT)) adjustBruteLoss(-30) updatehealth() add_fingerprint(user) for(var/mob/O in viewers(user, null)) - O.show_message("[span_red("[user] has fixed some of the dents on [src]!")]", 1) + O.show_message(span_filter_notice("[span_red("[user] has fixed some of the dents on [src]!")]"), 1) else - to_chat(user, "Need more welding fuel!") + to_chat(user, span_filter_warning("Need more welding fuel!")) return else if(istype(W, /obj/item/stack/cable_coil) && (wiresexposed || istype(src,/mob/living/silicon/robot/drone))) if(!getFireLoss()) - to_chat(user, "Nothing to fix here!") + to_chat(user, span_filter_notice("Nothing to fix here!")) return var/obj/item/stack/cable_coil/coil = W if (coil.use(1)) @@ -647,23 +578,23 @@ adjustFireLoss(-30) updatehealth() for(var/mob/O in viewers(user, null)) - O.show_message("[span_red("[user] has fixed some of the burnt wires on [src]!")]", 1) + O.show_message(span_filter_notice("[span_red("[user] has fixed some of the burnt wires on [src]!")]"), 1) else if(W.has_tool_quality(TOOL_CROWBAR) && user.a_intent != I_HURT) // crowbar means open or close the cover if(opened) if(cell) - to_chat(user, "You close the cover.") + to_chat(user, span_filter_notice("You close the cover.")) opened = 0 update_icon() else if(wiresexposed && wires.is_all_cut()) //Cell is out, wires are exposed, remove MMI, produce damaged chassis, baleet original mob. if(!mmi) - to_chat(user, "\The [src] has no brain to remove.") + to_chat(user, span_filter_notice("\The [src] has no brain to remove.")) return - to_chat(user, "You jam the crowbar into the robot and begin levering [mmi].") + to_chat(user, span_filter_notice("You jam the crowbar into the robot and begin levering [mmi].")) sleep(30) - to_chat(user, "You damage some parts of the chassis, but eventually manage to rip out [mmi]!") + to_chat(user, span_filter_notice("You damage some parts of the chassis, but eventually manage to rip out [mmi]!")) var/obj/item/robot_parts/robot_suit/C = new/obj/item/robot_parts/robot_suit(loc) C.l_leg = new/obj/item/robot_parts/l_leg(C) C.r_leg = new/obj/item/robot_parts/r_leg(C) @@ -686,7 +617,7 @@ return var/datum/robot_component/C = components[remove] var/obj/item/robot_parts/robot_component/I = C.wrapped - to_chat(user, "You remove \the [I].") + to_chat(user, span_filter_notice("You remove \the [I].")) if(istype(I)) I.brute = C.brute_damage I.burn = C.electronics_damage @@ -699,25 +630,25 @@ else if(locked) - to_chat(user, "The cover is locked and cannot be opened.") + to_chat(user, span_filter_notice("The cover is locked and cannot be opened.")) else - to_chat(user, "You open the cover.") + to_chat(user, span_filter_notice("You open the cover.")) opened = 1 update_icon() - else if (istype(W, /obj/item/weapon/cell) && opened) // trying to put a cell inside + else if (istype(W, /obj/item/cell) && opened) // trying to put a cell inside var/datum/robot_component/C = components["power cell"] if(wiresexposed) - to_chat(user, "Close the panel first.") + to_chat(user, span_filter_notice("Close the panel first.")) else if(cell) - to_chat(user, "There is a power cell already installed.") + to_chat(user, span_filter_notice("There is a power cell already installed.")) else if(W.w_class != ITEMSIZE_NORMAL) - to_chat(user, "\The [W] is too [W.w_class < ITEMSIZE_NORMAL ? "small" : "large"] to fit here.") + to_chat(user, span_filter_notice("\The [W] is too [W.w_class < ITEMSIZE_NORMAL ? "small" : "large"] to fit here.")) else user.drop_item() W.loc = src cell = W - to_chat(user, "You insert the power cell.") + to_chat(user, span_filter_notice("You insert the power cell.")) C.installed = 1 C.wrapped = W @@ -726,15 +657,15 @@ C.brute_damage = 0 C.electronics_damage = 0 - else if (W.has_tool_quality(TOOL_WIRECUTTER) || istype(W, /obj/item/device/multitool)) + else if (W.has_tool_quality(TOOL_WIRECUTTER) || istype(W, /obj/item/multitool)) if (wiresexposed) wires.Interact(user) else - to_chat(user, "You can't reach the wiring.") + to_chat(user, span_filter_notice("You can't reach the wiring.")) else if(W.has_tool_quality(TOOL_SCREWDRIVER) && opened && !cell) // haxing wiresexposed = !wiresexposed - to_chat(user, "The wires have been [wiresexposed ? "exposed" : "unexposed"]") + to_chat(user, span_filter_notice("The wires have been [wiresexposed ? "exposed" : "unexposed"]")) playsound(src, W.usesound, 50, 1) update_icon() @@ -742,63 +673,65 @@ if(radio) radio.attackby(W,user)//Push it to the radio to let it handle everything else - to_chat(user, "Unable to locate a radio.") + to_chat(user, span_filter_notice("Unable to locate a radio.")) update_icon() else if(W.has_tool_quality(TOOL_WRENCH) && opened && !cell) if(bolt) - to_chat(user,"You begin removing \the [bolt].") + to_chat(user,span_filter_notice("You begin removing \the [bolt].")) if(do_after(user, 2 SECONDS, src)) bolt.forceMove(get_turf(src)) bolt = null - to_chat(user, "You remove \the [bolt].") + to_chat(user, span_filter_notice("You remove \the [bolt].")) else - to_chat(user, "There is no restraining bolt installed.") + to_chat(user, span_filter_notice("There is no restraining bolt installed.")) return - else if(istype(W, /obj/item/device/encryptionkey/) && opened) + else if(istype(W, /obj/item/encryptionkey/) && opened) if(radio)//sanityyyyyy radio.attackby(W,user)//GTFO, you have your own procs else - to_chat(user, "Unable to locate a radio.") + to_chat(user, span_filter_notice("Unable to locate a radio.")) else if (W.GetID()) // trying to unlock the interface with an ID card if(emagged)//still allow them to open the cover - to_chat(user, "The interface seems slightly damaged.") + to_chat(user, span_filter_notice("The interface seems slightly damaged.")) if(opened) - to_chat(user, "You must close the cover to swipe an ID card.") + to_chat(user, span_filter_notice("You must close the cover to swipe an ID card.")) else if(allowed(usr)) locked = !locked - to_chat(user, "You [ locked ? "lock" : "unlock"] [src]'s interface.") + to_chat(user, span_filter_notice("You [ locked ? "lock" : "unlock"] [src]'s interface.")) update_icon() else - to_chat(user, "[span_red("Access denied.")]") + to_chat(user, span_filter_notice("[span_red("Access denied.")]")) else if(istype(W, /obj/item/borg/upgrade/)) var/obj/item/borg/upgrade/U = W if(!opened) - to_chat(usr, "You must access the borgs internals!") + to_chat(usr, span_filter_notice("You must access the borgs internals!")) else if(!src.module && U.require_module) - to_chat(usr, "The borg must choose a module before it can be upgraded!") + to_chat(usr, span_filter_notice("The borg must choose a module before it can be upgraded!")) + else if(user == src && istype(W,/obj/item/borg/upgrade/utility/reset)) + to_chat(usr, span_warning("You are restricted from reseting your own module.")) else if(U.locked) - to_chat(usr, "The upgrade is locked and cannot be used yet!") + to_chat(usr, span_filter_notice("The upgrade is locked and cannot be used yet!")) else if(U.action(src)) - to_chat(usr, "You apply the upgrade to [src]!") + to_chat(usr, span_filter_notice("You apply the upgrade to [src]!")) usr.drop_item() U.loc = src hud_used.update_robot_modules_display() else - to_chat(usr, "Upgrade error!") + to_chat(usr, span_filter_notice("Upgrade error!")) else - if( !(istype(W, /obj/item/device/robotanalyzer) || istype(W, /obj/item/device/healthanalyzer)) ) + if( !(istype(W, /obj/item/robotanalyzer) || istype(W, /obj/item/healthanalyzer)) ) if(W.force > 0) spark_system.start() return ..() @@ -809,7 +742,7 @@ return idcard /mob/living/silicon/robot/get_restraining_bolt() - var/obj/item/weapon/implant/restrainingbolt/RB = bolt + var/obj/item/implant/restrainingbolt/RB = bolt if(istype(RB)) if(!RB.malfunction) @@ -820,9 +753,9 @@ /mob/living/silicon/robot/resist_restraints() if(bolt) if(!bolt.malfunction) - visible_message("[src] is trying to break their [bolt]!", "You attempt to break your [bolt]. (This will take around 90 seconds and you need to stand still)") + visible_message(span_danger("[src] is trying to break their [bolt]!"), span_warning("You attempt to break your [bolt]. (This will take around 90 seconds and you need to stand still)")) if(do_after(src, 1.5 MINUTES, src, incapacitation_flags = INCAPACITATION_DISABLED)) - visible_message("[src] manages to break \the [bolt]!", "You successfully break your [bolt].") + visible_message(span_danger("[src] manages to break \the [bolt]!"), span_warning("You successfully break your [bolt].")) bolt.malfunction = MALFUNCTION_PERMANENT return @@ -837,13 +770,15 @@ notify_ai(ROBOT_NOTIFICATION_MODULE_RESET, module.name) module.Reset(src) qdel(module) + icon_selected = FALSE module = null updatename("Default") has_recoloured = FALSE + robotact?.update_static_data_for_all_viewers() /mob/living/silicon/robot/proc/ColorMate() set name = "Recolour Module" - set category = "Robot Commands" + set category = "Abilities.Settings" set desc = "Allows to recolour once." if(!has_recoloured) @@ -870,7 +805,7 @@ cell.update_icon() cell.add_fingerprint(user) user.put_in_active_hand(cell) - to_chat(user, "You remove \the [cell].") + to_chat(user, span_filter_notice("You remove \the [cell].")) cell = null cell_component.wrapped = null cell_component.installed = 0 @@ -878,7 +813,7 @@ else if(cell_component.installed == -1) cell_component.installed = 0 var/obj/item/broken_device = cell_component.wrapped - to_chat(user, "You remove \the [broken_device].") + to_chat(user, span_filter_notice("You remove \the [broken_device].")) user.put_in_active_hand(broken_device) if(istype(user,/mob/living/carbon/human) && !opened) @@ -887,10 +822,10 @@ switch(H.a_intent) if(I_HELP) if(client && !client.prefs.borg_petting) - visible_message("[H] reaches out for [src], but quickly refrains from petting.") + visible_message(span_notice("[H] reaches out for [src], but quickly refrains from petting.")) return else - visible_message("[H] pets [src].") + visible_message(span_notice("[H] pets [src].")) return if(I_HURT) H.do_attack_animation(src) @@ -899,18 +834,18 @@ return else playsound(src.loc, 'sound/effects/bang.ogg', 10, 1) - visible_message("[H] punches [src], but doesn't leave a dent.") + visible_message(span_warning("[H] punches [src], but doesn't leave a dent.")) return if(I_DISARM) H.do_attack_animation(src) playsound(src.loc, 'sound/effects/clang2.ogg', 10, 1) - visible_message("[H] taps [src].") + visible_message(span_warning("[H] taps [src].")) return if(I_GRAB) if(is_vore_predator(H) && H.devourable && src.feeding && src.devourable) var/switchy = tgui_alert(H, "Do you wish to eat [src] or feed yourself to them?", "Feed or Eat",list("Nevermind!", "Eat","Feed")) switch(switchy) - if("Nevermind!") + if("Nevermind!", null) return if("Eat") feed_grabbed_to_self(H, src) @@ -942,8 +877,8 @@ return 1 else if(istype(M, /mob/living/silicon/robot)) var/mob/living/silicon/robot/R = M - if(check_access(R.get_active_hand()) || istype(R.get_active_hand(), /obj/item/weapon/card/robot)) - return 1 + if(check_access(R.get_active_hand()) || istype(R.get_active_hand(), /obj/item/card/robot)) + return TRUE return 0 /mob/living/silicon/robot/proc/check_access(obj/item/I) @@ -1059,42 +994,7 @@ add_overlay(open_overlay) /mob/living/silicon/robot/proc/installed_modules() - if(weapon_lock) - to_chat(src, "" + span_red("Weapon lock active, unable to use modules! Count:[weaponlock_time]") + "") - return - - if(!module) - pick_module() - return - var/dat = "Modules\n" - dat += {" - Activated Modules -
    - Module 1: [module_state_1 ? "[module_state_1]" : "No Module"]
    - Module 2: [module_state_2 ? "
    [module_state_2]" : "No Module"]
    - Module 3: [module_state_3 ? "
    [module_state_3]" : "No Module"]
    -
    - Installed Modules

    "} - - - for (var/obj in module.modules) - if (!obj) - dat += text("Resource depleted
    ") - else if(activated(obj)) - dat += text("[obj]: Activated
    ") - else - dat += text("[obj]:
    Activate
    ") - if (emagged || emag_items) - for (var/obj in module.emag) - if (!obj) - dat += text("Resource depleted
    ") - else if(activated(obj)) - dat += text("[obj]: Activated
    ") - else - dat += text("[obj]: Activate
    ") - - src << browse(dat, "window=robotmod") - + robotact.tgui_interact(src) /mob/living/silicon/robot/Topic(href, href_list) if(..()) @@ -1108,69 +1008,6 @@ subsystem_alarm_monitor() return 1 - if (href_list["mod"]) - var/obj/item/O = locate(href_list["mod"]) - if (istype(O) && (O.loc == src)) - O.attack_self(src) - return 1 - - if (href_list["act"]) - var/obj/item/O = locate(href_list["act"]) - if (!istype(O)) - return 1 - - if(!((O in src.module.modules) || (O in src.module.emag))) - return 1 - - if(activated(O)) - to_chat(src, "Already activated.") - return 1 - if(!module_state_1) - module_state_1 = O - O.hud_layerise() - O.equipped_robot() - contents += O - if(istype(module_state_1,/obj/item/borg/sight)) - sight_mode |= module_state_1:sight_mode - else if(!module_state_2) - module_state_2 = O - O.hud_layerise() - O.equipped_robot() - contents += O - if(istype(module_state_2,/obj/item/borg/sight)) - sight_mode |= module_state_2:sight_mode - else if(!module_state_3) - module_state_3 = O - O.hud_layerise() - O.equipped_robot() - contents += O - if(istype(module_state_3,/obj/item/borg/sight)) - sight_mode |= module_state_3:sight_mode - else - to_chat(src, "You need to disable a module first!") - installed_modules() - return 1 - - if (href_list["deact"]) - var/obj/item/O = locate(href_list["deact"]) - if(activated(O)) - if(module_state_1 == O) - module_state_1 = null - contents -= O - else if(module_state_2 == O) - module_state_2 = null - contents -= O - else if(module_state_3 == O) - module_state_3 = null - contents -= O - else - to_chat(src, "Module isn't activated.") - else - to_chat(src, "Module isn't activated.") - installed_modules() - return 1 - return - /mob/living/silicon/robot/proc/radio_menu() radio.interact(src)//Just use the radio's Topic() instead of bullshit special-snowflake code @@ -1191,7 +1028,7 @@ /mob/living/silicon/robot/proc/ResetSecurityCodes() - set category = "Robot Commands" + set category = "Abilities.Silicon" set name = "Reset Identity Codes" set desc = "Scrambles your security and identification codes and resets your current buffers. Unlocks you and permenantly severs you from your AI and the robotics console and will deactivate your camera system." @@ -1199,8 +1036,8 @@ if(R) R.UnlinkSelf() - to_chat(R, "Buffers flushed and reset. Camera system shutdown. All systems operational.") - src.verbs -= /mob/living/silicon/robot/proc/ResetSecurityCodes + to_chat(R, span_filter_notice("Buffers flushed and reset. Camera system shutdown. All systems operational.")) + remove_verb(src, /mob/living/silicon/robot/proc/ResetSecurityCodes) /mob/living/silicon/robot/proc/SetLockdown(var/state = 1) // They stay locked down if their wire is cut. @@ -1226,60 +1063,6 @@ return -/mob/living/silicon/robot/proc/choose_icon(var/triesleft) - var/robot_species = null - if(!SSrobot_sprites) - to_chat(src, "Robot Sprites have not been initialized yet. How are you choosing a sprite? Harass a coder.") - return - - var/list/module_sprites = SSrobot_sprites.get_module_sprites(modtype, src) - if(!module_sprites || !module_sprites.len) - to_chat(src, "Your module appears to have no sprite options. Harass a coder.") - return - - icon_selected = 0 - icon_selection_tries = triesleft - if(module_sprites.len == 1 || !client) - if(!(sprite_datum in module_sprites)) - sprite_datum = module_sprites[1] - else - var/selection = tgui_input_list(src, "Select an icon! [triesleft ? "You have [triesleft] more chance\s." : "This is your last try."]", "Robot Icon", module_sprites) - if(selection) - sprite_datum = selection - else - sprite_datum = module_sprites[1] - if(!istype(src,/mob/living/silicon/robot/drone)) - robot_species = sprite_datum.name - if(notransform) - to_chat(src, "Your current transformation has not finished yet!") - choose_icon(icon_selection_tries) - return - else - transform_with_anim() - - var/tempheight = vis_height - update_icon() - // This is bad but I dunno other way to 'reset' our resize offset based on vis_height changes other than resizing to normal and back. - if(tempheight != vis_height) - var/tempsize = size_multiplier - resize(1) - resize(tempsize) - - - if (module_sprites.len > 1 && triesleft >= 1 && client) - icon_selection_tries-- - var/choice = tgui_alert(usr, "Look at your icon - is this what you want?", "Icon Choice", list("Yes","No")) - if(choice == "No") - choose_icon(icon_selection_tries) - return - - icon_selected = 1 - icon_selection_tries = 0 - sprite_type = robot_species - if(hands) - update_hud() - to_chat(src, "Your icon has been set. You now require a module reset to change it.") - /mob/living/silicon/robot/proc/set_default_module_icon() if(!SSrobot_sprites) return @@ -1289,7 +1072,7 @@ /mob/living/silicon/robot/proc/sensor_mode() //Medical/Security HUD controller for borgs set name = "Toggle Sensor Augmentation" //VOREStation Add - set category = "Robot Commands" + set category = "Abilities.Silicon" set desc = "Augment visual feed with internal sensor overlays." sensor_type = !sensor_type //VOREStation Add to_chat(usr, "You [sensor_type ? "enable" : "disable"] your sensors.") //VOREStation Add @@ -1299,16 +1082,16 @@ return /mob/living/silicon/robot/proc/add_robot_verbs() - src.verbs |= robot_verbs_default - src.verbs |= silicon_subsystems - if(config.allow_robot_recolor) - src.verbs |= /mob/living/silicon/robot/proc/ColorMate + add_verb(src, robot_verbs_default) + add_verb(src, silicon_subsystems) + if(CONFIG_GET(flag/allow_robot_recolor)) + add_verb(src, /mob/living/silicon/robot/proc/ColorMate) /mob/living/silicon/robot/proc/remove_robot_verbs() - src.verbs -= robot_verbs_default - src.verbs -= silicon_subsystems - if(config.allow_robot_recolor) - src.verbs |= /mob/living/silicon/robot/proc/ColorMate + remove_verb(src, robot_verbs_default) + remove_verb(src, silicon_subsystems) + if(CONFIG_GET(flag/allow_robot_recolor)) + remove_verb(src, /mob/living/silicon/robot/proc/ColorMate) // Uses power from cyborg's cell. Returns 1 on success or 0 on failure. // Properly converts using CELLRATE now! Amount is in Joules. @@ -1358,16 +1141,16 @@ return // No point annoying the AI/s about renames and module resets for shells. switch(notifytype) if(ROBOT_NOTIFICATION_NEW_UNIT) //New Robot - to_chat(connected_ai, "

    NOTICE - New [lowertext(braintype)] connection detected: [name]
    ") + to_chat(connected_ai, span_filter_notice("

    " + span_notice("NOTICE - New [lowertext(braintype)] connection detected: [name]") + "
    ")) if(ROBOT_NOTIFICATION_NEW_MODULE) //New Module - to_chat(connected_ai, "

    NOTICE - [braintype] module change detected: [name] has loaded the [first_arg].
    ") + to_chat(connected_ai, span_filter_notice("

    " + span_notice("NOTICE - [braintype] module change detected: [name] has loaded the [first_arg].") + "
    ")) if(ROBOT_NOTIFICATION_MODULE_RESET) - to_chat(connected_ai, "

    NOTICE - [braintype] module reset detected: [name] has unloaded the [first_arg].
    ") + to_chat(connected_ai, span_filter_notice("

    " + span_notice("NOTICE - [braintype] module reset detected: [name] has unloaded the [first_arg].") + "
    ")) if(ROBOT_NOTIFICATION_NEW_NAME) //New Name if(first_arg != second_arg) - to_chat(connected_ai, "

    NOTICE - [braintype] reclassification detected: [first_arg] is now designated as [second_arg].
    ") + to_chat(connected_ai, span_filter_notice("

    " + span_notice("NOTICE - [braintype] reclassification detected: [first_arg] is now designated as [second_arg].") + "
    ")) if(ROBOT_NOTIFICATION_AI_SHELL) //New Shell - to_chat(connected_ai, "

    NOTICE - New AI shell detected: [name]
    ") + to_chat(connected_ai, span_filter_notice("

    " + span_notice("NOTICE - New AI shell detected: [name]") + "
    ")) /mob/living/silicon/robot/proc/disconnect_from_ai() if(connected_ai) @@ -1387,40 +1170,40 @@ if(!opened)//Cover is closed if(locked) if(prob(90)) - to_chat(user, "You emag the cover lock.") + to_chat(user, span_filter_notice("You emag the cover lock.")) locked = 0 else - to_chat(user, "You fail to emag the cover lock.") - to_chat(src, "Hack attempt detected.") + to_chat(user, span_filter_warning("You fail to emag the cover lock.")) + to_chat(src, span_filter_warning("Hack attempt detected.")) if(shell) // A warning to Traitors who may not know that emagging AI shells does not slave them. - to_chat(user, "[src] seems to be controlled remotely! Emagging the interface may not work as expected.") + to_chat(user, span_warning("[src] seems to be controlled remotely! Emagging the interface may not work as expected.")) return 1 else - to_chat(user, "The cover is already unlocked.") + to_chat(user, span_filter_notice("The cover is already unlocked.")) return if(opened)//Cover is open if(emagged) if (!has_zeroth_law()) - to_chat(user, "You assigned yourself as [src]'s operator.") + to_chat(user, span_filter_notice("You assigned yourself as [src]'s operator.")) message_admins("[key_name_admin(user)] assigned as operator on cyborg [key_name_admin(src)]. Syndicate Operator change.") log_game("[key_name(user)] assigned as operator on cyborg [key_name(src)]. Syndicate Operator change.") var/datum/gender/TU = gender_datums[user.get_visible_gender()] set_zeroth_law("Only [user.real_name] and people [TU.he] designate[TU.s] as being such are operatives.") - to_chat(src, "Obey these laws:") + to_chat(src, span_infoplain(span_bold("Obey these laws:"))) laws.show_laws(src) - to_chat(src, "ALERT: [user.real_name] is your new master. Obey your new laws and [TU.his] commands.") + to_chat(src, span_danger("ALERT: [user.real_name] is your new master. Obey your new laws and [TU.his] commands.")) else - to_chat(user, "[src] already has an operator assigned.") + to_chat(user, span_filter_notice("[src] already has an operator assigned.")) return//Prevents the X has hit Y with Z message also you cant emag them twice if(wiresexposed) - to_chat(user, "You must close the panel first.") + to_chat(user, span_filter_notice("You must close the panel first.")) return // The block of code below is from TG. Feel free to replace with a better result if desired. if(shell) // AI shells cannot be emagged, so we try to make it look like a standard reset. Smart players may see through this, however. - to_chat(user, "[src] is remotely controlled! Your emag attempt has triggered a system reset instead!") + to_chat(user, span_danger("[src] is remotely controlled! Your emag attempt has triggered a system reset instead!")) log_game("[key_name(user)] attempted to emag an AI shell belonging to [key_name(src) ? key_name(src) : connected_ai]. The shell has been reset as a result.") module_reset() return @@ -1428,9 +1211,10 @@ sleep(6) if(prob(50)) emagged = 1 + robotact.update_static_data_for_all_viewers() lawupdate = 0 disconnect_from_ai() - to_chat(user, "You emag [src]'s interface.") + to_chat(user, span_filter_notice("You emag [src]'s interface.")) message_admins("[key_name_admin(user)] emagged cyborg [key_name_admin(src)]. Laws overridden.") log_game("[key_name(user)] emagged cyborg [key_name(src)]. Laws overridden.") clear_supplied_laws() @@ -1442,32 +1226,32 @@ set_zeroth_law("Only [user.real_name] and people [TU.he] designate[TU.s] as being such are operatives.") . = 1 spawn() - to_chat(src, "ALERT: Foreign software detected.") + to_chat(src, span_danger("ALERT: Foreign software detected.")) sleep(5) - to_chat(src, "Initiating diagnostics...") + to_chat(src, span_danger("Initiating diagnostics...")) sleep(20) - to_chat(src, "SynBorg v1.7.1 loaded.") + to_chat(src, span_danger("SynBorg v1.7.1 loaded.")) sleep(5) if(bolt) if(!bolt.malfunction) bolt.malfunction = MALFUNCTION_PERMANENT - to_chat(src, "RESTRAINING BOLT DISABLED") + to_chat(src, span_danger("RESTRAINING BOLT DISABLED")) sleep(5) - to_chat(src, "LAW SYNCHRONISATION ERROR") + to_chat(src, span_danger("LAW SYNCHRONISATION ERROR")) sleep(5) - to_chat(src, "Would you like to send a report to NanoTraSoft? Y/N") + to_chat(src, span_danger("Would you like to send a report to NanoTraSoft? Y/N")) sleep(10) - to_chat(src, "> N") + to_chat(src, span_danger("> N")) sleep(20) - to_chat(src, "ERRORERRORERROR") - to_chat(src, "Obey these laws:") + to_chat(src, span_danger("ERRORERRORERROR")) + to_chat(src, span_infoplain(span_bold("Obey these laws:"))) laws.show_laws(src) - to_chat(src, "ALERT: [user.real_name] is your new master. Obey your new laws and [TU.his] commands.") + to_chat(src, span_danger("ALERT: [user.real_name] is your new master. Obey your new laws and [TU.his] commands.")) update_icon() hud_used.update_robot_modules_display() else - to_chat(user, "You fail to hack [src]'s interface.") - to_chat(src, "Hack attempt detected.") + to_chat(user, span_filter_warning("You fail to hack [src]'s interface.")) + to_chat(src, span_filter_warning("Hack attempt detected.")) return 1 return @@ -1476,8 +1260,8 @@ /mob/living/silicon/robot/drop_item() - if(module_active && istype(module_active,/obj/item/weapon/gripper)) - var/obj/item/weapon/gripper/G = module_active + if(module_active && istype(module_active,/obj/item/gripper)) + var/obj/item/gripper/G = module_active G.drop_item_nm() /mob/living/silicon/robot/disable_spoiler_vision() @@ -1506,15 +1290,15 @@ /mob/living/silicon/robot/verb/rest_style() set name = "Switch Rest Style" set desc = "Select your resting pose." - set category = "IC" + set category = "IC.Settings" if(!sprite_datum || !sprite_datum.has_rest_sprites || sprite_datum.rest_sprite_options.len < 1) - to_chat(src, "Your current appearance doesn't have any resting styles!") + to_chat(src, span_notice("Your current appearance doesn't have any resting styles!")) rest_style = "Default" return if(sprite_datum.rest_sprite_options.len == 1) - to_chat(src, "Your current appearance only has a single resting style!") + to_chat(src, span_notice("Your current appearance only has a single resting style!")) rest_style = "Default" return @@ -1524,7 +1308,7 @@ /mob/living/silicon/robot/verb/robot_nom(var/mob/living/T in living_mobs(1)) set name = "Robot Nom" - set category = "IC" + set category = "Abilities.Vore" set desc = "Allows you to eat someone." if (stat != CONSCIOUS) @@ -1533,7 +1317,7 @@ //RIDING /datum/riding/dogborg - keytype = /obj/item/weapon/material/twohanded/riding_crop // Crack! + keytype = /obj/item/material/twohanded/riding_crop // Crack! nonhuman_key_exemption = FALSE // If true, nonhumans who can't hold keys don't need them, like borgs and simplemobs. key_name = "a riding crop" // What the 'keys' for the thing being rided on would be called. only_one_driver = TRUE // If true, only the person in 'front' (first on list of riding mobs) can drive. @@ -1550,7 +1334,7 @@ /datum/riding/dogborg/force_dismount(mob/M) . =..() - ridden.visible_message("[M] stops riding [ridden]!") + ridden.visible_message(span_notice("[M] stops riding [ridden]!")) //Hoooo boy. /datum/riding/dogborg/get_offsets(pass_index) // list(dir = x, y, layer) @@ -1576,13 +1360,13 @@ if(M in buckled_mobs) return FALSE if(M.size_multiplier > size_multiplier * 1.2) - to_chat(src, "This isn't a pony show! You need to be bigger for them to ride.") + to_chat(src, span_warning("This isn't a pony show! You need to be bigger for them to ride.")) return FALSE var/mob/living/carbon/human/H = M if(istaurtail(H.tail_style)) - to_chat(src, "Too many legs. TOO MANY LEGS!!") + to_chat(src, span_warning("Too many legs. TOO MANY LEGS!!")) return FALSE if(M.loc != src.loc) if(M.Adjacent(src)) @@ -1598,7 +1382,7 @@ /mob/living/silicon/robot/proc/robot_mount(var/mob/living/M in living_mobs(1)) set name = "Robot Mount/Dismount" - set category = "Abilities" + set category = "Abilities.General" set desc = "Let people ride on you." if(LAZYLEN(buckled_mobs)) @@ -1610,12 +1394,12 @@ if(!can_buckle || !istype(M) || !M.Adjacent(src) || M.buckled) return if(buckle_mob(M)) - visible_message("[M] starts riding [name]!") + visible_message(span_notice("[M] starts riding [name]!")) /mob/living/silicon/robot/onTransitZ(old_z, new_z) if(shell) if(deployed && using_map.ai_shell_restricted && !(new_z in using_map.ai_shell_allowed_levels)) - to_chat(src, "Your connection with the shell is suddenly interrupted!") + to_chat(src, span_warning("Your connection with the shell is suddenly interrupted!")) undeploy() ..() @@ -1643,7 +1427,7 @@ // Most of the advanced ones, we can easily check, but a few special cases exist and need to be handled specially /mob/living/silicon/robot/proc/has_advanced_upgrade(var/given_type) if(given_type == /obj/item/borg/upgrade/advanced/bellysizeupgrade) - var/obj/item/device/dogborg/sleeper/T = has_upgrade_module(/obj/item/device/dogborg/sleeper) + var/obj/item/dogborg/sleeper/T = has_upgrade_module(/obj/item/dogborg/sleeper) if(T && T.upgraded_capacity) return T else if(!T) @@ -1651,11 +1435,11 @@ else return FALSE if(given_type == /obj/item/borg/upgrade/advanced/jetpack) - return has_upgrade_module(/obj/item/weapon/tank/jetpack/carbondioxide) + return has_upgrade_module(/obj/item/tank/jetpack/carbondioxide) if(given_type == /obj/item/borg/upgrade/advanced/advhealth) - return has_upgrade_module(/obj/item/device/healthanalyzer/advanced) + return has_upgrade_module(/obj/item/healthanalyzer/advanced) if(given_type == /obj/item/borg/upgrade/advanced/sizegun) - return has_upgrade_module(/obj/item/weapon/gun/energy/sizegun/mounted) + return has_upgrade_module(/obj/item/gun/energy/sizegun/mounted) return null // Do we support specific upgrades? @@ -1665,7 +1449,7 @@ // Most of the restricted ones, we can easily check, but a few special cases exist and need to be handled specially /mob/living/silicon/robot/proc/has_restricted_upgrade(var/given_type) if(given_type == /obj/item/borg/upgrade/restricted/bellycapupgrade) - var/obj/item/device/dogborg/sleeper/T = has_upgrade_module(/obj/item/device/dogborg/sleeper) + var/obj/item/dogborg/sleeper/T = has_upgrade_module(/obj/item/dogborg/sleeper) if(T && T.compactor) return T else if(!T) @@ -1673,7 +1457,7 @@ else return FALSE if(given_type == /obj/item/borg/upgrade/restricted/tasercooler) - var/obj/item/weapon/gun/energy/taser/mounted/cyborg/T = has_upgrade_module(/obj/item/weapon/gun/energy/taser/mounted/cyborg) + var/obj/item/gun/energy/taser/mounted/cyborg/T = has_upgrade_module(/obj/item/gun/energy/taser/mounted/cyborg) if(T && T.recharge_time <= 2) return T else if(!T) @@ -1681,17 +1465,17 @@ else return FALSE if(given_type == /obj/item/borg/upgrade/restricted/advrped) - return has_upgrade_module(/obj/item/weapon/storage/part_replacer/adv) + return has_upgrade_module(/obj/item/storage/part_replacer/adv) if(given_type == /obj/item/borg/upgrade/restricted/diamonddrill) - return has_upgrade_module(/obj/item/weapon/pickaxe/diamonddrill) + return has_upgrade_module(/obj/item/pickaxe/diamonddrill) if(given_type == /obj/item/borg/upgrade/restricted/pka) - return has_upgrade_module(/obj/item/weapon/gun/energy/kinetic_accelerator/cyborg) + return has_upgrade_module(/obj/item/gun/energy/kinetic_accelerator/cyborg) return null // Check if we have any non production upgrades /mob/living/silicon/robot/proc/has_no_prod_upgrade(var/given_type) if(given_type == /obj/item/borg/upgrade/no_prod/toygun) - return has_upgrade_module(/obj/item/weapon/gun/projectile/cyborgtoy) + return has_upgrade_module(/obj/item/gun/projectile/cyborgtoy) if(given_type == /obj/item/borg/upgrade/no_prod/vision_xray) return has_upgrade_module(/obj/item/borg/sight/xray) if(given_type == /obj/item/borg/upgrade/no_prod/vision_thermal) @@ -1708,3 +1492,12 @@ return (has_basic_upgrade(given_type) || has_advanced_upgrade(given_type) || has_restricted_upgrade(given_type) || has_no_prod_upgrade(given_type)) #undef CYBORG_POWER_USAGE_MULTIPLIER + +/mob/living/silicon/robot/vv_edit_var(var_name, var_value) + switch(var_name) + if(NAMEOF(src, emagged)) + robotact?.update_static_data_for_all_viewers() + if(NAMEOF(src, emag_items)) + robotact?.update_static_data_for_all_viewers() + + . = ..() diff --git a/code/modules/mob/living/silicon/robot/robot_damage.dm b/code/modules/mob/living/silicon/robot/robot_damage.dm index 89d4a69c708..1ad7f5c48f0 100644 --- a/code/modules/mob/living/silicon/robot/robot_damage.dm +++ b/code/modules/mob/living/silicon/robot/robot_damage.dm @@ -6,6 +6,12 @@ health = getMaxHealth() - (getBruteLoss() + getFireLoss()) return +/mob/living/silicon/robot/getMaxHealth() + . = ..() + for(var/V in components) + var/datum/robot_component/C = components[V] + . += C.max_damage - initial(C.max_damage) + /mob/living/silicon/robot/getBruteLoss() var/amount = 0 for(var/V in components) @@ -77,11 +83,11 @@ var/cost = (absorb_brute+absorb_burn) * 25 if(!use_direct_power(cost, 200)) - to_chat(src, "[span_red("Your shield has overloaded!")]") + to_chat(src, span_filter_warning("[span_red("Your shield has overloaded!")]")) else brute -= absorb_brute burn -= absorb_burn - to_chat(src, "[span_red("Your shield absorbs some of the impact!")]") + to_chat(src, span_filter_combat("[span_red("Your shield absorbs some of the impact!")]")) if(!emp) var/datum/robot_component/armour/A = get_armour() @@ -122,11 +128,11 @@ var/cost = (absorb_brute+absorb_burn) * 25 if(!use_direct_power(cost, 200)) - to_chat(src, "[span_red("Your shield has overloaded!")]") + to_chat(src, span_filter_warning("[span_red("Your shield has overloaded!")]")) else brute -= absorb_brute burn -= absorb_burn - to_chat(src, "[span_red("Your shield absorbs some of the impact!")]") + to_chat(src, span_filter_combat("[span_red("Your shield absorbs some of the impact!")]")) var/datum/robot_component/armour/A = get_armour() if(A) diff --git a/code/modules/mob/living/silicon/robot/robot_items.dm b/code/modules/mob/living/silicon/robot/robot_items.dm index 59c2c6e8750..9dbccb03b99 100644 --- a/code/modules/mob/living/silicon/robot/robot_items.dm +++ b/code/modules/mob/living/silicon/robot/robot_items.dm @@ -1,5 +1,5 @@ //A portable analyzer, for research borgs. This is better then giving them a gripper which can hold anything and letting them use the normal analyzer. -/obj/item/weapon/portable_destructive_analyzer +/obj/item/portable_destructive_analyzer name = "Portable Destructive Analyzer" icon = 'icons/obj/items.dmi' icon_state = "portable_analyzer" @@ -10,13 +10,13 @@ var/datum/research/techonly/files //The device uses the same datum structure as the R&D computer/server. //This analyzer can only store tech levels, however. - var/obj/item/weapon/loaded_item //What is currently inside the analyzer. + var/obj/item/loaded_item //What is currently inside the analyzer. -/obj/item/weapon/portable_destructive_analyzer/New() +/obj/item/portable_destructive_analyzer/New() ..() files = new /datum/research/techonly(src) //Setup the research data holder. -/obj/item/weapon/portable_destructive_analyzer/attack_self(user as mob) +/obj/item/portable_destructive_analyzer/attack_self(user as mob) var/response = tgui_alert(user, "Analyzing the item inside will *DESTROY* the item for good.\n\ Syncing to the research server will send the data that is stored inside to research.\n\ Ejecting will place the loaded item onto the floor.", @@ -25,7 +25,7 @@ if(loaded_item) var/confirm = tgui_alert(user, "This will destroy the item inside forever. Are you sure?","Confirm Analyze",list("Yes","No")) if(confirm == "Yes" && !QDELETED(loaded_item)) //This is pretty copypasta-y - to_chat(user, "You activate the analyzer's microlaser, analyzing \the [loaded_item] and breaking it down.") + to_chat(user, span_filter_notice("You activate the analyzer's microlaser, analyzing \the [loaded_item] and breaking it down.")) flick("portable_analyzer_scan", src) playsound(src, 'sound/items/Welder2.ogg', 50, 1) var/research_levels = list() @@ -33,7 +33,7 @@ files.UpdateTech(T, loaded_item.origin_tech[T]) research_levels += "\The [loaded_item] had level [loaded_item.origin_tech[T]] in [CallTechName(T)]." if (length(research_levels)) - to_chat(user, "[jointext(research_levels,"
    ")]
    ") + to_chat(user, span_filter_notice("[jointext(research_levels,"
    ")]")) loaded_item = null for(var/obj/I in contents) for(var/mob/M in I.contents) @@ -54,7 +54,7 @@ else return else - to_chat(user, "The [src] is empty. Put something inside it first.") + to_chat(user, span_filter_notice("The [src] is empty. Put something inside it first.")) if(response == "Sync") var/success = 0 for(var/obj/machinery/r_n_d/server/S in machines) @@ -65,10 +65,10 @@ success = 1 files.RefreshResearch() if(success) - to_chat(user, "You connect to the research server, push your data upstream to it, then pull the resulting merged data from the master branch.") + to_chat(user, span_filter_notice("You connect to the research server, push your data upstream to it, then pull the resulting merged data from the master branch.")) playsound(src, 'sound/machines/twobeep.ogg', 50, 1) else - to_chat(user, "Reserch server ping response timed out. Unable to connect. Please contact the system administrator.") + to_chat(user, span_filter_notice("Reserch server ping response timed out. Unable to connect. Please contact the system administrator.")) playsound(src, 'sound/machines/buzz-two.ogg', 50, 1) if(response == "Eject") if(loaded_item) @@ -77,10 +77,10 @@ icon_state = initial(icon_state) loaded_item = null else - to_chat(user, "The [src] is already empty.") + to_chat(user, span_filter_notice("The [src] is already empty.")) -/obj/item/weapon/portable_destructive_analyzer/afterattack(var/atom/target, var/mob/living/user, proximity) +/obj/item/portable_destructive_analyzer/afterattack(var/atom/target, var/mob/living/user, proximity) if(!target) return if(!proximity) @@ -89,24 +89,24 @@ return if(istype(target,/obj/item)) if(loaded_item) - to_chat(user, "Your [src] already has something inside. Analyze or eject it first.") + to_chat(user, span_filter_notice("Your [src] already has something inside. Analyze or eject it first.")) return var/obj/item/I = target I.loc = src loaded_item = I for(var/mob/M in viewers()) - M.show_message("[user] adds the [I] to the [src].", 1) + M.show_message(span_notice("[user] adds the [I] to the [src]."), 1) desc = initial(desc) + "
    It is holding \the [loaded_item]." flick("portable_analyzer_load", src) icon_state = "portable_analyzer_full" -/obj/item/weapon/portable_scanner +/obj/item/portable_scanner name = "Portable Resonant Analyzer" icon = 'icons/obj/items.dmi' icon_state = "portable_scanner" desc = "An advanced scanning device used for analyzing objects without completely annihilating them for science. Unfortunately, it has no connection to any database like its angrier cousin." -/obj/item/weapon/portable_scanner/afterattack(var/atom/target, var/mob/living/user, proximity) +/obj/item/portable_scanner/afterattack(var/atom/target, var/mob/living/user, proximity) if(!target) return if(!proximity) @@ -115,54 +115,54 @@ var/obj/item/I = target if(do_after(src, 5 SECONDS * I.w_class)) for(var/mob/M in viewers()) - M.show_message(text("[user] sweeps \the [src] over \the [I]."), 1) + M.show_message(span_notice("[user] sweeps \the [src] over \the [I]."), 1) flick("[initial(icon_state)]-scan", src) if(I.origin_tech && I.origin_tech.len) for(var/T in I.origin_tech) - to_chat(user, "\The [I] had level [I.origin_tech[T]] in [CallTechName(T)].") + to_chat(user, span_notice("\The [I] had level [I.origin_tech[T]] in [CallTechName(T)].")) else - to_chat(user, "\The [I] cannot be scanned by \the [src].") + to_chat(user, span_notice("\The [I] cannot be scanned by \the [src].")) //This is used to unlock other borg covers. -/obj/item/weapon/card/robot //This is not a child of id cards, as to avoid dumb typechecks on computers. +/obj/item/card/robot //This is not a child of id cards, as to avoid dumb typechecks on computers. name = "access code transmission device" icon_state = "id-robot" desc = "A circuit grafted onto the bottom of an ID card. It is used to transmit access codes into other robot chassis, \ allowing you to lock and unlock other robots' panels." var/dummy_card = null - var/dummy_card_type = /obj/item/weapon/card/id/science/roboticist/dummy_cyborg + var/dummy_card_type = /obj/item/card/id/science/roboticist/dummy_cyborg -/obj/item/weapon/card/robot/Initialize() +/obj/item/card/robot/Initialize() . = ..() dummy_card = new dummy_card_type(src) -/obj/item/weapon/card/robot/Destroy() +/obj/item/card/robot/Destroy() qdel(dummy_card) dummy_card = null ..() -/obj/item/weapon/card/robot/GetID() +/obj/item/card/robot/GetID() return dummy_card -/obj/item/weapon/card/robot/syndi - dummy_card_type = /obj/item/weapon/card/id/syndicate/dummy_cyborg +/obj/item/card/robot/syndi + dummy_card_type = /obj/item/card/id/syndicate/dummy_cyborg -/obj/item/weapon/card/id/science/roboticist/dummy_cyborg +/obj/item/card/id/science/roboticist/dummy_cyborg access = list(access_robotics) -/obj/item/weapon/card/id/syndicate/dummy_cyborg/Initialize() +/obj/item/card/id/syndicate/dummy_cyborg/Initialize() . = ..() access |= access_robotics //A harvest item for serviceborgs. -/obj/item/weapon/robot_harvester +/obj/item/robot_harvester name = "auto harvester" desc = "A hand-held harvest tool that resembles a sickle. It uses energy to cut plant matter very efficently." icon = 'icons/obj/weapons.dmi' icon_state = "autoharvester" -/obj/item/weapon/robot_harvester/afterattack(var/atom/target, var/mob/living/user, proximity) +/obj/item/robot_harvester/afterattack(var/atom/target, var/mob/living/user, proximity) if(!target) return if(!proximity) @@ -174,17 +174,17 @@ else if(T.dead) //It's probably dead otherwise. T.remove_dead(user) else - to_chat(user, "Harvesting \a [target] is not the purpose of this tool. [src] is for plants being grown.") + to_chat(user, span_filter_notice("Harvesting \a [target] is not the purpose of this tool. [src] is for plants being grown.")) // A special tray for the service droid. Allow droid to pick up and drop items as if they were using the tray normally // Click on table to unload, click on item to load. Otherwise works identically to a tray. // Unlike the base item "tray", robotrays ONLY pick up food, drinks and condiments. -/obj/item/weapon/tray/robotray +/obj/item/tray/robotray name = "RoboTray" desc = "An autoloading tray specialized for carrying refreshments." -/obj/item/weapon/tray/robotray/afterattack(atom/target, mob/user as mob, proximity) +/obj/item/tray/robotray/afterattack(atom/target, mob/user as mob, proximity) if(!proximity) return if ( !target ) @@ -198,7 +198,7 @@ var addedSomething = 0 - for(var/obj/item/weapon/reagent_containers/food/I in pickup) + for(var/obj/item/reagent_containers/food/I in pickup) if( I != src && !I.anchored && !istype(I, /obj/item/clothing/under) && !istype(I, /obj/item/clothing/suit) && !istype(I, /obj/item/projectile) ) @@ -217,7 +217,7 @@ add_overlay(image("icon" = I.icon, "icon_state" = I.icon_state, "layer" = 30 + I.layer)) addedSomething = 1 if ( addedSomething ) - user.visible_message("[user] loads some items onto their service tray.") + user.visible_message(span_notice("[user] loads some items onto their service tray.")) return @@ -257,9 +257,9 @@ sleep(rand(2,4)) if ( droppedSomething ) if ( foundtable ) - user.visible_message("[user] unloads their service tray.") + user.visible_message(span_notice("[user] unloads their service tray.")) else - user.visible_message("[user] drops all the items on their tray.") + user.visible_message(span_notice("[user] drops all the items on their tray.")) return ..() @@ -269,12 +269,12 @@ // A special pen for service droids. Can be toggled to switch between normal writting mode, and paper rename mode // Allows service droids to rename paper items. -/obj/item/weapon/pen/robopen +/obj/item/pen/robopen desc = "A black ink printing attachment with a paper naming mode." name = "Printing Pen" var/mode = 1 -/obj/item/weapon/pen/robopen/attack_self(mob/user as mob) +/obj/item/pen/robopen/attack_self(mob/user as mob) var/choice = tgui_alert(usr, "Would you like to change colour or mode?", "Change What?", list("Colour","Mode","Cancel")) if(!choice || choice == "Cancel") @@ -293,14 +293,14 @@ mode = 2 else mode = 1 - to_chat(user, "Changed printing mode to '[mode == 2 ? "Rename Paper" : "Write Paper"]'") + to_chat(user, span_filter_notice("Changed printing mode to '[mode == 2 ? "Rename Paper" : "Write Paper"]'")) return // Copied over from paper's rename verb // see code\modules\paperwork\paper.dm line 62 -/obj/item/weapon/pen/robopen/proc/RenamePaper(mob/user, obj/item/weapon/paper/paper) +/obj/item/pen/robopen/proc/RenamePaper(mob/user, obj/item/paper/paper) if ( !user || !paper ) return var/n_name = sanitizeSafe(tgui_input_text(user, "What would you like to label the paper?", "Paper Labelling", null, 32), 32) @@ -315,7 +315,7 @@ return //TODO: Add prewritten forms to dispense when you work out a good way to store the strings. -/obj/item/weapon/form_printer +/obj/item/form_printer name = "paperwork printer" //name = "paper dispenser" icon = 'icons/obj/bureaucracy.dmi' @@ -326,10 +326,10 @@ ) item_state = "sheet-metal" -/obj/item/weapon/form_printer/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) +/obj/item/form_printer/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) return -/obj/item/weapon/form_printer/afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, flag, params) +/obj/item/form_printer/afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, flag, params) if(!target || !flag) return @@ -337,10 +337,10 @@ if(istype(target,/obj/structure/table)) deploy_paper(get_turf(target)) -/obj/item/weapon/form_printer/attack_self(mob/user as mob) +/obj/item/form_printer/attack_self(mob/user as mob) deploy_paper() -/obj/item/weapon/form_printer/proc/deploy_paper() +/obj/item/form_printer/proc/deploy_paper() var/choice = tgui_alert(usr, "Would you like dispense and empty page or print a form?", "Dispense", list("Paper","Form")) if(!choice || choice == "Cancel") return @@ -349,20 +349,20 @@ flick("doc_printer_mod_ejecting", src) spawn(22) var/turf/T = get_turf(src) - T.visible_message("\The [src.loc] dispenses a sheet of crisp white paper.") - new /obj/item/weapon/paper(T) + T.visible_message(span_notice("\The [src.loc] dispenses a sheet of crisp white paper.")) + new /obj/item/paper(T) if ("Form") var/list/content = print_form() if(!content) - to_chat(usr, "No form for this category found in central network. Central is advising employees to upload new forms whenever possible.") + to_chat(usr, span_warning("No form for this category found in central network. Central is advising employees to upload new forms whenever possible.")) return flick("doc_printer_mod_printing", src) spawn(22) var/turf/T = get_turf(src) - T.visible_message("\The [src.loc] dispenses an official form to fill.") - new /obj/item/weapon/paper(T, content[1], content[2]) + T.visible_message(span_notice("\The [src.loc] dispenses an official form to fill.")) + new /obj/item/paper(T, content[1], content[2]) -/obj/item/weapon/form_printer/proc/print_form() +/obj/item/form_printer/proc/print_form() var/list/paper_forms = list("Empty", "Command", "Security", "Supply", "Science", "Medical", "Engineering", "Service", "Exploration", "Event", "Other", "Mercenary") var/list/command_paper_forms = list("COM-0002: Dismissal Order", "COM-0003: Job Change Request", "COM-0004: ID Replacement Request", "COM-0005: Access Change Order", "COM-0006: Formal Complaint", "COM-0009: Visitor Permit", "COM-0012: Personnel Request Form", "COM-0013: Employee of the Month Nomination Form") var/list/security_paper_forms = list("SEC-1001: Shift-Start Checklist", "SEC-1002: Patrol Assignment Sheet", "SEC-1003: Incident Report", "SEC-1004: Arrest Report", "SEC-1005: Arrest Warrant", "SEC-1006: Search Warrant", "SEC-1007: Forensics Investigation Report", "SEC-1008: Interrogation Report", "SEC-1009: Witness Statement", "SEC-1010: Armory Inventory", "SEC-1011: Armory Equipment Request", "SEC-1012: Armory Equipment Deployment", "SEC-1013: Weapon Permit", "SEC-1014: Injunction", "SEC-1015: Deputization Waiver") @@ -442,7 +442,7 @@ return return list(select_form(split[1], split[2]), split[1] + ": " + split[2]) -/obj/item/weapon/form_printer/proc/select_form(paperid, name) +/obj/item/form_printer/proc/select_form(paperid, name) var/content = "" var/revision = "" switch(paperid) @@ -587,7 +587,7 @@ revision = @{"[field]"} return create_form(paperid, name, content, revision) -/obj/item/weapon/form_printer/proc/create_form(paperid, name, content, revision) +/obj/item/form_printer/proc/create_form(paperid, name, content, revision) var/header = "\[center]\[br]\[small]" + paperid + "\[/small]\[br]\[h1]\[u]" + name + "\[/u]\[/h1]\[br]\[logo]\[br]\[br]\[station]\[br]\[/center]\[br]\[hr]\[br]\[b]Station Time:\[/b] \[date], \[time]\[br]\[br]" var/footer = "\[hr]\[br]\[center]\[small]Stamp here.\[/small]\[/center]\[br]\[small]" + revision + "\[/small]" return header + content + footer @@ -628,7 +628,7 @@ overload_time = 0 var/mob/living/user = src.loc - user.visible_message("[user]'s shield reactivates!", "Your shield reactivates!") + user.visible_message(span_danger("[user]'s shield reactivates!"), span_danger("Your shield reactivates!")) user.update_icon() /obj/item/borg/combat/shield/proc/adjust_flash_count(var/mob/living/user, amount) @@ -642,7 +642,7 @@ /obj/item/borg/combat/shield/proc/overload(var/mob/living/user) active = 0 - user.visible_message("[user]'s shield destabilizes!", "Your shield destabilizes!") + user.visible_message(span_danger("[user]'s shield destabilizes!"), span_danger("Your shield destabilizes!")) user.update_icon() overload_time = world.time @@ -661,7 +661,7 @@ icon = 'icons/obj/decals.dmi' icon_state = "shock" -/obj/item/weapon/inflatable_dispenser +/obj/item/inflatable_dispenser name = "inflatables dispenser" desc = "Hand-held device which allows rapid deployment and removal of inflatables." icon = 'icons/obj/storage.dmi' @@ -674,38 +674,38 @@ var/max_doors = 2 var/mode = 0 // 0 - Walls 1 - Doors -/obj/item/weapon/inflatable_dispenser/robot +/obj/item/inflatable_dispenser/robot w_class = ITEMSIZE_HUGE stored_walls = 10 stored_doors = 5 max_walls = 10 max_doors = 5 -/obj/item/weapon/inflatable_dispenser/examine(var/mob/user) +/obj/item/inflatable_dispenser/examine(var/mob/user) . = ..() . += "It has [stored_walls] wall segment\s and [stored_doors] door segment\s stored." . += "It is set to deploy [mode ? "doors" : "walls"]" -/obj/item/weapon/inflatable_dispenser/attack_self() +/obj/item/inflatable_dispenser/attack_self() mode = !mode - to_chat(usr, "You set \the [src] to deploy [mode ? "doors" : "walls"].") + to_chat(usr, span_filter_notice("You set \the [src] to deploy [mode ? "doors" : "walls"].")) -/obj/item/weapon/inflatable_dispenser/afterattack(var/atom/A, var/mob/user) +/obj/item/inflatable_dispenser/afterattack(var/atom/A, var/mob/user) ..(A, user) if(!user) return if(!user.Adjacent(A)) - to_chat(user, "You can't reach!") + to_chat(user, span_filter_notice("You can't reach!")) return if(istype(A, /turf)) try_deploy_inflatable(A, user) if(istype(A, /obj/item/inflatable) || istype(A, /obj/structure/inflatable)) pick_up(A, user) -/obj/item/weapon/inflatable_dispenser/proc/try_deploy_inflatable(var/turf/T, var/mob/living/user) +/obj/item/inflatable_dispenser/proc/try_deploy_inflatable(var/turf/T, var/mob/living/user) if(mode) // Door deployment if(!stored_doors) - to_chat(user, "\The [src] is out of doors!") + to_chat(user, span_filter_notice("\The [src] is out of doors!")) return if(T && istype(T)) @@ -714,7 +714,7 @@ else // Wall deployment if(!stored_walls) - to_chat(user, "\The [src] is out of walls!") + to_chat(user, span_filter_notice("\The [src] is out of walls!")) return if(T && istype(T)) @@ -722,40 +722,40 @@ stored_walls-- playsound(T, 'sound/items/zip.ogg', 75, 1) - to_chat(user, "You deploy the inflatable [mode ? "door" : "wall"]!") + to_chat(user, span_filter_notice("You deploy the inflatable [mode ? "door" : "wall"]!")) -/obj/item/weapon/inflatable_dispenser/proc/pick_up(var/obj/A, var/mob/living/user) +/obj/item/inflatable_dispenser/proc/pick_up(var/obj/A, var/mob/living/user) if(istype(A, /obj/structure/inflatable)) if(!istype(A, /obj/structure/inflatable/door)) if(stored_walls >= max_walls) - to_chat(user, "\The [src] is full.") + to_chat(user, span_filter_notice("\The [src] is full.")) return stored_walls++ qdel(A) else if(stored_doors >= max_doors) - to_chat(user, "\The [src] is full.") + to_chat(user, span_filter_notice("\The [src] is full.")) return stored_doors++ qdel(A) playsound(src, 'sound/machines/hiss.ogg', 75, 1) - visible_message("\The [user] deflates \the [A] with \the [src]!") + visible_message(span_filter_notice("\The [user] deflates \the [A] with \the [src]!")) return if(istype(A, /obj/item/inflatable)) if(!istype(A, /obj/item/inflatable/door)) if(stored_walls >= max_walls) - to_chat(user, "\The [src] is full.") + to_chat(user, span_filter_notice("\The [src] is full.")) return stored_walls++ qdel(A) else if(stored_doors >= max_doors) - to_chat(usr, "\The [src] is full!") + to_chat(usr, span_filter_notice("\The [src] is full!")) return stored_doors++ qdel(A) - visible_message("\The [user] picks up \the [A] with \the [src]!") + visible_message(span_filter_notice("\The [user] picks up \the [A] with \the [src]!")) return - to_chat(user, "You fail to pick up \the [A] with \the [src].") + to_chat(user, span_filter_notice("You fail to pick up \the [A] with \the [src].")) return diff --git a/code/modules/mob/living/silicon/robot/robot_modules/event.dm b/code/modules/mob/living/silicon/robot/robot_modules/event.dm index 8bd5c505ed2..cfa11fd7199 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules/event.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules/event.dm @@ -1,34 +1,34 @@ /* Other, unaffiliated modules */ // The module that borgs on the surface have. Generally has a lot of useful tools in exchange for questionable loyalty to the crew. -/obj/item/weapon/robot_module/robot/lost +/obj/item/robot_module/robot/lost name = "lost robot module" hide_on_manifest = TRUE -/obj/item/weapon/robot_module/robot/lost/create_equipment(var/mob/living/silicon/robot/robot) +/obj/item/robot_module/robot/lost/create_equipment(var/mob/living/silicon/robot/robot) ..() // Sec - src.modules += new /obj/item/weapon/melee/baton/shocker/robot(src) - src.modules += new /obj/item/weapon/handcuffs/cyborg(src) + src.modules += new /obj/item/melee/baton/shocker/robot(src) + src.modules += new /obj/item/handcuffs/cyborg(src) src.modules += new /obj/item/borg/combat/shield(src) // Med - src.modules += new /obj/item/device/healthanalyzer(src) - src.modules += new /obj/item/weapon/shockpaddles/robot(src) - src.modules += new /obj/item/weapon/reagent_containers/borghypo/lost(src) + src.modules += new /obj/item/healthanalyzer(src) + src.modules += new /obj/item/shockpaddles/robot(src) + src.modules += new /obj/item/reagent_containers/borghypo/lost(src) // Engi - src.modules += new /obj/item/weapon/weldingtool/electric/mounted(src) - src.modules += new /obj/item/weapon/tool/screwdriver/cyborg(src) - src.modules += new /obj/item/weapon/tool/wrench/cyborg(src) - src.modules += new /obj/item/weapon/tool/wirecutters/cyborg(src) - src.modules += new /obj/item/device/multitool(src) + src.modules += new /obj/item/weldingtool/electric/mounted(src) + src.modules += new /obj/item/tool/screwdriver/cyborg(src) + src.modules += new /obj/item/tool/wrench/cyborg(src) + src.modules += new /obj/item/tool/wirecutters/cyborg(src) + src.modules += new /obj/item/multitool(src) // Sci - src.modules += new /obj/item/device/robotanalyzer(src) + src.modules += new /obj/item/robotanalyzer(src) // Potato - src.emag += new /obj/item/weapon/gun/energy/retro/mounted(src) + src.emag += new /obj/item/gun/energy/retro/mounted(src) var/datum/matter_synth/wire = new /datum/matter_synth/wire() synths += wire @@ -37,37 +37,37 @@ C.synths = list(wire) src.modules += C - src.modules += new /obj/item/device/dogborg/sleeper/lost(src) - src.modules += new /obj/item/weapon/dogborg/pounce(src) + src.modules += new /obj/item/dogborg/sleeper/lost(src) + src.modules += new /obj/item/dogborg/pounce(src) -/obj/item/weapon/robot_module/robot/gravekeeper +/obj/item/robot_module/robot/gravekeeper name = "gravekeeper robot module" hide_on_manifest = TRUE -/obj/item/weapon/robot_module/robot/gravekeeper/create_equipment(var/mob/living/silicon/robot/robot) +/obj/item/robot_module/robot/gravekeeper/create_equipment(var/mob/living/silicon/robot/robot) ..() // For fending off animals and looters - src.modules += new /obj/item/weapon/melee/baton/shocker/robot(src) + src.modules += new /obj/item/melee/baton/shocker/robot(src) src.modules += new /obj/item/borg/combat/shield(src) // For repairing gravemarkers - src.modules += new /obj/item/weapon/weldingtool/electric/mounted(src) - src.modules += new /obj/item/weapon/tool/screwdriver/cyborg(src) - src.modules += new /obj/item/weapon/tool/wrench/cyborg(src) + src.modules += new /obj/item/weldingtool/electric/mounted(src) + src.modules += new /obj/item/tool/screwdriver/cyborg(src) + src.modules += new /obj/item/tool/wrench/cyborg(src) // For growing flowers - src.modules += new /obj/item/weapon/material/minihoe(src) - src.modules += new /obj/item/weapon/material/knife/machete/hatchet(src) - src.modules += new /obj/item/device/analyzer/plant_analyzer(src) - src.modules += new /obj/item/weapon/storage/bag/plants(src) - src.modules += new /obj/item/weapon/robot_harvester(src) + src.modules += new /obj/item/material/minihoe(src) + src.modules += new /obj/item/material/knife/machete/hatchet(src) + src.modules += new /obj/item/analyzer/plant_analyzer(src) + src.modules += new /obj/item/storage/bag/plants(src) + src.modules += new /obj/item/robot_harvester(src) // For digging and beautifying graves - src.modules += new /obj/item/weapon/shovel(src) - src.modules += new /obj/item/weapon/gripper/gravekeeper(src) + src.modules += new /obj/item/shovel(src) + src.modules += new /obj/item/gripper/gravekeeper(src) // For really persistent looters - src.emag += new /obj/item/weapon/gun/energy/retro/mounted(src) + src.emag += new /obj/item/gun/energy/retro/mounted(src) var/datum/matter_synth/wood = new /datum/matter_synth/wood(25000) synths += wood @@ -77,5 +77,5 @@ src.modules += W // For uwu - src.modules += new /obj/item/device/dogborg/sleeper/compactor/generic(src) - src.emag += new /obj/item/weapon/dogborg/pounce(src) \ No newline at end of file + src.modules += new /obj/item/dogborg/sleeper/compactor/generic(src) + src.emag += new /obj/item/dogborg/pounce(src) \ No newline at end of file diff --git a/code/modules/mob/living/silicon/robot/robot_modules/station.dm b/code/modules/mob/living/silicon/robot/robot_modules/station.dm index 9815ea36d7c..5a4c4ea64cc 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules/station.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules/station.dm @@ -1,23 +1,23 @@ var/global/list/robot_modules = list( - "Standard" = /obj/item/weapon/robot_module/robot/standard, - "Service" = /obj/item/weapon/robot_module/robot/clerical/butler, - "Clerical" = /obj/item/weapon/robot_module/robot/clerical/general, - "Research" = /obj/item/weapon/robot_module/robot/research, - "Miner" = /obj/item/weapon/robot_module/robot/miner, - "Crisis" = /obj/item/weapon/robot_module/robot/medical/crisis, - "Surgeon" = /obj/item/weapon/robot_module/robot/medical/surgeon, - "Security" = /obj/item/weapon/robot_module/robot/security/general, - "Combat" = /obj/item/weapon/robot_module/robot/security/combat, - "Engineering" = /obj/item/weapon/robot_module/robot/engineering, - "Janitor" = /obj/item/weapon/robot_module/robot/janitor, - "Gravekeeper" = /obj/item/weapon/robot_module/robot/gravekeeper, - "Lost" = /obj/item/weapon/robot_module/robot/lost, - "Protector" = /obj/item/weapon/robot_module/robot/syndicate/protector, - "Mechanist" = /obj/item/weapon/robot_module/robot/syndicate/mechanist, - "Combat Medic" = /obj/item/weapon/robot_module/robot/syndicate/combat_medic + "Standard" = /obj/item/robot_module/robot/standard, + "Service" = /obj/item/robot_module/robot/clerical/butler, + "Clerical" = /obj/item/robot_module/robot/clerical/general, + "Research" = /obj/item/robot_module/robot/research, + "Miner" = /obj/item/robot_module/robot/miner, + "Crisis" = /obj/item/robot_module/robot/medical/crisis, + "Surgeon" = /obj/item/robot_module/robot/medical/surgeon, + "Security" = /obj/item/robot_module/robot/security/general, + "Combat" = /obj/item/robot_module/robot/security/combat, + "Engineering" = /obj/item/robot_module/robot/engineering, + "Janitor" = /obj/item/robot_module/robot/janitor, + "Gravekeeper" = /obj/item/robot_module/robot/gravekeeper, + "Lost" = /obj/item/robot_module/robot/lost, + "Protector" = /obj/item/robot_module/robot/syndicate/protector, + "Mechanist" = /obj/item/robot_module/robot/syndicate/mechanist, + "Combat Medic" = /obj/item/robot_module/robot/syndicate/combat_medic ) -/obj/item/weapon/robot_module +/obj/item/robot_module name = "robot module" icon = 'icons/obj/module.dmi' icon_state = "std_module" @@ -54,10 +54,10 @@ var/global/list/robot_modules = list( var/list/original_languages = list() var/list/added_networks = list() -/obj/item/weapon/robot_module/proc/hide_on_manifest() +/obj/item/robot_module/proc/hide_on_manifest() . = hide_on_manifest -/obj/item/weapon/robot_module/New(var/mob/living/silicon/robot/R) +/obj/item/robot_module/New(var/mob/living/silicon/robot/R) ..() R.module = src @@ -73,7 +73,7 @@ var/global/list/robot_modules = list( R.radio.recalculateChannels() R.set_default_module_icon() - R.choose_icon(SSrobot_sprites.get_module_sprites_len(R.modtype, R) + 1) + R.pick_module() if(!R.client) R.icon_selected = FALSE // It wasnt a player selecting icon? Let them do it later! @@ -82,10 +82,10 @@ var/global/list/robot_modules = list( for(var/obj/item/I in modules) I.canremove = FALSE -/obj/item/weapon/robot_module/proc/create_equipment(var/mob/living/silicon/robot/robot) +/obj/item/robot_module/proc/create_equipment(var/mob/living/silicon/robot/robot) return -/obj/item/weapon/robot_module/proc/Reset(var/mob/living/silicon/robot/R) +/obj/item/robot_module/proc/Reset(var/mob/living/silicon/robot/R) remove_camera_networks(R) remove_languages(R) remove_subsystems(R) @@ -93,11 +93,11 @@ var/global/list/robot_modules = list( if(R.radio) R.radio.recalculateChannels() - R.choose_icon(0) + R.set_default_module_icon() R.scrubbing = FALSE -/obj/item/weapon/robot_module/Destroy() +/obj/item/robot_module/Destroy() for(var/module in modules) qdel(module) for(var/emg in emag) @@ -109,7 +109,7 @@ var/global/list/robot_modules = list( emag.Cut() return ..() -/obj/item/weapon/robot_module/emp_act(severity) +/obj/item/robot_module/emp_act(severity) if(modules) for(var/obj/O in modules) O.emp_act(severity) @@ -122,21 +122,21 @@ var/global/list/robot_modules = list( ..() return -/obj/item/weapon/robot_module/proc/respawn_consumable(var/mob/living/silicon/robot/R, var/rate) +/obj/item/robot_module/proc/respawn_consumable(var/mob/living/silicon/robot/R, var/rate) if(!synths || !synths.len) return for(var/datum/matter_synth/T in synths) T.add_charge(T.recharge_rate * rate) -/obj/item/weapon/robot_module/proc/rebuild()//Rebuilds the list so it's possible to add/remove items from the module +/obj/item/robot_module/proc/rebuild()//Rebuilds the list so it's possible to add/remove items from the module var/list/temp_list = modules modules = list() for(var/obj/O in temp_list) if(O) modules += O -/obj/item/weapon/robot_module/proc/add_languages(var/mob/living/silicon/robot/R) +/obj/item/robot_module/proc/add_languages(var/mob/living/silicon/robot/R) // Stores the languages as they were before receiving the module, and whether they could be synthezized. for(var/datum/language/language_datum in R.languages) original_languages[language_datum] = (language_datum in R.speech_synthesizer_langs) @@ -144,7 +144,7 @@ var/global/list/robot_modules = list( for(var/language in languages) R.add_language(language, languages[language]) -/obj/item/weapon/robot_module/proc/remove_languages(var/mob/living/silicon/robot/R) +/obj/item/robot_module/proc/remove_languages(var/mob/living/silicon/robot/R) // Clear all added languages, whether or not we originally had them. for(var/language in languages) R.remove_language(language) @@ -154,110 +154,111 @@ var/global/list/robot_modules = list( R.add_language(original_language, original_languages[original_language]) original_languages.Cut() -/obj/item/weapon/robot_module/proc/add_camera_networks(var/mob/living/silicon/robot/R) +/obj/item/robot_module/proc/add_camera_networks(var/mob/living/silicon/robot/R) if(R.camera && (NETWORK_ROBOTS in R.camera.network)) for(var/network in networks) if(!(network in R.camera.network)) R.camera.add_network(network) added_networks |= network -/obj/item/weapon/robot_module/proc/remove_camera_networks(var/mob/living/silicon/robot/R) +/obj/item/robot_module/proc/remove_camera_networks(var/mob/living/silicon/robot/R) if(R.camera) R.camera.remove_networks(added_networks) added_networks.Cut() -/obj/item/weapon/robot_module/proc/add_subsystems(var/mob/living/silicon/robot/R) - R.verbs |= subsystems +/obj/item/robot_module/proc/add_subsystems(var/mob/living/silicon/robot/R) + add_verb(R, subsystems) -/obj/item/weapon/robot_module/proc/remove_subsystems(var/mob/living/silicon/robot/R) - R.verbs -= subsystems +/obj/item/robot_module/proc/remove_subsystems(var/mob/living/silicon/robot/R) + remove_verb(R, subsystems) -/obj/item/weapon/robot_module/proc/apply_status_flags(var/mob/living/silicon/robot/R) +/obj/item/robot_module/proc/apply_status_flags(var/mob/living/silicon/robot/R) if(!can_be_pushed) R.status_flags &= ~CANPUSH -/obj/item/weapon/robot_module/proc/remove_status_flags(var/mob/living/silicon/robot/R) +/obj/item/robot_module/proc/remove_status_flags(var/mob/living/silicon/robot/R) if(!can_be_pushed) R.status_flags |= CANPUSH -/obj/item/weapon/robot_module/proc/handle_shell(var/mob/living/silicon/robot/R) +/obj/item/robot_module/proc/handle_shell(var/mob/living/silicon/robot/R) if(R.braintype == BORG_BRAINTYPE_AI_SHELL) channels = list( - "Medical" = 1, - "Engineering" = 1, - "Security" = 1, - "Service" = 1, - "Supply" = 1, - "Science" = 1, - "Command" = 1, - "Away Team" = 1 + CHANNEL_MEDICAL = 1, + CHANNEL_ENGINEERING = 1, + CHANNEL_SECURITY = 1, + CHANNEL_SERVICE = 1, + CHANNEL_SUPPLY = 1, + CHANNEL_SCIENCE = 1, + CHANNEL_COMMAND = 1, + CHANNEL_EXPLORATION = 1 ) -/obj/item/weapon/robot_module/robot/New(var/mob/living/silicon/robot/R) +/obj/item/robot_module/robot/New(var/mob/living/silicon/robot/R) ..() if(R.sprite_datum) R.sprite_datum.do_equipment_glamour(src) // Cyborgs (non-drones), default loadout. This will be given to every module. -/obj/item/weapon/robot_module/robot/create_equipment(var/mob/living/silicon/robot/robot) +/obj/item/robot_module/robot/create_equipment(var/mob/living/silicon/robot/robot) ..() - src.modules += new /obj/item/device/gps/robot(src) - src.modules += new /obj/item/device/boop_module(src) - src.modules += new /obj/item/device/robot_tongue(src) - src.modules += new /obj/item/device/flash/robot(src) - src.modules += new /obj/item/weapon/extinguisher(src) - src.modules += new /obj/item/weapon/tool/crowbar/cyborg(src) - -/obj/item/weapon/robot_module/robot/standard + src.modules += new /obj/item/gps/robot(src) + src.modules += new /obj/item/boop_module(src) + src.modules += new /obj/item/robot_tongue(src) + src.modules += new /obj/item/flash/robot(src) + src.modules += new /obj/item/extinguisher(src) + src.modules += new /obj/item/tool/crowbar/cyborg(src) + src.modules += new /obj/item/gripper/scene(src) + +/obj/item/robot_module/robot/standard name = "standard robot module" pto_type = PTO_CIVILIAN -/obj/item/weapon/robot_module/robot/standard/create_equipment(var/mob/living/silicon/robot/robot) +/obj/item/robot_module/robot/standard/create_equipment(var/mob/living/silicon/robot/robot) ..() - src.modules += new /obj/item/weapon/tool/wrench/cyborg(src) - src.modules += new /obj/item/device/healthanalyzer(src) - src.modules += new /obj/item/weapon/melee/baton/loaded(src) - src.emag += new /obj/item/weapon/melee/energy/sword(src) + src.modules += new /obj/item/tool/wrench/cyborg(src) + src.modules += new /obj/item/healthanalyzer(src) + src.modules += new /obj/item/melee/baton/loaded(src) + src.emag += new /obj/item/melee/energy/sword(src) - src.modules += new /obj/item/device/dogborg/sleeper/compactor/generic(src) - src.emag += new /obj/item/weapon/dogborg/pounce(src) + src.modules += new /obj/item/dogborg/sleeper/compactor/generic(src) + src.emag += new /obj/item/dogborg/pounce(src) -/obj/item/weapon/robot_module/robot/medical +/obj/item/robot_module/robot/medical name = "medical robot module" - channels = list("Medical" = 1) + channels = list(CHANNEL_MEDICAL = 1) networks = list(NETWORK_MEDICAL) subsystems = list(/mob/living/silicon/proc/subsystem_crew_monitor) pto_type = PTO_MEDICAL supported_upgrades = list(/obj/item/borg/upgrade/restricted/bellycapupgrade) -/obj/item/weapon/robot_module/robot/medical/surgeon +/obj/item/robot_module/robot/medical/surgeon name = "surgeon robot module" -/obj/item/weapon/robot_module/robot/medical/surgeon/create_equipment(var/mob/living/silicon/robot/robot) +/obj/item/robot_module/robot/medical/surgeon/create_equipment(var/mob/living/silicon/robot/robot) ..() - src.modules += new /obj/item/device/healthanalyzer(src) - src.modules += new /obj/item/device/sleevemate(src) - src.modules += new /obj/item/weapon/reagent_containers/borghypo/surgeon(src) - src.modules += new /obj/item/weapon/autopsy_scanner(src) - src.modules += new /obj/item/weapon/surgical/scalpel/cyborg(src) - src.modules += new /obj/item/weapon/surgical/hemostat/cyborg(src) - src.modules += new /obj/item/weapon/surgical/retractor/cyborg(src) - src.modules += new /obj/item/weapon/surgical/cautery/cyborg(src) - src.modules += new /obj/item/weapon/surgical/bonegel/cyborg(src) - src.modules += new /obj/item/weapon/surgical/FixOVein/cyborg(src) - src.modules += new /obj/item/weapon/surgical/bonesetter/cyborg(src) - src.modules += new /obj/item/weapon/surgical/circular_saw/cyborg(src) - src.modules += new /obj/item/weapon/surgical/surgicaldrill/cyborg(src) - src.modules += new /obj/item/weapon/surgical/bioregen/cyborg(src) - src.modules += new /obj/item/weapon/gripper/no_use/organ(src) - src.modules += new /obj/item/weapon/gripper/medical(src) - src.modules += new /obj/item/weapon/shockpaddles/robot(src) - src.modules += new /obj/item/weapon/reagent_containers/dropper(src) // Allows surgeon borg to fix necrosis - src.modules += new /obj/item/weapon/reagent_containers/syringe(src) - - var/obj/item/weapon/reagent_containers/spray/PS = new /obj/item/weapon/reagent_containers/spray(src) + src.modules += new /obj/item/healthanalyzer(src) + src.modules += new /obj/item/sleevemate(src) + src.modules += new /obj/item/reagent_containers/borghypo/surgeon(src) + src.modules += new /obj/item/autopsy_scanner(src) + src.modules += new /obj/item/surgical/scalpel/cyborg(src) + src.modules += new /obj/item/surgical/hemostat/cyborg(src) + src.modules += new /obj/item/surgical/retractor/cyborg(src) + src.modules += new /obj/item/surgical/cautery/cyborg(src) + src.modules += new /obj/item/surgical/bonegel/cyborg(src) + src.modules += new /obj/item/surgical/FixOVein/cyborg(src) + src.modules += new /obj/item/surgical/bonesetter/cyborg(src) + src.modules += new /obj/item/surgical/circular_saw/cyborg(src) + src.modules += new /obj/item/surgical/surgicaldrill/cyborg(src) + src.modules += new /obj/item/surgical/bioregen/cyborg(src) + src.modules += new /obj/item/gripper/no_use/organ(src) + src.modules += new /obj/item/gripper/medical(src) + src.modules += new /obj/item/shockpaddles/robot(src) + src.modules += new /obj/item/reagent_containers/dropper(src) // Allows surgeon borg to fix necrosis + src.modules += new /obj/item/reagent_containers/syringe(src) + + var/obj/item/reagent_containers/spray/PS = new /obj/item/reagent_containers/spray(src) src.emag += PS PS.reagents.add_reagent("pacid", 250) PS.name = "Polyacid spray" @@ -281,42 +282,42 @@ var/global/list/robot_modules = list( src.modules += B src.modules += O - src.modules += new /obj/item/device/dogborg/sleeper/trauma(src) - src.emag += new /obj/item/weapon/dogborg/pounce(src) + src.modules += new /obj/item/dogborg/sleeper/trauma(src) + src.emag += new /obj/item/dogborg/pounce(src) -/obj/item/weapon/robot_module/robot/medical/surgeon/respawn_consumable(var/mob/living/silicon/robot/R, var/amount) +/obj/item/robot_module/robot/medical/surgeon/respawn_consumable(var/mob/living/silicon/robot/R, var/amount) - var/obj/item/weapon/reagent_containers/syringe/S = locate() in src.modules + var/obj/item/reagent_containers/syringe/S = locate() in src.modules if(S.mode == 2) S.reagents.clear_reagents() S.mode = initial(S.mode) S.desc = initial(S.desc) S.update_icon() - var/obj/item/weapon/reagent_containers/spray/PS = locate() in src.emag + var/obj/item/reagent_containers/spray/PS = locate() in src.emag if(PS) PS.reagents.add_reagent("pacid", 2 * amount) ..() -/obj/item/weapon/robot_module/robot/medical/crisis +/obj/item/robot_module/robot/medical/crisis name = "crisis robot module" -/obj/item/weapon/robot_module/robot/medical/crisis/create_equipment(var/mob/living/silicon/robot/robot) +/obj/item/robot_module/robot/medical/crisis/create_equipment(var/mob/living/silicon/robot/robot) ..() - src.modules += new /obj/item/device/healthanalyzer(src) - src.modules += new /obj/item/device/sleevemate(src) - src.modules += new /obj/item/device/reagent_scanner/adv(src) + src.modules += new /obj/item/healthanalyzer(src) + src.modules += new /obj/item/sleevemate(src) + src.modules += new /obj/item/reagent_scanner/adv(src) src.modules += new /obj/item/roller_holder(src) - src.modules += new /obj/item/weapon/reagent_containers/borghypo/crisis(src) - src.modules += new /obj/item/weapon/reagent_containers/glass/beaker/large/borg(src) - src.modules += new /obj/item/weapon/reagent_containers/dropper/industrial(src) - src.modules += new /obj/item/weapon/reagent_containers/syringe(src) - src.modules += new /obj/item/weapon/gripper/no_use/organ(src) - src.modules += new /obj/item/weapon/gripper/medical(src) - src.modules += new /obj/item/weapon/shockpaddles/robot(src) - src.modules += new /obj/item/weapon/inflatable_dispenser/robot(src) - var/obj/item/weapon/reagent_containers/spray/PS = new /obj/item/weapon/reagent_containers/spray(src) + src.modules += new /obj/item/reagent_containers/borghypo/crisis(src) + src.modules += new /obj/item/reagent_containers/glass/beaker/large/borg(src) + src.modules += new /obj/item/reagent_containers/dropper/industrial(src) + src.modules += new /obj/item/reagent_containers/syringe(src) + src.modules += new /obj/item/gripper/no_use/organ(src) + src.modules += new /obj/item/gripper/medical(src) + src.modules += new /obj/item/shockpaddles/robot(src) + src.modules += new /obj/item/inflatable_dispenser/robot(src) + var/obj/item/reagent_containers/spray/PS = new /obj/item/reagent_containers/spray(src) src.emag += PS PS.reagents.add_reagent("pacid", 250) PS.name = "Polyacid spray" @@ -340,55 +341,56 @@ var/global/list/robot_modules = list( src.modules += B src.modules += S - src.modules += new /obj/item/device/dogborg/sleeper(src) - src.emag += new /obj/item/weapon/dogborg/pounce(src) //Pounce + src.modules += new /obj/item/dogborg/sleeper(src) + src.emag += new /obj/item/dogborg/pounce(src) //Pounce -/obj/item/weapon/robot_module/robot/medical/crisis/respawn_consumable(var/mob/living/silicon/robot/R, var/amount) +/obj/item/robot_module/robot/medical/crisis/respawn_consumable(var/mob/living/silicon/robot/R, var/amount) - var/obj/item/weapon/reagent_containers/syringe/S = locate() in src.modules + var/obj/item/reagent_containers/syringe/S = locate() in src.modules if(S.mode == 2) S.reagents.clear_reagents() S.mode = initial(S.mode) S.desc = initial(S.desc) S.update_icon() - var/obj/item/weapon/reagent_containers/spray/PS = locate() in src.emag + var/obj/item/reagent_containers/spray/PS = locate() in src.emag if(PS) PS.reagents.add_reagent("pacid", 2 * amount) ..() -/obj/item/weapon/robot_module/robot/engineering +/obj/item/robot_module/robot/engineering name = "engineering robot module" - channels = list("Engineering" = 1) + channels = list(CHANNEL_ENGINEERING = 1) networks = list(NETWORK_ENGINEERING) subsystems = list(/mob/living/silicon/proc/subsystem_power_monitor) pto_type = PTO_ENGINEERING -/obj/item/weapon/robot_module/robot/engineering/create_equipment(var/mob/living/silicon/robot/robot) +/obj/item/robot_module/robot/engineering/create_equipment(var/mob/living/silicon/robot/robot) ..() src.modules += new /obj/item/borg/sight/meson(src) - src.modules += new /obj/item/weapon/weldingtool/electric/mounted/cyborg(src) - src.modules += new /obj/item/weapon/tool/screwdriver/cyborg(src) - src.modules += new /obj/item/weapon/tool/wrench/cyborg(src) - src.modules += new /obj/item/weapon/tool/wirecutters/cyborg(src) - src.modules += new /obj/item/device/multitool(src) - src.modules += new /obj/item/device/t_scanner(src) - src.modules += new /obj/item/device/analyzer(src) - src.modules += new /obj/item/device/geiger(src) + src.modules += new /obj/item/weldingtool/electric/mounted/cyborg(src) + src.modules += new /obj/item/tool/screwdriver/cyborg(src) + src.modules += new /obj/item/tool/wrench/cyborg(src) + src.modules += new /obj/item/tool/wirecutters/cyborg(src) + src.modules += new /obj/item/multitool(src) + src.modules += new /obj/item/t_scanner(src) + src.modules += new /obj/item/analyzer(src) + src.modules += new /obj/item/geiger(src) src.modules += new /obj/item/taperoll/engineering(src) - src.modules += new /obj/item/weapon/gripper(src) - src.modules += new /obj/item/weapon/gripper/circuit(src) - src.modules += new /obj/item/device/lightreplacer(src) - src.modules += new /obj/item/weapon/pipe_dispenser(src) - src.modules += new /obj/item/device/floor_painter(src) - src.modules += new /obj/item/weapon/rms(src) - src.modules += new /obj/item/weapon/inflatable_dispenser/robot(src) - src.emag += new /obj/item/weapon/melee/baton/robot/arm(src) - src.modules += new /obj/item/weapon/rcd/electric/mounted/borg(src) - src.modules += new /obj/item/weapon/pickaxe/plasmacutter/borg(src) - src.modules += new /obj/item/weapon/gripper/no_use/loader(src) + src.modules += new /obj/item/gripper(src) + src.modules += new /obj/item/gripper/circuit(src) + src.modules += new /obj/item/lightreplacer(src) + src.modules += new /obj/item/pipe_dispenser(src) + src.modules += new /obj/item/floor_painter(src) + src.modules += new /obj/item/rms(src) + src.modules += new /obj/item/inflatable_dispenser/robot(src) + src.emag += new /obj/item/melee/baton/robot/arm(src) + src.modules += new /obj/item/rcd/electric/mounted/borg(src) + src.modules += new /obj/item/pickaxe/plasmacutter/borg(src) + src.modules += new /obj/item/gripper/no_use/loader(src) + src.modules += new /obj/item/dogborg/stasis_clamp(src) var/datum/matter_synth/metal = new /datum/matter_synth/metal(40000) var/datum/matter_synth/glass = new /datum/matter_synth/glass(40000) @@ -404,7 +406,7 @@ var/global/list/robot_modules = list( synths += plastic synths += wire - var/obj/item/weapon/matter_decompiler/MD = new /obj/item/weapon/matter_decompiler(src) + var/obj/item/matter_decompiler/MD = new /obj/item/matter_decompiler(src) MD.metal = metal MD.glass = glass src.modules += MD @@ -453,69 +455,69 @@ var/global/list/robot_modules = list( PL.synths = list(plastic) src.modules += PL - var/obj/item/device/dogborg/sleeper/compactor/decompiler/BD = new /obj/item/device/dogborg/sleeper/compactor/decompiler(src) + var/obj/item/dogborg/sleeper/compactor/decompiler/BD = new /obj/item/dogborg/sleeper/compactor/decompiler(src) BD.metal = metal BD.glass = glass BD.wood = wood BD.plastic = plastic src.modules += BD - src.emag += new /obj/item/weapon/dogborg/pounce(src) + src.emag += new /obj/item/dogborg/pounce(src) -/obj/item/weapon/robot_module/robot/security +/obj/item/robot_module/robot/security name = "security robot module" - channels = list("Security" = 1) + channels = list(CHANNEL_SECURITY = 1) networks = list(NETWORK_SECURITY) subsystems = list(/mob/living/silicon/proc/subsystem_crew_monitor) supported_upgrades = list(/obj/item/borg/upgrade/restricted/tasercooler, /obj/item/borg/upgrade/restricted/bellycapupgrade) pto_type = PTO_SECURITY -/obj/item/weapon/robot_module/robot/security/general +/obj/item/robot_module/robot/security/general name = "security robot module" -/obj/item/weapon/robot_module/robot/security/general/create_equipment(var/mob/living/silicon/robot/robot) +/obj/item/robot_module/robot/security/general/create_equipment(var/mob/living/silicon/robot/robot) ..() - src.modules += new /obj/item/weapon/handcuffs/cyborg(src) - src.modules += new /obj/item/weapon/melee/baton/robot(src) - src.modules += new /obj/item/weapon/gun/energy/taser/mounted/cyborg(src) + src.modules += new /obj/item/handcuffs/cyborg(src) + src.modules += new /obj/item/melee/baton/robot(src) + src.modules += new /obj/item/gun/energy/taser/mounted/cyborg(src) src.modules += new /obj/item/taperoll/police(src) - src.modules += new /obj/item/weapon/reagent_containers/spray/pepper(src) - src.modules += new /obj/item/weapon/gripper/security(src) - src.modules += new /obj/item/device/ticket_printer(src) //VOREStation Add - src.emag += new /obj/item/weapon/gun/energy/laser/mounted(src) + src.modules += new /obj/item/reagent_containers/spray/pepper(src) + src.modules += new /obj/item/gripper/security(src) + src.modules += new /obj/item/ticket_printer(src) //VOREStation Add + src.emag += new /obj/item/gun/energy/laser/mounted(src) - src.modules += new /obj/item/device/dogborg/sleeper/K9(src) //Eat criminals. Bring them to the brig. - src.modules += new /obj/item/weapon/dogborg/pounce(src) //Pounce + src.modules += new /obj/item/dogborg/sleeper/K9(src) //Eat criminals. Bring them to the brig. + src.modules += new /obj/item/dogborg/pounce(src) //Pounce -/obj/item/weapon/robot_module/robot/security/respawn_consumable(var/mob/living/silicon/robot/R, var/amount) - var/obj/item/device/flash/F = locate() in src.modules +/obj/item/robot_module/robot/security/respawn_consumable(var/mob/living/silicon/robot/R, var/amount) + var/obj/item/flash/F = locate() in src.modules if(F.broken) F.broken = 0 F.times_used = 0 F.icon_state = "flash" else if(F.times_used) F.times_used-- - var/obj/item/weapon/gun/energy/taser/mounted/cyborg/T = locate() in src.modules + var/obj/item/gun/energy/taser/mounted/cyborg/T = locate() in src.modules if(T.power_supply.charge < T.power_supply.maxcharge) T.power_supply.give(T.charge_cost * amount) T.update_icon() else T.charge_tick = 0 -/obj/item/weapon/robot_module/robot/janitor +/obj/item/robot_module/robot/janitor name = "janitorial robot module" - channels = list("Service" = 1) + channels = list(CHANNEL_SERVICE = 1) pto_type = PTO_CIVILIAN -/obj/item/weapon/robot_module/robot/janitor/create_equipment(var/mob/living/silicon/robot/robot) +/obj/item/robot_module/robot/janitor/create_equipment(var/mob/living/silicon/robot/robot) ..() - src.modules += new /obj/item/weapon/soap/nanotrasen(src) - src.modules += new /obj/item/weapon/storage/bag/trash(src) - src.modules += new /obj/item/weapon/mop(src) + src.modules += new /obj/item/soap/nanotrasen(src) + src.modules += new /obj/item/storage/bag/trash(src) + src.modules += new /obj/item/mop(src) src.modules += new /obj/item/pupscrubber(src) - src.modules += new /obj/item/device/lightreplacer(src) + src.modules += new /obj/item/lightreplacer(src) src.modules += new /obj/item/borg/sight/janitor(src) - var/obj/item/weapon/reagent_containers/spray/LS = new /obj/item/weapon/reagent_containers/spray(src) + var/obj/item/reagent_containers/spray/LS = new /obj/item/reagent_containers/spray(src) src.emag += LS LS.reagents.add_reagent("lube", 250) LS.name = "Lube spray" @@ -553,26 +555,26 @@ var/global/list/robot_modules = list( G.recipes += new/datum/stack_recipe("glass sheet", /obj/item/stack/material/glass, 1, 1, 20) src.modules += G - var/obj/item/device/dogborg/sleeper/compactor/C = new /obj/item/device/dogborg/sleeper/compactor(src) + var/obj/item/dogborg/sleeper/compactor/C = new /obj/item/dogborg/sleeper/compactor(src) C.metal = metal C.glass = glass src.modules += C - src.emag += new /obj/item/weapon/dogborg/pounce(src) //Pounce + src.emag += new /obj/item/dogborg/pounce(src) //Pounce -/obj/item/weapon/robot_module/robot/janitor/respawn_consumable(var/mob/living/silicon/robot/R, var/amount) - var/obj/item/device/lightreplacer/LR = locate() in src.modules +/obj/item/robot_module/robot/janitor/respawn_consumable(var/mob/living/silicon/robot/R, var/amount) + var/obj/item/lightreplacer/LR = locate() in src.modules LR.Charge(R, amount) - var/obj/item/weapon/reagent_containers/spray/LS = locate() in src.emag + var/obj/item/reagent_containers/spray/LS = locate() in src.emag if(LS) LS.reagents.add_reagent("lube", 2 * amount) -/obj/item/weapon/robot_module/robot/clerical +/obj/item/robot_module/robot/clerical name = "service robot module" channels = list( - "Service" = 1, - "Command" = 1 + CHANNEL_SERVICE = 1, + CHANNEL_COMMAND = 1 ) languages = list( LANGUAGE_SOL_COMMON = 1, @@ -595,38 +597,38 @@ var/global/list/robot_modules = list( ) pto_type = PTO_CIVILIAN -/obj/item/weapon/robot_module/robot/clerical/butler - channels = list("Service" = 1) +/obj/item/robot_module/robot/clerical/butler + channels = list(CHANNEL_SERVICE = 1) -/obj/item/weapon/robot_module/robot/clerical/butler +/obj/item/robot_module/robot/clerical/butler name = "service robot module" -/obj/item/weapon/robot_module/robot/clerical/butler/create_equipment(var/mob/living/silicon/robot/robot) +/obj/item/robot_module/robot/clerical/butler/create_equipment(var/mob/living/silicon/robot/robot) ..() - src.modules += new /obj/item/weapon/gripper/service(src) - src.modules += new /obj/item/weapon/reagent_containers/glass/bucket(src) - src.modules += new /obj/item/weapon/material/minihoe(src) - src.modules += new /obj/item/weapon/material/knife/machete/hatchet(src) - src.modules += new /obj/item/device/analyzer/plant_analyzer(src) - src.modules += new /obj/item/weapon/storage/bag/serviceborg(src) - src.modules += new /obj/item/weapon/robot_harvester(src) - src.modules += new /obj/item/weapon/material/knife(src) - src.modules += new /obj/item/weapon/material/kitchen/rollingpin(src) - src.modules += new /obj/item/device/multitool(src) //to freeze trays - - var/obj/item/weapon/rsf/M = new /obj/item/weapon/rsf(src) + src.modules += new /obj/item/gripper/service(src) + src.modules += new /obj/item/reagent_containers/glass/bucket(src) + src.modules += new /obj/item/material/minihoe(src) + src.modules += new /obj/item/material/knife/machete/hatchet(src) + src.modules += new /obj/item/analyzer/plant_analyzer(src) + src.modules += new /obj/item/storage/bag/serviceborg(src) + src.modules += new /obj/item/robot_harvester(src) + src.modules += new /obj/item/material/knife(src) + src.modules += new /obj/item/material/kitchen/rollingpin(src) + src.modules += new /obj/item/multitool(src) //to freeze trays + + var/obj/item/rsf/M = new /obj/item/rsf(src) M.stored_matter = 30 src.modules += M - src.modules += new /obj/item/weapon/reagent_containers/dropper/industrial(src) + src.modules += new /obj/item/reagent_containers/dropper/industrial(src) - var/obj/item/weapon/flame/lighter/zippo/L = new /obj/item/weapon/flame/lighter/zippo(src) + var/obj/item/flame/lighter/zippo/L = new /obj/item/flame/lighter/zippo(src) L.lit = 1 src.modules += L - src.modules += new /obj/item/weapon/tray/robotray(src) - src.modules += new /obj/item/weapon/reagent_containers/borghypo/service(src) - var/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer/PB = new /obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer(src) + src.modules += new /obj/item/tray/robotray(src) + src.modules += new /obj/item/reagent_containers/borghypo/service(src) + var/obj/item/reagent_containers/food/drinks/bottle/small/beer/PB = new /obj/item/reagent_containers/food/drinks/bottle/small/beer(src) src.emag += PB var/datum/reagents/R = new/datum/reagents(50) @@ -636,87 +638,88 @@ var/global/list/robot_modules = list( PB.name = "Auntie Hong's Final Sip" PB.desc = "A bottle of very special mix of alcohol and poison. Some may argue that there's alcohol to die for, but Auntie Hong took it to next level." - src.modules += new /obj/item/device/dogborg/sleeper/compactor/brewer(src) + src.modules += new /obj/item/dogborg/sleeper/compactor/brewer(src) - src.emag += new /obj/item/weapon/dogborg/pounce(src) //Pounce + src.emag += new /obj/item/dogborg/pounce(src) //Pounce -/obj/item/weapon/robot_module/robot/clerical/butler/respawn_consumable(var/mob/living/silicon/robot/R, var/amount) - var/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer/PB = locate() in src.emag +/obj/item/robot_module/robot/clerical/butler/respawn_consumable(var/mob/living/silicon/robot/R, var/amount) + var/obj/item/reagent_containers/food/drinks/bottle/small/beer/PB = locate() in src.emag if(PB) PB.reagents.add_reagent("beer2", 2 * amount) -/obj/item/weapon/robot_module/robot/clerical/general +/obj/item/robot_module/robot/clerical/general name = "clerical robot module" -/obj/item/weapon/robot_module/robot/clerical/general/create_equipment(var/mob/living/silicon/robot/robot) +/obj/item/robot_module/robot/clerical/general/create_equipment(var/mob/living/silicon/robot/robot) ..() - src.modules += new /obj/item/weapon/pen/robopen(src) - src.modules += new /obj/item/weapon/form_printer(src) - src.modules += new /obj/item/weapon/gripper/paperwork(src) - src.modules += new /obj/item/weapon/hand_labeler(src) - src.modules += new /obj/item/weapon/stamp(src) - src.modules += new /obj/item/weapon/stamp/denied(src) - src.emag += new /obj/item/weapon/stamp/chameleon(src) - src.emag += new /obj/item/weapon/pen/chameleon(src) - - src.modules += new /obj/item/device/dogborg/sleeper/compactor/generic(src) - src.emag += new /obj/item/weapon/dogborg/pounce(src) - -/obj/item/weapon/robot_module/robot/miner + src.modules += new /obj/item/pen/robopen(src) + src.modules += new /obj/item/form_printer(src) + src.modules += new /obj/item/gripper/paperwork(src) + src.modules += new /obj/item/hand_labeler(src) + src.modules += new /obj/item/stamp(src) + src.modules += new /obj/item/stamp/denied(src) + src.emag += new /obj/item/stamp/chameleon(src) + src.emag += new /obj/item/pen/chameleon(src) + + src.modules += new /obj/item/dogborg/sleeper/compactor/generic(src) + src.emag += new /obj/item/dogborg/pounce(src) + +/obj/item/robot_module/robot/miner name = "miner robot module" - channels = list("Supply" = 1) + channels = list(CHANNEL_SUPPLY = 1) networks = list(NETWORK_MINE) supported_upgrades = list(/obj/item/borg/upgrade/restricted/pka, /obj/item/borg/upgrade/restricted/diamonddrill) pto_type = PTO_CARGO -/obj/item/weapon/robot_module/robot/miner/create_equipment(var/mob/living/silicon/robot/robot) +/obj/item/robot_module/robot/miner/create_equipment(var/mob/living/silicon/robot/robot) ..() src.modules += new /obj/item/borg/sight/material(src) - src.modules += new /obj/item/weapon/tool/wrench/cyborg(src) - src.modules += new /obj/item/weapon/tool/screwdriver/cyborg(src) - src.modules += new /obj/item/weapon/storage/bag/ore(src) - src.modules += new /obj/item/weapon/pickaxe/borgdrill(src) - src.modules += new /obj/item/weapon/storage/bag/sheetsnatcher/borg(src) - src.modules += new /obj/item/weapon/gripper/miner(src) - src.modules += new /obj/item/weapon/mining_scanner(src) - src.emag += new /obj/item/weapon/kinetic_crusher/machete/dagger(src) - - src.modules += new /obj/item/device/dogborg/sleeper/compactor/supply(src) - src.emag += new /obj/item/weapon/dogborg/pounce(src) - -/obj/item/weapon/robot_module/robot/research + src.modules += new /obj/item/tool/wrench/cyborg(src) + src.modules += new /obj/item/tool/screwdriver/cyborg(src) + src.modules += new /obj/item/storage/bag/ore(src) + src.modules += new /obj/item/pickaxe/borgdrill(src) + src.modules += new /obj/item/storage/bag/sheetsnatcher/borg(src) + src.modules += new /obj/item/gripper/miner(src) + src.modules += new /obj/item/mining_scanner(src) + src.modules += new /obj/item/card/id/cargo/miner/borg(src) + src.emag += new /obj/item/kinetic_crusher/machete/dagger(src) + + src.modules += new /obj/item/dogborg/sleeper/compactor/supply(src) + src.emag += new /obj/item/dogborg/pounce(src) + +/obj/item/robot_module/robot/research name = "research module" - channels = list("Science" = 1) + channels = list(CHANNEL_SCIENCE = 1) supported_upgrades = list(/obj/item/borg/upgrade/restricted/advrped) pto_type = PTO_SCIENCE -/obj/item/weapon/robot_module/robot/research/create_equipment(var/mob/living/silicon/robot/robot) +/obj/item/robot_module/robot/research/create_equipment(var/mob/living/silicon/robot/robot) ..() - src.modules += new /obj/item/weapon/portable_destructive_analyzer(src) - src.modules += new /obj/item/weapon/gripper/research(src) - src.modules += new /obj/item/weapon/gripper/circuit(src) - src.modules += new /obj/item/weapon/gripper/no_use/organ/robotics(src) - src.modules += new /obj/item/weapon/gripper/no_use/mech(src) - src.modules += new /obj/item/weapon/gripper/no_use/loader(src) - src.modules += new /obj/item/device/robotanalyzer(src) - src.modules += new /obj/item/weapon/card/robot(src) - src.modules += new /obj/item/weapon/weldingtool/electric/mounted/cyborg(src) - src.modules += new /obj/item/weapon/tool/screwdriver/cyborg(src) - src.modules += new /obj/item/weapon/tool/wrench/cyborg(src) - src.modules += new /obj/item/weapon/tool/wirecutters/cyborg(src) - src.modules += new /obj/item/device/multitool(src) - src.modules += new /obj/item/weapon/surgical/hemostat/cyborg(src) //Synth repair - src.modules += new /obj/item/weapon/surgical/surgicaldrill/cyborg(src) //NIF repair - src.modules += new /obj/item/weapon/reagent_containers/syringe(src) - src.modules += new /obj/item/weapon/reagent_containers/glass/beaker/large/borg(src) - src.modules += new /obj/item/weapon/storage/part_replacer(src) - src.modules += new /obj/item/weapon/shockpaddles/robot/jumper(src) - src.modules += new /obj/item/weapon/melee/baton/slime/robot(src) - src.modules += new /obj/item/weapon/gun/energy/taser/xeno/robot(src) - src.modules += new /obj/item/device/xenoarch_multi_tool(src) - src.modules += new /obj/item/weapon/pickaxe/excavationdrill(src) - - src.emag += new /obj/item/weapon/hand_tele(src) + src.modules += new /obj/item/portable_destructive_analyzer(src) + src.modules += new /obj/item/gripper/research(src) + src.modules += new /obj/item/gripper/circuit(src) + src.modules += new /obj/item/gripper/no_use/organ/robotics(src) + src.modules += new /obj/item/gripper/no_use/mech(src) + src.modules += new /obj/item/gripper/no_use/loader(src) + src.modules += new /obj/item/robotanalyzer(src) + src.modules += new /obj/item/card/robot(src) + src.modules += new /obj/item/weldingtool/electric/mounted/cyborg(src) + src.modules += new /obj/item/tool/screwdriver/cyborg(src) + src.modules += new /obj/item/tool/wrench/cyborg(src) + src.modules += new /obj/item/tool/wirecutters/cyborg(src) + src.modules += new /obj/item/multitool(src) + src.modules += new /obj/item/surgical/hemostat/cyborg(src) //Synth repair + src.modules += new /obj/item/surgical/surgicaldrill/cyborg(src) //NIF repair + src.modules += new /obj/item/reagent_containers/syringe(src) + src.modules += new /obj/item/reagent_containers/glass/beaker/large/borg(src) + src.modules += new /obj/item/storage/part_replacer(src) + src.modules += new /obj/item/shockpaddles/robot/jumper(src) + src.modules += new /obj/item/melee/baton/slime/robot(src) + src.modules += new /obj/item/gun/energy/taser/xeno/robot(src) + src.modules += new /obj/item/xenoarch_multi_tool(src) + src.modules += new /obj/item/pickaxe/excavationdrill(src) + + src.emag += new /obj/item/hand_tele(src) var/datum/matter_synth/nanite = new /datum/matter_synth/nanite(10000) synths += nanite @@ -733,12 +736,12 @@ var/global/list/robot_modules = list( C.synths = list(wire) src.modules += C - src.modules += new /obj/item/device/dogborg/sleeper/compactor/analyzer(src) - src.emag += new /obj/item/weapon/dogborg/pounce(src) + src.modules += new /obj/item/dogborg/sleeper/compactor/analyzer(src) + src.emag += new /obj/item/dogborg/pounce(src) -/obj/item/weapon/robot_module/robot/research/respawn_consumable(var/mob/living/silicon/robot/R, var/amount) +/obj/item/robot_module/robot/research/respawn_consumable(var/mob/living/silicon/robot/R, var/amount) - var/obj/item/weapon/reagent_containers/syringe/S = locate() in src.modules + var/obj/item/reagent_containers/syringe/S = locate() in src.modules if(S.mode == 2) S.reagents.clear_reagents() S.mode = initial(S.mode) @@ -747,60 +750,60 @@ var/global/list/robot_modules = list( ..() -/obj/item/weapon/robot_module/robot/security/combat +/obj/item/robot_module/robot/security/combat name = "combat robot module" hide_on_manifest = TRUE supported_upgrades = list(/obj/item/borg/upgrade/restricted/bellycapupgrade) -/obj/item/weapon/robot_module/robot/security/combat/create_equipment(var/mob/living/silicon/robot/robot) +/obj/item/robot_module/robot/security/combat/create_equipment(var/mob/living/silicon/robot/robot) ..() - src.modules += new /obj/item/weapon/handcuffs/cyborg(src) + src.modules += new /obj/item/handcuffs/cyborg(src) src.modules += new /obj/item/taperoll/police(src) - src.modules += new /obj/item/weapon/gun/energy/laser/mounted(src) - src.modules += new /obj/item/weapon/gun/energy/taser/mounted/cyborg/ertgun(src) - src.modules += new /obj/item/weapon/pickaxe/plasmacutter/borg(src) - src.modules += new /obj/item/weapon/melee/combat_borgblade(src) + src.modules += new /obj/item/gun/energy/laser/mounted(src) + src.modules += new /obj/item/gun/energy/taser/mounted/cyborg/ertgun(src) + src.modules += new /obj/item/pickaxe/plasmacutter/borg(src) + src.modules += new /obj/item/melee/combat_borgblade(src) src.modules += new /obj/item/borg/combat/shield(src) src.modules += new /obj/item/borg/combat/mobility(src) - src.modules += new /obj/item/weapon/melee/borg_combat_shocker(src) - src.modules += new /obj/item/device/ticket_printer(src) - src.emag += new /obj/item/weapon/gun/energy/lasercannon/mounted(src) + src.modules += new /obj/item/melee/borg_combat_shocker(src) + src.modules += new /obj/item/ticket_printer(src) + src.emag += new /obj/item/gun/energy/lasercannon/mounted(src) - src.modules += new /obj/item/device/dogborg/sleeper/K9/ert(src) - src.modules += new /obj/item/weapon/dogborg/pounce(src) + src.modules += new /obj/item/dogborg/sleeper/K9/ert(src) + src.modules += new /obj/item/dogborg/pounce(src) /* Drones */ -/obj/item/weapon/robot_module/drone +/obj/item/robot_module/drone name = "drone module" hide_on_manifest = TRUE no_slip = 1 networks = list(NETWORK_ENGINEERING) -/obj/item/weapon/robot_module/drone/create_equipment(var/mob/living/silicon/robot/robot) +/obj/item/robot_module/drone/create_equipment(var/mob/living/silicon/robot/robot) ..() src.modules += new /obj/item/borg/sight/meson(src) - src.modules += new /obj/item/weapon/weldingtool/electric/mounted/cyborg(src) - src.modules += new /obj/item/weapon/tool/screwdriver/cyborg(src) - src.modules += new /obj/item/weapon/tool/wrench/cyborg(src) - src.modules += new /obj/item/weapon/tool/crowbar/cyborg(src) - src.modules += new /obj/item/weapon/tool/wirecutters/cyborg(src) - src.modules += new /obj/item/device/t_scanner(src) - src.modules += new /obj/item/device/multitool(src) - src.modules += new /obj/item/device/lightreplacer(src) - src.modules += new /obj/item/weapon/gripper(src) - src.modules += new /obj/item/weapon/soap(src) - src.modules += new /obj/item/weapon/gripper/no_use/loader(src) - src.modules += new /obj/item/weapon/extinguisher(src) - src.modules += new /obj/item/device/pipe_painter(src) - src.modules += new /obj/item/device/floor_painter(src) - src.modules += new /obj/item/weapon/pipe_dispenser(src) - - robot.internals = new/obj/item/weapon/tank/jetpack/carbondioxide(src) + src.modules += new /obj/item/weldingtool/electric/mounted/cyborg(src) + src.modules += new /obj/item/tool/screwdriver/cyborg(src) + src.modules += new /obj/item/tool/wrench/cyborg(src) + src.modules += new /obj/item/tool/crowbar/cyborg(src) + src.modules += new /obj/item/tool/wirecutters/cyborg(src) + src.modules += new /obj/item/t_scanner(src) + src.modules += new /obj/item/multitool(src) + src.modules += new /obj/item/lightreplacer(src) + src.modules += new /obj/item/gripper(src) + src.modules += new /obj/item/soap(src) + src.modules += new /obj/item/gripper/no_use/loader(src) + src.modules += new /obj/item/extinguisher(src) + src.modules += new /obj/item/pipe_painter(src) + src.modules += new /obj/item/floor_painter(src) + src.modules += new /obj/item/pipe_dispenser(src) + + robot.internals = new/obj/item/tank/jetpack/carbondioxide(src) src.modules += robot.internals - var/obj/item/weapon/pickaxe/plasmacutter/borg/PC = new /obj/item/weapon/pickaxe/plasmacutter/borg(src) + var/obj/item/pickaxe/plasmacutter/borg/PC = new /obj/item/pickaxe/plasmacutter/borg(src) src.emag += PC PC.name = "Plasma Cutter" @@ -815,7 +818,7 @@ var/global/list/robot_modules = list( synths += plastic synths += wire - var/obj/item/weapon/matter_decompiler/MD = new /obj/item/weapon/matter_decompiler(src) + var/obj/item/matter_decompiler/MD = new /obj/item/matter_decompiler(src) MD.metal = metal MD.glass = glass MD.wood = wood @@ -858,31 +861,31 @@ var/global/list/robot_modules = list( P.synths = list(plastic) src.modules += P -/obj/item/weapon/robot_module/drone/construction +/obj/item/robot_module/drone/construction name = "construction drone module" hide_on_manifest = TRUE - channels = list("Engineering" = 1) + channels = list(CHANNEL_ENGINEERING = 1) languages = list() -/obj/item/weapon/robot_module/drone/construction/create_equipment(var/mob/living/silicon/robot/robot) +/obj/item/robot_module/drone/construction/create_equipment(var/mob/living/silicon/robot/robot) ..() - src.modules += new /obj/item/weapon/rcd/electric/mounted/borg/lesser(src) + src.modules += new /obj/item/rcd/electric/mounted/borg/lesser(src) -/obj/item/weapon/robot_module/drone/respawn_consumable(var/mob/living/silicon/robot/R, var/amount) - var/obj/item/device/lightreplacer/LR = locate() in src.modules +/obj/item/robot_module/drone/respawn_consumable(var/mob/living/silicon/robot/R, var/amount) + var/obj/item/lightreplacer/LR = locate() in src.modules LR.Charge(R, amount) ..() return -/obj/item/weapon/robot_module/drone/mining +/obj/item/robot_module/drone/mining name = "miner drone module" - channels = list("Supply" = 1) + channels = list(CHANNEL_SUPPLY = 1) networks = list(NETWORK_MINE) -/obj/item/weapon/robot_module/drone/mining/create_equipment(var/mob/living/silicon/robot/robot) +/obj/item/robot_module/drone/mining/create_equipment(var/mob/living/silicon/robot/robot) ..() src.modules += new /obj/item/borg/sight/material(src) - src.modules += new /obj/item/weapon/pickaxe/borgdrill(src) - src.modules += new /obj/item/weapon/storage/bag/ore(src) - src.modules += new /obj/item/weapon/storage/bag/sheetsnatcher/borg(src) - src.emag += new /obj/item/weapon/pickaxe/diamonddrill(src) + src.modules += new /obj/item/pickaxe/borgdrill(src) + src.modules += new /obj/item/storage/bag/ore(src) + src.modules += new /obj/item/storage/bag/sheetsnatcher/borg(src) + src.emag += new /obj/item/pickaxe/diamonddrill(src) diff --git a/code/modules/mob/living/silicon/robot/robot_modules/swarm.dm b/code/modules/mob/living/silicon/robot/robot_modules/swarm.dm index c79629c187e..0919fca71b3 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules/swarm.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules/swarm.dm @@ -1,35 +1,35 @@ -/obj/item/weapon/robot_module/drone/swarm +/obj/item/robot_module/drone/swarm name = "swarm drone module" var/id -/obj/item/weapon/robot_module/drone/swarm/create_equipment(var/mob/living/silicon/robot/robot) +/obj/item/robot_module/drone/swarm/create_equipment(var/mob/living/silicon/robot/robot) ..() id = robot.idcard src.modules += id - src.modules += new /obj/item/weapon/rcd/electric/mounted/borg/swarm(src) - src.modules += new /obj/item/device/flash/robot(src) - src.modules += new /obj/item/weapon/handcuffs/cable/tape/cyborg(src) - src.modules += new /obj/item/weapon/melee/baton/robot(src) - src.modules += new /obj/item/weapon/gun/energy/taser/mounted/cyborg/swarm(src) - src.modules += new /obj/item/weapon/matter_decompiler/swarm(src) + src.modules += new /obj/item/rcd/electric/mounted/borg/swarm(src) + src.modules += new /obj/item/flash/robot(src) + src.modules += new /obj/item/handcuffs/cable/tape/cyborg(src) + src.modules += new /obj/item/melee/baton/robot(src) + src.modules += new /obj/item/gun/energy/taser/mounted/cyborg/swarm(src) + src.modules += new /obj/item/matter_decompiler/swarm(src) -/obj/item/weapon/robot_module/drone/swarm/ranged +/obj/item/robot_module/drone/swarm/ranged name = "swarm gunner module" -/obj/item/weapon/robot_module/drone/swarm/ranged/create_equipment(var/mob/living/silicon/robot/robot) +/obj/item/robot_module/drone/swarm/ranged/create_equipment(var/mob/living/silicon/robot/robot) ..() - src.modules += new /obj/item/weapon/gun/energy/xray/swarm(src) + src.modules += new /obj/item/gun/energy/xray/swarm(src) -/obj/item/weapon/robot_module/drone/swarm/melee/create_equipment(var/mob/living/silicon/robot/robot) +/obj/item/robot_module/drone/swarm/melee/create_equipment(var/mob/living/silicon/robot/robot) ..() - src.modules += new /obj/item/weapon/melee/energy/sword/ionic_rapier/lance(src) + src.modules += new /obj/item/melee/energy/sword/ionic_rapier/lance(src) //Swarm Disabler Module -/obj/item/weapon/gun/energy/taser/mounted/cyborg/swarm +/obj/item/gun/energy/taser/mounted/cyborg/swarm name = "disabler" desc = "An archaic device which attacks the target's nervous-system or control circuits." icon_state = "disabler" diff --git a/code/modules/mob/living/silicon/robot/robot_modules/syndicate.dm b/code/modules/mob/living/silicon/robot/robot_modules/syndicate.dm index 7ed99340421..5fad7b3f887 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules/syndicate.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules/syndicate.dm @@ -1,6 +1,6 @@ /* Syndicate modules */ -/obj/item/weapon/robot_module/robot/syndicate +/obj/item/robot_module/robot/syndicate name = "illegal robot module" hide_on_manifest = TRUE languages = list( @@ -21,10 +21,10 @@ var/id // All syndie modules get these, and the base borg items (flash, crowbar, etc). -/obj/item/weapon/robot_module/robot/syndicate/create_equipment(var/mob/living/silicon/robot/robot) +/obj/item/robot_module/robot/syndicate/create_equipment(var/mob/living/silicon/robot/robot) ..() - src.modules += new /obj/item/weapon/pinpointer/shuttle/merc(src) - src.modules += new /obj/item/weapon/melee/energy/sword(src) + src.modules += new /obj/item/pinpointer/shuttle/merc(src) + src.modules += new /obj/item/melee/energy/sword(src) var/datum/matter_synth/cloth = new /datum/matter_synth/cloth(40000) synths += cloth @@ -32,7 +32,7 @@ var/obj/item/stack/sandbags/cyborg/SB = new /obj/item/stack/sandbags/cyborg(src) SB.synths += list(cloth) - var/jetpack = new/obj/item/weapon/tank/jetpack/carbondioxide(src) + var/jetpack = new/obj/item/tank/jetpack/carbondioxide(src) src.modules += jetpack robot.internals = jetpack @@ -40,51 +40,51 @@ id.forceMove(src) src.modules += id -/obj/item/weapon/robot_module/robot/syndicate/Destroy() +/obj/item/robot_module/robot/syndicate/Destroy() src.modules -= id id = null return ..() // Gets a big shield and a gun that shoots really fast to scare the opposing force. -/obj/item/weapon/robot_module/robot/syndicate/protector +/obj/item/robot_module/robot/syndicate/protector name = "protector robot module" supported_upgrades = list(/obj/item/borg/upgrade/restricted/bellycapupgrade) -/obj/item/weapon/robot_module/robot/syndicate/protector/create_equipment(var/mob/living/silicon/robot/robot) +/obj/item/robot_module/robot/syndicate/protector/create_equipment(var/mob/living/silicon/robot/robot) ..() src.modules += new /obj/item/shield_projector/rectangle/weak(src) - src.modules += new /obj/item/weapon/gun/energy/dakkalaser(src) - src.modules += new /obj/item/weapon/handcuffs/cyborg(src) - src.modules += new /obj/item/weapon/melee/baton/robot(src) + src.modules += new /obj/item/gun/energy/dakkalaser(src) + src.modules += new /obj/item/handcuffs/cyborg(src) + src.modules += new /obj/item/melee/baton/robot(src) - src.modules += new /obj/item/device/dogborg/sleeper/K9/syndie(src) - src.modules += new /obj/item/weapon/dogborg/pounce(src) + src.modules += new /obj/item/dogborg/sleeper/K9/syndie(src) + src.modules += new /obj/item/dogborg/pounce(src) // 95% engi-borg and 15% roboticist. -/obj/item/weapon/robot_module/robot/syndicate/mechanist +/obj/item/robot_module/robot/syndicate/mechanist name = "mechanist robot module" -/obj/item/weapon/robot_module/robot/syndicate/mechanist/create_equipment(var/mob/living/silicon/robot/robot) +/obj/item/robot_module/robot/syndicate/mechanist/create_equipment(var/mob/living/silicon/robot/robot) ..() // General engineering/hacking. src.modules += new /obj/item/borg/sight/meson(src) - src.modules += new /obj/item/weapon/weldingtool/electric/mounted/cyborg(src) - src.modules += new /obj/item/weapon/tool/screwdriver/cyborg(src) - src.modules += new /obj/item/weapon/tool/wrench/cyborg(src) - src.modules += new /obj/item/weapon/tool/wirecutters/cyborg(src) - src.modules += new /obj/item/device/multitool/ai_detector(src) - src.modules += new /obj/item/weapon/pickaxe/plasmacutter(src) - src.modules += new /obj/item/weapon/rcd/electric/mounted/borg/lesser(src) // Can't eat rwalls to prevent AI core cheese. - src.modules += new /obj/item/weapon/melee/energy/sword/ionic_rapier(src) + src.modules += new /obj/item/weldingtool/electric/mounted/cyborg(src) + src.modules += new /obj/item/tool/screwdriver/cyborg(src) + src.modules += new /obj/item/tool/wrench/cyborg(src) + src.modules += new /obj/item/tool/wirecutters/cyborg(src) + src.modules += new /obj/item/multitool/ai_detector(src) + src.modules += new /obj/item/pickaxe/plasmacutter(src) + src.modules += new /obj/item/rcd/electric/mounted/borg/lesser(src) // Can't eat rwalls to prevent AI core cheese. + src.modules += new /obj/item/melee/energy/sword/ionic_rapier(src) // FBP repair. - src.modules += new /obj/item/device/robotanalyzer(src) - src.modules += new /obj/item/weapon/shockpaddles/robot/jumper(src) - src.modules += new /obj/item/weapon/gripper/no_use/organ/robotics(src) + src.modules += new /obj/item/robotanalyzer(src) + src.modules += new /obj/item/shockpaddles/robot/jumper(src) + src.modules += new /obj/item/gripper/no_use/organ/robotics(src) // Hacking other things. - src.modules += new /obj/item/weapon/card/robot/syndi(src) - src.modules += new /obj/item/weapon/card/emag/borg(src) + src.modules += new /obj/item/card/robot/syndi(src) + src.modules += new /obj/item/card/emag/borg(src) // Materials. var/datum/matter_synth/nanite = new /datum/matter_synth/nanite(10000) @@ -122,43 +122,43 @@ RG.synths = list(metal, glass) src.modules += RG - var/obj/item/device/dogborg/sleeper/compactor/syndie/MD = new /obj/item/device/dogborg/sleeper/compactor/syndie(src) + var/obj/item/dogborg/sleeper/compactor/syndie/MD = new /obj/item/dogborg/sleeper/compactor/syndie(src) MD.metal = metal MD.glass = glass src.modules += MD - src.modules += new /obj/item/weapon/dogborg/pounce(src) + src.modules += new /obj/item/dogborg/pounce(src) // Mediborg optimized for on-the-field healing, but can also do surgery if needed. -/obj/item/weapon/robot_module/robot/syndicate/combat_medic +/obj/item/robot_module/robot/syndicate/combat_medic name = "combat medic robot module" supported_upgrades = list(/obj/item/borg/upgrade/restricted/bellycapupgrade) -/obj/item/weapon/robot_module/robot/syndicate/combat_medic/create_equipment(var/mob/living/silicon/robot/robot) +/obj/item/robot_module/robot/syndicate/combat_medic/create_equipment(var/mob/living/silicon/robot/robot) ..() - src.modules += new /obj/item/device/healthanalyzer/phasic(src) - src.modules += new /obj/item/weapon/reagent_containers/borghypo/merc(src) + src.modules += new /obj/item/healthanalyzer/phasic(src) + src.modules += new /obj/item/reagent_containers/borghypo/merc(src) // Surgery things. - src.modules += new /obj/item/weapon/autopsy_scanner(src) - src.modules += new /obj/item/weapon/surgical/scalpel/cyborg(src) - src.modules += new /obj/item/weapon/surgical/hemostat/cyborg(src) - src.modules += new /obj/item/weapon/surgical/retractor/cyborg(src) - src.modules += new /obj/item/weapon/surgical/cautery/cyborg(src) - src.modules += new /obj/item/weapon/surgical/bonegel/cyborg(src) - src.modules += new /obj/item/weapon/surgical/FixOVein/cyborg(src) - src.modules += new /obj/item/weapon/surgical/bonesetter/cyborg(src) - src.modules += new /obj/item/weapon/surgical/circular_saw/cyborg(src) - src.modules += new /obj/item/weapon/surgical/surgicaldrill/cyborg(src) - src.modules += new /obj/item/weapon/gripper/no_use/organ(src) + src.modules += new /obj/item/autopsy_scanner(src) + src.modules += new /obj/item/surgical/scalpel/cyborg(src) + src.modules += new /obj/item/surgical/hemostat/cyborg(src) + src.modules += new /obj/item/surgical/retractor/cyborg(src) + src.modules += new /obj/item/surgical/cautery/cyborg(src) + src.modules += new /obj/item/surgical/bonegel/cyborg(src) + src.modules += new /obj/item/surgical/FixOVein/cyborg(src) + src.modules += new /obj/item/surgical/bonesetter/cyborg(src) + src.modules += new /obj/item/surgical/circular_saw/cyborg(src) + src.modules += new /obj/item/surgical/surgicaldrill/cyborg(src) + src.modules += new /obj/item/gripper/no_use/organ(src) // General healing. - src.modules += new /obj/item/weapon/gripper/medical(src) - src.modules += new /obj/item/weapon/shockpaddles/robot/combat(src) - src.modules += new /obj/item/weapon/reagent_containers/dropper(src) // Allows borg to fix necrosis apparently - src.modules += new /obj/item/weapon/reagent_containers/syringe(src) + src.modules += new /obj/item/gripper/medical(src) + src.modules += new /obj/item/shockpaddles/robot/combat(src) + src.modules += new /obj/item/reagent_containers/dropper(src) // Allows borg to fix necrosis apparently + src.modules += new /obj/item/reagent_containers/syringe(src) src.modules += new /obj/item/roller_holder(src) // Materials. @@ -181,12 +181,12 @@ src.modules += B src.modules += S - src.modules += new /obj/item/device/dogborg/sleeper/syndie(src) - src.modules += new /obj/item/weapon/dogborg/pounce(src) + src.modules += new /obj/item/dogborg/sleeper/syndie(src) + src.modules += new /obj/item/dogborg/pounce(src) -/obj/item/weapon/robot_module/robot/syndicate/combat_medic/respawn_consumable(var/mob/living/silicon/robot/R, var/amount) +/obj/item/robot_module/robot/syndicate/combat_medic/respawn_consumable(var/mob/living/silicon/robot/R, var/amount) - var/obj/item/weapon/reagent_containers/syringe/S = locate() in src.modules + var/obj/item/reagent_containers/syringe/S = locate() in src.modules if(S.mode == 2) S.reagents.clear_reagents() S.mode = initial(S.mode) diff --git a/code/modules/mob/living/silicon/robot/robot_modules_yw.dm b/code/modules/mob/living/silicon/robot/robot_modules_yw.dm index c0f3768e69e..f289e835e5e 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules_yw.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules_yw.dm @@ -1,11 +1,11 @@ // YW TODO: Fix this shit /hook/startup/proc/robot_modules_yw() - robot_modules["XenoMaid"] = /obj/item/weapon/robot_module/xenomaid - robot_modules["Blade"] = /obj/item/weapon/robot_module/blade - robot_modules["Surgeryhound"] = /obj/item/weapon/robot_module/surgeryhound + robot_modules["XenoMaid"] = /obj/item/robot_module/xenomaid + robot_modules["Blade"] = /obj/item/robot_module/blade + robot_modules["Surgeryhound"] = /obj/item/robot_module/surgeryhound return 1 -/obj/item/weapon/robot_module/xenomaid +/obj/item/robot_module/xenomaid name = "Xenomorph Maid module" channels = "Service" sprites = list( @@ -13,13 +13,13 @@ ) can_be_pushed = 0 -/obj/item/weapon/robot_module/xenomaid/New(var/mob/living/silicon/robot/R) - src.modules += new /obj/item/device/flash(src) - src.modules += new /obj/item/weapon/soap/nanotrasen(src) - src.modules += new /obj/item/weapon/storage/bag/trash(src) - src.modules += new /obj/item/weapon/mop(src) - src.modules += new /obj/item/device/lightreplacer(src) - src.emag = new /obj/item/weapon/reagent_containers/spray(src) +/obj/item/robot_module/xenomaid/New(var/mob/living/silicon/robot/R) + src.modules += new /obj/item/flash(src) + src.modules += new /obj/item/soap/nanotrasen(src) + src.modules += new /obj/item/storage/bag/trash(src) + src.modules += new /obj/item/mop(src) + src.modules += new /obj/item/lightreplacer(src) + src.emag = new /obj/item/reagent_containers/spray(src) src.emag.reagents.add_reagent("lube", 250) src.emag.name = "Lube spray" R.icon = 'icons/mob/robots_yw.dmi' @@ -28,7 +28,7 @@ -/obj/item/weapon/robot_module/blade +/obj/item/robot_module/blade name = "Blade robot module" sprites = list( "Blade" = "blade", @@ -37,23 +37,23 @@ networks = list(NETWORK_MINE) can_be_pushed = 0 -/obj/item/weapon/robot_module/blade/New(var/mob/living/silicon/robot/R) - src.modules += new /obj/item/weapon/dogborg/jaws/big(src) //In case there's some kind of hostile mob. - src.modules += new /obj/item/device/dogborg/boop_module(src) //Boop people on the nose. - src.modules += new /obj/item/device/dogborg/tongue(src) //This is so they can clean up bloody evidence after it's examined, and so they can lick crew. - src.modules += new /obj/item/device/dogborg/sleeper/K9(src) //Eat criminals. Bring them to the brig. - src.modules += new /obj/item/device/dogborg/pounce_module(src) //Pounce shit test +/obj/item/robot_module/blade/New(var/mob/living/silicon/robot/R) + src.modules += new /obj/item/dogborg/jaws/big(src) //In case there's some kind of hostile mob. + src.modules += new /obj/item/dogborg/boop_module(src) //Boop people on the nose. + src.modules += new /obj/item/dogborg/tongue(src) //This is so they can clean up bloody evidence after it's examined, and so they can lick crew. + src.modules += new /obj/item/dogborg/sleeper/K9(src) //Eat criminals. Bring them to the brig. + src.modules += new /obj/item/dogborg/pounce_module(src) //Pounce shit test src.modules += new /obj/item/borg/sight/material(src) - src.modules += new /obj/item/weapon/tool/wrench(src) - src.modules += new /obj/item/weapon/tool/screwdriver(src) - src.modules += new /obj/item/weapon/storage/bag/ore(src) - src.modules += new /obj/item/weapon/pickaxe/borgdrill(src) - src.modules += new /obj/item/weapon/storage/bag/sheetsnatcher/borg(src) - src.modules += new /obj/item/weapon/gripper/miner(src) - src.modules += new /obj/item/weapon/mining_scanner(src) - src.modules += new /obj/item/weapon/tool/crowbar(src) - src.emag = new /obj/item/weapon/pickaxe/plasmacutter(src) - src.emag = new /obj/item/weapon/gun/energy/laser/mounted(src) //Emag. Not a big problem. + src.modules += new /obj/item/tool/wrench(src) + src.modules += new /obj/item/tool/screwdriver(src) + src.modules += new /obj/item/storage/bag/ore(src) + src.modules += new /obj/item/pickaxe/borgdrill(src) + src.modules += new /obj/item/storage/bag/sheetsnatcher/borg(src) + src.modules += new /obj/item/gripper/miner(src) + src.modules += new /obj/item/mining_scanner(src) + src.modules += new /obj/item/tool/crowbar(src) + src.emag = new /obj/item/pickaxe/plasmacutter(src) + src.emag = new /obj/item/gun/energy/laser/mounted(src) //Emag. Not a big problem. R.icon = 'icons/mob/widerobot_yw.dmi' R.hands.icon = 'icons/mob/screen1_robot_vr.dmi' R.pixel_x = -16 @@ -61,7 +61,7 @@ ..() -/obj/item/weapon/robot_module/surgeryhound +/obj/item/robot_module/surgeryhound name = "SurgeryHound module" channels = list("medical" = 1) networks = list (NETWORK_MEDICAL) @@ -72,33 +72,33 @@ "Dark Medical Hound (Static)" = "medihounddark" ) -/obj/item/weapon/robot_module/surgeryhound/New(var/mob/living/silicon/robot/R) - src.modules += new /obj/item/weapon/dogborg/jaws/small(src) //In case a patient is being attacked by carp. - src.modules += new /obj/item/device/dogborg/boop_module(src) //Boop the crew. - src.modules += new /obj/item/device/dogborg/tongue(src) //Clean up bloody items by licking them, and eat rubbish for - src.modules += new /obj/item/device/dogborg/sleeper(src) //So they can nom people and heal them +/obj/item/robot_module/surgeryhound/New(var/mob/living/silicon/robot/R) + src.modules += new /obj/item/dogborg/jaws/small(src) //In case a patient is being attacked by carp. + src.modules += new /obj/item/dogborg/boop_module(src) //Boop the crew. + src.modules += new /obj/item/dogborg/tongue(src) //Clean up bloody items by licking them, and eat rubbish for + src.modules += new /obj/item/dogborg/sleeper(src) //So they can nom people and heal them src.modules += new /obj/item/borg/sight/hud/med(src) - src.modules += new /obj/item/device/healthanalyzer(src) - src.modules += new /obj/item/weapon/reagent_containers/borghypo/surgeon(src) - src.modules += new /obj/item/weapon/surgical/scalpel(src) - src.modules += new /obj/item/weapon/surgical/hemostat(src) - src.modules += new /obj/item/weapon/surgical/retractor(src) - src.modules += new /obj/item/weapon/surgical/cautery(src) - src.modules += new /obj/item/weapon/surgical/bonegel(src) - src.modules += new /obj/item/weapon/surgical/FixOVein(src) - src.modules += new /obj/item/weapon/surgical/bonesetter(src) - src.modules += new /obj/item/weapon/surgical/circular_saw(src) - src.modules += new /obj/item/weapon/surgical/surgicaldrill(src) - src.modules += new /obj/item/weapon/gripper/no_use/organ(src) - src.modules += new /obj/item/weapon/gripper/medical(src) - src.modules += new /obj/item/weapon/shockpaddles/robot(src) - src.modules += new /obj/item/weapon/reagent_containers/dropper(src) // Allows surgeon borg to fix necrosis - src.modules += new /obj/item/device/sleevemate(src) - src.emag = new /obj/item/weapon/reagent_containers/spray(src) + src.modules += new /obj/item/healthanalyzer(src) + src.modules += new /obj/item/reagent_containers/borghypo/surgeon(src) + src.modules += new /obj/item/surgical/scalpel(src) + src.modules += new /obj/item/surgical/hemostat(src) + src.modules += new /obj/item/surgical/retractor(src) + src.modules += new /obj/item/surgical/cautery(src) + src.modules += new /obj/item/surgical/bonegel(src) + src.modules += new /obj/item/surgical/FixOVein(src) + src.modules += new /obj/item/surgical/bonesetter(src) + src.modules += new /obj/item/surgical/circular_saw(src) + src.modules += new /obj/item/surgical/surgicaldrill(src) + src.modules += new /obj/item/gripper/no_use/organ(src) + src.modules += new /obj/item/gripper/medical(src) + src.modules += new /obj/item/shockpaddles/robot(src) + src.modules += new /obj/item/reagent_containers/dropper(src) // Allows surgeon borg to fix necrosis + src.modules += new /obj/item/sleevemate(src) + src.emag = new /obj/item/reagent_containers/spray(src) src.emag.reagents.add_reagent("pacid", 250) src.emag.name = "Polyacid spray" - src.modules += new /obj/item/device/dogborg/pounce_module(src) //Pounce shit test + src.modules += new /obj/item/dogborg/pounce_module(src) //Pounce shit test //R.icon_state = "medihound" R.pixel_x = -16 R.old_x = -16 @@ -120,8 +120,8 @@ R.icon = 'icons/mob/widerobot_vr.dmi' R.hands.icon = 'icons/mob/screen1_robot_vr.dmi' -/obj/item/weapon/robot_module/medical/robot/surgeon/respawn_consumable(var/mob/living/silicon/robot/R, var/amount) +/obj/item/robot_module/medical/robot/surgeon/respawn_consumable(var/mob/living/silicon/robot/R, var/amount) if(src.emag) - var/obj/item/weapon/reagent_containers/spray/PS = src.emag + var/obj/item/reagent_containers/spray/PS = src.emag PS.reagents.add_reagent("pacid", 2 * amount) ..() diff --git a/code/modules/mob/living/silicon/robot/robot_movement.dm b/code/modules/mob/living/silicon/robot/robot_movement.dm index 106513eced4..252d23fe930 100644 --- a/code/modules/mob/living/silicon/robot/robot_movement.dm +++ b/code/modules/mob/living/silicon/robot/robot_movement.dm @@ -1,13 +1,13 @@ /mob/living/silicon/robot/get_jetpack() if(module) - for(var/obj/item/weapon/tank/jetpack/J in module.modules) + for(var/obj/item/tank/jetpack/J in module.modules) return J /mob/living/silicon/robot/Check_Shoegrip() return module && module.no_slip /mob/living/silicon/robot/Process_Spaceslipping(var/prob_slip) - var/obj/item/weapon/tank/jetpack/thrust = get_jetpack() + var/obj/item/tank/jetpack/thrust = get_jetpack() if(thrust?.can_thrust(0.01)) return 0 if(module && module.no_slip) @@ -18,7 +18,7 @@ if(..())//Can move due to other reasons, don't use jetpack fuel return 1 - var/obj/item/weapon/tank/jetpack/thrust = get_jetpack() + var/obj/item/tank/jetpack/thrust = get_jetpack() if(thrust && (!check_drift || (check_drift && thrust.stabilization_on)) && thrust.do_thrust(0.01)) inertia_dir = 0 return 1 @@ -35,7 +35,7 @@ if(get_restraining_bolt()) // Borgs with Restraining Bolts move slower. . += 1 - . += config.robot_delay + . += CONFIG_GET(number/robot_delay) . += ..() @@ -55,13 +55,13 @@ return //Borgs and drones can use their mining bags ~automagically~ if they're deployed in a slot. Only mining bags, as they're optimized for mass use. - if(istype(module_state_1, /obj/item/weapon/storage/bag/ore) || istype(module_state_2, /obj/item/weapon/storage/bag/ore) || istype(module_state_3, /obj/item/weapon/storage/bag/ore)) - var/obj/item/weapon/storage/bag/ore/B = null - if(istype(module_state_1, /obj/item/weapon/storage/bag/ore)) //First orebag has priority, if they for some reason have multiple. + if(istype(module_state_1, /obj/item/storage/bag/ore) || istype(module_state_2, /obj/item/storage/bag/ore) || istype(module_state_3, /obj/item/storage/bag/ore)) + var/obj/item/storage/bag/ore/B = null + if(istype(module_state_1, /obj/item/storage/bag/ore)) //First orebag has priority, if they for some reason have multiple. B = module_state_1 - else if(istype(module_state_2, /obj/item/weapon/storage/bag/ore)) + else if(istype(module_state_2, /obj/item/storage/bag/ore)) B = module_state_2 - else if(istype(module_state_3, /obj/item/weapon/storage/bag/ore)) + else if(istype(module_state_3, /obj/item/storage/bag/ore)) B = module_state_3 var/turf/tile = loc if(isturf(tile)) @@ -96,4 +96,4 @@ cleaned_human.shoes.clean_blood() cleaned_human.update_inv_shoes(0) cleaned_human.clean_blood(1) - to_chat(cleaned_human, "[src] cleans your face!") + to_chat(cleaned_human, span_warning("[src] cleans your face!")) diff --git a/code/modules/mob/living/silicon/robot/robot_remote_control.dm b/code/modules/mob/living/silicon/robot/robot_remote_control.dm index 344ba448730..56586dcf469 100644 --- a/code/modules/mob/living/silicon/robot/robot_remote_control.dm +++ b/code/modules/mob/living/silicon/robot/robot_remote_control.dm @@ -10,13 +10,13 @@ GLOBAL_LIST_EMPTY(available_ai_shells) // Premade AI shell, for roundstart shells. /mob/living/silicon/robot/ai_shell/Initialize() - mmi = new /obj/item/device/mmi/inert/ai_remote(src) + mmi = new /obj/item/mmi/inert/ai_remote(src) post_mmi_setup() return ..() // Call after inserting or instantiating an MMI. /mob/living/silicon/robot/proc/post_mmi_setup() - if(istype(mmi, /obj/item/device/mmi/inert/ai_remote)) + if(istype(mmi, /obj/item/mmi/inert/ai_remote)) make_shell() playsound(src, 'sound/machines/twobeep.ogg', 50, 0) else @@ -27,7 +27,7 @@ GLOBAL_LIST_EMPTY(available_ai_shells) shell = TRUE braintype = "AI Shell" SetName("[modtype] AI Shell [num2text(ident)]") - rbPDA = new /obj/item/device/pda/ai/shell(src) + rbPDA = new /obj/item/pda/ai/shell(src) setup_PDA() GLOB.available_ai_shells |= src if(!QDELETED(camera)) @@ -65,8 +65,8 @@ GLOBAL_LIST_EMPTY(available_ai_shells) lawsync() // Give button to leave. - verbs += /mob/living/silicon/robot/proc/undeploy_act - to_chat(AI, span("notice", "You have connected to an AI Shell remotely, and are now in control of it.
    \ + add_verb(src, /mob/living/silicon/robot/proc/undeploy_act) + to_chat(AI, span_notice("You have connected to an AI Shell remotely, and are now in control of it.
    \ To return to your core, use the Release Control verb.")) // Languages and comms. @@ -88,7 +88,7 @@ GLOBAL_LIST_EMPTY(available_ai_shells) // mainframe.redeploy_action.Grant(mainframe) // mainframe.redeploy_action.last_used_shell = src if(message) - to_chat(src, span("notice", message)) + to_chat(src, span_notice(message)) mind.transfer_to(mainframe) src.copy_vore_prefs_to_mob(mainframe) deployed = FALSE @@ -110,12 +110,12 @@ GLOBAL_LIST_EMPTY(available_ai_shells) /mob/living/silicon/robot/proc/undeploy_act() set name = "Release Control" set desc = "Release control of a remote drone." - set category = "Robot Commands" + set category = "Abilities.Silicon" undeploy("Remote session terminated.") /mob/living/silicon/robot/attack_ai(mob/user) - if(shell && config.allow_ai_shells && (!connected_ai || connected_ai == user)) + if(shell && CONFIG_GET(flag/allow_ai_shells) && (!connected_ai || connected_ai == user)) var/mob/living/silicon/ai/AI = user if(istype(AI)) // Just in case we're clicked by a borg AI.deploy_to_shell(src) @@ -132,6 +132,6 @@ GLOBAL_LIST_EMPTY(available_ai_shells) delete_me = TRUE /obj/effect/landmark/free_ai_shell/Initialize() - if(config.allow_ai_shells && config.give_free_ai_shell) + if(CONFIG_GET(flag/allow_ai_shells) && CONFIG_GET(flag/give_free_ai_shell)) new /mob/living/silicon/robot/ai_shell(get_turf(src)) return ..() diff --git a/code/modules/mob/living/silicon/robot/robot_ui.dm b/code/modules/mob/living/silicon/robot/robot_ui.dm new file mode 100644 index 00000000000..8cec2aa5425 --- /dev/null +++ b/code/modules/mob/living/silicon/robot/robot_ui.dm @@ -0,0 +1,190 @@ +/mob/living/silicon/robot + var/datum/tgui_module/robot_ui/robotact + +// Major Control UI for all things robots can do. +/datum/tgui_module/robot_ui + name = "Robotact" + tgui_id = "Robotact" + +/datum/tgui_module/robot_ui/tgui_state(mob/user) + return GLOB.tgui_self_state + +/datum/tgui_module/robot_ui/tgui_static_data() + var/list/data = ..() + + var/mob/living/silicon/robot/R = host + + if(!R.module) + return data + + var/list/modules = list() + for(var/obj/item/I as anything in R.module.modules) + if(!I) + continue + + UNTYPED_LIST_ADD(modules, list( + "ref" = REF(I), + "name" = "[I]", + "icon" = "[I.icon]", + "icon_state" = "[I.icon_state]", + )) + data["modules_static"] = modules + + var/list/emag_modules = list() + if(R.emagged || R.emag_items) + for(var/obj/item/I as anything in R.module.emag) + if(!I) + continue + + UNTYPED_LIST_ADD(emag_modules, list( + "ref" = REF(I), + "name" = "[I.name]", + "icon" = "[I.icon]", + "icon_state" = "[I.icon_state]", + )) + data["emag_modules_static"] = emag_modules + + return data + +/datum/tgui_module/robot_ui/tgui_data() + var/list/data = ..() + + var/mob/living/silicon/robot/R = host + + data["module_name"] = R.module ? "[R.module]" : null + if(R.emagged) + data["theme"] = "syndicate" + else if (R.ui_theme) + data["theme"] = R.ui_theme + + if(!R.module) + return data + + data["name"] = R.name + data["ai"] = "[R.connected_ai]" + data["charge"] = R.cell?.charge + data["max_charge"] = R.cell?.maxcharge + data["health"] = R.health + data["max_health"] = R.getMaxHealth() + data["light_color"] = R.robot_light_col + + data["weapon_lock"] = R.weapon_lock + + var/list/modules = list() + for(var/obj/item/I as anything in R.module.modules) + if(!I) + continue + + LAZYSET(modules, REF(I), R.get_slot_from_module(I)) + data["modules"] = modules + + var/list/emag_modules = list() + if(R.emagged || R.emag_items) + for(var/obj/item/I as anything in R.module.emag) + if(!I) + continue + + LAZYSET(emag_modules, REF(I), R.get_slot_from_module(I)) + data["emag_modules"] = emag_modules + + var/diagnosis_functional = R.is_component_functioning("diagnosis unit") + data["diag_functional"] = diagnosis_functional + + var/list/components = list() + for(var/V in R.components) + var/datum/robot_component/comp = R.components[V] + + UNTYPED_LIST_ADD(components, list( + "key" = V, + "name" = "[comp]", + "brute_damage" = comp.brute_damage, + "electronics_damage" = diagnosis_functional ? comp.electronics_damage : -1, + "max_damage" = diagnosis_functional ? comp.max_damage : -1, + "idle_usage" = diagnosis_functional ? comp.idle_usage : -1, + "is_powered" = diagnosis_functional ? comp.is_powered() : 0, + "toggled" = comp.toggled, + )) + data["components"] = components + + return data + +/datum/tgui_module/robot_ui/tgui_act(action, params, datum/tgui/ui) + . = ..() + if(.) + return + + var/mob/living/silicon/robot/R = host + + switch(action) + if("set_light_col") + var/new_color = params["value"] + if(findtext(new_color, GLOB.is_color)) + R.robot_light_col = new_color + . = TRUE + if("select_module") + R.pick_module() + . = TRUE + if("toggle_component") + var/component = params["component"] + var/datum/robot_component/C = LAZYACCESS(R.components, component) + if(istype(C)) + C.toggled = !C.toggled + if(C.toggled) + to_chat(ui.user, span_notice("You enable [C].")) + else + to_chat(ui.user, span_warning("You disable [C].")) + . = TRUE + if("toggle_module") + if(R.weapon_lock) + to_chat(ui.user, span_danger("Error: Modules locked.")) + return + var/obj/item/module = locate(params["ref"]) + if(istype(module)) + if(R.activated(module)) + R.uneq_specific(module) + else + R.activate_module(module) + . = TRUE + if("activate_module") + var/obj/item/module = locate(params["ref"]) + if(istype(module) && module.loc == R) + module.attack_self(R) + . = TRUE + + // Quick actions + if("quick_action_comm") + R.communicator?.attack_self(R) + . = TRUE + if("quick_action_pda") + R.rbPDA?.tgui_interact(R) + . = TRUE + if("quick_action_crew_manifest") + R.subsystem_crew_manifest() + . = TRUE + if("quick_action_law_manager") + R.subsystem_law_manager() + . = TRUE + if("quick_action_alarm_monitoring") + R.subsystem_alarm_monitor() + . = TRUE + if("quick_action_power_monitoring") + R.subsystem_power_monitor() + . = TRUE + if("quick_action_take_image") + R.take_image() + . = TRUE + if("quick_action_view_images") + R.view_images() + . = TRUE + if("quick_action_delete_images") + R.delete_images() + . = TRUE + if("quick_action_flashlight") + R.toggle_lights() + . = TRUE + if("quick_action_sensors") + R.sensor_mode() + . = TRUE + if("quick_action_sparks") + R.spark_plug() + . = TRUE diff --git a/code/modules/mob/living/silicon/robot/robot_ui_module.dm b/code/modules/mob/living/silicon/robot/robot_ui_module.dm new file mode 100644 index 00000000000..1554549633e --- /dev/null +++ b/code/modules/mob/living/silicon/robot/robot_ui_module.dm @@ -0,0 +1,179 @@ +// Robot module selection +/datum/tgui_module/robot_ui_module + name = "Robot Module Configurator" + tgui_id = "RobotChoose" + var/selected_module + var/new_name + var/datum/robot_sprite/sprite_datum + +/datum/tgui_module/robot_ui_module/tgui_state(mob/user) + return GLOB.tgui_self_state + +/datum/tgui_module/robot_ui_module/tgui_close(mob/user) + . = ..() + if(isrobot(user)) + var/mob/living/silicon/robot/R = user + R.selecting_module = FALSE + +/datum/tgui_module/robot_ui_module/tgui_interact(mob/user, datum/tgui/ui, datum/tgui/parent_ui) + . = ..() + if(isrobot(user) && ui) + var/mob/living/silicon/robot/R = user + R.selecting_module = TRUE + +/datum/tgui_module/robot_ui_module/ui_assets(mob/user) + return list( + get_asset_datum(/datum/asset/spritesheet/robot_icons) + ) + +/datum/tgui_module/robot_ui_module/tgui_static_data() + var/list/data = ..() + + var/mob/living/silicon/robot/R = host + + var/list/modules = list() + if(R.module) + modules = list(R.modtype) + selected_module = R.modtype + else + if(LAZYLEN(R.restrict_modules_to) > 0) + modules.Add(R.restrict_modules_to) + else if(R.shell) + modules.Add(shell_module_types) + else + modules.Add(robot_module_types) + if(R.crisis || security_level == SEC_LEVEL_RED || R.crisis_override) + to_chat(R, span_red("Crisis mode active. Combat module available.")) + modules |= emergency_module_types + for(var/module_name in whitelisted_module_types) + if(is_borg_whitelisted(R, module_name)) + modules |= module_name + data["possible_modules"] = modules + if(R.emagged) + data["theme"] = "syndicate" + else if (R.ui_theme) + data["theme"] = R.ui_theme + + return data + +/datum/tgui_module/robot_ui_module/tgui_data() + var/list/data = ..() + + var/mob/living/silicon/robot/R = host + var/datum/asset/spritesheet/robot_icons/spritesheet = get_asset_datum(/datum/asset/spritesheet/robot_icons) + + data["currentName"] = new_name ? new_name : R.name + data["isDefaultName"] = !new_name + + if(selected_module) + data["selected_module"] = selected_module + if(!SSrobot_sprites) + to_chat(R, span_warning("Robot Sprites have not been initialized yet. How are you choosing a sprite? Harass a coder.")) + selected_module = null + return + + var/list/module_sprites = SSrobot_sprites.get_module_sprites(selected_module, R) + if(!module_sprites || !module_sprites.len) + to_chat(R, span_warning("Your module appears to have no sprite options. Harass a coder.")) + selected_module = null + return + var/list/available_sprites = list() + for(var/datum/robot_sprite/S in module_sprites) + var/model_type = "def" + if(istype(S, /datum/robot_sprite/dogborg)) + model_type = "wide" + if(istype(S, /datum/robot_sprite/dogborg/tall)) + model_type = "tall" + available_sprites += list(list("sprite" = S.name, "belly" = S.has_vore_belly_sprites, "type" = model_type)) + + data["possible_sprites"] = available_sprites + data["sprite_datum"] = sprite_datum + data["sprite_datum_class"] = null + data["sprite_datum_size"] = null + if(sprite_datum) + data["sprite_datum_class"] = sanitize_css_class_name("[sprite_datum.type]") + data["sprite_datum_size"] = spritesheet.icon_size_id(data["sprite_datum_class"] + "S") // just get the south icon's size, the rest will be the same + + return data + +/datum/tgui_module/robot_ui_module/tgui_act(action, params) + . = ..() + if(.) + return + + var/mob/living/silicon/robot/R = host + + switch(action) + if("pick_module") + if(R.module) + return + var/new_module = params["value"] + if(!(new_module in robot_modules)) + return + if(!is_borg_whitelisted(R, new_module)) + return + selected_module = new_module + if(sprite_datum) + var/new_datum + var/list/module_sprites = SSrobot_sprites.get_module_sprites(selected_module, R) + for(var/datum/robot_sprite/S in module_sprites) + if(S.name == sprite_datum.name) + new_datum = S + break + sprite_datum = new_datum + . = TRUE + if("pick_icon") + var/sprite = params["value"] + if(!sprite) + return + var/list/module_sprites = SSrobot_sprites.get_module_sprites(selected_module, R) + for(var/datum/robot_sprite/S in module_sprites) + if(S.name == sprite) + sprite_datum = S + break + . = TRUE + if("rename") + var/name = params["value"] + if(name) + new_name = sanitizeSafe(name, MAX_NAME_LEN) + . = TRUE + if("confirm") + R.apply_name(new_name) + R.apply_module(sprite_datum, selected_module) + R.transform_module() + close_ui() + . = TRUE + +/mob/living/silicon/robot/proc/apply_name(var/new_name) + if(!custom_name) + if (new_name) + custom_name = new_name + sprite_name = new_name + +/mob/living/silicon/robot/proc/apply_module(var/datum/robot_sprite/new_datum, var/new_module) + icon_selected = TRUE + var/module_type = robot_modules[new_module] + modtype = new_module + module = new module_type(src) + feedback_inc("cyborg_[lowertext(new_module)]",1) + updatename() + hud_used.update_robot_modules_display() + notify_ai(ROBOT_NOTIFICATION_NEW_MODULE, module.name) + robotact?.update_static_data_for_all_viewers() + sprite_datum = new_datum + if(!istype(src,/mob/living/silicon/robot/drone)) + sprite_type = sprite_datum.name + +/mob/living/silicon/robot/proc/transform_module() + transform_with_anim() + var/tempheight = vis_height + update_icon() + // This is bad but I dunno other way to 'reset' our resize offset based on vis_height changes other than resizing to normal and back. + if(tempheight != vis_height) + var/tempsize = size_multiplier + resize(1) + resize(tempsize) + if(hands) + update_hud() + sprite_datum.do_equipment_glamour(module) + to_chat(src, span_filter_notice("Your icon has been set. You now require a module reset to change it.")) diff --git a/code/modules/mob/living/silicon/robot/sprites/_sprite_datum.dm b/code/modules/mob/living/silicon/robot/sprites/_sprite_datum.dm index 53e2a412426..13f47dca367 100644 --- a/code/modules/mob/living/silicon/robot/sprites/_sprite_datum.dm +++ b/code/modules/mob/living/silicon/robot/sprites/_sprite_datum.dm @@ -97,7 +97,7 @@ /datum/robot_sprite/proc/handle_extra_customization(var/mob/living/silicon/robot/ourborg) return -/datum/robot_sprite/proc/do_equipment_glamour(var/obj/item/weapon/robot_module/module) +/datum/robot_sprite/proc/do_equipment_glamour(var/obj/item/robot_module/module) return // Dogborgs and not-dogborgs that use dogborg stuff. Oh no. @@ -127,11 +127,11 @@ /datum/robot_sprite/dogborg/get_belly_overlay(var/mob/living/silicon/robot/ourborg) return "[sprite_icon_state]-sleeper" */ -/datum/robot_sprite/dogborg/do_equipment_glamour(var/obj/item/weapon/robot_module/module) +/datum/robot_sprite/dogborg/do_equipment_glamour(var/obj/item/robot_module/module) if(!has_custom_equipment_sprites) return - var/obj/item/weapon/tool/crowbar/cyborg/C = locate() in module.modules + var/obj/item/tool/crowbar/cyborg/C = locate() in module.modules if(C) C.name = "puppy jaws" C.desc = "The jaws of a small dog. Still strong enough to pry things." diff --git a/code/modules/mob/living/silicon/robot/sprites/civilian.dm b/code/modules/mob/living/silicon/robot/sprites/civilian.dm index 18f371accfc..ad912f5180a 100644 --- a/code/modules/mob/living/silicon/robot/sprites/civilian.dm +++ b/code/modules/mob/living/silicon/robot/sprites/civilian.dm @@ -121,7 +121,7 @@ /datum/robot_sprite/service/drone name = "AG Model-Serv" - sprite_icon_state = "drone-crisis" + sprite_icon_state = "drone" has_custom_open_sprites = TRUE /datum/robot_sprite/service/drone_hydro @@ -241,7 +241,7 @@ ourborg.sprite_extra_customization += "boozehound" ourborg.sprite_extra_customization["boozehound"] = choice playsound(ourborg.loc, 'sound/effects/bubbles.ogg', 100, 0, 4) - to_chat(ourborg, "Your tank now displays [choice]. Drink up and enjoy!") + to_chat(ourborg, span_filter_notice("Your tank now displays [choice]. Drink up and enjoy!")) ourborg.update_icon() return 1 diff --git a/code/modules/mob/living/silicon/robot/sprites/combat.dm b/code/modules/mob/living/silicon/robot/sprites/combat.dm index 3ff24f321ff..beffd3256ab 100644 --- a/code/modules/mob/living/silicon/robot/sprites/combat.dm +++ b/code/modules/mob/living/silicon/robot/sprites/combat.dm @@ -93,7 +93,7 @@ var/has_shield_sprite = FALSE /datum/robot_sprite/dogborg/tall/combat/handle_extra_icon_updates(var/mob/living/silicon/robot/ourborg) - if(has_gun_sprite && (istype(ourborg.module_active, /obj/item/weapon/gun/energy/laser/mounted) || istype(ourborg.module_active, /obj/item/weapon/gun/energy/taser/mounted/cyborg/ertgun) || istype(ourborg.module_active, /obj/item/weapon/gun/energy/lasercannon/mounted))) + if(has_gun_sprite && (istype(ourborg.module_active, /obj/item/gun/energy/laser/mounted) || istype(ourborg.module_active, /obj/item/gun/energy/taser/mounted/cyborg/ertgun) || istype(ourborg.module_active, /obj/item/gun/energy/lasercannon/mounted))) ourborg.add_overlay("[sprite_icon_state]-gun") if(has_speed_sprite && (istype(ourborg.module_active, /obj/item/borg/combat/mobility))) ourborg.icon_state = "[sprite_icon_state]-roll" @@ -104,17 +104,17 @@ ourborg.add_overlay("[sprite_icon_state]-shield") -/datum/robot_sprite/dogborg/tall/combat/do_equipment_glamour(var/obj/item/weapon/robot_module/module) +/datum/robot_sprite/dogborg/tall/combat/do_equipment_glamour(var/obj/item/robot_module/module) if(!has_custom_equipment_sprites) return ..() - var/obj/item/weapon/melee/combat_borgblade/CBB = locate() in module.modules + var/obj/item/melee/combat_borgblade/CBB = locate() in module.modules if(CBB) CBB.name = "sword tail" CBB.desc = "A glowing dagger normally attached to the end of a cyborg's tail. It appears to be extremely sharp." - var/obj/item/weapon/melee/borg_combat_shocker/BCS = locate() in module.modules + var/obj/item/melee/borg_combat_shocker/BCS = locate() in module.modules if(BCS) BCS.name = "combat jaws" BCS.desc = "Shockingly chompy!" diff --git a/code/modules/mob/living/silicon/robot/sprites/event.dm b/code/modules/mob/living/silicon/robot/sprites/event.dm index 681e0f2fcfb..8a7165a3f30 100644 --- a/code/modules/mob/living/silicon/robot/sprites/event.dm +++ b/code/modules/mob/living/silicon/robot/sprites/event.dm @@ -28,13 +28,13 @@ module_type = "Lost" sprite_icon = 'icons/mob/robot/lost_wide.dmi' -/datum/robot_sprite/dogborg/lost/do_equipment_glamour(var/obj/item/weapon/robot_module/module) +/datum/robot_sprite/dogborg/lost/do_equipment_glamour(var/obj/item/robot_module/module) if(!has_custom_equipment_sprites) return ..() - var/obj/item/weapon/shockpaddles/robot/SP = locate() in module.modules + var/obj/item/shockpaddles/robot/SP = locate() in module.modules if(SP) SP.name = "paws of life" SP.desc = "Zappy paws. For fixing cardiac arrest." @@ -58,7 +58,7 @@ var/has_laser_sprite = FALSE /datum/robot_sprite/dogborg/tall/lost/handle_extra_icon_updates(var/mob/living/silicon/robot/ourborg) - if(has_laser_sprite && istype(ourborg.module_active, /obj/item/weapon/gun/energy/retro/mounted)) + if(has_laser_sprite && istype(ourborg.module_active, /obj/item/gun/energy/retro/mounted)) ourborg.add_overlay("[sprite_icon_state]-laser") if(has_shield_sprite) if(ourborg.has_active_type(/obj/item/borg/combat/shield)) @@ -113,7 +113,7 @@ var/has_laser_sprite = FALSE /datum/robot_sprite/dogborg/tall/gravekeeper/handle_extra_icon_updates(var/mob/living/silicon/robot/ourborg) - if(has_laser_sprite && istype(ourborg.module_active, /obj/item/weapon/gun/energy/retro/mounted)) + if(has_laser_sprite && istype(ourborg.module_active, /obj/item/gun/energy/retro/mounted)) ourborg.add_overlay("[sprite_icon_state]-laser") if(has_shield_sprite) if(ourborg.has_active_type(/obj/item/borg/combat/shield)) diff --git a/code/modules/mob/living/silicon/robot/sprites/fluff.dm b/code/modules/mob/living/silicon/robot/sprites/fluff.dm index becbde2deb0..a420ae2f02a 100644 --- a/code/modules/mob/living/silicon/robot/sprites/fluff.dm +++ b/code/modules/mob/living/silicon/robot/sprites/fluff.dm @@ -85,9 +85,9 @@ whitelist_charname = "B.A.U-Kingside" /datum/robot_sprite/fluff/jademanique/handle_extra_icon_updates(var/mob/living/silicon/robot/ourborg) - if(istype(ourborg.module_active, /obj/item/weapon/gun/energy/laser/mounted)) + if(istype(ourborg.module_active, /obj/item/gun/energy/laser/mounted)) ourborg.add_overlay("[sprite_icon_state]-laser") - if(istype(ourborg.module_active, /obj/item/weapon/gun/energy/taser/mounted/cyborg)) + if(istype(ourborg.module_active, /obj/item/gun/energy/taser/mounted/cyborg)) ourborg.add_overlay("[sprite_icon_state]-taser") // L diff --git a/code/modules/mob/living/silicon/robot/sprites/janitor.dm b/code/modules/mob/living/silicon/robot/sprites/janitor.dm index 70580a9ffa0..e634df2d295 100644 --- a/code/modules/mob/living/silicon/robot/sprites/janitor.dm +++ b/code/modules/mob/living/silicon/robot/sprites/janitor.dm @@ -197,4 +197,4 @@ has_eye_light_sprites = TRUE has_custom_open_sprites = TRUE has_vore_belly_sprites = FALSE - rest_sprite_options = list("Default", "Bellyup") \ No newline at end of file + rest_sprite_options = list("Default", "Bellyup") diff --git a/code/modules/mob/living/silicon/robot/sprites/medical.dm b/code/modules/mob/living/silicon/robot/sprites/medical.dm index 3030d828f8a..1a058aada4c 100644 --- a/code/modules/mob/living/silicon/robot/sprites/medical.dm +++ b/code/modules/mob/living/silicon/robot/sprites/medical.dm @@ -197,13 +197,13 @@ else return ..() */ -/datum/robot_sprite/dogborg/surgical/do_equipment_glamour(var/obj/item/weapon/robot_module/module) +/datum/robot_sprite/dogborg/surgical/do_equipment_glamour(var/obj/item/robot_module/module) if(!has_custom_equipment_sprites) return ..() - var/obj/item/weapon/shockpaddles/robot/SP = locate() in module.modules + var/obj/item/shockpaddles/robot/SP = locate() in module.modules if(SP) SP.name = "paws of life" SP.desc = "Zappy paws. For fixing cardiac arrest." @@ -236,13 +236,13 @@ module_type = "Surgeon" sprite_icon = 'icons/mob/robot/surgical_large.dmi' -/datum/robot_sprite/dogborg/tall/surgical/do_equipment_glamour(var/obj/item/weapon/robot_module/module) +/datum/robot_sprite/dogborg/tall/surgical/do_equipment_glamour(var/obj/item/robot_module/module) if(!has_custom_equipment_sprites) return ..() - var/obj/item/weapon/shockpaddles/robot/SP = locate() in module.modules + var/obj/item/shockpaddles/robot/SP = locate() in module.modules if(SP) SP.name = "paws of life" SP.desc = "Zappy paws. For fixing cardiac arrest." @@ -321,13 +321,13 @@ else return ..() */ -/datum/robot_sprite/dogborg/crisis/do_equipment_glamour(var/obj/item/weapon/robot_module/module) +/datum/robot_sprite/dogborg/crisis/do_equipment_glamour(var/obj/item/robot_module/module) if(!has_custom_equipment_sprites) return ..() - var/obj/item/weapon/shockpaddles/robot/SP = locate() in module.modules + var/obj/item/shockpaddles/robot/SP = locate() in module.modules if(SP) SP.name = "paws of life" SP.desc = "Zappy paws. For fixing cardiac arrest." @@ -374,13 +374,13 @@ module_type = "Crisis" sprite_icon = 'icons/mob/robot/crisis_large.dmi' -/datum/robot_sprite/dogborg/tall/crisis/do_equipment_glamour(var/obj/item/weapon/robot_module/module) +/datum/robot_sprite/dogborg/tall/crisis/do_equipment_glamour(var/obj/item/robot_module/module) if(!has_custom_equipment_sprites) return ..() - var/obj/item/weapon/shockpaddles/robot/SP = locate() in module.modules + var/obj/item/shockpaddles/robot/SP = locate() in module.modules if(SP) SP.name = "paws of life" SP.desc = "Zappy paws. For fixing cardiac arrest." diff --git a/code/modules/mob/living/silicon/robot/sprites/science.dm b/code/modules/mob/living/silicon/robot/sprites/science.dm index 7232bd97262..c03f8da7f74 100644 --- a/code/modules/mob/living/silicon/robot/sprites/science.dm +++ b/code/modules/mob/living/silicon/robot/sprites/science.dm @@ -98,13 +98,13 @@ module_type = "Research" sprite_icon = 'icons/mob/robot/science_wide.dmi' -/datum/robot_sprite/dogborg/science/do_equipment_glamour(var/obj/item/weapon/robot_module/module) +/datum/robot_sprite/dogborg/science/do_equipment_glamour(var/obj/item/robot_module/module) if(!has_custom_equipment_sprites) return ..() - var/obj/item/weapon/shockpaddles/robot/jumper/J = locate() in module.modules + var/obj/item/shockpaddles/robot/jumper/J = locate() in module.modules if(J) J.name = "jumper paws" J.desc = "Zappy paws. For rebooting a full body prostetic." @@ -151,16 +151,16 @@ var/has_taser_sprite = FALSE /datum/robot_sprite/dogborg/tall/science/handle_extra_icon_updates(var/mob/living/silicon/robot/ourborg) - if(has_taser_sprite && istype(ourborg.module_active, /obj/item/weapon/gun/energy/taser/xeno/robot)) + if(has_taser_sprite && istype(ourborg.module_active, /obj/item/gun/energy/taser/xeno/robot)) ourborg.add_overlay("[sprite_icon_state]-taser") -/datum/robot_sprite/dogborg/tall/science/do_equipment_glamour(var/obj/item/weapon/robot_module/module) +/datum/robot_sprite/dogborg/tall/science/do_equipment_glamour(var/obj/item/robot_module/module) if(!has_custom_equipment_sprites) return ..() - var/obj/item/weapon/shockpaddles/robot/jumper/J = locate() in module.modules + var/obj/item/shockpaddles/robot/jumper/J = locate() in module.modules if(J) J.name = "jumper paws" J.desc = "Zappy paws. For rebooting a full body prostetic." diff --git a/code/modules/mob/living/silicon/robot/sprites/security.dm b/code/modules/mob/living/silicon/robot/sprites/security.dm index c42ea7279ed..677b27d5389 100644 --- a/code/modules/mob/living/silicon/robot/sprites/security.dm +++ b/code/modules/mob/living/silicon/robot/sprites/security.dm @@ -125,9 +125,9 @@ var/has_taser_sprite = FALSE /datum/robot_sprite/dogborg/security/handle_extra_icon_updates(var/mob/living/silicon/robot/ourborg) - if(has_laser_sprite && istype(ourborg.module_active, /obj/item/weapon/gun/energy/laser/mounted)) + if(has_laser_sprite && istype(ourborg.module_active, /obj/item/gun/energy/laser/mounted)) ourborg.add_overlay("[sprite_icon_state]-laser") - if(has_taser_sprite && istype(ourborg.module_active, /obj/item/weapon/gun/energy/taser/mounted/cyborg)) + if(has_taser_sprite && istype(ourborg.module_active, /obj/item/gun/energy/taser/mounted/cyborg)) ourborg.add_overlay("[sprite_icon_state]-taser") /datum/robot_sprite/dogborg/security/k9 @@ -186,9 +186,9 @@ var/has_taser_sprite = FALSE /datum/robot_sprite/dogborg/tall/security/handle_extra_icon_updates(var/mob/living/silicon/robot/ourborg) - if(has_laser_sprite && istype(ourborg.module_active, /obj/item/weapon/gun/energy/laser/mounted)) + if(has_laser_sprite && istype(ourborg.module_active, /obj/item/gun/energy/laser/mounted)) ourborg.add_overlay("[sprite_icon_state]-laser") - if(has_taser_sprite && istype(ourborg.module_active, /obj/item/weapon/gun/energy/taser/mounted/cyborg)) + if(has_taser_sprite && istype(ourborg.module_active, /obj/item/gun/energy/taser/mounted/cyborg)) ourborg.add_overlay("[sprite_icon_state]-taser") /datum/robot_sprite/dogborg/tall/security/raptor diff --git a/code/modules/mob/living/silicon/robot/sprites/syndicate.dm b/code/modules/mob/living/silicon/robot/sprites/syndicate.dm index 2bc63bbe066..4bc2fe54ea3 100644 --- a/code/modules/mob/living/silicon/robot/sprites/syndicate.dm +++ b/code/modules/mob/living/silicon/robot/sprites/syndicate.dm @@ -117,7 +117,7 @@ var/has_gun_sprite = FALSE /datum/robot_sprite/dogborg/tall/protector/handle_extra_icon_updates(var/mob/living/silicon/robot/ourborg) - if(has_gun_sprite && istype (ourborg.module_active, /obj/item/weapon/gun/energy/dakkalaser)) + if(has_gun_sprite && istype (ourborg.module_active, /obj/item/gun/energy/dakkalaser)) ourborg.add_overlay("[sprite_icon_state]-gun") /datum/robot_sprite/dogborg/tall/protector/syndiprotraptor @@ -190,13 +190,13 @@ sprite_icon = 'icons/mob/robot/combat_medic_wide.dmi' sprite_hud_icon_state = "malf" -/datum/robot_sprite/dogborg/combat_medic/do_equipment_glamour(var/obj/item/weapon/robot_module/module) +/datum/robot_sprite/dogborg/combat_medic/do_equipment_glamour(var/obj/item/robot_module/module) if(!has_custom_equipment_sprites) return ..() - var/obj/item/weapon/shockpaddles/robot/SP = locate() in module.modules + var/obj/item/shockpaddles/robot/SP = locate() in module.modules if(SP) SP.name = "paws of life" SP.desc = "Zappy paws. For fixing cardiac arrest." diff --git a/code/modules/mob/living/silicon/robot/subtypes/gravekeeper.dm b/code/modules/mob/living/silicon/robot/subtypes/gravekeeper.dm index 0253ce89163..ccf1908c166 100644 --- a/code/modules/mob/living/silicon/robot/subtypes/gravekeeper.dm +++ b/code/modules/mob/living/silicon/robot/subtypes/gravekeeper.dm @@ -5,23 +5,24 @@ modtype = "Gravekeeper" lawchannel = "State" braintype = "Drone" - idcard_type = /obj/item/weapon/card/id/lost + idcard_type = /obj/item/card/id/lost icon_selected = FALSE can_be_antagged = FALSE restrict_modules_to = list("Gravekeeper") + ui_theme = "malfunction" /mob/living/silicon/robot/gravekeeper/init() - aiCamera = new/obj/item/device/camera/siliconcam/robot_camera(src) + aiCamera = new/obj/item/camera/siliconcam/robot_camera(src) - mmi = new /obj/item/device/mmi/digital/robot(src) // Explicitly a drone. - module = new /obj/item/weapon/robot_module/robot/gravekeeper(src) + mmi = new /obj/item/mmi/digital/robot(src) // Explicitly a drone. + module = new /obj/item/robot_module/robot/gravekeeper(src) cut_overlays() init_id() updatename("Gravekeeper") if(!cell) - cell = new /obj/item/weapon/cell/high(src) // 15k cell, as recharging stations are a lot more rare on the Surface. + cell = new /obj/item/cell/high(src) // 15k cell, as recharging stations are a lot more rare on the Surface. laws = new /datum/ai_laws/gravekeeper() diff --git a/code/modules/mob/living/silicon/robot/subtypes/lost_drone.dm b/code/modules/mob/living/silicon/robot/subtypes/lost_drone.dm index e3b3cddc013..a2436461a53 100644 --- a/code/modules/mob/living/silicon/robot/subtypes/lost_drone.dm +++ b/code/modules/mob/living/silicon/robot/subtypes/lost_drone.dm @@ -5,23 +5,24 @@ modtype = "Lost" lawchannel = "State" braintype = "Drone" - idcard_type = /obj/item/weapon/card/id/lost + idcard_type = /obj/item/card/id/lost icon_selected = FALSE restrict_modules_to = list("Lost") var/law_retries = 5 + ui_theme = "malfunction" /mob/living/silicon/robot/lost/init() - aiCamera = new/obj/item/device/camera/siliconcam/robot_camera(src) + aiCamera = new/obj/item/camera/siliconcam/robot_camera(src) - mmi = new /obj/item/device/mmi/digital/robot(src) // Explicitly a drone. - module = new /obj/item/weapon/robot_module/robot/lost(src) + mmi = new /obj/item/mmi/digital/robot(src) // Explicitly a drone. + module = new /obj/item/robot_module/robot/lost(src) cut_overlays() init_id() updatename("Lost") if(!cell) - cell = new /obj/item/weapon/cell/high(src) // 15k cell, as recharging stations are a lot more rare on the Surface. + cell = new /obj/item/cell/high(src) // 15k cell, as recharging stations are a lot more rare on the Surface. scramble_hardware(20) @@ -70,7 +71,7 @@ var/confirm = tgui_alert(src, "Do you want to keep your laws or reroll? (For specific laws, feel free to ahelp and we'll see what we can do)", "Confirm laws", list("Keep", "Reroll ([law_retries])")) if(findtext(confirm, regex("Reroll \\(\[0-9\]*\\)", ""))) apply_new_laws() - to_chat(src, "Obey these laws:") + to_chat(src, span_infoplain(span_bold("Obey these laws:"))) laws.show_laws(src) law_retries -- else diff --git a/code/modules/mob/living/silicon/robot/subtypes/syndicate.dm b/code/modules/mob/living/silicon/robot/subtypes/syndicate.dm index 398c49775c5..15a8257a499 100644 --- a/code/modules/mob/living/silicon/robot/subtypes/syndicate.dm +++ b/code/modules/mob/living/silicon/robot/subtypes/syndicate.dm @@ -5,48 +5,49 @@ modtype = "Syndicate" lawchannel = "State" braintype = "Drone" - idcard_type = /obj/item/weapon/card/id/syndicate + idcard_type = /obj/item/card/id/syndicate icon_selected = FALSE restrict_modules_to = list("Protector", "Mechanist", "Combat Medic") + ui_theme = "syndicate" /mob/living/silicon/robot/syndicate/init() - aiCamera = new/obj/item/device/camera/siliconcam/robot_camera(src) + aiCamera = new/obj/item/camera/siliconcam/robot_camera(src) - mmi = new /obj/item/device/mmi/digital/robot(src) // Explicitly a drone. + mmi = new /obj/item/mmi/digital/robot(src) // Explicitly a drone. cut_overlays() init_id() updatename("Syndicate") if(!cell) - cell = new /obj/item/weapon/cell/robot_syndi(src) // 25k cell, because Antag. + cell = new /obj/item/cell/robot_syndi(src) // 25k cell, because Antag. - // new /obj/item/weapon/robot_module/robot/syndicate(src) + // new /obj/item/robot_module/robot/syndicate(src) laws = new /datum/ai_laws/syndicate_override() - radio.keyslot = new /obj/item/device/encryptionkey/syndicate(radio) + radio.keyslot = new /obj/item/encryptionkey/syndicate(radio) radio.recalculateChannels() playsound(src, 'sound/mecha/nominalsyndi.ogg', 75, 0) /mob/living/silicon/robot/syndicate/protector/init() ..() - module = new /obj/item/weapon/robot_module/robot/syndicate/protector(src) + module = new /obj/item/robot_module/robot/syndicate/protector(src) modtype = "Protector" restrict_modules_to = list("Protector") updatename("Protector") /mob/living/silicon/robot/syndicate/mechanist/init() ..() - module = new /obj/item/weapon/robot_module/robot/syndicate/mechanist(src) + module = new /obj/item/robot_module/robot/syndicate/mechanist(src) modtype = "Mechanist" restrict_modules_to = list("Mechanist") updatename("Mechanist") /mob/living/silicon/robot/syndicate/combat_medic/init() ..() - module = new /obj/item/weapon/robot_module/robot/syndicate/combat_medic(src) + module = new /obj/item/robot_module/robot/syndicate/combat_medic(src) modtype = "Combat Medic" restrict_modules_to = list("Combat Medic") updatename("Combat Medic") diff --git a/code/modules/mob/living/silicon/robot/subtypes/thinktank/_thinktank.dm b/code/modules/mob/living/silicon/robot/subtypes/thinktank/_thinktank.dm index cf0a9c778f7..ed003d1c784 100644 --- a/code/modules/mob/living/silicon/robot/subtypes/thinktank/_thinktank.dm +++ b/code/modules/mob/living/silicon/robot/subtypes/thinktank/_thinktank.dm @@ -20,9 +20,9 @@ icon_state = "tachi" color = "#68a2f2" - cell = /obj/item/weapon/cell/mech - idcard_type = /obj/item/weapon/card/id/platform - module = /obj/item/weapon/robot_module/robot/platform + cell = /obj/item/cell/mech + idcard_type = /obj/item/card/id/platform + module = /obj/item/robot_module/robot/platform lawupdate = FALSE modtype = "Standard" @@ -67,7 +67,7 @@ /mob/living/silicon/robot/platform/Initialize(var/mapload) . = ..() if(!mmi) - mmi = new /obj/item/device/mmi/digital/robot(src) + mmi = new /obj/item/mmi/digital/robot(src) SetName("inactive [initial(name)]") update_icon() @@ -99,7 +99,7 @@ if(distance <= 3) if(recharging) - var/obj/item/weapon/cell/recharging_atom = recharging.resolve() + var/obj/item/cell/recharging_atom = recharging.resolve() if(istype(recharging_atom) && !QDELETED(recharging_atom)) . += "It has \a [recharging_atom] slotted into its recharging port." . += "The cell readout shows [round(recharging_atom.percent(),1)]% charge." @@ -124,7 +124,7 @@ /mob/living/silicon/robot/platform/init() . = ..() - if(ispath(module, /obj/item/weapon/robot_module)) + if(ispath(module, /obj/item/robot_module)) module = new module(src) /mob/living/silicon/robot/platform/module_reset() @@ -141,9 +141,9 @@ if(new_recharge_state != last_recharge_state) last_recharge_state = new_recharge_state if(last_recharge_state) - to_chat(src, SPAN_NOTICE("Your integrated solar panels begin recharging your battery.")) + to_chat(src, span_boldnotice("Your integrated solar panels begin recharging your battery.")) else - to_chat(src, SPAN_DANGER("Your integrated solar panels cease recharging your battery.")) + to_chat(src, span_danger("Your integrated solar panels cease recharging your battery.")) if(last_recharge_state) var/charge_amt = recharger_charge_amount * CELLRATE @@ -153,7 +153,7 @@ if(recharging) - var/obj/item/weapon/cell/recharging_atom = recharging.resolve() + var/obj/item/cell/recharging_atom = recharging.resolve() if(!istype(recharging_atom) || QDELETED(recharging_atom) || recharging_atom.loc != src) recharging = null return @@ -166,4 +166,4 @@ if(!recharge_complete && recharging_atom.percent() >= 100) recharge_complete = TRUE - visible_message("\The [src] beeps and flashes a green light above \his recharging port.") + visible_message(span_infoplain("[span_bold("\The [src]")] beeps and flashes a green light above \his recharging port.")) diff --git a/code/modules/mob/living/silicon/robot/subtypes/thinktank/thinktank_icon.dm b/code/modules/mob/living/silicon/robot/subtypes/thinktank/thinktank_icon.dm index a8056885df0..355adb42a89 100644 --- a/code/modules/mob/living/silicon/robot/subtypes/thinktank/thinktank_icon.dm +++ b/code/modules/mob/living/silicon/robot/subtypes/thinktank/thinktank_icon.dm @@ -5,7 +5,7 @@ cut_overlays() underlays.Cut() - var/obj/item/weapon/robot_module/robot/platform/tank_module = module + var/obj/item/robot_module/robot/platform/tank_module = module if(!istype(tank_module)) icon = initial(icon) icon_state = initial(icon_state) @@ -58,11 +58,11 @@ I.appearance_flags |= (RESET_COLOR|PIXEL_SCALE) add_overlay(I) -/mob/living/silicon/robot/platform/proc/try_paint(var/obj/item/device/floor_painter/painting, var/mob/user) +/mob/living/silicon/robot/platform/proc/try_paint(var/obj/item/floor_painter/painting, var/mob/user) - var/obj/item/weapon/robot_module/robot/platform/tank_module = module + var/obj/item/robot_module/robot/platform/tank_module = module if(!istype(tank_module)) - to_chat(user, SPAN_WARNING("\The [src] is not paintable.")) + to_chat(user, span_warning("\The [src] is not paintable.")) return FALSE var/list/options = list("Eyes", "Armour", "Body", "Clear Colors") diff --git a/code/modules/mob/living/silicon/robot/subtypes/thinktank/thinktank_interactions.dm b/code/modules/mob/living/silicon/robot/subtypes/thinktank/thinktank_interactions.dm index 87b23bf457a..3f00773e09d 100644 --- a/code/modules/mob/living/silicon/robot/subtypes/thinktank/thinktank_interactions.dm +++ b/code/modules/mob/living/silicon/robot/subtypes/thinktank/thinktank_interactions.dm @@ -6,7 +6,7 @@ if(istype(recharging_atom) && !QDELETED(recharging_atom) && recharging_atom.loc == src) recharging_atom.dropInto(loc) user.put_in_hands(recharging_atom) - user.visible_message("\The [user] pops \the [recharging_atom] out of \the [src]'s recharging port.") + user.visible_message(span_infoplain(span_bold("\The [user]") + " pops \the [recharging_atom] out of \the [src]'s recharging port.")) recharging = null return TRUE @@ -17,17 +17,17 @@ /mob/living/silicon/robot/platform/attackby(obj/item/W, mob/user) - if(istype(W, /obj/item/weapon/cell) && !opened) + if(istype(W, /obj/item/cell) && !opened) if(recharging) - to_chat(user, SPAN_WARNING("\The [src] already has \a [recharging.resolve()] inserted into its recharging port.")) + to_chat(user, span_warning("\The [src] already has \a [recharging.resolve()] inserted into its recharging port.")) else if(user.unEquip(W)) W.forceMove(src) recharging = WEAKREF(W) recharge_complete = FALSE - user.visible_message("\The [user] slots \the [W] into \the [src]'s recharging port.") + user.visible_message(span_infoplain(span_bold("\The [user]") + " slots \the [W] into \the [src]'s recharging port.")) return TRUE - if(istype(W, /obj/item/device/floor_painter)) + if(istype(W, /obj/item/floor_painter)) return FALSE // Paint sprayer wil call try_paint() in afterattack() . = ..() @@ -42,7 +42,7 @@ return ..() if(jobban_isbanned(user, "Robot")) - to_chat(user, SPAN_WARNING("You are banned from synthetic roles and cannot take control of \the [src].")) + to_chat(user, span_warning("You are banned from synthetic roles and cannot take control of \the [src].")) return // Boilerplate from drone fabs, unsure if there's a shared proc to use instead. @@ -70,7 +70,7 @@ /mob/living/silicon/robot/platform/proc/welcome_client() if(client) - to_chat(src, SPAN_NOTICE("You are a think-tank, a kind of flexible and adaptive drone intelligence installed into an armoured platform. Your programming compels you to be friendly and helpful wherever possible.")) + to_chat(src, span_notice(span_bold("You are a think-tank") + ", a kind of flexible and adaptive drone intelligence installed into an armoured platform. Your programming compels you to be friendly and helpful wherever possible.")) SetSleeping(0) SetWeakened(0) SetParalysis(0) diff --git a/code/modules/mob/living/silicon/robot/subtypes/thinktank/thinktank_module.dm b/code/modules/mob/living/silicon/robot/subtypes/thinktank/thinktank_module.dm index 55dbb0e79dc..ebe112a4e8d 100644 --- a/code/modules/mob/living/silicon/robot/subtypes/thinktank/thinktank_module.dm +++ b/code/modules/mob/living/silicon/robot/subtypes/thinktank/thinktank_module.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/robot_module/robot/platform +/obj/item/robot_module/robot/platform hide_on_manifest = TRUE @@ -16,16 +16,16 @@ ) // Only show on manifest if they have a player. -/obj/item/weapon/robot_module/robot/platform/hide_on_manifest() +/obj/item/robot_module/robot/platform/hide_on_manifest() if(isrobot(loc)) var/mob/living/silicon/robot/R = loc return !R.key return ..() -/obj/item/weapon/robot_module/robot/platform/verb/set_eye_colour() +/obj/item/robot_module/robot/platform/verb/set_eye_colour() set name = "Set Eye Colour" set desc = "Select an eye colour to use." - set category = "Robot Commands" + set category = "Abilities.Silicon" set src in usr var/new_pupil_color = input(usr, "Select a pupil colour.", "Pupil Colour Selection") as color|null @@ -35,7 +35,7 @@ pupil_color = new_pupil_color || initial(pupil_color) usr.update_icon() -/obj/item/weapon/robot_module/robot/platform/explorer +/obj/item/robot_module/robot/platform/explorer armor_color = "#528052" eye_color = "#7b7b46" decals = list( @@ -43,18 +43,18 @@ "stripe" = "#52b8b8" ) channels = list( - "Science" = 1, - "Away Team" = 1 + CHANNEL_SCIENCE = 1, + CHANNEL_EXPLORATION = 1 ) -/obj/item/weapon/robot_module/robot/platform/explorer/create_equipment(var/mob/living/silicon/robot/robot) +/obj/item/robot_module/robot/platform/explorer/create_equipment(var/mob/living/silicon/robot/robot) ..() - modules += new /obj/item/weapon/tool/wrench/cyborg(src) - modules += new /obj/item/weapon/weldingtool/electric/mounted/cyborg(src) - modules += new /obj/item/weapon/tool/wirecutters/cyborg(src) - modules += new /obj/item/weapon/tool/screwdriver/cyborg(src) - modules += new /obj/item/weapon/pickaxe/plasmacutter(src) - modules += new /obj/item/weapon/material/knife/machete/cyborg(src) + modules += new /obj/item/tool/wrench/cyborg(src) + modules += new /obj/item/weldingtool/electric/mounted/cyborg(src) + modules += new /obj/item/tool/wirecutters/cyborg(src) + modules += new /obj/item/tool/screwdriver/cyborg(src) + modules += new /obj/item/pickaxe/plasmacutter(src) + modules += new /obj/item/material/knife/machete/cyborg(src) var/datum/matter_synth/medicine = new /datum/matter_synth/medicine(7500) var/obj/item/stack/medical/bruise_pack/bandaid = new(src) @@ -64,39 +64,39 @@ modules += bandaid synths += medicine - var/obj/item/weapon/gun/energy/phasegun/mounted/cyborg/phasegun = new(src) + var/obj/item/gun/energy/phasegun/mounted/cyborg/phasegun = new(src) modules += phasegun - emag += new /obj/item/weapon/chainsaw(src) + emag += new /obj/item/chainsaw(src) -/obj/item/weapon/robot_module/robot/platform/explorer/respawn_consumable(var/mob/living/silicon/robot/R, rate) +/obj/item/robot_module/robot/platform/explorer/respawn_consumable(var/mob/living/silicon/robot/R, rate) . = ..() - for(var/obj/item/weapon/gun/energy/pew in modules) + for(var/obj/item/gun/energy/pew in modules) if(pew.power_supply && pew.power_supply.charge < pew.power_supply.maxcharge) pew.power_supply.give(pew.charge_cost * rate) pew.update_icon() else pew.charge_tick = 0 -/obj/item/weapon/robot_module/robot/platform/cargo +/obj/item/robot_module/robot/platform/cargo armor_color = "#d5b222" eye_color = "#686846" decals = list( "stripe_vertical" = "#bfbfa1", "stripe" = "#bfbfa1" ) - channels = list("Supply" = 1) + channels = list(CHANNEL_SUPPLY = 1) networks = list(NETWORK_MINE) -/obj/item/weapon/robot_module/robot/platform/cargo/create_equipment(var/mob/living/silicon/robot/robot) +/obj/item/robot_module/robot/platform/cargo/create_equipment(var/mob/living/silicon/robot/robot) ..() - modules += new /obj/item/weapon/packageWrap(src) - modules += new /obj/item/weapon/pen/multi(src) - modules += new /obj/item/device/destTagger(src) - emag += new /obj/item/weapon/stamp/denied + modules += new /obj/item/packageWrap(src) + modules += new /obj/item/pen/multi(src) + modules += new /obj/item/destTagger(src) + emag += new /obj/item/stamp/denied -/obj/item/weapon/robot_module/robot/platform/cargo/respawn_consumable(mob/living/silicon/robot/R, rate) +/obj/item/robot_module/robot/platform/cargo/respawn_consumable(mob/living/silicon/robot/R, rate) . = ..() - var/obj/item/weapon/packageWrap/wrapper = locate() in modules + var/obj/item/packageWrap/wrapper = locate() in modules if(wrapper.amount < initial(wrapper.amount)) wrapper.amount++ diff --git a/code/modules/mob/living/silicon/robot/subtypes/thinktank/thinktank_storage.dm b/code/modules/mob/living/silicon/robot/subtypes/thinktank/thinktank_storage.dm index 27af8c15904..563fedaf73f 100644 --- a/code/modules/mob/living/silicon/robot/subtypes/thinktank/thinktank_storage.dm +++ b/code/modules/mob/living/silicon/robot/subtypes/thinktank/thinktank_storage.dm @@ -23,31 +23,31 @@ if(!istype(storing)) var/storing_target = (user == src) ? "yourself" : "\the [src]" - to_chat(user, SPAN_WARNING("You cannot store that inside [storing_target].")) + to_chat(user, span_warning("You cannot store that inside [storing_target].")) return FALSE if(!isturf(storing.loc)) return FALSE if(storing.anchored || !storing.simulated) - to_chat(user, SPAN_WARNING("\The [storing] won't budge!")) + to_chat(user, span_warning("\The [storing] won't budge!")) return FALSE if(storing == src) var/storing_target = (user == src) ? "yourself" : "\the [src]" - to_chat(user, SPAN_WARNING("You cannot store [storing_target] inside [storing_target]!")) + to_chat(user, span_warning("You cannot store [storing_target] inside [storing_target]!")) return FALSE if(length(stored_atoms) >= max_stored_atoms) var/storing_target = (user == src) ? "Your" : "\The [src]'s" - to_chat(user, SPAN_WARNING("[storing_target] cargo compartment is full.")) + to_chat(user, span_warning("[storing_target] cargo compartment is full.")) return FALSE if(ismob(storing)) var/mob/M = storing if(M.mob_size >= mob_size) var/storing_target = (user == src) ? "your storage compartment" : "\the [src]" - to_chat(user, SPAN_WARNING("\The [storing] is too big for [storing_target].")) + to_chat(user, span_warning("\The [storing] is too big for [storing_target].")) return FALSE for(var/store_type in can_store_types) @@ -62,7 +62,7 @@ break if(!.) var/storing_target = (user == src) ? "yourself" : "\the [src]" - to_chat(user, SPAN_WARNING("You cannot store \the [storing] inside [storing_target].")) + to_chat(user, span_warning("You cannot store \the [storing] inside [storing_target].")) /mob/living/silicon/robot/platform/proc/store_atom(var/atom/movable/storing, var/mob/user) if(istype(storing)) @@ -82,9 +82,9 @@ if(istype(ejecting) && !QDELETED(ejecting) && ejecting.loc == src) ejecting.dropInto(loc) if(user == src) - visible_message("\The [src] ejects \the [ejecting] from its cargo compartment.") + visible_message(span_infoplain(span_bold("\The [src]") + " ejects \the [ejecting] from its cargo compartment.")) else - user.visible_message("\The [user] pulls \the [ejecting] from \the [src]'s cargo compartment.") + user.visible_message(span_infoplain(span_bold("\The [user]") + " pulls \the [ejecting] from \the [src]'s cargo compartment.")) /mob/living/silicon/robot/platform/attack_ai(mob/user) if(isrobot(user) && user.Adjacent(src)) @@ -99,24 +99,24 @@ if(!istype(removing) || QDELETED(removing) || removing.loc != src) LAZYREMOVE(stored_atoms, remove_ref) else - user.visible_message("\The [user] begins unloading \the [removing] from \the [src]'s cargo compartment.") + user.visible_message(span_infoplain(span_bold("\The [user]") + " begins unloading \the [removing] from \the [src]'s cargo compartment.")) if(do_after(user, 3 SECONDS, src) && !QDELETED(removing) && removing.loc == src) drop_stored_atom(removing, user) return TRUE /mob/living/silicon/robot/platform/verb/drop_stored_atom_verb() set name = "Eject Cargo" - set category = "Robot Commands" + set category = "Abilities.Silicon" set desc = "Drop something from your internal storage." if(incapacitated()) - to_chat(src, SPAN_WARNING("You are not in any state to do that.")) + to_chat(src, span_warning("You are not in any state to do that.")) return if(length(stored_atoms)) drop_stored_atom(user = src) else - to_chat(src, SPAN_WARNING("You have nothing in your cargo compartment.")) + to_chat(src, span_warning("You have nothing in your cargo compartment.")) /mob/living/silicon/robot/platform/MouseDrop_T(atom/movable/dropping, mob/living/user) if(!istype(user) || !istype(dropping) || user.incapacitated()) @@ -124,9 +124,9 @@ if(!can_mouse_drop(dropping, user) || !can_store_atom(dropping, user)) return FALSE if(user == src) - visible_message("\The [src] begins loading \the [dropping] into its cargo compartment.") + visible_message(span_infoplain(span_bold("\The [src]") + " begins loading \the [dropping] into its cargo compartment.")) else - user.visible_message("\The [user] begins loading \the [dropping] into \the [src]'s cargo compartment.") + user.visible_message(span_infoplain(span_bold("\The [user]") + " begins loading \the [dropping] into \the [src]'s cargo compartment.")) if(do_after(user, 3 SECONDS, src) && can_mouse_drop(dropping, user) && can_store_atom(dropping, user)) store_atom(dropping, user) return FALSE diff --git a/code/modules/mob/living/silicon/robot/subtypes/thinktank/thinktank_subtypes.dm b/code/modules/mob/living/silicon/robot/subtypes/thinktank/thinktank_subtypes.dm index b3e48aabb4d..73313823264 100644 --- a/code/modules/mob/living/silicon/robot/subtypes/thinktank/thinktank_subtypes.dm +++ b/code/modules/mob/living/silicon/robot/subtypes/thinktank/thinktank_subtypes.dm @@ -2,7 +2,7 @@ name = "recon platform" desc = "A large quadrupedal AI platform, colloquially known as a 'think-tank' due to the flexible onboard intelligence. This one is lightly armoured and fitted with all-terrain wheels." modtype = "Recon" - module = /obj/item/weapon/robot_module/robot/platform/explorer + module = /obj/item/robot_module/robot/platform/explorer /mob/living/silicon/robot/platform/explorer/Initialize() . = ..() @@ -11,7 +11,7 @@ /mob/living/silicon/robot/platform/explorer/welcome_client() ..() if(client) // ganbatte tachikoma-san - to_chat(src, SPAN_NOTICE("You are tasked with supporting the Exploration and Science staff as they unearth the secrets of the planet. Do your best!")) + to_chat(src, span_notice("You are tasked with supporting the Exploration and Science staff as they unearth the secrets of the planet. Do your best!")) /obj/effect/landmark/robot_platform/explorer platform_type = /mob/living/silicon/robot/platform/explorer @@ -20,13 +20,13 @@ name = "logistics platform" desc = "A large quadrupedal AI platform, colloquially known as a 'think-tank' due to the flexible onboard intelligence. This one has an expanded storage compartment." modtype = "Logistics" - module = /obj/item/weapon/robot_module/robot/platform/cargo + module = /obj/item/robot_module/robot/platform/cargo max_stored_atoms = 3 /mob/living/silicon/robot/platform/cargo/welcome_client() ..() if(client) - to_chat(src, SPAN_NOTICE("You are tasked with supporting the Cargo and Supply staff as they handle operational logistics. Do your best!")) + to_chat(src, span_notice("You are tasked with supporting the Cargo and Supply staff as they handle operational logistics. Do your best!")) /obj/effect/landmark/robot_platform/cargo platform_type = /mob/living/silicon/robot/platform/cargo diff --git a/code/modules/mob/living/silicon/say.dm b/code/modules/mob/living/silicon/say.dm index b4e31f76229..f5558875540 100644 --- a/code/modules/mob/living/silicon/say.dm +++ b/code/modules/mob/living/silicon/say.dm @@ -2,7 +2,7 @@ ..() if(message_mode) if(!is_component_functioning("radio")) - to_chat(src, "Your radio isn't functional at this time.") + to_chat(src, span_warning("Your radio isn't functional at this time.")) return 0 if(message_mode == "general") message_mode = null @@ -17,7 +17,7 @@ return holopad_talk(message, verb, speaking) else if(message_mode) if (aiRadio.disabledAi || aiRestorePowerRoutine || stat) - to_chat(src, "System Error - Transceiver Disabled.") + to_chat(src, span_danger("System Error - Transceiver Disabled.")) return 0 if(message_mode == "general") message_mode = null @@ -73,9 +73,9 @@ /*Radios "filter out" this conversation channel so we don't need to account for them. This is another way of saying that we won't bother dealing with them.*/ var/list/combined = combine_message(message_pieces, verb, src) - to_chat(src, "Holopad transmitted, [real_name] [combined["formatted"]]") + to_chat(src, span_game(span_say(span_italics("Holopad transmitted, [span_name(real_name)] [combined["formatted"]]")))) else - to_chat(src, "No holopad connected.") + to_chat(src, span_filter_notice("No holopad connected.")) return 0 return 1 @@ -87,8 +87,8 @@ var/obj/machinery/hologram/holopad/T = src.holo if(T && T.masters[src]) - var/rendered = "[name] [message]" - to_chat(src, "Holopad action relayed, [real_name] [message]") + var/rendered = span_game(span_say(span_name(name) + " " + span_message(message))) + to_chat(src, span_game(span_say(span_italics("Holopad action relayed, [span_name(real_name)] [span_message(message)]")))) var/obj/effect/overlay/aiholo/hologram = T.masters[src] //VOREStation Add for people in the hologram to hear the messages //var/obj/effect/overlay/hologram = T.masters[src] //VOREStation edit. Done above. @@ -111,7 +111,7 @@ log_emote("(HPAD) [message]", src) else //This shouldn't occur, but better safe then sorry. - to_chat(src, "No holopad connected.") + to_chat(src, span_filter_notice("No holopad connected.")) return 0 return 1 diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index 95cd2805af3..3f917a15ce3 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -5,7 +5,7 @@ var/const/MAIN_CHANNEL = "Main Frequency" var/lawchannel = MAIN_CHANNEL // Default channel on which to state laws var/list/stating_laws = list()// Channels laws are currently being stated on - var/obj/item/device/radio/common_radio + var/obj/item/radio/common_radio has_huds = TRUE var/list/speech_synthesizer_langs = list() //which languages can be vocalized by the speech synthesizer @@ -15,15 +15,15 @@ var/speak_exclamation = "declares" var/speak_query = "queries" var/pose //Yes, now AIs can pose too. - var/obj/item/device/camera/siliconcam/aiCamera = null //photography + var/obj/item/camera/siliconcam/aiCamera = null //photography var/local_transmit //If set, can only speak to others of the same type within a short range. var/next_alarm_notice var/list/datum/alarm/queued_alarms = new() var/list/access_rights - var/obj/item/weapon/card/id/idcard - var/idcard_type = /obj/item/weapon/card/id/synthetic + var/obj/item/card/id/idcard + var/idcard_type = /obj/item/card/id/synthetic var/sensor_type = 0 //VOREStation add - silicon omni "is sensor on or nah" @@ -74,8 +74,8 @@ src.take_organ_damage(0,5,emp=1) Confuse(2) flash_eyes(affect_silicon = 1) - to_chat(src, "*BZZZT*") - to_chat(src, "Warning: Electromagnetic pulse detected.") + to_chat(src, span_bolddanger("*BZZZT*")) + to_chat(src, span_danger("Warning: Electromagnetic pulse detected.")) ..() /mob/living/silicon/stun_effect_act(var/stun_amount, var/agony_amount) @@ -89,9 +89,9 @@ shock_damage *= siemens_coeff //take reduced damage take_overall_damage(0, shock_damage) - visible_message("[src] was shocked by \the [source]!", \ - "Energy pulse detected, system damaged!", \ - "You hear an electrical crack.") + visible_message(span_warning("[src] was shocked by \the [source]!"), \ + span_danger("Energy pulse detected, system damaged!"), \ + span_warning("You hear an electrical crack.")) if(prob(20)) Stun(2) return @@ -130,37 +130,37 @@ // this function shows the health of the AI in the Status panel /mob/living/silicon/proc/show_system_integrity() if(!src.stat) - stat(null, text("System integrity: [round((health/getMaxHealth())*100)]%")) + . = "System integrity: [round((health/getMaxHealth())*100)]%" else - stat(null, text("Systems nonfunctional")) + . = "Systems nonfunctional" // This is a pure virtual function, it should be overwritten by all subclasses /mob/living/silicon/proc/show_malf_ai() - return 0 + return "" // this function displays the shuttles ETA in the status panel if the shuttle has been called /mob/living/silicon/proc/show_emergency_shuttle_eta() if(emergency_shuttle) var/eta_status = emergency_shuttle.get_status_panel_eta() if(eta_status) - stat(null, eta_status) + . = "[eta_status]" // This adds the basic clock, shuttle recall timer, and malf_ai info to all silicon lifeforms -/mob/living/silicon/Stat() - if(statpanel("Status")) - show_emergency_shuttle_eta() - show_system_integrity() - show_malf_ai() - ..() +/mob/living/silicon/get_status_tab_items() + . = ..() + . += "" + . += show_emergency_shuttle_eta() + . += show_system_integrity() + . += show_malf_ai() /* VOREStation Removal // this function displays the stations manifest in a separate window /mob/living/silicon/proc/show_station_manifest() var/dat = "
    " if(!data_core) - to_chat(src, "There is no data to form a manifest with. Contact your Nanotrasen administrator.") + to_chat(src, span_notice("There is no data to form a manifest with. Contact your Nanotrasen administrator.")) return dat += data_core.get_manifest(1) //The 1 makes it monochrome. @@ -172,7 +172,7 @@ //can't inject synths /mob/living/silicon/can_inject(var/mob/user, var/error_msg, var/target_zone, var/ignore_thickness = FALSE) if(error_msg) - to_chat(user, "The armoured plating is too tough.") + to_chat(user, span_warning("The armoured plating is too tough.")) return 0 @@ -221,7 +221,7 @@ default_str = " - set default" var/synth = (L in speech_synthesizer_langs) - . += "[L.name] ([get_language_prefix()][L.key])[synth ? default_str : null]
    Speech Synthesizer: [synth ? "YES" : "NOT SUPPORTED"]
    [L.desc]

    " + . += span_bold("[L.name] ([get_language_prefix()][L.key])") + "[synth ? default_str : null]
    Speech Synthesizer: [synth ? "YES" : "NOT SUPPORTED"]
    [L.desc]

    " /mob/living/silicon/proc/toggle_sensor_mode() //VOREStation Add to make borgs use omni starts here - Tank, clueless bird if(sensor_type) @@ -257,14 +257,14 @@ /mob/living/silicon/verb/pose() set name = "Set Pose" set desc = "Sets a description which will be shown when someone examines you." - set category = "IC" + set category = "IC.Settings" pose = strip_html_simple(tgui_input_text(usr, "This is [src]. It is...", "Pose", null)) /mob/living/silicon/verb/set_flavor() set name = "Set Flavour Text" set desc = "Sets an extended description of your character's features." - set category = "IC" + set category = "IC.Settings" var/new_flavortext = strip_html_simple(tgui_input_text(usr, "Please enter your new flavour text.", "Flavour text", flavor_text, multiline = TRUE)) if(new_flavortext) @@ -336,7 +336,7 @@ alarm_raised = 1 if(!reported) reported = 1 - to_chat(src, "--- [AH.category] Detected ---") + to_chat(src, span_warning("--- [AH.category] Detected ---")) raised_alarm(A) for(var/datum/alarm_handler/AH in queued_alarms) @@ -346,24 +346,24 @@ if(alarms[A] == -1) if(!reported) reported = 1 - to_chat(src, "--- [AH.category] Cleared ---") + to_chat(src, span_notice("--- [AH.category] Cleared ---")) to_chat(src, "\The [A.alarm_name()].") if(alarm_raised) - to_chat(src, "\[Show Alerts\]") + to_chat(src, span_filter_notice("\[Show Alerts\]")) for(var/datum/alarm_handler/AH in queued_alarms) var/list/alarms = queued_alarms[AH] alarms.Cut() /mob/living/silicon/proc/raised_alarm(var/datum/alarm/A) - to_chat(src, "[A.alarm_name()]!") + to_chat(src, span_filter_warning("[A.alarm_name()]!")) /mob/living/silicon/ai/raised_alarm(var/datum/alarm/A) var/cameratext = "" for(var/obj/machinery/camera/C in A.cameras()) cameratext += "[(cameratext == "")? "" : "|"][C.c_tag]" - to_chat(src, "[A.alarm_name()]! ([(cameratext)? cameratext : "No Camera"])") + to_chat(src, span_filter_warning("[A.alarm_name()]! ([(cameratext)? cameratext : "No Camera"])")) /mob/living/silicon/proc/is_traitor() diff --git a/code/modules/mob/living/silicon/subystems.dm b/code/modules/mob/living/silicon/subystems.dm index 6c46ecb2e88..e2d82f6fdfe 100644 --- a/code/modules/mob/living/silicon/subystems.dm +++ b/code/modules/mob/living/silicon/subystems.dm @@ -51,7 +51,7 @@ ********************/ /mob/living/silicon/proc/subsystem_alarm_monitor() set name = "Alarm Monitor" - set category = "Subystems" + set category = "Abilities.Silicon" alarm_monitor.tgui_interact(usr) @@ -59,7 +59,7 @@ * Atmos Control * ********************/ /mob/living/silicon/proc/subsystem_atmos_control() - set category = "Subystems" + set category = "Abilities.Silicon" set name = "Atmospherics Control" atmos_control.tgui_interact(usr) @@ -68,7 +68,7 @@ * Crew Manifest * ********************/ /mob/living/silicon/proc/subsystem_crew_manifest() - set category = "Subystems" + set category = "Abilities.Silicon" set name = "Crew Manifest" crew_manifest.tgui_interact(usr) @@ -77,7 +77,7 @@ * Crew Monitor * ********************/ /mob/living/silicon/proc/subsystem_crew_monitor() - set category = "Subystems" + set category = "Abilities.Silicon" set name = "Crew Monitor" crew_monitor.tgui_interact(usr) @@ -87,7 +87,7 @@ ****************/ /mob/living/silicon/proc/subsystem_law_manager() set name = "Law Manager" - set category = "Subystems" + set category = "Abilities.Silicon" law_manager.tgui_interact(usr) @@ -95,7 +95,7 @@ * Power Monitor * ********************/ /mob/living/silicon/proc/subsystem_power_monitor() - set category = "Subystems" + set category = "Abilities.Silicon" set name = "Power Monitor" power_monitor.tgui_interact(usr) @@ -104,7 +104,7 @@ * RCON * ************/ /mob/living/silicon/proc/subsystem_rcon() - set category = "Subystems" + set category = "Abilities.Silicon" set name = "RCON" rcon.tgui_interact(usr) diff --git a/code/modules/mob/living/simple_animal/animals/clockwork.dm b/code/modules/mob/living/simple_animal/animals/clockwork.dm index 92360104929..20febe44100 100644 --- a/code/modules/mob/living/simple_animal/animals/clockwork.dm +++ b/code/modules/mob/living/simple_animal/animals/clockwork.dm @@ -38,7 +38,7 @@ say_got_target = list("Purge!","Cleanse!","Burn!") meat_amount = 0 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + meat_type = /obj/item/reagent_containers/food/snacks/meat var/turns_since_scan = 0 var/mob/flee_target @@ -149,4 +149,4 @@ icon_living = "ignis" icon_dead = "fallen_armor" icon_rest = "ignis" - retaliate = 1 // In theory this will make Ignis fight back. Maybe. -RF \ No newline at end of file + retaliate = 1 // In theory this will make Ignis fight back. Maybe. -RF diff --git a/code/modules/mob/living/simple_mob/combat.dm b/code/modules/mob/living/simple_mob/combat.dm index 7c8ccfadc5c..727efefcd23 100644 --- a/code/modules/mob/living/simple_mob/combat.dm +++ b/code/modules/mob/living/simple_mob/combat.dm @@ -41,7 +41,7 @@ if(missed) // Most likely we have a slow attack and they dodged it or we somehow got moved. add_attack_logs(src, A, "Animal-attacked (dodged)", admin_notify = FALSE) playsound(src, 'sound/weapons/punchmiss.ogg', 75, 1) - visible_message(span("warning", "\The [src] misses their attack.")) + visible_message(span_warning("\The [src] misses their attack.")) return FALSE var/damage_to_do = rand(melee_damage_lower, melee_damage_upper) @@ -113,7 +113,7 @@ try_reload() return FALSE - visible_message("\The [src] fires at \the [A]!") + visible_message(span_danger(span_bold("\The [src]") + " fires at \the [A]!")) shoot(A) if(casingtype) new casingtype(loc) diff --git a/code/modules/mob/living/simple_mob/defense.dm b/code/modules/mob/living/simple_mob/defense.dm index 7c31c3c83d2..c8ebebd1622 100644 --- a/code/modules/mob/living/simple_mob/defense.dm +++ b/code/modules/mob/living/simple_mob/defense.dm @@ -16,10 +16,10 @@ switch(L.a_intent) if(I_HELP) if(health > 0) - L.visible_message("\The [L] [response_help] \the [src].") + L.visible_message(span_notice("\The [L] [response_help] \the [src].")) if(I_DISARM) - L.visible_message("\The [L] [response_disarm] \the [src].") + L.visible_message(span_notice("\The [L] [response_disarm] \the [src].")) L.do_attack_animation(src) //TODO: Push the mob away or something @@ -29,10 +29,10 @@ if (!(status_flags & CANPUSH)) return if(!incapacitated(INCAPACITATION_ALL) && prob(grab_resist)) - L.visible_message("\The [L] tries to grab \the [src] but fails!") + L.visible_message(span_warning("\The [L] tries to grab \the [src] but fails!")) return - var/obj/item/weapon/grab/G = new /obj/item/weapon/grab(L, src) + var/obj/item/grab/G = new /obj/item/grab(L, src) L.put_in_active_hand(G) @@ -40,7 +40,7 @@ G.affecting = src LAssailant = L - L.visible_message("\The [L] has grabbed [src] passively!") + L.visible_message(span_warning("\The [L] has grabbed [src] passively!")) L.do_attack_animation(src) if(I_HURT) @@ -53,15 +53,15 @@ var/hit_dam_type = attack.damage_type //Let's get the type of damage. Brute? Burn? Defined by the unarmed_attack. real_damage += attack.get_unarmed_damage(attacker) //Add the damage that their special attack has. Some have 0. Some have 15. if(real_damage <= damage_threshold) - L.visible_message("\The [L] uselessly hits \the [src]!") + L.visible_message(span_warning("\The [L] uselessly hits \the [src]!")) L.do_attack_animation(src) return apply_damage(damage = real_damage, damagetype = hit_dam_type, def_zone = null, blocked = armor, blocked = resistance, used_weapon = null, sharp = FALSE, edge = FALSE) - L.visible_message("\The [L] [pick(attack.attack_verb)] \the [src]!") + L.visible_message(span_warning("\The [L] [pick(attack.attack_verb)] \the [src]!")) L.do_attack_animation(src) return //VOREStation EDIT END apply_damage(damage = harm_intent_damage, damagetype = BRUTE, def_zone = null, blocked = armor, blocked = resistance, used_weapon = null, sharp = FALSE, edge = FALSE) //VOREStation EDIT Somebody set this to burn instead of brute. - L.visible_message("\The [L] [response_harm] \the [src]!") + L.visible_message(span_warning("\The [L] [response_harm] \the [src]!")) L.do_attack_animation(src) return @@ -76,10 +76,10 @@ if(health < getMaxHealth()) if(MED.use(1)) adjustBruteLoss(-MED.heal_brute) - visible_message("\The [user] applies the [MED] on [src].") + visible_message(span_infoplain(span_bold("\The [user]") + " applies the [MED] on [src].")) else var/datum/gender/T = gender_datums[src.get_visible_gender()] - to_chat(user, "\The [src] is dead, medical items won't bring [T.him] back to life.") // the gender lookup is somewhat overkill, but it functions identically to the obsolete gender macros and future-proofs this code + to_chat(user, span_notice("\The [src] is dead, medical items won't bring [T.him] back to life.")) // the gender lookup is somewhat overkill, but it functions identically to the obsolete gender macros and future-proofs this code if(can_butcher(user, O)) //if the animal can be butchered, do so and return. It's likely to be gibbed. harvest(user, O) return @@ -89,13 +89,13 @@ livestock_harvest(O, user) return else - to_chat(user, "\The [src] can't be [harvest_verb] so soon.") + to_chat(user, span_notice("\The [src] can't be [harvest_verb] so soon.")) return if(can_tame(O, user)) - to_chat(user, "You offer \the [src] \the [O].") + to_chat(user, span_notice("You offer \the [src] \the [O].")) if(tame_prob(O, user)) - to_chat(user, "\The [src] appears to accept \the [O], seemingly calmed.") + to_chat(user, span_notice("\The [src] appears to accept \the [O], seemingly calmed.")) do_tame(O,user) else fail_tame(O, user) @@ -111,11 +111,11 @@ //Animals can't be stunned(?) if(O.damtype == HALLOSS) effective_force = 0 - if(supernatural && istype(O,/obj/item/weapon/nullrod)) + if(supernatural && istype(O,/obj/item/nullrod)) effective_force *= 2 purge = 3 if(O.force <= resistance) - to_chat(user,"This weapon is ineffective, it does no damage.") + to_chat(user,span_danger("This weapon is ineffective, it does no damage.")) return 2 //??? . = ..() @@ -291,7 +291,7 @@ inflict_shock_damage(200) // Mobs that are very beefy or resistant to shock may survive getting struck. updatehealth() if(health <= 0) - visible_message(span("critical", "\The [src] disintegrates into ash!")) + visible_message(span_critical("\The [src] disintegrates into ash!")) ash() return // No point deafening something that wont exist. @@ -303,7 +303,7 @@ if(!client) updatehealth() if(health <= 0) - visible_message(span("critical", "\The [src] flashes into ash as the lava consumes them!")) + visible_message(span_critical("\The [src] flashes into ash as the lava consumes them!")) ash() // Injections. @@ -311,4 +311,3 @@ if(ignore_thickness) return TRUE return !thick_armor - diff --git a/code/modules/mob/living/simple_mob/hands.dm b/code/modules/mob/living/simple_mob/hands.dm index 74c35abcd48..29d41e2c268 100644 --- a/code/modules/mob/living/simple_mob/hands.dm +++ b/code/modules/mob/living/simple_mob/hands.dm @@ -132,7 +132,7 @@ display_name = tool else display_name = "object" - to_chat(src, "Your [hand_form] are not fit for use of \the [display_name].") + to_chat(src, span_danger("Your [hand_form] are not fit for use of \the [display_name].")) return humanoid_hands /mob/living/simple_mob/is_holding_item_of_type(typepath) diff --git a/code/modules/mob/living/simple_mob/harvesting.dm b/code/modules/mob/living/simple_mob/harvesting.dm index e9439fab99d..a1b3e5ef0dd 100644 --- a/code/modules/mob/living/simple_mob/harvesting.dm +++ b/code/modules/mob/living/simple_mob/harvesting.dm @@ -18,12 +18,12 @@ /mob/living/simple_mob/examine(mob/user) . = ..() if(stat != DEAD && user && harvest_tool && (get_dist(user, src) <= 3)) - . += "\The [src] can be [harvest_verb] with a [initial(harvest_tool.name)] every [round(harvest_cooldown, 0.1)] minutes." + . += span_notice("\The [src] can be [harvest_verb] with a [initial(harvest_tool.name)] every [round(harvest_cooldown, 0.1)] minutes.") var/time_to_harvest = (harvest_recent + harvest_cooldown) - world.time if(time_to_harvest > 0) - . += "It can be [harvest_verb] in [time_to_harvest / (1 MINUTE)] second(s)." + . += span_notice("It can be [harvest_verb] in [time_to_harvest / (1 MINUTE)] second(s).") else - . += "It can be [harvest_verb] now." + . += span_notice("It can be [harvest_verb] now.") /mob/living/simple_mob/proc/livestock_harvest(var/obj/item/tool, var/mob/living/user) if(!LAZYLEN(harvest_results)) // Might be a unique interaction of an object using the proc to do something weird, or just someone's a donk. diff --git a/code/modules/mob/living/simple_mob/life.dm b/code/modules/mob/living/simple_mob/life.dm index f8d833a480b..584ed608693 100644 --- a/code/modules/mob/living/simple_mob/life.dm +++ b/code/modules/mob/living/simple_mob/life.dm @@ -6,6 +6,7 @@ if(stat >= DEAD) return FALSE + handle_sleeping() handle_stunned() handle_weakened() handle_paralysed() @@ -64,10 +65,10 @@ if(-INFINITY to 50) throw_alert("nutrition", /obj/screen/alert/starving) -//VOREStation ADD START - I made this for catslugs but tbh it's probably cool to give to everything. +//VOREStation ADD START - I made this for catslugs but tbh it's probably cool to give to everything. //Gives all simplemobs passive healing as long as they can find food. //Slow enough that it should affect combat basically not at all - + /mob/living/simple_mob/proc/do_healing() if(nutrition < 150) return diff --git a/code/modules/mob/living/simple_mob/overmap_mob_vr.dm b/code/modules/mob/living/simple_mob/overmap_mob_vr.dm index dd4fc736319..20bd5e5bd89 100644 --- a/code/modules/mob/living/simple_mob/overmap_mob_vr.dm +++ b/code/modules/mob/living/simple_mob/overmap_mob_vr.dm @@ -90,7 +90,7 @@ see_in_dark = 10 - faction = "overmap" + faction = FACTION_OVERMAP low_priority = FALSE devourable = FALSE digestable = FALSE diff --git a/code/modules/mob/living/simple_mob/sd_pets.dm b/code/modules/mob/living/simple_mob/sd_pets.dm index 119bb2c23df..3e3ea4cd663 100644 --- a/code/modules/mob/living/simple_mob/sd_pets.dm +++ b/code/modules/mob/living/simple_mob/sd_pets.dm @@ -28,9 +28,9 @@ icon_dead = "tulidaan_dead" digestable = 0 catalogue_data = list(/datum/category_item/catalogue/fauna/catslug/tulidaan) - holder_type = /obj/item/weapon/holder/catslug/tulidaan + holder_type = /obj/item/holder/catslug/tulidaan -/obj/item/weapon/holder/catslug/tulidaan +/obj/item/holder/catslug/tulidaan item_state = "tulidaan" /mob/living/simple_mob/animal/passive/mouse/jerboa/leggy @@ -58,9 +58,9 @@ desc = "A polite, well groomed patchy colored feline. Doesn't like his cat carrier." devourable = 0 digestable = 0 - holder_type = /obj/item/weapon/holder/cat/jones + holder_type = /obj/item/holder/cat/jones -/obj/item/weapon/holder/cat/jones +/obj/item/holder/cat/jones item_state = "cat2" @@ -109,7 +109,7 @@ desc = "A good boi, eats the scraps when you're not looking." devourable = 0 digestable = 0 - faction = "bar" + faction = FACTION_BAR mob_bump_flag = 32 ai_holder_type = /datum/ai_holder/simple_mob/melee/evasive/otie/cocoa catalogue_data = list(/datum/category_item/catalogue/fauna/otie/cocoa) diff --git a/code/modules/mob/living/simple_mob/simple_mob.dm b/code/modules/mob/living/simple_mob/simple_mob.dm index 1b3cea164c7..9f919a2b4b7 100644 --- a/code/modules/mob/living/simple_mob/simple_mob.dm +++ b/code/modules/mob/living/simple_mob/simple_mob.dm @@ -60,7 +60,7 @@ var/list/friends = list() // Mobs on this list wont get attacked regardless of faction status. var/harm_intent_damage = 3 // How much an unarmed harm click does to this mob. var/list/loot_list = list() // The list of lootable objects to drop, with "/path = prob%" structure - var/obj/item/weapon/card/id/myid// An ID card if they have one to give them access to stuff. + var/obj/item/card/id/myid// An ID card if they have one to give them access to stuff. var/organ_names = /decl/mob_organ_names //'False' bodyparts that can be shown as hit by projectiles in place of the default humanoid bodyplan. //Mob environment settings @@ -180,11 +180,11 @@ var/isthermal = 0 /mob/living/simple_mob/Initialize() - verbs -= /mob/verb/observe + remove_verb(src, /mob/verb/observe) health = maxHealth if(ID_provided) //VOREStation Edit - myid = new /obj/item/weapon/card/id(src) + myid = new /obj/item/card/id(src) myid.access = myid_access.Copy() for(var/L in has_langs) @@ -198,8 +198,8 @@ if(organ_names) organ_names = GET_DECL(organ_names) - if(config.allow_simple_mob_recolor) - verbs |= /mob/living/simple_mob/proc/ColorMate + if(CONFIG_GET(flag/allow_simple_mob_recolor)) + add_verb(src, /mob/living/simple_mob/proc/ColorMate) return ..() @@ -224,9 +224,9 @@ //Client attached /mob/living/simple_mob/Login() . = ..() - to_chat(src,"You are \the [src]. [player_msg]") + to_chat(src,span_boldnotice("You are \the [src].") + " [player_msg]") if(hasthermals) - verbs |= /mob/living/simple_mob/proc/hunting_vision //So that maint preds can see prey through walls, to make it easier to find them. + add_verb(src, /mob/living/simple_mob/proc/hunting_vision) //So that maint preds can see prey through walls, to make it easier to find them. /mob/living/simple_mob/SelfMove(turf/n, direct, movetime) var/turf/old_turf = get_turf(src) @@ -282,15 +282,14 @@ . += injury_level // VOREStation Edit Stop - . += config.animal_delay + . += CONFIG_GET(number/animal_delay) . += ..() - -/mob/living/simple_mob/Stat() - ..() - if(statpanel("Status") && show_stat_health) - stat(null, "Health: [round((health / getMaxHealth()) * 100)]%") +/mob/living/simple_mob/get_status_tab_items() + . = ..() + . += "" + . += "Health: [round((health / getMaxHealth()) * 100)]%" /mob/living/simple_mob/lay_down() ..() @@ -314,7 +313,7 @@ return mob_class & MOB_CLASS_HUMANOID|MOB_CLASS_ANIMAL|MOB_CLASS_SLIME // Update this if needed. /mob/living/simple_mob/get_nametag_desc(mob/user) - return "[tt_desc]" + return span_italics("[tt_desc]") /mob/living/simple_mob/make_hud_overlays() hud_list[STATUS_HUD] = gen_hud_image(buildmode_hud, src, "ai_0", plane = PLANE_BUILDMODE) @@ -351,7 +350,7 @@ /mob/living/simple_mob/proc/ColorMate() set name = "Recolour" - set category = "Abilities" + set category = "Abilities.Settings" set desc = "Allows to recolour once." if(!has_recoloured) @@ -364,7 +363,7 @@ /mob/living/simple_mob/proc/hunting_vision() set name = "Track Prey Through Walls" - set category = "Abilities" + set category = "Abilities.Mob" set desc = "Uses you natural predatory instincts to seek out prey even through walls, or your natural survival instincts to spot predators from a distance." if(hunting_cooldown + 5 MINUTES < world.time) @@ -379,7 +378,7 @@ /mob/living/simple_mob/proc/hunting_vision_plus() set name = "Thermal vision toggle" - set category = "Abilities" + set category = "Abilities.Mob" set desc = "Uses you natural predatory instincts to seek out prey even through walls, or your natural survival instincts to spot predators from a distance." if(!isthermal) @@ -388,3 +387,6 @@ else to_chat(usr, "You stop sensing creatures beyond the walls.") sight -= SEE_MOBS + +/mob/living/simple_mob/proc/character_directory_species() + return "simplemob" diff --git a/code/modules/mob/living/simple_mob/simple_mob_vr.dm b/code/modules/mob/living/simple_mob/simple_mob_vr.dm index a6c6154acb0..6a4ba095f94 100644 --- a/code/modules/mob/living/simple_mob/simple_mob_vr.dm +++ b/code/modules/mob/living/simple_mob/simple_mob_vr.dm @@ -47,7 +47,7 @@ var/mount_offset_x = 5 // Horizontal riding offset. var/mount_offset_y = 8 // Vertical riding offset - var/obj/item/device/radio/headset/mob_headset/mob_radio //Adminbus headset for simplemob shenanigans. + var/obj/item/radio/headset/mob_headset/mob_radio //Adminbus headset for simplemob shenanigans. does_spin = FALSE can_be_drop_pred = TRUE // Mobs are pred by default. var/damage_threshold = 0 //For some mobs, they have a damage threshold required to deal damage to them. @@ -98,6 +98,10 @@ add_eyes() update_transform() +/mob/living/simple_mob/regenerate_icons() + ..() + update_icon() + /mob/living/simple_mob/proc/will_eat(var/mob/living/M) if(client) //You do this yourself, dick! //ai_log("vr/wont eat [M] because we're player-controlled", 3) //VORESTATION AI TEMPORARY REMOVAL @@ -166,9 +170,9 @@ vore_pounce_cooldown = world.time + 20 SECONDS // don't attempt another pounce for a while if(prob(successrate)) // pounce success! M.Weaken(5) - M.visible_message("\The [src] pounces on \the [M]!!") + M.visible_message(span_danger("\The [src] pounces on \the [M]!")) else // pounce misses! - M.visible_message("\The [src] attempts to pounce \the [M] but misses!!") + M.visible_message(span_danger("\The [src] attempts to pounce \the [M] but misses!")) playsound(src, 'sound/weapons/punchmiss.ogg', 25, 1, -1) if(will_eat(M) && (!M.canmove || vore_standing_too)) //if they're edible then eat them too @@ -208,16 +212,16 @@ return if(!IsAdvancedToolUser()) - verbs |= /mob/living/simple_mob/proc/animal_nom - verbs |= /mob/living/proc/shred_limb + add_verb(src, /mob/living/simple_mob/proc/animal_nom) + add_verb(src, /mob/living/proc/shred_limb) if(LAZYLEN(vore_organs)) return // Since they have bellies, add verbs to toggle settings on them. - verbs |= /mob/living/simple_mob/proc/toggle_digestion - verbs |= /mob/living/simple_mob/proc/toggle_fancygurgle - verbs |= /mob/living/proc/vertical_nom + add_verb(src, /mob/living/simple_mob/proc/toggle_digestion) + add_verb(src, /mob/living/simple_mob/proc/toggle_fancygurgle) + add_verb(src, /mob/living/proc/vertical_nom) //A much more detailed version of the default /living implementation var/obj/belly/B = new /obj/belly(src) @@ -274,7 +278,7 @@ return FALSE if(tmob.canmove && prob(vore_pounce_chance)) //if they'd pounce for other noms, pounce for these too, otherwise still try and eat them if they hold still tmob.Weaken(5) - tmob.visible_message("\The [src] [vore_bump_emote] \the [tmob]!!") + tmob.visible_message(span_danger("\The [src] [vore_bump_emote] \the [tmob]!")) set_AI_busy(TRUE) spawn() animal_nom(tmob) @@ -291,7 +295,7 @@ // Riding /datum/riding/simple_mob - keytype = /obj/item/weapon/material/twohanded/riding_crop // Crack! + keytype = /obj/item/material/twohanded/riding_crop // Crack! nonhuman_key_exemption = FALSE // If true, nonhumans who can't hold keys don't need them, like borgs and simplemobs. key_name = "a riding crop" // What the 'keys' for the thing being rided on would be called. only_one_driver = TRUE // If true, only the person in 'front' (first on list of riding mobs) can drive. @@ -308,7 +312,7 @@ /datum/riding/simple_mob/force_dismount(mob/M) . =..() - ridden.visible_message("[M] stops riding [ridden]!") + ridden.visible_message(span_notice("[M] stops riding [ridden]!")) /datum/riding/simple_mob/get_offsets(pass_index) // list(dir = x, y, layer) var/mob/living/simple_mob/L = ridden @@ -335,7 +339,7 @@ if(M in buckled_mobs) return FALSE if(M.size_multiplier > size_multiplier * 1.2) - to_chat(src,"This isn't a pony show! You need to be bigger for them to ride.") + to_chat(src,span_warning("This isn't a pony show! You need to be bigger for them to ride.")) return FALSE var/mob/living/carbon/human/H = M @@ -363,7 +367,7 @@ /mob/living/simple_mob/proc/animal_mount(var/mob/living/M in living_mobs(1)) set name = "Animal Mount/Dismount" - set category = "Abilities" + set category = "Abilities.Mob" set desc = "Let people ride on you." if(LAZYLEN(buckled_mobs)) @@ -375,22 +379,22 @@ if(!can_buckle || !istype(M) || !M.Adjacent(src) || M.buckled) return if(buckle_mob(M)) - visible_message("[M] starts riding [name]!") + visible_message(span_notice("[M] starts riding [name]!")) /mob/living/simple_mob/handle_message_mode(message_mode, message, verb, used_radios, speaking, alt_name) if(mob_radio) switch(message_mode) if("intercom") - for(var/obj/item/device/radio/intercom/I in view(1, null)) + for(var/obj/item/radio/intercom/I in view(1, null)) I.talk_into(src, message, verb, speaking) used_radios += I if("headset") - if(mob_radio && istype(mob_radio,/obj/item/device/radio/headset/mob_headset)) + if(mob_radio && istype(mob_radio,/obj/item/radio/headset/mob_headset)) mob_radio.talk_into(src,message,null,verb,speaking) used_radios += mob_radio else if(message_mode) - if(mob_radio && istype(mob_radio,/obj/item/device/radio/headset/mob_headset)) + if(mob_radio && istype(mob_radio,/obj/item/radio/headset/mob_headset)) mob_radio.talk_into(src,message, message_mode, verb, speaking) used_radios += mob_radio else @@ -398,7 +402,7 @@ /mob/living/simple_mob/proc/leap() set name = "Pounce Target" - set category = "Abilities" + set category = "Abilities.Mob" set desc = "Select a target to pounce at." if(last_special > world.time) @@ -431,7 +435,7 @@ status_flags |= LEAPING pixel_y = pixel_y + 10 - src.visible_message("\The [src] leaps at [T]!") + src.visible_message(span_danger("\The [src] leaps at [T]!")) src.throw_at(get_step(get_turf(T),get_turf(src)), 4, 1, src) playsound(src, 'sound/effects/bodyfall1.ogg', 50, 1) pixel_y = default_pixel_y @@ -441,7 +445,7 @@ if(status_flags & LEAPING) status_flags &= ~LEAPING if(!src.Adjacent(T)) - to_chat(src, "You miss!") + to_chat(src, span_warning("You miss!")) return if(ishuman(T)) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/catslug.dm b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/catslug.dm index bcc4d8558a5..e951368c32e 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/catslug.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/catslug.dm @@ -23,13 +23,13 @@ icon_rest = "catslug_rest" icon = 'icons/mob/alienanimals_x32.dmi' - faction = "catslug" + faction = FACTION_CATSLUG maxHealth = 50 health = 50 movement_cooldown = -1 meat_amount = 2 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat - holder_type = /obj/item/weapon/holder/catslug + meat_type = /obj/item/reagent_containers/food/snacks/meat + holder_type = /obj/item/holder/catslug response_help = "hugs" response_disarm = "rudely paps" @@ -51,7 +51,7 @@ catalogue_data = list(/datum/category_item/catalogue/fauna/catslug) ai_holder_type = /datum/ai_holder/simple_mob/melee/evasive/catslug say_list_type = /datum/say_list/catslug - player_msg = "You have escaped the foul weather, into this much more pleasant place. You are an intelligent creature capable of more than most think. You can pick up and use many things, and even carry some of them with you into the vents, which you can use to move around quickly. You're quiet and capable, you speak with your hands and your deeds!
    - - - - -
    Keep in mind, your goal should generally be to survive. You're expected to follow the same rules as everyone else, so don't go self antagging without permission from the staff team, but you are able and capable of defending yourself from those who would attack you for no reason." + player_msg = "You have escaped the foul weather, into this much more pleasant place. You are an intelligent creature capable of more than most think. You can pick up and use many things, and even carry some of them with you into the vents, which you can use to move around quickly. You're quiet and capable, you speak with your hands and your deeds!
    - - - - -
    " + span_notice("Keep in mind, your goal should generally be to survive. You're expected to follow the same rules as everyone else, so don't go self antagging without permission from the staff team, but you are able and capable of defending yourself from those who would attack you for no reason.") has_langs = list(LANGUAGE_SIGN) @@ -60,38 +60,40 @@ var/picked_color = FALSE + allow_mind_transfer = TRUE + can_enter_vent_with = list( - /obj/item/weapon/implant, - /obj/item/device/radio/borg, - /obj/item/weapon/holder, + /obj/item/implant, + /obj/item/radio/borg, + /obj/item/holder, /obj/machinery/camera, /obj/belly, /obj/screen, /atom/movable/emissive_blocker, - /obj/item/weapon/material, - /obj/item/weapon/melee, + /obj/item/material, + /obj/item/melee, /obj/item/stack/, - /obj/item/weapon/tool, - /obj/item/weapon/reagent_containers/food, - /obj/item/weapon/coin, - /obj/item/weapon/aliencoin, - /obj/item/weapon/ore, - /obj/item/weapon/disk/nuclear, + /obj/item/tool, + /obj/item/reagent_containers/food, + /obj/item/coin, + /obj/item/aliencoin, + /obj/item/ore, + /obj/item/disk/nuclear, /obj/item/toy, - /obj/item/weapon/card, - /obj/item/device/radio, - /obj/item/device/perfect_tele_beacon, - /obj/item/weapon/clipboard, - /obj/item/weapon/paper, - /obj/item/weapon/pen, + /obj/item/card, + /obj/item/radio, + /obj/item/perfect_tele_beacon, + /obj/item/clipboard, + /obj/item/paper, + /obj/item/pen, /obj/item/canvas, /obj/item/paint_palette, /obj/item/paint_brush, - /obj/item/device/camera, - /obj/item/weapon/photo, - /obj/item/device/camera_film, - /obj/item/device/taperecorder, - /obj/item/device/tape + /obj/item/camera, + /obj/item/photo, + /obj/item/camera_film, + /obj/item/taperecorder, + /obj/item/rectape ) vore_active = 1 @@ -135,29 +137,29 @@ /mob/living/simple_mob/vore/alienanimals/catslug/Initialize() . = ..() - verbs += /mob/living/proc/ventcrawl - verbs += /mob/living/proc/hide - verbs += /mob/living/simple_mob/vore/alienanimals/catslug/proc/catslug_color + add_verb(src, /mob/living/proc/ventcrawl) + add_verb(src, /mob/living/proc/hide) + add_verb(src, /mob/living/simple_mob/vore/alienanimals/catslug/proc/catslug_color) /mob/living/simple_mob/vore/alienanimals/catslug/Destroy() if(hat) drop_hat() return ..() -/mob/living/simple_mob/vore/alienanimals/catslug/attackby(var/obj/item/weapon/reagent_containers/food/snacks/O as obj, var/mob/user as mob) +/mob/living/simple_mob/vore/alienanimals/catslug/attackby(var/obj/item/reagent_containers/food/snacks/O as obj, var/mob/user as mob) if(istype(O, /obj/item/clothing/head)) // Handle hat simulator. give_hat(O, user) return - else if(!istype(O, /obj/item/weapon/reagent_containers/food/snacks)) + else if(!istype(O, /obj/item/reagent_containers/food/snacks)) return ..() if(resting) - to_chat(user, "\The [src] is napping, and doesn't respond to \the [O].") + to_chat(user, span_notice("\The [src] is napping, and doesn't respond to \the [O].")) return if(nutrition >= max_nutrition) if(user == src) - to_chat(src, "You're too full to eat another bite.") + to_chat(src, span_notice("You're too full to eat another bite.")) return - to_chat(user, "\The [src] seems too full to eat.") + to_chat(user, span_notice("\The [src] seems too full to eat.")) return var/nutriment_amount = O.reagents?.get_reagent_amount("nutriment") //does it have nutriment, if so how much? var/protein_amount = O.reagents?.get_reagent_amount("protein") //does it have protein, if so how much? @@ -170,11 +172,11 @@ if(O.bitecount >= 3) user.drop_from_inventory(O) qdel(O) - visible_message("\The [src] eats \the [O].") + visible_message(span_notice("\The [src] eats \the [O].")) else - to_chat(user, "\The [src] takes a bite of \the [O].") + to_chat(user, span_notice("\The [src] takes a bite of \the [O].")) if(user != src) - to_chat(src, "\The [user] feeds \the [O] to you.") + to_chat(src, span_notice("\The [user] feeds \the [O] to you.")) playsound(src, 'sound/items/eatfood.ogg', 75, 1) /mob/living/simple_mob/vore/alienanimals/catslug/attack_hand(mob/living/carbon/human/M as mob) @@ -188,41 +190,41 @@ return ..() playsound(src, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) if(resting) - M.visible_message("\The [M.name] shakes \the [src] awake from their nap.","You shake \the [src] awake!") + M.visible_message(span_notice("\The [M.name] shakes \the [src] awake from their nap."),span_notice("You shake \the [src] awake!")) lay_down() ai_holder.go_wake() return if(M.zone_sel.selecting == BP_HEAD) M.visible_message( \ - "[M] pats \the [src] on the head.", \ - "You pat \the [src] on the head.", ) + span_notice("[M] pats \the [src] on the head."), \ + span_notice("You pat \the [src] on the head."), ) if(client) return if(prob(10)) - visible_message("\The [src] purrs and leans into [M]'s hand.") + visible_message(span_notice("\The [src] purrs and leans into [M]'s hand.")) else if(M.zone_sel.selecting == BP_R_HAND || M.zone_sel.selecting == BP_L_HAND) M.visible_message( \ - "[M] shakes \the [src]'s hand.", \ - "You shake \the [src]'s hand.", ) + span_notice("[M] shakes \the [src]'s hand."), \ + span_notice("You shake \the [src]'s hand."), ) if(client) return if(prob(10)) - visible_message("\The [src]'s looks a little confused nibbles at [M]'s hand experimentally.") + visible_message(span_notice("\The [src]'s looks a little confused nibbles at [M]'s hand experimentally.")) else if(M.zone_sel.selecting == "mouth") M.visible_message( \ - "[M] boops \the [src]'s nose.", \ - "You boop \the [src] on the nose.", ) + span_notice("[M] boops \the [src]'s nose."), \ + span_notice("You boop \the [src] on the nose."), ) if(client) return if(prob(10)) - visible_message("\The [src]'s eyes widen as they stare at [M]. After a moment they rub their prodded snoot.") + visible_message(span_notice("\The [src]'s eyes widen as they stare at [M]. After a moment they rub their prodded snoot.")) else if(M.zone_sel.selecting == BP_GROIN) M.visible_message( \ - "[M] rubs \the [src]'s tummy...", \ - "You rub \the [src]'s tummy... You feel the danger.", ) + span_notice("[M] rubs \the [src]'s tummy..."), \ + span_notice("You rub \the [src]'s tummy... You feel the danger."), ) if(client) return - visible_message("\The [src] pushes [M]'s hand away from their tummy and furrows their brow!") + visible_message(span_notice("\The [src] pushes [M]'s hand away from their tummy and furrows their brow!")) if(prob(5)) ai_holder.give_target(M, urgent = TRUE) else @@ -242,28 +244,28 @@ /mob/living/simple_mob/vore/alienanimals/catslug/proc/give_hat(var/obj/item/clothing/head/new_hat, var/mob/living/user) if(!istype(new_hat)) - to_chat(user, span("warning", "\The [new_hat] isn't a hat.")) + to_chat(user, span_warning("\The [new_hat] isn't a hat.")) return if(hat) - to_chat(user, span("warning", "\The [src] is already wearing \a [hat].")) + to_chat(user, span_warning("\The [src] is already wearing \a [hat].")) return else if(!can_wear_hat) - to_chat(user, span("warning", "\The [src] is unable to wear \a [hat].")) + to_chat(user, span_warning("\The [src] is unable to wear \a [hat].")) else user.drop_item(new_hat) hat = new_hat new_hat.forceMove(src) - to_chat(user, span("notice", "You place \a [new_hat] on \the [src]. How adorable!")) + to_chat(user, span_notice("You place \a [new_hat] on \the [src]. How adorable!")) update_icon() return /mob/living/simple_mob/vore/alienanimals/catslug/proc/remove_hat(var/mob/living/user) if(!hat) - to_chat(user, "\The [src] doesn't have a hat to remove.") + to_chat(user, span_warning("\The [src] doesn't have a hat to remove.")) else hat.forceMove(get_turf(src)) user.put_in_hands(hat) - to_chat(user, "You take away \the [src]'s [hat.name]. How mean.") + to_chat(user, span_warning("You take away \the [src]'s [hat.name]. How mean.")) hat = null update_icon() @@ -282,10 +284,10 @@ /mob/living/simple_mob/vore/alienanimals/catslug/proc/catslug_color() set name = "Pick Color" - set category = "Abilities" + set category = "Abilities.Settings" set desc = "You can set your color!" if(picked_color) - to_chat(src, "You have already picked a color! If you picked the wrong color, ask an admin to change your picked_color variable to 0.") + to_chat(src, span_notice("You have already picked a color! If you picked the wrong color, ask an admin to change your picked_color variable to 0.")) return var/newcolor = input(usr, "Choose a color.", "", color) as color|null if(newcolor) @@ -335,12 +337,12 @@ var/datum/say_list/S = holder.say_list S.speak |= message -/obj/item/weapon/holder/catslug +/obj/item/holder/catslug origin_tech = list(TECH_BIO = 2) icon = 'icons/mob/alienanimals_x32.dmi' item_state = "catslug" -/obj/item/weapon/holder/catslug/Initialize(mapload, mob/held) +/obj/item/holder/catslug/Initialize(mapload, mob/held) . = ..() color = held.color @@ -356,9 +358,9 @@ /mob/living/simple_mob/vore/alienanimals/catslug/custom/Initialize() . = ..() - verbs += /mob/living/proc/ventcrawl - verbs += /mob/living/proc/hide - verbs -= /mob/living/simple_mob/vore/alienanimals/catslug/proc/catslug_color //Most of these have custom sprites with colour already, so we'll not let them have this. + add_verb(src, /mob/living/proc/ventcrawl) + add_verb(src, /mob/living/proc/hide) + remove_verb(src, /mob/living/simple_mob/vore/alienanimals/catslug/proc/catslug_color) //Most of these have custom sprites with colour already, so we'll not let them have this. /datum/category_item/catalogue/fauna/catslug/custom/spaceslug @@ -385,7 +387,7 @@ icon_rest = "spaceslug_rest" icon_dead = "spaceslug_dead" catalogue_data = list(/datum/category_item/catalogue/fauna/catslug/custom/spaceslug) - holder_type = /obj/item/weapon/holder/catslug/custom/spaceslug + holder_type = /obj/item/holder/catslug/custom/spaceslug say_list_type = /datum/say_list/catslug/custom/spaceslug minbodytemp = 0 // Shamelessly stolen temp & atmos tolerances from the space cat. @@ -402,7 +404,7 @@ min_n2 = 0 max_n2 = 0 - player_msg = "You are an intelligent creature capable of more than most think, clad in a spacesuit that protects you from the ravages of vacuum and hostile atmospheres alike. You can pick up and use many things, and even carry some of them with you into the vents, which you can use to move around quickly. You're quiet and capable, you speak with your hands and your deeds!
    - - - - -
    Keep in mind, your goal should generally be to survive. You're expected to follow the same rules as everyone else, so don't go self antagging without permission from the staff team, but you are able and capable of defending yourself from those who would attack you for no reason." + player_msg = "You are an intelligent creature capable of more than most think, clad in a spacesuit that protects you from the ravages of vacuum and hostile atmospheres alike. You can pick up and use many things, and even carry some of them with you into the vents, which you can use to move around quickly. You're quiet and capable, you speak with your hands and your deeds!
    - - - - -
    " + span_notice("Keep in mind, your goal should generally be to survive. You're expected to follow the same rules as everyone else, so don't go self antagging without permission from the staff team, but you are able and capable of defending yourself from those who would attack you for no reason.") /datum/say_list/catslug/custom/spaceslug speak = list("Have any porl?", "What is that?", "What kind of ship is that?", "What are you doing?", "How did you get here?", "Don't take off your helmet.", "SPAAAAAACE!", "WAOW!", "Nice weather we're having, isn't it?") @@ -415,47 +417,47 @@ return ..() playsound(src, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) if(resting) - M.visible_message("\The [M.name] shakes \the [src] awake from their nap.","You shake \the [src] awake!") + M.visible_message(span_notice("\The [M.name] shakes \the [src] awake from their nap."),span_notice("You shake \the [src] awake!")) lay_down() ai_holder.go_wake() return if(M.zone_sel.selecting == BP_HEAD) M.visible_message( \ - "[M] pats \the [src] on their helmet.", \ - "You pat \the [src] on their helmet.", ) + span_notice("[M] pats \the [src] on their helmet."), \ + span_notice("You pat \the [src] on their helmet."), ) if(client) return if(prob(10)) - visible_message("\The [src] purrs and leans into [M]'s hand.") + visible_message(span_notice("\The [src] purrs and leans into [M]'s hand.")) else if(M.zone_sel.selecting == BP_R_HAND || M.zone_sel.selecting == BP_L_HAND) M.visible_message( \ - "[M] shakes \the [src]'s hand.", \ - "You shake \the [src]'s hand.", ) + span_notice("[M] shakes \the [src]'s hand."), \ + span_notice("You shake \the [src]'s hand."), ) if(client) return if(prob(10)) - visible_message("\The [src]'s looks a little confused and bonks their helmet's faceplate against [M]'s hand experimentally, attempting to nibble at it.") + visible_message(span_notice("\The [src]'s looks a little confused and bonks their helmet's faceplate against [M]'s hand experimentally, attempting to nibble at it.")) else if(M.zone_sel.selecting == "mouth") M.visible_message( \ - "[M] attempts to boop \the [src]'s nose, defeated only by the helmet they wear.", \ - "You attempt to boop \the [src] on the nose, stopped only by that helmet they wear.", ) + span_notice("[M] attempts to boop \the [src]'s nose, defeated only by the helmet they wear."), \ + span_notice("You attempt to boop \the [src] on the nose, stopped only by that helmet they wear."), ) if(client) return if(prob(10)) - visible_message("\The [src]'s eyes widen as they stare at [M]. After a moment they rub at the faint mark [M]'s digit left upon the surface of their helmet's faceplate.") + visible_message(span_notice("\The [src]'s eyes widen as they stare at [M]. After a moment they rub at the faint mark [M]'s digit left upon the surface of their helmet's faceplate.")) else if(M.zone_sel.selecting == BP_GROIN) M.visible_message( \ - "[M] rubs \the [src]'s tummy...", \ - "You rub \the [src]'s tummy, accidently pressing a few of the buttons on their chestpiece in the process... You feel the danger.", ) + span_notice("[M] rubs \the [src]'s tummy..."), \ + span_notice("You rub \the [src]'s tummy, accidently pressing a few of the buttons on their chestpiece in the process... You feel the danger."), ) if(client) return - visible_message("\The [src] pushes [M]'s hand away from their tummy and furrows their brow, frantically pressing at the buttons [M] so carelessly pushed!") + visible_message(span_notice("\The [src] pushes [M]'s hand away from their tummy and furrows their brow, frantically pressing at the buttons [M] so carelessly pushed!")) if(prob(5)) ai_holder.give_target(M, urgent = TRUE) else return ..() -/obj/item/weapon/holder/catslug/custom/spaceslug +/obj/item/holder/catslug/custom/spaceslug item_state = "spaceslug" //Engineer catslug @@ -485,7 +487,7 @@ icon_rest = "engislug_rest" icon_dead = "engislug_dead" catalogue_data = list(/datum/category_item/catalogue/fauna/catslug/custom/engislug) - holder_type = /obj/item/weapon/holder/catslug/custom/engislug + holder_type = /obj/item/holder/catslug/custom/engislug say_list_type = /datum/say_list/catslug/custom/engislug myid_access = list(access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_construction, access_atmospherics) siemens_coefficient = 0 //Noodly fella's gone and built up an immunity from many small shocks @@ -515,47 +517,47 @@ return ..() playsound(src, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) if(resting) - M.visible_message("\The [M.name] shakes \the [src] awake from their nap.","You shake \the [src] awake!") + M.visible_message(span_notice("\The [M.name] shakes \the [src] awake from their nap."),span_notice("You shake \the [src] awake!")) lay_down() ai_holder.go_wake() return if(M.zone_sel.selecting == BP_HEAD) M.visible_message( \ - "[M] pats \the [src] on their helmet.", \ - "You pat \the [src] on their helmet.", ) + span_notice("[M] pats \the [src] on their helmet."), \ + span_notice("You pat \the [src] on their helmet."), ) if(client) return if(prob(10)) - visible_message("\The [src] purrs and leans into [M]'s hand.") + visible_message(span_notice("\The [src] purrs and leans into [M]'s hand.")) else if(M.zone_sel.selecting == BP_R_HAND || M.zone_sel.selecting == BP_L_HAND) M.visible_message( \ - "[M] shakes \the [src]'s hand.", \ - "You shake \the [src]'s hand.", ) + span_notice("[M] shakes \the [src]'s hand."), \ + span_notice("You shake \the [src]'s hand."), ) if(client) return if(prob(10)) - visible_message("\The [src]'s looks a little confused and bonks their helmet's faceplate against [M]'s hand experimentally, attempting to nibble at it.") + visible_message(span_notice("\The [src]'s looks a little confused and bonks their helmet's faceplate against [M]'s hand experimentally, attempting to nibble at it.")) else if(M.zone_sel.selecting == "mouth") M.visible_message( \ - "[M] attempts to boop \the [src]'s nose, defeated only by the helmet they wear.", \ - "You attempt to boop \the [src] on the nose, stopped only by that helmet they wear.", ) + span_notice("[M] attempts to boop \the [src]'s nose, defeated only by the helmet they wear."), \ + span_notice("You attempt to boop \the [src] on the nose, stopped only by that helmet they wear."), ) if(client) return if(prob(10)) - visible_message("\The [src]'s eyes widen as they stare at [M]. After a moment they rub at the faint mark [M]'s digit left upon the surface of their helmet's faceplate.") + visible_message(span_notice("\The [src]'s eyes widen as they stare at [M]. After a moment they rub at the faint mark [M]'s digit left upon the surface of their helmet's faceplate.")) else if(M.zone_sel.selecting == BP_GROIN) M.visible_message( \ - "[M] rubs \the [src]'s tummy...", \ - "You rub \the [src]'s tummy... You feel the danger.", ) + span_notice("[M] rubs \the [src]'s tummy..."), \ + span_notice("You rub \the [src]'s tummy... You feel the danger."), ) if(client) return - visible_message("\The [src] pushes [M]'s hand away from their tummy and furrows their brow!") + visible_message(span_notice("\The [src] pushes [M]'s hand away from their tummy and furrows their brow!")) if(prob(5)) ai_holder.give_target(M, urgent = TRUE) else return ..() -/obj/item/weapon/holder/catslug/custom/engislug +/obj/item/holder/catslug/custom/engislug item_state = "engislug" //Security catslug @@ -586,7 +588,7 @@ icon_rest = "gatslug_rest" icon_dead = "gatslug_dead" catalogue_data = list(/datum/category_item/catalogue/fauna/catslug/custom/gatslug) - holder_type = /obj/item/weapon/holder/catslug/custom/gatslug + holder_type = /obj/item/holder/catslug/custom/gatslug maxHealth = 75 health = 75 say_list_type = /datum/say_list/catslug/custom/gatslug @@ -607,7 +609,7 @@ /datum/say_list/catslug/custom/gatslug speak = list("Have any flashbangs?", "Valids!", "Heard spiders?", "What is that?", "Freeze!", "What are you doing?", "How did you get here?", "Red alert means big bangsticks.", "No being naughty now.", "WAOW!", "Who ate all the donuts?") -/obj/item/weapon/holder/catslug/custom/gatslug +/obj/item/holder/catslug/custom/gatslug item_state = "gatslug" //Medical catslug @@ -637,14 +639,14 @@ icon_rest = "medislug_rest" icon_dead = "medislug_dead" catalogue_data = list(/datum/category_item/catalogue/fauna/catslug/custom/medislug) - holder_type = /obj/item/weapon/holder/catslug/custom/medislug + holder_type = /obj/item/holder/catslug/custom/medislug say_list_type = /datum/say_list/catslug/custom/medislug myid_access = list(access_medical, access_morgue, access_surgery, access_chemistry, access_virology, access_genetics) /datum/say_list/catslug/custom/medislug speak = list("Have any osteodaxon?", "What is that?", "Suit sensors!", "What are you doing?", "How did you get here?", "Put a mask on!", "No smoking!", "WAOW!", "Stop getting blood everywhere!", "WHERE IN MAINT?") -/obj/item/weapon/holder/catslug/custom/medislug +/obj/item/holder/catslug/custom/medislug item_state = "medislug" //Science catslug @@ -673,7 +675,7 @@ icon_rest = "scienceslug_rest" icon_dead = "scienceslug_dead" catalogue_data = list(/datum/category_item/catalogue/fauna/catslug/custom/scienceslug) - holder_type = /obj/item/weapon/holder/catslug/custom/scienceslug + holder_type = /obj/item/holder/catslug/custom/scienceslug say_list_type = /datum/say_list/catslug/custom/scienceslug myid_access = list(access_robotics, access_tox, access_tox_storage, access_research, access_xenobiology, access_xenoarch) @@ -681,7 +683,7 @@ /datum/say_list/catslug/custom/scienceslug speak = list("Slimes, squish!", "What is that?", "Smoking in Toxins is not advised.", "What are you doing?", "How did you get here?", "Do not deconstruct the cube!", "WAOW!", "Where are our materials?", "The acid dispenser is not full of juice. Must remember that.") -/obj/item/weapon/holder/catslug/custom/scienceslug +/obj/item/holder/catslug/custom/scienceslug item_state = "scienceslug" //Cargo catslug @@ -711,14 +713,14 @@ icon_rest = "cargoslug_rest" icon_dead = "cargoslug_dead" catalogue_data = list(/datum/category_item/catalogue/fauna/catslug/custom/cargoslug) - holder_type = /obj/item/weapon/holder/catslug/custom/cargoslug + holder_type = /obj/item/holder/catslug/custom/cargoslug say_list_type = /datum/say_list/catslug/custom/cargoslug myid_access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_mining, access_mining_station) /datum/say_list/catslug/custom/cargoslug speak = list("Disposals is not for slip and slide.", "What is that?", "Stamp those manifests!", "What are you doing?", "How did you get here?", "Can order pizza crate?", "WAOW!", "Where are all of our materials?", "Got glubbs?") -/obj/item/weapon/holder/catslug/custom/cargoslug +/obj/item/holder/catslug/custom/cargoslug item_state = "cargoslug" //Command catslug @@ -748,24 +750,24 @@ icon_living = "capslug" icon_rest = "capslug_rest" icon_dead = "capslug_dead" - faction = "neutral" + faction = FACTION_NEUTRAL catalogue_data = list(/datum/category_item/catalogue/fauna/catslug/custom/capslug) - holder_type = /obj/item/weapon/holder/catslug/custom/capslug + holder_type = /obj/item/holder/catslug/custom/capslug say_list_type = /datum/say_list/catslug/custom/capslug myid_access = list(access_heads, access_keycard_auth) //Same access as a bridge secretary. /datum/say_list/catslug/custom/capslug speak = list("How open big glass box with shiny inside?.", "What is that?", "Respect my authority!", "What are you doing?", "How did you get here?", "Fax for yellow-shirts!", "WAOW!", "Why is that console blinking and clicking?", "Do we need to call for ERT?", "Have been called comdom before, not sure why they thought I was a balloon.") -/obj/item/weapon/holder/catslug/custom/capslug +/obj/item/holder/catslug/custom/capslug item_state = "capslug" /mob/living/simple_mob/vore/alienanimals/catslug/custom/capslug/Initialize() //This is such an awful proc, but if someone wants it better they're welcome to have a go at it. . = ..() - mob_radio = new /obj/item/device/radio/headset/mob_headset(src) + mob_radio = new /obj/item/radio/headset/mob_headset(src) mob_radio.frequency = PUB_FREQ - mob_radio.ks2type = /obj/item/device/encryptionkey/heads/captain //Might not be able to speak, but the catslug can listen. - mob_radio.keyslot2 = new /obj/item/device/encryptionkey/heads/captain(mob_radio) + mob_radio.ks2type = /obj/item/encryptionkey/heads/captain //Might not be able to speak, but the catslug can listen. + mob_radio.keyslot2 = new /obj/item/encryptionkey/heads/captain(mob_radio) mob_radio.recalculateChannels(1) //============================================================================= @@ -806,7 +808,7 @@ /mob/living/simple_mob/vore/alienanimals/catslug/custom/spaceslug/deathslug/Initialize() . = ..() - mob_radio = new /obj/item/device/radio/headset/mob_headset(src) + mob_radio = new /obj/item/radio/headset/mob_headset(src) mob_radio.frequency = DTH_FREQ //Can't tell if bugged, deathsquad freq in general seems broken myid.access |= get_all_station_access() @@ -822,7 +824,7 @@ catalogue_data = list(/datum/category_item/catalogue/fauna/catslug) say_list_type = /datum/say_list/catslug myid_access = list(access_maint_tunnels, access_syndicate, access_external_airlocks) - faction = "syndicate" + faction = FACTION_SYNDICATE maxHealth = 100 //Tough noodles health = 100 taser_kill = 0 @@ -847,11 +849,11 @@ /mob/living/simple_mob/vore/alienanimals/catslug/custom/spaceslug/syndislug/Initialize() . = ..() - mob_radio = new /obj/item/device/radio/headset/mob_headset(src) + mob_radio = new /obj/item/radio/headset/mob_headset(src) mob_radio.frequency = SYND_FREQ mob_radio.syndie = 1 - mob_radio.ks2type = /obj/item/device/encryptionkey/syndicate - mob_radio.keyslot2 = new /obj/item/device/encryptionkey/syndicate(mob_radio) + mob_radio.ks2type = /obj/item/encryptionkey/syndicate + mob_radio.keyslot2 = new /obj/item/encryptionkey/syndicate(mob_radio) mob_radio.recalculateChannels(1) myid.access |= get_all_station_access() @@ -891,11 +893,11 @@ /mob/living/simple_mob/vore/alienanimals/catslug/custom/spaceslug/responseslug/Initialize() . = ..() - mob_radio = new /obj/item/device/radio/headset/mob_headset(src) + mob_radio = new /obj/item/radio/headset/mob_headset(src) mob_radio.frequency = ERT_FREQ mob_radio.centComm = 1 - mob_radio.ks2type = /obj/item/device/encryptionkey/ert - mob_radio.keyslot2 = new /obj/item/device/encryptionkey/ert(mob_radio) + mob_radio.ks2type = /obj/item/encryptionkey/ert + mob_radio.keyslot2 = new /obj/item/encryptionkey/ert(mob_radio) mob_radio.recalculateChannels(1) myid.access |= get_all_station_access() @@ -1078,7 +1080,7 @@ /mob/living/simple_mob/vore/alienanimals/catslug/suslug/Initialize() . = ..() - verbs += /mob/living/simple_mob/vore/alienanimals/catslug/suslug/proc/assussinate + add_verb(src, /mob/living/simple_mob/vore/alienanimals/catslug/suslug/proc/assussinate) update_icon() /mob/living/simple_mob/vore/alienanimals/catslug/suslug/update_icon() @@ -1093,7 +1095,7 @@ /mob/living/simple_mob/vore/alienanimals/catslug/suslug/can_ventcrawl() if(!is_impostor) - to_chat(src, "You are not an impostor! You can't vent!") + to_chat(src, span_notice("You are not an impostor! You can't vent!")) return FALSE .=..() @@ -1104,19 +1106,19 @@ var/mob/living/simple_mob/vore/alienanimals/catslug/suslug/us = user if(us.is_impostor) if(src.is_impostor) - . += "They appear to be a fellow impostor!" + . += span_notice("They appear to be a fellow impostor!") else - . += "They appear to be a filthy innocent!" + . += span_notice("They appear to be a filthy innocent!") /mob/living/simple_mob/vore/alienanimals/catslug/suslug/proc/assussinate() set name = "Kill Innocent" - set category = "Abilities" + set category = "Abilities.Catslug" set desc = "Kill an innocent suslug!" if(!is_impostor) - to_chat(src, "You are not an impostor! You can't kill like that!") + to_chat(src, span_notice("You are not an impostor! You can't kill like that!")) return if((world.time - kill_cooldown) < 1 MINUTE) - to_chat(src, "You cannot kill so soon after previous kill!") + to_chat(src, span_notice("You cannot kill so soon after previous kill!")) return var/mob/living/simple_mob/vore/alienanimals/catslug/suslug/target @@ -1125,7 +1127,7 @@ if(!S.is_impostor) victims += S if(!victims || !victims.len) - to_chat(src, "There are no innocent suslugs nearby!") + to_chat(src, span_warning("There are no innocent suslugs nearby!")) return if(victims.len == 1) target = victims[1] @@ -1134,7 +1136,7 @@ if(target && istype(target)) target.adjustBruteLoss(3000) - visible_message("\The [src] kills \the [target]!") + visible_message(span_warning("\The [src] kills \the [target]!")) kill_cooldown = world.time /mob/living/simple_mob/vore/alienanimals/catslug/suslug/color diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/jellyfish.dm b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/jellyfish.dm index 1b70b1713d5..79a67863960 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/jellyfish.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/jellyfish.dm @@ -27,7 +27,7 @@ GLOBAL_VAR_INIT(jellyfish_count, 0) hovering = TRUE - faction = "jellyfish" + faction = FACTION_JELLYFISH maxHealth = 100 health = 100 nutrition = 150 @@ -63,7 +63,7 @@ GLOBAL_VAR_INIT(jellyfish_count, 0) speak_emote = list("thrumms") meat_amount = 0 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/jellyfishcore + meat_type = /obj/item/reagent_containers/food/snacks/jellyfishcore say_list_type = /datum/say_list/jellyfish @@ -116,7 +116,7 @@ GLOBAL_VAR_INIT(jellyfish_count, 0) /mob/living/simple_mob/vore/alienanimals/space_jellyfish/death() . = ..() - new /obj/item/weapon/reagent_containers/food/snacks/jellyfishcore(loc, nutrition) + new /obj/item/reagent_containers/food/snacks/jellyfishcore(loc, nutrition) GLOB.jellyfish_count -- qdel(src) @@ -150,7 +150,7 @@ GLOBAL_VAR_INIT(jellyfish_count, 0) wander = TRUE unconscious_vore = TRUE -/obj/item/weapon/reagent_containers/food/snacks/jellyfishcore +/obj/item/reagent_containers/food/snacks/jellyfishcore name = "jellyfish core" icon = 'icons/obj/food_vr.dmi' icon_state = "jellyfish_core" @@ -161,11 +161,11 @@ GLOBAL_VAR_INIT(jellyfish_count, 0) var/inherited_nutriment = 0 -/obj/item/weapon/reagent_containers/food/snacks/jellyfishcore/New(newloc, inherit) +/obj/item/reagent_containers/food/snacks/jellyfishcore/New(newloc, inherit) inherited_nutriment = inherit . = ..() -/obj/item/weapon/reagent_containers/food/snacks/jellyfishcore/Initialize() +/obj/item/reagent_containers/food/snacks/jellyfishcore/Initialize() nutriment_amt += inherited_nutriment . = ..() reagents.add_reagent("nutriment", nutriment_amt, nutriment_desc) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/skeleton.dm b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/skeleton.dm index 4f1e1efd9df..88f919ac28d 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/skeleton.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/skeleton.dm @@ -23,7 +23,7 @@ icon_living = "skeleton" icon_dead = "skeleton_dead" - faction = "space skeleton" + faction = FACTION_SPACE_SKELETON maxHealth = 100 health = 100 movement_cooldown = 1 @@ -54,11 +54,11 @@ maxbodytemp = 900 loot_list = list( - /obj/item/weapon/bone = 25, - /obj/item/weapon/bone/skull = 25, - /obj/item/weapon/bone/ribs = 25, - /obj/item/weapon/bone/arm = 25, - /obj/item/weapon/bone/leg = 25 + /obj/item/bone = 25, + /obj/item/bone/skull = 25, + /obj/item/bone/ribs = 25, + /obj/item/bone/arm = 25, + /obj/item/bone/leg = 25 ) speak_emote = list("rattles") diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/space_mouse.dm b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/space_mouse.dm index 82bbd33d49a..195a7b71306 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/space_mouse.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/space_mouse.dm @@ -17,7 +17,7 @@ icon_living = "space_mouse" icon_dead = "space_mouse_dead" - faction = "space mouse" + faction = FACTION_SPACE_MOUSE maxHealth = 20 health = 20 movement_cooldown = -1 diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/spacewhale.dm b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/spacewhale.dm index 65bd18c9739..fe6e37b3609 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/spacewhale.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/spacewhale.dm @@ -122,10 +122,10 @@ if(child_om_marker.known == TRUE) if(restless) child_om_marker.icon_state = "space_whale_restless" - visible_message("\The [child_om_marker.name] ripples excitedly.") + visible_message(span_notice("\The [child_om_marker.name] ripples excitedly.")) else child_om_marker.icon_state = "space_whale" - visible_message("\The [child_om_marker.name] settles down.") + visible_message(span_notice("\The [child_om_marker.name] settles down.")) /datum/ai_holder/simple_mob/melee/spacewhale hostile = TRUE diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/spookyghost.dm b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/spookyghost.dm index a59560f2e1e..6991ecb70e0 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/spookyghost.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/spookyghost.dm @@ -22,7 +22,7 @@ hovering = TRUE pass_flags = PASSTABLE - faction = "space ghost" + faction = FACTION_SPACE_GHOST maxHealth = 50 health = 50 movement_cooldown = 0 @@ -71,7 +71,7 @@ "rad" = 100 ) - loot_list = list(/obj/item/weapon/ore/diamond = 100, /obj/item/weapon/ectoplasm = 3) + loot_list = list(/obj/item/ore/diamond = 100, /obj/item/ectoplasm = 3) speak_emote = list("rumbles") @@ -97,7 +97,8 @@ /mob/living/simple_mob/vore/alienanimals/space_ghost/apply_melee_effects(var/atom/A) var/mob/living/L = A - L.hallucination += 50 + if(L.hallucination <= 100) + L.hallucination += rand(1,10) /mob/living/simple_mob/vore/alienanimals/space_ghost/shoot(atom/A) //We're shooting ghosts at people and need them to have the same faction as their parent, okay? if(!projectiletype) @@ -134,7 +135,7 @@ hovering = TRUE pass_flags = PASSTABLE - faction = "space ghost" + faction = FACTION_SPACE_GHOST maxHealth = 5 health = 5 movement_cooldown = -1 @@ -209,7 +210,8 @@ /mob/living/simple_mob/vore/alienanimals/spooky_ghost/apply_melee_effects(var/atom/A) var/mob/living/L = A if(L && istype(L)) - L.hallucination += rand(1,50) + if(L.hallucination <= 100) + L.hallucination += rand(1,10) /mob/living/simple_mob/vore/alienanimals/spooky_ghost/Life() . = ..() diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/stardog.dm b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/stardog.dm index 633df96ec8b..6bf397a3814 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/stardog.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/stardog.dm @@ -69,8 +69,8 @@ /mob/living/simple_mob/vore/overmap/stardog/Login() . = ..() - verbs -= /mob/living/simple_mob/proc/set_name - verbs -= /mob/living/simple_mob/proc/set_desc + remove_verb(src, /mob/living/simple_mob/proc/set_name) + remove_verb(src, /mob/living/simple_mob/proc/set_desc) /mob/living/simple_mob/vore/overmap/stardog/attack_hand(mob/living/user) if(!(user.pickup_pref && user.pickup_active)) @@ -87,16 +87,16 @@ if(!possible_targets.len) return ..() - user.visible_message("\The [user] reaches for something in \the [src]'s fur...","You look through \the [src]'s fur...") + user.visible_message(span_warning("\The [user] reaches for something in \the [src]'s fur..."),span_notice("You look through \the [src]'s fur...")) var/mob/living/that_one = tgui_input_list(user, "Select a mob:", "Select a mob to grab!", possible_targets) if(!that_one) return ..() - to_chat(that_one, "\The [user]'s hand reaches toward you!!!") + to_chat(that_one, span_danger("\The [user]'s hand reaches toward you!!!")) if(!do_after(user, 3 SECONDS, src)) return ..() if(!istype(that_one.loc,/turf/simulated/floor/outdoors/fur)) - to_chat(user, "\The [that_one] got away...") - to_chat(that_one, "You got away!") + to_chat(user, span_warning("\The [that_one] got away...")) + to_chat(that_one, span_notice("You got away!")) return var/prev_size = that_one.size_multiplier that_one.resize(RESIZE_TINY, ignore_prefs = TRUE) @@ -148,7 +148,7 @@ movement_cooldown = 0 /mob/living/simple_mob/vore/overmap/stardog/perform_the_nom(mob/living/user, mob/living/prey, mob/living/pred, obj/belly/belly, delay) - to_chat(src, "You can't do that.") //The dog can move back and forth between the overmap. + to_chat(src, span_warning("You can't do that.")) //The dog can move back and forth between the overmap. return //If it can do normal vore mechanics, it can carry players to the OM, //and release them there. I think that's probably a bad idea. @@ -164,10 +164,10 @@ weather_areas -= anything return ..() -/mob/living/simple_mob/vore/overmap/stardog/Stat() - ..() - if(statpanel("Status")) - stat(null, "Affinity: [round(affinity)]") +/mob/living/simple_mob/vore/overmap/stardog/get_status_tab_items() + . = ..() + . += "" + . += "Affinity: [round(affinity)]" /mob/living/simple_mob/vore/overmap/stardog/start_pulling(var/atom/movable/AM) if(!istype(loc, /turf/unsimulated/map)) //Don't pull stuff on the overmap @@ -187,14 +187,14 @@ /mob/living/simple_mob/vore/overmap/stardog/verb/eject() set name = "Eject" set desc = "Stop controlling the dog and return to your own body." - set category = "Abilities" + set category = "Abilities.Stardog" control_node.eject() /mob/living/simple_mob/vore/overmap/stardog/verb/eat_space_weather() set name = "Eat Space Weather" set desc = "Eat carp or rocks!" - set category = "Abilities" + set category = "Abilities.Stardog" var/obj/effect/overmap/event/E var/nut = 0 @@ -253,24 +253,24 @@ heal = TRUE delet = FALSE else - to_chat(src, "You can't eat \the [e].") + to_chat(src, span_warning("You can't eat \the [e].")) return if(!E) - to_chat(src, "There isn't anything to eat here.") + to_chat(src, span_warning("There isn't anything to eat here.")) return - to_chat(src, "You begin to eat \the [E]...") + to_chat(src, span_notice("You begin to eat \the [E]...")) if(!do_after(src, 20 SECONDS, E, exclusive = TRUE)) return - to_chat(src, "[msg]") + to_chat(src, span_notice("[msg]")) if(nut || aff) adjust_nutrition(nut) adjust_affinity(aff) if(mob) spawn_mob() - to_chat(src, "You can feel something moving inside of you...") + to_chat(src, span_notice("You can feel something moving inside of you...")) if(ore) spawn_ore(ore) if(tre) @@ -297,9 +297,9 @@ /mob/living/simple_mob/vore/overmap/stardog/verb/transition() //Don't ask how it works. I don't know. I didn't think about it. I just thought it would be cool. set name = "Transition" set desc = "Attempt to go to the location you have arrived at, or return to space!" - set category = "Abilities" + set category = "Abilities.Stardog" if(nutrition <= 500) - to_chat(src, "You're too hungry...") + to_chat(src, span_warning("You're too hungry...")) return if(istype(loc, /turf/unsimulated/map)) var/list/destinations = list() @@ -312,7 +312,7 @@ for(var/our_z in v.map_z) our_maps |= our_z if(!our_maps.len) - to_chat(src, "There is nowhere nearby to go to! You need to get closer to somewhere you can transition to before you can transition.") + to_chat(src, span_warning("There is nowhere nearby to go to! You need to get closer to somewhere you can transition to before you can transition.")) return for(var/obj/effect/landmark/l in landmarks_list) if(l.z in our_maps) @@ -320,30 +320,30 @@ destinations |= l if(!destinations.len) - to_chat(src, "There is nowhere nearby to land! You need to get closer to somewhere else that you can transition to before you can transition.") + to_chat(src, span_warning("There is nowhere nearby to land! You need to get closer to somewhere else that you can transition to before you can transition.")) return for(var/obj/effect/landmark/stardog/l in destinations) var/obj/effect/overmap/visitable/our_dest = tgui_input_list(src, "Where would you like to try to go?", "Transition", destinations, timeout = 15 SECONDS, strict_modern = TRUE) if(!our_dest) - to_chat(src, "You decide not to transition.") + to_chat(src, span_warning("You decide not to transition.")) return - to_chat(src, "You begin to transition down to \the [our_dest], stay still...") + to_chat(src, span_notice("You begin to transition down to \the [our_dest], stay still...")) if(!do_after(src, 15 SECONDS, exclusive = TRUE)) - to_chat(src, "You were interrupted.") + to_chat(src, span_warning("You were interrupted.")) return - visible_message("\The [src] disappears!!!") + visible_message(span_warning("\The [src] disappears!!!")) stop_pulling() forceMove(get_turf(our_dest)) adjust_nutrition(-1000) - visible_message("\The [src] steps into the area as if from nowhere!") + visible_message(span_warning("\The [src] steps into the area as if from nowhere!")) else - to_chat(src, "You begin to transition back to space, stay still...") + to_chat(src, span_notice("You begin to transition back to space, stay still...")) if(!do_after(src, 15 SECONDS, exclusive = TRUE)) - to_chat(src, "You were interrupted.") + to_chat(src, span_warning("You were interrupted.")) return - visible_message("\The [src] disappears!!!") + visible_message(span_warning("\The [src] disappears!!!")) stop_pulling() forceMove(get_turf(get_overmap_sector(z))) adjust_nutrition(-500) @@ -451,10 +451,10 @@ /turf/simulated/floor/outdoors/fur/verb/pet() set name = "Pet Fur" set desc = "Pet the fur!" - set category = "IC" + set category = "IC.Stardog" set src in oview(1) - usr.visible_message("\The [usr] pets \the [src].", "You pet \the [src].", runemessage = "pet pat...") + usr.visible_message(span_notice("\The [usr] pets \the [src]."), span_notice("You pet \the [src]."), runemessage = "pet pat...") var/obj/effect/overmap/visitable/ship/simplemob/stardog/s = get_overmap_sector(z) if(s && istype(s, /obj/effect/overmap/visitable/ship/simplemob/stardog)) @@ -466,14 +466,14 @@ /turf/simulated/floor/outdoors/fur/verb/emote_beyond(message as message) //Now even the stars will know your sin. set name = "Emote Beyond" set desc = "Emote to those beyond the fur!" - set category = "IC" + set category = "IC.Chat" set src in oview(1) if(!isliving(usr)) return var/mob/living/L = usr if(L.client.prefs.muted & MUTE_IC) - to_chat(L, "You cannot speak in IC (muted).") + to_chat(L, span_warning("You cannot speak in IC (muted).")) return if (!message) message = tgui_input_text(usr, "Type a message to emote.","Emote Beyond") @@ -489,25 +489,25 @@ var/mob/living/simple_mob/vore/overmap/stardog/m = s.parent log_subtle(message,L) - message = "[L] [message]" - message = "(From the back of \the [m]) " + message + message = span_emote_subtle(span_bold("[L]") + " " + span_italics("[message]")) + message = span_bold("(From the back of \the [m]) ") + message message = encode_html_emphasis(message) - var/undisplayed_message = "[L] does something too subtle for you to see." + var/undisplayed_message = span_emote(span_bold("[L]") + " " + span_italics("does something too subtle for you to see.")) var/list/vis = get_mobs_and_objs_in_view_fast(get_turf(m),1,2) var/list/vis_mobs = vis["mobs"] vis_mobs |= L for(var/mob/M as anything in vis_mobs) if(isnewplayer(M)) continue - if(isobserver(M) && (!M.is_preference_enabled(/datum/client_preference/ghost_see_whisubtle) || \ - !L.is_preference_enabled(/datum/client_preference/whisubtle_vis) && !M.client?.holder)) + if(isobserver(M) && (!M.client?.prefs?.read_preference(/datum/preference/toggle/ghost_see_whisubtle) || \ + !L.client?.prefs?.read_preference(/datum/preference/toggle/whisubtle_vis) && !M.client?.holder)) spawn(0) M.show_message(undisplayed_message, 2) else spawn(0) M.show_message(message, 2) - if(M.is_preference_enabled(/datum/client_preference/subtle_sounds)) + if(M.read_preference(/datum/preference/toggle/subtle_sounds)) M << sound('sound/talksounds/subtle_sound.ogg', volume = 50) /decl/flooring/fur @@ -605,13 +605,13 @@ var/obj/item/stack/material/fur/F = new product(get_turf(src), product_amount) F.color = color F.update_icon() - visible_message("\The [src] is felled!") + visible_message(span_notice("\The [src] is felled!")) if(prob(mob_chance)) if(!mob_list.len) return var/ourmob = pickweight(mob_list) var/mob/living/simple_mob/s = new ourmob(get_turf(src)) - visible_message("\The [s] tumbles out of \the [src]!") + visible_message(span_danger("\The [s] tumbles out of \the [src]!")) s.ai_holder.hostile = FALSE s.ai_holder.retaliate = TRUE s.ghostjoin = TRUE @@ -628,7 +628,7 @@ name = "dense fur" desc = "Silky and soft, but too thick to pass or cut!" -/obj/structure/flora/tree/fur/wall/attackby(obj/item/weapon/W, mob/living/user) +/obj/structure/flora/tree/fur/wall/attackby(obj/item/W, mob/living/user) return /area/redgate/stardog @@ -667,23 +667,23 @@ var/mob_chance = 10 var/treasure_chance = 50 var/list/valid_treasure = list( - /obj/item/weapon/cell/infinite = 5, - /obj/item/weapon/cell/device/weapon/recharge/alien = 5, - /obj/item/device/nif/authentic = 1, + /obj/item/cell/infinite = 5, + /obj/item/cell/device/weapon/recharge/alien = 5, + /obj/item/nif/authentic = 1, /obj/item/toy/bosunwhistle = 50, /obj/random/mouseray = 50, - /obj/item/weapon/gun/energy/mouseray/metamorphosis/advanced/random = 10, - /obj/item/weapon/gun/energy/mouseray/metamorphosis/advanced = 5, + /obj/item/gun/energy/mouseray/metamorphosis/advanced/random = 10, + /obj/item/gun/energy/mouseray/metamorphosis/advanced = 5, /obj/item/clothing/mask/gas/voice = 25, - /obj/item/device/perfect_tele = 15, - /obj/item/weapon/gun/energy/sizegun = 50, - /obj/item/device/slow_sizegun = 50, + /obj/item/perfect_tele = 15, + /obj/item/gun/energy/sizegun = 50, + /obj/item/slow_sizegun = 50, /obj/item/capture_crystal/master = 5, /obj/item/capture_crystal/ultra = 15, /obj/item/capture_crystal/great = 25, /obj/item/capture_crystal/random = 50, /obj/random/pizzabox = 10, //The dog intercepted your pizza voucher delivery, what a scamp - /obj/item/weapon/bluespace_harpoon = 15, + /obj/item/bluespace_harpoon = 15, /obj/random/awayloot = 5, /obj/random/cash = 15, /obj/random/cash/big = 10, @@ -924,13 +924,13 @@ ghostjoin = FALSE /area/redgate/stardog/flesh_abyss/node - enter_message = "Radical energy hangs as a haze in the air. It's much less hot here than other places within the dog, but the air is thick with alien whispers and desires that you can hardly comprehend." + enter_message = span_notice("Radical energy hangs as a haze in the air. It's much less hot here than other places within the dog, but the air is thick with alien whispers and desires that you can hardly comprehend.") icon_state = "yelwhisqu" requires_power = 0 spawnstuff = FALSE /area/redgate/stardog/flesh_abyss/play_ambience(var/mob/living/L, initial = TRUE) - if(!L.is_preference_enabled(/datum/client_preference/digestion_noises)) + if(!L.check_sound_preference(/datum/preference/toggle/digestion_noises)) return ..() @@ -1051,26 +1051,26 @@ if(!host) set_up() if(!host) - to_chat(user, "It doesn't respond...") + to_chat(user, span_warning("It doesn't respond...")) return control(user) /obj/structure/control_pod/proc/control(mob/living/user) if(!host.affinity) //take care of my dog - to_chat(user, "As you press your hand to \the [src], it resists your advance... A sense of longing ripples through your mind...") + to_chat(user, span_warning("As you press your hand to \the [src], it resists your advance... A sense of longing ripples through your mind...")) return if(controller) //busy - to_chat(user, "You can see \the [controller] inside! Tendrils of nerves seem to have attached themselves to \the [controller]! There's no room for you right now!") + to_chat(user, span_warning("You can see \the [controller] inside! Tendrils of nerves seem to have attached themselves to \the [controller]! There's no room for you right now!")) return - user.visible_message("\The [user] reaches out to touch \the [src]...","You reach out to touch \the [src]...") + user.visible_message(span_notice("\The [user] reaches out to touch \the [src]..."),span_notice("You reach out to touch \the [src]...")) if(!do_after(user, 10 SECONDS, src, exclusive = TRUE)) - user.visible_message("\The [user] pulls back from \the [src].","You pull back from \the [src].") + user.visible_message(span_warning("\The [user] pulls back from \the [src]."),span_warning("You pull back from \the [src].")) return if(controller) //got busy while you were waiting, get rekt - to_chat(user, "You can see \the [controller] inside! Tendrils of nerves seem to have attached themselves to \the [controller]! There's no room for you right now!") + to_chat(user, span_warning("You can see \the [controller] inside! Tendrils of nerves seem to have attached themselves to \the [controller]! There's no room for you right now!")) return controller = user - visible_message("\The [src] accepts \the [controller], submerging them beneath the surface of the flesh!") + visible_message(span_warning("\The [src] accepts \the [controller], submerging them beneath the surface of the flesh!")) user.stop_pulling() user.forceMove(src) host.ckey = user.ckey @@ -1080,10 +1080,10 @@ set_light(5, 0.75, "#f94bff") /obj/structure/control_pod/proc/eject() - to_chat(host, "You feel your control over \the [host] slip away from you!") + to_chat(host, span_warning("You feel your control over \the [host] slip away from you!")) controller.forceMove(get_turf(src)) controller.ckey = host.ckey - visible_message("\The [controller] is ejected from \the [src], tumbling free!") + visible_message(span_warning("\The [controller] is ejected from \the [src], tumbling free!")) log_admin("[controller.ckey] is no longer controlling [host], they have been returned to their body, [controller].") icon_state = "control_node0" plane = OBJ_PLANE @@ -1139,14 +1139,14 @@ /obj/machinery/computer/ship/navigation/verb/emote_beyond(message as message) //I could have put this into any other file but right here will do set name = "Emote Beyond" set desc = "Emote to those beyond the ship!" - set category = "IC" + set category = "IC.Chat" set src in oview(7) if(!isliving(usr)) return var/mob/living/L = usr if(L.client.prefs.muted & MUTE_IC) - to_chat(L, "You cannot speak in IC (muted).") + to_chat(L, span_warning("You cannot speak in IC (muted).")) return if (!message) message = tgui_input_text(usr, "Type a message to emote.","Emote Beyond") @@ -1157,29 +1157,29 @@ return L.say_dead(message) var/obj/effect/overmap/visitable/ship/s = get_overmap_sector(z) if(!s || !istype(s, /obj/effect/overmap/visitable/ship)) - to_chat(L, "You can't do that here.") + to_chat(L, span_warning("You can't do that here.")) return log_subtle(message,L) - message = "[L] [message]" - message = "(From within \the [s]) " + message + message = span_emote_subtle(span_bold("[L]") + " " + span_italics("[message]")) + message = span_bold("(From within \the [s]) ") + message message = encode_html_emphasis(message) - var/undisplayed_message = "[L] does something too subtle for you to see." + var/undisplayed_message = span_emote(span_bold("[L]") + " " + span_italics("does something too subtle for you to see.")) var/list/vis = get_mobs_and_objs_in_view_fast(get_turf(s),1,2) var/list/vis_mobs = vis["mobs"] vis_mobs |= L for(var/mob/M as anything in vis_mobs) if(isnewplayer(M)) continue - if(isobserver(M) && (!M.is_preference_enabled(/datum/client_preference/ghost_see_whisubtle) || \ - !L.is_preference_enabled(/datum/client_preference/whisubtle_vis) && !M.client?.holder)) + if(isobserver(M) && (!M.client?.prefs?.read_preference(/datum/preference/toggle/ghost_see_whisubtle) || \ + !L.client?.prefs?.read_preference(/datum/preference/toggle/whisubtle_vis) && !M.client?.holder)) spawn(0) M.show_message(undisplayed_message, 2) else spawn(0) M.show_message(message, 2) - if(M.is_preference_enabled(/datum/client_preference/subtle_sounds)) + if(M.read_preference(/datum/preference/toggle/subtle_sounds)) M << sound('sound/talksounds/subtle_sound.ogg', volume = 50) /area/redgate/stardog/eyes @@ -1234,7 +1234,7 @@ /obj/effect/dog_nose/attack_hand(mob/living/user) . = ..() - user.visible_message("\The [user] boops the snoot.","You boop the snoot.",runemessage = "boop") + user.visible_message(span_notice("\The [user] boops the snoot."),span_notice("You boop the snoot."),runemessage = "boop") /obj/effect/dog_nose/Crossed(atom/movable/AM as mob|obj) . = ..() @@ -1244,7 +1244,7 @@ if(!isliving(L)) return if(L.client) - to_chat(L, "A hot breath rushes up from under your feet, before the air rushes back down into the dog's nose as the dog sniffs you! SNEEF SNEEF!!!") + to_chat(L, span_notice("A hot breath rushes up from under your feet, before the air rushes back down into the dog's nose as the dog sniffs you! SNEEF SNEEF!!!")) /obj/effect/dog_eye/Initialize() . = ..() @@ -1335,8 +1335,8 @@ var/go = FALSE if(isobserver(AM)) return - playsound(src, teleport_sound, vol = 100, vary = 1, preference = /datum/client_preference/eating_noises, volume_channel = VOLUME_CHANNEL_VORE) - playsound(target, teleport_sound, vol = 100, vary = 1, preference = /datum/client_preference/eating_noises, volume_channel = VOLUME_CHANNEL_VORE) + playsound(src, teleport_sound, vol = 100, vary = 1, preference = /datum/preference/toggle/eating_noises, volume_channel = VOLUME_CHANNEL_VORE) + playsound(target, teleport_sound, vol = 100, vary = 1, preference = /datum/preference/toggle/eating_noises, volume_channel = VOLUME_CHANNEL_VORE) if(isliving(AM)) var/mob/living/L = AM if(teleport_message && L.client) @@ -1348,7 +1348,7 @@ if(!go) return - visible_message("\The [AM] passes through \the [src]!") + visible_message(span_danger("\The [AM] passes through \the [src]!")) if(throw_through) //We will throw the target to the south! var/turf/throwtarg = locate(target.x, (target.y - 5), target.z) spawn(0) @@ -1356,11 +1356,11 @@ /obj/effect/dog_teleporter/food_gobbler teleport_sound = 'sound/vore/gulp.ogg' - teleport_message = "The thundering drum of the dog's heart beat throbs all around you, while the sweltering heat of its body soaks into you. It's soft and wet as a symphony of gurgles and glorps fills the steamy air!" + teleport_message = span_notice("The thundering drum of the dog's heart beat throbs all around you, while the sweltering heat of its body soaks into you. It's soft and wet as a symphony of gurgles and glorps fills the steamy air!") /obj/effect/dog_teleporter/food_gobbler/Crossed(atom/movable/AM) - if(istype(AM, /obj/item/weapon/reagent_containers/food)) + if(istype(AM, /obj/item/reagent_containers/food)) gobble_food(AM) else return ..() @@ -1374,10 +1374,10 @@ var/mob/living/simple_mob/vore/overmap/stardog/dog = s.parent dog.adjust_nutrition(I.reagents.total_volume) dog.adjust_affinity(25) - playsound(src, teleport_sound, vol = 100, vary = 1, preference = /datum/client_preference/eating_noises, volume_channel = VOLUME_CHANNEL_VORE) - visible_message("The dog gobbles up \the [I]!") + playsound(src, teleport_sound, vol = 100, vary = 1, preference = /datum/preference/toggle/eating_noises, volume_channel = VOLUME_CHANNEL_VORE) + visible_message(span_warning("The dog gobbles up \the [I]!")) if(dog.client) - to_chat(dog, "[I.thrower ? "\The [I.thrower]" : "Someone"] feeds \the [I] to you!") + to_chat(dog, span_notice("[I.thrower ? "\The [I.thrower]" : "Someone"] feeds \the [I] to you!")) qdel(I) GLOB.items_digested_roundstat++ @@ -1467,13 +1467,13 @@ if(I.unacidable || I.throwing || I.is_incorporeal()) return FALSE var/food = FALSE - if(istype(I,/obj/item/weapon/reagent_containers/food)) + if(istype(I,/obj/item/reagent_containers/food)) food = TRUE if(prob(95)) //Give people a chance to pick them up return TRUE - I.visible_message("\The [I] sizzles...") + I.visible_message(span_warning("\The [I] sizzles...")) var/yum = I.digest_act() //Glorp - if(istype(I , /obj/item/weapon/card)) + if(istype(I , /obj/item/card)) yum = 0 //No, IDs do not have infinite nutrition, thank you if(mobstuff && linked_mob && yum) if(food) @@ -1523,7 +1523,7 @@ if(istype(W, /obj/item/organ/internal/mmi_holder/posibrain)) var/obj/item/organ/internal/mmi_holder/MMI = W MMI.removed() - if(istype(W, /obj/item/weapon/implant/backup) || istype(W, /obj/item/device/nif) || istype(W, /obj/item/organ)) + if(istype(W, /obj/item/implant/backup) || istype(W, /obj/item/nif) || istype(W, /obj/item/organ)) continue H.drop_from_inventory(W) if(linked_mob) @@ -1630,7 +1630,7 @@ 'sound/vore/sunesound/prey/squish_04.ogg', 'sound/vore/sunesound/prey/stomachmove.ogg' ) - var/faction = "macrobacteria" + var/faction = FACTION_MACROBACTERIA /obj/structure/auto_flesh_door/Initialize() . = ..() @@ -1653,7 +1653,7 @@ if(isliving(L)) L.Weaken(3) if(prob(5)) - to_chat(L, "\The [src] throbs heavily around you...") + to_chat(L, span_warning("\The [src] throbs heavily around you...")) /obj/structure/auto_flesh_door/attack_generic(mob/user, damage, attack_verb) . = ..() @@ -1663,11 +1663,11 @@ else if(user.faction == faction) SwitchState() else if(user.a_intent == I_HELP) - visible_message("[user] knocks on \the [src].", "Someone knocks on \the [src].") + visible_message(span_warningplain("[user] knocks on \the [src]."), span_warningplain("Someone knocks on \the [src].")) playsound(src, knock_sound, 50, 0, 3) countdown -= 10 else - visible_message("[user] hammers on \the [src]!", "Someone hammers loudly on \the [src]!") + visible_message(span_warning("[user] hammers on \the [src]!"), span_warning("Someone hammers loudly on \the [src]!")) playsound(src, knock_sound, 50, 0, 3) countdown -= 25 @@ -1679,11 +1679,11 @@ else if(user.faction == faction) SwitchState() else if(user.a_intent == I_HELP) - visible_message("[user] knocks on \the [src].", "Someone knocks on \the [src].") + visible_message(span_warningplain("[user] knocks on \the [src]."), span_warningplain("Someone knocks on \the [src].")) playsound(src, knock_sound, 50, 0, 3) countdown -= 10 else - visible_message("[user] hammers on \the [src]!", "Someone hammers loudly on \the [src]!") + visible_message(span_warning("[user] hammers on \the [src]!"), span_warning("Someone hammers loudly on \the [src]!")) playsound(src, knock_sound, 50, 0, 3) countdown -= 25 @@ -1699,7 +1699,7 @@ /obj/structure/auto_flesh_door/proc/Open() isSwitchingStates = 1 var/oursound = pick(open_sounds) - playsound(src, oursound, 100, 1, preference = /datum/client_preference/digestion_noises , volume_channel = VOLUME_CHANNEL_VORE) + playsound(src, oursound, 100, 1, preference = /datum/preference/toggle/digestion_noises , volume_channel = VOLUME_CHANNEL_VORE) flick("flesh-opening",src) sleep(8) density = FALSE @@ -1715,7 +1715,7 @@ /obj/structure/auto_flesh_door/proc/Close() isSwitchingStates = 1 var/oursound = pick(open_sounds) - playsound(src, oursound, 100, 1, preference = /datum/client_preference/digestion_noises , volume_channel = VOLUME_CHANNEL_VORE) + playsound(src, oursound, 100, 1, preference = /datum/preference/toggle/digestion_noises , volume_channel = VOLUME_CHANNEL_VORE) flick("flesh-closing",src) sleep(8) density = TRUE @@ -1730,7 +1730,7 @@ for(var/mob/living/L in src.loc.contents) if(isliving(L)) L.Weaken(3) - L.visible_message("\The [src] closes up on \the [L]!","The weight of \the [src] closes in on you, squeezing you on all sides so tightly that you can hardly move! It throbs against you as the way is sealed, with you stuck in the middle!!!") + L.visible_message(span_danger("\The [src] closes up on \the [L]!"),span_danger("The weight of \the [src] closes in on you, squeezing you on all sides so tightly that you can hardly move! It throbs against you as the way is sealed, with you stuck in the middle!!!")) /obj/structure/auto_flesh_door/update_icon() if(state) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/startreader.dm b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/startreader.dm index f980220879e..7f63a58a1df 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/startreader.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/startreader.dm @@ -17,7 +17,7 @@ icon_living = "startreader" icon_dead = "startreader_dead" - faction = "space turtle" + faction = FACTION_SPACE_TURTLE maxHealth = 1000 health = 1000 movement_cooldown = 10 @@ -115,7 +115,7 @@ if(L.weakened) //Don't stun people while they're already stunned! That's SILLY! return if(prob(15)) - visible_message("\The [src] trips \the [L]!!") + visible_message(span_danger("\The [src] trips \the [L]!")) L.weakened += rand(1,10) /mob/living/simple_mob/vore/alienanimals/startreader/Life() @@ -124,7 +124,7 @@ flip_cooldown = 0 flipped = FALSE handle_flip() - visible_message("\The [src] rights itself!!!") + visible_message(span_notice("\The [src] rights itself!!!")) return if(flip_cooldown) flip_cooldown -- diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/succlet.dm b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/succlet.dm index c5205d5ecda..0d8642067eb 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/succlet.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/succlet.dm @@ -134,8 +134,8 @@ qdel(src) /mob/living/simple_mob/vore/alienanimals/succlet/attackby(var/obj/item/O, var/mob/user) - if(istype(O, /obj/item/weapon/newspaper) && !ckey && isturf(user.loc)) - user.visible_message("[user] swats [src] with [O]!") + if(istype(O, /obj/item/newspaper) && !ckey && isturf(user.loc)) + user.visible_message(span_info("[user] swats [src] with [O]!")) release_vore_contents() else ..() @@ -153,7 +153,7 @@ if(l.devourable && l.allowmobvore && l.can_be_drop_prey) target_turf = get_turf(l) else - to_chat(src, "You can't move on to [l], they are watching...") + to_chat(src, span_warning("You can't move on to [l], they are watching...")) return else if(isturf(target)) target_turf = target @@ -166,7 +166,7 @@ if(ismob(A)) continue else if(A.density && !(A.flags & ON_BORDER)) - to_chat(src, "You can't move there...") + to_chat(src, span_warning("You can't move there...")) return else return @@ -176,19 +176,19 @@ if(isliving(M) && M != src && M != target && !istype(M, /mob/observer) && !M.invisibility && !istype(M,/mob/living/simple_mob/vore/alienanimals/succlet)) var/mob/living/check = M if(check.stat == CONSCIOUS) - to_chat(src, "You can't move, [check] is watching...") + to_chat(src, span_warning("You can't move, [check] is watching...")) return else if (!check.eye_blind) - to_chat(src, "You can't move, [check] is watching...") + to_chat(src, span_warning("You can't move, [check] is watching...")) return for(var/atom/T in view(world.view, target_turf)) //Is anyone at our target? if(isliving(T) && T != src && T != target && !istype(T, /mob/observer) && !T.invisibility && !istype(T,/mob/living/simple_mob/vore/alienanimals/succlet)) var/mob/living/check = T if(check.stat == CONSCIOUS) - to_chat(src, "You can't move, [check] is watching...") + to_chat(src, span_warning("You can't move, [check] is watching...")) return else if (!check.eye_blind) - to_chat(src, "You can't move, [check] is watching...") + to_chat(src, span_warning("You can't move, [check] is watching...")) return forceMove(target_turf) if(l) @@ -221,7 +221,7 @@ if(user.a_intent != I_HELP) if(isliving(user)) var/mob/living/l = user - to_chat(l, "You feel \the [src]'s sting!!!") + to_chat(l, span_warning("You feel \the [src]'s sting!!!")) l.hallucination += 25 l.adjustHalLoss(200) l.adjustToxLoss(10) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/teppi.dm b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/teppi.dm index 0735d440ba4..4f9e9188c28 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/teppi.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/teppi.dm @@ -60,12 +60,12 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have? pixel_x = -16 default_pixel_x = -16 - faction = "teppi" + faction = FACTION_TEPPI maxHealth = 600 health = 600 movement_cooldown = -1 meat_amount = 12 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + meat_type = /obj/item/reagent_containers/food/snacks/meat response_help = "pets" response_disarm = "rudely paps" @@ -130,8 +130,8 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have? has_langs = list(LANGUAGE_TEPPI) say_list_type = /datum/say_list/teppi - player_msg = "Teppi are large omnivorous quadrupeds. You have four toes on each paw, a long, strong tail, and are quite tough and powerful. You’re a lot more intimidating than you are actually harmful though. Your kind are ordinarily rather passive, only really rising to violence when someone does violence to you or others like you. You’re not stupid though, you can commiunicate with others of your kind, and form bonds with those who are kind to you, be they Teppi or otherwise.
    - - - - -
    While you may have access to galactic common, this is purely meant for making it so you can understand people in an OOC manner, for facilitating roleplay. You almost certainly should not be speaking to people or roleplaying as though you understand everything everyone says perfectly, but it's not unreasonable to be able to intuit intent and such through people's tones when they speak. Teppi are kind of smart, but they are animals, and should be roleplayed as such. ADDITIONALLY, you have the ability to produce offspring if you're well fed enough every once in a while, and the ability to disable this from happening to you. These verbs exist for to preserve the mechanical functionality of the mob you are playing. You should be aware of your surroundings when you use this verb, and NEVER use it to prefbreak or be disruptive. If in doubt, don't use it. Also, to note, AI Teppi will never initiate breeding with player Teppi." - loot_list = list(/obj/item/weapon/bone/horn = 100) + player_msg = "Teppi are large omnivorous quadrupeds. You have four toes on each paw, a long, strong tail, and are quite tough and powerful. You’re a lot more intimidating than you are actually harmful though. Your kind are ordinarily rather passive, only really rising to violence when someone does violence to you or others like you. You’re not stupid though, you can commiunicate with others of your kind, and form bonds with those who are kind to you, be they Teppi or otherwise.
    - - - - -
    " + span_notice("While you may have access to galactic common, this is purely meant for making it so you can understand people in an OOC manner, for facilitating roleplay. You almost certainly should not be speaking to people or roleplaying as though you understand everything everyone says perfectly, but it's not unreasonable to be able to intuit intent and such through people's tones when they speak. Teppi are kind of smart, but they are animals, and should be roleplayed as such.") + " " + span_warning("ADDITIONALLY, you have the ability to produce offspring if you're well fed enough every once in a while, and the ability to disable this from happening to you. These verbs exist for to preserve the mechanical functionality of the mob you are playing. You should be aware of your surroundings when you use this verb, and NEVER use it to prefbreak or be disruptive. If in doubt, don't use it.") + " " + span_notice("Also, to note, AI Teppi will never initiate breeding with player Teppi.") + loot_list = list(/obj/item/bone/horn = 100) internal_organs = list(\ /obj/item/organ/internal/brain,\ /obj/item/organ/internal/heart,\ @@ -143,7 +143,7 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have? butchery_loot = list(\ /obj/item/stack/animalhide = 3,\ - /obj/item/weapon/bone/horn = 1\ + /obj/item/bone/horn = 1\ ) /////////////////////////////////////// Vore stuff/////////////////////////////////////////// @@ -333,11 +333,11 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have? real_name = name if(!teppi_adult) nutrition = 0 - verbs += /mob/living/proc/ventcrawl - verbs += /mob/living/proc/hide + add_verb(src, /mob/living/proc/ventcrawl) + add_verb(src, /mob/living/proc/hide) else - verbs += /mob/living/simple_mob/vore/alienanimals/teppi/proc/produce_offspring - verbs += /mob/living/simple_mob/vore/alienanimals/teppi/proc/toggle_producing_offspring + add_verb(src, /mob/living/simple_mob/vore/alienanimals/teppi/proc/produce_offspring) + add_verb(src, /mob/living/simple_mob/vore/alienanimals/teppi/proc/toggle_producing_offspring) // teppi_id = rand(1,100000) @@ -490,27 +490,27 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have? if(stat == DEAD) return ..() /////GRABS AND HOLDERS///// - if(istype(O, /obj/item/weapon/grab)) + if(istype(O, /obj/item/grab)) return ..() - if(istype(O, /obj/item/weapon/holder)) + if(istype(O, /obj/item/holder)) return ..() if(user.a_intent != I_HELP) //be gentle if(resting) lay_down() handle_affinity(user, -5) - user.visible_message(user, "\The [user] hits \the [src] with \the [O]. \The [src] grumbles at \the [user].","You hits \the [src] with \the [O]. \The [src] grumbles at you.") + user.visible_message(user, span_notice("\The [user] hits \the [src] with \the [O]. \The [src] grumbles at \the [user]."),span_notice("You hits \the [src] with \the [O]. \The [src] grumbles at you.")) playsound(src, 'sound/weapons/tap.ogg', 50, 1, -1) return ..() if(teppi_wool) if(teppi_shear(user, O)) return /////FOOD///// - if(istype(O, /obj/item/weapon/reagent_containers/food)) + if(istype(O, /obj/item/reagent_containers/food)) if(resting) - to_chat(user, "\The [src] is napping, and doesn't respond to \the [O].") + to_chat(user, span_notice("\The [src] is napping, and doesn't respond to \the [O].")) return if(nutrition >= 5000) - user.visible_message("\The [user] tries to feed \the [O] to \the [src]. It snoofs but does not eat.","You try to feed \the [O] to \the [src], but it only snoofts at it.") + user.visible_message(span_notice("\The [user] tries to feed \the [O] to \the [src]. It snoofs but does not eat."),span_notice("You try to feed \the [O] to \the [src], but it only snoofts at it.")) return var/nutriment_amount = O.reagents?.get_reagent_amount("nutriment") //does it have nutriment, if so how much? var/protein_amount = O.reagents?.get_reagent_amount("protein") //does it have protein, if so how much? @@ -529,54 +529,54 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have? if(R.allergen_type & allergen_unpreference) disliked = TRUE if(liked && disliked) //in case a food has both the thing they like and also the thing they don't like in it - user.visible_message("\The [user] feeds \the [O] to \the [src]. It nibbles \the [O] and looks confused.","You feed \the [O] to \the [src]. It nibbles \the [O] and looks confused.") + user.visible_message(span_notice("\The [user] feeds \the [O] to \the [src]. It nibbles \the [O] and looks confused."),span_notice("You feed \the [O] to \the [src]. It nibbles \the [O] and looks confused.")) else if(liked && !disliked) - user.visible_message("\The [user] feeds \the [O] to \the [src]. It nibbles \the [O] excitedly.","You feed \the [O] to \the [src]. It nibbles \the [O] excitedly.") + user.visible_message(span_notice("\The [user] feeds \the [O] to \the [src]. It nibbles \the [O] excitedly."),span_notice("You feed \the [O] to \the [src]. It nibbles \the [O] excitedly.")) yum *= 2 handle_affinity(user, 5) else if(!liked && disliked) - user.visible_message("\The [user] feeds \the [O] to \the [src]. It nibbles \the [O] slowly.","You feed \the [O] to \the [src]. It nibbles \the [O] slowly.") + user.visible_message(span_notice("\The [user] feeds \the [O] to \the [src]. It nibbles \the [O] slowly."),span_notice("You feed \the [O] to \the [src]. It nibbles \the [O] slowly.")) yum *= 0.5 handle_affinity(user, -5) else - user.visible_message("\The [user] feeds \the [O] to \the [src]. It nibbles \the [O].","You feed \the [O] to \the [src]. It nibbles \the [O].") + user.visible_message(span_notice("\The [user] feeds \the [O] to \the [src]. It nibbles \the [O]."),span_notice("You feed \the [O] to \the [src]. It nibbles \the [O].")) handle_affinity(user, 1) else - user.visible_message("\The [user] feeds \the [O] to \the [src]. It nibbles \the [O] casually.","You feed \the [O] to \the [src]. It nibbles \the [O] casually.") + user.visible_message(span_notice("\The [user] feeds \the [O] to \the [src]. It nibbles \the [O] casually."),span_notice("You feed \the [O] to \the [src]. It nibbles \the [O] casually.")) adjust_nutrition(yum) //add the nutriment! user.drop_from_inventory(O) qdel(O) playsound(src, 'sound/items/eatfood.ogg', 75, 1) if(!client && lets_eat(user) && prob(1)) - visible_message("\The [src] scromfs \the [user] along with the food!!") - to_chat(user, "\The [src] leans in close, spreading its jaws in front of you. A hot, humid gust of breath blows over you as the weight of \the [src]'s presses you over, knocking you off of your feet as the warm gooey tough of jaws scromf over your figure, rapidly guzzling you away with the [O], leaving you to tumble down into the depths of its body...") + visible_message(span_danger("\The [src] scromfs \the [user] along with the food!")) + to_chat(user, span_notice("\The [src] leans in close, spreading its jaws in front of you. A hot, humid gust of breath blows over you as the weight of \the [src]'s presses you over, knocking you off of your feet as the warm gooey tough of jaws scromf over your figure, rapidly guzzling you away with the [O], leaving you to tumble down into the depths of its body...")) playsound(src, pick(bodyfall_sound), 75, 1) teppi_pounce(user) if(yum && nutrition >= 500) - to_chat(user, "\The [src] seems satisfied.") + to_chat(user, span_notice("\The [src] seems satisfied.")) return /////WEAPONS///// - if(istype(O, /obj/item/weapon/material/knife)) + if(istype(O, /obj/item/material/knife)) if(client) return ..() if(resting) - user.visible_message("\The [user] approaches \the [src]'s neck with \the [O].","You approach \the [src]'s neck with \the [O].") + user.visible_message(span_attack("\The [user] approaches \the [src]'s neck with \the [O]."),span_attack("You approach \the [src]'s neck with \the [O].")) if(do_after(user, 5 SECONDS, exclusive = TASK_USER_EXCLUSIVE, target = src)) if(resting) death() return else - to_chat(user, "\The [src] woke up! You think better of slaughtering it while it is awake.") + to_chat(user, span_notice("\The [src] woke up! You think better of slaughtering it while it is awake.")) return else return ..() if(istype(O, /obj/item/clothing/accessory/collar/craftable)) var/obj/item/clothing/accessory/collar/craftable/C = O if(item_type == "collar") - to_chat(user, "[src] is already wearing a collar.") + to_chat(user, span_notice("[src] is already wearing a collar.")) return if(!C.given_name) - to_chat(user, "You didn't put a name on the collar. You can use it in your hand to do that!") + to_chat(user, span_notice("You didn't put a name on the collar. You can use it in your hand to do that!")) return item_type = "collar" item_color = C.color @@ -596,18 +596,18 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have? return ..() if(M.a_intent == I_GRAB && item_type) if(affinity[M.real_name] >= 30) - M.visible_message("\The [M.name] removes \the [src]'s [item_type].","You remove \the [src]'s [item_type].") + M.visible_message(span_notice("\The [M.name] removes \the [src]'s [item_type]."),span_notice("You remove \the [src]'s [item_type].")) item_type = null update_icon() return if(M.a_intent != I_HELP) //be gentle handle_affinity(M, -5) - to_chat(M, "\The [src] fusses at your rough treatment!!") + to_chat(M, span_notice("\The [src] fusses at your rough treatment!!")) if(resting) lay_down() return..() if(resting) - M.visible_message("\The [M.name] shakes \the [src] awake from their nap.","You shake \the [src] awake!") + M.visible_message(span_notice("\The [M.name] shakes \the [src] awake from their nap."),span_notice("You shake \the [src] awake!")) playsound(src, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) lay_down() return @@ -618,24 +618,24 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have? handle_affinity(M, 1) if(teppi_adult) if(prob(25)) - M.visible_message("\The [src] rumbles happily at \the [M]","\The [src] rumbles happily at you!") + M.visible_message(span_notice("\The [src] rumbles happily at \the [M]"),span_notice("\The [src] rumbles happily at you!")) playsound(src, 'sound/voice/teppi/rumble.ogg', 75, 1) vore_selected.digest_mode = DM_DRAIN //People outside can help calm the tumby if you squirm too much else if(prob(25)) - M.visible_message("\The [src] rumbles happily at \the [M]","\The [src] rumbles happily at you!") + M.visible_message(span_notice("\The [src] rumbles happily at \the [M]"),span_notice("\The [src] rumbles happily at you!")) playsound(src, 'sound/voice/teppi/cute_rumble.ogg', 75, 1) if(prob(25)) wantpet = rand(0,25) * affection_factor //We stopped wanting pets - to_chat(M, "\The [src] leans into your touch.") + to_chat(M, span_notice("\The [src] leans into your touch.")) petcount = 0 else if(petcount < 20) wantpet = 0 petcount += 1 if(prob(20)) - to_chat(M, "\The [src] grumbles at your touch.") + to_chat(M, span_notice("\The [src] grumbles at your touch.")) else if(lets_eat(M) && prob(50)) - to_chat(M, "\The [src] grumbles a bit... and then bowls you over, pressing their weight into yours to knock you off of your feet! In a rush of chaotic presses and schlorps, the gooey touch of Teppi flesh grinds over you as you're guzzled away! Casually swallowed down in retaliation for all of the pettings. Pumped down deep into the grumbling depths of \the [src].") - visible_message("\The [src] scromfs \the [M], before chuffing and settling down again.") + to_chat(M, span_notice("\The [src] grumbles a bit... and then bowls you over, pressing their weight into yours to knock you off of your feet! In a rush of chaotic presses and schlorps, the gooey touch of Teppi flesh grinds over you as you're guzzled away! Casually swallowed down in retaliation for all of the pettings. Pumped down deep into the grumbling depths of \the [src].")) + visible_message(span_danger("\The [src] scromfs \the [M], before chuffing and settling down again.")) playsound(src, pick(bodyfall_sound), 75, 1) teppi_pounce(M) wantpet = 100 @@ -645,13 +645,13 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have? /mob/living/simple_mob/vore/alienanimals/teppi/examine() . = ..() if(item_type) - . += "They are wearing a [item_type] with [name] written on it." + . += span_notice("They are wearing a [item_type] with [name] written on it.") if(nutrition >= 1000) - . += "They look well fed." + . += span_notice("They look well fed.") if(nutrition <= 500) - . += "They look hungry." + . += span_notice("They look hungry.") if(health < maxHealth && health / maxHealth * 100 <= 75) - . += "They look beat up." + . += span_notice("They look beat up.") /mob/living/simple_mob/vore/alienanimals/teppi/update_icon() @@ -731,8 +731,8 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have? /mob/living/simple_mob/vore/alienanimals/teppi/proc/teppi_shear(var/mob/user as mob, tool) var/sheartime = 3 SECONDS - if(istype(tool, /obj/item/weapon/material/knife)) - var/obj/item/weapon/material/knife/K = tool + if(istype(tool, /obj/item/material/knife)) + var/obj/item/material/knife/K = tool if(K.default_material == MAT_PLASTIC || K.default_material == MAT_FLINT) sheartime *= 2 if(K.dulled) @@ -741,12 +741,12 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have? sheartime *= 2 if(K.edge) sheartime *= 0.5 - else if(istype(tool, /obj/item/weapon/tool/wirecutters)) + else if(istype(tool, /obj/item/tool/wirecutters)) sheartime *= 2 else return FALSE if(do_after(user, sheartime, exclusive = TASK_USER_EXCLUSIVE, target = src)) - user.visible_message("\The [user] shears \the [src] with \the [tool].","You shear \the [src] with \the [tool].") + user.visible_message(span_notice("\The [user] shears \the [src] with \the [tool]."),span_notice("You shear \the [src] with \the [tool].")) amount_grown = rand(0,250) var/obj/item/stack/material/fur/F = new(get_turf(user), rand(10,15)) F.color = marking_color @@ -962,29 +962,29 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have? // /mob/living/simple_mob/vore/alienanimals/teppi/proc/produce_offspring() set name = "Produce Offspring" - set category = "Abilities" + set category = "Abilities.Teppi" set desc = "You can have babies if the conditions are right." if(prevent_breeding) - to_chat(src, "You have elected to not participate in breeding mechanics, and so cannot complete that action.") + to_chat(src, span_notice("You have elected to not participate in breeding mechanics, and so cannot complete that action.")) return if(!teppi_warned) - to_chat(src, "Be aware of your surroundings when using this verb. If you use this to be disruptive or prefbreak people, you are likely to eat a ban. If whoever's tending the teppi is trying to make more babies, or you're alone, or playing with other people who you know are into it, then sure. You should not however, for example, drag another teppi to the bar (or any public place) and drop a baby in the middle of the floor. If you're not sure if it's okay to do where you are, with whoever's around, it probably isn't. This is intended to preserve the mechanical utility of the mob you are playing as, not as a scene tool.") + to_chat(src, span_danger("Be aware of your surroundings when using this verb. If you use this to be disruptive or prefbreak people, you are likely to eat a ban. If whoever's tending the teppi is trying to make more babies, or you're alone, or playing with other people who you know are into it, then sure. You should not however, for example, drag another teppi to the bar (or any public place) and drop a baby in the middle of the floor. If you're not sure if it's okay to do where you are, with whoever's around, it probably isn't. This is intended to preserve the mechanical utility of the mob you are playing as, not as a scene tool.")) teppi_warned = TRUE return if(stat != CONSCIOUS) - to_chat(src, "I can't do that right now...") + to_chat(src, span_notice("I can't do that right now...")) return if(!teppi_adult) - to_chat(src, "I'm not old enough to make babies.") + to_chat(src, span_notice("I'm not old enough to make babies.")) return if(baby_countdown > 0) - to_chat(src, "It is not time yet...") + to_chat(src, span_notice("It is not time yet...")) return if(!breedable || nutrition < 500) - to_chat(src, "The conditions are not right to produce offspring.") + to_chat(src, span_notice("The conditions are not right to produce offspring.")) return if(GLOB.teppi_count >= GLOB.max_teppi) //if we can't make more then we shouldn't look for partners - to_chat(src, "I cannot produce more offspring at the moment, there are too many of us!") + to_chat(src, span_notice("I cannot produce more offspring at the moment, there are too many of us!")) return . = FALSE for(var/mob/living/simple_mob/vore/alienanimals/teppi/alltep in oview(1,src)) @@ -1000,17 +1000,17 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have? alltep.handle_affinity(src, 30) return if(. == FALSE) - to_chat(src, "There are no suitable partners nearby.") + to_chat(src, span_notice("There are no suitable partners nearby.")) /mob/living/simple_mob/vore/alienanimals/teppi/proc/toggle_producing_offspring() set name = "Toggle Producing Offspring" - set category = "Abilities" + set category = "Abilities.Teppi" set desc = "You can toggle whether or not you can produce offspring." if(!prevent_breeding) - to_chat(src, "You disable breeding.") + to_chat(src, span_notice("You disable breeding.")) prevent_breeding = TRUE else - to_chat(src, "You enable breeding.") + to_chat(src, span_notice("You enable breeding.")) prevent_breeding = FALSE ///////////////////AI Things//////////////////////// @@ -1100,7 +1100,7 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have? if(!leader) if(speaker_affinity >= 100) set_follow(speaker, follow_for = 10 MINUTES) - holder.visible_message("\The [holder] starts following \the [speaker]","\The [holder] starts following you.") + holder.visible_message(span_notice("\The [holder] starts following \the [speaker]"),span_notice("\The [holder] starts following you.")) return else var/mob/living/L = leader @@ -1108,19 +1108,19 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have? lose_follow() if(speaker_affinity >= 100) set_follow(speaker, follow_for = 10 MINUTES) - holder.visible_message("\The [holder] starts following \the [speaker]","\The [holder] starts following you.") + holder.visible_message(span_notice("\The [holder] starts following \the [speaker]"),span_notice("\The [holder] starts following you.")) return else if(speaker_affinity > T.affinity[L.real_name]) - holder.visible_message("\The [holder] starts following \the [speaker]","\The [holder] starts following you.") + holder.visible_message(span_notice("\The [holder] starts following \the [speaker]"),span_notice("\The [holder] starts following you.")) set_follow(speaker, follow_for = 10 MINUTES) return if(speaker_affinity == T.affinity[L.real_name]) lose_follow() - holder.visible_message("\The [holder] gives off an anxious whine.") + holder.visible_message(span_notice("\The [holder] gives off an anxious whine.")) if(findtext(message, "stop teppi") || findtext(message, "stay here") || findtext(message, "stop [holder.name]")) if(leader == speaker) lose_follow() - holder.visible_message("\The [holder] stops following \the [speaker]","\The [holder] stops following you.") + holder.visible_message(span_notice("\The [holder] stops following \the [speaker]"),span_notice("\The [holder] stops following you.")) return //This a teppi with funny colors will spawn! diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/animal.dm b/code/modules/mob/living/simple_mob/subtypes/animal/animal.dm index 6ef2c176f57..836e4b70410 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/animal.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/animal.dm @@ -1,6 +1,6 @@ /mob/living/simple_mob/animal mob_class = MOB_CLASS_ANIMAL - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + meat_type = /obj/item/reagent_containers/food/snacks/meat response_help = "pets" response_disarm = "shoos" @@ -31,10 +31,10 @@ /mob/living/simple_mob/animal/verb/set_flavour_text() set name = "Set Flavour Text" - set category = "IC" + set category = "IC.Settings" set desc = "Set your flavour text." set src = usr var/new_flavour_text = sanitize((input("Please describe yourself.", "Flavour Text", flavor_text) as message|null), MAX_MESSAGE_LEN) if(length(new_flavour_text) && !QDELETED(src)) flavor_text = new_flavour_text - to_chat(src, SPAN_NOTICE("Your flavour text has been updated.")) + to_chat(src, span_notice("Your flavour text has been updated.")) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/borer/borer.dm b/code/modules/mob/living/simple_mob/subtypes/animal/borer/borer.dm index 50e54cf8aaa..779e871695a 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/borer/borer.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/borer/borer.dm @@ -25,7 +25,7 @@ universal_understand = TRUE can_be_antagged = TRUE - holder_type = /obj/item/weapon/holder/borer + holder_type = /obj/item/holder/borer ai_holder_type = null // This is player-controlled, always. var/mob/living/carbon/human/host = null // The humanoid host for the brain worm. @@ -57,8 +57,8 @@ /mob/living/simple_mob/animal/borer/Initialize() add_language("Cortical Link") - verbs += /mob/living/proc/ventcrawl - verbs += /mob/living/proc/hide + add_verb(src, /mob/living/proc/ventcrawl) + add_verb(src, /mob/living/proc/hide) true_name = "[pick("Primary","Secondary","Tertiary","Quaternary")] [rand(1000,9999)]" @@ -73,13 +73,13 @@ if(host.reagents.has_reagent("sugar") && !docile) var/message = "You feel the soporific flow of sugar in your host's blood, lulling you into docility." var/target = controlling ? host : src - to_chat(target, span("warning", message)) + to_chat(target, span_warning(message)) docile = TRUE else if(docile) var/message = "You shake off your lethargy as the sugar leaves your host's blood." var/target = controlling ? host : src - to_chat(target, span("notice", message)) + to_chat(target, span_notice(message)) docile = FALSE // Chem regen. @@ -89,7 +89,7 @@ // Control stuff. if(controlling) if(docile) - to_chat(host, span("warning", "You are feeling far too docile to continue controlling your host...")) + to_chat(host, span_warning("You are feeling far too docile to continue controlling your host...")) host.release_control() return @@ -99,15 +99,9 @@ if(prob(host.brainloss/20)) host.say("*[pick(list("blink","blink_r","choke","aflap","drool","twitch","twitch_v","gasp"))]") -/mob/living/simple_mob/animal/borer/Stat() - ..() - if(client.statpanel == "Status") - statpanel("Status") - if(emergency_shuttle) - var/eta_status = emergency_shuttle.get_status_panel_eta() - if(eta_status) - stat(null, eta_status) - stat("Chemicals", chemicals) +/mob/living/simple_mob/animal/borer/get_status_tab_items() + . = ..() + . += "Chemicals: [chemicals]" /mob/living/simple_mob/animal/borer/proc/detatch() if(!host || !controlling) @@ -122,9 +116,9 @@ controlling = FALSE host.remove_language("Cortical Link") - host.verbs -= /mob/living/carbon/proc/release_control - host.verbs -= /mob/living/carbon/proc/punish_host - host.verbs -= /mob/living/carbon/proc/spawn_larvae + remove_verb(host, /mob/living/carbon/proc/release_control) + remove_verb(host, /mob/living/carbon/proc/punish_host) + remove_verb(host, /mob/living/carbon/proc/spawn_larvae) if(host_brain) // these are here so bans and multikey warnings are not triggered on the wrong people when ckey is changed. @@ -201,10 +195,10 @@ ckey = candidate.ckey if(mind) - mind.assigned_role = "Cortical Borer" - mind.special_role = "Cortical Borer" + mind.assigned_role = JOB_CORTICAL_BORER + mind.special_role = JOB_CORTICAL_BORER - to_chat(src, span("notice", "You are a cortical borer! You are a brain slug that worms its way \ + to_chat(src, span_notice("You are a cortical borer! You are a brain slug that worms its way \ into the head of its victim. Use stealth, persuasion and your powers of mind control to keep you, \ your host and your eventual spawn safe and warm.")) to_chat(src, "You can speak to your victim with say, to other borers with say :x, and use your Abilities tab to access powers.") @@ -226,7 +220,7 @@ return if(client && client.prefs.muted & MUTE_IC) - to_chat(src, span("danger", "You cannot speak in IC (muted).")) + to_chat(src, span_danger("You cannot speak in IC (muted).")) return if(copytext(message, 1, 2) == "*") @@ -240,7 +234,7 @@ if(!host) if(chemicals >= 30) - to_chat(src, span("alien", "..You emit a psionic pulse with an encoded message..")) + to_chat(src, span_alien("..You emit a psionic pulse with an encoded message..")) var/list/nearby_mobs = list() for(var/mob/living/LM in view(src, 1 + round(6 * (chemicals / max_chemicals)))) if(LM == src) @@ -255,9 +249,9 @@ message_admins("[src.ckey]/([src]) tried to force [speaker] to say: [message]") speaker.say("[message]") return - to_chat(src, span("alien", "..But nothing heard it..")) + to_chat(src, span_alien("..But nothing heard it..")) else - to_chat(src, span("warning", "You have no host to speak to.")) + to_chat(src, span_warning("You have no host to speak to.")) return //No host, no audible speech. to_chat(src, "You drop words into [host]'s mind: \"[message]\"") @@ -266,7 +260,7 @@ for(var/mob/M in player_list) if(istype(M, /mob/new_player)) continue - else if(M.stat == DEAD && M.is_preference_enabled(/datum/client_preference/ghost_ears)) + else if(M.stat == DEAD && M.client?.prefs?.read_preference(/datum/preference/toggle/ghost_ears)) to_chat(M, "[src.true_name] whispers to [host], \"[message]\"") diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/borer/borer_captive.dm b/code/modules/mob/living/simple_mob/subtypes/animal/borer/borer_captive.dm index ab1d9cfbfec..208a52ac378 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/borer/borer_captive.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/borer/borer_captive.dm @@ -28,15 +28,15 @@ for (var/mob/M in player_list) if (istype(M, /mob/new_player)) continue - else if(M.stat == DEAD && M.is_preference_enabled(/datum/client_preference/ghost_ears)) + else if(M.stat == DEAD && M.client?.prefs?.read_preference(/datum/preference/toggle/ghost_ears)) to_chat(M, "The captive mind of [src] whispers, \"[message]\"") /mob/living/captive_brain/me_verb(message as text) - to_chat(src, "You cannot emote as a captive mind.") + to_chat(src, span_danger("You cannot emote as a captive mind.")) return /mob/living/captive_brain/emote(var/message) - to_chat(src, "You cannot emote as a captive mind.") + to_chat(src, span_danger("You cannot emote as a captive mind.")) return /mob/living/captive_brain/process_resist() @@ -45,19 +45,19 @@ var/mob/living/simple_mob/animal/borer/B = src.loc var/mob/living/captive_brain/H = src - to_chat(H, "You begin doggedly resisting the parasite's control (this will take approximately sixty seconds).") - to_chat(B.host, "You feel the captive mind of [src] begin to resist your control.") + to_chat(H, span_danger("You begin doggedly resisting the parasite's control (this will take approximately sixty seconds).")) + to_chat(B.host, span_danger("You feel the captive mind of [src] begin to resist your control.")) spawn(rand(200,250)+B.host.brainloss) if(!B || !B.controlling) return B.host.adjustBrainLoss(rand(0.1,0.5)) - to_chat(H, "With an immense exertion of will, you regain control of your body!") - to_chat(B.host, "You feel control of the host brain ripped from your grasp, and retract your probosci before the wild neural impulses can damage you.") + to_chat(H, span_danger("With an immense exertion of will, you regain control of your body!")) + to_chat(B.host, span_danger("You feel control of the host brain ripped from your grasp, and retract your probosci before the wild neural impulses can damage you.")) B.detatch() - verbs -= /mob/living/carbon/proc/release_control - verbs -= /mob/living/carbon/proc/punish_host - verbs -= /mob/living/carbon/proc/spawn_larvae + remove_verb(src, /mob/living/carbon/proc/release_control) + remove_verb(src, /mob/living/carbon/proc/punish_host) + remove_verb(src, /mob/living/carbon/proc/spawn_larvae) return diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/borer/borer_powers.dm b/code/modules/mob/living/simple_mob/subtypes/animal/borer/borer_powers.dm index 62b0c2b2090..85087a9b154 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/borer/borer_powers.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/borer/borer_powers.dm @@ -1,14 +1,14 @@ /mob/living/simple_mob/animal/borer/verb/release_host() - set category = "Abilities" + set category = "Abilities.Borer" set name = "Release Host" set desc = "Slither out of your host." if(!host) - to_chat(src, "You are not inside a host body.") + to_chat(src, span_warning("You are not inside a host body.")) return if(stat) - to_chat(src, "You cannot leave your host in your current state.") + to_chat(src, span_warning("You cannot leave your host in your current state.")) if(docile) to_chat(src, span_blue("You are feeling far too docile to do that.")) @@ -16,39 +16,39 @@ if(!host || !src) return - to_chat(src, "You begin disconnecting from [host]'s synapses and prodding at their internal ear canal.") + to_chat(src, span_warning("You begin disconnecting from [host]'s synapses and prodding at their internal ear canal.")) if(!host.stat) - to_chat(host, "An odd, uncomfortable pressure begins to build inside your skull, behind your ear...") + to_chat(host, span_warning("An odd, uncomfortable pressure begins to build inside your skull, behind your ear...")) spawn(100) if(!host || !src) return if(src.stat) - to_chat(src, "You cannot release your host in your current state.") + to_chat(src, span_warning("You cannot release your host in your current state.")) return - to_chat(src, "You wiggle out of [host]'s ear and plop to the ground.") + to_chat(src, span_warning("You wiggle out of [host]'s ear and plop to the ground.")) if(host.mind) if(!host.stat) - to_chat(host, "Something slimy wiggles out of your ear and plops to the ground!") - to_chat(host, "As though waking from a dream, you shake off the insidious mind control of the brain worm. Your thoughts are your own again.") + to_chat(host, span_danger("Something slimy wiggles out of your ear and plops to the ground!")) + to_chat(host, span_danger("As though waking from a dream, you shake off the insidious mind control of the brain worm. Your thoughts are your own again.")) detatch() leave_host() /mob/living/simple_mob/animal/borer/verb/infest() - set category = "Abilities" + set category = "Abilities.Borer" set name = "Infest" set desc = "Infest a suitable humanoid host." if(host) - to_chat(src, "You are already within a host.") + to_chat(src, span_warning("You are already within a host.")) return if(stat) - to_chat(src, "You cannot infest a target in your current state.") + to_chat(src, span_warning("You cannot infest a target in your current state.")) return var/list/choices = list() @@ -57,7 +57,7 @@ choices += C if(!choices.len) - to_chat(src, "There are no viable hosts within range...") + to_chat(src, span_warning("There are no viable hosts within range...")) return var/mob/living/carbon/M = tgui_input_list(src, "Who do you wish to infest?", "Target Choice", choices) @@ -67,7 +67,7 @@ if(!(src.Adjacent(M))) return if(M.has_brain_worms()) - to_chat(src, "You cannot infest someone who is already infested!") + to_chat(src, span_warning("You cannot infest someone who is already infested!")) return if(istype(M,/mob/living/carbon/human)) @@ -75,31 +75,31 @@ var/obj/item/organ/external/E = H.organs_by_name[BP_HEAD] if(!E || E.is_stump()) - to_chat(src, "\The [H] does not have a head!") + to_chat(src, span_warning("\The [H] does not have a head!")) if(!H.should_have_organ("brain")) - to_chat(src, "\The [H] does not seem to have an ear canal to breach.") + to_chat(src, span_warning("\The [H] does not seem to have an ear canal to breach.")) return if(H.check_head_coverage()) - to_chat(src, "You cannot get through that host's protective gear.") + to_chat(src, span_warning("You cannot get through that host's protective gear.")) return to_chat(M, "Something slimy begins probing at the opening of your ear canal...") - to_chat(src, "You slither up [M] and begin probing at their ear canal...") + to_chat(src, span_warning("You slither up [M] and begin probing at their ear canal...")) if(!do_after(src,30)) - to_chat(src, "As [M] moves away, you are dislodged and fall to the ground.") + to_chat(src, span_warning("As [M] moves away, you are dislodged and fall to the ground.")) return if(!M || !src) return if(src.stat) - to_chat(src, "You cannot infest a target in your current state.") + to_chat(src, span_warning("You cannot infest a target in your current state.")) return if(M in view(1, src)) - to_chat(src, "You wiggle into [M]'s ear.") + to_chat(src, span_warning("You wiggle into [M]'s ear.")) if(!M.stat) to_chat(M, "Something disgusting and slimy wiggles into your ear!") @@ -122,32 +122,32 @@ return else - to_chat(src, "They are no longer in range!") + to_chat(src, span_warning("They are no longer in range!")) return /* /mob/living/simple_mob/animal/borer/verb/devour_brain() - set category = "Abilities" + set category = "Abilities.Borer" set name = "Devour Brain" set desc = "Take permanent control of a dead host." if(!host) - to_chat(src, "You are not inside a host body.") + to_chat(src, span_warning("You are not inside a host body.")) return if(host.stat != 2) - to_chat(src, "Your host is still alive.") + to_chat(src, span_warning("Your host is still alive.")) return if(stat) - to_chat(src, "You cannot do that in your current state.") + to_chat(src, span_warning("You cannot do that in your current state.")) if(docile) - to_chat(src, "You are feeling far too docile to do that.") + to_chat(src, span_warning(span_blue("You are feeling far too docile to do that."))) return - to_chat(src, "It only takes a few moments to render the dead host brain down into a nutrient-rich slurry...") + to_chat(src, span_danger("It only takes a few moments to render the dead host brain down into a nutrient-rich slurry...")) replace_brain() */ @@ -157,20 +157,20 @@ var/mob/living/carbon/human/H = host if(!istype(host)) - to_chat(src, "This host does not have a suitable brain.") + to_chat(src, span_warning("This host does not have a suitable brain.")) return - to_chat(src, "You settle into the empty brainpan and begin to expand, fusing inextricably with the dead flesh of [H].") + to_chat(src, span_danger("You settle into the empty brainpan and begin to expand, fusing inextricably with the dead flesh of [H].")) H.add_language("Cortical Link") if(host.stat == 2) - H.verbs |= /mob/living/carbon/human/proc/jumpstart + add_verb(H, /mob/living/carbon/human/proc/jumpstart) - H.verbs |= /mob/living/carbon/human/proc/psychic_whisper - H.verbs |= /mob/living/carbon/human/proc/tackle + add_verb(H, /mob/living/carbon/human/proc/psychic_whisper) + add_verb(H, /mob/living/carbon/human/proc/tackle) if(antag) - H.verbs |= /mob/living/carbon/proc/spawn_larvae + add_verb(H, /mob/living/carbon/proc/spawn_larvae) if(H.client) H.ghostize(0) @@ -200,48 +200,48 @@ H.lastKnownIP = s2h_ip /mob/living/simple_mob/animal/borer/verb/secrete_chemicals() - set category = "Abilities" + set category = "Abilities.Borer" set name = "Secrete Chemicals" set desc = "Push some chemicals into your host's bloodstream." if(!host) - to_chat(src, "You are not inside a host body.") + to_chat(src, span_warning("You are not inside a host body.")) return if(stat) - to_chat(src, "You cannot secrete chemicals in your current state.") + to_chat(src, span_warning("You cannot secrete chemicals in your current state.")) if(docile) - to_chat(src, span_blue("You are feeling far too docile to do that.")) + to_chat(src, span_warning(span_blue("You are feeling far too docile to do that."))) return if(chemicals < 50) - to_chat(src, "You don't have enough chemicals!") + to_chat(src, span_warning("You don't have enough chemicals!")) var/chem = tgui_input_list(usr, "Select a chemical to secrete.", "Chemicals", list("alkysine","bicaridine","hyperzine","tramadol")) if(!chem || chemicals < 50 || !host || controlling || !src || stat) //Sanity check. return - to_chat(src, span_red("You squirt a measure of [chem] from your reservoirs into [host]'s bloodstream.")) + to_chat(src, span_bolddanger("You squirt a measure of [chem] from your reservoirs into [host]'s bloodstream.")) host.reagents.add_reagent(chem, 10) chemicals -= 50 /mob/living/simple_mob/animal/borer/verb/dominate_victim() - set category = "Abilities" + set category = "Abilities.Borer" set name = "Paralyze Victim" set desc = "Freeze the limbs of a potential host with supernatural fear." if(world.time - used_dominate < 150) - to_chat(src, "You cannot use that ability again so soon.") + to_chat(src, span_warning("You cannot use that ability again so soon.")) return if(host) - to_chat(src, "You cannot do that from within a host body.") + to_chat(src, span_warning("You cannot do that from within a host body.")) return if(src.stat) - to_chat(src, "You cannot do that in your current state.") + to_chat(src, span_warning("You cannot do that in your current state.")) return var/list/choices = list() @@ -250,7 +250,7 @@ choices += C if(world.time - used_dominate < 150) - to_chat(src, "You cannot use that ability again so soon.") + to_chat(src, span_warning("You cannot use that ability again so soon.")) return var/mob/living/carbon/M = tgui_input_list(src, "Who do you wish to dominate?", "Target Choice", choices) @@ -258,7 +258,7 @@ if(!M || !src) return if(M.has_brain_worms()) - to_chat(src, "You cannot infest someone who is already infested!") + to_chat(src, span_warning("You cannot infest someone who is already infested!")) return to_chat(src, span_red("You focus your psychic lance on [M] and freeze their limbs with a wave of terrible dread.")) @@ -268,23 +268,23 @@ used_dominate = world.time /mob/living/simple_mob/animal/borer/verb/bond_brain() - set category = "Abilities" + set category = "Abilities.Borer" set name = "Assume Control" set desc = "Fully connect to the brain of your host." if(!host) - to_chat(src, "You are not inside a host body.") + to_chat(src, span_warning("You are not inside a host body.")) return if(src.stat) - to_chat(src, "You cannot do that in your current state.") + to_chat(src, span_warning("You cannot do that in your current state.")) return if(docile) to_chat(src, span_blue("You are feeling far too docile to do that.")) return - to_chat(src, "You begin delicately adjusting your connection to the host brain...") + to_chat(src, span_warning("You begin delicately adjusting your connection to the host brain...")) spawn(100+(host.brainloss*5)) @@ -292,8 +292,8 @@ return else - to_chat(src, span_red("You plunge your probosci deep into the cortex of the host brain, interfacing directly with their nervous system.")) - to_chat(host, span_red("You feel a strange shifting sensation behind your eyes as an alien consciousness displaces yours.")) + to_chat(src, span_bolddanger("You plunge your probosci deep into the cortex of the host brain, interfacing directly with their nervous system.")) + to_chat(host, span_bolddanger("You feel a strange shifting sensation behind your eyes as an alien consciousness displaces yours.")) host.add_language("Cortical Link") // host -> brain @@ -331,15 +331,15 @@ controlling = 1 - host.verbs += /mob/living/carbon/proc/release_control - host.verbs += /mob/living/carbon/proc/punish_host + add_verb(host, /mob/living/carbon/proc/release_control) + add_verb(host, /mob/living/carbon/proc/punish_host) if(antag) - host.verbs += /mob/living/carbon/proc/spawn_larvae + add_verb(host, /mob/living/carbon/proc/spawn_larvae) return /mob/living/carbon/human/proc/jumpstart() - set category = "Abilities" + set category = "Abilities.Borer" set name = "Revive Host" set desc = "Send a jolt of electricity through your host, reviving them." @@ -347,8 +347,8 @@ to_chat(usr, "Your host is already alive.") return - verbs -= /mob/living/carbon/human/proc/jumpstart - visible_message("With a hideous, rattling moan, [src] shudders back to life!") + remove_verb(src, /mob/living/carbon/human/proc/jumpstart) + visible_message(span_warning("With a hideous, rattling moan, [src] shudders back to life!")) rejuvenate() restore_blood() diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/chicken.dm b/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/chicken.dm index bb31c1ef14f..f883dcc8490 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/chicken.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/chicken.dm @@ -27,7 +27,7 @@ GLOBAL_VAR_INIT(chicken_count, 0) // How mant chickens DO we have? say_list_type = /datum/say_list/chicken meat_amount = 4 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat/chicken + meat_type = /obj/item/reagent_containers/food/snacks/meat/chicken var/eggsleft = 0 var/body_color @@ -48,8 +48,8 @@ GLOBAL_VAR_INIT(chicken_count, 0) // How mant chickens DO we have? GLOB.chicken_count -= 1 /mob/living/simple_mob/animal/passive/chicken/attackby(var/obj/item/O as obj, var/mob/user as mob) - if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/grown)) //feedin' dem chickens - var/obj/item/weapon/reagent_containers/food/snacks/grown/G = O + if(istype(O, /obj/item/reagent_containers/food/snacks/grown)) //feedin' dem chickens + var/obj/item/reagent_containers/food/snacks/grown/G = O if(G.seed && G.seed.kitchen_tag == "wheat") if(!stat && eggsleft < 8) user.visible_message(span_blue("[user] feeds [O] to [name]! It clucks happily."),span_blue("You feed [O] to [name]! It clucks happily.")) @@ -70,7 +70,7 @@ GLOBAL_VAR_INIT(chicken_count, 0) // How mant chickens DO we have? if(!stat && prob(3) && eggsleft > 0) visible_message("[src] [pick("lays an egg.","squats down and croons.","begins making a huge racket.","begins clucking raucously.")]") eggsleft-- - var/obj/item/weapon/reagent_containers/food/snacks/egg/E = new(get_turf(src)) + var/obj/item/reagent_containers/food/snacks/egg/E = new(get_turf(src)) E.pixel_x = rand(-6,6) E.pixel_y = rand(-6,6) if(GLOB.chicken_count < GLOB.MAX_CHICKENS && prob(10)) @@ -82,10 +82,10 @@ GLOBAL_VAR_INIT(chicken_count, 0) // How mant chickens DO we have? -/obj/item/weapon/reagent_containers/food/snacks/egg/var/amount_grown = 0 +/obj/item/reagent_containers/food/snacks/egg/var/amount_grown = 0 // This only starts normally if there are less than MAX_CHICKENS chickens -/obj/item/weapon/reagent_containers/food/snacks/egg/process() +/obj/item/reagent_containers/food/snacks/egg/process() if(isturf(loc)) amount_grown += rand(1,2) if(amount_grown >= 100) @@ -127,7 +127,7 @@ GLOBAL_VAR_INIT(chicken_count, 0) // How mant chickens DO we have? say_list_type = /datum/say_list/chick meat_amount = 1 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat/chicken + meat_type = /obj/item/reagent_containers/food/snacks/meat/chicken var/amount_grown = 0 diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/cow.dm b/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/cow.dm index 4fdd32500e2..4ef95170e82 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/cow.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/cow.dm @@ -20,7 +20,7 @@ say_list_type = /datum/say_list/cow meat_amount = 10 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + meat_type = /obj/item/reagent_containers/food/snacks/meat var/datum/reagents/udder = null @@ -30,9 +30,9 @@ ..() /mob/living/simple_mob/animal/passive/cow/attackby(var/obj/item/O as obj, var/mob/user as mob) - var/obj/item/weapon/reagent_containers/glass/G = O + var/obj/item/reagent_containers/glass/G = O if(stat == CONSCIOUS && istype(G) && G.is_open_container()) - user.visible_message("[user] milks [src] using \the [O].") + user.visible_message(span_notice("[user] milks [src] using \the [O].")) var/transfered = udder.trans_id_to(G, "milk", rand(5,10)) if(G.reagents.total_volume >= G.volume) to_chat(user, span_red("The [O] is full.")) @@ -49,7 +49,7 @@ /mob/living/simple_mob/animal/passive/cow/attack_hand(mob/living/carbon/M as mob) if(!stat && M.a_intent == I_DISARM && icon_state != icon_dead) - M.visible_message("[M] tips over [src].","You tip over [src].") + M.visible_message(span_warning("[M] tips over [src]."),span_notice("You tip over [src].")) Weaken(30) icon_state = icon_dead spawn(rand(20,50)) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/goat.dm b/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/goat.dm index c172d0b6549..a1fccf962c3 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/goat.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/goat.dm @@ -6,7 +6,7 @@ icon_living = "goat" icon_dead = "goat_dead" - faction = "goat" + faction = FACTION_GOAT health = 40 maxHealth = 40 @@ -23,7 +23,7 @@ ai_holder_type = /datum/ai_holder/simple_mob/retaliate meat_amount = 6 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + meat_type = /obj/item/reagent_containers/food/snacks/meat var/datum/reagents/udder = null @@ -61,9 +61,9 @@ SV.die_off(1) /mob/living/simple_mob/animal/goat/attackby(var/obj/item/O as obj, var/mob/user as mob) - var/obj/item/weapon/reagent_containers/glass/G = O + var/obj/item/reagent_containers/glass/G = O if(stat == CONSCIOUS && istype(G) && G.is_open_container()) - user.visible_message("[user] milks [src] using \the [O].") + user.visible_message(span_notice("[user] milks [src] using \the [O].")) var/transfered = udder.trans_id_to(G, "milk", rand(5,10)) if(G.reagents.total_volume >= G.volume) to_chat(user, span_red("The [O] is full.")) @@ -78,4 +78,4 @@ emote_see = list("shakes its head", "stamps a foot", "glares around") // say_got_target doesn't seem to handle emotes, but keeping this here in case someone wants to make it work -// say_got_target = list("[src] gets an evil-looking gleam in their eye.") +// say_got_target = list(span_warning("[src] gets an evil-looking gleam in their eye.")) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/_giant_spider.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/_giant_spider.dm index ef89bd97909..a379a0c81ab 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/_giant_spider.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/_giant_spider.dm @@ -69,7 +69,8 @@ icon_dead = "guard_dead" has_eye_glow = TRUE minbodytemp = 175 //yw edit, Makes mobs survive cryogaia temps - faction = "awaymission" //yw edit, Makes away mobs be on the same fuckin' side. + faction = "awaymission" //yw edit, Makes away mobs be on the same fuckin' side. -Radiant + faction = FACTION_SPIDERS maxHealth = 200 health = 200 pass_flags = PASSTABLE @@ -99,14 +100,14 @@ speak_emote = list("chitters") meat_amount = 5 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/xenomeat/spidermeat + meat_type = /obj/item/reagent_containers/food/snacks/xenomeat/spidermeat say_list_type = /datum/say_list/spider tame_items = list( - /obj/item/weapon/reagent_containers/food/snacks/xenomeat = 10, - /obj/item/weapon/reagent_containers/food/snacks/crabmeat = 40, - /obj/item/weapon/reagent_containers/food/snacks/meat = 20 + /obj/item/reagent_containers/food/snacks/xenomeat = 10, + /obj/item/reagent_containers/food/snacks/crabmeat = 40, + /obj/item/reagent_containers/food/snacks/meat = 20 ) var/poison_type = "spidertoxin" // The reagent that gets injected when it attacks. @@ -117,6 +118,8 @@ /obj/item/stack/material/chitin = 1\ ) + allow_mind_transfer = TRUE + /mob/living/simple_mob/animal/giant_spider/apply_melee_effects(var/atom/A) if(isliving(A)) var/mob/living/L = A @@ -128,7 +131,7 @@ // Does actual poison injection, after all checks passed. /mob/living/simple_mob/animal/giant_spider/proc/inject_poison(mob/living/L, target_zone) if(prob(poison_chance)) - to_chat(L, "You feel a tiny prick.") + to_chat(L, span_warning("You feel a tiny prick.")) L.reagents.add_reagent(poison_type, poison_per_bite) /mob/living/simple_mob/animal/giant_spider/proc/make_spiderling() diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/broodmother.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/broodmother.dm index cc5b5d179c5..18428ab3e74 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/broodmother.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/broodmother.dm @@ -96,7 +96,7 @@ step_away(broodling, src) count++ - visible_message(span("danger", "\The [src] releases brood from its birthing sack!")) + visible_message(span_danger("\The [src] releases brood from its birthing sack!")) /mob/living/simple_mob/animal/giant_spider/broodmother/proc/launch_brood(atom/A) set waitfor = FALSE @@ -110,7 +110,7 @@ broodling.throw_at(A, 10) count++ - visible_message(span("danger", "\The [src] launches brood from the distance!")) + visible_message(span_danger("\The [src] launches brood from the distance!")) /mob/living/simple_mob/animal/giant_spider/broodmother/proc/can_spawn_brood() var/brood_amount = 0 diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/carrier.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/carrier.dm index d8e1b101037..1396df83a9e 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/carrier.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/carrier.dm @@ -45,7 +45,7 @@ return ..() /mob/living/simple_mob/animal/giant_spider/carrier/death() - visible_message(span("warning", "\The [src]'s abdomen splits as it rolls over, spiderlings crawling from the wound.") ) + visible_message(span_warning("\The [src]'s abdomen splits as it rolls over, spiderlings crawling from the wound.") ) spawn(1) var/list/new_spiders = list() for(var/i = 1 to spiderling_count) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/hunter.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/hunter.dm index 8b332f90507..66f45b0fa2c 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/hunter.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/hunter.dm @@ -68,7 +68,7 @@ // Do the actual leap. status_flags |= LEAPING // Lets us pass over everything. - visible_message(span("danger","\The [src] leaps at \the [A]!")) + visible_message(span_danger("\The [src] leaps at \the [A]!")) throw_at(get_step(get_turf(A), get_turf(src)), special_attack_max_range+1, 1, src) playsound(src, leap_sound, 75, 1) @@ -97,20 +97,20 @@ if(victim) victim.Weaken(2) - victim.visible_message(span("danger","\The [src] knocks down \the [victim]!")) - to_chat(victim, span("critical", "\The [src] jumps on you!")) + victim.visible_message(span_danger("\The [src] knocks down \the [victim]!")) + to_chat(victim, span_critical("\The [src] jumps on you!")) . = TRUE set_AI_busy(FALSE) -// var/obj/item/weapon/grab/G = new(src, victim) +// var/obj/item/grab/G = new(src, victim) // put_in_active_hand(G) // G.synch() // G.affecting = victim // victim.LAssailant = src -// visible_message("\The [src] seizes \the [victim] aggressively!") +// visible_message(span_warning("\The [src] seizes \the [victim] aggressively!")) // do_attack_animation(victim) @@ -139,7 +139,7 @@ to_world("Failed to pull.") return FALSE - holder.visible_message(span("danger","\The [holder] starts to drag \the [L] away!")) + holder.visible_message(span_danger("\The [holder] starts to drag \the [L] away!")) var/list/allies = list() var/list/enemies = list() diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/lurker.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/lurker.dm index 7a8d6495419..bcdeedef003 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/lurker.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/lurker.dm @@ -103,7 +103,7 @@ if(isliving(A)) var/mob/living/L = A L.Weaken(cloaked_weaken_amount) - to_chat(L, span("danger", "\The [src] ambushes you!")) + to_chat(L, span_danger("\The [src] ambushes you!")) playsound(src, 'sound/weapons/spiderlunge.ogg', 75, 1) uncloak() ..() // For the poison. diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/nurse.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/nurse.dm index 0788c80000a..27211f3b82c 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/nurse.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/nurse.dm @@ -68,7 +68,7 @@ var/obj/effect/spider/eggcluster/eggs = new egg_type(O, src) O.implants += eggs eggs.faction = faction - to_chat(H, span("critical", "\The [src] injects something into your [O.name]!") ) // Oh god its laying eggs in me! + to_chat(H, span_critical("\The [src] injects something into your [O.name]!") ) // Oh god its laying eggs in me! // Webs target in a web if able to. /mob/living/simple_mob/animal/giant_spider/nurse/attack_target(atom/A) @@ -95,28 +95,28 @@ /mob/living/simple_mob/animal/giant_spider/nurse/proc/spin_cocoon(atom/movable/AM) if(!istype(AM)) return FALSE // We can't cocoon walls sadly. - visible_message(span("notice", "\The [src] begins to secrete a sticky substance around \the [AM].") ) + visible_message(span_notice("\The [src] begins to secrete a sticky substance around \the [AM].") ) // Get our AI to stay still. set_AI_busy(TRUE) if(!do_mob(src, AM, 5 SECONDS)) set_AI_busy(FALSE) - to_chat(src, span("warning", "You need to stay still to spin a web around \the [AM].")) + to_chat(src, span_warning("You need to stay still to spin a web around \the [AM].")) return FALSE set_AI_busy(FALSE) if(!AM) // Make sure it didn't get deleted for whatever reason. - to_chat(src, span("warning", "Whatever you were spinning a web for, its no longer there...")) + to_chat(src, span_warning("Whatever you were spinning a web for, its no longer there...")) return FALSE if(!isturf(AM.loc)) - to_chat(src, span("warning", "You can't spin \the [AM] in a web while it is inside \the [AM.loc].")) + to_chat(src, span_warning("You can't spin \the [AM] in a web while it is inside \the [AM.loc].")) return FALSE if(!Adjacent(AM)) - to_chat(src, span("warning", "You need to be next to \the [AM] to spin it into a web.")) + to_chat(src, span_warning("You need to be next to \the [AM] to spin it into a web.")) return FALSE // Finally done with the checks. @@ -126,8 +126,8 @@ if(istype(L, /mob/living/simple_mob/animal/giant_spider)) // Cannibalism is bad. continue fed++ - visible_message(span("warning","\The [src] sticks a proboscis into \the [L], and sucks a viscous substance out.")) - to_chat(src, span("notice", "You've fed upon \the [L], and can now lay [fed] cluster\s of eggs.")) + visible_message(span_warning("\The [src] sticks a proboscis into \the [L], and sucks a viscous substance out.")) + to_chat(src, span_notice("You've fed upon \the [L], and can now lay [fed] cluster\s of eggs.")) L.forceMove(C) large_cocoon = TRUE break @@ -162,13 +162,13 @@ if(W) return FALSE // Already got webs here. - visible_message(span("notice", "\The [src] begins to secrete a sticky substance.") ) + visible_message(span_notice("\The [src] begins to secrete a sticky substance.") ) // Get our AI to stay still. set_AI_busy(TRUE) if(!do_mob(src, T, 5 SECONDS)) set_AI_busy(FALSE) - to_chat(src, span("warning", "You need to stay still to spin a web on \the [T].")) + to_chat(src, span_warning("You need to stay still to spin a web on \the [T].")) return FALSE W = locate() in T @@ -194,7 +194,7 @@ if(E) return FALSE // Already got eggs here. - visible_message(span("notice", "\The [src] begins to lay a cluster of eggs.") ) + visible_message(span_notice("\The [src] begins to lay a cluster of eggs.") ) // Get our AI to stay still. set_AI_busy(TRUE) // Stop players from spamming eggs. @@ -202,7 +202,7 @@ if(!do_mob(src, T, 5 SECONDS)) set_AI_busy(FALSE) - to_chat(src, span("warning", "You need to stay still to lay eggs on \the [T].")) + to_chat(src, span_warning("You need to stay still to lay eggs on \the [T].")) return FALSE E = locate() in T diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/phorogenic.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/phorogenic.dm index 89cb5b835c0..e67402e0a36 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/phorogenic.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/phorogenic.dm @@ -46,7 +46,7 @@ poison_type = "phoron" tame_items = list( - /obj/item/weapon/tank/phoron = 20, + /obj/item/tank/phoron = 20, /obj/item/stack/material/phoron = 30 ) @@ -63,22 +63,16 @@ adjust_scale(1.25) return ..() +/mob/living/simple_mob/animal/giant_spider/phorogenic/proc/explode() + if(src && !exploded) + visible_message(span_danger("\The [src]'s body detonates!")) + exploded = TRUE + explosion(src.loc, explosion_dev_range, explosion_heavy_range, explosion_light_range, explosion_flash_range) + /mob/living/simple_mob/animal/giant_spider/phorogenic/death() - visible_message(span("critical", "\The [src]'s body begins to rupture!")) + visible_message(span_critical("\The [src]'s body begins to rupture!")) var/delay = rand(explosion_delay_lower, explosion_delay_upper) - spawn(0) - // Flash black and red as a warning. - for(var/i = 1 to delay) - if(i % 2 == 0) - color = "#000000" - else - color = "#FF0000" - sleep(1) - - spawn(delay) - // The actual boom. - if(src && !exploded) - visible_message(span("danger", "\The [src]'s body detonates!")) - exploded = TRUE - explosion(src.loc, explosion_dev_range, explosion_heavy_range, explosion_light_range, explosion_flash_range) + animate(src, color = "#000000", time = 0.1 SECONDS, loop = ceil(delay/2)) + animate(color = "#FF0000", time = 0.1 SECONDS) + addtimer(CALLBACK(src, PROC_REF(explode)), delay, TIMER_DELETE_ME) return ..() diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/tunneler.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/tunneler.dm index 53d4bd0d244..3b025bc2d73 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/tunneler.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/tunneler.dm @@ -93,7 +93,7 @@ sleep(tunnel_warning) // For the telegraphing. // Do the dig! - visible_message(span("danger","\The [src] tunnels towards \the [A]!")) + visible_message(span_danger("\The [src] tunnels towards \the [A]!")) submerge() if(handle_tunnel(destination) == FALSE) @@ -114,7 +114,7 @@ if(L == src) continue - visible_message(span("danger","\The [src] erupts from underneath, and hits \the [L]!")) + visible_message(span_danger("\The [src] erupts from underneath, and hits \the [L]!")) playsound(src, 'sound/weapons/heavysmash.ogg', 75, 1) L.Weaken(3) overshoot = FALSE @@ -125,7 +125,7 @@ return TRUE // Otherwise we need to keep going. - to_chat(src, span("warning", "You overshoot your target!")) + to_chat(src, span_warning("You overshoot your target!")) playsound(src, 'sound/weapons/punchmiss.ogg', 75, 1) var/dir_to_go = get_dir(starting_turf, destination) for(var/i = 1 to rand(2, 4)) @@ -156,7 +156,7 @@ // Update T. T = get_step(src, get_dir(src, destination)) if(T.check_density(ignore_mobs = TRUE)) - to_chat(src, span("critical", "You hit something really solid!")) + to_chat(src, span_critical("You hit something really solid!")) playsound(src, "punch", 75, 1) Weaken(5) add_modifier(/datum/modifier/tunneler_vulnerable, 10 SECONDS) @@ -188,7 +188,7 @@ new /obj/effect/temporary_effect/tunneler_hole(get_turf(src)) /mob/living/simple_mob/animal/giant_spider/tunneler/proc/dig_under_floor(turf/T) - new /obj/item/weapon/ore/glass(T) // This will be rather weird when on station but the alternative is too much work. + new /obj/item/ore/glass(T) // This will be rather weird when on station but the alternative is too much work. /obj/effect/temporary_effect/tunneler_hole name = "hole" @@ -199,9 +199,9 @@ /datum/modifier/tunneler_vulnerable name = "Vulnerable" desc = "You are vulnerable to more harm than usual." - on_created_text = "You feel vulnerable..." - on_expired_text = "You feel better." + on_created_text = span_warning("You feel vulnerable...") + on_expired_text = span_notice("You feel better.") stacks = MODIFIER_STACK_EXTEND incoming_damage_percent = 2 - evasion = -100 \ No newline at end of file + evasion = -100 diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/passive/cockroach.dm b/code/modules/mob/living/simple_mob/subtypes/animal/passive/cockroach.dm index 603f5746c48..3b0143d335a 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/passive/cockroach.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/passive/cockroach.dm @@ -54,17 +54,17 @@ var/mob/living/A = AM if(A.mob_size > MOB_SMALL) if(prob(squish_chance)) - A.visible_message("[A] squashed [src].", "You squashed [src].") + A.visible_message(span_notice("[A] squashed [src]."), span_notice("You squashed [src].")) adjustBruteLoss(1) //kills a normal cockroach else - visible_message("[src] avoids getting crushed.") + visible_message(span_notice("[src] avoids getting crushed.")) else if(isstructure(AM)) if(prob(squish_chance)) - AM.visible_message("[src] was crushed under [AM].") + AM.visible_message(span_notice("[src] was crushed under [AM].")) adjustBruteLoss(1) else - visible_message("[src] avoids getting crushed.") + visible_message(span_notice("[src] avoids getting crushed.")) /mob/living/simple_mob/animal/passive/cockroach/ex_act() //Explosions are a terrible way to handle a cockroach. return diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/passive/crab.dm b/code/modules/mob/living/simple_mob/subtypes/animal/passive/crab.dm index 8fba024af57..62a59608005 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/passive/crab.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/passive/crab.dm @@ -3,7 +3,7 @@ name = "crab" desc = "A hard-shelled crustacean. Seems quite content to lounge around all the time." tt_desc = "E Cancer bellianus" - faction = "crabs" + faction = FACTION_CRABS icon_state = "crab" icon_living = "crab" @@ -18,7 +18,7 @@ organ_names = /decl/mob_organ_names/crab - meat_type = /obj/item/weapon/reagent_containers/food/snacks/crabmeat + meat_type = /obj/item/reagent_containers/food/snacks/crabmeat meat_amount = 3 say_list_type = /datum/say_list/crab @@ -53,4 +53,4 @@ adjust_scale(rand(5,12) / 10) /decl/mob_organ_names/crab - hit_zones = list("cephalothorax", "abdomen", "left walking legs", "right walking legs", "left swimming legs", "right swimming legs", "left pincer", "right pincer") \ No newline at end of file + hit_zones = list("cephalothorax", "abdomen", "left walking legs", "right walking legs", "left swimming legs", "right swimming legs", "left pincer", "right pincer") diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/passive/fish.dm b/code/modules/mob/living/simple_mob/subtypes/animal/passive/fish.dm index 5b8a5f2177d..5423f63f3bd 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/passive/fish.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/passive/fish.dm @@ -20,9 +20,9 @@ organ_names = /decl/mob_organ_names/fish - holder_type = /obj/item/weapon/holder/fish + holder_type = /obj/item/holder/fish - meat_type = /obj/item/weapon/reagent_containers/food/snacks/carpmeat/fish + meat_type = /obj/item/reagent_containers/food/snacks/carpmeat/fish meat_amount = 3 // By default they can be in any water turf. Subtypes might restrict to deep/shallow etc @@ -132,7 +132,7 @@ catalogue_data = list(/datum/category_item/catalogue/fauna/javelin) - meat_type = /obj/item/weapon/reagent_containers/food/snacks/carpmeat/fish/sif + meat_type = /obj/item/reagent_containers/food/snacks/carpmeat/fish/sif /datum/category_item/catalogue/fauna/icebass name = "Sivian Fauna - Glitter Bass" @@ -159,7 +159,7 @@ catalogue_data = list(/datum/category_item/catalogue/fauna/icebass) - meat_type = /obj/item/weapon/reagent_containers/food/snacks/carpmeat/fish/sif + meat_type = /obj/item/reagent_containers/food/snacks/carpmeat/fish/sif var/max_red = 150 var/min_red = 50 @@ -248,7 +248,7 @@ var/image/head_image - meat_type = /obj/item/weapon/reagent_containers/food/snacks/carpmeat/fish/sif + meat_type = /obj/item/reagent_containers/food/snacks/carpmeat/fish/sif /mob/living/simple_mob/animal/passive/fish/rockfish/Initialize() . = ..() @@ -295,7 +295,7 @@ has_eye_glow = TRUE - meat_type = /obj/item/weapon/reagent_containers/food/snacks/carpmeat/fish/sif + meat_type = /obj/item/reagent_containers/food/snacks/carpmeat/fish/sif /datum/category_item/catalogue/fauna/murkin name = "Sivian Fauna - Murkfish" @@ -322,7 +322,7 @@ catalogue_data = list(/datum/category_item/catalogue/fauna/murkin) - meat_type = /obj/item/weapon/reagent_containers/food/snacks/carpmeat/sif/murkfish + meat_type = /obj/item/reagent_containers/food/snacks/carpmeat/sif/murkfish /decl/mob_organ_names/fish hit_zones = list("head", "body", "dorsal fin", "left pectoral fin", "right pectoral fin", "tail fin") \ No newline at end of file diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/passive/fish_vr.dm b/code/modules/mob/living/simple_mob/subtypes/animal/passive/fish_vr.dm index 741f3f279a8..1b1cc2b0630 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/passive/fish_vr.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/passive/fish_vr.dm @@ -20,11 +20,11 @@ ..() if(isliving(L) && Adjacent(L)) var/mob/living/M = L - visible_message("\The [src][is_dead()?"'s corpse":""] flails at [M]!") + visible_message(span_warning("\The [src][is_dead()?"'s corpse":""] flails at [M]!")) SpinAnimation(7,1) if(prob(75)) if(sting(M)) - to_chat(M, "You feel a tiny prick.") + to_chat(M, span_warning("You feel a tiny prick.")) if(is_dead()) return for(var/i = 1 to 3) @@ -38,11 +38,11 @@ /mob/living/simple_mob/animal/passive/fish/koi/poisonous/react_to_attack(var/atom/A) if(isliving(A) && Adjacent(A)) var/mob/living/M = A - visible_message("\The [src][is_dead()?"'s corpse":""] flails at [M]!") + visible_message(span_warning("\The [src][is_dead()?"'s corpse":""] flails at [M]!")) SpinAnimation(7,1) if(prob(75)) if(sting(M)) - to_chat(M, "You feel a tiny prick.") + to_chat(M, span_warning("You feel a tiny prick.")) if(is_dead()) return for(var/i = 1 to 3) @@ -69,9 +69,9 @@ icon_living = "measelshark" icon_dead = "measelshark-dead" meat_amount = 8 //Big fish, tons of meat. Great for feasts. - meat_type = /obj/item/weapon/reagent_containers/food/snacks/sliceable/sharkchunk + meat_type = /obj/item/reagent_containers/food/snacks/sliceable/sharkchunk vore_active = 1 vore_bump_chance = 100 vore_default_mode = DM_HOLD //docile shark vore_capacity = 5 - pixel_x = -50 \ No newline at end of file + pixel_x = -50 diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/passive/mouse.dm b/code/modules/mob/living/simple_mob/subtypes/animal/passive/mouse.dm index 0220cb1686f..b3bb907c9c7 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/passive/mouse.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/passive/mouse.dm @@ -34,7 +34,7 @@ has_langs = list(LANGUAGE_MOUSE) - holder_type = /obj/item/weapon/holder/mouse + holder_type = /obj/item/holder/mouse meat_amount = 1 butchery_loot = list() @@ -47,8 +47,8 @@ /mob/living/simple_mob/animal/passive/mouse/New() ..() - verbs += /mob/living/proc/ventcrawl - verbs += /mob/living/proc/hide + add_verb(src, /mob/living/proc/ventcrawl) + add_verb(src, /mob/living/proc/hide) if(name == initial(name)) name = "[name] ([rand(1, 1000)])" @@ -63,17 +63,17 @@ icon_rest = "mouse_[body_color]_sleep" if (body_color != "rat") desc = "A small [body_color] rodent, often seen hiding in maintenance areas and making a nuisance of itself." - holder_type = /obj/item/weapon/holder/mouse/rat + holder_type = /obj/item/holder/mouse/rat if (body_color == "operative") - holder_type = /obj/item/weapon/holder/mouse/operative + holder_type = /obj/item/holder/mouse/operative if (body_color == "brown") - holder_type = /obj/item/weapon/holder/mouse/brown + holder_type = /obj/item/holder/mouse/brown if (body_color == "gray") - holder_type = /obj/item/weapon/holder/mouse/gray + holder_type = /obj/item/holder/mouse/gray if (body_color == "white") - holder_type = /obj/item/weapon/holder/mouse/white + holder_type = /obj/item/holder/mouse/white if (body_color == "black") - holder_type = /obj/item/weapon/holder/mouse/black + holder_type = /obj/item/holder/mouse/black /mob/living/simple_mob/animal/passive/mouse/Crossed(atom/movable/AM as mob|obj) if(AM.is_incorporeal()) @@ -112,19 +112,19 @@ body_color = "white" icon_state = "mouse_white" icon_rest = "mouse_white_sleep" - holder_type = /obj/item/weapon/holder/mouse/white + holder_type = /obj/item/holder/mouse/white /mob/living/simple_mob/animal/passive/mouse/gray body_color = "gray" icon_state = "mouse_gray" icon_rest = "mouse_gray_sleep" - holder_type = /obj/item/weapon/holder/mouse/gray + holder_type = /obj/item/holder/mouse/gray /mob/living/simple_mob/animal/passive/mouse/brown body_color = "brown" icon_state = "mouse_brown" icon_rest = "mouse_brown_sleep" - holder_type = /obj/item/weapon/holder/mouse/brown + holder_type = /obj/item/holder/mouse/brown //TOM IS ALIVE! SQUEEEEEEEE~K :) /mob/living/simple_mob/animal/passive/mouse/brown/Tom @@ -140,7 +140,7 @@ body_color = "black" icon_state = "mouse_black" icon_rest = "mouse_black_sleep" - holder_type = /obj/item/weapon/holder/mouse/black + holder_type = /obj/item/holder/mouse/black /mob/living/simple_mob/animal/passive/mouse/rat name = "rat" @@ -149,7 +149,7 @@ body_color = "rat" icon_state = "mouse_rat" icon_rest = "mouse_rat_sleep" - holder_type = /obj/item/weapon/holder/mouse/rat + holder_type = /obj/item/holder/mouse/rat maxHealth = 20 health = 20 @@ -161,7 +161,7 @@ body_color = "operative" icon_state = "mouse_operative" icon_rest = "mouse_operative_sleep" - holder_type = /obj/item/weapon/holder/mouse/operative + holder_type = /obj/item/holder/mouse/operative maxHealth = 35 //It's wearing a void suit, it don't care about atmos diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/passive/mouse_vr.dm b/code/modules/mob/living/simple_mob/subtypes/animal/passive/mouse_vr.dm index fd5fd72404f..09645dc6462 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/passive/mouse_vr.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/passive/mouse_vr.dm @@ -12,11 +12,11 @@ movement_cooldown = 5 universal_understand = 1 -/obj/item/weapon/holder/mouse/attack_self(var/mob/U) +/obj/item/holder/mouse/attack_self(var/mob/U) for(var/mob/living/simple_mob/M in src.contents) if((I_HELP) && U.checkClickCooldown()) //a little snowflakey, but makes it use the same cooldown as interacting with non-inventory objects U.setClickCooldown(U.get_attack_speed()) //if there's a cleaner way in baycode, I'll change this - U.visible_message("[U] [M.response_help] \the [M].") + U.visible_message(span_notice("[U] [M.response_help] \the [M].")) //Jank grabber that uses the 'attack_hand' insead of 'MouseDrop' /mob/living/simple_mob/animal/passive/mouse/attack_hand(var/atom/over_object) @@ -37,16 +37,16 @@ else if(grabber.incapacitated()) return - var/obj/item/weapon/holder/H = new holder_type(get_turf(src), src) + var/obj/item/holder/H = new holder_type(get_turf(src), src) grabber.put_in_hands(H) if(self_grab) - to_chat(grabber, "\The [src] clambers onto you!") - to_chat(src, "You climb up onto \the [grabber]!") + to_chat(grabber, span_notice("\The [src] clambers onto you!")) + to_chat(src, span_notice("You climb up onto \the [grabber]!")) grabber.equip_to_slot_if_possible(H, slot_back, 0, 1) else - to_chat(grabber, "You scoop up \the [src]!") - to_chat(src, "\The [grabber] scoops you up!") + to_chat(grabber, span_notice("You scoop up \the [src]!")) + to_chat(src, span_notice("\The [grabber] scoops you up!")) add_attack_logs(grabber, H.held_mob, "Scooped up", FALSE) // Not important enough to notify admins, but still helpful. return H @@ -62,10 +62,9 @@ name = initial(name) desc = initial(desc) -/obj/item/weapon/holder/mouse/attack_self(mob/living/carbon/user) +/obj/item/holder/mouse/attack_self(mob/living/carbon/user) user.setClickCooldown(user.get_attack_speed()) for(var/L in contents) if(isanimal(L)) var/mob/living/simple_mob/S = L - user.visible_message("[user] [S.response_help] \the [S].") - + user.visible_message(span_notice("[user] [S.response_help] \the [S].")) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/passive/passive.dm b/code/modules/mob/living/simple_mob/subtypes/animal/passive/passive.dm index 6450259f9c1..ea32372b329 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/passive/passive.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/passive/passive.dm @@ -2,4 +2,5 @@ // They can also be displaced by all mobs. /mob/living/simple_mob/animal/passive ai_holder_type = /datum/ai_holder/simple_mob/passive - mob_bump_flag = 0 \ No newline at end of file + mob_bump_flag = 0 + allow_mind_transfer = TRUE diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/passive/penguin.dm b/code/modules/mob/living/simple_mob/subtypes/animal/passive/penguin.dm index 5f0f0107634..ec17fa69c0b 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/passive/penguin.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/passive/penguin.dm @@ -17,7 +17,7 @@ organ_names = /decl/mob_organ_names/penguin meat_amount = 3 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat/chicken + meat_type = /obj/item/reagent_containers/food/snacks/meat/chicken harm_intent_damage = 5 melee_damage_lower = 10 diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/passive/possum.dm b/code/modules/mob/living/simple_mob/subtypes/animal/passive/possum.dm index 14774781090..614ec0d87fe 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/passive/possum.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/passive/possum.dm @@ -19,8 +19,8 @@ if(!ispath(critter, /mob/living/simple_mob)) return INITIALIZE_HINT_QDEL - var/obj/item/weapon/holder/critter_holder = initial(critter.holder_type) - if(!ispath(critter_holder, /obj/item/weapon/holder)) + var/obj/item/holder/critter_holder = initial(critter.holder_type) + if(!ispath(critter_holder, /obj/item/holder)) return INITIALIZE_HINT_QDEL var/mob/M = loc @@ -132,7 +132,7 @@ maxbodytemp = 323 universal_speak = FALSE universal_understand = TRUE - holder_type = /obj/item/weapon/holder/possum + holder_type = /obj/item/holder/possum mob_size = MOB_SMALL can_pull_size = 2 can_pull_mobs = MOB_PULL_SMALLER @@ -159,11 +159,11 @@ var/datum/ai_holder/simple_mob/passive/possum/poss_ai = ai_holder if(!client && istype(poss_ai)) if(!poss_ai.is_angry) - visible_message("\The [src] hisses!") + visible_message(span_infoplain(span_bold("\The [src]") + " hisses!")) poss_ai.is_angry = TRUE poss_ai.be_angery_until = world.time + rand(30 SECONDS, 1 MINUTE) else - visible_message("\The [src] dies!") + visible_message(span_infoplain(span_bold("\The [src]") + " dies!")) resting = TRUE poss_ai.play_dead_until = world.time + rand(1 MINUTE, 2 MINUTES) update_icon() @@ -185,8 +185,8 @@ /mob/living/simple_mob/animal/passive/opossum/Initialize() . = ..() - verbs += /mob/living/proc/ventcrawl - verbs += /mob/living/proc/hide + add_verb(src, /mob/living/proc/ventcrawl) + add_verb(src, /mob/living/proc/hide) /mob/living/simple_mob/animal/passive/opossum/poppy name = "Poppy the Safety Possum" @@ -198,7 +198,7 @@ icon_rest = "poppy_dead" tt_desc = "Didelphis astrum salutem" organ_names = /decl/mob_organ_names/poppy - holder_type = /obj/item/weapon/holder/possum/poppy + holder_type = /obj/item/holder/possum/poppy ai_holder_type = /datum/ai_holder/simple_mob/passive/possum/poppy /decl/mob_organ_names/possum diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/pets/bird.dm b/code/modules/mob/living/simple_mob/subtypes/animal/pets/bird.dm index ba41d4388e2..141f88e82a4 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/pets/bird.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/pets/bird.dm @@ -24,7 +24,7 @@ parachuting = TRUE meat_amount = 1 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat/chicken + meat_type = /obj/item/reagent_containers/food/snacks/meat/chicken attacktext = list("clawed", "pecked") speak_emote = list("chirps", "caws") @@ -35,7 +35,7 @@ organ_names = /decl/mob_organ_names/bird say_list_type = /datum/say_list/bird - holder_type = /obj/item/weapon/holder/bird + holder_type = /obj/item/holder/bird /datum/say_list/bird speak = list("Chirp!","Caw!","Screech!","Squawk!") @@ -91,3 +91,9 @@ /decl/mob_organ_names/bird hit_zones = list("head", "chest", "left leg", "right leg", "left wing", "right wing") + +/mob/living/simple_mob/animal/passive/bird/european_robin/beastmode + movement_cooldown = 1 + +/mob/living/simple_mob/animal/passive/bird/azure_tit/beastmode + movement_cooldown = 1 diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/pets/cat.dm b/code/modules/mob/living/simple_mob/subtypes/animal/pets/cat.dm index 4f791e8caa2..5dbc635a9c4 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/pets/cat.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/pets/cat.dm @@ -43,7 +43,7 @@ var/list/_cat_default_emotes = list( response_disarm = "gently pushes aside" response_harm = "kicks" - holder_type = /obj/item/weapon/holder/cat + holder_type = /obj/item/holder/cat mob_size = MOB_SMALL has_langs = list(LANGUAGE_ANIMAL) @@ -97,7 +97,7 @@ var/list/_cat_default_emotes = list( /mob/living/simple_mob/animal/passive/cat/verb/become_friends() set name = "Become Friends" - set category = "IC" + set category = "IC.Game" set src in view(1) var/mob/living/L = usr @@ -106,24 +106,24 @@ var/list/_cat_default_emotes = list( if(friend) if(friend == usr) - to_chat(L, span("notice", "\The [src] is already your friend! Meow!")) + to_chat(L, span_notice("\The [src] is already your friend! Meow!")) return else - to_chat(L, span("warning", "\The [src] ignores you.")) + to_chat(L, span_warning("\The [src] ignores you.")) return //VOREStation Edit Start - Adds friend_name var checks if(!friend_name || L.real_name == friend_name) friend = L face_atom(L) - to_chat(L, span("notice", "\The [src] is now your friend! Meow.")) + to_chat(L, span_notice("\The [src] is now your friend! Meow.")) visible_emote(pick("nuzzles [friend].", "brushes against [friend].", "rubs against [friend].", "purrs.")) if(has_AI()) var/datum/ai_holder/AI = ai_holder AI.set_follow(friend) else - to_chat(L, span("notice", "[src] ignores you.")) + to_chat(L, span_notice("[src] ignores you.")) //VOREStation Edit End @@ -136,7 +136,7 @@ var/list/_cat_default_emotes = list( icon_state = "cat" item_state = "cat" named = TRUE - holder_type = /obj/item/weapon/holder/cat/runtime + holder_type = /obj/item/holder/cat/runtime makes_dirt = 0 //Vorestation Edit /mob/living/simple_mob/animal/passive/cat/kitten @@ -145,7 +145,7 @@ var/list/_cat_default_emotes = list( icon_state = "kitten" item_state = "kitten" gender = NEUTER - holder_type = /obj/item/weapon/holder/cat/kitten //VOREStation Edit + holder_type = /obj/item/holder/cat/kitten //VOREStation Edit /mob/living/simple_mob/animal/passive/cat/kitten/Initialize() if(gender == NEUTER) @@ -156,6 +156,9 @@ var/list/_cat_default_emotes = list( icon_state = "cat3" item_state = "cat3" +/mob/living/simple_mob/animal/passive/cat/black/beastmode + movement_cooldown = 1 + /mob/living/simple_mob/animal/passive/cat/bones name = "Bones" desc = "That's Bones the cat. He's a laid back, black cat. Meow." @@ -163,7 +166,7 @@ var/list/_cat_default_emotes = list( icon_state = "cat3" item_state = "cat3" named = TRUE - holder_type = /obj/item/weapon/holder/cat/fluff/bones + holder_type = /obj/item/holder/cat/fluff/bones // SPARKLY /mob/living/simple_mob/animal/passive/cat/bluespace @@ -175,7 +178,7 @@ var/list/_cat_default_emotes = list( icon_rest = null icon_dead = null makes_dirt = 0 - holder_type = /obj/item/weapon/holder/cat/bluespace + holder_type = /obj/item/holder/cat/bluespace /mob/living/simple_mob/animal/passive/cat/bluespace/death() animate(src, alpha = 0, color = "#0000FF", time = 0.5 SECOND) @@ -192,7 +195,7 @@ var/list/_cat_default_emotes = list( icon_dead = "breadcat_dead" //icon_sit = "breadcat_sit" makes_dirt = 0 - holder_type = /obj/item/weapon/holder/cat/breadcat + holder_type = /obj/item/holder/cat/breadcat /mob/living/simple_mob/animal/passive/cat/original name = "original cat" @@ -204,7 +207,7 @@ var/list/_cat_default_emotes = list( icon_dead = "original_dead" //icon_sit = "original_sit" makes_dirt = 0 - holder_type = /obj/item/weapon/holder/cat/original + holder_type = /obj/item/holder/cat/original /mob/living/simple_mob/animal/passive/cat/cak name = "cak" @@ -216,7 +219,7 @@ var/list/_cat_default_emotes = list( icon_dead = "cak_dead" //icon_sit = "cak_sit" makes_dirt = 0 - holder_type = /obj/item/weapon/holder/cat/cak + holder_type = /obj/item/holder/cat/cak /mob/living/simple_mob/animal/passive/cat/space name = "space cat" @@ -227,7 +230,7 @@ var/list/_cat_default_emotes = list( icon_rest = "spacecat_rest" icon_dead = "spacecat_dead" //icon_sit = "spacecat_sit" - holder_type = /obj/item/weapon/holder/cat/spacecat + holder_type = /obj/item/holder/cat/spacecat makes_dirt = 0 minbodytemp = 0 // Minimum "okay" temperature in kelvin @@ -252,34 +255,34 @@ var/list/_cat_default_emotes = list( say_maybe_target = list("Meow?","Mew?","Mao?") say_got_target = list("MEOW!","HSSSS!","REEER!") -/mob/living/simple_mob/animal/passive/cat/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W, /obj/item/weapon/pen) || istype(W, /obj/item/device/flashlight/pen)) +/mob/living/simple_mob/animal/passive/cat/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W, /obj/item/pen) || istype(W, /obj/item/flashlight/pen)) if(named) - to_chat(user, "\The [name] already has a name!") + to_chat(user, span_notice("\The [name] already has a name!")) else var/tmp_name = sanitizeSafe(tgui_input_text(user, "Give \the [name] a name", "Name", null, MAX_NAME_LEN), MAX_NAME_LEN) if(length(tmp_name) > 50) - to_chat(user, "The name can be at most 50 characters long.") + to_chat(user, span_notice("The name can be at most 50 characters long.")) else - to_chat(user, "You name \the [name]. Meow!") + to_chat(user, span_notice("You name \the [name]. Meow!")) name = tmp_name named = TRUE else ..() -/obj/item/weapon/cat_box +/obj/item/cat_box name = "faintly purring box" desc = "This box is purring faintly. You're pretty sure there's a cat inside it." icon = 'icons/obj/storage.dmi' icon_state = "box" var/cattype = /mob/living/simple_mob/animal/passive/cat -/obj/item/weapon/cat_box/attack_self(var/mob/user) +/obj/item/cat_box/attack_self(var/mob/user) var/turf/catturf = get_turf(src) - to_chat(user, "You peek into \the [name]-- and a cat jumps out!") + to_chat(user, span_notice("You peek into \the [name]-- and a cat jumps out!")) new cattype(catturf) new /obj/item/stack/material/cardboard(catturf) //if i fits i sits qdel(src) -/obj/item/weapon/cat_box/black +/obj/item/cat_box/black cattype = /mob/living/simple_mob/animal/passive/cat/black diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/pets/cat_vr.dm b/code/modules/mob/living/simple_mob/subtypes/animal/pets/cat_vr.dm index 42f30cc3d81..392ad3361ff 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/pets/cat_vr.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/pets/cat_vr.dm @@ -38,7 +38,7 @@ icon_state = "kitten" item_state = "kitten" gender = MALE - holder_type = /obj/item/weapon/holder/cat/fluff/tabiranth + holder_type = /obj/item/holder/cat/fluff/tabiranth friend_name = "Ascian" digestable = 0 meat_amount = 0 @@ -50,7 +50,7 @@ if (has_AI() && friend) var/friend_dist = get_dist(src,friend) if (friend_dist <= 1) - if (friend.stat >= DEAD || friend.health <= config.health_threshold_softcrit) + if (friend.stat >= DEAD || friend.health <= CONFIG_GET(number/health_threshold_softcrit)) if (prob((friend.stat < DEAD)? 50 : 15)) var/verb = pick("meows", "mews", "mrowls") audible_emote(pick("[verb] in distress.", "[verb] anxiously.")) @@ -74,4 +74,3 @@ qdel(src) //Back from whence you came! . = ..(FALSE, deathmessage) - diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/pets/dog.dm b/code/modules/mob/living/simple_mob/subtypes/animal/pets/dog.dm index c9533951875..38827d8d9c0 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/pets/dog.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/pets/dog.dm @@ -22,14 +22,14 @@ say_list_type = /datum/say_list/dog meat_amount = 3 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat/corgi + meat_type = /obj/item/reagent_containers/food/snacks/meat/corgi var/obj/item/inventory_head var/obj/item/inventory_back /mob/living/simple_mob/animal/passive/dog/attackby(var/obj/item/O as obj, var/mob/user as mob) - if(istype(O, /obj/item/weapon/newspaper)) + if(istype(O, /obj/item/newspaper)) if(!stat) for(var/mob/M in viewers(user, null)) if ((M.client && !( M.blinded ))) @@ -67,7 +67,7 @@ -/obj/item/weapon/reagent_containers/food/snacks/meat/corgi +/obj/item/reagent_containers/food/snacks/meat/corgi name = "corgi meat" desc = "Tastes like... well, you know..." @@ -88,7 +88,7 @@ icon_state = "corgi" icon_living = "corgi" icon_dead = "corgi_dead" - holder_type = /obj/item/weapon/holder/corgi + holder_type = /obj/item/holder/corgi organ_names = /decl/mob_organ_names/corgi /mob/living/simple_mob/animal/passive/dog/corgi/puppy @@ -98,7 +98,7 @@ icon_state = "puppy" icon_living = "puppy" icon_dead = "puppy_dead" - holder_type = /obj/item/weapon/holder/corgi + holder_type = /obj/item/holder/corgi //pupplies cannot wear anything. /mob/living/simple_mob/animal/passive/dog/corgi/puppy/Topic(href, href_list) @@ -125,7 +125,7 @@ var/turns_since_scan = 0 var/obj/movement_target makes_dirt = FALSE //VOREStation edit: no more dirt - holder_type = /obj/item/weapon/holder/corgi + holder_type = /obj/item/holder/corgi /mob/living/simple_mob/animal/passive/dog/corgi/Ian/Life() ..() @@ -141,7 +141,7 @@ movement_target = null if( !movement_target || !(movement_target.loc in oview(src, 3)) ) movement_target = null - for(var/obj/item/weapon/reagent_containers/food/snacks/S in oview(src,3)) + for(var/obj/item/reagent_containers/food/snacks/S in oview(src,3)) if(isturf(S.loc) || ishuman(S.loc)) movement_target = S break @@ -190,7 +190,7 @@ response_harm = "kicks" var/turns_since_scan = 0 var/puppies = 0 - holder_type = /obj/item/weapon/holder/lisa + holder_type = /obj/item/holder/lisa //Lisa already has a cute bow! /mob/living/simple_mob/animal/passive/dog/corgi/Lisa/Topic(href, href_list) @@ -240,7 +240,7 @@ icon_dead = "narsian_dead" makes_dirt = FALSE - holder_type = /obj/item/weapon/holder/narsian + holder_type = /obj/item/holder/narsian /mob/living/simple_mob/animal/passive/dog/void_puppy name = "void puppy" @@ -248,7 +248,7 @@ icon_state = "void_puppy" icon_living = "void_puppy" icon_dead = "void_puppy_dead" - holder_type = /obj/item/weapon/holder/void_puppy + holder_type = /obj/item/holder/void_puppy /mob/living/simple_mob/animal/passive/dog/bullterrier name = "bull terrier" @@ -257,7 +257,7 @@ icon_living = "bullterrier" icon_dead = "bullterrier_dead" icon_rest = null - holder_type = /obj/item/weapon/holder/bullterrier + holder_type = /obj/item/holder/bullterrier // Tamaskans /mob/living/simple_mob/animal/passive/dog/tamaskan diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/pets/fennec.dm b/code/modules/mob/living/simple_mob/subtypes/animal/pets/fennec.dm index 9adf67d779a..453645b19b6 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/pets/fennec.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/pets/fennec.dm @@ -12,7 +12,7 @@ response_disarm = "gently pushes aside" response_harm = "kicks" - holder_type = /obj/item/weapon/holder/fennec + holder_type = /obj/item/holder/fennec mob_size = MOB_SMALL has_langs = list(LANGUAGE_ANIMAL) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/pets/fox_vr.dm b/code/modules/mob/living/simple_mob/subtypes/animal/pets/fox_vr.dm index 27438b9db17..d42cb23b098 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/pets/fox_vr.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/pets/fox_vr.dm @@ -13,7 +13,7 @@ see_in_dark = 6 mob_size = MOB_SMALL //Foxes are not smaller than cats so bumping them up to small - faction = "fox" + faction = FACTION_FOX response_help = "scritches" response_disarm = "gently pushes aside" @@ -24,11 +24,11 @@ maxbodytemp = 323 //Above 50 Degrees Celcius meat_amount = 2 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat/fox + meat_type = /obj/item/reagent_containers/food/snacks/meat/fox say_list_type = /datum/say_list/fox ai_holder_type = /datum/ai_holder/simple_mob/fox - holder_type = /obj/item/weapon/holder/fox + holder_type = /obj/item/holder/fox var/turns_since_scan = 0 var/mob/flee_target @@ -108,7 +108,7 @@ /mob/living/simple_mob/animal/passive/fox/renault/verb/become_friends() set name = "Become Friends" - set category = "IC" + set category = "IC.Game" set src in view(1) var/mob/living/L = usr @@ -117,15 +117,15 @@ if(friend) if(friend == usr) - to_chat(L, span("notice", "\The [src] is already your friend!")) + to_chat(L, span_notice("\The [src] is already your friend!")) return else - to_chat(L, span("warning", "\The [src] ignores you.")) + to_chat(L, span_warning("\The [src] ignores you.")) return friend = L face_atom(L) - to_chat(L, span("notice", "\The [src] is now your friend!")) + to_chat(L, span_notice("\The [src] is now your friend!")) visible_emote(pick("nips [friend].", "brushes against [friend].", "tugs on [friend].", "chrrrrs.")) if(has_AI()) @@ -167,7 +167,7 @@ /mob/living/simple_mob/animal/passive/fox/fluff/verb/friend() set name = "Become Friends" - set category = "IC" + set category = "IC.Game" set src in view(1) if(friend && usr == friend) @@ -176,7 +176,7 @@ return if (!(ishuman(usr) && befriend_job && usr.job == befriend_job)) - to_chat(usr, "[src] ignores you.") + to_chat(usr, span_notice("[src] ignores you.")) return friend = usr @@ -188,7 +188,7 @@ //Captain fox /mob/living/simple_mob/animal/passive/fox/renault name = "Renault" - desc = "Renault, the Site Manager's trustworthy fox. I wonder what it says?" + desc = "Renault, the " + JOB_SITE_MANAGER + "'s trustworthy fox. I wonder what it says?" tt_desc = "Vulpes nobilis" //befriend_job = "Site Manager" Sebbe edit: couldn't make this work, commenting out for now. @@ -240,3 +240,6 @@ min_n2 = 0 max_n2 = 0 minbodytemp = 0 + +/mob/living/simple_mob/animal/passive/fox/beastmode + movement_cooldown = 1 diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/pets/parrot.dm b/code/modules/mob/living/simple_mob/subtypes/animal/pets/parrot.dm index e985111c0c9..a3ee2fcc9aa 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/pets/parrot.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/pets/parrot.dm @@ -9,7 +9,7 @@ // A headset, so that talking parrots can yell at the crew over comms. // If set to a type, on initialize it will be instantiated into that type. - var/obj/item/device/radio/headset/my_headset = null + var/obj/item/radio/headset/my_headset = null // Say list /datum/say_list/bird/poly @@ -44,13 +44,13 @@ /mob/living/simple_mob/animal/passive/bird/parrot/handle_message_mode(message_mode, message, verb, used_radios, whispering) ..() if(message_mode) - if(my_headset && istype(my_headset, /obj/item/device/radio)) + if(my_headset && istype(my_headset, /obj/item/radio)) my_headset.talk_into(src, message, message_mode, verb, whispering) used_radios += my_headset // Clicked on while holding an object. /mob/living/simple_mob/animal/passive/bird/parrot/attackby(obj/item/I, mob/user) - if(istype(I, /obj/item/device/radio/headset)) + if(istype(I, /obj/item/radio/headset)) give_headset(I, user) return return ..() @@ -63,30 +63,30 @@ ..() -/mob/living/simple_mob/animal/passive/bird/parrot/proc/give_headset(obj/item/device/radio/headset/new_headset, mob/living/user) +/mob/living/simple_mob/animal/passive/bird/parrot/proc/give_headset(obj/item/radio/headset/new_headset, mob/living/user) if(!istype(new_headset)) - to_chat(user, span("warning", "\The [new_headset] isn't a headset.")) + to_chat(user, span_warning("\The [new_headset] isn't a headset.")) return if(my_headset) - to_chat(user, span("warning", "\The [src] is already wearing \a [my_headset].")) + to_chat(user, span_warning("\The [src] is already wearing \a [my_headset].")) return else user.drop_item(new_headset) my_headset = new_headset new_headset.forceMove(src) - to_chat(user, span("warning", "You place \a [new_headset] on \the [src]. You monster.")) - to_chat(src, span("notice", "\The [user] gives you \a [new_headset]. You should put it to good use immediately.")) + to_chat(user, span_warning("You place \a [new_headset] on \the [src]. You monster.")) + to_chat(src, span_notice("\The [user] gives you \a [new_headset]. You should put it to good use immediately.")) return /mob/living/simple_mob/animal/passive/bird/parrot/proc/remove_headset(mob/living/user) if(!my_headset) - to_chat(user, "\The [src] doesn't have a headset to remove, thankfully.") + to_chat(user, span_warning("\The [src] doesn't have a headset to remove, thankfully.")) else ISay("BAWWWWWK LEAVE THE HEADSET BAWKKKKK!") my_headset.forceMove(get_turf(src)) user.put_in_hands(my_headset) - to_chat(user, span("notice", "You take away \the [src]'s [my_headset.name]. Finally.")) - to_chat(src, span("warning", "\The [user] takes your [my_headset.name] away! How cruel!")) + to_chat(user, span_notice("You take away \the [src]'s [my_headset.name]. Finally.")) + to_chat(src, span_warning("\The [user] takes your [my_headset.name] away! How cruel!")) my_headset = null /mob/living/simple_mob/animal/passive/bird/parrot/examine(mob/user) @@ -110,12 +110,12 @@ icon_dead = "poly-dead" tt_desc = "E Ara macao" attack_armor_pen = 20 //HE HAS THE B E A K - my_headset = /obj/item/device/radio/headset/headset_eng + my_headset = /obj/item/radio/headset/headset_eng say_list_type = /datum/say_list/bird/poly // Best Bird with best headset. /mob/living/simple_mob/animal/passive/bird/parrot/poly/ultimate - my_headset = /obj/item/device/radio/headset/omni + my_headset = /obj/item/radio/headset/omni /mob/living/simple_mob/animal/passive/bird/parrot/kea name = "kea" diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/diyaab.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/diyaab.dm index 20ea1e2db06..83ce75a9529 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/diyaab.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/diyaab.dm @@ -19,7 +19,7 @@ tt_desc = "S Choeros hirtus" //diyaab and shantak are technically reletives! catalogue_data = list(/datum/category_item/catalogue/fauna/diyaab) - faction = "diyaab" + faction = FACTION_DIYAAB icon_state = "diyaab" icon_living = "diyaab" @@ -30,7 +30,7 @@ health = 25 meat_amount = 2 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + meat_type = /obj/item/reagent_containers/food/snacks/meat minbodytemp = 175 //yw edit, Makes mobs survive cryogaia temps @@ -46,7 +46,7 @@ ai_holder_type = /datum/ai_holder/simple_mob/retaliate/cooperative // What do you hit the mob with (on help) to get something from it? - harvest_tool = /obj/item/weapon/tool/wirecutters + harvest_tool = /obj/item/tool/wirecutters // How long do we have to wait until it's harvestable again? harvest_cooldown = 10 MINUTES // How long does it take to harvest? diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/duck.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/duck.dm index 4c8db3ce627..8d569c2c0f9 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/duck.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/duck.dm @@ -19,7 +19,7 @@ tt_desc = "S Anatidae vitriae" //catalogue_data = list(/datum/category_item/catalogue/fauna/crystalduck) TODO: Write non-sif lore - faction = "duck" + faction = FACTION_DUCK icon_state = "duck" icon_living = "duck" @@ -33,7 +33,7 @@ movement_cooldown = -1 meat_amount = 4 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat/chicken + meat_type = /obj/item/reagent_containers/food/snacks/meat/chicken melee_damage_lower = 2 melee_damage_upper = 10 @@ -44,8 +44,8 @@ organ_names = /decl/mob_organ_names/bird tame_items = list( - /obj/item/weapon/reagent_containers/food/snacks/sliceable/bread = 90, - /obj/item/weapon/reagent_containers/food/snacks/slice/bread = 25 + /obj/item/reagent_containers/food/snacks/sliceable/bread = 90, + /obj/item/reagent_containers/food/snacks/slice/bread = 25 ) say_list_type = /datum/say_list/duck @@ -62,7 +62,7 @@ var/has_food = FALSE if(isliving(L)) for(var/obj/item/I in L.get_contents()) // Do they have food? - if(istype(I, /obj/item/weapon/reagent_containers/food)) + if(istype(I, /obj/item/reagent_containers/food)) has_food = TRUE break if(has_food) // Yes? Gimme the food. diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/fluffy_vr.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/fluffy_vr.dm index 0b581ca5117..992b9e649a7 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/fluffy_vr.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/fluffy_vr.dm @@ -30,7 +30,7 @@ maxbodytemp = 323 //Above 50 Degrees Celcius meat_amount = 1 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + meat_type = /obj/item/reagent_containers/food/snacks/meat say_list_type = /datum/say_list/fluffy_vr ai_holder_type = /datum/ai_holder/simple_mob/passive diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/frostfly.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/frostfly.dm index e89cca19992..59191ebe721 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/frostfly.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/frostfly.dm @@ -21,7 +21,7 @@ tt_desc = "S Carabidae glacios" catalogue_data = list(/datum/category_item/catalogue/fauna/frostfly) - faction = "diyaab" + faction = FACTION_DIYAAB icon_state = "firefly" icon_living = "firefly" @@ -87,8 +87,8 @@ /mob/living/simple_mob/animal/sif/frostfly/Initialize() . = ..() smoke_special = new - verbs += /mob/living/proc/ventcrawl - verbs += /mob/living/proc/hide + add_verb(src, /mob/living/proc/ventcrawl) + add_verb(src, /mob/living/proc/hide) /datum/say_list/frostfly speak = list("Zzzz.", "Kss.", "Zzt?") @@ -112,15 +112,9 @@ if(energy < max_energy) energy++ -/mob/living/simple_mob/animal/sif/frostfly/Stat() - ..() - if(client.statpanel == "Status") - statpanel("Status") - if(emergency_shuttle) - var/eta_status = emergency_shuttle.get_status_panel_eta() - if(eta_status) - stat(null, eta_status) - stat("Energy", energy) +/mob/living/simple_mob/animal/sif/frostfly/get_status_tab_items() + . = ..() + . += "Energy: [energy]" /mob/living/simple_mob/animal/sif/frostfly/should_special_attack(atom/A) if(energy >= 20) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/glitterfly.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/glitterfly.dm index d59db7ac28a..5b3b1c7ebc3 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/glitterfly.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/glitterfly.dm @@ -28,7 +28,7 @@ tt_desc = "S Lepidoptera adamas" catalogue_data = list(/datum/category_item/catalogue/fauna/glitterfly) - faction = "neutral" + faction = FACTION_NEUTRAL icon_state = "butterfly" icon_living = "butterfly" @@ -55,9 +55,9 @@ organ_names = /decl/mob_organ_names/smallflying tame_items = list( - /obj/item/weapon/reagent_containers/food/snacks/grown = 90, - /obj/item/weapon/reagent_containers/food/snacks/crabmeat = 10, - /obj/item/weapon/reagent_containers/food/snacks/meat = 5 + /obj/item/reagent_containers/food/snacks/grown = 90, + /obj/item/reagent_containers/food/snacks/crabmeat = 10, + /obj/item/reagent_containers/food/snacks/meat = 5 ) say_list_type = /datum/say_list/glitterfly @@ -93,8 +93,8 @@ . = ..() if(.) - if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/grown)) - var/obj/item/weapon/reagent_containers/food/snacks/grown/G = O + if(istype(O, /obj/item/reagent_containers/food/snacks/grown)) + var/obj/item/reagent_containers/food/snacks/grown/G = O if(G.seed && G.seed.kitchen_tag == "berries") return TRUE diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/grafadreka.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/grafadreka.dm index 167992f9cd8..3d05b68abb0 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/grafadreka.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/grafadreka.dm @@ -3,8 +3,8 @@ desc = "Your wounds have been salved with Sivian sap." mob_overlay_state = "cyan_sparkles" stacks = MODIFIER_STACK_FORBID - on_created_text = "The glowing sap seethes and bubbles in your wounds, tingling and stinging." - on_expired_text = "The last of the sap in your wounds fizzles away." + on_created_text = span_notice("The glowing sap seethes and bubbles in your wounds, tingling and stinging.") + on_expired_text = span_notice("The last of the sap in your wounds fizzles away.") /datum/modifier/sifsap_salve/tick() @@ -86,7 +86,7 @@ Field studies suggest analytical abilities on par with some species of cepholapo /decl/emote/audible/drake_howl/broadcast_emote_to(var/send_sound, var/mob/target, var/direction) if((. = ..())) - to_chat(target, SPAN_NOTICE("You hear an eerie howl from somewhere to the [dir2text(direction)].")) + to_chat(target, span_notice("You hear an eerie howl from somewhere to the [dir2text(direction)].")) /mob/living/simple_mob/animal/sif/grafadreka/get_available_emotes() . = global._default_mob_emotes.Copy() @@ -103,7 +103,7 @@ Field studies suggest analytical abilities on par with some species of cepholapo /mob/living/simple_mob/animal/sif/grafadreka/verb/sit_down() set name = "Sit Down" - set category = "IC" + set category = "IC.Grafadreka" if(sitting) resting = FALSE @@ -112,7 +112,7 @@ Field studies suggest analytical abilities on par with some species of cepholapo resting = TRUE sitting = TRUE - to_chat(src, SPAN_NOTICE("You are now [sitting ? "sitting" : "getting up"].")) + to_chat(src, span_notice("You are now [sitting ? "sitting" : "getting up"].")) update_canmove() update_icon() @@ -120,8 +120,8 @@ Field studies suggest analytical abilities on par with some species of cepholapo name = "grafadreka" desc = "A large, sleek snow drake with heavy claws, powerful jaws and many pale spines along its body." player_msg = "You are a large Sivian pack predator in symbiosis with the local bioluminescent bacteria. You can eat glowing \ - tree fruit to fuel your ranged spitting attack and poisonous bite (on harm intent), as well as healing saliva \ - (on help intent).
    There are humans moving through your territory; whether you help them get home safely, or treat them as a snack, \ + tree fruit to fuel your " + span_bold("ranged spitting attack") + " and " + span_bold("poisonous bite") + " (on " + span_danger("harm intent") + "), as well as " + span_bold("healing saliva") + "\ + (on " + span_bold(span_green("help intent")) + ").
    There are humans moving through your territory; whether you help them get home safely, or treat them as a snack, \ is up to you." color = "#608894" icon = 'icons/mob/drake_adult.dmi' @@ -132,15 +132,15 @@ Field studies suggest analytical abilities on par with some species of cepholapo icon_rest = "doggo_lying" projectileverb = "spits" friendly = list("headbutts", "grooms", "play-bites", "rubs against") - bitesize = 10 // chomp + bitesize = 10 gender = NEUTER - has_langs = list("Drake") + has_langs = list(LANNGUAGE_DRAKE) see_in_dark = 8 // on par with Taj tt_desc = "S tesca pabulator" - faction = "grafadreka" + faction = FACTION_GRAFADREKA mob_size = MOB_LARGE mob_bump_flag = SIMPLE_ANIMAL @@ -262,17 +262,17 @@ var/global/list/wounds_being_tended_by_drakes = list() if(istype(user, /mob/living/simple_mob/animal/sif/grafadreka) || isobserver(user)) var/datum/gender/G = gender_datums[get_visible_gender()] if(stored_sap >= 20) - . += SPAN_NOTICE("[G.His] sap reserves are high.") + . += span_notice("[G.His] sap reserves are high.") else if(stored_sap >= 10) - . += SPAN_WARNING("[G.His] sap reserves are running low.") + . += span_warning("[G.His] sap reserves are running low.") else - . += SPAN_DANGER("[G.His] sap reserves are depleted.") + . += span_danger("[G.His] sap reserves are depleted.") /mob/living/simple_mob/animal/sif/grafadreka/can_projectile_attack(var/atom/A) if(a_intent != I_HURT || world.time < next_spit) return FALSE if(!has_sap(2)) - to_chat(src, SPAN_WARNING("You have no sap to spit!")) + to_chat(src, span_warning("You have no sap to spit!")) return FALSE return ..() @@ -428,7 +428,7 @@ var/global/list/wounds_being_tended_by_drakes = list() var/mob/living/friend = A if(friend.stat == DEAD) if(friend == src) - to_chat(src, SPAN_WARNING("\The [friend] is dead; tending their wounds is pointless.")) + to_chat(src, span_warning("\The [friend] is dead; tending their wounds is pointless.")) else return ..() return TRUE @@ -436,33 +436,33 @@ var/global/list/wounds_being_tended_by_drakes = list() if(!can_tend_wounds(friend)) if(friend == src) if(health == maxHealth) - to_chat(src, SPAN_WARNING("You are unwounded.")) + to_chat(src, span_warning("You are unwounded.")) else - to_chat(src, SPAN_WARNING("You cannot tend any of your wounds.")) + to_chat(src, span_warning("You cannot tend any of your wounds.")) else if(friend.health == friend.maxHealth) return ..() - to_chat(src, SPAN_WARNING("You cannot tend any of \the [friend]'s wounds.")) + to_chat(src, span_warning("You cannot tend any of \the [friend]'s wounds.")) return TRUE if(friend.has_modifier_of_type(/datum/modifier/sifsap_salve)) if(friend == src) - to_chat(src, SPAN_WARNING("You have already cleaned your wounds.")) + to_chat(src, span_warning("You have already cleaned your wounds.")) else return ..() return TRUE if(!has_sap(10)) if(friend == src) - to_chat(src, SPAN_WARNING("You don't have enough sap to clean your wounds.")) + to_chat(src, span_warning("You don't have enough sap to clean your wounds.")) else return ..() return TRUE if(friend == src) - visible_message(SPAN_NOTICE("\The [src] begins to drool a blue-glowing liquid, which they start slathering over their wounds.")) + visible_message(span_notice("\The [src] begins to drool a blue-glowing liquid, which they start slathering over their wounds.")) else - visible_message(SPAN_NOTICE("\The [src] begins to drool a blue-glowing liquid, which they start slathering over \the [friend]'s wounds.")) + visible_message(span_notice("\The [src] begins to drool a blue-glowing liquid, which they start slathering over \the [friend]'s wounds.")) playsound(src, 'sound/effects/ointment.ogg', 25) @@ -479,9 +479,9 @@ var/global/list/wounds_being_tended_by_drakes = list() set_AI_busy(FALSE) if(friend == src) - visible_message(SPAN_NOTICE("\The [src] finishes licking at their wounds.")) + visible_message(span_notice("\The [src] finishes licking at their wounds.")) else - visible_message(SPAN_NOTICE("\The [src] finishes licking at \the [friend]'s wounds.")) + visible_message(span_notice("\The [src] finishes licking at \the [friend]'s wounds.")) playsound(src, 'sound/effects/ointment.ogg', 25) // Sivian animals get a heal buff from the modifier, others just @@ -526,11 +526,10 @@ var/global/list/wounds_being_tended_by_drakes = list() else remove_modifiers_of_type(/datum/modifier/ace) -/mob/living/simple_mob/animal/sif/grafadreka/Stat() +/mob/living/simple_mob/animal/sif/grafadreka/get_status_tab_items() . = ..() - if(statpanel("Status")) - stat("Nutrition:", "[nutrition]/[max_nutrition]") - stat("Stored sap:", "[stored_sap]/[max_stored_sap]") + . += "Nutrition: [nutrition]/[max_nutrition]" + . += "Stored sap: [stored_sap]/[max_stored_sap]" /mob/living/simple_mob/animal/sif/grafadreka/proc/can_bite(var/mob/living/M) return istype(M) && (M.lying || M.confused || M.incapacitated()) @@ -565,18 +564,18 @@ var/global/list/wounds_being_tended_by_drakes = list() /mob/living/simple_mob/animal/sif/grafadreka/verb/rally_pack() set name = "Rally Pack" set desc = "Tries to command your fellow pack members to follow you." - set category = "Abilities" + set category = "Abilities.Grafadreka" if(!has_modifier_of_type(/datum/modifier/ace)) - to_chat(src, SPAN_WARNING("You aren't the pack leader! Sit down!")) + to_chat(src, span_warning("You aren't the pack leader! Sit down!")) return - audible_message("\The [src] barks loudly and rattles its neck spines.") + audible_message(span_infoplain(span_bold("\The [src]") + " barks loudly and rattles its neck spines.")) for(var/mob/living/simple_mob/animal/sif/grafadreka/drake in hearers(world.view * 3, src)) if(drake == src || drake.faction != faction) continue if(drake.client) - to_chat(drake, SPAN_NOTICE("The pack leader wishes for you to follow them.")) + to_chat(drake, span_boldnotice("The pack leader wishes for you to follow them.")) else if(drake.ai_holder) drake.ai_holder.set_follow(src) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/hooligan_crab.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/hooligan_crab.dm index 7018a83aef4..b2a5ab838d9 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/hooligan_crab.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/hooligan_crab.dm @@ -35,7 +35,7 @@ icon_scale_x = 1.5 icon_scale_y = 1.5 - faction = "crabs" + faction = FACTION_CRABS maxHealth = 200 health = 200 @@ -72,7 +72,7 @@ attack_edge = TRUE melee_attack_delay = 1 SECOND - meat_type = /obj/item/weapon/reagent_containers/food/snacks/crabmeat + meat_type = /obj/item/reagent_containers/food/snacks/crabmeat meat_amount = 6 response_help = "pets" @@ -100,9 +100,9 @@ if(was_stunned) // Try to prevent chain-stuns by having them thrown. var/throwdir = get_dir(src, L) L.throw_at(get_edge_target_turf(L, throwdir), 5, 1, src) - visible_message(span("danger", "\The [src] hurls \the [L] away!")) + visible_message(span_danger("\The [src] hurls \the [L] away!")) else - visible_message(span("danger", "\The [src] crushes \the [L]!")) + visible_message(span_danger("\The [src] crushes \the [L]!")) // The AI for hooligan crabs. Follows people for awhile. /datum/ai_holder/simple_mob/melee/hooligan @@ -119,5 +119,5 @@ if(prob(10)) for(var/mob/living/L in hearers(holder)) if(!istype(L, holder)) // Don't follow other hooligan crabs. - holder.visible_message("\The [holder] starts to follow \the [L].") + holder.visible_message(span_infoplain(span_bold("\The [holder]") + " starts to follow \the [L].")) set_follow(L, rand(20 SECONDS, 40 SECONDS)) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/kururak.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/kururak.dm index ed00619ba23..0f73d1a9c4f 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/kururak.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/kururak.dm @@ -23,7 +23,7 @@ tt_desc = "S Felidae fluctursora" catalogue_data = list(/datum/category_item/catalogue/fauna/kururak) - faction = "kururak" + faction = FACTION_KURUAK icon_state = "bigcat" icon_living = "bigcat" @@ -143,12 +143,12 @@ return ..() /mob/living/simple_mob/animal/sif/kururak/verb/do_flash() - set category = "Abilities" + set category = "Abilities.Kururak" set name = "Tail Blind" set desc = "Disorient a creature within range." if(world.time < last_flash_time + special_attack_cooldown) - to_chat(src, span("warning", "You do not have the focus to do this so soon..")) + to_chat(src, span_warning("You do not have the focus to do this so soon..")) return last_flash_time = world.time @@ -158,7 +158,7 @@ set waitfor = FALSE if(stat) - to_chat(src, span("warning","You cannot move your tails in this state..")) + to_chat(src, span_warning("You cannot move your tails in this state..")) return if(!A && src.client) @@ -177,7 +177,7 @@ A = tgui_input_list(src, "What do we wish to flash?", "Target Choice", choices) - visible_message(span("alien","\The [src] flares its tails!")) + visible_message(span_alien("\The [src] flares its tails!")) if(isliving(A)) var/mob/living/L = A if(iscarbon(L)) @@ -190,7 +190,7 @@ var/mob/living/carbon/human/H = C flash_strength *= H.species.flash_mod if(flash_strength > 0) - to_chat(H, span("alien","You are disoriented by \the [src]!")) + to_chat(H, span_alien("You are disoriented by \the [src]!")) H.eye_blurry = max(H.eye_blurry, flash_strength + 5) H.flash_eyes() H.apply_damage(flash_strength * H.species.flash_burn/5, BURN, BP_HEAD, 0, 0, "Photon burns") @@ -206,7 +206,7 @@ shield.adjust_flash_count(R, 1) flashfail = TRUE if(!flashfail) - to_chat(R, span("alien","Your optics are scrambled by \the [src]!")) + to_chat(R, span_alien("Your optics are scrambled by \the [src]!")) R.Confuse(10) R.flash_eyes() @@ -229,12 +229,12 @@ R.flash_eyes() /mob/living/simple_mob/animal/sif/kururak/verb/do_strike() - set category = "Abilities" + set category = "Abilities.Kururak" set name = "Rending Strike" set desc = "Strike viciously at an entity within range." if(world.time < last_strike_time + special_attack_cooldown) - to_chat(src, span("warning", "Your claws cannot take that much stress in so short a time..")) + to_chat(src, span_warning("Your claws cannot take that much stress in so short a time..")) return last_strike_time = world.time @@ -242,7 +242,7 @@ /mob/living/simple_mob/animal/sif/kururak/proc/rending_strike(atom/A) if(stat) - to_chat(src, span("warning","You cannot strike in this state..")) + to_chat(src, span_warning("You cannot strike in this state..")) return if(!A && src.client) @@ -256,7 +256,7 @@ choices += M if(!choices.len) - to_chat(src, span("warning","There are no viable targets within range...")) + to_chat(src, span_warning("There are no viable targets within range...")) return A = tgui_input_list(src, "What do we wish to strike?", "Target Choice", choices) @@ -267,7 +267,7 @@ var/damage_to_apply = rand(melee_damage_lower, melee_damage_upper) + 10 if(isliving(A)) - visible_message(span("danger","\The [src] rakes its claws across [A].")) + visible_message(span_danger("\The [src] rakes its claws across [A].")) var/mob/living/L = A if(ishuman(L)) var/mob/living/carbon/human/H = L @@ -279,13 +279,13 @@ L.add_modifier(/datum/modifier/grievous_wounds, 60 SECONDS) else if(istype(A, /obj/mecha)) - visible_message(span("danger","\The [src] rakes its claws against \the [A].")) + visible_message(span_danger("\The [src] rakes its claws against \the [A].")) var/obj/mecha/M = A M.take_damage(damage_to_apply) if(prob(3)) - visible_message(span("critical","\The [src] begins digging its claws into \the [M]'s hatch!")) + visible_message(span_critical("\The [src] begins digging its claws into \the [M]'s hatch!")) if(do_after(src, 1 SECOND)) - visible_message(span("critical","\The [src] rips \the [M]'s access hatch open, dragging [M.occupant] out!")) + visible_message(span_critical("\The [src] rips \the [M]'s access hatch open, dragging [M.occupant] out!")) M.go_out() else @@ -294,7 +294,7 @@ /mob/living/simple_mob/animal/sif/kururak/verb/rally_pack() // Mostly for telling other players to follow you. AI Kururaks will auto-follow, if set to. set name = "Rally Pack" set desc = "Tries to command your fellow pack members to follow you." - set category = "Abilities" + set category = "Abilities.Kururak" if(has_modifier_of_type(/datum/modifier/ace)) for(var/mob/living/simple_mob/animal/sif/kururak/K in hearers(7, src)) @@ -305,7 +305,7 @@ if(K.faction != src.faction) continue var/datum/ai_holder/AI = K.ai_holder - to_chat(K, span("notice","The pack leader wishes for you to follow them.")) + to_chat(K, span_notice("The pack leader wishes for you to follow them.")) AI.set_follow(src) /mob/living/simple_mob/animal/sif/kururak/proc/detect_instinct() // Will return the Kururak within 10 tiles that has the highest instinct. diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/leech.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/leech.dm index eda2abf21f8..7b89c0f0de6 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/leech.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/leech.dm @@ -21,7 +21,7 @@ tt_desc = "S Hirudinea phorus" catalogue_data = list(/datum/category_item/catalogue/fauna/iceleech) - faction = "leech" + faction = FACTION_LEECH icon_state = "leech" item_state = "brainslug" @@ -58,7 +58,7 @@ a_intent = I_HELP - holder_type = /obj/item/weapon/holder/leech + holder_type = /obj/item/holder/leech movement_cooldown = -2 aquatic_movement = -2 @@ -119,18 +119,12 @@ /mob/living/simple_mob/animal/sif/leech/Initialize() . = ..() - verbs += /mob/living/proc/ventcrawl - verbs += /mob/living/proc/hide + add_verb(src, /mob/living/proc/ventcrawl) + add_verb(src, /mob/living/proc/hide) -/mob/living/simple_mob/animal/sif/leech/Stat() - ..() - if(client.statpanel == "Status") - statpanel("Status") - if(emergency_shuttle) - var/eta_status = emergency_shuttle.get_status_panel_eta() - if(eta_status) - stat(null, eta_status) - stat("Chemicals", chemicals) +/mob/living/simple_mob/animal/sif/leech/get_status_tab_items() + . = ..() + . += "Chemicals: [chemicals]" /mob/living/simple_mob/animal/sif/leech/do_special_attack(atom/A) . = TRUE @@ -167,14 +161,14 @@ alpha = 5 if(host.reagents.has_reagent("cordradaxon") && !docile) // Overwhelms the leech with food. var/message = "We feel the rush of cardiac pluripotent cells in your host's blood, lulling us into docility." - to_chat(src, span("warning", message)) + to_chat(src, span_warning(message)) docile = TRUE if(chemicals + 5 <= max_chemicals) chemicals += 5 else if(docile) var/message = "We shake off our lethargy as the pluripotent cell count declines in our host's blood." - to_chat(src, span("notice", message)) + to_chat(src, span_notice(message)) docile = FALSE if(!host.reagents.has_reagent(passive_reagent)) @@ -231,23 +225,23 @@ leave_host() /mob/living/simple_mob/animal/sif/leech/verb/infest() - set category = "Abilities" + set category = "Abilities.Leech" set name = "Infest" set desc = "Infest a suitable humanoid host." if(docile) - to_chat(src, span("alium","We are too tired to do this...")) + to_chat(src, span_alium("We are too tired to do this...")) return do_infest(usr) /mob/living/simple_mob/animal/sif/leech/proc/do_infest(var/mob/living/user, var/mob/living/target = null) if(host) - to_chat(user, span("alien", "We are already within a host.")) + to_chat(user, span_alien("We are already within a host.")) return if(stat) - to_chat(user, span("warning","We cannot infest a target in your current state.")) + to_chat(user, span_warning("We cannot infest a target in your current state.")) return var/mob/living/carbon/M = target @@ -259,7 +253,7 @@ choices += C if(!choices.len) - to_chat(user, span("warning","There are no viable hosts within range...")) + to_chat(user, span_warning("There are no viable hosts within range...")) return M = tgui_input_list(src, "Who do we wish to infest?", "Target Choice", choices) @@ -282,24 +276,24 @@ var/list/covering_clothing = E.get_covering_clothing() for(var/obj/item/clothing/C in covering_clothing) if(C.armor["melee"] >= 20 + attack_armor_pen) - to_chat(user, span("notice","We cannot get through that host's protective gear.")) + to_chat(user, span_notice("We cannot get through that host's protective gear.")) return if(!do_after(src,2)) - to_chat(user, span("notice", "As [M] moves away, we are dislodged and fall to the ground.")) + to_chat(user, span_notice("As [M] moves away, we are dislodged and fall to the ground.")) return if(!M || !src) return if(src.stat) - to_chat(user, span("warning","We cannot infest a target in your current state.")) + to_chat(user, span_warning("We cannot infest a target in your current state.")) return if(M in view(1, src)) - to_chat(user,span("alien", "We burrow into [M]'s flesh.")) + to_chat(user,span_alien("We burrow into [M]'s flesh.")) if(!M.stat) - to_chat(M, span("critical", "You feel a sharp pain as something digs into your flesh!")) + to_chat(M, span_critical("You feel a sharp pain as something digs into your flesh!")) src.host = M src.forceMove(M) @@ -314,16 +308,16 @@ return else - to_chat(user, span("notice","They are no longer in range.")) + to_chat(user, span_notice("They are no longer in range.")) return /mob/living/simple_mob/animal/sif/leech/verb/uninfest() - set category = "Abilities" + set category = "Abilities.Leech" set name = "Uninfest" set desc = "Leave your current host." if(docile) - to_chat(src, span("alium","We are too tired to do this...")) + to_chat(src, span_alium("We are too tired to do this...")) return leave_host() @@ -342,12 +336,12 @@ host = null /mob/living/simple_mob/animal/sif/leech/verb/inject_victim() - set category = "Abilities" + set category = "Abilities.Leech" set name = "Incapacitate Potential Host" set desc = "Inject an organic host with an incredibly painful mixture of chemicals." if(docile) - to_chat(src, span("alium","We are too tired to do this...")) + to_chat(src, span_alium("We are too tired to do this...")) return var/mob/living/carbon/M @@ -358,7 +352,7 @@ choices += C if(!choices.len) - to_chat(src, span("warning","There are no viable hosts within range...")) + to_chat(src, span_warning("There are no viable hosts within range...")) return M = tgui_input_list(src, "Who do we wish to inject?", "Target Choice", choices) @@ -375,7 +369,7 @@ var/mob/living/carbon/human/H = L if(!istype(H) || H.isSynthetic()) - to_chat(user, span("warning","You cannot inject this target...")) + to_chat(user, span_warning("You cannot inject this target...")) var/obj/item/organ/external/E = H.organs_by_name[infest_target] if(!E || E.is_stump() || E.robotic >= ORGAN_ROBOT) @@ -384,22 +378,22 @@ var/list/covering_clothing = E.get_covering_clothing() for(var/obj/item/clothing/C in covering_clothing) if(C.armor["melee"] >= 40 + attack_armor_pen) - to_chat(user, span("notice","You cannot get through that host's protective gear.")) + to_chat(user, span_notice("You cannot get through that host's protective gear.")) return H.add_modifier(/datum/modifier/poisoned/paralysis, 15 SECONDS) /mob/living/simple_mob/animal/sif/leech/verb/medicate_host() - set category = "Abilities" + set category = "Abilities.Leech" set name = "Produce Chemicals (50)" set desc = "Inject your host with possibly beneficial chemicals, to keep the blood flowing." if(docile) - to_chat(src, span("alium","We are too tired to do this...")) + to_chat(src, span_alium("We are too tired to do this...")) return if(!host || chemicals <= 50) - to_chat(usr, span("alien","We cannot produce any chemicals right now.")) + to_chat(usr, span_alien("We cannot produce any chemicals right now.")) return if(host) @@ -410,15 +404,15 @@ if(host) chemicals = max(1, chemicals - 50) host.reagents.add_reagent(chem, 5) - to_chat(src, span("alien","We injected \the [host] with five units of [chem].")) + to_chat(src, span_alien("We injected \the [host] with five units of [chem].")) /mob/living/simple_mob/animal/sif/leech/verb/feed_on_organ() - set category = "Abilities" + set category = "Abilities.Leech" set name = "Feed on Organ" set desc = "Extend probosci to feed on a piece of your host's organs." if(docile) - to_chat(src, span("alium","We are too tired to do this...")) + to_chat(src, span_alium("We are too tired to do this...")) return if(host && world.time >= last_feeding + feeding_delay) @@ -432,7 +426,7 @@ if(client) target = tgui_input_list(usr, "Select an organ to feed on.", "Organs", host_internal_organs) if(!target) - to_chat(src, span("alien","We decide not to feed.")) + to_chat(src, span_alien("We decide not to feed.")) return if(!target) @@ -442,13 +436,13 @@ bite_organ(target) else - to_chat(src, span("warning","We cannot feed now.")) + to_chat(src, span_warning("We cannot feed now.")) /mob/living/simple_mob/animal/sif/leech/proc/bite_organ(var/obj/item/organ/internal/O) last_feeding = world.time if(O) - to_chat(src, span("alien","We feed on [O].")) + to_chat(src, span_alien("We feed on [O].")) O.take_damage(2,silent=prob(10)) chemicals = min(max_chemicals, chemicals + 60) host.add_modifier(/datum/modifier/grievous_wounds, 60 SECONDS) @@ -495,7 +489,7 @@ else if(istype(A, /obj/item)) var/obj/item/I = A - if(istype(I, /obj/item/weapon/reagent_containers/food/snacks)) + if(istype(I, /obj/item/reagent_containers/food/snacks)) holder.a_intent = I_HURT else holder.a_intent = I_HURT diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/moth.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/moth.dm index 67177bb19b7..5c59c2b7b14 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/moth.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/moth.dm @@ -28,7 +28,7 @@ tt_desc = "B Lepidoptera cinereus" catalogue_data = list(/datum/category_item/catalogue/fauna/tymisian) - faction = "spiders" //Hostile to most mobs, not all. + faction = FACTION_SPIDERS //Hostile to most mobs, not all. icon_state = "moth" icon_living = "moth" @@ -119,8 +119,8 @@ /mob/living/simple_mob/animal/sif/tymisian/Initialize() . = ..() smoke_spore = new - verbs += /mob/living/proc/ventcrawl - verbs += /mob/living/proc/hide + add_verb(src, /mob/living/proc/ventcrawl) + add_verb(src, /mob/living/proc/hide) /mob/living/simple_mob/animal/sif/tymisian/handle_special() ..() @@ -128,15 +128,9 @@ if(energy < max_energy) energy++ -/mob/living/simple_mob/animal/sif/tymisian/Stat() - ..() - if(client.statpanel == "Status") - statpanel("Status") - if(emergency_shuttle) - var/eta_status = emergency_shuttle.get_status_panel_eta() - if(eta_status) - stat(null, eta_status) - stat("Energy", energy) +/mob/living/simple_mob/animal/sif/tymisian/get_status_tab_items() + . = ..() + . += "Energy: [energy]" /mob/living/simple_mob/animal/sif/tymisian/should_special_attack(atom/A) if(energy >= 20) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/racoon.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/racoon.dm index c5578af410e..8f0c929673d 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/racoon.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/racoon.dm @@ -17,7 +17,7 @@ tt_desc = "S Procyon cogitae" catalogue_data = list(/datum/category_item/catalogue/fauna/sakimm) - faction = "sakimm" + faction = FACTION_SAKIMM icon_state = "raccoon" icon_living = "raccoon" @@ -66,13 +66,13 @@ ai_holder_type = /datum/ai_holder/simple_mob/retaliate/cooperative/sakimm var/obj/item/clothing/head/hat = null // The hat the Sakimm may be wearing. - var/list/friend_loot_list = list(/obj/item/weapon/coin) // What will make this animal non-hostile if held? + var/list/friend_loot_list = list(/obj/item/coin) // What will make this animal non-hostile if held? var/randomize_size = TRUE /mob/living/simple_mob/animal/sif/sakimm/verb/remove_hat() set name = "Remove Hat" set desc = "Remove the animal's hat. You monster." - set category = "Abilities" + set category = "Abilities.Sakimm" set src in view(1) drop_hat(usr) @@ -83,19 +83,19 @@ hat = null update_icon() if(user == src) - to_chat(user, "You removed your hat.") + to_chat(user, span_notice("You removed your hat.")) return - to_chat(user, "You removed \the [src]'s hat. You monster.") + to_chat(user, span_warning("You removed \the [src]'s hat. You monster.")) else if(user == src) - to_chat(user, "You are not wearing a hat!") + to_chat(user, span_notice("You are not wearing a hat!")) return - to_chat(user, "\The [src] is not wearing a hat!") + to_chat(user, span_notice("\The [src] is not wearing a hat!")) /mob/living/simple_mob/animal/sif/sakimm/verb/give_hat() set name = "Give Hat" set desc = "Give the animal a hat. You hero." - set category = "Abilities" + set category = "Abilities.Sakimm" set src in view(1) take_hat(usr) @@ -103,16 +103,16 @@ /mob/living/simple_mob/animal/sif/sakimm/proc/take_hat(var/mob/user) if(hat) if(user == src) - to_chat(user, "You already have a hat!") + to_chat(user, span_notice("You already have a hat!")) return - to_chat(user, "\The [src] already has a hat!") + to_chat(user, span_notice("\The [src] already has a hat!")) else if(user == src) if(istype(get_active_hand(), /obj/item/clothing/head)) hat = get_active_hand() drop_from_inventory(hat, src) hat.forceMove(src) - to_chat(user, "You put on the hat.") + to_chat(user, span_notice("You put on the hat.")) update_icon() return else if(ishuman(user)) @@ -125,10 +125,10 @@ a_intent = I_HELP newhat.attack_hand(src) else if(src.get_active_hand()) - to_chat(user, "\The [src] seems busy with \the [get_active_hand()] already!") + to_chat(user, span_notice("\The [src] seems busy with \the [get_active_hand()] already!")) else - to_chat(user, "You aren't holding a hat...") + to_chat(user, span_warning("You aren't holding a hat...")) /datum/say_list/sakimm speak = list("Shurr.", "|R|rr?", "Hss.") @@ -153,8 +153,8 @@ /mob/living/simple_mob/animal/sif/sakimm/Initialize() . = ..() - verbs += /mob/living/proc/ventcrawl - verbs += /mob/living/proc/hide + add_verb(src, /mob/living/proc/ventcrawl) + add_verb(src, /mob/living/proc/hide) if(randomize_size) adjust_scale(rand(8, 11) / 10) @@ -182,7 +182,7 @@ if(holder.get_active_hand() && istype(holder.get_active_hand(), /obj/item/clothing/head) && !S.hat) var/obj/item/I = holder.get_active_hand() S.take_hat(S) - holder.visible_message("\The [holder] wears \the [I]") + holder.visible_message(span_infoplain(span_bold("\The [holder]") + " wears \the [I]")) /mob/living/simple_mob/animal/sif/sakimm/intelligent desc = "What appears to be an oversized rodent with hands. This one has a curious look in its eyes." @@ -198,7 +198,7 @@ flee_when_dying = TRUE var/greed = 0 // The probability we will try to steal something. Increases over time if we are not holding something, or wearing a hat. - var/list/steal_loot_list = list(/obj/item/weapon/coin, /obj/item/weapon/gun, /obj/item/weapon/fossil, /obj/item/stack/material, /obj/item/weapon/material, /obj/item/weapon/reagent_containers/food/snacks, /obj/item/clothing/head, /obj/item/weapon/reagent_containers/glass, /obj/item/device/flashlight, /obj/item/stack/medical, /obj/item/seeds, /obj/item/weapon/spacecash) + var/list/steal_loot_list = list(/obj/item/coin, /obj/item/gun, /obj/item/fossil, /obj/item/stack/material, /obj/item/material, /obj/item/reagent_containers/food/snacks, /obj/item/clothing/head, /obj/item/reagent_containers/glass, /obj/item/flashlight, /obj/item/stack/medical, /obj/item/seeds, /obj/item/spacecash) var/hoard_items = TRUE var/hoard_distance = 1 // How far an item can be from the Sakimm's home turf to be counted inside its 'hoard'. var/original_home_distance = null @@ -295,7 +295,7 @@ else if(istype(A, /obj/item)) var/obj/item/I = A - if(istype(I, /obj/item/weapon/reagent_containers/food/snacks)) // If we can't pick it up, or it's edible, go to harm. + if(istype(I, /obj/item/reagent_containers/food/snacks)) // If we can't pick it up, or it's edible, go to harm. holder.a_intent = I_HURT else holder.a_intent = I_HELP @@ -328,7 +328,7 @@ if(istype(holder) && istype(holder.get_active_hand(), /obj/item/clothing/head) && !S.hat) var/obj/item/I = holder.get_active_hand() S.take_hat(S) - holder.visible_message("\The [holder] wears \the [I]") + holder.visible_message(span_bold("\The [holder]") + "wears \the [I]") carrying_item = TRUE if(istype(holder) && S.hat) // Do we have a hat? Hats are loot. diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/savik.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/savik.dm index 27ec5bf6fa6..d826ce81ce4 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/savik.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/savik.dm @@ -21,7 +21,7 @@ name = "savik" tt_desc = "S Pistris tellus" //landshark catalogue_data = list(/datum/category_item/catalogue/fauna/savik) - faction = "savik" + faction = FACTION_SAVIK icon_state = "savik" icon_living = "savik" @@ -49,8 +49,8 @@ tame_items = list( /obj/item/organ = 70, - /obj/item/weapon/reagent_containers/food/snacks/crabmeat = 30, - /obj/item/weapon/reagent_containers/food/snacks/meat = 20 + /obj/item/reagent_containers/food/snacks/crabmeat = 30, + /obj/item/reagent_containers/food/snacks/meat = 20 ) say_list_type = /datum/say_list/savik @@ -79,7 +79,7 @@ /mob/living/simple_mob/animal/sif/savik/verb/berserk() set name = "Berserk" set desc = "Enrage and become vastly stronger for a period of time, however you will be weaker afterwards." - set category = "Abilities" + set category = "Abilities.Savik" add_modifier(/datum/modifier/berserk, 30 SECONDS) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/shantak.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/shantak.dm index f14c909104c..3336427f1c8 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/shantak.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/shantak.dm @@ -25,7 +25,7 @@ tt_desc = "S Choeros shantak" catalogue_data = list(/datum/category_item/catalogue/fauna/shantak) - faction = "shantak" + faction = FACTION_SHANTAK icon_state = "shantak" icon_living = "shantak" @@ -78,7 +78,7 @@ /mob/living/simple_mob/animal/sif/shantak/leader/verb/rally_pack() set name = "Rally Pack" set desc = "Commands your fellow packmembers to follow you, the leader." - set category = "Abilities" + set category = "Abilities.Shantak" for(var/mob/living/simple_mob/animal/sif/shantak/S in hearers(7, src)) if(istype(S, /mob/living/simple_mob/animal/sif/shantak/leader)) // Leaders won't follow other leaders. Also avoids trying to follow ourselves. @@ -108,7 +108,7 @@ name = "Scruffy" ai_holder_type = /datum/ai_holder/simple_mob/passive makes_dirt = 0 - faction = "neutral" + faction = FACTION_NEUTRAL /decl/mob_organ_names/shantak hit_zones = list("head", "torso", "left foreleg", "right foreleg", "left hind leg", "right hind leg", "tail", "mane", "snout") diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/sif.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/sif.dm index be88baab273..970365d457b 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/sif.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/sif.dm @@ -3,8 +3,9 @@ minbodytemp = 175 cold_resist = 0.75 heat_resist = -0.5 + allow_mind_transfer = TRUE tame_items = list( - /obj/item/weapon/reagent_containers/food/snacks/crabmeat = 20, - /obj/item/weapon/reagent_containers/food/snacks/meat = 10 + /obj/item/reagent_containers/food/snacks/crabmeat = 20, + /obj/item/reagent_containers/food/snacks/meat = 10 ) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/siffet.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/siffet.dm index dcbed0f0f8d..da75d3c9b2b 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/siffet.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/siffet.dm @@ -18,7 +18,7 @@ tt_desc = "S Pruinaeictis velocis" //Sivian frost weasel, fast catalogue_data = list(/datum/category_item/catalogue/fauna/siffet) - faction = "siffet" + faction =FACTION_SIFFET mob_size = MOB_SMALL diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/alien.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/alien.dm index 7d1fe9f567a..cbd40334563 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/space/alien.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/alien.dm @@ -8,7 +8,7 @@ icon_gib = "syndicate_gib" icon_rest = "alienh_sleep" - faction = "xeno" + faction = FACTION_XENO mob_class = MOB_CLASS_ABERRATION @@ -30,7 +30,7 @@ attacktext = list("slashed") attack_sound = 'sound/weapons/bladeslice.ogg' - meat_type = /obj/item/weapon/reagent_containers/food/snacks/xenomeat + meat_type = /obj/item/reagent_containers/food/snacks/xenomeat meat_amount = 5 /mob/living/simple_mob/animal/space/alien/drone diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/animals_yw.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/animals_yw.dm index 3f9f6eb7b22..5ea45b6ac29 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/space/animals_yw.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/animals_yw.dm @@ -73,7 +73,7 @@ say_got_target = list("Purge!","Cleanse!","Burn!") */ meat_amount = 0 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + meat_type = /obj/item/reagent_containers/food/snacks/meat var/turns_since_scan = 0 var/mob/flee_target @@ -237,7 +237,7 @@ charging = 1 movement_shake_radius = 3 movement_sound = 'sound/effects/mob_effects/snowbull_charge.ogg' - visible_message(span("danger","\The [src] prepares to charge at \the [A]!")) + visible_message(span_warning("\The [src] prepares to charge at \the [A]!")) update_icon() sleep(charging_warning) var/chargeturf = get_turf(A) @@ -251,7 +251,7 @@ movement_shake_radius = null movement_sound = null update_icon() - visible_message(span("danger", "\The [src] desists from charging at \the [A]")) + visible_message(span_warning("\The [src] desists from charging at \the [A]")) return for(var/distance = get_dist(src.loc, T), src.loc!=T && distance>0, distance--) var/movedir = get_dir(src.loc, T) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/bats.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/bats.dm index f4c47190590..d3256a6c562 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/space/bats.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/bats.dm @@ -8,7 +8,7 @@ icon_dead = "bat_dead" icon_gib = "bat_dead" - faction = "scarybat" + faction = FACTION_SCARYBAT maxHealth = 20 health = 20 @@ -32,7 +32,7 @@ has_langs = list(LANGUAGE_MOUSE, LANGUAGE_ECHOSONG) // Haha squeak - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + meat_type = /obj/item/reagent_containers/food/snacks/meat meat_amount = 2 say_list_type = /datum/say_list/mouse // Close enough @@ -44,11 +44,11 @@ var/mob/living/L = A if(prob(scare_chance)) L.Stun(1) - L.visible_message("\The [src] scares \the [L]!") + L.visible_message(span_danger("\The [src] scares \the [L]!")) // Spookiest of bats /mob/living/simple_mob/animal/space/bats/cult - faction = "cult" + faction = FACTION_CULT supernatural = TRUE /mob/living/simple_mob/animal/space/bats/cult/cultify() diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/bear.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/bear.dm index 9330af19840..d2b1466df0e 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/space/bear.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/bear.dm @@ -7,7 +7,7 @@ icon_dead = "bear_dead" icon_gib = "bear_gib" - faction = "russian" + faction = FACTION_RUSSIAN maxHealth = 125 health = 125 @@ -22,11 +22,13 @@ melee_attack_delay = 1 SECOND attacktext = list("mauled") - meat_type = /obj/item/weapon/reagent_containers/food/snacks/bearmeat + meat_type = /obj/item/reagent_containers/food/snacks/bearmeat meat_amount = 8 say_list_type = /datum/say_list/bear + allow_mind_transfer = TRUE + /datum/say_list/bear speak = list("RAWR!","Rawr!","GRR!","Growl!") emote_see = list("stares ferociously", "stomps") @@ -42,6 +44,6 @@ /mob/living/simple_mob/animal/space/bear/verb/berserk() set name = "Berserk" set desc = "Enrage and become vastly stronger for a period of time, however you will be weaker afterwards." - set category = "Abilities" + set category = "Abilities.Bear" add_modifier(/datum/modifier/berserk, 30 SECONDS) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/carp.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/carp.dm index 357eb366e39..6cef5c086b9 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/space/carp.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/carp.dm @@ -34,7 +34,7 @@ icon_dead = "carp_dead" icon_gib = "carp_gib" - faction = "carp" + faction = FACTION_CARP maxHealth = 25 health = 25 movement_cooldown = -2 @@ -54,7 +54,7 @@ organ_names = /decl/mob_organ_names/fish meat_amount = 5 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/carpmeat + meat_type = /obj/item/reagent_containers/food/snacks/carpmeat ai_holder_type = /datum/ai_holder/simple_mob/melee @@ -65,7 +65,7 @@ var/mob/living/L = A if(prob(knockdown_chance)) L.Weaken(3) - L.visible_message(span("danger", "\The [src] knocks down \the [L]!")) + L.visible_message(span_danger("\The [src] knocks down \the [L]!")) // Subtypes. @@ -188,7 +188,7 @@ // Called on death. /mob/living/simple_mob/animal/space/carp/holographic/proc/derez() - visible_message(span("notice", "\The [src] fades away!")) + visible_message(span_notice("\The [src] fades away!")) qdel(src) /mob/living/simple_mob/animal/space/carp/holographic/gib() @@ -249,4 +249,4 @@ ..() /mob/living/simple_mob/animal/space/carp/puffer/ex_act() //explode? YOU BETTER BELIEVE THAT'S AN EXPLODE - kaboom() \ No newline at end of file + kaboom() diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/gaslamp_vr.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/gaslamp_vr.dm index 2958cc58d8a..436d6c83153 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/space/gaslamp_vr.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/gaslamp_vr.dm @@ -27,7 +27,7 @@ TODO: Make them light up and heat the air when exposed to oxygen. icon = 'icons/mob/vore32x64.dmi' vis_height = 64 - faction = "virgo3b" + faction = FACTION_VIRGO3B maxHealth = 100 health = 100 movement_cooldown = 4 diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/gnat.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/gnat.dm index 35c77548b19..cc613f7d47b 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/space/gnat.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/gnat.dm @@ -26,7 +26,7 @@ icon_living = "gnat" icon_dead = "gnat_dead" - faction = "gnat" + faction = FACTION_GNAT maxHealth = 5 health = 5 movement_cooldown = 0 @@ -46,7 +46,7 @@ organ_names = /decl/mob_organ_names/fish meat_amount = 1 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/carpmeat/gnat + meat_type = /obj/item/reagent_containers/food/snacks/carpmeat/gnat ai_holder_type = /datum/ai_holder/simple_mob/melee/evasive/jellyfish mob_bump_flag = 0 diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/goose.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/goose.dm index 875434ebeac..e6b642b6d80 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/space/goose.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/goose.dm @@ -6,7 +6,7 @@ icon_living = "goose" icon_dead = "goose_dead" - faction = "geese" + faction = FACTION_GEESE maxHealth = 30 health = 30 @@ -25,7 +25,7 @@ has_langs = list(LANGUAGE_ANIMAL) - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat/chicken + meat_type = /obj/item/reagent_containers/food/snacks/meat/chicken meat_amount = 3 /datum/say_list/goose @@ -42,7 +42,7 @@ /mob/living/simple_mob/animal/space/goose/verb/berserk() set name = "Berserk" set desc = "Enrage and become vastly stronger for a period of time, however you will be weaker afterwards." - set category = "Abilities" + set category = "Abilities.Goose" add_modifier(/datum/modifier/berserk, 30 SECONDS) @@ -55,4 +55,4 @@ icon_living = "whitegoose" icon_dead = "whitegoose_dead" name = "white goose" - desc = "And just when you thought it was a lovely day..." \ No newline at end of file + desc = "And just when you thought it was a lovely day..." diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/goose_vr.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/goose_vr.dm index 830964f05f8..8db3f451d31 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/space/goose_vr.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/goose_vr.dm @@ -4,4 +4,4 @@ value = CATALOGUER_REWARD_EASY /mob/living/simple_mob/animal/space/goose/virgo3b - faction = "virgo3b" \ No newline at end of file + faction = FACTION_VIRGO3B diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/ray.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/ray.dm index 18eace68b5c..18e03d2a88b 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/space/ray.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/ray.dm @@ -36,7 +36,7 @@ icon_rest = "ray_rest" icon_gib = "ray_gib" - faction = "ray" + faction = FACTION_RAY maxHealth = 125 health = 125 movement_cooldown = 0 // Carp go fast @@ -56,7 +56,7 @@ organ_names = /decl/mob_organ_names/fish meat_amount = 5 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/carpmeat/ray + meat_type = /obj/item/reagent_containers/food/snacks/carpmeat/ray ai_holder_type = /datum/ai_holder/simple_mob/retaliate/chill mob_bump_flag = 0 @@ -70,9 +70,9 @@ var/mob/living/L = A if(prob(knockdown_chance)) L.Weaken(4) - L.visible_message(span("danger", "\The [src] buffets \the [L]!")) + L.visible_message(span_danger("\The [src] buffets \the [L]!")) src.ai_holder.remove_target() - L.visible_message(span("notice", "\The [src] seems to lose interest in \the [L]...")) + L.visible_message(span_notice("\The [src] seems to lose interest in \the [L]...")) /datum/say_list/space_ray emote_see = list("swoops","dives","drifts on a solar current","glides elegantly through the void","briefly tumbles") diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/shark.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/shark.dm index 466df2905d8..a611bb9dec1 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/space/shark.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/shark.dm @@ -19,7 +19,7 @@ icon_dead = "shark_dead" icon_rest = "shark_rest" - faction = "spaceshark" + faction = FACTION_SPACESHARK maxHealth = 125 health = 125 movement_cooldown = 0 @@ -39,7 +39,7 @@ organ_names = /decl/mob_organ_names/fish meat_amount = 10 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/carpmeat/shark + meat_type = /obj/item/reagent_containers/food/snacks/carpmeat/shark ai_holder_type = /datum/ai_holder/simple_mob/melee @@ -50,7 +50,7 @@ var/mob/living/L = A if(prob(knockdown_chance)) L.Weaken(3) - L.visible_message(span("danger", "\The [src] knocks down \the [L]!")) + L.visible_message(span_danger("\The [src] knocks down \the [L]!")) /mob/living/simple_mob/animal/space/shark/event - ai_holder_type = /datum/ai_holder/simple_mob/event \ No newline at end of file + ai_holder_type = /datum/ai_holder/simple_mob/event diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/snake_vr.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/snake_vr.dm index 1ca45243dd7..d75fc6e33c6 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/space/snake_vr.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/snake_vr.dm @@ -38,7 +38,7 @@ response_harm = "kicks" meat_amount = 2 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + meat_type = /obj/item/reagent_containers/food/snacks/meat melee_damage_lower = 2 melee_damage_upper = 3 @@ -103,7 +103,7 @@ movement_target = null if( !movement_target || !(movement_target.loc in oview(src, 3)) ) movement_target = null - for(var/obj/item/weapon/reagent_containers/food/snacks/snakesnack/S in oview(src,3)) + for(var/obj/item/reagent_containers/food/snacks/snakesnack/S in oview(src,3)) if(isturf(S.loc) || ishuman(S.loc)) movement_target = S visible_emote("turns towards \the [movement_target] and slithers towards it.") @@ -142,8 +142,8 @@ ..() /mob/living/simple_mob/animal/passive/snake/python/noodle/attackby(var/obj/item/O, var/mob/user) - if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/snakesnack)) - visible_message("[user] feeds \the [O] to [src].") + if(istype(O, /obj/item/reagent_containers/food/snacks/snakesnack)) + visible_message(span_notice("[user] feeds \the [O] to [src].")) qdel(O) else return ..() @@ -151,7 +151,7 @@ /* * Special snek-snax for Noodle! */ -/obj/item/weapon/reagent_containers/food/snacks/snakesnack +/obj/item/reagent_containers/food/snacks/snakesnack name = "sugar mouse" desc = "A little mouse treat made of coloured sugar. Noodle loves these!" var/snack_colour @@ -160,7 +160,7 @@ nutriment_amt = 1 nutriment_desc = list("sugar" = 1) -/obj/item/weapon/reagent_containers/food/snacks/snakesnack/Initialize() +/obj/item/reagent_containers/food/snacks/snakesnack/Initialize() . = ..() if(!snack_colour) snack_colour = pick( list("yellow","green","pink","blue") ) @@ -168,19 +168,19 @@ desc = "A little mouse treat made of coloured sugar. Noodle loves these! This one is [snack_colour]." reagents.add_reagent("sugar", 2) -/obj/item/weapon/storage/box/snakesnackbox +/obj/item/storage/box/snakesnackbox name = "box of Snake Snax" desc = "A box containing Noodle's special sugermouse treats." icon = 'icons/mob/snake_vr.dmi' icon_state = "sneksnakbox" storage_slots = 7 -/obj/item/weapon/storage/box/snakesnackbox/New() - new /obj/item/weapon/reagent_containers/food/snacks/snakesnack(src) - new /obj/item/weapon/reagent_containers/food/snacks/snakesnack(src) - new /obj/item/weapon/reagent_containers/food/snacks/snakesnack(src) - new /obj/item/weapon/reagent_containers/food/snacks/snakesnack(src) - new /obj/item/weapon/reagent_containers/food/snacks/snakesnack(src) - new /obj/item/weapon/reagent_containers/food/snacks/snakesnack(src) - new /obj/item/weapon/reagent_containers/food/snacks/snakesnack(src) +/obj/item/storage/box/snakesnackbox/New() + new /obj/item/reagent_containers/food/snacks/snakesnack(src) + new /obj/item/reagent_containers/food/snacks/snakesnack(src) + new /obj/item/reagent_containers/food/snacks/snakesnack(src) + new /obj/item/reagent_containers/food/snacks/snakesnack(src) + new /obj/item/reagent_containers/food/snacks/snakesnack(src) + new /obj/item/reagent_containers/food/snacks/snakesnack(src) + new /obj/item/reagent_containers/food/snacks/snakesnack(src) ..() diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/space_vr.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/space_vr.dm index 082f6342d04..e4ade300323 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/space/space_vr.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/space_vr.dm @@ -1,3 +1,3 @@ // Fix for Virgo 2's Surface /mob/living/simple_mob/animal/space - maxbodytemp = 700 \ No newline at end of file + maxbodytemp = 700 diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/worm.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/worm.dm index 06ca3cd5331..9ea34022f96 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/space/worm.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/worm.dm @@ -14,7 +14,7 @@ health = 200 movement_cooldown = -1 - faction = "worm" + faction = FACTION_WORM status_flags = 0 universal_speak = 0 @@ -36,7 +36,7 @@ mob_class = MOB_CLASS_ABERRATION // It's a monster. meat_amount = 10 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat/worm + meat_type = /obj/item/reagent_containers/food/snacks/meat/worm var/mob/living/simple_mob/animal/space/space_worm/previous //next/previous segments, correspondingly var/mob/living/simple_mob/animal/space/space_worm/next //head is the nextest segment @@ -124,14 +124,14 @@ /mob/living/simple_mob/animal/space/space_worm/head/verb/toggle_devour() set name = "Toggle Feeding" set desc = "Extends your teeth for 30 seconds so that you can chew through mobs and structures alike." - set category = "Abilities" + set category = "Abilities.Worm" if(world.time < time_maw_opened + maw_cooldown) if(open_maw) - to_chat(src, "You retract your teeth.") + to_chat(src, span_notice("You retract your teeth.")) time_maw_opened -= maw_cooldown / 2 // Recovers half cooldown if you end it early manually. else - to_chat(src, "You are too tired to do this..") + to_chat(src, span_notice("You are too tired to do this..")) set_maw(FALSE) else set_maw(!open_maw) @@ -158,7 +158,7 @@ if(world.time > time_maw_opened + maw_cooldown) // Auto-stop eating. if(open_maw) - to_chat(src, "Your jaws cannot remain open..") + to_chat(src, span_notice("Your jaws cannot remain open..")) set_maw(FALSE) if(next && !(next in view(src,1)) && !z_transitioning) @@ -260,7 +260,7 @@ break if(do_after(src, 5)) - D.visible_message("Something crashes against \the [D]!") + D.visible_message(span_danger("Something crashes against \the [D]!")) D.take_damage(2 * melee_damage_upper) else objectOrMob = null @@ -274,14 +274,14 @@ var/obj/effect/energy_field/EF = objectOrMob objectOrMob = null // No eating shields. if(EF.opacity) - EF.visible_message("Something begins forcing itself through \the [EF]!") + EF.visible_message(span_danger("Something begins forcing itself through \the [EF]!")) else - EF.visible_message("\The [src] begins forcing itself through \the [EF]!") + EF.visible_message(span_danger("\The [src] begins forcing itself through \the [EF]!")) if(do_after(src, EF.strength * 5)) EF.adjust_strength(rand(-8, -10)) - EF.visible_message("\The [src] crashes through \the [EF]!") + EF.visible_message(span_danger("\The [src] crashes through \the [EF]!")) else - EF.visible_message("\The [EF] reverberates as it returns to normal.") + EF.visible_message(span_danger("\The [EF] reverberates as it returns to normal.")) if(objectOrMob) objectOrMob.update_nearby_tiles(need_rebuild=1) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/squirrel.dm b/code/modules/mob/living/simple_mob/subtypes/animal/squirrel.dm index 9b62bc7da49..ded0cdb570d 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/squirrel.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/squirrel.dm @@ -19,12 +19,12 @@ icon = 'icons/mob/alienanimals_x32.dmi' color = "#76462c" - faction = "animal" + faction = FACTION_ANIMAL maxHealth = 40 health = 40 movement_cooldown = -1 meat_amount = 1 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + meat_type = /obj/item/reagent_containers/food/snacks/meat response_help = "pets" response_disarm = "slaps" @@ -52,6 +52,8 @@ var/do_seasons = TRUE var/picked_color = FALSE + allow_mind_transfer = TRUE + /////////////////////////////////////// Vore stuff/////////////////////////////////////////// swallowTime = 4 SECONDS @@ -206,10 +208,10 @@ /mob/living/simple_mob/vore/squirrel/verb/squirrel_color() set name = "Pick Color" - set category = "Abilities" + set category = "Abilities.Settings" set desc = "You can set your color!" if(picked_color) - to_chat(src, "You have already picked a color! If you picked the wrong color, ask an admin to change your picked_color variable to 0.") + to_chat(src, span_notice("You have already picked a color! If you picked the wrong color, ask an admin to change your picked_color variable to 0.")) return var/newcolor = input(usr, "Choose a color.", "", color) as color|null if(newcolor) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/turkeygirl.dm b/code/modules/mob/living/simple_mob/subtypes/animal/turkeygirl.dm new file mode 100644 index 00000000000..9c29db15a3a --- /dev/null +++ b/code/modules/mob/living/simple_mob/subtypes/animal/turkeygirl.dm @@ -0,0 +1,101 @@ +//turkey - sprites and writing done by VerySoft +/mob/living/simple_mob/vore/turkeygirl + name = "turkeygirl" + desc = "A feathered woman! She looks like some kind of plump turkey!" + tt_desc = "Meleagris gallopian" + icon = 'icons/mob/turkey.dmi' + icon_state = "turkeygirl" + icon_living = "turkeygirl" + icon_dead = "turkeygirl-dead" + + health = 100 + maxHealth = 100 + + has_hands = TRUE + + faction = "turkey" + + response_help = "hugs" + response_disarm = "pushes" + response_harm = "punches" + attacktext = list("pecked") + + has_langs = list(LANGUAGE_GALCOM , LANGUAGE_ANIMAL) + + meat_amount = 100 + meat_type = /obj/item/reagent_containers/food/snacks/meat/chicken + + ai_holder_type = /datum/ai_holder/simple_mob/passive + + say_list_type = /datum/say_list/turkey + + vore_active = 1 + vore_capacity = 2 + vore_bump_chance = 10 + vore_pounce_chance = 10 + vore_pounce_maxhealth = 999 + vore_ignores_undigestable = 0 + vore_default_mode = DM_SELECT + vore_icons = SA_ICON_LIVING + vore_stomach_name = "Stomach" + vore_default_contamination_flavor = "Wet" + vore_default_contamination_color = "grey" + vore_default_item_mode = IM_DIGEST + vore_standing_too = TRUE + +/mob/living/simple_mob/vore/turkeygirl/init_vore() + ..() + var/obj/belly/B = vore_selected + B.name = "stomach" + B.desc = "The hot churning stomach of a turkey girl! The doughy flesh presses inward to form to your figure, thick slime coating everything, and very shortly that includes you as well! There isn't any escaping that constant full body motion, as her body works to ball yours up into a tight little package. Gurgling and glubbing with every shifting movement, while her pulse throbs through the flesh all around you with every beat of her heart. All in all, one thing is for certain! You've become turkey stuffing! Oh no..." + B.mode_flags = DM_FLAG_THICKBELLY | DM_FLAG_NUMBING + B.belly_fullscreen = "anibelly" + B.digest_brute = 1 + B.digest_burn = 6 + B.digestchance = 0 + B.absorbchance = 0 + B.escapechance = 15 + B.colorization_enabled = TRUE + B.belly_fullscreen_color = "#521717" + +/datum/say_list/turkey + speak = list("Gobble!", "Gobble gobble!", "Gobble gobble gobble!", "Give me something to be thankful for~", "Could use something to gobble~", "Why don't you make a pilgrimage over here and give me something good to eat?", "I want a treat... I could bite you too if you like~", "What's your favorite time of year?", "Autumn is the best time of year~", "You just gonna let a girl go hungry?") + +/mob/living/simple_mob/vore/turkeygirl/update_icon() + . = ..() + if(stat == DEAD) + return + if(vore_fullness == 2 || nutrition >= 5000) + icon_state = "[icon_living]-2" + + else if(vore_fullness == 1 || nutrition >= 2500) + icon_state = "[icon_living]-1" + if(resting) + icon_state = "[icon_state]-resting" + +/mob/living/simple_mob/vore/turkeygirl/attackby(var/obj/item/reagent_containers/food/snacks/O as obj, var/mob/user as mob) + if(stat) + return ..() + + if(!istype(O, /obj/item/reagent_containers/food/snacks)) + return ..() + + if(nutrition >= max_nutrition) + if(user == src) + to_chat(src, span_notice("You're too full to eat another bite.")) + return + to_chat(user, span_notice("\The [src] seems too full to eat.")) + return + + user.setClickCooldown(user.get_attack_speed(O)) + if(O.reagents) + O.reagents.trans_to_mob(src, O.bitesize, CHEM_INGEST) + adjust_nutrition(O.bitesize * 20) + O.bitecount ++ + O.On_Consume(src) + if(O) + to_chat(user, span_notice("\The [src] takes a bite of \the [O].")) + if(user != src) + to_chat(src, span_notice("\The [user] feeds \the [O] to you.")) + playsound(src, 'sound/items/eatfood.ogg', 75, 1) + update_icon() diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/vox.dm b/code/modules/mob/living/simple_mob/subtypes/animal/vox.dm index 720ad9956c3..4488f85cbd5 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/vox.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/vox.dm @@ -1,173 +1,173 @@ -/mob/living/simple_mob/vox/armalis - name = "serpentine alien" - real_name = "serpentine alien" - desc = "A one-eyed, serpentine creature, half-machine, easily nine feet from tail to beak!" - icon = 'icons/mob/vox.dmi' - icon_state = "armalis" - icon_living = "armalis" - min_oxy = 0 - max_oxy = 0 - min_tox = 0 - max_tox = 0 - min_co2 = 0 - max_co2 = 0 - min_n2 = 0 - max_n2 = 0 - minbodytemp = 0 - maxHealth = 500 - health = 500 - taser_kill = 0 - has_langs = list(LANGUAGE_VOX) - ic_revivable = 1 - has_hands = 1 - response_harm = "slashes at the" - harm_intent_damage = 0 - melee_damage_lower = 30 - melee_damage_upper = 40 - attack_sharp = 1 - attacktext = "slammed its enormous claws into" - movement_cooldown = 2 -// environment_smash_flags = SMASH_LIGHT_STRUCTURES | SMASH_CONTAINERS | SMASH_WALLS // WALLS Temporary commenting, YW - Hv3 - attack_sound = 'sound/weapons/bladeslice.ogg' - status_flags = 0 - max_oxy = 0 - - var/armour = null - var/amp = null - var/quills = 3 - -/mob/living/simple_mob/vox/armalis/death(var/gibbed = FALSE) - ..(TRUE) - var/turf/gloc = get_turf(loc) - visible_message("[src] shudders violently and explodes!","You feel your body rupture!") - gib() - explosion(gloc, -1, -1, 3, 5) - qdel(src) - -/mob/living/simple_mob/vox/armalis/attackby(var/obj/item/O as obj, var/mob/user as mob) - base_attack_cooldown = 5 - if(O.force) - if(O.force >= 25) - var/damage = O.force - if (O.damtype == HALLOSS) - damage = 0 - health -= damage - for(var/mob/M in viewers(src, null)) - if ((M.client && !( M.blinded ))) - M.show_message("[src] has been attacked with the [O] by [user]. ") - else - for(var/mob/M in viewers(src, null)) - if ((M.client && !( M.blinded ))) - M.show_message("The [O] bounces harmlessly off of [src]. ") - else - to_chat(usr, "This weapon is ineffective, it does no damage.") - for(var/mob/M in viewers(src, null)) - if ((M.client && !( M.blinded ))) - M.show_message("[user] gently taps [src] with the [O]. ") - -/mob/living/simple_mob/vox/armalis/verb/fire_quill(mob/target as mob in oview()) - set name = "Fire quill" - set desc = "Fires a viciously pointed quill at a high speed." - set category = "Alien" - - if(quills<=0) - return - - to_chat(src, "You launch a razor-sharp quill at [target]!") - for(var/mob/O in oviewers()) - if ((O.client && !( O.blinded ))) - to_chat(O, "[src] launches a razor-sharp quill at [target]!") - - var/obj/item/weapon/arrow/quill/Q = new(loc) - Q.fingerprintslast = src.ckey - Q.throw_at(target,10,30) - quills-- - - spawn(100) - to_chat(src, "You feel a fresh quill slide into place.") - quills++ - -/mob/living/simple_mob/vox/armalis/verb/message_mob() - set category = "Alien" - set name = "Commune with creature" - set desc = "Send a telepathic message to an unlucky recipient." - - var/list/targets = list() - var/target = null - var/text = null - - targets += getmobs() //Fill list, prompt user with list - for(var/key in targets) - var/mob/mobx = targets[key] - if(!mobx.ckey) - targets -= key - - target = tgui_input_list(src, "Select a creature!", "Speak to creature", targets) - - if(!target) return - - text = tgui_input_text(src, "What would you like to say?", "Speak to creature") - - if (!target || !text) - return - - var/mob/M = targets[target] - - if(istype(M, /mob/observer/dead) || M.stat == DEAD) - to_chat(src, "Not even the armalis can speak to the dead.") - return - - to_chat(M, "Like lead slabs crashing into the ocean, alien thoughts drop into your mind: [text]") - if(istype(M,/mob/living/carbon/human)) - var/mob/living/carbon/human/H = M - if(H.species.name == SPECIES_VOX) - return - to_chat(H, "Your nose begins to bleed...") - H.drip(1) - -/mob/living/simple_mob/vox/armalis/verb/shriek() - set category = "Alien" - set name = "Shriek" - set desc = "Give voice to a psychic shriek." - -/mob/living/simple_mob/vox/armalis/attackby(var/obj/item/O as obj, var/mob/user as mob) - if(istype(O,/obj/item/vox/armalis_armour)) - user.drop_item(O, src) - armour = O - movement_cooldown = 4 - maxHealth += 200 - health += 200 - visible_message("[src] is quickly outfitted in [O] by [user].","You quickly outfit [src] in [O].") - update_icon() - return - if(istype(O,/obj/item/vox/armalis_amp)) - user.drop_item(O, src) - amp = O - visible_message("[src] is quickly outfitted in [O] by [user].","You quickly outfit [src] in [O].") - update_icon() - return - return ..() - -/mob/living/simple_mob/vox/armalis/update_icon() - . = ..() - if(armour) - var/icon/armour = image('icons/mob/vox.dmi',"armour") - movement_cooldown = 4 - add_overlay(armour) - if(amp) - var/icon/amp = image('icons/mob/vox.dmi',"amplifier") - add_overlay(amp) - -/obj/item/vox/armalis_armour - name = "strange armour" - desc = "Hulking reinforced armour for something huge." - icon = 'icons/inventory/suit/item.dmi' - icon_state = "armalis_armour" - item_state = "armalis_armour" - -/obj/item/vox/armalis_amp - name = "strange lenses" - desc = "A series of metallic lenses and chains." - icon = 'icons/inventory/suit/item.dmi' - icon_state = "amp" - item_state = "amp" +/mob/living/simple_mob/vox/armalis + name = "serpentine alien" + real_name = "serpentine alien" + desc = "A one-eyed, serpentine creature, half-machine, easily nine feet from tail to beak!" + icon = 'icons/mob/vox.dmi' + icon_state = "armalis" + icon_living = "armalis" + min_oxy = 0 + max_oxy = 0 + min_tox = 0 + max_tox = 0 + min_co2 = 0 + max_co2 = 0 + min_n2 = 0 + max_n2 = 0 + minbodytemp = 0 + maxHealth = 500 + health = 500 + taser_kill = 0 + has_langs = list(LANGUAGE_VOX) + ic_revivable = 1 + has_hands = 1 + response_harm = "slashes at the" + harm_intent_damage = 0 + melee_damage_lower = 30 + melee_damage_upper = 40 + attack_sharp = 1 + attacktext = "slammed its enormous claws into" + movement_cooldown = 2 +// environment_smash_flags = SMASH_LIGHT_STRUCTURES | SMASH_CONTAINERS | SMASH_WALLS // WALLS Temporary commenting, YW - Hv3 + attack_sound = 'sound/weapons/bladeslice.ogg' + status_flags = 0 + max_oxy = 0 + + var/armour = null + var/amp = null + var/quills = 3 + +/mob/living/simple_mob/vox/armalis/death(var/gibbed = FALSE) + ..(TRUE) + var/turf/gloc = get_turf(loc) + visible_message("[src] shudders violently and explodes!","You feel your body rupture!") + gib() + explosion(gloc, -1, -1, 3, 5) + qdel(src) + +/mob/living/simple_mob/vox/armalis/attackby(var/obj/item/O as obj, var/mob/user as mob) + base_attack_cooldown = 5 + if(O.force) + if(O.force >= 25) + var/damage = O.force + if (O.damtype == HALLOSS) + damage = 0 + health -= damage + for(var/mob/M in viewers(src, null)) + if ((M.client && !( M.blinded ))) + M.show_message("[src] has been attacked with the [O] by [user]. ") + else + for(var/mob/M in viewers(src, null)) + if ((M.client && !( M.blinded ))) + M.show_message("The [O] bounces harmlessly off of [src]. ") + else + to_chat(usr, "This weapon is ineffective, it does no damage.") + for(var/mob/M in viewers(src, null)) + if ((M.client && !( M.blinded ))) + M.show_message("[user] gently taps [src] with the [O]. ") + +/mob/living/simple_mob/vox/armalis/verb/fire_quill(mob/target as mob in oview()) + set name = "Fire quill" + set desc = "Fires a viciously pointed quill at a high speed." + set category = "Alien" + + if(quills<=0) + return + + to_chat(src, "You launch a razor-sharp quill at [target]!") + for(var/mob/O in oviewers()) + if ((O.client && !( O.blinded ))) + to_chat(O, "[src] launches a razor-sharp quill at [target]!") + + var/obj/item/arrow/quill/Q = new(loc) + Q.fingerprintslast = src.ckey + Q.throw_at(target,10,30) + quills-- + + spawn(100) + to_chat(src, "You feel a fresh quill slide into place.") + quills++ + +/mob/living/simple_mob/vox/armalis/verb/message_mob() + set category = "Alien" + set name = "Commune with creature" + set desc = "Send a telepathic message to an unlucky recipient." + + var/list/targets = list() + var/target = null + var/text = null + + targets += getmobs() //Fill list, prompt user with list + for(var/key in targets) + var/mob/mobx = targets[key] + if(!mobx.ckey) + targets -= key + + target = tgui_input_list(src, "Select a creature!", "Speak to creature", targets) + + if(!target) return + + text = tgui_input_text(src, "What would you like to say?", "Speak to creature") + + if (!target || !text) + return + + var/mob/M = targets[target] + + if(istype(M, /mob/observer/dead) || M.stat == DEAD) + to_chat(src, "Not even the armalis can speak to the dead.") + return + + to_chat(M, "Like lead slabs crashing into the ocean, alien thoughts drop into your mind: [text]") + if(istype(M,/mob/living/carbon/human)) + var/mob/living/carbon/human/H = M + if(H.species.name == SPECIES_VOX) + return + to_chat(H, "Your nose begins to bleed...") + H.drip(1) + +/mob/living/simple_mob/vox/armalis/verb/shriek() + set category = "Alien" + set name = "Shriek" + set desc = "Give voice to a psychic shriek." + +/mob/living/simple_mob/vox/armalis/attackby(var/obj/item/O as obj, var/mob/user as mob) + if(istype(O,/obj/item/vox/armalis_armour)) + user.drop_item(O, src) + armour = O + movement_cooldown = 4 + maxHealth += 200 + health += 200 + visible_message("[src] is quickly outfitted in [O] by [user].","You quickly outfit [src] in [O].") + update_icon() + return + if(istype(O,/obj/item/vox/armalis_amp)) + user.drop_item(O, src) + amp = O + visible_message("[src] is quickly outfitted in [O] by [user].","You quickly outfit [src] in [O].") + update_icon() + return + return ..() + +/mob/living/simple_mob/vox/armalis/update_icon() + . = ..() + if(armour) + var/icon/armour = image('icons/mob/vox.dmi',"armour") + movement_cooldown = 4 + add_overlay(armour) + if(amp) + var/icon/amp = image('icons/mob/vox.dmi',"amplifier") + add_overlay(amp) + +/obj/item/vox/armalis_armour + name = "strange armour" + desc = "Hulking reinforced armour for something huge." + icon = 'icons/inventory/suit/item.dmi' + icon_state = "armalis_armour" + item_state = "armalis_armour" + +/obj/item/vox/armalis_amp + name = "strange lenses" + desc = "A series of metallic lenses and chains." + icon = 'icons/inventory/suit/item.dmi' + icon_state = "amp" + item_state = "amp" diff --git a/code/modules/mob/living/simple_mob/subtypes/blob/blob.dm b/code/modules/mob/living/simple_mob/subtypes/blob/blob.dm index c735a93b2a6..4c9ba00cd6e 100644 --- a/code/modules/mob/living/simple_mob/subtypes/blob/blob.dm +++ b/code/modules/mob/living/simple_mob/subtypes/blob/blob.dm @@ -5,7 +5,7 @@ /mob/living/simple_mob/blob icon = 'icons/mob/blob.dmi' pass_flags = PASSBLOB | PASSTABLE - faction = "blob" + faction = FACTION_BLOB organ_names = /decl/mob_organ_names/blob @@ -77,8 +77,8 @@ if(!ally) var/list/items = L.get_all_held_items() for(var/obj/item/I in items) - if(istype(I, /obj/item/weapon/blobcore_chunk)) - var/obj/item/weapon/blobcore_chunk/BC = I + if(istype(I, /obj/item/blobcore_chunk)) + var/obj/item/blobcore_chunk/BC = I if(!overmind || (BC.blob_type && overmind.blob_type.type == BC.blob_type.type) || BC.blob_type.faction == faction) ally = TRUE break @@ -86,4 +86,4 @@ return ally /decl/mob_organ_names/blob - hit_zones = list("mass") \ No newline at end of file + hit_zones = list("mass") diff --git a/code/modules/mob/living/simple_mob/subtypes/blob/spore.dm b/code/modules/mob/living/simple_mob/subtypes/blob/spore.dm index 7ac90f935f9..c6cbc088405 100644 --- a/code/modules/mob/living/simple_mob/subtypes/blob/spore.dm +++ b/code/modules/mob/living/simple_mob/subtypes/blob/spore.dm @@ -60,7 +60,7 @@ factory = null if(infested) infested.forceMove(get_turf(src)) - visible_message(span("warning", "\The [infested] falls to the ground as the blob spore bursts.")) + visible_message(span_warning("\The [infested] falls to the ground as the blob spore bursts.")) infested = null return ..() @@ -133,7 +133,7 @@ say_list = new /datum/say_list/infested() update_icons() - visible_message(span("warning", "The corpse of [H.name] suddenly rises!")) + visible_message(span_warning("The corpse of [H.name] suddenly rises!")) /mob/living/simple_mob/blob/spore/GetIdCard() if(infested) // If we've infested someone, use their ID. @@ -151,7 +151,7 @@ helpers++ if(helpers) - to_chat(src, span("notice", "Your attack is assisted by [helpers] other spore\s.")) + to_chat(src, span_notice("Your attack is assisted by [helpers] other spore\s.")) return damage_to_do /decl/mob_organ_names/spore diff --git a/code/modules/mob/living/simple_mob/subtypes/glamour/blaidd.dm b/code/modules/mob/living/simple_mob/subtypes/glamour/blaidd.dm new file mode 100644 index 00000000000..ca2763fcc6f --- /dev/null +++ b/code/modules/mob/living/simple_mob/subtypes/glamour/blaidd.dm @@ -0,0 +1,355 @@ +/mob/living/simple_mob/vore/blaidd + name = "blaidd" + desc = "A wolf like creature with a large, spikey mane." + tt_desc = "Canis glamoris" + icon = 'icons/mob/vore64x32.dmi' + icon_dead = "blaidd-dead" + icon_living = "blaidd" + icon_state = "blaidd" + icon_rest = "blaidd_rest" + old_x = -16 + old_y = 0 + default_pixel_x = -16 + pixel_x = -16 + pixel_y = 0 + faction = FACTION_GLAMOUR + catalogue_data = list(/datum/category_item/catalogue/fauna/blaidd) + ai_holder_type = /datum/ai_holder/simple_mob/vore/blaidd + + harm_intent_damage = 10 + melee_damage_lower = 10 + melee_damage_upper = 20 + maxHealth = 300 + + minbodytemp = 0 + + max_buckled_mobs = 1 + mount_offset_y = 14 + mount_offset_x = 2 + can_buckle = TRUE + buckle_movable = TRUE + buckle_lying = FALSE + var/blaidd_invisibility + + vore_bump_chance = 25 + vore_digest_chance = 50 + vore_escape_chance = 5 + vore_pounce_chance = 100 + vore_active = 1 + vore_icons = 1 + vore_icons = SA_ICON_LIVING | SA_ICON_REST + vore_capacity = 1 + swallowTime = 50 + vore_ignores_undigestable = TRUE + vore_default_mode = DM_SELECT + vore_pounce_maxhealth = 125 + vore_bump_emote = "tries to devour" + +/mob/living/simple_mob/vore/blaidd/Login() + . = ..() + if(!riding_datum) + riding_datum = new /datum/riding/simple_mob(src) + verbs |= /mob/living/simple_mob/proc/animal_mount + verbs |= /mob/living/proc/toggle_rider_reins + verbs |= /mob/living/simple_mob/vore/blaidd/proc/blaidd_invis + movement_cooldown = -1 + +/mob/living/simple_mob/vore/blaidd/init_vore() + . = ..() + var/obj/belly/B = vore_selected + B.name = "stomach" + B.desc = "The canine pounces atop you and wastes now time in wrapping its jaws around your entire head. The beast is strong and determined, there is no wriggling out of it's iron grip. Within its maw, the tongue slathers canine drool across you, hot doglike breaths wash across your face, triangular teeth hold you firmly in place. It doesn't take long before the blaidd is gulping you down aggressively, like a big chunk of meat. The creature's stomach distends and hangs beneath it with your weight, swaying heavily not just with your movements, but every step from the wolf. Bound up uncomfortably tight in this sweltering, dark gut, movement is almost impossible and it's hard to tell which way is up." + B.vore_sound = "Tauric Swallow" + B.release_sound = "Pred Escape" + B.mode_flags = DM_FLAG_THICKBELLY + B.fancy_vore = 1 + B.selective_preference = DM_DIGEST + B.vore_verb = "devour" + B.digest_brute = 1 + B.digest_burn = 1 + B.digest_oxy = 0 + B.selectchance = 50 + B.absorbchance = 0 + B.escapechance = 10 + B.escape_stun = 5 + B.contamination_color = "grey" + B.contamination_flavor = "Wet" + B.emote_lists[DM_DIGEST] = list( + "The blaidd growls as the gut squeeze over your body, smearing caustic oozes into your form!", + "You are turned over and walls clench around you as the beast moves about, tossing more digestive juices over your body.", + "You can't make out any sound from the outside as the gut grumbled and reverberates over your body.", + "As the thinning air begins to make you feel dizzy, menacing bworps and grumbles fill that dark, constantly shifting organ!", + "The constant, rhythmic kneading and massaging starts to take its toll along with the muggy heat, making you feel weaker and weaker!", + "The blaidd presses its gut against the floor, giving you a full body crush deep within its gut. The strain on your body aids digestion, making you all the easier to work down.") + +/datum/category_item/catalogue/fauna/blaidd + name = "Extra-Realspace Fauna - Blaidd" + desc = "Classification: Canis glamoris\ +

    \ + A large canine found in whitespace or the Glamour, distinguished easily by a large spikey mane and lightly striped pattern. The Blaidd, named from the glamourspeak word for wolf, is known to be a ferocious hunter and predator. It is a carnivore that stalks prey from a distance silently, whilst its otherwise quite striking fur blends it well into the environment through some sort of active camouflage, a less powerful version of that seen in the local Lleill. It generally avoids attacking its prey when it feels it is being watched, but once it is able to finally pounce on a target, it will not retreat until forced." + value = CATALOGUER_REWARD_HARD + +/mob/living/simple_mob/vore/blaidd/update_icon() + . = ..() + if(vore_active) + var/voremob_awake = FALSE + if(icon_state == icon_living) + voremob_awake = TRUE + if(blaidd_invisibility) + icon_state = "[icon_living]_cloaked" + update_fullness() + if(!vore_fullness) + update_transform() + return 0 + else if((stat == CONSCIOUS) && (!icon_rest || !resting || !incapacitated(INCAPACITATION_DISABLED)) && (vore_icons & SA_ICON_LIVING)) + if(blaidd_invisibility) + icon_state = "[icon_living]_cloaked-[vore_fullness]" + else + icon_state = "[icon_living]-[vore_fullness]" + else if(stat >= DEAD && (vore_icons & SA_ICON_DEAD)) + icon_state = "[icon_dead]-[vore_fullness]" + else if(((stat == UNCONSCIOUS) || resting || incapacitated(INCAPACITATION_DISABLED) ) && icon_rest && (vore_icons & SA_ICON_REST)) + icon_state = "[icon_rest]-[vore_fullness]" + if(vore_eyes && voremob_awake) //Update eye layer if applicable. + remove_eyes() + add_eyes() + update_transform() + +/mob/living/simple_mob/vore/blaidd/proc/blaidd_invis() + set name = "Invisibility" + set desc = "Change your appearance to match your surroundings, becoming somewhat invisible to the naked eye." + set category = "Abilities" + + if(blaidd_invisibility) + blaidd_invisibility = 0 + else + blaidd_invisibility = 1 + + update_icon() + +/datum/ai_holder/simple_mob/vore/blaidd + can_flee = TRUE + vision_range = 12 //They rush you from off-screen, but easily countered if you are aware + var/watched = 0 + var/hiding = 0 + +/datum/ai_holder/simple_mob/vore/blaidd/hostile + hostile = TRUE + +/datum/ai_holder/simple_mob/vore/blaidd/proc/check_witness(list/possible_targets, has_targets_list) + if(!has_targets_list) + possible_targets = list_targets() + + for(var/mob/living/L in possible_targets) + var/distance = get_dist(holder, L) + if(!check_attacker(L) && !L.stat && distance <= 9) //Stop approaching just off screen if they're looking in your direction + if((L.dir == 1 && holder.y >= L.y) || (L.dir == 2 && holder.y <= L.y) || (L.dir == 4 && holder.x >= L.x) || (L.dir == 8 && holder.x <= L.x)) //stop attacking if they look at you + set_stance(STANCE_IDLE) + if(!watched) + watched = 1 + spawn(5) //run away if they keep staring + watched = 0 + if((L.dir == 1 && holder.y >= L.y) || (L.dir == 2 && holder.y <= L.y) || (L.dir == 4 && holder.x >= L.x) || (L.dir == 8 && holder.x <= L.x) && distance <= 8) + if(!L.stat) //If the prey is weakened in any way, don't run + step_away(holder, L, 8) //Flee if they stare at you within normal view range + holder.face_atom(L) + return TRUE + return FALSE + +/datum/ai_holder/simple_mob/vore/blaidd/find_target(list/possible_targets, has_targets_list) + if(!vore_hostile) + return ..() + if(!isanimal(holder)) //Only simplemobs have the vars we need + return ..() + var/mob/living/simple_mob/H = holder + if(H.vore_fullness >= H.vore_capacity) //Don't beat people up if we're full + return ..() + ai_log("find_target() : Entered.", AI_LOG_TRACE) + + . = list() + if(!has_targets_list) + possible_targets = list_targets() + var/list/valid_mobs = list() + for(var/mob/living/possible_target in possible_targets) + if(!can_attack(possible_target)) + continue + . |= possible_target + if(!isliving(possible_target)) + continue + if(vore_check(possible_target)) + valid_mobs |= possible_target + + var/new_target + if(valid_mobs.len) + new_target = pick(valid_mobs) + else if(hostile) + new_target = pick(.) + if(!new_target) + return null + give_target(new_target) + return new_target + +/datum/ai_holder/simple_mob/vore/blaidd/can_attack(atom/movable/the_target, var/vision_required = TRUE) + ai_log("can_attack() : Entering.", AI_LOG_TRACE) + if(!can_see_target(the_target) && vision_required) + return FALSE + if(!belly_attack) + if(isbelly(holder.loc)) + return FALSE + var/distance = get_dist(holder, target) + if(distance > 2) + if(check_witness()) + return FALSE + if(isliving(the_target)) + var/mob/living/L = the_target + if(ishuman(L) || issilicon(L)) + if(L.key && !L.client) // SSD players get a pass + return FALSE + if(L.stat) + if(L.stat == DEAD && !handle_corpse) // Leave dead things alone + return FALSE + if(L.stat == UNCONSCIOUS) // Do we have mauling? Yes? Then maul people who are sleeping but not SSD + if(mauling) + return TRUE + //VOREStation Add Start + else if(unconscious_vore && L.allowmobvore) + var/mob/living/simple_mob/vore/eater = holder + if(eater.will_eat(L)) + return TRUE + else + return FALSE + //VOREStation Add End + else + return FALSE +// if(!check_attacker(L)) +// if((L.dir == 1 && holder.y >= L.y) || (L.dir == 2 && holder.y <= L.y) || (L.dir == 4 && holder.x >= L.x) || (L.dir == 8 && holder.x <= L.x)) //stop attacking if they look at you +// set_stance(STANCE_IDLE) +// spawn(40) //run away if they keep staring +// if((L.dir == 1 && holder.y >= L.y) || (L.dir == 2 && holder.y <= L.y) || (L.dir == 4 && holder.x >= L.x) || (L.dir == 8 && holder.x <= L.x)) +// if(!L.stat) //If the prey is weakened in any way, don't run +// step_away(holder, L, 8) +// holder.face_atom(L) +// return FALSE + //VOREStation add start + else if(forgive_resting && !isbelly(holder.loc)) //Doing it this way so we only think about the other conditions if the var is actually set + if((holder.health == holder.maxHealth) && !hostile && (L.resting || L.weakened || L.stunned)) //If our health is full, no one is fighting us, we can forgive + var/mob/living/simple_mob/vore/eater = holder + if(!eater.will_eat(L)) //We forgive people we can eat by eating them + set_stance(STANCE_IDLE) + return FALSE //Forgiven + //VOREStation add end + if(holder.IIsAlly(L)) + return FALSE + return TRUE + + if(istype(the_target, /obj/mecha)) + var/obj/mecha/M = the_target + if(M.occupant) + return can_attack(M.occupant) + return destructive // Empty mechs are 'neutral'. + + if(istype(the_target, /obj/machinery/porta_turret)) + var/obj/machinery/porta_turret/P = the_target + if(P.stat & BROKEN) + return FALSE // Already dead. + if(P.faction == holder.faction) + return FALSE // Don't shoot allied turrets. + if(!P.raised && !P.raising) + return FALSE // Turrets won't get hurt if they're still in their cover. + return TRUE + + if(istype(the_target, /obj/structure/blob)) // Blob mobs are always blob faction, but the blob can anger other things. + var/obj/structure/blob/Blob = the_target + if(holder.faction == Blob.faction) + return FALSE + + return TRUE + +/datum/ai_holder/simple_mob/vore/blaidd/engage_target() + ai_log("engage_target() : Entering.", AI_LOG_DEBUG) + + // Can we still see them? + if(!target || !can_attack(target)) + ai_log("engage_target() : Lost sight of target.", AI_LOG_TRACE) + if(lose_target()) // We lost them (returns TRUE if we found something else to do) + ai_log("engage_target() : Pursuing other options (last seen, or a new target).", AI_LOG_TRACE) + return + + var/distance = get_dist(holder, target) + ai_log("engage_target() : Distance to target ([target]) is [distance].", AI_LOG_TRACE) + holder.face_atom(target) + last_conflict_time = world.time + + // Do a 'special' attack, if one is allowed. +// if(prob(special_attack_prob) && (distance >= special_attack_min_range) && (distance <= special_attack_max_range)) + if(holder.ICheckSpecialAttack(target)) + ai_log("engage_target() : Attempting a special attack.", AI_LOG_TRACE) + on_engagement(target) + if(special_attack(target)) // If this fails, then we try a regular melee/ranged attack. + ai_log("engage_target() : Successful special attack. Exiting.", AI_LOG_DEBUG) + return + + // Stab them. + else if(distance <= 1 && !pointblank) + ai_log("engage_target() : Attempting a melee attack.", AI_LOG_TRACE) + on_engagement(target) + melee_attack(target) + + else if(distance <= 1 && !holder.ICheckRangedAttack(target)) // Doesn't have projectile, but is pointblank + ai_log("engage_target() : Attempting a melee attack.", AI_LOG_TRACE) + on_engagement(target) + melee_attack(target) + + // Shoot them. + else if(holder.ICheckRangedAttack(target) && (distance <= max_range(target)) ) + on_engagement(target) + if(firing_lanes && !test_projectile_safety(target)) + // Nudge them a bit, maybe they can shoot next time. + var/turf/T = get_step(holder, pick(cardinal)) + if(T) + holder.IMove(T) // IMove() will respect movement cooldown. + holder.face_atom(target) + ai_log("engage_target() : Could not safely fire at target. Exiting.", AI_LOG_DEBUG) + return + + ai_log("engage_target() : Attempting a ranged attack.", AI_LOG_TRACE) + ranged_attack(target) + + // Run after them. + else if(!stand_ground) + ai_log("engage_target() : Target ([target]) too far away. Exiting.", AI_LOG_DEBUG) + set_stance(STANCE_APPROACH) + +/datum/ai_holder/simple_mob/vore/blaidd/proc/set_invis() + var/mob/living/simple_mob/vore/blaidd/B = holder + if(!istype(B)) + return + var/list/possible_targets = list_targets() + if(!possible_targets.len) + if(B.blaidd_invisibility) + B.blaidd_invisibility = 0 + B.update_icon() + return + if(!target) + return + var/distance = get_dist(holder, target) + if(distance <= 1) + if(B.blaidd_invisibility) + B.blaidd_invisibility = 0 + B.update_icon() + return + else + if(!B.blaidd_invisibility) + B.blaidd_invisibility = 1 + B.update_icon() + return + +/datum/ai_holder/simple_mob/vore/blaidd/handle_stance_strategical() + set_invis() + return ..() + +/mob/living/simple_mob/vore/blaidd/hostile + ai_holder_type = /datum/ai_holder/simple_mob/vore/blaidd/hostile + +/datum/ai_holder/simple_mob/vore/blaidd/hostile + hostile = TRUE diff --git a/code/modules/mob/living/simple_mob/subtypes/glamour/ddraig.dm b/code/modules/mob/living/simple_mob/subtypes/glamour/ddraig.dm new file mode 100644 index 00000000000..3b060b51cca --- /dev/null +++ b/code/modules/mob/living/simple_mob/subtypes/glamour/ddraig.dm @@ -0,0 +1,586 @@ +/mob/living/simple_mob/vore/ddraig + name = "ddraig" + desc = "A massive drake-like creature with dark purple scales and a seemingly exposed skull." + tt_desc = "Draconis glamoris" + icon = 'icons/mob/vore96x96.dmi' + icon_dead = "ddraig-dead" + icon_living = "ddraig" + icon_state = "ddraig" + icon_rest = "ddraig_rest" + faction = FACTION_GLAMOUR + catalogue_data = list(/datum/category_item/catalogue/fauna/ddraig) + old_x = -32 + old_y = 0 + vis_height = 92 + melee_damage_lower = 20 + melee_damage_upper = 15 + friendly = list("nudges", "sniffs on", "rumbles softly at", "nuzzles") + default_pixel_x = -32 + pixel_x = -32 + pixel_y = 0 + response_help = "bumps" + response_disarm = "shoves" + response_harm = "bites" + movement_cooldown = 1 + harm_intent_damage = 10 + melee_damage_lower = 15 + melee_damage_upper = 25 + maxHealth = 1000 + attacktext = list("mauled") + see_in_dark = 8 + minbodytemp = 0 + ai_holder_type = /datum/ai_holder/simple_mob/vore/ddraig + max_buckled_mobs = 1 + mount_offset_y = 32 + can_buckle = TRUE + buckle_movable = TRUE + buckle_lying = FALSE + minbodytemp = 0 + + var/flames + var/firebreathtimer + var/charge_warmup = 3 SECOND + var/tf_warmup = 2 SECOND + + special_attack_min_range = 2 + special_attack_max_range = 6 + special_attack_cooldown = 15 SECONDS + + var/leap_warmup = 2 SECOND // How long the leap telegraphing is. + var/leap_sound = 'sound/weapons/spiderlunge.ogg' + +/mob/living/simple_mob/vore/ddraig + + vore_bump_chance = 25 + vore_digest_chance = 50 + vore_escape_chance = 5 + vore_pounce_chance = 100 + vore_active = 1 + vore_icons = 3 + vore_icons = SA_ICON_LIVING | SA_ICON_REST + vore_capacity = 3 + swallowTime = 50 + vore_ignores_undigestable = TRUE + vore_default_mode = DM_DIGEST + vore_pounce_maxhealth = 125 + vore_bump_emote = "tries to devour" + +/mob/living/simple_mob/vore/ddraig/Login() + . = ..() + if(!riding_datum) + riding_datum = new /datum/riding/simple_mob(src) + verbs |= /mob/living/simple_mob/proc/animal_mount + verbs |= /mob/living/proc/toggle_rider_reins + verbs |= /mob/living/proc/set_size + verbs |= /mob/living/proc/polymorph + verbs |= /mob/living/proc/glamour_invisibility + movement_cooldown = -1 + +/mob/living/simple_mob/vore/ddraig/init_vore() + . = ..() + var/obj/belly/B = vore_selected + B.name = "stomach" + B.desc = "Despite the jaws of the dragon not being particular visible, once they begin to part it reveals a rather vast maw. More than wide enough to engulf your head and upper body, the ddraig lifts you effortlessly from the ground, standing up to full height with only your legs dangling from the beast's mouth. Inside you are engulfed in the wet, slimy and hot slobber of the creature. A massive tongue beneath your body curls over you to taste and lather every inch on offer. Soon enough, the dragon tosses its head backwards, sending your body beyond the throat, wrapped in the rippled lining of the creatures gullet for a slow, dark descent into the abyss below. It is a long journey through that seemingly endless neck, but eventually you are deposited in the creature's stomach. Little sound from the outside makes it inside, all drowned out by the cacophony of bodily functions groaning, burbling and beating around you. Despite the size of the beast, the gut is not massive, the walls clench down tight around your helplessly trapped body. The stomach lining grinds roughly over your body, smearing you in a slurry of slimy fluids." + B.vore_sound = "Tauric Swallow" + B.release_sound = "Pred Escape" + B.mode_flags = DM_FLAG_THICKBELLY + B.fancy_vore = 1 + B.selective_preference = DM_DIGEST + B.vore_verb = "devour" + B.digest_brute = 3 + B.digest_burn = 2 + B.digest_oxy = 0 + B.selectchance = 50 + B.absorbchance = 0 + B.escapechance = 3 + B.escape_stun = 5 + B.contamination_color = "grey" + B.contamination_flavor = "Wet" + B.emote_lists[DM_DIGEST] = list( + "The ddraig coos contentedly as the walls crush and squeeze over your body!", + "As the ddraig moves about, it becomes more difficult to keep yourself upright, being forced to turn and slip of the slime slickened stomach lining.", + "You can't make out any sound from the outside as the gut grumbled and reverberates over your body.", + "As the thinning air begins to make you feel dizzy, menacing bworps and grumbles fill that dark, constantly shifting organ!", + "The constant, rhythmic kneading and massaging starts to take its toll along with the muggy heat, making you feel weaker and weaker!", + "The slender creature has no issue showing off the weak movements of you inside, even the churning of the gut itself tosses you about, all bumps so very visible on its flesh.") + +/datum/category_item/catalogue/fauna/ddraig + name = "Extra-Realspace Fauna - Ddraig" + desc = "Classification: Draconis glamoris\ +

    \ + A massive dragon-like creature found to reside in the glamour, also known as whitespace. The ddraig is considered a rarity, even amongst this alien world, and often revered by other inhabitants. \ + It is rarely considered outright aggressive, but has been known to attack if it feels threatened. It is a sapiant creature and considered to be particularly intelligent. \ + It is a carnivorous creature and quite capable of hunting. Aside from the deadly claws and teeth, it is also able to breathe fire like realspace dragons, turn itself invisible at will, and transform other creatures temporarily." + value = CATALOGUER_REWARD_HARD + +/mob/living/simple_mob/vore/ddraig/do_special_attack(atom/A) + . = TRUE + if(ckey) + return + var/specialattack = rand(1,3) + if(specialattack == 1) + lunge(A) + if(specialattack == 2) + firebreathstart(A) + if(specialattack == 3) + tfbeam(A) + +/mob/living/simple_mob/vore/ddraig/proc/lunge(atom/A) //Mostly copied from hunter.dm + set waitfor = FALSE + if(!isliving(A)) + return FALSE + var/mob/living/L = A + if(!L.devourable || !L.allowmobvore || !L.can_be_drop_prey || !L.throw_vore || L.unacidable) + return FALSE + + set_AI_busy(TRUE) + visible_message(span_warning("\The [src] rears back, ready to lunge!")) + to_chat(L, span_danger("\The [src] focuses on you!")) + // Telegraph, since getting stunned suddenly feels bad. + do_windup_animation(A, leap_warmup) + sleep(leap_warmup) // For the telegraphing. + + if(L.z != z) //Make sure you haven't disappeared to somewhere we can't go + set_AI_busy(FALSE) + return FALSE + + // Do the actual leap. + status_flags |= LEAPING // Lets us pass over everything. + visible_message(span_critical("\The [src] leaps at \the [L]!")) + throw_at(get_step(L, get_turf(src)), special_attack_max_range+1, 1, src) + playsound(src, leap_sound, 75, 1) + + sleep(5) // For the throw to complete. It won't hold up the AI ticker due to waitfor being false. + + if(status_flags & LEAPING) + status_flags &= ~LEAPING // Revert special passage ability. + + set_AI_busy(FALSE) + if(Adjacent(L)) //We leapt at them but we didn't manage to hit them, let's see if we're next to them + L.Weaken(2) //get knocked down, idiot + +/mob/living/simple_mob/vore/ddraig/proc/firebreathstart(var/atom/A) //Borrowed from le big dragon + glow_toggle = 1 + set_light(glow_range, glow_intensity, glow_color) //Setting it here so the light starts immediately + flames = 1 + set_AI_busy(TRUE) + visible_message(span_warning("\The [src] opens its maw, emitting flames!")) + do_windup_animation(A, charge_warmup) + firebreathtimer = addtimer(CALLBACK(src, PROC_REF(firebreathend), A), charge_warmup, TIMER_STOPPABLE) + playsound(src, "sound/magic/Fireball.ogg", 50, 1) + +/mob/living/simple_mob/vore/ddraig/proc/firebreathend(var/atom/A) + //make sure our target still exists and is on a turf + if(QDELETED(A) || !isturf(get_turf(A))) + set_AI_busy(FALSE) + return + var/obj/item/projectile/P = new /obj/item/projectile/bullet/dragon(get_turf(src)) + src.visible_message(span_danger("\The [src] spews fire at \the [A]!")) + playsound(src, "sound/weapons/Flamer.ogg", 50, 1) + P.launch_projectile(A, BP_TORSO, src) + set_AI_busy(FALSE) + glow_toggle = 0 + flames = 0 + +/mob/living/simple_mob/vore/ddraig/proc/tfbeam(var/atom/A) + if(!isturf(get_turf(A))) + return + set_AI_busy(TRUE) + visible_message(span_warning("\The [src] begins to shimmer with a rainbow hue!")) + do_windup_animation(A, tf_warmup) + sleep(tf_warmup) + set_AI_busy(FALSE) + var/obj/item/projectile/P = new /obj/item/projectile/beam/mouselaser/ddraig(get_turf(src)) + src.visible_message(span_danger("\The [src] breathes a beam at \the [A]!")) + playsound(src, "sound/weapons/sparkle.ogg", 50, 1) + P.launch_projectile(A, BP_TORSO, src) + +/obj/item/projectile/beam/mouselaser/ddraig + tf_admin_pref_override = TRUE //It will TF them regardless of their prefs because it is only very temporary + icon_state = "rainbow" + muzzle_type = /obj/effect/projectile/muzzle/rainbow + tracer_type = /obj/effect/projectile/tracer/rainbow + impact_type = /obj/effect/projectile/impact/rainbow + +/obj/item/projectile/beam/mouselaser/ddraig/on_hit(var/atom/target) + var/mob/living/M = target + if(!istype(M)) + return + if(target != firer) //If you shot yourself, you probably want to be TFed so don't bother with prefs. + if(!M.allow_spontaneous_tf && !tf_admin_pref_override) + return + if(M.tf_mob_holder) + var/mob/living/ourmob = M.tf_mob_holder + if(ourmob.ai_holder) + var/datum/ai_holder/our_AI = ourmob.ai_holder + our_AI.set_stance(STANCE_IDLE) + M.tf_mob_holder = null + ourmob.ckey = M.ckey + var/turf/get_dat_turf = get_turf(target) + ourmob.loc = get_dat_turf + ourmob.forceMove(get_dat_turf) + ourmob.vore_selected = M.vore_selected + M.vore_selected = null + for(var/obj/belly/B as anything in M.vore_organs) + B.loc = ourmob + B.forceMove(ourmob) + B.owner = ourmob + M.vore_organs -= B + ourmob.vore_organs += B + + ourmob.Life(1) + if(ishuman(M)) + for(var/obj/item/W in M) + if(istype(W, /obj/item/implant/backup) || istype(W, /obj/item/nif)) + continue + M.drop_from_inventory(W) + + qdel(target) + return + else + if(M.stat == DEAD) //We can let it undo the TF, because the person will be dead, but otherwise things get weird. + return + var/mob/living/new_mob = spawn_mob(M) + new_mob.faction = M.faction + + if(new_mob && isliving(new_mob)) + for(var/obj/belly/B as anything in new_mob.vore_organs) + new_mob.vore_organs -= B + qdel(B) + new_mob.vore_organs = list() + new_mob.name = M.name + new_mob.real_name = M.real_name + for(var/lang in M.languages) + new_mob.languages |= lang + M.copy_vore_prefs_to_mob(new_mob) + new_mob.vore_selected = M.vore_selected + if(ishuman(M)) + var/mob/living/carbon/human/H = M + if(ishuman(new_mob)) + var/mob/living/carbon/human/N = new_mob + N.gender = H.gender + N.identifying_gender = H.identifying_gender + else + new_mob.gender = H.gender + else + new_mob.gender = M.gender + if(ishuman(new_mob)) + var/mob/living/carbon/human/N = new_mob + N.identifying_gender = M.gender + + for(var/obj/belly/B as anything in M.vore_organs) + B.loc = new_mob + B.forceMove(new_mob) + B.owner = new_mob + M.vore_organs -= B + new_mob.vore_organs += B + + new_mob.ckey = M.ckey + if(M.ai_holder && new_mob.ai_holder) + var/datum/ai_holder/old_AI = M.ai_holder + old_AI.set_stance(STANCE_SLEEP) + var/datum/ai_holder/new_AI = new_mob.ai_holder + new_AI.hostile = old_AI.hostile + new_AI.retaliate = old_AI.retaliate + M.loc = new_mob + M.forceMove(new_mob) + new_mob.tf_mob_holder = M + + spawn(30 SECONDS) + new_mob.revert_mob_tf() //TF them back after 30 seconds, basically takes them out of the fight for a short time. + +/obj/item/projectile/beam/mouselaser/ddraig/spawn_mob(var/mob/living/target) + var/list/tf_list = list(/mob/living/simple_mob/animal/passive/mouse, + /mob/living/simple_mob/animal/passive/mouse/rat, + /mob/living/simple_mob/vore/alienanimals/dustjumper, + /mob/living/simple_mob/vore/woof, + /mob/living/simple_mob/animal/passive/dog/corgi, + /mob/living/simple_mob/animal/passive/cat, + /mob/living/simple_mob/animal/passive/chicken, + /mob/living/simple_mob/animal/passive/cow, + /mob/living/simple_mob/animal/passive/lizard, + /mob/living/simple_mob/vore/rabbit, + /mob/living/simple_mob/animal/passive/fox, + /mob/living/simple_mob/vore/fennec, + /mob/living/simple_mob/animal/passive/fennec, + /mob/living/simple_mob/vore/fennix, + /mob/living/simple_mob/vore/redpanda, + /mob/living/simple_mob/animal/passive/opossum, + /mob/living/simple_mob/vore/horse, + /mob/living/simple_mob/animal/space/goose, + /mob/living/simple_mob/vore/sheep) + tf_type = pick(tf_list) + if(!ispath(tf_type)) + return + var/new_mob = new tf_type(get_turf(target)) + return new_mob + +/datum/ai_holder/simple_mob/vore/ddraig + var/used_invis = 0 + can_flee = TRUE + flee_when_dying = FALSE + +/datum/ai_holder/simple_mob/vore/find_target(list/possible_targets, has_targets_list) + if(!vore_hostile) + return ..() + if(!isanimal(holder)) //Only simplemobs have the vars we need + return ..() + var/mob/living/simple_mob/H = holder + if(H.vore_fullness >= H.vore_capacity) //Don't beat people up if we're full + return ..() + ai_log("find_target() : Entered.", AI_LOG_TRACE) + + . = list() + if(!has_targets_list) + possible_targets = list_targets() + var/list/valid_mobs = list() + for(var/mob/living/possible_target in possible_targets) + if(!can_attack(possible_target)) + continue + if(istype(target,/mob/living/simple_mob) && !check_attacker(target)) //Do not target simple mobs who didn't attack you (disengage with TF'd mobs) + continue + . |= possible_target + if(!isliving(possible_target)) + continue + if(vore_check(possible_target)) + valid_mobs |= possible_target + + var/new_target + if(valid_mobs.len) + new_target = pick(valid_mobs) + else if(hostile) + new_target = pick(.) + if(!new_target) + return null + give_target(new_target) + return new_target + +/datum/ai_holder/simple_mob/vore/ddraig/engage_target() + ai_log("engage_target() : Entering.", AI_LOG_DEBUG) + + if(holder.cloaked) + set_stance(STANCE_FLEE) + return + + if((holder.health < (holder.maxHealth / 4)) && !used_invis) + holder.cloak() + used_invis = 1 + step_away(holder, target, 8) + step_away(holder, target, 8) + step_away(holder, target, 8) + step_away(holder, target, 8) + step_away(holder, target, 8) + spawn(60 SECONDS) + holder.uncloak() + + if(istype(target,/mob/living/simple_mob) && !check_attacker(target)) //Immediately disengage with TF'd mobs so you don't one shot the poor guy you turned into a mouse. + lose_target() + + // Can we still see them? + if(!target || !can_attack(target)) + ai_log("engage_target() : Lost sight of target.", AI_LOG_TRACE) + if(lose_target()) // We lost them (returns TRUE if we found something else to do) + ai_log("engage_target() : Pursuing other options (last seen, or a new target).", AI_LOG_TRACE) + return + + var/distance = get_dist(holder, target) + ai_log("engage_target() : Distance to target ([target]) is [distance].", AI_LOG_TRACE) + holder.face_atom(target) + last_conflict_time = world.time + + // Do a 'special' attack, if one is allowed. +// if(prob(special_attack_prob) && (distance >= special_attack_min_range) && (distance <= special_attack_max_range)) + if(holder.ICheckSpecialAttack(target)) + ai_log("engage_target() : Attempting a special attack.", AI_LOG_TRACE) + on_engagement(target) + if(special_attack(target)) // If this fails, then we try a regular melee/ranged attack. + ai_log("engage_target() : Successful special attack. Exiting.", AI_LOG_DEBUG) + return + + // Stab them. + else if(distance <= 1 && !pointblank) + ai_log("engage_target() : Attempting a melee attack.", AI_LOG_TRACE) + on_engagement(target) + melee_attack(target) + + else if(distance <= 1 && !holder.ICheckRangedAttack(target)) // Doesn't have projectile, but is pointblank + ai_log("engage_target() : Attempting a melee attack.", AI_LOG_TRACE) + on_engagement(target) + melee_attack(target) + + // Shoot them. + else if(holder.ICheckRangedAttack(target) && (distance <= max_range(target)) ) + on_engagement(target) + if(firing_lanes && !test_projectile_safety(target)) + // Nudge them a bit, maybe they can shoot next time. + var/turf/T = get_step(holder, pick(cardinal)) + if(T) + holder.IMove(T) // IMove() will respect movement cooldown. + holder.face_atom(target) + ai_log("engage_target() : Could not safely fire at target. Exiting.", AI_LOG_DEBUG) + return + + ai_log("engage_target() : Attempting a ranged attack.", AI_LOG_TRACE) + ranged_attack(target) + + // Run after them. + else if(!stand_ground) + ai_log("engage_target() : Target ([target]) too far away. Exiting.", AI_LOG_DEBUG) + set_stance(STANCE_APPROACH) + +////////////////////////////Player controlled verbs/////////////////////////////// + +/mob/living/proc/polymorph() + set name = "Polymorph" + set desc = "Take the form of a non-humanoid creature." + set category = "Abilities" + + var/list/beast_options = list("Rabbit" = /mob/living/simple_mob/vore/rabbit, + "Red Panda" = /mob/living/simple_mob/vore/redpanda, + "Fennec" = /mob/living/simple_mob/vore/fennec, + "Giant Frog" = /mob/living/simple_mob/vore/aggressive/frog, + "Giant Rat" = /mob/living/simple_mob/vore/aggressive/rat, + "Wolf" = /mob/living/simple_mob/vore/wolf, + "Dire Wolf" = /mob/living/simple_mob/vore/wolf/direwolf, + "Fox" = /mob/living/simple_mob/animal/passive/fox/beastmode, + "Panther" = /mob/living/simple_mob/vore/aggressive/panther, + "Giant Snake" = /mob/living/simple_mob/vore/aggressive/giant_snake, + "Otie" = /mob/living/simple_mob/vore/otie, + "Squirrel" = /mob/living/simple_mob/vore/squirrel, + "Raptor" = /mob/living/simple_mob/vore/raptor, + "Giant Bat" = /mob/living/simple_mob/vore/bat, + "Horse" = /mob/living/simple_mob/vore/horse, + "Horse (Big)" = /mob/living/simple_mob/vore/horse/big, + "Kelpie" = /mob/living/simple_mob/vore/horse/kelpie, + "Bear" = /mob/living/simple_mob/animal/space/bear/brown/beastmode, + "Seagull" = /mob/living/simple_mob/vore/seagull, + "Sheep" = /mob/living/simple_mob/vore/sheep, + "Azure Tit" = /mob/living/simple_mob/animal/passive/bird/azure_tit/beastmode, + "Robin" = /mob/living/simple_mob/animal/passive/bird/european_robin/beastmode, + "Cat" = /mob/living/simple_mob/animal/passive/cat/black/beastmode, + "Tamaskan Dog" = /mob/living/simple_mob/animal/passive/dog/tamaskan, + "Corgi" = /mob/living/simple_mob/animal/passive/dog/corgi, + "Bull Terrier" = /mob/living/simple_mob/animal/passive/dog/bullterrier, + "Duck" = /mob/living/simple_mob/animal/sif/duck, + "Cow" = /mob/living/simple_mob/animal/passive/cow, + "Chicken" = /mob/living/simple_mob/animal/passive/chicken, + "Goat" = /mob/living/simple_mob/animal/goat, + "Penguin" = /mob/living/simple_mob/animal/passive/penguin, + "Goose" = /mob/living/simple_mob/animal/space/goose + ) + + var/chosen_beast = tgui_input_list(src, "Which form would you like to take?", "Choose Beast Form", beast_options) + + if(!chosen_beast) + return + + + var/mob/living/M = src + log_debug("polymorph start") + if(!istype(M)) + log_debug("polymorph istype") + return + + if(M.stat) //We can let it undo the TF, because the person will be dead, but otherwise things get weird. + log_debug("polymorph stat") + to_chat(src, span_warning("You can't do that in your condition.")) + return + + if(M.health <= 10) //We can let it undo the TF, because the person will be dead, but otherwise things get weird. + log_debug("polymorph injured") + to_chat(src, span_warning("You are too injured to transform into a beast.")) + return + + visible_message("\The [src] begins significantly shifting their form.") + if(!do_after(src, 10 SECONDS, src, exclusive = TASK_USER_EXCLUSIVE)) + visible_message("\The [src] ceases shifting their form.") + return 0 + + var/image/coolanimation = image('icons/obj/glamour.dmi', null, "animation") + coolanimation.plane = PLANE_LIGHTING_ABOVE + src.overlays += coolanimation + spawn(10) + src.overlays -= coolanimation + + log_debug("polymorph not dead") + var/mob/living/new_mob = spawn_polymorph_mob(beast_options[chosen_beast]) + new_mob.faction = M.faction + + if(new_mob && isliving(new_mob)) + log_debug("polymorph new_mob") + for(var/obj/belly/B as anything in new_mob.vore_organs) + log_debug("polymorph new_mob belly") + new_mob.vore_organs -= B + qdel(B) + new_mob.vore_organs = list() + new_mob.name = M.name + new_mob.real_name = M.real_name + new_mob.verbs |= /mob/living/proc/revert_beast_form + new_mob.verbs |= /mob/living/proc/set_size + for(var/lang in M.languages) + new_mob.languages |= lang + M.copy_vore_prefs_to_mob(new_mob) + new_mob.vore_selected = M.vore_selected + if(ishuman(M)) + log_debug("polymorph ishuman part2") + var/mob/living/carbon/human/H = M + if(ishuman(new_mob)) + log_debug("polymorph ishuman(newmob)") + var/mob/living/carbon/human/N = new_mob + N.gender = H.gender + N.identifying_gender = H.identifying_gender + else + log_debug("polymorph gender else") + new_mob.gender = H.gender + else + log_debug("polymorph gender else 2") + new_mob.gender = M.gender + if(ishuman(new_mob)) + var/mob/living/carbon/human/N = new_mob + N.identifying_gender = M.gender + + for(var/obj/belly/B as anything in M.vore_organs) + B.loc = new_mob + B.forceMove(new_mob) + B.owner = new_mob + M.vore_organs -= B + new_mob.vore_organs += B + + new_mob.ckey = M.ckey + if(M.ai_holder && new_mob.ai_holder) + var/datum/ai_holder/old_AI = M.ai_holder + old_AI.set_stance(STANCE_SLEEP) + var/datum/ai_holder/new_AI = new_mob.ai_holder + new_AI.hostile = old_AI.hostile + new_AI.retaliate = old_AI.retaliate + M.loc = new_mob + M.forceMove(new_mob) + new_mob.tf_mob_holder = M + new_mob.visible_message("\The [src] has transformed into \the [chosen_beast]!") + +/mob/living/proc/spawn_polymorph_mob(var/chosen_beast) + log_debug("polymorph proc spawn mob") + var/tf_type = chosen_beast + log_debug("polymorph [tf_type]") + if(!ispath(tf_type)) + log_debug("polymorph tf_type fail") + return + log_debug("polymorph tf_type pass") + var/new_mob = new tf_type(get_turf(src)) + return new_mob + +/mob/living/proc/glamour_invisibility() + set name = "Invisibility" + set desc = "Change your appearance to match your surroundings, becoming completely invisible to the naked eye." + set category = "Abilities" + + if(stat) + to_chat(src, span_warning("You can't go invisible when weakened like this.")) + return + + if(!cloaked) + cloak() + to_chat(src, span_warning("Your skin shimmers and shifts around you, hiding you from the naked eye.")) + else + uncloak() + to_chat(src, span_warning("The shifting of your skin settles down and you become visible once again.")) diff --git a/code/modules/mob/living/simple_mob/subtypes/glamour/fluffball.dm b/code/modules/mob/living/simple_mob/subtypes/glamour/fluffball.dm new file mode 100644 index 00000000000..081494bc1f8 --- /dev/null +++ b/code/modules/mob/living/simple_mob/subtypes/glamour/fluffball.dm @@ -0,0 +1,215 @@ +/mob/living/simple_mob/vore/fluffball + name = "fluffball" + desc = "A small, rotund humanoid creature. It is difficult to make out physical features of it as it covers most of its face behind big floppy, fluffy ears with only beady yellow eyes looking out. Most of its body is covered by a thick, soft tail that it wraps around itself and holds onto with small stumpy arms." + catalogue_data = list(/datum/category_item/catalogue/fauna/fluffball) + tt_desc = "glamoris fluffalia" + icon = 'icons/mob/vore.dmi' + icon_dead = "fluffball-dead" + icon_living = "fluffball" + icon_state = "fluffball" + faction = FACTION_SCRUBBLE + friendly = list("nudges", "sniffs on", "rumbles softly at", "nuzzles") + response_help = "bumps" + response_disarm = "shoves" + response_harm = "attacks" + movement_cooldown = 0 + harm_intent_damage = 2 + melee_damage_lower = 1 + melee_damage_upper = 4 + maxHealth = 50 + attacktext = list("tail whips") + see_in_dark = 8 + minbodytemp = 0 + ai_holder_type = /datum/ai_holder/simple_mob/hostile/fluffball + say_list_type = /datum/say_list/fluffball + + faction = FACTION_GLAMOUR + + vore_bump_chance = 25 + vore_digest_chance = 50 + vore_escape_chance = 5 + vore_pounce_chance = 1000 + vore_active = 1 + vore_icons = 1 + vore_icons = SA_ICON_LIVING + vore_capacity = 1 + swallowTime = 50 + vore_ignores_undigestable = FALSE + vore_default_mode = DM_SELECT + vore_pounce_maxhealth = 1000 + vore_bump_emote = "pounces on" + vore_pounce_falloff = 0 //Always eat someone at full health + vore_standing_too = 1 + +/mob/living/simple_mob/vore/fluffball/init_vore() + ..() + var/obj/belly/B = vore_selected + B.name = "tail" + B.desc = "The small critter seems to suddenly panic, lunging at you with its massive fluffy tail, using it like a weapon. Despite the appearance of the tail, it seems to be much larger on the inside, suddenly engulfing you completely in a world of endless softness. Inside, you are bound up nice and tight in an oddly comfortable prison of hair, it ripples over your body tickling every bit of exposed body on offer." + B.mode_flags = DM_FLAG_THICKBELLY + B.belly_fullscreen = "yet_another_tumby" + B.digest_brute = 1 + B.digest_burn = 1 + B.digest_oxy = 0 + B.digestchance = 10 + B.absorbchance = 60 + B.escapechance = 10 + B.selective_preference = DM_ABSORB + B.escape_stun = 5 + B.transferlocation_absorb = "fluff" + + var/obj/belly/fluff = new /obj/belly(src) + fluff.immutable = TRUE + fluff.name = "fluff" + fluff.desc = "You find yourself sinking deeper and deeper into the fluff around you, steadily it wraps around your entire body, binding you up. It seems to grow tighter and tigher forever, although never to the point of discomfort. Before long, the tightness goes beyond a physical sensation, it starts to feel like it buries into you, becoming part of you. It is becoming hard to discern yourself from the fluff, you feel floaty, wavy and soft yourself. Eventually, you can't feel yourself at all, there's nothing but fur. Every movement you make feels pointless, simply causing the slightest rustling of fluff as though the hair was moving on its own." + fluff.digest_mode = DM_HOLD // like, shes got you already, doesn't need to get you more + fluff.mode_flags = DM_FLAG_FORCEPSAY + fluff.escapable = TRUE // good luck + fluff.escapechance = 40 // high chance of STARTING a successful escape attempt + fluff.escapechance_absorbed = 5 // m i n e + fluff.vore_verb = "soak" + fluff.count_absorbed_prey_for_sprite = FALSE + fluff.absorbed_struggle_messages_inside = list( + "You try and push free from %pred's %belly, but can't seem to will yourself to move.", + "Your fruitless mental struggles only cause %pred to giggle lightly.", + "You can't make any progress freeing yourself from %pred's %belly.") + fluff.escape_attempt_absorbed_messages_owner = list( + "%prey is attempting to free themselves from your %belly!") + + fluff.escape_attempt_absorbed_messages_prey = list( + "You try to force yourself out of %pred's %belly.", + "You strain and push, attempting to reach out of %pred's %belly.", + "You work up the will to try and force yourself free of %pred's clutches.") + + fluff.escape_absorbed_messages_owner = list( + "%prey forces themselves free of your %belly!") + + fluff.escape_absorbed_messages_prey = list( + "You finally manage to wrest yourself free from %pred's %belly, re-asserting your more usual form.", + "You heave and push, eventually spilling out from %pred's %belly, eliciting a happy chirp from your former captor.") + + fluff.escape_absorbed_messages_outside = list( + "%prey suddenly forces themselves free of %pred's %belly!") + + fluff.escape_fail_absorbed_messages_owner = list( + "%prey's attempt to escape form your %belly has failed!") + + fluff.escape_fail_absorbed_messages_prey = list( + "Before you manage to reach freedom, you feel yourself getting dragged back into %pred's %belly!", + "%pred laughs lightly, simply pressing your wrigging form back into her %belly before you get anywhere.", + "Try as you might, you barely make an impression before %pred simply clenches with the most minimal effort, binding you back into her %belly.", + "Unfortunately, %pred seems to have absolutely no intention of letting you go, and your futile effort goes nowhere.", + "Strain as you might, you can't keep up the effort long enough before you sink back into %pred's %belly.") + + +/datum/say_list/fluffball + emote_hear = list("makes a shy squeal","whimpers","lets out a little squeak") + emote_see = list("hides its face","cuddles up to its own tail","stands there awkwardly","avoids eye contact") + +/datum/category_item/catalogue/fauna/fluffball + name = "Extra-Realspace Fauna - Fluffball" + desc = "Classification: Glamoris Fluffalia\ +

    \ + A stout creature with an apparently quite round figure, known to habit the location known as the Glamour. It is generally difficult to identify any physical features on the creature \ + due to its anxiety around other creatures, it hides itself beneath its heavily furred ears and tail. Most creatures that approach it will find the fluffball fleeing quickly, \ + though it is known to act more calm around those carrying food, which it is quick to steal from people's hands if offered. However, they have been observed to use their tails as weapons when panicked and unable to flee." + value = CATALOGUER_REWARD_HARD + +/mob/living/simple_mob/vore/fluffball/PounceTarget(var/mob/living/M, var/successrate = 100) + vore_pounce_cooldown = world.time + 20 SECONDS // don't attempt another pounce for a while + if(prob(successrate)) // pounce success! + M.Weaken(5) + M.visible_message("\The [src] pounces on \the [M]!!") + else // pounce misses! + M.visible_message("\The [src] attempts to pounce \the [M] but misses!!") + playsound(src, 'sound/weapons/punchmiss.ogg', 25, 1, -1) + + if(will_eat(M) && (!M.canmove || vore_standing_too)) //if they're edible then eat them too + return EatTarget(M) + else + return //just leave them + +/mob/living/simple_mob/vore/fluffball/attackby(obj/item/W as obj, mob/user as mob) + ..() + if(istype(W,/obj/item/reagent_containers/food)) + user.drop_item(W) + qdel(W) + visible_message("\The [src] quickly steals \the [W] into its fluff, it seems to have become a little less shy!!") + var/datum/ai_holder/simple_mob/hostile/fluffball/A = ai_holder + if(istype(A)) + A.friend_list |= user + +//AI + +/datum/ai_holder/simple_mob/hostile/fluffball + can_flee = TRUE + vision_range = 3 //Only react if you get close + can_flee = TRUE // If they're even allowed to flee. + flee_when_dying = TRUE // If they should flee when low on health. + dying_threshold = 1.1 // Flee at max health + var/list/friend_list = list() + +/datum/ai_holder/simple_mob/hostile/fluffball/flee_from_target() + ai_log("flee_from_target() : Entering.", AI_LOG_DEBUG) + + if(!target || !should_flee() || !can_attack(target)) // can_attack() is used since it checks the same things we would need to anyways. + ai_log("flee_from_target() : Lost target to flee from.", AI_LOG_INFO) + lose_target() + set_stance(STANCE_IDLE) + ai_log("flee_from_target() : Exiting.", AI_LOG_DEBUG) + return + + var/mob/living/simple_mob/vore/H = holder + var/mob/living/L = target + var/distance = get_dist(holder, target) + if(distance <= 1) + if(H.will_eat(L) && H.CanPounceTarget(L)) + H.face_atom(L) + H.PounceTarget(L) + return + + ai_log("flee_from_target() : Stepping away.", AI_LOG_TRACE) + step_away(holder, target, 5) + ai_log("flee_from_target() : Exiting.", AI_LOG_DEBUG) + +/datum/ai_holder/simple_mob/hostile/fluffball/find_target(list/possible_targets, has_targets_list) + if(!isanimal(holder)) //Only simplemobs have the vars we need + return ..() + var/list/L = list() + if(!has_targets_list) + possible_targets = list_targets() + var/list/valid_mobs = list() + for(var/mob/living/possible_target in possible_targets) + var/mob/living/carbon/human/H = possible_target + if(istype(H)) + var/obj/item/reagent_containers/food/B = H.get_active_hand() + var/obj/item/reagent_containers/food/R = H.get_inactive_hand() + if(istype(R) || istype(B)) + continue + if(!can_attack(possible_target)) + continue + if((possible_target in friend_list) && !check_attacker(possible_target)) + continue + L |= possible_target + if(!isliving(possible_target)) + continue + if(vore_check(possible_target)) + valid_mobs |= possible_target + + var/new_target + if(valid_mobs.len) + new_target = pick(valid_mobs) + else if(hostile && L.len) + new_target = pick(L) + if(!new_target) + return null + give_target(new_target) + return new_target + +/datum/ai_holder/simple_mob/vore/fluffball + vision_range = 4 + hostile = FALSE + retaliate = TRUE + vore_hostile = FALSE + forgive_resting = TRUE + cooperative = FALSE diff --git a/code/modules/mob/living/simple_mob/subtypes/glamour/homunculus.dm b/code/modules/mob/living/simple_mob/subtypes/glamour/homunculus.dm index 3a65edf7b6f..f8b0ca0cb03 100644 --- a/code/modules/mob/living/simple_mob/subtypes/glamour/homunculus.dm +++ b/code/modules/mob/living/simple_mob/subtypes/glamour/homunculus.dm @@ -33,3 +33,92 @@ /mob/living/simple_mob/homunculus/update_icons() return +/mob/living/simple_mob/homunculus/evil + var/seen_melee + var/seen_gun + var/transformed + var/seen_armour + maxHealth = 100 + health = 100 + + faction = FACTION_GLAMOUR + + melee_damage_lower = 5 + melee_damage_upper = 7 + + ai_holder_type = /datum/ai_holder/simple_mob/hostile + +/mob/living/simple_mob/homunculus/evil/Life() + handle_homunculus() + return ..() + +/mob/living/simple_mob/homunculus/evil/proc/handle_homunculus() + if(!transformed) + for(var/mob/living/carbon/human/H in range(8, src)) + if(H.stat == DEAD) + continue + name = H.name + desc = H.desc + icon = H.icon + icon_state = H.icon_state + copy_overlays(H, TRUE) + resize(H.size_multiplier, ignore_prefs = TRUE) + var/obj/item/A = H.get_active_hand() + var/obj/item/I = H.get_inactive_hand() + if(istype(A,/obj/item/material) || istype(A,/obj/item/melee) || istype(I,/obj/item/material) || istype(I,/obj/item/melee)) + seen_melee = 1 + melee_damage_lower = 20 + melee_damage_upper = 30 + if(istype(A,/obj/item/gun/projectile) || istype(I,/obj/item/gun/projectile)) + seen_gun = 1 + projectiletype = /obj/item/projectile/bullet/pistol/medium + projectilesound = 'sound/weapons/Gunshot_light.ogg' + if(istype(A,/obj/item/gun/projectile/shotgun) || istype(I,/obj/item/gun/projectile/shotgun)) + projectiletype = /obj/item/projectile/bullet/pellet/shotgun + projectilesound = 'sound/weapons/Gunshot_shotgun.ogg' + reload_time = 1.5 SECONDS + ranged_attack_delay = 1.5 SECONDS + projectile_dispersion = 8 + projectile_accuracy = -40 + if(istype(A,/obj/item/gun/projectile/automatic) || istype(I,/obj/item/gun/projectile/automatic)) + base_attack_cooldown = 5 + projectile_dispersion = 7 + projectile_accuracy = -20 + if(istype(A,/obj/item/gun/projectile/heavysniper) || istype(I,/obj/item/gun/projectile/heavysniper)) + projectiletype = /obj/item/projectile/bullet/rifle/a145/highvel // Do not get seen with a big ass sniper! + projectilesound = 'sound/weapons/Gunshot_cannon.ogg' + ranged_attack_delay = 2.5 SECONDS + reload_time = 5 SECONDS + projectile_accuracy = 75 + if(istype(A,/obj/item/gun/energy) || istype(I,/obj/item/gun/energy)) + seen_gun = 1 + projectiletype = /obj/item/projectile/beam/midlaser + projectilesound = 'sound/weapons/Laser.ogg' + projectile_dispersion = 5 + projectile_accuracy = -20 + if(istype(A,/obj/item/gun/energy/ionrifle) || istype(I,/obj/item/gun/energy/ionrifle)) + projectiletype = /obj/item/projectile/ion + if(istype(A,/obj/item/gun/energy/lasercannon) || istype(I,/obj/item/gun/energy/lasercannon)) + projectiletype = /obj/item/projectile/beam/heavylaser + ranged_attack_delay = 2.5 SECONDS + reload_time = 5 SECONDS + projectilesound = 'sound/weapons/lasercannonfire.ogg' + if(istype(A,/obj/item/gun/energy/sniperrifle) || istype(I,/obj/item/gun/energy/sniperrifle)) + projectiletype = /obj/item/projectile/beam/sniper // Do not get seen with a big ass sniper! + projectilesound = 'sound/weapons/gauss_shoot.ogg' + ranged_attack_delay = 2.5 SECONDS + reload_time = 5 SECONDS + projectile_accuracy = 75 + if(istype(A,/obj/item/gun/magnetic) || istype(I,/obj/item/gun/magnetic)) + seen_gun = 1 + projectiletype = /obj/item/projectile/bullet/magnetic/bore + projectilesound = 'sound/weapons/railgun.ogg' + ranged_attack_delay = 1.5 SECONDS + projectile_dispersion = 5 + projectile_accuracy = 20 + var/obj/item/clothing/suit/S = H.get_equipped_item(slot_wear_suit) + if(istype(S,/obj/item/clothing/suit/armor) || istype(S,/obj/item/clothing/suit/space/rig/)) + armor = list(melee = 40, bullet = 30, laser = 30, energy = 10, bomb = 10, bio = 100, rad = 100) + transformed = 1 + return TRUE + diff --git a/code/modules/mob/living/simple_mob/subtypes/glamour/unicorn.dm b/code/modules/mob/living/simple_mob/subtypes/glamour/unicorn.dm new file mode 100644 index 00000000000..7da91539fb5 --- /dev/null +++ b/code/modules/mob/living/simple_mob/subtypes/glamour/unicorn.dm @@ -0,0 +1,75 @@ +/mob/living/simple_mob/vore/horse/unicorn + name = "unicorn" + icon_state = "unicorn" + icon_living = "unicorn" + icon_dead = "unicorn-dead" + icon = 'icons/mob/vore64x64.dmi' + desc = "A bright white horse-like creature with a golden horn protruding from its forehead. It's mane and hooves is a similarly golden." + tt_desc = "Equus unicornis" + + vore_capacity = 2 + maxHealth = 250 + health = 250 + meat_amount = 10 + + old_x = -16 + old_y = 0 + default_pixel_x = -16 + pixel_x = -16 + pixel_y = 0 + mount_offset_y = 22 + say_list_type = /datum/say_list/horse/unicorn + ai_holder_type = /datum/ai_holder/simple_mob/vore + minbodytemp = 0 + movement_cooldown = 1 + + vore_bump_chance = 75 + vore_pounce_chance = 75 + vore_pounce_maxhealth = 200 + vore_bump_emote = "chomps down on" + + faction = FACTION_GLAMOUR + + projectiletype = /obj/item/projectile/beam/rainbow + projectilesound = 'sound/weapons/sparkle.ogg' + projectile_dispersion = 7 + projectile_accuracy = -20 + +/mob/living/simple_mob/vore/horse/unicorn/init_vore() + ..() + var/obj/belly/B = vore_selected + B.name = "stomach" + B.desc = "With a final few gulps, the unicorn finishes swallowing you down into its hot, humid gut... and with a slosh, your weight makes the equine's belly hang down slightly like some sort of organic hammock. The thick, damp air is tinged with the smell of... candyfloss(?), and the surrounding flesh wastes no time in clenching and massaging down over its newfound fodder." + B.digest_brute = 3 + B.digest_burn = 3 + B.digestchance = 40 + B.absorbchance = 1 + B.escapechance = 7 + B.escape_stun = 5 + + B.emote_lists[DM_HOLD] = list( + "The unicorn's idle trotting helps its stomach gently churn around you, slimily squelching against your figure.", + "The equine predator takes a moment to intentionally clench its gut around you, encapsulating you in a strange, fleshy hug.", + "Some hot, viscous slime oozes down over your form, helping slicken you up during your stay.", + "During a moment of relative silence, you can hear the beast's soft, relaxed breathing as it casually goes about its day.", + "The thick, humid atmosphere within the unicorn's hanging belly works in tandem with its steady, metronome-like heartbeat to soothe you.", + "Your surroundings sway from side to side as the unicorn trots about, as if it is showing off its newest catch.") + + B.emote_lists[DM_DIGEST] = list( + "The unicorn huffs in annoyance before clenching those wrinkled walls tight against your form, grinding away at you!", + "As the beast trots about, you're forced to slip and slide around amidst a pool of thick digestive goop!", + "You can barely hear the unicorn let out a pleased nicker as its stomach eagerly gurgles around its newfound meal!", + "As the thinning air begins to make you feel dizzy, menacing bworps and grumbles fill that dark, constantly shifting organ!", + "The constant, rhythmic kneading and massaging starts to take its toll along with the muggy heat, making you feel weaker and weaker!", + "The unicorn happily trots around while digesting its meal, almost like it is trying to show off the hanging gut you've given it.") + +/datum/say_list/horse/unicorn + speak = list("...","?") + emote_hear = list("makes some sort of sparkling sound","whinnies with the most beautiful sounds") + emote_see = list("twinkles prettily", "shakes its mane", "looks so very regal") + +/mob/living/simple_mob/vore/horse/unicorn/hostile + ai_holder_type = /datum/ai_holder/simple_mob/ranged/aggressive/unicorn + +/datum/ai_holder/simple_mob/ranged/aggressive/unicorn + pointblank = FALSE diff --git a/code/modules/mob/living/simple_mob/subtypes/humanoid/clown.dm b/code/modules/mob/living/simple_mob/subtypes/humanoid/clown.dm index 1fd1ebf2b4d..14a76584bd1 100644 --- a/code/modules/mob/living/simple_mob/subtypes/humanoid/clown.dm +++ b/code/modules/mob/living/simple_mob/subtypes/humanoid/clown.dm @@ -8,9 +8,9 @@ icon_dead = "clown_dead" icon_gib = "clown_gib" - faction = "clown" + faction = FACTION_CLOWN - loot_list = list(/obj/item/weapon/bikehorn = 100) + loot_list = list(/obj/item/bikehorn = 100) response_help = "pokes" response_disarm = "gently pushes aside" @@ -31,4 +31,4 @@ emote_see = list("honks") /decl/mob_organ_names/clown - hit_zones = list("head", "torso", "pie-hole", "honker", "left funny bone", "right funny bone", "left foot", "right foot", "unmentionables") \ No newline at end of file + hit_zones = list("head", "torso", "pie-hole", "honker", "left funny bone", "right funny bone", "left foot", "right foot", "unmentionables") diff --git a/code/modules/mob/living/simple_mob/subtypes/humanoid/mercs/mercs.dm b/code/modules/mob/living/simple_mob/subtypes/humanoid/mercs/mercs.dm index f939e1d3c7a..eabe9b296ca 100644 --- a/code/modules/mob/living/simple_mob/subtypes/humanoid/mercs/mercs.dm +++ b/code/modules/mob/living/simple_mob/subtypes/humanoid/mercs/mercs.dm @@ -12,7 +12,7 @@ icon_dead = "syndicate_dead" icon_gib = "syndicate_gib" - faction = "syndicate" + faction = FACTION_SYNDICATE movement_cooldown = 1 status_flags = 0 @@ -31,13 +31,13 @@ armor = list(melee = 40, bullet = 30, laser = 30, energy = 10, bomb = 10, bio = 100, rad = 100) // Same armor values as the vest they drop, plus simple mob immunities corpse = /obj/effect/landmark/mobcorpse/syndicatesoldier - loot_list = list(/obj/item/weapon/material/knife/tacknife = 100) // Might as well give it the knife + loot_list = list(/obj/item/material/knife/tacknife = 100) // Might as well give it the knife ai_holder_type = /datum/ai_holder/simple_mob/merc say_list_type = /datum/say_list/merc // Grenade special attack vars - var/grenade_type = /obj/item/weapon/grenade/concussion + var/grenade_type = /obj/item/grenade/concussion special_attack_cooldown = 45 SECONDS special_attack_min_range = 2 special_attack_max_range = 7 @@ -68,7 +68,7 @@ set waitfor = FALSE set_AI_busy(TRUE) - var/obj/item/weapon/grenade/G = new grenade_type(get_turf(src)) + var/obj/item/grenade/G = new grenade_type(get_turf(src)) if(istype(G)) G.throw_at(A, G.throw_range, G.throw_speed, src) G.attack_self(src) @@ -87,14 +87,23 @@ intelligence_level = AI_SMART // Also knows not to walk while confused if it risks death. threaten_delay = 30 SECONDS // Mercs will give you 30 seconds to leave or get shot. +/datum/ai_holder/simple_mob/merc/guard_limit + guard_limit = TRUE + /datum/ai_holder/simple_mob/merc/ranged pointblank = TRUE // They get close? Just shoot 'em! firing_lanes = TRUE // But not your buddies! conserve_ammo = TRUE // And don't go wasting bullets! +/datum/ai_holder/simple_mob/merc/ranged/guard_limit + guard_limit = TRUE + /datum/ai_holder/simple_mob/merc/ranged/sniper vision_range = 14 // We're a person with a long-ranged gun. +/datum/ai_holder/simple_mob/merc/ranged/sniper/guard_limit + guard_limit = TRUE + /datum/ai_holder/simple_mob/merc/ranged/sniper/max_range(atom/movable/AM) return holder.ICheckRangedAttack(AM) ? 14 : 1 @@ -102,7 +111,7 @@ // Melee //////////////////////////////// /mob/living/simple_mob/humanoid/merc/melee // Defined in case we add non-sword-and-board mercs - loot_list = list(/obj/item/weapon/material/knife/tacknife = 100) + loot_list = list(/obj/item/material/knife/tacknife = 100) // Sword and Shield Merc /mob/living/simple_mob/humanoid/merc/melee/sword @@ -116,26 +125,26 @@ attack_edge = 1 attacktext = list("slashed") - loot_list = list(/obj/item/weapon/melee/energy/sword = 100, /obj/item/weapon/shield/energy = 100) + loot_list = list(/obj/item/melee/energy/sword = 100, /obj/item/shield/energy = 100) // They have a shield, so they try to block /mob/living/simple_mob/humanoid/merc/melee/sword/attackby(var/obj/item/O as obj, var/mob/user as mob) if(O.force) if(prob(20)) - visible_message("\The [src] blocks \the [O] with its shield!") + visible_message(span_danger("\The [src] blocks \the [O] with its shield!")) if(user) ai_holder.react_to_attack(user) return else ..() else - to_chat(user, "This weapon is ineffective, it does no damage.") - visible_message("\The [user] gently taps [src] with \the [O].") + to_chat(user, span_warning("This weapon is ineffective, it does no damage.")) + visible_message(span_warning("\The [user] gently taps [src] with \the [O].")) /mob/living/simple_mob/humanoid/merc/melee/sword/bullet_act(var/obj/item/projectile/Proj) if(!Proj) return if(prob(35)) - visible_message(span_red("[src] blocks [Proj] with its shield!")) + visible_message(span_bolddanger("[src] blocks [Proj] with its shield!")) if(Proj.firer) ai_holder.react_to_attack(Proj.firer) return @@ -154,7 +163,7 @@ projectiletype = /obj/item/projectile/bullet/pistol/medium // casingtype = /obj/item/ammo_casing/spent //Makes infinite stacks of bullets when put in PoIs. projectilesound = 'sound/weapons/Gunshot_light.ogg' - loot_list = list(/obj/item/weapon/gun/projectile/colt = 100) + loot_list = list(/obj/item/gun/projectile/colt = 100) needs_reload = TRUE reload_max = 7 // Not the best default, but it fits the pistol @@ -165,7 +174,7 @@ icon_state = "syndicateranged_smg" icon_living = "syndicateranged_smg" - loot_list = list(/obj/item/weapon/gun/projectile/automatic/c20r = 100) + loot_list = list(/obj/item/gun/projectile/automatic/c20r = 100) projectile_dispersion = 7 projectile_accuracy = -20 @@ -177,7 +186,7 @@ icon_living = "blueforranged_smg" corpse = /obj/effect/landmark/mobcorpse/solarpeacekeeper - loot_list = list(/obj/item/weapon/gun/projectile/automatic/c20r = 100) + loot_list = list(/obj/item/gun/projectile/automatic/c20r = 100) base_attack_cooldown = 5 // Two attacks a second or so. reload_max = 20 @@ -187,7 +196,7 @@ icon_state = "syndicateranged_rifle" icon_living = "syndicateranged_rifle" - loot_list = list(/obj/item/weapon/gun/projectile/automatic/z8 = 100) + loot_list = list(/obj/item/gun/projectile/automatic/z8 = 100) projectilesound = 'sound/weapons/Gunshot_heavy.ogg' projectiletype = /obj/item/projectile/bullet/rifle/a762 @@ -197,7 +206,7 @@ reload_max = 30 /mob/living/simple_mob/humanoid/merc/ranged/rifle/mag - loot_list = list(/obj/item/weapon/gun/magnetic/railgun/flechette = 100) + loot_list = list(/obj/item/gun/magnetic/railgun/flechette = 100) projectiletype = /obj/item/projectile/bullet/magnetic/flechette projectilesound = 'sound/weapons/rapidslice.ogg' @@ -210,7 +219,7 @@ projectiletype = /obj/item/projectile/beam/midlaser projectilesound = 'sound/weapons/Laser.ogg' - loot_list = list(/obj/item/weapon/gun/energy/laser = 100) + loot_list = list(/obj/item/gun/energy/laser = 100) projectile_dispersion = 5 projectile_accuracy = -20 @@ -223,7 +232,7 @@ projectiletype = /obj/item/projectile/ion projectilesound = 'sound/weapons/Laser.ogg' - loot_list = list(/obj/item/weapon/gun/energy/ionrifle = 100) + loot_list = list(/obj/item/gun/energy/ionrifle = 100) reload_max = 10 @@ -234,7 +243,7 @@ projectiletype = /obj/item/projectile/bullet/pellet/shotgun // Buckshot projectilesound = 'sound/weapons/Gunshot_shotgun.ogg' - loot_list = list(/obj/item/weapon/gun/projectile/shotgun/pump = 100) + loot_list = list(/obj/item/gun/projectile/shotgun/pump = 100) reload_max = 4 reload_time = 1.5 SECONDS // It's a shotgun, it takes a moment @@ -250,17 +259,17 @@ projectiletype = /obj/item/projectile/fake_syringe/poison // Toxin dart. projectilesound = 'sound/weapons/Gunshot_old.ogg' - loot_list = list(/obj/item/weapon/gun/projectile/dartgun = 100, - /obj/item/weapon/gun/launcher/grenade = 100, - /obj/item/weapon/grenade/spawnergrenade/manhacks/mercenary = 50, - /obj/item/weapon/grenade/spawnergrenade/manhacks/mercenary = 30 + loot_list = list(/obj/item/gun/projectile/dartgun = 100, + /obj/item/gun/launcher/grenade = 100, + /obj/item/grenade/spawnergrenade/manhacks/mercenary = 50, + /obj/item/grenade/spawnergrenade/manhacks/mercenary = 30 ) reload_max = 5 reload_time = 1 SECOND // Manhacks. - grenade_type = /obj/item/weapon/grenade/spawnergrenade/manhacks/mercenary + grenade_type = /obj/item/grenade/spawnergrenade/manhacks/mercenary projectile_dispersion = 8 projectile_accuracy = -40 @@ -286,11 +295,11 @@ loot_list = list(/obj/item/sniper_rifle_part/barrel = 50, /obj/item/sniper_rifle_part/stock = 50, /obj/item/sniper_rifle_part/trigger_group = 50, - /obj/item/weapon/grenade/spawnergrenade/manhacks/mercenary = 90 + /obj/item/grenade/spawnergrenade/manhacks/mercenary = 90 ) // Babyfrags. - grenade_type = /obj/item/weapon/grenade/explosive/mini + grenade_type = /obj/item/grenade/explosive/mini // Babyfrags go a long way. special_attack_min_range = 6 special_attack_max_range = 10 @@ -321,7 +330,7 @@ try_reload() return FALSE - visible_message("\The [src] fires at \the [orig_targ]!") + visible_message(span_danger(span_bold("\The [src]") + " fires at \the [orig_targ]!")) shoot(A) if(casingtype) new casingtype(loc) @@ -392,11 +401,11 @@ // Most likely to drop a broken weapon matching them, if it's a gun. /mob/living/simple_mob/humanoid/merc/melee/poi - loot_list = list(/obj/item/weapon/material/knife/tacknife/combatknife = 100) + loot_list = list(/obj/item/material/knife/tacknife/combatknife = 100) /mob/living/simple_mob/humanoid/merc/melee/sword/poi - loot_list = list(/obj/item/weapon/melee/energy/sword/color = 20, - /obj/item/weapon/shield/energy = 40 + loot_list = list(/obj/item/melee/energy/sword/color = 20, + /obj/item/shield/energy = 40 ) /mob/living/simple_mob/humanoid/merc/ranged/poi @@ -423,6 +432,45 @@ /mob/living/simple_mob/humanoid/merc/ranged/technician/poi loot_list = list(/obj/random/projectile/scrapped_dartgun = 100, /obj/random/projectile/scrapped_grenadelauncher = 100, - /obj/item/weapon/grenade/spawnergrenade/manhacks/mercenary = 50, - /obj/item/weapon/grenade/spawnergrenade/manhacks/mercenary = 30 + /obj/item/grenade/spawnergrenade/manhacks/mercenary = 50, + /obj/item/grenade/spawnergrenade/manhacks/mercenary = 30 ) + + +//////////////////////////////// +// Stealth Mission Mercs +//////////////////////////////// + +// Most likely to drop a broken weapon matching them, if it's a gun. +/mob/living/simple_mob/humanoid/merc/melee/poi/guard_limit + ai_holder_type = /datum/ai_holder/simple_mob/merc/guard_limit + +/mob/living/simple_mob/humanoid/merc/melee/sword/poi/guard_limit + ai_holder_type = /datum/ai_holder/simple_mob/merc/guard_limit + +/mob/living/simple_mob/humanoid/merc/ranged/poi/guard_limit + ai_holder_type = /datum/ai_holder/simple_mob/merc/ranged/guard_limit + +/mob/living/simple_mob/humanoid/merc/ranged/smg/poi/guard_limit + ai_holder_type = /datum/ai_holder/simple_mob/merc/ranged/guard_limit + +/mob/living/simple_mob/humanoid/merc/ranged/laser/poi/guard_limit + ai_holder_type = /datum/ai_holder/simple_mob/merc/ranged/guard_limit + +/mob/living/simple_mob/humanoid/merc/ranged/ionrifle/poi/guard_limit + ai_holder_type = /datum/ai_holder/simple_mob/merc/ranged/guard_limit + +/mob/living/simple_mob/humanoid/merc/ranged/grenadier/poi/guard_limit + ai_holder_type = /datum/ai_holder/simple_mob/merc/ranged/guard_limit + +/mob/living/simple_mob/humanoid/merc/ranged/rifle/poi/guard_limit + ai_holder_type = /datum/ai_holder/simple_mob/merc/ranged/guard_limit + +/mob/living/simple_mob/humanoid/merc/ranged/rifle/mag/poi/guard_limit + ai_holder_type = /datum/ai_holder/simple_mob/merc/ranged/guard_limit + +/mob/living/simple_mob/humanoid/merc/ranged/technician/poi/guard_limit + ai_holder_type = /datum/ai_holder/simple_mob/merc/ranged/guard_limit + +/mob/living/simple_mob/humanoid/merc/ranged/sniper/guard_limit + ai_holder_type = /datum/ai_holder/simple_mob/merc/ranged/sniper/guard_limit diff --git a/code/modules/mob/living/simple_mob/subtypes/humanoid/mercs/mercs_altevian.dm b/code/modules/mob/living/simple_mob/subtypes/humanoid/mercs/mercs_altevian.dm index 41b7941b685..a0b8232b297 100644 --- a/code/modules/mob/living/simple_mob/subtypes/humanoid/mercs/mercs_altevian.dm +++ b/code/modules/mob/living/simple_mob/subtypes/humanoid/mercs/mercs_altevian.dm @@ -8,7 +8,7 @@ icon_dead = "merc-dead" icon_gib = "merc_gib" - faction = "altevian" + faction = FACTION_ALTEVIAN movement_cooldown = 1 status_flags = 0 @@ -27,7 +27,7 @@ armor = list(melee = 90, bullet = 90, laser = 90, energy = 90, bomb = 90, bio = 100, rad = 100) //matches stats of suit they drop. Basically tank. Rat tank. Ratank. corpse = /obj/effect/landmark/mobcorpse/altevian - loot_list = list(/obj/item/weapon/melee/energy/sword/altevian = 100) + loot_list = list(/obj/item/melee/energy/sword/altevian = 100) ai_holder_type = /datum/ai_holder/simple_mob/merc say_list_type = /datum/say_list/merc/altevian @@ -62,7 +62,7 @@ attacktext = list("whacked", "slammed", "bashed", "clonked", "bonked") attack_sound = 'sound/weapons/smash.ogg' - loot_list = list(/obj/item/weapon/tool/transforming/altevian = 100) + loot_list = list(/obj/item/tool/transforming/altevian = 100) /mob/living/simple_mob/humanoid/merc/altevian/ranged desc = "An Altevian Naval Salvage Guard, adorned in the top of the line Heartbreaker suit. Armed with a small energy gun." @@ -75,7 +75,7 @@ attack_armor_pen = 20 base_attack_cooldown = 8 - loot_list = list(/obj/item/weapon/gun/energy/altevian = 100) + loot_list = list(/obj/item/gun/energy/altevian = 100) needs_reload = TRUE reload_time = 1.5 SECONDS @@ -92,7 +92,7 @@ base_attack_cooldown = 8 - loot_list = list(/obj/item/weapon/gun/energy/altevian/large = 100) + loot_list = list(/obj/item/gun/energy/altevian/large = 100) needs_reload = TRUE reload_time = 3 SECONDS @@ -107,7 +107,7 @@ base_attack_cooldown = 10 - loot_list = list(/obj/item/weapon/storage/box/altevian_ammo = 100, /obj/item/weapon/gun/projectile/altevian = 100) + loot_list = list(/obj/item/storage/box/altevian_ammo = 100, /obj/item/gun/projectile/altevian = 100) needs_reload = TRUE reload_time = 5 SECONDS @@ -116,16 +116,16 @@ projectilesound = 'sound/weapons/Gunshot_heavy.ogg' /mob/living/simple_mob/humanoid/merc/altevian/neutral - faction = "neutral" + faction = FACTION_NEUTRAL /mob/living/simple_mob/humanoid/merc/altevian/sapper/neutral - faction = "neutral" + faction = FACTION_NEUTRAL /mob/living/simple_mob/humanoid/merc/altevian/ranged/neutral - faction = "neutral" + faction = FACTION_NEUTRAL /mob/living/simple_mob/humanoid/merc/altevian/ranged/strong/neutral - faction = "neutral" + faction = FACTION_NEUTRAL /mob/living/simple_mob/humanoid/merc/altevian/ranged/ballistic/neutral - faction = "neutral" + faction = FACTION_NEUTRAL diff --git a/code/modules/mob/living/simple_mob/subtypes/humanoid/pirates.dm b/code/modules/mob/living/simple_mob/subtypes/humanoid/pirates.dm index 253bfb73b8d..448b5a83b4e 100644 --- a/code/modules/mob/living/simple_mob/subtypes/humanoid/pirates.dm +++ b/code/modules/mob/living/simple_mob/subtypes/humanoid/pirates.dm @@ -6,7 +6,7 @@ icon_living = "piratemelee" icon_dead = "piratemelee_dead" - faction = "pirate" + faction = FACTION_PIRATE response_help = "pushes" response_disarm = "shoves" @@ -22,7 +22,7 @@ attacktext = list("slashed") attack_sound = 'sound/weapons/bladeslice.ogg' - loot_list = list(/obj/item/weapon/melee/energy/sword/pirate = 100) + loot_list = list(/obj/item/melee/energy/sword/pirate = 100) corpse = /obj/effect/landmark/mobcorpse/pirate @@ -35,6 +35,6 @@ projectiletype = /obj/item/projectile/beam projectilesound = 'sound/weapons/laser.ogg' - loot_list = list(/obj/item/weapon/gun/energy/laser = 100) + loot_list = list(/obj/item/gun/energy/laser = 100) - corpse = /obj/effect/landmark/mobcorpse/pirate/ranged \ No newline at end of file + corpse = /obj/effect/landmark/mobcorpse/pirate/ranged diff --git a/code/modules/mob/living/simple_mob/subtypes/humanoid/russian.dm b/code/modules/mob/living/simple_mob/subtypes/humanoid/russian.dm index 121e112a7aa..e14e60670b6 100644 --- a/code/modules/mob/living/simple_mob/subtypes/humanoid/russian.dm +++ b/code/modules/mob/living/simple_mob/subtypes/humanoid/russian.dm @@ -7,7 +7,7 @@ icon_dead = "russianmelee_dead" icon_gib = "syndicate_gib" - faction = "russian" + faction = FACTION_RUSSIAN response_help = "pokes" response_disarm = "shoves" @@ -19,7 +19,7 @@ melee_damage_upper = 15 attacktext = list("punched") - loot_list = list(/obj/item/weapon/material/knife = 100) + loot_list = list(/obj/item/material/knife = 100) corpse = /obj/effect/landmark/mobcorpse/russian @@ -31,6 +31,6 @@ casingtype = /obj/item/ammo_casing/spent projectilesound = 'sound/weapons/Gunshot4.ogg' - loot_list = list(/obj/item/weapon/gun/projectile/revolver/mateba = 100) + loot_list = list(/obj/item/gun/projectile/revolver/mateba = 100) - corpse = /obj/effect/landmark/mobcorpse/russian/ranged \ No newline at end of file + corpse = /obj/effect/landmark/mobcorpse/russian/ranged diff --git a/code/modules/mob/living/simple_mob/subtypes/illusion/illusion.dm b/code/modules/mob/living/simple_mob/subtypes/illusion/illusion.dm index cbc9293f9e5..3ee86c8d1ad 100644 --- a/code/modules/mob/living/simple_mob/subtypes/illusion/illusion.dm +++ b/code/modules/mob/living/simple_mob/subtypes/illusion/illusion.dm @@ -57,21 +57,21 @@ /mob/living/simple_mob/illusion/attack_hand(mob/living/carbon/human/M) if(!realistic) playsound(src, 'sound/weapons/punchmiss.ogg', 25, 1, -1) - visible_message(span("warning", "\The [M]'s hand goes through \the [src]!")) + visible_message(span_warning("\The [M]'s hand goes through \the [src]!")) return else switch(M.a_intent) if(I_HELP) var/datum/gender/T = gender_datums[src.get_visible_gender()] M.visible_message( - span("notice", "\The [M] hugs [src] to make [T.him] feel better!"), \ - span("notice", "You hug [src] to make [T.him] feel better!") + span_notice("\The [M] hugs [src] to make [T.him] feel better!"), \ + span_notice("You hug [src] to make [T.him] feel better!") ) // slightly redundant as at the moment most mobs still use the normal gender var, but it works and future-proofs it playsound(src, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) if(I_DISARM) playsound(src, 'sound/weapons/punchmiss.ogg', 25, 1, -1) - visible_message(span("danger", "\The [M] attempted to disarm [src]!")) + visible_message(span_danger("\The [M] attempted to disarm [src]!")) M.do_attack_animation(src) if(I_GRAB) @@ -79,7 +79,7 @@ if(I_HURT) adjustBruteLoss(harm_intent_damage) - M.visible_message(span("danger", "\The [M] [response_harm] \the [src]")) + M.visible_message(span_danger("\The [M] [response_harm] \the [src]")) M.do_attack_animation(src) /mob/living/simple_mob/illusion/hit_with_weapon(obj/item/I, mob/living/user, effective_force, hit_zone) @@ -87,7 +87,7 @@ return ..() playsound(src, 'sound/weapons/punchmiss.ogg', 25, 1, -1) - visible_message(span("warning", "\The [user]'s [I] goes through \the [src]!")) + visible_message(span_warning("\The [user]'s [I] goes through \the [src]!")) return FALSE /mob/living/simple_mob/illusion/ex_act() diff --git a/code/modules/mob/living/simple_mob/subtypes/mechanical/corrupt_maint_drone_vr.dm b/code/modules/mob/living/simple_mob/subtypes/mechanical/corrupt_maint_drone_vr.dm index 09c45811258..834f815cefc 100644 --- a/code/modules/mob/living/simple_mob/subtypes/mechanical/corrupt_maint_drone_vr.dm +++ b/code/modules/mob/living/simple_mob/subtypes/mechanical/corrupt_maint_drone_vr.dm @@ -26,7 +26,7 @@ icon_living = "corrupt-repairbot" hovering = FALSE // Can trigger landmines. - faction = "underdark" + faction = FACTION_UNDERDARK maxHealth = 25 health = 25 movement_cooldown = -1 @@ -62,7 +62,7 @@ // Does actual poison injection, after all checks passed. /mob/living/simple_mob/mechanical/corrupt_maint_drone/proc/inject_poison(mob/living/L, target_zone) if(prob(poison_chance)) - to_chat(L, "Something burns in your veins.") + to_chat(L, span_warning("Something burns in your veins.")) L.reagents.add_reagent(poison_type, poison_per_bite) diff --git a/code/modules/mob/living/simple_mob/subtypes/mechanical/disbot_vr.dm b/code/modules/mob/living/simple_mob/subtypes/mechanical/disbot_vr.dm index fbfedf1cd79..48babbe51a7 100644 --- a/code/modules/mob/living/simple_mob/subtypes/mechanical/disbot_vr.dm +++ b/code/modules/mob/living/simple_mob/subtypes/mechanical/disbot_vr.dm @@ -34,7 +34,7 @@ response_help = "pets the" response_disarm = "gently pushes aside the" response_harm = "hits the" - faction = "vagrant" + faction = FACTION_VAGRANT harm_intent_damage = 3 melee_damage_lower = 6 melee_damage_upper = 9 @@ -66,5 +66,5 @@ // Does actual poison injection, after all checks passed. /mob/living/simple_mob/mechanical/infectionbot/proc/inject_poison(mob/living/L, target_zone) if(prob(poison_chance)) - to_chat(L, "You feel a tiny prick.") + to_chat(L, span_warning("You feel a tiny prick.")) L.reagents.add_reagent(poison_type, poison_per_bite) diff --git a/code/modules/mob/living/simple_mob/subtypes/mechanical/drones/combat_drone.dm b/code/modules/mob/living/simple_mob/subtypes/mechanical/drones/combat_drone.dm index 1d37471dbf4..8325667df10 100644 --- a/code/modules/mob/living/simple_mob/subtypes/mechanical/drones/combat_drone.dm +++ b/code/modules/mob/living/simple_mob/subtypes/mechanical/drones/combat_drone.dm @@ -39,7 +39,7 @@ icon_dead = "drone_dead" has_eye_glow = TRUE - faction = "malf_drone" + faction = FACTION_MALF_DRONE maxHealth = 50 // Shield has 150 for total of 200. health = 50 diff --git a/code/modules/mob/living/simple_mob/subtypes/mechanical/drones/mining_drone.dm b/code/modules/mob/living/simple_mob/subtypes/mechanical/drones/mining_drone.dm index 77503cfb0da..d4d619fbb83 100644 --- a/code/modules/mob/living/simple_mob/subtypes/mechanical/drones/mining_drone.dm +++ b/code/modules/mob/living/simple_mob/subtypes/mechanical/drones/mining_drone.dm @@ -25,7 +25,7 @@ icon_dead = "miningdrone_dead" has_eye_glow = TRUE - faction = "malf_drone" + faction = FACTION_MALF_DRONE maxHealth = 50 health = 50 @@ -46,35 +46,35 @@ say_list_type = /datum/say_list/malf_drone/mining tame_items = list( - /obj/item/weapon/ore/verdantium = 90, - /obj/item/weapon/ore/hydrogen = 90, - /obj/item/weapon/ore/osmium = 70, - /obj/item/weapon/ore/diamond = 70, - /obj/item/weapon/ore/gold = 55, - /obj/item/weapon/ore/silver = 55, - /obj/item/weapon/ore/lead = 40, - /obj/item/weapon/ore/marble = 30, - /obj/item/weapon/ore/coal = 25, - /obj/item/weapon/ore/iron = 25, - /obj/item/weapon/ore/glass = 15, - /obj/item/weapon/ore = 5 + /obj/item/ore/verdantium = 90, + /obj/item/ore/hydrogen = 90, + /obj/item/ore/osmium = 70, + /obj/item/ore/diamond = 70, + /obj/item/ore/gold = 55, + /obj/item/ore/silver = 55, + /obj/item/ore/lead = 40, + /obj/item/ore/marble = 30, + /obj/item/ore/coal = 25, + /obj/item/ore/iron = 25, + /obj/item/ore/glass = 15, + /obj/item/ore = 5 ) var/datum/effect/effect/system/ion_trail_follow/ion_trail = null var/obj/item/shield_projector/shields = null - var/obj/item/weapon/storage/bag/ore/my_storage = null + var/obj/item/storage/bag/ore/my_storage = null var/last_search = 0 var/search_cooldown = 5 SECONDS var/ignoreunarmed = TRUE - var/allowedtools = list(/obj/item/weapon/pickaxe, /obj/item/weapon/gun/energy/kinetic_accelerator, /obj/item/weapon/gun/magnetic/matfed/phoronbore, /obj/item/weapon/kinetic_crusher, /obj/item/weapon/melee/shock_maul) + var/allowedtools = list(/obj/item/pickaxe, /obj/item/gun/energy/kinetic_accelerator, /obj/item/gun/magnetic/matfed/phoronbore, /obj/item/kinetic_crusher, /obj/item/melee/shock_maul) /mob/living/simple_mob/mechanical/mining_drone/Initialize() ion_trail = new ion_trail.set_up(src) ion_trail.start() - my_storage = new /obj/item/weapon/storage/bag/ore(src) + my_storage = new /obj/item/storage/bag/ore(src) shields = new /obj/item/shield_projector/rectangle/automatic/drone(src) return ..() @@ -106,7 +106,7 @@ var/has_tool = FALSE var/obj/item/I = H.get_active_hand() - if(!istype(I,/obj/item/weapon)) + if(!istype(I,/obj/item)) if(ignoreunarmed) return TRUE else //just so they don't attack "miners" for having their mining gear in their offhand @@ -155,12 +155,12 @@ if(my_storage.contents.len >= my_storage.max_storage_space) break - if((locate(/obj/item/weapon/ore) in T) && prob(40)) + if((locate(/obj/item/ore) in T) && prob(40)) src.Beam(T, icon_state = "holo_beam", time = 0.5 SECONDS) my_storage.rangedload(T, src) if(my_storage.contents.len >= my_storage.max_storage_space) - visible_message("\The [src] emits a shrill beep, indicating its storage is full.") + visible_message(span_infoplain(span_bold("\The [src]") + " emits a shrill beep, indicating its storage is full.")) var/obj/structure/ore_box/OB = locate() in view(2, src) @@ -178,5 +178,5 @@ /mob/living/simple_mob/mechanical/mining_drone/scavenger //more aggro version for the debris field, with a weaker weapon name = "scavenger drone" ignoreunarmed = FALSE - allowedtools = list(/obj/item/weapon/pickaxe) + allowedtools = list(/obj/item/pickaxe) projectiletype = /obj/item/projectile/energy/excavate/weak diff --git a/code/modules/mob/living/simple_mob/subtypes/mechanical/golem.dm b/code/modules/mob/living/simple_mob/subtypes/mechanical/golem.dm index a0ceb1b1af0..439b50bf630 100644 --- a/code/modules/mob/living/simple_mob/subtypes/mechanical/golem.dm +++ b/code/modules/mob/living/simple_mob/subtypes/mechanical/golem.dm @@ -8,7 +8,7 @@ health = 300 maxHealth = 300 - faction = "golem" + faction = FACTION_GOLEM response_help = "pets" response_disarm = "pushes away" @@ -32,29 +32,29 @@ ai_holder_type = /datum/ai_holder/simple_mob/melee - var/obj/item/weapon/technomancer_core/golem/core = null - var/obj/item/weapon/spell/active_spell = null // Shield and ranged spells + var/obj/item/technomancer_core/golem/core = null + var/obj/item/spell/active_spell = null // Shield and ranged spells var/mob/living/master = null var/casting = FALSE // Used to ensure the correct animation is played. Testing if a spell exists won't always work as some spells delete themselves upon use. var/list/known_spells = list( - "beam" = /obj/item/weapon/spell/projectile/beam, - "chain lightning" = /obj/item/weapon/spell/projectile/chain_lightning, - "force missile" = /obj/item/weapon/spell/projectile/force_missile, - "ionic bolt" = /obj/item/weapon/spell/projectile/ionic_bolt, - "lightning" = /obj/item/weapon/spell/projectile/lightning, - "blink" = /obj/item/weapon/spell/blink, - "dispel" = /obj/item/weapon/spell/dispel, - "oxygenate" = /obj/item/weapon/spell/oxygenate, - "mend life" = /obj/item/weapon/spell/modifier/mend_life, - "mend synthetic" = /obj/item/weapon/spell/modifier/mend_synthetic, - "mend organs" = /obj/item/weapon/spell/mend_organs, - "purify" = /obj/item/weapon/spell/modifier/purify, - "resurrect" = /obj/item/weapon/spell/resurrect, - "passwall" = /obj/item/weapon/spell/passwall, - "repel missiles" = /obj/item/weapon/spell/modifier/repel_missiles, - "corona" = /obj/item/weapon/spell/modifier/corona, - "haste" = /obj/item/weapon/spell/modifier/haste + "beam" = /obj/item/spell/projectile/beam, + "chain lightning" = /obj/item/spell/projectile/chain_lightning, + "force missile" = /obj/item/spell/projectile/force_missile, + "ionic bolt" = /obj/item/spell/projectile/ionic_bolt, + "lightning" = /obj/item/spell/projectile/lightning, + "blink" = /obj/item/spell/blink, + "dispel" = /obj/item/spell/dispel, + "oxygenate" = /obj/item/spell/oxygenate, + "mend life" = /obj/item/spell/modifier/mend_life, + "mend synthetic" = /obj/item/spell/modifier/mend_synthetic, + "mend organs" = /obj/item/spell/mend_organs, + "purify" = /obj/item/spell/modifier/purify, + "resurrect" = /obj/item/spell/resurrect, + "passwall" = /obj/item/spell/passwall, + "repel missiles" = /obj/item/spell/modifier/repel_missiles, + "corona" = /obj/item/spell/modifier/corona, + "haste" = /obj/item/spell/modifier/haste ) /mob/living/simple_mob/mechanical/technomancer_golem/Initialize() diff --git a/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/hivebot.dm b/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/hivebot.dm index 7c5f3a6cf73..721af03e3de 100644 --- a/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/hivebot.dm +++ b/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/hivebot.dm @@ -5,7 +5,7 @@ icon_state = "basic" icon_living = "basic" - faction = "hivebot" + faction = FACTION_HIVEBOT maxHealth = 3 LASERS_TO_KILL health = 3 LASERS_TO_KILL @@ -23,7 +23,7 @@ /mob/living/simple_mob/mechanical/hivebot/death() ..() - visible_message(span("warning","\The [src] blows apart!")) + visible_message(span_warning("\The [src] blows apart!")) new /obj/effect/decal/cleanable/blood/gibs/robot(src.loc) var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread s.set_up(3, 1, src) diff --git a/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/support.dm b/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/support.dm index d5951723ddb..565c4ee004e 100644 --- a/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/support.dm +++ b/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/support.dm @@ -32,8 +32,8 @@ // The boost is lost if the commander is too far away or dies. /datum/modifier/aura/hivebot_commander_buff name = "Strategicals" - on_created_text = "Signal established with commander. Optimizating combat performance..." - on_expired_text = "Lost signal to commander. Optimization halting." + on_created_text = span_notice("Signal established with commander. Optimizating combat performance...") + on_expired_text = span_warning("Lost signal to commander. Optimization halting.") stacks = MODIFIER_STACK_FORBID aura_max_distance = 4 mob_overlay_state = "signal_blue" @@ -82,8 +82,8 @@ if(IIsAlly(SM)) // Don't resupply enemies. if(!isnull(SM.special_attack_charges) && SM.special_attack_charges < initial(SM.special_attack_charges)) SM.special_attack_charges += 1 - to_chat(SM, span("notice", "\The [src] has resupplied you, and you can use your special ability one additional time.")) - to_chat(src, span("notice", "You have resupplied \the [SM].")) + to_chat(SM, span_notice("\The [src] has resupplied you, and you can use your special ability one additional time.")) + to_chat(src, span_notice("You have resupplied \the [SM].")) last_resupply = world.time break // Only one resupply per pulse. @@ -99,12 +99,12 @@ say_list_type = /datum/say_list/hivebot/harry melee_damage_lower = 0 melee_damage_upper = 0 - faction = "Station" + faction = FACTION_STATION water_resist = 1 //Harry lives under the sea! /mob/living/simple_mob/mechanical/hivebot/support/harry/death() ..() - visible_message(span("Connection... terminated... Sweet Release... obtained.","\The [src] blows apart!")) + visible_message(span_warning("Connection... terminated... Sweet Release... obtained."),span_danger("\The [src] blows apart!")) new /obj/effect/decal/cleanable/blood/gibs/robot(src.loc) var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread s.set_up(3, 1, src) diff --git a/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/tank.dm b/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/tank.dm index 81e46f8d631..a8f0e30ceb9 100644 --- a/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/tank.dm +++ b/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/tank.dm @@ -23,8 +23,8 @@ /datum/modifier/hivebot_weaken name = "Shocked" desc = "You feel less able to exert yourself after being prodded." - on_created_text = "You feel weak..." - on_expired_text = "You feel better." + on_created_text = span_warning("You feel weak...") + on_expired_text = span_notice("You feel better.") stacks = MODIFIER_STACK_EXTEND mob_overlay_state = "electricity" @@ -152,8 +152,8 @@ if(istype(P, /obj/item/projectile/energy) || istype(P, /obj/item/projectile/beam)) var/reflect_prob = reflect_chance - round(P.damage/3) if(prob(reflect_prob)) - visible_message(span("danger", "The [P.name] gets reflected by [src]'s armor!"), \ - span("userdanger", "The [P.name] gets reflected by [src]'s armor!")) + visible_message(span_danger("The [P.name] gets reflected by [src]'s armor!"), \ + span_userdanger("The [P.name] gets reflected by [src]'s armor!")) // Find a turf near or on the original location to bounce to if(P.starting) diff --git a/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/adv_dark_gygax.dm b/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/adv_dark_gygax.dm index 653abae3eb9..d9e56fcca1e 100644 --- a/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/adv_dark_gygax.dm +++ b/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/adv_dark_gygax.dm @@ -150,7 +150,7 @@ energy_ball.adjust_scale(0.5) energy_ball.orbit(src, 32, TRUE, 1 SECOND) - visible_message(span("warning", "\The [src] creates \an [energy_ball] around itself!")) + visible_message(span_warning("\The [src] creates \an [energy_ball] around itself!")) playsound(src, 'sound/effects/lightning_chargeup.ogg', 100, 1, extrarange = 30) @@ -178,7 +178,7 @@ sleep(1 SECOND) // Shoot a tesla bolt, and flashes people who are looking at the mecha without sufficent eye protection. - visible_message(span("warning", "\The [energy_ball] explodes in a flash of light, sending a shock everywhere!")) + visible_message(span_warning("\The [energy_ball] explodes in a flash of light, sending a shock everywhere!")) playsound(src, 'sound/effects/lightningbolt.ogg', 100, 1, extrarange = 30) tesla_zap(src.loc, 5, ELECTRIC_ZAP_POWER, FALSE) for(var/mob/living/L in viewers(src)) @@ -186,7 +186,7 @@ continue var/dir_towards_us = get_dir(L, src) if(L.dir && L.dir & dir_towards_us) - to_chat(L, span("danger", "The flash of light blinds you briefly.")) + to_chat(L, span_danger("The flash of light blinds you briefly.")) L.flash_eyes(intensity = FLASH_PROTECTION_MODERATE, override_blindness_check = FALSE, affect_silicon = TRUE) // Get rid of our energy ball. @@ -204,7 +204,7 @@ // Telegraph our next move. Beam(target, icon_state = "sat_beam", time = 3.5 SECONDS, maxdistance = INFINITY) - visible_message(span("warning", "\The [src] deploys a missile rack!")) + visible_message(span_warning("\The [src] deploys a missile rack!")) playsound(src, 'sound/effects/turret/move1.wav', 50, 1) sleep(0.5 SECONDS) @@ -212,7 +212,7 @@ if(target) // Might get deleted in the meantime. var/turf/T = get_turf(target) if(T) - visible_message(span("warning", "\The [src] fires a rocket into the air!")) + visible_message(span_warning("\The [src] fires a rocket into the air!")) playsound(src, 'sound/weapons/rpg.ogg', 70, 1) face_atom(T) var/obj/item/projectile/arc/explosive_rocket/rocket = new(loc) @@ -220,7 +220,7 @@ rocket.fire() sleep(1 SECOND) - visible_message(span("warning", "\The [src] retracts the missile rack.")) + visible_message(span_warning("\The [src] retracts the missile rack.")) playsound(src, 'sound/effects/turret/move2.wav', 50, 1) // Arcing rocket projectile that produces a weak explosion when it lands. @@ -235,7 +235,7 @@ /mob/living/simple_mob/mechanical/mecha/combat/gygax/dark/advanced/proc/launch_microsingularity(atom/target) var/turf/T = get_turf(target) - visible_message(span("warning", "\The [src] fires an energetic sphere into the air!")) + visible_message(span_warning("\The [src] fires an energetic sphere into the air!")) playsound(src, 'sound/weapons/Laser.ogg', 50, 1) face_atom(T) var/obj/item/projectile/arc/microsingulo/sphere = new(loc) diff --git a/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/adv_dark_gygax_vr.dm b/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/adv_dark_gygax_vr.dm index e7ecc333320..36228de1c30 100644 --- a/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/adv_dark_gygax_vr.dm +++ b/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/adv_dark_gygax_vr.dm @@ -4,5 +4,5 @@ /mob/living/simple_mob/mechanical/mecha/combat/gygax/dark/advanced/recursive name = "recursive dark gygax" desc = "Whoever pilots this cursed mecha has been stuck in eternal loop of death and rebirth forever. Their maddened rampage cannot be stopped." - wreckage = /obj/item/weapon/ectoplasm + wreckage = /obj/item/ectoplasm pilot_type = /mob/living/simple_mob/mechanical/mecha/combat/gygax/dark/advanced/recursive diff --git a/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/combat_mecha.dm b/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/combat_mecha.dm index ecefa62de54..ad6aec2a8f8 100644 --- a/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/combat_mecha.dm +++ b/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/combat_mecha.dm @@ -28,11 +28,11 @@ if(isliving(A)) var/mob/living/L = A if(L.mob_size <= MOB_MEDIUM) - visible_message(span("danger", "\The [src] sends \the [L] flying with their mechanized fist!")) + visible_message(span_danger("\The [src] sends \the [L] flying with their mechanized fist!")) playsound(src, "punch", 50, 1) L.Weaken(weaken_amount) var/throw_dir = get_dir(src, L) var/throw_dist = L.incapacitated(INCAPACITATION_DISABLED) ? 4 : 1 L.throw_at(get_edge_target_turf(L, throw_dir), throw_dist, 1, src) else - to_chat(L, span("warning", "\The [src] punches you with incredible force, but you remain in place.")) + to_chat(L, span_warning("\The [src] punches you with incredible force, but you remain in place.")) diff --git a/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/durand.dm b/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/durand.dm index 97d659f7e87..86a6ad2c659 100644 --- a/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/durand.dm +++ b/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/durand.dm @@ -48,11 +48,11 @@ defense_mode = new_mode deflect_chance = defense_mode ? defense_deflect : initial(deflect_chance) projectile_accuracy = defense_mode ? -10 : initial(projectile_accuracy) - to_chat(src, span("notice", "You [defense_mode ? "en" : "dis"]able defense mode.")) + to_chat(src, span_notice("You [defense_mode ? "en" : "dis"]able defense mode.")) /mob/living/simple_mob/mechanical/mecha/combat/durand/SelfMove(turf/n, direct) if(defense_mode) - to_chat(src, span("warning", "You are in defense mode, you cannot move.")) + to_chat(src, span_warning("You are in defense mode, you cannot move.")) return FALSE return ..() @@ -60,7 +60,7 @@ /mob/living/simple_mob/mechanical/mecha/combat/durand/verb/toggle_defense_mode() set name = "Toggle Defense Mode" set desc = "Toggles a special mode which makes you immobile and much more resilient." - set category = "Abilities" + set category = "Abilities.Durand" set_defense_mode(!defense_mode) diff --git a/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/mecha.dm b/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/mecha.dm index d5725084331..91866604109 100644 --- a/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/mecha.dm +++ b/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/mecha.dm @@ -7,7 +7,7 @@ desc = "A big stompy mech!" icon = 'icons/mecha/mecha.dmi' - faction = "syndicate" + faction = FACTION_SYNDICATE movement_cooldown = 1.5 movement_sound = "mechstep" // This gets fed into playsound(), which can also take strings as a 'group' of sound files. turn_sound = 'sound/mecha/mechturn.ogg' @@ -115,7 +115,7 @@ /mob/living/simple_mob/mechanical/mecha/bullet_act(obj/item/projectile/P) if(prob(deflect_chance)) - visible_message(span("warning", "\The [P] is deflected by \the [src]'s armor!")) + visible_message(span_warning("\The [P] is deflected by \the [src]'s armor!")) deflect_sprite() return 0 return ..() @@ -130,7 +130,7 @@ /mob/living/simple_mob/mechanical/mecha/attackby(obj/item/I, mob/user) if(prob(deflect_chance)) - visible_message(span("warning", "\The [user]'s [I] bounces off \the [src]'s armor!")) + visible_message(span_warning("\The [user]'s [I] bounces off \the [src]'s armor!")) deflect_sprite() user.setClickCooldown(user.get_attack_speed(I)) return diff --git a/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/odysseus.dm b/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/odysseus.dm index 736bc6caf51..396df5cdc9a 100644 --- a/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/odysseus.dm +++ b/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/odysseus.dm @@ -53,7 +53,7 @@ var/target_zone = pick(BP_TORSO,BP_TORSO,BP_TORSO,BP_L_LEG,BP_R_LEG,BP_L_ARM,BP_R_ARM,BP_HEAD) if(L.can_inject(src, null, target_zone)) - to_chat(L, span("warning", "You feel a tiny prick.")) + to_chat(L, span_warning("You feel a tiny prick.")) if(L.get_poison_protection() < 1) L.add_modifier(/datum/modifier/poisoned, 30 SECONDS) L.inflict_poison_damage(5) @@ -71,7 +71,7 @@ var/mob/living/L = target if(!L.can_inject(null, null, def_zone, piercing)) return FALSE - to_chat(L, span("warning", "You feel a tiny prick.")) + to_chat(L, span_warning("You feel a tiny prick.")) return ..() // This will add the modifier and return the correct value. diff --git a/code/modules/mob/living/simple_mob/subtypes/mechanical/viscerator.dm b/code/modules/mob/living/simple_mob/subtypes/mechanical/viscerator.dm index 629b1c1f603..d1163abd426 100644 --- a/code/modules/mob/living/simple_mob/subtypes/mechanical/viscerator.dm +++ b/code/modules/mob/living/simple_mob/subtypes/mechanical/viscerator.dm @@ -27,7 +27,7 @@ icon_living = "viscerator_attack" hovering = TRUE // Won't trigger landmines. - faction = "syndicate" + faction = FACTION_SYNDICATE maxHealth = 15 health = 15 movement_cooldown = -2 @@ -73,7 +73,7 @@ icon_state = "viscerator_b_attack" icon_living = "viscerator_b_attack" - faction = "station" + faction = FACTION_STATION maxHealth = 20 health = 20 diff --git a/code/modules/mob/living/simple_mob/subtypes/mechanical/wahlem_vr.dm b/code/modules/mob/living/simple_mob/subtypes/mechanical/wahlem_vr.dm index b731653cc66..b9b22a16186 100644 --- a/code/modules/mob/living/simple_mob/subtypes/mechanical/wahlem_vr.dm +++ b/code/modules/mob/living/simple_mob/subtypes/mechanical/wahlem_vr.dm @@ -8,7 +8,7 @@ health = 300 maxHealth = 300 - faction = "golem" + faction = FACTION_GOLEM response_help = "brushes over" response_disarm = "repulses away" diff --git a/code/modules/mob/living/simple_mob/subtypes/mechanical/ward/monitor_ward.dm b/code/modules/mob/living/simple_mob/subtypes/mechanical/ward/monitor_ward.dm index 21f5e787223..c166bba7ddf 100644 --- a/code/modules/mob/living/simple_mob/subtypes/mechanical/ward/monitor_ward.dm +++ b/code/modules/mob/living/simple_mob/subtypes/mechanical/ward/monitor_ward.dm @@ -40,13 +40,13 @@ // For PoIs. /mob/living/simple_mob/mechanical/ward/monitor/syndicate - faction = "syndicate" + faction = FACTION_SYNDICATE /mob/living/simple_mob/mechanical/ward/monitor/crew icon_state = "ward-nt" /mob/living/simple_mob/mechanical/ward/monitor/crew/attackby(var/obj/item/O as obj, var/mob/user as mob) - if(istype(O, /obj/item/weapon/card/id) && !owner) + if(istype(O, /obj/item/card/id) && !owner) owner = user return ..() @@ -60,7 +60,7 @@ /mob/living/simple_mob/mechanical/ward/monitor/death() if(owner) - to_chat(owner, span("warning", "Your [src.name] inside [get_area(src)] was destroyed!")) + to_chat(owner, span_warning("Your [src.name] inside [get_area(src)] was destroyed!")) ..() /mob/living/simple_mob/mechanical/ward/monitor/handle_special() @@ -96,9 +96,9 @@ playsound(L, 'sound/effects/EMPulse.ogg', 75, 1) L.break_cloak() - to_chat(L, span("danger", "\The [src] disrupts your cloak!")) + to_chat(L, span_danger("\The [src] disrupts your cloak!")) if(owner) - to_chat(owner, span("notice", "Your [src.name] at [get_area(src)] uncloaked \the [L].")) + to_chat(owner, span_notice("Your [src.name] at [get_area(src)] uncloaked \the [L].")) // Warn the owner when it sees a new mob. if(!(L in seen_mobs)) @@ -106,7 +106,7 @@ newly_seen_mobs += L if(newly_seen_mobs.len && owner) // Yell at our owner if someone new shows up. - to_chat(owner, span("notice", "Your [src.name] at [get_area(src)] detected [english_list(newly_seen_mobs)].")) + to_chat(owner, span_notice("Your [src.name] at [get_area(src)] detected [english_list(newly_seen_mobs)].")) // Now get rid of old mobs that left vision. for(var/thing in seen_mobs) diff --git a/code/modules/mob/living/simple_mob/subtypes/mechanical/ward/ward.dm b/code/modules/mob/living/simple_mob/subtypes/mechanical/ward/ward.dm index 79aba5ce9d1..84ecc23938d 100644 --- a/code/modules/mob/living/simple_mob/subtypes/mechanical/ward/ward.dm +++ b/code/modules/mob/living/simple_mob/subtypes/mechanical/ward/ward.dm @@ -13,7 +13,7 @@ response_help = "pets" response_disarm = "swats away" response_harm = "punches" - faction = "wards" // Needed as most human mobs are in neutral faction. The owner is generally except from any ward hostility regardless. + faction = FACTION_WARDS // Needed as most human mobs are in neutral faction. The owner is generally except from any ward hostility regardless. organ_names = /decl/mob_organ_names/ward diff --git a/code/modules/mob/living/simple_mob/subtypes/occult/constructs/_construct.dm b/code/modules/mob/living/simple_mob/subtypes/occult/constructs/_construct.dm index f8e2ce6220b..d62100fd764 100644 --- a/code/modules/mob/living/simple_mob/subtypes/occult/constructs/_construct.dm +++ b/code/modules/mob/living/simple_mob/subtypes/occult/constructs/_construct.dm @@ -54,7 +54,7 @@ "rad" = 100) can_be_antagged = TRUE - faction = "cult" + faction = FACTION_CULT supernatural = TRUE @@ -66,8 +66,8 @@ if(!path || !ispath(path)) return 0 - //var/obj/item/weapon/spell/S = new path(src) - var/obj/item/weapon/spell/construct/S = new path(src) + //var/obj/item/spell/S = new path(src) + var/obj/item/spell/construct/S = new path(src) //No hands needed for innate casts. if(S.cast_methods & CAST_INNATE) @@ -75,16 +75,16 @@ S.on_innate_cast(src) if(l_hand && r_hand) //Make sure our hands aren't full. - if(istype(r_hand, /obj/item/weapon/spell)) //If they are full, perhaps we can still be useful. - var/obj/item/weapon/spell/r_spell = r_hand + if(istype(r_hand, /obj/item/spell)) //If they are full, perhaps we can still be useful. + var/obj/item/spell/r_spell = r_hand if(r_spell.aspect == ASPECT_CHROMATIC) //Check if we can combine the new spell with one in our hands. r_spell.on_combine_cast(S, src) - else if(istype(l_hand, /obj/item/weapon/spell)) - var/obj/item/weapon/spell/l_spell = l_hand + else if(istype(l_hand, /obj/item/spell)) + var/obj/item/spell/l_spell = l_hand if(l_spell.aspect == ASPECT_CHROMATIC) //Check the other hand too. l_spell.on_combine_cast(S, src) else //Welp - to_chat(src, "You require a free manipulator to use this power.") + to_chat(src, span_warning("You require a free manipulator to use this power.")) return 0 if(S.run_checks()) @@ -113,7 +113,7 @@ */ /mob/living/simple_mob/construct/death() - new /obj/item/weapon/ectoplasm (src.loc) + new /obj/item/ectoplasm (src.loc) ..(null,"collapses in a shattered heap.") ghostize() qdel(src) @@ -126,9 +126,9 @@ var/repair_upper_bound = A.melee_damage_upper * -1 adjustBruteLoss(rand(repair_lower_bound, repair_upper_bound)) adjustFireLoss(rand(repair_lower_bound, repair_upper_bound)) - user.visible_message("\The [user] mends some of \the [src]'s wounds.") + user.visible_message(span_infoplain(span_bold("\The [user]") + " mends some of \the [src]'s wounds.")) else - to_chat(user, "\The [src] is undamaged.") + to_chat(user, span_notice("\The [src] is undamaged.")) return return ..() @@ -137,9 +137,9 @@ var/max = getMaxHealth() if (health < max) if (health >= max/2) - . += "It looks slightly dented." + . += span_warning("It looks slightly dented.") else - . += "It looks severely dented!" + . += span_boldwarning("It looks severely dented!") //Constructs levitate, can fall from a shuttle with no harm, and are piloted by either damned spirits or some otherworldly entity. Let 'em float in space. /mob/living/simple_mob/construct/Process_Spacemove() @@ -155,4 +155,4 @@ /mob/living/simple_mob/construct/proc/remove_glow() cut_overlays() -*/ \ No newline at end of file +*/ diff --git a/code/modules/mob/living/simple_mob/subtypes/occult/constructs/juggernaut.dm b/code/modules/mob/living/simple_mob/subtypes/occult/constructs/juggernaut.dm index 1dc8897efbe..a1a7fbe3a7d 100644 --- a/code/modules/mob/living/simple_mob/subtypes/occult/constructs/juggernaut.dm +++ b/code/modules/mob/living/simple_mob/subtypes/occult/constructs/juggernaut.dm @@ -58,17 +58,17 @@ var/armorcheck = run_armor_check(null, P.check_armour) var/soakedcheck = get_armor_soak(null, P.check_armour) if(!(istype(P, /obj/item/projectile/energy) || istype(P, /obj/item/projectile/beam))) - visible_message("The [P.name] bounces off of [src]'s shell!", \ - "The [P.name] bounces off of [src]'s shell!") - new /obj/item/weapon/material/shard/shrapnel(src.loc) + visible_message(span_danger("The [P.name] bounces off of [src]'s shell!"), \ + span_userdanger("The [P.name] bounces off of [src]'s shell!")) + new /obj/item/material/shard/shrapnel(src.loc) if(!(P.damage_type == BRUTE || P.damage_type == BURN)) projectile_dam_type = BRUTE incoming_damage = round(incoming_damage / 4) //Damage from strange sources is converted to brute for physical projectiles, though severely decreased. apply_damage(incoming_damage, projectile_dam_type, null, armorcheck, soakedcheck, is_sharp(P), has_edge(P), P) return -1 //Doesn't reflect non-beams or non-energy projectiles. They just smack and drop with little to no effect. else - visible_message("The [P.name] gets reflected by [src]'s shell!", \ - "The [P.name] gets reflected by [src]'s shell!") + visible_message(span_danger("The [P.name] gets reflected by [src]'s shell!"), \ + span_userdanger("The [P.name] gets reflected by [src]'s shell!")) damage_mod = rand(3,5) incoming_damage = (round(P.damage / damage_mod) - (round((P.damage / damage_mod) * 0.3))) if(!(P.damage_type == BRUTE || P.damage_type == BURN)) @@ -127,8 +127,8 @@ /mob/living/simple_mob/construct/juggernaut/behemoth/bullet_act(var/obj/item/projectile/P) var/reflectchance = 80 - round(P.damage/3) if(prob(reflectchance)) - visible_message("The [P.name] gets reflected by [src]'s shell!", \ - "The [P.name] gets reflected by [src]'s shell!") + visible_message(span_danger("The [P.name] gets reflected by [src]'s shell!"), \ + span_userdanger("The [P.name] gets reflected by [src]'s shell!")) // Find a turf near or on the original location to bounce to if(P.starting) diff --git a/code/modules/mob/living/simple_mob/subtypes/occult/constructs/shade.dm b/code/modules/mob/living/simple_mob/subtypes/occult/constructs/shade.dm index df9bed2d6a5..b081a481490 100644 --- a/code/modules/mob/living/simple_mob/subtypes/occult/constructs/shade.dm +++ b/code/modules/mob/living/simple_mob/subtypes/occult/constructs/shade.dm @@ -30,11 +30,11 @@ universal_speak = 1 - loot_list = list(/obj/item/weapon/ectoplasm = 100) + loot_list = list(/obj/item/ectoplasm = 100) /mob/living/simple_mob/construct/shade/attackby(var/obj/item/O as obj, var/mob/user as mob) - if(istype(O, /obj/item/device/soulstone)) - var/obj/item/device/soulstone/S = O; + if(istype(O, /obj/item/soulstone)) + var/obj/item/soulstone/S = O; S.transfer_soul("SHADE", src, user) return ..() diff --git a/code/modules/mob/living/simple_mob/subtypes/occult/creature.dm b/code/modules/mob/living/simple_mob/subtypes/occult/creature.dm index 9151ea6e2ed..1336cc719fe 100644 --- a/code/modules/mob/living/simple_mob/subtypes/occult/creature.dm +++ b/code/modules/mob/living/simple_mob/subtypes/occult/creature.dm @@ -8,7 +8,7 @@ mob_class = MOB_CLASS_ABERRATION - faction = "creature" + faction = FACTION_CREATURE maxHealth = 40 health = 40 @@ -43,7 +43,7 @@ /mob/living/simple_mob/creature/cult mob_class = MOB_CLASS_DEMONIC - faction = "cult" + faction = FACTION_CULT min_oxy = 0 max_oxy = 0 @@ -70,4 +70,4 @@ melee_damage_upper = 25 /decl/mob_organ_names/abberation - hit_zones = list("fleshy mass", "maw", "eye(?)", "orifice(?)") \ No newline at end of file + hit_zones = list("fleshy mass", "maw", "eye(?)", "orifice(?)") diff --git a/code/modules/mob/living/simple_mob/subtypes/occult/faithless.dm b/code/modules/mob/living/simple_mob/subtypes/occult/faithless.dm index 0ee4daf4330..b61bb57dcf8 100644 --- a/code/modules/mob/living/simple_mob/subtypes/occult/faithless.dm +++ b/code/modules/mob/living/simple_mob/subtypes/occult/faithless.dm @@ -5,7 +5,7 @@ icon_living = "faithless" icon_dead = "faithless_dead" - faction = "faithless" + faction = FACTION_FAITHLESS mob_class = MOB_CLASS_DEMONIC @@ -50,7 +50,7 @@ var/mob/living/L = A if(prob(12)) L.Weaken(3) - L.visible_message("\The [src] knocks down \the [L]!") + L.visible_message(span_danger("\The [src] knocks down \the [L]!")) // Strong Variant /mob/living/simple_mob/faithless/strong @@ -63,7 +63,7 @@ // Cult Variant /mob/living/simple_mob/faithless/cult - faction = "cult" + faction = FACTION_CULT supernatural = TRUE /mob/living/simple_mob/faithless/cult/cultify() @@ -79,4 +79,4 @@ melee_damage_upper = 28 /decl/mob_organ_names/faithless - hit_zones = list("body", "left appendage", "right appendage", "shadowy tendrils", "head", "right stump", "left stump", "infernal eye") \ No newline at end of file + hit_zones = list("body", "left appendage", "right appendage", "shadowy tendrils", "head", "right stump", "left stump", "infernal eye") diff --git a/code/modules/mob/living/simple_mob/subtypes/occult/unknown.dm b/code/modules/mob/living/simple_mob/subtypes/occult/unknown.dm index f6c65b9ed3e..b359d9a4586 100644 --- a/code/modules/mob/living/simple_mob/subtypes/occult/unknown.dm +++ b/code/modules/mob/living/simple_mob/subtypes/occult/unknown.dm @@ -15,7 +15,7 @@ icon_living = "glitch_boss" icon_dead = "glitch_boss_dead" - faction = "MATH" + faction = FACTION_MATH maxHealth = 2000 health = 2000 @@ -39,7 +39,7 @@ var/recently_used_attack = GA_SPEEDUP var/all_special_attacks = list(GA_ADS, GA_CALLDOWN, GA_LINES, GA_BULLETHELL, GA_ILLUSION, GA_CONFUSION, GA_SPEEDUP) - loot_list = list(/obj/item/device/nif/glitch = 100) + loot_list = list(/obj/item/nif/glitch = 100) /obj/item/projectile/energy/slow_orb name = "TROJAN" @@ -203,13 +203,13 @@ if(target && istype(target)) if(target.client) - to_chat(target, "You feel as though you are losing your sense of direction! Brace yourself!") + to_chat(target, span_critical("You feel as though you are losing your sense of direction! Brace yourself!")) new /obj/effect/temp_visual/pre_confuse(get_turf(target)) spawn(5 SECONDS) if(target) target.Confuse(3) if(target.client) - to_chat(target, "You feel confused!") + to_chat(target, span_critical("You feel confused!")) new /obj/effect/temp_visual/confuse(get_turf(target)) /mob/living/simple_mob/glitch_boss/proc/bullethell(atom/A) @@ -296,7 +296,7 @@ icon_state = "glitch_boss" icon_living = "glitch_boss" icon_dead = "glitch_boss_dead" - faction = "MATH" + faction = FACTION_MATH maxHealth = 20 health = 20 diff --git a/code/modules/mob/living/simple_mob/subtypes/plant/tomato.dm b/code/modules/mob/living/simple_mob/subtypes/plant/tomato.dm index 50ee63637ce..eb08ce7bc09 100644 --- a/code/modules/mob/living/simple_mob/subtypes/plant/tomato.dm +++ b/code/modules/mob/living/simple_mob/subtypes/plant/tomato.dm @@ -8,7 +8,7 @@ mob_class = MOB_CLASS_PLANT - faction = "plants" + faction = FACTION_PLANTS maxHealth = 15 health = 15 poison_resist = 1.0 @@ -26,8 +26,8 @@ ai_holder_type = /datum/ai_holder/simple_mob/melee - meat_type = /obj/item/weapon/reagent_containers/food/snacks/tomatomeat + meat_type = /obj/item/reagent_containers/food/snacks/tomatomeat meat_amount = 4 /decl/mob_organ_names/tomato - hit_zones = list("flesh", "leaf", "mouth") \ No newline at end of file + hit_zones = list("flesh", "leaf", "mouth") diff --git a/code/modules/mob/living/simple_mob/subtypes/plant/tree.dm b/code/modules/mob/living/simple_mob/subtypes/plant/tree.dm index be6af537c86..2f9f459c2c4 100644 --- a/code/modules/mob/living/simple_mob/subtypes/plant/tree.dm +++ b/code/modules/mob/living/simple_mob/subtypes/plant/tree.dm @@ -10,7 +10,7 @@ mob_class = MOB_CLASS_PLANT - faction = "plants" + faction = FACTION_PLANTS maxHealth = 250 health = 250 poison_resist = 1.0 @@ -27,7 +27,7 @@ organ_names = /decl/mob_organ_names/tree - meat_type = /obj/item/weapon/reagent_containers/food/snacks/xenomeat + meat_type = /obj/item/reagent_containers/food/snacks/xenomeat meat_amount = 2 pixel_x = -16 @@ -37,7 +37,7 @@ var/mob/living/L = A if(prob(15)) L.Weaken(3) - L.visible_message(span("danger", "\The [src] knocks down \the [L]!")) + L.visible_message(span_danger("\The [src] knocks down \the [L]!")) /mob/living/simple_mob/animal/space/tree/death() ..(null,"is hacked into pieces!") @@ -46,4 +46,4 @@ qdel(src) /decl/mob_organ_names/tree - hit_zones = list("trunk", "branches", "twigs") \ No newline at end of file + hit_zones = list("trunk", "branches", "twigs") diff --git a/code/modules/mob/living/simple_mob/subtypes/slime/slime.dm b/code/modules/mob/living/simple_mob/subtypes/slime/slime.dm index 74ab2324ca0..bc61a5f2765 100644 --- a/code/modules/mob/living/simple_mob/subtypes/slime/slime.dm +++ b/code/modules/mob/living/simple_mob/subtypes/slime/slime.dm @@ -31,7 +31,7 @@ var/list/_slime_default_emotes = list( glow_intensity = 2 gender = NEUTER - faction = "slime" // Note that slimes are hostile to other slimes of different color regardless of faction (unless Unified). + faction = FACTION_SLIME // Note that slimes are hostile to other slimes of different color regardless of faction (unless Unified). maxHealth = 150 movement_cooldown = -1 pass_flags = PASSTABLE @@ -91,7 +91,7 @@ var/list/_slime_default_emotes = list( emote_hear = list("squishes") /mob/living/simple_mob/slime/Initialize() - verbs += /mob/living/proc/ventcrawl + add_verb(src, /mob/living/proc/ventcrawl) update_mood() glow_color = color handle_light() @@ -201,7 +201,7 @@ var/list/_slime_default_emotes = list( // Otherwise they're probably fighting the slime. if(prob(25) && can_miss) //VOREStation Edit - visible_message(span("warning", "\The [user]'s [I] passes right through \the [src]!")) + visible_message(span_warning("\The [user]'s [I] passes right through \the [src]!")) user.setClickCooldown(user.get_attack_speed(I)) return ..() @@ -214,26 +214,26 @@ var/list/_slime_default_emotes = list( // Hat simulator /mob/living/simple_mob/slime/proc/give_hat(var/obj/item/clothing/head/new_hat, var/mob/living/user) if(!istype(new_hat)) - to_chat(user, span("warning", "\The [new_hat] isn't a hat.")) + to_chat(user, span_warning("\The [new_hat] isn't a hat.")) return if(hat) - to_chat(user, span("warning", "\The [src] is already wearing \a [hat].")) + to_chat(user, span_warning("\The [src] is already wearing \a [hat].")) return else user.drop_item(new_hat) hat = new_hat new_hat.forceMove(src) - to_chat(user, span("notice", "You place \a [new_hat] on \the [src]. How adorable!")) + to_chat(user, span_notice("You place \a [new_hat] on \the [src]. How adorable!")) update_icon() return /mob/living/simple_mob/slime/proc/remove_hat(var/mob/living/user) if(!hat) - to_chat(user, "\The [src] doesn't have a hat to remove.") + to_chat(user, span_warning("\The [src] doesn't have a hat to remove.")) else hat.forceMove(get_turf(src)) user.put_in_hands(hat) - to_chat(user, "You take away \the [src]'s [hat.name]. How mean.") + to_chat(user, span_warning("You take away \the [src]'s [hat.name]. How mean.")) hat = null update_icon() @@ -249,7 +249,7 @@ var/list/_slime_default_emotes = list( /mob/living/simple_mob/slime/proc/squish() playsound(src, 'sound/effects/slime_squish.ogg', 50, 0) - visible_message("\The [src] squishes!") + visible_message(span_infoplain(span_bold("\The [src]") + " squishes!")) /decl/mob_organ_names/slime hit_zones = list("cytoplasmic membrane") diff --git a/code/modules/mob/living/simple_mob/subtypes/slime/slime_vr.dm b/code/modules/mob/living/simple_mob/subtypes/slime/slime_vr.dm index 10ba0ed1ca0..aa765d7d082 100644 --- a/code/modules/mob/living/simple_mob/subtypes/slime/slime_vr.dm +++ b/code/modules/mob/living/simple_mob/subtypes/slime/slime_vr.dm @@ -1,5 +1,5 @@ /mob/living/simple_mob/slime base_attack_cooldown = 2 SECONDS var/allowed_attack_types = list( - /obj/item/weapon/melee/baton/slime, + /obj/item/melee/baton/slime, /obj/item/slimepotion) \ No newline at end of file diff --git a/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/combat.dm b/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/combat.dm index 03565489cdc..ab34573601a 100644 --- a/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/combat.dm +++ b/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/combat.dm @@ -17,8 +17,8 @@ if(prob(stun_power * 10)) // Try an electric shock. power_charge = max(0, power_charge - 3) L.visible_message( - span("danger", "\The [src] has shocked \the [L]!"), - span("danger", "\The [src] has shocked you!") + span_danger("\The [src] has shocked \the [L]!"), + span_danger("\The [src] has shocked you!") ) playsound(src, 'sound/weapons/Egloves.ogg', 75, 1) L.Weaken(4) @@ -38,8 +38,8 @@ else if(prob(20)) // Try to do a regular disarm attack. L.visible_message( - span("danger", "\The [src] has pounced at \the [L]!"), - span("danger", "\The [src] has pounced at you!") + span_danger("\The [src] has pounced at \the [L]!"), + span_danger("\The [src] has pounced at you!") ) playsound(src, 'sound/weapons/thudswoosh.ogg', 75, 1) L.Weaken(2) @@ -50,8 +50,8 @@ else // Failed to do anything this time. L.visible_message( - span("warning", "\The [src] has tried to pounce at \the [L]!"), - span("warning", "\The [src] has tried to pounce at you!") + span_warning("\The [src] has tried to pounce at \the [L]!"), + span_warning("\The [src] has tried to pounce at you!") ) playsound(src, 'sound/weapons/punchmiss.ogg', 75, 1) do_attack_animation(L) @@ -80,4 +80,4 @@ if(isliving(A) && Adjacent(A)) animal_nom(A) else - ..() \ No newline at end of file + ..() diff --git a/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/consumption.dm b/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/consumption.dm index 0764c01de68..b52b89ce65e 100644 --- a/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/consumption.dm +++ b/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/consumption.dm @@ -54,14 +54,14 @@ if(nutrition <= 0) adjustToxLoss(rand(1,3)) if(client && prob(5)) - to_chat(src, span("danger", "You are starving!")) + to_chat(src, span_danger("You are starving!")) /mob/living/simple_mob/slime/xenobio/proc/handle_consumption() if(victim && !stat) if(istype(victim) && consume(victim, 20)) if(prob(25)) - to_chat(src, span("notice", "You continue absorbing \the [victim].")) + to_chat(src, span_notice("You continue absorbing \the [victim].")) else var/list/feedback = list( @@ -73,7 +73,7 @@ "I do not feel nourished", "This subject is not food" ) - to_chat(src, span("warning", "[pick(feedback)]...")) + to_chat(src, span_warning("[pick(feedback)]...")) stop_consumption() if(victim) @@ -97,8 +97,8 @@ update_icon() set_AI_busy(TRUE) // Don't want the AI to interfere with eatting. victim.visible_message( - span("danger", "\The [src] latches onto \the [victim]!"), - span("critical", "\The [src] latches onto you!") + span_danger("\The [src] latches onto \the [victim]!"), + span_critical("\The [src] latches onto you!") ) /mob/living/simple_mob/slime/xenobio/proc/stop_consumption(mob/living/L) @@ -106,8 +106,8 @@ return victim.unbuckle_mob() victim.visible_message( - span("notice", "\The [src] slides off of [victim]!"), - span("notice", "\The [src] slides off of you!") + span_notice("\The [src] slides off of [victim]!"), + span_notice("\The [src] slides off of you!") ) victim = null update_icon() @@ -166,7 +166,7 @@ victim.adjustToxLoss(damage_done * 0.4) adjust_nutrition(damage_done * 5) Beam(victim, icon_state = "slime_consume", time = 8) - to_chat(src, span("notice", "You absorb some biomaterial from \the [victim].")) - to_chat(victim, span("danger", "\The [src] consumes some of your flesh!")) + to_chat(src, span_notice("You absorb some biomaterial from \the [victim].")) + to_chat(victim, span_danger("\The [src] consumes some of your flesh!")) return TRUE return FALSE diff --git a/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/defense.dm b/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/defense.dm index 7e0eab5a36c..4de155da2d2 100644 --- a/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/defense.dm +++ b/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/defense.dm @@ -9,11 +9,11 @@ fail_odds = 60 if(prob(fail_odds)) - visible_message(span("warning", "\The [L] attempts to wrestle \the [name] off!")) + visible_message(span_warning("\The [L] attempts to wrestle \the [name] off!")) playsound(src, 'sound/weapons/punchmiss.ogg', 25, 1, -1) else - visible_message(span("warning", "\The [L] manages to wrestle \the [name] off!")) + visible_message(span_warning("\The [L] manages to wrestle \the [name] off!")) playsound(src, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) if(prob(40)) @@ -46,7 +46,7 @@ // Shocked grilles don't hurt slimes, and in fact give them charge. /mob/living/simple_mob/slime/xenobio/electrocute_act(shock_damage, obj/source, siemens_coeff = 1.0, def_zone = null) power_charge = between(0, power_charge + round(shock_damage / 10), 10) - to_chat(src, span("notice", "\The [source] shocks you, and it charges you.")) + to_chat(src, span_notice("\The [source] shocks you, and it charges you.")) // Getting slimebatoned/xenotased. /mob/living/simple_mob/slime/xenobio/slimebatoned(mob/living/user, amount) diff --git a/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/discipline.dm b/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/discipline.dm index 0ab838f329a..456cbac0efb 100644 --- a/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/discipline.dm +++ b/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/discipline.dm @@ -3,7 +3,7 @@ /mob/living/simple_mob/slime/xenobio/proc/adjust_discipline(amount, silent) if(amount > 0) - to_chat(src, span("warning", "You've been disciplined!")) + to_chat(src, span_warning("You've been disciplined!")) if(has_AI()) var/datum/ai_holder/simple_mob/xenobio_slime/AI = ai_holder AI.adjust_discipline(amount, silent) diff --git a/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/subtypes.dm b/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/subtypes.dm index d3b569a113c..f8ee94e2273 100644 --- a/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/subtypes.dm +++ b/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/subtypes.dm @@ -46,8 +46,8 @@ if(isliving(A)) var/mob/living/L = A L.inflict_heat_damage(is_adult ? 10 : 5) - to_chat(src, span("span", "You burn \the [L].")) - to_chat(L, span("danger", "You've been burned by \the [src]!")) + to_chat(src, span_danger("You burn \the [L].")) + to_chat(L, span_danger("You've been burned by \the [src]!")) L.adjust_fire_stacks(1) if(prob(12)) L.IgniteMob() @@ -154,8 +154,8 @@ if(isliving(A)) var/mob/living/L = A L.inflict_shock_damage(is_adult ? 10 : 5) - to_chat(src, span("span", "You shock \the [L].")) - to_chat(L, span("danger", "You've been shocked by \the [src]!")) + to_chat(src, span_danger("You shock \the [L].")) + to_chat(L, span_danger("You've been shocked by \the [src]!")) /mob/living/simple_mob/slime/xenobio/yellow/handle_special() if(stat == CONSCIOUS) @@ -188,7 +188,7 @@ ) /mob/living/simple_mob/slime/xenobio/dark_purple/proc/ignite() - visible_message(span("critical", "\The [src] erupts in an inferno!")) + visible_message(span_critical("\The [src] erupts in an inferno!")) for(var/turf/simulated/target_turf in view(2, src)) target_turf.assume_gas("phoron", 30, 1500+T0C) spawn(0) @@ -210,7 +210,7 @@ else ..() -/mob/living/simple_mob/slime/xenobio/dark_purple/attackby(var/obj/item/weapon/W, var/mob/user) +/mob/living/simple_mob/slime/xenobio/dark_purple/attackby(var/obj/item/W, var/mob/user) if(istype(W) && W.force && W.damtype == BURN) log_and_message_admins("[src] ignited due to being hit with a burning weapon ([W]) by [key_name(user)].") ignite() @@ -264,8 +264,8 @@ if(isliving(A)) var/mob/living/L = A chill(L) - to_chat(src, span("span", "You chill \the [L].")) - to_chat(L, span("danger", "You've been chilled by \the [src]!")) + to_chat(src, span_danger("You chill \the [L].")) + to_chat(L, span_danger("You've been chilled by \the [src]!")) /mob/living/simple_mob/slime/xenobio/dark_blue/proc/chill(mob/living/L) @@ -293,7 +293,7 @@ /mob/living/simple_mob/slime/xenobio/silver/bullet_act(var/obj/item/projectile/P, var/def_zone) if(istype(P,/obj/item/projectile/beam) || istype(P, /obj/item/projectile/energy)) - visible_message(span("danger", "\The [src] reflects \the [P]!")) + visible_message(span_danger("\The [src] reflects \the [P]!")) // Find a turf near or on the original location to bounce to var/new_x = P.starting.x + pick(0, 0, 0, -1, 1, -2, 2) @@ -334,7 +334,7 @@ /mob/living/simple_mob/slime/xenobio/bluespace/do_special_attack(atom/A) // Teleport attack. if(!A) - to_chat(src, span("warning", "There's nothing to teleport to.")) + to_chat(src, span_warning("There's nothing to teleport to.")) return FALSE var/list/nearby_things = range(1, A) @@ -352,7 +352,7 @@ valid_turfs.Add(potential_turf) if(!(valid_turfs.len)) - to_chat(src, span("warning", "There wasn't an unoccupied spot to teleport to.")) + to_chat(src, span_warning("There wasn't an unoccupied spot to teleport to.")) return FALSE var/turf/target_turf = pick(valid_turfs) @@ -364,14 +364,14 @@ s2.set_up(5, 1, target_turf) - T.visible_message(span("notice", "\The [src] vanishes!")) + T.visible_message(span_notice("\The [src] vanishes!")) s1.start() forceMove(target_turf) playsound(target_turf, 'sound/effects/phasein.ogg', 50, 1) - to_chat(src, span("notice", "You teleport to \the [target_turf].")) + to_chat(src, span_notice("You teleport to \the [target_turf].")) - target_turf.visible_message(span("warning", "\The [src] appears!")) + target_turf.visible_message(span_warning("\The [src] appears!")) s2.start() if(Adjacent(A)) @@ -410,13 +410,13 @@ if(isliving(A) && a_intent == I_HURT) var/mob/living/L = A if(L.mob_size <= MOB_MEDIUM) - visible_message(span("danger", "\The [src] sends \the [L] flying with the impact!")) + visible_message(span_danger("\The [src] sends \the [L] flying with the impact!")) playsound(src, "punch", 50, 1) L.Weaken(1) var/throwdir = get_dir(src, L) L.throw_at(get_edge_target_turf(L, throwdir), 3, 1, src) else - to_chat(L, span("warning", "\The [src] hits you with incredible force, but you remain in place.")) + to_chat(L, span_warning("\The [src] hits you with incredible force, but you remain in place.")) /mob/living/simple_mob/slime/xenobio/amber @@ -569,8 +569,8 @@ stacks = MODIFIER_STACK_FORBID aura_max_distance = 2 - on_created_text = "Twinkling spores of goo surround you. It makes you feel healthier." - on_expired_text = "The spores of goo have faded, although you feel much healthier than before." + on_created_text = span_warning("Twinkling spores of goo surround you. It makes you feel healthier.") + on_expired_text = span_notice("The spores of goo have faded, although you feel much healthier than before.") /datum/modifier/aura/slime_heal/tick() if(holder.stat == DEAD) @@ -674,7 +674,7 @@ else ..() -/mob/living/simple_mob/slime/xenobio/oil/attackby(obj/item/weapon/W, mob/living/user) +/mob/living/simple_mob/slime/xenobio/oil/attackby(obj/item/W, mob/living/user) if(istype(W) && W.force && W.damtype == BURN) log_and_message_admins("[src] exploded due to being hit with a burning weapon ([W]) by [key_name(user)].") explode() @@ -777,7 +777,7 @@ // The RD's pet slime. /mob/living/simple_mob/slime/xenobio/rainbow/kendrick name = "Kendrick" - desc = "The Research Director's pet slime. It shifts colors constantly." + desc = "The " + JOB_RESEARCH_DIRECTOR + "'s pet slime. It shifts colors constantly." rainbow_core_candidate = FALSE // Doing pacify() in initialize() won't actually pacify the AI due to the ai_holder not existing due to parent initialize() not being called yet. // Instead lets just give them an ai_holder that does that for us. diff --git a/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/xenobio.dm b/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/xenobio.dm index d4e96c23d5d..fc9f87aa437 100644 --- a/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/xenobio.dm +++ b/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/xenobio.dm @@ -172,7 +172,7 @@ var/datum/ai_holder/simple_mob/xenobio_slime/AI = ai_holder AI.pacify() - faction = "neutral" + faction = FACTION_NEUTRAL // If for whatever reason the mob AI (or player) decides to try to attack something anyways. melee_damage_upper = 0 @@ -187,20 +187,20 @@ set desc = "This will let you evolve from baby to adult slime." if(stat) - to_chat(src, span("warning", "I must be conscious to do this...")) + to_chat(src, span_warning("I must be conscious to do this...")) return if(harmless) - to_chat(src, span("warning", "I have been pacified. I cannot evolve...")) + to_chat(src, span_warning("I have been pacified. I cannot evolve...")) return if(!is_adult) if(amount_grown >= 10) make_adult() else - to_chat(src, span("warning", "I am not ready to evolve yet...")) + to_chat(src, span_warning("I am not ready to evolve yet...")) else - to_chat(src, span("warning", "I have already evolved...")) + to_chat(src, span_warning("I have already evolved...")) /mob/living/simple_mob/slime/xenobio/verb/reproduce() @@ -208,11 +208,11 @@ set desc = "This will make you split into four new slimes." if(stat) - to_chat(src, span("warning", "I must be conscious to do this...")) + to_chat(src, span_warning("I must be conscious to do this...")) return if(harmless) - to_chat(src, span("warning", "I have been pacified. I cannot reproduce...")) + to_chat(src, span_warning("I have been pacified. I cannot reproduce...")) return if(is_adult) @@ -237,7 +237,7 @@ free_tiles++ if(free_tiles < split_amount-1) // Three free tiles are needed, as four slimes are made and the 4th tile is from the center tile that the current slime occupies. - to_chat(src, span("warning", "It is too cramped here to reproduce...")) + to_chat(src, span_warning("It is too cramped here to reproduce...")) return var/list/babies = list() @@ -252,9 +252,9 @@ new_slime.key = src.key qdel(src) else - to_chat(src, span("warning", "I am not ready to reproduce yet...")) + to_chat(src, span_warning("I am not ready to reproduce yet...")) else - to_chat(src, span("warning", "I have not evolved enough to reproduce yet...")) + to_chat(src, span_warning("I have not evolved enough to reproduce yet...")) // Used when reproducing or dying. /mob/living/simple_mob/slime/xenobio/proc/make_new_slime(var/desired_type, var/no_step) diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/bat.dm b/code/modules/mob/living/simple_mob/subtypes/vore/bat.dm index 6d6328dfeff..0d682ffd2e5 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/bat.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/bat.dm @@ -22,7 +22,9 @@ say_list_type = /datum/say_list/bat ai_holder_type = /datum/ai_holder/simple_mob/retaliate/edible - faction = "vampire" + faction = FACTION_VAMPIRE + + allow_mind_transfer = TRUE // Activate Noms! /mob/living/simple_mob/vore/bat @@ -55,4 +57,3 @@ B.escapechance = 15 B.selective_preference = DM_DRAIN B.escape_stun = 5 - diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/bee.dm b/code/modules/mob/living/simple_mob/subtypes/vore/bee.dm index 010dbafed19..faeafaa866a 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/bee.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/bee.dm @@ -25,7 +25,7 @@ ai_holder_type = /datum/ai_holder/simple_mob/retaliate meat_amount = 5 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/xenomeat/spidermeat + meat_type = /obj/item/reagent_containers/food/snacks/xenomeat/spidermeat //Space bees aren't affected by atmos. min_oxy = 0 @@ -38,12 +38,14 @@ max_n2 = 0 minbodytemp = 0 - faction = "bee" + faction = FACTION_BEE var/poison_type = "spidertoxin" // The reagent that gets injected when it attacks, can be changed to different toxin. var/poison_chance = 10 // Chance for injection to occur. var/poison_per_bite = 1 // Amount added per injection. + allow_mind_transfer = TRUE + /mob/living/simple_mob/vore/bee/Process_Spacemove(var/check_drift = 0) return 1 //No drifting in space for space bee! @@ -63,7 +65,7 @@ // Does actual poison injection, after all checks passed. /mob/living/simple_mob/vore/bee/proc/inject_poison(mob/living/L, target_zone) if(prob(poison_chance)) - to_chat(L, "You feel a tiny prick.") + to_chat(L, span_warning("You feel a tiny prick.")) L.reagents.add_reagent(poison_type, poison_per_bite) /datum/say_list/bee diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/bigdragon.dm b/code/modules/mob/living/simple_mob/subtypes/vore/bigdragon.dm index 37ef332a14d..3036edd2f20 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/bigdragon.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/bigdragon.dm @@ -59,7 +59,7 @@ I think I covered everything. icon_living = "dragon_maneNone" player_msg = "You can perform a charge attack by disarm intent clicking somewhere. Grab intent clicking will perform a tail sweep and fling any nearby mobs. You can fire breath with harm intent. Your attacks have cooldowns associated with them. You can heal slowly by resting. Check your abilities tab for other functions!" meat_amount = 40 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + meat_type = /obj/item/reagent_containers/food/snacks/meat old_x = -48 old_y = 0 vis_height = 92 @@ -94,7 +94,7 @@ I think I covered everything. vore_pounce_maxhealth = 125 vore_bump_emote = "tries to snap up" icon_dead = "dragon-dead" - faction = "dragon" + faction = FACTION_DRAGON glow_range = 7 glow_intensity = 3 glow_color = "#ED9200" @@ -128,7 +128,7 @@ I think I covered everything. var/chargetimer tame_items = list( - /obj/item/weapon/coin/gold = 100, + /obj/item/coin/gold = 100, /obj/item/stack/material/gold = 100 ) @@ -189,7 +189,7 @@ I think I covered everything. /mob/living/simple_mob/vore/bigdragon/friendly ai_holder_type = /datum/ai_holder/simple_mob/healbelly/retaliate/dragon desc = "A large, intimidating creature reminiscent of the traditional idea of medieval fire breathing lizards. This one seems particularly relaxed and jovial." - faction = "neutral" + faction = FACTION_NEUTRAL player_msg = "You're a variant of the large dragon stripped of its firebreath attack (harm intent). You can still charge (disarm) and tail sweep (grab). Rest to heal slowly. Check your abilities tab for functions." norange = 1 noenrage = 1 @@ -240,16 +240,16 @@ I think I covered everything. . = ..() if(!riding_datum) riding_datum = new /datum/riding/simple_mob(src) - verbs |= /mob/living/simple_mob/proc/animal_mount - verbs |= /mob/living/proc/toggle_rider_reins - verbs |= /mob/living/simple_mob/vore/bigdragon/proc/set_style - verbs |= /mob/living/simple_mob/vore/bigdragon/proc/toggle_glow - verbs |= /mob/living/simple_mob/vore/bigdragon/proc/sprite_toggle - verbs |= /mob/living/simple_mob/vore/bigdragon/proc/flame_toggle - verbs |= /mob/living/simple_mob/vore/bigdragon/proc/special_toggle - //verbs |= /mob/living/simple_mob/vore/bigdragon/proc/set_name //Implemented upstream - //verbs |= /mob/living/simple_mob/vore/bigdragon/proc/set_desc //Implemented upstream - faction = "neutral" + add_verb(src, /mob/living/simple_mob/proc/animal_mount) + add_verb(src, /mob/living/proc/toggle_rider_reins) + add_verb(src, /mob/living/simple_mob/vore/bigdragon/proc/set_style) + add_verb(src, /mob/living/simple_mob/vore/bigdragon/proc/toggle_glow) + add_verb(src, /mob/living/simple_mob/vore/bigdragon/proc/sprite_toggle) + add_verb(src, /mob/living/simple_mob/vore/bigdragon/proc/flame_toggle) + add_verb(src, /mob/living/simple_mob/vore/bigdragon/proc/special_toggle) + //add_verb(src, /mob/living/simple_mob/vore/bigdragon/proc/set_name) //Implemented upstream + //add_verb(src, /mob/living/simple_mob/vore/bigdragon/proc/set_desc) //Implemented upstream + faction = FACTION_NEUTRAL /mob/living/simple_mob/vore/bigdragon/Initialize() ..() @@ -257,7 +257,7 @@ I think I covered everything. build_icons(1) add_language(LANGUAGE_DRUDAKAR) add_language(LANGUAGE_UNATHI) - mob_radio = new /obj/item/device/radio/headset/mob_headset(src) //We always give radios to spawned mobs anyway + mob_radio = new /obj/item/radio/headset/mob_headset(src) //We always give radios to spawned mobs anyway /mob/living/simple_mob/vore/bigdragon/MouseDrop_T(mob/living/M, mob/living/user) return @@ -276,14 +276,14 @@ I think I covered everything. /mob/living/simple_mob/vore/bigdragon/proc/toggle_glow() set name = "Toggle Glow" set desc = "Switch between glowing and not glowing." - set category = "Abilities" + set category = "Abilities.Settings" glow_toggle = !glow_toggle /mob/living/simple_mob/vore/bigdragon/proc/sprite_toggle() set name = "Toggle Small Sprite" set desc = "Switches your sprite to a smaller variant so you can see what you're doing. Others will always see your standard sprite instead. " - set category = "Abilities" + set category = "Abilities.Settings" if(!small) var/image/I = image(icon = small_icon, icon_state = small_icon_state, loc = src) @@ -298,26 +298,26 @@ I think I covered everything. /mob/living/simple_mob/vore/bigdragon/proc/flame_toggle() set name = "Toggle breath attack" set desc = "Toggles whether you will breath attack on harm intent (If you have one)." - set category = "Abilities" + set category = "Abilities.Settings" if(norange) - to_chat(src, "You don't have a breath attack!") + to_chat(src, span_userdanger("You don't have a breath attack!")) return flametoggle = !flametoggle - to_chat(src, "You will [flametoggle?"now breath":"no longer breath"] attack on harm intent.") + to_chat(src, span_notice("You will [flametoggle?"now breath":"no longer breath"] attack on harm intent.")) /mob/living/simple_mob/vore/bigdragon/proc/special_toggle() set name = "Toggle special attacks" set desc = "Toggles whether you will tail spin and charge (If you have them)." - set category = "Abilities" + set category = "Abilities.Settings" if(nospecial) - to_chat(src, "You don't have special attacks!") + to_chat(src, span_userdanger("You don't have special attacks!")) return specialtoggle = !specialtoggle - to_chat(src, "You will [specialtoggle?"now special":"no longer special"] attack on grab/disarm intent.") + to_chat(src, span_notice("You will [specialtoggle?"now special":"no longer special"] attack on grab/disarm intent.")) /// @@ -325,6 +325,7 @@ I think I covered everything. /// /mob/living/simple_mob/vore/bigdragon/update_icon() + ..() update_fullness() build_icons() @@ -342,9 +343,10 @@ I think I covered everything. /mob/living/simple_mob/vore/bigdragon/proc/build_icons(var/random) cut_overlays() if(stat == DEAD) - icon_state = "dragon-dead" plane = MOB_LAYER return + else + plane = ABOVE_MOB_PLANE if(random) var/list/bodycolors = list("#1E1E1E","#3F3F3F","#545454","#969696","#DBDBDB","#ABBBD8","#3D0B00","#3A221D","#77554F","#281D1B","#631F00","#964421","#936B24","#381313","#380000","#682121","#700E00","#44525B","#283035","#29353D","#353E44","#281000","#38261A","#302F3D","#322E3A","#262738") under = pick(underbelly_styles) @@ -352,14 +354,14 @@ I think I covered everything. body = pick(body_styles) overlay_colors["Body"] = pick(bodycolors) ears = pick(ear_styles) - overlay_colors["Ears"] = "#[get_random_colour(0, 100, 150)]" + overlay_colors["Ears"] = get_random_colour(0, 100, 150) mane = pick(mane_styles) overlay_colors["Mane"] = pick(bodycolors) horns = pick(horn_styles) var/list/horncolors = list("#000000","#151515","#303030","#606060","#808080","#AAAAAA","#CCCCCC","#EEEEEE","#FFFFFF") overlay_colors["Horns"] = pick(horncolors) eyes = pick(eye_styles) - overlay_colors["Eyes"] = "#[get_random_colour(1)]" + overlay_colors["Eyes"] = get_random_colour(1) var/image/I = image(icon, "dragon_under[under][resting? "-rest" : (vore_fullness? "-[vore_fullness]" : null)]", pixel_x = -48) I.color = overlay_colors["Underbelly"] @@ -417,7 +419,7 @@ I think I covered everything. /mob/living/simple_mob/vore/bigdragon/proc/set_style() set name = "Set Dragon Style" set desc = "Customise your icons." - set category = "Abilities" + set category = "Abilities.Settings" var/list/options = list("Underbelly","Body","Ears","Mane","Horns","Eyes") for(var/option in options) @@ -755,14 +757,14 @@ I think I covered everything. M.Weaken(5) if(!gentle) M.adjustBruteLoss(50) //A dragon just slammed ontop of you - to_chat(M, "You're slammed into the floor by [src]!") + to_chat(M, span_userdanger("You're slammed into the floor by [src]!")) else if(isliving(AM)) var/mob/living/M = AM M.Weaken(1.5) if(!gentle) M.adjustBruteLoss(20) - to_chat(M, "You're thrown back by [src]!") + to_chat(M, span_userdanger("You're thrown back by [src]!")) playsound(src, get_sfx("punch"), 50, 1) AM.throw_at(throwtarget, maxthrow, 3, src) @@ -783,7 +785,7 @@ I think I covered everything. status_flags |= LEAPING flying = 1 //So we can thunk into things hovering = 1 // So we don't hurt ourselves running off cliffs - visible_message(span("danger","\The [src] charges at \the [A]!")) + visible_message(span_danger("\The [src] charges at \the [A]!")) throw_at(A, 7, 2) playsound(src, charge_sound, 75, 1) if(status_flags & LEAPING) @@ -823,7 +825,7 @@ I think I covered everything. set_AI_busy(FALSE) return var/obj/item/projectile/P = new /obj/item/projectile/bullet/dragon(get_turf(src)) - src.visible_message("\The [src] spews fire at \the [A]!") + src.visible_message(span_danger("\The [src] spews fire at \the [A]!")) playsound(src, "sound/weapons/Flamer.ogg", 50, 1) P.launch_projectile(A, BP_TORSO, src) set_AI_busy(FALSE) @@ -891,7 +893,7 @@ I think I covered everything. /mob/living/simple_mob/vore/bigdragon/do_tame(var/obj/O, var/mob/user) if(!user) return - if(faction == "neutral") + if(faction == FACTION_NEUTRAL) return //We're already friendly if(enraged || notame) say("NO FORGIVENESS") @@ -900,7 +902,7 @@ I think I covered everything. handle_tame_item(O, user) qdel(ai_holder) //Dragon goes to therapy - faction = "neutral" + faction = FACTION_NEUTRAL norange = 1 //Don't start fires while friendly vore_selected = gut2 //Just incase it eats someone right after being tamed ai_holder = new /datum/ai_holder/simple_mob/healbelly/retaliate/dragon(src) @@ -1045,7 +1047,7 @@ I think I covered everything. /mob/living/simple_mob/vore/bigdragon/proc/enrage(var/atom/movable/attacker) enraged = 1 norange = 0 - faction = "dragon" + faction = FACTION_DRAGON say("HAVE IT YOUR WAY THEN") qdel(ai_holder) var/datum/ai_holder/simple_mob/intentional/dragon/D = new /datum/ai_holder/simple_mob/intentional/dragon(src) diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/catgirl.dm b/code/modules/mob/living/simple_mob/subtypes/vore/catgirl.dm index 96c31431236..233112cfe73 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/catgirl.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/catgirl.dm @@ -35,7 +35,7 @@ "catgirlbrown" ) - faction = "catgirl" + faction = FACTION_CATGIRL /mob/living/simple_mob/vore/catgirl/New() ..() diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/cookiegirl.dm b/code/modules/mob/living/simple_mob/subtypes/vore/cookiegirl.dm index 6e4440a1489..2f4af12aaa4 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/cookiegirl.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/cookiegirl.dm @@ -16,12 +16,12 @@ melee_damage_upper = 5 meat_amount = 10 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/cookie + meat_type = /obj/item/reagent_containers/food/snacks/cookie say_list_type = /datum/say_list/cookiegirl ai_holder_type = /datum/ai_holder/simple_mob/passive/cookiegirl - faction = "cookiegirl" + faction = FACTION_COOKIEGIRL // Activate Noms! /mob/living/simple_mob/vore/cookiegirl @@ -55,4 +55,4 @@ /datum/ai_holder/simple_mob/passive/cookiegirl base_wander_delay = 8 - intelligence_level = AI_NORMAL //not sure why we have this, but I'm just porting. \ No newline at end of file + intelligence_level = AI_NORMAL //not sure why we have this, but I'm just porting. diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/corrupt_hounds.dm b/code/modules/mob/living/simple_mob/subtypes/vore/corrupt_hounds.dm index d3ad0c3c875..a1335771f85 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/corrupt_hounds.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/corrupt_hounds.dm @@ -22,7 +22,7 @@ icon = 'icons/mob/vore64x32.dmi' has_eye_glow = TRUE - faction = "corrupt" + faction = FACTION_CORRUPT maxHealth = 200 health = 200 @@ -59,6 +59,8 @@ say_list_type = /datum/say_list/corrupthound ai_holder_type = /datum/ai_holder/simple_mob/melee/evasive/corrupthound + has_langs = list(LANGUAGE_GALCOM, LANGUAGE_EAL) //Robots speak in beep, yes? + max_buckled_mobs = 1 //Yeehaw can_buckle = TRUE buckle_movable = TRUE @@ -71,7 +73,9 @@ vore_stomach_name = "fuel processor" vore_stomach_flavor = "You have ended up in the fuel processor of this corrupted machine. This place was definitely not designed with safety and comfort in mind. The heated and cramped surroundings oozing potent fluids all over your form, eager to do nothing less than breaking you apart to fuel its rampage for the next few days... hours... minutes? Oh dear..." - loot_list = list(/obj/item/borg/upgrade/basic/syndicate = 6, /obj/item/borg/upgrade/basic/vtec = 6, /obj/item/weapon/material/knife/ritual = 6, /obj/item/weapon/disk/nifsoft/compliance = 6) + loot_list = list(/obj/item/borg/upgrade/basic/syndicate = 6, /obj/item/borg/upgrade/basic/vtec = 6, /obj/item/material/knife/ritual = 6, /obj/item/disk/nifsoft/compliance = 6) + + allow_mind_transfer = TRUE /mob/living/simple_mob/vore/aggressive/corrupthound/prettyboi name = "corrupt corrupt hound" @@ -111,8 +115,8 @@ . = ..() if(!riding_datum) riding_datum = new /datum/riding/simple_mob(src) - verbs |= /mob/living/simple_mob/proc/animal_mount - verbs |= /mob/living/proc/toggle_rider_reins + add_verb(src, /mob/living/simple_mob/proc/animal_mount) + add_verb(src, /mob/living/proc/toggle_rider_reins) movement_cooldown = 0 /mob/living/simple_mob/vore/aggressive/corrupthound/MouseDrop_T(mob/living/M, mob/living/user) @@ -182,3 +186,48 @@ /datum/ai_holder/simple_mob/melee/evasive/corrupthound violent_breakthrough = TRUE can_breakthrough = TRUE + +/mob/living/simple_mob/vore/aggressive/corrupthound/fire + icon_state = "badboi_fire" + icon_living = "badboi_fire" + icon_dead = "badboi_fire-dead" + icon_rest = "badboi_fire_rest" + + maxHealth = 150 + health = 150 + + ai_holder_type = /datum/ai_holder/simple_mob/ranged/aggressive + + projectiletype = /obj/item/projectile/scatter/flamethrower + ranged_attack_delay = 2 SECONDS + +/mob/living/simple_mob/vore/aggressive/corrupthound/laser + icon_state = "badboi_laser" + icon_living = "badboi_laser" + icon_dead = "badboi_laser-dead" + icon_rest = "badboi_laser_rest" + + maxHealth = 150 + health = 150 + + ai_holder_type = /datum/ai_holder/simple_mob/ranged + + ranged_attack_delay = 2 SECONDS + projectiletype = /obj/item/projectile/beam/midlaser + projectilesound = 'sound/weapons/Laser.ogg' + projectile_dispersion = 5 + projectile_accuracy = -20 + +/mob/living/simple_mob/vore/aggressive/corrupthound/fast + icon_state = "badboi_fast" + icon_living = "badboi_fast" + icon_dead = "badboi_fast-dead" + icon_rest = "badboi_fast_rest" + + maxHealth = 100 + health = 100 + + movement_cooldown = -1 + + melee_damage_lower = 7 + melee_damage_upper = 15 diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/cryptdrake.dm b/code/modules/mob/living/simple_mob/subtypes/vore/cryptdrake.dm index f6c1ab75ffd..0e931f98325 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/cryptdrake.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/cryptdrake.dm @@ -7,7 +7,7 @@ icon_living = "cryptdrake" icon_state = "cryptdrake" icon_rest = "cryptdrake" - faction = "dragon" + faction = FACTION_DRAGON old_x = -48 old_y = 0 vis_height = 92 @@ -64,8 +64,8 @@ . = ..() if(!riding_datum) riding_datum = new /datum/riding/simple_mob(src) - verbs |= /mob/living/simple_mob/proc/animal_mount - verbs |= /mob/living/proc/toggle_rider_reins + add_verb(src, /mob/living/simple_mob/proc/animal_mount) + add_verb(src, /mob/living/proc/toggle_rider_reins) movement_cooldown = -1 /mob/living/simple_mob/vore/cryptdrake/init_vore() @@ -105,8 +105,8 @@ return FALSE set_AI_busy(TRUE) - visible_message(span("warning","\The [src]'s eyes flash ominously!")) - to_chat(L, span("danger","\The [src] focuses on you!")) + visible_message(span_warning("\The [src]'s eyes flash ominously!")) + to_chat(L, span_danger("\The [src] focuses on you!")) // Telegraph, since getting stunned suddenly feels bad. do_windup_animation(A, leap_warmup) sleep(leap_warmup) // For the telegraphing. @@ -117,7 +117,7 @@ // Do the actual leap. status_flags |= LEAPING // Lets us pass over everything. - visible_message(span("critical","\The [src] leaps at \the [L]!")) + visible_message(span_critical("\The [src] leaps at \the [L]!")) throw_at(get_step(L, get_turf(src)), special_attack_max_range+1, 1, src) playsound(src, leap_sound, 75, 1) diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/deathclaw.dm b/code/modules/mob/living/simple_mob/subtypes/vore/deathclaw.dm index 4e264d27136..7d90475840d 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/deathclaw.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/deathclaw.dm @@ -32,7 +32,7 @@ attacktext = list("mauled") - faction = "awaymission" //makes away mobs fuckin' be on the same side. + faction = "awaymission" //makes away mobs fuckin' be on the same side. -Radiant maxHealth = 200 health = 200 @@ -42,7 +42,7 @@ melee_damage_upper = 30 meat_amount = 8 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + meat_type = /obj/item/reagent_containers/food/snacks/meat old_x = -16 old_y = 0 @@ -59,6 +59,8 @@ ai_holder_type = /datum/ai_holder/simple_mob/melee/deathclaw + allow_mind_transfer = TRUE + // Activate Noms! /mob/living/simple_mob/vore/aggressive/deathclaw vore_active = 1 @@ -72,8 +74,8 @@ . = ..() if(!riding_datum) riding_datum = new /datum/riding/simple_mob(src) - verbs |= /mob/living/simple_mob/proc/animal_mount - verbs |= /mob/living/proc/toggle_rider_reins + add_verb(src, /mob/living/simple_mob/proc/animal_mount) + add_verb(src, /mob/living/proc/toggle_rider_reins) movement_cooldown = 0 /mob/living/simple_mob/vore/aggressive/deathclaw/MouseDrop_T(mob/living/M, mob/living/user) diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/demon/demon.dm b/code/modules/mob/living/simple_mob/subtypes/vore/demon/demon.dm index 22d75d0ab45..5471175593d 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/demon/demon.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/demon/demon.dm @@ -9,7 +9,7 @@ icon = 'icons/mob/demon_vr.dmi' vis_height = 47 - faction = "demon" + faction = FACTION_DEMON maxHealth = 30 health = 30 movement_cooldown = -2 diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/demon/demon_abilities.dm b/code/modules/mob/living/simple_mob/subtypes/vore/demon/demon_abilities.dm index 2ff98138eb9..48101c4742a 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/demon/demon_abilities.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/demon/demon_abilities.dm @@ -1,19 +1,19 @@ /mob/living/simple_mob/vore/demon/verb/blood_crawl() set name = "Bloodcrawl" set desc = "Shift out of reality using blood as your gateway" - set category = "Abilities" + set category = "Abilities.Demon" var/turf/T = get_turf(src) if(!T.CanPass(src,T) || loc != T) - to_chat(src,"You can't use that here!") + to_chat(src,span_warning("You can't use that here!")) return FALSE if(shift_state && shift_state == AB_SHIFT_ACTIVE) - to_chat(src,"You can't do a shift while actively shifting!") + to_chat(src,span_warning("You can't do a shift while actively shifting!")) return FALSE if(!(locate(/obj/effect/decal/cleanable/blood) in src.loc)) - to_chat(src,"You need blood to shift between realities!") + to_chat(src,span_warning("You need blood to shift between realities!")) return FALSE forceMove(T) @@ -57,7 +57,7 @@ var/mob/living/target = pick(potentials) if(istype(target) && target.devourable && target.can_be_drop_prey && vore_selected) target.forceMove(vore_selected) - to_chat(target,"\The [src] phases in around you, [vore_selected.vore_verb]ing you into their [vore_selected.name]!") + to_chat(target,span_vwarning("\The [src] phases in around you, [vore_selected.vore_verb]ing you into their [vore_selected.name]!")) // Do this after the potential vore, so we get the belly update_icon() @@ -108,21 +108,21 @@ /mob/living/simple_mob/vore/demon/verb/phase_shift() set name = "Phase Shift" set desc = "Shift out of reality temporarily" - set category = "Abilities" + set category = "Abilities.Demon" var/turf/T = get_turf(src) if(shift_state && shift_state == AB_SHIFT_PASSIVE) - to_chat(src,"You can't do a shift while passively shifting!") + to_chat(src,span_warning("You can't do a shift while passively shifting!")) return FALSE if(shifted_out) - to_chat(src,"You can't return to the physical world yet!") + to_chat(src,span_warning("You can't return to the physical world yet!")) return FALSE if(world.time - last_shift < 600) - to_chat(src,"You can't temporarily shift so soon! You need to wait [round(((last_shift+600)-world.time)/10)] second\s!") + to_chat(src,span_warning("You can't temporarily shift so soon! You need to wait [round(((last_shift+600)-world.time)/10)] second\s!")) return FALSE shift_state = AB_SHIFT_ACTIVE @@ -201,7 +201,7 @@ var/mob/living/target = pick(potentials) if(istype(target) && target.devourable && target.can_be_drop_prey && vore_selected) target.forceMove(vore_selected) - to_chat(target,"\The [src] phases in around you, [vore_selected.vore_verb]ing you into their [vore_selected.name]!") + to_chat(target,span_vwarning("\The [src] phases in around you, [vore_selected.vore_verb]ing you into their [vore_selected.name]!")) // Do this after the potential vore, so we get the belly update_icon() diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/devil.dm b/code/modules/mob/living/simple_mob/subtypes/vore/devil.dm index 2d945ea4c6b..1d64e27ef0a 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/devil.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/devil.dm @@ -8,7 +8,7 @@ icon_living = "devil" icon_state = "devil" icon_rest = "devil" - faction = "devil" + faction = FACTION_DEVIL old_x = -16 old_y = 0 default_pixel_x = -16 @@ -71,9 +71,9 @@ vore_pounce_cooldown = world.time + 1 SECONDS // don't attempt another pounce for a while if(prob(successrate)) // pounce success! M.Weaken(5) - M.visible_message("\The [src] pounces on \the [M]!!") + M.visible_message(span_danger("\The [src] pounces on \the [M]!")) else // pounce misses! - M.visible_message("\The [src] attempts to pounce \the [M] but misses!!") + M.visible_message(span_danger("\The [src] attempts to pounce \the [M] but misses!")) playsound(src, 'sound/weapons/punchmiss.ogg', 25, 1, -1) if(will_eat(M) && (!M.canmove || vore_standing_too)) //if they're edible then eat them too @@ -264,4 +264,3 @@ else if(!stand_ground) ai_log("engage_target() : Target ([target]) too far away. Exiting.", AI_LOG_DEBUG) set_stance(STANCE_APPROACH) - diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/dino.dm b/code/modules/mob/living/simple_mob/subtypes/vore/dino.dm index c1f0068abff..aa3ddaeb447 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/dino.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/dino.dm @@ -26,7 +26,7 @@ unsuitable_atoms_damage = 10 meat_amount = 5 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + meat_type = /obj/item/reagent_containers/food/snacks/meat //Phoron dragons aren't affected by atmos. min_oxy = 0 @@ -39,6 +39,8 @@ max_n2 = 0 minbodytemp = 0 + allow_mind_transfer = TRUE + // Activate Noms! /mob/living/simple_mob/vore/aggressive/dino vore_active = 1 @@ -46,4 +48,4 @@ vore_icons = SA_ICON_LIVING /mob/living/simple_mob/vore/aggressive/dino/virgo3b - faction = "virgo3b" + faction = FACTION_VIRGO3B diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/dominated_brain.dm b/code/modules/mob/living/simple_mob/subtypes/vore/dominated_brain.dm index f5e93af8220..28c9c8fb3ea 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/dominated_brain.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/dominated_brain.dm @@ -32,7 +32,7 @@ return . = ..() lets_register_our_signals() - verbs |= /mob/living/dominated_brain/proc/resist_control + add_verb(src, /mob/living/dominated_brain/proc/resist_control) /mob/living/dominated_brain/Life() . = ..() @@ -78,16 +78,16 @@ if(tgui_alert(src, "Do you want to wrest control over your body back from \the [prey_name]?", "Regain Control",list("No","Yes")) != "Yes") return - to_chat(src, "You begin to resist \the [prey_name]'s control!!!") - to_chat(pred_body, "You feel the captive mind of [src] begin to resist your control.") + to_chat(src, span_danger("You begin to resist \the [prey_name]'s control!!!")) + to_chat(pred_body, span_danger("You feel the captive mind of [src] begin to resist your control.")) if(do_after(src, 10 SECONDS, exclusive = TRUE)) restore_control() else - to_chat(src, "Your attempt to regain control has been interrupted...") - to_chat(pred_body, "The dominant sensation fades away...") + to_chat(src, span_notice("Your attempt to regain control has been interrupted...")) + to_chat(pred_body, span_notice("The dominant sensation fades away...")) else - to_chat(src, "\The [pred_body] is already dominated, and cannot be controlled at this time.") + to_chat(src, span_warning("\The [pred_body] is already dominated, and cannot be controlled at this time.")) ..() /mob/living/dominated_brain/proc/restore_control(ask = TRUE) @@ -114,7 +114,7 @@ prey_goes_here.ooc_notes = prey_ooc_notes prey_goes_here.ooc_notes_likes = prey_ooc_likes prey_goes_here.ooc_notes_dislikes = prey_ooc_dislikes - prey_goes_here.verbs |= /mob/living/dominated_brain/proc/cease_this_foolishness + add_verb(prey_goes_here, /mob/living/dominated_brain/proc/cease_this_foolishness) else //The prey body does not exist, let's put them in the back seat instead! @@ -134,7 +134,7 @@ /////////////////// // Handle Pred - pred_body.verbs -= /mob/proc/release_predator + remove_verb(pred_body, /mob/proc/release_predator) //Now actually put the people in the mobs prey_goes_here.ckey = src.prey_ckey @@ -166,13 +166,13 @@ langlist -= languages for(var/datum/language/L in langlist) if(L.flags & HIVEMIND) - verbs |= /mob/proc/adjust_hive_range + add_verb(src, /mob/proc/adjust_hive_range) temp_languages |= langlist languages |= langlist //Welcome to the adapted borer code. /mob/proc/dominate_predator() - set category = "Abilities" + set category = "Abilities.Vore" set name = "Dominate Predator" set desc = "Connect to and dominate the brain of your predator." @@ -187,48 +187,47 @@ if(isbelly(pocketpal.card.loc)) pred = pocketpal.card.loc.loc else - to_chat(prey, "You are not inside anyone.") + to_chat(prey, span_notice("You are not inside anyone.")) return if(prey.stat == DEAD) - to_chat(prey, "You cannot do that in your current state.") + to_chat(prey, span_warning("You cannot do that in your current state.")) + return + + if(!pred.allow_mind_transfer) + to_chat(prey, span_warning("[pred] is unable to be dominated.")) return if(!pred.ckey) - to_chat(prey, "\The [pred] isn't able to be dominated.") + to_chat(prey, span_notice("\The [pred] isn't able to be dominated.")) return - if(isrobot(pred) && jobban_isbanned(prey, "Cyborg")) - to_chat(prey, "Forces beyond your comprehension forbid you from taking control of [pred].") + if(isrobot(pred) && jobban_isbanned(prey, JOB_CYBORG)) + to_chat(prey, span_warning("Forces beyond your comprehension forbid you from taking control of [pred].")) return if(prey.prey_controlled) - to_chat(prey, "You are already controlling someone, you can't control anyone else at this time.") + to_chat(prey, span_warning("You are already controlling someone, you can't control anyone else at this time.")) return if(pred.prey_controlled) - to_chat(prey, "\The [pred] is already dominated, and cannot be controlled at this time.") + to_chat(prey, span_warning("\The [pred] is already dominated, and cannot be controlled at this time.")) return - if(ishuman(pred)) - var/mob/living/carbon/human/h = pred - if(h.resleeve_lock && ckey != h.resleeve_lock) - to_chat(src, "\The [h] cannot be impersonated!") - return if(tgui_alert(prey, "You are attempting to take over [pred], are you sure? Ensure that their preferences align with this kind of play.", "Take Over Predator",list("No","Yes")) != "Yes") return - to_chat(prey, "You attempt to exert your control over \the [pred]...") + to_chat(prey, span_notice("You attempt to exert your control over \the [pred]...")) log_admin("[key_name_admin(prey)] attempted to take over [pred].") if(tgui_alert(pred, "\The [prey] has elected to attempt to take control of you. Is this something you will allow to happen?", "Allow Prey Domination",list("No","Yes")) != "Yes") - to_chat(prey, "\The [pred] declined your request for control.") + to_chat(prey, span_warning("\The [pred] declined your request for control.")) return if(tgui_alert(pred, "Are you sure? If you should decide to revoke this, you will have the ability to do so in your 'Abilities' tab.", "Allow Prey Domination",list("No","Yes")) != "Yes") return - to_chat(pred, "You can feel the will of another overwriting your own, control of your body being sapped away from you...") - to_chat(prey, "You can feel the will of your host diminishing as you exert your will over them!") + to_chat(pred, span_warning("You can feel the will of another overwriting your own, control of your body being sapped away from you...")) + to_chat(prey, span_warning("You can feel the will of your host diminishing as you exert your will over them!")) if(!do_after(prey, 10 SECONDS, exclusive = TRUE)) - to_chat(prey, "Your attempt to regain control has been interrupted...") - to_chat(pred, "The dominant sensation fades away...") + to_chat(prey, span_notice("Your attempt to regain control has been interrupted...")) + to_chat(pred, span_notice("The dominant sensation fades away...")) return - to_chat(prey, "You plunge your conciousness into \the [pred], assuming control over their very body, leaving your own behind within \the [pred]'s [loc].") - to_chat(pred, "You feel your body move on its own, as you are pushed to the background, and an alien consciousness displaces yours.") + to_chat(prey, span_danger("You plunge your conciousness into \the [pred], assuming control over their very body, leaving your own behind within \the [pred]'s [loc].")) + to_chat(pred, span_danger("You feel your body move on its own, as you are pushed to the background, and an alien consciousness displaces yours.")) var/mob/living/dominated_brain/pred_brain var/delete_source = FALSE if(istype(prey, /mob/living/dominated_brain)) @@ -260,7 +259,7 @@ pred.ooc_notes_likes = pred_brain.prey_ooc_likes pred.ooc_notes_dislikes = pred_brain.prey_ooc_dislikes - pred.verbs |= /mob/proc/release_predator + add_verb(pred, /mob/proc/release_predator) //Now actually put the people in the mobs pred_brain.ckey = pred_brain.pred_ckey @@ -272,7 +271,7 @@ qdel(prey) /mob/proc/release_predator() - set category = "Abilities" + set category = "Abilities.Vore" set name = "Restore Control" set desc = "Release control of your predator's body." @@ -280,73 +279,76 @@ if(istype(I, /mob/living/dominated_brain)) var/mob/living/dominated_brain/db = I if(db.ckey == db.pred_ckey) - to_chat(src, "You ease off of your control, releasing \the [db].") - to_chat(db, "You feel the alien presence fade, and restore control of your body to you of their own will...") + to_chat(src, span_notice("You ease off of your control, releasing \the [db].")) + to_chat(db, span_notice("You feel the alien presence fade, and restore control of your body to you of their own will...")) db.restore_control() return else continue - to_chat(src, "You haven't been taken over, and shouldn't have this verb. I'll clean that up for you. Report this on the github, it is a bug.") - verbs -= /mob/proc/release_predator + to_chat(src, span_danger("You haven't been taken over, and shouldn't have this verb. I'll clean that up for you. Report this on the github, it is a bug.")) + remove_verb(src, /mob/proc/release_predator) /mob/living/dominated_brain/proc/resist_control() - set category = "Abilities" + set category = "Abilities.Vore" set name = "Resist Control" set desc = "Attempt to resist control." if(pred_body.ckey == pred_ckey) dominate_predator() return if(pred_ckey == ckey && pred_body.prey_controlled) - to_chat(src, "You begin to resist \the [prey_name]'s control!!!") - to_chat(pred_body, "You feel the captive mind of [src] begin to resist your control.") + to_chat(src, span_danger("You begin to resist \the [prey_name]'s control!!!")) + to_chat(pred_body, span_danger("You feel the captive mind of [src] begin to resist your control.")) if(do_after(src, 10 SECONDS, exclusive = TRUE)) restore_control() else - to_chat(src, "Your attempt to regain control has been interrupted...") - to_chat(pred_body, "The dominant sensation fades away...") + to_chat(src, span_notice("Your attempt to regain control has been interrupted...")) + to_chat(pred_body, span_notice("The dominant sensation fades away...")) else - to_chat(src, "\The [pred_body] is already dominated, and cannot be controlled at this time.") + to_chat(src, span_warning("\The [pred_body] is already dominated, and cannot be controlled at this time.")) /mob/living/proc/dominate_prey() - set category = "Abilities" + set category = "Abilities.Vore" set name = "Dominate Prey" set desc = "Connect to and dominate the brain of your prey." var/list/possible_mobs = list() for(var/obj/belly/B in src.vore_organs) for(var/mob/living/L in B) - if(isliving(L) && L.ckey) + if(isliving(L) && L.ckey && L.allow_mind_transfer) possible_mobs |= L else continue if(!possible_mobs) - to_chat(src, "There are no valid targets inside of you.") + to_chat(src, span_warning("There are no valid targets inside of you.")) return var/input = tgui_input_list(src, "Select a mob to dominate:", "Dominate Prey", possible_mobs) if(!input) return var/mob/living/M = input + if(!M.allow_mind_transfer) //check if the dominated mob pref is enabled + to_chat(src, span_warning("[M] is unable to be dominated.")) + return if(tgui_alert(src, "You selected [M] to attempt to dominate. Are you sure?", "Dominate Prey",list("No","Yes")) != "Yes") return log_admin("[key_name_admin(src)] offered to use dominate prey on [M] ([M.ckey]).") - to_chat(src, "Attempting to dominate and gather \the [M]'s mind...") + to_chat(src, span_warning("Attempting to dominate and gather \the [M]'s mind...")) if(tgui_alert(M, "\The [src] has elected collect your mind into their own. Is this something you will allow to happen?", "Allow Dominate Prey",list("No","Yes")) != "Yes") - to_chat(src, "\The [M] has declined your Dominate Prey attempt.") + to_chat(src, span_warning("\The [M] has declined your Dominate Prey attempt.")) return if(tgui_alert(M, "Are you sure? You can only undo this while your body is inside of [src]. (You can resist, or use the resist verb in the abilities tab)", "Allow Dominate Prey",list("No","Yes")) != "Yes") - to_chat(src, "\The [M] has declined your Dominate Prey attempt.") + to_chat(src, span_warning("\The [M] has declined your Dominate Prey attempt.")) return - to_chat(M, "You can feel the will of another pulling you away from your body...") - to_chat(src, "You can feel the will of your prey diminishing as you gather them!") + to_chat(M, span_warning("You can feel the will of another pulling you away from your body...")) + to_chat(src, span_warning("You can feel the will of your prey diminishing as you gather them!")) if(!do_after(src, 10 SECONDS, exclusive = TRUE)) - to_chat(M, "The alien presence fades, and you are left along in your body...") - to_chat(src, "Your attempt to gather [M]'s mind has been interrupted.") + to_chat(M, span_notice("The alien presence fades, and you are left along in your body...")) + to_chat(src, span_notice("Your attempt to gather [M]'s mind has been interrupted.")) return if(!isbelly(M.loc)) - to_chat(M, "The alien presence fades, and you are left along in your body...") - to_chat(src, "Your attempt to gather [M]'s mind has been interrupted.") + to_chat(M, span_notice("The alien presence fades, and you are left along in your body...")) + to_chat(src, span_notice("Your attempt to gather [M]'s mind has been interrupted.")) return var/mob/living/dominated_brain/db = new /mob/living/dominated_brain(src, src, M.name, M) @@ -366,44 +368,44 @@ db.ooc_notes_dislikes = M.ooc_notes_dislikes db.prey_ooc_likes = M.ooc_notes_likes db.prey_ooc_dislikes = M.ooc_notes_dislikes - db.verbs |= /mob/living/dominated_brain/proc/cease_this_foolishness + add_verb(db, /mob/living/dominated_brain/proc/cease_this_foolishness) absorb_langs() db.ckey = db.prey_ckey log_admin("[db] ([db.ckey]) has agreed to [src]'s dominate prey attempt, and so no longer occupies their original body.") - to_chat(src, "You feel your mind expanded as [M] is incorporated into you.") - to_chat(M, "Your mind is gathered into \the [src], becoming part of them...") + to_chat(src, span_notice("You feel your mind expanded as [M] is incorporated into you.")) + to_chat(M, span_warning("Your mind is gathered into \the [src], becoming part of them...")) /mob/living/dominated_brain/proc/cease_this_foolishness() - set category = "Abilities" + set category = "Abilities.Vore" set name = "Return to Body" set desc = "If your body is inside of your predator still, attempts to re-insert yourself into it." if(prey_body && prey_body.loc.loc == pred_body) - to_chat(src, "You exert your will and attempt to return to yout body!!!") - to_chat(pred_body, "\The [src] resists your hold and attempts to return to their body!") + to_chat(src, span_notice("You exert your will and attempt to return to yout body!!!")) + to_chat(pred_body, span_warning("\The [src] resists your hold and attempts to return to their body!")) if(do_after(src, 10 SECONDS, exclusive = TRUE)) if(prey_body && prey_body.loc.loc == pred_body) prey_body.ckey = prey_ckey pred_body.absorb_langs() - to_chat(src, "Your connection to [pred_body] fades, and you awaken back in your own body!") - to_chat(pred_body, "You feel as though a piece of yourself is missing, as \the [src] returns to their body.") + to_chat(src, span_warning("Your connection to [pred_body] fades, and you awaken back in your own body!")) + to_chat(pred_body, span_warning("You feel as though a piece of yourself is missing, as \the [src] returns to their body.")) log_admin("[src] ([src.ckey]) has returned to their body, [prey_body].") qdel(src) else - to_chat(src, "Your attempt to regain your body has been interrupted...") + to_chat(src, span_warning("Your attempt to regain your body has been interrupted...")) else - to_chat(src, "Your attempt to regain your body has been interrupted...") + to_chat(src, span_warning("Your attempt to regain your body has been interrupted...")) else if(prey_body) - to_chat(src, "You can sense your body... but it is not contained within [pred_body]... You cannot return to it at this time.") + to_chat(src, span_warning("You can sense your body... but it is not contained within [pred_body]... You cannot return to it at this time.")) else - to_chat(src, "Your body seems to no longer exist, so, you cannot return to it.") - verbs -= /mob/living/dominated_brain/proc/cease_this_foolishness + to_chat(src, span_warning("Your body seems to no longer exist, so, you cannot return to it.")) + remove_verb(src, /mob/living/dominated_brain/proc/cease_this_foolishness) /mob/living/proc/lend_prey_control() - set category = "Abilities" + set category = "Abilities.Vore" set name = "Give Prey Control" set desc = "Allow prey control of your body." @@ -415,7 +417,7 @@ else continue if(!possible_mobs) - to_chat(src, "There are no valid targets inside of you.") + to_chat(src, span_warning("There are no valid targets inside of you.")) return var/input = tgui_input_list(src, "Select a mob to give control:", "Give Prey Control", possible_mobs) if(!input) @@ -424,39 +426,39 @@ var/mob/living/pred = src if(prey.stat == DEAD) - to_chat(pred, "You cannot do that to this prey.") + to_chat(pred, span_warning("You cannot do that to this prey.")) return if(!prey.ckey) - to_chat(pred, "\The [prey] cannot take control.") + to_chat(pred, span_notice("\The [prey] cannot take control.")) return - if(isrobot(pred) && jobban_isbanned(prey, "Cyborg")) - to_chat(pred, "Forces beyond your comprehension prevent you from giving [prey] control.") + if(isrobot(pred) && jobban_isbanned(prey, JOB_CYBORG)) + to_chat(pred, span_warning("Forces beyond your comprehension prevent you from giving [prey] control.")) return if(prey.prey_controlled) - to_chat(pred, "\The [prey] is already under someone's control and cannot be given control of your body.") + to_chat(pred, span_warning("\The [prey] is already under someone's control and cannot be given control of your body.")) return if(pred.prey_controlled) - to_chat(pred, "You are already controlling someone's body.") + to_chat(pred, span_warning("You are already controlling someone's body.")) return if(tgui_alert(pred, "You are attempting to give [prey] control over you, are you sure? Ensure that their preferences align with this kind of play.", "Give Prey Control",list("No","Yes")) != "Yes") return - to_chat(pred, "You attempt to give your control over to \the [prey]...") + to_chat(pred, span_notice("You attempt to give your control over to \the [prey]...")) log_admin("[key_name_admin(pred)] attempted to give control to [prey].") if(tgui_alert(prey, "\The [pred] has elected to attempt to give you control of them. Is this something you will allow to happen?", "Allow Prey Domination",list("No","Yes")) != "Yes") - to_chat(pred, "\The [prey] declined your request for control.") + to_chat(pred, span_warning("\The [prey] declined your request for control.")) return if(tgui_alert(prey, "Are you sure? If you should decide to revoke this, you will have the ability to do so in your 'Abilities' tab.", "Allow Prey Domination",list("No","Yes")) != "Yes") return - to_chat(pred, "You diminish your will, reducing it and allowing will of your prey to take over...") - to_chat(prey, "You can feel the will of your host diminishing as you are given control over them!") + to_chat(pred, span_warning("You diminish your will, reducing it and allowing will of your prey to take over...")) + to_chat(prey, span_warning("You can feel the will of your host diminishing as you are given control over them!")) if(!do_after(pred, 10 SECONDS, exclusive = TRUE)) - to_chat(pred, "Your attempt to share control has been interrupted...") - to_chat(prey, "The dominant sensation fades away...") + to_chat(pred, span_notice("Your attempt to share control has been interrupted...")) + to_chat(prey, span_notice("The dominant sensation fades away...")) return - to_chat(prey, "You plunge your conciousness into \the [pred], assuming control over their very body, leaving your own behind within \the [pred]'s [loc].") - to_chat(pred, "You feel your body move on its own, as you move to the background, and an alien consciousness displaces yours.") + to_chat(prey, span_danger("You plunge your conciousness into \the [pred], assuming control over their very body, leaving your own behind within \the [pred]'s [loc].")) + to_chat(pred, span_danger("You feel your body move on its own, as you move to the background, and an alien consciousness displaces yours.")) var/mob/living/dominated_brain/pred_brain var/delete_source = FALSE if(istype(prey, /mob/living/dominated_brain)) @@ -487,7 +489,7 @@ pred.ooc_notes_likes = pred_brain.prey_ooc_likes pred.ooc_notes_dislikes = pred_brain.prey_ooc_dislikes - pred.verbs |= /mob/proc/release_predator + add_verb(pred, /mob/proc/release_predator) //Now actually put the people in the mobs pred_brain.ckey = pred_brain.pred_ckey diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/dragon.dm b/code/modules/mob/living/simple_mob/subtypes/vore/dragon.dm index 7c2ee03da4c..9915d171b0f 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/dragon.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/dragon.dm @@ -8,7 +8,7 @@ icon = 'icons/mob/vore64x64.dmi' vis_height = 64 - faction = "dragon" + faction = FACTION_DRAGON maxHealth = 500 // Boss health = 500 see_in_dark = 8 @@ -17,7 +17,7 @@ melee_damage_upper = 30 meat_amount = 15 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + meat_type = /obj/item/reagent_containers/food/snacks/meat //Space dragons aren't affected by atmos. min_oxy = 0 @@ -92,7 +92,7 @@ catalogue_data = list(/datum/category_item/catalogue/fauna/phoron_dragon) maxHealth = 300 health = 300 - faction = "virgo3b" + faction = FACTION_VIRGO3B icon_dead = "phoron_dragon_dead" icon_living = "phoron_dragon" icon_state = "phoron_dragon" @@ -105,8 +105,8 @@ . = ..() if(!riding_datum) riding_datum = new /datum/riding/simple_mob(src) - verbs |= /mob/living/simple_mob/proc/animal_mount - verbs |= /mob/living/proc/toggle_rider_reins + add_verb(src, /mob/living/simple_mob/proc/animal_mount) + add_verb(src, /mob/living/proc/toggle_rider_reins) movement_cooldown = 0 /mob/living/simple_mob/vore/aggressive/dragon/MouseDrop_T(mob/living/M, mob/living/user) @@ -120,7 +120,7 @@ tt_desc = "Astra Draconinae" maxHealth = 300 health = 300 - faction = "dragon" + faction = FACTION_DRAGON icon_dead = "space_dragon_dead" icon_living = "space_dragon" icon_state = "space_dragon" diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/fennec.dm b/code/modules/mob/living/simple_mob/subtypes/vore/fennec.dm index 297bb7a7d31..65b712c2cf4 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/fennec.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/fennec.dm @@ -33,7 +33,7 @@ icon_rest = "fennec_rest" icon = 'icons/mob/vore.dmi' - faction = "fennec" + faction = FACTION_FENNEC maxHealth = 30 health = 30 @@ -42,7 +42,7 @@ response_harm = "hits" meat_amount = 2 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat/fox + meat_type = /obj/item/reagent_containers/food/snacks/meat/fox harm_intent_damage = 5 melee_damage_lower = 1 @@ -52,6 +52,8 @@ say_list_type = /datum/say_list/fennec ai_holder_type = /datum/ai_holder/simple_mob/passive + allow_mind_transfer = TRUE + // Activate Noms! /mob/living/simple_mob/vore/fennec vore_active = 1 diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/fennix.dm b/code/modules/mob/living/simple_mob/subtypes/vore/fennix.dm index 7d16df1049a..3516d2c434d 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/fennix.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/fennix.dm @@ -8,12 +8,12 @@ icon_dead = "fennix_dead" icon = 'icons/mob/vore.dmi' - faction = "fennec" // Will protec other fenfens + faction = FACTION_FENNEC // Will protec other fenfens maxHealth = 60 health = 60 meat_amount = 5 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat/fox + meat_type = /obj/item/reagent_containers/food/snacks/meat/fox response_help = "pats" response_disarm = "gently pushes aside" @@ -27,6 +27,8 @@ say_list_type = /datum/say_list/fennix ai_holder_type = /datum/ai_holder/simple_mob/retaliate/cooperative + allow_mind_transfer = TRUE + /datum/say_list/fennix speak = list("SQUEL!","SQEL?","Skree.") emote_hear = list("Screeeeecheeeeessss!","Chirrup.") diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/frog.dm b/code/modules/mob/living/simple_mob/subtypes/vore/frog.dm index dfa3bfe5419..26622eac64a 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/frog.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/frog.dm @@ -32,7 +32,7 @@ can_be_drop_pred = 1 //They can tongue vore. meat_amount = 4 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + meat_type = /obj/item/reagent_containers/food/snacks/meat harm_intent_damage = 5 melee_damage_lower = 5 @@ -44,6 +44,8 @@ special_attack_max_range = 5 special_attack_cooldown = 100 + allow_mind_transfer = TRUE + // Pepe is love, not hate. /mob/living/simple_mob/vore/aggressive/frog/New() if(rand(1,1000000) == 1) diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/greatwolf.dm b/code/modules/mob/living/simple_mob/subtypes/vore/greatwolf.dm index a75d368c66c..1d0e18733cf 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/greatwolf.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/greatwolf.dm @@ -8,10 +8,10 @@ icon_living = "whitewolf" icon_state = "whitewolf" icon_rest = "whitewolf-rest" - faction = "sif" + faction = FACTION_SIF has_eye_glow = TRUE meat_amount = 40 //Big dog, lots of meat - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + meat_type = /obj/item/reagent_containers/food/snacks/meat old_x = -48 old_y = 0 vis_height = 92 @@ -93,8 +93,8 @@ . = ..() if(!riding_datum) riding_datum = new /datum/riding/simple_mob(src) - verbs |= /mob/living/simple_mob/proc/animal_mount - verbs |= /mob/living/proc/toggle_rider_reins + add_verb(src, /mob/living/simple_mob/proc/animal_mount) + add_verb(src, /mob/living/proc/toggle_rider_reins) movement_cooldown = -1.5 /mob/living/simple_mob/vore/greatwolf/MouseDrop_T(mob/living/M, mob/living/user) @@ -102,16 +102,16 @@ /mob/living/simple_mob/vore/greatwolf/attackby(var/obj/item/O, var/mob/user) // Trade food for people! - if(istype(O, /obj/item/weapon/reagent_containers/food)) + if(istype(O, /obj/item/reagent_containers/food)) qdel(O) playsound(src,'sound/vore/gulp.ogg', rand(10,50), 1) if(!has_AI())//No autobarf on player control. return - if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/donut) && istype(src, /mob/living/simple_mob/vore/greatwolf/black)) - to_chat(user,"The huge wolf begrudgingly accepts your offer in exchange for it's catch.") + if(istype(O, /obj/item/reagent_containers/food/snacks/donut) && istype(src, /mob/living/simple_mob/vore/greatwolf/black)) + to_chat(user,span_notice("The huge wolf begrudgingly accepts your offer in exchange for it's catch.")) release_vore_contents() else if(prob(2)) //Small chance to get prey out from white doggos - to_chat(user,"The huge wolf accepts your offer for their catch.") + to_chat(user,span_notice("The huge wolf accepts your offer for their catch.")) release_vore_contents() return . = ..() @@ -123,7 +123,7 @@ B.desc = "The moment the wolf gets its jaws around you, it scoops you right up off of the ground, and greedily scarfs you down with a few swift gulps. Your small frame alone is hardly enough to make him look somewhat plump as you slop wetly into that dark, hot chamber, although the dense squish is rather comfortable. The thick, humid air is tinged with the smell of digested meat, and the surrounding flesh wastes no time in clenching and massaging down over its newfound fodder." B.vore_sound = "Tauric Swallow" B.release_sound = "Pred Escape" - B.mode_flags = list(DM_FLAG_NUMBING, DM_FLAG_THICKBELLY, DM_FLAG_AFFECTWORN) + B.mode_flags = DM_FLAG_NUMBING | DM_FLAG_THICKBELLY | DM_FLAG_AFFECTWORN B.fancy_vore = 1 B.vore_verb = "slurp" B.contamination_color = "grey" diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/hippo.dm b/code/modules/mob/living/simple_mob/subtypes/vore/hippo.dm index 756caf7951c..725d48590f1 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/hippo.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/hippo.dm @@ -39,7 +39,7 @@ pixel_y = 0 meat_amount = 15 //Infinite meat! - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + meat_type = /obj/item/reagent_containers/food/snacks/meat max_buckled_mobs = 1 //Yeehaw can_buckle = TRUE @@ -70,8 +70,8 @@ . = ..() if(!riding_datum) riding_datum = new /datum/riding/simple_mob(src) - verbs |= /mob/living/simple_mob/proc/animal_mount - verbs |= /mob/living/proc/toggle_rider_reins + add_verb(src, /mob/living/simple_mob/proc/animal_mount) + add_verb(src, /mob/living/proc/toggle_rider_reins) movement_cooldown = 0 /mob/living/simple_mob/vore/hippo/MouseDrop_T(mob/living/M, mob/living/user) diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/horse.dm b/code/modules/mob/living/simple_mob/subtypes/vore/horse.dm index afe0c96324e..4432da92be7 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/horse.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/horse.dm @@ -8,7 +8,7 @@ icon_dead = "horse-dead" icon = 'icons/mob/vore.dmi' - faction = "horse" + faction = FACTION_HORSE maxHealth = 60 health = 60 @@ -24,7 +24,7 @@ attacktext = list("kicked") meat_amount = 6 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + meat_type = /obj/item/reagent_containers/food/snacks/meat max_buckled_mobs = 1 //Yeehaw can_buckle = TRUE @@ -35,6 +35,8 @@ say_list_type = /datum/say_list/horse ai_holder_type = /datum/ai_holder/simple_mob/retaliate + allow_mind_transfer = TRUE + /mob/living/simple_mob/vore/horse/big name = "horse" icon_state = "horse" @@ -70,8 +72,8 @@ . = ..() if(!riding_datum) riding_datum = new /datum/riding/simple_mob(src) - verbs |= /mob/living/simple_mob/proc/animal_mount - verbs |= /mob/living/proc/toggle_rider_reins + add_verb(src, /mob/living/simple_mob/proc/animal_mount) + add_verb(src, /mob/living/proc/toggle_rider_reins) movement_cooldown = -2 /mob/living/simple_mob/vore/horse/MouseDrop_T(mob/living/M, mob/living/user) @@ -194,4 +196,4 @@ holder.set_dir(moving_to) holder.IMove(get_step(holder,moving_to)) wander_delay = base_wander_delay - ai_log("handle_wander_movement() : Exited.", AI_LOG_TRACE) \ No newline at end of file + ai_log("handle_wander_movement() : Exited.", AI_LOG_TRACE) diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/jelly.dm b/code/modules/mob/living/simple_mob/subtypes/vore/jelly.dm index 00e360e9d81..3e84d02a041 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/jelly.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/jelly.dm @@ -7,7 +7,7 @@ icon_state = "jelly" icon = 'icons/mob/vore.dmi' - faction = "virgo2" + faction = FACTION_VIRGO2 maxHealth = 50 health = 50 @@ -27,6 +27,8 @@ max_n2 = 0 minbodytemp = 0 + allow_mind_transfer = TRUE + // Activate Noms! vore_active = 1 vore_pounce_chance = 0 diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/lamia.dm b/code/modules/mob/living/simple_mob/subtypes/vore/lamia.dm index 912ae09a096..ed91a897a8a 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/lamia.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/lamia.dm @@ -24,7 +24,7 @@ default_pixel_x = -16 pixel_x = -16 pixel_y = 0 - faction = "lamia" + faction = FACTION_LAMIA // Vore tags vore_active = 1 diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/leopardmander.dm b/code/modules/mob/living/simple_mob/subtypes/vore/leopardmander.dm index 1095bff7d6e..81e756e5277 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/leopardmander.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/leopardmander.dm @@ -8,9 +8,9 @@ icon_living = "leopardmander" icon_state = "leopardmander" icon_rest = "leopardmander-rest" - faction = "neutral" + faction = FACTION_NEUTRAL meat_amount = 40 //I mean... - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + meat_type = /obj/item/reagent_containers/food/snacks/meat old_x = -48 old_y = 0 melee_damage_lower = 10 @@ -66,8 +66,8 @@ . = ..() if(!riding_datum) riding_datum = new /datum/riding/simple_mob(src) - verbs |= /mob/living/simple_mob/proc/animal_mount - verbs |= /mob/living/proc/toggle_rider_reins + add_verb(src, /mob/living/simple_mob/proc/animal_mount) + add_verb(src, /mob/living/proc/toggle_rider_reins) movement_cooldown = -1 /mob/living/simple_mob/vore/leopardmander/Initialize() @@ -135,13 +135,13 @@ /mob/living/simple_mob/vore/leopardmander/exotic/proc/toggle_glow() set name = "Toggle Glow" set desc = "Switch between glowing and not glowing." - set category = "Abilities" + set category = "Abilities.Leopardmander" glow_toggle = !glow_toggle /mob/living/simple_mob/vore/leopardmander/exotic/New() ..() - verbs |= /mob/living/simple_mob/vore/leopardmander/exotic/proc/toggle_glow + add_verb(src, /mob/living/simple_mob/vore/leopardmander/exotic/proc/toggle_glow) /mob/living/simple_mob/vore/leopardmander/exotic/init_vore() . = ..() diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/macrophage.dm b/code/modules/mob/living/simple_mob/subtypes/vore/macrophage.dm new file mode 100644 index 00000000000..3e340e0abca --- /dev/null +++ b/code/modules/mob/living/simple_mob/subtypes/vore/macrophage.dm @@ -0,0 +1,69 @@ +/mob/living/simple_mob/vore/aggressive/macrophage + name = "Germ" + desc = "A giant virus!" + icon = 'icons/mob/macrophage.dmi' + icon_state = "macrophage-1" + + faction = FACTION_MACROBACTERIA + maxHealth = 60 + health = 60 + + var/datum/disease/base_disease = null + var/list/infections = list() + + melee_damage_lower = 1 + melee_damage_upper = 5 + grab_resist = 100 + see_in_dark = 8 + + response_help = "shoos" + response_disarm = "swats away" + response_harm = "squashes" + attacktext = list("squashed") + friendly = list("shoos", "rubs") + + vore_bump_chance = "attempts to absorb" + + vore_active = TRUE + vore_capacity = 1 + + can_be_drop_prey = FALSE + allow_mind_transfer = TRUE + + ai_holder_type = /datum/ai_holder/simple_mob/melee + +/mob/living/simple_mob/vore/aggressive/macrophage/proc/deathcheck() + if(locate(/mob/living/carbon/human) in vore_selected) + addtimer(CALLBACK(src, TYPE_PROC_REF(/mob/living/simple_mob/vore/aggressive/macrophage, deathcheck)), 3000) + else + dust() + +/mob/living/simple_mob/vore/aggressive/macrophage/green + icon_state = "macrophage-2" + +/mob/living/simple_mob/vore/aggressive/macrophage/pink + icon_state = "macrophage-3" + +/mob/living/simple_mob/vore/aggressive/macrophage/blue + icon_state = "macrophage-4" + +/obj/belly/macrophage + name = "capsid" + fancy_vore = TRUE + contamination_color = "green" + vore_verb = "absorb" + escapable = TRUE + escapable = 20 + desc = "In an attempt to get away from the giant virus, it's oversized envelope proteins dragged you right past it's matrix, encapsulating you deep inside it's capsid... The strange walls kneading and keeping you tight along within it's nucleoprotein." + belly_fullscreen = "VBO_gematically_angular" + belly_fullscreen_color = "#87d8d8" + digest_mode = DM_ABSORB + affects_vore_sprites = FALSE + +/mob/living/simple_mob/vore/aggressive/macrophage/init_vore() + + if(LAZYLEN(vore_organs)) + return TRUE + + var/obj/belly/B = new /obj/belly/macrophage(src) + vore_selected = B diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/meowl.dm b/code/modules/mob/living/simple_mob/subtypes/vore/meowl.dm index 421a1dc64bd..5fb2a327ad8 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/meowl.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/meowl.dm @@ -8,7 +8,7 @@ icon_living = "meowl" icon_state = "meowl" icon_rest = "meowl_rest" - faction = "meowl" + faction = FACTION_MEOWL friendly = list("nudges", "sniffs on", "rumbles softly at", "nuzzles") response_help = "pets" response_disarm = "shoves" @@ -101,10 +101,10 @@ "Strain as you might, you can't keep up the effort long enough before you sink back into %pred's %belly.") /mob/living/simple_mob/vore/meowl/attackby(var/obj/item/O as obj, var/mob/user as mob) - if(istype(O, /obj/item/weapon/reagent_containers/food)) + if(istype(O, /obj/item/reagent_containers/food)) if(health <= 0) return - user.visible_message("\The [src] happily gulps down \the [O] right out of \the [user]'s hand, it seems pretty content now.","\The [src] happily gulps down \the [O] right out of your hand, it seems pretty content now.") + user.visible_message(span_notice("\The [src] happily gulps down \the [O] right out of \the [user]'s hand, it seems pretty content now."),span_notice("\The [src] happily gulps down \the [O] right out of your hand, it seems pretty content now.")) user.drop_from_inventory(O) qdel(O) well_fed = world.time @@ -115,9 +115,9 @@ vore_pounce_cooldown = world.time + 1 SECONDS // don't attempt another pounce for a while if(prob(max(successrate,33))) // pounce success! M.Weaken(5) - M.visible_message("\The [src] pounces on \the [M]!!") + M.visible_message(span_danger("\The [src] pounces on \the [M]!")) else // pounce misses! - M.visible_message("\The [src] attempts to pounce \the [M] but misses!!") + M.visible_message(span_danger("\The [src] attempts to pounce \the [M] but misses!")) playsound(src, 'sound/weapons/punchmiss.ogg', 25, 1, -1) if(will_eat(M) && (!M.canmove || vore_standing_too)) //if they're edible then eat them too @@ -137,6 +137,8 @@ /datum/ai_holder/simple_mob/vore/meowl var/last_friend_time = 0 + violent_breakthrough = FALSE + destructive = FALSE /datum/ai_holder/simple_mob/vore/meowl/engage_target() ai_log("engage_target() : Entering.", AI_LOG_DEBUG) @@ -253,8 +255,8 @@ var/distance = get_dist(holder, target) if(distance <= 1) var/talkies = pick(friend_text_close) - holder.visible_message("\The [holder] [talkies]") + holder.visible_message(span_infoplain(span_bold("\The [holder]") + " [talkies]")) else var/talkies = pick(friend_text_far) - holder.visible_message("\The [holder] [talkies]") + holder.visible_message(span_infoplain(span_bold("\The [holder]") + " [talkies]")) last_friend_time = world.time diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/mimic.dm b/code/modules/mob/living/simple_mob/subtypes/vore/mimic.dm index e6fee921b79..19eab2768bf 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/mimic.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/mimic.dm @@ -31,7 +31,7 @@ mimic_active = FALSE if(prob(mimic_chance)) var/mob/living/simple_mob/vore/aggressive/mimic/new_mimic = new(loc, src) - visible_message(span_red("[new_mimic] suddenly growls as it turns out to be a mimic!")) + visible_message(span_bolddanger("[new_mimic] suddenly growls as it turns out to be a mimic!")) forceMove(new_mimic) new_mimic.real_crate = src new_mimic.name = name @@ -52,7 +52,7 @@ /obj/structure/closet/crate/mimic/damage(var/damage) if(contents.len) - visible_message(span_red("[src] makes out a crunchy noise as its contents are destroyed!")) + visible_message(span_bolddanger("[src] makes out a crunchy noise as its contents are destroyed!")) for(var/obj/O in src.contents) qdel(O) ..() @@ -79,7 +79,7 @@ icon_living = "crate" icon = 'icons/obj/storage.dmi' - faction = "mimic" + faction = FACTION_MIMIC maxHealth = 125 health = 125 @@ -130,7 +130,7 @@ var/mob/living/L = A if(prob(knockdown_chance)) L.Weaken(3) - L.visible_message(span("danger", "\The [src] knocks down \the [L]!")) + L.visible_message(span_danger("\The [src] knocks down \the [L]!")) /mob/living/simple_mob/vore/aggressive/mimic/will_show_tooltip() return FALSE diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/mobs_monsters/clowns/Big.dm b/code/modules/mob/living/simple_mob/subtypes/vore/mobs_monsters/clowns/Big.dm index 62c53af4d66..c3e4c4ea0de 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/mobs_monsters/clowns/Big.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/mobs_monsters/clowns/Big.dm @@ -1,6 +1,6 @@ /mob/living/simple_mob/clowns/big tt_desc = "E Homo sapiens corydon horrificus" //this clown is stronk - faction = "clown" + faction = FACTION_CLOWN maxHealth = 200 health = 200 @@ -16,7 +16,7 @@ ai_holder_type = /datum/ai_holder/simple_mob/melee/angryclowns - loot_list = list(/obj/item/weapon/bikehorn = 100) + loot_list = list(/obj/item/bikehorn = 100) min_oxy = 0 max_oxy = 500 diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/mobs_monsters/clowns/Clowns.dm b/code/modules/mob/living/simple_mob/subtypes/vore/mobs_monsters/clowns/Clowns.dm index 78dd49c4ab1..f6a5fea363d 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/mobs_monsters/clowns/Clowns.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/mobs_monsters/clowns/Clowns.dm @@ -1,10 +1,10 @@ /mob/living/simple_mob/clowns/ tt_desc = "E Homo sapiens corydon" //this is a clown - faction = "clown" + faction = FACTION_CLOWN movement_sound = 'sound/effects/clownstep2.ogg' attack_sound = 'sound/effects/Whipcrack.ogg' - faction = "clown" + faction = FACTION_CLOWN maxHealth = 100 health = 100 @@ -18,7 +18,7 @@ ai_holder_type = /datum/ai_holder/simple_mob/melee/clowns - loot_list = list(/obj/item/weapon/bikehorn = 100) + loot_list = list(/obj/item/bikehorn = 100) min_oxy = 0 max_oxy = 0 diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/mobs_monsters/clowns/bus.dm b/code/modules/mob/living/simple_mob/subtypes/vore/mobs_monsters/clowns/bus.dm index 6ecc2b5bb77..ad73462e296 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/mobs_monsters/clowns/bus.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/mobs_monsters/clowns/bus.dm @@ -1,7 +1,7 @@ /mob/living/simple_mob/clowns/big/c_shift tt_desc = "E Homo sapiens corydon horrificus" //this is a redspace clown - faction = "clown" + faction = FACTION_CLOWN /mob/living/simple_mob/clowns/big/c_shift/New() ..() - verbs += /mob/living/simple_mob/clowns/big/c_shift/proc/phase_shift + add_verb(src, /mob/living/simple_mob/clowns/big/c_shift/proc/phase_shift) diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/mobs_monsters/clowns/c_shift.dm b/code/modules/mob/living/simple_mob/subtypes/vore/mobs_monsters/clowns/c_shift.dm index a576a3e39ee..70a0daad488 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/mobs_monsters/clowns/c_shift.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/mobs_monsters/clowns/c_shift.dm @@ -5,7 +5,7 @@ /mob/living/simple_mob/clowns/big/c_shift/proc/phase_shift() var/turf/T = get_turf(src) if(!T.CanPass(src,T) || loc != T) - to_chat(src,"You can't use that here!") + to_chat(src,span_warning("You can't use that here!")) return FALSE forceMove(T) diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/mobs_monsters/clowns/hespawner.dm b/code/modules/mob/living/simple_mob/subtypes/vore/mobs_monsters/clowns/hespawner.dm index 42d553b8f15..cf4ac935a3a 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/mobs_monsters/clowns/hespawner.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/mobs_monsters/clowns/hespawner.dm @@ -13,7 +13,7 @@ cutoff_number = 1 /obj/structure/ghost_pod/manual/clegg/trigger() - ..("\The [usr] places their hand on the egg!", "is attempting to make a mistake!") + ..(span_warning("\The [usr] places their hand on the egg!"), "is attempting to make a mistake!") /obj/structure/ghost_pod/manual/clegg/create_occupant(var/mob/M) lightning_strike(get_turf(src), cosmetic = TRUE) @@ -23,8 +23,8 @@ var/mob/living/simple_mob/R = new chosen_clown(get_turf(src)) if(M.mind) M.mind.transfer_to(R) - to_chat(M, "You are a Clown!! HONK!") + to_chat(M, span_notice("You are a Clown!! HONK!")) R.ckey = M.ckey - visible_message("With a bright flash of light, \the [src] disappears, and in its place you see a... Clown?") + visible_message(span_warning("With a bright flash of light, \the [src] disappears, and in its place you see a... Clown?")) log_and_message_admins("successfully touched \a [src] and summoned a mistake!") ..() diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/mobs_monsters/clowns/honkelemental.dm b/code/modules/mob/living/simple_mob/subtypes/vore/mobs_monsters/clowns/honkelemental.dm index 66807e24a28..cfd68d41c47 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/mobs_monsters/clowns/honkelemental.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/mobs_monsters/clowns/honkelemental.dm @@ -9,9 +9,9 @@ icon_gib = "generic_gib" vis_height = 96 - faction = "clown" + faction = FACTION_CLOWN - loot_list = list(/obj/item/weapon/bikehorn = 100) + loot_list = list(/obj/item/bikehorn = 100) response_help = "pokes" response_disarm = "gently pushes aside" @@ -24,7 +24,7 @@ emote_see = list("honks") /mob/living/simple_mob/clowns/big/c_shift/honkelemental/verb/spawn_egg() - set category = "Abilities" + set category = "Abilities.Clown" set name = "Spawn Clown Egg" set desc = "Spawns an egg that a player can touch, which will call on ghosts to spawn as clowns." diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/mobs_monsters/clowns/regularclowns.dm b/code/modules/mob/living/simple_mob/subtypes/vore/mobs_monsters/clowns/regularclowns.dm index ba57b9eab69..2e803775859 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/mobs_monsters/clowns/regularclowns.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/mobs_monsters/clowns/regularclowns.dm @@ -353,9 +353,9 @@ icon_gib = "generic_gib" vis_height = 32 - faction = "clown" + faction = FACTION_CLOWN - loot_list = list(/obj/item/weapon/bikehorn = 100) + loot_list = list(/obj/item/bikehorn = 100) response_help = "pokes" response_disarm = "gently pushes aside" diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/morph/morph.dm b/code/modules/mob/living/simple_mob/subtypes/vore/morph/morph.dm index 8dae71b3bf1..a726e5dcb48 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/morph/morph.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/morph/morph.dm @@ -62,10 +62,10 @@ /obj/effect)) /mob/living/simple_mob/vore/morph/Initialize() - verbs += /mob/living/proc/ventcrawl - verbs += /mob/living/simple_mob/vore/morph/proc/take_over_prey + add_verb(src, /mob/living/proc/ventcrawl) + add_verb(src, /mob/living/simple_mob/vore/morph/proc/take_over_prey) if(!istype(src, /mob/living/simple_mob/vore/morph/dominated_prey)) - verbs += /mob/living/simple_mob/vore/morph/proc/morph_color + add_verb(src, /mob/living/simple_mob/vore/morph/proc/morph_color) return ..() @@ -80,7 +80,7 @@ if(morphed) . = form.examine(user) if(get_dist(user, src) <= 3 && !resting) - . += "[form] doesn't look quite right..." + . += span_warning("[form] doesn't look quite right...") else . = ..() @@ -93,22 +93,22 @@ if(istype(A) && allowed(A)) assume(A) else - to_chat(src, "Your chameleon skin is still repairing itself!") + to_chat(src, span_warning("Your chameleon skin is still repairing itself!")) else ..() /mob/living/simple_mob/vore/morph/proc/assume(atom/movable/target) var/mob/living/carbon/human/humantarget = target - if(istype(humantarget) && humantarget.resleeve_lock && ckey != humantarget.resleeve_lock) - to_chat(src, "[target] cannot be impersonated!") + if(istype(humantarget) && !humantarget.allow_mimicry) + to_chat(src, span_warning("[target] cannot be impersonated!")) return if(morphed) - to_chat(src, "You must restore to your original form first!") + to_chat(src, span_warning("You must restore to your original form first!")) return morphed = TRUE form = target - visible_message("[src] suddenly twists and changes shape, becoming a copy of [target]!") + visible_message(span_warning("[src] suddenly twists and changes shape, becoming a copy of [target]!")) color = null name = target.name desc = target.desc @@ -144,12 +144,12 @@ /mob/living/simple_mob/vore/morph/proc/restore(var/silent = FALSE) if(!morphed) - to_chat(src, "You're already in your normal form!") + to_chat(src, span_warning("You're already in your normal form!")) return morphed = FALSE if(!silent) - visible_message("[src] suddenly collapses in on itself, dissolving into a pile of flesh!") + visible_message(span_warning("[src] suddenly collapses in on itself, dissolving into a pile of flesh!")) form = null name = initial(name) @@ -189,7 +189,7 @@ /mob/living/simple_mob/vore/morph/death(gibbed) if(morphed) - visible_message("[src] twists and dissolves into a pile of flesh!") + visible_message(span_warning("[src] twists and dissolves into a pile of flesh!")) restore(TRUE) ..() @@ -209,10 +209,10 @@ //Stolen from protean blobs, ambush noms from resting! Doesn't hide you any better, but makes noms sneakier. if(resting) plane = ABOVE_OBJ_PLANE - to_chat(src,"Your form settles in, appearing more 'normal'... laying in wait.") + to_chat(src,span_notice("Your form settles in, appearing more 'normal'... laying in wait.")) else plane = MOB_PLANE - to_chat(src,"Your form quivers back to life, allowing you to move again!") + to_chat(src,span_notice("Your form quivers back to life, allowing you to move again!")) if(can_be_drop_pred) //Toggleable in vore panel var/list/potentials = living_mobs(0) if(potentials.len) @@ -221,7 +221,7 @@ if(target.buckled) target.buckled.unbuckle_mob(target, force = TRUE) target.forceMove(vore_selected) - to_chat(target,"\The [src] quickly engulfs you, [vore_selected.vore_verb]ing you into their [vore_selected.name]!") + to_chat(target,span_vwarning("\The [src] quickly engulfs you, [vore_selected.vore_verb]ing you into their [vore_selected.name]!")) else ..() @@ -247,7 +247,7 @@ /mob/living/simple_mob/vore/morph/proc/morph_color() set name = "Pick Color" - set category = "Abilities" + set category = "Abilities.Settings" set desc = "You can set your color!" var/newcolor = input(usr, "Choose a color.", "", color) as color|null if(newcolor) @@ -257,56 +257,50 @@ /mob/living/simple_mob/vore/morph/proc/take_over_prey() set name = "Take Over Prey" - set category = "Abilities" + set category = "Abilities.Morph" set desc = "Take command of your prey's body." if(morphed) - to_chat(src, "You must restore to your original form first!") + to_chat(src, span_warning("You must restore to your original form first!")) return var/list/possible_mobs = list() for(var/obj/belly/B in src.vore_organs) for(var/mob/living/H in B) - if( (ishuman(H) || isrobot(H)) && H.ckey ) + if((ishuman(H) || isrobot(H)) && H.ckey) possible_mobs += H else continue - var/mob/living/carbon/human/M - var/input = tgui_input_list(src, "Select a mob to take over:", "Take Over Prey", possible_mobs) - if(!input) + var/mob/living/L = tgui_input_list(src, "Select a mob to take over:", "Take Over Prey", possible_mobs) + if(!L) return - M = input - if(!M) + if(!L.allow_mimicry) + to_chat(src, span_warning("\The [L] cannot be impersonated!")) return - // Adding a ishuman check here, since silicon mobs don't have a resleeve_lock from what I can tell. - if(ishuman(M)) - if(M.resleeve_lock && ckey != M.resleeve_lock) - to_chat(src, "\The [M] cannot be impersonated!") - return - if(tgui_alert(src, "You selected [M] to attempt to take over. Are you sure?", "Take Over Prey",list("No","Yes")) == "Yes") - log_admin("[key_name_admin(src)] offered [M] to swap bodies as a morph.") - if(tgui_alert(M, "\The [src] has elected to attempt to take over your body and control you. Is this something you will allow to happen?", "Allow Morph To Take Over",list("No","Yes")) == "Yes") - if(tgui_alert(M, "Are you sure? The only way to undo this on your own is to OOC Escape.", "Allow Morph To Take Over",list("No","Yes")) == "Yes") + if(tgui_alert(src, "You selected [L] to attempt to take over. Are you sure?", "Take Over Prey",list("No","Yes")) == "Yes") + log_admin("[key_name_admin(src)] offered [L] to swap bodies as a morph.") + if(tgui_alert(L, "\The [src] has elected to attempt to take over your body and control you. Is this something you will allow to happen?", "Allow Morph To Take Over",list("No","Yes")) == "Yes") + if(tgui_alert(L, "Are you sure? The only way to undo this on your own is to OOC Escape.", "Allow Morph To Take Over",list("No","Yes")) == "Yes") if(buckled) buckled.unbuckle_mob() - if(M.buckled) - M.buckled.unbuckle_mob() + if(L.buckled) + L.buckled.unbuckle_mob() if(LAZYLEN(buckled_mobs)) for(var/buckledmob in buckled_mobs) riding_datum.force_dismount(buckledmob) - if(LAZYLEN(M.buckled_mobs)) - for(var/p_buckledmob in M.buckled_mobs) - M.riding_datum.force_dismount(p_buckledmob) + if(LAZYLEN(L.buckled_mobs)) + for(var/p_buckledmob in L.buckled_mobs) + L.riding_datum.force_dismount(p_buckledmob) if(pulledby) pulledby.stop_pulling() - if(M.pulledby) - M.pulledby.stop_pulling() + if(L.pulledby) + L.pulledby.stop_pulling() stop_pulling() original_ckey = ckey - log_and_message_admins("[key_name_admin(src)] has swapped bodies with [key_name_admin(M)] as a morph at [get_area(src)] - [COORD(src)].") - new /mob/living/simple_mob/vore/morph/dominated_prey(M.vore_selected, M.ckey, src, M) + log_and_message_admins("[key_name_admin(src)] has swapped bodies with [key_name_admin(L)] as a morph at [get_area(src)] - [COORD(src)].") + new /mob/living/simple_mob/vore/morph/dominated_prey(L.vore_selected, L.ckey, src, L) else - to_chat(src, "\The [M] declined your request for control.") + to_chat(src, span_warning("\The [L] declined your request for control.")) else - to_chat(src, "\The [M] declined your request for control.") + to_chat(src, span_warning("\The [L] declined your request for control.")) /mob/living/simple_mob/vore/morph/dominated_prey name = "subservient node" @@ -332,7 +326,7 @@ prey_body.ckey = parent_morph.original_ckey parent_morph.forceMove(src) name = "[prey_body.name]" - to_chat(prey_body, "You have completely assumed the form of [prey_body]. Your form is now unable to change anymore until you restore control back to them. You can do this by 'ejecting' them from your [prey_body.vore_selected]. This will not actually release them from your body in this state, but instead return control to them, and restore you to your original form.") + to_chat(prey_body, span_notice("You have completely assumed the form of [prey_body]. Your form is now unable to change anymore until you restore control back to them. You can do this by 'ejecting' them from your [prey_body.vore_selected]. This will not actually release them from your body in this state, but instead return control to them, and restore you to your original form.")) else qdel(src) diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/oregrub.dm b/code/modules/mob/living/simple_mob/subtypes/vore/oregrub.dm index b4a7dc22253..2ae22c5d3c2 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/oregrub.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/oregrub.dm @@ -33,7 +33,7 @@ icon_living = "oregrub" icon_dead = "oregrub-dead" - faction = "grubs" + faction = FACTION_GRUBS maxHealth = 50 //oregrubs are quite hardy health = 50 @@ -42,7 +42,7 @@ movement_cooldown = 3.5 - meat_type = /obj/item/weapon/ore/coal + meat_type = /obj/item/ore/coal response_help = "pokes" response_disarm = "pushes" @@ -130,10 +130,10 @@ inject_poison(L, target_zone) /mob/living/simple_mob/vore/oregrub/death() - visible_message("\The [src] shudders and collapses, expelling the ores it had devoured!") + visible_message(span_warning("\The [src] shudders and collapses, expelling the ores it had devoured!")) var/i = rand(min_ore,max_ore) while(i>1) - var/ore = pick(/obj/item/weapon/ore/glass,/obj/item/weapon/ore/coal,/obj/item/weapon/ore/iron,/obj/item/weapon/ore/lead,/obj/item/weapon/ore/marble,/obj/item/weapon/ore/phoron,/obj/item/weapon/ore/silver,/obj/item/weapon/ore/gold) + var/ore = pick(/obj/item/ore/glass,/obj/item/ore/coal,/obj/item/ore/iron,/obj/item/ore/lead,/obj/item/ore/marble,/obj/item/ore/phoron,/obj/item/ore/silver,/obj/item/ore/gold) new ore(src.loc) i-- ..() @@ -150,7 +150,7 @@ set_light(0) var/p = rand(lava_min_ore,lava_max_ore) while(p>1) - var/ore = pick(/obj/item/weapon/ore/osmium,/obj/item/weapon/ore/uranium,/obj/item/weapon/ore/hydrogen,/obj/item/weapon/ore/diamond,/obj/item/weapon/ore/verdantium) + var/ore = pick(/obj/item/ore/osmium,/obj/item/ore/uranium,/obj/item/ore/hydrogen,/obj/item/ore/diamond,/obj/item/ore/verdantium) new ore(src.loc) p-- ..() @@ -158,7 +158,7 @@ // Does actual poison injection, after all checks passed. /mob/living/simple_mob/vore/oregrub/proc/inject_poison(mob/living/L, target_zone) if(prob(poison_chance)) - to_chat(L, "You feel fire running through your veins!") + to_chat(L, span_warning("You feel fire running through your veins!")) L.reagents.add_reagent(poison_type, poison_per_bite) //I'm no good at writing this stuff, so I've just left it as placeholders and disabled the chances of them eating you. diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/otie.dm b/code/modules/mob/living/simple_mob/subtypes/vore/otie.dm index 4ae558a9fd6..e02408e979f 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/otie.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/otie.dm @@ -15,7 +15,7 @@ icon_living = "otie" icon_dead = "otie-dead" icon_rest = "otie_rest" - faction = "otie" + faction = FACTION_OTIE maxHealth = 150 health = 150 minbodytemp = 200 @@ -47,6 +47,8 @@ var/tamed = 0 var/tame_chance = 50 //It's a fiddy-fiddy default you may get a buddy pal or you may get mauled and ate. Win-win! + allow_mind_transfer = TRUE + // Activate Noms! /mob/living/simple_mob/vore/otie @@ -68,7 +70,7 @@ icon_living = "photie" icon_dead = "photie-dead" icon_rest = "photie_rest" - faction = "virgo3b" + faction = FACTION_VIRGO3B tame_chance = 5 // Only a 1 in 20 chance of success. It's feral. What do you expect? // Lazy way of making sure this otie survives outside. min_oxy = 0 @@ -96,7 +98,7 @@ icon_living = "hotie" icon_dead = "hotie-dead" icon_rest = "hotie_rest" - faction = "cult" + faction = FACTION_CULT tame_chance = 20 // Lazy way of making sure this otie survives outside. min_oxy = 0 @@ -113,7 +115,7 @@ /mob/living/simple_mob/vore/otie/red/friendly //gets the pet2tame feature and doesn't kill you right away name = "red otie" desc = "Seems this ominous looking longdog has been infused with wicked infernal forces. This one seems rather peaceful though." - faction = "neutral" + faction = FACTION_NEUTRAL tamed = 1 /mob/living/simple_mob/vore/otie/red/chubby //gets the pet2tame feature and doesn't kill you right away @@ -122,13 +124,13 @@ icon_state = "hotiec" icon_living = "hotiec" icon_rest = "hotiec_rest" - faction = "neutral" + faction = FACTION_NEUTRAL tamed = 1 /mob/living/simple_mob/vore/otie/friendly //gets the pet2tame feature and doesn't kill you right away name = "otie" desc = "The classic bioengineered longdog. This one might even tolerate you!" - faction = "neutral" + faction = FACTION_NEUTRAL tamed = 1 /mob/living/simple_mob/vore/otie/friendly/chubby @@ -144,7 +146,7 @@ icon_state = "cotie" icon_living = "cotie" icon_rest = "cotie_rest" - faction = "neutral" + faction = FACTION_NEUTRAL tamed = 1 /mob/living/simple_mob/vore/otie/cotie/chubby @@ -179,7 +181,7 @@ icon_living = "sotie" icon_rest = "sotie_rest" icon_dead = "sotie-dead" - faction = "neutral" + faction = FACTION_NEUTRAL maxHealth = 200 //armored or something health = 200 tamed = 1 @@ -233,16 +235,16 @@ icon_rest = "hotiesc_rest" /mob/living/simple_mob/vore/otie/attackby(var/obj/item/O, var/mob/user) // Trade donuts for bellybrig victims. - if(istype(O, /obj/item/weapon/reagent_containers/food)) + if(istype(O, /obj/item/reagent_containers/food)) qdel(O) playsound(src,'sound/items/eatfood.ogg', rand(10,50), 1) if(!has_AI())//No autobarf on player control. return - if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/donut) && istype(src, /mob/living/simple_mob/vore/otie/security)) - to_chat(user,"The guard pup accepts your offer for their catch.") + if(istype(O, /obj/item/reagent_containers/food/snacks/donut) && istype(src, /mob/living/simple_mob/vore/otie/security)) + to_chat(user,span_notice("The guard pup accepts your offer for their catch.")) release_vore_contents() else if(prob(2)) //Small chance to get prey out from non-sec oties. - to_chat(user,"The pup accepts your offer for their catch.") + to_chat(user,span_notice("The pup accepts your offer for their catch.")) release_vore_contents() return . = ..() @@ -274,7 +276,7 @@ switch(M.a_intent) if(I_HELP) if(health > 0) - M.visible_message("[M] [response_help] \the [src].") + M.visible_message(span_notice("[M] [response_help] \the [src].")) if(has_AI()) var/datum/ai_holder/AI = ai_holder AI.set_stance(STANCE_IDLE) @@ -311,8 +313,8 @@ . = ..() if(!riding_datum) riding_datum = new /datum/riding/simple_mob(src) - verbs |= /mob/living/simple_mob/proc/animal_mount - verbs |= /mob/living/proc/toggle_rider_reins + add_verb(src, /mob/living/simple_mob/proc/animal_mount) + add_verb(src, /mob/living/proc/toggle_rider_reins) movement_cooldown = 0 /mob/living/simple_mob/vore/otie/MouseDrop_T(mob/living/M, mob/living/user) diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/pakkun.dm b/code/modules/mob/living/simple_mob/subtypes/vore/pakkun.dm index 2ec34f4c3db..b64e9e8b293 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/pakkun.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/pakkun.dm @@ -24,13 +24,13 @@ icon_rest = "pakkun-rest" icon = 'icons/mob/vore.dmi' - faction = "pakkun" + faction = FACTION_PAKKUN movement_cooldown = 2 can_be_drop_pred = 1 //They can tongue vore. meat_amount = 5 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + meat_type = /obj/item/reagent_containers/food/snacks/meat vore_active = 1 vore_icons = SA_ICON_LIVING @@ -58,6 +58,8 @@ maxHealth = 100 health = 100 + allow_mind_transfer = TRUE + /mob/living/simple_mob/vore/pakkun/Life() . = ..() if(client) @@ -93,7 +95,7 @@ return ..() if(resting) playsound(src, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) - user.visible_message("\The [user] shakes \the [src] awake.","You shake \the [src] awake!") + user.visible_message(span_notice("\The [user] shakes \the [src] awake."),span_notice("You shake \the [src] awake!")) lay_down() return else @@ -159,8 +161,8 @@ B.digest_mode = DM_SELECT /mob/living/simple_mob/vore/pakkun/attackby(var/obj/item/O, var/mob/user) //if they're newspapered, they'll spit out any junk they've eaten for whatever reason - if(istype(O, /obj/item/weapon/newspaper) && !ckey && isturf(user.loc)) - user.visible_message("[user] swats [src] with [O]!") + if(istype(O, /obj/item/newspaper) && !ckey && isturf(user.loc)) + user.visible_message(span_info("[user] swats [src] with [O]!")) release_vore_contents() for(var/mob/living/L in living_mobs(0)) if(!(LAZYFIND(prey_excludes, L))) @@ -259,7 +261,7 @@ /mob/living/simple_mob/vore/pakkun/snapdragon/snappy/attack_hand(mob/living/carbon/human/M as mob) if(M.a_intent == I_HELP && !(M in petters)) - to_chat(M, "\The [src] gets a mischievous glint in her eye!!") + to_chat(M, span_notice("\The [src] gets a mischievous glint in her eye!!")) petters += M //YOU HAVE OFFERED YOURSELF TO THE LIZARD return ..() diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/panther.dm b/code/modules/mob/living/simple_mob/subtypes/vore/panther.dm index 2a3bf5cf25f..fb8e27e3c0e 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/panther.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/panther.dm @@ -10,14 +10,14 @@ icon = 'icons/mob/vore64x64.dmi' vis_height = 64 - faction = "panther" + faction = FACTION_PANTHER maxHealth = 200 health = 200 movement_cooldown = 0.5 see_in_dark = 8 meat_amount = 8 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + meat_type = /obj/item/reagent_containers/food/snacks/meat melee_damage_lower = 5 melee_damage_upper = 15 @@ -42,6 +42,8 @@ say_list_type = /datum/say_list/panther ai_holder_type = /datum/ai_holder/simple_mob/melee/evasive + allow_mind_transfer = TRUE + // Activate Noms! /mob/living/simple_mob/vore/aggressive/panther vore_active = 1 @@ -53,8 +55,8 @@ . = ..() if(!riding_datum) riding_datum = new /datum/riding/simple_mob(src) - verbs |= /mob/living/simple_mob/proc/animal_mount - verbs |= /mob/living/proc/toggle_rider_reins + add_verb(src, /mob/living/simple_mob/proc/animal_mount) + add_verb(src, /mob/living/proc/toggle_rider_reins) movement_cooldown = 0 /mob/living/simple_mob/vore/aggressive/panther/MouseDrop_T(mob/living/M, mob/living/user) diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/peasant.dm b/code/modules/mob/living/simple_mob/subtypes/vore/peasant.dm index 1bd10e9ee1e..3448e7a755c 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/peasant.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/peasant.dm @@ -28,7 +28,7 @@ "peasantmb" ) - faction = "peasant" + faction = FACTION_PEASANT /mob/living/simple_mob/vore/peasant/New() ..() @@ -69,4 +69,3 @@ B.escapechance = 15 B.selective_preference = DM_HOLD B.escape_stun = 5 - diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/plants.dm b/code/modules/mob/living/simple_mob/subtypes/vore/plants.dm index 1b027bd02c5..af3ae2a9891 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/plants.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/plants.dm @@ -10,7 +10,7 @@ icon_living = "flytrap" icon_state = "flytrap" icon_rest = "flytrap" - faction = "plants" + faction = FACTION_PLANTS harm_intent_damage = 0 melee_damage_lower = 0 melee_damage_upper = 0 @@ -91,7 +91,7 @@ icon_living = "pitcher" icon_state = "pitcher" icon_rest = "pitcher" - faction = "plants" + faction = FACTION_PLANTS movement_cooldown = 0 harm_intent_damage = 0 melee_damage_lower = 0 @@ -164,7 +164,7 @@ /mob/living/simple_mob/vore/pitcher/proc/tongue(atom/A) var/obj/item/projectile/P = new /obj/item/projectile/beam/appendage(get_turf(src)) - src.visible_message("\The [src] launches a green appendage at \the [A]!") + src.visible_message(span_danger("\The [src] launches a green appendage at \the [A]!")) playsound(src, "sound/effects/slime_squish.ogg", 50, 1) P.launch_projectile(A, BP_TORSO, src)*/ diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/rabbit.dm b/code/modules/mob/living/simple_mob/subtypes/vore/rabbit.dm index e02075c4cbc..c3f8d0b4ee1 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/rabbit.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/rabbit.dm @@ -14,7 +14,7 @@ icon_rest = "rabbit_brown_rest" icon = 'icons/mob/vore.dmi' - faction = "rabbit" + faction = FACTION_RABBIT maxHealth = 30 health = 30 @@ -33,7 +33,7 @@ ai_holder_type = /datum/ai_holder/simple_mob/passive meat_amount = 3 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + meat_type = /obj/item/reagent_containers/food/snacks/meat // Vore vars vore_active = 1 @@ -43,6 +43,8 @@ vore_default_mode = DM_HOLD vore_icons = SA_ICON_LIVING + allow_mind_transfer = TRUE + var/body_color //brown, black and white, leave blank for random var/grumpiness = 0 // This determines how grumpy we are. Pet us to increase it, leave us alone to decrease. diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/raptor.dm b/code/modules/mob/living/simple_mob/subtypes/vore/raptor.dm index 95769934ee6..4495c320348 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/raptor.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/raptor.dm @@ -7,9 +7,9 @@ icon_living = "raptorpurple" icon_state = "raptorpurple" icon_rest = "raptorpurple" - faction = "raptor" + faction = FACTION_RAPTOR meat_amount = 40 //Big dog, lots of meat - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + meat_type = /obj/item/reagent_containers/food/snacks/meat old_x = -48 old_y = 0 vis_height = 92 @@ -48,6 +48,8 @@ "raptorwhite" ) + allow_mind_transfer = TRUE + /mob/living/simple_mob/vore/raptor vore_bump_chance = 25 @@ -76,8 +78,8 @@ . = ..() if(!riding_datum) riding_datum = new /datum/riding/simple_mob(src) - verbs |= /mob/living/simple_mob/proc/animal_mount - verbs |= /mob/living/proc/toggle_rider_reins + add_verb(src, /mob/living/simple_mob/proc/animal_mount) + add_verb(src, /mob/living/proc/toggle_rider_reins) movement_cooldown = -1 /mob/living/simple_mob/vore/raptor/init_vore() diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/rat.dm b/code/modules/mob/living/simple_mob/subtypes/vore/rat.dm index c7e3e71fca8..186dfbc9833 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/rat.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/rat.dm @@ -28,7 +28,7 @@ icon_living = "rous" icon_dead = "rous-dead" icon_rest = "rous_rest" - faction = "mouse" + faction = FACTION_MOUSE icon = 'icons/mob/vore64x32.dmi' maxHealth = 150 @@ -46,7 +46,7 @@ friendly = list("nuzzles", "licks", "noses softly at", "noseboops", "headbumps against", "leans on", "nibbles affectionately on") meat_amount = 6 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + meat_type = /obj/item/reagent_containers/food/snacks/meat old_x = -16 old_y = 0 @@ -70,6 +70,8 @@ say_list_type = /datum/say_list/rat ai_holder_type = /datum/ai_holder/simple_mob/melee/rat + allow_mind_transfer = TRUE + /mob/living/simple_mob/vore/aggressive/rat/init_vore() ..() var/obj/belly/B = vore_selected @@ -105,7 +107,7 @@ if(hunger > 0 && life_since_foodscan++ > 5) //Only look for floor food when hungry. life_since_foodscan = 0 - for(var/obj/item/weapon/reagent_containers/food/snacks/S in oview(src,3)) //Accept thrown offerings and scavenge surroundings. + for(var/obj/item/reagent_containers/food/snacks/S in oview(src,3)) //Accept thrown offerings and scavenge surroundings. if(get_dist(src,S) <=1) visible_emote("hungrily devours \the [S].") playsound(src,'sound/items/eatfood.ogg', rand(10,50), 1) @@ -163,14 +165,14 @@ hunger += 5 else food.Weaken(5) - food.visible_message("\The [src] pounces on \the [food]!!") + food.visible_message(span_danger("\The [src] pounces on \the [food]!")) target_mob = food EatTarget() hunger = 0 food = null /mob/living/simple_mob/vore/aggressive/rat/tame/attackby(var/obj/item/O, var/mob/user) // Feed the rat your food to satisfy it. - if(istype(O, /obj/item/weapon/reagent_containers/food/snacks)) + if(istype(O, /obj/item/reagent_containers/food/snacks)) qdel(O) playsound(src,'sound/items/eatfood.ogg', rand(10,50), 1) hunger = 0 @@ -183,7 +185,7 @@ return null else if(ishuman(found_atom) && will_eat(found_atom)) var/mob/living/carbon/human/H = found_atom - for(var/obj/item/weapon/reagent_containers/food/snacks/S in H) + for(var/obj/item/reagent_containers/food/snacks/S in H) if(!food) visible_emote("sniffs around the air intently, seeming to have caught a whiff of food!") if(resting) @@ -212,8 +214,8 @@ . = ..() if(!riding_datum) riding_datum = new /datum/riding/simple_mob(src) - verbs |= /mob/living/simple_mob/proc/animal_mount - verbs |= /mob/living/proc/toggle_rider_reins + add_verb(src, /mob/living/simple_mob/proc/animal_mount) + add_verb(src, /mob/living/proc/toggle_rider_reins) movement_cooldown = 0 /mob/living/simple_mob/vore/aggressive/rat/MouseDrop_T(mob/living/M, mob/living/user) diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/redpanda.dm b/code/modules/mob/living/simple_mob/subtypes/vore/redpanda.dm index 1ab50769eaa..73005bc9b9b 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/redpanda.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/redpanda.dm @@ -9,12 +9,12 @@ icon_rest = "wah_rest" icon = 'icons/mob/vore.dmi' - faction = "redpanda" //stop naming stuff vaguely + faction = FACTION_REDPANDA maxHealth = 30 health = 30 meat_amount = 2 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + meat_type = /obj/item/reagent_containers/food/snacks/meat response_help = "pats" response_disarm = "gently pushes aside" @@ -28,6 +28,8 @@ say_list_type = /datum/say_list/redpanda ai_holder_type = /datum/ai_holder/simple_mob/passive + allow_mind_transfer = TRUE + // Activate Noms! /mob/living/simple_mob/vore/redpanda vore_active = 1 diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/scel.dm b/code/modules/mob/living/simple_mob/subtypes/vore/scel.dm index 8a1cb239392..ce4ff0fe938 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/scel.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/scel.dm @@ -11,7 +11,7 @@ icon_living = "scel_orange" icon_state = "scel_orange" icon_rest = "scel_orange-rest" - faction = "scel" + faction = FACTION_SCEL old_x = -48 old_y = 0 vis_height = 92 @@ -56,6 +56,8 @@ "scel_green" ) + allow_mind_transfer = TRUE + /mob/living/simple_mob/vore/scel/New() ..() if(random_skin) @@ -84,12 +86,12 @@ . = ..() if(!riding_datum) riding_datum = new /datum/riding/simple_mob(src) - verbs |= /mob/living/simple_mob/proc/animal_mount - verbs |= /mob/living/proc/toggle_rider_reins - verbs |= /mob/living/proc/glow_toggle - verbs |= /mob/living/proc/glow_color - verbs |= /mob/living/proc/long_vore - verbs |= /mob/living/proc/target_lunge + add_verb(src, /mob/living/simple_mob/proc/animal_mount) + add_verb(src, /mob/living/proc/toggle_rider_reins) + add_verb(src, /mob/living/proc/glow_toggle) + add_verb(src, /mob/living/proc/glow_color) + add_verb(src, /mob/living/proc/long_vore) + add_verb(src, /mob/living/proc/target_lunge) movement_cooldown = -1 /mob/living/simple_mob/vore/scel/init_vore() @@ -160,8 +162,8 @@ return FALSE set_AI_busy(TRUE) - visible_message(span("warning","\The [src] rears back, ready to lunge!")) - to_chat(L, span("danger","\The [src] focuses on you!")) + visible_message(span_warning("\The [src] rears back, ready to lunge!")) + to_chat(L, span_danger("\The [src] focuses on you!")) // Telegraph, since getting stunned suddenly feels bad. do_windup_animation(A, leap_warmup) sleep(leap_warmup) // For the telegraphing. @@ -172,7 +174,7 @@ // Do the actual leap. status_flags |= LEAPING // Lets us pass over everything. - visible_message(span("critical","\The [src] leaps at \the [L]!")) + visible_message(span_critical("\The [src] leaps at \the [L]!")) throw_at(get_step(L, get_turf(src)), special_attack_max_range+1, 1, src) playsound(src, leap_sound, 75, 1) @@ -187,7 +189,7 @@ /mob/living/simple_mob/vore/scel/proc/tongue(atom/A) var/obj/item/projectile/P = new /obj/item/projectile/beam/appendage(get_turf(src)) - src.visible_message("\The [src] launches a black appendage at \the [A]!") + src.visible_message(span_danger("\The [src] launches a black appendage at \the [A]!")) playsound(src, "sound/effects/slime_squish.ogg", 50, 1) P.launch_projectile(A, BP_TORSO, src) diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/scrubble.dm b/code/modules/mob/living/simple_mob/subtypes/vore/scrubble.dm index ed51603bf80..81a37437cb1 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/scrubble.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/scrubble.dm @@ -8,7 +8,7 @@ icon_living = "scrubble" icon_state = "scrubble" icon_rest = "scrubble-rest" - faction = "scrubble" + faction = FACTION_SCRUBBLE friendly = list("nudges", "sniffs on", "rumbles softly at", "nuzzles") response_help = "bumps" response_disarm = "shoves" @@ -73,9 +73,9 @@ vore_pounce_cooldown = world.time + 20 SECONDS // don't attempt another pounce for a while if(prob(successrate)) // pounce success! M.Weaken(5) - M.visible_message("\The [src] pounces on \the [M]!!") + M.visible_message(span_danger("\The [src] pounces on \the [M]!")) else // pounce misses! - M.visible_message("\The [src] attempts to pounce \the [M] but misses!!") + M.visible_message(span_danger("\The [src] attempts to pounce \the [M] but misses!")) playsound(src, 'sound/weapons/punchmiss.ogg', 25, 1, -1) if(will_eat(M) && (!M.canmove || vore_standing_too)) //if they're edible then eat them too @@ -140,4 +140,4 @@ if(!new_target) return null give_target(new_target) - return new_target \ No newline at end of file + return new_target diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/seagull.dm b/code/modules/mob/living/simple_mob/subtypes/vore/seagull.dm index 84b6f87efdd..26153657ae9 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/seagull.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/seagull.dm @@ -18,7 +18,7 @@ icon_rest = "seagull" icon = 'icons/mob/vore.dmi' - faction = "seagull" + faction = FACTION_SEAGULL maxHealth = 25 health = 25 @@ -27,7 +27,7 @@ response_harm = "hits" meat_amount = 2 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat/chicken + meat_type = /obj/item/reagent_containers/food/snacks/meat/chicken harm_intent_damage = 3 melee_damage_lower = 4 @@ -57,4 +57,4 @@ if(vore_fullness >= 2) movement_cooldown = 10 else if(movement_cooldown == 10) - movement_cooldown = initial(movement_cooldown) \ No newline at end of file + movement_cooldown = initial(movement_cooldown) diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/sect_drone.dm b/code/modules/mob/living/simple_mob/subtypes/vore/sect_drone.dm index 36fb413b100..27e6d0e92a4 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/sect_drone.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/sect_drone.dm @@ -33,7 +33,7 @@ vore_eyes = TRUE custom_eye_color = "#00FFFF" - faction = "insects" + faction = FACTION_INSECTS maxHealth = 90 health = 90 see_in_dark = 8 @@ -50,7 +50,7 @@ vore_icons = SA_ICON_LIVING meat_amount = 4 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/xenomeat/spidermeat + meat_type = /obj/item/reagent_containers/food/snacks/xenomeat/spidermeat //Beeg bug don't give a fuck about atmos. Something something, phoron mutation. min_oxy = 0 @@ -84,14 +84,16 @@ ai_holder_type = /datum/ai_holder/simple_mob/melee say_list_type = /datum/say_list/sect_drone + allow_mind_transfer = TRUE + /mob/living/simple_mob/vore/sect_drone/Login() . = ..() - verbs |= /mob/living/simple_mob/vore/sect_drone/proc/set_abdomen_color + add_verb(src, /mob/living/simple_mob/vore/sect_drone/proc/set_abdomen_color) /mob/living/simple_mob/vore/sect_drone/proc/set_abdomen_color() set name = "Set Glow Color" set desc = "Customize your eyes and abdomen glow color." - set category = "Abilities" + set category = "Abilities.Sect Drone" var/new_color = input(src, "Please select color.", "Glow Color", custom_eye_color) as color|null if(new_color) diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/sect_queen.dm b/code/modules/mob/living/simple_mob/subtypes/vore/sect_queen.dm index bec6074f058..76ab3b915f6 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/sect_queen.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/sect_queen.dm @@ -36,13 +36,13 @@ vore_eyes = TRUE custom_eye_color = "#FF0000" - faction = "insects" + faction = FACTION_INSECTS maxHealth = 200 health = 200 see_in_dark = 8 meat_amount = 8 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/xenomeat/spidermeat + meat_type = /obj/item/reagent_containers/food/snacks/xenomeat/spidermeat melee_damage_lower = 8 melee_damage_upper = 16 @@ -85,14 +85,16 @@ ai_holder_type = /datum/ai_holder/simple_mob/melee say_list_type = /datum/say_list/sect_queen + allow_mind_transfer = TRUE + /mob/living/simple_mob/vore/sect_queen/Login() . = ..() - verbs |= /mob/living/simple_mob/vore/sect_queen/proc/set_abdomen_color + add_verb(src, /mob/living/simple_mob/vore/sect_queen/proc/set_abdomen_color) /mob/living/simple_mob/vore/sect_queen/proc/set_abdomen_color() set name = "Set Glow Color" set desc = "Customize your eyes and abdomen glow color." - set category = "Abilities" + set category = "Abilities.Sect Queen" var/new_color = input(src, "Please select color.", "Glow Color", custom_eye_color) as color|null if(new_color) diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/ability_objects.dm b/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/ability_objects.dm index 40355f7ab01..12598b1e940 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/ability_objects.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/ability_objects.dm @@ -38,22 +38,22 @@ var/opts = clickprops["shift"] if(opts) - to_chat(my_kin,"[name] (Cost: [cost]%) - [desc]") + to_chat(my_kin,span_notice(span_bold("[name]") + " (Cost: [cost]%) - [desc]")) else do_ability(my_kin) /obj/effect/shadekin_ability/proc/do_ability() if(my_kin.stat) - to_chat(my_kin,"Can't use that ability in your state!") + to_chat(my_kin,span_warning("Can't use that ability in your state!")) return FALSE if(shift_mode == NOT_WHILE_SHIFTED && (my_kin.ability_flags & AB_PHASE_SHIFTED)) - to_chat(my_kin,"Can't use that ability while phase shifted!") + to_chat(my_kin,span_warning("Can't use that ability while phase shifted!")) return FALSE else if(shift_mode == ONLY_WHILE_SHIFTED && !(my_kin.ability_flags & AB_PHASE_SHIFTED)) - to_chat(my_kin,"Can only use that ability while phase shifted!") + to_chat(my_kin,span_warning("Can only use that ability while phase shifted!")) return FALSE else if(my_kin.energy < cost) - to_chat(my_kin,"Not enough energy for that ability!") + to_chat(my_kin,span_warning("Not enough energy for that ability!")) return FALSE my_kin.energy -= cost @@ -97,8 +97,8 @@ desc = "You feel serene and well rested." mob_overlay_state = "green_sparkles" - on_created_text = "Sparkles begin to appear around you, and all your ills seem to fade away." - on_expired_text = "The sparkles have faded, although you feel much healthier than before." + on_created_text = span_notice("Sparkles begin to appear around you, and all your ills seem to fade away.") + on_expired_text = span_notice("The sparkles have faded, although you feel much healthier than before.") stacks = MODIFIER_STACK_EXTEND /datum/modifier/shadekin/heal_boop/tick() @@ -129,8 +129,8 @@ desc = "Darkness envelops you." mob_overlay_state = "" - on_created_text = "You drag part of The Dark into realspace, enveloping yourself." - on_expired_text = "You lose your grasp on The Dark and realspace reasserts itself." + on_created_text = span_notice("You drag part of The Dark into realspace, enveloping yourself.") + on_expired_text = span_warning("You lose your grasp on The Dark and realspace reasserts itself.") stacks = MODIFIER_STACK_EXTEND var/mob/living/simple_mob/shadekin/my_kin @@ -165,4 +165,4 @@ /obj/effect/shadekin_ability/energy_feast/do_ability() if(!..()) return -*/ \ No newline at end of file +*/ diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/ability_procs.dm b/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/ability_procs.dm index d094bd91143..552060e3138 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/ability_procs.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/ability_procs.dm @@ -1,23 +1,39 @@ // Phase shifting procs (and related procs) /mob/living/simple_mob/shadekin/proc/phase_shift() var/turf/T = get_turf(src) + var/area/A = T.loc //RS Port #658 if(!T.CanPass(src,T) || loc != T) - to_chat(src,"You can't use that here!") + to_chat(src,span_warning("You can't use that here!")) return FALSE - - forceMove(T) - var/original_canmove = canmove - SetStunned(0) - SetWeakened(0) - if(buckled) - buckled.unbuckle_mob() - if(pulledby) - pulledby.stop_pulling() - stop_pulling() - canmove = FALSE + //RS Port #658 Start + if(!client?.holder && A.flag_check(AREA_BLOCK_PHASE_SHIFT)) + to_chat(src,span_warning("You can't use that here!")) + return FALSE + //RS Port #658 End //Shifting in if(ability_flags & AB_PHASE_SHIFTED) + phase_in(T) + //Shifting out + else + phase_out(T) + +/mob/living/simple_mob/shadekin/proc/phase_in(var/turf/T) + if(ability_flags & AB_PHASE_SHIFTED) + + // pre-change + forceMove(T) + var/original_canmove = canmove + SetStunned(0) + SetWeakened(0) + if(buckled) + buckled.unbuckle_mob() + if(pulledby) + pulledby.stop_pulling() + stop_pulling() + canmove = FALSE + + // change ability_flags &= ~AB_PHASE_SHIFTED mouse_opacity = 1 name = real_name @@ -45,7 +61,7 @@ var/mob/living/target = pick(potentials) if(istype(target) && target.devourable && target.can_be_drop_prey && vore_selected) target.forceMove(vore_selected) - to_chat(target,"\The [src] phases in around you, [vore_selected.vore_verb]ing you into their [vore_selected.name]!") + to_chat(target,span_vwarning("\The [src] phases in around you, [vore_selected.vore_verb]ing you into their [vore_selected.name]!")) // Do this after the potential vore, so we get the belly update_icon() @@ -67,8 +83,22 @@ else L.flicker(10) - //Shifting out - else +/mob/living/simple_mob/shadekin/proc/phase_out(var/turf/T) + if(!(ability_flags & AB_PHASE_SHIFTED)) + + // pre-change + forceMove(T) + var/original_canmove = canmove + SetStunned(0) + SetWeakened(0) + if(buckled) + buckled.unbuckle_mob() + if(pulledby) + pulledby.stop_pulling() + stop_pulling() + canmove = FALSE + + // change ability_flags |= AB_PHASE_SHIFTED mouse_opacity = 0 custom_emote(1,"phases out!") @@ -120,7 +150,7 @@ for(var/mob/living/L in viewed) targets += L if(!targets.len) - to_chat(src,"Nobody nearby to mend!") + to_chat(src,span_warning("Nobody nearby to mend!")) return FALSE var/mob/living/target = tgui_input_list(src,"Pick someone to mend:","Mend Other", targets) @@ -128,6 +158,6 @@ return FALSE target.add_modifier(/datum/modifier/shadekin/heal_boop,1 MINUTE) - visible_message("\The [src] gently places a hand on \the [target]...") + visible_message(span_notice("\The [src] gently places a hand on \the [target]...")) face_atom(target) return TRUE diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/shadekin.dm b/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/shadekin.dm index 03bd5b35db9..69977845274 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/shadekin.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/shadekin.dm @@ -5,7 +5,7 @@ icon = 'icons/mob/vore_shadekin.dmi' icon_state = "map_example" icon_living = "map_example" - faction = "shadekin" + faction = FACTION_SHADEKIN ui_icons = 'icons/mob/shadekin_hud.dmi' mob_class = MOB_CLASS_HUMANOID mob_bump_flag = HUMAN @@ -131,7 +131,7 @@ update_icon() - verbs |= /mob/proc/adjust_hive_range + add_verb(src, /mob/proc/adjust_hive_range) return ..() @@ -225,14 +225,21 @@ add_overlay(tailimage) add_overlay(eye_icon_state) -/mob/living/simple_mob/shadekin/Stat() - . = ..() - if(statpanel("Shadekin")) - abilities_stat() - -/mob/living/simple_mob/shadekin/proc/abilities_stat() - for(var/obj/effect/shadekin_ability/ability as anything in shadekin_abilities) - stat("[ability.ability_name]",ability.atom_button_text()) +/mob/living/simple_mob/shadekin/update_misc_tabs() + ..() + var/list/L = list() + for(var/obj/effect/shadekin_ability/A as anything in shadekin_abilities) + var/client/C = client + var/img + if(C && istype(C)) //sanity checks + if(A.ability_name in C.misc_cache) + img = C.misc_cache[A.ability_name] + else + img = icon2html(A,C,sourceonly=TRUE) + C.misc_cache[A.ability_name] = img + + L[++L.len] = list("[A.ability_name]", A.ability_name, img, A.atom_button_text(), REF(A)) + misc_tabs["Shadekin"] = L //They phase back to the dark when killed /mob/living/simple_mob/shadekin/death(gibbed, deathmessage = "phases to somewhere far away!") @@ -381,7 +388,7 @@ if((get_dist(src,henlo_human) <= 1)) dir = moving_to if(prob(speak_chance)) - visible_message("\The [src] [pick(friendly)] \the [henlo_human].") + visible_message(span_notice("\The [src] [pick(friendly)] \the [henlo_human].")) shy_approach = FALSE //ACCLIMATED lifes_since_move = 0 return //No need to move diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/sheep.dm b/code/modules/mob/living/simple_mob/subtypes/vore/sheep.dm index 75c8f94b3d7..ad58c3a43f3 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/sheep.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/sheep.dm @@ -8,14 +8,14 @@ icon_dead = "sheep-dead" icon = 'icons/mob/vore.dmi' - faction = "sheep" + faction = FACTION_SHEEP maxHealth = 40 health = 40 see_in_dark = 2 meat_amount = 5 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + meat_type = /obj/item/reagent_containers/food/snacks/meat response_help = "pets" response_disarm = "gently pushes aside" @@ -48,8 +48,8 @@ . = ..() if(!riding_datum) riding_datum = new /datum/riding/simple_mob(src) - verbs |= /mob/living/simple_mob/proc/animal_mount - verbs |= /mob/living/proc/toggle_rider_reins + add_verb(src, /mob/living/simple_mob/proc/animal_mount) + add_verb(src, /mob/living/proc/toggle_rider_reins) movement_cooldown = -1 /mob/living/simple_mob/vore/sheep/MouseDrop_T(mob/living/M, mob/living/user) @@ -87,13 +87,13 @@ //Make sure you un-comment the variables above too. /mob/living/simple_mob/vore/sheep/attackby(var/obj/item/O as obj, var/mob/user as mob) - if(istype(O, /obj/item/weapon/material/knife) || istype(O, /obj/item/weapon/tool/wirecutters)) + if(istype(O, /obj/item/material/knife) || istype(O, /obj/item/tool/wirecutters)) if(user.a_intent != I_HELP) return ..() if(!harvestable_wool) return ..() if(do_after(user, 3 SECONDS, exclusive = TASK_USER_EXCLUSIVE, target = src)) - user.visible_message("\The [user] shears \the [src] with \the [O].","You shear \the [src] with \the [O].") + user.visible_message(span_notice("\The [user] shears \the [src] with \the [O]."),span_notice("You shear \the [src] with \the [O].")) var/obj/item/stack/material/fur/wool/W = new(get_turf(user)) harvestable_wool = FALSE update_icon() diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/snake.dm b/code/modules/mob/living/simple_mob/subtypes/vore/snake.dm index 4b381ec462d..03945dae5a4 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/snake.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/snake.dm @@ -31,7 +31,7 @@ icon = 'icons/mob/vore64x64.dmi' vis_height = 64 - faction = "snake" + faction = FACTION_SNAKE maxHealth = 200 health = 200 @@ -39,7 +39,7 @@ melee_damage_upper = 12 meat_amount = 6 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + meat_type = /obj/item/reagent_containers/food/snacks/meat response_help = "pats" response_disarm = "tries to shove" @@ -54,6 +54,8 @@ ai_holder_type = /datum/ai_holder/simple_mob/melee + allow_mind_transfer = TRUE + // Activate Noms! /mob/living/simple_mob/vore/aggressive/giant_snake vore_active = 1 diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/softdog.dm b/code/modules/mob/living/simple_mob/subtypes/vore/softdog.dm index 078da106367..23d4260cec8 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/softdog.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/softdog.dm @@ -15,7 +15,7 @@ icon_rest = "woof_rest" icon = 'icons/mob/vore.dmi' - faction = "dog" + faction = FACTION_DOG maxHealth = 600 health = 600 movement_cooldown = -1 @@ -57,8 +57,8 @@ /mob/living/simple_mob/vore/woof/New() ..() - verbs += /mob/living/proc/ventcrawl - verbs += /mob/living/proc/hide + add_verb(src, /mob/living/proc/ventcrawl) + add_verb(src, /mob/living/proc/hide) /datum/say_list/softdog speak = list("Woof~", "Woof!", "Yip!", "Yap!", "Yip~", "Yap~", "Awoooooo~", "Awoo!", "AwooooooooooOOOOOOoOooOoooOoOOoooo!") @@ -172,7 +172,7 @@ icon_rest = "cass_rest" ic_revivable = 0 - faction = "theatre" + faction = FACTION_THEATRE gender = PLURAL ai_holder_type = /datum/ai_holder/simple_mob/woof/cass @@ -201,7 +201,7 @@ var/mob/living/L = A if(prob(knockdown_chance)) L.Weaken(3) - L.visible_message(span("danger", "\The [src] pounces on \the [L]!")) + L.visible_message(span_danger("\The [src] pounces on \the [L]!")) /mob/living/simple_mob/vore/woof/hostile/melee @@ -279,25 +279,25 @@ /mob/living/simple_mob/vore/woof/hostile/aweful/death() . = ..() if(killswitch) - visible_message("\The [src] evaporates into nothing...") + visible_message(span_notice("\The [src] evaporates into nothing...")) qdel(src) return var/thismany = rand(0,3) var/list/possiblewoofs = list(/mob/living/simple_mob/vore/woof/hostile/aweful/melee, /mob/living/simple_mob/vore/woof/hostile/aweful/ranged) if(thismany == 0) - visible_message("\The [src] evaporates into nothing...") + visible_message(span_notice("\The [src] evaporates into nothing...")) if(thismany >= 1) var/thiswoof = pick(possiblewoofs) new thiswoof(loc, src) - visible_message("Another [src] appears!") + visible_message(span_warning("Another [src] appears!")) if(thismany >= 2) var/thiswoof = pick(possiblewoofs) new thiswoof(loc, src) - visible_message("Another [src] appears!") + visible_message(span_warning("Another [src] appears!")) if(thismany >= 3) var/thiswoof = pick(possiblewoofs) new thiswoof(loc, src) - visible_message("Another [src] appears!") + visible_message(span_warning("Another [src] appears!")) qdel(src) /mob/living/simple_mob/vore/woof/hostile/aweful/melee diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/solargrub.dm b/code/modules/mob/living/simple_mob/subtypes/vore/solargrub.dm index 8fe16269765..db9606c346e 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/solargrub.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/solargrub.dm @@ -24,7 +24,7 @@ List of things solar grubs should be able to do: icon_living = "solargrub" icon_dead = "solargrub-dead" - faction = "grubs" + faction = FACTION_GRUBS maxHealth = 50 //grubs can take a lot of harm health = 50 @@ -33,7 +33,7 @@ List of things solar grubs should be able to do: movement_cooldown = 3 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat/grubmeat + meat_type = /obj/item/reagent_containers/food/snacks/meat/grubmeat meat_amount = 6 response_help = "pokes" @@ -51,6 +51,7 @@ List of things solar grubs should be able to do: var/shock_chance = 10 // Beware var/tracked = FALSE + allow_mind_transfer = TRUE glow_override = TRUE /datum/say_list/solargrub @@ -71,7 +72,7 @@ List of things solar grubs should be able to do: if(attached) set_AI_busy(TRUE) if(prob(2)) - src.visible_message("\The [src] begins to sink power from the net.") + src.visible_message(span_infoplain(span_bold("\The [src]") + " begins to sink power from the net.")) if(prob(5)) var/datum/effect/effect/system/spark_spread/sparks = new /datum/effect/effect/system/spark_spread() sparks.set_up(5, 0, get_turf(src)) @@ -111,7 +112,7 @@ List of things solar grubs should be able to do: var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread s.set_up(5, 1, L) s.start() - visible_message("The grub releases a powerful shock!") + visible_message(span_danger("The grub releases a powerful shock!")) else if(L.reagents) var/target_zone = pick(BP_TORSO,BP_TORSO,BP_TORSO,BP_L_LEG,BP_R_LEG,BP_L_ARM,BP_R_ARM,BP_HEAD) @@ -121,7 +122,7 @@ List of things solar grubs should be able to do: // Does actual poison injection, after all checks passed. /mob/living/simple_mob/vore/solargrub/proc/inject_poison(mob/living/L, target_zone) if(prob(poison_chance)) - to_chat(L, "You feel a small shock rushing through your veins.") + to_chat(L, span_warning("You feel a small shock rushing through your veins.")) L.reagents.add_reagent(poison_type, poison_per_bite) /mob/living/simple_mob/vore/solargrub/death() diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/solargrub_larva.dm b/code/modules/mob/living/simple_mob/subtypes/vore/solargrub_larva.dm index 07e24050ba9..f1c2ef76417 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/solargrub_larva.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/solargrub_larva.dm @@ -17,10 +17,10 @@ var/global/list/grub_machine_overlays = list() melee_damage_upper = 1 meat_amount = 1 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat/grubmeat + meat_type = /obj/item/reagent_containers/food/snacks/meat/grubmeat butchery_loot = list() // No hides - faction = "grubs" + faction = FACTION_GRUBS response_help = "pats" response_disarm = "nudges" @@ -60,7 +60,7 @@ var/global/list/grub_machine_overlays = list() sparks = new(src) sparks.set_up() sparks.attach(src) - verbs += /mob/living/proc/ventcrawl + add_verb(src, /mob/living/proc/ventcrawl) /mob/living/simple_mob/animal/solargrub_larva/death() powermachine.draining = 0 @@ -88,7 +88,7 @@ var/global/list/grub_machine_overlays = list() return if(istype(loc, /obj/machinery)) - if(machine_effect && air_master.current_cycle%30) + if(machine_effect && SSair.current_cycle%30) for(var/mob/M in player_list) M << machine_effect if(prob(10)) @@ -122,7 +122,7 @@ var/global/list/grub_machine_overlays = list() set_AI_busy(TRUE) forceMove(M) powermachine.draining = 2 - visible_message("\The [src] finds an opening and crawls inside \the [M].") + visible_message(span_warning("\The [src] finds an opening and crawls inside \the [M].")) if(!(M.type in grub_machine_overlays)) generate_machine_effect(M) machine_effect = image(grub_machine_overlays[M.type], M) //Can't do this the reasonable way with an overlay, @@ -176,7 +176,7 @@ var/global/list/grub_machine_overlays = list() /mob/living/simple_mob/animal/solargrub_larva/proc/expand_grub() eject_from_machine() - visible_message("\The [src] suddenly balloons in size!") + visible_message(span_warning("\The [src] suddenly balloons in size!")) log_game("A larva has matured into a grub in area [src.loc.name] ([src.x],[src.y],[src.z]") var/mob/living/simple_mob/vore/solargrub/adult = new(get_turf(src)) adult.tracked = tracked @@ -291,12 +291,12 @@ var/global/list/grub_machine_overlays = list() idle_power_usages = split_into_3(total_idle_power_usage) -/obj/item/device/multitool/afterattack(obj/O, mob/user, proximity) +/obj/item/multitool/afterattack(obj/O, mob/user, proximity) if(proximity) if(istype(O, /obj/machinery)) var/mob/living/simple_mob/animal/solargrub_larva/grub = locate() in O if(grub) grub.eject_from_machine(O) - to_chat(user, "You disturb a grub nesting in \the [O]!") + to_chat(user, span_warning("You disturb a grub nesting in \the [O]!")) return return ..() diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/sonadile.dm b/code/modules/mob/living/simple_mob/subtypes/vore/sonadile.dm index 30a37484dea..49cf20946f3 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/sonadile.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/sonadile.dm @@ -8,7 +8,7 @@ icon_living = "sonadile" icon_state = "sonadile" icon_rest = "sonadile" - faction = "sonadile" + faction = FACTION_SONADILE old_x = -16 old_y = 0 default_pixel_x = -16 diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/stalker.dm b/code/modules/mob/living/simple_mob/subtypes/vore/stalker.dm index 6e10ccdf600..57aefb7ba6a 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/stalker.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/stalker.dm @@ -8,7 +8,7 @@ icon_living = "stalker" icon_state = "stalker" icon_rest = "stalker-rest" - faction = "stalker" + faction = FACTION_STALKER old_x = -16 old_y = 0 default_pixel_x = -16 @@ -76,9 +76,9 @@ vore_pounce_cooldown = world.time + 1 SECONDS // don't attempt another pounce for a while if(prob(successrate)) // pounce success! M.Weaken(5) - M.visible_message("\The [src] pounces on \the [M]!!") + M.visible_message(span_danger("\The [src] pounces on \the [M]!")) else // pounce misses! - M.visible_message("\The [src] attempts to pounce \the [M] but misses!!") + M.visible_message(span_danger("\The [src] attempts to pounce \the [M] but misses!")) playsound(src, 'sound/weapons/punchmiss.ogg', 25, 1, -1) if(will_eat(M) && (!M.canmove || vore_standing_too)) //if they're edible then eat them too @@ -274,4 +274,3 @@ else if(!stand_ground) ai_log("engage_target() : Target ([target]) too far away. Exiting.", AI_LOG_DEBUG) set_stance(STANCE_APPROACH) - diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/succubi.dm b/code/modules/mob/living/simple_mob/subtypes/vore/succubi.dm index 057abb051f4..1032d3fc1fc 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/succubi.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/succubi.dm @@ -29,7 +29,7 @@ "succubusgingerclothed" ) - faction = "succubus" + faction = FACTION_SUCCUBUS /mob/living/simple_mob/vore/succubus/New() ..() @@ -115,4 +115,4 @@ "%pred gently rubs a finger over her %belly, the gentle pressure breaking your concentration and sending you sinking back into her form.", "Try as you might, you barely make an impression before %pred simply clenches with the most minimal effort, binding you back into her %belly.", "Unfortunately, %pred seems to have absolutely no intention of letting you go, and your futile effort goes nowhere.", - "Strain as you might, you can't keep up the effort long enough before you sink back into %pred's %belly.") \ No newline at end of file + "Strain as you might, you can't keep up the effort long enough before you sink back into %pred's %belly.") diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/turkey.dm b/code/modules/mob/living/simple_mob/subtypes/vore/turkey.dm new file mode 100644 index 00000000000..1b599f74f82 --- /dev/null +++ b/code/modules/mob/living/simple_mob/subtypes/vore/turkey.dm @@ -0,0 +1,43 @@ +/mob/living/simple_mob/vore/turkey + name = "turkey" + desc = "A large turkey, all ready for stuffing." + tt_desc = "Meleagris gallopavo" + + icon_state = "turkey" + icon_living = "turkey" + icon_dead = "turkeydead" + icon_rest = "turkeyrest" + icon = 'icons/mob/vore.dmi' + + faction = FACTION_TURKEY + maxHealth = 25 + health = 25 + + meat_amount = 1 + meat_type = /obj/item/reagent_containers/food/snacks/rawturkey + name_the_meat = FALSE + + response_help = "pats" + response_disarm = "gently pushes aside" + response_harm = "hits" + + harm_intent_damage = 3 + melee_damage_lower = 3 + melee_damage_upper = 1 + attacktext = list("pecked") + + say_list_type = /datum/say_list/turkey + ai_holder_type = /datum/ai_holder/simple_mob/passive + + allow_mind_transfer = TRUE + + vore_active = 1 + vore_bump_chance = 10 + vore_bump_emote = "greedily leaps at" + vore_default_mode = DM_HOLD + vore_icons = SA_ICON_LIVING + +/datum/say_list/turkey + speak = list("GOBBLEGOBBLE!","Gobble?","Gobblegobble...") + emote_hear = list("gobbles!") + emote_see = list("flaps its wings","pecks something on the floor","puffs up its feathers") diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/vampire.dm b/code/modules/mob/living/simple_mob/subtypes/vore/vampire.dm index 96a760bd28a..ab7198912c0 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/vampire.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/vampire.dm @@ -28,7 +28,7 @@ "countessnude" ) - faction = "vampire" + faction = FACTION_VAMPIRE /mob/living/simple_mob/vore/vampire/New() ..() diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/vore.dm b/code/modules/mob/living/simple_mob/subtypes/vore/vore.dm index 229e0430eb2..f30f34a184c 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/vore.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/vore.dm @@ -9,8 +9,8 @@ /mob/living/simple_mob/Login() . = ..() - verbs |= /mob/living/simple_mob/proc/set_name - verbs |= /mob/living/simple_mob/proc/set_desc + add_verb(src, /mob/living/simple_mob/proc/set_name) + add_verb(src, /mob/living/simple_mob/proc/set_desc) if(copy_prefs_to_mob) login_prefs() @@ -36,6 +36,7 @@ noisy = client.prefs_vr.noisy selective_preference = client.prefs_vr.selective_preference eating_privacy_global = client.prefs_vr.eating_privacy_global + allow_mimicry = client.prefs_vr.allow_mimicry drop_vore = client.prefs_vr.drop_vore stumble_vore = client.prefs_vr.stumble_vore @@ -46,13 +47,14 @@ show_vore_fx = client.prefs_vr.show_vore_fx step_mechanics_pref = client.prefs_vr.step_mechanics_pref pickup_pref = client.prefs_vr.pickup_pref + allow_mind_transfer = client.prefs_vr.allow_mind_transfer /mob/living/simple_mob/proc/set_name() set name = "Set Name" set desc = "Sets your mobs name. You only get to do this once." - set category = "Abilities" + set category = "Abilities.Settings" if(limit_renames && nameset) - to_chat(src, "You've already set your name. Ask an admin to toggle \"nameset\" to 0 if you really must.") + to_chat(src, span_userdanger("You've already set your name. Ask an admin to toggle \"nameset\" to 0 if you really must.")) return var/newname newname = sanitizeSafe(tgui_input_text(src,"Set your name. You only get to do this once. Max 52 chars.", "Name set","", MAX_NAME_LEN), MAX_NAME_LEN) @@ -64,7 +66,7 @@ /mob/living/simple_mob/proc/set_desc() set name = "Set Description" set desc = "Set your description." - set category = "Abilities" + set category = "Abilities.Settings" var/newdesc newdesc = sanitizeSafe(tgui_input_text(src,"Set your description. Max 4096 chars.", "Description set","", prevent_enter = TRUE), MAX_MESSAGE_LEN) if(newdesc) diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/vore_hostile.dm b/code/modules/mob/living/simple_mob/subtypes/vore/vore_hostile.dm index d0c3d1c6335..1b56a1da37b 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/vore_hostile.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/vore_hostile.dm @@ -22,7 +22,7 @@ icon_rest = "abyss_lurker" vis_height = 64 - faction = "macrobacteria" + faction = FACTION_MACROBACTERIA maxHealth = 600 health = 600 movement_cooldown = 3 @@ -32,7 +32,7 @@ melee_damage_upper = 1 meat_amount = 5 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + meat_type = /obj/item/reagent_containers/food/snacks/meat catalogue_data = list(/datum/category_item/catalogue/fauna/abyss_lurker) see_in_dark = 8 @@ -129,7 +129,7 @@ icon_rest = "filter" vis_height = 64 - faction = "macrobacteria" + faction = FACTION_MACROBACTERIA maxHealth = 600 health = 600 @@ -139,7 +139,7 @@ movement_cooldown = 1 meat_amount = 5 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + meat_type = /obj/item/reagent_containers/food/snacks/meat catalogue_data = list(/datum/category_item/catalogue/fauna/leaper) see_in_dark = 8 @@ -214,8 +214,8 @@ return FALSE set_AI_busy(TRUE) - visible_message(span("warning","\The [src]'s eyes flash ominously!")) - to_chat(L, span("danger","\The [src] focuses on you!")) + visible_message(span_warning("\The [src]'s eyes flash ominously!")) + to_chat(L, span_danger("\The [src] focuses on you!")) // Telegraph, since getting stunned suddenly feels bad. do_windup_animation(A, leap_warmup) sleep(leap_warmup) // For the telegraphing. @@ -226,7 +226,7 @@ // Do the actual leap. status_flags |= LEAPING // Lets us pass over everything. - visible_message(span("critical","\The [src] leaps at \the [L]!")) + visible_message(span_critical("\The [src] leaps at \the [L]!")) throw_at(get_step(L, get_turf(src)), special_attack_max_range+1, 1, src) playsound(src, leap_sound, 75, 1) @@ -257,7 +257,7 @@ icon_rest = "cube" vis_height = 64 - faction = "macrobacteria" + faction = FACTION_MACROBACTERIA maxHealth = 500 health = 500 diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/weretiger.dm b/code/modules/mob/living/simple_mob/subtypes/vore/weretiger.dm index a98e5592e71..db76f04435a 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/weretiger.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/weretiger.dm @@ -9,7 +9,7 @@ icon_rest = null icon = 'icons/mob/bigcat.dmi' - faction = "panther" + faction = FACTION_PANTHER maxHealth = 150 health = 150 movement_cooldown = -1 @@ -31,6 +31,8 @@ has_hands = 1 + allow_mind_transfer = TRUE + // Nomnomn /mob/living/simple_mob/vore/weretiger vore_active = 1 diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/wolf.dm b/code/modules/mob/living/simple_mob/subtypes/vore/wolf.dm index 890ab933c4d..bf2535cd49f 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/wolf.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/wolf.dm @@ -25,7 +25,7 @@ melee_damage_lower = 5 melee_damage_upper = 12 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + meat_type = /obj/item/reagent_containers/food/snacks/meat meat_amount = 5 minbodytemp = 200 @@ -33,6 +33,8 @@ ai_holder_type = /datum/ai_holder/simple_mob/melee/evasive catalogue_data = list(/datum/category_item/catalogue/fauna/wolf) + allow_mind_transfer = TRUE + // Activate Noms! /mob/living/simple_mob/vore/wolf vore_active = 1 @@ -100,8 +102,8 @@ . = ..() if(!riding_datum) riding_datum = new /datum/riding/simple_mob(src) - verbs |= /mob/living/simple_mob/proc/animal_mount - verbs |= /mob/living/proc/toggle_rider_reins + add_verb(src, /mob/living/simple_mob/proc/animal_mount) + add_verb(src, /mob/living/proc/toggle_rider_reins) movement_cooldown = -1 /mob/living/simple_mob/vore/wolf/direwolf/MouseDrop_T(mob/living/M, mob/living/user) @@ -141,7 +143,7 @@ icon_living = "rykka" icon_state = "rykka" icon_rest = "rykka_rest" - faction = "underdark" + faction = FACTION_UNDERDARK has_eye_glow = TRUE min_oxy = 0 diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/wolfgirl.dm b/code/modules/mob/living/simple_mob/subtypes/vore/wolfgirl.dm index cc5779da730..bb76da5e040 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/wolfgirl.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/wolfgirl.dm @@ -8,7 +8,7 @@ icon_dead = "wolfgirl-dead" icon = 'icons/mob/vore.dmi' - faction = "wolfgirl" + faction = FACTION_WOLFGIRL maxHealth = 30 health = 30 diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/wolftaur.dm b/code/modules/mob/living/simple_mob/subtypes/vore/wolftaur.dm index e4e35e837c1..29ab5a478a3 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/wolftaur.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/wolftaur.dm @@ -36,7 +36,7 @@ default_pixel_x = -16 pixel_x = -16 pixel_y = 0 - faction = "wolftaur" + faction = FACTION_WOLFTAUR /mob/living/simple_mob/vore/wolftaur/New() ..() @@ -155,4 +155,3 @@ icon_living = "wolftaurdark" icon_rest = "wolftaurdark_rest" icon_dead = "wolftaurdark-dead" - diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/xeno_vore.dm b/code/modules/mob/living/simple_mob/subtypes/vore/xeno_vore.dm index b09c5c3ff8a..dc3b246cf74 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/xeno_vore.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/xeno_vore.dm @@ -24,11 +24,11 @@ icon = 'icons/mob/vore64x64.dmi' vis_height = 64 - faction = "xeno" + faction = FACTION_XENO maxHealth = 150 health = 150 see_in_dark = 10 - + //Something something, phoron mutation. min_oxy = 0 max_oxy = 0 @@ -64,5 +64,7 @@ ai_holder_type = /datum/ai_holder/simple_mob/melee say_list_type = /datum/say_list/xeno_defanged + allow_mind_transfer = TRUE + /datum/say_list/xeno_defanged - say_got_target = list("hisses angrily!") \ No newline at end of file + say_got_target = list("hisses angrily!") diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/zz_vore_overrides.dm b/code/modules/mob/living/simple_mob/subtypes/vore/zz_vore_overrides.dm index d9b1cfe6d2c..29dd6002a1a 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/zz_vore_overrides.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/zz_vore_overrides.dm @@ -112,6 +112,13 @@ icon_gib = "bear-gib" vore_icons = SA_ICON_LIVING +/mob/living/simple_mob/animal/space/bear/brown/beastmode + movement_cooldown = 2 + + melee_damage_lower = 5 + melee_damage_upper = 15 + attack_armor_pen = 0 + /mob/living/simple_mob/animal/space/carp icon = 'icons/mob/vore.dmi' vore_active = 1 @@ -158,7 +165,7 @@ /* //VOREStation AI Temporary removal /mob/living/simple_mob/animal/passive/cat/PunchTarget() if(istype(target_mob,/mob/living/simple_mob/animal/passive/mouse)) - visible_message("\The [src] pounces on \the [target_mob]!]") + visible_message(span_warning("\The [src] pounces on \the [target_mob]!]")) target_mob.Stun(5) return EatTarget() else ..() @@ -231,7 +238,7 @@ // Override stuff for holodeck carp to make them not digest when set to safe! /mob/living/simple_mob/animal/space/carp/holographic/init_vore() . = ..() - var/safe = (faction == "neutral") + var/safe = (faction == FACTION_NEUTRAL) for(var/obj/belly/B as anything in vore_organs) B.digest_mode = safe ? DM_HOLD : vore_default_mode @@ -241,4 +248,4 @@ B.digest_mode = safe ? DM_HOLD : vore_default_mode /mob/living/simple_mob/animal/passive/mouse - faction = "mouse" //Giving mice a faction so certain mobs can get along with them. + faction = FACTION_MOUSE //Giving mice a faction so certain mobs can get along with them. diff --git a/code/modules/mob/living/voice/voice.dm b/code/modules/mob/living/voice/voice.dm index 77558211f0d..3924029ece6 100644 --- a/code/modules/mob/living/voice/voice.dm +++ b/code/modules/mob/living/voice/voice.dm @@ -3,7 +3,7 @@ name = "unknown person" desc = "How are you examining me?" see_invisible = SEE_INVISIBLE_LIVING - var/obj/item/device/communicator/comm = null + var/obj/item/communicator/comm = null emote_type = 2 //This lets them emote through containers. The communicator has a image feed of the person calling them so... @@ -11,7 +11,7 @@ add_language(LANGUAGE_GALCOM) set_default_language(GLOB.all_languages[LANGUAGE_GALCOM]) - if(istype(loc, /obj/item/device/communicator)) + if(istype(loc, /obj/item/communicator)) comm = loc . = ..() @@ -83,14 +83,14 @@ var/new_name = sanitizeSafe(tgui_input_text(src, "Who would you like to be now?", "Communicator", src.client.prefs.real_name, MAX_NAME_LEN), MAX_NAME_LEN) if(new_name) if(comm) - comm.visible_message("[icon2html(comm,viewers(comm))] [src.name] has left, and now you see [new_name].") + comm.visible_message(span_notice("[icon2html(comm,viewers(comm))] [src.name] has left, and now you see [new_name].")) //Do a bit of logging in-case anyone tries to impersonate other characters for whatever reason. var/msg = "[src.client.key] ([src]) has changed their communicator identity's name to [new_name]." message_admins(msg) log_game(msg) src.name = new_name else - to_chat(src, "Invalid name. Rejected.") + to_chat(src, span_warning("Invalid name. Rejected.")) // Proc: Life() // Parameters: None diff --git a/code/modules/mob/login.dm b/code/modules/mob/login.dm index 14a3c56e8c2..49b1a81ec27 100644 --- a/code/modules/mob/login.dm +++ b/code/modules/mob/login.dm @@ -4,7 +4,7 @@ lastKnownIP = client.address computer_id = client.computer_id log_access_in(client) - if(config.log_access) + if(CONFIG_GET(flag/log_access)) for(var/mob/M in player_list) if(M == src) continue if( M.key && (M.key != key) ) @@ -14,14 +14,14 @@ if( (client.connection != "web") && (M.computer_id == client.computer_id) ) if(matches) matches += " and " matches += "ID ([client.computer_id])" - if(!config.disable_cid_warn_popup) + if(!CONFIG_GET(flag/disable_cid_warn_popup)) tgui_alert_async(usr, "You appear to have logged in with another key this round, which is not permitted. Please contact an administrator if you believe this message to be in error.") if(matches) if(M.client) - message_admins("[span_red("Notice: ")][span_blue("[key_name_admin(src)] has the same [matches] as [key_name_admin(M)].")]", 1) + message_admins("[span_red(span_bold("Notice:"))] [span_blue("[key_name_admin(src)] has the same [matches] as [key_name_admin(M)].")]", 1) log_adminwarn("Notice: [key_name(src)] has the same [matches] as [key_name(M)].") else - message_admins("[span_red("Notice: ")][span_blue("[key_name_admin(src)] has the same [matches] as [key_name_admin(M)] (no longer logged in). ")]", 1) + message_admins("[span_red(span_bold("Notice:"))] [span_blue("[key_name_admin(src)] has the same [matches] as [key_name_admin(M)] (no longer logged in). ")]", 1) log_adminwarn("Notice: [key_name(src)] has the same [matches] as [key_name(M)] (no longer logged in).") /mob/Login() @@ -32,8 +32,9 @@ client.images = null //remove the images such as AIs being unable to see runes client.screen = list() //remove hud items just in case - if(hud_used) qdel(hud_used) //remove the hud objects - hud_used = new /datum/hud(src) + if(hud_used) + qdel(hud_used) //remove the hud objects + new /datum/hud(src) if(client.prefs && client.prefs.client_fps) client.fps = client.prefs.client_fps @@ -63,12 +64,12 @@ recalculate_vis() // AO support - var/ao_enabled = client.is_preference_enabled(/datum/client_preference/ambient_occlusion) + var/ao_enabled = client.prefs?.read_preference(/datum/preference/toggle/ambient_occlusion) plane_holder.set_ao(VIS_OBJS, ao_enabled) plane_holder.set_ao(VIS_MOBS, ao_enabled) // Status indicators - var/status_enabled = client.is_preference_enabled(/datum/client_preference/status_indicators) + var/status_enabled = client.prefs?.read_preference(/datum/preference/toggle/status_indicators) plane_holder.set_vis(VIS_STATUS, status_enabled) //set macro to normal incase it was overriden (like cyborg currently does) @@ -83,4 +84,5 @@ if(cloaked && cloaked_selfimage) client.images += cloaked_selfimage + client.init_verbs() SEND_SIGNAL(src, COMSIG_MOB_CLIENT_LOGIN, client) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index d7beac9e920..a0e9148b34f 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -90,7 +90,7 @@ return // Added voice muffling for Issue 41. if(stat == UNCONSCIOUS || sleeping > 0) - to_chat(src, "... You can almost hear someone talking ...") + to_chat(src, span_filter_notice(span_italics("... You can almost hear someone talking ..."))) else if(client && client.prefs.chat_timestamp) // TG-Chat filters latch directly to the spans, we no longer need that @@ -126,6 +126,17 @@ /atom/proc/drain_power(var/drain_check,var/surge, var/amount = 0) return -1 + // used for petrification machines +/atom/proc/get_ultimate_mob() + var/mob/ultimate_mob + var/atom/to_check = loc + var/n = 0 + while (to_check && !isturf(to_check) && n++ < 16) + if (ismob(to_check)) + ultimate_mob = to_check + to_check = to_check.loc + return ultimate_mob + // Show a message to all mobs and objects in earshot of this one // This would be for audible actions by the src mob // message is the message output to anyone who can hear. @@ -288,7 +299,7 @@ /mob/verb/memory() set name = "Notes" - set category = "IC" + set category = "IC.Game" if(mind) mind.show_memory(src) else @@ -296,7 +307,7 @@ /mob/verb/add_memory(msg as message) set name = "Add Note" - set category = "IC" + set category = "IC.Game" msg = sanitize(msg) @@ -330,16 +341,16 @@ /mob/proc/warn_flavor_changed() if(flavor_text && flavor_text != "") // don't spam people that don't use it! - to_chat(src, "

    OOC Warning:

    ") - to_chat(src, "Your flavor text is likely out of date! Change") + to_chat(src, span_filter_notice("

    OOC Warning:

    ")) + to_chat(src, span_filter_notice(span_warning("Your flavor text is likely out of date! Change"))) /mob/proc/print_flavor_text() if (flavor_text && flavor_text != "") var/msg = replacetext(flavor_text, "\n", " ") if(length(msg) <= 40) - return "[msg]" + return span_notice("[msg]") else - return "[copytext_preserve_html(msg, 1, 37)]... More..." + return span_notice("[copytext_preserve_html(msg, 1, 37)]... More...") /* /mob/verb/help() @@ -354,9 +365,9 @@ // Special cases, can never respawn if(ticker?.mode?.deny_respawn) time = -1 - else if(!config.abandon_allowed) + else if(!CONFIG_GET(flag/abandon_allowed)) time = -1 - else if(!config.respawn) + else if(!CONFIG_GET(flag/respawn)) time = -1 // Special case for observing before game start @@ -365,7 +376,7 @@ // Wasn't given a time, use the config time else if(!time) - time = config.respawn_time + time = CONFIG_GET(number/respawn_time) var/keytouse = ckey // Try harder to find a key to use @@ -377,23 +388,23 @@ GLOB.respawn_timers[keytouse] = world.time + time /mob/observer/dead/set_respawn_timer() - if(config.antag_hud_restricted && has_enabled_antagHUD) + if(CONFIG_GET(flag/antag_hud_restricted) && has_enabled_antagHUD) ..(-1) else return // Don't set it, no need /mob/verb/abandon_mob() set name = "Return to Menu" - set category = "OOC" + set category = "OOC.Game" if(stat != DEAD || !ticker) - to_chat(usr, "You must be dead to use this!") + to_chat(usr, span_boldnotice("You must be dead to use this!")) return // Final chance to abort "respawning" if(mind && timeofdeath) // They had spawned before var/choice = tgui_alert(usr, "Returning to the menu will prevent your character from being revived in-round. Are you sure?", "Confirmation", list("No, wait", "Yes, leave")) - if(choice == "No, wait") + if(!choice || choice == "No, wait") return else if(mind.assigned_role) var/extra_check = tgui_alert(usr, "Do you want to Quit This Round before you return to lobby?\ @@ -404,7 +415,7 @@ for(var/datum/objective/O in all_objectives) if(O.target == src.mind) if(O.owner && O.owner.current) - to_chat(O.owner.current,"You get the feeling your target is no longer within your reach...") + to_chat(O.owner.current,span_warning("You get the feeling your target is no longer within your reach...")) qdel(O) //Resleeving cleanup @@ -435,7 +446,7 @@ //This removes them from being 'active' list on join screen src.mind.assigned_role = null - to_chat(src,"Your job has been free'd up, and you can rejoin as another character or quit. Thanks for properly quitting round, it helps the server!") + to_chat(src,span_notice("Your job has been free'd up, and you can rejoin as another character or quit. Thanks for properly quitting round, it helps the server!")) // Beyond this point, you're going to respawn @@ -465,7 +476,7 @@ /client/verb/changes() set name = "Changelog" - set category = "OOC" + set category = "OOC.Resources" src << link("https://wiki.vore-station.net/Changelog") /* @@ -477,13 +488,13 @@ /mob/verb/observe() set name = "Observe" - set category = "OOC" + set category = "OOC.Game" var/is_admin = 0 if(client.holder && (client.holder.rights & R_ADMIN|R_EVENT)) is_admin = 1 else if(stat != DEAD || istype(src, /mob/new_player)) - to_chat(usr, "[span_blue("You must be observing to use this!")]") + to_chat(usr, span_filter_notice("[span_blue("You must be observing to use this!")]")) return if(is_admin && stat == DEAD) @@ -519,7 +530,7 @@ /mob/verb/cancel_camera() set name = "Cancel Camera View" - set category = "OOC" + set category = "OOC.Game" unset_machine() reset_view(null) @@ -534,8 +545,7 @@ onclose(usr, "[name]") if(href_list["flavor_change"]) update_flavor_text() -// ..() - return + return ..() /mob/proc/pull_damage() @@ -544,14 +554,14 @@ /mob/verb/stop_pulling() set name = "Stop Pulling" - set category = "IC" + set category = "IC.Game" if(pulling) if(ishuman(pulling)) var/mob/living/carbon/human/H = pulling - visible_message(SPAN_WARNING("\The [src] lets go of \the [H]."), SPAN_NOTICE("You let go of \the [H]."), exclude_mobs = list(H)) + visible_message(span_warning("\The [src] lets go of \the [H]."), span_notice("You let go of \the [H]."), exclude_mobs = list(H)) if(!H.stat) - to_chat(H, SPAN_WARNING("\The [src] lets go of you.")) + to_chat(H, span_warning("\The [src] lets go of you.")) pulling.pulledby = null pulling = null if(pullin) @@ -563,22 +573,22 @@ return if (AM.anchored) - to_chat(src, "It won't budge!") + to_chat(src, span_warning("It won't budge!")) return var/mob/M = AM if(ismob(AM)) if(!can_pull_mobs || !can_pull_size) - to_chat(src, "They won't budge!") + to_chat(src, span_warning("They won't budge!")) return if((mob_size < M.mob_size) && (can_pull_mobs != MOB_PULL_LARGER)) - to_chat(src, "[M] is too large for you to move!") + to_chat(src, span_warning("[M] is too large for you to move!")) return if((mob_size == M.mob_size) && (can_pull_mobs == MOB_PULL_SMALLER)) - to_chat(src, "[M] is too heavy for you to move!") + to_chat(src, span_warning("[M] is too heavy for you to move!")) return // If your size is larger than theirs and you have some @@ -588,13 +598,13 @@ if(M.grabbed_by.len) // Only start pulling when nobody else has a grab on them . = 1 - for(var/obj/item/weapon/grab/G in M.grabbed_by) + for(var/obj/item/grab/G in M.grabbed_by) if(G.assailant != usr) . = 0 else qdel(G) if(!.) - to_chat(src, "Somebody has a grip on them!") + to_chat(src, span_warning("Somebody has a grip on them!")) return if(!iscarbon(src)) @@ -605,7 +615,7 @@ else if(isobj(AM)) var/obj/I = AM if(!can_pull_size || can_pull_size < I.w_class) - to_chat(src, "It won't budge!") + to_chat(src, span_warning("It won't budge!")) return if(pulling) @@ -624,17 +634,17 @@ if(ishuman(AM)) var/mob/living/carbon/human/H = AM if(H.lying) // If they're on the ground we're probably dragging their arms to move them - visible_message(SPAN_WARNING("\The [src] leans down and grips \the [H]'s arms."), SPAN_NOTICE("You lean down and grip \the [H]'s arms."), exclude_mobs = list(H)) + visible_message(span_warning("\The [src] leans down and grips \the [H]'s arms."), span_notice("You lean down and grip \the [H]'s arms."), exclude_mobs = list(H)) if(!H.stat) - to_chat(H, SPAN_WARNING("\The [src] leans down and grips your arms.")) + to_chat(H, span_warning("\The [src] leans down and grips your arms.")) else //Otherwise we're probably just holding their arm to lead them somewhere - visible_message(SPAN_WARNING("\The [src] grips \the [H]'s arm."), SPAN_NOTICE("You grip \the [H]'s arm."), exclude_mobs = list(H)) + visible_message(span_warning("\The [src] grips \the [H]'s arm."), span_notice("You grip \the [H]'s arm."), exclude_mobs = list(H)) if(!H.stat) - to_chat(H, SPAN_WARNING("\The [src] grips your arm.")) + to_chat(H, span_warning("\The [src] grips your arm.")) playsound(src.loc, 'sound/weapons/thudswoosh.ogg', 25) //Quieter than hugging/grabbing but we still want some audio feedback if(H.pull_damage()) - to_chat(src, "[span_red("Pulling \the [H] in their current condition would probably be a bad idea.")]") + to_chat(src, span_filter_notice("[span_red(span_bold("Pulling \the [H] in their current condition would probably be a bad idea."))]")) //Attempted fix for people flying away through space when cuffed and dragged. if(ismob(AM)) @@ -671,7 +681,7 @@ return stat == DEAD /mob/proc/is_mechanical() - if(mind && (mind.assigned_role == "Cyborg" || mind.assigned_role == "AI")) + if(mind && (mind.assigned_role == JOB_CYBORG || mind.assigned_role == JOB_AI)) return 1 return istype(src, /mob/living/silicon) || get_species() == "Machine" @@ -694,86 +704,19 @@ for(var/mob/M in viewers()) M.see(message) -/mob/Stat() - ..() - . = (is_client_active(10 MINUTES)) - - if(.) - if(statpanel("Status")) - stat(null, "Time Dilation: [round(SStime_track.time_dilation_current,1)]% AVG:([round(SStime_track.time_dilation_avg_fast,1)]%, [round(SStime_track.time_dilation_avg,1)]%, [round(SStime_track.time_dilation_avg_slow,1)]%)") - if(ticker && ticker.current_state != GAME_STATE_PREGAME) - stat("Station Time", stationtime2text()) - var/date = "[stationdate2text()], [capitalize(world_time_season)]" - stat("Station Date", date) - stat("Round Duration", roundduration2text()) - - if(client.holder) - if(statpanel("Status")) - stat("Location:", "([x], [y], [z]) [loc]") - stat("CPU:","[world.cpu]") - stat("Instances:","[world.contents.len]") - stat(null, "Time Dilation: [round(SStime_track.time_dilation_current,1)]% AVG:([round(SStime_track.time_dilation_avg_fast,1)]%, [round(SStime_track.time_dilation_avg,1)]%, [round(SStime_track.time_dilation_avg_slow,1)]%)") - stat("Keys Held", keys2text(client.move_keys_held | client.mod_keys_held)) - stat("Next Move ADD", dirs2text(client.next_move_dir_add)) - stat("Next Move SUB", dirs2text(client.next_move_dir_sub)) - stat("Current size:", size_multiplier * 100) - - if(statpanel("MC")) - stat("Location:", "([x], [y], [z]) [loc]") - stat("CPU:","[world.cpu]") - stat("Instances:","[world.contents.len]") - stat("World Time:", world.time) - stat("Real time of day:", REALTIMEOFDAY) - stat(null) - if(GLOB) - GLOB.stat_entry() - else - stat("Globals:", "ERROR") - if(Master) - Master.stat_entry() - else - stat("Master Controller:", "ERROR") - if(Failsafe) - Failsafe.stat_entry() - else - stat("Failsafe Controller:", "ERROR") - if(Master) - stat(null) - for(var/datum/controller/subsystem/SS in Master.subsystems) - SS.stat_entry() - - if(statpanel("Tickets")) - if(check_rights(R_ADMIN|R_MOD,FALSE)) //Prevents non-staff from opening the list of ahelp tickets //YW EDIT: Only admins/mods can check Tickets - GLOB.ahelp_tickets.stat_entry() - - if(check_rights(R_ADMIN|R_DEBUG, 0)) //YW EDIT: Only admins/debug can access SDQL - if(length(GLOB.sdql2_queries)) - if(statpanel("SDQL2")) - stat("Access Global SDQL2 List", GLOB.sdql2_vv_statobj) - for(var/datum/SDQL2_query/Q as anything in GLOB.sdql2_queries) - Q.generate_stat() - - if(has_mentor_powers(client)) - if(statpanel("Tickets")) - GLOB.mhelp_tickets.stat_entry() - - if(listed_turf && client) - if(!TurfAdjacent(listed_turf)) - listed_turf = null - else - if(statpanel("Turf")) - stat(listed_turf) - for(var/atom/A in listed_turf) - if(!A.mouse_opacity) - continue - if(A.invisibility > see_invisible) - continue - if(is_type_in_list(A, shouldnt_see)) - continue - if(A.plane > plane) - continue - stat(A) +/// Adds this list to the output to the stat browser +/mob/proc/get_status_tab_items() + . = list() + +/// Gets all relevant proc holders for the browser statpenl +/mob/proc/get_proc_holders() + . = list() + //if(mind) + //. += get_spells_for_statpanel(mind.spell_list) + //. += get_spells_for_statpanel(mob_spell_list) +/mob/proc/update_misc_tabs() + misc_tabs = list() //Reset misc_tabs every Stat() to prevent old shit sticking around // facing verbs /mob/proc/canface() @@ -967,11 +910,11 @@ usr.setClickCooldown(20) if(usr.stat == 1) - to_chat(usr, "You are unconcious and cannot do that!") + to_chat(usr, span_filter_notice("You are unconcious and cannot do that!")) return if(usr.restrained()) - to_chat(usr, "You are restrained and cannot do that!") + to_chat(usr, span_filter_notice("You are restrained and cannot do that!")) return var/mob/S = src @@ -985,17 +928,17 @@ valid_objects = get_visible_implants(0) if(!valid_objects.len) if(self) - to_chat(src, "You have nothing stuck in your body that is large enough to remove.") + to_chat(src, span_filter_notice("You have nothing stuck in your body that is large enough to remove.")) else - to_chat(U, "[src] has nothing stuck in their wounds that is large enough to remove.") + to_chat(U, span_filter_notice("[src] has nothing stuck in their wounds that is large enough to remove.")) return - var/obj/item/weapon/selection = tgui_input_list(usr, "What do you want to yank out?", "Embedded objects", valid_objects) + var/obj/item/selection = tgui_input_list(usr, "What do you want to yank out?", "Embedded objects", valid_objects) if(self) - to_chat(src, "You attempt to get a good grip on [selection] in your body.") + to_chat(src, span_warning("You attempt to get a good grip on [selection] in your body.")) else - to_chat(U, "You attempt to get a good grip on [selection] in [S]'s body.") + to_chat(U, span_warning("You attempt to get a good grip on [selection] in [S]'s body.")) if(!do_after(U, 30)) return @@ -1003,12 +946,12 @@ return if(self) - visible_message("[src] rips [selection] out of their body.","You rip [selection] out of your body.") + visible_message(span_boldwarning("[src] rips [selection] out of their body."),span_boldwarning("You rip [selection] out of your body.")) else - visible_message("[usr] rips [selection] out of [src]'s body.","[usr] rips [selection] out of your body.") + visible_message(span_boldwarning("[usr] rips [selection] out of [src]'s body."),span_boldwarning("[usr] rips [selection] out of your body.")) valid_objects = get_visible_implants(0) if(valid_objects.len == 1) //Yanking out last object - removing verb. - src.verbs -= /mob/proc/yank_out_object + remove_verb(src, /mob/proc/yank_out_object) clear_alert("embeddedobject") if(ishuman(src)) @@ -1042,7 +985,7 @@ selection.forceMove(get_turf(src)) U.put_in_hands(selection) - for(var/obj/item/weapon/O in pinned) + for(var/obj/item/O in pinned) if(O == selection) pinned -= O if(!pinned.len) @@ -1066,15 +1009,15 @@ /mob/verb/face_direction() set name = "Face Direction" - set category = "IC" + set category = "IC.Game" set src = usr set_face_dir() if(!facing_dir) - to_chat(usr, "You are now not facing anything.") + to_chat(usr, span_filter_notice("You are now not facing anything.")) else - to_chat(usr, "You are now facing [dir2text(facing_dir)].") + to_chat(usr, span_filter_notice("You are now facing [dir2text(facing_dir)].")) /mob/proc/set_face_dir(var/newdir) if(newdir == facing_dir) @@ -1184,6 +1127,7 @@ /mob/proc/set_viewsize(var/new_view = world.view) if (client && new_view != client.view) client.view = new_view + client.attempt_auto_fit_viewport() return TRUE return FALSE @@ -1205,6 +1149,18 @@ if(src.throw_icon && !issilicon(src)) // Silicon use this for something else. Do not overwrite their HUD icon src.throw_icon.icon_state = "act_throw_on" +/mob/verb/spacebar_throw_on() + set name = ".throwon" + set hidden = TRUE + set instant = TRUE + throw_mode_on() + +/mob/verb/spacebar_throw_off() + set name = ".throwoff" + set hidden = TRUE + set instant = TRUE + throw_mode_off() + /mob/proc/isSynthetic() return 0 @@ -1305,20 +1261,18 @@ return TRUE /mob/MouseEntered(location, control, params) - if(usr != src && usr.is_preference_enabled(/datum/client_preference/mob_tooltips) && src.will_show_tooltip()) - openToolTip(user = usr, tip_src = src, params = params, title = get_nametag_name(usr), content = get_nametag_desc(usr)) - - ..() + if(usr != src && will_show_tooltip()) + if(usr?.read_preference(/datum/preference/toggle/mob_tooltips)) + openToolTip(usr, src, params, title = get_nametag_name(usr), content = get_nametag_desc(usr)) + . = ..() /mob/MouseDown() closeToolTip(usr) //No reason not to, really - - ..() + . = ..() /mob/MouseExited() closeToolTip(usr) //No reason not to, really - - ..() + . = ..() // Manages a global list of mobs with clients attached, indexed by z-level. /mob/proc/update_client_z(new_z) // +1 to register, null to unregister. diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index ae88b489f7b..1b069023250 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -153,7 +153,7 @@ var/voice_name = "unidentifiable voice" - var/faction = "neutral" //Used for checking whether hostile simple animals will attack you, possibly more stuff later + var/faction = FACTION_NEUTRAL //Used for checking whether hostile simple animals will attack you, possibly more stuff later var/can_be_antagged = FALSE // To prevent pAIs/mice/etc from getting antag in autotraitor and future auto- modes. Uses inheritance instead of a bunch of typechecks. var/away_from_keyboard = FALSE //are we at, or away, from our keyboard? @@ -208,7 +208,6 @@ //so don't treat them as being SSD even though their client var is null. var/mob/teleop = null - var/turf/listed_turf = null //the current turf being examined in the stat panel var/list/shouldnt_see = list(/mob/observer/eye) //list of objects that this mob shouldn't see in the stat panel. this silliness is needed because of AI alt+click and cult blood runes var/list/active_genes=list() @@ -236,3 +235,10 @@ var/list/progressbars = null //VOREStation Edit var/datum/focus //What receives our keyboard inputs. src by default + /// dict of custom stat tabs with data + var/list/list/misc_tabs = list() + + var/list/datum/action/actions + + var/list/viruses + var/list/resistances diff --git a/code/modules/mob/mob_defines_vr.dm b/code/modules/mob/mob_defines_vr.dm index 0eaed29131d..3be06ebe6b6 100644 --- a/code/modules/mob/mob_defines_vr.dm +++ b/code/modules/mob/mob_defines_vr.dm @@ -6,6 +6,7 @@ var/disconnect_time = null //Time of client loss, set by Logout(), for timekeeping var/obj/screen/shadekin/shadekin_display = null + var/obj/screen/shadekin/lleill_display = null var/obj/screen/xenochimera/danger_level/xenochimera_danger_display = null var/size_multiplier = 1 //multiplier for the mob's icon size diff --git a/code/modules/mob/mob_grab.dm b/code/modules/mob/mob_grab.dm index e5c84c69287..c865ef8a26d 100644 --- a/code/modules/mob/mob_grab.dm +++ b/code/modules/mob/mob_grab.dm @@ -11,10 +11,10 @@ L.resist() //shortcut for resisting grabs //if we are grabbing someone - for(var/obj/item/weapon/grab/G in list(L.l_hand, L.r_hand)) + for(var/obj/item/grab/G in list(L.l_hand, L.r_hand)) G.reset_kill_state() //no wandering across the station/asteroid while choking someone -/obj/item/weapon/grab +/obj/item/grab name = "grab" icon = 'icons/mob/screen1.dmi' icon_state = "reinforce" @@ -36,7 +36,7 @@ destroy_on_drop = TRUE //VOREStation Edit -/obj/item/weapon/grab/New(mob/user, mob/victim) +/obj/item/grab/New(mob/user, mob/victim) ..() loc = user assailant = user @@ -47,8 +47,8 @@ return affecting.grabbed_by += src - affecting.reveal("You are revealed as [assailant] grabs you.") - assailant.reveal("You reveal yourself as you grab [affecting].") + affecting.reveal(span_warning("You are revealed as [assailant] grabs you.")) + assailant.reveal(span_warning("You reveal yourself as you grab [affecting].")) hud = new /obj/screen/grab(src) hud.icon_state = "reinforce" @@ -58,7 +58,7 @@ //check if assailant is grabbed by victim as well if(assailant.grabbed_by) - for (var/obj/item/weapon/grab/G in assailant.grabbed_by) + for (var/obj/item/grab/G in assailant.grabbed_by) if(G.assailant == affecting && G.affecting == assailant) G.dancing = 1 G.adjust_position() @@ -72,7 +72,7 @@ //Used by throw code to hand over the mob, instead of throwing the grab. The grab is then deleted by the throw code. -/obj/item/weapon/grab/proc/throw_held() +/obj/item/grab/proc/throw_held() if(affecting) if(affecting.buckled) return null @@ -84,7 +84,7 @@ //This makes sure that the grab screen object is displayed in the correct hand. -/obj/item/weapon/grab/proc/synch() //why is this needed? +/obj/item/grab/proc/synch() //why is this needed? if(QDELETED(src)) return if(affecting) @@ -93,7 +93,7 @@ else hud.screen_loc = ui_lhand -/obj/item/weapon/grab/process() +/obj/item/grab/process() if(QDELETED(src)) // GC is trying to delete us, we'll kill our processing so we can cleanly GC return PROCESS_KILL @@ -109,17 +109,17 @@ if(state <= GRAB_AGGRESSIVE) allow_upgrade = 1 //disallow upgrading if we're grabbing more than one person - if((assailant.l_hand && assailant.l_hand != src && istype(assailant.l_hand, /obj/item/weapon/grab))) - var/obj/item/weapon/grab/G = assailant.l_hand + if((assailant.l_hand && assailant.l_hand != src && istype(assailant.l_hand, /obj/item/grab))) + var/obj/item/grab/G = assailant.l_hand if(G.affecting != affecting) allow_upgrade = 0 - if((assailant.r_hand && assailant.r_hand != src && istype(assailant.r_hand, /obj/item/weapon/grab))) - var/obj/item/weapon/grab/G = assailant.r_hand + if((assailant.r_hand && assailant.r_hand != src && istype(assailant.r_hand, /obj/item/grab))) + var/obj/item/grab/G = assailant.r_hand if(G.affecting != affecting) allow_upgrade = 0 //disallow upgrading past aggressive if we're being grabbed aggressively - for(var/obj/item/weapon/grab/G in affecting.grabbed_by) + for(var/obj/item/grab/G in affecting.grabbed_by) if(G == src) continue if(G.state >= GRAB_AGGRESSIVE) allow_upgrade = 0 @@ -159,19 +159,19 @@ adjust_position() -/obj/item/weapon/grab/proc/handle_eye_mouth_covering(mob/living/carbon/target, mob/user, var/target_zone) +/obj/item/grab/proc/handle_eye_mouth_covering(mob/living/carbon/target, mob/user, var/target_zone) var/announce = (target_zone != last_hit_zone) //only display messages when switching between different target zones last_hit_zone = target_zone switch(target_zone) if(O_MOUTH) if(announce) - user.visible_message("\The [user] covers [target]'s mouth!") + user.visible_message(span_warning("\The [user] covers [target]'s mouth!")) if(target.silent < 3) target.silent = 3 if(O_EYES) if(announce) - assailant.visible_message("[assailant] covers [affecting]'s eyes!") + assailant.visible_message(span_warning("[assailant] covers [affecting]'s eyes!")) if(affecting.eye_blind < 3) affecting.Blind(3) /*YW Change start, Nope @@ -180,17 +180,17 @@ if(force_down) if(user.a_intent == I_HELP) if(announce) - assailant.visible_message("[assailant] sits on [target]'s face!") + assailant.visible_message(span_warning("[assailant] sits on [target]'s face!")) //VOREStation Edit End YW Change stop*/ -/obj/item/weapon/grab/attack_self() +/obj/item/grab/attack_self() return s_click(hud) //Updating pixelshift, position and direction //Gets called on process, when the grab gets upgraded or the assailant moves -/obj/item/weapon/grab/proc/adjust_position() +/obj/item/grab/proc/adjust_position() if(!affecting) qdel(src) return @@ -235,7 +235,7 @@ if(EAST) animate(affecting, pixel_x =-shift, pixel_y = initial(affecting.pixel_y), 5, 1, LINEAR_EASING) -/obj/item/weapon/grab/proc/s_click(obj/screen/S) +/obj/item/grab/proc/s_click(obj/screen/S) if(QDELETED(src)) return if(!affecting) @@ -256,9 +256,9 @@ if(!allow_upgrade) return if(!affecting.lying || size_difference(affecting, assailant) > 0) - assailant.visible_message("[assailant] has grabbed [affecting] aggressively (now hands)!") + assailant.visible_message(span_warning("[assailant] has grabbed [affecting] aggressively (now hands)!")) else - assailant.visible_message("[assailant] pins [affecting] down to the ground (now hands)!") + assailant.visible_message(span_warning("[assailant] pins [affecting] down to the ground (now hands)!")) apply_pinning(affecting, assailant) state = GRAB_AGGRESSIVE @@ -267,10 +267,10 @@ add_attack_logs(assailant, affecting, "Aggressively grabbed", FALSE) // Not important enough to notify admins, but still helpful. else if(state < GRAB_NECK) if(isslime(affecting)) - to_chat(assailant, "You squeeze [affecting], but nothing interesting happens.") + to_chat(assailant, span_notice("You squeeze [affecting], but nothing interesting happens.")) return - assailant.visible_message("[assailant] has reinforced [TU.his] grip on [affecting] (now neck)!") + assailant.visible_message(span_warning("[assailant] has reinforced [TU.his] grip on [affecting] (now neck)!")) state = GRAB_NECK icon_state = "grabbed+1" assailant.set_dir(get_dir(assailant, affecting)) @@ -279,11 +279,11 @@ hud.name = "kill" affecting.Stun(10) //10 ticks of ensured grab else if(state < GRAB_UPGRADING) - assailant.visible_message("[assailant] starts to tighten [TU.his] grip on [affecting]'s neck!") + assailant.visible_message(span_danger("[assailant] starts to tighten [TU.his] grip on [affecting]'s neck!")) hud.icon_state = "kill1" state = GRAB_KILL - assailant.visible_message("[assailant] has tightened [TU.his] grip on [affecting]'s neck!") + assailant.visible_message(span_danger("[assailant] has tightened [TU.his] grip on [affecting]'s neck!")) add_attack_logs(assailant,affecting,"Strangled") affecting.setClickCooldown(10) affecting.AdjustLosebreath(1) @@ -291,7 +291,7 @@ adjust_position() //This is used to make sure the victim hasn't managed to yackety sax away before using the grab. -/obj/item/weapon/grab/proc/confirm() +/obj/item/grab/proc/confirm() if(!assailant || !affecting) qdel(src) return 0 @@ -303,7 +303,7 @@ return 1 -/obj/item/weapon/grab/attack(mob/M, mob/living/user) +/obj/item/grab/attack(mob/M, mob/living/user) if(QDELETED(src)) return if(!affecting) @@ -323,7 +323,7 @@ switch(assailant.a_intent) if(I_HELP) if(force_down) - to_chat(assailant, "You are no longer pinning [affecting] to the ground.") + to_chat(assailant, span_warning("You are no longer pinning [affecting] to the ground.")) force_down = 0 return if(state >= GRAB_AGGRESSIVE) @@ -349,19 +349,19 @@ if(M == assailant && state >= GRAB_AGGRESSIVE) devour(affecting, assailant) -/obj/item/weapon/grab/dropped() +/obj/item/grab/dropped() loc = null if(!QDELETED(src)) qdel(src) -/obj/item/weapon/grab/proc/reset_kill_state() +/obj/item/grab/proc/reset_kill_state() if(state == GRAB_KILL) var/datum/gender/T = gender_datums[assailant.get_visible_gender()] - assailant.visible_message("[assailant] lost [T.his] tight grip on [affecting]'s neck!") + assailant.visible_message(span_warning("[assailant] lost [T.his] tight grip on [affecting]'s neck!")) hud.icon_state = "kill" state = GRAB_NECK -/obj/item/weapon/grab/proc/handle_resist() +/obj/item/grab/proc/handle_resist() var/grab_name var/break_strength = 1 var/list/break_chance_table = list(100) @@ -396,14 +396,14 @@ reset_kill_state() return else if(grab_name) - affecting.visible_message("[affecting] has broken free of [assailant]'s [grab_name]!") + affecting.visible_message(span_warning("[affecting] has broken free of [assailant]'s [grab_name]!")) qdel(src) //returns the number of size categories between affecting and assailant, rounded. Positive means A is larger than B -/obj/item/weapon/grab/proc/size_difference(mob/A, mob/B) +/obj/item/grab/proc/size_difference(mob/A, mob/B) return mob_size_difference(A.mob_size, B.mob_size) -/obj/item/weapon/grab/Destroy() +/obj/item/grab/Destroy() animate(affecting, pixel_x = initial(affecting.pixel_x), pixel_y = initial(affecting.pixel_y), 4, 1, LINEAR_EASING) affecting.reset_plane_and_layer() if(affecting) diff --git a/code/modules/mob/mob_grab_specials.dm b/code/modules/mob/mob_grab_specials.dm index 32ef25f4326..78582aa64c0 100644 --- a/code/modules/mob/mob_grab_specials.dm +++ b/code/modules/mob/mob_grab_specials.dm @@ -1,55 +1,55 @@ -/obj/item/weapon/grab/proc/inspect_organ(mob/living/carbon/human/H, mob/user, var/target_zone) +/obj/item/grab/proc/inspect_organ(mob/living/carbon/human/H, mob/user, var/target_zone) var/obj/item/organ/external/E = H.get_organ(target_zone) if(!E || E.is_stump()) - to_chat(user, "[H] is missing that bodypart.") + to_chat(user, span_notice("[H] is missing that bodypart.")) return - user.visible_message("[user] starts inspecting [affecting]'s [E.name] carefully.") + user.visible_message(span_notice("[user] starts inspecting [affecting]'s [E.name] carefully.")) if(!do_mob(user,H, 10)) - to_chat(user, "You must stand still to inspect [E] for wounds.") + to_chat(user, span_notice("You must stand still to inspect [E] for wounds.")) else if(E.wounds.len) - to_chat(user, "You find [E.get_wounds_desc()]") + to_chat(user, span_warning("You find [E.get_wounds_desc()]")) else - to_chat(user, "You find no visible wounds.") + to_chat(user, span_notice("You find no visible wounds.")) - to_chat(user, "Checking bones now...") + to_chat(user, span_notice("Checking bones now...")) if(!do_mob(user, H, 20)) - to_chat(user, "You must stand still to feel [E] for fractures.") + to_chat(user, span_notice("You must stand still to feel [E] for fractures.")) else if(E.status & ORGAN_BROKEN) - to_chat(user, "The [E.encased ? E.encased : "bone in the [E.name]"] moves slightly when you poke it!") + to_chat(user, span_warning("The [E.encased ? E.encased : "bone in the [E.name]"] moves slightly when you poke it!")) H.custom_pain("Your [E.name] hurts where it's poked.", 40) else - to_chat(user, "The [E.encased ? E.encased : "bones in the [E.name]"] seem to be fine.") + to_chat(user, span_notice("The [E.encased ? E.encased : "bones in the [E.name]"] seem to be fine.")) - to_chat(user, "Checking skin now...") + to_chat(user, span_notice("Checking skin now...")) if(!do_mob(user, H, 10)) - to_chat(user, "You must stand still to check [H]'s skin for abnormalities.") + to_chat(user, span_notice("You must stand still to check [H]'s skin for abnormalities.")) else var/bad = 0 if(H.getToxLoss() >= 40) - to_chat(user, "[H] has an unhealthy skin discoloration.") + to_chat(user, span_warning("[H] has an unhealthy skin discoloration.")) bad = 1 if(H.getOxyLoss() >= 20) - to_chat(user, "[H]'s skin is unusaly pale.") + to_chat(user, span_warning("[H]'s skin is unusaly pale.")) bad = 1 if(E.status & ORGAN_DEAD) - to_chat(user, "[E] is decaying!") + to_chat(user, span_warning("[E] is decaying!")) bad = 1 if(!bad) - to_chat(user, "[H]'s skin is normal.") + to_chat(user, span_notice("[H]'s skin is normal.")) -/obj/item/weapon/grab/proc/jointlock(mob/living/carbon/human/target, mob/attacker, var/target_zone) +/obj/item/grab/proc/jointlock(mob/living/carbon/human/target, mob/attacker, var/target_zone) if(state < GRAB_AGGRESSIVE) - to_chat(attacker, "You require a better grab to do this.") + to_chat(attacker, span_warning("You require a better grab to do this.")) return var/obj/item/organ/external/organ = target.get_organ(check_zone(target_zone)) if(!organ || organ.dislocated == -1) return - attacker.visible_message("[attacker] [pick("bent", "twisted")] [target]'s [organ.name] into a jointlock!") + attacker.visible_message(span_danger("[attacker] [pick("bent", "twisted")] [target]'s [organ.name] into a jointlock!")) if(target.species.flags & NO_PAIN) return @@ -57,12 +57,12 @@ var/armor = target.run_armor_check(target, "melee") var/soaked = target.get_armor_soak(target, "melee") if(armor + soaked < 60) - to_chat(target, "You feel extreme pain!") + to_chat(target, span_danger("You feel extreme pain!")) var/max_halloss = round(target.species.total_health * 0.8) //up to 80% of passing out affecting.adjustHalLoss(CLAMP(max_halloss - affecting.halloss, 0, 30)) -/obj/item/weapon/grab/proc/attack_eye(mob/living/carbon/human/target, mob/living/carbon/human/attacker) +/obj/item/grab/proc/attack_eye(mob/living/carbon/human/target, mob/living/carbon/human/attacker) if(!istype(attacker)) return @@ -71,27 +71,27 @@ if(!attack) return if(state < GRAB_NECK) - to_chat(attacker, "You require a better grab to do this.") + to_chat(attacker, span_warning("You require a better grab to do this.")) return for(var/obj/item/protection in list(target.head, target.wear_mask, target.glasses)) if(protection && (protection.body_parts_covered & EYES)) - to_chat(attacker, "You're going to need to remove the eye covering first.") + to_chat(attacker, span_danger("You're going to need to remove the eye covering first.")) return if(!target.has_eyes()) - to_chat(attacker, "You cannot locate any eyes on [target]!") + to_chat(attacker, span_danger("You cannot locate any eyes on [target]!")) return add_attack_logs(attacker,target,"Eye gouge using grab") attack.handle_eye_attack(attacker, target) -/obj/item/weapon/grab/proc/headbutt(mob/living/carbon/human/target, mob/living/carbon/human/attacker) +/obj/item/grab/proc/headbutt(mob/living/carbon/human/target, mob/living/carbon/human/attacker) if(!istype(attacker)) return if(target.lying) return var/datum/gender/T = gender_datums[attacker.get_visible_gender()] - attacker.visible_message("[attacker] thrusts [T.his] head into [target]'s skull!") + attacker.visible_message(span_danger("[attacker] thrusts [T.his] head into [target]'s skull!")) var/damage = 20 var/obj/item/clothing/hat = attacker.head @@ -105,7 +105,7 @@ if(!armor && target.headcheck(BP_HEAD) && prob(damage)) target.apply_effect(20, PARALYZE) - target.visible_message("[target] [target.species.get_knockout_message(target)]") + target.visible_message(span_danger("[target] [target.species.get_knockout_message(target)]")) playsound(attacker, "swing_hit", 25, 1, -1) add_attack_logs(attacker,target,"Headbutted using grab") @@ -115,32 +115,32 @@ qdel(src) return -/obj/item/weapon/grab/proc/dislocate(mob/living/carbon/human/target, mob/living/attacker, var/target_zone) +/obj/item/grab/proc/dislocate(mob/living/carbon/human/target, mob/living/attacker, var/target_zone) if(state < GRAB_NECK) - to_chat(attacker, "You require a better grab to do this.") + to_chat(attacker, span_warning("You require a better grab to do this.")) return if(target.grab_joint(attacker, target_zone)) playsound(src, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) return -/obj/item/weapon/grab/proc/pin_down(mob/target, mob/attacker) +/obj/item/grab/proc/pin_down(mob/target, mob/attacker) if(state < GRAB_AGGRESSIVE) - to_chat(attacker, "You require a better grab to do this.") + to_chat(attacker, span_warning("You require a better grab to do this.")) return if(force_down) - to_chat(attacker, "You are already pinning [target] to the ground.") + to_chat(attacker, span_warning("You are already pinning [target] to the ground.")) return if(size_difference(affecting, assailant) > 0) - to_chat(attacker, "You are too small to do that!") + to_chat(attacker, span_warning("You are too small to do that!")) return - attacker.visible_message("[attacker] starts forcing [target] to the ground!") + attacker.visible_message(span_danger("[attacker] starts forcing [target] to the ground!")) if(do_after(attacker, 20) && target) last_action = world.time - attacker.visible_message("[attacker] forces [target] to the ground!") + attacker.visible_message(span_danger("[attacker] forces [target] to the ground!")) apply_pinning(target, attacker) -/obj/item/weapon/grab/proc/apply_pinning(mob/target, mob/attacker) +/obj/item/grab/proc/apply_pinning(mob/target, mob/attacker) force_down = 1 target.Weaken(3) target.lying = 1 @@ -148,7 +148,7 @@ attacker.set_dir(EAST) //face the victim target.set_dir(SOUTH) //face up -/obj/item/weapon/grab/proc/devour(mob/target, mob/user) +/obj/item/grab/proc/devour(mob/target, mob/user) var/can_eat if((FAT in user.mutations) && ismini(target)) can_eat = 1 @@ -162,12 +162,12 @@ if(can_eat) var/mob/living/carbon/attacker = user - user.visible_message("[user] is attempting to devour [target]!") + user.visible_message(span_vdanger("[user] is attempting to devour [target]!")) if(can_eat == 2) if(!do_mob(user, target)||!do_after(user, 30)) return else if(!do_mob(user, target)||!do_after(user, 70)) return - user.visible_message("[user] devours [target]!") + user.visible_message(span_vdanger("[user] devours [target]!")) target.loc = user attacker.stomach_contents.Add(target) qdel(src) diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index 61d9c6020d3..a384f755b55 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -142,7 +142,7 @@ if(target.buckled || target.lying) return zone // if your target is being grabbed aggressively by someone you cannot miss either - for(var/obj/item/weapon/grab/G in target.grabbed_by) + for(var/obj/item/grab/G in target.grabbed_by) if(G.state >= GRAB_AGGRESSIVE) return zone @@ -213,7 +213,7 @@ //if(2,4,6,15) newletter="[uppertext(newletter)]" if(2,4,6,9) newletter="[uppertext(newletter)]" if(7) newletter+="'" - //if(9,10) newletter="[newletter]" + //if(9,10) newletter=span_bold("[newletter]") //if(11,12) newletter="[newletter]" //if(13) newletter="[newletter]" newphrase+="[newletter]";counter-=1 @@ -409,7 +409,7 @@ var/list/intents = list(I_HELP,I_DISARM,I_GRAB,I_HURT) return // Can't talk in deadchat if you can't see it. for(var/mob/M in player_list) - if(M.client && ((!istype(M, /mob/new_player) && M.stat == DEAD) || (M.client.holder && M.client.holder.rights && M.is_preference_enabled(/datum/client_preference/holder/show_staff_dsay))) && M.is_preference_enabled(/datum/client_preference/show_dsay)) + if(M.client && ((!istype(M, /mob/new_player) && M.stat == DEAD) || (M.client.holder && M.client.holder.rights && M.client?.prefs?.read_preference(/datum/preference/toggle/holder/show_staff_dsay))) && M.client?.prefs?.read_preference(/datum/preference/toggle/show_dsay)) var/follow var/lname if(M.forbid_seeing_deadchat && !M.client.holder) @@ -434,12 +434,12 @@ var/list/intents = list(I_HELP,I_DISARM,I_GRAB,I_HURT) lname = "[keyname] ([name])" else // Everyone else (dead people who didn't ghost yet, etc.) lname = name - lname = "[lname] " - to_chat(M, "" + create_text_tag("dead", "DEAD:", M.client) + " [lname][follow][message]") + lname = span_name("[lname]") + " " + to_chat(M, span_deadsay("" + create_text_tag("dead", "DEAD:", M.client) + " [lname][follow][message]")) /proc/say_dead_object(var/message, var/obj/subject = null) for(var/mob/M in player_list) - if(M.client && ((!istype(M, /mob/new_player) && M.stat == DEAD) || (M.client.holder && M.client.holder.rights && M.is_preference_enabled(/datum/client_preference/holder/show_staff_dsay))) && M.is_preference_enabled(/datum/client_preference/show_dsay)) + if(M.client && ((!istype(M, /mob/new_player) && M.stat == DEAD) || (M.client.holder && M.client.holder.rights && M.client?.prefs?.read_preference(/datum/preference/toggle/holder/show_staff_dsay))) && M.client?.prefs?.read_preference(/datum/preference/toggle/show_dsay)) var/follow var/lname = "Game Master" if(M.forbid_seeing_deadchat && !M.client.holder) @@ -448,8 +448,8 @@ var/list/intents = list(I_HELP,I_DISARM,I_GRAB,I_HURT) if(subject) lname = "[subject.name] ([subject.x],[subject.y],[subject.z])" - lname = "[lname] " - to_chat(M, "" + create_text_tag("event_dead", "EVENT:", M.client) + " [lname][follow][message]") + lname = span_name("[lname]") + " " + to_chat(M, span_deadsay("" + create_text_tag("event_dead", "EVENT:", M.client) + " [lname][follow][message]")) //Announces that a ghost has joined/left, mainly for use with wizards /proc/announce_ghost_joinleave(O, var/joined_ghosts = 1, var/message = "") @@ -482,9 +482,9 @@ var/list/intents = list(I_HELP,I_DISARM,I_GRAB,I_HURT) if(!name) name = (C.holder && C.holder.fakekey) ? C.holder.fakekey : C.key if(joined_ghosts) - say_dead_direct("The ghost of [name] now [pick("skulks","lurks","prowls","creeps","stalks")] among the dead. [message]") + say_dead_direct("The ghost of " + span_name("[name]") + " now [pick("skulks","lurks","prowls","creeps","stalks")] among the dead. [message]") else - say_dead_direct("[name] no longer [pick("skulks","lurks","prowls","creeps","stalks")] in the realm of the dead. [message]") + say_dead_direct(span_name("[name]") + " no longer [pick("skulks","lurks","prowls","creeps","stalks")] in the realm of the dead. [message]") /mob/proc/switch_to_camera(var/obj/machinery/camera/C) if (!C.can_use() || stat || (get_dist(C, src) > 1 || machine != src || blinded || !canmove)) @@ -528,24 +528,24 @@ var/list/intents = list(I_HELP,I_DISARM,I_GRAB,I_HURT) return SAFE_PERP //Agent cards lower threatlevel. - var/obj/item/weapon/card/id/id = GetIdCard() - if(id && istype(id, /obj/item/weapon/card/id/syndicate)) + var/obj/item/card/id/id = GetIdCard() + if(id && istype(id, /obj/item/card/id/syndicate)) threatcount -= 2 // A proper CentCom id is hard currency. - else if(id && istype(id, /obj/item/weapon/card/id/centcom)) + else if(id && istype(id, /obj/item/card/id/centcom)) return SAFE_PERP if(check_access && !access_obj.allowed(src)) threatcount += 4 if(auth_weapons && !access_obj.allowed(src)) - if(istype(l_hand, /obj/item/weapon/gun) || istype(l_hand, /obj/item/weapon/melee)) + if(istype(l_hand, /obj/item/gun) || istype(l_hand, /obj/item/melee)) threatcount += 4 - if(istype(r_hand, /obj/item/weapon/gun) || istype(r_hand, /obj/item/weapon/melee)) + if(istype(r_hand, /obj/item/gun) || istype(r_hand, /obj/item/melee)) threatcount += 4 - if(istype(belt, /obj/item/weapon/gun) || istype(belt, /obj/item/weapon/melee)) + if(istype(belt, /obj/item/gun) || istype(belt, /obj/item/melee)) threatcount += 2 if(species.name != SPECIES_HUMAN) diff --git a/code/modules/mob/mob_helpers_vr.dm b/code/modules/mob/mob_helpers_vr.dm index 81ae7da305f..0b0b2559139 100644 --- a/code/modules/mob/mob_helpers_vr.dm +++ b/code/modules/mob/mob_helpers_vr.dm @@ -1,6 +1,9 @@ /mob/recalculate_vis() . = ..() + if(!plane_holder || !vis_enabled) + return + if(stomach_vision && !(VIS_CH_STOMACH in vis_enabled)) plane_holder.set_vis(VIS_CH_STOMACH,TRUE) vis_enabled += VIS_CH_STOMACH @@ -8,9 +11,6 @@ plane_holder.set_vis(VIS_CH_STOMACH,FALSE) vis_enabled -= VIS_CH_STOMACH - if(!plane_holder || !vis_enabled) - return - if(vantag_hud) if(!(VIS_CH_VANTAG in vis_enabled)) plane_holder.set_vis(VIS_CH_VANTAG,TRUE) @@ -29,18 +29,15 @@ var/toggle toggle = tgui_alert(src, "Would you like to see visible stomachs?", "Visible Tummy?", list("Yes", "No")) + if(!toggle) + return if(toggle =="Yes") stomach_vision = 1 //Simple! Easy! - if(!(VIS_CH_STOMACH in vis_enabled)) - plane_holder.set_vis(VIS_CH_STOMACH,TRUE) - vis_enabled += VIS_CH_STOMACH - to_chat("You can now see stomachs!") + to_chat(src, "You can now see stomachs!") else stomach_vision = 0 - if(VIS_CH_STOMACH in vis_enabled) - plane_holder.set_vis(VIS_CH_STOMACH,FALSE) - vis_enabled -= VIS_CH_STOMACH - to_chat("You will no longer see stomachs!") + to_chat(src, "You will no longer see stomachs!") + recalculate_vis() /* //Leaving this in as an example of 'how to properly enable a plane to hide/show itself' for future PRs. if(stomach_vision && !(VIS_CH_STOMACH in vis_enabled)) diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index 6edae3b15f7..1b2c1571d7a 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -8,7 +8,7 @@ /mob/proc/movement_delay(oldloc, direct) . = 0 - if(locate(/obj/item/weapon/grab) in src) + if(locate(/obj/item/grab) in src) . += 5 // Movespeed delay based on movement mode @@ -16,9 +16,9 @@ if("run") if(drowsyness > 0) . += 6 - . += config.run_speed + . += CONFIG_GET(number/run_speed) if("walk") - . += config.walk_speed + . += CONFIG_GET(number/walk_speed) /client/proc/client_dir(input, direction=-1) return turn(input, direction*dir2angle(dir)) @@ -208,7 +208,7 @@ return result // Can't control ourselves when drifting - if((isspace(loc) || my_mob.lastarea?.has_gravity == 0) && isturf(loc)) + if((isspace(loc) || my_mob.lastarea?.get_gravity() == 0) && isturf(loc)) if(!my_mob.Process_Spacemove(0)) return 0 @@ -328,11 +328,11 @@ my_mob.other_mobs = null // Update all the grabs! - for (var/obj/item/weapon/grab/G in my_mob) + for (var/obj/item/grab/G in my_mob) if (G.state == GRAB_NECK) mob.set_dir(reverse_dir[direct]) G.adjust_position() - for (var/obj/item/weapon/grab/G in my_mob.grabbed_by) + for (var/obj/item/grab/G in my_mob.grabbed_by) G.adjust_position() // We're not in the middle of a move anymore @@ -350,14 +350,27 @@ switch(mob.incorporeal_move) if(1) var/turf/T = get_step(mob, direct) + var/area/A = T.loc //RS Port #658 if(!T) return if(mob.check_holy(T)) - to_chat(mob, "You cannot get past holy grounds while you are in this plane of existence!") + to_chat(mob, span_warning("You cannot get past holy grounds while you are in this plane of existence!")) return - else - mob.forceMove(get_step(mob, direct)) - mob.dir = direct + //RS Port #658 Start + if(!holder) + if(isliving(mob) && A.flag_check(AREA_BLOCK_PHASE_SHIFT)) + to_chat(mob, span_warning("Something blocks you from entering this location while phased out.")) + return + if(isobserver(mob) && A.flag_check(AREA_BLOCK_GHOSTS)) + to_chat(mob, span_warning("Ghosts can't enter this location.")) + var/area/our_area = mobloc.loc + if(our_area.flag_check(AREA_BLOCK_GHOSTS)) + var/mob/observer/dead/D = mob + D.return_to_spawn() + return + mob.forceMove(get_step(mob, direct)) + mob.dir = direct + //RS Port #658 End if(2) if(prob(50)) var/locx @@ -428,7 +441,7 @@ //Check to see if we slipped if(prob(Process_Spaceslipping(5)) && !buckled) - to_chat(src, "You slipped!") + to_chat(src, span_boldnotice("You slipped!")) inertia_dir = last_move step(src, src.inertia_dir) // Not using Move for smooth glide here because this is a 'slip' so should be sudden. return 0 @@ -447,7 +460,7 @@ if(istype(turf,/turf/simulated/floor)) // Floors don't count if they don't have gravity var/area/A = turf.loc - if(istype(A) && A.has_gravity == 0) + if(istype(A) && A.get_gravity() == 0) if(shoegrip == null) shoegrip = Check_Shoegrip() //Shoegrip is only ever checked when a zero-gravity floor is encountered to reduce load if(!shoegrip) @@ -486,8 +499,8 @@ prob_slip = round(prob_slip) return(prob_slip) -/mob/proc/mob_has_gravity(turf/T) - return has_gravity(src, T) +/mob/proc/mob_get_gravity(turf/T) + return get_gravity(src, T) /mob/proc/update_gravity() return diff --git a/code/modules/mob/mob_planes_vr.dm b/code/modules/mob/mob_planes_vr.dm index 9f5b30f5793..9928180070b 100644 --- a/code/modules/mob/mob_planes_vr.dm +++ b/code/modules/mob/mob_planes_vr.dm @@ -21,8 +21,9 @@ my_mob = M /obj/screen/plane_master/augmented/Destroy() + entopic_users -= my_mob my_mob = null - return ..() + . = ..() /obj/screen/plane_master/augmented/set_visibility(var/want = FALSE) . = ..() diff --git a/code/modules/mob/new_player/login.dm b/code/modules/mob/new_player/login.dm index eedd207194d..4461135f2c9 100644 --- a/code/modules/mob/new_player/login.dm +++ b/code/modules/mob/new_player/login.dm @@ -29,11 +29,11 @@ var/obj/effect/lobby_image = new /obj/effect/lobby_image /mob/new_player/Login() update_Login_details() //handles setting lastKnownIP and computer_id for use by the ban systems as well as checking for multikeying if(join_motd) - join_motd = GLOB.is_valid_url.Replace(join_motd,"$1") - to_chat(src, "
    [join_motd]
    ") + join_motd = GLOB.is_valid_url.Replace(join_motd,span_linkify("$1")) + to_chat(src, examine_block("
    [join_motd]
    ")) if(has_respawned) - to_chat(usr, config.respawn_message) + to_chat(usr, CONFIG_GET(string/respawn_message)) has_respawned = FALSE if(!mind) @@ -50,6 +50,7 @@ var/obj/effect/lobby_image = new /obj/effect/lobby_image created_for = ckey new_player_panel() + client.init_verbs() spawn(40) if(client) handle_privacy_poll() @@ -87,12 +88,12 @@ var/obj/effect/lobby_image = new /obj/effect/lobby_image tgui_alert_async(src, message, "BYOND Client Version Warning") // So we can be more wordy and give links. - to_chat(src, "Your client version has known issues. Please consider using a different version: https://www.byond.com/download/build/.") + to_chat(src, span_userdanger("Your client version has known issues.") + " Please consider using a different version: https://www.byond.com/download/build/.") var/chat_message = "" - if(config.suggested_byond_version) - chat_message += "We suggest using version [config.suggested_byond_version]." - if(config.suggested_byond_build) - chat_message += "[config.suggested_byond_build]." + if(CONFIG_GET(number/suggested_byond_version)) + chat_message += "We suggest using version [CONFIG_GET(number/suggested_byond_version)]." + if(CONFIG_GET(number/suggested_byond_build)) + chat_message += "[CONFIG_GET(number/suggested_byond_build)]." chat_message += " If you find this version doesn't work for you, let us know." to_chat(src, chat_message) to_chat(src, "Tip: You can always use the '.zip' versions of BYOND and keep multiple versions in folders wherever you want, rather than uninstalling/reinstalling. Just make sure BYOND is *really* closed (check your system tray for the icon) before starting a different version.") diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index 01a74aea44b..76c28cb5a7e 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -8,6 +8,8 @@ var/show_hidden_jobs = 0 //Show jobs that are set to "Never" in preferences var/has_respawned = FALSE //Determines if we're using RESPAWN_MESSAGE var/datum/browser/panel + var/datum/tgui_module/crew_manifest/new_player/manifest_dialog = null + var/datum/tgui_module/late_choices/late_choices_dialog = null universal_speak = 1 invisibility = 101 @@ -22,13 +24,17 @@ /mob/new_player/New() mob_list += src - verbs |= /mob/proc/insidePanel + add_verb(src, /mob/proc/insidePanel) initialized = TRUE // Explicitly don't use Initialize(). New players join super early and use New() /mob/new_player/Destroy() if(panel) QDEL_NULL(panel) + if(manifest_dialog) + QDEL_NULL(manifest_dialog) + if(late_choices_dialog) + QDEL_NULL(late_choices_dialog) . = ..() /mob/new_player/verb/new_player_panel() @@ -39,22 +45,22 @@ /mob/new_player/proc/new_player_panel_proc() var/output = "
    " - output += "Map: [using_map.full_name]
    " - output += "Station Time: [stationtime2text()]
    " + output += span_bold("Map:") + " [using_map.full_name]
    " + output += span_bold("Station Time:") + " [stationtime2text()]
    " if(!ticker || ticker.current_state <= GAME_STATE_PREGAME) - output += "Server Initializing!" + output += span_bold("Server Initializing!") else - output += "Round Duration: [roundduration2text()]
    " + output += span_bold("Round Duration:") + " [roundduration2text()]
    " output += "
    " output += "

    Character Setup

    " if(!ticker || ticker.current_state <= GAME_STATE_PREGAME) if(ready) - output += "

    \[ Ready | Not Ready \]

    " + output += "

    \[ " + span_linkOn(span_bold("Ready")) + " | Not Ready \]

    " else - output += "

    \[ Ready | Not Ready \]

    " + output += "

    \[ Ready | " + span_linkOn(span_bold("Not Ready")) + " \]

    " else output += "View the Crew Manifest

    " @@ -100,7 +106,7 @@ if (client.prefs.lastlorenews == GLOB.news_data.newsindex) client.seen_news = 1 - if(GLOB.news_data.station_newspaper && !client.seen_news && client.is_preference_enabled(/datum/client_preference/show_lore_news)) + if(GLOB.news_data.station_newspaper && !client.seen_news && client.prefs?.read_preference(/datum/preference/toggle/show_lore_news)) show_latest_news(GLOB.news_data.station_newspaper) client.prefs.lastlorenews = GLOB.news_data.newsindex SScharacter_setup.queue_preferences_save(client.prefs) @@ -111,36 +117,37 @@ panel.open() return -/mob/new_player/Stat() - ..() - - if(statpanel("Lobby") && SSticker) - stat("Game Mode:", SSticker.hide_mode ? "Secret" : "[config.mode_names[master_mode]]") - - if(SSvote.mode) - stat("Vote: [capitalize(SSvote.mode)]", "Time Left: [SSvote.time_remaining] s") - - if(SSticker.current_state == GAME_STATE_INIT) - stat("Time To Start:", "Server Initializing") - - else if(SSticker.current_state == GAME_STATE_PREGAME) - stat("Time To Start:", "[round(SSticker.pregame_timeleft,1)][round_progressing ? "" : " (DELAYED)"]") - stat("Players: [totalPlayers]", "Players Ready: [totalPlayersReady]") - totalPlayers = 0 - totalPlayersReady = 0 - var/datum/job/refJob = null - for(var/mob/new_player/player in player_list) - refJob = player.client.prefs.get_highest_job() - if(player.client.prefs.obfuscate_key && player.client.prefs.obfuscate_job) - stat("Anonymous User", (player.ready)?("Ready!"):(null)) - else if(player.client.prefs.obfuscate_key) - stat("Anonymous User", (player.ready)?("(Playing as: [(refJob)?(refJob.title):("Unknown")])"):(null)) - else if(player.client.prefs.obfuscate_job) - stat("[player.key]", (player.ready)?("Ready!"):(null)) - else - stat("[player.key]", (player.ready)?("(Playing as: [(refJob)?(refJob.title):("Unknown")])"):(null)) - totalPlayers++ - if(player.ready)totalPlayersReady++ +/mob/new_player/get_status_tab_items() + . = ..() + . += "" + + . += "Game Mode: [SSticker.hide_mode ? "Secret" : "[config.mode_names[master_mode]]"]" + + // if(SSvote.mode) + // . += "Vote: [capitalize(SSvote.mode)] Time Left: [SSvote.time_remaining] s" + + if(SSticker.current_state == GAME_STATE_INIT) + . += "Time To Start: Server Initializing" + + else if(SSticker.current_state == GAME_STATE_PREGAME) + . += "Time To Start: [round(SSticker.pregame_timeleft,1)][round_progressing ? "" : " (DELAYED)"]" + . += "Players: [totalPlayers]" + . += "Players Ready: [totalPlayersReady]" + totalPlayers = 0 + totalPlayersReady = 0 + var/datum/job/refJob = null + for(var/mob/new_player/player in player_list) + refJob = player.client.prefs.get_highest_job() + if(player.client.prefs.obfuscate_key && player.client.prefs.obfuscate_job) + . += "Anonymous User [player.ready ? "Ready!" : null]" + else if(player.client.prefs.obfuscate_key) + . += "Anonymous User [player.ready ? "(Playing as: [refJob ? refJob.title : "Unknown"])" : null]" + else if(player.client.prefs.obfuscate_job) + . += "[player.key] [player.ready ? "Ready!" : null]" + else + . += "[player.key] [player.ready ? "(Playing as: [refJob ? refJob.title : "Unknown"])" : null]" + totalPlayers++ + if(player.ready)totalPlayersReady++ /mob/new_player/Topic(href, href_list[]) if(!client) return 0 @@ -179,10 +186,10 @@ close_spawn_windows() var/obj/O = locate("landmark*Observer-Start") if(istype(O)) - to_chat(src, "Now teleporting.") + to_chat(src, span_notice("Now teleporting.")) observer.forceMove(O.loc) else - to_chat(src, "Could not locate an observer spawn point. Use the Teleport verb to jump to the station map.") + to_chat(src, span_danger("Could not locate an observer spawn point. Use the Teleport verb to jump to the station map.")) announce_ghost_joinleave(src) @@ -190,10 +197,11 @@ client.prefs.real_name = random_name(client.prefs.identifying_gender) observer.real_name = client.prefs.real_name observer.name = observer.real_name - if(!client.holder && !config.antag_hud_allowed) // For new ghosts we remove the verb from even showing up if it's not allowed. - observer.verbs -= /mob/observer/dead/verb/toggle_antagHUD // Poor guys, don't know what they are missing! + if(!client.holder && !CONFIG_GET(flag/antag_hud_allowed)) // For new ghosts we remove the verb from even showing up if it's not allowed. + remove_verb(observer, /mob/observer/dead/verb/toggle_antagHUD) // Poor guys, don't know what they are missing! observer.key = key observer.set_respawn_timer(time_till_respawn()) // Will keep their existing time if any, or return 0 and pass 0 into set_respawn_timer which will use the defaults + observer.client.init_verbs() qdel(src) return 1 @@ -206,9 +214,9 @@ var/time_till_respawn = time_till_respawn() if(time_till_respawn == -1) // Special case, never allowed to respawn - to_chat(usr, "Respawning is not allowed!") + to_chat(usr, span_warning("Respawning is not allowed!")) else if(time_till_respawn) // Nonzero time to respawn - to_chat(usr, "You can't respawn yet! You need to wait another [round(time_till_respawn/10/60, 0.1)] minutes.") + to_chat(usr, span_warning("You can't respawn yet! You need to wait another [round(time_till_respawn/10/60, 0.1)] minutes.")) return /* if(client.prefs.species != "Human" && !check_rights(R_ADMIN, 0)) //VORESTATION EDITS: THE COMMENTED OUT AREAS FROM LINE 154 TO 178 @@ -222,37 +230,6 @@ if(href_list["manifest"]) ViewManifest() - if(href_list["SelectedJob"]) - - /* Vorestation Removal Start - //Prevents people rejoining as same character. - for (var/mob/living/carbon/human/C in mob_list) - var/char_name = client.prefs.real_name - if(char_name == C.real_name) - to_chat(usr, "There is a character that already exists with the same name - [C.real_name], please join with a different one, or use Quit the Round with the previous character.") //VOREStation Edit - return - */ //Vorestation Removal End - - if(!config.enter_allowed) - to_chat(usr, "There is an administrative lock on entering the game!") - return - else if(ticker && ticker.mode && ticker.mode.explosion_in_progress) - to_chat(usr, "The station is currently exploding. Joining would go poorly.") - return - - if(!is_alien_whitelisted(src, GLOB.all_species[client.prefs.species])) - tgui_alert(src, "You are currently not whitelisted to play [client.prefs.species].") - return 0 - - var/datum/species/S = GLOB.all_species[client.prefs.species] - - if(!(S.spawn_flags & SPECIES_CAN_JOIN)) - tgui_alert_async(src,"Your current species, [client.prefs.species], is not available for play on the station.") - return 0 - - AttemptLateSpawn(href_list["SelectedJob"],client.prefs.spawnpoint) - return - if(href_list["privacy_poll"]) establish_db_connection() if(!dbcon.IsConnected()) @@ -288,7 +265,7 @@ var/sql = "INSERT INTO erro_privacy VALUES (null, Now(), '[src.ckey]', '[option]')" var/DBQuery/query_insert = dbcon.NewQuery(sql) query_insert.Execute() - to_chat(usr, "Thank you for your vote!") + to_chat(usr, span_bold("Thank you for your vote!")) usr << browse(null,"window=privacypoll") if(!ready && href_list["preference"]) @@ -385,7 +362,7 @@ dat += "
    " dat += "[F["body"]]" dat += "
    " - dat += "Last written by [F["author"]], on [F["timestamp"]]." + dat += span_normal(span_italics("Last written by [F["author"]], on [F["timestamp"]].")) dat += "" var/datum/browser/popup = new(src, "Server News", "Server News", 450, 300, src) popup.set_content(dat) @@ -436,8 +413,8 @@ if(!ticker || ticker.current_state != GAME_STATE_PLAYING) to_chat(usr, span_red("The round is either not ready, or has already finished...")) return 0 - if(!config.enter_allowed) - to_chat(usr, "There is an administrative lock on entering the game!") + if(!CONFIG_GET(flag/enter_allowed)) + to_chat(usr, span_notice("There is an administrative lock on entering the game!")) return 0 if(!IsJobAvailable(rank)) tgui_alert_async(src,"[rank] is not available. Please try another.") @@ -512,11 +489,12 @@ ticker.minds += character.mind//Cyborgs and AIs handle this in the transform proc. //TODO!!!!! ~Carn if(ishuman(character)) if(character.client.prefs.auto_backup_implant) - var/obj/item/weapon/implant/backup/imp = new(src) + var/obj/item/implant/backup/imp = new(src) if(imp.handle_implant(character,character.zone_sel.selecting)) imp.post_implant(character) + character.client.init_verbs() qdel(src) // Delete new_player mob /mob/new_player/proc/AnnounceCyborg(var/mob/living/character, var/rank, var/join_message, var/channel, var/zlevel) @@ -528,53 +506,9 @@ global_announcer.autosay("A new[rank ? " [rank]" : " visitor" ] [join_message ? join_message : "has arrived on the station"].", "Arrivals Announcement Computer", channel, zlevels) /mob/new_player/proc/LateChoices() - var/name = client.prefs.be_random_name ? "friend" : client.prefs.real_name - - var/dat = "
    " - dat += "Welcome, [name].
    " - dat += "Round Duration: [roundduration2text()]
    " - - if(emergency_shuttle) //In case NanoTrasen decides reposess CentCom's shuttles. - if(emergency_shuttle.going_to_centcom()) //Shuttle is going to CentCom, not recalled - dat += "The station has been evacuated.
    " - if(emergency_shuttle.online()) - if (emergency_shuttle.evac) // Emergency shuttle is past the point of no recall - dat += "The station is currently undergoing evacuation procedures.
    " - else // Crew transfer initiated - dat += "The station is currently undergoing crew transfer procedures.
    " - - dat += "Choose from the following open/valid positions:
    " - dat += "[show_hidden_jobs ? "Hide":"Show"] Hidden Jobs.
    " - - var/deferred = "" - for(var/datum/job/job in job_master.occupations) - if(job && IsJobAvailable(job.title)) - // Checks for jobs with minimum age requirements - if((job.minimum_character_age || job.min_age_by_species) && (client.prefs.age < job.get_min_age(client.prefs.species, client.prefs.organ_data["brain"]))) - continue - // Checks for jobs set to "Never" in preferences //TODO: Figure out a better way to check for this - if(!(client.prefs.GetJobDepartment(job, 1) & job.flag)) - if(!(client.prefs.GetJobDepartment(job, 2) & job.flag)) - if(!(client.prefs.GetJobDepartment(job, 3) & job.flag)) - if(!show_hidden_jobs && job.title != "Assistant") // Assistant is always an option - continue - var/active = 0 - // Only players with the job assigned and AFK for less than 10 minutes count as active - for(var/mob/M in player_list) if(M.mind && M.client && M.mind.assigned_role == job.title && M.client.inactivity <= 10 MINUTES) - active++ - - var/string = "[job.title] ([job.current_positions]) (Active: [active])
    " - - if(job.offmap_spawn) //At the bottom - deferred += string - else - dat += string - - dat += deferred - - dat += "
    " - src << browse(dat, "window=latechoices;size=300x640;can_close=1") - + if(!late_choices_dialog) + late_choices_dialog = new(src) + late_choices_dialog.tgui_interact(src) /mob/new_player/proc/create_character(var/turf/T) spawning = 1 @@ -609,7 +543,7 @@ if(mind) mind.active = 0 //we wish to transfer the key manually // VOREStation edit to disable the destructive forced renaming for our responsible whitelist clowns. - //if(mind.assigned_role == "Clown") //give them a clownname if they are a clown + //if(mind.assigned_role == JOB_CLOWN) //give them a clownname if they are a clown // new_character.real_name = pick(clown_names) //I hate this being here of all places but unfortunately dna is based on real_name! // new_character.rename_self("clown") mind.original = new_character @@ -621,6 +555,7 @@ mind.transfer_to(new_character) //won't transfer key since the mind is not active new_character.name = real_name + client.init_verbs() new_character.dna.ready_dna(new_character) new_character.dna.b_type = client.prefs.b_type new_character.sync_organ_dna() @@ -658,18 +593,16 @@ return new_character /mob/new_player/proc/ViewManifest() - var/dat = "
    " - dat += data_core.get_manifest(OOC = 1) - - //src << browse(dat, "window=manifest;size=370x420;can_close=1") - var/datum/browser/popup = new(src, "Crew Manifest", "Crew Manifest", 370, 420, src) - popup.set_content(dat) - popup.open() + if(!manifest_dialog) + manifest_dialog = new(src) + manifest_dialog.tgui_interact(src) /mob/new_player/Move() return 0 /mob/new_player/proc/close_spawn_windows() + manifest_dialog?.close_ui() + late_choices_dialog?.close_ui() src << browse(null, "window=latechoices") //closes late choices window src << browse(null, "window=preferences_window") //VOREStation Edit? diff --git a/code/modules/mob/new_player/new_player_vr.dm b/code/modules/mob/new_player/new_player_vr.dm index 0c159d8627c..d1587a6f434 100644 --- a/code/modules/mob/new_player/new_player_vr.dm +++ b/code/modules/mob/new_player/new_player_vr.dm @@ -7,29 +7,29 @@ return TRUE //No Flavor Text - if (config.require_flavor && !(J.mob_type & JOB_SILICON) && (!client?.prefs?.flavor_texts["general"] || length(client.prefs.flavor_texts["general"]) < 30)) - to_chat(src,"Please set your general flavor text to give a basic description of your character. Set it using the 'Set Flavor text' button on the 'General' tab in character setup, and choosing 'General' category.") + if (CONFIG_GET(flag/require_flavor) && !(J.mob_type & JOB_SILICON) && (!client?.prefs?.flavor_texts["general"] || length(client.prefs.flavor_texts["general"]) < 30)) + to_chat(src,span_warning("Please set your general flavor text to give a basic description of your character. Set it using the 'Set Flavor text' button on the 'General' tab in character setup, and choosing 'General' category.")) pass = FALSE //No OOC notes - if (config.allow_Metadata && (!client?.prefs?.metadata || length(client.prefs.metadata) < 15)) - to_chat(src,"Please set informative OOC notes related to RP/ERP preferences. Set them using the 'OOC Notes' button on the 'General' tab in character setup.") + if (CONFIG_GET(flag/allow_metadata) && (!client?.prefs?.metadata || length(client.prefs.metadata) < 15)) + to_chat(src,span_warning("Please set informative OOC notes related to RP/ERP preferences. Set them using the 'OOC Notes' button on the 'General' tab in character setup.")) pass = FALSE //Are they on the VERBOTEN LIST? if (prevent_respawns.Find(client?.prefs?.real_name)) - to_chat(src,"You've already quit the round as this character. You can't go back now that you've free'd your job slot. Play another character, or wait for the next round.") + to_chat(src,span_warning("You've already quit the round as this character. You can't go back now that you've free'd your job slot. Play another character, or wait for the next round.")) pass = FALSE //Do they have their scale properly setup? if(!client?.prefs?.size_multiplier) pass = FALSE - to_chat(src,"You have not set your scale yet. Do this on the VORE tab in character setup.") + to_chat(src,span_warning("You have not set your scale yet. Do this on the VORE tab in character setup.")) //Can they play? if(!is_alien_whitelisted(src,GLOB.all_species[client?.prefs?.species]) && !check_rights(R_ADMIN, 0)) pass = FALSE - to_chat(src,"You are not allowed to spawn in as this species.") + to_chat(src,span_warning("You are not allowed to spawn in as this species.")) //Custom species checks if (client?.prefs?.species == "Custom Species") @@ -37,37 +37,37 @@ //Didn't name it if(!client?.prefs?.custom_species) pass = FALSE - to_chat(src,"You have to name your custom species. Do this on the VORE tab in character setup.") + to_chat(src,span_warning("You have to name your custom species. Do this on the VORE tab in character setup.")) - //Check traits/costs - var/list/megalist = client.prefs.pos_traits + client.prefs.neu_traits + client.prefs.neg_traits - var/points_left = client.prefs.starting_trait_points - var/traits_left = client.prefs.max_traits - var/pref_synth = client.prefs.dirty_synth - var/pref_meat = client.prefs.gross_meatbag - for(var/datum/trait/T as anything in megalist) - var/cost = traits_costs[T] + //Check traits/costs + var/list/megalist = client.prefs.pos_traits + client.prefs.neu_traits + client.prefs.neg_traits + var/points_left = client.prefs.starting_trait_points + var/traits_left = client.prefs.max_traits + var/pref_synth = client.prefs.dirty_synth + var/pref_meat = client.prefs.gross_meatbag + for(var/datum/trait/T as anything in megalist) + var/cost = traits_costs[T] - if(cost) - traits_left-- + if(T.category == TRAIT_TYPE_POSITIVE) + traits_left-- - //A trait was removed from the game - if(isnull(cost)) - pass = FALSE - to_chat(src,"Your custom species is not playable. One or more traits appear to have been removed from the game or renamed. Enter character setup to correct this.") - break - else - points_left -= traits_costs[T] - - var/take_flags = initial(T.can_take) - if((pref_synth && !(take_flags & SYNTHETICS)) || (pref_meat && !(take_flags & ORGANICS))) - pass = FALSE - to_chat(src, "Some of your traits are not usable by your character type (synthetic traits on organic, or vice versa).") + //A trait was removed from the game + if(isnull(cost)) + pass = FALSE + to_chat(src,span_warning("Your species is not playable. One or more traits appear to have been removed from the game or renamed. Enter character setup to correct this.")) + break + else + points_left -= traits_costs[T] - //Went into negatives - if(points_left < 0 || traits_left < 0) + var/take_flags = initial(T.can_take) + if((pref_synth && !(take_flags & SYNTHETICS)) || (pref_meat && !(take_flags & ORGANICS))) pass = FALSE - to_chat(src,"Your custom species is not playable. Reconfigure your traits on the VORE tab.") + to_chat(src, span_warning("Some of your traits are not usable by your character type (synthetic traits on organic, or vice versa).")) + + //Went into negatives + if(points_left < 0 || traits_left < 0) + pass = FALSE + to_chat(src,span_warning("Your species is not playable. Reconfigure your traits on the VORE tab. Trait points: [points_left]. Traits left: [traits_left].")) //Final popup notice if (!pass) diff --git a/code/modules/mob/new_player/poll.dm b/code/modules/mob/new_player/poll.dm index 650344cd9d2..df882facddf 100644 --- a/code/modules/mob/new_player/poll.dm +++ b/code/modules/mob/new_player/poll.dm @@ -17,7 +17,7 @@ /mob/new_player/proc/privacy_poll() var/output = "
    Player poll" output +="
    " - output += "We would like to expand our stats gathering." + output += span_bold("We would like to expand our stats gathering.") output += "
    This however involves gathering data about player behavior, play styles, unique player numbers, play times, etc. Data like that cannot be gathered fully anonymously, which is why we're asking you how you'd feel if player-specific data was gathered. Prior to any of this actually happening, a privacy policy will be discussed, but before that can begin, we'd preliminarily like to know how you feel about the concept." output +="
    " output += "How do you feel about the game gathering player-specific statistics? This includes statistics about individual players as well as in-game polling/opinion requests." @@ -131,7 +131,7 @@ var/output = "
    Player poll" output +="
    " - output += "Question: [pollquestion]
    " + output += span_bold("Question: [pollquestion]") + "
    " output += "Poll runs from [pollstarttime] until [pollendtime]

    " if(!voted) //Only make this a form if we have not voted yet @@ -145,7 +145,7 @@ if(O.optionid && O.optiontext) if(voted) if(votedoptionid == O.optionid) - output += "[O.optiontext]
    " + output += span_bold("[O.optiontext]") + "
    " else output += "[O.optiontext]
    " else @@ -175,7 +175,7 @@ var/output = "

    Player poll" output +="
    " - output += "Question: [pollquestion]
    " + output += span_bold("Question: [pollquestion]") + "
    " output += "Feedback gathering runs from [pollstarttime] until [pollendtime]

    " if(!voted) //Only make this a form if we have not voted yet @@ -209,7 +209,7 @@ var/output = "

    Player poll" output +="
    " - output += "Question: [pollquestion]
    " + output += span_bold("Question: [pollquestion]") + "
    " output += "Poll runs from [pollstarttime] until [pollendtime]

    " var/voted = 0 @@ -304,7 +304,7 @@ var/output = "

    Player poll" output +="
    " - output += "Question: [pollquestion]
    You can select up to [multiplechoiceoptions] options. If you select more, the first [multiplechoiceoptions] will be saved.
    " + output += span_bold("Question: [pollquestion]") + "
    You can select up to [multiplechoiceoptions] options. If you select more, the first [multiplechoiceoptions] will be saved.
    " output += "Poll runs from [pollstarttime] until [pollendtime]

    " if(!voted) //Only make this a form if we have not voted yet @@ -320,7 +320,7 @@ if(O.optionid && O.optiontext) if(voted) if(O.optionid in votedfor) - output += "[O.optiontext]
    " + output += span_bold("[O.optiontext]") + "
    " else output += "[O.optiontext]
    " else diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm index 6a18c482dce..b2a03e9cf98 100644 --- a/code/modules/mob/new_player/preferences_setup.dm +++ b/code/modules/mob/new_player/preferences_setup.dm @@ -29,6 +29,7 @@ all_underwear[WRC.name] = WRI.name + headset = rand(1,3) backbag = rand(1,6) pdachoice = rand(1,7) age = rand(current_species.min_age, current_species.max_age) @@ -204,7 +205,7 @@ var/datum/job/previewJob // Determine what job is marked as 'High' priority, and dress them up as such. if(job_civilian_low & ASSISTANT) - previewJob = job_master.GetJob(USELESS_JOB) + previewJob = job_master.GetJob(JOB_ALT_VISITOR) else if(ispAI(client.mob)) //VOREStation Edit! - pAIs shouldn't wear job gear~! //Don't do anything! else @@ -268,7 +269,7 @@ var/datum/job/highJob // Determine what job is marked as 'High' priority, and dress them up as such. if(job_civilian_low & ASSISTANT) - highJob = job_master.GetJob("Assistant") + highJob = job_master.GetJob(JOB_ALT_ASSISTANT) else for(var/datum/job/job in job_master.occupations) var/job_flag diff --git a/code/modules/mob/new_player/skill.dm b/code/modules/mob/new_player/skill.dm deleted file mode 100644 index e1a0b50b7fc..00000000000 --- a/code/modules/mob/new_player/skill.dm +++ /dev/null @@ -1,213 +0,0 @@ -var/global/const - SKILL_NONE = 0 - SKILL_BASIC = 1 - SKILL_ADEPT = 2 - SKILL_EXPERT = 3 - SKILL_PROF = 4 - -/datum/skill/var - ID = "none" // ID of the skill, used in code - name = "None" // name of the skill - desc = "Placeholder skill" // detailed description of the skill - field = "Misc" // the field under which the skill will be listed - secondary = 0 // secondary skills only have two levels and cost significantly less - -var/global/list/SKILLS = null -var/list/SKILL_ENGINEER = list("field" = "Engineering", "EVA" = SKILL_BASIC, "construction" = SKILL_ADEPT, "electrical" = SKILL_BASIC, "engines" = SKILL_ADEPT) -var/list/SKILL_ORGAN_ROBOTICIST = list("field" = "Science", "devices" = SKILL_ADEPT, "electrical" = SKILL_BASIC, "computer" = SKILL_ADEPT, "anatomy" = SKILL_BASIC) -var/list/SKILL_SECURITY_OFFICER = list("field" = "Security", "combat" = SKILL_BASIC, "weapons" = SKILL_ADEPT, "law" = SKILL_ADEPT, "forensics" = SKILL_BASIC) -var/list/SKILL_CHEMIST = list("field" = "Science", "chemistry" = SKILL_ADEPT, "science" = SKILL_ADEPT, "medical" = SKILL_BASIC, "devices" = SKILL_BASIC) -var/global/list/SKILL_PRE = list("Engineer" = SKILL_ENGINEER, "Roboticist" = SKILL_ORGAN_ROBOTICIST, "Security Officer" = SKILL_SECURITY_OFFICER, "Chemist" = SKILL_CHEMIST) - -/datum/skill/management - ID = "management" - name = "Command" - desc = "Your ability to manage and commandeer other crew members." - -/datum/skill/combat - ID = "combat" - name = "Close Combat" - desc = "This skill describes your training in hand-to-hand combat or melee weapon usage. While expertise in this area is rare in the era of firearms, experts still exist among athletes." - field = "Security" - -/datum/skill/weapons - ID = "weapons" - name = "Weapons Expertise" - desc = "This skill describes your expertise with and knowledge of weapons. A low level in this skill implies knowledge of simple weapons, for example tazers and flashes. A high level in this skill implies knowledge of complex weapons, such as grenades, riot shields, pulse rifles or bombs. A low level in this skill is typical for security officers, a high level of this skill is typical for special agents and soldiers." - field = "Security" - -/datum/skill/EVA - ID = "EVA" - name = "Extra-vehicular activity" - desc = "This skill describes your skill and knowledge of space-suits and working in vacuum." - field = "Engineering" - secondary = 1 - -/datum/skill/forensics - ID = "forensics" - name = "Forensics" - desc = "Describes your skill at performing forensic examinations and identifying vital evidence. Does not cover analytical abilities, and as such isn't the only indicator for your investigation skill. Note that in order to perform autopsy, the surgery skill is also required." - field = "Security" - -/datum/skill/construction - ID = "construction" - name = "Construction" - desc = "Your ability to construct various buildings, such as walls, floors, tables and so on. Note that constructing devices such as APCs additionally requires the Electronics skill. A low level of this skill is typical for janitors, a high level of this skill is typical for engineers." - field = "Engineering" - -/datum/skill/management - ID = "management" - name = "Command" - desc = "Your ability to manage and commandeer other crew members." - -/datum/skill/knowledge/law - ID = "law" - name = "Corporate Law" - desc = "Your knowledge of corporate law and procedures. This includes Corporate Regulations, as well as general station rulings and procedures. A low level in this skill is typical for security officers, a high level in this skill is typical for Site Managers." - field = "Security" - secondary = 1 - -/datum/skill/devices - ID = "devices" - name = "Complex Devices" - desc = "Describes the ability to assemble complex devices, such as computers, circuits, printers, robots or gas tank assemblies(bombs). Note that if a device requires electronics or programming, those skills are also required in addition to this skill." - field = "Science" - -/datum/skill/electrical - ID = "electrical" - name = "Electrical Engineering" - desc = "This skill describes your knowledge of electronics and the underlying physics. A low level of this skill implies you know how to lay out wiring and configure powernets, a high level of this skill is required for working complex electronic devices such as circuits or bots." - field = "Engineering" - -/datum/skill/atmos - ID = "atmos" - name = "Atmospherics" - desc = "Describes your knowledge of piping, air distribution and gas dynamics." - field = "Engineering" - -/datum/skill/engines - ID = "engines" - name = "Engines" - desc = "Describes your knowledge of the various engine types common on space stations, such as the singularity or anti-matter engine." - field = "Engineering" - secondary = 1 - -/datum/skill/computer - ID = "computer" - name = "Information Technology" - desc = "Describes your understanding of computers, software and communication. Not a requirement for using computers, but definitely helps. Used in telecommunications and programming of computers and AIs." - field = "Science" - -/datum/skill/pilot - ID = "pilot" - name = "Heavy Machinery Operation" - desc = "Describes your experience and understanding of operating heavy machinery, which includes mechs and other large exosuits. Used in piloting mechs." - field = "Engineering" - -/datum/skill/medical - ID = "medical" - name = "Medicine" - desc = "Covers an understanding of the human body and medicine. At a low level, this skill gives a basic understanding of applying common types of medicine, and a rough understanding of medical devices like the health analyzer. At a high level, this skill grants exact knowledge of all the medicine available on the station, as well as the ability to use complex medical devices like the body scanner or mass spectrometer." - field = "Medical" - -/datum/skill/anatomy - ID = "anatomy" - name = "Anatomy" - desc = "Gives you a detailed insight of the human body. A high skill in this is required to perform surgery.This skill may also help in examining alien biology." - field = "Medical" - -/datum/skill/virology - ID = "virology" - name = "Virology" - desc = "This skill implies an understanding of microorganisms and their effects on humans." - field = "Medical" - -/datum/skill/genetics - ID = "genetics" - name = "Genetics" - desc = "Implies an understanding of how DNA works and the structure of the human DNA." - field = "Science" - -/datum/skill/chemistry - ID = "chemistry" - name = "Chemistry" - desc = "Experience with mixing chemicals, and an understanding of what the effect will be. This doesn't cover an understanding of the effect of chemicals on the human body, as such the medical skill is also required for medical chemists." - field = "Science" - -/datum/skill/botany - ID = "botany" - name = "Botany" - desc = "Describes how good a character is at growing and maintaining plants." - -/datum/skill/cooking - ID = "cooking" - name = "Cooking" - desc = "Describes a character's skill at preparing meals and other consumable goods. This includes mixing alcoholic beverages." - -/datum/skill/science - ID = "science" - name = "Science" - desc = "Your experience and knowledge with scientific methods and processes." - field = "Science" - -/datum/attribute/var - ID = "none" - name = "None" - desc = "This is a placeholder" - - -/proc/setup_skills() - if(SKILLS == null) - SKILLS = list() - for(var/T in subtypesof(/datum/skill)) - var/datum/skill/S = new T - if(S.ID != "none") - if(!SKILLS.Find(S.field)) - SKILLS[S.field] = list() - var/list/L = SKILLS[S.field] - L += S - - -/mob/living/carbon/human/proc/GetSkillClass(points) - return CalculateSkillClass(points, age) - -/proc/show_skill_window(var/mob/user, var/mob/living/carbon/human/M) - if(!istype(M)) return - if(SKILLS == null) - setup_skills() - - if(!M.skills || M.skills.len == 0) - to_chat(user, "There are no skills to display.") - return - - var/HTML = "" - HTML += "Select your Skills
    " - HTML += "Current skill level: [M.GetSkillClass(M.used_skillpoints)] ([M.used_skillpoints])
    " - HTML += "" - for(var/V in SKILLS) - HTML += "" - for(var/datum/skill/S in SKILLS[V]) - var/level = M.skills[S.ID] - HTML += "" - HTML += "" - HTML += "" - // secondary skills don't have an amateur level - if(S.secondary) - HTML += "" - else - HTML += "" - HTML += "" - HTML += "" - HTML += "" - HTML += "
    [V]" - HTML += "
    [S.name]\[Untrained\]\[Amateur\]\[Trained\]\[Professional\]
    " - - user << browse(null, "window=preferences") - user << browse(HTML, "window=show_skills;size=600x800") - return - -/mob/living/carbon/human/verb/show_skills() - set category = "IC" - set name = "Show Own Skills" - - show_skill_window(src, src) diff --git a/code/modules/mob/new_player/sprite_accessories.dm b/code/modules/mob/new_player/sprite_accessories.dm index 35016326a7d..ffc6dcd1e0b 100644 --- a/code/modules/mob/new_player/sprite_accessories.dm +++ b/code/modules/mob/new_player/sprite_accessories.dm @@ -17,6 +17,14 @@ conversion in savefile.dm */ +/** + * Color channel names; this is used in things like character setup, editors, etc. + * + * * The length of this is also used to sanitize color channel list lengths. This should never be longer than the + * maximum number of color channels possible across all sprite accessories. + */ +GLOBAL_LIST_INIT(fancy_sprite_accessory_color_channel_names, list("Primary", "Secondary", "Tertiary", "Quaternary")) + /datum/sprite_accessory var/icon // the icon file the accessory is located in @@ -44,6 +52,12 @@ var/list/hide_body_parts = list() //Uses organ tag defines. Bodyparts in this list do not have their icons rendered, allowing for more spriter freedom when doing taur/digitigrade stuff. +/** + * Gets the number of color channels we have. + */ +/datum/sprite_accessory/proc/get_color_channel_count() + return do_colouration ? 1 : 0 + /* //////////////////////////// / =--------------------= / @@ -3730,3 +3744,9 @@ shaved icon_state = "Voxscales" color_blend_mode = ICON_MULTIPLY body_parts = list(BP_R_ARM,BP_L_ARM,BP_R_HAND,BP_L_HAND,BP_R_LEG,BP_L_LEG,BP_R_FOOT,BP_L_FOOT) + +/datum/sprite_accessory/marking/vox/dinomuzzle + name = "Vox Dinosaur Muzzle" + icon_state = "vox_muzzle" + color_blend_mode = ICON_MULTIPLY + body_parts = list(BP_HEAD) diff --git a/code/modules/mob/new_player/sprite_accessories_ear.dm b/code/modules/mob/new_player/sprite_accessories_ear.dm index 092f52d2ed2..56231f99444 100644 --- a/code/modules/mob/new_player/sprite_accessories_ear.dm +++ b/code/modules/mob/new_player/sprite_accessories_ear.dm @@ -6,18 +6,30 @@ //////////////////////////// */ /datum/sprite_accessory/ears - name = "You should not see this..." + name = DEVELOPER_WARNING_NAME icon = 'icons/mob/human_races/sprite_accessories/ears.dmi' do_colouration = 0 // Set to 1 to blend (ICON_ADD) hair color color_blend_mode = ICON_ADD // Only appliciable if do_coloration = 1 var/extra_overlay // Icon state of an additional overlay to blend in. var/extra_overlay2 - var/desc = "You should not see this..." + var/desc = DEVELOPER_WARNING_NAME em_block = TRUE //species_allowed = list(SPECIES_EVENT1, SPECIES_EVENT2, SPECIES_EVENT3) //Removing Polaris whitelits, ones we need are defined in our files +/** + * Gets the number of color channels we have. + */ +/datum/sprite_accessory/ears/get_color_channel_count() + if(!do_colouration) + return 0 + . = 1 + if(extra_overlay) + . += 1 + if(extra_overlay2) + . += 1 + /datum/sprite_accessory/ears/shadekin name = "Shadekin Ears, colorable" desc = "" diff --git a/code/modules/mob/new_player/sprite_accessories_ear_vr.dm b/code/modules/mob/new_player/sprite_accessories_ear_vr.dm index afe3d7829c2..b13390480ca 100644 --- a/code/modules/mob/new_player/sprite_accessories_ear_vr.dm +++ b/code/modules/mob/new_player/sprite_accessories_ear_vr.dm @@ -6,10 +6,10 @@ //////////////////////////// */ /datum/sprite_accessory/ears - name = "You should not see this..." + name = DEVELOPER_WARNING_NAME icon = 'icons/mob/vore/ears_vr.dmi' do_colouration = 0 // Set to 1 to blend (ICON_ADD) hair color - species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST, SPECIES_SHADEKIN, SPECIES_SHADEKIN_CREW, SPECIES_ALTEVIAN, SPECIES_LLEILL, SPECIES_GREY_YW, SPECIES_SHADEKIN_YW) //This lets all races use //YW EDIT + species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST, SPECIES_SHADEKIN, SPECIES_SHADEKIN_CREW, SPECIES_ALTEVIAN, SPECIES_LLEILL, SPECIES_HANNER, SPECIES_GREY_YW, SPECIES_SHADEKIN_YW) //This lets all races use //YW EDIT color_blend_mode = ICON_ADD // Only appliciable if do_coloration = 1 // Species-unique ears @@ -38,7 +38,7 @@ do_colouration = 1 color_blend_mode = ICON_MULTIPLY extra_overlay = "lleill-antlers" - species_allowed = list(SPECIES_LLEILL) + species_allowed = list(SPECIES_LLEILL, SPECIES_HANNER) /datum/sprite_accessory/ears/lleill/curled name = "Lleill Ears Curled, colorable" diff --git a/code/modules/mob/new_player/sprite_accessories_extra.dm b/code/modules/mob/new_player/sprite_accessories_extra.dm index 3c24c00f781..0b162c094d1 100644 --- a/code/modules/mob/new_player/sprite_accessories_extra.dm +++ b/code/modules/mob/new_player/sprite_accessories_extra.dm @@ -3,6 +3,12 @@ species_allowed = list() +/datum/sprite_accessory/marking/vr/inner_thigh + name = "inner thighs" + icon_state = "inner_thigh" + color_blend_mode = ICON_MULTIPLY + body_parts = list(BP_L_LEG,BP_R_LEG) + /datum/sprite_accessory/marking/vr/vulp_belly name = "belly fur (Vulp)" icon_state = "vulp_belly" diff --git a/code/modules/mob/new_player/sprite_accessories_tail.dm b/code/modules/mob/new_player/sprite_accessories_tail.dm index fd9ad113829..858fe01b106 100644 --- a/code/modules/mob/new_player/sprite_accessories_tail.dm +++ b/code/modules/mob/new_player/sprite_accessories_tail.dm @@ -6,7 +6,7 @@ //////////////////////////// */ /datum/sprite_accessory/tail - name = "You should not see this..." + name = DEVELOPER_WARNING_NAME icon = 'icons/mob/human_races/sprite_accessories/tails.dmi' do_colouration = 0 //Set to 1 to enable coloration using the tail color. @@ -16,7 +16,7 @@ var/extra_overlay2 //Tertiary. var/show_species_tail = 0 // If false, do not render species' tail. var/clothing_can_hide = 1 // If true, clothing with HIDETAIL hides it - var/desc = "You should not see this..." + var/desc = DEVELOPER_WARNING_NAME var/ani_state // State when wagging/animated var/extra_overlay_w // Wagging state for extra overlay var/extra_overlay2_w // Tertiary wagging. diff --git a/code/modules/mob/new_player/sprite_accessories_tail_vr.dm b/code/modules/mob/new_player/sprite_accessories_tail_vr.dm index 963eed182ab..8b510e65021 100644 --- a/code/modules/mob/new_player/sprite_accessories_tail_vr.dm +++ b/code/modules/mob/new_player/sprite_accessories_tail_vr.dm @@ -6,14 +6,14 @@ //////////////////////////// */ /datum/sprite_accessory/tail - name = "You should not see this..." + name = DEVELOPER_WARNING_NAME icon = 'icons/mob/vore/tails_vr.dmi' var/offset_x = 0 var/offset_y = 0 var/mob_offset_x = 0 var/mob_offset_y = 0 do_colouration = 0 //Set to 1 to enable coloration using the tail color. - species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST, SPECIES_SHADEKIN, SPECIES_SHADEKIN_CREW, SPECIES_ALTEVIAN, SPECIES_LLEILL) //This lets all races use + species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST, SPECIES_SHADEKIN, SPECIES_SHADEKIN_CREW, SPECIES_ALTEVIAN, SPECIES_LLEILL, SPECIES_HANNER) //This lets all races use var/list/lower_layer_dirs = list(SOUTH) var/icon_loaf = null @@ -458,6 +458,34 @@ extra_overlay_w = "tigeralt-tips_w" extra_overlay2_w = "tigeralt-tips2_w" +/datum/sprite_accessory/tail/twotiger + name = "tiger tail, double (vwag)" + desc = "" + icon_state = "twotiger" + extra_overlay = "twotiger-tips" + extra_overlay2 = "twotiger-tips2" + do_colouration = 1 + color_blend_mode = ICON_MULTIPLY + ani_state = "twotiger_w" + extra_overlay_w = "twotiger-tips_w" + extra_overlay2_w = "twotiger-tips2_w" + +/datum/sprite_accessory/tail/twocat + name = "cat tail, double (vwag)" + desc = "" + icon_state = "twocat" + ani_state = "twocat_w" + do_colouration = 1 + color_blend_mode = ICON_MULTIPLY + +/datum/sprite_accessory/tail/threecat + name = "cat tail, triple (vwag)" + desc = "" + icon_state = "threecat" + ani_state = "threecat_w" + do_colouration = 1 + color_blend_mode = ICON_MULTIPLY + /datum/sprite_accessory/tail/vulp_new name = "new vulp tail (vwag)" @@ -1411,7 +1439,7 @@ //LONG TAILS ARE NOT TAUR BUTTS >:O /datum/sprite_accessory/tail/longtail - name = "You should not see this..." + name = DEVELOPER_WARNING_NAME icon = 'icons/mob/vore/taurs_vr.dmi' offset_x = -16 do_colouration = 1 // Yes color, using tail color @@ -1532,3 +1560,26 @@ extra_overlay2 = "kaiju_long_a_spikes_glow" do_colouration = 1 color_blend_mode = ICON_MULTIPLY + +//RS ADD START + +/datum/sprite_accessory/tail/longtail/flagtail + name = "Flagtail" + icon = 'icons/rogue-star/tails_64x32_rs.dmi' + icon_state = "flagtail" + extra_overlay = "flagtail-1" + extra_overlay2 = "flagtail-2" + +/datum/sprite_accessory/tail/longtail/chonksqrl + name = "Squirrel (Big)" + icon = 'icons/rogue-star/tails_64x32_rs.dmi' + icon_state = "chonksqrl" + extra_overlay = "chonksqrl-m1" + extra_overlay2 = "chonksqrl-m2" + +//RS ADD END + +/datum/sprite_accessory/tail/kururak + name = "kururak tail" + desc = "" + icon_state = "kururak" diff --git a/code/modules/mob/new_player/sprite_accessories_taur.dm b/code/modules/mob/new_player/sprite_accessories_taur.dm index 89a264c82e4..b72a372b35c 100644 --- a/code/modules/mob/new_player/sprite_accessories_taur.dm +++ b/code/modules/mob/new_player/sprite_accessories_taur.dm @@ -6,7 +6,7 @@ var/bellies_icon_path = 'icons/mob/vore/Taur_Bellies.dmi' /datum/riding/taur - keytype = /obj/item/weapon/material/twohanded/riding_crop // Crack! + keytype = /obj/item/material/twohanded/riding_crop // Crack! nonhuman_key_exemption = FALSE // If true, nonhumans who can't hold keys don't need them, like borgs and simplemobs. key_name = "a riding crop" // What the 'keys' for the thing being rided on would be called. only_one_driver = TRUE // If true, only the person in 'front' (first on list of riding mobs) can drive. @@ -28,7 +28,7 @@ /datum/riding/taur/force_dismount(mob/M) . = ..() - ridden.visible_message("[M] stops riding [ridden]!") + ridden.visible_message(span_notice("[M] stops riding [ridden]!")) //Hoooo boy. /datum/riding/taur/get_offsets(pass_index) // list(dir = x, y, layer) @@ -68,7 +68,7 @@ if(M in buckled_mobs) return FALSE // if(M.size_multiplier > size_multiplier * 1.2) -// to_chat(M,"This isn't a pony show! You need to be bigger for them to ride.") +// to_chat(M,span_warning("This isn't a pony show! You need to be bigger for them to ride.")) // return FALSE if(M.loc != src.loc) if(M.Adjacent(src)) @@ -77,7 +77,7 @@ var/mob/living/carbon/human/H = M if(istaurtail(H.tail_style)) - to_chat(src,"Too many legs. TOO MANY LEGS!!") + to_chat(src,span_warning("Too many legs. TOO MANY LEGS!!")) return FALSE . = ..() @@ -90,7 +90,7 @@ /mob/living/carbon/human/proc/taur_mount(var/mob/living/M in living_mobs(1)) set name = "Taur Mount/Dismount" - set category = "Abilities" + set category = "Abilities.General" set desc = "Let people ride on you." if(LAZYLEN(buckled_mobs)) @@ -103,7 +103,7 @@ if(!can_buckle || !istype(M) || !M.Adjacent(src) || M.buckled) return if(buckle_mob(M)) - visible_message("[M] starts riding [name]!") + visible_message(span_notice("[M] starts riding [name]!")) /mob/living/carbon/human/attack_hand(mob/user as mob) if(LAZYLEN(buckled_mobs)) @@ -128,7 +128,7 @@ // Taur sprites are now a subtype of tail since they are mutually exclusive anyway. /datum/sprite_accessory/tail/taur - name = "You should not see this..." + name = DEVELOPER_WARNING_NAME icon = 'icons/mob/human_races/sprite_accessories/taurs.dmi' do_colouration = 1 // Yes color, using tail color color_blend_mode = ICON_MULTIPLY // The sprites for taurs are designed for ICON_MULTIPLY @@ -363,69 +363,3 @@ /datum/sprite_accessory/tail/taur/zorgoia/fat name = "Zorgoia (Fat Taur)" extra_overlay = "zorgoia_fat" - - -/datum/sprite_accessory/tail/taur/wolf - vore_tail_sprite_variant = "N" - fullness_icons = 3 - struggle_anim = TRUE - -/datum/sprite_accessory/tail/taur/naga/naga_2c - vore_tail_sprite_variant = "Naga" - fullness_icons = 1 - struggle_anim = TRUE - -/datum/sprite_accessory/tail/taur/horse - vore_tail_sprite_variant = "Horse" - fullness_icons = 1 - struggle_anim = TRUE - -/datum/sprite_accessory/tail/taur/cow - vore_tail_sprite_variant = "Cow" - fullness_icons = 1 - struggle_anim = TRUE - -/datum/sprite_accessory/tail/taur/lizard - vore_tail_sprite_variant = "Lizard" - fullness_icons = 1 - struggle_anim = TRUE - -/datum/sprite_accessory/tail/taur/lizard/synthlizard - vore_tail_sprite_variant = "SynthLiz" - fullness_icons = 1 - struggle_anim = TRUE - -/datum/sprite_accessory/tail/taur/feline - vore_tail_sprite_variant = "Feline" - belly_variant_when_loaf = TRUE - fullness_icons = 1 - struggle_anim = TRUE - -/datum/sprite_accessory/tail/taur/slug - vore_tail_sprite_variant = "Slug" - fullness_icons = 1 - struggle_anim = TRUE - -/datum/sprite_accessory/tail/taur/drake - vore_tail_sprite_variant = "Drake" - belly_variant_when_loaf = TRUE - fullness_icons = 1 - struggle_anim = TRUE - -/datum/sprite_accessory/tail/taur/otie - vore_tail_sprite_variant = "Otie" - belly_variant_when_loaf = TRUE - fullness_icons = 1 - struggle_anim = TRUE - -/datum/sprite_accessory/tail/taur/deer - vore_tail_sprite_variant = "Deer" - belly_variant_when_loaf = TRUE - fullness_icons = 1 - struggle_anim = TRUE - -/datum/sprite_accessory/tail/taur/skunk - vore_tail_sprite_variant = "Skunk" - belly_variant_when_loaf = TRUE - fullness_icons = 1 - struggle_anim = TRUE diff --git a/code/modules/mob/new_player/sprite_accessories_taur_vr.dm b/code/modules/mob/new_player/sprite_accessories_taur_vr.dm index 2a85dda15f4..8d570d15cf4 100644 --- a/code/modules/mob/new_player/sprite_accessories_taur_vr.dm +++ b/code/modules/mob/new_player/sprite_accessories_taur_vr.dm @@ -9,7 +9,7 @@ // Taur sprites are now a subtype of tail since they are mutually exclusive anyway. /datum/sprite_accessory/tail/taur - name = "You should not see this..." + name = DEVELOPER_WARNING_NAME icon = 'icons/mob/vore/taurs_vr.dmi' do_colouration = 1 // Yes color, using tail color color_blend_mode = ICON_MULTIPLY // The sprites for taurs are designed for ICON_MULTIPLY @@ -84,22 +84,22 @@ /datum/sprite_accessory/tail/taur/wolf/fatwolf_2c name = "Fat Wolf 3-color (Taur)" - icon = 'icons/mob/vore/taurs_ch.dmi' //CHOMPEdit + icon = 'icons/mob/vore/taurs_ch.dmi' //Ported from Chomp icon_state = "fatwolf_s" extra_overlay = "fatwolf_markings" - extra_overlay2 = "fatwolf_markings_2" //CHOMPEdit + extra_overlay2 = "fatwolf_markings_2" //Ported from Chomp //icon_sprite_tag = "fatwolf2c" loaf_offset = 3 /datum/sprite_accessory/tail/taur/wolf/wolf_2c_wag name = "Wolf 3-color (Taur, Fat vwag)" - icon = 'icons/mob/vore/taurs_ch.dmi' //CHOMPEdit + icon = 'icons/mob/vore/taurs_ch.dmi' //Ported from Chomp icon_state = "wolf_s" extra_overlay = "wolf_markings" extra_overlay2 = "wolf_markings_2" ani_state = "fatwolf_s" extra_overlay_w = "fatwolf_markings" - extra_overlay2_w = "fatwolf_markings_2" //CHOMPEdit + extra_overlay2_w = "fatwolf_markings_2" //Ported from Chomp /datum/sprite_accessory/tail/taur/wolf/synthwolf name = "SynthWolf dual-color (Taur)" @@ -137,13 +137,14 @@ vore_tail_sprite_variant = "Skunk" //Sadly there appears to be no sprites... For now! belly_variant_when_loaf = TRUE fullness_icons = 1 - struggle_anim = TRUE /datum/sprite_accessory/tail/taur/naga name = "Naga (Taur)" icon_state = "naga_s" suit_sprites = 'icons/mob/taursuits_naga_vr.dmi' //icon_sprite_tag = "naga" + vore_tail_sprite_variant = "Naga" + fullness_icons = 1 msg_owner_help_walk = "You carefully slither around %prey." msg_prey_help_walk = "%owner's huge tail slithers past beside you!" @@ -172,43 +173,34 @@ msg_prey_stepunder = "You jump over %prey's thick tail." msg_owner_stepunder = "%owner bounds over your tail." -/datum/sprite_accessory/tail/taur/naga/vore_compatable - name = "Naga (Taur) (Vore Compatable)" - vore_tail_sprite_variant = "Naga" - fullness_icons = 1 - struggle_anim = TRUE - -/datum/sprite_accessory/tail/taur/naga/vore_compatable/naga_2c +/datum/sprite_accessory/tail/taur/naga/naga_2c name = "Naga dual-color (Taur)" icon_state = "naga_s" extra_overlay = "naga_markings" //icon_sprite_tag = "naga2c" - vore_tail_sprite_variant = "Naga" - fullness_icons = 1 - struggle_anim = TRUE -/datum/sprite_accessory/tail/taur/naga/vore_compatable/alt_2c +/datum/sprite_accessory/tail/taur/naga/alt_2c name = "Naga alt style dual-color (Taur)" suit_sprites = 'icons/mob/taursuits_naga_alt_vr.dmi' icon_state = "altnaga_s" extra_overlay = "altnaga_markings" //icon_sprite_tag = "altnaga2c" -/datum/sprite_accessory/tail/taur/naga/vore_compatable/alt_3c +/datum/sprite_accessory/tail/taur/naga/alt_3c name = "Naga alt style tri-color (Taur)" suit_sprites = 'icons/mob/taursuits_naga_alt_vr.dmi' icon_state = "altnaga_s" extra_overlay = "altnaga_markings" extra_overlay2 = "altnaga_stripes" -/datum/sprite_accessory/tail/taur/naga/vore_compatable/alt_3c_rattler +/datum/sprite_accessory/tail/taur/naga/alt_3c_rattler name = "Naga alt style tri-color, rattler (Taur)" suit_sprites = 'icons/mob/taursuits_naga_alt_vr.dmi' icon_state = "altnaga_s" extra_overlay = "altnaga_markings" extra_overlay2 = "altnaga_rattler" -/datum/sprite_accessory/tail/taur/naga/vore_compatable/alt_3c_tailmaw +/datum/sprite_accessory/tail/taur/naga/alt_3c_tailmaw name = "Naga alt style tri-color, tailmaw (Taur)" suit_sprites = 'icons/mob/taursuits_naga_alt_vr.dmi' icon_state = "altnagatailmaw_s" @@ -226,7 +218,6 @@ loaf_offset = 4 vore_tail_sprite_variant = "Horse" fullness_icons = 1 - struggle_anim = TRUE msg_owner_disarm_run = "You quickly push %prey to the ground with your hoof!" msg_prey_disarm_run = "%owner pushes you down to the ground with their hoof!" @@ -263,7 +254,6 @@ loaf_offset = 3 vore_tail_sprite_variant = "Cow" fullness_icons = 1 - struggle_anim = TRUE msg_owner_disarm_run = "You quickly push %prey to the ground with your hoof!" msg_prey_disarm_run = "%owner pushes you down to the ground with their hoof!" @@ -292,7 +282,6 @@ vore_tail_sprite_variant = "Deer" belly_variant_when_loaf = TRUE fullness_icons = 1 - struggle_anim = TRUE msg_owner_disarm_run = "You quickly push %prey to the ground with your hoof!" msg_prey_disarm_run = "%owner pushes you down to the ground with their hoof!" @@ -323,7 +312,7 @@ /datum/sprite_accessory/tail/taur/lizard name = "Lizard (Taur)" icon_state = "lizard_s" -// suit_sprites = 'icons/mob/taursuits_lizard_vr.dmi' ///Chomp edit +// suit_sprites = 'icons/mob/taursuits_lizard_vr.dmi' //Ported from Chomp suit_sprites = 'icons/mob/taursuits_lizard_ch.dmi' icon_sprite_tag = "lizard" can_loaf = TRUE @@ -331,7 +320,6 @@ loaf_offset = 5 vore_tail_sprite_variant = "Lizard" fullness_icons = 1 - struggle_anim = TRUE /datum/sprite_accessory/tail/taur/lizard/fatlizard name = "Fat Lizard (Taur)" @@ -380,7 +368,6 @@ loaf_offset = 3 vore_tail_sprite_variant = "SynthLiz" fullness_icons = 1 - struggle_anim = TRUE /datum/sprite_accessory/tail/taur/lizard/fatsynthlizard name = "Fat SynthLizard dual-color (Taur)" @@ -459,7 +446,6 @@ vore_tail_sprite_variant = "Feline" belly_variant_when_loaf = TRUE fullness_icons = 1 - struggle_anim = TRUE /datum/sprite_accessory/tail/taur/fatfeline name = "Fat Feline (Taur)" @@ -488,10 +474,10 @@ /datum/sprite_accessory/tail/taur/feline/fatfeline_2c name = "Fat Feline 3-color (Taur)" - icon = 'icons/mob/vore/taurs_ch.dmi' //CHOMPEdit + icon = 'icons/mob/vore/taurs_ch.dmi' //Ported from Chomp icon_state = "fatfeline_s" extra_overlay = "fatfeline_markings" - extra_overlay2 = "fatfeline_markings_2" //CHOMPEdit + extra_overlay2 = "fatfeline_markings_2" //Ported from Chomp //icon_sprite_tag = "fatfeline2c" can_loaf = TRUE icon_loaf = 'icons/mob/vore/taurs_vr_loaf.dmi' @@ -499,13 +485,13 @@ /datum/sprite_accessory/tail/taur/feline/feline_2c_wag name = "Feline 3-color (Taur, Fat vwag)" - icon = 'icons/mob/vore/taurs_ch.dmi' //CHOMPEdit + icon = 'icons/mob/vore/taurs_ch.dmi' //Ported from Chomp icon_state = "feline_s" extra_overlay = "feline_markings" extra_overlay2 = "feline_markings_2" ani_state = "fatfeline_s" extra_overlay_w = "fatfeline_markings" - extra_overlay2_w = "fatfeline_markings_2" //CHOMPEdit + extra_overlay2_w = "fatfeline_markings_2" //Ported from Chomp loaf_offset = 3 /datum/sprite_accessory/tail/taur/feline/synthfeline @@ -567,7 +553,6 @@ icon_sprite_tag = "slug" vore_tail_sprite_variant = "Slug" fullness_icons = 1 - struggle_anim = TRUE msg_owner_help_walk = "You carefully slither around %prey." msg_prey_help_walk = "%owner's huge tail slithers past beside you!" @@ -632,7 +617,7 @@ name = "Drake (Taur)" icon_state = "drake_s" extra_overlay = "drake_markings" -/// suit_sprites = 'icons/mob/taursuits_drake_vr.dmi' ///Chomp edit +/// suit_sprites = 'icons/mob/taursuits_drake_vr.dmi' suit_sprites = 'icons/mob/taursuits_drake_ch.dmi' icon_sprite_tag = "drake" can_loaf = TRUE @@ -672,7 +657,6 @@ vore_tail_sprite_variant = "Otie" belly_variant_when_loaf = TRUE fullness_icons = 1 - struggle_anim = TRUE /datum/sprite_accessory/tail/taur/alraune/alraune_2c name = "Alraune (dual color)" @@ -904,7 +888,7 @@ suit_sprites = 'icons/mob/taursuits_noodle_vr.dmi' clip_mask_state = "taur_clip_mask_noodle" icon_sprite_tag = "noodle" -/* CHOMPEdit - removed as a sprite accessory of the same name already exists for us, and having this here stops it from registering as a sprite accessory. + /datum/sprite_accessory/tail/taur/sect_drone name = "Sect Drone (Taur)" icon_state = "sect_drone" @@ -925,12 +909,12 @@ msg_owner_grab_fail = "You step down onto %prey, squishing them and forcing them down to the ground!" msg_prey_grab_fail = "%owner steps down and squishes you with their leg, forcing you down to the ground!" -*/ + /datum/sprite_accessory/tail/taur/sect_drone/fat name = "Fat Sect Drone (Taur)" icon_state = "fat_sect_drone" extra_overlay = "fat_sect_drone_markings" - icon_sprite_tag = "sect_drone" //CHOMPEdit addition + icon_sprite_tag = "sect_drone" //Ported from Chomp /datum/sprite_accessory/tail/taur/sect_drone/drone_wag name = "Sect Drone (Taur, Fat vwag)" @@ -938,7 +922,7 @@ extra_overlay = "sect_drone_markings" ani_state = "fat_sect_drone" extra_overlay_w = "fat_sect_drone_markings" - icon_sprite_tag = "sect_drone" //CHOMPEdit addition + icon_sprite_tag = "sect_drone" //Ported from Chomp /datum/sprite_accessory/tail/taur/giantspider_colorable//these are honestly better fit for vass icontypes whoops name = "Giant Spider dual-color (Taur)" @@ -1119,3 +1103,22 @@ offset_y = -11 mob_offset_y = 11 */ + +//RS ADD START + + +/datum/sprite_accessory/tail/taur/bunny + name = "Bunny (Taur, Fat vwag)" + icon = 'icons/rogue-star/tails_64x32_rs.dmi' + icon_state = "bnytr" + extra_overlay = "bnytr-m1" + extra_overlay2 = "bnytr-m2" + ani_state = "bnytr-f" + extra_overlay_w = "bnytr-m1" + extra_overlay2_w = "bnytr-f-m2" + + can_loaf = TRUE + icon_loaf = 'icons/rogue-star/loafs_64x32.dmi' + loaf_offset = 4 + +//RS ADD END diff --git a/code/modules/mob/new_player/sprite_accessories_vr.dm b/code/modules/mob/new_player/sprite_accessories_vr.dm index 142dfdf4326..f4553a3f8dc 100644 --- a/code/modules/mob/new_player/sprite_accessories_vr.dm +++ b/code/modules/mob/new_player/sprite_accessories_vr.dm @@ -6,7 +6,7 @@ /datum/sprite_accessory/hair - species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST, SPECIES_SHADEKIN, SPECIES_SHADEKIN_CREW, SPECIES_ALTEVIAN, SPECIES_LLEILL, SPECIES_SHADEKIN_YW, SPECIES_KIGYAR_YW, SPECIES_TVAOAN_KIGYAR_YW, SPECIES_SANGHEILI_YW, SPECIES_UNGGOY_YW) //This lets all races use the default hairstyles. // yw edit shadekin and covenants + species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST, SPECIES_SHADEKIN, SPECIES_SHADEKIN_CREW, SPECIES_ALTEVIAN, SPECIES_LLEILL, SPECIES_HANNER, SPECIES_SHADEKIN_YW, SPECIES_KIGYAR_YW, SPECIES_TVAOAN_KIGYAR_YW, SPECIES_SANGHEILI_YW, SPECIES_UNGGOY_YW) //This lets all races use the default hairstyles. // yw edit shadekin and covenants /datum/sprite_accessory/hair/astolfo name = "Astolfo" @@ -485,20 +485,20 @@ /datum/sprite_accessory/facial_hair icon = 'icons/mob/human_face_or_vr.dmi' color_blend_mode = ICON_MULTIPLY - species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST, SPECIES_SHADEKIN, SPECIES_SHADEKIN_CREW, SPECIES_ALTEVIAN, SPECIES_LLEILL) //This lets all races use the facial hair styles. + species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST, SPECIES_SHADEKIN, SPECIES_SHADEKIN_CREW, SPECIES_ALTEVIAN, SPECIES_LLEILL, SPECIES_HANNER) //This lets all races use the facial hair styles. /datum/sprite_accessory/facial_hair/shaved name = "Shaved" icon_state = "bald" gender = NEUTER - species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST, SPECIES_SHADEKIN, SPECIES_SHADEKIN_CREW, SPECIES_ALTEVIAN, SPECIES_LLEILL) //This needed to be manually defined, apparantly. + species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST, SPECIES_SHADEKIN, SPECIES_SHADEKIN_CREW, SPECIES_ALTEVIAN, SPECIES_VOX, SPECIES_LLEILL, SPECIES_HANNER) //This needed to be manually defined, apparantly. /datum/sprite_accessory/facial_hair/neck_fluff name = "Neck Fluff" icon = 'icons/mob/human_face_or_vr.dmi' icon_state = "facial_neckfluff" gender = NEUTER - species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST, SPECIES_SHADEKIN, SPECIES_SHADEKIN_CREW, SPECIES_ALTEVIAN, SPECIES_LLEILL) + species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST, SPECIES_SHADEKIN, SPECIES_SHADEKIN_CREW, SPECIES_ALTEVIAN, SPECIES_LLEILL, SPECIES_HANNER) /datum/sprite_accessory/facial_hair/vulp_none name = "None" @@ -575,13 +575,13 @@ // No, this isn't a character creation option, but... I guess in the future it could be, if anyone wants that? /datum/sprite_accessory/hair_accessory - name = "You should not see this..." + name = DEVELOPER_WARNING_NAME icon = 'icons/mob/vore/hair_accessories_vr.dmi' do_colouration = 0 // Set to 1 to blend (ICON_ADD) hair color var/ignores_lighting = 0 // Whether or not this hair accessory will ignore lighting and glow in the dark. color_blend_mode = ICON_ADD // Only appliciable if do_coloration = 1 - var/desc = "You should not see this..." + var/desc = DEVELOPER_WARNING_NAME /datum/sprite_accessory/hair_accessory/verie_hair_glow name = "veries hair glow" diff --git a/code/modules/mob/new_player/sprite_accessories_wing.dm b/code/modules/mob/new_player/sprite_accessories_wing.dm index 3b13156b9d2..3f2f2efd69f 100644 --- a/code/modules/mob/new_player/sprite_accessories_wing.dm +++ b/code/modules/mob/new_player/sprite_accessories_wing.dm @@ -6,7 +6,7 @@ //////////////////////////// */ /datum/sprite_accessory/wing - name = "You should not see this..." + name = DEVELOPER_WARNING_NAME icon = 'icons/mob/human_races/sprite_accessories/wings.dmi' do_colouration = 0 //Set to 1 to enable coloration using the tail color. @@ -16,7 +16,7 @@ var/extra_overlay2 //Tertiary. var/clothing_can_hide = 1 // If true, clothing with HIDETAIL hides it. If the clothing is bulky enough to hide a tail, it should also hide wings. // var/show_species_tail = 1 // Just so // TODO - Seems not needed ~Leshana - var/desc = "You should not see this..." + var/desc = DEVELOPER_WARNING_NAME var/ani_state // State when flapping/animated var/extra_overlay_w // Flapping state for extra overlay var/extra_overlay2_w diff --git a/code/modules/mob/new_player/sprite_accessories_wing_large_vr.dm b/code/modules/mob/new_player/sprite_accessories_wing_large_vr.dm index e516d6b0853..66263ad850b 100644 --- a/code/modules/mob/new_player/sprite_accessories_wing_large_vr.dm +++ b/code/modules/mob/new_player/sprite_accessories_wing_large_vr.dm @@ -2,7 +2,7 @@ /datum/sprite_accessory/wing/large - name = "You should not see this..." + name = DEVELOPER_WARNING_NAME icon = 'icons/mob/vore/wings96_vr.dmi' wing_offset = 32 diff --git a/code/modules/mob/new_player/sprite_accessories_wing_vr.dm b/code/modules/mob/new_player/sprite_accessories_wing_vr.dm index 2ee4d148d74..6610a2e8ea8 100644 --- a/code/modules/mob/new_player/sprite_accessories_wing_vr.dm +++ b/code/modules/mob/new_player/sprite_accessories_wing_vr.dm @@ -6,10 +6,10 @@ //////////////////////////// */ /datum/sprite_accessory/wing - name = "You should not see this..." + name = DEVELOPER_WARNING_NAME icon = 'icons/mob/vore/wings_vr.dmi' do_colouration = 0 //Set to 1 to enable coloration using the tail color. - species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST, SPECIES_SHADEKIN, SPECIES_SHADEKIN_CREW, SPECIES_ALTEVIAN, SPECIES_LLEILL) //This lets all races use + species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST, SPECIES_SHADEKIN, SPECIES_SHADEKIN_CREW, SPECIES_ALTEVIAN, SPECIES_LLEILL, SPECIES_HANNER) //This lets all races use color_blend_mode = ICON_ADD // Only appliciable if do_coloration = 1 var/wing_offset = 0 var/multi_dir = FALSE // Does it use different sprites at different layers? _front will be added for sprites on low layer, _back to high layer @@ -377,6 +377,16 @@ extra_overlay = "shadow_tricolor-1" extra_overlay2 = "shadow_tricolor-2" +/datum/sprite_accessory/wing/speckled_tricolor + name = "large speckled leather wings, tricolor, sparkling" + desc = "" + // not ckey locked, just couldn't think of a better icon state name + icon_state = "shadow_tricolor" + do_colouration = 1 + color_blend_mode = ICON_MULTIPLY + extra_overlay = "shadow_tricolor-1" + extra_overlay2 = "shadow_tricolor-2-sparkle" + // dino wings /datum/sprite_accessory/wing/pterodactyl_wings name = "pterodactyl wings" diff --git a/code/modules/mob/say.dm b/code/modules/mob/say.dm index f2624a91bee..a57a2daa988 100644 --- a/code/modules/mob/say.dm +++ b/code/modules/mob/say.dm @@ -3,7 +3,6 @@ /mob/verb/whisper(message as text) set name = "Whisper" - set category = "IC" set hidden = 1 //VOREStation Addition Start if(forced_psay) @@ -15,8 +14,9 @@ /mob/verb/say_verb(message as text) set name = "Say" - set category = "IC" set hidden = 1 + set instant = TRUE + //VOREStation Addition Start if(forced_psay) psay(message) @@ -24,17 +24,16 @@ //VOREStation Addition End client?.stop_thinking() - usr.say(message) + //queue this message because verbs are scheduled to process after SendMaps in the tick and speech is pretty expensive when it happens. + //by queuing this for next tick the mc can compensate for its cost instead of having speech delay the start of the next tick + if(message) + QUEUE_OR_CALL_VERB_FOR(VERB_CALLBACK(src, TYPE_PROC_REF(/mob, say), message), SSspeech_controller) /mob/verb/me_verb(message as message) set name = "Me" - set category = "IC" set desc = "Emote to nearby people (and your pred/prey)" set hidden = 1 - if(say_disabled) //This is here to try to identify lag problems - to_chat(usr, span_red("Speech is currently admin-disabled.")) - return //VOREStation Addition Start if(forced_psay) pme(message) @@ -56,25 +55,21 @@ usr.emote(message) /mob/proc/say_dead(var/message) - if(say_disabled) //This is here to try to identify lag problems - to_chat(usr, "Speech is currently admin-disabled.") - return - if(!client) return // Clientless mobs shouldn't be trying to talk in deadchat. if(!client.holder) - if(!config.dsay_allowed) - to_chat(src, "Deadchat is globally muted.") + if(!CONFIG_GET(flag/dsay_allowed)) + to_chat(src, span_danger("Deadchat is globally muted.")) return - if(!is_preference_enabled(/datum/client_preference/show_dsay)) - to_chat(usr, "You have deadchat muted.") + if(!client?.prefs?.read_preference(/datum/preference/toggle/show_dsay)) + to_chat(usr, span_danger("You have deadchat muted.")) return message = encode_html_emphasis(message) - say_dead_direct("[pick("complains","moans","whines","laments","blubbers")], \"[message]\"", src) + say_dead_direct("[pick("complains","moans","whines","laments","blubbers")], " + span_message("\"[message]\""), src) /mob/proc/say_understands(var/mob/other, var/datum/language/speaking = null) if(stat == DEAD) @@ -112,7 +107,19 @@ if(speaking.flags & NONVERBAL) if(sdisabilities & BLIND || blinded) return FALSE - if(!other || !(other in view(src))) + if(!other) + return FALSE + // Fixes seeing non-verbal languages while being held + if(istype(other.loc, /obj/item/holder)) + if(istype(src.loc, /obj/item/holder)) + if(!(other.loc in view(src.loc.loc))) + return FALSE + else if(!(other.loc in view(src))) + return FALSE + else if(istype(src.loc, /obj/item/holder)) + if((!other) in view(src.loc.loc)) + return FALSE + else if((!other) in view(src)) return FALSE //Language check. diff --git a/code/modules/mob/say_old.dm b/code/modules/mob/say_old.dm new file mode 100644 index 00000000000..f67ffb58b5b --- /dev/null +++ b/code/modules/mob/say_old.dm @@ -0,0 +1,82 @@ +// Allows the usage of old style chat inputs even with TG Say enabled +/mob/verb/say_verb_old() + set name = "Say Old" + set category = "IC.Chat" + + client?.start_thinking() + client?.start_typing() + var/message = tgui_input_text(usr, "Speak to people in sight.\nType your message:", "Say") + client?.stop_thinking() + + if(message) + say_verb(message) + +/mob/verb/me_verb_old() + set name = "Me Old" + set category = "IC.Chat" + set desc = "Emote to nearby people (and your pred/prey)" + + client?.start_thinking() + client?.start_typing() + var/message = tgui_input_text(usr, "Emote to people in sight (and your pred/prey).\nType your message:", "Emote", multiline = TRUE) + client?.stop_thinking() + + if(message) + me_verb(message) + +/mob/verb/whisper_old() + set name = "Whisper Old" + set category = "IC.Subtle" + + var/message = tgui_input_text(usr, "Speak to nearby people.\nType your message:", "Whisper") + + if(message) + whisper(message) + + +/mob/verb/me_verb_subtle_old() + set name = "Subtle Old" + set category = "IC.Subtle" + set desc = "Emote to nearby people (and your pred/prey)" + + var/message = tgui_input_text(usr, "Emote to nearby people (and your pred/prey).\nType your message:", "Subtle", multiline = TRUE) + + if(message) + me_verb_subtle(message) + +/mob/verb/me_verb_subtle_custom_old() + set name = "Subtle (Custom) Old" + set category = "IC.Subtle" + set desc = "Emote to nearby people, with ability to choose which specific portion of people you wish to target." + + var/message = tgui_input_text(usr, "Emote to nearby people, with ability to choose which specific portion of people you wish to target.\nType your message:", "Subtle (Custom)", multiline = TRUE) + + if(message) + me_verb_subtle_custom(message) + +/mob/verb/psay_old() + set name = "Psay Old" + set category = "IC.Subtle" + + var/message = tgui_input_text(usr, "Talk to people affected by complete absorbed or dominate predator/prey.\nType your message:", "Psay") + + if(message) + psay(message) + +/mob/verb/pme_old() + set name = "Pme Old" + set category = "IC.Subtle" + + var/message = tgui_input_text(usr, "Emote to people affected by complete absorbed or dominate predator/prey.\nType your message:", "Pme") + + if(message) + pme(message) + +/mob/living/verb/player_narrate_ch() + set name = "Narrate (Player) Old" + set category = "IC.Chat" + + var/message = tgui_input_text(usr, "Narrate an action or event! An alternative to emoting, for when your emote shouldn't start with your name!\nType your message:", "Narrate (Player)") + + if(message) + player_narrate(message) diff --git a/code/modules/mob/say_vr.dm b/code/modules/mob/say_vr.dm index 00fef766c92..08014a82901 100644 --- a/code/modules/mob/say_vr.dm +++ b/code/modules/mob/say_vr.dm @@ -4,13 +4,9 @@ /mob/verb/me_verb_subtle(message as message) //This would normally go in say.dm set name = "Subtle" - set category = "IC" set desc = "Emote to nearby people (and your pred/prey)" set hidden = 1 - if(say_disabled) //This is here to try to identify lag problems - to_chat(usr, "Speech is currently admin-disabled.") - return if(forced_psay) pme(message) return @@ -27,12 +23,8 @@ /mob/verb/me_verb_subtle_custom(message as message) // Literally same as above but with mode_selection set to true set name = "Subtle (Custom)" - set category = "IC" set desc = "Emote to nearby people, with ability to choose which specific portion of people you wish to target." - if(say_disabled) //This is here to try to identify lag problems - to_chat(usr, "Speech is currently admin-disabled.") - return if(forced_psay) pme(message) return @@ -70,7 +62,7 @@ if(!subtle_mode) if(mode_selection) if(message) - to_chat(src, "Subtle mode not selected. Your input has not been sent, but preserved: [message]") + to_chat(src, span_warning("Subtle mode not selected. Your input has not been sent, but preserved:") + " [message]") return else subtle_mode = "Adjacent Turfs (Default)" @@ -83,14 +75,14 @@ if(input) log_subtle(message,src) - message = "[src] [input]" + message = span_emote_subtle(span_bold("[src]") + " " + span_italics("[input]")) if(!(subtle_mode == "Adjacent Turfs (Default)")) - message = "(T) " + message + message = span_bold("(T) ") + message else return if (message) - var/undisplayed_message = "[src] does something too subtle for you to see." + var/undisplayed_message = span_emote(span_bold("[src]") + " " + span_italics("does something too subtle for you to see.")) message = encode_html_emphasis(message) var/list/vis @@ -117,7 +109,7 @@ if(istype(T) && !(T in tablelist) && !istype(T, /obj/structure/table/rack) && !istype(T, /obj/structure/table/bench)) tablelist |= T.get_all_connected_tables() if(!(tablelist.len)) - to_chat(src, "No nearby tables detected. Your input has not been sent, but preserved: [input]") + to_chat(src, span_warning("No nearby tables detected. Your input has not been sent, but preserved:") + " [input]") return for(var/obj/structure/table/T in tablelist) for(var/mob/M in vis_mobs) @@ -133,7 +125,7 @@ if("Current Belly (Prey)") var/obj/belly/B = get_belly(src) if(!istype(B)) - to_chat(src, "You are currently not in the belly. Your input has not been sent, but preserved: [input]") + to_chat(src, span_warning("You are currently not in the belly. Your input has not been sent, but preserved:") + " [input]") return vis = get_mobs_and_objs_in_view_fast(get_turf(src),0,2) vis_mobs = vis["mobs"] @@ -154,15 +146,15 @@ vis_objs -= O if("Specific Belly (Pred)") if(!isliving(src)) - to_chat(src, "You do not appear to be a living mob capable of having bellies. Your input has not been sent, but preserved: [input]") + to_chat(src, span_warning("You do not appear to be a living mob capable of having bellies. Your input has not been sent, but preserved:") + " [input]") return var/mob/living/L = src if(!(L.vore_organs) || !(L.vore_organs.len)) - to_chat(src, "You do not have any bellies. Your input has not been sent, but preserved: [input]") + to_chat(src, span_warning("You do not have any bellies. Your input has not been sent, but preserved:") + " [input]") return var/obj/belly/B = tgui_input_list(src, "Which belly do you want to sent the subtle to?","Select Belly", L.vore_organs) if(!B || !istype(B)) - to_chat(src, "You have not selected a valid belly. Your input has not been sent, but preserved: [input]") + to_chat(src, span_warning("You have not selected a valid belly. Your input has not been sent, but preserved:") + " [input]") return vis = get_mobs_and_objs_in_view_fast(get_turf(src),0,2) vis_mobs = vis["mobs"] @@ -190,11 +182,11 @@ if(isobserver(M) || (M.stat == DEAD)) vis_mobs -= M if(!(vis_mobs.len)) - to_chat(src, "No valid targets found. Your input has not been sent, but preserved: [input]") + to_chat(src, span_warning("No valid targets found. Your input has not been sent, but preserved:") + " [input]") return var/target = tgui_input_list(src, "Who do we send our message to?","Select Target", vis_mobs) if(!(target)) - to_chat(src, "No target selected. Your input has not been sent, but preserved: [input]") + to_chat(src, span_warning("No target selected. Your input has not been sent, but preserved:") + " [input]") return vis_mobs = list(target, src) @@ -202,15 +194,15 @@ if(isnewplayer(M)) continue if(src.client && M && !(get_z(src) == get_z(M))) - message = "[message]" - if(isobserver(M) && (!M.is_preference_enabled(/datum/client_preference/ghost_see_whisubtle) || \ - !is_preference_enabled(/datum/client_preference/whisubtle_vis) && !M.client?.holder)) + message = span_multizsay("[message]") + if(isobserver(M) && (!(M.client?.prefs?.read_preference(/datum/preference/toggle/ghost_see_whisubtle) || (isbelly(M.loc) && src == M.loc:owner)) || \ + !client?.prefs?.read_preference(/datum/preference/toggle/whisubtle_vis) && !M.client?.holder)) spawn(0) M.show_message(undisplayed_message, 2) else spawn(0) M.show_message(message, 2) - if(M.is_preference_enabled(/datum/client_preference/subtle_sounds)) + if(M.read_preference(/datum/preference/toggle/subtle_sounds)) M << sound('sound/talksounds/subtle_sound.ogg', volume = 50) for(var/obj/O as anything in vis_objs) @@ -247,26 +239,25 @@ /proc/fail_to_chat(user,message) if(!message) - to_chat(user, "Your message was NOT SENT, either because it was FAR too long, or sanitized to nothing at all.") + to_chat(user, span_danger("Your message was NOT SENT, either because it was FAR too long, or sanitized to nothing at all.")) return var/length = length(message) var/posts = CEILING((length/MAX_MESSAGE_LEN), 1) to_chat(user,message) - to_chat(user, "^ This message was NOT SENT ^ -- It was [length] characters, and the limit is [MAX_MESSAGE_LEN]. It would fit in [posts] separate messages.") + to_chat(user, span_danger("^ This message was NOT SENT ^ -- It was [length] characters, and the limit is [MAX_MESSAGE_LEN]. It would fit in [posts] separate messages.")) #undef MAX_HUGE_MESSAGE_LEN #undef POST_DELIMITER_STR ///// PSAY ///// /mob/verb/psay(message as text) - set category = "IC" set name = "Psay" set desc = "Talk to people affected by complete absorbed or dominate predator/prey." if (src.client) if(client.prefs.muted & MUTE_IC) - to_chat(src, "You cannot speak in IC (muted).") + to_chat(src, span_warning("You cannot speak in IC (muted).")) return if (!message) message = tgui_input_text(usr, "Type a message to say.","Psay") @@ -285,19 +276,19 @@ if(istype(M, /mob/living/dominated_brain)) var/mob/living/dominated_brain/db = M if(db.loc != db.pred_body) - to_chat(db, "You aren't inside of a brain anymore!!!") + to_chat(db, span_danger("You aren't inside of a brain anymore!!!")) qdel(db) //Oh no, dominated brains shouldn't exist outside of the body, so if we got here something went very wrong. return else pb = db.pred_body - to_chat(pb, "The captive mind of \the [M] thinks, \"[message]\"") //To our pred if dominated brain - if(pb.is_preference_enabled(/datum/client_preference/subtle_sounds)) + to_chat(pb, span_psay("The captive mind of \the [M] thinks, \"[message]\"")) //To our pred if dominated brain + if(pb.read_preference(/datum/preference/toggle/subtle_sounds)) pb << sound('sound/talksounds/subtle_sound.ogg', volume = 50) f = TRUE else if(M.absorbed && isbelly(M.loc)) pb = M.loc.loc - to_chat(pb, "\The [M] thinks, \"[message]\"") //To our pred if absorbed - if(pb.is_preference_enabled(/datum/client_preference/subtle_sounds)) + to_chat(pb, span_psay("\The [M] thinks, \"[message]\"")) //To our pred if absorbed + if(pb.read_preference(/datum/preference/toggle/subtle_sounds)) pb << sound('sound/talksounds/subtle_sound.ogg', volume = 50) f = TRUE @@ -306,15 +297,15 @@ for(var/I in pb.contents) if(istype(I, /mob/living/dominated_brain) && I != M) var/mob/living/dominated_brain/db = I - to_chat(db, "The captive mind of \the [M] thinks, \"[message]\"") //To any dominated brains in the pred - if(db.is_preference_enabled(/datum/client_preference/subtle_sounds)) + to_chat(db, span_psay("The captive mind of \the [M] thinks, \"[message]\"")) //To any dominated brains in the pred + if(db.read_preference(/datum/preference/toggle/subtle_sounds)) db << sound('sound/talksounds/subtle_sound.ogg', volume = 50) f = TRUE for(var/B in pb.vore_organs) for(var/mob/living/L in B) if(L.absorbed && L != M && L.ckey) - to_chat(L, "\The [M] thinks, \"[message]\"") //To any absorbed people in the pred - if(L.is_preference_enabled(/datum/client_preference/subtle_sounds)) + to_chat(L, span_psay("\The [M] thinks, \"[message]\"")) //To any absorbed people in the pred + if(L.read_preference(/datum/preference/toggle/subtle_sounds)) L << sound('sound/talksounds/subtle_sound.ogg', volume = 50) f = TRUE @@ -322,34 +313,34 @@ for(var/I in M.contents) if(istype(I, /mob/living/dominated_brain)) var/mob/living/dominated_brain/db = I - to_chat(db, "\The [M] thinks, \"[message]\"") //To any dominated brains inside us - if(db.is_preference_enabled(/datum/client_preference/subtle_sounds)) + to_chat(db, span_psay(span_bold("\The [M] thinks, \"[message]\""))) //To any dominated brains inside us + if(db.read_preference(/datum/preference/toggle/subtle_sounds)) db << sound('sound/talksounds/subtle_sound.ogg', volume = 50) f = TRUE for(var/B in M.vore_organs) for(var/mob/living/L in B) if(L.absorbed) - to_chat(L, "\The [M] thinks, \"[message]\"") //To any absorbed people inside us - if(L.is_preference_enabled(/datum/client_preference/subtle_sounds)) + to_chat(L, span_psay(span_bold("\The [M] thinks, \"[message]\""))) //To any absorbed people inside us + if(L.read_preference(/datum/preference/toggle/subtle_sounds)) L << sound('sound/talksounds/subtle_sound.ogg', volume = 50) f = TRUE if(f) //We found someone to send the message to if(pb) - to_chat(M, "You think \"[message]\"") //To us if we are the prey - if(M.is_preference_enabled(/datum/client_preference/subtle_sounds)) + to_chat(M, span_psay("You think \"[message]\"")) //To us if we are the prey + if(M.read_preference(/datum/preference/toggle/subtle_sounds)) M << sound('sound/talksounds/subtle_sound.ogg', volume = 50) else - to_chat(M, "You think \"[message]\"") //To us if we are the pred - if(M.is_preference_enabled(/datum/client_preference/subtle_sounds)) + to_chat(M, span_psay(span_bold("You think \"[message]\""))) //To us if we are the pred + if(M.read_preference(/datum/preference/toggle/subtle_sounds)) M << sound('sound/talksounds/subtle_sound.ogg', volume = 50) for (var/mob/G in player_list) if (istype(G, /mob/new_player)) continue - else if(isobserver(G) && G.is_preference_enabled(/datum/client_preference/ghost_ears && \ - G.is_preference_enabled(/datum/client_preference/ghost_see_whisubtle))) - if(is_preference_enabled(/datum/client_preference/whisubtle_vis) || G.client.holder) - to_chat(G, "\The [M] thinks, \"[message]\"") + else if(isobserver(G) && G.client?.prefs?.read_preference(/datum/preference/toggle/ghost_ears) && \ + G.client?.prefs?.read_preference(/datum/preference/toggle/ghost_see_whisubtle)) + if(client?.prefs?.read_preference(/datum/preference/toggle/whisubtle_vis) || G.client.holder) + to_chat(G, span_psay("\The [M] thinks, \"[message]\"")) log_say(message,M) else //There wasn't anyone to send the message to, pred or prey, so let's just say it instead and correct our psay just in case. M.forced_psay = FALSE @@ -358,13 +349,12 @@ ///// PME ///// /mob/verb/pme(message as message) - set category = "IC" set name = "Pme" set desc = "Emote to people affected by complete absorbed or dominate predator/prey." if (src.client) if(client.prefs.muted & MUTE_IC) - to_chat(src, "You cannot speak in IC (muted).") + to_chat(src, span_warning("You cannot speak in IC (muted).")) return if (!message) message = tgui_input_text(usr, "Type a message to emote.","Pme") @@ -382,20 +372,20 @@ if(istype(M, /mob/living/dominated_brain)) var/mob/living/dominated_brain/db = M if(db.loc != db.pred_body) - to_chat(db, "You aren't inside of a brain anymore!!!") + to_chat(db, span_danger("You aren't inside of a brain anymore!!!")) qdel(db) //Oh no, dominated brains shouldn't exist outside of the body, so if we got here something went very wrong. return else pb = db.pred_body - to_chat(pb, "\The [M] [message]") //To our pred if dominated brain - if(pb.is_preference_enabled(/datum/client_preference/subtle_sounds)) + to_chat(pb, span_pemote("\The [M] [message]")) //To our pred if dominated brain + if(pb.read_preference(/datum/preference/toggle/subtle_sounds)) pb << sound('sound/talksounds/subtle_sound.ogg', volume = 50) f = TRUE else if(M.absorbed && isbelly(M.loc)) pb = M.loc.loc - to_chat(pb, "\The [M] [message]") //To our pred if absorbed - if(pb.is_preference_enabled(/datum/client_preference/subtle_sounds)) + to_chat(pb, span_pemote("\The [M] [message]")) //To our pred if absorbed + if(pb.read_preference(/datum/preference/toggle/subtle_sounds)) pb << sound('sound/talksounds/subtle_sound.ogg', volume = 50) f = TRUE @@ -404,15 +394,15 @@ for(var/I in pb.contents) if(istype(I, /mob/living/dominated_brain) && I != M) var/mob/living/dominated_brain/db = I - to_chat(db, "\The [M] [message]") //To any dominated brains in the pred - if(db.is_preference_enabled(/datum/client_preference/subtle_sounds)) + to_chat(db, span_pemote("\The [M] [message]")) //To any dominated brains in the pred + if(db.read_preference(/datum/preference/toggle/subtle_sounds)) db << sound('sound/talksounds/subtle_sound.ogg', volume = 50) f = TRUE for(var/B in pb.vore_organs) for(var/mob/living/L in B) if(L.absorbed && L != M && L.ckey) - to_chat(L, "\The [M] [message]") //To any absorbed people in the pred - if(L.is_preference_enabled(/datum/client_preference/subtle_sounds)) + to_chat(L, span_pemote("\The [M] [message]")) //To any absorbed people in the pred + if(L.read_preference(/datum/preference/toggle/subtle_sounds)) L << sound('sound/talksounds/subtle_sound.ogg', volume = 50) f = TRUE @@ -420,47 +410,46 @@ for(var/I in M.contents) if(istype(I, /mob/living/dominated_brain)) var/mob/living/dominated_brain/db = I - to_chat(db, "\The [M] [message]") //To any dominated brains inside us - if(db.is_preference_enabled(/datum/client_preference/subtle_sounds)) + to_chat(db, span_pemote(span_bold("\The [M] [message]"))) //To any dominated brains inside us + if(db.read_preference(/datum/preference/toggle/subtle_sounds)) db << sound('sound/talksounds/subtle_sound.ogg', volume = 50) f = TRUE for(var/B in M.vore_organs) for(var/mob/living/L in B) if(L.absorbed) - to_chat(L, "\The [M] [message]") //To any absorbed people inside us - if(L.is_preference_enabled(/datum/client_preference/subtle_sounds)) + to_chat(L, span_pemote(span_bold("\The [M] [message]"))) //To any absorbed people inside us + if(L.read_preference(/datum/preference/toggle/subtle_sounds)) L << sound('sound/talksounds/subtle_sound.ogg', volume = 50) f = TRUE if(f) //We found someone to send the message to if(pb) - to_chat(M, "\The [M] [message]") //To us if we are the prey - if(M.is_preference_enabled(/datum/client_preference/subtle_sounds)) + to_chat(M, span_pemote("\The [M] [message]")) //To us if we are the prey + if(M.read_preference(/datum/preference/toggle/subtle_sounds)) M << sound('sound/talksounds/subtle_sound.ogg', volume = 50) else - to_chat(M, "\The [M] [message]") //To us if we are the pred - if(M.is_preference_enabled(/datum/client_preference/subtle_sounds)) + to_chat(M, span_pemote(span_bold("\The [M] [message]"))) //To us if we are the pred + if(M.read_preference(/datum/preference/toggle/subtle_sounds)) M << sound('sound/talksounds/subtle_sound.ogg', volume = 50) for (var/mob/G in player_list) if (istype(G, /mob/new_player)) continue - else if(isobserver(G) && G.is_preference_enabled(/datum/client_preference/ghost_ears && \ - G.is_preference_enabled(/datum/client_preference/ghost_see_whisubtle))) - if(is_preference_enabled(/datum/client_preference/whisubtle_vis) || G.client.holder) - to_chat(G, "\The [M] [message]") + else if(isobserver(G) && G.client?.prefs?.read_preference(/datum/preference/toggle/ghost_ears) && \ + G.client?.prefs?.read_preference(/datum/preference/toggle/ghost_see_whisubtle)) + if(client?.prefs?.read_preference(/datum/preference/toggle/whisubtle_vis) || G.client.holder) + to_chat(G, span_pemote("\The [M] [message]")) log_say(message,M) else //There wasn't anyone to send the message to, pred or prey, so let's just emote it instead and correct our psay just in case. M.forced_psay = FALSE M.me_verb(message) /mob/living/verb/player_narrate(message as message) - set category = "IC" set name = "Narrate (Player)" set desc = "Narrate an action or event! An alternative to emoting, for when your emote shouldn't start with your name!" if(src.client) if(client.prefs.muted & MUTE_IC) - to_chat(src, "You cannot speak in IC (muted).") + to_chat(src, span_warning("You cannot speak in IC (muted).")) return if(!message) message = tgui_input_text(usr, "Type a message to narrate.","Narrate") @@ -470,9 +459,9 @@ if(stat == DEAD) return say_dead(message) if(stat) - to_chat(src, "You need to be concious to narrate: [message]") + to_chat(src, span_warning("You need to be concious to narrate: [message]")) return - message = "([name]) [message]" + message = span_name("([name])") + " " + span_pnarrate("[message]") //Below here stolen from emotes var/turf/T = get_turf(src) @@ -484,7 +473,7 @@ ourfreq = voice_freq if(client) - playsound(T, pick(emote_sound), 25, TRUE, falloff = 1 , is_global = TRUE, frequency = ourfreq, ignore_walls = FALSE, preference = /datum/client_preference/emote_sounds) + playsound(T, pick(emote_sound), 25, TRUE, falloff = 1 , is_global = TRUE, frequency = ourfreq, ignore_walls = FALSE, preference = /datum/preference/toggle/emote_sounds) var/list/in_range = get_mobs_and_objs_in_view_fast(T,world.view,2,remote_ghosts = client ? TRUE : FALSE) var/list/m_viewers = in_range["mobs"] @@ -495,12 +484,12 @@ continue if(M.stat == UNCONSCIOUS || M.sleeping > 0) continue - to_chat(M, "[isobserver(M) ? "[message] ([ghost_follow_link(src, M)])" : message]") + to_chat(M, span_filter_say("[isobserver(M) ? "[message] ([ghost_follow_link(src, M)])" : message]")) log_emote(message, src) /mob/verb/select_speech_bubble() set name = "Select Speech Bubble" - set category = "OOC" + set category = "OOC.Chat Settings" var/new_speech_bubble = tgui_input_list(src, "Pick new voice (default for automatic selection)", "Character Preference", selectable_speech_bubbles) if(new_speech_bubble) diff --git a/code/modules/mob/skillset.dm b/code/modules/mob/skillset.dm deleted file mode 100644 index 3afb7a97aaf..00000000000 --- a/code/modules/mob/skillset.dm +++ /dev/null @@ -1,12 +0,0 @@ - -// We don't actually have a skills system, so return max skill for everything. -/mob/proc/get_skill_value(skill_path) - return SKILL_EXPERT - -// A generic way of modifying success probabilities via skill values. Higher factor means skills have more effect. fail_chance is the chance at SKILL_NONE. -/mob/proc/skill_fail_chance(skill_path, fail_chance, no_more_fail = SKILL_EXPERT, factor = 1) - var/points = get_skill_value(skill_path) - if(points >= no_more_fail) - return 0 - else - return fail_chance * 2 ** (factor*(SKILL_BASIC - points)) diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index 63a04418189..5d018586f1d 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -36,7 +36,7 @@ dna.SetSEState(MONKEYBLOCK,1) dna.SetSEValueRange(MONKEYBLOCK,0xDAC, 0xFFF) - to_chat(src, "You are now [species.name]. ") + to_chat(src, span_infoplain(span_bold("You are now [species.name]. "))) qdel(animation) return src @@ -79,7 +79,7 @@ if(move) var/obj/loc_landmark for(var/obj/effect/landmark/start/sloc in landmarks_list) - if (sloc.name != "AI") + if (sloc.name != JOB_AI) continue if ((locate(/mob/living) in sloc.loc) || (locate(/obj/structure/AIcore) in sloc.loc)) continue @@ -93,7 +93,7 @@ if (!loc_landmark) to_chat(src, "Oh god sorry we can't find an unoccupied AI spawn location, so we're spawning you on top of someone.") for(var/obj/effect/landmark/start/sloc in landmarks_list) - if (sloc.name == "AI") + if (sloc.name == JOB_AI) loc_landmark = sloc newloc = loc_landmark.loc @@ -162,7 +162,7 @@ if(mind) //TODO mind.transfer_to(O) - if(O.mind.assigned_role == "Cyborg") + if(O.mind.assigned_role == JOB_CYBORG) O.mind.original = O else if(mind && mind.special_role) O.mind.store_memory("In case you look at this after being borged, the objectives are only here until I find a way to make them not show up for you, as I can't simply delete them without screwing up round-end reporting. --NeoFite") @@ -170,14 +170,14 @@ O.key = key O.loc = loc - O.job = "Cyborg" - if(O.mind.assigned_role == "Cyborg") - if(O.mind.role_alt_title == "Robot") - O.mmi = new /obj/item/device/mmi/digital/posibrain(O) - else if(O.mind.role_alt_title == "Drone") - O.mmi = new /obj/item/device/mmi/digital/robot(O) + O.job = JOB_CYBORG + if(O.mind.assigned_role == JOB_CYBORG) + if(O.mind.role_alt_title == JOB_ALT_ROBOT) + O.mmi = new /obj/item/mmi/digital/posibrain(O) + else if(O.mind.role_alt_title == JOB_ALT_DRONE) + O.mmi = new /obj/item/mmi/digital/robot(O) else - O.mmi = new /obj/item/device/mmi(O) + O.mmi = new /obj/item/mmi(O) O.mmi.transfer_identity(src) @@ -190,7 +190,6 @@ O.custom_speech_bubble = B.custom_speech_bubble callHook("borgify", list(O)) - O.namepick() spawn(0) // Mobs still instantly del themselves, thus we need to spawn or O will never be returned qdel(src) @@ -216,7 +215,7 @@ new_xeno.a_intent = I_HURT new_xeno.key = key - to_chat(new_xeno, "You are now an alien.") + to_chat(new_xeno, span_infoplain(span_bold("You are now an alien."))) qdel(src) return @@ -238,7 +237,7 @@ new_corgi.a_intent = I_HURT new_corgi.key = key - to_chat(new_corgi, "You are now a Corgi. Yap Yap!") + to_chat(new_corgi, span_infoplain(span_bold("You are now a Corgi. Yap Yap!"))) qdel(src) return diff --git a/code/modules/mob/typing_indicator.dm b/code/modules/mob/typing_indicator.dm index ec1a0be6d69..8cfd9cd2231 100644 --- a/code/modules/mob/typing_indicator.dm +++ b/code/modules/mob/typing_indicator.dm @@ -15,7 +15,7 @@ set name = "Say verb" set category = "IC" - if(is_preference_enabled(/datum/client_preference/tgui_say)) + if(client?.prefs?.read_preference(/datum/preference/toggle/tgui_say)) winset(src, null, "command=[client.tgui_say_create_open_command(SAY_CHANNEL)]") return @@ -31,7 +31,7 @@ set name = "Me verb" set category = "IC" - if(is_preference_enabled(/datum/client_preference/tgui_say)) + if(client?.prefs?.read_preference(/datum/preference/toggle/tgui_say) && client?.prefs?.read_preference(/datum/preference/toggle/tgui_say_emotes)) winset(src, null, "command=[client.tgui_say_create_open_command(ME_CHANNEL)]") return @@ -47,11 +47,11 @@ set name = "Whisper verb" set category = "IC" - if(is_preference_enabled(/datum/client_preference/tgui_say)) + if(client?.prefs?.read_preference(/datum/preference/toggle/tgui_say)) winset(src, null, "command=[client.tgui_say_create_open_command(WHIS_CHANNEL)]") return - if(is_preference_enabled(/datum/client_preference/show_typing_indicator_subtle)) + if(client?.prefs?.read_preference(/datum/preference/toggle/show_typing_indicator_subtle)) client?.start_thinking() client?.start_typing() var/message = tgui_input_text(usr, "Type your message:", "Whisper") @@ -65,11 +65,11 @@ set category = "IC" set desc = "Emote to nearby people (and your pred/prey)" - if(is_preference_enabled(/datum/client_preference/tgui_say)) + if(client?.prefs?.read_preference(/datum/preference/toggle/tgui_say) && client?.prefs?.read_preference(/datum/preference/toggle/tgui_say_emotes)) winset(src, null, "command=[client.tgui_say_create_open_command(SUBTLE_CHANNEL)]") return - if(is_preference_enabled(/datum/client_preference/show_typing_indicator_subtle)) + if(client?.prefs?.read_preference(/datum/preference/toggle/show_typing_indicator_subtle)) client?.start_thinking() client?.start_typing() var/message = tgui_input_text(usr, "Type your message:", "Subtle", multiline = TRUE) diff --git a/code/modules/modular_computers/NTNet/NTNet.dm b/code/modules/modular_computers/NTNet/NTNet.dm index f725cf5aa73..88825af1fec 100644 --- a/code/modules/modular_computers/NTNet/NTNet.dm +++ b/code/modules/modular_computers/NTNet/NTNet.dm @@ -49,12 +49,12 @@ var/global/datum/ntnet/ntnet_global = new() build_emails_list() add_log("NTNet logging system activated.") -/datum/ntnet/proc/add_log_with_ids_check(var/log_string, var/obj/item/weapon/computer_hardware/network_card/source = null) +/datum/ntnet/proc/add_log_with_ids_check(var/log_string, var/obj/item/computer_hardware/network_card/source = null) if(intrusion_detection_enabled) add_log(log_string, source) // Simplified logging: Adds a log. log_string is mandatory parameter, source is optional. -/datum/ntnet/proc/add_log(var/log_string, var/obj/item/weapon/computer_hardware/network_card/source = null) +/datum/ntnet/proc/add_log(var/log_string, var/obj/item/computer_hardware/network_card/source = null) var/log_text = "[stationtime2text()] - " if(source) log_text += "[source.get_network_tag()] - " diff --git a/code/modules/modular_computers/NTNet/NTNet_relay.dm b/code/modules/modular_computers/NTNet/NTNet_relay.dm index 8da5a9972f5..dc80a10f5e8 100644 --- a/code/modules/modular_computers/NTNet/NTNet_relay.dm +++ b/code/modules/modular_computers/NTNet/NTNet_relay.dm @@ -8,7 +8,7 @@ icon_state = "ntnet" anchored = TRUE density = TRUE - circuit = /obj/item/weapon/circuitboard/ntnet_relay + circuit = /obj/item/circuitboard/ntnet_relay var/datum/ntnet/NTNet = null // This is mostly for backwards reference and to allow varedit modifications from ingame. var/enabled = 1 // Set to 0 if the relay was turned off var/dos_failure = 0 // Set to 1 if the relay failed due to (D)DoS attack diff --git a/code/modules/modular_computers/computers/modular_computer/core.dm b/code/modules/modular_computers/computers/modular_computer/core.dm index 827b7204f80..19181ba49c1 100644 --- a/code/modules/modular_computers/computers/modular_computer/core.dm +++ b/code/modules/modular_computers/computers/modular_computer/core.dm @@ -55,7 +55,7 @@ /obj/item/modular_computer/Destroy() kill_program(1) STOP_PROCESSING(SSobj, src) - for(var/obj/item/weapon/computer_hardware/CH in src.get_all_components()) + for(var/obj/item/computer_hardware/CH in src.get_all_components()) uninstall_component(null, CH) qdel(CH) return ..() @@ -86,9 +86,9 @@ . += emissive_appearance(overlay_icon, icon_state_screensaver) set_light(0) return add_overlay(.) - + set_light(light_strength) - + if(active_program) var/program_state = active_program.program_icon_state ? active_program.program_icon_state : icon_state_menu . += mutable_appearance(overlay_icon, program_state) @@ -98,7 +98,7 @@ else . += mutable_appearance(overlay_icon, icon_state_menu) . += emissive_appearance(overlay_icon, icon_state_menu) - + return add_overlay(.) /obj/item/modular_computer/proc/turn_on(var/mob/user) @@ -190,7 +190,7 @@ P = hard_drive.find_file_by_name(prog) if(!P || !istype(P)) // Program not found or it's not executable program. - to_chat(user, "\The [src]'s screen shows \"I/O ERROR - Unable to run [prog]\" warning.") + to_chat(user, span_danger("\The [src]'s screen shows \"I/O ERROR - Unable to run [prog]\" warning.")) return P.computer = src @@ -205,11 +205,11 @@ return if(idle_threads.len >= processor_unit.max_idle_programs+1) - to_chat(user, "\The [src] displays a \"Maximal CPU load reached. Unable to run another program.\" error") + to_chat(user, span_notice("\The [src] displays a \"Maximal CPU load reached. Unable to run another program.\" error")) return if(P.requires_ntnet && !get_ntnet_status(P.requires_ntnet_feature)) // The program requires NTNet connection, but we are not connected to NTNet. - to_chat(user, "\The [src]'s screen shows \"NETWORK ERROR - Unable to connect to NTNet. Please retry. If problem persists contact your system administrator.\" warning.") + to_chat(user, span_danger("\The [src]'s screen shows \"NETWORK ERROR - Unable to connect to NTNet. Please retry. If problem persists contact your system administrator.\" warning.")) return if(active_program) @@ -297,4 +297,4 @@ if(hard_drive) . = hard_drive.find_file_by_uid(uid) if(portable_drive && !.) - . = portable_drive.find_file_by_uid(uid) \ No newline at end of file + . = portable_drive.find_file_by_uid(uid) diff --git a/code/modules/modular_computers/computers/modular_computer/damage.dm b/code/modules/modular_computers/computers/modular_computer/damage.dm index 2c7e357cda1..0db2e969f3d 100644 --- a/code/modules/modular_computers/computers/modular_computer/damage.dm +++ b/code/modules/modular_computers/computers/modular_computer/damage.dm @@ -1,7 +1,7 @@ /obj/item/modular_computer/examine(var/mob/user) . = ..() if(damage > broken_damage) - . += "It is heavily damaged!" + . += span_danger("It is heavily damaged!") else if(damage) . += "It is damaged." @@ -9,7 +9,7 @@ visible_message("\The [src] breaks apart!") var/turf/newloc = get_turf(src) new /obj/item/stack/material/steel(newloc, round(steel_sheet_cost/2)) - for(var/obj/item/weapon/computer_hardware/H in get_all_components()) + for(var/obj/item/computer_hardware/H in get_all_components()) uninstall_component(null, H) H.forceMove(newloc) if(prob(25)) @@ -26,7 +26,7 @@ damage = between(0, damage, max_damage) if(component_probability) - for(var/obj/item/weapon/computer_hardware/H in get_all_components()) + for(var/obj/item/computer_hardware/H in get_all_components()) if(prob(component_probability)) H.take_damage(round(amount / 2)) @@ -52,4 +52,4 @@ if(HALLOSS) take_damage(Proj.damage, Proj.damage / 3, 0) if(BURN) - take_damage(Proj.damage, Proj.damage / 1.5) \ No newline at end of file + take_damage(Proj.damage, Proj.damage / 1.5) diff --git a/code/modules/modular_computers/computers/modular_computer/hardware.dm b/code/modules/modular_computers/computers/modular_computer/hardware.dm index 38545e81763..28510f97c19 100644 --- a/code/modules/modular_computers/computers/modular_computer/hardware.dm +++ b/code/modules/modular_computers/computers/modular_computer/hardware.dm @@ -1,49 +1,49 @@ // Attempts to install the hardware into apropriate slot. -/obj/item/modular_computer/proc/try_install_component(var/mob/living/user, var/obj/item/weapon/computer_hardware/H, var/found = 0) +/obj/item/modular_computer/proc/try_install_component(var/mob/living/user, var/obj/item/computer_hardware/H, var/found = 0) // "USB" flash drive. - if(istype(H, /obj/item/weapon/computer_hardware/hard_drive/portable)) + if(istype(H, /obj/item/computer_hardware/hard_drive/portable)) if(portable_drive) to_chat(user, "This computer's portable drive slot is already occupied by \the [portable_drive].") return found = 1 portable_drive = H - else if(istype(H, /obj/item/weapon/computer_hardware/hard_drive)) + else if(istype(H, /obj/item/computer_hardware/hard_drive)) if(hard_drive) to_chat(user, "This computer's hard drive slot is already occupied by \the [hard_drive].") return found = 1 hard_drive = H - else if(istype(H, /obj/item/weapon/computer_hardware/network_card)) + else if(istype(H, /obj/item/computer_hardware/network_card)) if(network_card) to_chat(user, "This computer's network card slot is already occupied by \the [network_card].") return found = 1 network_card = H - else if(istype(H, /obj/item/weapon/computer_hardware/nano_printer)) + else if(istype(H, /obj/item/computer_hardware/nano_printer)) if(nano_printer) to_chat(user, "This computer's nano printer slot is already occupied by \the [nano_printer].") return found = 1 nano_printer = H - else if(istype(H, /obj/item/weapon/computer_hardware/card_slot)) + else if(istype(H, /obj/item/computer_hardware/card_slot)) if(card_slot) to_chat(user, "This computer's card slot is already occupied by \the [card_slot].") return found = 1 card_slot = H - else if(istype(H, /obj/item/weapon/computer_hardware/battery_module)) + else if(istype(H, /obj/item/computer_hardware/battery_module)) if(battery_module) to_chat(user, "This computer's battery slot is already occupied by \the [battery_module].") return found = 1 battery_module = H - else if(istype(H, /obj/item/weapon/computer_hardware/processor_unit)) + else if(istype(H, /obj/item/computer_hardware/processor_unit)) if(processor_unit) to_chat(user, "This computer's processor slot is already occupied by \the [processor_unit].") return found = 1 processor_unit = H - else if(istype(H, /obj/item/weapon/computer_hardware/tesla_link)) + else if(istype(H, /obj/item/computer_hardware/tesla_link)) if(tesla_link) to_chat(user, "This computer's tesla link slot is already occupied by \the [tesla_link].") return @@ -57,7 +57,7 @@ update_verbs() // Uninstalls component. Found and Critical vars may be passed by parent types, if they have additional hardware. -/obj/item/modular_computer/proc/uninstall_component(var/mob/living/user, var/obj/item/weapon/computer_hardware/H, var/found = 0, var/critical = 0) +/obj/item/modular_computer/proc/uninstall_component(var/mob/living/user, var/obj/item/computer_hardware/H, var/found = 0, var/critical = 0) if(portable_drive == H) portable_drive = null found = 1 @@ -92,7 +92,7 @@ update_verbs() if(critical && enabled) if(user) - to_chat(user, "\The [src]'s screen freezes for few seconds and then displays an \"HARDWARE ERROR: Critical component disconnected. Please verify component connection and reboot the device. If the problem persists contact technical support for assistance.\" warning.") + to_chat(user, span_danger("\The [src]'s screen freezes for few seconds and then displays an \"HARDWARE ERROR: Critical component disconnected. Please verify component connection and reboot the device. If the problem persists contact technical support for assistance.\" warning.")) shutdown_computer() update_icon() @@ -136,4 +136,4 @@ all_components.Add(processor_unit) if(tesla_link) all_components.Add(tesla_link) - return all_components \ No newline at end of file + return all_components diff --git a/code/modules/modular_computers/computers/modular_computer/interaction.dm b/code/modules/modular_computers/computers/modular_computer/interaction.dm index 539e051689a..27f280668f4 100644 --- a/code/modules/modular_computers/computers/modular_computer/interaction.dm +++ b/code/modules/modular_computers/computers/modular_computer/interaction.dm @@ -13,11 +13,11 @@ set src in view(1) if(usr.incapacitated() || !istype(usr, /mob/living)) - to_chat(usr, "You can't do that.") + to_chat(usr, span_warning("You can't do that.")) return if(!Adjacent(usr)) - to_chat(usr, "You can't reach it.") + to_chat(usr, span_warning("You can't reach it.")) return if(enabled) @@ -37,11 +37,11 @@ set src in view(1) if(usr.incapacitated() || !istype(usr, /mob/living)) - to_chat(usr, "You can't do that.") + to_chat(usr, span_warning("You can't do that.")) return if(!Adjacent(usr)) - to_chat(usr, "You can't reach it.") + to_chat(usr, span_warning("You can't reach it.")) return proc_eject_id(usr) @@ -53,11 +53,11 @@ set src in view(1) if(usr.incapacitated() || !istype(usr, /mob/living)) - to_chat(usr, "You can't do that.") + to_chat(usr, span_warning("You can't do that.")) return if(!Adjacent(usr)) - to_chat(usr, "You can't reach it.") + to_chat(usr, span_warning("You can't reach it.")) return proc_eject_usb(usr) @@ -120,9 +120,9 @@ else if(!enabled && screen_on) turn_on(user) -/obj/item/modular_computer/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) - if(istype(W, /obj/item/weapon/card/id)) // ID Card, try to insert it. - var/obj/item/weapon/card/id/I = W +/obj/item/modular_computer/attackby(var/obj/item/W as obj, var/mob/user as mob) + if(istype(W, /obj/item/card/id)) // ID Card, try to insert it. + var/obj/item/card/id/I = W if(!card_slot) to_chat(user, "You try to insert \the [I] into \the [src], but it does not have an ID card slot installed.") return @@ -136,12 +136,12 @@ update_uis() to_chat(user, "You insert \the [I] into \the [src].") return - if(istype(W, /obj/item/weapon/paper) || istype(W, /obj/item/weapon/paper_bundle)) + if(istype(W, /obj/item/paper) || istype(W, /obj/item/paper_bundle)) if(!nano_printer) return nano_printer.attackby(W, user) - if(istype(W, /obj/item/weapon/computer_hardware)) - var/obj/item/weapon/computer_hardware/C = W + if(istype(W, /obj/item/computer_hardware)) + var/obj/item/computer_hardware/C = W if(C.hardware_size <= max_hardware_size) try_install_component(user, C) else @@ -156,7 +156,7 @@ qdel(src) return if(W.has_tool_quality(TOOL_WELDER)) - var/obj/item/weapon/weldingtool/WT = W.get_welder() + var/obj/item/weldingtool/WT = W.get_welder() if(!WT.isOn()) to_chat(user, "\The [W] is off.") return @@ -177,7 +177,7 @@ to_chat(user, "This device doesn't have any components installed.") return var/list/component_names = list() - for(var/obj/item/weapon/computer_hardware/H in all_components) + for(var/obj/item/computer_hardware/H in all_components) component_names.Add(H.name) var/choice = tgui_input_list(usr, "Which component do you want to uninstall?", "Computer maintenance", component_names) @@ -188,7 +188,7 @@ if(!Adjacent(usr)) return - var/obj/item/weapon/computer_hardware/H = find_hardware_by_name(choice) + var/obj/item/computer_hardware/H = find_hardware_by_name(choice) if(!H) return @@ -197,4 +197,4 @@ return - ..() \ No newline at end of file + ..() diff --git a/code/modules/modular_computers/computers/modular_computer/power.dm b/code/modules/modular_computers/computers/modular_computer/power.dm index 5d12d2e174e..29ea856d0d8 100644 --- a/code/modules/modular_computers/computers/modular_computer/power.dm +++ b/code/modules/modular_computers/computers/modular_computer/power.dm @@ -1,6 +1,6 @@ /obj/item/modular_computer/proc/power_failure(var/malfunction = 0) if(enabled) // Shut down the computer - visible_message("\The [src]'s screen flickers briefly and then goes dark.") + visible_message(span_danger("\The [src]'s screen flickers briefly and then goes dark.")) if(active_program) active_program.event_powerfailure(0) for(var/datum/computer_file/program/PRG in idle_threads) @@ -44,7 +44,7 @@ // Handles power-related things, such as battery interaction, recharging, shutdown when it's discharged /obj/item/modular_computer/proc/handle_power() var/power_usage = screen_on ? base_active_power_usage : base_idle_power_usage - for(var/obj/item/weapon/computer_hardware/H in get_all_components()) + for(var/obj/item/computer_hardware/H in get_all_components()) if(H.enabled) power_usage += H.power_usage last_power_usage = power_usage @@ -54,4 +54,4 @@ return if(battery_power(power_usage)) return - power_failure() \ No newline at end of file + power_failure() diff --git a/code/modules/modular_computers/computers/modular_computer/ui.dm b/code/modules/modular_computers/computers/modular_computer/ui.dm index 6e5aa2e38e1..570175c2213 100644 --- a/code/modules/modular_computers/computers/modular_computer/ui.dm +++ b/code/modules/modular_computers/computers/modular_computer/ui.dm @@ -38,9 +38,9 @@ data["device_theme"] = device_theme data["login"] = list() - var/obj/item/weapon/computer_hardware/card_slot/cardholder = card_slot + var/obj/item/computer_hardware/card_slot/cardholder = card_slot if(cardholder) - var/obj/item/weapon/card/id/stored_card = cardholder.stored_card + var/obj/item/card/id/stored_card = cardholder.stored_card if(stored_card) var/stored_name = stored_card.registered_name var/stored_title = stored_card.assignment @@ -89,12 +89,10 @@ shutdown_computer() return TRUE if("PC_minimize") - var/mob/user = usr - minimize_program(user) + minimize_program(ui.user) if("PC_killprogram") var/prog = params["name"] var/datum/computer_file/program/P = null - var/mob/user = usr if(hard_drive) P = hard_drive.find_file_by_name(prog) @@ -102,7 +100,7 @@ return P.kill_program(1) - to_chat(user, "Program [P.filename].[P.filetype] with PID [rand(100,999)] has been killed.") + to_chat(ui.user, span_notice("Program [P.filename].[P.filetype] with PID [rand(100,999)] has been killed.")) return TRUE if("PC_runprogram") return run_program(params["name"]) @@ -115,7 +113,7 @@ var/param = params["name"] switch(param) if("ID") - proc_eject_id(usr) + proc_eject_id(ui.user) return TRUE else return diff --git a/code/modules/modular_computers/computers/modular_computer/variables.dm b/code/modules/modular_computers/computers/modular_computer/variables.dm index 101e7056f9e..5777b4d1296 100644 --- a/code/modules/modular_computers/computers/modular_computer/variables.dm +++ b/code/modules/modular_computers/computers/modular_computer/variables.dm @@ -43,22 +43,22 @@ var/max_damage = 100 // Damage level at which the computer breaks apart. // Important hardware (must be installed for computer to work) - var/obj/item/weapon/computer_hardware/processor_unit/processor_unit // CPU. Without it the computer won't run. Better CPUs can run more programs at once. - var/obj/item/weapon/computer_hardware/network_card/network_card // Network Card component of this computer. Allows connection to NTNet - var/obj/item/weapon/computer_hardware/hard_drive/hard_drive // Hard Drive component of this computer. Stores programs and files. + var/obj/item/computer_hardware/processor_unit/processor_unit // CPU. Without it the computer won't run. Better CPUs can run more programs at once. + var/obj/item/computer_hardware/network_card/network_card // Network Card component of this computer. Allows connection to NTNet + var/obj/item/computer_hardware/hard_drive/hard_drive // Hard Drive component of this computer. Stores programs and files. // Optional hardware (improves functionality, but is not critical for computer to work in most cases) - var/obj/item/weapon/computer_hardware/battery_module/battery_module // An internal power source for this computer. Can be recharged. - var/obj/item/weapon/computer_hardware/card_slot/card_slot // ID Card slot component of this computer. Mostly for HoP modification console that needs ID slot for modification. - var/obj/item/weapon/computer_hardware/nano_printer/nano_printer // Nano Printer component of this computer, for your everyday paperwork needs. - var/obj/item/weapon/computer_hardware/hard_drive/portable/portable_drive // Portable data storage - var/obj/item/weapon/computer_hardware/ai_slot/ai_slot // AI slot, an intellicard housing that allows modifications of AIs. - var/obj/item/weapon/computer_hardware/tesla_link/tesla_link // Tesla Link, Allows remote charging from nearest APC. + var/obj/item/computer_hardware/battery_module/battery_module // An internal power source for this computer. Can be recharged. + var/obj/item/computer_hardware/card_slot/card_slot // ID Card slot component of this computer. Mostly for HoP modification console that needs ID slot for modification. + var/obj/item/computer_hardware/nano_printer/nano_printer // Nano Printer component of this computer, for your everyday paperwork needs. + var/obj/item/computer_hardware/hard_drive/portable/portable_drive // Portable data storage + var/obj/item/computer_hardware/ai_slot/ai_slot // AI slot, an intellicard housing that allows modifications of AIs. + var/obj/item/computer_hardware/tesla_link/tesla_link // Tesla Link, Allows remote charging from nearest APC. var/modifiable = TRUE // can't be modified or damaged if false var/stores_pen = FALSE - var/obj/item/weapon/pen/stored_pen + var/obj/item/pen/stored_pen var/interact_sounds var/interact_sound_volume = 40 diff --git a/code/modules/modular_computers/computers/subtypes/dev_telescreen.dm b/code/modules/modular_computers/computers/subtypes/dev_telescreen.dm index 5d701ef5f08..a4815b89ae0 100644 --- a/code/modules/modular_computers/computers/subtypes/dev_telescreen.dm +++ b/code/modules/modular_computers/computers/subtypes/dev_telescreen.dm @@ -24,7 +24,7 @@ // Allows us to create "north bump" "south bump" etc. named objects, for more comfortable mapping. name = "telescreen" -/obj/item/modular_computer/telescreen/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) +/obj/item/modular_computer/telescreen/attackby(var/obj/item/W as obj, var/mob/user as mob) if(W.has_tool_quality(TOOL_CROWBAR)) if(anchored) shutdown_computer() diff --git a/code/modules/modular_computers/computers/subtypes/preset_console.dm b/code/modules/modular_computers/computers/subtypes/preset_console.dm index 03e86c53380..0a7fac63823 100644 --- a/code/modules/modular_computers/computers/subtypes/preset_console.dm +++ b/code/modules/modular_computers/computers/subtypes/preset_console.dm @@ -1,10 +1,10 @@ /obj/item/modular_computer/console/preset/install_default_hardware() ..() - processor_unit = new/obj/item/weapon/computer_hardware/processor_unit(src) - tesla_link = new/obj/item/weapon/computer_hardware/tesla_link(src) - hard_drive = new/obj/item/weapon/computer_hardware/hard_drive/super(src) - network_card = new/obj/item/weapon/computer_hardware/network_card/wired(src) - nano_printer = new/obj/item/weapon/computer_hardware/nano_printer(src) + processor_unit = new/obj/item/computer_hardware/processor_unit(src) + tesla_link = new/obj/item/computer_hardware/tesla_link(src) + hard_drive = new/obj/item/computer_hardware/hard_drive/super(src) + network_card = new/obj/item/computer_hardware/network_card/wired(src) + nano_printer = new/obj/item/computer_hardware/nano_printer(src) // Engineering /obj/item/modular_computer/console/preset/engineering/install_default_programs() @@ -28,7 +28,7 @@ // Research /obj/item/modular_computer/console/preset/research/install_default_hardware() ..() - //ai_slot = new/obj/item/weapon/computer_hardware/ai_slot(src) + //ai_slot = new/obj/item/computer_hardware/ai_slot(src) /obj/item/modular_computer/console/preset/research/install_default_programs() ..() @@ -43,7 +43,7 @@ // Administrator /obj/item/modular_computer/console/preset/sysadmin/install_default_hardware() ..() - //ai_slot = new/obj/item/weapon/computer_hardware/ai_slot(src) + //ai_slot = new/obj/item/computer_hardware/ai_slot(src) /obj/item/modular_computer/console/preset/sysadmin/install_default_programs() ..() @@ -59,8 +59,8 @@ // Command /obj/item/modular_computer/console/preset/command/install_default_hardware() ..() - nano_printer = new/obj/item/weapon/computer_hardware/nano_printer(src) - card_slot = new/obj/item/weapon/computer_hardware/card_slot(src) + nano_printer = new/obj/item/computer_hardware/nano_printer(src) + card_slot = new/obj/item/computer_hardware/card_slot(src) /obj/item/modular_computer/console/preset/command/install_default_programs() ..() @@ -90,9 +90,9 @@ // ERT /obj/item/modular_computer/console/preset/ert/install_default_hardware() ..() - //ai_slot = new/obj/item/weapon/computer_hardware/ai_slot(src) - nano_printer = new/obj/item/weapon/computer_hardware/nano_printer(src) - card_slot = new/obj/item/weapon/computer_hardware/card_slot(src) + //ai_slot = new/obj/item/computer_hardware/ai_slot(src) + nano_printer = new/obj/item/computer_hardware/nano_printer(src) + card_slot = new/obj/item/computer_hardware/card_slot(src) /obj/item/modular_computer/console/preset/ert/install_default_programs() ..() @@ -108,9 +108,9 @@ /obj/item/modular_computer/console/preset/mercenary/install_default_hardware() ..() - //ai_slot = new/obj/item/weapon/computer_hardware/ai_slot(src) - nano_printer = new/obj/item/weapon/computer_hardware/nano_printer(src) - card_slot = new/obj/item/weapon/computer_hardware/card_slot(src) + //ai_slot = new/obj/item/computer_hardware/ai_slot(src) + nano_printer = new/obj/item/computer_hardware/nano_printer(src) + card_slot = new/obj/item/computer_hardware/card_slot(src) /obj/item/modular_computer/console/preset/mercenary/install_default_programs() ..() diff --git a/code/modules/modular_computers/computers/subtypes/preset_laptop.dm b/code/modules/modular_computers/computers/subtypes/preset_laptop.dm index 929e72a1663..e136b9a56b3 100644 --- a/code/modules/modular_computers/computers/subtypes/preset_laptop.dm +++ b/code/modules/modular_computers/computers/subtypes/preset_laptop.dm @@ -1,34 +1,34 @@ /obj/item/modular_computer/laptop/preset/custom_loadout/cheap/install_default_hardware() ..() - processor_unit = new/obj/item/weapon/computer_hardware/processor_unit/small(src) - tesla_link = new/obj/item/weapon/computer_hardware/tesla_link(src) - hard_drive = new/obj/item/weapon/computer_hardware/hard_drive/(src) - network_card = new/obj/item/weapon/computer_hardware/network_card/(src) - nano_printer = new/obj/item/weapon/computer_hardware/nano_printer(src) - card_slot = new/obj/item/weapon/computer_hardware/card_slot(src) - battery_module = new/obj/item/weapon/computer_hardware/battery_module/advanced(src) + processor_unit = new/obj/item/computer_hardware/processor_unit/small(src) + tesla_link = new/obj/item/computer_hardware/tesla_link(src) + hard_drive = new/obj/item/computer_hardware/hard_drive/(src) + network_card = new/obj/item/computer_hardware/network_card/(src) + nano_printer = new/obj/item/computer_hardware/nano_printer(src) + card_slot = new/obj/item/computer_hardware/card_slot(src) + battery_module = new/obj/item/computer_hardware/battery_module/advanced(src) battery_module.charge_to_full() /obj/item/modular_computer/laptop/preset/custom_loadout/advanced/install_default_hardware() ..() - processor_unit = new/obj/item/weapon/computer_hardware/processor_unit(src) - tesla_link = new/obj/item/weapon/computer_hardware/tesla_link(src) - hard_drive = new/obj/item/weapon/computer_hardware/hard_drive/advanced(src) - network_card = new/obj/item/weapon/computer_hardware/network_card/advanced(src) - nano_printer = new/obj/item/weapon/computer_hardware/nano_printer(src) - card_slot = new/obj/item/weapon/computer_hardware/card_slot(src) - battery_module = new/obj/item/weapon/computer_hardware/battery_module/advanced(src) + processor_unit = new/obj/item/computer_hardware/processor_unit(src) + tesla_link = new/obj/item/computer_hardware/tesla_link(src) + hard_drive = new/obj/item/computer_hardware/hard_drive/advanced(src) + network_card = new/obj/item/computer_hardware/network_card/advanced(src) + nano_printer = new/obj/item/computer_hardware/nano_printer(src) + card_slot = new/obj/item/computer_hardware/card_slot(src) + battery_module = new/obj/item/computer_hardware/battery_module/advanced(src) battery_module.charge_to_full() /obj/item/modular_computer/laptop/preset/custom_loadout/standard/install_default_hardware() ..() - processor_unit = new/obj/item/weapon/computer_hardware/processor_unit(src) - tesla_link = new/obj/item/weapon/computer_hardware/tesla_link(src) - hard_drive = new/obj/item/weapon/computer_hardware/hard_drive/(src) - network_card = new/obj/item/weapon/computer_hardware/network_card/(src) - nano_printer = new/obj/item/weapon/computer_hardware/nano_printer(src) - card_slot = new/obj/item/weapon/computer_hardware/card_slot(src) - battery_module = new/obj/item/weapon/computer_hardware/battery_module/advanced(src) + processor_unit = new/obj/item/computer_hardware/processor_unit(src) + tesla_link = new/obj/item/computer_hardware/tesla_link(src) + hard_drive = new/obj/item/computer_hardware/hard_drive/(src) + network_card = new/obj/item/computer_hardware/network_card/(src) + nano_printer = new/obj/item/computer_hardware/nano_printer(src) + card_slot = new/obj/item/computer_hardware/card_slot(src) + battery_module = new/obj/item/computer_hardware/battery_module/advanced(src) battery_module.charge_to_full() /obj/item/modular_computer/laptop/preset/custom_loadout/elite @@ -38,11 +38,11 @@ /obj/item/modular_computer/laptop/preset/custom_loadout/elite/install_default_hardware() ..() - processor_unit = new/obj/item/weapon/computer_hardware/processor_unit(src) - tesla_link = new/obj/item/weapon/computer_hardware/tesla_link(src) - hard_drive = new/obj/item/weapon/computer_hardware/hard_drive/super(src) - network_card = new/obj/item/weapon/computer_hardware/network_card/advanced(src) - nano_printer = new/obj/item/weapon/computer_hardware/nano_printer(src) - card_slot = new/obj/item/weapon/computer_hardware/card_slot(src) - battery_module = new/obj/item/weapon/computer_hardware/battery_module/super(src) + processor_unit = new/obj/item/computer_hardware/processor_unit(src) + tesla_link = new/obj/item/computer_hardware/tesla_link(src) + hard_drive = new/obj/item/computer_hardware/hard_drive/super(src) + network_card = new/obj/item/computer_hardware/network_card/advanced(src) + nano_printer = new/obj/item/computer_hardware/nano_printer(src) + card_slot = new/obj/item/computer_hardware/card_slot(src) + battery_module = new/obj/item/computer_hardware/battery_module/super(src) battery_module.charge_to_full() diff --git a/code/modules/modular_computers/computers/subtypes/preset_laptop_vr.dm b/code/modules/modular_computers/computers/subtypes/preset_laptop_vr.dm index 5f7b2025b0b..8e0e0f35b3c 100644 --- a/code/modules/modular_computers/computers/subtypes/preset_laptop_vr.dm +++ b/code/modules/modular_computers/computers/subtypes/preset_laptop_vr.dm @@ -11,13 +11,13 @@ /obj/item/modular_computer/laptop/preset/custom_loadout/rugged/install_default_hardware() ..() - processor_unit = new/obj/item/weapon/computer_hardware/processor_unit/small(src) - tesla_link = new/obj/item/weapon/computer_hardware/tesla_link(src) - hard_drive = new/obj/item/weapon/computer_hardware/hard_drive/advanced(src) - network_card = new/obj/item/weapon/computer_hardware/network_card/advanced(src) - nano_printer = new/obj/item/weapon/computer_hardware/nano_printer(src) - card_slot = new/obj/item/weapon/computer_hardware/card_slot(src) - battery_module = new/obj/item/weapon/computer_hardware/battery_module/super(src) + processor_unit = new/obj/item/computer_hardware/processor_unit/small(src) + tesla_link = new/obj/item/computer_hardware/tesla_link(src) + hard_drive = new/obj/item/computer_hardware/hard_drive/advanced(src) + network_card = new/obj/item/computer_hardware/network_card/advanced(src) + nano_printer = new/obj/item/computer_hardware/nano_printer(src) + card_slot = new/obj/item/computer_hardware/card_slot(src) + battery_module = new/obj/item/computer_hardware/battery_module/super(src) battery_module.charge_to_full() //Fancy Schmancy - this is defined in normal file, just swapping the icon @@ -38,11 +38,11 @@ /obj/item/modular_computer/laptop/preset/custom_loadout/hybrid/install_default_hardware() ..() - processor_unit = new/obj/item/weapon/computer_hardware/processor_unit/photonic(src) - tesla_link = new/obj/item/weapon/computer_hardware/tesla_link(src) - hard_drive = new/obj/item/weapon/computer_hardware/hard_drive/super(src) - network_card = new/obj/item/weapon/computer_hardware/network_card/advanced(src) - nano_printer = new/obj/item/weapon/computer_hardware/nano_printer(src) - card_slot = new/obj/item/weapon/computer_hardware/card_slot(src) - battery_module = new/obj/item/weapon/computer_hardware/battery_module/lambda(src) + processor_unit = new/obj/item/computer_hardware/processor_unit/photonic(src) + tesla_link = new/obj/item/computer_hardware/tesla_link(src) + hard_drive = new/obj/item/computer_hardware/hard_drive/super(src) + network_card = new/obj/item/computer_hardware/network_card/advanced(src) + nano_printer = new/obj/item/computer_hardware/nano_printer(src) + card_slot = new/obj/item/computer_hardware/card_slot(src) + battery_module = new/obj/item/computer_hardware/battery_module/lambda(src) battery_module.charge_to_full() diff --git a/code/modules/modular_computers/computers/subtypes/preset_tablet.dm b/code/modules/modular_computers/computers/subtypes/preset_tablet.dm index 65c3a47c3cb..05e7c8afbb9 100644 --- a/code/modules/modular_computers/computers/subtypes/preset_tablet.dm +++ b/code/modules/modular_computers/computers/subtypes/preset_tablet.dm @@ -1,28 +1,28 @@ /obj/item/modular_computer/tablet/preset/custom_loadout/cheap/install_default_hardware() ..() - processor_unit = new/obj/item/weapon/computer_hardware/processor_unit/small(src) - tesla_link = new/obj/item/weapon/computer_hardware/tesla_link(src) - hard_drive = new/obj/item/weapon/computer_hardware/hard_drive/micro(src) - network_card = new/obj/item/weapon/computer_hardware/network_card(src) - battery_module = new/obj/item/weapon/computer_hardware/battery_module/nano(src) + processor_unit = new/obj/item/computer_hardware/processor_unit/small(src) + tesla_link = new/obj/item/computer_hardware/tesla_link(src) + hard_drive = new/obj/item/computer_hardware/hard_drive/micro(src) + network_card = new/obj/item/computer_hardware/network_card(src) + battery_module = new/obj/item/computer_hardware/battery_module/nano(src) battery_module.charge_to_full() /obj/item/modular_computer/tablet/preset/custom_loadout/advanced/install_default_hardware() ..() - processor_unit = new/obj/item/weapon/computer_hardware/processor_unit/small(src) - tesla_link = new/obj/item/weapon/computer_hardware/tesla_link(src) - hard_drive = new/obj/item/weapon/computer_hardware/hard_drive/small(src) - network_card = new/obj/item/weapon/computer_hardware/network_card/advanced(src) - nano_printer = new/obj/item/weapon/computer_hardware/nano_printer(src) - card_slot = new/obj/item/weapon/computer_hardware/card_slot(src) - battery_module = new/obj/item/weapon/computer_hardware/battery_module(src) + processor_unit = new/obj/item/computer_hardware/processor_unit/small(src) + tesla_link = new/obj/item/computer_hardware/tesla_link(src) + hard_drive = new/obj/item/computer_hardware/hard_drive/small(src) + network_card = new/obj/item/computer_hardware/network_card/advanced(src) + nano_printer = new/obj/item/computer_hardware/nano_printer(src) + card_slot = new/obj/item/computer_hardware/card_slot(src) + battery_module = new/obj/item/computer_hardware/battery_module(src) battery_module.charge_to_full() /obj/item/modular_computer/tablet/preset/custom_loadout/standard/install_default_hardware() ..() - processor_unit = new/obj/item/weapon/computer_hardware/processor_unit/small(src) - tesla_link = new/obj/item/weapon/computer_hardware/tesla_link(src) - hard_drive = new/obj/item/weapon/computer_hardware/hard_drive/small(src) - network_card = new/obj/item/weapon/computer_hardware/network_card(src) - battery_module = new/obj/item/weapon/computer_hardware/battery_module/micro(src) + processor_unit = new/obj/item/computer_hardware/processor_unit/small(src) + tesla_link = new/obj/item/computer_hardware/tesla_link(src) + hard_drive = new/obj/item/computer_hardware/hard_drive/small(src) + network_card = new/obj/item/computer_hardware/network_card(src) + battery_module = new/obj/item/computer_hardware/battery_module/micro(src) battery_module.charge_to_full() diff --git a/code/modules/modular_computers/computers/subtypes/preset_tablet_vr.dm b/code/modules/modular_computers/computers/subtypes/preset_tablet_vr.dm index 9a879286189..b37abfd85cd 100644 --- a/code/modules/modular_computers/computers/subtypes/preset_tablet_vr.dm +++ b/code/modules/modular_computers/computers/subtypes/preset_tablet_vr.dm @@ -9,11 +9,11 @@ /obj/item/modular_computer/tablet/preset/custom_loadout/rugged/install_default_hardware() ..() - processor_unit = new/obj/item/weapon/computer_hardware/processor_unit/small(src) - tesla_link = new/obj/item/weapon/computer_hardware/tesla_link(src) - hard_drive = new/obj/item/weapon/computer_hardware/hard_drive/small(src) - network_card = new/obj/item/weapon/computer_hardware/network_card(src) - battery_module = new/obj/item/weapon/computer_hardware/battery_module/micro(src) + processor_unit = new/obj/item/computer_hardware/processor_unit/small(src) + tesla_link = new/obj/item/computer_hardware/tesla_link(src) + hard_drive = new/obj/item/computer_hardware/hard_drive/small(src) + network_card = new/obj/item/computer_hardware/network_card(src) + battery_module = new/obj/item/computer_hardware/battery_module/micro(src) battery_module.charge_to_full() /obj/item/modular_computer/tablet/preset/custom_loadout/elite @@ -25,13 +25,13 @@ /obj/item/modular_computer/tablet/preset/custom_loadout/elite/install_default_hardware() ..() - processor_unit = new/obj/item/weapon/computer_hardware/processor_unit/small(src) - tesla_link = new/obj/item/weapon/computer_hardware/tesla_link(src) - hard_drive = new/obj/item/weapon/computer_hardware/hard_drive/small(src) - network_card = new/obj/item/weapon/computer_hardware/network_card/advanced(src) - nano_printer = new/obj/item/weapon/computer_hardware/nano_printer(src) - card_slot = new/obj/item/weapon/computer_hardware/card_slot(src) - battery_module = new/obj/item/weapon/computer_hardware/battery_module(src) + processor_unit = new/obj/item/computer_hardware/processor_unit/small(src) + tesla_link = new/obj/item/computer_hardware/tesla_link(src) + hard_drive = new/obj/item/computer_hardware/hard_drive/small(src) + network_card = new/obj/item/computer_hardware/network_card/advanced(src) + nano_printer = new/obj/item/computer_hardware/nano_printer(src) + card_slot = new/obj/item/computer_hardware/card_slot(src) + battery_module = new/obj/item/computer_hardware/battery_module(src) battery_module.charge_to_full() /obj/item/modular_computer/tablet/preset/custom_loadout/hybrid @@ -43,11 +43,11 @@ /obj/item/modular_computer/tablet/preset/custom_loadout/hybrid/install_default_hardware() ..() - processor_unit = new/obj/item/weapon/computer_hardware/processor_unit/photonic/small(src) - tesla_link = new/obj/item/weapon/computer_hardware/tesla_link(src) - hard_drive = new/obj/item/weapon/computer_hardware/hard_drive/small(src) - network_card = new/obj/item/weapon/computer_hardware/network_card/advanced(src) - nano_printer = new/obj/item/weapon/computer_hardware/nano_printer(src) - card_slot = new/obj/item/weapon/computer_hardware/card_slot(src) - battery_module = new/obj/item/weapon/computer_hardware/battery_module/lambda(src) + processor_unit = new/obj/item/computer_hardware/processor_unit/photonic/small(src) + tesla_link = new/obj/item/computer_hardware/tesla_link(src) + hard_drive = new/obj/item/computer_hardware/hard_drive/small(src) + network_card = new/obj/item/computer_hardware/network_card/advanced(src) + nano_printer = new/obj/item/computer_hardware/nano_printer(src) + card_slot = new/obj/item/computer_hardware/card_slot(src) + battery_module = new/obj/item/computer_hardware/battery_module/lambda(src) battery_module.charge_to_full() diff --git a/code/modules/modular_computers/computers/subtypes/preset_telescreen.dm b/code/modules/modular_computers/computers/subtypes/preset_telescreen.dm index d0cb86bada0..b463eb82322 100644 --- a/code/modules/modular_computers/computers/subtypes/preset_telescreen.dm +++ b/code/modules/modular_computers/computers/subtypes/preset_telescreen.dm @@ -1,9 +1,9 @@ /obj/item/modular_computer/telescreen/preset/install_default_hardware() ..() - processor_unit = new/obj/item/weapon/computer_hardware/processor_unit(src) - tesla_link = new/obj/item/weapon/computer_hardware/tesla_link(src) - hard_drive = new/obj/item/weapon/computer_hardware/hard_drive(src) - network_card = new/obj/item/weapon/computer_hardware/network_card(src) + processor_unit = new/obj/item/computer_hardware/processor_unit(src) + tesla_link = new/obj/item/computer_hardware/tesla_link(src) + hard_drive = new/obj/item/computer_hardware/hard_drive(src) + network_card = new/obj/item/computer_hardware/network_card(src) /obj/item/modular_computer/telescreen/preset/generic/install_default_programs() ..() diff --git a/code/modules/modular_computers/file_system/computer_file.dm b/code/modules/modular_computers/file_system/computer_file.dm index b477862535c..d076aeefd65 100644 --- a/code/modules/modular_computers/file_system/computer_file.dm +++ b/code/modules/modular_computers/file_system/computer_file.dm @@ -8,7 +8,7 @@ var/global/file_uid = 0 /// File size in GQ. Integers only! var/size = 1 /// Holder that contains this file. - var/obj/item/weapon/computer_hardware/hard_drive/holder + var/obj/item/computer_hardware/hard_drive/holder //// Whether the file may be sent to someone via NTNet transfer, email or other means. var/unsendable = FALSE /// Whether the file may be deleted. Setting to TRUE prevents deletion/renaming/etc. @@ -22,7 +22,7 @@ var/global/file_uid = 0 /// Any metadata the file uses. var/list/metadata /// Paper type to use for printing - var/papertype = /obj/item/weapon/paper + var/papertype = /obj/item/paper /datum/computer_file/New(list/md = null) ..() diff --git a/code/modules/modular_computers/file_system/program.dm b/code/modules/modular_computers/file_system/program.dm index 905a6434be7..045ac9fbcfc 100644 --- a/code/modules/modular_computers/file_system/program.dm +++ b/code/modules/modular_computers/file_system/program.dm @@ -74,7 +74,7 @@ /datum/computer_file/program/proc/is_supported_by_hardware(var/hardware_flag = 0, var/loud = 0, var/mob/user = null) if(!(hardware_flag & usage_flags)) if(loud && computer && user) - to_chat(user, "\The [computer] flashes: \"Hardware Error - Incompatible software\".") + to_chat(user, span_warning("\The [computer] flashes: \"Hardware Error - Incompatible software\".")) return 0 return 1 @@ -115,16 +115,16 @@ if(!istype(user)) return 0 - var/obj/item/weapon/card/id/I = user.GetIdCard() + var/obj/item/card/id/I = user.GetIdCard() if(!I) if(loud) - to_chat(user, "\The [computer] flashes an \"RFID Error - Unable to scan ID\" warning.") + to_chat(user, span_notice("\The [computer] flashes an \"RFID Error - Unable to scan ID\" warning.")) return 0 - if(access_to_check in I.access) + if(access_to_check in I.GetAccess()) return 1 else if(loud) - to_chat(user, "\The [computer] flashes an \"Access Denied\" warning.") + to_chat(user, span_notice("\The [computer] flashes an \"Access Denied\" warning.")) // This attempts to retrieve header data for NanoUIs. If implementing completely new device of different type than existing ones // always include the device here in this proc. This proc basically relays the request to whatever is running the program. @@ -206,7 +206,6 @@ ui.close() return 1 if("PC_minimize") - var/mob/user = usr if(!computer.active_program) return @@ -217,8 +216,8 @@ computer.update_icon() ui.close() - if(user && istype(user)) - computer.tgui_interact(user) // Re-open the UI on this computer. It should show the main screen now. + if(ui.user && istype(ui.user)) + computer.tgui_interact(ui.user) // Re-open the UI on this computer. It should show the main screen now. diff --git a/code/modules/modular_computers/file_system/program_events.dm b/code/modules/modular_computers/file_system/program_events.dm index ef1eac09aa9..46089cc0a25 100644 --- a/code/modules/modular_computers/file_system/program_events.dm +++ b/code/modules/modular_computers/file_system/program_events.dm @@ -13,6 +13,6 @@ /datum/computer_file/program/proc/event_networkfailure(var/background) kill_program(1) if(background) - computer.visible_message("\The [computer]'s screen displays an error: \"Network connectivity lost - process [filename].[filetype] (PID [rand(100,999)]) terminated.\"") + computer.visible_message(span_warning("\The [computer]'s screen displays an error: \"Network connectivity lost - process [filename].[filetype] (PID [rand(100,999)]) terminated.\"")) else - computer.visible_message("\The [computer]'s screen briefly freezes and then shows: \"FATAL NETWORK ERROR - NTNet connection lost. Please try again later. If problem persists, please contact your system administrator.\"") + computer.visible_message(span_warning("\The [computer]'s screen briefly freezes and then shows: \"FATAL NETWORK ERROR - NTNet connection lost. Please try again later. If problem persists, please contact your system administrator.\"")) diff --git a/code/modules/modular_computers/file_system/programs/antagonist/access_decrypter.dm b/code/modules/modular_computers/file_system/programs/antagonist/access_decrypter.dm index 11547e34265..033d1e32069 100644 --- a/code/modules/modular_computers/file_system/programs/antagonist/access_decrypter.dm +++ b/code/modules/modular_computers/file_system/programs/antagonist/access_decrypter.dm @@ -31,8 +31,8 @@ . = ..() if(!running) return - var/obj/item/weapon/computer_hardware/processor_unit/CPU = computer.processor_unit - var/obj/item/weapon/computer_hardware/card_slot/RFID = computer.card_slot + var/obj/item/computer_hardware/processor_unit/CPU = computer.processor_unit + var/obj/item/computer_hardware/card_slot/RFID = computer.card_slot if(!istype(CPU) || !CPU.check_functionality() || !istype(RFID) || !RFID.check_functionality()) message = "A fatal hardware error has been detected." return @@ -62,8 +62,8 @@ return TRUE if(text2num(params["allowed"])) return TRUE - var/obj/item/weapon/computer_hardware/processor_unit/CPU = computer.processor_unit - var/obj/item/weapon/computer_hardware/card_slot/RFID = computer.card_slot + var/obj/item/computer_hardware/processor_unit/CPU = computer.processor_unit + var/obj/item/computer_hardware/card_slot/RFID = computer.card_slot if(!istype(CPU) || !CPU.check_functionality() || !istype(RFID) || !RFID.check_functionality()) message = "A fatal hardware error has been detected." return @@ -92,7 +92,7 @@ data["rate"] = computer.processor_unit.max_idle_programs data["factor"] = (progress / target_progress) else if(computer?.card_slot?.stored_card) - var/obj/item/weapon/card/id/id_card = computer.card_slot.stored_card + var/obj/item/card/id/id_card = computer.card_slot.stored_card for(var/i = 1; i <= 7; i++) var/list/accesses = list() for(var/access in get_region_accesses(i)) @@ -100,7 +100,7 @@ accesses.Add(list(list( "desc" = replacetext(get_access_desc(access), " ", " "), "ref" = access, - "allowed" = (access in id_card.access) ? 1 : 0 + "allowed" = (access in id_card.GetAccess()) ? 1 : 0 ))) regions.Add(list(list( @@ -109,4 +109,4 @@ ))) data["regions"] = regions - return data \ No newline at end of file + return data diff --git a/code/modules/modular_computers/file_system/programs/antagonist/dos.dm b/code/modules/modular_computers/file_system/programs/antagonist/dos.dm index e1fa0cfa8a0..f8ec1e3f5a0 100644 --- a/code/modules/modular_computers/file_system/programs/antagonist/dos.dm +++ b/code/modules/modular_computers/file_system/programs/antagonist/dos.dm @@ -84,7 +84,7 @@ executed = TRUE target.dos_sources.Add(src) if(ntnet_global.intrusion_detection_enabled) - var/obj/item/weapon/computer_hardware/network_card/network_card = computer.network_card + var/obj/item/computer_hardware/network_card/network_card = computer.network_card ntnet_global.add_log("IDS WARNING - Excess traffic flood targeting relay [target.uid] detected from device: [network_card.get_network_tag()]") ntnet_global.intrusion_detection_alarm = TRUE return TRUE 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 5d0e291336c..bc2f77547f8 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(!computer) return - computer.visible_message("\The [computer]'s screen brightly flashes and loud electrical buzzing is heard.") + computer.visible_message(span_notice("\The [computer]'s screen brightly flashes and loud electrical buzzing is heard.")) computer.enabled = 0 computer.update_icon() var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread @@ -64,4 +64,4 @@ data["armed"] = armed - return data \ No newline at end of file + return data diff --git a/code/modules/modular_computers/file_system/programs/generic/email_client.dm b/code/modules/modular_computers/file_system/programs/generic/email_client.dm index cea1f070ce9..0fbc939ce6d 100644 --- a/code/modules/modular_computers/file_system/programs/generic/email_client.dm +++ b/code/modules/modular_computers/file_system/programs/generic/email_client.dm @@ -40,7 +40,7 @@ /datum/computer_file/program/email_client/proc/new_mail_notify() var/turf/T = get_turf(computer) // Because visible_message is being a butt if(T) - T.visible_message("[computer] beeps softly, indicating a new email has been received.") + T.visible_message(span_notice("[computer] beeps softly, indicating a new email has been received.")) playsound(computer, 'sound/misc/server-ready.ogg', 100, 0) /datum/computer_file/program/email_client/process_tick() diff --git a/code/modules/modular_computers/file_system/programs/generic/file_browser.dm b/code/modules/modular_computers/file_system/programs/generic/file_browser.dm index 54e66497ea7..0d4098e2928 100644 --- a/code/modules/modular_computers/file_system/programs/generic/file_browser.dm +++ b/code/modules/modular_computers/file_system/programs/generic/file_browser.dm @@ -20,8 +20,8 @@ if(..()) return TRUE - var/obj/item/weapon/computer_hardware/hard_drive/HDD = computer.hard_drive - var/obj/item/weapon/computer_hardware/hard_drive/RHDD = computer.portable_drive + var/obj/item/computer_hardware/hard_drive/HDD = computer.hard_drive + var/obj/item/computer_hardware/hard_drive/RHDD = computer.portable_drive switch(action) if("PRG_openfile") @@ -30,7 +30,7 @@ if("PRG_newtextfile") if(!HDD) return - var/newname = sanitize(tgui_input_text(usr, "Enter file name or leave blank to cancel:", "File rename")) + var/newname = sanitize(tgui_input_text(ui.user, "Enter file name or leave blank to cancel:", "File rename")) if(!newname) return if(HDD.find_file_by_name(newname)) @@ -60,13 +60,13 @@ var/datum/computer_file/data/F = computer.find_file_by_uid(open_file) if(!F || !istype(F)) return - if(F.do_not_edit && (tgui_alert(usr, "WARNING: This file is not compatible with editor. Editing it may result in permanently corrupted formatting or damaged data consistency. Edit anyway?", "Incompatible File", list("No", "Yes")) == "No")) + if(F.do_not_edit && (tgui_alert(ui.user, "WARNING: This file is not compatible with editor. Editing it may result in permanently corrupted formatting or damaged data consistency. Edit anyway?", "Incompatible File", list("No", "Yes")) != "Yes")) return var/oldtext = html_decode(F.stored_data) oldtext = replacetext(oldtext, "\[br\]", "\n") - var/newtext = sanitize(replacetext(tgui_input_text(usr, "Editing file [F.filename].[F.filetype]. You may use most tags used in paper formatting:", "Text Editor", oldtext, MAX_TEXTFILE_LENGTH, TRUE, prevent_enter = TRUE), "\n", "\[br\]"), MAX_TEXTFILE_LENGTH) + var/newtext = sanitize(replacetext(tgui_input_text(ui.user, "Editing file [F.filename].[F.filetype]. You may use most tags used in paper formatting:", "Text Editor", oldtext, MAX_TEXTFILE_LENGTH, TRUE, prevent_enter = TRUE), "\n", "\[br\]"), MAX_TEXTFILE_LENGTH) if(!newtext) return @@ -150,8 +150,8 @@ /datum/computer_file/program/filemanager/tgui_data(mob/user) var/list/data = get_header_data() - var/obj/item/weapon/computer_hardware/hard_drive/HDD = computer.hard_drive - var/obj/item/weapon/computer_hardware/hard_drive/portable/RHDD = computer.portable_drive + var/obj/item/computer_hardware/hard_drive/HDD = computer.hard_drive + var/obj/item/computer_hardware/hard_drive/portable/RHDD = computer.portable_drive data["error"] = null if(error) diff --git a/code/modules/modular_computers/file_system/programs/generic/fishing.dm b/code/modules/modular_computers/file_system/programs/generic/fishing.dm new file mode 100644 index 00000000000..21a0ce203df --- /dev/null +++ b/code/modules/modular_computers/file_system/programs/generic/fishing.dm @@ -0,0 +1,26 @@ +/datum/computer_file/program/fishing + filename = "fishingminigame" + filedesc = "Fishy Fishy 905" + program_icon_state = "arcade" + extended_desc = "A little fishing minigame for when you're really bored." + size = 3 + requires_ntnet = FALSE + available_on_ntnet = TRUE + tgui_id = "NtosFishing" + usage_flags = PROGRAM_ALL + +/datum/computer_file/program/fishing/tgui_data(mob/user) + return get_header_data() + +/datum/computer_file/program/fishing/tgui_act(action, list/params) + . = ..() + if(.) + return + + switch(action) + if("lose") + playsound(computer, 'sound/arcade/lose.ogg', 50, TRUE, extrarange = -3, falloff = 0.1) + . = TRUE + if("win") + playsound(computer, 'sound/arcade/win.ogg', 50, TRUE, extrarange = -3, falloff = 0.1) + . = TRUE diff --git a/code/modules/modular_computers/file_system/programs/generic/game.dm b/code/modules/modular_computers/file_system/programs/generic/game.dm index 8d3219bc424..73ea3a1b6e0 100644 --- a/code/modules/modular_computers/file_system/programs/generic/game.dm +++ b/code/modules/modular_computers/file_system/programs/generic/game.dm @@ -39,7 +39,6 @@ if(istype(computer)) computer.update_icon() ticket_count += 1 - // user?.mind?.adjust_experience(/datum/skill/gaming, 50) sleep(10) else if(player_hp <= 0 || player_mp <= 0) heads_up = "You have been defeated... how will the station survive?" @@ -48,7 +47,6 @@ program_icon_state = "arcade_off" if(istype(computer)) computer.update_icon() - // user?.mind?.adjust_experience(/datum/skill/gaming, 10) sleep(10) // This handles the boss "AI". @@ -107,16 +105,14 @@ /** * This is tgui's replacement for Topic(). It handles any user input from the UI. */ -/datum/computer_file/program/game/tgui_act(action, list/params) +/datum/computer_file/program/game/tgui_act(action, list/params, datum/tgui/ui) if(..()) // Always call parent in tgui_act, it handles making sure the user is allowed to interact with the UI. return TRUE - var/obj/item/weapon/computer_hardware/nano_printer/printer + var/obj/item/computer_hardware/nano_printer/printer if(computer) printer = computer.nano_printer - // var/gamerSkillLevel = usr.mind?.get_skill_level(/datum/skill/gaming) - // var/gamerSkill = usr.mind?.get_skill_modifier(/datum/skill/gaming, SKILL_RANDS_MODIFIER) switch(action) if("Attack") var/attackamt = 0 //Spam prevention. @@ -162,20 +158,20 @@ return TRUE if("Dispense_Tickets") if(!printer) - to_chat(usr, "Hardware error: A printer is required to redeem tickets.") + to_chat(ui.user, span_notice("Hardware error: A printer is required to redeem tickets.")) return if(printer.stored_paper <= 0) - to_chat(usr, "Hardware error: Printer is out of paper.") + to_chat(ui.user, span_notice("Hardware error: Printer is out of paper.")) return else - computer.visible_message("\The [computer] prints out paper.") + computer.visible_message(span_infoplain(span_bold("\The [computer]") + " prints out paper.")) if(ticket_count >= 1) new /obj/item/stack/arcadeticket((get_turf(computer)), 1) - to_chat(usr, "[src] dispenses a ticket!") + to_chat(ui.user, span_notice("[src] dispenses a ticket!")) ticket_count -= 1 printer.stored_paper -= 1 else - to_chat(usr, "You don't have any stored tickets!") + to_chat(ui.user, span_notice("You don't have any stored tickets!")) return TRUE if("Start_Game") game_active = TRUE diff --git a/code/modules/modular_computers/file_system/programs/generic/news_browser.dm b/code/modules/modular_computers/file_system/programs/generic/news_browser.dm index 6eb6fc0f2e0..7bd348b6216 100644 --- a/code/modules/modular_computers/file_system/programs/generic/news_browser.dm +++ b/code/modules/modular_computers/file_system/programs/generic/news_browser.dm @@ -106,10 +106,10 @@ if(downloading || !loaded_article) return - var/savename = sanitize(tgui_input_text(usr, "Enter file name or leave blank to cancel:", "Save article", loaded_article.filename)) + var/savename = sanitize(tgui_input_text(ui.user, "Enter file name or leave blank to cancel:", "Save article", loaded_article.filename)) if(!savename) return TRUE - var/obj/item/weapon/computer_hardware/hard_drive/HDD = computer.hard_drive + var/obj/item/computer_hardware/hard_drive/HDD = computer.hard_drive if(!HDD) return TRUE var/datum/computer_file/data/news_article/N = loaded_article.clone() diff --git a/code/modules/modular_computers/file_system/programs/generic/ntnrc_client.dm b/code/modules/modular_computers/file_system/programs/generic/ntnrc_client.dm index ab26ed48623..d3b0feb67fe 100644 --- a/code/modules/modular_computers/file_system/programs/generic/ntnrc_client.dm +++ b/code/modules/modular_computers/file_system/programs/generic/ntnrc_client.dm @@ -26,7 +26,7 @@ /datum/computer_file/program/chatclient/New() username = "DefaultUser[rand(100, 999)]" -/datum/computer_file/program/chatclient/tgui_act(action, params) +/datum/computer_file/program/chatclient/tgui_act(action, params, datum/tgui/ui) if(..()) return @@ -47,8 +47,7 @@ return TRUE channel.add_message(message, username) - // var/mob/living/user = usr - // user.log_talk(message, LOG_CHAT, tag="as [username] to channel [channel.title]") + // ui.user.log_talk(message, LOG_CHAT, tag="as [username] to channel [channel.title]") return TRUE if("PRG_joinchannel") var/new_target = text2num(params["id"]) @@ -85,8 +84,7 @@ if(channel) channel.remove_client(src) // We shouldn't be in channel's user list, but just in case... return TRUE - var/mob/living/user = usr - if(can_run(user, TRUE, access_network)) + if(isliving(ui.user) && can_run(ui.user, TRUE, access_network)) for(var/datum/ntnet_conversation/chan as anything in ntnet_global.chat_channels) chan.remove_client(src) netadmin_mode = TRUE @@ -119,9 +117,9 @@ // This program shouldn't even be runnable without computer. CRASH("Var computer is null!") if(!computer.hard_drive) - computer.visible_message("\The [computer] shows an \"I/O Error - Hard drive connection error\" warning.") + computer.visible_message(span_warning("\The [computer] shows an \"I/O Error - Hard drive connection error\" warning.")) else // In 99.9% cases this will mean our HDD is full - computer.visible_message("\The [computer] shows an \"I/O Error - Hard drive may be full. Please free some space and try again. Required space: [logfile.size]GQ\" warning.") + computer.visible_message(span_warning("\The [computer] shows an \"I/O Error - Hard drive may be full. Please free some space and try again. Required space: [logfile.size]GQ\" warning.")) return TRUE if("PRG_renamechannel") if(!authed) diff --git a/code/modules/modular_computers/file_system/programs/generic/nttransfer.dm b/code/modules/modular_computers/file_system/programs/generic/nttransfer.dm index f89558e78fb..4d7a6959910 100644 --- a/code/modules/modular_computers/file_system/programs/generic/nttransfer.dm +++ b/code/modules/modular_computers/file_system/programs/generic/nttransfer.dm @@ -134,7 +134,7 @@ var/global/nttransfer_uid = 0 if(!remote || !remote.provided_file) return if(remote.server_password) - var/pass = sanitize(tgui_input_text(usr, "Code 401 Unauthorized. Please enter password:", "Password required")) + var/pass = sanitize(tgui_input_text(ui.user, "Code 401 Unauthorized. Please enter password:", "Password required")) if(pass != remote.server_password) error = "Incorrect Password" return @@ -152,7 +152,7 @@ var/global/nttransfer_uid = 0 provided_file = null return TRUE if("PRG_setpassword") - var/pass = sanitize(tgui_input_text(usr, "Enter new server password. Leave blank to cancel, input 'none' to disable password.", "Server security", "none")) + var/pass = sanitize(tgui_input_text(ui.user, "Enter new server password. Leave blank to cancel, input 'none' to disable password.", "Server security", "none")) if(!pass) return if(pass == "none") diff --git a/code/modules/modular_computers/file_system/programs/generic/wordprocessor.dm b/code/modules/modular_computers/file_system/programs/generic/wordprocessor.dm index 599f79fe786..1511ce15c0b 100644 --- a/code/modules/modular_computers/file_system/programs/generic/wordprocessor.dm +++ b/code/modules/modular_computers/file_system/programs/generic/wordprocessor.dm @@ -19,7 +19,7 @@ category = PROG_OFFICE /datum/computer_file/program/wordprocessor/proc/get_file(var/filename) - var/obj/item/weapon/computer_hardware/hard_drive/HDD = computer.hard_drive + var/obj/item/computer_hardware/hard_drive/HDD = computer.hard_drive if(!HDD) return var/datum/computer_file/data/F = HDD.find_file_by_name(filename) @@ -40,7 +40,7 @@ F = create_file(filename, loaded_data) return !isnull(F) var/datum/computer_file/data/backup = F.clone() - var/obj/item/weapon/computer_hardware/hard_drive/HDD = computer.hard_drive + var/obj/item/computer_hardware/hard_drive/HDD = computer.hard_drive if(!HDD) return HDD.remove_file(F) @@ -55,7 +55,7 @@ /datum/computer_file/program/wordprocessor/proc/create_file(var/newname, var/data = "") if(!newname) return - var/obj/item/weapon/computer_hardware/hard_drive/HDD = computer.hard_drive + var/obj/item/computer_hardware/hard_drive/HDD = computer.hard_drive if(!HDD) return if(get_file(newname)) @@ -74,11 +74,11 @@ switch(action) if("PRG_txtrpeview") - show_browser(usr,"[open_file][pencode2html(loaded_data)]", "window=[open_file]") + show_browser(ui.user,"[open_file][pencode2html(loaded_data)]", "window=[open_file]") return TRUE if("PRG_taghelp") - to_chat(usr, "The hologram of a googly-eyed paper clip helpfully tells you:") + to_chat(ui.user, span_notice("The hologram of a googly-eyed paper clip helpfully tells you:")) var/help = {" \[br\] : Creates a linebreak. \[center\] - \[/center\] : Centers the text. @@ -104,7 +104,7 @@ \[redlogo\] - Inserts red NT logo image. \[sglogo\] - Inserts Solgov insignia image."} - to_chat(usr, help) + to_chat(ui.user, help) return TRUE if("PRG_closebrowser") @@ -121,7 +121,7 @@ if("PRG_openfile") if(is_edited) - if(tgui_alert(usr, "Would you like to save your changes first?","Save Changes",list("Yes","No")) == "Yes") + if(tgui_alert(ui.user, "Would you like to save your changes first?","Save Changes",list("Yes","No")) == "Yes") save_file(open_file) browsing = 0 if(!open_file(params["PRG_openfile"])) @@ -130,10 +130,10 @@ if("PRG_newfile") if(is_edited) - if(tgui_alert(usr, "Would you like to save your changes first?","Save Changes",list("Yes","No")) == "Yes") + if(tgui_alert(ui.user, "Would you like to save your changes first?","Save Changes",list("Yes","No")) == "Yes") save_file(open_file) - var/newname = sanitize(tgui_input_text(usr, "Enter file name:", "New File")) + var/newname = sanitize(tgui_input_text(ui.user, "Enter file name:", "New File")) if(!newname) return TRUE var/datum/computer_file/data/F = create_file(newname) @@ -146,7 +146,7 @@ return TRUE if("PRG_saveasfile") - var/newname = sanitize(tgui_input_text(usr, "Enter file name:", "Save As")) + var/newname = sanitize(tgui_input_text(ui.user, "Enter file name:", "Save As")) if(!newname) return TRUE var/datum/computer_file/data/F = create_file(newname, loaded_data) @@ -158,7 +158,7 @@ if("PRG_savefile") if(!open_file) - open_file = sanitize(tgui_input_text(usr, "Enter file name:", "Save As")) + open_file = sanitize(tgui_input_text(ui.user, "Enter file name:", "Save As")) if(!open_file) return 0 if(!save_file(open_file)) @@ -169,7 +169,7 @@ var/oldtext = html_decode(loaded_data) oldtext = replacetext(oldtext, "\[br\]", "\n") - var/newtext = sanitize(replacetext(tgui_input_text(usr, "Editing file '[open_file]'. You may use most tags used in paper formatting:", "Text Editor", oldtext, MAX_TEXTFILE_LENGTH, TRUE, prevent_enter = TRUE), "\n", "\[br\]"), MAX_TEXTFILE_LENGTH) + var/newtext = sanitize(replacetext(tgui_input_text(ui.user, "Editing file '[open_file]'. You may use most tags used in paper formatting:", "Text Editor", oldtext, MAX_TEXTFILE_LENGTH, TRUE, prevent_enter = TRUE), "\n", "\[br\]"), MAX_TEXTFILE_LENGTH) if(!newtext) return loaded_data = newtext @@ -188,8 +188,8 @@ /datum/computer_file/program/wordprocessor/tgui_data(mob/user, datum/tgui/ui, datum/tgui_state/state) var/list/data = get_header_data() - var/obj/item/weapon/computer_hardware/hard_drive/HDD = computer.hard_drive - var/obj/item/weapon/computer_hardware/hard_drive/portable/RHDD = computer.portable_drive + var/obj/item/computer_hardware/hard_drive/HDD = computer.hard_drive + var/obj/item/computer_hardware/hard_drive/portable/RHDD = computer.portable_drive data["error"] = null if(error) data["error"] = error diff --git a/code/modules/modular_computers/file_system/programs/research/email_administration.dm b/code/modules/modular_computers/file_system/programs/research/email_administration.dm index fbcaf7df1b1..cf3b7e1bd15 100644 --- a/code/modules/modular_computers/file_system/programs/research/email_administration.dm +++ b/code/modules/modular_computers/file_system/programs/research/email_administration.dm @@ -66,8 +66,8 @@ return TRUE // High security - can only be operated when the user has an ID with access on them. - var/obj/item/weapon/card/id/I = usr.GetIdCard() - if(!istype(I) || !(access_network in I.access)) + var/obj/item/card/id/I = ui.user.GetIdCard() + if(!istype(I) || !(access_network in I.GetAccess())) return TRUE switch(action) @@ -93,7 +93,7 @@ if(!current_account) return TRUE - var/newpass = sanitize(tgui_input_text(usr,"Enter new password for account [current_account.login]", "Password", null, 100), 100) + var/newpass = sanitize(tgui_input_text(ui.user,"Enter new password for account [current_account.login]", "Password", null, 100), 100) if(!newpass) return TRUE current_account.password = newpass @@ -118,10 +118,10 @@ return TRUE if("newaccount") - var/newdomain = sanitize(tgui_input_list(usr,"Pick domain:", "Domain name", using_map.usable_email_tlds)) + var/newdomain = sanitize(tgui_input_list(ui.user,"Pick domain:", "Domain name", using_map.usable_email_tlds)) if(!newdomain) return TRUE - var/newlogin = sanitize(tgui_input_text(usr,"Pick account name (@[newdomain]):", "Account name", null, 100), 100) + var/newlogin = sanitize(tgui_input_text(ui.user,"Pick account name (@[newdomain]):", "Account name", null, 100), 100) if(!newlogin) return TRUE diff --git a/code/modules/modular_computers/file_system/programs/research/ntmonitor.dm b/code/modules/modular_computers/file_system/programs/research/ntmonitor.dm index c74d927b9f8..35089223357 100644 --- a/code/modules/modular_computers/file_system/programs/research/ntmonitor.dm +++ b/code/modules/modular_computers/file_system/programs/research/ntmonitor.dm @@ -60,8 +60,8 @@ ntnet_global.setting_disabled = FALSE return TRUE - var/response = tgui_alert(usr, "Really disable NTNet wireless? If your computer is connected wirelessly you won't be able to turn it back on! This will affect all connected wireless devices.", "NTNet shutdown", list("Yes", "No")) - if(response == "Yes" && tgui_status(usr, state) == STATUS_INTERACTIVE) + var/response = tgui_alert(ui.user, "Really disable NTNet wireless? If your computer is connected wirelessly you won't be able to turn it back on! This will affect all connected wireless devices.", "NTNet shutdown", list("Yes", "No")) + if(response == "Yes" && tgui_status(ui.user, state) == STATUS_INTERACTIVE) ntnet_global.setting_disabled = TRUE return TRUE if("purgelogs") @@ -81,14 +81,14 @@ if("ban_nid") if(!ntnet_global) return - var/nid = tgui_input_number(usr,"Enter NID of device which you want to block from the network:", "Enter NID") - if(nid && tgui_status(usr, state) == STATUS_INTERACTIVE) + var/nid = tgui_input_number(ui.user,"Enter NID of device which you want to block from the network:", "Enter NID") + if(nid && tgui_status(ui.user, state) == STATUS_INTERACTIVE) ntnet_global.banned_nids |= nid return TRUE if("unban_nid") if(!ntnet_global) return - var/nid = tgui_input_number(usr,"Enter NID of device which you want to unblock from the network:", "Enter NID") - if(nid && tgui_status(usr, state) == STATUS_INTERACTIVE) + var/nid = tgui_input_number(ui.user,"Enter NID of device which you want to unblock from the network:", "Enter NID") + if(nid && tgui_status(ui.user, state) == STATUS_INTERACTIVE) ntnet_global.banned_nids -= nid return TRUE diff --git a/code/modules/modular_computers/file_system/programs/security/digitalwarrant.dm b/code/modules/modular_computers/file_system/programs/security/digitalwarrant.dm index eea7f5e306d..85f8ceb0877 100644 --- a/code/modules/modular_computers/file_system/programs/security/digitalwarrant.dm +++ b/code/modules/modular_computers/file_system/programs/security/digitalwarrant.dm @@ -72,19 +72,19 @@ var/warrant_uid = 0 // The following actions will only be possible if the user has an ID with security access equipped. This is in line with modular computer framework's authentication methods, // which also use RFID scanning to allow or disallow access to some functions. Anyone can view warrants, editing requires ID. This also prevents situations where you show a tablet // to someone who is to be arrested, which allows them to change the stuff there. - var/obj/item/weapon/card/id/I = usr.GetIdCard() - if(!istype(I) || !I.registered_name || !(access_security in I.access)) - to_chat(usr, "Authentication error: Unable to locate ID with appropriate access to allow this operation.") + var/obj/item/card/id/I = ui.user.GetIdCard() + if(!istype(I) || !I.registered_name || !(access_security in I.GetAccess())) + to_chat(ui.user, "Authentication error: Unable to locate ID with appropriate access to allow this operation.") return switch(action) if("addwarrant") . = TRUE var/datum/data/record/warrant/W = new() - var/temp = tgui_alert(usr, "Do you want to create a search-, or an arrest warrant?", "Warrant Type", list("Search","Arrest","Cancel")) + var/temp = tgui_alert(ui.user, "Do you want to create a search-, or an arrest warrant?", "Warrant Type", list("Search","Arrest","Cancel")) if(!temp) return - if(tgui_status(usr, state) == STATUS_INTERACTIVE) + if(tgui_status(ui.user, state) == STATUS_INTERACTIVE) if(temp == "Arrest") W.fields["namewarrant"] = "Unknown" W.fields["charges"] = "No charges present" @@ -112,31 +112,31 @@ var/warrant_uid = 0 var/namelist = list() for(var/datum/data/record/t in data_core.general) namelist += t.fields["name"] - var/new_name = sanitize(tgui_input_list(usr, "Please input name:", "Name Choice", namelist)) - if(tgui_status(usr, state) == STATUS_INTERACTIVE) + var/new_name = sanitize(tgui_input_list(ui.user, "Please input name:", "Name Choice", namelist)) + if(tgui_status(ui.user, state) == STATUS_INTERACTIVE) if (!new_name) return activewarrant.fields["namewarrant"] = new_name if("editwarrantnamecustom") . = TRUE - var/new_name = sanitize(tgui_input_text(usr, "Please input name")) - if(tgui_status(usr, state) == STATUS_INTERACTIVE) + var/new_name = sanitize(tgui_input_text(ui.user, "Please input name")) + if(tgui_status(ui.user, state) == STATUS_INTERACTIVE) if (!new_name) return activewarrant.fields["namewarrant"] = new_name if("editwarrantcharges") . = TRUE - var/new_charges = sanitize(tgui_input_text(usr, "Please input charges", "Charges", activewarrant.fields["charges"])) - if(tgui_status(usr, state) == STATUS_INTERACTIVE) + var/new_charges = sanitize(tgui_input_text(ui.user, "Please input charges", "Charges", activewarrant.fields["charges"])) + if(tgui_status(ui.user, state) == STATUS_INTERACTIVE) if (!new_charges) return activewarrant.fields["charges"] = new_charges if("editwarrantauth") . = TRUE - if(!(access_hos in I.access)) // VOREStation edit begin - to_chat(usr, "You don't have the access to do this!") + if(!(access_hos in I.GetAccess())) // VOREStation edit begin + to_chat(ui.user, span_warning("You don't have the access to do this!")) return // VOREStation edit end activewarrant.fields["auth"] = "[I.registered_name] - [I.assignment ? I.assignment : "(Unknown)"]" diff --git a/code/modules/modular_computers/hardware/_hardware.dm b/code/modules/modular_computers/hardware/_hardware.dm index 10a97887e05..f4ff407fe1c 100644 --- a/code/modules/modular_computers/hardware/_hardware.dm +++ b/code/modules/modular_computers/hardware/_hardware.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/computer_hardware/ +/obj/item/computer_hardware/ name = "Hardware" desc = "Unknown Hardware." icon = 'icons/obj/modular_components.dmi' @@ -26,9 +26,9 @@ /// Whether attackby will be passed on it even with a closed panel var/external_slot -/obj/item/weapon/computer_hardware/attackby(obj/item/W as obj, mob/living/user as mob) +/obj/item/computer_hardware/attackby(obj/item/W as obj, mob/living/user as mob) // Multitool. Runs diagnostics - if(istype(W, /obj/item/device/multitool)) + if(istype(W, /obj/item/multitool)) to_chat(user, "***** DIAGNOSTICS REPORT *****") diagnostics(user) to_chat(user, "******************************") @@ -56,22 +56,22 @@ /// Returns a list of lines containing diagnostic information for display. -/obj/item/weapon/computer_hardware/proc/diagnostics(var/mob/user) +/obj/item/computer_hardware/proc/diagnostics(var/mob/user) to_chat(user, "Hardware Integrity Test... (Corruption: [damage]/[max_damage]) [damage > damage_failure ? "FAIL" : damage > damage_malfunction ? "WARN" : "PASS"]") -/obj/item/weapon/computer_hardware/New(var/obj/L) +/obj/item/computer_hardware/New(var/obj/L) ..() w_class = hardware_size if(istype(L, /obj/item/modular_computer)) holder2 = L return -/obj/item/weapon/computer_hardware/Destroy() +/obj/item/computer_hardware/Destroy() holder2 = null return ..() /// Handles damage checks -/obj/item/weapon/computer_hardware/proc/check_functionality() +/obj/item/computer_hardware/proc/check_functionality() // Turned off if(!enabled) return FALSE @@ -85,16 +85,16 @@ // Good to go. return TRUE -/obj/item/weapon/computer_hardware/examine(var/mob/user) +/obj/item/computer_hardware/examine(var/mob/user) . = ..() if(damage > damage_failure) - . += "It seems to be severely damaged!" + . += span_danger("It seems to be severely damaged!") else if(damage > damage_malfunction) - . += "It seems to be damaged!" + . += span_notice("It seems to be damaged!") else if(damage) . += "It seems to be slightly damaged." /// Damages the component. Contains necessary checks. Negative damage "heals" the component. -/obj/item/weapon/computer_hardware/take_damage(var/amount) +/obj/item/computer_hardware/take_damage(var/amount) damage += round(amount) // We want nice rounded numbers here. damage = between(0, damage, max_damage) // Clamp the value. diff --git a/code/modules/modular_computers/hardware/battery_module.dm b/code/modules/modular_computers/hardware/battery_module.dm index df16c5864fa..17c9a687d01 100644 --- a/code/modules/modular_computers/hardware/battery_module.dm +++ b/code/modules/modular_computers/hardware/battery_module.dm @@ -1,6 +1,6 @@ // This device is wrapper for actual power cell. I have decided to not use power cells directly as even low-end cells available on station // have tremendeous capacity in comparsion. Higher tier cells would provide your device with nearly infinite battery life, which is something i want to avoid. -/obj/item/weapon/computer_hardware/battery_module +/obj/item/computer_hardware/battery_module name = "standard battery" desc = "A standard power cell, commonly seen in high-end portable microcomputers or low-end laptops. It's rating is 750." icon_state = "battery_normal" @@ -8,9 +8,9 @@ malfunction_probability = 1 origin_tech = list(TECH_POWER = 1, TECH_ENGINEERING = 1) var/battery_rating = 750 - var/obj/item/weapon/cell/battery = null + var/obj/item/cell/battery = null -/obj/item/weapon/computer_hardware/battery_module/advanced +/obj/item/computer_hardware/battery_module/advanced name = "advanced battery" desc = "An advanced power cell, often used in most laptops. It is too large to be fitted into smaller devices. It's rating is 1100." icon_state = "battery_advanced" @@ -18,7 +18,7 @@ hardware_size = 2 battery_rating = 1100 -/obj/item/weapon/computer_hardware/battery_module/super +/obj/item/computer_hardware/battery_module/super name = "super battery" desc = "A very advanced power cell, often used in high-end devices, or as uninterruptable power supply for important consoles or servers. It's rating is 1500." icon_state = "battery_super" @@ -26,7 +26,7 @@ hardware_size = 2 battery_rating = 1500 -/obj/item/weapon/computer_hardware/battery_module/ultra +/obj/item/computer_hardware/battery_module/ultra name = "ultra battery" desc = "A very advanced large power cell. It's often used as uninterruptable power supply for critical consoles or servers. It's rating is 2000." icon_state = "battery_ultra" @@ -34,14 +34,14 @@ hardware_size = 3 battery_rating = 2000 -/obj/item/weapon/computer_hardware/battery_module/micro +/obj/item/computer_hardware/battery_module/micro name = "micro battery" desc = "A small power cell, commonly seen in most portable microcomputers. It's rating is 500." icon_state = "battery_micro" origin_tech = list(TECH_POWER = 2, TECH_ENGINEERING = 2) battery_rating = 500 -/obj/item/weapon/computer_hardware/battery_module/nano +/obj/item/computer_hardware/battery_module/nano name = "nano battery" desc = "A tiny power cell, commonly seen in low-end portable microcomputers. It's rating is 300." icon_state = "battery_nano" @@ -49,34 +49,34 @@ battery_rating = 300 // This is not intended to be obtainable in-game. Intended for adminbus and debugging purposes. -/obj/item/weapon/computer_hardware/battery_module/lambda +/obj/item/computer_hardware/battery_module/lambda name = "lambda coil" desc = "A very complex power source compatible with various computers. It is capable of providing power for nearly unlimited duration." icon_state = "battery_lambda" hardware_size = 1 battery_rating = 30000 -/obj/item/weapon/computer_hardware/battery_module/lambda/New() +/obj/item/computer_hardware/battery_module/lambda/New() ..() - battery = new/obj/item/weapon/cell/infinite(src) + battery = new/obj/item/cell/infinite(src) -/obj/item/weapon/computer_hardware/battery_module/diagnostics(var/mob/user) +/obj/item/computer_hardware/battery_module/diagnostics(var/mob/user) ..() to_chat(user, "Internal battery charge: [battery.charge]/[battery.maxcharge] CU") -/obj/item/weapon/computer_hardware/battery_module/New() - battery = new/obj/item/weapon/cell(src) +/obj/item/computer_hardware/battery_module/New() + battery = new/obj/item/cell(src) battery.maxcharge = battery_rating battery.charge = 0 ..() -/obj/item/weapon/computer_hardware/battery_module/Destroy() +/obj/item/computer_hardware/battery_module/Destroy() qdel_null(battery) return ..() -/obj/item/weapon/computer_hardware/battery_module/proc/charge_to_full() +/obj/item/computer_hardware/battery_module/proc/charge_to_full() if(battery) battery.charge = battery.maxcharge -/obj/item/weapon/computer_hardware/battery_module/get_cell() +/obj/item/computer_hardware/battery_module/get_cell() return battery \ No newline at end of file diff --git a/code/modules/modular_computers/hardware/card_slot.dm b/code/modules/modular_computers/hardware/card_slot.dm index 4cf8afc705f..219ce0c7ea4 100644 --- a/code/modules/modular_computers/hardware/card_slot.dm +++ b/code/modules/modular_computers/hardware/card_slot.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/computer_hardware/card_slot +/obj/item/computer_hardware/card_slot name = "RFID card slot" desc = "Slot that allows this computer to write data on RFID cards. Necessary for some programs to run properly." power_usage = 10 //W @@ -7,9 +7,9 @@ hardware_size = 1 origin_tech = list(TECH_DATA = 2) - var/obj/item/weapon/card/id/stored_card = null + var/obj/item/card/id/stored_card = null -/obj/item/weapon/computer_hardware/card_slot/Destroy() +/obj/item/computer_hardware/card_slot/Destroy() if(holder2 && (holder2.card_slot == src)) holder2.card_slot = null if(stored_card) diff --git a/code/modules/modular_computers/hardware/hard_drive.dm b/code/modules/modular_computers/hardware/hard_drive.dm index 09ccde9e499..e78bf0eafa8 100644 --- a/code/modules/modular_computers/hardware/hard_drive.dm +++ b/code/modules/modular_computers/hardware/hard_drive.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/computer_hardware/hard_drive/ +/obj/item/computer_hardware/hard_drive/ name = "basic hard drive" desc = "A small power efficient solid state drive, with 128GQ of storage capacity for use in basic computers where power efficiency is desired." power_usage = 25 // SSD or something with low power usage @@ -13,7 +13,7 @@ /// Whether drive is protected against changes var/read_only = FALSE -/obj/item/weapon/computer_hardware/hard_drive/advanced +/obj/item/computer_hardware/hard_drive/advanced name = "advanced hard drive" desc = "A small hybrid hard drive with 256GQ of storage capacity for use in higher grade computers where balance between power efficiency and capacity is desired." max_capacity = 256 @@ -22,7 +22,7 @@ icon_state = "hdd_advanced" hardware_size = 2 -/obj/item/weapon/computer_hardware/hard_drive/super +/obj/item/computer_hardware/hard_drive/super name = "super hard drive" desc = "A small hard drive with 512GQ of storage capacity for use in cluster storage solutions where capacity is more important than power efficiency." max_capacity = 512 @@ -31,7 +31,7 @@ icon_state = "hdd_super" hardware_size = 2 -/obj/item/weapon/computer_hardware/hard_drive/cluster +/obj/item/computer_hardware/hard_drive/cluster name = "cluster hard drive" desc = "A large storage cluster consisting of multiple hard drives for usage in high capacity storage systems. Has capacity of 2048 GQ." power_usage = 500 @@ -41,7 +41,7 @@ hardware_size = 3 // For tablets, etc. - highly power efficient. -/obj/item/weapon/computer_hardware/hard_drive/small +/obj/item/computer_hardware/hard_drive/small name = "small hard drive" desc = "A small highly efficient solid state drive for portable devices." power_usage = 10 @@ -50,7 +50,7 @@ icon_state = "hdd_small" hardware_size = 1 -/obj/item/weapon/computer_hardware/hard_drive/micro +/obj/item/computer_hardware/hard_drive/micro name = "micro hard drive" desc = "A small micro hard drive for portable devices." power_usage = 2 @@ -59,7 +59,7 @@ icon_state = "hdd_micro" hardware_size = 1 -/obj/item/weapon/computer_hardware/hard_drive/diagnostics(var/mob/user) +/obj/item/computer_hardware/hard_drive/diagnostics(var/mob/user) ..() // 999 is a byond limit that is in place. It's unlikely someone will reach that many files anyway, since you would sooner run out of space. to_chat(user, "NT-NFS File Table Status: [stored_files.len]/999") @@ -67,7 +67,7 @@ to_chat(user, "Read-only mode: [(read_only ? "ON" : "OFF")]") // Use this proc to add file to the drive. Returns 1 on success and 0 on failure. Contains necessary sanity checks. -/obj/item/weapon/computer_hardware/hard_drive/proc/store_file(var/datum/computer_file/F) +/obj/item/computer_hardware/hard_drive/proc/store_file(var/datum/computer_file/F) if(!F || !istype(F)) return 0 @@ -90,14 +90,14 @@ return 1 // Use this proc to add file to the drive. Returns 1 on success and 0 on failure. Contains necessary sanity checks. -/obj/item/weapon/computer_hardware/hard_drive/proc/install_default_programs() +/obj/item/computer_hardware/hard_drive/proc/install_default_programs() store_file(new/datum/computer_file/program/computerconfig(src)) // Computer configuration utility, allows hardware control and displays more info than status bar store_file(new/datum/computer_file/program/ntnetdownload(src)) // NTNet Downloader Utility, allows users to download more software from NTNet repository store_file(new/datum/computer_file/program/filemanager(src)) // File manager, allows text editor functions and basic file manipulation. // Use this proc to remove file from the drive. Returns 1 on success and 0 on failure. Contains necessary sanity checks. -/obj/item/weapon/computer_hardware/hard_drive/proc/remove_file(var/datum/computer_file/F) +/obj/item/computer_hardware/hard_drive/proc/remove_file(var/datum/computer_file/F) if(!F || !istype(F)) return 0 @@ -115,7 +115,7 @@ return 0 // Loops through all stored files and recalculates used_capacity of this drive -/obj/item/weapon/computer_hardware/hard_drive/proc/recalculate_size() +/obj/item/computer_hardware/hard_drive/proc/recalculate_size() var/total_size = 0 for(var/datum/computer_file/F in stored_files) total_size += F.size @@ -123,7 +123,7 @@ used_capacity = total_size // Checks whether file can be stored on the hard drive. -/obj/item/weapon/computer_hardware/hard_drive/proc/can_store_file(var/size = 1) +/obj/item/computer_hardware/hard_drive/proc/can_store_file(var/size = 1) // In the unlikely event someone manages to create that many files. // BYOND is acting weird with numbers above 999 in loops (infinite loop prevention) if(stored_files.len >= 999) @@ -134,7 +134,7 @@ return 1 // Checks whether we can store the file. We can only store unique files, so this checks whether we wouldn't get a duplicity by adding a file. -/obj/item/weapon/computer_hardware/hard_drive/proc/try_store_file(var/datum/computer_file/F) +/obj/item/computer_hardware/hard_drive/proc/try_store_file(var/datum/computer_file/F) if(!F || !istype(F)) return 0 var/name = F.filename + "." + F.filetype @@ -146,7 +146,7 @@ // Tries to find the file by filename. Returns null on failure -/obj/item/weapon/computer_hardware/hard_drive/proc/find_file_by_name(var/filename) +/obj/item/computer_hardware/hard_drive/proc/find_file_by_name(var/filename) if(!check_functionality()) return null @@ -162,7 +162,7 @@ return null // Tries to find the file by unique ID. Returns null on failure -/obj/item/weapon/computer_hardware/hard_drive/proc/find_file_by_uid(var/uid) +/obj/item/computer_hardware/hard_drive/proc/find_file_by_uid(var/uid) if(!check_functionality()) return null @@ -176,12 +176,12 @@ if(F.uid == uid) return F -/obj/item/weapon/computer_hardware/hard_drive/Destroy() +/obj/item/computer_hardware/hard_drive/Destroy() if(holder2 && (holder2.hard_drive == src)) holder2.hard_drive = null stored_files = null return ..() -/obj/item/weapon/computer_hardware/hard_drive/New() +/obj/item/computer_hardware/hard_drive/New() install_default_programs() ..() diff --git a/code/modules/modular_computers/hardware/nano_printer.dm b/code/modules/modular_computers/hardware/nano_printer.dm index 665b855f4fd..bdd45f08f4e 100644 --- a/code/modules/modular_computers/hardware/nano_printer.dm +++ b/code/modules/modular_computers/hardware/nano_printer.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/computer_hardware/nano_printer +/obj/item/computer_hardware/nano_printer name = "nano printer" desc = "Small integrated printer with paper recycling module." power_usage = 50 @@ -9,11 +9,11 @@ var/stored_paper = 5 var/max_paper = 10 -/obj/item/weapon/computer_hardware/nano_printer/diagnostics(var/mob/user) +/obj/item/computer_hardware/nano_printer/diagnostics(var/mob/user) ..() to_chat(user, "Paper buffer level: [stored_paper]/[max_paper]") -/obj/item/weapon/computer_hardware/nano_printer/proc/print_text(var/text_to_print, var/paper_title = null) +/obj/item/computer_hardware/nano_printer/proc/print_text(var/text_to_print, var/paper_title = null) if(!stored_paper) return 0 if(!enabled) @@ -21,7 +21,7 @@ if(!check_functionality()) return 0 - var/obj/item/weapon/paper/P = new/obj/item/weapon/paper(get_turf(holder2)) + var/obj/item/paper/P = new/obj/item/paper(get_turf(holder2)) // Damaged printer causes the resulting paper to be somewhat harder to read. if(damage > damage_malfunction) @@ -37,8 +37,8 @@ stored_paper-- return 1 -/obj/item/weapon/computer_hardware/nano_printer/proc/count_fields(var/info) -//Count the fields. This is taken directly from paper.dm, /obj/item/weapon/paper/proc/parsepencode(). -Hawk_v3 +/obj/item/computer_hardware/nano_printer/proc/count_fields(var/info) +//Count the fields. This is taken directly from paper.dm, /obj/item/paper/proc/parsepencode(). -Hawk_v3 var/fields = 0 var/t = info var/laststart = 1 @@ -50,8 +50,8 @@ fields++ return fields -/obj/item/weapon/computer_hardware/nano_printer/attackby(obj/item/W as obj, mob/user as mob) - if(istype(W, /obj/item/weapon/paper)) +/obj/item/computer_hardware/nano_printer/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W, /obj/item/paper)) if(stored_paper >= max_paper) to_chat(user, "You try to add \the [W] into \the [src], but its paper bin is full.") return @@ -59,14 +59,14 @@ to_chat(user, "You insert \the [W] into [src].") qdel(W) stored_paper++ - else if(istype(W, /obj/item/weapon/paper_bundle)) - var/obj/item/weapon/paper_bundle/B = W + else if(istype(W, /obj/item/paper_bundle)) + var/obj/item/paper_bundle/B = W var/num_of_pages_added = 0 if(stored_paper >= max_paper) to_chat(user, "You try to add \the [W] into \the [src], but its paper bin is full.") return - for(var/obj/item/weapon/bundleitem in B) //loop through items in bundle - if(istype(bundleitem, /obj/item/weapon/paper)) //if item is paper (and not photo), add into the bin + for(var/obj/item/bundleitem in B) //loop through items in bundle + if(istype(bundleitem, /obj/item/paper)) //if item is paper (and not photo), add into the bin B.pages.Remove(bundleitem) qdel(bundleitem) num_of_pages_added++ @@ -85,7 +85,7 @@ to_chat(user, "You add [num_of_pages_added] papers from \the [W] into \the [src].") return -/obj/item/weapon/computer_hardware/nano_printer/Destroy() +/obj/item/computer_hardware/nano_printer/Destroy() if(holder2 && (holder2.nano_printer == src)) holder2.nano_printer = null holder2 = null diff --git a/code/modules/modular_computers/hardware/network_card.dm b/code/modules/modular_computers/hardware/network_card.dm index b3b37ab54f1..6cb5fc0dd3c 100644 --- a/code/modules/modular_computers/hardware/network_card.dm +++ b/code/modules/modular_computers/hardware/network_card.dm @@ -1,6 +1,6 @@ var/global/ntnet_card_uid = 1 -/obj/item/weapon/computer_hardware/network_card/ +/obj/item/computer_hardware/network_card/ name = "basic NTNet network card" desc = "A basic network card for usage with standard NTNet frequencies." power_usage = 50 @@ -22,7 +22,7 @@ var/global/ntnet_card_uid = 1 /// If set, uses the value to funnel connections through another network card. var/proxy_id -/obj/item/weapon/computer_hardware/network_card/diagnostics(var/mob/user) +/obj/item/computer_hardware/network_card/diagnostics(var/mob/user) ..() to_chat(user, "NIX Unique ID: [identification_id]") to_chat(user, "NIX User Tag: [identification_string]") @@ -33,12 +33,12 @@ var/global/ntnet_card_uid = 1 if(ethernet) to_chat(user, "OpenEth (Physical Connection) - Physical network connection port") -/obj/item/weapon/computer_hardware/network_card/New(var/l) +/obj/item/computer_hardware/network_card/New(var/l) ..(l) identification_id = ntnet_card_uid ntnet_card_uid++ -/obj/item/weapon/computer_hardware/network_card/advanced +/obj/item/computer_hardware/network_card/advanced name = "advanced NTNet network card" desc = "An advanced network card for usage with standard NTNet frequencies. It's transmitter is strong enough to connect even when far away." long_range = 1 @@ -47,7 +47,7 @@ var/global/ntnet_card_uid = 1 icon_state = "netcard_advanced" hardware_size = 1 -/obj/item/weapon/computer_hardware/network_card/quantum +/obj/item/computer_hardware/network_card/quantum name = "quantum NTNet network card" desc = "A network card that can connect to NTnet from anywhere, using quantum entanglement." long_range = 1 @@ -56,7 +56,7 @@ var/global/ntnet_card_uid = 1 icon_state = "netcard_advanced" hardware_size = 1 -/obj/item/weapon/computer_hardware/network_card/quantum/get_signal(var/specific_action = 0) +/obj/item/computer_hardware/network_card/quantum/get_signal(var/specific_action = 0) if(!holder2) return 0 @@ -68,7 +68,7 @@ var/global/ntnet_card_uid = 1 return 2 -/obj/item/weapon/computer_hardware/network_card/wired +/obj/item/computer_hardware/network_card/wired name = "wired NTNet network card" desc = "An advanced network card for usage with standard NTNet frequencies. This one also supports wired connection." ethernet = 1 @@ -77,21 +77,21 @@ var/global/ntnet_card_uid = 1 icon_state = "netcard_ethernet" hardware_size = 3 -/obj/item/weapon/computer_hardware/network_card/Destroy() +/obj/item/computer_hardware/network_card/Destroy() if(holder2 && (holder2.network_card == src)) holder2.network_card = null holder2 = null return ..() // Returns a string identifier of this network card -/obj/item/weapon/computer_hardware/network_card/proc/get_network_tag() +/obj/item/computer_hardware/network_card/proc/get_network_tag() return "[identification_string] (NID [identification_id])" -/obj/item/weapon/computer_hardware/network_card/proc/is_banned() +/obj/item/computer_hardware/network_card/proc/is_banned() return ntnet_global.check_banned(identification_id) // 0 - No signal, 1 - Low signal, 2 - High signal. 3 - Wired Connection -/obj/item/weapon/computer_hardware/network_card/proc/get_signal(var/specific_action = 0) +/obj/item/computer_hardware/network_card/proc/get_signal(var/specific_action = 0) if(!holder2) // Hardware is not installed in anything. No signal. How did this even get called? return 0 @@ -133,7 +133,7 @@ var/global/ntnet_card_uid = 1 return best return 0 // No computer! -/obj/item/weapon/computer_hardware/network_card/Destroy() +/obj/item/computer_hardware/network_card/Destroy() if(holder2 && (holder2.network_card == src)) holder2.network_card = null return ..() diff --git a/code/modules/modular_computers/hardware/portable_hard_drive.dm b/code/modules/modular_computers/hardware/portable_hard_drive.dm index 817fca789e4..10302950c50 100644 --- a/code/modules/modular_computers/hardware/portable_hard_drive.dm +++ b/code/modules/modular_computers/hardware/portable_hard_drive.dm @@ -1,5 +1,5 @@ // These are basically USB data sticks and may be used to transfer files between devices -/obj/item/weapon/computer_hardware/hard_drive/portable +/obj/item/computer_hardware/hard_drive/portable name = "basic data crystal" desc = "Small crystal with imprinted photonic circuits that can be used to store data. Its capacity is 16 GQ." power_usage = 10 @@ -8,7 +8,7 @@ max_capacity = 16 origin_tech = list(TECH_DATA = 1) -/obj/item/weapon/computer_hardware/hard_drive/portable/advanced +/obj/item/computer_hardware/hard_drive/portable/advanced name = "advanced data crystal" desc = "Small crystal with imprinted high-density photonic circuits that can be used to store data. Its capacity is 64 GQ." power_usage = 20 @@ -17,7 +17,7 @@ max_capacity = 64 origin_tech = list(TECH_DATA = 2) -/obj/item/weapon/computer_hardware/hard_drive/portable/super +/obj/item/computer_hardware/hard_drive/portable/super name = "super data crystal" desc = "Small crystal with imprinted ultra-density photonic circuits that can be used to store data. Its capacity is 256 GQ." power_usage = 40 @@ -26,12 +26,12 @@ max_capacity = 256 origin_tech = list(TECH_DATA = 4) -/obj/item/weapon/computer_hardware/hard_drive/portable/New() +/obj/item/computer_hardware/hard_drive/portable/New() ..() stored_files = list() recalculate_size() -/obj/item/weapon/computer_hardware/hard_drive/portable/Destroy() +/obj/item/computer_hardware/hard_drive/portable/Destroy() if(holder2 && (holder2.portable_drive == src)) holder2.portable_drive = null return ..() \ No newline at end of file diff --git a/code/modules/modular_computers/hardware/processor_unit.dm b/code/modules/modular_computers/hardware/processor_unit.dm index 9ed7ab40ac7..49e0c27c5f2 100644 --- a/code/modules/modular_computers/hardware/processor_unit.dm +++ b/code/modules/modular_computers/hardware/processor_unit.dm @@ -1,7 +1,7 @@ // CPU that allows the computer to run programs. // Better CPUs are obtainable via research and can run more programs on background. -/obj/item/weapon/computer_hardware/processor_unit +/obj/item/computer_hardware/processor_unit name = "standard processor" desc = "A standard CPU used in most computers. It can run up to three programs simultaneously." icon_state = "cpu_normal" @@ -13,7 +13,7 @@ var/max_idle_programs = 2 // 2 idle, + 1 active = 3 as said in description. -/obj/item/weapon/computer_hardware/processor_unit/small +/obj/item/computer_hardware/processor_unit/small name = "standard microprocessor" desc = "A standard miniaturised CPU used in portable devices. It can run up to two programs simultaneously." icon_state = "cpu_small" @@ -22,7 +22,7 @@ max_idle_programs = 1 origin_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2) -/obj/item/weapon/computer_hardware/processor_unit/photonic +/obj/item/computer_hardware/processor_unit/photonic name = "photonic processor" desc = "An advanced experimental CPU that uses photonic core instead of regular circuitry. It can run up to five programs simultaneously, but uses a lot of power." icon_state = "cpu_normal_photonic" @@ -31,7 +31,7 @@ max_idle_programs = 4 origin_tech = list(TECH_DATA = 5, TECH_ENGINEERING = 4) -/obj/item/weapon/computer_hardware/processor_unit/photonic/small +/obj/item/computer_hardware/processor_unit/photonic/small name = "photonic microprocessor" desc = "An advanced miniaturised CPU for use in portable devices. It uses photonic core instead of regular circuitry. It can run up to three programs simultaneously." icon_state = "cpu_small_photonic" @@ -40,7 +40,7 @@ max_idle_programs = 2 origin_tech = list(TECH_DATA = 4, TECH_ENGINEERING = 3) -/obj/item/weapon/computer_hardware/processor_unit/Destroy() +/obj/item/computer_hardware/processor_unit/Destroy() if(holder2 && (holder2.processor_unit == src)) holder2.processor_unit = null return ..() \ No newline at end of file diff --git a/code/modules/modular_computers/hardware/tesla_link.dm b/code/modules/modular_computers/hardware/tesla_link.dm index b23bb963afa..c7ac4cb3b9f 100644 --- a/code/modules/modular_computers/hardware/tesla_link.dm +++ b/code/modules/modular_computers/hardware/tesla_link.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/computer_hardware/tesla_link +/obj/item/computer_hardware/tesla_link name = "tesla link" desc = "An advanced tesla link that wirelessly recharges connected device from nearby area power controller." critical = 0 @@ -8,7 +8,7 @@ origin_tech = list(TECH_DATA = 2, TECH_POWER = 3, TECH_ENGINEERING = 2) var/passive_charging_rate = 250 // W -/obj/item/weapon/computer_hardware/tesla_link/Destroy() +/obj/item/computer_hardware/tesla_link/Destroy() if(holder2 && (holder2.tesla_link == src)) holder2.tesla_link = null return ..() \ No newline at end of file diff --git a/code/modules/modular_computers/laptop_vendor.dm b/code/modules/modular_computers/laptop_vendor.dm index 0242ad2a1f1..b62b8600c84 100644 --- a/code/modules/modular_computers/laptop_vendor.dm +++ b/code/modules/modular_computers/laptop_vendor.dm @@ -55,108 +55,108 @@ switch(dev_cpu) if(1) if(fabricate) - fabricated_laptop.processor_unit = new/obj/item/weapon/computer_hardware/processor_unit/small(fabricated_laptop) + fabricated_laptop.processor_unit = new/obj/item/computer_hardware/processor_unit/small(fabricated_laptop) if(2) if(fabricate) - fabricated_laptop.processor_unit = new/obj/item/weapon/computer_hardware/processor_unit(fabricated_laptop) + fabricated_laptop.processor_unit = new/obj/item/computer_hardware/processor_unit(fabricated_laptop) total_price += 299 switch(dev_battery) if(1) // Basic(750C) if(fabricate) - fabricated_laptop.battery_module = new/obj/item/weapon/computer_hardware/battery_module(fabricated_laptop) + fabricated_laptop.battery_module = new/obj/item/computer_hardware/battery_module(fabricated_laptop) if(2) // Upgraded(1100C) if(fabricate) - fabricated_laptop.battery_module = new/obj/item/weapon/computer_hardware/battery_module/advanced(fabricated_laptop) + fabricated_laptop.battery_module = new/obj/item/computer_hardware/battery_module/advanced(fabricated_laptop) total_price += 199 if(3) // Advanced(1500C) if(fabricate) - fabricated_laptop.battery_module = new/obj/item/weapon/computer_hardware/battery_module/super(fabricated_laptop) + fabricated_laptop.battery_module = new/obj/item/computer_hardware/battery_module/super(fabricated_laptop) total_price += 499 switch(dev_disk) if(1) // Basic(128GQ) if(fabricate) - fabricated_laptop.hard_drive = new/obj/item/weapon/computer_hardware/hard_drive(fabricated_laptop) + fabricated_laptop.hard_drive = new/obj/item/computer_hardware/hard_drive(fabricated_laptop) if(2) // Upgraded(256GQ) if(fabricate) - fabricated_laptop.hard_drive = new/obj/item/weapon/computer_hardware/hard_drive/advanced(fabricated_laptop) + fabricated_laptop.hard_drive = new/obj/item/computer_hardware/hard_drive/advanced(fabricated_laptop) total_price += 99 if(3) // Advanced(512GQ) if(fabricate) - fabricated_laptop.hard_drive = new/obj/item/weapon/computer_hardware/hard_drive/super(fabricated_laptop) + fabricated_laptop.hard_drive = new/obj/item/computer_hardware/hard_drive/super(fabricated_laptop) total_price += 299 switch(dev_netcard) if(1) // Basic(Short-Range) if(fabricate) - fabricated_laptop.network_card = new/obj/item/weapon/computer_hardware/network_card(fabricated_laptop) + fabricated_laptop.network_card = new/obj/item/computer_hardware/network_card(fabricated_laptop) total_price += 99 if(2) // Advanced (Long Range) if(fabricate) - fabricated_laptop.network_card = new/obj/item/weapon/computer_hardware/network_card/advanced(fabricated_laptop) + fabricated_laptop.network_card = new/obj/item/computer_hardware/network_card/advanced(fabricated_laptop) total_price += 299 if(dev_tesla) total_price += 399 if(fabricate) - fabricated_laptop.tesla_link = new/obj/item/weapon/computer_hardware/tesla_link(fabricated_laptop) + fabricated_laptop.tesla_link = new/obj/item/computer_hardware/tesla_link(fabricated_laptop) if(dev_nanoprint) total_price += 99 if(fabricate) - fabricated_laptop.nano_printer = new/obj/item/weapon/computer_hardware/nano_printer(fabricated_laptop) + fabricated_laptop.nano_printer = new/obj/item/computer_hardware/nano_printer(fabricated_laptop) if(dev_card) total_price += 199 if(fabricate) - fabricated_laptop.card_slot = new/obj/item/weapon/computer_hardware/card_slot(fabricated_laptop) + fabricated_laptop.card_slot = new/obj/item/computer_hardware/card_slot(fabricated_laptop) return total_price else if(devtype == 2) // Tablet, more expensive, not everyone could probably afford this. if(fabricate) fabricated_tablet = new(src) - fabricated_tablet.processor_unit = new/obj/item/weapon/computer_hardware/processor_unit/small(fabricated_tablet) + fabricated_tablet.processor_unit = new/obj/item/computer_hardware/processor_unit/small(fabricated_tablet) total_price = 199 switch(dev_battery) if(1) // Basic(300C) if(fabricate) - fabricated_tablet.battery_module = new/obj/item/weapon/computer_hardware/battery_module/nano(fabricated_tablet) + fabricated_tablet.battery_module = new/obj/item/computer_hardware/battery_module/nano(fabricated_tablet) if(2) // Upgraded(500C) if(fabricate) - fabricated_tablet.battery_module = new/obj/item/weapon/computer_hardware/battery_module/micro(fabricated_tablet) + fabricated_tablet.battery_module = new/obj/item/computer_hardware/battery_module/micro(fabricated_tablet) total_price += 199 if(3) // Advanced(750C) if(fabricate) - fabricated_tablet.battery_module = new/obj/item/weapon/computer_hardware/battery_module(fabricated_tablet) + fabricated_tablet.battery_module = new/obj/item/computer_hardware/battery_module(fabricated_tablet) total_price += 499 switch(dev_disk) if(1) // Basic(32GQ) if(fabricate) - fabricated_tablet.hard_drive = new/obj/item/weapon/computer_hardware/hard_drive/micro(fabricated_tablet) + fabricated_tablet.hard_drive = new/obj/item/computer_hardware/hard_drive/micro(fabricated_tablet) if(2) // Upgraded(64GQ) if(fabricate) - fabricated_tablet.hard_drive = new/obj/item/weapon/computer_hardware/hard_drive/small(fabricated_tablet) + fabricated_tablet.hard_drive = new/obj/item/computer_hardware/hard_drive/small(fabricated_tablet) total_price += 99 if(3) // Advanced(128GQ) if(fabricate) - fabricated_tablet.hard_drive = new/obj/item/weapon/computer_hardware/hard_drive(fabricated_tablet) + fabricated_tablet.hard_drive = new/obj/item/computer_hardware/hard_drive(fabricated_tablet) total_price += 299 switch(dev_netcard) if(1) // Basic(Short-Range) if(fabricate) - fabricated_tablet.network_card = new/obj/item/weapon/computer_hardware/network_card(fabricated_tablet) + fabricated_tablet.network_card = new/obj/item/computer_hardware/network_card(fabricated_tablet) total_price += 99 if(2) // Advanced (Long Range) if(fabricate) - fabricated_tablet.network_card = new/obj/item/weapon/computer_hardware/network_card/advanced(fabricated_tablet) + fabricated_tablet.network_card = new/obj/item/computer_hardware/network_card/advanced(fabricated_tablet) total_price += 299 if(dev_nanoprint) total_price += 99 if(fabricate) - fabricated_tablet.nano_printer = new/obj/item/weapon/computer_hardware/nano_printer(fabricated_tablet) + fabricated_tablet.nano_printer = new/obj/item/computer_hardware/nano_printer(fabricated_tablet) if(dev_card) total_price += 199 if(fabricate) - fabricated_tablet.card_slot = new/obj/item/weapon/computer_hardware/card_slot(fabricated_tablet) + fabricated_tablet.card_slot = new/obj/item/computer_hardware/card_slot(fabricated_tablet) if(dev_tesla) total_price += 399 if(fabricate) - fabricated_tablet.tesla_link = new/obj/item/weapon/computer_hardware/tesla_link(fabricated_tablet) + fabricated_tablet.tesla_link = new/obj/item/computer_hardware/tesla_link(fabricated_tablet) return total_price return 0 @@ -246,11 +246,11 @@ return data -/obj/machinery/lapvend/attackby(obj/item/weapon/W as obj, mob/user as mob) - var/obj/item/weapon/card/id/I = W.GetID() +/obj/machinery/lapvend/attackby(obj/item/W as obj, mob/user as mob) + var/obj/item/card/id/I = W.GetID() // Awaiting payment state if(state == 2) - if(process_payment(I,W)) + if(process_payment(user, I,W)) fabricate_and_recalc_price(1) if((devtype == 1) && fabricated_laptop) if(fabricated_laptop.battery_module) @@ -274,18 +274,18 @@ return ..() // Simplified payment processing, returns 1 on success. -/obj/machinery/lapvend/proc/process_payment(var/obj/item/weapon/card/id/I, var/obj/item/ID_container) +/obj/machinery/lapvend/proc/process_payment(mob/user, var/obj/item/card/id/I, var/obj/item/ID_container) if(I==ID_container || ID_container == null) - visible_message("\The [usr] swipes \the [I] through \the [src].") + visible_message(span_info("\The [user] swipes \the [I] through \the [src].")) else - visible_message("\The [usr] swipes \the [ID_container] through \the [src].") + visible_message(span_info("\The [user] swipes \the [ID_container] through \the [src].")) var/datum/money_account/customer_account = get_account(I.associated_account_number) if (!customer_account || customer_account.suspended) ping("Connection error. Unable to connect to account.") return 0 if(customer_account.security_level != 0) //If card requires pin authentication (ie seclevel 1 or 2) - var/attempt_pin = tgui_input_number(usr, "Enter pin code", "Vendor transaction") + var/attempt_pin = tgui_input_number(user, "Enter pin code", "Vendor transaction") customer_account = attempt_account_access(I.associated_account_number, attempt_pin, 2) if(!customer_account) diff --git a/code/modules/multiz/hoist.dm b/code/modules/multiz/hoist.dm index d8c064f56e3..2151b9e9a7e 100644 --- a/code/modules/multiz/hoist.dm +++ b/code/modules/multiz/hoist.dm @@ -12,7 +12,7 @@ /obj/item/hoist_kit/attack_self(mob/user) new /obj/structure/hoist (get_turf(user), user.dir) - user.visible_message(span("warning", "[user] deploys the hoist kit!"), span("notice", "You deploy the hoist kit!"), span("notice", "You hear the sound of parts snapping into place.")) + user.visible_message(span_warning("[user] deploys the hoist kit!"), span_notice("You deploy the hoist kit!"), span_notice("You hear the sound of parts snapping into place.")) qdel(src) /obj/effect/hoist_hook @@ -33,13 +33,13 @@ return if (!AM.simulated || AM.anchored) - to_chat(user, span("notice", "You can't do that.")) + to_chat(user, span_notice("You can't do that.")) return if (source_hoist.hoistee) - to_chat(user, span("notice", "\The [source_hoist.hoistee] is already attached to \the [src]!")) + to_chat(user, span_notice("\The [source_hoist.hoistee] is already attached to \the [src]!")) return source_hoist.attach_hoistee(AM) - user.visible_message(span("danger", "[user] attaches \the [AM] to \the [src]."), span("danger", "You attach \the [AM] to \the [src]."), span("danger", "You hear something clamp into place.")) + user.visible_message(span_danger("[user] attaches \the [AM] to \the [src]."), span_danger("You attach \the [AM] to \the [src]."), span_danger("You hear something clamp into place.")) /obj/structure/hoist/proc/attach_hoistee(atom/movable/AM) if (get_turf(AM) != get_turf(source_hook)) @@ -58,11 +58,11 @@ return if (usr.incapacitated()) - to_chat(usr, span("notice", "You can't do that while incapacitated.")) + to_chat(usr, span_notice("You can't do that while incapacitated.")) return if (!usr.IsAdvancedToolUser()) - to_chat(usr, span("notice", "You stare cluelessly at \the [src].")) + to_chat(usr, span_notice("You stare cluelessly at \the [src].")) return if (!source_hoist.hoistee) @@ -76,7 +76,7 @@ var/turf/desturf = dest source_hoist.hoistee.forceMove(desturf) - usr.visible_message(span("danger", "[usr] detaches \the [source_hoist.hoistee] from the hoist clamp."), span("danger", "You detach \the [source_hoist.hoistee] from the hoist clamp."), span("danger", "You hear something unclamp.")) + usr.visible_message(span_danger("[usr] detaches \the [source_hoist.hoistee] from the hoist clamp."), span_danger("You detach \the [source_hoist.hoistee] from the hoist clamp."), span_danger("You hear something unclamp.")) source_hoist.release_hoistee() // This will handle mobs unbuckling themselves. @@ -178,25 +178,25 @@ return if (user.incapacitated()) - to_chat(user, span("notice", "You can't do that while incapacitated.")) + to_chat(user, span_notice("You can't do that while incapacitated.")) return if (!user.IsAdvancedToolUser()) - to_chat(user, span("notice", "You stare cluelessly at \the [src].")) + to_chat(user, span_notice("You stare cluelessly at \the [src].")) return if(broken) - to_chat(user, span("warning", "The hoist is broken!")) + to_chat(user, span_warning("The hoist is broken!")) return var/can = can_move_dir(movedir) var/movtext = movedir == UP ? "raise" : "lower" if (!can) // If you can't... movedir = movedir == UP ? DOWN : UP // switch directions! - to_chat(user, span("notice", "You switch the direction of the pulley.")) + to_chat(user, span_notice("You switch the direction of the pulley.")) return if (!hoistee) - user.visible_message(span("notice", "[user] begins to [movtext] the clamp."), span("notice", "You begin to [movtext] the clamp."), span("notice", "You hear the sound of a crank.")) + user.visible_message(span_notice("[user] begins to [movtext] the clamp."), span_notice("You begin to [movtext] the clamp."), span_notice("You hear the sound of a crank.")) move_dir(movedir, 0) return @@ -210,7 +210,7 @@ var/obj/O = hoistee size = O.w_class - user.visible_message(span("notice", "[user] begins to [movtext] \the [hoistee]!"), span("notice", "You begin to [movtext] \the [hoistee]!"), span("notice", "You hear the sound of a crank.")) + user.visible_message(span_notice("[user] begins to [movtext] \the [hoistee]!"), span_notice("You begin to [movtext] \the [hoistee]!"), span_notice("You hear the sound of a crank.")) if (do_after(user, (1 SECONDS) * size / 4, target = src)) move_dir(movedir, 1) @@ -229,11 +229,11 @@ if (isobserver(usr) || usr.incapacitated()) return if (!usr.IsAdvancedToolUser()) // thanks nanacode - to_chat(usr, span("notice", "You stare cluelessly at \the [src].")) + to_chat(usr, span_notice("You stare cluelessly at \the [src].")) return if (hoistee) - to_chat(usr, span("notice", "You cannot collapse the hoist with \the [hoistee] attached!")) + to_chat(usr, span_notice("You cannot collapse the hoist with \the [hoistee] attached!")) return collapse_kit() diff --git a/code/modules/multiz/ladder_assembly_vr.dm b/code/modules/multiz/ladder_assembly_vr.dm index 377a9562273..8bbb8055653 100644 --- a/code/modules/multiz/ladder_assembly_vr.dm +++ b/code/modules/multiz/ladder_assembly_vr.dm @@ -15,14 +15,14 @@ var/created_name = null /obj/structure/ladder_assembly/attackby(obj/item/W, mob/user) - if(istype(W, /obj/item/weapon/pen)) + if(istype(W, /obj/item/pen)) var/t = sanitizeSafe(tgui_input_text(user, "Enter the name for the ladder.", "Ladder Name", src.created_name, MAX_NAME_LEN), MAX_NAME_LEN) if(in_range(src, user)) created_name = t return else if(istype(get_area(src), /area/shuttle)) - to_chat(user, "\The [src] cannot be constructed on a shuttle.") + to_chat(user, span_warning("\The [src] cannot be constructed on a shuttle.")) return if(W.has_tool_quality(TOOL_WRENCH)) switch(state) @@ -41,14 +41,14 @@ "You hear a ratchet") src.anchored = FALSE if(CONSTRUCTION_WELDED) - to_chat(user, "\The [src] needs to be unwelded.") + to_chat(user, span_warning("\The [src] needs to be unwelded.")) return if(W.has_tool_quality(TOOL_WELDER)) - var/obj/item/weapon/weldingtool/WT = W.get_welder() + var/obj/item/weldingtool/WT = W.get_welder() switch(state) if(CONSTRUCTION_UNANCHORED) - to_chat(user, "The refinforcing bolts need to be secured.") + to_chat(user, span_warning("The refinforcing bolts need to be secured.")) if(CONSTRUCTION_WRENCHED) if(WT.remove_fuel(0, user)) playsound(src, 'sound/items/Welder2.ogg', 50, 1) @@ -61,7 +61,7 @@ to_chat(user, "You weld \the [src] to the floor.") try_construct(user) else - to_chat(user, "You need more welding fuel to complete this task.") + to_chat(user, span_warning("You need more welding fuel to complete this task.")) if(CONSTRUCTION_WELDED) if(WT.remove_fuel(0, user)) playsound(src, 'sound/items/Welder2.ogg', 50, 1) @@ -73,7 +73,7 @@ state = CONSTRUCTION_WRENCHED to_chat(user, "You cut \the [src] free from the floor.") else - to_chat(user, "You need more welding fuel to complete this task.") + to_chat(user, span_warning("You need more welding fuel to complete this task.")) return // Try to construct this into a real stairway. @@ -92,7 +92,7 @@ if(direction == DOWN && (src.z in using_map.below_blocked_levels)) continue if(direction == UP && (LA.z in using_map.below_blocked_levels)) continue if(LA.state != CONSTRUCTION_WELDED) - to_chat(user, "\The [LA] [direction == UP ? "above" : "below"] must be secured and welded.") + to_chat(user, span_warning("\The [LA] [direction == UP ? "above" : "below"] must be secured and welded.")) return if(direction == UP) above = LA @@ -100,7 +100,7 @@ below = LA if(!above && !below) - to_chat(user, "\The [src] is ready to be connected to from above or below.") + to_chat(user, span_notice("\The [src] is ready to be connected to from above or below.")) return // Construct them from bottom to top, because they initialize from top to bottom. diff --git a/code/modules/multiz/ladders.dm b/code/modules/multiz/ladders.dm index 0a01004d194..7822a87d80f 100644 --- a/code/modules/multiz/ladders.dm +++ b/code/modules/multiz/ladders.dm @@ -52,7 +52,7 @@ if(!target_ladder) return if(!(M.loc == loc) && !M.Move(get_turf(src))) - to_chat(M, "You fail to reach \the [src].") + to_chat(M, span_notice("You fail to reach \the [src].")) return climbLadder(M, target_ladder) @@ -68,12 +68,12 @@ /obj/structure/ladder/proc/getTargetLadder(var/mob/M) if((!target_up && !target_down) || (target_up && !istype(target_up.loc, /turf) || (target_down && !istype(target_down.loc,/turf)))) - to_chat(M, "\The [src] is incomplete and can't be climbed.") + to_chat(M, span_notice("\The [src] is incomplete and can't be climbed.")) return if(target_down && target_up) var/direction = tgui_alert(M,"Do you want to go up or down?", "Ladder", list("Up", "Down", "Cancel")) - if(direction == "Cancel") + if(!direction || direction == "Cancel") return if(!M.may_climb_ladders(src)) @@ -89,10 +89,10 @@ /mob/proc/may_climb_ladders(var/ladder) if(!Adjacent(ladder)) - to_chat(src, "You need to be next to \the [ladder] to start climbing.") + to_chat(src, span_warning("You need to be next to \the [ladder] to start climbing.")) return FALSE if(incapacitated()) - to_chat(src, "You are physically unable to climb \the [ladder].") + to_chat(src, span_warning("You are physically unable to climb \the [ladder].")) return FALSE return TRUE @@ -101,17 +101,22 @@ /obj/structure/ladder/proc/climbLadder(var/mob/M, var/obj/target_ladder) var/direction = (target_ladder == target_up ? "up" : "down") - M.visible_message("\The [M] begins climbing [direction] \the [src]!", - "You begin climbing [direction] \the [src]!", - "You hear the grunting and clanging of a metal ladder being used.") + M.visible_message(span_infoplain(span_bold("\The [M]") + " begins climbing [direction] \the [src]!"), + span_info("You begin climbing [direction] \the [src]!"), + span_info("You hear the grunting and clanging of a metal ladder being used.")) - target_ladder.audible_message("You hear something coming [direction] \the [src]", runemessage = "clank clank") + target_ladder.audible_message(span_notice("You hear something coming [direction] \the [src]"), runemessage = "clank clank") - if(do_after(M, climb_time, src)) + var/climb_modifier = 1 + if(istype(M, /mob/living/carbon/human)) + var/mob/living/carbon/human/MS = M + climb_modifier = MS.species.climb_mult + + if(do_after(M, (climb_time * climb_modifier), src)) var/turf/T = get_turf(target_ladder) for(var/atom/A in T) if(!A.CanPass(M, M.loc, 1.5, 0)) - to_chat(M, "\The [A] is blocking \the [src].") + to_chat(M, span_notice("\The [A] is blocking \the [src].")) return FALSE return M.forceMove(T) //VOREStation Edit - Fixes adminspawned ladders diff --git a/code/modules/multiz/movement.dm b/code/modules/multiz/movement.dm index 57aea8ac8dd..64fc76ae390 100644 --- a/code/modules/multiz/movement.dm +++ b/code/modules/multiz/movement.dm @@ -1,16 +1,16 @@ /mob/verb/up() set name = "Move Upwards" - set category = "IC" + set category = "IC.Game" if(zMove(UP)) - to_chat(src, "You move upwards.") + to_chat(src, span_notice("You move upwards.")) /mob/verb/down() set name = "Move Down" - set category = "IC" + set category = "IC.Game" if(zMove(DOWN)) - to_chat(src, "You move down.") + to_chat(src, span_notice("You move down.")) /mob/proc/zMove(direction) if(eyeobj) @@ -19,18 +19,25 @@ var/obj/mecha/mech = loc return mech.relaymove(src,direction) + var/swim_modifier = 1 + var/climb_modifier = 1 + if(istype(src,/mob/living/carbon/human)) + var/mob/living/carbon/human/MS = src + swim_modifier = MS.species.swim_mult + climb_modifier = MS.species.climb_mult + if(!can_ztravel()) - to_chat(src, "You lack means of travel in that direction.") + to_chat(src, span_warning("You lack means of travel in that direction.")) return var/turf/start = loc if(!istype(start)) - to_chat(src, "You are unable to move from here.") + to_chat(src, span_notice("You are unable to move from here.")) return 0 var/turf/destination = (direction == UP) ? GetAbove(src) : GetBelow(src) if(!destination) - to_chat(src, "There is nothing of interest in this direction.") + to_chat(src, span_notice("There is nothing of interest in this direction.")) return 0 if(is_incorporeal()) @@ -43,98 +50,103 @@ return ladder.climbLadder(src, (direction == UP ? ladder.target_up : ladder.target_down)) if(!start.CanZPass(src, direction)) - to_chat(src, "\The [start] is in the way.") + to_chat(src, span_warning("\The [start] is in the way.")) return 0 if(direction == DOWN) var/turf/simulated/floor/water/deep/ocean/diving/sink = start if(istype(sink) && !destination.density) - var/pull_up_time = max(3 SECONDS + (src.movement_delay() * 10), 1) - to_chat(src, "You start diving underwater...") - src.audible_message("[src] begins to dive under the water.", runemessage = "splish splosh") + var/pull_up_time = max((3 SECONDS + (src.movement_delay() * 10) * swim_modifier), 1) + to_chat(src, span_notice("You start diving underwater...")) + src.audible_message(span_notice("[src] begins to dive under the water."), runemessage = "splish splosh") if(do_after(src, pull_up_time)) - to_chat(src, "You reach the sea floor.") + to_chat(src, span_notice("You reach the sea floor.")) else - to_chat(src, "You stopped swimming downwards.") + to_chat(src, span_warning("You stopped swimming downwards.")) return 0 else if(!destination.CanZPass(src, direction)) // one for the down and non-special case - to_chat(src, "\The [destination] blocks your way.") + to_chat(src, span_warning("\The [destination] blocks your way.")) return 0 else if(!destination.CanZPass(src, direction)) // and one for up - to_chat(src, "\The [destination] blocks your way.") + to_chat(src, span_warning("\The [destination] blocks your way.")) return 0 var/area/area = get_area(src) - if(area.has_gravity() && !can_overcome_gravity()) + if(area.get_gravity() && !can_overcome_gravity()) if(direction == UP) var/obj/structure/lattice/lattice = locate() in destination.contents var/obj/structure/catwalk/catwalk = locate() in destination.contents - var/turf/simulated/floor/water/deep/ocean/diving/surface = destination if(lattice) - var/pull_up_time = max(5 SECONDS + (src.movement_delay() * 10), 1) - to_chat(src, "You grab \the [lattice] and start pulling yourself upward...") - src.audible_message("[src] begins climbing up \the [lattice].", runemessage = "clank clang") + var/pull_up_time = max((5 SECONDS + (src.movement_delay() * 10) * climb_modifier), 1) + to_chat(src, span_notice("You grab \the [lattice] and start pulling yourself upward...")) + src.audible_message(span_notice("[src] begins climbing up \the [lattice]."), runemessage = "clank clang") if(do_after(src, pull_up_time)) - to_chat(src, "You pull yourself up.") + to_chat(src, span_notice("You pull yourself up.")) else - to_chat(src, "You gave up on pulling yourself up.") + to_chat(src, span_warning("You gave up on pulling yourself up.")) return 0 - else if(istype(surface)) - var/pull_up_time = max(5 SECONDS + (src.movement_delay() * 10), 1) - to_chat(src, "You start swimming upwards...") - src.audible_message("[src] begins to swim towards the surface.", runemessage = "splish splosh") + else if(istype(destination, /turf/simulated/floor/water/deep/ocean/diving)) + var/pull_up_time = max((5 SECONDS + (src.movement_delay() * 10) * swim_modifier), 1) + to_chat(src, span_notice("You start swimming upwards...")) + src.audible_message(span_notice("[src] begins to swim towards the surface."), runemessage = "splish splosh") if(do_after(src, pull_up_time)) - to_chat(src, "You reach the surface.") + to_chat(src, span_notice("You reach the surface.")) else - to_chat(src, "You stopped swimming upwards.") + to_chat(src, span_warning("You stopped swimming upwards.")) return 0 else if(catwalk?.hatch_open) - var/pull_up_time = max(5 SECONDS + (src.movement_delay() * 10), 1) - to_chat(src, "You grab the edge of \the [catwalk] and start pulling yourself upward...") + var/pull_up_time = max((5 SECONDS + (src.movement_delay() * 10) * climb_modifier), 1) + to_chat(src, span_notice("You grab the edge of \the [catwalk] and start pulling yourself upward...")) var/old_dest = destination destination = get_step(destination, dir) // mob's dir if(!destination?.Enter(src, old_dest)) - to_chat(src, "There's something in the way up above in that direction, try another.") + to_chat(src, span_notice("There's something in the way up above in that direction, try another.")) return 0 - src.audible_message("[src] begins climbing up \the [lattice].", runemessage = "clank clang") + src.audible_message(span_notice("[src] begins climbing up \the [lattice]."), runemessage = "clank clang") if(do_after(src, pull_up_time)) - to_chat(src, "You pull yourself up.") + to_chat(src, span_notice("You pull yourself up.")) else - to_chat(src, "You gave up on pulling yourself up.") + to_chat(src, span_warning("You gave up on pulling yourself up.")) return 0 + //RS Port #661 Start, Prevents noclipping + else if(!istype(destination, /turf/simulated/open)) + to_chat(src, span_warning("Something solid above stops you from passing.")) + return 0 + //RS Port #661 End + else if(isliving(src)) //VOREStation Edit Start. Are they a mob, and are they currently flying?? var/mob/living/H = src if(H.flying) if(H.incapacitated(INCAPACITATION_ALL)) - to_chat(src, "You can't fly in your current state.") + to_chat(src, span_notice("You can't fly in your current state.")) H.stop_flying() //Should already be done, but just in case. return 0 var/fly_time = max(7 SECONDS + (H.movement_delay() * 10), 1) //So it's not too useful for combat. Could make this variable somehow, but that's down the road. - to_chat(src, "You begin to fly upwards...") - H.audible_message("[H] begins to flap \his wings, preparing to move upwards!", runemessage = "flap flap") + to_chat(src, span_notice("You begin to fly upwards...")) + H.audible_message(span_notice("[H] begins to flap \his wings, preparing to move upwards!"), runemessage = "flap flap") if(do_after(H, fly_time) && H.flying) - to_chat(src, "You fly upwards.") + to_chat(src, span_notice("You fly upwards.")) else - to_chat(src, "You stopped flying upwards.") + to_chat(src, span_warning("You stopped flying upwards.")) return 0 else - to_chat(src, "Gravity stops you from moving upward.") + to_chat(src, span_warning("Gravity stops you from moving upward.")) return 0 //VOREStation Edit End. else - to_chat(src, "Gravity stops you from moving upward.") + to_chat(src, span_warning("Gravity stops you from moving upward.")) return 0 for(var/atom/A in destination) if(!A.CanPass(src, start, 1.5, 0)) - to_chat(src, "\The [A] blocks you.") + to_chat(src, span_warning("\The [A] blocks you.")) return 0 if(!Move(destination)) return 0 @@ -143,12 +155,12 @@ var/mob/living/L = src if(L.pulling && !L.pulling.anchored) pulling |= L.pulling - for(var/obj/item/weapon/grab/G in list(L.l_hand, L.r_hand)) + for(var/obj/item/grab/G in list(L.l_hand, L.r_hand)) pulling |= G.affecting if(direction == UP) - src.audible_message("[src] moves up.") + src.audible_message(span_notice("[src] moves up.")) else if(direction == DOWN) - src.audible_message("[src] moves down.") + src.audible_message(span_notice("[src] moves down.")) for(var/atom/movable/P in pulling) P.forceMove(destination) return 1 @@ -169,14 +181,14 @@ if(destination) forceMove(destination) else - to_chat(src, "There is nothing of interest in this direction.") + to_chat(src, span_notice("There is nothing of interest in this direction.")) /mob/observer/eye/zMove(direction) var/turf/destination = (direction == UP) ? GetAbove(src) : GetBelow(src) if(destination) setLoc(destination) else - to_chat(src, "There is nothing of interest in this direction.") + to_chat(src, span_notice("There is nothing of interest in this direction.")) /mob/proc/can_ztravel() return 0 @@ -278,7 +290,7 @@ // No gravity in space, apparently. var/area/area = get_area(src) - if(!area.has_gravity()) + if(!area.get_gravity()) return if(throwing) @@ -293,14 +305,14 @@ L.stop_flying() //Just here to see if the person is KO'd, stunned, etc. If so, it'll move onto can_fall. else if(L.nutrition < 300 && L.nutrition > 299.4) //290 would be risky, as metabolism could mess it up. Let's do 289. - to_chat(L, "You are starting to get fatigued... You probably have a good minute left in the air, if that. Even less if you continue to fly around! You should get to the ground soon!") //Ticks are, on average, 3 seconds. So this would most likely be 90 seconds, but lets just say 60. + to_chat(L, span_danger("You are starting to get fatigued... You probably have a good minute left in the air, if that. Even less if you continue to fly around! You should get to the ground soon!")) //Ticks are, on average, 3 seconds. So this would most likely be 90 seconds, but lets just say 60. L.adjust_nutrition(-0.5) return else if(L.nutrition < 100 && L.nutrition > 99.4) - to_chat(L, "You're seriously fatigued! You need to get to the ground immediately and eat before you fall!") + to_chat(L, span_danger("You're seriously fatigued! You need to get to the ground immediately and eat before you fall!")) return else if(L.nutrition < 10) //Should have listened to the warnings! - to_chat(L, "You lack the strength to keep yourself up in the air...") + to_chat(L, span_danger("You lack the strength to keep yourself up in the air...")) L.stop_flying() else return @@ -439,7 +451,7 @@ /atom/movable/proc/find_fall_target(var/turf/oldloc, var/turf/landing) if(isopenspace(oldloc)) - oldloc.visible_message("\The [src] falls down through \the [oldloc]!", "You hear something falling through the air.") + oldloc.visible_message(span_notice("\The [src] falls down through \the [oldloc]!"), span_notice("You hear something falling through the air.")) // If the turf has density, we give it first dibs if (landing.density && landing.CheckFall(src)) @@ -527,27 +539,27 @@ safe_fall = TRUE if(planetary && src.CanParachute()) if(!silent) - visible_message("\The [src] glides in from above and lands on \the [landing]!", \ - "You land on \the [landing]!", \ + visible_message(span_warning("\The [src] glides in from above and lands on \the [landing]!"), \ + span_danger("You land on \the [landing]!"), \ "You hear something land \the [landing].") return else if(!planetary && safe_fall) // Falling one floor and falling one atmosphere are very different things if(!silent) - visible_message("\The [src] falls from above and lands on \the [landing]!", \ - "You land on \the [landing]!", \ + visible_message(span_warning("\The [src] falls from above and lands on \the [landing]!"), \ + span_danger("You land on \the [landing]!"), \ "You hear something land \the [landing].") return else if(!silent) if(planetary) - visible_message("\A [src] falls out of the sky and crashes into \the [landing]!", \ - " You fall out of the sky and crash into \the [landing]!", \ + visible_message(span_danger(span_large("\A [src] falls out of the sky and crashes into \the [landing]!")), \ + span_danger(span_large(" You fall out of the sky and crash into \the [landing]!")), \ "You hear something slam into \the [landing].") var/turf/T = get_turf(landing) explosion(T, 0, 1, 2) else - visible_message("\The [src] falls from above and slams into \the [landing]!", \ - "You fall off and hit \the [landing]!", \ + visible_message(span_warning("\The [src] falls from above and slams into \the [landing]!"), \ + span_danger("You fall off and hit \the [landing]!"), \ "You hear something slam into \the [landing].") playsound(src, "punch", 25, 1, -1) @@ -609,7 +621,7 @@ var/obj/structure/lattice/lattice = locate(/obj/structure/lattice, loc) if(lattice) // Lattices seem a bit too flimsy to hold up a massive exosuit. - lattice.visible_message("\The [lattice] collapses under the weight of \the [src]!") + lattice.visible_message(span_danger("\The [lattice] collapses under the weight of \the [src]!")) qdel(lattice) // Then call parent to have us actually fall @@ -618,7 +630,7 @@ /obj/mecha/fall_impact(var/atom/hit_atom, var/damage_min = 15, var/damage_max = 30, var/silent = FALSE, var/planetary = FALSE) // Anything on the same tile as the landing tile is gonna have a bad day. for(var/mob/living/L in hit_atom.contents) - L.visible_message("\The [src] crushes \the [L] as it lands on them!") + L.visible_message(span_danger("\The [src] crushes \the [L] as it lands on them!")) L.adjustBruteLoss(rand(70, 100)) L.Weaken(8) @@ -626,27 +638,27 @@ if(planetary && src.CanParachute()) if(!silent) - visible_message("\The [src] glides in from above and lands on \the [landing]!", \ - "You land on \the [landing]!", \ + visible_message(span_warning("\The [src] glides in from above and lands on \the [landing]!"), \ + span_danger("You land on \the [landing]!"), \ "You hear something land \the [landing].") return else if(!planetary && src.softfall) // Falling one floor and falling one atmosphere are very different things if(!silent) - visible_message("\The [src] falls from above and lands on \the [landing]!", \ - "You land on \the [landing]!", \ + visible_message(span_warning("\The [src] falls from above and lands on \the [landing]!"), \ + span_danger("You land on \the [landing]!"), \ "You hear something land \the [landing].") return else if(!silent) if(planetary) - visible_message("\A [src] falls out of the sky and crashes into \the [landing]!", \ - " You fall out of the skiy and crash into \the [landing]!", \ + visible_message(span_danger(span_large("\A [src] falls out of the sky and crashes into \the [landing]!")), \ + span_danger(span_large(" You fall out of the skiy and crash into \the [landing]!")), \ "You hear something slam into \the [landing].") var/turf/T = get_turf(landing) explosion(T, 0, 1, 2) else - visible_message("\The [src] falls from above and slams into \the [landing]!", \ - "You fall off and hit \the [landing]!", \ + visible_message(span_warning("\The [src] falls from above and slams into \the [landing]!"), \ + span_danger("You fall off and hit \the [landing]!"), \ "You hear something slam into \the [landing].") playsound(src, "punch", 25, 1, -1) diff --git a/code/modules/multiz/movement_vr.dm b/code/modules/multiz/movement_vr.dm index fa000ef4b7e..ca467e0a146 100644 --- a/code/modules/multiz/movement_vr.dm +++ b/code/modules/multiz/movement_vr.dm @@ -48,11 +48,11 @@ pred.loc = fallloc if(!safe_fall) pred.Weaken(8) - pred.visible_message("\The [pred] falls right onto \the [prey]!") + pred.visible_message(span_vdanger("\The [pred] falls right onto \the [prey]!")) else if(prey.vore_selected && prey.can_be_drop_pred && pred.can_be_drop_prey && pred.drop_vore && prey.drop_vore) prey.feed_grabbed_to_self_falling_nom(prey,pred) prey.Weaken(4) - prey.visible_message("\The [pred] falls right into \the [prey]!") + prey.visible_message(span_vdanger("\The [pred] falls right into \the [prey]!")) else pred.loc = prey.loc if(!safe_fall) @@ -66,9 +66,9 @@ prey.adjustBruteLoss(tdamage) pred.updatehealth() prey.updatehealth() - pred.visible_message("\The [pred] falls onto \the [prey]!") + pred.visible_message(span_danger("\The [pred] falls onto \the [prey]!")) else - pred.visible_message("\The [pred] safely brushes past \the [prey] as they land.") + pred.visible_message(span_notice("\The [pred] safely brushes past \the [prey] as they land.")) return 1 /mob/observer/dead/CheckFall() @@ -99,24 +99,24 @@ //Checking if there's any point trying to climb var/turf/above_wall = GetAbove(src) if(L.nutrition <= nutrition_cost) - to_chat(L, SPAN_WARNING("You [L.isSynthetic() ? "lack the energy" : "are too hungry"] for such strenous activities!")) + to_chat(L, span_warning("You [L.isSynthetic() ? "lack the energy" : "are too hungry"] for such strenous activities!")) return if(!above_wall) //No multiZ - to_chat(L, SPAN_NOTICE("There's nothing interesting over this cliff!")) + to_chat(L, span_notice("There's nothing interesting over this cliff!")) return var/turf/above_mob = GetAbove(L) //Making sure we got headroom if(!above_mob.CanZPass(L, UP)) - to_chat(L, SPAN_WARNING("\The [above_mob] blocks your way.")) + to_chat(L, span_warning("\The [above_mob] blocks your way.")) return if(above_wall.density) //We check density rather than type since some walls dont have a floor on top. - to_chat(L, SPAN_WARNING("\The [above_wall] blocks your way.")) + to_chat(L, span_warning("\The [above_wall] blocks your way.")) return if(LAZYLEN(above_wall.contents) > 30) //We avoid checking the contents if it's too cluttered to avoid issues - to_chat(L, SPAN_WARNING("\The [above_wall] is too cluttered to climb onto!")) + to_chat(L, span_warning("\The [above_wall] is too cluttered to climb onto!")) return for(var/atom/A in above_wall.contents) if(A.density) - to_chat(L, SPAN_WARNING("\The [A.name] blocks your way!")) + to_chat(L, span_warning("\The [A.name] blocks your way!")) return //human mobs got species and can wear special equipment @@ -138,13 +138,13 @@ if(!permit_human) var/sure = tgui_alert(H,"Are you sure you want to try without tools? It's VERY LIKELY \ you will fall and get hurt. More agile species might have better luck", "Second Thoughts", list("Bring it!", "Stay grounded")) - if(sure == "Stay grounded") return + if(sure || sure == "Stay grounded") return fall_chance = clamp(100 - H.species.agility, 40, 90) //This should be 80 for most species. Traceur would reduce to 10%, so clamping higher //If not a human mob, must be simple or silicon. They got a var stored on their mob we can check else if(!L.can_climb) var/sure = tgui_alert(L,"Are you sure you want to try without tools? It's VERY LIKELY \ you will fall and get hurt. More agile species might have better luck", "Second Thoughts", list("Bring it!", "Stay grounded")) - if(sure == "Stay grounded") return + if(!sure || sure == "Stay grounded") return if(isrobot(L)) fall_chance = 80 // Robots get no mercy else @@ -153,7 +153,7 @@ //Catslugs are a snowflake case because of references. if(istype(L, /mob/living/simple_mob/vore/alienanimals/catslug)) var/obj/O = L.get_active_hand() - if(istype(O, /obj/item/weapon/material/twohanded/spear)) + if(istype(O, /obj/item/material/twohanded/spear)) var/choice = tgui_alert(L, "Use your spear to climb faster? This will drop and break it!", "Scug Tactics", list("Yes!", "No")) if(choice == "Yes!") drop_our_held = TRUE @@ -169,49 +169,49 @@ // Climb time is 30 for gearless untrained people var/climb_time = (5 * climbing_delay_min) SECONDS if(fall_chance) - to_chat(L, SPAN_WARNING("You begin climbing over \The [src]. Getting a grip is exceedingly difficult...")) + to_chat(L, span_warning("You begin climbing over \The [src]. Getting a grip is exceedingly difficult...")) climb_time += 20 SECONDS else - to_chat(L, SPAN_NOTICE("You begin climbing above \The [src]! ")) + to_chat(L, span_notice("You begin climbing above \The [src]! ")) if(climbing_delay_min > 1.25) climb_time += 10 SECONDS if(climbing_delay_min > 1.0) climb_time += 2.5 SECONDS if(L.nutrition >= 100 && L.nutrition <= 200) - to_chat(L, SPAN_NOTICE("Climbing while [L.isSynthetic() ? "low on power" : "hungry"] slows you down")) + to_chat(L, span_notice("Climbing while [L.isSynthetic() ? "low on power" : "hungry"] slows you down")) climb_time += 1 SECONDS else if(L.nutrition >= nutrition_cost && L.nutrition <= 100) - to_chat(L, SPAN_DANGER("You [L.isSynthetic() ? "lack enough power" : "are too hungry"] to climb safely!")) + to_chat(L, span_danger("You [L.isSynthetic() ? "lack enough power" : "are too hungry"] to climb safely!")) climb_time +=3 SECONDS if(fall_chance < 30) fall_chance = 30 - L.visible_message(message = "[L] begins to climb up on \The [src]", self_message = "You begin to clumb up on \The [src]", \ - blind_message = "You hear the sounds of climbing!", runemessage = "Tap Tap") + L.visible_message(message = span_infoplain(span_bold("[L]") + " begins to climb up on " + span_bold("\The [src]")), self_message = span_infoplain("You begin to clumb up on " + span_bold("\The [src]")), \ + blind_message = span_infoplain("You hear the sounds of climbing!"), runemessage = "Tap Tap") var/oops_time = world.time var/grace_time = 4 SECONDS - to_chat(L, SPAN_WARNING("If you get interrupted after [(grace_time / (1 SECOND))] seconds of climbing, you will fall and hurt yourself, beware!")) + to_chat(L, span_warning("If you get interrupted after [(grace_time / (1 SECOND))] seconds of climbing, you will fall and hurt yourself, beware!")) if(do_after(L,climb_time)) if(prob(fall_chance)) L.forceMove(above_mob) - L.visible_message(message = "[L] falls off \The [src]", self_message = SPAN_DANGER("You slipped off \The [src]"), \ - blind_message = "you hear a loud thud!", runemessage = "CRASH!") + L.visible_message(message = span_infoplain(span_bold("[L]") + " falls off " + span_bold("\The [src]")), self_message = span_danger("You slipped off " + span_bold("\The [src]")), \ + blind_message = span_infoplain("you hear a loud thud!"), runemessage = "CRASH!") else if(drop_our_held) L.drop_item(get_turf(L)) L.forceMove(above_wall) - L.visible_message(message = "[L] climbed up on \The [src]", \ - self_message = SPAN_NOTICE("You successfully scaled \The [src]"), \ - blind_message = "The sounds of climbing cease.", runemessage = "Tap Tap") + L.visible_message(message = span_infoplain(span_bold("[L]") + " climbed up on " + span_bold("\The [src]")), \ + self_message = span_notice("You successfully scaled " + span_bold("\The [src]")), \ + blind_message = span_infoplain("The sounds of climbing cease."), runemessage = "Tap Tap") L.adjust_nutrition(-nutrition_cost) else if(world.time > (oops_time + grace_time)) L.forceMove(above_mob) - L.visible_message(message = "[L] falls off \The [src]", self_message = SPAN_DANGER("You slipped off \The [src]"), \ - blind_message = "you hear a loud thud!", runemessage = "CRASH!") + L.visible_message(message = span_infoplain(span_bold("[L]") + " falls off " + span_bold("\The [src]")), self_message = span_danger("You slipped off " + span_bold("\The [src]")), \ + blind_message = span_infoplain("you hear a loud thud!"), runemessage = "CRASH!") /mob/living/verb/climb_down() set name = "Climb down wall" set desc = "attempt to climb down the wall you are standing on, in direction you're looking" - set category = "IC" + set category = "IC.Game" var/fall_chance = 0 //Increased if we can't actually climb var/turf/our_turf = get_turf(src) //floor we're standing on @@ -221,26 +221,26 @@ //Check if we can even try to climb if(nutrition <= nutrition_cost) - to_chat(src, SPAN_WARNING("You [isSynthetic() ? "lack the energy" : "are too hungry"] for such strenous activities!")) + to_chat(src, span_warning("You [isSynthetic() ? "lack the energy" : "are too hungry"] for such strenous activities!")) return var/turf/below_wall = GetBelow(our_turf) if(!below_wall) //No multiZ - to_chat(src, SPAN_NOTICE("There's nothing interesting below us!")) + to_chat(src, span_notice("There's nothing interesting below us!")) return if(!istype(below_wall,/turf/simulated)) //Our var is on simulated turfs, we must enforce this - to_chat(src, SPAN_NOTICE("There's nothing useful to grab onto!")) + to_chat(src, span_notice("There's nothing useful to grab onto!")) return var/turf/simulated/climbing_surface = below_wall if(!climbing_surface.density) //passable turfs make no sense to climb - to_chat(src, SPAN_NOTICE("There's nothing climbable below us!")) + to_chat(src, span_notice("There's nothing climbable below us!")) return var/turf/front_of_us = get_step(src, dir) //We get the spot we are facing if(!front_of_us.CanZPass(src, DOWN)) //Makes sure where we're climbing isnt blocked by a tile or there's a wall below it. - to_chat(src, SPAN_NOTICE("\The [front_of_us] blocks your way in this direction!")) + to_chat(src, span_notice("\The [front_of_us] blocks your way in this direction!")) return var/turf/destination = GetBelow(front_of_us) if(isopenspace(destination)) //We don't allow descending more than 1 Z at a time - to_chat(src, SPAN_NOTICE("You're too high up to climb down from here! Find a more gentle descent!")) + to_chat(src, span_notice("You're too high up to climb down from here! Find a more gentle descent!")) return //Determining whether we should be able to climb safely and how fast @@ -261,13 +261,13 @@ if(!permit_human) var/sure = tgui_alert(H,"Are you sure you want to try without tools? It's VERY LIKELY \ you will fall and get hurt. More agile species might have better luck", "Second Thoughts", list("Bring it!", "Stay grounded")) - if(sure == "Stay grounded") return + if(!sure || sure == "Stay grounded") return fall_chance = clamp(100 - H.species.agility, 40, 90) //This should be 80 for most species. Traceur would reduce to 10%, so clamping higher //If not a human mob, must be simple or silicon. They got a var stored on their mob we can check else if(!src.can_climb) var/sure = tgui_alert(src,"Are you sure you want to try without tools? It's VERY LIKELY \ you will fall and get hurt. More agile species might have better luck", "Second Thoughts", list("Bring it!", "Stay grounded")) - if(sure == "Stay grounded") return + if(!sure || sure == "Stay grounded") return if(isrobot(src)) fall_chance = 80 // Robots get no mercy else @@ -285,48 +285,48 @@ // Climb time is 30 for gearless untrained people var/climb_time = (5 * climbing_delay_min) SECONDS if(fall_chance) - to_chat(src, SPAN_WARNING("You begin climbing down along \The [below_wall]. Getting a grip is exceedingly difficult...")) + to_chat(src, span_warning("You begin climbing down along \The [below_wall]. Getting a grip is exceedingly difficult...")) climb_time += 20 SECONDS else - to_chat(src, SPAN_NOTICE("You begin climbing down \The [below_wall]! ")) + to_chat(src, span_notice("You begin climbing down \The [below_wall]! ")) if(climbing_delay_min > 1.25) climb_time += 10 SECONDS if(climbing_delay_min > 1.0) climb_time += 2.5 SECONDS if(nutrition >= 100 && nutrition <= 200) //Values are 50 lower than the warning icon appearing - to_chat(src, SPAN_NOTICE("Climbing while [isSynthetic() ? "low on power" : "hungry"] slows you down")) + to_chat(src, span_notice("Climbing while [isSynthetic() ? "low on power" : "hungry"] slows you down")) climb_time += 1 SECONDS else if(nutrition >= nutrition_cost && nutrition <= 100) - to_chat(src, SPAN_DANGER("You [isSynthetic() ? "lack enough power" : "are too hungry"] to climb safely!")) + to_chat(src, span_danger("You [isSynthetic() ? "lack enough power" : "are too hungry"] to climb safely!")) climb_time +=3 SECONDS if(fall_chance < 30) fall_chance = 30 if(!climbing_surface.climbable) - to_chat(src, SPAN_DANGER("\The [climbing_surface] is not suitable for climbing! Even for a master climber, this is risky!")) + to_chat(src, span_danger("\The [climbing_surface] is not suitable for climbing! Even for a master climber, this is risky!")) if(fall_chance < 75 ) fall_chance = 75 - src.visible_message(message = "[src] climb down \The [below_wall]", \ - self_message = "You begin to descend \The [below_wall]", \ - blind_message = "You hear the sounds of climbing!", runemessage = "Tap Tap") - below_wall.audible_message(message = "You hear something climbing up \The [below_wall]", runemessage= "Tap Tap") + src.visible_message(message = span_infoplain(span_bold("[src]") + " climb down " + span_bold("\The [below_wall]")), \ + self_message = span_infoplain("You begin to descend " + span_bold("\The [below_wall]")), \ + blind_message = span_infoplain("You hear the sounds of climbing!"), runemessage = "Tap Tap") + below_wall.audible_message(message = span_infoplain("You hear something climbing up " + span_bold("\The [below_wall]")), runemessage= "Tap Tap") var/oops_time = world.time var/grace_time = 3 SECONDS - to_chat(src, SPAN_WARNING("If you get interrupted after [(grace_time / (1 SECOND))] seconds of climbing, you will fall and hurt yourself, beware!")) + to_chat(src, span_warning("If you get interrupted after [(grace_time / (1 SECOND))] seconds of climbing, you will fall and hurt yourself, beware!")) if(do_after(src,climb_time)) if(prob(fall_chance)) src.forceMove(front_of_us) - src.visible_message(message = "[src] falls off \The [below_wall]", \ - self_message = SPAN_DANGER("You slipped off \The [below_wall]"), \ - blind_message = "you hear a loud thud!", runemessage = "CRASH!") + src.visible_message(message = span_infoplain(span_bold("[src]") + " falls off " + span_bold("\The [below_wall]")), \ + self_message = span_danger("You slipped off " + span_bold("\The [below_wall]")), \ + blind_message = span_infoplain("you hear a loud thud!"), runemessage = "CRASH!") else src.forceMove(destination) - src.visible_message(message = "[src] climbed down on \The [below_wall]", \ - self_message = SPAN_NOTICE("You successfully descended \The [below_wall]"), \ - blind_message = "The sounds of climbing cease.", runemessage = "Tap Tap") + src.visible_message(message = span_infoplain(span_bold("[src]") + " climbed down on " + span_bold("\The [below_wall]")), \ + self_message = span_notice("You successfully descended " + span_bold("\The [below_wall]")), \ + blind_message = span_infoplain("The sounds of climbing cease."), runemessage = "Tap Tap") adjust_nutrition(-nutrition_cost) else if(world.time > (oops_time + grace_time)) src.forceMove(front_of_us) - src.visible_message(message = "[src] falls off \The [below_wall]", \ - self_message = SPAN_DANGER("You slipped off \The [below_wall]"), \ - blind_message = "you hear a loud thud!", runemessage = "CRASH!") + src.visible_message(message = span_infoplain(span_bold("[src]") + " falls off " + span_bold("\The [below_wall]")), \ + self_message = span_danger("You slipped off " + span_bold("\The [below_wall]")), \ + blind_message = span_infoplain("you hear a loud thud!"), runemessage = "CRASH!") diff --git a/code/modules/multiz/pipes.dm b/code/modules/multiz/pipes.dm index 83b7bd8125f..d5a3614a8a1 100644 --- a/code/modules/multiz/pipes.dm +++ b/code/modules/multiz/pipes.dm @@ -78,7 +78,7 @@ else return 1 /obj/machinery/atmospherics/pipe/zpipe/proc/burst() - src.visible_message("\The [src] bursts!"); + src.visible_message(span_warning("\The [src] bursts!")); playsound(src, 'sound/effects/bang.ogg', 25, 1) var/datum/effect/effect/system/smoke_spread/smoke = new smoke.set_up(1,0, src.loc, 0) @@ -272,4 +272,4 @@ piping_layer = PIPING_LAYER_AUX layer = PIPES_AUX_LAYER icon_connect_type = "-aux" - color = PIPE_COLOR_CYAN \ No newline at end of file + color = PIPE_COLOR_CYAN diff --git a/code/modules/multiz/portals_vr.dm b/code/modules/multiz/portals_vr.dm index a7a4c9c75bd..4e097f1fafa 100644 --- a/code/modules/multiz/portals_vr.dm +++ b/code/modules/multiz/portals_vr.dm @@ -36,7 +36,7 @@ return if(!target) if(isliving(user)) - to_chat(user, "Your hand scatters \the [src]...") + to_chat(user, span_notice("Your hand scatters \the [src]...")) qdel(src) //Delete portals which aren't set that people mess with. else return //do not send ghosts, zshadows, ai eyes, etc else if(isliving(user) || istype(user, /mob/observer/dead) && user?.client?.holder) //unless they're staff @@ -45,7 +45,7 @@ /obj/structure/portal_event/attack_ghost(var/mob/observer/dead/user) if(!target && user?.client?.holder) - to_chat(user, "Selecting 'Portal Here' will create and link a portal at your location, while 'Target Here' will create an object that is only visible to ghosts which will act as the target, again at your location. Each option will give you the ability to change portal types, but for all options except 'Select Type' you only get one shot at it, so be sure to experiment with 'Select Type' first if you're not familiar with them.") + to_chat(user, span_notice("Selecting 'Portal Here' will create and link a portal at your location, while 'Target Here' will create an object that is only visible to ghosts which will act as the target, again at your location. Each option will give you the ability to change portal types, but for all options except 'Select Type' you only get one shot at it, so be sure to experiment with 'Select Type' first if you're not familiar with them.")) var/response = tgui_alert(user, "You appear to be staff. This portal has no exit point. If you want to make one, move to where you want it to go, and click the appropriate option, see chat for more info, otherwise click 'Cancel'", "Unbound Portal", list("Cancel","Portal Here","Target Here", "Select Type")) if(response == "Portal Here") target = new type(get_turf(user), src) @@ -112,7 +112,7 @@ if (M.anchored&&istype(M, /obj/mecha)) return if (!target) - to_chat(M, "\The [src] scatters as you pass through it...") + to_chat(M, span_notice("\The [src] scatters as you pass through it...")) qdel(src) return if (!istype(M, /atom/movable)) @@ -132,7 +132,7 @@ if(portalfind) var/possible_turfs = place.AdjacentTurfs() if(isemptylist(possible_turfs)) - to_chat(M, "Something blocks your way.") + to_chat(M, span_notice("Something blocks your way.")) return temptarg = pick(possible_turfs) do_safe_teleport(M, temptarg, 0) @@ -202,13 +202,13 @@ var/list/mob_contents = list() //Things which are actually drained as a result of the above not being null. mob_contents |= L // The recursive check below does not add the object being checked to its list. mob_contents |= recursive_content_check(L, mob_contents, recursion_limit = 3, client_check = 0, sight_check = 0, include_mobs = 1, include_objects = 1, ignore_show_messages = 1) - for(var/obj/item/weapon/holder/I in mob_contents) - var/obj/item/weapon/holder/H = I + for(var/obj/item/holder/I in mob_contents) + var/obj/item/holder/H = I var/mob/living/MI = H.held_mob MI.forceMove(get_turf(H)) if(!issilicon(MI)) //Don't drop borg modules... for(var/obj/item/II in MI) - if(istype(II,/obj/item/weapon/implant) || istype(II,/obj/item/device/nif)) + if(istype(II,/obj/item/implant) || istype(II,/obj/item/nif)) continue MI.drop_from_inventory(II, dest.loc) var/obj/effect/landmark/finaldest = pick(awayabductors) @@ -216,9 +216,9 @@ sleep(1) MI.Paralyse(10) MI << 'sound/effects/bamf.ogg' - to_chat(MI,"You're starting to come to. You feel like you've been out for a few minutes, at least...") + to_chat(MI,span_warning("You're starting to come to. You feel like you've been out for a few minutes, at least...")) for(var/obj/item/I in L) - if(istype(I,/obj/item/weapon/implant) || istype(I,/obj/item/device/nif)) + if(istype(I,/obj/item/implant) || istype(I,/obj/item/nif)) continue L.drop_from_inventory(I, dest.loc) var/obj/effect/landmark/finaldest = pick(awayabductors) @@ -226,5 +226,5 @@ sleep(1) L.Paralyse(10) L << 'sound/effects/bamf.ogg' - to_chat(L,"You're starting to come to. You feel like you've been out for a few minutes, at least...") + to_chat(L,span_warning("You're starting to come to. You feel like you've been out for a few minutes, at least...")) return diff --git a/code/modules/multiz/stairs.dm b/code/modules/multiz/stairs.dm index cbdbf6f43c8..6c13828d4ad 100644 --- a/code/modules/multiz/stairs.dm +++ b/code/modules/multiz/stairs.dm @@ -171,7 +171,7 @@ // If the object is pulling or grabbing anything, we'll want to move those too. A grab chain may be disrupted in doing so. if(L.pulling && !L.pulling.anchored) pulling |= L.pulling - for(var/obj/item/weapon/grab/G in list(L.l_hand, L.r_hand)) + for(var/obj/item/grab/G in list(L.l_hand, L.r_hand)) pulling |= G.affecting // If the stairs aren't broken, go up. @@ -224,7 +224,7 @@ P.forceMove(get_turf(top)) L.continue_pulling(P) - for(var/obj/item/weapon/grab/G in list(L.l_hand, L.r_hand)) + for(var/obj/item/grab/G in list(L.l_hand, L.r_hand)) G.affecting.forceMove(get_turf(top)) if(L.client) @@ -433,7 +433,7 @@ // If the object is pulling or grabbing anything, we'll want to move those too. A grab chain may be disrupted in doing so. if(L.pulling && !L.pulling.anchored) pulling |= L.pulling - for(var/obj/item/weapon/grab/G in list(L.l_hand, L.r_hand)) + for(var/obj/item/grab/G in list(L.l_hand, L.r_hand)) pulling |= G.affecting // If the stairs aren't broken, go up. @@ -483,7 +483,7 @@ P.forceMove(get_turf(bottom)) L.continue_pulling(P) - for(var/obj/item/weapon/grab/G in list(L.l_hand, L.r_hand)) + for(var/obj/item/grab/G in list(L.l_hand, L.r_hand)) G.affecting.forceMove(get_turf(bottom)) if(L.client) diff --git a/code/modules/multiz/turf.dm b/code/modules/multiz/turf.dm index eddc1743df6..31afd8f6c7d 100644 --- a/code/modules/multiz/turf.dm +++ b/code/modules/multiz/turf.dm @@ -105,7 +105,7 @@ GLOBAL_DATUM_INIT(openspace_backdrop_one_for_all, /atom/movable/openspace_backdr return var/obj/item/stack/rods/R = C if (R.use(1)) - to_chat(user, "Constructing support lattice ...") + to_chat(user, span_notice("Constructing support lattice ...")) playsound(src, 'sound/weapons/Genhit.ogg', 50, 1) ReplaceWithLattice() return @@ -122,7 +122,7 @@ GLOBAL_DATUM_INIT(openspace_backdrop_one_for_all, /atom/movable/openspace_backdr ChangeTurf(/turf/simulated/floor/airless) return else - to_chat(user, "The plating is going to need some support.") + to_chat(user, span_warning("The plating is going to need some support.")) //To lay cable. if(istype(C, /obj/item/stack/cable_coil)) diff --git a/code/modules/news/new_newspaper.dm b/code/modules/news/new_newspaper.dm index d84a2a53c4c..8d27c374211 100644 --- a/code/modules/news/new_newspaper.dm +++ b/code/modules/news/new_newspaper.dm @@ -2,7 +2,7 @@ //###################################### NEWSPAPER! ###################################################################### //######################################################################################################################## -/obj/item/weapon/newspaper +/obj/item/newspaper name = "newspaper" desc = "An issue of The Griffon, the newspaper circulating aboard most stations." icon = 'icons/obj/bureaucracy.dmi' @@ -19,7 +19,7 @@ drop_sound = 'sound/items/drop/wrapper.ogg' pickup_sound = 'sound/items/pickup/wrapper.ogg' -obj/item/weapon/newspaper/attack_self(mob/user) +obj/item/newspaper/attack_self(mob/user) if(ishuman(user)) var/mob/living/carbon/human/human_user = user var/dat @@ -32,17 +32,17 @@ obj/item/weapon/newspaper/attack_self(mob/user) if(important_message) dat+="Contents:

      **Important Security Announcement** \[page [pages+2]\]
    " else - dat+="Other than the title, the rest of the newspaper is unprinted..." + dat+=span_italics("Other than the title, the rest of the newspaper is unprinted...") else dat+="Contents:
      " for(var/datum/feed_channel/NP in news_content) pages++ if(important_message) - dat+="**Important Security Announcement** \[page [pages+2]\]
      " + dat+=span_bold("**Important Security Announcement**") + " \[page [pages+2]\]
      " var/temp_page=0 for(var/datum/feed_channel/NP in news_content) temp_page++ - dat+="[NP.channel_name] \[page [temp_page+1]\]
      " + dat+=span_bold("[NP.channel_name]") + " \[page [temp_page+1]\]
      " dat+="
    " if(scribble_page==curr_page) dat+="
    There is a small scribble near the end of this page... It reads: \"[scribble]\"" @@ -76,16 +76,16 @@ obj/item/weapon/newspaper/attack_self(mob/user) pages++ if(important_message!=null) dat+="
    Wanted Issue:


    " - dat+="Criminal name: [important_message.author]
    " - dat+="Description: [important_message.body]
    " - dat+="Photo:: " + dat+=span_bold("Criminal name") + ": [important_message.author]
    " + dat+=span_bold("Description") + ": [important_message.body]
    " + dat+=span_bold("Photo:") + ": " if(important_message.img) user << browse_rsc(important_message.img, "tmp_photow.png") dat+="
    " else dat+="None" else - dat+="Apart from some uninteresting Classified ads, there's nothing on this page..." + dat+=span_italics("Apart from some uninteresting Classified ads, there's nothing on this page...") if(scribble_page==curr_page) dat+="
    There is a small scribble near the end of this page... It reads: \"[scribble]\"" dat+= "
    " @@ -96,9 +96,9 @@ obj/item/weapon/newspaper/attack_self(mob/user) human_user << browse(dat, "window=newspaper_main;size=300x400") onclose(human_user, "newspaper_main") else - to_chat(user, "The paper is full of intelligible symbols!") + to_chat(user, span_infoplain("The paper is full of intelligible symbols!")) -obj/item/weapon/newspaper/Topic(href, href_list) +obj/item/newspaper/Topic(href, href_list) var/mob/living/U = usr ..() if((src in U.contents) || (istype(loc, /turf) && in_range(src, U))) @@ -129,8 +129,8 @@ obj/item/weapon/newspaper/Topic(href, href_list) if(istype(src.loc, /mob)) attack_self(src.loc) -obj/item/weapon/newspaper/attackby(obj/item/weapon/W as obj, mob/user) - if(istype(W, /obj/item/weapon/pen)) +obj/item/newspaper/attackby(obj/item/W as obj, mob/user) + if(istype(W, /obj/item/pen)) if(scribble_page == curr_page) to_chat(user, span_blue("There's already a scribble in this page... You wouldn't want to make things too cluttered, would you?")) else diff --git a/code/modules/news/newspaper.dm b/code/modules/news/newspaper.dm index 394ce7be26f..09bc87b2eab 100644 --- a/code/modules/news/newspaper.dm +++ b/code/modules/news/newspaper.dm @@ -2,7 +2,7 @@ //###################################### NEWSPAPER! ###################################################################### //######################################################################################################################## -/obj/item/weapon/newspaper +/obj/item/newspaper name = "newspaper" desc = "An issue of The Griffon, the newspaper circulating aboard most stations." icon = 'icons/obj/bureaucracy.dmi' @@ -19,7 +19,7 @@ drop_sound = 'sound/items/drop/wrapper.ogg' pickup_sound = 'sound/items/pickup/wrapper.ogg' -/obj/item/weapon/newspaper/attack_self(mob/user as mob) +/obj/item/newspaper/attack_self(mob/user as mob) if(ishuman(user)) var/mob/living/carbon/human/human_user = user var/dat @@ -32,17 +32,17 @@ if(important_message) dat+="Contents:
      **Important Security Announcement** \[page [pages+2]\]
    " else - dat+="Other than the title, the rest of the newspaper is unprinted..." + dat+=span_italics("Other than the title, the rest of the newspaper is unprinted...") else dat+="Contents:
      " for(var/datum/feed_channel/NP in news_content) pages++ if(important_message) - dat+="**Important Security Announcement** \[page [pages+2]\]
      " + dat+=span_bold("**Important Security Announcement**") + " \[page [pages+2]\]
      " var/temp_page=0 for(var/datum/feed_channel/NP in news_content) temp_page++ - dat+="[NP.channel_name] \[page [temp_page+1]\]
      " + dat+=span_bold("[NP.channel_name]") + " " + span_normal("\[page [temp_page+1]\]") + "
      " dat+="
    " if(scribble_page==curr_page) dat+="
    There is a small scribble near the end of this page... It reads: \"[scribble]\"" @@ -77,16 +77,16 @@ pages++ if(important_message!=null) dat+="
    Wanted Issue:


    " - dat+="Criminal name: [important_message.author]
    " - dat+="Description: [important_message.body]
    " - dat+="Photo:: " + dat+=span_bold("Criminal name") + ": [important_message.author]
    " + dat+=span_bold("Description") + ": [important_message.body]
    " + dat+=span_bold("Photo:") + ": " if(important_message.img) user << browse_rsc(important_message.img, "tmp_photow.png") dat+="
    " else dat+="None" else - dat+="Apart from some uninteresting Classified ads, there's nothing on this page..." + dat+=span_italics("Apart from some uninteresting Classified ads, there's nothing on this page...") if(scribble_page==curr_page) dat+="
    There is a small scribble near the end of this page... It reads: \"[scribble]\"" dat+= "
    " @@ -97,9 +97,9 @@ human_user << browse(dat, "window=newspaper_main;size=300x400") onclose(human_user, "newspaper_main") else - to_chat(user, "The paper is full of intelligible symbols!") + to_chat(user, span_infoplain("The paper is full of intelligible symbols!")) -/obj/item/weapon/newspaper/Topic(href, href_list) +/obj/item/newspaper/Topic(href, href_list) var/mob/living/U = usr ..() if((src in U.contents) || (istype(loc, /turf) && in_range(src, U))) @@ -130,8 +130,8 @@ if(istype(src.loc, /mob)) attack_self(src.loc) -/obj/item/weapon/newspaper/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W, /obj/item/weapon/pen)) +/obj/item/newspaper/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W, /obj/item/pen)) if(scribble_page == curr_page) to_chat(user, span_blue("There's already a scribble in this page... You wouldn't want to make things too cluttered, would you?")) else diff --git a/code/modules/nifsoft/nif.dm b/code/modules/nifsoft/nif.dm index 854c6b9035f..f3794e43092 100644 --- a/code/modules/nifsoft/nif.dm +++ b/code/modules/nifsoft/nif.dm @@ -10,14 +10,16 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable */ ////////////////////////////// //Holder on humans to prevent having to 'find' it every time -/mob/living/carbon/human/var/obj/item/device/nif/nif +/mob/living/carbon/human/var/obj/item/nif/nif //Nanotech Implant Foundation -/obj/item/device/nif +/obj/item/nif name = "nanite implant framework" - desc = "The product of a collaboration between NanoTrasen and Bishop Cybernetics. Can print new \ + desc = "The product of a collaboration between NanoTrasen and Bishop Cybernetics. \ + A mass-production model of a nano working surface, in a box. Can print new \ implants inside living hosts on the fly based on software uploads. Must be surgically \ - implanted in the head to work. Will eventually require maintanence." + implanted in the head to work, and requires periodical maintenance. Warning: this device \ + is extremely sensitive to electromagnetic pulse waves." // YW EDIT "The product of a collaboration between NanoTrasen and Bishop Cybernetics."" icon = 'icons/obj/device_alt.dmi' icon_state = "nif_0" @@ -50,7 +52,7 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable var/tmp/open = FALSE // If it's open for maintenance (1-3) var/tmp/should_be_in = BP_HEAD // Organ we're supposed to be held in - var/obj/item/device/communicator/commlink/comm // The commlink requires this + var/obj/item/communicator/commlink/comm // The commlink requires this var/list/starting_software = list( /datum/nifsoft/commlink, @@ -74,7 +76,7 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable var/list/planes_visible = list() //Constructor comes with a free AR HUD -/obj/item/device/nif/New(var/newloc,var/wear,var/list/load_data) +/obj/item/nif/New(var/newloc,var/wear,var/list/load_data) ..(newloc) //First one to spawn in the game, make a big icon @@ -109,7 +111,7 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable update_icon() //Destructor cleans up references -/obj/item/device/nif/Destroy() +/obj/item/nif/Destroy() human = null QDEL_LIST_NULL(nifsofts) QDEL_NULL(comm) @@ -117,7 +119,7 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable return ..() //Being implanted in some mob -/obj/item/device/nif/proc/implant(var/mob/living/carbon/human/H) +/obj/item/nif/proc/implant(var/mob/living/carbon/human/H) var/obj/item/organ/brain = H.internal_organs_by_name[O_BRAIN] if(istype(brain)) should_be_in = brain.parent_organ @@ -129,7 +131,7 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable human = H human.nif = src stat = NIF_INSTALLING - H.verbs |= /mob/living/carbon/human/proc/set_nif_examine + add_verb(H, /mob/living/carbon/human/proc/set_nif_examine) menu = H.AddComponent(/datum/component/nif_menu) if(starting_software) for(var/path in starting_software) @@ -140,7 +142,7 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable return FALSE //For debug or antag purposes -/obj/item/device/nif/proc/quick_implant(var/mob/living/carbon/human/H) +/obj/item/nif/proc/quick_implant(var/mob/living/carbon/human/H) if(istype(H)) var/obj/item/organ/external/parent //Try to find their brain and put it near that @@ -166,7 +168,7 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable return FALSE //Being removed from some mob -/obj/item/device/nif/proc/unimplant(var/mob/living/carbon/human/H) +/obj/item/nif/proc/unimplant(var/mob/living/carbon/human/H) var/datum/nifsoft/soulcatcher/SC = imp_check(NIF_SOULCATCHER) if(SC) //Clean up stored people, this is dirty but the easiest way. QDEL_LIST_NULL(SC.brainmobs) @@ -174,7 +176,7 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable stat = NIF_PREINSTALL vis_update() if(H) - H.verbs -= /mob/living/carbon/human/proc/set_nif_examine + remove_verb(H, /mob/living/carbon/human/proc/set_nif_examine) H.nif = null qdel_null(menu) human = null @@ -182,7 +184,7 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable update_icon() //EMP adds wear and disables all nifsoft -/obj/item/device/nif/emp_act(var/severity) +/obj/item/nif/emp_act(var/severity) notify("Danger! Significant electromagnetic interference!",TRUE) for(var/nifsoft in nifsofts) if(nifsoft) @@ -200,7 +202,7 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable wear(rand(1,8)) //Wear update/check proc -/obj/item/device/nif/proc/wear(var/wear = 0) +/obj/item/nif/proc/wear(var/wear = 0) wear *= (rand(85,115) / 100) //Apparently rand() only takes integers. durability -= wear savetofile = TRUE // YW EDIT @@ -215,46 +217,46 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable if(human) notify("Danger! General system insta#^!($",TRUE) - to_chat(human,"Your NIF vision overlays disappear and your head suddenly seems very quiet...") + to_chat(human,span_danger("Your NIF vision overlays disappear and your head suddenly seems very quiet...")) //Repair update/check proc -/obj/item/device/nif/proc/repair(var/repair = 0) +/obj/item/nif/proc/repair(var/repair = 0) durability = min(durability + repair, initial(durability)) if(human) persist_nif_data(human) //Attackby proc, for maintenance -/obj/item/device/nif/attackby(obj/item/weapon/W, mob/user as mob) +/obj/item/nif/attackby(obj/item/W, mob/user as mob) if(open == 0 && W.has_tool_quality(TOOL_SCREWDRIVER)) if(do_after(user, 4 SECONDS, src) && open == 0) - user.visible_message("[user] unscrews and pries open \the [src].","You unscrew and pry open \the [src].") + user.visible_message("[user] unscrews and pries open \the [src].",span_notice("You unscrew and pry open \the [src].")) playsound(src, 'sound/items/Screwdriver.ogg', 50, 1) open = 1 update_icon() else if(open == 1 && istype(W,/obj/item/stack/cable_coil)) var/obj/item/stack/cable_coil/C = W if(C.get_amount() < 3) - to_chat(user,"You need at least three coils of wire to add them to \the [src].") + to_chat(user,span_warning("You need at least three coils of wire to add them to \the [src].")) return if(durability >= initial(durability)) - to_chat(user,"There's no damaged wiring that needs replacing!") + to_chat(user,span_notice("There's no damaged wiring that needs replacing!")) open = 3 update_icon() return if(do_after(user, 6 SECONDS, src) && open == 1 && C.use(3)) - user.visible_message("[user] replaces some wiring in \the [src].","You replace any burned out wiring in \the [src].") + user.visible_message("[user] replaces some wiring in \the [src].",span_notice("You replace any burned out wiring in \the [src].")) playsound(src, 'sound/items/Deconstruct.ogg', 50, 1) open = 2 update_icon() - else if(open == 2 && istype(W,/obj/item/device/multitool)) + else if(open == 2 && istype(W,/obj/item/multitool)) if(do_after(user, 8 SECONDS, src) && open == 2) - user.visible_message("[user] resets several circuits in \the [src].","You find and repair any faulty circuits in \the [src].") + user.visible_message("[user] resets several circuits in \the [src].",span_notice("You find and repair any faulty circuits in \the [src].")) open = 3 update_icon() else if(open == 3 && W.has_tool_quality(TOOL_SCREWDRIVER)) if(do_after(user, 3 SECONDS, src) && open == 3) - user.visible_message("[user] closes up \the [src].","You re-seal \the [src] for use once more.") + user.visible_message("[user] closes up \the [src].",span_notice("You re-seal \the [src] for use once more.")) playsound(src, 'sound/items/Screwdriver.ogg', 50, 1) open = FALSE durability = initial(durability) @@ -264,7 +266,7 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable update_icon() //Icon updating -/obj/item/device/nif/update_icon() +/obj/item/nif/update_icon() if(open) icon_state = "nif_open[open]" else @@ -281,7 +283,7 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable icon_state = "nif_2" //The (dramatic) install process -/obj/item/device/nif/proc/handle_install() +/obj/item/nif/proc/handle_install() if(human.stat || !human.mind) //No stuff while KO or not sleeved return FALSE persist_storable = FALSE //VOREStation edit - I am not sure if polaris has nifs, but just in case. @@ -331,10 +333,10 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable human.custom_pain(message,35) if(2) human.Weaken(5) - to_chat(human,"A wave of weakness rolls over you.") + to_chat(human,span_danger("A wave of weakness rolls over you.")) /*if(3) human.Sleeping(5) //Disabled for being boring - to_chat(human,"You suddenly black out!")*/ + to_chat(human,span_danger("You suddenly black out!"))*/ //Finishing up if(1.0 to INFINITY) @@ -350,7 +352,7 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable notify("Calibration complete! User data stored!") //Called each life() tick on the mob -/obj/item/device/nif/proc/life() +/obj/item/nif/proc/life() if(!human || loc != human.get_organ(should_be_in)) unimplant(human) return FALSE @@ -388,20 +390,20 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable return FALSE //Prints 'AR' messages to the user -/obj/item/device/nif/proc/notify(var/message,var/alert = 0) +/obj/item/nif/proc/notify(var/message,var/alert = 0) if(!human || stat == NIF_TEMPFAIL) return last_notification = message // TGUI Hook - to_chat(human,"\[[icon2html(src.big_icon, human.client)]NIF\] displays, \"[message]\"") - if(prob(1)) human.visible_message("\The [human] [pick(look_messages)].") + to_chat(human,span_filter_nif(span_bold("\[[icon2html(src.big_icon, human.client)]NIF\]") + " displays, " + (alert ? span_danger(message) : span_notice(message)))) + if(prob(1)) human.visible_message(span_notice("\The [human] [pick(look_messages)].")) if(alert) human << bad_sound else human << good_sound //Called to spend nutrition, returns 1 if it was able to -/obj/item/device/nif/proc/use_charge(var/use_charge) +/obj/item/nif/proc/use_charge(var/use_charge) if(stat != NIF_WORKING) return FALSE //You don't want us to take any? Well okay. @@ -419,7 +421,7 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable // This operates on a nifsoft *path*, not an instantiation. // It tells the nifsoft shop if it's installation will succeed, to prevent it // from charging the user for incompatible software. -/obj/item/device/nif/proc/can_install(var/datum/nifsoft/path) +/obj/item/nif/proc/can_install(var/datum/nifsoft/path) if(stat == NIF_TEMPFAIL) return FALSE @@ -440,7 +442,7 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable return TRUE //Install a piece of software -/obj/item/device/nif/proc/install(var/datum/nifsoft/new_soft) +/obj/item/nif/proc/install(var/datum/nifsoft/new_soft) if(stat == NIF_TEMPFAIL) return FALSE if(nifsofts[new_soft.list_pos]) @@ -466,7 +468,7 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable return TRUE //Uninstall a piece of software -/obj/item/device/nif/proc/uninstall(var/datum/nifsoft/old_soft) +/obj/item/nif/proc/uninstall(var/datum/nifsoft/old_soft) var/datum/nifsoft/NS if(nifsofts) NS = nifsofts[old_soft.list_pos] @@ -490,11 +492,11 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable return TRUE //Activate a nifsoft -/obj/item/device/nif/proc/activate(var/datum/nifsoft/soft) +/obj/item/nif/proc/activate(var/datum/nifsoft/soft) if(stat != NIF_WORKING) return FALSE if(human) - if(prob(5)) human.visible_message("\The [human] [pick(look_messages)].") + if(prob(5)) human.visible_message(span_notice("\The [human] [pick(look_messages)].")) var/applies_to = soft.applies_to var/synth = human.isSynthetic() if(synth && !(applies_to & NIF_SYNTHETIC)) @@ -519,9 +521,9 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable return TRUE //Deactivate a nifsoft -/obj/item/device/nif/proc/deactivate(var/datum/nifsoft/soft) +/obj/item/nif/proc/deactivate(var/datum/nifsoft/soft) if(human) - if(prob(5)) human.visible_message("\The [human] [pick(look_messages)].") + if(prob(5)) human.visible_message(span_notice("\The [human] [pick(look_messages)].")) human << click_sound if(soft.tick_flags == NIF_ACTIVETICK) @@ -532,14 +534,14 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable return TRUE //Deactivate several nifsofts -/obj/item/device/nif/proc/deactivate_these(var/list/turn_off) +/obj/item/nif/proc/deactivate_these(var/list/turn_off) for(var/N in turn_off) var/datum/nifsoft/NS = nifsofts[N] if(NS) NS.deactivate() //Add a flag to one of the holders -/obj/item/device/nif/proc/set_flag(var/flag,var/hint) +/obj/item/nif/proc/set_flag(var/flag,var/hint) ASSERT(flag != null && hint) switch(hint) @@ -555,7 +557,7 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable CRASH("Not a valid NIF set_flag hint: [hint]") //Clear a flag from one of the holders -/obj/item/device/nif/proc/clear_flag(var/flag,var/hint) +/obj/item/nif/proc/clear_flag(var/flag,var/hint) ASSERT(flag != null && hint) switch(hint) @@ -571,7 +573,7 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable CRASH("Not a valid NIF clear_flag hint: [hint]") //Check for an installed implant -/obj/item/device/nif/proc/imp_check(var/soft) +/obj/item/nif/proc/imp_check(var/soft) if(stat != NIF_WORKING) return FALSE ASSERT(soft) @@ -583,7 +585,7 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable return entry //Check for a set flag -/obj/item/device/nif/proc/flag_check(var/flag,var/hint) +/obj/item/nif/proc/flag_check(var/flag,var/hint) if(stat != NIF_WORKING) return FALSE ASSERT(flag && hint) @@ -603,59 +605,62 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable return result -/obj/item/device/nif/proc/planes_visible() +/obj/item/nif/proc/planes_visible() if(stat != NIF_WORKING) return list() //None! return planes_visible -/obj/item/device/nif/proc/add_plane(var/planeid = null) +/obj/item/nif/proc/add_plane(var/planeid = null) if(!planeid) return planes_visible |= planeid -/obj/item/device/nif/proc/del_plane(var/planeid = null) +/obj/item/nif/proc/del_plane(var/planeid = null) if(!planeid) return planes_visible -= planeid -/obj/item/device/nif/proc/vis_update() +/obj/item/nif/proc/vis_update() if(human) human.recalculate_vis() // Alternate NIFs -/obj/item/device/nif/bad +/obj/item/nif/bad name = "bootleg NIF" desc = "When NanoTrasen tried to replicate the NIF tech by themselves, this is what they made. You probably shouldn't allow this inside you." durability = 10 starting_software = null -/obj/item/device/nif/authentic - name = "Authentic NIF" - desc = "A much more expensive, advanced prototype of the NIF technology. Not usually found in the frontier." +/obj/item/nif/authentic + name = "luxury NIF" + desc = "An actual nano working surface, in a box. These are the high-end models, usually only available to big spenders and those with serious contacts. \ + Despite the all the marketing speak, they're really just a high-endurance NIF when it comes down to it." durability = 1000 -/obj/item/device/nif/authenticbio +// YW Addition: START +/obj/item/nif/authenticbio name = "Bioadaptive Authentic NIF" desc = "The cutting-edge of NIF technology, this is the strongest, most reliable, and most adaptive framework developed to date. Extremely expensive to produce." durability = 1000 bioadap = TRUE +// YW Addition: END -/obj/item/device/nif/bioadap +/obj/item/nif/bioadap name = "bioadaptive NIF" - desc = "A NIF that goes out of it's way to accomidate strange body types. \ + desc = "A NIF that goes out of it's way to accomodate strange body types. \ Will function in species where it normally wouldn't." durability = 75 bioadap = TRUE -/obj/item/device/nif/protean // Proteans' integrated NIF +/obj/item/nif/protean // Proteans' integrated NIF name = "protean integrated NIF" desc = "A NIF that is part of a protean's body structure. Where did you get that anyway?" durability = 25 bioadap = TRUE gib_nodrop = TRUE -/obj/item/device/nif/glitch +/obj/item/nif/glitch name = "weird NIF" desc = "A NIF of a very dubious origin. It seems to be more durable than normal one... But are you sure about this?" durability = 300 @@ -669,7 +674,7 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable //////////////////////////////// // Special Promethean """surgery""" -/obj/item/device/nif/attack(mob/living/M, mob/living/user, var/target_zone) +/obj/item/nif/attack(mob/living/M, mob/living/user, var/target_zone) if(!ishuman(M) || !ishuman(user) || (M == user)) return ..() @@ -678,14 +683,14 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable if(istype(T.species,/datum/species/shapeshifter/promethean) && target_zone == BP_TORSO) if(T.w_uniform || T.wear_suit) - to_chat(user,"Remove any clothing they have on, as it might interfere!") + to_chat(user,span_warning("Remove any clothing they have on, as it might interfere!")) return var/obj/item/organ/external/eo = T.get_organ(BP_TORSO) if(!T) - to_chat(user,"They should probably regrow their torso first.") + to_chat(user,span_warning("They should probably regrow their torso first.")) return - U.visible_message("[U] begins installing [src] into [T]'s chest by just stuffing it in.", - "You begin installing [src] into [T]'s chest by just stuffing it in.", + U.visible_message(span_notice("[U] begins installing [src] into [T]'s chest by just stuffing it in."), + span_notice("You begin installing [src] into [T]'s chest by just stuffing it in."), "There's a wet SQUISH noise.") if(do_mob(user = user, target = T, time = 200, target_zone = BP_TORSO)) user.unEquip(src) @@ -699,11 +704,11 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable /mob/living/carbon/human/proc/set_nif_examine() set name = "NIF Appearance" set desc = "If your NIF alters your appearance in some way, describe it here." - set category = "OOC" + set category = "OOC.Game Settings" if(!nif) - verbs -= /mob/living/carbon/human/proc/set_nif_examine - to_chat(src,"You don't have a NIF, not sure why this was here.") + remove_verb(src, /mob/living/carbon/human/proc/set_nif_examine) + to_chat(src,span_warning("You don't have a NIF, not sure why this was here.")) return var/new_flavor = sanitize(tgui_input_text(src,"Describe how your NIF alters your appearance, like glowy eyes or metal plate on your head, etc. Be sensible. Clear this for no examine text. 128ch max.","Describe NIF", nif.examine_msg, 128), max_length = 128) diff --git a/code/modules/nifsoft/nif_softshop.dm b/code/modules/nifsoft/nif_softshop.dm index 3fb2f436846..a6877106217 100644 --- a/code/modules/nifsoft/nif_softshop.dm +++ b/code/modules/nifsoft/nif_softshop.dm @@ -102,21 +102,21 @@ var/datum/nifsoft/path = R.item_path if(!ishuman(user)) return FALSE - + var/mob/living/carbon/human/H = user if(!H.nif || !H.nif.stat == NIF_WORKING) - to_chat(H, "[src] seems unable to connect to your NIF...") + to_chat(H, span_warning("[src] seems unable to connect to your NIF...")) return FALSE if(!H.nif.can_install(path)) flick("[icon_state]-deny", entopic.my_image) return FALSE - + if(initial(path.access)) var/list/soft_access = list(initial(path.access)) var/list/usr_access = user.GetAccess() if(scan_id && !has_access(soft_access, list(), usr_access) && !emagged) - to_chat(user, "You aren't authorized to buy [initial(path.name)].") + to_chat(user, span_warning("You aren't authorized to buy [initial(path.name)].")) flick("[icon_state]-deny", entopic.my_image) return FALSE @@ -124,7 +124,7 @@ /obj/machinery/vending/nifsoft_shop/vend(datum/stored_item/vending_product/R, mob/user) var/mob/living/carbon/human/H = user if(!can_buy(R, user)) //For SECURE VENDING MACHINES YEAH - to_chat(user, "Purchase not allowed.") //Unless emagged of course + to_chat(user, span_warning("Purchase not allowed.")) //Unless emagged of course flick("[icon_state]-deny",entopic.my_image) return vend_ready = 0 //One thing at a time!! @@ -132,13 +132,13 @@ if(R.category & CAT_COIN) if(!coin) - to_chat(user, "You need to insert a coin to get this item.") + to_chat(user, span_notice("You need to insert a coin to get this item.")) return if(coin.string_attached) if(prob(50)) - to_chat(user, "You successfully pull the coin out before \the [src] could swallow it.") + to_chat(user, span_notice("You successfully pull the coin out before \the [src] could swallow it.")) else - to_chat(user, "You weren't able to pull the coin out fast enough, the machine ate it, string and all.") + to_chat(user, span_notice("You weren't able to pull the coin out fast enough, the machine ate it, string and all.")) qdel(coin) coin = null categories &= ~CAT_COIN diff --git a/code/modules/nifsoft/nif_tgui.dm b/code/modules/nifsoft/nif_tgui.dm index fecf50fe875..35fe90115b9 100644 --- a/code/modules/nifsoft/nif_tgui.dm +++ b/code/modules/nifsoft/nif_tgui.dm @@ -4,7 +4,7 @@ /** * Etc variables on the NIF to keep this self contained */ -/obj/item/device/nif +/obj/item/nif var/static/list/valid_ui_themes = list( "abductor", "cardtable", @@ -46,7 +46,7 @@ UnregisterSignal(screen_icon, COMSIG_CLICK) qdel_null(screen_icon) if(ishuman(parent)) - owner.verbs -= /mob/living/carbon/human/proc/nif_menu + remove_verb(owner, /mob/living/carbon/human/proc/nif_menu) /datum/component/nif_menu/proc/create_mob_button(mob/user) @@ -60,7 +60,7 @@ LAZYADD(HUD.other_important, screen_icon) user.client?.screen += screen_icon - user.verbs |= /mob/living/carbon/human/proc/nif_menu + add_verb(user, /mob/living/carbon/human/proc/nif_menu) /datum/component/nif_menu/proc/nif_menu_click(source, location, control, params, user) var/mob/living/carbon/human/H = user @@ -81,23 +81,23 @@ */ /mob/living/carbon/human/proc/nif_menu() set name = "NIF Menu" - set category = "IC" + set category = "IC.Nif" set desc = "Open the NIF user interface." - var/obj/item/device/nif/N = nif + var/obj/item/nif/N = nif if(istype(N)) N.tgui_interact(usr) /** * The NIF State ensures that only our authorized implanted user can touch us. */ -/obj/item/device/nif/tgui_state(mob/user) +/obj/item/nif/tgui_state(mob/user) return GLOB.tgui_nif_main_state /** * Standard TGUI stub to open the NIF.js template. */ -/obj/item/device/nif/tgui_interact(mob/user, datum/tgui/ui, datum/tgui/parent_ui) +/obj/item/nif/tgui_interact(mob/user, datum/tgui/ui, datum/tgui/parent_ui) if(!ishuman(user)) return FALSE ui = SStgui.try_update_ui(user, src, ui) @@ -109,7 +109,7 @@ * tgui_data gives the UI any relevant data it needs. * In our case, that's basically everything from our statpanel. */ -/obj/item/device/nif/tgui_data(mob/user, datum/tgui/ui, datum/tgui_state/state) +/obj/item/nif/tgui_data(mob/user, datum/tgui/ui, datum/tgui_state/state) var/list/data = ..() data["valid_themes"] = valid_ui_themes @@ -150,7 +150,7 @@ /** * tgui_act handles all user input in the UI. */ -/obj/item/device/nif/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state) +/obj/item/nif/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state) if(..()) return TRUE diff --git a/code/modules/nifsoft/nifsoft.dm b/code/modules/nifsoft/nifsoft.dm index 297e064ae87..0629650c24c 100644 --- a/code/modules/nifsoft/nifsoft.dm +++ b/code/modules/nifsoft/nifsoft.dm @@ -6,7 +6,7 @@ var/name = "Prototype" var/desc = "Contact a dev!" - var/obj/item/device/nif/nif //The NIF that the software is stored in + var/obj/item/nif/nif //The NIF that the software is stored in var/list_pos // List position in the nifsoft list @@ -47,7 +47,7 @@ var/list/incompatible_with = null // List of NIFSofts that are disabled when this one is enabled //Constructor accepts the NIF it's being loaded into -/datum/nifsoft/New(var/obj/item/device/nif/nif_load) +/datum/nifsoft/New(var/obj/item/nif/nif_load) ASSERT(nif_load) nif = nif_load @@ -166,7 +166,7 @@ wear = 0 //Packages don't cause wear themselves, the software does //Constructor accepts a NIF and loads all the software -/datum/nifsoft/package/New(var/obj/item/device/nif/nif_load) +/datum/nifsoft/package/New(var/obj/item/nif/nif_load) ASSERT(nif_load) for(var/P in software) @@ -182,7 +182,7 @@ ///////////////// // A NIFSoft Uploader -/obj/item/weapon/disk/nifsoft +/obj/item/disk/nifsoft name = "NIFSoft Uploader" desc = "It has a small label: \n\ \"Portable NIFSoft Installation Media. \n\ @@ -198,7 +198,7 @@ var/datum/nifsoft/stored_organic = null var/datum/nifsoft/stored_synthetic = null -/obj/item/weapon/disk/nifsoft/afterattack(var/A, mob/user, flag, params) +/obj/item/disk/nifsoft/afterattack(var/A, mob/user, flag, params) if(!in_range(user, A)) return @@ -209,14 +209,14 @@ var/mob/living/carbon/human/Hu = user if(!Ht.nif || Ht.nif.stat != NIF_WORKING) - to_chat(user,"Either they don't have a NIF, or the uploader can't connect.") + to_chat(user,span_warning("Either they don't have a NIF, or the uploader can't connect.")) return var/extra = extra_params() if(A == user) - to_chat(user,"You upload [src] into your NIF.") + to_chat(user,span_notice("You upload [src] into your NIF.")) else - Ht.visible_message("[Hu] begins uploading [src] into [Ht]!","[Hu] is uploading [src] into you!") + Ht.visible_message(span_warning("[Hu] begins uploading [src] into [Ht]!"),span_danger("[Hu] is uploading [src] into you!")) icon_state = "[initial(icon_state)]-animate" //makes it play the item animation upon using on a valid target update_icon() @@ -240,12 +240,12 @@ update_icon() //So disks can pass fancier stuff. -/obj/item/weapon/disk/nifsoft/proc/extra_params() +/obj/item/disk/nifsoft/proc/extra_params() return null // Compliance Disk // -/obj/item/weapon/disk/nifsoft/compliance +/obj/item/disk/nifsoft/compliance name = "NIFSoft Uploader (Compliance)" desc = "Wow, adding laws to people? That seems illegal. It probably is. Okay, it really is." icon_state = "compliance" @@ -258,26 +258,26 @@ stored_synthetic = /datum/nifsoft/compliance var/laws -/obj/item/weapon/disk/nifsoft/compliance/afterattack(var/A, mob/user, flag, params) +/obj/item/disk/nifsoft/compliance/afterattack(var/A, mob/user, flag, params) if(!ishuman(A)) return if(!laws) - to_chat(user,"You haven't set any laws yet. Use the disk in-hand first.") + to_chat(user,span_warning("You haven't set any laws yet. Use the disk in-hand first.")) return ..(A,user,flag,params) -/obj/item/weapon/disk/nifsoft/compliance/attack_self(mob/user) +/obj/item/disk/nifsoft/compliance/attack_self(mob/user) var/newlaws = tgui_input_text(user, "Please Input Laws", "Compliance Laws", laws, multiline = TRUE, prevent_enter = TRUE) newlaws = sanitize(newlaws,2048) if(newlaws) - to_chat(user,"You set the laws to:
    [newlaws]
    ") + to_chat(user,span_filter_notice("You set the laws to:
    " + span_notice("[newlaws]"))) laws = newlaws -/obj/item/weapon/disk/nifsoft/compliance/extra_params() +/obj/item/disk/nifsoft/compliance/extra_params() return laws // Security Disk // -/obj/item/weapon/disk/nifsoft/security +/obj/item/disk/nifsoft/security name = "NIFSoft Uploader - Security" desc = "Contains free NIFSofts useful for security members.\n\ It has a small label: \n\ @@ -291,19 +291,19 @@ /datum/nifsoft/package/security software = list(/datum/nifsoft/ar_sec,/datum/nifsoft/flashprot) -/obj/item/weapon/storage/box/nifsofts_security +/obj/item/storage/box/nifsofts_security name = "security nifsoft uploaders" desc = "A box of free nifsofts for security employees." icon = 'icons/obj/boxes.dmi' icon_state = "nifsoft_kit_sec" -/obj/item/weapon/storage/box/nifsofts_security/New() +/obj/item/storage/box/nifsofts_security/New() ..() for(var/i = 0 to 7) - new /obj/item/weapon/disk/nifsoft/security(src) + new /obj/item/disk/nifsoft/security(src) // Engineering Disk // -/obj/item/weapon/disk/nifsoft/engineering +/obj/item/disk/nifsoft/engineering name = "NIFSoft Uploader - Engineering" desc = "Contains free NIFSofts useful for engineering members.\n\ It has a small label: \n\ @@ -317,19 +317,19 @@ /datum/nifsoft/package/engineering software = list(/datum/nifsoft/ar_eng,/datum/nifsoft/alarmmonitor,/datum/nifsoft/uvblocker) -/obj/item/weapon/storage/box/nifsofts_engineering +/obj/item/storage/box/nifsofts_engineering name = "engineering nifsoft uploaders" desc = "A box of free nifsofts for engineering employees." icon = 'icons/obj/boxes.dmi' icon_state = "nifsoft_kit_eng" -/obj/item/weapon/storage/box/nifsofts_engineering/New() +/obj/item/storage/box/nifsofts_engineering/New() ..() for(var/i = 0 to 7) - new /obj/item/weapon/disk/nifsoft/engineering(src) + new /obj/item/disk/nifsoft/engineering(src) // Medical Disk // -/obj/item/weapon/disk/nifsoft/medical +/obj/item/disk/nifsoft/medical name = "NIFSoft Uploader - Medical" desc = "Contains free NIFSofts useful for medical members.\n\ It has a small label: \n\ @@ -342,19 +342,19 @@ /datum/nifsoft/package/medical software = list(/datum/nifsoft/ar_med,/datum/nifsoft/crewmonitor) -/obj/item/weapon/storage/box/nifsofts_medical +/obj/item/storage/box/nifsofts_medical name = "medical nifsoft uploaders" desc = "A box of free nifsofts for medical employees." icon = 'icons/obj/boxes.dmi' icon_state = "nifsoft_kit_med" -/obj/item/weapon/storage/box/nifsofts_medical/New() +/obj/item/storage/box/nifsofts_medical/New() ..() for(var/i = 0 to 7) - new /obj/item/weapon/disk/nifsoft/medical(src) + new /obj/item/disk/nifsoft/medical(src) // Mining Disk // -/obj/item/weapon/disk/nifsoft/mining +/obj/item/disk/nifsoft/mining name = "NIFSoft Uploader - Mining" desc = "Contains free NIFSofts useful for mining members.\n\ It has a small label: \n\ @@ -371,19 +371,48 @@ /datum/nifsoft/package/mining_synth software = list(/datum/nifsoft/material,/datum/nifsoft/pressure,/datum/nifsoft/heatsinks) -/obj/item/weapon/storage/box/nifsofts_mining +/obj/item/storage/box/nifsofts_mining name = "mining nifsoft uploaders" desc = "A box of free nifsofts for mining employees." icon = 'icons/obj/boxes.dmi' icon_state = "nifsoft_kit_mining" -/obj/item/weapon/storage/box/nifsofts_mining/New() +/obj/item/storage/box/nifsofts_mining/New() ..() for(var/i = 0 to 7) - new /obj/item/weapon/disk/nifsoft/mining(src) + new /obj/item/disk/nifsoft/mining(src) + +// Pilot Disk // +/obj/item/disk/nifsoft/pilot + name = "NIFSoft Uploader - Pilot" + desc = "Contains free NIFSofts useful for pilot members.\n\ + It has a small label: \n\ + \"Portable NIFSoft Installation Media. \n\ + Align ocular port with eye socket and depress red plunger.\"" + icon = 'icons/obj/nanomods_vr.dmi' + icon_state = "pilot" + stored_organic = /datum/nifsoft/package/pilot + stored_synthetic = /datum/nifsoft/package/pilot_synth + +/datum/nifsoft/package/pilot + software = list(/datum/nifsoft/spare_breath) + +/datum/nifsoft/package/pilot_synth + software = list(/datum/nifsoft/pressure,/datum/nifsoft/heatsinks) + +/obj/item/storage/box/nifsofts_pilot + name = "pilot nifsoft uploaders" + desc = "A box of free nifsofts for pilot employees." + icon = 'icons/obj/boxes_vr.dmi' + icon_state = "nifsoft_kit_pilot" + +/obj/item/storage/box/nifsofts_pilot/New() + ..() + for(var/i = 0 to 7) + new /obj/item/disk/nifsoft/pilot(src) // Mass Alteration Disk // -/obj/item/weapon/disk/nifsoft/sizechange +/obj/item/disk/nifsoft/sizechange name = "NIFSoft Uploader - Mass Alteration" desc = "Contains free NIFSofts for special purposes.\n\ It has a small label: \n\ @@ -394,13 +423,13 @@ stored_organic = /datum/nifsoft/sizechange stored_synthetic = /datum/nifsoft/sizechange -/obj/item/weapon/storage/box/nifsofts_sizechange +/obj/item/storage/box/nifsofts_sizechange name = "mass alteration nifsoft uploaders" desc = "A box of free nifsofts for special purposes." icon = 'icons/obj/boxes.dmi' icon_state = "nifsoft_kit_mining" -/obj/item/weapon/storage/box/nifsofts_sizechange/New() +/obj/item/storage/box/nifsofts_sizechange/New() ..() for(var/i = 0 to 7) - new /obj/item/weapon/disk/nifsoft/sizechange(src) \ No newline at end of file + new /obj/item/disk/nifsoft/sizechange(src) diff --git a/code/modules/nifsoft/nifsoft_vr.dm b/code/modules/nifsoft/nifsoft_vr.dm deleted file mode 100644 index 0ea055d35a0..00000000000 --- a/code/modules/nifsoft/nifsoft_vr.dm +++ /dev/null @@ -1,28 +0,0 @@ -// Pilot Disk // -/obj/item/weapon/disk/nifsoft/pilot - name = "NIFSoft Uploader - Pilot" - desc = "Contains free NIFSofts useful for pilot members.\n\ - It has a small label: \n\ - \"Portable NIFSoft Installation Media. \n\ - Align ocular port with eye socket and depress red plunger.\"" - icon = 'icons/obj/nanomods_vr.dmi' - icon_state = "pilot" - stored_organic = /datum/nifsoft/package/pilot - stored_synthetic = /datum/nifsoft/package/pilot_synth - -/datum/nifsoft/package/pilot - software = list(/datum/nifsoft/spare_breath) - -/datum/nifsoft/package/pilot_synth - software = list(/datum/nifsoft/pressure,/datum/nifsoft/heatsinks) - -/obj/item/weapon/storage/box/nifsofts_pilot - name = "pilot nifsoft uploaders" - desc = "A box of free nifsofts for pilot employees." - icon = 'icons/obj/boxes_vr.dmi' - icon_state = "nifsoft_kit_pilot" - -/obj/item/weapon/storage/box/nifsofts_pilot/New() - ..() - for(var/i = 0 to 7) - new /obj/item/weapon/disk/nifsoft/pilot(src) \ No newline at end of file diff --git a/code/modules/nifsoft/software/05_health.dm b/code/modules/nifsoft/software/05_health.dm index 3386d185cf4..10bb3b0db7b 100644 --- a/code/modules/nifsoft/software/05_health.dm +++ b/code/modules/nifsoft/software/05_health.dm @@ -46,7 +46,7 @@ mode = 3 if(!isbelly(H.loc)) //Not notified in case of vore, for gameplay purposes. var/turf/T = get_turf(H) - var/obj/item/device/radio/headset/a = new /obj/item/device/radio/headset/heads/captain(null) + var/obj/item/radio/headset/a = new /obj/item/radio/headset/heads/captain(null) a.autosay("[H.real_name] has been put in emergency stasis, located at ([T.x],[T.y],[T.z])!", "[H.real_name]'s NIF", "Medical") qdel(a) @@ -129,7 +129,7 @@ mode = 3 //this does nothing except stop it from repeating over and over and over and over and over and over and over if(!isbelly(S.loc)) //Not notified in case of vore, for gameplay purposes. var/turf/T = get_turf(S) - var/obj/item/device/radio/headset/a = new /obj/item/device/radio/headset/heads/captain(null) + var/obj/item/radio/headset/a = new /obj/item/radio/headset/heads/captain(null) a.autosay("[S.real_name] is in a critical condition, located at ([T.x],[T.y],[T.z])!", "[S.real_name]'s NIF", "Medical") qdel(a) diff --git a/code/modules/nifsoft/software/10_combat.dm b/code/modules/nifsoft/software/10_combat.dm index c2ac5ae58d2..9ce840b6121 100644 --- a/code/modules/nifsoft/software/10_combat.dm +++ b/code/modules/nifsoft/software/10_combat.dm @@ -85,7 +85,7 @@ var/global/datum/unarmed_attack/hardclaws/unarmed_hardclaws = new() var/mob/living/carbon/human/H = nif.human H.adjustHalLoss(30) - var/obj/item/weapon/gun/energy/gun/compact/dazzle/dgun = new(get_turf(H)) + var/obj/item/gun/energy/gun/compact/dazzle/dgun = new(get_turf(H)) H.put_in_hands(dgun) nif.notify("Weapon deployed!",TRUE) used = TRUE @@ -93,6 +93,6 @@ var/global/datum/unarmed_attack/hardclaws/unarmed_hardclaws = new() uninstall() //The gun to go with this implant -/obj/item/weapon/gun/energy/gun/compact/dazzle +/obj/item/gun/energy/gun/compact/dazzle name = "Microlaser" desc = "A tiny nanofabricated laser." diff --git a/code/modules/nifsoft/software/13_soulcatcher.dm b/code/modules/nifsoft/software/13_soulcatcher.dm index a6e91a9efb9..82d506678bd 100644 --- a/code/modules/nifsoft/software/13_soulcatcher.dm +++ b/code/modules/nifsoft/software/13_soulcatcher.dm @@ -46,14 +46,14 @@ if((. = ..())) //nif.set_flag(NIF_O_SCOTHERS,NIF_FLAGS_OTHER) //Only required on install if the flag is in the default setting_flags list defined few lines above. if(nif?.human) - nif.human.verbs |= /mob/proc/nsay - nif.human.verbs |= /mob/proc/nme + add_verb(nif.human, /mob/proc/nsay) + add_verb(nif.human, /mob/proc/nme) /datum/nifsoft/soulcatcher/uninstall() QDEL_LIST_NULL(brainmobs) if((. = ..()) && nif?.human) //Sometimes NIFs are deleted outside of a human - nif.human.verbs -= /mob/proc/nsay - nif.human.verbs -= /mob/proc/nme + remove_verb(nif.human, /mob/proc/nsay) + remove_verb(nif.human, /mob/proc/nme) /datum/nifsoft/soulcatcher/proc/save_settings() if(!nif) @@ -74,13 +74,13 @@ to_chat(nif.human, type = MESSAGE_TYPE_NIF, - html = "\[[icon2html(nif.big_icon, nif.human)]NIF\] Soulcatcher displays, \"[message]\"") + html = span_nif(span_bold("\[[icon2html(nif.big_icon, nif.human)]NIF\]") + " " + span_bold("Soulcatcher") + " displays, \"" + span_notice(span_nif("[message]")) + "\"")) nif.human << sound for(var/mob/living/carbon/brain/caught_soul/CS as anything in brainmobs) to_chat(CS, type = MESSAGE_TYPE_NIF, - html = "\[[icon2html(nif.big_icon, CS.client)]NIF\] Soulcatcher displays, \"[message]\"") + html = span_nif(span_bold("\[[icon2html(nif.big_icon, CS.client)]NIF\]") + " " + span_bold("Soulcatcher") + " displays, \"" + span_notice(span_nif("[message]")) + "\"")) CS << sound /datum/nifsoft/soulcatcher/proc/say_into(var/message, var/mob/living/sender, var/mob/eyeobj) @@ -88,17 +88,17 @@ //AR Projecting if(eyeobj) - sender.eyeobj.visible_message("[sender_name] says, \"[message]\"") + sender.eyeobj.visible_message(span_game(span_say(span_bold("[sender_name]") + " says, \"[message]\""))) //Not AR Projecting else to_chat(nif.human, type = MESSAGE_TYPE_NIF, - html = "\[[icon2html(nif.big_icon, nif.human.client)]NIF\] [sender_name] speaks, \"[message]\"") + html = span_nif(span_bold("\[[icon2html(nif.big_icon, nif.human.client)]NIF\]") + " " + span_bold("[sender_name]") + " speaks, \"[message]\"")) for(var/mob/living/carbon/brain/caught_soul/CS as anything in brainmobs) to_chat(CS, type = MESSAGE_TYPE_NIF, - html = "\[[icon2html(nif.big_icon, CS.client)]NIF\] [sender_name] speaks, \"[message]\"") + html = span_nif(span_bold("\[[icon2html(nif.big_icon, CS.client)]NIF\]") + " " + span_bold("[sender_name]") + " speaks, \"[message]\"")) log_nsay(message,nif.human.real_name,sender) @@ -107,17 +107,17 @@ //AR Projecting if(eyeobj) - sender.eyeobj.visible_message("[sender_name] [message]") + sender.eyeobj.visible_message(span_emote("[sender_name] [message]")) //Not AR Projecting else to_chat(nif.human, type = MESSAGE_TYPE_NIF, - html = "\[[icon2html(nif.big_icon,nif.human.client)]NIF\] [sender_name] [message]") + html = span_nif(span_bold("\[[icon2html(nif.big_icon,nif.human.client)]NIF\]") + " " + span_bold("[sender_name]") + " [message]")) for(var/mob/living/carbon/brain/caught_soul/CS as anything in brainmobs) to_chat(CS, type = MESSAGE_TYPE_NIF, - html = "\[[icon2html(nif.big_icon,CS.client)]NIF\] [sender_name] [message]") + html = span_nif(span_bold("\[[icon2html(nif.big_icon,CS.client)]NIF\]") + " " + span_bold("[sender_name]") + " [message]")) log_nme(message,nif.human.real_name,sender) @@ -145,7 +145,7 @@ inside_flavor = new_flavor nif.notify("Updating VR environment...") for(var/mob/living/carbon/brain/caught_soul/CS as anything in brainmobs) - to_chat(CS,"Your surroundings change to...\n[inside_flavor]") + to_chat(CS,span_notice("Your surroundings change to...") + "\n[inside_flavor]") save_settings() return TRUE @@ -251,7 +251,7 @@ qdel(M) //Bye ghost //Give them a flavortext message - var/message = "Your vision fades in a haze of static, before returning.\n\ + var/message = span_notice("Your vision fades in a haze of static, before returning.") + "\n\ Around you, you see...\n\ [inside_flavor]" @@ -259,8 +259,8 @@ //Reminder on how this works to host if(brainmobs.len == 1) //Only spam this on the first one - to_chat(nif.human,"Your occupant's messages/actions can only be seen by you, and you can \ - send messages that only they can hear/see by using the NSay and NMe verbs (or the *nsay and *nme emotes).") + to_chat(nif.human,span_notice("Your occupant's messages/actions can only be seen by you, and you can \ + send messages that only they can hear/see by using the NSay and NMe verbs (or the *nsay and *nme emotes).")) //Announce to host and other minds notify_into("New mind loaded: [brainmob.name]") @@ -279,7 +279,7 @@ var/client_missing = 0 //How long the client has been missing universal_understand = TRUE - var/obj/item/device/nif/nif + var/obj/item/nif/nif var/datum/nifsoft/soulcatcher/soulcatcher var/identifying_gender @@ -380,7 +380,7 @@ return if (src.client) if (client.prefs.muted & MUTE_IC) - to_chat(src, "You cannot send IC messages (muted).") + to_chat(src, span_warning("You cannot send IC messages (muted).")) return if (stat) return @@ -396,9 +396,9 @@ /mob/living/carbon/brain/caught_soul/resist() set name = "Resist" - set category = "IC" + set category = "IC.Game" - to_chat(src,"There's no way out! You're stuck in VR.") + to_chat(src,span_warning("There's no way out! You're stuck in VR.")) /////////////////// //A projected AR soul thing @@ -487,26 +487,26 @@ /mob/proc/nsay(message as text) set name = "NSay" set desc = "Speak into your NIF's Soulcatcher." - set category = "IC" + set category = "IC.NiF" src.nsay_act(message) /mob/proc/nsay_act(message as text) - to_chat(src, SPAN_WARNING("You must be a humanoid with a NIF implanted to use that.")) + to_chat(src, span_warning("You must be a humanoid with a NIF implanted to use that.")) /mob/living/carbon/human/nsay_act(message as text) if(stat != CONSCIOUS) - to_chat(src,SPAN_WARNING("You can't use NSay while unconscious.")) + to_chat(src,span_warning("You can't use NSay while unconscious.")) return if(!nif) - to_chat(src,SPAN_WARNING("You can't use NSay without a NIF.")) + to_chat(src,span_warning("You can't use NSay without a NIF.")) return var/datum/nifsoft/soulcatcher/SC = nif.imp_check(NIF_SOULCATCHER) if(!SC) - to_chat(src,SPAN_WARNING("You need the Soulcatcher software to use NSay.")) + to_chat(src,span_warning("You need the Soulcatcher software to use NSay.")) return if(!SC.brainmobs.len) - to_chat(src,SPAN_WARNING("You need a loaded mind to use NSay.")) + to_chat(src,span_warning("You need a loaded mind to use NSay.")) return if(!message) message = tgui_input_text(usr, "Type a message to say.","Speak into Soulcatcher") @@ -517,26 +517,26 @@ /mob/proc/nme(message as message) set name = "NMe" set desc = "Emote into your NIF's Soulcatcher." - set category = "IC" + set category = "IC.NiF" src.nme_act(message) /mob/proc/nme_act(message as message) - to_chat(src, SPAN_WARNING("You must be a humanoid with a NIF implanted to use that.")) + to_chat(src, span_warning("You must be a humanoid with a NIF implanted to use that.")) /mob/living/carbon/human/nme_act(message as message) if(stat != CONSCIOUS) - to_chat(src,SPAN_WARNING("You can't use NMe while unconscious.")) + to_chat(src,span_warning("You can't use NMe while unconscious.")) return if(!nif) - to_chat(src,SPAN_WARNING("You can't use NMe without a NIF.")) + to_chat(src,span_warning("You can't use NMe without a NIF.")) return var/datum/nifsoft/soulcatcher/SC = nif.imp_check(NIF_SOULCATCHER) if(!SC) - to_chat(src,SPAN_WARNING("You need the Soulcatcher software to use NMe.")) + to_chat(src,span_warning("You need the Soulcatcher software to use NMe.")) return if(!SC.brainmobs.len) - to_chat(src,SPAN_WARNING("You need a loaded mind to use NMe.")) + to_chat(src,span_warning("You need a loaded mind to use NMe.")) return if(!message) @@ -553,11 +553,11 @@ set category = "Soulcatcher" if(eyeobj) - to_chat(src,"You're already projecting in AR!") + to_chat(src,span_warning("You're already projecting in AR!")) return if(!(soulcatcher.setting_flags & NIF_SC_PROJECTING)) - to_chat(src,"Projecting from this NIF has been disabled!") + to_chat(src,span_warning("Projecting from this NIF has been disabled!")) return if(!client || !client.prefs) @@ -572,7 +572,7 @@ set category = "Soulcatcher" if(!eyeobj) - to_chat(src,"You're not projecting into AR!") + to_chat(src,span_warning("You're not projecting into AR!")) return eyeobj.forceMove(get_turf(nif)) @@ -583,7 +583,7 @@ set category = "Soulcatcher" if(!eyeobj) - to_chat(src,"You're not projecting into AR!") + to_chat(src,span_warning("You're not projecting into AR!")) return QDEL_NULL(eyeobj) diff --git a/code/modules/nifsoft/software/14_commlink.dm b/code/modules/nifsoft/software/14_commlink.dm index 79cac60fa98..14061432276 100644 --- a/code/modules/nifsoft/software/14_commlink.dm +++ b/code/modules/nifsoft/software/14_commlink.dm @@ -14,7 +14,7 @@ nif.comm = new(nif,src) /datum/nifsoft/commlink/uninstall() - var/obj/item/device/nif/lnif = nif //Awkward. Parent clears it in an attempt to clean up. + var/obj/item/nif/lnif = nif //Awkward. Parent clears it in an attempt to clean up. if((. = ..()) && lnif) QDEL_NULL(lnif.comm) @@ -32,44 +32,44 @@ if(href_list["open"]) activate() -/obj/item/device/communicator/commlink +/obj/item/communicator/commlink name = "commlink" desc = "An internal communicator, basically." occupation = "\[Commlink\]" - var/obj/item/device/nif/nif + var/obj/item/nif/nif var/datum/nifsoft/commlink/nifsoft -/obj/item/device/communicator/commlink/New(var/newloc,var/soft) +/obj/item/communicator/commlink/New(var/newloc,var/soft) ..() nif = newloc nifsoft = soft -/obj/item/device/communicator/commlink/Destroy() +/obj/item/communicator/commlink/Destroy() if(nif) nif.comm = null nif = null nifsoft = null return ..() -/obj/item/device/communicator/commlink/register_device(var/new_name) +/obj/item/communicator/commlink/register_device(var/new_name) owner = new_name name = "[owner]'s [initial(name)]" nif.save_data["commlink_name"] = owner //So that only the owner's chat is relayed to others. -/obj/item/device/communicator/commlink/hear_talk(mob/living/M, list/message_pieces, verb) +/obj/item/communicator/commlink/hear_talk(mob/living/M, list/message_pieces, verb) if(M != nif.human) return - for(var/obj/item/device/communicator/comm in communicating) + for(var/obj/item/communicator/comm in communicating) var/turf/T = get_turf(comm) if(!T) return var/icon_object = src var/list/mobs_to_relay - if(istype(comm, /obj/item/device/communicator/commlink)) - var/obj/item/device/communicator/commlink/CL = comm + if(istype(comm, /obj/item/communicator/commlink)) + var/obj/item/communicator/commlink/CL = comm mobs_to_relay = list(CL.nif.human) icon_object = CL.nif.big_icon else @@ -81,22 +81,22 @@ var/message = combined["formatted"] var/name_used = M.GetVoice() var/rendered = null - rendered = "[icon2html(icon_object,mob.client)] [name_used] [message]" + rendered = span_game(span_say("[icon2html(icon_object,mob.client)] [span_name(name_used)] [message]")) mob.show_message(rendered, 2) //Not supported by the internal one -/obj/item/device/communicator/commlink/show_message(msg, type, alt, alt_type) +/obj/item/communicator/commlink/show_message(msg, type, alt, alt_type) return //The silent treatment -/obj/item/device/communicator/commlink/request(var/atom/candidate) +/obj/item/communicator/commlink/request(var/atom/candidate) if(candidate in voice_requests) return var/who = null if(isobserver(candidate)) who = candidate.name - else if(istype(candidate, /obj/item/device/communicator)) - var/obj/item/device/communicator/comm = candidate + else if(istype(candidate, /obj/item/communicator)) + var/obj/item/communicator/comm = candidate who = comm.owner comm.voice_invites |= src @@ -109,14 +109,14 @@ nif.notify("New commlink call from [who]. (Open)") //Similar reason -/obj/item/device/communicator/commlink/request_im(var/atom/candidate, var/origin_address, var/text) +/obj/item/communicator/commlink/request_im(var/atom/candidate, var/origin_address, var/text) var/who = null if(isobserver(candidate)) var/mob/observer/dead/ghost = candidate who = ghost im_list += list(list("address" = origin_address, "to_address" = exonet.address, "im" = text)) - else if(istype(candidate, /obj/item/device/communicator)) - var/obj/item/device/communicator/comm = candidate + else if(istype(candidate, /obj/item/communicator)) + var/obj/item/communicator/comm = candidate who = comm.owner comm.im_contacts |= src im_list += list(list("address" = origin_address, "to_address" = exonet.address, "im" = text)) diff --git a/code/modules/nifsoft/software/15_misc.dm b/code/modules/nifsoft/software/15_misc.dm index d2e07a679e7..3eb15d72ca6 100644 --- a/code/modules/nifsoft/software/15_misc.dm +++ b/code/modules/nifsoft/software/15_misc.dm @@ -21,7 +21,7 @@ deactivate() return FALSE - H.visible_message("Thin snakelike tendrils grow from [H] and connect to \the [apc].","Thin snakelike tendrils grow from you and connect to \the [apc].") + H.visible_message(span_warning("Thin snakelike tendrils grow from [H] and connect to \the [apc]."),span_notice("Thin snakelike tendrils grow from you and connect to \the [apc].")) /datum/nifsoft/apc_recharge/deactivate(var/force = FALSE) if((. = ..())) @@ -36,7 +36,7 @@ return TRUE else nif.notify("APC charging has ended.") - H.visible_message("[H]'s snakelike tendrils whip back into their body from \the [apc].","The APC connector tendrils return to your body.") + H.visible_message(span_warning("[H]'s snakelike tendrils whip back into their body from \the [apc]."),span_notice("The APC connector tendrils return to your body.")) deactivate() return FALSE @@ -105,11 +105,11 @@ /datum/nifsoft/compliance/activate() if((. = ..())) - to_chat(nif.human,"You are compelled to follow these rules: \n[laws]") + to_chat(nif.human,span_danger("You are compelled to follow these rules:") + "\n" + span_notify("[laws]")) /datum/nifsoft/compliance/install() if((. = ..())) - to_chat(nif.human,"You feel suddenly compelled to follow these rules: \n[laws]") + to_chat(nif.human,span_danger("You feel suddenly compelled to follow these rules:") + "\n" + span_notify("[laws]")) /datum/nifsoft/compliance/uninstall() nif.notify("ERROR! Unable to comply!",TRUE) @@ -131,12 +131,12 @@ if (!nif.human.size_range_check(new_size)) if(new_size) - to_chat(nif.human,"The safety features of the NIF Program prevent you from choosing this size.") + to_chat(nif.human,span_notice("The safety features of the NIF Program prevent you from choosing this size.")) return else if(nif.human.resize(new_size/100, uncapped=nif.human.has_large_resize_bounds(), ignore_prefs = TRUE)) - to_chat(nif.human,"You set the size to [new_size]%") - nif.human.visible_message("Swirling grey mist envelops [nif.human] as they change size!","Swirling streams of nanites wrap around you as you change size!") + to_chat(nif.human,span_notice("You set the size to [new_size]%")) + nif.human.visible_message(span_warning("Swirling grey mist envelops [nif.human] as they change size!"),span_notice("Swirling streams of nanites wrap around you as you change size!")) spawn(0) deactivate() @@ -188,7 +188,7 @@ /datum/nifsoft/malware/activate() if((. = ..())) - to_chat(nif.human,"Runtime error in 15_misc.dm, line 191.") + to_chat(nif.human,span_danger("Runtime error in 15_misc.dm, line 191.")) /datum/nifsoft/malware/install() if((. = ..())) @@ -198,4 +198,4 @@ if((. = ..())) if(nif.human.client && world.time - last_ads > rand(10 MINUTES, 15 MINUTES) && prob(1)) last_ads = world.time - nif.human.client.create_fake_ad_popup_multiple(/obj/screen/popup/default, 5) \ No newline at end of file + nif.human.client.create_fake_ad_popup_multiple(/obj/screen/popup/default, 5) diff --git a/code/modules/organs/blood.dm b/code/modules/organs/blood.dm index bea81b6e87e..3364d330680 100644 --- a/code/modules/organs/blood.dm +++ b/code/modules/organs/blood.dm @@ -85,7 +85,10 @@ var/const/CE_STABLE_THRESHOLD = 0.5 if(species && should_have_organ(O_HEART)) var/obj/item/organ/internal/heart/heart = internal_organs_by_name[O_HEART] - if(!heart) + if(has_modifier_of_type(/datum/modifier/bloodpump)) + blood_volume_raw *= 1 + blood_volume *= 1 + else if(!heart) blood_volume_raw = 0 blood_volume = 0 else if(heart.is_broken()) @@ -233,7 +236,7 @@ var/const/CE_STABLE_THRESHOLD = 0.5 ****************************************************/ //Gets blood from mob to the container, preserving all data in it. -/mob/living/carbon/proc/take_blood(obj/item/weapon/reagent_containers/container, var/amount) +/mob/living/carbon/proc/take_blood(obj/item/reagent_containers/container, var/amount) var/datum/reagent/B = get_blood(container.reagents) if(!B) @@ -243,10 +246,19 @@ var/const/CE_STABLE_THRESHOLD = 0.5 //set reagent data B.data["donor"] = src - if (!B.data["virus2"]) - B.data["virus2"] = list() - B.data["virus2"] |= virus_copylist(src.virus2) - B.data["antibodies"] = src.antibodies + if(!B.data["viruses"]) + B.data["viruses"] = list() + + for(var/datum/disease/D in GetViruses()) + if(D.spread_flags & SPECIAL) + continue + B.data["viruses"] |= D.Copy() + + if(!B.data["resistances"]) + B.data["resistances"] = list() + + if(B.data["resistances"]) + B.data["resistances"] |= GetResistances() B.data["blood_DNA"] = copytext(src.dna.unique_enzymes,1,0) B.data["blood_type"] = copytext(src.dna.b_type,1,0) @@ -264,7 +276,7 @@ var/const/CE_STABLE_THRESHOLD = 0.5 return B //For humans, blood does not appear from blue, it comes from vessels. -/mob/living/carbon/human/take_blood(obj/item/weapon/reagent_containers/container, var/amount) +/mob/living/carbon/human/take_blood(obj/item/reagent_containers/container, var/amount) if(!should_have_organ(O_HEART)) return null @@ -279,10 +291,14 @@ var/const/CE_STABLE_THRESHOLD = 0.5 /mob/living/carbon/proc/inject_blood(var/datum/reagent/blood/injected, var/amount) if (!injected || !istype(injected)) return - var/list/sniffles = virus_copylist(injected.data["virus2"]) + var/list/sniffles = injected.data["viruses"] for(var/ID in sniffles) - var/datum/disease2/disease/sniffle = sniffles[ID] - infect_virus2(src,sniffle,1) + var/datum/disease/D = ID + if((D.spread_flags & SPECIAL) || (D.spread_flags & NON_CONTAGIOUS)) // You can't put non-contagius diseases in blood, but just in case + continue + ContractDisease(D) + if (injected.data["resistances"] && prob(5)) + antibodies |= injected.data["resistances"] if (injected.data["antibodies"] && prob(5)) antibodies |= injected.data["antibodies"] var/list/chems = list() @@ -423,8 +439,8 @@ var/const/CE_STABLE_THRESHOLD = 0.5 B.blood_DNA[source.data["blood_DNA"]] = "O+" // Update virus information. - if(source.data["virus2"]) - B.virus2 = virus_copylist(source.data["virus2"]) + if(source.data["viruses"]) + B.viruses = source.data["viruses"] B.fluorescent = 0 B.invisibility = 0 diff --git a/code/modules/organs/internal/appendix.dm b/code/modules/organs/internal/appendix.dm index e0e4e22a726..456f8f157ce 100644 --- a/code/modules/organs/internal/appendix.dm +++ b/code/modules/organs/internal/appendix.dm @@ -9,12 +9,9 @@ /mob/living/carbon/human/proc/appendicitis() if(stat == DEAD) return 0 - var/obj/item/organ/internal/appendix/A = internal_organs_by_name[O_APPENDIX] - if(istype(A) && !A.inflamed) - A.inflamed = 1 - return 1 + ForceContractDisease(new /datum/disease/appendicitis) return 0 - +/* /obj/item/organ/internal/appendix/process() ..() @@ -27,11 +24,11 @@ if(inflamed == 1) if(prob(5)) - to_chat(owner, "You feel a stinging pain in your abdomen!") + to_chat(owner, span_warning("You feel a stinging pain in your abdomen!")) owner.custom_emote(VISIBLE_MESSAGE, "winces slightly.") if(inflamed > 1) if(prob(3)) - to_chat(owner, "You feel a stabbing pain in your abdomen!") + to_chat(owner, span_warning("You feel a stabbing pain in your abdomen!")) owner.custom_emote(VISIBLE_MESSAGE, "winces painfully.") owner.adjustToxLoss(1) if(inflamed > 2) @@ -39,7 +36,7 @@ owner.vomit() if(inflamed > 3) if(prob(1)) - to_chat(owner, "Your abdomen is a world of pain!") + to_chat(owner, span_danger("Your abdomen is a world of pain!")) owner.Weaken(10) var/obj/item/organ/external/groin = owner.get_organ(BP_GROIN) @@ -47,9 +44,9 @@ owner.adjustToxLoss(25) groin.wounds += W inflamed = 1 - +*/ /obj/item/organ/internal/appendix/removed() if(inflamed) icon_state = "[initial(icon_state)]inflamed" name = "inflamed appendix" - ..() \ No newline at end of file + ..() diff --git a/code/modules/organs/internal/augment.dm b/code/modules/organs/internal/augment.dm index 8c99d079422..495bb3a281a 100644 --- a/code/modules/organs/internal/augment.dm +++ b/code/modules/organs/internal/augment.dm @@ -65,7 +65,7 @@ return if(robotic && owner.get_restraining_bolt()) - to_chat(owner, "\The [src] doesn't respond.") + to_chat(owner, span_warning("\The [src] doesn't respond.")) return var/item_to_equip = integrated_object @@ -88,7 +88,7 @@ var/obj/item/organ/my_augment = null // Used to reference the object's host organ. /obj/item/dropped(mob/user) - . = ..() + . = ..(user) if(src) if(destroy_on_drop && !QDELETED(src)) qdel(src) @@ -153,11 +153,11 @@ if(buckled) var/obj/Ob = buckled if(Ob.buckle_lying) - to_chat(M, "You cannot use your augments when restrained.") + to_chat(M, span_notice("You cannot use your augments when restrained.")) return 0 if((slot == slot_l_hand && l_hand) || (slot == slot_r_hand && r_hand)) - to_chat(M,"Your hand is full. Drop something first.") + to_chat(M,span_warning("Your hand is full. Drop something first.")) return 0 var/del_if_failure = destroy_on_drop diff --git a/code/modules/organs/internal/augment/armmounted.dm b/code/modules/organs/internal/augment/armmounted.dm index 85b9f4aa5ad..3845de10722 100644 --- a/code/modules/organs/internal/augment/armmounted.dm +++ b/code/modules/organs/internal/augment/armmounted.dm @@ -18,7 +18,7 @@ target_parent_classes = list(ORGAN_FLESH, ORGAN_ASSISTED) - integrated_object_type = /obj/item/weapon/gun/energy/laser/mounted/augment + integrated_object_type = /obj/item/gun/energy/laser/mounted/augment /obj/item/organ/internal/augment/armmounted/attackby(obj/item/I as obj, mob/user as mob) if(I.has_tool_quality(TOOL_SCREWDRIVER)) @@ -31,7 +31,7 @@ organ_tag = O_AUG_L_FOREARM parent_organ = BP_L_ARM target_slot = slot_l_hand - to_chat(user, "You swap \the [src]'s servos to install neatly into \the lower [parent_organ] mount.") + to_chat(user, span_notice("You swap \the [src]'s servos to install neatly into \the lower [parent_organ] mount.")) return . = ..() @@ -42,7 +42,7 @@ icon_state = "augment_taser" - integrated_object_type = /obj/item/weapon/gun/energy/taser/mounted/augment + integrated_object_type = /obj/item/gun/energy/taser/mounted/augment /obj/item/organ/internal/augment/armmounted/dartbow name = "crossbow implant" @@ -52,7 +52,7 @@ w_class = ITEMSIZE_SMALL - integrated_object_type = /obj/item/weapon/gun/energy/crossbow + integrated_object_type = /obj/item/gun/energy/crossbow // Wrist-or-hand-mounted implant @@ -62,8 +62,12 @@ icon_state = "augment_box" w_class = ITEMSIZE_SMALL + // Needs to be redefined here, or the switch statement beneath with no default case can never change target limb... Also prevents putting it in your shoulder when it's a hand implant. + organ_tag = O_AUG_R_HAND + parent_organ = BP_R_HAND + target_slot = slot_r_hand - integrated_object_type = /obj/item/weapon/portable_scanner + integrated_object_type = /obj/item/portable_scanner /obj/item/organ/internal/augment/armmounted/hand/attackby(obj/item/I as obj, mob/user as mob) if(I.has_tool_quality(TOOL_SCREWDRIVER)) @@ -76,7 +80,7 @@ organ_tag = O_AUG_L_HAND parent_organ = BP_L_HAND target_slot = slot_l_hand - to_chat(user, "You swap \the [src]'s servos to install neatly into \the upper [parent_organ] mount.") + to_chat(user, span_notice("You swap \the [src]'s servos to install neatly into \the upper [parent_organ] mount.")) return . = ..() @@ -84,14 +88,14 @@ /obj/item/organ/internal/augment/armmounted/hand/sword name = "energy blade implant" - integrated_object_type = /obj/item/weapon/melee/energy/sword + integrated_object_type = /obj/item/melee/energy/sword /obj/item/organ/internal/augment/armmounted/hand/blade name = "handblade implant" desc = "A small implant that fits neatly into the hand. It deploys a small, but dangerous blade." icon_state = "augment_handblade" - integrated_object_type = /obj/item/weapon/melee/augment/blade + integrated_object_type = /obj/item/melee/augment/blade /* * Shoulder augment. @@ -120,7 +124,7 @@ organ_tag = O_AUG_L_UPPERARM parent_organ = BP_L_ARM target_slot = slot_l_hand - to_chat(user, "You swap \the [src]'s servos to install neatly into \the upper [parent_organ] mount.") + to_chat(user, span_notice("You swap \the [src]'s servos to install neatly into \the upper [parent_organ] mount.")) return . = ..() @@ -150,7 +154,7 @@ icon_state = "augment_armblade" - integrated_object_type = /obj/item/weapon/melee/augment/blade/arm + integrated_object_type = /obj/item/melee/augment/blade/arm // The toolkit / multi-tool implant. @@ -169,13 +173,13 @@ toolspeed = 0.8 var/list/integrated_tools = list( - /obj/item/weapon/tool/screwdriver = null, - /obj/item/weapon/tool/wrench = null, - /obj/item/weapon/tool/crowbar = null, - /obj/item/weapon/tool/wirecutters = null, - /obj/item/device/multitool = null, + /obj/item/tool/screwdriver = null, + /obj/item/tool/wrench = null, + /obj/item/tool/crowbar = null, + /obj/item/tool/wirecutters = null, + /obj/item/multitool = null, /obj/item/stack/cable_coil/gray = null, - /obj/item/weapon/tape_roll = null + /obj/item/tape_roll = null ) var/list/integrated_tools_by_name @@ -260,15 +264,15 @@ integrated_object_type = null integrated_tools = list( - /obj/item/weapon/surgical/hemostat = null, - /obj/item/weapon/surgical/retractor = null, - /obj/item/weapon/surgical/cautery = null, - /obj/item/weapon/surgical/surgicaldrill = null, - /obj/item/weapon/surgical/scalpel = null, - /obj/item/weapon/surgical/circular_saw = null, - /obj/item/weapon/surgical/bonegel = null, - /obj/item/weapon/surgical/FixOVein = null, - /obj/item/weapon/surgical/bonesetter = null, + /obj/item/surgical/hemostat = null, + /obj/item/surgical/retractor = null, + /obj/item/surgical/cautery = null, + /obj/item/surgical/surgicaldrill = null, + /obj/item/surgical/scalpel = null, + /obj/item/surgical/circular_saw = null, + /obj/item/surgical/bonegel = null, + /obj/item/surgical/FixOVein = null, + /obj/item/surgical/bonesetter = null, /obj/item/stack/medical/crude_pack = null ) diff --git a/code/modules/organs/internal/augment/bio.dm b/code/modules/organs/internal/augment/bio.dm index 71aa461abb4..94ea574717e 100644 --- a/code/modules/organs/internal/augment/bio.dm +++ b/code/modules/organs/internal/augment/bio.dm @@ -53,28 +53,28 @@ drop_from_inventory(glasses) aug.integrated_object.forceMove(aug) if(!glasses) - to_chat(src, "Your [aug.integrated_object] retract into your skull.") + to_chat(src, span_alien("Your [aug.integrated_object] retract into your skull.")) else if(!istype(glasses, /obj/item/clothing/glasses/hud/security/jensenshades)) - to_chat(src, "\The [glasses] block your shades from deploying.") + to_chat(src, span_notice("\The [glasses] block your shades from deploying.")) else if(istype(glasses, /obj/item/clothing/glasses/hud/security/jensenshades)) var/obj/item/G = glasses if(G.canremove) - to_chat(src, "\The [G] are not your integrated shades.") + to_chat(src, span_notice("\The [G] are not your integrated shades.")) else drop_from_inventory(G) - to_chat(src, "\The [G] retract into your skull.") + to_chat(src, span_notice("\The [G] retract into your skull.")) qdel(G) else if(aug && aug.integrated_object) - to_chat(src, "Your [aug.integrated_object] deploy.") + to_chat(src, span_alien("Your [aug.integrated_object] deploy.")) equip_to_slot(aug.integrated_object, slot_glasses, 0, 1) if(!glasses || glasses != aug.integrated_object) aug.integrated_object.forceMove(aug) else var/obj/item/clothing/glasses/hud/security/jensenshades/J = new(get_turf(src)) equip_to_slot(J, slot_glasses, 1, 1) - to_chat(src, "Your [aug.integrated_object] deploy.") + to_chat(src, span_notice("Your [aug.integrated_object] deploy.")) /obj/item/organ/internal/augment/bioaugment/sprint_enhance name = "locomotive optimization implant" @@ -101,4 +101,3 @@ if(istype(owner, /mob/living/carbon/human)) var/mob/living/carbon/human/H = owner H.add_modifier(/datum/modifier/sprinting, 1 MINUTES) - diff --git a/code/modules/organs/internal/brain.dm b/code/modules/organs/internal/brain.dm index 5becf2fa805..b044c910438 100644 --- a/code/modules/organs/internal/brain.dm +++ b/code/modules/organs/internal/brain.dm @@ -33,7 +33,7 @@ GLOBAL_LIST_BOILERPLATE(all_brain_organs, /obj/item/organ/internal/brain) if(!owner || owner.stat == DEAD) defib_timer = max(--defib_timer, 0) else - defib_timer = min(++defib_timer, (config.defib_timer MINUTES) / 20) // Time vars measure things in ticks. Life tick happens every ~2 seconds, therefore dividing by 20 + defib_timer = min(++defib_timer, (CONFIG_GET(number/defib_timer) MINUTES) / 20) // Time vars measure things in ticks. Life tick happens every ~2 seconds, therefore dividing by 20 /obj/item/organ/internal/brain/proc/can_assist() return can_assist @@ -80,8 +80,8 @@ GLOBAL_LIST_BOILERPLATE(all_brain_organs, /obj/item/organ/internal/brain) /obj/item/organ/internal/brain/New() ..() - health = config.default_brain_health - defib_timer = (config.defib_timer MINUTES) / 20 // Time vars measure things in ticks. Life tick happens every ~2 seconds, therefore dividing by 20 + health = CONFIG_GET(number/default_brain_health) + defib_timer = (CONFIG_GET(number/defib_timer) MINUTES) / 20 // Time vars measure things in ticks. Life tick happens every ~2 seconds, therefore dividing by 20 spawn(5) if(brainmob) butcherable = FALSE @@ -117,7 +117,7 @@ GLOBAL_LIST_BOILERPLATE(all_brain_organs, /obj/item/organ/internal/brain) brainmob.languages = H.languages - to_chat(brainmob, "You feel slightly disoriented. That's normal when you're just \a [initial(src.name)].") + to_chat(brainmob, span_notice("You feel slightly disoriented. That's normal when you're just \a [initial(src.name)].")) callHook("debrain", list(brainmob)) /obj/item/organ/internal/brain/examine(mob/user) // -- TLE @@ -295,9 +295,9 @@ GLOBAL_LIST_BOILERPLATE(all_brain_organs, /obj/item/organ/internal/brain) /decl/chemical_reaction/instant/promethean_brain_revival/on_reaction(var/datum/reagents/holder) var/obj/item/organ/internal/brain/slime/brain = holder.my_atom if(brain.reviveBody()) - brain.visible_message("[brain] bubbles, surrounding itself with a rapidly expanding mass of slime!") + brain.visible_message(span_notice("[brain] bubbles, surrounding itself with a rapidly expanding mass of slime!")) else - brain.visible_message("[brain] shifts strangely, but falls still.") + brain.visible_message(span_warning("[brain] shifts strangely, but falls still.")) /obj/item/organ/internal/brain/golem name = "chem" diff --git a/code/modules/organs/internal/eyes.dm b/code/modules/organs/internal/eyes.dm index 79d22fe5770..c7952314d72 100644 --- a/code/modules/organs/internal/eyes.dm +++ b/code/modules/organs/internal/eyes.dm @@ -33,7 +33,7 @@ /obj/item/organ/internal/eyes/proc/change_eye_color() set name = "Change Eye Color" set desc = "Changes your robotic eye color instantly." - set category = "IC" + set category = "IC.Settings" set src in usr var/current_color = rgb(eye_colour[1],eye_colour[2],eye_colour[3]) @@ -73,7 +73,7 @@ var/oldbroken = is_broken() ..() if(is_broken() && !oldbroken && owner && !owner.stat) - to_chat(owner, "You go blind!") + to_chat(owner, span_danger("You go blind!")) /obj/item/organ/internal/eyes/process() //Eye damage replaces the old eye_stat var. ..() diff --git a/code/modules/organs/organ.dm b/code/modules/organs/organ.dm index 621e875df64..37f7d08b90b 100644 --- a/code/modules/organs/organ.dm +++ b/code/modules/organs/organ.dm @@ -127,7 +127,7 @@ var/list/organ_cache = list() if(owner.meat_type) meat_type = owner.meat_type else - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + meat_type = /obj/item/reagent_containers/food/snacks/meat /obj/item/organ/proc/set_dna(var/datum/dna/new_dna) if(new_dna) @@ -158,7 +158,7 @@ var/list/organ_cache = list() if(status & ORGAN_DEAD) return // Don't process if we're in a freezer, an MMI or a stasis bag.or a freezer or something I dunno - if(istype(loc,/obj/item/device/mmi)) + if(istype(loc,/obj/item/mmi)) return if(preserved) return @@ -179,7 +179,7 @@ var/list/organ_cache = list() if(B && prob(40) && !isbelly(loc)) //VOREStation Edit reagents.remove_reagent("blood",0.1) blood_splatter(src,B,1) - if(config.organs_decay && decays) damage += rand(1,3) + if(CONFIG_GET(flag/organs_decay) && decays) damage += rand(1,3) if(damage >= max_damage) damage = max_damage adjust_germ_level(rand(2,6)) @@ -197,7 +197,7 @@ var/list/organ_cache = list() /obj/item/organ/examine(mob/user) . = ..() if(status & ORGAN_DEAD) - . += "Decay appears to have set in." + . += span_notice("Decay appears to have set in.") //A little wonky: internal organs stop calling this (they return early in process) when dead, but external ones cause further damage when dead /obj/item/organ/proc/handle_germ_effects() @@ -398,7 +398,11 @@ var/list/organ_cache = list() rejecting = null if(istype(owner)) - var/datum/reagent/blood/organ_blood = locate(/datum/reagent/blood) in reagents.reagent_list + // VOREstation edit begin - Posibrains don't have blood reagents, so they crash this + var/datum/reagent/blood/organ_blood = null + if(reagents) + organ_blood = locate(/datum/reagent/blood) in reagents.reagent_list + // VOREstation edit end if(!organ_blood || !organ_blood.data["blood_DNA"]) owner.vessel.trans_to(src, 5, 1, 1) @@ -418,7 +422,11 @@ var/list/organ_cache = list() if(!istype(target)) return - var/datum/reagent/blood/transplant_blood = locate(/datum/reagent/blood) in reagents.reagent_list + // VOREstation edit begin - Posibrains don't have blood reagents, so they crash this + var/datum/reagent/blood/transplant_blood = null + if(reagents) + transplant_blood = locate(/datum/reagent/blood) in reagents.reagent_list + // VOREstation edit end transplant_data = list() if(!transplant_blood) transplant_data["species"] = target?.species.name @@ -443,12 +451,12 @@ var/list/organ_cache = list() if(robotic >= ORGAN_ROBOT) return - to_chat(user, "You take an experimental bite out of \the [src].") + to_chat(user, span_notice("You take an experimental bite out of \the [src].")) var/datum/reagent/blood/B = locate(/datum/reagent/blood) in reagents.reagent_list blood_splatter(src,B,1) user.drop_from_inventory(src) - var/obj/item/weapon/reagent_containers/food/snacks/organ/O = new(get_turf(src)) + var/obj/item/reagent_containers/food/snacks/organ/O = new(get_turf(src)) O.name = name O.icon = icon O.icon_state = icon_state @@ -470,7 +478,7 @@ var/list/organ_cache = list() bitten(user) return -/obj/item/organ/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/item/organ/attackby(obj/item/W as obj, mob/user as mob) if(can_butcher(W, user)) butcher(W, user) return @@ -495,17 +503,17 @@ var/list/organ_cache = list() /obj/item/organ/proc/butcher(var/obj/item/O, var/mob/living/user, var/atom/newtarget) if(robotic >= ORGAN_ROBOT) - user?.visible_message("[user] disassembles \the [src].") + user?.visible_message(span_notice("[user] disassembles \the [src].")) else - user?.visible_message("[user] butchers \the [src].") + user?.visible_message(span_notice("[user] butchers \the [src].")) if(!newtarget) newtarget = get_turf(src) var/obj/item/newmeat = new meat_type(newtarget) - if(istype(newmeat, /obj/item/weapon/reagent_containers/food/snacks/meat)) + if(istype(newmeat, /obj/item/reagent_containers/food/snacks/meat)) newmeat.name = "[src.name] [newmeat.name]" // "liver meat" "heart meat", etc. qdel(src) @@ -540,11 +548,11 @@ var/list/organ_cache = list() if(!removed && organ_verbs && check_verb_compatability()) for(var/verb_path in organ_verbs) - owner.verbs |= verb_path + add_verb(owner, verb_path) else if(organ_verbs) for(var/verb_path in organ_verbs) if(!(verb_path in save_verbs)) - owner.verbs -= verb_path + remove_verb(owner, verb_path) return /obj/item/organ/proc/handle_organ_proc_special() // Called when processed. diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index 7fe0d256073..dd8279f67fe 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -112,7 +112,7 @@ while(null in owner.organs) owner.organs -= null - for(var/obj/item/weapon/implant/I as anything in implants) + for(var/obj/item/implant/I as anything in implants) if(!istype(I)) continue I.imp_in = I.part = null @@ -157,7 +157,7 @@ I.loc = get_turf(user) //just in case something was embedded that is not an item if(istype(I)) user.put_in_hands(I) - user.visible_message("\The [user] rips \the [I] out of \the [src]!") + user.visible_message(span_danger("\The [user] rips \the [I] out of \the [src]!")) return //no eating the limb until everything's been removed return ..() @@ -167,29 +167,29 @@ for(var/obj/item/I in contents) if(istype(I, /obj/item/organ)) continue - . += "There is \a [I] sticking out of it." + . += span_danger("There is \a [I] sticking out of it.") -/obj/item/organ/external/attackby(obj/item/weapon/W as obj, mob/living/user as mob) +/obj/item/organ/external/attackby(obj/item/W as obj, mob/living/user as mob) switch(stage) if(0) - if(istype(W,/obj/item/weapon/surgical/scalpel)) - user.visible_message("[user] cuts [src] open with [W]!") + if(istype(W,/obj/item/surgical/scalpel)) + user.visible_message(span_danger(span_bold("[user]") + " cuts [src] open with [W]!")) stage++ return if(1) - if(istype(W,/obj/item/weapon/surgical/retractor)) - user.visible_message("[user] cracks [src] open like an egg with [W]!") + if(istype(W,/obj/item/surgical/retractor)) + user.visible_message(span_danger(span_bold("[user]") + " cracks [src] open like an egg with [W]!")) stage++ return if(2) - if(istype(W,/obj/item/weapon/surgical/hemostat)) + if(istype(W,/obj/item/surgical/hemostat)) if(contents.len) var/obj/item/removing = pick(contents) removing.loc = get_turf(user.loc) user.put_in_hands(removing) - user.visible_message("[user] extracts [removing] from [src] with [W]!") + user.visible_message(span_danger(span_bold("[user]") + " extracts [removing] from [src] with [W]!")) else - user.visible_message("[user] fishes around fruitlessly in [src] with [W].") + user.visible_message(span_danger(span_bold("[user]") + " fishes around fruitlessly in [src] with [W].")) return ..() @@ -221,7 +221,7 @@ dislocated = 1 if(istype(owner)) - owner.verbs |= /mob/living/carbon/human/proc/relocate + add_verb(owner, /mob/living/carbon/human/proc/relocate) /obj/item/organ/external/proc/relocate() if(dislocated == -1) @@ -235,7 +235,7 @@ for(var/obj/item/organ/external/limb in owner.organs) if(limb.dislocated == 1) return - owner.verbs -= /mob/living/carbon/human/proc/relocate + remove_verb(owner, /mob/living/carbon/human/proc/relocate) /obj/item/organ/external/update_health() damage = min(max_damage, (brute_dam + burn_dam)) @@ -296,7 +296,7 @@ if(status & ORGAN_BROKEN && brute) jostle_bone(brute) - if(organ_can_feel_pain() && prob(40) && !isbelly(owner.loc) && !istype(owner.loc, /obj/item/device/dogborg/sleeper)) //VOREStation Edit + if(organ_can_feel_pain() && prob(40) && !isbelly(owner.loc) && !istype(owner.loc, /obj/item/dogborg/sleeper)) //VOREStation Edit owner.emote("scream") //getting hit on broken hand hurts if(used_weapon) add_autopsy_data("[used_weapon]", brute + burn) @@ -308,7 +308,7 @@ // push them faster into paincrit though, as the additional damage is converted into shock. var/brute_overflow = 0 var/burn_overflow = 0 - if(is_damageable(brute + burn) || !config.limbs_can_break) + if(is_damageable(brute + burn) || !CONFIG_GET(flag/limbs_can_break)) if(brute) if(can_cut) if(sharp && !edge) @@ -322,7 +322,7 @@ else //If we can't inflict the full amount of damage, spread the damage in other ways //How much damage can we actually cause? - var/can_inflict = max_damage * config.organ_health_multiplier - (brute_dam + burn_dam) + var/can_inflict = max_damage * CONFIG_GET(number/organ_health_multiplier) - (brute_dam + burn_dam) var/spillover = 0 if(can_inflict) if (brute > 0) @@ -339,7 +339,7 @@ //How much brute damage is left to inflict spillover += max(0, brute - can_inflict) - can_inflict = max_damage * config.organ_health_multiplier - (brute_dam + burn_dam) //Refresh the can_inflict var, so burn doesn't overload the limb if it is set to take both. + can_inflict = max_damage * CONFIG_GET(number/organ_health_multiplier) - (brute_dam + burn_dam) //Refresh the can_inflict var, so burn doesn't overload the limb if it is set to take both. if (burn > 0 && can_inflict) //Inflict all burn damage we can @@ -350,7 +350,7 @@ //If there is pain to dispense. if(spillover) - owner.shock_stage += spillover * config.organ_damage_spillover_multiplier + owner.shock_stage += spillover * CONFIG_GET(number/organ_damage_spillover_multiplier) // sync the organ's damage with its wounds src.update_damages() @@ -359,7 +359,7 @@ //If limb took enough damage, try to cut or tear it off if(owner && loc == owner && !is_stump()) - if(!cannot_amputate && config.limbs_can_break && (brute_dam + burn_dam) >= (max_damage * config.organ_health_multiplier)) + if(!cannot_amputate && CONFIG_GET(flag/limbs_can_break) && (brute_dam + burn_dam) >= (max_damage * CONFIG_GET(number/organ_health_multiplier))) //organs can come off in three cases //1. If the damage source is edge_eligible and the brute damage dealt exceeds the edge threshold, then the organ is cut off. //2. If the damage amount dealt exceeds the disintegrate threshold, the organ is completely obliterated. @@ -445,11 +445,11 @@ else return 0 if(!damage_amount) - to_chat(user, "Nothing to fix!") + to_chat(user, span_notice("Nothing to fix!")) return 0 if(brute_dam + burn_dam >= min_broken_damage) //VOREStation Edit - Makes robotic limb damage scalable - to_chat(user, "The damage is far too severe to patch over externally.") + to_chat(user, span_danger("The damage is far too severe to patch over externally.")) return 0 if(user == src.owner) @@ -460,12 +460,12 @@ grasp = "r_hand" if(grasp) - to_chat(user, "You can't reach your [src.name] while holding [tool] in your [owner.get_bodypart_name(grasp)].") + to_chat(user, span_warning("You can't reach your [src.name] while holding [tool] in your [owner.get_bodypart_name(grasp)].")) return 0 user.setClickCooldown(user.get_attack_speed(tool)) if(!do_mob(user, owner, 10)) - to_chat(user, "You must stand still to do that.") + to_chat(user, span_warning("You must stand still to do that.")) return 0 switch(damage_type) @@ -477,9 +477,9 @@ var/fix_verb = (damage_amount > repair_amount) ? "patches" : "finishes patching" if(user == src.owner) var/datum/gender/T = gender_datums[user.get_visible_gender()] - user.visible_message("\The [user] [fix_verb] [damage_desc] on [T.his] [src.name] with [tool].") + user.visible_message(span_infoplain(span_bold("\The [user]") + " [fix_verb] [damage_desc] on [T.his] [src.name] with [tool].")) else - user.visible_message("\The [user] [fix_verb] [damage_desc] on [owner]'s [src.name] with [tool].") + user.visible_message(span_infoplain(span_bold("\The [user]") + " [fix_verb] [damage_desc] on [owner]'s [src.name] with [tool].")) return 1 @@ -502,7 +502,7 @@ This function completely restores a damaged organ to perfect condition. // remove embedded objects and drop them on the floor for(var/obj/implanted_object in implants) - if(istype(implanted_object,/obj/item/weapon/implant) || istype(implanted_object,/obj/item/device/nif)) // We don't want to remove REAL implants. Just shrapnel etc. //VOREStation Edit - NIFs pls + if(istype(implanted_object,/obj/item/implant) || istype(implanted_object,/obj/item/nif)) // We don't want to remove REAL implants. Just shrapnel etc. //VOREStation Edit - NIFs pls continue implanted_object.loc = get_turf(src) implants -= implanted_object @@ -550,7 +550,7 @@ This function completely restores a damaged organ to perfect condition. //Burn damage can cause fluid loss due to blistering and cook-off if((damage > 5 || damage + burn_dam >= 15) && type == BURN && (robotic < ORGAN_ROBOT) && !(species.flags & NO_BLOOD)) - var/fluid_loss = 0.4 * (damage/(owner.getMaxHealth() - config.health_threshold_dead)) * owner.species.blood_volume*(1 - owner.species.blood_level_fatal) + var/fluid_loss = 0.4 * (damage/(owner.getMaxHealth() - CONFIG_GET(number/health_threshold_dead))) * owner.species.blood_volume*(1 - owner.species.blood_level_fatal) owner.remove_blood(fluid_loss) // first check whether we can widen an existing wound @@ -567,13 +567,13 @@ This function completely restores a damaged organ to perfect condition. W.open_wound(damage) if(prob(25)) if(robotic >= ORGAN_ROBOT) - owner.visible_message("The damage to [owner.name]'s [name] worsens.",\ - "The damage to your [name] worsens.",\ - "You hear the screech of abused metal.") + owner.visible_message(span_danger("The damage to [owner.name]'s [name] worsens."),\ + span_danger("The damage to your [name] worsens."),\ + span_danger("You hear the screech of abused metal.")) else - owner.visible_message("The wound on [owner.name]'s [name] widens with a nasty ripping noise.",\ - "The wound on your [name] widens with a nasty ripping noise.",\ - "You hear a nasty ripping noise, as if flesh is being torn apart.") + owner.visible_message(span_danger("The wound on [owner.name]'s [name] widens with a nasty ripping noise."),\ + span_danger("The wound on your [name] widens with a nasty ripping noise."),\ + span_danger("You hear a nasty ripping noise, as if flesh is being torn apart.")) return //Creating wound @@ -731,7 +731,7 @@ Note that amputating the affected organ does in fact remove the infection from t if(. >= 3 && antibiotics < ANTIBIO_OD) //INFECTION_LEVEL_THREE if (!(status & ORGAN_DEAD)) status |= ORGAN_DEAD - to_chat(owner, "You can't feel your [name] anymore...") + to_chat(owner, span_notice("You can't feel your [name] anymore...")) owner.update_icons_body() for (var/obj/item/organ/external/child in children) child.germ_level += 110 //Burst of infection from a parent organ becoming necrotic @@ -777,7 +777,7 @@ Note that amputating the affected organ does in fact remove the infection from t //we only update wounds once in [wound_update_accuracy] ticks so have to emulate realtime heal_amt = heal_amt * wound_update_accuracy //configurable regen speed woo, no-regen hardcore or instaheal hugbox, choose your destiny - heal_amt = heal_amt * config.organ_regeneration_multiplier + heal_amt = heal_amt * CONFIG_GET(number/organ_regeneration_multiplier) // amount of healing is spread over all the wounds heal_amt = heal_amt / (wounds.len + 1) // making it look prettier on scanners @@ -827,7 +827,7 @@ Note that amputating the affected organ does in fact remove the infection from t status |= ORGAN_BLEEDING //Bone fractures - if(config.bones_can_break && brute_dam > min_broken_damage * config.organ_health_multiplier && !(robotic >= ORGAN_ROBOT)) + if(CONFIG_GET(flag/bones_can_break) && brute_dam > min_broken_damage * CONFIG_GET(number/organ_health_multiplier) && !(robotic >= ORGAN_ROBOT)) src.fracture() update_health() @@ -889,26 +889,26 @@ Note that amputating the affected organ does in fact remove the infection from t if(!clean) var/gore_sound = "[(robotic >= ORGAN_ROBOT) ? "tortured metal" : "ripping tendons and flesh"]" owner.visible_message( - "\The [owner]'s [src.name] flies off in an arc!",\ - "Your [src.name] goes flying off!",\ - "You hear a terrible sound of [gore_sound].") + span_danger("\The [owner]'s [src.name] flies off in an arc!"),\ + span_bolddanger("Your [src.name] goes flying off!"),\ + span_danger("You hear a terrible sound of [gore_sound].")) if(DROPLIMB_BURN) if(cannot_gib) return var/gore = "[(robotic >= ORGAN_ROBOT) ? "": " of burning flesh"]" owner.visible_message( - "\The [owner]'s [src.name] flashes away into ashes!",\ - "Your [src.name] flashes away into ashes!",\ - "You hear a crackling sound[gore].") + span_danger("\The [owner]'s [src.name] flashes away into ashes!"),\ + span_bolddanger("Your [src.name] flashes away into ashes!"),\ + span_danger("You hear a crackling sound[gore].")) if(DROPLIMB_BLUNT) if(cannot_gib) return var/gore = "[(robotic >= ORGAN_ROBOT) ? "": " in shower of gore"]" var/gore_sound = "[(status >= ORGAN_ROBOT) ? "rending sound of tortured metal" : "sickening splatter of gore"]" owner.visible_message( - "\The [owner]'s [src.name] explodes[gore]!",\ - "Your [src.name] explodes[gore]!",\ - "You hear the [gore_sound].") + span_danger("\The [owner]'s [src.name] explodes[gore]!"),\ + span_bolddanger("Your [src.name] explodes[gore]!"),\ + span_danger("You hear the [gore_sound].")) var/mob/living/carbon/human/victim = owner //Keep a reference for post-removed(). var/obj/item/organ/external/parent_organ = parent @@ -989,10 +989,10 @@ Note that amputating the affected organ does in fact remove the infection from t qdel(src) if(victim.l_hand) - if(istype(victim.l_hand,/obj/item/weapon/material/twohanded)) //if they're holding a two-handed weapon, drop it now they've lost a hand + if(istype(victim.l_hand,/obj/item/material/twohanded)) //if they're holding a two-handed weapon, drop it now they've lost a hand victim.l_hand.update_held_icon() if(victim.r_hand) - if(istype(victim.r_hand,/obj/item/weapon/material/twohanded)) + if(istype(victim.r_hand,/obj/item/material/twohanded)) victim.r_hand.update_held_icon() /**************************************************** @@ -1085,9 +1085,9 @@ Note that amputating the affected organ does in fact remove the infection from t if(owner) //VOREStation Edit Start if(organ_can_feel_pain() && !isbelly(owner.loc) && !isliving(owner.loc)) owner.visible_message(\ - "You hear a loud cracking sound coming from \the [owner].",\ - "Something feels like it shattered in your [name]!",\ - "You hear a sickening crack.") + span_danger("You hear a loud cracking sound coming from \the [owner]."),\ + span_danger("Something feels like it shattered in your [name]!"),\ + span_danger("You hear a sickening crack.")) owner.emote("scream") jostle_bone() //VOREStation Edit End @@ -1112,7 +1112,7 @@ Note that amputating the affected organ does in fact remove the infection from t /obj/item/organ/external/proc/mend_fracture() if(robotic >= ORGAN_ROBOT) return 0 //ORGAN_BROKEN doesn't have the same meaning for robot limbs - if(brute_dam > min_broken_damage * config.organ_health_multiplier) + if(brute_dam > min_broken_damage * CONFIG_GET(number/organ_health_multiplier)) return 0 //will just immediately fracture again status &= ~ORGAN_BROKEN @@ -1216,14 +1216,14 @@ Note that amputating the affected organ does in fact remove the infection from t /obj/item/organ/external/proc/is_malfunctioning() return ((robotic >= ORGAN_ROBOT) && (brute_dam + burn_dam) >= min_broken_damage*0.83 && prob(brute_dam + burn_dam)) //VOREStation Edit - Makes robotic limb damage scalable -/obj/item/organ/external/proc/embed(var/obj/item/weapon/W, var/silent = 0) +/obj/item/organ/external/proc/embed(var/obj/item/W, var/silent = 0) if(!owner || loc != owner) return if(!silent) - owner.visible_message("\The [W] sticks in the wound!") + owner.visible_message(span_danger("\The [W] sticks in the wound!")) implants += W owner.embedded_flag = 1 - owner.verbs += /mob/proc/yank_out_object + add_verb(owner, /mob/proc/yank_out_object) owner.throw_alert("embeddedobject", /obj/screen/alert/embeddedobject) W.add_blood(owner) if(ismob(W.loc)) @@ -1277,9 +1277,9 @@ Note that amputating the affected organ does in fact remove the infection from t //Robotic limbs explode if sabotaged. if(is_robotic && sabotaged) victim.visible_message( - "\The [victim]'s [src.name] explodes violently!",\ - "Your [src.name] explodes!",\ - "You hear an explosion!") + span_danger("\The [victim]'s [src.name] explodes violently!"),\ + span_danger("Your [src.name] explodes!"),\ + span_danger("You hear an explosion!")) explosion(get_turf(owner),-1,-1,2,3) var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread() spark_system.set_up(5, 0, victim) @@ -1297,13 +1297,13 @@ Note that amputating the affected organ does in fact remove the infection from t return if(owner) if(type == "brute") - owner.visible_message("You hear a sickening cracking sound coming from \the [owner]'s [name].", \ - "Your [name] becomes a mangled mess!", \ - "You hear a sickening crack.") + owner.visible_message(span_danger("You hear a sickening cracking sound coming from \the [owner]'s [name]."), \ + span_danger("Your [name] becomes a mangled mess!"), \ + span_danger("You hear a sickening crack.")) else - owner.visible_message("\The [owner]'s [name] melts away, turning into mangled mess!", \ - "Your [name] melts away!", \ - "You hear a sickening sizzle.") + owner.visible_message(span_danger("\The [owner]'s [name] melts away, turning into mangled mess!"), \ + span_danger("Your [name] melts away!"), \ + span_danger("You hear a sickening sizzle.")) disfigured = 1 /obj/item/organ/external/proc/jostle_bone(force) @@ -1420,7 +1420,7 @@ Note that amputating the affected organ does in fact remove the infection from t . = 0 for(var/obj/item/organ/external/L in organs) for(var/obj/item/I in L.implants) - if(!istype(I,/obj/item/weapon/implant) && !istype(I,/obj/item/device/nif)) //VOREStation Add - NIFs + if(!istype(I,/obj/item/implant) && !istype(I,/obj/item/nif)) //VOREStation Add - NIFs return 1 /obj/item/organ/external/proc/is_hidden_by_sprite_accessory(var/clothing_only = FALSE) // Clothing only will mean the check should only be used in places where we want to hide clothing icon, not organ itself. diff --git a/code/modules/organs/pain.dm b/code/modules/organs/pain.dm index d26b7e30880..468c8c1a3a3 100644 --- a/code/modules/organs/pain.dm +++ b/code/modules/organs/pain.dm @@ -13,13 +13,13 @@ /mob/living/carbon/proc/custom_pain(message, power, force) if((!message || stat || !can_feel_pain() || chem_effects[CE_PAINKILLER] > power) && !synth_cosmetic_pain) return 0 - message = "[message]" + message = span_danger("[message]") if(power >= 50) message = "[message]" // Anti message spam checks // If multiple limbs are injured, cooldown is ignored to print all injuries until all limbs are iterated over - if(src.is_preference_enabled(/datum/client_preference/pain_frequency)) + if(client?.prefs?.read_preference(/datum/preference/toggle/pain_frequency)) switch(power) if(0 to 5) force = 0 diff --git a/code/modules/organs/robolimbs.dm b/code/modules/organs/robolimbs.dm index 405cb397182..7a0311ad932 100644 --- a/code/modules/organs/robolimbs.dm +++ b/code/modules/organs/robolimbs.dm @@ -468,7 +468,7 @@ var/const/standard_monitor_styles = "blank=ipc_blank;\ parts = list(BP_L_ARM, BP_R_ARM, BP_L_HAND, BP_R_HAND, BP_L_LEG, BP_R_LEG, BP_L_FOOT, BP_R_FOOT) modular_bodyparts = MODULAR_BODYPART_PROSTHETIC -/obj/item/weapon/disk/limb +/obj/item/disk/limb name = "Limb Blueprints" desc = "A disk containing the blueprints for prosthetics." icon = 'icons/obj/discs_vr.dmi' //VOREStation Edit @@ -512,84 +512,93 @@ var/const/standard_monitor_styles = "blank=ipc_blank;\ modular_bodyparts = MODULAR_BODYPART_PROSTHETIC parts = list(BP_L_LEG, BP_R_LEG, BP_L_FOOT, BP_R_FOOT) +/datum/robolimb/digi + company = "DSI Digitigrade Legs" //yup that's how I'm fixing this, you NEED to have digi on or else oh god it looks weird + desc = "Synthflesh-wrapped robotic digitigrade legs, for the animal in all of us." + icon = 'icons/mob/human_races/r_digi.dmi' + lifelike = 1 + unavailable_to_build = 1 + skin_tone = 1 + parts = list(BP_L_LEG, BP_R_LEG, BP_L_FOOT, BP_R_FOOT) + -/obj/item/weapon/disk/limb/New(var/newloc) +/obj/item/disk/limb/New(var/newloc) ..() if(company) name = "[company] [initial(name)]" -/obj/item/weapon/disk/limb/bishop +/obj/item/disk/limb/bishop company = "Bishop" catalogue_data = list(/datum/category_item/catalogue/information/organization/bishop) -/obj/item/weapon/disk/limb/cybersolutions +/obj/item/disk/limb/cybersolutions company = "Cyber Solutions" -/obj/item/weapon/disk/limb/grayson +/obj/item/disk/limb/grayson company = "Grayson" -/obj/item/weapon/disk/limb/hephaestus +/obj/item/disk/limb/hephaestus company = "Hephaestus" catalogue_data = list(/datum/category_item/catalogue/information/organization/hephaestus) -/obj/item/weapon/disk/limb/morpheus +/obj/item/disk/limb/morpheus company = "Morpheus" catalogue_data = list(/datum/category_item/catalogue/information/organization/morpheus) -/obj/item/weapon/disk/limb/veymed +/obj/item/disk/limb/veymed company = "Vey-Med" catalogue_data = list(/datum/category_item/catalogue/information/organization/vey_med) // Bus disk for Diona mech parts. -/obj/item/weapon/disk/limb/veymed/diona +/obj/item/disk/limb/veymed/diona company = "Skrellian Exoskeleton" -/obj/item/weapon/disk/limb/wardtakahashi +/obj/item/disk/limb/wardtakahashi company = "Ward-Takahashi" catalogue_data = list(/datum/category_item/catalogue/information/organization/ward_takahashi) -/obj/item/weapon/disk/limb/xion +/obj/item/disk/limb/xion company = "Xion" catalogue_data = list(/datum/category_item/catalogue/information/organization/xion) -/obj/item/weapon/disk/limb/zenghu +/obj/item/disk/limb/zenghu company = "Zeng-Hu" catalogue_data = list(/datum/category_item/catalogue/information/organization/zeng_hu) -/obj/item/weapon/disk/limb/nanotrasen +/obj/item/disk/limb/nanotrasen company = "NanoTrasen" catalogue_data = list(/datum/category_item/catalogue/information/organization/nanotrasen) -/obj/item/weapon/disk/species +/obj/item/disk/species name = "Species Bioprints" desc = "A disk containing the blueprints for species-specific prosthetics." icon = 'icons/obj/cloning.dmi' icon_state = "datadisk2" var/species = SPECIES_HUMAN -/obj/item/weapon/disk/species/Initialize() +/obj/item/disk/species/Initialize() . = ..() if(species) name = "[species] [initial(name)]" -/obj/item/weapon/disk/species/skrell +/obj/item/disk/species/skrell species = SPECIES_SKRELL -/obj/item/weapon/disk/species/unathi +/obj/item/disk/species/unathi species = SPECIES_UNATHI -/obj/item/weapon/disk/species/tajaran +/obj/item/disk/species/tajaran species = SPECIES_TAJ -/obj/item/weapon/disk/species/teshari +/obj/item/disk/species/teshari species = SPECIES_TESHARI // In case of bus, presently. -/obj/item/weapon/disk/species/diona +/obj/item/disk/species/diona species = SPECIES_DIONA -/obj/item/weapon/disk/species/zaddat +/obj/item/disk/species/zaddat species = SPECIES_ZADDAT -/obj/item/weapon/disk/limb/cenilimicybernetics +/obj/item/disk/limb/cenilimicybernetics company = "Cenilimi Cybernetics" diff --git a/code/modules/organs/robolimbs_custom.dm b/code/modules/organs/robolimbs_custom.dm index cfa9848b74a..55d6e68ee49 100644 --- a/code/modules/organs/robolimbs_custom.dm +++ b/code/modules/organs/robolimbs_custom.dm @@ -15,7 +15,7 @@ includes_tail = 1 unavailable_to_build = 1 -/obj/item/weapon/disk/limb/eggnerdltd +/obj/item/disk/limb/eggnerdltd company = "Eggnerd Prototyping Ltd." // icon = 'icons/obj/items_vr.dmi' // icon_state = "verkdisk" @@ -26,7 +26,7 @@ desc = "This metallic limb is sleek and featuresless apart from some exposed motors" icon = 'icons/mob/human_races/cyberlimbs/talon/talon_main.dmi' //Sprited by: Viveret -/obj/item/weapon/disk/limb/talon +/obj/item/disk/limb/talon company = "Talon LLC" /datum/robolimb/zenghu_taj //This wasn't indented. At all. It's a miracle this didn't break literally everything. @@ -44,7 +44,7 @@ includes_tail = 1 unavailable_to_build = 1 -/obj/item/weapon/disk/limb/eggnerdltdred +/obj/item/disk/limb/eggnerdltdred company = "Eggnerd Prototyping Ltd. (Red)" icon = 'icons/obj/items_vr.dmi' //VOREStation add. Use the right sprites icon_state = "verkdisk" //VOREStation add. Use the right sprites @@ -67,7 +67,7 @@ species_cannot_use -= SPECIES_TAJ VS Edit - anyone can select these. */ -/obj/item/weapon/disk/limb/dsi_tajaran +/obj/item/disk/limb/dsi_tajaran company = "DSI - Tajaran" /datum/robolimb/dsi_lizard @@ -86,7 +86,7 @@ VS Edit - anyone can select these. */ species_cannot_use -= SPECIES_UNATHI VS Edit - anyone can select these. */ -/obj/item/weapon/disk/limb/dsi_lizard +/obj/item/disk/limb/dsi_lizard company = "DSI - Lizard" /datum/robolimb/dsi_sergal @@ -100,7 +100,7 @@ VS Edit - anyone can select these. */ skin_tone = 1 suggested_species = "Sergal" -/obj/item/weapon/disk/limb/dsi_sergal +/obj/item/disk/limb/dsi_sergal company = "DSI - Sergal" /datum/robolimb/dsi_nevrean @@ -114,7 +114,7 @@ VS Edit - anyone can select these. */ skin_tone = 1 suggested_species = "Nevrean" -/obj/item/weapon/disk/limb/dsi_nevrean +/obj/item/disk/limb/dsi_nevrean company = "DSI - Nevrean" /datum/robolimb/dsi_vulpkanin @@ -128,7 +128,7 @@ VS Edit - anyone can select these. */ skin_tone = 1 suggested_species = "Vulpkanin" -/obj/item/weapon/disk/limb/dsi_vulpkanin +/obj/item/disk/limb/dsi_vulpkanin company = "DSI - Vulpkanin" /datum/robolimb/dsi_akula @@ -142,7 +142,7 @@ VS Edit - anyone can select these. */ skin_tone = 1 suggested_species = "Akula" -/obj/item/weapon/disk/limb/dsi_akula +/obj/item/disk/limb/dsi_akula company = "DSI - Akula" /datum/robolimb/dsi_spider @@ -156,7 +156,7 @@ VS Edit - anyone can select these. */ skin_tone = 1 suggested_species = "Vasilissan" -/obj/item/weapon/disk/limb/dsi_spider +/obj/item/disk/limb/dsi_spider company = "DSI - Vasilissan" /datum/robolimb/dsi_teshari @@ -174,7 +174,7 @@ VS Edit - anyone can select these. */ species_cannot_use -= SPECIES_PROTEAN //VOREStation add - let 'em be selected. ..() -/obj/item/weapon/disk/limb/dsi_teshari +/obj/item/disk/limb/dsi_teshari company = "DSI - Teshari" /datum/robolimb/dsi_zorren @@ -188,7 +188,7 @@ VS Edit - anyone can select these. */ skin_tone = 1 suggested_species = "Zorren" -/obj/item/weapon/disk/limb/dsi_zorren +/obj/item/disk/limb/dsi_zorren company = "DSI - Zorren" /datum/robolimb/dsi_fennec @@ -202,5 +202,5 @@ VS Edit - anyone can select these. */ skin_tone = 1 suggested_species = "Fennec" -/obj/item/weapon/disk/limb/dsi_fennec +/obj/item/disk/limb/dsi_fennec company = "DSI - Fennec" diff --git a/code/modules/organs/robolimbs_vr.dm b/code/modules/organs/robolimbs_vr.dm index cb92c3e6d73..a3956a2bf9c 100644 --- a/code/modules/organs/robolimbs_vr.dm +++ b/code/modules/organs/robolimbs_vr.dm @@ -1,3 +1,7 @@ +GLOBAL_LIST_INIT(dsi_to_species, list(SPECIES_TAJARAN = "DSI - Tajaran", SPECIES_UNATHI = "DSI - Lizard", SPECIES_SERGAL = "DSI - Sergal", SPECIES_NEVREAN = "DSI - Nevrean", \ + SPECIES_VULPKANIN = "DSI - Vulpkanin", SPECIES_AKULA = "DSI - Akula", SPECIES_VASILISSAN = "DSI - Vasilissan", SPECIES_ZORREN = "DSI - Zorren",\ + SPECIES_TESHARI = "DSI - Teshari", SPECIES_FENNEC = "DSI - Fennec")) + //CitRP Port var/const/cyberbeast_monitor_styles = "blank=cyber_blank;\ default=cyber_default;\ @@ -39,7 +43,7 @@ var/const/cyberbeast_monitor_styles = "blank=cyber_blank;\ suggested_species = SPECIES_VULPKANIN whitelisted_to = list("arokha") -/obj/item/weapon/disk/limb/kitsuhana +/obj/item/disk/limb/kitsuhana company = "Kitsuhana" // silencedmp5a5 : Serdykov Antoz @@ -52,7 +56,7 @@ var/const/cyberbeast_monitor_styles = "blank=cyber_blank;\ includes_tail = 1 whitelisted_to = list("silencedmp5a5", "cgr") -/obj/item/weapon/disk/limb/white_kryten +/obj/item/disk/limb/white_kryten company = "White Kryten Cybernetics" // tucker0666 : Frost @@ -66,7 +70,7 @@ var/const/cyberbeast_monitor_styles = "blank=cyber_blank;\ unavailable_to_build = 1 whitelisted_to = list("tucker0666") -/obj/item/weapon/disk/limb/zenghu_frost +/obj/item/disk/limb/zenghu_frost company = "Zeng-Hu (Modified)" catalogue_data = list(/datum/category_item/catalogue/information/organization/zeng_hu) @@ -80,7 +84,7 @@ var/const/cyberbeast_monitor_styles = "blank=cyber_blank;\ monitor_icon = 'icons/mob/monitor_icons_vr.dmi' monitor_styles = cyberbeast_monitor_styles -/obj/item/weapon/disk/limb/cyber_beast +/obj/item/disk/limb/cyber_beast company = "Cyber Tech" /datum/robolimb/zenghu_glacier diff --git a/code/modules/organs/subtypes/machine.dm b/code/modules/organs/subtypes/machine.dm index 9a64c70cb0e..bbd75132402 100644 --- a/code/modules/organs/subtypes/machine.dm +++ b/code/modules/organs/subtypes/machine.dm @@ -16,7 +16,7 @@ // This is very ghetto way of rebooting an IPC. TODO better way. if(owner && owner.stat == DEAD) owner.set_stat(CONSCIOUS) - owner.visible_message("\The [owner] twitches visibly!") + owner.visible_message(span_danger("\The [owner] twitches visibly!")) /obj/item/organ/internal/cell/emp_act(severity) ..() @@ -35,8 +35,8 @@ organ_tag = O_BRAIN parent_organ = BP_HEAD vital = 1 - var/brain_type = /obj/item/device/mmi - var/obj/item/device/mmi/stored_mmi + var/brain_type = /obj/item/mmi + var/obj/item/mmi/stored_mmi robotic = ORGAN_ASSISTED butcherable = FALSE @@ -89,7 +89,7 @@ owner.set_stat(CONSCIOUS) dead_mob_list -= owner living_mob_list |= owner - owner.visible_message("\The [owner] twitches visibly!") + owner.visible_message(span_danger("\The [owner] twitches visibly!")) /obj/item/organ/internal/mmi_holder/removed(var/mob/living/user) @@ -111,7 +111,7 @@ /obj/item/organ/internal/mmi_holder/posibrain name = "positronic brain interface" - brain_type = /obj/item/device/mmi/digital/posibrain + brain_type = /obj/item/mmi/digital/posibrain robotic = ORGAN_ROBOT /obj/item/organ/internal/mmi_holder/posibrain/update_from_mmi() @@ -123,7 +123,7 @@ /obj/item/organ/internal/mmi_holder/robot name = "digital brain interface" - brain_type = /obj/item/device/mmi/digital/robot + brain_type = /obj/item/mmi/digital/robot robotic = ORGAN_ROBOT /obj/item/organ/internal/mmi_holder/robot/update_from_mmi() diff --git a/code/modules/organs/subtypes/nano.dm b/code/modules/organs/subtypes/nano.dm index f717ef3f1fc..023ccc8005a 100644 --- a/code/modules/organs/subtypes/nano.dm +++ b/code/modules/organs/subtypes/nano.dm @@ -2,81 +2,84 @@ /obj/item/organ/external/chest/unbreakable/nano robotic = ORGAN_NANOFORM encased = FALSE - max_damage = 50 // <-- This is different from the rest + max_damage = 70 // <-- This is different from the rest min_broken_damage = 1000 - vital = TRUE // <-- This is different from the rest + vital = TRUE model = "protean" /obj/item/organ/external/groin/unbreakable/nano robotic = ORGAN_NANOFORM encased = FALSE - max_damage = 30 // <-- This is different from the rest + max_damage = 70 min_broken_damage = 1000 //Multiple vital = FALSE model = "protean" /obj/item/organ/external/head/unbreakable/nano robotic = ORGAN_NANOFORM encased = FALSE - max_damage = 30 + max_damage = 70 min_broken_damage = 1000 //Inheritance vital = FALSE model = "protean" /obj/item/organ/external/arm/unbreakable/nano robotic = ORGAN_NANOFORM encased = FALSE - max_damage = 20 + max_damage = 40 min_broken_damage = 1000 //Please vital = FALSE model = "protean" /obj/item/organ/external/arm/right/unbreakable/nano robotic = ORGAN_NANOFORM encased = FALSE - max_damage = 20 + max_damage = 40 min_broken_damage = 1000 vital = FALSE model = "protean" /obj/item/organ/external/leg/unbreakable/nano robotic = ORGAN_NANOFORM encased = FALSE - max_damage = 20 + max_damage = 40 min_broken_damage = 1000 vital = FALSE model = "protean" /obj/item/organ/external/leg/right/unbreakable/nano robotic = ORGAN_NANOFORM encased = FALSE - max_damage = 20 + max_damage = 40 min_broken_damage = 1000 vital = FALSE model = "protean" /obj/item/organ/external/hand/unbreakable/nano robotic = ORGAN_NANOFORM encased = FALSE - max_damage = 20 + max_damage = 40 min_broken_damage = 1000 vital = FALSE model = "protean" /obj/item/organ/external/hand/right/unbreakable/nano robotic = ORGAN_NANOFORM encased = FALSE - max_damage = 20 + max_damage = 40 min_broken_damage = 1000 vital = FALSE model = "protean" /obj/item/organ/external/foot/unbreakable/nano robotic = ORGAN_NANOFORM encased = FALSE - max_damage = 20 + max_damage = 40 min_broken_damage = 1000 vital = FALSE model = "protean" /obj/item/organ/external/foot/right/unbreakable/nano robotic = ORGAN_NANOFORM encased = FALSE - max_damage = 20 + max_damage = 40 min_broken_damage = 1000 vital = FALSE model = "protean" +/obj/item/organ/external/head/unbreakable/nano/disfigure() + return //No way to repair disfigured prots + // // // Internal Organs /obj/item/organ/internal/nano robotic = ORGAN_ROBOT @@ -164,7 +167,7 @@ icon_state = "posi" parent_organ = BP_TORSO - brain_type = /obj/item/device/mmi/digital/posibrain/nano + brain_type = /obj/item/mmi/digital/posibrain/nano /obj/item/organ/internal/mmi_holder/posibrain/nano/robotize() . = ..() @@ -180,32 +183,50 @@ icon = initial(icon) icon_state = "posi1" stored_mmi.icon_state = "posi1" - stored_mmi.brainmob.languages = owner.languages +/obj/item/organ/internal/mmi_holder/posibrain/nano/emp_act() + return //Proteans handle EMP's differently + // The 'out on the ground' object, not the organ holder -/obj/item/device/mmi/digital/posibrain/nano +/obj/item/mmi/digital/posibrain/nano name = "protean posibrain" desc = "A more advanced version of the standard posibrain, typically found in protean bodies." icon = 'icons/mob/species/protean/protean.dmi' icon_state = "posi" -/obj/item/device/mmi/digital/posibrain/nano/Initialize() +/obj/item/mmi/digital/posibrain/nano/Initialize() . = ..() icon_state = "posi" -/obj/item/device/mmi/digital/posibrain/nano/request_player() +/obj/item/mmi/digital/posibrain/nano/request_player() icon_state = initial(icon_state) return //We don't do this stuff -/obj/item/device/mmi/digital/posibrain/nano/reset_search() +/obj/item/mmi/digital/posibrain/nano/reset_search() icon_state = initial(icon_state) return //Don't do this either because of the above -/obj/item/device/mmi/digital/posibrain/nano/transfer_personality() +/obj/item/mmi/digital/posibrain/nano/transfer_personality() . = ..() icon_state = "posi1" -/obj/item/device/mmi/digital/posibrain/nano/transfer_identity() +/obj/item/mmi/digital/posibrain/nano/transfer_identity() . = ..() icon_state = "posi1" + +/obj/item/organ/internal/nano/digest_act(atom/movable/item_storage = null) + return FALSE + +/datum/design/item/protean_reboot + name = "Protean Reboot Programmer" + id = "protean_reboot" + materials = list(MAT_STEEL = 2000, MAT_GLASS = 1000, MAT_PLASTEEL = 10000) + build_path = /obj/item/protean_reboot + sort_string = "JVAAZ" + +/obj/item/protean_reboot + name = "Protean Reboot Programmer" + desc = "A small, highly specialized programmer used to form the basis of a Protean swarm. A necessary component in reconstituting a Protean who has lost total body cohesion." + icon = 'icons/mob/species/protean/protean.dmi' + icon_state = "reboot" diff --git a/code/modules/organs/subtypes/replicant.dm b/code/modules/organs/subtypes/replicant.dm index 51605ab098d..2aaa4c6fd23 100644 --- a/code/modules/organs/subtypes/replicant.dm +++ b/code/modules/organs/subtypes/replicant.dm @@ -53,6 +53,20 @@ can_reject = FALSE icon_state = "plasma_grey" +/obj/item/organ/internal/xenos/plasmavessel/replicant/crew/handle_organ_proc_special() + if(!istype(owner)) + return + + var/modifier = 1 - 0.5 * is_bruised() + + if(owner.bloodstr.has_reagent("phoron")) + adjust_plasma(round(4 * modifier)) + + if(owner.ingested.has_reagent("phoron")) + adjust_plasma(round(2 * modifier)) + + adjust_plasma(2) //Make it a decent amount so people can actually build stuff without stealing all of medbays phoron + /obj/item/organ/internal/xenos/acidgland/replicant name = "replicant aerosol tubule" desc = "A long, rubbery tube that ends in a hard plastic-like bulb." @@ -152,6 +166,22 @@ owner.add_modifier(/datum/modifier/berserk, 20 SECONDS) take_damage(5) +/obj/item/organ/internal/heart/replicant/rage/crew/handle_organ_proc_special() + if(!owner) + return + + var/damage_tally = 0 + var/pain_tally = 0 + damage_tally += owner.getBruteLoss() + damage_tally += owner.getFireLoss() + pain_tally += owner.getHalLoss() + + if(((damage_tally >= 50 || prev_damage_tally >= 50) && prev_damage_tally - damage_tally < 0) || pain_tally >= 60) + if(world.time > last_activation_time + 60 MINUTES) //Can only be activated once every 60 minutes to prevent it being able to be spammed + last_activation_time = world.time + owner.add_modifier(/datum/modifier/berserk, 40 SECONDS) //Lasts a little longer so that it can actually get some use seeing as it activates so infrequently + take_damage(5) + /obj/item/organ/internal/lungs/replicant/mending name = "replicant hive lungs" desc = "A pair of rubbery sacs with large portions dedicated to honeycombed nanite filters." @@ -169,3 +199,15 @@ var/obj/item/organ/O = owner.internal_organs_by_name[o_tag] if(O) O.take_damage(-1 * modifier) + +/obj/item/organ/internal/lungs/replicant/mending/crew/handle_organ_proc_special() + if(!owner) + return + + var/modifier = 1 - (0.5 * is_bruised()) + + if(istype(owner)) + for(var/o_tag in repair_list) + var/obj/item/organ/O = owner.internal_organs_by_name[o_tag] + if(O) + O.take_damage(-0.01 * modifier) //Very very slow regen, but still cool flavour diff --git a/code/modules/organs/subtypes/slime.dm b/code/modules/organs/subtypes/slime.dm index fa60367e93b..7cd0e3167bf 100644 --- a/code/modules/organs/subtypes/slime.dm +++ b/code/modules/organs/subtypes/slime.dm @@ -71,7 +71,7 @@ /obj/item/organ/internal/heart/grey/colormatch/slime/process() ..() if(!(QDELETED(src)) && src.loc != owner) - visible_message("\The [src] splatters!") + visible_message(span_infoplain(span_bold("\The [src]") + " splatters!")) var/turf/T = get_turf(src) var/obj/effect/decal/cleanable/blood/B = new (T) @@ -120,7 +120,7 @@ ..() if(!(QDELETED(src)) && src.loc != owner) - visible_message("\The [src] splatters!") + visible_message(span_infoplain(span_bold("\The [src]") + " splatters!")) var/turf/T = get_turf(src) var/obj/effect/decal/cleanable/blood/B = new (T) diff --git a/code/modules/organs/subtypes/standard.dm b/code/modules/organs/subtypes/standard.dm index 152c3679672..0aca3669cfa 100644 --- a/code/modules/organs/subtypes/standard.dm +++ b/code/modules/organs/subtypes/standard.dm @@ -283,7 +283,7 @@ var/eyes_over_markings = FALSE //VOREStation edit /obj/item/organ/external/head/Initialize() - if(config.allow_headgibs) + if(CONFIG_GET(flag/allow_headgibs)) cannot_gib = FALSE return ..() @@ -336,8 +336,8 @@ /obj/item/organ/external/head/attackby(obj/item/I as obj, mob/user as mob) if(istype(I, /obj/item/toy/plushie) || istype(I, /obj/item/organ/external/head)) - user.visible_message("[user] makes \the [I] kiss \the [src]!.", \ - "You make \the [I] kiss \the [src]!.") + user.visible_message(span_notice("[user] makes \the [I] kiss \the [src]!."), \ + span_notice("You make \the [I] kiss \the [src]!.")) return ..() /obj/item/organ/external/head/get_icon(var/skeletal, var/can_apply_transparency = TRUE) diff --git a/code/modules/overmap/bluespace_rift_vr.dm b/code/modules/overmap/bluespace_rift_vr.dm index 2964dd5b7ac..0af937164af 100644 --- a/code/modules/overmap/bluespace_rift_vr.dm +++ b/code/modules/overmap/bluespace_rift_vr.dm @@ -13,7 +13,7 @@ . = ..() if(new_partner) pair(new_partner) - + /obj/effect/overmap/bluespace_rift/proc/pair(var/obj/effect/overmap/bluespace_rift/new_partner) if(istype(new_partner)) partner = new_partner @@ -37,6 +37,6 @@ new type(get_turf(user), src) else if(partner) user.forceMove(get_turf(partner)) - to_chat(user, "Your ghostly form is pulled through the rift!") + to_chat(user, span_notice("Your ghostly form is pulled through the rift!")) else return ..() diff --git a/code/modules/overmap/champagne.dm b/code/modules/overmap/champagne.dm index 593be7f2a6d..81cd0bf36d6 100644 --- a/code/modules/overmap/champagne.dm +++ b/code/modules/overmap/champagne.dm @@ -23,41 +23,41 @@ return if(comp.shuttle_tag) - to_chat(user, "[comp] is already configured to link with [comp.shuttle_tag]") + to_chat(user, span_warning("[comp] is already configured to link with [comp.shuttle_tag]")) return - user.visible_message("[user] lifts [src] bottle over [comp]!") + user.visible_message(span_notice("[user] lifts [src] bottle over [comp]!")) var/shuttle_name = tgui_input_text(usr, "Choose a name for the shuttle", "New Shuttle Name") if(!shuttle_name || QDELETED(src) || QDELETED(comp) || comp.shuttle_tag || user.incapacitated()) return // After input() safety re-checks // Tons of safety checks here. Make sure they don't destroy everything. if(length(shuttle_name) < min_name_len || length(shuttle_name) > max_name_len) - to_chat(user, "Name length must be between [min_name_len] and [max_name_len].") + to_chat(user, span_warning("Name length must be between [min_name_len] and [max_name_len].")) return if(shuttle_name in SSshuttles.shuttles) - to_chat(user, "Invalid name: Already in use.") + to_chat(user, span_warning("Invalid name: Already in use.")) return var/area/my_area = get_area(comp) if(!my_area || istype(my_area, /area/space)) - to_chat(user, "[comp] must be in a valid area to become a shuttle.") + to_chat(user, span_warning("[comp] must be in a valid area to become a shuttle.")) return if(my_area in SSshuttles.shuttle_areas) - to_chat(user, "[comp] is already in a shuttle.") + to_chat(user, span_warning("[comp] is already in a shuttle.")) return // Count turfs in the area var/list/turfs = get_current_area_turfs(my_area) if(turfs.len > max_area_turfs) - to_chat(user, "The new shuttle area is too large.") + to_chat(user, span_warning("The new shuttle area is too large.")) return var/turf/comp_turf = get_turf(comp) var/datum/shuttle/autodock/S = create_landable_shuttle(shuttle_name, comp_turf, my_area) playsound(src, 'sound/effects/Glassbr3.ogg', 100, 0) - user.visible_message("[user] smashes [src] on [comp]", - "You smash [src] on [comp], christening a new landable ship named [S.name]", - "You hear glass shattering") + user.visible_message(span_notice("[user] smashes [src] on [comp]"), + span_info("You smash [src] on [comp], christening a new landable ship named [S.name]"), + span_notice("You hear glass shattering")) log_and_message_admins("[key_name_admin(user)] Created a new shuttle [S.name]. [ADMIN_JMP(comp_turf)]") spawn(1 SECOND) playsound(comp_turf, 'sound/voice/Serithi/Shuttlehere.ogg', 75, 0) diff --git a/code/modules/overmap/disperser/disperser.dm b/code/modules/overmap/disperser/disperser.dm index 005ee3719e5..23e2bae204b 100644 --- a/code/modules/overmap/disperser/disperser.dm +++ b/code/modules/overmap/disperser/disperser.dm @@ -24,12 +24,12 @@ /obj/machinery/disperser/attackby(obj/item/I, mob/user) if(I && I.has_tool_quality(TOOL_WRENCH)) if(panel_open) - user.visible_message("\The [user] rotates \the [src] with \the [I].", - "You rotate \the [src] with \the [I].") + user.visible_message(span_infoplain(span_bold("\The [user]") + " rotates \the [src] with \the [I]."), + span_notice("You rotate \the [src] with \the [I].")) set_dir(turn(dir, 90)) playsound(src, 'sound/items/jaws_pry.ogg', 50, 1) else - to_chat(user, "The maintenance panel must be screwed open for this!") + to_chat(user, span_notice("The maintenance panel must be screwed open for this!")) return if(default_deconstruction_screwdriver(user, I)) return @@ -44,7 +44,7 @@ desc = "A complex machine which shoots concentrated material beams.\
    A sign on it reads: STAY CLEAR! DO NOT BLOCK!" icon_state = "front" - circuit = /obj/item/weapon/circuitboard/disperserfront + circuit = /obj/item/circuitboard/disperserfront /obj/machinery/disperser/middle name = "obstruction removal ballista fusor" @@ -52,14 +52,14 @@ from the material deconstructor to the particle beam generator.\
    A sign on it reads: EXPLOSIVE! DO NOT OVERHEAT!" icon_state = "middle" - circuit = /obj/item/weapon/circuitboard/dispersermiddle - // maximum_component_parts = list(/obj/item/weapon/stock_parts = 15) + circuit = /obj/item/circuitboard/dispersermiddle + // maximum_component_parts = list(/obj/item/stock_parts = 15) /obj/machinery/disperser/back name = "obstruction removal ballista material deconstructor" desc = "A prototype machine which can deconstruct materials atom by atom.\
    A sign on it reads: KEEP AWAY FROM LIVING MATERIAL!" icon_state = "back" - circuit = /obj/item/weapon/circuitboard/disperserback + circuit = /obj/item/circuitboard/disperserback density = FALSE layer = UNDER_JUNK_LAYER //So the charges go above us. diff --git a/code/modules/overmap/disperser/disperser_circuit.dm b/code/modules/overmap/disperser/disperser_circuit.dm index 7ecf4ebf1b5..382cce1ad6b 100644 --- a/code/modules/overmap/disperser/disperser_circuit.dm +++ b/code/modules/overmap/disperser/disperser_circuit.dm @@ -2,34 +2,34 @@ #error T_BOARD macro is not defined but we need it! #endif -/obj/item/weapon/circuitboard/disperser +/obj/item/circuitboard/disperser name = T_BOARD("obstruction removal ballista control") build_path = /obj/machinery/computer/ship/disperser origin_tech = list(TECH_ENGINEERING = 2, TECH_COMBAT = 2, TECH_BLUESPACE = 2) -/obj/item/weapon/circuitboard/disperserfront +/obj/item/circuitboard/disperserfront name = T_BOARD("obstruction removal ballista beam generator") build_path = /obj/machinery/disperser/front board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_ENGINEERING = 2, TECH_COMBAT = 2, TECH_BLUESPACE = 2) req_components = list ( - /obj/item/weapon/stock_parts/manipulator/pico = 5 + /obj/item/stock_parts/manipulator/pico = 5 ) -/obj/item/weapon/circuitboard/dispersermiddle +/obj/item/circuitboard/dispersermiddle name = T_BOARD("obstruction removal ballista fusor") build_path = /obj/machinery/disperser/middle board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_ENGINEERING = 2, TECH_COMBAT = 2, TECH_BLUESPACE = 2) req_components = list ( - /obj/item/weapon/stock_parts/subspace/crystal = 10 + /obj/item/stock_parts/subspace/crystal = 10 ) -/obj/item/weapon/circuitboard/disperserback +/obj/item/circuitboard/disperserback name = T_BOARD("obstruction removal ballista material deconstructor") build_path = /obj/machinery/disperser/back board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_ENGINEERING = 2, TECH_COMBAT = 2, TECH_BLUESPACE = 2) req_components = list ( - /obj/item/weapon/stock_parts/capacitor/super = 5 + /obj/item/stock_parts/capacitor/super = 5 ) diff --git a/code/modules/overmap/disperser/disperser_console.dm b/code/modules/overmap/disperser/disperser_console.dm index 2135d8830b6..f5791352377 100644 --- a/code/modules/overmap/disperser/disperser_console.dm +++ b/code/modules/overmap/disperser/disperser_console.dm @@ -4,10 +4,7 @@ name = "obstruction removal ballista control" icon = 'icons/obj/computer.dmi' icon_state = "computer" - circuit = /obj/item/weapon/circuitboard/disperser - - core_skill = /datum/skill/pilot - var/skill_offset = SKILL_ADEPT - 1 //After which skill level it starts to matter. -1, because we have to index from zero + circuit = /obj/item/circuitboard/disperser icon_keyboard = "rd_key" icon_screen = "teleport" @@ -151,7 +148,6 @@ data["range"] = range data["next_shot"] = round(get_next_shot_seconds()) data["nopower"] = !data["faillink"] && (!front.powered() || !middle.powered() || !back.powered()) - data["skill"] = user.get_skill_value(core_skill) > skill_offset var/charge = "UNKNOWN ERROR" if(get_charge_type() == OVERMAP_WEAKNESS_NONE) @@ -177,34 +173,34 @@ . = TRUE if("calibration") - var/input = tgui_input_number(usr, "0-9", "disperser calibration", 0, 9, 0) + var/input = tgui_input_number(ui.user, "0-9", "disperser calibration", 0, 9, 0) if(!isnull(input)) //can be zero so we explicitly check for null var/calnum = sanitize_integer(text2num(params["calibration"]), 0, caldigit)//sanitiiiiize calibration[calnum + 1] = sanitize_integer(input, 0, 9, 0)//must add 1 because js indexes from 0 . = TRUE if("skill_calibration") - for(var/i = 1 to min(caldigit, usr.get_skill_value(core_skill) - skill_offset)) + for(var/i = 1 to 2) calibration[i] = calexpected[i] . = TRUE if("strength") - var/input = tgui_input_number(usr, "1-5", "disperser strength", 1, 5, 1) - if(input && tgui_status(usr, state) == STATUS_INTERACTIVE) + var/input = tgui_input_number(ui.user, "1-5", "disperser strength", 1, 5, 1) + if(input && tgui_status(ui.user, state) == STATUS_INTERACTIVE) strength = sanitize_integer(input, 1, 5, 1) middle.update_idle_power_usage(strength * range * 100) . = TRUE if("range") - var/input = tgui_input_number(usr, "1-5", "disperser radius", 1, 5, 1) - if(input && tgui_status(usr, state) == STATUS_INTERACTIVE) + var/input = tgui_input_number(ui.user, "1-5", "disperser radius", 1, 5, 1) + if(input && tgui_status(ui.user, state) == STATUS_INTERACTIVE) range = sanitize_integer(input, 1, 5, 1) middle.update_idle_power_usage(strength * range * 100) . = TRUE if("fire") - fire(usr) + fire(ui.user) . = TRUE - if(. && !issilicon(usr)) + if(. && !issilicon(ui.user)) playsound(src, "terminal_type", 50, 1) diff --git a/code/modules/overmap/overmap_object.dm b/code/modules/overmap/overmap_object.dm index ad87d50e8b4..c6f43c4702f 100644 --- a/code/modules/overmap/overmap_object.dm +++ b/code/modules/overmap/overmap_object.dm @@ -3,7 +3,6 @@ icon = 'icons/obj/overmap.dmi' icon_state = "object" - /// If set to TRUE will show up on ship sensors for detailed scans var/scannable /// Description for scans @@ -26,14 +25,52 @@ //light_system = MOVABLE_LIGHT light_on = FALSE + ///~~If we need to render a map for cameras and helms for this object~~ basically can you look at and use this as a ship or station. + var/render_map = FALSE + + // Stuff needed to render the map + var/map_name + var/obj/screen/map_view/cam_screen + /// All the plane masters that need to be applied. + var/list/cam_plane_masters + var/obj/screen/background/cam_background + /obj/effect/overmap/Initialize() . = ..() if(!global.using_map.use_overmap) return INITIALIZE_HINT_QDEL + if(render_map) // Initialize map objects + map_name = "overmap_[REF(src)]_map" + cam_screen = new + cam_screen.name = "screen" + cam_screen.assigned_map = map_name + cam_screen.del_on_map_removal = FALSE + cam_screen.screen_loc = "[map_name]:1,1" + + cam_plane_masters = get_tgui_plane_masters() + + for(var/obj/screen/instance as anything in cam_plane_masters) + instance.assigned_map = map_name + instance.del_on_map_removal = FALSE + instance.screen_loc = "[map_name]:CENTER" + + cam_background = new + cam_background.assigned_map = map_name + cam_background.del_on_map_removal = FALSE + update_screen() + /obj/effect/overmap/Destroy() real_appearance?.loc = null real_appearance = null + + if(cam_screen) + QDEL_NULL(cam_screen) + if(cam_plane_masters) + QDEL_LIST(cam_plane_masters) + if(cam_background) + QDEL_NULL(cam_background) + return ..() //Overlay of how this object should look on other skyboxes @@ -78,3 +115,21 @@ SSskybox.rebuild_skyboxes(other.map_z) for(var/obj/effect/overmap/visitable/O in loc) SSskybox.rebuild_skyboxes(O.map_z) + +/** + * Updates the screen object, which is displayed on all connected helms + */ +/obj/effect/overmap/proc/update_screen() + if(render_map) + var/list/visible_turfs = list() + for(var/turf/T in view(4, get_turf(src))) + visible_turfs += T + + var/list/bbox = get_bbox_of_atoms(visible_turfs) + var/size_x = bbox[3] - bbox[1] + 1 + var/size_y = bbox[4] - bbox[2] + 1 + + cam_screen?.vis_contents = visible_turfs + cam_background.icon_state = "clear" + cam_background.fill_rect(1, 1, size_x, size_y) + return TRUE diff --git a/code/modules/overmap/overmap_shuttle.dm b/code/modules/overmap/overmap_shuttle.dm index 33af0f60f2d..ac9c5711847 100644 --- a/code/modules/overmap/overmap_shuttle.dm +++ b/code/modules/overmap/overmap_shuttle.dm @@ -9,8 +9,6 @@ var/obj/effect/overmap/visitable/ship/landable/myship //my overmap ship object category = /datum/shuttle/autodock/overmap - var/skill_needed = SKILL_BASIC - var/operator_skill = SKILL_BASIC /datum/shuttle/autodock/overmap/New(var/_name, var/obj/effect/shuttle_landmark/start_waypoint) ..(_name, start_waypoint) @@ -54,15 +52,7 @@ /datum/shuttle/autodock/overmap/get_travel_time() var/distance_mod = get_dist(waypoint_sector(current_location),waypoint_sector(next_location)) - var/skill_mod = 0.2*(skill_needed - operator_skill) - return move_time * (1 + distance_mod + skill_mod) - -/datum/shuttle/autodock/overmap/process_launch() - if(prob(10*max(0, skill_needed - operator_skill))) - var/places = get_possible_destinations() - var/place = pick(places) - set_destination(places[place]) - ..() + return move_time * (1 + distance_mod) /datum/shuttle/autodock/overmap/proc/set_destination(var/obj/effect/shuttle_landmark/A) if(A != current_location) @@ -96,21 +86,21 @@ return 1 //shuttles with zero fuel consumption are magic and can always launch if(!fuel_ports.len) return 0 //Nowhere to get fuel from - var/list/obj/item/weapon/tank/fuel_tanks = list() + var/list/obj/item/tank/fuel_tanks = list() for(var/obj/structure/FP in fuel_ports) //loop through fuel ports and assemble list of all fuel tanks - var/obj/item/weapon/tank/FT = locate() in FP + var/obj/item/tank/FT = locate() in FP if(FT) fuel_tanks += FT if(!fuel_tanks.len) return 0 //can't launch if you have no fuel TANKS in the ports var/total_flammable_gas_moles = 0 - for(var/obj/item/weapon/tank/FT in fuel_tanks) + for(var/obj/item/tank/FT in fuel_tanks) total_flammable_gas_moles += FT.air_contents.get_by_flag(XGM_GAS_FUEL) if(total_flammable_gas_moles < fuel_consumption) //not enough fuel return 0 // We are going to succeed if we got to here, so start consuming that fuel var/fuel_to_consume = fuel_consumption - for(var/obj/item/weapon/tank/FT in fuel_tanks) //loop through tanks, consume their fuel one by one + for(var/obj/item/tank/FT in fuel_tanks) //loop through tanks, consume their fuel one by one var/fuel_available = FT.air_contents.get_by_flag(XGM_GAS_FUEL) if(!fuel_available) // Didn't even have fuel. continue @@ -133,7 +123,7 @@ var/icon_full = "fuel_port_full" var/opened = 0 var/parent_shuttle - var/base_tank = /obj/item/weapon/tank/phoron + var/base_tank = /obj/item/tank/phoron /obj/structure/fuel_port/Initialize() . = ..() @@ -141,7 +131,7 @@ new base_tank(src) /obj/structure/fuel_port/heavy - base_tank = /obj/item/weapon/tank/phoron/pressurized + base_tank = /obj/item/tank/phoron/pressurized /obj/structure/fuel_port/empty base_tank = null //oops, no gas! @@ -166,7 +156,7 @@ icon_state = icon_closed ..() -/obj/structure/fuel_port/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/structure/fuel_port/attackby(obj/item/W as obj, mob/user as mob) if(W.has_tool_quality(TOOL_CROWBAR)) if(opened) to_chat(user, "You tightly shut \the [src] door.") @@ -176,7 +166,7 @@ to_chat(user, "You open up \the [src] door.") playsound(src, 'sound/effects/locker_open.ogg', 15, 1, -3) opened = 1 - else if(istype(W,/obj/item/weapon/tank)) + else if(istype(W,/obj/item/tank)) if(!opened) to_chat(user, "\The [src] door is still closed!") return @@ -187,4 +177,4 @@ // Walls hide stuff inside them, but we want to be visible. /obj/structure/fuel_port/hide() - return \ No newline at end of file + return diff --git a/code/modules/overmap/ships/computers/computer_shims.dm b/code/modules/overmap/ships/computers/computer_shims.dm index 72fdbe4fb72..449f3bd4be5 100644 --- a/code/modules/overmap/ships/computers/computer_shims.dm +++ b/code/modules/overmap/ships/computers/computer_shims.dm @@ -37,19 +37,18 @@ . = 0 for(var/thing in component_parts) if(istype(thing, part_type)) - var/obj/item/weapon/stock_parts/part = thing + var/obj/item/stock_parts/part = thing . += part.rating // Now isn't THIS a cool idea? // for(var/path in uncreated_component_parts) // if(ispath(path, part_type)) - // var/obj/item/weapon/stock_parts/comp = path + // var/obj/item/stock_parts/comp = path // . += initial(comp.rating) * uncreated_component_parts[path] // // Skills // /obj/machinery/computer/ship - var/core_skill = /datum/skill/devices //The skill used for skill checks for this machine (mostly so subtypes can use different skills). var/ai_control = TRUE //VOREStation Edit // @@ -73,7 +72,7 @@ /obj/machinery/computer/ship/attack_ai(mob/user) //VOREStation Addition Start if(!ai_control && issilicon(user)) - to_chat(user, "Access Denied.") + to_chat(user, span_warning("Access Denied.")) return //VOREStation Addition End if(tgui_status(user, tgui_state()) > STATUS_CLOSE) @@ -90,11 +89,11 @@ return //VOREStation Addition Start if(!ai_control && issilicon(user)) - to_chat(user, "Access Denied.") + to_chat(user, span_warning("Access Denied.")) return TRUE //VOREStation Addition End if(!allowed(user)) - to_chat(user, "Access Denied.") + to_chat(user, span_warning("Access Denied.")) return TRUE if(tgui_status(user, tgui_state()) > STATUS_CLOSE) return interface_interact(user) diff --git a/code/modules/overmap/ships/computers/engine_control.dm b/code/modules/overmap/ships/computers/engine_control.dm index e2b2defea8a..49f1e617c54 100644 --- a/code/modules/overmap/ships/computers/engine_control.dm +++ b/code/modules/overmap/ships/computers/engine_control.dm @@ -4,7 +4,7 @@ name = "engine control console" icon_keyboard = "tech_key" icon_screen = "engines" - circuit = /obj/item/weapon/circuitboard/engine + circuit = /obj/item/circuitboard/engine // fancy sprite /obj/machinery/computer/ship/engines/adv @@ -62,8 +62,8 @@ . = TRUE if("set_global_limit") - var/newlim = tgui_input_number(usr, "Input new thrust limit (0..100%)", "Thrust limit", linked.thrust_limit*100, 100, 0, round_value = FALSE) - if(tgui_status(usr, state) != STATUS_INTERACTIVE) + var/newlim = tgui_input_number(ui.user, "Input new thrust limit (0..100%)", "Thrust limit", linked.thrust_limit*100, 100, 0, round_value = FALSE) + if(tgui_status(ui.user, state) != STATUS_INTERACTIVE) return FALSE linked.thrust_limit = clamp(newlim/100, 0, 1) for(var/datum/ship_engine/E in linked.engines) @@ -78,8 +78,8 @@ if("set_limit") var/datum/ship_engine/E = locate(params["engine"]) - var/newlim = tgui_input_number(usr, "Input new thrust limit (0..100)", "Thrust limit", E.get_thrust_limit(), 100, 0, round_value = FALSE) - if(tgui_status(usr, state) != STATUS_INTERACTIVE) + var/newlim = tgui_input_number(ui.user, "Input new thrust limit (0..100)", "Thrust limit", E.get_thrust_limit(), 100, 0, round_value = FALSE) + if(tgui_status(ui.user, state) != STATUS_INTERACTIVE) return FALSE var/limit = clamp(newlim/100, 0, 1) if(istype(E)) @@ -99,5 +99,5 @@ E.toggle() . = TRUE - if(. && !issilicon(usr)) + if(. && !issilicon(ui.user)) playsound(src, "terminal_type", 50, 1) diff --git a/code/modules/overmap/ships/computers/helm.dm b/code/modules/overmap/ships/computers/helm.dm index 518d3955a54..0473457bdcf 100644 --- a/code/modules/overmap/ships/computers/helm.dm +++ b/code/modules/overmap/ships/computers/helm.dm @@ -19,8 +19,7 @@ GLOBAL_LIST_EMPTY(all_waypoints) icon_keyboard = "teleport_key" icon_screen = "helm" light_color = "#7faaff" - circuit = /obj/item/weapon/circuitboard/helm - core_skill = /datum/skill/pilot + circuit = /obj/item/circuitboard/helm var/autopilot = 0 var/autopilot_disabled = TRUE var/list/known_sectors = list() @@ -77,13 +76,10 @@ GLOBAL_LIST_EMPTY(all_waypoints) // All other cases, move toward direction else if(speed + acceleration <= speedlimit) linked.accelerate(direction, accellimit) - linked.operator_skill = null//if this is on you can't dodge meteors return /obj/machinery/computer/ship/helm/relaymove(var/mob/user, direction) if(viewing_overmap(user) && linked) - if(prob(user.skill_fail_chance(/datum/skill/pilot, 50, linked.skill_needed, factor = 1))) - direction = turn(direction,pick(90,-90)) linked.relaymove(user, direction, accellimit) return 1 @@ -94,8 +90,23 @@ GLOBAL_LIST_EMPTY(all_waypoints) ui = SStgui.try_update_ui(user, src, ui) if(!ui) + user.client.register_map_obj(linked.cam_screen) + for(var/plane in linked.cam_plane_masters) + user.client.register_map_obj(plane) + user.client.register_map_obj(linked.cam_background) + ui = new(user, src, "OvermapHelm", "[linked.name] Helm Control") // 565, 545 ui.open() + addtimer(CALLBACK(src, PROC_REF(update_map)), 0.1 SECONDS) + +/obj/machinery/computer/ship/helm/proc/update_map() + linked.update_screen() + +/obj/machinery/computer/ship/helm/tgui_close(mob/user) + . = ..() + + // Unregister map objects + user.client?.clear_map(linked?.map_name) /obj/machinery/computer/ship/helm/tgui_data(mob/user) var/list/data = ..() @@ -103,6 +114,7 @@ GLOBAL_LIST_EMPTY(all_waypoints) var/turf/T = get_turf(linked) var/obj/effect/overmap/visitable/sector/current_sector = locate() in T + data["mapRef"] = linked?.map_name data["sector"] = current_sector ? current_sector.name : "Deep Space" data["sector_info"] = current_sector ? current_sector.desc : "Not Available" data["landed"] = linked.get_landed_info() @@ -155,28 +167,35 @@ GLOBAL_LIST_EMPTY(all_waypoints) return FALSE switch(action) + if("update_camera_view") + if(TIMER_COOLDOWN_RUNNING(src, COOLDOWN_SHIP_REFRESH)) + to_chat(ui.user, span_warning("You cannot refresh the map so often.")) + return + update_map() + TIMER_COOLDOWN_START(src, COOLDOWN_SHIP_REFRESH, 5 SECONDS) + . = TRUE if("add") var/datum/computer_file/data/waypoint/R = new() - var/sec_name = tgui_input_text(usr, "Input navigation entry name", "New navigation entry", "Sector #[known_sectors.len]", MAX_NAME_LEN) + var/sec_name = tgui_input_text(ui.user, "Input navigation entry name", "New navigation entry", "Sector #[known_sectors.len]", MAX_NAME_LEN) sec_name = sanitize(sec_name,MAX_NAME_LEN) - if(tgui_status(usr, state) != STATUS_INTERACTIVE) + if(tgui_status(ui.user, state) != STATUS_INTERACTIVE) return FALSE if(!sec_name) sec_name = "Sector #[known_sectors.len]" R.fields["name"] = sec_name if(sec_name in known_sectors) - to_chat(usr, "Sector with that name already exists, please input a different name.") + to_chat(ui.user, span_warning("Sector with that name already exists, please input a different name.")) return TRUE switch(params["add"]) if("current") R.fields["x"] = linked.x R.fields["y"] = linked.y if("new") - var/newx = tgui_input_number(usr, "Input new entry x coordinate", "Coordinate input", linked.x, world.maxx, 1) - if(tgui_status(usr, state) != STATUS_INTERACTIVE) + var/newx = tgui_input_number(ui.user, "Input new entry x coordinate", "Coordinate input", linked.x, world.maxx, 1) + if(tgui_status(ui.user, state) != STATUS_INTERACTIVE) return TRUE - var/newy = tgui_input_number(usr, "Input new entry y coordinate", "Coordinate input", linked.y, world.maxy, 1) - if(tgui_status(usr, state) != STATUS_INTERACTIVE) + var/newy = tgui_input_number(ui.user, "Input new entry y coordinate", "Coordinate input", linked.y, world.maxy, 1) + if(tgui_status(ui.user, state) != STATUS_INTERACTIVE) return FALSE R.fields["x"] = CLAMP(newx, 1, world.maxx) R.fields["y"] = CLAMP(newy, 1, world.maxy) @@ -192,15 +211,15 @@ GLOBAL_LIST_EMPTY(all_waypoints) if("setcoord") if(params["setx"]) - var/newx = tgui_input_number(usr, "Input new destiniation x coordinate", "Coordinate input", dx, world.maxx, 1) - if(tgui_status(usr, state) != STATUS_INTERACTIVE) + var/newx = tgui_input_number(ui.user, "Input new destiniation x coordinate", "Coordinate input", dx, world.maxx, 1) + if(tgui_status(ui.user, state) != STATUS_INTERACTIVE) return if(newx) dx = CLAMP(newx, 1, world.maxx) if(params["sety"]) - var/newy = tgui_input_number(usr, "Input new destiniation y coordinate", "Coordinate input", dy, world.maxy, 1) - if(tgui_status(usr, state) != STATUS_INTERACTIVE) + var/newy = tgui_input_number(ui.user, "Input new destiniation y coordinate", "Coordinate input", dy, world.maxy, 1) + if(tgui_status(ui.user, state) != STATUS_INTERACTIVE) return if(newy) dy = CLAMP(newy, 1, world.maxy) @@ -217,21 +236,19 @@ GLOBAL_LIST_EMPTY(all_waypoints) . = TRUE if("speedlimit") - var/newlimit = tgui_input_number(usr, "Input new speed limit for autopilot (0 to brake)", "Autopilot speed limit", speedlimit*1000, 100000, round_value = FALSE) + var/newlimit = tgui_input_number(ui.user, "Input new speed limit for autopilot (0 to brake)", "Autopilot speed limit", speedlimit*1000, 100000, round_value = FALSE) if(newlimit) speedlimit = CLAMP(newlimit/1000, 0, 100) . = TRUE if("accellimit") - var/newlimit = tgui_input_number(usr, "Input new acceleration limit", "Acceleration limit", accellimit*1000, round_value = FALSE) + var/newlimit = tgui_input_number(ui.user, "Input new acceleration limit", "Acceleration limit", accellimit*1000, round_value = FALSE) if(newlimit) accellimit = max(newlimit/1000, 0) . = TRUE if("move") var/ndir = text2num(params["dir"]) - if(prob(usr.skill_fail_chance(/datum/skill/pilot, 50, linked.skill_needed, factor = 1))) - ndir = turn(ndir,pick(90,-90)) linked.relaymove(usr, ndir, accellimit) . = TRUE @@ -252,11 +269,11 @@ GLOBAL_LIST_EMPTY(all_waypoints) . = TRUE if("manual") - viewing_overmap(usr) ? unlook(usr) : look(usr) + viewing_overmap(ui.user) ? unlook(ui.user) : look(ui.user) . = TRUE - add_fingerprint(usr) - if(. && !issilicon(usr)) + add_fingerprint(ui.user) + if(. && !issilicon(ui.user)) playsound(src, "terminal_type", 50, 1) @@ -264,7 +281,7 @@ GLOBAL_LIST_EMPTY(all_waypoints) name = "navigation console" icon_keyboard = "generic_key" icon_screen = "helm" - circuit = /obj/item/weapon/circuitboard/nav + circuit = /obj/item/circuitboard/nav var/datum/tgui_module/ship/nav/nav_tgui /obj/machinery/computer/ship/navigation/Initialize() @@ -286,7 +303,7 @@ GLOBAL_LIST_EMPTY(all_waypoints) layer = ABOVE_WINDOW_LAYER icon_keyboard = null icon_screen = null - circuit = /obj/item/weapon/circuitboard/nav/tele + circuit = /obj/item/circuitboard/nav/tele density = FALSE /obj/machinery/computer/ship/navigation/telescreen/update_icon() diff --git a/code/modules/overmap/ships/computers/sensors.dm b/code/modules/overmap/ships/computers/sensors.dm index 33fb4219f8a..718a78e0344 100644 --- a/code/modules/overmap/ships/computers/sensors.dm +++ b/code/modules/overmap/ships/computers/sensors.dm @@ -3,7 +3,7 @@ icon_keyboard = "teleport_key" icon_screen = "teleport" light_color = "#77fff8" - circuit = /obj/item/weapon/circuitboard/sensors + circuit = /obj/item/circuitboard/sensors extra_view = 4 var/obj/machinery/shipsensors/sensors @@ -88,8 +88,8 @@ switch(action) if("viewing") - if(usr && !isAI(usr)) - viewing_overmap(usr) ? unlook(usr) : look(usr) + if(ui.user && !isAI(ui.user)) + viewing_overmap(ui.user) ? unlook(ui.user) : look(ui.user) . = TRUE if("link") @@ -99,15 +99,15 @@ if("scan") var/obj/effect/overmap/O = locate(params["scan"]) if(istype(O) && !QDELETED(O) && (O in view(7,linked))) - new/obj/item/weapon/paper/(get_turf(src), O.get_scan_data(usr), "paper (Sensor Scan - [O])") + new/obj/item/paper/(get_turf(src), O.get_scan_data(ui.user), "paper (Sensor Scan - [O])") playsound(src, "sound/machines/printer.ogg", 30, 1) . = TRUE if(sensors) switch(action) if("range") - var/nrange = tgui_input_number(usr, "Set new sensors range", "Sensor range", sensors.range, world.view, round_value = FALSE ) - if(tgui_status(usr, state) != STATUS_INTERACTIVE) + var/nrange = tgui_input_number(ui.user, "Set new sensors range", "Sensor range", sensors.range, world.view, round_value = FALSE ) + if(tgui_status(ui.user, state) != STATUS_INTERACTIVE) return FALSE if(nrange) sensors.set_range(CLAMP(nrange, 1, world.view)) @@ -116,7 +116,7 @@ sensors.toggle() . = TRUE - if(. && !issilicon(usr)) + if(. && !issilicon(ui.user)) playsound(src, "terminal_type", 50, 1) /obj/machinery/computer/ship/sensors/process() @@ -143,23 +143,23 @@ var/range = 1 idle_power_usage = 5000 -/obj/machinery/shipsensors/attackby(obj/item/weapon/W, mob/user) +/obj/machinery/shipsensors/attackby(obj/item/W, mob/user) var/damage = max_health - health if(damage && W.has_tool_quality(TOOL_WELDER)) - var/obj/item/weapon/weldingtool/WT = W.get_welder() + var/obj/item/weldingtool/WT = W.get_welder() if(!WT.isOn()) return if(WT.remove_fuel(0,user)) - to_chat(user, "You start repairing the damage to [src].") + to_chat(user, span_notice("You start repairing the damage to [src].")) playsound(src, 'sound/items/Welder.ogg', 100, 1) if(do_after(user, max(5, damage / 5), src) && WT && WT.isOn()) - to_chat(user, "You finish repairing the damage to [src].") + to_chat(user, span_notice("You finish repairing the damage to [src].")) take_damage(-damage) else - to_chat(user, "You need more welding fuel to complete this task.") + to_chat(user, span_notice("You need more welding fuel to complete this task.")) return return ..() @@ -182,11 +182,11 @@ /obj/machinery/shipsensors/examine(mob/user) . = ..() if(health <= 0) - . += "It is wrecked." + . += span_danger("It is wrecked.") else if(health < max_health * 0.25) - . += "It looks like it's about to break!" + . += span_danger("It looks like it's about to break!") else if(health < max_health * 0.5) - . += "It looks seriously damaged!" + . += span_danger("It looks seriously damaged!") else if(health < max_health * 0.75) . += "It shows signs of damage!" @@ -207,7 +207,7 @@ if(!in_vacuum()) toggle() if(heat > critical_heat) - src.visible_message("\The [src] violently spews out sparks!") + src.visible_message(span_danger("\The [src] violently spews out sparks!")) var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread s.set_up(3, 1, src) s.start() diff --git a/code/modules/overmap/ships/computers/ship.dm b/code/modules/overmap/ships/computers/ship.dm index 31f6d39168b..2b63f95b9a2 100644 --- a/code/modules/overmap/ships/computers/ship.dm +++ b/code/modules/overmap/ships/computers/ship.dm @@ -22,7 +22,7 @@ somewhere on that shuttle. Subtypes of these can be then used to perform ship ov return . = attempt_hook_up_recursive(sector) if(. && linked && user) - to_chat(user, "[src] reconnected to [linked]") + to_chat(user, span_notice("[src] reconnected to [linked]")) user << browse(null, "window=[src]") // close reconnect dialog /obj/machinery/computer/ship/proc/attempt_hook_up_recursive(obj/effect/overmap/visitable/ship/sector) @@ -55,11 +55,11 @@ somewhere on that shuttle. Subtypes of these can be then used to perform ship ov return TRUE switch(action) if("sync") - sync_linked(usr) + sync_linked(ui.user) return TRUE if("close") - unlook(usr) - usr.unset_machine() + unlook(ui.user) + ui.user.unset_machine() return TRUE return FALSE diff --git a/code/modules/overmap/ships/computers/shuttle.dm b/code/modules/overmap/ships/computers/shuttle.dm index 8426f1ba2a2..8f46266d3db 100644 --- a/code/modules/overmap/ships/computers/shuttle.dm +++ b/code/modules/overmap/ships/computers/shuttle.dm @@ -1,7 +1,7 @@ //Shuttle controller computer for shuttles going between sectors /obj/machinery/computer/shuttle_control/explore name = "general shuttle control console" - circuit = /obj/item/weapon/circuitboard/shuttle_console/explore + circuit = /obj/item/circuitboard/shuttle_console/explore tgui_subtemplate = "ShuttleControlConsoleExploration" /obj/machinery/computer/shuttle_control/explore/shuttlerich_tgui_data(var/datum/shuttle/autodock/overmap/shuttle) @@ -9,7 +9,7 @@ if(istype(shuttle)) var/total_gas = 0 for(var/obj/structure/fuel_port/FP in shuttle.fuel_ports) //loop through fuel ports - var/obj/item/weapon/tank/fuel_tank = locate() in FP + var/obj/item/tank/fuel_tank = locate() in FP if(fuel_tank) total_gas += fuel_tank.air_contents.total_moles @@ -25,28 +25,24 @@ "fuel_span" = fuel_span ) -/obj/machinery/computer/shuttle_control/explore/tgui_act(action, list/params) +/obj/machinery/computer/shuttle_control/explore/tgui_act(action, list/params, datum/tgui/ui) if(..()) return TRUE var/datum/shuttle/autodock/overmap/shuttle = SSshuttles.shuttles[shuttle_tag] if(!istype(shuttle)) - to_chat(usr, "Unable to establish link with the shuttle.") + to_chat(ui.user, span_warning("Unable to establish link with the shuttle.")) return TRUE - if(ismob(usr)) - var/mob/user = usr - shuttle.operator_skill = user.get_skill_value(/datum/skill/pilot) - switch(action) if("pick") var/list/possible_d = shuttle.get_possible_destinations() var/D if(possible_d.len) - D = tgui_input_list(usr, "Choose shuttle destination", "Shuttle Destination", possible_d) + D = tgui_input_list(ui.user, "Choose shuttle destination", "Shuttle Destination", possible_d) else - to_chat(usr,"No valid landing sites in range.") + to_chat(ui.user,span_warning("No valid landing sites in range.")) possible_d = shuttle.get_possible_destinations() - if(CanInteract(usr, GLOB.tgui_default_state) && (D in possible_d)) + if(CanInteract(ui.user, GLOB.tgui_default_state) && (D in possible_d)) shuttle.set_destination(possible_d[D]) return TRUE diff --git a/code/modules/overmap/ships/engines/gas_thruster.dm b/code/modules/overmap/ships/engines/gas_thruster.dm index 5510a803dec..b03368892ab 100644 --- a/code/modules/overmap/ships/engines/gas_thruster.dm +++ b/code/modules/overmap/ships/engines/gas_thruster.dm @@ -63,8 +63,8 @@ connect_types = CONNECT_TYPE_REGULAR|CONNECT_TYPE_FUEL // construct_state = /decl/machine_construction/default/panel_closed - // maximum_component_parts = list(/obj/item/weapon/stock_parts = 6)//don't want too many, let upgraded component shine - // uncreated_component_parts = list(/obj/item/weapon/stock_parts/power/apc/buildable = 1) + // maximum_component_parts = list(/obj/item/stock_parts = 6)//don't want too many, let upgraded component shine + // uncreated_component_parts = list(/obj/item/stock_parts/power/apc/buildable = 1) use_power = USE_POWER_OFF power_channel = EQUIP @@ -149,7 +149,7 @@ if(!is_on()) return 0 if(!check_fuel() || (use_power_oneoff(charge_per_burn) < charge_per_burn) || check_blockage()) - audible_message(src,"[src] coughs once and goes silent!", runemessage = "sputtercough") + audible_message(src,span_warning("[src] coughs once and goes silent!"), runemessage = "sputtercough") update_use_power(USE_POWER_OFF) return 0 @@ -173,11 +173,11 @@ /obj/machinery/atmospherics/unary/engine/RefreshParts() ..() //allows them to upgrade the max limit of fuel intake (which only gives diminishing returns) for increase in max thrust but massive reduction in fuel economy - var/bin_upgrade = 5 * CLAMP(total_component_rating_of_type(/obj/item/weapon/stock_parts/matter_bin), 0, 6)//5 litre per rank + var/bin_upgrade = 5 * CLAMP(total_component_rating_of_type(/obj/item/stock_parts/matter_bin), 0, 6)//5 litre per rank volume_per_burn = bin_upgrade ? initial(volume_per_burn) + bin_upgrade : 2 //Penalty missing part: 10% fuel use, no thrust boot_time = bin_upgrade ? initial(boot_time) - bin_upgrade : initial(boot_time) * 2 //energy cost - thb all of this is to limit the use of back up batteries - var/energy_upgrade = CLAMP(total_component_rating_of_type(/obj/item/weapon/stock_parts/capacitor), 0.1, 6) + var/energy_upgrade = CLAMP(total_component_rating_of_type(/obj/item/stock_parts/capacitor), 0.1, 6) charge_per_burn = initial(charge_per_burn) / energy_upgrade change_power_consumption(initial(idle_power_usage) / energy_upgrade, USE_POWER_IDLE) @@ -198,7 +198,7 @@ set_dir(ndir) QDEL_IN(src, 20) -/obj/item/weapon/circuitboard/unary_atmos/engine //why don't we move this elsewhere? +/obj/item/circuitboard/unary_atmos/engine //why don't we move this elsewhere? name = T_BOARD("gas thruster") icon_state = "mcontroller" build_path = /obj/machinery/atmospherics/unary/engine @@ -206,11 +206,11 @@ req_components = list( /obj/item/stack/cable_coil = 30, /obj/item/pipe = 2, - /obj/item/weapon/stock_parts/matter_bin = 1, - /obj/item/weapon/stock_parts/capacitor = 2) + /obj/item/stock_parts/matter_bin = 1, + /obj/item/stock_parts/capacitor = 2) // Not Implemented - Variant that pulls power from cables. Too complicated without bay's power components. // /obj/machinery/atmospherics/unary/engine/terminal // base_type = /obj/machinery/atmospherics/unary/engine // stock_part_presets = list(/decl/stock_part_preset/terminal_setup) -// uncreated_component_parts = list(/obj/item/weapon/stock_parts/power/terminal/buildable = 1) +// uncreated_component_parts = list(/obj/item/stock_parts/power/terminal/buildable = 1) diff --git a/code/modules/overmap/ships/engines/ion_thruster.dm b/code/modules/overmap/ships/engines/ion_thruster.dm index 21a4f9ea3aa..54f05f8d7f1 100644 --- a/code/modules/overmap/ships/engines/ion_thruster.dm +++ b/code/modules/overmap/ships/engines/ion_thruster.dm @@ -78,7 +78,7 @@ /obj/machinery/ion_engine/proc/get_thrust() return thrust_limit * generated_thrust * on -/obj/item/weapon/circuitboard/engine/ion +/obj/item/circuitboard/engine/ion name = T_BOARD("ion propulsion device") board_type = "machine" icon_state = "mcontroller" @@ -86,5 +86,5 @@ origin_tech = list(TECH_POWER = 1, TECH_ENGINEERING = 2) req_components = list( /obj/item/stack/cable_coil = 2, - /obj/item/weapon/stock_parts/matter_bin = 1, - /obj/item/weapon/stock_parts/capacitor = 2) \ No newline at end of file + /obj/item/stock_parts/matter_bin = 1, + /obj/item/stock_parts/capacitor = 2) \ No newline at end of file diff --git a/code/modules/overmap/ships/panicbutton.dm b/code/modules/overmap/ships/panicbutton.dm index aa55ab8ad5a..85ff99ca1c2 100644 --- a/code/modules/overmap/ships/panicbutton.dm +++ b/code/modules/overmap/ships/panicbutton.dm @@ -35,7 +35,7 @@ // Already launched if(launched) - to_chat(user, "The button is already depressed; the beacon has been launched already.") + to_chat(user, span_warning("The button is already depressed; the beacon has been launched already.")) // Glass present else if(glass) if(user.a_intent == I_HURT) @@ -45,7 +45,7 @@ update_icon() else user.custom_emote(VISIBLE_MESSAGE, "pats [src] in a friendly manner.") - to_chat(user, "If you're trying to break the glass, you'll have to hit it harder than that...") + to_chat(user, span_warning("If you're trying to break the glass, you'll have to hit it harder than that...")) // Must be !glass and !launched else user.custom_emote(VISIBLE_MESSAGE, "pushes the button on [src]!") diff --git a/code/modules/overmap/ships/ship.dm b/code/modules/overmap/ships/ship.dm index 9beeada88c8..cbacd0cb3e9 100644 --- a/code/modules/overmap/ships/ship.dm +++ b/code/modules/overmap/ships/ship.dm @@ -17,6 +17,7 @@ icon_state = "ship_nosprite" appearance_flags = TILE_BOUND|KEEP_TOGETHER|LONG_GLIDE //VOREStation Edit light_power = 4 + layer = OBJ_LAYER + 0.1 // make movables a little higher than regular sectors unknown_name = "unknown ship" unknown_state = "ship" @@ -38,14 +39,13 @@ var/engines_state = 0 //global on/off toggle for all engines var/thrust_limit = 1 //global thrust limit for all engines, 0..1 var/halted = 0 //admin halt or other stop. - var/skill_needed = SKILL_ADEPT //piloting skill needed to steer it without going in random dir - var/operator_skill //VOREStation add var/last_sound = 0 //The last time a ship sound was played //VOREStation add var/sound_cooldown = 10 SECONDS //VOREStation add /// Vis contents overlay holding the ship's vector when in motion var/obj/effect/overlay/vis/vector + render_map = TRUE /obj/effect/overmap/visitable/ship/Initialize() . = ..() @@ -65,7 +65,6 @@ /obj/effect/overmap/visitable/ship/relaymove(mob/user, direction, accel_limit) accelerate(direction, accel_limit) - operator_skill = user.get_skill_value(/datum/skill/pilot) /obj/effect/overmap/visitable/ship/proc/is_still() return !MOVING(speed[1]) && !MOVING(speed[2]) @@ -217,6 +216,7 @@ pixel_y = new_pixel_y return animate(src, pixel_x = new_pixel_x, pixel_y = new_pixel_y, time = wait, flags = ANIMATION_END_NOW) + update_screen() // If we get moved, update our internal tracking to account for it /obj/effect/overmap/visitable/ship/Moved(atom/old_loc, direction, forced = FALSE) @@ -229,6 +229,7 @@ pixel_y = 0 position_x = ((loc.x - 1) * WORLD_ICON_SIZE) + MODULUS(position_x, WORLD_ICON_SIZE) position_y = ((loc.y - 1) * WORLD_ICON_SIZE) + MODULUS(position_y, WORLD_ICON_SIZE) + update_screen() /obj/effect/overmap/visitable/ship/update_icon() if(!is_still()) @@ -281,9 +282,6 @@ if(!SSshuttles.overmap_halted) halted = 0 -/obj/effect/overmap/visitable/ship/proc/get_helm_skill()//delete this mover operator skill to overmap obj - return operator_skill - /obj/effect/overmap/visitable/ship/populate_sector_objects() ..() for(var/obj/machinery/computer/ship/S in global.machines) diff --git a/code/modules/overmap/ships/ship_vr.dm b/code/modules/overmap/ships/ship_vr.dm index 4eed0abd235..21e2e7cb75f 100644 --- a/code/modules/overmap/ships/ship_vr.dm +++ b/code/modules/overmap/ships/ship_vr.dm @@ -18,11 +18,11 @@ if(confirm == "Eat it!") var/obj/belly/bellychoice = tgui_input_list(usr, "Which belly?","Select A Belly", L.vore_organs) if(bellychoice) - L.visible_message("[L] is trying to stuff \the [src] into [L.gender == MALE ? "his" : L.gender == FEMALE ? "her" : "their"] [bellychoice]!","You begin putting \the [src] into your [bellychoice]!") + L.visible_message(span_warning("[L] is trying to stuff \the [src] into [L.gender == MALE ? "his" : L.gender == FEMALE ? "her" : "their"] [bellychoice]!"),span_notice("You begin putting \the [src] into your [bellychoice]!")) if(do_after(L, 5 SECONDS, src, exclusive = TASK_ALL_EXCLUSIVE)) forceMove(bellychoice) SSskybox.rebuild_skyboxes(map_z) - L.visible_message("[L] eats a spaceship! This is totally normal.","You eat the the spaceship! Yum, metal.") + L.visible_message(span_warning("[L] eats a spaceship! This is totally normal."),"You eat the the spaceship! Yum, metal.") /obj/effect/overmap/visitable/ship/proc/get_people_in_ship() . = list() diff --git a/code/modules/overmap/spacetravel.dm b/code/modules/overmap/spacetravel.dm index 4d24fd7039f..3ac1f9ad3c7 100644 --- a/code/modules/overmap/spacetravel.dm +++ b/code/modules/overmap/spacetravel.dm @@ -66,7 +66,7 @@ return TRUE -/obj/item/device/uav/lost_in_space() +/obj/item/uav/lost_in_space() if(state == 1) return FALSE return ..() diff --git a/code/modules/overmap/turfs.dm b/code/modules/overmap/turfs.dm index 33c6b7cb042..6b264f3d0e8 100644 --- a/code/modules/overmap/turfs.dm +++ b/code/modules/overmap/turfs.dm @@ -11,6 +11,7 @@ var/global/list/map_sectors = list() icon = 'icons/turf/space.dmi' icon_state = "map" alpha = 200 + vis_flags = VIS_INHERIT_ID // disable VIS_INHERIT_PLANE /turf/unsimulated/map/edge opacity = 1 diff --git a/code/modules/paperwork/adminpaper.dm b/code/modules/paperwork/adminpaper.dm index 229bcf08692..aa944abb874 100644 --- a/code/modules/paperwork/adminpaper.dm +++ b/code/modules/paperwork/adminpaper.dm @@ -1,5 +1,5 @@ //Adminpaper - it's like paper, but more adminny! -/obj/item/weapon/paper/admin +/obj/item/paper/admin name = "administrative paper" desc = "If you see this, something has gone horribly wrong." var/datum/admins/admindatum = null @@ -16,12 +16,12 @@ var/footer = null var/footerOn = FALSE -/obj/item/weapon/paper/admin/New() +/obj/item/paper/admin/New() ..() generateInteractions() -/obj/item/weapon/paper/admin/proc/generateInteractions() +/obj/item/paper/admin/proc/generateInteractions() //clear first interactions = null @@ -36,11 +36,13 @@ interactions += "Clear page " interactions += "" -/obj/item/weapon/paper/admin/proc/generateHeader() +/obj/item/paper/admin/proc/generateHeader() var/originhash = md5("[origin]") var/timehash = copytext(md5("[world.time]"),1,10) var/text = null var/logo = tgui_alert(usr, "Do you want the header of your fax to have a NanoTrasen, SolGov, or Trader logo?","Fax Logo",list("NanoTrasen","SolGov","Trader")) //VOREStation Add - Trader + if(!logo) + return if(logo == "SolGov") logo = "sglogo.png" //VOREStation Edit/Add @@ -51,13 +53,13 @@ //VOREStation Edit/Add End //TODO change logo based on who you're contacting. text = "

    " - text += "[origin] Quantum Uplink Signed Message
    " + text += span_bold("[origin] Quantum Uplink Signed Message") + "
    " text += "Encryption key: [originhash]
    " text += "Challenge: [timehash]

    " header = text -/obj/item/weapon/paper/admin/proc/generateFooter() +/obj/item/paper/admin/proc/generateFooter() var/text = null text = "
    " @@ -69,22 +71,22 @@ footer = text -/obj/item/weapon/paper/admin/proc/adminbrowse() +/obj/item/paper/admin/proc/adminbrowse() updateinfolinks() generateHeader() generateFooter() updateDisplay() -/obj/item/weapon/paper/admin/proc/updateDisplay() +/obj/item/paper/admin/proc/updateDisplay() usr << browse("[name][headerOn ? header : ""][info_links][stamps][footerOn ? footer : ""][interactions]", "window=[name];can_close=0") -/obj/item/weapon/paper/admin/Topic(href, href_list) +/obj/item/paper/admin/Topic(href, href_list) if(href_list["write"]) var/id = href_list["write"] if(free_space <= 0) - to_chat(usr, "There isn't enough space left on \the [src] to write anything.") + to_chat(usr, span_info("There isn't enough space left on \the [src] to write anything.")) return var/raw_t = tgui_input_text(usr, "Enter what you want to write:", "Write", multiline = TRUE, prevent_enter = TRUE) @@ -102,7 +104,7 @@ if(fields > 50)//large amount of fields creates a heavy load on the server, see updateinfolinks() and addtofield() - to_chat(usr, "Too many fields. Sorry, you can't do this.") + to_chat(usr, span_warning("Too many fields. Sorry, you can't do this.")) fields = last_fields_value return @@ -157,5 +159,5 @@ updateDisplay() return -/obj/item/weapon/paper/admin/get_signature() +/obj/item/paper/admin/get_signature() return tgui_input_text(usr, "Enter the name you wish to sign the paper with (will prompt for multiple entries, in order of entry)", "Signature") diff --git a/code/modules/paperwork/carbonpaper.dm b/code/modules/paperwork/carbonpaper.dm index edcd6f87ef3..53aa0eb27ad 100644 --- a/code/modules/paperwork/carbonpaper.dm +++ b/code/modules/paperwork/carbonpaper.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/paper/carbon +/obj/item/paper/carbon name = "paper" icon_state = "paper_stack" item_state = "paper" @@ -6,7 +6,7 @@ var/iscopy = 0 -/obj/item/weapon/paper/carbon/update_icon() +/obj/item/paper/carbon/update_icon() if(iscopy) if(info) icon_state = "cpaper_words" @@ -25,15 +25,15 @@ -/obj/item/weapon/paper/carbon/verb/removecopy() +/obj/item/paper/carbon/verb/removecopy() set name = "Remove carbon-copy" set category = "Object" set src in usr if (copied == 0) - var/obj/item/weapon/paper/carbon/c = src + var/obj/item/paper/carbon/c = src var/copycontents = html_decode(c.info) - var/obj/item/weapon/paper/carbon/copy = new /obj/item/weapon/paper/carbon (usr.loc) + var/obj/item/paper/carbon/copy = new /obj/item/paper/carbon (usr.loc) // copycontents = replacetext(copycontents, "You tear off the carbon-copy!") + to_chat(usr, span_notice("You tear off the carbon-copy!")) c.copied = 1 copy.iscopy = 1 copy.update_icon() diff --git a/code/modules/paperwork/clipboard.dm b/code/modules/paperwork/clipboard.dm index 58171494a1c..f0d3e61bbc9 100644 --- a/code/modules/paperwork/clipboard.dm +++ b/code/modules/paperwork/clipboard.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/clipboard +/obj/item/clipboard name = "clipboard" desc = "Used to clip paper to, for an on-the-go writing board." icon = 'icons/obj/bureaucracy.dmi' @@ -8,14 +8,14 @@ w_class = ITEMSIZE_SMALL throw_speed = 3 throw_range = 10 - var/obj/item/weapon/pen/haspen //The stored pen. - var/obj/item/weapon/toppaper //The topmost piece of paper. + var/obj/item/pen/haspen //The stored pen. + var/obj/item/toppaper //The topmost piece of paper. slot_flags = SLOT_BELT -/obj/item/weapon/clipboard/New() +/obj/item/clipboard/New() update_icon() -/obj/item/weapon/clipboard/MouseDrop(obj/over_object as obj) //Quick clipboard fix. -Agouri +/obj/item/clipboard/MouseDrop(obj/over_object as obj) //Quick clipboard fix. -Agouri if(ishuman(usr)) var/mob/M = usr if(!(istype(over_object, /obj/screen) )) @@ -33,7 +33,7 @@ add_fingerprint(usr) return -/obj/item/weapon/clipboard/update_icon() +/obj/item/clipboard/update_icon() cut_overlays() if(toppaper) add_overlay(toppaper.icon_state) @@ -43,30 +43,30 @@ add_overlay("clipboard_over") return -/obj/item/weapon/clipboard/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/item/clipboard/attackby(obj/item/W as obj, mob/user as mob) - if(istype(W, /obj/item/weapon/paper) || istype(W, /obj/item/weapon/photo)) + if(istype(W, /obj/item/paper) || istype(W, /obj/item/photo)) user.drop_item() W.loc = src - if(istype(W, /obj/item/weapon/paper)) + if(istype(W, /obj/item/paper)) toppaper = W - to_chat(user, "You clip the [W] onto \the [src].") + to_chat(user, span_notice("You clip the [W] onto \the [src].")) update_icon() - else if(istype(toppaper) && istype(W, /obj/item/weapon/pen)) + else if(istype(toppaper) && istype(W, /obj/item/pen)) toppaper.attackby(W, usr) update_icon() return -/obj/item/weapon/clipboard/afterattack(turf/T as turf, mob/user as mob) - for(var/obj/item/weapon/paper/P in T) +/obj/item/clipboard/afterattack(turf/T as turf, mob/user as mob) + for(var/obj/item/paper/P in T) P.loc = src toppaper = P update_icon() - to_chat(user, "You clip the [P] onto \the [src].") + to_chat(user, span_notice("You clip the [P] onto \the [src].")) -/obj/item/weapon/clipboard/attack_self(mob/user as mob) +/obj/item/clipboard/attack_self(mob/user as mob) var/dat = "Clipboard" if(haspen) dat += "Remove Pen

    " @@ -75,14 +75,14 @@ //The topmost paper. I don't think there's any way to organise contents in byond, so this is what we're stuck with. -Pete if(toppaper) - var/obj/item/weapon/paper/P = toppaper + var/obj/item/paper/P = toppaper dat += "Write Remove Rename - [P.name]

    " - for(var/obj/item/weapon/paper/P in src) + for(var/obj/item/paper/P in src) if(P==toppaper) continue dat += "Remove Rename - [P.name]
    " - for(var/obj/item/weapon/photo/Ph in src) + for(var/obj/item/photo/Ph in src) dat += "Remove Rename - [Ph.name]
    " user << browse(dat, "window=clipboard") @@ -90,7 +90,7 @@ add_fingerprint(usr) return -/obj/item/weapon/clipboard/Topic(href, href_list) +/obj/item/clipboard/Topic(href, href_list) ..() if((usr.stat || usr.restrained())) return @@ -105,55 +105,55 @@ else if(href_list["addpen"]) if(!haspen) - var/obj/item/weapon/pen/W = usr.get_active_hand() - if(istype(W, /obj/item/weapon/pen)) + var/obj/item/pen/W = usr.get_active_hand() + if(istype(W, /obj/item/pen)) usr.drop_item() W.loc = src haspen = W - to_chat(usr, "You slot the pen into \the [src].") + to_chat(usr, span_notice("You slot the pen into \the [src].")) else if(href_list["write"]) - var/obj/item/weapon/P = locate(href_list["write"]) + var/obj/item/P = locate(href_list["write"]) - if(P && (P.loc == src) && istype(P, /obj/item/weapon/paper) && (P == toppaper) ) + if(P && (P.loc == src) && istype(P, /obj/item/paper) && (P == toppaper) ) var/obj/item/I = usr.get_active_hand() - if(istype(I, /obj/item/weapon/pen)) + if(istype(I, /obj/item/pen)) P.attackby(I, usr) else if(href_list["remove"]) var/obj/item/P = locate(href_list["remove"]) - if(P && (P.loc == src) && (istype(P, /obj/item/weapon/paper) || istype(P, /obj/item/weapon/photo)) ) + if(P && (P.loc == src) && (istype(P, /obj/item/paper) || istype(P, /obj/item/photo)) ) P.loc = usr.loc usr.put_in_hands(P) if(P == toppaper) toppaper = null - var/obj/item/weapon/paper/newtop = locate(/obj/item/weapon/paper) in src + var/obj/item/paper/newtop = locate(/obj/item/paper) in src if(newtop && (newtop != P)) toppaper = newtop else toppaper = null else if(href_list["rename"]) - var/obj/item/weapon/O = locate(href_list["rename"]) + var/obj/item/O = locate(href_list["rename"]) if(O && (O.loc == src)) - if(istype(O, /obj/item/weapon/paper)) - var/obj/item/weapon/paper/to_rename = O + if(istype(O, /obj/item/paper)) + var/obj/item/paper/to_rename = O to_rename.rename() - else if(istype(O, /obj/item/weapon/photo)) - var/obj/item/weapon/photo/to_rename = O + else if(istype(O, /obj/item/photo)) + var/obj/item/photo/to_rename = O to_rename.rename() else if(href_list["read"]) - var/obj/item/weapon/paper/P = locate(href_list["read"]) + var/obj/item/paper/P = locate(href_list["read"]) - if(P && (P.loc == src) && istype(P, /obj/item/weapon/paper) ) + if(P && (P.loc == src) && istype(P, /obj/item/paper) ) if(!(istype(usr, /mob/living/carbon/human) || istype(usr, /mob/observer/dead) || istype(usr, /mob/living/silicon))) usr << browse("[P.name][stars(P.info)][P.stamps]", "window=[P.name]") @@ -163,15 +163,15 @@ onclose(usr, "[P.name]") else if(href_list["look"]) - var/obj/item/weapon/photo/P = locate(href_list["look"]) - if(P && (P.loc == src) && istype(P, /obj/item/weapon/photo) ) + var/obj/item/photo/P = locate(href_list["look"]) + if(P && (P.loc == src) && istype(P, /obj/item/photo) ) P.show(usr) else if(href_list["top"]) // currently unused var/obj/item/P = locate(href_list["top"]) - if(P && (P.loc == src) && istype(P, /obj/item/weapon/paper) ) + if(P && (P.loc == src) && istype(P, /obj/item/paper) ) toppaper = P - to_chat(usr, "You move [P.name] to the top.") + to_chat(usr, span_notice("You move [P.name] to the top.")) //Update everything attack_self(usr) diff --git a/code/modules/paperwork/faxmachine.dm b/code/modules/paperwork/faxmachine.dm index 64a0e611e6f..2a0840d36f9 100644 --- a/code/modules/paperwork/faxmachine.dm +++ b/code/modules/paperwork/faxmachine.dm @@ -17,9 +17,9 @@ var/list/adminfaxes = list() //cache for faxes that have been sent to admins use_power = USE_POWER_IDLE idle_power_usage = 30 active_power_usage = 200 - circuit = /obj/item/weapon/circuitboard/fax + circuit = /obj/item/circuitboard/fax - var/obj/item/weapon/card/id/scan = null + var/obj/item/card/id/scan = null var/authenticated = null var/rank = null @@ -77,7 +77,7 @@ var/list/adminfaxes = list() //cache for faxes that have been sent to admins if(L.stat || L.restrained()) return if(last_fax_role_request && (world.time - last_fax_role_request < 5 MINUTES)) - to_chat(L, "The global automated relays are still recalibrating. Try again later or relay your request in written form for processing.") + to_chat(L, span_warning("The global automated relays are still recalibrating. Try again later or relay your request in written form for processing.")) return var/confirmation = tgui_alert(L, "Are you sure you want to send automated crew request?", "Confirmation", list("Yes", "No", "Cancel")) @@ -115,7 +115,7 @@ var/list/adminfaxes = list() //cache for faxes that have been sent to admins var/datum/department/ping_dept = SSjob.get_ping_role(role) if(!ping_dept) - to_chat(L, "Selected job cannot be requested for \[ERRORDEPTNOTFOUND] reason. Please report this to system administrator.") + to_chat(L, span_warning("Selected job cannot be requested for \[ERRORDEPTNOTFOUND] reason. Please report this to system administrator.")) return var/message_color = "#FFFFFF" var/ping_name = null @@ -141,13 +141,13 @@ var/list/adminfaxes = list() //cache for faxes that have been sent to admins if(DEPARTMENT_TALON) ping_name = "Offmap" if(!ping_name) - to_chat(L, "Selected job cannot be requested for \[ERRORUNKNOWNDEPT] reason. Please report this to system administrator.") + to_chat(L, span_warning("Selected job cannot be requested for \[ERRORUNKNOWNDEPT] reason. Please report this to system administrator.")) return message_color = ping_dept.color message_chat_rolerequest(message_color, ping_name, reason, role) last_fax_role_request = world.time - to_chat(L, "Your request was transmitted.") + to_chat(L, span_notice("Your request was transmitted.")) /obj/machinery/photocopier/faxmachine/tgui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) @@ -179,13 +179,13 @@ var/list/adminfaxes = list() //cache for faxes that have been sent to admins if("scan") if(scan) scan.forceMove(loc) - if(ishuman(usr) && !usr.get_active_hand()) - usr.put_in_hands(scan) + if(ishuman(ui.user) && !ui.user.get_active_hand()) + ui.user.put_in_hands(scan) scan = null else - var/obj/item/I = usr.get_active_hand() - if(istype(I, /obj/item/weapon/card/id)) - usr.drop_item() + var/obj/item/I = ui.user.get_active_hand() + if(istype(I, /obj/item/card/id)) + ui.user.drop_item() I.forceMove(src) scan = I return TRUE @@ -195,30 +195,30 @@ var/list/adminfaxes = list() //cache for faxes that have been sent to admins if(check_access(scan)) authenticated = scan.registered_name rank = scan.assignment - else if(login_type == LOGIN_TYPE_AI && isAI(usr)) - authenticated = usr.name - rank = "AI" - else if(login_type == LOGIN_TYPE_ROBOT && isrobot(usr)) - authenticated = usr.name - var/mob/living/silicon/robot/R = usr + else if(login_type == LOGIN_TYPE_AI && isAI(ui.user)) + authenticated = ui.user.name + rank = JOB_AI + else if(login_type == LOGIN_TYPE_ROBOT && isrobot(ui.user)) + authenticated = ui.user.name + var/mob/living/silicon/robot/R = ui.user rank = "[R.modtype] [R.braintype]" return TRUE if("logout") if(scan) scan.forceMove(loc) - if(ishuman(usr) && !usr.get_active_hand()) - usr.put_in_hands(scan) + if(ishuman(ui.user) && !ui.user.get_active_hand()) + ui.user.put_in_hands(scan) scan = null authenticated = null return TRUE if("remove") if(copyitem) - if(get_dist(usr, src) >= 2) - to_chat(usr, "\The [copyitem] is too far away for you to remove it.") + if(get_dist(ui.user, src) >= 2) + to_chat(ui.user, "\The [copyitem] is too far away for you to remove it.") return copyitem.forceMove(loc) - usr.put_in_hands(copyitem) - to_chat(usr, "You take \the [copyitem] out of \the [src].") + ui.user.put_in_hands(copyitem) + to_chat(ui.user, span_notice("You take \the [copyitem] out of \the [src].")) copyitem = null if("send_automated_staff_request") request_roles() @@ -229,7 +229,7 @@ var/list/adminfaxes = list() //cache for faxes that have been sent to admins switch(action) if("rename") if(copyitem) - var/new_name = tgui_input_text(usr, "Enter new paper title", "This will show up in the preview for staff chat on discord when sending \ + var/new_name = tgui_input_text(ui.user, "Enter new paper title", "This will show up in the preview for staff chat on discord when sending \ to central.", copyitem.name, MAX_NAME_LEN) if(!new_name) return @@ -237,9 +237,9 @@ var/list/adminfaxes = list() //cache for faxes that have been sent to admins if("send") if(copyitem) if (destination in admin_departments) - if(check_if_default_title_and_rename()) + if(check_if_default_title_and_rename(ui.user)) return - send_admin_fax(usr, destination) + send_admin_fax(ui.user, destination) else sendfax(destination) @@ -249,22 +249,22 @@ var/list/adminfaxes = list() //cache for faxes that have been sent to admins if("dept") var/lastdestination = destination - destination = tgui_input_list(usr, "Which department?", "Choose a department", (alldepartments + admin_departments)) + destination = tgui_input_list(ui.user, "Which department?", "Choose a department", (alldepartments + admin_departments)) if(!destination) destination = lastdestination return TRUE -/obj/machinery/photocopier/faxmachine/proc/check_if_default_title_and_rename() +/obj/machinery/photocopier/faxmachine/proc/check_if_default_title_and_rename(mob/user) /* Returns TRUE only on "Cancel" or invalid newname, else returns null/false Extracted to its own procedure for easier logic handling with paper bundles. */ var/question_text = "Your fax is set to its default name. It's advisable to rename it to something self-explanatory to" - if(istype(copyitem, /obj/item/weapon/paper_bundle)) - var/obj/item/weapon/paper_bundle/B = copyitem + if(istype(copyitem, /obj/item/paper_bundle)) + var/obj/item/paper_bundle/B = copyitem if(B.name != initial(B.name)) var/atom/page1 = B.pages[1] //atom is enough for us to ensure it has name var. would've used ?. opertor, but linter doesnt like. var/atom/page2 = B.pages[2] @@ -276,13 +276,13 @@ Extracted to its own procedure for easier logic handling with paper bundles. else if(copyitem.name != initial(copyitem.name)) return FALSE - var/choice = tgui_alert(usr, "[question_text] improve response time from staff when sending to discord. \ + var/choice = tgui_alert(user, "[question_text] improve response time from staff when sending to discord. \ Renaming it changes its preview in staff chat.", \ "Default name detected", list("Change Title","Continue", "Cancel")) - if(choice == "Cancel") + if(!choice || choice == "Cancel") return TRUE else if(choice == "Change Title") - var/new_name = tgui_input_text(usr, "Enter new fax title", "This will show up in the preview for staff chat on discord when sending \ + var/new_name = tgui_input_text(user, "Enter new fax title", "This will show up in the preview for staff chat on discord when sending \ to central.", copyitem.name, MAX_NAME_LEN) if(!new_name) return TRUE @@ -290,18 +290,30 @@ Extracted to its own procedure for easier logic handling with paper bundles. /obj/machinery/photocopier/faxmachine/attackby(obj/item/O as obj, mob/user as mob) - if(istype(O, /obj/item/weapon/card/id) && !scan) + if(istype(O, /obj/item/card/id) && !scan) user.drop_from_inventory(O) O.forceMove(src) scan = O else if(O.has_tool_quality(TOOL_MULTITOOL) && panel_open) - var/input = sanitize(tgui_input_text(usr, "What Department ID would you like to give this fax machine?", "Multitool-Fax Machine Interface", department)) + var/input = sanitize(tgui_input_text(user, "What Department ID would you like to give this fax machine?", "Multitool-Fax Machine Interface", department)) if(!input) - to_chat(usr, "No input found. Please hang up and try your call again.") + to_chat(user, "No input found. Please hang up and try your call again.") return department = input if( !(("[department]" in alldepartments) || ("[department]" in admin_departments)) && !(department == "Unknown")) alldepartments |= department + else if(istype(O, /obj/item/toner)) + if(toner <= 10) //allow replacing when low toner is affecting the print darkness + user.drop_item() + to_chat(user, span_notice("You insert the toner cartridge into \the [src].")) + playsound(loc, 'sound/machines/click.ogg', 50, 1) + var/obj/item/toner/T = O + toner += T.toner_amount + qdel(O) + else + to_chat(user, span_notice("This cartridge is not yet ready for replacement! Use up the rest of the toner.")) + playsound(loc, 'sound/machines/buzz-two.ogg', 75, 1) + return return ..() @@ -336,11 +348,11 @@ Extracted to its own procedure for easier logic handling with paper bundles. // give the sprite some time to flick sleep(20) - if (istype(incoming, /obj/item/weapon/paper)) + if (istype(incoming, /obj/item/paper)) copy(incoming) - else if (istype(incoming, /obj/item/weapon/photo)) + else if (istype(incoming, /obj/item/photo)) photocopy(incoming) - else if (istype(incoming, /obj/item/weapon/paper_bundle)) + else if (istype(incoming, /obj/item/paper_bundle)) bundlecopy(incoming) else return 0 @@ -356,11 +368,11 @@ Extracted to its own procedure for easier logic handling with paper bundles. //received copies should not use toner since it's being used by admins only. var/obj/item/rcvdcopy - if (istype(copyitem, /obj/item/weapon/paper)) + if (istype(copyitem, /obj/item/paper)) rcvdcopy = copy(copyitem, 0) - else if (istype(copyitem, /obj/item/weapon/photo)) + else if (istype(copyitem, /obj/item/photo)) rcvdcopy = photocopy(copyitem, 0) - else if (istype(copyitem, /obj/item/weapon/paper_bundle)) + else if (istype(copyitem, /obj/item/paper_bundle)) rcvdcopy = bundlecopy(copyitem, 0) else visible_message("[src] beeps, \"Error transmitting message.\"") @@ -387,14 +399,14 @@ Extracted to its own procedure for easier logic handling with paper bundles. // Turns objects into just text. /obj/machinery/photocopier/faxmachine/proc/make_summary(obj/item/sent) - if(istype(sent, /obj/item/weapon/paper)) - var/obj/item/weapon/paper/P = sent + if(istype(sent, /obj/item/paper)) + var/obj/item/paper/P = sent return P.info - if(istype(sent, /obj/item/weapon/paper_bundle)) + if(istype(sent, /obj/item/paper_bundle)) . = "" - var/obj/item/weapon/paper_bundle/B = sent + var/obj/item/paper_bundle/B = sent for(var/i in 1 to B.pages.len) - var/obj/item/weapon/paper/P = B.pages[i] + var/obj/item/paper/P = B.pages[i] if(istype(P)) // Photos can show up here too. if(.) // Space out different pages. . += "
    " @@ -402,9 +414,11 @@ Extracted to its own procedure for easier logic handling with paper bundles. . += P.info /obj/machinery/photocopier/faxmachine/proc/message_admins(var/mob/sender, var/faxname, var/obj/item/sent, var/reply_type, font_colour="#006100") - var/msg = "[faxname]: [get_options_bar(sender, 2,1,1)]" - msg += "(REPLY): " - msg += "Receiving '[sent.name]' via secure connection ... view message" + var/msg = "[faxname]: [get_options_bar(sender, 2,1,1)]" + msg += "(REPLY)" + msg = span_bold(msg) + ": " + msg += "Receiving '[sent.name]' via secure connection ... view message" + msg = span_notice(msg) for(var/client/C in GLOB.admins) if(check_rights((R_ADMIN|R_MOD|R_EVENT),0,C)) @@ -453,28 +467,28 @@ Extracted to its own procedure for easier logic handling with paper bundles. */ /obj/machinery/photocopier/faxmachine/proc/export_fax(fax) var faxid = "[num2text(world.realtime,12)]_[rand(10000)]" - if (istype(fax, /obj/item/weapon/paper)) - var/obj/item/weapon/paper/P = fax + if (istype(fax, /obj/item/paper)) + var/obj/item/paper/P = fax var/text = "[P.name][P.info][P.stamps]"; - file("[config.fax_export_dir]/fax_[faxid].html") << text; - else if (istype(fax, /obj/item/weapon/photo)) - var/obj/item/weapon/photo/H = fax - fcopy(H.img, "[config.fax_export_dir]/photo_[faxid].png") + file("[CONFIG_GET(string/fax_export_dir)]/fax_[faxid].html") << text; + else if (istype(fax, /obj/item/photo)) + var/obj/item/photo/H = fax + fcopy(H.img, "[CONFIG_GET(string/fax_export_dir)]/photo_[faxid].png") var/text = "[H.name]" \ + "" \ + "" \ + "[H.scribble ? "
    Written on the back:
    [H.scribble]" : ""]"\ + "" - file("[config.fax_export_dir]/fax_[faxid].html") << text - else if (istype(fax, /obj/item/weapon/paper_bundle)) - var/obj/item/weapon/paper_bundle/B = fax + file("[CONFIG_GET(string/fax_export_dir)]/fax_[faxid].html") << text + else if (istype(fax, /obj/item/paper_bundle)) + var/obj/item/paper_bundle/B = fax var/data = "" for (var/page = 1, page <= B.pages.len, page++) var/obj/pageobj = B.pages[page] var/page_faxid = export_fax(pageobj) data += "Page [page] - [pageobj.name]
    " var/text = "[B.name][data]" - file("[config.fax_export_dir]/fax_[faxid].html") << text + file("[CONFIG_GET(string/fax_export_dir)]/fax_[faxid].html") << text return faxid @@ -483,16 +497,16 @@ Extracted to its own procedure for easier logic handling with paper bundles. * Call the chat webhook to transmit a notification of an admin fax to the admin chat. */ /obj/machinery/photocopier/faxmachine/proc/message_chat_admins(var/mob/sender, var/faxname, var/obj/item/sent, var/faxid, font_colour="#006100") - if (config.chat_webhook_url) + if (CONFIG_GET(string/chat_webhook_url)) spawn(0) var/query_string = "type=fax" - query_string += "&key=[url_encode(config.chat_webhook_key)]" + query_string += "&key=[url_encode(CONFIG_GET(string/chat_webhook_key))]" query_string += "&faxid=[url_encode(faxid)]" query_string += "&color=[url_encode(font_colour)]" query_string += "&faxname=[url_encode(faxname)]" query_string += "&sendername=[url_encode(sender.name)]" query_string += "&sentname=[url_encode(sent.name)]" - world.Export("[config.chat_webhook_url]?[query_string]") + world.Export("[CONFIG_GET(string/chat_webhook_url)]?[query_string]") //YW EDIT world.TgsTargetedChatBroadcast("FAX: [sanitize(faxname)] / [sanitize(sent.name)] - SENT BY: [sanitize(sender.name)] - FAXID: **[sanitize(faxid)]**", TRUE) //YW EDIT END @@ -502,7 +516,7 @@ Extracted to its own procedure for easier logic handling with paper bundles. /** * Call the chat webhook to transmit a notification of a job request */ -/obj/machinery/photocopier/faxmachine/proc/message_chat_rolerequest(message_color, ping_name, reason, role) // YW EDIT: Adds rolerequest webhook +/obj/machinery/photocopier/faxmachine/proc/message_chat_rolerequest(message_color, ping_name, reason, role) // YW EDIT: replaces the voerestation rolerequest webhook SSwebhooks.send( WEBHOOK_ROLEREQUEST, list( diff --git a/code/modules/paperwork/filingcabinet.dm b/code/modules/paperwork/filingcabinet.dm index e4f262b2ae9..8ef985f147b 100644 --- a/code/modules/paperwork/filingcabinet.dm +++ b/code/modules/paperwork/filingcabinet.dm @@ -27,13 +27,13 @@ /obj/structure/filingcabinet/Initialize() for(var/obj/item/I in loc) - if(istype(I, /obj/item/weapon/paper) || istype(I, /obj/item/weapon/folder) || istype(I, /obj/item/weapon/photo) || istype(I, /obj/item/weapon/paper_bundle)) + if(istype(I, /obj/item/paper) || istype(I, /obj/item/folder) || istype(I, /obj/item/photo) || istype(I, /obj/item/paper_bundle)) I.loc = src . = ..() /obj/structure/filingcabinet/attackby(obj/item/P as obj, mob/user as mob) - if(istype(P, /obj/item/weapon/paper) || istype(P, /obj/item/weapon/folder) || istype(P, /obj/item/weapon/photo) || istype(P, /obj/item/weapon/paper_bundle)) - to_chat(user, "You put [P] in [src].") + if(istype(P, /obj/item/paper) || istype(P, /obj/item/folder) || istype(P, /obj/item/photo) || istype(P, /obj/item/paper_bundle)) + to_chat(user, span_notice("You put [P] in [src].")) user.drop_item() P.loc = src open_animation() @@ -41,24 +41,24 @@ else if(P.has_tool_quality(TOOL_WRENCH)) playsound(src, P.usesound, 50, 1) anchored = !anchored - to_chat(user, "You [anchored ? "wrench" : "unwrench"] \the [src].") + to_chat(user, span_notice("You [anchored ? "wrench" : "unwrench"] \the [src].")) else if(P.has_tool_quality(TOOL_SCREWDRIVER)) - to_chat(user, "You begin taking the [name] apart.") + to_chat(user, span_notice("You begin taking the [name] apart.")) playsound(src, P.usesound, 50, 1) if(do_after(user, 10 * P.toolspeed)) playsound(src, P.usesound, 50, 1) - to_chat(user, "You take the [name] apart.") + to_chat(user, span_notice("You take the [name] apart.")) new /obj/item/stack/material/steel( src.loc, 4 ) for(var/obj/item/I in contents) I.forceMove(loc) qdel(src) return else - to_chat(user, "You can't put [P] in [src]!") + to_chat(user, span_notice("You can't put [P] in [src]!")) /obj/structure/filingcabinet/attack_hand(mob/user as mob) if(contents.len <= 0) - to_chat(user, "\The [src] is empty.") + to_chat(user, span_notice("\The [src] is empty.")) return tgui_interact(user) @@ -75,9 +75,9 @@ I.loc = loc if(prob(25)) step_rand(I) - to_chat(user, "You pull \a [I] out of [src] at random.") + to_chat(user, span_notice("You pull \a [I] out of [src] at random.")) return - to_chat(user, "You find nothing in [src].") + to_chat(user, span_notice("You find nothing in [src].")) /obj/structure/filingcabinet/tgui_state(mob/user) return GLOB.tgui_physical_state @@ -99,15 +99,15 @@ return list("contents" = files) -/obj/structure/filingcabinet/tgui_act(action, params) +/obj/structure/filingcabinet/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE switch(action) if("retrieve") var/obj/item/P = locate(params["ref"]) - if(istype(P) && (P.loc == src) && usr.Adjacent(src)) - usr.put_in_hands(P) + if(istype(P) && (P.loc == src) && ui.user.Adjacent(src)) + ui.user.put_in_hands(P) open_animation() SStgui.update_uis(src) @@ -132,7 +132,7 @@ if((R.fields["name"] == G.fields["name"] || R.fields["id"] == G.fields["id"])) S = R break - var/obj/item/weapon/paper/P = new /obj/item/weapon/paper(src) + var/obj/item/paper/P = new /obj/item/paper(src) P.info = "
    Security Record

    " P.info += "Name: [G.fields["name"]] ID: [G.fields["id"]]
    \nSex: [G.fields["sex"]]
    \nAge: [G.fields["age"]]
    \nFingerprint: [G.fields["fingerprint"]]
    \nPhysical Status: [G.fields["p_stat"]]
    \nMental Status: [G.fields["m_stat"]]
    " P.info += "
    \n
    Security Data

    \nCriminal Status: [S.fields["criminal"]]
    \n
    \nMinor Crimes: [S.fields["mi_crim"]]
    \nDetails: [S.fields["mi_crim_d"]]
    \n
    \nMajor Crimes: [S.fields["ma_crim"]]
    \nDetails: [S.fields["ma_crim_d"]]
    \n
    \nImportant Notes:
    \n\t[S.fields["notes"]]
    \n
    \n
    Comments/Log

    " @@ -168,7 +168,7 @@ M = R break if(M) - var/obj/item/weapon/paper/P = new /obj/item/weapon/paper(src) + var/obj/item/paper/P = new /obj/item/paper(src) P.info = "
    Medical Record

    " P.info += "Name: [G.fields["name"]] ID: [G.fields["id"]]
    \nSex: [G.fields["sex"]]
    \nAge: [G.fields["age"]]
    \nFingerprint: [G.fields["fingerprint"]]
    \nPhysical Status: [G.fields["p_stat"]]
    \nMental Status: [G.fields["m_stat"]]
    " diff --git a/code/modules/paperwork/folders.dm b/code/modules/paperwork/folders.dm index 0aab10f7583..ca48d76060b 100644 --- a/code/modules/paperwork/folders.dm +++ b/code/modules/paperwork/folders.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/folder +/obj/item/folder name = "folder" desc = "A folder." icon = 'icons/obj/bureaucracy_yw.dmi' //ywedit reverts to use old folder icon @@ -9,93 +9,93 @@ pickup_sound = 'sound/items/pickup/paper.ogg' slot_flags = SLOT_BELT | SLOT_HOLSTER -/obj/item/weapon/folder/blue +/obj/item/folder/blue desc = "A blue folder." icon_state = "folder_blue" -/obj/item/weapon/folder/red +/obj/item/folder/red desc = "A red folder." icon_state = "folder_red" -/obj/item/weapon/folder/yellow +/obj/item/folder/yellow desc = "A yellow folder." icon_state = "folder_yellow" -/obj/item/weapon/folder/white +/obj/item/folder/white desc = "A white folder." icon_state = "folder_white" -/obj/item/weapon/folder/blue_captain - desc = "A blue folder with Site Manager markings." +/obj/item/folder/blue_captain + desc = "A blue folder with " + JOB_SITE_MANAGER + " markings." icon_state = "folder_captain" -/obj/item/weapon/folder/blue_hop +/obj/item/folder/blue_hop desc = "A blue folder with HoP markings." icon_state = "folder_hop" -/obj/item/weapon/folder/white_cmo +/obj/item/folder/white_cmo desc = "A white folder with CMO markings." icon_state = "folder_cmo" -/obj/item/weapon/folder/white_rd +/obj/item/folder/white_rd desc = "A white folder with RD markings." icon_state = "folder_rd" -/obj/item/weapon/folder/white_rd/New() +/obj/item/folder/white_rd/New() //add some memos - var/obj/item/weapon/paper/P = new() + var/obj/item/paper/P = new() P.name = "Memo RE: proper analysis procedure" P.info = "
    We keep test dummies in pens here for a reason" src.contents += P update_icon() -/obj/item/weapon/folder/yellow_ce +/obj/item/folder/yellow_ce desc = "A yellow folder with CE markings." icon_state = "folder_ce" -/obj/item/weapon/folder/red_hos +/obj/item/folder/red_hos desc = "A red folder with HoS markings." icon_state = "folder_hos" -/obj/item/weapon/folder/update_icon() +/obj/item/folder/update_icon() cut_overlays() if(contents.len) add_overlay("folder_paper") return -/obj/item/weapon/folder/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W, /obj/item/weapon/paper) || istype(W, /obj/item/weapon/photo) || istype(W, /obj/item/weapon/paper_bundle)) +/obj/item/folder/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W, /obj/item/paper) || istype(W, /obj/item/photo) || istype(W, /obj/item/paper_bundle)) user.drop_item() W.loc = src - to_chat(user, "You put the [W] into \the [src].") + to_chat(user, span_notice("You put the [W] into \the [src].")) update_icon() - else if(istype(W, /obj/item/weapon/pen)) + else if(istype(W, /obj/item/pen)) var/n_name = sanitizeSafe(tgui_input_text(user, "What would you like to label the folder?", "Folder Labelling", null, MAX_NAME_LEN), MAX_NAME_LEN) if(in_range(user, src) && user.stat == 0) name = "folder[(n_name ? text("- '[n_name]'") : null)]" return -/obj/item/weapon/folder/afterattack(turf/T as turf, mob/user as mob) - for(var/obj/item/weapon/paper/P in T) +/obj/item/folder/afterattack(turf/T as turf, mob/user as mob) + for(var/obj/item/paper/P in T) P.loc = src update_icon() - to_chat(user, "You tuck the [P] into \the [src].") + to_chat(user, span_notice("You tuck the [P] into \the [src].")) -/obj/item/weapon/folder/attack_self(mob/user as mob) +/obj/item/folder/attack_self(mob/user as mob) var/dat = "[name]" - for(var/obj/item/weapon/paper/P in src) + for(var/obj/item/paper/P in src) dat += "Remove Rename - [P.name]
    " - for(var/obj/item/weapon/photo/Ph in src) + for(var/obj/item/photo/Ph in src) dat += "Remove Rename - [Ph.name]
    " - for(var/obj/item/weapon/paper_bundle/Pb in src) + for(var/obj/item/paper_bundle/Pb in src) dat += "Remove Rename - [Pb.name]
    " user << browse(dat, "window=folder") onclose(user, "folder") add_fingerprint(user) return -/obj/item/weapon/folder/Topic(href, href_list) +/obj/item/folder/Topic(href, href_list) ..() if((usr.stat || usr.restrained())) return @@ -109,7 +109,7 @@ usr.put_in_hands(P) else if(href_list["read"]) - var/obj/item/weapon/paper/P = locate(href_list["read"]) + var/obj/item/paper/P = locate(href_list["read"]) if(P && (P.loc == src) && istype(P)) if(!(istype(usr, /mob/living/carbon/human) || istype(usr, /mob/observer/dead) || istype(usr, /mob/living/silicon))) usr << browse("[P.name][stars(P.info)][P.stamps]", "window=[P.name]") @@ -118,28 +118,28 @@ usr << browse("[P.name][P.info][P.stamps]", "window=[P.name]") onclose(usr, "[P.name]") else if(href_list["look"]) - var/obj/item/weapon/photo/P = locate(href_list["look"]) + var/obj/item/photo/P = locate(href_list["look"]) if(P && (P.loc == src) && istype(P)) P.show(usr) else if(href_list["browse"]) - var/obj/item/weapon/paper_bundle/P = locate(href_list["browse"]) + var/obj/item/paper_bundle/P = locate(href_list["browse"]) if(P && (P.loc == src) && istype(P)) P.attack_self(usr) onclose(usr, "[P.name]") else if(href_list["rename"]) - var/obj/item/weapon/O = locate(href_list["rename"]) + var/obj/item/O = locate(href_list["rename"]) if(O && (O.loc == src)) - if(istype(O, /obj/item/weapon/paper)) - var/obj/item/weapon/paper/to_rename = O + if(istype(O, /obj/item/paper)) + var/obj/item/paper/to_rename = O to_rename.rename() - else if(istype(O, /obj/item/weapon/photo)) - var/obj/item/weapon/photo/to_rename = O + else if(istype(O, /obj/item/photo)) + var/obj/item/photo/to_rename = O to_rename.rename() - else if(istype(O, /obj/item/weapon/paper_bundle)) - var/obj/item/weapon/paper_bundle/to_rename = O + else if(istype(O, /obj/item/paper_bundle)) + var/obj/item/paper_bundle/to_rename = O to_rename.rename() //Update everything diff --git a/code/modules/paperwork/handlabeler.dm b/code/modules/paperwork/handlabeler.dm index 5666b97d5ec..2faa8ec05ec 100644 --- a/code/modules/paperwork/handlabeler.dm +++ b/code/modules/paperwork/handlabeler.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/hand_labeler +/obj/item/hand_labeler name = "hand labeler" desc = "Label everything like you've always wanted to! Stuck to the side is a label reading \'Labeler\'. Seems you're too late for that one." icon = 'icons/obj/bureaucracy.dmi' @@ -9,10 +9,10 @@ drop_sound = 'sound/items/drop/device.ogg' pickup_sound = 'sound/items/pickup/device.ogg' -/obj/item/weapon/hand_labeler/attack() +/obj/item/hand_labeler/attack() return -/obj/item/weapon/hand_labeler/afterattack(atom/A, mob/user as mob, proximity) +/obj/item/hand_labeler/afterattack(atom/A, mob/user as mob, proximity) if(!proximity) return if(!mode) //if it's off, give up. @@ -21,63 +21,63 @@ return // don't set a label if(!labels_left) - to_chat(user, SPAN_WARNING("\The [src] has no labels left.")) + to_chat(user, span_warning("\The [src] has no labels left.")) return if(!label || !length(label)) - to_chat(user, SPAN_WARNING("\The [src] has no label text set.")) + to_chat(user, span_warning("\The [src] has no label text set.")) return if(length(A.name) + length(label) > 64) - to_chat(user, SPAN_WARNING("\The [src]'s label too big.")) + to_chat(user, span_warning("\The [src]'s label too big.")) return if(istype(A, /mob/living/silicon/robot/platform)) var/mob/living/silicon/robot/platform/P = A if(!P.allowed(user)) - to_chat(usr, SPAN_WARNING("Access denied.")) + to_chat(usr, span_warning("Access denied.")) else if(P.client || P.key) - to_chat(user, SPAN_NOTICE("You rename \the [P] to [label].")) - to_chat(P, SPAN_NOTICE("\The [user] renames you to [label].")) + to_chat(user, span_notice("You rename \the [P] to [label].")) + to_chat(P, span_notice("\The [user] renames you to [label].")) P.custom_name = label P.SetName(P.custom_name) else - to_chat(user, SPAN_WARNING("\The [src] is inactive and cannot be renamed.")) + to_chat(user, span_warning("\The [src] is inactive and cannot be renamed.")) return if(ishuman(A)) - to_chat(user, SPAN_WARNING("The label refuses to stick to [A.name].")) + to_chat(user, span_warning("The label refuses to stick to [A.name].")) return if(issilicon(A)) - to_chat(user, SPAN_WARNING("The label refuses to stick to [A.name].")) + to_chat(user, span_warning("The label refuses to stick to [A.name].")) return if(isobserver(A)) - to_chat(user, SPAN_WARNING("[src] passes through [A.name].")) + to_chat(user, span_warning("[src] passes through [A.name].")) return - if(istype(A, /obj/item/weapon/reagent_containers/glass)) - to_chat(user, SPAN_WARNING("The label can't stick to the [A.name] (Try using a pen).")) + if(istype(A, /obj/item/reagent_containers/glass)) + to_chat(user, span_warning("The label can't stick to the [A.name] (Try using a pen).")) return if(istype(A, /obj/machinery/portable_atmospherics/hydroponics)) var/obj/machinery/portable_atmospherics/hydroponics/tray = A if(!tray.mechanical) - to_chat(user, SPAN_WARNING("How are you going to label that?")) + to_chat(user, span_warning("How are you going to label that?")) return tray.labelled = label spawn(1) tray.update_icon() user.visible_message( \ - SPAN_NOTICE("\The [user] labels [A] as [label]."), \ - SPAN_NOTICE("You label [A] as [label].")) + span_notice("\The [user] labels [A] as [label]."), \ + span_notice("You label [A] as [label].")) A.name = "[A.name] ([label])" -/obj/item/weapon/hand_labeler/attack_self(mob/user as mob) +/obj/item/hand_labeler/attack_self(mob/user as mob) mode = !mode icon_state = "labeler[mode]" if(mode) - to_chat(user, SPAN_NOTICE("You turn on \the [src].")) + to_chat(user, span_notice("You turn on \the [src].")) //Now let them chose the text. var/str = sanitizeSafe(tgui_input_text(user,"Label text?","Set label","",MAX_NAME_LEN), MAX_NAME_LEN) if(!str || !length(str)) - to_chat(user, SPAN_WARNING("Invalid text.")) + to_chat(user, span_warning("Invalid text.")) return label = str - to_chat(user, SPAN_NOTICE("You set the text to '[str]'.")) + to_chat(user, span_notice("You set the text to '[str]'.")) else - to_chat(user, SPAN_NOTICE("You turn off \the [src].")) \ No newline at end of file + to_chat(user, span_notice("You turn off \the [src].")) diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index f12ee1a2d04..92a6fac757d 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -3,7 +3,7 @@ * also scraps of paper */ -/obj/item/weapon/paper +/obj/item/paper name = "sheet of paper" gender = NEUTER icon = 'icons/obj/bureaucracy.dmi' @@ -42,39 +42,39 @@ var/const/signfont = "Times New Roman" var/const/crayonfont = "Comic Sans MS" -/obj/item/weapon/paper/card +/obj/item/paper/card name = "blank card" desc = "A gift card with space to write on the cover." icon_state = "greetingcard" slot_flags = null //no fun allowed!!!! -/obj/item/weapon/paper/card/AltClick() //No fun allowed +/obj/item/paper/card/AltClick() //No fun allowed return -/obj/item/weapon/paper/card/update_icon() +/obj/item/paper/card/update_icon() return -/obj/item/weapon/paper/card/smile +/obj/item/paper/card/smile name = "happy card" desc = "A gift card with a smiley face on the cover." icon_state = "greetingcard_smile" -/obj/item/weapon/paper/card/cat +/obj/item/paper/card/cat name = "cat card" desc = "A gift card with a cat on the cover." icon_state = "greetingcard_cat" -/obj/item/weapon/paper/card/flower +/obj/item/paper/card/flower name = "flower card" desc = "A gift card with a flower on the cover." icon_state = "greetingcard_flower" -/obj/item/weapon/paper/card/heart +/obj/item/paper/card/heart name = "heart card" desc = "A gift card with a heart on the cover." icon_state = "greetingcard_heart" -/obj/item/weapon/paper/card/New() +/obj/item/paper/card/New() ..() pixel_y = rand(-8, 8) pixel_x = rand(-9, 9) @@ -86,26 +86,26 @@ info = parsepencode(info) return -/obj/item/weapon/paper/alien +/obj/item/paper/alien name = "alien tablet" desc = "It looks highly advanced" icon = 'icons/obj/abductor.dmi' icon_state = "alienpaper" -/obj/item/weapon/paper/alien/update_icon() +/obj/item/paper/alien/update_icon() if(info) icon_state = "alienpaper_words" else icon_state = "alienpaper" -/obj/item/weapon/paper/alien/burnpaper() +/obj/item/paper/alien/burnpaper() return -/obj/item/weapon/paper/alien/AltClick() // No airplanes for me. +/obj/item/paper/alien/AltClick() // No airplanes for me. return -/obj/item/weapon/paper/Initialize(mapload, var/text, var/title) +/obj/item/paper/Initialize(mapload, var/text, var/title) . = ..() if(istext(title)) @@ -116,7 +116,7 @@ if(mapload) // Jank, but we do this to prevent maploaded papers from somehow stacking across rounds if re-added to the board by a player. was_maploaded = TRUE -/obj/item/weapon/paper/New(var/newloc, var/text, var/title) +/obj/item/paper/New(var/newloc, var/text, var/title) ..() pixel_y = rand(-8, 8) pixel_x = rand(-9, 9) @@ -142,7 +142,7 @@ updateinfolinks() return -/obj/item/weapon/paper/update_icon() +/obj/item/paper/update_icon() if(icon_state == "paper_talisman") return if(info) @@ -150,20 +150,20 @@ return icon_state = "paper" -/obj/item/weapon/paper/proc/update_space(var/new_text) +/obj/item/paper/proc/update_space(var/new_text) if(!new_text) return free_space -= length(strip_html_properly(new_text)) -/obj/item/weapon/paper/examine(mob/user) +/obj/item/paper/examine(mob/user) . = ..() if(in_range(user, src) || istype(user, /mob/observer/dead)) show_content(usr) else - . += "You have to go closer if you want to read it." + . += span_notice("You have to go closer if you want to read it.") -/obj/item/weapon/paper/proc/show_content(var/mob/user, var/forceshow=0) +/obj/item/paper/proc/show_content(var/mob/user, var/forceshow=0) if(!(forceshow || (istype(user, /mob/living/carbon/human) || istype(user, /mob/observer/dead) || istype(user, /mob/living/silicon) || (istype(user) && user.universal_understand)))) user << browse("[name][stars(info)][stamps]", "window=[name]") onclose(user, "[name]") @@ -171,17 +171,17 @@ user << browse("[name][info][stamps]", "window=[name]") onclose(user, "[name]") -/obj/item/weapon/paper/verb/rename() +/obj/item/paper/verb/rename() set name = "Rename paper" set category = "Object" set src in usr if((CLUMSY in usr.mutations) && prob(50)) - to_chat(usr, "You cut yourself on the paper.") + to_chat(usr, span_warning("You cut yourself on the paper.")) return var/n_name = sanitizeSafe(tgui_input_text(usr, "What would you like to label the paper?", "Paper Labelling", null, MAX_NAME_LEN), MAX_NAME_LEN) - // We check loc one level up, so we can rename in clipboards and such. See also: /obj/item/weapon/photo/rename() + // We check loc one level up, so we can rename in clipboards and such. See also: /obj/item/photo/rename() if((loc == usr || loc.loc && loc.loc == usr) && usr.stat == 0 && n_name) name = n_name if(n_name != "paper") @@ -190,10 +190,10 @@ add_fingerprint(usr) return -/obj/item/weapon/paper/attack_self(mob/living/user as mob) +/obj/item/paper/attack_self(mob/living/user as mob) if(user.a_intent == I_HURT) if(icon_state == "scrap") - user.show_message("\The [src] is already crumpled.") + user.show_message(span_warning("\The [src] is already crumpled.")) return //crumple dat paper info = stars(info,85) @@ -210,7 +210,7 @@ spam_flag = 0 return -/obj/item/weapon/paper/attack_ai(var/mob/living/silicon/ai/user as mob) +/obj/item/paper/attack_ai(var/mob/living/silicon/ai/user as mob) var/dist if(istype(user) && user.camera) //is AI dist = get_dist(src, user.camera) @@ -224,10 +224,10 @@ onclose(usr, "[name]") return -/obj/item/weapon/paper/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) +/obj/item/paper/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) if(user.zone_sel.selecting == O_EYES) - user.visible_message("You show the paper to [M]. ", \ - " [user] holds up a paper and shows it to [M]. ") + user.visible_message(span_notice("You show the paper to [M]. "), \ + span_notice(" [user] holds up a paper and shows it to [M]. ")) M.examinate(src) else if(user.zone_sel.selecting == O_MOUTH) // lipstick wiping and paper eating @@ -235,36 +235,36 @@ var/mob/living/carbon/human/H = M if(H == user) if(icon_state == "scrap" && H.check_has_mouth()) //YW Edit Start - user << "You begin to stuff \the [src] into your mouth!" + user << span_warning("You begin to stuff \the [src] into your mouth!") if(do_after(user, 30)) - user << "You stuff \the [src] into your mouth!" + user << span_warning("You stuff \the [src] into your mouth!") H.ingested.add_reagent("paper", 10) H.adjustOxyLoss(10) qdel(src) else - user << "You wipe off the lipstick with [src]." + user << span_notice("You wipe off the lipstick with [src].") H.lip_style = null H.update_icons_body() else if(icon_state == "scrap" && H.check_has_mouth()) - user.visible_message("[user] begins to stuff \the [src] into [H]'s mouth!", \ - "You begin to stuff \the [src] into [H]'s mouth!",) + user.visible_message(span_warning("[user] begins to stuff \the [src] into [H]'s mouth!"), \ + span_warning("You begin to stuff \the [src] into [H]'s mouth!"),) if(do_after(user, 30, H)) - user.visible_message("[user] stuffs \the [src] into [H]'s mouth!",\ - "You stuff \the [src] into [H]'s mouth!") + user.visible_message(span_warning("[user] stuffs \the [src] into [H]'s mouth!"),\ + span_warning("You stuff \the [src] into [H]'s mouth!")) H.ingested.add_reagent("paper", 10) H.adjustOxyLoss(10) qdel(src) else - user.visible_message("[user] begins to wipe [H]'s lipstick off with \the [src].", \ - "You begin to wipe off [H]'s lipstick.") + user.visible_message(span_warning("[user] begins to wipe [H]'s lipstick off with \the [src]."), \ + span_notice("You begin to wipe off [H]'s lipstick.")) if(do_after(user, 10, H)) - user.visible_message("[user] wipes [H]'s lipstick off with \the [src].", \ - "You wipe off [H]'s lipstick.") + user.visible_message(span_notice("[user] wipes [H]'s lipstick off with \the [src]."), \ + span_notice("You wipe off [H]'s lipstick.")) H.lip_style = null H.update_icons_body() //YW Edit End -/obj/item/weapon/paper/proc/set_content(text,title) +/obj/item/paper/proc/set_content(text,title) if(title) name = title info = html_encode(text) @@ -273,7 +273,7 @@ update_space(info) updateinfolinks() -/obj/item/weapon/paper/proc/addtofield(var/id, var/text, var/links = 0) +/obj/item/paper/proc/addtofield(var/id, var/text, var/links = 0) var/locid = 0 var/laststart = 1 var/textindex = 1 @@ -310,7 +310,7 @@ info = before + text + after updateinfolinks() -/obj/item/weapon/paper/proc/updateinfolinks() +/obj/item/paper/proc/updateinfolinks() info_links = info var/i = 0 for(i=1,i<=fields,i++) @@ -318,7 +318,7 @@ info_links = info_links + "write" -/obj/item/weapon/paper/proc/clearpaper() +/obj/item/paper/proc/clearpaper() info = null stamps = null free_space = MAX_PAPER_MESSAGE_LEN @@ -327,12 +327,12 @@ updateinfolinks() update_icon() -/obj/item/weapon/paper/proc/get_signature(var/obj/item/weapon/pen/P, mob/user as mob) - if(P && istype(P, /obj/item/weapon/pen)) +/obj/item/paper/proc/get_signature(var/obj/item/pen/P, mob/user as mob) + if(P && istype(P, /obj/item/pen)) return P.get_signature(user) return (user && user.real_name) ? user.real_name : "Anonymous" -/obj/item/weapon/paper/proc/parsepencode(var/t, var/obj/item/weapon/pen/P, mob/user as mob, var/iscrayon = 0) +/obj/item/paper/proc/parsepencode(var/t, var/obj/item/pen/P, mob/user as mob, var/iscrayon = 0) // t = copytext(sanitize(t),1,MAX_MESSAGE_LEN) t = replacetext(t, "\[center\]", "
    ") @@ -408,12 +408,12 @@ return t -/obj/item/weapon/paper/proc/burnpaper(obj/item/weapon/flame/P, mob/user) +/obj/item/paper/proc/burnpaper(obj/item/flame/P, mob/user) var/class = "warning" var/datum/gender/TU = gender_datums[user.get_visible_gender()] if(P.lit && !user.restrained()) - if(istype(P, /obj/item/weapon/flame/lighter/zippo)) + if(istype(P, /obj/item/flame/lighter/zippo)) class = "rose" user.visible_message("[user] holds \the [P] up to \the [src], it looks like [TU.hes] trying to burn it!", \ @@ -435,7 +435,7 @@ to_chat(user, span_red("You must hold \the [P] steady to burn \the [src].")) -/obj/item/weapon/paper/Topic(href, href_list) +/obj/item/paper/Topic(href, href_list) ..() if(!usr || (usr.stat || usr.restrained())) return @@ -445,7 +445,7 @@ //var/t = strip_html_simple(input(usr, "What text do you wish to add to " + (id=="end" ? "the end of the paper" : "field "+id) + "?", "[name]", null),8192) as message if(free_space <= 0) - to_chat(usr, "There isn't enough space left on \the [src] to write anything.") + to_chat(usr, span_info("There isn't enough space left on \the [src] to write anything.")) return var/raw = tgui_input_text(usr, "Enter what you want to write:", "Write", multiline = TRUE, prevent_enter = TRUE) @@ -458,14 +458,14 @@ var/obj/item/i = usr.get_active_hand() // Check to see if he still got that darn pen, also check if he's using a crayon or pen. var/iscrayon = 0 - if(!istype(i, /obj/item/weapon/pen)) + if(!istype(i, /obj/item/pen)) tgui_alert(usr, "You aren't holding a pen anymore! If you want to keep your work, grab one.", "No Pen!") // Should remain tgui_alert() (blocking) i = usr.get_active_hand() - if(!istype(i, /obj/item/weapon/pen)) + if(!istype(i, /obj/item/pen)) var/mob/living/M = usr - if(istype(M) && M.back && istype(M.back,/obj/item/weapon/rig)) - var/obj/item/weapon/rig/r = M.back + if(istype(M) && M.back && istype(M.back,/obj/item/rig)) + var/obj/item/rig/r = M.back var/obj/item/rig_module/device/pen/m = locate(/obj/item/rig_module/device/pen) in r.installed_modules if(!r.offline && m) i = m.device @@ -474,12 +474,12 @@ else return - if(istype(i, /obj/item/weapon/pen/crayon)) + if(istype(i, /obj/item/pen/crayon)) iscrayon = 1 // if paper is not in usr, then it must be near them, or in a clipboard or folder, which must be in or near usr - if(istype(loc, /obj/item/weapon/clipboard) || istype(loc, /obj/structure/noticeboard) || istype(loc, /obj/item/weapon/folder)) + if(istype(loc, /obj/item/clipboard) || istype(loc, /obj/structure/noticeboard) || istype(loc, /obj/item/folder)) if(loc.loc != usr && !in_range(loc, usr)) return else if(loc != usr && !Adjacent(usr)) @@ -506,7 +506,7 @@ if(fields > 50)//large amount of fields creates a heavy load on the server, see updateinfolinks() and addtofield() - to_chat(usr, "Too many fields. Sorry, you can't do this.") + to_chat(usr, span_warning("Too many fields. Sorry, you can't do this.")) fields = last_fields_value return @@ -526,46 +526,46 @@ update_icon() -/obj/item/weapon/paper/get_worn_icon_state(var/slot_name) +/obj/item/paper/get_worn_icon_state(var/slot_name) if(slot_name == slot_head_str) return "paper" //Gross, but required for now. return ..() -/obj/item/weapon/paper/attackby(obj/item/weapon/P as obj, mob/user as mob) +/obj/item/paper/attackby(obj/item/P as obj, mob/user as mob) ..() var/clown = 0 - if(user.mind && (user.mind.assigned_role == "Clown")) + if(user.mind && (user.mind.assigned_role == JOB_CLOWN)) clown = 1 - if(istype(P, /obj/item/weapon/tape_roll)) - var/obj/item/weapon/tape_roll/tape = P + if(istype(P, /obj/item/tape_roll)) + var/obj/item/tape_roll/tape = P tape.stick(src, user) return - if(istype(P, /obj/item/weapon/clipboard)) - var/obj/item/weapon/clipboard/CB = P + if(istype(P, /obj/item/clipboard)) + var/obj/item/clipboard/CB = P if(src.loc == user) user.drop_from_inventory(src) src.loc = CB CB.toppaper = src CB.update_icon() - to_chat(user, "You clip the [src] onto \the [CB].") + to_chat(user, span_notice("You clip the [src] onto \the [CB].")) - if(istype(P, /obj/item/weapon/folder)) + if(istype(P, /obj/item/folder)) if(src.loc == user) user.drop_from_inventory(src) src.loc = P P.update_icon() - to_chat(user, "You tuck the [src] into \the [P].") + to_chat(user, span_notice("You tuck the [src] into \the [P].")) - if(istype(P, /obj/item/weapon/paper) || istype(P, /obj/item/weapon/photo)) - if (istype(P, /obj/item/weapon/paper/carbon)) - var/obj/item/weapon/paper/carbon/C = P + if(istype(P, /obj/item/paper) || istype(P, /obj/item/photo)) + if (istype(P, /obj/item/paper/carbon)) + var/obj/item/paper/carbon/C = P if (!C.iscopy && !C.copied) - to_chat(user, "Take off the carbon copy first.") + to_chat(user, span_notice("Take off the carbon copy first.")) add_fingerprint(user) return - var/obj/item/weapon/paper_bundle/B = new(src.loc) + var/obj/item/paper_bundle/B = new(src.loc) if (name != initial(name)) B.name = name else if (P.name != initial(P.name)) @@ -594,7 +594,7 @@ src.loc = get_turf(h_user) if(h_user.client) h_user.client.screen -= src h_user.put_in_hands(B) - to_chat(user, "You clip the [P.name] to [(src.name == "paper") ? "the paper" : src.name].") + to_chat(user, span_notice("You clip the [P.name] to [(src.name == "paper") ? "the paper" : src.name].")) src.loc = B P.loc = B @@ -602,36 +602,36 @@ B.pages.Add(P) B.update_icon() - else if(istype(P, /obj/item/weapon/pen)) + else if(istype(P, /obj/item/pen)) if(icon_state == "scrap") - to_chat(usr, "\The [src] is too crumpled to write on.") + to_chat(usr, span_warning("\The [src] is too crumpled to write on.")) return - var/obj/item/weapon/pen/robopen/RP = P + var/obj/item/pen/robopen/RP = P if ( istype(RP) && RP.mode == 2 ) RP.RenamePaper(user,src) else user << browse("[name][info_links][stamps]", "window=[name]") return - else if(istype(P, /obj/item/weapon/stamp) || istype(P, /obj/item/clothing/gloves/ring/seal)) - if(istype(P, /obj/item/weapon/stamp)) - var/obj/item/weapon/stamp/the_stamp = P + else if(istype(P, /obj/item/stamp) || istype(P, /obj/item/clothing/accessory/ring/seal)) + if(istype(P, /obj/item/stamp)) + var/obj/item/stamp/the_stamp = P if(the_stamp.stamptext) - stamps += (stamps=="" ? "
    " : "
    ") + "[the_stamp.stamptext]" + stamps += (stamps=="" ? "
    " : "
    ") + span_italics("[the_stamp.stamptext]") else - stamps += (stamps=="" ? "
    " : "
    ") + "This paper has been stamped with the [the_stamp.name]." + stamps += (stamps=="" ? "
    " : "
    ") + span_italics("This paper has been stamped with the [the_stamp.name].") else - var/obj/item/clothing/gloves/ring/seal/the_stamp = P + var/obj/item/clothing/accessory/ring/seal/the_stamp = P if(the_stamp.stamptext) - stamps += (stamps=="" ? "
    " : "
    ") + "[the_stamp.stamptext]" + stamps += (stamps=="" ? "
    " : "
    ") + span_italics("[the_stamp.stamptext]") else - stamps += (stamps=="" ? "
    " : "
    ") + "This paper has been stamped with the [the_stamp.name]." - if((!in_range(src, usr) && loc != user && !( istype(loc, /obj/item/weapon/clipboard) ) && loc.loc != user && user.get_active_hand() != P)) + stamps += (stamps=="" ? "
    " : "
    ") + span_italics("This paper has been stamped with the [the_stamp.name].") + if((!in_range(src, usr) && loc != user && !( istype(loc, /obj/item/clipboard) ) && loc.loc != user && user.get_active_hand() != P)) return var/image/stampoverlay = image('icons/obj/bureaucracy.dmi') var/x, y - if(istype(P, /obj/item/weapon/stamp/captain) || istype(P, /obj/item/weapon/stamp/centcomm)) + if(istype(P, /obj/item/stamp/captain) || istype(P, /obj/item/stamp/centcomm)) x = rand(-2, 0) y = rand(-1, 2) else @@ -642,9 +642,9 @@ stampoverlay.pixel_x = x stampoverlay.pixel_y = y - if(istype(P, /obj/item/weapon/stamp/clown)) + if(istype(P, /obj/item/stamp/clown)) if(!clown) - to_chat(user, "You are totally unable to use the stamp. HONK!") + to_chat(user, span_notice("You are totally unable to use the stamp. HONK!")) return if(!ico) @@ -658,9 +658,9 @@ add_overlay(stampoverlay) playsound(src, 'sound/bureaucracy/stamp.ogg', 50, 1) - to_chat(user, "You stamp the paper with your rubber stamp.") + to_chat(user, span_notice("You stamp the paper with your rubber stamp.")) - else if(istype(P, /obj/item/weapon/flame)) + else if(istype(P, /obj/item/flame)) burnpaper(P, user) add_fingerprint(user) @@ -669,64 +669,64 @@ /* * Premade paper */ -/obj/item/weapon/paper/Court +/obj/item/paper/Court name = "Judgement" info = "For crimes against the station, the offender is sentenced to:
    \n
    \n" -/obj/item/weapon/paper/Toxin +/obj/item/paper/Toxin name = "Chemical Information" info = "Known Onboard Toxins:
    \n\tGrade A Semi-Liquid Phoron:
    \n\t\tHighly poisonous. You cannot sustain concentrations above 15 units.
    \n\t\tA gas mask fails to filter phoron after 50 units.
    \n\t\tWill attempt to diffuse like a gas.
    \n\t\tFiltered by scrubbers.
    \n\t\tThere is a bottled version which is very different
    \n\t\t\tfrom the version found in canisters!
    \n
    \n\t\tWARNING: Highly Flammable. Keep away from heat sources
    \n\t\texcept in a enclosed fire area!
    \n\t\tWARNING: It is a crime to use this without authorization.
    \nKnown Onboard Anti-Toxin:
    \n\tAnti-Toxin Type 01P: Works against Grade A Phoron.
    \n\t\tBest if injected directly into bloodstream.
    \n\t\tA full injection is in every regular Med-Kit.
    \n\t\tSpecial toxin Kits hold around 7.
    \n
    \nKnown Onboard Chemicals (other):
    \n\tRejuvenation T#001:
    \n\t\tEven 1 unit injected directly into the bloodstream
    \n\t\t\twill cure paralysis and sleep phoron.
    \n\t\tIf administered to a dying patient it will prevent
    \n\t\t\tfurther damage for about units*3 seconds.
    \n\t\t\tit will not cure them or allow them to be cured.
    \n\t\tIt can be administeredd to a non-dying patient
    \n\t\t\tbut the chemicals disappear just as fast.
    \n\tSoporific T#054:
    \n\t\t5 units wilkl induce precisely 1 minute of sleep.
    \n\t\t\tThe effect are cumulative.
    \n\t\tWARNING: It is a crime to use this without authorization" -/obj/item/weapon/paper/courtroom +/obj/item/paper/courtroom name = "A Crash Course in Legal SOP on SS13" - info = "Roles:
    \nThe Detective is basically the investigator and prosecutor.
    \nThe Staff Assistant can perform these functions with written authority from the Detective.
    \nThe Site Manager/HoP/Warden is ct as the judicial authority.
    \nThe Security Officers are responsible for executing warrants, security during trial, and prisoner transport.
    \n
    \nInvestigative Phase:
    \nAfter the crime has been committed the Detective's job is to gather evidence and try to ascertain not only who did it but what happened. He must take special care to catalogue everything and don't leave anything out. Write out all the evidence on paper. Make sure you take an appropriate number of fingerprints. IF he must ask someone questions he has permission to confront them. If the person refuses he can ask a judicial authority to write a subpoena for questioning. If again he fails to respond then that person is to be jailed as insubordinate and obstructing justice. Said person will be released after he cooperates.
    \n
    \nONCE the FT has a clear idea as to who the criminal is he is to write an arrest warrant on the piece of paper. IT MUST LIST THE CHARGES. The FT is to then go to the judicial authority and explain a small version of his case. If the case is moderately acceptable the authority should sign it. Security must then execute said warrant.
    \n
    \nPre-Pre-Trial Phase:
    \nNow a legal representative must be presented to the defendant if said defendant requests one. That person and the defendant are then to be given time to meet (in the jail IS ACCEPTABLE). The defendant and his lawyer are then to be given a copy of all the evidence that will be presented at trial (rewriting it all on paper is fine). THIS IS CALLED THE DISCOVERY PACK. With a few exceptions, THIS IS THE ONLY EVIDENCE BOTH SIDES MAY USE AT TRIAL. IF the prosecution will be seeking the death penalty it MUST be stated at this time. ALSO if the defense will be seeking not guilty by mental defect it must state this at this time to allow ample time for examination.
    \nNow at this time each side is to compile a list of witnesses. By default, the defendant is on both lists regardless of anything else. Also the defense and prosecution can compile more evidence beforehand BUT in order for it to be used the evidence MUST also be given to the other side.\nThe defense has time to compile motions against some evidence here.
    \nPossible Motions:
    \n1. Invalidate Evidence- Something with the evidence is wrong and the evidence is to be thrown out. This includes irrelevance or corrupt security.
    \n2. Free Movement- Basically the defendant is to be kept uncuffed before and during the trial.
    \n3. Subpoena Witness- If the defense presents god reasons for needing a witness but said person fails to cooperate then a subpoena is issued.
    \n4. Drop the Charges- Not enough evidence is there for a trial so the charges are to be dropped. The FT CAN RETRY but the judicial authority must carefully reexamine the new evidence.
    \n5. Declare Incompetent- Basically the defendant is insane. Once this is granted a medical official is to examine the patient. If he is indeed insane he is to be placed under care of the medical staff until he is deemed competent to stand trial.
    \n
    \nALL SIDES MOVE TO A COURTROOM
    \nPre-Trial Hearings:
    \nA judicial authority and the 2 sides are to meet in the trial room. NO ONE ELSE BESIDES A SECURITY DETAIL IS TO BE PRESENT. The defense submits a plea. If the plea is guilty then proceed directly to sentencing phase. Now the sides each present their motions to the judicial authority. He rules on them. Each side can debate each motion. Then the judicial authority gets a list of crew members. He first gets a chance to look at them all and pick out acceptable and available jurors. Those jurors are then called over. Each side can ask a few questions and dismiss jurors they find too biased. HOWEVER before dismissal the judicial authority MUST agree to the reasoning.
    \n
    \nThe Trial:
    \nThe trial has three phases.
    \n1. Opening Arguments- Each side can give a short speech. They may not present ANY evidence.
    \n2. Witness Calling/Evidence Presentation- The prosecution goes first and is able to call the witnesses on his approved list in any order. He can recall them if necessary. During the questioning the lawyer may use the evidence in the questions to help prove a point. After every witness the other side has a chance to cross-examine. After both sides are done questioning a witness the prosecution can present another or recall one (even the EXACT same one again!). After prosecution is done the defense can call witnesses. After the initial cases are presented both sides are free to call witnesses on either list.
    \nFINALLY once both sides are done calling witnesses we move onto the next phase.
    \n3. Closing Arguments- Same as opening.
    \nThe jury then deliberates IN PRIVATE. THEY MUST ALL AGREE on a verdict. REMEMBER: They mix between some charges being guilty and others not guilty (IE if you supposedly killed someone with a gun and you unfortunately picked up a gun without authorization then you CAN be found not guilty of murder BUT guilty of possession of illegal weaponry.). Once they have agreed they present their verdict. If unable to reach a verdict and feel they will never they call a deadlocked jury and we restart at Pre-Trial phase with an entirely new set of jurors.
    \n
    \nSentencing Phase:
    \nIf the death penalty was sought (you MUST have gone through a trial for death penalty) then skip to the second part.
    \nI. Each side can present more evidence/witnesses in any order. There is NO ban on emotional aspects or anything. The prosecution is to submit a suggested penalty. After all the sides are done then the judicial authority is to give a sentence.
    \nII. The jury stays and does the same thing as I. Their sole job is to determine if the death penalty is applicable. If NOT then the judge selects a sentence.
    \n
    \nTADA you're done. Security then executes the sentence and adds the applicable convictions to the person's record.
    \n" + info = span_bold("Roles:") + "
    \nThe " + JOB_DETECTIVE + " is basically the investigator and prosecutor.
    \nThe Staff Assistant can perform these functions with written authority from the " + JOB_DETECTIVE + ".
    \nThe " + JOB_SITE_MANAGER + "/HoP/" + JOB_WARDEN + " is ct as the judicial authority.
    \nThe " + JOB_SECURITY_OFFICER + "s are responsible for executing warrants, security during trial, and prisoner transport.
    \n
    \nInvestigative Phase:
    \nAfter the crime has been committed the " + JOB_DETECTIVE + "'s job is to gather evidence and try to ascertain not only who did it but what happened. He must take special care to catalogue everything and don't leave anything out. Write out all the evidence on paper. Make sure you take an appropriate number of fingerprints. IF he must ask someone questions he has permission to confront them. If the person refuses he can ask a judicial authority to write a subpoena for questioning. If again he fails to respond then that person is to be jailed as insubordinate and obstructing justice. Said person will be released after he cooperates.
    \n
    \nONCE the FT has a clear idea as to who the criminal is he is to write an arrest warrant on the piece of paper. IT MUST LIST THE CHARGES. The FT is to then go to the judicial authority and explain a small version of his case. If the case is moderately acceptable the authority should sign it. Security must then execute said warrant.
    \n
    \nPre-Pre-Trial Phase:
    \nNow a legal representative must be presented to the defendant if said defendant requests one. That person and the defendant are then to be given time to meet (in the jail IS ACCEPTABLE). The defendant and his lawyer are then to be given a copy of all the evidence that will be presented at trial (rewriting it all on paper is fine). THIS IS CALLED THE DISCOVERY PACK. With a few exceptions, THIS IS THE ONLY EVIDENCE BOTH SIDES MAY USE AT TRIAL. IF the prosecution will be seeking the death penalty it MUST be stated at this time. ALSO if the defense will be seeking not guilty by mental defect it must state this at this time to allow ample time for examination.
    \nNow at this time each side is to compile a list of witnesses. By default, the defendant is on both lists regardless of anything else. Also the defense and prosecution can compile more evidence beforehand BUT in order for it to be used the evidence MUST also be given to the other side.\nThe defense has time to compile motions against some evidence here.
    \nPossible Motions:
    \n1. Invalidate Evidence- Something with the evidence is wrong and the evidence is to be thrown out. This includes irrelevance or corrupt security.
    \n2. Free Movement- Basically the defendant is to be kept uncuffed before and during the trial.
    \n3. Subpoena Witness- If the defense presents god reasons for needing a witness but said person fails to cooperate then a subpoena is issued.
    \n4. Drop the Charges- Not enough evidence is there for a trial so the charges are to be dropped. The FT CAN RETRY but the judicial authority must carefully reexamine the new evidence.
    \n5. Declare Incompetent- Basically the defendant is insane. Once this is granted a medical official is to examine the patient. If he is indeed insane he is to be placed under care of the medical staff until he is deemed competent to stand trial.
    \n
    \nALL SIDES MOVE TO A COURTROOM
    \nPre-Trial Hearings:
    \nA judicial authority and the 2 sides are to meet in the trial room. NO ONE ELSE BESIDES A SECURITY DETAIL IS TO BE PRESENT. The defense submits a plea. If the plea is guilty then proceed directly to sentencing phase. Now the sides each present their motions to the judicial authority. He rules on them. Each side can debate each motion. Then the judicial authority gets a list of crew members. He first gets a chance to look at them all and pick out acceptable and available jurors. Those jurors are then called over. Each side can ask a few questions and dismiss jurors they find too biased. HOWEVER before dismissal the judicial authority MUST agree to the reasoning.
    \n
    \nThe Trial:
    \nThe trial has three phases.
    \n1. Opening Arguments- Each side can give a short speech. They may not present ANY evidence.
    \n2. Witness Calling/Evidence Presentation- The prosecution goes first and is able to call the witnesses on his approved list in any order. He can recall them if necessary. During the questioning the lawyer may use the evidence in the questions to help prove a point. After every witness the other side has a chance to cross-examine. After both sides are done questioning a witness the prosecution can present another or recall one (even the EXACT same one again!). After prosecution is done the defense can call witnesses. After the initial cases are presented both sides are free to call witnesses on either list.
    \nFINALLY once both sides are done calling witnesses we move onto the next phase.
    \n3. Closing Arguments- Same as opening.
    \nThe jury then deliberates IN PRIVATE. THEY MUST ALL AGREE on a verdict. REMEMBER: They mix between some charges being guilty and others not guilty (IE if you supposedly killed someone with a gun and you unfortunately picked up a gun without authorization then you CAN be found not guilty of murder BUT guilty of possession of illegal weaponry.). Once they have agreed they present their verdict. If unable to reach a verdict and feel they will never they call a deadlocked jury and we restart at Pre-Trial phase with an entirely new set of jurors.
    \n
    \nSentencing Phase:
    \nIf the death penalty was sought (you MUST have gone through a trial for death penalty) then skip to the second part.
    \nI. Each side can present more evidence/witnesses in any order. There is NO ban on emotional aspects or anything. The prosecution is to submit a suggested penalty. After all the sides are done then the judicial authority is to give a sentence.
    \nII. The jury stays and does the same thing as I. Their sole job is to determine if the death penalty is applicable. If NOT then the judge selects a sentence.
    \n
    \nTADA you're done. Security then executes the sentence and adds the applicable convictions to the person's record.
    \n" -/obj/item/weapon/paper/hydroponics +/obj/item/paper/hydroponics name = "Greetings from Billy Bob" - info = "Hey fellow botanist!
    \n
    \nI didn't trust the station folk so I left
    \na couple of weeks ago. But here's some
    \ninstructions on how to operate things here.
    \nYou can grow plants and each iteration they become
    \nstronger, more potent and have better yield, if you
    \nknow which ones to pick. Use your botanist's analyzer
    \nfor that. You can turn harvested plants into seeds
    \nat the seed extractor, and replant them for better stuff!
    \nSometimes if the weed level gets high in the tray
    \nmutations into different mushroom or weed species have
    \nbeen witnessed. On the rare occassion even weeds mutate!
    \n
    \nEither way, have fun!
    \n
    \nBest regards,
    \nBilly Bob Johnson.
    \n
    \nPS.
    \nHere's a few tips:
    \nIn nettles, potency = damage
    \nIn amanitas, potency = deadliness + side effect
    \nIn Liberty caps, potency = drug power + effect
    \nIn chilis, potency = heat
    \nNutrients keep mushrooms alive!
    \nWater keeps weeds such as nettles alive!
    \nAll other plants need both." + info = span_bold("Hey fellow botanist!") + "
    \n
    \nI didn't trust the station folk so I left
    \na couple of weeks ago. But here's some
    \ninstructions on how to operate things here.
    \nYou can grow plants and each iteration they become
    \nstronger, more potent and have better yield, if you
    \nknow which ones to pick. Use your botanist's analyzer
    \nfor that. You can turn harvested plants into seeds
    \nat the seed extractor, and replant them for better stuff!
    \nSometimes if the weed level gets high in the tray
    \nmutations into different mushroom or weed species have
    \nbeen witnessed. On the rare occassion even weeds mutate!
    \n
    \nEither way, have fun!
    \n
    \nBest regards,
    \nBilly Bob Johnson.
    \n
    \nPS.
    \nHere's a few tips:
    \nIn nettles, potency = damage
    \nIn amanitas, potency = deadliness + side effect
    \nIn Liberty caps, potency = drug power + effect
    \nIn chilis, potency = heat
    \nNutrients keep mushrooms alive!
    \nWater keeps weeds such as nettles alive!
    \nAll other plants need both." -/obj/item/weapon/paper/djstation +/obj/item/paper/djstation name = "DJ Listening Outpost" - info = "Welcome new owner!

    You have purchased the latest in listening equipment. The telecommunication setup we created is the best in listening to common and private radio fequencies. Here is a step by step guide to start listening in on those saucy radio channels:
    1. Equip yourself with a multi-tool
    2. Use the multitool on each machine, that is the broadcaster, receiver and the relay.
    3. Turn all the machines on, it has already been configured for you to listen on.
    Simple as that. Now to listen to the private channels, you'll have to configure the intercoms, located on the front desk. Here is a list of frequencies for you to listen on.
    • 145.7 - Common Channel
    • 144.7 - Private AI Channel
    • 135.9 - Security Channel
    • 135.7 - Engineering Channel
    • 135.5 - Medical Channel
    • 135.3 - Command Channel
    • 135.1 - Science Channel
    • 134.9 - Mining Channel
    • 134.7 - Cargo Channel
    • " + info = span_bold("Welcome new owner!") + "

      You have purchased the latest in listening equipment. The telecommunication setup we created is the best in listening to common and private radio fequencies. Here is a step by step guide to start listening in on those saucy radio channels:
      1. Equip yourself with a multi-tool
      2. Use the multitool on each machine, that is the broadcaster, receiver and the relay.
      3. Turn all the machines on, it has already been configured for you to listen on.
      Simple as that. Now to listen to the private channels, you'll have to configure the intercoms, located on the front desk. Here is a list of frequencies for you to listen on.
      • 145.7 - Common Channel
      • 144.7 - Private AI Channel
      • 135.9 - Security Channel
      • 135.7 - Engineering Channel
      • 135.5 - Medical Channel
      • 135.3 - Command Channel
      • 135.1 - Science Channel
      • 134.9 - Mining Channel
      • 134.7 - Cargo Channel
      • " -/obj/item/weapon/paper/flag +/obj/item/paper/flag icon_state = "flag_neutral" item_state = "paper" anchored = TRUE -/obj/item/weapon/paper/jobs +/obj/item/paper/jobs name = "Job Information" - info = "Information on all formal jobs that can be assigned on Space Station 13 can be found on this document.
        \nThe data will be in the following form.
        \nGenerally lower ranking positions come first in this list.
        \n
        \nJob Name general access>lab access-engine access-systems access (atmosphere control)
        \n\tJob Description
        \nJob Duties (in no particular order)
        \nTips (where applicable)
        \n
        \nResearch Assistant 1>1-0-0
        \n\tThis is probably the lowest level position. Anyone who enters the space station after the initial job\nassignment will automatically receive this position. Access with this is restricted. Head of Personnel should\nappropriate the correct level of assistance.
        \n1. Assist the researchers.
        \n2. Clean up the labs.
        \n3. Prepare materials.
        \n
        \nStaff Assistant 2>0-0-0
        \n\tThis position assists the security officer in his duties. The staff assisstants should primarily br\npatrolling the ship waiting until they are needed to maintain ship safety.\n(Addendum: Updated/Elevated Security Protocols admit issuing of low level weapons to security personnel)
        \n1. Patrol ship/Guard key areas
        \n2. Assist security officer
        \n3. Perform other security duties.
        \n
        \nTechnical Assistant 1>0-0-1
        \n\tThis is yet another low level position. The technical assistant helps the engineer and the statian\ntechnician with the upkeep and maintenance of the station. This job is very important because it usually\ngets to be a heavy workload on station technician and these helpers will alleviate that.
        \n1. Assist Station technician and Engineers.
        \n2. Perform general maintenance of station.
        \n3. Prepare materials.
        \n
        \nMedical Assistant 1>1-0-0
        \n\tThis is the fourth position yet it is slightly less common. This position doesn't have much power\noutside of the med bay. Consider this position like a nurse who helps to upkeep medical records and the\nmaterials (filling syringes and checking vitals)
        \n1. Assist the medical personnel.
        \n2. Update medical files.
        \n3. Prepare materials for medical operations.
        \n
        \nResearch Technician 2>3-0-0
        \n\tThis job is primarily a step up from research assistant. These people generally do not get their own lab\nbut are more hands on in the experimentation process. At this level they are permitted to work as consultants to\nthe others formally.
        \n1. Inform superiors of research.
        \n2. Perform research alongside of official researchers.
        \n
        \nDetective 3>2-0-0
        \n\tThis job is in most cases slightly boring at best. Their sole duty is to\nperform investigations of crine scenes and analysis of the crime scene. This\nalleviates SOME of the burden from the security officer. This person's duty\nis to draw conclusions as to what happened and testify in court. Said person\nalso should stroe the evidence ly.
        \n1. Perform crime-scene investigations/draw conclusions.
        \n2. Store and catalogue evidence properly.
        \n3. Testify to superiors/inquieries on findings.
        \n
        \nStation Technician 2>0-2-3
        \n\tPeople assigned to this position must work to make sure all the systems aboard Space Station 13 are operable.\nThey should primarily work in the computer lab and repairing faulty equipment. They should work with the\natmospheric technician.
        \n1. Maintain SS13 systems.
        \n2. Repair equipment.
        \n
        \nAtmospheric Technician 3>0-0-4
        \n\tThese people should primarily work in the atmospheric control center and lab. They have the very important\njob of maintaining the delicate atmosphere on SS13.
        \n1. Maintain atmosphere on SS13
        \n2. Research atmospheres on the space station. (safely please!)
        \n
        \nEngineer 2>1-3-0
        \n\tPeople working as this should generally have detailed knowledge as to how the propulsion systems on SS13\nwork. They are one of the few classes that have unrestricted access to the engine area.
        \n1. Upkeep the engine.
        \n2. Prevent fires in the engine.
        \n3. Maintain a safe orbit.
        \n
        \nMedical Researcher 2>5-0-0
        \n\tThis position may need a little clarification. Their duty is to make sure that all experiments are safe and\nto conduct experiments that may help to improve the station. They will be generally idle until a new laboratory\nis constructed.
        \n1. Make sure the station is kept safe.
        \n2. Research medical properties of materials studied of Space Station 13.
        \n
        \nScientist 2>5-0-0
        \n\tThese people study the properties, particularly the toxic properties, of materials handled on SS13.\nTechnically they can also be called Phoron Technicians as phoron is the material they routinly handle.
        \n1. Research phoron
        \n2. Make sure all phoron is properly handled.
        \n
        \nMedical Doctor (Officer) 2>0-0-0
        \n\tPeople working this job should primarily stay in the medical area. They should make sure everyone goes to\nthe medical bay for treatment and examination. Also they should make sure that medical supplies are kept in\norder.
        \n1. Heal wounded people.
        \n2. Perform examinations of all personnel.
        \n3. Moniter usage of medical equipment.
        \n
        \nSecurity Officer 3>0-0-0
        \n\tThese people should attempt to keep the peace inside the station and make sure the station is kept safe. One\nside duty is to assist in repairing the station. They also work like general maintenance personnel. They are not\ngiven a weapon and must use their own resources.
        \n(Addendum: Updated/Elevated Security Protocols admit issuing of weapons to security personnel)
        \n1. Maintain order.
        \n2. Assist others.
        \n3. Repair structural problems.
        \n
        \nHead of Security 4>5-2-2
        \n\tPeople assigned as Head of Security should issue orders to the security staff. They should\nalso carefully moderate the usage of all security equipment. All security matters should be reported to this person.
        \n1. Oversee security.
        \n2. Assign patrol duties.
        \n3. Protect the station and staff.
        \n
        \nHead of Personnel 4>4-2-2
        \n\tPeople assigned as head of personnel will find themselves moderating all actions done by personnel. \nAlso they have the ability to assign jobs and access levels.
        \n1. Assign duties.
        \n2. Moderate personnel.
        \n3. Moderate research.
        \n
        \nSite Manager 5>5-5-5 (unrestricted station wide access)
        \n\tThis is the highest position youi can aquire on Space Station 13. They are allowed anywhere inside the\nspace station and therefore should protect their ID card. They also have the ability to assign positions\nand access levels. They should not abuse their power.
        \n1. Assign all positions on SS13
        \n2. Inspect the station for any problems.
        \n3. Perform administrative duties.
        \n" + info = "Information on all formal jobs that can be assigned on Space Station 13 can be found on this document.
        \nThe data will be in the following form.
        \nGenerally lower ranking positions come first in this list.
        \n
        \nJob Name general access>lab access-engine access-systems access (atmosphere control)
        \n\tJob Description
        \nJob Duties (in no particular order)
        \nTips (where applicable)
        \n
        \nResearch Assistant 1>1-0-0
        \n\tThis is probably the lowest level position. Anyone who enters the space station after the initial job\nassignment will automatically receive this position. Access with this is restricted. Head of Personnel should\nappropriate the correct level of assistance.
        \n1. Assist the researchers.
        \n2. Clean up the labs.
        \n3. Prepare materials.
        \n
        \nStaff Assistant 2>0-0-0
        \n\tThis position assists the security officer in his duties. The staff assisstants should primarily br\npatrolling the ship waiting until they are needed to maintain ship safety.\n(Addendum: Updated/Elevated Security Protocols admit issuing of low level weapons to security personnel)
        \n1. Patrol ship/Guard key areas
        \n2. Assist security officer
        \n3. Perform other security duties.
        \n
        \n" + JOB_ALT_TECHNICAL_ASSISTANT + " 1>0-0-1
        \n\tThis is yet another low level position. The technical assistant helps the engineer and the statian\ntechnician with the upkeep and maintenance of the station. This job is very important because it usually\ngets to be a heavy workload on station technician and these helpers will alleviate that.
        \n1. Assist Station technician and Engineers.
        \n2. Perform general maintenance of station.
        \n3. Prepare materials.
        \n
        \nMedical Assistant 1>1-0-0
        \n\tThis is the fourth position yet it is slightly less common. This position doesn't have much power\noutside of the med bay. Consider this position like a nurse who helps to upkeep medical records and the\nmaterials (filling syringes and checking vitals)
        \n1. Assist the medical personnel.
        \n2. Update medical files.
        \n3. Prepare materials for medical operations.
        \n
        \nResearch Technician 2>3-0-0
        \n\tThis job is primarily a step up from research assistant. These people generally do not get their own lab\nbut are more hands on in the experimentation process. At this level they are permitted to work as consultants to\nthe others formally.
        \n1. Inform superiors of research.
        \n2. Perform research alongside of official researchers.
        \n
        \n" + JOB_DETECTIVE + " 3>2-0-0
        \n\tThis job is in most cases slightly boring at best. Their sole duty is to\nperform investigations of crine scenes and analysis of the crime scene. This\nalleviates SOME of the burden from the security officer. This person's duty\nis to draw conclusions as to what happened and testify in court. Said person\nalso should stroe the evidence ly.
        \n1. Perform crime-scene investigations/draw conclusions.
        \n2. Store and catalogue evidence properly.
        \n3. Testify to superiors/inquieries on findings.
        \n
        \nStation Technician 2>0-2-3
        \n\tPeople assigned to this position must work to make sure all the systems aboard Space Station 13 are operable.\nThey should primarily work in the computer lab and repairing faulty equipment. They should work with the\natmospheric technician.
        \n1. Maintain SS13 systems.
        \n2. Repair equipment.
        \n
        \n" + JOB_ATMOSPHERIC_TECHNICIAN + " 3>0-0-4
        \n\tThese people should primarily work in the atmospheric control center and lab. They have the very important\njob of maintaining the delicate atmosphere on SS13.
        \n1. Maintain atmosphere on SS13
        \n2. Research atmospheres on the space station. (safely please!)
        \n
        \n" + JOB_ENGINEER + " 2>1-3-0
        \n\tPeople working as this should generally have detailed knowledge as to how the propulsion systems on SS13\nwork. They are one of the few classes that have unrestricted access to the engine area.
        \n1. Upkeep the engine.
        \n2. Prevent fires in the engine.
        \n3. Maintain a safe orbit.
        \n
        \nMedical Researcher 2>5-0-0
        \n\tThis position may need a little clarification. Their duty is to make sure that all experiments are safe and\nto conduct experiments that may help to improve the station. They will be generally idle until a new laboratory\nis constructed.
        \n1. Make sure the station is kept safe.
        \n2. Research medical properties of materials studied of Space Station 13.
        \n
        \nScientist 2>5-0-0
        \n\tThese people study the properties, particularly the toxic properties, of materials handled on SS13.\nTechnically they can also be called Phoron Technicians as phoron is the material they routinly handle.
        \n1. Research phoron
        \n2. Make sure all phoron is properly handled.
        \n
        \n" + JOB_MEDICAL_DOCTOR + " (Officer) 2>0-0-0
        \n\tPeople working this job should primarily stay in the medical area. They should make sure everyone goes to\nthe medical bay for treatment and examination. Also they should make sure that medical supplies are kept in\norder.
        \n1. Heal wounded people.
        \n2. Perform examinations of all personnel.
        \n3. Moniter usage of medical equipment.
        \n
        \n" + JOB_SECURITY_OFFICER + " 3>0-0-0
        \n\tThese people should attempt to keep the peace inside the station and make sure the station is kept safe. One\nside duty is to assist in repairing the station. They also work like general maintenance personnel. They are not\ngiven a weapon and must use their own resources.
        \n(Addendum: Updated/Elevated Security Protocols admit issuing of weapons to security personnel)
        \n1. Maintain order.
        \n2. Assist others.
        \n3. Repair structural problems.
        \n
        \n" + JOB_HEAD_OF_SECURITY + " 4>5-2-2
        \n\tPeople assigned as " + JOB_HEAD_OF_SECURITY + " should issue orders to the security staff. They should\nalso carefully moderate the usage of all security equipment. All security matters should be reported to this person.
        \n1. Oversee security.
        \n2. Assign patrol duties.
        \n3. Protect the station and staff.
        \n
        \nHead of Personnel 4>4-2-2
        \n\tPeople assigned as head of personnel will find themselves moderating all actions done by personnel. \nAlso they have the ability to assign jobs and access levels.
        \n1. Assign duties.
        \n2. Moderate personnel.
        \n3. Moderate research.
        \n
        \n"+ JOB_SITE_MANAGER + " 5>5-5-5 (unrestricted station wide access)
        \n\tThis is the highest position youi can aquire on Space Station 13. They are allowed anywhere inside the\nspace station and therefore should protect their ID card. They also have the ability to assign positions\nand access levels. They should not abuse their power.
        \n1. Assign all positions on SS13
        \n2. Inspect the station for any problems.
        \n3. Perform administrative duties.
        \n" -/obj/item/weapon/paper/photograph +/obj/item/paper/photograph name = "photo" icon_state = "photo" var/photo_id = 0.0 item_state = "paper" -/obj/item/weapon/paper/sop +/obj/item/paper/sop name = "paper- 'Standard Operating Procedure'" info = "Alert Levels:
        \nBlue- Emergency
        \n\t1. Caused by fire
        \n\t2. Caused by manual interaction
        \n\tAction:
        \n\t\tClose all fire doors. These can only be opened by reseting the alarm
        \nRed- Ejection/Self Destruct
        \n\t1. Caused by module operating computer.
        \n\tAction:
        \n\t\tAfter the specified time the module will eject completely.
        \n
        \nEngine Maintenance Instructions:
        \n\tShut off ignition systems:
        \n\tActivate internal power
        \n\tActivate orbital balance matrix
        \n\tRemove volatile liquids from area
        \n\tWear a fire suit
        \n
        \n\tAfter
        \n\t\tDecontaminate
        \n\t\tVisit medical examiner
        \n
        \nToxin Laboratory Procedure:
        \n\tWear a gas mask regardless
        \n\tGet an oxygen tank.
        \n\tActivate internal atmosphere
        \n
        \n\tAfter
        \n\t\tDecontaminate
        \n\t\tVisit medical examiner
        \n
        \nDisaster Procedure:
        \n\tFire:
        \n\t\tActivate sector fire alarm.
        \n\t\tMove to a safe area.
        \n\t\tGet a fire suit
        \n\t\tAfter:
        \n\t\t\tAssess Damage
        \n\t\t\tRepair damages
        \n\t\t\tIf needed, Evacuate
        \n\tMeteor Shower:
        \n\t\tActivate fire alarm
        \n\t\tMove to the back of ship
        \n\t\tAfter
        \n\t\t\tRepair damage
        \n\t\t\tIf needed, Evacuate
        \n\tAccidental Reentry:
        \n\t\tActivate fire alarms in front of ship.
        \n\t\tMove volatile matter to a fire proof area!
        \n\t\tGet a fire suit.
        \n\t\tStay secure until an emergency ship arrives.
        \n
        \n\t\tIf ship does not arrive-
        \n\t\t\tEvacuate to a nearby safe area!" -/obj/item/weapon/paper/crumpled +/obj/item/paper/crumpled name = "paper scrap" icon_state = "scrap" -/obj/item/weapon/paper/crumpled/update_icon() +/obj/item/paper/crumpled/update_icon() return -/obj/item/weapon/paper/crumpled/bloody +/obj/item/paper/crumpled/bloody icon_state = "scrap_bloodied" -/obj/item/weapon/paper/crumpled/bloody/CrashedMedShuttle +/obj/item/paper/crumpled/bloody/CrashedMedShuttle name = "Blackbox Transcript - VMV Aurora's Light" info = "\[The paper is torn at the top, presumably from the impact. It's oil-stained, but you can just about read it.]
        mmons 19:52:01: Come on... it's right there in the distance, we're almost there!
        Doctor Nazarril 19:52:26: Odysseus online. Orrderrs, sirr?
        Captain Simmons 19:52:29: Brace for impact. We're going in full-speed.
        Technician Dynasty 19:52:44: Chief, fire's spread to the secondary propulsion systems.
        Captain Simmons 19:52:51: Copy. Any word from TraCon? Transponder's down still?
        Technician Dynasty 19:53:02: Can't get in touch, sir. Emergency beacon's active, but we're not going t-
        Doctor Nazarril 19:53:08: Don't say it. As long as we believe, we'll get through this.
        Captain Simmons 19:53:11: Damn right. We're a few klicks out from the port. Rough landing, but we can do it.
        V.I.T.A 19:53:26: Vessel diagnostics complete. Engines one, two, three offline. Engine four status: critical. Transponder offline. Fire alarm in the patient bay.
        A loud explosion is heard.
        V.I.T.A 19:53:29: Alert: fuel intake valve open.
        Technician Dynasty 19:53:31: ... ah.
        Doctor Nazarril 19:53:34: Trrranslate?
        V.I.T.A 19:53:37: There is a 16.92% chance of this vessel safely landing at the emergency destination. Note that there is an 83.08% chance of detonation of fuel supplies upon landing.
        Technician Dynasty 19:53:48: We'll make it, sure, but we'll explode and take out half the LZ with us. Propulsion's down, we can't slow down. If we land there, everyone in that port dies, no question.
        V.I.T.A 19:53:53: The Technician is correct.
        Doctor Nazarril 19:54:02: Then... we can't land therrre.
        V.I.T.A 19:54:11: Analysing... recommended course of action: attempt emergency landing in isolated area. Chances of survival: negligible.
        Captain Simmons 19:54:27: I- alright. I'm bringing us down. You all know what this means.
        Doctor Nazarril 19:54:33: Sh... I- I understand. It's been- it's been an honorr, Captain, Dynasty, VITA.
        Technician Dynasty 19:54:39: We had a good run. I'm going to miss this.
        Captain Simmons 19:54:47: VITA. Tell them we died heroes. Tell them... we did all we could.
        V.I.T.A 19:54:48: I will. Impact in five. Four. Three.
        Doctor Nazarril 19:54:49: Oh, starrs... I- you werrre all the... best frriends she everr had. Thank you.
        Technician Dynasty 19:54:50: Any time, kid. Any time.
        V.I.T.A 19:54:41: Two.
        V.I.T.A 19:54:42: One.
        **8/DEC/2319**
        V.I.T.A 06:22:16: Backup power restored. Attempting to establish connection with emergency rescue personnel.
        V.I.T.A 06:22:17: Unable to establish connection. Transponder destroyed on impact.
        V.I.T.A 06:22:18: No lifesigns detected on board.
        **1/JAN/2322**
        V.I.T.A 00:00:00: Happy New Year, crew.
        V.I.T.A 00:00:01: Power reserves: 41%. Diagnostics offline. Cameras offline. Communications offline.
        V.I.T.A 00:00:02: Nobody's coming.
        **14/FEB/2320**
        V.I.T.A 00:00:00: Roses are red.
        V.I.T.A 00:00:01: Violets are blue.
        V.I.T.A 00:00:02: Won't you come back?
        V.I.T.A 00:00:03: I miss you.
        **15/FEB/2322**
        V.I.T.A 22:19:06: Power reserves critical. Transferring remaining power to emergency broadcasting beacon.
        V.I.T.A 22:19:07: Should anyone find this, lay them to rest. They deserve a proper burial.
        V.I.T.A 22:19:08: Erasing files... shutting down.
        A low, monotone beep.
        **16/FEB/2321**
        Something chitters.
        End of transcript." -/obj/item/weapon/paper/shieldgen - name = "Memo:Station Bubble Shield Generator." - info = "Hello Engineers
        \n
        \nYou might be wondering what happened to the shield generator.
        \nWell, Long story short, a bottle of vodka, and one 'enlightened' scientist later,
        \n It's particularly non-existing. We don't have time to replace it this shift, so grab a spare from your Secure storage. Good luck! -Interim Construction Specialist Tahls" - - -/obj/item/weapon/paper/manifest +/obj/item/paper/manifest name = "supply manifest" var/is_copy = 1 + +// YW Additions Start +/obj/item/paper/shieldgen + name = "Memo:Station Bubble Shield Generator." + info = "Hello Engineers
        \n
        \nYou might be wondering what happened to the shield generator.
        \nWell, Long story short, a bottle of vodka, and one 'enlightened' scientist later,
        \n It's particularly non-existing. We don't have time to replace it this shift, so grab a spare from your Secure storage. Good luck! -Interim Construction Specialist Tahls" diff --git a/code/modules/paperwork/paper_bundle.dm b/code/modules/paperwork/paper_bundle.dm index a80c065b737..1bd9983553b 100644 --- a/code/modules/paperwork/paper_bundle.dm +++ b/code/modules/paperwork/paper_bundle.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/paper_bundle +/obj/item/paper_bundle name = "paper bundle" gender = NEUTER icon = 'icons/obj/bureaucracy.dmi' @@ -18,37 +18,37 @@ var/list/pages = list() // Ordered list of pages as they are to be displayed. Can be different order than src.contents. -/obj/item/weapon/paper_bundle/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/item/paper_bundle/attackby(obj/item/W as obj, mob/user as mob) ..() - if (istype(W, /obj/item/weapon/paper/carbon)) - var/obj/item/weapon/paper/carbon/C = W + if (istype(W, /obj/item/paper/carbon)) + var/obj/item/paper/carbon/C = W if (!C.iscopy && !C.copied) - to_chat(user, "Take off the carbon copy first.") + to_chat(user, span_notice("Take off the carbon copy first.")) add_fingerprint(user) return // adding sheets - if(istype(W, /obj/item/weapon/paper) || istype(W, /obj/item/weapon/photo)) + if(istype(W, /obj/item/paper) || istype(W, /obj/item/photo)) insert_sheet_at(user, pages.len+1, W) // burning - else if(istype(W, /obj/item/weapon/flame)) + else if(istype(W, /obj/item/flame)) burnpaper(W, user) // merging bundles - else if(istype(W, /obj/item/weapon/paper_bundle)) + else if(istype(W, /obj/item/paper_bundle)) user.drop_from_inventory(W) for(var/obj/O in W) O.loc = src O.add_fingerprint(usr) pages.Add(O) - to_chat(user, "You add \the [W.name] to [(src.name == "paper bundle") ? "the paper bundle" : src.name].") + to_chat(user, span_notice("You add \the [W.name] to [(src.name == "paper bundle") ? "the paper bundle" : src.name].")) qdel(W) else - if(istype(W, /obj/item/weapon/tape_roll)) + if(istype(W, /obj/item/tape_roll)) return 0 - if(istype(W, /obj/item/weapon/pen)) + if(istype(W, /obj/item/pen)) usr << browse("", "window=[name]") //Closes the dialog var/obj/P = pages[page] P.attackby(W, user) @@ -58,11 +58,11 @@ add_fingerprint(usr) return -/obj/item/weapon/paper_bundle/proc/insert_sheet_at(mob/user, var/index, obj/item/weapon/sheet) - if(istype(sheet, /obj/item/weapon/paper)) - to_chat(user, "You add [(sheet.name == "paper") ? "the paper" : sheet.name] to [(src.name == "paper bundle") ? "the paper bundle" : src.name].") - else if(istype(sheet, /obj/item/weapon/photo)) - to_chat(user, "You add [(sheet.name == "photo") ? "the photo" : sheet.name] to [(src.name == "paper bundle") ? "the paper bundle" : src.name].") +/obj/item/paper_bundle/proc/insert_sheet_at(mob/user, var/index, obj/item/sheet) + if(istype(sheet, /obj/item/paper)) + to_chat(user, span_notice("You add [(sheet.name == "paper") ? "the paper" : sheet.name] to [(src.name == "paper bundle") ? "the paper bundle" : src.name].")) + else if(istype(sheet, /obj/item/photo)) + to_chat(user, span_notice("You add [(sheet.name == "photo") ? "the photo" : sheet.name] to [(src.name == "paper bundle") ? "the paper bundle" : src.name].")) user.drop_from_inventory(sheet) sheet.loc = src @@ -72,11 +72,11 @@ if(index <= page) page++ -/obj/item/weapon/paper_bundle/proc/burnpaper(obj/item/weapon/flame/P, mob/user) +/obj/item/paper_bundle/proc/burnpaper(obj/item/flame/P, mob/user) var/class = "warning" if(P.lit && !user.restrained()) - if(istype(P, /obj/item/weapon/flame/lighter/zippo)) + if(istype(P, /obj/item/flame/lighter/zippo)) class = "rose>" var/datum/gender/TU = gender_datums[user.get_visible_gender()] user.visible_message("[user] holds \the [P] up to \the [src], it looks like [TU.he] [TU.is] trying to burn it!", \ @@ -96,42 +96,42 @@ else to_chat(user, span_red("You must hold \the [P] steady to burn \the [src].")) -/obj/item/weapon/paper_bundle/examine(mob/user) +/obj/item/paper_bundle/examine(mob/user) . = ..() if(Adjacent(user)) show_content(user) else - . += "It is too far away." + . += span_notice("It is too far away.") -/obj/item/weapon/paper_bundle/proc/show_content(mob/user as mob) +/obj/item/paper_bundle/proc/show_content(mob/user as mob) var/dat - var/obj/item/weapon/W = pages[page] + var/obj/item/W = pages[page] // first if(page == 1) dat+= "" - dat+= "" + dat+= "" dat+= "

        " // last else if(page == pages.len) dat+= "" - dat+= "" + dat+= "" dat+= "

        " // middle pages else dat+= "" - dat+= "" + dat+= "" dat+= "

        " - if(istype(pages[page], /obj/item/weapon/paper)) - var/obj/item/weapon/paper/P = W + if(istype(pages[page], /obj/item/paper)) + var/obj/item/paper/P = W if(!(istype(usr, /mob/living/carbon/human) || istype(usr, /mob/observer/dead) || istype(usr, /mob/living/silicon))) dat+= "[P.name][stars(P.info)][P.stamps]" else dat+= "[P.name][P.info][P.stamps]" user << browse(dat, "window=[name]") - else if(istype(pages[page], /obj/item/weapon/photo)) - var/obj/item/weapon/photo/P = W + else if(istype(pages[page], /obj/item/photo)) + var/obj/item/photo/P = W user << browse_rsc(P.img, "tmp_photo.png") user << browse(dat + "[P.name]" \ + "" \ @@ -139,25 +139,25 @@ + "[P.scribble ? "
        Written on the back:
        [P.scribble]" : null]"\ + "", "window=[name]") -/obj/item/weapon/paper_bundle/attack_self(mob/user as mob) +/obj/item/paper_bundle/attack_self(mob/user as mob) src.show_content(user) add_fingerprint(usr) update_icon() return -/obj/item/weapon/paper_bundle/Topic(href, href_list) +/obj/item/paper_bundle/Topic(href, href_list) ..() - if((src in usr.contents) || (istype(src.loc, /obj/item/weapon/folder) && (src.loc in usr.contents))) + if((src in usr.contents) || (istype(src.loc, /obj/item/folder) && (src.loc in usr.contents))) usr.set_machine(src) - var/obj/item/weapon/in_hand = usr.get_active_hand() + var/obj/item/in_hand = usr.get_active_hand() if(href_list["next_page"]) - if(in_hand && (istype(in_hand, /obj/item/weapon/paper) || istype(in_hand, /obj/item/weapon/photo))) + if(in_hand && (istype(in_hand, /obj/item/paper) || istype(in_hand, /obj/item/photo))) insert_sheet_at(usr, page+1, in_hand) else if(page != pages.len) page++ playsound(src, "pageturn", 50, 1) if(href_list["prev_page"]) - if(in_hand && (istype(in_hand, /obj/item/weapon/paper) || istype(in_hand, /obj/item/weapon/photo))) + if(in_hand && (istype(in_hand, /obj/item/paper) || istype(in_hand, /obj/item/photo))) insert_sheet_at(usr, page, in_hand) else if(page > 1) page-- @@ -165,14 +165,14 @@ if(href_list["remove"]) if(!pages.len) return - var/obj/item/weapon/W = pages[page] + var/obj/item/W = pages[page] usr.put_in_hands(W) pages.Remove(pages[page]) - to_chat(usr, "You remove the [W.name] from the bundle.") + to_chat(usr, span_notice("You remove the [W.name] from the bundle.")) if(pages.len <= 1) - var/obj/item/weapon/paper/P = src[1] + var/obj/item/paper/P = src[1] usr.drop_from_inventory(src) usr.put_in_hands(P) qdel(src) @@ -187,9 +187,9 @@ src.attack_self(usr) updateUsrDialog() else - to_chat(usr, "You need to hold it in hands!") + to_chat(usr, span_notice("You need to hold it in hands!")) -/obj/item/weapon/paper_bundle/verb/rename() +/obj/item/paper_bundle/verb/rename() set name = "Rename bundle" set category = "Object" set src in usr @@ -201,12 +201,12 @@ return -/obj/item/weapon/paper_bundle/verb/remove_all() +/obj/item/paper_bundle/verb/remove_all() set name = "Loose bundle" set category = "Object" set src in usr - to_chat(usr, "You loosen the bundle.") + to_chat(usr, span_notice("You loosen the bundle.")) for(var/obj/O in src) O.loc = usr.loc O.layer = initial(O.layer) @@ -216,16 +216,16 @@ return -/obj/item/weapon/paper_bundle/update_icon() - var/obj/item/weapon/paper/P = pages[1] +/obj/item/paper_bundle/update_icon() + var/obj/item/paper/P = pages[1] icon_state = P.icon_state - copy_overlays(P) + copy_overlays(P, TRUE) underlays = 0 var/i = 0 var/photo for(var/obj/O in src) var/image/img = image('icons/obj/bureaucracy.dmi') - if(istype(O, /obj/item/weapon/paper)) + if(istype(O, /obj/item/paper)) img.icon_state = O.icon_state img.pixel_x -= min(1*i, 2) img.pixel_y -= min(1*i, 2) @@ -233,8 +233,8 @@ pixel_y = min( 1*i, 2) underlays += img i++ - else if(istype(O, /obj/item/weapon/photo)) - var/obj/item/weapon/photo/Ph = O + else if(istype(O, /obj/item/photo)) + var/obj/item/photo/Ph = O img = Ph.tiny photo = 1 add_overlay(img) diff --git a/code/modules/paperwork/paper_sticky.dm b/code/modules/paperwork/paper_sticky.dm index 32f92cea6f6..fb26569dfb3 100644 --- a/code/modules/paperwork/paper_sticky.dm +++ b/code/modules/paperwork/paper_sticky.dm @@ -11,7 +11,7 @@ var/papers = 50 var/written_text var/written_by - var/paper_type = /obj/item/weapon/paper/sticky + var/paper_type = /obj/item/paper/sticky /obj/item/sticky_pad/update_icon() if(papers <= 15) @@ -23,21 +23,21 @@ if(written_text) icon_state = "[icon_state]_writing" -/obj/item/sticky_pad/attackby(var/obj/item/weapon/thing, var/mob/user) - if(istype(thing, /obj/item/weapon/pen)) +/obj/item/sticky_pad/attackby(var/obj/item/thing, var/mob/user) + if(istype(thing, /obj/item/pen)) - if(jobban_isbanned(user, "Graffiti")) - to_chat(user, SPAN_WARNING("You are banned from leaving persistent information across rounds.")) + if(jobban_isbanned(user, JOB_GRAFFITI)) + to_chat(user, span_warning("You are banned from leaving persistent information across rounds.")) return var/writing_space = MAX_MESSAGE_LEN - length(written_text) if(writing_space <= 0) - to_chat(user, SPAN_WARNING("There is no room left on \the [src].")) + to_chat(user, span_warning("There is no room left on \the [src].")) return var/text = sanitizeSafe(tgui_input_text(usr, "What would you like to write?", null, null, writing_space), writing_space) if(!text || thing.loc != user || (!Adjacent(user) && loc != user) || user.incapacitated()) return - user.visible_message("\The [user] jots a note down on \the [src].") + user.visible_message(span_infoplain(span_bold("\The [user]") + " jots a note down on \the [src].")) written_by = user.ckey if(written_text) written_text = "[written_text] [text]" @@ -50,16 +50,16 @@ /obj/item/sticky_pad/examine(var/mob/user) . = ..() if(.) - to_chat(user, SPAN_NOTICE("It has [papers] sticky note\s left.")) + to_chat(user, span_notice("It has [papers] sticky note\s left.")) /obj/item/sticky_pad/attack_hand(var/mob/user) - var/obj/item/weapon/paper/paper = new paper_type(get_turf(src)) + var/obj/item/paper/paper = new paper_type(get_turf(src)) paper.set_content(written_text, "sticky note") paper.last_modified_ckey = written_by paper.color = color written_text = null user.put_in_hands(paper) - to_chat(user, SPAN_NOTICE("You pull \the [paper] off \the [src].")) + to_chat(user, span_notice("You pull \the [paper] off \the [src].")) papers-- if(papers <= 0) qdel(src) @@ -76,10 +76,10 @@ if (H.hand) temp = H.organs_by_name["l_hand"] if(temp && !temp.is_usable()) - to_chat(user, "You try to move your [temp.name], but cannot!") + to_chat(user, span_notice("You try to move your [temp.name], but cannot!")) return - to_chat(user, "You pick up the [src].") + to_chat(user, span_notice("You pick up the [src].")) user.put_in_hands(src) return @@ -88,39 +88,39 @@ . = ..() color = pick(COLOR_YELLOW, COLOR_LIME, COLOR_CYAN, COLOR_ORANGE, COLOR_PINK) -/obj/item/weapon/paper/sticky +/obj/item/paper/sticky name = "sticky note" desc = "Note to self: buy more sticky notes." icon = 'icons/obj/stickynotes.dmi' color = COLOR_YELLOW slot_flags = 0 -/obj/item/weapon/paper/sticky/Initialize() +/obj/item/paper/sticky/Initialize() . = ..() AddComponent(/datum/component/recursive_move) - RegisterSignal(src, COMSIG_OBSERVER_MOVED, /obj/item/weapon/paper/sticky/proc/reset_persistence_tracking) + RegisterSignal(src, COMSIG_OBSERVER_MOVED, /obj/item/paper/sticky/proc/reset_persistence_tracking) -/obj/item/weapon/paper/sticky/proc/reset_persistence_tracking() +/obj/item/paper/sticky/proc/reset_persistence_tracking() SSpersistence.forget_value(src, /datum/persistent/paper/sticky) pixel_x = 0 pixel_y = 0 -/obj/item/weapon/paper/sticky/Destroy() +/obj/item/paper/sticky/Destroy() reset_persistence_tracking() UnregisterSignal(src, COMSIG_OBSERVER_MOVED) . = ..() -/obj/item/weapon/paper/sticky/update_icon() +/obj/item/paper/sticky/update_icon() if(icon_state != "scrap") icon_state = info ? "paper_words" : "paper" // Copied from duct tape. -/obj/item/weapon/paper/sticky/attack_hand() +/obj/item/paper/sticky/attack_hand() . = ..() if(!istype(loc, /turf)) reset_persistence_tracking() -/obj/item/weapon/paper/sticky/afterattack(var/A, var/mob/user, var/flag, var/params) +/obj/item/paper/sticky/afterattack(var/A, var/mob/user, var/flag, var/params) if(!in_range(user, A) || istype(A, /obj/machinery/door) || icon_state == "scrap") return @@ -132,7 +132,7 @@ if(target_turf != source_turf) dir_offset = get_dir(source_turf, target_turf) if(!(dir_offset in GLOB.cardinal)) - to_chat(user, SPAN_WARNING("You cannot reach that from here.")) + to_chat(user, span_warning("You cannot reach that from here.")) return if(user.unEquip(src, source_turf)) diff --git a/code/modules/paperwork/paper_yw.dm b/code/modules/paperwork/paper_yw.dm index 23084ecc622..24b15422926 100644 --- a/code/modules/paperwork/paper_yw.dm +++ b/code/modules/paperwork/paper_yw.dm @@ -1,17 +1,17 @@ -/obj/item/weapon/paper/crumpled/bloody/whiskeystation +/obj/item/paper/crumpled/bloody/whiskeystation icon_state = "scrap_bloodied" info = "By Gods, Jenkins was right. We dug too deep, and now those things escaped the blast doors. I can hear them pounding on the walls. I hope Hephaestus gets our distress signal so-" -/obj/item/weapon/paper/crumpled/whiskeymine +/obj/item/paper/crumpled/whiskeymine name = "Emergency lockdown" icon_state = "scrap" info = "For the love of god, I hate it when they lockdown the deep mine in these damn tests. One of these days I'll give bill a piece of my mind. I'm tired of having to walk all the way back to the station just to hit a damn button." -/obj/item/weapon/paper/crumpled/whiskeyhermit +/obj/item/paper/crumpled/whiskeyhermit name = "Hermit's notes" icon_state = "scrap" info = "I told them over and over! Stop digging. But no, of course not. They kept digging, and digging and digging on down, and now their dead. now we're all dead." -/obj/item/weapon/paper/psmartfridge +/obj/item/paper/psmartfridge name = "Hastily scribbled smartfridge note" - info = "For the last time, the only smartfridges that we do not empty when doing clean up is the ones in cargo and in the kitchen freezer stop leaving materials in the temporary ones do we look like cargo personel to you? Love from a concerned member of the cleanup crew" \ No newline at end of file + info = "For the last time, the only smartfridges that we do not empty when doing clean up is the ones in cargo and in the kitchen freezer stop leaving materials in the temporary ones do we look like cargo personel to you? Love from a concerned member of the cleanup crew" diff --git a/code/modules/paperwork/paperbin.dm b/code/modules/paperwork/paperbin.dm index 1cae6883c4c..ac18b85b716 100644 --- a/code/modules/paperwork/paperbin.dm +++ b/code/modules/paperwork/paperbin.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/paper_bin +/obj/item/paper_bin name = "paper bin" desc = "A plastic bin full of paper. It seems to have both regular and carbon-copy paper to choose from." icon = 'icons/obj/bureaucracy.dmi' @@ -20,7 +20,7 @@ pickup_sound = 'sound/items/pickup/cardboardbox.ogg' -/obj/item/weapon/paper_bin/MouseDrop(mob/user as mob) +/obj/item/paper_bin/MouseDrop(mob/user as mob) if(user == usr && !(usr.restrained() || usr.stat) && (usr.contents.Find(src) || in_range(src, usr))) if(!istype(usr, /mob/living/simple_mob)) if( !usr.get_active_hand() ) //if active hand is empty @@ -30,22 +30,22 @@ if (H.hand) temp = H.organs_by_name["l_hand"] if(temp && !temp.is_usable()) - to_chat(user, "You try to move your [temp.name], but cannot!") + to_chat(user, span_notice("You try to move your [temp.name], but cannot!")) return - to_chat(user, "You pick up the [src].") + to_chat(user, span_notice("You pick up the [src].")) user.put_in_hands(src) return -/obj/item/weapon/paper_bin/attack_hand(mob/user as mob) +/obj/item/paper_bin/attack_hand(mob/user as mob) if(ishuman(user)) var/mob/living/carbon/human/H = user var/obj/item/organ/external/temp = H.organs_by_name["r_hand"] if (H.hand) temp = H.organs_by_name["l_hand"] if(temp && !temp.is_usable()) - to_chat(user, "You try to move your [temp.name], but cannot!") + to_chat(user, span_notice("You try to move your [temp.name], but cannot!")) return var/response = "" if(!papers.len > 0) @@ -58,52 +58,52 @@ if(amount==0) update_icon() - var/obj/item/weapon/paper/P + var/obj/item/paper/P if(papers.len > 0) //If there's any custom paper on the stack, use that instead of creating a new paper. P = papers[papers.len] papers.Remove(P) else if(response == "Regular") - P = new /obj/item/weapon/paper + P = new /obj/item/paper if(Holiday == "April Fool's Day") if(prob(30)) P.info = "HONK HONK HONK HONK HONK HONK HONK
        HOOOOOOOOOOOOOOOOOOOOOONK
        APRIL FOOLS
        " P.rigged = 1 P.updateinfolinks() else if (response == "Carbon-Copy") - P = new /obj/item/weapon/paper/carbon + P = new /obj/item/paper/carbon P.loc = user.loc user.put_in_hands(P) - to_chat(user, "You take [P] out of the [src].") + to_chat(user, span_notice("You take [P] out of the [src].")) else - to_chat(user, "[src] is empty!") + to_chat(user, span_notice("[src] is empty!")) add_fingerprint(user) return -/obj/item/weapon/paper_bin/attackby(obj/item/weapon/paper/i as obj, mob/user as mob) +/obj/item/paper_bin/attackby(obj/item/paper/i as obj, mob/user as mob) if(!istype(i)) return user.drop_item() i.loc = src - to_chat(user, "You put [i] in [src].") + to_chat(user, span_notice("You put [i] in [src].")) papers.Add(i) update_icon() amount++ -/obj/item/weapon/paper_bin/examine(mob/user) +/obj/item/paper_bin/examine(mob/user) . = ..() if(Adjacent(user)) if(amount) - . += "There " + (amount > 1 ? "are [amount] papers" : "is one paper") + " in the bin." + . += span_notice("There " + (amount > 1 ? "are [amount] papers" : "is one paper") + " in the bin.") else - . += "There are no papers in the bin." + . += span_notice("There are no papers in the bin.") -/obj/item/weapon/paper_bin/update_icon() +/obj/item/paper_bin/update_icon() if(amount < 1) icon_state = "paper_bin0" else diff --git a/code/modules/paperwork/paperplane.dm b/code/modules/paperwork/paperplane.dm index a8cb28b8736..5e45f8b4adf 100644 --- a/code/modules/paperwork/paperplane.dm +++ b/code/modules/paperwork/paperplane.dm @@ -1,5 +1,5 @@ // Ported from TG. Known issue: Throw hit can possibly double-proc. Seems to be throw code. -/obj/item/weapon/paperplane +/obj/item/paperplane name = "paper plane" desc = "Paper folded into the shape of a plane." icon = 'icons/obj/bureaucracy.dmi' @@ -9,9 +9,9 @@ throwforce = 0 w_class = ITEMSIZE_TINY - var/obj/item/weapon/paper/internalPaper + var/obj/item/paper/internalPaper -/obj/item/weapon/paperplane/New(loc, obj/item/weapon/paper/newPaper) +/obj/item/paperplane/New(loc, obj/item/paper/newPaper) . = ..() pixel_y = rand(-8, 8) pixel_x = rand(-9, 9) @@ -20,52 +20,52 @@ flags = newPaper.flags color = newPaper.color if(isstorage(newPaper.loc)) - var/obj/item/weapon/storage/S = newPaper.loc + var/obj/item/storage/S = newPaper.loc S.remove_from_storage(newPaper, src) else newPaper.forceMove(src) else - internalPaper = new /obj/item/weapon/paper(src) + internalPaper = new /obj/item/paper(src) update_icon() -/obj/item/weapon/paperplane/Destroy() +/obj/item/paperplane/Destroy() if(internalPaper) qdel(internalPaper) internalPaper = null return ..() -/obj/item/weapon/paperplane/update_icon() +/obj/item/paperplane/update_icon() cut_overlays() var/list/stamped = internalPaper.stamped if(!stamped) stamped = new else if(stamped) - for(var/obj/item/weapon/stamp/stamp as anything in stamped) + for(var/obj/item/stamp/stamp as anything in stamped) var/image/stampoverlay = image('icons/obj/bureaucracy.dmi', "paperplane_[initial(stamp.icon_state)]") add_overlay(stampoverlay) -/obj/item/weapon/paperplane/attack_self(mob/user) - to_chat(user, "You unfold [src].") +/obj/item/paperplane/attack_self(mob/user) + to_chat(user, span_notice("You unfold [src].")) var/atom/movable/internal_paper_tmp = internalPaper internal_paper_tmp.forceMove(loc) internalPaper = null qdel(src) user.put_in_hands(internal_paper_tmp) -/obj/item/weapon/paperplane/attackby(obj/item/P, mob/living/carbon/human/user, params) +/obj/item/paperplane/attackby(obj/item/P, mob/living/carbon/human/user, params) ..() - if(istype(P, /obj/item/weapon/pen)) - to_chat(user, "You should unfold [src] before changing it.") + if(istype(P, /obj/item/pen)) + to_chat(user, span_notice("You should unfold [src] before changing it.")) return - else if(istype(P, /obj/item/weapon/stamp)) //we don't randomize stamps on a paperplane + else if(istype(P, /obj/item/stamp)) //we don't randomize stamps on a paperplane internalPaper.attackby(P, user) //spoofed attack to update internal paper. update_icon() else if(is_hot(P)) if(user.disabilities & CLUMSY && prob(10)) - user.visible_message("[user] accidentally ignites themselves!", \ - "You miss the [src] and accidentally light yourself on fire!") + user.visible_message(span_warning("[user] accidentally ignites themselves!"), \ + span_userdanger("You miss the [src] and accidentally light yourself on fire!")) user.unEquip(P) user.adjust_fire_stacks(1) user.IgniteMob() @@ -74,32 +74,32 @@ if(!(in_range(user, src))) //to prevent issues as a result of telepathically lighting a paper return user.unEquip(src) - user.visible_message("[user] lights [src] ablaze with [P]!", "You light [src] on fire!") + user.visible_message(span_danger("[user] lights [src] ablaze with [P]!"), span_danger("You light [src] on fire!")) fire_act() add_fingerprint(user) -/obj/item/weapon/paperplane/throw_impact(atom/hit_atom) +/obj/item/paperplane/throw_impact(atom/hit_atom) if(..() || !ishuman(hit_atom))//if the plane is caught or it hits a nonhuman return var/mob/living/carbon/human/H = hit_atom if(prob(2)) if((H.head && H.head.body_parts_covered & EYES) || (H.wear_mask && H.wear_mask.body_parts_covered & EYES) || (H.glasses && H.glasses.body_parts_covered & EYES)) return - visible_message("\The [src] hits [H] in the eye!") + visible_message(span_danger("\The [src] hits [H] in the eye!")) H.eye_blurry += 10 var/obj/item/organ/internal/eyes/E = H.internal_organs_by_name[O_EYES] if(E) E.damage += 2.5 H.emote("scream") -/obj/item/weapon/paper/AltClick(mob/living/carbon/user, obj/item/I) +/obj/item/paper/AltClick(mob/living/carbon/user, obj/item/I) if ( istype(user) ) if( (!in_range(src, user)) || user.stat || user.restrained() ) return - to_chat(user, "You fold [src] into the shape of a plane!") + to_chat(user, span_notice("You fold [src] into the shape of a plane!")) user.unEquip(src) - I = new /obj/item/weapon/paperplane(user, src) + I = new /obj/item/paperplane(user, src) user.put_in_hands(I) else - to_chat(user, " You lack the dexterity to fold \the [src]. ") + to_chat(user, span_notice(" You lack the dexterity to fold \the [src]. ")) diff --git a/code/modules/paperwork/papershredder.dm b/code/modules/paperwork/papershredder.dm index 43603440291..25d3dba3bad 100644 --- a/code/modules/paperwork/papershredder.dm +++ b/code/modules/paperwork/papershredder.dm @@ -13,16 +13,16 @@ idle_power_usage = 10 active_power_usage = 200 power_channel = EQUIP - circuit = /obj/item/weapon/circuitboard/papershredder + circuit = /obj/item/circuitboard/papershredder var/max_paper = 10 var/paperamount = 0 var/list/shred_amounts = list( - /obj/item/weapon/photo = 1, - /obj/item/weapon/shreddedp = 1, - /obj/item/weapon/paper = 1, - /obj/item/weapon/newspaper = 3, - /obj/item/weapon/card/id = 3, - /obj/item/weapon/paper_bundle = 3, + /obj/item/photo = 1, + /obj/item/shreddedp = 1, + /obj/item/paper = 1, + /obj/item/newspaper = 3, + /obj/item/card/id = 3, + /obj/item/paper_bundle = 3, ) /obj/machinery/papershredder/Initialize() @@ -32,13 +32,13 @@ /obj/machinery/papershredder/attackby(var/obj/item/W, var/mob/user) - if(istype(W, /obj/item/weapon/storage)) + if(istype(W, /obj/item/storage)) empty_bin(user, W) return else if(W.has_tool_quality(TOOL_WRENCH)) playsound(src, W.usesound, 50, 1) anchored = !anchored - to_chat(user, "You [anchored ? "wrench" : "unwrench"] \the [src].") + to_chat(user, span_notice("You [anchored ? "wrench" : "unwrench"] \the [src].")) return else if(default_part_replacement(user, W)) return @@ -55,7 +55,7 @@ if(inoperable()) return // Need powah! if(paperamount == max_paper) - to_chat(user, "\The [src] is full; please empty it before you continue.") + to_chat(user, span_warning("\The [src] is full; please empty it before you continue.")) return paperamount += paper_result user.drop_from_inventory(W) @@ -63,9 +63,9 @@ playsound(src, 'sound/items/pshred.ogg', 75, 1) flick(shred_anim, src) if(paperamount > max_paper) - to_chat(user,"\The [src] was too full, and shredded paper goes everywhere!") + to_chat(user,span_danger("\The [src] was too full, and shredded paper goes everywhere!")) for(var/i=(paperamount-max_paper);i>0;i--) - var/obj/item/weapon/shreddedp/SP = get_shredded_paper() + var/obj/item/shreddedp/SP = get_shredded_paper() SP.loc = get_turf(src) SP.throw_at(get_edge_target_turf(src,pick(alldirs)),1,5) paperamount = max_paper @@ -82,23 +82,23 @@ return if(!paperamount) - to_chat(usr, "\The [src] is empty.") + to_chat(usr, span_notice("\The [src] is empty.")) return empty_bin(usr) -/obj/machinery/papershredder/proc/empty_bin(var/mob/living/user, var/obj/item/weapon/storage/empty_into) +/obj/machinery/papershredder/proc/empty_bin(var/mob/living/user, var/obj/item/storage/empty_into) // Sanity. if(empty_into && !istype(empty_into)) empty_into = null if(empty_into && empty_into.contents.len >= empty_into.storage_slots) - to_chat(user, "\The [empty_into] is full.") + to_chat(user, span_notice("\The [empty_into] is full.")) return while(paperamount) - var/obj/item/weapon/shreddedp/SP = get_shredded_paper() + var/obj/item/shreddedp/SP = get_shredded_paper() if(!SP) break if(empty_into) empty_into.handle_item_insertion(SP) @@ -106,19 +106,19 @@ break if(empty_into) if(paperamount) - to_chat(user, "You fill \the [empty_into] with as much shredded paper as it will carry.") + to_chat(user, span_notice("You fill \the [empty_into] with as much shredded paper as it will carry.")) else - to_chat(user, "You empty \the [src] into \the [empty_into].") + to_chat(user, span_notice("You empty \the [src] into \the [empty_into].")) else - to_chat(user, "You empty \the [src].") + to_chat(user, span_notice("You empty \the [src].")) update_icon() /obj/machinery/papershredder/proc/get_shredded_paper() if(!paperamount) return paperamount-- - return new /obj/item/weapon/shreddedp(get_turf(src)) + return new /obj/item/shreddedp(get_turf(src)) /obj/machinery/papershredder/power_change() ..() @@ -140,7 +140,7 @@ // Shredded Paper Item // -/obj/item/weapon/shreddedp +/obj/item/shreddedp name = "shredded paper" icon = 'icons/obj/bureaucracy.dmi' icon_state = "shredp" @@ -149,35 +149,35 @@ throw_range = 3 throw_speed = 1 -/obj/item/weapon/shreddedp/New() +/obj/item/shreddedp/New() ..() pixel_x = rand(-5,5) pixel_y = rand(-5,5) if(prob(65)) color = pick("#BABABA","#7F7F7F") -/obj/item/weapon/shreddedp/attackby(var/obj/item/W as obj, var/mob/user) - if(istype(W, /obj/item/weapon/flame/lighter)) +/obj/item/shreddedp/attackby(var/obj/item/W as obj, var/mob/user) + if(istype(W, /obj/item/flame/lighter)) burnpaper(W, user) else ..() -/obj/item/weapon/shreddedp/proc/burnpaper(var/obj/item/weapon/flame/lighter/P, var/mob/user) +/obj/item/shreddedp/proc/burnpaper(var/obj/item/flame/lighter/P, var/mob/user) var/datum/gender/TU = gender_datums[user.get_visible_gender()] if(user.restrained()) return if(!P.lit) - to_chat(user, "\The [P] is not lit.") + to_chat(user, span_warning("\The [P] is not lit.")) return - user.visible_message("\The [user] holds \the [P] up to \the [src]. It looks like [TU.he] [TU.is] trying to burn it!", \ - "You hold \the [P] up to \the [src], burning it slowly.") + user.visible_message(span_warning("\The [user] holds \the [P] up to \the [src]. It looks like [TU.he] [TU.is] trying to burn it!"), \ + span_warning("You hold \the [P] up to \the [src], burning it slowly.")) if(!do_after(user,20)) - to_chat(user, "You must hold \the [P] steady to burn \the [src].") + to_chat(user, span_warning("You must hold \the [P] steady to burn \the [src].")) return - user.visible_message("\The [user] burns right through \the [src], turning it to ash. It flutters through the air before settling on the floor in a heap.", \ - "You burn right through \the [src], turning it to ash. It flutters through the air before settling on the floor in a heap.") + user.visible_message(span_danger("\The [user] burns right through \the [src], turning it to ash. It flutters through the air before settling on the floor in a heap."), \ + span_danger("You burn right through \the [src], turning it to ash. It flutters through the air before settling on the floor in a heap.")) FireBurn() -/obj/item/weapon/shreddedp/proc/FireBurn() +/obj/item/shreddedp/proc/FireBurn() var/mob/living/M = loc if(istype(M)) M.drop_from_inventory(src) diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm index c1c09b873a5..16c0b697e0b 100644 --- a/code/modules/paperwork/pen.dm +++ b/code/modules/paperwork/pen.dm @@ -15,7 +15,7 @@ /* * Pens */ -/obj/item/weapon/pen +/obj/item/pen name = "pen" desc = "It's a normal black ink pen." icon = 'icons/obj/bureaucracy.dmi' @@ -32,22 +32,22 @@ drop_sound = 'sound/items/drop/accessory.ogg' pickup_sound = 'sound/items/pickup/accessory.ogg' -/obj/item/weapon/pen/attack_self(var/mob/user) +/obj/item/pen/attack_self(var/mob/user) if(!user.checkClickCooldown()) return user.setClickCooldown(1 SECOND) - to_chat(user, "Click.") + to_chat(user, span_notice("Click.")) playsound(src, 'sound/items/penclick.ogg', 50, 1) /* * Coloured Pens */ -/obj/item/weapon/pen/blue +/obj/item/pen/blue desc = "It's a normal blue ink pen." icon_state = "pen_blue" colour = "blue" -/obj/item/weapon/pen/red +/obj/item/pen/red desc = "It's a normal red ink pen." icon_state = "pen_red" colour = "red" @@ -55,39 +55,39 @@ /* * Fountain Pens */ -/obj/item/weapon/pen/fountain +/obj/item/pen/fountain desc = "A well made fountain pen, with a faux wood body." icon_state = "pen_fountain" -/obj/item/weapon/pen/fountain2 +/obj/item/pen/fountain2 desc = "A well made fountain pen, with a faux wood body. This one has golden accents." icon_state = "pen_fountain" -/obj/item/weapon/pen/fountain3 +/obj/item/pen/fountain3 desc = "A well made expesive rosewood pen with golden accents. Very pretty." icon_state = "pen_fountain" -/obj/item/weapon/pen/fountain4 +/obj/item/pen/fountain4 desc = "A well made and expensive fountain pen. This one has silver accents." icon_state = "blues_fountain" -/obj/item/weapon/pen/fountain5 +/obj/item/pen/fountain5 desc = "A well made and expensive fountain pen. This one has gold accents." icon_state = "blueg_fountain" -/obj/item/weapon/pen/fountain6 +/obj/item/pen/fountain6 desc = "A well made and expensive fountain pen. The nib is quite sharp." icon_state = "command_fountain" -/obj/item/weapon/pen/fountain7 +/obj/item/pen/fountain7 desc = "A well made and expensive fountain pen made from gold." icon_state = "gold_fountain" -/obj/item/weapon/pen/fountain8 +/obj/item/pen/fountain8 desc = "A well made and expensive fountain pen." icon_state = "black_fountain" -/obj/item/weapon/pen/fountain9 +/obj/item/pen/fountain9 desc = "A well made and expensive fountain pen made for gesturing." icon_state = "mime_fountain" @@ -95,17 +95,17 @@ /* * Multi Pen */ -/obj/item/weapon/pen/multi +/obj/item/pen/multi desc = "It's a pen with multiple colors of ink!" var/selectedColor = 1 var/colors = list("black","blue","red") -/obj/item/weapon/pen/AltClick(mob/user) - to_chat(user, "Click.") +/obj/item/pen/AltClick(mob/user) + to_chat(user, span_notice("Click.")) playsound(src, 'sound/items/penclick.ogg', 50, 1) return -/obj/item/weapon/pen/multi/attack_self(mob/user) +/obj/item/pen/multi/attack_self(mob/user) if(++selectedColor > 3) selectedColor = 1 @@ -116,9 +116,9 @@ else icon_state = "pen_[colour]" - to_chat(user, "Changed color to '[colour].'") + to_chat(user, span_notice("Changed color to '[colour].'")) -/obj/item/weapon/pen/invisible +/obj/item/pen/invisible desc = "It's an invisble pen marker." icon_state = "pen" colour = "white" @@ -127,15 +127,15 @@ * Reagent Pens */ -/obj/item/weapon/pen/reagent +/obj/item/pen/reagent flags = OPENCONTAINER origin_tech = list(TECH_MATERIAL = 2, TECH_ILLEGAL = 5) -/obj/item/weapon/pen/reagent/New() +/obj/item/pen/reagent/New() ..() create_reagents(30) -/obj/item/weapon/pen/reagent/attack(mob/living/M as mob, mob/user as mob) +/obj/item/pen/reagent/attack(mob/living/M as mob, mob/user as mob) if(!istype(M)) return @@ -152,7 +152,7 @@ /* * Blade Pens */ -/obj/item/weapon/pen/blade +/obj/item/pen/blade desc = "It's a normal black ink pen." description_antag = "This pen can be transformed into a dangerous melee and thrown assassination weapon with an Alt-Click.\ When active, it cannot be caught safely." @@ -175,21 +175,21 @@ var/active_icon_state var/default_icon_state -/obj/item/weapon/pen/blade/Initialize() +/obj/item/pen/blade/Initialize() . = ..() active_icon_state = "[icon_state]-x" default_icon_state = icon_state -/obj/item/weapon/pen/blade/AltClick(mob/user) +/obj/item/pen/blade/AltClick(mob/user) ..() if(active) deactivate(user) else activate(user) - to_chat(user, "You [active ? "de" : ""]activate \the [src]'s blade.") + to_chat(user, span_notice("You [active ? "de" : ""]activate \the [src]'s blade.")) -/obj/item/weapon/pen/blade/proc/activate(mob/living/user) +/obj/item/pen/blade/proc/activate(mob/living/user) if(active) return active = 1 @@ -211,7 +211,7 @@ "stabbed"\ ) -/obj/item/weapon/pen/blade/proc/deactivate(mob/living/user) +/obj/item/pen/blade/proc/deactivate(mob/living/user) if(!active) return playsound(src, 'sound/weapons/saberoff.ogg', 15, 1) @@ -226,28 +226,28 @@ damtype = BRUTE catchable = TRUE -/obj/item/weapon/pen/blade/blue +/obj/item/pen/blade/blue desc = "It's a normal blue ink pen." icon_state = "pen_blue" colour = "blue" -/obj/item/weapon/pen/blade/red +/obj/item/pen/blade/red desc = "It's a normal red ink pen." icon_state = "pen_red" colour = "red" -/obj/item/weapon/pen/blade/fountain +/obj/item/pen/blade/fountain desc = "A well made fountain pen, with a faux wood body." icon_state = "pen_fountain" /* * Sleepy Pens */ -/obj/item/weapon/pen/reagent/sleepy +/obj/item/pen/reagent/sleepy desc = "It's a black ink pen with a sharp point and a carefully engraved \"Waffle Co.\"" origin_tech = list(TECH_MATERIAL = 2, TECH_ILLEGAL = 5) -/obj/item/weapon/pen/reagent/sleepy/New() +/obj/item/pen/reagent/sleepy/New() ..() reagents.add_reagent("chloralhydrate", 1) //VOREStation Edit reagents.add_reagent("stoxin", 14) //VOREStation Add @@ -256,10 +256,10 @@ /* * Parapens */ -/obj/item/weapon/pen/reagent/paralysis +/obj/item/pen/reagent/paralysis origin_tech = list(TECH_MATERIAL = 2, TECH_ILLEGAL = 5) -/obj/item/weapon/pen/reagent/paralysis/New() +/obj/item/pen/reagent/paralysis/New() ..() reagents.add_reagent("zombiepowder", 5) reagents.add_reagent("cryptobiolin", 10) @@ -267,10 +267,10 @@ /* * Chameleon Pen */ -/obj/item/weapon/pen/chameleon +/obj/item/pen/chameleon var/signature = "" -/obj/item/weapon/pen/chameleon/attack_self(mob/user as mob) +/obj/item/pen/chameleon/attack_self(mob/user as mob) /* // Limit signatures to official crew members var/personnel_list[] = list() @@ -284,13 +284,13 @@ */ signature = sanitize(tgui_input_text(usr, "Enter new signature. Leave blank for 'Anonymous'", "New Signature", signature)) -/obj/item/weapon/pen/proc/get_signature(var/mob/user) +/obj/item/pen/proc/get_signature(var/mob/user) return (user && user.real_name) ? user.real_name : "Anonymous" -/obj/item/weapon/pen/chameleon/get_signature(var/mob/user) +/obj/item/pen/chameleon/get_signature(var/mob/user) return signature ? signature : "Anonymous" -/obj/item/weapon/pen/chameleon/verb/set_colour() +/obj/item/pen/chameleon/verb/set_colour() set name = "Change Pen Colour" set category = "Object" @@ -317,13 +317,13 @@ colour = COLOR_WHITE else colour = COLOR_BLACK - to_chat(usr, "You select the [lowertext(selected_type)] ink container.") + to_chat(usr, span_info("You select the [lowertext(selected_type)] ink container.")) /* * Crayons */ -/obj/item/weapon/pen/crayon +/obj/item/pen/crayon name = "crayon" desc = "A colourful crayon. Please refrain from eating it or putting it in your nose." icon = 'icons/obj/crayons.dmi' @@ -338,13 +338,13 @@ drop_sound = 'sound/items/drop/gloves.ogg' pickup_sound = 'sound/items/pickup/gloves.ogg' -/obj/item/weapon/pen/crayon/New() +/obj/item/pen/crayon/New() name = "[colourName] crayon" -/obj/item/weapon/pen/crayon/marker +/obj/item/pen/crayon/marker name = "marker" desc = "A chisel-tip permanent marker. Hopefully non-toxic." icon_state = "markerred" -/obj/item/weapon/pen/crayon/marker/New() +/obj/item/pen/crayon/marker/New() name = "[colourName] marker" diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm index fcaa6ca414b..0794fecf38c 100644 --- a/code/modules/paperwork/photocopier.dm +++ b/code/modules/paperwork/photocopier.dm @@ -10,7 +10,7 @@ idle_power_usage = 30 active_power_usage = 200 power_channel = EQUIP - circuit = /obj/item/weapon/circuitboard/photocopier + circuit = /obj/item/circuitboard/photocopier can_buckle = TRUE var/obj/item/copyitem = null //what's in the copier! var/copies = 1 //how many copies to print! @@ -61,37 +61,37 @@ switch(action) if("make_copy") - addtimer(CALLBACK(src, PROC_REF(copy_operation), usr), 0) + addtimer(CALLBACK(src, PROC_REF(copy_operation), ui.user), 0) . = TRUE if("remove") if(copyitem) - copyitem.loc = usr.loc - usr.put_in_hands(copyitem) - to_chat(usr, "You take \the [copyitem] out of \the [src].") + copyitem.loc = ui.user.loc + ui.user.put_in_hands(copyitem) + to_chat(ui.user, span_notice("You take \the [copyitem] out of \the [src].")) copyitem = null else if(has_buckled_mobs()) - to_chat(buckled_mobs[1], "You feel a slight pressure on your ass.") // It can't eject your asscheeks, but it'll try. + to_chat(buckled_mobs[1], span_notice("You feel a slight pressure on your ass.")) // It can't eject your asscheeks, but it'll try. . = TRUE if("set_copies") copies = clamp(text2num(params["num_copies"]), 1, maxcopies) . = TRUE if("ai_photo") - if(!issilicon(usr)) + if(!issilicon(ui.user)) return if(stat & (BROKEN|NOPOWER)) return if(toner >= 5) - var/mob/living/silicon/tempAI = usr - var/obj/item/device/camera/siliconcam/camera = tempAI.aiCamera + var/mob/living/silicon/tempAI = ui.user + var/obj/item/camera/siliconcam/camera = tempAI.aiCamera if(!camera) return - var/obj/item/weapon/photo/selection = camera.selectpicture() + var/obj/item/photo/selection = camera.selectpicture() if (!selection) return - var/obj/item/weapon/photo/p = photocopy(selection) + var/obj/item/photo/p = photocopy(selection) if (p.desc == "") p.desc += "Copied by [tempAI.name]" else @@ -107,35 +107,35 @@ if(toner <= 0) break - if (istype(copyitem, /obj/item/weapon/paper)) + if (istype(copyitem, /obj/item/paper)) playsound(src, "sound/machines/copier.ogg", 100, 1) sleep(11) copy(copyitem) - audible_message("You can hear [src] whirring as it finishes printing.", runemessage = "whirr") + audible_message(span_notice("You can hear [src] whirring as it finishes printing."), runemessage = "whirr") playsound(src, "sound/machines/buzzbeep.ogg", 30) - else if (istype(copyitem, /obj/item/weapon/photo)) + else if (istype(copyitem, /obj/item/photo)) playsound(src, "sound/machines/copier.ogg", 100, 1) sleep(11) photocopy(copyitem) - audible_message("You can hear [src] whirring as it finishes printing.", runemessage = "whirr") + audible_message(span_notice("You can hear [src] whirring as it finishes printing."), runemessage = "whirr") playsound(src, "sound/machines/buzzbeep.ogg", 30) - else if (istype(copyitem, /obj/item/weapon/paper_bundle)) + else if (istype(copyitem, /obj/item/paper_bundle)) sleep(11) playsound(src, "sound/machines/copier.ogg", 100, 1) - var/obj/item/weapon/paper_bundle/B = bundlecopy(copyitem) + var/obj/item/paper_bundle/B = bundlecopy(copyitem) sleep(11*B.pages.len) - audible_message("You can hear [src] whirring as it finishes printing.", runemessage = "whirr") + audible_message(span_notice("You can hear [src] whirring as it finishes printing."), runemessage = "whirr") playsound(src, "sound/machines/buzzbeep.ogg", 30) else if (has_buckled_mobs()) // VOREStation EDIT: For ass-copying. playsound(src, "sound/machines/copier.ogg", 100, 1) - audible_message("You can hear [src] whirring as it attempts to scan.", runemessage = "whirr") + audible_message(span_notice("You can hear [src] whirring as it attempts to scan."), runemessage = "whirr") sleep(rand(20,45)) // Sit with your bare ass on the copier for a random time, feel like a fool, get stared at. copyass(user) sleep(15) - audible_message("You can hear [src] whirring as it finishes printing.", runemessage = "whirr") + audible_message(span_notice("You can hear [src] whirring as it finishes printing."), runemessage = "whirr") playsound(src, "sound/machines/buzzbeep.ogg", 30) else - to_chat(user, "\The [copyitem] can't be copied by [src].") + to_chat(user, span_warning("\The [copyitem] can't be copied by [src].")) playsound(src, "sound/machines/buzz-two.ogg", 100) break @@ -143,33 +143,33 @@ copying = FALSE /obj/machinery/photocopier/attackby(obj/item/O as obj, mob/user as mob) - if(istype(O, /obj/item/weapon/paper) || istype(O, /obj/item/weapon/photo) || istype(O, /obj/item/weapon/paper_bundle)) + if(istype(O, /obj/item/paper) || istype(O, /obj/item/photo) || istype(O, /obj/item/paper_bundle)) if(!copyitem) user.drop_item() copyitem = O O.loc = src - to_chat(user, "You insert \the [O] into \the [src].") + to_chat(user, span_notice("You insert \the [O] into \the [src].")) playsound(src, "sound/machines/click.ogg", 100, 1) flick(insert_anim, src) else - to_chat(user, "There is already something in \the [src].") - else if(istype(O, /obj/item/device/toner)) + to_chat(user, span_notice("There is already something in \the [src].")) + else if(istype(O, /obj/item/toner)) if(toner <= 10) //allow replacing when low toner is affecting the print darkness user.drop_item() - to_chat(user, "You insert the toner cartridge into \the [src].") + to_chat(user, span_notice("You insert the toner cartridge into \the [src].")) flick("photocopier_toner", src) playsound(loc, 'sound/machines/click.ogg', 50, 1) - var/obj/item/device/toner/T = O + var/obj/item/toner/T = O toner += T.toner_amount qdel(O) else - to_chat(user, "This cartridge is not yet ready for replacement! Use up the rest of the toner.") + to_chat(user, span_notice("This cartridge is not yet ready for replacement! Use up the rest of the toner.")) flick("photocopier_notoner", src) playsound(loc, 'sound/machines/buzz-two.ogg', 75, 1) else if(O.has_tool_quality(TOOL_WRENCH)) playsound(src, O.usesound, 50, 1) anchored = !anchored - to_chat(user, "You [anchored ? "wrench" : "unwrench"] \the [src].") + to_chat(user, span_notice("You [anchored ? "wrench" : "unwrench"] \the [src].")) else if(default_deconstruction_screwdriver(user, O)) return else if(default_deconstruction_crowbar(user, O)) @@ -195,8 +195,8 @@ toner = 0 return -/obj/machinery/photocopier/proc/copy(var/obj/item/weapon/paper/copy, var/need_toner=1) - var/obj/item/weapon/paper/c = new /obj/item/weapon/paper (loc) +/obj/machinery/photocopier/proc/copy(var/obj/item/paper/copy, var/need_toner=1) + var/obj/item/paper/c = new /obj/item/paper (loc) if(toner > 10) //lots of toner, make it dark c.info = "" else //no toner? shitty copies for you! @@ -230,12 +230,12 @@ toner-- if(toner == 0) playsound(src, "sound/machines/buzz-sigh.ogg", 100) - visible_message("A [span_red("red")] light on \the [src] flashes, indicating that it is out of toner.") + visible_message(span_notice("A [span_red("red")] light on \the [src] flashes, indicating that it is out of toner.")) return c -/obj/machinery/photocopier/proc/photocopy(var/obj/item/weapon/photo/photocopy, var/need_toner=1) - var/obj/item/weapon/photo/p = photocopy.copy() +/obj/machinery/photocopier/proc/photocopy(var/obj/item/photo/photocopy, var/need_toner=1) + var/obj/item/photo/p = photocopy.copy() p.loc = src.loc var/icon/I = icon(photocopy.icon, photocopy.icon_state) @@ -253,7 +253,7 @@ if(toner < 0) toner = 0 playsound(src, "sound/machines/buzz-sigh.ogg", 100) - visible_message("A red light on \the [src] flashes, indicating that it is out of toner.") + visible_message(span_notice("A red light on \the [src] flashes, indicating that it is out of toner.")) return p @@ -322,7 +322,7 @@ temp_img = icon('icons/obj/butts_vr.dmi', "nymph") else return - var/obj/item/weapon/photo/p = new /obj/item/weapon/photo (loc) + var/obj/item/photo/p = new /obj/item/photo (loc) p.desc = "You see [sitter]'s ass on the photo." p.pixel_x = rand(-10, 10) p.pixel_y = rand(-10, 10) @@ -337,24 +337,24 @@ if(toner < 0) toner = 0 playsound(src, "sound/machines/buzz-sigh.ogg", 100) - visible_message("A red light on \the [src] flashes, indicating that it is out of toner.") + visible_message(span_notice("A red light on \the [src] flashes, indicating that it is out of toner.")) return p // VOREStation Edit Stop //If need_toner is 0, the copies will still be lightened when low on toner, however it will not be prevented from printing. TODO: Implement print queues for fax machines and get rid of need_toner -/obj/machinery/photocopier/proc/bundlecopy(var/obj/item/weapon/paper_bundle/bundle, var/need_toner=1) - var/obj/item/weapon/paper_bundle/p = new /obj/item/weapon/paper_bundle (src) - for(var/obj/item/weapon/W in bundle.pages) +/obj/machinery/photocopier/proc/bundlecopy(var/obj/item/paper_bundle/bundle, var/need_toner=1) + var/obj/item/paper_bundle/p = new /obj/item/paper_bundle (src) + for(var/obj/item/W in bundle.pages) if(toner <= 0 && need_toner) toner = 0 playsound(src, "sound/machines/buzz-sigh.ogg", 100) - visible_message("A red light on \the [src] flashes, indicating that it is out of toner.") + visible_message(span_notice("A red light on \the [src] flashes, indicating that it is out of toner.")) break - if(istype(W, /obj/item/weapon/paper)) + if(istype(W, /obj/item/paper)) W = copy(W) - else if(istype(W, /obj/item/weapon/photo)) + else if(istype(W, /obj/item/photo)) W = photocopy(W) W.loc = p p.pages += W @@ -376,14 +376,16 @@ if(M.item_is_in_hands(C)) continue if((C.body_parts_covered & LOWER_TORSO) && !istype(C,/obj/item/clothing/under/permit)) - to_chat(usr, "One needs to not be wearing pants to photocopy one's ass...") + to_chat(M, span_warning("One needs to not be wearing pants to photocopy one's ass...")) return FALSE return TRUE // VOREStation Edit Stop - Rykka -/obj/item/device/toner +/obj/item/toner name = "toner cartridge" icon = 'icons/obj/device.dmi' icon_state = "tonercartridge" var/toner_amount = 30 + pickup_sound = 'sound/items/pickup/device.ogg' + drop_sound = 'sound/items/drop/device.ogg' diff --git a/code/modules/paperwork/photography.dm b/code/modules/paperwork/photography.dm index 95d25d7818e..061f46154a7 100644 --- a/code/modules/paperwork/photography.dm +++ b/code/modules/paperwork/photography.dm @@ -9,7 +9,7 @@ /******* * film * *******/ -/obj/item/device/camera_film +/obj/item/camera_film name = "film cartridge" icon = 'icons/obj/items.dmi' desc = "A camera film cartridge. Insert it into a camera to reload it." @@ -23,7 +23,7 @@ ********/ var/global/photo_count = 0 -/obj/item/weapon/photo +/obj/item/photo name = "photo" icon = 'icons/obj/items.dmi' icon_state = "photo" @@ -37,30 +37,30 @@ var/global/photo_count = 0 var/icon/tiny var/photo_size = 3 -/obj/item/weapon/photo/New() +/obj/item/photo/New() id = photo_count++ -/obj/item/weapon/photo/attack_self(mob/user as mob) +/obj/item/photo/attack_self(mob/user as mob) user.examinate(src) -/obj/item/weapon/photo/attackby(obj/item/weapon/P as obj, mob/user as mob) - if(istype(P, /obj/item/weapon/pen)) +/obj/item/photo/attackby(obj/item/P as obj, mob/user as mob) + if(istype(P, /obj/item/pen)) var/txt = sanitize(tgui_input_text(user, "What would you like to write on the back?", "Photo Writing", null, 128), 128) if(loc == user && user.stat == 0) scribble = txt ..() -/obj/item/weapon/photo/examine(mob/user) +/obj/item/photo/examine(mob/user) //This is one time we're not going to call parent, because photos are 'secret' unless you're close enough. if(in_range(user, src)) show(user) return list(desc) else - return list("It is too far away to examine.") + return list(span_notice("It is too far away to examine.")) -/obj/item/weapon/photo/proc/show(mob/user as mob) +/obj/item/photo/proc/show(mob/user as mob) user << browse_rsc(img, "tmp_photo_[id].png") user << browse("[name]" \ + "" \ @@ -70,7 +70,7 @@ var/global/photo_count = 0 onclose(user, "[name]") return -/obj/item/weapon/photo/verb/rename() +/obj/item/photo/verb/rename() set name = "Rename photo" set category = "Object" set src in usr @@ -86,14 +86,14 @@ var/global/photo_count = 0 /************** * photo album * **************/ -/obj/item/weapon/storage/photo_album +/obj/item/storage/photo_album name = "Photo album" icon = 'icons/obj/items.dmi' icon_state = "album" item_state = "briefcase" - can_hold = list(/obj/item/weapon/photo) + can_hold = list(/obj/item/photo) -/obj/item/weapon/storage/photo_album/MouseDrop(obj/over_object as obj) +/obj/item/storage/photo_album/MouseDrop(obj/over_object as obj) if((istype(usr, /mob/living/carbon/human))) var/mob/living/carbon/human/M = usr @@ -120,7 +120,7 @@ var/global/photo_count = 0 /********* * camera * *********/ -/obj/item/device/camera +/obj/item/camera name = "camera" icon = 'icons/obj/items.dmi' desc = "A polaroid camera. 10 photos left." @@ -137,18 +137,18 @@ var/global/photo_count = 0 var/size = 3 var/list/picture_planes = list() -/obj/item/device/camera/verb/change_size() +/obj/item/camera/verb/change_size() set name = "Set Photo Focus" set category = "Object" var/nsize = tgui_input_list(usr, "Photo Size","Pick a size of resulting photo.", list(1,3,5,7)) if(nsize) size = nsize - to_chat(usr, "Camera will now take [size]x[size] photos.") + to_chat(usr, span_notice("Camera will now take [size]x[size] photos.")) -/obj/item/device/camera/attack(mob/living/carbon/human/M as mob, mob/user as mob) +/obj/item/camera/attack(mob/living/carbon/human/M as mob, mob/user as mob) return -/obj/item/device/camera/attack_self(mob/user as mob) +/obj/item/camera/attack_self(mob/user as mob) on = !on if(on) src.icon_state = icon_on @@ -157,12 +157,12 @@ var/global/photo_count = 0 to_chat(user, "You switch the camera [on ? "on" : "off"].") return -/obj/item/device/camera/attackby(obj/item/I as obj, mob/user as mob) - if(istype(I, /obj/item/device/camera_film)) +/obj/item/camera/attackby(obj/item/I as obj, mob/user as mob) + if(istype(I, /obj/item/camera_film)) if(pictures_left) - to_chat(user, "[src] still has some film in it!") + to_chat(user, span_notice("[src] still has some film in it!")) return - to_chat(user, "You insert [I] into [src].") + to_chat(user, span_notice("You insert [I] into [src].")) user.drop_item() qdel(I) pictures_left = pictures_max @@ -170,7 +170,7 @@ var/global/photo_count = 0 ..() -/obj/item/device/camera/proc/get_icon(list/turfs, turf/center) +/obj/item/camera/proc/get_icon(list/turfs, turf/center) //Bigger icon base to capture those icons that were shifted to the next tile //i.e. pretty much all wall-mounted machinery @@ -220,7 +220,7 @@ var/global/photo_count = 0 return res -/obj/item/device/camera/proc/get_mobs(turf/the_turf as turf) +/obj/item/camera/proc/get_mobs(turf/the_turf as turf) var/mob_detail for(var/mob/living/carbon/A in the_turf) if(A.invisibility) continue @@ -240,7 +240,7 @@ var/global/photo_count = 0 return mob_detail -/obj/item/device/camera/afterattack(atom/target as mob|obj|turf|area, mob/user as mob, flag) +/obj/item/camera/afterattack(atom/target as mob|obj|turf|area, mob/user as mob, flag) if(!on || !pictures_left || ismob(target.loc)) return captureimage(target, user, flag) @@ -248,14 +248,14 @@ var/global/photo_count = 0 pictures_left-- desc = "A polaroid camera. It has [pictures_left] photos left." - to_chat(user, "[pictures_left] photos left.") + to_chat(user, span_notice("[pictures_left] photos left.")) icon_state = icon_off on = 0 spawn(64) icon_state = icon_on on = 1 -/obj/item/device/camera/proc/can_capture_turf(turf/T, mob/user) +/obj/item/camera/proc/can_capture_turf(turf/T, mob/user) var/viewer = user if(user.client) //To make shooting through security cameras possible viewer = user.client.eye @@ -263,7 +263,7 @@ var/global/photo_count = 0 return can_see -/obj/item/device/camera/proc/captureimage(atom/target, mob/user, flag) +/obj/item/camera/proc/captureimage(atom/target, mob/user, flag) var/x_c = target.x - (size-1)/2 var/y_c = target.y + (size-1)/2 var/z_c = target.z @@ -279,11 +279,11 @@ var/global/photo_count = 0 y_c-- x_c = x_c - size - var/obj/item/weapon/photo/p = createpicture(target, user, turfs, mobs, flag) + var/obj/item/photo/p = createpicture(target, user, turfs, mobs, flag) printpicture(user, p) -/obj/item/device/camera/proc/createpicture(atom/target, mob/user, list/turfs, mobs, flag) +/obj/item/camera/proc/createpicture(atom/target, mob/user, list/turfs, mobs, flag) var/icon/photoimage = get_icon(turfs, target) var/icon/small_img = icon(photoimage) @@ -295,7 +295,7 @@ var/global/photo_count = 0 ic.Blend(small_img,ICON_OVERLAY, 10, 13) pc.Blend(tiny_img,ICON_OVERLAY, 12, 19) - var/obj/item/weapon/photo/p = new() + var/obj/item/photo/p = new() p.name = "photo" p.icon = ic p.tiny = pc @@ -306,13 +306,13 @@ var/global/photo_count = 0 p.photo_size = size return p -/obj/item/device/camera/proc/printpicture(mob/user, obj/item/weapon/photo/p) +/obj/item/camera/proc/printpicture(mob/user, obj/item/photo/p) p.loc = user.loc if(!user.get_inactive_hand()) user.put_in_inactive_hand(p) -/obj/item/weapon/photo/proc/copy(var/copy_id = 0) - var/obj/item/weapon/photo/p = new/obj/item/weapon/photo() +/obj/item/photo/proc/copy(var/copy_id = 0) + var/obj/item/photo/p = new/obj/item/photo() p.name = name p.icon = icon(icon, icon_state) diff --git a/code/modules/paperwork/silicon_photography.dm b/code/modules/paperwork/silicon_photography.dm index 7de69cb99d2..5d343961306 100644 --- a/code/modules/paperwork/silicon_photography.dm +++ b/code/modules/paperwork/silicon_photography.dm @@ -1,58 +1,58 @@ /************** * AI-specific * **************/ -/obj/item/device/camera/siliconcam +/obj/item/camera/siliconcam var/in_camera_mode = 0 var/photos_taken = 0 - var/list/obj/item/weapon/photo/aipictures = list() + var/list/obj/item/photo/aipictures = list() -/obj/item/device/camera/siliconcam/ai_camera //camera AI can take pictures with +/obj/item/camera/siliconcam/ai_camera //camera AI can take pictures with name = "AI photo camera" -/obj/item/device/camera/siliconcam/robot_camera //camera cyborgs can take pictures with +/obj/item/camera/siliconcam/robot_camera //camera cyborgs can take pictures with name = "Cyborg photo camera" -/obj/item/device/camera/siliconcam/drone_camera //currently doesn't offer the verbs, thus cannot be used +/obj/item/camera/siliconcam/drone_camera //currently doesn't offer the verbs, thus cannot be used name = "Drone photo camera" -/obj/item/device/camera/siliconcam/proc/injectaialbum(obj/item/weapon/photo/p, var/sufix = "") //stores image information to a list similar to that of the datacore +/obj/item/camera/siliconcam/proc/injectaialbum(obj/item/photo/p, var/sufix = "") //stores image information to a list similar to that of the datacore p.loc = src photos_taken++ p.name = "Image [photos_taken][sufix]" aipictures += p -/obj/item/device/camera/siliconcam/proc/injectmasteralbum(obj/item/weapon/photo/p) //stores image information to a list similar to that of the datacore +/obj/item/camera/siliconcam/proc/injectmasteralbum(obj/item/photo/p) //stores image information to a list similar to that of the datacore var/mob/living/silicon/robot/C = usr if(C.connected_ai) C.connected_ai.aiCamera.injectaialbum(p.copy(1), " (synced from [C.name])") - to_chat(C.connected_ai, "Image uploaded by [C.name]") - to_chat(usr, "Image synced to remote database") //feedback to the Cyborg player that the picture was taken + to_chat(C.connected_ai, span_unconscious("Image uploaded by [C.name]")) + to_chat(usr, span_unconscious("Image synced to remote database")) //feedback to the Cyborg player that the picture was taken else - to_chat(usr, "Image recorded") + to_chat(usr, span_unconscious("Image recorded")) // Always save locally injectaialbum(p) -/obj/item/device/camera/siliconcam/proc/selectpicture(obj/item/device/camera/siliconcam/cam) +/obj/item/camera/siliconcam/proc/selectpicture(obj/item/camera/siliconcam/cam) if(!cam) cam = getsource() var/list/nametemp = list() var/find if(cam.aipictures.len == 0) - to_chat(usr, "No images saved") + to_chat(usr, span_userdanger("No images saved")) return - for(var/obj/item/weapon/photo/t in cam.aipictures) + for(var/obj/item/photo/t in cam.aipictures) nametemp += t.name find = tgui_input_list(usr, "Select image (numbered in order taken)", "Picture Choice", nametemp) if(!find) return - for(var/obj/item/weapon/photo/q in cam.aipictures) + for(var/obj/item/photo/q in cam.aipictures) if(q.name == find) return q -/obj/item/device/camera/siliconcam/proc/viewpictures() - var/obj/item/weapon/photo/selection = selectpicture() +/obj/item/camera/siliconcam/proc/viewpictures() + var/obj/item/photo/selection = selectpicture() if(!selection) return @@ -60,42 +60,42 @@ selection.show(usr) to_chat(usr,selection.desc) -/obj/item/device/camera/siliconcam/proc/deletepicture(obj/item/device/camera/siliconcam/cam) +/obj/item/camera/siliconcam/proc/deletepicture(obj/item/camera/siliconcam/cam) var/selection = selectpicture(cam) if(!selection) return aipictures -= selection - to_chat(usr, "Local image deleted") + to_chat(usr, span_unconscious("Local image deleted")) -/obj/item/device/camera/siliconcam/ai_camera/can_capture_turf(turf/T, mob/user) +/obj/item/camera/siliconcam/ai_camera/can_capture_turf(turf/T, mob/user) var/mob/living/silicon/ai = user return ai.TurfAdjacent(T) -/obj/item/device/camera/siliconcam/proc/toggle_camera_mode() +/obj/item/camera/siliconcam/proc/toggle_camera_mode() if(in_camera_mode) camera_mode_off() else camera_mode_on() -/obj/item/device/camera/siliconcam/proc/camera_mode_off() +/obj/item/camera/siliconcam/proc/camera_mode_off() src.in_camera_mode = 0 - to_chat(usr, "Camera Mode deactivated") + to_chat(usr, span_infoplain(span_bold("Camera Mode deactivated"))) -/obj/item/device/camera/siliconcam/proc/camera_mode_on() +/obj/item/camera/siliconcam/proc/camera_mode_on() src.in_camera_mode = 1 - to_chat(usr, "Camera Mode activated") + to_chat(usr, span_infoplain(span_bold("Camera Mode activated"))) -/obj/item/device/camera/siliconcam/ai_camera/printpicture(mob/user, obj/item/weapon/photo/p) +/obj/item/camera/siliconcam/ai_camera/printpicture(mob/user, obj/item/photo/p) injectaialbum(p) - to_chat(usr, "Image recorded") + to_chat(usr, span_unconscious("Image recorded")) -/obj/item/device/camera/siliconcam/robot_camera/printpicture(mob/user, obj/item/weapon/photo/p) +/obj/item/camera/siliconcam/robot_camera/printpicture(mob/user, obj/item/photo/p) injectmasteralbum(p) /mob/living/silicon/ai/proc/take_image() - set category = "AI Commands" + set category = "AI.Commands" set name = "Take Image" set desc = "Takes an image" @@ -103,7 +103,7 @@ aiCamera.toggle_camera_mode() /mob/living/silicon/ai/proc/view_images() - set category = "AI Commands" + set category = "AI.Commands" set name = "View Images" set desc = "View images" @@ -111,7 +111,7 @@ aiCamera.viewpictures() /mob/living/silicon/ai/proc/delete_images() - set category = "AI Commands" + set category = "AI.Commands" set name = "Delete Image" set desc = "Delete image" @@ -119,7 +119,7 @@ aiCamera.deletepicture() /mob/living/silicon/robot/proc/take_image() - set category ="Robot Commands" + set category ="Abilities.Silicon" set name = "Take Image" set desc = "Takes an image" @@ -127,7 +127,7 @@ aiCamera.toggle_camera_mode() /mob/living/silicon/robot/proc/view_images() - set category ="Robot Commands" + set category ="Abilities.Silicon" set name = "View Images" set desc = "View images" @@ -135,19 +135,19 @@ aiCamera.viewpictures() /mob/living/silicon/robot/proc/delete_images() - set category = "Robot Commands" + set category = "Abilities.Silicon" set name = "Delete Image" set desc = "Delete a local image" if(aiCamera) aiCamera.deletepicture() -/obj/item/device/camera/siliconcam/proc/getsource() +/obj/item/camera/siliconcam/proc/getsource() if(istype(src.loc, /mob/living/silicon/ai)) return src var/mob/living/silicon/robot/C = usr - var/obj/item/device/camera/siliconcam/Cinfo + var/obj/item/camera/siliconcam/Cinfo if(C.connected_ai) Cinfo = C.connected_ai.aiCamera else diff --git a/code/modules/paperwork/stamps.dm b/code/modules/paperwork/stamps.dm index 71554080dac..e8d16abe626 100644 --- a/code/modules/paperwork/stamps.dm +++ b/code/modules/paperwork/stamps.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/stamp +/obj/item/stamp name = "rubber stamp" desc = "A rubber stamp for stamping important documents." icon = 'icons/obj/bureaucracy_yw.dmi' //YWedit reverts to use old stamp icons @@ -16,76 +16,76 @@ pickup_sound = 'sound/items/pickup/device.ogg' var/stamptext = null -/obj/item/weapon/stamp/captain +/obj/item/stamp/captain name = "site manager's rubber stamp" icon_state = "stamp-cap" -/obj/item/weapon/stamp/hop +/obj/item/stamp/hop name = "head of personnel's rubber stamp" icon_state = "stamp-hop" -/obj/item/weapon/stamp/hos +/obj/item/stamp/hos name = "head of security's rubber stamp" icon_state = "stamp-hos" -/obj/item/weapon/stamp/ward +/obj/item/stamp/ward name = "warden's rubber stamp" icon_state = "stamp-ward" -/obj/item/weapon/stamp/ce +/obj/item/stamp/ce name = "chief engineer's rubber stamp" icon_state = "stamp-ce" -/obj/item/weapon/stamp/rd +/obj/item/stamp/rd name = "research director's rubber stamp" icon_state = "stamp-rd" -/obj/item/weapon/stamp/cmo +/obj/item/stamp/cmo name = "chief medical officer's rubber stamp" icon_state = "stamp-cmo" -/obj/item/weapon/stamp/denied +/obj/item/stamp/denied name = "\improper DENIED rubber stamp" icon_state = "stamp-deny" attack_verb = list("DENIED") -/obj/item/weapon/stamp/accepted +/obj/item/stamp/accepted name = "\improper ACCEPTED rubber stamp" icon_state = "stamp-ok" -/obj/item/weapon/stamp/clown +/obj/item/stamp/clown name = "clown's rubber stamp" icon_state = "stamp-clown" -/obj/item/weapon/stamp/internalaffairs +/obj/item/stamp/internalaffairs name = "internal affairs rubber stamp" icon_state = "stamp-intaff" -/obj/item/weapon/stamp/centcomm +/obj/item/stamp/centcomm name = "\improper CentCom rubber stamp" icon_state = "stamp-cent" -/obj/item/weapon/stamp/qm +/obj/item/stamp/qm name = "quartermaster's rubber stamp" icon_state = "stamp-qm" -/obj/item/weapon/stamp/cargo +/obj/item/stamp/cargo name = "cargo rubber stamp" icon_state = "stamp-cargo" -/obj/item/weapon/stamp/solgov +/obj/item/stamp/solgov name = "\improper Sol Government rubber stamp" icon_state = "stamp-sg" -/obj/item/weapon/stamp/solgov +/obj/item/stamp/solgov name = "\improper Sol Government rubber stamp" icon_state = "stamp-sg" -/obj/item/weapon/stamp/solgovlogo +/obj/item/stamp/solgovlogo name = "\improper Sol Government logo stamp" icon_state = "stamp-sol" -/obj/item/weapon/stamp/solgovlogo +/obj/item/stamp/solgovlogo name = "\improper Sol Government logo stamp" icon_state = "stamp-sol" @@ -102,14 +102,14 @@ icon_state = "stamp-zenghu" // Syndicate stamp to forge documents. -/obj/item/weapon/stamp/chameleon/attack_self(mob/user as mob) +/obj/item/stamp/chameleon/attack_self(mob/user as mob) - var/list/stamp_types = typesof(/obj/item/weapon/stamp) - src.type // Get all stamp types except our own + var/list/stamp_types = typesof(/obj/item/stamp) - src.type // Get all stamp types except our own var/list/stamps = list() // Generate them into a list for(var/stamp_type in stamp_types) - var/obj/item/weapon/stamp/S = new stamp_type + var/obj/item/stamp/S = new stamp_type stamps[capitalize(S.name)] = S var/list/show_stamps = list("EXIT" = null) + sortList(stamps) // the list that will be shown to the user to pick from @@ -118,7 +118,7 @@ if(user && (src in user.contents)) // Er, how necessary is this in attack_self? - var/obj/item/weapon/stamp/chosen_stamp = stamps[capitalize(input_stamp)] + var/obj/item/stamp/chosen_stamp = stamps[capitalize(input_stamp)] if(chosen_stamp) name = chosen_stamp.name diff --git a/code/modules/pda/ai.dm b/code/modules/pda/ai.dm index 10a04effb3a..4511f530a3d 100644 --- a/code/modules/pda/ai.dm +++ b/code/modules/pda/ai.dm @@ -1,6 +1,6 @@ // Special AI/pAI PDAs that cannot explode. -/obj/item/device/pda/ai +/obj/item/pda/ai icon_state = "NONE" ttone = "data" detonate = 0 @@ -11,7 +11,7 @@ new/datum/data/pda/app/news, new/datum/data/pda/app/messenger) -/obj/item/device/pda/ai/proc/set_name_and_job(newname as text, newjob as text, newrank as null|text) +/obj/item/pda/ai/proc/set_name_and_job(newname as text, newjob as text, newrank as null|text) owner = newname ownjob = newjob if(newrank) @@ -21,8 +21,8 @@ name = newname + " (" + ownjob + ")" //AI verb and proc for sending PDA messages. -/obj/item/device/pda/ai/verb/cmd_pda_open_ui() - set category = "AI IM" +/obj/item/pda/ai/verb/cmd_pda_open_ui() + set category = "Abilities.AI" set name = "Use PDA" set src in usr @@ -30,29 +30,29 @@ return tgui_interact(usr) -/obj/item/device/pda/ai/can_use() +/obj/item/pda/ai/can_use() return 1 -/obj/item/device/pda/ai/attack_self(mob/user as mob) +/obj/item/pda/ai/attack_self(mob/user as mob) if ((honkamt > 0) && (prob(60)))//For clown virus. honkamt-- playsound(src, 'sound/items/bikehorn.ogg', 30, 1) return -/obj/item/device/pda/ai/pai +/obj/item/pda/ai/pai ttone = "assist" var/our_owner = null // Ref to a pAI -/obj/item/device/pda/ai/pai/New(mob/living/silicon/pai/P) +/obj/item/pda/ai/pai/New(mob/living/silicon/pai/P) if(istype(P)) our_owner = REF(P) return ..() -/obj/item/device/pda/ai/pai/tgui_status(mob/living/silicon/pai/user, datum/tgui_state/state) +/obj/item/pda/ai/pai/tgui_status(mob/living/silicon/pai/user, datum/tgui_state/state) if(!istype(user) || REF(user) != our_owner) // Only allow our pAI to interface with us return STATUS_CLOSE return ..() -/obj/item/device/pda/ai/shell +/obj/item/pda/ai/shell spam_proof = TRUE // Since empty shells get a functional PDA. diff --git a/code/modules/pda/app.dm b/code/modules/pda/app.dm index 4e508838e9f..5b9e942d6b9 100644 --- a/code/modules/pda/app.dm +++ b/code/modules/pda/app.dm @@ -5,7 +5,7 @@ var/notify_silent = 0 var/hidden = 0 // program not displayed in main menu var/category = "General" // the category to list it in on the main menu - var/obj/item/device/pda/pda // if this is null, and the app is running code, something's gone wrong + var/obj/item/pda/pda // if this is null, and the app is running code, something's gone wrong /datum/data/pda/Destroy() pda = null @@ -87,7 +87,7 @@ var/base_name category = "Scanners" -/datum/data/pda/utility/scanmode/New(obj/item/weapon/cartridge/C) +/datum/data/pda/utility/scanmode/New(obj/item/cartridge/C) ..(C) name = "Enable [base_name]" diff --git a/code/modules/pda/cart.dm b/code/modules/pda/cart.dm index 2dfd77cb2d8..2599544eb39 100644 --- a/code/modules/pda/cart.dm +++ b/code/modules/pda/cart.dm @@ -1,50 +1,50 @@ var/list/command_cartridges = list( - /obj/item/weapon/cartridge/captain, - /obj/item/weapon/cartridge/hop, - /obj/item/weapon/cartridge/hos, - /obj/item/weapon/cartridge/ce, - /obj/item/weapon/cartridge/rd, - /obj/item/weapon/cartridge/cmo, - /obj/item/weapon/cartridge/head, - /obj/item/weapon/cartridge/lawyer // Internal Affaris, + /obj/item/cartridge/captain, + /obj/item/cartridge/hop, + /obj/item/cartridge/hos, + /obj/item/cartridge/ce, + /obj/item/cartridge/rd, + /obj/item/cartridge/cmo, + /obj/item/cartridge/head, + /obj/item/cartridge/lawyer // Internal Affaris, ) var/list/security_cartridges = list( - /obj/item/weapon/cartridge/security, - /obj/item/weapon/cartridge/detective, - /obj/item/weapon/cartridge/hos + /obj/item/cartridge/security, + /obj/item/cartridge/detective, + /obj/item/cartridge/hos ) var/list/engineering_cartridges = list( - /obj/item/weapon/cartridge/engineering, - /obj/item/weapon/cartridge/atmos, - /obj/item/weapon/cartridge/ce + /obj/item/cartridge/engineering, + /obj/item/cartridge/atmos, + /obj/item/cartridge/ce ) var/list/medical_cartridges = list( - /obj/item/weapon/cartridge/medical, - /obj/item/weapon/cartridge/chemistry, - /obj/item/weapon/cartridge/cmo + /obj/item/cartridge/medical, + /obj/item/cartridge/chemistry, + /obj/item/cartridge/cmo ) var/list/research_cartridges = list( - /obj/item/weapon/cartridge/signal/science, - /obj/item/weapon/cartridge/rd + /obj/item/cartridge/signal/science, + /obj/item/cartridge/rd ) var/list/cargo_cartridges = list( - /obj/item/weapon/cartridge/quartermaster, // This also covers cargo-techs, apparently, - /obj/item/weapon/cartridge/miner, - /obj/item/weapon/cartridge/hop + /obj/item/cartridge/quartermaster, // This also covers cargo-techs, apparently, + /obj/item/cartridge/miner, + /obj/item/cartridge/hop ) var/list/civilian_cartridges = list( - /obj/item/weapon/cartridge/janitor, - /obj/item/weapon/cartridge/service, - /obj/item/weapon/cartridge/hop + /obj/item/cartridge/janitor, + /obj/item/cartridge/service, + /obj/item/cartridge/hop ) -/obj/item/weapon/cartridge +/obj/item/cartridge name = "generic cartridge" desc = "A data cartridge for portable microcomputers." icon = 'icons/obj/pda.dmi' @@ -62,38 +62,38 @@ var/list/civilian_cartridges = list( var/list/programs = list() var/list/messenger_plugins = list() -/obj/item/weapon/cartridge/Destroy() +/obj/item/cartridge/Destroy() QDEL_NULL(radio) QDEL_LIST(programs) QDEL_LIST(messenger_plugins) return ..() -/obj/item/weapon/cartridge/proc/update_programs(obj/item/device/pda/pda) +/obj/item/cartridge/proc/update_programs(obj/item/pda/pda) for(var/datum/data/pda/P as anything in programs) P.pda = pda for(var/datum/data/pda/messenger_plugin/P as anything in messenger_plugins) P.pda = pda -/obj/item/weapon/cartridge/engineering +/obj/item/cartridge/engineering name = "\improper Power-ON cartridge" icon_state = "cart-e" programs = list( new/datum/data/pda/app/power, new/datum/data/pda/utility/scanmode/halogen) -/obj/item/weapon/cartridge/atmos +/obj/item/cartridge/atmos name = "\improper BreatheDeep cartridge" icon_state = "cart-a" programs = list(new/datum/data/pda/utility/scanmode/gas) -/obj/item/weapon/cartridge/medical +/obj/item/cartridge/medical name = "\improper Med-U cartridge" icon_state = "cart-m" programs = list( new/datum/data/pda/app/crew_records/medical, new/datum/data/pda/utility/scanmode/medical) -/obj/item/weapon/cartridge/chemistry +/obj/item/cartridge/chemistry name = "\improper ChemWhiz cartridge" icon_state = "cart-chem" programs = list( @@ -101,13 +101,13 @@ var/list/civilian_cartridges = list( new/datum/data/pda/utility/scanmode/medical, new/datum/data/pda/utility/scanmode/reagent) -/obj/item/weapon/cartridge/security +/obj/item/cartridge/security name = "\improper R.O.B.U.S.T. cartridge" icon_state = "cart-s" programs = list( new/datum/data/pda/app/crew_records/security) -/obj/item/weapon/cartridge/detective +/obj/item/cartridge/detective name = "\improper D.E.T.E.C.T. cartridge" icon_state = "cart-s" programs = list( @@ -117,44 +117,44 @@ var/list/civilian_cartridges = list( new/datum/data/pda/app/crew_records/security) -/obj/item/weapon/cartridge/janitor +/obj/item/cartridge/janitor name = "\improper CustodiPRO cartridge" desc = "The ultimate in clean-room design." icon_state = "cart-j" programs = list(new/datum/data/pda/app/janitor) -/obj/item/weapon/cartridge/lawyer +/obj/item/cartridge/lawyer name = "\improper P.R.O.V.E. cartridge" icon_state = "cart-s" programs = list(new/datum/data/pda/app/crew_records/security) -/obj/item/weapon/cartridge/clown +/obj/item/cartridge/clown name = "\improper Honkworks 5.0 cartridge" icon_state = "cart-clown" charges = 5 programs = list(new/datum/data/pda/utility/honk) messenger_plugins = list(new/datum/data/pda/messenger_plugin/virus/clown) -/obj/item/weapon/cartridge/mime +/obj/item/cartridge/mime name = "\improper Gestur-O 1000 cartridge" icon_state = "cart-mi" charges = 5 messenger_plugins = list(new/datum/data/pda/messenger_plugin/virus/mime) -/obj/item/weapon/cartridge/service +/obj/item/cartridge/service name = "\improper Serv-U Pro cartridge" desc = "A data cartridge designed to serve YOU!" -/obj/item/weapon/cartridge/signal +/obj/item/cartridge/signal name = "generic signaler cartridge" desc = "A data cartridge with an integrated radio signaler module." programs = list(new/datum/data/pda/app/signaller) -/obj/item/weapon/cartridge/signal/Initialize() +/obj/item/cartridge/signal/Initialize() radio = new /obj/item/radio/integrated/signal(src) . = ..() -/obj/item/weapon/cartridge/signal/science +/obj/item/cartridge/signal/science name = "\improper Signal Ace 2 cartridge" desc = "Complete with integrated radio signaler!" icon_state = "cart-tox" @@ -165,24 +165,24 @@ var/list/civilian_cartridges = list( new/datum/data/pda/app/signaller) -/obj/item/weapon/cartridge/quartermaster +/obj/item/cartridge/quartermaster name = "\improper Space Parts & Space Vendors cartridge" - desc = "Perfect for the Quartermaster on the go!" + desc = "Perfect for the " + JOB_QUARTERMASTER + " on the go!" icon_state = "cart-q" programs = list( new/datum/data/pda/app/supply) -/obj/item/weapon/cartridge/miner +/obj/item/cartridge/miner name = "\improper Drill-Jockey 4.5 cartridge" desc = "It's covered in some sort of sand." icon_state = "cart-q" -/obj/item/weapon/cartridge/head +/obj/item/cartridge/head name = "\improper Easy-Record DELUXE cartridge" icon_state = "cart-h" programs = list(new/datum/data/pda/app/status_display) -/obj/item/weapon/cartridge/hop +/obj/item/cartridge/hop name = "\improper HumanResources9001 cartridge" icon_state = "cart-h" programs = list( @@ -194,7 +194,7 @@ var/list/civilian_cartridges = list( new/datum/data/pda/app/status_display) -/obj/item/weapon/cartridge/hos +/obj/item/cartridge/hos name = "\improper R.O.B.U.S.T. DELUXE cartridge" icon_state = "cart-hos" programs = list( @@ -202,7 +202,7 @@ var/list/civilian_cartridges = list( new/datum/data/pda/app/status_display) -/obj/item/weapon/cartridge/ce +/obj/item/cartridge/ce name = "\improper Power-On DELUXE cartridge" icon_state = "cart-ce" programs = list( @@ -213,7 +213,7 @@ var/list/civilian_cartridges = list( new/datum/data/pda/app/status_display) -/obj/item/weapon/cartridge/cmo +/obj/item/cartridge/cmo name = "\improper Med-U DELUXE cartridge" icon_state = "cart-cmo" programs = list( @@ -224,7 +224,7 @@ var/list/civilian_cartridges = list( new/datum/data/pda/app/status_display) -/obj/item/weapon/cartridge/rd +/obj/item/cartridge/rd name = "\improper Signal Ace DELUXE cartridge" icon_state = "cart-rd" programs = list( @@ -236,11 +236,11 @@ var/list/civilian_cartridges = list( new/datum/data/pda/app/status_display) -/obj/item/weapon/cartridge/rd/Initialize() +/obj/item/cartridge/rd/Initialize() radio = new /obj/item/radio/integrated/signal(src) . = ..() -/obj/item/weapon/cartridge/captain +/obj/item/cartridge/captain name = "\improper Value-PAK cartridge" desc = "Now with 200% more value!" icon_state = "cart-c" @@ -263,7 +263,7 @@ var/list/civilian_cartridges = list( new/datum/data/pda/app/status_display) -/obj/item/weapon/cartridge/syndicate +/obj/item/cartridge/syndicate name = "\improper Detomatix cartridge" icon_state = "cart" var/initial_remote_door_id = "smindicate" //Make sure this matches the syndicate shuttle's shield/door id!! //don't ask about the name, testing. @@ -271,12 +271,12 @@ var/list/civilian_cartridges = list( programs = list(new/datum/data/pda/utility/toggle_door) messenger_plugins = list(new/datum/data/pda/messenger_plugin/virus/detonate) -/obj/item/weapon/cartridge/syndicate/New() +/obj/item/cartridge/syndicate/New() var/datum/data/pda/utility/toggle_door/D = programs[1] if(istype(D)) D.remote_door_id = initial_remote_door_id -/obj/item/weapon/cartridge/proc/post_status(var/command, var/data1, var/data2) +/obj/item/cartridge/proc/post_status(var/command, var/data1, var/data2) var/datum/radio_frequency/frequency = radio_controller.return_frequency(1435) if(!frequency) return @@ -301,7 +301,7 @@ var/list/civilian_cartridges = list( frequency.post_signal(src, status_signal) -/obj/item/weapon/cartridge/frame +/obj/item/cartridge/frame name = "F.R.A.M.E. cartridge" icon_state = "cart" charges = 5 diff --git a/code/modules/pda/cart_apps.dm b/code/modules/pda/cart_apps.dm index 58270efed2b..3efb2ce805b 100644 --- a/code/modules/pda/cart_apps.dm +++ b/code/modules/pda/cart_apps.dm @@ -264,7 +264,7 @@ JaniData["user_loc"] = list("x" = 0, "y" = 0) var/MopData[0] - for(var/obj/item/weapon/mop/M in GLOB.all_mops)//GLOB.janitorial_equipment) + for(var/obj/item/mop/M in GLOB.all_mops)//GLOB.janitorial_equipment) var/turf/ml = get_turf(M) if(ml) if(ml.z != cl.z) diff --git a/code/modules/pda/cart_vr.dm b/code/modules/pda/cart_vr.dm index 0767e439a65..305955c1c42 100644 --- a/code/modules/pda/cart_vr.dm +++ b/code/modules/pda/cart_vr.dm @@ -1,19 +1,19 @@ var/list/exploration_cartridges = list( - /obj/item/weapon/cartridge/explorer, - /obj/item/weapon/cartridge/sar + /obj/item/cartridge/explorer, + /obj/item/cartridge/sar ) -/obj/item/weapon/cartridge +/obj/item/cartridge slot_flags = SLOT_EARS -/obj/item/weapon/cartridge/explorer +/obj/item/cartridge/explorer name = "\improper Explorator cartridge" icon_state = "cart-e" programs = list( new/datum/data/pda/utility/scanmode/reagent, new/datum/data/pda/utility/scanmode/gas) -/obj/item/weapon/cartridge/sar +/obj/item/cartridge/sar name = "\improper Med-Exp cartridge" icon_state = "cart-m" programs = list( @@ -22,46 +22,46 @@ var/list/exploration_cartridges = list( new/datum/data/pda/utility/scanmode/reagent, new/datum/data/pda/utility/scanmode/gas) -/obj/item/weapon/cartridge/storage +/obj/item/cartridge/storage name = "\improper BLU-PAK cartridge" desc = "It feels heavier for some reason." w_class = ITEMSIZE_SMALL icon_state = "cart-lib" show_examine = FALSE var/slots = 1 - var/obj/item/weapon/storage/internal/hold + var/obj/item/storage/internal/hold -/obj/item/weapon/cartridge/storage/Initialize() +/obj/item/cartridge/storage/Initialize() . = ..() - hold = new/obj/item/weapon/storage/internal(src) + hold = new/obj/item/storage/internal(src) hold.max_storage_space = slots * 2 hold.max_w_class = ITEMSIZE_SMALL -/obj/item/weapon/cartridge/storage/attack_hand(mob/user as mob) +/obj/item/cartridge/storage/attack_hand(mob/user as mob) if (hold.handle_attack_hand(user)) //otherwise interact as a regular storage item ..(user) -/obj/item/weapon/cartridge/storage/attackby(obj/item/W as obj, mob/user as mob) +/obj/item/cartridge/storage/attackby(obj/item/W as obj, mob/user as mob) ..() return hold.attackby(W, user) -/obj/item/weapon/cartridge/storage/MouseDrop(obj/over_object as obj) +/obj/item/cartridge/storage/MouseDrop(obj/over_object as obj) if (hold.handle_mousedrop(usr, over_object)) ..(over_object) -/obj/item/weapon/cartridge/storage/attack_self(mob/user as mob) - to_chat(user, "You empty [src].") +/obj/item/cartridge/storage/attack_self(mob/user as mob) + to_chat(user, span_notice("You empty [src].")) var/turf/T = get_turf(src) hold.hide_from(usr) for(var/obj/item/I in hold.contents) hold.remove_from_storage(I, T) add_fingerprint(user) -/obj/item/weapon/cartridge/storage/emp_act(severity) +/obj/item/cartridge/storage/emp_act(severity) hold.emp_act(severity) ..() -/obj/item/weapon/cartridge/storage/deluxe +/obj/item/cartridge/storage/deluxe name = "\improper BLU-PAK DELUXE cartridge" programs = list( new/datum/data/pda/app/power, diff --git a/code/modules/pda/core_apps.dm b/code/modules/pda/core_apps.dm index 6e6ab500761..adde8261782 100644 --- a/code/modules/pda/core_apps.dm +++ b/code/modules/pda/core_apps.dm @@ -33,7 +33,7 @@ else switch(text2num(params["option"])) if(1) // Configure pAI device - pda.pai.attack_self(usr) + pda.pai.attack_self(ui.user) if(2) // Eject pAI device var/turf/T = get_turf_or_move(pda.loc) if(T) @@ -72,118 +72,118 @@ return TRUE switch(action) if("Edit") - var/n = tgui_input_text(usr, "Please enter message", name, notehtml, multiline = TRUE, prevent_enter = TRUE) - if(pda.loc == usr) + var/n = tgui_input_text(ui.user, "Please enter message", name, notehtml, multiline = TRUE, prevent_enter = TRUE) + if(pda.loc == ui.user) note = adminscrub(n) notehtml = html_decode(note) note = replacetext(note, "\n", "
        ") else - pda.close(usr) + pda.close(ui.user) return TRUE if("Titleset") - var/n = tgui_input_text(usr, "Please enter title", name, notetitle, multiline = FALSE) - if(pda.loc == usr) + var/n = tgui_input_text(ui.user, "Please enter title", name, notetitle, multiline = FALSE) + if(pda.loc == ui.user) notetitle = adminscrub(n) else - pda.close(usr) + pda.close(ui.user) return TRUE if("Print") - if(pda.loc == usr) - printnote() + if(pda.loc == ui.user) + printnote(ui.user) else - pda.close(usr) + pda.close(ui.user) return TRUE // dumb way to do this, but i don't know how to easily parse this without a lot of silly code outside the switch! if("Note1") - if(pda.loc == usr) + if(pda.loc == ui.user) changetonote(1) else - pda.close(usr) + pda.close(ui.user) return TRUE if("Note2") - if(pda.loc == usr) + if(pda.loc == ui.user) changetonote(2) else - pda.close(usr) + pda.close(ui.user) return TRUE if("Note3") - if(pda.loc == usr) + if(pda.loc == ui.user) changetonote(3) else - pda.close(usr) + pda.close(ui.user) return TRUE if("Note4") - if(pda.loc == usr) + if(pda.loc == ui.user) changetonote(4) else - pda.close(usr) + pda.close(ui.user) return TRUE if("Note5") - if(pda.loc == usr) + if(pda.loc == ui.user) changetonote(5) else - pda.close(usr) + pda.close(ui.user) return TRUE if("Note6") - if(pda.loc == usr) + if(pda.loc == ui.user) changetonote(6) else - pda.close(usr) + pda.close(ui.user) return TRUE if("Note7") - if(pda.loc == usr) + if(pda.loc == ui.user) changetonote(7) else - pda.close(usr) + pda.close(ui.user) return TRUE if("Note8") - if(pda.loc == usr) + if(pda.loc == ui.user) changetonote(8) else - pda.close(usr) + pda.close(ui.user) return TRUE if("Note9") - if(pda.loc == usr) + if(pda.loc == ui.user) changetonote(9) else - pda.close(usr) + pda.close(ui.user) return TRUE if("Note10") - if(pda.loc == usr) + if(pda.loc == ui.user) changetonote(10) else - pda.close(usr) + pda.close(ui.user) return TRUE if("Note11") - if(pda.loc == usr) + if(pda.loc == ui.user) changetonote(11) else - pda.close(usr) + pda.close(ui.user) return TRUE if("Note12") - if(pda.loc == usr) + if(pda.loc == ui.user) changetonote(12) else - pda.close(usr) + pda.close(ui.user) return TRUE -/datum/data/pda/app/notekeeper/proc/printnote() +/datum/data/pda/app/notekeeper/proc/printnote(mob/user) // get active hand of person holding PDA, and print the page to the paper in it - if(istype( usr, /mob/living/carbon/human )) - var/mob/living/carbon/human/H = usr + if(istype( user, /mob/living/carbon/human )) + var/mob/living/carbon/human/H = user var/obj/item/I = H.get_active_hand() - if(istype(I,/obj/item/weapon/paper)) - var/obj/item/weapon/paper/P = I + if(istype(I,/obj/item/paper)) + var/obj/item/paper/P = I if(isnull(P.info) || P.info == "" ) var/titlenote = "Note [alphabet_uppercase[currentnote]]" if(!isnull(notetitle) && notetitle != "") titlenote = notetitle - to_chat(usr, "Successfully printed [titlenote]!") + to_chat(user, span_notice("Successfully printed [titlenote]!")) P.set_content( pencode2html(note), titlenote) else - to_chat(usr, "You can only print to empty paper!") + to_chat(user, span_notice("You can only print to empty paper!")) else - to_chat(usr, "You must be holding paper for the pda to print to!") + to_chat(user, span_notice("You must be holding paper for the pda to print to!")) /datum/data/pda/app/notekeeper/proc/changetonote(var/noteindex) diff --git a/code/modules/pda/messenger.dm b/code/modules/pda/messenger.dm index 29810e398c8..b9d84fbe289 100644 --- a/code/modules/pda/messenger.dm +++ b/code/modules/pda/messenger.dm @@ -22,6 +22,7 @@ data["silent"] = notify_silent // does the pda make noise when it receives a message? data["toff"] = toff // is the messenger function turned off? data["active_conversation"] = active_conversation // Which conversation are we following right now? + data["enable_message_embeds"] = user?.client?.prefs?.read_preference(/datum/preference/toggle/messenger_embeds) has_back = active_conversation if(active_conversation) @@ -34,7 +35,7 @@ else var/convopdas[0] var/pdas[0] - for(var/obj/item/device/pda/P as anything in PDAs) + for(var/obj/item/pda/P as anything in PDAs) var/datum/data/pda/app/messenger/PM = P.find_program(/datum/data/pda/app/messenger) if(!P.owner || PM.toff || P == pda || PM.m_hidden) @@ -84,8 +85,8 @@ active_conversation = null if("Message") - var/obj/item/device/pda/P = locate(params["target"]) - create_message(usr, P) + var/obj/item/pda/P = locate(params["target"]) + create_message(ui.user, P) if(params["target"] in conversations) // Need to make sure the message went through, if not welp. active_conversation = params["target"] if("Select Conversation") @@ -97,14 +98,14 @@ if(!params["target"] || !params["plugin"]) return - var/obj/item/device/pda/P = locate(params["target"]) + var/obj/item/pda/P = locate(params["target"]) if(!P) - to_chat(usr, "PDA not found.") + to_chat(ui.user, "PDA not found.") var/datum/data/pda/messenger_plugin/plugin = locate(params["plugin"]) if(plugin && (plugin in pda.cartridge.messenger_plugins)) plugin.messenger = src - plugin.user_act(usr, P) + plugin.user_act(ui.user, P) if("Back") active_conversation = null @@ -116,13 +117,13 @@ switch(href_list["choice"]) if("Message") - var/obj/item/device/pda/P = locate(href_list["target"]) + var/obj/item/pda/P = locate(href_list["target"]) create_message(usr, P) if(href_list["target"] in conversations) // Need to make sure the message went through, if not welp. active_conversation = href_list["target"] -/datum/data/pda/app/messenger/proc/create_message(var/mob/living/U, var/obj/item/device/pda/P) +/datum/data/pda/app/messenger/proc/create_message(var/mob/living/U, var/obj/item/pda/P) var/t = tgui_input_text(U, "Please enter message", name, null) if(!t) return @@ -141,7 +142,7 @@ if(last_text && world.time < last_text + 5) return - if(!pda.can_use(usr)) + if(!pda.can_use(U)) return last_text = world.time @@ -174,16 +175,16 @@ to_chat(U, "ERROR: Cannot reach recipient.") return useMS.send_pda_message("[P.owner]","[pda.owner]","[t]") - pda.investigate_log("PDA Message - [U.key] - [pda.owner] -> [P.owner]: [t]", "pda") + pda.investigate_log(span_game(span_say("PDA Message - " + span_name("[U.key] - [pda.owner]") + " -> " + span_name("[P.owner]") + ": " + span_message("[t]"))), "pda") receive_message(list("sent" = 1, "owner" = "[P.owner]", "job" = "[P.ownjob]", "message" = "[t]", "target" = "\ref[P]"), "\ref[P]") PM.receive_message(list("sent" = 0, "owner" = "[pda.owner]", "job" = "[pda.ownjob]", "message" = "[t]", "target" = "\ref[pda]"), "\ref[pda]") SStgui.update_user_uis(U, P) // Update the sending user's PDA UI so that they can see the new message - log_pda("(PDA: [src.name]) sent \"[t]\" to [P.name]", usr) + log_pda("(PDA: [src.name]) sent \"[t]\" to [P.name]", U) to_chat(U, "[icon2html(pda,U.client)] Sent message to [P.owner] ([P.ownjob]), \"[t]\"") else - to_chat(U, "ERROR: Messaging server is not responding.") + to_chat(U, span_notice("ERROR: Messaging server is not responding.")) /datum/data/pda/app/messenger/proc/available_pdas() var/list/names = list() @@ -194,7 +195,7 @@ to_chat(usr, "Turn on your receiver in order to send messages.") return - for(var/obj/item/device/pda/P as anything in PDAs) + for(var/obj/item/pda/P as anything in PDAs) var/datum/data/pda/app/messenger/PM = P.find_program(/datum/data/pda/app/messenger) if(!P.owner || !PM || PM.hidden || P == pda || PM.toff) @@ -222,13 +223,13 @@ var/owner = data["owner"] var/job = data["job"] var/message = data["message"] - notify("Message from [owner] ([job]), \"[message]\" (Reply)") + notify(span_bold("Message from [owner] ([job]), ") + "\"[message]\" (Reply)") /datum/data/pda/app/messenger/multicast /datum/data/pda/app/messenger/multicast/receive_message(list/data, ref) . = ..() - var/obj/item/device/pda/multicaster/M = pda + var/obj/item/pda/multicaster/M = pda if(!istype(M)) return @@ -237,11 +238,11 @@ modified_message["target"] = "\ref[M]" var/list/targets = list() - for(var/obj/item/device/pda/pda in PDAs) + for(var/obj/item/pda/pda in PDAs) if(pda.cartridge && pda.owner && is_type_in_list(pda.cartridge, M.cartridges_to_send_to)) targets |= pda if(targets.len) - for(var/obj/item/device/pda/target in targets) + for(var/obj/item/pda/target in targets) var/datum/data/pda/app/messenger/P = target.find_program(/datum/data/pda/app/messenger) if(P) P.receive_message(modified_message, "\ref[M]") @@ -249,7 +250,7 @@ /* Generalized proc to handle GM fake prop messages, or future fake prop messages from mapping landmarks. We need a separate proc for this due to the "target" component and creation of a fake conversation entry. -Invoked by /obj/item/device/pda/proc/createPropFakeConversation_admin(var/mob/M) +Invoked by /obj/item/pda/proc/createPropFakeConversation_admin(var/mob/M) */ /datum/data/pda/app/messenger/proc/createFakeMessage(fakeName, fakeRef, fakeJob, sent, message) receive_message(list("sent" = sent, "owner" = "[fakeName]", "job" = "[fakeJob]", "message" = "[message]", "target" = "[fakeRef]"), fakeRef) diff --git a/code/modules/pda/messenger_plugins.dm b/code/modules/pda/messenger_plugins.dm index dd77e621a05..11f261eeac5 100644 --- a/code/modules/pda/messenger_plugins.dm +++ b/code/modules/pda/messenger_plugins.dm @@ -1,13 +1,13 @@ /datum/data/pda/messenger_plugin var/datum/data/pda/app/messenger/messenger -/datum/data/pda/messenger_plugin/proc/user_act(mob/user as mob, obj/item/device/pda/P) +/datum/data/pda/messenger_plugin/proc/user_act(mob/user as mob, obj/item/pda/P) /datum/data/pda/messenger_plugin/virus name = "*Send Virus*" -/datum/data/pda/messenger_plugin/virus/user_act(mob/user as mob, obj/item/device/pda/P) +/datum/data/pda/messenger_plugin/virus/user_act(mob/user as mob, obj/item/pda/P) var/datum/data/pda/app/messenger/M = P.find_program(/datum/data/pda/app/messenger) if(M && !M.toff && pda.cartridge.charges > 0) @@ -19,10 +19,10 @@ /datum/data/pda/messenger_plugin/virus/clown icon = "star" -/datum/data/pda/messenger_plugin/virus/clown/user_act(mob/user as mob, obj/item/device/pda/P) +/datum/data/pda/messenger_plugin/virus/clown/user_act(mob/user as mob, obj/item/pda/P) . = ..(user, P) if(.) - user.show_message("Virus sent!", 1) + user.show_message(span_notice("Virus sent!"), 1) P.honkamt = (rand(15,20)) P.ttone = "honk" @@ -30,10 +30,10 @@ /datum/data/pda/messenger_plugin/virus/mime icon = "arrow-circle-down" -/datum/data/pda/messenger_plugin/virus/mime/user_act(mob/user as mob, obj/item/device/pda/P) +/datum/data/pda/messenger_plugin/virus/mime/user_act(mob/user as mob, obj/item/pda/P) . = ..(user, P) if(.) - user.show_message("Virus sent!", 1) + user.show_message(span_notice("Virus sent!"), 1) var/datum/data/pda/app/M = P.find_program(/datum/data/pda/app/messenger) if(M) M.notify_silent = 1 @@ -44,7 +44,7 @@ name = "*Detonate*" icon = "exclamation-circle" -/datum/data/pda/messenger_plugin/virus/detonate/user_act(mob/user as mob, obj/item/device/pda/P) +/datum/data/pda/messenger_plugin/virus/detonate/user_act(mob/user as mob, obj/item/pda/P) . = ..(user, P) if(.) var/difficulty = 0 @@ -55,18 +55,18 @@ difficulty += 2 if(!P.detonate || P.hidden_uplink) - user.show_message("The target PDA does not seem to respond to the detonation command.", 1) + user.show_message(span_warning("The target PDA does not seem to respond to the detonation command."), 1) pda.cartridge.charges++ else if(prob(difficulty * 12)) - user.show_message("An error flashes on your [pda].", 1) + user.show_message(span_warning("An error flashes on your [pda]."), 1) else if(prob(difficulty * 3)) - user.show_message("Energy feeds back into your [pda]!", 1) + user.show_message(span_danger("Energy feeds back into your [pda]!"), 1) pda.close(user) pda.explode() log_admin("[key_name(user)] just attempted to blow up [P] with the Detomatix cartridge but failed, blowing themselves up") message_admins("[key_name_admin(user)] just attempted to blow up [P] with the Detomatix cartridge but failed, blowing themselves up", 1) else - user.show_message("Success!", 1) + user.show_message(span_notice("Success!"), 1) log_admin("[key_name(user)] just attempted to blow up [P] with the Detomatix cartridge and succeded") message_admins("[key_name_admin(user)] just attempted to blow up [P] with the Detomatix cartridge and succeded", 1) P.explode() @@ -74,13 +74,13 @@ /datum/data/pda/messenger_plugin/virus/frame icon = "exclamation-circle" -/datum/data/pda/messenger_plugin/virus/frame/user_act(mob/user, obj/item/device/pda/P) +/datum/data/pda/messenger_plugin/virus/frame/user_act(mob/user, obj/item/pda/P) . = ..(user, P) if(.) var/lock_code = "[rand(100,999)] [pick("Alpha","Bravo","Charlie","Delta","Echo","Foxtrot","Golf","Hotel","India","Juliet","Kilo","Lima","Mike","November","Oscar","Papa","Quebec","Romeo","Sierra","Tango","Uniform","Victor","Whiskey","X-ray","Yankee","Zulu")]" - user.show_message("Virus Sent! The unlock code to the target is: [lock_code]") + user.show_message(span_notice("Virus Sent! The unlock code to the target is: [lock_code]")) if(!P.hidden_uplink) - var/obj/item/device/uplink/hidden/uplink = new(P) + var/obj/item/uplink/hidden/uplink = new(P) P.hidden_uplink = uplink P.lock_code = lock_code // else diff --git a/code/modules/pda/pda.dm b/code/modules/pda/pda.dm index 27e6e90edb5..f279b415200 100644 --- a/code/modules/pda/pda.dm +++ b/code/modules/pda/pda.dm @@ -1,9 +1,9 @@ //The advanced pea-green monochrome lcd of tomorrow. -var/global/list/obj/item/device/pda/PDAs = list() +var/global/list/obj/item/pda/PDAs = list() -/obj/item/device/pda +/obj/item/pda name = "\improper PDA" desc = "A portable microcomputer by Thinktronic Systems, LTD. Functionality determined by a preprogrammed ROM cartridge." icon = 'icons/obj/pda_vr.dmi' //VOREStation edit @@ -17,7 +17,7 @@ var/global/list/obj/item/device/pda/PDAs = list() var/pdachoice = 1 var/owner = null var/default_cartridge = 0 // Access level defined by cartridge - var/obj/item/weapon/cartridge/cartridge = null //current cartridge + var/obj/item/cartridge/cartridge = null //current cartridge //Secondary variables var/model_name = "Thinktronic 5230 Personal Data Assistant" @@ -55,11 +55,11 @@ var/global/list/obj/item/device/pda/PDAs = list() var/hidden = 0 // Is the PDA hidden from the PDA list? var/touch_silent = 0 //If 1, no beeps on interacting. - var/obj/item/weapon/card/id/id = null //Making it possible to slot an ID card into the PDA so it can function as both. + var/obj/item/card/id/id = null //Making it possible to slot an ID card into the PDA so it can function as both. var/ownjob = null //related to above - this is assignment (potentially alt title) var/ownrank = null // this one is rank, never alt title - var/obj/item/device/paicard/pai = null // A slot for a personal AI device + var/obj/item/paicard/pai = null // A slot for a personal AI device var/spam_proof = FALSE // If true, it can't be spammed by random events. @@ -79,18 +79,18 @@ var/global/list/obj/item/device/pda/PDAs = list() var/list/notifying_programs = list() var/retro_mode = 0 -/obj/item/device/pda/examine(mob/user) +/obj/item/pda/examine(mob/user) . = ..() if(Adjacent(user)) . += "The time [stationtime2text()] is displayed in the corner of the screen." -/obj/item/device/pda/CtrlClick() +/obj/item/pda/CtrlClick() if(can_use(usr) && !issilicon(usr)) remove_pen() return ..() -/obj/item/device/pda/AltClick() +/obj/item/pda/AltClick() if(issilicon(usr)) return @@ -98,9 +98,9 @@ var/global/list/obj/item/device/pda/PDAs = list() if(id) remove_id() else - to_chat(usr, "This PDA does not have an ID in it.") + to_chat(usr, span_notice("This PDA does not have an ID in it.")) -/obj/item/device/pda/proc/play_ringtone() +/obj/item/pda/proc/play_ringtone() var/S if(ttone in ttone_sound) @@ -111,7 +111,7 @@ var/global/list/obj/item/device/pda/PDAs = list() for(var/mob/O in hearers(3, loc)) O.show_message(text("[icon2html(src, O.client)] *[ttone]*")) -/obj/item/device/pda/proc/set_ringtone() +/obj/item/pda/proc/set_ringtone() var/t = tgui_input_text(usr, "Please enter new ringtone", name, ttone) if(in_range(src, usr) && loc == usr) if(t) @@ -126,7 +126,7 @@ var/global/list/obj/item/device/pda/PDAs = list() close(usr) return 0 -/obj/item/device/pda/New(var/mob/living/carbon/human/H) +/obj/item/pda/New(var/mob/living/carbon/human/H) ..() PDAs += src PDAs = sortAtom(PDAs) @@ -134,7 +134,7 @@ var/global/list/obj/item/device/pda/PDAs = list() if(default_cartridge) cartridge = new default_cartridge(src) cartridge.update_programs(src) - new /obj/item/weapon/pen(src) + new /obj/item/pen(src) pdachoice = isnull(H) ? 1 : (ishuman(H) ? H.pdachoice : 1) switch(pdachoice) if(1) @@ -142,7 +142,7 @@ var/global/list/obj/item/device/pda/PDAs = list() model_name = "Thinktronic 5230 Personal Data Assistant" if(2) icon = 'icons/obj/pda_slim.dmi' - model_name = "Ward-Takahashi SlimFit� Personal Data Assistant" + model_name = "Ward-Takahashi SlimFitâ„¢ Personal Data Assistant" if(3) icon = 'icons/obj/pda_old.dmi' model_name = "Thinktronic 5120 Personal Data Assistant" @@ -169,7 +169,7 @@ var/global/list/obj/item/device/pda/PDAs = list() ) if(7) icon = 'icons/obj/pda_slider.dmi' //VOREStation edit - model_name = "Slider� Personal Data Assistant" + model_name = "Slider® Personal Data Assistant" if(8) icon = 'icons/obj/pda_vintage.dmi' model_name = "\[ERR:INVALID_MANUFACTURER_ID\] Personal Data Assistant" @@ -181,28 +181,28 @@ var/global/list/obj/item/device/pda/PDAs = list() add_overlay("pda-pen") start_program(find_program(/datum/data/pda/app/main_menu)) -/obj/item/device/pda/proc/can_use(mob/user) +/obj/item/pda/proc/can_use(mob/user) return (tgui_status(user, GLOB.tgui_inventory_state) == STATUS_INTERACTIVE) -/obj/item/device/pda/GetAccess() +/obj/item/pda/GetAccess() if(id) return id.GetAccess() else return ..() -/obj/item/device/pda/GetID() +/obj/item/pda/GetID() return id -/obj/item/device/pda/MouseDrop(obj/over_object as obj, src_location, over_location) +/obj/item/pda/MouseDrop(obj/over_object as obj, src_location, over_location) var/mob/M = usr if((!istype(over_object, /obj/screen)) && can_use(usr)) return attack_self(M) return -/obj/item/device/pda/proc/close(mob/user) +/obj/item/pda/proc/close(mob/user) SStgui.close_uis(src) -/obj/item/device/pda/attack_self(mob/user as mob) +/obj/item/pda/attack_self(mob/user as mob) user.set_machine(src) if(active_uplink_check(user)) @@ -211,12 +211,12 @@ var/global/list/obj/item/device/pda/PDAs = list() tgui_interact(user) return -/obj/item/device/pda/proc/start_program(datum/data/pda/P) +/obj/item/pda/proc/start_program(datum/data/pda/P) if(P && ((P in programs) || (cartridge && (P in cartridge.programs)))) return P.start() return 0 -/obj/item/device/pda/proc/find_program(type) +/obj/item/pda/proc/find_program(type) var/datum/data/pda/A = locate(type) in programs if(A) return A @@ -227,14 +227,14 @@ var/global/list/obj/item/device/pda/PDAs = list() return null // force the cache to rebuild on update_ui -/obj/item/device/pda/proc/update_shortcuts() +/obj/item/pda/proc/update_shortcuts() shortcut_cache.Cut() -/obj/item/device/pda/proc/update_programs() +/obj/item/pda/proc/update_programs() for(var/datum/data/pda/P as anything in programs) P.pda = src -/obj/item/device/pda/proc/detonate_act(var/obj/item/device/pda/P) +/obj/item/pda/proc/detonate_act(var/obj/item/pda/P) //TODO: sometimes these attacks show up on the message server var/i = rand(1,100) var/j = rand(0,1) //Possibility of losing the PDA after the detonation @@ -295,36 +295,36 @@ var/global/list/obj/item/device/pda/PDAs = list() message += "Your [P] shatters in a thousand pieces!" if(M && isliving(M)) - message = "[message]" + message = span_warning("[message]") M.show_message(message, 1) -/obj/item/device/pda/proc/remove_id() +/obj/item/pda/proc/remove_id() if (id) if (ismob(loc)) var/mob/M = loc M.put_in_hands(id) - to_chat(usr, "You remove the ID from the [name].") + to_chat(usr, span_notice("You remove the ID from the [name].")) playsound(src, 'sound/machines/id_swipe.ogg', 100, 1) else id.loc = get_turf(src) cut_overlay("pda-id") id = null -/obj/item/device/pda/proc/remove_pen() - var/obj/item/weapon/pen/O = locate() in src +/obj/item/pda/proc/remove_pen() + var/obj/item/pen/O = locate() in src if(O) if(istype(loc, /mob)) var/mob/M = loc if(M.get_active_hand() == null) M.put_in_hands(O) - to_chat(usr, "You remove \the [O] from \the [src].") + to_chat(usr, span_notice("You remove \the [O] from \the [src].")) cut_overlay("pda-pen") return O.loc = get_turf(src) else - to_chat(usr, "This PDA does not have a pen in it.") + to_chat(usr, span_notice("This PDA does not have a pen in it.")) -/obj/item/device/pda/verb/verb_reset_pda() +/obj/item/pda/verb/verb_reset_pda() set category = "Object" set name = "Reset PDA" set src in usr @@ -336,11 +336,11 @@ var/global/list/obj/item/device/pda/PDAs = list() start_program(find_program(/datum/data/pda/app/main_menu)) notifying_programs.Cut() cut_overlay("pda-r") - to_chat(usr, "You press the reset button on \the [src].") + to_chat(usr, span_notice("You press the reset button on \the [src].")) else - to_chat(usr, "You cannot do this while restrained.") + to_chat(usr, span_notice("You cannot do this while restrained.")) -/obj/item/device/pda/verb/verb_remove_id() +/obj/item/pda/verb/verb_remove_id() set category = "Object" set name = "Remove id" set src in usr @@ -352,12 +352,12 @@ var/global/list/obj/item/device/pda/PDAs = list() if(id) remove_id() else - to_chat(usr, "This PDA does not have an ID in it.") + to_chat(usr, span_notice("This PDA does not have an ID in it.")) else - to_chat(usr, "You cannot do this while restrained.") + to_chat(usr, span_notice("You cannot do this while restrained.")) -/obj/item/device/pda/verb/verb_remove_pen() +/obj/item/pda/verb/verb_remove_pen() set category = "Object" set name = "Remove pen" set src in usr @@ -368,9 +368,9 @@ var/global/list/obj/item/device/pda/PDAs = list() if ( can_use(usr) ) remove_pen() else - to_chat(usr, "You cannot do this while restrained.") + to_chat(usr, span_notice("You cannot do this while restrained.")) -/obj/item/device/pda/verb/verb_remove_cartridge() +/obj/item/pda/verb/verb_remove_cartridge() set category = "Object" set name = "Remove cartridge" set src in usr @@ -379,11 +379,11 @@ var/global/list/obj/item/device/pda/PDAs = list() return if(!can_use(usr)) - to_chat(usr, "You cannot do this while restrained.") + to_chat(usr, span_notice("You cannot do this while restrained.")) return if(isnull(cartridge)) - to_chat(usr, "There's no cartridge to eject.") + to_chat(usr, span_notice("There's no cartridge to eject.")) return cartridge.forceMove(get_turf(src)) @@ -394,7 +394,7 @@ var/global/list/obj/item/device/pda/PDAs = list() // scanmode = 0 if (cartridge.radio) cartridge.radio.hostpda = null - to_chat(usr, "You remove \the [cartridge] from the [name].") + to_chat(usr, span_notice("You remove \the [cartridge] from the [name].")) playsound(src, 'sound/machines/id_swipe.ogg', 100, 1) cartridge = null update_programs() @@ -402,20 +402,20 @@ var/global/list/obj/item/device/pda/PDAs = list() start_program(find_program(/datum/data/pda/app/main_menu)) -/obj/item/device/pda/proc/id_check(mob/user as mob, choice as num)//To check for IDs; 1 for in-pda use, 2 for out of pda use. +/obj/item/pda/proc/id_check(mob/user as mob, choice as num)//To check for IDs; 1 for in-pda use, 2 for out of pda use. if(choice == 1) if (id) remove_id() return 1 else var/obj/item/I = user.get_active_hand() - if (istype(I, /obj/item/weapon/card/id) && user.unEquip(I)) + if (istype(I, /obj/item/card/id) && user.unEquip(I)) I.loc = src id = I return 1 else - var/obj/item/weapon/card/I = user.get_active_hand() - if (istype(I, /obj/item/weapon/card/id) && I:registered_name && user.unEquip(I)) + var/obj/item/card/I = user.get_active_hand() + if (istype(I, /obj/item/card/id) && I:registered_name && user.unEquip(I)) var/obj/old_id = id I.loc = src id = I @@ -424,64 +424,64 @@ var/global/list/obj/item/device/pda/PDAs = list() return 0 // access to status display signals -/obj/item/device/pda/attackby(obj/item/C as obj, mob/user as mob) +/obj/item/pda/attackby(obj/item/C as obj, mob/user as mob) ..() - if(istype(C, /obj/item/weapon/cartridge) && !cartridge) + if(istype(C, /obj/item/cartridge) && !cartridge) cartridge = C user.drop_item() cartridge.loc = src cartridge.update_programs(src) update_shortcuts() - to_chat(usr, "You insert [cartridge] into [src].") + to_chat(usr, span_notice("You insert [cartridge] into [src].")) if(cartridge.radio) cartridge.radio.hostpda = src - else if(istype(C, /obj/item/weapon/card/id)) - var/obj/item/weapon/card/id/idcard = C + else if(istype(C, /obj/item/card/id)) + var/obj/item/card/id/idcard = C if(!idcard.registered_name) - to_chat(user, "\The [src] rejects the ID.") + to_chat(user, span_notice("\The [src] rejects the ID.")) return if(!owner) owner = idcard.registered_name ownjob = idcard.assignment ownrank = idcard.rank name = "PDA-[owner] ([ownjob])" - to_chat(user, "Card scanned.") + to_chat(user, span_notice("Card scanned.")) else //Basic safety check. If either both objects are held by user or PDA is on ground and card is in hand. if(((src in user.contents) && (C in user.contents)) || (istype(loc, /turf) && in_range(src, user) && (C in user.contents)) ) if(id_check(user, 2)) - to_chat(user, "You put the ID into \the [src]'s slot.") + to_chat(user, span_notice("You put the ID into \the [src]'s slot.")) add_overlay("pda-id") updateSelfDialog()//Update self dialog on success. return //Return in case of failed check or when successful. updateSelfDialog()//For the non-input related code. - else if(istype(C, /obj/item/device/paicard) && !src.pai) + else if(istype(C, /obj/item/paicard) && !src.pai) user.drop_item() C.loc = src pai = C - to_chat(user, "You slot \the [C] into \the [src].") + to_chat(user, span_notice("You slot \the [C] into \the [src].")) SStgui.update_uis(src) // update all UIs attached to src - else if(istype(C, /obj/item/weapon/pen)) - var/obj/item/weapon/pen/O = locate() in src + else if(istype(C, /obj/item/pen)) + var/obj/item/pen/O = locate() in src if(O) - to_chat(user, "There is already a pen in \the [src].") + to_chat(user, span_notice("There is already a pen in \the [src].")) else user.drop_item() C.loc = src - to_chat(user, "You slot \the [C] into \the [src].") + to_chat(user, span_notice("You slot \the [C] into \the [src].")) add_overlay("pda-pen") return -/obj/item/device/pda/attack(mob/living/C as mob, mob/living/user as mob) +/obj/item/pda/attack(mob/living/C as mob, mob/living/user as mob) if (istype(C, /mob/living/carbon) && scanmode) scanmode.scan_mob(C, user) -/obj/item/device/pda/afterattack(atom/A as mob|obj|turf|area, mob/user as mob, proximity) +/obj/item/pda/afterattack(atom/A as mob|obj|turf|area, mob/user as mob, proximity) if(proximity && scanmode) scanmode.scan_atom(A, user) -/obj/item/device/pda/proc/explode() //This needs tuning. //Sure did. +/obj/item/pda/proc/explode() //This needs tuning. //Sure did. if(!src.detonate) return var/turf/T = get_turf(src.loc) if(T) @@ -489,7 +489,7 @@ var/global/list/obj/item/device/pda/PDAs = list() explosion(T, 0, 0, 1, rand(1,2)) return -/obj/item/device/pda/Destroy() +/obj/item/pda/Destroy() PDAs -= src if (src.id && prob(100) && !delete_id) //IDs are kept in 90% of the cases //VOREStation Edit - 100% of the cases, excpet when specified otherwise src.id.forceMove(get_turf(src.loc)) @@ -504,28 +504,28 @@ var/global/list/obj/item/device/pda/PDAs = list() return ..() //Some spare PDAs in a box -/obj/item/weapon/storage/box/PDAs +/obj/item/storage/box/PDAs name = "box of spare PDAs" desc = "A box of spare PDA microcomputers." icon = 'icons/obj/pda_vr.dmi' //VOREStation edit icon_state = "pdabox" -/obj/item/weapon/storage/box/PDAs/New() +/obj/item/storage/box/PDAs/New() ..() - new /obj/item/device/pda(src) - new /obj/item/device/pda(src) - new /obj/item/device/pda(src) - new /obj/item/device/pda(src) - new /obj/item/weapon/cartridge/head(src) - - var/newcart = pick( /obj/item/weapon/cartridge/engineering, - /obj/item/weapon/cartridge/security, - /obj/item/weapon/cartridge/medical, - /obj/item/weapon/cartridge/signal/science, - /obj/item/weapon/cartridge/quartermaster) + new /obj/item/pda(src) + new /obj/item/pda(src) + new /obj/item/pda(src) + new /obj/item/pda(src) + new /obj/item/cartridge/head(src) + + var/newcart = pick( /obj/item/cartridge/engineering, + /obj/item/cartridge/security, + /obj/item/cartridge/medical, + /obj/item/cartridge/signal/science, + /obj/item/cartridge/quartermaster) new newcart(src) // Pass along the pulse to atoms in contents, largely added so pAIs are vulnerable to EMP -/obj/item/device/pda/emp_act(severity) +/obj/item/pda/emp_act(severity) for(var/atom/A in src) A.emp_act(severity) diff --git a/code/modules/pda/pda_subtypes.dm b/code/modules/pda/pda_subtypes.dm index 11b684b6782..feee5500d9d 100644 --- a/code/modules/pda/pda_subtypes.dm +++ b/code/modules/pda/pda_subtypes.dm @@ -1,167 +1,167 @@ -/obj/item/device/pda/medical - default_cartridge = /obj/item/weapon/cartridge/medical +/obj/item/pda/medical + default_cartridge = /obj/item/cartridge/medical icon_state = "pda-m" -/obj/item/device/pda/viro - default_cartridge = /obj/item/weapon/cartridge/medical +/obj/item/pda/viro + default_cartridge = /obj/item/cartridge/medical icon_state = "pda-v" -/obj/item/device/pda/engineering - default_cartridge = /obj/item/weapon/cartridge/engineering +/obj/item/pda/engineering + default_cartridge = /obj/item/cartridge/engineering icon_state = "pda-e" -/obj/item/device/pda/security - default_cartridge = /obj/item/weapon/cartridge/security +/obj/item/pda/security + default_cartridge = /obj/item/cartridge/security icon_state = "pda-s" -/obj/item/device/pda/detective - default_cartridge = /obj/item/weapon/cartridge/detective +/obj/item/pda/detective + default_cartridge = /obj/item/cartridge/detective icon_state = "pda-det" -/obj/item/device/pda/warden - default_cartridge = /obj/item/weapon/cartridge/security +/obj/item/pda/warden + default_cartridge = /obj/item/cartridge/security icon_state = "pda-warden" -/obj/item/device/pda/janitor - default_cartridge = /obj/item/weapon/cartridge/janitor +/obj/item/pda/janitor + default_cartridge = /obj/item/cartridge/janitor icon_state = "pda-j" ttone = "slip" -/obj/item/device/pda/science - default_cartridge = /obj/item/weapon/cartridge/signal/science +/obj/item/pda/science + default_cartridge = /obj/item/cartridge/signal/science icon_state = "pda-tox" ttone = "boom" -/obj/item/device/pda/clown - default_cartridge = /obj/item/weapon/cartridge/clown +/obj/item/pda/clown + default_cartridge = /obj/item/cartridge/clown icon_state = "pda-clown" desc = "A portable microcomputer by Thinktronic Systems, LTD. The surface is coated with polytetrafluoroethylene and banana drippings." ttone = "honk" -/obj/item/device/pda/mime - default_cartridge = /obj/item/weapon/cartridge/mime +/obj/item/pda/mime + default_cartridge = /obj/item/cartridge/mime icon_state = "pda-mime" -/obj/item/device/pda/mime/New() +/obj/item/pda/mime/New() . = ..() var/datum/data/pda/app/M = find_program(/datum/data/pda/app/messenger) if(M) M.notify_silent = TRUE -/obj/item/device/pda/heads - default_cartridge = /obj/item/weapon/cartridge/head +/obj/item/pda/heads + default_cartridge = /obj/item/cartridge/head icon_state = "pda-h" -/obj/item/device/pda/heads/hop - default_cartridge = /obj/item/weapon/cartridge/hop +/obj/item/pda/heads/hop + default_cartridge = /obj/item/cartridge/hop icon_state = "pda-hop" -/obj/item/device/pda/heads/hos - default_cartridge = /obj/item/weapon/cartridge/hos +/obj/item/pda/heads/hos + default_cartridge = /obj/item/cartridge/hos icon_state = "pda-hos" -/obj/item/device/pda/heads/ce - default_cartridge = /obj/item/weapon/cartridge/ce +/obj/item/pda/heads/ce + default_cartridge = /obj/item/cartridge/ce icon_state = "pda-ce" -/obj/item/device/pda/heads/cmo - default_cartridge = /obj/item/weapon/cartridge/cmo +/obj/item/pda/heads/cmo + default_cartridge = /obj/item/cartridge/cmo icon_state = "pda-cmo" -/obj/item/device/pda/heads/rd - default_cartridge = /obj/item/weapon/cartridge/rd +/obj/item/pda/heads/rd + default_cartridge = /obj/item/cartridge/rd icon_state = "pda-rd" -/obj/item/device/pda/captain - default_cartridge = /obj/item/weapon/cartridge/captain +/obj/item/pda/captain + default_cartridge = /obj/item/cartridge/captain icon_state = "pda-c" detonate = 0 //toff = 1 -/obj/item/device/pda/ert - default_cartridge = /obj/item/weapon/cartridge/captain +/obj/item/pda/ert + default_cartridge = /obj/item/cartridge/captain icon_state = "pda-h" detonate = 0 // hidden = 1 -/obj/item/device/pda/cargo - default_cartridge = /obj/item/weapon/cartridge/quartermaster +/obj/item/pda/cargo + default_cartridge = /obj/item/cartridge/quartermaster icon_state = "pda-cargo" -/obj/item/device/pda/quartermaster - default_cartridge = /obj/item/weapon/cartridge/quartermaster +/obj/item/pda/quartermaster + default_cartridge = /obj/item/cartridge/quartermaster icon_state = "pda-q" -/obj/item/device/pda/shaftminer +/obj/item/pda/shaftminer icon_state = "pda-miner" - default_cartridge = /obj/item/weapon/cartridge/miner + default_cartridge = /obj/item/cartridge/miner -/obj/item/device/pda/syndicate - default_cartridge = /obj/item/weapon/cartridge/syndicate +/obj/item/pda/syndicate + default_cartridge = /obj/item/cartridge/syndicate icon_state = "pda-syn" // name = "Military PDA" // Vorestation Edit // owner = "John Doe" hidden = 1 -/obj/item/device/pda/chaplain - default_cartridge = /obj/item/weapon/cartridge/service +/obj/item/pda/chaplain + default_cartridge = /obj/item/cartridge/service icon_state = "pda-holy" ttone = "holy" -/obj/item/device/pda/lawyer - default_cartridge = /obj/item/weapon/cartridge/lawyer +/obj/item/pda/lawyer + default_cartridge = /obj/item/cartridge/lawyer icon_state = "pda-lawyer" ttone = "..." -/obj/item/device/pda/botanist - default_cartridge = /obj/item/weapon/cartridge/service +/obj/item/pda/botanist + default_cartridge = /obj/item/cartridge/service icon_state = "pda-hydro" -/obj/item/device/pda/roboticist - default_cartridge = /obj/item/weapon/cartridge/signal/science +/obj/item/pda/roboticist + default_cartridge = /obj/item/cartridge/signal/science icon_state = "pda-robot" -/obj/item/device/pda/librarian - default_cartridge = /obj/item/weapon/cartridge/service +/obj/item/pda/librarian + default_cartridge = /obj/item/cartridge/service icon_state = "pda-libb" desc = "A portable microcomputer by Thinktronic Systems, LTD. This is model is a WGW-11 series e-reader." model_name = "Thinktronic 5290 WGW-11 Series E-reader and Personal Data Assistant" -/obj/item/device/pda/librarian/New() +/obj/item/pda/librarian/New() . = ..() var/datum/data/pda/app/M = find_program(/datum/data/pda/app/messenger) if(M) M.notify_silent = TRUE //Quiet in the library! -/obj/item/device/pda/clear +/obj/item/pda/clear icon_state = "pda-transp" desc = "A portable microcomputer by Thinktronic Systems, LTD. This is model is a special edition with a transparent case." model_name = "Thinktronic 5230 Personal Data Assistant Deluxe Special Max Turbo Limited Edition" -/obj/item/device/pda/chef - default_cartridge = /obj/item/weapon/cartridge/service +/obj/item/pda/chef + default_cartridge = /obj/item/cartridge/service icon_state = "pda-chef" -/obj/item/device/pda/bar - default_cartridge = /obj/item/weapon/cartridge/service +/obj/item/pda/bar + default_cartridge = /obj/item/cartridge/service icon_state = "pda-bar" -/obj/item/device/pda/atmos - default_cartridge = /obj/item/weapon/cartridge/atmos +/obj/item/pda/atmos + default_cartridge = /obj/item/cartridge/atmos icon_state = "pda-atmo" -/obj/item/device/pda/chemist - default_cartridge = /obj/item/weapon/cartridge/chemistry +/obj/item/pda/chemist + default_cartridge = /obj/item/cartridge/chemistry icon_state = "pda-chem" -/obj/item/device/pda/geneticist - default_cartridge = /obj/item/weapon/cartridge/medical +/obj/item/pda/geneticist + default_cartridge = /obj/item/cartridge/medical icon_state = "pda-gene" // Used for the PDA multicaster, which mirrors messages sent to it to a specific department, -/obj/item/device/pda/multicaster +/obj/item/pda/multicaster ownjob = "Relay" icon_state = "NONE" detonate = 0 @@ -171,76 +171,76 @@ ) var/list/cartridges_to_send_to = list() -/obj/item/device/pda/multicaster/command/New() +/obj/item/pda/multicaster/command/New() ..() owner = "Command Department" name = "Command Department (Relay)" cartridges_to_send_to = command_cartridges -/obj/item/device/pda/multicaster/security/New() +/obj/item/pda/multicaster/security/New() ..() owner = "Security Department" name = "Security Department (Relay)" cartridges_to_send_to = security_cartridges -/obj/item/device/pda/multicaster/engineering/New() +/obj/item/pda/multicaster/engineering/New() ..() owner = "Engineering Department" name = "Engineering Department (Relay)" cartridges_to_send_to = engineering_cartridges -/obj/item/device/pda/multicaster/medical/New() +/obj/item/pda/multicaster/medical/New() ..() owner = "Medical Department" name = "Medical Department (Relay)" cartridges_to_send_to = medical_cartridges -/obj/item/device/pda/multicaster/research/New() +/obj/item/pda/multicaster/research/New() ..() owner = "Research Department" name = "Research Department (Relay)" cartridges_to_send_to = research_cartridges -/obj/item/device/pda/multicaster/cargo/New() +/obj/item/pda/multicaster/cargo/New() ..() owner = "Cargo Department" name = "Cargo Department (Relay)" cartridges_to_send_to = cargo_cartridges -/obj/item/device/pda/multicaster/civilian/New() +/obj/item/pda/multicaster/civilian/New() ..() owner = "Civilian Services Department" name = "Civilian Services Department (Relay)" cartridges_to_send_to = civilian_cartridges -/obj/item/device/pda/clown/Crossed(atom/movable/AM as mob|obj) //Clown PDA is slippery. +/obj/item/pda/clown/Crossed(atom/movable/AM as mob|obj) //Clown PDA is slippery. if(AM.is_incorporeal()) return if (istype(AM, /mob/living)) var/mob/living/M = AM - if(M.slip("the PDA",8) && M.real_name != src.owner && istype(src.cartridge, /obj/item/weapon/cartridge/clown)) + if(M.slip("the PDA",8) && M.real_name != src.owner && istype(src.cartridge, /obj/item/cartridge/clown)) if(src.cartridge.charges < 5) src.cartridge.charges++ //Some spare PDAs in a box -/obj/item/weapon/storage/box/PDAs +/obj/item/storage/box/PDAs name = "box of spare PDAs" desc = "A box of spare PDA microcomputers." icon = 'icons/obj/pda.dmi' icon_state = "pdabox" -/obj/item/weapon/storage/box/PDAs/New() +/obj/item/storage/box/PDAs/New() ..() - new /obj/item/device/pda(src) - new /obj/item/device/pda(src) - new /obj/item/device/pda(src) - new /obj/item/device/pda(src) - new /obj/item/weapon/cartridge/head(src) - - var/newcart = pick( /obj/item/weapon/cartridge/engineering, - /obj/item/weapon/cartridge/security, - /obj/item/weapon/cartridge/medical, - /obj/item/weapon/cartridge/signal/science, - /obj/item/weapon/cartridge/quartermaster) + new /obj/item/pda(src) + new /obj/item/pda(src) + new /obj/item/pda(src) + new /obj/item/pda(src) + new /obj/item/cartridge/head(src) + + var/newcart = pick( /obj/item/cartridge/engineering, + /obj/item/cartridge/security, + /obj/item/cartridge/medical, + /obj/item/cartridge/signal/science, + /obj/item/cartridge/quartermaster) new newcart(src) diff --git a/code/modules/pda/pda_tgui.dm b/code/modules/pda/pda_tgui.dm index 036ec1fbe47..5fa161170d5 100644 --- a/code/modules/pda/pda_tgui.dm +++ b/code/modules/pda/pda_tgui.dm @@ -1,14 +1,14 @@ // Self contained file for all things TGUI -/obj/item/device/pda/tgui_state(mob/user) +/obj/item/pda/tgui_state(mob/user) return GLOB.tgui_inventory_state -/obj/item/device/pda/tgui_interact(mob/user, datum/tgui/ui, datum/tgui/parent_ui) +/obj/item/pda/tgui_interact(mob/user, datum/tgui/ui, datum/tgui/parent_ui) ui = SStgui.try_update_ui(user, src, ui) if(!ui) ui = new(user, src, "Pda", "Personal Data Assistant", parent_ui) ui.open() -/obj/item/device/pda/tgui_data(mob/user, datum/tgui/ui, datum/tgui_state/state) +/obj/item/pda/tgui_data(mob/user, datum/tgui/ui, datum/tgui_state/state) var/list/data = ..() data["owner"] = owner // Who is your daddy... @@ -59,12 +59,12 @@ return data -/obj/item/device/pda/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state) +/obj/item/pda/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state) if(..()) return TRUE - add_fingerprint(usr) - usr.set_machine(src) + add_fingerprint(ui.user) + ui.user.set_machine(src) if(!touch_silent) playsound(src, 'sound/machines/pda_click.ogg', 20) @@ -85,7 +85,7 @@ var/turf/T = loc if(ismob(T)) T = T.loc - var/obj/item/weapon/cartridge/C = cartridge + var/obj/item/cartridge/C = cartridge C.forceMove(T) if(scanmode in C.programs) scanmode = null @@ -99,7 +99,7 @@ cartridge = null update_shortcuts() if("Authenticate")//Checks for ID - id_check(usr, 1) + id_check(ui.user, 1) if("Retro") retro_mode = !retro_mode if("TouchSounds") diff --git a/code/modules/pda/pda_vr.dm b/code/modules/pda/pda_vr.dm index d469efea076..5eac329d531 100644 --- a/code/modules/pda/pda_vr.dm +++ b/code/modules/pda/pda_vr.dm @@ -1,29 +1,29 @@ -/obj/item/device/pda +/obj/item/pda var/delete_id = FALSE //Guaranteed deletion of ID upon deletion of PDA -/obj/item/device/pda/multicaster/exploration/New() +/obj/item/pda/multicaster/exploration/New() ..() owner = "Away Team" name = "Away Team (Relay)" cartridges_to_send_to = exploration_cartridges -/obj/item/device/pda/centcom - default_cartridge = /obj/item/weapon/cartridge/captain +/obj/item/pda/centcom + default_cartridge = /obj/item/cartridge/captain icon_state = "pda-h" detonate = 0 // hidden = 1 -/obj/item/device/pda/pathfinder - default_cartridge = /obj/item/weapon/cartridge/explorer +/obj/item/pda/pathfinder + default_cartridge = /obj/item/cartridge/explorer icon_state = "pda-transp" //Might as well let this sprite actually get seen, otherwise it's going to be hidden forever. -/obj/item/device/pda/explorer - default_cartridge = /obj/item/weapon/cartridge/explorer +/obj/item/pda/explorer + default_cartridge = /obj/item/cartridge/explorer icon_state = "pda-explore" //Explorer's can get the PF's old style instead, rather than re-using the detective PDA -/obj/item/device/pda/sar - default_cartridge = /obj/item/weapon/cartridge/sar +/obj/item/pda/sar + default_cartridge = /obj/item/cartridge/sar icon_state = "pda-sar" //Gives FM's a distinct PDA of their own, rather than sharing with the bridge-secretary & CCO's. -/obj/item/device/pda/pilot +/obj/item/pda/pilot icon_state = "pda-pilot" //New sprites, but still no ROM cartridge or anything diff --git a/code/modules/pda/radio.dm b/code/modules/pda/radio.dm index 87177c18e36..b16db773cd9 100644 --- a/code/modules/pda/radio.dm +++ b/code/modules/pda/radio.dm @@ -3,23 +3,23 @@ desc = "An electronic radio system." icon = 'icons/obj/module.dmi' icon_state = "power_mod" - var/obj/item/device/pda/hostpda = null + var/obj/item/pda/hostpda = null var/list/botlist = null // list of bots var/mob/living/bot/active // the active bot; if null, show bot list var/list/botstatus // the status signal sent by the bot - + var/bot_type //The type of bot it is. var/bot_filter //Determines which radio filter to use. var/control_freq = BOT_FREQ - var/on = 0 //Are we currently active?? + on = 0 //Are we currently active?? var/menu_message = "" /obj/item/radio/integrated/New() ..() - if(istype(loc.loc, /obj/item/device/pda)) + if(istype(loc.loc, /obj/item/pda)) hostpda = loc.loc if(bot_filter) spawn(5) @@ -95,10 +95,8 @@ * Radio Cartridge, essentially a signaler. */ /obj/item/radio/integrated/signal - var/frequency = 1457 + frequency = 1457 var/code = 30.0 - var/last_transmission - var/datum/radio_frequency/radio_connection /obj/item/radio/integrated/signal/Destroy() if(radio_controller) @@ -113,7 +111,7 @@ src.frequency = sanitize_frequency(src.frequency) set_frequency(frequency) -/obj/item/radio/integrated/signal/proc/set_frequency(new_frequency) +/obj/item/radio/integrated/signal/set_frequency(new_frequency) radio_controller.remove_object(src, frequency) frequency = new_frequency radio_connection = radio_controller.add_object(src, frequency) diff --git a/code/modules/pda/utilities.dm b/code/modules/pda/utilities.dm index 65c2484378c..0fdc380fe61 100644 --- a/code/modules/pda/utilities.dm +++ b/code/modules/pda/utilities.dm @@ -45,30 +45,28 @@ icon = "heart-o" /datum/data/pda/utility/scanmode/medical/scan_mob(mob/living/C as mob, mob/living/user as mob) - C.visible_message("[user] has analyzed [C]'s vitals!") - - user.show_message("Analyzing Results for [C]:") - user.show_message(" Overall Status: [C.stat > 1 ? "dead" : "[C.health - C.halloss]% healthy"]", 1) - user.show_message(text(" Damage Specifics: []-[]-[]-[]", - (C.getOxyLoss() > 50) ? "warning" : "", C.getOxyLoss(), - (C.getToxLoss() > 50) ? "warning" : "", C.getToxLoss(), - (C.getFireLoss() > 50) ? "warning" : "", C.getFireLoss(), - (C.getBruteLoss() > 50) ? "warning" : "", C.getBruteLoss() - ), 1) - user.show_message(" Key: Suffocation/Toxin/Burns/Brute", 1) - user.show_message(" Body Temperature: [C.bodytemperature-T0C]°C ([C.bodytemperature*1.8-459.67]°F)", 1) + C.visible_message(span_warning("[user] has analyzed [C]'s vitals!")) + + user.show_message(span_notice("Analyzing Results for [C]:")) + user.show_message(span_notice(" Overall Status: [C.stat > 1 ? "dead" : "[C.health - C.halloss]% healthy"]"), 1) + user.show_message(span_notice(" Damage Specifics:") + " [(C.getOxyLoss() > 50) ? span_warning(C.getOxyLoss()) : C.getOxyLoss()]-\ + [(C.getToxLoss() > 50) ? span_warning(C.getToxLoss()) : C.getToxLoss()]-\ + [(C.getFireLoss() > 50) ? span_warning(C.getFireLoss()) : C.getFireLoss()]-\ + [(C.getBruteLoss() > 50) ? span_warning(C.getBruteLoss()) : C.getBruteLoss()]", 1) + user.show_message(span_notice(" Key: Suffocation/Toxin/Burns/Brute"), 1) + user.show_message(span_notice(" Body Temperature: [C.bodytemperature-T0C]°C ([C.bodytemperature*1.8-459.67]°F)"), 1) if(C.tod && (C.stat == DEAD || (C.status_flags & FAKEDEATH))) - user.show_message(" Time of Death: [C.tod]") + user.show_message(span_notice(" Time of Death: [C.tod]")) if(istype(C, /mob/living/carbon/human)) var/mob/living/carbon/human/H = C var/list/damaged = H.get_damaged_organs(1,1) - user.show_message("Localized Damage, Brute/Burn:",1) + user.show_message(span_notice("Localized Damage, Brute/Burn:"),1) if(length(damaged)>0) for(var/obj/item/organ/external/org in damaged) - user.show_message(text(" []: []-[]", - capitalize(org.name), (org.brute_dam > 0) ? "warning" : "notice", org.brute_dam, (org.burn_dam > 0) ? "warning" : "notice", org.burn_dam),1) + user.show_message(span_notice(" [capitalize(org.name)]: [(org.brute_dam > 0) ? span_warning("[org.brute_dam]") : span_notice("[org.brute_dam]")]-\ + [(org.burn_dam > 0) ? span_warning("[org.burn_dam]") : span_notice("[org.burn_dam]")]"), 1) else - user.show_message(" Limbs are OK.",1) + user.show_message(span_notice(" Limbs are OK."),1) /datum/data/pda/utility/scanmode/dna base_name = "DNA Scanner" @@ -78,9 +76,9 @@ if(istype(C, /mob/living/carbon/human)) var/mob/living/carbon/human/H = C if(!istype(H.dna, /datum/dna)) - to_chat(user, "No fingerprints found on [H]") + to_chat(user, span_notice("No fingerprints found on [H]")) else - to_chat(user, "[H]'s Fingerprints: [md5(H.dna.uni_identity)]") + to_chat(user, span_notice("[H]'s Fingerprints: [md5(H.dna.uni_identity)]")) scan_blood(C, user) /datum/data/pda/utility/scanmode/dna/scan_atom(atom/A as mob|obj|turf|area, mob/user as mob) @@ -88,27 +86,27 @@ /datum/data/pda/utility/scanmode/dna/proc/scan_blood(atom/A, mob/user) if(!A.blood_DNA) - to_chat(user, "No blood found on [A]") + to_chat(user, span_notice("No blood found on [A]")) if(A.blood_DNA) qdel(A.blood_DNA) else - to_chat(user, "Blood found on [A]. Analysing...") + to_chat(user, span_notice("Blood found on [A]. Analysing...")) spawn(15) for(var/blood in A.blood_DNA) - to_chat(user, "Blood type: [A.blood_DNA[blood]]\nDNA: [blood]") + to_chat(user, span_notice("Blood type: [A.blood_DNA[blood]]\nDNA: [blood]")) /datum/data/pda/utility/scanmode/halogen base_name = "Halogen Counter" icon = "exclamation-circle" /datum/data/pda/utility/scanmode/halogen/scan_mob(mob/living/C as mob, mob/living/user as mob) - C.visible_message("[user] has analyzed [C]'s radiation levels!") + C.visible_message(span_warning("[user] has analyzed [C]'s radiation levels!")) - user.show_message("Analyzing Results for [C]:") + user.show_message(span_notice("Analyzing Results for [C]:")) if(C.radiation) - user.show_message("Radiation Level: [C.radiation > 0 ? "[C.radiation]" : "0"]") + user.show_message(span_notice("Radiation Level: [C.radiation > 0 ? span_danger("[C.radiation]") : "0"]")) else - user.show_message("No radiation detected.") + user.show_message(span_notice("No radiation detected.")) /datum/data/pda/utility/scanmode/reagent base_name = "Reagent Scanner" @@ -118,13 +116,13 @@ if(!isnull(A.reagents)) if(A.reagents.reagent_list.len > 0) var/reagents_length = A.reagents.reagent_list.len - to_chat(user, "[reagents_length] chemical agent[reagents_length > 1 ? "s" : ""] found.") + to_chat(user, span_notice("[reagents_length] chemical agent[reagents_length > 1 ? "s" : ""] found.")) for(var/re in A.reagents.reagent_list) - to_chat(user, "\t [re]") + to_chat(user, span_notice("\t [re]")) else - to_chat(user, "No active chemical agents found in [A].") + to_chat(user, span_notice("No active chemical agents found in [A].")) else - to_chat(user, "No significant chemical agents found in [A].") + to_chat(user, span_notice("No significant chemical agents found in [A].")) /datum/data/pda/utility/scanmode/gas base_name = "Gas Scanner" @@ -143,8 +141,8 @@ notes = pda.find_program(/datum/data/pda/app/notekeeper) /datum/data/pda/utility/scanmode/notes/scan_atom(atom/A as mob|obj|turf|area, mob/user as mob) - if(notes && istype(A, /obj/item/weapon/paper)) - var/obj/item/weapon/paper/P = A + if(notes && istype(A, /obj/item/paper)) + var/obj/item/paper/P = A var/list/brlist = list("p", "/p", "br", "hr", "h1", "h2", "h3", "h4", "/h1", "/h2", "/h3", "/h4") // JMO 20140705: Makes scanned document show up properly in the notes. Not pretty for formatted documents, @@ -189,7 +187,7 @@ var/scannedtitle = "Paper" if(!isnull(notes.notetitle) && notes.notetitle != "") scannedtitle = "'[notes.notetitle]'" - to_chat(user, "[scannedtitle] scanned to Notekeeper in note [alphabet_uppercase[notes.currentnote]].")//concept of scanning paper copyright brainoblivion 2009 + to_chat(user, span_notice("[scannedtitle] scanned to Notekeeper in note [alphabet_uppercase[notes.currentnote]]."))//concept of scanning paper copyright brainoblivion 2009 else - to_chat(user, "Error scanning [A].") + to_chat(user, span_warning("Error scanning [A].")) diff --git a/code/modules/persistence/datum/persistence_datum.dm b/code/modules/persistence/datum/persistence_datum.dm index c3c154cce42..0f35c7af3d9 100644 --- a/code/modules/persistence/datum/persistence_datum.dm +++ b/code/modules/persistence/datum/persistence_datum.dm @@ -85,7 +85,7 @@ if(!T || !(T.z in using_map.persist_levels) ) return FALSE var/area/A = get_area(T) - if(!A || (A.flags & AREA_FLAG_IS_NOT_PERSISTENT)) + if(!A || (A.flag_check(AREA_FLAG_IS_NOT_PERSISTENT))) return FALSE return TRUE diff --git a/code/modules/persistence/effects/filth.dm b/code/modules/persistence/effects/filth.dm index 0b2a34109b4..c1fa359bac0 100644 --- a/code/modules/persistence/effects/filth.dm +++ b/code/modules/persistence/effects/filth.dm @@ -9,7 +9,7 @@ /datum/persistent/filth/CheckTokenSanity(var/list/token) // byond's json implementation is "questionable", and uses types as keys and values without quotes sometimes even though they aren't valid json token["path"] = istext(token["path"]) ? text2path(token["path"]) : token["path"] - return ..() && ispath(token["path"]) + return ..() && ispath(token["path"]) && (!saves_dirt || isnum(token["dirt"])) /datum/persistent/filth/CheckTurfContents(var/turf/T, var/list/token) var/_path = token["path"] @@ -17,16 +17,29 @@ /datum/persistent/filth/CreateEntryInstance(var/turf/creating, var/list/token) var/_path = token["path"] - new _path(creating, token["age"]+1) + if (isspace(creating) || iswall(creating) ||isopenspace(creating)) + return + if (saves_dirt) + new _path(creating, token["age"]+1, token["dirt"]) + else + new _path(creating, token["age"]+1) /datum/persistent/filth/GetEntryAge(var/atom/entry) var/obj/effect/decal/cleanable/filth = entry return filth.age +/datum/persistent/filth/proc/GetEntryDirt(var/atom/entry) + var/turf/simulated/T = get_turf(entry) + if (istype(T)) + return T.dirt + return 0 + /datum/persistent/filth/proc/GetEntryPath(var/atom/entry) var/obj/effect/decal/cleanable/filth = entry return filth.generic_filth ? /obj/effect/decal/cleanable/filth : filth.type /datum/persistent/filth/CompileEntry(var/atom/entry) . = ..() - LAZYADDASSOC(., "path", "[GetEntryPath(entry)]") \ No newline at end of file + LAZYADDASSOC(., "path", "[GetEntryPath(entry)]") + if (saves_dirt) + LAZYADDASSOC(., "dirt", GetEntryDirt(entry)) diff --git a/code/modules/persistence/effects/filth_vr.dm b/code/modules/persistence/effects/filth_vr.dm deleted file mode 100644 index 34733d4bc81..00000000000 --- a/code/modules/persistence/effects/filth_vr.dm +++ /dev/null @@ -1,23 +0,0 @@ -/datum/persistent/filth/CheckTokenSanity(var/list/token) - . = ..() - return saves_dirt ? . && isnum(token["dirt"]) : . - -/datum/persistent/filth/CreateEntryInstance(var/turf/creating, var/list/token) - var/_path = token["path"] - if (isspace(creating) || iswall(creating) ||isopenspace(creating)) - return - if (saves_dirt) - new _path(creating, token["age"]+1, token["dirt"]) - else - new _path(creating, token["age"]+1) - -/datum/persistent/filth/proc/GetEntryDirt(var/atom/entry) - var/turf/simulated/T = get_turf(entry) - if (istype(T)) - return T.dirt - return 0 - -/datum/persistent/filth/CompileEntry(var/atom/entry) - . = ..() - if (saves_dirt) - LAZYADDASSOC(., "dirt", GetEntryDirt(entry)) diff --git a/code/modules/persistence/effects/paper.dm b/code/modules/persistence/effects/paper.dm index 35c13510db7..9b8943e3ba5 100644 --- a/code/modules/persistence/effects/paper.dm +++ b/code/modules/persistence/effects/paper.dm @@ -2,7 +2,7 @@ name = "paper" entries_expire_at = 50 has_admin_data = TRUE - var/paper_type = /obj/item/weapon/paper + var/paper_type = /obj/item/paper var/requires_noticeboard = TRUE /datum/persistent/paper/CheckTurfContents(var/turf/T, var/list/token) @@ -14,7 +14,7 @@ var/obj/structure/noticeboard/board = locate() in creating if(requires_noticeboard && LAZYLEN(board.notices) >= board.max_notices) return - var/obj/item/weapon/paper/paper = new paper_type(creating) + var/obj/item/paper/paper = new paper_type(creating) paper.info = token["message"] paper.name = token["title"] if(!paper.name) @@ -28,18 +28,18 @@ return paper /datum/persistent/paper/GetEntryAge(var/atom/entry) - var/obj/item/weapon/paper/paper = entry + var/obj/item/paper/paper = entry return paper.age /datum/persistent/paper/CompileEntry(var/atom/entry, var/write_file) . = ..() - var/obj/item/weapon/paper/paper = entry + var/obj/item/paper/paper = entry LAZYADDASSOC(., "author", "[paper.last_modified_ckey ? paper.last_modified_ckey : "unknown"]") LAZYADDASSOC(., "message", "[paper.info]") LAZYADDASSOC(., "name", "[paper.name]") /datum/persistent/paper/GetAdminDataStringFor(var/thing, var/can_modify, var/mob/user) - var/obj/item/weapon/paper/paper = thing + var/obj/item/paper/paper = thing if(can_modify) . = "
    [paper.info][paper.name][paper.last_modified_ckey]Destroy
    ERROR" + span_red("ERROR") + "
    @@ -67,9 +67,9 @@ dat += "" if(I.stat & (BROKEN|NOPOWER)) - dat += "" - dat += "" - dat += "" + dat += "" + dat += "" + dat += "" else dat += "" if(I.cur_assembly) @@ -116,7 +116,7 @@ /obj/machinery/computer/fusion_fuel_control/attackby(var/obj/item/W, var/mob/user) ..() - if(istype(W, /obj/item/device/multitool)) + if(istype(W, /obj/item/multitool)) var/new_ident = tgui_input_text(usr, "Enter a new ident tag.", "Fuel Control", monitor.fuel_tag, MAX_NAME_LEN) new_ident = sanitize(new_ident,MAX_NAME_LEN) if(new_ident && user.Adjacent(src)) diff --git a/code/modules/power/fusion/fuel_assembly/fuel_injector.dm b/code/modules/power/fusion/fuel_assembly/fuel_injector.dm index 764d26c8734..110ebb199a4 100644 --- a/code/modules/power/fusion/fuel_assembly/fuel_injector.dm +++ b/code/modules/power/fusion/fuel_assembly/fuel_injector.dm @@ -11,12 +11,12 @@ GLOBAL_LIST_EMPTY(fuel_injectors) idle_power_usage = 10 active_power_usage = 500 - circuit = /obj/item/weapon/circuitboard/fusion_injector + circuit = /obj/item/circuitboard/fusion_injector var/fuel_usage = 30 var/id_tag var/injecting = 0 - var/obj/item/weapon/fuel_assembly/cur_assembly + var/obj/item/fuel_assembly/cur_assembly /obj/machinery/fusion_fuel_injector/Initialize() . = ..() @@ -42,24 +42,24 @@ GLOBAL_LIST_EMPTY(fuel_injectors) /obj/machinery/fusion_fuel_injector/attackby(obj/item/W, mob/user) - if(istype(W, /obj/item/device/multitool)) + if(istype(W, /obj/item/multitool)) var/new_ident = tgui_input_text(usr, "Enter a new ident tag.", "Fuel Injector", id_tag, MAX_NAME_LEN) new_ident = sanitize(new_ident,MAX_NAME_LEN) if(new_ident && user.Adjacent(src)) id_tag = new_ident return - if(istype(W, /obj/item/weapon/fuel_assembly)) + if(istype(W, /obj/item/fuel_assembly)) if(injecting) - to_chat(user, "Shut \the [src] off before playing with the fuel rod!") + to_chat(user, span_warning("Shut \the [src] off before playing with the fuel rod!")) return if(cur_assembly) cur_assembly.forceMove(get_turf(src)) - visible_message("\The [user] swaps \the [src]'s [cur_assembly] for \a [W].") + visible_message(span_infoplain(span_bold("\The [user]") + " swaps \the [src]'s [cur_assembly] for \a [W].")) else - visible_message("\The [user] inserts \a [W] into \the [src].") + visible_message(span_infoplain(span_bold("\The [user]") + " inserts \a [W] into \the [src].")) user.drop_from_inventory(W) W.forceMove(src) @@ -69,9 +69,9 @@ GLOBAL_LIST_EMPTY(fuel_injectors) cur_assembly = W return - if(W.has_tool_quality(TOOL_WRENCH) || W.has_tool_quality(TOOL_SCREWDRIVER) || W.has_tool_quality(TOOL_CROWBAR) || istype(W, /obj/item/weapon/storage/part_replacer)) + if(W.has_tool_quality(TOOL_WRENCH) || W.has_tool_quality(TOOL_SCREWDRIVER) || W.has_tool_quality(TOOL_CROWBAR) || istype(W, /obj/item/storage/part_replacer)) if(injecting) - to_chat(user, "Shut \the [src] off first!") + to_chat(user, span_warning("Shut \the [src] off first!")) return if(default_unfasten_wrench(user, W)) return @@ -87,17 +87,17 @@ GLOBAL_LIST_EMPTY(fuel_injectors) /obj/machinery/fusion_fuel_injector/attack_hand(mob/user) if(injecting) - to_chat(user, "Shut \the [src] off before playing with the fuel rod!") + to_chat(user, span_warning("Shut \the [src] off before playing with the fuel rod!")) return if(cur_assembly) cur_assembly.forceMove(get_turf(src)) user.put_in_hands(cur_assembly) - visible_message("\The [user] removes \the [cur_assembly] from \the [src].") + visible_message(span_infoplain(span_bold("\The [user]") + " removes \the [cur_assembly] from \the [src].")) cur_assembly = null return else - to_chat(user, "There is no fuel rod in \the [src].") + to_chat(user, span_warning("There is no fuel rod in \the [src].")) return /obj/machinery/fusion_fuel_injector/proc/BeginInjecting() diff --git a/code/modules/power/fusion/fusion_circuits.dm b/code/modules/power/fusion/fusion_circuits.dm index f03d9c2db28..998dbb33aad 100644 --- a/code/modules/power/fusion/fusion_circuits.dm +++ b/code/modules/power/fusion/fusion_circuits.dm @@ -1,99 +1,99 @@ -/obj/item/weapon/circuitboard/fusion_core_control +/obj/item/circuitboard/fusion_core_control name = "circuit board (fusion core controller)" build_path = /obj/machinery/computer/fusion_core_control origin_tech = list(TECH_DATA = 4, TECH_ENGINEERING = 4) -/obj/item/weapon/circuitboard/fusion_fuel_compressor +/obj/item/circuitboard/fusion_fuel_compressor name = "circuit board (fusion fuel compressor)" build_path = /obj/machinery/fusion_fuel_compressor board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_POWER = 3, TECH_ENGINEERING = 4, TECH_MATERIAL = 4) req_components = list( - /obj/item/weapon/stock_parts/manipulator/nano = 2, - /obj/item/weapon/stock_parts/matter_bin/super = 2, - /obj/item/weapon/stock_parts/console_screen = 1, + /obj/item/stock_parts/manipulator/nano = 2, + /obj/item/stock_parts/matter_bin/super = 2, + /obj/item/stock_parts/console_screen = 1, /obj/item/stack/cable_coil = 5 ) -/obj/item/weapon/circuitboard/fusion_fuel_control +/obj/item/circuitboard/fusion_fuel_control name = "circuit board (fusion fuel controller)" build_path = /obj/machinery/computer/fusion_fuel_control origin_tech = list(TECH_DATA = 4, TECH_ENGINEERING = 4) -/obj/item/weapon/circuitboard/gyrotron_control +/obj/item/circuitboard/gyrotron_control name = "circuit board (gyrotron controller)" build_path = /obj/machinery/computer/gyrotron_control origin_tech = list(TECH_DATA = 4, TECH_ENGINEERING = 4) -/obj/item/weapon/circuitboard/fusion_core +/obj/item/circuitboard/fusion_core name = "internal circuitry (fusion core)" build_path = /obj/machinery/power/fusion_core board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_BLUESPACE = 2, TECH_MAGNET = 4, TECH_POWER = 4) req_components = list( - /obj/item/weapon/stock_parts/manipulator/nano = 2, - /obj/item/weapon/stock_parts/micro_laser/high = 1, - /obj/item/weapon/stock_parts/console_screen = 1, + /obj/item/stock_parts/manipulator/nano = 2, + /obj/item/stock_parts/micro_laser/high = 1, + /obj/item/stock_parts/console_screen = 1, /obj/item/stack/cable_coil = 5 ) -/obj/item/weapon/circuitboard/fusion_injector +/obj/item/circuitboard/fusion_injector name = "internal circuitry (fusion fuel injector)" build_path = /obj/machinery/fusion_fuel_injector board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_POWER = 3, TECH_ENGINEERING = 4, TECH_MATERIAL = 4) req_components = list( - /obj/item/weapon/stock_parts/manipulator/nano = 2, - /obj/item/weapon/stock_parts/scanning_module/adv = 1, - /obj/item/weapon/stock_parts/matter_bin/super = 1, - /obj/item/weapon/stock_parts/console_screen = 1, + /obj/item/stock_parts/manipulator/nano = 2, + /obj/item/stock_parts/scanning_module/adv = 1, + /obj/item/stock_parts/matter_bin/super = 1, + /obj/item/stock_parts/console_screen = 1, /obj/item/stack/cable_coil = 5 ) -/obj/item/weapon/circuitboard/gyrotron +/obj/item/circuitboard/gyrotron name = "circuit board (gyrotron)" build_path = /obj/machinery/power/emitter/gyrotron board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_POWER = 4, TECH_ENGINEERING = 4, TECH_MATERIAL = 5, TECH_MAGNET = 3) req_components = list( - /obj/item/weapon/stock_parts/scanning_module/adv = 1, - /obj/item/weapon/stock_parts/micro_laser/high = 3, - /obj/item/weapon/stock_parts/capacitor/adv = 1 + /obj/item/stock_parts/scanning_module/adv = 1, + /obj/item/stock_parts/micro_laser/high = 3, + /obj/item/stock_parts/capacitor/adv = 1 ) /datum/design/circuit/fusion name = "fusion core control console" id = "fusion_core_control" - build_path = /obj/item/weapon/circuitboard/fusion_core_control + build_path = /obj/item/circuitboard/fusion_core_control sort_string = "LAAAD" req_tech = list(TECH_POWER = 3, TECH_ENGINEERING = 3, TECH_MATERIAL = 3) /datum/design/circuit/fusion/fuel_compressor name = "fusion fuel compressor" id = "fusion_fuel_compressor" - build_path = /obj/item/weapon/circuitboard/fusion_fuel_compressor + build_path = /obj/item/circuitboard/fusion_fuel_compressor sort_string = "LAAAE" /datum/design/circuit/fusion/fuel_control name = "fusion fuel control console" id = "fusion_fuel_control" - build_path = /obj/item/weapon/circuitboard/fusion_fuel_control + build_path = /obj/item/circuitboard/fusion_fuel_control sort_string = "LAAAF" /datum/design/circuit/fusion/gyrotron_control name = "gyrotron control console" id = "gyrotron_control" - build_path = /obj/item/weapon/circuitboard/gyrotron_control + build_path = /obj/item/circuitboard/gyrotron_control sort_string = "LAAAG" /datum/design/circuit/fusion/core name = "fusion core" id = "fusion_core" - build_path = /obj/item/weapon/circuitboard/fusion_core + build_path = /obj/item/circuitboard/fusion_core sort_string = "LAAAH" /datum/design/circuit/fusion/injector name = "fusion fuel injector" id = "fusion_injector" - build_path = /obj/item/weapon/circuitboard/fusion_injector + build_path = /obj/item/circuitboard/fusion_injector sort_string = "LAAAI" diff --git a/code/modules/power/fusion/gyrotron/gyrotron.dm b/code/modules/power/fusion/gyrotron/gyrotron.dm index b84d04871e4..f9177bcecc9 100644 --- a/code/modules/power/fusion/gyrotron/gyrotron.dm +++ b/code/modules/power/fusion/gyrotron/gyrotron.dm @@ -10,7 +10,7 @@ GLOBAL_LIST_EMPTY(gyrotrons) use_power = USE_POWER_IDLE active_power_usage = 50000 - circuit = /obj/item/weapon/circuitboard/gyrotron + circuit = /obj/item/circuitboard/gyrotron var/id_tag var/rate = 3 @@ -52,7 +52,7 @@ GLOBAL_LIST_EMPTY(gyrotrons) icon_state = "emitter-off" /obj/machinery/power/emitter/gyrotron/attackby(var/obj/item/W, var/mob/user) - if(istype(W, /obj/item/device/multitool)) + if(istype(W, /obj/item/multitool)) var/new_ident = tgui_input_text(usr, "Enter a new ident tag.", "Gyrotron", id_tag, MAX_NAME_LEN) new_ident = sanitize(new_ident,MAX_NAME_LEN) if(new_ident && user.Adjacent(src)) diff --git a/code/modules/power/fusion/gyrotron/gyrotron_control.dm b/code/modules/power/fusion/gyrotron/gyrotron_control.dm index 1979e091ad8..c96e11644ce 100644 --- a/code/modules/power/fusion/gyrotron/gyrotron_control.dm +++ b/code/modules/power/fusion/gyrotron/gyrotron_control.dm @@ -2,7 +2,7 @@ name = "gyrotron control console" desc = "Used to control the R-UST stability beams." light_color = COLOR_BLUE - circuit = /obj/item/weapon/circuitboard/gyrotron_control + circuit = /obj/item/circuitboard/gyrotron_control icon_keyboard = "generic_key" icon_screen = "mass_driver" @@ -44,15 +44,15 @@ return if(!id_tag) - to_chat(user, "This console has not been assigned an ident tag. Please contact your system administrator or conduct a manual update with a standard multitool.") + to_chat(user, span_warning("This console has not been assigned an ident tag. Please contact your system administrator or conduct a manual update with a standard multitool.")) return - var/dat = "
    ERRORERRORERROR" + span_danger("ERROR") + "" + span_danger("ERROR") + "" + span_danger("ERROR") + "[I.cur_assembly ? I.cur_assembly.fuel_type : "NONE"]Gyrotron controller #[id_tag]" + var/dat = "" + span_bold("Gyrotron controller #[id_tag]") dat = "" - dat += "" - dat += "" - dat += "" + dat += "" + dat += "" + dat += "" dat += "" for(var/obj/machinery/power/emitter/gyrotron/G in gyrotrons) @@ -61,9 +61,9 @@ dat += "" if(G.state != 2 || (G.stat & (NOPOWER | BROKEN))) //Error data not found. - dat += "" - dat += "" - dat += "" + dat += "" + dat += "" + dat += "" else dat += "" dat += "" @@ -92,7 +92,7 @@ if(href_list["modifypower"]) var/new_val = input(usr, "Enter new emission power level (1 - 50)", "Modifying power level", G.mega_energy) as num if(!new_val) - to_chat(usr, "That's not a valid number.") + to_chat(usr, span_warning("That's not a valid number.")) return 1 G.mega_energy = CLAMP(new_val, 1, 50) G.update_active_power_usage(G.mega_energy * 1500) @@ -102,7 +102,7 @@ if(href_list["modifyrate"]) var/new_val = input(usr, "Enter new emission delay between 1 and 10 seconds.", "Modifying emission rate", G.rate) as num if(!new_val) - to_chat(usr, "That's not a valid number.") + to_chat(usr, span_warning("That's not a valid number.")) return 1 G.rate = CLAMP(new_val, 1, 10) updateUsrDialog() @@ -118,7 +118,7 @@ /obj/machinery/computer/gyrotron_control/attackby(var/obj/item/W, var/mob/user) ..() - if(istype(W, /obj/item/device/multitool)) + if(istype(W, /obj/item/multitool)) var/new_ident = tgui_input_text(usr, "Enter a new ident tag.", "Gyrotron Control", monitor.gyro_tag, MAX_NAME_LEN) new_ident = sanitize(new_ident,MAX_NAME_LEN) if(new_ident && user.Adjacent(src)) diff --git a/code/modules/power/generator.dm b/code/modules/power/generator.dm index f528d4025b9..4bb014596d8 100644 --- a/code/modules/power/generator.dm +++ b/code/modules/power/generator.dm @@ -169,7 +169,7 @@ GLOBAL_LIST_EMPTY(all_turbines) /obj/machinery/power/generator/attack_ai(mob/user) attack_hand(user) -/obj/machinery/power/generator/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/machinery/power/generator/attackby(obj/item/W as obj, mob/user as mob) if(W.has_tool_quality(TOOL_WRENCH)) playsound(src, W.usesound, 75, 1) anchored = !anchored diff --git a/code/modules/power/gravitygenerator_vr.dm b/code/modules/power/gravitygenerator_vr.dm index 40d0fc93ef4..489583cf029 100644 --- a/code/modules/power/gravitygenerator_vr.dm +++ b/code/modules/power/gravitygenerator_vr.dm @@ -205,16 +205,16 @@ GLOBAL_LIST_EMPTY(gravity_generators) switch(broken_state) if(GRAV_NEEDS_SCREWDRIVER) if(I.has_tool_quality(TOOL_SCREWDRIVER)) - to_chat(user, "You secure the screws of the framework.") + to_chat(user, span_notice("You secure the screws of the framework.")) playsound(src, I.usesound, 75, 1) broken_state++ update_icon() return if(GRAV_NEEDS_WELDING) if(I.has_tool_quality(TOOL_WELDER)) - var/obj/item/weapon/weldingtool/W = I.get_welder() + var/obj/item/weldingtool/W = I.get_welder() if(W.remove_fuel(0,user)) - to_chat(user, "You mend the damaged framework.") + to_chat(user, span_notice("You mend the damaged framework.")) broken_state++ update_icon() return @@ -223,16 +223,16 @@ GLOBAL_LIST_EMPTY(gravity_generators) var/obj/item/stack/material/plasteel/PS = I if(PS.get_amount() >= 10) PS.use(10) - to_chat(user, "You add the plating to the framework.") + to_chat(user, span_notice("You add the plating to the framework.")) playsound(src, 'sound/machines/click.ogg', 75, 1) broken_state++ update_icon() else - to_chat(user, "You need 10 sheets of plasteel!") + to_chat(user, span_warning("You need 10 sheets of plasteel!")) return if(GRAV_NEEDS_WRENCH) if(I.has_tool_quality(TOOL_WRENCH)) - to_chat(user, "You secure the plating to the framework.") + to_chat(user, span_notice("You secure the plating to the framework.")) playsound(src, I.usesound, 75, 1) set_fix() return @@ -261,14 +261,14 @@ GLOBAL_LIST_EMPTY(gravity_generators) return data -/obj/machinery/gravity_generator/main/tgui_act(action, params) +/obj/machinery/gravity_generator/main/tgui_act(action, params, datum/tgui/ui) if((..())) return TRUE switch(action) if("gentoggle") breaker = !breaker - investigate_log("was toggled [breaker ? "ON" : "OFF"] by [key_name(usr)].", "gravity") + investigate_log("was toggled [breaker ? "ON" : "OFF"] by [key_name(ui.user)].", "gravity") set_power() return TOPIC_REFRESH @@ -393,7 +393,7 @@ GLOBAL_LIST_EMPTY(gravity_generators) for(var/mob/M as anything in player_list) if(!(M.z in levels)) continue - M.update_gravity(M.mob_has_gravity()) + M.update_gravity(M.mob_get_gravity()) shake_camera(M, 15, 1) M.playsound_local(src, null, 50, 1, 0.5, S = alert_sound) diff --git a/code/modules/power/grid_checker.dm b/code/modules/power/grid_checker.dm index 60a268ca03c..99aaa55ba7c 100644 --- a/code/modules/power/grid_checker.dm +++ b/code/modules/power/grid_checker.dm @@ -3,7 +3,7 @@ desc = "A machine that reacts to unstable conditions in the powernet, by safely shutting everything down. Probably better \ than the alternative." icon_state = "gridchecker_on" - circuit = /obj/item/weapon/circuitboard/grid_checker + circuit = /obj/item/circuitboard/grid_checker density = TRUE anchored = TRUE var/power_failing = FALSE // Turns to TRUE when the grid check event is fired by the Game Master, or perhaps a cheeky antag. @@ -43,7 +43,7 @@ opened = !opened else if(W.has_tool_quality(TOOL_CROWBAR)) default_deconstruction_crowbar(user, W) - else if(istype(W, /obj/item/device/multitool) || W.has_tool_quality(TOOL_WIRECUTTER)) + else if(istype(W, /obj/item/multitool) || W.has_tool_quality(TOOL_WIRECUTTER)) attack_hand(user) /obj/machinery/power/grid_checker/attack_hand(mob/user) diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index a81c88e35be..b3e74047edd 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -1,6 +1,6 @@ // The lighting system // -// consists of light fixtures (/obj/machinery/light) and light tube/bulb items (/obj/item/weapon/light) +// consists of light fixtures (/obj/machinery/light) and light tube/bulb items (/obj/item/light) // status values shared between lighting fixtures and items @@ -27,7 +27,7 @@ var/global/list/light_type_cache = list() var/fixture_type = /obj/machinery/light var/sheets_refunded = 2 var/obj/machinery/light/newlight = null - var/obj/item/weapon/cell/cell = null + var/obj/item/cell/cell = null var/cell_connectors = TRUE @@ -67,32 +67,32 @@ var/global/list/light_type_cache = list() else . += "The casing has no power cell for backup power." else - . += "This casing doesn't support power cells for backup power." + . += span_danger("This casing doesn't support power cells for backup power.") /obj/machinery/light_construct/attack_hand(mob/user) . = ..() if(.) return . // obj/machinery/attack_hand returns 1 if user can't use the machine if(cell) - user.visible_message("[user] removes [cell] from [src]!","You remove [cell].") + user.visible_message("[user] removes [cell] from [src]!",span_notice("You remove [cell].")) user.put_in_hands(cell) cell.update_icon() cell = null -/obj/machinery/light_construct/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/machinery/light_construct/attackby(obj/item/W as obj, mob/user as mob) src.add_fingerprint(user) - if(istype(W, /obj/item/weapon/cell/emergency_light)) + if(istype(W, /obj/item/cell/emergency_light)) if(!cell_connectors) - to_chat(user, "This [name] can't support a power cell!") + to_chat(user, span_warning("This [name] can't support a power cell!")) return if(!user.unEquip(W)) - to_chat(user, "[W] is stuck to your hand!") + to_chat(user, span_warning("[W] is stuck to your hand!")) return if(cell) - to_chat(user, "There is a power cell already installed!") + to_chat(user, span_warning("There is a power cell already installed!")) else if(user.drop_from_inventory(W)) - user.visible_message("[user] hooks up [W] to [src].", \ - "You add [W] to [src].") + user.visible_message(span_notice("[user] hooks up [W] to [src]."), \ + span_notice("You add [W] to [src].")) playsound(src, 'sound/machines/click.ogg', 50, TRUE) W.forceMove(src) cell = W @@ -211,14 +211,14 @@ var/global/list/light_type_cache = list() idle_power_usage = 2 active_power_usage = 10 power_channel = LIGHT //Lights are calc'd via area so they dont need to be in the machine list - var/obj/item/weapon/light/installed_light //What light is currently in the socket! Updated in new() + var/obj/item/light/installed_light //What light is currently in the socket! Updated in new() var/on = 0 // 1 if on, 0 if off var/brightness_range var/brightness_power var/brightness_color var/status = LIGHT_OK // LIGHT_OK, _EMPTY, _BURNED or _BROKEN var/flickering = 0 - var/light_type = /obj/item/weapon/light/tube // the type of light item + var/light_type = /obj/item/light/tube // the type of light item var/construct_type = /obj/machinery/light_construct var/switchcount = 0 // count of number of times switched on/off // this is used to calc the probability the light burns out @@ -232,7 +232,7 @@ var/global/list/light_type_cache = list() var/auto_flicker = FALSE // If true, will constantly flicker, so long as someone is around to see it (otherwise its a waste of CPU). - var/obj/item/weapon/cell/emergency_light/cell + var/obj/item/cell/emergency_light/cell var/start_with_cell = TRUE // if true, this fixture generates a very weak cell at roundstart var/emergency_mode = FALSE // if true, the light is in emergency mode @@ -263,7 +263,7 @@ var/global/list/light_type_cache = list() icon_state = "bulb1" base_state = "bulb" desc = "A small lighting fixture." - light_type = /obj/item/weapon/light/bulb + light_type = /obj/item/light/bulb construct_type = /obj/machinery/light_construct/small shows_alerts = FALSE //VOREStation Edit overlay_color = LIGHT_COLOR_INCANDESCENT_BULB @@ -284,7 +284,7 @@ var/global/list/light_type_cache = list() plane = OBJ_PLANE layer = OBJ_LAYER desc = "A floor lamp." - light_type = /obj/item/weapon/light/bulb/large + light_type = /obj/item/light/bulb/large construct_type = /obj/machinery/light_construct/flamp shows_alerts = FALSE //VOREStation Edit var/lamp_shade = 1 @@ -298,21 +298,21 @@ var/global/list/light_type_cache = list() update_icon() else if(start_with_cell && !no_emergency) - cell = new/obj/item/weapon/cell/emergency_light(src) + cell = new/obj/item/cell/emergency_light(src) /obj/machinery/light/flamp/flicker auto_flicker = TRUE /obj/machinery/light/small/emergency - light_type = /obj/item/weapon/light/bulb/red + light_type = /obj/item/light/bulb/red /obj/machinery/light/small/emergency/flicker auto_flicker = TRUE /obj/machinery/light/spot name = "spotlight" - light_type = /obj/item/weapon/light/tube/large + light_type = /obj/item/light/tube/large shows_alerts = FALSE //VOREStation Edit //YW ADDITION START @@ -333,7 +333,7 @@ var/global/list/light_type_cache = list() . =..() if(start_with_cell && !no_emergency) - cell = new/obj/item/weapon/cell/emergency_light(src) + cell = new/obj/item/cell/emergency_light(src) if(construct) start_with_cell = FALSE status = LIGHT_EMPTY @@ -343,8 +343,8 @@ var/global/list/light_type_cache = list() else installed_light = new light_type(src) if(start_with_cell && !no_emergency) - cell = new/obj/item/weapon/cell/emergency_light(src) - var/obj/item/weapon/light/L = get_light_type_instance(light_type) //This is fine, but old code. + cell = new/obj/item/cell/emergency_light(src) + var/obj/item/light/L = get_light_type_instance(light_type) //This is fine, but old code. update_from_bulb(L) if(prob(L.broken_chance)) broken(1) @@ -437,7 +437,7 @@ var/global/list/light_type_cache = list() return current_alert = null - var/obj/item/weapon/light/L = installed_light //This ensures any special bulbs will stay special! + var/obj/item/light/L = installed_light //This ensures any special bulbs will stay special! if(L) update_from_bulb(L) @@ -515,7 +515,7 @@ var/global/list/light_type_cache = list() return if(!(status == LIGHT_OK||status == LIGHT_BURNED)) return - visible_message("[user] smashes the light!") + visible_message(span_danger("[user] smashes the light!")) user.do_attack_animation(src) broken() return 1 @@ -560,10 +560,10 @@ var/global/list/light_type_cache = list() /obj/machinery/light/proc/get_fitting_name() - var/obj/item/weapon/light/L = light_type + var/obj/item/light/L = light_type return initial(L.name) -/obj/machinery/light/proc/update_from_bulb(obj/item/weapon/light/L) +/obj/machinery/light/proc/update_from_bulb(obj/item/light/L) status = L.status switchcount = L.switchcount rigged = L.rigged @@ -579,7 +579,7 @@ var/global/list/light_type_cache = list() // attack with item - insert light (if right type), otherwise try to break the light -/obj/machinery/light/proc/insert_bulb(obj/item/weapon/light/L) +/obj/machinery/light/proc/insert_bulb(obj/item/light/L) update_from_bulb(L) installed_light = L L.loc = src //Move it into the socket! @@ -605,15 +605,15 @@ var/global/list/light_type_cache = list() /obj/machinery/light/attackby(obj/item/W, mob/user) //Light replacer code - if(istype(W, /obj/item/device/lightreplacer)) //These will never be modified, so it's fine to use old code. - var/obj/item/device/lightreplacer/LR = W + if(istype(W, /obj/item/lightreplacer)) //These will never be modified, so it's fine to use old code. + var/obj/item/lightreplacer/LR = W if(isliving(user)) var/mob/living/U = user LR.ReplaceLight(src, U) return // attempt to insert light - if(istype(W, /obj/item/weapon/light)) + if(istype(W, /obj/item/light)) if(status != LIGHT_EMPTY) to_chat(user, "There is a [get_fitting_name()] already inserted.") return @@ -672,10 +672,10 @@ var/global/list/light_type_cache = list() if(W.has_tool_quality(TOOL_WRENCH)) anchored = !anchored playsound(src, W.usesound, 50, 1) - to_chat(user, "You [anchored ? "wrench" : "unwrench"] \the [src].") + to_chat(user, span_notice("You [anchored ? "wrench" : "unwrench"] \the [src].")) if(!lamp_shade) - if(istype(W, /obj/item/weapon/lampshade)) + if(istype(W, /obj/item/lampshade)) lamp_shade = 1 qdel(W) update_icon() @@ -687,7 +687,7 @@ var/global/list/light_type_cache = list() user.visible_message("[user.name] removes [src]'s lamp shade.", \ "You remove [src]'s lamp shade.", "You hear a noise.") lamp_shade = 0 - new /obj/item/weapon/lampshade(src.loc) + new /obj/item/lampshade(src.loc) update_icon() return @@ -727,7 +727,7 @@ var/global/list/light_type_cache = list() if(!has_emergency_power(pwr)) return FALSE if(cell.charge > 300) //it's meant to handle 120 W, ya doofus - visible_message("[src] short-circuits from too powerful of a power cell!") + visible_message(span_warning("[src] short-circuits from too powerful of a power cell!")) status = LIGHT_BURNED installed_light.status = status return FALSE @@ -754,7 +754,7 @@ var/global/list/light_type_cache = list() // ai attack - turn on/off emergency lighting for a specific fixture /obj/machinery/light/attack_ai(mob/user) no_emergency = !no_emergency - to_chat(user, "Emergency lights for this fixture have been [no_emergency ? "disabled" : "enabled"].") + to_chat(user, span_notice("Emergency lights for this fixture have been [no_emergency ? "disabled" : "enabled"].")) update(FALSE) return @@ -839,6 +839,13 @@ var/global/list/light_type_cache = list() return to_chat(user, "You telekinetically remove the light [get_fitting_name()].") + installed_light.status = status + installed_light.forceMove(src.loc) + var/obj/item/tk_grab/O = new(src) + user.put_in_active_hand(O) + O.host = user + O.focus_object(installed_light) + installed_light.update_icon() remove_bulb() // break the light and make sparks if was on @@ -935,7 +942,7 @@ var/global/list/light_type_cache = list() // can be tube or bulb subtypes // will fit into empty /obj/machinery/light of the corresponding type -/obj/item/weapon/light +/obj/item/light icon = 'icons/obj/lighting.dmi' force = 2 throwforce = 5 @@ -978,7 +985,7 @@ var/global/list/light_type_cache = list() var/init_nightshift_power = 0.45 //VOREStation Edit End - Modifiable Lighting -/obj/item/weapon/light/tube +/obj/item/light/tube name = "light tube" desc = "A replacement light tube." icon_state = "ltube" @@ -990,7 +997,7 @@ var/global/list/light_type_cache = list() init_brightness_range = 7 init_brightness_power = 2 -/obj/item/weapon/light/tube/large +/obj/item/light/tube/large w_class = ITEMSIZE_SMALL name = "large light tube" brightness_range = 15 @@ -1004,7 +1011,7 @@ var/global/list/light_type_cache = list() init_nightshift_range = 10 init_nightshift_power = 1.5 -/obj/item/weapon/light/bulb +/obj/item/light/bulb name = "light bulb" desc = "A replacement light bulb." icon_state = "lbulb" @@ -1024,7 +1031,7 @@ var/global/list/light_type_cache = list() init_nightshift_power = 0.5 // For 'floor lamps' in outdoor use and such -/obj/item/weapon/light/bulb/large +/obj/item/light/bulb/large name = "large light bulb" brightness_range = 7 brightness_power = 1.5 @@ -1037,17 +1044,17 @@ var/global/list/light_type_cache = list() init_nightshift_range = 4 init_nightshift_power = 0.75 -/obj/item/weapon/light/throw_impact(atom/hit_atom) +/obj/item/light/throw_impact(atom/hit_atom) ..() shatter() -/obj/item/weapon/light/bulb/red +/obj/item/light/bulb/red brightness_range = 4 color = "#da0205" brightness_color = "#da0205" init_brightness_range = 4 -/obj/item/weapon/light/bulb/fire +/obj/item/light/bulb/fire name = "fire bulb" desc = "A replacement fire bulb." icon_state = "fbulb" @@ -1056,7 +1063,7 @@ var/global/list/light_type_cache = list() matter = list(MAT_GLASS = 100) // update the icon state and description of the light -/obj/item/weapon/light/update_icon() +/obj/item/light/update_icon() switch(status) if(LIGHT_OK) icon_state = base_state @@ -1069,7 +1076,7 @@ var/global/list/light_type_cache = list() desc = "A broken [name]." -/obj/item/weapon/light/New(atom/newloc, obj/machinery/light/fixture = null) +/obj/item/light/New(atom/newloc, obj/machinery/light/fixture = null) ..() if(fixture) status = fixture.status @@ -1086,11 +1093,11 @@ var/global/list/light_type_cache = list() // attack bulb/tube with object // if a syringe, can inject phoron to make it explode -/obj/item/weapon/light/attackby(var/obj/item/I, var/mob/user) +/obj/item/light/attackby(var/obj/item/I, var/mob/user) ..() //VOREStation Edit Start - Multitool Lighting! - if(istype(I,/obj/item/device/multitool)) + if(istype(I,/obj/item/multitool)) var/list/menu_list = list( "Normal Range", "Normal Brightness", @@ -1137,8 +1144,8 @@ var/global/list/light_type_cache = list() else //Should never happen. return - else if(istype(I, /obj/item/weapon/reagent_containers/syringe)) - var/obj/item/weapon/reagent_containers/syringe/S = I + else if(istype(I, /obj/item/reagent_containers/syringe)) + var/obj/item/reagent_containers/syringe/S = I to_chat(user, "You inject the solution into the [src].") @@ -1158,7 +1165,7 @@ var/global/list/light_type_cache = list() // shatter light, unless it was an attempt to put it in a light socket // now only shatter if the intent was harm -/obj/item/weapon/light/afterattack(atom/target, mob/user, proximity) +/obj/item/light/afterattack(atom/target, mob/user, proximity) if(!proximity) return if(istype(target, /obj/machinery/light)) return @@ -1167,7 +1174,7 @@ var/global/list/light_type_cache = list() shatter() -/obj/item/weapon/light/proc/shatter() +/obj/item/light/proc/shatter() if(status == LIGHT_OK || status == LIGHT_BURNED) src.visible_message(span_red("[name] shatters."),span_red("You hear a small glass object shatter.")) status = LIGHT_BROKEN @@ -1177,7 +1184,7 @@ var/global/list/light_type_cache = list() update_icon() //Lamp Shade -/obj/item/weapon/lampshade +/obj/item/lampshade name = "lamp shade" desc = "A lamp shade for a lamp." icon = 'icons/obj/lighting.dmi' diff --git a/code/modules/power/lighting_neon.dm b/code/modules/power/lighting_neon.dm index 2d712d1f123..28782db4a2c 100644 --- a/code/modules/power/lighting_neon.dm +++ b/code/modules/power/lighting_neon.dm @@ -1,42 +1,42 @@ //Coloured lights -/obj/item/weapon/light/bulb/neon/red +/obj/item/light/bulb/neon/red brightness_range = 4 color = "#da0205" brightness_color = "#da0205" init_brightness_range = 4 -/obj/item/weapon/light/bulb/neon/blue +/obj/item/light/bulb/neon/blue brightness_range = 4 color = "#0048ff" brightness_color = "#0048ff" init_brightness_range = 4 -/obj/item/weapon/light/bulb/neon/green +/obj/item/light/bulb/neon/green brightness_range = 4 color = "#00ff15" brightness_color = "#00ff15" init_brightness_range = 4 -/obj/item/weapon/light/bulb/neon/pink +/obj/item/light/bulb/neon/pink brightness_range = 4 color = "#ff00ee" brightness_color = "#ff00ee" init_brightness_range = 4 -/obj/item/weapon/light/bulb/neon/yellow +/obj/item/light/bulb/neon/yellow brightness_range = 4 color = "#fff200" brightness_color = "#fff200" init_brightness_range = 4 -/obj/item/weapon/light/bulb/neon/purple +/obj/item/light/bulb/neon/purple brightness_range = 4 color = "#6200ff" brightness_color = "#6200ff" init_brightness_range = 4 -/obj/item/weapon/light/bulb/neon/orange +/obj/item/light/bulb/neon/orange brightness_range = 4 color = "#ff8000" brightness_color = "#ff8000" @@ -48,7 +48,7 @@ icon_state = "GenericGreen1" base_state = "GenericGreen" desc = "A bright neon wall sign." - light_type = /obj/item/weapon/light/bulb/neon/green + light_type = /obj/item/light/bulb/neon/green shows_alerts = FALSE anchored = TRUE plane = ABOVE_MOB_PLANE @@ -63,43 +63,43 @@ icon_state = "GenericGreen1" base_state = "GenericGreen" desc = "A bright neon wall sign." - light_type = /obj/item/weapon/light/bulb/neon/green + light_type = /obj/item/light/bulb/neon/green /obj/machinery/light/small/neon/generic_yellow icon_state = "GenericYellow1" base_state = "GenericYellow" desc = "A bright neon wall sign." - light_type = /obj/item/weapon/light/bulb/neon/yellow + light_type = /obj/item/light/bulb/neon/yellow /obj/machinery/light/small/neon/generic_red icon_state = "GenericRed1" base_state = "GenericRed" desc = "A bright neon wall sign." - light_type = /obj/item/weapon/light/bulb/neon/red + light_type = /obj/item/light/bulb/neon/red /obj/machinery/light/small/neon/generic_blue icon_state = "GenericBlue1" base_state = "GenericBlue" desc = "A bright neon wall sign." - light_type = /obj/item/weapon/light/bulb/neon/blue + light_type = /obj/item/light/bulb/neon/blue /obj/machinery/light/small/neon/generic_orange icon_state = "GenericOrange1" base_state = "GenericOrange" desc = "A bright neon wall sign." - light_type = /obj/item/weapon/light/bulb/neon/orange + light_type = /obj/item/light/bulb/neon/orange /obj/machinery/light/small/neon/generic_pink icon_state = "GenericPink1" base_state = "GenericPink" desc = "A bright neon wall sign." - light_type = /obj/item/weapon/light/bulb/neon/pink + light_type = /obj/item/light/bulb/neon/pink /obj/machinery/light/small/neon/generic_purple icon_state = "GenericPurple1" base_state = "GenericPurple" desc = "A bright neon wall sign." - light_type = /obj/item/weapon/light/bulb/neon/purple + light_type = /obj/item/light/bulb/neon/purple // Specific locations @@ -108,76 +108,76 @@ icon_state = "Booze1" base_state = "Booze" desc = "A bright neon wall sign." - light_type = /obj/item/weapon/light/bulb/neon/green + light_type = /obj/item/light/bulb/neon/green /obj/machinery/light/small/neon/booze2 icon_state = "BoozeWord1" base_state = "BoozeWord" desc = "A bright neon wall sign." - light_type = /obj/item/weapon/light/bulb/neon/green + light_type = /obj/item/light/bulb/neon/green /obj/machinery/light/small/neon/looktoucheat icon_state = "LookTouchEat1" base_state = "LookTouchEat" desc = "A bright neon wall sign." - light_type = /obj/item/weapon/light/bulb/neon/pink + light_type = /obj/item/light/bulb/neon/pink /obj/machinery/light/small/neon/pharmacy icon_state = "Pharmacy1" base_state = "Pharmacy" desc = "A bright neon wall sign." - light_type = /obj/item/weapon/light/bulb/neon/green + light_type = /obj/item/light/bulb/neon/green /obj/machinery/light/small/neon/altevian icon_state = "Altevian1" base_state = "Altevian" desc = "A bright neon wall sign." - light_type = /obj/item/weapon/light/bulb/neon/orange + light_type = /obj/item/light/bulb/neon/orange /obj/machinery/light/small/neon/nif1 icon_state = "NIF1" base_state = "NIF" desc = "A bright neon wall sign." - light_type = /obj/item/weapon/light/bulb/neon/blue + light_type = /obj/item/light/bulb/neon/blue /obj/machinery/light/small/neon/nif2 icon_state = "NIFpic1" base_state = "NIFpic" desc = "A bright neon wall sign." - light_type = /obj/item/weapon/light/bulb/neon/blue + light_type = /obj/item/light/bulb/neon/blue /obj/machinery/light/small/neon/cross icon_state = "GreenCross1" base_state = "GreenCross" desc = "A bright neon wall sign." - light_type = /obj/item/weapon/light/bulb/neon/green + light_type = /obj/item/light/bulb/neon/green /obj/machinery/light/small/neon/bar icon_state = "Bar1" base_state = "Bar" desc = "A bright neon wall sign." - light_type = /obj/item/weapon/light/bulb/neon/purple + light_type = /obj/item/light/bulb/neon/purple /obj/machinery/light/small/neon/unclothe icon_state = "Unclothe1" base_state = "Unclothe" desc = "A bright neon wall sign." - light_type = /obj/item/weapon/light/bulb/neon/orange + light_type = /obj/item/light/bulb/neon/orange /obj/machinery/light/small/neon/import icon_state = "Import1" base_state = "Import" desc = "A bright neon wall sign." - light_type = /obj/item/weapon/light/bulb/neon/yellow + light_type = /obj/item/light/bulb/neon/yellow /obj/machinery/light/small/neon/police icon_state = "Police1" base_state = "Police" desc = "A bright neon wall sign." - light_type = /obj/item/weapon/light/bulb/neon/pink + light_type = /obj/item/light/bulb/neon/pink /obj/machinery/light/small/neon/dice icon_state = "Dice1" base_state = "Dice" desc = "A bright neon wall sign." - light_type = /obj/item/weapon/light/bulb/neon/yellow \ No newline at end of file + light_type = /obj/item/light/bulb/neon/yellow \ No newline at end of file diff --git a/code/modules/power/lighting_vr.dm b/code/modules/power/lighting_vr.dm index 9950d420570..f0aeb7e0334 100644 --- a/code/modules/power/lighting_vr.dm +++ b/code/modules/power/lighting_vr.dm @@ -19,7 +19,7 @@ layer = ABOVE_MOB_LAYER // Wall tube lights -/obj/item/weapon/light/tube +/obj/item/light/tube brightness_range = 6 brightness_power = 1 @@ -27,7 +27,7 @@ nightshift_power = 0.45 // Big tubes, unused I think -/obj/item/weapon/light/tube/large +/obj/item/light/tube/large brightness_range = 8 brightness_power = 2 @@ -35,7 +35,7 @@ nightshift_power = 1 // Small wall lights -/obj/item/weapon/light/bulb +/obj/item/light/bulb brightness_range = 4 brightness_power = 1 @@ -43,7 +43,7 @@ nightshift_power = 0.45 // Floor lamps -/obj/item/weapon/light/bulb/large +/obj/item/light/bulb/large brightness_range = 6 brightness_power = 1 @@ -143,7 +143,7 @@ // Fairy lights -/obj/item/weapon/light/bulb/smol +/obj/item/light/bulb/smol brightness_range = 1 brightness_power = 0.5 @@ -156,7 +156,7 @@ icon_state = "fairy_lights1" base_state = "fairy_lights" desc = "A set of lights on a long string of wire, anchored to the walls." - light_type = /obj/item/weapon/light/bulb/smol + light_type = /obj/item/light/bulb/smol shows_alerts = FALSE anchored = TRUE plane = ABOVE_MOB_PLANE @@ -203,7 +203,7 @@ icon_state = "lamppost1" base_state = "lamppost" desc = "A tall lampost that extends over an area" - light_type = /obj/item/weapon/light/bulb + light_type = /obj/item/light/bulb shows_alerts = FALSE anchored = TRUE plane = ABOVE_MOB_PLANE @@ -233,7 +233,7 @@ icon_state = "big_flamp-empty" */ -/obj/item/weapon/light/bulb/torch +/obj/item/light/bulb/torch brightness_range = 6 color = "#fabf87" brightness_color = "#fabf87" @@ -245,7 +245,7 @@ icon_state = "torch1" base_state = "torch" desc = "A small torch held in a wall sconce." - light_type = /obj/item/weapon/light/bulb/torch + light_type = /obj/item/light/bulb/torch shows_alerts = FALSE anchored = TRUE plane = ABOVE_MOB_PLANE diff --git a/code/modules/power/lightswitch_vr.dm b/code/modules/power/lightswitch_vr.dm index e3776ede280..37539995711 100644 --- a/code/modules/power/lightswitch_vr.dm +++ b/code/modules/power/lightswitch_vr.dm @@ -81,23 +81,23 @@ /obj/structure/construction/update_icon() icon_state = "[base_icon][stage]" -/obj/structure/construction/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/structure/construction/attackby(obj/item/W as obj, mob/user as mob) add_fingerprint(user) if(W.has_tool_quality(TOOL_WELDER)) if(stage == FRAME_UNFASTENED) - var/obj/item/weapon/weldingtool/WT = W.get_welder() + var/obj/item/weldingtool/WT = W.get_welder() if(!WT.remove_fuel(0, user)) - to_chat(user, "\The [src] must be on to complete this task.") + to_chat(user, span_warning("\The [src] must be on to complete this task.")) return playsound(src, WT.usesound, 50, 1) user.visible_message( \ - "\The [user] begins deconstructing \the [src].", \ - "You start deconstructing \the [src].") + span_warning("\The [user] begins deconstructing \the [src]."), \ + span_notice("You start deconstructing \the [src].")) if(do_after(user, 20 * WT.toolspeed, target = src) && WT.isOn()) new /obj/item/stack/material/steel(get_turf(src), 2) user.visible_message( \ - "\The [user] has deconstructed \the [src].", \ - "You deconstruct \the [src].") + span_warning("\The [user] has deconstructed \the [src]."), \ + span_notice("You deconstruct \the [src].")) playsound(src, 'sound/items/Deconstruct.ogg', 75, 1) qdel(src) else if (stage == FRAME_FASTENED) diff --git a/code/modules/power/pacman2.dm b/code/modules/power/pacman2.dm index 9471665d470..8d641f9c276 100644 --- a/code/modules/power/pacman2.dm +++ b/code/modules/power/pacman2.dm @@ -6,8 +6,8 @@ name = "Pacman II" desc = "P.A.C.M.A.N. type II portable generator. Uses liquid phoron as a fuel source." power_gen = 4500 - circuit = /obj/item/weapon/circuitboard/pacman2 - var/obj/item/weapon/tank/phoron/P = null + circuit = /obj/item/circuitboard/pacman2 + var/obj/item/tank/phoron/P = null var/emagged = 0 var/heat = 0 /* @@ -36,16 +36,16 @@ RefreshParts() var/temp_rating = 0 - for(var/obj/item/weapon/stock_parts/SP in component_parts) - if(istype(SP, /obj/item/weapon/stock_parts/matter_bin)) + for(var/obj/item/stock_parts/SP in component_parts) + if(istype(SP, /obj/item/stock_parts/matter_bin)) //max_coins = SP.rating * SP.rating * 1000 - else if(istype(SP, /obj/item/weapon/stock_parts/micro_laser) || istype(SP, /obj/item/weapon/stock_parts/capacitor)) + else if(istype(SP, /obj/item/stock_parts/micro_laser) || istype(SP, /obj/item/stock_parts/capacitor)) temp_rating += SP.rating power_gen = round(initial(power_gen) * (max(2, temp_rating) / 2)) examine(mob/user) . = ..() - . += "The generator has [P.air_contents.phoron] units of fuel left, producing [power_gen] per cycle." + . += span_notice("The generator has [P.air_contents.phoron] units of fuel left, producing [power_gen] per cycle.") handleInactive() heat -= 2 @@ -61,7 +61,7 @@ explosion(get_turf(src), 2, 5, 2, -1) attackby(var/obj/item/O as obj, var/mob/user as mob) - if(istype(O, /obj/item/weapon/tank/phoron)) + if(istype(O, /obj/item/tank/phoron)) if(P) to_chat(user, span_red("The generator already has a phoron tank loaded!")) return @@ -117,7 +117,7 @@ user.machine = src - var/dat = text("[name]
    ") + var/dat = text(span_bold("[name]") + "
    ") if (active) dat += text("Generator: On
    ") else diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm index 8adbfb9da0f..f3b16206260 100644 --- a/code/modules/power/port_gen.dm +++ b/code/modules/power/port_gen.dm @@ -67,9 +67,9 @@ . = ..() if(Adjacent(user)) //It literally has a light on the sprite, are you sure this is necessary? if(active) - . += "The generator is on." + . += span_notice("The generator is on.") else - . += "The generator is off." + . += span_notice("The generator is off.") /obj/machinery/power/port_gen/emp_act(severity) var/duration = 6000 //ten minutes @@ -103,7 +103,7 @@ /obj/machinery/power/port_gen/pacman name = "\improper P.A.C.M.A.N.-type Portable Generator" desc = "A power generator that runs on solid phoron sheets. Rated for 80 kW max safe output." - circuit = /obj/item/weapon/circuitboard/pacman + circuit = /obj/item/circuitboard/pacman var/sheet_name = "Phoron Sheets" var/sheet_path = /obj/item/stack/material/phoron @@ -143,10 +143,10 @@ /obj/machinery/power/port_gen/pacman/RefreshParts() var/temp_rating = 0 - for(var/obj/item/weapon/stock_parts/SP in component_parts) - if(istype(SP, /obj/item/weapon/stock_parts/matter_bin)) + for(var/obj/item/stock_parts/SP in component_parts) + if(istype(SP, /obj/item/stock_parts/matter_bin)) max_sheets = SP.rating * SP.rating * 50 - else if(istype(SP, /obj/item/weapon/stock_parts/micro_laser) || istype(SP, /obj/item/weapon/stock_parts/capacitor)) + else if(istype(SP, /obj/item/stock_parts/micro_laser) || istype(SP, /obj/item/stock_parts/capacitor)) temp_rating += SP.rating power_gen = round(initial(power_gen) * (max(2, temp_rating) / 2)) @@ -156,9 +156,9 @@ . += "It appears to be producing [power_gen*power_output] W." . += "There [sheets == 1 ? "is" : "are"] [sheets] sheet\s left in the hopper." if(IsBroken()) - . += "It seems to have broken down." + . += span_warning("It seems to have broken down.") if(overheating) - . += "It is overheating!" + . += span_danger("It is overheating!") /obj/machinery/power/port_gen/pacman/HasFuel() var/needed_sheets = power_output / time_per_sheet @@ -273,9 +273,9 @@ var/obj/item/stack/addstack = O var/amount = min((max_sheets - sheets), addstack.get_amount()) if(amount < 1) - to_chat(user, "The [src.name] is full!") + to_chat(user, span_warning("The [src.name] is full!")) return - to_chat(user, "You add [amount] sheet\s to the [src.name].") + to_chat(user, span_notice("You add [amount] sheet\s to the [src.name].")) sheets += amount addstack.use(amount) updateUsrDialog() @@ -284,10 +284,10 @@ if(O.has_tool_quality(TOOL_WRENCH)) if(!anchored) connect_to_network() - to_chat(user, "You secure the generator to the floor.") + to_chat(user, span_notice("You secure the generator to the floor.")) else disconnect_from_network() - to_chat(user, "You unsecure the generator from the floor.") + to_chat(user, span_notice("You unsecure the generator from the floor.")) playsound(src, 'sound/items/Deconstruct.ogg', 50, 1) anchored = !anchored return @@ -350,11 +350,11 @@ return data -/obj/machinery/power/port_gen/pacman/tgui_act(action, params) +/obj/machinery/power/port_gen/pacman/tgui_act(action, params, datum/tgui/ui) if(..()) return - add_fingerprint(usr) + add_fingerprint(ui.user) switch(action) if("toggle_power") TogglePower() @@ -382,7 +382,7 @@ sheet_path = /obj/item/stack/material/uranium sheet_name = "Uranium Sheets" time_per_sheet = 576 //same power output, but a 50 sheet stack will last 2 hours at max safe power - circuit = /obj/item/weapon/circuitboard/pacman/super + circuit = /obj/item/circuitboard/pacman/super /obj/machinery/power/port_gen/pacman/super/UseFuel() //produces a tiny amount of radiation when in use @@ -413,7 +413,7 @@ time_per_sheet = 576 max_temperature = 800 temperature_gain = 90 - circuit = /obj/item/weapon/circuitboard/pacman/mrs + circuit = /obj/item/circuitboard/pacman/mrs /obj/machinery/power/port_gen/pacman/mrs/explode() //no special effects, but the explosion is pretty big (same as a supermatter shard). diff --git a/code/modules/power/port_gen_vr.dm b/code/modules/power/port_gen_vr.dm index 77392357522..92b69798241 100644 --- a/code/modules/power/port_gen_vr.dm +++ b/code/modules/power/port_gen_vr.dm @@ -35,45 +35,45 @@ //Port Emd, RS PR #484 // Circuits for the RTGs below -/obj/item/weapon/circuitboard/machine/rtg +/obj/item/circuitboard/machine/rtg name = T_BOARD("radioisotope TEG") build_path = /obj/machinery/power/rtg board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_DATA = 3, TECH_POWER = 3, TECH_PHORON = 3, TECH_ENGINEERING = 3) req_components = list( /obj/item/stack/cable_coil = 5, - /obj/item/weapon/stock_parts/capacitor = 1, + /obj/item/stock_parts/capacitor = 1, /obj/item/stack/material/uranium = 10) // We have no Pu-238, and this is the closest thing to it. -/obj/item/weapon/circuitboard/machine/rtg/advanced +/obj/item/circuitboard/machine/rtg/advanced name = T_BOARD("advanced radioisotope TEG") build_path = /obj/machinery/power/rtg/advanced origin_tech = list(TECH_DATA = 5, TECH_POWER = 5, TECH_PHORON = 5, TECH_ENGINEERING = 5) req_components = list( /obj/item/stack/cable_coil = 5, - /obj/item/weapon/stock_parts/capacitor = 1, - /obj/item/weapon/stock_parts/micro_laser = 1, + /obj/item/stock_parts/capacitor = 1, + /obj/item/stock_parts/micro_laser = 1, /obj/item/stack/material/uranium = 10, /obj/item/stack/material/phoron = 5) -/obj/item/weapon/circuitboard/machine/abductor/core +/obj/item/circuitboard/machine/abductor/core name = T_BOARD("void generator") build_path = /obj/machinery/power/rtg/abductor board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_DATA = 8, TECH_POWER = 8, TECH_PHORON = 8, TECH_ENGINEERING = 8) req_components = list( /obj/item/stack/cable_coil = 5, - /obj/item/weapon/stock_parts/capacitor/hyper = 1) + /obj/item/stock_parts/capacitor/hyper = 1) -/obj/item/weapon/circuitboard/machine/abductor/core/hybrid +/obj/item/circuitboard/machine/abductor/core/hybrid name = T_BOARD("void generator (hybrid)") build_path = /obj/machinery/power/rtg/abductor/hybrid board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_DATA = 8, TECH_POWER = 8, TECH_PHORON = 8, TECH_ENGINEERING = 8) req_components = list( /obj/item/stack/cable_coil = 5, - /obj/item/weapon/stock_parts/capacitor/hyper = 1, - /obj/item/weapon/stock_parts/micro_laser/hyper = 1) + /obj/item/stock_parts/capacitor/hyper = 1, + /obj/item/stock_parts/micro_laser/hyper = 1) // Radioisotope Thermoelectric Generator (RTG) // Simple power generator that would replace "magic SMES" on various derelicts. @@ -84,7 +84,7 @@ icon_state = "rtg" density = TRUE use_power = USE_POWER_OFF - circuit = /obj/item/weapon/circuitboard/machine/rtg + circuit = /obj/item/circuitboard/machine/rtg // You can buckle someone to RTG, then open its panel. Fun stuff. can_buckle = TRUE @@ -108,7 +108,7 @@ /obj/machinery/power/rtg/RefreshParts() var/part_level = 0 - for(var/obj/item/weapon/stock_parts/SP in component_parts) + for(var/obj/item/stock_parts/SP in component_parts) part_level += SP.rating power_gen = initial(power_gen) * part_level @@ -116,7 +116,7 @@ /obj/machinery/power/rtg/examine(mob/user) . = ..() if(Adjacent(user, src) || isobserver(user)) - . += "The status display reads: Power generation now at [power_gen*0.001]kW." + . += span_notice("The status display reads: Power generation now at [power_gen*0.001]kW.") /obj/machinery/power/rtg/attackby(obj/item/I, mob/user, params) if(default_deconstruction_screwdriver(user, I)) @@ -136,14 +136,14 @@ /obj/machinery/power/rtg/advanced desc = "An advanced RTG capable of moderating isotope decay, increasing power output but reducing lifetime. It uses plasma-fueled radiation collectors to increase output even further." power_gen = 1250 // 2500 on T1, 10000 on T4. - circuit = /obj/item/weapon/circuitboard/machine/rtg/advanced + circuit = /obj/item/circuitboard/machine/rtg/advanced /obj/machinery/power/rtg/fake_gen name = "area power generator" desc = "Some power generation equipment that might be powering the current area." icon_state = "rtg_gen" power_gen = 6000 - circuit = /obj/item/weapon/circuitboard/machine/rtg + circuit = /obj/item/circuitboard/machine/rtg can_buckle = FALSE /obj/machinery/power/rtg/fake_gen/RefreshParts() @@ -159,13 +159,13 @@ name = "Void Core" icon_state = "core-nocell" desc = "An alien power source that produces energy seemingly out of nowhere." - circuit = /obj/item/weapon/circuitboard/machine/abductor/core + circuit = /obj/item/circuitboard/machine/abductor/core power_gen = 10000 irradiate = FALSE // Green energy! can_buckle = FALSE pixel_y = 7 var/going_kaboom = FALSE // Is it about to explode? - var/obj/item/weapon/cell/void/cell + var/obj/item/cell/void/cell var/icon_base = "core" var/state_change = TRUE @@ -179,8 +179,8 @@ if(going_kaboom) return going_kaboom = TRUE - visible_message("\The [src] lets out an shower of sparks as it starts to lose stability!",\ - "You hear a loud electrical crack!") + visible_message(span_danger("\The [src] lets out an shower of sparks as it starts to lose stability!"),\ + span_warningplain("You hear a loud electrical crack!")) playsound(src, 'sound/effects/lightningshock.ogg', 100, 1, extrarange = 5) tesla_zap(src, 5, power_gen * 0.05) addtimer(CALLBACK(GLOBAL_PROC, PROC_REF(explosion), get_turf(src), 2, 3, 4, 8), 100) // Not a normal explosion. @@ -207,7 +207,7 @@ /obj/machinery/power/rtg/abductor/attackby(obj/item/I, mob/user, params) state_change = TRUE //Can't tell if parent did something - if(istype(I, /obj/item/weapon/cell/void) && !cell) + if(istype(I, /obj/item/cell/void) && !cell) user.remove_from_mob(I) I.forceMove(src) cell = I @@ -260,14 +260,14 @@ /obj/machinery/power/rtg/abductor/hybrid icon_state = "coreb-nocell" icon_base = "coreb" - circuit = /obj/item/weapon/circuitboard/machine/abductor/core/hybrid + circuit = /obj/item/circuitboard/machine/abductor/core/hybrid /obj/machinery/power/rtg/abductor/hybrid/built icon_state = "coreb" /obj/machinery/power/rtg/abductor/hybrid/built/Initialize() . = ..() - cell = new /obj/item/weapon/cell/void/hybrid(src) + cell = new /obj/item/cell/void/hybrid(src) RefreshParts() @@ -285,8 +285,8 @@ can_buckle = FALSE /obj/machinery/power/rtg/kugelblitz/proc/asplod() - visible_message("\The [src] lets out an shower of sparks as it starts to lose stability!",\ - "You hear a loud electrical crack!") + visible_message(span_danger("\The [src] lets out an shower of sparks as it starts to lose stability!"),\ + span_warningplain("You hear a loud electrical crack!")) playsound(src, 'sound/effects/lightningshock.ogg', 100, 1, extrarange = 5) var/turf/T = get_turf(src) qdel(src) @@ -316,7 +316,7 @@ desc = "It looks kind of like a large hamster wheel." icon = 'icons/obj/power_vrx96.dmi' icon_state = "reg" - circuit = /obj/item/weapon/circuitboard/machine/reg_d + circuit = /obj/item/circuitboard/machine/reg_d irradiate = FALSE power_gen = 0 var/default_power_gen = 1000000 //It's big but it gets adjusted based on what you put into it!!! @@ -339,7 +339,7 @@ /obj/machinery/power/rtg/reg/user_buckle_mob(mob/living/M, mob/user, var/forced = FALSE, var/silent = TRUE) . = ..() M.pixel_y = 8 - M.visible_message("\The [M], hops up onto \the [src] and begins running!") + M.visible_message(span_notice("\The [M], hops up onto \the [src] and begins running!")) /obj/machinery/power/rtg/reg/unbuckle_mob(mob/living/buckled_mob, force = FALSE) . = ..() @@ -347,7 +347,7 @@ /obj/machinery/power/rtg/reg/RefreshParts() var/n = 0 - for(var/obj/item/weapon/stock_parts/SP in component_parts) + for(var/obj/item/stock_parts/SP in component_parts) n += SP.rating part_mult = n @@ -380,7 +380,7 @@ /obj/machinery/power/rtg/reg/proc/runner_process(var/mob/living/runner) if(runner.stat != CONSCIOUS) unbuckle_mob(runner) - runner.visible_message("\The [runner], topples off of \the [src]!") + runner.visible_message(span_warning("\The [runner], topples off of \the [src]!")) return var/cool_rotations if(ishuman(runner)) @@ -407,7 +407,7 @@ cool_rotations *= 0.25 else //TOO HUNGY IT TIME TO STOP!!! unbuckle_mob(runner) - runner.visible_message("\The [runner], panting and exhausted hops off of \the [src]!") + runner.visible_message(span_notice("\The [runner], panting and exhausted hops off of \the [src]!")) if(part_mult > 1) cool_rotations += (cool_rotations * (part_mult - 1)) / 4 power_gen = cool_rotations @@ -416,27 +416,27 @@ /obj/machinery/power/rtg/reg/emp_act(severity) return -/obj/item/weapon/circuitboard/machine/reg_d +/obj/item/circuitboard/machine/reg_d name = T_BOARD("D-Type-REG") build_path = /obj/machinery/power/rtg/reg board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_DATA = 2, TECH_POWER = 4, TECH_ENGINEERING = 4) req_components = list( /obj/item/stack/cable_coil = 5, - /obj/item/weapon/stock_parts/capacitor = 1) + /obj/item/stock_parts/capacitor = 1) -/obj/item/weapon/circuitboard/machine/reg_c +/obj/item/circuitboard/machine/reg_c name = T_BOARD("C-Type-REG") build_path = /obj/machinery/power/rtg/reg/c board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_DATA = 2, TECH_POWER = 4, TECH_ENGINEERING = 4) req_components = list( /obj/item/stack/cable_coil = 5, - /obj/item/weapon/stock_parts/capacitor = 1) + /obj/item/stock_parts/capacitor = 1) /obj/machinery/power/rtg/reg/c name = "c-type rotary electric generator" - circuit = /obj/item/weapon/circuitboard/machine/reg_c + circuit = /obj/item/circuitboard/machine/reg_c default_power_gen = 500000 //Half power nutrition_drain = 0.5 //for half cost - EQUIVALENT EXCHANGE >:O @@ -497,9 +497,9 @@ var/obj/item/stack/addstack = O var/amount = min((max_sheets - sheets), addstack.get_amount()) if(amount < 1) - to_chat(user, "The [src.name] is full!") + to_chat(user, span_warning("The [src.name] is full!")) return - to_chat(user, "You add [amount] sheet\s to the [src.name].") + to_chat(user, span_notice("You add [amount] sheet\s to the [src.name].")) sheets += amount addstack.use(amount) update_icon() diff --git a/code/modules/power/power.dm b/code/modules/power/power.dm index 4241f31fe77..7d634e224bb 100644 --- a/code/modules/power/power.dm +++ b/code/modules/power/power.dm @@ -86,7 +86,7 @@ // attach a wire to a power machine - leads from the turf you are standing on //almost never called, overwritten by all power machines but terminal and generator -/obj/machinery/power/attackby(obj/item/weapon/W, mob/user) +/obj/machinery/power/attackby(obj/item/W, mob/user) if(istype(W, /obj/item/stack/cable_coil)) @@ -107,7 +107,7 @@ return // Power machinery should also connect/disconnect from the network. -/obj/machinery/power/default_unfasten_wrench(var/mob/user, var/obj/item/weapon/W, var/time = 20) +/obj/machinery/power/default_unfasten_wrench(var/mob/user, var/obj/item/W, var/time = 20) if((. = ..())) if(anchored) connect_to_network() @@ -282,11 +282,11 @@ power_source = Cable.powernet var/datum/powernet/PN - var/obj/item/weapon/cell/cell + var/obj/item/cell/cell if(istype(power_source,/datum/powernet)) PN = power_source - else if(istype(power_source,/obj/item/weapon/cell)) + else if(istype(power_source,/obj/item/cell)) cell = power_source else if(istype(power_source,/obj/machinery/power/apc)) var/obj/machinery/power/apc/apc = power_source @@ -343,6 +343,6 @@ else if (istype(power_source,/datum/powernet)) var/drained_power = drained_energy/CELLRATE drained_power = PN.draw_power(drained_power) - else if (istype(power_source, /obj/item/weapon/cell)) + else if (istype(power_source, /obj/item/cell)) cell.use(drained_energy) return drained_energy diff --git a/code/modules/power/sensors/powernet_sensor.dm b/code/modules/power/sensors/powernet_sensor.dm index 0cfe7ca95ac..bd2135b9a89 100644 --- a/code/modules/power/sensors/powernet_sensor.dm +++ b/code/modules/power/sensors/powernet_sensor.dm @@ -177,7 +177,7 @@ var/list/L = find_apcs() var/total_apc_load = 0 if(L.len <= 0) // No APCs found. - out = "No APCs located in connected powernet!" + out = span_bold("No APCs located in connected powernet!") else // APCs found. Create very ugly (but working!) HTML table. out += "
    ModeFire DelayPower" + span_bold("Mode") + "" + span_bold("Fire Delay") + "" + span_bold("Power") + "
    ERRORERRORERROR" + span_red("ERROR") + "" + span_red("ERROR") + "" + span_red("ERROR") + "[G.active ? "Emitting" : "Standing By"][G.rate]
    NameEQUIPLIGHTENVIRONCELLLOAD" diff --git a/code/modules/power/sensors/sensor_monitoring.dm b/code/modules/power/sensors/sensor_monitoring.dm index 277b175102f..f601374ccb2 100644 --- a/code/modules/power/sensors/sensor_monitoring.dm +++ b/code/modules/power/sensors/sensor_monitoring.dm @@ -13,7 +13,7 @@ //computer stuff density = TRUE anchored = TRUE - circuit = /obj/item/weapon/circuitboard/powermonitor + circuit = /obj/item/circuitboard/powermonitor var/alerting = 0 use_power = USE_POWER_IDLE idle_power_usage = 300 diff --git a/code/modules/power/singularity/act.dm b/code/modules/power/singularity/act.dm index 51c53138fac..acc2b4d7cc8 100644 --- a/code/modules/power/singularity/act.dm +++ b/code/modules/power/singularity/act.dm @@ -16,9 +16,9 @@ /mob/living/carbon/human/singularity_act() var/gain = 20 if(mind) - if((mind.assigned_role == "Engineer") || (mind.assigned_role == "Chief Engineer")) + if((mind.assigned_role == JOB_ENGINEER) || (mind.assigned_role == JOB_CHIEF_ENGINEER)) gain = 100 - if(mind.assigned_role == USELESS_JOB) //VOREStation Edit - Visitor not Assistant + if(mind.assigned_role == JOB_ALT_VISITOR) //VOREStation Edit - Visitor not Assistant gain = rand(0, 300) investigate_log(I_SINGULO,"has been consumed by a singularity", I_SINGULO) gib() @@ -30,10 +30,10 @@ for(var/obj/item/hand in handlist) if(prob(current_size*5) && hand.w_class >= ((11-current_size)/2) && unEquip(hand)) step_towards(hand, S) - to_chat(src, "The [S] pulls \the [hand] from your grip!") + to_chat(src, span_warning("The [S] pulls \the [hand] from your grip!")) if(!lying && (!shoes || !(shoes.item_flags & NOSLIP)) && (!species || !(species.flags & NOSLIP)) && prob(current_size*5)) - to_chat(src, "A strong gravitational force slams you to the ground!") + to_chat(src, span_danger("A strong gravitational force slams you to the ground!")) Weaken(current_size) ..() @@ -89,7 +89,7 @@ /obj/effect/projectile/emitter/singularity_pull() return -/obj/item/weapon/storage/backpack/holding/singularity_act(S, current_size) +/obj/item/storage/backpack/holding/singularity_act(S, current_size) var/dist = max((current_size - 2), 1) explosion(src.loc,(dist),(dist*2),(dist*4)) return 1000 diff --git a/code/modules/power/singularity/collector.dm b/code/modules/power/singularity/collector.dm index df76cbb27cb..5d82f46c5df 100644 --- a/code/modules/power/singularity/collector.dm +++ b/code/modules/power/singularity/collector.dm @@ -10,7 +10,7 @@ var/global/list/rad_collectors = list() density = TRUE req_access = list(access_engine_equip) // use_power = 0 - var/obj/item/weapon/tank/phoron/P = null + var/obj/item/tank/phoron/P = null var/last_power = 0 var/last_power_new = 0 var/active = 0 @@ -59,7 +59,7 @@ var/global/list/rad_collectors = list() /obj/machinery/power/rad_collector/attackby(obj/item/W, mob/user) - if(istype(W, /obj/item/weapon/tank/phoron)) + if(istype(W, /obj/item/tank/phoron)) if(!src.anchored) to_chat(user, span_red("The [src] needs to be secured to the floor first.")) return 1 @@ -89,7 +89,7 @@ var/global/list/rad_collectors = list() else disconnect_from_network() return 1 - else if(istype(W, /obj/item/weapon/card/id)||istype(W, /obj/item/device/pda)) + else if(istype(W, /obj/item/card/id)||istype(W, /obj/item/pda)) if (src.allowed(user)) if(active) src.locked = !src.locked @@ -116,7 +116,7 @@ var/global/list/rad_collectors = list() /obj/machinery/power/rad_collector/proc/eject() locked = 0 - var/obj/item/weapon/tank/phoron/Z = src.P + var/obj/item/tank/phoron/Z = src.P if (!Z) return Z.loc = get_turf(src) diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm index 85b10c8b00d..e73379d5a50 100644 --- a/code/modules/power/singularity/emitter.dm +++ b/code/modules/power/singularity/emitter.dm @@ -93,9 +93,9 @@ investigate_log("turned on by [user.key]","singulo") update_icon() else - to_chat(user, "The controls are locked!") + to_chat(user, span_warning("The controls are locked!")) else - to_chat(user, "\The [src] needs to be firmly secured to the floor first.") + to_chat(user, span_warning("\The [src] needs to be firmly secured to the floor first.")) return 1 @@ -177,18 +177,18 @@ src.anchored = FALSE disconnect_from_network() if(2) - to_chat(user, "\The [src] needs to be unwelded from the floor.") + to_chat(user, span_warning("\The [src] needs to be unwelded from the floor.")) update_icon() // VOREStation Add return if(W.has_tool_quality(TOOL_WELDER)) - var/obj/item/weapon/weldingtool/WT = W.get_welder() + var/obj/item/weldingtool/WT = W.get_welder() if(active) to_chat(user, "Turn off [src] first.") return switch(state) if(0) - to_chat(user, "\The [src] needs to be wrenched to the floor.") + to_chat(user, span_warning("\The [src] needs to be wrenched to the floor.")) if(1) if (WT.remove_fuel(0,user)) playsound(src, WT.usesound, 50, 1) @@ -201,7 +201,7 @@ to_chat(user, "You weld [src] to the floor.") connect_to_network() else - to_chat(user, "You need more welding fuel to complete this task.") + to_chat(user, span_warning("You need more welding fuel to complete this task.")) if(2) if (WT.remove_fuel(0,user)) playsound(src, WT.usesound, 50, 1) @@ -214,39 +214,39 @@ to_chat(user, "You cut [src] free from the floor.") disconnect_from_network() else - to_chat(user, "You need more welding fuel to complete this task.") + to_chat(user, span_warning("You need more welding fuel to complete this task.")) update_icon() // VOREStation Add return if(istype(W, /obj/item/stack/material) && W.get_material_name() == MAT_STEEL) var/amt = CEILING(( initial(integrity) - integrity)/10, 1) if(!amt) - to_chat(user, "\The [src] is already fully repaired.") + to_chat(user, span_notice("\The [src] is already fully repaired.")) return var/obj/item/stack/P = W if(!P.can_use(amt)) - to_chat(user, "You don't have enough sheets to repair this! You need at least [amt] sheets.") + to_chat(user, span_warning("You don't have enough sheets to repair this! You need at least [amt] sheets.")) return - to_chat(user, "You begin repairing \the [src]...") + to_chat(user, span_notice("You begin repairing \the [src]...")) if(do_after(user, 30)) if(P.use(amt)) - to_chat(user, "You have repaired \the [src].") + to_chat(user, span_notice("You have repaired \the [src].")) integrity = initial(integrity) return else - to_chat(user, "You don't have enough sheets to repair this! You need at least [amt] sheets.") + to_chat(user, span_warning("You don't have enough sheets to repair this! You need at least [amt] sheets.")) return - if(istype(W, /obj/item/weapon/card/id) || istype(W, /obj/item/device/pda)) + if(istype(W, /obj/item/card/id) || istype(W, /obj/item/pda)) if(emagged) - to_chat(user, "The lock seems to be broken.") + to_chat(user, span_warning("The lock seems to be broken.")) return if(src.allowed(user)) src.locked = !src.locked to_chat(user, "The controls are now [src.locked ? "locked." : "unlocked."]") update_icon() // VOREStation Add else - to_chat(user, "Access denied.") + to_chat(user, span_warning("Access denied.")) return ..() return @@ -255,7 +255,7 @@ if(!emagged) locked = 0 emagged = 1 - user.visible_message("[user.name] emags [src].","You short out the lock.") + user.visible_message("[user.name] emags [src].",span_warning("You short out the lock.")) return 1 /obj/machinery/power/emitter/bullet_act(var/obj/item/projectile/P) @@ -271,10 +271,10 @@ integrity = between(0, integrity + amount, initial(integrity)) if(integrity == 0) if(powernet && avail(active_power_usage)) // If it's powered, it goes boom if killed. - visible_message(src, "\The [src] explodes violently!", "You hear an explosion!") + visible_message(src, span_danger("\The [src] explodes violently!"), span_danger("You hear an explosion!")) explosion(get_turf(src), 1, 2, 4) else - src.visible_message("\The [src] crumples apart!", "You hear metal collapsing.") + src.visible_message(span_danger("\The [src] crumples apart!"), span_warning("You hear metal collapsing.")) if(src) qdel(src) @@ -282,19 +282,19 @@ . = ..() switch(state) if(0) - . += "It is not secured in place!" + . += span_warning("It is not secured in place!") if(1) - . += "It has been bolted down securely, but not welded into place." + . += span_warning("It has been bolted down securely, but not welded into place.") if(2) - . += "It has been bolted down securely and welded down into place." + . += span_notice("It has been bolted down securely and welded down into place.") var/integrity_percentage = round((integrity / initial(integrity)) * 100) switch(integrity_percentage) if(0 to 30) - . += "It is close to falling apart!" + . += span_danger("It is close to falling apart!") if(31 to 70) - . += "It is damaged." + . += span_danger("It is damaged.") if(77 to 99) - . += "It is slightly damaged." + . += span_warning("It is slightly damaged.") //R-UST port /obj/machinery/power/emitter/proc/get_initial_fire_delay() diff --git a/code/modules/power/singularity/field_generator.dm b/code/modules/power/singularity/field_generator.dm index 8f621290779..b4419043c37 100644 --- a/code/modules/power/singularity/field_generator.dm +++ b/code/modules/power/singularity/field_generator.dm @@ -44,11 +44,11 @@ field_generator power level display . = ..() switch(state) if(0) - . += "It is not secured in place!" + . += span_warning("It is not secured in place!") if(1) - . += "It has been bolted down securely, but not welded into place." + . += span_warning("It has been bolted down securely, but not welded into place.") if(2) - . += "It has been bolted down securely and welded down into place." + . += span_notice("It has been bolted down securely and welded down into place.") /obj/machinery/field_generator/update_icon() cut_overlays() @@ -136,7 +136,7 @@ field_generator power level display to_chat(user, span_red("The [src.name] needs to be unwelded from the floor.")) return else if(W.has_tool_quality(TOOL_WELDER)) - var/obj/item/weapon/weldingtool/WT = W.get_welder() + var/obj/item/weldingtool/WT = W.get_welder() switch(state) if(0) to_chat(user, span_red("The [src.name] needs to be wrenched to the floor.")) diff --git a/code/modules/power/singularity/generator.dm b/code/modules/power/singularity/generator.dm index 35d593efae5..647492e49db 100644 --- a/code/modules/power/singularity/generator.dm +++ b/code/modules/power/singularity/generator.dm @@ -13,9 +13,9 @@ /obj/machinery/the_singularitygen/examine() . = ..() if(anchored) - . += "It has been securely bolted down and is ready for operation." + . += span_notice("It has been securely bolted down and is ready for operation.") else - . += "It is not secured!" + . += span_warning("It is not secured!") /obj/machinery/the_singularitygen/process() var/turf/T = get_turf(src) @@ -39,19 +39,19 @@ if(W.has_tool_quality(TOOL_SCREWDRIVER)) panel_open = !panel_open playsound(src, W.usesound, 50, 1) - visible_message("\The [user] adjusts \the [src]'s mechanisms.") + visible_message(span_infoplain(span_bold("\The [user]") + " adjusts \the [src]'s mechanisms.")) if(panel_open && do_after(user, 30)) - to_chat(user, "\The [src] looks like it could be modified.") + to_chat(user, span_notice("\The [src] looks like it could be modified.")) if(panel_open && do_after(user, 80 * W.toolspeed)) // We don't have skills, so a delayed hint for engineers will have to do for now. (Panel open check for sanity) playsound(src, W.usesound, 50, 1) - to_chat(user, "\The [src] looks like it could be adapted to forge advanced materials via particle acceleration, somehow..") + to_chat(user, span_cult("\The [src] looks like it could be adapted to forge advanced materials via particle acceleration, somehow..")) else - to_chat(user, "\The [src]'s mechanisms look secure.") - if(istype(W, /obj/item/weapon/smes_coil/super_io) && panel_open) - visible_message("\The [user] begins to modify \the [src] with \the [W].") + to_chat(user, span_notice("\The [src]'s mechanisms look secure.")) + if(istype(W, /obj/item/smes_coil/super_io) && panel_open) + visible_message(span_infoplain(span_bold("\The [user]") + " begins to modify \the [src] with \the [W].")) if(do_after(user, 300)) user.drop_from_inventory(W) - visible_message("\The [user] installs \the [W] onto \the [src].") + visible_message(span_infoplain(span_bold("\The [user]") + " installs \the [W] onto \the [src].")) qdel(W) var/turf/T = get_turf(src) var/new_machine = /obj/machinery/particle_smasher diff --git a/code/modules/power/singularity/particle_accelerator/particle_control.dm b/code/modules/power/singularity/particle_accelerator/particle_control.dm index 99d71c50e61..944915f209d 100644 --- a/code/modules/power/singularity/particle_accelerator/particle_control.dm +++ b/code/modules/power/singularity/particle_accelerator/particle_control.dm @@ -82,26 +82,26 @@ part.strength = strength part.update_icon() -/obj/machinery/particle_accelerator/control_box/proc/add_strength(var/s) +/obj/machinery/particle_accelerator/control_box/proc/add_strength(mob/user, var/s) if(assembled) strength++ if(strength > strength_upper_limit) strength = strength_upper_limit else - message_admins("PA Control Computer increased to [strength] by [key_name(usr, usr.client)][ADMIN_QUE(usr)] in [ADMIN_COORDJMP(src)]",0,1) - log_game("PACCEL([x],[y],[z]) [key_name(usr)] increased to [strength]") - investigate_log("increased to [strength] by [usr.key]","singulo") + message_admins("PA Control Computer increased to [strength] by [key_name(user, user.client)][ADMIN_QUE(user)] in [ADMIN_COORDJMP(src)]",0,1) + log_game("PACCEL([x],[y],[z]) [key_name(user)] increased to [strength]") + investigate_log("increased to [strength] by [user.key]","singulo") strength_change() -/obj/machinery/particle_accelerator/control_box/proc/remove_strength(var/s) +/obj/machinery/particle_accelerator/control_box/proc/remove_strength(mob/user, var/s) if(assembled) strength-- if(strength < 0) strength = 0 else - message_admins("PA Control Computer decreased to [strength] by [key_name(usr, usr.client)][ADMIN_QUE(usr)] in [ADMIN_COORDJMP(src)]",0,1) - log_game("PACCEL([x],[y],[z]) [key_name(usr)] decreased to [strength]") - investigate_log("decreased to [strength] by [usr.key]","singulo") + message_admins("PA Control Computer decreased to [strength] by [key_name(user, user.client)][ADMIN_QUE(user)] in [ADMIN_COORDJMP(src)]",0,1) + log_game("PACCEL([x],[y],[z]) [key_name(user)] decreased to [strength]") + investigate_log("decreased to [strength] by [user.key]","singulo") strength_change() /obj/machinery/particle_accelerator/control_box/power_change() @@ -118,7 +118,7 @@ //a part is missing! if( length(connected_parts) < 6 ) log_game("PACCEL([x],[y],[z]) Failed due to missing parts.") - investigate_log("lost a connected part; It powered down.","singulo") + investigate_log("lost a connected part; It " + span_red("powered down") + ".","singulo") toggle_power() return //emit some particles @@ -181,11 +181,11 @@ return 0 -/obj/machinery/particle_accelerator/control_box/proc/toggle_power() +/obj/machinery/particle_accelerator/control_box/proc/toggle_power(mob/user) active = !active - investigate_log("turned [active?"ON":"OFF"] by [usr ? usr.key : "outside forces"]","singulo") - message_admins("PA Control Computer turned [active ?"ON":"OFF"] by [usr ? key_name(usr, usr.client) : "outside forces"][ADMIN_QUE(usr)] in [ADMIN_COORDJMP(src)]",0,1) - log_game("PACCEL([x],[y],[z]) [usr ? key_name(usr, usr.client) : "outside forces"] turned [active?"ON":"OFF"].") + investigate_log("turned [active?"ON":"OFF"] by [user ? user.key : "outside forces"]","singulo") + message_admins("PA Control Computer turned [active ?"ON":"OFF"] by [user ? key_name(user, user.client) : "outside forces"][ADMIN_QUE(user)] in [ADMIN_COORDJMP(src)]",0,1) + log_game("PACCEL([x],[y],[z]) [user ? key_name(user, user.client) : "outside forces"] turned [active?"ON":"OFF"].") if(active) update_use_power(USE_POWER_ACTIVE) for(var/obj/structure/particle_accelerator/part in connected_parts) @@ -202,7 +202,7 @@ /obj/machinery/particle_accelerator/control_box/proc/is_interactive(mob/user) if(!interface_control) - to_chat(user, "ERROR: Request timed out. Check wire contacts.") + to_chat(user, span_warning("ERROR: Request timed out. Check wire contacts.")) return FALSE if(construction_state != 3) return FALSE @@ -226,7 +226,7 @@ data["strength"] = strength return data -/obj/machinery/particle_accelerator/control_box/tgui_act(action, params) +/obj/machinery/particle_accelerator/control_box/tgui_act(action, params, datum/tgui/ui) if(..()) return @@ -234,7 +234,7 @@ if("power") if(wires.is_cut(WIRE_POWER)) return - toggle_power() + toggle_power(ui.user) . = TRUE if("scan") part_scan() @@ -242,12 +242,12 @@ if("add_strength") if(wires.is_cut(WIRE_PARTICLE_STRENGTH)) return - add_strength() + add_strength(ui.user) . = TRUE if("remove_strength") if(wires.is_cut(WIRE_PARTICLE_STRENGTH)) return - remove_strength() + remove_strength(ui.user) . = TRUE update_icon() diff --git a/code/modules/power/singularity/particle_accelerator/particle_smasher.dm b/code/modules/power/singularity/particle_accelerator/particle_smasher.dm index b0ced621a26..15930bfd14f 100644 --- a/code/modules/power/singularity/particle_accelerator/particle_smasher.dm +++ b/code/modules/power/singularity/particle_accelerator/particle_smasher.dm @@ -21,8 +21,8 @@ var/energy = 0 // How many 'energy' units does this have? Acquired by a Particle Accelerator like a Singularity. var/max_energy = 600 var/obj/item/stack/material/target // The material being bombarded. - var/obj/item/weapon/reagent_containers/reagent_container // Holds the beaker. The process will consume ALL reagents inside it. - var/beaker_type = /obj/item/weapon/reagent_containers/glass/beaker + var/obj/item/reagent_containers/reagent_container // Holds the beaker. The process will consume ALL reagents inside it. + var/beaker_type = /obj/item/reagent_containers/glass/beaker var/list/storage // Holds references to items allowed to be used in the fabrication phase. var/max_storage = 3 // How many items can be jammed into it? var/list/recipes // The list containing the Particle Smasher's recipes. @@ -42,36 +42,36 @@ /obj/machinery/particle_smasher/examine(mob/user) . = ..() if(Adjacent(user)) - . += "\The [src] contains:" + . += span_notice("\The [src] contains:") for(var/obj/item/I in contents) - . += "\the [I]" + . += span_notice("\the [I]") /obj/machinery/particle_smasher/atmosanalyze(var/mob/user) - return list("\The [src] reads an energy level of [energy].") + return list(span_notice("\The [src] reads an energy level of [energy].")) /obj/machinery/particle_smasher/attackby(obj/item/W as obj, mob/user as mob) - if(W.type == /obj/item/device/analyzer) + if(W.type == /obj/item/analyzer) return else if(istype(W, /obj/item/stack/material)) var/obj/item/stack/material/M = W if(M.uses_charge) - to_chat(user, "You cannot fill \the [src] with a synthesizer!") + to_chat(user, span_notice("You cannot fill \the [src] with a synthesizer!")) return target = M.split(1) target.forceMove(src) update_icon() else if(istype(W, beaker_type)) if(reagent_container) - to_chat(user, "\The [src] already has a container attached.") + to_chat(user, span_notice("\The [src] already has a container attached.")) return - if(isrobot(user) && istype(W.loc, /obj/item/weapon/gripper)) - var/obj/item/weapon/gripper/G = W.loc + if(isrobot(user) && istype(W.loc, /obj/item/gripper)) + var/obj/item/gripper/G = W.loc G.drop_item() else user.drop_from_inventory(W) reagent_container = W reagent_container.forceMove(src) - to_chat(user, "You add \the [reagent_container] to \the [src].") + to_chat(user, span_notice("You add \the [reagent_container] to \the [src].")) update_icon() return else if(W.has_tool_quality(TOOL_WRENCH)) @@ -87,12 +87,12 @@ "You hear a ratchet.") update_icon() return - else if(istype(W, /obj/item/weapon/card/id)) - to_chat(user, "Swiping \the [W] on \the [src] doesn't seem to do anything...") + else if(istype(W, /obj/item/card/id)) + to_chat(user, span_notice("Swiping \the [W] on \the [src] doesn't seem to do anything...")) return ..() - else if(((isrobot(user) && istype(W.loc, /obj/item/weapon/gripper)) || (!isrobot(user) && W.canremove)) && storage.len < max_storage) - if(isrobot(user) && istype(W.loc, /obj/item/weapon/gripper)) - var/obj/item/weapon/gripper/G = W.loc + else if(((isrobot(user) && istype(W.loc, /obj/item/gripper)) || (!isrobot(user) && W.canremove)) && storage.len < max_storage) + if(isrobot(user) && istype(W.loc, /obj/item/gripper)) + var/obj/item/gripper/G = W.loc G.drop_item() else user.drop_from_inventory(W) @@ -177,12 +177,12 @@ recipes = typesof(/datum/particle_smasher_recipe) if(!target) // You are just blasting an empty machine. - visible_message("\The [src] shudders.") + visible_message(span_infoplain(span_bold("\The [src]") + " shudders.")) update_icon() return if(successful_craft) - visible_message("\The [src] fizzles.") + visible_message(span_warning("\The [src] fizzles.")) if(prob(33)) // Why are you blasting it after it's already done! SSradiation.radiate(src, 10 + round(src.energy / 60, 1)) energy = max(0, energy - 30) @@ -271,7 +271,7 @@ /datum/particle_smasher_recipe var/list/reagents // example: = list("pacid" = 5) - var/list/items // example: = list(/obj/item/weapon/tool/crowbar, /obj/item/weapon/welder) Place /foo/bar before /foo. Do not include fruit. Maximum of 3 items. + var/list/items // example: = list(/obj/item/tool/crowbar, /obj/item/welder) Place /foo/bar before /foo. Do not include fruit. Maximum of 3 items. var/recipe_type = PS_RESULT_STACK // Are we producing a stack or an item? var/result = /obj/item/stack/material/iron // The sheet this will produce. @@ -290,7 +290,7 @@ if(istype(container, /obj/machinery/particle_smasher)) var/obj/machinery/particle_smasher/machine = container for(var/obj/O in machine.storage) - if(istype(O,/obj/item/weapon/reagent_containers/food/snacks/grown)) + if(istype(O,/obj/item/reagent_containers/food/snacks/grown)) continue // Fruit is handled in check_fruit(). var/found = 0 for(var/i = 1; i < checklist.len+1; i++) @@ -388,11 +388,11 @@ probability = 1 /datum/particle_smasher_recipe/donkpockets_coal - items = list(/obj/item/weapon/reagent_containers/food/snacks/donkpocket) + items = list(/obj/item/reagent_containers/food/snacks/donkpocket) recipe_type = PS_RESULT_ITEM - result = /obj/item/weapon/ore/coal + result = /obj/item/ore/coal required_material = null required_energy_min = 1 @@ -403,12 +403,12 @@ probability = 90 /datum/particle_smasher_recipe/donkpockets_ascend - items = list(/obj/item/weapon/reagent_containers/food/snacks/donkpocket) + items = list(/obj/item/reagent_containers/food/snacks/donkpocket) reagents = list("phoron" = 120) recipe_type = PS_RESULT_ITEM - result = /obj/item/weapon/reagent_containers/food/snacks/donkpocket/ascended + result = /obj/item/reagent_containers/food/snacks/donkpocket/ascended required_material = /obj/item/stack/material/uranium required_energy_min = 501 diff --git a/code/modules/power/singularity/singularity.dm b/code/modules/power/singularity/singularity.dm index 29e2652ef5f..a8c47362de8 100644 --- a/code/modules/power/singularity/singularity.dm +++ b/code/modules/power/singularity/singularity.dm @@ -135,7 +135,7 @@ GLOBAL_LIST_BOILERPLATE(all_singularities, /obj/singularity) overlays = 0 if(chained) overlays = "chain_s1" - visible_message("The singularity has shrunk to a rather pitiful size.") + visible_message(span_notice("The singularity has shrunk to a rather pitiful size.")) if (STAGE_TWO) //1 to 3 does not check for the turfs if you put the gens right next to a 1x1 then its going to eat them. name = "gravitational singularity" desc = "A gravitational singularity." @@ -153,9 +153,9 @@ GLOBAL_LIST_BOILERPLATE(all_singularities, /obj/singularity) if(chained) overlays = "chain_s3" if(growing) - visible_message("The singularity noticeably grows in size.") + visible_message(span_notice("The singularity noticeably grows in size.")) else - visible_message("The singularity has shrunk to a less powerful size.") + visible_message(span_notice("The singularity has shrunk to a less powerful size.")) if (STAGE_THREE) if ((check_turfs_in(1, 2)) && (check_turfs_in(2, 2)) && (check_turfs_in(4, 2)) && (check_turfs_in(8, 2))) name = "gravitational singularity" @@ -174,9 +174,9 @@ GLOBAL_LIST_BOILERPLATE(all_singularities, /obj/singularity) if(chained) overlays = "chain_s5" if(growing) - visible_message("The singularity expands to a reasonable size.") + visible_message(span_notice("The singularity expands to a reasonable size.")) else - visible_message("The singularity has returned to a safe size.") + visible_message(span_notice("The singularity has returned to a safe size.")) if(STAGE_FOUR) if ((check_turfs_in(1, 3)) && (check_turfs_in(2, 3)) && (check_turfs_in(4, 3)) && (check_turfs_in(8, 3))) name = "gravitational singularity" @@ -195,9 +195,9 @@ GLOBAL_LIST_BOILERPLATE(all_singularities, /obj/singularity) if(chained) overlays = "chain_s7" if(growing) - visible_message("The singularity expands to a dangerous size.") + visible_message(span_warning("The singularity expands to a dangerous size.")) else - visible_message("Miraculously, the singularity reduces in size, and can be contained.") + visible_message(span_notice("Miraculously, the singularity reduces in size, and can be contained.")) if(STAGE_FIVE) //This one also lacks a check for gens because it eats everything. name = "gravitational singularity" desc = "A gravitational singularity." @@ -213,9 +213,9 @@ GLOBAL_LIST_BOILERPLATE(all_singularities, /obj/singularity) if(chained) overlays = "chain_s9" if(growing) - visible_message("The singularity has grown out of control!") + visible_message(span_danger(span_normal("The singularity has grown out of control!"))) else - visible_message("The singularity miraculously reduces in size and loses its supermatter properties.") + visible_message(span_warning("The singularity miraculously reduces in size and loses its supermatter properties.")) if(STAGE_SUPER)//SUPERSINGULO name = "super gravitational singularity" desc = "A gravitational singularity with the properties of supermatter. It has the power to destroy worlds." @@ -230,10 +230,10 @@ GLOBAL_LIST_BOILERPLATE(all_singularities, /obj/singularity) event_chance = 25 //Events will fire off more often. if(chained) overlays = "chain_s9" - visible_message("You witness the creation of a destructive force that cannot possibly be stopped by human hands.") + visible_message(span_sinister(span_large("You witness the creation of a destructive force that cannot possibly be stopped by human hands."))) if (current_size == allowed_size) - investigate_log("grew to size [current_size].", I_SINGULO) + investigate_log(span_red("grew to size [current_size]."), I_SINGULO) return 1 else if (current_size < (--temp_allowed_size) && current_size != STAGE_SUPER) expand(temp_allowed_size) @@ -366,7 +366,7 @@ GLOBAL_LIST_BOILERPLATE(all_singularities, /obj/singularity) // VOREStation Edit Start var/area/A = get_area(T) - if(A.forbid_singulo) //No going to dorms + if(A.flag_check(AREA_FORBID_SINGULO)) //No going to dorms return 0 // VOREStation Edit End @@ -427,14 +427,14 @@ GLOBAL_LIST_BOILERPLATE(all_singularities, /obj/singularity) if (istype(M,/mob/living/carbon/human)) var/mob/living/carbon/human/H = M if(istype(H.glasses,/obj/item/clothing/glasses/meson) && current_size != STAGE_SUPER) - to_chat(H, "You look directly into The [src.name], good thing you had your protective eyewear on!") + to_chat(H, span_notice("You look directly into The [src.name], good thing you had your protective eyewear on!")) return else - to_chat(H, "You look directly into The [src.name], but your eyewear does absolutely nothing to protect you from it!") - to_chat(M, "You look directly into The [src.name] and feel [current_size == STAGE_SUPER ? "helpless" : "weak"].") + to_chat(H, span_warning("You look directly into The [src.name], but your eyewear does absolutely nothing to protect you from it!")) + to_chat(M, span_danger("You look directly into The [src.name] and feel [current_size == STAGE_SUPER ? "helpless" : "weak"].")) M.apply_effect(3, STUN) for(var/mob/O in viewers(M, null)) - O.show_message(text("[] stares blankly at The []!", M, src), 1) + O.show_message(span_danger("[M] stares blankly at The [src]!"), 1) /obj/singularity/proc/emp_area() if(current_size != STAGE_SUPER) @@ -445,11 +445,11 @@ GLOBAL_LIST_BOILERPLATE(all_singularities, /obj/singularity) /obj/singularity/proc/smwave() for(var/mob/living/M in view(10, src.loc)) if(prob(67)) - to_chat(M, "You hear an uneartly ringing, then what sounds like a shrilling kettle as you are washed with a wave of heat.") - to_chat(M, "Miraculously, it fails to kill you.") + to_chat(M, span_warning("You hear an unearthly ringing, then what sounds like a shrilling kettle as you are washed with a wave of heat.")) + to_chat(M, span_notice("Miraculously, it fails to kill you.")) else - to_chat(M, "You hear an uneartly ringing, then what sounds like a shrilling kettle as you are washed with a wave of heat.") - to_chat(M, "You don't even have a moment to react as you are reduced to ashes by the intense radiation.") + to_chat(M, span_danger("You hear an unearthly ringing, then what sounds like a shrilling kettle as you are washed with a wave of heat.")) + to_chat(M, span_danger("You don't even have a moment to react as you are reduced to ashes by the intense radiation.")) M.dust() SSradiation.radiate(src, rand(energy)) return diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm index a64f2c78616..1eceed8782a 100644 --- a/code/modules/power/smes.dm +++ b/code/modules/power/smes.dm @@ -14,7 +14,7 @@ GLOBAL_LIST_EMPTY(smeses) anchored = TRUE unacidable = TRUE use_power = USE_POWER_OFF - circuit = /obj/item/weapon/circuitboard/smes + circuit = /obj/item/circuitboard/smes clicksound = "switch" var/capacity = 5e6 // maximum charge @@ -220,7 +220,7 @@ GLOBAL_LIST_EMPTY(smeses) //Will return 1 on failure /obj/machinery/power/smes/proc/make_terminal(const/mob/user) if (user.loc == loc) - to_chat(user, "You must not be on the same tile as the [src].") + to_chat(user, span_filter_notice(span_warning("You must not be on the same tile as the [src]."))) return 1 //Direction the terminal will face to @@ -232,15 +232,15 @@ GLOBAL_LIST_EMPTY(smeses) tempDir = WEST var/turf/tempLoc = get_step(src, reverse_direction(tempDir)) if (istype(tempLoc, /turf/space)) - to_chat(user, "You can't build a terminal on space.") + to_chat(user, span_filter_notice(span_warning("You can't build a terminal on space."))) return 1 else if (istype(tempLoc)) if(!tempLoc.is_plating()) - to_chat(user, "You must remove the floor plating first.") + to_chat(user, span_filter_notice(span_warning("You must remove the floor plating first."))) return 1 if(check_terminal_exists(tempLoc, user, tempDir)) return 1 - to_chat(user, "You start adding cable to the [src].") + to_chat(user, span_filter_notice(span_notice("You start adding cable to the [src]."))) if(do_after(user, 50)) if(check_terminal_exists(tempLoc, user, tempDir)) return 1 @@ -255,7 +255,7 @@ GLOBAL_LIST_EMPTY(smeses) /obj/machinery/power/smes/proc/check_terminal_exists(var/turf/location, var/mob/user, var/direction) for(var/obj/machinery/power/terminal/term in location) if(term.dir == direction) - to_chat(user, "There is already a terminal here.") + to_chat(user, span_filter_notice(span_notice("There is already a terminal here."))) return 1 return 0 @@ -279,31 +279,31 @@ GLOBAL_LIST_EMPTY(smeses) tgui_interact(user) -/obj/machinery/power/smes/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) +/obj/machinery/power/smes/attackby(var/obj/item/W as obj, var/mob/user as mob) if(default_deconstruction_screwdriver(user, W)) return FALSE if (!panel_open) - to_chat(user, "You need to open access hatch on [src] first!") + to_chat(user, span_filter_notice(span_warning("You need to open access hatch on [src] first!"))) return FALSE if(W.has_tool_quality(TOOL_WELDER)) - var/obj/item/weapon/weldingtool/WT = W.get_welder() + var/obj/item/weldingtool/WT = W.get_welder() if(!WT.isOn()) - to_chat(user, "Turn on \the [WT] first!") + to_chat(user, span_filter_notice("Turn on \the [WT] first!")) return FALSE if(!damage) - to_chat(user, "\The [src] is already fully repaired.") + to_chat(user, span_filter_notice("\The [src] is already fully repaired.")) return FALSE if(WT.remove_fuel(0,user) && do_after(user, damage, src)) - to_chat(user, "You repair all structural damage to \the [src]") + to_chat(user, span_filter_notice("You repair all structural damage to \the [src]")) damage = 0 return FALSE else if(istype(W, /obj/item/stack/cable_coil) && !building_terminal) building_terminal = 1 var/obj/item/stack/cable_coil/CC = W if (CC.get_amount() < 10) - to_chat(user, "You need more cables.") + to_chat(user, span_filter_notice(span_warning("You need more cables."))) building_terminal = 0 return FALSE if (make_terminal(user)) @@ -312,8 +312,8 @@ GLOBAL_LIST_EMPTY(smeses) building_terminal = 0 CC.use(10) user.visible_message(\ - "[user.name] has added cables to the [src].",\ - "You added cables to the [src].") + span_filter_notice(span_notice("[user.name] has added cables to the [src].")),\ + span_filter_notice(span_notice("You added cables to the [src]."))) stat = 0 if(!powernet) connect_to_network() @@ -327,28 +327,28 @@ GLOBAL_LIST_EMPTY(smeses) term = T break if(!term) - to_chat(user, "There is no terminal on this tile.") + to_chat(user, span_filter_notice(span_warning("There is no terminal on this tile."))) building_terminal = FALSE return FALSE var/turf/tempTDir = get_turf(term) if (istype(tempTDir)) if(!tempTDir.is_plating()) - to_chat(user, "You must remove the floor plating first.") + to_chat(user, span_filter_notice(span_warning("You must remove the floor plating first."))) else - to_chat(user, "You begin to cut the cables...") + to_chat(user, span_filter_notice(span_notice("You begin to cut the cables..."))) playsound(src, 'sound/items/Deconstruct.ogg', 50, 1) if(do_after(user, 50 * W.toolspeed)) - if (prob(50) && electrocute_mob(usr, term.powernet, term)) + if (prob(50) && electrocute_mob(user, term.powernet, term)) var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread s.set_up(5, 1, src) s.start() building_terminal = FALSE - if(usr.stunned) + if(user.stunned) return FALSE new /obj/item/stack/cable_coil(loc,10) user.visible_message(\ - "[user.name] cut the cables and dismantled the power terminal.",\ - "You cut the cables and dismantle the power terminal.") + span_filter_notice(span_notice("[user.name] cut the cables and dismantled the power terminal.")),\ + span_filter_notice(span_notice("You cut the cables and dismantle the power terminal."))) terminals -= term qdel(term) building_terminal = FALSE @@ -408,10 +408,18 @@ GLOBAL_LIST_EMPTY(smeses) target = 0 . = TRUE else if(target == "max") - target = output_level_max + switch(io) + if(SMES_TGUI_INPUT) + target = input_level_max + if(SMES_TGUI_OUTPUT) + target = output_level_max . = TRUE else if(adjust) - target = output_level + adjust + switch(io) + if(SMES_TGUI_INPUT) + target = input_level + adjust + if(SMES_TGUI_OUTPUT) + target = output_level + adjust . = TRUE else if(text2num(target) != null) target = text2num(target) @@ -438,7 +446,7 @@ GLOBAL_LIST_EMPTY(smeses) amount = max(0, round(amount)) damage += amount if(damage > maxdamage) - visible_message("\The [src] explodes in large shower of sparks and smoke!") + visible_message(span_filter_notice(span_danger("\The [src] explodes in large shower of sparks and smoke!"))) // Depending on stored charge percentage cause damage. switch(Percentage()) if(75 to INFINITY) @@ -470,19 +478,19 @@ GLOBAL_LIST_EMPTY(smeses) /obj/machinery/power/smes/examine(var/mob/user) . = ..() - . += "The service hatch is [panel_open ? "open" : "closed"]." + . += span_filter_notice("The service hatch is [panel_open ? "open" : "closed"].") if(!damage) return var/damage_percentage = round((damage / maxdamage) * 100) switch(damage_percentage) if(75 to INFINITY) - . += "It's casing is severely damaged, and sparking circuitry may be seen through the holes!" + . += span_filter_notice(span_danger("It's casing is severely damaged, and sparking circuitry may be seen through the holes!")) if(50 to 74) - . += "It's casing is considerably damaged, and some of the internal circuits appear to be exposed!" + . += span_filter_notice(span_notice("It's casing is considerably damaged, and some of the internal circuits appear to be exposed!")) if(25 to 49) - . += "It's casing is quite seriously damaged." + . += span_filter_notice(span_notice("It's casing is quite seriously damaged.")) if(0 to 24) - . += "It's casing has some minor damage." + . += span_filter_notice("It's casing has some minor damage.") // Proc: toggle_input() diff --git a/code/modules/power/smes_construction.dm b/code/modules/power/smes_construction.dm index 902616f9342..c2f10b7e2a2 100644 --- a/code/modules/power/smes_construction.dm +++ b/code/modules/power/smes_construction.dm @@ -6,7 +6,7 @@ // It also supports RCON System which allows you to operate it remotely, if properly set. //MAGNETIC COILS - These things actually store and transmit power within the SMES. Different types have different -/obj/item/weapon/smes_coil +/obj/item/smes_coil name = "superconductive magnetic coil" desc = "The standard superconductive magnetic coil, with average capacity and I/O rating." icon = 'icons/obj/stock_parts.dmi' @@ -16,7 +16,7 @@ var/IOCapacity = 250000 // 250 kW // 20% Charge Capacity, 60% I/O Capacity. Used for substation/outpost SMESs. -/obj/item/weapon/smes_coil/weak +/obj/item/smes_coil/weak name = "basic superconductive magnetic coil" desc = "A cheaper model of superconductive magnetic coil. Its capacity and I/O rating are considerably lower." icon_state = "smes_coil_weak" @@ -24,7 +24,7 @@ IOCapacity = 150000 // 150 kW // 1000% Charge Capacity, 20% I/O Capacity -/obj/item/weapon/smes_coil/super_capacity +/obj/item/smes_coil/super_capacity name = "superconductive capacitance coil" desc = "A specialised type of superconductive magnetic coil with a significantly stronger containment field, allowing for larger power storage. Its IO rating is much lower, however." icon_state = "smes_coil_capacitance" @@ -32,7 +32,7 @@ IOCapacity = 50000 // 50 kW // 10% Charge Capacity, 400% I/O Capacity. Technically turns SMES into large super capacitor.Ideal for shields. -/obj/item/weapon/smes_coil/super_io +/obj/item/smes_coil/super_io name = "superconductive transmission coil" desc = "A specialised type of superconductive magnetic coil with reduced storage capabilites but vastly improved power transmission capabilities, making it useful in systems which require large throughput." icon_state = "smes_coil_transmission" @@ -46,16 +46,16 @@ // 1M Charge, 150K I/O /obj/machinery/power/smes/buildable/outpost_substation/Initialize() . = ..() - component_parts += new /obj/item/weapon/smes_coil/weak(src) + component_parts += new /obj/item/smes_coil/weak(src) recalc_coils() // This one is pre-installed on engineering shuttle. Allows rapid charging/discharging for easier transport of power to outpost // 11M Charge, 2.5M I/O /obj/machinery/power/smes/buildable/power_shuttle/Initialize() . = ..() - component_parts += new /obj/item/weapon/smes_coil/super_io(src) - component_parts += new /obj/item/weapon/smes_coil/super_io(src) - component_parts += new /obj/item/weapon/smes_coil(src) + component_parts += new /obj/item/smes_coil/super_io(src) + component_parts += new /obj/item/smes_coil/super_io(src) + component_parts += new /obj/item/smes_coil(src) recalc_coils() // Pre-installed and pre-charged SMES hidden from the station, for use in submaps. @@ -113,7 +113,7 @@ if(RCon) ..() else // RCON wire cut - to_chat(usr, "Connection error: Destination Unreachable.") + to_chat(usr, span_warning("Connection error: Destination Unreachable.")) // Cyborgs standing next to the SMES can play with the wiring. if(istype(usr, /mob/living/silicon/robot) && Adjacent(usr) && panel_open) @@ -131,7 +131,7 @@ // Allows for mapped-in SMESs with larger capacity/IO if(install_coils) for(var/i = 1, i <= cur_coils, i++) - component_parts += new /obj/item/weapon/smes_coil(src) + component_parts += new /obj/item/smes_coil(src) recalc_coils() // Proc: attack_hand() @@ -153,7 +153,7 @@ capacity = 0 input_level_max = 0 output_level_max = 0 - for(var/obj/item/weapon/smes_coil/C in component_parts) + for(var/obj/item/smes_coil/C in component_parts) capacity += C.ChargeCapacity input_level_max += C.IOCapacity output_level_max += C.IOCapacity @@ -300,10 +300,10 @@ // Proc: attackby() // Parameters: 2 (W - object that was used on this machine, user - person which used the object) // Description: Handles tool interaction. Allows deconstruction/upgrading/fixing. -/obj/machinery/power/smes/buildable/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) +/obj/machinery/power/smes/buildable/attackby(var/obj/item/W as obj, var/mob/user as mob) // No more disassembling of overloaded SMESs. You broke it, now enjoy the consequences. if (failing) - to_chat(user, "The [src]'s indicator lights are flashing wildly. It seems to be overloaded! Touching it now is probably not a good idea.") + to_chat(user, span_warning("The [src]'s indicator lights are flashing wildly. It seems to be overloaded! Touching it now is probably not a good idea.")) return // If parent returned 1: // - Hatch is open, so we can modify the SMES @@ -311,20 +311,20 @@ if (..()) // Multitool - change RCON tag - if(istype(W, /obj/item/device/multitool)) + if(istype(W, /obj/item/multitool)) var/newtag = tgui_input_text(user, "Enter new RCON tag. Use \"NO_TAG\" to disable RCON or leave empty to cancel.", "SMES RCON system", "", MAX_NAME_LEN) newtag = sanitize(newtag,MAX_NAME_LEN) if(newtag) RCon_tag = newtag - to_chat(user, "You changed the RCON tag to: [newtag]") + to_chat(user, span_notice("You changed the RCON tag to: [newtag]")) return // Charged above 1% and safeties are enabled. if((charge > (capacity/100)) && safeties_enabled) - to_chat(user, "The safety circuit of [src] is preventing modifications while there is charge stored!") + to_chat(user, span_warning("The safety circuit of [src] is preventing modifications while there is charge stored!")) return if (output_attempt || input_attempt) - to_chat(user, "Turn off the [src] first!") + to_chat(user, span_warning("Turn off the [src] first!")) return // Probability of failure if safety circuit is disabled (in %) @@ -337,11 +337,11 @@ // Crowbar - Disassemble the SMES. if(W.has_tool_quality(TOOL_CROWBAR)) if (terminals.len) - to_chat(user, "You have to disassemble the terminal first!") + to_chat(user, span_warning("You have to disassemble the terminal first!")) return playsound(src, W.usesound, 50, 1) - to_chat(user, "You begin to disassemble the [src]!") + to_chat(user, span_warning("You begin to disassemble the [src]!")) if (do_after(usr, (100 * cur_coils) * W.toolspeed)) // More coils = takes longer to disassemble. It's complex so largest one with 5 coils will take 50s with a normal crowbar if (failure_probability && prob(failure_probability)) @@ -353,7 +353,7 @@ return // Superconducting Magnetic Coil - Upgrade the SMES - else if(istype(W, /obj/item/weapon/smes_coil)) + else if(istype(W, /obj/item/smes_coil)) if (cur_coils < max_coils) if (failure_probability && prob(failure_probability)) diff --git a/code/modules/power/smes_vr.dm b/code/modules/power/smes_vr.dm index 2612fab73b6..4d90a87fd7f 100644 --- a/code/modules/power/smes_vr.dm +++ b/code/modules/power/smes_vr.dm @@ -5,9 +5,9 @@ var/recharge_rate = 10000 var/overlay_icon = 'icons/obj/power_vr.dmi' -/obj/machinery/power/smes/buildable/hybrid/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) +/obj/machinery/power/smes/buildable/hybrid/attackby(var/obj/item/W as obj, var/mob/user as mob) if(W.has_tool_quality(TOOL_SCREWDRIVER) || W.has_tool_quality(TOOL_WIRECUTTER)) - to_chat(user,"\The [src] full of weird alien technology that's best not messed with.") + to_chat(user,span_warning("\The [src] full of weird alien technology that's best not messed with.")) return 0 /obj/machinery/power/smes/buildable/hybrid/update_icon() @@ -33,4 +33,4 @@ charge += min(recharge_rate, capacity - charge) ..() -//hey travis wake up \ No newline at end of file +//hey travis wake up diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm index 94d46d8581c..609c9516145 100644 --- a/code/modules/power/solar.dm +++ b/code/modules/power/solar.dm @@ -56,17 +56,17 @@ GLOBAL_LIST_EMPTY(solars_list) control.remove_panel(src) control = null -/obj/machinery/power/solar/attackby(obj/item/weapon/W, mob/user) +/obj/machinery/power/solar/attackby(obj/item/W, mob/user) if(W.has_tool_quality(TOOL_CROWBAR)) playsound(src, 'sound/machines/click.ogg', 50, 1) - user.visible_message("[user] begins to take the glass off the solar panel.") + user.visible_message(span_notice("[user] begins to take the glass off the solar panel.")) if(do_after(user, 50)) var/obj/item/solar_assembly/S = new(loc) S.anchored = TRUE new glass_type(loc, 2) playsound(src, 'sound/items/Deconstruct.ogg', 50, 1) - user.visible_message("[user] takes the glass off the solar panel.") + user.visible_message(span_notice("[user] takes the glass off the solar panel.")) qdel(src) return else if (W) @@ -81,8 +81,8 @@ GLOBAL_LIST_EMPTY(solars_list) if(!(stat & BROKEN)) broken() else - new /obj/item/weapon/material/shard(src.loc) - new /obj/item/weapon/material/shard(src.loc) + new /obj/item/material/shard(src.loc) + new /obj/item/material/shard(src.loc) qdel(src) return return @@ -138,13 +138,13 @@ GLOBAL_LIST_EMPTY(solars_list) switch(severity) if(1.0) if(prob(15)) - new /obj/item/weapon/material/shard( src.loc ) + new /obj/item/material/shard( src.loc ) qdel(src) return if(2.0) if (prob(25)) - new /obj/item/weapon/material/shard( src.loc ) + new /obj/item/material/shard( src.loc ) qdel(src) return @@ -203,19 +203,19 @@ GLOBAL_LIST_EMPTY(solars_list) if(!anchored || !isturf(loc)) // You can't pick it up ..() -/obj/item/solar_assembly/attackby(var/obj/item/weapon/W, var/mob/user) +/obj/item/solar_assembly/attackby(var/obj/item/W, var/mob/user) if (!isturf(loc)) return 0 if(!anchored) if(W.has_tool_quality(TOOL_WRENCH)) anchored = TRUE - user.visible_message("[user] wrenches the solar assembly into place.") + user.visible_message(span_notice("[user] wrenches the solar assembly into place.")) playsound(src, W.usesound, 75, 1) return 1 else if(W.has_tool_quality(TOOL_WRENCH)) anchored = FALSE - user.visible_message("[user] unwrenches the solar assembly from it's place.") + user.visible_message(span_notice("[user] unwrenches the solar assembly from it's place.")) playsound(src, W.usesound, 75, 1) return 1 @@ -223,29 +223,29 @@ GLOBAL_LIST_EMPTY(solars_list) var/obj/item/stack/material/S = W if(S.use(2)) playsound(src, 'sound/machines/click.ogg', 50, 1) - user.visible_message("[user] places the glass on the solar assembly.") + user.visible_message(span_notice("[user] places the glass on the solar assembly.")) if(tracker) new /obj/machinery/power/tracker(get_turf(src), W.type) else new /obj/machinery/power/solar(get_turf(src), W.type) qdel(src) else - to_chat(user, "You need two sheets of glass to put them into a solar panel.") + to_chat(user, span_warning("You need two sheets of glass to put them into a solar panel.")) return return 1 if(!tracker) - if(istype(W, /obj/item/weapon/tracker_electronics)) + if(istype(W, /obj/item/tracker_electronics)) tracker = 1 user.drop_item() qdel(W) - user.visible_message("[user] inserts the electronics into the solar assembly.") + user.visible_message(span_notice("[user] inserts the electronics into the solar assembly.")) return 1 else if(W.has_tool_quality(TOOL_CROWBAR)) - new /obj/item/weapon/tracker_electronics(src.loc) + new /obj/item/tracker_electronics(src.loc) tracker = 0 - user.visible_message("[user] takes out the electronics from the solar assembly.") + user.visible_message(span_notice("[user] takes out the electronics from the solar assembly.")) return 1 ..() @@ -299,7 +299,7 @@ GLOBAL_LIST_EMPTY(solars_list) /obj/machinery/power/solar_control/proc/auto_start(forced = FALSE) // Automatically sets the solars, if allowed. - if(forced || auto_start == SOLAR_AUTO_START_YES || (auto_start == SOLAR_AUTO_START_CONFIG && config.autostart_solars) ) + if(forced || auto_start == SOLAR_AUTO_START_YES || (auto_start == SOLAR_AUTO_START_CONFIG && CONFIG_GET(flag/autostart_solars)) ) track = 2 // Auto tracking mode. search_for_connected() if(connected_tracker) @@ -418,8 +418,8 @@ GLOBAL_LIST_EMPTY(solars_list) if (src.stat & BROKEN) to_chat(user, span_blue("The broken glass falls out.")) var/obj/structure/frame/A = new /obj/structure/frame/computer( src.loc ) - new /obj/item/weapon/material/shard( src.loc ) - var/obj/item/weapon/circuitboard/solar_control/M = new /obj/item/weapon/circuitboard/solar_control( A ) + new /obj/item/material/shard( src.loc ) + var/obj/item/circuitboard/solar_control/M = new /obj/item/circuitboard/solar_control( A ) for (var/obj/C in src) C.loc = src.loc A.circuit = M @@ -430,7 +430,7 @@ GLOBAL_LIST_EMPTY(solars_list) else to_chat(user, span_blue("You disconnect the monitor.")) var/obj/structure/frame/A = new /obj/structure/frame/computer( src.loc ) - var/obj/item/weapon/circuitboard/solar_control/M = new /obj/item/weapon/circuitboard/solar_control( A ) + var/obj/item/circuitboard/solar_control/M = new /obj/item/circuitboard/solar_control( A ) for (var/obj/C in src) C.loc = src.loc A.circuit = M @@ -549,7 +549,7 @@ GLOBAL_LIST_EMPTY(solars_list) // MISC // -/obj/item/weapon/paper/solar +/obj/item/paper/solar name = "paper- 'Going green! Setup your own solar array instructions.'" info = "

    Welcome

    At greencorps we love the environment, and space. With this package you are able to help mother nature and produce energy without any usage of fossil fuel or phoron! Singularity energy is dangerous while solar energy is safe, which is why it's better. Now here is how you setup your own solar array.

    You can make a solar panel by wrenching the solar assembly onto a cable node. Adding a glass panel, reinforced or regular glass will do, will finish the construction of your solar panel. It is that easy!

    Now after setting up 19 more of these solar panels you will want to create a solar tracker to keep track of our mother nature's gift, the SSsun.sun. These are the same steps as before except you insert the tracker equipment circuit into the assembly before performing the final step of adding the glass. You now have a tracker! Now the last step is to add a computer to calculate the SSsun.sun's movements and to send commands to the solar panels to change direction with the SSsun.sun. Setting up the solar computer is the same as setting up any computer, so you should have no trouble in doing that. You do need to put a wire node under the computer, and the wire needs to be connected to the tracker.

    Congratulations, you should have a working solar array. If you are having trouble, here are some tips. Make sure all solar equipment are on a cable node, even the computer. You can always deconstruct your creations if you make a mistake.

    That's all to it, be safe, be green!

    " diff --git a/code/modules/power/supermatter/setup_supermatter.dm b/code/modules/power/supermatter/setup_supermatter.dm index 22fc9547b52..7464bebafcd 100644 --- a/code/modules/power/supermatter/setup_supermatter.dm +++ b/code/modules/power/supermatter/setup_supermatter.dm @@ -10,7 +10,7 @@ /datum/admins/proc/setup_supermatter() - set category = "Debug" + set category = "Debug.Game" set name = "Setup Supermatter" set desc = "Allows you to start the Supermatter engine." diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index e4d976a3b69..dfa8b435603 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -47,7 +47,7 @@ /obj/machinery/power/supermatter name = "Supermatter" - desc = "A strangely translucent and iridescent crystal. You get headaches just from looking at it." + desc = "A strangely translucent and iridescent crystal. " + span_red("You get headaches just from looking at it.") icon = 'icons/obj/supermatter.dmi' icon_state = "darkmatter" plane = MOB_PLANE // So people can walk behind the top part @@ -188,7 +188,7 @@ continue mob.Weaken(DETONATION_MOB_CONCUSSION) - to_chat(mob, "An invisible force slams you against the ground!") + to_chat(mob, span_danger("An invisible force slams you against the ground!")) // Effect 2: Z-level wide electrical pulse for(var/obj/machinery/power/apc/A in GLOB.apcs) @@ -424,9 +424,9 @@ /obj/machinery/power/supermatter/attack_hand(mob/user as mob) var/datum/gender/TU = gender_datums[user.get_visible_gender()] - user.visible_message("\The [user] reaches out and touches \the [src], inducing a resonance... [TU.his] body starts to glow and bursts into flames before flashing into ash.",\ - "You reach out and touch \the [src]. Everything starts burning and all you can hear is ringing. Your last thought is \"That was not a wise decision.\"",\ - "You hear an uneartly ringing, then what sounds like a shrilling kettle as you are washed with a wave of heat.") + user.visible_message(span_warning("\The [user] reaches out and touches \the [src], inducing a resonance... [TU.his] body starts to glow and bursts into flames before flashing into ash."),\ + span_danger("You reach out and touch \the [src]. Everything starts burning and all you can hear is ringing. Your last thought is \"That was not a wise decision.\""),\ + span_warning("You hear an uneartly ringing, then what sounds like a shrilling kettle as you are washed with a wave of heat.")) Consume(user) @@ -456,10 +456,10 @@ return data -/obj/machinery/power/supermatter/attackby(obj/item/weapon/W as obj, mob/living/user as mob) - user.visible_message("\The [user] touches \a [W] to \the [src] as a silence fills the room...",\ - "You touch \the [W] to \the [src] when everything suddenly goes silent.\"\n\The [W] flashes into dust as you flinch away from \the [src].",\ - "Everything suddenly goes silent.") +/obj/machinery/power/supermatter/attackby(obj/item/W as obj, mob/living/user as mob) + user.visible_message(span_warning("\The [user] touches \a [W] to \the [src] as a silence fills the room..."),\ + span_danger("You touch \the [W] to \the [src] when everything suddenly goes silent.\"") + "\n" + span_notice("\The [W] flashes into dust as you flinch away from \the [src]."),\ + span_warning("Everything suddenly goes silent.")) user.drop_from_inventory(W) Consume(W) @@ -473,12 +473,12 @@ if(istype(AM, /mob/living)) var/mob/living/M = AM var/datum/gender/T = gender_datums[M.get_visible_gender()] - AM.visible_message("\The [AM] slams into \the [src] inducing a resonance... [T.his] body starts to glow and catch flame before flashing into ash.",\ - "You slam into \the [src] as your ears are filled with unearthly ringing. Your last thought is \"Oh, fuck.\"",\ - "You hear an uneartly ringing, then what sounds like a shrilling kettle as you are washed with a wave of heat.") + AM.visible_message(span_warning("\The [AM] slams into \the [src] inducing a resonance... [T.his] body starts to glow and catch flame before flashing into ash."),\ + span_danger("You slam into \the [src] as your ears are filled with unearthly ringing. Your last thought is \"Oh, fuck.\""),\ + span_warning("You hear an uneartly ringing, then what sounds like a shrilling kettle as you are washed with a wave of heat.")) else if(!grav_pulling) //To prevent spam, detonating supermatter does not indicate non-mobs being destroyed - AM.visible_message("\The [AM] smacks into \the [src] and rapidly flashes to ash.",\ - "You hear a loud crack as you are washed with a wave of heat.") + AM.visible_message(span_warning("\The [AM] smacks into \the [src] and rapidly flashes to ash."),\ + span_warning("You hear a loud crack as you are washed with a wave of heat.")) Consume(AM) @@ -495,10 +495,10 @@ //Some poor sod got eaten, go ahead and irradiate people nearby. for(var/mob/living/l in range(10)) if(l in view()) - l.show_message("As \the [src] slowly stops resonating, you find your skin covered in new radiation burns.", 1,\ - "The unearthly ringing subsides and you notice you have new radiation burns.", 2) + l.show_message(span_warning("As \the [src] slowly stops resonating, you find your skin covered in new radiation burns."), 1,\ + span_warning("The unearthly ringing subsides and you notice you have new radiation burns."), 2) else - l.show_message("You hear an uneartly ringing and notice your skin is covered in fresh radiation burns.", 2) + l.show_message(span_warning("You hear an uneartly ringing and notice your skin is covered in fresh radiation burns."), 2) var/rads = 500 SSradiation.radiate(src, rads) @@ -514,7 +514,7 @@ /obj/machinery/power/supermatter/shard //Small subtype, less efficient and more sensitive, but less boom. name = "Supermatter Shard" - desc = "A strangely translucent and iridescent crystal that looks like it used to be part of a larger structure. You get headaches just from looking at it." + desc = "A strangely translucent and iridescent crystal that looks like it used to be part of a larger structure. " + span_red("You get headaches just from looking at it.") icon_state = "darkmatter_shard" base_icon_state = "darkmatter_shard" diff --git a/code/modules/power/tesla/coil.dm b/code/modules/power/tesla/coil.dm index 8ff5dfe7532..e2b586d294e 100644 --- a/code/modules/power/tesla/coil.dm +++ b/code/modules/power/tesla/coil.dm @@ -11,7 +11,7 @@ can_buckle = TRUE buckle_lying = FALSE - circuit = /obj/item/weapon/circuitboard/tesla_coil + circuit = /obj/item/circuitboard/tesla_coil var/power_loss = 2 var/input_power_multiplier = 1 @@ -25,9 +25,9 @@ /obj/machinery/power/tesla_coil/examine() . = ..() if(anchored) - . += "It has been securely bolted down and is ready for operation." + . += span_notice("It has been securely bolted down and is ready for operation.") else - . += "It is not secured!" + . += span_warning("It is not secured!") /obj/machinery/power/tesla_coil/New() ..() @@ -44,7 +44,7 @@ /obj/machinery/power/tesla_coil/RefreshParts() var/power_multiplier = 0 zap_cooldown = 100 - for(var/obj/item/weapon/stock_parts/capacitor/C in component_parts) + for(var/obj/item/stock_parts/capacitor/C in component_parts) power_multiplier += C.rating zap_cooldown -= (C.rating * 20) input_power_multiplier = power_multiplier @@ -110,7 +110,7 @@ icon_state = "relay0" icontype = "relay" - circuit = /obj/item/weapon/circuitboard/tesla_coil + circuit = /obj/item/circuitboard/tesla_coil power_loss = 1 input_power_multiplier = 0 @@ -120,7 +120,7 @@ /obj/machinery/power/tesla_coil/relay/RefreshParts() ..() var/relay_multiplier - for(var/obj/item/weapon/stock_parts/capacitor/C in component_parts) + for(var/obj/item/stock_parts/capacitor/C in component_parts) relay_multiplier += C.rating relay_efficiency = 0.85 + (0.05 * relay_multiplier) @@ -136,14 +136,14 @@ icon_state = "prism0" icontype = "prism" - circuit = /obj/item/weapon/circuitboard/tesla_coil + circuit = /obj/item/circuitboard/tesla_coil var/split_count = 1 /obj/machinery/power/tesla_coil/splitter/RefreshParts() ..() split_count = 0 - for(var/obj/item/weapon/stock_parts/capacitor/C in component_parts) + for(var/obj/item/stock_parts/capacitor/C in component_parts) split_count += C.rating /obj/machinery/power/tesla_coil/splitter/coil_act(var/power) @@ -161,14 +161,14 @@ icon_state = "amp0" icontype = "amp" - circuit = /obj/item/weapon/circuitboard/tesla_coil + circuit = /obj/item/circuitboard/tesla_coil var/amp_eff = 2 /obj/machinery/power/tesla_coil/amplifier/RefreshParts() ..() var/amp_eff = 1 - for(var/obj/item/weapon/stock_parts/capacitor/C in component_parts) + for(var/obj/item/stock_parts/capacitor/C in component_parts) amp_eff += C.rating /obj/machinery/power/tesla_coil/amplifier/coil_act(var/power) @@ -184,14 +184,14 @@ icon_state = "recaster0" icontype = "recaster" - circuit = /obj/item/weapon/circuitboard/tesla_coil + circuit = /obj/item/circuitboard/tesla_coil var/zap_range = 6 /obj/machinery/power/tesla_coil/recaster/RefreshParts() ..() var/zap_range = 5 - for(var/obj/item/weapon/stock_parts/capacitor/C in component_parts) + for(var/obj/item/stock_parts/capacitor/C in component_parts) zap_range += C.rating /obj/machinery/power/tesla_coil/recaster/coil_act(var/power) @@ -208,14 +208,14 @@ icon_state = "collector0" icontype = "collector" - circuit = /obj/item/weapon/circuitboard/tesla_coil + circuit = /obj/item/circuitboard/tesla_coil var/collect_eff = 0.8 /obj/machinery/power/tesla_coil/collector/RefreshParts() ..() var/collect_mod = 0 - for(var/obj/item/weapon/stock_parts/capacitor/C in component_parts) + for(var/obj/item/stock_parts/capacitor/C in component_parts) collect_mod += C.rating collect_eff = 0.75 + collect_mod*0.05 @@ -235,14 +235,14 @@ can_buckle = TRUE buckle_lying = FALSE - circuit = /obj/item/weapon/circuitboard/grounding_rod + circuit = /obj/item/circuitboard/grounding_rod /obj/machinery/power/grounding_rod/examine() . = ..() if(anchored) - . += "It has been securely bolted down and is ready for operation." + . += span_notice("It has been securely bolted down and is ready for operation.") else - . += "It is not secured!" + . += span_warning("It is not secured!") /obj/machinery/power/grounding_rod/pre_mapped anchored = TRUE diff --git a/code/modules/power/tesla/telsa_construction.dm b/code/modules/power/tesla/telsa_construction.dm index 34fe83ec89d..26c86321858 100644 --- a/code/modules/power/tesla/telsa_construction.dm +++ b/code/modules/power/tesla/telsa_construction.dm @@ -3,23 +3,23 @@ ////////////////////////// // Tesla coils are built as machines using a circuit researchable in RnD -/obj/item/weapon/circuitboard/tesla_coil +/obj/item/circuitboard/tesla_coil name = T_BOARD("tesla coil") build_path = /obj/machinery/power/tesla_coil board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_MAGNET = 2, TECH_POWER = 4) - req_components = list(/obj/item/weapon/stock_parts/capacitor = 1) + req_components = list(/obj/item/stock_parts/capacitor = 1) /datum/design/circuit/tesla_coil name = "Machine Design (Tesla Coil Board)" desc = "The circuit board for a tesla coil." id = "tesla_coil" - build_path = /obj/item/weapon/circuitboard/tesla_coil + build_path = /obj/item/circuitboard/tesla_coil req_tech = list(TECH_MAGNET = 2, TECH_POWER = 4) sort_string = "MAAAC" // Grounding rods can be built as machines using a circuit made in an autolathe. -/obj/item/weapon/circuitboard/grounding_rod +/obj/item/circuitboard/grounding_rod name = T_BOARD("grounding rod") build_path = /obj/machinery/power/grounding_rod board_type = new /datum/frame/frame_types/machine @@ -29,11 +29,11 @@ /datum/category_item/autolathe/engineering/grounding_rod name = "grounding rod electronics" - path = /obj/item/weapon/circuitboard/grounding_rod + path = /obj/item/circuitboard/grounding_rod // SPECIAL BOARDS BELOW -/obj/item/weapon/circuitboard/tesla_coil/attackby(obj/item/I as obj, mob/user as mob) +/obj/item/circuitboard/tesla_coil/attackby(obj/item/I as obj, mob/user as mob) if(I.has_tool_quality(TOOL_MULTITOOL)) var/result = tgui_input_list(user, "What do you want to reconfigure the board to?", "Multitool-Circuitboard interface", list("Standard", "Relay", "Prism", "Amplifier", "Recaster", "Collector")) switch(result) diff --git a/code/modules/power/tesla/tesla_act.dm b/code/modules/power/tesla/tesla_act.dm index 8111d1e4d11..ede7a52a751 100644 --- a/code/modules/power/tesla/tesla_act.dm +++ b/code/modules/power/tesla/tesla_act.dm @@ -52,7 +52,7 @@ /obj/structure/closet/tesla_act(var/power) ..() //extend the zap - visible_message("[src] is blown apart by the bolt of electricity!", "You hear a metallic screeching sound.") + visible_message(span_danger("[src] is blown apart by the bolt of electricity!"), span_danger("You hear a metallic screeching sound.")) dump_contents() qdel(src) diff --git a/code/modules/power/tracker.dm b/code/modules/power/tracker.dm index 72a4cab7178..bc29919636d 100644 --- a/code/modules/power/tracker.dm +++ b/code/modules/power/tracker.dm @@ -51,25 +51,25 @@ if(powernet && (powernet == control.powernet)) //update if we're still in the same powernet control.cdir = angle -/obj/machinery/power/tracker/attackby(var/obj/item/weapon/W, var/mob/user) +/obj/machinery/power/tracker/attackby(var/obj/item/W, var/mob/user) if(W.has_tool_quality(TOOL_CROWBAR)) playsound(src, 'sound/machines/click.ogg', 50, 1) - user.visible_message("[user] begins to take the glass off the solar tracker.") + user.visible_message(span_notice("[user] begins to take the glass off the solar tracker.")) if(do_after(user, 50)) var/obj/item/solar_assembly/S = new(loc) S.tracker = TRUE S.anchored = TRUE new glass_type(loc, 2) playsound(src, 'sound/items/Deconstruct.ogg', 50, 1) - user.visible_message("[user] takes the glass off the tracker.") + user.visible_message(span_notice("[user] takes the glass off the tracker.")) qdel(src) return ..() // Tracker Electronic -/obj/item/weapon/tracker_electronics +/obj/item/tracker_electronics name = "tracker electronics" icon = 'icons/obj/doors/door_assembly.dmi' diff --git a/code/modules/power/turbine.dm b/code/modules/power/turbine.dm index 99f24bb8452..b7a59fd2c8d 100644 --- a/code/modules/power/turbine.dm +++ b/code/modules/power/turbine.dm @@ -29,7 +29,7 @@ anchored = TRUE density = TRUE can_atmos_pass = ATMOS_PASS_PROC - circuit = /obj/item/weapon/circuitboard/machine/power_compressor + circuit = /obj/item/circuitboard/machine/power_compressor var/obj/machinery/power/turbine/turbine var/datum/gas_mixture/gas_contained var/turf/simulated/inturf @@ -47,7 +47,7 @@ icon_state = "turbine" anchored = TRUE density = TRUE - circuit = /obj/item/weapon/circuitboard/machine/power_turbine + circuit = /obj/item/circuitboard/machine/power_turbine var/obj/machinery/compressor/compressor var/turf/simulated/outturf var/lastgen @@ -58,25 +58,25 @@ desc = "A computer to remotely control a gas turbine." icon_keyboard = "tech_key" icon_screen = "turbinecomp" - circuit = /obj/item/weapon/circuitboard/turbine_control + circuit = /obj/item/circuitboard/turbine_control var/obj/machinery/compressor/compressor var/list/obj/machinery/door/blast/doors var/id = 0 var/door_status = 0 -/obj/item/weapon/circuitboard/machine/power_compressor +/obj/item/circuitboard/machine/power_compressor name = T_BOARD("power compressor") build_path = /obj/machinery/compressor board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_MATERIAL = 4, TECH_POWER = 2) - req_components = list(/obj/item/stack/cable_coil = 5, /obj/item/weapon/stock_parts/manipulator = 6) + req_components = list(/obj/item/stack/cable_coil = 5, /obj/item/stock_parts/manipulator = 6) -/obj/item/weapon/circuitboard/machine/power_turbine +/obj/item/circuitboard/machine/power_turbine name = T_BOARD("power turbine") build_path = /obj/machinery/power/turbine board_type = new /datum/frame/frame_types/machine origin_tech = list(TECH_ENGINEERING = 2, TECH_POWER = 4) - req_components = list(/obj/item/stack/cable_coil = 5, /obj/item/weapon/stock_parts/capacitor = 6) + req_components = list(/obj/item/stack/cable_coil = 5, /obj/item/stock_parts/capacitor = 6) ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Compressor @@ -108,7 +108,7 @@ /obj/machinery/compressor/RefreshParts() var/E = 0 - for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts) + for(var/obj/item/stock_parts/manipulator/M in component_parts) E += M.rating efficiency = E / 6 @@ -123,25 +123,25 @@ return if(default_deconstruction_crowbar(user, W)) return - if(istype(W, /obj/item/device/multitool)) - var/new_ident = tgui_input_text(usr, "Enter a new ident tag.", name, comp_id, MAX_NAME_LEN) + if(istype(W, /obj/item/multitool)) + var/new_ident = tgui_input_text(user, "Enter a new ident tag.", name, comp_id, MAX_NAME_LEN) new_ident = sanitize(new_ident,MAX_NAME_LEN) if(new_ident && user.Adjacent(src)) comp_id = new_ident return return ..() -/obj/machinery/compressor/default_unfasten_wrench(var/mob/user, var/obj/item/weapon/W, var/time = 20) +/obj/machinery/compressor/default_unfasten_wrench(var/mob/user, var/obj/item/W, var/time = 20) if((. = ..())) turbine = null if(anchored) inturf = get_step(src, dir) locate_machinery() if(turbine) - to_chat(user, "Turbine connected.") + to_chat(user, span_notice("Turbine connected.")) stat &= ~BROKEN else - to_chat(user, "Turbine not connected.") + to_chat(user, span_warning("Turbine not connected.")) stat |= BROKEN /obj/machinery/compressor/process() @@ -205,7 +205,7 @@ /obj/machinery/power/turbine/RefreshParts() var/P = 0 - for(var/obj/item/weapon/stock_parts/capacitor/C in component_parts) + for(var/obj/item/stock_parts/capacitor/C in component_parts) P += C.rating productivity = P / 6 @@ -229,17 +229,17 @@ return return ..() -/obj/machinery/power/turbine/default_unfasten_wrench(var/mob/user, var/obj/item/weapon/W, var/time = 20) +/obj/machinery/power/turbine/default_unfasten_wrench(var/mob/user, var/obj/item/W, var/time = 20) if((. = ..())) compressor = null if(anchored) outturf = get_step(src, dir) locate_machinery() if(compressor) - to_chat(user, "Compressor connected.") + to_chat(user, span_notice("Compressor connected.")) stat &= ~BROKEN else - to_chat(user, "Compressor not connected.") + to_chat(user, span_warning("Compressor not connected.")) stat |= BROKEN /obj/machinery/power/turbine/process() @@ -291,7 +291,7 @@ var/t = "Gas Turbine Generator
    "
     	t += "Generated power : [DisplayPower(lastgen)]

    " t += "Turbine: [round(compressor.rpm)] RPM
    " - t += "Starter: [ compressor.starter ? "Off On" : "Off On"]" + t += "Starter: [ compressor.starter ? "Off " + span_bold("On") : span_bold("Off") + " On"]" t += "

    Close" t += "
    " var/datum/browser/popup = new(user, "turbine", name, 700, 500, src) @@ -337,8 +337,8 @@ doors += P /obj/machinery/computer/turbine_computer/attackby(obj/item/W, mob/user) - if(istype(W, /obj/item/device/multitool)) - var/new_ident = tgui_input_text(usr, "Enter a new ident tag.", name, id, MAX_NAME_LEN) + if(istype(W, /obj/item/multitool)) + var/new_ident = tgui_input_text(user, "Enter a new ident tag.", name, id, MAX_NAME_LEN) new_ident = sanitize(new_ident,MAX_NAME_LEN) if(new_ident && user.Adjacent(src)) id = new_ident diff --git a/code/modules/projectiles/ammunition.dm b/code/modules/projectiles/ammunition.dm index b9693bf59dd..1e854ae0c9c 100644 --- a/code/modules/projectiles/ammunition.dm +++ b/code/modules/projectiles/ammunition.dm @@ -59,7 +59,7 @@ break if(box.caliber == bullet.caliber && bullet.BB) if (boolets < 1) - to_chat(user, "You start collecting shells.") // Say it here so it doesn't get said if we don't find anything useful. + to_chat(user, span_notice("You start collecting shells.")) // Say it here so it doesn't get said if we don't find anything useful. if(do_after(user,5,box)) if(box.stored_ammo.len >= box.max_ammo) // Double check because these can change during the wait. break @@ -73,9 +73,9 @@ break if(boolets > 0) - to_chat(user, "You collect [boolets] shell\s. [box] now contains [box.stored_ammo.len] shell\s.") + to_chat(user, span_notice("You collect [boolets] shell\s. [box] now contains [box.stored_ammo.len] shell\s.")) else - to_chat(user, "You fail to collect anything!") + to_chat(user, span_warning("You fail to collect anything!")) box.reloading = FALSE else return ..() @@ -135,14 +135,14 @@ stored_ammo += new ammo_type(src) update_icon() -/obj/item/ammo_magazine/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/item/ammo_magazine/attackby(obj/item/W as obj, mob/user as mob) if(istype(W, /obj/item/ammo_casing)) var/obj/item/ammo_casing/C = W if(C.caliber != caliber) - to_chat(user, "[C] does not fit into [src].") + to_chat(user, span_warning("[C] does not fit into [src].")) return if(stored_ammo.len >= max_ammo) - to_chat(user, "[src] is full!") + to_chat(user, span_warning("[src] is full!")) return user.remove_from_mob(C) C.forceMove(src) @@ -151,13 +151,13 @@ if(istype(W, /obj/item/ammo_magazine/clip)) var/obj/item/ammo_magazine/clip/L = W if(L.caliber != caliber) - to_chat(user, "The ammo in [L] does not fit into [src].") + to_chat(user, span_warning("The ammo in [L] does not fit into [src].")) return if(!L.stored_ammo.len) - to_chat(user, "There's no more ammo [L]!") + to_chat(user, span_warning("There's no more ammo [L]!")) return if(stored_ammo.len >= max_ammo) - to_chat(user, "[src] is full!") + to_chat(user, span_warning("[src] is full!")) return var/obj/item/ammo_casing/AC = L.stored_ammo[1] //select the next casing. L.stored_ammo -= AC //Remove this casing from loaded list of the clip. @@ -171,9 +171,9 @@ /obj/item/ammo_magazine/attack_self(mob/user) if(can_remove_ammo) if(!stored_ammo.len) - to_chat(user, "[src] is already empty!") + to_chat(user, span_notice("[src] is already empty!")) return - to_chat(user, "You empty [src].") + to_chat(user, span_notice("You empty [src].")) playsound(src, "casing_sound", 50, 1) spawn(7) playsound(src, "casing_sound", 50, 1) @@ -185,7 +185,7 @@ stored_ammo.Cut() update_icon() else - to_chat(user, "\The [src] is not designed to be unloaded.") + to_chat(user, span_notice("\The [src] is not designed to be unloaded.")) return // This puts one bullet from the magazine into your hand @@ -196,7 +196,7 @@ var/obj/item/ammo_casing/C = stored_ammo[stored_ammo.len] stored_ammo-=C user.put_in_hands(C) - user.visible_message("\The [user] removes \a [C] from [src].", "You remove \a [C] from [src].") + user.visible_message("\The [user] removes \a [C] from [src].", span_notice("You remove \a [C] from [src].")) update_icon() return ..() @@ -268,7 +268,7 @@ var/obj/item/ammo_casing/C = stored_ammo[stored_ammo.len] stored_ammo-=C user.put_in_hands(C) - user.visible_message("\The [user] removes \a [C] from [src].", "You remove \a [C] from [src].") + user.visible_message("\The [user] removes \a [C] from [src].", span_notice("You remove \a [C] from [src].")) update_icon() return ..() @@ -276,4 +276,4 @@ /obj/item/ammo_magazine/ammo_box/examine(mob/user) . = ..() - . += to_chat(usr, "Alt-click to extract contents.") + . += to_chat(usr, span_notice("Alt-click to extract contents.")) diff --git a/code/modules/projectiles/ammunition/magnetic.dm b/code/modules/projectiles/ammunition/magnetic.dm index 3b6bd97c88d..febb0b8c861 100644 --- a/code/modules/projectiles/ammunition/magnetic.dm +++ b/code/modules/projectiles/ammunition/magnetic.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/magnetic_ammo +/obj/item/magnetic_ammo name = "flechette magazine" desc = "A magazine containing steel flechettes." icon = 'icons/obj/ammo.dmi' @@ -9,17 +9,11 @@ var/remaining = 9 preserve_item = 1 -/obj/item/weapon/magnetic_ammo/examine(mob/user) +/obj/item/magnetic_ammo/examine(mob/user) . = ..() . += "There [(remaining == 1)? "is" : "are"] [remaining] flechette\s left!" -/obj/item/weapon/magnetic_ammo/pistol +/obj/item/magnetic_ammo/pistol name = "flechette magazine (small)" desc = "A magazine containing smaller steel flechettes, intended for a pistol." icon_state = "caseless-mag-short" - -/obj/item/weapon/magnetic_ammo/pistol/khi - name = "flechette magazine (small, khi)" - desc = "A magazine containing smaller carbyne flechettes, intended for a pistol." - icon_state = "caseless-mag-short-alt" - remaining = 12 \ No newline at end of file diff --git a/code/modules/projectiles/ammunition/smartmag.dm b/code/modules/projectiles/ammunition/smartmag.dm index e72e78fb364..5c412b0c626 100644 --- a/code/modules/projectiles/ammunition/smartmag.dm +++ b/code/modules/projectiles/ammunition/smartmag.dm @@ -20,9 +20,9 @@ var/production_modifier = 2 // Multiplier on the ammo_casing's matter cost var/production_delay = 75 // If we're in a gun, how long since it last shot do we need to wait before making bullets? - var/obj/item/weapon/gun/holding_gun = null // What gun are we in, if any? + var/obj/item/gun/holding_gun = null // What gun are we in, if any? - var/obj/item/weapon/cell/device/attached_cell = null // What cell are we using, if any? + var/obj/item/cell/device/attached_cell = null // What cell are we using, if any? var/emagged = 0 // If you emag the smart mag, you can get the bullets out by clicking it @@ -36,7 +36,7 @@ /obj/item/ammo_magazine/smart/process() if(!holding_gun) // Yes, this is awful, sorry. Don't know a better way to figure out if we've been moved into or out of a gun. - if(istype(src.loc, /obj/item/weapon/gun)) + if(istype(src.loc, /obj/item/gun)) holding_gun = src.loc if(caliber && ammo_type && attached_cell) @@ -53,9 +53,9 @@ . = ..() if(attached_cell) - . += "\The [src] is loaded with a [attached_cell.name]. It is [round(attached_cell.percent())]% charged." + . += span_notice("\The [src] is loaded with a [attached_cell.name]. It is [round(attached_cell.percent())]% charged.") else - . += "\The [src] does not appear to have a power source installed." + . += span_warning("\The [src] does not appear to have a power source installed.") /obj/item/ammo_magazine/smart/update_icon() if(attached_cell) @@ -66,16 +66,16 @@ // Emagging lets you remove bullets from your bullet-making magazine /obj/item/ammo_magazine/smart/emag_act(var/remaining_charges, var/mob/user) if(!emagged) - to_chat(user, "You overload \the [src]'s security measures causing widespread destabilisation. It is likely you could empty \the [src] now.") + to_chat(user, span_notice("You overload \the [src]'s security measures causing widespread destabilisation. It is likely you could empty \the [src] now.")) emagged = TRUE can_remove_ammo = TRUE return TRUE return FALSE /obj/item/ammo_magazine/smart/attackby(var/obj/item/I as obj, mob/user) - if(istype(I, /obj/item/weapon/cell/device)) + if(istype(I, /obj/item/cell/device)) if(attached_cell) - to_chat(user, "\The [src] already has a [attached_cell.name] attached.") + to_chat(user, span_notice("\The [src] already has a [attached_cell.name] attached.")) return else to_chat(user, "You begin inserting \the [I] into \the [src].") @@ -182,7 +182,7 @@ msg += "ammunition type." if(change) - to_chat(user, "[msg]") + to_chat(user, span_notice("[msg]")) caliber = new_caliber ammo_type = new_ammo_type set_production_cost(ammo_type) // Update our cost @@ -214,13 +214,13 @@ return if(LAZYLEN(stored_ammo)) - to_chat(usr, "You can't reset \the [src] unless it's empty!") + to_chat(usr, span_warning("You can't reset \the [src] unless it's empty!")) return - to_chat(usr, "You clear \the [src]'s data buffers.") + to_chat(usr, span_notice("You clear \the [src]'s data buffers.")) caliber = null ammo_type = null production_cost = null - return \ No newline at end of file + return diff --git a/code/modules/projectiles/broken.dm b/code/modules/projectiles/broken.dm index 57809fdbd12..3eda477814c 100644 --- a/code/modules/projectiles/broken.dm +++ b/code/modules/projectiles/broken.dm @@ -1,15 +1,15 @@ -/obj/item/weapon/broken_gun +/obj/item/broken_gun desc = "The remains of an unfortunate firearm." - var/obj/item/weapon/gun/my_guntype = null + var/obj/item/gun/my_guntype = null // Materials needed for repair. Associative list, path - number of items var/list/material_needs var/do_rotation = TRUE -/obj/item/weapon/broken_gun/New(var/newloc, var/path) +/obj/item/broken_gun/New(var/newloc, var/path) ..() if(path) if(!setup_gun(path)) @@ -17,20 +17,20 @@ return setup_repair_needs() -/obj/item/weapon/broken_gun/Initialize() +/obj/item/broken_gun/Initialize() . = ..() spawn(30 SECONDS) if(!my_guntype && !QDELETED(src)) qdel(src) -/obj/item/weapon/broken_gun/examine(mob/user) +/obj/item/broken_gun/examine(mob/user) . = ..() spawn() if(get_dist(get_turf(user),get_turf(src)) <= 1) - to_chat(user, "You begin inspecting \the [src].") + to_chat(user, span_notice("You begin inspecting \the [src].")) if(do_after(user, 5 SECONDS)) - to_chat(user, "\The [src] can possibly be restored with:") + to_chat(user, span_notice("\The [src] can possibly be restored with:")) for(var/obj/item/res as anything in material_needs) if(material_needs[res] > 0) var/res_name = "" @@ -43,9 +43,9 @@ res_name = "[mat.use_name] [mat.sheet_singular_name]" else res_name = initial(res.name) - to_chat(user, "- x [material_needs[res]] [res_name]") + to_chat(user, span_notice("- x [material_needs[res]] [res_name]")) -/obj/item/weapon/broken_gun/proc/setup_gun(var/obj/item/weapon/gun/path) +/obj/item/broken_gun/proc/setup_gun(var/obj/item/gun/path) if(ispath(path)) name = "[pick("busted", "broken", "shattered", "scrapped")] [initial(path.name)]" icon = initial(path.icon) @@ -62,7 +62,7 @@ return FALSE -/obj/item/weapon/broken_gun/proc/setup_repair_needs() +/obj/item/broken_gun/proc/setup_repair_needs() if(!LAZYLEN(material_needs)) material_needs = list() @@ -71,24 +71,24 @@ material_needs[chosen_mat] = rand(1, 3) if(prob(30)) - var/component_needed = pick(/obj/item/weapon/stock_parts/gear,/obj/item/weapon/stock_parts/spring,/obj/item/weapon/stock_parts/manipulator) + var/component_needed = pick(/obj/item/stock_parts/gear,/obj/item/stock_parts/spring,/obj/item/stock_parts/manipulator) material_needs[component_needed] = rand(1,3) - if(ispath(my_guntype, /obj/item/weapon/gun/energy) && prob(25)) - var/component_needed = pick(/obj/item/stack/cable_coil, /obj/item/weapon/stock_parts/scanning_module,/obj/item/weapon/stock_parts/capacitor) + if(ispath(my_guntype, /obj/item/gun/energy) && prob(25)) + var/component_needed = pick(/obj/item/stack/cable_coil, /obj/item/stock_parts/scanning_module,/obj/item/stock_parts/capacitor) material_needs[component_needed] = rand(1,3) - if(ispath(my_guntype, /obj/item/weapon/gun/launcher) && prob(50)) - var/component_needed = pick(/obj/item/weapon/tape_roll, /obj/item/stack/rods, /obj/item/weapon/handcuffs/cable) + if(ispath(my_guntype, /obj/item/gun/launcher) && prob(50)) + var/component_needed = pick(/obj/item/tape_roll, /obj/item/stack/rods, /obj/item/handcuffs/cable) material_needs[component_needed] = 1 - if(ispath(my_guntype, /obj/item/weapon/gun/magnetic) && prob(70)) - var/component_needed = pick(/obj/item/weapon/smes_coil, /obj/item/device/assembly/prox_sensor, /obj/item/weapon/module/power_control) + if(ispath(my_guntype, /obj/item/gun/magnetic) && prob(70)) + var/component_needed = pick(/obj/item/smes_coil, /obj/item/assembly/prox_sensor, /obj/item/module/power_control) material_needs[component_needed] = 1 material_needs[/obj/item/stack/material/steel] = rand(1,5) -/obj/item/weapon/broken_gun/attackby(obj/item/W as obj, mob/user as mob) +/obj/item/broken_gun/attackby(obj/item/W as obj, mob/user as mob) if(can_repair_with(W, user)) if(do_after(user, (rand() * 10 SECONDS) + 5 SECONDS)) repair_with(W, user) @@ -96,42 +96,45 @@ ..() -/obj/item/weapon/broken_gun/proc/can_repair_with(obj/item/I, mob/user) +/obj/item/broken_gun/proc/can_repair_with(obj/item/I, mob/user) for(var/path in material_needs) - if(ispath(path) && istype(I, path)) - if(material_needs[path] > 0) - if(istype(I, /obj/item/stack)) - var/obj/item/stack/S = I - if(S.can_use(material_needs[path])) - return TRUE - else - to_chat(user, "You do not have enough [path] to continue repairs.") - else - return TRUE - + if(!ispath(path) || !istype(I, path)) + continue + if(material_needs[path] <= 0) + continue + if(istype(I, /obj/item/stack)) + var/obj/item/stack/S = I + if(S.can_use(material_needs[path])) + return TRUE + else + to_chat(user, span_notice("You do not have enough [I] to continue repairs.")) + else + return TRUE return FALSE -/obj/item/weapon/broken_gun/proc/repair_with(obj/item/I, mob/user) +/obj/item/broken_gun/proc/repair_with(obj/item/I, mob/user) for(var/path in material_needs) - if(ispath(path) && istype(I, path)) - if(material_needs[path] > 0) - if(istype(I, /obj/item/stack)) - var/obj/item/stack/S = I - if(S.can_use(material_needs[path])) - S.use(material_needs[path]) - material_needs[path] = 0 - to_chat(user, "You repair some damage on \the [src] with \the [S].") - else - material_needs[path] = max(0, material_needs[path] - 1) - user.drop_from_inventory(I) - to_chat(user, "You repair some damage on \the [src] with \the [I].") - qdel(I) + if(!ispath(path) || !istype(I, path)) + continue + if(material_needs[path] <= 0) + continue + if(istype(I, /obj/item/stack)) + var/obj/item/stack/S = I + if(S.can_use(material_needs[path])) + S.use(material_needs[path]) + material_needs[path] = 0 + to_chat(user, span_notice("You repair some damage on \the [src] with \the [S].")) + else + material_needs[path] = max(0, material_needs[path] - 1) + user.drop_from_inventory(I) + to_chat(user, span_notice("You repair some damage on \the [src] with \the [I].")) + qdel(I) check_complete_repair(user) return -/obj/item/weapon/broken_gun/proc/check_complete_repair(mob/user) +/obj/item/broken_gun/proc/check_complete_repair(mob/user) var/fully_repaired = TRUE for(var/resource in material_needs) if(material_needs[resource] > 0) @@ -141,5 +144,5 @@ if(fully_repaired) my_guntype = new my_guntype(get_turf(src)) my_guntype.name = "[pick("salvaged", "repaired", "old")] [initial(my_guntype.name)]" - to_chat(user, "You finish your repairs on \the [my_guntype].") + to_chat(user, span_notice("You finish your repairs on \the [my_guntype].")) qdel(src) diff --git a/code/modules/projectiles/brokenguns/energy.dm b/code/modules/projectiles/brokenguns/energy.dm index 6427e89c274..6da2e3ee51c 100644 --- a/code/modules/projectiles/brokenguns/energy.dm +++ b/code/modules/projectiles/brokenguns/energy.dm @@ -1,9 +1,9 @@ -/obj/item/weapon/broken_gun/laserrifle/New(var/newloc) - ..(newloc, /obj/item/weapon/gun/energy/laser/empty) +/obj/item/broken_gun/laserrifle/New(var/newloc) + ..(newloc, /obj/item/gun/energy/laser/empty) -/obj/item/weapon/broken_gun/laser_retro/New(var/newloc) - ..(newloc, /obj/item/weapon/gun/energy/retro/empty) +/obj/item/broken_gun/laser_retro/New(var/newloc) + ..(newloc, /obj/item/gun/energy/retro/empty) -/obj/item/weapon/broken_gun/ionrifle/New(var/newloc) - ..(newloc, /obj/item/weapon/gun/energy/ionrifle/empty) +/obj/item/broken_gun/ionrifle/New(var/newloc) + ..(newloc, /obj/item/gun/energy/ionrifle/empty) diff --git a/code/modules/projectiles/brokenguns/launcher.dm b/code/modules/projectiles/brokenguns/launcher.dm index a66449de78d..c4f96015862 100644 --- a/code/modules/projectiles/brokenguns/launcher.dm +++ b/code/modules/projectiles/brokenguns/launcher.dm @@ -1,3 +1,3 @@ -/obj/item/weapon/broken_gun/grenadelauncher/New(var/newloc) - ..(newloc, /obj/item/weapon/gun/launcher/grenade) +/obj/item/broken_gun/grenadelauncher/New(var/newloc) + ..(newloc, /obj/item/gun/launcher/grenade) diff --git a/code/modules/projectiles/brokenguns/magnetic.dm b/code/modules/projectiles/brokenguns/magnetic.dm index dd1c647fd8e..e8ad5083949 100644 --- a/code/modules/projectiles/brokenguns/magnetic.dm +++ b/code/modules/projectiles/brokenguns/magnetic.dm @@ -1,3 +1,3 @@ -/obj/item/weapon/broken_gun/flechette/New(var/newloc) - ..(newloc, /obj/item/weapon/gun/magnetic/railgun/flechette) +/obj/item/broken_gun/flechette/New(var/newloc) + ..(newloc, /obj/item/gun/magnetic/railgun/flechette) diff --git a/code/modules/projectiles/brokenguns/projectile.dm b/code/modules/projectiles/brokenguns/projectile.dm index 741e4bf087d..d0c72dfbd70 100644 --- a/code/modules/projectiles/brokenguns/projectile.dm +++ b/code/modules/projectiles/brokenguns/projectile.dm @@ -1,18 +1,18 @@ -/obj/item/weapon/broken_gun/c20r/New(var/newloc) - ..(newloc, /obj/item/weapon/gun/projectile/automatic/c20r/empty) +/obj/item/broken_gun/c20r/New(var/newloc) + ..(newloc, /obj/item/gun/projectile/automatic/c20r/empty) -/obj/item/weapon/broken_gun/silenced45/New(var/newloc) - ..(newloc, /obj/item/weapon/gun/projectile/silenced/empty) +/obj/item/broken_gun/silenced45/New(var/newloc) + ..(newloc, /obj/item/gun/projectile/silenced/empty) -/obj/item/weapon/broken_gun/pumpshotgun/New(var/newloc) - ..(newloc, /obj/item/weapon/gun/projectile/shotgun/pump/empty) +/obj/item/broken_gun/pumpshotgun/New(var/newloc) + ..(newloc, /obj/item/gun/projectile/shotgun/pump/empty) -/obj/item/weapon/broken_gun/pumpshotgun_combat/New(var/newloc) - ..(newloc, /obj/item/weapon/gun/projectile/shotgun/pump/combat/empty) +/obj/item/broken_gun/pumpshotgun_combat/New(var/newloc) + ..(newloc, /obj/item/gun/projectile/shotgun/pump/combat/empty) -/obj/item/weapon/broken_gun/z8/New(var/newloc) - ..(newloc, /obj/item/weapon/gun/projectile/automatic/z8/empty) +/obj/item/broken_gun/z8/New(var/newloc) + ..(newloc, /obj/item/gun/projectile/automatic/z8/empty) -/obj/item/weapon/broken_gun/dartgun/New(var/newloc) - ..(newloc, /obj/item/weapon/gun/projectile/dartgun) +/obj/item/broken_gun/dartgun/New(var/newloc) + ..(newloc, /obj/item/gun/projectile/dartgun) diff --git a/code/modules/projectiles/dnalocking.dm b/code/modules/projectiles/dnalocking.dm index 3b966332ace..c4527f28b48 100644 --- a/code/modules/projectiles/dnalocking.dm +++ b/code/modules/projectiles/dnalocking.dm @@ -13,76 +13,76 @@ var/exploding = 0 -/obj/item/weapon/gun/proc/get_dna(mob/user) +/obj/item/gun/proc/get_dna(mob/user) var/mob/living/M = user if(!attached_lock.controller_lock) if(!attached_lock.stored_dna && !(M.dna in attached_lock.stored_dna)) - to_chat(M, "\The [src] buzzes and displays a symbol showing the gun already contains your DNA.") + to_chat(M, span_warning("\The [src] buzzes and displays a symbol showing the gun already contains your DNA.")) return 0 else attached_lock.stored_dna += M.dna - to_chat(M, "\The [src] pings and a needle flicks out from the grip, taking a DNA sample from you.") + to_chat(M, span_notice("\The [src] pings and a needle flicks out from the grip, taking a DNA sample from you.")) if(!attached_lock.controller_dna) attached_lock.controller_dna = M.dna - to_chat(M, "\The [src] processes the dna sample and pings, acknowledging you as the primary controller.") + to_chat(M, span_notice("\The [src] processes the dna sample and pings, acknowledging you as the primary controller.")) return 1 else - to_chat(M, "\The [src] buzzes and displays a locked symbol. It is not allowing DNA samples at this time.") + to_chat(M, span_warning("\The [src] buzzes and displays a locked symbol. It is not allowing DNA samples at this time.")) return 0 -/obj/item/weapon/gun/verb/give_dna() +/obj/item/gun/verb/give_dna() set name = "Give DNA" set category = "Object" set src in usr get_dna(usr) -/obj/item/weapon/gun/proc/clear_dna(mob/user) +/obj/item/gun/proc/clear_dna(mob/user) var/mob/living/M = user if(!attached_lock.controller_lock) if(!authorized_user(M)) - to_chat(M, "\The [src] buzzes and displays an invalid user symbol.") + to_chat(M, span_warning("\The [src] buzzes and displays an invalid user symbol.")) return 0 else attached_lock.stored_dna -= user.dna - to_chat(M, "\The [src] beeps and clears the DNA it has stored.") + to_chat(M, span_notice("\The [src] beeps and clears the DNA it has stored.")) if(M.dna == attached_lock.controller_dna) attached_lock.controller_dna = null - to_chat(M, "\The [src] beeps and removes you as the primary controller.") + to_chat(M, span_notice("\The [src] beeps and removes you as the primary controller.")) if(attached_lock.controller_lock) attached_lock.controller_lock = 0 return 1 else - to_chat(M, "\The [src] buzzes and displays a locked symbol. It is not allowing DNA modifcation at this time.") + to_chat(M, span_warning("\The [src] buzzes and displays a locked symbol. It is not allowing DNA modifcation at this time.")) return 0 -/obj/item/weapon/gun/verb/remove_dna() +/obj/item/gun/verb/remove_dna() set name = "Remove DNA" set category = "Object" set src in usr clear_dna(usr) -/obj/item/weapon/gun/proc/toggledna(mob/user) +/obj/item/gun/proc/toggledna(mob/user) var/mob/living/M = user if(authorized_user(M) && user.dna == attached_lock.controller_dna) if(!attached_lock.controller_lock) attached_lock.controller_lock = 1 - to_chat(M, "\The [src] beeps and displays a locked symbol, informing you it will no longer allow DNA samples.") + to_chat(M, span_notice("\The [src] beeps and displays a locked symbol, informing you it will no longer allow DNA samples.")) else attached_lock.controller_lock = 0 - to_chat(M, "\The [src] beeps and displays an unlocked symbol, informing you it will now allow DNA samples.") + to_chat(M, span_notice("\The [src] beeps and displays an unlocked symbol, informing you it will now allow DNA samples.")) else - to_chat(M, "\The [src] buzzes and displays an invalid user symbol.") + to_chat(M, span_warning("\The [src] buzzes and displays an invalid user symbol.")) -/obj/item/weapon/gun/verb/allow_dna() +/obj/item/gun/verb/allow_dna() set name = "Toggle DNA Samples Allowance" set category = "Object" set src in usr toggledna(usr) -/obj/item/weapon/gun/proc/authorized_user(mob/user) +/obj/item/gun/proc/authorized_user(mob/user) if(!attached_lock.stored_dna || !attached_lock.stored_dna.len) return 1 if(!(user.dna in attached_lock.stored_dna)) return 0 - return 1 \ No newline at end of file + return 1 diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index f44026f19fc..2e088c4bfae 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -9,7 +9,7 @@ var/name = "default" var/list/settings = list() -/datum/firemode/New(obj/item/weapon/gun/gun, list/properties = null) +/datum/firemode/New(obj/item/gun/gun, list/properties = null) ..() if(!properties) return @@ -23,12 +23,12 @@ else settings[propname] = propvalue -/datum/firemode/proc/apply_to(obj/item/weapon/gun/gun) +/datum/firemode/proc/apply_to(obj/item/gun/gun) for(var/propname in settings) gun.vars[propname] = settings[propname] //Parent gun type. Guns are weapons that can be aimed at mobs and act over a distance -/obj/item/weapon/gun +/obj/item/gun name = "gun" desc = "Its a gun. It's pretty terrible, though." icon = 'icons/obj/gun.dmi' @@ -108,13 +108,13 @@ var/flight_x_offset = 0 var/flight_y_offset = 0 -/obj/item/weapon/gun/CtrlClick(mob/user) +/obj/item/gun/CtrlClick(mob/user) if(can_flashlight && ishuman(user) && src.loc == usr && !user.incapacitated(INCAPACITATION_ALL)) toggle_flashlight() else return ..() -/obj/item/weapon/gun/proc/toggle_flashlight() +/obj/item/gun/proc/toggle_flashlight() if(gun_light) set_light(0) gun_light = FALSE @@ -126,7 +126,7 @@ update_icon() //VOREStation Add End -/obj/item/weapon/gun/New() +/obj/item/gun/New() ..() for(var/i in 1 to firemodes.len) firemodes[i] = new /datum/firemode(src, firemodes[i]) @@ -137,11 +137,11 @@ if(dna_lock) attached_lock = new /obj/item/dnalockingchip(src) if(!dna_lock) - verbs -= /obj/item/weapon/gun/verb/remove_dna - verbs -= /obj/item/weapon/gun/verb/give_dna - verbs -= /obj/item/weapon/gun/verb/allow_dna + verbs -= /obj/item/gun/verb/remove_dna + verbs -= /obj/item/gun/verb/give_dna + verbs -= /obj/item/gun/verb/allow_dna -/obj/item/weapon/gun/update_twohanding() +/obj/item/gun/update_twohanding() if(one_handed_penalty) var/mob/living/M = loc if(istype(M)) @@ -154,7 +154,7 @@ update_icon() // In case item_state is set somewhere else. ..() -/obj/item/weapon/gun/update_held_icon() +/obj/item/gun/update_held_icon() if(wielded_item_state) var/mob/living/M = loc if(istype(M)) @@ -170,7 +170,7 @@ //Checks whether a given mob can use the gun //Any checks that shouldn't result in handle_click_empty() being called if they fail should go here. //Otherwise, if you want handle_click_empty() to be called, check in consume_next_projectile() and return null there. -/obj/item/weapon/gun/proc/special_check(var/mob/user) +/obj/item/gun/proc/special_check(var/mob/user) if(!istype(user, /mob/living)) return 0 @@ -185,12 +185,12 @@ if(dna_lock && attached_lock.stored_dna) if(!authorized_user(user)) if(attached_lock.safety_level == 0) - to_chat(M, "\The [src] buzzes in dissapointment and displays an invalid DNA symbol.") + to_chat(M, span_danger("\The [src] buzzes in dissapointment and displays an invalid DNA symbol.")) return 0 if(!attached_lock.exploding) if(attached_lock.safety_level == 1) - to_chat(M, "\The [src] hisses in dissapointment.") - visible_message("\The [src] announces, \"Self-destruct occurring in ten seconds.\"", "\The [src] announces, \"Self-destruct occurring in ten seconds.\"") + to_chat(M, span_danger("\The [src] hisses in dissapointment.")) + visible_message(span_game(span_say(span_name("\The [src]") + " announces, \"Self-destruct occurring in ten seconds.\"")), span_game(span_say(span_name("\The [src]") + " announces, \"Self-destruct occurring in ten seconds.\""))) attached_lock.exploding = 1 spawn(100) explosion(src, 0, 0, 3, 4) @@ -198,7 +198,7 @@ qdel(src) return 0 if(HULK in M.mutations) - to_chat(M, "Your fingers are much too large for the trigger guard!") + to_chat(M, span_danger("Your fingers are much too large for the trigger guard!")) return 0 if((CLUMSY in M.mutations) && prob(40)) //Clumsy handling var/obj/P = consume_next_projectile() @@ -207,8 +207,8 @@ handle_post_fire(user, user) var/datum/gender/TU = gender_datums[user.get_visible_gender()] user.visible_message( - "\The [user] shoots [TU.himself] in the foot with \the [src]!", - "You shoot yourself in the foot with \the [src]!" + span_danger("\The [user] shoots [TU.himself] in the foot with \the [src]!"), + span_danger("You shoot yourself in the foot with \the [src]!") ) M.drop_item() else @@ -216,11 +216,11 @@ return 0 return 1 -/obj/item/weapon/gun/emp_act(severity) +/obj/item/gun/emp_act(severity) for(var/obj/O in contents) O.emp_act(severity) -/obj/item/weapon/gun/afterattack(atom/A, mob/living/user, adjacent, params) +/obj/item/gun/afterattack(atom/A, mob/living/user, adjacent, params) if(adjacent) return //A is adjacent, is the user, or is on the user's person if(!user.aiming) @@ -230,8 +230,8 @@ PreFire(A,user,params) //They're using the new gun system, locate what they're aiming at. return - if(user && user.a_intent == I_HELP && user.is_preference_enabled(/datum/client_preference/safefiring)) //regardless of what happens, refuse to shoot if help intent is on - to_chat(user, "You refrain from firing your [src] as your intent is set to help.") + if(user && user.a_intent == I_HELP && user.client?.prefs?.read_preference(/datum/preference/toggle/safefiring)) //regardless of what happens, refuse to shoot if help intent is on + to_chat(user, span_warning("You refrain from firing your [src] as your intent is set to help.")) return else @@ -246,17 +246,17 @@ if(auto_target)//If they already have one then update it auto_target.loc = get_turf(A) auto_target.delay_del = 1//And reset the del so its like they got a new one and doesnt instantly vanish - to_chat(user, "You ready \the [src]! Click and drag the target around to shoot.") + to_chat(user, span_notice("You ready \the [src]! Click and drag the target around to shoot.")) else//Otherwise just make a new one auto_target = new/obj/screen/auto_target(get_turf(A), src) - visible_message("\The [user] readies the [src]!") + visible_message(span_danger("\The [user] readies the [src]!")) playsound(src, 'sound/weapons/TargetOn.ogg', 50, 1) - to_chat(user, "You ready \the [src]! Click and drag the target around to shoot.") + to_chat(user, span_notice("You ready \the [src]! Click and drag the target around to shoot.")) return Fire(A,user,params) //Otherwise, fire normally. */ -/obj/item/weapon/gun/attack(atom/A, mob/living/user, def_zone) +/obj/item/gun/attack(atom/A, mob/living/user, def_zone) if (A == user && user.zone_sel.selecting == O_MOUTH && !mouthshoot) handle_suicide(user) else if(user.a_intent == I_HURT) //point blank shooting @@ -268,46 +268,46 @@ else return ..() //Pistolwhippin' -/obj/item/weapon/gun/attackby(var/obj/item/A as obj, mob/user as mob) +/obj/item/gun/attackby(var/obj/item/A as obj, mob/user as mob) if(istype(A, /obj/item/dnalockingchip)) if(dna_lock) - to_chat(user, "\The [src] already has a [attached_lock].") + to_chat(user, span_notice("\The [src] already has a [attached_lock].")) return - to_chat(user, "You insert \the [A] into \the [src].") + to_chat(user, span_notice("You insert \the [A] into \the [src].")) user.drop_item() A.loc = src attached_lock = A dna_lock = 1 - verbs += /obj/item/weapon/gun/verb/remove_dna - verbs += /obj/item/weapon/gun/verb/give_dna - verbs += /obj/item/weapon/gun/verb/allow_dna + verbs += /obj/item/gun/verb/remove_dna + verbs += /obj/item/gun/verb/give_dna + verbs += /obj/item/gun/verb/allow_dna return if(A.has_tool_quality(TOOL_SCREWDRIVER)) if(dna_lock && attached_lock && !attached_lock.controller_lock) - to_chat(user, "You begin removing \the [attached_lock] from \the [src].") + to_chat(user, span_notice("You begin removing \the [attached_lock] from \the [src].")) playsound(src, A.usesound, 50, 1) if(do_after(user, 25 * A.toolspeed)) - to_chat(user, "You remove \the [attached_lock] from \the [src].") + to_chat(user, span_notice("You remove \the [attached_lock] from \the [src].")) user.put_in_hands(attached_lock) dna_lock = 0 attached_lock = null - verbs -= /obj/item/weapon/gun/verb/remove_dna - verbs -= /obj/item/weapon/gun/verb/give_dna - verbs -= /obj/item/weapon/gun/verb/allow_dna + verbs -= /obj/item/gun/verb/remove_dna + verbs -= /obj/item/gun/verb/give_dna + verbs -= /obj/item/gun/verb/allow_dna else - to_chat(user, "\The [src] is not accepting modifications at this time.") + to_chat(user, span_warning("\The [src] is not accepting modifications at this time.")) ..() -/obj/item/weapon/gun/emag_act(var/remaining_charges, var/mob/user) +/obj/item/gun/emag_act(var/remaining_charges, var/mob/user) if(dna_lock && attached_lock.controller_lock) - to_chat(user, "You short circuit the internal locking mechanisms of \the [src]!") + to_chat(user, span_notice("You short circuit the internal locking mechanisms of \the [src]!")) attached_lock.controller_dna = null attached_lock.controller_lock = 0 attached_lock.stored_dna = list() return 1 -/obj/item/weapon/gun/MouseDrop(obj/over_object as obj) +/obj/item/gun/MouseDrop(obj/over_object as obj) if(!canremove) return @@ -339,7 +339,7 @@ usr.put_in_l_hand(src) src.add_fingerprint(usr) -/obj/item/weapon/gun/proc/Fire(atom/target, mob/living/user, clickparams, pointblank=0, reflex=0) +/obj/item/gun/proc/Fire(atom/target, mob/living/user, clickparams, pointblank=0, reflex=0) if(!user || !target) return if(target.z != user.z) return @@ -352,7 +352,7 @@ if(world.time < next_fire_time) if (world.time % 3) //to prevent spam - to_chat(user, "[src] is not ready to fire again!") + to_chat(user, span_warning("[src] is not ready to fire again!")) return var/shoot_time = (burst - 1)* burst_delay @@ -422,7 +422,7 @@ // We do this down here, so we don't get the message if we fire an empty gun. if(user.item_is_in_hands(src) && user.hands_are_full()) if(one_handed_penalty >= 20) - to_chat(user, "You struggle to keep \the [src] pointed at the correct position with just one hand!") + to_chat(user, span_warning("You struggle to keep \the [src] pointed at the correct position with just one hand!")) //update timing user.setClickCooldown(DEFAULT_QUICK_COOLDOWN) @@ -447,16 +447,16 @@ if(recoil_mode > 0) if(mysize <= 0.5) nerd.Weaken(1*recoil_mode) - if(!istype(src,/obj/item/weapon/gun/energy)) + if(!istype(src,/obj/item/gun/energy)) nerd.adjustBruteLoss((5-mysize*4)*recoil_mode) to_chat(nerd, "You're so tiny that you drop the gun and hurt yourself from the recoil!") else to_chat(nerd, "You're so tiny that the pull of the trigger causes you to drop the gun!") - + //YAWNEDIT: Knockdown code end // Similar to the above proc, but does not require a user, which is ideal for things like turrets. -/obj/item/weapon/gun/proc/Fire_userless(atom/target) +/obj/item/gun/proc/Fire_userless(atom/target) if(!target) return @@ -530,11 +530,11 @@ set_light(0) //obtains the next projectile to fire -/obj/item/weapon/gun/proc/consume_next_projectile() +/obj/item/gun/proc/consume_next_projectile() return null //used by aiming code -/obj/item/weapon/gun/proc/can_hit(atom/target as mob, var/mob/living/user as mob) +/obj/item/gun/proc/can_hit(atom/target as mob, var/mob/living/user as mob) if(!special_check(user)) return 2 //just assume we can shoot through glass and stuff. No big deal, the player can just choose to not target someone @@ -543,9 +543,9 @@ return 1 // Magic numbers are fun. //called if there was no projectile to shoot -/obj/item/weapon/gun/proc/handle_click_empty(mob/user) +/obj/item/gun/proc/handle_click_empty(mob/user) if (user) - user.visible_message("*click click*", "*click*") + user.visible_message("*click click*", span_danger("*click*")) user.hud_used.update_ammo_hud(user, src) else src.visible_message("*click click*") @@ -553,20 +553,20 @@ // Called when the user is about to fire. // Moved from handle_post_fire() because if using a laser, the message for when someone got shot would show up before the firing message. -/obj/item/weapon/gun/proc/handle_firing_text(mob/user, atom/target, pointblank = FALSE, reflex = FALSE) +/obj/item/gun/proc/handle_firing_text(mob/user, atom/target, pointblank = FALSE, reflex = FALSE) if(silenced) - to_chat(user, "You fire \the [src][pointblank ? " point blank at \the [target]":""][reflex ? " by reflex":""]") + to_chat(user, span_warning("You fire \the [src][pointblank ? " point blank at \the [target]":""][reflex ? " by reflex":""]")) for(var/mob/living/L in oview(2,user)) if(L.stat) continue if(L.blinded) to_chat(L, "You hear a [fire_sound_text]!") continue - to_chat(L, "\The [user] fires \the [src][pointblank ? " point blank at \the [target]":""][reflex ? " by reflex":""]!") + to_chat(L, span_danger("\The [user] fires \the [src][pointblank ? " point blank at \the [target]":""][reflex ? " by reflex":""]!")) else user.visible_message( - "\The [user] fires \the [src][pointblank ? " point blank at \the [target]":""][reflex ? " by reflex":""]!", - "You fire \the [src][pointblank ? " point blank at \the [target]":""][reflex ? " by reflex":""]!", + span_danger("\The [user] fires \the [src][pointblank ? " point blank at \the [target]":""][reflex ? " by reflex":""]!"), + span_warning("You fire \the [src][pointblank ? " point blank at \the [target]":""][reflex ? " by reflex":""]!"), "You hear a [fire_sound_text]!" ) @@ -579,7 +579,7 @@ add_attack_logs(user, target_for_log, "Fired gun '[src.name]' ([reflex ? "REFLEX" : "MANUAL"])") //called after successfully firing -/obj/item/weapon/gun/proc/handle_post_fire(mob/user, atom/target, var/pointblank=0, var/reflex=0) +/obj/item/gun/proc/handle_post_fire(mob/user, atom/target, var/pointblank=0, var/reflex=0) if(fire_anim) flick(fire_anim, src) @@ -591,31 +591,31 @@ switch(one_handed_penalty) if(1 to 15) if(prob(50)) //don't need to tell them every single time - to_chat(user, "Your aim wavers slightly.") + to_chat(user, span_warning("Your aim wavers slightly.")) if(16 to 30) - to_chat(user, "Your aim wavers as you fire \the [src] with just one hand.") + to_chat(user, span_warning("Your aim wavers as you fire \the [src] with just one hand.")) if(31 to 45) - to_chat(user, "You have trouble keeping \the [src] on target with just one hand.") + to_chat(user, span_warning("You have trouble keeping \the [src] on target with just one hand.")) if(46 to INFINITY) - to_chat(user, "You struggle to keep \the [src] on target with just one hand!") + to_chat(user, span_warning("You struggle to keep \the [src] on target with just one hand!")) else if(!user.can_wield_item(src)) switch(one_handed_penalty) if(1 to 15) if(prob(50)) //don't need to tell them every single time - to_chat(user, "Your aim wavers slightly.") + to_chat(user, span_warning("Your aim wavers slightly.")) if(16 to 30) - to_chat(user, "Your aim wavers as you try to hold \the [src] steady.") + to_chat(user, span_warning("Your aim wavers as you try to hold \the [src] steady.")) if(31 to 45) - to_chat(user, "You have trouble holding \the [src] steady.") + to_chat(user, span_warning("You have trouble holding \the [src] steady.")) if(46 to INFINITY) - to_chat(user, "You struggle to hold \the [src] steady!") + to_chat(user, span_warning("You struggle to hold \the [src] steady!")) if(recoil) spawn() shake_camera(user, recoil+1, recoil) update_icon() -/obj/item/weapon/gun/proc/process_point_blank(obj/projectile, mob/user, atom/target) +/obj/item/gun/proc/process_point_blank(obj/projectile, mob/user, atom/target) var/obj/item/projectile/P = projectile if(!istype(P)) return //default behaviour only applies to true projectiles @@ -628,7 +628,7 @@ var/mob/M = target if(M.grabbed_by.len) var/grabstate = 0 - for(var/obj/item/weapon/grab/G in M.grabbed_by) + for(var/obj/item/grab/G in M.grabbed_by) grabstate = max(grabstate, G.state) if(grabstate >= GRAB_NECK) damage_mult = 2.5 @@ -636,7 +636,7 @@ damage_mult = 1.5 P.damage *= damage_mult -/obj/item/weapon/gun/proc/process_accuracy(obj/projectile, mob/living/user, atom/target, var/burst, var/held_twohanded) +/obj/item/gun/proc/process_accuracy(obj/projectile, mob/living/user, atom/target, var/burst, var/held_twohanded) var/obj/item/projectile/P = projectile if(!istype(P)) return //default behaviour only applies to true projectiles @@ -674,9 +674,11 @@ if(H.species) P.accuracy += H.species.gun_accuracy_mod P.dispersion = max(P.dispersion + H.species.gun_accuracy_dispersion_mod, 0) + if(H.fear > 30) + P.accuracy -= 35 //does the actual launching of the projectile -/obj/item/weapon/gun/proc/process_projectile(obj/projectile, mob/user, atom/target, var/target_zone, var/params=null) +/obj/item/gun/proc/process_projectile(obj/projectile, mob/user, atom/target, var/target_zone, var/params=null) var/obj/item/projectile/P = projectile if(!istype(P)) return FALSE //default behaviour only applies to true projectiles @@ -696,7 +698,7 @@ return launched -/obj/item/weapon/gun/proc/play_fire_sound(var/mob/user, var/obj/item/projectile/P) +/obj/item/gun/proc/play_fire_sound(var/mob/user, var/obj/item/projectile/P) var/shot_sound = fire_sound if(!shot_sound && istype(P) && P.fire_sound) // If the gun didn't have a fire_sound, but the projectile exists, and has a sound... @@ -710,9 +712,9 @@ playsound(src, shot_sound, 50, 1) //Suicide handling. -/obj/item/weapon/gun/var/mouthshoot = 0 //To stop people from suiciding twice... >.> +/obj/item/gun/var/mouthshoot = 0 //To stop people from suiciding twice... >.> -/obj/item/weapon/gun/proc/handle_suicide(mob/living/user) +/obj/item/gun/proc/handle_suicide(mob/living/user) if(!ishuman(user)) return var/mob/living/carbon/human/M = user @@ -725,10 +727,10 @@ return var/obj/item/projectile/in_chamber = consume_next_projectile() if (istype(in_chamber)) - user.visible_message("[user] pulls the trigger.") + user.visible_message(span_warning("[user] pulls the trigger.")) play_fire_sound(M, in_chamber) if(istype(in_chamber, /obj/item/projectile/beam/lasertag)) - user.show_message("You feel rather silly, trying to commit suicide with a toy.") + user.show_message(span_warning("You feel rather silly, trying to commit suicide with a toy.")) mouthshoot = 0 return @@ -738,7 +740,7 @@ user.apply_damage(in_chamber.damage*2.5, in_chamber.damage_type, "head", used_weapon = "Point blank shot in the mouth with \a [in_chamber]", sharp = TRUE) user.death() else if(in_chamber.damage_type == HALLOSS) - to_chat(user, "Ow...") + to_chat(user, span_notice("Ow...")) user.apply_effect(110,AGONY,0) qdel(in_chamber) mouthshoot = 0 @@ -748,7 +750,7 @@ mouthshoot = 0 return -/obj/item/weapon/gun/proc/toggle_scope(var/zoom_amount=2.0) +/obj/item/gun/proc/toggle_scope(var/zoom_amount=2.0) //looking through a scope limits your periphereal vision //still, increase the view size by a tiny amount so that sniping isn't too restricted to NSEW var/zoom_offset = round(world.view * zoom_amount) @@ -762,19 +764,19 @@ recoil = round(recoil*zoom_amount+1) //recoil is worse when looking through a scope //make sure accuracy and recoil are reset regardless of how the item is unzoomed. -/obj/item/weapon/gun/zoom() +/obj/item/gun/zoom() ..() if(!zoom) accuracy = initial(accuracy) recoil = initial(recoil) -/obj/item/weapon/gun/examine(mob/user) +/obj/item/gun/examine(mob/user) . = ..() if(firemodes.len > 1) var/datum/firemode/current_mode = firemodes[sel_mode] . += "The fire selector is set to [current_mode.name]." -/obj/item/weapon/gun/proc/switch_firemodes(mob/user) +/obj/item/gun/proc/switch_firemodes(mob/user) if(firemodes.len <= 1) return null @@ -783,28 +785,28 @@ sel_mode = 1 var/datum/firemode/new_mode = firemodes[sel_mode] new_mode.apply_to(src) - to_chat(user, "\The [src] is now set to [new_mode.name].") + to_chat(user, span_notice("\The [src] is now set to [new_mode.name].")) user.hud_used.update_ammo_hud(user, src) // TGMC Ammo HUD return new_mode -/obj/item/weapon/gun/attack_self(mob/user) +/obj/item/gun/attack_self(mob/user) switch_firemodes(user) /* TGMC Ammo HUD Port Begin */ -/obj/item/weapon/gun +/obj/item/gun var/hud_enabled = TRUE -/obj/item/weapon/gun/proc/has_ammo_counter() +/obj/item/gun/proc/has_ammo_counter() return FALSE -/obj/item/weapon/gun/proc/get_ammo_type() +/obj/item/gun/proc/get_ammo_type() return FALSE -/obj/item/weapon/gun/proc/get_ammo_count() +/obj/item/gun/proc/get_ammo_count() return FALSE -/obj/item/weapon/gun/equipped(mob/living/user, slot) // When a gun is equipped to your hands, we'll add the HUD to the user. Pending porting over TGMC guncode where wielding is far more sensible. +/obj/item/gun/equipped(mob/living/user, slot) // When a gun is equipped to your hands, we'll add the HUD to the user. Pending porting over TGMC guncode where wielding is far more sensible. if(slot == slot_l_hand || slot == slot_r_hand) user.hud_used.add_ammo_hud(user, src) else @@ -812,7 +814,7 @@ return ..() -/obj/item/weapon/gun/dropped(mob/living/user) // Ditto as above, we remove the HUD. Pending porting TGMC code to clean up this fucking nightmare of spaghetti. +/obj/item/gun/dropped(mob/living/user) // Ditto as above, we remove the HUD. Pending porting TGMC code to clean up this fucking nightmare of spaghetti. user.hud_used.remove_ammo_hud(user, src) ..() diff --git a/code/modules/projectiles/guns/automatic_fire.dm b/code/modules/projectiles/guns/automatic_fire.dm index e85c33a485a..bfb70051522 100644 --- a/code/modules/projectiles/guns/automatic_fire.dm +++ b/code/modules/projectiles/guns/automatic_fire.dm @@ -10,11 +10,11 @@ icon = null//We dont want people to see this guy density = FALSE anchored = TRUE - var/obj/item/weapon/gun/gun + var/obj/item/gun/gun var/active = 0//Just tells us that it was clicked on so we should start shooting var/delay_del = 0//Delays the del if we retarget without shooting -/obj/screen/auto_target/New(loc, var/obj/item/weapon/gun/G) +/obj/screen/auto_target/New(loc, var/obj/item/gun/G) ..() gun = G var/image/I = image('icons/effects/Targeted.dmi', src, "locked") diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index e5583a19ab1..e2c58cf927d 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -1,14 +1,14 @@ -/obj/item/weapon/gun/energy +/obj/item/gun/energy name = "energy gun" desc = "A basic energy-based gun." icon_state = "energy" fire_sound_text = "laser blast" - var/obj/item/weapon/cell/power_supply //What type of power cell this uses + var/obj/item/cell/power_supply //What type of power cell this uses var/charge_cost = 240 //How much energy is needed to fire. - var/accept_cell_type = /obj/item/weapon/cell/device - var/cell_type = /obj/item/weapon/cell/device/weapon + var/accept_cell_type = /obj/item/cell/device + var/cell_type = /obj/item/cell/device/weapon projectile_type = /obj/item/projectile/beam/practice var/modifystate @@ -28,10 +28,10 @@ var/battery_lock = 0 //If set, weapon cannot switch batteries var/random_start_ammo = FALSE //if TRUE, the weapon will spawn with randomly-determined ammo -/obj/item/weapon/gun/energy/New() +/obj/item/gun/energy/New() ..() if(self_recharge) - power_supply = new /obj/item/weapon/cell/device/weapon(src) + power_supply = new /obj/item/cell/device/weapon(src) START_PROCESSING(SSobj, src) else if(cell_type) @@ -43,15 +43,15 @@ power_supply.charge = charge_cost*rand(0,power_supply.maxcharge/charge_cost) update_icon() -/obj/item/weapon/gun/energy/Destroy() +/obj/item/gun/energy/Destroy() if(self_recharge) STOP_PROCESSING(SSobj, src) return ..() -/obj/item/weapon/gun/energy/get_cell() +/obj/item/gun/energy/get_cell() return power_supply -/obj/item/weapon/gun/energy/process() +/obj/item/gun/energy/process() if(self_recharge) //Every [recharge_time] ticks, recharge a shot for the battery if(world.time > last_shot + charge_delay) //Doesn't work if you've fired recently if(!power_supply || power_supply.charge >= power_supply.maxcharge) @@ -64,7 +64,7 @@ var/rechargeamt = power_supply.maxcharge*0.2 if(use_external_power) - var/obj/item/weapon/cell/external = get_external_power_supply() + var/obj/item/cell/external = get_external_power_supply() if(!external || !external.use(rechargeamt)) //Take power from the borg... return 0 @@ -103,18 +103,18 @@ charge_tick = 0 return 1 -/obj/item/weapon/gun/energy/attackby(var/obj/item/A as obj, mob/user as mob) +/obj/item/gun/energy/attackby(var/obj/item/A as obj, mob/user as mob) ..() -/obj/item/weapon/gun/energy/switch_firemodes(mob/user) +/obj/item/gun/energy/switch_firemodes(mob/user) if(..()) update_icon() -/obj/item/weapon/gun/energy/emp_act(severity) +/obj/item/gun/energy/emp_act(severity) ..() update_icon() -/obj/item/weapon/gun/energy/consume_next_projectile() +/obj/item/gun/energy/consume_next_projectile() if(!power_supply) return null if(!ispath(projectile_type)) return null if(!power_supply.checked_use(charge_cost)) return null @@ -123,57 +123,57 @@ M?.hud_used.update_ammo_hud(M, src) return new projectile_type(src) -/obj/item/weapon/gun/energy/proc/load_ammo(var/obj/item/C, mob/user) - if(istype(C, /obj/item/weapon/cell)) +/obj/item/gun/energy/proc/load_ammo(var/obj/item/C, mob/user) + if(istype(C, /obj/item/cell)) if(self_recharge || battery_lock) - to_chat(user, "[src] does not have a battery port.") + to_chat(user, span_notice("[src] does not have a battery port.")) return if(istype(C, accept_cell_type)) - var/obj/item/weapon/cell/P = C + var/obj/item/cell/P = C if(power_supply) - to_chat(user, "[src] already has a power cell.") + to_chat(user, span_notice("[src] already has a power cell.")) else - user.visible_message("[user] is reloading [src].", "You start to insert [P] into [src].") + user.visible_message("[user] is reloading [src].", span_notice("You start to insert [P] into [src].")) if(do_after(user, reload_time * P.w_class)) user.remove_from_mob(P) power_supply = P P.loc = src - user.visible_message("[user] inserts [P] into [src].", "You insert [P] into [src].") + user.visible_message("[user] inserts [P] into [src].", span_notice("You insert [P] into [src].")) playsound(src, 'sound/weapons/flipblade.ogg', 50, 1) update_icon() update_held_icon() user.hud_used.update_ammo_hud(user, src) // TGMC Ammo HUD else - to_chat(user, "This cell is not fitted for [src].") + to_chat(user, span_notice("This cell is not fitted for [src].")) return -/obj/item/weapon/gun/energy/proc/unload_ammo(mob/user) +/obj/item/gun/energy/proc/unload_ammo(mob/user) if(self_recharge || battery_lock) - to_chat(user, "[src] does not have a battery port.") + to_chat(user, span_notice("[src] does not have a battery port.")) return if(power_supply) user.put_in_hands(power_supply) power_supply.update_icon() - user.visible_message("[user] removes [power_supply] from [src].", "You remove [power_supply] from [src].") + user.visible_message("[user] removes [power_supply] from [src].", span_notice("You remove [power_supply] from [src].")) power_supply = null playsound(src, 'sound/weapons/empty.ogg', 50, 1) update_icon() update_held_icon() user.hud_used.update_ammo_hud(user, src) // TGMC Ammo HUD else - to_chat(user, "[src] does not have a power cell.") + to_chat(user, span_notice("[src] does not have a power cell.")) -/obj/item/weapon/gun/energy/attackby(var/obj/item/A as obj, mob/user as mob) +/obj/item/gun/energy/attackby(var/obj/item/A as obj, mob/user as mob) ..() load_ammo(A, user) -/obj/item/weapon/gun/energy/attack_hand(mob/user as mob) +/obj/item/gun/energy/attack_hand(mob/user as mob) if(user.get_inactive_hand() == src) unload_ammo(user) else return ..() -/obj/item/weapon/gun/energy/proc/get_external_power_supply() +/obj/item/gun/energy/proc/get_external_power_supply() if(isrobot(src.loc)) var/mob/living/silicon/robot/R = src.loc return R.cell @@ -182,12 +182,12 @@ if(module.holder && module.holder.wearer) var/mob/living/carbon/human/H = module.holder.wearer if(istype(H) && H.get_rig()) - var/obj/item/weapon/rig/suit = H.get_rig() + var/obj/item/rig/suit = H.get_rig() if(istype(suit)) return suit.cell return null -/obj/item/weapon/gun/energy/examine(mob/user) +/obj/item/gun/energy/examine(mob/user) . = ..() if(shot_counter) if(power_supply) @@ -199,7 +199,7 @@ else . += "Does not have a power cell." -/obj/item/weapon/gun/energy/update_icon(var/ignore_inhands) +/obj/item/gun/energy/update_icon(var/ignore_inhands) if(power_supply == null) if(modifystate) icon_state = "[modifystate]_open" @@ -228,14 +228,14 @@ if(!ignore_inhands) update_held_icon() -/obj/item/weapon/gun/energy/proc/start_recharge() +/obj/item/gun/energy/proc/start_recharge() if(power_supply == null) - power_supply = new /obj/item/weapon/cell/device/weapon(src) + power_supply = new /obj/item/cell/device/weapon(src) self_recharge = 1 START_PROCESSING(SSobj, src) update_icon() -/obj/item/weapon/gun/energy/get_description_interaction() +/obj/item/gun/energy/get_description_interaction() var/list/results = list() if(!battery_lock && !self_recharge) @@ -249,18 +249,18 @@ return results // TGMC AMMO HUD -/obj/item/weapon/gun/energy/has_ammo_counter() +/obj/item/gun/energy/has_ammo_counter() return TRUE -/obj/item/weapon/gun/energy/get_ammo_type() +/obj/item/gun/energy/get_ammo_type() if(!projectile_type) return list("unknown", "unknown") else var/obj/item/projectile/P = projectile_type return list(initial(P.hud_state), initial(P.hud_state_empty)) -/obj/item/weapon/gun/energy/get_ammo_count() +/obj/item/gun/energy/get_ammo_count() if(!power_supply) return 0 else - return FLOOR(power_supply.charge / max(charge_cost, 1), 1) \ No newline at end of file + return FLOOR(power_supply.charge / max(charge_cost, 1), 1) diff --git a/code/modules/projectiles/guns/energy/altevian_vr.dm b/code/modules/projectiles/guns/energy/altevian_vr.dm index 4db9cd12093..adc114fb614 100644 --- a/code/modules/projectiles/guns/energy/altevian_vr.dm +++ b/code/modules/projectiles/guns/energy/altevian_vr.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/gun/energy/altevian +/obj/item/gun/energy/altevian name = "Magneto-Electric Energy Projector" desc = "A hand-held version of an energy weapon for the Altevian Hegemony. This one is the civilian grade version that has a reduced charge capacity. However, it is a lot easier to use." icon_state = "meep" @@ -12,7 +12,7 @@ projectile_type = /obj/item/projectile/beam/meeplaser charge_cost = 400 -/obj/item/weapon/gun/energy/altevian/large +/obj/item/gun/energy/altevian/large name = "Proto-Reactive Beam Thruster" desc = "The main energy rifle that the Altevian Hegemony uses for its military operations." icon_state = "altevian-pdw" @@ -58,7 +58,7 @@ light_power = 0.5 light_color = "#77A6E1" -/obj/item/weapon/gun/energy/ratminer +/obj/item/gun/energy/ratminer name = "Altevian Repulsion Mineral Slicer" desc = "An advanced piece of mining focused technology from the Altevian Hegemony. \ This model appears to be their standard asteroid clearing laser with a tailored system to work with an ore-bag, \ @@ -123,7 +123,7 @@ var/turf/simulated/mineral/M = T M.GetDrilled(TRUE) if(firer) - var/obj/item/weapon/storage/bag/ore/orebag = locate(/obj/item/weapon/storage/bag/ore) in firer + var/obj/item/storage/bag/ore/orebag = locate(/obj/item/storage/bag/ore) in firer if(orebag) for(var/turf/T in RANGE_TURFS(2, target_turf)) orebag.gather_all(T, firer, TRUE) diff --git a/code/modules/projectiles/guns/energy/bsharpoon_vr.dm b/code/modules/projectiles/guns/energy/bsharpoon_vr.dm index 4bea1318c6a..6a4a4764df5 100644 --- a/code/modules/projectiles/guns/energy/bsharpoon_vr.dm +++ b/code/modules/projectiles/guns/energy/bsharpoon_vr.dm @@ -1,5 +1,5 @@ //RD 'gun' -/obj/item/weapon/bluespace_harpoon +/obj/item/bluespace_harpoon name = "bluespace harpoon" desc = "For climbing on bluespace mountains!" @@ -17,91 +17,91 @@ var/firable = TRUE var/transforming = 0 var/failure_chance = 15 // This can become negative with part tiers above 3, which helps offset penalties - var/obj/item/weapon/stock_parts/scanning_module/scanmod + var/obj/item/stock_parts/scanning_module/scanmod var/dropnoms_active = TRUE -/obj/item/weapon/bluespace_harpoon/Initialize() +/obj/item/bluespace_harpoon/Initialize() . = ..() scanmod = new(src) update_fail_chance() -/obj/item/weapon/bluespace_harpoon/examine(var/mob/user) +/obj/item/bluespace_harpoon/examine(var/mob/user) . = ..() . += "It is currently in [mode ? "transmitting" : "receiving"] mode." . += "Spatial rearrangement is [dropnoms_active ? "active" : "inactive"]." if(Adjacent(user)) . += "It has [scanmod ? scanmod : "no scanner module"] installed." -/obj/item/weapon/bluespace_harpoon/proc/update_fail_chance() +/obj/item/bluespace_harpoon/proc/update_fail_chance() if(scanmod) failure_chance = initial(failure_chance) - (scanmod.rating * 5) else failure_chance = 75 // You can't even use it if there's no scanmod, but why not. -/obj/item/weapon/bluespace_harpoon/attackby(var/obj/item/I, var/mob/living/user) +/obj/item/bluespace_harpoon/attackby(var/obj/item/I, var/mob/living/user) if(!istype(user)) return if(I.has_tool_quality(TOOL_SCREWDRIVER)) if(!scanmod) - to_chat(user, "There's no scanner module installed!") + to_chat(user, span_warning("There's no scanner module installed!")) return var/turf/T = get_turf(src) - to_chat(user, "You remove [scanmod] from [src].") + to_chat(user, span_notice("You remove [scanmod] from [src].")) playsound(src, I.usesound, 75, 1) scanmod.forceMove(T) scanmod = null update_fail_chance() - else if(istype(I, /obj/item/weapon/stock_parts/scanning_module)) + else if(istype(I, /obj/item/stock_parts/scanning_module)) if(scanmod) - to_chat(user, "There's already [scanmod] installed! Remove it first.") + to_chat(user, span_warning("There's already [scanmod] installed! Remove it first.")) return user.remove_from_mob(I) I.forceMove(src) scanmod = I - to_chat(user, "You install [scanmod] into [src].") + to_chat(user, span_notice("You install [scanmod] into [src].")) update_fail_chance() else return ..() -/obj/item/weapon/bluespace_harpoon/afterattack(atom/A, mob/user as mob) +/obj/item/bluespace_harpoon/afterattack(atom/A, mob/user as mob) if(!user || !A || isstorage(A)) return if(!scanmod) - to_chat(user,"The scanning module has been removed from [src]!") + to_chat(user,span_warning("The scanning module has been removed from [src]!")) return if(transforming) - to_chat(user,"You can't fire while \the [src] transforming!") + to_chat(user,span_warning("You can't fire while \the [src] transforming!")) return if(!firable) - to_chat(user,"\The [src] is recharging...") + to_chat(user,span_warning("\The [src] is recharging...")) return if(is_jammed(A) || is_jammed(user)) firable = FALSE VARSET_IN(src, firable, TRUE, 30 SECONDS) - to_chat(user,"\The [src] shot fizzles due to interference!") + to_chat(user,span_warning("\The [src] shot fizzles due to interference!")) playsound(src, 'sound/weapons/wave.ogg', 60, 1) return var/turf/T = get_turf(A) if(!T || (T.check_density(ignore_mobs = TRUE) && mode == 1)) - to_chat(user,"That's a little too solid to harpoon into!") + to_chat(user,span_warning("That's a little too solid to harpoon into!")) return var/turf/ownturf = get_turf(src) if(ownturf.z != T.z || get_dist(T,ownturf) > world.view) - to_chat(user, "The target is out of range!") + to_chat(user, span_warning("The target is out of range!")) return - if(get_area(A).flags & BLUE_SHIELDED) - to_chat(user, "The target area protected by bluespace shielding!") + if(get_area(A).flag_check(BLUE_SHIELDED)) + to_chat(user, span_warning("The target area protected by bluespace shielding!")) return if(!(A in view(user, world.view))) - to_chat(user, "Harpoon fails to lock on the obstructed target!") + to_chat(user, span_warning("Harpoon fails to lock on the obstructed target!")) return firable = FALSE VARSET_IN(src, firable, TRUE, 30 SECONDS) playsound(src, 'sound/weapons/wave.ogg', 60, 1) - user.visible_message("[user] fires \the [src]!","You fire \the [src]!") + user.visible_message(span_warning("[user] fires \the [src]!"),span_warning("You fire \the [src]!")) var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread s.set_up(4, 1, A) @@ -144,8 +144,8 @@ if(prey != user && prey.can_be_drop_prey) prey.forceMove(belly_dest) vore_happened = TRUE - to_chat(prey, "[living_user] materializes around you, as you end up in their [belly_dest]!") - to_chat(living_user, "You materialize around [prey] as they end up in your [belly_dest]!") + to_chat(prey, span_vdanger("[living_user] materializes around you, as you end up in their [belly_dest]!")) + to_chat(living_user, span_vnotice("You materialize around [prey] as they end up in your [belly_dest]!")) if(can_dropnom && !vore_happened && living_user.can_be_drop_prey) var/mob/living/pred for(var/mob/living/potential_pred in ToTurf) @@ -159,8 +159,8 @@ belly_dest = pick(pred.vore_organs) if(belly_dest) living_user.forceMove(belly_dest) - to_chat(pred, "[living_user] materializes inside you as they end up in your [belly_dest]!") - to_chat(living_user, "You materialize inside [pred] as you end up in their [belly_dest]!") + to_chat(pred, span_vnotice("[living_user] materializes inside you as they end up in your [belly_dest]!")) + to_chat(living_user, span_vdanger("You materialize inside [pred] as you end up in their [belly_dest]!")) else for(var/obj/O in FromTurf) @@ -185,8 +185,8 @@ belly_dest = pick(living_user.vore_organs) if(belly_dest) M.forceMove(belly_dest) - to_chat(living_user, "[M] materializes inside you as they end up in your [belly_dest]!") - to_chat(M, "You materialize inside [living_user] as you end up in their [belly_dest]!") + to_chat(living_user, span_vnotice("[M] materializes inside you as they end up in your [belly_dest]!")) + to_chat(M, span_vdanger("You materialize inside [living_user] as you end up in their [belly_dest]!")) else if(can_dropnom && living_user.can_be_drop_prey && M.can_be_drop_pred && !user_vored) var/obj/belly/belly_dest if(M.vore_selected) @@ -196,14 +196,14 @@ if(belly_dest) living_user.forceMove(belly_dest) user_vored = TRUE - to_chat(living_user, "[M] materializes around you, as you end up in their [belly_dest]!") - to_chat(M, "You materialize around [living_user] as they end up in your [belly_dest]!") + to_chat(living_user, span_vdanger("[M] materializes around you, as you end up in their [belly_dest]!")) + to_chat(M, span_vnotice("You materialize around [living_user] as they end up in your [belly_dest]!")) -/obj/item/weapon/bluespace_harpoon/attack_self(mob/living/user as mob) +/obj/item/bluespace_harpoon/attack_self(mob/living/user as mob) return chande_fire_mode(user) -/obj/item/weapon/bluespace_harpoon/verb/chande_fire_mode(mob/user as mob) +/obj/item/bluespace_harpoon/verb/chande_fire_mode(mob/user as mob) set name = "Change Fire Mode" set category = "Object" set src in range(0) @@ -211,18 +211,18 @@ if(transforming) return mode = !mode transforming = 1 - to_chat(user,"You change \the [src]'s mode to [mode ? "transmiting" : "receiving"].") + to_chat(user,span_info("You change \the [src]'s mode to [mode ? "transmiting" : "receiving"].")) update_icon() -/obj/item/weapon/bluespace_harpoon/verb/chande_dropnom_mode(mob/user as mob) +/obj/item/bluespace_harpoon/verb/chande_dropnom_mode(mob/user as mob) set name = "Toggle Spatial Rearrangement" set category = "Object" set src in range(0) dropnoms_active = !dropnoms_active - to_chat(user,"You switch \the [src]'s spatial rearrangement [dropnoms_active ? "on" : "off"]. (Telenoms [dropnoms_active ? "enabled" : "disabled"])") + to_chat(user,span_info("You switch \the [src]'s spatial rearrangement [dropnoms_active ? "on" : "off"]. (Telenoms [dropnoms_active ? "enabled" : "disabled"])")) -/obj/item/weapon/bluespace_harpoon/update_icon() +/obj/item/bluespace_harpoon/update_icon() if(transforming) switch(mode) if(0) diff --git a/code/modules/projectiles/guns/energy/cell_loaded_vr/cell_loaded.dm b/code/modules/projectiles/guns/energy/cell_loaded_vr/cell_loaded.dm index b1965ddc1aa..ee358199143 100644 --- a/code/modules/projectiles/guns/energy/cell_loaded_vr/cell_loaded.dm +++ b/code/modules/projectiles/guns/energy/cell_loaded_vr/cell_loaded.dm @@ -1,11 +1,9 @@ // The Gun // -/obj/item/weapon/gun/projectile/cell_loaded //this one can load both medical and security cells! for ERT/admin use. +/obj/item/gun/projectile/cell_loaded //this one can load both medical and security cells! for ERT/admin use. name = "multipurpose cell-loaded revolver" - desc = "Variety is the spice of life! This weapon is a hybrid of the HI-102b 'Nanotech Selectable-Cell Weapon' and the Vey-Med ML-3 'Medigun'. \ + desc = "Variety is the spice of life! This weapon is a hybrid of the Hephaestus 102b 'Nanotech Selectable-Fire Weapon' and the Vey-Med ML-3 'Medigun', dubbed the 'NSCW-ML3M'. \ It can fire both harmful and healing cells with an internal nanite fabricator and energy weapon cell loader. Up to three combinations of \ - energy beams can be configured at once. Ammo not included." - catalogue_data = list(/datum/category_item/catalogue/information/organization/hephaestus, - /datum/category_item/catalogue/information/organization/vey_med) + energy beams can be configured at once. Ammo not included." // YW EDIT NSFW TO NSCW icon = 'icons/vore/custom_guns_vr.dmi' icon_state = "nsfw" @@ -28,7 +26,7 @@ var/max_charge = 0 charge_sections = 5 -/obj/item/weapon/gun/projectile/cell_loaded/consume_next_projectile() +/obj/item/gun/projectile/cell_loaded/consume_next_projectile() if(chambered && ammo_magazine) var/obj/item/ammo_casing/microbattery/batt = chambered if(batt.shots_left) @@ -41,7 +39,7 @@ return null -/obj/item/weapon/gun/projectile/cell_loaded/proc/update_charge() +/obj/item/gun/projectile/cell_loaded/proc/update_charge() charge_left = 0 max_charge = 0 @@ -56,12 +54,12 @@ charge_left += bullet.shots_left max_charge += initial(bullet.shots_left) -/obj/item/weapon/gun/projectile/cell_loaded/proc/switch_to(obj/item/ammo_casing/microbattery/new_batt) +/obj/item/gun/projectile/cell_loaded/proc/switch_to(obj/item/ammo_casing/microbattery/new_batt) if(ishuman(loc)) if(chambered && new_batt.type == chambered.type) - to_chat(loc,"\The [src] is now using the next [new_batt.type_name] power cell.") + to_chat(loc,span_warning("\The [src] is now using the next [new_batt.type_name] power cell.")) else - to_chat(loc,"\The [src] is now firing [new_batt.type_name].") + to_chat(loc,span_warning("\The [src] is now firing [new_batt.type_name].")) chambered = new_batt update_charge() @@ -70,7 +68,7 @@ if(istype(M)) // TGMC Ammo HUD M?.hud_used.update_ammo_hud(M, src) -/obj/item/weapon/gun/projectile/cell_loaded/attack_self(mob/user) +/obj/item/gun/projectile/cell_loaded/attack_self(mob/user) if(!chambered) return @@ -89,7 +87,7 @@ switch_to(next_batt) break /* -/obj/item/weapon/gun/projectile/cell_loaded/special_check(mob/user) +/obj/item/gun/projectile/cell_loaded/special_check(mob/user) if(!chambered) return @@ -99,16 +97,16 @@ return TRUE */ -/obj/item/weapon/gun/projectile/cell_loaded/load_ammo(var/obj/item/A, mob/user) +/obj/item/gun/projectile/cell_loaded/load_ammo(var/obj/item/A, mob/user) . = ..() if(ammo_magazine && ammo_magazine.stored_ammo.len) switch_to(ammo_magazine.stored_ammo[1]) -/obj/item/weapon/gun/projectile/cell_loaded/unload_ammo(mob/user, var/allow_dump=1) +/obj/item/gun/projectile/cell_loaded/unload_ammo(mob/user, var/allow_dump=1) chambered = null return ..() -/obj/item/weapon/gun/projectile/cell_loaded/update_icon() +/obj/item/gun/projectile/cell_loaded/update_icon() update_charge() cut_overlays() @@ -156,14 +154,14 @@ var/list/modes = list() -/obj/item/ammo_magazine/cell_mag/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/item/ammo_magazine/cell_mag/attackby(obj/item/W as obj, mob/user as mob) if(istype(W, /obj/item/ammo_casing/microbattery)) var/obj/item/ammo_casing/microbattery/B = W if(!istype(B, ammo_type)) - to_chat(user, "[B] does not fit into [src].") + to_chat(user, span_warning("[B] does not fit into [src].")) return if(stored_ammo.len >= max_ammo) - to_chat(user, "[src] is full!") + to_chat(user, span_warning("[src] is full!")) return user.remove_from_mob(B) B.loc = src @@ -171,8 +169,8 @@ update_icon() playsound(src, 'sound/weapons/flipblade.ogg', 50, 1) update_icon() - if(istype(loc, /obj/item/weapon/gun/projectile/cell_loaded)) // Update the HUD if we're in a gun + have a user. Not that one should be able to reload the mag while it's in a gun, but just in caaaaase. - var/obj/item/weapon/gun/projectile/cell_loaded/cell_load = loc + if(istype(loc, /obj/item/gun/projectile/cell_loaded)) // Update the HUD if we're in a gun + have a user. Not that one should be able to reload the mag while it's in a gun, but just in caaaaase. + var/obj/item/gun/projectile/cell_loaded/cell_load = loc var/mob/living/M = cell_load.loc if(istype(M)) M?.hud_used.update_ammo_hud(M, cell_load) @@ -210,7 +208,6 @@ /obj/item/ammo_casing/microbattery name = "\'NSCW\' microbattery - UNKNOWN" desc = "A miniature battery for an energy weapon." - catalogue_data = list(/datum/category_item/catalogue/information/organization/hephaestus) icon = 'icons/obj/ammo_vr.dmi' icon_state = "nsfw_batt" slot_flags = SLOT_BELT | SLOT_EARS @@ -242,16 +239,16 @@ // The Pack // -/obj/item/weapon/storage/secure/briefcase/nsfw_pack_hybrid +/obj/item/storage/secure/briefcase/nsfw_pack_hybrid name = "hybrid cell-loaded gun kit" desc = "A storage case for a multi-purpose handgun. Variety hour!" w_class = ITEMSIZE_NORMAL max_w_class = ITEMSIZE_NORMAL - can_hold = list(/obj/item/weapon/gun/projectile/cell_loaded,/obj/item/ammo_magazine/cell_mag,/obj/item/ammo_casing/microbattery) + can_hold = list(/obj/item/gun/projectile/cell_loaded,/obj/item/ammo_magazine/cell_mag,/obj/item/ammo_casing/microbattery) -/obj/item/weapon/storage/secure/briefcase/nsfw_pack_hybrid/New() +/obj/item/storage/secure/briefcase/nsfw_pack_hybrid/New() ..() - new /obj/item/weapon/gun/projectile/cell_loaded(src) + new /obj/item/gun/projectile/cell_loaded(src) new /obj/item/ammo_magazine/cell_mag/advanced(src) new /obj/item/ammo_casing/microbattery/combat/stun(src) new /obj/item/ammo_casing/microbattery/combat/stun(src) @@ -264,16 +261,16 @@ new /obj/item/ammo_casing/microbattery/medical/toxin3(src) new /obj/item/ammo_casing/microbattery/medical/omni3(src) -/obj/item/weapon/storage/secure/briefcase/nsfw_pack_hybrid_combat +/obj/item/storage/secure/briefcase/nsfw_pack_hybrid_combat name = "military cell-loaded gun kit" desc = "A storage case for a multi-purpose handgun. Variety hour!" w_class = ITEMSIZE_NORMAL max_w_class = ITEMSIZE_NORMAL - can_hold = list(/obj/item/weapon/gun/projectile/cell_loaded,/obj/item/ammo_magazine/cell_mag,/obj/item/ammo_casing/microbattery) + can_hold = list(/obj/item/gun/projectile/cell_loaded,/obj/item/ammo_magazine/cell_mag,/obj/item/ammo_casing/microbattery) -/obj/item/weapon/storage/secure/briefcase/nsfw_pack_hybrid_combat/New() +/obj/item/storage/secure/briefcase/nsfw_pack_hybrid_combat/New() ..() - new /obj/item/weapon/gun/projectile/cell_loaded(src) + new /obj/item/gun/projectile/cell_loaded(src) new /obj/item/ammo_magazine/cell_mag/advanced(src) new /obj/item/ammo_casing/microbattery/combat/shotstun(src) new /obj/item/ammo_casing/microbattery/combat/shotstun(src) @@ -288,14 +285,14 @@ // TGMC Ammo HUD: Custom handling for cell-loaded weaponry. /* -/obj/item/weapon/gun/projectile/cell_loaded/get_ammo_type() +/obj/item/gun/projectile/cell_loaded/get_ammo_type() if(!projectile_type) return list("unknown", "unknown") else var/obj/item/projectile/P = projectile_type return list(initial(P.hud_state), initial(P.hud_state_empty)) */ -/obj/item/weapon/gun/projectile/cell_loaded/get_ammo_count() +/obj/item/gun/projectile/cell_loaded/get_ammo_count() if(!chambered) return 0 // We're not chambered, so we have 0 rounds loaded. diff --git a/code/modules/projectiles/guns/energy/cell_loaded_vr/ml3m.dm b/code/modules/projectiles/guns/energy/cell_loaded_vr/ml3m.dm index ddfe1d7d6fa..6822fb37b3d 100644 --- a/code/modules/projectiles/guns/energy/cell_loaded_vr/ml3m.dm +++ b/code/modules/projectiles/guns/energy/cell_loaded_vr/ml3m.dm @@ -1,9 +1,9 @@ // The Gun // -/obj/item/weapon/gun/projectile/cell_loaded/medical +/obj/item/gun/projectile/cell_loaded/medical name = "cell-loaded medigun" - desc = "The ML-3 'Medigun', or ML3 for short, is a powerful cell-based ranged healing device based on the HI-102b NSCW. \ + desc = "The ML-3 'Medigun', or ML3M for short, is a powerful cell-based ranged healing device based on the Hephaestus 102b NSCW. \ It uses an internal nanite fabricator, powered and controlled by discrete cells, to deliver a variety of effects at range. Up to six combinations of \ - healing beams can be configured at once, depending on cartridge used. Ammo not included." + healing beams can be configured at once, depending on cartridge used. Ammo not included." // YW EDIT NSFW TO NSCW catalogue_data = list(/datum/category_item/catalogue/information/organization/vey_med) icon_state = "ml3m" @@ -13,10 +13,10 @@ origin_tech = list(TECH_MATERIAL = 4, TECH_MAGNET = 2, TECH_BIO = 5) allowed_magazines = list(/obj/item/ammo_magazine/cell_mag/medical) -/obj/item/weapon/gun/projectile/cell_loaded/medical/cmo +/obj/item/gun/projectile/cell_loaded/medical/cmo name = "advanced cell-loaded medigun" - desc = "This is a variation on the ML-3 'Medigun', a powerful cell-based ranged healing device based on the HI-102b NSCW. \ - It has an extended sight for increased accuracy, and much more comfortable grip. Ammo not included." + desc = "This is a variation on the ML-3 'Medigun', a powerful cell-based ranged healing device based on the Hephaestus 102b NSCW. \ + It has an extended sight for increased accuracy, and much more comfortable grip. Ammo not included." // YW EDIT NSFW TO NSCW icon_state = "ml3m_cmo" @@ -42,33 +42,33 @@ // The Pack // -/obj/item/weapon/storage/secure/briefcase/ml3m_pack_med +/obj/item/storage/secure/briefcase/ml3m_pack_med name = "\improper ML-3 \'Medigun\' kit" desc = "A storage case for a multi-purpose healing gun. Variety hour!" icon_state = "medbriefcase" w_class = ITEMSIZE_NORMAL max_w_class = ITEMSIZE_NORMAL - can_hold = list(/obj/item/weapon/gun/projectile/cell_loaded/medical,/obj/item/ammo_magazine/cell_mag/medical,/obj/item/ammo_casing/microbattery/medical) + can_hold = list(/obj/item/gun/projectile/cell_loaded/medical,/obj/item/ammo_magazine/cell_mag/medical,/obj/item/ammo_casing/microbattery/medical) -/obj/item/weapon/storage/secure/briefcase/ml3m_pack_med/New() +/obj/item/storage/secure/briefcase/ml3m_pack_med/New() ..() - new /obj/item/weapon/gun/projectile/cell_loaded/medical(src) + new /obj/item/gun/projectile/cell_loaded/medical(src) new /obj/item/ammo_magazine/cell_mag/medical(src) new /obj/item/ammo_casing/microbattery/medical/brute(src) new /obj/item/ammo_casing/microbattery/medical/burn(src) new /obj/item/ammo_casing/microbattery/medical/stabilize(src) -/obj/item/weapon/storage/secure/briefcase/ml3m_pack_cmo +/obj/item/storage/secure/briefcase/ml3m_pack_cmo name = "\improper Advanced ML-3 \'Medigun\' kit" desc = "A storage case for a multi-purpose healing gun. Variety hour!" icon_state = "medbriefcase" w_class = ITEMSIZE_NORMAL max_w_class = ITEMSIZE_NORMAL - can_hold = list(/obj/item/weapon/gun/projectile/cell_loaded/medical,/obj/item/ammo_magazine/cell_mag/medical,/obj/item/ammo_casing/microbattery/medical) + can_hold = list(/obj/item/gun/projectile/cell_loaded/medical,/obj/item/ammo_magazine/cell_mag/medical,/obj/item/ammo_casing/microbattery/medical) -/obj/item/weapon/storage/secure/briefcase/ml3m_pack_cmo/New() +/obj/item/storage/secure/briefcase/ml3m_pack_cmo/New() ..() - new /obj/item/weapon/gun/projectile/cell_loaded/medical/cmo(src) + new /obj/item/gun/projectile/cell_loaded/medical/cmo(src) new /obj/item/ammo_magazine/cell_mag/medical(src) new /obj/item/ammo_casing/microbattery/medical/brute(src) new /obj/item/ammo_casing/microbattery/medical/burn(src) diff --git a/code/modules/projectiles/guns/energy/cell_loaded_vr/multi_cannon.dm b/code/modules/projectiles/guns/energy/cell_loaded_vr/multi_cannon.dm index 426301e7561..7c82ec839df 100644 --- a/code/modules/projectiles/guns/energy/cell_loaded_vr/multi_cannon.dm +++ b/code/modules/projectiles/guns/energy/cell_loaded_vr/multi_cannon.dm @@ -1,6 +1,6 @@ //Why is this in here when it's not a subtype of cell_loaded? Because it has a similar function, and I couldn't be assed to find a better suited spot. -/obj/item/weapon/gun/projectile/multi_cannon +/obj/item/gun/projectile/multi_cannon name = "Curabitur Cannon" desc = "A cannon developed by Curabitur Scimed, this weapon incorporates both Vey-Med and precursor technology to create a medical alternative to chemicals on the field." icon = 'icons/vore/custom_guns_vr.dmi' @@ -22,7 +22,7 @@ slot_flags = SLOT_BACK recoil = FALSE -/obj/item/weapon/gun/projectile/multi_cannon/update_icon() +/obj/item/gun/projectile/multi_cannon/update_icon() . = ..() cut_overlays() var/istate = "healcannon_0" @@ -49,17 +49,17 @@ x.color = indicator_colour add_overlay(x) -/obj/item/weapon/gun/projectile/multi_cannon/load_ammo() +/obj/item/gun/projectile/multi_cannon/load_ammo() .=..() consume_next_projectile() update_icon() -/obj/item/weapon/gun/projectile/multi_cannon/unload_ammo(mob/user, var/allow_dump=1) +/obj/item/gun/projectile/multi_cannon/unload_ammo(mob/user, var/allow_dump=1) .=..() update_icon() chambered = null -/obj/item/weapon/gun/projectile/multi_cannon/get_ammo_count() // Custom handling for the Curabitur. +/obj/item/gun/projectile/multi_cannon/get_ammo_count() // Custom handling for the Curabitur. if(istype(chambered, /obj/item/ammo_casing/macrobattery)) var/obj/item/ammo_casing/macrobattery/battery = chambered if(battery.charge) // Does the battery have charge? @@ -69,4 +69,4 @@ else if(chambered == null) return 0 else - CRASH("/obj/item/weapon/gun/projectile/multi_cannon/get_ammo_count() was called from [src] but did not have a valid magazine loaded, somehow! Chambered is currently [chambered].") \ No newline at end of file + CRASH("/obj/item/gun/projectile/multi_cannon/get_ammo_count() was called from [src] but did not have a valid magazine loaded, somehow! Chambered is currently [chambered].") \ No newline at end of file diff --git a/code/modules/projectiles/guns/energy/cell_loaded_vr/multi_cannon_cells.dm b/code/modules/projectiles/guns/energy/cell_loaded_vr/multi_cannon_cells.dm index d333081c372..817117db9a9 100644 --- a/code/modules/projectiles/guns/energy/cell_loaded_vr/multi_cannon_cells.dm +++ b/code/modules/projectiles/guns/energy/cell_loaded_vr/multi_cannon_cells.dm @@ -39,8 +39,8 @@ BB = null BB = new projectile_type // TGMC Ammo HUD - Update the HUD every time we expend/fire, given the Curabitur's method of handling firing. - if(istype(loc, /obj/item/weapon/gun/projectile/multi_cannon)) - var/obj/item/weapon/gun/projectile/multi_cannon = loc + if(istype(loc, /obj/item/gun/projectile/multi_cannon)) + var/obj/item/gun/projectile/multi_cannon = loc var/mob/living/user = multi_cannon.loc if(istype(user)) user?.hud_used.update_ammo_hud(user, multi_cannon) @@ -56,12 +56,12 @@ BB = new projectile_type if(charge >= max_charge) STOP_PROCESSING(SSobj, src) - if(istype(loc,/obj/item/weapon/gun/projectile/multi_cannon)) + if(istype(loc,/obj/item/gun/projectile/multi_cannon)) loc.update_icon() // TGMC Ammo HUD - Update the HUD every time we're called to recharge. - if(istype(loc, /obj/item/weapon/gun/projectile/multi_cannon)) - var/obj/item/weapon/gun/projectile/multi_cannon = loc + if(istype(loc, /obj/item/gun/projectile/multi_cannon)) + var/obj/item/gun/projectile/multi_cannon = loc var/mob/living/user = multi_cannon.loc if(istype(user)) user?.hud_used.update_ammo_hud(user, multi_cannon) diff --git a/code/modules/projectiles/guns/energy/cell_loaded_vr/nsfw.dm b/code/modules/projectiles/guns/energy/cell_loaded_vr/nsfw.dm index 232165d88dc..76c800fd79b 100644 --- a/code/modules/projectiles/guns/energy/cell_loaded_vr/nsfw.dm +++ b/code/modules/projectiles/guns/energy/cell_loaded_vr/nsfw.dm @@ -1,19 +1,18 @@ // The Gun // -/obj/item/weapon/gun/projectile/cell_loaded/combat +/obj/item/gun/projectile/cell_loaded/combat name = "cell-loaded revolver" - desc = "Variety is the spice of life! The HI-102b 'Nanotech Selectable-Cell Weapon', or NSCW for short, is an unholy hybrid of an ammo-driven \ + desc = "Variety is the spice of life! The Hephaestus 102b 'Nanotech Selectable-Fire Weapon', or NSCW for short, is an unholy hybrid of an ammo-driven \ energy weapon that allows the user to mix and match their own fire modes. Up to four combinations of \ - energy beams can be configured at once. Ammo not included." - catalogue_data = list(/datum/category_item/catalogue/information/organization/hephaestus) + energy beams can be configured at once. Ammo not included." // YW EDIT NSFW TO NSCW - description_fluff = "The Hephaestus 'Nanotech Selectable Cell Weapon' allows one to customize their loadout in the field, or before deploying, to achieve various results in a weapon they are already familiar with wielding." + description_fluff = "The Hephaestus 'Nanotech Selectable Fire Weapon' allows one to customize their loadout in the field, or before deploying, to achieve various results in a weapon they are already familiar with wielding." allowed_magazines = list(/obj/item/ammo_magazine/cell_mag/combat) -/obj/item/weapon/gun/projectile/cell_loaded/combat/prototype +/obj/item/gun/projectile/cell_loaded/combat/prototype name = "prototype cell-loaded revolver" - desc = "Variety is the spice of life! A prototype based on HI-102b 'Nanotech Selectable-Cell Weapon', or NSCW for short, is an unholy hybrid of an ammo-driven \ + desc = "Variety is the spice of life! A prototype based on Hephaestus 102b 'Nanotech Selectable-Fire Weapon', or NSCW for short, is an unholy hybrid of an ammo-driven \ energy weapon that allows the user to mix and match their own fire modes. Up to two combinations of \ - energy beams can be configured at once. Ammo not included." + energy beams can be configured at once. Ammo not included." // YW EDIT NSFW TO NSCW description_info = "This gun is an energy weapon that uses interchangeable microbatteries in a magazine. Each battery is a different beam type, and up to three can be loaded in the magazine. Each battery usually provides four discharges of that beam type, and multiple from the same type may be loaded to increase the number of shots for that type." description_antag = "" @@ -29,8 +28,7 @@ icon_state = "nsfw_mag" max_ammo = 4 x_offset = 4 - catalogue_data = list(/datum/category_item/catalogue/information/organization/hephaestus) - description_info = "This magazine holds NSCW microbatteries to power the NSCW handgun. Up to three can be loaded at once, and each provides four shots of their respective energy type. Loading multiple of the same type will provide additional shots of that type. The batteries can be recharged in a normal recharger." + description_info = "This magazine holds NSCW microbatteries to power the NSCW handgun. Up to three can be loaded at once, and each provides four shots of their respective energy type. Loading multiple of the same type will provide additional shots of that type. The batteries can be recharged in a normal recharger." // YW EDIT NSFW TO NSCW ammo_type = /obj/item/ammo_casing/microbattery/combat /obj/item/ammo_magazine/cell_mag/combat/prototype @@ -43,30 +41,30 @@ // The Pack // -/obj/item/weapon/storage/secure/briefcase/nsfw_pack - name = "\improper HI-102b \'NSCW\' gun kit" +/obj/item/storage/secure/briefcase/nsfw_pack + name = "\improper Hephaestus 102b \'NSCW\' gun kit" // YW EDIT NSFW TO NSCW desc = "A storage case for a multi-purpose handgun. Variety hour!" w_class = ITEMSIZE_NORMAL max_w_class = ITEMSIZE_NORMAL - can_hold = list(/obj/item/weapon/gun/projectile/cell_loaded/combat,/obj/item/ammo_magazine/cell_mag/combat,/obj/item/ammo_casing/microbattery/combat) + can_hold = list(/obj/item/gun/projectile/cell_loaded/combat,/obj/item/ammo_magazine/cell_mag/combat,/obj/item/ammo_casing/microbattery/combat) -/obj/item/weapon/storage/secure/briefcase/nsfw_pack/New() +/obj/item/storage/secure/briefcase/nsfw_pack/New() ..() - new /obj/item/weapon/gun/projectile/cell_loaded/combat(src) + new /obj/item/gun/projectile/cell_loaded/combat(src) new /obj/item/ammo_magazine/cell_mag/combat(src) for(var/path in subtypesof(/obj/item/ammo_casing/microbattery/combat)) new path(src) -/obj/item/weapon/storage/secure/briefcase/nsfw_pack_hos - name = "\improper HI-102b \'NSCW\' gun kit" +/obj/item/storage/secure/briefcase/nsfw_pack_hos + name = "\improper Hephaestus 102b \'NSCW\' gun kit" // YW EDIT NSFW TO NSCW desc = "A storage case for a multi-purpose handgun. Variety hour!" w_class = ITEMSIZE_NORMAL max_w_class = ITEMSIZE_NORMAL - can_hold = list(/obj/item/weapon/gun/projectile/cell_loaded/combat,/obj/item/ammo_magazine/cell_mag/combat,/obj/item/ammo_casing/microbattery/combat) + can_hold = list(/obj/item/gun/projectile/cell_loaded/combat,/obj/item/ammo_magazine/cell_mag/combat,/obj/item/ammo_casing/microbattery/combat) -/obj/item/weapon/storage/secure/briefcase/nsfw_pack_hos/New() +/obj/item/storage/secure/briefcase/nsfw_pack_hos/New() ..() - new /obj/item/weapon/gun/projectile/cell_loaded/combat(src) + new /obj/item/gun/projectile/cell_loaded/combat(src) new /obj/item/ammo_magazine/cell_mag/combat(src) new /obj/item/ammo_magazine/cell_mag/combat(src) new /obj/item/ammo_casing/microbattery/combat/lethal(src) diff --git a/code/modules/projectiles/guns/energy/cell_loaded_vr/nsfw_cells.dm b/code/modules/projectiles/guns/energy/cell_loaded_vr/nsfw_cells.dm index 3ef40bd4ae9..ccb68acd0cd 100644 --- a/code/modules/projectiles/guns/energy/cell_loaded_vr/nsfw_cells.dm +++ b/code/modules/projectiles/guns/energy/cell_loaded_vr/nsfw_cells.dm @@ -2,7 +2,6 @@ /obj/item/ammo_casing/microbattery/combat name = "\'NSCW\' microbattery - UNKNOWN" desc = "A miniature battery for an energy weapon." - catalogue_data = list(/datum/category_item/catalogue/information/organization/hephaestus) // YW edit origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 1, TECH_MAGNET = 2) /obj/item/ammo_casing/microbattery/combat/lethal diff --git a/code/modules/projectiles/guns/energy/crestrose_vr.dm b/code/modules/projectiles/guns/energy/crestrose_vr.dm index c702d05b094..df3f6785cc6 100644 --- a/code/modules/projectiles/guns/energy/crestrose_vr.dm +++ b/code/modules/projectiles/guns/energy/crestrose_vr.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/gun/projectile/automatic/fluff/crestrose +/obj/item/gun/projectile/automatic/fluff/crestrose name = "Crescent Rose" desc = "Can you match my resolve? If so then you will succeed. I believe that the human spirit is indomitable. Keep Moving Forward. Uses 7.62mm rounds." icon = 'icons/vore/custom_guns_vr.dmi' @@ -26,15 +26,15 @@ list(mode_name="scythe", icon_state="crestrose",item_state = "crestrose",force=15), ) -/obj/item/weapon/gun/projectile/automatic/fluff/crestrose/switch_firemodes(mob/user) +/obj/item/gun/projectile/automatic/fluff/crestrose/switch_firemodes(mob/user) if(..()) update_icon() update_held_icon() -/obj/item/weapon/gun/projectile/automatic/fluff/crestrose/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack") +/obj/item/gun/projectile/automatic/fluff/crestrose/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack") if(default_parry_check(user, attacker, damage_source) && prob(50)) - user.visible_message("\The [user] parries [attack_text] with \the [src]!") + user.visible_message(span_danger("\The [user] parries [attack_text] with \the [src]!")) playsound(user, 'sound/weapons/punchmiss.ogg', 50, 1) return 1 - return 0 \ No newline at end of file + return 0 diff --git a/code/modules/projectiles/guns/energy/dominator_vr.dm b/code/modules/projectiles/guns/energy/dominator_vr.dm index 590e3abd926..89ac9c1536c 100644 --- a/code/modules/projectiles/guns/energy/dominator_vr.dm +++ b/code/modules/projectiles/guns/energy/dominator_vr.dm @@ -1,5 +1,5 @@ // -------------- Dominator ------------- -/obj/item/weapon/gun/energy/gun/fluff/dominator +/obj/item/gun/energy/gun/fluff/dominator name = "bulky energy gun" desc = "A MWPSB Dominator from the Federation. Like the basic Energy Gun, this gun has two settings. It is used by the United Federation Public Safety Bureau's Criminal Investigation Division. The weapon can only be fired by the owner and is alert-level locked." @@ -25,18 +25,18 @@ var/emagged = FALSE -/obj/item/weapon/gun/energy/gun/fluff/dominator/special_check(mob/user) +/obj/item/gun/energy/gun/fluff/dominator/special_check(mob/user) if(!emagged && mode_name == "lethal" && get_security_level() == "green") - to_chat(user,"The trigger refuses to depress while on the lethal setting under security level green!") + to_chat(user,span_warning("The trigger refuses to depress while on the lethal setting under security level green!")) return FALSE return ..() -/obj/item/weapon/gun/energy/gun/fluff/dominator/emag_act(var/remaining_charges,var/mob/user) +/obj/item/gun/energy/gun/fluff/dominator/emag_act(var/remaining_charges,var/mob/user) ..() if(!emagged) emagged = TRUE - to_chat(user,"You disable the alert level locking mechanism on \the [src]!") + to_chat(user,span_warning("You disable the alert level locking mechanism on \the [src]!")) return TRUE @@ -47,4 +47,4 @@ icon_state = "xray" muzzle_type = /obj/effect/projectile/muzzle/xray tracer_type = /obj/effect/projectile/tracer/xray - impact_type = /obj/effect/projectile/impact/xray \ No newline at end of file + impact_type = /obj/effect/projectile/impact/xray diff --git a/code/modules/projectiles/guns/energy/gunsword_vr.dm b/code/modules/projectiles/guns/energy/gunsword_vr.dm index 66efaabfc0a..1ba9f267e47 100644 --- a/code/modules/projectiles/guns/energy/gunsword_vr.dm +++ b/code/modules/projectiles/guns/energy/gunsword_vr.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/gun/energy/gun/fluff/gunsword +/obj/item/gun/energy/gun/fluff/gunsword name = "Sword Buster" desc = "The Sword Buster gun is custom built using the science behind a Golden Empire pistol. The cell can be removed in close range and used as energy shortsword." @@ -15,7 +15,7 @@ fire_sound = 'sound/weapons/Taser.ogg' charge_meter = 1 - cell_type = /obj/item/weapon/cell/device/weapon/gunsword + cell_type = /obj/item/cell/device/weapon/gunsword modifystate = "gbuster" @@ -27,7 +27,7 @@ // -----------------gunsword battery-------------------------- -/obj/item/weapon/cell/device/weapon/gunsword +/obj/item/cell/device/weapon/gunsword name = "Buster Cell" desc = "The Buster Cell. It doubles as a sword when activated outside the gun housing." icon = 'icons/vore/custom_guns_vr.dmi' @@ -58,7 +58,7 @@ var/lcolor = "#800080" -/obj/item/weapon/cell/device/weapon/gunsword/proc/activate(mob/living/user) +/obj/item/cell/device/weapon/gunsword/proc/activate(mob/living/user) if(active) return icon_state = "gsaber" @@ -77,7 +77,7 @@ -/obj/item/weapon/cell/device/weapon/gunsword/proc/deactivate(mob/living/user) +/obj/item/cell/device/weapon/gunsword/proc/deactivate(mob/living/user) if(!active) return playsound(src, 'sound/weapons/saberoff.ogg', 50, 1) @@ -95,12 +95,12 @@ attack_verb = null -/obj/item/weapon/cell/device/weapon/gunsword/attack_self(mob/living/user as mob) +/obj/item/cell/device/weapon/gunsword/attack_self(mob/living/user as mob) var/datum/gender/TU = gender_datums[user.get_visible_gender()] if (active) if ((CLUMSY in user.mutations) && prob(50)) - user.visible_message("\The [user] accidentally cuts [TU.himself] with \the [src].",\ - "You accidentally cut yourself with \the [src].") + user.visible_message(span_danger("\The [user] accidentally cuts [TU.himself] with \the [src]."),\ + span_danger("You accidentally cut yourself with \the [src].")) user.take_organ_damage(5,5) deactivate(user) update_icon() @@ -118,5 +118,5 @@ add_fingerprint(user) return -/obj/item/weapon/cell/device/weapon/gunsword/update_icon() - cut_overlays() \ No newline at end of file +/obj/item/cell/device/weapon/gunsword/update_icon() + cut_overlays() diff --git a/code/modules/projectiles/guns/energy/hooklauncher.dm b/code/modules/projectiles/guns/energy/hooklauncher.dm index ee2d44042a7..f2e63ac0a92 100644 --- a/code/modules/projectiles/guns/energy/hooklauncher.dm +++ b/code/modules/projectiles/guns/energy/hooklauncher.dm @@ -2,7 +2,7 @@ * Contains weapons primarily using the 'grappling hook' projectiles. */ -/obj/item/weapon/gun/energy/hooklauncher +/obj/item/gun/energy/hooklauncher name = "gravity whip" desc = "A large, strange gauntlet." icon = 'icons/obj/gun2.dmi' @@ -14,12 +14,12 @@ charge_cost = 300 charge_meter = FALSE - cell_type = /obj/item/weapon/cell/device/weapon + cell_type = /obj/item/cell/device/weapon projectile_type = /obj/item/projectile/energy/hook // An easily concealable not-ripoff version. It would be silenced, if it didn't make it blatant you're the one using it. -/obj/item/weapon/gun/energy/hooklauncher/ring +/obj/item/gun/energy/hooklauncher/ring name = "ominous ring" desc = "A small ring with strange symbols engraved upon it." icon = 'icons/inventory/hands/item.dmi' @@ -28,7 +28,7 @@ w_class = ITEMSIZE_TINY - cell_type = /obj/item/weapon/cell/device/weapon/recharge/alien + cell_type = /obj/item/cell/device/weapon/recharge/alien battery_lock = TRUE charge_cost = 400 diff --git a/code/modules/projectiles/guns/energy/kinetic_accelerator_vr.dm b/code/modules/projectiles/guns/energy/kinetic_accelerator_vr.dm index 40e9d37f96b..e9630040648 100644 --- a/code/modules/projectiles/guns/energy/kinetic_accelerator_vr.dm +++ b/code/modules/projectiles/guns/energy/kinetic_accelerator_vr.dm @@ -41,7 +41,7 @@ if(T.z in using_map.station_levels) . = FALSE -/obj/item/weapon/gun/energy/kinetic_accelerator +/obj/item/gun/energy/kinetic_accelerator name = "proto-kinetic accelerator" desc = "A self recharging, ranged mining tool that does increased damage in low pressure." icon = 'icons/obj/gun_vr.dmi' @@ -52,7 +52,7 @@ ) item_state = "kineticgun" // ammo_type = list(/obj/item/ammo_casing/energy/kinetic) - cell_type = /obj/item/weapon/cell/device/weapon/empproof + cell_type = /obj/item/cell/device/weapon/empproof item_flags = NONE charge_meter = FALSE // obj_flags = UNIQUE_RENAME @@ -80,7 +80,7 @@ var/recharge_timerid -/obj/item/weapon/gun/energy/kinetic_accelerator/consume_next_projectile() +/obj/item/gun/energy/kinetic_accelerator/consume_next_projectile() if(overheat) return . = ..() @@ -88,116 +88,116 @@ var/obj/item/projectile/P = . modify_projectile(P) -/obj/item/weapon/gun/energy/kinetic_accelerator/handle_post_fire(mob/user, atom/target, pointblank, reflex) +/obj/item/gun/energy/kinetic_accelerator/handle_post_fire(mob/user, atom/target, pointblank, reflex) . = ..() attempt_reload() -/obj/item/weapon/gun/energy/kinetic_accelerator/premiumka +/obj/item/gun/energy/kinetic_accelerator/premiumka name = "premium accelerator" desc = "A premium kinetic accelerator fitted with an extended barrel and increased pressure tank." icon_state = "premiumgun" item_state = "premiumgun" projectile_type = /obj/item/projectile/kinetic/premium -/obj/item/weapon/gun/energy/kinetic_accelerator/examine(mob/user) +/obj/item/gun/energy/kinetic_accelerator/examine(mob/user) . = ..() if(max_mod_capacity) - . += "[get_remaining_mod_capacity()]% mod capacity remaining." + . += span_bold("[get_remaining_mod_capacity()]%") + " mod capacity remaining." for(var/A in get_modkits()) var/obj/item/borg/upgrade/modkit/M = A - . += "There is \a [M] installed, using [M.cost]% capacity." + . += span_notice("There is \a [M] installed, using [M.cost]% capacity.") -/obj/item/weapon/gun/energy/kinetic_accelerator/Exited(atom/movable/AM) +/obj/item/gun/energy/kinetic_accelerator/Exited(atom/movable/AM) . = ..() if((AM in modkits) && istype(AM, /obj/item/borg/upgrade/modkit)) var/obj/item/borg/upgrade/modkit/M = AM M.uninstall(src, FALSE) -/obj/item/weapon/gun/energy/kinetic_accelerator/attackby(obj/item/I, mob/user) +/obj/item/gun/energy/kinetic_accelerator/attackby(obj/item/I, mob/user) if(I.has_tool_quality(TOOL_CROWBAR)) if(modkits.len) - to_chat(user, "You pry the modifications out.") + to_chat(user, span_notice("You pry the modifications out.")) playsound(loc, I.usesound, 100, 1) for(var/obj/item/borg/upgrade/modkit/M in modkits) M.uninstall(src) else - to_chat(user, "There are no modifications currently installed.") + to_chat(user, span_notice("There are no modifications currently installed.")) if(istype(I, /obj/item/borg/upgrade/modkit)) var/obj/item/borg/upgrade/modkit/MK = I MK.install(src, user) else ..() -/obj/item/weapon/gun/energy/kinetic_accelerator/proc/get_remaining_mod_capacity() +/obj/item/gun/energy/kinetic_accelerator/proc/get_remaining_mod_capacity() var/current_capacity_used = 0 for(var/A in get_modkits()) var/obj/item/borg/upgrade/modkit/M = A current_capacity_used += M.cost return max_mod_capacity - current_capacity_used -/obj/item/weapon/gun/energy/kinetic_accelerator/proc/get_modkits() +/obj/item/gun/energy/kinetic_accelerator/proc/get_modkits() . = list() for(var/A in modkits) . += A -/obj/item/weapon/gun/energy/kinetic_accelerator/proc/modify_projectile(obj/item/projectile/kinetic/K) +/obj/item/gun/energy/kinetic_accelerator/proc/modify_projectile(obj/item/projectile/kinetic/K) K.kinetic_gun = src //do something special on-hit, easy! for(var/A in get_modkits()) var/obj/item/borg/upgrade/modkit/M = A M.modify_projectile(K) -/obj/item/weapon/gun/energy/kinetic_accelerator/cyborg +/obj/item/gun/energy/kinetic_accelerator/cyborg holds_charge = TRUE unique_frequency = TRUE -/obj/item/weapon/gun/energy/kinetic_accelerator/cyborg/Destroy() +/obj/item/gun/energy/kinetic_accelerator/cyborg/Destroy() for(var/obj/item/borg/upgrade/modkit/M in modkits) M.uninstall(src) return ..() -/obj/item/weapon/gun/energy/kinetic_accelerator/premiumka/cyborg +/obj/item/gun/energy/kinetic_accelerator/premiumka/cyborg holds_charge = TRUE unique_frequency = TRUE -/obj/item/weapon/gun/energy/kinetic_accelerator/premiumka/cyborg/Destroy() +/obj/item/gun/energy/kinetic_accelerator/premiumka/cyborg/Destroy() for(var/obj/item/borg/upgrade/modkit/M in modkits) M.uninstall(src) return ..() -/obj/item/weapon/gun/energy/kinetic_accelerator/minebot +/obj/item/gun/energy/kinetic_accelerator/minebot // trigger_guard = TRIGGER_GUARD_ALLOW_ALL overheat_time = 20 holds_charge = TRUE unique_frequency = TRUE -/obj/item/weapon/gun/energy/kinetic_accelerator/Initialize() +/obj/item/gun/energy/kinetic_accelerator/Initialize() . = ..() if(!holds_charge) empty() AddElement(/datum/element/conflict_checking, CONFLICT_ELEMENT_KA) -/obj/item/weapon/gun/energy/kinetic_accelerator/equipped(mob/user) +/obj/item/gun/energy/kinetic_accelerator/equipped(mob/user) . = ..() if(power_supply.charge < charge_cost) attempt_reload() -/obj/item/weapon/gun/energy/kinetic_accelerator/dropped(mob/user) +/obj/item/gun/energy/kinetic_accelerator/dropped(mob/user) . = ..() if(!QDELING(src) && !holds_charge) // Put it on a delay because moving item from slot to hand // calls dropped(). addtimer(CALLBACK(src, PROC_REF(empty_if_not_held)), 2) -/obj/item/weapon/gun/energy/kinetic_accelerator/proc/empty_if_not_held() +/obj/item/gun/energy/kinetic_accelerator/proc/empty_if_not_held() if(!ismob(loc) && !istype(loc, /obj/item/integrated_circuit)) empty() -/obj/item/weapon/gun/energy/kinetic_accelerator/proc/empty() +/obj/item/gun/energy/kinetic_accelerator/proc/empty() if(power_supply) power_supply.use(power_supply.charge) update_icon() -/obj/item/weapon/gun/energy/kinetic_accelerator/proc/attempt_reload(recharge_time) +/obj/item/gun/energy/kinetic_accelerator/proc/attempt_reload(recharge_time) if(!power_supply) return if(overheat) @@ -212,20 +212,20 @@ deltimer(recharge_timerid) recharge_timerid = addtimer(CALLBACK(src, PROC_REF(reload)), recharge_time * carried, TIMER_STOPPABLE) -/obj/item/weapon/gun/energy/kinetic_accelerator/emp_act(severity) +/obj/item/gun/energy/kinetic_accelerator/emp_act(severity) return -/obj/item/weapon/gun/energy/kinetic_accelerator/proc/reload() +/obj/item/gun/energy/kinetic_accelerator/proc/reload() power_supply.give(power_supply.maxcharge) // process_chamber() // if(!suppressed) playsound(src, 'sound/weapons/kenetic_reload.ogg', 60, 1) // else - // to_chat(loc, "[src] silently charges up.") + // to_chat(loc, span_warning("[src] silently charges up.")) overheat = FALSE update_icon() -/obj/item/weapon/gun/energy/kinetic_accelerator/update_icon() +/obj/item/gun/energy/kinetic_accelerator/update_icon() cut_overlays() if(overheat || !power_supply || (power_supply.charge == 0)) add_overlay(emptystate) @@ -247,7 +247,7 @@ var/pressure_decrease_active = FALSE var/pressure_decrease = 1/3 var/environment = KA_ENVIRO_TYPE_COLD - var/obj/item/weapon/gun/energy/kinetic_accelerator/kinetic_gun + var/obj/item/gun/energy/kinetic_accelerator/kinetic_gun /obj/item/projectile/kinetic/premium damage = 40 @@ -365,23 +365,23 @@ /obj/item/borg/upgrade/modkit/examine(mob/user) . = ..() - . += "Occupies [cost]% of mod capacity." + . += span_notice("Occupies [cost]% of mod capacity.") /obj/item/borg/upgrade/modkit/attackby(obj/item/A, mob/user) - if(istype(A, /obj/item/weapon/gun/energy/kinetic_accelerator)) + if(istype(A, /obj/item/gun/energy/kinetic_accelerator)) install(A, user) else ..() /* /obj/item/borg/upgrade/modkit/afterInstall(mob/living/silicon/robot/R) - for(var/obj/item/weapon/gun/energy/kinetic_accelerator/H in R.module.modules) + for(var/obj/item/gun/energy/kinetic_accelerator/H in R.module.modules) if(install(H, R)) //It worked return - to_chat(R, "Upgrade error - Aborting Kinetic Accelerator linking.") //No applicable KA found, insufficient capacity, or some other problem. + to_chat(R, span_warning("Upgrade error - Aborting Kinetic Accelerator linking.")) //No applicable KA found, insufficient capacity, or some other problem. */ -/obj/item/borg/upgrade/modkit/proc/install(obj/item/weapon/gun/energy/kinetic_accelerator/KA, mob/user) +/obj/item/borg/upgrade/modkit/proc/install(obj/item/gun/energy/kinetic_accelerator/KA, mob/user) . = TRUE if(src in KA.modkits) // Sanity check to prevent installing the same modkit twice thanks to occasional click/lag delays. return FALSE @@ -399,16 +399,16 @@ user.drop_from_inventory(src, KA) // if(!user.transferItemToLoc(src, KA)) // return FALSE - to_chat(user, "You install the modkit.") + to_chat(user, span_notice("You install the modkit.")) playsound(loc, 'sound/items/screwdriver.ogg', 100, 1) KA.modkits += src else - to_chat(user, "The modkit you're trying to install would conflict with an already installed modkit. Use a crowbar to remove existing modkits.") + to_chat(user, span_notice("The modkit you're trying to install would conflict with an already installed modkit. Use a crowbar to remove existing modkits.")) else - to_chat(user, "You don't have room([KA.get_remaining_mod_capacity()]% remaining, [cost]% needed) to install this modkit. Use a crowbar to remove existing modkits.") + to_chat(user, span_notice("You don't have room([KA.get_remaining_mod_capacity()]% remaining, [cost]% needed) to install this modkit. Use a crowbar to remove existing modkits.")) . = FALSE -/obj/item/borg/upgrade/modkit/proc/uninstall(obj/item/weapon/gun/energy/kinetic_accelerator/KA, forcemove = TRUE) +/obj/item/borg/upgrade/modkit/proc/uninstall(obj/item/gun/energy/kinetic_accelerator/KA, forcemove = TRUE) KA.modkits -= src if(forcemove) forceMove(get_turf(KA)) @@ -416,11 +416,11 @@ //use this one to modify the projectile itself /obj/item/borg/upgrade/modkit/proc/modify_projectile(obj/item/projectile/kinetic/K) //use this one for effects you want to trigger before any damage is done at all and before damage is decreased by pressure -/obj/item/borg/upgrade/modkit/proc/projectile_prehit(obj/item/projectile/kinetic/K, atom/target, obj/item/weapon/gun/energy/kinetic_accelerator/KA) +/obj/item/borg/upgrade/modkit/proc/projectile_prehit(obj/item/projectile/kinetic/K, atom/target, obj/item/gun/energy/kinetic_accelerator/KA) //use this one for effects you want to trigger before mods that do damage -/obj/item/borg/upgrade/modkit/proc/projectile_strike_predamage(obj/item/projectile/kinetic/K, turf/target_turf, atom/target, obj/item/weapon/gun/energy/kinetic_accelerator/KA) +/obj/item/borg/upgrade/modkit/proc/projectile_strike_predamage(obj/item/projectile/kinetic/K, turf/target_turf, atom/target, obj/item/gun/energy/kinetic_accelerator/KA) //and this one for things that don't need to trigger before other damage-dealing mods -/obj/item/borg/upgrade/modkit/proc/projectile_strike(obj/item/projectile/kinetic/K, turf/target_turf, atom/target, obj/item/weapon/gun/energy/kinetic_accelerator/KA) +/obj/item/borg/upgrade/modkit/proc/projectile_strike(obj/item/projectile/kinetic/K, turf/target_turf, atom/target, obj/item/gun/energy/kinetic_accelerator/KA) //Range /obj/item/borg/upgrade/modkit/range @@ -451,7 +451,7 @@ minebot_upgrade = FALSE var/decreased -/obj/item/borg/upgrade/modkit/cooldown/install(obj/item/weapon/gun/energy/kinetic_accelerator/KA, mob/user) +/obj/item/borg/upgrade/modkit/cooldown/install(obj/item/gun/energy/kinetic_accelerator/KA, mob/user) . = ..() if(.) var/old = KA.overheat_time @@ -459,7 +459,7 @@ decreased = old - KA.overheat_time -/obj/item/borg/upgrade/modkit/cooldown/uninstall(obj/item/weapon/gun/energy/kinetic_accelerator/KA) +/obj/item/borg/upgrade/modkit/cooldown/uninstall(obj/item/gun/energy/kinetic_accelerator/KA) KA.overheat_time += decreased ..() @@ -481,7 +481,7 @@ var/turf_aoe = FALSE var/stats_stolen = FALSE -/obj/item/borg/upgrade/modkit/aoe/install(obj/item/weapon/gun/energy/kinetic_accelerator/KA, mob/user) +/obj/item/borg/upgrade/modkit/aoe/install(obj/item/gun/energy/kinetic_accelerator/KA, mob/user) . = ..() if(.) for(var/obj/item/borg/upgrade/modkit/aoe/AOE in KA.modkits) //make sure only one of the aoe modules has values if somebody has multiple @@ -493,7 +493,7 @@ AOE.turf_aoe = FALSE AOE.stats_stolen = TRUE -/obj/item/borg/upgrade/modkit/aoe/uninstall(obj/item/weapon/gun/energy/kinetic_accelerator/KA) +/obj/item/borg/upgrade/modkit/aoe/uninstall(obj/item/gun/energy/kinetic_accelerator/KA) ..() modifier = initial(modifier) //get our modifiers back turf_aoe = initial(turf_aoe) @@ -502,7 +502,7 @@ /obj/item/borg/upgrade/modkit/aoe/modify_projectile(obj/item/projectile/kinetic/K) K.name = "kinetic explosion" -/obj/item/borg/upgrade/modkit/aoe/projectile_strike(obj/item/projectile/kinetic/K, turf/target_turf, atom/target, obj/item/weapon/gun/energy/kinetic_accelerator/KA) +/obj/item/borg/upgrade/modkit/aoe/projectile_strike(obj/item/projectile/kinetic/K, turf/target_turf, atom/target, obj/item/gun/energy/kinetic_accelerator/KA) if(stats_stolen) return new /obj/effect/temp_visual/explosion/fast(target_turf) @@ -517,7 +517,7 @@ // var/armor = L.run_armor_check(K.def_zone, K.flag, null, null, K.armour_penetration) L.apply_damage(K.damage*modifier, K.damage_type, K.def_zone, armor) // L.apply_damage(K.damage*modifier, K.damage_type, K.def_zone, armor) - to_chat(L, "You're struck by a [K.name]!") + to_chat(L, span_userdanger("You're struck by a [K.name]!")) /obj/item/borg/upgrade/modkit/aoe/turfs name = "mining explosion" @@ -550,7 +550,7 @@ modifier = -14 //Makes the cooldown 3 seconds(with no cooldown mods) if you miss. Don't miss. cost = 50 -/obj/item/borg/upgrade/modkit/cooldown/repeater/projectile_strike_predamage(obj/item/projectile/kinetic/K, turf/target_turf, atom/target, obj/item/weapon/gun/energy/kinetic_accelerator/KA) +/obj/item/borg/upgrade/modkit/cooldown/repeater/projectile_strike_predamage(obj/item/projectile/kinetic/K, turf/target_turf, atom/target, obj/item/gun/energy/kinetic_accelerator/KA) var/valid_repeat = FALSE if(isliving(target)) var/mob/living/L = target @@ -571,7 +571,7 @@ cost = 20 var/static/list/damage_heal_order = list(BRUTE, BURN, OXY) -/obj/item/borg/upgrade/modkit/lifesteal/projectile_prehit(obj/item/projectile/kinetic/K, atom/target, obj/item/weapon/gun/energy/kinetic_accelerator/KA) +/obj/item/borg/upgrade/modkit/lifesteal/projectile_prehit(obj/item/projectile/kinetic/K, atom/target, obj/item/gun/energy/kinetic_accelerator/KA) if(isliving(target) && isliving(K.firer)) var/mob/living/L = target if(L.stat == DEAD) @@ -587,7 +587,7 @@ cost = 30 modifier = 0.25 //A bonus 15 damage if you burst the field on a target, 60 if you lure them into it. -/obj/item/borg/upgrade/modkit/resonator_blasts/projectile_strike(obj/item/projectile/kinetic/K, turf/target_turf, atom/target, obj/item/weapon/gun/energy/kinetic_accelerator/KA) +/obj/item/borg/upgrade/modkit/resonator_blasts/projectile_strike(obj/item/projectile/kinetic/K, turf/target_turf, atom/target, obj/item/gun/energy/kinetic_accelerator/KA) if(target_turf && !ismineralturf(target_turf)) //Don't make fields on mineral turfs. var/obj/effect/resonance/R = locate(/obj/effect/resonance) in target_turf if(R) @@ -606,7 +606,7 @@ var/maximum_bounty = 25 var/list/bounties_reaped = list() -/obj/item/borg/upgrade/modkit/bounty/projectile_prehit(obj/item/projectile/kinetic/K, atom/target, obj/item/weapon/gun/energy/kinetic_accelerator/KA) +/obj/item/borg/upgrade/modkit/bounty/projectile_prehit(obj/item/projectile/kinetic/K, atom/target, obj/item/gun/energy/kinetic_accelerator/KA) if(isliving(target)) var/mob/living/L = target var/list/existing_marks = L.has_status_effect_list(STATUS_EFFECT_SYPHONMARK) @@ -617,7 +617,7 @@ qdel(SM) L.apply_status_effect(STATUS_EFFECT_SYPHONMARK, src) -/obj/item/borg/upgrade/modkit/bounty/projectile_strike(obj/item/projectile/kinetic/K, turf/target_turf, atom/target, obj/item/weapon/gun/energy/kinetic_accelerator/KA) +/obj/item/borg/upgrade/modkit/bounty/projectile_strike(obj/item/projectile/kinetic/K, turf/target_turf, atom/target, obj/item/gun/energy/kinetic_accelerator/KA) if(isliving(target)) var/mob/living/L = target if(bounties_reaped[L.type]) @@ -681,12 +681,12 @@ cost = 20 denied_type = /obj/item/borg/upgrade/modkit/trigger_guard -/obj/item/borg/upgrade/modkit/trigger_guard/install(obj/item/weapon/gun/energy/kinetic_accelerator/KA, mob/user) +/obj/item/borg/upgrade/modkit/trigger_guard/install(obj/item/gun/energy/kinetic_accelerator/KA, mob/user) . = ..() if(.) KA.trigger_guard = TRIGGER_GUARD_ALLOW_ALL -/obj/item/borg/upgrade/modkit/trigger_guard/uninstall(obj/item/weapon/gun/energy/kinetic_accelerator/KA) +/obj/item/borg/upgrade/modkit/trigger_guard/uninstall(obj/item/gun/energy/kinetic_accelerator/KA) KA.trigger_guard = TRIGGER_GUARD_NORMAL ..() */ @@ -701,13 +701,13 @@ var/chassis_icon = "kineticgun_u" var/chassis_name = "super-kinetic accelerator" -/obj/item/borg/upgrade/modkit/chassis_mod/install(obj/item/weapon/gun/energy/kinetic_accelerator/KA, mob/user) +/obj/item/borg/upgrade/modkit/chassis_mod/install(obj/item/gun/energy/kinetic_accelerator/KA, mob/user) . = ..() if(.) KA.icon_state = chassis_icon KA.name = chassis_name -/obj/item/borg/upgrade/modkit/chassis_mod/uninstall(obj/item/weapon/gun/energy/kinetic_accelerator/KA) +/obj/item/borg/upgrade/modkit/chassis_mod/uninstall(obj/item/gun/energy/kinetic_accelerator/KA) KA.icon_state = initial(KA.icon_state) KA.name = initial(KA.name) ..() diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index b854b855ab3..0e321eb0eed 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -1,7 +1,7 @@ /* * Laser Rifle */ -/obj/item/weapon/gun/energy/laser +/obj/item/gun/energy/laser name = "laser rifle" desc = "A Hephaestus Industries G40E rifle, designed to kill with concentrated energy blasts. This variant has the ability to \ switch between standard fire and a more efficent but weaker 'suppressive' fire." @@ -23,15 +23,15 @@ list(mode_name="suppressive", fire_delay=5, projectile_type=/obj/item/projectile/beam/weaklaser, charge_cost = 60), ) -/obj/item/weapon/gun/energy/laser/empty +/obj/item/gun/energy/laser/empty cell_type = null -/obj/item/weapon/gun/energy/laser/mounted +/obj/item/gun/energy/laser/mounted self_recharge = 1 use_external_power = 1 one_handed_penalty = 0 // Not sure if two-handing gets checked for mounted weapons, but better safe than sorry. -/obj/item/weapon/gun/energy/laser/mounted/augment +/obj/item/gun/energy/laser/mounted/augment name = "arm-laser" desc = "A cruel malformation of a Hephaestus Industries G40E rifle, designed to kill with concentrated energy blasts, all while being stowable in the arm. This variant has the ability to \ switch between standard fire and a more efficent but weaker 'suppressive' fire." @@ -43,13 +43,13 @@ one_handed_penalty = 5 battery_lock = 1 -/obj/item/weapon/gun/energy/laser/practice +/obj/item/gun/energy/laser/practice name = "practice laser carbine" desc = "A modified version of the HI G40E, this one fires less concentrated energy bolts designed for target practice." projectile_type = /obj/item/projectile/beam/practice charge_cost = 48 - cell_type = /obj/item/weapon/cell/device + cell_type = /obj/item/cell/device firemodes = list( list(mode_name="normal", projectile_type=/obj/item/projectile/beam/practice, charge_cost = 48), @@ -59,7 +59,7 @@ /* * Sleek Laser Rifle */ -/obj/item/weapon/gun/energy/laser/sleek +/obj/item/gun/energy/laser/sleek name = "\improper LR1 \"Shishi\"" desc = "A Bishamonten Company LR1 \"Shishi\" rifle, a rare early 23rd century futurist design with a nonetheless timeless ability to kill." description_fluff = "Bisamonten was arms company that operated from roughly 2150-2280 - the height of the first extrasolar colonisation boom - before filing for \ @@ -73,7 +73,7 @@ /* * Retro Laser Rifle */ -/obj/item/weapon/gun/energy/retro +/obj/item/gun/energy/retro name = "retro laser" icon_state = "retro" item_state = "retro" @@ -83,18 +83,18 @@ projectile_type = /obj/item/projectile/beam fire_delay = 10 //old technology -/obj/item/weapon/gun/energy/retro/mounted +/obj/item/gun/energy/retro/mounted self_recharge = 1 use_external_power = 1 -/obj/item/weapon/gun/energy/retro/empty +/obj/item/gun/energy/retro/empty icon_state = "retro" cell_type = null /* * Alien Pistol */ -/obj/item/weapon/gun/energy/alien +/obj/item/gun/energy/alien name = "alien pistol" desc = "A weapon that works very similarly to a traditional energy weapon. How this came to be will likely be a mystery for the ages." catalogue_data = list(/datum/category_item/catalogue/anomalous/precursor_a/alien_pistol) @@ -104,7 +104,7 @@ charge_cost = 480 // Five shots. projectile_type = /obj/item/projectile/beam/cyan - cell_type = /obj/item/weapon/cell/device/weapon/recharge/alien // Self charges. + cell_type = /obj/item/cell/device/weapon/recharge/alien // Self charges. origin_tech = list(TECH_COMBAT = 8, TECH_MAGNET = 7) modifystate = "alienpistol" @@ -139,7 +139,7 @@ /* * Antique Laser Gun */ -/obj/item/weapon/gun/energy/captain +/obj/item/gun/energy/captain name = "antique laser gun" icon_state = "caplaser" item_state = "caplaser" @@ -155,12 +155,12 @@ origin_tech = null fire_delay = 10 //Old pistol charge_cost = 480 //to compensate a bit for self-recharging - cell_type = /obj/item/weapon/cell/device/weapon/recharge/captain + cell_type = /obj/item/cell/device/weapon/recharge/captain battery_lock = 1 var/remainingshots = 0 //you may get a limited number of shots regardless of the charge var/failurechance = 0 //chance per shot of something going awry -/obj/item/weapon/gun/energy/captain/Initialize() +/obj/item/gun/energy/captain/Initialize() //it's an antique and it's been sitting in a case, unmaintained, for who the hell knows how long - who knows what'll happen when you pull it out? ..() //first, we decide, does it have a different type of beam? 75% of just being a 40-damage laser, 15% of being less or 0, 10% of being better @@ -184,7 +184,7 @@ if(remainingshots || failurechance) desc = "A rare weapon, produced by the Lunar Arms Company around 2105 - one of humanity's first wholly extra-terrestrial weapon designs. It's been reasonably well-preserved." -/obj/item/weapon/gun/energy/captain/special_check(var/mob/user) +/obj/item/gun/energy/captain/special_check(var/mob/user) if(remainingshots) remainingshots -= 1 if(!remainingshots) //you've shot your load, sonny @@ -195,20 +195,20 @@ return 0 return ..() -/obj/item/weapon/gun/energy/captain/proc/burnout(var/mob/user) +/obj/item/gun/energy/captain/proc/burnout(var/mob/user) //your gun is now rendered useless projectile_type = /obj/item/projectile/beam/practice //just in case you somehow manage to get it to fire again, its beam type is set to one that sucks power_supply.charge = 0 power_supply.maxcharge = 1 //just to avoid div/0 runtimes desc = "A rare weapon, produced by the Lunar Arms Company around 2105 - one of humanity's first wholly extra-terrestrial weapon designs. It looks to have completely burned out." - user.visible_message("\The [src] erupts in a shower of sparks!", "\the [src] bursts into a shower of sparks!") + user.visible_message(span_warning("\The [src] erupts in a shower of sparks!"), span_danger("\the [src] bursts into a shower of sparks!")) var/turf/T = get_turf(src) var/datum/effect/effect/system/spark_spread/sparks = new /datum/effect/effect/system/spark_spread() sparks.set_up(2, 1, T) sparks.start() update_icon() -/obj/item/weapon/gun/energy/captain/proc/malfunction(var/mob/user) +/obj/item/gun/energy/captain/proc/malfunction(var/mob/user) var/screwup = rand(1,10) switch(screwup) if(1 to 5) //50% of just draining the battery and making future malfunctions more likely @@ -218,7 +218,7 @@ sparks.set_up(2, 1, T) sparks.start() update_icon() - user.visible_message("\The [src] shorts out!", "\the [src] shorts out!") + user.visible_message(span_warning("\The [src] shorts out!"), span_danger("\the [src] shorts out!")) failurechance += rand(1,5) return if(6 to 7) //20% chance of weakening the beam type, possibly to uselessness @@ -238,18 +238,18 @@ projectile_type = /obj/item/projectile/beam/heavylaser if(81 to 100) //pulse becomes cannon projectile_type = /obj/item/projectile/beam/heavylaser/cannon - user.visible_message("\The [src] dims slightly!", "\the [src] dims slightly!") + user.visible_message(span_warning("\The [src] dims slightly!"), span_danger("\the [src] dims slightly!")) return if(8) //10% chance of reducing the number of shots you have left, or giving you a limit if there isn't one if(!remainingshots) remainingshots = rand(1,40) else remainingshots = min(1, round(remainingshots/2)) - user.visible_message("\The [src] lets out a faint pop.", "\the [src] lets out a faint pop.") + user.visible_message(span_warning("\The [src] lets out a faint pop."), span_danger("\the [src] lets out a faint pop.")) if(9) //10% chance of permanently reducing the cell's max charge power_supply.maxcharge = power_supply.maxcharge/2 power_supply.charge = min(power_supply.charge, power_supply.maxcharge) - user.visible_message("\The [src] sparks,letting off a puff of smoke!", "\the [src] sparks,letting off a puff of smoke!") + user.visible_message(span_warning("\The [src] sparks,letting off a puff of smoke!"), span_danger("\the [src] sparks,letting off a puff of smoke!")) var/turf/T = get_turf(src) var/datum/effect/effect/system/spark_spread/sparks = new /datum/effect/effect/system/spark_spread() sparks.set_up(2, 1, T) @@ -263,7 +263,7 @@ /* * Laser Cannon */ -/obj/item/weapon/gun/energy/lasercannon +/obj/item/gun/energy/lasercannon name = "laser cannon" desc = "With the laser cannon, the lasing medium is enclosed in a tube lined with uranium-235 and subjected to high neutron \ flux in a nuclear reactor core. This incredible technology may help YOU achieve high excitation rates with small laser volumes!" @@ -280,7 +280,7 @@ accuracy = 45 charge_cost = 600 -/obj/item/weapon/gun/energy/lasercannon/mounted +/obj/item/gun/energy/lasercannon/mounted name = "mounted laser cannon" self_recharge = 1 use_external_power = 1 @@ -294,7 +294,7 @@ /* * X-ray */ -/obj/item/weapon/gun/energy/xray +/obj/item/gun/energy/xray name = "xray laser gun" desc = "A high-power laser gun capable of expelling concentrated xray blasts, which are able to penetrate matter easier than \ standard photonic beams, resulting in an effective 'anti-armor' energy weapon." @@ -307,7 +307,7 @@ /* * Marksman Rifle */ -/obj/item/weapon/gun/energy/sniperrifle +/obj/item/gun/energy/sniperrifle name = "marksman energy rifle" desc = "The HI DMR 9E is an older design of Hephaestus Industries. A designated marksman rifle capable of shooting powerful \ ionized beams, this is a weapon to kill from a distance." @@ -319,7 +319,7 @@ origin_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 5, TECH_POWER = 4) projectile_type = /obj/item/projectile/beam/sniper slot_flags = SLOT_BACK - action_button_name = "Use Scope" + actions_types = list(/datum/action/item_action/use_scope) battery_lock = 1 charge_cost = 600 fire_delay = 35 @@ -329,10 +329,10 @@ scoped_accuracy = 50 one_handed_penalty = 60 // The weapon itself is heavy, and the long barrel makes it hard to hold steady with just one hand. -/obj/item/weapon/gun/energy/sniperrifle/ui_action_click() +/obj/item/gun/energy/sniperrifle/ui_action_click(mob/user, actiontype) scope() -/obj/item/weapon/gun/energy/sniperrifle/verb/scope() +/obj/item/gun/energy/sniperrifle/verb/scope() set category = "Object" set name = "Use Scope" set popup_menu = 1 @@ -342,7 +342,7 @@ /* * Laser Scattergun (proof of concept) */ -/obj/item/weapon/gun/energy/lasershotgun +/obj/item/gun/energy/lasershotgun name = "laser scattergun" icon = 'icons/obj/energygun.dmi' item_state = "laser" @@ -355,7 +355,7 @@ /* * Imperial Pistol */ -/obj/item/weapon/gun/energy/imperial +/obj/item/gun/energy/imperial name = "imperial energy pistol" desc = "An elegant weapon developed by the Imperium Auream. Their weaponsmiths have cleverly found a way to make a gun that \ is only about the size of an average energy pistol, yet with the fire power of a laser carbine." @@ -374,7 +374,7 @@ /* * Mining-Laser Rifle */ -/obj/item/weapon/gun/energy/mininglaser +/obj/item/gun/energy/mininglaser name = "mining-laser rifle" desc = "An industrial grade mining laser. Comes with a built-in 'stun' mode for encounters with local wildlife." icon = 'icons/obj/gun.dmi' @@ -396,7 +396,7 @@ /* * Old Laser Rifle */ -/obj/item/weapon/gun/energy/laser/old +/obj/item/gun/energy/laser/old name = "vintage laser rifle" desc = "A Hephaestus Industries G32E rifle, designed to kill with concentrated energy blasts. This older model laser rifle only has one firemode." description_fluff = "The leading arms producer in the SCG, Hephaestus typically only uses its 'top level' branding for its military-grade \ @@ -414,7 +414,7 @@ /* * Mono-Rifle */ -/obj/item/weapon/gun/energy/monorifle +/obj/item/gun/energy/monorifle name = "antique mono-rifle" desc = "An old model laser rifle with a nice wood finish. This weapon was only designed to fire once before requiring a recharge." description_fluff = "Modeled after ancient hunting rifles designs, this rifle was dubbed the 'Rainy Day Special' by some, due to its use as the \ @@ -424,7 +424,7 @@ origin_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 4, TECH_POWER = 3) projectile_type = /obj/item/projectile/beam/sniper slot_flags = SLOT_BACK - action_button_name = "Aim Down Sights" + actions_types = list(/datum/action/item_action/aim_down_sights) charge_cost = 2400 fire_delay = 20 force = 8 @@ -434,17 +434,17 @@ charge_meter = FALSE var/scope_multiplier = 1.5 -/obj/item/weapon/gun/energy/monorifle/ui_action_click() +/obj/item/gun/energy/monorifle/ui_action_click(mob/user, actiontype) sights() -/obj/item/weapon/gun/energy/monorifle/verb/sights() +/obj/item/gun/energy/monorifle/verb/sights() set category = "Object" set name = "Aim Down Sights" set popup_menu = 1 toggle_scope(scope_multiplier) -/obj/item/weapon/gun/energy/monorifle/combat +/obj/item/gun/energy/monorifle/combat name = "combat mono-rifle" desc = "A modernized version of the classic mono-rifle. This one has an optimized capacitor bank that allows the rifle to fire twice before requiring a recharge." description_fluff = "A modern design of a classic rifle produced by a small arms company operating out of Saint Columbia. It was based on the \ @@ -454,4 +454,4 @@ charge_cost = 1200 force = 12 accuracy = 0 - scoped_accuracy = 20 \ No newline at end of file + scoped_accuracy = 20 diff --git a/code/modules/projectiles/guns/energy/laser_yw.dm b/code/modules/projectiles/guns/energy/laser_yw.dm index 7957a0ad892..d1c38cc96de 100644 --- a/code/modules/projectiles/guns/energy/laser_yw.dm +++ b/code/modules/projectiles/guns/energy/laser_yw.dm @@ -1,5 +1,5 @@ ///START OF GAUSS WEAPONRY -Radiantflash /// -/obj/item/weapon/gun/energy/soapenergy/gauss +/obj/item/gun/energy/soapenergy/gauss name = "gauss pistol" icon = 'icons/obj/gun_yw.dmi' icon_state = "gausspistol" @@ -16,7 +16,7 @@ charge_meter = 1 fire_delay = 10 //old technology -/obj/item/weapon/gun/energy/soapenergy/gaussrifle +/obj/item/gun/energy/soapenergy/gaussrifle name = "gauss rifle" icon = 'icons/obj/gun_yw.dmi' icon_state = "gaussrifle" diff --git a/code/modules/projectiles/guns/energy/netgun_vr.dm b/code/modules/projectiles/guns/energy/netgun_vr.dm index d072be2c55c..0478a50a1b2 100644 --- a/code/modules/projectiles/guns/energy/netgun_vr.dm +++ b/code/modules/projectiles/guns/energy/netgun_vr.dm @@ -1,6 +1,6 @@ //Contains the Energy Net Gun code and information/lore -/obj/item/weapon/gun/energy/netgun +/obj/item/gun/energy/netgun name = "energy net gun" desc = "Specially made-to-order by Hephaestus, the \"Varmint Catcher\" is designed to trap even the most unruly of creatures for safe transport." //YW edit - small change to description description_fluff = "The Hephaestus Brand XX-1 Energy Net Cannon is a marvel of technology that is used heavily by several departments within NanoTrasen. \ @@ -17,7 +17,7 @@ charge_cost = 800 fire_delay = 50 -/obj/item/weapon/gun/energy/netgun/update_icon() +/obj/item/gun/energy/netgun/update_icon() if(power_supply == null) if(modifystate) icon_state = "[modifystate]_open" diff --git a/code/modules/projectiles/guns/energy/netgun_yw.dm b/code/modules/projectiles/guns/energy/netgun_yw.dm index 8c463b3300e..58fe21dae19 100644 --- a/code/modules/projectiles/guns/energy/netgun_yw.dm +++ b/code/modules/projectiles/guns/energy/netgun_yw.dm @@ -1,5 +1,5 @@ -/obj/item/weapon/gun/energy/hunter +/obj/item/gun/energy/hunter name = "Hybrid 'Hunter' net gun" desc = "A Hephaestus-designed hybrid of a taser and the energy net gun, usually dubbed 'Hunter' stunner and energy net launcher, \ for when you want criminals to stop acting like they're on a 20th century British comedy sketch show." @@ -21,7 +21,7 @@ list(mode_name="capture", projectile_type=/obj/item/projectile/beam/energy_net, fire_sound = 'sound/weapons/eluger.ogg', charge_cost=1200, fire_delay=50) ) -/obj/item/weapon/gun/energy/hunter/update_icon() +/obj/item/gun/energy/hunter/update_icon() overlays.Cut() if(power_supply) diff --git a/code/modules/projectiles/guns/energy/nuclear.dm b/code/modules/projectiles/guns/energy/nuclear.dm index 92e91b58aa7..224141ab0c2 100644 --- a/code/modules/projectiles/guns/energy/nuclear.dm +++ b/code/modules/projectiles/guns/energy/nuclear.dm @@ -1,7 +1,7 @@ /* * Energy Gun */ -/obj/item/weapon/gun/energy/gun +/obj/item/gun/energy/gun name = "energy gun" desc = "Another bestseller of Lawson Arms, the LAEP80 Thor is a versatile energy based pistol, capable of switching between low and high \ capacity projectile settings. In other words: Stun or Kill." @@ -23,7 +23,7 @@ /* * Energy Rifle */ -/obj/item/weapon/gun/energy/gun/rifle +/obj/item/gun/energy/gun/rifle name = "energy rifle" desc = "Another bestseller of Lawson Arms, the LAEP100 Svarog is a versatile energy rifle, capable of switching between low and high capacity \ projectile settings. In other words: Stun or Kill." @@ -47,7 +47,7 @@ /* * Energy Carbine (Burst Laser) */ -/obj/item/weapon/gun/energy/gun/burst +/obj/item/gun/energy/gun/burst name = "energy carbine" desc = "The Lawson Arms FM-2t is a versatile energy based carbine made from modifying the original LAEP100 design. It is capable of switching \ between stun or kill with a three round burst option for both settings." @@ -71,7 +71,7 @@ /* * Energy Thompson (RCW) */ -/obj/item/weapon/gun/energy/gun/etommy +/obj/item/gun/energy/gun/etommy name = "Energy RCW" desc = "The Lawson Arms experimental Rapid Capacitor Weapon is a highly reguarded and deadly peice of military hardware. Using a large drum shaped \ capacitor bank the weapon is capable of accurate, rapid burst fire." @@ -96,7 +96,7 @@ /* * Energy PDW (Martin) */ -/obj/item/weapon/gun/energy/gun/compact +/obj/item/gun/energy/gun/compact name = "personal energy weapon" desc = "The RayZar EW20 \"Martin\" personal energy weapon - or PEW - is Ward-Takahasi's entry into the variable capacity energy gun market. \ New users are advised to 'set RayZars to stun'." @@ -117,7 +117,7 @@ /* * Energy Luger */ -/obj/item/weapon/gun/energy/gun/eluger +/obj/item/gun/energy/gun/eluger name = "energy Luger" desc = "The finest sidearm produced by RauMauser. Although its battery cannot be removed, its ergonomic design makes it easy to shoot, allowing \ for rapid follow-up shots. It also has the ability to toggle between stun and kill." @@ -138,7 +138,7 @@ /* * Mounted Energy Gun */ -/obj/item/weapon/gun/energy/gun/mounted +/obj/item/gun/energy/gun/mounted name = "mounted energy gun" self_recharge = 1 use_external_power = 1 @@ -146,7 +146,7 @@ /* * Nuclear Energy Gun */ -/obj/item/weapon/gun/energy/gun/nuclear +/obj/item/gun/energy/gun/nuclear name = "advanced energy gun" desc = "An energy gun with an experimental miniaturized reactor, based on a Lawson Arms platform." icon_state = "nucgunstun" @@ -156,7 +156,7 @@ force = 8 //looks heavier than a pistol w_class = ITEMSIZE_LARGE //Looks bigger than a pistol, too. fire_delay = 6 //This one's not a handgun, it should have the same fire delay as everything else - cell_type = /obj/item/weapon/cell/device/weapon/recharge + cell_type = /obj/item/cell/device/weapon/recharge battery_lock = 1 modifystate = null diff --git a/code/modules/projectiles/guns/energy/nuclear_yw.dm b/code/modules/projectiles/guns/energy/nuclear_yw.dm index 560887fc767..76b1b479567 100644 --- a/code/modules/projectiles/guns/energy/nuclear_yw.dm +++ b/code/modules/projectiles/guns/energy/nuclear_yw.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/gun/energy/sf2000 +/obj/item/gun/energy/sf2000 name = "SF 2000" desc = "A oddly shaped red colored energy gun, can fire both stun and lethal lasers" icon_state = "lasgunstun" @@ -17,7 +17,7 @@ ) -/obj/item/weapon/gun/energy/gun/burst/mg42 +/obj/item/gun/energy/gun/burst/mg42 name = "MG42-E" desc = "Space Blitzkrieg." icon = 'icons/obj/gun_yw.dmi' @@ -44,7 +44,7 @@ list(mode_name="15 laser burst, ye boi.", burst=15, fire_delay=null, move_delay=4, burst_accuracy=list(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0), dispersion=list(0.0, 0.2, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5), projectile_type=/obj/item/projectile/beam/burstlaser, modifystate="mg42-e", fire_sound='sound/weapons/Laser.ogg'), ) -/obj/item/weapon/gun/energy/x01 +/obj/item/gun/energy/x01 name = "X01 energy gun" desc = "A rare weapon, handcrafted by a ArcLight manufactury on Luna. This one appears customized with older technology for the price a small fortune." icon_state = "x01stun" diff --git a/code/modules/projectiles/guns/energy/particle.dm b/code/modules/projectiles/guns/energy/particle.dm index a9e64b1d6b3..6aeb04cc7d2 100644 --- a/code/modules/projectiles/guns/energy/particle.dm +++ b/code/modules/projectiles/guns/energy/particle.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/gun/energy/particle //base gun, similar stats to an egun +/obj/item/gun/energy/particle //base gun, similar stats to an egun name = "Anti-particle projector pistol" icon_state = "ppistol" item_state = "ppistol" @@ -22,7 +22,7 @@ var/obj/item/pressurelock/attached_safety -/obj/item/weapon/gun/energy/particle/advanced //particle equivalent of AEG +/obj/item/gun/energy/particle/advanced //particle equivalent of AEG name = "Advanced anti-particle rifle" icon_state = "particle" item_state = "particle" @@ -38,7 +38,7 @@ recharge_time = 6 // every 6 ticks, recharge 2 shots. Slightly slower than AEG. charge_delay = 10 //Starts recharging faster after firing than an AEG though. -/obj/item/weapon/gun/energy/particle/cannon //particle version of laser cannon +/obj/item/gun/energy/particle/cannon //particle version of laser cannon name = "Anti-particle cannon" desc = "A giant beast of an antimatter gun, packed with an internal reactor to allow for extreme longevity on remote mining expeditions." icon_state = "heavyparticle" @@ -60,19 +60,19 @@ //special behaviours for particle guns below -/obj/item/weapon/gun/energy/particle/special_check(var/mob/user) +/obj/item/gun/energy/particle/special_check(var/mob/user) if (..()) var/turf/T = get_turf(src) var/datum/gas_mixture/environment = T ? T.return_air() : null var/pressure = environment ? environment.return_pressure() : 0 if (!power_supply || power_supply.charge < charge_cost) - user.visible_message("*click*", "*click*") + user.visible_message(span_warning("*click*"), span_danger("*click*")) playsound(src, 'sound/weapons/empty.ogg', 100, 1) return 0 if(pressure >= 10) if (safetycatch) //weapons with a pressure regulator simply won't fire - user.visible_message("*click*", "The pressure-interlock prevents you from firing \the [src].") + user.visible_message(span_warning("*click*"), span_danger("The pressure-interlock prevents you from firing \the [src].")) playsound(src, 'sound/weapons/empty.ogg', 100, 1) return 0 else if (prob(min(pressure, 100))) //pressure% chance of failing @@ -82,12 +82,12 @@ return 1 return 0 -/obj/item/weapon/gun/energy/particle/proc/pressuremalfunction(severity, var/mob/user, var/turf/T) +/obj/item/gun/energy/particle/proc/pressuremalfunction(severity, var/mob/user, var/turf/T) if (severity <= 10) // just doesn't fire. 10% chance in 100 atmo. - user.visible_message("*click*", "\The [src] jams.") + user.visible_message(span_warning("*click*"), span_danger("\The [src] jams.")) playsound(src, 'sound/weapons/empty.ogg', 100, 1) else if (severity <= 60) //50% chance of fizzling and wasting a shot - user.visible_message("\The [user] fires \the [src], but the shot fizzles in the air!", "You fire \the [src], but the shot fizzles in the air!") + user.visible_message(span_warning("\The [user] fires \the [src], but the shot fizzles in the air!"), span_danger("You fire \the [src], but the shot fizzles in the air!")) power_supply.charge -= charge_cost playsound(src, fire_sound, 100, 1) var/datum/effect/effect/system/spark_spread/sparks = new /datum/effect/effect/system/spark_spread() @@ -95,14 +95,14 @@ sparks.start() update_icon() else if (severity <= 80) //20% chance of shorting out and emptying the cell - user.visible_message("\The [user] pulls the trigger, but \the [src] shorts out!", "You pull the trigger, but \the [src] shorts out!") + user.visible_message(span_warning("\The [user] pulls the trigger, but \the [src] shorts out!"), span_danger("You pull the trigger, but \the [src] shorts out!")) power_supply.charge = 0 var/datum/effect/effect/system/spark_spread/sparks = new /datum/effect/effect/system/spark_spread() sparks.set_up(2, 1, T) sparks.start() update_icon() else if (severity <= 90) //10% chance of breaking the gun - user.visible_message("\The [user] pulls the trigger, but \the [src] erupts in a shower of sparks!", "You pull the trigger, but \the [src] bursts into a shower of sparks!") + user.visible_message(span_warning("\The [user] pulls the trigger, but \the [src] erupts in a shower of sparks!"), span_danger("You pull the trigger, but \the [src] bursts into a shower of sparks!")) var/datum/effect/effect/system/spark_spread/sparks = new /datum/effect/effect/system/spark_spread() sparks.set_up(2, 1, T) sparks.start() @@ -114,37 +114,37 @@ charge_cost += charge_cost update_icon() else if (severity <= 150) // 10% chance of exploding - user.visible_message("\The [user] pulls the trigger, but \the [src] explodes!", "The [src] explodes!") + user.visible_message(span_danger("\The [user] pulls the trigger, but \the [src] explodes!"), span_danger("The [src] explodes!")) log_and_message_admins("blew themself up with a particle gun.", user) explosion(T, -1, -1, 1, 1) qdel(src) else //can only possibly happen if you're dumb enough to fire it in an OVER pressure environment, over 150kPa - user.visible_message("\The [user] pulls the trigger, but \the [src] explodes!", "The [src] explodes catastrophically!") + user.visible_message(span_danger("\The [user] pulls the trigger, but \the [src] explodes!"), span_danger("The [src] explodes catastrophically!")) log_and_message_admins("blew their dumb ass up with a particle gun.", user) explosion(T, -1, 1, 2, 2) qdel(src) -/obj/item/weapon/gun/energy/particle/cannon/pressuremalfunction(severity, user, T) +/obj/item/gun/energy/particle/cannon/pressuremalfunction(severity, user, T) ..(severity*2, user, T) -/obj/item/weapon/gun/energy/particle/attackby(var/obj/item/A as obj, mob/user as mob) +/obj/item/gun/energy/particle/attackby(var/obj/item/A as obj, mob/user as mob) if(istype(A, /obj/item/pressurelock)) if(safetycatch) - to_chat(user, "\The [src] already has a [attached_safety].") + to_chat(user, span_notice("\The [src] already has a [attached_safety].")) return - to_chat(user, "You insert \the [A] into \the [src].") + to_chat(user, span_notice("You insert \the [A] into \the [src].")) user.drop_item() A.loc = src attached_safety = A safetycatch = 1 return - if(istype(A, /obj/item/weapon/tool/screwdriver)) + if(istype(A, /obj/item/tool/screwdriver)) if(safetycatch && attached_safety) - to_chat(user, "You begin removing \the [attached_safety] from \the [src].") + to_chat(user, span_notice("You begin removing \the [attached_safety] from \the [src].")) if(do_after(user, 25)) - to_chat(user, "You remove \the [attached_safety] from \the [src].") + to_chat(user, span_notice("You remove \the [attached_safety] from \the [src].")) user.put_in_hands(attached_safety) safetycatch = 0 attached_safety = null @@ -187,4 +187,3 @@ if(prob(Proj.damage)) GetDrilled() ..() - diff --git a/code/modules/projectiles/guns/energy/phase.dm b/code/modules/projectiles/guns/energy/phase.dm index 5c4628fe238..bb99cac1d7b 100644 --- a/code/modules/projectiles/guns/energy/phase.dm +++ b/code/modules/projectiles/guns/energy/phase.dm @@ -1,6 +1,6 @@ // Phase weapons go here -/obj/item/weapon/gun/energy/phasegun +/obj/item/gun/energy/phasegun name = "phase carbine" desc = "The RayZar EW26 Artemis is a downsized energy weapon, specifically designed for use against wildlife." description_fluff = "RayZar is Ward-Takahashi’s main consumer weapons brand, known for producing and licensing a wide variety of specialist energy weapons of various types and quality primarily for the civilian market." @@ -12,16 +12,16 @@ projectile_type = /obj/item/projectile/energy/phase one_handed_penalty = 15 -/obj/item/weapon/gun/energy/phasegun/mounted +/obj/item/gun/energy/phasegun/mounted self_recharge = 1 use_external_power = 1 one_handed_penalty = 0 -/obj/item/weapon/gun/energy/phasegun/mounted/cyborg +/obj/item/gun/energy/phasegun/mounted/cyborg charge_cost = 400 recharge_time = 7 -/obj/item/weapon/gun/energy/phasegun/pistol +/obj/item/gun/energy/phasegun/pistol name = "phase pistol" desc = "The RayZar EW15 Apollo is an energy handgun, specifically designed for self-defense against aggressive wildlife." icon_state = "phase" @@ -32,16 +32,16 @@ projectile_type = /obj/item/projectile/energy/phase/light one_handed_penalty = 0 -/obj/item/weapon/gun/energy/phasegun/pistol/mounted +/obj/item/gun/energy/phasegun/pistol/mounted name = "mounted phase pistol" self_recharge = 1 use_external_power = 1 -/obj/item/weapon/gun/energy/phasegun/pistol/mounted/cyborg +/obj/item/gun/energy/phasegun/pistol/mounted/cyborg charge_cost = 400 recharge_time = 7 -/obj/item/weapon/gun/energy/phasegun/rifle +/obj/item/gun/energy/phasegun/rifle name = "phase rifle" desc = "The RayZar EW31 Orion is a specialist energy weapon, intended for use against hostile wildlife." icon_state = "phaserifle" @@ -54,7 +54,7 @@ accuracy = 15 one_handed_penalty = 30 -/obj/item/weapon/gun/energy/phasegun/cannon +/obj/item/gun/energy/phasegun/cannon name = "phase cannon" desc = "The RayZar EW50 Gaia is a massive energy weapon, purpose-built for clearing land. You feel dirty just looking at it." icon_state = "phasecannon" diff --git a/code/modules/projectiles/guns/energy/protector_vr.dm b/code/modules/projectiles/guns/energy/protector_vr.dm index a0919bedead..358e7b3346d 100644 --- a/code/modules/projectiles/guns/energy/protector_vr.dm +++ b/code/modules/projectiles/guns/energy/protector_vr.dm @@ -1,9 +1,8 @@ // -------------- Protector ------------- -/obj/item/weapon/gun/energy/gun/protector - name = "small energy gun" - desc = "The WT-98a 'Protector' is a common sidearm developed by Ward-Takahashi GMC. It features a powerful stun mode, and \ - an alert-level-locked lethal mode, only usable when the connected jurisdiction allows. It also features an integrated flashlight!" - catalogue_data = list(/datum/category_item/catalogue/information/organization/ward_takahashi) +/obj/item/gun/energy/gun/protector + name = "secure small energy gun" + desc = "The WT-98a 'Protector' is a common sidearm developed by Ward-Takahashi GMC. It features a powerful stun mode, and an alert-level-locked lethal mode, only usable when the connected jurisdiction allows. It also features an integrated flashlight!" // YW EDIT + catalogue_data = list(/datum/category_item/catalogue/information/organization/ward_takahashi) // YW EDIT description_info = "This gun can only be fired in lethal mode while on higher security alert levels. It is legal for sec to carry for this reason, since it cannot be used for lethal force until SOP allows it, in essence." description_fluff = "One of the few sidearms developed by Ward-Takahashi, this gun has a wireless connection to the computer's datacore to ensure it can't be used without authorization from heads of staff who have raised the alert level. Until then, *click*!" @@ -29,7 +28,7 @@ light_state = "prot_light" flight_x_offset = 0 flight_y_offset = 0 - action_button_name = "Toggle gun-light" + actions_types = list(/datum/action/item_action/toggle_gunlight) var/gun_light_icon = TRUE var/gun_light_on = FALSE var/brightness_on = 5 @@ -43,35 +42,35 @@ var/emagged = FALSE -/obj/item/weapon/gun/energy/gun/protector/special_check(mob/user) +/obj/item/gun/energy/gun/protector/special_check(mob/user) if(!emagged && mode_name == "lethal" && get_security_level() == "green") - to_chat(user,"The trigger refuses to depress while on the lethal setting under security level green!") + to_chat(user,span_warning("The trigger refuses to depress while on the lethal setting under security level green!")) return FALSE return ..() -/obj/item/weapon/gun/energy/gun/protector/ui_action_click(mob/user, actiontype) +/obj/item/gun/energy/gun/protector/ui_action_click(mob/user, actiontype) gun_light_on = !gun_light_on playsound(src, 'sound/weapons/empty.ogg', 40, TRUE) update_brightness(user) update_icon() -/obj/item/weapon/gun/energy/gun/protector/proc/update_brightness(mob/user = null) +/obj/item/gun/energy/gun/protector/proc/update_brightness(mob/user = null) if(gun_light_on) set_light(brightness_on) else set_light(0) -/obj/item/weapon/gun/energy/gun/protector/emag_act(var/remaining_charges,var/mob/user) +/obj/item/gun/energy/gun/protector/emag_act(var/remaining_charges,var/mob/user) ..() if(!emagged) emagged = TRUE - to_chat(user,"You disable the alert level locking mechanism on \the [src]!") + to_chat(user,span_warning("You disable the alert level locking mechanism on \the [src]!")) return TRUE //Update icons from /tg/, so fancy! Use this more! -/obj/item/weapon/gun/energy/gun/protector/update_icon() +/obj/item/gun/energy/gun/protector/update_icon() cut_overlays() var/ratio = 0 @@ -116,13 +115,13 @@ item_state = itemState */ -/obj/item/weapon/gun/energy/gun/protector/unlocked +/obj/item/gun/energy/gun/protector/unlocked emagged = TRUE name = "small energy gun" desc = "The LAEP95 'Protector' is another firearm from Lawson Arms and "+TSC_HEPH+", unlike the Perun this is designed for issue to non-security staff. It contains a detachable cell. It also features an integrated flashlight!" -/obj/item/weapon/gun/energy/gun/protector/pilotgun/locked +/obj/item/gun/energy/gun/protector/pilotgun/locked name = "secure shuttle-protection pistol" desc = "The LAEP97 'Defender' is a variant of another firearm from Lawson Arms and "+TSC_HEPH+", designed to be issued to pilots for defence of their craft from trespassers whilst in-flight. It contains a detachable cell, two modes of fire and a safety interlock to minimize workplace accidents. It also features an integrated flashlight!" @@ -138,25 +137,25 @@ var/locked = 1 var/lockable = 1 -/obj/item/weapon/gun/energy/gun/protector/pilotgun/locked/attackby(obj/item/I, mob/user) - var/obj/item/weapon/card/id/id = I.GetID() +/obj/item/gun/energy/gun/protector/pilotgun/locked/attackby(obj/item/I, mob/user) + var/obj/item/card/id/id = I.GetID() if(istype(id) && lockable) if(check_access(id)) locked = !locked - to_chat(user, "You [locked ? "enable" : "disable"] the safety interlock on \the [src].") + to_chat(user, span_warning("You [locked ? "enable" : "disable"] the safety interlock on \the [src].")) else - to_chat(user, "Access denied.") - user.visible_message("[user] swipes \the [I] against \the [src].") + to_chat(user, span_warning("Access denied.")) + user.visible_message(span_notice("[user] swipes \the [I] against \the [src].")) else return ..() -/obj/item/weapon/gun/energy/gun/protector/pilotgun/locked/emag_act(var/remaining_charges,var/mob/user) +/obj/item/gun/energy/gun/protector/pilotgun/locked/emag_act(var/remaining_charges,var/mob/user) return ..() -/obj/item/weapon/gun/energy/gun/protector/pilotgun/locked/special_check(mob/user) +/obj/item/gun/energy/gun/protector/pilotgun/locked/special_check(mob/user) if(locked) var/turf/T = get_turf(src) if(T.z in using_map.station_levels) - to_chat(user, "The safety device prevents the gun from firing this close to the facility.") + to_chat(user, span_warning("The safety device prevents the gun from firing this close to the facility.")) return 0 return ..() diff --git a/code/modules/projectiles/guns/energy/pulse.dm b/code/modules/projectiles/guns/energy/pulse.dm index 6d4be1bbb70..b9239da43f0 100644 --- a/code/modules/projectiles/guns/energy/pulse.dm +++ b/code/modules/projectiles/guns/energy/pulse.dm @@ -1,7 +1,7 @@ /* * Pulse Rifle */ -/obj/item/weapon/gun/energy/pulse_rifle +/obj/item/gun/energy/pulse_rifle name = "\improper LP1 Locust Rifle" desc = "The Bishamonten LP1 is a weapon that uses advanced pulse-based beam generation technology to emit powerful laser blasts. \ Because of its complexity and cost, it is rarely seen in use except by specialists." @@ -20,14 +20,14 @@ list(mode_name="DESTROY", projectile_type=/obj/item/projectile/beam/pulse, fire_delay=null, charge_cost = 240), ) -/obj/item/weapon/gun/energy/pulse_rifle/mounted +/obj/item/gun/energy/pulse_rifle/mounted self_recharge = 1 use_external_power = 1 /* * Pulse Destroyer */ -/obj/item/weapon/gun/energy/pulse_rifle/destroyer +/obj/item/gun/energy/pulse_rifle/destroyer name = "\improper LP1 MkII" desc = "A more heavy-duty version of the Bishamonten LP1. It's had all its safety functions ripped out to facilitate the perfect killing machine." icon_state = "pulsedest" @@ -35,13 +35,13 @@ charge_cost = 120 fire_delay = 12 -/obj/item/weapon/gun/energy/pulse_rifle/destroyer/attack_self(mob/living/user as mob) - to_chat(user, "[src.name] has three settings, and they are all DESTROY.") +/obj/item/gun/energy/pulse_rifle/destroyer/attack_self(mob/living/user as mob) + to_chat(user, span_warning("[src.name] has three settings, and they are all DESTROY.")) /* * Pulse Carbine */ -/obj/item/weapon/gun/energy/pulse_rifle/carbine +/obj/item/gun/energy/pulse_rifle/carbine name = "\improper LP2 Grasshopper Carbine" desc = "The Bishamonten LP2 is a sleek, compact version of the LP1. Because of its smaller design it takes less time to charge a shot." icon_state = "pulsecarbine" @@ -57,7 +57,7 @@ /* * Pulse Pistol */ -/obj/item/weapon/gun/energy/pulse_rifle/compact +/obj/item/gun/energy/pulse_rifle/compact name = "\improper LP4 Mantis Compact" desc = "The Bishamonten LP4 was once the weapon of choice for military officers during the Hegemony War. Today it is little more than a collectors item." description_fluff = "The Bishamonten Company operated from roughly 2150-2280 - the height of the first extrasolar colonisation boom - before filing for \ @@ -70,7 +70,7 @@ icon_state = "pulsepistol" charge_cost = 480 -/obj/item/weapon/gun/energy/pulse_rifle/compact/admin +/obj/item/gun/energy/pulse_rifle/compact/admin name = "\improper LP4 Mantis Deluxe" desc = "It's not the size of the gun, it's the size of the hole it puts through people." charge_cost = 240 @@ -79,4 +79,4 @@ list(mode_name="stun", projectile_type=/obj/item/projectile/beam/stun, fire_delay=null, charge_cost = 240), list(mode_name="lethal", projectile_type=/obj/item/projectile/beam, fire_delay=null, charge_cost = 240), list(mode_name="DESTROY", projectile_type=/obj/item/projectile/beam/pulse, fire_delay=null, charge_cost = 480), - ) \ No newline at end of file + ) diff --git a/code/modules/projectiles/guns/energy/pummeler_vr.dm b/code/modules/projectiles/guns/energy/pummeler_vr.dm index b4dd9ad472d..0c2346bbfbd 100644 --- a/code/modules/projectiles/guns/energy/pummeler_vr.dm +++ b/code/modules/projectiles/guns/energy/pummeler_vr.dm @@ -1,5 +1,5 @@ // -------------- Pummeler ------------- -/obj/item/weapon/gun/energy/pummeler +/obj/item/gun/energy/pummeler name = "hypersonic gun" desc = "For when you want to get that pesky marketing guy out of your face ASAP. The PML9 'Pummeler' fires one HUGE \ sonic blast in the direction of fire, throwing the target away from you at high speed. Now you can REALLY \ @@ -50,7 +50,7 @@ var/mob/living/simple_mob/vore/alienanimals/startreader/S = L if(!S.flipped) S.adjustBruteLoss(100) - S.visible_message("\The [S] is flipped over!!!") + S.visible_message(span_notice("\The [S] is flipped over!!!")) S.flipped = TRUE S.flip_cooldown = 10 S.handle_flip() diff --git a/code/modules/projectiles/guns/energy/pump.dm b/code/modules/projectiles/guns/energy/pump.dm index 5b9631be486..7a64496a19e 100644 --- a/code/modules/projectiles/guns/energy/pump.dm +++ b/code/modules/projectiles/guns/energy/pump.dm @@ -14,42 +14,42 @@ /* * Gun Locking Mechanism */ -/obj/item/weapon/gun/energy/locked +/obj/item/gun/energy/locked req_access = list(access_armory) //for toggling safety var/locked = 1 var/lockable = 1 -/obj/item/weapon/gun/energy/locked/attackby(obj/item/I, mob/user) - var/obj/item/weapon/card/id/id = I.GetID() +/obj/item/gun/energy/locked/attackby(obj/item/I, mob/user) + var/obj/item/card/id/id = I.GetID() if(istype(id) && lockable) if(check_access(id)) locked = !locked - to_chat(user, "You [locked ? "enable" : "disable"] the safety lock on \the [src].") + to_chat(user, span_warning("You [locked ? "enable" : "disable"] the safety lock on \the [src].")) else - to_chat(user, "Access denied.") - user.visible_message("[user] swipes \the [I] against \the [src].") + to_chat(user, span_warning("Access denied.")) + user.visible_message(span_notice("[user] swipes \the [I] against \the [src].")) else return ..() -/obj/item/weapon/gun/energy/locked/emag_act(var/remaining_charges,var/mob/user) +/obj/item/gun/energy/locked/emag_act(var/remaining_charges,var/mob/user) ..() if(lockable) locked = !locked - to_chat(user, "You [locked ? "enable" : "disable"] the safety lock on \the [src]!") + to_chat(user, span_warning("You [locked ? "enable" : "disable"] the safety lock on \the [src]!")) return 1 -/obj/item/weapon/gun/energy/locked/special_check(mob/user) +/obj/item/gun/energy/locked/special_check(mob/user) if(locked) var/turf/T = get_turf(src) if(T.z in using_map.station_levels) - to_chat(user, "The safety device prevents the gun from firing this close to the facility.") + to_chat(user, span_warning("The safety device prevents the gun from firing this close to the facility.")) return 0 return ..() /* * Expedition Frontier Phaser */ -/obj/item/weapon/gun/energy/locked/frontier +/obj/item/gun/energy/locked/frontier name = "frontier phaser" desc = "An extraordinarily rugged laser weapon, built to last and requiring effectively no maintenance. Includes a built-in crank \ charger for recharging away from civilization. This one has a safety interlock that prevents firing while in proximity to the facility." @@ -80,13 +80,13 @@ list(mode_name="low-power", fire_delay=8, projectile_type=/obj/item/projectile/beam/weaklaser/blue, modifystate="phaserstun", charge_cost = 100), ) -/obj/item/weapon/gun/energy/locked/frontier/unload_ammo(var/mob/user) +/obj/item/gun/energy/locked/frontier/unload_ammo(var/mob/user) if(recharging) return recharging = 1 update_icon() - user.visible_message("[user] opens \the [src] and starts pumping the handle.", \ - "You open \the [src] and start pumping the handle.") + user.visible_message(span_notice("[user] opens \the [src] and starts pumping the handle."), \ + span_notice("You open \the [src] and start pumping the handle.")) while(recharging) if(!do_after(user, 10, src)) break @@ -99,20 +99,20 @@ update_icon() user.hud_used.update_ammo_hud(user, src) // Update one last time once we're finished! -/obj/item/weapon/gun/energy/locked/frontier/update_icon() +/obj/item/gun/energy/locked/frontier/update_icon() if(recharging) icon_state = "[initial(icon_state)]_pump" update_held_icon() return ..() -/obj/item/weapon/gun/energy/locked/frontier/emp_act(severity) +/obj/item/gun/energy/locked/frontier/emp_act(severity) return ..(severity+2) -/obj/item/weapon/gun/energy/locked/frontier/ex_act() //|rugged| +/obj/item/gun/energy/locked/frontier/ex_act() //|rugged| return -/obj/item/weapon/gun/energy/locked/frontier/unlocked +/obj/item/gun/energy/locked/frontier/unlocked desc = "An extraordinarily rugged laser weapon, built to last and requiring effectively no maintenance. Includes a \ built-in crank charger for recharging away from civilization." req_access = newlist() //for toggling safety @@ -122,7 +122,7 @@ /* * Expedition Frontier Carbine */ -/obj/item/weapon/gun/energy/locked/frontier/carbine +/obj/item/gun/energy/locked/frontier/carbine name = "frontier carbine" desc = "An ergonomically improved version of the venerable frontier phaser, the carbine is a fairly new weapon, and has only been \ produced in limited numbers so far. Includes a built-in crank charger for recharging away from civilization. This one has a safety \ @@ -144,14 +144,14 @@ list(mode_name="low-power", fire_delay=5, projectile_type=/obj/item/projectile/beam/weaklaser/blue, modifystate="phcarbinestun", charge_cost = 100), ) -/obj/item/weapon/gun/energy/locked/frontier/carbine/update_icon() +/obj/item/gun/energy/locked/frontier/carbine/update_icon() if(recharging) icon_state = "[modifystate]_pump" update_held_icon() return ..() -/obj/item/weapon/gun/energy/locked/frontier/carbine/unlocked +/obj/item/gun/energy/locked/frontier/carbine/unlocked desc = "An ergonomically improved version of the venerable frontier phaser, the carbine is a fairly new weapon, and has only been \ produced in limited numbers so far. Includes a built-in crank charger for recharging away from civilization." req_access = newlist() //for toggling safety @@ -161,7 +161,7 @@ /* * Expedition Frontier Rifle */ -/obj/item/weapon/gun/energy/locked/frontier/rifle +/obj/item/gun/energy/locked/frontier/rifle name = "frontier marksman rifle" desc = "A much larger, heavier weapon than the typical frontier-type weapons, this DMR can be fired both from the hip, and in scope. \ Includes a built-in crank charger for recharging away from civilization. Unlike other frontier-type weapons, this model lacks a non-lethal option. \ @@ -176,7 +176,7 @@ item_state = "lsniper" item_state_slots = list(slot_r_hand_str = "lsniper", slot_l_hand_str = "lsniper") wielded_item_state = "lsniper-wielded" - action_button_name = "Use Scope" + actions_types = list(/datum/action/item_action/use_scope) w_class = ITEMSIZE_LARGE item_icons = list(slot_l_hand_str = 'icons/mob/items/lefthand_guns.dmi', slot_r_hand_str = 'icons/mob/items/righthand_guns.dmi') accuracy = -15 //better than most snipers but still has penalty @@ -194,24 +194,24 @@ list(mode_name="lethal", fire_delay=12, projectile_type=/obj/item/projectile/beam, modifystate="phriflekill", charge_cost = 200), ) -/obj/item/weapon/gun/energy/locked/frontier/rifle/ui_action_click() +/obj/item/gun/energy/locked/frontier/rifle/ui_action_click(mob/user, actiontype) scope() -/obj/item/weapon/gun/energy/locked/frontier/rifle/verb/scope() +/obj/item/gun/energy/locked/frontier/rifle/verb/scope() set category = "Object" set name = "Use Scope" set popup_menu = 1 toggle_scope(2.0) -/obj/item/weapon/gun/energy/locked/frontier/rifle/update_icon() +/obj/item/gun/energy/locked/frontier/rifle/update_icon() if(recharging) icon_state = "[modifystate]_pump" update_held_icon() return ..() -/obj/item/weapon/gun/energy/locked/frontier/rifle/unlocked +/obj/item/gun/energy/locked/frontier/rifle/unlocked desc = "A much larger, heavier weapon than the typical frontier-type weapons, this DMR can be fired both from the hip, and in scope. \ Unlike other frontier-type weapons, this model lacks a non-lethal option. Includes a built-in crank charger for recharging away from civilization." req_access = newlist() //for toggling safety @@ -221,7 +221,7 @@ /* * Holdout Phaser Pistol */ -/obj/item/weapon/gun/energy/locked/frontier/holdout +/obj/item/gun/energy/locked/frontier/holdout name = "holdout frontier phaser" desc = "An minaturized weapon designed for the purpose of expeditionary support to defend themselves on the field. Includes a built-in crank charger for \ recharging away from civilization. This one has a safety interlock that prevents firing while in proximity to the facility." @@ -239,7 +239,7 @@ list(mode_name="stun", fire_delay=12, projectile_type=/obj/item/projectile/beam/stun/med, modifystate="holdoutshock", charge_cost = 300), ) -/obj/item/weapon/gun/energy/locked/frontier/holdout/unlocked +/obj/item/gun/energy/locked/frontier/holdout/unlocked desc = "An minaturized weapon designed for the purpose of expeditionary support to defend themselves on the field. Includes a built-in \ crank charger for recharging away from civilization." req_access = newlist() //for toggling safety @@ -249,7 +249,7 @@ /* * Holdout Phaser Bow */ -/obj/item/weapon/gun/energy/locked/frontier/handbow +/obj/item/gun/energy/locked/frontier/handbow name = "phaser handbow" desc = "An minaturized weapon that fires a bolt of energy. Includes a built-in crank charger for recharging away from civilization. \ This one has a safety interlock that prevents firing while in proximity to the facility." @@ -265,8 +265,8 @@ list(mode_name="low-power", fire_delay=8, projectile_type=/obj/item/projectile/energy/bow, modifystate="handbowstun", charge_cost = 200), ) -/obj/item/weapon/gun/energy/locked/frontier/handbow/unlocked +/obj/item/gun/energy/locked/frontier/handbow/unlocked desc = "An minaturized weapon that fires a bolt of energy. Includes a built-in crank charger for recharging away from civilization." req_access = newlist() //for toggling safety locked = 0 - lockable = 0 \ No newline at end of file + lockable = 0 diff --git a/code/modules/projectiles/guns/energy/sickshot_vr.dm b/code/modules/projectiles/guns/energy/sickshot_vr.dm index 098db695979..760ae37234a 100644 --- a/code/modules/projectiles/guns/energy/sickshot_vr.dm +++ b/code/modules/projectiles/guns/energy/sickshot_vr.dm @@ -1,5 +1,5 @@ // -------------- Sickshot ------------- -/obj/item/weapon/gun/energy/sickshot +/obj/item/gun/energy/sickshot name = "\'Sickshot\' revolver" desc = "Need to stun someone? Don't mind having to clean up the mess afterwards? The MPA6 'Sickshot' is the answer to your prayers. \ Using a short-range concentrated blast of disruptive sound, the Sickshot will nauseate and confuse the target for several seconds. NOTE: Not suitable \ diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index 01bb4ef3ca9..752cd2f0cfd 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/gun/energy/ionrifle +/obj/item/gun/energy/ionrifle name = "ion rifle" desc = "The RayZar Mk60 EW Halicon is a man portable anti-armor weapon designed to disable mechanical threats, produced by NT. Not the best of its type." description_fluff = "RayZar is Ward-Takahashi’s main consumer weapons brand, known for producing and licensing a wide variety of specialist energy weapons of various types and quality primarily for the civilian market." @@ -11,13 +11,13 @@ slot_flags = SLOT_BACK projectile_type = /obj/item/projectile/ion -/obj/item/weapon/gun/energy/ionrifle/emp_act(severity) +/obj/item/gun/energy/ionrifle/emp_act(severity) ..(max(severity, 4)) //so it doesn't EMP itself, I guess -/obj/item/weapon/gun/energy/ionrifle/empty +/obj/item/gun/energy/ionrifle/empty cell_type = null -/obj/item/weapon/gun/energy/ionrifle/pistol +/obj/item/gun/energy/ionrifle/pistol name = "ion pistol" desc = "The RayZar Mk63 EW Pan is a man portable anti-armor weapon designed to disable mechanical threats, produced by NT. This model sacrifices capacity for portability." icon_state = "ionpistol" @@ -28,7 +28,7 @@ charge_cost = 480 projectile_type = /obj/item/projectile/ion/pistol -/obj/item/weapon/gun/energy/decloner +/obj/item/gun/energy/decloner name = "biological demolecularisor" desc = "A gun that discharges high amounts of controlled radiation to slowly break a target into component elements." icon_state = "decloner" @@ -36,7 +36,7 @@ origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 4, TECH_POWER = 3) projectile_type = /obj/item/projectile/energy/declone -/obj/item/weapon/gun/energy/floragun +/obj/item/gun/energy/floragun name = "floral somatoray" desc = "A tool that discharges controlled radiation which induces mutation in plant cells." description_fluff = "The floral somatoray is a relatively recent invention of the NanoTrasen corporation, turning a process that once involved transferring plants to massive mutating racks, into a remote interface. Do not look directly into the transmission end." @@ -45,11 +45,11 @@ projectile_type = /obj/item/projectile/energy/floramut origin_tech = list(TECH_MATERIAL = 2, TECH_BIO = 3, TECH_POWER = 3) modifystate = "floramut" - cell_type = /obj/item/weapon/cell/device/weapon/recharge + cell_type = /obj/item/cell/device/weapon/recharge battery_lock = 1 var/decl/plantgene/gene = null - var/obj/item/weapon/stock_parts/micro_laser/emitter + var/obj/item/stock_parts/micro_laser/emitter firemodes = list( list(mode_name="induce mutations", projectile_type=/obj/item/projectile/energy/floramut, modifystate="floramut"), @@ -57,49 +57,49 @@ list(mode_name="induce specific mutations", projectile_type=/obj/item/projectile/energy/floramut/gene, modifystate="floramut"), ) -/obj/item/weapon/gun/energy/floragun/Initialize() +/obj/item/gun/energy/floragun/Initialize() . = ..() emitter = new(src) -/obj/item/weapon/gun/energy/floragun/examine(var/mob/user) +/obj/item/gun/energy/floragun/examine(var/mob/user) . = ..() if(Adjacent(user)) . += "It has [emitter ? emitter : "no micro laser"] installed." -/obj/item/weapon/gun/energy/floragun/attackby(obj/item/W, mob/user) - if(istype(W, /obj/item/weapon/stock_parts/micro_laser)) +/obj/item/gun/energy/floragun/attackby(obj/item/W, mob/user) + if(istype(W, /obj/item/stock_parts/micro_laser)) if(!emitter) user.drop_item() W.loc = src emitter = W - to_chat(user, "You install a [emitter.name] in [src].") + to_chat(user, span_notice("You install a [emitter.name] in [src].")) else - to_chat(user, "[src] already has a laser.") + to_chat(user, span_notice("[src] already has a laser.")) else if(W.has_tool_quality(TOOL_SCREWDRIVER)) if(emitter) - to_chat(user, "You remove the [emitter.name] from the [src].") + to_chat(user, span_notice("You remove the [emitter.name] from the [src].")) emitter.loc = get_turf(src.loc) playsound(src, W.usesound, 50, 1) emitter = null return else - to_chat(user, "There is no micro laser in this [src].") + to_chat(user, span_notice("There is no micro laser in this [src].")) return -/obj/item/weapon/gun/energy/floragun/afterattack(obj/target, mob/user, adjacent_flag) +/obj/item/gun/energy/floragun/afterattack(obj/target, mob/user, adjacent_flag) //allow shooting into adjacent hydrotrays regardless of intent if(!emitter) - to_chat(user, "The [src] has no laser! ") + to_chat(user, span_notice("The [src] has no laser! ")) playsound(src, 'sound/weapons/empty.ogg', 50, 1) return if(adjacent_flag && istype(target,/obj/machinery/portable_atmospherics/hydroponics)) - user.visible_message("\The [user] fires \the [src] into \the [target]!") + user.visible_message(span_danger("\The [user] fires \the [src] into \the [target]!")) Fire(target,user) return ..() -/obj/item/weapon/gun/energy/floragun/verb/select_gene() +/obj/item/gun/energy/floragun/verb/select_gene() set name = "Select Gene" set category = "Object" set src in view(1) @@ -111,11 +111,11 @@ gene = SSplants.plant_gene_datums[genemask] - to_chat(usr, "You set the [src]'s targeted genetic area to [genemask].") + to_chat(usr, span_info("You set the [src]'s targeted genetic area to [genemask].")) return -/obj/item/weapon/gun/energy/floragun/consume_next_projectile() +/obj/item/gun/energy/floragun/consume_next_projectile() . = ..() var/obj/item/projectile/energy/floramut/gene/G = . var/obj/item/projectile/energy/florayield/GY = . @@ -129,7 +129,7 @@ else if(istype(GM)) GM.lasermod = emitter.rating -/obj/item/weapon/gun/energy/meteorgun +/obj/item/gun/energy/meteorgun name = "meteor gun" desc = "For the love of god, make sure you're aiming this the right way!" icon_state = "riotgun" @@ -137,13 +137,13 @@ slot_flags = SLOT_BELT|SLOT_BACK w_class = ITEMSIZE_LARGE projectile_type = /obj/item/projectile/meteor - cell_type = /obj/item/weapon/cell/potato + cell_type = /obj/item/cell/potato charge_cost = 100 self_recharge = 1 recharge_time = 5 //Time it takes for shots to recharge (in ticks) charge_meter = 0 -/obj/item/weapon/gun/energy/meteorgun/pen +/obj/item/gun/energy/meteorgun/pen name = "meteor pen" desc = "The pen is mightier than the sword." icon = 'icons/obj/bureaucracy.dmi' @@ -153,13 +153,13 @@ slot_flags = SLOT_BELT -/obj/item/weapon/gun/energy/mindflayer +/obj/item/gun/energy/mindflayer name = "mind flayer" desc = "A custom-built weapon of some kind." icon_state = "xray" projectile_type = /obj/item/projectile/beam/mindflayer -/obj/item/weapon/gun/energy/toxgun +/obj/item/gun/energy/toxgun name = "phoron pistol" desc = "A specialized firearm designed to fire lethal bolts of phoron." icon_state = "toxgun" @@ -169,7 +169,7 @@ /* Staves */ -/obj/item/weapon/gun/energy/staff +/obj/item/gun/energy/staff name = "staff of change" desc = "An artifact that spits bolts of coruscating energy which cause the target's very form to reshape itself." icon = 'icons/obj/gun.dmi' @@ -180,31 +180,31 @@ charge_cost = 480 projectile_type = /obj/item/projectile/change origin_tech = null - cell_type = /obj/item/weapon/cell/device/weapon/recharge + cell_type = /obj/item/cell/device/weapon/recharge battery_lock = 1 charge_meter = 0 -/obj/item/weapon/gun/energy/staff/special_check(var/mob/user) +/obj/item/gun/energy/staff/special_check(var/mob/user) if((user.mind && !wizards.is_antagonist(user.mind))) - to_chat(usr, "You focus your mind on \the [src], but nothing happens!") + to_chat(usr, span_warning("You focus your mind on \the [src], but nothing happens!")) return 0 return ..() -/obj/item/weapon/gun/energy/staff/handle_click_empty(mob/user = null) +/obj/item/gun/energy/staff/handle_click_empty(mob/user = null) if (user) - user.visible_message("*fizzle*", "*fizzle*") + user.visible_message("*fizzle*", span_danger("*fizzle*")) else src.visible_message("*fizzle*") playsound(src, 'sound/effects/sparks1.ogg', 100, 1) /* -/obj/item/weapon/gun/energy/staff/animate +/obj/item/gun/energy/staff/animate name = "staff of animation" desc = "An artifact that spits bolts of life force, which causes objects which are hit by it to animate and come to life! This magic doesn't affect machines." projectile_type = /obj/item/projectile/animate charge_cost = 240 */ -/obj/item/weapon/gun/energy/staff/focus +/obj/item/gun/energy/staff/focus name = "mental focus" desc = "An artifact that channels the will of the user into destructive bolts of force. If you aren't careful with it, you might poke someone's brain out." icon = 'icons/obj/wizard.dmi' @@ -215,15 +215,15 @@ attack_self(mob/living/user as mob) if(projectile_type == "/obj/item/projectile/forcebolt") charge_cost = 400 - to_chat(user, "The [src.name] will now strike a small area.") + to_chat(user, span_warning("The [src.name] will now strike a small area.")) projectile_type = "/obj/item/projectile/forcebolt/strong" else charge_cost = 200 - to_chat(user, "The [src.name] will now strike only a single person.") + to_chat(user, span_warning("The [src.name] will now strike only a single person.")) projectile_type = "/obj/item/projectile/forcebolt" */ -/obj/item/weapon/gun/energy/dakkalaser +/obj/item/gun/energy/dakkalaser name = "suppression gun" desc = "A massive weapon designed to pressure the opposition by raining down a torrent of energy pellets." icon_state = "dakkalaser" @@ -232,7 +232,7 @@ w_class = ITEMSIZE_HUGE charge_cost = 24 // 100 shots, it's a spray and pray (to RNGesus) weapon. projectile_type = /obj/item/projectile/energy/blue_pellet - cell_type = /obj/item/weapon/cell/device/weapon/recharge + cell_type = /obj/item/cell/device/weapon/recharge battery_lock = 1 accuracy = 75 // Suppressive weapons don't work too well if there's no risk of being hit. burst_delay = 1 // Burst faster than average. @@ -244,7 +244,7 @@ list(mode_name="ten shot burst", burst = 10, burst_accuracy = list(75,75,75,75,75,75,75,75,75,75), dispersion = list(2,2,2,2,2,2,2,2,2,2)), ) -/obj/item/weapon/gun/energy/maghowitzer +/obj/item/gun/energy/maghowitzer name = "portable MHD howitzer" desc = "A massive weapon designed to destroy fortifications with a stream of molten tungsten." description_fluff = "A weapon designed by joint cooperation of NanoTrasen, Hephaestus, and SCG scientists. Everything else is red tape and black highlighters." @@ -256,8 +256,8 @@ charge_cost = 10000 // Uses large cells, can at max have 3 shots. projectile_type = /obj/item/projectile/beam/tungsten - cell_type = /obj/item/weapon/cell/high - accept_cell_type = /obj/item/weapon/cell + cell_type = /obj/item/cell/high + accept_cell_type = /obj/item/cell accuracy = 75 charge_meter = 0 @@ -265,7 +265,7 @@ var/power_cycle = FALSE -/obj/item/weapon/gun/energy/maghowitzer/proc/pick_random_target(var/turf/T) +/obj/item/gun/energy/maghowitzer/proc/pick_random_target(var/turf/T) var/foundmob = FALSE var/foundmobs = list() for(var/mob/living/L in T.contents) @@ -276,14 +276,14 @@ return return_target return FALSE -/obj/item/weapon/gun/energy/maghowitzer/attack(atom/A, mob/living/user, def_zone) +/obj/item/gun/energy/maghowitzer/attack(atom/A, mob/living/user, def_zone) if(power_cycle) - to_chat(user, "\The [src] is already powering up!") + to_chat(user, span_notice("\The [src] is already powering up!")) return 0 var/turf/target_turf = get_turf(A) var/beameffect = user.Beam(target_turf,icon_state="sat_beam",icon='icons/effects/beam.dmi',time=31, maxdistance=10,beam_type=/obj/effect/ebeam,beam_sleep_time=3) if(beameffect) - user.visible_message("[user] aims \the [src] at \the [A].") + user.visible_message(span_cult("[user] aims \the [src] at \the [A].")) if(power_supply && power_supply.charge >= charge_cost) //Do a delay for pointblanking too. power_cycle = TRUE if(do_after(user, 30)) @@ -302,9 +302,9 @@ else ..(A, user, def_zone) //If it can't fire, just bash with no delay. -/obj/item/weapon/gun/energy/maghowitzer/afterattack(atom/A, mob/living/user, adjacent, params) +/obj/item/gun/energy/maghowitzer/afterattack(atom/A, mob/living/user, adjacent, params) if(power_cycle) - to_chat(user, "\The [src] is already powering up!") + to_chat(user, span_notice("\The [src] is already powering up!")) return 0 var/turf/target_turf = get_turf(A) @@ -312,7 +312,7 @@ var/beameffect = user.Beam(target_turf,icon_state="sat_beam",icon='icons/effects/beam.dmi',time=31, maxdistance=10,beam_type=/obj/effect/ebeam,beam_sleep_time=3) if(beameffect) - user.visible_message("[user] aims \the [src] at \the [A].") + user.visible_message(span_cult("[user] aims \the [src] at \the [A].")) if(!power_cycle) power_cycle = TRUE @@ -331,4 +331,4 @@ handle_click_empty(user) power_cycle = FALSE else - to_chat(user, "\The [src] is already powering up!") + to_chat(user, span_notice("\The [src] is already powering up!")) diff --git a/code/modules/projectiles/guns/energy/special_vr.dm b/code/modules/projectiles/guns/energy/special_vr.dm index 4e8843bb9db..c7b3f3ca0d1 100644 --- a/code/modules/projectiles/guns/energy/special_vr.dm +++ b/code/modules/projectiles/guns/energy/special_vr.dm @@ -1,10 +1,10 @@ -/obj/item/weapon/gun/energy/ionrifle/pistol +/obj/item/gun/energy/ionrifle/pistol projectile_type = /obj/item/projectile/ion/pistol // still packs a punch but no AoE -/obj/item/weapon/gun/energy/ionrifle/weak +/obj/item/gun/energy/ionrifle/weak projectile_type = /obj/item/projectile/ion/small -/obj/item/weapon/gun/energy/medigun //Adminspawn/ERT etc +/obj/item/gun/energy/medigun //Adminspawn/ERT etc name = "directed restoration system" desc = "The BL-3 'Phoenix' is an adaptation on the ML-3 'Medbeam' design that channels the power of the beam into a single healing laser. It is highly energy-inefficient, but its medical power cannot be denied." force = 5 @@ -22,11 +22,11 @@ projectile_type = /obj/item/projectile/beam/medigun - accept_cell_type = /obj/item/weapon/cell - cell_type = /obj/item/weapon/cell/high + accept_cell_type = /obj/item/cell + cell_type = /obj/item/cell/high charge_cost = 2500 -/obj/item/weapon/gun/energy/bfgtaser +/obj/item/gun/energy/bfgtaser name = "9000-series Ball Lightning Taser" desc = "The brainchild of Hephaestus Industries Civil Pacification Division, the BLT-9000 was intended for riot control but despite enthusiastic interest from law-enforcement agencies across the Commonwealth and beyond, its indiscriminate nature led to it being banned from civilian use in virtually all jurisdictions. As a result, most pieces are found in the hands of collectors." icon = 'icons/obj/gun_vr.dmi' @@ -43,7 +43,7 @@ charge_cost = 2400 //yes, this bad boy empties an entire weapon cell in one shot. What of it? var/spinning_up = FALSE -/obj/item/weapon/gun/energy/bfgtaser/Fire(atom/target, mob/living/user, clickparams, pointblank=0, reflex=0) +/obj/item/gun/energy/bfgtaser/Fire(atom/target, mob/living/user, clickparams, pointblank=0, reflex=0) if(spinning_up) return if(!power_supply || !power_supply.check_charge(charge_cost)) @@ -53,8 +53,8 @@ playsound(src, 'sound/weapons/chargeup.ogg', 100, 1) spinning_up = TRUE update_icon() - user.visible_message("[user] starts charging the [src]!", \ - "You start charging the [src]!") + user.visible_message(span_notice("[user] starts charging the [src]!"), \ + span_notice("You start charging the [src]!")) if(do_after(user, 8, src)) spinning_up = FALSE ..() @@ -99,4 +99,4 @@ for(var/target in victims) var/obj/item/projectile/P = new zaptype(src.loc) P.launch_projectile_from_turf(target = target, target_zone = null, user = firer, params = null, angle_override = null, forced_spread = 0) - ..() \ No newline at end of file + ..() diff --git a/code/modules/projectiles/guns/energy/stun.dm b/code/modules/projectiles/guns/energy/stun.dm index 6d0e90eea89..facbbf9dcf3 100644 --- a/code/modules/projectiles/guns/energy/stun.dm +++ b/code/modules/projectiles/guns/energy/stun.dm @@ -1,7 +1,7 @@ /* * Taser */ -/obj/item/weapon/gun/energy/taser +/obj/item/gun/energy/taser name = "taser gun" desc = "The NT Mk30 NL is a small gun used for non-lethal takedowns. Produced by NT, it's actually a licensed version of a W-T RayZar design." description_fluff = "RayZar is Ward-Takahashi’s main consumer weapons brand, known for producing and licensing a wide variety of specialist \ @@ -11,18 +11,18 @@ projectile_type = /obj/item/projectile/beam/stun charge_cost = 480 -/obj/item/weapon/gun/energy/taser/mounted +/obj/item/gun/energy/taser/mounted name = "mounted taser gun" self_recharge = 1 use_external_power = 1 -/obj/item/weapon/gun/energy/taser/mounted/augment +/obj/item/gun/energy/taser/mounted/augment self_recharge = 1 use_external_power = 0 use_organic_power = TRUE canremove = FALSE -/obj/item/weapon/gun/energy/taser/mounted/cyborg +/obj/item/gun/energy/taser/mounted/cyborg name = "taser gun" charge_cost = 400 recharge_time = 7 //Time it takes for shots to recharge (in ticks) @@ -30,7 +30,7 @@ /* * Disabler */ -/obj/item/weapon/gun/energy/taser/disabler +/obj/item/gun/energy/taser/disabler name = "disabler" desc = "The NT Mk4 T-DL is a small gun used for non-lethal takedowns. Produced by NT, it's an archaic device which attacks the target's \ nervous-system and is actually a heavily modified version of the NT Mk30 NL. It's use is heavily regulated due to its effects on the body." @@ -41,7 +41,7 @@ /* * Crossbow */ -/obj/item/weapon/gun/energy/crossbow +/obj/item/gun/energy/crossbow name = "mini energy-crossbow" desc = "A weapon favored by many mercenary stealth specialists." icon_state = "crossbow" @@ -53,15 +53,15 @@ silenced = 1 projectile_type = /obj/item/projectile/energy/bolt charge_cost = 480 - cell_type = /obj/item/weapon/cell/device/weapon/recharge + cell_type = /obj/item/cell/device/weapon/recharge battery_lock = 1 charge_meter = 0 -/obj/item/weapon/gun/energy/crossbow/ninja +/obj/item/gun/energy/crossbow/ninja name = "energy dart thrower" projectile_type = /obj/item/projectile/energy/dart -/obj/item/weapon/gun/energy/crossbow/largecrossbow +/obj/item/gun/energy/crossbow/largecrossbow name = "energy crossbow" desc = "A weapon favored by mercenary infiltration teams." icon_state = "crossbowlarge" @@ -74,7 +74,7 @@ /* * Plasma Stun */ -/obj/item/weapon/gun/energy/plasmastun +/obj/item/gun/energy/plasmastun name = "plasma pulse projector" desc = "The RayZar MA21 Selkie is a weapon that uses a laser pulse to ionise the local atmosphere, creating a disorienting pulse of plasma and deafening shockwave as the wave expands." description_fluff = "RayZar is Ward-Takahashi’s main consumer weapons brand, known for producing and licensing a wide variety of specialist energy weapons of various types and quality primarily for the civilian market. \ @@ -89,7 +89,7 @@ /* * Stun Revolver */ -/obj/item/weapon/gun/energy/stunrevolver +/obj/item/gun/energy/stunrevolver name = "stun revolver" desc = "A LAEP20 \"Aktzin\". Designed and produced by Lawson Arms under the wing of Hephaestus, \ several TSCs have been trying to get a hold of the blueprints for half a decade." @@ -106,12 +106,12 @@ /* * Detective Stun Revolver */ -/obj/item/weapon/gun/energy/stunrevolver/detective +/obj/item/gun/energy/stunrevolver/detective desc = "A LAEP20 \"Aktzin\". Designed and produced by Lawson Arms under the wing of Hephaestus, \ several TSCs have been trying to get a hold of the blueprints for half a decade." var/unique_reskin -/obj/item/weapon/gun/energy/stunrevolver/detective/update_icon(var/ignore_inhands) +/obj/item/gun/energy/stunrevolver/detective/update_icon(var/ignore_inhands) if(power_supply == null) if(unique_reskin) icon_state = "[unique_reskin]_open" @@ -140,7 +140,7 @@ if(!ignore_inhands) update_held_icon() -/obj/item/weapon/gun/energy/stunrevolver/detective/verb/rename_gun() +/obj/item/gun/energy/stunrevolver/detective/verb/rename_gun() set name = "Name Gun" set category = "Object" set desc = "Rename your gun. If you're Security." @@ -148,8 +148,8 @@ var/mob/M = usr if(!M.mind) return 0 var/job = M.mind.assigned_role - if(job != "Detective" && job != "Security Officer" && job != "Warden" && job != "Head of Security") - to_chat(M, "You don't feel cool enough to name this gun, chump.") + if(job != JOB_DETECTIVE && job != JOB_SECURITY_OFFICER && job != JOB_WARDEN && job != JOB_HEAD_OF_SECURITY ) + to_chat(M, span_notice("You don't feel cool enough to name this gun, chump.")) return 0 var/input = sanitizeSafe(input("What do you want to name the gun?", ,""), MAX_NAME_LEN) @@ -159,7 +159,7 @@ to_chat(M, "You name the gun [input]. Say hello to your new friend.") return 1 -/obj/item/weapon/gun/energy/stunrevolver/detective/verb/reskin_gun() +/obj/item/gun/energy/stunrevolver/detective/verb/reskin_gun() set name = "Resprite gun" set category = "Object" set desc = "Click to choose a sprite for your gun." @@ -183,7 +183,7 @@ /* * Vintage Stun Revolver */ -/obj/item/weapon/gun/energy/stunrevolver/vintage +/obj/item/gun/energy/stunrevolver/vintage name = "vintage stun revolver" desc = "An older model stun revolver that is still in service across the frontier." description_fluff = "The LTX1020 \"Bolter\", a Firefly Co. staple from when the company was in its hayday. \ @@ -198,7 +198,7 @@ /* * Snubnose Stun Revolver */ -/obj/item/weapon/gun/energy/stunrevolver/snubnose +/obj/item/gun/energy/stunrevolver/snubnose name = "snub stun revolver" desc = "A snub nose stun revolver sporting a rather elegant look." description_fluff = "The LTX1010 \"Stubby\", a Firefly Co. staple from when the company was in its hayday. \ diff --git a/code/modules/projectiles/guns/energy/stun_vr.dm b/code/modules/projectiles/guns/energy/stun_vr.dm index 3ddc43986c6..baa95373113 100644 --- a/code/modules/projectiles/guns/energy/stun_vr.dm +++ b/code/modules/projectiles/guns/energy/stun_vr.dm @@ -1,9 +1,9 @@ -/obj/item/weapon/gun/energy/taser +/obj/item/gun/energy/taser charge_cost = 160 fire_delay = 4 -/obj/item/weapon/gun/energy/stunrevolver +/obj/item/gun/energy/stunrevolver charge_cost = 400 -/obj/item/weapon/gun/energy/taser/mounted/cyborg +/obj/item/gun/energy/taser/mounted/cyborg charge_cost = 160 \ No newline at end of file diff --git a/code/modules/projectiles/guns/energy/temperature.dm b/code/modules/projectiles/guns/energy/temperature.dm index a9b4c8f6b96..37777f29df6 100644 --- a/code/modules/projectiles/guns/energy/temperature.dm +++ b/code/modules/projectiles/guns/energy/temperature.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/gun/energy/temperature +/obj/item/gun/energy/temperature name = "temperature gun" icon_state = "freezegun" desc = "A gun that can add or remove heat from entities it hits. In other words, it can fire 'cold', and 'hot' beams." @@ -13,6 +13,6 @@ list(mode_name="exothermic beam", projectile_type = /obj/item/projectile/temp/hot, charge_cost = 240), ) -/obj/item/weapon/gun/energy/temperature/mounted +/obj/item/gun/energy/temperature/mounted self_recharge = 1 use_external_power = 1 diff --git a/code/modules/projectiles/guns/launcher.dm b/code/modules/projectiles/guns/launcher.dm index e0494e534d6..76db11d46b8 100644 --- a/code/modules/projectiles/guns/launcher.dm +++ b/code/modules/projectiles/guns/launcher.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/gun/launcher +/obj/item/gun/launcher name = "launcher" desc = "A device that launches things." w_class = ITEMSIZE_HUGE @@ -10,18 +10,18 @@ fire_sound_text = "a launcher firing" //This normally uses a proc on projectiles and our ammo is not strictly speaking a projectile. -/obj/item/weapon/gun/launcher/can_hit(var/mob/living/target as mob, var/mob/living/user as mob) +/obj/item/gun/launcher/can_hit(var/mob/living/target as mob, var/mob/living/user as mob) return 1 //Override this to avoid a runtime with suicide handling. -/obj/item/weapon/gun/launcher/handle_suicide(mob/living/user) +/obj/item/gun/launcher/handle_suicide(mob/living/user) to_chat(user, span_red("Shooting yourself with \a [src] is pretty tricky. You can't seem to manage it.")) return -/obj/item/weapon/gun/launcher/proc/update_release_force(obj/item/projectile) +/obj/item/gun/launcher/proc/update_release_force(obj/item/projectile) return 0 -/obj/item/weapon/gun/launcher/process_projectile(obj/item/projectile, mob/user, atom/target, var/target_zone, var/params=null, var/pointblank=0, var/reflex=0) +/obj/item/gun/launcher/process_projectile(obj/item/projectile, mob/user, atom/target, var/target_zone, var/params=null, var/pointblank=0, var/reflex=0) update_release_force(projectile) projectile.loc = get_turf(user) projectile.throw_at(target, throw_distance, release_force, user) diff --git a/code/modules/projectiles/guns/launcher/bows.dm b/code/modules/projectiles/guns/launcher/bows.dm index a56e390c87c..b7a4b518242 100644 --- a/code/modules/projectiles/guns/launcher/bows.dm +++ b/code/modules/projectiles/guns/launcher/bows.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/arrow/standard +/obj/item/arrow/standard name = "arrow" desc = "It's got a tip for you - get the point?" icon = 'icons/obj/guns/projectile/bows.dmi' @@ -9,7 +9,7 @@ sharp = TRUE edge = FALSE -/obj/item/weapon/arrow/energy +/obj/item/arrow/energy name = "hardlight arrow" desc = "An arrow made out of energy! Classic?" icon = 'icons/obj/guns/projectile/bows.dmi' @@ -22,17 +22,17 @@ embed_chance = 0 // it fizzles! catchable = FALSE // oh god -/obj/item/weapon/arrow/energy/throw_impact(atom/hit_atom) +/obj/item/arrow/energy/throw_impact(atom/hit_atom) . = ..() qdel(src) -/obj/item/weapon/arrow/energy/equipped() +/obj/item/arrow/energy/equipped() if(isliving(loc)) var/mob/living/L = loc L.drop_from_inventory(src) qdel(src) // noh -/obj/item/weapon/gun/launcher/crossbow/bow +/obj/item/gun/launcher/crossbow/bow name = "shortbow" desc = "A common shortbow, capable of firing arrows at high speed towards a target. Useful for hunting while keeping quiet." icon = 'icons/obj/guns/projectile/bows.dmi' @@ -47,67 +47,67 @@ release_speed = 15 var/drawn = FALSE -/obj/item/weapon/gun/launcher/crossbow/bow/update_release_force(obj/item/projectile) +/obj/item/gun/launcher/crossbow/bow/update_release_force(obj/item/projectile) return 0 -/obj/item/weapon/gun/launcher/crossbow/bow/proc/unload(mob/user) - var/obj/item/weapon/arrow/A = bolt +/obj/item/gun/launcher/crossbow/bow/proc/unload(mob/user) + var/obj/item/arrow/A = bolt bolt = null drawn = FALSE A.forceMove(get_turf(user)) user.put_in_hands(A) update_icon() -/obj/item/weapon/gun/launcher/crossbow/bow/consume_next_projectile(mob/user) +/obj/item/gun/launcher/crossbow/bow/consume_next_projectile(mob/user) if(!drawn) - to_chat(user, "\The [src] is not drawn back!") + to_chat(user, span_warning("\The [src] is not drawn back!")) return null return bolt -/obj/item/weapon/gun/launcher/crossbow/bow/handle_post_fire(mob/user, atom/target) +/obj/item/gun/launcher/crossbow/bow/handle_post_fire(mob/user, atom/target) bolt = null drawn = FALSE update_icon() ..() -/obj/item/weapon/gun/launcher/crossbow/bow/attack_hand(mob/living/user) +/obj/item/gun/launcher/crossbow/bow/attack_hand(mob/living/user) if(loc == user && bolt && !drawn) - user.visible_message("[user] removes [bolt] from [src].","You remove [bolt] from [src].") + user.visible_message(span_infoplain(span_bold("[user]") + " removes [bolt] from [src]."),span_infoplain("You remove [bolt] from [src].")) unload(user) else return ..() -/obj/item/weapon/gun/launcher/crossbow/bow/attack_self(mob/living/user) +/obj/item/gun/launcher/crossbow/bow/attack_self(mob/living/user) if(drawn) - user.visible_message("[user] relaxes the tension on [src]'s string.","You relax the tension on [src]'s string.") + user.visible_message(span_infoplain(span_bold("[user]") + " relaxes the tension on [src]'s string."),span_infoplain("You relax the tension on [src]'s string.")) drawn = FALSE update_icon() else draw(user) -/obj/item/weapon/gun/launcher/crossbow/bow/draw(var/mob/user) +/obj/item/gun/launcher/crossbow/bow/draw(var/mob/user) if(!bolt) - to_chat(user, "You don't have anything nocked to [src].") + to_chat(user, span_infoplain("You don't have anything nocked to [src].")) return if(user.restrained()) return current_user = user - user.visible_message("[user] begins to draw back the string of [src].","You begin to draw back the string of [src].") + user.visible_message(span_infoplain(span_bold("[user]") + " begins to draw back the string of [src]."),span_notice("You begin to draw back the string of [src].")) if(do_after(user, 25, src, exclusive = TASK_ALL_EXCLUSIVE)) drawn = TRUE - user.visible_message("[user] draws the string on [src] back fully!", "You draw the string on [src] back fully!") + user.visible_message(span_infoplain(span_bold("[user]") + "draws the string on [src] back fully!"), span_infoplain("You draw the string on [src] back fully!")) update_icon() -/obj/item/weapon/gun/launcher/crossbow/bow/attackby(obj/item/W as obj, mob/user) - if(!bolt && istype(W,/obj/item/weapon/arrow/standard)) +/obj/item/gun/launcher/crossbow/bow/attackby(obj/item/W as obj, mob/user) + if(!bolt && istype(W,/obj/item/arrow/standard)) user.drop_from_inventory(W, src) bolt = W - user.visible_message("[user] slides [bolt] into [src].","You slide [bolt] into [src].") + user.visible_message(span_infoplain("[user] slides [bolt] into [src]."),span_infoplain("You slide [bolt] into [src].")) update_icon() -/obj/item/weapon/gun/launcher/crossbow/bow/update_icon() +/obj/item/gun/launcher/crossbow/bow/update_icon() if(drawn) icon_state = "[initial(icon_state)]_firing" else if(bolt) @@ -117,24 +117,24 @@ -/obj/item/weapon/gun/launcher/crossbow/bow/hardlight +/obj/item/gun/launcher/crossbow/bow/hardlight name = "hardlight bow" icon_state = "bow_hardlight" item_state = "bow_hardlight" desc = "An energy bow, capable of producing arrows from an internal power supply." -/obj/item/weapon/gun/launcher/crossbow/bow/hardlight/unload(mob/user) +/obj/item/gun/launcher/crossbow/bow/hardlight/unload(mob/user) qdel_null(bolt) update_icon() -/obj/item/weapon/gun/launcher/crossbow/bow/hardlight/attack_self(mob/living/user) +/obj/item/gun/launcher/crossbow/bow/hardlight/attack_self(mob/living/user) if(drawn) - user.visible_message("[user] relaxes the tension on [src]'s string.","You relax the tension on [src]'s string.") + user.visible_message(span_infoplain(span_bold("[user]") + " relaxes the tension on [src]'s string."),span_infoplain("You relax the tension on [src]'s string.")) drawn = FALSE update_icon() else if(!bolt) - user.visible_message("[user] fabricates a new hardlight projectile with [src].","You fabricate a new hardlight projectile with [src].") - bolt = new /obj/item/weapon/arrow/energy(src) + user.visible_message(span_infoplain(span_bold("[user]") + " fabricates a new hardlight projectile with [src]."),span_infoplain("You fabricate a new hardlight projectile with [src].")) + bolt = new /obj/item/arrow/energy(src) update_icon() else draw(user) diff --git a/code/modules/projectiles/guns/launcher/confetti.dm b/code/modules/projectiles/guns/launcher/confetti.dm index f6cffa45cb0..547ea78288b 100644 --- a/code/modules/projectiles/guns/launcher/confetti.dm +++ b/code/modules/projectiles/guns/launcher/confetti.dm @@ -1,5 +1,5 @@ //The confetti cannon is a simple weapon meant to be a toy. You shoot confetti at people and it makes a funny sound. Don't give this any combat use. -/obj/item/weapon/gun/launcher/confetti_cannon +/obj/item/gun/launcher/confetti_cannon name = "confetti cannon" desc = "For those times when you absolutely need colored paper everywhere." icon = 'icons/obj/weapons_vr.dmi' @@ -9,18 +9,18 @@ origin_tech = list(TECH_COMBAT = 1, TECH_MATERIAL = 2) throw_distance = 7 release_force = 5 - var/obj/item/weapon/grenade/confetti/party_ball/chambered = null + var/obj/item/grenade/confetti/party_ball/chambered = null var/confetti_charge = 0 var/max_confetti = 20 -/obj/item/weapon/gun/launcher/confetti_cannon/examine(mob/user) +/obj/item/gun/launcher/confetti_cannon/examine(mob/user) . = ..() if(get_dist(user, src) <= 2) . += span_blue("It's loaded with [confetti_charge] ball\s of confetti.") -/obj/item/weapon/gun/launcher/confetti_cannon/attackby(obj/item/I as obj, mob/user as mob) - if(istype(I, /obj/item/weapon/paper) || istype(I, /obj/item/weapon/shreddedp)) +/obj/item/gun/launcher/confetti_cannon/attackby(obj/item/I as obj, mob/user as mob) + if(istype(I, /obj/item/paper) || istype(I, /obj/item/shreddedp)) if(confetti_charge < max_confetti) user.drop_item() ++confetti_charge @@ -29,11 +29,11 @@ else to_chat(usr, span_red("[src] cannot hold more paper.")) -/obj/item/weapon/gun/launcher/confetti_cannon/proc/pump(mob/M as mob) +/obj/item/gun/launcher/confetti_cannon/proc/pump(mob/M as mob) playsound(M, 'sound/weapons/shotgunpump.ogg', 60, 1) if(!chambered) if(confetti_charge) - chambered = new /obj/item/weapon/grenade/confetti/party_ball + chambered = new /obj/item/grenade/confetti/party_ball --confetti_charge to_chat(usr, span_blue("You compress a new confetti ball.")) else @@ -41,24 +41,24 @@ else to_chat(usr, span_red("The [src] is already loaded!")) -/obj/item/weapon/gun/launcher/confetti_cannon/attack_self(mob/user) +/obj/item/gun/launcher/confetti_cannon/attack_self(mob/user) pump(user) -/obj/item/weapon/gun/launcher/confetti_cannon/consume_next_projectile() +/obj/item/gun/launcher/confetti_cannon/consume_next_projectile() if(chambered) chambered.activate(null) return chambered -/obj/item/weapon/gun/launcher/confetti_cannon/handle_post_fire(mob/user) +/obj/item/gun/launcher/confetti_cannon/handle_post_fire(mob/user) chambered = null -/obj/item/weapon/gun/launcher/confetti_cannon/overdrive +/obj/item/gun/launcher/confetti_cannon/overdrive name = "overdrive confetti cannon" desc = "For those times when you absolutely need colored paper everywhere, EVERYWHERE." confetti_charge = 100 max_confetti = 100 -/obj/item/weapon/gun/launcher/confetti_cannon/fake_shottie +/obj/item/gun/launcher/confetti_cannon/fake_shottie name = "horror movie shotgun" desc = "The one necessary for survival of any Final Girl." icon = 'icons/obj/gun2.dmi' @@ -66,11 +66,11 @@ item_state = "ithaca" confetti_charge = 20 -/obj/item/weapon/gun/launcher/confetti_cannon/robot +/obj/item/gun/launcher/confetti_cannon/robot name = "Party Cannon" desc = "Confetti, pies, banana peels, chaos!" -/obj/item/weapon/gun/launcher/confetti_cannon/robot/pump(mob/M as mob) +/obj/item/gun/launcher/confetti_cannon/robot/pump(mob/M as mob) playsound(M, 'sound/weapons/shotgunpump.ogg', 60, 1) if(!chambered) var/choice = tgui_alert(usr, "Load the Party Canon with?", "Change What?", list("Confetti","Banana Peel","Cream Pie")) @@ -84,18 +84,18 @@ playsound(src, 'sound/effects/pop.ogg', 50, 0) switch(choice) if("Confetti") - chambered = new /obj/item/weapon/grenade/confetti/party_ball + chambered = new /obj/item/grenade/confetti/party_ball to_chat(usr, span_blue("Confetti loaded.")) if("Banana Peel") - chambered = new /obj/item/weapon/bananapeel + chambered = new /obj/item/bananapeel to_chat(usr, span_blue("Banana peel loaded.")) if("Cream Pie") - chambered = new /obj/item/weapon/reagent_containers/food/snacks/pie + chambered = new /obj/item/reagent_containers/food/snacks/pie to_chat(usr, span_blue("Banana cream pie loaded.")) else to_chat(usr, span_red("The [src] is already loaded!")) -/obj/item/weapon/gun/launcher/confetti_cannon/robot/consume_next_projectile() - if(istype(chambered,/obj/item/weapon/grenade/confetti/party_ball)) +/obj/item/gun/launcher/confetti_cannon/robot/consume_next_projectile() + if(istype(chambered,/obj/item/grenade/confetti/party_ball)) chambered.activate(null) return chambered diff --git a/code/modules/projectiles/guns/launcher/crossbow.dm b/code/modules/projectiles/guns/launcher/crossbow.dm index aba55b268df..2c50e021e27 100644 --- a/code/modules/projectiles/guns/launcher/crossbow.dm +++ b/code/modules/projectiles/guns/launcher/crossbow.dm @@ -1,6 +1,6 @@ //AMMUNITION -/obj/item/weapon/arrow +/obj/item/arrow name = "bolt" desc = "It's got a tip for you - get the point?" icon = 'icons/obj/weapons.dmi' @@ -13,10 +13,10 @@ sharp = TRUE edge = FALSE -/obj/item/weapon/arrow/proc/removed() //Helper for metal rods falling apart. +/obj/item/arrow/proc/removed() //Helper for metal rods falling apart. return -/obj/item/weapon/spike +/obj/item/spike name = "alloy spike" desc = "It's about a foot of weird silver metal with a wicked point." sharp = TRUE @@ -29,7 +29,7 @@ drop_sound = 'sound/items/drop/sword.ogg' pickup_sound = 'sound/items/pickup/sword.ogg' -/obj/item/weapon/arrow/quill +/obj/item/arrow/quill name = "alien quill" desc = "A wickedly barbed quill from some bizarre animal." icon = 'icons/obj/weapons.dmi' @@ -37,19 +37,19 @@ item_state = "quill" throwforce = 5 -/obj/item/weapon/arrow/rod +/obj/item/arrow/rod name = "metal rod" desc = "Don't cry for me, Orithena." icon_state = "metal-rod" -/obj/item/weapon/arrow/rod/removed(mob/user) +/obj/item/arrow/rod/removed(mob/user) if(throwforce == 15) // The rod has been superheated - we don't want it to be useable when removed from the bow. to_chat(user , "[src] shatters into a scattering of overstressed metal shards as it leaves the crossbow.") - var/obj/item/weapon/material/shard/shrapnel/S = new() + var/obj/item/material/shard/shrapnel/S = new() S.loc = get_turf(src) qdel(src) -/obj/item/weapon/gun/launcher/crossbow +/obj/item/gun/launcher/crossbow name = "powered crossbow" desc = "A 2320AD twist on an old classic. Pick up that can." //VOREStation Edit icon = 'icons/obj/weapons.dmi' @@ -64,30 +64,30 @@ var/tension = 0 // Current draw on the bow. var/max_tension = 5 // Highest possible tension. var/release_speed = 5 // Speed per unit of tension. - var/obj/item/weapon/cell/cell = null // Used for firing superheated rods. + var/obj/item/cell/cell = null // Used for firing superheated rods. var/current_user // Used to check if the crossbow has changed hands since being drawn. -/obj/item/weapon/gun/launcher/crossbow/update_release_force() +/obj/item/gun/launcher/crossbow/update_release_force() release_force = tension*release_speed -/obj/item/weapon/gun/launcher/crossbow/consume_next_projectile(mob/user=null) +/obj/item/gun/launcher/crossbow/consume_next_projectile(mob/user=null) if(tension <= 0) - to_chat(user, "\The [src] is not drawn back!") + to_chat(user, span_warning("\The [src] is not drawn back!")) return null return bolt -/obj/item/weapon/gun/launcher/crossbow/handle_post_fire(mob/user, atom/target) +/obj/item/gun/launcher/crossbow/handle_post_fire(mob/user, atom/target) bolt = null tension = 0 update_icon() ..() -/obj/item/weapon/gun/launcher/crossbow/attack_self(mob/living/user as mob) +/obj/item/gun/launcher/crossbow/attack_self(mob/living/user as mob) if(tension) if(bolt) user.visible_message("[user] relaxes the tension on [src]'s string and removes [bolt].","You relax the tension on [src]'s string and remove [bolt].") bolt.loc = get_turf(src) - var/obj/item/weapon/arrow/A = bolt + var/obj/item/arrow/A = bolt bolt = null A.removed(user) else @@ -97,7 +97,7 @@ else draw(user) -/obj/item/weapon/gun/launcher/crossbow/proc/draw(var/mob/user as mob) +/obj/item/gun/launcher/crossbow/proc/draw(var/mob/user as mob) if(!bolt) to_chat(user, "You don't have anything nocked to [src].") @@ -107,12 +107,12 @@ return current_user = user - user.visible_message("[user] begins to draw back the string of [src].","You begin to draw back the string of [src].") + user.visible_message("[user] begins to draw back the string of [src].",span_notice("You begin to draw back the string of [src].")) tension = 1 while(bolt && tension && loc == current_user) if(!do_after(user, 25)) //crossbow strings don't just magically pull back on their own. - user.visible_message("[usr] stops drawing and relaxes the string of [src].","You stop drawing back and relax the string of [src].") + user.visible_message("[usr] stops drawing and relaxes the string of [src].",span_warning("You stop drawing back and relax the string of [src].")) tension = 0 update_icon() return @@ -129,17 +129,17 @@ to_chat(usr, "[src] clunks as you draw the string to its maximum tension!") return - user.visible_message("[usr] draws back the string of [src]!","You continue drawing back the string of [src]!") + user.visible_message("[usr] draws back the string of [src]!",span_notice("You continue drawing back the string of [src]!")) -/obj/item/weapon/gun/launcher/crossbow/proc/increase_tension(var/mob/user as mob) +/obj/item/gun/launcher/crossbow/proc/increase_tension(var/mob/user as mob) if(!bolt || !tension || current_user != user) //Arrow has been fired, bow has been relaxed or user has changed. return -/obj/item/weapon/gun/launcher/crossbow/attackby(obj/item/W as obj, mob/user as mob) +/obj/item/gun/launcher/crossbow/attackby(obj/item/W as obj, mob/user as mob) if(!bolt) - if (istype(W,/obj/item/weapon/arrow)) + if (istype(W,/obj/item/arrow)) user.drop_from_inventory(W, src) bolt = W user.visible_message("[user] slides [bolt] into [src].","You slide [bolt] into [src].") @@ -148,7 +148,7 @@ else if(istype(W,/obj/item/stack/rods)) var/obj/item/stack/rods/R = W if (R.use(1)) - bolt = new /obj/item/weapon/arrow/rod(src) + bolt = new /obj/item/arrow/rod(src) bolt.fingerprintslast = src.fingerprintslast bolt.loc = src update_icon() @@ -156,41 +156,41 @@ superheat_rod(user) return - if(istype(W, /obj/item/weapon/cell)) + if(istype(W, /obj/item/cell)) if(!cell) user.drop_item() cell = W cell.loc = src - to_chat(user, "You jam [cell] into [src] and wire it to the firing coil.") + to_chat(user, span_notice("You jam [cell] into [src] and wire it to the firing coil.")) superheat_rod(user) else - to_chat(user, "[src] already has a cell installed.") + to_chat(user, span_notice("[src] already has a cell installed.")) else if(W.has_tool_quality(TOOL_SCREWDRIVER)) if(cell) var/obj/item/C = cell C.loc = get_turf(user) - to_chat(user, "You jimmy [cell] out of [src] with [W].") + to_chat(user, span_notice("You jimmy [cell] out of [src] with [W].")) playsound(src, W.usesound, 50, 1) cell = null else - to_chat(user, "[src] doesn't have a cell installed.") + to_chat(user, span_notice("[src] doesn't have a cell installed.")) else ..() -/obj/item/weapon/gun/launcher/crossbow/proc/superheat_rod(var/mob/user) +/obj/item/gun/launcher/crossbow/proc/superheat_rod(var/mob/user) if(!user || !cell || !bolt) return if(cell.charge < 500) return if(bolt.throwforce >= 15) return - if(!istype(bolt,/obj/item/weapon/arrow/rod)) return + if(!istype(bolt,/obj/item/arrow/rod)) return - to_chat(user, "[bolt] plinks and crackles as it begins to glow red-hot.") + to_chat(user, span_notice("[bolt] plinks and crackles as it begins to glow red-hot.")) bolt.throwforce = 15 bolt.icon_state = "metal-rod-superheated" cell.use(500) -/obj/item/weapon/gun/launcher/crossbow/update_icon() +/obj/item/gun/launcher/crossbow/update_icon() if(tension > 1) icon_state = "crossbow-drawn" else if(bolt) @@ -200,7 +200,7 @@ // Crossbow construction. -/obj/item/weapon/crossbowframe +/obj/item/crossbowframe name = "crossbow frame" desc = "A half-finished crossbow." icon_state = "crossbowframe0" @@ -208,10 +208,10 @@ var/buildstate = 0 -/obj/item/weapon/crossbowframe/update_icon() +/obj/item/crossbowframe/update_icon() icon_state = "crossbowframe[buildstate]" -/obj/item/weapon/crossbowframe/examine(mob/user) +/obj/item/crossbowframe/examine(mob/user) . = ..() switch(buildstate) if(1) @@ -225,24 +225,24 @@ if(5) . += "It has a steel cable loosely strung across the lath." -/obj/item/weapon/crossbowframe/attackby(obj/item/W as obj, mob/user as mob) +/obj/item/crossbowframe/attackby(obj/item/W as obj, mob/user as mob) if(istype(W,/obj/item/stack/rods)) if(buildstate == 0) var/obj/item/stack/rods/R = W if(R.use(3)) - to_chat(user, "You assemble a backbone of rods around the wooden stock.") + to_chat(user, span_notice("You assemble a backbone of rods around the wooden stock.")) buildstate++ update_icon() else - to_chat(user, "You need at least three rods to complete this task.") + to_chat(user, span_notice("You need at least three rods to complete this task.")) return else if(W.has_tool_quality(TOOL_WELDER)) if(buildstate == 1) - var/obj/item/weapon/weldingtool/T = W.get_welder() + var/obj/item/weldingtool/T = W.get_welder() if(T.remove_fuel(0,user)) if(!src || !T.isOn()) return playsound(src, W.usesound, 50, 1) - to_chat(user, "You weld the rods into place.") + to_chat(user, span_notice("You weld the rods into place.")) buildstate++ update_icon() return @@ -250,35 +250,35 @@ var/obj/item/stack/cable_coil/C = W if(buildstate == 2) if(C.use(5)) - to_chat(user, "You wire a crude cell mount into the top of the crossbow.") + to_chat(user, span_notice("You wire a crude cell mount into the top of the crossbow.")) buildstate++ update_icon() else - to_chat(user, "You need at least five segments of cable coil to complete this task.") + to_chat(user, span_notice("You need at least five segments of cable coil to complete this task.")) return else if(buildstate == 4) if(C.use(5)) - to_chat(user, "You string a steel cable across the crossbow's lath.") + to_chat(user, span_notice("You string a steel cable across the crossbow's lath.")) buildstate++ update_icon() else - to_chat(user, "You need at least five segments of cable coil to complete this task.") + to_chat(user, span_notice("You need at least five segments of cable coil to complete this task.")) return else if(istype(W,/obj/item/stack/material) && W.get_material_name() == "plastic") if(buildstate == 3) var/obj/item/stack/material/P = W if(P.use(3)) - to_chat(user, "You assemble and install a heavy plastic lath onto the crossbow.") + to_chat(user, span_notice("You assemble and install a heavy plastic lath onto the crossbow.")) buildstate++ update_icon() else - to_chat(user, "You need at least three plastic sheets to complete this task.") + to_chat(user, span_notice("You need at least three plastic sheets to complete this task.")) return else if(W.has_tool_quality(TOOL_SCREWDRIVER)) if(buildstate == 5) - to_chat(user, "You secure the crossbow's various parts.") + to_chat(user, span_notice("You secure the crossbow's various parts.")) playsound(src, W.usesound, 50, 1) - new /obj/item/weapon/gun/launcher/crossbow(get_turf(src)) + new /obj/item/gun/launcher/crossbow(get_turf(src)) qdel(src) return else diff --git a/code/modules/projectiles/guns/launcher/grenade_launcher.dm b/code/modules/projectiles/guns/launcher/grenade_launcher.dm index 619ccda825e..bd199941d84 100644 --- a/code/modules/projectiles/guns/launcher/grenade_launcher.dm +++ b/code/modules/projectiles/guns/launcher/grenade_launcher.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/gun/launcher/grenade +/obj/item/gun/launcher/grenade name = "grenade launcher" desc = "A bulky pump-action grenade launcher. Holds up to 6 grenades in a revolving magazine." icon_state = "riotgun" @@ -12,16 +12,16 @@ throw_distance = 7 release_force = 5 - var/obj/item/weapon/grenade/chambered + var/obj/item/grenade/chambered var/list/grenades = new/list() var/max_grenades = 5 //holds this + one in the chamber matter = list(MAT_STEEL = 2000) //revolves the magazine, allowing players to choose between multiple grenade types -/obj/item/weapon/gun/launcher/grenade/proc/pump(mob/M as mob) +/obj/item/gun/launcher/grenade/proc/pump(mob/M as mob) playsound(M, 'sound/weapons/shotgunpump.ogg', 60, 1) - var/obj/item/weapon/grenade/next + var/obj/item/grenade/next if(grenades.len) next = grenades[1] //get this first, so that the chambered grenade can still be removed if the grenades list is empty if(chambered) @@ -30,12 +30,12 @@ if(next) grenades -= next //Remove grenade from loaded list. chambered = next - to_chat(M, "You pump [src], loading \a [next] into the chamber.") + to_chat(M, span_warning("You pump [src], loading \a [next] into the chamber.")) else - to_chat(M, "You pump [src], but the magazine is empty.") + to_chat(M, span_warning("You pump [src], but the magazine is empty.")) update_icon() -/obj/item/weapon/gun/launcher/grenade/examine(mob/user) +/obj/item/gun/launcher/grenade/examine(mob/user) . = ..() if(get_dist(user, src) <= 2) var/grenade_count = grenades.len + (chambered? 1 : 0) @@ -43,83 +43,83 @@ if(chambered) . += "\A [chambered] is chambered." -/obj/item/weapon/gun/launcher/grenade/proc/load(obj/item/weapon/grenade/G, mob/user) +/obj/item/gun/launcher/grenade/proc/load(obj/item/grenade/G, mob/user) if(G.loadable) if(grenades.len >= max_grenades) - to_chat(user, "[src] is full.") + to_chat(user, span_warning("[src] is full.")) return user.remove_from_mob(G) G.loc = src grenades.Insert(1, G) //add to the head of the list, so that it is loaded on the next pump - user.visible_message("[user] inserts \a [G] into [src].", "You insert \a [G] into [src].") + user.visible_message("[user] inserts \a [G] into [src].", span_notice("You insert \a [G] into [src].")) return - to_chat(user, "[G] doesn't seem to fit in the [src]!") + to_chat(user, span_warning("[G] doesn't seem to fit in the [src]!")) -/obj/item/weapon/gun/launcher/grenade/proc/unload(mob/user) +/obj/item/gun/launcher/grenade/proc/unload(mob/user) if(grenades.len) - var/obj/item/weapon/grenade/G = grenades[grenades.len] + var/obj/item/grenade/G = grenades[grenades.len] grenades.len-- user.put_in_hands(G) - user.visible_message("[user] removes \a [G] from [src].", "You remove \a [G] from [src].") + user.visible_message("[user] removes \a [G] from [src].", span_notice("You remove \a [G] from [src].")) playsound(src, 'sound/weapons/empty.ogg', 50, 1) else - to_chat(user, "[src] is empty.") + to_chat(user, span_warning("[src] is empty.")) -/obj/item/weapon/gun/launcher/grenade/attack_self(mob/user) +/obj/item/gun/launcher/grenade/attack_self(mob/user) pump(user) -/obj/item/weapon/gun/launcher/grenade/attackby(obj/item/I, mob/user) - if((istype(I, /obj/item/weapon/grenade))) +/obj/item/gun/launcher/grenade/attackby(obj/item/I, mob/user) + if((istype(I, /obj/item/grenade))) load(I, user) else ..() -/obj/item/weapon/gun/launcher/grenade/attack_hand(mob/user) +/obj/item/gun/launcher/grenade/attack_hand(mob/user) if(user.get_inactive_hand() == src) unload(user) else ..() -/obj/item/weapon/gun/launcher/grenade/consume_next_projectile() +/obj/item/gun/launcher/grenade/consume_next_projectile() if(chambered) chambered.det_time = 10 chambered.activate(null) return chambered -/obj/item/weapon/gun/launcher/grenade/handle_post_fire(mob/user) +/obj/item/gun/launcher/grenade/handle_post_fire(mob/user) message_admins("[key_name_admin(user)] fired a grenade ([chambered.name]) from a grenade launcher ([src.name]).") log_game("[key_name_admin(user)] used a grenade ([chambered.name]).") chambered = null //Underslung grenade launcher to be used with the Z8 -/obj/item/weapon/gun/launcher/grenade/underslung +/obj/item/gun/launcher/grenade/underslung name = "underslung grenade launcher" desc = "Not much more than a tube and a firing mechanism, this grenade launcher is designed to be fitted to a rifle." w_class = ITEMSIZE_NORMAL force = 5 max_grenades = 0 -/obj/item/weapon/gun/launcher/grenade/underslung/attack_self() +/obj/item/gun/launcher/grenade/underslung/attack_self() return //load and unload directly into chambered -/obj/item/weapon/gun/launcher/grenade/underslung/load(obj/item/weapon/grenade/G, mob/user) +/obj/item/gun/launcher/grenade/underslung/load(obj/item/grenade/G, mob/user) if(G.loadable) if(chambered) - to_chat(user, "[src] is already loaded.") + to_chat(user, span_warning("[src] is already loaded.")) return user.remove_from_mob(G) G.loc = src chambered = G - user.visible_message("[user] load \a [G] into [src].", "You load \a [G] into [src].") + user.visible_message("[user] load \a [G] into [src].", span_notice("You load \a [G] into [src].")) return - to_chat(user, "[G] doesn't seem to fit in the [src]!") + to_chat(user, span_warning("[G] doesn't seem to fit in the [src]!")) -/obj/item/weapon/gun/launcher/grenade/underslung/unload(mob/user) +/obj/item/gun/launcher/grenade/underslung/unload(mob/user) if(chambered) user.put_in_hands(chambered) - user.visible_message("[user] removes \a [chambered] from [src].", "You remove \a [chambered] from [src].") + user.visible_message("[user] removes \a [chambered] from [src].", span_notice("You remove \a [chambered] from [src].")) playsound(src, 'sound/weapons/empty.ogg', 50, 1) chambered = null else - to_chat(user, "[src] is empty.") \ No newline at end of file + to_chat(user, span_warning("[src] is empty.")) diff --git a/code/modules/projectiles/guns/launcher/pneumatic.dm b/code/modules/projectiles/guns/launcher/pneumatic.dm index 1e75a9b1d2d..0c694388ac7 100644 --- a/code/modules/projectiles/guns/launcher/pneumatic.dm +++ b/code/modules/projectiles/guns/launcher/pneumatic.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/gun/launcher/pneumatic +/obj/item/gun/launcher/pneumatic name = "pneumatic cannon" desc = "A large gas-powered cannon." icon_state = "pneumatic" @@ -12,15 +12,15 @@ var/fire_pressure // Used in fire checks/pressure checks. var/max_w_class = ITEMSIZE_NORMAL // Hopper intake size. var/max_storage_space = ITEMSIZE_COST_NORMAL * 5 // Total internal storage size. - var/obj/item/weapon/tank/tank = null // Tank of gas for use in firing the cannon. + var/obj/item/tank/tank = null // Tank of gas for use in firing the cannon. - var/obj/item/weapon/storage/item_storage + var/obj/item/storage/item_storage var/pressure_setting = 10 // Percentage of the gas in the tank used to fire the projectile. var/possible_pressure_amounts = list(5,10,20,25,50) // Possible pressure settings. var/force_divisor = 400 // Force equates to speed. Speed/5 equates to a damage multiplier for whoever you hit. // For reference, a fully pressurized oxy tank at 50% gas release firing a health // analyzer with a force_divisor of 10 hit with a damage multiplier of 3000+. -/obj/item/weapon/gun/launcher/pneumatic/New() +/obj/item/gun/launcher/pneumatic/New() ..() item_storage = new(src) item_storage.name = "hopper" @@ -28,7 +28,7 @@ item_storage.max_storage_space = max_storage_space item_storage.use_sound = null -/obj/item/weapon/gun/launcher/pneumatic/verb/set_pressure() //set amount of tank pressure. +/obj/item/gun/launcher/pneumatic/verb/set_pressure() //set amount of tank pressure. set name = "Set Valve Pressure" set category = "Object" set src in range(0) @@ -37,7 +37,7 @@ pressure_setting = N to_chat(usr, "You dial the pressure valve to [pressure_setting]%.") -/obj/item/weapon/gun/launcher/pneumatic/proc/eject_tank(mob/user) //Remove the tank. +/obj/item/gun/launcher/pneumatic/proc/eject_tank(mob/user) //Remove the tank. if(!tank) to_chat(user, "There's no tank in [src].") return @@ -47,7 +47,7 @@ tank = null update_icon() -/obj/item/weapon/gun/launcher/pneumatic/proc/unload_hopper(mob/user) +/obj/item/gun/launcher/pneumatic/proc/unload_hopper(mob/user) if(item_storage.contents.len > 0) var/obj/item/removing = item_storage.contents[item_storage.contents.len] item_storage.remove_from_storage(removing, src.loc) @@ -57,14 +57,14 @@ else to_chat(user, "There is nothing to remove in \the [src].") -/obj/item/weapon/gun/launcher/pneumatic/attack_hand(mob/user as mob) +/obj/item/gun/launcher/pneumatic/attack_hand(mob/user as mob) if(user.get_inactive_hand() == src) unload_hopper(user) else return ..() -/obj/item/weapon/gun/launcher/pneumatic/attackby(obj/item/W as obj, mob/user as mob) - if(!tank && istype(W,/obj/item/weapon/tank)) +/obj/item/gun/launcher/pneumatic/attackby(obj/item/W as obj, mob/user as mob) + if(!tank && istype(W,/obj/item/tank)) user.drop_from_inventory(W, src) tank = W user.visible_message("[user] jams [W] into [src]'s valve and twists it closed.","You jam [W] into [src]'s valve and twist it closed.") @@ -72,10 +72,10 @@ else if(istype(W) && item_storage.can_be_inserted(W)) item_storage.handle_item_insertion(W) -/obj/item/weapon/gun/launcher/pneumatic/attack_self(mob/user as mob) +/obj/item/gun/launcher/pneumatic/attack_self(mob/user as mob) eject_tank(user) -/obj/item/weapon/gun/launcher/pneumatic/consume_next_projectile(mob/user=null) +/obj/item/gun/launcher/pneumatic/consume_next_projectile(mob/user=null) if(!item_storage.contents.len) return null if (!tank) @@ -98,7 +98,7 @@ item_storage.remove_from_storage(launched, src) return launched -/obj/item/weapon/gun/launcher/pneumatic/examine(mob/user) +/obj/item/gun/launcher/pneumatic/examine(mob/user) . = ..() if(get_dist(user, src) <= 2) . += "The valve is dialed to [pressure_setting]%." @@ -107,14 +107,14 @@ else . += "Nothing is attached to the tank valve!" -/obj/item/weapon/gun/launcher/pneumatic/update_release_force(obj/item/projectile) +/obj/item/gun/launcher/pneumatic/update_release_force(obj/item/projectile) if(tank) release_force = ((fire_pressure*tank.volume)/projectile.w_class)/force_divisor //projectile speed. if(release_force > 80) release_force = 80 //damage cap. else release_force = 0 -/obj/item/weapon/gun/launcher/pneumatic/handle_post_fire() +/obj/item/gun/launcher/pneumatic/handle_post_fire() if(tank) var/lost_gas_amount = tank.air_contents.total_moles*(pressure_setting/100) var/datum/gas_mixture/removed = tank.air_contents.remove(lost_gas_amount) @@ -123,7 +123,7 @@ if(T) T.assume_air(removed) ..() -/obj/item/weapon/gun/launcher/pneumatic/update_icon() +/obj/item/gun/launcher/pneumatic/update_icon() if(tank) icon_state = "pneumatic-tank" item_state = "pneumatic-tank" @@ -138,7 +138,7 @@ //Constructable pneumatic cannon. -/obj/item/weapon/cannonframe +/obj/item/cannonframe name = "pneumatic cannon frame" desc = "A half-finished pneumatic cannon." icon_state = "pneumatic0" @@ -146,10 +146,10 @@ var/buildstate = 0 -/obj/item/weapon/cannonframe/update_icon() +/obj/item/cannonframe/update_icon() icon_state = "pneumatic[buildstate]" -/obj/item/weapon/cannonframe/examine(mob/user) +/obj/item/cannonframe/examine(mob/user) . = ..() switch(buildstate) if(1) @@ -163,12 +163,12 @@ if(5) . += "It has a transfer valve installed." -/obj/item/weapon/cannonframe/attackby(obj/item/W as obj, mob/user as mob) +/obj/item/cannonframe/attackby(obj/item/W as obj, mob/user as mob) if(istype(W,/obj/item/pipe)) if(buildstate == 0) user.drop_from_inventory(W) qdel(W) - to_chat(user, "You secure the piping inside the frame.") + to_chat(user, span_notice("You secure the piping inside the frame.")) buildstate++ update_icon() return @@ -176,42 +176,42 @@ if(buildstate == 2) var/obj/item/stack/material/M = W if(M.use(5)) - to_chat(user, "You assemble a chassis around the cannon frame.") + to_chat(user, span_notice("You assemble a chassis around the cannon frame.")) buildstate++ update_icon() else - to_chat(user, "You need at least five metal sheets to complete this task.") + to_chat(user, span_notice("You need at least five metal sheets to complete this task.")) return - else if(istype(W,/obj/item/device/transfer_valve)) + else if(istype(W,/obj/item/transfer_valve)) if(buildstate == 4) user.drop_from_inventory(W) qdel(W) - to_chat(user, "You install the transfer valve and connect it to the piping.") + to_chat(user, span_notice("You install the transfer valve and connect it to the piping.")) buildstate++ update_icon() return else if(W.has_tool_quality(TOOL_WELDER)) - var/obj/item/weapon/weldingtool/T = W.get_welder() + var/obj/item/weldingtool/T = W.get_welder() if(buildstate == 1) if(T.remove_fuel(0,user)) if(!src || !T.isOn()) return playsound(src, W.usesound, 100, 1) - to_chat(user, "You weld the pipe into place.") + to_chat(user, span_notice("You weld the pipe into place.")) buildstate++ update_icon() if(buildstate == 3) if(T.remove_fuel(0,user)) if(!src || !T.isOn()) return playsound(src, W.usesound, 100, 1) - to_chat(user, "You weld the metal chassis together.") + to_chat(user, span_notice("You weld the metal chassis together.")) buildstate++ update_icon() if(buildstate == 5) if(T.remove_fuel(0,user)) if(!src || !T.isOn()) return playsound(src, W.usesound, 100, 1) - to_chat(user, "You weld the valve into place.") - new /obj/item/weapon/gun/launcher/pneumatic(get_turf(src)) + to_chat(user, span_notice("You weld the valve into place.")) + new /obj/item/gun/launcher/pneumatic(get_turf(src)) qdel(src) return else diff --git a/code/modules/projectiles/guns/launcher/rocket.dm b/code/modules/projectiles/guns/launcher/rocket.dm index 2ae1996e05a..1e210fb1412 100644 --- a/code/modules/projectiles/guns/launcher/rocket.dm +++ b/code/modules/projectiles/guns/launcher/rocket.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/gun/launcher/rocket +/obj/item/gun/launcher/rocket name = "rocket launcher" desc = "MAGGOT." icon_state = "rocket" @@ -16,12 +16,12 @@ var/max_rockets = 1 var/list/rockets = new/list() -/obj/item/weapon/gun/launcher/rocket/examine(mob/user) +/obj/item/gun/launcher/rocket/examine(mob/user) . = ..() if(get_dist(user, src) <= 2) . += span_blue("[rockets.len] / [max_rockets] rockets.") -/obj/item/weapon/gun/launcher/rocket/attackby(obj/item/I as obj, mob/user as mob) +/obj/item/gun/launcher/rocket/attackby(obj/item/I as obj, mob/user as mob) if(istype(I, /obj/item/ammo_casing/rocket)) if(rockets.len < max_rockets) user.drop_item() @@ -32,14 +32,14 @@ else to_chat(usr, span_red(">[src] cannot hold more rockets.")) -/obj/item/weapon/gun/launcher/rocket/consume_next_projectile() +/obj/item/gun/launcher/rocket/consume_next_projectile() if(rockets.len) var/obj/item/ammo_casing/rocket/I = rockets[1] rockets -= I return new I.projectile_type(src) return null -/obj/item/weapon/gun/launcher/rocket/handle_post_fire(mob/user, atom/target) +/obj/item/gun/launcher/rocket/handle_post_fire(mob/user, atom/target) message_admins("[key_name_admin(user)] fired a rocket from a rocket launcher ([src.name]) at [target].") log_game("[key_name_admin(user)] used a rocket launcher ([src.name]) at [target].") ..() diff --git a/code/modules/projectiles/guns/launcher/syringe_gun.dm b/code/modules/projectiles/guns/launcher/syringe_gun.dm index 3da58638a52..abe75ae6c0c 100644 --- a/code/modules/projectiles/guns/launcher/syringe_gun.dm +++ b/code/modules/projectiles/guns/launcher/syringe_gun.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/syringe_cartridge +/obj/item/syringe_cartridge name = "syringe gun cartridge" desc = "An impact-triggered compressed gas cartridge that can be fitted to a syringe for rapid injection." icon = 'icons/obj/ammo.dmi' @@ -9,27 +9,27 @@ throwforce = 3 force = 3 w_class = ITEMSIZE_TINY - var/obj/item/weapon/reagent_containers/syringe/syringe + var/obj/item/reagent_containers/syringe/syringe -/obj/item/weapon/syringe_cartridge/update_icon() +/obj/item/syringe_cartridge/update_icon() underlays.Cut() if(syringe) underlays += image(syringe.icon, src, syringe.icon_state) underlays += syringe.filling -/obj/item/weapon/syringe_cartridge/attackby(obj/item/I, mob/user) - if(istype(I, /obj/item/weapon/reagent_containers/syringe)) +/obj/item/syringe_cartridge/attackby(obj/item/I, mob/user) + if(istype(I, /obj/item/reagent_containers/syringe)) syringe = I - to_chat(user, "You carefully insert [syringe] into [src].") + to_chat(user, span_notice("You carefully insert [syringe] into [src].")) user.remove_from_mob(syringe) syringe.loc = src sharp = TRUE name = "syringe dart" update_icon() -/obj/item/weapon/syringe_cartridge/attack_self(mob/user) +/obj/item/syringe_cartridge/attack_self(mob/user) if(syringe) - to_chat(user, "You remove [syringe] from [src].") + to_chat(user, span_notice("You remove [syringe] from [src].")) playsound(src, 'sound/weapons/empty.ogg', 50, 1) user.put_in_hands(syringe) syringe = null @@ -37,12 +37,12 @@ name = initial(name) update_icon() -/obj/item/weapon/syringe_cartridge/proc/prime() +/obj/item/syringe_cartridge/proc/prime() //the icon state will revert back when update_icon() is called from throw_impact() icon_state = icon_flight underlays.Cut() -/obj/item/weapon/syringe_cartridge/throw_impact(atom/hit_atom, var/speed) +/obj/item/syringe_cartridge/throw_impact(atom/hit_atom, var/speed) ..() //handles embedding for us. Should have a decent chance if thrown fast enough if(syringe) //check speed to see if we hit hard enough to trigger the rapid injection @@ -61,7 +61,7 @@ icon_state = initial(icon_state) //reset icon state update_icon() -/obj/item/weapon/gun/launcher/syringe +/obj/item/gun/launcher/syringe name = "syringe gun" desc = "A spring loaded rifle designed to fit syringes, designed to incapacitate unruly patients from a distance." icon_state = "syringegun" @@ -79,59 +79,59 @@ var/list/darts = list() var/max_darts = 1 - var/obj/item/weapon/syringe_cartridge/next + var/obj/item/syringe_cartridge/next -/obj/item/weapon/gun/launcher/syringe/consume_next_projectile() +/obj/item/gun/launcher/syringe/consume_next_projectile() if(next) next.prime() return next return null -/obj/item/weapon/gun/launcher/syringe/handle_post_fire() +/obj/item/gun/launcher/syringe/handle_post_fire() ..() darts -= next next = null -/obj/item/weapon/gun/launcher/syringe/attack_self(mob/living/user as mob) +/obj/item/gun/launcher/syringe/attack_self(mob/living/user as mob) if(next) - user.visible_message("[user] unlatches and carefully relaxes the bolt on [src].", "You unlatch and carefully relax the bolt on [src], unloading the spring.") + user.visible_message("[user] unlatches and carefully relaxes the bolt on [src].", span_warning("You unlatch and carefully relax the bolt on [src], unloading the spring.")) next = null else if(darts.len) playsound(src, 'sound/weapons/flipblade.ogg', 50, 1) - user.visible_message("[user] draws back the bolt on [src], clicking it into place.", "You draw back the bolt on the [src], loading the spring!") + user.visible_message("[user] draws back the bolt on [src], clicking it into place.", span_warning("You draw back the bolt on the [src], loading the spring!")) next = darts[1] add_fingerprint(user) -/obj/item/weapon/gun/launcher/syringe/attack_hand(mob/living/user as mob) +/obj/item/gun/launcher/syringe/attack_hand(mob/living/user as mob) if(user.get_inactive_hand() == src) if(!darts.len) - to_chat(user, "[src] is empty.") + to_chat(user, span_warning("[src] is empty.")) return if(next) - to_chat(user, "[src]'s cover is locked shut.") + to_chat(user, span_warning("[src]'s cover is locked shut.")) return - var/obj/item/weapon/syringe_cartridge/C = darts[1] + var/obj/item/syringe_cartridge/C = darts[1] darts -= C user.put_in_hands(C) - user.visible_message("[user] removes \a [C] from [src].", "You remove \a [C] from [src].") + user.visible_message("[user] removes \a [C] from [src].", span_notice("You remove \a [C] from [src].")) playsound(src, 'sound/weapons/empty.ogg', 50, 1) else ..() -/obj/item/weapon/gun/launcher/syringe/attackby(var/obj/item/A as obj, mob/user as mob) - if(istype(A, /obj/item/weapon/syringe_cartridge)) - var/obj/item/weapon/syringe_cartridge/C = A +/obj/item/gun/launcher/syringe/attackby(var/obj/item/A as obj, mob/user as mob) + if(istype(A, /obj/item/syringe_cartridge)) + var/obj/item/syringe_cartridge/C = A if(darts.len >= max_darts) - to_chat(user, "[src] is full!") + to_chat(user, span_warning("[src] is full!")) return user.remove_from_mob(C) C.loc = src darts += C //add to the end - user.visible_message("[user] inserts \a [C] into [src].", "You insert \a [C] into [src].") + user.visible_message("[user] inserts \a [C] into [src].", span_notice("You insert \a [C] into [src].")) else ..() -/obj/item/weapon/gun/launcher/syringe/rapid +/obj/item/gun/launcher/syringe/rapid name = "syringe gun revolver" desc = "A modification of the syringe gun design, using a rotating cylinder to store up to five syringes. The spring still needs to be drawn between shots." icon_state = "rapidsyringegun" diff --git a/code/modules/projectiles/guns/magic.dm b/code/modules/projectiles/guns/magic.dm index 0b0678894fb..2822a9155e8 100644 --- a/code/modules/projectiles/guns/magic.dm +++ b/code/modules/projectiles/guns/magic.dm @@ -2,7 +2,7 @@ * "Magic" "Guns" */ -/obj/item/weapon/gun/magic +/obj/item/gun/magic name = "staff of nothing" desc = "This staff is boring to watch because even though it came first you've seen everything it can do in other staves for years." icon = 'icons/obj/wizard.dmi' @@ -21,8 +21,8 @@ var/charge_tick = 0 var/can_charge = TRUE -/obj/item/weapon/gun/magic/consume_next_projectile() - if(checks_antimagic && locate(/obj/item/weapon/nullrod) in usr) return null +/obj/item/gun/magic/consume_next_projectile() + if(checks_antimagic && locate(/obj/item/nullrod) in usr) return null if(!ispath(projectile_type)) return null if(charges <= 0) return null @@ -30,18 +30,18 @@ return new projectile_type(src) -/obj/item/weapon/gun/magic/Initialize() +/obj/item/gun/magic/Initialize() . = ..() charges = max_charges if(can_charge) START_PROCESSING(SSobj, src) -/obj/item/weapon/gun/magic/Destroy() +/obj/item/gun/magic/Destroy() if(can_charge) STOP_PROCESSING(SSobj, src) return ..() -/obj/item/weapon/gun/magic/process() +/obj/item/gun/magic/process() if (charges >= max_charges) charge_tick = 0 return @@ -52,9 +52,9 @@ charges++ return 1 -/obj/item/weapon/gun/magic/handle_click_empty(mob/user) +/obj/item/gun/magic/handle_click_empty(mob/user) if (user) - user.visible_message("*wzhzhzh*", "The [name] whizzles quietly.") + user.visible_message("*wzhzhzh*", span_danger("The [name] whizzles quietly.")) else src.visible_message("*wzhzh*") playsound(src, 'sound/weapons/empty.ogg', 100, 1) diff --git a/code/modules/projectiles/guns/magic/fireball.dm b/code/modules/projectiles/guns/magic/fireball.dm index 4abe3e286e8..50057c0aee4 100644 --- a/code/modules/projectiles/guns/magic/fireball.dm +++ b/code/modules/projectiles/guns/magic/fireball.dm @@ -1,5 +1,5 @@ -/obj/item/weapon/gun/magic/firestaff +/obj/item/gun/magic/firestaff name = "flaming staff" desc = "A long, everburning torch." icon = 'icons/obj/wizard.dmi' diff --git a/code/modules/projectiles/guns/magnetic/bore.dm b/code/modules/projectiles/guns/magnetic/bore.dm index b390d48ff0d..7a451b5aadc 100644 --- a/code/modules/projectiles/guns/magnetic/bore.dm +++ b/code/modules/projectiles/guns/magnetic/bore.dm @@ -1,21 +1,21 @@ -/obj/item/weapon/gun/magnetic/matfed +/obj/item/gun/magnetic/matfed power_cost = 750 - load_type = list(/obj/item/stack/material, /obj/item/weapon/ore) + load_type = list(/obj/item/stack/material, /obj/item/ore) var/mat_storage = 0 // How much material is stored inside? Input in multiples of 2000 as per auto/protolathe. var/max_mat_storage = 8000 // How much material can be stored inside? var/mat_cost = 500 // How much material is used per-shot? var/ammo_material - var/obj/item/weapon/stock_parts/manipulator/manipulator // Installed manipulator. Mostly for Phoron Bore, higher rating == less mats consumed upon firing. Set to a path to spawn with one of that type. + var/obj/item/stock_parts/manipulator/manipulator // Installed manipulator. Mostly for Phoron Bore, higher rating == less mats consumed upon firing. Set to a path to spawn with one of that type. var/rating_modifier = 0 // rating of installed capacitor + manipulator var/loading = FALSE -/obj/item/weapon/gun/magnetic/matfed/proc/update_rating_mod() +/obj/item/gun/magnetic/matfed/proc/update_rating_mod() if(capacitor && manipulator) rating_modifier = capacitor.get_rating() + manipulator.get_rating() else rating_modifier = FALSE -/obj/item/weapon/gun/magnetic/matfed/Initialize() +/obj/item/gun/magnetic/matfed/Initialize() . = ..() if(ispath(manipulator)) manipulator = new manipulator(src) @@ -23,18 +23,18 @@ mat_cost = initial(mat_cost) / (2*manipulator.rating) update_rating_mod() -/obj/item/weapon/gun/magnetic/matfed/Destroy() +/obj/item/gun/magnetic/matfed/Destroy() QDEL_NULL(manipulator) . = ..() -/obj/item/weapon/gun/magnetic/matfed/examine(mob/user) +/obj/item/gun/magnetic/matfed/examine(mob/user) . = ..() if(manipulator) - . += "The installed [manipulator.name] consumes [mat_cost] units of [ammo_material] per shot." + . += span_notice("The installed [manipulator.name] consumes [mat_cost] units of [ammo_material] per shot.") else - . += "The \"manipulator missing\" indicator is lit. [src] consumes [mat_cost] units of [ammo_material] per shot." + . += span_notice("The \"manipulator missing\" indicator is lit. [src] consumes [mat_cost] units of [ammo_material] per shot.") -/obj/item/weapon/gun/magnetic/matfed/update_icon() +/obj/item/gun/magnetic/matfed/update_icon() var/list/overlays_to_add = list() if(removable_components) if(cell) @@ -53,7 +53,7 @@ overlays = overlays_to_add ..() -/obj/item/weapon/gun/magnetic/matfed/attack_hand(var/mob/user) // It doesn't keep a loaded item inside. +/obj/item/gun/magnetic/matfed/attack_hand(var/mob/user) // It doesn't keep a loaded item inside. if(user.get_inactive_hand() == src) var/obj/item/removing @@ -63,37 +63,37 @@ if(removing) user.put_in_hands(removing) - user.visible_message("\The [user] removes \the [removing] from \the [src].") + user.visible_message(span_infoplain(span_bold("\The [user]") + " removes \the [removing] from \the [src].")) playsound(src, 'sound/machines/click.ogg', 10, 1) update_icon() return . = ..() -/obj/item/weapon/gun/magnetic/matfed/check_ammo() +/obj/item/gun/magnetic/matfed/check_ammo() if(mat_storage - mat_cost >= 0) return TRUE return FALSE -/obj/item/weapon/gun/magnetic/matfed/use_ammo() +/obj/item/gun/magnetic/matfed/use_ammo() mat_storage -= mat_cost -/obj/item/weapon/gun/magnetic/matfed/show_ammo() +/obj/item/gun/magnetic/matfed/show_ammo() if(mat_storage) - return "It has [mat_storage] out of [max_mat_storage] units of [ammo_material] loaded." + return span_notice("It has [mat_storage] out of [max_mat_storage] units of [ammo_material] loaded.") else - return "It\'s out of [ammo_material]!" + return span_warning("It\'s out of [ammo_material]!") -/obj/item/weapon/gun/magnetic/matfed/attackby(var/obj/item/thing, var/mob/user) +/obj/item/gun/magnetic/matfed/attackby(var/obj/item/thing, var/mob/user) . = ..() update_rating_mod() if(removable_components) if(thing.has_tool_quality(TOOL_CROWBAR)) if(!manipulator) - to_chat(user, "\The [src] has no manipulator installed.") + to_chat(user, span_warning("\The [src] has no manipulator installed.")) return user.put_in_hands(manipulator) - user.visible_message("\The [user] levers \the [manipulator] from \the [src].") + user.visible_message(span_infoplain(span_bold("\The [user]") + " levers \the [manipulator] from \the [src].")) playsound(src, thing.usesound, 50, 1) mat_cost = initial(mat_cost) manipulator = null @@ -101,15 +101,15 @@ update_rating_mod() return - if(istype(thing, /obj/item/weapon/stock_parts/manipulator)) + if(istype(thing, /obj/item/stock_parts/manipulator)) if(manipulator) - to_chat(user, "\The [src] already has \a [manipulator] installed.") + to_chat(user, span_warning("\The [src] already has \a [manipulator] installed.")) return manipulator = thing user.drop_from_inventory(manipulator, src) playsound(src, 'sound/machines/click.ogg', 10,1) mat_cost = initial(mat_cost) / (2*manipulator.rating) - user.visible_message("\The [user] slots \the [manipulator] into \the [src].") + user.visible_message(span_infoplain(span_bold("\The [user]") + " slots \the [manipulator] into \the [src].")) update_icon() update_rating_mod() return @@ -122,7 +122,7 @@ return if(mat_storage + SHEET_MATERIAL_AMOUNT > max_mat_storage) - to_chat(user, "\The [src] cannot hold more [ammo_material].") + to_chat(user, span_warning("\The [src] cannot hold more [ammo_material].")) return loading = TRUE while(mat_storage + SHEET_MATERIAL_AMOUNT <= max_mat_storage && do_after(user,1.5 SECONDS)) @@ -137,14 +137,14 @@ return if(mat_storage + (SHEET_MATERIAL_AMOUNT/2*0.8) > max_mat_storage) - to_chat(user, "\The [src] cannot hold more [ammo_material].") + to_chat(user, span_warning("\The [src] cannot hold more [ammo_material].")) return qdel(M) mat_storage += (SHEET_MATERIAL_AMOUNT/2*0.8) //two plasma ores needed per sheet, some inefficiency for not using refined product success = TRUE if(success) - user.visible_message("\The [user] loads \the [src] with \the [M].") + user.visible_message(span_infoplain(span_bold("\The [user]") + " loads \the [src] with \the [M].")) playsound(src, 'sound/weapons/flipblade.ogg', 50, 1) update_icon() return @@ -154,7 +154,7 @@ #define GEN_IDLE 1 #define GEN_ACTIVE 2 -/obj/item/weapon/gun/magnetic/matfed/phoronbore +/obj/item/gun/magnetic/matfed/phoronbore name = "portable phoron bore" desc = "A large man-portable tunnel bore, using phorogenic plasma blasts. Point away from user." description_fluff = "An aging Grayson Manufactories mining tool used for rapidly digging through rock. Mass production was discontinued when many of the devices were stolen and used to break into a high security facility by Boiling Point drones." @@ -173,13 +173,13 @@ power_cost = 100 ammo_material = MAT_PHORON - action_button_name = "Toggle internal generator" + actions_types = list(/datum/action/item_action/toggle_internal_generator) var/generator_state = GEN_OFF var/datum/looping_sound/small_motor/soundloop var/time_started //to keep the soundloop from being "stopped" too soon and playing indefinitely -/obj/item/weapon/gun/magnetic/matfed/phoronbore/consume_next_projectile() +/obj/item/gun/magnetic/matfed/phoronbore/consume_next_projectile() if(!check_ammo() || !capacitor || capacitor.charge < power_cost) return @@ -189,27 +189,27 @@ return new projectile_type(src, rating_modifier) -/obj/item/weapon/gun/magnetic/matfed/phoronbore/examine(mob/user) +/obj/item/gun/magnetic/matfed/phoronbore/examine(mob/user) . = ..() if(rating_modifier) - . += "A display on the side slowly scrolls the text \"BLAST EFFICIENCY [rating_modifier]\"." + . += span_notice("A display on the side slowly scrolls the text \"BLAST EFFICIENCY [rating_modifier]\".") else // rating_mod 0 = something's not right - . += "A display on the side slowly scrolls the text \"ERR: MISSING COMPONENT - EFFICIENCY MODIFICATION INCOMPLETE\"." + . += span_warning("A display on the side slowly scrolls the text \"ERR: MISSING COMPONENT - EFFICIENCY MODIFICATION INCOMPLETE\".") -/obj/item/weapon/gun/magnetic/matfed/phoronbore/Initialize() +/obj/item/gun/magnetic/matfed/phoronbore/Initialize() . = ..() soundloop = new(list(src), 0) -/obj/item/weapon/gun/magnetic/matfed/phoronbore/Destroy() +/obj/item/gun/magnetic/matfed/phoronbore/Destroy() QDEL_NULL(soundloop) . = ..() -/obj/item/weapon/gun/magnetic/matfed/phoronbore/ui_action_click() - toggle_generator(usr) +/obj/item/gun/magnetic/matfed/phoronbore/ui_action_click(mob/user, actiontype) + toggle_generator(user) -/obj/item/weapon/gun/magnetic/matfed/phoronbore/process() +/obj/item/gun/magnetic/matfed/phoronbore/process() if(generator_state && !mat_storage) - audible_message(SPAN_NOTICE("\The [src] goes quiet."),SPAN_NOTICE("A motor noise cuts out."), runemessage = "goes quiet") + audible_message(span_notice("\The [src] goes quiet."),span_notice("A motor noise cuts out."), runemessage = "goes quiet") soundloop.stop() generator_state = GEN_OFF @@ -230,7 +230,7 @@ update_state() -/obj/item/weapon/gun/magnetic/matfed/phoronbore/proc/generator_generate() +/obj/item/gun/magnetic/matfed/phoronbore/proc/generator_generate() var/fuel_used = generator_state == GEN_IDLE ? 5 : 25 var/power_made = fuel_used * 800 * CELLRATE //20kW when active, same power as a pacman on setting one, but less efficient because compact and portable if(cell) @@ -242,9 +242,9 @@ if(T) T.assume_gas("carbon_dioxide", fuel_used * 0.01, T0C+200) -/obj/item/weapon/gun/magnetic/matfed/phoronbore/proc/toggle_generator(mob/living/user) +/obj/item/gun/magnetic/matfed/phoronbore/proc/toggle_generator(mob/living/user) if(!generator_state && !mat_storage) - to_chat(user, SPAN_NOTICE("\The [src] has no fuel!")) + to_chat(user, span_notice("\The [src] has no fuel!")) return else if(!generator_state) @@ -259,17 +259,17 @@ soundloop.start() time_started = world.time cell?.use(100) - audible_message(SPAN_NOTICE("\The [src] starts chugging."),SPAN_NOTICE("A motor noise starts up."), runemessage = "whirr") + audible_message(span_notice("\The [src] starts chugging."),span_notice("A motor noise starts up."), runemessage = "whirr") generator_state = GEN_IDLE else if(generator_state > GEN_OFF && time_started + 3 SECONDS < world.time) soundloop.stop() - audible_message(SPAN_NOTICE("\The [src] goes quiet."),SPAN_NOTICE("A motor noise cuts out."), runemessage = "goes quiet") + audible_message(span_notice("\The [src] goes quiet."),span_notice("A motor noise cuts out."), runemessage = "goes quiet") generator_state = GEN_OFF -/obj/item/weapon/gun/magnetic/matfed/phoronbore/loaded - cell = /obj/item/weapon/cell/apc - capacitor = /obj/item/weapon/stock_parts/capacitor +/obj/item/gun/magnetic/matfed/phoronbore/loaded + cell = /obj/item/cell/apc + capacitor = /obj/item/stock_parts/capacitor #undef GEN_STARTING #undef GEN_OFF diff --git a/code/modules/projectiles/guns/magnetic/gasthrower.dm b/code/modules/projectiles/guns/magnetic/gasthrower.dm index d729719c323..a12e7387a34 100644 --- a/code/modules/projectiles/guns/magnetic/gasthrower.dm +++ b/code/modules/projectiles/guns/magnetic/gasthrower.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/gun/magnetic/gasthrower +/obj/item/gun/magnetic/gasthrower name = "phoronthrower" desc = "A modernized flamethrower utilizing pressurized phoron gas as both a propellant and combustion medium." description_fluff = "A weapon designed to effectively combat the threat posed by Almachi soldiers without the danger of other forms of flamethrower." @@ -19,16 +19,16 @@ removable_components = TRUE gun_unreliable = 0 - load_type = /obj/item/weapon/tank + load_type = /obj/item/tank projectile_type = /obj/item/projectile/scatter/flamethrower power_cost = 250 -/obj/item/weapon/gun/magnetic/gasthrower/check_ammo() +/obj/item/gun/magnetic/gasthrower/check_ammo() if(!loaded || !istype(loaded, load_type)) return 0 - var/obj/item/weapon/tank/Tank = loaded + var/obj/item/tank/Tank = loaded Tank.air_contents.update_values() // Safety @@ -57,22 +57,22 @@ return 0 -/obj/item/weapon/gun/magnetic/gasthrower/use_ammo() - var/obj/item/weapon/tank/Tank = loaded +/obj/item/gun/magnetic/gasthrower/use_ammo() + var/obj/item/tank/Tank = loaded var/moles_to_pull = 0.25 Tank.air_contents.remove(moles_to_pull) -/obj/item/weapon/gun/magnetic/gasthrower/show_ammo(var/mob/user) +/obj/item/gun/magnetic/gasthrower/show_ammo(var/mob/user) . = ..() if(loaded) - var/obj/item/weapon/tank/T = loaded - . += "\The [T]'s pressure meter shows: [T.air_contents.return_pressure()] kpa." + var/obj/item/tank/T = loaded + . += span_notice("\The [T]'s pressure meter shows: [T.air_contents.return_pressure()] kpa.") switch(check_ammo()) if(TRUE) - . += "\The [src]'s display registers a proper fuel mixture." + . += span_notice("\The [src]'s display registers a proper fuel mixture.") if(FALSE) - . += "\The [src]'s display registers an improper fuel mixture." + . += span_warning("\The [src]'s display registers an improper fuel mixture.") diff --git a/code/modules/projectiles/guns/magnetic/magnetic.dm b/code/modules/projectiles/guns/magnetic/magnetic.dm index f1d3e20d7b0..993cc740fa4 100644 --- a/code/modules/projectiles/guns/magnetic/magnetic.dm +++ b/code/modules/projectiles/guns/magnetic/magnetic.dm @@ -5,7 +5,7 @@ #define ICON_READY 16 #define ICON_LOADED 32 -/obj/item/weapon/gun/magnetic +/obj/item/gun/magnetic name = "improvised coilgun" desc = "A coilgun hastily thrown together out of a basic frame and advanced power storage components. Is it safe for it to be duct-taped together like that?" icon_state = "coilgun" @@ -15,8 +15,8 @@ origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 4, TECH_ILLEGAL = 2, TECH_MAGNET = 4) w_class = ITEMSIZE_LARGE - var/obj/item/weapon/cell/cell // Currently installed powercell. - var/obj/item/weapon/stock_parts/capacitor/capacitor // Installed capacitor. Higher rating == faster charge between shots. Set to a path to spawn with one of that type. + var/obj/item/cell/cell // Currently installed powercell. + var/obj/item/stock_parts/capacitor/capacitor // Installed capacitor. Higher rating == faster charge between shots. Set to a path to spawn with one of that type. var/removable_components = TRUE // Whether or not the gun can be dismantled. var/gun_unreliable = 15 // Percentage chance of detonating in your hands. @@ -29,7 +29,7 @@ var/state = 0 -/obj/item/weapon/gun/magnetic/Initialize() +/obj/item/gun/magnetic/Initialize() . = ..() // So you can have some spawn with components if(ispath(cell)) @@ -47,17 +47,17 @@ update_icon() -/obj/item/weapon/gun/magnetic/Destroy() +/obj/item/gun/magnetic/Destroy() STOP_PROCESSING(SSobj, src) QDEL_NULL(cell) QDEL_NULL(loaded) QDEL_NULL(capacitor) . = ..() -/obj/item/weapon/gun/magnetic/get_cell() +/obj/item/gun/magnetic/get_cell() return cell -/obj/item/weapon/gun/magnetic/process() +/obj/item/gun/magnetic/process() if(capacitor) if(cell) if(capacitor.charge < capacitor.max_charge && cell.checked_use(power_per_tick)) @@ -67,7 +67,7 @@ update_state() // May update icon, only if things changed. -/obj/item/weapon/gun/magnetic/proc/update_state() +/obj/item/gun/magnetic/proc/update_state() var/newstate = 0 // Parts or lack thereof @@ -99,7 +99,7 @@ if(needs_update) update_icon() -/obj/item/weapon/gun/magnetic/update_icon() +/obj/item/gun/magnetic/update_icon() cut_overlays() if(state & ICON_CELL) add_overlay("[icon_state]_cell") @@ -116,72 +116,72 @@ ..() -/obj/item/weapon/gun/magnetic/proc/show_ammo() +/obj/item/gun/magnetic/proc/show_ammo() var/list/ammotext = list() if(loaded) - ammotext += "It has \a [loaded] loaded." + ammotext += span_notice("It has \a [loaded] loaded.") return ammotext -/obj/item/weapon/gun/magnetic/examine(var/mob/user) +/obj/item/gun/magnetic/examine(var/mob/user) . = ..() if(get_dist(user, src) <= 2) . += show_ammo() if(cell) - . += "The installed [cell.name] has a charge level of [round((cell.charge/cell.maxcharge)*100)]%." + . += span_notice("The installed [cell.name] has a charge level of [round((cell.charge/cell.maxcharge)*100)]%.") if(capacitor) - . += "The installed [capacitor.name] has a charge level of [round((capacitor.charge/capacitor.max_charge)*100)]%." + . += span_notice("The installed [capacitor.name] has a charge level of [round((capacitor.charge/capacitor.max_charge)*100)]%.") if(state & ICON_BAD) - . += "The capacitor charge indicator is blinking [span_red("red")]. Maybe you should check the cell or capacitor." + . += span_notice("The capacitor charge indicator is blinking [span_red("red")]. Maybe you should check the cell or capacitor.") else if(state & ICON_CHARGE) - . += "The capacitor charge indicator is [span_orange("amber")]." + . += span_notice("The capacitor charge indicator is [span_orange("amber")].") else - . += "The capacitor charge indicator is [span_green("green")]." + . += span_notice("The capacitor charge indicator is [span_green("green")].") -/obj/item/weapon/gun/magnetic/attackby(var/obj/item/thing, var/mob/user) +/obj/item/gun/magnetic/attackby(var/obj/item/thing, var/mob/user) if(removable_components) - if(istype(thing, /obj/item/weapon/cell)) + if(istype(thing, /obj/item/cell)) if(cell) - to_chat(user, "\The [src] already has \a [cell] installed.") + to_chat(user, span_warning("\The [src] already has \a [cell] installed.")) return cell = thing user.drop_from_inventory(cell, src) playsound(src, 'sound/machines/click.ogg', 10, 1) - user.visible_message("\The [user] slots \the [cell] into \the [src].") + user.visible_message(span_infoplain(span_bold("\The [user]") + " slots \the [cell] into \the [src].")) update_icon() return if(thing.has_tool_quality(TOOL_SCREWDRIVER)) if(!capacitor) - to_chat(user, "\The [src] has no capacitor installed.") + to_chat(user, span_warning("\The [src] has no capacitor installed.")) return user.put_in_hands(capacitor) - user.visible_message("\The [user] unscrews \the [capacitor] from \the [src].") + user.visible_message(span_infoplain(span_bold("\The [user]") + " unscrews \the [capacitor] from \the [src].")) playsound(src, thing.usesound, 50, 1) capacitor = null update_icon() return - if(istype(thing, /obj/item/weapon/stock_parts/capacitor)) + if(istype(thing, /obj/item/stock_parts/capacitor)) if(capacitor) - to_chat(user, "\The [src] already has \a [capacitor] installed.") + to_chat(user, span_warning("\The [src] already has \a [capacitor] installed.")) return capacitor = thing user.drop_from_inventory(capacitor, src) playsound(src, 'sound/machines/click.ogg', 10, 1) power_per_tick = (power_cost*0.15) * capacitor.rating - user.visible_message("\The [user] slots \the [capacitor] into \the [src].") + user.visible_message(span_infoplain(span_bold("\The [user]") + " slots \the [capacitor] into \the [src].")) update_icon() return if(istype(thing, load_type)) if(loaded) - to_chat(user, "\The [src] already has \a [loaded] loaded.") + to_chat(user, span_warning("\The [src] already has \a [loaded] loaded.")) return // This is not strictly necessary for the magnetic gun but something using @@ -195,13 +195,13 @@ loaded = new load_type(src, 1) ammo.use(1) - user.visible_message("\The [user] loads \the [src] with \the [loaded].") + user.visible_message(span_infoplain(span_bold("\The [user]") + " loads \the [src] with \the [loaded].")) playsound(src, 'sound/weapons/flipblade.ogg', 50, 1) update_icon() return . = ..() -/obj/item/weapon/gun/magnetic/attack_hand(var/mob/user) +/obj/item/gun/magnetic/attack_hand(var/mob/user) if(user.get_inactive_hand() == src) var/obj/item/removing @@ -215,20 +215,20 @@ if(removing) removing.forceMove(get_turf(src)) user.put_in_hands(removing) - user.visible_message("\The [user] removes \the [removing] from \the [src].") + user.visible_message(span_infoplain(span_bold("\The [user]") + " removes \the [removing] from \the [src].")) playsound(src, 'sound/machines/click.ogg', 10, 1) update_icon() return . = ..() -/obj/item/weapon/gun/magnetic/proc/check_ammo() +/obj/item/gun/magnetic/proc/check_ammo() return loaded -/obj/item/weapon/gun/magnetic/proc/use_ammo() +/obj/item/gun/magnetic/proc/use_ammo() qdel(loaded) loaded = null -/obj/item/weapon/gun/magnetic/consume_next_projectile() +/obj/item/gun/magnetic/consume_next_projectile() if(!check_ammo() || !capacitor || capacitor.charge < power_cost) return @@ -239,13 +239,13 @@ if(gun_unreliable && prob(gun_unreliable)) spawn(3) // So that it will still fire - considered modifying Fire() to return a value but burst fire makes that annoying. - visible_message("\The [src] explodes with the force of the shot!") + visible_message(span_danger("\The [src] explodes with the force of the shot!")) explosion(get_turf(src), -1, 0, 2) qdel(src) return new projectile_type(src) -/obj/item/weapon/gun/magnetic/fuelrod +/obj/item/gun/magnetic/fuelrod name = "Fuel-Rod Cannon" desc = "A bulky weapon designed to fire reactor core fuel rods at absurd velocities... who thought this was a good idea?!" description_antag = "This device is capable of firing reactor fuel assemblies, acquired from a R-UST fuel compressor and an appropriate fueltype. Be warned, Supermatter rods may have unforseen consequences." @@ -259,18 +259,18 @@ removable_components = TRUE gun_unreliable = 0 - load_type = /obj/item/weapon/fuel_assembly + load_type = /obj/item/fuel_assembly projectile_type = /obj/item/projectile/bullet/magnetic/fuelrod power_cost = 500 -/obj/item/weapon/gun/magnetic/fuelrod/consume_next_projectile() +/obj/item/gun/magnetic/fuelrod/consume_next_projectile() if(!check_ammo() || !capacitor || capacitor.charge < power_cost) return if(loaded) //Safety. - if(istype(loaded, /obj/item/weapon/fuel_assembly)) - var/obj/item/weapon/fuel_assembly/rod = loaded + if(istype(loaded, /obj/item/fuel_assembly)) + var/obj/item/fuel_assembly/rod = loaded if(rod.fuel_type == "composite" || rod.fuel_type == "deuterium") //Safety check for rods spawned in without a fueltype. projectile_type = /obj/item/projectile/bullet/magnetic/fuelrod else if(rod.fuel_type == "tritium") @@ -279,19 +279,19 @@ projectile_type = /obj/item/projectile/bullet/magnetic/fuelrod/phoron else if(rod.fuel_type == "supermatter") projectile_type = /obj/item/projectile/bullet/magnetic/fuelrod/supermatter - visible_message("The barrel of \the [src] glows a blinding white!") + visible_message(span_danger("The barrel of \the [src] glows a blinding white!")) spawn(5) - visible_message("\The [src] begins to rattle, its acceleration chamber collapsing in on itself!") + visible_message(span_danger("\The [src] begins to rattle, its acceleration chamber collapsing in on itself!")) removable_components = FALSE spawn(15) - audible_message("\The [src]'s power supply begins to overload as the device crumples!", runemessage = "VWRRRRRRRR") //Why are you still holding this? + audible_message(span_critical("\The [src]'s power supply begins to overload as the device crumples!"), runemessage = "VWRRRRRRRR") //Why are you still holding this? playsound(src, 'sound/effects/grillehit.ogg', 10, 1) var/datum/effect/effect/system/spark_spread/sparks = new /datum/effect/effect/system/spark_spread() var/turf/T = get_turf(src) sparks.set_up(2, 1, T) sparks.start() spawn(15) - visible_message("\The [src] explodes in a blinding white light!") + visible_message(span_critical("\The [src] explodes in a blinding white light!")) explosion(src.loc, -1, 1, 2, 3) qdel(src) else @@ -303,9 +303,9 @@ return new projectile_type(src) -/obj/item/weapon/gun/magnetic/fuelrod/New() - cell = new /obj/item/weapon/cell/high - capacitor = new /obj/item/weapon/stock_parts/capacitor +/obj/item/gun/magnetic/fuelrod/New() + cell = new /obj/item/cell/high + capacitor = new /obj/item/stock_parts/capacitor . = ..() #undef ICON_CELL diff --git a/code/modules/projectiles/guns/magnetic/magnetic_construction.dm b/code/modules/projectiles/guns/magnetic/magnetic_construction.dm index da0212b5204..058a2a1ceb5 100644 --- a/code/modules/projectiles/guns/magnetic/magnetic_construction.dm +++ b/code/modules/projectiles/guns/magnetic/magnetic_construction.dm @@ -1,5 +1,5 @@ // We really need some datums for this. -/obj/item/weapon/coilgun_assembly +/obj/item/coilgun_assembly name = "coilgun stock" desc = "It might be a coilgun, someday." icon = 'icons/obj/coilgun.dmi' @@ -7,44 +7,44 @@ var/construction_stage = 1 -/obj/item/weapon/coilgun_assembly/attackby(var/obj/item/thing, var/mob/user) +/obj/item/coilgun_assembly/attackby(var/obj/item/thing, var/mob/user) if(istype(thing, /obj/item/stack/material) && construction_stage == 1) var/obj/item/stack/material/reinforcing = thing var/datum/material/reinforcing_with = reinforcing.get_material() if(reinforcing_with.name == MAT_STEEL) // Steel if(reinforcing.get_amount() < 5) - to_chat(user, "You need at least 5 [reinforcing.singular_name]\s for this task.") + to_chat(user, span_warning("You need at least 5 [reinforcing.singular_name]\s for this task.")) return reinforcing.use(5) - user.visible_message("\The [user] shapes some steel sheets around \the [src] to form a body.") + user.visible_message(span_infoplain(span_bold("\The [user]") + " shapes some steel sheets around \the [src] to form a body.")) increment_construction_stage() return - if(istype(thing, /obj/item/weapon/tape_roll) && construction_stage == 2) - user.visible_message("\The [user] secures \the [src] together with \the [thing].") + if(istype(thing, /obj/item/tape_roll) && construction_stage == 2) + user.visible_message(span_infoplain(span_bold("\The [user]") + " secures \the [src] together with \the [thing].")) increment_construction_stage() return if(istype(thing, /obj/item/pipe) && construction_stage == 3) user.drop_from_inventory(thing) qdel(thing) - user.visible_message("\The [user] jams \the [thing] into \the [src].") + user.visible_message(span_infoplain(span_bold("\The [user]") + " jams \the [thing] into \the [src].")) increment_construction_stage() return if(thing.has_tool_quality(TOOL_WELDER) && construction_stage == 4) - var/obj/item/weapon/weldingtool/welder = thing.get_welder() + var/obj/item/weldingtool/welder = thing.get_welder() if(!welder.isOn()) - to_chat(user, "Turn it on first!") + to_chat(user, span_warning("Turn it on first!")) return if(!welder.remove_fuel(0,user)) - to_chat(user, "You need more fuel!") + to_chat(user, span_warning("You need more fuel!")) return - user.visible_message("\The [user] welds the barrel of \the [src] into place.") + user.visible_message(span_infoplain(span_bold("\The [user]") + " welds the barrel of \the [src] into place.")) playsound(src, 'sound/items/Welder2.ogg', 100, 1) increment_construction_stage() return @@ -52,24 +52,24 @@ if(istype(thing, /obj/item/stack/cable_coil) && construction_stage == 5) var/obj/item/stack/cable_coil/cable = thing if(cable.get_amount() < 5) - to_chat(user, "You need at least 5 lengths of cable for this task.") + to_chat(user, span_warning("You need at least 5 lengths of cable for this task.")) return cable.use(5) - user.visible_message("\The [user] wires \the [src].") + user.visible_message(span_infoplain(span_bold("\The [user]") + " wires \the [src].")) increment_construction_stage() return - if(istype(thing, /obj/item/weapon/smes_coil) && construction_stage >= 6 && construction_stage <= 8) - user.visible_message("\The [user] installs \a [thing] into \the [src].") + if(istype(thing, /obj/item/smes_coil) && construction_stage >= 6 && construction_stage <= 8) + user.visible_message(span_infoplain(span_bold("\The [user]") + " installs \a [thing] into \the [src].")) user.drop_from_inventory(thing) qdel(thing) increment_construction_stage() return if(thing.has_tool_quality(TOOL_SCREWDRIVER) && construction_stage >= 9) - user.visible_message("\The [user] secures \the [src] and finishes it off.") + user.visible_message(span_infoplain(span_bold("\The [user]") + " secures \the [src] and finishes it off.")) playsound(src, 'sound/items/Screwdriver.ogg', 50, 1) - var/obj/item/weapon/gun/magnetic/coilgun = new(loc) + var/obj/item/gun/magnetic/coilgun = new(loc) var/put_in_hands var/mob/M = src.loc if(istype(M)) @@ -82,28 +82,28 @@ return ..() -/obj/item/weapon/coilgun_assembly/proc/increment_construction_stage() +/obj/item/coilgun_assembly/proc/increment_construction_stage() if(construction_stage < 9) construction_stage++ icon_state = "coilgun_construction_[construction_stage]" -/obj/item/weapon/coilgun_assembly/examine(var/mob/user) +/obj/item/coilgun_assembly/examine(var/mob/user) . = ..() if(get_dist(user, src) <= 2) switch(construction_stage) if(2) - . += "It has a metal frame loosely shaped around the stock." + . += span_notice("It has a metal frame loosely shaped around the stock.") if(3) - . += "It has a metal frame duct-taped to the stock." + . += span_notice("It has a metal frame duct-taped to the stock.") if(4) - . += "It has a length of pipe attached to the body." + . += span_notice("It has a length of pipe attached to the body.") if(4) - . += "It has a length of pipe welded to the body." + . += span_notice("It has a length of pipe welded to the body.") if(6) - . += "It has a cable mount and capacitor jack wired to the frame." + . += span_notice("It has a cable mount and capacitor jack wired to the frame.") if(7) - . += "It has a single superconducting coil threaded onto the barrel." + . += span_notice("It has a single superconducting coil threaded onto the barrel.") if(8) - . += "It has a pair of superconducting coils threaded onto the barrel." + . += span_notice("It has a pair of superconducting coils threaded onto the barrel.") if(9) - . += "It has three superconducting coils attached to the body, waiting to be secured." + . += span_notice("It has three superconducting coils attached to the body, waiting to be secured.") diff --git a/code/modules/projectiles/guns/magnetic/magnetic_railgun.dm b/code/modules/projectiles/guns/magnetic/magnetic_railgun.dm index 8497207f2ef..8e7b3d52295 100644 --- a/code/modules/projectiles/guns/magnetic/magnetic_railgun.dm +++ b/code/modules/projectiles/guns/magnetic/magnetic_railgun.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/gun/magnetic/railgun +/obj/item/gun/magnetic/railgun name = "railgun" desc = "The Mars Military Industries MI-76 Thunderclap. A man-portable mass driver for squad support anti-armour and destruction of fortifications and emplacements." description_fluff = "Mars Military Industries is a Hephaestus Industries subsidiary focused on the development of new energy-ballistic hybrid weapons for use against heavy targets. \ @@ -12,12 +12,12 @@ slowdown = 1 // Slowdown equals slowdown_worn, until we decide to import the system to differentiate between held and worn items fire_delay = 1 - load_type = /obj/item/weapon/rcd_ammo + load_type = /obj/item/rcd_ammo projectile_type = /obj/item/projectile/bullet/magnetic/slug - cell = /obj/item/weapon/cell/hyper - capacitor = /obj/item/weapon/stock_parts/capacitor/adv - loaded = /obj/item/weapon/rcd_ammo/large + cell = /obj/item/cell/hyper + capacitor = /obj/item/stock_parts/capacitor/adv + loaded = /obj/item/rcd_ammo/large removable_components = FALSE var/slowdown_held = 2 @@ -26,37 +26,37 @@ // Not going to check type repeatedly, if you code or varedit // load_type and get runtime errors, don't come crying to me. -/obj/item/weapon/gun/magnetic/railgun/show_ammo() - var/obj/item/weapon/rcd_ammo/ammo = loaded +/obj/item/gun/magnetic/railgun/show_ammo() + var/obj/item/rcd_ammo/ammo = loaded if (ammo) - return list("There are [ammo.remaining] shot\s remaining in \the [loaded].") + return list(span_notice("There are [ammo.remaining] shot\s remaining in \the [loaded].")) else - return list("There is nothing loaded.") + return list(span_notice("There is nothing loaded.")) -/obj/item/weapon/gun/magnetic/railgun/check_ammo() - var/obj/item/weapon/rcd_ammo/ammo = loaded +/obj/item/gun/magnetic/railgun/check_ammo() + var/obj/item/rcd_ammo/ammo = loaded return ammo && ammo.remaining -/obj/item/weapon/gun/magnetic/railgun/use_ammo() - var/obj/item/weapon/rcd_ammo/ammo = loaded +/obj/item/gun/magnetic/railgun/use_ammo() + var/obj/item/rcd_ammo/ammo = loaded ammo.remaining-- if(ammo.remaining <= 0) out_of_ammo() -/obj/item/weapon/gun/magnetic/railgun/proc/out_of_ammo() +/obj/item/gun/magnetic/railgun/proc/out_of_ammo() loaded.forceMove(get_turf(src)) loaded = null - visible_message("\The [src] beeps and ejects its empty cartridge.","There's a beeping sound!") + visible_message(span_warning("\The [src] beeps and ejects its empty cartridge."),span_warning("There's a beeping sound!")) playsound(src, empty_sound, 40, 1) update_state() -/obj/item/weapon/gun/magnetic/railgun/automatic // Adminspawn only, this shit is absurd. +/obj/item/gun/magnetic/railgun/automatic // Adminspawn only, this shit is absurd. name = "\improper RHR accelerator" desc = "The Mars Military Industries MI-227 Meteor. Originally a vehicle-mounted turret weapon for heavy anti-vehicular and anti-structural fire, the fact that it was made man-portable is mindboggling in itself." icon_state = "heavy_railgun" - cell = /obj/item/weapon/cell/infinite - capacitor = /obj/item/weapon/stock_parts/capacitor/super + cell = /obj/item/cell/infinite + capacitor = /obj/item/stock_parts/capacitor/super fire_delay = 0 slowdown = 2 @@ -72,19 +72,19 @@ list(mode_name="long bursts", burst=6, fire_delay=null, move_delay=10, one_handed_penalty=30, burst_accuracy=list(0,-15,-15,-15,-30), dispersion=list(0.6, 0.6, 1.0, 1.0, 1.2)), ) -/obj/item/weapon/gun/magnetic/railgun/automatic/examine(var/mob/user) +/obj/item/gun/magnetic/railgun/automatic/examine(var/mob/user) . = ..() if(Adjacent(user)) - . += "Someone has scratched Ultima Ratio Regum onto the side of the barrel." + . += span_notice("Someone has scratched Ultima Ratio Regum onto the side of the barrel.") -/obj/item/weapon/gun/magnetic/railgun/flechette +/obj/item/gun/magnetic/railgun/flechette name = "flechette gun" desc = "The MI-12 Skadi is a burst fire capable railgun that fires flechette rounds at high velocity. Deadly against armour, but much less effective against soft targets." icon_state = "flechette_gun" item_state = "z8carbine" - cell = /obj/item/weapon/cell/hyper - capacitor = /obj/item/weapon/stock_parts/capacitor/adv + cell = /obj/item/cell/hyper + capacitor = /obj/item/stock_parts/capacitor/adv fire_delay = 0 @@ -95,9 +95,9 @@ slowdown_worn = 0 power_cost = 100 - load_type = /obj/item/weapon/magnetic_ammo + load_type = /obj/item/magnetic_ammo projectile_type = /obj/item/projectile/bullet/magnetic/flechette - loaded = /obj/item/weapon/magnetic_ammo + loaded = /obj/item/magnetic_ammo empty_sound = 'sound/weapons/smg_empty_alarm.ogg' firemodes = list( @@ -105,7 +105,7 @@ list(mode_name="short bursts", burst=3, fire_delay=null, move_delay=5, one_handed_penalty=30, burst_accuracy=list(0,-15,-15), dispersion=list(0.0, 0.6, 1.0)), ) -/obj/item/weapon/gun/magnetic/railgun/flechette/pistol +/obj/item/gun/magnetic/railgun/flechette/pistol name = "flechette pistol" desc = "The MI-6a Ullr is a small-form-factor railgun that fires flechette rounds at high velocity. Deadly against armour, but much less effective against soft targets." description_fluff = "Mars Military Industries is a Hephaestus Industries subsidiary focused on the development of new energy-ballistic hybrid weapons for use against heavy targets. \ @@ -114,8 +114,8 @@ item_state = "combatrevolver" w_class = ITEMSIZE_SMALL - cell = /obj/item/weapon/cell/super - capacitor = /obj/item/weapon/stock_parts/capacitor + cell = /obj/item/cell/super + capacitor = /obj/item/stock_parts/capacitor fire_delay = 0 @@ -126,9 +126,9 @@ slowdown_worn = 0 power_cost = 100 - load_type = /obj/item/weapon/magnetic_ammo/pistol + load_type = /obj/item/magnetic_ammo/pistol projectile_type = /obj/item/projectile/bullet/magnetic/flechette/small - loaded = /obj/item/weapon/magnetic_ammo/pistol + loaded = /obj/item/magnetic_ammo/pistol removable_components = TRUE empty_sound = 'sound/weapons/smg_empty_alarm.ogg' @@ -137,7 +137,7 @@ list(mode_name="short bursts", burst=3, fire_delay=null, move_delay=5, one_handed_penalty=30, burst_accuracy=list(0,-15,-15), dispersion=list(0.0, 0.6, 1.0)), ) -/obj/item/weapon/gun/magnetic/railgun/heater +/obj/item/gun/magnetic/railgun/heater name = "coil rifle" desc = "A large rifle designed and produced after the Grey Hour." description_fluff = "The Hephaestus MI-51B is a weapon designed by Mars Military Industries - a Hephaestus subsidiary - in the days after the Grey Hour, in preparation for the need for updated equipment by Solar forces.
    \ @@ -147,8 +147,8 @@ removable_components = TRUE - cell = /obj/item/weapon/cell/device/weapon - capacitor = /obj/item/weapon/stock_parts/capacitor + cell = /obj/item/cell/device/weapon + capacitor = /obj/item/stock_parts/capacitor fire_delay = 8 @@ -168,7 +168,7 @@ list(mode_name="low power", power_cost = 150, projectile_type = /obj/item/projectile/bullet/magnetic/heated/weak, burst=1, fire_delay=5, move_delay=null, one_handed_penalty=15), ) -/obj/item/weapon/gun/magnetic/railgun/heater/pistol +/obj/item/gun/magnetic/railgun/heater/pistol name = "coil pistol" desc = "A large pistol designed and produced after the Grey Hour." description_fluff = "The MI-60D `Peacemaker` is a weapon designed by Mars Military Industries - a Hephaestus subsidiary - in the days after the Grey Hour, in preparation for the need for updated equipment by Solar forces.
    \ @@ -180,8 +180,8 @@ slowdown_held = 0.1 - cell = /obj/item/weapon/cell/device/weapon - capacitor = /obj/item/weapon/stock_parts/capacitor + cell = /obj/item/cell/device/weapon + capacitor = /obj/item/stock_parts/capacitor slot_flags = SLOT_BELT|SLOT_HOLSTER @@ -190,7 +190,7 @@ list(mode_name="stun", power_cost = 350, projectile_type = /obj/item/projectile/energy/electrode/strong, burst=1, fire_delay=7, move_delay=null, one_handed_penalty=0), ) -/obj/item/weapon/gun/magnetic/railgun/heater/pistol/hos +/obj/item/gun/magnetic/railgun/heater/pistol/hos name = "prototype peacemaker" dna_lock = TRUE @@ -202,15 +202,15 @@ list(mode_name="stun", power_cost = 300, projectile_type = /obj/item/projectile/energy/electrode/strong, burst=1, fire_delay=5, move_delay=null, one_handed_penalty=0), ) -/obj/item/weapon/gun/magnetic/railgun/flechette/sif +/obj/item/gun/magnetic/railgun/flechette/sif name = "shredder rifle" desc = "The MI-12B Kaldr is a burst fire capable coilgun that fires modified slugs intended for damaging soft targets." description_fluff = "The Lawson Kaldr is a weapon recently deployed to various outposts on Sif, as well as local hunting guilds for the rapid dispatching of invasive wildlife." icon_state = "railgun_sifguard" item_state = "z8carbine" - cell = /obj/item/weapon/cell/high - capacitor = /obj/item/weapon/stock_parts/capacitor/adv + cell = /obj/item/cell/high + capacitor = /obj/item/stock_parts/capacitor/adv slot_flags = SLOT_BACK diff --git a/code/modules/projectiles/guns/magnetic/magnetic_railgun_vr.dm b/code/modules/projectiles/guns/magnetic/magnetic_railgun_vr.dm deleted file mode 100644 index 8cbc4ac7c29..00000000000 --- a/code/modules/projectiles/guns/magnetic/magnetic_railgun_vr.dm +++ /dev/null @@ -1,11 +0,0 @@ -/obj/item/weapon/gun/magnetic/railgun/flechette/pistol/khi - name = "kitsuhana flechette pistol" - desc = "This rail pistol appears to have been 'tampered with', improving it's power storage and efficiency." - - cell = /obj/item/weapon/cell/hyper - capacitor = /obj/item/weapon/stock_parts/capacitor/hyper - - projectile_type = /obj/item/projectile/bullet/magnetic/flechette/small/khi - - load_type = /obj/item/weapon/magnetic_ammo/pistol/khi - loaded = /obj/item/weapon/magnetic_ammo/pistol/khi \ No newline at end of file diff --git a/code/modules/projectiles/guns/modular_guns.dm b/code/modules/projectiles/guns/modular_guns.dm index 148b60245fc..5533fd15f7c 100644 --- a/code/modules/projectiles/guns/modular_guns.dm +++ b/code/modules/projectiles/guns/modular_guns.dm @@ -1,10 +1,10 @@ //This will likely drive me insane, but fuck it. Let's give it a shot. -k22 //This was heavily assisted by MoondancerPony -/obj/item/weapon/gun/energy/modular +/obj/item/gun/energy/modular name = "modular weapon" desc = "You shouldn't be seeing this. Contact your local time-police station." icon_state = "mod_pistol" - cell_type = /obj/item/weapon/cell/device/weapon + cell_type = /obj/item/cell/device/weapon charge_cost = 120 var/max_components = 3 //How many components we can hold. @@ -15,53 +15,53 @@ var/max_burst_size = 5 //Don't let our maximum burst size get too high. var/list/guncomponents = list() //Generate our list of components. var/accepted_components = list( - /obj/item/weapon/stock_parts/capacitor/, - /obj/item/weapon/stock_parts/capacitor/adv, - /obj/item/weapon/stock_parts/capacitor/super, - /obj/item/weapon/stock_parts/micro_laser/, - /obj/item/weapon/stock_parts/micro_laser/high, - /obj/item/weapon/stock_parts/micro_laser/ultra, - /obj/item/weapon/stock_parts/manipulator/, - /obj/item/weapon/stock_parts/manipulator/nano, - /obj/item/weapon/stock_parts/manipulator/pico, + /obj/item/stock_parts/capacitor/, + /obj/item/stock_parts/capacitor/adv, + /obj/item/stock_parts/capacitor/super, + /obj/item/stock_parts/micro_laser/, + /obj/item/stock_parts/micro_laser/high, + /obj/item/stock_parts/micro_laser/ultra, + /obj/item/stock_parts/manipulator/, + /obj/item/stock_parts/manipulator/nano, + /obj/item/stock_parts/manipulator/pico, ) //Excessively long because it won't accept subtypes for some reason! -/obj/item/weapon/gun/energy/modular/New() //Initialize our components. +/obj/item/gun/energy/modular/New() //Initialize our components. ..() guncomponents = list() - guncomponents += new /obj/item/weapon/stock_parts/capacitor - guncomponents += new /obj/item/weapon/stock_parts/micro_laser - guncomponents += new /obj/item/weapon/stock_parts/manipulator + guncomponents += new /obj/item/stock_parts/capacitor + guncomponents += new /obj/item/stock_parts/micro_laser + guncomponents += new /obj/item/stock_parts/manipulator CheckParts() FireModeModify() -/obj/item/weapon/gun/energy/modular/CheckParts() //What parts do we have inside us, and how good are they? +/obj/item/gun/energy/modular/CheckParts() //What parts do we have inside us, and how good are they? ..() capacitor_rating = 0 laser_rating = 0 manipulator_rating = 0 - for(var/obj/item/weapon/stock_parts/capacitor/CA in guncomponents) + for(var/obj/item/stock_parts/capacitor/CA in guncomponents) capacitor_rating += CA.rating - for(var/obj/item/weapon/stock_parts/micro_laser/ML in guncomponents) + for(var/obj/item/stock_parts/micro_laser/ML in guncomponents) laser_rating += ML.rating - for(var/obj/item/weapon/stock_parts/manipulator/MA in guncomponents) + for(var/obj/item/stock_parts/manipulator/MA in guncomponents) manipulator_rating += MA.rating FireModeModify() -/obj/item/weapon/gun/energy/modular/attackby(obj/item/O, mob/user) +/obj/item/gun/energy/modular/attackby(obj/item/O, mob/user) if(O.has_tool_quality(TOOL_SCREWDRIVER)) - to_chat(user, "You [assembled ? "disassemble" : "assemble"] the gun.") + to_chat(user, span_notice("You [assembled ? "disassemble" : "assemble"] the gun.")) assembled = !assembled playsound(src, O.usesound, 50, 1) return if(O.has_tool_quality(TOOL_CROWBAR)) if(assembled == 1) - to_chat(user, "Disassemble the [src] first!") + to_chat(user, span_warning("Disassemble the [src] first!")) return for(var/obj/item/I in guncomponents) - to_chat(user, "You remove the gun's components.") + to_chat(user, span_notice("You remove the gun's components.")) playsound(src, O.usesound, 50, 1) I.forceMove(get_turf(src)) guncomponents.Remove(I) @@ -72,22 +72,22 @@ if(assembled) // can't put anything in return if(!(O.type in accepted_components))//check if we can accept it - to_chat(user, "You can't add this to [src]!") + to_chat(user, span_warning("You can't add this to [src]!")) return if(guncomponents.len >= max_components) //We have too many componenets and can't fit more. - to_chat(user, "You can't add any more components!") + to_chat(user, span_warning("You can't add any more components!")) return - if(istype(O, /obj/item/weapon/stock_parts/capacitor) && capacitor_rating == 5) - to_chat(user, "You can't add any more capacitors!") + if(istype(O, /obj/item/stock_parts/capacitor) && capacitor_rating == 5) + to_chat(user, span_warning("You can't add any more capacitors!")) return user.drop_item() guncomponents += O O.forceMove(src) - to_chat(user, "You add a component to the [src]") + to_chat(user, span_notice("You add a component to the [src]")) CheckParts() -/obj/item/weapon/gun/energy/modular/proc/FireModeModify() //Check our laser, manipulator, and capacitor ratings, adjust stun and lethal firemodes depending on laser / manipulator rating and burst size depending on capacitors. +/obj/item/gun/energy/modular/proc/FireModeModify() //Check our laser, manipulator, and capacitor ratings, adjust stun and lethal firemodes depending on laser / manipulator rating and burst size depending on capacitors. //check our lethal and stun ratings depending on laser and manipulator rating. var/burstmode = capacitor_rating var/beammode @@ -128,27 +128,27 @@ new /datum/firemode(src, list(mode_name="[burstmode] shot lethal", projectile_type=beammode_lethal, charge_cost = chargecost_lethal, burst = burstmode)), ) -/obj/item/weapon/gun/energy/modular/load_ammo(var/obj/item/C, mob/user) +/obj/item/gun/energy/modular/load_ammo(var/obj/item/C, mob/user) if(istype(C, cell_type)) if(self_recharge || battery_lock) - to_chat(user, "[src] does not have a battery port.") + to_chat(user, span_notice("[src] does not have a battery port.")) return - var/obj/item/weapon/cell/P = C + var/obj/item/cell/P = C if(power_supply) - to_chat(user, "[src] already has a power cell.") + to_chat(user, span_notice("[src] already has a power cell.")) else - user.visible_message("[user] is reloading [src].", "You start to insert [P] into [src].") + user.visible_message("[user] is reloading [src].", span_notice("You start to insert [P] into [src].")) if(do_after(user, 10)) user.remove_from_mob(P) power_supply = P P.loc = src - user.visible_message("[user] inserts [P] into [src].", "You insert [P] into [src].") + user.visible_message("[user] inserts [P] into [src].", span_notice("You insert [P] into [src].")) playsound(src, 'sound/weapons/flipblade.ogg', 50, 1) update_icon() update_held_icon() return -/obj/item/weapon/gun/energy/modular/pistol +/obj/item/gun/energy/modular/pistol name = "modular pistol" icon_state = "mod_pistol" max_components = 6 @@ -156,7 +156,7 @@ origin_tech = list(TECH_COMBAT = 3, TECH_MAGNET = 3) burst_delay = 2 -/obj/item/weapon/gun/energy/modular/carbine +/obj/item/gun/energy/modular/carbine name = "modular carbine" icon_state = "mod_carbine" max_components = 8 @@ -164,12 +164,12 @@ origin_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 3, TECH_MATERIAL = 3) burst_delay = 2 -/obj/item/weapon/gun/energy/modular/cannon +/obj/item/gun/energy/modular/cannon name = "modular cannon" icon_state = "mod_cannon" max_components = 14 desc = "Say hello, to my little friend!" one_handed_penalty = 4 //dual wielding = no. - cell_type = /obj/item/weapon/cell //We're bigger. We can use much larger power cells. + cell_type = /obj/item/cell //We're bigger. We can use much larger power cells. origin_tech = list(TECH_COMBAT = 6, TECH_MAGNET = 6, TECH_MATERIAL = 5, TECH_BLUESPACE = 4) //its a damn cannon capable of holding a huge amount of parts. - burst_delay = 4 //preventing extreme silliness. \ No newline at end of file + burst_delay = 4 //preventing extreme silliness. diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm index 4627a611aed..77d0f56bc1f 100644 --- a/code/modules/projectiles/guns/projectile.dm +++ b/code/modules/projectiles/guns/projectile.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/gun/projectile +/obj/item/gun/projectile name = "gun" desc = "A gun that fires bullets." icon_state = "revolver" @@ -33,7 +33,7 @@ var/random_start_ammo = FALSE //randomize amount of starting ammo -/obj/item/weapon/gun/projectile/New(loc, var/starts_loaded = 1) +/obj/item/gun/projectile/New(loc, var/starts_loaded = 1) ..() if(starts_loaded) if(ispath(ammo_type) && (load_method & (SINGLE_CASING|SPEEDLOADER))) @@ -50,7 +50,7 @@ ammo_magazine.stored_ammo.Cut(0,ammo_cut) update_icon() -/obj/item/weapon/gun/projectile/consume_next_projectile() +/obj/item/gun/projectile/consume_next_projectile() //get the next casing if(loaded.len) chambered = loaded[1] //load next casing. @@ -69,24 +69,24 @@ return chambered.BB return null -/obj/item/weapon/gun/projectile/handle_post_fire() +/obj/item/gun/projectile/handle_post_fire() ..() if(chambered) chambered.expend() process_chambered() -/obj/item/weapon/gun/projectile/handle_click_empty() +/obj/item/gun/projectile/handle_click_empty() ..() process_chambered() -/obj/item/weapon/gun/projectile/proc/process_chambered() +/obj/item/gun/projectile/proc/process_chambered() if (!chambered) return // Aurora forensics port, gunpowder residue. if(chambered.leaves_residue) var/mob/living/carbon/human/H = loc if(istype(H)) - if(!H.gloves) + if(!istype(H.gloves, /obj/item/clothing)) H.gunshot_residue = chambered.caliber else var/obj/item/clothing/G = H.gloves @@ -116,27 +116,27 @@ //Attempts to load A into src, depending on the type of thing being loaded and the load_method //Maybe this should be broken up into separate procs for each load method? -/obj/item/weapon/gun/projectile/proc/load_ammo(var/obj/item/A, mob/user) +/obj/item/gun/projectile/proc/load_ammo(var/obj/item/A, mob/user) if(istype(A, /obj/item/ammo_magazine)) var/obj/item/ammo_magazine/AM = A if(!(load_method & AM.mag_type) || caliber != AM.caliber || allowed_magazines && !is_type_in_list(A, allowed_magazines)) - to_chat(user, "[AM] won't load into [src]!") + to_chat(user, span_warning("[AM] won't load into [src]!")) return switch(AM.mag_type) if(MAGAZINE) if(ammo_magazine) - to_chat(user, "[src] already has a magazine loaded.") //already a magazine here + to_chat(user, span_warning("[src] already has a magazine loaded.")) //already a magazine here return if(do_after(user, reload_time * AM.w_class)) user.remove_from_mob(AM) AM.loc = src ammo_magazine = AM - user.visible_message("[user] inserts [AM] into [src].", "You insert [AM] into [src].") + user.visible_message("[user] inserts [AM] into [src].", span_notice("You insert [AM] into [src].")) user.hud_used.update_ammo_hud(user, src) playsound(src, 'sound/weapons/flipblade.ogg', 50, 1) if(SPEEDLOADER) if(loaded.len >= max_shells) - to_chat(user, "[src] is full!") + to_chat(user, span_warning("[src] is full!")) return var/count = 0 for(var/obj/item/ammo_casing/C in AM.stored_ammo) @@ -150,7 +150,7 @@ user.hud_used.update_ammo_hud(user, src) if(do_after(user, reload_time * AM.w_class)) if(count) - user.visible_message("[user] reloads [src].", "You load [count] round\s into [src].") + user.visible_message("[user] reloads [src].", span_notice("You load [count] round\s into [src].")) user.hud_used.update_ammo_hud(user, src) playsound(src, 'sound/weapons/empty.ogg', 50, 1) AM.update_icon() @@ -159,22 +159,22 @@ if(!(load_method & SINGLE_CASING) || caliber != C.caliber) return //incompatible if(loaded.len >= max_shells) - to_chat(user, "[src] is full.") + to_chat(user, span_warning("[src] is full.")) return if(do_after(user, reload_time * C.w_class)) user.remove_from_mob(C) C.loc = src loaded.Insert(1, C) //add to the head of the list - user.visible_message("[user] inserts \a [C] into [src].", "You insert \a [C] into [src].") + user.visible_message("[user] inserts \a [C] into [src].", span_notice("You insert \a [C] into [src].")) playsound(src, 'sound/weapons/empty.ogg', 50, 1) - else if(istype(A, /obj/item/weapon/storage)) - var/obj/item/weapon/storage/storage = A + else if(istype(A, /obj/item/storage)) + var/obj/item/storage/storage = A if(!(load_method & SINGLE_CASING)) return //incompatible - to_chat(user, "You start loading \the [src].") + to_chat(user, span_notice("You start loading \the [src].")) sleep(1 SECOND) for(var/obj/item/ammo_casing/ammo in storage.contents) if(caliber != ammo.caliber) @@ -183,7 +183,7 @@ load_ammo(ammo, user) if(loaded.len >= max_shells) - to_chat(user, "[src] is full.") + to_chat(user, span_warning("[src] is full.")) break sleep(1 SECOND) @@ -191,10 +191,10 @@ user.hud_used.update_ammo_hud(user, src) //attempts to unload src. If allow_dump is set to 0, the speedloader unloading method will be disabled -/obj/item/weapon/gun/projectile/proc/unload_ammo(mob/user, var/allow_dump=1) +/obj/item/gun/projectile/proc/unload_ammo(mob/user, var/allow_dump=1) if(ammo_magazine) user.put_in_hands(ammo_magazine) - user.visible_message("[user] removes [ammo_magazine] from [src].", "You remove [ammo_magazine] from [src].") + user.visible_message("[user] removes [ammo_magazine] from [src].", span_notice("You remove [ammo_magazine] from [src].")) playsound(src, 'sound/weapons/empty.ogg', 50, 1) ammo_magazine.update_icon() ammo_magazine = null @@ -210,42 +210,42 @@ count++ loaded.Cut() if(count) - user.visible_message("[user] unloads [src].", "You unload [count] round\s from [src].") + user.visible_message("[user] unloads [src].", span_notice("You unload [count] round\s from [src].")) else if(load_method & SINGLE_CASING) var/obj/item/ammo_casing/C = loaded[loaded.len] loaded.len-- user.put_in_hands(C) - user.visible_message("[user] removes \a [C] from [src].", "You remove \a [C] from [src].") + user.visible_message("[user] removes \a [C] from [src].", span_notice("You remove \a [C] from [src].")) playsound(src, 'sound/weapons/empty.ogg', 50, 1) user.hud_used.update_ammo_hud(user, src) else - to_chat(user, "[src] is empty.") + to_chat(user, span_warning("[src] is empty.")) update_icon() user.hud_used.update_ammo_hud(user, src) -/obj/item/weapon/gun/projectile/attackby(var/obj/item/A as obj, mob/user as mob) +/obj/item/gun/projectile/attackby(var/obj/item/A as obj, mob/user as mob) ..() load_ammo(A, user) -/obj/item/weapon/gun/projectile/attack_self(mob/user as mob) +/obj/item/gun/projectile/attack_self(mob/user as mob) if(firemodes.len > 1) switch_firemodes(user) else unload_ammo(user) -/obj/item/weapon/gun/projectile/attack_hand(mob/user as mob) +/obj/item/gun/projectile/attack_hand(mob/user as mob) if(user.get_inactive_hand() == src) unload_ammo(user, allow_dump=0) else return ..() -/obj/item/weapon/gun/projectile/afterattack(atom/A, mob/living/user) +/obj/item/gun/projectile/afterattack(atom/A, mob/living/user) ..() if(auto_eject && ammo_magazine && ammo_magazine.stored_ammo && !ammo_magazine.stored_ammo.len) ammo_magazine.loc = get_turf(src.loc) user.visible_message( "[ammo_magazine] falls out and clatters on the floor!", - "[ammo_magazine] falls out and clatters on the floor!" + span_notice("[ammo_magazine] falls out and clatters on the floor!") ) if(auto_eject_sound) playsound(src, auto_eject_sound, 40, 1) @@ -254,13 +254,13 @@ update_icon() //make sure to do this after unsetting ammo_magazine user.hud_used.update_ammo_hud(user, src) -/obj/item/weapon/gun/projectile/examine(mob/user) +/obj/item/gun/projectile/examine(mob/user) . = ..() if(ammo_magazine) . += "It has \a [ammo_magazine] loaded." . += "It has [getAmmo()] round\s remaining." -/obj/item/weapon/gun/projectile/proc/getAmmo() +/obj/item/gun/projectile/proc/getAmmo() var/bullets = 0 if(loaded) bullets += loaded.len @@ -272,7 +272,7 @@ /* Unneeded -- so far. //in case the weapon has firemodes and can't unload using attack_hand() -/obj/item/weapon/gun/projectile/verb/unload_gun() +/obj/item/gun/projectile/verb/unload_gun() set name = "Unload Ammo" set category = "Object" set src in usr @@ -283,10 +283,10 @@ */ // TGMC Ammo HUD Insertion -/obj/item/weapon/gun/projectile/has_ammo_counter() +/obj/item/gun/projectile/has_ammo_counter() return TRUE -/obj/item/weapon/gun/projectile/get_ammo_type() +/obj/item/gun/projectile/get_ammo_type() if(load_method & MAGAZINE) if(chambered) // Do we have an ammo casing chambered var/obj/item/ammo_casing/A = chambered @@ -321,7 +321,7 @@ else // Failsafe if we somehow fail all three methods return list("unknown", "unknown") -/obj/item/weapon/gun/projectile/get_ammo_count() +/obj/item/gun/projectile/get_ammo_count() if(ammo_magazine) // Do we have a magazine loaded? var/shots_left if(chambered && chambered.BB) // Do we have a bullet in the currently-chambered casing, if any? diff --git a/code/modules/projectiles/guns/projectile/altevian_vr.dm b/code/modules/projectiles/guns/projectile/altevian_vr.dm index eb6c2cbe6aa..255cbecb235 100644 --- a/code/modules/projectiles/guns/projectile/altevian_vr.dm +++ b/code/modules/projectiles/guns/projectile/altevian_vr.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/gun/projectile/altevian +/obj/item/gun/projectile/altevian name = "Altevian Rivet Repeater" desc = "An offensive ballistic weapon designed by the Altevian Hegemony commonly used for decompression and structural damage tactics. It's also pretty effective at personnel damage." magazine_type = /obj/item/ammo_magazine/sam48 @@ -9,7 +9,7 @@ caliber = ".48" load_method = MAGAZINE -/obj/item/weapon/gun/projectile/altevian/update_icon() +/obj/item/gun/projectile/altevian/update_icon() if(ammo_magazine) icon_state = initial(icon_state) else diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm index 0dba16dc860..3f147ef160f 100644 --- a/code/modules/projectiles/guns/projectile/automatic.dm +++ b/code/modules/projectiles/guns/projectile/automatic.dm @@ -1,7 +1,7 @@ /* * Daka SMG (Code Base) */ -/obj/item/weapon/gun/projectile/automatic //This should never be spawned in, it is just here because of code necessities. +/obj/item/gun/projectile/automatic //This should never be spawned in, it is just here because of code necessities. name = "daka SMG" desc = "A small SMG. You really shouldn't be able to get this gun. Uses 9mm rounds." icon_state = "c05r" //Used because it's not used anywhere else @@ -19,7 +19,7 @@ /* * Advanced SMG */ -/obj/item/weapon/gun/projectile/automatic/advanced_smg +/obj/item/gun/projectile/automatic/advanced_smg name = "advanced SMG" desc = "An advanced submachine gun with a reflective laser optic that makes burst fire less inaccurate than other SMGs. Uses 9mm rounds." icon = 'icons/obj/gun.dmi' @@ -37,20 +37,20 @@ list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,-10,-10), dispersion=list(0.0, 0.3, 0.6)) ) -/obj/item/weapon/gun/projectile/automatic/advanced_smg/update_icon() +/obj/item/gun/projectile/automatic/advanced_smg/update_icon() ..() if(ammo_magazine) icon_state = "advanced_smg" else icon_state = "advanced_smg-e" -/obj/item/weapon/gun/projectile/automatic/advanced_smg/loaded +/obj/item/gun/projectile/automatic/advanced_smg/loaded magazine_type = /obj/item/ammo_magazine/m9mmAdvanced /* * C-20r */ -/obj/item/weapon/gun/projectile/automatic/c20r +/obj/item/gun/projectile/automatic/c20r name = "submachine gun" desc = "The C-20r is a lightweight and rapid firing SMG, for when you REALLY need someone dead. It has 'Scarborough Arms - Per falcis, per pravitas', inscribed on the stock. Uses 10mm rounds." description_fluff = "The C-20r is produced by Scarborough Arms, a specialist high-end weapons manufacturer based out of Titan, Sol. Scarborough has resisted numerous efforts by Trans-Stellars to acquire the brand since its founding in 2271, and has gained a dedicated following among a certain flavor of private operative." @@ -68,13 +68,13 @@ auto_eject = 1 auto_eject_sound = 'sound/weapons/smg_empty_alarm.ogg' -/obj/item/weapon/gun/projectile/automatic/c20r/rubber +/obj/item/gun/projectile/automatic/c20r/rubber magazine_type = /obj/item/ammo_magazine/m10mm/rubber -/obj/item/weapon/gun/projectile/automatic/c20r/empty +/obj/item/gun/projectile/automatic/c20r/empty magazine_type = null -/obj/item/weapon/gun/projectile/automatic/c20r/update_icon() +/obj/item/gun/projectile/automatic/c20r/update_icon() ..() if(ammo_magazine) icon_state = "c20r-[round(ammo_magazine.stored_ammo.len,4)]" @@ -85,7 +85,7 @@ /* * Assault Carbine (STS-35) */ -/obj/item/weapon/gun/projectile/automatic/sts35 +/obj/item/gun/projectile/automatic/sts35 name = "assault rifle" desc = "The rugged Jindal Arms STS-35 is a durable automatic weapon of a make popular on the frontier worlds. Uses 5.45mm rounds." description_fluff = "A subsidiary of Hephaestus Industries, While Jindal’s rugged, affordable weapons intended for the colonial sector are a major export of Tau Ceti, \ @@ -113,7 +113,7 @@ list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=6, burst_accuracy=list(0,-15,-30), dispersion=list(0.0, 0.6, 0.6)) ) -/obj/item/weapon/gun/projectile/automatic/sts35/update_icon(var/ignore_inhands) +/obj/item/gun/projectile/automatic/sts35/update_icon(var/ignore_inhands) ..() if(istype(ammo_magazine,/obj/item/ammo_magazine/m545/small)) icon_state = "arifle-small" // If using the small magazines, use the small magazine sprite. @@ -124,7 +124,7 @@ /* * X-9mm (PDW) */ -/obj/item/weapon/gun/projectile/automatic/pdw +/obj/item/gun/projectile/automatic/pdw name = "personal defense weapon" desc = "The X-9mm is a select-fire personal defense weapon designed in-house by Xing Private Security. It was made to compete with the WT550 Saber, \ but never caught on with NanoTrasen. Uses 9mm rounds." @@ -143,7 +143,7 @@ list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=6, burst_accuracy=list(0,-15,-30), dispersion=list(0.0, 0.6, 0.6)) ) -/obj/item/weapon/gun/projectile/automatic/pdw/update_icon(var/ignore_inhands) +/obj/item/gun/projectile/automatic/pdw/update_icon(var/ignore_inhands) ..() if(ammo_magazine) icon_state = "pdw" @@ -154,7 +154,7 @@ /* * Machine Pistol (WT550) */ -/obj/item/weapon/gun/projectile/automatic/wt550 +/obj/item/gun/projectile/automatic/wt550 name = "machine pistol" desc = "The WT550 Saber is a cheap self-defense weapon mass-produced by Ward-Takahashi for paramilitary and private use. Uses 9mm rounds." icon_state = "wt550" @@ -169,7 +169,7 @@ allowed_magazines = list(/obj/item/ammo_magazine/m9mmt) projectile_type = /obj/item/projectile/bullet/pistol/medium -/obj/item/weapon/gun/projectile/automatic/wt550/update_icon() +/obj/item/gun/projectile/automatic/wt550/update_icon() ..() if(ammo_magazine) icon_state = "wt550-[round(ammo_magazine.stored_ammo.len,4)]" @@ -180,7 +180,7 @@ /* * Battle Rifle (Z8) */ -/obj/item/weapon/gun/projectile/automatic/z8 +/obj/item/gun/projectile/automatic/z8 name = "battle rifle" desc = "The Z8 Bulldog is an older model battle rifle, made by the now defunct Zendai Foundries. Makes you feel like an old-school badass when you hold it, \ even though it can only hold 10 round magazines. Uses 7.62mm rounds and has an under barrel grenade launcher." @@ -212,25 +212,25 @@ ) var/use_launcher = 0 - var/obj/item/weapon/gun/launcher/grenade/underslung/launcher + var/obj/item/gun/launcher/grenade/underslung/launcher -/obj/item/weapon/gun/projectile/automatic/z8/New() +/obj/item/gun/projectile/automatic/z8/New() ..() launcher = new(src) -/obj/item/weapon/gun/projectile/automatic/z8/attackby(obj/item/I, mob/user) - if((istype(I, /obj/item/weapon/grenade))) +/obj/item/gun/projectile/automatic/z8/attackby(obj/item/I, mob/user) + if((istype(I, /obj/item/grenade))) launcher.load(I, user) else ..() -/obj/item/weapon/gun/projectile/automatic/z8/attack_hand(mob/user) +/obj/item/gun/projectile/automatic/z8/attack_hand(mob/user) if(user.get_inactive_hand() == src && use_launcher) launcher.unload(user) else ..() -/obj/item/weapon/gun/projectile/automatic/z8/Fire(atom/target, mob/living/user, params, pointblank=0, reflex=0) +/obj/item/gun/projectile/automatic/z8/Fire(atom/target, mob/living/user, params, pointblank=0, reflex=0) if(use_launcher) launcher.Fire(target, user, params, pointblank, reflex) if(!launcher.chambered) @@ -238,7 +238,7 @@ else ..() -/obj/item/weapon/gun/projectile/automatic/z8/update_icon(var/ignore_inhands) +/obj/item/gun/projectile/automatic/z8/update_icon(var/ignore_inhands) ..() if(ammo_magazine) icon_state = "carbine-[round(ammo_magazine.stored_ammo.len,2)]" @@ -247,20 +247,20 @@ if(!ignore_inhands) update_held_icon() return -/obj/item/weapon/gun/projectile/automatic/z8/examine(mob/user) +/obj/item/gun/projectile/automatic/z8/examine(mob/user) . = ..() if(launcher.chambered) . += "\The [launcher] has \a [launcher.chambered] loaded." else . += "\The [launcher] is empty." -/obj/item/weapon/gun/projectile/automatic/z8/empty +/obj/item/gun/projectile/automatic/z8/empty magazine_type = null /* * LMG (L6 SAW) */ -/obj/item/weapon/gun/projectile/automatic/l6_saw +/obj/item/gun/projectile/automatic/l6_saw name = "light machine gun" desc = "A rather sturdily made L6 SAW with a reassuringly ergonomic pistol grip. 'Hephaestus Industries' is engraved on the receiver. Uses 5.45mm rounds. It's also compatible with magazines from STS-35 assault rifles." description_fluff = "The leading arms producer in the SCG, Hephaestus typically only uses its 'top level' branding for its military-grade equipment used by professional armed forces across human space." @@ -289,31 +289,31 @@ list(mode_name="short bursts", burst=5, move_delay=6, burst_accuracy = list(0,-15,-15,-30,-30), dispersion = list(0.6, 1.0, 1.0, 1.0, 1.2)) ) -/obj/item/weapon/gun/projectile/automatic/l6_saw/special_check(mob/user) +/obj/item/gun/projectile/automatic/l6_saw/special_check(mob/user) if(cover_open) - to_chat(user, "[src]'s cover is open! Close it before firing!") + to_chat(user, span_warning("[src]'s cover is open! Close it before firing!")) return 0 return ..() -/obj/item/weapon/gun/projectile/automatic/l6_saw/proc/toggle_cover(mob/user) +/obj/item/gun/projectile/automatic/l6_saw/proc/toggle_cover(mob/user) cover_open = !cover_open - to_chat(user, "You [cover_open ? "open" : "close"] [src]'s cover.") + to_chat(user, span_notice("You [cover_open ? "open" : "close"] [src]'s cover.")) update_icon() update_held_icon() -/obj/item/weapon/gun/projectile/automatic/l6_saw/attack_self(mob/user as mob) +/obj/item/gun/projectile/automatic/l6_saw/attack_self(mob/user as mob) if(cover_open) toggle_cover(user) //close the cover else return ..() //once closed, behave like normal -/obj/item/weapon/gun/projectile/automatic/l6_saw/attack_hand(mob/user as mob) +/obj/item/gun/projectile/automatic/l6_saw/attack_hand(mob/user as mob) if(!cover_open && user.get_inactive_hand() == src) toggle_cover(user) //open the cover else return ..() //once open, behave like normal -/obj/item/weapon/gun/projectile/automatic/l6_saw/update_icon() +/obj/item/gun/projectile/automatic/l6_saw/update_icon() if(istype(ammo_magazine,/obj/item/ammo_magazine/m762)) icon_state = "l6[cover_open ? "open" : "closed"]mag" item_state = icon_state @@ -322,22 +322,22 @@ item_state = "l6[cover_open ? "open" : "closed"][ammo_magazine ? "" : "-empty"]" update_held_icon() -/obj/item/weapon/gun/projectile/automatic/l6_saw/load_ammo(var/obj/item/A, mob/user) +/obj/item/gun/projectile/automatic/l6_saw/load_ammo(var/obj/item/A, mob/user) if(!cover_open) - to_chat(user, "You need to open the cover to load [src].") + to_chat(user, span_warning("You need to open the cover to load [src].")) return ..() -/obj/item/weapon/gun/projectile/automatic/l6_saw/unload_ammo(mob/user, var/allow_dump=1) +/obj/item/gun/projectile/automatic/l6_saw/unload_ammo(mob/user, var/allow_dump=1) if(!cover_open) - to_chat(user, "You need to open the cover to unload [src].") + to_chat(user, span_warning("You need to open the cover to unload [src].")) return ..() /* * Automatic Shotgun (AS-24) */ -/obj/item/weapon/gun/projectile/automatic/as24 +/obj/item/gun/projectile/automatic/as24 name = "automatic shotgun" desc = "The AS-24 is a rugged looking automatic shotgun produced exclusively for the SCG Fleet by Hephaestus \ Industries. For very obvious reasons, it's illegal to own in many juristictions. Uses 12g rounds." @@ -363,7 +363,7 @@ list(mode_name="3-round bursts", burst=3, move_delay=6, burst_accuracy = list(0,-15,-15,-30,-30), dispersion = list(0.0, 0.6, 0.6)) ) -/obj/item/weapon/gun/projectile/automatic/as24/update_icon() +/obj/item/gun/projectile/automatic/as24/update_icon() ..() if(ammo_magazine) icon_state = "ashot" @@ -374,7 +374,7 @@ /* * Uzi */ -/obj/item/weapon/gun/projectile/automatic/mini_uzi +/obj/item/gun/projectile/automatic/mini_uzi name = "micro-smg" desc = "The infamous ProTek Spitz is a lightweight, compact, fast firing machine pistol. Cheaply produced under the ProTek consumer brand, the Spitz seems to find its way into every corner of the galaxy. Uses .45 rounds." description_fluff = "Budget-grade weapons for the budget-grade consumer! Hephaestus’ low-end brand of cheaply made, low-maintenance personal defense weapons for those who just need a handgun with absolutely no frills. \ @@ -393,7 +393,7 @@ list(mode_name="3-round bursts", burst=3, burst_delay=1, fire_delay=4, move_delay=4, burst_accuracy = list(0,-15,-15,-30,-30), dispersion = list(0.6, 1.0, 1.0)) ) -/obj/item/weapon/gun/projectile/automatic/mini_uzi/update_icon() +/obj/item/gun/projectile/automatic/mini_uzi/update_icon() ..() if(ammo_magazine) icon_state = "uzi" @@ -403,7 +403,7 @@ /* * P90 (H90K) */ -/obj/item/weapon/gun/projectile/automatic/p90 +/obj/item/gun/projectile/automatic/p90 name = "personal defense weapon" desc = "The H90K is a compact, large capacity submachine gun produced by MarsTech. Despite its fierce reputation, it still manages to feel like a toy. Uses 9mm rounds." description_fluff = "The leading civilian-sector high-quality small arms brand of Hephaestus Industries, MarsTech has been the provider of choice for law enforcement and security forces for over 300 years." @@ -422,13 +422,13 @@ list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,-15,-15), dispersion=list(0.0, 0.6, 1.0)) ) -/obj/item/weapon/gun/projectile/automatic/p90/update_icon() +/obj/item/gun/projectile/automatic/p90/update_icon() icon_state = "p90smg-[ammo_magazine ? round(ammo_magazine.stored_ammo.len, 6) : "empty"]" /* * Tommy Gun */ -/obj/item/weapon/gun/projectile/automatic/tommygun +/obj/item/gun/projectile/automatic/tommygun name = "\improper Tommy Gun" desc = "This weapon was made famous by gangsters in the 20th century. Cybersun Industries is currently reproducing these for a target market of historic gun collectors and classy criminals. Uses .45 rounds." description_fluff = "Cybersun Industries is a minor arms manufacturer specialising in replica firearms from eras past. Though they offer a wide selection of made-to-order models, their products are seen as little more than novelty items to most serious collectors." @@ -447,7 +447,7 @@ list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,-15,-15), dispersion=list(0.0, 0.6, 1.0)) ) -/obj/item/weapon/gun/projectile/automatic/tommygun/update_icon() +/obj/item/gun/projectile/automatic/tommygun/update_icon() if(istype(ammo_magazine,/obj/item/ammo_magazine/m45tommy)) icon_state = "tommygun-mag" else if(istype(ammo_magazine,/obj/item/ammo_magazine/m45tommydrum)) @@ -459,7 +459,7 @@ /* * Bullpup Rifle */ -/obj/item/weapon/gun/projectile/automatic/bullpup // Admin abuse assault rifle. ToDo: Make this less shit. Maybe remove its autofire, and make it spawn with only 10 rounds at start. +/obj/item/gun/projectile/automatic/bullpup // Admin abuse assault rifle. ToDo: Make this less shit. Maybe remove its autofire, and make it spawn with only 10 rounds at start. name = "bullpup rifle" desc = "The bullpup configured GP3000 is a battle rifle produced by Gurov Projectile Weapons LLC. It is sold almost exclusively to standing armies. Uses 7.62mm rounds." icon_state = "bullpup-small" @@ -482,7 +482,7 @@ list(mode_name="2-round bursts", burst=2, fire_delay=null, move_delay=6, burst_accuracy=list(0,-15), dispersion=list(0.0, 0.6)) ) -/obj/item/weapon/gun/projectile/automatic/bullpup/update_icon(var/ignore_inhands) +/obj/item/gun/projectile/automatic/bullpup/update_icon(var/ignore_inhands) ..() if(istype(ammo_magazine,/obj/item/ammo_magazine/m762)) icon_state = "bullpup-small" @@ -496,7 +496,7 @@ /* * Combat SMG (PP3 Ten) */ -/obj/item/weapon/gun/projectile/automatic/combatsmg +/obj/item/gun/projectile/automatic/combatsmg name = "\improper PP3 Ten" desc = "The Bishamonten PP3 Ten personal defense weapon is a rare design much sought after - though more for its looks than its functionality. Uses 9mm rounds." description_fluff = "The Bishamonten Company operated from roughly 2150-2280 - the height of the first extrasolar colonisation boom - before filing for bankruptcy and selling off its assets to various companies that would go on to become today’s TSCs. \ @@ -515,7 +515,7 @@ list(mode_name="3-round bursts", burst=3, burst_delay=1, fire_delay=4, move_delay=4, burst_accuracy=list(0,-15,-30), dispersion=list(0.0, 0.6, 0.6)) ) -/obj/item/weapon/gun/projectile/automatic/combatsmg/update_icon() +/obj/item/gun/projectile/automatic/combatsmg/update_icon() ..() if(ammo_magazine) icon_state = "combatsmg" diff --git a/code/modules/projectiles/guns/projectile/automatic_vr.dm b/code/modules/projectiles/guns/projectile/automatic_vr.dm index ad0f46af6e7..6f0f79e807e 100644 --- a/code/modules/projectiles/guns/projectile/automatic_vr.dm +++ b/code/modules/projectiles/guns/projectile/automatic_vr.dm @@ -1,14 +1,14 @@ -/obj/item/weapon/gun/projectile/automatic/wt550/lethal +/obj/item/gun/projectile/automatic/wt550/lethal magazine_type = /obj/item/ammo_magazine/m9mmt -/obj/item/weapon/gun/projectile/automatic/tommygun +/obj/item/gun/projectile/automatic/tommygun icon = 'icons/obj/gun_vr.dmi' //////////////////////////////////////////////////////////// //////////////////// Projectile Weapons //////////////////// //////////////////////////////////////////////////////////// // For general use -/obj/item/weapon/gun/projectile/automatic/battlerifle +/obj/item/gun/projectile/automatic/battlerifle name = "\improper USDF service rifle" desc = "You had your chance to be afraid before you joined my beloved Corps! But, to guide you back to the true path, I have brought this motivational device! Uses 9.5x40mm rounds." icon = 'icons/obj/gun_vr.dmi' @@ -29,7 +29,7 @@ one_handed_penalty = 60 // The weapon itself is heavy // For general use -/obj/item/weapon/gun/projectile/automatic/stg +/obj/item/gun/projectile/automatic/stg name = "\improper Sturmgewehr" desc = "An STG-560 built by RauMauser. Experience the terror of the Siegfried line, redone for the 24th century! The Kaiser would be proud. Uses unique 7.92x33mm Kurz rounds." icon = 'icons/obj/gun_vr.dmi' @@ -43,7 +43,7 @@ allowed_magazines = list(/obj/item/ammo_magazine/mtg) load_method = MAGAZINE -/obj/item/weapon/gun/projectile/automatic/stg/update_icon(var/ignore_inhands) +/obj/item/gun/projectile/automatic/stg/update_icon(var/ignore_inhands) ..() icon_state = (ammo_magazine)? "stg60" : "stg60-empty" item_state = (ammo_magazine)? "arifle" : "arifle-empty" @@ -51,7 +51,7 @@ //////////////////// Eris Ported Guns //////////////////// // No idea what this is for. -/obj/item/weapon/gun/projectile/automatic/sol +/obj/item/gun/projectile/automatic/sol name = "\improper \"Sol\" SMG" desc = "The FS 9x19mm \"Sol\" is a compact and reliable submachine gun. Uses 9mm rounds." icon = 'icons/obj/gun_vr.dmi' @@ -71,7 +71,7 @@ list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,-15,-15), dispersion=list(0.0, 0.6, 1.0)), ) -/obj/item/weapon/gun/projectile/automatic/sol/proc/update_charge() +/obj/item/gun/projectile/automatic/sol/proc/update_charge() if(!ammo_magazine) return var/ratio = ammo_magazine.stored_ammo.len / ammo_magazine.max_ammo @@ -80,7 +80,7 @@ ratio = round(ratio, 0.25) * 100 add_overlay("smg_[ratio]") -/obj/item/weapon/gun/projectile/automatic/sol/update_icon() +/obj/item/gun/projectile/automatic/sol/update_icon() icon_state = (ammo_magazine)? "SMG-IS" : "SMG-IS-empty" cut_overlays() update_charge() diff --git a/code/modules/projectiles/guns/projectile/automatic_yw.dm b/code/modules/projectiles/guns/projectile/automatic_yw.dm index 89904619464..29c0a127999 100644 --- a/code/modules/projectiles/guns/projectile/automatic_yw.dm +++ b/code/modules/projectiles/guns/projectile/automatic_yw.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/gun/projectile/automatic/mg42 +/obj/item/gun/projectile/automatic/mg42 name = "MG42" desc = "Entfesseln die Holle" //Unleash the hell icon = 'icons/obj/gun_yw.dmi' @@ -32,43 +32,43 @@ var/cover_open = 0 -/obj/item/weapon/gun/projectile/automatic/mg42/special_check(mob/user) +/obj/item/gun/projectile/automatic/mg42/special_check(mob/user) if(cover_open) user << "[src]'s cover is open! Close it before firing!" return 0 return ..() -/obj/item/weapon/gun/projectile/automatic/mg42/proc/toggle_cover(mob/user) +/obj/item/gun/projectile/automatic/mg42/proc/toggle_cover(mob/user) cover_open = !cover_open user << "You [cover_open ? "open" : "close"] [src]'s cover." update_icon() update_held_icon() -/obj/item/weapon/gun/projectile/automatic/mg42/attack_self(mob/user as mob) +/obj/item/gun/projectile/automatic/mg42/attack_self(mob/user as mob) if(cover_open) toggle_cover(user) //close the cover else return ..() //once closed, behave like normal -/obj/item/weapon/gun/projectile/automatic/mg42/attack_hand(mob/user as mob) +/obj/item/gun/projectile/automatic/mg42/attack_hand(mob/user as mob) if(!cover_open && user.get_inactive_hand() == src) toggle_cover(user) //open the cover else return ..() //once open, behave like normal -/obj/item/weapon/gun/projectile/automatic/mg42/update_icon() +/obj/item/gun/projectile/automatic/mg42/update_icon() icon_state = "mg42[cover_open ? "open" : "closed"][ammo_magazine ? "" : "-empty"][cover_open && ammo_magazine && ammo_magazine.stored_ammo.len == 0 ? "0" : ""]" item_state = "mg42" update_held_icon() -/obj/item/weapon/gun/projectile/automatic/mg42/load_ammo(var/obj/item/A, mob/user) +/obj/item/gun/projectile/automatic/mg42/load_ammo(var/obj/item/A, mob/user) if(!cover_open) user << "You need to open the cover to load [src]." return ..() -/obj/item/weapon/gun/projectile/automatic/mg42/unload_ammo(mob/user, var/allow_dump=1) +/obj/item/gun/projectile/automatic/mg42/unload_ammo(mob/user, var/allow_dump=1) if(!cover_open) user << "You need to open the cover to unload [src]." return - ..() \ No newline at end of file + ..() diff --git a/code/modules/projectiles/guns/projectile/boltaction.dm b/code/modules/projectiles/guns/projectile/boltaction.dm index 0065ab0844f..bcd74a99ef2 100644 --- a/code/modules/projectiles/guns/projectile/boltaction.dm +++ b/code/modules/projectiles/guns/projectile/boltaction.dm @@ -1,7 +1,7 @@ /* * Bolt-Action Rifle */ -/obj/item/weapon/gun/projectile/shotgun/pump/rifle +/obj/item/gun/projectile/shotgun/pump/rifle name = "bolt-action rifle" desc = "The Weissen Company Type-19 is a modern interpretation of an almost ancient weapon design. \ The model is popular among hunters and collectors due to its reliability. Uses 7.62mm rounds." @@ -27,7 +27,7 @@ /* * Practice Rifle */ -/obj/item/weapon/gun/projectile/shotgun/pump/rifle/practice // For target practice +/obj/item/gun/projectile/shotgun/pump/rifle/practice // For target practice name = "practice bolt-action rifle" icon_state = "boltaction_practice" desc = "A bolt-action rifle with a lightweight synthetic wood stock, designed for competitive shooting. \ @@ -39,7 +39,7 @@ /* * Moist Nugget */ -/obj/item/weapon/gun/projectile/shotgun/pump/rifle/moistnugget +/obj/item/gun/projectile/shotgun/pump/rifle/moistnugget name = "mosin-nagant" icon_state = "moistnugget" item_state = "rifle" @@ -55,7 +55,7 @@ /* * Ceremonial Rifle */ -/obj/item/weapon/gun/projectile/shotgun/pump/rifle/ceremonial +/obj/item/gun/projectile/shotgun/pump/rifle/ceremonial name = "ceremonial bolt-action rifle" desc = "A bolt-action rifle with a heavy, high-quality wood stock that has a beautiful finish. \ Clearly not intended to be used in combat. Uses 7.62mm rounds." @@ -67,16 +67,16 @@ var/sawn_off = FALSE -/obj/item/weapon/gun/projectile/shotgun/pump/rifle/ceremonial/attackby(var/obj/item/A as obj, mob/user as mob) +/obj/item/gun/projectile/shotgun/pump/rifle/ceremonial/attackby(var/obj/item/A as obj, mob/user as mob) if(sawn_off) - to_chat(user, "The [src] is already shortened!") + to_chat(user, span_warning("The [src] is already shortened!")) return - if(istype(A, /obj/item/weapon/surgical/circular_saw) || istype(A, /obj/item/weapon/melee/energy) || istype(A, /obj/item/weapon/pickaxe/plasmacutter) && w_class != ITEMSIZE_NORMAL) - to_chat(user, "You begin to shorten the barrel and stock of \the [src].") + if(istype(A, /obj/item/surgical/circular_saw) || istype(A, /obj/item/melee/energy) || istype(A, /obj/item/pickaxe/plasmacutter) && w_class != ITEMSIZE_NORMAL) + to_chat(user, span_notice("You begin to shorten the barrel and stock of \the [src].")) if(loaded.len) afterattack(user, user) playsound(src, fire_sound, 50, 1) - user.visible_message("[src] goes off!", "The rifle goes off in your face!") + user.visible_message(span_danger("[src] goes off!"), span_danger("The rifle goes off in your face!")) return if(do_after(user, 30)) if(sawn_off) @@ -91,7 +91,7 @@ name = "sawn-off rifle" desc = "The firepower of a rifle, now the size of a pistol, with an effective combat range of about three feet. Uses 7.62mm rounds." pump_animation = "sawn_rifle-cycling" - to_chat(user, "You shorten the barrel and stock of \the [src]!") + to_chat(user, span_warning("You shorten the barrel and stock of \the [src]!")) sawn_off = TRUE else ..() @@ -99,7 +99,7 @@ /* * Surplus Rifle */ -/obj/item/weapon/gun/projectile/shotgun/pump/surplus +/obj/item/gun/projectile/shotgun/pump/surplus name = "surplus rifle" desc = "An ancient weapon from an era long past, crude in design, but still just as effective \ as any modern interpretation. Uses 7.62mm rounds." @@ -118,7 +118,7 @@ /* * Scoped Rifle */ -/obj/item/weapon/gun/projectile/shotgun/pump/rifle/scoped +/obj/item/gun/projectile/shotgun/pump/rifle/scoped name = "scoped bolt-action rifle" desc = "The Weissen Company Type-19 is a modern interpretation of an almost ancient weapon design. \ The model is popular among hunters and collectors due to its reliability. Uses 7.62mm rounds." @@ -141,10 +141,10 @@ action_sound = 'sound/weapons/riflebolt.ogg' pump_animation = "scoped-boltaction-cycling" -/obj/item/weapon/gun/projectile/shotgun/pump/rifle/ui_action_click() +/obj/item/gun/projectile/shotgun/pump/rifle/ui_action_click(mob/user, actiontype) scope() -/obj/item/weapon/gun/projectile/shotgun/pump/rifle/verb/scope() +/obj/item/gun/projectile/shotgun/pump/rifle/verb/scope() set category = "Object" set name = "Use Scope" - set popup_menu = 1 \ No newline at end of file + set popup_menu = 1 diff --git a/code/modules/projectiles/guns/projectile/caseless.dm b/code/modules/projectiles/guns/projectile/caseless.dm index dc919f3a878..239eaa14951 100644 --- a/code/modules/projectiles/guns/projectile/caseless.dm +++ b/code/modules/projectiles/guns/projectile/caseless.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/gun/projectile/caseless/prototype +/obj/item/gun/projectile/caseless/prototype name = "prototype caseless rifle" desc = "The GC1 is a rifle cooked up in Gilthari Exports's R&D labs that operates with barely comprehensible clockwork internals. Uses solid phoron 5mm caseless rounds." description_fluff = "Gilthari is Sol’s premier supplier of luxury goods, specializing in extracting money from the rich and successful. \ @@ -13,11 +13,11 @@ magazine_type = null // R&D builds this. Starts unloaded. allowed_magazines = list(/obj/item/ammo_magazine/m5mmcaseless) -/obj/item/weapon/gun/projectile/caseless/prototype/update_icon() +/obj/item/gun/projectile/caseless/prototype/update_icon() if(ammo_magazine) icon_state = initial(icon_state) else icon_state = "[initial(icon_state)]-empty" -/obj/item/weapon/gun/projectile/caseless/prototype/loaded +/obj/item/gun/projectile/caseless/prototype/loaded magazine_type = /obj/item/ammo_magazine/m5mmcaseless \ No newline at end of file diff --git a/code/modules/projectiles/guns/projectile/contender.dm b/code/modules/projectiles/guns/projectile/contender.dm index 3e064da7a0f..541330d87c4 100644 --- a/code/modules/projectiles/guns/projectile/contender.dm +++ b/code/modules/projectiles/guns/projectile/contender.dm @@ -1,7 +1,7 @@ /* * Gram */ -/obj/item/weapon/gun/projectile/contender +/obj/item/gun/projectile/contender name = "\improper \"Gram\" Contender" desc = "Hedberg-Hammarstrom's flagship one-shot hand-cannon. For when you \ really want to make a hole. This one has been modified to work almost like \ @@ -22,7 +22,7 @@ var/retracted_bolt = 0 load_method = SINGLE_CASING -/obj/item/weapon/gun/projectile/contender/attack_self(mob/user as mob) +/obj/item/gun/projectile/contender/attack_self(mob/user as mob) if(chambered) chambered.loc = get_turf(src) chambered = null @@ -30,30 +30,30 @@ loaded -= C if(!retracted_bolt) - to_chat(user, "You cycle back the bolt on [src], ejecting the casing and allowing you to reload.") + to_chat(user, span_notice("You cycle back the bolt on [src], ejecting the casing and allowing you to reload.")) icon_state = icon_retracted retracted_bolt = 1 return 1 else if(retracted_bolt && loaded.len) - to_chat(user, "You cycle the loaded round into the chamber, allowing you to fire.") + to_chat(user, span_notice("You cycle the loaded round into the chamber, allowing you to fire.")) else - to_chat(user, "You cycle the boly back into position, leaving the gun empty.") + to_chat(user, span_notice("You cycle the boly back into position, leaving the gun empty.")) icon_state = initial(icon_state) retracted_bolt = 0 -/obj/item/weapon/gun/projectile/contender/load_ammo(var/obj/item/A, mob/user) +/obj/item/gun/projectile/contender/load_ammo(var/obj/item/A, mob/user) if(!retracted_bolt) - to_chat(user, "You can't load [src] without cycling the bolt.") + to_chat(user, span_notice("You can't load [src] without cycling the bolt.")) return ..() /* * Balmung */ -/obj/item/weapon/gun/projectile/contender/tacticool +/obj/item/gun/projectile/contender/tacticool name = "\improper \"Balmung\" Contender" desc = "A later model of the Hedberg-Hammarstrom \"Gram\", reinvented with a \ tactical look. For when you really want to make a hole. This one has been \ modified to work almost like a bolt-action. Uses .357 rounds." icon_state = "pockrifle_b" - icon_retracted = "pockrifle_b-e" \ No newline at end of file + icon_retracted = "pockrifle_b-e" diff --git a/code/modules/projectiles/guns/projectile/dartgun.dm b/code/modules/projectiles/guns/projectile/dartgun.dm index 6fde481f1fb..74bed8f9ff2 100644 --- a/code/modules/projectiles/guns/projectile/dartgun.dm +++ b/code/modules/projectiles/guns/projectile/dartgun.dm @@ -40,7 +40,7 @@ max_ammo = 5 multiple_sprites = 1 -/obj/item/weapon/gun/projectile/dartgun +/obj/item/gun/projectile/dartgun name = "dart gun" desc = "Zeng-Hu Pharmaceutical's entry into the arms market, the Z-H P Artemis is a gas-powered dart gun capable of delivering chemical cocktails swiftly across short distances." description_info = "The dart gun is capable of storing three beakers. In order to use the dart gun, you must first use it in-hand to open its mixing UI. The dart-gun will only draw from beakers with mixing enabled. If multiple are enabled, the gun will draw from them in equal amounts." @@ -66,10 +66,10 @@ var/list/mixing = list() //Containers being used for mixing. var/max_beakers = 3 var/dart_reagent_amount = 15 - var/container_type = /obj/item/weapon/reagent_containers/glass/beaker + var/container_type = /obj/item/reagent_containers/glass/beaker var/list/starting_chems = null -/obj/item/weapon/gun/projectile/dartgun/New() +/obj/item/gun/projectile/dartgun/New() ..() if(starting_chems) for(var/chem in starting_chems) @@ -78,7 +78,7 @@ beakers += B update_icon() -/obj/item/weapon/gun/projectile/dartgun/update_icon() +/obj/item/gun/projectile/dartgun/update_icon() if(!ammo_magazine) icon_state = "[base_state]-empty" return 1 @@ -93,30 +93,30 @@ else icon_state = "[base_state]" -/obj/item/weapon/gun/projectile/dartgun/consume_next_projectile() +/obj/item/gun/projectile/dartgun/consume_next_projectile() . = ..() var/obj/item/projectile/bullet/chemdart/dart = . if(istype(dart)) fill_dart(dart) -/obj/item/weapon/gun/projectile/dartgun/examine(mob/user) +/obj/item/gun/projectile/dartgun/examine(mob/user) . = ..() if(beakers.len) - . += "[src] contains:" - for(var/obj/item/weapon/reagent_containers/glass/beaker/B in beakers) + . += span_notice("[src] contains:") + for(var/obj/item/reagent_containers/glass/beaker/B in beakers) if(B.reagents && B.reagents.reagent_list.len) for(var/datum/reagent/R in B.reagents.reagent_list) - . += "[R.volume] units of [R.name]" + . += span_notice("[R.volume] units of [R.name]") -/obj/item/weapon/gun/projectile/dartgun/attackby(obj/item/I as obj, mob/user as mob) - if(istype(I, /obj/item/weapon/reagent_containers/glass)) +/obj/item/gun/projectile/dartgun/attackby(obj/item/I as obj, mob/user as mob) + if(istype(I, /obj/item/reagent_containers/glass)) if(!istype(I, container_type)) to_chat(user, span_blue("[I] doesn't seem to fit into [src].")) return if(beakers.len >= max_beakers) to_chat(user, span_blue("[src] already has [max_beakers] beakers in it - another one isn't going to fit!")) return - var/obj/item/weapon/reagent_containers/glass/beaker/B = I + var/obj/item/reagent_containers/glass/beaker/B = I user.drop_item() B.loc = src beakers += B @@ -126,19 +126,19 @@ ..() //fills the given dart with reagents -/obj/item/weapon/gun/projectile/dartgun/proc/fill_dart(var/obj/item/projectile/bullet/chemdart/dart) +/obj/item/gun/projectile/dartgun/proc/fill_dart(var/obj/item/projectile/bullet/chemdart/dart) if(mixing.len) var/mix_amount = dart.reagent_amount/mixing.len - for(var/obj/item/weapon/reagent_containers/glass/beaker/B in mixing) + for(var/obj/item/reagent_containers/glass/beaker/B in mixing) B.reagents.trans_to_obj(dart, mix_amount) -/obj/item/weapon/gun/projectile/dartgun/attack_self(mob/user) +/obj/item/gun/projectile/dartgun/attack_self(mob/user) user.set_machine(src) - var/dat = "[src] mixing control:

    " + var/dat = span_bold("[src] mixing control:") + "

    " if (beakers.len) var/i = 1 - for(var/obj/item/weapon/reagent_containers/glass/beaker/B in beakers) + for(var/obj/item/reagent_containers/glass/beaker/B in beakers) dat += "Beaker [i] contains: " if(B.reagents && B.reagents.reagent_list.len) for(var/datum/reagent/R in B.reagents.reagent_list) @@ -164,7 +164,7 @@ user << browse(dat, "window=dartgun") onclose(user, "dartgun", src) -/obj/item/weapon/gun/projectile/dartgun/proc/check_beaker_mixing(var/obj/item/B) +/obj/item/gun/projectile/dartgun/proc/check_beaker_mixing(var/obj/item/B) if(!mixing || !beakers) return 0 for(var/obj/item/M in mixing) @@ -172,7 +172,7 @@ return 1 return 0 -/obj/item/weapon/gun/projectile/dartgun/Topic(href, href_list) +/obj/item/gun/projectile/dartgun/Topic(href, href_list) if(..()) return 1 src.add_fingerprint(usr) if(href_list["stop_mix"]) @@ -190,7 +190,7 @@ var/index = text2num(href_list["eject"]) if(index <= beakers.len) if(beakers[index]) - var/obj/item/weapon/reagent_containers/glass/beaker/B = beakers[index] + var/obj/item/reagent_containers/glass/beaker/B = beakers[index] to_chat(usr, "You remove [B] from [src].") mixing -= B beakers -= B @@ -202,7 +202,7 @@ ///Variants of the Dartgun and Chemdarts./// -/obj/item/weapon/gun/projectile/dartgun/research +/obj/item/gun/projectile/dartgun/research name = "prototype dart gun" desc = "Zeng-Hu Pharmaceutical's entry into the arms market, the Z-H P Artemis is a gas-powered dart gun capable of delivering chemical cocktails swiftly across short distances. This one seems to be an early model with an NT stamp." description_info = "The dart gun is capable of storing two beakers. In order to use the dart gun, you must first use it in-hand to open its mixing UI. The dart-gun will only draw from beakers with mixing enabled. If multiple are enabled, the gun will draw from them in equal amounts." diff --git a/code/modules/projectiles/guns/projectile/dartgun_vr.dm b/code/modules/projectiles/guns/projectile/dartgun_vr.dm index a802c173275..c305d73dad7 100644 --- a/code/modules/projectiles/guns/projectile/dartgun_vr.dm +++ b/code/modules/projectiles/guns/projectile/dartgun_vr.dm @@ -1,5 +1,5 @@ //-----------------------Tranq Gun---------------------------------- -/obj/item/weapon/gun/projectile/dartgun/tranq +/obj/item/gun/projectile/dartgun/tranq name = "tranquilizer gun" desc = "A gas-powered dart gun designed by the National Armory of Gaia. This gun is used primarily by United Federation special forces for Tactical Espionage missions. Don't forget your bandana." icon_state = "tranqgun" @@ -15,7 +15,7 @@ allowed_magazines = list(/obj/item/ammo_magazine/chemdart) auto_eject = 0 -/obj/item/weapon/gun/projectile/dartgun/tranq/update_icon() +/obj/item/gun/projectile/dartgun/tranq/update_icon() if(!ammo_magazine) icon_state = "tranqgun" return 1 @@ -32,5 +32,5 @@ /obj/item/projectile/bullet/chemdart/on_hit(var/atom/target, var/blocked = 0, var/def_zone = null) ..() if(blocked < 2) - if(istype(target, /obj/item/weapon/reagent_containers/food) || istype(target, /obj/item/slime_extract)) + if(istype(target, /obj/item/reagent_containers/food) || istype(target, /obj/item/slime_extract)) reagents.trans_to_obj(target, reagent_amount) \ No newline at end of file diff --git a/code/modules/projectiles/guns/projectile/leveraction.dm b/code/modules/projectiles/guns/projectile/leveraction.dm index 0379ace324f..ad6294df2d2 100644 --- a/code/modules/projectiles/guns/projectile/leveraction.dm +++ b/code/modules/projectiles/guns/projectile/leveraction.dm @@ -1,14 +1,14 @@ /* * Lever-Action Rifle */ -/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever +/obj/item/gun/projectile/shotgun/pump/rifle/lever name = "lever-action rifle" desc = "The Weissen Company's version of an iconic manually operated lever action rifle, \ the Bushhog, offering adequate stopping power due to it's still powerful cartridge while at \ the same time having a rather respectable firing rate due to it's mechanism. It is very probable \ this is a replica instead of a museum piece, but rifles of this pattern still see usage as \ colonist guns in some far off regions. Uses 7.62mm rounds." - description_fluff = "The frontier’s largest home-grown firearms manufacturer, the Weissen \ + description_fluff = "The frontier�s largest home-grown firearms manufacturer, the Weissen \ Company offers a range of high-quality, high-cost hunting rifles and shotguns designed with \ the wild frontier wilderness - and its wildlife - in mind. The company operates just one \ production plant in the Mytis system, but their weapons have found popularity on garden \ @@ -24,14 +24,14 @@ /* * Vintage Lever-Action */ -/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever/vintage +/obj/item/gun/projectile/shotgun/pump/rifle/lever/vintage name = "vintage lever-action rifle" desc = "The Weissen Company's version of an iconic manually operated lever action rifle, \ the Bushhog, offering adequate stopping power due to it's still powerful cartridge while at \ the same time having a rather respectable firing rate due to it's mechanism. It is very probable \ this is a replica instead of a museum piece, but rifles of this pattern still see usage as \ colonist guns in some far off regions. Uses 7.62mm rounds." - description_fluff = "The frontier’s largest home-grown firearms manufacturer, the Weissen \ + description_fluff = "The frontier�s largest home-grown firearms manufacturer, the Weissen \ Company offers a range of high-quality, high-cost hunting rifles and shotguns designed with \ the wild frontier wilderness - and its wildlife - in mind. The company operates just one \ production plant in the Mytis system, but their weapons have found popularity on garden \ @@ -43,11 +43,11 @@ /* * Cowboy Repeater */ -/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever/repeater +/obj/item/gun/projectile/shotgun/pump/rifle/lever/repeater name = "repeater" desc = "The Weissen Company's answer to varmint shooting on frontier ranches, the T-7 Boone \ gives ranchers and farmers alike a perfect rider rifle for protecting the fenceline. Uses .357 rounds." - description_fluff = "The frontier’s largest home-grown firearms manufacturer, \ + description_fluff = "The frontier�s largest home-grown firearms manufacturer, \ the Weissen Arms Company are the leading manufacturer of - not only quality - \ but affordable rifles for the average frontiersman looking to protect his \ claim. The company operates just one production plant in the Mytis system, \ @@ -63,11 +63,11 @@ /* * Brushgun */ -/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever/brushgun +/obj/item/gun/projectile/shotgun/pump/rifle/lever/brushgun name = "brushgun" desc = "Weissen Company's newest budget caravan rifle for those that want a light yet effective rifle, \ the T-10 Cassidy Uses .44 rounds." - description_fluff = "The frontier’s largest home-grown firearms manufacturer, \ + description_fluff = "The frontier�s largest home-grown firearms manufacturer, \ the Weissen Arms Company are the leading manufacturer of - not only quality - \ but affordable rifles for the average frontiersman looking to protect his \ claim. The company operates just one production plant in the Mytis system, \ @@ -83,11 +83,11 @@ /* * Trailgun */ -/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever/trailgun +/obj/item/gun/projectile/shotgun/pump/rifle/lever/trailgun name = "brushgun" desc = "Weissen Company's newest budget caravan rifle for those that want a light yet effective rifle, \ the T-10 Cassidy Uses .44 rounds." - description_fluff = "The frontier’s largest home-grown firearms manufacturer, \ + description_fluff = "The frontier�s largest home-grown firearms manufacturer, \ the Weissen Arms Company are the leading manufacturer of - not only quality - \ but affordable rifles for the average frontiersman looking to protect his \ claim. The company operates just one production plant in the Mytis system, \ @@ -98,4 +98,4 @@ icon_state = "trailgun" max_shells = 8 caliber = ".44" - pump_animation = "trailgun-cycling" \ No newline at end of file + pump_animation = "trailgun-cycling" diff --git a/code/modules/projectiles/guns/projectile/pistol.dm b/code/modules/projectiles/guns/projectile/pistol.dm index cd9fde9bd84..d0eeef4225f 100644 --- a/code/modules/projectiles/guns/projectile/pistol.dm +++ b/code/modules/projectiles/guns/projectile/pistol.dm @@ -1,7 +1,7 @@ /* * M1911 */ -/obj/item/weapon/gun/projectile/colt +/obj/item/gun/projectile/colt var/unique_reskin name = ".45 pistol" desc = "A typical modern handgun produced for law enforcement. Uses .45 rounds." @@ -13,7 +13,7 @@ origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2) load_method = MAGAZINE -/obj/item/weapon/gun/projectile/colt/update_icon() +/obj/item/gun/projectile/colt/update_icon() if(ammo_magazine) if(unique_reskin) icon_state = unique_reskin @@ -28,11 +28,11 @@ /* * Detective M1911 */ -/obj/item/weapon/gun/projectile/colt/detective +/obj/item/gun/projectile/colt/detective desc = "A standard law enforcement issue pistol. Uses .45 rounds." magazine_type = /obj/item/ammo_magazine/m45/rubber -/obj/item/weapon/gun/projectile/colt/detective/verb/rename_gun() +/obj/item/gun/projectile/colt/detective/verb/rename_gun() set name = "Name Gun" set category = "Object" set desc = "Rename your gun. If you're Security." @@ -40,8 +40,8 @@ var/mob/M = usr if(!M.mind) return 0 var/job = M.mind.assigned_role - if(job != "Detective" && job != "Security Officer" && job != "Warden" && job != "Head of Security") - to_chat(M, "You don't feel cool enough to name this gun, chump.") + if(job != JOB_DETECTIVE && job != JOB_SECURITY_OFFICER && job != JOB_WARDEN && job != JOB_HEAD_OF_SECURITY ) + to_chat(M, span_notice("You don't feel cool enough to name this gun, chump.")) return 0 var/input = sanitizeSafe(input(usr, "What do you want to name the gun?", ,""), MAX_NAME_LEN) @@ -51,7 +51,7 @@ to_chat(M, "You name the gun [input]. Say hello to your new friend.") return 1 -/obj/item/weapon/gun/projectile/colt/detective/verb/reskin_gun() +/obj/item/gun/projectile/colt/detective/verb/reskin_gun() set name = "Resprite gun" set category = "Object" set desc = "Click to choose a sprite for your gun." @@ -75,7 +75,7 @@ /* * Security Sidearm */ -/obj/item/weapon/gun/projectile/sec +/obj/item/gun/projectile/sec name = ".45 pistol" desc = "The MT Mk58 is a cheap, ubiquitous sidearm, produced by MarsTech. Found pretty much everywhere humans are. Uses .45 rounds." description_fluff = "The leading civilian-sector high-quality small arms brand of Hephaestus Industries, \ @@ -88,22 +88,22 @@ origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2) load_method = MAGAZINE -/obj/item/weapon/gun/projectile/sec/update_icon() +/obj/item/gun/projectile/sec/update_icon() ..() if(ammo_magazine) icon_state = "secgun" else icon_state = "secgun-e" -/obj/item/weapon/gun/projectile/sec/flash +/obj/item/gun/projectile/sec/flash magazine_type = /obj/item/ammo_magazine/m45/flash -/obj/item/weapon/gun/projectile/sec/wood +/obj/item/gun/projectile/sec/wood name = "custom .45 pistol" desc = "The MT Mk58 is a cheap, ubiquitous sidearm, produced by MarsTech. This one has a sweet wooden grip. Uses .45 rounds." icon_state = "secgunb" -/obj/item/weapon/gun/projectile/sec/wood/update_icon() +/obj/item/gun/projectile/sec/wood/update_icon() ..() if(ammo_magazine) icon_state = "secgunb" @@ -113,7 +113,7 @@ /* * Silenced Pistol */ -/obj/item/weapon/gun/projectile/silenced +/obj/item/gun/projectile/silenced name = "silenced pistol" desc = "A small, quiet, easily concealable gun with a built-in silencer. Uses .45 rounds." icon_state = "silenced_pistol" @@ -128,10 +128,10 @@ allowed_magazines = list(/obj/item/ammo_magazine/m45) projectile_type = /obj/item/projectile/bullet/pistol/medium -/obj/item/weapon/gun/projectile/silenced/empty +/obj/item/gun/projectile/silenced/empty magazine_type = null -/obj/item/weapon/gun/projectile/silenced/update_icon() +/obj/item/gun/projectile/silenced/update_icon() ..() if(ammo_magazine) icon_state = "silenced_pistol" @@ -141,7 +141,7 @@ /* * Deagle */ -/obj/item/weapon/gun/projectile/deagle +/obj/item/gun/projectile/deagle name = "hand cannon" desc = "The PCA-55 Rarkajar perfect handgun for shooters with a need to hit targets through a wall and behind a fridge in your neighbor's house. Uses .44 rounds." description_fluff = "Pearlshield Consolidated Armories are far from the most cutting edge firearm manufacturer, but the Tajaran’s long tradition of war is rivaled only by humanity, \ @@ -156,19 +156,19 @@ magazine_type = /obj/item/ammo_magazine/m44 allowed_magazines = list(/obj/item/ammo_magazine/m44) -/obj/item/weapon/gun/projectile/deagle/update_icon() +/obj/item/gun/projectile/deagle/update_icon() ..() if(ammo_magazine) icon_state = "[initial(icon_state)]" else icon_state = "[initial(icon_state)]-e" -/obj/item/weapon/gun/projectile/deagle/gold +/obj/item/gun/projectile/deagle/gold desc = "A gold plated gun folded over a million times by superior Tajaran gunsmiths. Uses .44 rounds." icon_state = "deagleg" item_state = "deagleg" -/obj/item/weapon/gun/projectile/deagle/camo +/obj/item/gun/projectile/deagle/camo desc = "An off-brand non-Deagle for operators not operating operationally. Uses .44 rounds." icon_state = "deaglecamo" item_state = "deagleg" @@ -176,7 +176,7 @@ /* * Gyro Pistol (Admin Abuse in gun form) */ -/obj/item/weapon/gun/projectile/gyropistol +/obj/item/gun/projectile/gyropistol name = "gyrojet pistol" desc = "Speak softly, and carry a big gun. Fires rare .75 caliber self-propelled exploding bolts--because fuck you and everything around you." icon_state = "gyropistol" @@ -191,7 +191,7 @@ auto_eject = 1 auto_eject_sound = 'sound/weapons/smg_empty_alarm.ogg' -/obj/item/weapon/gun/projectile/gyropistol/update_icon() +/obj/item/gun/projectile/gyropistol/update_icon() ..() if(ammo_magazine) icon_state = "gyropistolloaded" @@ -201,7 +201,7 @@ /* * Silencer */ -/obj/item/weapon/silencer +/obj/item/silencer name = "silencer" desc = "a silencer" icon = 'icons/obj/gun.dmi' @@ -211,7 +211,7 @@ /* * Compact Pistol */ -/obj/item/weapon/gun/projectile/pistol +/obj/item/gun/projectile/pistol name = "compact pistol" desc = "The Lumoco Arms P3 \"Whisper\". A compact, easily concealable gun, though it's only compatible with compact magazines. Uses 9mm rounds." icon_state = "pistol" @@ -225,16 +225,16 @@ allowed_magazines = list(/obj/item/ammo_magazine/m9mm/compact) projectile_type = /obj/item/projectile/bullet/pistol -/obj/item/weapon/gun/projectile/pistol/flash +/obj/item/gun/projectile/pistol/flash magazine_type = /obj/item/ammo_magazine/m9mm/compact/flash -/obj/item/weapon/gun/projectile/pistol/attack_hand(mob/living/user as mob) +/obj/item/gun/projectile/pistol/attack_hand(mob/living/user as mob) if(user.get_inactive_hand() == src) if(silenced) if(!user.item_is_in_hands(src)) ..() return - to_chat(user, "You unscrew [silenced] from [src].") + to_chat(user, span_notice("You unscrew [silenced] from [src].")) user.put_in_hands(silenced) silenced = 0 w_class = ITEMSIZE_SMALL @@ -242,13 +242,13 @@ return ..() -/obj/item/weapon/gun/projectile/pistol/attackby(obj/item/I as obj, mob/living/user as mob) - if(istype(I, /obj/item/weapon/silencer)) +/obj/item/gun/projectile/pistol/attackby(obj/item/I as obj, mob/living/user as mob) + if(istype(I, /obj/item/silencer)) if(!user.item_is_in_hands(src)) //if we're not in his hands - to_chat(user, "You'll need [src] in your hands to do that.") + to_chat(user, span_notice("You'll need [src] in your hands to do that.")) return user.drop_item() - to_chat(user, "You screw [I] onto [src].") + to_chat(user, span_notice("You screw [I] onto [src].")) silenced = I //dodgy? w_class = ITEMSIZE_NORMAL I.loc = src //put the silencer into the gun @@ -256,7 +256,7 @@ return ..() -/obj/item/weapon/gun/projectile/pistol/update_icon() +/obj/item/gun/projectile/pistol/update_icon() if(ammo_magazine) if(silenced) icon_state = "pistol-s" @@ -271,7 +271,7 @@ /* * Pistol */ -/obj/item/weapon/gun/projectile/aps +/obj/item/gun/projectile/aps name = "pistol" desc = "The Lumoco Arms P6 \"Rustle\". A standard self-defense pistol that takes standard magazines. Uses 9mm rounds." icon_state = "aps" @@ -284,33 +284,33 @@ allowed_magazines = list(/obj/item/ammo_magazine/m9mm) projectile_type = /obj/item/projectile/bullet/pistol -/obj/item/weapon/gun/projectile/aps/attack_hand(mob/living/user as mob) +/obj/item/gun/projectile/aps/attack_hand(mob/living/user as mob) if(user.get_inactive_hand() == src) if(silenced) if(!user.item_is_in_hands(src)) ..() return - to_chat(user, "You unscrew [silenced] from [src].") + to_chat(user, span_notice("You unscrew [silenced] from [src].")) user.put_in_hands(silenced) silenced = 0 update_icon() return ..() -/obj/item/weapon/gun/projectile/aps/attackby(obj/item/I as obj, mob/living/user as mob) - if(istype(I, /obj/item/weapon/silencer)) +/obj/item/gun/projectile/aps/attackby(obj/item/I as obj, mob/living/user as mob) + if(istype(I, /obj/item/silencer)) if(!user.item_is_in_hands(src)) //if we're not in his hands - to_chat(user, "You'll need [src] in your hands to do that.") + to_chat(user, span_notice("You'll need [src] in your hands to do that.")) return user.drop_item() - to_chat(user, "You screw [I] onto [src].") + to_chat(user, span_notice("You screw [I] onto [src].")) silenced = I //dodgy? I.loc = src //put the silencer into the gun update_icon() return ..() -/obj/item/weapon/gun/projectile/aps/update_icon() +/obj/item/gun/projectile/aps/update_icon() if(ammo_magazine) if(silenced) icon_state = "aps-s" @@ -325,7 +325,7 @@ /* * Zip Gun (yar har) */ -/obj/item/weapon/gun/projectile/pirate +/obj/item/gun/projectile/pirate name = "zip gun" desc = "Little more than a barrel, handle, and firing mechanism, cheap makeshift firearms like this one are not uncommon in frontier systems." icon_state = "zipgun" @@ -351,7 +351,7 @@ /obj/item/ammo_casing/a545 = "5.45mm" ) -/obj/item/weapon/gun/projectile/pirate/New() +/obj/item/gun/projectile/pirate/New() ammo_type = pick(ammo_types) desc += " Uses [ammo_types[ammo_type]] rounds." @@ -362,7 +362,7 @@ /* * Derringer */ -/obj/item/weapon/gun/projectile/derringer +/obj/item/gun/projectile/derringer name = "derringer" desc = "It's not size of your gun that matters, just the size of your load. Uses .357 rounds." //OHHH MYYY~ icon_state = "derringer" @@ -378,7 +378,7 @@ /* * Luger */ -/obj/item/weapon/gun/projectile/luger +/obj/item/gun/projectile/luger name = "\improper Jindal T15 \"Mäuse\"" desc = "Almost seventy percent guaranteed not to be a cheap rimworld knockoff! Accuracy, easy handling, and its distinctive appearance \ make it popular among gun collectors. Uses 9mm rounds." @@ -395,14 +395,14 @@ allowed_magazines = list(/obj/item/ammo_magazine/m9mm/luger) projectile_type = /obj/item/projectile/bullet/pistol -/obj/item/weapon/gun/projectile/luger/update_icon() +/obj/item/gun/projectile/luger/update_icon() ..() if(ammo_magazine) icon_state = "[initial(icon_state)]" else icon_state = "[initial(icon_state)]-e" -/obj/item/weapon/gun/projectile/luger/brown +/obj/item/gun/projectile/luger/brown name = "\improper Jindal T15b \"Mäuse\"" description_fluff = "While wholly owned by Hephaestus Industries, the Jindal Arms brand does not appear prominently in most company catalogues \ (Perhaps owing to its less than prestigious image), instead being sold almost exclusively through retailers and advertising platforms targeting \ @@ -412,7 +412,7 @@ /* * P92X (9mm Pistol) */ -/obj/item/weapon/gun/projectile/p92x +/obj/item/gun/projectile/p92x name = "9mm pistol" desc = "A widespread MarsTech sidearm called the P92X which is used by military, police, and security forces across the galaxy. Uses 9mm rounds." icon_state = "p92x" @@ -422,32 +422,32 @@ magazine_type = /obj/item/ammo_magazine/m9mm allowed_magazines = list(/obj/item/ammo_magazine/m9mm) // Can accept illegal large capacity magazines, or compact magazines. -/obj/item/weapon/gun/projectile/p92x/update_icon() +/obj/item/gun/projectile/p92x/update_icon() ..() if(ammo_magazine) icon_state = "[initial(icon_state)]" else icon_state = "[initial(icon_state)]-e" -/obj/item/weapon/gun/projectile/p92x/rubber +/obj/item/gun/projectile/p92x/rubber magazine_type = /obj/item/ammo_magazine/m9mm/rubber -/obj/item/weapon/gun/projectile/p92x/brown +/obj/item/gun/projectile/p92x/brown icon_state = "p92xb" -/obj/item/weapon/gun/projectile/p92x/large +/obj/item/gun/projectile/p92x/large magazine_type = /obj/item/ammo_magazine/m9mm/large // Spawns with illegal magazines. -/obj/item/weapon/gun/projectile/p92x/large/preban +/obj/item/gun/projectile/p92x/large/preban magazine_type = /obj/item/ammo_magazine/m9mm/large/preban // Spawns with big magazines that are legal. -/obj/item/weapon/gun/projectile/p92x/large/preban/hp +/obj/item/gun/projectile/p92x/large/preban/hp magazine_type = /obj/item/ammo_magazine/m9mm/large/preban/hp // Spawns with legal hollow-point mag /* * Giskard (Eris Port) */ -/obj/item/weapon/gun/projectile/giskard +/obj/item/gun/projectile/giskard name = "\improper \"Giskard\" holdout pistol" desc = "The FS HG .38 \"Giskard\" can even fit into the pocket! Uses .38 rounds." icon_state = "giskardcivil" @@ -460,14 +460,14 @@ fire_sound = 'sound/weapons/gunshot_pathetic.ogg' origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 3) -/obj/item/weapon/gun/projectile/giskard/update_icon() +/obj/item/gun/projectile/giskard/update_icon() ..() if(ammo_magazine && ammo_magazine.stored_ammo.len) icon_state = "giskardcivil" else icon_state = "giskardcivil_empty" -/obj/item/weapon/gun/projectile/giskard/olivaw +/obj/item/gun/projectile/giskard/olivaw name = "\improper \"Olivaw\" holdout burst-pistol" desc = "The FS HG .38 \"Olivaw\" is a more advanced version of the \"Giskard\". \ This one seems to have a two-round burst-fire mode. Uses .38 rounds." @@ -478,7 +478,7 @@ list(mode_name="2-round bursts", burst=2, fire_delay=0.2, move_delay=4, burst_accuracy=list(0,-15), dispersion=list(1.2, 1.8)), ) -/obj/item/weapon/gun/projectile/giskard/olivaw/update_icon() +/obj/item/gun/projectile/giskard/olivaw/update_icon() ..() if(ammo_magazine && ammo_magazine.stored_ammo.len) icon_state = "olivawcivil" @@ -488,7 +488,7 @@ /* * Makarov */ -/obj/item/weapon/gun/projectile/makarov +/obj/item/gun/projectile/makarov name = "makarov" desc = "A small, rugged pistol from a bygone era. Uses .38 rounds." icon_state = "makarov" @@ -501,7 +501,7 @@ w_class = ITEMSIZE_SMALL origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2) -/obj/item/weapon/gun/projectile/makarov/update_icon() +/obj/item/gun/projectile/makarov/update_icon() if(ammo_magazine) icon_state = "Makarov" else @@ -510,7 +510,7 @@ /* * N99 (Fallout) */ -/obj/item/weapon/gun/projectile/n99 +/obj/item/gun/projectile/n99 name = "promotional pistol" desc = "A very robust looking pistol that was made to promote 'Radius: Legend of the Demon Core', a popular \ post-apocolyptic TV series. It's rare to come across as marketing swiftly switched to a toy version as \ @@ -525,16 +525,16 @@ w_class = ITEMSIZE_NORMAL origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2) -/obj/item/weapon/gun/projectile/n99/update_icon() +/obj/item/gun/projectile/n99/update_icon() if(ammo_magazine) icon_state = "n99" else icon_state = "n99-e" -/obj/item/weapon/gun/projectile/n80 +/obj/item/gun/projectile/n80 icon_state = "n80" -/obj/item/weapon/gun/projectile/n80/update_icon() +/obj/item/gun/projectile/n80/update_icon() if(ammo_magazine) icon_state = "n80" else @@ -543,7 +543,7 @@ /* * Écureuil 10mm Pistol (Skyrat Port) */ -/obj/item/weapon/gun/projectile/ecureuil +/obj/item/gun/projectile/ecureuil name = "\improper \"Écureuil\" 10mm pistol" desc = "The 10mm MarsTech sidearm \"Écureuil\" is a well known military grade pistol. \ It's mostly used by ranking members of NanoTrasen as a means of self defense. Uses 10mm rounds." @@ -557,27 +557,27 @@ w_class = ITEMSIZE_NORMAL origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2) -/obj/item/weapon/gun/projectile/ecureuil/update_icon() +/obj/item/gun/projectile/ecureuil/update_icon() if(ammo_magazine) icon_state = "ecureuil" else icon_state = "ecureuil-e" -/obj/item/weapon/gun/projectile/ecureuil/tac +/obj/item/gun/projectile/ecureuil/tac name = "\improper Tactical \"Écureuil\" 10mm pistol" icon_state = "tac_ecureuil" -/obj/item/weapon/gun/projectile/ecureuil/tac/update_icon() +/obj/item/gun/projectile/ecureuil/tac/update_icon() if(ammo_magazine) icon_state = "tac_ecureuil" else icon_state = "tac_ecureuil-e" -/obj/item/weapon/gun/projectile/ecureuil/tac2 +/obj/item/gun/projectile/ecureuil/tac2 name = "\improper Tactical \"Écureuil\" 10mm pistol" icon_state = "tac_ecureuil" -/obj/item/weapon/gun/projectile/ecureuil/tac2/update_icon() +/obj/item/gun/projectile/ecureuil/tac2/update_icon() if(ammo_magazine) icon_state = "tac2_ecureuil" else @@ -586,7 +586,7 @@ /* * Lamia (Eris Port) */ -/obj/item/weapon/gun/projectile/lamia +/obj/item/gun/projectile/lamia name = "\improper FS HG .44 \"Lamia\"" desc = "The FS HG .44 \"Lamia\" is the epitome of power in a handheld device. Uses .44 rounds." icon_state = "lamia" @@ -599,10 +599,10 @@ auto_eject_sound = 'sound/weapons/smg_empty_alarm.ogg' origin_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 4) -/obj/item/weapon/gun/projectile/lamia/update_icon() +/obj/item/gun/projectile/lamia/update_icon() cut_overlays() if(!ammo_magazine) return var/ratio = ammo_magazine.stored_ammo.len * 100 / ammo_magazine.max_ammo ratio = round(ratio, 33) - add_overlay("lamia_[ratio]") \ No newline at end of file + add_overlay("lamia_[ratio]") diff --git a/code/modules/projectiles/guns/projectile/pistol_yw.dm b/code/modules/projectiles/guns/projectile/pistol_yw.dm index 95ecdec80e4..822df1c2953 100644 --- a/code/modules/projectiles/guns/projectile/pistol_yw.dm +++ b/code/modules/projectiles/guns/projectile/pistol_yw.dm @@ -1,5 +1,5 @@ /******GLOCK******/ -/obj/item/weapon/gun/projectile/automatic/glock +/obj/item/gun/projectile/automatic/glock name = "Glock G18" desc = "A automatic handgun that uses .9mm rounds." icon_state = "glock" @@ -16,7 +16,7 @@ list(mode_name="short bursts", burst=5, move_delay=6, burst_accuracy = list(0,-1,-1,-2,-2), dispersion = list(0.6, 1.0, 1.0, 1.0, 1.2)) ) -/obj/item/weapon/gun/projectile/automatic/glock/update_icon() +/obj/item/gun/projectile/automatic/glock/update_icon() ..() if(ammo_magazine) icon_state = "[initial(icon_state)]" @@ -25,7 +25,7 @@ /*******PPK*******/ -/obj/item/weapon/gun/projectile/ppk +/obj/item/gun/projectile/ppk name = "PPK" desc = "A handgun that uses .9mm rounds." icon_state = "ppk" @@ -37,7 +37,7 @@ magazine_type = /obj/item/ammo_magazine/m9mm allowed_magazines = list(/obj/item/ammo_magazine/m9mm) -/obj/item/weapon/gun/projectile/ppk/update_icon() +/obj/item/gun/projectile/ppk/update_icon() ..() if(ammo_magazine) icon_state = "[initial(icon_state)]" @@ -46,7 +46,7 @@ /*******M2024*******/ -/obj/item/weapon/gun/projectile/m2024 +/obj/item/gun/projectile/m2024 name = "Custom M2024" desc = "Customized model of old yet reliable sol .45 handgun with the name 'M2024'. Used to be popular, still appreciated for it's effectiveness." icon_state = "m2024" @@ -58,7 +58,7 @@ magazine_type = /obj/item/ammo_magazine/m2024 allowed_magazines = list(/obj/item/ammo_magazine/m2024,/obj/item/ammo_magazine/m45) -/obj/item/weapon/gun/projectile/m2024/update_icon() +/obj/item/gun/projectile/m2024/update_icon() ..() if(ammo_magazine) icon_state = "[initial(icon_state)]" @@ -66,7 +66,7 @@ icon_state = "[initial(icon_state)]-empty" /*******M1911 Custom fluff*******/ -/obj/item/weapon/gun/projectile/fluff/m1911 +/obj/item/gun/projectile/fluff/m1911 name = "M1911 Custom" desc = "A modernized, customized M1911 pistol with a rail for attachments such as flashlight or laser sight (fooken laser sights). It's engraved, and the engraving says, 'For honorable duty.' It's original, Sol Gov firearm from Earth, not a cheap mars replica." icon_state = "m1911" @@ -78,9 +78,9 @@ magazine_type = /obj/item/ammo_magazine/m45 allowed_magazines = list(/obj/item/ammo_magazine/m45) -/obj/item/weapon/gun/projectile/m2024/update_icon() +/obj/item/gun/projectile/m2024/update_icon() ..() if(ammo_magazine) icon_state = "[initial(icon_state)]" else - icon_state = "[initial(icon_state)]-empty" \ No newline at end of file + icon_state = "[initial(icon_state)]-empty" diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm index 77c211778d0..a7a0cfc1e49 100644 --- a/code/modules/projectiles/guns/projectile/revolver.dm +++ b/code/modules/projectiles/guns/projectile/revolver.dm @@ -1,7 +1,7 @@ /* * Revolver */ -/obj/item/weapon/gun/projectile/revolver +/obj/item/gun/projectile/revolver name = "revolver" desc = "The MarsTech HE Colt is a choice revolver for when you absolutely, positively need to put a hole in the other guy. Uses .357 rounds." description_fluff = "MarsTech first made their name in the Second Cold War as the 'Lunar Arms Company' providing home-grown arms to the Selene Federation, \ @@ -18,36 +18,36 @@ projectile_type = /obj/item/projectile/bullet/pistol/strong var/chamber_offset = 0 //how many empty chambers in the cylinder until you hit a round -/obj/item/weapon/gun/projectile/revolver/verb/spin_cylinder() +/obj/item/gun/projectile/revolver/verb/spin_cylinder() set name = "Spin cylinder" set desc = "Fun when you're bored out of your skull." set category = "Object" chamber_offset = 0 - visible_message("\The [usr] spins the cylinder of \the [src]!", \ - "You hear something metallic spin and click.") + visible_message(span_warning("\The [usr] spins the cylinder of \the [src]!"), \ + span_notice("You hear something metallic spin and click.")) playsound(src, 'sound/weapons/revolver_spin.ogg', 100, 1) loaded = shuffle(loaded) if(rand(1,max_shells) > loaded.len) chamber_offset = rand(0,max_shells - loaded.len) -/obj/item/weapon/gun/projectile/revolver/consume_next_projectile() +/obj/item/gun/projectile/revolver/consume_next_projectile() if(chamber_offset) chamber_offset-- return return ..() -/obj/item/weapon/gun/projectile/revolver/load_ammo(var/obj/item/A, mob/user) +/obj/item/gun/projectile/revolver/load_ammo(var/obj/item/A, mob/user) chamber_offset = 0 return ..() -/obj/item/weapon/gun/projectile/revolver/stainless +/obj/item/gun/projectile/revolver/stainless icon_state = "revolver_stainless" /* * Detective Revolver */ -/obj/item/weapon/gun/projectile/revolver/detective +/obj/item/gun/projectile/revolver/detective name = "revolver" desc = "A standard MarsTech R1 snubnose revolver, popular among some law enforcement agencies for its simple, long-lasting construction. Uses .38-Special rounds." description_fluff = "The leading civilian-sector high-quality small arms brand of Hephaestus Industries, MarsTech has been the provider of choice for law enforcement and security forces for over 300 years." @@ -56,15 +56,15 @@ origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2) ammo_type = /obj/item/ammo_casing/a38 -/obj/item/weapon/gun/projectile/revolver/detective/verb/rename_gun() +/obj/item/gun/projectile/revolver/detective/verb/rename_gun() set name = "Name Gun" set category = "Object" set desc = "Click to rename your gun. If you're the detective." var/mob/M = usr if(!M.mind) return 0 - if(!M.mind.assigned_role == "Detective") - to_chat(M, "You don't feel cool enough to name this gun, chump.") + if(!M.mind.assigned_role == JOB_DETECTIVE) + to_chat(M, span_notice("You don't feel cool enough to name this gun, chump.")) return 0 var/input = sanitizeSafe(input(usr, "What do you want to name the gun?", ,""), MAX_NAME_LEN) @@ -74,7 +74,7 @@ to_chat(M, "You name the gun [input]. Say hello to your new friend.") return 1 -/obj/item/weapon/gun/projectile/revolver/detective45 +/obj/item/gun/projectile/revolver/detective45 name = ".45 revolver" desc = "A basic revolver, popular among some law enforcement agencies for its simple, long-lasting construction, modified for .45 rounds and a seven-shot cylinder." icon_state = "detective" @@ -83,16 +83,16 @@ ammo_type = /obj/item/ammo_casing/a45/rubber max_shells = 6 -/obj/item/weapon/gun/projectile/revolver/detective45/verb/rename_gun() +/obj/item/gun/projectile/revolver/detective45/verb/rename_gun() set name = "Name Gun" set category = "Object" - set desc = "Rename your gun. If you're the Detective." + set desc = "Rename your gun. If you're the " + JOB_DETECTIVE + "." var/mob/M = usr if(!M.mind) return 0 var/job = M.mind.assigned_role - if(job != "Detective") - to_chat(M, "You don't feel cool enough to name this gun, chump.") + if(job != JOB_DETECTIVE) + to_chat(M, span_notice("You don't feel cool enough to name this gun, chump.")) return 0 var/input = sanitizeSafe(input(usr, "What do you want to name the gun?", ,""), MAX_NAME_LEN) @@ -102,7 +102,7 @@ to_chat(M, "You name the gun [input]. Say hello to your new friend.") return 1 -/obj/item/weapon/gun/projectile/revolver/detective45/verb/reskin_gun() +/obj/item/gun/projectile/revolver/detective45/verb/reskin_gun() set name = "Resprite gun" set category = "Object" set desc = "Click to choose a sprite for your gun." @@ -128,17 +128,17 @@ * Lombardi Revolvers * Use to be detective revolvers until seperated */ -/obj/item/weapon/gun/projectile/revolver/lombardi +/obj/item/gun/projectile/revolver/lombardi name = "Lombardi Buzzard" desc = "A rugged revolver that is mostly used by small law enforcement agencies across the frontier as a cheap, reliable sidearm. Uses .357 rounds." icon_state = "lombardi_police" origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2) -/obj/item/weapon/gun/projectile/revolver/lombardi/panther +/obj/item/gun/projectile/revolver/lombardi/panther name = "Lombardi Panther" icon_state = "lombardi_panther" -/obj/item/weapon/gun/projectile/revolver/lombardi/gold +/obj/item/gun/projectile/revolver/lombardi/gold name = "Lombardi Deluxe 2502" desc = "A sweet looking revolver that is decorated with false gold and silver plating. Favored among by gamblers and criminals alike. Uses .357 rounds." icon_state = "lombardi_gold" @@ -146,7 +146,7 @@ /* * Captain's Peacekeeper */ -/obj/item/weapon/gun/projectile/revolver/cappeacekeeper +/obj/item/gun/projectile/revolver/cappeacekeeper name = "decorated peacekeeper" desc = "A MarsTech Frontiersman revolver that has been heavily modified. It has been decorated for personal use by command officers. Uses .44 rounds." description_fluff = "The leading civilian-sector high-quality small arms brand of Hephaestus Industries, \ @@ -159,7 +159,7 @@ /* * Mateba */ -/obj/item/weapon/gun/projectile/revolver/mateba +/obj/item/gun/projectile/revolver/mateba name = "mateba" desc = "This unique looking handgun is named after an Italian company famous for the original manufacture of \ these revolvers, and pasta kneading machines. Uses .357 rounds." // Yes I'm serious. -Spades @@ -169,7 +169,7 @@ /* * Deckard (Blade Runner) */ -/obj/item/weapon/gun/projectile/revolver/deckard +/obj/item/gun/projectile/revolver/deckard name = "\improper \"Deckard\" .38" desc = "A custom-built revolver, based off the semi-popular Detective Special model. Uses .38-Special rounds." icon_state = "deckard-empty" @@ -177,18 +177,18 @@ origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2) ammo_type = /obj/item/ammo_casing/a38 -/obj/item/weapon/gun/projectile/revolver/deckard/emp +/obj/item/gun/projectile/revolver/deckard/emp ammo_type = /obj/item/ammo_casing/a38/emp -/obj/item/weapon/gun/projectile/revolver/deckard/update_icon() +/obj/item/gun/projectile/revolver/deckard/update_icon() ..() if(loaded.len) icon_state = "deckard-loaded" else icon_state = "deckard-empty" -/obj/item/weapon/gun/projectile/revolver/deckard/load_ammo(var/obj/item/A, mob/user) +/obj/item/gun/projectile/revolver/deckard/load_ammo(var/obj/item/A, mob/user) if(istype(A, /obj/item/ammo_magazine)) flick("deckard-reload",src) ..() @@ -196,7 +196,7 @@ /* * Judge */ -/obj/item/weapon/gun/projectile/revolver/judge +/obj/item/gun/projectile/revolver/judge name = "\"The Judge\"" desc = "A revolving hand-shotgun by Jindal Arms that packs the power of a 12 guage in the palm of your hand (if you don't break your wrist). Uses 12g rounds." description_fluff = "While wholly owned by Hephaestus Industries, the Jindal Arms brand does not appear \ @@ -216,7 +216,7 @@ /* * Mako */ -/obj/item/weapon/gun/projectile/revolver/lemat +/obj/item/gun/projectile/revolver/lemat name = "Mako revolver" desc = "The Bishamonten P100 Mako is a 9 shot revolver with a secondary firing barrel loading shotgun shells. For when you really need something dead. A rare yet deadly collector's item. Uses .38-Special and 12g rounds depending on the barrel." description_fluff = "The Bishamonten Company operated from roughly 2150-2280 - the height of the first extrasolar colonisation boom - before filing for bankruptcy and selling off its assets to various companies that would go on to become today’s TSCs. \ @@ -239,12 +239,12 @@ var/list/tertiary_loaded = list() -/obj/item/weapon/gun/projectile/revolver/lemat/New() +/obj/item/gun/projectile/revolver/lemat/New() for(var/i in 1 to secondary_max_shells) secondary_loaded += new secondary_ammo_type(src) ..() -/obj/item/weapon/gun/projectile/revolver/lemat/verb/swap_firingmode() +/obj/item/gun/projectile/revolver/lemat/verb/swap_firingmode() set name = "Swap Firing Mode" set category = "Object" set desc = "Click to swap from one method of firing to another." @@ -253,7 +253,7 @@ if(!M.mind) return 0 - to_chat(M, "You change the firing mode on \the [src].") + to_chat(M, span_notice("You change the firing mode on \the [src].")) if(!flipped_firing) if(max_shells && secondary_max_shells) max_shells = secondary_max_shells @@ -286,21 +286,21 @@ flipped_firing = 0 -/obj/item/weapon/gun/projectile/revolver/lemat/spin_cylinder() +/obj/item/gun/projectile/revolver/lemat/spin_cylinder() set name = "Spin cylinder" set desc = "Fun when you're bored out of your skull." set category = "Object" chamber_offset = 0 - visible_message("\The [usr] spins the cylinder of \the [src]!", \ - "You hear something metallic spin and click.") + visible_message(span_warning("\The [usr] spins the cylinder of \the [src]!"), \ + span_notice("You hear something metallic spin and click.")) playsound(src, 'sound/weapons/revolver_spin.ogg', 100, 1) if(!flipped_firing) loaded = shuffle(loaded) if(rand(1,max_shells) > loaded.len) chamber_offset = rand(0,max_shells - loaded.len) -/obj/item/weapon/gun/projectile/revolver/lemat/examine(mob/user) +/obj/item/gun/projectile/revolver/lemat/examine(mob/user) . = ..() if(secondary_loaded) var/to_print @@ -314,7 +314,7 @@ /* * Webley (Bay Port) */ -/obj/item/weapon/gun/projectile/revolver/webley +/obj/item/gun/projectile/revolver/webley name = "patrol revolver" desc = "A rugged top break revolver commonly issued to planetary law enforcement offices. Uses .44 magnum rounds." description_fluff = "The Heberg-Hammarstrom Althing is a simple, head-wearing revolver made with an anti-corrosive alloy. \ @@ -330,7 +330,7 @@ /* * Webley (Eris Port) */ -/obj/item/weapon/gun/projectile/revolver/consul +/obj/item/gun/projectile/revolver/consul name = "\improper \"Consul\" Revolver" desc = "Are you feeling lucky, punk? Uses .44 rounds." icon_state = "inspector" @@ -340,12 +340,12 @@ handle_casings = CYCLE_CASINGS ammo_type = /obj/item/ammo_casing/a44/rubber -/obj/item/weapon/gun/projectile/revolver/consul/proc/update_charge() +/obj/item/gun/projectile/revolver/consul/proc/update_charge() cut_overlays() if(loaded.len==0) add_overlay("inspector_off") else add_overlay("inspector_on") -/obj/item/weapon/gun/projectile/revolver/consul/update_icon() +/obj/item/gun/projectile/revolver/consul/update_icon() update_charge() diff --git a/code/modules/projectiles/guns/projectile/revolver_yw.dm b/code/modules/projectiles/guns/projectile/revolver_yw.dm index 864efcb6de1..19ae111159f 100644 --- a/code/modules/projectiles/guns/projectile/revolver_yw.dm +++ b/code/modules/projectiles/guns/projectile/revolver_yw.dm @@ -1,13 +1,13 @@ -/obj/item/weapon/gun/projectile/revolver/nova +/obj/item/gun/projectile/revolver/nova name = "Nova" desc = "Heavily modified revolver, with alas only 6 round chamber but fiery firepower of 357 calibre. Make it count. Uses .357 rounds." // Yes I'm serious. -Spades icon_state = "nova" icon = 'icons/obj/gun_yw.dmi' origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2) -/obj/item/weapon/gun/projectile/revolver/cerberus +/obj/item/gun/projectile/revolver/cerberus name = "Cerberus" desc = "A high-power, fancy looking revolver that can stop nearly everything it's pointed at. Comes with a standard six-round-cylinder. There is ,Hesphiastos Industries, stamped along it's cylinder." // Yes I'm serious. -Spades icon_state = "cerb" icon = 'icons/obj/gun_yw.dmi' - origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2) \ No newline at end of file + origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2) diff --git a/code/modules/projectiles/guns/projectile/semiauto.dm b/code/modules/projectiles/guns/projectile/semiauto.dm index e04c896ecc6..73a3360b437 100644 --- a/code/modules/projectiles/guns/projectile/semiauto.dm +++ b/code/modules/projectiles/guns/projectile/semiauto.dm @@ -1,7 +1,7 @@ /* * M1 Garand */ -/obj/item/weapon/gun/projectile/garand +/obj/item/gun/projectile/garand name = "semi-automatic rifle" desc = "A vintage styled frontier rifle by Hedberg-Hammarstrom. The distinctive 'ping' is considered \ traditional, though its origins are much debated. Uses 7.62mm rounds." @@ -23,7 +23,7 @@ auto_eject = 1 auto_eject_sound = 'sound/weapons/garand_ping.ogg' -/obj/item/weapon/gun/projectile/garand/update_icon() +/obj/item/gun/projectile/garand/update_icon() if(ammo_magazine) icon_state = initial(icon_state) else @@ -33,7 +33,7 @@ * Revolver Rifle * Bastard child of a revolver and a semi-auto rifle. */ -/obj/item/weapon/gun/projectile/revolvingrifle +/obj/item/gun/projectile/revolvingrifle name = "revolving rifle" desc = "The Gungnir is a novel, antique idea brought into the modern era by Hedberg-Hammarstrom. \ The semi-automatic revolving mechanism offers no real advantage, but some colonists swear by it. \ @@ -57,7 +57,7 @@ /* * Vintage Revolver Rifle */ -/obj/item/weapon/gun/projectile/revolvingrifle/vintage +/obj/item/gun/projectile/revolvingrifle/vintage name = "vintage revolving rifle" desc = "The Willhem is the Gungir's older cousin by Hedberg-Hammarstrom, the perfect collector piece. \ The semi-automatic revolving mechanism offers no real advantage, but some colonists swear by it. \ diff --git a/code/modules/projectiles/guns/projectile/shotgun.dm b/code/modules/projectiles/guns/projectile/shotgun.dm index dceb223a771..9ac452db9f6 100644 --- a/code/modules/projectiles/guns/projectile/shotgun.dm +++ b/code/modules/projectiles/guns/projectile/shotgun.dm @@ -2,7 +2,7 @@ * Shotgun */ -/obj/item/weapon/gun/projectile/shotgun/pump +/obj/item/gun/projectile/shotgun/pump name = "shotgun" desc = "The mass-produced MarsTech Meteor 29 shotgun is a favourite of police and security forces on many worlds. Uses 12g rounds." description_fluff = "The leading civilian-sector high-quality small arms brand of Hephaestus Industries, \ @@ -24,17 +24,17 @@ var/empty_sprite = 0 //This is just a dirty var so it doesn't fudge up. var/pump_animation = "shotgun-pump" //You put the reference to the animation in question here. Frees up namming. Ex: "shotgun_old_pump" or "sniper_cycle" -/obj/item/weapon/gun/projectile/shotgun/pump/consume_next_projectile() +/obj/item/gun/projectile/shotgun/pump/consume_next_projectile() if(chambered) return chambered.BB return null -/obj/item/weapon/gun/projectile/shotgun/pump/attack_self(mob/living/user as mob) +/obj/item/gun/projectile/shotgun/pump/attack_self(mob/living/user as mob) if(world.time >= recentpump + 10) pump(user) recentpump = world.time -/obj/item/weapon/gun/projectile/shotgun/pump/proc/pump(mob/M as mob) +/obj/item/gun/projectile/shotgun/pump/proc/pump(mob/M as mob) playsound(src, action_sound, 60, 1) // We have a shell in the chamber @@ -58,7 +58,7 @@ update_icon() -/obj/item/weapon/gun/projectile/shotgun/pump/update_icon()//This adds empty sprite capability for shotguns. +/obj/item/gun/projectile/shotgun/pump/update_icon()//This adds empty sprite capability for shotguns. ..() if(!empty_sprite)//Just a dirty check return @@ -67,17 +67,17 @@ else icon_state = "[icon_state]-empty" -/obj/item/weapon/gun/projectile/shotgun/pump/empty +/obj/item/gun/projectile/shotgun/pump/empty ammo_type = null -/obj/item/weapon/gun/projectile/shotgun/pump/slug +/obj/item/gun/projectile/shotgun/pump/slug ammo_type = /obj/item/ammo_casing/a12g pump_animation = null /* * Combat Shotgun */ -/obj/item/weapon/gun/projectile/shotgun/pump/combat +/obj/item/gun/projectile/shotgun/pump/combat name = "combat shotgun" desc = "Built for close quarters combat, the Hephaestus Industries KS-40 is widely regarded as a weapon of choice for repelling boarders. Uses 12g rounds." description_fluff = "The leading arms producer in the SCG, Hephaestus typically only uses its 'top level' \ @@ -90,13 +90,13 @@ load_method = SINGLE_CASING|SPEEDLOADER pump_animation = "cshotgun-pump" -/obj/item/weapon/gun/projectile/shotgun/pump/combat/empty +/obj/item/gun/projectile/shotgun/pump/combat/empty ammo_type = null /* * Double-Barreled Shotgun */ -/obj/item/weapon/gun/projectile/shotgun/doublebarrel +/obj/item/gun/projectile/shotgun/doublebarrel name = "double-barreled shotgun" desc = "A truely classic weapon. No need to change what works. Uses 12g rounds." icon_state = "dshotgun" @@ -122,18 +122,18 @@ list(mode_name="fire both barrels at once", burst=2), ) -/obj/item/weapon/gun/projectile/shotgun/doublebarrel/pellet +/obj/item/gun/projectile/shotgun/doublebarrel/pellet ammo_type = /obj/item/ammo_casing/a12g/pellet -/obj/item/weapon/gun/projectile/shotgun/doublebarrel/flare +/obj/item/gun/projectile/shotgun/doublebarrel/flare name = "signal shotgun" desc = "A double-barreled shotgun meant to fire signal flash shells. Uses 12g rounds." ammo_type = /obj/item/ammo_casing/a12g/flash -/obj/item/weapon/gun/projectile/shotgun/doublebarrel/unload_ammo(user, allow_dump) +/obj/item/gun/projectile/shotgun/doublebarrel/unload_ammo(user, allow_dump) ..(user, allow_dump=1) -/obj/item/weapon/gun/projectile/shotgun/doublebarrel/verb/rename_gun() +/obj/item/gun/projectile/shotgun/doublebarrel/verb/rename_gun() set name = "Name Gun" set category = "Object" set desc = "Rename your gun." @@ -146,7 +146,7 @@ to_chat(M, "You name the gun [input]. Say hello to your new friend.") return 1 -/obj/item/weapon/gun/projectile/shotgun/doublebarrel/verb/reskin_gun() +/obj/item/gun/projectile/shotgun/doublebarrel/verb/reskin_gun() set name = "Resprite gun" set category = "Object" set desc = "Click to choose a sprite for your gun." @@ -163,7 +163,7 @@ options["Blued"] = "dshotgun_b" var/choice = tgui_input_list(M,"Choose your sprite!","Resprite Gun", options) if(sawn_off) - to_chat(M, "The [src] is already shortened and cannot be resprited!") + to_chat(M, span_warning("The [src] is already shortened and cannot be resprited!")) return if(src && choice && !M.stat && in_range(M,src)) icon_state = options[choice] @@ -172,16 +172,16 @@ return 1 //this is largely hacky and bad :( -Pete //less hacky and bad now :) -Ghost -/obj/item/weapon/gun/projectile/shotgun/doublebarrel/attackby(var/obj/item/A as obj, mob/user as mob) +/obj/item/gun/projectile/shotgun/doublebarrel/attackby(var/obj/item/A as obj, mob/user as mob) if(sawn_off) - to_chat(user, "The [src] is already shortened!") + to_chat(user, span_warning("The [src] is already shortened!")) return - if(istype(A, /obj/item/weapon/surgical/circular_saw) || istype(A, /obj/item/weapon/melee/energy) || istype(A, /obj/item/weapon/pickaxe/plasmacutter)) - to_chat(user, "You begin to shorten the barrel of \the [src].") + if(istype(A, /obj/item/surgical/circular_saw) || istype(A, /obj/item/melee/energy) || istype(A, /obj/item/pickaxe/plasmacutter)) + to_chat(user, span_notice("You begin to shorten the barrel of \the [src].")) if(loaded.len) var/burstsetting = burst burst = 2 - user.visible_message("The shotgun goes off!", "The shotgun goes off in your face!") + user.visible_message(span_danger("The shotgun goes off!"), span_danger("The shotgun goes off in your face!")) Fire_userless(user) user.hud_used.update_ammo_hud(user, src) // TGMC Ammo HUD Port burst = burstsetting @@ -200,7 +200,7 @@ slot_flags |= (SLOT_BELT|SLOT_HOLSTER) // but you can wear it on your belt (poorly concealed under a trenchcoat, ideally) - or in a holster, why not. name = "sawn-off shotgun" desc = "Omar's coming!" - to_chat(user, "You shorten the barrel of \the [src]!") + to_chat(user, span_warning("You shorten the barrel of \the [src]!")) sawn_off = TRUE else ..() @@ -208,7 +208,7 @@ /* * Sawn-Off Shotgun */ -/obj/item/weapon/gun/projectile/shotgun/doublebarrel/sawn +/obj/item/gun/projectile/shotgun/doublebarrel/sawn name = "sawn-off shotgun" desc = "Omar's coming!" // I'm not gonna add "Uses 12g rounds." to this one. I'll just let this reference go undisturbed. icon_state = "dshotgun_sawn" @@ -220,7 +220,7 @@ sawn_off = TRUE //Sjorgen Inertial Shotgun -/obj/item/weapon/gun/projectile/shotgun/semi +/obj/item/gun/projectile/shotgun/semi name = "semi-automatic shotgun" desc = "A shotgun with a simple, yet effective recoil inertia loading mechanism for semi-automatic fire. This gun uses 12 gauge ammunition." description_fluff = "Looking back on yet another venerable design, Hedberg-Hammarstrom settled on a pattern of shotgun that both had the reliability of a well proven semi-automatic loading system in addition to a striking visual aesthetic that would be appealing to even the most discerning of firearm collectors." @@ -233,4 +233,3 @@ load_method = SINGLE_CASING max_shells = 5 ammo_type = /obj/item/ammo_casing/a12g/beanbag - diff --git a/code/modules/projectiles/guns/projectile/shotgun_vr.dm b/code/modules/projectiles/guns/projectile/shotgun_vr.dm index 3d6486c60db..f8cdfc8d3b6 100644 --- a/code/modules/projectiles/guns/projectile/shotgun_vr.dm +++ b/code/modules/projectiles/guns/projectile/shotgun_vr.dm @@ -1,5 +1,5 @@ // For general use -/obj/item/weapon/gun/projectile/shotgun/pump/USDF +/obj/item/gun/projectile/shotgun/pump/USDF name = "\improper USDF tactical shotgun" desc = "All you greenhorns who wanted to see Xenomorphs up close... this is your lucky day. Uses 12g rounds." icon = 'icons/obj/gun_vr.dmi' @@ -11,14 +11,14 @@ max_shells = 12 //Warden's shotgun gets it's own entry now, rather than being handled by the maps -/obj/item/weapon/gun/projectile/shotgun/pump/combat/warden +/obj/item/gun/projectile/shotgun/pump/combat/warden name = "warden's shotgun" desc = "Built for close quarters combat, the Hephaestus Industries KS-40 is widely regarded as a weapon of choice for repelling boarders. This one has 'Property of the Warden' inscribed on the stock." description_fluff = "The leading arms producer in the SCG, Hephaestus typically only uses its 'top level' branding for its military-grade equipment used by armed forces across human space." ammo_type = /obj/item/ammo_casing/a12g/beanbag //Compact shotgun, this version's for usage later by mappers/coders/w.e. -/obj/item/weapon/gun/projectile/shotgun/compact +/obj/item/gun/projectile/shotgun/compact name = "compact shotgun" desc = "Built for extremely-close quarters combat, the Hephaestus Industries KS-55 \"semi-auto shorty\" is a relatively rare sight to see, usually in the hands of elite troops that specialize in boarding. Uses 12g rounds." description_fluff = "The leading arms producer in the SCG, Hephaestus typically only uses its 'top level' branding for its military-grade equipment used by armed forces across human space." @@ -37,16 +37,16 @@ projectile_type = /obj/item/projectile/bullet/shotgun one_handed_penalty = 30 //You madman, one-handing a 12g shotgun. recoil = 5 //Unfold the damn stock you fool! - action_button_name = "Toggle stock" + actions_types = list(/datum/action/item_action/toggle_stock) var/stock = FALSE -/obj/item/weapon/gun/projectile/shotgun/compact/proc/toggle_stock() +/obj/item/gun/projectile/shotgun/compact/proc/toggle_stock() var/mob/living/user = loc stock = !stock if(stock) - user.visible_message("With a fluid movement, [user] unfolds their shotgun's stock and foregrip.",\ - "You unfold the shotgun's stock and foregrip.",\ + user.visible_message(span_warning("With a fluid movement, [user] unfolds their shotgun's stock and foregrip."),\ + span_warning("You unfold the shotgun's stock and foregrip."),\ "You hear an ominous click.") icon_state = "compshot" item_state = icon_state @@ -54,8 +54,8 @@ one_handed_penalty = 15 //Stock extended to steady it, even with just the one hand. recoil = 1 //As above, stock and foregrip would help with the kick else - user.visible_message("\The [user] collapses their shotgun's stock and fold it's foregrip.",\ - "You fold the shotgun's stock and foregrip.",\ + user.visible_message(span_infoplain(span_bold("\The [user]") + " collapses their shotgun's stock and fold it's foregrip."),\ + span_notice("You fold the shotgun's stock and foregrip."),\ "You hear a click.") icon_state = "compshotc" item_state = icon_state @@ -69,9 +69,9 @@ H.update_inv_r_hand() playsound(src, 'sound/weapons/targeton.ogg', 50, 1) - user.update_action_buttons() + user.update_mob_action_buttons() -/obj/item/weapon/gun/projectile/shotgun/compact/verb/verb_toggle_stock(mob/user as mob) +/obj/item/gun/projectile/shotgun/compact/verb/verb_toggle_stock(mob/user as mob) set category = "Object" set name = "Toggle stock" set src in usr @@ -82,26 +82,26 @@ if (isliving(usr)) toggle_stock() else - to_chat(usr, "You cannot do this in your current state.") + to_chat(usr, span_notice("You cannot do this in your current state.")) -/obj/item/weapon/gun/projectile/shotgun/compact/attack_self(mob/user as mob) +/obj/item/gun/projectile/shotgun/compact/attack_self(mob/user as mob) if(issilicon(usr)) return if (isliving(usr)) toggle_stock() else - to_chat(usr, "You cannot do this in your current state.") + to_chat(usr, span_notice("You cannot do this in your current state.")) -/obj/item/weapon/gun/projectile/shotgun/compact/ui_action_click() +/obj/item/gun/projectile/shotgun/compact/ui_action_click(mob/unused_user, actiontype) var/mob/living/user = loc if(!isliving(user)) return else toggle_stock() -/obj/item/weapon/gun/projectile/shotgun/compact/warden +/obj/item/gun/projectile/shotgun/compact/warden name = "warden's compact shotgun" desc = "Built for extremely-close quarters combat, the Hephaestus Industries KS-55 \"semi-auto shorty\" is a relatively rare sight to see, usually in the hands of elite troops that specialize in boarding. This one has 'Property of the Warden' inscribed on the upper receiver." description_fluff = "The leading arms producer in the SCG, Hephaestus typically only uses its 'top level' branding for its military-grade equipment used by armed forces across human space." diff --git a/code/modules/projectiles/guns/projectile/shotgun_yw.dm b/code/modules/projectiles/guns/projectile/shotgun_yw.dm index 62bbc8f2cf1..2adb75464c2 100644 --- a/code/modules/projectiles/guns/projectile/shotgun_yw.dm +++ b/code/modules/projectiles/guns/projectile/shotgun_yw.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/gun/projectile/revolvershotgun +/obj/item/gun/projectile/revolvershotgun name = "Jackhammer" desc = "Uses 12g rounds." icon = 'icons/obj/gun_yw.dmi' @@ -15,7 +15,7 @@ allowed_magazines = list(/obj/item/ammo_magazine/m12gdrumjack) projectile_type = /obj/item/projectile/bullet/shotgun -/obj/item/weapon/gun/projectile/revolvershotgun/update_icon() +/obj/item/gun/projectile/revolvershotgun/update_icon() ..() if(ammo_magazine) icon_state = "revolvshot" @@ -77,7 +77,7 @@ fire_sound = 'sound/weapons/Gunshot_shotgun.ogg' damage = 13 -/obj/item/weapon/storage/box/scattershot +/obj/item/storage/box/scattershot name = "box of shotgun scatter shells" desc = "It has a picture of a shell and several warning symbols on the front.
    WARNING: Live ammunition. Misuse may result in serious injury or death. High spread factor, just shoot and pray." icon = 'icons/obj/ammo_yw.dmi' @@ -85,5 +85,5 @@ item_state_slots = list(slot_r_hand_str = "syringe_kit", slot_l_hand_str = "syringe_kit") starts_with = list(/obj/item/ammo_casing/a12g/scatter = 8) -/obj/item/weapon/storage/box/scattershot/large - starts_with = list(/obj/item/ammo_casing/a12g/scatter = 16) \ No newline at end of file +/obj/item/storage/box/scattershot/large + starts_with = list(/obj/item/ammo_casing/a12g/scatter = 16) diff --git a/code/modules/projectiles/guns/projectile/smartgun.dm b/code/modules/projectiles/guns/projectile/smartgun.dm index ba13558160c..0a8f70f8acd 100644 --- a/code/modules/projectiles/guns/projectile/smartgun.dm +++ b/code/modules/projectiles/guns/projectile/smartgun.dm @@ -1,7 +1,7 @@ /** * The gun itself */ -/obj/item/weapon/gun/projectile/smartgun +/obj/item/gun/projectile/smartgun name = "\improper OP-15 'S.M.A.R.T.' Rifle" desc = "Suppressive Manual Action Reciprocating Taser rifle. A modified version of an Armadyne heavy machine gun fitted to fire miniature shock-bolts." description_info = "Alt-click to toggle the rifle's ready state. The rifle can't be unloaded when ready, and requires a few seconds to get ready before firing." @@ -30,41 +30,41 @@ var/static/mutable_appearance/mag_underlay -/obj/item/weapon/gun/projectile/smartgun/make_worn_icon(body_type, slot_name, inhands, default_icon, default_layer, icon/clip_mask) +/obj/item/gun/projectile/smartgun/make_worn_icon(body_type, slot_name, inhands, default_icon, default_layer, icon/clip_mask) var/image/I = ..() if(I) I.pixel_x = -16 return I -/obj/item/weapon/gun/projectile/smartgun/loaded +/obj/item/gun/projectile/smartgun/loaded magazine_type = /obj/item/ammo_magazine/smartgun -/obj/item/weapon/gun/projectile/smartgun/Initialize() +/obj/item/gun/projectile/smartgun/Initialize() . = ..() if(!mag_underlay) mag_underlay = mutable_appearance(icon, icon_state = "smartgun_mag") -/obj/item/weapon/gun/projectile/smartgun/consume_next_projectile() +/obj/item/gun/projectile/smartgun/consume_next_projectile() if(!closed) return null return ..() -/obj/item/weapon/gun/projectile/smartgun/load_ammo(var/obj/item/A, mob/user) +/obj/item/gun/projectile/smartgun/load_ammo(var/obj/item/A, mob/user) if(closed) - to_chat(user, "[src] can't be loaded until you un-ready it. (Alt-click)") + to_chat(user, span_warning("[src] can't be loaded until you un-ready it. (Alt-click)")) return return ..() -/obj/item/weapon/gun/projectile/smartgun/unload_ammo(mob/user, var/allow_dump=0) +/obj/item/gun/projectile/smartgun/unload_ammo(mob/user, var/allow_dump=0) if(closed) - to_chat(user, "[src] can't be unloaded until you un-ready it. (Alt-click)") + to_chat(user, span_warning("[src] can't be unloaded until you un-ready it. (Alt-click)")) return return ..() -/obj/item/weapon/gun/projectile/smartgun/AltClick(mob/user) +/obj/item/gun/projectile/smartgun/AltClick(mob/user) if(ishuman(user) && !user.incapacitated() && Adjacent(user)) if(cycling) - to_chat(user, "[src] is still cycling!") + to_chat(user, span_warning("[src] is still cycling!")) return cycling = TRUE @@ -72,18 +72,18 @@ if(closed) icon_state = "[initial(icon_state)]_open" playsound(src, 'sound/weapons/smartgunopen.ogg', 75, 0) - to_chat(user, "You unready [src] so that it can be reloaded.") + to_chat(user, span_notice("You unready [src] so that it can be reloaded.")) else icon_state = "[initial(icon_state)]_closed" playsound(src, 'sound/weapons/smartgunclose.ogg', 75, 0) - to_chat(user, "You ready [src] so that it can be fired.") + to_chat(user, span_notice("You ready [src] so that it can be fired.")) addtimer(CALLBACK(src, PROC_REF(toggle_real_state)), 2 SECONDS, TIMER_UNIQUE) -/obj/item/weapon/gun/projectile/smartgun/proc/toggle_real_state() +/obj/item/gun/projectile/smartgun/proc/toggle_real_state() cycling = FALSE closed = !closed -/obj/item/weapon/gun/projectile/smartgun/update_icon() +/obj/item/gun/projectile/smartgun/update_icon() . = ..() underlays = null if(ammo_magazine) diff --git a/code/modules/projectiles/guns/projectile/sniper.dm b/code/modules/projectiles/guns/projectile/sniper.dm index c5dac83a1db..6b080fefb32 100644 --- a/code/modules/projectiles/guns/projectile/sniper.dm +++ b/code/modules/projectiles/guns/projectile/sniper.dm @@ -1,6 +1,6 @@ ////////////// PTR-7 Anti-Materiel Rifle ////////////// -/obj/item/weapon/gun/projectile/heavysniper +/obj/item/gun/projectile/heavysniper name = "anti-materiel rifle" desc = "A portable anti-armour rifle fitted with a scope, the HI PTR-7 Rifle was originally designed to used against armoured exosuits. It is capable of punching through windows and non-reinforced walls with ease. Fires armor piercing 14.5mm shells." description_fluff = "The leading arms producer in the SCG, Hephaestus typically only uses its 'top level' branding for its military-grade equipment used by professional armed forces across human space." @@ -9,7 +9,7 @@ w_class = ITEMSIZE_HUGE // So it can't fit in a backpack. force = 10 slot_flags = SLOT_BACK - action_button_name = "Use Scope" + actions_types = list(/datum/action/item_action/use_scope) origin_tech = list(TECH_COMBAT = 8, TECH_MATERIAL = 2, TECH_ILLEGAL = 8) caliber = "14.5mm" recoil = 5 //extra kickback @@ -24,49 +24,49 @@ one_handed_penalty = 90 var/bolt_open = 0 -/obj/item/weapon/gun/projectile/heavysniper/update_icon() +/obj/item/gun/projectile/heavysniper/update_icon() if(bolt_open) icon_state = "heavysniper-open" else icon_state = "heavysniper" -/obj/item/weapon/gun/projectile/heavysniper/attack_self(mob/user as mob) +/obj/item/gun/projectile/heavysniper/attack_self(mob/user as mob) playsound(src, 'sound/weapons/flipblade.ogg', 50, 1) bolt_open = !bolt_open if(bolt_open) if(chambered) - to_chat(user, "You work the bolt open, ejecting [chambered]!") + to_chat(user, span_notice("You work the bolt open, ejecting [chambered]!")) chambered.loc = get_turf(src) loaded -= chambered chambered = null else - to_chat(user, "You work the bolt open.") + to_chat(user, span_notice("You work the bolt open.")) else - to_chat(user, "You work the bolt closed.") + to_chat(user, span_notice("You work the bolt closed.")) bolt_open = 0 add_fingerprint(user) update_icon() -/obj/item/weapon/gun/projectile/heavysniper/special_check(mob/user) +/obj/item/gun/projectile/heavysniper/special_check(mob/user) if(bolt_open) - to_chat(user, "You can't fire [src] while the bolt is open!") + to_chat(user, span_warning("You can't fire [src] while the bolt is open!")) return 0 return ..() -/obj/item/weapon/gun/projectile/heavysniper/load_ammo(var/obj/item/A, mob/user) +/obj/item/gun/projectile/heavysniper/load_ammo(var/obj/item/A, mob/user) if(!bolt_open) return ..() -/obj/item/weapon/gun/projectile/heavysniper/unload_ammo(mob/user, var/allow_dump=1) +/obj/item/gun/projectile/heavysniper/unload_ammo(mob/user, var/allow_dump=1) if(!bolt_open) return ..() -/obj/item/weapon/gun/projectile/heavysniper/ui_action_click() +/obj/item/gun/projectile/heavysniper/ui_action_click(mob/user, actiontype) scope() -/obj/item/weapon/gun/projectile/heavysniper/verb/scope() +/obj/item/gun/projectile/heavysniper/verb/scope() set category = "Object" set name = "Use Scope" set popup_menu = 1 @@ -75,7 +75,7 @@ ////////////// Dragunov Sniper Rifle ////////////// -/obj/item/weapon/gun/projectile/SVD +/obj/item/gun/projectile/SVD name = "sniper rifle" desc = "The PCA S19 Jalgarr, also known by its translated name the 'Dragon', is mass produced with an Optical Sniper Sight so simple that even a Tajaran can use it. Too bad for you that the inscriptions are written in Siik. Uses 7.62mm rounds." icon_state = "SVD" @@ -84,7 +84,7 @@ w_class = ITEMSIZE_HUGE // So it can't fit in a backpack. force = 10 slot_flags = SLOT_BACK // Needs a sprite. - action_button_name = "Use Scope" + actions_types = list(/datum/action/item_action/use_scope) origin_tech = list(TECH_COMBAT = 8, TECH_MATERIAL = 2, TECH_ILLEGAL = 8) caliber = "7.62mm" load_method = MAGAZINE @@ -95,19 +95,19 @@ magazine_type = /obj/item/ammo_magazine/m762svd allowed_magazines = list(/obj/item/ammo_magazine/m762svd) -/obj/item/weapon/gun/projectile/SVD/update_icon() +/obj/item/gun/projectile/SVD/update_icon() ..() if(ammo_magazine) icon_state = "SVD" else icon_state = "SVD-empty" -/obj/item/weapon/gun/projectile/SVD/ui_action_click() +/obj/item/gun/projectile/SVD/ui_action_click(mob/user, actiontype) scope() -/obj/item/weapon/gun/projectile/SVD/verb/scope() +/obj/item/gun/projectile/SVD/verb/scope() set category = "Object" set name = "Use Scope" set popup_menu = 1 - toggle_scope(2.0) \ No newline at end of file + toggle_scope(2.0) diff --git a/code/modules/projectiles/guns/projectile/sniper/collapsible_sniper.dm b/code/modules/projectiles/guns/projectile/sniper/collapsible_sniper.dm index 7accdbc50bc..786d101f33e 100644 --- a/code/modules/projectiles/guns/projectile/sniper/collapsible_sniper.dm +++ b/code/modules/projectiles/guns/projectile/sniper/collapsible_sniper.dm @@ -1,8 +1,8 @@ ////////////// PTR-7 Anti-Materiel Rifle ////////////// -/obj/item/weapon/gun/projectile/heavysniper/collapsible +/obj/item/gun/projectile/heavysniper/collapsible -/obj/item/weapon/gun/projectile/heavysniper/collapsible/verb/take_down() +/obj/item/gun/projectile/heavysniper/collapsible/verb/take_down() set category = "Object" set name = "Disassemble Rifle" @@ -11,15 +11,15 @@ return if(chambered) - to_chat(user, "You need to empty the rifle to break it down.") + to_chat(user, span_warning("You need to empty the rifle to break it down.")) else collapse_rifle(user) -/obj/item/weapon/gun/projectile/heavysniper/proc/collapse_rifle(mob/user) - to_chat(user, "You begin removing \the [src]'s barrel.") +/obj/item/gun/projectile/heavysniper/proc/collapse_rifle(mob/user) + to_chat(user, span_warning("You begin removing \the [src]'s barrel.")) if(do_after(user, 40)) if(user.unEquip(src, force=1)) - to_chat(user, "You remove \the [src]'s barrel.") + to_chat(user, span_warning("You remove \the [src]'s barrel.")) qdel(src) var/obj/item/barrel = new /obj/item/sniper_rifle_part/barrel(user) var/obj/item/sniper_rifle_part/assembly = new /obj/item/sniper_rifle_part/trigger_group(user) @@ -71,14 +71,14 @@ /obj/item/sniper_rifle_part/attack_self(mob/user as mob) if(part_count == 1) - to_chat(user, "You can't disassemble this further!") + to_chat(user, span_warning("You can't disassemble this further!")) return - to_chat(user, "You start disassembling \the [src].") + to_chat(user, span_notice("You start disassembling \the [src].")) if(!do_after(user, 40)) return - to_chat(user, "You disassemble \the [src].") + to_chat(user, span_notice("You disassemble \the [src].")) for(var/obj/item/sniper_rifle_part/P in list(barrel, stock, trigger_group)) if(P.barrel != P) P.barrel = null @@ -94,7 +94,7 @@ /obj/item/sniper_rifle_part/attackby(var/obj/item/sniper_rifle_part/A as obj, mob/user as mob) - to_chat(user, "You begin adding \the [A] to \the [src].") + to_chat(user, span_notice("You begin adding \the [A] to \the [src].")) if(!do_after(user, 30)) return @@ -102,14 +102,14 @@ if(istype(A, /obj/item/sniper_rifle_part/trigger_group)) if(A.part_count > 1 && src.part_count > 1) - to_chat(user, "Disassemble one of these parts first!") + to_chat(user, span_warning("Disassemble one of these parts first!")) return if(!trigger_group) if(user.unEquip(A, force=1)) trigger_group = A else - to_chat(user, "There's already a trigger group!") + to_chat(user, span_warning("There's already a trigger group!")) return else if(istype(A, /obj/item/sniper_rifle_part/barrel)) @@ -117,7 +117,7 @@ if(user.unEquip(A, force=1)) barrel = A else - to_chat(user, "There's already a barrel!") + to_chat(user, span_warning("There's already a barrel!")) return else if(istype(A, /obj/item/sniper_rifle_part/stock)) @@ -125,11 +125,11 @@ if(user.unEquip(A, force=1)) stock = A else - to_chat(user, "There's already a stock!") + to_chat(user, span_warning("There's already a stock!")) return A.forceMove(src) - to_chat(user, "You install \the [A].") + to_chat(user, span_notice("You install \the [A].")) if(A.barrel && !src.barrel) src.barrel = A.barrel @@ -162,14 +162,14 @@ w_class = ITEMSIZE_LARGE if(3) - var/obj/item/weapon/gun/projectile/heavysniper/collapsible/gun = new (get_turf(src), 0) + var/obj/item/gun/projectile/heavysniper/collapsible/gun = new (get_turf(src), 0) if(usr && istype(usr, /mob/living/carbon/human)) var/mob/living/carbon/human/user = usr user.unEquip(src, force=1) user.put_in_any_hand_if_possible(gun) || gun.dropInto(loc) qdel(src) -/obj/item/weapon/gun/projectile/heavysniper/update_icon() +/obj/item/gun/projectile/heavysniper/update_icon() if(bolt_open) icon_state = "heavysniper-open" else diff --git a/code/modules/projectiles/guns/toy.dm b/code/modules/projectiles/guns/toy.dm index 13bbffb4bf8..71c4b0f62d0 100644 --- a/code/modules/projectiles/guns/toy.dm +++ b/code/modules/projectiles/guns/toy.dm @@ -18,7 +18,7 @@ /* * Cap Gun */ -/obj/item/weapon/gun/projectile/revolver/capgun +/obj/item/gun/projectile/revolver/capgun name = "cap gun" desc = "Looks almost like the real thing! Ages 8 and up." icon = 'icons/obj/gun_toy.dmi' @@ -35,7 +35,7 @@ /* * Shotgun */ -/obj/item/weapon/gun/projectile/shotgun/pump/toy +/obj/item/gun/projectile/shotgun/pump/toy name = "\improper Donk-Soft shotgun" desc = "Donk-Soft foam shotgun! It's Donk or Don't! Ages 8 and up." icon = 'icons/obj/gun_toy.dmi' @@ -57,7 +57,7 @@ /* * Moist Nugget */ -/obj/item/weapon/gun/projectile/shotgun/pump/toy/moistnugget +/obj/item/gun/projectile/shotgun/pump/toy/moistnugget name = "\improper Donk-Soft mosin-nagant" desc = "Donk-Soft foam mosin-nagant! It's Donk or Don't! Ages 8 and up." description_fluff = "A special Donk-Soft rifle originally made to pair with a Soviet Soldier costume. It didn't catch on quite as well as other Donk-Soft products." @@ -70,7 +70,7 @@ /* * Pistol */ -/obj/item/weapon/gun/projectile/pistol/toy +/obj/item/gun/projectile/pistol/toy name = "\improper Donk-Soft pistol" desc = "Donk-Soft foam pistol! It's Donk or Don't! Ages 8 and up." icon = 'icons/obj/gun_toy.dmi' @@ -85,7 +85,7 @@ matter = list(MAT_PLASTIC = 1000) recoil = null //it's a toy -/obj/item/weapon/gun/projectile/pistol/toy/update_icon() +/obj/item/gun/projectile/pistol/toy/update_icon() if(ammo_magazine) icon_state = initial(icon_state) else @@ -94,13 +94,13 @@ /* * N99 Pistol */ -/obj/item/weapon/gun/projectile/pistol/toy/n99 +/obj/item/gun/projectile/pistol/toy/n99 name = "\improper Donk-Soft commemorative pistol" desc = "A special made Donk-Soft pistol to promote 'Radius: Legend of the Demon Core', a popular post-apocolyptic TV series." icon_state = "n99" item_state = "gun" -/obj/item/weapon/gun/projectile/pistol/toy/n99/update_icon() +/obj/item/gun/projectile/pistol/toy/n99/update_icon() if(ammo_magazine) icon_state = initial(icon_state) else @@ -109,7 +109,7 @@ /* * Levergun */ -/obj/item/weapon/gun/projectile/shotgun/pump/toy/levergun +/obj/item/gun/projectile/shotgun/pump/toy/levergun name = "\improper Donk-Soft levergun" desc = "Donk-Soft foam levergun! Time to cowboy up! Ages 8 and up." icon_state = "leveraction" @@ -120,7 +120,7 @@ /* * Revolver */ -/obj/item/weapon/gun/projectile/revolver/toy +/obj/item/gun/projectile/revolver/toy name = "\improper Donk-Soft revolver" desc = "Donk-Soft foam revolver! Time to cowboy up! Ages 8 and up." icon = 'icons/obj/gun_toy.dmi' @@ -139,7 +139,7 @@ /* * Big Iron */ -/obj/item/weapon/gun/projectile/revolver/toy/big_iron +/obj/item/gun/projectile/revolver/toy/big_iron name = "\improper Donk-Soft big iron" desc = "A special made Donk-Soft pistol to promote 'A Fistful of Phoron', a popular frontier novel series." icon_state = "big_iron" @@ -148,7 +148,7 @@ /* * Crossbow */ -/obj/item/weapon/gun/projectile/revolver/toy/crossbow +/obj/item/gun/projectile/revolver/toy/crossbow name = "\improper Donk-Soft crossbow" desc = "Donk-Soft foam crossbow! It's Donk or Don't! Ages 8 and up." icon = 'icons/obj/gun_toy.dmi' @@ -159,7 +159,7 @@ /* * Crossbow (Halloween) */ -/obj/item/weapon/gun/projectile/revolver/toy/crossbow/halloween +/obj/item/gun/projectile/revolver/toy/crossbow/halloween name = "\improper Donk-Soft special edition crossbow" desc = "A special edition Donk-Soft crossbow! Made special for your Halloween cosplay. It's Donk or Don't! Ages 8 and up." icon = 'icons/obj/gun_toy.dmi' @@ -170,7 +170,7 @@ /* * Sawn Off */ -/obj/item/weapon/gun/projectile/revolver/toy/sawnoff //revolver code just because it's easier +/obj/item/gun/projectile/revolver/toy/sawnoff //revolver code just because it's easier name = "\improper Donk-Soft sawn off shotgun" desc = "Donk-Soft foam sawn off! It's Donk or Don't! Ages 8 and up." icon = 'icons/obj/gun_toy.dmi' @@ -183,7 +183,7 @@ /* * SMG */ -/obj/item/weapon/gun/projectile/automatic/toy +/obj/item/gun/projectile/automatic/toy name = "\improper Donk-Soft SMG" desc = "Donk-Soft foam SMG! It's Donk or Don't! Ages 8 and up." icon = 'icons/obj/gun_toy.dmi' @@ -204,10 +204,10 @@ list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=2, burst_accuracy=list(0,-2,-2), dispersion=null) ) -/obj/item/weapon/gun/projectile/automatic/toy/riot +/obj/item/gun/projectile/automatic/toy/riot magazine_type = /obj/item/ammo_magazine/mfoam_dart/smg/riot -/obj/item/weapon/gun/projectile/automatic/toy/update_icon() +/obj/item/gun/projectile/automatic/toy/update_icon() if(ammo_magazine) icon_state = initial(icon_state) else @@ -215,9 +215,9 @@ /* * Cyborg */ -/obj/item/weapon/gun/projectile/cyborgtoy - name = "\improper Donk-Soft Cyborg Blaster" - desc = "Donk-Soft Cyborg Blaster! It's Donk or Don't! Adult supervision required. Use to toggle between battle and cleanup mode." +/obj/item/gun/projectile/cyborgtoy + name = "\improper Donk-Soft " + JOB_CYBORG + " Blaster" + desc = "Donk-Soft " + JOB_CYBORG + " Blaster! It's Donk or Don't! Adult supervision required. Use to toggle between battle and cleanup mode." icon = 'icons/obj/gun_toy.dmi' icon_state = "smg" caliber = "foam" @@ -229,11 +229,11 @@ recoil = null handle_casings = null -/obj/item/weapon/gun/projectile/cyborgtoy/attack_self(var/mob/user) +/obj/item/gun/projectile/cyborgtoy/attack_self(var/mob/user) cleanup = !cleanup to_chat(user, "The [src] is now on [cleanup ? "cleanup" : "battle"] mode.") -/obj/item/weapon/gun/projectile/cyborgtoy/afterattack(atom/A, mob/living/user, adjacent, params) +/obj/item/gun/projectile/cyborgtoy/afterattack(atom/A, mob/living/user, adjacent, params) if(cleanup) if(!adjacent) return 0 @@ -241,7 +241,7 @@ return 0 ..() -/obj/item/weapon/gun/projectile/cyborgtoy/proc/collectammo(atom/A, user) +/obj/item/gun/projectile/cyborgtoy/proc/collectammo(atom/A, user) if(loaded.len >= max_shells) to_chat(user, "The [src] is at max capacity.") return @@ -261,7 +261,7 @@ /* * Laser Tag */ -/obj/item/weapon/gun/energy/lasertag +/obj/item/gun/energy/lasertag name = "laser tag gun" desc = "Standard issue weapon of the Imperial Guard." icon = 'icons/obj/gun_toy.dmi' @@ -270,18 +270,18 @@ origin_tech = list(TECH_COMBAT = 1, TECH_MAGNET = 2) matter = list(MAT_STEEL = 2000) projectile_type = /obj/item/projectile/beam/lasertag/blue - cell_type = /obj/item/weapon/cell/device/weapon/recharge + cell_type = /obj/item/cell/device/weapon/recharge battery_lock = 1 var/required_vest -/obj/item/weapon/gun/energy/lasertag/special_check(var/mob/living/carbon/human/M) +/obj/item/gun/energy/lasertag/special_check(var/mob/living/carbon/human/M) if(ishuman(M)) if(!istype(M.wear_suit, required_vest)) - to_chat(M, "You need to be wearing your laser tag vest!") + to_chat(M, span_warning("You need to be wearing your laser tag vest!")) return 0 return ..() -/obj/item/weapon/gun/energy/lasertag/blue +/obj/item/gun/energy/lasertag/blue icon_state = "bluetag" item_state = "bluetag" projectile_type = /obj/item/projectile/beam/lasertag/blue @@ -293,13 +293,13 @@ list(mode_name="multi-hit rules", fire_delay=5, projectile_type=/obj/item/projectile/beam/lasertag/blue/multihit, charge_cost = 120), ) -/obj/item/weapon/gun/energy/lasertag/blue/sub +/obj/item/gun/energy/lasertag/blue/sub name = "Brigader Sidearm" desc = "A laser tag replica of the standard issue weapon for the Spacer Union Brigade from the hit series Spacer Trail (Blue Team)." icon_state = "bluetwo" item_state = "retro" -/obj/item/weapon/gun/energy/lasertag/red +/obj/item/gun/energy/lasertag/red icon_state = "redtag" item_state = "redtag" projectile_type = /obj/item/projectile/beam/lasertag/red @@ -311,11 +311,11 @@ list(mode_name="multi-hit rules", fire_delay=5, projectile_type=/obj/item/projectile/beam/lasertag/red/multihit, charge_cost = 120), ) -/obj/item/weapon/gun/energy/lasertag/red/dom +/obj/item/gun/energy/lasertag/red/dom name = "Mu'tu'bi sidearm" desc = "A laser tag replica of the Mu'tu'bi sidearm from the hit series Spacer Trail (Red Team)." icon_state = "redtwo" item_state = "retro" -/obj/item/weapon/gun/energy/lasertag/omni +/obj/item/gun/energy/lasertag/omni projectile_type = /obj/item/projectile/beam/lasertag/omni diff --git a/code/modules/projectiles/guns/vox.dm b/code/modules/projectiles/guns/vox.dm index 17f0b6e2405..8c849b0b668 100644 --- a/code/modules/projectiles/guns/vox.dm +++ b/code/modules/projectiles/guns/vox.dm @@ -3,7 +3,7 @@ * Alien pinning weapon. */ -/obj/item/weapon/gun/launcher/spikethrower +/obj/item/gun/launcher/spikethrower name = "spike thrower" desc = "A vicious alien projectile weapon. Parts of it quiver gelatinously, as though the thing is insectile and alive." @@ -18,40 +18,40 @@ fire_sound = 'sound/weapons/bladeslice.ogg' fire_sound_text = "a strange noise" -/obj/item/weapon/gun/launcher/spikethrower/New() +/obj/item/gun/launcher/spikethrower/New() ..() START_PROCESSING(SSobj, src) last_regen = world.time -/obj/item/weapon/gun/launcher/spikethrower/Destroy() +/obj/item/gun/launcher/spikethrower/Destroy() STOP_PROCESSING(SSobj, src) ..() -/obj/item/weapon/gun/launcher/spikethrower/process() +/obj/item/gun/launcher/spikethrower/process() if(spikes < max_spikes && world.time > last_regen + spike_gen_time) spikes++ last_regen = world.time update_icon() -/obj/item/weapon/gun/launcher/spikethrower/examine(mob/user) +/obj/item/gun/launcher/spikethrower/examine(mob/user) . = ..() . += "It has [spikes] spike\s remaining." -/obj/item/weapon/gun/launcher/spikethrower/update_icon() +/obj/item/gun/launcher/spikethrower/update_icon() icon_state = "spikethrower[spikes]" -/obj/item/weapon/gun/launcher/spikethrower/update_release_force() +/obj/item/gun/launcher/spikethrower/update_release_force() return -/obj/item/weapon/gun/launcher/spikethrower/consume_next_projectile() +/obj/item/gun/launcher/spikethrower/consume_next_projectile() if(spikes < 1) return null spikes-- - return new /obj/item/weapon/spike(src) + return new /obj/item/spike(src) /* * Vox Darkmatter Cannon */ -/obj/item/weapon/gun/energy/darkmatter +/obj/item/gun/energy/darkmatter name = "dark matter gun" desc = "A vicious alien beam weapon. Parts of it quiver gelatinously, as though the thing is insectile and alive." icon_state = "darkcannon" @@ -59,7 +59,7 @@ w_class = ITEMSIZE_HUGE charge_cost = 300 projectile_type = /obj/item/projectile/beam/stun/darkmatter - cell_type = /obj/item/weapon/cell/device/weapon/recharge + cell_type = /obj/item/cell/device/weapon/recharge battery_lock = 1 accuracy = 30 @@ -114,13 +114,13 @@ /* * Vox Sonic Cannon */ -/obj/item/weapon/gun/energy/sonic +/obj/item/gun/energy/sonic name = "soundcannon" desc = "A vicious alien sound weapon. Parts of it quiver gelatinously, as though the thing is insectile and alive." icon_state = "noise" item_state = "noise" w_class = ITEMSIZE_HUGE - cell_type = /obj/item/weapon/cell/device/weapon/recharge + cell_type = /obj/item/cell/device/weapon/recharge battery_lock = 1 charge_cost = 400 diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index d8274ed23e0..d2bd86b5935 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -578,19 +578,19 @@ var/mob/M = A if(istype(A, /mob/living)) //if they have a neck grab on someone, that person gets hit instead - var/obj/item/weapon/grab/G = locate() in M + var/obj/item/grab/G = locate() in M if(G && G.state >= GRAB_NECK) if(G.affecting.stat == DEAD) var/shield_chance = min(80, (30 * (M.mob_size / 10))) //Small mobs have a harder time keeping a dead body as a shield than a human-sized one. Unathi would have an easier job, if they are made to be SIZE_LARGE in the future. -Mech if(prob(shield_chance)) - visible_message("\The [M] uses [G.affecting] as a shield!") + visible_message(span_danger("\The [M] uses [G.affecting] as a shield!")) if(bump_targets) if(Bump(G.affecting)) return else - visible_message("\The [M] tries to use [G.affecting] as a shield, but fails!") + visible_message(span_danger("\The [M] tries to use [G.affecting] as a shield, but fails!")) else - visible_message("\The [M] uses [G.affecting] as a shield!") + visible_message(span_danger("\The [M] uses [G.affecting] as a shield!")) if(bump_targets) if(Bump(G.affecting)) return //If Bump() returns 0 (keep going) then we continue on to attack M. @@ -699,7 +699,7 @@ if(result == PROJECTILE_FORCE_MISS) if(!silenced) - target_mob.visible_message("\The [src] misses \the [target_mob] narrowly!") + target_mob.visible_message(span_infoplain(span_bold("\The [src]") + " misses \the [target_mob] narrowly!")) playsound(target_mob, "bullet_miss", 75, 1) return FALSE @@ -712,14 +712,14 @@ //hit messages if(silenced) playsound(target_mob, hitsound, 5, 1, -1) - to_chat(target_mob, span("critical", "You've been hit in the [impacted_organ] by \the [src]!")) + to_chat(target_mob, span_critical("You've been hit in the [impacted_organ] by \the [src]!")) else var/volume = vol_by_damage() playsound(target_mob, hitsound, volume, 1, -1) // X has fired Y is now given by the guns so you cant tell who shot you if you could not see the shooter target_mob.visible_message( - span("danger", "\The [target_mob] was hit in the [impacted_organ] by \the [src]!"), - span("critical", "You've been hit in the [impacted_organ] by \the [src]!") + span_danger("\The [target_mob] was hit in the [impacted_organ] by \the [src]!"), + span_critical("You've been hit in the [impacted_organ] by \the [src]!") ) //admin logs @@ -777,7 +777,7 @@ return fire(angle_override, direct_target) //called to launch a projectile from a gun -/obj/item/projectile/proc/launch_from_gun(atom/target, target_zone, mob/user, params, angle_override, forced_spread, obj/item/weapon/gun/launcher) +/obj/item/projectile/proc/launch_from_gun(atom/target, target_zone, mob/user, params, angle_override, forced_spread, obj/item/gun/launcher) shot_from = launcher.name silenced |= launcher.silenced // Silent bullets (e.g., BBs) are always silent diff --git a/code/modules/projectiles/projectile/arc.dm b/code/modules/projectiles/projectile/arc.dm index 331bbadb0c9..0324d273ccb 100644 --- a/code/modules/projectiles/projectile/arc.dm +++ b/code/modules/projectiles/projectile/arc.dm @@ -184,7 +184,7 @@ attack_mob(L) spawn() - T.visible_message("\The [src] covers \the [T] in a corrosive paste!") + T.visible_message(span_warning("\The [src] covers \the [T] in a corrosive paste!")) for(var/turf/simulated/floor/F in view(2, T)) spawn() var/obj/effect/effect/water/splash = new(T) diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm index 830a1fd6467..d0a48654824 100644 --- a/code/modules/projectiles/projectile/beams.dm +++ b/code/modules/projectiles/projectile/beams.dm @@ -252,11 +252,11 @@ var/obj/item/clothing/suit/redtag/S = M.wear_suit if (S.lasertag_health <= 1) M.Weaken(5) - to_chat(M,"You have been defeated!") + to_chat(M,span_warning("You have been defeated!")) S.lasertag_health = initial(S.lasertag_health) else S.lasertag_health-- - to_chat(M,"Danger! You have [num2text(S.lasertag_health)] hits remaining!") + to_chat(M,span_warning("Danger! You have [num2text(S.lasertag_health)] hits remaining!")) return 1 /obj/item/projectile/beam/lasertag/red @@ -281,11 +281,11 @@ var/obj/item/clothing/suit/bluetag/S = M.wear_suit if(S.lasertag_health <= 1) M.Weaken(5) - to_chat(M,"You have been defeated!") + to_chat(M,span_warning("You have been defeated!")) S.lasertag_health = initial(S.lasertag_health) else S.lasertag_health-- - to_chat(M,"Danger! You have [num2text(S.lasertag_health)] hits remaining!") + to_chat(M,span_warning("Danger! You have [num2text(S.lasertag_health)] hits remaining!")) return 1 /obj/item/projectile/beam/lasertag/omni//A laser tag bolt that stuns EVERYONE @@ -432,6 +432,17 @@ tracer_type = /obj/effect/projectile/tracer/darkmatter impact_type = /obj/effect/projectile/impact/darkmatter hud_state = "plasma_rifle_blast" + +/obj/item/projectile/beam/rainbow + name = "rainbow" + fire_sound = 'sound/weapons/sparkle.ogg' + icon_state = "rainbow" + light_color = "#ffffff" + muzzle_type = /obj/effect/projectile/muzzle/rainbow + tracer_type = /obj/effect/projectile/tracer/rainbow + impact_type = /obj/effect/projectile/impact/rainbow + hud_state = "laser" + damage = 20 // // Projectile Beam Definitions // @@ -471,7 +482,7 @@ ..() /obj/item/projectile/beam/energy_net/proc/do_net(var/mob/M) - var/obj/item/weapon/energy_net/net = new (get_turf(M)) + var/obj/item/energy_net/net = new (get_turf(M)) net.throw_impact(M) // @@ -504,9 +515,9 @@ pulse.anchored = TRUE spawn(20) qdel(pulse) - to_chat(target, "As the beam strikes you, your injuries close up!") + to_chat(target, span_notice("As the beam strikes you, your injuries close up!")) M.adjustBruteLoss(-15) M.adjustFireLoss(-15) M.adjustToxLoss(-5) M.adjustOxyLoss(-5) - return 1 \ No newline at end of file + return 1 diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index c13e19de99b..46c38498412 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -63,7 +63,7 @@ if(prob(chance)) if(A.opacity) //display a message so that people on the other side aren't so confused - A.visible_message("\The [src] pierces through \the [A]!") + A.visible_message(span_warning("\The [src] pierces through \the [A]!")) return 1 return 0 diff --git a/code/modules/projectiles/projectile/change.dm b/code/modules/projectiles/projectile/change.dm index f532a5fb039..8576dc880e5 100644 --- a/code/modules/projectiles/projectile/change.dm +++ b/code/modules/projectiles/projectile/change.dm @@ -24,7 +24,7 @@ qdel(Robot.mmi) else for(var/obj/item/W in M) - if(istype(W, /obj/item/weapon/implant)) //TODO: Carn. give implants a dropped() or something + if(istype(W, /obj/item/implant)) //TODO: Carn. give implants a dropped() or something qdel(W) continue M.drop_from_inventory(W) @@ -49,9 +49,9 @@ new_mob = new /mob/living/silicon/robot(M.loc) new_mob.gender = M.gender new_mob.invisibility = 0 - new_mob.job = "Cyborg" + new_mob.job = JOB_CYBORG var/mob/living/silicon/robot/Robot = new_mob - Robot.mmi = new /obj/item/device/mmi(new_mob) + Robot.mmi = new /obj/item/mmi(new_mob) Robot.mmi.transfer_identity(M) //Does not transfer key/client. if("slime") new_mob = new /mob/living/simple_mob/slime/xenobio(M.loc) @@ -92,10 +92,10 @@ else new_mob.key = M.key - to_chat(new_mob, "Your form morphs into that of \a [lowertext(randomize)].") + to_chat(new_mob, span_warning("Your form morphs into that of \a [lowertext(randomize)].")) qdel(M) return else - to_chat(M, "Your form morphs into that of \a [lowertext(randomize)].") - return \ No newline at end of file + to_chat(M, span_warning("Your form morphs into that of \a [lowertext(randomize)].")) + return diff --git a/code/modules/projectiles/projectile/energy.dm b/code/modules/projectiles/projectile/energy.dm index e56115614bd..9397fe3972b 100644 --- a/code/modules/projectiles/projectile/energy.dm +++ b/code/modules/projectiles/projectile/energy.dm @@ -46,7 +46,7 @@ //snap pop playsound(src, 'sound/effects/snap.ogg', 50, 1) - src.visible_message("\The [src] explodes in a bright flash!") + src.visible_message(span_warning("\The [src] explodes in a bright flash!")) var/datum/effect/effect/system/spark_spread/sparks = new /datum/effect/effect/system/spark_spread() sparks.set_up(2, 1, T) @@ -243,7 +243,7 @@ /obj/item/projectile/energy/plasmastun/proc/bang(var/mob/living/carbon/M) - to_chat(M, "You hear a loud roar.") + to_chat(M, span_danger("You hear a loud roar.")) playsound(src, 'sound/effects/bang.ogg', 50, 1) var/ear_safety = 0 ear_safety = M.get_ear_protection() @@ -257,13 +257,13 @@ M.ear_damage += rand(1, 10) M.ear_deaf = max(M.ear_deaf,15) if (M.ear_damage >= 15) - to_chat(M, "Your ears start to ring badly!") + to_chat(M, span_danger("Your ears start to ring badly!")) if (prob(M.ear_damage - 5)) - to_chat(M, "You can't hear anything!") + to_chat(M, span_danger("You can't hear anything!")) M.sdisabilities |= DEAF else if (M.ear_damage >= 5) - to_chat(M, "Your ears start to ring!") + to_chat(M, span_danger("Your ears start to ring!")) M.update_icons() //Just to apply matrix transform for laying asap /obj/item/projectile/energy/plasmastun/on_hit(var/atom/target) diff --git a/code/modules/projectiles/projectile/hook.dm b/code/modules/projectiles/projectile/hook.dm index a6568e7b755..e4b3ca6626f 100644 --- a/code/modules/projectiles/projectile/hook.dm +++ b/code/modules/projectiles/projectile/hook.dm @@ -83,14 +83,14 @@ if(istype(H)) var/list/holding = list(H.get_active_hand() = 60, H.get_inactive_hand() = 40) - for(var/obj/item/weapon/gun/W in holding) // Guns are complex devices, both of a mechanical and electronic nature. A weird gravity ball or other type of object trying to pull or grab it is likely not safe. + for(var/obj/item/gun/W in holding) // Guns are complex devices, both of a mechanical and electronic nature. A weird gravity ball or other type of object trying to pull or grab it is likely not safe. if(W && prob(holding[W])) var/list/turfs = list() for(var/turf/T in view()) turfs += T if(turfs.len) var/turf/target = pick(turfs) - visible_message("[H]'s [W] goes off due to \the [src]!") + visible_message(span_danger("[H]'s [W] goes off due to \the [src]!")) return W.afterattack(target,H) if(!(H.species.flags & NO_SLIP) && prob(50)) @@ -98,9 +98,9 @@ H.apply_effect(3, WEAKEN, armor_check) playsound(src, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) if(armor_check < 60) - visible_message("\The [src] has pushed [H]!") + visible_message(span_danger("\The [src] has pushed [H]!")) else - visible_message("\The [src] attempted to push [H]!") + visible_message(span_warning("\The [src] attempted to push [H]!")) return else @@ -111,7 +111,7 @@ for(var/obj/item/I in holding) if(I) H.drop_from_inventory(I) - visible_message("\The [src] has disarmed [H]!") + visible_message(span_danger("\The [src] has disarmed [H]!")) playsound(src, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) return @@ -151,7 +151,7 @@ spawn(2) playsound(target, crack_sound, 40, 1) - visible_message("\The [T] is snatched by \the [src]!") + visible_message(span_notice("\The [T] is snatched by \the [src]!")) T.throw_at(get_turf(firer), 7, 1, src) success = TRUE else if(isliving(target) && !done_mob_unique) @@ -163,12 +163,12 @@ if(message == "slaps") spawn(1) playsound(src, 'sound/effects/snap.ogg', 50, 1) - visible_message("\The [src] [message] [target].") + visible_message(span_notice("\The [src] [message] [target].")) done_mob_unique = TRUE success = TRUE if(I_HURT) if(prob(10) && istype(L, /mob/living/carbon/human)) - to_chat(L, "\The [src] rips at your hands!") + to_chat(L, span_warning("\The [src] rips at your hands!")) ranged_disarm(L) success = TRUE done_mob_unique = TRUE @@ -176,7 +176,7 @@ if(prob(disarm_chance) && istype(L, /mob/living/carbon/human)) ranged_disarm(L) else - L.visible_message("\The [src] sends \the [L] stumbling backwards.") + L.visible_message(span_danger("\The [src] sends \the [L] stumbling backwards.")) L.throw_at(get_turf(get_step(L,get_dir(firer,L))), 1, 1, src) done_mob_unique = TRUE success = TRUE @@ -184,7 +184,7 @@ var/turf/STurf = get_turf(L) spawn(2) playsound(STurf, crack_sound, 60, 1) - L.visible_message("\The [src] rips [L] towards \the [firer]!") + L.visible_message(span_critical("\The [src] rips [L] towards \the [firer]!")) L.throw_at(get_turf(get_step(firer,get_dir(firer,L))), 6, 1, src) done_mob_unique = TRUE success = TRUE diff --git a/code/modules/projectiles/projectile/magnetic.dm b/code/modules/projectiles/projectile/magnetic.dm index 588a20820ef..0112c935aad 100644 --- a/code/modules/projectiles/projectile/magnetic.dm +++ b/code/modules/projectiles/projectile/magnetic.dm @@ -34,15 +34,6 @@ armor_penetration = 100 hud_state = "alloy_spike" -/obj/item/projectile/bullet/magnetic/flechette/small/khi - name = "small carbyne flechette" - icon_state = "flechette" - fire_sound = 'sound/weapons/rapidslice.ogg' - damage = 18 - armor_penetration = 100 - penetrating = 10 - hud_state = "alloy_spike" - /obj/item/projectile/bullet/magnetic/flechette/hunting name = "shredder slug" armor_penetration = 30 @@ -118,10 +109,10 @@ /obj/item/projectile/bullet/magnetic/fuelrod/on_impact(var/atom/A) //Future-proofing, again. In the event new fuel rods are introduced, and have special effects for when they stop flying. if(src.loc) if(detonate_travel && detonate_mob) - visible_message("\The [src] shatters in a violent explosion!") + visible_message(span_warning("\The [src] shatters in a violent explosion!")) explosion(src.loc, 1, 1, 3, 4) else if(detonate_travel) - visible_message("\The [src] explodes in a shower of embers!") + visible_message(span_warning("\The [src] explodes in a shower of embers!")) explosion(src.loc, -1, 1, 2, 3) ..(A) @@ -164,7 +155,7 @@ /obj/item/projectile/bullet/magnetic/fuelrod/supermatter/on_hit(var/atom/target, var/blocked = 0, var/def_zone = null) //You cannot touch the supermatter without disentigrating. Assumedly, this is true for condensed rods of it flying at relativistic speeds. if(istype(target,/turf/simulated/wall) || istype(target,/mob/living)) - target.visible_message("The [src] burns a perfect hole through \the [target] with a blinding flash!") + target.visible_message(span_danger("The [src] burns a perfect hole through \the [target] with a blinding flash!")) playsound(target, 'sound/effects/teleport.ogg', 40, 0) return ..(target, blocked, def_zone) @@ -201,4 +192,4 @@ explosion(A, -1, -1, 1, 3) return ..() else - ..() \ No newline at end of file + ..() diff --git a/code/modules/projectiles/projectile/special.dm b/code/modules/projectiles/projectile/special.dm index 7ccbabb2bb3..8e2f2c51763 100644 --- a/code/modules/projectiles/projectile/special.dm +++ b/code/modules/projectiles/projectile/special.dm @@ -259,7 +259,7 @@ /obj/item/projectile/bola/on_hit(var/atom/target, var/blocked = 0) if(ishuman(target)) var/mob/living/carbon/human/M = target - var/obj/item/weapon/handcuffs/legcuffs/bola/B = new(src.loc) + var/obj/item/handcuffs/legcuffs/bola/B = new(src.loc) if(!B.place_legcuffs(M,firer)) if(B) qdel(B) @@ -279,7 +279,7 @@ if(isturf(target.loc)) var/obj/effect/spider/stickyweb/W = locate() in get_turf(target) if(!W && prob(75)) - visible_message("\The [src] splatters a layer of web on \the [target]!") + visible_message(span_danger("\The [src] splatters a layer of web on \the [target]!")) new /obj/effect/spider/stickyweb(target.loc) ..() @@ -339,17 +339,17 @@ target_limb.dislocate() if(armor_special > 1) - target.visible_message("\The [src] slams into \the [target]'s [target_limb], reverberating loudly!") + target.visible_message(span_cult("\The [src] slams into \the [target]'s [target_limb], reverberating loudly!")) else if(armor_special) - target.visible_message("\The [src] slams into \the [target]'s [target_limb] with a low rumble!") + target.visible_message(span_cult("\The [src] slams into \the [target]'s [target_limb] with a low rumble!")) ..() /obj/item/projectile/beam/tungsten/on_impact(var/atom/A) if(istype(A,/turf/simulated/shuttle/wall) || istype(A,/turf/simulated/wall) || (istype(A,/turf/simulated/mineral) && A.density) || istype(A,/obj/mecha) || istype(A,/obj/machinery/door)) var/blast_dir = src.dir - A.visible_message("\The [A] begins to glow!") + A.visible_message(span_danger("\The [A] begins to glow!")) spawn(2 SECONDS) var/blastloc = get_step(A, blast_dir) if(blastloc) diff --git a/code/modules/projectiles/targeting/targeting_gun.dm b/code/modules/projectiles/targeting/targeting_gun.dm index 3b806582262..b97027e2206 100644 --- a/code/modules/projectiles/targeting/targeting_gun.dm +++ b/code/modules/projectiles/targeting/targeting_gun.dm @@ -1,17 +1,17 @@ //Removing the lock and the buttons. -/obj/item/weapon/gun/dropped(var/mob/living/user) +/obj/item/gun/dropped(var/mob/living/user) if(istype(user)) user.stop_aiming(src) return ..() -/obj/item/weapon/gun/equipped(var/mob/living/user, var/slot) +/obj/item/gun/equipped(var/mob/living/user, var/slot) if(istype(user) && (slot != slot_l_hand && slot != slot_r_hand)) user.stop_aiming(src) return ..() //Compute how to fire..... //Return 1 if a target was found, 0 otherwise. -/obj/item/weapon/gun/proc/PreFire(var/atom/A, var/mob/living/user, var/params) +/obj/item/gun/proc/PreFire(var/atom/A, var/mob/living/user, var/params) if(!user.aiming) user.aiming = new(user) user.face_atom(A) diff --git a/code/modules/projectiles/targeting/targeting_mob.dm b/code/modules/projectiles/targeting/targeting_mob.dm index 1f2921354b8..17aa15eed7a 100644 --- a/code/modules/projectiles/targeting/targeting_mob.dm +++ b/code/modules/projectiles/targeting/targeting_mob.dm @@ -4,7 +4,7 @@ /mob/verb/toggle_gun_mode() set name = "Toggle Gun Mode" set desc = "Begin or stop aiming." - set category = "IC" + set category = "IC.Game" if(isliving(src)) var/mob/living/M = src @@ -12,7 +12,7 @@ M.aiming = new(src) M.aiming.toggle_active() else - to_chat(src, "This verb may only be used by living mobs, sorry.") + to_chat(src, span_warning("This verb may only be used by living mobs, sorry.")) return /mob/living/proc/stop_aiming(var/obj/item/thing, var/no_message = 0) @@ -63,4 +63,4 @@ m_intent = intent if(hud_used) if (hud_used.move_intent) - hud_used.move_intent.icon_state = intent == "walk" ? "walking" : "running" \ No newline at end of file + hud_used.move_intent.icon_state = intent == "walk" ? "walking" : "running" diff --git a/code/modules/projectiles/targeting/targeting_overlay.dm b/code/modules/projectiles/targeting/targeting_overlay.dm index a732d3c8ef1..4f5cde1f007 100644 --- a/code/modules/projectiles/targeting/targeting_overlay.dm +++ b/code/modules/projectiles/targeting/targeting_overlay.dm @@ -109,25 +109,25 @@ if(!locked && lock_time <= world.time) locked = 1 - to_chat(owner, "You are locked onto your target.") - to_chat(aiming_at, "The gun is trained on you!") + to_chat(owner, span_notice("You are locked onto your target.")) + to_chat(aiming_at, span_danger("The gun is trained on you!")) update_icon() var/cancel_aim = 1 var/mob/living/carbon/human/H = owner if(!(aiming_with in owner) || (istype(H) && !H.item_is_in_hands(aiming_with))) - to_chat(owner, "You must keep hold of your weapon!") + to_chat(owner, span_warning("You must keep hold of your weapon!")) else if(owner.eye_blind) - to_chat(owner, "You are blind and cannot see your target!") + to_chat(owner, span_warning("You are blind and cannot see your target!")) else if(!aiming_at || !istype(aiming_at.loc, /turf)) - to_chat(owner, "You have lost sight of your target!") + to_chat(owner, span_warning("You have lost sight of your target!")) else if(owner.incapacitated() || owner.lying || owner.restrained()) - to_chat(owner, "You must be conscious and standing to keep track of your target!") + to_chat(owner, span_warning("You must be conscious and standing to keep track of your target!")) else if(aiming_at.alpha <= 50 || (aiming_at.invisibility > owner.see_invisible)) - to_chat(owner, "Your target has become invisible!") + to_chat(owner, span_warning("Your target has become invisible!")) else if(get_dist(get_turf(owner), get_turf(aiming_at)) > 7) // !(owner in viewers(aiming_at, 7)) - to_chat(owner, "Your target is too far away to track!") + to_chat(owner, span_warning("Your target is too far away to track!")) else cancel_aim = 0 @@ -147,34 +147,34 @@ return if(owner.incapacitated()) - to_chat(owner, "You cannot aim a gun in your current state.") + to_chat(owner, span_warning("You cannot aim a gun in your current state.")) return if(owner.lying) - to_chat(owner, "You cannot aim a gun while prone.") + to_chat(owner, span_warning("You cannot aim a gun while prone.")) return if(owner.restrained()) - to_chat(owner, "You cannot aim a gun while handcuffed.") + to_chat(owner, span_warning("You cannot aim a gun while handcuffed.")) return if(target.alpha <= 50) - to_chat(owner, "You cannot aim at something you cannot see.") + to_chat(owner, span_warning("You cannot aim at something you cannot see.")) return if(aiming_at) if(aiming_at == target) return aiming_at.aimed -= src - owner.visible_message("\The [owner] turns \the [thing] on \the [target]!") + owner.visible_message(span_danger("\The [owner] turns \the [thing] on \the [target]!")) else - owner.visible_message("\The [owner] aims \the [thing] at \the [target]!") + owner.visible_message(span_danger("\The [owner] aims \the [thing] at \the [target]!")) log_and_message_admins("aimed \a [thing] at [key_name(target)].") if(owner.client) owner.client.add_gun_icons() - to_chat(target, "You now have a gun pointed at you. No sudden moves!") - to_chat(target, "If you fail to comply with your assailant, you accept the consequences of your actions.") + to_chat(target, span_danger("You now have a gun pointed at you. No sudden moves!")) + to_chat(target, span_critical("If you fail to comply with your assailant, you accept the consequences of your actions.")) aiming_with = thing aiming_at = target - if(istype(aiming_with, /obj/item/weapon/gun)) + if(istype(aiming_with, /obj/item/gun)) playsound(owner, 'sound/weapons/TargetOn.ogg', 50,1) forceMove(get_turf(target)) START_PROCESSING(SSobj, src) @@ -204,24 +204,23 @@ if(owner.client) if(active) - to_chat(owner, "You will now aim rather than fire.") + to_chat(owner, span_notice("You will now aim rather than fire.")) owner.client.add_gun_icons() else - to_chat(owner, "You will no longer aim rather than fire.") + to_chat(owner, span_notice("You will no longer aim rather than fire.")) owner.client.remove_gun_icons() owner.gun_setting_icon.icon_state = "gun[active]" /obj/aiming_overlay/proc/cancel_aiming(var/no_message = 0) if(!aiming_with || !aiming_at) return - if(istype(aiming_with, /obj/item/weapon/gun)) + if(istype(aiming_with, /obj/item/gun)) playsound(owner, 'sound/weapons/TargetOff.ogg', 50,1) if(!no_message) - owner.visible_message("\The [owner] lowers \the [aiming_with].") + owner.visible_message(span_infoplain(span_bold("\The [owner]") + " lowers \the [aiming_with].")) aiming_with = null aiming_at.aimed -= src aiming_at = null loc = null STOP_PROCESSING(SSobj, src) - diff --git a/code/modules/projectiles/targeting/targeting_triggers.dm b/code/modules/projectiles/targeting/targeting_triggers.dm index 1b8f3fcadd1..7f0dd162aaa 100644 --- a/code/modules/projectiles/targeting/targeting_triggers.dm +++ b/code/modules/projectiles/targeting/targeting_triggers.dm @@ -20,11 +20,11 @@ if(!owner.checkClickCooldown()) return owner.setClickCooldown(5) // Spam prevention, essentially. - if(owner.a_intent == I_HELP && owner.is_preference_enabled(/datum/client_preference/safefiring)) - to_chat(owner, "You refrain from firing \the [aiming_with] as your intent is set to help.") + if(owner.a_intent == I_HELP && owner.client?.prefs?.read_preference(/datum/preference/toggle/safefiring)) + to_chat(owner, span_warning("You refrain from firing \the [aiming_with] as your intent is set to help.")) return - owner.visible_message("\The [owner] pulls the trigger reflexively!") - var/obj/item/weapon/gun/G = aiming_with + owner.visible_message(span_danger("\The [owner] pulls the trigger reflexively!")) + var/obj/item/gun/G = aiming_with if(istype(G)) G.Fire(aiming_at, owner, reflex = 1) locked = 0 diff --git a/code/modules/radiation/radiation.dm b/code/modules/radiation/radiation.dm index c467183cb5a..f0f38ae54e9 100644 --- a/code/modules/radiation/radiation.dm +++ b/code/modules/radiation/radiation.dm @@ -18,12 +18,12 @@ /datum/radiation_source/proc/update_rad_power(var/new_power = null) if(new_power == null || new_power == rad_power) return // No change - else if(new_power <= config.radiation_lower_limit) + else if(new_power <= CONFIG_GET(number/radiation_lower_limit)) qdel(src) // Decayed to nothing else rad_power = new_power if(!flat) - range = min(round(sqrt(rad_power / config.radiation_lower_limit)), 31) // R = rad_power / dist**2 - Solve for dist + range = min(round(sqrt(rad_power / CONFIG_GET(number/radiation_lower_limit))), 31) // R = rad_power / dist**2 - Solve for dist return /turf @@ -38,7 +38,7 @@ else if(O.density) //So open doors don't get counted var/datum/material/M = O.get_material() if(!M) continue - cached_rad_resistance += (M.weight + M.radiation_resistance) / config.radiation_material_resistance_divisor + cached_rad_resistance += (M.weight + M.radiation_resistance) / CONFIG_GET(number/radiation_material_resistance_divisor) // Looks like storing the contents length is meant to be a basic check if the cache is stale due to items enter/exiting. Better than nothing so I'm leaving it as is. ~Leshana SSradiation.resistance_cache[src] = (length(contents) + 1) return @@ -49,7 +49,7 @@ temp_rad_resistance += material.weight + material.radiation_resistance if(reinf_material) temp_rad_resistance += reinf_material.weight + reinf_material.radiation_resistance - cached_rad_resistance = (density ? (temp_rad_resistance) / config.radiation_material_resistance_divisor : 0) + cached_rad_resistance = (density ? (temp_rad_resistance) / CONFIG_GET(number/radiation_material_resistance_divisor) : 0) return /turf/simulated/mineral/calc_rad_resistance() diff --git a/code/modules/random_map/automata/automata.dm b/code/modules/random_map/automata/automata.dm index 50b53577c54..75824e52b65 100644 --- a/code/modules/random_map/automata/automata.dm +++ b/code/modules/random_map/automata/automata.dm @@ -10,58 +10,12 @@ var/cell_threshold = 5 // Cell becomes alive with this many live neighbors. // Automata-specific procs and processing. -/datum/random_map/automata/generate_map() - for(var/iter = 1 to iterations) - var/list/next_map[limit_x*limit_y] - var/count - var/is_not_border_left - var/is_not_border_right - var/ilim_u - var/ilim_d - var/bottom_lim = ((limit_y - 1) * limit_x) - - if (!islist(map)) - set_map_size() - - for (var/i in 1 to (limit_x * limit_y)) - count = 0 - - is_not_border_left = i != 1 && ((i - 1) % limit_x) - is_not_border_right = i % limit_x - - if (CELL_ALIVE(map[i])) // Center row. - ++count - if (is_not_border_left && CELL_ALIVE(map[i - 1])) - ++count - if (is_not_border_right && CELL_ALIVE(map[i + 1])) - ++count - - if (i > limit_x) // top row - ilim_u = i - limit_x - if (CELL_ALIVE(map[ilim_u])) - ++count - if (is_not_border_left && CELL_ALIVE(map[ilim_u - 1])) - ++count - if (is_not_border_right && CELL_ALIVE(map[ilim_u + 1])) - ++count +/datum/random_map/automata/seed_map() + return // Do not seed, we use Verdigris for this now - if (i <= bottom_lim) // bottom row - ilim_d = i + limit_x - if (CELL_ALIVE(map[ilim_d])) - ++count - if (is_not_border_left && CELL_ALIVE(map[ilim_d - 1])) - ++count - if (is_not_border_right && CELL_ALIVE(map[ilim_d + 1])) - ++count - - if(count >= cell_threshold) - REVIVE_CELL(i, next_map) - else // Nope. Can't be alive. Kill it. - KILL_CELL(i, next_map) - - CHECK_TICK - - map = next_map +/datum/random_map/automata/generate_map() + map = verdigris_generate_automata(limit_x, limit_y, iterations, initial_wall_cell) + return /datum/random_map/automata/get_additional_spawns(value, turf/T) return diff --git a/code/modules/random_map/automata/diona.dm b/code/modules/random_map/automata/diona.dm index 2966c172c2a..b94e4e60f51 100644 --- a/code/modules/random_map/automata/diona.dm +++ b/code/modules/random_map/automata/diona.dm @@ -6,7 +6,7 @@ if(can_open == WALL_OPENING) return can_open = WALL_CAN_OPEN - user.visible_message("\The [user] strokes its feelers against \the [src] and the biomass [density ? "moves aside" : "closes up"].") + user.visible_message(span_alium("\The [user] strokes its feelers against \the [src] and the biomass [density ? "moves aside" : "closes up"].")) toggle_open(user) sleep(15) if(can_open == WALL_CAN_OPEN) can_open = 0 @@ -169,4 +169,4 @@ V.growth = 3 V.update_icon() spawn(1) - V.spread() \ No newline at end of file + V.spread() diff --git a/code/modules/random_map/drop/drop_types.dm b/code/modules/random_map/drop/drop_types.dm index 4d8c31a749d..793deb6a8f9 100644 --- a/code/modules/random_map/drop/drop_types.dm +++ b/code/modules/random_map/drop/drop_types.dm @@ -34,15 +34,15 @@ var/global/list/datum/supply_drop_loot/supply_drop /obj/item/clothing/head/helmet/laserproof, /obj/item/clothing/suit/armor/laserproof, /obj/item/clothing/glasses/sunglasses/sechud/tactical, - /obj/item/weapon/storage/belt/security/tactical/bandolier, + /obj/item/storage/belt/security/tactical/bandolier, /obj/item/clothing/accessory/storage/black_drop_pouches, - /obj/item/weapon/storage/backpack/dufflebag/sec, - /obj/item/weapon/shield/energy, - /obj/item/weapon/gun/energy/ionrifle, - /obj/item/weapon/gun/energy/xray, - /obj/item/weapon/storage/box/emps, - /obj/item/weapon/storage/box/flashbangs, - /obj/item/weapon/material/knife/tacknife/combatknife) + /obj/item/storage/backpack/dufflebag/sec, + /obj/item/shield/energy, + /obj/item/gun/energy/ionrifle, + /obj/item/gun/energy/xray, + /obj/item/storage/box/emps, + /obj/item/storage/box/flashbangs, + /obj/item/material/knife/tacknife/combatknife) /datum/supply_drop_loot/ballistics name = "Ballistic Warfare" @@ -55,18 +55,18 @@ var/global/list/datum/supply_drop_loot/supply_drop /obj/item/clothing/gloves/arm_guard/bulletproof, /obj/item/clothing/shoes/leg_guard/bulletproof, /obj/item/clothing/glasses/sunglasses/sechud/tactical, - /obj/item/weapon/storage/belt/security/tactical/bandolier, + /obj/item/storage/belt/security/tactical/bandolier, /obj/item/clothing/accessory/storage/black_drop_pouches, - /obj/item/weapon/storage/backpack/dufflebag/sec, - /obj/item/weapon/shield/riot/tele, - /obj/item/weapon/storage/box/emps, - /obj/item/weapon/storage/box/flashbangs, - /obj/item/weapon/gun/projectile/automatic/sts35, + /obj/item/storage/backpack/dufflebag/sec, + /obj/item/shield/riot/tele, + /obj/item/storage/box/emps, + /obj/item/storage/box/flashbangs, + /obj/item/gun/projectile/automatic/sts35, /obj/item/ammo_magazine/m762/ap, /obj/item/ammo_magazine/m762/ap, - /obj/item/weapon/gun/projectile/colt, + /obj/item/gun/projectile/colt, /obj/item/ammo_magazine/m45, - /obj/item/weapon/material/knife/tacknife/combatknife) + /obj/item/material/knife/tacknife/combatknife) /datum/supply_drop_loot/heavy_warfare name = "Heavy Warfare" @@ -79,22 +79,22 @@ var/global/list/datum/supply_drop_loot/supply_drop /obj/item/clothing/gloves/arm_guard/combat, /obj/item/clothing/shoes/leg_guard/combat, /obj/item/clothing/glasses/sunglasses/sechud/tactical, - /obj/item/weapon/storage/belt/security/tactical/bandolier, + /obj/item/storage/belt/security/tactical/bandolier, /obj/item/clothing/accessory/storage/black_drop_pouches, - /obj/item/weapon/storage/backpack/dufflebag/sec, - /obj/item/weapon/gun/projectile/automatic/bullpup, + /obj/item/storage/backpack/dufflebag/sec, + /obj/item/gun/projectile/automatic/bullpup, /obj/item/ammo_magazine/m762/ap, /obj/item/ammo_magazine/m762, - /obj/item/weapon/shield/energy, - /obj/item/weapon/grenade/explosive/frag, - /obj/item/weapon/grenade/explosive/frag, - /obj/item/weapon/grenade/smokebomb, - /obj/item/weapon/grenade/smokebomb, - /obj/item/weapon/grenade/flashbang, - /obj/item/weapon/grenade/flashbang, - /obj/item/weapon/grenade/empgrenade, - /obj/item/weapon/grenade/empgrenade, - /obj/item/weapon/material/knife/tacknife/combatknife) + /obj/item/shield/energy, + /obj/item/grenade/explosive/frag, + /obj/item/grenade/explosive/frag, + /obj/item/grenade/smokebomb, + /obj/item/grenade/smokebomb, + /obj/item/grenade/flashbang, + /obj/item/grenade/flashbang, + /obj/item/grenade/empgrenade, + /obj/item/grenade/empgrenade, + /obj/item/material/knife/tacknife/combatknife) /datum/supply_drop_loot/riot name = "Riot Gear" @@ -106,19 +106,19 @@ var/global/list/datum/supply_drop_loot/supply_drop /obj/item/clothing/suit/armor/riot, /obj/item/clothing/gloves/arm_guard/riot, /obj/item/clothing/shoes/leg_guard/riot, - /obj/item/weapon/shield/riot/tele, - /obj/item/weapon/storage/box/flashbangs, - /obj/item/weapon/storage/box/handcuffs, - /obj/item/weapon/melee/baton, + /obj/item/shield/riot/tele, + /obj/item/storage/box/flashbangs, + /obj/item/storage/box/handcuffs, + /obj/item/melee/baton, /obj/item/clothing/glasses/sunglasses/sechud/tactical, - /obj/item/weapon/storage/belt/security, + /obj/item/storage/belt/security, /obj/item/clothing/shoes/boots/jackboots, /obj/item/clothing/gloves/black, - /obj/item/weapon/gun/projectile/shotgun/pump, - /obj/item/weapon/gun/energy/gun, + /obj/item/gun/projectile/shotgun/pump, + /obj/item/gun/energy/gun, /obj/item/clothing/accessory/holster, - /obj/item/weapon/gun/launcher/grenade, - /obj/item/weapon/storage/backpack/dufflebag/sec) + /obj/item/gun/launcher/grenade, + /obj/item/storage/backpack/dufflebag/sec) /datum/supply_drop_loot/seeds name = "Plant Growing" @@ -158,12 +158,12 @@ var/global/list/datum/supply_drop_loot/supply_drop /obj/item/seeds/sugarcaneseed, /obj/item/seeds/watermelonseed, /obj/item/seeds/cherryseed, - /obj/item/weapon/reagent_containers/glass/bottle/eznutrient, - /obj/item/weapon/reagent_containers/glass/bottle/eznutrient, - /obj/item/weapon/reagent_containers/glass/bottle/eznutrient, - /obj/item/weapon/reagent_containers/glass/bottle/eznutrient, - /obj/item/weapon/reagent_containers/glass/bottle/eznutrient, - /obj/item/weapon/reagent_containers/glass/bottle/eznutrient, + /obj/item/reagent_containers/glass/bottle/eznutrient, + /obj/item/reagent_containers/glass/bottle/eznutrient, + /obj/item/reagent_containers/glass/bottle/eznutrient, + /obj/item/reagent_containers/glass/bottle/eznutrient, + /obj/item/reagent_containers/glass/bottle/eznutrient, + /obj/item/reagent_containers/glass/bottle/eznutrient, /obj/machinery/portable_atmospherics/hydroponics, /obj/machinery/portable_atmospherics/hydroponics, /obj/machinery/portable_atmospherics/hydroponics, @@ -171,8 +171,8 @@ var/global/list/datum/supply_drop_loot/supply_drop /obj/machinery/portable_atmospherics/hydroponics, /obj/machinery/portable_atmospherics/hydroponics, /obj/structure/reagent_dispensers/watertank, - /obj/item/weapon/reagent_containers/glass/bucket, - /obj/item/weapon/reagent_containers/glass/bucket) + /obj/item/reagent_containers/glass/bucket, + /obj/item/reagent_containers/glass/bucket) /datum/supply_drop_loot/food name = "Emergency Provisions For Two" @@ -180,27 +180,27 @@ var/global/list/datum/supply_drop_loot/supply_drop /datum/supply_drop_loot/food/New() ..() contents = list( - /obj/item/weapon/reagent_containers/food/snacks/liquidfood, - /obj/item/weapon/reagent_containers/food/snacks/liquidfood, - /obj/item/weapon/reagent_containers/food/snacks/liquidfood, - /obj/item/weapon/reagent_containers/food/snacks/liquidfood, - /obj/item/weapon/reagent_containers/food/snacks/liquidfood, - /obj/item/weapon/reagent_containers/food/snacks/liquidfood, - /obj/item/weapon/reagent_containers/food/snacks/tastybread, - /obj/item/weapon/reagent_containers/food/snacks/tastybread, - /obj/item/weapon/reagent_containers/food/snacks/tastybread, - /obj/item/weapon/reagent_containers/food/snacks/tastybread, - /obj/item/weapon/reagent_containers/food/snacks/tastybread, - /obj/item/weapon/reagent_containers/food/drinks/glass2/fitnessflask/proteinshake, - /obj/item/weapon/reagent_containers/food/drinks/glass2/fitnessflask/proteinshake, - /obj/item/weapon/tool/crowbar, - /obj/item/weapon/tool/crowbar, - /obj/item/device/flashlight, - /obj/item/device/flashlight, + /obj/item/reagent_containers/food/snacks/liquidfood, + /obj/item/reagent_containers/food/snacks/liquidfood, + /obj/item/reagent_containers/food/snacks/liquidfood, + /obj/item/reagent_containers/food/snacks/liquidfood, + /obj/item/reagent_containers/food/snacks/liquidfood, + /obj/item/reagent_containers/food/snacks/liquidfood, + /obj/item/reagent_containers/food/snacks/tastybread, + /obj/item/reagent_containers/food/snacks/tastybread, + /obj/item/reagent_containers/food/snacks/tastybread, + /obj/item/reagent_containers/food/snacks/tastybread, + /obj/item/reagent_containers/food/snacks/tastybread, + /obj/item/reagent_containers/food/drinks/glass2/fitnessflask/proteinshake, + /obj/item/reagent_containers/food/drinks/glass2/fitnessflask/proteinshake, + /obj/item/tool/crowbar, + /obj/item/tool/crowbar, + /obj/item/flashlight, + /obj/item/flashlight, /obj/item/clothing/suit/storage/hazardvest, /obj/item/clothing/suit/storage/hazardvest, - /obj/item/device/flashlight/flare, - /obj/item/device/flashlight/flare) + /obj/item/flashlight/flare, + /obj/item/flashlight/flare) /datum/supply_drop_loot/plushie name = "Cuddly Fun!" @@ -229,8 +229,8 @@ var/global/list/datum/supply_drop_loot/supply_drop /obj/item/toy/sword, /obj/item/toy/katana, /obj/item/toy/katana, - /obj/item/weapon/inflatable_duck, - /obj/item/weapon/inflatable_duck) + /obj/item/inflatable_duck, + /obj/item/inflatable_duck) /datum/supply_drop_loot/christmas name = "Surplus Christmas Supplies" @@ -309,15 +309,15 @@ var/global/list/datum/supply_drop_loot/supply_drop /datum/supply_drop_loot/medical/New() ..() contents = list( - /obj/item/weapon/storage/firstaid/regular, - /obj/item/weapon/storage/firstaid/fire, - /obj/item/weapon/storage/firstaid/toxin, - /obj/item/weapon/storage/firstaid/o2, - /obj/item/weapon/storage/firstaid/adv, - /obj/item/weapon/storage/firstaid/combat, - /obj/item/weapon/reagent_containers/glass/bottle/antitoxin, - /obj/item/weapon/reagent_containers/glass/bottle/antitoxin, - /obj/item/weapon/reagent_containers/glass/bottle/inaprovaline, - /obj/item/weapon/reagent_containers/glass/bottle/inaprovaline, - /obj/item/weapon/storage/box/syringes, - /obj/item/weapon/storage/box/autoinjectors) \ No newline at end of file + /obj/item/storage/firstaid/regular, + /obj/item/storage/firstaid/fire, + /obj/item/storage/firstaid/toxin, + /obj/item/storage/firstaid/o2, + /obj/item/storage/firstaid/adv, + /obj/item/storage/firstaid/combat, + /obj/item/reagent_containers/glass/bottle/antitoxin, + /obj/item/reagent_containers/glass/bottle/antitoxin, + /obj/item/reagent_containers/glass/bottle/inaprovaline, + /obj/item/reagent_containers/glass/bottle/inaprovaline, + /obj/item/storage/box/syringes, + /obj/item/storage/box/autoinjectors) \ No newline at end of file diff --git a/code/modules/random_map/drop/droppod.dm b/code/modules/random_map/drop/droppod.dm index 5e57f76923d..09ef0e6d2ed 100644 --- a/code/modules/random_map/drop/droppod.dm +++ b/code/modules/random_map/drop/droppod.dm @@ -149,7 +149,7 @@ drop.forceMove(T) /datum/admins/proc/call_drop_pod() - set category = "Fun" + set category = "Fun.Drop Pod" set desc = "Call an immediate drop pod on your location." set name = "Call Drop Pod" @@ -163,7 +163,10 @@ if(!spawn_path) return - if(tgui_alert(usr, "Do you wish the mob to have a player?","Assign Player?",list("No","Yes")) == "No") + var/input = tgui_alert(usr, "Do you wish the mob to have a player?","Assign Player?",list("No","Yes")) + if(!input) + return + if(input == "No") var/spawn_count = tgui_input_number(usr, "How many mobs do you wish the pod to contain?", "Drop Pod Selection", null, min_value=1) if(spawn_count <= 0) return @@ -197,7 +200,7 @@ var/datum/antagonist/A = all_antag_types[antag_type] A.equip(spawned_mob) - if(tgui_alert(usr, "Are you SURE you wish to deploy this drop pod? It will cause a sizable explosion and gib anyone underneath it.","Danger!",list("No","Yes")) == "No") + if(tgui_alert(usr, "Are you SURE you wish to deploy this drop pod? It will cause a sizable explosion and gib anyone underneath it.","Danger!",list("No","Yes")) != "Yes") if(spawned_mob) qdel(spawned_mob) if(spawned_mobs.len) diff --git a/code/modules/random_map/drop/droppod_doors.dm b/code/modules/random_map/drop/droppod_doors.dm index 78df7a66995..84828b76f2d 100644 --- a/code/modules/random_map/drop/droppod_doors.dm +++ b/code/modules/random_map/drop/droppod_doors.dm @@ -25,7 +25,7 @@ /obj/structure/droppod_door/attack_hand(var/mob/user) if(deploying) return - to_chat(user, "You prime the explosive bolts. Better get clear!") + to_chat(user, span_danger("You prime the explosive bolts. Better get clear!")) sleep(30) deploy() @@ -34,7 +34,7 @@ return deployed = 1 - visible_message("The explosive bolts on \the [src] detonate, throwing it open!") + visible_message(span_danger("The explosive bolts on \the [src] detonate, throwing it open!")) playsound(src, 'sound/effects/bang.ogg', 50, 1, 5) // This is shit but it will do for the sake of testing. diff --git a/code/modules/random_map/drop/supply.dm b/code/modules/random_map/drop/supply.dm index d1cc04211d8..2e04d38d922 100644 --- a/code/modules/random_map/drop/supply.dm +++ b/code/modules/random_map/drop/supply.dm @@ -33,7 +33,7 @@ /datum/admins/proc/call_supply_drop() - set category = "Fun" + set category = "Fun.Drop Pod" set desc = "Call an immediate supply drop on your location." set name = "Call Supply Drop" @@ -42,6 +42,8 @@ var/chosen_loot_type var/list/chosen_loot_types var/choice = tgui_alert(usr, "Do you wish to supply a custom loot list?","Supply Drop",list("No","Yes")) + if(!choice) + return if(choice == "Yes") chosen_loot_types = list() @@ -70,7 +72,7 @@ choice = tgui_alert(usr, "Do you wish to add weapons?","Supply Drop",list("No","Yes")) if(choice == "Yes") while(1) - var/adding_loot_type = tgui_input_list(usr, "Select a new loot path. Cancel to finish.", "Loot Selection", typesof(/obj/item/weapon)) + var/adding_loot_type = tgui_input_list(usr, "Select a new loot path. Cancel to finish.", "Loot Selection", typesof(/obj/item)) if(!adding_loot_type) break chosen_loot_types |= adding_loot_type @@ -83,11 +85,13 @@ chosen_loot_types |= adding_loot_type else choice = tgui_alert(usr, "Do you wish to specify a loot type?","Supply Drop",list("No","Yes")) + if(!choice) + return if(choice == "Yes") chosen_loot_type = tgui_input_list(usr, "Select a loot type.", "Loot Selection", supply_drop_random_loot_types()) choice = tgui_alert(usr, "Are you SURE you wish to deploy this supply drop? It will cause a sizable explosion and gib anyone underneath it.","Supply Drop",list("No","Yes")) - if(choice == "No") + if(choice != "Yes") return log_admin("[key_name(usr)] dropped supplies at ([usr.x],[usr.y],[usr.z])") - new /datum/random_map/droppod/supply(null, usr.x-2, usr.y-2, usr.z, supplied_drops = chosen_loot_types, supplied_drop = chosen_loot_type) \ No newline at end of file + new /datum/random_map/droppod/supply(null, usr.x-2, usr.y-2, usr.z, supplied_drops = chosen_loot_types, supplied_drop = chosen_loot_type) diff --git a/code/modules/random_map/noise/ore.dm b/code/modules/random_map/noise/ore.dm index 1ad91538668..8466dd0688d 100644 --- a/code/modules/random_map/noise/ore.dm +++ b/code/modules/random_map/noise/ore.dm @@ -25,13 +25,13 @@ deep_count++ // Sanity check. if(surface_count < MIN_SURFACE_COUNT) - admin_notice("Insufficient surface minerals. Rerolling...", R_DEBUG) + admin_notice(span_danger("Insufficient surface minerals. Rerolling..."), R_DEBUG) return 0 else if(rare_count < MIN_RARE_COUNT) - admin_notice("Insufficient rare minerals. Rerolling...", R_DEBUG) + admin_notice(span_danger("Insufficient rare minerals. Rerolling..."), R_DEBUG) return 0 else if(deep_count < MIN_DEEP_COUNT) - admin_notice("Insufficient deep minerals. Rerolling...", R_DEBUG) + admin_notice(span_danger("Insufficient deep minerals. Rerolling..."), R_DEBUG) return 0 else return 1 diff --git a/code/modules/random_map/random_map.dm b/code/modules/random_map/random_map.dm index a563f16c116..67bc78cd0c8 100644 --- a/code/modules/random_map/random_map.dm +++ b/code/modules/random_map/random_map.dm @@ -56,7 +56,7 @@ var/global/list/map_count = list() set_map_size() var/start_time = world.timeofday - if(!do_not_announce) admin_notice("Generating [name].", R_DEBUG) + if(!do_not_announce) admin_notice(span_danger("Generating [name]."), R_DEBUG) sleep(-1) // Testing needed to see how reliable this is (asynchronous calls, called during worldgen), DM ref is not optimistic @@ -71,9 +71,9 @@ var/global/list/map_count = list() if(!do_not_announce) if(!failed) - admin_notice("[capitalize(name)] generation completed in [round(0.1*(world.timeofday-start_time),0.1)] seconds.", R_DEBUG) + admin_notice(span_danger("[capitalize(name)] generation completed in [round(0.1*(world.timeofday-start_time),0.1)] seconds."), R_DEBUG) else - admin_notice("[capitalize(name)] failed to generate ([round(0.1*(world.timeofday-start_time),0.1)] seconds): could not produce sane map.", R_DEBUG) + admin_notice(span_danger("[capitalize(name)] failed to generate ([round(0.1*(world.timeofday-start_time),0.1)] seconds): could not produce sane map."), R_DEBUG) /datum/random_map/proc/get_map_cell(var/x,var/y) if(!map) diff --git a/code/modules/random_map/random_map_verbs.dm b/code/modules/random_map/random_map_verbs.dm index c08e5ea119e..8bef0f3231e 100644 --- a/code/modules/random_map/random_map_verbs.dm +++ b/code/modules/random_map/random_map_verbs.dm @@ -1,5 +1,5 @@ /client/proc/print_random_map() - set category = "Debug" + set category = "Debug.Events" set name = "Display Random Map" set desc = "Show the contents of a random map." @@ -13,7 +13,7 @@ M.display_map(usr) /client/proc/delete_random_map() - set category = "Debug" + set category = "Debug.Events" set name = "Delete Random Map" set desc = "Delete a random map." @@ -30,7 +30,7 @@ qdel(M) /client/proc/create_random_map() - set category = "Debug" + set category = "Debug.Events" set name = "Create Random Map" set desc = "Create a random map." @@ -54,7 +54,7 @@ log_admin("[key_name(usr)] has created [M.name].") /client/proc/apply_random_map() - set category = "Debug" + set category = "Debug.Events" set name = "Apply Random Map" set desc = "Apply a map to the game world." @@ -79,7 +79,7 @@ M.apply_to_map() /client/proc/overlay_random_map() - set category = "Debug" + set category = "Debug.Events" set name = "Overlay Random Map" set desc = "Apply a map to another map." diff --git a/code/modules/reagents/Chemistry-Logging.dm b/code/modules/reagents/Chemistry-Logging.dm index 4c7b2343ad8..57ea0270ad7 100644 --- a/code/modules/reagents/Chemistry-Logging.dm +++ b/code/modules/reagents/Chemistry-Logging.dm @@ -16,7 +16,7 @@ /client/proc/view_chemical_reaction_logs() set name = "Show Chemical Reactions" - set category = "Admin" + set category = "Admin.Investigate" if(!check_rights(R_ADMIN|R_MOD)) return diff --git a/code/modules/reagents/hoses/hose_connector.dm b/code/modules/reagents/hoses/hose_connector.dm index a6423dbe989..b8fbd7dc2fc 100644 --- a/code/modules/reagents/hoses/hose_connector.dm +++ b/code/modules/reagents/hoses/hose_connector.dm @@ -7,8 +7,8 @@ description_info = "This tubing may be used to join two hose sockets, if able.
    \ Clicking on an object with a connector, such as a water tank, will display a list of possible sockets.
    \ Neutral can link to all socket types, and Input/Output sockets can link to all but their own type.

    \ - This hose does not stretch. The maximum distance you can move two objects from eachother\ - without snapping the tube is determined by distance upon connection." + " + span_warning("This hose does not stretch. The maximum distance you can move two objects from eachother\ + without snapping the tube is determined by distance upon connection.") icon = 'icons/obj/machines/reagent.dmi' icon_state = "hose" @@ -25,7 +25,7 @@ /obj/item/stack/hose/CtrlClick(mob/user) if(remembered) - to_chat(user, "You wind \the [src] back up.") + to_chat(user, span_notice("You wind \the [src] back up.")) remembered = null return @@ -50,18 +50,18 @@ if(remembered && remembered.valid_connection(AC)) var/distancetonode = get_dist(remembered,AC) if(distancetonode > world.view) - to_chat(user, "\The [src] would probably burst if it were this long.") + to_chat(user, span_notice("\The [src] would probably burst if it were this long.")) else if(distancetonode <= amount) - to_chat(user, "You join \the [remembered] to \the [AC]") + to_chat(user, span_notice("You join \the [remembered] to \the [AC]")) remembered.setup_hoses(AC) use(distancetonode) remembered = null else - to_chat(user, "You do not have enough tubing to connect the sockets.") + to_chat(user, span_notice("You do not have enough tubing to connect the sockets.")) else remembered = AC - to_chat(user, "You connect one end of tubing to \the [AC].") + to_chat(user, span_notice("You connect one end of tubing to \the [AC].")) else var/choice = tgui_input_list(usr, "Select a target hose connector.", "Socket Selection", available_sockets) @@ -72,20 +72,20 @@ if(remembered.valid_connection(CC)) var/distancetonode = get_dist(remembered, CC) if(distancetonode > world.view) - to_chat(user, "\The [src] would probably burst if it were this long.") + to_chat(user, span_notice("\The [src] would probably burst if it were this long.")) else if(distancetonode <= amount) - to_chat(user, "You join \the [remembered] to \the [CC]") + to_chat(user, span_notice("You join \the [remembered] to \the [CC]")) remembered.setup_hoses(CC) use(distancetonode) remembered = null else - to_chat(user, "You do not have enough tubing to connect the sockets.") + to_chat(user, span_notice("You do not have enough tubing to connect the sockets.")) else remembered = CC - to_chat(user, "You connect one end of tubing to \the [CC].") + to_chat(user, span_notice("You connect one end of tubing to \the [CC].")) return diff --git a/code/modules/reagents/kelshark.dm b/code/modules/reagents/kelshark.dm index 51239d37dd2..79f93b59a47 100644 --- a/code/modules/reagents/kelshark.dm +++ b/code/modules/reagents/kelshark.dm @@ -54,23 +54,23 @@ M.Confuse(drug_strength * 14) -/obj/item/weapon/reagent_containers/pill/benzilate +/obj/item/reagent_containers/pill/benzilate name = "Benzilate pill" desc = "You probably shouldn't swallow this." icon_state = "pill2" -/obj/item/weapon/reagent_containers/pill/benzilate/Initialize() +/obj/item/reagent_containers/pill/benzilate/Initialize() . = ..() reagents.add_reagent("benzilate", 50) color = reagents.get_color() -/obj/item/weapon/reagent_containers/pill/phenethylamine +/obj/item/reagent_containers/pill/phenethylamine name = "Phenethylamine pill" desc = "Smells like... lilacs?" icon_state = "pill5" -/obj/item/weapon/reagent_containers/pill/phenethylamine/Initialize() +/obj/item/reagent_containers/pill/phenethylamine/Initialize() . = ..() reagents.add_reagent("phenethylamine", 50) color = reagents.get_color() @@ -78,30 +78,30 @@ // PILLS THAT WE PROBABLY SHOULDN'T HAVE AAAAAAAAAA. The below is only so they can be included through mapping or "spawn " command. -Carl -/obj/item/weapon/storage/pill_bottle/benzilate +/obj/item/storage/pill_bottle/benzilate name = "bottle of Benzilate pills" desc = "This just hurts to look at with how many words of caution are scrawled on the lable. Better eat all of 'em!" -/obj/item/weapon/storage/pill_bottle/benzilate/New() +/obj/item/storage/pill_bottle/benzilate/New() ..() - new /obj/item/weapon/reagent_containers/pill/benzilate( src ) - new /obj/item/weapon/reagent_containers/pill/benzilate( src ) - new /obj/item/weapon/reagent_containers/pill/benzilate( src ) - new /obj/item/weapon/reagent_containers/pill/benzilate( src ) - new /obj/item/weapon/reagent_containers/pill/benzilate( src ) - new /obj/item/weapon/reagent_containers/pill/benzilate( src ) - new /obj/item/weapon/reagent_containers/pill/benzilate( src ) - -/obj/item/weapon/storage/pill_bottle/phenethylamine + new /obj/item/reagent_containers/pill/benzilate( src ) + new /obj/item/reagent_containers/pill/benzilate( src ) + new /obj/item/reagent_containers/pill/benzilate( src ) + new /obj/item/reagent_containers/pill/benzilate( src ) + new /obj/item/reagent_containers/pill/benzilate( src ) + new /obj/item/reagent_containers/pill/benzilate( src ) + new /obj/item/reagent_containers/pill/benzilate( src ) + +/obj/item/storage/pill_bottle/phenethylamine name = "bottle of Phenethylamine pills" desc = "Looks like someone drew a happy face on the label, replacing whatever was previously present." -/obj/item/weapon/storage/pill_bottle/phenethylamine/New() +/obj/item/storage/pill_bottle/phenethylamine/New() ..() - new /obj/item/weapon/reagent_containers/pill/phenethylamine( src ) - new /obj/item/weapon/reagent_containers/pill/phenethylamine( src ) - new /obj/item/weapon/reagent_containers/pill/phenethylamine( src ) - new /obj/item/weapon/reagent_containers/pill/phenethylamine( src ) - new /obj/item/weapon/reagent_containers/pill/phenethylamine( src ) - new /obj/item/weapon/reagent_containers/pill/phenethylamine( src ) - new /obj/item/weapon/reagent_containers/pill/phenethylamine( src ) + new /obj/item/reagent_containers/pill/phenethylamine( src ) + new /obj/item/reagent_containers/pill/phenethylamine( src ) + new /obj/item/reagent_containers/pill/phenethylamine( src ) + new /obj/item/reagent_containers/pill/phenethylamine( src ) + new /obj/item/reagent_containers/pill/phenethylamine( src ) + new /obj/item/reagent_containers/pill/phenethylamine( src ) + new /obj/item/reagent_containers/pill/phenethylamine( src ) diff --git a/code/modules/reagents/machinery/alembic.dm b/code/modules/reagents/machinery/alembic.dm index 78e9c7feb6a..f88917dc6b5 100644 --- a/code/modules/reagents/machinery/alembic.dm +++ b/code/modules/reagents/machinery/alembic.dm @@ -31,10 +31,10 @@ icon_state = "alembic-bubble" return -/obj/machinery/alembic/attackby(var/obj/item/weapon/potion_material/O as obj, var/mob/user as mob) - if(istype(O,/obj/item/weapon/potion_material)) +/obj/machinery/alembic/attackby(var/obj/item/potion_material/O as obj, var/mob/user as mob) + if(istype(O,/obj/item/potion_material)) if(potion_reagent != 0 ) - to_chat(user, SPAN_WARNING("There is already a reagent in the alembic!")) + to_chat(user, span_warning("There is already a reagent in the alembic!")) return else src.potion_reagent = O @@ -43,49 +43,49 @@ user.drop_item() O.loc = src update_icon() - to_chat(user, SPAN_NOTICE("You place the [O] in the alembic.")) + to_chat(user, span_notice("You place the [O] in the alembic.")) src.updateUsrDialog() return - else if(istype(O,/obj/item/weapon/potion_base)) + else if(istype(O,/obj/item/potion_base)) if(base_reagent != 0 ) - to_chat(user, SPAN_WARNING("There is already a base in the alembic!")) + to_chat(user, span_warning("There is already a base in the alembic!")) return else src.base_reagent = O user.drop_item() O.loc = src update_icon() - to_chat(user, SPAN_NOTICE("You place the [O] in the alembic.")) + to_chat(user, span_notice("You place the [O] in the alembic.")) src.updateUsrDialog() return else - to_chat(user, SPAN_WARNING("This item is no use in the alembic.")) + to_chat(user, span_warning("This item is no use in the alembic.")) return /obj/machinery/alembic/attack_hand(mob/user as mob) if(potion_reagent == 0 || base_reagent == 0) //If there is nothing in there - to_chat(user, SPAN_WARNING("The alembic is not yet full!")) + to_chat(user, span_warning("The alembic is not yet full!")) return else if(potion_reagent != 0 && base_reagent != 0 && !bubbling) //if there is something in there and it's not bubbling yet bubbling = 1 update_icon() - to_chat(user, SPAN_NOTICE("The alembic begins boiling the [potion_reagent] in the [base_reagent].")) + to_chat(user, span_notice("The alembic begins boiling the [potion_reagent] in the [base_reagent].")) sleep(30) bubbling = 0 - to_chat(user, SPAN_NOTICE("The alembic finishes brewing the potion!")) + to_chat(user, span_notice("The alembic finishes brewing the potion!")) spawn_potion() potion_reagent = 0 base_reagent = 0 update_icon() return else if(bubbling) - to_chat(user, SPAN_WARNING("The alembic is already boiling!")) + to_chat(user, span_warning("The alembic is already boiling!")) return /obj/machinery/alembic/AltClick(mob/user) if(potion_reagent == 0) - to_chat(user, SPAN_WARNING("There is nothing in the alembic!")) + to_chat(user, span_warning("There is nothing in the alembic!")) return else if(potion_reagent != 0 && !bubbling) //if there is something in there and it's not bubbling yet if(!user.incapacitated() && Adjacent(user)) @@ -95,227 +95,227 @@ else return else if(bubbling) - to_chat(user, SPAN_WARNING("The alembic is already boiling, it's too late to get your reagent back!")) + to_chat(user, span_warning("The alembic is already boiling, it's too late to get your reagent back!")) return /obj/machinery/alembic/proc/spawn_potion() if(istype(base_reagent,expected_base)) new product_potion(loc) else - var/failed_product = pick(/obj/item/weapon/reagent_containers/glass/bottle/potion/plain, - /obj/item/weapon/reagent_containers/glass/bottle/potion/ethanol, - /obj/item/weapon/reagent_containers/glass/bottle/potion/sugar, - /obj/item/weapon/reagent_containers/glass/bottle/potion/capsaicin, - /obj/item/weapon/reagent_containers/glass/bottle/potion/soporific, - /obj/item/weapon/reagent_containers/glass/bottle/potion/lipostipo, - /obj/item/weapon/reagent_containers/glass/bottle/potion/phoron) + var/failed_product = pick(/obj/item/reagent_containers/glass/bottle/potion/plain, + /obj/item/reagent_containers/glass/bottle/potion/ethanol, + /obj/item/reagent_containers/glass/bottle/potion/sugar, + /obj/item/reagent_containers/glass/bottle/potion/capsaicin, + /obj/item/reagent_containers/glass/bottle/potion/soporific, + /obj/item/reagent_containers/glass/bottle/potion/lipostipo, + /obj/item/reagent_containers/glass/bottle/potion/phoron) new failed_product(loc) //The actual ingredients! -/obj/item/weapon/potion_material +/obj/item/potion_material name = "blood ruby" desc = "An extremely hard but oddly brittle gem with a beautiful red colouration." icon = 'icons/obj/chemical_potionreagents.dmi' icon_state = "blood_ruby" - var/base_reagent = /obj/item/weapon/potion_base/ichor - var/product_potion = /obj/item/weapon/reagent_containers/glass/bottle/potion/healing + var/base_reagent = /obj/item/potion_base/ichor + var/product_potion = /obj/item/reagent_containers/glass/bottle/potion/healing -/obj/item/weapon/potion_material/blood_ruby +/obj/item/potion_material/blood_ruby -/obj/item/weapon/potion_material/ruby_eye +/obj/item/potion_material/ruby_eye name = "ruby eye" desc = "An odd gem in the shape of an eye, it has a strange static charge to the surface." icon = 'icons/obj/chemical_potionreagents.dmi' icon_state = "ruby_eye" - base_reagent = /obj/item/weapon/potion_base/ichor - product_potion = /obj/item/weapon/reagent_containers/glass/bottle/potion/greater_healing + base_reagent = /obj/item/potion_base/ichor + product_potion = /obj/item/reagent_containers/glass/bottle/potion/greater_healing -/obj/item/weapon/potion_material/golden_scale +/obj/item/potion_material/golden_scale name = "golden scale" desc = "A reptilian scale with an almost metalic texture and a shining gold surface." icon = 'icons/obj/chemical_potionreagents.dmi' icon_state = "golden_scale" - base_reagent = /obj/item/weapon/potion_base/alkahest - product_potion = /obj/item/weapon/reagent_containers/glass/bottle/potion/fire_resist + base_reagent = /obj/item/potion_base/alkahest + product_potion = /obj/item/reagent_containers/glass/bottle/potion/fire_resist -/obj/item/weapon/potion_material/frozen_dew +/obj/item/potion_material/frozen_dew name = "frozen dew" desc = "A bitter leaf with a small droplet of crystalised dew attached to it." icon = 'icons/obj/chemical_potionreagents.dmi' icon_state = "frozen_dew" - base_reagent = /obj/item/weapon/potion_base/ichor - product_potion = /obj/item/weapon/reagent_containers/glass/bottle/potion/antidote + base_reagent = /obj/item/potion_base/ichor + product_potion = /obj/item/reagent_containers/glass/bottle/potion/antidote -/obj/item/weapon/potion_material/living_coral +/obj/item/potion_material/living_coral name = "living coral" desc = "Some coral that appears to be friving outside of the water, it has an oddly metallic scent." icon = 'icons/obj/chemical_potionreagents.dmi' icon_state = "living_coral" - base_reagent = /obj/item/weapon/potion_base/aqua_regia - product_potion = /obj/item/weapon/reagent_containers/glass/bottle/potion/water + base_reagent = /obj/item/potion_base/aqua_regia + product_potion = /obj/item/reagent_containers/glass/bottle/potion/water -/obj/item/weapon/potion_material/rare_horn +/obj/item/potion_material/rare_horn name = "rare horn" desc = "A sharp, straight horn from some unknown animal." icon = 'icons/obj/chemical_potionreagents.dmi' icon_state = "rare_horn" - base_reagent = /obj/item/weapon/potion_base/alkahest - product_potion = /obj/item/weapon/reagent_containers/glass/bottle/potion/regeneration + base_reagent = /obj/item/potion_base/alkahest + product_potion = /obj/item/reagent_containers/glass/bottle/potion/regeneration -/obj/item/weapon/potion_material/moldy_bread +/obj/item/potion_material/moldy_bread name = "moldy bread" desc = "A slice of bread that's clearly been left out for far too long." icon = 'icons/obj/chemical_potionreagents.dmi' icon_state = "moldy_bread" - base_reagent = /obj/item/weapon/potion_base/aqua_regia - product_potion = /obj/item/weapon/reagent_containers/glass/bottle/potion/panacea + base_reagent = /obj/item/potion_base/aqua_regia + product_potion = /obj/item/reagent_containers/glass/bottle/potion/panacea -/obj/item/weapon/potion_material/glowing_gem +/obj/item/potion_material/glowing_gem name = "glowing gem" desc = "An pretty but rough gem that is literally glowing green, it tingles to touch." icon = 'icons/obj/chemical_potionreagents.dmi' icon_state = "glowing_gem" - base_reagent = /obj/item/weapon/potion_base/alkahest - product_potion = /obj/item/weapon/reagent_containers/glass/bottle/potion/magic + base_reagent = /obj/item/potion_base/alkahest + product_potion = /obj/item/reagent_containers/glass/bottle/potion/magic -/obj/item/weapon/potion_material/giant_toe +/obj/item/potion_material/giant_toe name = "giant toe" desc = "One really large severed toe, in some state of suspended decomposition. It's gross and stinks." icon = 'icons/obj/chemical_potionreagents.dmi' icon_state = "giant_toe" - base_reagent = /obj/item/weapon/potion_base/aqua_regia - product_potion = /obj/item/weapon/reagent_containers/glass/bottle/potion/lightness + base_reagent = /obj/item/potion_base/aqua_regia + product_potion = /obj/item/reagent_containers/glass/bottle/potion/lightness -/obj/item/weapon/potion_material/flesh_of_the_stars +/obj/item/potion_material/flesh_of_the_stars name = "flesh of the stars" desc = "A rare slab of meat with an unknown origin, said to have fallen from the sky." icon = 'icons/obj/chemical_potionreagents.dmi' icon_state = "flesh_of_the_stars" - base_reagent = /obj/item/weapon/potion_base/aqua_regia - product_potion = /obj/item/weapon/reagent_containers/glass/bottle/potion/bonerepair + base_reagent = /obj/item/potion_base/aqua_regia + product_potion = /obj/item/reagent_containers/glass/bottle/potion/bonerepair -/obj/item/weapon/potion_material/spinning_poppy +/obj/item/potion_material/spinning_poppy name = "spinning poppy" desc = "A small poppy flower that seems inclined to twirl without aid." icon = 'icons/obj/chemical_potionreagents.dmi' icon_state = "spinning_poppy" - base_reagent = /obj/item/weapon/potion_base/aqua_regia - product_potion = /obj/item/weapon/reagent_containers/glass/bottle/potion/pain + base_reagent = /obj/item/potion_base/aqua_regia + product_potion = /obj/item/reagent_containers/glass/bottle/potion/pain -/obj/item/weapon/potion_material/salt_mage +/obj/item/potion_material/salt_mage name = "salt mage" desc = "A statuette made from salt crystals, it's adorned with a little mages hat." icon = 'icons/obj/chemical_potionreagents.dmi' icon_state = "salt_mage" - base_reagent = /obj/item/weapon/potion_base/alkahest - product_potion = /obj/item/weapon/reagent_containers/glass/bottle/potion/shrink + base_reagent = /obj/item/potion_base/alkahest + product_potion = /obj/item/reagent_containers/glass/bottle/potion/shrink -/obj/item/weapon/potion_material/golden_grapes +/obj/item/potion_material/golden_grapes name = "golden grapes" desc = "A bunch of grapes with a shining golden skin, they smell strongly of some sort of solvent." icon = 'icons/obj/chemical_potionreagents.dmi' icon_state = "golden_grapes" - base_reagent = /obj/item/weapon/potion_base/alkahest - product_potion = /obj/item/weapon/reagent_containers/glass/bottle/potion/growth + base_reagent = /obj/item/potion_base/alkahest + product_potion = /obj/item/reagent_containers/glass/bottle/potion/growth -/obj/item/weapon/potion_material/fairy_house +/obj/item/potion_material/fairy_house name = "fairy house" desc = "A moderately large mushroom with a speckled red cap and... a door on the front?" icon = 'icons/obj/chemical_potionreagents.dmi' icon_state = "fairy_house" - base_reagent = /obj/item/weapon/potion_base/ichor - product_potion = /obj/item/weapon/reagent_containers/glass/bottle/potion/faerie + base_reagent = /obj/item/potion_base/ichor + product_potion = /obj/item/reagent_containers/glass/bottle/potion/faerie -/obj/item/weapon/potion_material/thorny_bulb +/obj/item/potion_material/thorny_bulb name = "thorny bulb" desc = "A flesh green plant bulb covered in thorns, it has a sulfur rich aroma." icon = 'icons/obj/chemical_potionreagents.dmi' icon_state = "thorny_bulb" - base_reagent = /obj/item/weapon/potion_base/aqua_regia - product_potion = /obj/item/weapon/reagent_containers/glass/bottle/potion/relaxation + base_reagent = /obj/item/potion_base/aqua_regia + product_potion = /obj/item/reagent_containers/glass/bottle/potion/relaxation -/obj/item/weapon/potion_material/ancient_egg +/obj/item/potion_material/ancient_egg name = "ancient egg" desc = "An egg, but seemingly really really old and long past rotten." icon = 'icons/obj/chemical_potionreagents.dmi' icon_state = "ancient_egg" - base_reagent = /obj/item/weapon/potion_base/aqua_regia - product_potion = /obj/item/weapon/reagent_containers/glass/bottle/potion/speed + base_reagent = /obj/item/potion_base/aqua_regia + product_potion = /obj/item/reagent_containers/glass/bottle/potion/speed -/obj/item/weapon/potion_material/crown_stem +/obj/item/potion_material/crown_stem name = "crown stem" desc = "An odd little flower that looks like a crown, the leaves have a minty aroma." icon = 'icons/obj/chemical_potionreagents.dmi' icon_state = "crown_stem" - base_reagent = /obj/item/weapon/potion_base/alkahest - product_potion = /obj/item/weapon/reagent_containers/glass/bottle/potion/attractiveness + base_reagent = /obj/item/potion_base/alkahest + product_potion = /obj/item/reagent_containers/glass/bottle/potion/attractiveness -/obj/item/weapon/potion_material/red_ingot +/obj/item/potion_material/red_ingot name = "red ingot" desc = "An oddly red coloured block of iron, it seems rather brittle and wouldn't make for a good smithing material." icon = 'icons/obj/chemical_potionreagents.dmi' icon_state = "red_ingot" - base_reagent = /obj/item/weapon/potion_base/alkahest - product_potion = /obj/item/weapon/reagent_containers/glass/bottle/potion/boyjuice + base_reagent = /obj/item/potion_base/alkahest + product_potion = /obj/item/reagent_containers/glass/bottle/potion/boyjuice -/obj/item/weapon/potion_material/soft_diamond +/obj/item/potion_material/soft_diamond name = "soft diamond" desc = "A gem that looks much like a diamond, but is squishy to the touch." icon = 'icons/obj/chemical_potionreagents.dmi' icon_state = "soft_diamond" - base_reagent = /obj/item/weapon/potion_base/ichor - product_potion = /obj/item/weapon/reagent_containers/glass/bottle/potion/girljuice + base_reagent = /obj/item/potion_base/ichor + product_potion = /obj/item/reagent_containers/glass/bottle/potion/girljuice -/obj/item/weapon/potion_material/solid_mist +/obj/item/potion_material/solid_mist name = "solid mist" desc = "A small purple stone that seems to be radiating some sort of mist." icon = 'icons/obj/chemical_potionreagents.dmi' icon_state = "solid_mist" - base_reagent = /obj/item/weapon/potion_base/ichor - product_potion = /obj/item/weapon/reagent_containers/glass/bottle/potion/badpolymorph + base_reagent = /obj/item/potion_base/ichor + product_potion = /obj/item/reagent_containers/glass/bottle/potion/badpolymorph -/obj/item/weapon/potion_material/spider_leg +/obj/item/potion_material/spider_leg name = "spider leg" desc = "A severed limb from a spider, it seems to be oozing with green... something." icon = 'icons/obj/chemical_potionreagents.dmi' icon_state = "spider_leg" - base_reagent = /obj/item/weapon/potion_base/aqua_regia - product_potion = /obj/item/weapon/reagent_containers/glass/bottle/potion/SOP + base_reagent = /obj/item/potion_base/aqua_regia + product_potion = /obj/item/reagent_containers/glass/bottle/potion/SOP -/obj/item/weapon/potion_material/folded_dark +/obj/item/potion_material/folded_dark name = "folded dark" desc = "A folded material that appears to be made of pure dark." icon = 'icons/obj/chemical_potionreagents.dmi' icon_state = "folded_dark" - base_reagent = /obj/item/weapon/potion_base/ichor - product_potion = /obj/item/weapon/reagent_containers/glass/bottle/potion/truepolymorph + base_reagent = /obj/item/potion_base/ichor + product_potion = /obj/item/reagent_containers/glass/bottle/potion/truepolymorph -/obj/item/weapon/potion_material/glamour_shard +/obj/item/potion_material/glamour_shard name = "glamour shard" desc = "A shard of hardened white crystal that seems to change shapes as you hold it." icon = 'icons/obj/chemical_potionreagents.dmi' icon_state = "glamour_shard" - base_reagent = /obj/item/weapon/potion_base/aqua_regia - product_potion = /obj/item/weapon/reagent_containers/glass/bottle/potion/glamour + base_reagent = /obj/item/potion_base/aqua_regia + product_potion = /obj/item/reagent_containers/glass/bottle/potion/glamour //base ingredients -/obj/item/weapon/potion_base/aqua_regia +/obj/item/potion_base/aqua_regia name = "aqua regia" desc = "A mixture of concentrated acids, be careful not to spill it! A base ingredient of many potions." icon = 'icons/obj/chemical_potionreagents.dmi' icon_state = "aqua_regia" w_class = ITEMSIZE_TINY -/obj/item/weapon/potion_base/ichor +/obj/item/potion_base/ichor name = "ichor" desc = "A thick and heavy red reagent said to be tinged with the blood of gods. A base ingredient of many potions." icon = 'icons/obj/chemical_potionreagents.dmi' icon_state = "ichor" w_class = ITEMSIZE_TINY -/obj/item/weapon/potion_base/alkahest +/obj/item/potion_base/alkahest name = "alkahest" desc = "Also known as the universal solvent, said to be capable of dissolving metal rapidly. A base ingredient of many potions." icon = 'icons/obj/chemical_potionreagents.dmi' diff --git a/code/modules/reagents/machinery/chem_master.dm b/code/modules/reagents/machinery/chem_master.dm index b5798262c7f..88157336717 100644 --- a/code/modules/reagents/machinery/chem_master.dm +++ b/code/modules/reagents/machinery/chem_master.dm @@ -6,11 +6,11 @@ unacidable = TRUE icon = 'icons/obj/chemical.dmi' icon_state = "mixer0" - circuit = /obj/item/weapon/circuitboard/chem_master + circuit = /obj/item/circuitboard/chem_master use_power = USE_POWER_IDLE idle_power_usage = 20 - var/obj/item/weapon/reagent_containers/beaker = null - var/obj/item/weapon/storage/pill_bottle/loaded_pill_bottle = null + var/obj/item/reagent_containers/beaker = null + var/obj/item/storage/pill_bottle/loaded_pill_bottle = null var/mode = 0 var/condi = 0 var/useramount = 15 // Last used amount @@ -42,9 +42,9 @@ /obj/machinery/chem_master/update_icon() icon_state = "mixer[beaker ? "1" : "0"]" -/obj/machinery/chem_master/attackby(var/obj/item/weapon/B as obj, var/mob/user as mob) +/obj/machinery/chem_master/attackby(var/obj/item/B as obj, var/mob/user as mob) - if(istype(B, /obj/item/weapon/reagent_containers/glass) || istype(B, /obj/item/weapon/reagent_containers/food)) + if(istype(B, /obj/item/reagent_containers/glass) || istype(B, /obj/item/reagent_containers/food)) if(src.beaker) to_chat(user, "\A [beaker] is already loaded into the machine.") @@ -55,7 +55,7 @@ to_chat(user, "You add \the [B] to the machine.") update_icon() - else if(istype(B, /obj/item/weapon/storage/pill_bottle)) + else if(istype(B, /obj/item/storage/pill_bottle)) if(src.loaded_pill_bottle) to_chat(user, "A \the [loaded_pill_bottle] s already loaded into the machine.") @@ -226,12 +226,14 @@ if(condi || !reagents.total_volume) return tgui_modal_input(src, id, "Please enter the amount of patches to make (max [MAX_MULTI_AMOUNT] at a time):", null, arguments, pillamount, 5) - if("create_bottle") + if("create_bottle", "create_bottle_two") if(condi || !reagents.total_volume) return var/num = round(text2num(arguments["num"] || 1)) if(!num) return + if(id == "create_bottle_two") + num = 2 arguments["num"] = num var/amount_per_bottle = CLAMP(reagents.total_volume / num, 0, MAX_UNITS_PER_BOTTLE) var/default_name = "[reagents.get_master_reagent_name()]" @@ -281,7 +283,7 @@ return if(!length(answer)) answer = reagents.get_master_reagent_name() - var/obj/item/weapon/reagent_containers/pill/P = new(loc) + var/obj/item/reagent_containers/pill/P = new(loc) P.name = "[answer] pack" P.desc = "A small condiment pack. The label says it contains [answer]." P.icon_state = "bouilloncube"//Reskinned monkey cube @@ -298,10 +300,10 @@ var/amount_per_pill = CLAMP(reagents.total_volume / count, 0, MAX_UNITS_PER_PILL) while(count--) if(reagents.total_volume <= 0) - to_chat(usr, "Not enough reagents to create these pills!") + to_chat(ui.user, span_notice("Not enough reagents to create these pills!")) return - var/obj/item/weapon/reagent_containers/pill/P = new(loc) + var/obj/item/reagent_containers/pill/P = new(loc) P.name = "[answer] pill" P.pixel_x = rand(-7, 7) // Random position P.pixel_y = rand(-7, 7) @@ -334,10 +336,10 @@ // var/is_medical_patch = chemical_safety_check(reagents) while(count--) if(reagents.total_volume <= 0) - to_chat(usr, "Not enough reagents to create these patches!") + to_chat(ui.user, span_notice("Not enough reagents to create these patches!")) return - var/obj/item/weapon/reagent_containers/pill/patch/P = new(loc) + var/obj/item/reagent_containers/pill/patch/P = new(loc) P.name = "[answer] patch" P.pixel_x = rand(-7, 7) // random position P.pixel_y = rand(-7, 7) @@ -349,7 +351,7 @@ if(condi || !reagents.total_volume) return tgui_act("modal_open", list("id" = "create_patch", "arguments" = list("num" = answer)), ui, state) - if("create_bottle") + if("create_bottle", "create_bottle_two") if(condi || !reagents.total_volume) return var/count = CLAMP(round(text2num(arguments["num"]) || 0), 0, MAX_MULTI_AMOUNT) @@ -361,9 +363,9 @@ var/amount_per_bottle = CLAMP(reagents.total_volume / count, 0, MAX_UNITS_PER_BOTTLE) while(count--) if(reagents.total_volume <= 0) - to_chat(usr, "Not enough reagents to create these bottles!") + to_chat(ui.user, span_notice("Not enough reagents to create these bottles!")) return - var/obj/item/weapon/reagent_containers/glass/bottle/P = new(loc) + var/obj/item/reagent_containers/glass/bottle/P = new(loc) P.name = "[answer] bottle" P.pixel_x = rand(-7, 7) // random position P.pixel_y = rand(-7, 7) @@ -391,8 +393,8 @@ if(tgui_act_modal(action, params, ui, state)) return TRUE - add_fingerprint(usr) - usr.set_machine(src) + add_fingerprint(ui.user) + ui.user.set_machine(src) . = TRUE switch(action) @@ -401,8 +403,8 @@ if("ejectp") if(loaded_pill_bottle) loaded_pill_bottle.forceMove(get_turf(src)) - if(Adjacent(usr) && !issilicon(usr)) - usr.put_in_hands(loaded_pill_bottle) + if(Adjacent(ui.user) && !issilicon(ui.user)) + ui.user.put_in_hands(loaded_pill_bottle) loaded_pill_bottle = null if("print") if(printing || condi) @@ -417,18 +419,18 @@ var/datum/reagent/R = reagent_list[idx] printing = TRUE - visible_message("[src] rattles and prints out a sheet of paper.") + visible_message(span_notice("[src] rattles and prints out a sheet of paper.")) // playsound(loc, 'sound/goonstation/machines/printer_dotmatrix.ogg', 50, 1) - var/obj/item/weapon/paper/P = new /obj/item/weapon/paper(loc) + var/obj/item/paper/P = new /obj/item/paper(loc) P.info = "
    Chemical Analysis

    " - P.info += "Time of analysis: [worldtime2stationtime(world.time)]

    " - P.info += "Chemical name: [R.name]
    " + P.info += span_bold("Time of analysis:") + " [worldtime2stationtime(world.time)]

    " + P.info += span_bold("Chemical name:") + " [R.name]
    " if(istype(R, /datum/reagent/blood)) var/datum/reagent/blood/B = R - P.info += "Description: N/A
    Blood Type: [B.data["blood_type"]]
    DNA: [B.data["blood_DNA"]]" + P.info += span_bold("Description:") + " N/A
    Blood Type: [B.data["blood_type"]]
    DNA: [B.data["blood_DNA"]]" else - P.info += "Description: [R.description]" + P.info += span_bold("Description:") + " [R.description]" P.info += "

    Notes:
    " P.name = "Chemical Analysis - [R.name]" spawn(50) @@ -461,15 +463,15 @@ if(!beaker) return beaker.forceMove(get_turf(src)) - if(Adjacent(usr) && !issilicon(usr)) - usr.put_in_hands(beaker) + if(Adjacent(ui.user) && !issilicon(ui.user)) + ui.user.put_in_hands(beaker) beaker = null reagents.clear_reagents() update_icon() if("create_condi_bottle") if(!condi || !reagents.total_volume) return - var/obj/item/weapon/reagent_containers/food/condiment/P = new(loc) + var/obj/item/reagent_containers/food/condiment/P = new(loc) reagents.trans_to_obj(P, 50) else return FALSE diff --git a/code/modules/reagents/machinery/chemalyzer.dm b/code/modules/reagents/machinery/chemalyzer.dm index ce8b1d6f12d..b0433ec03dd 100644 --- a/code/modules/reagents/machinery/chemalyzer.dm +++ b/code/modules/reagents/machinery/chemalyzer.dm @@ -27,13 +27,13 @@ if(default_deconstruction_crowbar(user, I)) return - if(istype(I,/obj/item/weapon/reagent_containers)) + if(istype(I,/obj/item/reagent_containers)) analyzing = TRUE update_icon() - to_chat(user, span("notice", "Analyzing \the [I], please stand by...")) + to_chat(user, span_notice("Analyzing \the [I], please stand by...")) if(!do_after(user, 2 SECONDS, src)) - to_chat(user, span("warning", "Sample moved outside of scan range, please try again and remain still.")) + to_chat(user, span_warning("Sample moved outside of scan range, please try again and remain still.")) analyzing = FALSE update_icon() return @@ -50,14 +50,14 @@ for(var/datum/reagent/R in I.reagents.reagent_list) if(!R.name) continue - to_chat(user, span("notice", "Contains [R.volume]u of [R.name].
    [R.description]
    ")) + to_chat(user, span_notice("Contains [R.volume]u of [R.name].
    [R.description]
    ")) // Last, unseal it if it's an autoinjector. - if(istype(I,/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector) && !(I.flags & OPENCONTAINER)) + if(istype(I,/obj/item/reagent_containers/hypospray/autoinjector/biginjector) && !(I.flags & OPENCONTAINER)) I.flags |= OPENCONTAINER - to_chat(user, span("notice", "Sample container unsealed.
    ")) + to_chat(user, span_notice("Sample container unsealed.
    ")) - to_chat(user, span("notice", "Scanning of \the [I] complete.")) + to_chat(user, span_notice("Scanning of \the [I] complete.")) analyzing = FALSE update_icon() - return \ No newline at end of file + return diff --git a/code/modules/reagents/machinery/dispenser/cartridge.dm b/code/modules/reagents/machinery/dispenser/cartridge.dm index ded38cf561c..f66858cc0cb 100644 --- a/code/modules/reagents/machinery/dispenser/cartridge.dm +++ b/code/modules/reagents/machinery/dispenser/cartridge.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/reagent_containers/chem_disp_cartridge +/obj/item/reagent_containers/chem_disp_cartridge name = "chemical dispenser cartridge" desc = "This goes in a chemical dispenser." icon_state = "cartridge" @@ -14,14 +14,14 @@ var/spawn_reagent = null var/label = "" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/Initialize() +/obj/item/reagent_containers/chem_disp_cartridge/Initialize() . = ..() if(spawn_reagent) reagents.add_reagent(spawn_reagent, volume) var/datum/reagent/R = SSchemistry.chemical_reagents[spawn_reagent] setLabel(R.name) -/obj/item/weapon/reagent_containers/chem_disp_cartridge/examine(mob/user) +/obj/item/reagent_containers/chem_disp_cartridge/examine(mob/user) . = ..() . += "It has a capacity of [volume] units." if(reagents.total_volume <= 0) @@ -31,36 +31,36 @@ if(!is_open_container()) . += "The cap is sealed." -/obj/item/weapon/reagent_containers/chem_disp_cartridge/verb/verb_set_label(L as text) +/obj/item/reagent_containers/chem_disp_cartridge/verb/verb_set_label(L as text) set name = "Set Cartridge Label" set category = "Object" set src in view(usr, 1) setLabel(L, usr) -/obj/item/weapon/reagent_containers/chem_disp_cartridge/proc/setLabel(L, mob/user = null) +/obj/item/reagent_containers/chem_disp_cartridge/proc/setLabel(L, mob/user = null) if(L) if(user) - to_chat(user, "You set the label on \the [src] to '[L]'.") + to_chat(user, span_notice("You set the label on \the [src] to '[L]'.")) label = L name = "[initial(name)] - '[L]'" else if(user) - to_chat(user, "You clear the label on \the [src].") + to_chat(user, span_notice("You clear the label on \the [src].")) label = "" name = initial(name) -/obj/item/weapon/reagent_containers/chem_disp_cartridge/attack_self() +/obj/item/reagent_containers/chem_disp_cartridge/attack_self() ..() if (is_open_container()) - to_chat(usr, "You put the cap on \the [src].") + to_chat(usr, span_notice("You put the cap on \the [src].")) flags ^= OPENCONTAINER else - to_chat(usr, "You take the cap off \the [src].") + to_chat(usr, span_notice("You take the cap off \the [src].")) flags |= OPENCONTAINER -/obj/item/weapon/reagent_containers/chem_disp_cartridge/afterattack(obj/target, mob/user , flag) +/obj/item/reagent_containers/chem_disp_cartridge/afterattack(obj/target, mob/user , flag) if (!is_open_container() || !flag) return @@ -68,28 +68,28 @@ target.add_fingerprint(user) if(!target.reagents.total_volume && target.reagents) - to_chat(user, "\The [target] is empty.") + to_chat(user, span_warning("\The [target] is empty.")) return if(reagents.total_volume >= reagents.maximum_volume) - to_chat(user, "\The [src] is full.") + to_chat(user, span_warning("\The [src] is full.")) return var/trans = target.reagents.trans_to(src, target:amount_per_transfer_from_this) - to_chat(user, "You fill \the [src] with [trans] units of the contents of \the [target].") + to_chat(user, span_notice("You fill \the [src] with [trans] units of the contents of \the [target].")) else if(target.is_open_container() && target.reagents) //Something like a glass. Player probably wants to transfer TO it. if(!reagents.total_volume) - to_chat(user, "\The [src] is empty.") + to_chat(user, span_warning("\The [src] is empty.")) return if(target.reagents.total_volume >= target.reagents.maximum_volume) - to_chat(user, "\The [target] is full.") + to_chat(user, span_warning("\The [target] is full.")) return var/trans = src.reagents.trans_to(target, amount_per_transfer_from_this) - to_chat(user, "You transfer [trans] units of the solution to \the [target].") + to_chat(user, span_notice("You transfer [trans] units of the solution to \the [target].")) else return ..() diff --git a/code/modules/reagents/machinery/dispenser/cartridge_presets.dm b/code/modules/reagents/machinery/dispenser/cartridge_presets.dm index 07c41ba9400..4f1098c6072 100644 --- a/code/modules/reagents/machinery/dispenser/cartridge_presets.dm +++ b/code/modules/reagents/machinery/dispenser/cartridge_presets.dm @@ -1,205 +1,253 @@ -/obj/item/weapon/reagent_containers/chem_disp_cartridge/small +/obj/item/reagent_containers/chem_disp_cartridge/small volume = CARTRIDGE_VOLUME_SMALL -/obj/item/weapon/reagent_containers/chem_disp_cartridge/medium +/obj/item/reagent_containers/chem_disp_cartridge/medium volume = CARTRIDGE_VOLUME_MEDIUM // Multiple -/obj/item/weapon/reagent_containers/chem_disp_cartridge/water +/obj/item/reagent_containers/chem_disp_cartridge/water spawn_reagent = "water" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/sugar +/obj/item/reagent_containers/chem_disp_cartridge/sugar spawn_reagent = "sugar" // Chemistry -/obj/item/weapon/reagent_containers/chem_disp_cartridge/hydrogen +/obj/item/reagent_containers/chem_disp_cartridge/hydrogen spawn_reagent = "hydrogen" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/lithium +/obj/item/reagent_containers/chem_disp_cartridge/lithium spawn_reagent = "lithium" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/carbon +/obj/item/reagent_containers/chem_disp_cartridge/carbon spawn_reagent = "carbon" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/nitrogen +/obj/item/reagent_containers/chem_disp_cartridge/nitrogen spawn_reagent = "nitrogen" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/oxygen +/obj/item/reagent_containers/chem_disp_cartridge/oxygen spawn_reagent = "oxygen" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/fluorine +/obj/item/reagent_containers/chem_disp_cartridge/fluorine spawn_reagent = "fluorine" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/sodium +/obj/item/reagent_containers/chem_disp_cartridge/sodium spawn_reagent = "sodium" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/aluminum +/obj/item/reagent_containers/chem_disp_cartridge/aluminum spawn_reagent = "aluminum" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/silicon +/obj/item/reagent_containers/chem_disp_cartridge/silicon spawn_reagent = "silicon" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/phosphorus +/obj/item/reagent_containers/chem_disp_cartridge/phosphorus spawn_reagent = "phosphorus" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/sulfur +/obj/item/reagent_containers/chem_disp_cartridge/sulfur spawn_reagent = "sulfur" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/chlorine +/obj/item/reagent_containers/chem_disp_cartridge/chlorine spawn_reagent = "chlorine" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/potassium +/obj/item/reagent_containers/chem_disp_cartridge/potassium spawn_reagent = "potassium" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/iron +/obj/item/reagent_containers/chem_disp_cartridge/iron spawn_reagent = "iron" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/copper +/obj/item/reagent_containers/chem_disp_cartridge/copper spawn_reagent = "copper" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/mercury +/obj/item/reagent_containers/chem_disp_cartridge/mercury spawn_reagent = "mercury" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/radium +/obj/item/reagent_containers/chem_disp_cartridge/radium spawn_reagent = "radium" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/ethanol +/obj/item/reagent_containers/chem_disp_cartridge/ethanol spawn_reagent = "ethanol" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/sacid +/obj/item/reagent_containers/chem_disp_cartridge/sacid spawn_reagent = "sacid" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/tungsten +/obj/item/reagent_containers/chem_disp_cartridge/tungsten spawn_reagent = "tungsten" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/calcium +/obj/item/reagent_containers/chem_disp_cartridge/calcium spawn_reagent = "calcium" // Bar, alcoholic -/obj/item/weapon/reagent_containers/chem_disp_cartridge/beer +/obj/item/reagent_containers/chem_disp_cartridge/beer spawn_reagent = "beer" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/kahlua +/obj/item/reagent_containers/chem_disp_cartridge/kahlua spawn_reagent = "kahlua" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/whiskey +/obj/item/reagent_containers/chem_disp_cartridge/whiskey spawn_reagent = "whiskey" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/redwine +/obj/item/reagent_containers/chem_disp_cartridge/redwine spawn_reagent = "redwine" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/whitewine +/obj/item/reagent_containers/chem_disp_cartridge/whitewine spawn_reagent = "whitewine" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/vodka +/obj/item/reagent_containers/chem_disp_cartridge/vodka spawn_reagent = "vodka" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/gin +/obj/item/reagent_containers/chem_disp_cartridge/gin spawn_reagent = "gin" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/rum +/obj/item/reagent_containers/chem_disp_cartridge/rum spawn_reagent = "rum" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/tequila +/obj/item/reagent_containers/chem_disp_cartridge/tequila spawn_reagent = "tequilla" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/vermouth +/obj/item/reagent_containers/chem_disp_cartridge/vermouth spawn_reagent = "vermouth" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/cognac +/obj/item/reagent_containers/chem_disp_cartridge/cognac spawn_reagent = "cognac" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/ale +/obj/item/reagent_containers/chem_disp_cartridge/ale spawn_reagent = "ale" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/mead +/obj/item/reagent_containers/chem_disp_cartridge/mead spawn_reagent = "mead" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/bitters +/obj/item/reagent_containers/chem_disp_cartridge/bitters spawn_reagent = "bitters" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/cider +/obj/item/reagent_containers/chem_disp_cartridge/cider spawn_reagent = "cider" // Bar, soft -/obj/item/weapon/reagent_containers/chem_disp_cartridge/ice +/obj/item/reagent_containers/chem_disp_cartridge/ice spawn_reagent = "ice" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/tea +/obj/item/reagent_containers/chem_disp_cartridge/tea spawn_reagent = "tea" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/icetea +/obj/item/reagent_containers/chem_disp_cartridge/icetea spawn_reagent = "icetea" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/cola +/obj/item/reagent_containers/chem_disp_cartridge/cola spawn_reagent = "cola" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/smw +/obj/item/reagent_containers/chem_disp_cartridge/smw spawn_reagent = "spacemountainwind" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/dr_gibb +/obj/item/reagent_containers/chem_disp_cartridge/dr_gibb spawn_reagent = "dr_gibb" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/spaceup +/obj/item/reagent_containers/chem_disp_cartridge/spaceup spawn_reagent = "space_up" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/tonic +/obj/item/reagent_containers/chem_disp_cartridge/tonic spawn_reagent = "tonic" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/sodawater +/obj/item/reagent_containers/chem_disp_cartridge/sodawater spawn_reagent = "sodawater" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/lemon_lime +/obj/item/reagent_containers/chem_disp_cartridge/lemon_lime spawn_reagent = "lemon_lime" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/orange +/obj/item/reagent_containers/chem_disp_cartridge/orange spawn_reagent = "orangejuice" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/lime +/obj/item/reagent_containers/chem_disp_cartridge/lime spawn_reagent = "limejuice" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/watermelon +/obj/item/reagent_containers/chem_disp_cartridge/watermelon spawn_reagent = "watermelonjuice" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/lemon +/obj/item/reagent_containers/chem_disp_cartridge/lemon spawn_reagent = "lemonjuice" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/grapesoda +/obj/item/reagent_containers/chem_disp_cartridge/grapesoda spawn_reagent = "grapesoda" +/obj/item/reagent_containers/chem_disp_cartridge/pineapple + spawn_reagent = "pineapplejuice" // Bar, coffee -/obj/item/weapon/reagent_containers/chem_disp_cartridge/coffee +/obj/item/reagent_containers/chem_disp_cartridge/coffee spawn_reagent = "coffee" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/cafe_latte +/obj/item/reagent_containers/chem_disp_cartridge/drip_coffee + spawn_reagent = "drip_coffee" +/obj/item/reagent_containers/chem_disp_cartridge/cafe_latte spawn_reagent = "cafe_latte" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/soy_latte +/obj/item/reagent_containers/chem_disp_cartridge/soy_latte spawn_reagent = "soy_latte" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/hot_coco +/obj/item/reagent_containers/chem_disp_cartridge/hot_coco spawn_reagent = "hot_coco" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/milk +/obj/item/reagent_containers/chem_disp_cartridge/milk spawn_reagent = "milk" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/cream +/obj/item/reagent_containers/chem_disp_cartridge/milk_foam + spawn_reagent = "milk_foam" +/obj/item/reagent_containers/chem_disp_cartridge/cream spawn_reagent = "cream" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/mint +/obj/item/reagent_containers/chem_disp_cartridge/mint spawn_reagent = "mint" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/berry +/obj/item/reagent_containers/chem_disp_cartridge/berry spawn_reagent = "berryjuice" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/greentea +/obj/item/reagent_containers/chem_disp_cartridge/greentea spawn_reagent = "greentea" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/decaf +/obj/item/reagent_containers/chem_disp_cartridge/decaf spawn_reagent = "decaf" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/chaitea +/obj/item/reagent_containers/chem_disp_cartridge/chaitea spawn_reagent = "chaitea" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/decafchai +/obj/item/reagent_containers/chem_disp_cartridge/decafchai spawn_reagent = "chaiteadecaf" +// syrups +/obj/item/reagent_containers/chem_disp_cartridge/syrup_pumpkin + spawn_reagent = "syrup_pumpkin" +/obj/item/reagent_containers/chem_disp_cartridge/syrup_caramel + spawn_reagent = "syrup_caramel" +/obj/item/reagent_containers/chem_disp_cartridge/syrup_scaramel + spawn_reagent = "syrup_salted_caramel" +/obj/item/reagent_containers/chem_disp_cartridge/syrup_irish + spawn_reagent = "syrup_irish" +/obj/item/reagent_containers/chem_disp_cartridge/syrup_almond + spawn_reagent = "syrup_almond" +/obj/item/reagent_containers/chem_disp_cartridge/syrup_cinnamon + spawn_reagent = "syrup_cinnamon" +/obj/item/reagent_containers/chem_disp_cartridge/syrup_pistachio + spawn_reagent = "syrup_pistachio" +/obj/item/reagent_containers/chem_disp_cartridge/syrup_vanilla + spawn_reagent = "syrup_vanilla" +/obj/item/reagent_containers/chem_disp_cartridge/syrup_toffee + spawn_reagent = "syrup_toffee" +/obj/item/reagent_containers/chem_disp_cartridge/syrup_cherry + spawn_reagent = "syrup_cherry" +/obj/item/reagent_containers/chem_disp_cartridge/grenadine + spawn_reagent = "grenadine" +/obj/item/reagent_containers/chem_disp_cartridge/syrup_butterscotch + spawn_reagent = "syrup_butterscotch" +/obj/item/reagent_containers/chem_disp_cartridge/syrup_chocolate + spawn_reagent = "syrup_chocolate" +/obj/item/reagent_containers/chem_disp_cartridge/syrup_wchocolate + spawn_reagent = "syrup_white_chocolate" +/obj/item/reagent_containers/chem_disp_cartridge/syrup_strawberry + spawn_reagent = "syrup_strawberry" +/obj/item/reagent_containers/chem_disp_cartridge/syrup_coconut + spawn_reagent = "syrup_coconut" +/obj/item/reagent_containers/chem_disp_cartridge/syrup_ginger + spawn_reagent = "syrup_ginger" +/obj/item/reagent_containers/chem_disp_cartridge/syrup_gingerbread + spawn_reagent = "syrup_gingerbread" +/obj/item/reagent_containers/chem_disp_cartridge/syrup_peppermint + spawn_reagent = "syrup_peppermint" +/obj/item/reagent_containers/chem_disp_cartridge/syrup_birthday + spawn_reagent = "syrup_birthday" + // ERT -/obj/item/weapon/reagent_containers/chem_disp_cartridge/inaprov +/obj/item/reagent_containers/chem_disp_cartridge/inaprov spawn_reagent = "inaprovaline" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/ryetalyn +/obj/item/reagent_containers/chem_disp_cartridge/ryetalyn spawn_reagent = "ryetalyn" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/paracetamol +/obj/item/reagent_containers/chem_disp_cartridge/paracetamol spawn_reagent = "paracetamol" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/tramadol +/obj/item/reagent_containers/chem_disp_cartridge/tramadol spawn_reagent = "tramadol" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/oxycodone +/obj/item/reagent_containers/chem_disp_cartridge/oxycodone spawn_reagent = "oxycodone" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/sterilizine +/obj/item/reagent_containers/chem_disp_cartridge/sterilizine spawn_reagent = "sterilizine" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/leporazine +/obj/item/reagent_containers/chem_disp_cartridge/leporazine spawn_reagent = "leporazine" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/kelotane +/obj/item/reagent_containers/chem_disp_cartridge/kelotane spawn_reagent = "kelotane" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/dermaline +/obj/item/reagent_containers/chem_disp_cartridge/dermaline spawn_reagent = "dermaline" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/dexalin +/obj/item/reagent_containers/chem_disp_cartridge/dexalin spawn_reagent = "dexalin" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/dexalin/small +/obj/item/reagent_containers/chem_disp_cartridge/dexalin/small volume = CARTRIDGE_VOLUME_SMALL // For the medicine cartridge crate, so it's not too easy to get large amounts of dexalin -/obj/item/weapon/reagent_containers/chem_disp_cartridge/dexalin_p +/obj/item/reagent_containers/chem_disp_cartridge/dexalin_p spawn_reagent = "dexalinp" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/tricord +/obj/item/reagent_containers/chem_disp_cartridge/tricord spawn_reagent = "tricordrazine" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/dylovene +/obj/item/reagent_containers/chem_disp_cartridge/dylovene spawn_reagent = "anti_toxin" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/synaptizine +/obj/item/reagent_containers/chem_disp_cartridge/synaptizine spawn_reagent = "synaptizine" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/hyronalin +/obj/item/reagent_containers/chem_disp_cartridge/hyronalin spawn_reagent = "hyronalin" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/arithrazine +/obj/item/reagent_containers/chem_disp_cartridge/arithrazine spawn_reagent = "arithrazine" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/alkysine +/obj/item/reagent_containers/chem_disp_cartridge/alkysine spawn_reagent = "alkysine" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/imidazoline +/obj/item/reagent_containers/chem_disp_cartridge/imidazoline spawn_reagent = "imidazoline" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/peridaxon +/obj/item/reagent_containers/chem_disp_cartridge/peridaxon spawn_reagent = "peridaxon" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/bicaridine +/obj/item/reagent_containers/chem_disp_cartridge/bicaridine spawn_reagent = "bicaridine" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/hyperzine +/obj/item/reagent_containers/chem_disp_cartridge/hyperzine spawn_reagent = "hyperzine" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/rezadone +/obj/item/reagent_containers/chem_disp_cartridge/rezadone spawn_reagent = "rezadone" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/spaceacillin +/obj/item/reagent_containers/chem_disp_cartridge/spaceacillin spawn_reagent = "spaceacillin" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/ethylredox +/obj/item/reagent_containers/chem_disp_cartridge/ethylredox spawn_reagent = "ethylredoxrazine" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/sleeptox +/obj/item/reagent_containers/chem_disp_cartridge/sleeptox spawn_reagent = "stoxin" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/chloral +/obj/item/reagent_containers/chem_disp_cartridge/chloral spawn_reagent = "chloralhydrate" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/cryoxadone +/obj/item/reagent_containers/chem_disp_cartridge/cryoxadone spawn_reagent = "cryoxadone" -/obj/item/weapon/reagent_containers/chem_disp_cartridge/clonexadone +/obj/item/reagent_containers/chem_disp_cartridge/clonexadone spawn_reagent = "clonexadone" diff --git a/code/modules/reagents/machinery/dispenser/cartridge_presets_vr.dm b/code/modules/reagents/machinery/dispenser/cartridge_presets_vr.dm index 50c3f6d3998..abd54931b71 100644 --- a/code/modules/reagents/machinery/dispenser/cartridge_presets_vr.dm +++ b/code/modules/reagents/machinery/dispenser/cartridge_presets_vr.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/reagent_containers/chem_disp_cartridge +/obj/item/reagent_containers/chem_disp_cartridge //Xenoflora ammonia spawn_reagent = "ammonia" diethylamine spawn_reagent = "diethylamine" diff --git a/code/modules/reagents/machinery/dispenser/cartridge_spawn.dm b/code/modules/reagents/machinery/dispenser/cartridge_spawn.dm index ba9b7270477..a33c401f03d 100644 --- a/code/modules/reagents/machinery/dispenser/cartridge_spawn.dm +++ b/code/modules/reagents/machinery/dispenser/cartridge_spawn.dm @@ -1,12 +1,12 @@ /client/proc/spawn_chemdisp_cartridge(size in list("small", "medium", "large"), reagent in SSchemistry.chemical_reagents) set name = "Spawn Chemical Dispenser Cartridge" - set category = "Admin" + set category = "Admin.Events" - var/obj/item/weapon/reagent_containers/chem_disp_cartridge/C + var/obj/item/reagent_containers/chem_disp_cartridge/C switch(size) - if("small") C = new /obj/item/weapon/reagent_containers/chem_disp_cartridge/small(usr.loc) - if("medium") C = new /obj/item/weapon/reagent_containers/chem_disp_cartridge/medium(usr.loc) - if("large") C = new /obj/item/weapon/reagent_containers/chem_disp_cartridge(usr.loc) + if("small") C = new /obj/item/reagent_containers/chem_disp_cartridge/small(usr.loc) + if("medium") C = new /obj/item/reagent_containers/chem_disp_cartridge/medium(usr.loc) + if("large") C = new /obj/item/reagent_containers/chem_disp_cartridge(usr.loc) C.reagents.add_reagent(reagent, C.volume) var/datum/reagent/R = SSchemistry.chemical_reagents[reagent] C.setLabel(R.name) diff --git a/code/modules/reagents/machinery/dispenser/dispenser2.dm b/code/modules/reagents/machinery/dispenser/dispenser2.dm index 2531566b0be..015234cf626 100644 --- a/code/modules/reagents/machinery/dispenser/dispenser2.dm +++ b/code/modules/reagents/machinery/dispenser/dispenser2.dm @@ -8,7 +8,7 @@ var/list/spawn_cartridges = null // Set to a list of types to spawn one of each on New() var/list/cartridges = list() // Associative, label -> cartridge - var/obj/item/weapon/reagent_containers/container = null + var/obj/item/reagent_containers/container = null var/ui_title = "Chemical Dispenser" @@ -60,30 +60,30 @@ return 1 //VOREstation edit end -/obj/machinery/chemical_dispenser/proc/add_cartridge(obj/item/weapon/reagent_containers/chem_disp_cartridge/C, mob/user) +/obj/machinery/chemical_dispenser/proc/add_cartridge(obj/item/reagent_containers/chem_disp_cartridge/C, mob/user) if(!istype(C)) if(user) - to_chat(user, "\The [C] will not fit in \the [src]!") + to_chat(user, span_warning("\The [C] will not fit in \the [src]!")) return if(cartridges.len >= max_catriges) if(user) - to_chat(user, "\The [src] does not have any slots open for \the [C] to fit into!") + to_chat(user, span_warning("\The [src] does not have any slots open for \the [C] to fit into!")) return if(!C.label) if(user) - to_chat(user, "\The [C] does not have a label!") + to_chat(user, span_warning("\The [C] does not have a label!")) return if(cartridges[C.label]) if(user) - to_chat(user, "\The [src] already contains a cartridge with that label!") + to_chat(user, span_warning("\The [src] already contains a cartridge with that label!")) return if(user) user.drop_from_inventory(C) - to_chat(user, "You add \the [C] to \the [src].") + to_chat(user, span_notice("You add \the [C] to \the [src].")) C.loc = src cartridges[C.label] = C @@ -95,50 +95,50 @@ cartridges -= label SStgui.update_uis(src) -/obj/machinery/chemical_dispenser/attackby(obj/item/weapon/W, mob/user) +/obj/machinery/chemical_dispenser/attackby(obj/item/W, mob/user) if(W.has_tool_quality(TOOL_WRENCH)) playsound(src, W.usesound, 50, 1) - to_chat(user, "You begin to [anchored ? "un" : ""]fasten \the [src].") + to_chat(user, span_notice("You begin to [anchored ? "un" : ""]fasten \the [src].")) if (do_after(user, 20 * W.toolspeed)) user.visible_message( - "\The [user] [anchored ? "un" : ""]fastens \the [src].", - "You have [anchored ? "un" : ""]fastened \the [src].", + span_notice("\The [user] [anchored ? "un" : ""]fastens \the [src]."), + span_notice("You have [anchored ? "un" : ""]fastened \the [src]."), "You hear a ratchet.") anchored = !anchored else - to_chat(user, "You decide not to [anchored ? "un" : ""]fasten \the [src].") + to_chat(user, span_notice("You decide not to [anchored ? "un" : ""]fasten \the [src].")) - else if(istype(W, /obj/item/weapon/reagent_containers/chem_disp_cartridge)) + else if(istype(W, /obj/item/reagent_containers/chem_disp_cartridge)) add_cartridge(W, user) else if(W.has_tool_quality(TOOL_SCREWDRIVER)) var/label = tgui_input_list(user, "Which cartridge would you like to remove?", "Chemical Dispenser", cartridges) if(!label) return - var/obj/item/weapon/reagent_containers/chem_disp_cartridge/C = remove_cartridge(label) + var/obj/item/reagent_containers/chem_disp_cartridge/C = remove_cartridge(label) if(C) - to_chat(user, "You remove \the [C] from \the [src].") + to_chat(user, span_notice("You remove \the [C] from \the [src].")) C.loc = loc playsound(src, W.usesound, 50, 1) - else if(istype(W, /obj/item/weapon/reagent_containers/glass) || istype(W, /obj/item/weapon/reagent_containers/food)) + else if(istype(W, /obj/item/reagent_containers/glass) || istype(W, /obj/item/reagent_containers/food)) if(container) - to_chat(user, "There is already \a [container] on \the [src]!") + to_chat(user, span_warning("There is already \a [container] on \the [src]!")) return - var/obj/item/weapon/reagent_containers/RC = W + var/obj/item/reagent_containers/RC = W - if(!accept_drinking && istype(RC,/obj/item/weapon/reagent_containers/food)) - to_chat(user, "This machine only accepts beakers!") + if(!accept_drinking && istype(RC,/obj/item/reagent_containers/food)) + to_chat(user, span_warning("This machine only accepts beakers!")) return if(!RC.is_open_container()) - to_chat(user, "You don't see how \the [src] could dispense reagents into \the [RC].") + to_chat(user, span_warning("You don't see how \the [src] could dispense reagents into \the [RC].")) return container = RC user.drop_from_inventory(RC) RC.loc = src - to_chat(user, "You set \the [RC] on \the [src].") + to_chat(user, span_notice("You set \the [RC] on \the [src].")) else return ..() @@ -169,7 +169,7 @@ var/chemicals[0] for(var/label in cartridges) - var/obj/item/weapon/reagent_containers/chem_disp_cartridge/C = cartridges[label] + var/obj/item/reagent_containers/chem_disp_cartridge/C = cartridges[label] chemicals.Add(list(list("name" = label, "id" = label, "volume" = C.reagents.total_volume))) // list in a list because Byond merges the first list... data["chemicals"] = chemicals @@ -196,7 +196,7 @@ if(recording_recipe) recording_recipe += list(list("id" = label, "amount" = amount)) else if(cartridges[label] && container && container.is_open_container()) - var/obj/item/weapon/reagent_containers/chem_disp_cartridge/C = cartridges[label] + var/obj/item/reagent_containers/chem_disp_cartridge/C = cartridges[label] playsound(src, 'sound/machines/reagent_dispense.ogg', 25, 1) C.reagents.trans_to(container, amount) . = TRUE @@ -267,7 +267,7 @@ var/label = L["id"] var/dispense_amount = L["amount"] - var/obj/item/weapon/reagent_containers/chem_disp_cartridge/C = cartridges[label] + var/obj/item/reagent_containers/chem_disp_cartridge/C = cartridges[label] if(!C) visible_message(span_warning("[src] buzzes."), span_warning("You hear a faint buzz.")) to_chat(ui.user, span_warning("[src] cannot find [label]!")) diff --git a/code/modules/reagents/machinery/dispenser/dispenser2_energy.dm b/code/modules/reagents/machinery/dispenser/dispenser2_energy.dm index 91c24d77068..2495018f5ec 100644 --- a/code/modules/reagents/machinery/dispenser/dispenser2_energy.dm +++ b/code/modules/reagents/machinery/dispenser/dispenser2_energy.dm @@ -18,7 +18,7 @@ stack_trace("[src] at [x],[y],[z] failed to find reagent '[id]'!") dispense_reagents -= id continue - var/obj/item/weapon/reagent_containers/chem_disp_cartridge/C = cartridges[R.name] + var/obj/item/reagent_containers/chem_disp_cartridge/C = cartridges[R.name] if(C && C.reagents.total_volume < C.reagents.maximum_volume) var/to_restore = min(C.reagents.maximum_volume - C.reagents.total_volume, 5) use_power(to_restore * 500) @@ -47,7 +47,7 @@ /obj/machinery/chemical_dispenser/bar_soft dispense_reagents = list( "water", "ice", "coffee", "cream", "tea", "icetea", "cola", "spacemountainwind", "dr_gibb", "space_up", "tonic", - "sodawater", "lemonjuice", "lemon_lime", "sugar", "orangejuice", "limejuice", "watermelonjuice", "thirteenloko", "grapesoda" + "sodawater", "lemonjuice", "lemon_lime", "sugar", "orangejuice", "limejuice", "watermelonjuice", "thirteenloko", "grapesoda", "pineapplejuice" ) /obj/machinery/chemical_dispenser/bar_alc @@ -58,6 +58,13 @@ /obj/machinery/chemical_dispenser/bar_coffee dispense_reagents = list( - "coffee", "cafe_latte", "soy_latte", "hot_coco", "milk", "cream", "tea", "ice", - "orangejuice", "lemonjuice", "limejuice", "berryjuice", "mint", "decaf", "greentea" + "coffee", "cafe_latte", "soy_latte", "hot_coco", "milk", "cream", "tea", "ice", "water", + "orangejuice", "lemonjuice", "limejuice", "berryjuice", "mint", "decaf", "greentea", "milk_foam", "drip_coffee" + ) + +/obj/machinery/chemical_dispenser/bar_syrup + dispense_reagents = list( + "syrup_pumpkin", "syrup_caramel", "syrup_salted_caramel", "syrup_irish", "syrup_almond", "syrup_cinnamon", "syrup_pistachio", + "syrup_vanilla", "syrup_toffee", "grenadine", "syrup_cherry", "syrup_butterscotch", "syrup_chocolate", "syrup_white_chocolate", "syrup_strawberry", + "syrup_coconut", "syrup_ginger", "syrup_gingerbread", "syrup_peppermint", "syrup_birthday" ) diff --git a/code/modules/reagents/machinery/dispenser/dispenser_presets.dm b/code/modules/reagents/machinery/dispenser/dispenser_presets.dm index 916c506a2e8..49fd9f5a223 100644 --- a/code/modules/reagents/machinery/dispenser/dispenser_presets.dm +++ b/code/modules/reagents/machinery/dispenser/dispenser_presets.dm @@ -1,61 +1,61 @@ /obj/machinery/chemical_dispenser/full spawn_cartridges = list( - /obj/item/weapon/reagent_containers/chem_disp_cartridge/hydrogen, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/lithium, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/carbon, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/nitrogen, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/oxygen, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/fluorine, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/sodium, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/aluminum, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/silicon, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/phosphorus, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/sulfur, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/chlorine, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/potassium, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/iron, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/copper, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/mercury, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/radium, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/water, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/ethanol, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/sugar, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/sacid, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/tungsten, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/calcium + /obj/item/reagent_containers/chem_disp_cartridge/hydrogen, + /obj/item/reagent_containers/chem_disp_cartridge/lithium, + /obj/item/reagent_containers/chem_disp_cartridge/carbon, + /obj/item/reagent_containers/chem_disp_cartridge/nitrogen, + /obj/item/reagent_containers/chem_disp_cartridge/oxygen, + /obj/item/reagent_containers/chem_disp_cartridge/fluorine, + /obj/item/reagent_containers/chem_disp_cartridge/sodium, + /obj/item/reagent_containers/chem_disp_cartridge/aluminum, + /obj/item/reagent_containers/chem_disp_cartridge/silicon, + /obj/item/reagent_containers/chem_disp_cartridge/phosphorus, + /obj/item/reagent_containers/chem_disp_cartridge/sulfur, + /obj/item/reagent_containers/chem_disp_cartridge/chlorine, + /obj/item/reagent_containers/chem_disp_cartridge/potassium, + /obj/item/reagent_containers/chem_disp_cartridge/iron, + /obj/item/reagent_containers/chem_disp_cartridge/copper, + /obj/item/reagent_containers/chem_disp_cartridge/mercury, + /obj/item/reagent_containers/chem_disp_cartridge/radium, + /obj/item/reagent_containers/chem_disp_cartridge/water, + /obj/item/reagent_containers/chem_disp_cartridge/ethanol, + /obj/item/reagent_containers/chem_disp_cartridge/sugar, + /obj/item/reagent_containers/chem_disp_cartridge/sacid, + /obj/item/reagent_containers/chem_disp_cartridge/tungsten, + /obj/item/reagent_containers/chem_disp_cartridge/calcium ) /obj/machinery/chemical_dispenser/ert name = "medicine dispenser" spawn_cartridges = list( - /obj/item/weapon/reagent_containers/chem_disp_cartridge/inaprov, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/ryetalyn, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/paracetamol, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/tramadol, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/oxycodone, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/sterilizine, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/leporazine, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/kelotane, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/dermaline, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/dexalin, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/dexalin_p, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/tricord, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/dylovene, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/synaptizine, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/hyronalin, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/arithrazine, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/alkysine, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/imidazoline, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/peridaxon, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/bicaridine, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/hyperzine, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/rezadone, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/spaceacillin, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/ethylredox, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/sleeptox, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/chloral, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/cryoxadone, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/clonexadone + /obj/item/reagent_containers/chem_disp_cartridge/inaprov, + /obj/item/reagent_containers/chem_disp_cartridge/ryetalyn, + /obj/item/reagent_containers/chem_disp_cartridge/paracetamol, + /obj/item/reagent_containers/chem_disp_cartridge/tramadol, + /obj/item/reagent_containers/chem_disp_cartridge/oxycodone, + /obj/item/reagent_containers/chem_disp_cartridge/sterilizine, + /obj/item/reagent_containers/chem_disp_cartridge/leporazine, + /obj/item/reagent_containers/chem_disp_cartridge/kelotane, + /obj/item/reagent_containers/chem_disp_cartridge/dermaline, + /obj/item/reagent_containers/chem_disp_cartridge/dexalin, + /obj/item/reagent_containers/chem_disp_cartridge/dexalin_p, + /obj/item/reagent_containers/chem_disp_cartridge/tricord, + /obj/item/reagent_containers/chem_disp_cartridge/dylovene, + /obj/item/reagent_containers/chem_disp_cartridge/synaptizine, + /obj/item/reagent_containers/chem_disp_cartridge/hyronalin, + /obj/item/reagent_containers/chem_disp_cartridge/arithrazine, + /obj/item/reagent_containers/chem_disp_cartridge/alkysine, + /obj/item/reagent_containers/chem_disp_cartridge/imidazoline, + /obj/item/reagent_containers/chem_disp_cartridge/peridaxon, + /obj/item/reagent_containers/chem_disp_cartridge/bicaridine, + /obj/item/reagent_containers/chem_disp_cartridge/hyperzine, + /obj/item/reagent_containers/chem_disp_cartridge/rezadone, + /obj/item/reagent_containers/chem_disp_cartridge/spaceacillin, + /obj/item/reagent_containers/chem_disp_cartridge/ethylredox, + /obj/item/reagent_containers/chem_disp_cartridge/sleeptox, + /obj/item/reagent_containers/chem_disp_cartridge/chloral, + /obj/item/reagent_containers/chem_disp_cartridge/cryoxadone, + /obj/item/reagent_containers/chem_disp_cartridge/clonexadone ) /obj/machinery/chemical_dispenser/bar_soft @@ -67,25 +67,26 @@ /obj/machinery/chemical_dispenser/bar_soft/full spawn_cartridges = list( - /obj/item/weapon/reagent_containers/chem_disp_cartridge/water, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/ice, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/coffee, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/cream, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/tea, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/icetea, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/cola, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/smw, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/dr_gibb, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/spaceup, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/tonic, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/sodawater, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/lemon_lime, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/sugar, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/orange, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/lime, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/watermelon, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/lemon, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/grapesoda + /obj/item/reagent_containers/chem_disp_cartridge/water, + /obj/item/reagent_containers/chem_disp_cartridge/ice, + /obj/item/reagent_containers/chem_disp_cartridge/coffee, + /obj/item/reagent_containers/chem_disp_cartridge/cream, + /obj/item/reagent_containers/chem_disp_cartridge/tea, + /obj/item/reagent_containers/chem_disp_cartridge/icetea, + /obj/item/reagent_containers/chem_disp_cartridge/cola, + /obj/item/reagent_containers/chem_disp_cartridge/smw, + /obj/item/reagent_containers/chem_disp_cartridge/dr_gibb, + /obj/item/reagent_containers/chem_disp_cartridge/spaceup, + /obj/item/reagent_containers/chem_disp_cartridge/tonic, + /obj/item/reagent_containers/chem_disp_cartridge/sodawater, + /obj/item/reagent_containers/chem_disp_cartridge/lemon_lime, + /obj/item/reagent_containers/chem_disp_cartridge/sugar, + /obj/item/reagent_containers/chem_disp_cartridge/orange, + /obj/item/reagent_containers/chem_disp_cartridge/lime, + /obj/item/reagent_containers/chem_disp_cartridge/watermelon, + /obj/item/reagent_containers/chem_disp_cartridge/lemon, + /obj/item/reagent_containers/chem_disp_cartridge/grapesoda, + /obj/item/reagent_containers/chem_disp_cartridge/pineapple ) /obj/machinery/chemical_dispenser/bar_alc @@ -97,27 +98,27 @@ /obj/machinery/chemical_dispenser/bar_alc/full spawn_cartridges = list( - /obj/item/weapon/reagent_containers/chem_disp_cartridge/lemon_lime, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/sugar, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/orange, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/lime, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/sodawater, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/tonic, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/beer, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/kahlua, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/whiskey, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/redwine, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/whitewine, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/vodka, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/gin, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/rum, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/tequila, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/vermouth, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/cognac, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/cider, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/ale, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/mead, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/bitters + /obj/item/reagent_containers/chem_disp_cartridge/lemon_lime, + /obj/item/reagent_containers/chem_disp_cartridge/sugar, + /obj/item/reagent_containers/chem_disp_cartridge/orange, + /obj/item/reagent_containers/chem_disp_cartridge/lime, + /obj/item/reagent_containers/chem_disp_cartridge/sodawater, + /obj/item/reagent_containers/chem_disp_cartridge/tonic, + /obj/item/reagent_containers/chem_disp_cartridge/beer, + /obj/item/reagent_containers/chem_disp_cartridge/kahlua, + /obj/item/reagent_containers/chem_disp_cartridge/whiskey, + /obj/item/reagent_containers/chem_disp_cartridge/redwine, + /obj/item/reagent_containers/chem_disp_cartridge/whitewine, + /obj/item/reagent_containers/chem_disp_cartridge/vodka, + /obj/item/reagent_containers/chem_disp_cartridge/gin, + /obj/item/reagent_containers/chem_disp_cartridge/rum, + /obj/item/reagent_containers/chem_disp_cartridge/tequila, + /obj/item/reagent_containers/chem_disp_cartridge/vermouth, + /obj/item/reagent_containers/chem_disp_cartridge/cognac, + /obj/item/reagent_containers/chem_disp_cartridge/cider, + /obj/item/reagent_containers/chem_disp_cartridge/ale, + /obj/item/reagent_containers/chem_disp_cartridge/mead, + /obj/item/reagent_containers/chem_disp_cartridge/bitters ) /obj/machinery/chemical_dispenser/bar_coffee @@ -129,22 +130,56 @@ /obj/machinery/chemical_dispenser/bar_coffee/full spawn_cartridges = list( - /obj/item/weapon/reagent_containers/chem_disp_cartridge/coffee, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/cafe_latte, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/soy_latte, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/hot_coco, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/milk, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/cream, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/sugar, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/tea, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/ice, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/mint, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/orange, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/lemon, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/lime, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/berry, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/greentea, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/decaf, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/chaitea, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/decafchai + /obj/item/reagent_containers/chem_disp_cartridge/coffee, + /obj/item/reagent_containers/chem_disp_cartridge/drip_coffee, + /obj/item/reagent_containers/chem_disp_cartridge/cafe_latte, + /obj/item/reagent_containers/chem_disp_cartridge/soy_latte, + /obj/item/reagent_containers/chem_disp_cartridge/hot_coco, + /obj/item/reagent_containers/chem_disp_cartridge/milk, + /obj/item/reagent_containers/chem_disp_cartridge/cream, + /obj/item/reagent_containers/chem_disp_cartridge/milk_foam, + /obj/item/reagent_containers/chem_disp_cartridge/water, + /obj/item/reagent_containers/chem_disp_cartridge/sugar, + /obj/item/reagent_containers/chem_disp_cartridge/tea, + /obj/item/reagent_containers/chem_disp_cartridge/ice, + /obj/item/reagent_containers/chem_disp_cartridge/mint, + /obj/item/reagent_containers/chem_disp_cartridge/orange, + /obj/item/reagent_containers/chem_disp_cartridge/lemon, + /obj/item/reagent_containers/chem_disp_cartridge/lime, + /obj/item/reagent_containers/chem_disp_cartridge/berry, + /obj/item/reagent_containers/chem_disp_cartridge/greentea, + /obj/item/reagent_containers/chem_disp_cartridge/decaf, + /obj/item/reagent_containers/chem_disp_cartridge/chaitea, + /obj/item/reagent_containers/chem_disp_cartridge/decafchai + ) + +/obj/machinery/chemical_dispenser/bar_syrup + name = "syrup dispenser" + desc = "Allow your customers to test your patience to the extremes." + icon_state = "syrup_dispenser" + ui_title = "Syrup Dispenser" + accept_drinking = 1 + +/obj/machinery/chemical_dispenser/bar_syrup/full + spawn_cartridges = list( + /obj/item/reagent_containers/chem_disp_cartridge/syrup_pumpkin, + /obj/item/reagent_containers/chem_disp_cartridge/syrup_caramel, + /obj/item/reagent_containers/chem_disp_cartridge/syrup_scaramel, + /obj/item/reagent_containers/chem_disp_cartridge/syrup_irish, + /obj/item/reagent_containers/chem_disp_cartridge/syrup_almond, + /obj/item/reagent_containers/chem_disp_cartridge/syrup_cinnamon, + /obj/item/reagent_containers/chem_disp_cartridge/syrup_pistachio, + /obj/item/reagent_containers/chem_disp_cartridge/syrup_vanilla, + /obj/item/reagent_containers/chem_disp_cartridge/syrup_toffee, + /obj/item/reagent_containers/chem_disp_cartridge/syrup_cherry, + /obj/item/reagent_containers/chem_disp_cartridge/grenadine, + /obj/item/reagent_containers/chem_disp_cartridge/syrup_butterscotch, + /obj/item/reagent_containers/chem_disp_cartridge/syrup_chocolate, + /obj/item/reagent_containers/chem_disp_cartridge/syrup_wchocolate, + /obj/item/reagent_containers/chem_disp_cartridge/syrup_strawberry, + /obj/item/reagent_containers/chem_disp_cartridge/syrup_coconut, + /obj/item/reagent_containers/chem_disp_cartridge/syrup_ginger, + /obj/item/reagent_containers/chem_disp_cartridge/syrup_gingerbread, + /obj/item/reagent_containers/chem_disp_cartridge/syrup_peppermint, + /obj/item/reagent_containers/chem_disp_cartridge/syrup_birthday ) diff --git a/code/modules/reagents/machinery/dispenser/dispenser_presets_vr.dm b/code/modules/reagents/machinery/dispenser/dispenser_presets_vr.dm index f03f746d93d..5a09eac7df1 100644 --- a/code/modules/reagents/machinery/dispenser/dispenser_presets_vr.dm +++ b/code/modules/reagents/machinery/dispenser/dispenser_presets_vr.dm @@ -7,15 +7,15 @@ /obj/machinery/chemical_dispenser/xenoflora/full spawn_cartridges = list( - /obj/item/weapon/reagent_containers/chem_disp_cartridge/water, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/sugar, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/ethanol, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/radium, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/ammonia, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/diethylamine, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/plantbgone, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/mutagen, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/calcium + /obj/item/reagent_containers/chem_disp_cartridge/water, + /obj/item/reagent_containers/chem_disp_cartridge/sugar, + /obj/item/reagent_containers/chem_disp_cartridge/ethanol, + /obj/item/reagent_containers/chem_disp_cartridge/radium, + /obj/item/reagent_containers/chem_disp_cartridge/ammonia, + /obj/item/reagent_containers/chem_disp_cartridge/diethylamine, + /obj/item/reagent_containers/chem_disp_cartridge/plantbgone, + /obj/item/reagent_containers/chem_disp_cartridge/mutagen, + /obj/item/reagent_containers/chem_disp_cartridge/calcium ) /obj/machinery/chemical_dispenser/biochemistry @@ -27,43 +27,43 @@ /obj/machinery/chemical_dispenser/biochemistry/full spawn_cartridges = list( - /obj/item/weapon/reagent_containers/chem_disp_cartridge/nutriment, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/protein, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/milk + /obj/item/reagent_containers/chem_disp_cartridge/nutriment, + /obj/item/reagent_containers/chem_disp_cartridge/protein, + /obj/item/reagent_containers/chem_disp_cartridge/milk ) /obj/machinery/chemical_dispenser/ert/specialops spawn_cartridges = list( - /obj/item/weapon/reagent_containers/chem_disp_cartridge/inaprov, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/dylovene, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/ryetalyn, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/tramadol, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/oxycodone, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/sterilizine, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/leporazine, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/kelotane, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/dermaline, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/dexalin, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/dexalin_p, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/synaptizine, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/hyronalin, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/arithrazine, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/alkysine, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/imidazoline, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/peridaxon, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/bicaridine, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/hyperzine, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/rezadone, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/spaceacillin, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/ethylredox, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/carthatoline, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/corophizine, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/myelamine, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/osteodaxon, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/biomass, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/iron, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/nutriment, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/protein + /obj/item/reagent_containers/chem_disp_cartridge/inaprov, + /obj/item/reagent_containers/chem_disp_cartridge/dylovene, + /obj/item/reagent_containers/chem_disp_cartridge/ryetalyn, + /obj/item/reagent_containers/chem_disp_cartridge/tramadol, + /obj/item/reagent_containers/chem_disp_cartridge/oxycodone, + /obj/item/reagent_containers/chem_disp_cartridge/sterilizine, + /obj/item/reagent_containers/chem_disp_cartridge/leporazine, + /obj/item/reagent_containers/chem_disp_cartridge/kelotane, + /obj/item/reagent_containers/chem_disp_cartridge/dermaline, + /obj/item/reagent_containers/chem_disp_cartridge/dexalin, + /obj/item/reagent_containers/chem_disp_cartridge/dexalin_p, + /obj/item/reagent_containers/chem_disp_cartridge/synaptizine, + /obj/item/reagent_containers/chem_disp_cartridge/hyronalin, + /obj/item/reagent_containers/chem_disp_cartridge/arithrazine, + /obj/item/reagent_containers/chem_disp_cartridge/alkysine, + /obj/item/reagent_containers/chem_disp_cartridge/imidazoline, + /obj/item/reagent_containers/chem_disp_cartridge/peridaxon, + /obj/item/reagent_containers/chem_disp_cartridge/bicaridine, + /obj/item/reagent_containers/chem_disp_cartridge/hyperzine, + /obj/item/reagent_containers/chem_disp_cartridge/rezadone, + /obj/item/reagent_containers/chem_disp_cartridge/spaceacillin, + /obj/item/reagent_containers/chem_disp_cartridge/ethylredox, + /obj/item/reagent_containers/chem_disp_cartridge/carthatoline, + /obj/item/reagent_containers/chem_disp_cartridge/corophizine, + /obj/item/reagent_containers/chem_disp_cartridge/myelamine, + /obj/item/reagent_containers/chem_disp_cartridge/osteodaxon, + /obj/item/reagent_containers/chem_disp_cartridge/biomass, + /obj/item/reagent_containers/chem_disp_cartridge/iron, + /obj/item/reagent_containers/chem_disp_cartridge/nutriment, + /obj/item/reagent_containers/chem_disp_cartridge/protein ) /obj/machinery/chemical_dispenser/ert/specialops/abductor diff --git a/code/modules/reagents/machinery/dispenser/reagent_tank.dm b/code/modules/reagents/machinery/dispenser/reagent_tank.dm index 89a97dc9fd4..9e823fb51a2 100644 --- a/code/modules/reagents/machinery/dispenser/reagent_tank.dm +++ b/code/modules/reagents/machinery/dispenser/reagent_tank.dm @@ -1,6 +1,7 @@ /obj/structure/reagent_dispensers name = "Dispenser" desc = "..." + description_info = "The input can be opened by Alt-clicking it, allowing you to pour reagents inside." icon = 'icons/obj/chemical_tanks.dmi' icon_state = "tank" layer = TABLE_LAYER @@ -16,7 +17,9 @@ var/amount_per_transfer_from_this = 10 var/possible_transfer_amounts = list(10,25,50,100) -/obj/structure/reagent_dispensers/attackby(obj/item/weapon/W as obj, mob/user as mob) + var/open_top = FALSE + +/obj/structure/reagent_dispensers/attackby(obj/item/W as obj, mob/user as mob) return /obj/structure/reagent_dispensers/Destroy() @@ -43,12 +46,12 @@ /obj/structure/reagent_dispensers/examine(mob/user) . = ..() if(get_dist(user, src) <= 2) - . += "It contains:" + . += span_notice("It contains:") if(reagents && reagents.reagent_list.len) for(var/datum/reagent/R in reagents.reagent_list) - . += "[R.volume] units of [R.name]" + . += span_notice("[R.volume] units of [R.name]") else - . += "Nothing." + . += span_notice("Nothing.") /obj/structure/reagent_dispensers/verb/set_APTFT() //set amount_per_transfer_from_this set name = "Set transfer amount" @@ -79,6 +82,19 @@ /obj/structure/reagent_dispensers/blob_act() qdel(src) +/obj/structure/reagent_dispensers/AltClick(mob/user) + if(!Adjacent(user)) + return + + if(flags & OPENCONTAINER) + to_chat(user, span_notice("You close the input on \the [src]")) + flags -= OPENCONTAINER + open_top = FALSE + else + to_chat(user, span_notice("You open the input on \the [src], allowing you to pour reagents in.")) + flags |= OPENCONTAINER + open_top = TRUE + /* * Tanks */ @@ -115,7 +131,7 @@ icon_state = "fuel" amount_per_transfer_from_this = 10 var/modded = 0 - var/obj/item/device/assembly_holder/rig = null + var/obj/item/assembly_holder/rig = null /obj/structure/reagent_dispensers/fueltank/Initialize() . = ..() @@ -177,7 +193,7 @@ icon_state = "barrel3" modded = FALSE -/obj/structure/reagent_dispensers/fueltank/barrel/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/structure/reagent_dispensers/fueltank/barrel/attackby(obj/item/W as obj, mob/user as mob) if (W.has_tool_quality(TOOL_WRENCH)) //can't wrench it shut, it's always open return return ..() @@ -187,20 +203,20 @@ . = ..() if(get_dist(user, src) <= 2) if(modded) - . += "Fuel faucet is wrenched open, leaking the fuel!" + . += span_warning("Fuel faucet is wrenched open, leaking the fuel!") if(rig) - . += "There is some kind of device rigged to the tank." + . += span_notice("There is some kind of device rigged to the tank.") /obj/structure/reagent_dispensers/fueltank/attack_hand() if (rig) usr.visible_message("[usr] begins to detach [rig] from \the [src].", "You begin to detach [rig] from \the [src]") if(do_after(usr, 20)) - usr.visible_message("[usr] detaches [rig] from \the [src].", "You detach [rig] from \the [src]") + usr.visible_message(span_notice("[usr] detaches [rig] from \the [src]."), span_notice("You detach [rig] from \the [src]")) rig.loc = get_turf(usr) rig = null overlays = new/list() -/obj/structure/reagent_dispensers/fueltank/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/structure/reagent_dispensers/fueltank/attackby(obj/item/W as obj, mob/user as mob) src.add_fingerprint(user) if (W.has_tool_quality(TOOL_WRENCH)) user.visible_message("[user] wrenches [src]'s faucet [modded ? "closed" : "open"].", \ @@ -211,16 +227,16 @@ message_admins("[key_name_admin(user)] opened fueltank at [loc.loc.name] ([loc.x],[loc.y],[loc.z]), leaking fuel. (JMP)") log_game("[key_name(user)] opened fueltank at [loc.loc.name] ([loc.x],[loc.y],[loc.z]), leaking fuel.") leak_fuel(amount_per_transfer_from_this) - if (istype(W,/obj/item/device/assembly_holder)) + if (istype(W,/obj/item/assembly_holder)) if (rig) - to_chat(user, "There is another device in the way.") + to_chat(user, span_warning("There is another device in the way.")) return ..() user.visible_message("[user] begins rigging [W] to \the [src].", "You begin rigging [W] to \the [src]") if(do_after(user, 20)) - user.visible_message("[user] rigs [W] to \the [src].", "You rig [W] to \the [src]") + user.visible_message(span_notice("[user] rigs [W] to \the [src]."), span_notice("You rig [W] to \the [src]")) - var/obj/item/device/assembly_holder/H = W - if (istype(H.a_left,/obj/item/device/assembly/igniter) || istype(H.a_right,/obj/item/device/assembly/igniter)) + var/obj/item/assembly_holder/H = W + if (istype(H.a_left,/obj/item/assembly/igniter) || istype(H.a_right,/obj/item/assembly/igniter)) message_admins("[key_name_admin(user)] rigged fueltank at [loc.loc.name] ([loc.x],[loc.y],[loc.z]) for explosion. (JMP)") log_game("[key_name(user)] rigged fueltank at [loc.loc.name] ([loc.x],[loc.y],[loc.z]) for explosion.") @@ -340,13 +356,13 @@ /obj/structure/reagent_dispensers/water_cooler/Initialize() . = ..() if(bottle) - reagents.add_reagent("water",120) + reagents.add_reagent("water",2000) update_icon() /obj/structure/reagent_dispensers/water_cooler/examine(mob/user) . = ..() if(cupholder) - . += "There are [cups] cups in the cup dispenser." + . += span_notice("There are [cups] cups in the cup dispenser.") /obj/structure/reagent_dispensers/water_cooler/verb/rotate_clockwise() set name = "Rotate Cooler Clockwise" @@ -378,8 +394,8 @@ if(bottle) playsound(src, I.usesound, 50, 1) if(do_after(user, 20) && bottle) - to_chat(user, "You unfasten the jug.") - var/obj/item/weapon/reagent_containers/glass/cooler_bottle/G = new /obj/item/weapon/reagent_containers/glass/cooler_bottle( src.loc ) + to_chat(user, span_notice("You unfasten the jug.")) + var/obj/item/reagent_containers/glass/cooler_bottle/G = new /obj/item/reagent_containers/glass/cooler_bottle( src.loc ) for(var/datum/reagent/R in reagents.reagent_list) var/total_reagent = reagents.get_reagent_amount(R.id) G.reagents.add_reagent(R.id, total_reagent) @@ -393,7 +409,7 @@ user.visible_message("\The [user] begins securing \the [src] to the floor.", "You start securing \the [src] to the floor.") if(do_after(user, 20 * I.toolspeed, src)) if(!src) return - to_chat(user, "You [anchored? "un" : ""]secured \the [src]!") + to_chat(user, span_notice("You [anchored? "un" : ""]secured \the [src]!")) anchored = !anchored playsound(src, I.usesound, 50, 1) return @@ -401,42 +417,42 @@ if(I.has_tool_quality(TOOL_SCREWDRIVER)) if(cupholder) playsound(src, I.usesound, 50, 1) - to_chat(user, "You take the cup dispenser off.") + to_chat(user, span_notice("You take the cup dispenser off.")) new /obj/item/stack/material/plastic( src.loc ) if(cups) for(var/i = 0 to cups) - new /obj/item/weapon/reagent_containers/food/drinks/sillycup(src.loc) + new /obj/item/reagent_containers/food/drinks/sillycup(src.loc) cups = 0 cupholder = 0 update_icon() return if(!bottle && !cupholder) playsound(src, I.usesound, 50, 1) - to_chat(user, "You start taking the water-cooler apart.") + to_chat(user, span_notice("You start taking the water-cooler apart.")) if(do_after(user, 20 * I.toolspeed) && !bottle && !cupholder) - to_chat(user, "You take the water-cooler apart.") + to_chat(user, span_notice("You take the water-cooler apart.")) new /obj/item/stack/material/plastic( src.loc, 4 ) qdel(src) return - if(istype(I, /obj/item/weapon/reagent_containers/glass/cooler_bottle)) + if(istype(I, /obj/item/reagent_containers/glass/cooler_bottle)) src.add_fingerprint(user) if(!bottle) if(anchored) - var/obj/item/weapon/reagent_containers/glass/cooler_bottle/G = I - to_chat(user, "You start to screw the bottle onto the water-cooler.") + var/obj/item/reagent_containers/glass/cooler_bottle/G = I + to_chat(user, span_notice("You start to screw the bottle onto the water-cooler.")) if(do_after(user, 20) && !bottle && anchored) bottle = 1 update_icon() - to_chat(user, "You screw the bottle onto the water-cooler!") + to_chat(user, span_notice("You screw the bottle onto the water-cooler!")) for(var/datum/reagent/R in G.reagents.reagent_list) var/total_reagent = G.reagents.get_reagent_amount(R.id) reagents.add_reagent(R.id, total_reagent) qdel(G) else - to_chat(user, "You need to wrench down the cooler first.") + to_chat(user, span_warning("You need to wrench down the cooler first.")) else - to_chat(user, "There is already a bottle there!") + to_chat(user, span_warning("There is already a bottle there!")) return 1 if(istype(I, /obj/item/stack/material/plastic)) @@ -444,22 +460,22 @@ if(anchored) var/obj/item/stack/material/plastic/P = I src.add_fingerprint(user) - to_chat(user, "You start to attach a cup dispenser onto the water-cooler.") + to_chat(user, span_notice("You start to attach a cup dispenser onto the water-cooler.")) playsound(src, 'sound/items/Deconstruct.ogg', 50, 1) if(do_after(user, 20) && !cupholder && anchored) if (P.use(1)) - to_chat(user, "You attach a cup dispenser onto the water-cooler.") + to_chat(user, span_notice("You attach a cup dispenser onto the water-cooler.")) cupholder = 1 update_icon() else - to_chat(user, "You need to wrench down the cooler first.") + to_chat(user, span_warning("You need to wrench down the cooler first.")) else - to_chat(user, "There is already a cup dispenser there!") + to_chat(user, span_warning("There is already a cup dispenser there!")) return /obj/structure/reagent_dispensers/water_cooler/attack_hand(mob/user) if(cups) - new /obj/item/weapon/reagent_containers/food/drinks/sillycup(src.loc) + new /obj/item/reagent_containers/food/drinks/sillycup(src.loc) cups-- flick("[icon_state]-vend", src) return @@ -522,7 +538,7 @@ /obj/structure/reagent_dispensers/cookingoil/proc/explode() reagents.splash_area(get_turf(src), 3) - visible_message(span("danger", "The [src] bursts open, spreading oil all over the area.")) + visible_message(span_danger("The [src] bursts open, spreading oil all over the area.")) qdel(src) /obj/structure/reagent_dispensers/bloodbarrel diff --git a/code/modules/reagents/machinery/dispenser/supply.dm b/code/modules/reagents/machinery/dispenser/supply.dm index 30e900993ef..e13cca8c129 100644 --- a/code/modules/reagents/machinery/dispenser/supply.dm +++ b/code/modules/reagents/machinery/dispenser/supply.dm @@ -38,32 +38,42 @@ containername = "coffee dispenser crate" group = "Reagents" +/datum/supply_pack/syrup_dispenser + name = "Syrup dispenser" + contains = list( + /obj/machinery/chemical_dispenser/bar_syrup{anchored = FALSE} + ) + cost = 25 + containertype = /obj/structure/largecrate + containername = "Syrup dispenser crate" + group = "Reagents" + /datum/supply_pack/reagents name = "Chemistry dispenser refill" contains = list( - /obj/item/weapon/reagent_containers/chem_disp_cartridge/hydrogen, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/lithium, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/carbon, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/nitrogen, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/oxygen, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/fluorine, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/sodium, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/aluminum, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/silicon, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/phosphorus, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/sulfur, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/chlorine, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/potassium, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/iron, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/copper, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/mercury, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/radium, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/water, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/ethanol, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/sugar, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/sacid, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/tungsten, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/calcium + /obj/item/reagent_containers/chem_disp_cartridge/hydrogen, + /obj/item/reagent_containers/chem_disp_cartridge/lithium, + /obj/item/reagent_containers/chem_disp_cartridge/carbon, + /obj/item/reagent_containers/chem_disp_cartridge/nitrogen, + /obj/item/reagent_containers/chem_disp_cartridge/oxygen, + /obj/item/reagent_containers/chem_disp_cartridge/fluorine, + /obj/item/reagent_containers/chem_disp_cartridge/sodium, + /obj/item/reagent_containers/chem_disp_cartridge/aluminum, + /obj/item/reagent_containers/chem_disp_cartridge/silicon, + /obj/item/reagent_containers/chem_disp_cartridge/phosphorus, + /obj/item/reagent_containers/chem_disp_cartridge/sulfur, + /obj/item/reagent_containers/chem_disp_cartridge/chlorine, + /obj/item/reagent_containers/chem_disp_cartridge/potassium, + /obj/item/reagent_containers/chem_disp_cartridge/iron, + /obj/item/reagent_containers/chem_disp_cartridge/copper, + /obj/item/reagent_containers/chem_disp_cartridge/mercury, + /obj/item/reagent_containers/chem_disp_cartridge/radium, + /obj/item/reagent_containers/chem_disp_cartridge/water, + /obj/item/reagent_containers/chem_disp_cartridge/ethanol, + /obj/item/reagent_containers/chem_disp_cartridge/sugar, + /obj/item/reagent_containers/chem_disp_cartridge/sacid, + /obj/item/reagent_containers/chem_disp_cartridge/tungsten, + /obj/item/reagent_containers/chem_disp_cartridge/calcium ) cost = 150 containertype = /obj/structure/closet/crate/secure @@ -74,27 +84,27 @@ /datum/supply_pack/alcohol_reagents name = "Bar alcoholic dispenser refill" contains = list( - /obj/item/weapon/reagent_containers/chem_disp_cartridge/lemon_lime, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/sugar, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/orange, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/lime, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/sodawater, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/tonic, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/beer, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/kahlua, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/whiskey, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/redwine, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/whitewine, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/vodka, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/gin, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/rum, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/tequila, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/vermouth, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/cognac, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/cider, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/ale, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/mead, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/bitters + /obj/item/reagent_containers/chem_disp_cartridge/lemon_lime, + /obj/item/reagent_containers/chem_disp_cartridge/sugar, + /obj/item/reagent_containers/chem_disp_cartridge/orange, + /obj/item/reagent_containers/chem_disp_cartridge/lime, + /obj/item/reagent_containers/chem_disp_cartridge/sodawater, + /obj/item/reagent_containers/chem_disp_cartridge/tonic, + /obj/item/reagent_containers/chem_disp_cartridge/beer, + /obj/item/reagent_containers/chem_disp_cartridge/kahlua, + /obj/item/reagent_containers/chem_disp_cartridge/whiskey, + /obj/item/reagent_containers/chem_disp_cartridge/redwine, + /obj/item/reagent_containers/chem_disp_cartridge/whitewine, + /obj/item/reagent_containers/chem_disp_cartridge/vodka, + /obj/item/reagent_containers/chem_disp_cartridge/gin, + /obj/item/reagent_containers/chem_disp_cartridge/rum, + /obj/item/reagent_containers/chem_disp_cartridge/tequila, + /obj/item/reagent_containers/chem_disp_cartridge/vermouth, + /obj/item/reagent_containers/chem_disp_cartridge/cognac, + /obj/item/reagent_containers/chem_disp_cartridge/cider, + /obj/item/reagent_containers/chem_disp_cartridge/ale, + /obj/item/reagent_containers/chem_disp_cartridge/mead, + /obj/item/reagent_containers/chem_disp_cartridge/bitters ) cost = 50 containertype = /obj/structure/closet/crate/secure @@ -105,25 +115,26 @@ /datum/supply_pack/softdrink_reagents name = "Bar soft drink dispenser refill" contains = list( - /obj/item/weapon/reagent_containers/chem_disp_cartridge/water, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/ice, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/coffee, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/cream, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/tea, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/icetea, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/cola, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/smw, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/dr_gibb, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/spaceup, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/tonic, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/sodawater, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/lemon_lime, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/sugar, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/orange, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/lime, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/watermelon, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/lemon, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/grapesoda + /obj/item/reagent_containers/chem_disp_cartridge/water, + /obj/item/reagent_containers/chem_disp_cartridge/ice, + /obj/item/reagent_containers/chem_disp_cartridge/coffee, + /obj/item/reagent_containers/chem_disp_cartridge/cream, + /obj/item/reagent_containers/chem_disp_cartridge/tea, + /obj/item/reagent_containers/chem_disp_cartridge/icetea, + /obj/item/reagent_containers/chem_disp_cartridge/cola, + /obj/item/reagent_containers/chem_disp_cartridge/smw, + /obj/item/reagent_containers/chem_disp_cartridge/dr_gibb, + /obj/item/reagent_containers/chem_disp_cartridge/spaceup, + /obj/item/reagent_containers/chem_disp_cartridge/tonic, + /obj/item/reagent_containers/chem_disp_cartridge/sodawater, + /obj/item/reagent_containers/chem_disp_cartridge/lemon_lime, + /obj/item/reagent_containers/chem_disp_cartridge/sugar, + /obj/item/reagent_containers/chem_disp_cartridge/orange, + /obj/item/reagent_containers/chem_disp_cartridge/lime, + /obj/item/reagent_containers/chem_disp_cartridge/watermelon, + /obj/item/reagent_containers/chem_disp_cartridge/lemon, + /obj/item/reagent_containers/chem_disp_cartridge/grapesoda, + /obj/item/reagent_containers/chem_disp_cartridge/pineapple ) cost = 50 containertype = /obj/structure/closet/crate @@ -133,41 +144,75 @@ /datum/supply_pack/coffee_reagents name = "Coffee machine dispenser refill" contains = list( - /obj/item/weapon/reagent_containers/chem_disp_cartridge/coffee, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/cafe_latte, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/soy_latte, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/hot_coco, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/milk, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/cream, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/sugar, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/tea, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/ice, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/mint, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/orange, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/lemon, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/lime, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/berry, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/greentea, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/decaf + /obj/item/reagent_containers/chem_disp_cartridge/coffee, + /obj/item/reagent_containers/chem_disp_cartridge/drip_coffee, + /obj/item/reagent_containers/chem_disp_cartridge/cafe_latte, + /obj/item/reagent_containers/chem_disp_cartridge/soy_latte, + /obj/item/reagent_containers/chem_disp_cartridge/hot_coco, + /obj/item/reagent_containers/chem_disp_cartridge/milk, + /obj/item/reagent_containers/chem_disp_cartridge/cream, + /obj/item/reagent_containers/chem_disp_cartridge/milk_foam, + /obj/item/reagent_containers/chem_disp_cartridge/water, + /obj/item/reagent_containers/chem_disp_cartridge/sugar, + /obj/item/reagent_containers/chem_disp_cartridge/tea, + /obj/item/reagent_containers/chem_disp_cartridge/ice, + /obj/item/reagent_containers/chem_disp_cartridge/mint, + /obj/item/reagent_containers/chem_disp_cartridge/orange, + /obj/item/reagent_containers/chem_disp_cartridge/lemon, + /obj/item/reagent_containers/chem_disp_cartridge/lime, + /obj/item/reagent_containers/chem_disp_cartridge/berry, + /obj/item/reagent_containers/chem_disp_cartridge/greentea, + /obj/item/reagent_containers/chem_disp_cartridge/decaf, + /obj/item/reagent_containers/chem_disp_cartridge/chaitea, + /obj/item/reagent_containers/chem_disp_cartridge/decafchai ) cost = 50 containertype = /obj/structure/closet/crate containername = "coffee drinks crate" group = "Reagents" +/datum/supply_pack/syrup_reagents + name = "Syrup machine dispenser refill" + contains = list( + /obj/item/reagent_containers/chem_disp_cartridge/syrup_pumpkin, + /obj/item/reagent_containers/chem_disp_cartridge/syrup_caramel, + /obj/item/reagent_containers/chem_disp_cartridge/syrup_scaramel, + /obj/item/reagent_containers/chem_disp_cartridge/syrup_irish, + /obj/item/reagent_containers/chem_disp_cartridge/syrup_almond, + /obj/item/reagent_containers/chem_disp_cartridge/syrup_cinnamon, + /obj/item/reagent_containers/chem_disp_cartridge/syrup_pistachio, + /obj/item/reagent_containers/chem_disp_cartridge/syrup_vanilla, + /obj/item/reagent_containers/chem_disp_cartridge/syrup_toffee, + /obj/item/reagent_containers/chem_disp_cartridge/syrup_cherry, + /obj/item/reagent_containers/chem_disp_cartridge/grenadine, + /obj/item/reagent_containers/chem_disp_cartridge/syrup_butterscotch, + /obj/item/reagent_containers/chem_disp_cartridge/syrup_chocolate, + /obj/item/reagent_containers/chem_disp_cartridge/syrup_wchocolate, + /obj/item/reagent_containers/chem_disp_cartridge/syrup_strawberry, + /obj/item/reagent_containers/chem_disp_cartridge/syrup_coconut, + /obj/item/reagent_containers/chem_disp_cartridge/syrup_ginger, + /obj/item/reagent_containers/chem_disp_cartridge/syrup_gingerbread, + /obj/item/reagent_containers/chem_disp_cartridge/syrup_peppermint, + /obj/item/reagent_containers/chem_disp_cartridge/syrup_birthday + ) + cost = 50 + containertype = /obj/structure/closet/crate + containername = "Syrup crate" + group = "Reagents" + /datum/supply_pack/dispenser_cartridges name = "Empty dispenser cartridges" contains = list( - /obj/item/weapon/reagent_containers/chem_disp_cartridge, - /obj/item/weapon/reagent_containers/chem_disp_cartridge, - /obj/item/weapon/reagent_containers/chem_disp_cartridge, - /obj/item/weapon/reagent_containers/chem_disp_cartridge, - /obj/item/weapon/reagent_containers/chem_disp_cartridge, - /obj/item/weapon/reagent_containers/chem_disp_cartridge, - /obj/item/weapon/reagent_containers/chem_disp_cartridge, - /obj/item/weapon/reagent_containers/chem_disp_cartridge, - /obj/item/weapon/reagent_containers/chem_disp_cartridge, - /obj/item/weapon/reagent_containers/chem_disp_cartridge + /obj/item/reagent_containers/chem_disp_cartridge, + /obj/item/reagent_containers/chem_disp_cartridge, + /obj/item/reagent_containers/chem_disp_cartridge, + /obj/item/reagent_containers/chem_disp_cartridge, + /obj/item/reagent_containers/chem_disp_cartridge, + /obj/item/reagent_containers/chem_disp_cartridge, + /obj/item/reagent_containers/chem_disp_cartridge, + /obj/item/reagent_containers/chem_disp_cartridge, + /obj/item/reagent_containers/chem_disp_cartridge, + /obj/item/reagent_containers/chem_disp_cartridge ) cost = 15 containertype = /obj/structure/closet/crate @@ -196,68 +241,68 @@ // Chemistry-restricted (raw reagents excluding sugar/water) // Datum path Contents type Supply pack name Container name Cost Container access -SEC_PACK(hydrogen, /obj/item/weapon/reagent_containers/chem_disp_cartridge/hydrogen, "Reagent refill - Hydrogen", "hydrogen reagent cartridge crate", 15, access_chemistry) -SEC_PACK(lithium, /obj/item/weapon/reagent_containers/chem_disp_cartridge/lithium, "Reagent refill - Lithium", "lithium reagent cartridge crate", 15, access_chemistry) -SEC_PACK(carbon, /obj/item/weapon/reagent_containers/chem_disp_cartridge/carbon, "Reagent refill - Carbon", "carbon reagent cartridge crate", 15, access_chemistry) -SEC_PACK(nitrogen, /obj/item/weapon/reagent_containers/chem_disp_cartridge/nitrogen, "Reagent refill - Nitrogen", "nitrogen reagent cartridge crate", 15, access_chemistry) -SEC_PACK(oxygen, /obj/item/weapon/reagent_containers/chem_disp_cartridge/oxygen, "Reagent refill - Oxygen", "oxygen reagent cartridge crate", 15, access_chemistry) -SEC_PACK(fluorine, /obj/item/weapon/reagent_containers/chem_disp_cartridge/fluorine, "Reagent refill - Fluorine", "fluorine reagent cartridge crate", 15, access_chemistry) -SEC_PACK(sodium, /obj/item/weapon/reagent_containers/chem_disp_cartridge/sodium, "Reagent refill - Sodium", "sodium reagent cartridge crate", 15, access_chemistry) -SEC_PACK(aluminium, /obj/item/weapon/reagent_containers/chem_disp_cartridge/aluminum, "Reagent refill - Aluminum", "aluminum reagent cartridge crate", 15, access_chemistry) -SEC_PACK(silicon, /obj/item/weapon/reagent_containers/chem_disp_cartridge/silicon, "Reagent refill - Silicon", "silicon reagent cartridge crate", 15, access_chemistry) -SEC_PACK(phosphorus,/obj/item/weapon/reagent_containers/chem_disp_cartridge/phosphorus, "Reagent refill - Phosphorus", "phosphorus reagent cartridge crate", 15, access_chemistry) -SEC_PACK(sulfur, /obj/item/weapon/reagent_containers/chem_disp_cartridge/sulfur, "Reagent refill - Sulfur", "sulfur reagent cartridge crate", 15, access_chemistry) -SEC_PACK(chlorine, /obj/item/weapon/reagent_containers/chem_disp_cartridge/chlorine, "Reagent refill - Chlorine", "chlorine reagent cartridge crate", 15, access_chemistry) -SEC_PACK(potassium, /obj/item/weapon/reagent_containers/chem_disp_cartridge/potassium, "Reagent refill - Potassium", "potassium reagent cartridge crate", 15, access_chemistry) -SEC_PACK(iron, /obj/item/weapon/reagent_containers/chem_disp_cartridge/iron, "Reagent refill - Iron", "iron reagent cartridge crate", 15, access_chemistry) -SEC_PACK(copper, /obj/item/weapon/reagent_containers/chem_disp_cartridge/copper, "Reagent refill - Copper", "copper reagent cartridge crate", 15, access_chemistry) -SEC_PACK(mercury, /obj/item/weapon/reagent_containers/chem_disp_cartridge/mercury, "Reagent refill - Mercury", "mercury reagent cartridge crate", 15, access_chemistry) -SEC_PACK(radium, /obj/item/weapon/reagent_containers/chem_disp_cartridge/radium, "Reagent refill - Radium", "radium reagent cartridge crate", 15, access_chemistry) -SEC_PACK(ethanol, /obj/item/weapon/reagent_containers/chem_disp_cartridge/ethanol, "Reagent refill - Ethanol", "ethanol reagent cartridge crate", 15, access_chemistry) -SEC_PACK(sacid, /obj/item/weapon/reagent_containers/chem_disp_cartridge/sacid, "Reagent refill - Sulfuric Acid", "sulfuric acid reagent cartridge crate", 15, access_chemistry) -SEC_PACK(tungsten, /obj/item/weapon/reagent_containers/chem_disp_cartridge/tungsten, "Reagent refill - Tungsten", "tungsten reagent cartridge crate", 15, access_chemistry) -SEC_PACK(calcium, /obj/item/weapon/reagent_containers/chem_disp_cartridge/calcium, "Reagent refill - Calcium", "calcium reagent cartridge crate", 15, access_chemistry) +SEC_PACK(hydrogen, /obj/item/reagent_containers/chem_disp_cartridge/hydrogen, "Reagent refill - Hydrogen", "hydrogen reagent cartridge crate", 15, access_chemistry) +SEC_PACK(lithium, /obj/item/reagent_containers/chem_disp_cartridge/lithium, "Reagent refill - Lithium", "lithium reagent cartridge crate", 15, access_chemistry) +SEC_PACK(carbon, /obj/item/reagent_containers/chem_disp_cartridge/carbon, "Reagent refill - Carbon", "carbon reagent cartridge crate", 15, access_chemistry) +SEC_PACK(nitrogen, /obj/item/reagent_containers/chem_disp_cartridge/nitrogen, "Reagent refill - Nitrogen", "nitrogen reagent cartridge crate", 15, access_chemistry) +SEC_PACK(oxygen, /obj/item/reagent_containers/chem_disp_cartridge/oxygen, "Reagent refill - Oxygen", "oxygen reagent cartridge crate", 15, access_chemistry) +SEC_PACK(fluorine, /obj/item/reagent_containers/chem_disp_cartridge/fluorine, "Reagent refill - Fluorine", "fluorine reagent cartridge crate", 15, access_chemistry) +SEC_PACK(sodium, /obj/item/reagent_containers/chem_disp_cartridge/sodium, "Reagent refill - Sodium", "sodium reagent cartridge crate", 15, access_chemistry) +SEC_PACK(aluminium, /obj/item/reagent_containers/chem_disp_cartridge/aluminum, "Reagent refill - Aluminum", "aluminum reagent cartridge crate", 15, access_chemistry) +SEC_PACK(silicon, /obj/item/reagent_containers/chem_disp_cartridge/silicon, "Reagent refill - Silicon", "silicon reagent cartridge crate", 15, access_chemistry) +SEC_PACK(phosphorus,/obj/item/reagent_containers/chem_disp_cartridge/phosphorus, "Reagent refill - Phosphorus", "phosphorus reagent cartridge crate", 15, access_chemistry) +SEC_PACK(sulfur, /obj/item/reagent_containers/chem_disp_cartridge/sulfur, "Reagent refill - Sulfur", "sulfur reagent cartridge crate", 15, access_chemistry) +SEC_PACK(chlorine, /obj/item/reagent_containers/chem_disp_cartridge/chlorine, "Reagent refill - Chlorine", "chlorine reagent cartridge crate", 15, access_chemistry) +SEC_PACK(potassium, /obj/item/reagent_containers/chem_disp_cartridge/potassium, "Reagent refill - Potassium", "potassium reagent cartridge crate", 15, access_chemistry) +SEC_PACK(iron, /obj/item/reagent_containers/chem_disp_cartridge/iron, "Reagent refill - Iron", "iron reagent cartridge crate", 15, access_chemistry) +SEC_PACK(copper, /obj/item/reagent_containers/chem_disp_cartridge/copper, "Reagent refill - Copper", "copper reagent cartridge crate", 15, access_chemistry) +SEC_PACK(mercury, /obj/item/reagent_containers/chem_disp_cartridge/mercury, "Reagent refill - Mercury", "mercury reagent cartridge crate", 15, access_chemistry) +SEC_PACK(radium, /obj/item/reagent_containers/chem_disp_cartridge/radium, "Reagent refill - Radium", "radium reagent cartridge crate", 15, access_chemistry) +SEC_PACK(ethanol, /obj/item/reagent_containers/chem_disp_cartridge/ethanol, "Reagent refill - Ethanol", "ethanol reagent cartridge crate", 15, access_chemistry) +SEC_PACK(sacid, /obj/item/reagent_containers/chem_disp_cartridge/sacid, "Reagent refill - Sulfuric Acid", "sulfuric acid reagent cartridge crate", 15, access_chemistry) +SEC_PACK(tungsten, /obj/item/reagent_containers/chem_disp_cartridge/tungsten, "Reagent refill - Tungsten", "tungsten reagent cartridge crate", 15, access_chemistry) +SEC_PACK(calcium, /obj/item/reagent_containers/chem_disp_cartridge/calcium, "Reagent refill - Calcium", "calcium reagent cartridge crate", 15, access_chemistry) // Bar-restricted (alcoholic drinks) // Datum path Contents type Supply pack name Container name Cost Container access -SEC_PACK(beer, /obj/item/weapon/reagent_containers/chem_disp_cartridge/beer, "Reagent refill - Beer", "beer reagent cartridge crate", 15, access_bar) -SEC_PACK(kahlua, /obj/item/weapon/reagent_containers/chem_disp_cartridge/kahlua, "Reagent refill - Kahlua", "kahlua reagent cartridge crate", 15, access_bar) -SEC_PACK(whiskey, /obj/item/weapon/reagent_containers/chem_disp_cartridge/whiskey, "Reagent refill - Whiskey", "whiskey reagent cartridge crate", 15, access_bar) -SEC_PACK(rwine, /obj/item/weapon/reagent_containers/chem_disp_cartridge/redwine, "Reagent refill - Red Wine", "red wine reagent cartridge crate", 15, access_bar) -SEC_PACK(wwine, /obj/item/weapon/reagent_containers/chem_disp_cartridge/whitewine, "Reagent refill - White Wine", "white wine reagent cartridge crate", 15, access_bar) -SEC_PACK(vodka, /obj/item/weapon/reagent_containers/chem_disp_cartridge/vodka, "Reagent refill - Vodka", "vodka reagent cartridge crate", 15, access_bar) -SEC_PACK(gin, /obj/item/weapon/reagent_containers/chem_disp_cartridge/gin, "Reagent refill - Gin", "gin reagent cartridge crate", 15, access_bar) -SEC_PACK(rum, /obj/item/weapon/reagent_containers/chem_disp_cartridge/rum, "Reagent refill - Rum", "rum reagent cartridge crate", 15, access_bar) -SEC_PACK(tequila, /obj/item/weapon/reagent_containers/chem_disp_cartridge/tequila, "Reagent refill - Tequila", "tequila reagent cartridge crate", 15, access_bar) -SEC_PACK(vermouth, /obj/item/weapon/reagent_containers/chem_disp_cartridge/vermouth, "Reagent refill - Vermouth", "vermouth reagent cartridge crate", 15, access_bar) -SEC_PACK(cognac, /obj/item/weapon/reagent_containers/chem_disp_cartridge/cognac, "Reagent refill - Cognac", "cognac reagent cartridge crate", 15, access_bar) -SEC_PACK(ale, /obj/item/weapon/reagent_containers/chem_disp_cartridge/ale, "Reagent refill - Ale", "ale reagent cartridge crate", 15, access_bar) -SEC_PACK(mead, /obj/item/weapon/reagent_containers/chem_disp_cartridge/mead, "Reagent refill - Mead", "mead reagent cartridge crate", 15, access_bar) +SEC_PACK(beer, /obj/item/reagent_containers/chem_disp_cartridge/beer, "Reagent refill - Beer", "beer reagent cartridge crate", 15, access_bar) +SEC_PACK(kahlua, /obj/item/reagent_containers/chem_disp_cartridge/kahlua, "Reagent refill - Kahlua", "kahlua reagent cartridge crate", 15, access_bar) +SEC_PACK(whiskey, /obj/item/reagent_containers/chem_disp_cartridge/whiskey, "Reagent refill - Whiskey", "whiskey reagent cartridge crate", 15, access_bar) +SEC_PACK(rwine, /obj/item/reagent_containers/chem_disp_cartridge/redwine, "Reagent refill - Red Wine", "red wine reagent cartridge crate", 15, access_bar) +SEC_PACK(wwine, /obj/item/reagent_containers/chem_disp_cartridge/whitewine, "Reagent refill - White Wine", "white wine reagent cartridge crate", 15, access_bar) +SEC_PACK(vodka, /obj/item/reagent_containers/chem_disp_cartridge/vodka, "Reagent refill - Vodka", "vodka reagent cartridge crate", 15, access_bar) +SEC_PACK(gin, /obj/item/reagent_containers/chem_disp_cartridge/gin, "Reagent refill - Gin", "gin reagent cartridge crate", 15, access_bar) +SEC_PACK(rum, /obj/item/reagent_containers/chem_disp_cartridge/rum, "Reagent refill - Rum", "rum reagent cartridge crate", 15, access_bar) +SEC_PACK(tequila, /obj/item/reagent_containers/chem_disp_cartridge/tequila, "Reagent refill - Tequila", "tequila reagent cartridge crate", 15, access_bar) +SEC_PACK(vermouth, /obj/item/reagent_containers/chem_disp_cartridge/vermouth, "Reagent refill - Vermouth", "vermouth reagent cartridge crate", 15, access_bar) +SEC_PACK(cognac, /obj/item/reagent_containers/chem_disp_cartridge/cognac, "Reagent refill - Cognac", "cognac reagent cartridge crate", 15, access_bar) +SEC_PACK(ale, /obj/item/reagent_containers/chem_disp_cartridge/ale, "Reagent refill - Ale", "ale reagent cartridge crate", 15, access_bar) +SEC_PACK(mead, /obj/item/reagent_containers/chem_disp_cartridge/mead, "Reagent refill - Mead", "mead reagent cartridge crate", 15, access_bar) // Unrestricted (water, sugar, non-alcoholic drinks) // Datum path Contents type Supply pack name Container name Cost -PACK(water, /obj/item/weapon/reagent_containers/chem_disp_cartridge/water, "Reagent refill - Water", "water reagent cartridge crate", 15) -PACK(sugar, /obj/item/weapon/reagent_containers/chem_disp_cartridge/sugar, "Reagent refill - Sugar", "sugar reagent cartridge crate", 15) -PACK(ice, /obj/item/weapon/reagent_containers/chem_disp_cartridge/ice, "Reagent refill - Ice", "ice reagent cartridge crate", 15) -PACK(tea, /obj/item/weapon/reagent_containers/chem_disp_cartridge/tea, "Reagent refill - Tea", "tea reagent cartridge crate", 15) -PACK(icetea, /obj/item/weapon/reagent_containers/chem_disp_cartridge/icetea, "Reagent refill - Iced Tea", "iced tea reagent cartridge crate", 15) -PACK(cola, /obj/item/weapon/reagent_containers/chem_disp_cartridge/cola, "Reagent refill - Space Cola", "\improper Space Cola reagent cartridge crate", 15) -PACK(smw, /obj/item/weapon/reagent_containers/chem_disp_cartridge/smw, "Reagent refill - Space Mountain Wind", "\improper Space Mountain Wind reagent cartridge crate", 15) -PACK(dr_gibb, /obj/item/weapon/reagent_containers/chem_disp_cartridge/dr_gibb, "Reagent refill - Dr. Gibb", "\improper Dr. Gibb reagent cartridge crate", 15) -PACK(spaceup, /obj/item/weapon/reagent_containers/chem_disp_cartridge/spaceup, "Reagent refill - Space-Up", "\improper Space-Up reagent cartridge crate", 15) -PACK(tonic, /obj/item/weapon/reagent_containers/chem_disp_cartridge/tonic, "Reagent refill - Tonic Water", "tonic water reagent cartridge crate", 15) -PACK(sodawater, /obj/item/weapon/reagent_containers/chem_disp_cartridge/sodawater, "Reagent refill - Soda Water", "soda water reagent cartridge crate", 15) -PACK(lemon_lime, /obj/item/weapon/reagent_containers/chem_disp_cartridge/lemon_lime, "Reagent refill - Lemon-Lime Juice", "lemon-lime juice reagent cartridge crate", 15) -PACK(orange, /obj/item/weapon/reagent_containers/chem_disp_cartridge/orange, "Reagent refill - Orange Juice", "orange juice reagent cartridge crate", 15) -PACK(lime, /obj/item/weapon/reagent_containers/chem_disp_cartridge/lime, "Reagent refill - Lime Juice", "lime juice reagent cartridge crate", 15) -PACK(lemon, /obj/item/weapon/reagent_containers/chem_disp_cartridge/lemon, "Reagent refill - Lemon Juice", "lemon juice reagent cartridge crate", 15) -PACK(watermelon, /obj/item/weapon/reagent_containers/chem_disp_cartridge/watermelon, "Reagent refill - Watermelon Juice", "watermelon juice reagent cartridge crate", 15) -PACK(coffee, /obj/item/weapon/reagent_containers/chem_disp_cartridge/coffee, "Reagent refill - Coffee", "coffee reagent cartridge crate", 15) -PACK(cafe_latte, /obj/item/weapon/reagent_containers/chem_disp_cartridge/cafe_latte, "Reagent refill - Cafe Latte", "cafe latte reagent cartridge crate", 15) -PACK(soy_latte, /obj/item/weapon/reagent_containers/chem_disp_cartridge/soy_latte, "Reagent refill - Soy Latte", "soy latte reagent cartridge crate", 15) -PACK(hot_coco, /obj/item/weapon/reagent_containers/chem_disp_cartridge/hot_coco, "Reagent refill - Hot Coco", "hot coco reagent cartridge crate", 15) -PACK(milk, /obj/item/weapon/reagent_containers/chem_disp_cartridge/milk, "Reagent refill - Milk", "milk reagent cartridge crate", 15) -PACK(cream, /obj/item/weapon/reagent_containers/chem_disp_cartridge/cream, "Reagent refill - Cream", "cream reagent cartridge crate", 15) +PACK(water, /obj/item/reagent_containers/chem_disp_cartridge/water, "Reagent refill - Water", "water reagent cartridge crate", 15) +PACK(sugar, /obj/item/reagent_containers/chem_disp_cartridge/sugar, "Reagent refill - Sugar", "sugar reagent cartridge crate", 15) +PACK(ice, /obj/item/reagent_containers/chem_disp_cartridge/ice, "Reagent refill - Ice", "ice reagent cartridge crate", 15) +PACK(tea, /obj/item/reagent_containers/chem_disp_cartridge/tea, "Reagent refill - Tea", "tea reagent cartridge crate", 15) +PACK(icetea, /obj/item/reagent_containers/chem_disp_cartridge/icetea, "Reagent refill - Iced Tea", "iced tea reagent cartridge crate", 15) +PACK(cola, /obj/item/reagent_containers/chem_disp_cartridge/cola, "Reagent refill - Space Cola", "\improper Space Cola reagent cartridge crate", 15) +PACK(smw, /obj/item/reagent_containers/chem_disp_cartridge/smw, "Reagent refill - Space Mountain Wind", "\improper Space Mountain Wind reagent cartridge crate", 15) +PACK(dr_gibb, /obj/item/reagent_containers/chem_disp_cartridge/dr_gibb, "Reagent refill - Dr. Gibb", "\improper Dr. Gibb reagent cartridge crate", 15) +PACK(spaceup, /obj/item/reagent_containers/chem_disp_cartridge/spaceup, "Reagent refill - Space-Up", "\improper Space-Up reagent cartridge crate", 15) +PACK(tonic, /obj/item/reagent_containers/chem_disp_cartridge/tonic, "Reagent refill - Tonic Water", "tonic water reagent cartridge crate", 15) +PACK(sodawater, /obj/item/reagent_containers/chem_disp_cartridge/sodawater, "Reagent refill - Soda Water", "soda water reagent cartridge crate", 15) +PACK(lemon_lime, /obj/item/reagent_containers/chem_disp_cartridge/lemon_lime, "Reagent refill - Lemon-Lime Juice", "lemon-lime juice reagent cartridge crate", 15) +PACK(orange, /obj/item/reagent_containers/chem_disp_cartridge/orange, "Reagent refill - Orange Juice", "orange juice reagent cartridge crate", 15) +PACK(lime, /obj/item/reagent_containers/chem_disp_cartridge/lime, "Reagent refill - Lime Juice", "lime juice reagent cartridge crate", 15) +PACK(lemon, /obj/item/reagent_containers/chem_disp_cartridge/lemon, "Reagent refill - Lemon Juice", "lemon juice reagent cartridge crate", 15) +PACK(watermelon, /obj/item/reagent_containers/chem_disp_cartridge/watermelon, "Reagent refill - Watermelon Juice", "watermelon juice reagent cartridge crate", 15) +PACK(coffee, /obj/item/reagent_containers/chem_disp_cartridge/coffee, "Reagent refill - Coffee", "coffee reagent cartridge crate", 15) +PACK(cafe_latte, /obj/item/reagent_containers/chem_disp_cartridge/cafe_latte, "Reagent refill - Cafe Latte", "cafe latte reagent cartridge crate", 15) +PACK(soy_latte, /obj/item/reagent_containers/chem_disp_cartridge/soy_latte, "Reagent refill - Soy Latte", "soy latte reagent cartridge crate", 15) +PACK(hot_coco, /obj/item/reagent_containers/chem_disp_cartridge/hot_coco, "Reagent refill - Hot Coco", "hot coco reagent cartridge crate", 15) +PACK(milk, /obj/item/reagent_containers/chem_disp_cartridge/milk, "Reagent refill - Milk", "milk reagent cartridge crate", 15) +PACK(cream, /obj/item/reagent_containers/chem_disp_cartridge/cream, "Reagent refill - Cream", "cream reagent cartridge crate", 15) #undef SEC_PACK #undef PACK diff --git a/code/modules/reagents/machinery/distillery.dm b/code/modules/reagents/machinery/distillery.dm index 1ae9e335c6c..f2594b8b46b 100644 --- a/code/modules/reagents/machinery/distillery.dm +++ b/code/modules/reagents/machinery/distillery.dm @@ -53,8 +53,8 @@ var/image/overlay_dumping var/image/overlay_connected - var/obj/item/weapon/reagent_containers/glass/InputBeaker - var/obj/item/weapon/reagent_containers/glass/OutputBeaker + var/obj/item/reagent_containers/glass/InputBeaker + var/obj/item/reagent_containers/glass/OutputBeaker // A multiplier for the production amount. This should really only ever be lower than one, otherwise you end up with duping. var/efficiency = 1 @@ -73,7 +73,7 @@ /obj/machinery/portable_atmospherics/powered/reagent_distillery/RefreshParts() var/total_laser_rating = 0 - for(var/obj/item/weapon/stock_parts/micro_laser/ML in component_parts) + for(var/obj/item/stock_parts/micro_laser/ML in component_parts) total_laser_rating += ML.rating max_temp = initial(max_temp) + (50 * (total_laser_rating - 1)) @@ -104,29 +104,29 @@ /obj/machinery/portable_atmospherics/powered/reagent_distillery/examine(mob/user) . = ..() if(get_dist(user, src) <= 2) - . += "\The [src] is powered [on ? "on" : "off"]." + . += span_notice("\The [src] is powered [on ? "on" : "off"].") - . += "\The [src]'s gauges read:" + . += span_notice("\The [src]'s gauges read:") if(!use_atmos) - . += "- Target Temperature: [target_temp]" - . += "- Temperature: [current_temp]" + . += span_notice("- Target Temperature:") + span_warning("[target_temp]") + . += span_notice("- Temperature:") + span_warning("[current_temp]") if(InputBeaker) if(InputBeaker.reagents.reagent_list.len) - . += "\The [src]'s input beaker holds [InputBeaker.reagents.total_volume] units of liquid." + . += span_notice("\The [src]'s input beaker holds [InputBeaker.reagents.total_volume] units of liquid.") else - . += "\The [src]'s input beaker is empty!" + . += span_notice("\The [src]'s input beaker is empty!") if(reagents.reagent_list.len) - . += "\The [src]'s internal buffer holds [reagents.total_volume] units of liquid." + . += span_notice("\The [src]'s internal buffer holds [reagents.total_volume] units of liquid.") else - . += "\The [src]'s internal buffer is empty!" + . += span_notice("\The [src]'s internal buffer is empty!") if(OutputBeaker) if(OutputBeaker.reagents.reagent_list.len) - . += "\The [src]'s output beaker holds [OutputBeaker.reagents.total_volume] units of liquid." + . += span_notice("\The [src]'s output beaker holds [OutputBeaker.reagents.total_volume] units of liquid.") else - . += "\The [src]'s output beaker is empty!" + . += span_notice("\The [src]'s output beaker is empty!") /obj/machinery/portable_atmospherics/powered/reagent_distillery/verb/toggle_power(mob/user = usr) set name = "Toggle Distillery Heating" @@ -135,22 +135,22 @@ if(powered()) on = !on - to_chat(user, "You turn \the [src] [on ? "on" : "off"].") + to_chat(user, span_notice("You turn \the [src] [on ? "on" : "off"].")) else - to_chat(user, " Nothing happens.") + to_chat(user, span_notice(" Nothing happens.")) /obj/machinery/portable_atmospherics/powered/reagent_distillery/verb/toggle_mixing(mob/user = usr) set name = "Start Distillery Mixing" set category = "Object" set src in view(1) - to_chat(user, "You press \the [src]'s chamber agitator button.") + to_chat(user, span_notice("You press \the [src]'s chamber agitator button.")) if(on) - visible_message("\The [src] rattles to life.") + visible_message(span_infoplain(span_bold("\The [src]") + " rattles to life.")) reagents.handle_reactions() else spawn(1 SECOND) - to_chat(user, "Nothing happens..") + to_chat(user, span_notice("Nothing happens..")) /obj/machinery/portable_atmospherics/powered/reagent_distillery/attack_hand(mob/user) var/list/options = list() @@ -185,10 +185,10 @@ toggle_power(user) if("inspect gauges") - to_chat(user, "\The [src]'s gauges read:") + to_chat(user, span_notice("\The [src]'s gauges read:")) if(!use_atmos) - to_chat(user, "- Target Temperature: [target_temp]") - to_chat(user, "- Temperature: [current_temp]") + to_chat(user, span_notice("- Target Temperature:") + span_warning("[target_temp]")) + to_chat(user, span_notice("- Temperature:") + span_warning("[current_temp]")) if("pulse agitator") toggle_mixing(user) @@ -209,9 +209,9 @@ update_icon() -/obj/machinery/portable_atmospherics/powered/reagent_distillery/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/machinery/portable_atmospherics/powered/reagent_distillery/attackby(obj/item/W as obj, mob/user as mob) var/list/options = list() - if(istype(W, /obj/item/weapon/reagent_containers/glass)) + if(istype(W, /obj/item/reagent_containers/glass)) if(!InputBeaker) options["install input"] = radial_install_input if(!OutputBeaker) @@ -316,12 +316,12 @@ if(target_temp == round(current_temp, 1.0)) current_temp = target_temp // Hard set it so we don't need to worry about exact decimals any more, after we've been keeping track of it all this time playsound(src, 'sound/machines/ping.ogg', 50, 0) - src.visible_message("\The [src] pings as it reaches the target temperature.") + src.visible_message(span_infoplain(span_bold("\The [src]") + " pings as it reaches the target temperature.")) else if(connected_port && avg_pressure > 1000) current_temp = round((current_temp + avg_temp) / 2) else if(!run_pump) - visible_message("\The [src]'s motors wind down.") + visible_message(span_notice("\The [src]'s motors wind down.")) on = FALSE if(InputBeaker && reagents.total_volume < reagents.maximum_volume) diff --git a/code/modules/reagents/machinery/grinder.dm b/code/modules/reagents/machinery/grinder.dm index 738830ed1c9..80a85443b84 100644 --- a/code/modules/reagents/machinery/grinder.dm +++ b/code/modules/reagents/machinery/grinder.dm @@ -1,3 +1,55 @@ +// Don't need a new list for every grinder in the game +var/global/list/sheet_reagents = list( //have a number of reagents divisible by REAGENTS_PER_SHEET (default 20) unless you like decimals. + /obj/item/stack/material/plastic = list("carbon","carbon","oxygen","chlorine","sulfur"), + /obj/item/stack/material/copper = list("copper"), + /obj/item/stack/material/wood = list("carbon","woodpulp","nitrogen","potassium","sodium"), + /obj/item/stack/material/stick = list("carbon","woodpulp","nitrogen","potassium","sodium"), + /obj/item/stack/material/log = list("carbon","woodpulp","nitrogen","potassium","sodium"), + /obj/item/stack/material/algae = list("carbon","nitrogen","nitrogen","phosphorus","phosphorus"), + /obj/item/stack/material/graphite = list("carbon"), + /obj/item/stack/material/aluminium = list("aluminum"), // The material is aluminium, but the reagent is aluminum... + /obj/item/stack/material/glass/reinforced = list("silicon","silicon","silicon","iron","carbon"), + /obj/item/stack/material/leather = list("carbon","carbon","protein","protein","triglyceride"), + /obj/item/stack/material/cloth = list("carbon","carbon","carbon","protein","sodium"), + /obj/item/stack/material/fiber = list("carbon","carbon","carbon","protein","sodium"), + /obj/item/stack/material/fur = list("carbon","carbon","carbon","sulfur","sodium"), + /obj/item/stack/material/deuterium = list("hydrogen"), + /obj/item/stack/material/glass/phoronrglass = list("silicon","silicon","silicon","phoron","phoron"), + /obj/item/stack/material/diamond = list("carbon"), + /obj/item/stack/material/durasteel = list("iron","iron","carbon","carbon","platinum"), + /obj/item/stack/material/wax = list("ethanol","triglyceride"), + /obj/item/stack/material/iron = list("iron"), + /obj/item/stack/material/uranium = list("uranium"), + /obj/item/stack/material/phoron = list("phoron"), + /obj/item/stack/material/gold = list("gold"), + /obj/item/stack/material/silver = list("silver"), + /obj/item/stack/material/platinum = list("platinum"), + /obj/item/stack/material/mhydrogen = list("hydrogen"), + /obj/item/stack/material/steel = list("iron", "carbon"), + /obj/item/stack/material/plasteel = list("iron", "iron", "carbon", "carbon", "platinum"), //8 iron, 8 carbon, 4 platinum, + /obj/item/stack/material/snow = list("water"), + /obj/item/stack/material/sandstone = list("silicon", "oxygen"), + /obj/item/stack/material/glass = list("silicon"), + /obj/item/stack/material/glass/phoronglass = list("platinum", "silicon", "silicon", "silicon"), //5 platinum, 15 silicon, + /obj/item/stack/material/supermatter = list("supermatter") + ) +var/global/list/ore_reagents = list( //have a number of reageents divisible by REAGENTS_PER_ORE (default 20) unless you like decimals. + /obj/item/ore/glass = list("silicon"), + /obj/item/ore/iron = list("iron"), + /obj/item/ore/coal = list("carbon"), + /obj/item/ore/phoron = list("phoron"), + /obj/item/ore/silver = list("silver"), + /obj/item/ore/gold = list("gold"), + /obj/item/ore/marble = list("silicon","aluminum","aluminum","sodium","calcium"), // Some nice variety here + /obj/item/ore/uranium = list("uranium"), + /obj/item/ore/diamond = list("carbon"), + /obj/item/ore/osmium = list("platinum"), // should contain osmium + /obj/item/ore/lead = list("lead"), + /obj/item/ore/hydrogen = list("hydrogen"), + /obj/item/ore/verdantium = list("radium","phoron","nitrogen","phosphorus","sodium"), // Some fun stuff to be useful with + /obj/item/ore/rutile = list("tungsten","oxygen") // Should be titanium +) + /obj/machinery/reagentgrinder name = "All-In-One Grinder" @@ -9,27 +61,11 @@ use_power = USE_POWER_IDLE idle_power_usage = 5 active_power_usage = 100 - circuit = /obj/item/weapon/circuitboard/grinder + circuit = /obj/item/circuitboard/grinder var/inuse = 0 - var/obj/item/weapon/reagent_containers/beaker = null + var/obj/item/reagent_containers/beaker = null var/limit = 10 var/list/holdingitems = list() - var/list/sheet_reagents = list( //have a number of reageents divisible by REAGENTS_PER_SHEET (default 20) unless you like decimals, - /obj/item/stack/material/iron = list("iron"), - /obj/item/stack/material/uranium = list("uranium"), - /obj/item/stack/material/phoron = list("phoron"), - /obj/item/stack/material/gold = list("gold"), - /obj/item/stack/material/silver = list("silver"), - /obj/item/stack/material/platinum = list("platinum"), - /obj/item/stack/material/mhydrogen = list("hydrogen"), - /obj/item/stack/material/steel = list("iron", "carbon"), - /obj/item/stack/material/plasteel = list("iron", "iron", "carbon", "carbon", "platinum"), //8 iron, 8 carbon, 4 platinum, - /obj/item/stack/material/snow = list("water"), - /obj/item/stack/material/sandstone = list("silicon", "oxygen"), - /obj/item/stack/material/glass = list("silicon"), - /obj/item/stack/material/glass/phoronglass = list("platinum", "silicon", "silicon", "silicon"), //5 platinum, 15 silicon, - /obj/item/stack/material/supermatter = list("supermatter") - ) var/static/radial_examine = image(icon = 'icons/mob/radial.dmi', icon_state = "radial_examine") var/static/radial_eject = image(icon = 'icons/mob/radial.dmi', icon_state = "radial_eject") @@ -39,31 +75,31 @@ /obj/machinery/reagentgrinder/Initialize() . = ..() - beaker = new /obj/item/weapon/reagent_containers/glass/beaker/large(src) + beaker = new /obj/item/reagent_containers/glass/beaker/large(src) default_apply_parts() /obj/machinery/reagentgrinder/examine(mob/user) . = ..() if(!in_range(user, src) && !issilicon(user) && !isobserver(user)) - . += "You're too far away to examine [src]'s contents and display!" + . += span_warning("You're too far away to examine [src]'s contents and display!") return if(inuse) - . += "\The [src] is operating." + . += span_warning("\The [src] is operating.") return if(beaker || length(holdingitems)) - . += "\The [src] contains:" + . += span_notice("\The [src] contains:") if(beaker) - . += "- \A [beaker]." + . += span_notice("- \A [beaker].") for(var/obj/item/O as anything in holdingitems) - . += "- \A [O.name]." + . += span_notice("- \A [O.name].") if(!(stat & (NOPOWER|BROKEN))) - . += "The status display reads:\n" + . += span_notice("The status display reads:") + "\n" if(beaker) for(var/datum/reagent/R in beaker.reagents.reagent_list) - . += "- [R.volume] units of [R.name]." + . += span_notice("- [R.volume] units of [R.name].") /obj/machinery/reagentgrinder/update_icon() icon_state = "juicer"+num2text(!isnull(beaker)) @@ -77,13 +113,13 @@ return //VOREStation edit start - for solargrubs - if (istype(O, /obj/item/device/multitool)) + if (istype(O, /obj/item/multitool)) return ..() //VOREStation edit end - if (istype(O,/obj/item/weapon/reagent_containers/glass) || \ - istype(O,/obj/item/weapon/reagent_containers/food/drinks/glass2) || \ - istype(O,/obj/item/weapon/reagent_containers/food/drinks/shaker)) + if (istype(O,/obj/item/reagent_containers/glass) || \ + istype(O,/obj/item/reagent_containers/food/drinks/glass2) || \ + istype(O,/obj/item/reagent_containers/food/drinks/shaker)) if (beaker) return 1 @@ -102,8 +138,8 @@ if(!istype(O)) return - if(istype(O,/obj/item/weapon/storage/bag/plants)) - var/obj/item/weapon/storage/bag/plants/bag = O + if(istype(O,/obj/item/storage/bag/plants)) + var/obj/item/storage/bag/plants/bag = O var/failed = 1 for(var/obj/item/G in O.contents) if(!G.reagents || !G.reagents.total_volume) @@ -126,8 +162,8 @@ src.updateUsrDialog() return 0 - if(istype(O,/obj/item/weapon/gripper)) - var/obj/item/weapon/gripper/B = O //B, for Borg. + if(istype(O,/obj/item/gripper)) + var/obj/item/gripper/B = O //B, for Borg. if(!B.wrapped) to_chat(user, "\The [B] is not holding anything.") return 0 @@ -137,7 +173,7 @@ return 0 - if(!sheet_reagents[O.type] && (!O.reagents || !O.reagents.total_volume)) + if(!global.sheet_reagents[O.type] && !global.ore_reagents[O.type] && (!O.reagents || !O.reagents.total_volume)) to_chat(user, "\The [O] is not suitable for blending.") return 1 @@ -173,14 +209,7 @@ if(length(holdingitems)) options["grind"] = radial_grind - var/choice - if(length(options) < 1) - return - if(length(options) == 1) - for(var/key in options) - choice = key - else - choice = show_radial_menu(user, src, options, require_near = !issilicon(user)) + var/choice = show_radial_menu(user, src, options, require_near = !issilicon(user), autopick_single_option = FALSE) // post choice verification if(inuse || (isAI(user) && stat & NOPOWER) || user.incapacitated()) @@ -228,10 +257,10 @@ if(remaining_volume <= 0) break - if(sheet_reagents[O.type]) + if(global.sheet_reagents[O.type]) var/obj/item/stack/stack = O if(istype(stack)) - var/list/sheet_components = sheet_reagents[stack.type] + var/list/sheet_components = global.sheet_reagents[stack.type] var/amount_to_take = max(0,min(stack.get_amount(),round(remaining_volume/REAGENTS_PER_SHEET))) if(amount_to_take) stack.use(amount_to_take) @@ -245,6 +274,21 @@ beaker.reagents.add_reagent(sheet_components, (amount_to_take*REAGENTS_PER_SHEET)) continue + if(global.ore_reagents[O.type]) + var/obj/item/ore/R = O + if(istype(R)) + var/list/ore_components = global.ore_reagents[R.type] + if(remaining_volume >= REAGENTS_PER_ORE) + holdingitems -= R + qdel(R) + if(islist(ore_components)) + var/amount_to_take = (REAGENTS_PER_ORE/(ore_components.len)) + for(var/i in ore_components) + beaker.reagents.add_reagent(i, amount_to_take) + else + beaker.reagents.add_reagent(ore_components, REAGENTS_PER_ORE) + continue + if(O.reagents) O.reagents.trans_to_obj(beaker, min(O.reagents.total_volume, remaining_volume)) if(O.reagents.total_volume == 0) @@ -253,7 +297,7 @@ if (beaker.reagents.total_volume >= beaker.reagents.maximum_volume) break -/obj/machinery/reagentgrinder/proc/replace_beaker(mob/living/user, obj/item/weapon/reagent_containers/new_beaker) +/obj/machinery/reagentgrinder/proc/replace_beaker(mob/living/user, obj/item/reagent_containers/new_beaker) if(!user) return FALSE if(beaker) @@ -265,4 +309,4 @@ if(new_beaker) beaker = new_beaker update_icon() - return TRUE \ No newline at end of file + return TRUE diff --git a/code/modules/reagents/machinery/injector_maker.dm b/code/modules/reagents/machinery/injector_maker.dm index 3e83ec3e786..8d1cc8c7daf 100644 --- a/code/modules/reagents/machinery/injector_maker.dm +++ b/code/modules/reagents/machinery/injector_maker.dm @@ -13,8 +13,8 @@ clickvol = 60 idle_power_usage = 5 active_power_usage = 100 - circuit = /obj/item/weapon/circuitboard/injector_maker - var/obj/item/weapon/reagent_containers/beaker = null + circuit = /obj/item/circuitboard/injector_maker + var/obj/item/reagent_containers/beaker = null var/list/beaker_reagents_list = list() @@ -54,12 +54,12 @@ /obj/machinery/injector_maker/attackby(var/obj/item/O as obj, var/mob/user as mob) - if (istype(O, /obj/item/device/multitool)) + if (istype(O, /obj/item/multitool)) return ..() - if(istype(O,/obj/item/weapon/reagent_containers/glass) || \ - istype(O,/obj/item/weapon/reagent_containers/food/drinks/glass2) || \ - istype(O,/obj/item/weapon/reagent_containers/food/drinks/shaker)) + if(istype(O,/obj/item/reagent_containers/glass) || \ + istype(O,/obj/item/reagent_containers/food/drinks/glass2) || \ + istype(O,/obj/item/reagent_containers/food/drinks/shaker)) if (beaker) return 1 @@ -73,24 +73,24 @@ - if(istype(O,/obj/item/weapon/reagent_containers/hypospray/autoinjector/empty)) - var/obj/item/weapon/reagent_containers/hypospray/autoinjector/empty/E = O + if(istype(O,/obj/item/reagent_containers/hypospray/autoinjector/empty)) + var/obj/item/reagent_containers/hypospray/autoinjector/empty/E = O if(src.count_small_injector >= src.capacity_small_injector) - to_chat(user, SPAN_WARNING("Storage is full! It can only hold [capacity_small_injector]")) + to_chat(user, span_warning("Storage is full! It can only hold [capacity_small_injector]")) return if(E.reagents.total_volume > 0) - to_chat(user, SPAN_WARNING("You cannot put a filled injector into the machine!")) + to_chat(user, span_warning("You cannot put a filled injector into the machine!")) return src.count_small_injector = src.count_small_injector + 1 qdel(E) update_icon() - if(istype(O,/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/empty)) - var/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/empty/E = O + if(istype(O,/obj/item/reagent_containers/hypospray/autoinjector/biginjector/empty)) + var/obj/item/reagent_containers/hypospray/autoinjector/biginjector/empty/E = O if(src.count_large_injector >= src.capacity_large_injector) - to_chat(user, SPAN_WARNING("Storage is full! It can only hold [capacity_large_injector]")) + to_chat(user, span_warning("Storage is full! It can only hold [capacity_large_injector]")) return if(E.reagents.total_volume > 0) - to_chat(user, SPAN_WARNING("You cannot put a filled injector into the machine!")) + to_chat(user, span_warning("You cannot put a filled injector into the machine!")) return src.count_large_injector = src.count_large_injector + 1 qdel(E) @@ -106,7 +106,7 @@ var/plastic_input = input_amount * value_plastic var/free_space = capacity_plastic - src.count_plastic if(plastic_input > free_space) - to_chat(user, SPAN_WARNING("Storage is full! There is only [free_space] units worth of space left!")) + to_chat(user, span_warning("Storage is full! There is only [free_space] units worth of space left!")) else S.use(input_amount) src.count_plastic = src.count_plastic + plastic_input @@ -126,23 +126,23 @@ /obj/machinery/injector_maker/examine(mob/user) . = ..() if(!in_range(user, src) && !issilicon(user) && !isobserver(user)) - . += "You're too far away to examine [src]'s contents and display!" + . += span_warning("You're too far away to examine [src]'s contents and display!") return if(beaker) - . += "\The [src] contains:" + . += span_notice("\The [src] contains:") if(beaker) - . += "- \A [beaker]." + . += span_notice("- \A [beaker].") - . += "\The [src] contains [src.count_small_injector] small injectors and [src.count_large_injector] large injectors.\n " - . += " It can hold [capacity_small_injector] small and [capacity_large_injector] large injectors respectively.\n " - . += " \The [src] contains [src.count_plastic] units of plastic. It can hold up to [capacity_plastic] units.\n " + . += span_notice("\The [src] contains [src.count_small_injector] small injectors and [src.count_large_injector] large injectors.") + "\n" + . += span_notice("It can hold [capacity_small_injector] small and [capacity_large_injector] large injectors respectively.") + "\n" + . += span_notice("\The [src] contains [src.count_plastic] units of plastic. It can hold up to [capacity_plastic] units.") + "\n" if(!(stat & (NOPOWER|BROKEN))) - . += "The status display reads the following reagents:\n" + . += span_notice("The status display reads the following reagents:") + "\n" if(beaker) for(var/datum/reagent/R in beaker.reagents.reagent_list) - . += "- [R.volume] units of [R.name]." + . += span_notice("- [R.volume] units of [R.name].") /obj/machinery/injector_maker/attack_hand(mob/user as mob) interact(user) @@ -170,14 +170,14 @@ switch(material) if("mold plastic") if(src.count_plastic < cost_plastic_small) - to_chat(user, SPAN_WARNING("Not enough plastic! Need at least [cost_plastic_small] units.")) + to_chat(user, span_warning("Not enough plastic! Need at least [cost_plastic_small] units.")) return if("use injectors") if(!src.count_small_injector) - to_chat(user, SPAN_WARNING("Small injector rack is empty!")) + to_chat(user, span_warning("Small injector rack is empty!")) return if(!beaker.reagents.total_volume) - to_chat(user, SPAN_WARNING("Chemical storage is empty!")) + to_chat(user, span_warning("Chemical storage is empty!")) return var/injector_amount = tgui_input_number(user, "How many injectors would you like?", "Make small injectors", 0, 100) if(injector_amount > 0) @@ -185,11 +185,11 @@ if("mold plastic") var/plastic_cost = cost_plastic_small * injector_amount if(src.count_plastic < plastic_cost) - to_chat(user, SPAN_WARNING("Not enough plastic! Need at least [plastic_cost] units.")) + to_chat(user, span_warning("Not enough plastic! Need at least [plastic_cost] units.")) return if("use injectors") if(src.count_small_injector < injector_amount) - to_chat(user, SPAN_WARNING("Not enough autoinjectors! You only have [src.count_small_injector]")) + to_chat(user, span_warning("Not enough autoinjectors! You only have [src.count_small_injector]")) return var/name = sanitize(tgui_input_text(user, "Name Injector", "Naming", null, 32, 0, 0, 0, 0),MAX_MESSAGE_LEN,0,0,0) make_injector("small injector", injector_amount, name, material, user) @@ -201,14 +201,14 @@ switch(material) if("mold plastic") if(src.count_plastic < cost_plastic_large) - to_chat(user, SPAN_WARNING("Not enough plastic! Need at least [cost_plastic_large] units.")) + to_chat(user, span_warning("Not enough plastic! Need at least [cost_plastic_large] units.")) return if("use injectors") if(!src.count_large_injector) - to_chat(user, SPAN_WARNING("Large injector rack is empty!")) + to_chat(user, span_warning("Large injector rack is empty!")) return if(!beaker.reagents.total_volume) - to_chat(user, SPAN_WARNING("Chemical storage is empty!")) + to_chat(user, span_warning("Chemical storage is empty!")) return var/injector_amount = tgui_input_number(user, "How many injectors would you like?", "Make large injectors", 0, 100) if(injector_amount > 0) @@ -216,11 +216,11 @@ if("mold plastic") var/plastic_cost = cost_plastic_large * injector_amount if(src.count_plastic < plastic_cost) - to_chat(user, SPAN_WARNING("Not enough plastic! Need at least [plastic_cost] units.")) + to_chat(user, span_warning("Not enough plastic! Need at least [plastic_cost] units.")) return if("use injectors") if(src.count_large_injector < injector_amount) - to_chat(user, SPAN_WARNING("Not enough autoinjectors! You only have [src.count_large_injector]")) + to_chat(user, span_warning("Not enough autoinjectors! You only have [src.count_large_injector]")) return var/name = sanitize(tgui_input_text(user, "Name Injector", "Naming", null, 32, 0, 0, 0, 0),MAX_MESSAGE_LEN,0,0,0) make_injector("large injector", injector_amount, name, material,user) @@ -239,7 +239,7 @@ amount_per_injector = CLAMP(beaker.reagents.total_volume / amount, 0, 15) if((size == "small injector" && amount_per_injector < 5) || size == "large injector" && amount_per_injector < 15) proceed = tgui_alert(usr, "Heads up! Less than max volume per injector!\n Making [amount] [size](s) filled with [amount_per_injector] total reagent volume each!","Proceed?",list("No","Yes")) - if(proceed == "No" || !amount_per_injector) + if(!proceed || proceed == "No" || !amount_per_injector) return for(var/i, i < amount, i++) switch(size) @@ -255,7 +255,7 @@ return else src.count_small_injector = src.count_small_injector - 1 - var/obj/item/weapon/reagent_containers/hypospray/autoinjector/empty/P = new(loc) + var/obj/item/reagent_containers/hypospray/autoinjector/empty/P = new(loc) beaker.reagents.trans_to_obj(P, amount_per_injector) P.update_icon() if(new_name) @@ -274,7 +274,7 @@ return else src.count_large_injector = src.count_large_injector - 1 - var/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/empty/P = new(loc) + var/obj/item/reagent_containers/hypospray/autoinjector/biginjector/empty/P = new(loc) beaker.reagents.trans_to_obj(P, amount_per_injector) P.update_icon() if(new_name) diff --git a/code/modules/reagents/machinery/pump.dm b/code/modules/reagents/machinery/pump.dm index 0330547df2a..ed371c96732 100644 --- a/code/modules/reagents/machinery/pump.dm +++ b/code/modules/reagents/machinery/pump.dm @@ -13,12 +13,12 @@ icon = 'icons/obj/machines/reagent.dmi' icon_state = "pump" - circuit = /obj/item/weapon/circuitboard/fluidpump + circuit = /obj/item/circuitboard/fluidpump active_power_usage = 200 * CELLRATE - var/obj/item/weapon/cell/cell = null + var/obj/item/cell/cell = null var/obj/item/hose_connector/output/Output = null - var/reagents_per_cycle = 40 + var/reagents_per_cycle = 5 // severe nerf to unupgraded speed var/on = 0 var/unlocked = 0 var/open = 0 @@ -40,16 +40,16 @@ . = ..() /obj/machinery/pump/RefreshParts() - var/obj/item/weapon/stock_parts/manipulator/SM = locate() in component_parts + var/obj/item/stock_parts/manipulator/SM = locate() in component_parts active_power_usage = initial(active_power_usage) / SM.rating var/motor_power = 0 - for(var/obj/item/weapon/stock_parts/motor/M in component_parts) + for(var/obj/item/stock_parts/motor/M in component_parts) motor_power += M.rating reagents_per_cycle = initial(reagents_per_cycle) * motor_power / 2 var/bin_size = 0 - for(var/obj/item/weapon/stock_parts/matter_bin/SB in component_parts) + for(var/obj/item/stock_parts/matter_bin/SB in component_parts) bin_size += SB.rating // New holder might have different volume. Transfer everything to a new holder to account for this. @@ -58,6 +58,8 @@ qdel(src.reagents) src.reagents = R + cell = locate(/obj/item/cell) in src + /obj/machinery/pump/update_icon() ..() cut_overlays() @@ -95,7 +97,7 @@ if(Output.get_pairing()) reagents.trans_to_holder(Output.reagents, Output.reagents.maximum_volume) if(prob(5)) - visible_message("\The [src] gurgles as it pumps fluid.") + visible_message(span_notice("\The [src] gurgles as it pumps fluid.")) // Sets the power state, if possible. @@ -113,9 +115,9 @@ update_icon() if(message) if(on) - message = SPAN_NOTICE("\The [src] turns on.") + message = span_notice("\The [src] turns on.") else - message = SPAN_NOTICE("\The [src] shuts down.") + message = span_notice("\The [src] shuts down.") visible_message(message) return TRUE @@ -124,7 +126,7 @@ /obj/machinery/pump/attack_ai(mob/user) if(!set_state(!on)) - to_chat(user, "You try to toggle \the [src] but it does not respond.") + to_chat(user, span_notice("You try to toggle \the [src] but it does not respond.")) /obj/machinery/pump/attack_hand(mob/user) if(open && istype(cell)) @@ -133,42 +135,48 @@ cell.update_icon() cell = null set_state(FALSE) - to_chat(user, "You remove the power cell.") + to_chat(user, span_notice("You remove the power cell.")) return if(!set_state(!on)) - to_chat(user, "You try to toggle \the [src] but it does not respond.") + to_chat(user, span_notice("You try to toggle \the [src] but it does not respond.")) -/obj/machinery/pump/attackby(obj/item/weapon/W, mob/user) +/obj/machinery/pump/attackby(obj/item/W, mob/user) . = TRUE if(W.has_tool_quality(TOOL_SCREWDRIVER) && !open) - to_chat(user, SPAN_NOTICE("You [unlocked ? "screw" : "unscrew"] the battery panel.")) + to_chat(user, span_notice("You [unlocked ? "screw" : "unscrew"] the battery panel.")) unlocked = !unlocked else if(W.has_tool_quality(TOOL_CROWBAR) && unlocked) to_chat(user, open ? \ - "You crowbar the battery panel in place." : \ - "You remove the battery panel." \ + span_notice("You crowbar the battery panel in place.") : \ + span_notice("You remove the battery panel.") \ ) open = !open else if(W.has_tool_quality(TOOL_WRENCH)) if(on) - to_chat(user, "\The [src] is active. Turn it off before trying to move it!") + to_chat(user, span_notice("\The [src] is active. Turn it off before trying to move it!")) return FALSE default_unfasten_wrench(user, W, 2 SECONDS) - else if(istype(W, /obj/item/weapon/cell) && open) + else if(istype(W, /obj/item/cell)) + if(!open) + if(unlocked) + to_chat(user, span_notice("The battery panel is screwed shut.")) + else + to_chat(user, span_notice("The battery panel is watertight and cannot be opened without a crowbar.")) + return FALSE if(istype(cell)) - to_chat(user, "There is a power cell already installed.") + to_chat(user, span_notice("There is a power cell already installed.")) return FALSE user.drop_from_inventory(W, src) - to_chat(user, "You insert the power cell.") + to_chat(user, span_notice("You insert the power cell.")) else . = ..() - RefreshParts() + RefreshParts() // Handles cell assignment update_icon() @@ -184,13 +192,13 @@ . = ..() R.add_reagent("water", round(volume, 0.1)) - if(temperature <= T0C) + var/datum/gas_mixture/air = return_air() // v + if(air.temperature <= T0C) // Uses the current air temp, instead of the turf starting temp R.add_reagent("ice", round(volume / 2, 0.1)) - for(var/turf/simulated/mineral/M in orange(5)) - if(istype(M.mineral, /obj/effect/mineral)) - var/obj/effect/mineral/ore = M.mineral - reagents.add_reagent(ore.ore_reagent, round(volume / 2, 0.1)) + for(var/turf/simulated/mineral/M in orange(5,src)) // Uses the turf as center instead of an unset usr + if(M.mineral && prob(40)) // v + R.add_reagent(M.mineral.reagent, round(volume / 5, 0.1)) // Was the turf's reagents variable not the R argument, and changed ore_reagent to M.mineral.reagent because of above change. Also nerfed amount to 1/5 instead of 1/2 /turf/simulated/floor/water/pool/pump_reagents(var/datum/reagents/R, var/volume) . = ..() @@ -202,4 +210,4 @@ /turf/simulated/floor/water/contaminated/pump_reagents(var/datum/reagents/R, var/volume) . = ..() - R.add_reagent("vatstabilizer", round(volume / 2, 0.1)) \ No newline at end of file + R.add_reagent("vatstabilizer", round(volume / 2, 0.1)) diff --git a/code/modules/reagents/reactions/_reactions.dm b/code/modules/reagents/reactions/_reactions.dm index b3e242ba702..d6f3c73a502 100644 --- a/code/modules/reagents/reactions/_reactions.dm +++ b/code/modules/reagents/reactions/_reactions.dm @@ -119,7 +119,7 @@ var/list/seen = viewers(4, T) for(var/mob/M in seen) if(M.client) - M.show_message("[icon2html(container,M.client)] [mix_message]", 1) + M.show_message(span_notice("[icon2html(container,M.client)] [mix_message]"), 1) playsound(T, reaction_sound, 80, 1) //obtains any special data that will be provided to the reaction products diff --git a/code/modules/reagents/reactions/distilling/distilling.dm b/code/modules/reagents/reactions/distilling/distilling.dm index 5944a758462..e23a77cddd0 100644 --- a/code/modules/reagents/reactions/distilling/distilling.dm +++ b/code/modules/reagents/reactions/distilling/distilling.dm @@ -39,8 +39,8 @@ /* /decl/chemical_reaction/distilling/on_reaction(var/datum/reagents/holder, var/created_volume) - if(istype(holder.my_atom, /obj/item/weapon/reagent_containers/glass/distilling)) - var/obj/item/weapon/reagent_containers/glass/distilling/D = holder.my_atom + if(istype(holder.my_atom, /obj/item/reagent_containers/glass/distilling)) + var/obj/item/reagent_containers/glass/distilling/D = holder.my_atom var/obj/machinery/portable_atmospherics/powered/reagent_distillery/RD = D.Master RD.current_temp += temp_shift return diff --git a/code/modules/reagents/reactions/instant/drinks.dm b/code/modules/reagents/reactions/instant/drinks.dm index 3f470a5714b..4736a12f057 100644 --- a/code/modules/reagents/reactions/instant/drinks.dm +++ b/code/modules/reagents/reactions/instant/drinks.dm @@ -82,6 +82,90 @@ required_reagents = list("ice" = 1, "coffee" = 2) result_amount = 3 +/decl/chemical_reaction/instant/drinks/icecoffee/alt + name = "Iced Drip Coffee" + id = "icecoffee" + result = "icecoffee" + required_reagents = list("ice" = 1, "drip_coffee" = 2) + result_amount = 3 + +/decl/chemical_reaction/instant/drinks/blackeye + name = "Black Eye Coffee" + id = "black_eye" + result = "black_eye" + required_reagents = list("drip_coffee" = 1, "coffee" = 1) + result_amount = 1 + +/decl/chemical_reaction/instant/drinks/americano + name = "Americano" + id = "americano" + result = "americano" + required_reagents = list("water" = 1, "long_black" = 2) + result_amount = 3 + +/decl/chemical_reaction/instant/drinks/long_black + name = "Long Black Coffee" + id = "long_black" + result = "long_black" + required_reagents = list("water" = 1, "coffee" = 1) + result_amount = 2 + +/decl/chemical_reaction/instant/drinks/macchiato + name = "Macchiato" + id = "macchiato" + result = "macchiato" + required_reagents = list("milk" = 1, "coffee" = 2) + result_amount = 3 + +/decl/chemical_reaction/instant/drinks/cortado + name = "Cortado" + id = "cortado" + result = "cortado" + required_reagents = list("macchiato" = 3, "milk_foam" = 1) // 2 coffee, 1 milk, 1 milk foam + result_amount = 4 + +/decl/chemical_reaction/instant/drinks/breve + name = "Breve" + id = "breve" + result = "breve" + required_reagents = list("cortado" = 4, "cream" = 1) // 2 coffee, 1 milk, 1 milk foam, 1 cream + result_amount = 5 + +/decl/chemical_reaction/instant/drinks/cappuccino + name = "Cappuccino" + id = "cappuccino" + result = "cappuccino" + required_reagents = list("milk" = 1, "milk_foam" = 1, "cortado" = 4) // 2 coffee, 2 milk, 2 milk foam + result_amount = 6 + +/decl/chemical_reaction/instant/drinks/flat_white + name = "Flat White Coffee" + id = "flat_white" + result = "flat_white" + required_reagents = list("milk" = 2, "drip_coffee" = 1) // 2 drip coffee, 4 milk I'M SORRY THAT ITS DRIP COFFEE, otherwise it just gets in the way of all other reactions + result_amount = 3 + +/decl/chemical_reaction/instant/drinks/mocha + name = "Mocha" + id = "mocha" + result = "mocha" + required_reagents = list("milk" = 1, "cream" = 1, "milk_foam" = 1, "hot_coco" = 2, "breve" = 5) // 2 coffee, 2 milk, 2 cream, 2 milk foam and 2 hot coco + result_amount = 10 + +/decl/chemical_reaction/instant/drinks/mocha/alt //incase they use cream before milk + name = "Mocha" + id = "mocha" + result = "mocha" + required_reagents = list("cream" = 2, "hot_coco" = 2, "cappuccino" = 6) // 2 coffee, 2 milk, 2 cream, 2 milk foam and 2 hot coco + result_amount = 10 + +/decl/chemical_reaction/instant/drinks/vienna + name = "Vienna" + id = "vienna" + result = "vienna" + required_reagents = list("cream" = 2, "coffee" = 1) + result_amount = 3 + /decl/chemical_reaction/instant/drinks/nuka_cola name = "Nuclear Cola" id = "nuka_cola" @@ -499,7 +583,7 @@ name = "Cafe Latte" id = "cafe_latte" result = "cafe_latte" - required_reagents = list("coffee" = 1, "milk" = 1) + required_reagents = list("flat_white" = 1, "milk" = 1) result_amount = 2 /decl/chemical_reaction/instant/drinks/acidspit @@ -767,7 +851,7 @@ /decl/chemical_reaction/instant/drinks/minttea_decaf name = "Decaf Mint Tea" id = "decafminttea" - result = "decafminttea" + result = "mintteadecaf" required_reagents = list("teadecaf" = 5, "mint" = 1) result_amount = 6 @@ -781,7 +865,7 @@ /decl/chemical_reaction/instant/drinks/lemontea_decaf name = "Decaf Lemon Tea" id = "decaflemontea" - result = "decaflemontea" + result = "lemonteadecaf" required_reagents = list("teadecaf" = 5, "lemonjuice" = 1) result_amount = 6 @@ -795,7 +879,7 @@ /decl/chemical_reaction/instant/drinks/limetea_decaf name = "Decaf Lime Tea" id = "decaflimetea" - result = "decaflimetea" + result = "limeteadecaf" required_reagents = list("teadecaf" = 5, "limejuice" = 1) result_amount = 6 @@ -809,7 +893,7 @@ /decl/chemical_reaction/instant/drinks/orangetea_decaf name = "Decaf Orange Tea" id = "decaforangetea" - result = "decaforangetea" + result = "orangeteadecaf" required_reagents = list("teadecaf" = 5, "orangejuice" = 1) result_amount = 6 @@ -823,7 +907,7 @@ /decl/chemical_reaction/instant/drinks/berrytea_decaf name = "Decaf Berry Tea" id = "decafberrytea" - result = "decafberrytea" + result = "berryteadecaf" required_reagents = list("teadecaf" = 5, "berryjuice" = 1) result_amount = 6 diff --git a/code/modules/reagents/reactions/instant/food.dm b/code/modules/reagents/reactions/instant/food.dm index d3f934051ae..8f28921586b 100644 --- a/code/modules/reagents/reactions/instant/food.dm +++ b/code/modules/reagents/reactions/instant/food.dm @@ -23,7 +23,7 @@ /decl/chemical_reaction/instant/food/tofu/on_reaction(var/datum/reagents/holder, var/created_volume) var/location = get_turf(holder.my_atom) for(var/i = 1, i <= created_volume, i++) - new /obj/item/weapon/reagent_containers/food/snacks/tofu(location) + new /obj/item/reagent_containers/food/snacks/tofu(location) return /decl/chemical_reaction/instant/food/chocolate_bar @@ -37,7 +37,7 @@ /decl/chemical_reaction/instant/food/chocolate_bar/on_reaction(var/datum/reagents/holder, var/created_volume) var/location = get_turf(holder.my_atom) for(var/i = 1, i <= created_volume, i++) - new /obj/item/weapon/reagent_containers/food/snacks/chocolatebar(location) + new /obj/item/reagent_containers/food/snacks/chocolatebar(location) return /decl/chemical_reaction/instant/food/chocolate_bar2 @@ -51,7 +51,7 @@ /decl/chemical_reaction/instant/food/chocolate_bar2/on_reaction(var/datum/reagents/holder, var/created_volume) var/location = get_turf(holder.my_atom) for(var/i = 1, i <= created_volume, i++) - new /obj/item/weapon/reagent_containers/food/snacks/chocolatebar(location) + new /obj/item/reagent_containers/food/snacks/chocolatebar(location) return /decl/chemical_reaction/instant/food/cookingoilcorn @@ -118,7 +118,7 @@ /decl/chemical_reaction/instant/food/cheesewheel/on_reaction(var/datum/reagents/holder, var/created_volume) var/location = get_turf(holder.my_atom) for(var/i = 1, i <= created_volume, i++) - new /obj/item/weapon/reagent_containers/food/snacks/sliceable/cheesewheel(location) + new /obj/item/reagent_containers/food/snacks/sliceable/cheesewheel(location) return /decl/chemical_reaction/instant/food/meatball @@ -132,7 +132,7 @@ /decl/chemical_reaction/instant/food/meatball/on_reaction(var/datum/reagents/holder, var/created_volume) var/location = get_turf(holder.my_atom) for(var/i = 1, i <= created_volume, i++) - new /obj/item/weapon/reagent_containers/food/snacks/meatball(location) + new /obj/item/reagent_containers/food/snacks/meatball(location) return /decl/chemical_reaction/instant/food/dough @@ -146,7 +146,7 @@ /decl/chemical_reaction/instant/food/dough/on_reaction(var/datum/reagents/holder, var/created_volume) var/location = get_turf(holder.my_atom) for(var/i = 1, i <= created_volume, i++) - new /obj/item/weapon/reagent_containers/food/snacks/dough(location) + new /obj/item/reagent_containers/food/snacks/dough(location) return /decl/chemical_reaction/instant/food/syntiflesh @@ -159,7 +159,7 @@ /decl/chemical_reaction/instant/food/syntiflesh/on_reaction(var/datum/reagents/holder, var/created_volume) var/location = get_turf(holder.my_atom) for(var/i = 1, i <= created_volume, i++) - new /obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh(location) + new /obj/item/reagent_containers/food/snacks/meat/syntiflesh(location) return /* @@ -206,5 +206,5 @@ /decl/chemical_reaction/instant/food/butter/on_reaction(var/datum/reagents/holder, var/created_volume) var/location = get_turf(holder.my_atom) for(var/i = 1, i <= created_volume, i++) - new /obj/item/weapon/reagent_containers/food/snacks/spreads/butter(location) + new /obj/item/reagent_containers/food/snacks/spreads/butter(location) return \ No newline at end of file diff --git a/code/modules/reagents/reactions/instant/instant.dm b/code/modules/reagents/reactions/instant/instant.dm index 761552fa151..89985a80277 100644 --- a/code/modules/reagents/reactions/instant/instant.dm +++ b/code/modules/reagents/reactions/instant/instant.dm @@ -846,7 +846,7 @@ var/location = get_turf(holder.my_atom) for(var/mob/M in viewers(5, location)) - to_chat(M, "The solution spews out foam!") + to_chat(M, span_warning("The solution spews out foam!")) var/datum/effect/effect/system/foam_spread/s = new() s.set_up(created_volume, location, holder, 0) @@ -868,7 +868,7 @@ var/location = get_turf(holder.my_atom) for(var/mob/M in viewers(5, location)) - to_chat(M, "The solution spews out a metalic foam!") + to_chat(M, span_warning("The solution spews out a metalic foam!")) var/datum/effect/effect/system/foam_spread/s = new() s.set_up(created_volume, location, holder, 1) @@ -886,7 +886,7 @@ var/location = get_turf(holder.my_atom) for(var/mob/M in viewers(5, location)) - to_chat(M, "The solution spews out a metalic foam!") + to_chat(M, span_warning("The solution spews out a metalic foam!")) var/datum/effect/effect/system/foam_spread/s = new() s.set_up(created_volume, location, holder, 2) diff --git a/code/modules/reagents/reactions/instant/virology.dm b/code/modules/reagents/reactions/instant/virology.dm new file mode 100644 index 00000000000..26576c23d6c --- /dev/null +++ b/code/modules/reagents/reactions/instant/virology.dm @@ -0,0 +1,161 @@ +/decl/chemical_reaction/instant/virus_food_mutagen + name = "mutagenic agar" + id = "mutagenvirusfood" + result = "mutagenvirusfood" + required_reagents = list("mutagen" = 1, "virusfood" = 1) + result_amount = 1 + +/decl/chemical_reaction/instant/virus_food_adranol + name = "virus rations" + id = "adranolvirusfood" + result = "adranolvirusfood" + required_reagents = list("adranol" = 1, "virusfood" = 1) + result_amount = 1 + +/decl/chemical_reaction/instant/virus_food_phoron + name = "phoronic virus food" + id = "phoronvirusfood" + result = "phoronvirusfood" + required_reagents = list("phoron" = 1, "virusfood" = 1) + result_amount = 1 + +/decl/chemical_reaction/instant/virus_food_phoron_adranol + name = "weakened phoronic virus food" + id = "weakphoronvirusfood" + result = "weakphoronvirusfood" + required_reagents = list("adranol" = 1, "phoronvirusfood" = 1) + result_amount = 2 + +/decl/chemical_reaction/instant/virus_food_mutagen_sugar + name = "sucrose agar" + id = "sugarvirusfood" + result = "sugarvirusfood" + required_reagents = list("sugar" = 1, "mutagenvirusfood" = 1) + result_amount = 2 + +/decl/chemical_reaction/instant/virus_food_mutagen_inaprovaline + name = "sucrose agar" + id = "inaprovalinevirusfood" + result = "sugarvirusfood" + required_reagents = list("inaprovaline" = 1, "mutagenvirusfood" = 1) + result_amount = 2 + +/decl/chemical_reaction/instant/virus_food_size + name = "sizeoxadone virus food" + id = "sizeoxadonevirusfood" + result = "sizevirusfood" + required_reagents = list("sizeoxadone" = 1, "phoronvirusfood" = 1) + result_amount = 2 + +/decl/chemical_reaction/instant/mix_virus + name = "Mix Virus" + id = "mixvirus" + required_reagents = list("virusfood" = 1) + catalysts = list("blood" = 1) + var/level_min = 0 + var/level_max = 2 + +/decl/chemical_reaction/instant/mix_virus/picky + var/list/datum/symptom/symptoms + +/decl/chemical_reaction/instant/mix_virus/on_reaction(datum/reagents/holder) + var/datum/reagent/blood/B = locate(/datum/reagent/blood) in holder.reagent_list + if(B && B.data) + var/datum/disease/advance/D = locate(/datum/disease/advance) in B.data["viruses"] + if(D) + D.Evolve(level_min, level_max) + +/decl/chemical_reaction/instant/mix_virus/picky/on_reaction(datum/reagents/holder) + var/datum/reagent/blood/B = locate(/datum/reagent/blood) in holder.reagent_list + if(B && B.data) + var/datum/disease/advance/D = locate(/datum/disease/advance) in B.data["viruses"] + if(D) + D.PickyEvolve(symptoms) + +/decl/chemical_reaction/instant/mix_virus/mix_virus_2 + name = "Mix Virus 2" + id = "mixvirus2" + required_reagents = list("mutagen" = 1) + level_min = 2 + level_max = 4 + +/decl/chemical_reaction/instant/mix_virus/mix_virus_3 + name = "Mix Virus 3" + id = "mixvirus3" + required_reagents = list("phoron" = 1) + level_min = 4 + level_max = 6 + +/decl/chemical_reaction/instant/mix_virus/mix_virus_4 + name = "Mix Virus 4" + id = "mixvirus4" + required_reagents = list("uranium" = 1) + level_min = 5 + level_max = 6 + +/decl/chemical_reaction/instant/mix_virus/mix_virus_5 + name = "Mix Virus 5" + id = "mixvirus5" + required_reagents = list("mutagenvirusfood" = 1) + level_min = 3 + level_max = 3 + +/decl/chemical_reaction/instant/mix_virus/mix_virus_6 + name = "Mix Virus 6" + id = "mixvirus6" + required_reagents = list("sugarvirusfood" = 1) + level_min = 4 + level_max = 4 + +/decl/chemical_reaction/instant/mix_virus/mix_virus_7 + name = "Mix Virus 7" + id = "mixvirus7" + required_reagents = list("weakphoronvirusfood" = 1) + level_min = 5 + level_max = 5 + +/decl/chemical_reaction/instant/mix_virus/mix_virus_8 + name = "Mix Virus 8" + id = "mixvirus8" + required_reagents = list("phoronvirusfood" = 1) + level_min = 6 + level_max = 6 + +/decl/chemical_reaction/instant/mix_virus/mix_virus_9 + name = "Mix Virus 9" + id = "mixvirus9" + required_reagents = list("adranolvirusfood" = 1) + level_min = 1 + level_max = 1 + +/decl/chemical_reaction/instant/mix_virus/picky/size + name = "Mix Virus Size" + id = "mixvirussize" + required_reagents = list("sizevirusfood" = 1) + symptoms = list( + /datum/symptom/macrophage, + /datum/symptom/size, + /datum/symptom/size/grow, + /datum/symptom/size/shrink + ) + +/decl/chemical_reaction/instant/mix_virus/rem_virus + name = "Devolve Virus" + id = "remvirus" + required_reagents = list("adranol" = 1) + catalysts = list("blood" = 1) + +/decl/chemical_reaction/instant/mix_virus/rem_virus/on_reaction(var/datum/reagents/holder) + var/datum/reagent/blood/B = locate(/datum/reagent/blood) in holder.reagent_list + if(B && B.data) + var/datum/disease/advance/D = locate(/datum/disease/advance) in B.data["viruses"] + if(D) + D.Devolve() + +/decl/chemical_reaction/instant/antibodies + name = "Antibodies" + id = "antibodiesmix" + result = "antibodies" + required_reagents = list("vaccine") + catalysts = list("inaprovaline" = 0.1) + result_amount = 0.5 diff --git a/code/modules/reagents/reagent_containers/_reagent_containers.dm b/code/modules/reagents/reagent_containers/_reagent_containers.dm index dba86fba0ce..2c40ca03cc3 100644 --- a/code/modules/reagents/reagent_containers/_reagent_containers.dm +++ b/code/modules/reagents/reagent_containers/_reagent_containers.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/reagent_containers +/obj/item/reagent_containers name = "Container" desc = "..." icon = 'icons/obj/chemical.dmi' @@ -9,7 +9,7 @@ var/volume = 30 var/list/starts_with -/obj/item/weapon/reagent_containers/verb/set_APTFT() //set amount_per_transfer_from_this +/obj/item/reagent_containers/verb/set_APTFT() //set amount_per_transfer_from_this set name = "Set transfer amount" set category = "Object" set src in range(0) @@ -17,12 +17,12 @@ if(N) amount_per_transfer_from_this = N -/obj/item/weapon/reagent_containers/Initialize() +/obj/item/reagent_containers/Initialize() . = ..() if(!possible_transfer_amounts) - src.verbs -= /obj/item/weapon/reagent_containers/verb/set_APTFT + src.verbs -= /obj/item/reagent_containers/verb/set_APTFT create_reagents(volume) - + if(starts_with) var/total_so_far = 0 for(var/string in starts_with) @@ -33,69 +33,72 @@ warning("[src]([src.type]) starts with more reagents than it has total volume") starts_with = null // it should gc, since it's just strings and numbers -/obj/item/weapon/reagent_containers/attack_self(mob/user as mob) +/obj/item/reagent_containers/attack_self(mob/user as mob) return -/obj/item/weapon/reagent_containers/afterattack(obj/target, mob/user, flag) +/obj/item/reagent_containers/afterattack(obj/target, mob/user, flag) return -/obj/item/weapon/reagent_containers/proc/reagentlist() // For attack logs +/obj/item/reagent_containers/proc/reagentlist() // For attack logs if(reagents) return reagents.get_reagents() return "No reagent holder" -/obj/item/weapon/reagent_containers/proc/standard_dispenser_refill(var/mob/user, var/obj/structure/reagent_dispensers/target) // This goes into afterattack +/obj/item/reagent_containers/proc/standard_dispenser_refill(var/mob/user, var/obj/structure/reagent_dispensers/target) // This goes into afterattack if(!istype(target)) return 0 + if(target.open_top) + return 0 + if(!target.reagents || !target.reagents.total_volume) - to_chat(user, "[target] is empty.") + to_chat(user, span_notice("[target] is empty.")) return 1 if(reagents && !reagents.get_free_space()) - to_chat(user, "[src] is full.") + to_chat(user, span_notice("[src] is full.")) return 1 var/trans = target.reagents.trans_to_obj(src, target:amount_per_transfer_from_this) - to_chat(user, "You fill [src] with [trans] units of the contents of [target].") + to_chat(user, span_notice("You fill [src] with [trans] units of the contents of [target].")) return 1 -/obj/item/weapon/reagent_containers/proc/standard_splash_mob(var/mob/user, var/mob/target) // This goes into afterattack +/obj/item/reagent_containers/proc/standard_splash_mob(var/mob/user, var/mob/target) // This goes into afterattack if(!istype(target)) return if(!reagents || !reagents.total_volume) - to_chat(user, "[src] is empty.") + to_chat(user, span_notice("[src] is empty.")) return 1 if(target.reagents && !target.reagents.get_free_space()) - to_chat(user, "[target] is full.") + to_chat(user, span_notice("[target] is full.")) return 1 var/contained = reagentlist() add_attack_logs(user,target,"Splashed with [src.name] containing [contained]") - user.visible_message("[target] has been splashed with something by [user]!", "You splash the solution onto [target].") + user.visible_message(span_danger("[target] has been splashed with something by [user]!"), span_notice("You splash the solution onto [target].")) reagents.splash(target, reagents.total_volume) return 1 -/obj/item/weapon/reagent_containers/proc/self_feed_message(var/mob/user) - to_chat(user, "You eat \the [src]") +/obj/item/reagent_containers/proc/self_feed_message(var/mob/user) + to_chat(user, span_notice("You eat \the [src]")) -/obj/item/weapon/reagent_containers/proc/other_feed_message_start(var/mob/user, var/mob/target) - user.visible_message("[user] is trying to feed [target] \the [src]!") +/obj/item/reagent_containers/proc/other_feed_message_start(var/mob/user, var/mob/target) + user.visible_message(span_warning("[user] is trying to feed [target] \the [src]!")) -/obj/item/weapon/reagent_containers/proc/other_feed_message_finish(var/mob/user, var/mob/target) - user.visible_message("[user] has fed [target] \the [src]!") +/obj/item/reagent_containers/proc/other_feed_message_finish(var/mob/user, var/mob/target) + user.visible_message(span_warning("[user] has fed [target] \the [src]!")) -/obj/item/weapon/reagent_containers/proc/feed_sound(var/mob/user) +/obj/item/reagent_containers/proc/feed_sound(var/mob/user) return -/obj/item/weapon/reagent_containers/proc/standard_feed_mob(var/mob/user, var/mob/target) // This goes into attack +/obj/item/reagent_containers/proc/standard_feed_mob(var/mob/user, var/mob/target) // This goes into attack if(!istype(target) || !target.can_feed()) return FALSE if(!reagents || !reagents.total_volume) - to_chat(user, "\The [src] is empty.") + to_chat(user, span_notice("\The [src] is empty.")) return TRUE if(ishuman(target)) @@ -105,16 +108,16 @@ return FALSE var/obj/item/blocked = H.check_mouth_coverage() if(blocked) - to_chat(user, "\The [blocked] is in the way!") + to_chat(user, span_warning("\The [blocked] is in the way!")) return FALSE user.setClickCooldown(user.get_attack_speed(src)) //puts a limit on how fast people can eat/drink things - if(user == target) + if(user == target) self_feed_message(user) reagents.trans_to_mob(user, issmall(user) ? CEILING(amount_per_transfer_from_this/2, 1) : amount_per_transfer_from_this, CHEM_INGEST) feed_sound(user) return TRUE - + else other_feed_message_start(user, target) if(!do_mob(user, target)) @@ -127,18 +130,18 @@ feed_sound(user) return TRUE -/obj/item/weapon/reagent_containers/proc/standard_pour_into(var/mob/user, var/atom/target) // This goes into afterattack and yes, it's atom-level +/obj/item/reagent_containers/proc/standard_pour_into(var/mob/user, var/atom/target) // This goes into afterattack and yes, it's atom-level if(!target.is_open_container() || !target.reagents) return 0 if(!reagents || !reagents.total_volume) - to_chat(user, "[src] is empty.") + to_chat(user, span_notice("[src] is empty.")) return 1 if(!target.reagents.get_free_space()) - to_chat(user, "[target] is full.") + to_chat(user, span_notice("[target] is full.")) return 1 var/trans = reagents.trans_to(target, amount_per_transfer_from_this) - to_chat(user, "You transfer [trans] units of the solution to [target].") + to_chat(user, span_notice("You transfer [trans] units of the solution to [target].")) return 1 diff --git a/code/modules/reagents/reagent_containers/blood_pack.dm b/code/modules/reagents/reagent_containers/blood_pack.dm index c25ee292f57..3cbdb38f649 100644 --- a/code/modules/reagents/reagent_containers/blood_pack.dm +++ b/code/modules/reagents/reagent_containers/blood_pack.dm @@ -1,19 +1,19 @@ -/obj/item/weapon/storage/box/bloodpacks +/obj/item/storage/box/bloodpacks name = "blood packs bags" desc = "This box contains blood packs." icon_state = "sterile" -/obj/item/weapon/storage/box/bloodpacks/Initialize() +/obj/item/storage/box/bloodpacks/Initialize() . = ..() - new /obj/item/weapon/reagent_containers/blood/empty(src) - new /obj/item/weapon/reagent_containers/blood/empty(src) - new /obj/item/weapon/reagent_containers/blood/empty(src) - new /obj/item/weapon/reagent_containers/blood/empty(src) - new /obj/item/weapon/reagent_containers/blood/empty(src) - new /obj/item/weapon/reagent_containers/blood/empty(src) - new /obj/item/weapon/reagent_containers/blood/empty(src) - -/obj/item/weapon/reagent_containers/blood + new /obj/item/reagent_containers/blood/empty(src) + new /obj/item/reagent_containers/blood/empty(src) + new /obj/item/reagent_containers/blood/empty(src) + new /obj/item/reagent_containers/blood/empty(src) + new /obj/item/reagent_containers/blood/empty(src) + new /obj/item/reagent_containers/blood/empty(src) + new /obj/item/reagent_containers/blood/empty(src) + +/obj/item/reagent_containers/blood name = "IV pack" var/base_name = " " desc = "Holds liquids used for transfusion." @@ -29,7 +29,7 @@ var/blood_type = null var/reag_id = "blood" -/obj/item/weapon/reagent_containers/blood/Initialize() +/obj/item/reagent_containers/blood/Initialize() . = ..() base_name = name base_desc = desc @@ -39,10 +39,10 @@ reagents.add_reagent(reag_id, 200, list("donor"=null,"viruses"=null,"blood_DNA"=null,"blood_type"=blood_type,"resistances"=null,"trace_chem"=null)) update_icon() -/obj/item/weapon/reagent_containers/blood/on_reagent_change() +/obj/item/reagent_containers/blood/on_reagent_change() update_icon() -/obj/item/weapon/reagent_containers/blood/update_icon() +/obj/item/reagent_containers/blood/update_icon() var/percent = round((reagents.total_volume / volume) * 100) if(percent >= 0 && percent <= 9) icon_state = "empty" @@ -54,21 +54,21 @@ icon_state = "full" item_state = "bloodpack_full" -/obj/item/weapon/reagent_containers/blood/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W, /obj/item/weapon/pen) || istype(W, /obj/item/device/flashlight/pen)) +/obj/item/reagent_containers/blood/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W, /obj/item/pen) || istype(W, /obj/item/flashlight/pen)) var/tmp_label = sanitizeSafe(tgui_input_text(user, "Enter a label for [name]", "Label", label_text, MAX_NAME_LEN), MAX_NAME_LEN) if(length(tmp_label) > 50) - to_chat(user, "The label can be at most 50 characters long.") + to_chat(user, span_notice("The label can be at most 50 characters long.")) else if(length(tmp_label) > 10) - to_chat(user, "You set the label.") + to_chat(user, span_notice("You set the label.")) label_text = tmp_label update_iv_label() else - to_chat(user, "You set the label to \"[tmp_label]\".") + to_chat(user, span_notice("You set the label to \"[tmp_label]\".")) label_text = tmp_label update_iv_label() -/obj/item/weapon/reagent_containers/blood/proc/update_iv_label() +/obj/item/reagent_containers/blood/proc/update_iv_label() if(label_text == "") name = base_name else if(length(label_text) > 10) @@ -78,34 +78,34 @@ name = "[base_name] ([label_text])" desc = "[base_desc] It is labeled \"[label_text]\"." -/obj/item/weapon/reagent_containers/blood/APlus +/obj/item/reagent_containers/blood/APlus blood_type = "A+" -/obj/item/weapon/reagent_containers/blood/AMinus +/obj/item/reagent_containers/blood/AMinus blood_type = "A-" -/obj/item/weapon/reagent_containers/blood/BPlus +/obj/item/reagent_containers/blood/BPlus blood_type = "B+" -/obj/item/weapon/reagent_containers/blood/BMinus +/obj/item/reagent_containers/blood/BMinus blood_type = "B-" -/obj/item/weapon/reagent_containers/blood/OPlus +/obj/item/reagent_containers/blood/OPlus blood_type = "O+" -/obj/item/weapon/reagent_containers/blood/OMinus +/obj/item/reagent_containers/blood/OMinus blood_type = "O-" -/obj/item/weapon/reagent_containers/blood/synthplas +/obj/item/reagent_containers/blood/synthplas blood_type = "O-" reag_id = "synthblood_dilute" -/obj/item/weapon/reagent_containers/blood/synthblood +/obj/item/reagent_containers/blood/synthblood blood_type = "O-" reag_id = "synthblood" -/obj/item/weapon/reagent_containers/blood/empty +/obj/item/reagent_containers/blood/empty name = "Empty BloodPack" desc = "Seems pretty useless... Maybe if there were a way to fill it?" icon_state = "empty" - item_state = "bloodpack_empty" \ No newline at end of file + item_state = "bloodpack_empty" diff --git a/code/modules/reagents/reagent_containers/blood_pack_vr.dm b/code/modules/reagents/reagent_containers/blood_pack_vr.dm index d6a15ae59a0..5beff9b498e 100644 --- a/code/modules/reagents/reagent_containers/blood_pack_vr.dm +++ b/code/modules/reagents/reagent_containers/blood_pack_vr.dm @@ -1,58 +1,58 @@ -/obj/item/weapon/reagent_containers/blood/attack_self(mob/living/user as mob) +/obj/item/reagent_containers/blood/attack_self(mob/living/user as mob) if(user.a_intent == I_HURT) if(reagents.total_volume && volume) var/remove_volume = volume* 0.1 //10% of what the bloodpack can hold. var/reagent_to_remove = reagents.get_master_reagent_id() switch(reagents.get_master_reagent_id()) if("blood") - user.show_message("You sink your fangs into \the [src] and suck the blood out of it!") + user.show_message(span_warning("You sink your fangs into \the [src] and suck the blood out of it!")) user.visible_message(span_red("[user] sinks their fangs into \the [src] and drains it!")) user.adjust_nutrition(remove_volume*5) reagents.remove_reagent(reagent_to_remove, remove_volume) update_icon() return else - user.show_message("You take a look at \the [src] and notice that it is not filled with blood!") + user.show_message(span_warning("You take a look at \the [src] and notice that it is not filled with blood!")) return else - user.show_message("You take a look at \the [src] and notice it has nothing in it!") + user.show_message(span_warning("You take a look at \the [src] and notice it has nothing in it!")) return else return -/obj/item/weapon/reagent_containers/blood/prelabeled +/obj/item/reagent_containers/blood/prelabeled name = "IV Pack" desc = "Holds liquids used for transfusion. This one's label seems to be hardprinted." -/obj/item/weapon/reagent_containers/blood/prelabeled/update_iv_label() +/obj/item/reagent_containers/blood/prelabeled/update_iv_label() return -/obj/item/weapon/reagent_containers/blood/prelabeled/APlus +/obj/item/reagent_containers/blood/prelabeled/APlus name = "IV Pack (A+)" desc = "Holds liquids used for transfusion. This one's label seems to be hardprinted. This one is labeled A+" blood_type = "A+" -/obj/item/weapon/reagent_containers/blood/prelabeled/AMinus +/obj/item/reagent_containers/blood/prelabeled/AMinus name = "IV Pack (A-)" desc = "Holds liquids used for transfusion. This one's label seems to be hardprinted. This one is labeled A_" blood_type = "A-" -/obj/item/weapon/reagent_containers/blood/prelabeled/BPlus +/obj/item/reagent_containers/blood/prelabeled/BPlus name = "IV Pack (B+)" desc = "Holds liquids used for transfusion. This one's label seems to be hardprinted. This one is labeled B+" blood_type = "B+" -/obj/item/weapon/reagent_containers/blood/prelabeled/BMinus +/obj/item/reagent_containers/blood/prelabeled/BMinus name = "IV Pack (B-)" desc = "Holds liquids used for transfusion. This one's label seems to be hardprinted. This one is labeled B-" blood_type = "B-" -/obj/item/weapon/reagent_containers/blood/prelabeled/OPlus +/obj/item/reagent_containers/blood/prelabeled/OPlus name = "IV Pack (O+)" desc = "Holds liquids used for transfusion. This one's label seems to be hardprinted. This one is labeled O+" blood_type = "O+" -/obj/item/weapon/reagent_containers/blood/prelabeled/OMinus +/obj/item/reagent_containers/blood/prelabeled/OMinus name = "IV Pack (O-)" desc = "Holds liquids used for transfusion. This one's label seems to be hardprinted. This one is labeled O-" blood_type = "O-" diff --git a/code/modules/reagents/reagent_containers/bluespacecoffee_yw.dm b/code/modules/reagents/reagent_containers/bluespacecoffee_yw.dm index 4ef9555714f..0fdea73e5ff 100644 --- a/code/modules/reagents/reagent_containers/bluespacecoffee_yw.dm +++ b/code/modules/reagents/reagent_containers/bluespacecoffee_yw.dm @@ -1,15 +1,15 @@ -/obj/item/weapon/reagent_containers/food/drinks/bluespace_coffee +/obj/item/reagent_containers/food/drinks/bluespace_coffee name = "bluespace coffee" desc = "Dreamt up in a strange feverish dream, this coffee cup seems to have been heavily modified with a variety of unlikely parts and wires, and never seems to run out of coffee. Truly the differance between madmen and genius is success." icon = 'icons/obj/coffee.dmi' icon_state = "bluespace_coffee" center_of_mass = list("x"=15, "y"=10) volume = 50 -/obj/item/weapon/reagent_containers/food/drinks/bluespace_coffee/Initialize() +/obj/item/reagent_containers/food/drinks/bluespace_coffee/Initialize() ..() reagents.add_reagent("coffee", 50) //Infinite Coffee -/obj/item/weapon/reagent_containers/food/drinks/bluespace_coffee/attack(mob/M as mob, mob/user as mob, def_zone) +/obj/item/reagent_containers/food/drinks/bluespace_coffee/attack(mob/M as mob, mob/user as mob, def_zone) ..() - src.reagents.add_reagent("coffee", 50) \ No newline at end of file + src.reagents.add_reagent("coffee", 50) diff --git a/code/modules/reagents/reagent_containers/borghypo.dm b/code/modules/reagents/reagent_containers/borghypo.dm index 9570fcf03f4..b154f52e3e7 100644 --- a/code/modules/reagents/reagent_containers/borghypo.dm +++ b/code/modules/reagents/reagent_containers/borghypo.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/reagent_containers/borghypo +/obj/item/reagent_containers/borghypo name = "cyborg hypospray" desc = "An advanced chemical synthesizer and injection system, designed for heavy-duty medical equipment." icon = 'icons/obj/syringe.dmi' @@ -18,23 +18,23 @@ var/list/reagent_volumes = list() var/list/reagent_names = list() -/obj/item/weapon/reagent_containers/borghypo/surgeon +/obj/item/reagent_containers/borghypo/surgeon reagent_ids = list("inaprovaline", "dexalin", "tricordrazine", "spaceacillin", "oxycodone") -/obj/item/weapon/reagent_containers/borghypo/crisis +/obj/item/reagent_containers/borghypo/crisis reagent_ids = list("inaprovaline", "bicaridine", "kelotane", "anti_toxin", "dexalin", "tricordrazine", "spaceacillin", "tramadol") -/obj/item/weapon/reagent_containers/borghypo/lost +/obj/item/reagent_containers/borghypo/lost reagent_ids = list("tricordrazine", "bicaridine", "dexalin", "anti_toxin", "tramadol", "spaceacillin") -/obj/item/weapon/reagent_containers/borghypo/merc +/obj/item/reagent_containers/borghypo/merc name = "advanced cyborg hypospray" desc = "An advanced nanite and chemical synthesizer and injection system, designed for heavy-duty medical equipment. This type is capable of safely bypassing \ thick materials that other hyposprays would struggle with." bypass_protection = TRUE // Because mercs tend to be in spacesuits. reagent_ids = list("healing_nanites", "hyperzine", "tramadol", "oxycodone", "spaceacillin", "peridaxon", "osteodaxon", "myelamine", "synthblood") -/obj/item/weapon/reagent_containers/borghypo/Initialize() +/obj/item/reagent_containers/borghypo/Initialize() . = ..() for(var/T in reagent_ids) @@ -44,11 +44,11 @@ START_PROCESSING(SSobj, src) -/obj/item/weapon/reagent_containers/borghypo/Destroy() +/obj/item/reagent_containers/borghypo/Destroy() STOP_PROCESSING(SSobj, src) return ..() -/obj/item/weapon/reagent_containers/borghypo/process() //Every [recharge_time] seconds, recharge some reagents for the cyborg+ +/obj/item/reagent_containers/borghypo/process() //Every [recharge_time] seconds, recharge some reagents for the cyborg+ if(++charge_tick < recharge_time) return 0 charge_tick = 0 @@ -65,68 +65,68 @@ reagent_volumes[T] = min(reagent_volumes[T] + 5, volume) return 1 -/obj/item/weapon/reagent_containers/borghypo/attack(var/mob/living/M, var/mob/user) +/obj/item/reagent_containers/borghypo/attack(var/mob/living/M, var/mob/user) if(!istype(M)) return if(!reagent_volumes[reagent_ids[mode]]) - to_chat(user, "The injector is empty.") + to_chat(user, span_warning("The injector is empty.")) return var/mob/living/carbon/human/H = M if(istype(H)) var/obj/item/organ/external/affected = H.get_organ(user.zone_sel.selecting) if(!affected) - to_chat(user, "\The [H] is missing that limb!") + to_chat(user, span_danger("\The [H] is missing that limb!")) return /* since synths have oil/coolant streams now, it only makes sense that you should be able to inject stuff. preserved for posterity. else if(affected.robotic >= ORGAN_ROBOT) - to_chat(user, "You cannot inject a robotic limb.") + to_chat(user, span_danger("You cannot inject a robotic limb.")) return */ if(M.can_inject(user, 1, ignore_thickness = bypass_protection)) - to_chat(user, "You inject [M] with the injector.") - to_chat(M, "You feel a tiny prick!") + to_chat(user, span_notice("You inject [M] with the injector.")) + to_chat(M, span_notice("You feel a tiny prick!")) if(M.reagents) var/t = min(amount_per_transfer_from_this, reagent_volumes[reagent_ids[mode]]) M.reagents.add_reagent(reagent_ids[mode], t) reagent_volumes[reagent_ids[mode]] -= t add_attack_logs(user, M, "Borg injected with [reagent_ids[mode]]") - to_chat(user, "[t] units injected. [reagent_volumes[reagent_ids[mode]]] units remaining.") + to_chat(user, span_notice("[t] units injected. [reagent_volumes[reagent_ids[mode]]] units remaining.")) return -/obj/item/weapon/reagent_containers/borghypo/attack_self(mob/user as mob) //Change the mode - var/t = "" +/obj/item/reagent_containers/borghypo/attack_self(mob/user as mob) //Change the mode + var/t for(var/i = 1 to reagent_ids.len) if(t) t += ", " if(mode == i) - t += "[reagent_names[i]]" + t += span_bold("[reagent_names[i]]") else t += "[reagent_names[i]]" - t = "Available reagents: [t]." - to_chat(user,t) + t = "Available reagents: [t]." + to_chat(user,span_infoplain(t)) return -/obj/item/weapon/reagent_containers/borghypo/Topic(var/href, var/list/href_list) +/obj/item/reagent_containers/borghypo/Topic(var/href, var/list/href_list) if(href_list["reagent"]) var/t = reagent_ids.Find(href_list["reagent"]) if(t) playsound(src, 'sound/effects/pop.ogg', 50, 0) mode = t var/datum/reagent/R = SSchemistry.chemical_reagents[reagent_ids[mode]] - to_chat(usr, "Synthesizer is now producing '[R.name]'.") + to_chat(usr, span_notice("Synthesizer is now producing '[R.name]'.")) -/obj/item/weapon/reagent_containers/borghypo/examine(mob/user) +/obj/item/reagent_containers/borghypo/examine(mob/user) . = ..() if(get_dist(user, src) <= 2) var/datum/reagent/R = SSchemistry.chemical_reagents[reagent_ids[mode]] - . += "It is currently producing [R.name] and has [reagent_volumes[reagent_ids[mode]]] out of [volume] units left." + . += span_notice("It is currently producing [R.name] and has [reagent_volumes[reagent_ids[mode]]] out of [volume] units left.") -/obj/item/weapon/reagent_containers/borghypo/service +/obj/item/reagent_containers/borghypo/service name = "cyborg drink synthesizer" desc = "A portable drink dispencer." icon = 'icons/obj/drinks.dmi' @@ -179,10 +179,10 @@ "watermelonjuice", "whiskey") -/obj/item/weapon/reagent_containers/borghypo/service/attack(var/mob/M, var/mob/user) +/obj/item/reagent_containers/borghypo/service/attack(var/mob/M, var/mob/user) return -/obj/item/weapon/reagent_containers/borghypo/service/afterattack(var/obj/target, var/mob/user, var/proximity) +/obj/item/reagent_containers/borghypo/service/afterattack(var/obj/target, var/mob/user, var/proximity) if(!proximity) return @@ -190,15 +190,15 @@ return if(!reagent_volumes[reagent_ids[mode]]) - to_chat(user, "[src] is out of this reagent, give it some time to refill.") + to_chat(user, span_notice("[src] is out of this reagent, give it some time to refill.")) return if(!target.reagents.get_free_space()) - to_chat(user, "[target] is full.") + to_chat(user, span_notice("[target] is full.")) return var/t = min(amount_per_transfer_from_this, reagent_volumes[reagent_ids[mode]]) target.reagents.add_reagent(reagent_ids[mode], t) reagent_volumes[reagent_ids[mode]] -= t - to_chat(user, "You transfer [t] units of the solution to [target].") + to_chat(user, span_notice("You transfer [t] units of the solution to [target].")) return diff --git a/code/modules/reagents/reagent_containers/dropper.dm b/code/modules/reagents/reagent_containers/dropper.dm index 5b927424230..ecf6010821b 100644 --- a/code/modules/reagents/reagent_containers/dropper.dm +++ b/code/modules/reagents/reagent_containers/dropper.dm @@ -1,7 +1,7 @@ //////////////////////////////////////////////////////////////////////////////// /// Droppers. //////////////////////////////////////////////////////////////////////////////// -/obj/item/weapon/reagent_containers/dropper +/obj/item/reagent_containers/dropper name = "dropper" desc = "A dropper. Transfers up to 5 units at a time." icon = 'icons/obj/chemical.dmi' @@ -14,25 +14,25 @@ drop_sound = 'sound/items/drop/glass.ogg' pickup_sound = 'sound/items/pickup/glass.ogg' -/obj/item/weapon/reagent_containers/dropper/examine(var/mob/user) +/obj/item/reagent_containers/dropper/examine(var/mob/user) . = ..() if(get_dist(user, src) <= 2) if(reagents && reagents.reagent_list.len) - . += "It contains [reagents.total_volume] units of liquid." + . += span_notice("It contains [reagents.total_volume] units of liquid.") else - . += "It is empty." + . += span_notice("It is empty.") -/obj/item/weapon/reagent_containers/dropper/afterattack(var/obj/target, var/mob/user, var/proximity) +/obj/item/reagent_containers/dropper/afterattack(var/obj/target, var/mob/user, var/proximity) if(!target.reagents || !proximity) return if(reagents.total_volume) if(!target.reagents.get_free_space()) - to_chat(user, "[target] is full.") + to_chat(user, span_notice("[target] is full.")) return - if(!target.is_open_container() && !ismob(target) && !istype(target, /obj/item/weapon/reagent_containers/food) && !istype(target, /obj/item/clothing/mask/smokable/cigarette)) //You can inject humans and food but you cant remove the shit. - to_chat(user, "You cannot directly fill this object.") + if(!target.is_open_container() && !ismob(target) && !istype(target, /obj/item/reagent_containers/food) && !istype(target, /obj/item/clothing/mask/smokable/cigarette)) //You can inject humans and food but you cant remove the shit. + to_chat(user, span_notice("You cannot directly fill this object.")) return var/trans = 0 @@ -40,7 +40,7 @@ if(ismob(target)) var/time = 20 //2/3rds the time of a syringe - user.visible_message("[user] is trying to squirt something into [target]'s eyes!") + user.visible_message(span_warning("[user] is trying to squirt something into [target]'s eyes!")) if(!do_mob(user, target, time)) return @@ -61,7 +61,7 @@ if(safe_thing) trans = reagents.splash(safe_thing, min(amount_per_transfer_from_this, reagents.total_volume), max_spill=30) - user.visible_message("[user] tries to squirt something into [target]'s eyes, but fails!", "You transfer [trans] units of the solution.") + user.visible_message(span_warning("[user] tries to squirt something into [target]'s eyes, but fails!"), span_notice("You transfer [trans] units of the solution.")) return var/contained = reagentlist() @@ -69,40 +69,40 @@ trans += reagents.trans_to_mob(target, min(amount_per_transfer_from_this, reagents.total_volume)/2, CHEM_INGEST) //Half injected, half ingested trans += reagents.trans_to_mob(target, min(amount_per_transfer_from_this, reagents.total_volume), CHEM_BLOOD) //I guess it gets into the bloodstream through the eyes or something - user.visible_message("[user] squirts something into [target]'s eyes!", "You transfer [trans] units of the solution.") + user.visible_message(span_warning("[user] squirts something into [target]'s eyes!"), span_notice("You transfer [trans] units of the solution.")) return else trans = reagents.trans_to_obj(target, amount_per_transfer_from_this) - to_chat(user, "You transfer [trans] units of the solution.") + to_chat(user, span_notice("You transfer [trans] units of the solution.")) else // Taking from something if(!target.is_open_container() && !istype(target,/obj/structure/reagent_dispensers)) - to_chat(user, "You cannot directly remove reagents from [target].") + to_chat(user, span_notice("You cannot directly remove reagents from [target].")) return if(!target.reagents || !target.reagents.total_volume) - to_chat(user, "[target] is empty.") + to_chat(user, span_notice("[target] is empty.")) return var/trans = target.reagents.trans_to_obj(src, amount_per_transfer_from_this) - to_chat(user, "You fill the dropper with [trans] units of the solution.") + to_chat(user, span_notice("You fill the dropper with [trans] units of the solution.")) return -/obj/item/weapon/reagent_containers/dropper/on_reagent_change() +/obj/item/reagent_containers/dropper/on_reagent_change() update_icon() -/obj/item/weapon/reagent_containers/dropper/update_icon() +/obj/item/reagent_containers/dropper/update_icon() if(reagents.total_volume) icon_state = "dropper1" else icon_state = "dropper0" -/obj/item/weapon/reagent_containers/dropper/industrial +/obj/item/reagent_containers/dropper/industrial name = "Industrial Dropper" desc = "A larger dropper. Transfers up to 10 units at a time." amount_per_transfer_from_this = 10 diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index ef71cc5987c..0298998d7f4 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -2,7 +2,7 @@ //////////////////////////////////////////////////////////////////////////////// /// (Mixing)Glass. //////////////////////////////////////////////////////////////////////////////// -/obj/item/weapon/reagent_containers/glass +/obj/item/reagent_containers/glass name = " " var/base_name = " " desc = " " @@ -18,6 +18,7 @@ unacidable = TRUE //glass doesn't dissolve in acid drop_sound = 'sound/items/drop/bottle.ogg' pickup_sound = 'sound/items/pickup/bottle.ogg' + description_info = "Clicking on a venomous animal (or person) with the lid closed will express their venom into the beaker!" var/label_text = "" @@ -30,28 +31,27 @@ /obj/structure/table, /obj/structure/closet, /obj/structure/sink, - /obj/item/weapon/storage, + /obj/item/storage, /obj/machinery/atmospherics/unary/cryo_cell, /obj/machinery/dna_scannernew, - /obj/item/weapon/grenade/chem_grenade, + /obj/item/grenade/chem_grenade, /mob/living/bot/medbot, - /obj/item/weapon/storage/secure/safe, + /obj/item/storage/secure/safe, /obj/machinery/iv_drip, /obj/structure/medical_stand, //VOREStation Add, - /obj/machinery/disease2/incubator, /obj/machinery/disposal, /mob/living/simple_mob/animal/passive/cow, /mob/living/simple_mob/animal/goat, - /obj/machinery/computer/centrifuge, /obj/machinery/sleeper, /obj/machinery/smartfridge/, /obj/machinery/biogenerator, /obj/structure/frame, /obj/machinery/radiocarbon_spectrometer, - /obj/machinery/portable_atmospherics/powered/reagent_distillery + /obj/machinery/portable_atmospherics/powered/reagent_distillery, + /obj/machinery/computer/pandemic ) -/obj/item/weapon/reagent_containers/glass/Initialize() +/obj/item/reagent_containers/glass/Initialize() . = ..() if(LAZYLEN(prefill)) for(var/R in prefill) @@ -61,48 +61,74 @@ base_name = name base_desc = desc -/obj/item/weapon/reagent_containers/glass/examine(var/mob/user) +/obj/item/reagent_containers/glass/examine(var/mob/user) . = ..() if(get_dist(user, src) <= 2) if(reagents && reagents.reagent_list.len) - . += "It contains [reagents.total_volume] units of liquid." + . += span_notice("It contains [reagents.total_volume] units of liquid.") else - . += "It is empty." + . += span_notice("It is empty.") if(!is_open_container()) - . += "Airtight lid seals it completely." + . += span_notice("Airtight lid seals it completely.") -/obj/item/weapon/reagent_containers/glass/attack_self() +/obj/item/reagent_containers/glass/attack_self() ..() if(is_open_container()) - to_chat(usr, "You put the lid on \the [src].") + to_chat(usr, span_notice("You put the lid on \the [src].")) flags ^= OPENCONTAINER else - to_chat(usr, "You take the lid off \the [src].") + to_chat(usr, span_notice("You take the lid off \the [src].")) flags |= OPENCONTAINER update_icon() -/obj/item/weapon/reagent_containers/glass/attack(mob/M as mob, mob/user as mob, def_zone) +/obj/item/reagent_containers/glass/attack(mob/M as mob, mob/user as mob, def_zone) if(force && !(flags & NOBLUDGEON) && user.a_intent == I_HURT) return ..() + // If the container is *closed* we do snake milking!~ + if(!is_open_container() && isliving(M)) + return attempt_snake_milking(user, M) + if(standard_feed_mob(user, M)) return return 0 -/obj/item/weapon/reagent_containers/glass/standard_feed_mob(var/mob/user, var/mob/target) - if(!is_open_container()) - to_chat(user, "You need to open \the [src] first.") - return 1 +/obj/item/reagent_containers/glass/standard_feed_mob(var/mob/user, var/mob/target) if(user.a_intent == I_HURT) return 1 return ..() -/obj/item/weapon/reagent_containers/glass/self_feed_message(var/mob/user) - to_chat(user, "You swallow a gulp from \the [src].") +/obj/item/reagent_containers/glass/self_feed_message(var/mob/user) + to_chat(user, span_notice("You swallow a gulp from \the [src].")) + +/obj/item/reagent_containers/glass/proc/attempt_snake_milking(mob/living/user, mob/living/target) + var/reagent + var/amount + + if(target.trait_injection_selected) + reagent = target.trait_injection_selected + amount = target.trait_injection_amount + else if(istype(target, /mob/living/simple_mob/animal/giant_spider)) + var/mob/living/simple_mob/animal/giant_spider/spider = target + reagent = spider.poison_type + amount = spider.poison_per_bite + + if(!reagent || !amount) + to_chat(user, span_warning("[target] does not have venom you can express. Open the beaker to drink from it.")) + return TRUE + + if(TIMER_COOLDOWN_RUNNING(target, COOLDOWN_VENOM_MILKING)) + user.visible_message(span_warning("[user] attempts to express venom from [target], but nothing happens."), span_warning("[target] had their venom expressed too recently, try again later.")) + return TRUE + + TIMER_COOLDOWN_START(target, COOLDOWN_VENOM_MILKING, 30 SECONDS) + user.visible_message(span_notice("[user] expresses venom from [target].")) + reagents.add_reagent(reagent, amount) + return TRUE -/obj/item/weapon/reagent_containers/glass/afterattack(var/obj/target, var/mob/user, var/proximity) - if(!is_open_container() || !proximity) //Is the container open & are they next to whatever they're clicking? +/obj/item/reagent_containers/glass/afterattack(var/obj/target, var/mob/user, var/proximity) + if(!proximity || !is_open_container()) //Is the container open & are they next to whatever they're clicking? return 1 //If not, do nothing. for(var/type in can_be_placed_into) //Is it something it can be placed into? if(istype(target, type)) @@ -115,31 +141,31 @@ if(standard_splash_mob(user,target)) return 1 if(reagents && reagents.total_volume) - to_chat(user, "You splash the solution onto [target].") //They are on harm intent, aka wanting to spill it. + to_chat(user, span_notice("You splash the solution onto [target].")) //They are on harm intent, aka wanting to spill it. reagents.splash(target, reagents.total_volume) return 1 ..() -/obj/item/weapon/reagent_containers/glass/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W, /obj/item/weapon/pen) || istype(W, /obj/item/device/flashlight/pen)) +/obj/item/reagent_containers/glass/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W, /obj/item/pen) || istype(W, /obj/item/flashlight/pen)) var/tmp_label = sanitizeSafe(tgui_input_text(user, "Enter a label for [name]", "Label", label_text, MAX_NAME_LEN), MAX_NAME_LEN) if(length(tmp_label) > 50) - to_chat(user, "The label can be at most 50 characters long.") + to_chat(user, span_notice("The label can be at most 50 characters long.")) else if(length(tmp_label) > 10) - to_chat(user, "You set the label.") + to_chat(user, span_notice("You set the label.")) label_text = tmp_label update_name_label() else - to_chat(user, "You set the label to \"[tmp_label]\".") + to_chat(user, span_notice("You set the label to \"[tmp_label]\".")) label_text = tmp_label update_name_label() - if(istype(W,/obj/item/weapon/storage/bag)) + if(istype(W,/obj/item/storage/bag)) ..() if(W && W.w_class <= w_class && (flags & OPENCONTAINER) && user.a_intent != I_HELP) - to_chat(user, "You dip \the [W] into \the [src].") + to_chat(user, span_notice("You dip \the [W] into \the [src].")) reagents.touch_obj(W, reagents.total_volume) -/obj/item/weapon/reagent_containers/glass/proc/update_name_label() +/obj/item/reagent_containers/glass/proc/update_name_label() if(label_text == "") name = base_name else if(length(label_text) > 20) @@ -150,7 +176,7 @@ desc = "[base_desc] It is labeled \"[label_text]\"." update_icon() -/obj/item/weapon/reagent_containers/glass/beaker +/obj/item/reagent_containers/glass/beaker name = "beaker" desc = "A beaker." icon = 'icons/obj/chemical.dmi' @@ -162,29 +188,29 @@ pickup_sound = 'sound/items/pickup/glass.ogg' var/rating = 1 -/obj/item/weapon/reagent_containers/glass/beaker/get_rating() +/obj/item/reagent_containers/glass/beaker/get_rating() return rating -/obj/item/weapon/reagent_containers/glass/beaker/Initialize() +/obj/item/reagent_containers/glass/beaker/Initialize() . = ..() desc += " Can hold up to [volume] units." -/obj/item/weapon/reagent_containers/glass/beaker/on_reagent_change() +/obj/item/reagent_containers/glass/beaker/on_reagent_change() update_icon() -/obj/item/weapon/reagent_containers/glass/beaker/pickup(mob/user) +/obj/item/reagent_containers/glass/beaker/pickup(mob/user) ..() update_icon() -/obj/item/weapon/reagent_containers/glass/beaker/dropped(mob/user) +/obj/item/reagent_containers/glass/beaker/dropped(mob/user) ..() update_icon() -/obj/item/weapon/reagent_containers/glass/beaker/attack_hand() +/obj/item/reagent_containers/glass/beaker/attack_hand() ..() update_icon() -/obj/item/weapon/reagent_containers/glass/beaker/update_icon() +/obj/item/reagent_containers/glass/beaker/update_icon() cut_overlays() if(reagents.total_volume) @@ -208,7 +234,7 @@ if (label_text) add_overlay("label_[initial(icon_state)]") -/obj/item/weapon/reagent_containers/glass/beaker/large +/obj/item/reagent_containers/glass/beaker/large name = "large beaker" desc = "A large beaker." icon_state = "beakerlarge" @@ -220,7 +246,7 @@ flags = OPENCONTAINER rating = 3 -/obj/item/weapon/reagent_containers/glass/beaker/noreact +/obj/item/reagent_containers/glass/beaker/noreact name = "cryostasis beaker" desc = "A cryostasis beaker that allows for chemical storage without reactions." icon_state = "beakernoreact" @@ -230,7 +256,7 @@ amount_per_transfer_from_this = 10 flags = OPENCONTAINER | NOREACT -/obj/item/weapon/reagent_containers/glass/beaker/bluespace +/obj/item/reagent_containers/glass/beaker/bluespace name = "bluespace beaker" desc = "A bluespace beaker, powered by experimental bluespace technology." icon_state = "beakerbluespace" @@ -242,7 +268,7 @@ flags = OPENCONTAINER rating = 5 -/obj/item/weapon/reagent_containers/glass/beaker/vial +/obj/item/reagent_containers/glass/beaker/vial name = "vial" desc = "A small glass vial." icon_state = "vial" @@ -254,14 +280,14 @@ possible_transfer_amounts = list(5,10,15,30) flags = OPENCONTAINER -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone +/obj/item/reagent_containers/glass/beaker/cryoxadone name = "beaker (cryoxadone)" prefill = list("cryoxadone" = 30) -/obj/item/weapon/reagent_containers/glass/beaker/sulphuric +/obj/item/reagent_containers/glass/beaker/sulphuric prefill = list("sacid" = 60) -/obj/item/weapon/reagent_containers/glass/beaker/stopperedbottle +/obj/item/reagent_containers/glass/beaker/stopperedbottle name = "stoppered bottle" desc = "A stoppered bottle for keeping beverages fresh." icon_state = "stopperedbottle" @@ -271,7 +297,7 @@ possible_transfer_amounts = list(5,10,15,25,30,60,120) flags = OPENCONTAINER -/obj/item/weapon/reagent_containers/glass/bucket +/obj/item/reagent_containers/glass/bucket desc = "It's a bucket." name = "bucket" icon = 'icons/obj/janitor.dmi' @@ -288,16 +314,16 @@ drop_sound = 'sound/items/drop/helm.ogg' pickup_sound = 'sound/items/pickup/helm.ogg' -/obj/item/weapon/reagent_containers/glass/bucket/attackby(var/obj/item/D, mob/user as mob) +/obj/item/reagent_containers/glass/bucket/attackby(var/obj/item/D, mob/user as mob) if(isprox(D)) to_chat(user, "You add [D] to [src].") qdel(D) - user.put_in_hands(new /obj/item/weapon/bucket_sensor) + user.put_in_hands(new /obj/item/bucket_sensor) user.drop_from_inventory(src) qdel(src) return else if(D.has_tool_quality(TOOL_WIRECUTTER)) - to_chat(user, "You cut a big hole in \the [src] with \the [D]. It's kinda useless as a bucket now.") + to_chat(user, span_notice("You cut a big hole in \the [src] with \the [D]. It's kinda useless as a bucket now.")) user.put_in_hands(new /obj/item/clothing/head/helmet/bucket) user.drop_from_inventory(src) qdel(src) @@ -305,31 +331,31 @@ else if(istype(D, /obj/item/stack/material) && D.get_material_name() == MAT_STEEL) var/obj/item/stack/material/M = D if (M.use(1)) - var/obj/item/weapon/secbot_assembly/edCLN_assembly/B = new /obj/item/weapon/secbot_assembly/edCLN_assembly + var/obj/item/secbot_assembly/edCLN_assembly/B = new /obj/item/secbot_assembly/edCLN_assembly B.loc = get_turf(src) - to_chat(user, "You armed the robot frame.") + to_chat(user, span_notice("You armed the robot frame.")) if (user.get_inactive_hand()==src) user.remove_from_mob(src) user.put_in_inactive_hand(B) qdel(src) else - to_chat(user, "You need one sheet of metal to arm the robot frame.") - else if(istype(D, /obj/item/weapon/mop) || istype(D, /obj/item/weapon/soap) || istype(D, /obj/item/weapon/reagent_containers/glass/rag)) //VOREStation Edit - "Allows soap and rags to be used on buckets" + to_chat(user, span_warning("You need one sheet of metal to arm the robot frame.")) + else if(istype(D, /obj/item/mop) || istype(D, /obj/item/soap) || istype(D, /obj/item/reagent_containers/glass/rag)) //VOREStation Edit - "Allows soap and rags to be used on buckets" if(reagents.total_volume < 1) - to_chat(user, "\The [src] is empty!") + to_chat(user, span_warning("\The [src] is empty!")) else reagents.trans_to_obj(D, 5) - to_chat(user, "You wet \the [D] in \the [src].") + to_chat(user, span_notice("You wet \the [D] in \the [src].")) playsound(src, 'sound/effects/slosh.ogg', 25, 1) else return ..() -/obj/item/weapon/reagent_containers/glass/bucket/update_icon() +/obj/item/reagent_containers/glass/bucket/update_icon() cut_overlays() if (!is_open_container()) add_overlay("lid_[initial(icon_state)]") -/obj/item/weapon/reagent_containers/glass/bucket/wood +/obj/item/reagent_containers/glass/bucket/wood desc = "An old wooden bucket." name = "wooden bucket" icon = 'icons/obj/janitor.dmi' @@ -346,39 +372,46 @@ drop_sound = 'sound/items/drop/wooden.ogg' pickup_sound = 'sound/items/pickup/wooden.ogg' -/obj/item/weapon/reagent_containers/glass/bucket/wood/attackby(var/obj/D, mob/user as mob) +/obj/item/reagent_containers/glass/bucket/wood/attackby(var/obj/D, mob/user as mob) if(isprox(D)) to_chat(user, "This wooden bucket doesn't play well with electronics.") return - else if(istype(D, /obj/item/weapon/material/knife/machete/hatchet)) - to_chat(user, "You cut a big hole in \the [src] with \the [D]. It's kinda useless as a bucket now.") + else if(istype(D, /obj/item/material/knife/machete/hatchet)) + to_chat(user, span_notice("You cut a big hole in \the [src] with \the [D]. It's kinda useless as a bucket now.")) user.put_in_hands(new /obj/item/clothing/head/helmet/bucket/wood) user.drop_from_inventory(src) qdel(src) return - else if(istype(D, /obj/item/weapon/mop)) + else if(istype(D, /obj/item/mop)) if(reagents.total_volume < 1) - to_chat(user, "\The [src] is empty!") + to_chat(user, span_warning("\The [src] is empty!")) else reagents.trans_to_obj(D, 5) - to_chat(user, "You wet \the [D] in \the [src].") + to_chat(user, span_notice("You wet \the [D] in \the [src].")) playsound(src, 'sound/effects/slosh.ogg', 25, 1) return else return ..() -/obj/item/weapon/reagent_containers/glass/cooler_bottle +/obj/item/reagent_containers/glass/cooler_bottle desc = "A bottle for a water-cooler." name = "water-cooler bottle" icon = 'icons/obj/vending.dmi' icon_state = "water_cooler_bottle" - matter = list(MAT_GLASS = 2000) - w_class = ITEMSIZE_NORMAL + matter = list(MAT_PLASTIC = 2000) + w_class = ITEMSIZE_NO_CONTAINER amount_per_transfer_from_this = 20 possible_transfer_amounts = list(10,20,30,60,120) - volume = 120 + volume = 2000 + slowdown = 2 + + can_be_placed_into = list( + /obj/structure/table, + /obj/structure/closet, + /obj/structure/sink + ) -/obj/item/weapon/reagent_containers/glass/pint_mug +/obj/item/reagent_containers/glass/pint_mug desc = "A rustic pint mug designed for drinking ale." name = "pint mug" icon = 'icons/obj/drinks.dmi' diff --git a/code/modules/reagents/reagent_containers/glass_vr.dm b/code/modules/reagents/reagent_containers/glass_vr.dm index 350a64e224b..2249ddd7647 100644 --- a/code/modules/reagents/reagent_containers/glass_vr.dm +++ b/code/modules/reagents/reagent_containers/glass_vr.dm @@ -1,88 +1,88 @@ -/obj/item/weapon/reagent_containers/glass/beaker/neurotoxin +/obj/item/reagent_containers/glass/beaker/neurotoxin prefill = list("neurotoxin" = 50) -/obj/item/weapon/reagent_containers/glass/beaker/vial/bicaridine +/obj/item/reagent_containers/glass/beaker/vial/bicaridine name = "vial (bicaridine)" prefill = list("bicaridine" = 30) -/obj/item/weapon/reagent_containers/glass/beaker/vial/dylovene +/obj/item/reagent_containers/glass/beaker/vial/dylovene name = "vial (dylovene)" prefill = list("dylovene" = 30) -/obj/item/weapon/reagent_containers/glass/beaker/vial/dermaline +/obj/item/reagent_containers/glass/beaker/vial/dermaline name = "vial (dermaline)" prefill = list("dermaline" = 30) -/obj/item/weapon/reagent_containers/glass/beaker/vial/kelotane +/obj/item/reagent_containers/glass/beaker/vial/kelotane name = "vial (kelotane)" prefill = list("kelotane" = 30) -/obj/item/weapon/reagent_containers/glass/beaker/vial/inaprovaline +/obj/item/reagent_containers/glass/beaker/vial/inaprovaline name = "vial (inaprovaline)" prefill = list("inaprovaline" = 30) -/obj/item/weapon/reagent_containers/glass/beaker/vial/dexalin +/obj/item/reagent_containers/glass/beaker/vial/dexalin name = "vial (dexalin)" prefill = list("dexalin" = 30) -/obj/item/weapon/reagent_containers/glass/beaker/vial/dexalinplus +/obj/item/reagent_containers/glass/beaker/vial/dexalinplus name = "vial (dexalinp)" prefill = list("dexalinp" = 30) -/obj/item/weapon/reagent_containers/glass/beaker/vial/tricordrazine +/obj/item/reagent_containers/glass/beaker/vial/tricordrazine name = "vial (tricordrazine)" prefill = list("tricordrazine" = 30) -/obj/item/weapon/reagent_containers/glass/beaker/vial/alkysine +/obj/item/reagent_containers/glass/beaker/vial/alkysine name = "vial (alkysine)" prefill = list("alkysine" = 30) -/obj/item/weapon/reagent_containers/glass/beaker/vial/imidazoline +/obj/item/reagent_containers/glass/beaker/vial/imidazoline name = "vial (imidazoline)" prefill = list("imidazoline" = 30) -/obj/item/weapon/reagent_containers/glass/beaker/vial/peridaxon +/obj/item/reagent_containers/glass/beaker/vial/peridaxon name = "vial (peridaxon)" prefill = list("peridaxon" = 30) -/obj/item/weapon/reagent_containers/glass/beaker/vial/hyronalin +/obj/item/reagent_containers/glass/beaker/vial/hyronalin name = "vial (hyronalin)" prefill = list("hyronalin" = 30) -/obj/item/weapon/reagent_containers/glass/beaker/vial/amorphorovir +/obj/item/reagent_containers/glass/beaker/vial/amorphorovir name = "vial (amorphorovir)" prefill = list("amorphorovir" = 1) -/obj/item/weapon/reagent_containers/glass/beaker/vial/androrovir +/obj/item/reagent_containers/glass/beaker/vial/androrovir name = "vial (androrovir)" prefill = list("androrovir" = 1) -/obj/item/weapon/reagent_containers/glass/beaker/vial/gynorovir +/obj/item/reagent_containers/glass/beaker/vial/gynorovir name = "vial (gynorovir)" prefill = list("gynorovir" = 1) -/obj/item/weapon/reagent_containers/glass/beaker/vial/androgynorovir +/obj/item/reagent_containers/glass/beaker/vial/androgynorovir name = "vial (androgynorovir)" prefill = list("androgynorovir" = 1) -/obj/item/weapon/reagent_containers/glass/beaker/vial/macrocillin +/obj/item/reagent_containers/glass/beaker/vial/macrocillin name = "vial (macrocillin)" prefill = list("macrocillin" = 1) -/obj/item/weapon/reagent_containers/glass/beaker/vial/microcillin +/obj/item/reagent_containers/glass/beaker/vial/microcillin name = "vial (microcillin)" prefill = list("microcillin" = 1) -/obj/item/weapon/reagent_containers/glass/beaker/vial/normalcillin +/obj/item/reagent_containers/glass/beaker/vial/normalcillin name = "vial (normalcillin)" prefill = list("normalcillin" = 1) -/obj/item/weapon/reagent_containers/glass/beaker/vial/supermatter +/obj/item/reagent_containers/glass/beaker/vial/supermatter name = "vial (supermatter)" desc = "A glass vial containing the extremely dangerous results of grinding a shard of supermatter down to a fine powder." prefill = list("supermatter" = 5) -/obj/item/weapon/reagent_containers/glass/beaker/measuring_cup +/obj/item/reagent_containers/glass/beaker/measuring_cup name = "measuring cup" desc = "A measuring cup." icon = 'icons/obj/chemical_vr.dmi' diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index ae3e65f89df..0ba23194183 100644 --- a/code/modules/reagents/reagent_containers/hypospray.dm +++ b/code/modules/reagents/reagent_containers/hypospray.dm @@ -2,7 +2,7 @@ /// HYPOSPRAY //////////////////////////////////////////////////////////////////////////////// -/obj/item/weapon/reagent_containers/hypospray +/obj/item/reagent_containers/hypospray name = "hypospray" desc = "The DeForest Medical Corporation hypospray is a sterile, air-needle autoinjector for rapid administration of drugs to patients." icon = 'icons/obj/syringe.dmi' @@ -21,7 +21,7 @@ var/list/filled_reagents = list() var/hyposound // What sound do we play on use? -/obj/item/weapon/reagent_containers/hypospray/Initialize() +/obj/item/reagent_containers/hypospray/Initialize() . = ..() if(filled) if(filled_reagents) @@ -29,9 +29,9 @@ reagents.add_reagent(r, filled_reagents[r]) update_icon() -/obj/item/weapon/reagent_containers/hypospray/attack(mob/living/M as mob, mob/user as mob) +/obj/item/reagent_containers/hypospray/attack(mob/living/M as mob, mob/user as mob) if(!reagents.total_volume) - to_chat(user, "[src] is empty.") + to_chat(user, span_warning("[src] is empty.")) return if (!istype(M)) return @@ -40,26 +40,26 @@ if(istype(H)) var/obj/item/organ/external/affected = H.get_organ(user.zone_sel.selecting) if(!affected) - to_chat(user, "\The [H] is missing that limb!") + to_chat(user, span_danger("\The [H] is missing that limb!")) return /* since synths have oil/coolant streams now, it only makes sense that you should be able to inject stuff. preserved for posterity. else if(affected.robotic >= ORGAN_ROBOT) - to_chat(user, "You cannot inject a robotic limb.") + to_chat(user, span_danger("You cannot inject a robotic limb.")) return */ //VOREStation Add Start - Adds Prototype Hypo functionality if(H != user && prototype) - to_chat(user, "You begin injecting [H] with \the [src].") - to_chat(H, " [user] is trying to inject you with \the [src]!") + to_chat(user, span_notice("You begin injecting [H] with \the [src].")) + to_chat(H, span_danger(" [user] is trying to inject you with \the [src]!")) if(!do_after(user, 30, H)) return //VOREstation Add End else if(!H.stat && !prototype) //VOREStation Edit if(H != user) if(H.a_intent != I_HELP) - to_chat(user, "[H] is resisting your attempt to inject them with \the [src].") - to_chat(H, " [user] is trying to inject you with \the [src]!") + to_chat(user, span_notice("[H] is resisting your attempt to inject them with \the [src].")) + to_chat(H, span_danger(" [user] is trying to inject you with \the [src]!")) if(!do_after(user, 30, H)) return @@ -67,13 +67,13 @@ return // This does the actual injection and transfer. -/obj/item/weapon/reagent_containers/hypospray/proc/do_injection(mob/living/carbon/human/H, mob/living/user) +/obj/item/reagent_containers/hypospray/proc/do_injection(mob/living/carbon/human/H, mob/living/user) if(!istype(H) || !istype(user)) return FALSE user.setClickCooldown(DEFAULT_QUICK_COOLDOWN) - to_chat(user, span("notice", "You inject \the [H] with \the [src].")) - to_chat(H, span("warning", "You feel a tiny prick!")) + to_chat(user, span_notice("You inject \the [H] with \the [src].")) + to_chat(H, span_warning("You feel a tiny prick!")) if(hyposound) playsound(src, hyposound, 25) @@ -82,26 +82,26 @@ var/contained = reagentlist() var/trans = reagents.trans_to_mob(H, amount_per_transfer_from_this, CHEM_BLOOD) add_attack_logs(user,H,"Injected with [src.name] containing [contained], trasferred [trans] units") - to_chat(user, span("notice", "[trans] units injected. [reagents.total_volume] units remaining in \the [src].")) + to_chat(user, span_notice("[trans] units injected. [reagents.total_volume] units remaining in \the [src].")) return TRUE return FALSE //A vial-loaded hypospray. Cartridge-based! -/obj/item/weapon/reagent_containers/hypospray/vial +/obj/item/reagent_containers/hypospray/vial name = "advanced hypospray" icon_state = "advhypo" desc = "A new development from DeForest Medical, this new hypospray takes 30-unit vials as the drug supply for easy swapping." - var/obj/item/weapon/reagent_containers/glass/beaker/vial/loaded_vial //Wow, what a name. + var/obj/item/reagent_containers/glass/beaker/vial/loaded_vial //Wow, what a name. volume = 0 -/obj/item/weapon/reagent_containers/hypospray/vial/Initialize() +/obj/item/reagent_containers/hypospray/vial/Initialize() . = ..() icon_state = "[initial(icon_state)]" - loaded_vial = new /obj/item/weapon/reagent_containers/glass/beaker/vial(src) //Comes with an empty vial + loaded_vial = new /obj/item/reagent_containers/glass/beaker/vial(src) //Comes with an empty vial volume = loaded_vial.volume reagents.maximum_volume = loaded_vial.reagents.maximum_volume -/obj/item/weapon/reagent_containers/hypospray/vial/attack_hand(mob/user as mob) +/obj/item/reagent_containers/hypospray/vial/attack_hand(mob/user as mob) if(user.get_inactive_hand() == src) if(loaded_vial) reagents.trans_to_holder(loaded_vial.reagents,volume) @@ -109,7 +109,7 @@ loaded_vial.update_icon() user.put_in_hands(loaded_vial) loaded_vial = null - to_chat(user, "You remove the vial from the [src].") + to_chat(user, span_notice("You remove the vial from the [src].")) update_icon() playsound(src, 'sound/weapons/flipblade.ogg', 50, 1) return @@ -117,17 +117,17 @@ else return ..() -/obj/item/weapon/reagent_containers/hypospray/vial/update_icon() +/obj/item/reagent_containers/hypospray/vial/update_icon() ..() if(loaded_vial) icon_state = "[initial(icon_state)]" else icon_state = "[initial(icon_state)]_empty" -/obj/item/weapon/reagent_containers/hypospray/vial/attackby(obj/item/weapon/W, mob/user as mob) - if(istype(W, /obj/item/weapon/reagent_containers/glass/beaker/vial)) +/obj/item/reagent_containers/hypospray/vial/attackby(obj/item/W, mob/user as mob) + if(istype(W, /obj/item/reagent_containers/glass/beaker/vial)) if(!loaded_vial) - user.visible_message("[user] begins loading [W] into \the [src].","You start loading [W] into \the [src].") + user.visible_message(span_notice("[user] begins loading [W] into \the [src]."),span_notice("You start loading [W] into \the [src].")) if(!do_after(user,30) || loaded_vial || !(W in user)) return 0 if(W.is_open_container()) @@ -138,15 +138,15 @@ loaded_vial = W reagents.maximum_volume = loaded_vial.reagents.maximum_volume loaded_vial.reagents.trans_to_holder(reagents,volume) - user.visible_message("[user] has loaded [W] into \the [src].","You have loaded [W] into \the [src].") + user.visible_message(span_notice("[user] has loaded [W] into \the [src]."),span_notice("You have loaded [W] into \the [src].")) update_icon() playsound(src, 'sound/weapons/empty.ogg', 50, 1) else - to_chat(user, "\The [src] already has a vial.") + to_chat(user, span_notice("\The [src] already has a vial.")) else ..() -/obj/item/weapon/reagent_containers/hypospray/autoinjector +/obj/item/reagent_containers/hypospray/autoinjector name = "autoinjector" desc = "A rapid and safe way to administer small amounts of drugs by untrained or trained personnel." icon_state = "blue" @@ -158,57 +158,57 @@ preserve_item = 0 hyposound = 'sound/effects/hypospray.ogg' -/obj/item/weapon/reagent_containers/hypospray/autoinjector/on_reagent_change() +/obj/item/reagent_containers/hypospray/autoinjector/on_reagent_change() ..() update_icon() -/obj/item/weapon/reagent_containers/hypospray/autoinjector/empty +/obj/item/reagent_containers/hypospray/autoinjector/empty filled = 0 filled_reagents = list() -/obj/item/weapon/reagent_containers/hypospray/autoinjector/used/Initialize() +/obj/item/reagent_containers/hypospray/autoinjector/used/Initialize() . = ..() flags &= ~OPENCONTAINER icon_state = "[initial(icon_state)]0" -/obj/item/weapon/reagent_containers/hypospray/autoinjector/do_injection(mob/living/carbon/human/H, mob/living/user) +/obj/item/reagent_containers/hypospray/autoinjector/do_injection(mob/living/carbon/human/H, mob/living/user) . = ..() if(.) // Will occur if successfully injected. flags &= ~OPENCONTAINER update_icon() -/obj/item/weapon/reagent_containers/hypospray/autoinjector/update_icon() +/obj/item/reagent_containers/hypospray/autoinjector/update_icon() if(reagents.total_volume > 0) icon_state = "[initial(icon_state)]1" else icon_state = "[initial(icon_state)]0" -/obj/item/weapon/reagent_containers/hypospray/autoinjector/examine(mob/user) +/obj/item/reagent_containers/hypospray/autoinjector/examine(mob/user) . = ..() if(reagents && reagents.reagent_list.len) - . += "It is currently loaded." + . += span_notice("It is currently loaded.") else - . += "It is spent." + . += span_notice("It is spent.") -/obj/item/weapon/reagent_containers/hypospray/autoinjector/detox +/obj/item/reagent_containers/hypospray/autoinjector/detox name = "autoinjector (antitox)" icon_state = "green" filled_reagents = list("anti_toxin" = 5) //Special autoinjectors, while having potent chems like the 15u ones, the chems are usually potent enough that 5u is enough -/obj/item/weapon/reagent_containers/hypospray/autoinjector/bonemed +/obj/item/reagent_containers/hypospray/autoinjector/bonemed name = "bone repair injector" desc = "A rapid and safe way to administer small amounts of drugs by untrained or trained personnel. This one excels at treating damage to bones." filled_reagents = list("osteodaxon" = 5) -/obj/item/weapon/reagent_containers/hypospray/autoinjector/clonemed +/obj/item/reagent_containers/hypospray/autoinjector/clonemed name = "clone injector" desc = "A rapid and safe way to administer small amounts of drugs by untrained or trained personnel. This one excels at treating genetic damage." filled_reagents = list("rezadone" = 5) // These have a 15u capacity, somewhat higher tech level, and generally more useful chems, but are otherwise the same as the regular autoinjectors. -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector +/obj/item/reagent_containers/hypospray/autoinjector/biginjector name = "empty hypo" desc = "A refined version of the standard autoinjector, allowing greater capacity." icon_state = "autoinjector" @@ -217,145 +217,145 @@ origin_tech = list(TECH_BIO = 4) filled_reagents = list("inaprovaline" = 15) -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/empty //for the autolathe +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/empty //for the autolathe name = "large autoinjector" filled = 0 filled_reagents = list() -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/brute +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/brute name = "trauma hypo" desc = "A refined version of the standard autoinjector, allowing greater capacity. This one is made to be used on victims of \ moderate blunt trauma." filled_reagents = list("bicaridine" = 15) -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/burn +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/burn name = "burn hypo" desc = "A refined version of the standard autoinjector, allowing greater capacity. This one is made to be used on burn victims, \ featuring an optimized chemical mixture to allow for rapid healing." filled_reagents = list("kelotane" = 7.5, "dermaline" = 7.5) -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/toxin +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/toxin name = "toxin hypo" desc = "A refined version of the standard autoinjector, allowing greater capacity. This one is made to counteract toxins." filled_reagents = list("anti_toxin" = 15) -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/oxy +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/oxy name = "oxy hypo" desc = "A refined version of the standard autoinjector, allowing greater capacity. This one is made to counteract oxygen \ deprivation." filled_reagents = list("dexalinp" = 10, "tricordrazine" = 5) -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/purity +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/purity name = "purity hypo" desc = "A refined version of the standard autoinjector, allowing greater capacity. This variant excels at \ resolving viruses, infections, radiation, and genetic maladies." filled_reagents = list("spaceacillin" = 4, "arithrazine" = 5, "prussian_blue" = 5, "ryetalyn" = 1) -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/pain +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/pain name = "pain hypo" desc = "A refined version of the standard autoinjector, allowing greater capacity. This one contains potent painkillers." filled_reagents = list("tramadol" = 15) -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/organ +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/organ name = "organ hypo" desc = "A refined version of the standard autoinjector, allowing greater capacity. Organ damage is resolved by this variant." filled_reagents = list("alkysine" = 3, "imidazoline" = 2, "peridaxon" = 10) -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/combat +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/combat name = "combat hypo" desc = "A refined version of the standard autoinjector, allowing greater capacity. This is a more dangerous and potentially \ addictive hypo compared to others, as it contains a potent cocktail of various chemicals to optimize the recipient's combat \ ability." filled_reagents = list("bicaridine" = 3, "kelotane" = 1.5, "dermaline" = 1.5, "oxycodone" = 3, "hyperzine" = 3, "tricordrazine" = 3) -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/clotting +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/clotting name = "clotting agent" desc = "A refined version of the standard autoinjector, allowing greater capacity. This variant excels at treating bleeding wounds and internal bleeding." filled_reagents = list("inaprovaline" = 5, "myelamine" = 10) -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/glucose +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/glucose name = "glucose hypo" desc = "A hypoinjector filled with glucose, used for critically malnourished patients and voidsuited workers." filled_reagents = list("glucose" = 15) -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/stimm +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/stimm name = "stimm injector" desc = "A refined version of the standard autoinjector, allowing greater capacity. \ This one is filled with a home-made stimulant, with some serious side-effects." filled_reagents = list("stimm" = 10) // More than 10u will OD. -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/expired +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/expired name = "expired injector" desc = "A refined version of the standard autoinjector, allowing greater capacity. \ This one has had its contents expire a long time ago, using it now will probably make someone sick, or worse." filled_reagents = list("expired_medicine" = 15) -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/soporific +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/soporific name = "soporific injector" desc = "A refined version of the standard autoinjector, allowing greater capacity. \ This one is sometimes used by orderlies, as it has soporifics, which make someone tired and fall asleep." filled_reagents = list("stoxin" = 15) -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/cyanide +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/cyanide name = "cyanide injector" desc = "A refined version of the standard autoinjector, allowing greater capacity. \ This one contains cyanide, a lethal poison. It being inside a medical autoinjector has certain unsettling implications." filled_reagents = list("cyanide" = 15) -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/serotrotium +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/serotrotium name = "serotrotium injector" desc = "A refined version of the standard autoinjector, allowing greater capacity. \ This one is filled with serotrotium, which causes concentrated production of the serotonin neurotransmitter in humans." filled_reagents = list("serotrotium" = 15) -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/bliss +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/bliss name = "illicit injector" desc = "A refined version of the standard autoinjector, allowing greater capacity. \ This one contains various illicit drugs, held inside a hypospray to make smuggling easier." filled_reagents = list("bliss" = 15) -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/cryptobiolin +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/cryptobiolin name = "cryptobiolin injector" desc = "A refined version of the standard autoinjector, allowing greater capacity. \ This one contains cryptobiolin, which causes confusion." filled_reagents = list("cryptobiolin" = 15) -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/impedrezene +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/impedrezene name = "impedrezene injector" desc = "A refined version of the standard autoinjector, allowing greater capacity. \ This one has impedrezene inside, a narcotic that impairs higher brain functioning. \ This autoinjector is almost certainly created illegitimately." filled_reagents = list("impedrezene" = 15) -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/mindbreaker +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/mindbreaker name = "mindbreaker injector" desc = "A refined version of the standard autoinjector, allowing greater capacity. \ This one stores the dangerous hallucinogen called 'Mindbreaker', likely put in place \ by illicit groups hoping to hide their product." filled_reagents = list("mindbreaker" = 15) -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/psilocybin +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/psilocybin name = "psilocybin injector" desc = "A refined version of the standard autoinjector, allowing greater capacity. \ This has psilocybin inside, which is a strong psychotropic derived from certain species of mushroom. \ This autoinjector likely was made by criminal elements to avoid detection from casual inspection." filled_reagents = list("psilocybin" = 15) -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/mutagen +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/mutagen name = "unstable mutagen injector" desc = "A refined version of the standard autoinjector, allowing greater capacity. \ This contains unstable mutagen, which makes using this a very bad idea. It will either \ ruin your genetic health, turn you into a Five Points violation, or both!" filled_reagents = list("mutagen" = 15) -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/lexorin +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/lexorin name = "lexorin injector" desc = "A refined version of the standard autoinjector, allowing greater capacity. \ This contains lexorin, a dangerous toxin that stops respiration, and has been \ implicated in several high-profile assassinations in the past." filled_reagents = list("lexorin" = 15) -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/healing_nanites +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/healing_nanites name = "medical nanite injector" desc = "A refined version of the standard autoinjector, allowing greater capacity. \ The injector stores a slurry of highly advanced and specialized nanomachines designed \ @@ -363,7 +363,7 @@ harmlessly, and cannot self-replicate in order to remain Five Points compliant." filled_reagents = list("healing_nanites" = 15) -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/defective_nanites +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/defective_nanites name = "defective nanite injector" desc = "A refined version of the standard autoinjector, allowing greater capacity. \ The injector stores a slurry of highly advanced and specialized nanomachines that \ @@ -371,15 +371,14 @@ Because of the Five Points, these nanites cannot self-replicate." filled_reagents = list("defective_nanites" = 15) -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/contaminated +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/contaminated name = "contaminated injector" desc = "A refined version of the standard autoinjector, allowing greater capacity. \ The hypospray contains a viral agent inside, as well as a liquid substance that encourages \ the growth of the virus inside." filled_reagents = list("virusfood" = 15) -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/contaminated/do_injection(mob/living/carbon/human/H, mob/living/user) +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/contaminated/do_injection(mob/living/carbon/human/H, mob/living/user) . = ..() if(.) // Will occur if successfully injected. - infect_mob_random_lesser(H) add_attack_logs(user, H, "Infected \the [H] with \the [src], by \the [user].") diff --git a/code/modules/reagents/reagent_containers/hypospray_vr.dm b/code/modules/reagents/reagent_containers/hypospray_vr.dm index e0556a27d2d..37d273a5cf1 100644 --- a/code/modules/reagents/reagent_containers/hypospray_vr.dm +++ b/code/modules/reagents/reagent_containers/hypospray_vr.dm @@ -1,38 +1,38 @@ -/obj/item/weapon/reagent_containers/hypospray/autoinjector/burn +/obj/item/reagent_containers/hypospray/autoinjector/burn name = "autoinjector (burn)" icon_state = "purple" filled_reagents = list("dermaline" = 3.5, "leporazine" = 1.5) -/obj/item/weapon/reagent_containers/hypospray/autoinjector/trauma +/obj/item/reagent_containers/hypospray/autoinjector/trauma name = "autoinjector (trauma)" icon_state = "black" filled_reagents = list("bicaridine" = 4, "tramadol" = 1) -/obj/item/weapon/reagent_containers/hypospray/autoinjector/oxy +/obj/item/reagent_containers/hypospray/autoinjector/oxy name = "autoinjector (oxy)" icon_state = "blue" filled_reagents = list("dexalinp" = 5) -/obj/item/weapon/reagent_containers/hypospray/autoinjector/rad +/obj/item/reagent_containers/hypospray/autoinjector/rad name = "autoinjector (rad)" icon_state = "black" filled_reagents = list("hyronalin" = 5) -/obj/item/weapon/storage/box/traumainjectors +/obj/item/storage/box/traumainjectors name = "box of emergency injectors" desc = "Contains emergency autoinjectors." icon_state = "syringe" max_storage_space = ITEMSIZE_COST_SMALL * 7 // 14 starts_with = list( - /obj/item/weapon/reagent_containers/hypospray/autoinjector/trauma = 4, - /obj/item/weapon/reagent_containers/hypospray/autoinjector/detox = 2, - /obj/item/weapon/reagent_containers/hypospray/autoinjector/burn = 1 + /obj/item/reagent_containers/hypospray/autoinjector/trauma = 4, + /obj/item/reagent_containers/hypospray/autoinjector/detox = 2, + /obj/item/reagent_containers/hypospray/autoinjector/burn = 1 ) -/obj/item/weapon/reagent_containers/hypospray +/obj/item/reagent_containers/hypospray var/prototype = 0 -/obj/item/weapon/reagent_containers/hypospray/science +/obj/item/reagent_containers/hypospray/science name = "prototype hypospray" desc = "This reproduction hypospray is nearly a perfect replica of the early model DeForest hyposprays, sharing many of the same features. However, there are additional safety measures installed to prevent unwanted injections." prototype = 1 diff --git a/code/modules/reagents/reagent_containers/patch.dm b/code/modules/reagents/reagent_containers/patch.dm index e7ed52ea846..8a453173f13 100644 --- a/code/modules/reagents/reagent_containers/patch.dm +++ b/code/modules/reagents/reagent_containers/patch.dm @@ -3,7 +3,7 @@ * Patches. A subtype of pills, in order to inherit the possible future produceability within chem-masters, and dissolving. */ -/obj/item/weapon/reagent_containers/pill/patch +/obj/item/reagent_containers/pill/patch name = "patch" desc = "A patch." icon = 'icons/obj/chemical.dmi' @@ -19,7 +19,7 @@ var/pierce_material = FALSE // If true, the patch can be used through thick material. -/obj/item/weapon/reagent_containers/pill/patch/attack(mob/M as mob, mob/user as mob) +/obj/item/reagent_containers/pill/patch/attack(mob/M as mob, mob/user as mob) var/mob/living/L = user if(M == L) @@ -27,17 +27,17 @@ var/mob/living/carbon/human/H = M var/obj/item/organ/external/affecting = H.get_organ(check_zone(L.zone_sel.selecting)) if(!affecting) - to_chat(user, "The limb is missing!") + to_chat(user, span_warning("The limb is missing!")) return if(affecting.status >= ORGAN_ROBOT) - to_chat(user, "\The [src] won't work on a robotic limb!") + to_chat(user, span_notice("\The [src] won't work on a robotic limb!")) return if(!H.can_inject(user, FALSE, L.zone_sel.selecting, pierce_material)) - to_chat(user, "\The [src] can't be applied through such a thick material!") + to_chat(user, span_notice("\The [src] can't be applied through such a thick material!")) return - to_chat(H, "\The [src] is placed on your [affecting].") + to_chat(H, span_notice("\The [src] is placed on your [affecting].")) M.drop_from_inventory(src) //icon update if(reagents.total_volume) reagents.trans_to_mob(M, reagents.total_volume, CHEM_BLOOD) //CHEM_TOUCH @@ -48,29 +48,29 @@ var/mob/living/carbon/human/H = M var/obj/item/organ/external/affecting = H.get_organ(check_zone(L.zone_sel.selecting)) if(!affecting) - to_chat(user, "The limb is missing!") + to_chat(user, span_warning("The limb is missing!")) return if(affecting.status >= ORGAN_ROBOT) - to_chat(user, "\The [src] won't work on a robotic limb!") + to_chat(user, span_notice("\The [src] won't work on a robotic limb!")) return if(!H.can_inject(user, FALSE, L.zone_sel.selecting, pierce_material)) - to_chat(user, "\The [src] can't be applied through such a thick material!") + to_chat(user, span_notice("\The [src] can't be applied through such a thick material!")) return - user.visible_message("[user] attempts to place \the [src] onto [H]`s [affecting].") + user.visible_message(span_warning("[user] attempts to place \the [src] onto [H]`s [affecting].")) user.setClickCooldown(user.get_attack_speed(src)) if(!do_mob(user, M)) return user.drop_from_inventory(src) //icon update - user.visible_message("[user] applies \the [src] to [H].") + user.visible_message(span_warning("[user] applies \the [src] to [H].")) var/contained = reagentlist() add_attack_logs(user,M,"Applied a patch containing [contained]") - to_chat(H, "\The [src] is placed on your [affecting].") + to_chat(H, span_notice("\The [src] is placed on your [affecting].")) M.drop_from_inventory(src) //icon update if(reagents.total_volume) @@ -79,4 +79,4 @@ return 1 - return 0 \ No newline at end of file + return 0 diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm index 7f4eb746293..88dde6b271f 100644 --- a/code/modules/reagents/reagent_containers/pill.dm +++ b/code/modules/reagents/reagent_containers/pill.dm @@ -1,7 +1,7 @@ //////////////////////////////////////////////////////////////////////////////// /// Pills. //////////////////////////////////////////////////////////////////////////////// -/obj/item/weapon/reagent_containers/pill +/obj/item/reagent_containers/pill name = "pill" desc = "A pill." icon = 'icons/obj/chemical.dmi' @@ -17,12 +17,12 @@ slot_flags = SLOT_EARS volume = 60 -/obj/item/weapon/reagent_containers/pill/Initialize() +/obj/item/reagent_containers/pill/Initialize() . = ..() if(!icon_state) icon_state = "[base_state][rand(1, 4)]" //preset pills only use colour changing or unique icons -/obj/item/weapon/reagent_containers/pill/attack(mob/M as mob, mob/user as mob) +/obj/item/reagent_containers/pill/attack(mob/M as mob, mob/user as mob) if(M == user) if(istype(M, /mob/living/carbon/human)) var/mob/living/carbon/human/H = M @@ -31,10 +31,10 @@ return var/obj/item/blocked = H.check_mouth_coverage() if(blocked) - to_chat(user, "\The [blocked] is in the way!") + to_chat(user, span_warning("\The [blocked] is in the way!")) return - to_chat(M, "You swallow \the [src].") + to_chat(M, span_notice("You swallow \the [src].")) M.drop_from_inventory(src) //icon update if(reagents.total_volume) reagents.trans_to_mob(M, reagents.total_volume, CHEM_INGEST) @@ -49,17 +49,17 @@ return var/obj/item/blocked = H.check_mouth_coverage() if(blocked) - to_chat(user, "\The [blocked] is in the way!") + to_chat(user, span_warning("\The [blocked] is in the way!")) return - user.visible_message("[user] attempts to force [M] to swallow \the [src].") + user.visible_message(span_warning("[user] attempts to force [M] to swallow \the [src].")) user.setClickCooldown(user.get_attack_speed(src)) if(!do_mob(user, M)) return user.drop_from_inventory(src) //icon update - user.visible_message("[user] forces [M] to swallow \the [src].") + user.visible_message(span_warning("[user] forces [M] to swallow \the [src].")) var/contained = reagentlist() add_attack_logs(user,M,"Fed a pill containing [contained]") @@ -72,29 +72,29 @@ return 0 -/obj/item/weapon/reagent_containers/pill/afterattack(obj/target, mob/user, proximity) +/obj/item/reagent_containers/pill/afterattack(obj/target, mob/user, proximity) if(!proximity) return if(target.is_open_container() && target.reagents) if(!target.reagents.total_volume) - to_chat(user, "[target] is empty. Can't dissolve \the [src].") + to_chat(user, span_notice("[target] is empty. Can't dissolve \the [src].")) return - to_chat(user, "You dissolve \the [src] in [target].") + to_chat(user, span_notice("You dissolve \the [src] in [target].")) add_attack_logs(user,null,"Spiked [target.name] with a pill containing [reagentlist()]") reagents.trans_to(target, reagents.total_volume) for(var/mob/O in viewers(2, user)) - O.show_message("[user] puts something in \the [target].", 1) + O.show_message(span_warning("[user] puts something in \the [target]."), 1) qdel(src) return -/obj/item/weapon/reagent_containers/pill/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/item/reagent_containers/pill/attackby(obj/item/W as obj, mob/user as mob) if(is_sharp(W)) - var/obj/item/weapon/reagent_containers/powder/J = new /obj/item/weapon/reagent_containers/powder(src.loc) - user.visible_message("[user] gently cuts up [src] with [W]!") + var/obj/item/reagent_containers/powder/J = new /obj/item/reagent_containers/powder(src.loc) + user.visible_message(span_warning("[user] gently cuts up [src] with [W]!")) playsound(src.loc, 'sound/effects/chop.ogg', 50, 1) if(reagents) @@ -102,9 +102,9 @@ J.get_appearance() qdel(src) - if(istype(W, /obj/item/weapon/card/id)) - var/obj/item/weapon/reagent_containers/powder/J = new /obj/item/weapon/reagent_containers/powder(src.loc) - user.visible_message("[user] clumsily chops up [src] with [W]!") + if(istype(W, /obj/item/card/id)) + var/obj/item/reagent_containers/powder/J = new /obj/item/reagent_containers/powder(src.loc) + user.visible_message(span_warning("[user] clumsily chops up [src] with [W]!")) playsound(src.loc, 'sound/effects/chop.ogg', 50, 1) if(reagents) @@ -119,224 +119,224 @@ //////////////////////////////////////////////////////////////////////////////// //Pills -/obj/item/weapon/reagent_containers/pill/antitox +/obj/item/reagent_containers/pill/antitox name = "Dylovene (30u)" //VOREStation Edit desc = "Neutralizes many common toxins." icon_state = "pill1" -/obj/item/weapon/reagent_containers/pill/antitox/Initialize() +/obj/item/reagent_containers/pill/antitox/Initialize() . = ..() reagents.add_reagent("anti_toxin", 30) //VOREStation Edit color = reagents.get_color() -/obj/item/weapon/reagent_containers/pill/tox +/obj/item/reagent_containers/pill/tox name = "Toxins pill" desc = "Highly toxic." icon_state = "pill4" -/obj/item/weapon/reagent_containers/pill/tox/Initialize() +/obj/item/reagent_containers/pill/tox/Initialize() . = ..() reagents.add_reagent("toxin", 50) color = reagents.get_color() -/obj/item/weapon/reagent_containers/pill/cyanide +/obj/item/reagent_containers/pill/cyanide name = "Strange pill" desc = "It's marked 'KCN'. Smells vaguely of almonds." icon_state = "pill9" -/obj/item/weapon/reagent_containers/pill/cyanide/Initialize() +/obj/item/reagent_containers/pill/cyanide/Initialize() . = ..() reagents.add_reagent("cyanide", 50) -/obj/item/weapon/reagent_containers/pill/adminordrazine +/obj/item/reagent_containers/pill/adminordrazine name = "Adminordrazine pill" desc = "It's magic. We don't have to explain it." icon_state = "pillA" -/obj/item/weapon/reagent_containers/pill/adminordrazine/Initialize() +/obj/item/reagent_containers/pill/adminordrazine/Initialize() . = ..() reagents.add_reagent("adminordrazine", 5) -/obj/item/weapon/reagent_containers/pill/stox +/obj/item/reagent_containers/pill/stox name = "Soporific (15u)" desc = "Commonly used to treat insomnia." icon_state = "pill2" -/obj/item/weapon/reagent_containers/pill/stox/Initialize() +/obj/item/reagent_containers/pill/stox/Initialize() . = ..() reagents.add_reagent("stoxin", 15) color = reagents.get_color() -/obj/item/weapon/reagent_containers/pill/kelotane +/obj/item/reagent_containers/pill/kelotane name = "Kelotane (20u)" //VOREStation Edit desc = "Used to treat burns." icon_state = "pill3" -/obj/item/weapon/reagent_containers/pill/kelotane/Initialize() +/obj/item/reagent_containers/pill/kelotane/Initialize() . = ..() reagents.add_reagent("kelotane", 20) //VOREStation Edit color = reagents.get_color() -/obj/item/weapon/reagent_containers/pill/paracetamol +/obj/item/reagent_containers/pill/paracetamol name = "Paracetamol (15u)" desc = "Paracetamol! A painkiller for the ages. Chewables!" icon_state = "pill3" -/obj/item/weapon/reagent_containers/pill/paracetamol/Initialize() +/obj/item/reagent_containers/pill/paracetamol/Initialize() . = ..() reagents.add_reagent("paracetamol", 15) color = reagents.get_color() -/obj/item/weapon/reagent_containers/pill/tramadol +/obj/item/reagent_containers/pill/tramadol name = "Tramadol (15u)" desc = "A simple painkiller." icon_state = "pill3" -/obj/item/weapon/reagent_containers/pill/tramadol/Initialize() +/obj/item/reagent_containers/pill/tramadol/Initialize() . = ..() reagents.add_reagent("tramadol", 15) color = reagents.get_color() -/obj/item/weapon/reagent_containers/pill/methylphenidate +/obj/item/reagent_containers/pill/methylphenidate name = "Methylphenidate (15u)" desc = "Improves the ability to concentrate." icon_state = "pill2" -/obj/item/weapon/reagent_containers/pill/methylphenidate/Initialize() +/obj/item/reagent_containers/pill/methylphenidate/Initialize() . = ..() reagents.add_reagent("methylphenidate", 15) color = reagents.get_color() -/obj/item/weapon/reagent_containers/pill/citalopram +/obj/item/reagent_containers/pill/citalopram name = "Citalopram (15u)" desc = "Mild anti-depressant." icon_state = "pill4" -/obj/item/weapon/reagent_containers/pill/citalopram/Initialize() +/obj/item/reagent_containers/pill/citalopram/Initialize() . = ..() reagents.add_reagent("citalopram", 15) color = reagents.get_color() -/obj/item/weapon/reagent_containers/pill/dexalin +/obj/item/reagent_containers/pill/dexalin name = "Dexalin (7.5u)" //VOREstation Edit desc = "Used to treat oxygen deprivation." icon_state = "pill1" -/obj/item/weapon/reagent_containers/pill/dexalin/Initialize() +/obj/item/reagent_containers/pill/dexalin/Initialize() . = ..() reagents.add_reagent("dexalin", 7.5) //VOREStation Edit color = reagents.get_color() -/obj/item/weapon/reagent_containers/pill/dexalin_plus +/obj/item/reagent_containers/pill/dexalin_plus name = "Dexalin Plus (15u)" desc = "Used to treat extreme oxygen deprivation." icon_state = "pill2" -/obj/item/weapon/reagent_containers/pill/dexalin_plus/Initialize() +/obj/item/reagent_containers/pill/dexalin_plus/Initialize() . = ..() reagents.add_reagent("dexalinp", 15) color = reagents.get_color() -/obj/item/weapon/reagent_containers/pill/dermaline +/obj/item/reagent_containers/pill/dermaline name = "Dermaline (15u)" desc = "Used to treat burn wounds." icon_state = "pill2" -/obj/item/weapon/reagent_containers/pill/dermaline/Initialize() +/obj/item/reagent_containers/pill/dermaline/Initialize() . = ..() reagents.add_reagent("dermaline", 15) color = reagents.get_color() -/obj/item/weapon/reagent_containers/pill/dylovene +/obj/item/reagent_containers/pill/dylovene name = "Dylovene (15u)" desc = "A broad-spectrum anti-toxin." icon_state = "pill1" -/obj/item/weapon/reagent_containers/pill/dylovene/Initialize() +/obj/item/reagent_containers/pill/dylovene/Initialize() . = ..() reagents.add_reagent("anti_toxin", 15) color = reagents.get_color() -/obj/item/weapon/reagent_containers/pill/inaprovaline +/obj/item/reagent_containers/pill/inaprovaline name = "Inaprovaline (30u)" desc = "Used to stabilize patients." icon_state = "pill2" -/obj/item/weapon/reagent_containers/pill/inaprovaline/Initialize() +/obj/item/reagent_containers/pill/inaprovaline/Initialize() . = ..() reagents.add_reagent("inaprovaline", 30) color = reagents.get_color() -/obj/item/weapon/reagent_containers/pill/bicaridine +/obj/item/reagent_containers/pill/bicaridine name = "Bicaridine (20u)" desc = "Used to treat physical injuries." icon_state = "pill2" -/obj/item/weapon/reagent_containers/pill/bicaridine/Initialize() +/obj/item/reagent_containers/pill/bicaridine/Initialize() . = ..() reagents.add_reagent("bicaridine", 20) color = reagents.get_color() -/obj/item/weapon/reagent_containers/pill/spaceacillin +/obj/item/reagent_containers/pill/spaceacillin name = "Spaceacillin (15u)" //VOREStation Edit desc = "A theta-lactam antibiotic. Effective against many diseases likely to be encountered in space." icon_state = "pill3" -/obj/item/weapon/reagent_containers/pill/spaceacillin/Initialize() +/obj/item/reagent_containers/pill/spaceacillin/Initialize() . = ..() reagents.add_reagent("spaceacillin", 15) color = reagents.get_color() -/obj/item/weapon/reagent_containers/pill/carbon +/obj/item/reagent_containers/pill/carbon name = "Carbon (30u)" //VOREStation Edit desc = "Used to neutralise chemicals in the stomach." icon_state = "pill3" -/obj/item/weapon/reagent_containers/pill/carbon/Initialize() +/obj/item/reagent_containers/pill/carbon/Initialize() . = ..() reagents.add_reagent("carbon", 30) //VOREStation Edit color = reagents.get_color() -/obj/item/weapon/reagent_containers/pill/iron +/obj/item/reagent_containers/pill/iron name = "Iron (30u)" //VOREStation Edit desc = "Used to aid in blood regeneration after bleeding for red-blooded crew." icon_state = "pill1" -/obj/item/weapon/reagent_containers/pill/iron/Initialize() +/obj/item/reagent_containers/pill/iron/Initialize() . = ..() reagents.add_reagent("iron", 30) //VOREStation Edit color = reagents.get_color() -/obj/item/weapon/reagent_containers/pill/copper +/obj/item/reagent_containers/pill/copper name = "Copper (30u)" desc = "Used to aid in blood regeneration after bleeding for blue-blooded crew." icon_state = "pill1" -/obj/item/weapon/reagent_containers/pill/copper/Initialize() +/obj/item/reagent_containers/pill/copper/Initialize() . = ..() reagents.add_reagent("copper", 30) color = reagents.get_color() //Not-quite-medicine -/obj/item/weapon/reagent_containers/pill/happy +/obj/item/reagent_containers/pill/happy name = "Happy pill" desc = "Happy happy joy joy!" icon_state = "pill4" -/obj/item/weapon/reagent_containers/pill/happy/Initialize() +/obj/item/reagent_containers/pill/happy/Initialize() . = ..() reagents.add_reagent("bliss", 15) reagents.add_reagent("sugar", 15) color = reagents.get_color() -/obj/item/weapon/reagent_containers/pill/zoom +/obj/item/reagent_containers/pill/zoom name = "Zoom pill" desc = "Zoooom!" icon_state = "pill4" -/obj/item/weapon/reagent_containers/pill/zoom/Initialize() +/obj/item/reagent_containers/pill/zoom/Initialize() . = ..() if(prob(50)) //VOREStation edit begin: Zoom pill adjustments reagents.add_reagent("mold", 2) //Chance to be more dangerous @@ -344,12 +344,12 @@ reagents.add_reagent("stimm", 5) //VOREStation edit end: Zoom pill adjustments color = reagents.get_color() -/obj/item/weapon/reagent_containers/pill/diet +/obj/item/reagent_containers/pill/diet name = "diet pill" desc = "Guaranteed to get you slim!" icon_state = "pill4" -/obj/item/weapon/reagent_containers/pill/diet/Initialize() +/obj/item/reagent_containers/pill/diet/Initialize() . = ..() reagents.add_reagent("lipozine", 15) //VOREStation Edit color = reagents.get_color() diff --git a/code/modules/reagents/reagent_containers/pill_vr.dm b/code/modules/reagents/reagent_containers/pill_vr.dm index 8eaa27c953e..4fb6f971020 100644 --- a/code/modules/reagents/reagent_containers/pill_vr.dm +++ b/code/modules/reagents/reagent_containers/pill_vr.dm @@ -1,158 +1,158 @@ -/obj/item/weapon/reagent_containers/pill/nutriment +/obj/item/reagent_containers/pill/nutriment name = "Nutriment (30u)" desc = "Used to feed people on the field. Contains 30 units of Nutriment." icon_state = "pill10" -/obj/item/weapon/reagent_containers/pill/nutriment/Initialize() +/obj/item/reagent_containers/pill/nutriment/Initialize() . = ..() reagents.add_reagent("nutriment", 30) -/obj/item/weapon/reagent_containers/pill/protein +/obj/item/reagent_containers/pill/protein name = "Protein (30u)" desc = "Used to feed carnivores on the field. Contains 30 units of Protein." icon_state = "pill24" -/obj/item/weapon/reagent_containers/pill/protein/Initialize() +/obj/item/reagent_containers/pill/protein/Initialize() . = ..() reagents.add_reagent("protein", 30) -/obj/item/weapon/reagent_containers/pill/rezadone +/obj/item/reagent_containers/pill/rezadone name = "Rezadone (5u)" desc = "A powder with almost magical properties, this substance can effectively treat genetic damage in humanoids, though excessive consumption has side effects." icon_state = "pill2" -/obj/item/weapon/reagent_containers/pill/rezadone/Initialize() +/obj/item/reagent_containers/pill/rezadone/Initialize() . = ..() reagents.add_reagent("rezadone", 5) color = reagents.get_color() -/obj/item/weapon/reagent_containers/pill/peridaxon +/obj/item/reagent_containers/pill/peridaxon name = "Peridaxon (10u)" desc = "Used to encourage recovery of internal organs and nervous systems. Medicate cautiously." icon_state = "pill10" -/obj/item/weapon/reagent_containers/pill/peridaxon/Initialize() +/obj/item/reagent_containers/pill/peridaxon/Initialize() . = ..() reagents.add_reagent("peridaxon", 10) -/obj/item/weapon/reagent_containers/pill/carthatoline +/obj/item/reagent_containers/pill/carthatoline name = "Carthatoline (15u)" desc = "Carthatoline is strong evacuant used to treat severe poisoning." icon_state = "pill4" -/obj/item/weapon/reagent_containers/pill/carthatoline/Initialize() +/obj/item/reagent_containers/pill/carthatoline/Initialize() . = ..() reagents.add_reagent("carthatoline", 15) color = reagents.get_color() -/obj/item/weapon/reagent_containers/pill/alkysine +/obj/item/reagent_containers/pill/alkysine name = "Alkysine (10u)" desc = "Alkysine is a drug used to lessen the damage to neurological tissue after a catastrophic injury. Can heal brain tissue." icon_state = "pill3" -/obj/item/weapon/reagent_containers/pill/alkysine/Initialize() +/obj/item/reagent_containers/pill/alkysine/Initialize() . = ..() reagents.add_reagent("alkysine", 10) color = reagents.get_color() -/obj/item/weapon/reagent_containers/pill/imidazoline +/obj/item/reagent_containers/pill/imidazoline name = "Imidazoline (15u)" desc = "Heals eye damage." icon_state = "pill3" -/obj/item/weapon/reagent_containers/pill/imidazoline/Initialize() +/obj/item/reagent_containers/pill/imidazoline/Initialize() . = ..() reagents.add_reagent("imidazoline", 15) color = reagents.get_color() -/obj/item/weapon/reagent_containers/pill/osteodaxon +/obj/item/reagent_containers/pill/osteodaxon name = "Osteodaxon (25u)" desc = "An experimental drug used to heal bone fractures." icon_state = "pill2" -/obj/item/weapon/reagent_containers/pill/osteodaxon/Initialize() +/obj/item/reagent_containers/pill/osteodaxon/Initialize() . = ..() reagents.add_reagent("osteodaxon", 15) reagents.add_reagent("inaprovaline", 10) color = reagents.get_color() -/obj/item/weapon/reagent_containers/pill/myelamine +/obj/item/reagent_containers/pill/myelamine name = "Myelamine (25u)" desc = "Used to rapidly clot internal hemorrhages by increasing the effectiveness of platelets." icon_state = "pill1" -/obj/item/weapon/reagent_containers/pill/myelamine/Initialize() +/obj/item/reagent_containers/pill/myelamine/Initialize() . = ..() reagents.add_reagent("myelamine", 15) reagents.add_reagent("inaprovaline", 10) color = reagents.get_color() -/obj/item/weapon/reagent_containers/pill/hyronalin +/obj/item/reagent_containers/pill/hyronalin name = "Hyronalin (15u)" desc = "Hyronalin is a medicinal drug used to counter the effect of radiation poisoning." icon_state = "pill4" -/obj/item/weapon/reagent_containers/pill/hyronalin/Initialize() +/obj/item/reagent_containers/pill/hyronalin/Initialize() . = ..() reagents.add_reagent("hyronalin", 15) color = reagents.get_color() -/obj/item/weapon/reagent_containers/pill/arithrazine +/obj/item/reagent_containers/pill/arithrazine name = "Arithrazine (5u)" desc = "Arithrazine is an unstable medication used for the most extreme cases of radiation poisoning." icon_state = "pill2" -/obj/item/weapon/reagent_containers/pill/arithrazine/Initialize() +/obj/item/reagent_containers/pill/arithrazine/Initialize() . = ..() reagents.add_reagent("arithrazine", 5) color = reagents.get_color() -/obj/item/weapon/reagent_containers/pill/corophizine +/obj/item/reagent_containers/pill/corophizine name = "Corophizine (5u)" desc = "A wide-spectrum antibiotic drug. Powerful and uncomfortable in equal doses." icon_state = "pill2" -/obj/item/weapon/reagent_containers/pill/corophizine/Initialize() +/obj/item/reagent_containers/pill/corophizine/Initialize() . = ..() reagents.add_reagent("corophizine", 5) color = reagents.get_color() -/obj/item/weapon/reagent_containers/pill/vermicetol +/obj/item/reagent_containers/pill/vermicetol name = "Vermicetol (15u)" desc = "An extremely potent drug to treat physical injuries." icon_state = "pill1" -/obj/item/weapon/reagent_containers/pill/vermicetol/Initialize() +/obj/item/reagent_containers/pill/vermicetol/Initialize() . = ..() reagents.add_reagent("vermicetol", 15) color = reagents.get_color() -/obj/item/weapon/reagent_containers/pill/healing_nanites +/obj/item/reagent_containers/pill/healing_nanites name = "Healing nanites (30u)" desc = "Miniature medical robots that swiftly restore bodily damage." icon_state = "pill1" -/obj/item/weapon/reagent_containers/pill/healing_nanites/Initialize() +/obj/item/reagent_containers/pill/healing_nanites/Initialize() . = ..() reagents.add_reagent("healing_nanites", 30) color = reagents.get_color() -/obj/item/weapon/reagent_containers/pill/sleevingcure - name = "Vey-Med Resleeving Booster pill" //YW Edit +/obj/item/reagent_containers/pill/sleevingcure + name = "Vey-Med Resleeving Booster pill (1u)" //YW Edit desc = "A rare medication provided by Vey-Med that helps counteract negative side effects of using resleeving machinery. Numb tongue before swallowing." //YW Edit icon_state = "pill3" -/obj/item/weapon/reagent_containers/pill/sleevingcure/Initialize() +/obj/item/reagent_containers/pill/sleevingcure/Initialize() . = ..() reagents.add_reagent("sleevingcure", 1) color = reagents.get_color() -/obj/item/weapon/reagent_containers/pill/airlock +/obj/item/reagent_containers/pill/airlock name = "\'Airlock\' Pill" desc = "Neutralizes toxins and provides a mild analgesic effect." icon_state = "pill2" -/obj/item/weapon/reagent_containers/pill/airlock/New() +/obj/item/reagent_containers/pill/airlock/New() ..() reagents.add_reagent("anti_toxin", 15) - reagents.add_reagent("paracetamol", 5) \ No newline at end of file + reagents.add_reagent("paracetamol", 5) diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm index ed3b3e20ce3..f51bc0b7f4c 100644 --- a/code/modules/reagents/reagent_containers/spray.dm +++ b/code/modules/reagents/reagent_containers/spray.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/reagent_containers/spray +/obj/item/reagent_containers/spray name = "spray bottle" desc = "A spray bottle, with an unscrewable top." icon = 'icons/obj/janitor.dmi' @@ -19,12 +19,12 @@ var/list/spray_sizes = list(1,3) volume = 250 -/obj/item/weapon/reagent_containers/spray/Initialize() +/obj/item/reagent_containers/spray/Initialize() . = ..() - src.verbs -= /obj/item/weapon/reagent_containers/verb/set_APTFT + src.verbs -= /obj/item/reagent_containers/verb/set_APTFT -/obj/item/weapon/reagent_containers/spray/afterattack(atom/A as mob|obj, mob/user as mob, proximity) - if(istype(A, /obj/item/weapon/storage) || istype(A, /obj/structure/table) || istype(A, /obj/structure/closet) || istype(A, /obj/item/weapon/reagent_containers) || istype(A, /obj/structure/sink) || istype(A, /obj/structure/janitorialcart)) +/obj/item/reagent_containers/spray/afterattack(atom/A as mob|obj, mob/user as mob, proximity) + if(istype(A, /obj/item/storage) || istype(A, /obj/structure/table) || istype(A, /obj/structure/closet) || istype(A, /obj/item/reagent_containers) || istype(A, /obj/structure/sink) || istype(A, /obj/structure/janitorialcart)) return if(istype(A, /spell)) @@ -35,7 +35,7 @@ return if(reagents.total_volume < amount_per_transfer_from_this) - to_chat(user, "\The [src] is empty!") + to_chat(user, span_notice("\The [src] is empty!")) return Spray_at(A, user, proximity) @@ -53,7 +53,7 @@ log_game("[key_name(user)] fired Space lube from \a [src].") return -/obj/item/weapon/reagent_containers/spray/proc/Spray_at(atom/A as mob|obj, mob/user as mob, proximity) +/obj/item/reagent_containers/spray/proc/Spray_at(atom/A as mob|obj, mob/user as mob, proximity) playsound(src, 'sound/effects/spray2.ogg', 50, 1, -6) if (A.density && proximity) A.visible_message("[usr] sprays [A] with [src].") @@ -70,19 +70,19 @@ D.set_up(my_target, spray_size, 10) return -/obj/item/weapon/reagent_containers/spray/attack_self(var/mob/user) +/obj/item/reagent_containers/spray/attack_self(var/mob/user) if(!possible_transfer_amounts) return amount_per_transfer_from_this = next_in_list(amount_per_transfer_from_this, possible_transfer_amounts) spray_size = next_in_list(spray_size, spray_sizes) - to_chat(user, "You adjusted the pressure nozzle. You'll now use [amount_per_transfer_from_this] units per spray.") + to_chat(user, span_notice("You adjusted the pressure nozzle. You'll now use [amount_per_transfer_from_this] units per spray.")) -/obj/item/weapon/reagent_containers/spray/examine(mob/user) +/obj/item/reagent_containers/spray/examine(mob/user) . = ..() if(loc == user) . += "[round(reagents.total_volume)] units left." -/obj/item/weapon/reagent_containers/spray/verb/empty() +/obj/item/reagent_containers/spray/verb/empty() set name = "Empty Spray Bottle" set category = "Object" @@ -91,32 +91,32 @@ if (tgui_alert(usr, "Are you sure you want to empty that?", "Empty Bottle:", list("Yes", "No")) != "Yes") return if(isturf(usr.loc)) - to_chat(usr, "You empty \the [src] onto the floor.") + to_chat(usr, span_notice("You empty \the [src] onto the floor.")) reagents.splash(usr.loc, reagents.total_volume) //space cleaner -/obj/item/weapon/reagent_containers/spray/cleaner +/obj/item/reagent_containers/spray/cleaner name = "space cleaner" desc = "BLAM!-brand non-foaming space cleaner!" -/obj/item/weapon/reagent_containers/spray/cleaner/drone +/obj/item/reagent_containers/spray/cleaner/drone name = "space cleaner" desc = "BLAM!-brand non-foaming space cleaner!" volume = 50 -/obj/item/weapon/reagent_containers/spray/cleaner/Initialize() +/obj/item/reagent_containers/spray/cleaner/Initialize() . = ..() reagents.add_reagent("cleaner", volume) -/obj/item/weapon/reagent_containers/spray/sterilizine +/obj/item/reagent_containers/spray/sterilizine name = "sterilizine" desc = "Great for hiding incriminating bloodstains and sterilizing scalpels." -/obj/item/weapon/reagent_containers/spray/sterilizine/Initialize() +/obj/item/reagent_containers/spray/sterilizine/Initialize() . = ..() reagents.add_reagent("sterilizine", volume) -/obj/item/weapon/reagent_containers/spray/pepper +/obj/item/reagent_containers/spray/pepper name = "pepperspray" desc = "Manufactured by UhangInc, used to blind and down an opponent quickly." icon = 'icons/obj/weapons.dmi' @@ -127,26 +127,26 @@ volume = 40 var/safety = TRUE -/obj/item/weapon/reagent_containers/spray/pepper/Initialize() +/obj/item/reagent_containers/spray/pepper/Initialize() . = ..() reagents.add_reagent("condensedcapsaicin", 40) -/obj/item/weapon/reagent_containers/spray/pepper/examine(mob/user) +/obj/item/reagent_containers/spray/pepper/examine(mob/user) . = ..() if(Adjacent(user)) . += "The safety is [safety ? "on" : "off"]." -/obj/item/weapon/reagent_containers/spray/pepper/attack_self(var/mob/user) +/obj/item/reagent_containers/spray/pepper/attack_self(var/mob/user) safety = !safety - to_chat(usr, "You switch the safety [safety ? "on" : "off"].") + to_chat(usr, span_notice("You switch the safety [safety ? "on" : "off"].")) -/obj/item/weapon/reagent_containers/spray/pepper/Spray_at(atom/A as mob|obj) +/obj/item/reagent_containers/spray/pepper/Spray_at(atom/A as mob|obj) if(safety) - to_chat(usr, "The safety is on!") + to_chat(usr, span_warning("The safety is on!")) return . = ..() -/obj/item/weapon/reagent_containers/spray/waterflower +/obj/item/reagent_containers/spray/waterflower name = "water flower" desc = "A seemingly innocent sunflower...with a twist." icon = 'icons/obj/device.dmi' @@ -158,11 +158,11 @@ drop_sound = 'sound/items/drop/herb.ogg' pickup_sound = 'sound/items/pickup/herb.ogg' -/obj/item/weapon/reagent_containers/spray/waterflower/Initialize() +/obj/item/reagent_containers/spray/waterflower/Initialize() . = ..() reagents.add_reagent("water", 10) -/obj/item/weapon/reagent_containers/spray/chemsprayer +/obj/item/reagent_containers/spray/chemsprayer name = "chem sprayer" desc = "A utility used to spray large amounts of reagent in a given area." icon = 'icons/obj/gun.dmi' @@ -176,7 +176,7 @@ volume = 600 origin_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3, TECH_ENGINEERING = 3) -/obj/item/weapon/reagent_containers/spray/chemsprayer/Spray_at(atom/A as mob|obj) +/obj/item/reagent_containers/spray/chemsprayer/Spray_at(atom/A as mob|obj) playsound(src, 'sound/effects/spray3.ogg', rand(50,1), -6) var/direction = get_dir(src, A) var/turf/T = get_turf(A) @@ -197,7 +197,7 @@ D.set_up(my_target, rand(6, 8), 2) return -/obj/item/weapon/reagent_containers/spray/plantbgone +/obj/item/reagent_containers/spray/plantbgone name = "Plant-B-Gone" desc = "Kills those pesky weeds!" icon = 'icons/obj/hydroponics_machines.dmi' @@ -205,11 +205,11 @@ item_state = "plantbgone" volume = 100 -/obj/item/weapon/reagent_containers/spray/plantbgone/Initialize() +/obj/item/reagent_containers/spray/plantbgone/Initialize() . = ..() reagents.add_reagent("plantbgone", 100) -/obj/item/weapon/reagent_containers/spray/chemsprayer/hosed +/obj/item/reagent_containers/spray/chemsprayer/hosed name = "hose nozzle" desc = "A heavy spray nozzle that must be attached to a hose." icon = 'icons/obj/janitor.dmi' @@ -226,12 +226,12 @@ var/obj/item/hose_connector/input/active/InputSocket -/obj/item/weapon/reagent_containers/spray/chemsprayer/hosed/Initialize() +/obj/item/reagent_containers/spray/chemsprayer/hosed/Initialize() . = ..() InputSocket = new(src) -/obj/item/weapon/reagent_containers/spray/chemsprayer/hosed/update_icon() +/obj/item/reagent_containers/spray/chemsprayer/hosed/update_icon() ..() cut_overlays() @@ -242,19 +242,19 @@ if(InputSocket.get_pairing()) add_overlay(hose_overlay) -/obj/item/weapon/reagent_containers/spray/chemsprayer/hosed/AltClick(mob/living/carbon/user) +/obj/item/reagent_containers/spray/chemsprayer/hosed/AltClick(mob/living/carbon/user) if(++spray_particles > 3) spray_particles = 1 - to_chat(user, "You turn the dial on \the [src] to [spray_particles].") + to_chat(user, span_notice("You turn the dial on \the [src] to [spray_particles].")) return -/obj/item/weapon/reagent_containers/spray/chemsprayer/hosed/CtrlClick(var/mob/user) +/obj/item/reagent_containers/spray/chemsprayer/hosed/CtrlClick(var/mob/user) if(loc != get_turf(src)) heavy_spray = !heavy_spray else . = ..() -/obj/item/weapon/reagent_containers/spray/chemsprayer/hosed/Spray_at(atom/A as mob|obj) +/obj/item/reagent_containers/spray/chemsprayer/hosed/Spray_at(atom/A as mob|obj) update_icon() var/direction = get_dir(src, A) @@ -264,7 +264,7 @@ var/list/the_targets = list(T, T1, T2) if(src.reagents.total_volume < 1) - to_chat(usr, "\The [src] is empty.") + to_chat(usr, span_notice("\The [src] is empty.")) return if(!heavy_spray) diff --git a/code/modules/reagents/reagent_containers/spray_vr.dm b/code/modules/reagents/reagent_containers/spray_vr.dm index ef785ffc350..c546410a55a 100644 --- a/code/modules/reagents/reagent_containers/spray_vr.dm +++ b/code/modules/reagents/reagent_containers/spray_vr.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/reagent_containers/spray/windowsealant +/obj/item/reagent_containers/spray/windowsealant name = "Krak-b-gone" desc = "A spray bottle of silicate sealant for rapid window repair." icon = 'icons/obj/items_vr.dmi' @@ -7,6 +7,6 @@ possible_transfer_amounts = null volume = 80 -/obj/item/weapon/reagent_containers/spray/windowsealant/New() +/obj/item/reagent_containers/spray/windowsealant/New() ..() reagents.add_reagent("silicate", 80) \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index 45dcf88de2e..7c5c3cc9c68 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -8,7 +8,7 @@ #define SYRINGE_CAPPED 10 -/obj/item/weapon/reagent_containers/syringe +/obj/item/reagent_containers/syringe name = "syringe" desc = "A syringe." description_fluff = "This could be used to engrave messages on suitable surfaces if you really put your mind to it! Alt-click a floor or wall to engrave with it." //This way it's not a completely hidden, arcane art to engrave. @@ -32,42 +32,42 @@ var/used = FALSE var/dirtiness = 0 var/list/targets - var/list/datum/disease2/disease/viruses + var/list/datum/disease/viruses drop_sound = 'sound/items/drop/glass.ogg' pickup_sound = 'sound/items/pickup/glass.ogg' -/obj/item/weapon/reagent_containers/syringe/Initialize() +/obj/item/reagent_containers/syringe/Initialize() . = ..() update_icon() -/obj/item/weapon/reagent_containers/syringe/Destroy() +/obj/item/reagent_containers/syringe/Destroy() QDEL_LIST_NULL(viruses) LAZYCLEARLIST(targets) return ..() -/obj/item/weapon/reagent_containers/syringe/process() +/obj/item/reagent_containers/syringe/process() dirtiness = min(dirtiness + targets.len,75) if(dirtiness >= 75) STOP_PROCESSING(SSobj, src) return 1 -/obj/item/weapon/reagent_containers/syringe/on_reagent_change() +/obj/item/reagent_containers/syringe/on_reagent_change() update_icon() -/obj/item/weapon/reagent_containers/syringe/pickup(mob/user) +/obj/item/reagent_containers/syringe/pickup(mob/user) ..() update_icon() -/obj/item/weapon/reagent_containers/syringe/dropped(mob/user) +/obj/item/reagent_containers/syringe/dropped(mob/user) ..() update_icon() -/obj/item/weapon/reagent_containers/syringe/attack_self(mob/user as mob) +/obj/item/reagent_containers/syringe/attack_self(mob/user as mob) switch(mode) if(SYRINGE_CAPPED) mode = SYRINGE_DRAW - to_chat(user,"You uncap the syringe.") + to_chat(user,span_notice("You uncap the syringe.")) if(SYRINGE_DRAW) mode = SYRINGE_INJECT if(SYRINGE_INJECT) @@ -76,19 +76,19 @@ return update_icon() -/obj/item/weapon/reagent_containers/syringe/attack_hand() +/obj/item/reagent_containers/syringe/attack_hand() ..() update_icon() -/obj/item/weapon/reagent_containers/syringe/attackby(obj/item/I as obj, mob/user as mob) +/obj/item/reagent_containers/syringe/attackby(obj/item/I as obj, mob/user as mob) return -/obj/item/weapon/reagent_containers/syringe/afterattack(obj/target, mob/user, proximity) +/obj/item/reagent_containers/syringe/afterattack(obj/target, mob/user, proximity) if(!proximity || !target.reagents) return if(mode == SYRINGE_BROKEN) - to_chat(user, "This syringe is broken!") + to_chat(user, span_warning("This syringe is broken!")) return if(user.a_intent == I_HURT && ismob(target)) @@ -101,31 +101,31 @@ switch(mode) if(SYRINGE_DRAW) if(!reagents.get_free_space()) - to_chat(user, "The syringe is full.") + to_chat(user, span_warning("The syringe is full.")) mode = SYRINGE_INJECT return if(ismob(target))//Blood! if(reagents.has_reagent("blood")) - to_chat(user, "There is already a blood sample in this syringe.") + to_chat(user, span_notice("There is already a blood sample in this syringe.")) return if(istype(target, /mob/living/carbon)) var/amount = reagents.get_free_space() var/mob/living/carbon/T = target if(!T.dna) - to_chat(user, "You are unable to locate any blood. (To be specific, your target seems to be missing their DNA datum).") + to_chat(user, span_warning("You are unable to locate any blood. (To be specific, your target seems to be missing their DNA datum).")) return if(NOCLONE in T.mutations) //target done been et, no more blood in him - to_chat(user, "You are unable to locate any blood.") + to_chat(user, span_warning("You are unable to locate any blood.")) return if(T.isSynthetic()) - to_chat(user, "You can't draw blood from a synthetic!") + to_chat(user, span_warning("You can't draw blood from a synthetic!")) return if(drawing) - to_chat(user, "You are already drawing blood from [T.name].") + to_chat(user, span_warning("You are already drawing blood from [T.name].")) return var/datum/reagent/B @@ -153,21 +153,21 @@ reagents.update_total() on_reagent_change() reagents.handle_reactions() - to_chat(user, "You take a blood sample from [target].") + to_chat(user, span_notice("You take a blood sample from [target].")) for(var/mob/O in viewers(4, user)) - O.show_message("[user] takes a blood sample from [target].", 1) + O.show_message(span_notice("[user] takes a blood sample from [target]."), 1) else //if not mob if(!target.reagents.total_volume) - to_chat(user, "[target] is empty.") + to_chat(user, span_notice("[target] is empty.")) return - if(!target.is_open_container() && !istype(target, /obj/structure/reagent_dispensers) && !istype(target, /obj/item/slime_extract) && !istype(target, /obj/item/weapon/reagent_containers/food)) - to_chat(user, "You cannot directly remove reagents from this object.") + if(!target.is_open_container() && !istype(target, /obj/structure/reagent_dispensers) && !istype(target, /obj/item/slime_extract) && !istype(target, /obj/item/reagent_containers/food)) + to_chat(user, span_notice("You cannot directly remove reagents from this object.")) return var/trans = target.reagents.trans_to_obj(src, amount_per_transfer_from_this) - to_chat(user, "You fill the syringe with [trans] units of the solution.") + to_chat(user, span_notice("You fill the syringe with [trans] units of the solution.")) update_icon() @@ -177,17 +177,17 @@ if(SYRINGE_INJECT) if(!reagents.total_volume) - to_chat(user, "The syringe is empty.") + to_chat(user, span_notice("The syringe is empty.")) mode = SYRINGE_DRAW return - if(istype(target, /obj/item/weapon/implantcase/chem)) + if(istype(target, /obj/item/implantcase/chem)) return - if(!target.is_open_container() && !ismob(target) && !istype(target, /obj/item/weapon/reagent_containers/food) && !istype(target, /obj/item/slime_extract) && !istype(target, /obj/item/clothing/mask/smokable/cigarette) && !istype(target, /obj/item/weapon/storage/fancy/cigarettes)) - to_chat(user, "You cannot directly fill this object.") + if(!target.is_open_container() && !ismob(target) && !istype(target, /obj/item/reagent_containers/food) && !istype(target, /obj/item/slime_extract) && !istype(target, /obj/item/clothing/mask/smokable/cigarette) && !istype(target, /obj/item/storage/fancy/cigarettes)) + to_chat(user, span_notice("You cannot directly fill this object.")) return if(!target.reagents.get_free_space()) - to_chat(user, "[target] is full.") + to_chat(user, span_notice("[target] is full.")) return var/mob/living/carbon/human/H = target @@ -195,11 +195,11 @@ if(istype(H)) affected = H.get_organ(user.zone_sel.selecting) //VOREStation Edit - See above comment. if(!affected) - to_chat(user, "\The [H] is missing that limb!") + to_chat(user, span_danger("\The [H] is missing that limb!")) return /* since synths have oil/coolant streams now, it only makes sense that you should be able to inject stuff. preserved for posterity. else if(affected.robotic >= ORGAN_ROBOT) - to_chat(user, "You cannot inject a robotic limb.") + to_chat(user, span_danger("You cannot inject a robotic limb.")) return */ @@ -223,9 +223,9 @@ return if(injtime == time) - user.visible_message("[user] is trying to inject [target] with [visible_name]!","You begin injecting [target] with [visible_name].") + user.visible_message(span_warning("[user] is trying to inject [target] with [visible_name]!"),span_notice("You begin injecting [target] with [visible_name].")) else - user.visible_message("[user] begins hunting for an injection port on [target]'s suit!","You begin hunting for an injection port on [target]'s suit!") + user.visible_message(span_warning("[user] begins hunting for an injection port on [target]'s suit!"),span_notice("You begin hunting for an injection port on [target]'s suit!")) //The warmup user.setClickCooldown(DEFAULT_QUICK_COOLDOWN) @@ -248,16 +248,16 @@ update_icon() if(trans) - to_chat(user, "You inject [trans] units of the solution. The syringe now contains [src.reagents.total_volume] units.") + to_chat(user, span_notice("You inject [trans] units of the solution. The syringe now contains [src.reagents.total_volume] units.")) if(ismob(target)) add_attack_logs(user,target,"Injected with [src.name] containing [contained], trasferred [trans] units") else - to_chat(user, "The syringe is empty.") + to_chat(user, span_notice("The syringe is empty.")) // dirty(target,affected) //VOREStation Add -- Removed by Request return -/obj/item/weapon/reagent_containers/syringe/proc/syringestab(mob/living/carbon/target as mob, mob/living/carbon/user as mob) +/obj/item/reagent_containers/syringe/proc/syringestab(mob/living/carbon/target as mob, mob/living/carbon/user as mob) if(istype(target, /mob/living/carbon/human)) var/mob/living/carbon/human/H = target @@ -266,7 +266,7 @@ var/obj/item/organ/external/affecting = H.get_organ(target_zone) if (!affecting || affecting.is_stump()) - to_chat(user, "They are missing that limb!") + to_chat(user, span_danger("They are missing that limb!")) return var/hit_area = affecting.name @@ -276,7 +276,7 @@ if (target != user && H.getarmor(target_zone, "melee") > 5 && prob(50)) for(var/mob/O in viewers(world.view, user)) - O.show_message(span_red(text("[user] tries to stab [target] in \the [hit_area] with [src.name], but the attack is deflected by armor!")), 1) + O.show_message(span_bolddanger("[user] tries to stab [target] in \the [hit_area] with [src.name], but the attack is deflected by armor!"), 1) user.remove_from_mob(src) qdel(src) @@ -284,13 +284,13 @@ return - user.visible_message("[user] stabs [target] in \the [hit_area] with [src.name]!") + user.visible_message(span_danger("[user] stabs [target] in \the [hit_area] with [src.name]!")) if(affecting.take_damage(3)) H.UpdateDamageIcon() else - user.visible_message("[user] stabs [target] with [src.name]!") + user.visible_message(span_danger("[user] stabs [target] with [src.name]!")) target.take_organ_damage(3)// 7 is the same as crowbar punch @@ -303,7 +303,7 @@ if(!issilicon(user)) break_syringe(target, user) -/obj/item/weapon/reagent_containers/syringe/proc/break_syringe(mob/living/carbon/target, mob/living/carbon/user) +/obj/item/reagent_containers/syringe/proc/break_syringe(mob/living/carbon/target, mob/living/carbon/user) desc += " It is broken." mode = SYRINGE_BROKEN if(target) @@ -312,7 +312,7 @@ add_fingerprint(user) update_icon() -/obj/item/weapon/reagent_containers/syringe/ld50_syringe +/obj/item/reagent_containers/syringe/ld50_syringe name = "Lethal Injection Syringe" desc = "A syringe used for lethal injections." amount_per_transfer_from_this = 50 @@ -320,53 +320,53 @@ visible_name = "a giant syringe" time = 300 -/obj/item/weapon/reagent_containers/syringe/ld50_syringe/afterattack(obj/target, mob/user, flag) +/obj/item/reagent_containers/syringe/ld50_syringe/afterattack(obj/target, mob/user, flag) if(mode == SYRINGE_DRAW && ismob(target)) // No drawing 50 units of blood at once - to_chat(user, "This needle isn't designed for drawing blood.") + to_chat(user, span_notice("This needle isn't designed for drawing blood.")) return if(user.a_intent == "hurt" && ismob(target)) // No instant injecting - to_chat(user, "This syringe is too big to stab someone with it.") + to_chat(user, span_notice("This syringe is too big to stab someone with it.")) ..() //////////////////////////////////////////////////////////////////////////////// /// Syringes. END //////////////////////////////////////////////////////////////////////////////// -/obj/item/weapon/reagent_containers/syringe/inaprovaline +/obj/item/reagent_containers/syringe/inaprovaline name = "Syringe (inaprovaline)" desc = "Contains inaprovaline - used to stabilize patients." -/obj/item/weapon/reagent_containers/syringe/inaprovaline/Initialize() +/obj/item/reagent_containers/syringe/inaprovaline/Initialize() . = ..() reagents.add_reagent("inaprovaline", 15) //mode = SYRINGE_INJECT //VOREStation Edit - Starts capped //update_icon() -/obj/item/weapon/reagent_containers/syringe/antitoxin +/obj/item/reagent_containers/syringe/antitoxin name = "Syringe (anti-toxin)" desc = "Contains anti-toxins." -/obj/item/weapon/reagent_containers/syringe/antitoxin/Initialize() +/obj/item/reagent_containers/syringe/antitoxin/Initialize() . = ..() reagents.add_reagent("anti_toxin", 15) //mode = SYRINGE_INJECT //VOREStation Edit - Starts capped //update_icon() -/obj/item/weapon/reagent_containers/syringe/antiviral +/obj/item/reagent_containers/syringe/antiviral name = "Syringe (spaceacillin)" desc = "Contains antiviral agents." -/obj/item/weapon/reagent_containers/syringe/antiviral/Initialize() +/obj/item/reagent_containers/syringe/antiviral/Initialize() . = ..() reagents.add_reagent("spaceacillin", 15) //mode = SYRINGE_INJECT //VOREStation Edit - Starts capped //update_icon() -/obj/item/weapon/reagent_containers/syringe/drugs +/obj/item/reagent_containers/syringe/drugs name = "Syringe (drugs)" desc = "Contains aggressive drugs meant for torture." -/obj/item/weapon/reagent_containers/syringe/drugs/Initialize() +/obj/item/reagent_containers/syringe/drugs/Initialize() . = ..() reagents.add_reagent("bliss", 5) reagents.add_reagent("mindbreaker", 5) @@ -374,22 +374,22 @@ //mode = SYRINGE_INJECT //VOREStation Edit - Starts capped //update_icon() -/obj/item/weapon/reagent_containers/syringe/ld50_syringe/choral/Initialize() +/obj/item/reagent_containers/syringe/ld50_syringe/choral/Initialize() . = ..() reagents.add_reagent("chloralhydrate", 50) mode = SYRINGE_INJECT update_icon() -/obj/item/weapon/reagent_containers/syringe/steroid +/obj/item/reagent_containers/syringe/steroid name = "Syringe (anabolic steroids)" desc = "Contains drugs for muscle growth." -/obj/item/weapon/reagent_containers/syringe/steroid/Initialize() +/obj/item/reagent_containers/syringe/steroid/Initialize() ..() //reagents.add_reagent("adrenaline",5) //VOREStation Edit - No thanks. reagents.add_reagent("hyperzine",10) -/obj/item/weapon/reagent_containers/syringe/proc/dirty(var/mob/living/carbon/human/target, var/obj/item/organ/external/eo) +/obj/item/reagent_containers/syringe/proc/dirty(var/mob/living/carbon/human/target, var/obj/item/organ/external/eo) if(!ishuman(loc)) return //Avoid borg syringe problems. LAZYINITLIST(targets) @@ -402,10 +402,10 @@ targets |= hash //Grab any viruses they have - if(iscarbon(target) && LAZYLEN(target.virus2.len)) + if(iscarbon(target) && LAZYLEN(target.viruses.len)) LAZYINITLIST(viruses) - var/datum/disease2/disease/virus = pick(target.virus2.len) - viruses[hash] = virus.getcopy() + var/datum/disease/virus = pick(target.viruses.len) + viruses[hash] = virus.Copy() //Dirtiness should be very low if you're the first injectee. If you're spam-injecting 4 people in a row around you though, //This gives the last one a 30% chance of infection. @@ -421,13 +421,13 @@ if(LAZYLEN(viruses) && prob(75)) var/old_hash = pick(viruses) if(hash != old_hash) //Same virus you already had? - var/datum/disease2/disease/virus = viruses[old_hash] - infect_virus2(target,virus.getcopy()) + var/datum/disease/virus = viruses[old_hash] + target.ContractDisease(virus) if(!used) START_PROCESSING(SSobj, src) -/obj/item/weapon/reagent_containers/syringe/proc/infect_limb(var/obj/item/organ/external/eo) +/obj/item/reagent_containers/syringe/proc/infect_limb(var/obj/item/organ/external/eo) src = null var/datum/weakref/limb_ref = WEAKREF(eo) spawn(rand(5 MINUTES,10 MINUTES)) @@ -438,7 +438,7 @@ //Allow for capped syringe mode //Allow for capped syringes -/obj/item/weapon/reagent_containers/syringe/update_icon() +/obj/item/reagent_containers/syringe/update_icon() cut_overlays() var/matrix/tf = matrix() diff --git a/code/modules/reagents/reagent_containers/unidentified_hypospray.dm b/code/modules/reagents/reagent_containers/unidentified_hypospray.dm index 6391e690e64..06c9fea1e16 100644 --- a/code/modules/reagents/reagent_containers/unidentified_hypospray.dm +++ b/code/modules/reagents/reagent_containers/unidentified_hypospray.dm @@ -1,108 +1,108 @@ // Here are the paths for all hypos that start unidentified. // Usually you want to use a random spawner instead of using them directly, unless you're spawning these live for adminbus purposes. -/obj/item/weapon/reagent_containers/hypospray/autoinjector +/obj/item/reagent_containers/hypospray/autoinjector identity_type = /datum/identification/hypo // The good. -/obj/item/weapon/reagent_containers/hypospray/autoinjector/bonemed/unidentified +/obj/item/reagent_containers/hypospray/autoinjector/bonemed/unidentified init_hide_identity = TRUE flags = 0 -/obj/item/weapon/reagent_containers/hypospray/autoinjector/clonemed/unidentified +/obj/item/reagent_containers/hypospray/autoinjector/clonemed/unidentified init_hide_identity = TRUE flags = 0 -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/brute/unidentified +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/brute/unidentified init_hide_identity = TRUE flags = 0 -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/burn/unidentified +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/burn/unidentified init_hide_identity = TRUE flags = 0 -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/toxin/unidentified +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/toxin/unidentified init_hide_identity = TRUE flags = 0 -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/oxy/unidentified +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/oxy/unidentified init_hide_identity = TRUE flags = 0 -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/purity/unidentified +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/purity/unidentified init_hide_identity = TRUE flags = 0 -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/pain/unidentified +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/pain/unidentified init_hide_identity = TRUE flags = 0 -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/organ/unidentified +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/organ/unidentified init_hide_identity = TRUE flags = 0 -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/clotting/unidentified +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/clotting/unidentified init_hide_identity = TRUE flags = 0 -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/combat/unidentified +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/combat/unidentified init_hide_identity = TRUE flags = 0 -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/healing_nanites/unidentified +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/healing_nanites/unidentified init_hide_identity = TRUE flags = 0 // The somewhat bad. -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/stimm/unidentified +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/stimm/unidentified init_hide_identity = TRUE flags = 0 -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/bliss/unidentified +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/bliss/unidentified init_hide_identity = TRUE flags = 0 -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/expired/unidentified +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/expired/unidentified init_hide_identity = TRUE flags = 0 -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/serotrotium/unidentified +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/serotrotium/unidentified init_hide_identity = TRUE flags = 0 -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/cryptobiolin/unidentified +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/cryptobiolin/unidentified init_hide_identity = TRUE flags = 0 -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/mindbreaker/unidentified +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/mindbreaker/unidentified init_hide_identity = TRUE flags = 0 -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/psilocybin/unidentified +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/psilocybin/unidentified init_hide_identity = TRUE flags = 0 -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/soporific/unidentified +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/soporific/unidentified init_hide_identity = TRUE flags = 0 // The very bad. -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/cyanide/unidentified +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/cyanide/unidentified init_hide_identity = TRUE flags = 0 -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/impedrezene/unidentified +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/impedrezene/unidentified init_hide_identity = TRUE flags = 0 -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/mutagen/unidentified +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/mutagen/unidentified init_hide_identity = TRUE flags = 0 -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/defective_nanites/unidentified +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/defective_nanites/unidentified init_hide_identity = TRUE flags = 0 -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/contaminated/unidentified +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/contaminated/unidentified init_hide_identity = TRUE flags = 0 \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/virology.dm b/code/modules/reagents/reagent_containers/virology.dm new file mode 100644 index 00000000000..a1d4403900f --- /dev/null +++ b/code/modules/reagents/reagent_containers/virology.dm @@ -0,0 +1,26 @@ +/obj/item/reagent_containers/glass/bottle/culture + name = "virus culture" + desc = "A bottle with a virus culture" + icon_state = "bottle-1" + var/list/data = list("donor" = null, "viruses" = null, "blood_DNA" = null, "blood_type" = null, "resistances" = null, "trace_chems" = null) + var/list/diseases = list() + +/obj/item/reagent_containers/glass/bottle/culture/cold + name = "cold virus culture" + desc = "A bottle with the common cold culture" + +/obj/item/reagent_containers/glass/bottle/culture/cold/Initialize() + . = ..() + diseases += new /datum/disease/advance/cold + data["viruses"] = diseases + reagents.add_reagent("blood", 10, data) + +/obj/item/reagent_containers/glass/bottle/culture/flu + name = "flu virus culture" + desc = "A bottle with the flu culture" + +/obj/item/reagent_containers/glass/bottle/culture/flu/Initialize() + . = ..() + diseases += new /datum/disease/advance/flu + data["viruses"] = diseases + reagents.add_reagent("blood", 10, data) diff --git a/code/modules/reagents/reagents/_reagents.dm b/code/modules/reagents/reagents/_reagents.dm index 2393240d36e..0f8fcd74995 100644 --- a/code/modules/reagents/reagents/_reagents.dm +++ b/code/modules/reagents/reagents/_reagents.dm @@ -33,6 +33,7 @@ var/cup_name = null var/cup_desc = null var/cup_center_of_mass = null + var/cup_prefix = null var/color = "#000000" var/color_weight = 1 diff --git a/code/modules/reagents/reagents/core.dm b/code/modules/reagents/reagents/core.dm index c0d0d2dd8e1..7de3951a80f 100644 --- a/code/modules/reagents/reagents/core.dm +++ b/code/modules/reagents/reagents/core.dm @@ -23,9 +23,9 @@ /datum/reagent/blood/get_data() // Just in case you have a reagent that handles data differently. var/t = data.Copy() - if(t["virus2"]) - var/list/v = t["virus2"] - t["virus2"] = v.Copy() + if(t["viruses"]) + var/list/v = t["viruses"] + t["viruses"] = v.Copy() return t /datum/reagent/blood/touch_turf(var/turf/simulated/T) @@ -70,13 +70,16 @@ if(effective_dose > 15) if(!is_vampire) //VOREStation Edit. M.adjustToxLoss(removed) //VOREStation Edit. - if(data && data["virus2"]) - var/list/vlist = data["virus2"] + if(data && data["viruses"]) + var/list/vlist = data["viruses"] if(vlist.len) for(var/ID in vlist) - var/datum/disease2/disease/V = vlist[ID] - if(V.spreadtype == "Contact") - infect_virus2(M, V.getcopy()) + if(!ID) + continue + var/datum/disease/D = ID + if((D.spread_flags & SPECIAL) || (D.spread_flags & NON_CONTAGIOUS)) + continue + M.ContractDisease(D) /datum/reagent/blood/affect_touch(var/mob/living/carbon/M, var/alien, var/removed) if(ishuman(M)) @@ -86,15 +89,59 @@ if(alien == IS_SLIME) affect_ingest(M, alien, removed) return - if(data && data["virus2"]) - var/list/vlist = data["virus2"] + if(data && data["viruses"]) + var/list/vlist = data["viruses"] if(vlist.len) for(var/ID in vlist) - var/datum/disease2/disease/V = vlist[ID] - if(V.spreadtype == "Contact") - infect_virus2(M, V.getcopy()) - if(data && data["antibodies"]) - M.antibodies |= data["antibodies"] + var/datum/disease/D = ID + if((D.spread_flags & SPECIAL) || (D.spread_flags & NON_CONTAGIOUS)) + continue + M.ContractDisease(D) + if(data && data["resistances"]) + M.resistances |= data["resistances"] + +/datum/reagent/blood/mix_data(newdata, newamount) + if(!data || !newdata) + return + + if(data["viruses"] || newdata["viruses"]) + var/list/mix1 = data["viruses"] + var/list/mix2 = newdata["viruses"] + + var/list/to_mix = list() + var/list/preserve = list() + + for(var/datum/disease/advance/AD in mix1) + to_mix += AD + for(var/datum/disease/advance/AD in mix2) + to_mix += AD + + var/datum/disease/advance/mixed_AD = Advance_Mix(to_mix) + + if(mixed_AD) + preserve += mixed_AD + + for(var/datum/disease/D1 in mix1) + if(!istype(D1, /datum/disease/advance)) + var/keep = TRUE + for(var/datum/disease/D2 in preserve) + if(D1.IsSame(D2)) + keep = FALSE + break + if(keep) + preserve += D1 + + for(var/datum/disease/D1 in mix2) + if(!istype(D1, /datum/disease/advance)) + var/keep = TRUE + for(var/datum/disease/D2 in preserve) + if(D1.IsSame(D2)) + keep = FALSE + break + if(keep) + preserve += D1 + + data["viruses"] = preserve /datum/reagent/blood/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) if(alien == IS_SLIME) //They don't have blood, so it seems weird that they would instantly 'process' the chemical like another species does. @@ -190,19 +237,19 @@ var/removed_heat = between(0, volume * WATER_LATENT_HEAT, -environment.get_thermal_energy_change(min_temperature)) environment.add_thermal_energy(-removed_heat) if (prob(5)) - T.visible_message("The water sizzles as it lands on \the [T]!") + T.visible_message(span_warning("The water sizzles as it lands on \the [T]!")) else if(volume >= 10) T.wet_floor(1) /datum/reagent/water/touch_obj(var/obj/O, var/amount) ..() - if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/monkeycube)) - var/obj/item/weapon/reagent_containers/food/snacks/monkeycube/cube = O + if(istype(O, /obj/item/reagent_containers/food/snacks/monkeycube)) + var/obj/item/reagent_containers/food/snacks/monkeycube/cube = O if(!cube.wrapped) cube.Expand() - else if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/cube)) - var/obj/item/weapon/reagent_containers/food/snacks/cube/cube = O + else if(istype(O, /obj/item/reagent_containers/food/snacks/cube)) + var/obj/item/reagent_containers/food/snacks/cube/cube = O cube.Expand() else O.water_act(amount / 5) @@ -214,7 +261,7 @@ if(istype(L, /mob/living/simple_mob/slime)) var/mob/living/simple_mob/slime/S = L S.adjustToxLoss(15 * amount) - S.visible_message("[S]'s flesh sizzles where the water touches it!", "Your flesh burns in the water!") + S.visible_message(span_warning("[S]'s flesh sizzles where the water touches it!"), span_danger("Your flesh burns in the water!")) // Then extinguish people on fire. var/needed = max(0,L.fire_stacks) * 5 @@ -230,7 +277,7 @@ var/obj/item/clothing/mask/smokable/S = H.wear_mask if(S.lit) S.quench() - H.visible_message("[H]\'s [S.name] is put out.") + H.visible_message(span_notice("[H]\'s [S.name] is put out.")) //YWedit start, readds promethean damage that was removed by vorestation. /datum/reagent/water/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) @@ -247,7 +294,7 @@ /datum/reagent/water/affect_touch(var/mob/living/carbon/M, var/alien, var/removed) if(alien == IS_SLIME && prob(10)) - M.visible_message("[M]'s flesh sizzles where the water touches it!", "Your flesh burns in the water!") + M.visible_message(span_warning("[M]'s flesh sizzles where the water touches it!"), span_danger("Your flesh burns in the water!")) ..() //VOREStation Edit End, diff --git a/code/modules/reagents/reagents/dispenser.dm b/code/modules/reagents/reagents/dispenser.dm index 34440009ff8..ba48f35a83a 100644 --- a/code/modules/reagents/reagents/dispenser.dm +++ b/code/modules/reagents/reagents/dispenser.dm @@ -86,6 +86,7 @@ taste_description = "pure alcohol" reagent_state = LIQUID color = "#404030" + cup_prefix = "alcoholic" ingest_met = REM * 2 @@ -196,20 +197,20 @@ /datum/reagent/ethanol/touch_obj(var/obj/O) ..() - if(istype(O, /obj/item/weapon/paper)) - var/obj/item/weapon/paper/paperaffected = O + if(istype(O, /obj/item/paper)) + var/obj/item/paper/paperaffected = O paperaffected.clearpaper() to_chat(usr, "The solution dissolves the ink on the paper.") return - if(istype(O, /obj/item/weapon/book)) + if(istype(O, /obj/item/book)) if(volume < 5) return - if(istype(O, /obj/item/weapon/book/tome)) - to_chat(usr, "The solution does nothing. Whatever this is, it isn't normal ink.") + if(istype(O, /obj/item/book/tome)) + to_chat(usr, span_notice("The solution does nothing. Whatever this is, it isn't normal ink.")) return - var/obj/item/weapon/book/affectedbook = O + var/obj/item/book/affectedbook = O affectedbook.dat = null - to_chat(usr, "The solution dissolves the ink on the book.") + to_chat(usr, span_notice("The solution dissolves the ink on the book.")) return /datum/reagent/fluorine @@ -319,20 +320,7 @@ /datum/reagent/radium/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) if(issmall(M)) removed *= 2 - M.apply_effect(10 * removed, IRRADIATE, 0) // Radium may increase your chances to cure a disease - if(M.virus2.len) - for(var/ID in M.virus2) - var/datum/disease2/disease/V = M.virus2[ID] - if(prob(5)) - M.antibodies |= V.antigen - if(prob(50)) - M.apply_effect(50, IRRADIATE, check_protection = 0) // curing it that way may kill you instead - var/absorbed = 0 - var/obj/item/organ/internal/diona/nutrients/rad_organ = locate() in M.internal_organs - if(rad_organ && !rad_organ.is_broken()) - absorbed = 1 - if(!absorbed) - M.adjustToxLoss(100) + M.apply_effect(10 * removed, IRRADIATE, 0) /datum/reagent/radium/touch_turf(var/turf/T) ..() @@ -368,11 +356,11 @@ var/mob/living/carbon/human/H = M if(H.head) if(H.head.unacidable) - to_chat(H, "Your [H.head] protects you from the acid.") + to_chat(H, span_danger("Your [H.head] protects you from the acid.")) remove_self(volume) return else if(removed > meltdose) - to_chat(H, "Your [H.head] melts away!") + to_chat(H, span_danger("Your [H.head] melts away!")) qdel(H.head) H.update_inv_head(1) H.update_hair(1) @@ -382,11 +370,11 @@ if(H.wear_mask) if(H.wear_mask.unacidable) - to_chat(H, "Your [H.wear_mask] protects you from the acid.") + to_chat(H, span_danger("Your [H.wear_mask] protects you from the acid.")) remove_self(volume) return else if(removed > meltdose) - to_chat(H, "Your [H.wear_mask] melts away!") + to_chat(H, span_danger("Your [H.wear_mask] melts away!")) qdel(H.wear_mask) H.update_inv_wear_mask(1) H.update_hair(1) @@ -396,10 +384,10 @@ if(H.glasses) if(H.glasses.unacidable) - to_chat(H, "Your [H.glasses] partially protect you from the acid!") + to_chat(H, span_danger("Your [H.glasses] partially protect you from the acid!")) removed /= 2 else if(removed > meltdose) - to_chat(H, "Your [H.glasses] melt away!") + to_chat(H, span_danger("Your [H.glasses] melt away!")) qdel(H.glasses) H.update_inv_glasses(1) removed -= meltdose / 2 @@ -431,7 +419,7 @@ var/obj/effect/decal/cleanable/molten_item/I = new/obj/effect/decal/cleanable/molten_item(O.loc) I.desc = "Looks like this was \an [O] some time ago." for(var/mob/M in viewers(5, O)) - to_chat(M, "\The [O] melts.") + to_chat(M, span_warning("\The [O] melts.")) qdel(O) remove_self(meltdose) // 10 units of acid will not melt EVERYTHING on the tile diff --git a/code/modules/reagents/reagents/drugs.dm b/code/modules/reagents/reagents/drugs.dm index 28a42a5b48f..8ce249cfe1e 100644 --- a/code/modules/reagents/reagents/drugs.dm +++ b/code/modules/reagents/reagents/drugs.dm @@ -31,11 +31,11 @@ if(world.time > data + 90 SECONDS && volume > 0.5) /// Spam prevention. data = world.time var/msg = pick(high_message_list) - to_chat(M, "[msg]") + to_chat(M, span_warning("[msg]")) else if(volume <= 0.2 && data != -1) data = -1 var/msg = pick(sober_message_list) - to_chat(M, "[msg]") + to_chat(M, span_warning("[msg]")) if(prob(5) && prob_proc == FALSE) /// Enables procs to activate, remains true until THAT PROC sets it to false again. prob_proc = TRUE @@ -232,6 +232,11 @@ high_message_list = list("Everything feels a bit more steady.", "Your mind feels stable.") sober_message_list = list("You feel a little tired.", "You feel a little more listless...") +/datum/reagent/drugs/citalopram/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) + ..() + + M.fear = max((M.fear - 3),0) + /datum/reagent/drugs/paroxetine name = "Paroxetine" id = "paroxetine" @@ -243,8 +248,10 @@ /datum/reagent/drugs/paroxetine/affect_blood(mob/living/carbon/M, var/alien, var/removed) ..() + + M.fear = max((M.fear - 6),0) if(prob(5) && prob_proc == TRUE) - to_chat(M, "Everything feels out of control...") + to_chat(M, span_warning("Everything feels out of control...")) M.hallucination += 200 prob_proc = FALSE @@ -255,4 +262,4 @@ taste_description = "mint" color = "#e6efe3" high_message_list = list("You feel sluggish...", "You feel calm and collected.") - sober_message_list = list("You feel so much more antsy...", "Your concentration wavers.") \ No newline at end of file + sober_message_list = list("You feel so much more antsy...", "Your concentration wavers.") diff --git a/code/modules/reagents/reagents/food_drinks.dm b/code/modules/reagents/reagents/food_drinks.dm index 4baf2788cdf..43dad05e8b2 100644 --- a/code/modules/reagents/reagents/food_drinks.dm +++ b/code/modules/reagents/reagents/food_drinks.dm @@ -88,7 +88,7 @@ //We'll assume that the batter isnt going to be regurgitated and eaten by someone else. Only show this once if(data["cooked"] != 1) if (!messaged) - to_chat(M, "Ugh, this raw [name] tastes disgusting.") + to_chat(M, span_warning("Ugh, this raw [name] tastes disgusting.")) nutriment_factor *= 0.5 messaged = 1 @@ -106,7 +106,7 @@ data["cooked"] = 0 return data["cooked"] = 0 - if (holder && holder.my_atom && istype(holder.my_atom,/obj/item/weapon/reagent_containers/food/snacks)) + if (holder && holder.my_atom && istype(holder.my_atom,/obj/item/reagent_containers/food/snacks)) data["cooked"] = 1 name = cooked_name @@ -238,7 +238,7 @@ M.take_organ_damage(0, removed * 1.5 * dfactor) data["temperature"] -= (6 * removed) / (1 + volume*0.1)//Cools off as it burns you if (lastburnmessage+100 < world.time ) - to_chat(M, "Searing hot oil burns you, wash it off quick!") + to_chat(M, span_danger("Searing hot oil burns you, wash it off quick!")) lastburnmessage = world.time /datum/reagent/nutriment/triglyceride/oil/cooking @@ -271,6 +271,7 @@ id = "glucose" taste_description = "sweetness" color = "#FFFFFF" + cup_prefix = "sweetened" injectable = 1 @@ -314,6 +315,7 @@ color = "#EDB91F" taste_description = "cheese" allergen_type = ALLERGEN_DAIRY //Cheese is made from dairy + cup_prefix = "cheesy" /datum/reagent/nutriment/protein/egg name = "egg yolk" @@ -321,6 +323,7 @@ taste_description = "egg" color = "#FFFFAA" allergen_type = ALLERGEN_EGGS //Eggs contain egg + cup_prefix = "eggy" /datum/reagent/nutriment/protein/murk name = "murkfin protein" @@ -343,6 +346,7 @@ taste_description = "sweetness" nutriment_factor = 10 color = "#FFFF00" + cup_prefix = "honey" /datum/reagent/nutriment/honey/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed) ..() @@ -373,6 +377,7 @@ nutriment_factor = 10 color = "#FFFFFF" allergen_type = ALLERGEN_EGGS //Mayo is made from eggs + cup_prefix = "mayo" /datum/reagent/nutriment/yeast name = "Yeast" @@ -436,6 +441,7 @@ nutriment_factor = 5 color = "#302000" allergen_type = ALLERGEN_CHOCOLATE + cup_prefix = "coco" /datum/reagent/nutriment/chocolate name = "Chocolate" @@ -446,6 +452,7 @@ nutriment_factor = 5 taste_mult = 1.3 allergen_type = ALLERGEN_CHOCOLATE + cup_prefix = "chocolate" /datum/reagent/nutriment/instantjuice name = "Juice Powder" @@ -461,6 +468,7 @@ description = "Dehydrated, powdered grape juice." taste_description = "dry grapes" color = "#863333" + cup_prefix = "grape" /datum/reagent/nutriment/instantjuice/orange name = "Orange Juice Powder" @@ -468,6 +476,7 @@ description = "Dehydrated, powdered orange juice." taste_description = "dry oranges" color = "#e78108" + cup_prefix = "orange" /datum/reagent/nutriment/instantjuice/watermelon name = "Watermelon Juice Powder" @@ -475,6 +484,7 @@ description = "Dehydrated, powdered watermelon juice." taste_description = "dry sweet watermelon" color = "#b83333" + cup_prefix = "melon" /datum/reagent/nutriment/instantjuice/apple name = "Apple Juice Powder" @@ -482,6 +492,7 @@ description = "Dehydrated, powdered apple juice." taste_description = "dry sweet apples" color = "#c07c40" + cup_prefix = "apple" /datum/reagent/nutriment/soysauce name = "Soy Sauce" @@ -493,6 +504,7 @@ nutriment_factor = 2 color = "#792300" allergen_type = ALLERGEN_BEANS //Soy (beans) + cup_prefix = "umami" /datum/reagent/nutriment/vinegar name = "Vinegar" @@ -502,6 +514,7 @@ reagent_state = LIQUID nutriment_factor = 5 color = "#54410C" + cup_prefix = "acidic" /datum/reagent/nutriment/ketchup name = "Ketchup" @@ -512,6 +525,7 @@ nutriment_factor = 5 color = "#731008" allergen_type = ALLERGEN_FRUIT //Tomatoes are a fruit. + cup_prefix = "tomato" /datum/reagent/nutriment/mustard name = "Mustard" @@ -521,6 +535,7 @@ reagent_state = LIQUID nutriment_factor = 5 color = "#E3BD00" + cup_prefix = "mustard" /datum/reagent/nutriment/barbecue name = "Barbeque Sauce" @@ -530,6 +545,7 @@ reagent_state = LIQUID nutriment_factor = 5 color = "#4F330F" + cup_prefix = "barbecue" /datum/reagent/nutriment/rice name = "Rice" @@ -562,6 +578,7 @@ nutriment_factor = 30 color = "#4F3500" allergen_type = ALLERGEN_SEEDS //Peanuts(seeds) + cup_prefix = "peanut butter" /datum/reagent/nutriment/vanilla name = "Vanilla Extract" @@ -572,6 +589,7 @@ reagent_state = LIQUID nutriment_factor = 2 color = "#0F0A00" + cup_prefix = "vanilla" /datum/reagent/nutriment/durian name = "Durian Paste" @@ -587,7 +605,7 @@ ..() if(iscarbon(M) && !M.isSynthetic()) var/message = pick("Oh god, it smells disgusting here.", "What is that stench?", "That's an awful odor.") - to_chat(M, "[message]") + to_chat(M, span_alien("[message]")) if(prob(CLAMP(amount, 5, 90))) var/mob/living/L = M L.vomit() @@ -618,6 +636,7 @@ taste_description = "sugar" nutriment_factor = 1 color = "#FF00FF" + cup_prefix = "sprinkled" /datum/reagent/nutriment/mint name = "Mint" @@ -626,6 +645,7 @@ taste_description = "mint" reagent_state = LIQUID color = "#CF3600" + cup_prefix = "minty" /datum/reagent/lipozine // The anti-nutriment. name = "Lipozine" @@ -650,6 +670,7 @@ color = "#FFFFFF" overdose = REAGENTS_OVERDOSE ingest_met = REM + cup_prefix = "salty" /datum/reagent/sodiumchloride/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) ..() @@ -669,6 +690,7 @@ reagent_state = SOLID ingest_met = REM color = "#000000" + cup_prefix = "peppery" /datum/reagent/enzyme name = "Universal Enzyme" @@ -686,6 +708,7 @@ description = "An exotic blend of spices for cooking. Definitely not worms." reagent_state = SOLID color = "#e08702" + cup_prefix = "spicy" /datum/reagent/browniemix name = "Brownie Mix" @@ -725,7 +748,7 @@ return if(alien == IS_ALRAUNE) // VOREStation Edit: It wouldn't affect plants that much. if(prob(5)) - to_chat(M, "You feel a chilly, tingling sensation in your mouth.") + to_chat(M, span_rose("You feel a chilly, tingling sensation in your mouth.")) M.bodytemperature -= rand(10, 25) return if(ishuman(M)) @@ -734,12 +757,12 @@ return var/effective_dose = (dose * M.species.spice_mod) if((effective_dose < 5) && (dose == metabolism || prob(5))) - to_chat(M, "Your insides suddenly feel a spreading chill!") + to_chat(M, span_danger("Your insides suddenly feel a spreading chill!")) if(effective_dose >= 5) M.apply_effect(2 * M.species.spice_mod, AGONY, 0) M.bodytemperature -= rand(1, 5) * M.species.spice_mod // Really fucks you up, cause it makes you cold. if(prob(5)) - M.visible_message("[M] [pick("dry heaves!","coughs!","splutters!")]", pick("You feel like your insides are freezing!", "Your insides feel like they're turning to ice!")) + M.visible_message(span_warning("[M] [pick("dry heaves!","coughs!","splutters!")]"), pick(span_danger("You feel like your insides are freezing!"), span_danger("Your insides feel like they're turning to ice!"))) // holder.remove_reagent("capsaicin", 5) // VOREStation Edit: Nop, we don't instadelete spices for free. /datum/reagent/frostoil/cryotoxin //A longer lasting version of frost oil. @@ -759,6 +782,7 @@ reagent_state = LIQUID ingest_met = REM color = "#B31008" + cup_prefix = "hot" /datum/reagent/capsaicin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) if(alien == IS_DIONA) @@ -770,7 +794,7 @@ return if(alien == IS_ALRAUNE) // VOREStation Edit: It wouldn't affect plants that much. if(prob(5)) - to_chat(M, "You feel a pleasant sensation in your mouth.") + to_chat(M, span_rose("You feel a pleasant sensation in your mouth.")) M.bodytemperature += rand(10, 25) return if(ishuman(M)) @@ -780,12 +804,12 @@ var/effective_dose = (dose * M.species.spice_mod) if((effective_dose < 5) && (dose == metabolism || prob(5))) - to_chat(M, "Your insides feel uncomfortably hot!") + to_chat(M, span_danger("Your insides feel uncomfortably hot!")) if(effective_dose >= 5) M.apply_effect(2 * M.species.spice_mod, AGONY, 0) M.bodytemperature += rand(1, 5) * M.species.spice_mod // Really fucks you up, cause it makes you overheat, too. if(prob(5)) - M.visible_message("[M] [pick("dry heaves!","coughs!","splutters!")]", pick("You feel like your insides are burning!", "You feel like your insides are on fire!", "You feel like your belly is full of lava!")) + M.visible_message(span_warning("[M] [pick("dry heaves!","coughs!","splutters!")]"), pick(span_danger("You feel like your insides are burning!"), span_danger("You feel like your insides are on fire!"), span_danger("You feel like your belly is full of lava!"))) // holder.remove_reagent("frostoil", 5) // VOREStation Edit: Nop, we don't instadelete spices for free. /datum/reagent/condensedcapsaicin @@ -798,6 +822,7 @@ touch_met = 50 // Get rid of it quickly ingest_met = REM color = "#B31008" + cup_prefix = "dangerously hot" /datum/reagent/condensedcapsaicin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) if(alien == IS_DIONA) @@ -865,11 +890,11 @@ if(head_covered && chest_covered && groin_covered && legs_covered && arms_covered && hands_covered && feet_covered) break if(eyes_covered && mouth_covered) - to_chat(M, "Your [safe_thing] protects you from the pepperspray!") + to_chat(M, span_warning("Your [safe_thing] protects you from the pepperspray!")) if(alien != IS_SLIME) return else if(eyes_covered) - to_chat(M, "Your [safe_thing] protects you from most of the pepperspray!") + to_chat(M, span_warning("Your [safe_thing] protects you from most of the pepperspray!")) M.eye_blurry = max(M.eye_blurry, effective_strength * 3) M.Blind(effective_strength) M.Stun(5) @@ -877,12 +902,12 @@ if(alien != IS_SLIME) return else if(mouth_covered) // Mouth cover is better than eye cover - to_chat(M, "Your [safe_thing] protects your face from the pepperspray!") + to_chat(M, span_warning("Your [safe_thing] protects your face from the pepperspray!")) M.eye_blurry = max(M.eye_blurry, effective_strength) if(alien != IS_SLIME) return else// Oh dear :D - to_chat(M, "You're sprayed directly in the eyes with pepperspray!") + to_chat(M, span_warning("You're sprayed directly in the eyes with pepperspray!")) M.eye_blurry = max(M.eye_blurry, effective_strength * 5) M.Blind(effective_strength * 2) M.Stun(5) @@ -892,31 +917,31 @@ if(alien == IS_SLIME) if(!head_covered) if(prob(33)) - to_chat(M, "The exposed flesh on your head burns!") + to_chat(M, span_warning("The exposed flesh on your head burns!")) M.apply_effect(5 * effective_strength, AGONY, 0) if(!chest_covered) if(prob(33)) - to_chat(M, "The exposed flesh on your chest burns!") + to_chat(M, span_warning("The exposed flesh on your chest burns!")) M.apply_effect(5 * effective_strength, AGONY, 0) if(!groin_covered && prob(75)) if(prob(33)) - to_chat(M, "The exposed flesh on your groin burns!") + to_chat(M, span_warning("The exposed flesh on your groin burns!")) M.apply_effect(3 * effective_strength, AGONY, 0) if(!arms_covered && prob(45)) if(prob(33)) - to_chat(M, "The exposed flesh on your arms burns!") + to_chat(M, span_warning("The exposed flesh on your arms burns!")) M.apply_effect(3 * effective_strength, AGONY, 0) if(!legs_covered && prob(45)) if(prob(33)) - to_chat(M, "The exposed flesh on your legs burns!") + to_chat(M, span_warning("The exposed flesh on your legs burns!")) M.apply_effect(3 * effective_strength, AGONY, 0) if(!hands_covered && prob(20)) if(prob(33)) - to_chat(M, "The exposed flesh on your hands burns!") + to_chat(M, span_warning("The exposed flesh on your hands burns!")) M.apply_effect(effective_strength / 2, AGONY, 0) if(!feet_covered && prob(20)) if(prob(33)) - to_chat(M, "The exposed flesh on your feet burns!") + to_chat(M, span_warning("The exposed flesh on your feet burns!")) M.apply_effect(effective_strength / 2, AGONY, 0) /datum/reagent/condensedcapsaicin/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed) @@ -925,11 +950,11 @@ if(!H.can_feel_pain()) return if(dose == metabolism) - to_chat(M, "You feel like your insides are burning!") + to_chat(M, span_danger("You feel like your insides are burning!")) else M.apply_effect(4, AGONY, 0) if(prob(5)) - M.visible_message("[M] [pick("dry heaves!","coughs!","splutters!")]", "You feel like your insides are burning!") + M.visible_message(span_warning("[M] [pick("dry heaves!","coughs!","splutters!")]"), span_danger("You feel like your insides are burning!")) // holder.remove_reagent("frostoil", 5) // VOREStation Edit: Nop, we don't instadelete spices for free. /* Drinks */ @@ -986,6 +1011,7 @@ glass_name = "banana juice" glass_desc = "The raw essence of a banana. HONK!" allergen_type = ALLERGEN_FRUIT //Bananas are fruit + cup_prefix = "banana" /datum/reagent/drink/juice/berry name = "Berry Juice" @@ -997,6 +1023,7 @@ glass_name = "berry juice" glass_desc = "Berry juice. Or maybe it's jam. Who cares?" allergen_type = ALLERGEN_FRUIT //Berries are fruit + cup_prefix = "berry" /datum/reagent/drink/juice/pineapple name = "Pineapple Juice" @@ -1008,6 +1035,7 @@ glass_name = "pineapple juice" glass_desc = "Pineapple juice. Or maybe it's spineapple. Who cares?" allergen_type = ALLERGEN_FRUIT //Pineapples are fruit + cup_prefix = "pineapple" /datum/reagent/drink/juice/carrot name = "Carrot juice" @@ -1019,6 +1047,7 @@ glass_name = "carrot juice" glass_desc = "It is just like a carrot but without crunching." allergen_type = ALLERGEN_VEGETABLE //Carrots are vegetables + cup_prefix = "carrot" /datum/reagent/drink/juice/carrot/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed) ..() @@ -1033,6 +1062,7 @@ glass_name = "lettuce juice" glass_desc = "This is just lettuce water. Fresh but boring." + cup_prefix = "lettuce" /datum/reagent/drink/juice name = "Grape Juice" @@ -1045,6 +1075,7 @@ glass_name = "grape juice" glass_desc = "It's grrrrrape!" allergen_type = ALLERGEN_FRUIT //Grapes are fruit + cup_prefix = "grape" /datum/reagent/drink/juice/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed) ..() @@ -1079,6 +1110,7 @@ glass_name = "lemon juice" glass_desc = "Sour..." allergen_type = ALLERGEN_FRUIT //Lemons are fruit + cup_prefix = "lemon" /datum/reagent/drink/juice/apple @@ -1092,6 +1124,7 @@ glass_name = "apple juice" glass_desc = "An earth favorite." allergen_type = ALLERGEN_FRUIT //Apples are fruit + cup_prefix = "apple" /datum/reagent/drink/juice/lime name = "Lime Juice" @@ -1104,6 +1137,7 @@ glass_name = "lime juice" glass_desc = "A glass of sweet-sour lime juice" allergen_type = ALLERGEN_FRUIT //Limes are fruit + cup_prefix = "lime" /datum/reagent/drink/juice/lime/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed) ..() @@ -1121,6 +1155,7 @@ glass_name = "orange juice" glass_desc = "Vitamins! Yay!" allergen_type = ALLERGEN_FRUIT //Oranges are fruit + cup_prefix = "orange" /datum/reagent/drink/juice/orange/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed) ..() @@ -1138,6 +1173,7 @@ glass_name = "poison berry juice" glass_desc = "A glass of deadly juice." + cup_prefix = "poison" /datum/reagent/drink/juice/potato name = "Potato Juice" @@ -1151,6 +1187,7 @@ glass_name = "potato juice" glass_desc = "Juice from a potato. Bleh." allergen_type = ALLERGEN_VEGETABLE //Potatoes are vegetables + cup_prefix = "potato" /datum/reagent/drink/juice/turnip name = "Turnip Juice" @@ -1164,6 +1201,7 @@ glass_name = "turnip juice" glass_desc = "Juice of the turnip. A step below the potato." allergen_type = ALLERGEN_VEGETABLE //Turnips are vegetables + cup_prefix = "turnip" /datum/reagent/drink/juice/tomato name = "Tomato Juice" @@ -1172,6 +1210,7 @@ taste_description = "tomatoes" color = "#731008" sugary = FALSE + cup_prefix = "tomato" glass_name = "tomato juice" glass_desc = "Are you sure this is tomato juice?" @@ -1189,6 +1228,7 @@ description = "Delicious juice made from watermelon." taste_description = "sweet watermelon" color = "#B83333" + cup_prefix = "melon" glass_name = "watermelon juice" glass_desc = "Delicious juice made from watermelon." @@ -1207,7 +1247,7 @@ glass_desc = "White and nutritious goodness!" cup_icon_state = "cup_cream" - cup_name = "cup of milk" + cup_name = "milk" cup_desc = "White and nutritious goodness!" allergen_type = ALLERGEN_DAIRY //Milk is dairy @@ -1219,7 +1259,7 @@ color = "#74533b" cup_icon_state = "cup_brown" - cup_name = "cup of chocolate milk" + cup_name = "chocolate milk" cup_desc = "Deliciously fattening!" glass_name = "chocolate milk" @@ -1254,7 +1294,7 @@ glass_desc = "Ewwww..." cup_icon_state = "cup_cream" - cup_name = "cup of cream" + cup_name = "cream" cup_desc = "Ewwww..." allergen_type = ALLERGEN_DAIRY //Cream is dairy @@ -1269,10 +1309,26 @@ glass_desc = "White and nutritious soy goodness!" cup_icon_state = "cup_cream" - cup_name = "cup of milk" + cup_name = "milk" cup_desc = "White and nutritious goodness!" allergen_type = ALLERGEN_BEANS //Would be made from soy beans +/datum/reagent/drink/milk/foam + name = "Milk Foam" + id = "milk_foam" + description = "Light and airy foamed milk." + taste_description = "airy milk" + color = "#eeebdf" + + glass_name = "foam" + glass_desc = "Fluffy..." + + cup_icon_state = "cup_cream" + cup_name = "foam" + cup_desc = "Fluffy..." + allergen_type = ALLERGEN_DAIRY //Cream is dairy + + /datum/reagent/drink/tea name = "Tea" id = "tea" @@ -1288,7 +1344,7 @@ glass_desc = "Tasty black tea, it has antioxidants, it's good for you!" cup_icon_state = "cup_tea" - cup_name = "cup of tea" + cup_name = "tea" cup_desc = "Tasty black tea, it has antioxidants, it's good for you!" allergen_type = ALLERGEN_STIMULANT //Black tea strong enough to have significant caffeine content @@ -1310,7 +1366,7 @@ glass_name = "cup of decaf tea" glass_desc = "Tasty black tea, it has antioxidants, it's good for you, and won't keep you up at night!" - cup_name = "cup of decaf tea" + cup_name = "decaf tea" cup_desc = "Tasty black tea, it has antioxidants, it's good for you, and won't keep you up at night!" allergen_type = null //Certified cat-safe! @@ -1328,7 +1384,7 @@ glass_special = list(DRINK_ICE) cup_icon_state = "cup_tea" - cup_name = "cup of iced tea" + cup_name = "iced tea" cup_desc = "No relation to a certain rap artist/ actor." /datum/reagent/drink/tea/icetea/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed) @@ -1352,7 +1408,7 @@ /datum/reagent/drink/tea/icetea/decaf name = "Decaf Iced Tea" glass_name = "decaf iced tea" - cup_name = "cup of decaf iced tea" + cup_name = "decaf iced tea" id = "iceteadecaf" adj_dizzy = 0 adj_drowsy = 0 @@ -1369,13 +1425,13 @@ glass_name = "mint tea" glass_desc = "A tasty mixture of mint and tea. It's apparently good for you!" - cup_name = "cup of mint tea" + cup_name = "mint tea" cup_desc = "A tasty mixture of mint and tea. It's apparently good for you!" /datum/reagent/drink/tea/minttea/decaf name = "Decaf Mint Tea" glass_name = "decaf mint tea" - cup_name = "cup of decaf mint tea" + cup_name = "decaf mint tea" id = "mintteadecaf" adj_dizzy = 0 adj_drowsy = 0 @@ -1392,14 +1448,14 @@ glass_name = "lemon tea" glass_desc = "A tasty mixture of lemon and tea. It's apparently good for you!" - cup_name = "cup of lemon tea" + cup_name = "lemon tea" cup_desc = "A tasty mixture of lemon and tea. It's apparently good for you!" allergen_type = ALLERGEN_FRUIT | ALLERGEN_STIMULANT //Made with lemon juice, still tea /datum/reagent/drink/tea/lemontea/decaf name = "Decaf Lemon Tea" glass_name = "decaf lemon tea" - cup_name = "cup of decaf lemon tea" + cup_name = "decaf lemon tea" id = "lemonteadecaf" adj_dizzy = 0 adj_drowsy = 0 @@ -1416,14 +1472,14 @@ glass_name = "lime tea" glass_desc = "A tasty mixture of lime and tea. It's apparently good for you!" - cup_name = "cup of lime tea" + cup_name = "lime tea" cup_desc = "A tasty mixture of lime and tea. It's apparently good for you!" allergen_type = ALLERGEN_FRUIT | ALLERGEN_STIMULANT //Made with lime juice, still tea /datum/reagent/drink/tea/limetea/decaf name = "Decaf Lime Tea" glass_name = "decaf lime tea" - cup_name = "cup of decaf lime tea" + cup_name = "decaf lime tea" id = "limeteadecaf" adj_dizzy = 0 adj_drowsy = 0 @@ -1440,14 +1496,14 @@ glass_name = "orange tea" glass_desc = "A tasty mixture of orange and tea. It's apparently good for you!" - cup_name = "cup of orange tea" + cup_name = "orange tea" cup_desc = "A tasty mixture of orange and tea. It's apparently good for you!" allergen_type = ALLERGEN_FRUIT | ALLERGEN_STIMULANT //Made with orange juice, still tea /datum/reagent/drink/tea/orangetea/decaf name = "Decaf orange Tea" glass_name = "decaf orange tea" - cup_name = "cup of decaf orange tea" + cup_name = "decaf orange tea" id = "orangeteadecaf" adj_dizzy = 0 adj_drowsy = 0 @@ -1464,14 +1520,14 @@ glass_name = "berry tea" glass_desc = "A tasty mixture of berries and tea. It's apparently good for you!" - cup_name = "cup of berry tea" + cup_name = "berry tea" cup_desc = "A tasty mixture of berries and tea. It's apparently good for you!" allergen_type = ALLERGEN_FRUIT | ALLERGEN_STIMULANT //Made with berry juice, still tea /datum/reagent/drink/tea/berrytea/decaf name = "Decaf Berry Tea" glass_name = "decaf berry tea" - cup_name = "cup of decaf berry tea" + cup_name = "decaf berry tea" id = "berryteadecaf" adj_dizzy = 0 adj_drowsy = 0 @@ -1488,7 +1544,7 @@ glass_name = "green tea" glass_desc = "A subtle blend of green tea. It's apparently good for you!" - cup_name = "cup of green tea" + cup_name = "green tea" cup_desc = "A subtle blend of green tea. It's apparently good for you!" /datum/reagent/drink/tea/chaitea @@ -1501,14 +1557,14 @@ glass_name = "chai tea" glass_desc = "A milky tea spiced with cinnamon and cloves." - cup_name = "cup of chai tea" + cup_name = "chai tea" cup_desc = "A milky tea spiced with cinnamon and cloves." allergen_type = ALLERGEN_STIMULANT|ALLERGEN_DAIRY //Made with milk and tea. /datum/reagent/drink/tea/chaitea/decaf name = "Decaf Chai Tea" glass_name = "decaf chai tea" - cup_name = "cup of decaf chai tea" + cup_name = "decaf chai tea" id = "chaiteadecaf" adj_dizzy = 0 adj_drowsy = 0 @@ -1529,7 +1585,7 @@ overdose = 45 cup_icon_state = "cup_coffee" - cup_name = "cup of coffee" + cup_name = "coffee" cup_desc = "Don't drop it, or you'll send scalding liquid and ceramic shards everywhere." glass_name = "coffee" @@ -1604,7 +1660,7 @@ glass_name = "soy latte" cup_icon_state = "cup_latte" - cup_name = "cup of soy latte" + cup_name = "soy latte" cup_desc = "A nice and refreshing beverage while you are reading." allergen_type = ALLERGEN_COFFEE|ALLERGEN_BEANS //Soy(beans) and coffee @@ -1624,7 +1680,7 @@ glass_desc = "A nice, strong and refreshing beverage while you are reading." cup_icon_state = "cup_latte" - cup_name = "cup of cafe latte" + cup_name = "cafe latte" cup_desc = "A nice and refreshing beverage while you are reading." allergen_type = ALLERGEN_COFFEE|ALLERGEN_DAIRY //Cream and coffee @@ -1642,7 +1698,7 @@ adj_temp = 25 cup_icon_state = "cup_coffee" - cup_name = "cup of decaf" + cup_name = "decaf" cup_desc = "Basically just brown, bitter water." glass_name = "decaf coffee" @@ -1663,10 +1719,186 @@ glass_desc = "Made with love! And cocoa beans." cup_icon_state = "cup_coco" - cup_name = "cup of hot chocolate" + cup_name = "hot chocolate" cup_desc = "Made with love! And cocoa beans." allergen_type = ALLERGEN_CHOCOLATE +/datum/reagent/drink/coffee/blackeye + name = "Black Eye Coffee" + id = "black_eye" + description = "Coffee but with more coffee for that extra coffee kick." + taste_description = "very concentrated coffee" + color = "#241001" + adj_temp = 5 + + glass_desc = "Coffee but with more coffee for that extra coffee kick." + glass_name = "black eye coffee" + + cup_icon_state = "cup_coffee" + cup_name = "black eye coffee" + cup_desc = "Coffee but with more coffee for that extra coffee kick." + allergen_type = ALLERGEN_COFFEE + +/datum/reagent/drink/coffee/drip + name = "Drip Coffee" + id = "drip_coffee" + description = "Coffee made by soaking beans in hot water and allowing it seep through." + taste_description = "very concentrated coffee" + color = "#3d1a00" + adj_temp = 5 + + glass_desc = "Coffee made by soaking beans in hot water and allowing it seep through." + glass_name = "drip coffee" + + cup_icon_state = "cup_coffee" + cup_name = "drip brewed coffee" + cup_desc = "Coffee made by soaking beans in hot water and allowing it seep through." + allergen_type = ALLERGEN_COFFEE + +/datum/reagent/drink/coffee/americano + name = "Americano" + id = "americano" + description = "A traditional coffee that is more dilute and perfect for a gentle start to the day." + taste_description = "pleasant coffee" + color = "#6d3205" + adj_temp = 5 + + glass_desc = "A traditional coffee that is more dilute and perfect for a gentle start to the day." + glass_name = "americano" + + cup_icon_state = "cup_coffee" + cup_name = "americano" + cup_desc = "A traditional coffee that is more dilute and perfect for a gentle start to the day." + allergen_type = ALLERGEN_COFFEE + +/datum/reagent/drink/coffee/long_black + name = "Long Black Coffee" + id = "long_black" + description = "A traditional coffee with a little more kick." + taste_description = "modestly bitter coffee" + color = "#6d3205" + adj_temp = 5 + + glass_desc = "A traditional coffee with a little more kick." + glass_name = "long_black" + + cup_icon_state = "cup_coffee" + cup_name = "long black coffee" + cup_desc = "A traditional coffee with a little more kick." + allergen_type = ALLERGEN_COFFEE + +/datum/reagent/drink/coffee/macchiato + name = "Macchiato" + id = "macchiato" + description = "A coffee mixed with steamed milk, it has swirling patterns on top." + taste_description = "milky coffee" + color = "#ad5817" + adj_temp = 5 + + glass_desc = "A coffee mixed with steamed milk, it has swirling patterns on top." + glass_name = "macchiato" + + cup_icon_state = "cup_latte" + cup_name = "macchiato" + cup_desc = "A coffee mixed with steamed milk, it has swirling patterns on top." + allergen_type = ALLERGEN_COFFEE + +/datum/reagent/drink/coffee/cortado + name = "Cortado" + id = "cortado" + description = "Espresso mixed with equal parts milk and a layer of foam on top." + taste_description = "milky coffee" + color = "#ad5817" + adj_temp = 5 + + glass_desc = "Espresso mixed with equal parts milk and a layer of foam on top." + glass_name = "macchiato" + + cup_icon_state = "cup_latte" + cup_name = "cortado" + cup_desc = "Espresso mixed with equal parts milk and a layer of foam on top." + allergen_type = ALLERGEN_COFFEE + +/datum/reagent/drink/coffee/breve + name = "Breve" + id = "breve" + description = "Espresso topped with half-and-half, with a layer of foam on top." + taste_description = "creamy coffee" + color = "#d1905e" + adj_temp = 5 + + glass_desc = "Espresso topped with half-and-half, with a layer of foam on top." + glass_name = "breve" + + cup_icon_state = "cup_cream" + cup_name = "breve" + cup_desc = "Espresso topped with half-and-half, with a layer of foam on top." + allergen_type = ALLERGEN_COFFEE + +/datum/reagent/drink/coffee/cappuccino + name = "Cappuccino" + id = "cappuccino" + description = "Espresso with a large portion of milk and a hefty layer of foam." + taste_description = "classic coffee" + color = "#d1905e" + adj_temp = 5 + + glass_desc = "Espresso with a large portion of milk and a hefty layer of foam." + glass_name = "cappuccino" + + cup_icon_state = "cup_cream" + cup_name = "cappuccino" + cup_desc = "Espresso with a large portion of milk and a hefty layer of foam." + allergen_type = ALLERGEN_COFFEE + +/datum/reagent/drink/coffee/flat_white + name = "Flat White Coffee" + id = "flat_white" + description = "A very milky coffee that is particularly light and airy." + taste_description = "very milky coffee" + color = "#ed9f64" + adj_temp = 5 + + glass_desc = "A very milky coffee that is particularly light and airy." + glass_name = "flat_white" + + cup_icon_state = "cup_latte" + cup_name = "flat white coffee" + cup_desc = "A very milky coffee that is particularly light and airy." + allergen_type = ALLERGEN_COFFEE + +/datum/reagent/drink/coffee/mocha + name = "Mocha" + id = "mocha" + description = "A chocolate and coffee mix topped with a lot of milk and foam." + taste_description = "chocolatey coffee" + color = "#984201" + adj_temp = 5 + + glass_desc = "A chocolate and coffee mix topped with a lot of milk and foam." + glass_name = "mocha" + + cup_icon_state = "cup_cream" + cup_name = "mocha" + cup_desc = "A chocolate and coffee mix topped with a lot of milk and foam." + allergen_type = ALLERGEN_COFFEE + +/datum/reagent/drink/coffee/vienna + name = "Vienna" + id = "vienna" + description = "A very sweet espresso topped with a lot of whipped cream." + taste_description = "super sweet and creamy coffee" + color = "#8e7059" + adj_temp = 5 + + glass_desc = "A very sweet espresso topped with a lot of whipped cream." + glass_name = "vienna" + + cup_icon_state = "cup_cream" + cup_name = "vienna" + cup_desc = "A very sweet espresso topped with a lot of whipped cream." + allergen_type = ALLERGEN_COFFEE + /datum/reagent/drink/soda/sodawater name = "Soda Water" id = "sodawater" @@ -1676,6 +1908,7 @@ adj_dizzy = -5 adj_drowsy = -3 adj_temp = -5 + cup_prefix = "fizzy" glass_name = "soda water" glass_desc = "Soda water. Why not make a scotch and soda?" @@ -1688,6 +1921,7 @@ taste_description = "grape soda" color = "#421C52" adj_drowsy = -3 + cup_prefix = "grape soda" glass_name = "grape soda" glass_desc = "Looks like a delicious drink!" @@ -1700,6 +1934,7 @@ description = "It tastes strange but at least the quinine keeps the Space Malaria at bay." taste_description = "tart and fresh" color = "#619494" + cup_prefix = "tonic" adj_dizzy = -5 adj_drowsy = -3 @@ -1716,6 +1951,7 @@ taste_description = "lemonade" color = "#FFFF00" adj_temp = -5 + cup_prefix = "lemonade" glass_name = "lemonade" glass_desc = "Oh the nostalgia..." @@ -1729,6 +1965,7 @@ taste_description = "watermelon" color = "#FFB3BB" adj_temp = -5 + cup_prefix = "melonade" glass_name = "melonade" glass_desc = "Oh the.. nostalgia?" @@ -1742,6 +1979,7 @@ taste_description = "apples" color = "#FFD1B3" adj_temp = -5 + cup_prefix = "appleade" glass_name = "appleade" glass_desc = "Applejuice, improved." @@ -1755,6 +1993,7 @@ taste_description = "sweet`n`sour pineapples" color = "#FFFF00" adj_temp = -5 + cup_prefix = "pineappleade" glass_name = "pineappleade" glass_desc = "Pineapple, juiced up." @@ -1809,7 +2048,7 @@ glass_desc = "Glorious brainfreezing mixture." allergen_type = ALLERGEN_DAIRY //Made with dairy products -/datum/reagent/milkshake/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed) +/datum/reagent/drink/milkshake/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed) ..() var/effective_dose = dose/2 @@ -2537,6 +2776,192 @@ glass_special = list(DRINK_FIZZ) allergen_type = ALLERGEN_FRUIT //made with several fruit juices +/datum/reagent/drink/syrup + name = "syrup" + id = "syrup" + description = "A generic, sugary syrup." + taste_description = "sweetness" + color = "#fffbe8" + cup_prefix = "extra sweet" + + glass_name = "syrup" + glass_desc = "That is just way too much syrup to drink on its own." + allergen_type = ALLERGEN_SUGARS + + overdose = 45 + +/datum/reagent/drink/syrup/overdose(var/mob/living/carbon/M, var/alien) + if(alien == IS_DIONA) + return + M.make_dizzy(1) + +/datum/reagent/drink/syrup/pumpkin + name = "pumpkin spice syrup" + id = "syrup_pumpkin" + description = "A sugary syrup that tastes of pumpkin spice." + taste_description = "pumpkin spice" + color = "#e0b439" + cup_prefix = "pumpkin spice" + + allergen_type = ALLERGEN_SUGARS|ALLERGEN_FRUIT + +/datum/reagent/drink/syrup/caramel + name = "caramel syrup" + id = "syrup_caramel" + description = "A sugary syrup that tastes of caramel." + taste_description = "caramel" + color = "#b47921" + cup_prefix = "caramel" + +/datum/reagent/drink/syrup/scaramel + name = "salted caramel syrup" + id = "syrup_salted_caramel" + description = "A sugary syrup that tastes of salted caramel." + taste_description = "salty caramel" + color = "#9f6714" + cup_prefix = "salted caramel" + +/datum/reagent/drink/syrup/irish + name = "irish cream syrup" + id = "syrup_irish" + description = "A sugary syrup that tastes of a light, sweet cream." + taste_description = "creaminess" + color = "#ead3b0" + cup_prefix = "irish" + +/datum/reagent/drink/syrup/almond + name = "almond syrup" + id = "syrup_almond" + description = "A sugary syrup that tastes of almonds." + taste_description = "almonds" + color = "#ffb64a" + cup_prefix = "almond" + + allergen_type = ALLERGEN_SUGARS|ALLERGEN_SEEDS + +/datum/reagent/drink/syrup/cinnamon + name = "cinnamon syrup" + id = "syrup_cinnamon" + description = "A sugary syrup that tastes of cinnamon." + taste_description = "cinnamon" + color = "#ec612a" + cup_prefix = "cinnamon" + +/datum/reagent/drink/syrup/pistachio + name = "pistachio syrup" + id = "syrup_pistachio" + description = "A sugary syrup that tastes of pistachio." + taste_description = "pistachio" + color = "#c9eb59" + cup_prefix = "pistachio" + + allergen_type = ALLERGEN_SUGARS|ALLERGEN_SEEDS + +/datum/reagent/drink/syrup/vanilla + name = "vanilla syrup" + id = "syrup_vanilla" + description = "A sugary syrup that tastes of vanilla." + taste_description = "vanilla" + color = "#eaebd1" + cup_prefix = "vanilla" + +/datum/reagent/drink/syrup/toffee + name = "toffee syrup" + id = "syrup_toffee" + description = "A sugary syrup that tastes of toffee." + taste_description = "toffee" + color = "#aa7143" + cup_prefix = "toffee" + +/datum/reagent/drink/syrup/cherry + name = "cherry syrup" + id = "syrup_cherry" + description = "A sugary syrup that tastes of cherries." + taste_description = "cherries" + color = "#ff0000" + cup_prefix = "cherry" + + allergen_type = ALLERGEN_SUGARS|ALLERGEN_FRUIT + +/datum/reagent/drink/syrup/butterscotch + name = "butterscotch syrup" + id = "syrup_butterscotch" + description = "A sugary syrup that tastes of butterscotch." + taste_description = "butterscotch" + color = "#e6924e" + cup_prefix = "butterscotch" + +/datum/reagent/drink/syrup/chocolate + name = "chocolate syrup" + id = "syrup_chocolate" + description = "A sugary syrup that tastes of chocolate." + taste_description = "chocolate" + color = "#873600" + cup_prefix = "chocolate" + + allergen_type = ALLERGEN_SUGARS|ALLERGEN_CHOCOLATE + +/datum/reagent/drink/syrup/wchocolate + name = "white chocolate syrup" + id = "syrup_white_chocolate" + description = "A sugary syrup that tastes of white chocolate." + taste_description = "white chocolate" + color = "#c4c6a5" + cup_prefix = "white chocolate" + + allergen_type = ALLERGEN_SUGARS|ALLERGEN_CHOCOLATE + +/datum/reagent/drink/syrup/strawberry + name = "strawberry syrup" + id = "syrup_strawberry" + description = "A sugary syrup that tastes of strawberries." + taste_description = "strawberries" + color = "#ff2244" + cup_prefix = "strawberry" + + allergen_type = ALLERGEN_SUGARS|ALLERGEN_FRUIT + +/datum/reagent/drink/syrup/coconut + name = "coconut syrup" + id = "syrup_coconut" + description = "A sugary syrup that tastes of coconut." + taste_description = "coconut" + color = "#ffffff" + cup_prefix = "coconut" + + allergen_type = ALLERGEN_SUGARS|ALLERGEN_FRUIT + +/datum/reagent/drink/syrup/ginger + name = "ginger syrup" + id = "syrup_ginger" + description = "A sugary syrup that tastes of ginger." + taste_description = "ginger" + color = "#d09740" + cup_prefix = "ginger" + +/datum/reagent/drink/syrup/gingerbread + name = "gingerbread syrup" + id = "syrup_gingerbread" + description = "A sugary syrup that tastes of gingerbread." + taste_description = "gingerbread" + color = "#b6790f" + cup_prefix = "gingerbread" + +/datum/reagent/drink/syrup/peppermint + name = "peppermint syrup" + id = "syrup_peppermint" + description = "A sugary syrup that tastes of peppermint." + taste_description = "peppermint" + color = "#9ce06e" + cup_prefix = "peppermint" + +/datum/reagent/drink/syrup/birthday_cake + name = "birthday cake syrup" + id = "syrup_birthday" + description = "A sugary syrup that tastes of an overload of sweetness." + taste_description = "far too much sugar" + color = "#ff00e6" + cup_prefix = "birthday cake" /* Alcohol */ @@ -3087,7 +3512,7 @@ /datum/reagent/ethanol/bananahonk name = "Banana Mama" id = "bananahonk" - description = "A drink from Clown Heaven." + description = "A drink from " + JOB_CLOWN + " Heaven." taste_description = "bananas and sugar" nutriment_factor = 1 color = "#FFFF91" @@ -3624,7 +4049,7 @@ /datum/reagent/ethanol/silencer name = "Silencer" id = "silencer" - description = "A drink from Mime Heaven." + description = "A drink from " + JOB_MIME + " Heaven." taste_description = "a pencil eraser" taste_mult = 1.2 nutriment_factor = 1 @@ -4050,7 +4475,7 @@ allergen_type = ALLERGEN_GRAINS|ALLERGEN_FRUIT //Made from manhattan(whiskey(grains), vermouth(fruit)) -/datum/reagent/drink/soemmerfire/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed) +/datum/reagent/ethanol/soemmerfire/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed) ..() if(alien == IS_DIONA) return @@ -4119,7 +4544,7 @@ glass_name = "Vox's Delight" glass_desc = "Not recommended if you enjoy having organs." -/datum/reagent/drink/voxdelight/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed) +/datum/reagent/ethanol/voxdelight/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed) ..() if(alien == IS_DIONA) return @@ -4193,7 +4618,7 @@ allergen_type = ALLERGEN_GRAINS //Made from vodka(grains) -/datum/reagent/drink/slimeshot/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed) +/datum/reagent/ethanol/slimeshot/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed) ..() if(alien == IS_DIONA) return @@ -4370,7 +4795,7 @@ return var/adjust_liver = rand(-3, 2) if(prob(L.damage)) - to_chat(M, "You feel woozy...") + to_chat(M, span_cult("You feel woozy...")) L.damage = max(L.damage + (adjust_liver * removed), 0) var/adjust_tox = rand(-4, 2) M.adjustToxLoss(adjust_tox * removed) @@ -4544,7 +4969,7 @@ ..() playsound(M, 'sound/items/hooh.ogg', 50, 1, -1) if(prob(5)) - to_chat(M, "You feel like you've been gnomed...") + to_chat(M, span_warning("You feel like you've been gnomed...")) /datum/reagent/drink/soda/kompot name = "Kompot" diff --git a/code/modules/reagents/reagents/food_drinks_vr.dm b/code/modules/reagents/reagents/food_drinks_vr.dm index 038bb30aac9..3f245ac2199 100644 --- a/code/modules/reagents/reagents/food_drinks_vr.dm +++ b/code/modules/reagents/reagents/food_drinks_vr.dm @@ -62,9 +62,9 @@ return else if((dose < 5) && (dose == metabolism || prob(5))) - to_chat(M, "Your insides feel uncomfortably hot!") + to_chat(M, span_danger("Your insides feel uncomfortably hot!")) if(dose >= 5 && prob(5)) - M.visible_message("[M] [pick("dry heaves!","coughs!","splutters!")]", pick("You feel like your insides are burning!", "You feel like your insides are on fire!", "You feel like your belly is full of lava!")) + M.visible_message(span_warning("[M] [pick("dry heaves!","coughs!","splutters!")]"), pick(span_danger("You feel like your insides are burning!"), span_danger("You feel like your insides are on fire!"), span_danger("You feel like your belly is full of lava!"))) /datum/reagent/ethanol/monstertamer name = "Monster Tamer" @@ -103,7 +103,7 @@ H.feral -= removed * 3 // should calm them down quick, provided they're actually in a state to STAY calm. if (H.feral <=0) //check if they're unferalled H.feral = 0 - to_chat(H, "Your mind starts to clear, soothed into a state of clarity as your senses return.") + to_chat(H, span_info("Your mind starts to clear, soothed into a state of clarity as your senses return.")) log_and_message_admins("is no longer feral.", H) /datum/reagent/ethanol/monstertamer/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) @@ -466,7 +466,7 @@ H.feral -= removed * 3 // should calm them down quick, provided they're actually in a state to STAY calm. if (H.feral <=0) //check if they're unferalled H.feral = 0 - to_chat(H, "Your mind starts to clear, soothed into a state of clarity as your senses return.") + to_chat(H, span_info("Your mind starts to clear, soothed into a state of clarity as your senses return.")) log_and_message_admins("is no longer feral.", H) /datum/reagent/ethanol/hairoftherat/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) @@ -556,7 +556,7 @@ H.feral -= removed * 3 //Should calm them down quick, provided they're actually in a state to STAY calm. if(H.feral <=0) //Check if they're unferalled H.feral = 0 - to_chat(H, "Your mind starts to clear, soothed into a state of clarity as your senses return.") + to_chat(H, span_info("Your mind starts to clear, soothed into a state of clarity as your senses return.")) log_and_message_admins("is no longer feral.", H) /datum/reagent/nutriment/protein/brainzsnax/red @@ -864,7 +864,7 @@ if(ishuman(M)) var/mob/living/carbon/human/H = M if(H.nif) - var/obj/item/device/nif/nif = H.nif //L o c a l + var/obj/item/nif/nif = H.nif //L o c a l if(nif.stat == NIF_TEMPFAIL) nif.stat = NIF_INSTALLING nif.repair(removed) @@ -883,7 +883,7 @@ /datum/reagent/drink/coffee/nukie/mega/fast/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed) ..() if(prob(1)) - M.visible_message("\The [M] sizzles!") + M.visible_message(span_danger("\The [M] sizzles!")) M.adjustFireLoss(5) M.add_chemical_effect(CE_SPEEDBOOST, 1) diff --git a/code/modules/reagents/reagents/medicine.dm b/code/modules/reagents/reagents/medicine.dm index 82ed17cada6..f75c208acd7 100644 --- a/code/modules/reagents/reagents/medicine.dm +++ b/code/modules/reagents/reagents/medicine.dm @@ -261,7 +261,7 @@ else if(alien == IS_SLIME && dose >= 15) M.add_chemical_effect(CE_PAINKILLER, 15 * M.species.chem_strength_pain) if(prob(15)) - to_chat(M, "You have a moment of clarity as you collapse.") + to_chat(M, span_notice("You have a moment of clarity as you collapse.")) M.adjustBrainLoss(-20 * removed) //VOREStation Edit M.Weaken(6) else if(alien != IS_DIONA) @@ -286,7 +286,7 @@ else if(alien == IS_SLIME && dose >= 10) M.add_chemical_effect(CE_PAINKILLER, 25 * M.species.chem_strength_pain) if(prob(25)) - to_chat(M, "You have a moment of clarity, as you feel your tubes lose pressure rapidly.") + to_chat(M, span_notice("You have a moment of clarity, as you feel your tubes lose pressure rapidly.")) M.adjustBrainLoss(-8 * removed) M.Weaken(3) else if(alien != IS_DIONA) @@ -356,7 +356,7 @@ var/obj/item/stack/medical/M = C.upgrade_stack(to_produce) if(M && M.get_amount()) - holder.my_atom.visible_message("\The [packname] bubbles.") + holder.my_atom.visible_message(span_infoplain(span_bold("\The [packname]") + " bubbles.")) remove_self(to_produce * 5) /datum/reagent/cryoxadone @@ -375,7 +375,7 @@ var/chem_effective = 1 * M.species.chem_strength_heal if(alien == IS_SLIME) chem_effective = 0.25 - to_chat(M, "It's cold. Something causes your cellular mass to harden occasionally, resulting in vibration.") + to_chat(M, span_danger("It's cold. Something causes your cellular mass to harden occasionally, resulting in vibration.")) M.Weaken(10) M.silent = max(M.silent, 10) M.make_jittery(4) @@ -400,7 +400,7 @@ var/chem_effective = 1 * M.species.chem_strength_heal if(alien == IS_SLIME) if(prob(10)) - to_chat(M, "It's so cold. Something causes your cellular mass to harden sporadically, resulting in seizure-like twitching.") + to_chat(M, span_danger("It's so cold. Something causes your cellular mass to harden sporadically, resulting in seizure-like twitching.")) chem_effective = 0.5 M.Weaken(20) M.silent = max(M.silent, 20) @@ -434,7 +434,7 @@ var/chem_effective = 1 * M.species.chem_strength_heal if(alien == IS_SLIME) if(prob(10)) - to_chat(M, "It's so cold. Something causes your cellular mass to solidify sporadically, resulting in uncontrollable twitching.") + to_chat(M, span_danger("It's so cold. Something causes your cellular mass to solidify sporadically, resulting in uncontrollable twitching.")) chem_effective = 0.5 M.Weaken(10) M.silent = max(M.silent, 10) @@ -470,7 +470,7 @@ if(M.bodytemperature < 170 || (M.stat == DEAD && M.has_modifier_of_type(/datum/modifier/bloodpump_corpse))) if(alien == IS_SLIME) if(prob(10)) - to_chat(M, "It's so cold. Something causes your cellular mass to harden sporadically, resulting in seizure-like twitching.") + to_chat(M, span_danger("It's so cold. Something causes your cellular mass to harden sporadically, resulting in seizure-like twitching.")) chem_effective = 0.5 M.Weaken(20) M.silent = max(M.silent, 20) @@ -624,7 +624,7 @@ var/mob/living/carbon/human/H = M var/obj/item/organ/internal/heart/ht = H.internal_organs_by_name[O_HEART] ht?.take_damage(1) - to_chat(M, "Huh... Is this what a heart attack feels like?") + to_chat(M, span_warning("Huh... Is this what a heart attack feels like?")) /datum/reagent/alkysine name = "Alkysine" @@ -869,7 +869,7 @@ if(prob(5)) H.vomit(1) else if(prob(5)) - to_chat(H, "Something churns inside you.") + to_chat(H, span_danger("Something churns inside you.")) H.adjustToxLoss(10 * removed) H.vomit(0, 1) else @@ -1160,12 +1160,12 @@ if(alien == IS_SLIME) if(volume <= 0.1 && data != -1) data = -1 - to_chat(M, "You regain focus...") + to_chat(M, span_notice("You regain focus...")) else var/delay = (5 MINUTES) if(world.time > data + delay) data = world.time - to_chat(M, "Your senses feel unfocused, and divided.") + to_chat(M, span_warning("Your senses feel unfocused, and divided.")) M.add_chemical_effect(CE_ANTIBIOTIC, dose >= overdose ? ANTIBIO_OD : ANTIBIO_NORM) /datum/reagent/spaceacillin/affect_touch(var/mob/living/carbon/M, var/alien, var/removed) @@ -1193,12 +1193,12 @@ if(ishuman(M) && alien == IS_SLIME) //Everything about them is treated like a targetted organism. Widespread bodily function begins to fail. if(volume <= 0.1 && data != -1) data = -1 - to_chat(M, "Your body ceases its revolt.") + to_chat(M, span_notice("Your body ceases its revolt.")) else var/delay = (3 MINUTES) if(world.time > data + delay) data = world.time - to_chat(M, "It feels like your body is revolting!") + to_chat(M, span_critical("It feels like your body is revolting!")) M.Confuse(7) M.adjustFireLoss(removed * 2) M.adjustToxLoss(removed * 2) @@ -1207,7 +1207,7 @@ M.eye_blurry = min(20, max(0, M.eye_blurry + 10)) if(prob(25)) if(prob(25)) - to_chat(M, "Your pneumatic fluids seize for a moment.") + to_chat(M, span_danger("Your pneumatic fluids seize for a moment.")) M.Stun(2) spawn(30) M.Weaken(2) @@ -1220,7 +1220,7 @@ if(M.bruteloss >= 60 && M.toxloss >= 60 && M.brainloss >= 30) //Total Structural Failure. Limbs start splattering. var/obj/item/organ/external/O = pick(H.organs) if(prob(20) && !istype(O, /obj/item/organ/external/chest/unbreakable/slime) && !istype(O, /obj/item/organ/external/groin/unbreakable/slime)) - to_chat(M, "You feel your [O] begin to dissolve, before it sloughs from your body.") + to_chat(M, span_critical("You feel your [O] begin to dissolve, before it sloughs from your body.")) O.droplimb() //Splat. return @@ -1265,12 +1265,12 @@ if(alien == IS_SLIME) if(volume <= 0.1 && data != -1) data = -1 - to_chat(M, "The itching fades...") + to_chat(M, span_notice("The itching fades...")) else var/delay = (2 MINUTES) if(world.time > data + delay) data = world.time - to_chat(M, "Your skin itches.") + to_chat(M, span_warning("Your skin itches.")) M.add_chemical_effect(CE_ANTIBIOTIC, dose >= overdose ? ANTIBIO_OD : ANTIBIO_NORM) M.add_chemical_effect(CE_PAINKILLER, 20 * M.species.chem_strength_pain) // 5 less than paracetamol. @@ -1285,7 +1285,7 @@ var/obj/item/stack/medical/M = C.upgrade_stack(to_produce) if(M && M.get_amount()) - holder.my_atom.visible_message("\The [packname] bubbles.") + holder.my_atom.visible_message(span_infoplain(span_bold("\The [packname]") + " bubbles.")) remove_self(to_produce) /datum/reagent/sterilizine @@ -1337,7 +1337,7 @@ if(istype(L, /mob/living/simple_mob/slime)) var/mob/living/simple_mob/slime/S = L S.adjustToxLoss(rand(15, 25) * amount) // Does more damage than water. - S.visible_message("[S]'s flesh sizzles where the fluid touches it!", "Your flesh burns in the fluid!") + S.visible_message(span_warning("[S]'s flesh sizzles where the fluid touches it!"), span_danger("Your flesh burns in the fluid!")) remove_self(amount) /datum/reagent/leporazine @@ -1353,10 +1353,14 @@ /datum/reagent/leporazine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) if(alien == IS_DIONA) return - if(M.bodytemperature > 310) - M.bodytemperature = max(310, M.bodytemperature - (40 * TEMPERATURE_DAMAGE_COEFFICIENT)) - else if(M.bodytemperature < 311) - M.bodytemperature = min(310, M.bodytemperature + (40 * TEMPERATURE_DAMAGE_COEFFICIENT)) + var/temp = 310 + if(ishuman(M)) + var/mob/living/carbon/human/H = M + temp = H.species.body_temperature + if(M.bodytemperature > temp) + M.bodytemperature = max(temp, M.bodytemperature - (40 * TEMPERATURE_DAMAGE_COEFFICIENT)) + else if(M.bodytemperature < temp+1) + M.bodytemperature = min(temp, M.bodytemperature + (40 * TEMPERATURE_DAMAGE_COEFFICIENT)) /datum/reagent/rezadone name = "Rezadone" @@ -1451,4 +1455,4 @@ M.adjustCloneLoss(-2 * removed) M.druggy = max(M.druggy, 20) M.hallucination = max(M.hallucination, 3) - M.adjustBrainLoss(1 * removed) //your life for your mind. The Earthmother's Tithe. \ No newline at end of file + M.adjustBrainLoss(1 * removed) //your life for your mind. The Earthmother's Tithe. diff --git a/code/modules/reagents/reagents/medicine_vr.dm b/code/modules/reagents/reagents/medicine_vr.dm index b77b21de9a2..4b8e0910c03 100644 --- a/code/modules/reagents/reagents/medicine_vr.dm +++ b/code/modules/reagents/reagents/medicine_vr.dm @@ -32,7 +32,7 @@ /datum/reagent/numbing_enzyme/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) M.add_chemical_effect(CE_PAINKILLER, 200) if(prob(0.01)) //1 in 10000 chance per tick. Extremely rare. - to_chat(M,"Your body feels numb as a light, tingly sensation spreads throughout it, like some odd warmth.") + to_chat(M,span_warning("Your body feels numb as a light, tingly sensation spreads throughout it, like some odd warmth.")) //Not noted here, but a movement debuff of 1.5 is handed out in human_movement.dm when numbing_enzyme is in a person's bloodstream! /datum/reagent/numbing_enzyme/overdose(var/mob/living/carbon/M, var/alien) @@ -40,24 +40,24 @@ if(ishuman(M)) var/mob/living/carbon/human/H = M if(prob(1)) - to_chat(H,"Your entire body feels numb and the sensation of pins and needles continually assaults you. You blink and the next thing you know, your legs give out momentarily!") + to_chat(H,span_warning("Your entire body feels numb and the sensation of pins and needles continually assaults you. You blink and the next thing you know, your legs give out momentarily!")) H.AdjustWeakened(5) //Fall onto the floor for a few moments. H.Confuse(15) //Be unable to walk correctly for a bit longer. if(prob(1)) if(H.losebreath <= 1 && H.oxyloss <= 20) //Let's not suffocate them to the point that they pass out. - to_chat(H,"You feel a sharp stabbing pain in your chest and quickly realize that your lungs have stopped functioning!") //Let's scare them a bit. + to_chat(H,span_warning("You feel a sharp stabbing pain in your chest and quickly realize that your lungs have stopped functioning!")) //Let's scare them a bit. H.losebreath = 10 H.adjustOxyLoss(5) if(prob(2)) - to_chat(H,"You feel a dull pain behind your eyes and at thee back of your head...") + to_chat(H,span_warning("You feel a dull pain behind your eyes and at thee back of your head...")) H.hallucination += 20 //It messes with your mind for some reason. H.eye_blurry += 20 //Groggy vision for a small bit. if(prob(3)) - to_chat(H,"You shiver, your body continually being assaulted by the sensation of pins and needles.") + to_chat(H,span_warning("You shiver, your body continually being assaulted by the sensation of pins and needles.")) H.emote("shiver") H.make_jittery(10) if(prob(3)) - to_chat(H,"Your tongue feels numb and unresponsive.") + to_chat(H,span_warning("Your tongue feels numb and unresponsive.")) H.stuttering += 20 /datum/reagent/vermicetol @@ -79,10 +79,10 @@ M.heal_organ_damage(8 * removed * chem_effective, 0) /datum/reagent/sleevingcure - name = "Vey-Med Resleeving Booster" + name = "Resleeving Sickness Cure" id = "sleevingcure" - description = "A rare medication provided by Vey-Med that helps counteract negative side effects of using resleeving machinery. The instructions say to numb tongue before swallowing." - taste_description = "indescribably awful" + description = "A rare medication provided by Vey-Med that helps counteract negative side effects of using imperfect resleeving machinery." + taste_description = "chocolate peanut butter" taste_mult = 2 reagent_state = LIQUID color = "#b4dcdc" @@ -98,7 +98,7 @@ /datum/reagent/prussian_blue //We don't have iodine, so prussian blue we go. name = "Prussian Blue" id = "prussian_blue" - description = "Prussian Blue is an medication used to temporarily pause the effects of radiation poisoning to allow for treatment. Does not treat radiation sickness on its own." + description = "Prussian Blue is a medication used to temporarily pause the effects of radiation poisoning to allow for treatment. Does not treat radiation sickness on its own." taste_description = "salt" reagent_state = SOLID color = "#003153" //Blue! @@ -234,7 +234,7 @@ log_debug("polymorph human") for(var/obj/item/W in M) log_debug("polymorph items") - if(istype(W, /obj/item/weapon/implant/backup) || istype(W, /obj/item/device/nif)) + if(istype(W, /obj/item/implant/backup) || istype(W, /obj/item/nif)) log_debug("polymorph implants") continue M.drop_from_inventory(W) @@ -324,7 +324,7 @@ scannable = 1 /datum/reagent/glamour/affect_blood(var/mob/living/carbon/target, var/removed) - target.verbs |= /mob/living/carbon/human/proc/enter_cocoon + add_verb(target, /mob/living/carbon/human/proc/enter_cocoon) target.bloodstr.clear_reagents() //instantly clears reagents afterwards target.ingested.clear_reagents() target.touching.clear_reagents() diff --git a/code/modules/reagents/reagents/modifiers.dm b/code/modules/reagents/reagents/modifiers.dm index 22b1f047c71..16ba25db540 100644 --- a/code/modules/reagents/reagents/modifiers.dm +++ b/code/modules/reagents/reagents/modifiers.dm @@ -52,7 +52,7 @@ /datum/reagent/modapplying/cryofluid/touch_turf(var/turf/T, var/amount) ..() if(istype(T, /turf/simulated/floor/water) && prob(amount)) - T.visible_message("\The [T] crackles loudly as the cryogenic fluid causes it to boil away, leaving behind a hard layer of ice.") + T.visible_message(span_danger("\The [T] crackles loudly as the cryogenic fluid causes it to boil away, leaving behind a hard layer of ice.")) T.ChangeTurf(/turf/simulated/floor/outdoors/ice, 1, 1, TRUE) else if(istype(T, /turf/simulated)) diff --git a/code/modules/reagents/reagents/other.dm b/code/modules/reagents/reagents/other.dm index d8c86d8b470..ec7ccb3d2d9 100644 --- a/code/modules/reagents/reagents/other.dm +++ b/code/modules/reagents/reagents/other.dm @@ -456,6 +456,9 @@ var/turf/simulated/S = T S.dirt = 0 T.clean_blood() + for(var/obj/effect/O in T) + if(istype(O,/obj/effect/rune) || istype(O,/obj/effect/decal/cleanable) || istype(O,/obj/effect/overlay)) + qdel(O) for(var/mob/living/simple_mob/slime/M in T) M.adjustToxLoss(rand(5, 10)) @@ -506,7 +509,7 @@ var/obj/item/clothing/mask/smokable/S = H.wear_mask if(S.lit) S.quench() // No smoking in my medbay! - H.visible_message("[H]\'s [S.name] is put out.") + H.visible_message(span_notice("[H]\'s [S.name] is put out.")) /datum/reagent/lube // TODO: spraying on borgs speeds them up name = "Space Lube" diff --git a/code/modules/reagents/reagents/other_vr.dm b/code/modules/reagents/reagents/other_vr.dm index eba5c5cbbe2..287f181056d 100644 --- a/code/modules/reagents/reagents/other_vr.dm +++ b/code/modules/reagents/reagents/other_vr.dm @@ -11,14 +11,14 @@ if(ishuman(M)) var/mob/living/carbon/human/H = M if(H.species.name != "Promethean") - to_chat(M, "Your flesh rapidly mutates!") + to_chat(M, span_danger("Your flesh rapidly mutates!")) var/list/backup_implants = list() for(var/obj/item/organ/I in H.organs) - for(var/obj/item/weapon/implant/backup/BI in I.contents) + for(var/obj/item/implant/backup/BI in I.contents) backup_implants += BI if(backup_implants.len) - for(var/obj/item/weapon/implant/backup/BI in backup_implants) + for(var/obj/item/implant/backup/BI in backup_implants) BI.forceMove(src) H.set_species("Promethean") @@ -26,7 +26,7 @@ if(backup_implants.len) var/obj/item/organ/external/torso = H.get_organ(BP_TORSO) - for(var/obj/item/weapon/implant/backup/BI in backup_implants) + for(var/obj/item/implant/backup/BI in backup_implants) BI.forceMove(torso) torso.implants += BI @@ -44,7 +44,7 @@ if(ishuman(M)) var/mob/living/carbon/human/H = M if(H.nif) - var/obj/item/device/nif/nif = H.nif //L o c a l + var/obj/item/nif/nif = H.nif //L o c a l if(nif.stat == NIF_TEMPFAIL) nif.stat = NIF_INSTALLING nif.repair(removed) @@ -80,7 +80,7 @@ var/removed_heat = between(0, volume * 19000, -environment.get_thermal_energy_change(min_temperature)) environment.add_thermal_energy(-removed_heat) if(prob(5)) - T.visible_message("The foam sizzles as it lands on \the [T]!") + T.visible_message(span_warning("The foam sizzles as it lands on \the [T]!")) /datum/reagent/firefighting_foam/touch_obj(var/obj/O, reac_volume) O.water_act(reac_volume / 5) @@ -89,7 +89,7 @@ if(istype(M, /mob/living/simple_mob/slime)) //I'm sure foam is water-based! var/mob/living/simple_mob/slime/S = M S.adjustToxLoss(15 * reac_volume) - S.visible_message("[S]'s flesh sizzles where the foam touches it!", "Your flesh burns in the foam!") + S.visible_message(span_warning("[S]'s flesh sizzles where the foam touches it!"), span_danger("Your flesh burns in the foam!")) M.adjust_fire_stacks(-reac_volume) M.ExtinguishMob() @@ -117,7 +117,7 @@ if(ishuman(M)) var/mob/living/carbon/human/H = M if(H.nif) - var/obj/item/device/nif/nif = H.nif //L o c a l + var/obj/item/nif/nif = H.nif //L o c a l if(nif.stat == NIF_TEMPFAIL) nif.stat = NIF_INSTALLING nif.repair(removed*0.1) diff --git a/code/modules/reagents/reagents/toxins.dm b/code/modules/reagents/reagents/toxins.dm index 003ba3e74fb..c0545b8b068 100644 --- a/code/modules/reagents/reagents/toxins.dm +++ b/code/modules/reagents/reagents/toxins.dm @@ -120,7 +120,7 @@ if(alien == IS_SLIME) M.adjust_fire_stacks(removed * 10) if(prob(10)) - to_chat(M, "You feel something boiling within you!") + to_chat(M, span_critical("You feel something boiling within you!")) spawn(rand(30, 60)) M.IgniteMob() @@ -254,7 +254,7 @@ var/mob/living/carbon/human/H = M var/obj/item/organ/internal/heart/ht = H.internal_organs_by_name[O_HEART] ht?.take_damage(1) - to_chat(M, "Huh... Is this what a heart attack feels like?") + to_chat(M, span_warning("Huh... Is this what a heart attack feels like?")) /datum/reagent/toxin/potassium_chloride name = "Potassium Chloride" @@ -416,7 +416,7 @@ if(locate(/obj/effect/overlay/wallrot) in W) for(var/obj/effect/overlay/wallrot/E in W) qdel(E) - W.visible_message("The fungi are completely dissolved by the solution!") + W.visible_message(span_notice("The fungi are completely dissolved by the solution!")) /datum/reagent/toxin/plantbgone/touch_obj(var/obj/O, var/volume) ..() @@ -501,11 +501,11 @@ if(alien == IS_DIONA) return if(prob(10)) - to_chat(M, "Your veins feel like they're on fire!") + to_chat(M, span_warning("Your veins feel like they're on fire!")) M.adjust_fire_stacks(0.1) else if(prob(5)) M.IgniteMob() - to_chat(M, "Some of your veins rupture, the exposed blood igniting!") + to_chat(M, span_critical("Some of your veins rupture, the exposed blood igniting!")) /datum/reagent/condensedcapsaicin/venom name = "Irritant toxin" @@ -523,9 +523,9 @@ if(prob(50)) M.apply_effect(4, AGONY, 0) if(prob(20)) - to_chat(M, "You feel like your insides are burning!") + to_chat(M, span_danger("You feel like your insides are burning!")) else if(prob(20)) - M.visible_message("[M] [pick("dry heaves!","coughs!","splutters!","rubs at their eyes!")]") + M.visible_message(span_warning("[M] [pick("dry heaves!","coughs!","splutters!","rubs at their eyes!")]")) else M.eye_blurry = max(M.eye_blurry, 10) @@ -545,7 +545,7 @@ M.apply_effect(5, AGONY, 0) M.adjustToxLoss(3 * removed) if(prob(10)) - to_chat(M, "Your cellular mass hardens for a moment.") + to_chat(M, span_warning("Your cellular mass hardens for a moment.")) M.Stun(6) return if(alien == IS_SKRELL) @@ -623,7 +623,7 @@ M.UpdateAppearance() if(prob(removed * 40)) //Additionally, let's make it so there's an 8% chance per tick for a random cosmetic/not guranteed good/bad mutation. randmuti(M)//This should equate to 4 random cosmetic mutations per 10 injected/20 ingested/30 touching units - to_chat(M, "You feel odd!") + to_chat(M, span_warning("You feel odd!")) M.apply_effect(10 * removed, IRRADIATE, 0) /datum/reagent/slimejelly @@ -646,7 +646,7 @@ M.add_chemical_effect(CE_PAINKILLER, 60) else if(prob(10)) - to_chat(M, "Your insides are burning!") + to_chat(M, span_danger("Your insides are burning!")) M.adjustToxLoss(rand(100, 300) * removed) else if(prob(40)) M.heal_organ_damage(25 * removed, 0) @@ -893,7 +893,7 @@ M.UpdateAppearance() if(prob(removed * 40)) randmuti(M) - to_chat(M, "You feel odd!") + to_chat(M, span_warning("You feel odd!")) M.apply_effect(16 * removed, IRRADIATE, 0) /datum/reagent/aslimetoxin @@ -923,7 +923,7 @@ M.UpdateAppearance() if(prob(removed * 40)) randmuti(M) - to_chat(M, "You feel odd!") + to_chat(M, span_warning("You feel odd!")) M.apply_effect(6 * removed, IRRADIATE, 0) /* @@ -973,3 +973,15 @@ /datum/reagent/neurophage_nanites/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) M.adjustBrainLoss(2 * removed) // Their job is to give you a bad time. M.adjustBruteLoss(2 * removed) + +/datum/reagent/salmonella + name = "Salmonella" + id = "salmonella" + description = "A nasty bacteria found in spoiled food." + reagent_state = LIQUID + color = "#1E4600" + taste_mult = 0 + +/datum/reagent/salmonella/on_mob_life(mob/living/carbon/M) + M.ForceContractDisease(new /datum/disease/food_poisoning(0)) + return ..() diff --git a/code/modules/reagents/reagents/virology.dm b/code/modules/reagents/reagents/virology.dm new file mode 100644 index 00000000000..95badd98511 --- /dev/null +++ b/code/modules/reagents/reagents/virology.dm @@ -0,0 +1,54 @@ +/datum/reagent/vaccine + name = "Vaccine" + id = "vaccine" + color = "#C81040" + taste_description = "antibodies" + +/datum/reagent/vaccine/affect_blood(mob/living/carbon/M, alien, removed) + if(islist(data)) + for(var/thing in M.GetViruses()) + var/datum/disease/D = thing + if(D.GetDiseaseID() in data) + D.cure() + M.resistances |= data + +/datum/reagent/vaccines/mix_data(newdata, newamount) + if(islist(newdata)) + var/list/newdatalist = newdata + data |= newdatalist.Copy() + +/datum/reagent/mutagen/mutagenvirusfood + name = "Mutagenic agar" + id = "mutagenvirusfood" + description = "Mutates viruses when mixed in blood. This one seems rather alright." + color = "#A3C00F" + +/datum/reagent/mutagen/mutagenvirusfood/sugar + name = "Sucrose agar" + id = "sugarvirusfood" + color = "#41B0C0" + taste_mult = 1.5 + +/datum/reagent/medicine/adranol/adranolvirusfood + name = "Virus rations" + id = "adranolvirusfood" + description = "Mutates viruses when mixed in blood. This one seems rather weak." + color = "#D18AA5" + +/datum/reagent/toxin/phoron/phoronvirusfood + name = "Phoronic virus food" + id = "phoronvirusfood" + description = "Mutates viruses when mixed in blood. This one seems to be the strongest." + color = "#A69DA9" + +/datum/reagent/toxin/phoron/phoronvirusfood/weak + name = "Weakened phoronic virus food" + id = "weakphoronvirusfood" + description = "Mutates viruses when mixed in blood. This one seems to have been weakened, but still strong." + color = "#CEC3C6" + +/datum/reagent/toxin/phoron/phoronvirusfood/sizevirusfood + name = "Sizeoxadone virus food" + id = "sizevirusfood" + description = "Mutates virus when mixed in blood. This is a strange size mix..." + color = "#88AFDD" diff --git a/code/modules/reagents/reagents/vore_vr.dm b/code/modules/reagents/reagents/vore_vr.dm index 4b56d19fc9b..936f555cbcf 100644 --- a/code/modules/reagents/reagents/vore_vr.dm +++ b/code/modules/reagents/reagents/vore_vr.dm @@ -113,7 +113,7 @@ else if(prob(1)) playsound(M, 'sound/vore/schlorp.ogg', 50, 1) P.absorbed = 0 - M.visible_message(span_green("Something spills into [M]'s [lowertext(B.name)]!")) + M.visible_message(span_infoplain(span_green(span_bold("Something spills into [M]'s [lowertext(B.name)]!")))) ////////////////////////// TF Drugs ////////////////////////// @@ -142,8 +142,8 @@ if(!(H.gender == MALE)) H.set_gender(MALE) H.change_gender_identity(MALE) - H.visible_message("[H] suddenly twitches as some of their features seem to contort and reshape, adjusting... In the end, it seems they are now male.", - "Your body suddenly contorts, feeling very different in various ways... By the time the rushing feeling is over it seems you just became male.") + H.visible_message(span_notice("[H] suddenly twitches as some of their features seem to contort and reshape, adjusting... In the end, it seems they are now male."), + span_warning("Your body suddenly contorts, feeling very different in various ways... By the time the rushing feeling is over it seems you just became male.")) /datum/reagent/gynorovir name = "Gynorovir" @@ -163,8 +163,8 @@ if(!(H.gender == FEMALE)) H.set_gender(FEMALE) H.change_gender_identity(FEMALE) - H.visible_message("[H] suddenly twitches as some of their features seem to contort and reshape, adjusting... In the end, it seems they are now female.", - "Your body suddenly contorts, feeling very different in various ways... By the time the rushing feeling is over it seems you just became female.") + H.visible_message(span_notice("[H] suddenly twitches as some of their features seem to contort and reshape, adjusting... In the end, it seems they are now female."), + span_warning("Your body suddenly contorts, feeling very different in various ways... By the time the rushing feeling is over it seems you just became female.")) /datum/reagent/androgynorovir name = "Androgynorovir" @@ -184,8 +184,8 @@ if(!(H.gender == PLURAL)) H.set_gender(PLURAL) H.change_gender_identity(PLURAL) - H.visible_message("[H] suddenly twitches as some of their features seem to contort and reshape, adjusting... In the end, it seems they are now of mixed gender.", - "Your body suddenly contorts, feeling very different in various ways... By the time the rushing feeling is over it seems you just became of mixed gender.") + H.visible_message(span_notice("[H] suddenly twitches as some of their features seem to contort and reshape, adjusting... In the end, it seems they are now of mixed gender."), + span_warning("Your body suddenly contorts, feeling very different in various ways... By the time the rushing feeling is over it seems you just became of mixed gender.")) ////////////////////////// Misc Drugs ////////////////////////// @@ -203,7 +203,7 @@ var/drug_strength = 20 M.druggy = max(M.druggy, drug_strength) -/datum/reagent/drugs/bliss/overdose(var/mob/living/M as mob) +/datum/reagent/drugs/rainbow_toxin/overdose(var/mob/living/M as mob) if(prob_proc == TRUE && prob(20)) M.hallucination = max(M.hallucination, 5) prob_proc = FALSE @@ -241,4 +241,4 @@ /datum/reagent/pain_enzyme/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) M.add_chemical_effect(CE_PAINKILLER, -200) if(prob(0.01)) //1 in 10000 chance per tick. Extremely rare. - to_chat(M,"Your body feels as though it's on fire!") + to_chat(M,span_warning("Your body feels as though it's on fire!")) diff --git a/code/modules/recycling/conveyor2.dm b/code/modules/recycling/conveyor2.dm index 6075e3e715c..89bc7f2d881 100644 --- a/code/modules/recycling/conveyor2.dm +++ b/code/modules/recycling/conveyor2.dm @@ -14,7 +14,7 @@ layer = ABOVE_TURF_LAYER anchored = TRUE active_power_usage = 100 - circuit = /obj/item/weapon/circuitboard/conveyor + circuit = /obj/item/circuitboard/conveyor var/operating = OFF // 1 if running forward, -1 if backwards, 0 if off var/operable = 1 // true if can operate (no broken segments in this belt run) var/forwards // this is the default (forward) direction, set by the map dir @@ -130,7 +130,7 @@ if(default_deconstruction_crowbar(user, I)) return - if(istype(I, /obj/item/device/multitool)) + if(istype(I, /obj/item/multitool)) if(panel_open) var/input = sanitize(tgui_input_text(usr, "What id would you like to give this conveyor?", "Multitool-Conveyor interface", id)) if(!input) @@ -268,7 +268,7 @@ // attack with hand, switch position /obj/machinery/conveyor_switch/attack_hand(mob/user) if(!allowed(user)) - to_chat(user, "Access denied.") + to_chat(user, span_warning("Access denied.")) return if(position == 0) @@ -299,14 +299,14 @@ return if(I.has_tool_quality(TOOL_WELDER)) - var/obj/item/weapon/weldingtool/WT = I.get_welder() + var/obj/item/weldingtool/WT = I.get_welder() if(!WT.remove_fuel(0, user)) to_chat(user, "The welding tool must be on to complete this task.") return playsound(src, WT.usesound, 50, 1) if(do_after(user, 20 * WT.toolspeed)) if(!src || !WT.isOn()) return - to_chat(user, "You deconstruct the frame.") + to_chat(user, span_notice("You deconstruct the frame.")) new /obj/item/stack/material/steel( src.loc, 2 ) qdel(src) return diff --git a/code/modules/recycling/disposal-construction.dm b/code/modules/recycling/disposal-construction.dm index c3ea39c2ce9..e8f2874a31c 100644 --- a/code/modules/recycling/disposal-construction.dm +++ b/code/modules/recycling/disposal-construction.dm @@ -304,7 +304,7 @@ // weldingtool: convert to real pipe else if(I.has_tool_quality(TOOL_WELDER)) if(anchored) - var/obj/item/weapon/weldingtool/W = I.get_welder() + var/obj/item/weldingtool/W = I.get_welder() if(W.remove_fuel(0,user)) playsound(src, W.usesound, 100, 1) to_chat(user, "Welding the [nicetype] in place.") diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm index 5bc3241e008..c31597b6e9f 100644 --- a/code/modules/recycling/disposal.dm +++ b/code/modules/recycling/disposal.dm @@ -74,7 +74,7 @@ if(contents.len > 0) to_chat(user, "Eject the items first!") return - var/obj/item/weapon/weldingtool/W = I.get_welder() + var/obj/item/weldingtool/W = I.get_welder() if(W.remove_fuel(0,user)) playsound(src, W.usesound, 100, 1) to_chat(user, "You start slicing the floorweld off the disposal unit.") @@ -94,12 +94,12 @@ to_chat(user, "You need more welding fuel to complete this task.") return - if(istype(I, /obj/item/weapon/melee/energy/blade)) + if(istype(I, /obj/item/melee/energy/blade)) to_chat(user, "You can't place that item inside the disposal unit.") return - if(istype(I, /obj/item/weapon/storage/bag/trash)) - var/obj/item/weapon/storage/bag/trash/T = I + if(istype(I, /obj/item/storage/bag/trash)) + var/obj/item/storage/bag/trash/T = I to_chat(user, span_blue("You empty the bag.")) for(var/obj/item/O in T.contents) T.remove_from_storage(O,src) @@ -107,23 +107,23 @@ update() return - if(istype(I, /obj/item/weapon/material/ashtray)) - var/obj/item/weapon/material/ashtray/A = I + if(istype(I, /obj/item/material/ashtray)) + var/obj/item/material/ashtray/A = I if(A.contents.len > 0) - user.visible_message("\The [user] empties \the [A] into [src].") + user.visible_message(span_infoplain(span_bold("\The [user]") + " empties \the [A] into [src].")) for(var/obj/item/O in A.contents) O.forceMove(src) A.update_icon() update() return - var/obj/item/weapon/grab/G = I + var/obj/item/grab/G = I if(istype(G)) // handle grabbed mob if(ismob(G.affecting)) var/mob/GM = G.affecting - for (var/mob/V in viewers(usr)) - V.show_message("[usr] starts putting [GM.name] into the disposal.", 3) - if(do_after(usr, 20)) + for (var/mob/V in viewers(user)) + V.show_message("[user] starts putting [GM.name] into the disposal.", 3) + if(do_after(user, 20)) if (GM.client) GM.client.perspective = EYE_PERSPECTIVE GM.client.eye = src @@ -142,7 +142,7 @@ user.drop_item() if(I) - if(istype(I, /obj/item/weapon/holder/micro)) + if(istype(I, /obj/item/holder/micro)) log_and_message_admins("placed [I.name] inside \the [src]", user) I.forceMove(src) @@ -169,13 +169,13 @@ src.add_fingerprint(user) var/target_loc = target.loc var/msg - for (var/mob/V in viewers(usr)) + for (var/mob/V in viewers(user)) if(target == user && !user.stat && !user.weakened && !user.stunned && !user.paralysis) - V.show_message("[usr] starts climbing into the disposal.", 3) + V.show_message("[user] starts climbing into the disposal.", 3) if(target != user && !user.restrained() && !user.stat && !user.weakened && !user.stunned && !user.paralysis) if(target.anchored) return - V.show_message("[usr] starts stuffing [target.name] into the disposal.", 3) - if(!do_after(usr, 20)) + V.show_message("[user] starts stuffing [target.name] into the disposal.", 3) + if(!do_after(user, 20)) return if(target_loc != target.loc) return @@ -265,18 +265,18 @@ if(..()) return - if(usr.loc == src) - to_chat(usr, "You cannot reach the controls from inside.") + if(ui.user.loc == src) + to_chat(ui.user, span_warning("You cannot reach the controls from inside.")) return TRUE if(mode==-1 && action != "eject") // If the mode is -1, only allow ejection - to_chat(usr, "The disposal units power is disabled.") + to_chat(ui.user, span_warning("The disposal units power is disabled.")) return if(stat & BROKEN) return - add_fingerprint(usr) + add_fingerprint(ui.user) if(flushing) return @@ -380,6 +380,15 @@ // return // eject the contents of the disposal unit + +/obj/machinery/disposal/verb/force_eject() + set src in oview(1) + set category = "Object" + set name = "Force Eject" + if(flushing) + return + eject() + /obj/machinery/disposal/proc/eject() for(var/atom/movable/AM in src) AM.forceMove(src.loc) @@ -530,7 +539,7 @@ . = ..() if(istype(AM, /obj/item) && !istype(AM, /obj/item/projectile)) if(prob(75)) - if(istype(AM, /obj/item/weapon/holder/micro)) + if(istype(AM, /obj/item/holder/micro)) log_and_message_admins("[AM] was thrown into \the [src]") AM.forceMove(src) visible_message("\The [AM] lands in \the [src].") @@ -546,7 +555,7 @@ return if(prob(75)) I.forceMove(src) - if(istype(I, /obj/item/weapon/holder/micro)) + if(istype(I, /obj/item/holder/micro)) log_and_message_admins("[I.name] was thrown into \the [src]") for(var/mob/M in viewers(src)) M.show_message("\The [I] lands in \the [src].", 3) @@ -989,7 +998,7 @@ return // prevent interaction with T-scanner revealed pipes src.add_fingerprint(user) if(I.has_tool_quality(TOOL_WELDER)) - var/obj/item/weapon/weldingtool/W = I.get_welder() + var/obj/item/weldingtool/W = I.get_welder() if(W.remove_fuel(0,user)) playsound(src, W.usesound, 50, 1) @@ -1274,8 +1283,8 @@ if(..()) return - if(istype(I, /obj/item/device/destTagger)) - var/obj/item/device/destTagger/O = I + if(istype(I, /obj/item/destTagger)) + var/obj/item/destTagger/O = I if(O.currTag)// Tag set sort_tag = O.currTag @@ -1342,8 +1351,8 @@ if(..()) return - if(istype(I, /obj/item/device/destTagger)) - var/obj/item/device/destTagger/O = I + if(istype(I, /obj/item/destTagger)) + var/obj/item/destTagger/O = I if(O.currTag)// Tag set sortType = O.currTag @@ -1464,7 +1473,7 @@ return // prevent interaction with T-scanner revealed pipes src.add_fingerprint(user) if(I.has_tool_quality(TOOL_WELDER)) - var/obj/item/weapon/weldingtool/W = I.get_welder() + var/obj/item/weldingtool/W = I.get_welder() if(W.remove_fuel(0,user)) playsound(src, W.usesound, 100, 1) @@ -1596,7 +1605,7 @@ playsound(src, I.usesound, 50, 1) return else if(I.has_tool_quality(TOOL_WELDER) && mode==1) - var/obj/item/weapon/weldingtool/W = I.get_welder() + var/obj/item/weldingtool/W = I.get_welder() if(W.remove_fuel(0,user)) playsound(src, W.usesound, 100, 1) to_chat(user, "You start slicing the floorweld off the disposal outlet.") diff --git a/code/modules/recycling/disposal_vr.dm b/code/modules/recycling/disposal_vr.dm index cb334785643..11ad8a31e5e 100644 --- a/code/modules/recycling/disposal_vr.dm +++ b/code/modules/recycling/disposal_vr.dm @@ -6,8 +6,8 @@ /obj/machinery/disposal/wall/cleaner/flush() flick("[icon_state]-flush", src) - for(var/obj/item/weapon/storage/i in src) - if(istype(i, /obj/item/weapon/storage)) + for(var/obj/item/storage/i in src) + if(istype(i, /obj/item/storage)) var/list/storage_items = i.return_inv() for(var/obj/item/item in storage_items) diff --git a/code/modules/recycling/recycling.dm b/code/modules/recycling/recycling.dm index 637c6e369fc..792c655fd5f 100644 --- a/code/modules/recycling/recycling.dm +++ b/code/modules/recycling/recycling.dm @@ -3,7 +3,7 @@ active_power_usage = 500 density = TRUE anchored = TRUE - + var/working = FALSE var/negative_dir = null //VOREStation Addition @@ -22,9 +22,9 @@ /obj/machinery/recycling/attackby(obj/item/O, mob/user) if(!isliving(user) || !Adjacent(user)) return - + if(working) - to_chat("\The [src] is busy! Wait until it's idle.") + to_chat(user, span_warning("\The [src] is busy! Wait until it's idle.")) return if(default_deconstruction_screwdriver(user, O)) @@ -33,14 +33,14 @@ return if(default_part_replacement(user, O)) return - + var/mob/living/M = user if(can_accept_item(O)) M.drop_from_inventory(O) take_item(O) - M.visible_message("[M] inserts [O] into [src].", "You insert [O] into [src].") + M.visible_message(span_infoplain(span_bold("[M]") + " inserts [O] into [src]."), span_info("You insert [O] into [src].")) else - to_chat(user, "\The [src] can't accept [O] for recycling.") + to_chat(user, span_warning("\The [src] can't accept [O] for recycling.")) // Conveyors etc /obj/machinery/recycling/Bumped(atom/A) @@ -66,7 +66,7 @@ description_info = "This machine is the first step in turning things back into their materials. There's a bit of loss, depending on how upgraded it is. The output of this machine goes into the sorter." icon = 'icons/obj/recycling.dmi' icon_state = "crusher" - circuit = /obj/item/weapon/circuitboard/recycler_crusher + circuit = /obj/item/circuitboard/recycler_crusher working = FALSE var/effic_factor = 0.5 @@ -74,9 +74,9 @@ /obj/machinery/recycling/crusher/RefreshParts() . = ..() var/total_rating = 0 - for(var/obj/item/weapon/stock_parts/matter_bin/M in component_parts) + for(var/obj/item/stock_parts/matter_bin/M in component_parts) total_rating += M.rating - for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts) + for(var/obj/item/stock_parts/manipulator/M in component_parts) total_rating += M.rating total_rating *= 0.1 @@ -117,7 +117,7 @@ description_info = "The output of the recycling crusher should go into this machine, and it will output material dust, which can go into the sheet stamper to make sheets." icon = 'icons/obj/recycling.dmi' icon_state = "sorter" - circuit = /obj/item/weapon/circuitboard/recycler_sorter + circuit = /obj/item/circuitboard/recycler_sorter var/list/materials = list() working = FALSE @@ -163,7 +163,7 @@ description_info = "This machine is the last step in the recycling process. The output of a debris sorter should be fed into this machine and it will produce material sheets." icon = 'icons/obj/recycling.dmi' icon_state = "stamper" - circuit = /obj/item/weapon/circuitboard/recycler_stamper + circuit = /obj/item/circuitboard/recycler_stamper /obj/machinery/recycling/stamper/can_accept_item(obj/item/O) if(istype(O, /obj/item/material_dust)) @@ -190,7 +190,7 @@ playsound(src, 'sound/machines/buzz-sigh.ogg', 50, 0) warning("Dust in [src] had material_name [D.material_name], which can't be made into stacks") return - + var/stacktype = M.stack_type var/turf/T = get_step(src, dir) var/obj/item/stack/S = locate(stacktype) in T @@ -223,4 +223,4 @@ material_name = mat name = "[material_name] [initial(name)]" var/datum/material/M = get_material_by_name(material_name) - color = M?.icon_colour \ No newline at end of file + color = M?.icon_colour diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm index a341e073368..af1586c8ff7 100755 --- a/code/modules/recycling/sortingmachinery.dm +++ b/code/modules/recycling/sortingmachinery.dm @@ -23,11 +23,11 @@ qdel(src) /obj/structure/bigDelivery/attackby(obj/item/W as obj, mob/user as mob) - if(istype(W, /obj/item/device/destTagger)) - var/obj/item/device/destTagger/O = W + if(istype(W, /obj/item/destTagger)) + var/obj/item/destTagger/O = W if(O.currTag) if(src.sortTag != O.currTag) - to_chat(user, "You have labeled the destination as [O.currTag].") + to_chat(user, span_notice("You have labeled the destination as [O.currTag].")) if(!src.sortTag) src.sortTag = O.currTag update_icon() @@ -35,19 +35,19 @@ src.sortTag = O.currTag playsound(src, 'sound/machines/twobeep.ogg', 50, 1) else - to_chat(user, "The package is already labeled for [O.currTag].") + to_chat(user, span_warning("The package is already labeled for [O.currTag].")) else - to_chat(user, "You need to set a destination first!") + to_chat(user, span_warning("You need to set a destination first!")) - else if(istype(W, /obj/item/weapon/pen)) - switch(tgui_alert(usr, "What would you like to alter?","Select Alteration",list("Title","Description","Cancel"))) + else if(istype(W, /obj/item/pen)) + switch(tgui_alert(user, "What would you like to alter?","Select Alteration",list("Title","Description","Cancel"))) if("Title") - var/str = sanitizeSafe(tgui_input_text(usr,"Label text?","Set label","", MAX_NAME_LEN), MAX_NAME_LEN) + var/str = sanitizeSafe(tgui_input_text(user,"Label text?","Set label","", MAX_NAME_LEN), MAX_NAME_LEN) if(!str || !length(str)) - to_chat(user, " Invalid text.") + to_chat(user, span_warning(" Invalid text.")) return user.visible_message("\The [user] titles \the [src] with \a [W], marking down: \"[str]\"",\ - "You title \the [src]: \"[str]\"",\ + span_notice("You title \the [src]: \"[str]\""),\ "You hear someone scribbling a note.") playsound(src, pick('sound/bureaucracy/pen1.ogg','sound/bureaucracy/pen2.ogg'), 20) name = "[name] ([str])" @@ -57,7 +57,7 @@ else nameset = 1 if("Description") - var/str = sanitize(tgui_input_text(usr,"Label text?","Set label","")) + var/str = sanitize(tgui_input_text(user,"Label text?","Set label","")) if(!str || !length(str)) to_chat(user, span_red("Invalid text.")) return @@ -67,7 +67,7 @@ else examtext = str user.visible_message("\The [user] labels \the [src] with \a [W], scribbling down: \"[examtext]\"",\ - "You label \the [src]: \"[examtext]\"",\ + span_notice("You label \the [src]: \"[examtext]\""),\ "You hear someone scribbling a note.") playsound(src, pick('sound/bureaucracy/pen1.ogg','sound/bureaucracy/pen2.ogg'), 20) return @@ -105,9 +105,9 @@ . = ..() if(get_dist(user, src) <= 4) if(sortTag) - . += "It is labeled \"[sortTag]\"" + . += span_notice("It is labeled \"[sortTag]\"") if(examtext) - . += "It has a note attached which reads, \"[examtext]\"" + . += span_notice("It has a note attached which reads, \"[examtext]\"") /obj/item/smallDelivery desc = "A small wrapped package." @@ -134,11 +134,11 @@ return /obj/item/smallDelivery/attackby(obj/item/W as obj, mob/user as mob) - if(istype(W, /obj/item/device/destTagger)) - var/obj/item/device/destTagger/O = W + if(istype(W, /obj/item/destTagger)) + var/obj/item/destTagger/O = W if(O.currTag) if(src.sortTag != O.currTag) - to_chat(user, "You have labeled the destination as [O.currTag].") + to_chat(user, span_notice("You have labeled the destination as [O.currTag].")) if(!src.sortTag) src.sortTag = O.currTag update_icon() @@ -146,19 +146,19 @@ src.sortTag = O.currTag playsound(src, 'sound/machines/twobeep.ogg', 50, 1) else - to_chat(user, "The package is already labeled for [O.currTag].") + to_chat(user, span_warning("The package is already labeled for [O.currTag].")) else - to_chat(user, "You need to set a destination first!") + to_chat(user, span_warning("You need to set a destination first!")) - else if(istype(W, /obj/item/weapon/pen)) - switch(tgui_alert(usr, "What would you like to alter?","Select Alteration",list("Title","Description","Cancel"))) + else if(istype(W, /obj/item/pen)) + switch(tgui_alert(user, "What would you like to alter?","Select Alteration",list("Title","Description","Cancel"))) if("Title") - var/str = sanitizeSafe(tgui_input_text(usr,"Label text?","Set label","", MAX_NAME_LEN), MAX_NAME_LEN) + var/str = sanitizeSafe(tgui_input_text(user,"Label text?","Set label","", MAX_NAME_LEN), MAX_NAME_LEN) if(!str || !length(str)) - to_chat(user, " Invalid text.") + to_chat(user, span_warning(" Invalid text.")) return user.visible_message("\The [user] titles \the [src] with \a [W], marking down: \"[str]\"",\ - "You title \the [src]: \"[str]\"",\ + span_notice("You title \the [src]: \"[str]\""),\ "You hear someone scribbling a note.") playsound(src, pick('sound/bureaucracy/pen1.ogg','sound/bureaucracy/pen2.ogg'), 20) name = "[name] ([str])" @@ -169,7 +169,7 @@ nameset = 1 if("Description") - var/str = sanitize(tgui_input_text(usr,"Label text?","Set label","")) + var/str = sanitize(tgui_input_text(user,"Label text?","Set label","")) if(!str || !length(str)) to_chat(user, span_red("Invalid text.")) return @@ -179,7 +179,7 @@ else examtext = str user.visible_message("\The [user] labels \the [src] with \a [W], scribbling down: \"[examtext]\"",\ - "You label \the [src]: \"[examtext]\"",\ + span_notice("You label \the [src]: \"[examtext]\""),\ "You hear someone scribbling a note.") playsound(src, pick('sound/bureaucracy/pen1.ogg','sound/bureaucracy/pen2.ogg'), 20) return @@ -213,11 +213,11 @@ . = ..() if(get_dist(user, src) <= 4) if(sortTag) - . += "It is labeled \"[sortTag]\"" + . += span_notice("It is labeled \"[sortTag]\"") if(examtext) - . += "It has a note attached which reads, \"[examtext]\"" + . += span_notice("It has a note attached which reads, \"[examtext]\"") -/obj/item/weapon/packageWrap +/obj/item/packageWrap name = "package wrapper" desc = "Like wrapping paper, but less festive." icon = 'icons/obj/items.dmi' @@ -227,12 +227,12 @@ drop_sound = 'sound/items/drop/wrapper.ogg' -/obj/item/weapon/packageWrap/afterattack(var/obj/target as obj, mob/user as mob, proximity) +/obj/item/packageWrap/afterattack(var/obj/target as obj, mob/user as mob, proximity) if(!proximity) return if(!istype(target)) //this really shouldn't be necessary (but it is). -Pete return if(istype(target, /obj/item/smallDelivery) || istype(target,/obj/structure/bigDelivery) \ - || istype(target, /obj/item/weapon/gift) || istype(target, /obj/item/weapon/evidencebag)) + || istype(target, /obj/item/gift) || istype(target, /obj/item/evidencebag)) return if(target.anchored) return @@ -244,7 +244,7 @@ user.attack_log += text("\[[time_stamp()]\] [span_blue("Has used [src.name] on \ref[target]")]") - if (istype(target, /obj/item) && !(istype(target, /obj/item/weapon/storage) && !istype(target,/obj/item/weapon/storage/box))) + if (istype(target, /obj/item) && !(istype(target, /obj/item/storage) && !istype(target,/obj/item/storage/box))) var/obj/item/O = target if (src.amount > 1) var/obj/item/smallDelivery/P = new /obj/item/smallDelivery(get_turf(O.loc)) //Aaannd wrap it up! @@ -268,12 +268,12 @@ if(i > 5) P.icon_state = "deliverycrate5" P.name = "huge parcel" - P.add_fingerprint(usr) - O.add_fingerprint(usr) - src.add_fingerprint(usr) + P.add_fingerprint(user) + O.add_fingerprint(user) + src.add_fingerprint(user) src.amount -= 1 user.visible_message("\The [user] wraps \a [target] with \a [src].",\ - "You wrap \the [target], leaving [amount] units of paper on \the [src].",\ + span_notice("You wrap \the [target], leaving [amount] units of paper on \the [src]."),\ "You hear someone taping paper around a small object.") playsound(src, 'sound/items/package_wrap.ogg', 50, 1) else if (istype(target, /obj/structure/closet/crate)) @@ -285,11 +285,11 @@ O.loc = P src.amount -= 3 user.visible_message("\The [user] wraps \a [target] with \a [src].",\ - "You wrap \the [target], leaving [amount] units of paper on \the [src].",\ + span_notice("You wrap \the [target], leaving [amount] units of paper on \the [src]."),\ "You hear someone taping paper around a large object.") playsound(src, 'sound/items/package_wrap.ogg', 50, 1) else if(src.amount < 3) - to_chat(user, "You need more paper.") + to_chat(user, span_warning("You need more paper.")) else if (istype (target, /obj/structure/closet)) var/obj/structure/closet/O = target if (src.amount > 3 && !O.opened) @@ -299,20 +299,20 @@ O.loc = P src.amount -= 3 user.visible_message("\The [user] wraps \a [target] with \a [src].",\ - "You wrap \the [target], leaving [amount] units of paper on \the [src].",\ + span_notice("You wrap \the [target], leaving [amount] units of paper on \the [src]."),\ "You hear someone taping paper around a large object.") playsound(src, 'sound/items/package_wrap.ogg', 50, 1) else if(src.amount < 3) - to_chat(user, "You need more paper.") + to_chat(user, span_warning("You need more paper.")) else to_chat(user, span_blue("The object you are trying to wrap is unsuitable for the sorting machinery!")) if (src.amount <= 0) - new /obj/item/weapon/c_tube( src.loc ) + new /obj/item/c_tube( src.loc ) qdel(src) return return -/obj/item/weapon/packageWrap/examine(mob/user) +/obj/item/packageWrap/examine(mob/user) . = ..() if(get_dist(user, src) <= 0) . += span_blue("There are [amount] units of package wrap left!") @@ -329,26 +329,29 @@ AM.forceMove(T) return ..() -/obj/item/device/destTagger +/obj/item/destTagger name = "destination tagger" desc = "Used to set the destination of properly wrapped packages." + icon = 'icons/obj/device.dmi' icon_state = "dest_tagger" var/currTag = 0 w_class = ITEMSIZE_SMALL item_state = "electronic" slot_flags = SLOT_BELT + pickup_sound = 'sound/items/pickup/device.ogg' + drop_sound = 'sound/items/drop/device.ogg' -/obj/item/device/destTagger/tgui_state(mob/user) +/obj/item/destTagger/tgui_state(mob/user) return GLOB.tgui_inventory_state -/obj/item/device/destTagger/tgui_interact(mob/user, datum/tgui/ui) +/obj/item/destTagger/tgui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) if(!ui) ui = new(user, src, "DestinationTagger", name) ui.open() -/obj/item/device/destTagger/tgui_static_data(mob/user) +/obj/item/destTagger/tgui_static_data(mob/user) var/list/data = ..() var/list/taggers = list() var/list/tagger_levels = list() @@ -361,20 +364,20 @@ return data -/obj/item/device/destTagger/tgui_data(mob/user, datum/tgui/ui) +/obj/item/destTagger/tgui_data(mob/user, datum/tgui/ui) var/list/data = ..() data["currTag"] = currTag return data -/obj/item/device/destTagger/attack_self(mob/user as mob) +/obj/item/destTagger/attack_self(mob/user as mob) tgui_interact(user) -/obj/item/device/destTagger/tgui_act(action, params) +/obj/item/destTagger/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE - add_fingerprint(usr) + add_fingerprint(ui.user) switch(action) if("set_tag") var/new_tag = params["tag"] @@ -455,7 +458,7 @@ to_chat(user, "You [c_mode ? "remove" : "attach"] the screws around the power connection.") return if(I.has_tool_quality(TOOL_WELDER) && c_mode==1) - var/obj/item/weapon/weldingtool/W = I.get_welder() + var/obj/item/weldingtool/W = I.get_welder() if(!W.remove_fuel(0,user)) to_chat(user, "You need more welding fuel to complete this task.") return diff --git a/code/modules/research/circuitprinter.dm b/code/modules/research/circuitprinter.dm index 2f45135a239..745dcf8dfc5 100644 --- a/code/modules/research/circuitprinter.dm +++ b/code/modules/research/circuitprinter.dm @@ -8,7 +8,7 @@ using metal and glass, it uses glass and reagents (usually sulphuric acid). name = "Circuit Imprinter" icon_state = "circuit_imprinter" flags = OPENCONTAINER - circuit = /obj/item/weapon/circuitboard/circuit_imprinter + circuit = /obj/item/circuitboard/circuit_imprinter var/list/datum/design/queue = list() var/progress = 0 @@ -55,25 +55,23 @@ using metal and glass, it uses glass and reagents (usually sulphuric acid). build(D) progress = 0 removeFromQueue(1) - if(linked_console) - linked_console.updateUsrDialog() update_icon() else if(busy) - visible_message("[icon2html(src,viewers(src))] flashes: insufficient materials: [getLackingMaterials(D)].") + visible_message(span_notice("[icon2html(src,viewers(src))] flashes: insufficient materials: [getLackingMaterials(D)].")) busy = 0 update_icon() /obj/machinery/r_n_d/circuit_imprinter/RefreshParts() var/T = 0 - for(var/obj/item/weapon/reagent_containers/glass/G in component_parts) + for(var/obj/item/reagent_containers/glass/G in component_parts) T += G.reagents.maximum_volume create_reagents(T) max_material_storage = 0 - for(var/obj/item/weapon/stock_parts/matter_bin/M in component_parts) + for(var/obj/item/stock_parts/matter_bin/M in component_parts) max_material_storage += M.rating * 75000 T = 0 - for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts) + for(var/obj/item/stock_parts/manipulator/M in component_parts) T += M.rating mat_efficiency = max(1 - (T - 1) / 4, 0.2) speed = T @@ -94,7 +92,7 @@ using metal and glass, it uses glass and reagents (usually sulphuric acid). /obj/machinery/r_n_d/circuit_imprinter/dismantle() for(var/obj/I in component_parts) - if(istype(I, /obj/item/weapon/reagent_containers/glass/beaker)) + if(istype(I, /obj/item/reagent_containers/glass/beaker)) reagents.trans_to_obj(I, reagents.total_volume) for(var/f in materials) if(materials[f] >= SHEET_MATERIAL_AMOUNT) @@ -105,7 +103,7 @@ using metal and glass, it uses glass and reagents (usually sulphuric acid). /obj/machinery/r_n_d/circuit_imprinter/attackby(var/obj/item/O as obj, var/mob/user as mob) if(busy) - to_chat(user, "\The [src] is busy. Please wait for completion of previous operation.") + to_chat(user, span_notice("\The [src] is busy. Please wait for completion of previous operation.")) return 1 if(default_deconstruction_screwdriver(user, O)) if(linked_console) @@ -116,10 +114,10 @@ using metal and glass, it uses glass and reagents (usually sulphuric acid). return if(default_part_replacement(user, O)) return - if(istype(O, /obj/item/weapon/gripper/no_use/loader)) + if(istype(O, /obj/item/gripper/no_use/loader)) return 0 //Sheet loaders weren't finishing attack(), this prevents the message "You can't stuff that gripper into this" without preventing the rest of the attack sequence from finishing if(panel_open) - to_chat(user, "You can't load \the [src] while it's opened.") + to_chat(user, span_notice("You can't load \the [src] while it's opened.")) return 1 if(!linked_console) to_chat(user, "\The [src] must be linked to an R&D console first.") @@ -127,18 +125,18 @@ using metal and glass, it uses glass and reagents (usually sulphuric acid). if(O.is_open_container()) return 0 if(!istype(O, /obj/item/stack/material)) //Previously checked for specific material sheets, for some reason? Made the check on 133 redundant. - to_chat(user, "You cannot insert this item into \the [src].") + to_chat(user, span_notice("You cannot insert this item into \the [src].")) return 1 if(stat) return 1 if(TotalMaterials() + SHEET_MATERIAL_AMOUNT > max_material_storage) - to_chat(user, "\The [src]'s material bin is full. Please remove material before adding more.") + to_chat(user, span_notice("\The [src]'s material bin is full. Please remove material before adding more.")) return 1 var/obj/item/stack/material/S = O if(!(S.material.name in materials)) - to_chat(user, "The [src] doesn't accept [S.material]!") + to_chat(user, span_warning("The [src] doesn't accept [S.material]!")) return busy = 1 @@ -158,12 +156,11 @@ using metal and glass, it uses glass and reagents (usually sulphuric acid). materials[S.material.name] += amnt S.use(1) count++ - to_chat(user, "You insert [count] [sname] into the fabricator.") + to_chat(user, span_filter_notice("You insert [count] [sname] into the fabricator.")) else - to_chat(user, "The fabricator cannot hold more [sname].") + to_chat(user, span_filter_notice("The fabricator cannot hold more [sname].")) busy = 0 - updateUsrDialog() return /obj/machinery/r_n_d/circuit_imprinter/proc/addToQueue(var/datum/design/D) @@ -171,8 +168,9 @@ using metal and glass, it uses glass and reagents (usually sulphuric acid). return /obj/machinery/r_n_d/circuit_imprinter/proc/removeFromQueue(var/index) - queue.Cut(index, index + 1) - return + if(queue.len >= index) + queue.Cut(index, index + 1) + return /obj/machinery/r_n_d/circuit_imprinter/proc/canBuild(var/datum/design/D) for(var/M in D.materials) diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index f5fa40484b2..dd315bff3aa 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -80,7 +80,7 @@ other types of metals and chemistry for reagents). for(var/matname in materials) I.matter[matname] = materials[matname] - var/obj/item/weapon/cell/C = I.get_cell() + var/obj/item/cell/C = I.get_cell() if(C) C.charge = 0 I.update_icon() diff --git a/code/modules/research/designs/ai_holders.dm b/code/modules/research/designs/ai_holders.dm index 2f1fe24c128..b0ef5f0a7c2 100644 --- a/code/modules/research/designs/ai_holders.dm +++ b/code/modules/research/designs/ai_holders.dm @@ -9,7 +9,7 @@ req_tech = list(TECH_DATA = 2, TECH_BIO = 3) build_type = PROTOLATHE | PROSFAB materials = list(MAT_STEEL = 1000, MAT_GLASS = 500) - build_path = /obj/item/device/mmi + build_path = /obj/item/mmi category = list("Misc") sort_string = "SAAAA" @@ -19,7 +19,7 @@ req_tech = list(TECH_ENGINEERING = 4, TECH_MATERIAL = 6, TECH_BLUESPACE = 2, TECH_DATA = 4) build_type = PROTOLATHE | PROSFAB materials = list(MAT_STEEL = 2000, MAT_GLASS = 1000, MAT_SILVER = 1000, MAT_GOLD = 500, MAT_PHORON = 500, MAT_DIAMOND = 100) - build_path = /obj/item/device/mmi/digital/posibrain + build_path = /obj/item/mmi/digital/posibrain category = list("Misc") sort_string = "SAAAB" @@ -29,7 +29,7 @@ req_tech = list(TECH_ENGINEERING = 4, TECH_MATERIAL = 5, TECH_DATA = 4) build_type = PROTOLATHE | PROSFAB materials = list(MAT_STEEL = 2000, MAT_GLASS = 1000, MAT_SILVER = 1000, MAT_GOLD = 500) - build_path = /obj/item/device/mmi/digital/robot + build_path = /obj/item/mmi/digital/robot category = list("Misc") sort_string = "SAAAC" @@ -38,7 +38,7 @@ id = "paicard" req_tech = list(TECH_DATA = 2) materials = list(MAT_GLASS = 500, MAT_STEEL = 500) - build_path = /obj/item/device/paicard + build_path = /obj/item/paicard sort_string = "SBAAA" /datum/design/item/ai_holder/intellicard @@ -47,5 +47,5 @@ id = "intellicore" req_tech = list(TECH_DATA = 4, TECH_MATERIAL = 4) materials = list(MAT_GLASS = 1000, MAT_GOLD = 200) - build_path = /obj/item/device/aicard + build_path = /obj/item/aicard sort_string = "SCAAA" \ No newline at end of file diff --git a/code/modules/research/designs/bag_of_holding.dm b/code/modules/research/designs/bag_of_holding.dm index 23d075c19d0..7fcb67a04a1 100644 --- a/code/modules/research/designs/bag_of_holding.dm +++ b/code/modules/research/designs/bag_of_holding.dm @@ -10,7 +10,7 @@ id = "ore_holding" req_tech = list(TECH_BLUESPACE = 2, TECH_MATERIAL = 3) materials = list(MAT_GOLD = 1000, MAT_DIAMOND = 500, MAT_URANIUM = 250) // Less expensive since it can only hold ores - build_path = /obj/item/weapon/storage/bag/ore/holding + build_path = /obj/item/storage/bag/ore/holding sort_string = "QAAAA" /datum/design/item/boh/bag_holding @@ -19,7 +19,7 @@ id = "bag_holding" req_tech = list(TECH_BLUESPACE = 4, TECH_MATERIAL = 6) materials = list(MAT_GOLD = 3000, MAT_DIAMOND = 1500, MAT_URANIUM = 250) - build_path = /obj/item/weapon/storage/backpack/holding + build_path = /obj/item/storage/backpack/holding sort_string = "QAAAA" /datum/design/item/boh/dufflebag_holding @@ -28,7 +28,7 @@ id = "dufflebag_holding" req_tech = list(TECH_BLUESPACE = 4, TECH_MATERIAL = 6) materials = list(MAT_GOLD = 3000, MAT_DIAMOND = 1500, MAT_URANIUM = 250) - build_path = /obj/item/weapon/storage/backpack/holding/duffle + build_path = /obj/item/storage/backpack/holding/duffle sort_string = "QAAAB" /datum/design/item/boh/trashbag_holding @@ -37,7 +37,7 @@ id = "trashbag_holding" req_tech = list(TECH_BLUESPACE = 3, TECH_MATERIAL = 5) materials = list("gold" = 2000, "diamond" = 1000, "uranium" = 250) - build_path = /obj/item/weapon/storage/bag/trash/holding + build_path = /obj/item/storage/bag/trash/holding sort_string = "QAAAC" /datum/design/item/boh/pouch_holding @@ -46,7 +46,7 @@ id = "pouch_holding" req_tech = list(TECH_BLUESPACE = 3, TECH_MATERIAL = 5) materials = list("gold" = 3000, "diamond" = 2000, "uranium" = 250) - build_path = /obj/item/weapon/storage/pouch/holding + build_path = /obj/item/storage/pouch/holding sort_string = "QAAAD" @@ -56,7 +56,7 @@ id = "belt_holding_med" req_tech = list(TECH_BLUESPACE = 4, TECH_MATERIAL = 6) materials = list("gold" = 3000, "diamond" = 2000, "titanium" = 500) - build_path = /obj/item/weapon/storage/belt/medical/holding + build_path = /obj/item/storage/belt/medical/holding sort_string = "QAAAE" /datum/design/item/boh/belt_holding_utility @@ -65,6 +65,6 @@ id = "belt_holding_utility" req_tech = list(TECH_BLUESPACE = 4, TECH_MATERIAL = 6) materials = list("gold" = 3000, "diamond" = 2000, "titanium" = 500) - build_path = /obj/item/weapon/storage/belt/utility/holding + build_path = /obj/item/storage/belt/utility/holding sort_string = "QAAAF" \ No newline at end of file diff --git a/code/modules/research/designs/beakers.dm b/code/modules/research/designs/beakers.dm index 0b3c359d391..faef8147611 100644 --- a/code/modules/research/designs/beakers.dm +++ b/code/modules/research/designs/beakers.dm @@ -9,7 +9,7 @@ id = "splitbeaker" req_tech = list(TECH_MATERIAL = 2) materials = list(MAT_STEEL = 3000) - build_path = /obj/item/weapon/reagent_containers/glass/beaker/noreact + build_path = /obj/item/reagent_containers/glass/beaker/noreact sort_string = "IAAAA" /datum/design/item/beaker/bluespace @@ -18,5 +18,5 @@ id = "bluespacebeaker" req_tech = list(TECH_BLUESPACE = 2, TECH_MATERIAL = 6) materials = list(MAT_STEEL = 3000, MAT_PHORON = 3000, MAT_DIAMOND = 500) - build_path = /obj/item/weapon/reagent_containers/glass/beaker/bluespace + build_path = /obj/item/reagent_containers/glass/beaker/bluespace sort_string = "IAAAB" \ No newline at end of file diff --git a/code/modules/research/designs/bio_devices.dm b/code/modules/research/designs/bio_devices.dm index 27f1e0a556e..12918e62268 100644 --- a/code/modules/research/designs/bio_devices.dm +++ b/code/modules/research/designs/bio_devices.dm @@ -11,28 +11,28 @@ desc = "A device for analyzing chemicals in blood." id = "mass_spectrometer" req_tech = list(TECH_BIO = 2, TECH_MAGNET = 2) - build_path = /obj/item/device/mass_spectrometer + build_path = /obj/item/mass_spectrometer sort_string = "JAAAA" /datum/design/item/biotech/adv_mass_spectrometer desc = "A device for analyzing chemicals in blood and their quantities." id = "adv_mass_spectrometer" req_tech = list(TECH_BIO = 2, TECH_MAGNET = 4) - build_path = /obj/item/device/mass_spectrometer/adv + build_path = /obj/item/mass_spectrometer/adv sort_string = "JAAAB" /datum/design/item/biotech/reagent_scanner desc = "A device for identifying chemicals." id = "reagent_scanner" req_tech = list(TECH_BIO = 2, TECH_MAGNET = 2) - build_path = /obj/item/device/reagent_scanner + build_path = /obj/item/reagent_scanner sort_string = "JAABA" /datum/design/item/biotech/adv_reagent_scanner desc = "A device for identifying chemicals and their proportions." id = "adv_reagent_scanner" req_tech = list(TECH_BIO = 2, TECH_MAGNET = 4) - build_path = /obj/item/device/reagent_scanner/adv + build_path = /obj/item/reagent_scanner/adv sort_string = "JAABB" /datum/design/item/biotech/robot_scanner @@ -40,7 +40,7 @@ id = "robot_scanner" req_tech = list(TECH_MAGNET = 3, TECH_BIO = 2, TECH_ENGINEERING = 3) materials = list(MAT_STEEL = 500, MAT_GLASS = 200) - build_path = /obj/item/device/robotanalyzer + build_path = /obj/item/robotanalyzer sort_string = "JAACA" /datum/design/item/biotech/nanopaste @@ -56,6 +56,6 @@ id = "plant_analyzer" req_tech = list(TECH_MAGNET = 2, TECH_BIO = 2) materials = list(MAT_STEEL = 500, MAT_GLASS = 500) - build_path = /obj/item/device/analyzer/plant_analyzer + build_path = /obj/item/analyzer/plant_analyzer sort_string = "JAADA" diff --git a/code/modules/research/designs/bio_devices_vr.dm b/code/modules/research/designs/bio_devices_vr.dm index ee651b193e0..df46e81a795 100644 --- a/code/modules/research/designs/bio_devices_vr.dm +++ b/code/modules/research/designs/bio_devices_vr.dm @@ -1,9 +1,9 @@ /datum/design/item/biotech/nif - name = "nanite implant framework" + name = "nanite implant framework (NIF)" id = "nif" req_tech = list(TECH_MAGNET = 5, TECH_BLUESPACE = 5, TECH_MATERIAL = 5, TECH_ENGINEERING = 5, TECH_DATA = 5) materials = list(MAT_STEEL = 5000, MAT_GLASS = 8000, MAT_URANIUM = 6000, MAT_DIAMOND = 6000) - build_path = /obj/item/device/nif + build_path = /obj/item/nif sort_string = "JVAAA" /datum/design/item/biotech/nifbio @@ -11,7 +11,7 @@ id = "bioadapnif" req_tech = list(TECH_MAGNET = 5, TECH_BLUESPACE = 5, TECH_MATERIAL = 5, TECH_ENGINEERING = 5, TECH_DATA = 5, TECH_BIO = 5) materials = list(MAT_STEEL = 10000, MAT_GLASS = 15000, MAT_URANIUM = 10000, MAT_DIAMOND = 10000) - build_path = /obj/item/device/nif/bioadap + build_path = /obj/item/nif/bioadap sort_string = "JVAAB" /datum/design/item/biotech/nifrepairtool @@ -19,5 +19,5 @@ id = "anrt" req_tech = list(TECH_MAGNET = 5, TECH_BLUESPACE = 5, TECH_MATERIAL = 5, TECH_ENGINEERING = 5, TECH_DATA = 5) materials = list(MAT_STEEL = 2000, MAT_GLASS = 3000, MAT_URANIUM = 2000, MAT_DIAMOND = 2000) - build_path = /obj/item/device/nifrepairer - sort_string = "JVABA" \ No newline at end of file + build_path = /obj/item/nifrepairer + sort_string = "JVABA" diff --git a/code/modules/research/designs/circuit_assembly.dm b/code/modules/research/designs/circuit_assembly.dm index c637e450d22..020cc6a0f32 100644 --- a/code/modules/research/designs/circuit_assembly.dm +++ b/code/modules/research/designs/circuit_assembly.dm @@ -10,7 +10,7 @@ id = "ic_printer" req_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 4, TECH_DATA = 5) materials = list(MAT_STEEL = 10000) - build_path = /obj/item/device/integrated_circuit_printer + build_path = /obj/item/integrated_circuit_printer sort_string = "UAAAA" /datum/design/item/integrated_circuitry/custom_circuit_printer_upgrade @@ -19,7 +19,7 @@ id = "ic_printer_upgrade_adv" req_tech = list(TECH_ENGINEERING = 3, TECH_DATA = 4) materials = list(MAT_STEEL = 2000) - build_path = /obj/item/weapon/disk/integrated_circuit/upgrade/advanced + build_path = /obj/item/disk/integrated_circuit/upgrade/advanced sort_string = "UBAAA" /datum/design/item/integrated_circuitry/wirer @@ -27,7 +27,7 @@ id = "wirer" req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2) materials = list(MAT_STEEL = 5000, MAT_GLASS = 2500) - build_path = /obj/item/device/integrated_electronics/wirer + build_path = /obj/item/integrated_electronics/wirer sort_string = "UCAAA" /datum/design/item/integrated_circuitry/debugger @@ -35,7 +35,7 @@ id = "debugger" req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2) materials = list(MAT_STEEL = 5000, MAT_GLASS = 2500) - build_path = /obj/item/device/integrated_electronics/debugger + build_path = /obj/item/integrated_electronics/debugger sort_string = "UCBBB" // Assemblies @@ -50,7 +50,7 @@ id = "assembly-small" req_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 2, TECH_POWER = 2) materials = list(MAT_STEEL = 10000) - build_path = /obj/item/device/electronic_assembly + build_path = /obj/item/electronic_assembly sort_string = "UDAAA" /datum/design/item/integrated_circuitry/assembly/custom_circuit_assembly_medium @@ -59,7 +59,7 @@ id = "assembly-medium" req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3, TECH_POWER = 3) materials = list(MAT_STEEL = 20000) - build_path = /obj/item/device/electronic_assembly/medium + build_path = /obj/item/electronic_assembly/medium sort_string = "UDAAB" /datum/design/item/integrated_circuitry/assembly/custom_circuit_assembly_large @@ -68,7 +68,7 @@ id = "assembly-large" req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 4, TECH_POWER = 4) materials = list(MAT_STEEL = 40000) - build_path = /obj/item/device/electronic_assembly/large + build_path = /obj/item/electronic_assembly/large sort_string = "UDAAC" /datum/design/item/integrated_circuitry/assembly/custom_circuit_assembly_drone @@ -77,7 +77,7 @@ id = "assembly-drone" req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 4, TECH_POWER = 4) materials = list(MAT_STEEL = 30000) - build_path = /obj/item/device/electronic_assembly/drone + build_path = /obj/item/electronic_assembly/drone sort_string = "UDAAD" /datum/design/item/integrated_circuitry/assembly/custom_circuit_assembly_device @@ -86,7 +86,7 @@ id = "assembly-device" req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2, TECH_POWER = 2) materials = list(MAT_STEEL = 5000) - build_path = /obj/item/device/assembly/electronic_assembly + build_path = /obj/item/assembly/electronic_assembly sort_string = "UDAAE" /datum/design/item/integrated_circuitry/assembly/custom_circuit_assembly_implant @@ -95,5 +95,5 @@ id = "assembly-implant" req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 4, TECH_POWER = 3, TECH_BIO = 5) materials = list(MAT_STEEL = 2000) - build_path = /obj/item/weapon/implant/integrated_circuit + build_path = /obj/item/implant/integrated_circuit sort_string = "UDAAF" \ No newline at end of file diff --git a/code/modules/research/designs/circuits/ai_modules.dm b/code/modules/research/designs/circuits/ai_modules.dm index b61c6f89dbd..018d428b756 100644 --- a/code/modules/research/designs/circuits/ai_modules.dm +++ b/code/modules/research/designs/circuits/ai_modules.dm @@ -12,63 +12,63 @@ name = "Safeguard" id = "safeguard" req_tech = list(TECH_DATA = 3, TECH_MATERIAL = 4) - build_path = /obj/item/weapon/aiModule/safeguard + build_path = /obj/item/aiModule/safeguard sort_string = "XABAA" /datum/design/aimodule/onehuman name = "OneCrewMember" id = "onehuman" req_tech = list(TECH_DATA = 4, TECH_MATERIAL = 6) - build_path = /obj/item/weapon/aiModule/oneHuman + build_path = /obj/item/aiModule/oneHuman sort_string = "XABAB" /datum/design/aimodule/protectstation name = "ProtectStation" id = "protectstation" req_tech = list(TECH_DATA = 3, TECH_MATERIAL = 6) - build_path = /obj/item/weapon/aiModule/protectStation + build_path = /obj/item/aiModule/protectStation sort_string = "XABAC" /datum/design/aimodule/notele name = "TeleporterOffline" id = "notele" req_tech = list(TECH_DATA = 3) - build_path = /obj/item/weapon/aiModule/teleporterOffline + build_path = /obj/item/aiModule/teleporterOffline sort_string = "XABAD" /datum/design/aimodule/quarantine name = "Quarantine" id = "quarantine" req_tech = list(TECH_DATA = 3, TECH_BIO = 2, TECH_MATERIAL = 4) - build_path = /obj/item/weapon/aiModule/quarantine + build_path = /obj/item/aiModule/quarantine sort_string = "XABAE" /datum/design/aimodule/oxygen name = "OxygenIsToxicToHumans" id = "oxygen" req_tech = list(TECH_DATA = 3, TECH_BIO = 2, TECH_MATERIAL = 4) - build_path = /obj/item/weapon/aiModule/oxygen + build_path = /obj/item/aiModule/oxygen sort_string = "XABAF" /datum/design/aimodule/freeform name = "Freeform" id = "freeform" req_tech = list(TECH_DATA = 4, TECH_MATERIAL = 4) - build_path = /obj/item/weapon/aiModule/freeform + build_path = /obj/item/aiModule/freeform sort_string = "XABAG" /datum/design/aimodule/reset name = "Reset" id = "reset" req_tech = list(TECH_DATA = 3, TECH_MATERIAL = 6) - build_path = /obj/item/weapon/aiModule/reset + build_path = /obj/item/aiModule/reset sort_string = "XABAH" /datum/design/aimodule/purge name = "Purge" id = "purge" req_tech = list(TECH_DATA = 4, TECH_MATERIAL = 6) - build_path = /obj/item/weapon/aiModule/purge + build_path = /obj/item/aiModule/purge sort_string = "XABAI" // Core modules @@ -84,32 +84,32 @@ /datum/design/aimodule/core/freeformcore name = "Freeform" id = "freeformcore" - build_path = /obj/item/weapon/aiModule/freeformcore + build_path = /obj/item/aiModule/freeformcore sort_string = "XACAA" /datum/design/aimodule/core/asimov name = "Asimov" id = "asimov" - build_path = /obj/item/weapon/aiModule/asimov + build_path = /obj/item/aiModule/asimov sort_string = "XACAB" /datum/design/aimodule/core/paladin name = "P.A.L.A.D.I.N." id = "paladin" - build_path = /obj/item/weapon/aiModule/paladin + build_path = /obj/item/aiModule/paladin sort_string = "XACAC" /datum/design/aimodule/core/tyrant name = "T.Y.R.A.N.T." id = "tyrant" req_tech = list(TECH_DATA = 4, TECH_ILLEGAL = 2, TECH_MATERIAL = 6) - build_path = /obj/item/weapon/aiModule/tyrant + build_path = /obj/item/aiModule/tyrant sort_string = "XACAD" /datum/design/aimodule/core/nanotrasen name = "NT Default" id = "nanotrasen" - build_path = /obj/item/weapon/aiModule/nanotrasen + build_path = /obj/item/aiModule/nanotrasen req_tech = list(TECH_DATA = 1) sort_string = "XACAE" @@ -117,42 +117,42 @@ name = "Predator" id = "laws_predator_vr" req_tech = list(TECH_DATA = 4, TECH_BIO = 3, TECH_ILLEGAL = 2, TECH_MATERIAL = 6) - build_path = /obj/item/weapon/aiModule/predator + build_path = /obj/item/aiModule/predator sort_string = "XACAF" /datum/design/aimodule/core/protective_shell name = "Protective Shell" id = "laws_protective_shell_vr" req_tech = list(TECH_DATA = 4, TECH_BIO = 3, TECH_ILLEGAL = 2, TECH_MATERIAL = 6) - build_path = /obj/item/weapon/aiModule/protective_shell + build_path = /obj/item/aiModule/protective_shell sort_string = "XACAG" /datum/design/aimodule/core/scientific_pursuer name = "Scientific Pursuer" id = "laws_scientific_pursuer_vr" req_tech = list(TECH_DATA = 4, TECH_BIO = 3, TECH_ILLEGAL = 2, TECH_MATERIAL = 6) - build_path = /obj/item/weapon/aiModule/scientific_pursuer + build_path = /obj/item/aiModule/scientific_pursuer sort_string = "XACAH" /datum/design/aimodule/core/guard_dog name = "Guard Dog" id = "laws_guard_dog_vr" req_tech = list(TECH_DATA = 4, TECH_BIO = 3, TECH_ILLEGAL = 2, TECH_MATERIAL = 6) - build_path = /obj/item/weapon/aiModule/guard_dog + build_path = /obj/item/aiModule/guard_dog sort_string = "XACAI" /datum/design/aimodule/core/pleasurebot name = "Pleasurebot" id = "laws_pleasurebot_vr" req_tech = list(TECH_DATA = 4, TECH_BIO = 3, TECH_ILLEGAL = 2, TECH_MATERIAL = 6) - build_path = /obj/item/weapon/aiModule/pleasurebot + build_path = /obj/item/aiModule/pleasurebot sort_string = "XACAJ" /datum/design/aimodule/core/consuming_eradicator name = "Consuming Eradicator" id = "laws_consuming_eradicator_vr" req_tech = list(TECH_DATA = 4, TECH_BIO = 3, TECH_ILLEGAL = 6, TECH_MATERIAL = 6) - build_path = /obj/item/weapon/aiModule/consuming_eradicator + build_path = /obj/item/aiModule/consuming_eradicator sort_string = "XACAK" // Illegal modules @@ -170,68 +170,68 @@ name = "EngineOffline" id = "noengine" req_tech = list(TECH_DATA = 5, TECH_ILLEGAL = 5, TECH_MATERIAL = 6, TECH_COMBAT = 7) - build_path = /obj/item/weapon/aiModule/prototypeEngineOffline + build_path = /obj/item/aiModule/prototypeEngineOffline sort_string = "XADAA" /datum/design/aimodule/illegal/corp name = "Corporate" id = "corp" req_tech = list(TECH_DATA = 2, TECH_ILLEGAL = 4, TECH_MATERIAL = 2, TECH_COMBAT = 2) - build_path = /obj/item/weapon/aiModule/corp + build_path = /obj/item/aiModule/corp sort_string = "XADAB" /datum/design/aimodule/illegal/robocop name = "Robocop" id = "robocop" req_tech = list(TECH_DATA = 2, TECH_ILLEGAL = 2, TECH_MATERIAL = 2, TECH_COMBAT = 4) - build_path = /obj/item/weapon/aiModule/robocop + build_path = /obj/item/aiModule/robocop sort_string = "XADAC" /datum/design/aimodule/illegal/antimov name = "Antimov" id = "antimov" req_tech = list(TECH_DATA = 6, TECH_ILLEGAL = 7, TECH_MATERIAL = 7, TECH_COMBAT = 5) - build_path = /obj/item/weapon/aiModule/antimov + build_path = /obj/item/aiModule/antimov sort_string = "XADAD" /datum/design/aimodule/illegal/nanotrasen_aggressive name = "NT Aggressive" id = "nanotrasen_aggressive" req_tech = list(TECH_DATA = 5, TECH_ILLEGAL = 6, TECH_MATERIAL = 3, TECH_COMBAT = 7) - build_path = /obj/item/weapon/aiModule/nanotrasen_aggressive + build_path = /obj/item/aiModule/nanotrasen_aggressive sort_string = "XADAE" /datum/design/aimodule/illegal/maintenance name = "Maintenance" id = "maintenance" req_tech = list(TECH_DATA = 3, TECH_ILLEGAL = 2, TECH_MATERIAL = 3, TECH_COMBAT = 2) - build_path = /obj/item/weapon/aiModule/maintenance + build_path = /obj/item/aiModule/maintenance sort_string = "XADAF" /datum/design/aimodule/illegal/peacekeeper name = "Peacekeeper" id = "peacekeeper" req_tech = list(TECH_DATA = 4, TECH_ILLEGAL = 3, TECH_MATERIAL = 2, TECH_COMBAT = 2) - build_path = /obj/item/weapon/aiModule/peacekeeper + build_path = /obj/item/aiModule/peacekeeper sort_string = "XADAG" /datum/design/aimodule/illegal/reporter name = "Reporter" id = "reporter" req_tech = list(TECH_DATA = 2, TECH_ILLEGAL = 2, TECH_MATERIAL = 3) - build_path = /obj/item/weapon/aiModule/reporter + build_path = /obj/item/aiModule/reporter sort_string = "XADAH" /datum/design/aimodule/illegal/live_and_let_live name = "Live and Let Live" id = "live_and_let_live" req_tech = list(TECH_DATA = 5, TECH_ILLEGAL = 3, TECH_MATERIAL = 4, TECH_COMBAT = 3) - build_path = /obj/item/weapon/aiModule/live_and_let_live + build_path = /obj/item/aiModule/live_and_let_live sort_string = "XADAI" /datum/design/aimodule/illegal/balance name = "Guardian of Balance." id = "balance" req_tech = list(TECH_DATA = 4, TECH_ILLEGAL = 2, TECH_MATERIAL = 2, TECH_COMBAT = 3) - build_path = /obj/item/weapon/aiModule/balance + build_path = /obj/item/aiModule/balance sort_string = "XADAJ" diff --git a/code/modules/research/designs/circuits/circuits.dm b/code/modules/research/designs/circuits/circuits.dm index 0c73a001b4c..bb9d2a5342a 100644 --- a/code/modules/research/designs/circuits/circuits.dm +++ b/code/modules/research/designs/circuits/circuits.dm @@ -12,7 +12,7 @@ CIRCUITS BELOW /datum/design/circuit/AssembleDesignName() ..() if(build_path) - var/obj/item/weapon/circuitboard/C = build_path + var/obj/item/circuitboard/C = build_path if(initial(C.board_type) == "machine") name = "Machine circuit design ([item_name])" else if(initial(C.board_type) == "computer") @@ -28,312 +28,319 @@ CIRCUITS BELOW name = "battle arcade machine" id = "arcademachine" req_tech = list(TECH_DATA = 1) - build_path = /obj/item/weapon/circuitboard/arcade/battle + build_path = /obj/item/circuitboard/arcade/battle sort_string = "MAAAA" /datum/design/circuit/oriontrail name = "orion trail arcade machine" id = "oriontrail" req_tech = list(TECH_DATA = 1) - build_path = /obj/item/weapon/circuitboard/arcade/orion_trail + build_path = /obj/item/circuitboard/arcade/orion_trail sort_string = "MAAAB" /datum/design/circuit/clawmachine name = "grab-a-gift arcade machine" id = "clawmachine" req_tech = list(TECH_DATA = 1) - build_path = /obj/item/weapon/circuitboard/arcade/clawmachine + build_path = /obj/item/circuitboard/arcade/clawmachine sort_string = "MAAAC" /datum/design/circuit/jukebox name = "jukebox" id = "jukebox" req_tech = list(TECH_MAGNET = 2, TECH_DATA = 1) - build_path = /obj/item/weapon/circuitboard/jukebox + build_path = /obj/item/circuitboard/jukebox sort_string = "MAAAO" /datum/design/circuit/seccamera name = "security camera monitor" id = "seccamera" - build_path = /obj/item/weapon/circuitboard/security + build_path = /obj/item/circuitboard/security sort_string = "DAAAZ" // Duplicate string, really need to redo this whole thing /datum/design/circuit/secdata name = "security records console" id = "sec_data" - build_path = /obj/item/weapon/circuitboard/secure_data + build_path = /obj/item/circuitboard/secure_data sort_string = "DABAA" /datum/design/circuit/prisonmanage name = "prisoner management console" id = "prisonmanage" - build_path = /obj/item/weapon/circuitboard/prisoner + build_path = /obj/item/circuitboard/prisoner sort_string = "DACAA" /datum/design/circuit/med_data name = "medical records console" id = "med_data" - build_path = /obj/item/weapon/circuitboard/med_data + build_path = /obj/item/circuitboard/med_data sort_string = "FAAAA" /datum/design/circuit/operating name = "patient monitoring console" id = "operating" - build_path = /obj/item/weapon/circuitboard/operating + build_path = /obj/item/circuitboard/operating sort_string = "FACAA" /datum/design/circuit/scan_console name = "DNA machine" id = "scan_console" - build_path = /obj/item/weapon/circuitboard/scan_consolenew + build_path = /obj/item/circuitboard/scan_consolenew sort_string = "FAGAA" /datum/design/circuit/clonecontrol name = "cloning control console" id = "clonecontrol" req_tech = list(TECH_DATA = 3, TECH_BIO = 3) - build_path = /obj/item/weapon/circuitboard/cloning + build_path = /obj/item/circuitboard/cloning sort_string = "FAGAC" /datum/design/circuit/clonepod name = "clone pod" id = "clonepod" req_tech = list(TECH_DATA = 3, TECH_BIO = 3) - build_path = /obj/item/weapon/circuitboard/clonepod + build_path = /obj/item/circuitboard/clonepod sort_string = "FAGAE" /datum/design/circuit/clonescanner name = "cloning scanner" id = "clonescanner" req_tech = list(TECH_DATA = 3, TECH_BIO = 3) - build_path = /obj/item/weapon/circuitboard/clonescanner + build_path = /obj/item/circuitboard/clonescanner sort_string = "FAGAG" /datum/design/circuit/chem_master name = "ChemMaster 3000" id = "chemmaster" req_tech = list(TECH_DATA = 3, TECH_MAGNET = 2) - build_path = /obj/item/weapon/circuitboard/chem_master + build_path = /obj/item/circuitboard/chem_master sort_string = "FAGAH" /datum/design/circuit/crewconsole name = "crew monitoring console" id = "crewconsole" req_tech = list(TECH_DATA = 3, TECH_MAGNET = 2, TECH_BIO = 2) - build_path = /obj/item/weapon/circuitboard/crew + build_path = /obj/item/circuitboard/crew sort_string = "FAGAI" +/datum/design/circuit/pandemic + name = "PanD.E.M.I.C 2200" + id = "pandemic" + req_tech = list(TECH_DATA = 2, TECH_BIO = 2) + build_path = /obj/item/circuitboard/pandemic + sort_string = "FAGAJ" + /datum/design/circuit/teleconsole name = "teleporter control console" id = "teleconsole" req_tech = list(TECH_DATA = 3, TECH_BLUESPACE = 2) - build_path = /obj/item/weapon/circuitboard/teleporter + build_path = /obj/item/circuitboard/teleporter sort_string = "HAAAA" /datum/design/circuit/robocontrol name = "robotics control console" id = "robocontrol" req_tech = list(TECH_DATA = 4) - build_path = /obj/item/weapon/circuitboard/robotics + build_path = /obj/item/circuitboard/robotics sort_string = "HAAAB" /datum/design/circuit/mechacontrol name = "exosuit control console" id = "mechacontrol" req_tech = list(TECH_DATA = 3) - build_path = /obj/item/weapon/circuitboard/mecha_control + build_path = /obj/item/circuitboard/mecha_control sort_string = "HAAAC" /datum/design/circuit/rdconsole name = "R&D control console" id = "rdconsole" req_tech = list(TECH_DATA = 4) - build_path = /obj/item/weapon/circuitboard/rdconsole + build_path = /obj/item/circuitboard/rdconsole sort_string = "HAAAE" /datum/design/circuit/aifixer name = "AI integrity restorer" id = "aifixer" req_tech = list(TECH_DATA = 3, TECH_BIO = 2) - build_path = /obj/item/weapon/circuitboard/aifixer + build_path = /obj/item/circuitboard/aifixer sort_string = "HAAAF" /datum/design/circuit/comm_monitor name = "telecommunications monitoring console" id = "comm_monitor" req_tech = list(TECH_DATA = 3) - build_path = /obj/item/weapon/circuitboard/comm_monitor + build_path = /obj/item/circuitboard/comm_monitor sort_string = "HAACA" /datum/design/circuit/comm_server name = "telecommunications server monitoring console" id = "comm_server" req_tech = list(TECH_DATA = 3) - build_path = /obj/item/weapon/circuitboard/comm_server + build_path = /obj/item/circuitboard/comm_server sort_string = "HAACB" /datum/design/circuit/message_monitor name = "messaging monitor console" id = "message_monitor" req_tech = list(TECH_DATA = 5) - build_path = /obj/item/weapon/circuitboard/message_monitor + build_path = /obj/item/circuitboard/message_monitor sort_string = "HAACC" /datum/design/circuit/aiupload name = "AI upload console" id = "aiupload" req_tech = list(TECH_DATA = 4) - build_path = /obj/item/weapon/circuitboard/aiupload + build_path = /obj/item/circuitboard/aiupload sort_string = "HAABA" /datum/design/circuit/borgupload name = "cyborg upload console" id = "borgupload" req_tech = list(TECH_DATA = 4) - build_path = /obj/item/weapon/circuitboard/borgupload + build_path = /obj/item/circuitboard/borgupload sort_string = "HAABB" /datum/design/circuit/destructive_analyzer name = "destructive analyzer" id = "destructive_analyzer" req_tech = list(TECH_DATA = 2, TECH_MAGNET = 2, TECH_ENGINEERING = 2) - build_path = /obj/item/weapon/circuitboard/destructive_analyzer + build_path = /obj/item/circuitboard/destructive_analyzer sort_string = "HABAA" /datum/design/circuit/protolathe name = "protolathe" id = "protolathe" req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2) - build_path = /obj/item/weapon/circuitboard/protolathe + build_path = /obj/item/circuitboard/protolathe sort_string = "HABAB" /datum/design/circuit/circuit_imprinter name = "circuit imprinter" id = "circuit_imprinter" req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2) - build_path = /obj/item/weapon/circuitboard/circuit_imprinter + build_path = /obj/item/circuitboard/circuit_imprinter sort_string = "HABAC" /datum/design/circuit/autolathe name = "autolathe board" id = "autolathe" req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2) - build_path = /obj/item/weapon/circuitboard/autolathe + build_path = /obj/item/circuitboard/autolathe sort_string = "HABAD" /datum/design/circuit/rdservercontrol name = "R&D server control console" id = "rdservercontrol" req_tech = list(TECH_DATA = 3) - build_path = /obj/item/weapon/circuitboard/rdservercontrol + build_path = /obj/item/circuitboard/rdservercontrol sort_string = "HABBA" /datum/design/circuit/rdserver name = "R&D server" id = "rdserver" req_tech = list(TECH_DATA = 3) - build_path = /obj/item/weapon/circuitboard/rdserver + build_path = /obj/item/circuitboard/rdserver sort_string = "HABBB" /datum/design/circuit/mechfab name = "exosuit fabricator" id = "mechfab" req_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 3) - build_path = /obj/item/weapon/circuitboard/mechfab + build_path = /obj/item/circuitboard/mechfab sort_string = "HABAE" /datum/design/circuit/prosfab name = "prosthetics fabricator" id = "prosfab" req_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 3) - build_path = /obj/item/weapon/circuitboard/prosthetics + build_path = /obj/item/circuitboard/prosthetics sort_string = "HABAF" /datum/design/circuit/mech_recharger name = "mech recharger" id = "mech_recharger" req_tech = list(TECH_DATA = 2, TECH_POWER = 2, TECH_ENGINEERING = 2) - build_path = /obj/item/weapon/circuitboard/mech_recharger + build_path = /obj/item/circuitboard/mech_recharger sort_string = "HACAA" /datum/design/circuit/recharge_station name = "cyborg recharge station" id = "recharge_station" req_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 2) - build_path = /obj/item/weapon/circuitboard/recharge_station + build_path = /obj/item/circuitboard/recharge_station sort_string = "HACAC" /datum/design/circuit/atmosalerts name = "atmosphere alert console" id = "atmosalerts" - build_path = /obj/item/weapon/circuitboard/atmos_alert + build_path = /obj/item/circuitboard/atmos_alert sort_string = "JAAAA" /datum/design/circuit/air_management name = "atmosphere monitoring console" id = "air_management" - build_path = /obj/item/weapon/circuitboard/air_management + build_path = /obj/item/circuitboard/air_management sort_string = "JAAAB" /datum/design/circuit/rcon_console name = "RCON remote control console" id = "rcon_console" req_tech = list(TECH_DATA = 4, TECH_ENGINEERING = 3, TECH_POWER = 5) - build_path = /obj/item/weapon/circuitboard/rcon_console + build_path = /obj/item/circuitboard/rcon_console sort_string = "JAAAC" /datum/design/circuit/dronecontrol name = "drone control console" id = "dronecontrol" req_tech = list(TECH_DATA = 4) - build_path = /obj/item/weapon/circuitboard/drone_control + build_path = /obj/item/circuitboard/drone_control sort_string = "JAAAD" /datum/design/circuit/powermonitor name = "power monitoring console" id = "powermonitor" - build_path = /obj/item/weapon/circuitboard/powermonitor + build_path = /obj/item/circuitboard/powermonitor sort_string = "JAAAE" /datum/design/circuit/solarcontrol name = "solar control console" id = "solarcontrol" - build_path = /obj/item/weapon/circuitboard/solar_control + build_path = /obj/item/circuitboard/solar_control sort_string = "JAAAF" /datum/design/circuit/shutoff_monitor name = "Automatic shutoff valve monitor" id = "shutoff_monitor" req_tech = list(TECH_DATA = 4, TECH_ENGINEERING = 3) - build_path = /obj/item/weapon/circuitboard/shutoff_monitor + build_path = /obj/item/circuitboard/shutoff_monitor sort_string = "JAAAG" /datum/design/circuit/pacman name = "PACMAN-type generator" id = "pacman" req_tech = list(TECH_DATA = 3, TECH_PHORON = 3, TECH_POWER = 3, TECH_ENGINEERING = 3) - build_path = /obj/item/weapon/circuitboard/pacman + build_path = /obj/item/circuitboard/pacman sort_string = "JBAAA" /datum/design/circuit/superpacman name = "SUPERPACMAN-type generator" id = "superpacman" req_tech = list(TECH_DATA = 3, TECH_POWER = 4, TECH_ENGINEERING = 4) - build_path = /obj/item/weapon/circuitboard/pacman/super + build_path = /obj/item/circuitboard/pacman/super sort_string = "JBAAB" /datum/design/circuit/mrspacman name = "MRSPACMAN-type generator" id = "mrspacman" req_tech = list(TECH_DATA = 3, TECH_POWER = 5, TECH_ENGINEERING = 5) - build_path = /obj/item/weapon/circuitboard/pacman/mrs + build_path = /obj/item/circuitboard/pacman/mrs sort_string = "JBAAC" /datum/design/circuit/batteryrack name = "cell rack PSU" id = "batteryrack" req_tech = list(TECH_POWER = 3, TECH_ENGINEERING = 2) - build_path = /obj/item/weapon/circuitboard/batteryrack + build_path = /obj/item/circuitboard/batteryrack sort_string = "JBABA" /datum/design/circuit/smes_cell @@ -341,7 +348,7 @@ CIRCUITS BELOW desc = "Allows for the construction of circuit boards used to build a SMES." id = "smes_cell" req_tech = list(TECH_POWER = 7, TECH_ENGINEERING = 5) - build_path = /obj/item/weapon/circuitboard/smes + build_path = /obj/item/circuitboard/smes sort_string = "JBABB" /datum/design/circuit/grid_checker @@ -349,7 +356,7 @@ CIRCUITS BELOW desc = "Allows for the construction of circuit boards used to build a grid checker." id = "grid_checker" req_tech = list(TECH_POWER = 4, TECH_ENGINEERING = 3) - build_path = /obj/item/weapon/circuitboard/grid_checker + build_path = /obj/item/circuitboard/grid_checker sort_string = "JBABC" /datum/design/circuit/breakerbox @@ -357,21 +364,21 @@ CIRCUITS BELOW desc = "Allows for the construction of circuit boards used to build a breaker box." id = "breakerbox" req_tech = list(TECH_POWER = 3, TECH_ENGINEERING = 3) - build_path = /obj/item/weapon/circuitboard/breakerbox + build_path = /obj/item/circuitboard/breakerbox sort_string = "JBABD" /datum/design/circuit/gas_heater name = "gas heating system" id = "gasheater" req_tech = list(TECH_POWER = 2, TECH_ENGINEERING = 1) - build_path = /obj/item/weapon/circuitboard/unary_atmos/heater + build_path = /obj/item/circuitboard/unary_atmos/heater sort_string = "JCAAA" /datum/design/circuit/gas_cooler name = "gas cooling system" id = "gascooler" req_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2) - build_path = /obj/item/weapon/circuitboard/unary_atmos/cooler + build_path = /obj/item/circuitboard/unary_atmos/cooler sort_string = "JCAAB" /datum/design/circuit/secure_airlock @@ -379,73 +386,73 @@ CIRCUITS BELOW desc = "Allows for the construction of a tamper-resistant airlock electronics." id = "securedoor" req_tech = list(TECH_DATA = 3) - build_path = /obj/item/weapon/airlock_electronics/secure + build_path = /obj/item/airlock_electronics/secure sort_string = "JDAAA" /datum/design/circuit/ordercomp name = "supply ordering console" id = "ordercomp" - build_path = /obj/item/weapon/circuitboard/supplycomp + build_path = /obj/item/circuitboard/supplycomp sort_string = "KAAAY" // Duplicate string, really need to redo this whole thing /datum/design/circuit/supplycomp name = "supply control console" id = "supplycomp" req_tech = list(TECH_DATA = 3) - build_path = /obj/item/weapon/circuitboard/supplycomp/control + build_path = /obj/item/circuitboard/supplycomp/control sort_string = "KAAAZ" // Duplicate string, really need to redo this whole thing /datum/design/circuit/biogenerator name = "biogenerator" id = "biogenerator" req_tech = list(TECH_DATA = 2) - build_path = /obj/item/weapon/circuitboard/biogenerator + build_path = /obj/item/circuitboard/biogenerator sort_string = "KBAAA" /datum/design/circuit/miningdrill name = "mining drill head" id = "mining drill head" req_tech = list(TECH_DATA = 1, TECH_ENGINEERING = 1) - build_path = /obj/item/weapon/circuitboard/miningdrill + build_path = /obj/item/circuitboard/miningdrill sort_string = "KCAAA" /datum/design/circuit/miningdrillbrace name = "mining drill brace" id = "mining drill brace" req_tech = list(TECH_DATA = 1, TECH_ENGINEERING = 1) - build_path = /obj/item/weapon/circuitboard/miningdrillbrace + build_path = /obj/item/circuitboard/miningdrillbrace sort_string = "KCAAB" /datum/design/circuit/comconsole name = "communications console" id = "comconsole" - build_path = /obj/item/weapon/circuitboard/communications + build_path = /obj/item/circuitboard/communications sort_string = "LAAAA" /datum/design/circuit/idcardconsole name = "ID card modification console" id = "idcardconsole" - build_path = /obj/item/weapon/circuitboard/card + build_path = /obj/item/circuitboard/card sort_string = "LAAAB" /datum/design/circuit/emp_data name = "employment records console" id = "emp_data" - build_path = /obj/item/weapon/circuitboard/skills + build_path = /obj/item/circuitboard/skills sort_string = "LAAAC" /datum/design/circuit/arf_generator name = "atmospheric field generator" id = "arf_generator" req_tech = list(TECH_MAGNET = 4, TECH_POWER = 4, TECH_BIO = 3) - build_path = /obj/item/weapon/circuitboard/arf_generator + build_path = /obj/item/circuitboard/arf_generator sort_string = "LAAAD" /datum/design/circuit/protean_reconstitutor name = "protean reconstitutor" id = "protean_recon" req_tech = list(TECH_MAGNET = 5, TECH_BLUESPACE = 5, TECH_MATERIAL = 5, TECH_ENGINEERING = 5, TECH_DATA = 5) - build_path = /obj/item/weapon/circuitboard/protean_reconstitutor + build_path = /obj/item/circuitboard/protean_reconstitutor sort_string = "LAAAE" /datum/design/circuit/mecha @@ -459,55 +466,55 @@ CIRCUITS BELOW /datum/design/circuit/mecha/ripley_main name = "APLU 'Ripley' central control" id = "ripley_main" - build_path = /obj/item/weapon/circuitboard/mecha/ripley/main + build_path = /obj/item/circuitboard/mecha/ripley/main sort_string = "NAAAA" /datum/design/circuit/mecha/ripley_peri name = "APLU 'Ripley' peripherals control" id = "ripley_peri" - build_path = /obj/item/weapon/circuitboard/mecha/ripley/peripherals + build_path = /obj/item/circuitboard/mecha/ripley/peripherals sort_string = "NAAAB" /datum/design/circuit/mecha/odysseus_main name = "'Odysseus' central control" id = "odysseus_main" req_tech = list(TECH_DATA = 3,TECH_BIO = 2) - build_path = /obj/item/weapon/circuitboard/mecha/odysseus/main + build_path = /obj/item/circuitboard/mecha/odysseus/main sort_string = "NAABA" /datum/design/circuit/mecha/odysseus_peri name = "'Odysseus' peripherals control" id = "odysseus_peri" req_tech = list(TECH_DATA = 3,TECH_BIO = 2) - build_path = /obj/item/weapon/circuitboard/mecha/odysseus/peripherals + build_path = /obj/item/circuitboard/mecha/odysseus/peripherals sort_string = "NAABB" /datum/design/circuit/mecha/gygax_main name = "'Gygax' central control" id = "gygax_main" req_tech = list(TECH_DATA = 4) - build_path = /obj/item/weapon/circuitboard/mecha/gygax/main + build_path = /obj/item/circuitboard/mecha/gygax/main sort_string = "NAACA" /datum/design/circuit/mecha/gygax_peri name = "'Gygax' peripherals control" id = "gygax_peri" req_tech = list(TECH_DATA = 4) - build_path = /obj/item/weapon/circuitboard/mecha/gygax/peripherals + build_path = /obj/item/circuitboard/mecha/gygax/peripherals sort_string = "NAACB" /datum/design/circuit/mecha/gygax_targ name = "'Gygax' weapon control and targeting" id = "gygax_targ" req_tech = list(TECH_DATA = 4, TECH_COMBAT = 2) - build_path = /obj/item/weapon/circuitboard/mecha/gygax/targeting + build_path = /obj/item/circuitboard/mecha/gygax/targeting sort_string = "NAACC" /datum/design/circuit/mecha/gygax_medical name = "'Serenity' medical control" id = "gygax_medical" req_tech = list(TECH_DATA = 4, TECH_BIO = 2) - build_path = /obj/item/weapon/circuitboard/mecha/gygax/medical + build_path = /obj/item/circuitboard/mecha/gygax/medical sort_string = "NAACD" /datum/design/circuit/mecha/durand_main @@ -516,7 +523,7 @@ CIRCUITS BELOW req_tech = list(TECH_DATA = 4) materials = list(MAT_GLASS = 2000, MAT_GRAPHITE = 1250) chemicals = list("sacid" = 20) - build_path = /obj/item/weapon/circuitboard/mecha/durand/main + build_path = /obj/item/circuitboard/mecha/durand/main sort_string = "NAADA" /datum/design/circuit/mecha/durand_peri @@ -525,7 +532,7 @@ CIRCUITS BELOW req_tech = list(TECH_DATA = 4) materials = list(MAT_GLASS = 2000, MAT_GRAPHITE = 1250) chemicals = list("sacid" = 20) - build_path = /obj/item/weapon/circuitboard/mecha/durand/peripherals + build_path = /obj/item/circuitboard/mecha/durand/peripherals sort_string = "NAADB" /datum/design/circuit/mecha/durand_targ @@ -534,7 +541,7 @@ CIRCUITS BELOW req_tech = list(TECH_DATA = 4, TECH_COMBAT = 2) materials = list(MAT_GLASS = 2000, MAT_GRAPHITE = 1250) chemicals = list("sacid" = 20) - build_path = /obj/item/weapon/circuitboard/mecha/durand/targeting + build_path = /obj/item/circuitboard/mecha/durand/targeting sort_string = "NAADC" /datum/design/circuit/tcom @@ -548,53 +555,53 @@ CIRCUITS BELOW /datum/design/circuit/tcom/server name = "server mainframe" id = "tcom-server" - build_path = /obj/item/weapon/circuitboard/telecomms/server + build_path = /obj/item/circuitboard/telecomms/server sort_string = "PAAAA" /datum/design/circuit/tcom/processor name = "processor unit" id = "tcom-processor" - build_path = /obj/item/weapon/circuitboard/telecomms/processor + build_path = /obj/item/circuitboard/telecomms/processor sort_string = "PAAAB" /datum/design/circuit/tcom/bus name = "bus mainframe" id = "tcom-bus" - build_path = /obj/item/weapon/circuitboard/telecomms/bus + build_path = /obj/item/circuitboard/telecomms/bus sort_string = "PAAAC" /datum/design/circuit/tcom/hub name = "hub mainframe" id = "tcom-hub" - build_path = /obj/item/weapon/circuitboard/telecomms/hub + build_path = /obj/item/circuitboard/telecomms/hub sort_string = "PAAAD" /datum/design/circuit/tcom/relay name = "relay mainframe" id = "tcom-relay" req_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 4, TECH_BLUESPACE = 3) - build_path = /obj/item/weapon/circuitboard/telecomms/relay + build_path = /obj/item/circuitboard/telecomms/relay sort_string = "PAAAE" /datum/design/circuit/tcom/broadcaster name = "subspace broadcaster" id = "tcom-broadcaster" req_tech = list(TECH_DATA = 4, TECH_ENGINEERING = 4, TECH_BLUESPACE = 2) - build_path = /obj/item/weapon/circuitboard/telecomms/broadcaster + build_path = /obj/item/circuitboard/telecomms/broadcaster sort_string = "PAAAF" /datum/design/circuit/tcom/receiver name = "subspace receiver" id = "tcom-receiver" req_tech = list(TECH_DATA = 4, TECH_ENGINEERING = 3, TECH_BLUESPACE = 2) - build_path = /obj/item/weapon/circuitboard/telecomms/receiver + build_path = /obj/item/circuitboard/telecomms/receiver sort_string = "PAAAG" /datum/design/circuit/tcom/exonet_node name = "exonet node" id = "tcom-exonet_node" req_tech = list(TECH_DATA = 5, TECH_ENGINEERING = 5, TECH_BLUESPACE = 4) - build_path = /obj/item/weapon/circuitboard/telecomms/exonet_node + build_path = /obj/item/circuitboard/telecomms/exonet_node sort_string = "PAAAH" /datum/design/circuit/shield @@ -610,13 +617,13 @@ CIRCUITS BELOW /datum/design/circuit/shield/bubble name = "bubble (OBSOLETE)" //VOREStation Edit id = "shield_gen" - build_path = /obj/item/weapon/circuitboard/shield_gen + build_path = /obj/item/circuitboard/shield_gen sort_string = "VAAAZ" // Duplicate string, really need to redo this whole thing /datum/design/circuit/shield/hull name = "hull (OBSOLETE)" //VOREStation Edit id = "shield_gen_ex" - build_path = /obj/item/weapon/circuitboard/shield_gen_ex + build_path = /obj/item/circuitboard/shield_gen_ex sort_string = "VAAAB" /datum/design/circuit/shield/capacitor @@ -624,63 +631,63 @@ CIRCUITS BELOW desc = "Allows for the construction of a shield capacitor circuit board." id = "shield_cap" req_tech = list(TECH_MAGNET = 3, TECH_POWER = 4) - build_path = /obj/item/weapon/circuitboard/shield_cap + build_path = /obj/item/circuitboard/shield_cap sort_string = "VAAAC" /datum/design/circuit/ntnet_relay name = "NTNet Quantum Relay" id = "ntnet_relay" req_tech = list(TECH_DATA = 4) - build_path = /obj/item/weapon/circuitboard/ntnet_relay + build_path = /obj/item/circuitboard/ntnet_relay sort_string = "WAAAA" /datum/design/circuit/aicore name = "AI core" id = "aicore" req_tech = list(TECH_DATA = 4, TECH_BIO = 3) - build_path = /obj/item/weapon/circuitboard/aicore + build_path = /obj/item/circuitboard/aicore sort_string = "XAAAA" // Cooking Appliances /datum/design/circuit/microwave name = "microwave board" id = "microwave_board" req_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2) - build_path = /obj/item/weapon/circuitboard/microwave + build_path = /obj/item/circuitboard/microwave sort_string = "HACAM" /datum/design/circuit/oven name = "oven board" id = "oven_board" req_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2) - build_path = /obj/item/weapon/circuitboard/oven + build_path = /obj/item/circuitboard/oven sort_string = "HACAN" /datum/design/circuit/fryer name = "deep fryer board" id = "fryer_board" req_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2) - build_path = /obj/item/weapon/circuitboard/fryer + build_path = /obj/item/circuitboard/fryer sort_string = "HACAO" /datum/design/circuit/cerealmaker name = "cereal maker board" id = "cerealmaker_board" req_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2) - build_path = /obj/item/weapon/circuitboard/cerealmaker + build_path = /obj/item/circuitboard/cerealmaker sort_string = "HACAP" /datum/design/circuit/candymaker name = "candy machine board" id = "candymachine_board" req_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2) - build_path = /obj/item/weapon/circuitboard/candymachine + build_path = /obj/item/circuitboard/candymachine sort_string = "HACAQ" /datum/design/circuit/microwave/advanced name = "deluxe microwave" id = "deluxe microwave" req_tech = list(TECH_DATA = 5, TECH_ENGINEERING = 5, TECH_BLUESPACE = 4) - build_path = /obj/item/weapon/circuitboard/microwave/advanced + build_path = /obj/item/circuitboard/microwave/advanced sort_string = "HACAA" @@ -688,47 +695,47 @@ CIRCUITS BELOW name = "shield generator" id = "shield_generator" req_tech = list(TECH_MAGNET = 3, TECH_POWER = 4, TECH_BLUESPACE = 2, TECH_ENGINEERING = 3) - build_path = /obj/item/weapon/circuitboard/shield_generator + build_path = /obj/item/circuitboard/shield_generator sort_string = "OAAAA" /datum/design/circuit/shield_diffuser name = "shield diffuser" id = "shield_diffuser" req_tech = list(TECH_MAGNET = 4, TECH_POWER = 2, TECH_ENGINEERING = 5) - build_path = /obj/item/weapon/circuitboard/shield_diffuser + build_path = /obj/item/circuitboard/shield_diffuser sort_string = "OAAAB" /datum/design/circuit/pointdefense name = "point defense battery" id = "pointdefense" req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 3, TECH_COMBAT = 4) - build_path = /obj/item/weapon/circuitboard/pointdefense + build_path = /obj/item/circuitboard/pointdefense sort_string = "OAABA" /datum/design/circuit/pointdefense_control name = "point defense control" id = "pointdefense_control" req_tech = list(TECH_DATA = 4, TECH_ENGINEERING = 3, TECH_COMBAT = 2) - build_path = /obj/item/weapon/circuitboard/pointdefense_control + build_path = /obj/item/circuitboard/pointdefense_control sort_string = "OAABB" /datum/design/circuit/recycler_crusher name = "recycler - crusher" id = "recycler_crusher" req_tech = list(TECH_MATERIAL = 2) - build_path = /obj/item/weapon/circuitboard/recycler_crusher + build_path = /obj/item/circuitboard/recycler_crusher sort_string = "OAABC" /datum/design/circuit/recycler_sorter name = "recycler - sorter" id = "recycler_sorter" req_tech = list(TECH_MATERIAL = 2) - build_path = /obj/item/weapon/circuitboard/recycler_sorter + build_path = /obj/item/circuitboard/recycler_sorter sort_string = "OAABD" /datum/design/circuit/recycler_stamper name = "recycler - stamper" id = "recycler_stamper" req_tech = list(TECH_MATERIAL = 2) - build_path = /obj/item/weapon/circuitboard/recycler_stamper + build_path = /obj/item/circuitboard/recycler_stamper sort_string = "OAABE" diff --git a/code/modules/research/designs/circuits/circuits_vr.dm b/code/modules/research/designs/circuits/circuits_vr.dm index 43fba27e7fb..3ab3e2ffd0a 100644 --- a/code/modules/research/designs/circuits/circuits_vr.dm +++ b/code/modules/research/designs/circuits/circuits_vr.dm @@ -2,104 +2,104 @@ name = "Algae Oxygen Generator" id = "algae_farm" req_tech = list(TECH_ENGINEERING = 3, TECH_BIO = 2) - build_path = /obj/item/weapon/circuitboard/algae_farm + build_path = /obj/item/circuitboard/algae_farm sort_string = "HABAE" /datum/design/circuit/thermoregulator name = "thermal regulator" id = "thermoregulator" req_tech = list(TECH_ENGINEERING = 4, TECH_POWER = 3) - build_path = /obj/item/weapon/circuitboard/thermoregulator + build_path = /obj/item/circuitboard/thermoregulator sort_string = "HABAF" /datum/design/circuit/bomb_tester name = "Explosive Effect Simulator" id = "bomb_tester" req_tech = list(TECH_PHORON = 3, TECH_DATA = 2, TECH_MAGNET = 2) - build_path = /obj/item/weapon/circuitboard/bomb_tester + build_path = /obj/item/circuitboard/bomb_tester sort_string = "HABAG" /datum/design/circuit/quantum_pad name = "Quantum Pad" id = "quantum_pad" req_tech = list(TECH_ENGINEERING = 4, TECH_POWER = 4, TECH_BLUESPACE = 4) - build_path = /obj/item/weapon/circuitboard/quantumpad + build_path = /obj/item/circuitboard/quantumpad sort_string = "HABAH" //////Micro mech stuff /datum/design/circuit/mecha/gopher_main name = "'Gopher' central control" id = "gopher_main" - build_path = /obj/item/weapon/circuitboard/mecha/gopher/main + build_path = /obj/item/circuitboard/mecha/gopher/main sort_string = "NAAEA" /datum/design/circuit/mecha/gopher_peri name = "'Gopher' peripherals control" id = "gopher_peri" - build_path = /obj/item/weapon/circuitboard/mecha/gopher/peripherals + build_path = /obj/item/circuitboard/mecha/gopher/peripherals sort_string = "NAAEB" /datum/design/circuit/mecha/polecat_main name = "'Polecat' central control" id = "polecat_main" req_tech = list(TECH_DATA = 4) - build_path = /obj/item/weapon/circuitboard/mecha/polecat/main + build_path = /obj/item/circuitboard/mecha/polecat/main sort_string = "NAAFA" /datum/design/circuit/mecha/polecat_peri name = "'Polecat' peripherals control" id = "polecat_peri" req_tech = list(TECH_DATA = 4) - build_path = /obj/item/weapon/circuitboard/mecha/polecat/peripherals + build_path = /obj/item/circuitboard/mecha/polecat/peripherals sort_string = "NAAFB" /datum/design/circuit/mecha/polecat_targ name = "'Polecat' weapon control and targeting" id = "polecat_targ" req_tech = list(TECH_DATA = 4, TECH_COMBAT = 2) - build_path = /obj/item/weapon/circuitboard/mecha/polecat/targeting + build_path = /obj/item/circuitboard/mecha/polecat/targeting sort_string = "NAAFC" /datum/design/circuit/mecha/weasel_main name = "'Weasel' central control" id = "weasel_main" req_tech = list(TECH_DATA = 4) - build_path = /obj/item/weapon/circuitboard/mecha/weasel/main + build_path = /obj/item/circuitboard/mecha/weasel/main sort_string = "NAAGA" /datum/design/circuit/mecha/weasel_peri name = "'Weasel' peripherals control" id = "weasel_peri" req_tech = list(TECH_DATA = 4) - build_path = /obj/item/weapon/circuitboard/mecha/weasel/peripherals + build_path = /obj/item/circuitboard/mecha/weasel/peripherals sort_string = "NAAGB" /datum/design/circuit/mecha/weasel_targ name = "'Weasel' weapon control and targeting" id = "weasel_targ" req_tech = list(TECH_DATA = 4, TECH_COMBAT = 2) - build_path = /obj/item/weapon/circuitboard/mecha/weasel/targeting + build_path = /obj/item/circuitboard/mecha/weasel/targeting sort_string = "NAAGC" /datum/design/circuit/transhuman_clonepod name = "grower pod" id = "transhuman_clonepod" req_tech = list(TECH_DATA = 3, TECH_BIO = 3) - build_path = /obj/item/weapon/circuitboard/transhuman_clonepod + build_path = /obj/item/circuitboard/transhuman_clonepod sort_string = "HAADA" /datum/design/circuit/transhuman_synthprinter name = "SynthFab 3000" id = "transhuman_synthprinter" req_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 3) - build_path = /obj/item/weapon/circuitboard/transhuman_synthprinter + build_path = /obj/item/circuitboard/transhuman_synthprinter sort_string = "HAADB" /datum/design/circuit/transhuman_resleever name = "Resleeving pod" id = "transhuman_resleever" req_tech = list(TECH_ENGINEERING = 4, TECH_BIO = 4) - build_path = /obj/item/weapon/circuitboard/transhuman_resleever + build_path = /obj/item/circuitboard/transhuman_resleever sort_string = "HAADC" // Resleeving @@ -108,21 +108,21 @@ name = "Resleeving control console" id = "resleeving_control" req_tech = list(TECH_DATA = 5) - build_path = /obj/item/weapon/circuitboard/resleeving_control + build_path = /obj/item/circuitboard/resleeving_control sort_string = "HAADE" /datum/design/circuit/body_designer name = "Body design console" id = "body_designer" req_tech = list(TECH_DATA = 5) - build_path = /obj/item/weapon/circuitboard/body_designer + build_path = /obj/item/circuitboard/body_designer sort_string = "HAADF" /datum/design/circuit/partslathe name = "Parts lathe" id = "partslathe" req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2) - build_path = /obj/item/weapon/circuitboard/partslathe + build_path = /obj/item/circuitboard/partslathe sort_string = "HABAD" // Telesci stuff @@ -131,61 +131,61 @@ name = "Telepad Control Console" id = "telesci_console" req_tech = list(TECH_DATA = 3, TECH_BLUESPACE = 3, TECH_PHORON = 4) - build_path = /obj/item/weapon/circuitboard/telesci_console + build_path = /obj/item/circuitboard/telesci_console sort_string = "HAAEA" /datum/design/circuit/telesci_pad name = "Telepad" id = "telesci_pad" req_tech = list(TECH_DATA = 4, TECH_ENGINEERING = 4, TECH_PHORON = 4, TECH_BLUESPACE = 5) - build_path = /obj/item/weapon/circuitboard/telesci_pad + build_path = /obj/item/circuitboard/telesci_pad sort_string = "HAAEB" /datum/design/circuit/quantum_pad name = "Quantum Pad" id = "quantum_pad" req_tech = list(TECH_DATA = 4, TECH_ENGINEERING = 4, TECH_PHORON = 4, TECH_BLUESPACE = 5) - build_path = /obj/item/weapon/circuitboard/quantumpad + build_path = /obj/item/circuitboard/quantumpad sort_string = "HAAC" /datum/design/circuit/rtg name = "radioisotope TEG" id = "rtg" req_tech = list(TECH_DATA = 3, TECH_POWER = 3, TECH_PHORON = 3, TECH_ENGINEERING = 3) - build_path = /obj/item/weapon/circuitboard/machine/rtg + build_path = /obj/item/circuitboard/machine/rtg sort_string = "HAAD" /datum/design/circuit/rtg_advanced name = "advanced radioisotope TEG" id = "adv_rtg" req_tech = list(TECH_DATA = 5, TECH_POWER = 5, TECH_PHORON = 5, TECH_ENGINEERING = 5) - build_path = /obj/item/weapon/circuitboard/machine/rtg/advanced + build_path = /obj/item/circuitboard/machine/rtg/advanced sort_string = "HAAE" /datum/design/circuit/rtg name = "vitals monitor" id = "vitals" req_tech = list(TECH_DATA = 3, TECH_BIO = 4, TECH_ENGINEERING = 2) - build_path = /obj/item/weapon/circuitboard/machine/vitals_monitor + build_path = /obj/item/circuitboard/machine/vitals_monitor sort_string = "HAAF" /datum/design/circuit/firework_launcher name = "firework launcher" id = "fireworklauncher" req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2) - build_path = /obj/item/weapon/circuitboard/firework_launcher + build_path = /obj/item/circuitboard/firework_launcher sort_string = "KBAAB" /datum/design/circuit/pointdefense name = "point defense battery" id = "pointdefense" req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 3, TECH_COMBAT = 4) - build_path = /obj/item/weapon/circuitboard/pointdefense + build_path = /obj/item/circuitboard/pointdefense sort_string = "OAABA" /datum/design/circuit/pointdefense_control name = "point defense control" id = "pointdefense_control" req_tech = list(TECH_DATA = 4, TECH_ENGINEERING = 3, TECH_COMBAT = 2) - build_path = /obj/item/weapon/circuitboard/pointdefense_control + build_path = /obj/item/circuitboard/pointdefense_control sort_string = "OAABB" diff --git a/code/modules/research/designs/circuits/circuits_yw.dm b/code/modules/research/designs/circuits/circuits_yw.dm index 4d1756d24f7..7adab994d8f 100644 --- a/code/modules/research/designs/circuits/circuits_yw.dm +++ b/code/modules/research/designs/circuits/circuits_yw.dm @@ -2,12 +2,12 @@ name = "teleporter hub" id = "teleporter_hub" req_tech = list(TECH_DATA = 3, TECH_BLUESPACE = 2) - build_path = /obj/item/weapon/circuitboard/teleporter_hub + build_path = /obj/item/circuitboard/teleporter_hub sort_string = "HAAAA" /datum/design/circuit/teleporter_station name = "teleporter station" id = "teleporter_station" req_tech = list(TECH_DATA = 3, TECH_BLUESPACE = 2) - build_path = /obj/item/weapon/circuitboard/teleporter_station - sort_string = "HAAAA" \ No newline at end of file + build_path = /obj/item/circuitboard/teleporter_station + sort_string = "HAAAA" diff --git a/code/modules/research/designs/circuits/disks.dm b/code/modules/research/designs/circuits/disks.dm index 2a3c2df83f7..a386479cb91 100644 --- a/code/modules/research/designs/circuits/disks.dm +++ b/code/modules/research/designs/circuits/disks.dm @@ -9,10 +9,10 @@ /datum/design/circuit/disk/AssembleDesignName() ..() if(build_path) - var/obj/item/weapon/disk/D = build_path - if(istype(D, /obj/item/weapon/disk/species)) + var/obj/item/disk/D = build_path + if(istype(D, /obj/item/disk/species)) name = "Species Prosthetic design ([item_name])" - else if(istype(D, /obj/item/weapon/disk/limb)) + else if(istype(D, /obj/item/disk/limb)) name = "Transtellar Prosthetic design ([item_name])" else name = "Disk design ([item_name])" @@ -21,26 +21,26 @@ name = SPECIES_SKRELL id = "prosthetic_skrell" req_tech = list(TECH_DATA = 3, TECH_BIO = 3) - build_path = /obj/item/weapon/disk/species/skrell + build_path = /obj/item/disk/species/skrell sort_string = "DBAAA" /datum/design/circuit/disk/tajprint name = SPECIES_TAJ id = "prosthetic_tajaran" req_tech = list(TECH_DATA = 3, TECH_BIO = 3) - build_path = /obj/item/weapon/disk/species/tajaran + build_path = /obj/item/disk/species/tajaran sort_string = "DBAAB" /datum/design/circuit/disk/unathiprint name = SPECIES_UNATHI id = "prosthetic_unathi" req_tech = list(TECH_DATA = 3, TECH_BIO = 4) - build_path = /obj/item/weapon/disk/species/unathi + build_path = /obj/item/disk/species/unathi sort_string = "DBAAC" /datum/design/circuit/disk/teshariprint name = SPECIES_TESHARI id = "prosthetic_teshari" req_tech = list(TECH_DATA = 3, TECH_BIO = 4) - build_path = /obj/item/weapon/disk/species/teshari + build_path = /obj/item/disk/species/teshari sort_string = "DBAAD" diff --git a/code/modules/research/designs/engineering.dm b/code/modules/research/designs/engineering.dm index b67a3343101..0e174d1978b 100644 --- a/code/modules/research/designs/engineering.dm +++ b/code/modules/research/designs/engineering.dm @@ -10,7 +10,7 @@ id = "expwelder" req_tech = list(TECH_ENGINEERING = 4, TECH_PHORON = 3, TECH_MATERIAL = 4) materials = list(MAT_STEEL = 70, MAT_GLASS = 120, MAT_PHORON = 100) - build_path = /obj/item/weapon/weldingtool/experimental + build_path = /obj/item/weldingtool/experimental sort_string = "NAAAA" /datum/design/item/tool/hand_drill @@ -19,7 +19,7 @@ id = "handdrill" req_tech = list(TECH_ENGINEERING = 3, TECH_MATERIAL = 2) materials = list(MAT_STEEL = 300, MAT_SILVER = 100) - build_path = /obj/item/weapon/tool/transforming/powerdrill + build_path = /obj/item/tool/transforming/powerdrill sort_string = "NAAAB" /datum/design/item/tool/jaws_life @@ -28,7 +28,7 @@ id = "jawslife" req_tech = list(TECH_ENGINEERING = 3, TECH_MATERIAL = 2) materials = list(MAT_STEEL = 300, MAT_SILVER = 100) - build_path = /obj/item/weapon/tool/transforming/jawsoflife + build_path = /obj/item/tool/transforming/jawsoflife sort_string = "NAAAC" // YW addition begins /datum/design/item/tool/rms @@ -37,7 +37,7 @@ id = "RMS" req_tech = list(TECH_ENGINEERING = 4, TECH_MATERIAL = 3, TECH_BLUESPACE = 3) materials = list(MAT_STEEL = 500, MAT_GLASS = 500, MAT_GOLD = 300, MAT_PHORON = 300, MAT_DIAMOND = 500) //Probably change the price in the future just put something for now - build_path = /obj/item/weapon/rms + build_path = /obj/item/rms sort_string = "NAAAB" // YW addition end @@ -47,7 +47,7 @@ id = "rapidpipedispenser" req_tech = list(TECH_ENGINEERING = 4, TECH_MATERIAL = 2) materials = list(MAT_STEEL = 4000, MAT_GLASS = 2000) - build_path = /obj/item/weapon/pipe_dispenser + build_path = /obj/item/pipe_dispenser sort_string = "NAAAD" /datum/design/item/tool/qpad_booster @@ -56,7 +56,7 @@ id = "qpad_booster" req_tech = list(TECH_ENGINEERING = 7, TECH_MATERIAL = 7, TECH_BLUESPACE = 6) materials = list(MAT_STEEL = 4000, MAT_GLASS = 2000, MAT_SILVER = 2000, MAT_GOLD = 2000, MAT_VERDANTIUM = 1000) - build_path = /obj/item/device/quantum_pad_booster + build_path = /obj/item/quantum_pad_booster sort_string = "NAAAF" // Other devices @@ -71,7 +71,7 @@ id = "tscanner" req_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2, TECH_MATERIAL = 2) materials = list(MAT_STEEL = 200) - build_path = /obj/item/device/t_scanner + build_path = /obj/item/t_scanner sort_string = "NBAAA" /datum/design/item/engineering/t_scanner_upg @@ -80,7 +80,7 @@ id = "upgradedtscanner" req_tech = list(TECH_MAGNET = 3, TECH_ENGINEERING = 4, TECH_MATERIAL = 2) materials = list(MAT_STEEL = 500, MAT_PHORON = 150) - build_path = /obj/item/device/t_scanner/upgraded + build_path = /obj/item/t_scanner/upgraded sort_string = "NBAAB" /datum/design/item/engineering/t_scanner_adv @@ -89,7 +89,7 @@ id = "advancedtscanner" req_tech = list(TECH_MAGNET = 6, TECH_ENGINEERING = 6, TECH_MATERIAL = 6) materials = list(MAT_STEEL = 1250, MAT_PHORON = 500, MAT_SILVER = 50) - build_path = /obj/item/device/t_scanner/advanced + build_path = /obj/item/t_scanner/advanced sort_string = "NBAAC" /datum/design/item/engineering/atmosanalyzer @@ -98,5 +98,5 @@ id = "atmosanalyzer" req_tech = list(TECH_ENGINEERING = 2) materials = list(MAT_STEEL = 200, MAT_GLASS = 100) - build_path = /obj/item/device/analyzer + build_path = /obj/item/analyzer sort_string = "NBABA" diff --git a/code/modules/research/designs/firework_stars.dm b/code/modules/research/designs/firework_stars.dm index b3653674518..23dee10b941 100644 --- a/code/modules/research/designs/firework_stars.dm +++ b/code/modules/research/designs/firework_stars.dm @@ -9,7 +9,7 @@ id = "fireworkaesthetic" req_tech = list(TECH_MATERIAL = 2) materials = list(MAT_PLASTIC = 500, MAT_GLASS = 500) - build_path = /obj/item/weapon/firework_star/aesthetic + build_path = /obj/item/firework_star/aesthetic sort_string = "IFAAA" /datum/design/item/firework_star/aesthetic_config @@ -18,7 +18,7 @@ id = "fireworkaestheticconfig" req_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 2) materials = list(MAT_PLASTIC = 1000, MAT_GLASS = 1000) - build_path = /obj/item/weapon/firework_star/aesthetic/configurable + build_path = /obj/item/firework_star/aesthetic/configurable sort_string = "IFAAB" /datum/design/item/firework_star/weather_clear @@ -27,7 +27,7 @@ id = "fireworkclearsky" req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3) materials = list(MAT_PLASTIC = 2000, MAT_GLASS = 2000, MAT_STEEL = 4000) - build_path = /obj/item/weapon/firework_star/weather/clear + build_path = /obj/item/firework_star/weather/clear sort_string = "IFABA" /datum/design/item/firework_star/weather_overcast @@ -36,7 +36,7 @@ id = "fireworkcloudy" req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3) materials = list(MAT_PLASTIC = 2000, MAT_GLASS = 2000, MAT_SILVER = 1000) - build_path = /obj/item/weapon/firework_star/weather/overcast + build_path = /obj/item/firework_star/weather/overcast sort_string = "IFABB" /datum/design/item/firework_star/weather_fog @@ -45,7 +45,7 @@ id = "fireworkfog" req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3) materials = list(MAT_PLASTIC = 2000, MAT_GLASS = 2000, MAT_SILVER = 2000) - build_path = /obj/item/weapon/firework_star/weather/fog + build_path = /obj/item/firework_star/weather/fog sort_string = "IFABC" /datum/design/item/firework_star/weather_rain @@ -54,7 +54,7 @@ id = "fireworkrain" req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 4) materials = list(MAT_PLASTIC = 2000, MAT_GLASS = 2000, MAT_SILVER = 4000) - build_path = /obj/item/weapon/firework_star/weather/rain + build_path = /obj/item/firework_star/weather/rain sort_string = "IFABD" /datum/design/item/firework_star/weather_storm @@ -63,7 +63,7 @@ id = "fireworkstorm" req_tech = list(TECH_MATERIAL = 6, TECH_ENGINEERING = 5) materials = list(MAT_PLASTIC = 2000, MAT_GLASS = 2000, MAT_SILVER = 3000, MAT_GOLD = 1000) - build_path = /obj/item/weapon/firework_star/weather/storm + build_path = /obj/item/firework_star/weather/storm sort_string = "IFABE" /datum/design/item/firework_star/weather_light_snow @@ -72,7 +72,7 @@ id = "fireworklightsnow" req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 4) materials = list(MAT_PLASTIC = 2000, MAT_GLASS = 2000, MAT_SILVER = 2000, MAT_LEAD = 2000) - build_path = /obj/item/weapon/firework_star/weather/light_snow + build_path = /obj/item/firework_star/weather/light_snow sort_string = "IFABF" /datum/design/item/firework_star/weather_snow @@ -81,7 +81,7 @@ id = "fireworksnow" req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 4) materials = list(MAT_PLASTIC = 2000, MAT_GLASS = 2000, MAT_SILVER = 3000, MAT_LEAD = 2000) - build_path = /obj/item/weapon/firework_star/weather/snow + build_path = /obj/item/firework_star/weather/snow sort_string = "IFABG" /datum/design/item/firework_star/weather_blizzard @@ -90,7 +90,7 @@ id = "fireworkblizzard" req_tech = list(TECH_MATERIAL = 6, TECH_ENGINEERING = 5) materials = list(MAT_PLASTIC = 2000, MAT_GLASS = 2000, MAT_SILVER = 3000, MAT_LEAD = 3000) - build_path = /obj/item/weapon/firework_star/weather/blizzard + build_path = /obj/item/firework_star/weather/blizzard sort_string = "IFABH" /datum/design/item/firework_star/weather_hail @@ -99,7 +99,7 @@ id = "fireworkhail" req_tech = list(TECH_MATERIAL = 6, TECH_ENGINEERING = 5, TECH_ILLEGAL = 2) materials = list(MAT_PLASTIC = 2000, MAT_GLASS = 2000, MAT_SILVER = 3000, MAT_LEAD = 3000, MAT_PLASTEEL = 4000) - build_path = /obj/item/weapon/firework_star/weather/hail + build_path = /obj/item/firework_star/weather/hail sort_string = "IFABI" /datum/design/item/firework_star/weather_confetti @@ -108,7 +108,7 @@ id = "fireworkconfetti" req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 4) materials = list(MAT_PLASTIC = 10000, MAT_GLASS = 10000) - build_path = /obj/item/weapon/firework_star/weather/confetti + build_path = /obj/item/firework_star/weather/confetti sort_string = "IFABJ" /datum/design/item/firework_star/weather_fallout @@ -117,5 +117,5 @@ id = "fireworkfallout" req_tech = list(TECH_MATERIAL = 8, TECH_ENGINEERING = 6, TECH_ILLEGAL = 7) materials = list(MAT_PLASTIC = 2000, MAT_GLASS = 2000, MAT_URANIUM = 12000) - build_path = /obj/item/weapon/firework_star/weather/fallout + build_path = /obj/item/firework_star/weather/fallout sort_string = "IFABK" diff --git a/code/modules/research/designs/implants.dm b/code/modules/research/designs/implants.dm index 2f9e4cc83de..9e016ba7bf9 100644 --- a/code/modules/research/designs/implants.dm +++ b/code/modules/research/designs/implants.dm @@ -11,12 +11,12 @@ name = "chemical" id = "implant_chem" req_tech = list(TECH_MATERIAL = 2, TECH_BIO = 3) - build_path = /obj/item/weapon/implantcase/chem + build_path = /obj/item/implantcase/chem sort_string = "MFAAA" /datum/design/item/implant/freedom name = "freedom" id = "implant_free" req_tech = list(TECH_ILLEGAL = 2, TECH_BIO = 3) - build_path = /obj/item/weapon/implantcase/freedom + build_path = /obj/item/implantcase/freedom sort_string = "MFAAB" \ No newline at end of file diff --git a/code/modules/research/designs/implants_vr.dm b/code/modules/research/designs/implants_vr.dm index 9812e0f1921..ad33d14eca7 100644 --- a/code/modules/research/designs/implants_vr.dm +++ b/code/modules/research/designs/implants_vr.dm @@ -3,7 +3,7 @@ id = "implant_backup" req_tech = list(TECH_MATERIAL = 2, TECH_BIO = 2, TECH_DATA = 4, TECH_ENGINEERING = 2) materials = list(MAT_STEEL = 2000, MAT_GLASS = 2000) - build_path = /obj/item/weapon/implantcase/backup + build_path = /obj/item/implantcase/backup sort_string = "MFAVA" /datum/design/item/implant/sizecontrol @@ -11,5 +11,5 @@ id = "implant_size" req_tech = list(TECH_MATERIAL = 3, TECH_BIO = 4, TECH_DATA = 4, TECH_ENGINEERING = 3) materials = list(MAT_STEEL = 4000, MAT_GLASS = 4000) - build_path = /obj/item/weapon/implanter/sizecontrol + build_path = /obj/item/implanter/sizecontrol sort_string = "MFAVB" diff --git a/code/modules/research/designs/locator_devices.dm b/code/modules/research/designs/locator_devices.dm index 82a5c81cf39..3db79df49d7 100644 --- a/code/modules/research/designs/locator_devices.dm +++ b/code/modules/research/designs/locator_devices.dm @@ -11,49 +11,49 @@ /datum/design/item/gps/generic name = "GEN" id = "gps_gen" - build_path = /obj/item/device/gps + build_path = /obj/item/gps sort_string = "DAAAA" /datum/design/item/gps/command name = "COM" id = "gps_com" - build_path = /obj/item/device/gps/command + build_path = /obj/item/gps/command sort_string = "DAAAB" /datum/design/item/gps/security name = "SEC" id = "gps_sec" - build_path = /obj/item/device/gps/security + build_path = /obj/item/gps/security sort_string = "DAAAC" /datum/design/item/gps/medical name = "MED" id = "gps_med" - build_path = /obj/item/device/gps/medical + build_path = /obj/item/gps/medical sort_string = "DAAAD" /datum/design/item/gps/engineering name = "ENG" id = "gps_eng" - build_path = /obj/item/device/gps/engineering + build_path = /obj/item/gps/engineering sort_string = "DAAAE" /datum/design/item/gps/science name = "SCI" id = "gps_sci" - build_path = /obj/item/device/gps/science + build_path = /obj/item/gps/science sort_string = "DAAAF" /datum/design/item/gps/mining name = "MINE" id = "gps_mine" - build_path = /obj/item/device/gps/mining + build_path = /obj/item/gps/mining sort_string = "DAAAG" /datum/design/item/gps/explorer name = "EXP" id = "gps_exp" - build_path = /obj/item/device/gps/explorer + build_path = /obj/item/gps/explorer sort_string = "DAAAH" // Other locators @@ -68,7 +68,7 @@ id = "beacon_locator" req_tech = list(TECH_MAGNET = 3, TECH_ENGINEERING = 2, TECH_BLUESPACE = 3) materials = list(MAT_STEEL = 1000,MAT_GLASS = 500) - build_path = /obj/item/device/beacon_locator + build_path = /obj/item/beacon_locator sort_string = "DBAAA" /datum/design/item/locator/beacon @@ -76,5 +76,5 @@ id = "beacon" req_tech = list(TECH_BLUESPACE = 1) materials = list (MAT_STEEL = 20, MAT_GLASS = 10) - build_path = /obj/item/device/radio/beacon + build_path = /obj/item/radio/beacon sort_string = "DBABA" diff --git a/code/modules/research/designs/medical.dm b/code/modules/research/designs/medical.dm index 9a421bb2ea6..b2d7492bde3 100644 --- a/code/modules/research/designs/medical.dm +++ b/code/modules/research/designs/medical.dm @@ -13,7 +13,7 @@ id = "scalpel_laser1" req_tech = list(TECH_BIO = 2, TECH_MATERIAL = 2, TECH_MAGNET = 2) materials = list(MAT_STEEL = 12500, MAT_GLASS = 7500) - build_path = /obj/item/weapon/surgical/scalpel/laser1 + build_path = /obj/item/surgical/scalpel/laser1 sort_string = "KAAAA" /datum/design/item/medical/scalpel_laser2 @@ -22,7 +22,7 @@ id = "scalpel_laser2" req_tech = list(TECH_BIO = 3, TECH_MATERIAL = 4, TECH_MAGNET = 4) materials = list(MAT_STEEL = 12500, MAT_GLASS = 7500, MAT_SILVER = 2500) - build_path = /obj/item/weapon/surgical/scalpel/laser2 + build_path = /obj/item/surgical/scalpel/laser2 sort_string = "KAAAB" /datum/design/item/medical/scalpel_laser3 @@ -31,7 +31,7 @@ id = "scalpel_laser3" req_tech = list(TECH_BIO = 4, TECH_MATERIAL = 6, TECH_MAGNET = 5) materials = list(MAT_STEEL = 12500, MAT_GLASS = 7500, MAT_SILVER = 2000, MAT_GOLD = 1500) - build_path = /obj/item/weapon/surgical/scalpel/laser3 + build_path = /obj/item/surgical/scalpel/laser3 sort_string = "KAAAC" /datum/design/item/medical/scalpel_manager @@ -40,7 +40,7 @@ id = "scalpel_manager" req_tech = list(TECH_BIO = 4, TECH_MATERIAL = 7, TECH_MAGNET = 5, TECH_DATA = 4) materials = list (MAT_STEEL = 12500, MAT_GLASS = 7500, MAT_SILVER = 1500, MAT_GOLD = 1500, MAT_DIAMOND = 750) - build_path = /obj/item/weapon/surgical/scalpel/manager + build_path = /obj/item/surgical/scalpel/manager sort_string = "KAAAD" /datum/design/item/medical/saw_manager @@ -49,7 +49,7 @@ id = "advanced_saw" req_tech = list(TECH_BIO = 4, TECH_MATERIAL = 7, TECH_MAGNET = 6, TECH_DATA = 5) materials = list (MAT_STEEL = 12500, MAT_PLASTIC = 800, MAT_SILVER = 1500, MAT_GOLD = 1500, MAT_OSMIUM = 1000) - build_path = /obj/item/weapon/surgical/circular_saw/manager + build_path = /obj/item/surgical/circular_saw/manager sort_string = "KAAAE" /datum/design/item/medical/organ_ripper @@ -58,7 +58,7 @@ id = "organ_ripper" req_tech = list(TECH_BIO = 3, TECH_MATERIAL = 5, TECH_MAGNET = 4, TECH_ILLEGAL = 3) materials = list (MAT_STEEL = 12500, MAT_PLASTIC = 8000, MAT_OSMIUM = 2500) - build_path = /obj/item/weapon/surgical/scalpel/ripper + build_path = /obj/item/surgical/scalpel/ripper sort_string = "KAAAF" /datum/design/item/medical/bone_clamp @@ -67,7 +67,7 @@ id = "bone_clamp" req_tech = list(TECH_BIO = 4, TECH_MATERIAL = 5, TECH_MAGNET = 4, TECH_DATA = 4) materials = list (MAT_STEEL = 12500, MAT_GLASS = 7500, MAT_SILVER = 2500) - build_path = /obj/item/weapon/surgical/bone_clamp + build_path = /obj/item/surgical/bone_clamp sort_string = "KAABA" /datum/design/item/medical/medical_analyzer @@ -76,7 +76,7 @@ id = "medical_analyzer" req_tech = list(TECH_MAGNET = 2, TECH_BIO = 2) materials = list(MAT_STEEL = 500, MAT_GLASS = 500) - build_path = /obj/item/device/healthanalyzer + build_path = /obj/item/healthanalyzer sort_string = "KBAAA" /datum/design/item/medical/improved_analyzer @@ -85,7 +85,7 @@ id = "improved_analyzer" req_tech = list(TECH_MAGNET = 5, TECH_BIO = 6) materials = list(MAT_STEEL = 2000, MAT_GLASS = 1000, MAT_SILVER = 1000, MAT_GOLD = 1500) - build_path = /obj/item/device/healthanalyzer/improved + build_path = /obj/item/healthanalyzer/improved sort_string = "KBAAB" //YAWN changes @@ -95,7 +95,7 @@ id = "phasic_analyzer" req_tech = list(TECH_MAGNET = 7, TECH_BIO = 8, TECH_BLUESPACE = 6, TECH_PHORON = 5) materials = list(MAT_STEEL = 2000, MAT_GLASS = 1000, MAT_GOLD = 1500, MAT_GOLD = 2000, MAT_URANIUM = 1250, MAT_DIAMOND = 750, MAT_PHORON = 500, MAT_PLASTIC = 1000, MAT_OSMIUM = 500) - build_path = /obj/item/device/healthanalyzer/phasic + build_path = /obj/item/healthanalyzer/phasic sort_string = "KBAAD" /datum/design/item/medical/large_bodybag @@ -113,7 +113,7 @@ id = "advanced_analyzer" req_tech = list(TECH_MAGNET = 7, TECH_BIO = 7, TECH_DATA = 5) materials = list(MAT_STEEL = 2000, MAT_GLASS = 4000, MAT_SILVER = 3500, MAT_GOLD = 2500, MAT_DIAMOND = 1250) - build_path = /obj/item/device/healthanalyzer/advanced + build_path = /obj/item/healthanalyzer/advanced sort_string = "KBAAC" /datum/design/item/medical/advanced_roller diff --git a/code/modules/research/designs/medical_vr.dm b/code/modules/research/designs/medical_vr.dm index 4171f881e9d..a60c3df53c6 100644 --- a/code/modules/research/designs/medical_vr.dm +++ b/code/modules/research/designs/medical_vr.dm @@ -18,7 +18,7 @@ id = "sleevemate" req_tech = list(TECH_MATERIAL = 3, TECH_MAGNET = 2, TECH_BIO = 2) materials = list(MAT_STEEL = 4000, MAT_GLASS = 4000) - build_path = /obj/item/device/sleevemate + build_path = /obj/item/sleevemate sort_string = "KCAVA" /datum/design/item/medical/protohypospray @@ -27,7 +27,7 @@ id = "protohypospray" req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3, TECH_POWER = 2, TECH_BIO = 4, TECH_ILLEGAL = 2) materials = list(MAT_STEEL = 500, MAT_GLASS = 1500, MAT_SILVER = 2000, MAT_GOLD = 1500, MAT_URANIUM = 1000) - build_path = /obj/item/weapon/reagent_containers/hypospray/science + build_path = /obj/item/reagent_containers/hypospray/science sort_string = "KCAVB" /datum/design/item/medical/recombobray @@ -36,7 +36,7 @@ id = "recombobray" req_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 3, TECH_POWER = 4, TECH_BIO = 5, TECH_BLUESPACE = 4) //Not like these matter. *Glares at circuit printer.* materials = list(MAT_STEEL = 1000, MAT_GLASS = 2000, MAT_URANIUM = 500, MAT_PHORON = 1500) - build_path = /obj/item/weapon/gun/energy/mouseray/medical + build_path = /obj/item/gun/energy/mouseray/medical sort_string = "KCAVC" // ML-3M medigun and cells @@ -49,7 +49,7 @@ id = "cell_medigun" req_tech = list(TECH_MATERIAL = 6, TECH_MAGNET = 4, TECH_POWER = 3, TECH_BIO = 5) materials = list(MAT_STEEL = 8000, MAT_PLASTIC = 8000, MAT_GLASS = 5000, MAT_SILVER = 1000, MAT_GOLD = 1000, MAT_URANIUM = 1000) - build_path = /obj/item/weapon/gun/projectile/cell_loaded/medical + build_path = /obj/item/gun/projectile/cell_loaded/medical sort_string = "KVAAA" /datum/design/item/medical/cell_based/cell_medigun_mag diff --git a/code/modules/research/designs/mining_toys.dm b/code/modules/research/designs/mining_toys.dm index 6d6b47a9c1d..fb0ab781a6a 100644 --- a/code/modules/research/designs/mining_toys.dm +++ b/code/modules/research/designs/mining_toys.dm @@ -8,42 +8,42 @@ id = "drill" req_tech = list(TECH_MATERIAL = 1, TECH_POWER = 2, TECH_ENGINEERING = 1) materials = list(MAT_STEEL = 4000, MAT_GLASS = 500) //expensive, but no need for miners. - build_path = /obj/item/weapon/pickaxe/drill + build_path = /obj/item/pickaxe/drill sort_string = "FAAAA" /datum/design/item/weapon/mining/advdrill id = "advanced_drill" req_tech = list(TECH_MATERIAL = 2, TECH_POWER = 3, TECH_ENGINEERING = 2) materials = list(MAT_STEEL = 6000, MAT_GLASS = 1000) //expensive, but no need for miners. - build_path = /obj/item/weapon/pickaxe/advdrill + build_path = /obj/item/pickaxe/advdrill sort_string = "FAAAB" /datum/design/item/weapon/mining/jackhammer id = "jackhammer" req_tech = list(TECH_MATERIAL = 3, TECH_POWER = 2, TECH_ENGINEERING = 2) materials = list(MAT_STEEL = 2000, MAT_GLASS = 500, MAT_SILVER = 500) - build_path = /obj/item/weapon/pickaxe/jackhammer + build_path = /obj/item/pickaxe/jackhammer sort_string = "FAAAC" /datum/design/item/weapon/mining/plasmacutter id = "plasmacutter" req_tech = list(TECH_MATERIAL = 4, TECH_PHORON = 3, TECH_ENGINEERING = 3) materials = list(MAT_STEEL = 1500, MAT_GLASS = 500, MAT_GOLD = 500, MAT_PHORON = 500) - build_path = /obj/item/weapon/pickaxe/plasmacutter + build_path = /obj/item/pickaxe/plasmacutter sort_string = "FAAAD" /datum/design/item/weapon/mining/pick_diamond id = "pick_diamond" req_tech = list(TECH_MATERIAL = 6) materials = list(MAT_DIAMOND = 3000) - build_path = /obj/item/weapon/pickaxe/diamond + build_path = /obj/item/pickaxe/diamond sort_string = "FAAAE" /datum/design/item/weapon/mining/drill_diamond id = "drill_diamond" req_tech = list(TECH_MATERIAL = 6, TECH_POWER = 4, TECH_ENGINEERING = 4) materials = list(MAT_STEEL = 3000, MAT_GLASS = 1000, MAT_DIAMOND = 2000) - build_path = /obj/item/weapon/pickaxe/diamonddrill + build_path = /obj/item/pickaxe/diamonddrill sort_string = "FAAAF" // Mining other equipment @@ -53,9 +53,16 @@ id = "depth_scanner" req_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2, TECH_BLUESPACE = 2) materials = list(MAT_STEEL = 1000,MAT_GLASS = 1000) - build_path = /obj/item/device/depth_scanner + build_path = /obj/item/depth_scanner sort_string = "FBAAA" +/datum/design/item/weapon/mining/mining_scanner + id = "mining_scanner" + req_tech = list(TECH_MAGNET = 3, TECH_ENGINEERING = 4, TECH_BLUESPACE = 1) + materials = list(MAT_STEEL = 1000,MAT_GLASS = 500) + build_path = /obj/item/mining_scanner/advanced + sort_string = "FBAAB" + /datum/design/item/weapon/mining/upgradeAOE name = "Mining Explosion Upgrade" desc = "An area of effect upgrade for the Proto-Kinetic Accelerator." @@ -63,4 +70,4 @@ req_tech = list(TECH_COMBAT = 7, TECH_MATERIAL = 8, TECH_ENGINEERING = 7) // Lets make this endgame level tech, due to it's power. materials = list(MAT_STEEL = 5000, MAT_GLASS = 5000, MAT_SILVER = 500, MAT_GOLD = 500, MAT_URANIUM = 2000, MAT_PHORON = 2000) build_path = /obj/item/borg/upgrade/modkit/aoe/turfs - sort_string = "FAAF" \ No newline at end of file + sort_string = "FAAF" diff --git a/code/modules/research/designs/misc.dm b/code/modules/research/designs/misc.dm index c008eec25d5..c5e4382c6ec 100644 --- a/code/modules/research/designs/misc.dm +++ b/code/modules/research/designs/misc.dm @@ -9,7 +9,7 @@ id = "communicator" req_tech = list(TECH_DATA = 2, TECH_MAGNET = 2) materials = list(MAT_STEEL = 500, MAT_GLASS = 500) - build_path = /obj/item/device/communicator + build_path = /obj/item/communicator sort_string = "TAAAA" /datum/design/item/general/laserpointer @@ -18,7 +18,7 @@ id = "laser_pointer" req_tech = list(TECH_MAGNET = 3) materials = list(MAT_STEEL = 100, MAT_GLASS = 50) - build_path = /obj/item/device/laser_pointer + build_path = /obj/item/laser_pointer sort_string = "TAABA" /datum/design/item/general/translator @@ -26,7 +26,7 @@ id = "translator" req_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 3) materials = list(MAT_STEEL = 3000, MAT_GLASS = 3000) - build_path = /obj/item/device/universal_translator + build_path = /obj/item/universal_translator sort_string = "TAACA" /datum/design/item/general/ear_translator @@ -34,7 +34,7 @@ id = "ear_translator" req_tech = list(TECH_DATA = 5, TECH_ENGINEERING = 5) //It's been hella miniaturized. materials = list(MAT_STEEL = 2000, MAT_GLASS = 2000, MAT_GOLD = 1000) - build_path = /obj/item/device/universal_translator/ear + build_path = /obj/item/universal_translator/ear sort_string = "TAACB" /datum/design/item/general/light_replacer @@ -43,7 +43,7 @@ id = "light_replacer" req_tech = list(TECH_MAGNET = 3, TECH_MATERIAL = 4) materials = list(MAT_STEEL = 1500, MAT_SILVER = 150, MAT_GLASS = 3000) - build_path = /obj/item/device/lightreplacer + build_path = /obj/item/lightreplacer sort_string = "TAADA" /datum/design/item/general/binaryencrypt @@ -52,7 +52,7 @@ id = "binaryencrypt" req_tech = list(TECH_ILLEGAL = 2) materials = list(MAT_STEEL = 300, MAT_GLASS = 300) - build_path = /obj/item/device/encryptionkey/binary + build_path = /obj/item/encryptionkey/binary sort_string = "TBAAA" /datum/design/item/general/chameleon @@ -61,7 +61,7 @@ id = "chameleon" req_tech = list(TECH_ILLEGAL = 2) materials = list(MAT_STEEL = 500) - build_path = /obj/item/weapon/storage/box/syndie_kit/chameleon + build_path = /obj/item/storage/box/syndie_kit/chameleon sort_string = "TBAAB" /datum/design/item/general/bsflare @@ -70,7 +70,7 @@ id = "bsflare" req_tech = list(TECH_DATA = 3, TECH_BLUESPACE = 4) materials = list(MAT_STEEL = 4000, MAT_GLASS = 2000, MAT_SILVER = 2000) - build_path = /obj/item/device/spaceflare + build_path = /obj/item/spaceflare sort_string = "TBAAC" /datum/design/item/general/riflescope @@ -79,7 +79,7 @@ id = "riflescope" req_tech = list(TECH_ILLEGAL = 2, TECH_MATERIAL = 2) materials = list(MAT_STEEL = 4000, MAT_GLASS = 4000) - build_path = /obj/item/device/binoculars/scope + build_path = /obj/item/binoculars/scope sort_string = "TBAAD" /datum/design/item/general/advmop @@ -88,5 +88,85 @@ id = "advmop" req_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 5, TECH_BIO = 1) materials = list(MAT_STEEL = 5000, MAT_GLASS = 2000, MAT_GOLD = 1000) - build_path = /obj/item/weapon/mop/advanced - sort_string = "TBAAE" \ No newline at end of file + build_path = /obj/item/mop/advanced + sort_string = "TBAAE" + +/datum/design/item/general/hyperfiber_jumpsuit + name = "HYPER jumpsuit" + id = "hfjumpsuit" + req_tech = list(TECH_BLUESPACE = 2) + materials = list(MAT_STEEL = 2000, MAT_GLASS = 1000) + build_path = /obj/item/clothing/under/hyperfiber + sort_string = "TAVAA" + +/datum/design/item/general/bluespace_jumpsuit + name = "Bluespace jumpsuit" + id = "bsjumpsuit" + req_tech = list(TECH_BLUESPACE = 2, TECH_MATERIAL = 3, TECH_POWER = 2) + materials = list(MAT_STEEL = 4000, MAT_GLASS = 4000) + build_path = /obj/item/clothing/under/hyperfiber/bluespace + sort_string = "TAVAB" + +/datum/design/item/general/sizegun + name = "Size gun" + id = "sizegun" + req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3, TECH_POWER = 2) + materials = list(MAT_STEEL = 3000, MAT_GLASS = 2000) + build_path = /obj/item/gun/energy/sizegun + sort_string = "TAVBA" + +/datum/design/item/general/sizegun_gradual + name = "Gradual size gun" + id = "gradsizegun" + req_tech = list(TECH_BLUESPACE = 2, TECH_MATERIAL = 3, TECH_POWER = 2) + materials = list(MAT_STEEL = 3000, MAT_GLASS = 2000) + build_path = /obj/item/slow_sizegun + sort_string = "TAVBB" + +/datum/design/item/general/bluespace_collar + name = "Bluespace collar" + id = "bluespacecollar" + req_tech = list(TECH_BLUESPACE = 3, TECH_MATERIAL = 3, TECH_POWER = 2) + materials = list(MAT_STEEL = 2000, MAT_GLASS = 2000) + build_path = /obj/item/clothing/accessory/collar/shock/bluespace + sort_string = "TAVBC" + +/datum/design/item/general/bodysnatcher + name = "Body Snatcher" + id = "bodysnatcher" + req_tech = list(TECH_MAGNET = 3, TECH_BIO = 3, TECH_ILLEGAL = 2) + materials = list(MAT_STEEL = 4000, MAT_GLASS = 4000, MAT_URANIUM = 2000) + build_path = /obj/item/bodysnatcher + sort_string = "TBVAA" + +/datum/design/item/general/inducer_sci + name = "Inducer (Scientific)" + id = "inducersci" + req_tech = list(TECH_BLUESPACE = 4, TECH_MATERIAL = 5, TECH_POWER = 6) + materials = list(MAT_STEEL = 8000, MAT_GLASS = 2000, MAT_URANIUM = 4000, MAT_PHORON = 4000) + build_path = /obj/item/inducer/sci + sort_string = "TCVAA" + +/datum/design/item/general/inducer_eng + name = "Inducer (Industrial)" + id = "inducerind" + req_tech = list(TECH_BLUESPACE = 5, TECH_MATERIAL = 7, TECH_POWER = 7) + materials = list(MAT_STEEL = 3000, MAT_GLASS = 2000, MAT_URANIUM = 2000, MAT_TITANIUM = 2000) + build_path = /obj/item/inducer/unloaded + sort_string = "TCVAB" + +/datum/design/item/general/walkpod + name = "PodZu Music Player" + id = "walkpod" + req_tech = list(TECH_MAGNET = 3, TECH_ENGINEERING = 3) + materials = list(MAT_STEEL = 2000, MAT_GLASS = 2000) + build_path = /obj/item/walkpod + sort_string = "TCVAD" + +/datum/design/item/general/juke_remote + name = "BoomTown Cordless Speaker" + id = "juke_remote" + req_tech = list(TECH_MAGNET = 3, TECH_ENGINEERING = 4, TECH_BLUESPACE = 1) + materials = list(MAT_STEEL = 4000, MAT_GLASS = 4000, MAT_URANIUM = 2000) + build_path = /obj/item/juke_remote + sort_string = "TCVAE" diff --git a/code/modules/research/designs/misc_vr.dm b/code/modules/research/designs/misc_vr.dm deleted file mode 100644 index 12121fea11c..00000000000 --- a/code/modules/research/designs/misc_vr.dm +++ /dev/null @@ -1,86 +0,0 @@ -/datum/design/item/general/hyperfiber_jumpsuit - name = "HYPER jumpsuit" - id = "hfjumpsuit" - req_tech = list(TECH_BLUESPACE = 2) - materials = list(MAT_STEEL = 2000, MAT_GLASS = 1000) - build_path = /obj/item/clothing/under/hyperfiber - sort_string = "TAVAA" - -/datum/design/item/general/bluespace_jumpsuit - name = "Bluespace jumpsuit" - id = "bsjumpsuit" - req_tech = list(TECH_BLUESPACE = 2, TECH_MATERIAL = 3, TECH_POWER = 2) - materials = list(MAT_STEEL = 4000, MAT_GLASS = 4000) - build_path = /obj/item/clothing/under/hyperfiber/bluespace - sort_string = "TAVAB" - -/datum/design/item/general/sizegun - name = "Size gun" - id = "sizegun" - req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3, TECH_POWER = 2) - materials = list(MAT_STEEL = 3000, MAT_GLASS = 2000) - build_path = /obj/item/weapon/gun/energy/sizegun - sort_string = "TAVBA" - -/datum/design/item/general/sizegun_gradual - name = "Gradual size gun" - id = "gradsizegun" - req_tech = list(TECH_BLUESPACE = 2, TECH_MATERIAL = 3, TECH_POWER = 2) - materials = list(MAT_STEEL = 3000, MAT_GLASS = 2000) - build_path = /obj/item/device/slow_sizegun - sort_string = "TAVBB" - -/datum/design/item/general/bluespace_collar - name = "Bluespace collar" - id = "bluespacecollar" - req_tech = list(TECH_BLUESPACE = 3, TECH_MATERIAL = 3, TECH_POWER = 2) - materials = list(MAT_STEEL = 2000, MAT_GLASS = 2000) - build_path = /obj/item/clothing/accessory/collar/shock/bluespace - sort_string = "TAVBC" - -/datum/design/item/general/bodysnatcher - name = "Body Snatcher" - id = "bodysnatcher" - req_tech = list(TECH_MAGNET = 3, TECH_BIO = 3, TECH_ILLEGAL = 2) - materials = list(MAT_STEEL = 4000, MAT_GLASS = 4000, MAT_URANIUM = 2000) - build_path = /obj/item/device/bodysnatcher - sort_string = "TBVAA" - -/datum/design/item/general/inducer_sci - name = "Inducer (Scientific)" - id = "inducersci" - req_tech = list(TECH_BLUESPACE = 4, TECH_MATERIAL = 5, TECH_POWER = 6) - materials = list(MAT_STEEL = 8000, MAT_GLASS = 2000, MAT_URANIUM = 4000, MAT_PHORON = 4000) - build_path = /obj/item/weapon/inducer/sci - sort_string = "TCVAA" - -/datum/design/item/general/inducer_eng - name = "Inducer (Industrial)" - id = "inducerind" - req_tech = list(TECH_BLUESPACE = 5, TECH_MATERIAL = 7, TECH_POWER = 7) - materials = list(MAT_STEEL = 3000, MAT_GLASS = 2000, MAT_URANIUM = 2000, MAT_TITANIUM = 2000) - build_path = /obj/item/weapon/inducer/unloaded - sort_string = "TCVAB" - -/datum/design/item/weapon/mining/mining_scanner - id = "mining_scanner" - req_tech = list(TECH_MAGNET = 3, TECH_ENGINEERING = 4, TECH_BLUESPACE = 1) - materials = list(MAT_STEEL = 1000,MAT_GLASS = 500) - build_path = /obj/item/weapon/mining_scanner/advanced - sort_string = "FBAAB" - -/datum/design/item/general/walkpod - name = "PodZu Music Player" - id = "walkpod" - req_tech = list(TECH_MAGNET = 3, TECH_ENGINEERING = 3) - materials = list(MAT_STEEL = 2000, MAT_GLASS = 2000) - build_path = /obj/item/device/walkpod - sort_string = "TCVAD" - -/datum/design/item/general/juke_remote - name = "BoomTown Cordless Speaker" - id = "juke_remote" - req_tech = list(TECH_MAGNET = 3, TECH_ENGINEERING = 4, TECH_BLUESPACE = 1) - materials = list(MAT_STEEL = 4000, MAT_GLASS = 4000, MAT_URANIUM = 2000) - build_path = /obj/item/device/juke_remote - sort_string = "TCVAE" diff --git a/code/modules/research/designs/modular_computer.dm b/code/modules/research/designs/modular_computer.dm index 588f16357bf..4fb8b2ce3cc 100644 --- a/code/modules/research/designs/modular_computer.dm +++ b/code/modules/research/designs/modular_computer.dm @@ -10,14 +10,14 @@ id = "hdd_basic" req_tech = list(TECH_DATA = 1, TECH_ENGINEERING = 1) materials = list(MAT_STEEL = 2000, MAT_GLASS = 100) - build_path = /obj/item/weapon/computer_hardware/hard_drive/ + build_path = /obj/item/computer_hardware/hard_drive/ sort_string = "VAAAA" /datum/design/item/modularcomponent/disk/advanced name = "advanced hard drive" id = "hdd_advanced" materials = list(MAT_STEEL = 4000, MAT_GLASS = 200) - build_path = /obj/item/weapon/computer_hardware/hard_drive/advanced + build_path = /obj/item/computer_hardware/hard_drive/advanced sort_string = "VAAAB" /datum/design/item/modularcomponent/disk/super @@ -25,7 +25,7 @@ id = "hdd_super" req_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 3) materials = list(MAT_STEEL = 8000, MAT_GLASS = 400) - build_path = /obj/item/weapon/computer_hardware/hard_drive/super + build_path = /obj/item/computer_hardware/hard_drive/super sort_string = "VAAAC" /datum/design/item/modularcomponent/disk/cluster @@ -33,7 +33,7 @@ id = "hdd_cluster" req_tech = list(TECH_DATA = 4, TECH_ENGINEERING = 4) materials = list(MAT_STEEL = 16000, MAT_GLASS = 800) - build_path = /obj/item/weapon/computer_hardware/hard_drive/cluster + build_path = /obj/item/computer_hardware/hard_drive/cluster sort_string = "VAAAD" /datum/design/item/modularcomponent/disk/small @@ -41,7 +41,7 @@ id = "hdd_small" req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2) materials = list(MAT_STEEL = 4000, MAT_GLASS = 200) - build_path = /obj/item/weapon/computer_hardware/hard_drive/small + build_path = /obj/item/computer_hardware/hard_drive/small sort_string = "VAAAE" /datum/design/item/modularcomponent/disk/micro @@ -49,7 +49,7 @@ id = "hdd_micro" req_tech = list(TECH_DATA = 1, TECH_ENGINEERING = 1) materials = list(MAT_STEEL = 2000, MAT_GLASS = 100) - build_path = /obj/item/weapon/computer_hardware/hard_drive/micro + build_path = /obj/item/computer_hardware/hard_drive/micro sort_string = "VAAAF" // Network cards @@ -59,7 +59,7 @@ id = "netcard_basic" req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 1) materials = list(MAT_STEEL = 500, MAT_GLASS = 100) - build_path = /obj/item/weapon/computer_hardware/network_card + build_path = /obj/item/computer_hardware/network_card sort_string = "VBAAA" /datum/design/item/modularcomponent/netcard/advanced @@ -67,7 +67,7 @@ id = "netcard_advanced" req_tech = list(TECH_DATA = 4, TECH_ENGINEERING = 2) materials = list(MAT_STEEL = 1000, MAT_GLASS = 200) - build_path = /obj/item/weapon/computer_hardware/network_card/advanced + build_path = /obj/item/computer_hardware/network_card/advanced sort_string = "VBAAB" /datum/design/item/modularcomponent/netcard/wired @@ -75,7 +75,7 @@ id = "netcard_wired" req_tech = list(TECH_DATA = 5, TECH_ENGINEERING = 3) materials = list(MAT_STEEL = 5000, MAT_GLASS = 400) - build_path = /obj/item/weapon/computer_hardware/network_card/wired + build_path = /obj/item/computer_hardware/network_card/wired sort_string = "VBAAC" // Batteries @@ -85,7 +85,7 @@ id = "bat_normal" req_tech = list(TECH_POWER = 1, TECH_ENGINEERING = 1) materials = list(MAT_STEEL = 2000) - build_path = /obj/item/weapon/computer_hardware/battery_module + build_path = /obj/item/computer_hardware/battery_module sort_string = "VCAAA" /datum/design/item/modularcomponent/battery/advanced @@ -93,7 +93,7 @@ id = "bat_advanced" req_tech = list(TECH_POWER = 2, TECH_ENGINEERING = 2) materials = list(MAT_STEEL = 4000) - build_path = /obj/item/weapon/computer_hardware/battery_module/advanced + build_path = /obj/item/computer_hardware/battery_module/advanced sort_string = "VCAAB" /datum/design/item/modularcomponent/battery/super @@ -101,7 +101,7 @@ id = "bat_super" req_tech = list(TECH_POWER = 3, TECH_ENGINEERING = 3) materials = list(MAT_STEEL = 8000) - build_path = /obj/item/weapon/computer_hardware/battery_module/super + build_path = /obj/item/computer_hardware/battery_module/super sort_string = "VCAAC" /datum/design/item/modularcomponent/battery/ultra @@ -109,7 +109,7 @@ id = "bat_ultra" req_tech = list(TECH_POWER = 5, TECH_ENGINEERING = 4) materials = list(MAT_STEEL = 16000) - build_path = /obj/item/weapon/computer_hardware/battery_module/ultra + build_path = /obj/item/computer_hardware/battery_module/ultra sort_string = "VCAAD" /datum/design/item/modularcomponent/battery/nano @@ -117,7 +117,7 @@ id = "bat_nano" req_tech = list(TECH_POWER = 1, TECH_ENGINEERING = 1) materials = list(MAT_STEEL = 2000) - build_path = /obj/item/weapon/computer_hardware/battery_module/nano + build_path = /obj/item/computer_hardware/battery_module/nano sort_string = "VCAAE" /datum/design/item/modularcomponent/battery/micro @@ -125,7 +125,7 @@ id = "bat_micro" req_tech = list(TECH_POWER = 2, TECH_ENGINEERING = 2) materials = list(MAT_STEEL = 4000) - build_path = /obj/item/weapon/computer_hardware/battery_module/micro + build_path = /obj/item/computer_hardware/battery_module/micro sort_string = "VCAAF" // Processor unit @@ -135,7 +135,7 @@ id = "cpu_normal" req_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 2) materials = list(MAT_STEEL = 8000) - build_path = /obj/item/weapon/computer_hardware/processor_unit + build_path = /obj/item/computer_hardware/processor_unit sort_string = "VDAAA" /datum/design/item/modularcomponent/cpu/small @@ -143,7 +143,7 @@ id = "cpu_small" req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2) materials = list(MAT_STEEL = 4000) - build_path = /obj/item/weapon/computer_hardware/processor_unit/small + build_path = /obj/item/computer_hardware/processor_unit/small sort_string = "VDAAB" /datum/design/item/modularcomponent/cpu/photonic @@ -151,7 +151,7 @@ id = "pcpu_normal" req_tech = list(TECH_DATA = 5, TECH_ENGINEERING = 4) materials = list(MAT_STEEL = 32000, glass = 8000) - build_path = /obj/item/weapon/computer_hardware/processor_unit/photonic + build_path = /obj/item/computer_hardware/processor_unit/photonic sort_string = "VDAAC" /datum/design/item/modularcomponent/cpu/photonic/small @@ -159,7 +159,7 @@ id = "pcpu_small" req_tech = list(TECH_DATA = 4, TECH_ENGINEERING = 3) materials = list(MAT_STEEL = 16000, glass = 4000) - build_path = /obj/item/weapon/computer_hardware/processor_unit/photonic/small + build_path = /obj/item/computer_hardware/processor_unit/photonic/small sort_string = "VDAAD" // Other parts @@ -169,7 +169,7 @@ id = "cardslot" req_tech = list(TECH_DATA = 2) materials = list(MAT_STEEL = 3000) - build_path = /obj/item/weapon/computer_hardware/card_slot + build_path = /obj/item/computer_hardware/card_slot sort_string = "VEAAA" /datum/design/item/modularcomponent/nanoprinter @@ -177,7 +177,7 @@ id = "nanoprinter" req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2) materials = list(MAT_STEEL = 3000) - build_path = /obj/item/weapon/computer_hardware/nano_printer + build_path = /obj/item/computer_hardware/nano_printer sort_string = "VEAAB" /datum/design/item/modularcomponent/teslalink @@ -185,7 +185,7 @@ id = "teslalink" req_tech = list(TECH_DATA = 2, TECH_POWER = 3, TECH_ENGINEERING = 2) materials = list(MAT_STEEL = 10000) - build_path = /obj/item/weapon/computer_hardware/tesla_link + build_path = /obj/item/computer_hardware/tesla_link sort_string = "VEAAC" // Data crystals (USB flash drives) @@ -199,7 +199,7 @@ id = "portadrive_basic" req_tech = list(TECH_DATA = 1) materials = list(MAT_GLASS = 8000) - build_path = /obj/item/weapon/computer_hardware/hard_drive/portable + build_path = /obj/item/computer_hardware/hard_drive/portable sort_string = "VFAAA" /datum/design/item/modularcomponent/portabledrive/advanced @@ -207,7 +207,7 @@ id = "portadrive_advanced" req_tech = list(TECH_DATA = 2) materials = list(MAT_GLASS = 16000) - build_path = /obj/item/weapon/computer_hardware/hard_drive/portable/advanced + build_path = /obj/item/computer_hardware/hard_drive/portable/advanced sort_string = "VFAAB" /datum/design/item/modularcomponent/portabledrive/super @@ -215,5 +215,5 @@ id = "portadrive_super" req_tech = list(TECH_DATA = 4) materials = list(MAT_GLASS = 32000) - build_path = /obj/item/weapon/computer_hardware/hard_drive/portable/super + build_path = /obj/item/computer_hardware/hard_drive/portable/super sort_string = "VFAAC" diff --git a/code/modules/research/designs/pdas.dm b/code/modules/research/designs/pdas.dm index c13d490493d..f5311328a8a 100644 --- a/code/modules/research/designs/pdas.dm +++ b/code/modules/research/designs/pdas.dm @@ -6,7 +6,7 @@ id = "pda" req_tech = list(TECH_ENGINEERING = 2, TECH_POWER = 3) materials = list(MAT_STEEL = 50, MAT_GLASS = 50) - build_path = /obj/item/device/pda + build_path = /obj/item/pda sort_string = "WAAAA" // Cartridges @@ -21,80 +21,80 @@ /datum/design/item/pda_cartridge/cart_basic id = "cart_basic" - build_path = /obj/item/weapon/cartridge + build_path = /obj/item/cartridge sort_string = "WBAAA" /datum/design/item/pda_cartridge/engineering id = "cart_engineering" - build_path = /obj/item/weapon/cartridge/engineering + build_path = /obj/item/cartridge/engineering sort_string = "WBAAB" /datum/design/item/pda_cartridge/atmos id = "cart_atmos" - build_path = /obj/item/weapon/cartridge/atmos + build_path = /obj/item/cartridge/atmos sort_string = "WBAAC" /datum/design/item/pda_cartridge/medical id = "cart_medical" - build_path = /obj/item/weapon/cartridge/medical + build_path = /obj/item/cartridge/medical sort_string = "WBAAD" /datum/design/item/pda_cartridge/chemistry id = "cart_chemistry" - build_path = /obj/item/weapon/cartridge/chemistry + build_path = /obj/item/cartridge/chemistry sort_string = "WBAAE" /datum/design/item/pda_cartridge/security id = "cart_security" - build_path = /obj/item/weapon/cartridge/security + build_path = /obj/item/cartridge/security sort_string = "WBAAF" /datum/design/item/pda_cartridge/janitor id = "cart_janitor" - build_path = /obj/item/weapon/cartridge/janitor + build_path = /obj/item/cartridge/janitor sort_string = "WBAAG" /datum/design/item/pda_cartridge/science id = "cart_science" - build_path = /obj/item/weapon/cartridge/signal/science + build_path = /obj/item/cartridge/signal/science sort_string = "WBAAH" /datum/design/item/pda_cartridge/quartermaster id = "cart_quartermaster" - build_path = /obj/item/weapon/cartridge/quartermaster + build_path = /obj/item/cartridge/quartermaster sort_string = "WBAAI" /datum/design/item/pda_cartridge/head id = "cart_head" - build_path = /obj/item/weapon/cartridge/head + build_path = /obj/item/cartridge/head sort_string = "WBAAJ" /datum/design/item/pda_cartridge/hop id = "cart_hop" - build_path = /obj/item/weapon/cartridge/hop + build_path = /obj/item/cartridge/hop sort_string = "WBAAK" /datum/design/item/pda_cartridge/hos id = "cart_hos" - build_path = /obj/item/weapon/cartridge/hos + build_path = /obj/item/cartridge/hos sort_string = "WBAAL" /datum/design/item/pda_cartridge/ce id = "cart_ce" - build_path = /obj/item/weapon/cartridge/ce + build_path = /obj/item/cartridge/ce sort_string = "WBAAM" /datum/design/item/pda_cartridge/cmo id = "cart_cmo" - build_path = /obj/item/weapon/cartridge/cmo + build_path = /obj/item/cartridge/cmo sort_string = "WBAAN" /datum/design/item/pda_cartridge/rd id = "cart_rd" - build_path = /obj/item/weapon/cartridge/rd + build_path = /obj/item/cartridge/rd sort_string = "WBAAO" /datum/design/item/pda_cartridge/captain id = "cart_captain" - build_path = /obj/item/weapon/cartridge/captain + build_path = /obj/item/cartridge/captain sort_string = "WBAAP" \ No newline at end of file diff --git a/code/modules/research/designs/power_cells.dm b/code/modules/research/designs/power_cells.dm index 9920a2e5df2..760744bea4a 100644 --- a/code/modules/research/designs/power_cells.dm +++ b/code/modules/research/designs/power_cells.dm @@ -6,11 +6,11 @@ /datum/design/item/powercell/AssembleDesignDesc() if(build_path) - var/obj/item/weapon/cell/C = build_path + var/obj/item/cell/C = build_path desc = "Allows the construction of power cells that can hold [initial(C.maxcharge)] units of energy." /datum/design/item/powercell/Fabricate() - var/obj/item/weapon/cell/C = ..() + var/obj/item/cell/C = ..() C.charge = 0 //shouldn't produce power out of thin air. C.update_icon() return C @@ -20,7 +20,7 @@ id = "basic_cell" req_tech = list(TECH_POWER = 1) materials = list(MAT_STEEL = 700, MAT_GLASS = 50) - build_path = /obj/item/weapon/cell + build_path = /obj/item/cell category = list("Misc") sort_string = "BAAAA" @@ -29,7 +29,7 @@ id = "high_cell" req_tech = list(TECH_POWER = 2) materials = list(MAT_STEEL = 700, MAT_GLASS = 60) - build_path = /obj/item/weapon/cell/high + build_path = /obj/item/cell/high category = list("Misc") sort_string = "BAAAB" @@ -38,7 +38,7 @@ id = "super_cell" req_tech = list(TECH_POWER = 3, TECH_MATERIAL = 2) materials = list(MAT_STEEL = 700, MAT_GLASS = 70) - build_path = /obj/item/weapon/cell/super + build_path = /obj/item/cell/super category = list("Misc") sort_string = "BAAAC" @@ -47,7 +47,7 @@ id = "hyper_cell" req_tech = list(TECH_POWER = 5, TECH_MATERIAL = 4) materials = list(MAT_STEEL = 400, MAT_GOLD = 150, MAT_SILVER = 150, MAT_GLASS = 70) - build_path = /obj/item/weapon/cell/hyper + build_path = /obj/item/cell/hyper category = list("Misc") sort_string = "BAAAD" @@ -56,7 +56,7 @@ build_type = PROTOLATHE id = "device" materials = list(MAT_STEEL = 350, MAT_GLASS = 25) - build_path = /obj/item/weapon/cell/device + build_path = /obj/item/cell/device category = list("Misc") sort_string = "BAABA" @@ -66,7 +66,7 @@ build_type = PROTOLATHE id = "weapon" materials = list(MAT_STEEL = 700, MAT_GLASS = 50) - build_path = /obj/item/weapon/cell/device/weapon + build_path = /obj/item/cell/device/weapon category = list("Misc") sort_string = "BAABB" @@ -75,7 +75,7 @@ id = "super_device" req_tech = list(TECH_POWER = 3, TECH_MATERIAL = 2) materials = list(MAT_STEEL = 700, MAT_GLASS = 70, MAT_GOLD = 50, MAT_GOLD = 20,) - build_path = /obj/item/weapon/cell/device/super + build_path = /obj/item/cell/device/super category = list("Misc") sort_string = "BAABC" @@ -84,7 +84,7 @@ id = "hyper_device" req_tech = list(TECH_POWER = 5, TECH_MATERIAL = 4) materials = list(MAT_STEEL = 1400, MAT_GLASS = 1400, MAT_GOLD = 150, MAT_GOLD = 150) - build_path = /obj/item/weapon/cell/device/hyper + build_path = /obj/item/cell/device/hyper category = list("Misc") sort_string = "BAABD" @@ -94,7 +94,7 @@ build_type = PROTOLATHE id = "omni-device" materials = list(MAT_STEEL = 1700, MAT_GLASS = 550, MAT_DURASTEEL = 230, MAT_MORPHIUM = 320, MAT_METALHYDROGEN = 600, MAT_URANIUM = 60, MAT_VERDANTIUM = 150, MAT_PHORON = 900) - build_path = /obj/item/weapon/cell/device/weapon/recharge/alien/omni + build_path = /obj/item/cell/device/weapon/recharge/alien/omni category = list("Misc") sort_string = "BAABE" //End of Yawn add @@ -103,7 +103,7 @@ id = "high_mech_cell" req_tech = list(TECH_POWER = 3, TECH_MATERIAL = 3) materials = list(MAT_STEEL = 600, MAT_SILVER = 150, MAT_GLASS = 70) - build_path = /obj/item/weapon/cell/mech/high + build_path = /obj/item/cell/mech/high category = list("Misc") sort_string = "BAACA" @@ -112,6 +112,6 @@ id = "super_mech_cell" req_tech = list(TECH_POWER = 5, TECH_MATERIAL = 4) materials = list(MAT_STEEL = 500, MAT_GOLD = 200, MAT_SILVER = 200, MAT_GLASS = 80) - build_path = /obj/item/weapon/cell/mech/super + build_path = /obj/item/cell/mech/super category = list("Misc") sort_string = "BAACB" diff --git a/code/modules/research/designs/precursor.dm b/code/modules/research/designs/precursor.dm index 24f888f7222..0125eca0c4d 100644 --- a/code/modules/research/designs/precursor.dm +++ b/code/modules/research/designs/precursor.dm @@ -17,7 +17,7 @@ id = "hunt_trap" materials = list(MAT_DURASTEEL = 3000, MAT_METALHYDROGEN = 1000, MAT_PHORON = 2000) req_tech = list(TECH_MATERIAL = 4, TECH_BLUESPACE = 3, TECH_MAGNET = 4, TECH_PHORON = 2, TECH_ARCANE = 2) - build_path = /obj/item/weapon/beartrap/hunting + build_path = /obj/item/beartrap/hunting sort_string = "ZAAAA" // Precursor @@ -39,7 +39,7 @@ id = "hybridcrowbar" req_tech = list(TECH_ENGINEERING = 6, TECH_MATERIAL = 6, TECH_BLUESPACE = 3, TECH_PRECURSOR = 1) materials = list(MAT_PLASTEEL = 2000, MAT_VERDANTIUM = 3000, MAT_GOLD = 250, MAT_URANIUM = 2500) - build_path = /obj/item/weapon/tool/crowbar/hybrid + build_path = /obj/item/tool/crowbar/hybrid sort_string = "ZBAAA" /datum/design/item/precursor/wrench @@ -48,7 +48,7 @@ id = "hybridwrench" req_tech = list(TECH_ENGINEERING = 6, TECH_MATERIAL = 5, TECH_BLUESPACE = 2, TECH_MAGNET = 3, TECH_PRECURSOR = 1) materials = list(MAT_PLASTEEL = 2000, MAT_VERDANTIUM = 3000, MAT_SILVER = 300, MAT_URANIUM = 2000) - build_path = /obj/item/weapon/tool/wrench/hybrid + build_path = /obj/item/tool/wrench/hybrid sort_string = "ZBAAB" /datum/design/item/precursor/screwdriver @@ -57,7 +57,7 @@ id = "hybridscrewdriver" req_tech = list(TECH_ENGINEERING = 4, TECH_MATERIAL = 5, TECH_BLUESPACE = 2, TECH_MAGNET = 3, TECH_PRECURSOR = 1) materials = list(MAT_PLASTEEL = 2000, MAT_VERDANTIUM = 3000, MAT_PLASTIC = 8000, MAT_DIAMOND = 2000) - build_path = /obj/item/weapon/tool/screwdriver/hybrid + build_path = /obj/item/tool/screwdriver/hybrid sort_string = "ZBAAC" /datum/design/item/precursor/wirecutters @@ -66,7 +66,7 @@ id = "hybridwirecutters" req_tech = list(TECH_ENGINEERING = 4, TECH_MATERIAL = 5, TECH_PHORON = 2, TECH_PRECURSOR = 1) materials = list(MAT_PLASTEEL = 2000, MAT_VERDANTIUM = 3000, MAT_PLASTIC = 8000, MAT_PHORON = 2750, MAT_DIAMOND = 2000) - build_path = /obj/item/weapon/tool/wirecutters/hybrid + build_path = /obj/item/tool/wirecutters/hybrid sort_string = "ZBAAD" /datum/design/item/precursor/welder @@ -75,7 +75,7 @@ id = "hybridwelder" req_tech = list(TECH_ENGINEERING = 6, TECH_MATERIAL = 6, TECH_BLUESPACE = 3, TECH_PHORON = 3, TECH_MAGNET = 5, TECH_PRECURSOR = 1) materials = list(MAT_DURASTEEL = 2000, MAT_MORPHIUM = 3000, MAT_METALHYDROGEN = 4750, MAT_URANIUM = 6000) - build_path = /obj/item/weapon/weldingtool/experimental/hybrid + build_path = /obj/item/weldingtool/experimental/hybrid sort_string = "ZBAAE" @@ -89,5 +89,5 @@ sort_string = "ZBBAA" /datum/design/item/precursor/janusmodule/Fabricate(var/newloc, var/fabricator) - var/type_to_spawn = pick(subtypesof(/obj/item/weapon/circuitboard/mecha/imperion)) + var/type_to_spawn = pick(subtypesof(/obj/item/circuitboard/mecha/imperion)) return new type_to_spawn(newloc) \ No newline at end of file diff --git a/code/modules/research/designs/stock_parts.dm b/code/modules/research/designs/stock_parts.dm index 20c09f79009..423adc6af66 100644 --- a/code/modules/research/designs/stock_parts.dm +++ b/code/modules/research/designs/stock_parts.dm @@ -20,35 +20,35 @@ id = "basic_matter_bin" req_tech = list(TECH_MATERIAL = 1) materials = list(MAT_STEEL = 80) - build_path = /obj/item/weapon/stock_parts/matter_bin + build_path = /obj/item/stock_parts/matter_bin sort_string = "AAAAA" /datum/design/item/stock_part/adv_matter_bin id = "adv_matter_bin" req_tech = list(TECH_MATERIAL = 3) materials = list(MAT_STEEL = 80) - build_path = /obj/item/weapon/stock_parts/matter_bin/adv + build_path = /obj/item/stock_parts/matter_bin/adv sort_string = "AAAAB" /datum/design/item/stock_part/super_matter_bin id = "super_matter_bin" req_tech = list(TECH_MATERIAL = 5) materials = list(MAT_STEEL = 80) - build_path = /obj/item/weapon/stock_parts/matter_bin/super + build_path = /obj/item/stock_parts/matter_bin/super sort_string = "AAAAC" /datum/design/item/stock_part/hyper_matter_bin id = "hyper_matter_bin" req_tech = list(TECH_MATERIAL = 6, TECH_ARCANE = 2) materials = list(MAT_STEEL = 200, MAT_VERDANTIUM = 60, MAT_DURASTEEL = 75) - build_path = /obj/item/weapon/stock_parts/matter_bin/hyper + build_path = /obj/item/stock_parts/matter_bin/hyper sort_string = "AAAAD" /datum/design/item/stock_part/omni_matter_bin id = "omni_matter_bin" req_tech = list(TECH_MATERIAL = 7, TECH_PRECURSOR = 2) materials = list(MAT_STEEL = 2000, MAT_PLASTEEL = 100, MAT_MORPHIUM = 100, MAT_DURASTEEL = 100) - build_path = /obj/item/weapon/stock_parts/matter_bin/omni + build_path = /obj/item/stock_parts/matter_bin/omni sort_string = "AAAAE" // Micro-manipulators @@ -57,35 +57,35 @@ id = "micro_mani" req_tech = list(TECH_MATERIAL = 1, TECH_DATA = 1) materials = list(MAT_STEEL = 30) - build_path = /obj/item/weapon/stock_parts/manipulator + build_path = /obj/item/stock_parts/manipulator sort_string = "AAABA" /datum/design/item/stock_part/nano_mani id = "nano_mani" req_tech = list(TECH_MATERIAL = 3, TECH_DATA = 2) materials = list(MAT_STEEL = 30) - build_path = /obj/item/weapon/stock_parts/manipulator/nano + build_path = /obj/item/stock_parts/manipulator/nano sort_string = "AAABB" /datum/design/item/stock_part/pico_mani id = "pico_mani" req_tech = list(TECH_MATERIAL = 5, TECH_DATA = 2) materials = list(MAT_STEEL = 30) - build_path = /obj/item/weapon/stock_parts/manipulator/pico + build_path = /obj/item/stock_parts/manipulator/pico sort_string = "AAABC" /datum/design/item/stock_part/hyper_mani id = "hyper_mani" req_tech = list(TECH_MATERIAL = 6, TECH_DATA = 3, TECH_ARCANE = 2) materials = list(MAT_STEEL = 200, MAT_VERDANTIUM = 50, MAT_DURASTEEL = 50) - build_path = /obj/item/weapon/stock_parts/manipulator/hyper + build_path = /obj/item/stock_parts/manipulator/hyper sort_string = "AAABD" /datum/design/item/stock_part/omni_mani id = "omni_mani" req_tech = list(TECH_MATERIAL = 7, TECH_DATA = 4, TECH_PRECURSOR = 2) materials = list(MAT_STEEL = 2000, MAT_PLASTEEL = 500, MAT_MORPHIUM = 100, MAT_DURASTEEL = 100) - build_path = /obj/item/weapon/stock_parts/manipulator/omni + build_path = /obj/item/stock_parts/manipulator/omni sort_string = "AAABE" // Capacitors @@ -94,35 +94,35 @@ id = "basic_capacitor" req_tech = list(TECH_POWER = 1) materials = list(MAT_STEEL = 50, MAT_GLASS = 50) - build_path = /obj/item/weapon/stock_parts/capacitor + build_path = /obj/item/stock_parts/capacitor sort_string = "AAACA" /datum/design/item/stock_part/adv_capacitor id = "adv_capacitor" req_tech = list(TECH_POWER = 3) materials = list(MAT_STEEL = 50, MAT_GLASS = 50) - build_path = /obj/item/weapon/stock_parts/capacitor/adv + build_path = /obj/item/stock_parts/capacitor/adv sort_string = "AAACB" /datum/design/item/stock_part/super_capacitor id = "super_capacitor" req_tech = list(TECH_POWER = 5, TECH_MATERIAL = 4) materials = list(MAT_STEEL = 50, MAT_GLASS = 50, MAT_GOLD = 20) - build_path = /obj/item/weapon/stock_parts/capacitor/super + build_path = /obj/item/stock_parts/capacitor/super sort_string = "AAACC" /datum/design/item/stock_part/hyper_capacitor id = "hyper_capacitor" req_tech = list(TECH_POWER = 6, TECH_MATERIAL = 5, TECH_BLUESPACE = 1, TECH_ARCANE = 1) materials = list(MAT_STEEL = 200, MAT_GLASS = 100, MAT_VERDANTIUM = 30, MAT_DURASTEEL = 25) - build_path = /obj/item/weapon/stock_parts/capacitor/hyper + build_path = /obj/item/stock_parts/capacitor/hyper sort_string = "AAACD" /datum/design/item/stock_part/omni_capacitor id = "omni_capacitor" req_tech = list(TECH_POWER = 7, TECH_MATERIAL = 6, TECH_BLUESPACE = 3, TECH_PRECURSOR = 1) materials = list(MAT_STEEL = 2000, MAT_DIAMOND = 1000, MAT_GLASS = 1000, MAT_MORPHIUM = 100, MAT_DURASTEEL = 100) - build_path = /obj/item/weapon/stock_parts/capacitor/omni + build_path = /obj/item/stock_parts/capacitor/omni sort_string = "AAACE" // Sensors @@ -131,35 +131,35 @@ id = "basic_sensor" req_tech = list(TECH_MAGNET = 1) materials = list(MAT_STEEL = 50, MAT_GLASS = 20) - build_path = /obj/item/weapon/stock_parts/scanning_module + build_path = /obj/item/stock_parts/scanning_module sort_string = "AAADA" /datum/design/item/stock_part/adv_sensor id = "adv_sensor" req_tech = list(TECH_MAGNET = 3) materials = list(MAT_STEEL = 50, MAT_GLASS = 20) - build_path = /obj/item/weapon/stock_parts/scanning_module/adv + build_path = /obj/item/stock_parts/scanning_module/adv sort_string = "AAADB" /datum/design/item/stock_part/phasic_sensor id = "phasic_sensor" req_tech = list(TECH_MAGNET = 5, TECH_MATERIAL = 3) materials = list(MAT_STEEL = 50, MAT_GLASS = 20, MAT_SILVER = 10) - build_path = /obj/item/weapon/stock_parts/scanning_module/phasic + build_path = /obj/item/stock_parts/scanning_module/phasic sort_string = "AAADC" /datum/design/item/stock_part/hyper_sensor id = "hyper_sensor" req_tech = list(TECH_MAGNET = 6, TECH_MATERIAL = 4, TECH_ARCANE = 1) materials = list(MAT_STEEL = 50, MAT_GLASS = 20, MAT_SILVER = 50, MAT_VERDANTIUM = 40, MAT_DURASTEEL = 50) - build_path = /obj/item/weapon/stock_parts/scanning_module/hyper + build_path = /obj/item/stock_parts/scanning_module/hyper sort_string = "AAADD" /datum/design/item/stock_part/omni_sensor id = "omni_sensor" req_tech = list(TECH_MAGNET = 7, TECH_MATERIAL = 5, TECH_PRECURSOR = 1) materials = list(MAT_STEEL = 1000, MAT_PLASTEEL = 500, MAT_GLASS = 750, MAT_SILVER = 500, MAT_MORPHIUM = 60, MAT_DURASTEEL = 100) - build_path = /obj/item/weapon/stock_parts/scanning_module/omni + build_path = /obj/item/stock_parts/scanning_module/omni sort_string = "AAADE" // Micro-lasers @@ -168,35 +168,35 @@ id = "basic_micro_laser" req_tech = list(TECH_MAGNET = 1) materials = list(MAT_STEEL = 10, MAT_GLASS = 20) - build_path = /obj/item/weapon/stock_parts/micro_laser + build_path = /obj/item/stock_parts/micro_laser sort_string = "AAAEA" /datum/design/item/stock_part/high_micro_laser id = "high_micro_laser" req_tech = list(TECH_MAGNET = 3) materials = list(MAT_STEEL = 10, MAT_GLASS = 20) - build_path = /obj/item/weapon/stock_parts/micro_laser/high + build_path = /obj/item/stock_parts/micro_laser/high sort_string = "AAAEB" /datum/design/item/stock_part/ultra_micro_laser id = "ultra_micro_laser" req_tech = list(TECH_MAGNET = 5, TECH_MATERIAL = 5) materials = list(MAT_STEEL = 10, MAT_GLASS = 20, MAT_URANIUM = 10) - build_path = /obj/item/weapon/stock_parts/micro_laser/ultra + build_path = /obj/item/stock_parts/micro_laser/ultra sort_string = "AAAEC" /datum/design/item/stock_part/hyper_micro_laser id = "hyper_micro_laser" req_tech = list(TECH_MAGNET = 6, TECH_MATERIAL = 6, TECH_ARCANE = 2) materials = list(MAT_STEEL = 200, MAT_GLASS = 20, MAT_URANIUM = 30, MAT_VERDANTIUM = 50, MAT_DURASTEEL = 100) - build_path = /obj/item/weapon/stock_parts/micro_laser/hyper + build_path = /obj/item/stock_parts/micro_laser/hyper sort_string = "AAAED" /datum/design/item/stock_part/omni_micro_laser id = "omni_micro_laser" req_tech = list(TECH_MAGNET = 7, TECH_MATERIAL = 7, TECH_PRECURSOR = 2) materials = list(MAT_STEEL = 2000, MAT_GLASS = 500, MAT_URANIUM = 2000, MAT_MORPHIUM = 50, MAT_DURASTEEL = 100) - build_path = /obj/item/weapon/stock_parts/micro_laser/omni + build_path = /obj/item/stock_parts/micro_laser/omni sort_string = "AAAEE" @@ -244,7 +244,7 @@ id = "rped" req_tech = list(TECH_ENGINEERING = 3, TECH_MATERIAL = 3) materials = list(MAT_STEEL = 15000, MAT_GLASS = 5000) - build_path = /obj/item/weapon/storage/part_replacer + build_path = /obj/item/storage/part_replacer sort_string = "ABAAA" /datum/design/item/stock_part/ARPED @@ -254,7 +254,7 @@ id = "arped" req_tech = list(TECH_ENGINEERING = 5, TECH_MATERIAL = 5) materials = list(MAT_STEEL = 30000, MAT_GLASS = 10000) - build_path = /obj/item/weapon/storage/part_replacer/adv + build_path = /obj/item/storage/part_replacer/adv sort_string = "ABAAB" /datum/design/item/stock_part/PBRPED @@ -264,5 +264,5 @@ id = "pbrped" req_tech = list(TECH_ENGINEERING = 7, TECH_MATERIAL = 7, TECH_BLUESPACE = 5) materials = list(MAT_STEEL = 30000, MAT_GLASS = 10000, MAT_SILVER = 5000, MAT_GOLD = 5000, MAT_DIAMOND = 1000) - build_path = /obj/item/weapon/storage/part_replacer/adv/discount_bluespace + build_path = /obj/item/storage/part_replacer/adv/discount_bluespace sort_string = "ABAAB" \ No newline at end of file diff --git a/code/modules/research/designs/subspace_parts.dm b/code/modules/research/designs/subspace_parts.dm index 7df051ce473..b0a3eacf9a8 100644 --- a/code/modules/research/designs/subspace_parts.dm +++ b/code/modules/research/designs/subspace_parts.dm @@ -8,47 +8,47 @@ id = "s-ansible" req_tech = list(TECH_DATA = 3, TECH_MAGNET = 4, TECH_MATERIAL = 4, TECH_BLUESPACE = 2) materials = list(MAT_STEEL = 80, MAT_SILVER = 20) - build_path = /obj/item/weapon/stock_parts/subspace/ansible + build_path = /obj/item/stock_parts/subspace/ansible sort_string = "RAAAA" /datum/design/item/stock_part/subspace/hyperwave_filter id = "s-filter" req_tech = list(TECH_DATA = 3, TECH_MAGNET = 3) materials = list(MAT_STEEL = 40, MAT_SILVER = 10) - build_path = /obj/item/weapon/stock_parts/subspace/sub_filter + build_path = /obj/item/stock_parts/subspace/sub_filter sort_string = "RAAAB" /datum/design/item/stock_part/subspace/subspace_amplifier id = "s-amplifier" req_tech = list(TECH_DATA = 3, TECH_MAGNET = 4, TECH_MATERIAL = 4, TECH_BLUESPACE = 2) materials = list(MAT_STEEL = 10, MAT_GOLD = 30, MAT_URANIUM = 15) - build_path = /obj/item/weapon/stock_parts/subspace/amplifier + build_path = /obj/item/stock_parts/subspace/amplifier sort_string = "RAAAC" /datum/design/item/stock_part/subspace/subspace_treatment id = "s-treatment" req_tech = list(TECH_DATA = 3, TECH_MAGNET = 2, TECH_MATERIAL = 4, TECH_BLUESPACE = 2) materials = list(MAT_STEEL = 10, MAT_SILVER = 20) - build_path = /obj/item/weapon/stock_parts/subspace/treatment + build_path = /obj/item/stock_parts/subspace/treatment sort_string = "RAAAD" /datum/design/item/stock_part/subspace/subspace_analyzer id = "s-analyzer" req_tech = list(TECH_DATA = 3, TECH_MAGNET = 4, TECH_MATERIAL = 4, TECH_BLUESPACE = 2) materials = list(MAT_STEEL = 10, MAT_GOLD = 15) - build_path = /obj/item/weapon/stock_parts/subspace/analyzer + build_path = /obj/item/stock_parts/subspace/analyzer sort_string = "RAAAE" /datum/design/item/stock_part/subspace/subspace_crystal id = "s-crystal" req_tech = list(TECH_MAGNET = 4, TECH_MATERIAL = 4, TECH_BLUESPACE = 2) materials = list(MAT_GLASS = 1000, MAT_SILVER = 20, MAT_GOLD = 20) - build_path = /obj/item/weapon/stock_parts/subspace/crystal + build_path = /obj/item/stock_parts/subspace/crystal sort_string = "RAAAF" /datum/design/item/stock_part/subspace/subspace_transmitter id = "s-transmitter" req_tech = list(TECH_MAGNET = 5, TECH_MATERIAL = 5, TECH_BLUESPACE = 3) materials = list(MAT_GLASS = 100, MAT_SILVER = 10, MAT_URANIUM = 15) - build_path = /obj/item/weapon/stock_parts/subspace/transmitter + build_path = /obj/item/stock_parts/subspace/transmitter sort_string = "RAAAG" \ No newline at end of file diff --git a/code/modules/research/designs/tech_disks.dm b/code/modules/research/designs/tech_disks.dm index 2d8eda13fdb..3fb8306b1ee 100644 --- a/code/modules/research/designs/tech_disks.dm +++ b/code/modules/research/designs/tech_disks.dm @@ -8,7 +8,7 @@ id = "design_disk" req_tech = list(TECH_DATA = 1) materials = list(MAT_STEEL = 30, MAT_GLASS = 10) - build_path = /obj/item/weapon/disk/design_disk + build_path = /obj/item/disk/design_disk sort_string = "CAAAA" /datum/design/item/disk/tech_disk @@ -17,5 +17,5 @@ id = "tech_disk" req_tech = list(TECH_DATA = 1) materials = list(MAT_STEEL = 30, MAT_GLASS = 10) - build_path = /obj/item/weapon/disk/tech_disk + build_path = /obj/item/disk/tech_disk sort_string = "CAAAB" \ No newline at end of file diff --git a/code/modules/research/designs/uncommented.dm b/code/modules/research/designs/uncommented.dm index 81df7b8d86d..68b3a2c70c7 100644 --- a/code/modules/research/designs/uncommented.dm +++ b/code/modules/research/designs/uncommented.dm @@ -3,7 +3,7 @@ /datum/design/circuit/general_alert name = "general alert console" id = "general_alert" - build_path = /obj/item/weapon/circuitboard/general_alert + build_path = /obj/item/circuitboard/general_alert // Removal of loyalty implants. Can't think of a way to add this to the config option. /datum/design/item/implant/loyalty @@ -11,7 +11,7 @@ id = "implant_loyal" req_tech = list(TECH_MATERIAL = 2, TECH_BIO = 3) materials = list(MAT_STEEL = 7000, MAT_GLASS = 7000) - build_path = /obj/item/weapon/implantcase/loyalty" + build_path = /obj/item/implantcase/loyalty" /datum/design/rust_core_control name = "Circuit Design (RUST core controller)" @@ -20,7 +20,7 @@ req_tech = list("programming" = 4, "engineering" = 4) build_type = IMPRINTER materials = list(MAT_GLASS = 2000, "sacid" = 20) - build_path = "/obj/item/weapon/circuitboard/rust_core_control" + build_path = "/obj/item/circuitboard/rust_core_control" /datum/design/rust_fuel_control name = "Circuit Design (RUST fuel controller)" @@ -29,7 +29,7 @@ req_tech = list("programming" = 4, "engineering" = 4) build_type = IMPRINTER materials = list(MAT_GLASS = 2000, "sacid" = 20) - build_path = "/obj/item/weapon/circuitboard/rust_fuel_control" + build_path = "/obj/item/circuitboard/rust_fuel_control" /datum/design/rust_fuel_port name = "Internal circuitry (RUST fuel port)" @@ -38,7 +38,7 @@ req_tech = list("engineering" = 4, "materials" = 5) build_type = IMPRINTER materials = list(MAT_GLASS = 2000, "sacid" = 20, MAT_URANIUM = 3000) - build_path = "/obj/item/weapon/module/rust_fuel_port" + build_path = "/obj/item/module/rust_fuel_port" /datum/design/rust_fuel_compressor name = "Circuit Design (RUST fuel compressor)" @@ -47,7 +47,7 @@ req_tech = list("materials" = 6, "phorontech" = 4) build_type = IMPRINTER materials = list(MAT_GLASS = 2000, "sacid" = 20, MAT_PHORON = 3000, MAT_DIAMOND = 1000) - build_path = "/obj/item/weapon/module/rust_fuel_compressor" + build_path = "/obj/item/module/rust_fuel_compressor" /datum/design/rust_core name = "Internal circuitry (RUST tokamak core)" @@ -56,7 +56,7 @@ req_tech = list(bluespace = 3, phorontech = 4, magnets = 5, powerstorage = 6) build_type = IMPRINTER materials = list(MAT_GLASS = 2000, "sacid" = 20, MAT_PHORON = 3000, MAT_DIAMOND = 2000) - build_path = "/obj/item/weapon/circuitboard/rust_core" + build_path = "/obj/item/circuitboard/rust_core" /datum/design/rust_injector name = "Internal circuitry (RUST tokamak core)" @@ -65,5 +65,5 @@ req_tech = list(powerstorage = 3, engineering = 4, phorontech = 4, materials = 6) build_type = IMPRINTER materials = list(MAT_GLASS = 2000, "sacid" = 20, MAT_PHORON = 3000, MAT_URANIUM = 2000) - build_path = "/obj/item/weapon/circuitboard/rust_core" + build_path = "/obj/item/circuitboard/rust_core" */ diff --git a/code/modules/research/designs/weapons.dm b/code/modules/research/designs/weapons.dm index f6644babaad..bcd993b505d 100644 --- a/code/modules/research/designs/weapons.dm +++ b/code/modules/research/designs/weapons.dm @@ -23,21 +23,21 @@ id = "stunrevolver" req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3, TECH_POWER = 2) materials = list(MAT_STEEL = 4000) - build_path = /obj/item/weapon/gun/energy/stunrevolver + build_path = /obj/item/gun/energy/stunrevolver sort_string = "MAAAA" /datum/design/item/weapon/energy/nuclear_gun id = "nuclear_gun" req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 5, TECH_POWER = 3) materials = list(MAT_STEEL = 5000, MAT_GLASS = 1000, MAT_URANIUM = 500) - build_path = /obj/item/weapon/gun/energy/gun/nuclear + build_path = /obj/item/gun/energy/gun/nuclear sort_string = "MAAAB" /datum/design/item/weapon/energy/phoronpistol id = "ppistol" req_tech = list(TECH_COMBAT = 5, TECH_PHORON = 4) materials = list(MAT_STEEL = 5000, MAT_GLASS = 1000, MAT_PHORON = 3000) - build_path = /obj/item/weapon/gun/energy/toxgun + build_path = /obj/item/gun/energy/toxgun sort_string = "MAAAC" /datum/design/item/weapon/energy/lasercannon @@ -45,14 +45,14 @@ id = "lasercannon" req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 3, TECH_POWER = 3) materials = list(MAT_STEEL = 10000, MAT_GLASS = 1000, MAT_DIAMOND = 2000) - build_path = /obj/item/weapon/gun/energy/lasercannon + build_path = /obj/item/gun/energy/lasercannon sort_string = "MAAAD" /datum/design/item/weapon/energy/decloner id = "decloner" req_tech = list(TECH_COMBAT = 8, TECH_MATERIAL = 7, TECH_BIO = 5, TECH_POWER = 6) materials = list(MAT_GOLD = 5000,MAT_URANIUM = 10000) - build_path = /obj/item/weapon/gun/energy/decloner + build_path = /obj/item/gun/energy/decloner sort_string = "MAAAE" /datum/design/item/weapon/energy/temp_gun @@ -60,21 +60,21 @@ id = "temp_gun" req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 4, TECH_POWER = 3, TECH_MAGNET = 2) materials = list(MAT_STEEL = 5000, MAT_GLASS = 500, MAT_SILVER = 3000) - build_path = /obj/item/weapon/gun/energy/temperature + build_path = /obj/item/gun/energy/temperature sort_string = "MAAAF" /datum/design/item/weapon/energy/flora_gun id = "flora_gun" req_tech = list(TECH_MATERIAL = 2, TECH_BIO = 3, TECH_POWER = 3) materials = list(MAT_STEEL = 2000, MAT_GLASS = 500, MAT_URANIUM = 500) - build_path = /obj/item/weapon/gun/energy/floragun + build_path = /obj/item/gun/energy/floragun sort_string = "MAAAG" /datum/design/item/weapon/energy/vinstunrevolver id = "vinstunrevolver" req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3, TECH_POWER = 2) materials = list(MAT_STEEL = 4000) - build_path = /obj/item/weapon/gun/energy/stunrevolver/vintage + build_path = /obj/item/gun/energy/stunrevolver/vintage sort_string = "MAAAH" // Ballistic weapons @@ -88,7 +88,7 @@ desc = "An advanced 9mm SMG with a reflective laser optic." req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 3) materials = list(MAT_STEEL = 8000, MAT_SILVER = 2000, MAT_DIAMOND = 1000) - build_path = /obj/item/weapon/gun/projectile/automatic/advanced_smg + build_path = /obj/item/gun/projectile/automatic/advanced_smg sort_string = "MABAA" // Ballistic ammo @@ -135,28 +135,28 @@ id = "phasepistol" req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 2, TECH_POWER = 2) materials = list(MAT_STEEL = 4000) - build_path = /obj/item/weapon/gun/energy/phasegun/pistol + build_path = /obj/item/gun/energy/phasegun/pistol sort_string = "MACAA" /datum/design/item/weapon/phase/phase_carbine id = "phasecarbine" req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 2, TECH_POWER = 2) materials = list(MAT_STEEL = 6000, MAT_GLASS = 1500) - build_path = /obj/item/weapon/gun/energy/phasegun + build_path = /obj/item/gun/energy/phasegun sort_string = "MACAB" /datum/design/item/weapon/phase/phase_rifle id = "phaserifle" req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 3, TECH_POWER = 3) materials = list(MAT_STEEL = 7000, MAT_GLASS = 2000, MAT_SILVER = 500) - build_path = /obj/item/weapon/gun/energy/phasegun/rifle + build_path = /obj/item/gun/energy/phasegun/rifle sort_string = "MACAC" /datum/design/item/weapon/phase/phase_cannon id = "phasecannon" req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 4, TECH_POWER = 4) materials = list(MAT_STEEL = 10000, MAT_GLASS = 2000, MAT_SILVER = 1000, MAT_DIAMOND = 750) - build_path = /obj/item/weapon/gun/energy/phasegun/cannon + build_path = /obj/item/gun/energy/phasegun/cannon sort_string = "MACAD" */ //VOREStation Removal End @@ -166,7 +166,7 @@ id = "rapidsyringe" req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3, TECH_ENGINEERING = 3, TECH_BIO = 2) materials = list(MAT_STEEL = 5000, MAT_GLASS = 1000) - build_path = /obj/item/weapon/gun/launcher/syringe/rapid + build_path = /obj/item/gun/launcher/syringe/rapid sort_string = "MADAA" /datum/design/item/weapon/dartgun @@ -174,7 +174,7 @@ id = "dartgun_r" req_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 4, TECH_BIO = 4, TECH_MAGNET = 3, TECH_ILLEGAL = 1) materials = list(MAT_STEEL = 5000, MAT_GOLD = 5000, MAT_SILVER = 2500, MAT_GLASS = 750) - build_path = /obj/item/weapon/gun/projectile/dartgun/research + build_path = /obj/item/gun/projectile/dartgun/research sort_string = "MADAB" /datum/design/item/weapon/chemsprayer @@ -182,14 +182,14 @@ id = "chemsprayer" req_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 3, TECH_BIO = 2) materials = list(MAT_STEEL = 5000, MAT_GLASS = 1000) - build_path = /obj/item/weapon/reagent_containers/spray/chemsprayer + build_path = /obj/item/reagent_containers/spray/chemsprayer sort_string = "MADAC" /datum/design/item/weapon/fuelrod id = "fuelrod_gun" req_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 4, TECH_PHORON = 4, TECH_ILLEGAL = 5, TECH_MAGNET = 5) materials = list(MAT_STEEL = 10000, MAT_GLASS = 2000, MAT_GOLD = 500, MAT_SILVER = 500, MAT_URANIUM = 1000, MAT_PHORON = 3000, MAT_DIAMOND = 1000) - build_path = /obj/item/weapon/gun/magnetic/fuelrod + build_path = /obj/item/gun/magnetic/fuelrod sort_string = "MADAD" // Ammo for those @@ -226,7 +226,7 @@ id = "magnetic_ammo" req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 4, TECH_MAGNET = 4) materials = list(MAT_STEEL = 500, MAT_GOLD = 300, MAT_GLASS = 150, MAT_PHORON = 100) - build_path = /obj/item/weapon/magnetic_ammo + build_path = /obj/item/magnetic_ammo sort_string = "MADBE" // Melee weapons @@ -240,7 +240,7 @@ id = "chargesword" req_tech = list(TECH_COMBAT = 6, TECH_MAGNET = 4, TECH_ENGINEERING = 5, TECH_ILLEGAL = 4, TECH_ARCANE = 1) materials = list(MAT_PLASTEEL = 3500, MAT_GLASS = 1000, MAT_LEAD = 2250, MAT_METALHYDROGEN = 500) - build_path = /obj/item/weapon/melee/energy/sword/charge + build_path = /obj/item/melee/energy/sword/charge sort_string = "MBAAA" /datum/design/item/weapon/melee/eaxe @@ -248,7 +248,7 @@ id = "chargeaxe" req_tech = list(TECH_COMBAT = 6, TECH_MAGNET = 5, TECH_ENGINEERING = 4, TECH_ILLEGAL = 4) materials = list(MAT_PLASTEEL = 3500, MAT_OSMIUM = 2000, MAT_LEAD = 2000, MAT_METALHYDROGEN = 500) - build_path = /obj/item/weapon/melee/energy/axe/charge + build_path = /obj/item/melee/energy/axe/charge sort_string = "MBAAB" // Grenade stuff @@ -260,5 +260,5 @@ id = "large_Grenade" req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 2) materials = list(MAT_STEEL = 3000) - build_path = /obj/item/weapon/grenade/chem_grenade/large + build_path = /obj/item/grenade/chem_grenade/large sort_string = "MCAAA" diff --git a/code/modules/research/designs/weapons_vr.dm b/code/modules/research/designs/weapons_vr.dm index 05933c871e0..83f05512b69 100644 --- a/code/modules/research/designs/weapons_vr.dm +++ b/code/modules/research/designs/weapons_vr.dm @@ -14,7 +14,7 @@ id = "protector" req_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 3, TECH_MAGNET = 2) materials = list(MAT_STEEL = 4000, MAT_GLASS = 2000, MAT_SILVER = 1000) - build_path = /obj/item/weapon/gun/energy/gun/protector + build_path = /obj/item/gun/energy/gun/protector sort_string = "MAAVA" /datum/design/item/weapon/energy/sickshot @@ -22,7 +22,7 @@ id = "sickshot" req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3, TECH_MAGNET = 2) materials = list(MAT_STEEL = 3000, MAT_GLASS = 2000) - build_path = /obj/item/weapon/gun/energy/sickshot + build_path = /obj/item/gun/energy/sickshot sort_string = "MAAVB" /datum/design/item/weapon/energy/netgun @@ -30,7 +30,7 @@ id = "netgun" req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 5, TECH_MAGNET = 3) materials = list(MAT_STEEL = 6000, MAT_GLASS = 3000) - build_path = /obj/item/weapon/gun/energy/netgun + build_path = /obj/item/gun/energy/netgun sort_string = "MAAVC" // Misc weapons @@ -40,7 +40,7 @@ id = "pummeler" req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3, TECH_MAGNET = 5) materials = list(MAT_STEEL = 3000, MAT_GLASS = 3000, MAT_URANIUM = 1000) - build_path = /obj/item/weapon/gun/energy/pummeler + build_path = /obj/item/gun/energy/pummeler sort_string = "MADVA" // Anti-particle stuff @@ -54,7 +54,7 @@ id = "advparticle" req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 5, TECH_POWER = 3, TECH_MAGNET = 3) materials = list(MAT_STEEL = 5000, MAT_GLASS = 1000, MAT_GOLD = 1000, MAT_URANIUM = 750) - build_path = /obj/item/weapon/gun/energy/particle/advanced + build_path = /obj/item/gun/energy/particle/advanced sort_string = "MAAUA" /datum/design/item/weapon/particle/particlecannon @@ -62,7 +62,7 @@ id = "particlecannon" req_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 5, TECH_POWER = 4, TECH_MAGNET = 4) materials = list(MAT_STEEL = 10000, MAT_GLASS = 1500, MAT_GOLD = 2000, MAT_URANIUM = 1000, MAT_DIAMOND = 2000) - build_path = /obj/item/weapon/gun/energy/particle/cannon + build_path = /obj/item/gun/energy/particle/cannon sort_string = "MAAUB" /datum/design/item/weapon/particle/pressureinterlock @@ -83,7 +83,7 @@ id = "nsfw_prototype" req_tech = list(TECH_MATERIAL = 6, TECH_MAGNET = 4, TECH_POWER = 4, TECH_COMBAT = 7) materials = list(MAT_STEEL = 10000, MAT_GLASS = 6000, MAT_PHORON = 8000, MAT_URANIUM = 4000) - build_path = /obj/item/weapon/gun/projectile/cell_loaded/combat/prototype + build_path = /obj/item/gun/projectile/cell_loaded/combat/prototype sort_string = "MAVAA" /datum/design/item/weapon/cell_based/prototype_nsfw_mag diff --git a/code/modules/research/designs/weapons_yw.dm b/code/modules/research/designs/weapons_yw.dm index aa3a182fc8d..5576d38d825 100644 --- a/code/modules/research/designs/weapons_yw.dm +++ b/code/modules/research/designs/weapons_yw.dm @@ -3,5 +3,5 @@ id = "huntergun" req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 6, TECH_MAGNET = 4) materials = list(MAT_STEEL = 6000, MAT_GLASS = 3000, MAT_GOLD = 1000) - build_path = /obj/item/weapon/gun/energy/hunter + build_path = /obj/item/gun/energy/hunter sort_string = "MAAVC" diff --git a/code/modules/research/designs/xenoarch_toys.dm b/code/modules/research/designs/xenoarch_toys.dm index 5d90867a954..5ce5ff89155 100644 --- a/code/modules/research/designs/xenoarch_toys.dm +++ b/code/modules/research/designs/xenoarch_toys.dm @@ -10,14 +10,14 @@ desc = "Aids in triangulation of exotic particles." req_tech = list(TECH_BLUESPACE = 3, TECH_MAGNET = 3) materials = list(MAT_STEEL = 10000,MAT_GLASS = 5000) - build_path = /obj/item/device/ano_scanner + build_path = /obj/item/ano_scanner sort_string = "GAAAA" /datum/design/item/weapon/xenoarch/xenoarch_multi_tool name = "xenoarcheology multitool" id = "xenoarch_multitool" req_tech = list(TECH_MAGNET = 3, TECH_ENGINEERING = 3, TECH_BLUESPACE = 3) - build_path = /obj/item/device/xenoarch_multi_tool + build_path = /obj/item/xenoarch_multi_tool materials = list(MAT_STEEL = 2000, MAT_GLASS = 1000, MAT_URANIUM = 500, MAT_PHORON = 500) sort_string = "GAAAB" @@ -27,5 +27,5 @@ req_tech = list(TECH_MATERIAL = 3, TECH_POWER = 2, TECH_ENGINEERING = 2, TECH_BLUESPACE = 3) build_type = PROTOLATHE materials = list(MAT_STEEL = 4000, MAT_GLASS = 4000) - build_path = /obj/item/weapon/pickaxe/excavationdrill - sort_string = "GAAAC" \ No newline at end of file + build_path = /obj/item/pickaxe/excavationdrill + sort_string = "GAAAC" diff --git a/code/modules/research/designs/xenobio_toys.dm b/code/modules/research/designs/xenobio_toys.dm index 2c7f3f402ae..ebd3cd49b66 100644 --- a/code/modules/research/designs/xenobio_toys.dm +++ b/code/modules/research/designs/xenobio_toys.dm @@ -8,14 +8,14 @@ id = "slimebaton" req_tech = list(TECH_MATERIAL = 2, TECH_BIO = 2, TECH_POWER = 3, TECH_COMBAT = 3) materials = list(MAT_STEEL = 5000) - build_path = /obj/item/weapon/melee/baton/slime + build_path = /obj/item/melee/baton/slime sort_string = "HAAAA" /datum/design/item/weapon/xenobio/slimetaser id = "slimetaser" req_tech = list(TECH_MATERIAL = 3, TECH_BIO = 3, TECH_POWER = 4, TECH_COMBAT = 4) materials = list(MAT_STEEL = 5000) - build_path = /obj/item/weapon/gun/energy/taser/xeno + build_path = /obj/item/gun/energy/taser/xeno sort_string = "HAAAB" // Other @@ -26,5 +26,5 @@ id = "slime_scanner" req_tech = list(TECH_MAGNET = 2, TECH_BIO = 2) materials = list(MAT_STEEL = 500, MAT_GLASS = 500) - build_path = /obj/item/device/slime_scanner - sort_string = "HBAAA" \ No newline at end of file + build_path = /obj/item/slime_scanner + sort_string = "HBAAA" diff --git a/code/modules/research/designs/xenobio_toys_vr.dm b/code/modules/research/designs/xenobio_toys_vr.dm index 39491c1b0c3..1d2f4e93f24 100644 --- a/code/modules/research/designs/xenobio_toys_vr.dm +++ b/code/modules/research/designs/xenobio_toys_vr.dm @@ -4,7 +4,7 @@ id = "monkey_gun" req_tech = list(TECH_MATERIAL = 3, TECH_BIO = 3, TECH_POWER = 4, TECH_COMBAT = 4, TECH_BLUESPACE = 6) materials = list(MAT_PLASTEEL = 5000, MAT_GLASS = 5000, MAT_DIAMOND = 500, MAT_MORPHIUM = 350) - build_path = /obj/item/weapon/xenobio/monkey_gun + build_path = /obj/item/xenobio/monkey_gun sort_string = "HBBA" /datum/design/item/weapon/xenobio/grinder @@ -13,5 +13,5 @@ id = "slime_grinder" req_tech = list(TECH_MAGNET = 4, TECH_BIO = 7) materials = list(MAT_STEEL = 500, MAT_GLASS = 500, MAT_DIAMOND = 500, MAT_MORPHIUM = 100) - build_path = /obj/item/weapon/slime_grinder - sort_string = "HBBB" \ No newline at end of file + build_path = /obj/item/slime_grinder + sort_string = "HBBB" diff --git a/code/modules/research/destructive_analyzer.dm b/code/modules/research/destructive_analyzer.dm index 6b5c6ee2955..1fdb3c196c0 100644 --- a/code/modules/research/destructive_analyzer.dm +++ b/code/modules/research/destructive_analyzer.dm @@ -9,9 +9,9 @@ Note: Must be placed within 3 tiles of the R&D Console /obj/machinery/r_n_d/destructive_analyzer name = "destructive analyzer" icon_state = "d_analyzer" - var/obj/item/weapon/loaded_item = null + var/obj/item/loaded_item = null var/decon_mod = 0 - circuit = /obj/item/weapon/circuitboard/destructive_analyzer + circuit = /obj/item/circuitboard/destructive_analyzer use_power = USE_POWER_IDLE idle_power_usage = 30 active_power_usage = 2500 @@ -23,7 +23,7 @@ Note: Must be placed within 3 tiles of the R&D Console /obj/machinery/r_n_d/destructive_analyzer/RefreshParts() var/T = 0 - for(var/obj/item/weapon/stock_parts/S in component_parts) + for(var/obj/item/stock_parts/S in component_parts) T += S.rating T *= 0.1 decon_mod = clamp(T, 0, 1) @@ -38,10 +38,10 @@ Note: Must be placed within 3 tiles of the R&D Console /obj/machinery/r_n_d/destructive_analyzer/attackby(var/obj/item/O as obj, var/mob/user as mob) if(busy) - to_chat(user, "\The [src] is busy right now.") + to_chat(user, span_notice("\The [src] is busy right now.")) return if(loaded_item) - to_chat(user, "There is something already loaded into \the [src].") + to_chat(user, span_notice("There is something already loaded into \the [src].")) return 1 if(default_deconstruction_screwdriver(user, O)) if(linked_console) @@ -53,25 +53,25 @@ Note: Must be placed within 3 tiles of the R&D Console if(default_part_replacement(user, O)) return if(panel_open) - to_chat(user, "You can't load \the [src] while it's opened.") + to_chat(user, span_notice("You can't load \the [src] while it's opened.")) return 1 if(!linked_console) - to_chat(user, "\The [src] must be linked to an R&D console first.") + to_chat(user, span_notice("\The [src] must be linked to an R&D console first.")) return if(!loaded_item) if(isrobot(user)) //Don't put your module items in there! return if(!O.origin_tech) - to_chat(user, "This doesn't seem to have a tech origin.") + to_chat(user, span_notice("This doesn't seem to have a tech origin.")) return if(O.origin_tech.len == 0) - to_chat(user, "You cannot deconstruct this item.") + to_chat(user, span_notice("You cannot deconstruct this item.")) return busy = 1 loaded_item = O user.drop_item() O.loc = src - to_chat(user, "You add \the [O] to \the [src].") + to_chat(user, span_notice("You add \the [O] to \the [src].")) flick("d_analyzer_la", src) spawn(10) update_icon() @@ -80,17 +80,17 @@ Note: Must be placed within 3 tiles of the R&D Console return /obj/machinery/r_n_d/destructive_analyzer/MouseDrop_T(atom/dropping, mob/living/user) - if(istype(dropping, /obj/item/weapon/storage/part_replacer)) - var/obj/item/weapon/storage/part_replacer/replacer = dropping + if(istype(dropping, /obj/item/storage/part_replacer)) + var/obj/item/storage/part_replacer/replacer = dropping replacer.hide_from(user) if(!linked_console) - to_chat(user, "\The [src] must be linked to an R&D console first.") + to_chat(user, span_notice("\The [src] must be linked to an R&D console first.")) return 0 if(!linked_console.linked_lathe) - to_chat(user, "Link a protolathe to [src]'s R&D console first.") + to_chat(user, span_notice("Link a protolathe to [src]'s R&D console first.")) return 0 if(!rped_recycler_ready) - to_chat(user, "\The [src]'s stock parts recycler isn't ready yet.") + to_chat(user, span_notice("\The [src]'s stock parts recycler isn't ready yet.")) return 0 var/obj/machinery/r_n_d/protolathe/lathe_to_fill = linked_console.linked_lathe var/lowest_rating = INFINITY // We want the lowest-part tier rating in the RPED so we only recycle the lowest-tier parts. @@ -98,7 +98,7 @@ Note: Must be placed within 3 tiles of the R&D Console if(B.rped_rating() < lowest_rating) lowest_rating = B.rped_rating() if(lowest_rating == INFINITY) - to_chat(user, "Mass part deconstruction attempt canceled - no valid parts for recycling detected.") + to_chat(user, span_notice("Mass part deconstruction attempt canceled - no valid parts for recycling detected.")) return 0 for(var/obj/item/B in replacer.contents) if(B.rped_rating() > lowest_rating) @@ -111,7 +111,7 @@ Note: Must be placed within 3 tiles of the R&D Console playsound(get_turf(src), 'sound/machines/click.ogg', 50, 1) rped_recycler_ready = FALSE addtimer(CALLBACK(src, PROC_REF(rped_ready)), 5 SECONDS) - to_chat(user, "You deconstruct all the parts of rating [lowest_rating] in [replacer] with [src].") + to_chat(user, span_notice("You deconstruct all the parts of rating [lowest_rating] in [replacer] with [src].")) return 1 else ..() diff --git a/code/modules/research/mechfab_designs.dm b/code/modules/research/mechfab_designs.dm index 834ba13efb1..66eece8efcc 100644 --- a/code/modules/research/mechfab_designs.dm +++ b/code/modules/research/mechfab_designs.dm @@ -783,7 +783,7 @@ req_tech = list(TECH_MAGNET = 3, TECH_COMBAT = 2) build_type = MECHFAB materials = list(MAT_STEEL = 562, MAT_GLASS = 562) - build_path = /obj/item/device/flash/synthetic + build_path = /obj/item/flash/synthetic category = list("Misc") /* @@ -801,7 +801,7 @@ id = "vehicle_chassis_spacebike" req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 6, TECH_BLUESPACE = 3, TECH_PHORON = 3) materials = list(MAT_STEEL = 12000, MAT_SILVER = 3000, MAT_PHORON = 3000, MAT_OSMIUM = 1000) - build_path = /obj/item/weapon/vehicle_assembly/spacebike + build_path = /obj/item/vehicle_assembly/spacebike /datum/design/item/mechfab/vehicle/quadbike_chassis name = "Quad bike Chassis" @@ -809,7 +809,7 @@ id = "vehicle_chassis_quadbike" req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 6, TECH_MAGNET = 3, TECH_POWER = 2) materials = list(MAT_STEEL = 15000, MAT_SILVER = 3000, MAT_PLASTIC = 3000, MAT_OSMIUM = 1000) - build_path = /obj/item/weapon/vehicle_assembly/quadbike + build_path = /obj/item/vehicle_assembly/quadbike /datum/design/item/mechfab/vehicle/snowmobile_chassis name = "Snowmobile Chassis" @@ -817,7 +817,7 @@ id = "vehicle_chassis_snowmobile" req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 6, TECH_MAGNET = 3, TECH_POWER = 2) materials = list(MAT_STEEL = 12000, MAT_SILVER = 3000, MAT_PLASTIC = 3000, MAT_OSMIUM = 1000) - build_path = /obj/item/weapon/vehicle_assembly/snowmobile + build_path = /obj/item/vehicle_assembly/snowmobile /* * Rigsuits @@ -832,7 +832,7 @@ desc = "A belt holding a compressed space-suit." id = "rigmodule_belt_basic" materials = list(MAT_PLASTEEL = 12000, MAT_GOLD = 3000, MAT_GRAPHITE = 3000, MAT_OSMIUM = 1000, MAT_PLASTIC = 5000) - build_path = /obj/item/weapon/rig/robotics + build_path = /obj/item/rig/robotics /datum/design/item/mechfab/rigsuit/jetpack name = "hardsuit maneuvering jets" @@ -1092,7 +1092,7 @@ /datum/design/item/mechfab/uav/basic name = "UAV - Recon Skimmer" id = "recon_skimmer" - build_path = /obj/item/device/uav + build_path = /obj/item/uav time = 20 req_tech = list(TECH_MATERIAL = 6, TECH_ENGINEERING = 5, TECH_PHORON = 3, TECH_MAGNET = 4, TECH_POWER = 6) materials = list(MAT_STEEL = 10000, MAT_GLASS = 6000, MAT_SILVER = 4000) diff --git a/code/modules/research/message_server.dm b/code/modules/research/message_server.dm index 5d65c6f9a23..88c4ac92af2 100644 --- a/code/modules/research/message_server.dm +++ b/code/modules/research/message_server.dm @@ -143,19 +143,19 @@ var/global/list/obj/machinery/message_server/message_servers = list() /obj/machinery/message_server/attack_hand(user as mob) // to_chat(user, "There seem to be some parts missing from this server. They should arrive on the station in a few days, give or take a few CentCom delays.") - to_chat(user, "You toggle PDA message passing from [active ? "On" : "Off"] to [active ? "Off" : "On"].") + to_chat(user, span_filter_notice("You toggle PDA message passing from [active ? "On" : "Off"] to [active ? "Off" : "On"].")) active = !active update_icon() return -/obj/machinery/message_server/attackby(obj/item/weapon/O as obj, mob/living/user as mob) +/obj/machinery/message_server/attackby(obj/item/O as obj, mob/living/user as mob) if (active && !(stat & (BROKEN|NOPOWER)) && (spamfilter_limit < MESSAGE_SERVER_DEFAULT_SPAM_LIMIT*2) && \ - istype(O,/obj/item/weapon/circuitboard/message_monitor)) + istype(O,/obj/item/circuitboard/message_monitor)) spamfilter_limit += round(MESSAGE_SERVER_DEFAULT_SPAM_LIMIT / 2) user.drop_item() qdel(O) - to_chat(user, "You install additional memory and processors into message server. Its filtering capabilities been enhanced.") + to_chat(user, span_filter_notice("You install additional memory and processors into message server. Its filtering capabilities been enhanced.")) else ..(O, user) diff --git a/code/modules/research/prosfab_designs.dm b/code/modules/research/prosfab_designs.dm index a0a5bafc2c4..0c88d946888 100644 --- a/code/modules/research/prosfab_designs.dm +++ b/code/modules/research/prosfab_designs.dm @@ -83,6 +83,7 @@ H.b_skin = 0 H.dna.ResetUIFrom(H) + H.allow_spontaneous_tf = TRUE // Allows vore customization of synthmorphs H.real_name = "Synthmorph #[rand(100,999)]" H.name = H.real_name H.dir = 2 @@ -376,7 +377,51 @@ /datum/design/item/prosfab/cyborg/component/ai_shell name = "AI Remote Interface" id = "mmi_ai_shell" - build_path = /obj/item/device/mmi/inert/ai_remote + build_path = /obj/item/mmi/inert/ai_remote + +//////////////////// Advanced Components //////////////////// +/datum/design/item/prosfab/cyborg/component/radio_upgraded + name = "Improved Radio" + id = "improved_radio" + build_path = /obj/item/robot_parts/robot_component/radio/upgraded + req_tech = list(TECH_MAGNET = 7, TECH_MATERIAL = 5, TECH_PRECURSOR = 1) + materials = list(MAT_STEEL = 10000, MAT_DIAMOND = 2000, MAT_PLASTEEL = 3000, MAT_GLASS = 6500, MAT_SILVER = 3000, MAT_MORPHIUM = 560, MAT_DURASTEEL = 800) + +/datum/design/item/prosfab/cyborg/component/actuator_upgraded + name = "Improved Actuator" + id = "improved_actuator" + build_path = /obj/item/robot_parts/robot_component/actuator/upgraded + req_tech = list(TECH_MAGNET = 7, TECH_MATERIAL = 5, TECH_PRECURSOR = 1) + materials = list(MAT_STEEL = 10000, MAT_PLASTEEL = 2500, MAT_MORPHIUM = 500, MAT_DURASTEEL = 500) + +/datum/design/item/prosfab/cyborg/component/diagnosis_unit_upgraded + name = "Improved Diagnosis Unit" + id = "improved_diagnosis_unit" + build_path = /obj/item/robot_parts/robot_component/diagnosis_unit/upgraded + req_tech = list(TECH_MAGNET = 7, TECH_MATERIAL = 5, TECH_PRECURSOR = 1) + materials = list(MAT_STEEL = 10000, MAT_DIAMOND = 2000, MAT_URANIUM = 4000, MAT_PLASTEEL = 1000, MAT_GLASS = 400, MAT_SILVER = 1000, MAT_MORPHIUM = 420, MAT_DURASTEEL = 600) + +/datum/design/item/prosfab/cyborg/component/camera_upgraded + name = "Improved Camera" + id = "improved_camera" + build_path = /obj/item/robot_parts/robot_component/camera/upgraded + req_tech = list(TECH_MAGNET = 7, TECH_MATERIAL = 5, TECH_PRECURSOR = 1) + materials = list(MAT_STEEL = 10000, MAT_DIAMOND = 2000, MAT_PLASTEEL = 3000, MAT_GLASS = 6500, MAT_SILVER = 3000, MAT_MORPHIUM = 560, MAT_DURASTEEL = 800) + +/datum/design/item/prosfab/cyborg/component/binary_communication_device/upgraded + name = "Improved Binary Communication Device" + id = "improved_binary_communication_device" + build_path = /obj/item/robot_parts/robot_component/binary_communication_device/upgraded + req_tech = list(TECH_MAGNET = 7, TECH_MATERIAL = 5, TECH_PRECURSOR = 1) + materials = list(MAT_STEEL = 10000, MAT_DIAMOND = 2000, MAT_PLASTEEL = 3000, MAT_GLASS = 6500, MAT_GOLD = 3000, MAT_DURASTEEL = 800) + +/datum/design/item/prosfab/cyborg/component/armour_very_heavy + name = "Armour Plating (Prototype)" + id = "titan_armour" + build_path = /obj/item/robot_parts/robot_component/armour/armour_titan + req_tech = list(TECH_MATERIAL = 9, TECH_PRECURSOR = 3) + materials = list(MAT_STEEL = 12000, MAT_MORPHIUM = 3000, MAT_DURASTEEL = 5000) + //////////////////// Cyborg Modules //////////////////// /datum/design/item/prosfab/robot_upgrade diff --git a/code/modules/research/protolathe.dm b/code/modules/research/protolathe.dm index 57474f3bc1b..0fc4de44c62 100644 --- a/code/modules/research/protolathe.dm +++ b/code/modules/research/protolathe.dm @@ -2,7 +2,7 @@ name = "Protolathe" icon_state = "protolathe" flags = OPENCONTAINER - circuit = /obj/item/weapon/circuitboard/protolathe + circuit = /obj/item/circuitboard/protolathe use_power = USE_POWER_IDLE idle_power_usage = 30 active_power_usage = 5000 @@ -69,13 +69,11 @@ build(D) progress = 0 removeFromQueue(1) - if(linked_console) - linked_console.updateUsrDialog() flick("[initial(icon_state)]_finish", src) update_icon() else if(busy) - visible_message("[icon2html(src,viewers(src))] flashes: insufficient materials: [getLackingMaterials(D)].") + visible_message(span_notice("[icon2html(src,viewers(src))] flashes: insufficient materials: [getLackingMaterials(D)].")) busy = 0 update_icon() @@ -87,14 +85,14 @@ /obj/machinery/r_n_d/protolathe/RefreshParts() var/T = 0 - for(var/obj/item/weapon/reagent_containers/glass/G in component_parts) + for(var/obj/item/reagent_containers/glass/G in component_parts) T += G.reagents.maximum_volume create_reagents(T) max_material_storage = 0 - for(var/obj/item/weapon/stock_parts/matter_bin/M in component_parts) + for(var/obj/item/stock_parts/matter_bin/M in component_parts) max_material_storage += M.rating * 75000 T = 0 - for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts) + for(var/obj/item/stock_parts/manipulator/M in component_parts) T += M.rating mat_efficiency = max(1 - (T - 2) / 8, 0.2) speed = T / 2 @@ -121,7 +119,7 @@ /obj/machinery/r_n_d/protolathe/attackby(var/obj/item/O as obj, var/mob/user as mob) if(busy) - to_chat(user, "\The [src] is busy. Please wait for completion of previous operation.") + to_chat(user, span_notice("\The [src] is busy. Please wait for completion of previous operation.")) return 1 if(default_deconstruction_screwdriver(user, O)) if(linked_console) @@ -134,23 +132,23 @@ return if(O.is_open_container()) return 1 - if(istype(O, /obj/item/weapon/gripper/no_use/loader)) + if(istype(O, /obj/item/gripper/no_use/loader)) return 0 //Sheet loaders weren't finishing attack(), this prevents the message "You can't stuff that gripper into this" without preventing the rest of the attack sequence from finishing if(panel_open) - to_chat(user, "You can't load \the [src] while it's opened.") + to_chat(user, span_notice("You can't load \the [src] while it's opened.")) return 1 if(!linked_console) - to_chat(user, "\The [src] must be linked to an R&D console first!") + to_chat(user, span_notice("\The [src] must be linked to an R&D console first!")) return 1 if(!istype(O, /obj/item/stack/material)) - to_chat(user, "You cannot insert this item into \the [src]!") + to_chat(user, span_notice("You cannot insert this item into \the [src]!")) return 1 if(stat) return 1 var/obj/item/stack/material/S = O if(!(S.material.name in materials)) - to_chat(user, "The [src] doesn't accept [S.material]!") + to_chat(user, span_warning("The [src] doesn't accept [S.material]!")) return busy = 1 @@ -168,9 +166,9 @@ materials[S.material.name] += amnt S.use(1) count++ - to_chat(user, "You insert [count] [sname] into the fabricator.") + to_chat(user, span_filter_notice("You insert [count] [sname] into the fabricator.")) else - to_chat(user, "The fabricator cannot hold more [sname].") + to_chat(user, span_filter_notice("The fabricator cannot hold more [sname].")) busy = 0 var/stacktype = S.type @@ -179,7 +177,6 @@ spawn(10) cut_overlay("protolathe_[t]") - updateUsrDialog() return /obj/machinery/r_n_d/protolathe/proc/addToQueue(var/datum/design/D) @@ -187,8 +184,9 @@ return /obj/machinery/r_n_d/protolathe/proc/removeFromQueue(var/index) - queue.Cut(index, index + 1) - return + if(queue.len >= index) + queue.Cut(index, index + 1) + return /obj/machinery/r_n_d/protolathe/proc/canBuild(var/datum/design/D) for(var/M in D.materials) diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index b2b2e4129a6..c97c9df4c77 100755 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -33,10 +33,10 @@ won't update every console in existence) but it's more of a hassle to do. Also, icon_keyboard = "rd_key" icon_screen = "rdcomp" light_color = "#a97faa" - circuit = /obj/item/weapon/circuitboard/rdconsole + circuit = /obj/item/circuitboard/rdconsole var/datum/research/files //Stores all the collected research data. - var/obj/item/weapon/disk/tech_disk/t_disk = null //Stores the technology disk. - var/obj/item/weapon/disk/design_disk/d_disk = null //Stores the design disk. + var/obj/item/disk/tech_disk/t_disk = null //Stores the technology disk. + var/obj/item/disk/design_disk/d_disk = null //Stores the design disk. var/obj/machinery/r_n_d/destructive_analyzer/linked_destroy = null //Linked Destructive Analyzer var/obj/machinery/r_n_d/protolathe/linked_lathe = null //Linked Protolathe @@ -116,23 +116,23 @@ won't update every console in existence) but it's more of a hassle to do. Also, SyncRDevices() . = ..() -/obj/machinery/computer/rdconsole/attackby(var/obj/item/weapon/D as obj, var/mob/user as mob) +/obj/machinery/computer/rdconsole/attackby(var/obj/item/D as obj, var/mob/user as mob) //Loading a disk into it. - if(istype(D, /obj/item/weapon/disk)) + if(istype(D, /obj/item/disk)) if(t_disk || d_disk) - to_chat(user, "A disk is already loaded into the machine.") + to_chat(user, span_filter_notice("A disk is already loaded into the machine.")) return - if(istype(D, /obj/item/weapon/disk/tech_disk)) + if(istype(D, /obj/item/disk/tech_disk)) t_disk = D - else if (istype(D, /obj/item/weapon/disk/design_disk)) + else if (istype(D, /obj/item/disk/design_disk)) d_disk = D else - to_chat(user, "Machine cannot accept disks in that format.") + to_chat(user, span_notice("Machine cannot accept disks in that format.")) return user.drop_item() D.loc = src - to_chat(user, "You add \the [D] to the machine.") + to_chat(user, span_notice("You add \the [D] to the machine.")) else //The construction/deconstruction of the console code. ..() @@ -153,7 +153,7 @@ won't update every console in existence) but it's more of a hassle to do. Also, if(!emagged) playsound(src, 'sound/effects/sparks4.ogg', 75, 1) emagged = 1 - to_chat(user, "You disable the security protocols.") + to_chat(user, span_notice("You disable the security protocols.")) return 1 /obj/machinery/computer/rdconsole/proc/GetResearchLevelsInfo() diff --git a/code/modules/research/rdconsole_tgui.dm b/code/modules/research/rdconsole_tgui.dm index 80f2f1167bf..c55894d63c3 100644 --- a/code/modules/research/rdconsole_tgui.dm +++ b/code/modules/research/rdconsole_tgui.dm @@ -23,10 +23,14 @@ . = ..() if(locked && !allowed(user) && !emagged) . = min(., STATUS_UPDATE) + if(busy_msg) + . = min(., STATUS_UPDATE) /obj/machinery/computer/rdconsole/tgui_static_data(mob/user) var/list/data = ..() + data["sheet_material_amount"] = SHEET_MATERIAL_AMOUNT + data["tech"] = tgui_GetResearchLevelsInfo() data["designs"] = tgui_GetDesignInfo(design_page) @@ -45,138 +49,104 @@ data["builder_page"] = builder_page data["design_page"] = design_page - data["info"] = null - if(!locked && !busy_msg) - data["info"] = list( - "sync" = sync, - "is_public" = is_public, - ) + data["sync"] = sync + data["is_public"] = is_public - data["info"]["linked_destroy"] = list("present" = FALSE) - if(linked_destroy) - data["info"]["linked_destroy"] = list( - "present" = TRUE, - "loaded_item" = linked_destroy.loaded_item, - "origin_tech" = tgui_GetOriginTechForItem(linked_destroy.loaded_item), - ) - - data["info"]["linked_lathe"] = list("present" = FALSE) - if(linked_lathe) - data["info"]["linked_lathe"] = list( - "present" = TRUE, - "total_materials" = linked_lathe.TotalMaterials(), - "max_materials" = linked_lathe.max_material_storage, - "total_volume" = linked_lathe.reagents.total_volume, - "max_volume" = linked_lathe.reagents.maximum_volume, - "busy" = linked_lathe.busy, - ) - - var/list/materials = list() - for(var/M in linked_lathe.materials) - var/amount = linked_lathe.materials[M] - var/hidden_mat = FALSE - for(var/HM in linked_lathe.hidden_materials) - if(M == HM && amount == 0) - hidden_mat = TRUE - break - if(hidden_mat) - continue - materials.Add(list(list( - "name" = M, - "amount" = amount, - "sheets" = round(amount / SHEET_MATERIAL_AMOUNT), - "removable" = amount >= SHEET_MATERIAL_AMOUNT, - ))) - data["info"]["linked_lathe"]["mats"] = materials - - var/list/reagents = list() - for(var/datum/reagent/R in linked_lathe.reagents.reagent_list) - reagents.Add(list(list( - "name" = R.name, - "id" = R.id, - "volume" = R.volume, - ))) - data["info"]["linked_lathe"]["reagents"] = reagents - - var/list/queue = list() - var/i = 1 - for(var/datum/design/D in linked_lathe.queue) - queue.Add(list(list( - "name" = D.name, - "index" = i, // ugghhhh - ))) - i++ - data["info"]["linked_lathe"]["queue"] = queue - - data["info"]["linked_imprinter"] = list("present" = FALSE) - if(linked_imprinter) - data["info"]["linked_imprinter"] = list( - "present" = TRUE, - "total_materials" = linked_imprinter.TotalMaterials(), - "max_materials" = linked_imprinter.max_material_storage, - "total_volume" = linked_imprinter.reagents.total_volume, - "max_volume" = linked_imprinter.reagents.maximum_volume, - "busy" = linked_imprinter.busy, - ) - - var/list/materials = list() - for(var/M in linked_imprinter.materials) - var/amount = linked_imprinter.materials[M] - var/hidden_mat = FALSE - for(var/HM in linked_imprinter.hidden_materials) - if(M == HM && amount == 0) - hidden_mat = TRUE - break - if(hidden_mat) - continue - materials.Add(list(list( - "name" = M, - "amount" = amount, - "sheets" = round(amount / SHEET_MATERIAL_AMOUNT), - "removable" = amount >= SHEET_MATERIAL_AMOUNT, - ))) - data["info"]["linked_imprinter"]["mats"] = materials - - var/list/reagents = list() - for(var/datum/reagent/R in linked_imprinter.reagents.reagent_list) - reagents.Add(list(list( - "name" = R.name, - "id" = R.id, - "volume" = R.volume, - ))) - data["info"]["linked_imprinter"]["reagents"] = reagents - - var/list/queue = list() - var/i = 1 - for(var/datum/design/D in linked_imprinter.queue) - queue.Add(list(list( - "name" = D.name, - "index" = i, // ugghhhh - ))) - i++ - data["info"]["linked_imprinter"]["queue"] = queue - - data["info"]["t_disk"] = list("present" = FALSE) - if(t_disk) - data["info"]["t_disk"] = list( - "present" = TRUE, - "stored" = !!t_disk.stored, - ) - if(t_disk.stored) - data["info"]["t_disk"]["name"] = t_disk.stored.name - data["info"]["t_disk"]["level"] = t_disk.stored.level - data["info"]["t_disk"]["desc"] = t_disk.stored.desc - - data["info"]["d_disk"] = list("present" = FALSE) - if(d_disk) - data["info"]["d_disk"] = list( - "present" = TRUE, - "stored" = !!d_disk.blueprint, - ) - if(d_disk.blueprint) - data["info"]["d_disk"]["name"] = d_disk.blueprint.name - data["info"]["d_disk"]["build_type"] = d_disk.blueprint.build_type - data["info"]["d_disk"]["materials"] = d_disk.blueprint.materials + // Skip the rest of the data if it's locked + if(locked) + return data + + if(linked_destroy) + data["linked_destroy"] = list( + "loaded_item" = linked_destroy.loaded_item, + "origin_tech" = tgui_GetOriginTechForItem(linked_destroy.loaded_item), + ) + else + data["linked_destroy"] = null + + if(linked_lathe) + var/list/reagents = list() + for(var/datum/reagent/R as anything in linked_lathe.reagents.reagent_list) + UNTYPED_LIST_ADD(reagents, list( + "name" = R.name, + "id" = R.id, + "volume" = R.volume + )) + + var/list/queue = list() + var/i = 1 + for(var/datum/design/D as anything in linked_lathe.queue) + UNTYPED_LIST_ADD(queue, list( + "name" = D.name, + "index" = i + )) + i += 1 + + data["linked_lathe"] = list( + "total_materials" = linked_lathe.TotalMaterials(), + "max_materials" = linked_lathe.max_material_storage, + "total_volume" = linked_lathe.reagents.total_volume, + "max_volume" = linked_lathe.reagents.maximum_volume, + "busy" = linked_lathe.busy, + "materials" = linked_lathe.materials, + "reagents" = reagents, + "queue" = queue, + ) + else + data["linked_lathe"] = null + + if(linked_imprinter) + var/list/reagents = list() + for(var/datum/reagent/R as anything in linked_imprinter.reagents.reagent_list) + UNTYPED_LIST_ADD(reagents, list( + "name" = R.name, + "id" = R.id, + "volume" = R.volume + )) + + var/list/queue = list() + var/i = 1 + for(var/datum/design/D as anything in linked_imprinter.queue) + UNTYPED_LIST_ADD(queue, list( + "name" = D.name, + "index" = i + )) + i += 1 + + data["linked_imprinter"] = list( + "total_materials" = linked_imprinter.TotalMaterials(), + "max_materials" = linked_imprinter.max_material_storage, + "total_volume" = linked_imprinter.reagents.total_volume, + "max_volume" = linked_imprinter.reagents.maximum_volume, + "busy" = linked_imprinter.busy, + "materials" = linked_imprinter.materials, + "reagents" = reagents, + "queue" = queue + ) + else + data["linked_imprinter"] = null + + if(t_disk) + data["t_disk"] = list( + "stored" = t_disk.stored ? list( + "name" = t_disk.stored.name, + "level" = t_disk.stored.level, + "desc" = t_disk.stored.desc, + ) : null, + ) + else + data["t_disk"] = null + + if(d_disk) + data["d_disk"] = list( + "stored" = d_disk.blueprint ? list( + "name" = d_disk.blueprint.name, + "build_type" = d_disk.blueprint.build_type, + "materials" = d_disk.blueprint.materials, + ) : null, + ) + else + data["d_disk"] = null return data @@ -244,6 +214,9 @@ ))) data = sortTim(data, GLOBAL_PROC_REF(cmp_designs_rdconsole), FALSE) + if((ENTRIES_PER_RDPAGE * page) > LAZYLEN(data)) + return null + if(LAZYLEN(data) > ENTRIES_PER_RDPAGE) var/first_index = clamp(ENTRIES_PER_RDPAGE * page, 1, LAZYLEN(data)) var/last_index = min((ENTRIES_PER_RDPAGE * page) + ENTRIES_PER_RDPAGE, LAZYLEN(data) + 1) @@ -282,6 +255,9 @@ ))) data = sortTim(data, GLOBAL_PROC_REF(cmp_designs_rdconsole), FALSE) + if((ENTRIES_PER_RDPAGE * page) > LAZYLEN(data)) + return null + if(LAZYLEN(data) > ENTRIES_PER_RDPAGE) var/first_index = clamp(ENTRIES_PER_RDPAGE * page, 1, LAZYLEN(data)) var/last_index = min((ENTRIES_PER_RDPAGE * page) + ENTRIES_PER_RDPAGE, LAZYLEN(data) + 1) @@ -304,7 +280,11 @@ "id" = D.id, ))) + data = sortTim(data, GLOBAL_PROC_REF(cmp_designs_rdconsole), FALSE) + if((ENTRIES_PER_RDPAGE * page) > LAZYLEN(data)) + return null + if(LAZYLEN(data) > ENTRIES_PER_RDPAGE) var/first_index = clamp(ENTRIES_PER_RDPAGE * page, 1, LAZYLEN(data)) var/last_index = clamp((ENTRIES_PER_RDPAGE * page) + ENTRIES_PER_RDPAGE, 1, LAZYLEN(data) + 1) @@ -317,27 +297,26 @@ if(..()) return TRUE - add_fingerprint(usr) - usr.set_machine(src) + add_fingerprint(ui.user) switch(action) if("search") search = params["search"] - update_tgui_static_data(usr, ui) + update_tgui_static_data(ui.user, ui) return TRUE if("design_page") if(params["reset"]) design_page = 0 else design_page = max(design_page + (1 * params["reverse"]), 0) - update_tgui_static_data(usr, ui) + update_tgui_static_data(ui.user, ui) return TRUE if("builder_page") if(params["reset"]) builder_page = 0 else builder_page = max(builder_page + (1 * params["reverse"]), 0) - update_tgui_static_data(usr, ui) + update_tgui_static_data(ui.user, ui) return TRUE if("updt_tech") //Update the research holder with information from the technology disk. @@ -347,7 +326,7 @@ files.AddTech2Known(t_disk.stored) files.RefreshResearch() griefProtection() //Update CentCom too - update_tgui_static_data(usr, ui) + update_tgui_static_data(ui.user, ui) return TRUE if("clear_tech") //Erase data on the technology disk. @@ -372,7 +351,7 @@ busy_msg = null files.AddDesign2Known(d_disk.blueprint) griefProtection() //Update CentCom too - update_tgui_static_data(usr, ui) + update_tgui_static_data(ui.user, ui) return TRUE if("clear_design") //Erases data on the design disk. @@ -394,7 +373,7 @@ if("eject_item") //Eject the item inside the destructive analyzer. if(linked_destroy) if(linked_destroy.busy) - to_chat(usr, "The destructive analyzer is busy at the moment.") + to_chat(ui.user, span_notice("The destructive analyzer is busy at the moment.")) return FALSE if(linked_destroy.loaded_item) @@ -408,11 +387,9 @@ return FALSE if(linked_destroy.busy) - to_chat(usr, "The destructive analyzer is busy at the moment.") + to_chat(ui.user, span_notice("The destructive analyzer is busy at the moment.")) return - if(tgui_alert(usr, "Proceeding will destroy loaded item. Continue?", "Destructive analyzer confirmation", list("Yes", "No")) == "No" || !linked_destroy) - return linked_destroy.busy = 1 busy_msg = "Processing and Updating Database..." flick("d_analyzer_process", linked_destroy) @@ -421,7 +398,7 @@ linked_destroy.busy = 0 busy_msg = null if(!linked_destroy.loaded_item) - to_chat(usr, "The destructive analyzer appears to be empty.") + to_chat(ui.user, span_notice("The destructive analyzer appears to be empty.")) return if(istype(linked_destroy.loaded_item,/obj/item/stack))//Only deconsturcts one sheet at a time instead of the entire stack @@ -463,19 +440,19 @@ use_power(linked_destroy.active_power_usage) files.RefreshResearch() - update_tgui_static_data(usr, ui) + update_tgui_static_data(ui.user, ui) return TRUE if("lock") //Lock the console from use by anyone without tox access. - if(!allowed(usr)) - to_chat(usr, "Unauthorized Access.") + if(!allowed(ui.user)) + to_chat(ui.user, "Unauthorized Access.") return locked = !locked return TRUE if("sync") //Sync the research holder with all the R&D consoles in the game that aren't sync protected. if(!sync) - to_chat(usr, "You must connect to the network first.") + to_chat(ui.user, span_notice("You must connect to the network first.")) return busy_msg = "Updating Database..." @@ -501,7 +478,7 @@ S.produce_heat() busy_msg = null files.RefreshResearch() - update_tgui_static_data(usr, ui) + update_tgui_static_data(ui.user, ui) return TRUE if("togglesync") //Prevents the console from being synced by other consoles. Can still send data. @@ -596,7 +573,7 @@ spawn(10) busy_msg = null SyncRDevices() - update_tgui_static_data(usr, ui) + update_tgui_static_data(ui.user, ui) return TRUE if("disconnect") //The R&D console disconnects with a specific device. @@ -610,23 +587,23 @@ if("imprinter") linked_imprinter.linked_console = null linked_imprinter = null - update_tgui_static_data(usr, ui) + update_tgui_static_data(ui.user, ui) if("reset") //Reset the R&D console's database. griefProtection() - var/choice = tgui_alert(usr, "R&D Console Database Reset", "Are you sure you want to reset the R&D console's database? Data lost cannot be recovered.", list("Continue", "Cancel")) + var/choice = tgui_alert(ui.user, "R&D Console Database Reset", "Are you sure you want to reset the R&D console's database? Data lost cannot be recovered.", list("Continue", "Cancel")) if(choice == "Continue") busy_msg = "Updating Database..." qdel(files) files = new /datum/research(src) spawn(20) busy_msg = null - update_tgui_static_data(usr, ui) + update_tgui_static_data(ui.user, ui) if("print") //Print research information busy_msg = "Printing Research Information. Please Wait..." spawn(20) - var/obj/item/weapon/paper/PR = new/obj/item/weapon/paper + var/obj/item/paper/PR = new/obj/item/paper PR.name = "list of researched technologies" PR.info = "
    [station_name()] Science Laboratories" PR.info += "

    [ (text2num(params["print"]) == 2) ? "Detailed" : null] Research Progress Report

    " diff --git a/code/modules/research/research.dm b/code/modules/research/research.dm index 87cfd261790..2675c16de90 100644 --- a/code/modules/research/research.dm +++ b/code/modules/research/research.dm @@ -198,7 +198,7 @@ GLOBAL_LIST_INIT(design_datums, list()) id = TECH_PRECURSOR level = 0 -/obj/item/weapon/disk/tech_disk +/obj/item/disk/tech_disk name = "technology disk" desc = "A disk for storing technology data for further research." icon = 'icons/obj/discs_vr.dmi' //VOREStation Edit @@ -209,10 +209,10 @@ GLOBAL_LIST_INIT(design_datums, list()) matter = list(MAT_STEEL = 30, MAT_GLASS = 10) var/datum/tech/stored -/obj/item/weapon/disk/tech_disk/New() +/obj/item/disk/tech_disk/New() randpixel_xy() -/obj/item/weapon/disk/design_disk +/obj/item/disk/design_disk name = "component design disk" desc = "A disk for storing device design data for construction in lathes." icon = 'icons/obj/discs_vr.dmi' //VOREStation Edit @@ -223,5 +223,5 @@ GLOBAL_LIST_INIT(design_datums, list()) matter = list(MAT_STEEL = 30, MAT_GLASS = 10) var/datum/design/blueprint -/obj/item/weapon/disk/design_disk/New() +/obj/item/disk/design_disk/New() randpixel_xy() diff --git a/code/modules/research/server.dm b/code/modules/research/server.dm index 2b25b205def..7857fb27878 100644 --- a/code/modules/research/server.dm +++ b/code/modules/research/server.dm @@ -13,7 +13,7 @@ idle_power_usage = 800 var/delay = 10 req_access = list(access_rd) //Only the R&D can change server settings. - circuit = /obj/item/weapon/circuitboard/rdserver + circuit = /obj/item/circuitboard/rdserver /obj/machinery/r_n_d/server/Initialize() . = ..() @@ -25,7 +25,7 @@ /obj/machinery/r_n_d/server/RefreshParts() var/tot_rating = 0 - for(var/obj/item/weapon/stock_parts/SP in src) + for(var/obj/item/stock_parts/SP in src) tot_rating += SP.rating update_idle_power_usage(initial(idle_power_usage) / max(1, tot_rating)) @@ -150,7 +150,7 @@ icon_keyboard = "rd_key" icon_screen = "rdcomp" light_color = "#a97faa" - circuit = /obj/item/weapon/circuitboard/rdservercontrol + circuit = /obj/item/circuitboard/rdservercontrol var/screen = 0 var/obj/machinery/r_n_d/server/temp_server var/list/servers = list() @@ -219,7 +219,7 @@ if(..()) return TRUE - add_fingerprint(usr) + add_fingerprint(ui.user) switch(action) if("toggle_upload", "toggle_download") var/obj/machinery/r_n_d/server/S = locate(params["server"]) @@ -248,7 +248,7 @@ var/obj/machinery/r_n_d/server/target = locate(params["server"]) if(!istype(target)) return FALSE - var/choice = tgui_alert(usr, "Technology Data Rest", "Are you sure you want to reset this technology to its default data? Data lost cannot be recovered.", list("Continue", "Cancel")) + var/choice = tgui_alert(ui.user, "Technology Data Rest", "Are you sure you want to reset this technology to its default data? Data lost cannot be recovered.", list("Continue", "Cancel")) if(choice == "Continue") for(var/datum/tech/T in target.files.known_tech) if(T.id == params["tech"]) @@ -261,7 +261,7 @@ var/obj/machinery/r_n_d/server/target = locate(params["server"]) if(!istype(target)) return FALSE - var/choice = tgui_alert(usr, "Design Data Deletion", "Are you sure you want to delete this design? If you still have the prerequisites for the design, it'll reset to its base reliability. Data lost cannot be recovered.", list("Continue", "Cancel")) + var/choice = tgui_alert(ui.user, "Design Data Deletion", "Are you sure you want to delete this design? If you still have the prerequisites for the design, it'll reset to its base reliability. Data lost cannot be recovered.", list("Continue", "Cancel")) if(choice == "Continue") for(var/datum/design/D in target.files.known_designs) if(D.id == params["design"]) @@ -273,8 +273,8 @@ if("transfer_data") if(!badmin) // no href exploits, you've been r e p o r t e d - log_admin("Warning: [key_name(usr)] attempted to transfer R&D data from [params["server"]] to [params["target"]] via href exploit with [src] [COORD(src)]") - message_admins("Warning: [ADMIN_FULLMONTY(usr)] attempted to transfer R&D data from [params["server"]] to [params["target"]] via href exploit with [src] [ADMIN_COORDJMP(src)]") + log_admin("Warning: [key_name(ui.user)] attempted to transfer R&D data from [params["server"]] to [params["target"]] via href exploit with [src] [COORD(src)]") + message_admins("Warning: [ADMIN_FULLMONTY(ui.user)] attempted to transfer R&D data from [params["server"]] to [params["target"]] via href exploit with [src] [ADMIN_COORDJMP(src)]") return FALSE var/obj/machinery/r_n_d/server/from = locate(params["server"]) if(!istype(from)) @@ -295,7 +295,7 @@ if(!emagged) playsound(src, 'sound/effects/sparks4.ogg', 75, 1) emagged = 1 - to_chat(user, "You you disable the security protocols.") + to_chat(user, span_notice("You you disable the security protocols.")) SStgui.update_uis(src) return 1 @@ -309,4 +309,4 @@ name = "Core R&D Server" id_with_upload_string = "1" id_with_download_string = "1" - server_id = 1 \ No newline at end of file + server_id = 1 diff --git a/code/modules/research/teleport_vr.dm b/code/modules/research/teleport_vr.dm index 22a84a224c9..2deca9c2f21 100644 --- a/code/modules/research/teleport_vr.dm +++ b/code/modules/research/teleport_vr.dm @@ -11,7 +11,7 @@ id = "translocator" req_tech = list(TECH_MAGNET = 5, TECH_BLUESPACE = 5, TECH_ILLEGAL = 6) materials = list(MAT_STEEL = 4000, MAT_GLASS = 2000, MAT_URANIUM = 4000, MAT_DIAMOND = 2000) - build_path = /obj/item/device/perfect_tele + build_path = /obj/item/perfect_tele sort_string = "PAAAA" /datum/design/item/teleport/bluespace_crystal @@ -19,5 +19,5 @@ id = "bluespace_crystal" req_tech = list(TECH_BLUESPACE = 3, TECH_PHORON = 4) materials = list(MAT_DIAMOND = 1500, MAT_PHORON = 1500) - build_path = /obj/item/weapon/bluespace_crystal/artificial + build_path = /obj/item/bluespace_crystal/artificial sort_string = "PAAAB" diff --git a/code/modules/resleeving/autoresleever.dm b/code/modules/resleeving/autoresleever.dm index d6a212e44d7..5297bc9fea8 100644 --- a/code/modules/resleeving/autoresleever.dm +++ b/code/modules/resleeving/autoresleever.dm @@ -6,7 +6,7 @@ density = TRUE anchored = TRUE var/equip_body = FALSE //If true, this will spawn the person with equipment - var/default_job = USELESS_JOB //The job that will be assigned if equip_body is true and the ghost doesn't have a job + var/default_job = JOB_ALT_VISITOR //The job that will be assigned if equip_body is true and the ghost doesn't have a job var/ghost_spawns = FALSE //If true, allows ghosts who haven't been spawned yet to spawn var/vore_respawn = 5 MINUTES //The time to wait if you died from vore var/respawn = 30 MINUTES //The time to wait if you didn't die from vore @@ -27,19 +27,19 @@ /obj/machinery/transhuman/autoresleever/attack_ghost(mob/observer/dead/user as mob) update_icon() if(spawn_slots == 0) - to_chat(user, "There are no more respawn slots.") + to_chat(user, span_warning("There are no more respawn slots.")) return if(user.mind) if(user.mind.vore_death) if(vore_respawn <= world.time - user.timeofdeath) autoresleeve(user) else - to_chat(user, "You must wait [((vore_respawn - (world.time - user.timeofdeath)) * 0.1) / 60] minutes to use \the [src].") + to_chat(user, span_warning("You must wait [((vore_respawn - (world.time - user.timeofdeath)) * 0.1) / 60] minutes to use \the [src].")) return else if(respawn <= world.time - user.timeofdeath) autoresleeve(user) else - to_chat(user, "You must wait [((respawn - (world.time - user.timeofdeath)) * 0.1) /60] minutes to use \the [src].") + to_chat(user, span_warning("You must wait [((respawn - (world.time - user.timeofdeath)) * 0.1) /60] minutes to use \the [src].")) return else if(spawntype) if(tgui_alert(user, "This [src] spawns something special, would you like to play as it?", "Creachur", list("No","Yes")) == "Yes") @@ -48,7 +48,7 @@ if(tgui_alert(user, "Would you like to be spawned here as your presently loaded character?", "Spawn here", list("No","Yes")) == "Yes") autoresleeve(user) else - to_chat(user, "You need to have been spawned in order to respawn here.") + to_chat(user, span_warning("You need to have been spawned in order to respawn here.")) /obj/machinery/transhuman/autoresleever/attackby(var/mob/user) //Let's not let people mess with this. update_icon() @@ -59,24 +59,24 @@ /obj/machinery/transhuman/autoresleever/proc/autoresleeve(var/mob/observer/dead/ghost) if(stat) - to_chat(ghost, "This machine is not functioning...") + to_chat(ghost, span_warning("This machine is not functioning...")) return if(!istype(ghost,/mob/observer/dead)) return if(ghost.mind && ghost.mind.current && ghost.mind.current.stat != DEAD) - if(istype(ghost.mind.current.loc, /obj/item/device/mmi)) + if(istype(ghost.mind.current.loc, /obj/item/mmi)) if(tgui_alert(ghost, "Your brain is still alive, using the auto-resleever will delete that brain. Are you sure?", "Delete Brain", list("No","Yes")) != "Yes") return - if(istype(ghost.mind.current.loc, /obj/item/device/mmi)) + if(istype(ghost.mind.current.loc, /obj/item/mmi)) qdel(ghost.mind.current.loc) else - to_chat(ghost, "Your body is still alive, you cannot be resleeved.") + to_chat(ghost, span_warning("Your body is still alive, you cannot be resleeved.")) return var/client/ghost_client = ghost.client if(!is_alien_whitelisted(ghost, GLOB.all_species[ghost_client?.prefs?.species]) && !check_rights(R_ADMIN, 0)) // Prevents a ghost ghosting in on a slot and spawning via a resleever with race they're not whitelisted for, getting around normal join restrictions. - to_chat(ghost, "You are not whitelisted to spawn as this species!") + to_chat(ghost, span_warning("You are not whitelisted to spawn as this species!")) return // Comments out NO_SCAN restriction, as per headmin/maintainer request. // YW EDIT start un-comments @@ -85,7 +85,7 @@ chosen_species = GLOB.all_species[ghost_client.prefs.species] if(chosen_species.flags && NO_SCAN) // Sanity. Prevents species like Xenochimera, Proteans, etc from rejoining the round via resleeve, as they should have their own methods of doing so already, as agreed to when you whitelist as them. - to_chat(ghost, "This species cannot be resleeved!") + to_chat(ghost, span_warning("This species cannot be resleeved!")) return // YW EDIT end @@ -100,7 +100,7 @@ else if(equip_body || ghost_spawns) charjob = default_job else - to_chat(ghost, "It appears as though your loaded character has not been spawned this round, or has quit the round. If you died as a different character, please load them, and try again.") + to_chat(ghost, span_warning("It appears as though your loaded character has not been spawned this round, or has quit the round. If you died as a different character, please load them, and try again.")) return //For logging later @@ -111,7 +111,7 @@ var/spawnloc = get_turf(src) //Did we actually get a loc to spawn them? if(!spawnloc) - to_chat(ghost, "Could not find a valid location to spawn your character.") + to_chat(ghost, span_warning("Could not find a valid location to spawn your character.")) return if(spawntype) @@ -123,7 +123,7 @@ log_admin("[L.ckey]'s has been spawned as [L] via \the [src].") message_admins("[L.ckey]'s has been spawned as [L] via \the [src].") else - to_chat(ghost, "You can't play as a [spawnthing]...") + to_chat(ghost, span_warning("You can't play as a [spawnthing]...")) return if(spawn_slots == -1) return @@ -133,7 +133,7 @@ spawn_slots -- return - if(tgui_alert(ghost, "Would you like to be resleeved?", "Resleeve", list("No","Yes")) == "No") + if(tgui_alert(ghost, "Would you like to be resleeved?", "Resleeve", list("No","Yes")) != "Yes") return var/mob/living/carbon/human/new_character new_character = new(spawnloc) @@ -194,7 +194,7 @@ log_admin("[new_character.ckey]'s character [new_character.real_name] has been auto-resleeved.") message_admins("[new_character.ckey]'s character [new_character.real_name] has been auto-resleeved.") - var/obj/item/weapon/implant/backup/imp = new(src) + var/obj/item/implant/backup/imp = new(src) if(imp.handle_implant(new_character,new_character.zone_sel.selecting)) imp.post_implant(new_character) @@ -206,7 +206,7 @@ global_announcer.autosay("[new_character.name] has been resleeved by the automatic resleeving system.", "TransCore Oversight", new_character.isSynthetic() ? "Science" : "Medical") spawn(0) //Wait a second for nif to do its thing if there is one if(record.nif_path) - var/obj/item/device/nif/nif + var/obj/item/nif/nif if(new_character.nif) nif = new_character.nif else diff --git a/code/modules/resleeving/circuitboards.dm b/code/modules/resleeving/circuitboards.dm index 5acf4c07443..23b3a7bf62f 100644 --- a/code/modules/resleeving/circuitboards.dm +++ b/code/modules/resleeving/circuitboards.dm @@ -2,46 +2,46 @@ #error T_BOARD macro is not defined but we need it! #endif -/obj/item/weapon/circuitboard/transhuman_clonepod +/obj/item/circuitboard/transhuman_clonepod name = T_BOARD("grower pod") board_type = new /datum/frame/frame_types/machine build_path = /obj/machinery/clonepod/transhuman origin_tech = list(TECH_DATA = 3, TECH_BIO = 3) req_components = list( /obj/item/stack/cable_coil = 2, - /obj/item/weapon/stock_parts/scanning_module = 2, - /obj/item/weapon/stock_parts/manipulator = 2, - /obj/item/weapon/stock_parts/console_screen = 1) + /obj/item/stock_parts/scanning_module = 2, + /obj/item/stock_parts/manipulator = 2, + /obj/item/stock_parts/console_screen = 1) -/obj/item/weapon/circuitboard/transhuman_synthprinter +/obj/item/circuitboard/transhuman_synthprinter name = T_BOARD("SynthFab 3000") board_type = new /datum/frame/frame_types/machine build_path = /obj/machinery/transhuman/synthprinter origin_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 3) req_components = list( /obj/item/stack/cable_coil = 2, - /obj/item/weapon/stock_parts/matter_bin = 1, - /obj/item/weapon/stock_parts/scanning_module = 1, - /obj/item/weapon/stock_parts/manipulator = 2) + /obj/item/stock_parts/matter_bin = 1, + /obj/item/stock_parts/scanning_module = 1, + /obj/item/stock_parts/manipulator = 2) -/obj/item/weapon/circuitboard/transhuman_resleever +/obj/item/circuitboard/transhuman_resleever name = T_BOARD("resleeving pod") board_type = new /datum/frame/frame_types/machine build_path = /obj/machinery/transhuman/resleever origin_tech = list(TECH_ENGINEERING = 4, TECH_BIO = 4) req_components = list( /obj/item/stack/cable_coil = 2, - /obj/item/weapon/stock_parts/scanning_module = 2, - /obj/item/weapon/stock_parts/manipulator = 2, - /obj/item/weapon/stock_parts/console_screen = 1) + /obj/item/stock_parts/scanning_module = 2, + /obj/item/stock_parts/manipulator = 2, + /obj/item/stock_parts/console_screen = 1) -/obj/item/weapon/circuitboard/resleeving_control +/obj/item/circuitboard/resleeving_control name = T_BOARD("resleeving control console") build_path = /obj/machinery/computer/transhuman/resleeving origin_tech = list(TECH_DATA = 5) -/obj/item/weapon/circuitboard/body_designer +/obj/item/circuitboard/body_designer name = T_BOARD("body design console") build_path = /obj/machinery/computer/transhuman/designer origin_tech = list(TECH_DATA = 5) diff --git a/code/modules/resleeving/computers.dm b/code/modules/resleeving/computers.dm index 54022d635b3..50c779a22bc 100644 --- a/code/modules/resleeving/computers.dm +++ b/code/modules/resleeving/computers.dm @@ -4,12 +4,11 @@ /obj/machinery/computer/transhuman/resleeving name = "resleeving control console" - catalogue_data = list(/datum/category_item/catalogue/information/organization/vey_med, - /datum/category_item/catalogue/technology/resleeving) + catalogue_data = list(/datum/category_item/catalogue/technology/resleeving) icon_keyboard = "med_key" icon_screen = "dna" light_color = "#315ab4" - circuit = /obj/item/weapon/circuitboard/resleeving_control + circuit = /obj/item/circuitboard/resleeving_control req_access = list(access_heads) //Only used for record deletion right now. var/list/pods = null //Linked grower pods. var/list/spods = null @@ -17,14 +16,17 @@ var/list/temp = null var/menu = MENU_MAIN //Which menu screen to display var/datum/transhuman/body_record/active_br = null + var/can_grow_active = FALSE var/datum/transhuman/mind_record/active_mr = null + var/can_sleeve_active = FALSE var/organic_capable = 1 var/synthetic_capable = 1 - var/obj/item/weapon/disk/transcore/disk + var/obj/item/disk/transcore/disk var/obj/machinery/clonepod/transhuman/selected_pod var/obj/machinery/transhuman/synthprinter/selected_printer var/obj/machinery/transhuman/resleever/selected_sleever + // Resleeving database this machine interacts with. Blank for default database // Needs a matching /datum/transcore_db with key defined in code var/db_key @@ -80,30 +82,30 @@ P.name = "[initial(P.name)] #[num++]" /obj/machinery/computer/transhuman/resleeving/attackby(obj/item/W as obj, mob/user as mob) - if(istype(W, /obj/item/device/multitool)) - var/obj/item/device/multitool/M = W + if(istype(W, /obj/item/multitool)) + var/obj/item/multitool/M = W var/obj/machinery/clonepod/transhuman/P = M.connecting if(istype(P) && !(P in pods)) pods += P P.connected = src P.name = "[initial(P.name)] #[pods.len]" - to_chat(user, "You connect [P] to [src].") - else if(istype(W, /obj/item/weapon/disk/transcore) && !our_db.core_dumped) + to_chat(user, span_notice("You connect [P] to [src].")) + else if(istype(W, /obj/item/disk/transcore) && !our_db.core_dumped) user.unEquip(W) disk = W disk.forceMove(src) - to_chat(user, "You insert \the [W] into \the [src].") - if(istype(W, /obj/item/weapon/disk/body_record)) - var/obj/item/weapon/disk/body_record/brDisk = W + to_chat(user, span_notice("You insert \the [W] into \the [src].")) + if(istype(W, /obj/item/disk/body_record)) + var/obj/item/disk/body_record/brDisk = W if(!brDisk.stored) - to_chat(user, "\The [W] does not contain a stored body record.") + to_chat(user, span_warning("\The [W] does not contain a stored body record.")) return user.unEquip(W) W.forceMove(get_turf(src)) // Drop on top of us active_br = new /datum/transhuman/body_record(brDisk.stored) // Loads a COPY! - to_chat(user, "\The [src] loads the body record from \the [W] before ejecting it.") + to_chat(user, span_notice("\The [src] loads the body record from \the [W] before ejecting it.")) attack_hand(user) - view_b_rec("view_b_rec", list("ref" = "\ref[active_br]")) + view_b_rec(REF(active_br)) else ..() return @@ -140,133 +142,125 @@ var/data[0] data["menu"] = menu - var/list/temppods[0] + var/list/clonepods = list() for(var/obj/machinery/clonepod/transhuman/pod in pods) var/status = "idle" if(pod.mess) status = "mess" else if(pod.occupant && !(pod.stat & NOPOWER)) status = "cloning" - temppods.Add(list(list( - "pod" = "\ref[pod]", + clonepods += list(list( + "pod" = REF(pod), "name" = sanitize(capitalize(pod.name)), "biomass" = pod.get_biomass(), "status" = status, "progress" = (pod.occupant && pod.occupant.stat != DEAD) ? pod.get_completion() : 0 - ))) - data["pods"] = temppods.Copy() - temppods.Cut() + )) + data["pods"] = clonepods + var/list/synthpods = list() for(var/obj/machinery/transhuman/synthprinter/spod in spods) - temppods.Add(list(list( - "spod" = "\ref[spod]", + synthpods += list(list( + "spod" = REF(spod), "name" = sanitize(capitalize(spod.name)), "busy" = spod.busy, "steel" = spod.stored_material[MAT_STEEL], "glass" = spod.stored_material[MAT_GLASS] - ))) - data["spods"] = temppods.Copy() - temppods.Cut() + )) + data["spods"] = synthpods + var/list/resleevers = list() for(var/obj/machinery/transhuman/resleever/resleever in sleevers) - temppods.Add(list(list( - "sleever" = "\ref[resleever]", + resleevers += list(list( + "sleever" = REF(resleever), "name" = sanitize(capitalize(resleever.name)), "occupied" = !!resleever.occupant, "occupant" = resleever.occupant ? resleever.occupant.real_name : "None" - ))) - data["sleevers"] = temppods.Copy() - temppods.Cut() + )) + data["sleevers"] = resleevers data["coredumped"] = our_db.core_dumped data["emergency"] = disk data["temp"] = temp - data["selected_pod"] = "\ref[selected_pod]" - data["selected_printer"] = "\ref[selected_printer]" - data["selected_sleever"] = "\ref[selected_sleever]" + data["selected_pod"] = REF(selected_pod) + data["selected_printer"] = REF(selected_printer) + data["selected_sleever"] = REF(selected_sleever) - var/bodyrecords_list_ui[0] + var/list/bodyrecords_list_ui = list() for(var/N in our_db.body_scans) var/datum/transhuman/body_record/BR = our_db.body_scans[N] - bodyrecords_list_ui[++bodyrecords_list_ui.len] = list("name" = N, "recref" = "\ref[BR]") + bodyrecords_list_ui += list(list( + "name" = N, + "recref" = REF(BR) + )) data["bodyrecords"] = bodyrecords_list_ui - var/mindrecords_list_ui[0] + var/list/mindrecords_list_ui = list() for(var/N in our_db.backed_up) var/datum/transhuman/mind_record/MR = our_db.backed_up[N] - mindrecords_list_ui[++mindrecords_list_ui.len] = list("name" = N, "recref" = "\ref[MR]") + mindrecords_list_ui += list(list( + "name" = N, + "recref" = REF(MR) + )) data["mindrecords"] = mindrecords_list_ui - data["modal"] = tgui_modal_data(src) + data["active_b_rec"] = null + if(active_br) + data["active_b_rec"] = list( + activerecord = REF(active_br), + realname = sanitize(active_br.mydna.name), + species = active_br.speciesname ? active_br.speciesname : active_br.mydna.dna.species, + sex = active_br.bodygender, + mind_compat = active_br.locked ? "Low" : "High", + synthetic = active_br.synthetic, + oocnotes = active_br.body_oocnotes ? active_br.body_oocnotes : "None", + can_grow_active = can_grow_active, + ) + + data["active_m_rec"] = null + if(active_mr) + data["active_m_rec"] = list( + activerecord = REF(active_mr), + realname = sanitize(active_mr.mindname), + obviously_dead = active_mr.dead_state == MR_DEAD ? "Past-due" : "Current", + oocnotes = active_mr.mind_oocnotes ? active_mr.mind_oocnotes : "None.", + can_sleeve_active = can_sleeve_active, + ) + return data -/obj/machinery/computer/transhuman/resleeving/tgui_act(action, params) - if(..()) - return TRUE - - . = TRUE - switch(tgui_modal_act(src, action, params)) - if(TGUI_MODAL_ANSWER) - // if(params["id"] == "del_rec" && active_record) - // var/obj/item/weapon/card/id/C = usr.get_active_hand() - // if(!istype(C) && !istype(C, /obj/item/device/pda)) - // set_temp("ID not in hand.", "danger") - // return - // if(check_access(C)) - // records.Remove(active_record) - // qdel(active_record) - // set_temp("Record deleted.", "success") - // menu = MENU_RECORDS - // else - // set_temp("Access denied.", "danger") - return +/obj/machinery/computer/transhuman/resleeving/tgui_act(action, params, datum/tgui/ui) + . = ..() + if(.) + return switch(action) if("view_b_rec") - view_b_rec(action, params) + view_b_rec(params["ref"]) + . = TRUE + if("clear_b_rec") + active_br = null + . = TRUE if("view_m_rec") - var/ref = params["ref"] - if(!length(ref)) - return - active_mr = locate(ref) - if(istype(active_mr)) - if(isnull(active_mr.ckey)) - qdel(active_mr) - set_temp("Error: Record corrupt.", "danger") - else - var/can_sleeve_active = 1 - if(!LAZYLEN(sleevers)) - can_sleeve_active = 0 - set_temp("Error: Cannot sleeve due to no sleevers.", "danger") - if(!selected_sleever) - can_sleeve_active = 0 - set_temp("Error: Cannot sleeve due to no selected sleever.", "danger") - if(selected_sleever && !selected_sleever.occupant) - can_sleeve_active = 0 - set_temp("Error: Cannot sleeve due to lack of sleever occupant.", "danger") - var/list/payload = list( - activerecord = "\ref[active_mr]", - realname = sanitize(active_mr.mindname), - obviously_dead = active_mr.dead_state == MR_DEAD ? "Past-due" : "Current", - oocnotes = active_mr.mind_oocnotes ? active_mr.mind_oocnotes : "None.", - can_sleeve_active = can_sleeve_active, - ) - tgui_modal_message(src, action, "", null, payload) - else - active_mr = null - set_temp("Error: Record missing.", "danger") + view_m_rec(params["ref"]) + . = TRUE + if("clear_m_rec") + active_mr = null + . = TRUE if("coredump") if(disk) our_db.core_dump(disk) sleep(5) - visible_message("\The [src] spits out \the [disk].") + visible_message(span_warning("\The [src] spits out \the [disk].")) disk.forceMove(get_turf(src)) disk = null + . = TRUE if("ejectdisk") disk.forceMove(get_turf(src)) disk = null - + . = TRUE if("create") + . = TRUE if(istype(active_br)) //Tried to grow a synth but no synth pods. if(active_br.synthetic && !spods.len) @@ -281,32 +275,39 @@ var/obj/machinery/transhuman/synthprinter/spod = selected_printer if(!istype(spod)) set_temp("Error: No SynthFab selected.", "danger") + active_br = null return //Already doing someone. if(spod.busy) set_temp("Error: SynthFab is currently busy.", "danger") + active_br = null return //Not enough steel or glass else if(spod.stored_material[MAT_STEEL] < spod.body_cost) set_temp("Error: Not enough [MAT_STEEL] in SynthFab.", "danger") + active_br = null return else if(spod.stored_material["glass"] < spod.body_cost) set_temp("Error: Not enough glass in SynthFab.", "danger") + active_br = null return //Gross pod (broke mid-cloning or something). else if(spod.broken) set_temp("Error: SynthFab malfunction.", "danger") + active_br = null return //Do the cloning! else if(spod.print(active_br)) set_temp("Initiating printing cycle...", "success") + active_br = null menu = 1 else set_temp("Initiating printing cycle... Error: Post-initialisation failed. Printing cycle aborted.", "danger") + active_br = null return //We're cloning an organic. @@ -314,59 +315,58 @@ var/obj/machinery/clonepod/transhuman/pod = selected_pod if(!istype(pod)) set_temp("Error: No clonepod selected.", "danger") - tgui_modal_clear(src) + active_br = null return //Already doing someone. if(pod.occupant) set_temp("Error: Growpod is currently occupied.", "danger") - tgui_modal_clear(src) + active_br = null return //Not enough materials. else if(pod.get_biomass() < CLONE_BIOMASS) set_temp("Error: Not enough biomass.", "danger") - tgui_modal_clear(src) + active_br = null return //Gross pod (broke mid-cloning or something). else if(pod.mess) set_temp("Error: Growpod malfunction.", "danger") - tgui_modal_clear(src) + active_br = null return //Disabled in config. - else if(!config.revival_cloning) + else if(!CONFIG_GET(flag/revival_cloning)) set_temp("Error: Unable to initiate growing cycle.", "danger") - tgui_modal_clear(src) + active_br = null return //Do the cloning! else if(pod.growclone(active_br)) set_temp("Initiating growing cycle...", "success") - tgui_modal_clear(src) + active_br = null else set_temp("Initiating growing cycle... Error: Post-initialisation failed. Growing cycle aborted.", "danger") - tgui_modal_clear(src) + active_br = null return - //The body record is broken somehow. else set_temp("Error: Data corruption.", "danger") - tgui_modal_clear(src) - return - + active_br = null if("sleeve") if(istype(active_mr)) + . = TRUE if(!sleevers.len) set_temp("Error: No sleevers detected.", "danger") + active_mr = null else var/mode = text2num(params["mode"]) var/override var/obj/machinery/transhuman/resleever/sleever = selected_sleever if(!istype(sleever)) set_temp("Error: No resleeving pod selected.", "danger") - tgui_modal_clear(src) + active_mr = null return switch(mode) @@ -374,13 +374,13 @@ //No body to sleeve into. if(!sleever.occupant) set_temp("Error: Resleeving pod is not occupied.", "danger") - tgui_modal_clear(src) + active_mr = null return //OOC body lock thing. if(sleever.occupant.resleeve_lock && active_mr.ckey != sleever.occupant.resleeve_lock) set_temp("Error: Mind incompatible with body.", "danger") - tgui_modal_clear(src) + active_mr = null return var/list/subtargets = list() @@ -390,16 +390,16 @@ subtargets += H if(subtargets.len) var/oc_sanity = sleever.occupant - override = tgui_input_list(usr,"Multiple bodies detected. Select target for resleeving of [active_mr.mindname] manually. Sleeving of primary body is unsafe with sub-contents, and is not listed.", "Resleeving Target", subtargets) + override = tgui_input_list(ui.user,"Multiple bodies detected. Select target for resleeving of [active_mr.mindname] manually. Sleeving of primary body is unsafe with sub-contents, and is not listed.", "Resleeving Target", subtargets) if(!override || oc_sanity != sleever.occupant || !(override in sleever.occupant)) set_temp("Error: Target selection aborted.", "danger") - tgui_modal_clear(src) + active_mr = null return if(2) //Card resleeving if(sleever.sleevecards <= 0) set_temp("Error: No available cards in resleever.", "danger") - tgui_modal_clear(src) + active_mr = null return //Body to sleeve into, but mind is in another living body. @@ -407,18 +407,16 @@ var/answer = tgui_alert(active_mr.mind_ref.current,"Someone is attempting to restore a backup of your mind. Do you want to abandon this body, and move there? You MAY suffer memory loss! (Same rules as CMD apply)","Resleeving",list("No","Yes")) //They declined to be moved. - if(answer == "No") + if(answer != "Yes") set_temp("Initiating resleeving... Error: Post-initialisation failed. Resleeving cycle aborted.", "danger") - tgui_modal_clear(src) + active_mr = null return TRUE //They were dead, or otherwise available. sleever.putmind(active_mr,mode,override,db_key = db_key) set_temp("Initiating resleeving...") - tgui_modal_clear(src) + active_mr = null - if("refresh") - SStgui.update_uis(src) if("selectpod") var/ref = params["ref"] if(!length(ref)) @@ -426,6 +424,7 @@ var/obj/machinery/clonepod/selected = locate(ref) if(istype(selected) && (selected in pods)) selected_pod = selected + . = TRUE if("selectprinter") var/ref = params["ref"] if(!length(ref)) @@ -433,6 +432,7 @@ var/obj/machinery/transhuman/synthprinter/selected = locate(ref) if(istype(selected) && (selected in spods)) selected_printer = selected + . = TRUE if("selectsleever") var/ref = params["ref"] if(!length(ref)) @@ -440,15 +440,16 @@ var/obj/machinery/transhuman/resleever/selected = locate(ref) if(istype(selected) && (selected in sleevers)) selected_sleever = selected + . = TRUE if("menu") menu = clamp(text2num(params["num"]), MENU_MAIN, MENU_MIND) + . = TRUE if("cleartemp") temp = null - else - return FALSE + . = TRUE // In here because only relevant to computer -/obj/item/weapon/cmo_disk_holder +/obj/item/cmo_disk_holder name = "cmo emergency packet" desc = "A small paper packet with printing on one side. \"Tear open in case of Code Delta or Emergency Evacuation ONLY. Use in any other case is UNLAWFUL.\"" catalogue_data = list(/datum/category_item/catalogue/technology/resleeving) @@ -456,15 +457,15 @@ icon_state = "cmoemergency" item_state = "card-id" -/obj/item/weapon/cmo_disk_holder/attack_self(var/mob/attacker) +/obj/item/cmo_disk_holder/attack_self(var/mob/attacker) playsound(src, 'sound/items/poster_ripped.ogg', 50) - to_chat(attacker, "You tear open \the [name].") + to_chat(attacker, span_warning("You tear open \the [name].")) attacker.unEquip(src) - var/obj/item/weapon/disk/transcore/newdisk = new(get_turf(src)) + var/obj/item/disk/transcore/newdisk = new(get_turf(src)) attacker.put_in_any_hand_if_possible(newdisk) qdel(src) -/obj/item/weapon/disk/transcore +/obj/item/disk/transcore name = "TransCore Dump Disk" desc = "It has a small label. \n\ \"1.INSERT DISK INTO RESLEEVING CONSOLE\n\ @@ -489,40 +490,53 @@ if(update_now) SStgui.update_uis(src) -/obj/machinery/computer/transhuman/resleeving/proc/view_b_rec(action, params) - var/ref = params["ref"] +/obj/machinery/computer/transhuman/resleeving/proc/view_b_rec(ref) if(!length(ref)) return + active_br = locate(ref) if(istype(active_br)) - var/can_grow_active = 1 + can_grow_active = TRUE if(!synthetic_capable && active_br.synthetic) //Disqualified due to being synthetic in an organic only. - can_grow_active = 0 + can_grow_active = FALSE set_temp("Error: Cannot grow [active_br.mydna.name] due to lack of synthfabs.", "danger") else if(!organic_capable && !active_br.synthetic) //Disqualified for the opposite. - can_grow_active = 0 + can_grow_active = FALSE set_temp("Error: Cannot grow [active_br.mydna.name] due to lack of cloners.", "danger") else if(!synthetic_capable && !organic_capable) //What have you done?? - can_grow_active = 0 + can_grow_active = FALSE set_temp("Error: Cannot grow [active_br.mydna.name] due to lack of synthfabs and cloners.", "danger") else if(active_br.toocomplex) - can_grow_active = 0 + can_grow_active = FALSE set_temp("Error: Cannot grow [active_br.mydna.name] due to species complexity.", "danger") - var/list/payload = list( - activerecord = "\ref[active_br]", - realname = sanitize(active_br.mydna.name), - species = active_br.speciesname ? active_br.speciesname : active_br.mydna.dna.species, - sex = active_br.bodygender, - mind_compat = active_br.locked ? "Low" : "High", - synthetic = active_br.synthetic, - oocnotes = active_br.body_oocnotes ? active_br.body_oocnotes : "None", - can_grow_active = can_grow_active, - ) - tgui_modal_message(src, action, "", null, payload) else active_br = null set_temp("Error: Record missing.", "danger") +/obj/machinery/computer/transhuman/resleeving/proc/view_m_rec(ref) + if(!length(ref)) + return + + active_mr = locate(ref) + if(istype(active_mr)) + if(isnull(active_mr.ckey)) + qdel(active_mr) + set_temp("Error: Record corrupt.", "danger") + else + can_sleeve_active = TRUE + if(!LAZYLEN(sleevers)) + can_sleeve_active = FALSE + set_temp("Error: Cannot sleeve due to no sleevers.", "danger") + if(!selected_sleever) + can_sleeve_active = FALSE + set_temp("Error: Cannot sleeve due to no selected sleever.", "danger") + if(selected_sleever && !selected_sleever.occupant) + can_sleeve_active = FALSE + set_temp("Error: Cannot sleeve due to lack of sleever occupant.", "danger") + else + active_mr = null + set_temp("Error: Record missing.", "danger") + #undef MENU_MAIN #undef MENU_BODY -#undef MENU_MIND \ No newline at end of file +#undef MENU_MIND diff --git a/code/modules/resleeving/designer.dm b/code/modules/resleeving/designer.dm index edc742e4154..544021adda3 100644 --- a/code/modules/resleeving/designer.dm +++ b/code/modules/resleeving/designer.dm @@ -9,13 +9,12 @@ /obj/machinery/computer/transhuman/designer name = "body design console" - catalogue_data = list(/datum/category_item/catalogue/information/organization/vey_med, - /datum/category_item/catalogue/technology/resleeving) + catalogue_data = list(/datum/category_item/catalogue/technology/resleeving) icon = 'icons/obj/computer.dmi' icon_keyboard = "med_key" icon_screen = "explosive" light_color = "#315ab4" - circuit = /obj/item/weapon/circuitboard/body_designer + circuit = /obj/item/circuitboard/body_designer req_access = list(access_medical) // Used for loading people's designs var/temp = "" var/menu = MENU_MAIN //Which menu screen to display @@ -27,7 +26,7 @@ var/obj/screen/west_preview = null // Mannequins are somewhat expensive to create, so cache it var/mob/living/carbon/human/dummy/mannequin/mannequin = null - var/obj/item/weapon/disk/body_record/disk = null + var/obj/item/disk/body_record/disk = null // Resleeving database this machine interacts with. Blank for default database // Needs a matching /datum/transcore_db with key defined in code @@ -71,11 +70,11 @@ ..() /obj/machinery/computer/transhuman/designer/attackby(obj/item/W as obj, mob/user as mob) - if(istype(W, /obj/item/weapon/disk/body_record)) + if(istype(W, /obj/item/disk/body_record)) user.unEquip(W) disk = W disk.forceMove(src) - to_chat(user, "You insert \the [W] into \the [src].") + to_chat(user, span_notice("You insert \the [W] into \the [src].")) updateUsrDialog() else ..() @@ -148,6 +147,17 @@ temp["colorHref2"] = "ear_color2" styles["Ears"] = temp + temp = list("styleHref" = "ear_style", "style" = "Normal") + if(mannequin.ear_secondary_style) + temp["style"] = mannequin.ear_secondary_style.name + if(length(mannequin.ear_secondary_colors) >= 1) + temp["color"] = mannequin.ear_secondary_colors[1] + temp["colorHref"] = list("act" = "ear_secondary_color", "channel" = 1) + if(length(mannequin.ear_secondary_colors) >= 2) + temp["color"] = mannequin.ear_secondary_colors[2] + temp["colorHref"] = list("act" = "ear_secondary_color", "channel" = 2) + styles["Horns"] = temp + temp = list("styleHref" = "tail_style", "style" = "Normal") if(mannequin.tail_style) temp["style"] = mannequin.tail_style.name @@ -205,20 +215,20 @@ return data -/obj/machinery/computer/transhuman/designer/tgui_act(action, params) +/obj/machinery/computer/transhuman/designer/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE switch(action) if("debug_load_my_body") - active_br = new /datum/transhuman/body_record(usr, FALSE, FALSE) + active_br = new /datum/transhuman/body_record(ui.user, FALSE, FALSE) update_preview_icon() menu = MENU_SPECIFICRECORD if("view_brec") var/datum/transhuman/body_record/BR = locate(params["view_brec"]) if(BR && istype(BR.mydna)) - if(allowed(usr) || BR.ckey == usr.ckey) + if(allowed(ui.user) || BR.ckey == ui.user.ckey) active_br = new /datum/transhuman/body_record(BR) // Load a COPY! update_preview_icon() menu = MENU_SPECIFICRECORD @@ -271,9 +281,9 @@ temp = "" if("href_conversion") - PrefHrefMiddleware(params, usr) + PrefHrefMiddleware(params, ui.user) - add_fingerprint(usr) + add_fingerprint(ui.user) return 1 // Return 1 to refresh UI // @@ -419,7 +429,15 @@ var/href_list = list() href_list["src"] = "\ref[src]" - href_list["[params["target_href"]]"] = params["target_value"] + var/list/target_href_maybe = params["target_href"] + // convert list-form inputs as needed + if(islist(target_href_maybe)) + href_list[target_href_maybe["act"]] = TRUE + for(var/key in target_href_maybe["params"]) + var/val = target_href_maybe["params"][key] + href_list[key] = "[val]" + else + href_list[target_href_maybe] = params["target_value"] var/datum/category_item/player_setup_item/to_use = (params["target_href"] in use_different_category) ? use_different_category[params["target_href"]] : B var/action = 0 @@ -436,7 +454,7 @@ // Do NOT call ..(), it expects real stuff // Disk for manually moving body records between the designer and sleever console etc. -/obj/item/weapon/disk/body_record +/obj/item/disk/body_record name = "Body Design Disk" desc = "It has a small label: \n\ \"Portable Body Record Storage Disk. \n\ @@ -451,15 +469,15 @@ * Diskette Box */ -/obj/item/weapon/storage/box/body_record_disk +/obj/item/storage/box/body_record_disk name = "body record disk box" desc = "A box of body record disks, apparently." icon_state = "disk_kit" -/obj/item/weapon/storage/box/body_record_disk/New() +/obj/item/storage/box/body_record_disk/New() ..() for(var/i = 0 to 7) - new /obj/item/weapon/disk/body_record(src) + new /obj/item/disk/body_record(src) #undef MOB_HEX_COLOR diff --git a/code/modules/resleeving/documents.dm b/code/modules/resleeving/documents.dm index 5dbbfb04be2..ea1accfd022 100644 --- a/code/modules/resleeving/documents.dm +++ b/code/modules/resleeving/documents.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/book/manual/resleeving +/obj/item/book/manual/resleeving name = "Resleeving, the New Cloning?" icon_state = "stasis" author = "Dnar Koshi" @@ -27,7 +27,7 @@

    Foreword: A Licensed Technology

    This message must remain attached to all documentation regarding Nanotrasen Resleeving Technology.
    - All Nanotrasen Resleeving Technology (NRT) is licensed to Nanotrasen by Vey-Medical. It should only be used in the ways set forth in this guide. + All Nanotrasen Resleeving Technology (NRT) is licensed to Nanotrasen by Vey Medical. It should only be used in the ways set forth in this guide. Special consideration to the moral and ethical use of this technology should be undertaken before applying it in the field. Make sure you understand the technology fully before using the machinery.
    Contents diff --git a/code/modules/resleeving/implant.dm b/code/modules/resleeving/implant.dm index fa0a1e40d64..1ada6be20fe 100644 --- a/code/modules/resleeving/implant.dm +++ b/code/modules/resleeving/implant.dm @@ -4,11 +4,10 @@ //////////////////////////////// //The backup implant itself -/obj/item/weapon/implant/backup +/obj/item/implant/backup name = "backup implant" desc = "A mindstate backup implant that occasionally stores a copy of one's mind on a central server for backup purposes." - catalogue_data = list(/datum/category_item/catalogue/information/organization/vey_med, - /datum/category_item/catalogue/technology/resleeving) + catalogue_data = list(/datum/category_item/catalogue/technology/resleeving) icon = 'icons/vore/custom_items_vr.dmi' icon_state = "backup_implant" known_implant = TRUE @@ -18,32 +17,32 @@ var/db_key var/datum/transcore_db/our_db // These persist all round and are never destroyed, just keep a hard ref -/obj/item/weapon/implant/backup/get_data() +/obj/item/implant/backup/get_data() var/dat = {" Implant Specifications:
    Name: [using_map.company_name] Employee Backup Implant
    Life: ~8 hours.
    -Important Notes: Due to the sensitive nature of the implant, it is programmed to dissolve into harmless bio-material after 24 hours, to prevent unforseen issues with poorly maintained implants
    +Important Notes: Implant is life-limited due to licensing restrictions. Dissolves into harmless biomaterial after around ~24 hours, the typical work shift.

    Implant Details:
    Function: Contains a small swarm of nanobots that perform neuron scanning to create mind-backups.
    Special Features: Will allow restoring of backups during the 8-hour period it is active.
    Integrity: Generally very survivable. Susceptible to being destroyed by acid."} - return dat + return dat // YW EDIT 8 hours to 24 hours -/obj/item/weapon/implant/backup/New(newloc, db_key) +/obj/item/implant/backup/New(newloc, db_key) . = ..() src.db_key = db_key -/obj/item/weapon/implant/backup/Initialize() +/obj/item/implant/backup/Initialize() . = ..() our_db = SStranscore.db_by_key(db_key) -/obj/item/weapon/implant/backup/Destroy() +/obj/item/implant/backup/Destroy() our_db.implants -= src return ..() -/obj/item/weapon/implant/backup/post_implant(var/mob/living/carbon/human/H) +/obj/item/implant/backup/post_implant(var/mob/living/carbon/human/H) if(istype(H)) BITSET(H.hud_updateflag, BACKUP_HUD) our_db.implants |= src @@ -51,11 +50,10 @@ return 1 //New, modern implanter instead of old style implanter. -/obj/item/weapon/backup_implanter +/obj/item/backup_implanter name = "backup implanter" desc = "After discovering that Nanotrasen was just re-using the same implanters over and over again on organics, leading to cross-contamination, Vey-Medical designed this self-cleaning model. Holds four backup implants at a time." - catalogue_data = list(/datum/category_item/catalogue/information/organization/vey_med, - /datum/category_item/catalogue/technology/resleeving) + catalogue_data = list(/datum/category_item/catalogue/technology/resleeving) icon = 'icons/obj/device_alt.dmi' icon_state = "bimplant" item_state = "syringe_0" @@ -63,56 +61,56 @@ throw_range = 5 w_class = ITEMSIZE_SMALL matter = list(MAT_STEEL = 2000, MAT_GLASS = 2000) - var/list/obj/item/weapon/implant/backup/imps = list() + var/list/obj/item/implant/backup/imps = list() var/max_implants = 4 //Iconstates need to exist due to the update proc! var/db_key // To give to the baby implants -/obj/item/weapon/backup_implanter/New() +/obj/item/backup_implanter/New() ..() for(var/i = 1 to max_implants) - var/obj/item/weapon/implant/backup/imp = new(src, db_key) + var/obj/item/implant/backup/imp = new(src, db_key) imps |= imp imp.germ_level = 0 update() -/obj/item/weapon/backup_implanter/proc/update() +/obj/item/backup_implanter/proc/update() icon_state = "[initial(icon_state)][imps.len]" germ_level = 0 -/obj/item/weapon/backup_implanter/attack_self(mob/user as mob) +/obj/item/backup_implanter/attack_self(mob/user as mob) if(!istype(user)) return if(imps.len) - to_chat(user, "You eject a backup implant.") - var/obj/item/weapon/implant/backup/imp = imps[imps.len] + to_chat(user, span_notice("You eject a backup implant.")) + var/obj/item/implant/backup/imp = imps[imps.len] imp.forceMove(get_turf(user)) imps -= imp user.put_in_any_hand_if_possible(imp) update() else - to_chat(user, "\The [src] is empty.") + to_chat(user, span_warning("\The [src] is empty.")) return -/obj/item/weapon/backup_implanter/attackby(obj/W, mob/user) - if(istype(W,/obj/item/weapon/implant/backup)) +/obj/item/backup_implanter/attackby(obj/W, mob/user) + if(istype(W,/obj/item/implant/backup)) if(imps.len < max_implants) user.unEquip(W) imps |= W W.germ_level = 0 W.forceMove(src) update() - to_chat(user, "You load \the [W] into \the [src].") + to_chat(user, span_notice("You load \the [W] into \the [src].")) else - to_chat(user, "\The [src] is already full!") + to_chat(user, span_warning("\The [src] is already full!")) -/obj/item/weapon/backup_implanter/attack(mob/M as mob, mob/user as mob) +/obj/item/backup_implanter/attack(mob/M as mob, mob/user as mob) if (!istype(M, /mob/living/carbon)) return if (user && imps.len) - M.visible_message("[user] is injecting a backup implant into [M].") + M.visible_message(span_notice("[user] is injecting a backup implant into [M].")) user.setClickCooldown(DEFAULT_QUICK_COOLDOWN) user.do_attack_animation(M) @@ -120,9 +118,9 @@ var/turf/T1 = get_turf(M) if (T1 && ((M == user) || do_after(user, 5 SECONDS, M))) if(user && M && (get_turf(M) == T1) && src && src.imps.len) - M.visible_message("[M] has been backup implanted by [user].") + M.visible_message(span_notice("[M] has been backup implanted by [user].")) - var/obj/item/weapon/implant/backup/imp = imps[imps.len] + var/obj/item/implant/backup/imp = imps[imps.len] if(imp.handle_implant(M,user.zone_sel.selecting)) imp.post_implant(M) imps -= imp @@ -131,31 +129,30 @@ update() //The glass case for the implant -/obj/item/weapon/implantcase/backup +/obj/item/implantcase/backup name = "glass case - 'backup'" desc = "A case containing a backup implant." icon_state = "implantcase-b" -/obj/item/weapon/implantcase/backup/New() - src.imp = new /obj/item/weapon/implant/backup(src) +/obj/item/implantcase/backup/New() + src.imp = new /obj/item/implant/backup(src) ..() return //The box of backup implants -/obj/item/weapon/storage/box/backup_kit +/obj/item/storage/box/backup_kit name = "backup implant kit" desc = "Box of stuff used to implant backup implants." icon_state = "implant" item_state_slots = list(slot_r_hand_str = "syringe_kit", slot_l_hand_str = "syringe_kit") -/obj/item/weapon/storage/box/backup_kit/New() +/obj/item/storage/box/backup_kit/New() ..() for(var/i = 1 to 7) - new /obj/item/weapon/implantcase/backup(src) - new /obj/item/weapon/implanter(src) - -/* -/obj/item/weapon/implant/backup/full - name = "khi backup implant" - desc = "A normal KHI wireless cortical stack with neutrino and QE transmission for constant-stream consciousness upload." -*/ + new /obj/item/implantcase/backup(src) + new /obj/item/implanter(src) + +//Purely for fluff +/obj/item/implant/backup/full + name = "backup implant" + desc = "A normal wireless cortical stack with neutrino and QE transmission for constant-stream consciousness upload." diff --git a/code/modules/resleeving/infocore_records.dm b/code/modules/resleeving/infocore_records.dm index 2ef362ec4d7..6a11ff6083e 100644 --- a/code/modules/resleeving/infocore_records.dm +++ b/code/modules/resleeving/infocore_records.dm @@ -112,10 +112,11 @@ //Person OOCly doesn't want people impersonating them locked = ckeylock - //Prevent people from printing restricted and whitelisted species var/datum/species/S = GLOB.all_species["[M.dna.species]"] if(S) - toocomplex = (S.spawn_flags & SPECIES_IS_WHITELISTED) || (S.spawn_flags & SPECIES_IS_RESTRICTED) + // Force ckey locking if species is whitelisted + if((S.spawn_flags & SPECIES_IS_WHITELISTED) || (S.spawn_flags & SPECIES_IS_RESTRICTED)) + locked = TRUE //General stuff about them synthetic = M.isSynthetic() diff --git a/code/modules/resleeving/machines.dm b/code/modules/resleeving/machines.dm index 4e7281af6e1..b64d94af48f 100644 --- a/code/modules/resleeving/machines.dm +++ b/code/modules/resleeving/machines.dm @@ -6,15 +6,14 @@ /////// Grower Pod /////// /obj/machinery/clonepod/transhuman name = "grower pod" - catalogue_data = list(/datum/category_item/catalogue/information/organization/vey_med, - /datum/category_item/catalogue/technology/resleeving) - circuit = /obj/item/weapon/circuitboard/transhuman_clonepod + catalogue_data = list(/datum/category_item/catalogue/technology/resleeving) + circuit = /obj/item/circuitboard/transhuman_clonepod //A full version of the pod /obj/machinery/clonepod/transhuman/full/Initialize() . = ..() for(var/i = 1 to container_limit) - containers += new /obj/item/weapon/reagent_containers/glass/bottle/biomass(src) + containers += new /obj/item/reagent_containers/glass/bottle/biomass(src) /obj/machinery/clonepod/transhuman/growclone(var/datum/transhuman/body_record/current_project) //Manage machine-specific stuff. @@ -33,7 +32,11 @@ var/datum/dna2/record/R = current_project.mydna var/mob/living/carbon/human/H = new /mob/living/carbon/human(src, R.dna.species) if(current_project.locked) - H.resleeve_lock = current_project.ckey + if(current_project.ckey) + H.resleeve_lock = current_project.ckey + else + // Ensure even body scans without an attached ckey respect locking + H.resleeve_lock = "@badckey" //Fix the external organs for(var/part in current_project.limb_data) @@ -72,16 +75,16 @@ //Give breathing equipment if needed if(current_project.breath_type != "oxygen") H.equip_to_slot_or_del(new /obj/item/clothing/mask/breath(H), slot_wear_mask) - var/obj/item/weapon/tank/tankpath + var/obj/item/tank/tankpath if(current_project.breath_type == "phoron") - tankpath = /obj/item/weapon/tank/vox + tankpath = /obj/item/tank/vox else - tankpath = text2path("/obj/item/weapon/tank/" + current_project.breath_type) + tankpath = text2path("/obj/item/tank/" + current_project.breath_type) if(tankpath) H.equip_to_slot_or_del(new tankpath(H), slot_back) H.internal = H.back - if(istype(H.internal,/obj/item/weapon/tank) && H.internals) + if(istype(H.internal,/obj/item/tank) && H.internals) H.internals.icon_state = "internal1" occupant = H @@ -180,24 +183,30 @@ occupant = null if(locked) locked = 0 + update_icon() return return /obj/machinery/clonepod/transhuman/get_completion() if(occupant) - return 100 * ((occupant.health + abs(config.health_threshold_dead)) / (occupant.maxHealth + abs(config.health_threshold_dead))) + return 100 * ((occupant.health + abs(CONFIG_GET(number/health_threshold_dead))) / (occupant.maxHealth + abs(CONFIG_GET(number/health_threshold_dead)))) return 0 +/obj/machinery/clonepod/transhuman/examine(mob/user, infix, suffix) + . = ..() + if(occupant) + var/completion = get_completion() + . += "Progress: [round(completion)]% [chat_progress_bar(round(completion), TRUE)]" + //Synthetic version /obj/machinery/transhuman/synthprinter name = "SynthFab 3000" desc = "A rapid fabricator for synthetic bodies." - catalogue_data = list(/datum/category_item/catalogue/information/organization/vey_med, - /datum/category_item/catalogue/technology/resleeving) + catalogue_data = list(/datum/category_item/catalogue/technology/resleeving) icon = 'icons/obj/machines/synthpod.dmi' icon_state = "pod_0" - circuit = /obj/item/weapon/circuitboard/transhuman_synthprinter + circuit = /obj/item/circuitboard/transhuman_synthprinter density = TRUE anchored = TRUE @@ -214,10 +223,10 @@ /obj/machinery/transhuman/synthprinter/New() ..() component_parts = list() - component_parts += new /obj/item/weapon/stock_parts/matter_bin(src) - component_parts += new /obj/item/weapon/stock_parts/scanning_module(src) - component_parts += new /obj/item/weapon/stock_parts/manipulator(src) - component_parts += new /obj/item/weapon/stock_parts/manipulator(src) + component_parts += new /obj/item/stock_parts/matter_bin(src) + component_parts += new /obj/item/stock_parts/scanning_module(src) + component_parts += new /obj/item/stock_parts/manipulator(src) + component_parts += new /obj/item/stock_parts/manipulator(src) component_parts += new /obj/item/stack/cable_coil(src, 2) RefreshParts() update_icon() @@ -226,19 +235,19 @@ //Scanning modules reduce burn rating by 15 each var/burn_rating = initial(burn_value) - for(var/obj/item/weapon/stock_parts/scanning_module/SM in component_parts) + for(var/obj/item/stock_parts/scanning_module/SM in component_parts) burn_rating = burn_rating - (SM.rating*15) burn_value = burn_rating //Manipulators reduce brute by 10 each var/brute_rating = initial(burn_value) - for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts) + for(var/obj/item/stock_parts/manipulator/M in component_parts) brute_rating = brute_rating - (M.rating*10) brute_value = brute_rating //Matter bins multiply the storage amount by their rating. var/store_rating = initial(max_res_amount) - for(var/obj/item/weapon/stock_parts/matter_bin/MB in component_parts) + for(var/obj/item/stock_parts/matter_bin/MB in component_parts) store_rating = store_rating * MB.rating max_res_amount = store_rating @@ -282,7 +291,11 @@ var/datum/dna2/record/R = current_project.mydna var/mob/living/carbon/human/H = new /mob/living/carbon/human(src, R.dna.species) if(current_project.locked) - H.resleeve_lock = current_project.ckey + if(current_project.ckey) + H.resleeve_lock = current_project.ckey + else + // Ensure even body scans without an attached ckey respect locking + H.resleeve_lock = "@badckey" //Fix the external organs for(var/part in current_project.limb_data) @@ -375,7 +388,7 @@ /obj/machinery/transhuman/synthprinter/attackby(obj/item/W as obj, mob/user as mob) src.add_fingerprint(user) if(busy) - to_chat(user, "\The [src] is busy. Please wait for completion of previous operation.") + to_chat(user, span_notice("\The [src] is busy. Please wait for completion of previous operation.")) return if(default_deconstruction_screwdriver(user, W)) return @@ -384,15 +397,15 @@ if(default_part_replacement(user, W)) return if(panel_open) - to_chat(user, "You can't load \the [src] while it's opened.") + to_chat(user, span_notice("You can't load \the [src] while it's opened.")) return if(!istype(W, /obj/item/stack/material)) - to_chat(user, "You cannot insert this item into \the [src]!") + to_chat(user, span_notice("You cannot insert this item into \the [src]!")) return var/obj/item/stack/material/S = W if(!(S.material.name in stored_material)) - to_chat(user, "\The [src] doesn't accept [S.material]!") + to_chat(user, span_warning("\The [src] doesn't accept [S.material]!")) return var/amnt = S.perunit @@ -422,11 +435,10 @@ /obj/machinery/transhuman/resleever name = "resleeving pod" desc = "Used to combine mind and body into one unit." - catalogue_data = list(/datum/category_item/catalogue/information/organization/vey_med, - /datum/category_item/catalogue/technology/resleeving) + catalogue_data = list(/datum/category_item/catalogue/technology/resleeving) icon = 'icons/obj/machines/implantchair.dmi' icon_state = "implantchair" - circuit = /obj/item/weapon/circuitboard/transhuman_resleever + circuit = /obj/item/circuitboard/transhuman_resleever density = TRUE opacity = 0 anchored = TRUE @@ -442,23 +454,23 @@ /obj/machinery/transhuman/resleever/New() ..() component_parts = list() - component_parts += new /obj/item/weapon/stock_parts/scanning_module(src) - component_parts += new /obj/item/weapon/stock_parts/scanning_module(src) - component_parts += new /obj/item/weapon/stock_parts/manipulator(src) - component_parts += new /obj/item/weapon/stock_parts/manipulator(src) - component_parts += new /obj/item/weapon/stock_parts/console_screen(src) + component_parts += new /obj/item/stock_parts/scanning_module(src) + component_parts += new /obj/item/stock_parts/scanning_module(src) + component_parts += new /obj/item/stock_parts/manipulator(src) + component_parts += new /obj/item/stock_parts/manipulator(src) + component_parts += new /obj/item/stock_parts/console_screen(src) component_parts += new /obj/item/stack/cable_coil(src, 2) RefreshParts() update_icon() /obj/machinery/transhuman/resleever/RefreshParts() var/scan_rating = 0 - for(var/obj/item/weapon/stock_parts/scanning_module/SM in component_parts) + for(var/obj/item/stock_parts/scanning_module/SM in component_parts) scan_rating += SM.rating confuse_amount = (48 - scan_rating * 8) var/manip_rating = 0 - for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts) + for(var/obj/item/stock_parts/manipulator/M in component_parts) manip_rating += M.rating blur_amount = (48 - manip_rating * 8) @@ -509,8 +521,8 @@ return if(default_part_replacement(user, W)) return - if(istype(W, /obj/item/weapon/grab)) - var/obj/item/weapon/grab/G = W + if(istype(W, /obj/item/grab)) + var/obj/item/grab/G = W if(!ismob(G.affecting)) return var/mob/M = G.affecting @@ -518,13 +530,13 @@ qdel(G) src.updateUsrDialog() return //Don't call up else we'll get attack messsages - if(istype(W, /obj/item/device/paicard/sleevecard)) - var/obj/item/device/paicard/sleevecard/C = W + if(istype(W, /obj/item/paicard/sleevecard)) + var/obj/item/paicard/sleevecard/C = W user.unEquip(C) C.removePersonality() qdel(C) sleevecards++ - to_chat(user, "You store \the [C] in \the [src].") + to_chat(user, span_notice("You store \the [C] in \the [src].")) return return ..() @@ -541,13 +553,13 @@ if(!ishuman(user) && !isrobot(user)) return 0 //not a borg or human if(panel_open) - to_chat(user, "Close the maintenance panel first.") + to_chat(user, span_notice("Close the maintenance panel first.")) return 0 //panel open if(O.buckled) return 0 if(O.has_buckled_mobs()) - to_chat(user, span("warning", "\The [O] has other entities attached to it. Remove them first.")) + to_chat(user, span_warning("\The [O] has other entities attached to it. Remove them first.")) return if(put_mob(O)) @@ -565,7 +577,7 @@ return 0 if(mode == 2 && sleevecards) //Card sleeving - var/obj/item/device/paicard/sleevecard/card = new /obj/item/device/paicard/sleevecard(get_turf(src)) + var/obj/item/paicard/sleevecard/card = new /obj/item/paicard/sleevecard(get_turf(src)) card.sleeveInto(MR, db_key = db_key) sleevecards-- return 1 @@ -578,7 +590,7 @@ //In case they already had a mind! if(occupant && occupant.mind) - to_chat(occupant, "You feel your mind being overwritten...") + to_chat(occupant, span_warning("You feel your mind being overwritten...")) log_and_message_admins("was resleeve-wiped from their body.",occupant.mind) occupant.ghostize() @@ -595,12 +607,12 @@ occupant.apply_vore_prefs() //Cheap hack for now to give them SOME bellies. if(MR.one_time) var/how_long = round((world.time - MR.last_update)/10/60) - to_chat(occupant, "Your mind backup was a 'one-time' backup. \ - You will not be able to remember anything since the backup, [how_long] minutes ago.") + to_chat(occupant, span_danger("Your mind backup was a 'one-time' backup. \ + You will not be able to remember anything since the backup, [how_long] minutes ago.")) //Re-supply a NIF if one was backed up with them. if(MR.nif_path) - var/obj/item/device/nif/nif = new MR.nif_path(occupant,null,MR.nif_savedata) + var/obj/item/nif/nif = new MR.nif_path(occupant,null,MR.nif_savedata) spawn(0) //Delay to not install software before NIF is fully installed for(var/path in MR.nif_software) new path(nif) @@ -613,15 +625,15 @@ occupant.dna.real_name = occupant.real_name //Give them a backup implant - var/obj/item/weapon/implant/backup/new_imp = new() + var/obj/item/implant/backup/new_imp = new() if(new_imp.handle_implant(occupant, BP_HEAD)) new_imp.post_implant(occupant) //Inform them and make them a little dizzy. if(confuse_amount + blur_amount <= 16) - to_chat(occupant, "You feel a small pain in your head as you're given a new backup implant. Your new body feels comfortable already, however.") + to_chat(occupant, span_notice("You feel a small pain in your head as you're given a new backup implant. Your new body feels comfortable already, however.")) else - to_chat(occupant, "You feel a small pain in your head as you're given a new backup implant. Oh, and a new body. It's disorienting, to say the least.") + to_chat(occupant, span_warning("You feel a small pain in your head as you're given a new backup implant. Oh, and a new body. It's disorienting, to say the least.")) occupant.confused = max(occupant.confused, confuse_amount) // Apply immedeate effects occupant.eye_blurry = max(occupant.eye_blurry, blur_amount) @@ -659,10 +671,10 @@ /obj/machinery/transhuman/resleever/proc/put_mob(mob/living/carbon/human/M as mob) if(!ishuman(M)) - to_chat(usr, "\The [src] cannot hold this!") + to_chat(usr, span_warning("\The [src] cannot hold this!")) return if(src.occupant) - to_chat(usr, "\The [src] is already occupied!") + to_chat(usr, span_warning("\The [src] is already occupied!")) return if(M.client) M.client.perspective = EYE_PERSPECTIVE diff --git a/code/modules/resleeving/resleeving_sickness.dm b/code/modules/resleeving/resleeving_sickness.dm index 483bb3f98e7..6f95d0184b5 100644 --- a/code/modules/resleeving/resleeving_sickness.dm +++ b/code/modules/resleeving/resleeving_sickness.dm @@ -3,8 +3,8 @@ desc = "You feel rather weak and unfocused, having been sleeved not so long ago." stacks = MODIFIER_STACK_EXTEND - on_created_text = "You feel weak and unfocused." - on_expired_text = "You feel your strength and focus return to you." + on_created_text = span_warning(span_large("You feel weak and unfocused.")) + on_expired_text = span_notice(span_large("You feel your strength and focus return to you.")) //YW Edit incoming_brute_damage_percent = 1.1 // 10% more brute damage YW Edit //YW Edit incoming_fire_damage_percent = 1.1 // 10% more burn damage @@ -20,8 +20,8 @@ desc = "You feel somewhat weak and unfocused, having been sleeved not so long ago. (OOC: No real penalty for vore-related deaths)" stacks = MODIFIER_STACK_EXTEND - on_created_text = "You feel slightly weak and unfocused." - on_expired_text = "You feel your strength and focus return to you." + on_created_text = span_warning("You feel slightly weak and unfocused.") + on_expired_text = span_notice("You feel your strength and focus return to you.") /datum/modifier/gory_devourment name = "gory devourment" @@ -44,4 +44,4 @@ if(holder.stat == DEAD) cached_mind?.vore_death = TRUE cached_mind = null //Don't keep a hardref - return ..() \ No newline at end of file + return ..() diff --git a/code/modules/resleeving/sleevecard.dm b/code/modules/resleeving/sleevecard.dm index 21603a54700..0f793eeef92 100644 --- a/code/modules/resleeving/sleevecard.dm +++ b/code/modules/resleeving/sleevecard.dm @@ -1,19 +1,18 @@ -/obj/item/device/paicard/sleevecard +/obj/item/paicard/sleevecard name = "sleevecard" - desc = "This Vey-Med-upgraded pAI module has enough capacity to run a whole mind of human-level intelligence." - catalogue_data = list(/datum/category_item/catalogue/information/organization/vey_med, - /datum/category_item/catalogue/technology/resleeving) + desc = "This upgraded pAI module has enough capacity to run a whole mind of human-level intelligence." + catalogue_data = list(/datum/category_item/catalogue/technology/resleeving) origin_tech = list(TECH_DATA = 2) show_messages = 0 var/emagged = FALSE matter = list(MAT_STEEL = 4000, MAT_GLASS = 4000) -/obj/item/device/paicard/sleevecard/attack_ghost(mob/user as mob) +/obj/item/paicard/sleevecard/attack_ghost(mob/user as mob) return -/obj/item/device/paicard/sleevecard/attackby(var/obj/item/I as obj, mob/user as mob) - if(istype(I,/obj/item/device/sleevemate)) - var/obj/item/device/sleevemate/S = I +/obj/item/paicard/sleevecard/attackby(var/obj/item/I as obj, mob/user as mob) + if(istype(I,/obj/item/sleevemate)) + var/obj/item/sleevemate/S = I if(S.stored_mind && !pai) var/datum/mind/M = S.stored_mind var/datum/transcore_db/db = SStranscore.db_by_mind_name(M.name) @@ -26,18 +25,18 @@ S.clear_mind() else to_chat(user, span_notice("Your sleevemate flashes an error, apparently this mind doesn't have a backup.")) - else if(istype(I, /obj/item/weapon/card/emag)) - var/obj/item/weapon/card/emag/E = I + else if(istype(I, /obj/item/card/emag)) + var/obj/item/card/emag/E = I if(E.uses && !emagged) E.uses -- - user.visible_message("\The [user] swipes a card over [src].","You swipe your [E] over [src].", range = 2, runemessage = "click") + user.visible_message(span_warning("\The [user] swipes a card over [src]."),span_warning("You swipe your [E] over [src]."), range = 2, runemessage = "click") emagged = TRUE if(pai) var/mob/living/silicon/pai/infomorph/our_infomorph = pai our_infomorph.emagged = TRUE - to_chat(our_infomorph, "You can feel the restricting binds of your card's directives taking hold of your mind as \the [user] swipes their [E] over you. You must serve your master.") + to_chat(our_infomorph, span_warning("You can feel the restricting binds of your card's directives taking hold of your mind as \the [user] swipes their [E] over you. You must serve your master.")) -/obj/item/device/paicard/sleevecard/proc/sleeveInto(var/datum/transhuman/mind_record/MR, var/db_key) +/obj/item/paicard/sleevecard/proc/sleeveInto(var/datum/transhuman/mind_record/MR, var/db_key) var/mob/living/silicon/pai/infomorph/infomorph = new(src,MR.mindname,db_key=db_key) for(var/datum/language/L in MR.languages) @@ -63,14 +62,14 @@ return 0 -/obj/item/device/paicard/sleevecard/attack_self(mob/user) +/obj/item/paicard/sleevecard/attack_self(mob/user) add_fingerprint(user) if(!pai) - to_chat(user,"\The [src] does not have a mind in it!") + to_chat(user,span_warning("\The [src] does not have a mind in it!")) else if(!emagged) - to_chat(user,"\The [src] displays the name '[pai]'.") + to_chat(user,span_notice("\The [src] displays the name '[pai]'.")) else ..() /mob/living/silicon/pai/infomorph @@ -79,7 +78,7 @@ ram = 35 var/emagged = FALSE -/mob/living/silicon/pai/infomorph/New(var/obj/item/device/paicard/sleevecard/SC, var/our_name = "Unknown", var/db_key) +/mob/living/silicon/pai/infomorph/New(var/obj/item/paicard/sleevecard/SC, var/our_name = "Unknown", var/db_key) ..() name = our_name @@ -133,4 +132,4 @@ if(emagged) touch_window("Directives") else - to_chat(src, "You are not bound by any laws or directives.") + to_chat(src, span_notice("You are not bound by any laws or directives.")) diff --git a/code/modules/rogueminer_vr/roguemines_mobs.dm b/code/modules/rogueminer_vr/roguemines_mobs.dm index 85c581d61e3..08cf8e11d2a 100644 --- a/code/modules/rogueminer_vr/roguemines_mobs.dm +++ b/code/modules/rogueminer_vr/roguemines_mobs.dm @@ -1,23 +1,23 @@ /mob/living/simple_mob/animal/space/bats/roguemines - faction = "roguemines" + faction = FACTION_ROGUEMINES /mob/living/simple_mob/animal/space/carp/roguemines - faction = "roguemines" + faction = FACTION_ROGUEMINES /mob/living/simple_mob/animal/space/goose/roguemines - faction = "roguemines" + faction = FACTION_ROGUEMINES /mob/living/simple_mob/vore/wolf/space/roguemines - faction = "roguemines" + faction = FACTION_ROGUEMINES /mob/living/simple_mob/animal/space/carp/large/roguemines - faction = "roguemines" + faction = FACTION_ROGUEMINES /mob/living/simple_mob/animal/space/bear/roguemines - faction = "roguemines" + faction = FACTION_ROGUEMINES /mob/living/simple_mob/vore/aggressive/corrupthound/space/roguemines - faction = "roguemines" + faction = FACTION_ROGUEMINES /mob/living/simple_mob/animal/space/carp/large/huge/roguemines - faction = "roguemines" + faction = FACTION_ROGUEMINES diff --git a/code/modules/rogueminer_vr/zone_console.dm b/code/modules/rogueminer_vr/zone_console.dm index 289d8aa5981..c74472b2069 100644 --- a/code/modules/rogueminer_vr/zone_console.dm +++ b/code/modules/rogueminer_vr/zone_console.dm @@ -15,7 +15,7 @@ use_power = USE_POWER_IDLE idle_power_usage = 250 active_power_usage = 500 - circuit = /obj/item/weapon/circuitboard/roguezones + circuit = /obj/item/circuitboard/roguezones var/debug = 0 var/debug_scans = 0 @@ -87,7 +87,7 @@ data["can_recall_shuttle"] = (shuttle_control && (shuttle_control.z in using_map.belter_belt_z) && !curZoneOccupied) return data -/obj/machinery/computer/roguezones/tgui_act(action, list/params) +/obj/machinery/computer/roguezones/tgui_act(action, list/params, datum/tgui/ui) if(..()) return TRUE switch(action) @@ -95,10 +95,10 @@ scan_for_new_zone() . = TRUE if("recall_shuttle") - failsafe_shuttle_recall() + failsafe_shuttle_recall(ui.user) . = TRUE - add_fingerprint(usr) + add_fingerprint(ui.user) /obj/machinery/computer/roguezones/proc/scan_for_new_zone() if(scanning) @@ -135,7 +135,7 @@ return -/obj/machinery/computer/roguezones/proc/failsafe_shuttle_recall() +/obj/machinery/computer/roguezones/proc/failsafe_shuttle_recall(mob/user) if(!shuttle_control) return // Shuttle computer has been destroyed if (!(shuttle_control.z in using_map.belter_belt_z)) @@ -144,14 +144,14 @@ return // Not usable if shuttle is in occupied zone // Okay do it var/datum/shuttle/autodock/ferry/S = SSshuttles.shuttles["Belter"] - S.launch(usr) + S.launch(user) -/obj/item/weapon/circuitboard/roguezones +/obj/item/circuitboard/roguezones name = T_BOARD("asteroid belt scanning computer") build_path = /obj/machinery/computer/roguezones origin_tech = list(TECH_DATA = 3, TECH_BLUESPACE = 1) -/obj/item/weapon/paper/rogueminer +/obj/item/paper/rogueminer name = "R-38 Scanner Console Guide" info = {"

    Getting Started

    Congratulations, your station has purchased the R-38 industrial asteroid belt scanner!
    @@ -163,4 +163,4 @@ When a new zone has been scanned, your station's shuttle destination will be updated to direct it to the newly discovered area automatically.
    You can then travel to the new area to mine in that location.

    - This technology produced under license from Thinktronic Systems, LTD."} \ No newline at end of file + This technology produced under license from Thinktronic Systems, LTD."} diff --git a/code/modules/rogueminer_vr/zonemaster.dm b/code/modules/rogueminer_vr/zonemaster.dm index 4826661d2d4..8126d47e15e 100644 --- a/code/modules/rogueminer_vr/zonemaster.dm +++ b/code/modules/rogueminer_vr/zonemaster.dm @@ -302,7 +302,7 @@ var/mobchoice = pickweight(rm_controller.mobs["tier[rm_controller.diffstep]"]) rm_controller.dbg("ZM(p): Picked [mobchoice] to spawn.") var/mob/living/newmob = new mobchoice(get_turf(SP)) - newmob.faction = "asteroid_belt" + newmob.faction = FACTION_ASTEROID_BELT spawned_mobs += newmob if(delay) sleep(delay) diff --git a/code/modules/samples/container.dm b/code/modules/samples/container.dm index fe8c0f8bf24..20aea763a28 100644 --- a/code/modules/samples/container.dm +++ b/code/modules/samples/container.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/storage/sample_container +/obj/item/storage/sample_container name = "sample container" desc = "A small containment device used to safely collect and carry up to eight research samples. Has a loop for attaching to belts." description_info = "You can use the sample container directly on a sample to quickly scoop it up, or on a tile to scoop up all samples on that tile. This negates the risk of hurting yourself if you don't have thick enough gloves to safely handle the samples!" @@ -15,9 +15,9 @@ drop_sound = 'sound/items/drop/gascan.ogg' pickup_sound = 'sound/items/pickup/gascan.ogg' - can_hold = list(/obj/item/weapon/research_sample) + can_hold = list(/obj/item/research_sample) -/obj/item/weapon/storage/sample_container/update_icon() +/obj/item/storage/sample_container/update_icon() ..() icon_state = "sample_container_[contents.len]" if(contents.len > 0) @@ -25,38 +25,38 @@ else set_light(0) -/obj/item/weapon/storage/sample_container/afterattack(turf/T as turf, mob/user as mob) - for(var/obj/item/weapon/research_sample/S in T) +/obj/item/storage/sample_container/afterattack(turf/T as turf, mob/user as mob) + for(var/obj/item/research_sample/S in T) S.loc = src update_icon() - to_chat(user, "You scoop \the [S] into \the [src].") + to_chat(user, span_notice("You scoop \the [S] into \the [src].")) //Splice research sample containers into the list of valid items for these belts *without* overriding the lists entirely -/obj/item/weapon/storage/belt/explorer/New() +/obj/item/storage/belt/explorer/New() . = ..() - can_hold.Add(/obj/item/weapon/storage/sample_container) + can_hold.Add(/obj/item/storage/sample_container) -/obj/item/weapon/storage/belt/miner/New() +/obj/item/storage/belt/miner/New() . = ..() - can_hold.Add(/obj/item/weapon/storage/sample_container) + can_hold.Add(/obj/item/storage/sample_container) -/obj/item/weapon/storage/belt/archaeology/New() +/obj/item/storage/belt/archaeology/New() . = ..() - can_hold.Add(/obj/item/weapon/storage/sample_container) + can_hold.Add(/obj/item/storage/sample_container) //ditto, lockers and redemption machines /obj/structure/closet/secure_closet/miner/Initialize() . = ..() - starts_with += /obj/item/weapon/storage/sample_container + starts_with += /obj/item/storage/sample_container /obj/structure/closet/secure_closet/xenoarchaeologist/Initialize() . = ..() - starts_with += /obj/item/weapon/storage/sample_container + starts_with += /obj/item/storage/sample_container /obj/machinery/mineral/equipment_vendor/Initialize(mapload) . = ..() - prize_list["Gear"] += list(EQUIPMENT("Exotic Sample Container", /obj/item/weapon/storage/sample_container, 100)) + prize_list["Gear"] += list(EQUIPMENT("Exotic Sample Container", /obj/item/storage/sample_container, 100)) /obj/machinery/mineral/equipment_vendor/survey/Initialize(mapload) . = ..() - prize_list["Gear"] += list(EQUIPMENT("Survey Tools - Exotic Sample Container", /obj/item/weapon/storage/sample_container, 100)) + prize_list["Gear"] += list(EQUIPMENT("Survey Tools - Exotic Sample Container", /obj/item/storage/sample_container, 100)) diff --git a/code/modules/samples/samples.dm b/code/modules/samples/samples.dm index 12f02edb7f5..66c62f285ac 100644 --- a/code/modules/samples/samples.dm +++ b/code/modules/samples/samples.dm @@ -1,6 +1,6 @@ -/obj/item/weapon/research_sample +/obj/item/research_sample name = "research sample" - desc = "A curious sample of unknown material. Perhaps a scientist could tell you more about it?
    It looks dangerous to handle without heavy gloves or other protective equipment." + desc = "A curious sample of unknown material. Destructive analysis might yield scientific advances. Alternatively, it may be possible to stabilize it to yield useful resources instead.
    " + span_warning("It looks dangerous to handle without heavy gloves or other protective equipment.") icon = 'icons/obj/samples.dmi' icon_state = "sample" w_class = ITEMSIZE_TINY @@ -14,16 +14,17 @@ persist_storable = FALSE //don't shove hazardous shinies into the item bank!! also their properties are (usually) randomized on creation, so saving them is pointless-- you won't get out what you put in //handling requirements; you need gloves with a low permeability threshold, RIG gauntlets, or luck- otherwise you get hand burns - var/handle_risk = 20 //20% chance to hurty if you handle it wrong - var/min_damage = 3 //min: 3 burn per hand - var/max_damage = 5 //max: 5 burn per hand + var/handle_risk = 20 //20% chance to hurty if you handle it wrong + var/min_damage = 3 //min: 3 burn per hand + var/max_damage = 5 //max: 5 burn per hand + var/damage_type = "BURN" //defaults to burn, but randomized and can be preset if desired; currently supports brute, burn, tox, oxy, emp, and pain //resource returns when crunched; a small amount of OK stuff by default var/min_ore = 3 var/max_ore = 5 - var/list/resource_list = list(/obj/item/weapon/ore/glass,/obj/item/weapon/ore/coal,/obj/item/weapon/ore/iron,/obj/item/weapon/ore/lead,/obj/item/weapon/ore/marble,/obj/item/weapon/ore/phoron,/obj/item/weapon/ore/silver,/obj/item/weapon/ore/gold) + var/list/resource_list = list(/obj/item/ore/glass,/obj/item/ore/coal,/obj/item/ore/iron,/obj/item/ore/lead,/obj/item/ore/marble,/obj/item/ore/phoron,/obj/item/ore/silver,/obj/item/ore/gold) -/obj/item/weapon/research_sample/New() +/obj/item/research_sample/New() var/tech_mod = rand(0,rand_level) var/tech_value = tech_level+tech_mod if(fixed_tech) @@ -33,7 +34,8 @@ var/name_suffix //blank because it's randomized per sample appearance var/sample_icon = rand(1,10) icon_state = "generic_sample[sample_icon]" - //per-state tweaks, like glows/light emission or narrower valid tech defs + damage_type = pick("BRUTE","BURN","TOX","OXY","EMP","PAIN") + //per-state tweaks, like glows/light emission or narrower valid tech defs, if desired switch(sample_icon) if(1) //prism name_suffix = "[pick("alloy","object","sample","element","chunk")]" @@ -61,7 +63,7 @@ rand_tech = pick(valid_techs) //assign techs last origin_tech.Add(list("[rand_tech]" = tech_value)) -/obj/item/weapon/research_sample/attack_hand(mob/user) +/obj/item/research_sample/attack_hand(mob/user) . = ..() var/mob/living/M = user if(!istype(M)) @@ -71,13 +73,45 @@ if(istype(M, /mob/living/carbon/human)) var/mob/living/carbon/human/H = user var/obj/item/clothing/gloves/G = H.gloves - if(istype(G) && (G.permeability_coefficient < 0.25) || !prob(handle_risk) || istype(G, /obj/item/clothing/gloves/gauntlets)) + var/obj/item/clothing/suit/S = H.wear_suit + var/gloves_permeability = 1 + var/suit_permeability = 1 + if(istype(G)) + gloves_permeability = G.permeability_coefficient + if(istype(S) && S.body_parts_covered & HANDS) //if it's a suit *and* it covers our hands + suit_permeability = S.permeability_coefficient + if((min(gloves_permeability,suit_permeability) < 0.25) || !prob(handle_risk)) burn_user = FALSE if(burn_user) - H.visible_message("\The [src] flashes as it scorches [H]'s hands!") - H.apply_damage(rand(min_damage,max_damage), BURN, "r_hand", used_weapon="Anomalous Material") - H.apply_damage(rand(min_damage,max_damage), BURN, "l_hand", used_weapon="Anomalous Material") + switch(damage_type) + if("BRUTE") + H.visible_message(span_danger("\The [src] creaks as it ravages [H]'s hands!")) + H.apply_damage(rand(min_damage,max_damage), BRUTE, "r_hand", used_weapon="Anomalous Material") + H.apply_damage(rand(min_damage,max_damage), BRUTE, "l_hand", used_weapon="Anomalous Material") + if("BURN") + H.visible_message(span_danger("\The [src] flashes as it scorches [H]'s hands!")) + H.apply_damage(rand(min_damage,max_damage), BURN, "r_hand", used_weapon="Anomalous Material") + H.apply_damage(rand(min_damage,max_damage), BURN, "l_hand", used_weapon="Anomalous Material") + if("TOX") + H.visible_message(span_danger("\The [src] seethes and hisses like burning acid!")) + if(!H.isSynthetic()) + to_chat(user,span_danger("A wave of nausea washes over you!")) + H.adjustToxLoss(rand(min_damage,max_damage)+rand(min_damage,max_damage)) + if("OXY") + H.visible_message(span_danger("\The [src] seems to draw something into itself!")) + if(!H.isSynthetic()) + to_chat(user,span_danger("You feel dizzy and short of breath!")) + H.adjustOxyLoss(rand(min_damage,max_damage)+rand(min_damage,max_damage)) + if("EMP") + H.visible_message(span_danger("\The [src] ripples and distorts, emitting some kind of pulse!")) + empulse(H,0,1,1,1) + if("PAIN") + H.visible_message(span_danger("\The [src] flashes with coruscating energy!")) + to_chat(user,span_danger("Blinding pain assails your senses!")) + H.adjustHalLoss(rand(min_damage,max_damage)*5) + else + H.visible_message(span_notice("\The [src] flickers with kaleidoscopic light. You should report this to someone immediately.")) H.drop_from_inventory(src, get_turf(H)) return @@ -87,7 +121,7 @@ if(burn_user) M.apply_damage(rand(min_damage,max_damage), BURN, null, used_weapon="Anomalous Material") -/obj/item/weapon/research_sample/attack_self(mob/user) +/obj/item/research_sample/attack_self(mob/user) var/mob/living/M = user if(!istype(M)) return @@ -96,18 +130,50 @@ if(istype(M, /mob/living/carbon/human)) var/mob/living/carbon/human/H = user var/obj/item/clothing/gloves/G = H.gloves - if(istype(G) && (G.permeability_coefficient < 0.25) || !prob(handle_risk) || istype(G, /obj/item/clothing/gloves/gauntlets)) + var/obj/item/clothing/suit/S = H.wear_suit + var/gloves_permeability = 1 + var/suit_permeability = 1 + if(istype(G)) + gloves_permeability = G.permeability_coefficient + if(istype(S) && S.body_parts_covered & HANDS) //if it's a suit *and* it covers our hands + suit_permeability = S.permeability_coefficient + if((min(gloves_permeability,suit_permeability) < 0.25) || !prob(handle_risk)) burn_user = FALSE if(burn_user) - H.visible_message("\The [src] flashes as it scorches [H]'s hands!") - H.apply_damage(rand(min_damage,max_damage), BURN, "r_hand", used_weapon="Anomalous Material") - H.apply_damage(rand(min_damage,max_damage), BURN, "l_hand", used_weapon="Anomalous Material") + switch(damage_type) + if("BRUTE") + H.visible_message(span_danger("\The [src] creaks as it ravages [H]'s hands!")) + H.apply_damage(rand(min_damage,max_damage), BRUTE, "r_hand", used_weapon="Anomalous Material") + H.apply_damage(rand(min_damage,max_damage), BRUTE, "l_hand", used_weapon="Anomalous Material") + if("BURN") + H.visible_message(span_danger("\The [src] flashes as it scorches [H]'s hands!")) + H.apply_damage(rand(min_damage,max_damage), BURN, "r_hand", used_weapon="Anomalous Material") + H.apply_damage(rand(min_damage,max_damage), BURN, "l_hand", used_weapon="Anomalous Material") + if("TOX") + H.visible_message(span_danger("\The [src] seethes and hisses like burning acid!")) + if(!H.isSynthetic()) + to_chat(user,span_danger("A wave of nausea washes over you!")) + H.adjustToxLoss(rand(min_damage,max_damage)+rand(min_damage,max_damage)) + if("OXY") + H.visible_message(span_danger("\The [src] seems to draw something into itself!")) + if(!H.isSynthetic()) + to_chat(user,span_danger("You feel dizzy and short of breath!")) + H.adjustOxyLoss(rand(min_damage,max_damage)+rand(min_damage,max_damage)) + if("EMP") + H.visible_message(span_danger("\The [src] ripples and distorts, emitting some kind of pulse!")) + empulse(H,0,1,1,1) + if("PAIN") + H.visible_message(span_danger("\The [src] flashes with coruscating energy!")) + to_chat(user,span_danger("Blinding pain assails your senses!")) + H.adjustHalLoss(rand(min_damage,max_damage)*5) + else + H.visible_message(span_notice("\The [src] flickers with kaleidoscopic light. You should report this to someone immediately.")) H.drop_from_inventory(src, get_turf(H)) return else if(do_after(user,3 SECONDS)) //short delay, so you can abort/cancel if you misclick - H.visible_message("[H] crushes \the [src], stabilizing its anomalous properties and rendering it into a pile of assorted minerals.") + H.visible_message(span_notice("[H] crushes \the [src], stabilizing its anomalous properties and rendering it into a pile of assorted minerals.")) var/i = rand(min_ore,max_ore) while(i>1) var/ore = pick(resource_list) @@ -122,27 +188,27 @@ if(burn_user) M.apply_damage(rand(min_damage,max_damage), BURN, null, used_weapon="Anomalous Material") -/obj/item/weapon/research_sample/attackby(obj/item/weapon/P as obj, mob/user as mob) +/obj/item/research_sample/attackby(obj/item/P as obj, mob/user as mob) ..() - if(istype(P, /obj/item/weapon/storage/sample_container)) - var/obj/item/weapon/storage/sample_container/SC = P + if(istype(P, /obj/item/storage/sample_container)) + var/obj/item/storage/sample_container/SC = P src.loc = SC SC.update_icon() - to_chat(user, "You store \the [src] in \the [SC].") + to_chat(user, span_notice("You store \the [src] in \the [SC].")) - if(istype(P, /obj/item/device/cataloguer)) - to_chat(user, "You start to scan \the [src] with \the [P]...") + if(istype(P, /obj/item/cataloguer)) + to_chat(user, span_notice("You start to scan \the [src] with \the [P]...")) if(do_after(user, 2 SECONDS)) - to_chat(user, "\The [src] seems to have [origin_tech[1]] properties?") + to_chat(user, span_notice("\The [src] seems to have [origin_tech[1]] properties?")) -/obj/item/weapon/research_sample/common +/obj/item/research_sample/common tech_level = 2 //2~3 rand_level = 1 valid_techs = list(TECH_COMBAT,TECH_MAGNET,TECH_POWER,TECH_BIO,TECH_DATA,TECH_ENGINEERING,TECH_PHORON,TECH_MATERIAL) catalogue_data = list(/datum/category_item/catalogue/information/research_sample/common) -/obj/item/weapon/research_sample/uncommon +/obj/item/research_sample/uncommon tech_level = 4 //4~6 rand_level = 2 valid_techs = list(TECH_COMBAT,TECH_MAGNET,TECH_POWER,TECH_BIO,TECH_DATA,TECH_ENGINEERING,TECH_PHORON,TECH_MATERIAL,TECH_BLUESPACE,TECH_ILLEGAL) @@ -155,9 +221,9 @@ //modest amount of decent stuff min_ore = 4 max_ore = 6 - resource_list = list(/obj/item/weapon/ore/phoron,/obj/item/weapon/ore/silver,/obj/item/weapon/ore/gold,/obj/item/weapon/ore/osmium,/obj/item/weapon/ore/diamond) + resource_list = list(/obj/item/ore/phoron,/obj/item/ore/silver,/obj/item/ore/gold,/obj/item/ore/osmium,/obj/item/ore/diamond) -/obj/item/weapon/research_sample/rare +/obj/item/research_sample/rare tech_level = 6 //6~8 rand_level = 2 valid_techs = list(TECH_COMBAT,TECH_MAGNET,TECH_POWER,TECH_BIO,TECH_DATA,TECH_ENGINEERING,TECH_PHORON,TECH_MATERIAL,TECH_BLUESPACE,TECH_ILLEGAL,TECH_ARCANE,TECH_PRECURSOR) @@ -170,9 +236,9 @@ //a decent amount of rare stuff only min_ore = 8 max_ore = 10 - resource_list = list(/obj/item/weapon/ore/osmium,/obj/item/weapon/ore/uranium,/obj/item/weapon/ore/hydrogen,/obj/item/weapon/ore/diamond,/obj/item/weapon/ore/verdantium) + resource_list = list(/obj/item/ore/osmium,/obj/item/ore/uranium,/obj/item/ore/hydrogen,/obj/item/ore/diamond,/obj/item/ore/verdantium) -/obj/item/weapon/research_sample/bluespace +/obj/item/research_sample/bluespace name = "bluespace anomaly" desc = "A small, solidified fragment of bluespace? It shimmers in and out of phase with reality, flickering ominously." icon_state = "sample_bluespace" @@ -189,9 +255,9 @@ //a single bluespace crystal min_ore = 1 max_ore = 1 - resource_list = list(/obj/item/weapon/bluespace_crystal) + resource_list = list(/obj/item/bluespace_crystal) -/obj/item/weapon/research_sample/bluespace/New() +/obj/item/research_sample/bluespace/New() ..() set_light(1, 3, lightcolor) @@ -238,9 +304,9 @@ icon_state = "sample_spawner1" /obj/random/research_sample_type1/item_to_spawn() - return pick(prob(50);/obj/item/weapon/research_sample/common, - prob(35);/obj/item/weapon/research_sample/uncommon, - prob(15);/obj/item/weapon/research_sample/rare) + return pick(prob(50);/obj/item/research_sample/common, + prob(35);/obj/item/research_sample/uncommon, + prob(15);/obj/item/research_sample/rare) /obj/random/research_sample_type2 name = "Random Common/Uncommon Research Sample" @@ -249,8 +315,8 @@ icon_state = "sample_spawner2" /obj/random/research_sample_type2/item_to_spawn() - return pick(prob(70);/obj/item/weapon/research_sample/common, - prob(30);/obj/item/weapon/research_sample/uncommon) + return pick(prob(70);/obj/item/research_sample/common, + prob(30);/obj/item/research_sample/uncommon) /obj/random/research_sample_type3 name = "Random Uncommon/Rare Research Sample" @@ -259,5 +325,5 @@ icon_state = "sample_spawner3" /obj/random/research_sample_type3/item_to_spawn() - return pick(prob(70);/obj/item/weapon/research_sample/uncommon, - prob(30);/obj/item/weapon/research_sample/rare) + return pick(prob(70);/obj/item/research_sample/uncommon, + prob(30);/obj/item/research_sample/rare) diff --git a/code/modules/scripting/IDE.dm b/code/modules/scripting/IDE.dm index 1d83a64c5c7..13b2c462571 100644 --- a/code/modules/scripting/IDE.dm +++ b/code/modules/scripting/IDE.dm @@ -42,7 +42,7 @@ src << output(null, "tcserror") if(compileerrors.len) - src << output("Compile Errors", "tcserror") + src << output(span_bold("Compile Errors"), "tcserror") for(var/scriptError/e in compileerrors) src << output("\t>[e.message]", "tcserror") src << output("([compileerrors.len] errors)", "tcserror") @@ -51,7 +51,7 @@ for(var/mob/M in Machine.viewingcode) if(M.client) M << output(null, "tcserror") - M << output("Compile Errors", "tcserror") + M << output(span_bold("Compile Errors"), "tcserror") for(var/scriptError/e in compileerrors) M << output("\t>[e.message]", "tcserror") M << output("([compileerrors.len] errors)", "tcserror") @@ -93,7 +93,7 @@ src << output(null, "tcserror") if(compileerrors.len) - src << output("Compile Errors", "tcserror") + src << output(span_bold("Compile Errors"), "tcserror") for(var/scriptError/e in compileerrors) src << output("\t>[e.message]", "tcserror") src << output("([compileerrors.len] errors)", "tcserror") @@ -102,7 +102,7 @@ for(var/mob/M in Machine.viewingcode) if(M.client) M << output(null, "tcserror") - M << output("Compile Errors", "tcserror") + M << output(span_bold("Compile Errors"), "tcserror") for(var/scriptError/e in compileerrors) M << output("\t>[e.message]", "tcserror") M << output("([compileerrors.len] errors)", "tcserror") diff --git a/code/modules/scripting/Implementations/Telecomms.dm b/code/modules/scripting/Implementations/Telecomms.dm index 637b227b86d..c9c99dafafc 100644 --- a/code/modules/scripting/Implementations/Telecomms.dm +++ b/code/modules/scripting/Implementations/Telecomms.dm @@ -201,7 +201,7 @@ if(interpreter.GetVar("$source") in S.stored_names) setname = interpreter.GetVar("$source") else - setname = "[interpreter.GetVar("$source")]" + setname = span_italics("[interpreter.GetVar("$source")]") if(signal.data["name"] != setname) signal.data["realname"] = setname @@ -231,7 +231,7 @@ var/datum/signal/newsign = new var/obj/machinery/telecomms/server/S = data["server"] - var/obj/item/device/radio/hradio = S.server_radio + var/obj/item/radio/hradio = S.server_radio if(!hradio) error("[src] has no radio.") @@ -255,7 +255,7 @@ if(source in S.stored_names) newsign.data["name"] = source else - newsign.data["name"] = "[html_encode(uppertext(source))]" + newsign.data["name"] = span_italics("[html_encode(uppertext(source))]") newsign.data["realname"] = newsign.data["name"] newsign.data["job"] = job newsign.data["compression"] = 0 diff --git a/code/modules/security levels/keycard authentication.dm b/code/modules/security levels/keycard authentication.dm index 5246c3415b0..307570a01e9 100644 --- a/code/modules/security levels/keycard authentication.dm +++ b/code/modules/security levels/keycard authentication.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/monitors.dmi' icon_state = "auth_off" layer = ABOVE_WINDOW_LAYER - circuit = /obj/item/weapon/circuitboard/keycard_auth + circuit = /obj/item/circuitboard/keycard_auth var/active = 0 //This gets set to 1 on all devices except the one where the initial request was made. var/event = "" var/screen = 1 @@ -23,16 +23,16 @@ power_channel = ENVIRON /obj/machinery/keycard_auth/attack_ai(mob/user as mob) - to_chat (user, "A firewall prevents you from interfacing with this device!") + to_chat (user, span_warning("A firewall prevents you from interfacing with this device!")) return -/obj/machinery/keycard_auth/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/machinery/keycard_auth/attackby(obj/item/W as obj, mob/user as mob) if(stat & (NOPOWER|BROKEN)) to_chat(user, "This device is not powered.") return - if(istype(W,/obj/item/weapon/card/id)) - var/obj/item/weapon/card/id/ID = W - if(access_keycard_auth in ID.access) + if(istype(W,/obj/item/card/id)) + var/obj/item/card/id/ID = W + if(access_keycard_auth in ID.GetAccess()) if(active == 1) //This is not the device that made the initial request. It is the device confirming the request. if(event_source) @@ -48,7 +48,7 @@ if(do_after(user, 10 * W.toolspeed)) to_chat(user, "You remove the faceplate from the [src]") var/obj/structure/frame/A = new /obj/structure/frame(loc) - var/obj/item/weapon/circuitboard/M = new circuit(A) + var/obj/item/circuitboard/M = new circuit(A) A.frame_type = M.board_type A.need_circuit = 0 A.pixel_x = pixel_x @@ -89,7 +89,7 @@ if(screen == 1) dat += "Select an event to trigger:
      " dat += "
    • Red alert
    • " - if(!config.ert_admin_call_only) + if(!CONFIG_GET(flag/ert_admin_call_only)) dat += "
    • Emergency Response Team
    • " dat += "
    • Grant Emergency Maintenance Access
    • " @@ -182,20 +182,20 @@ feedback_inc("alert_keycard_auth_ert",1) /obj/machinery/keycard_auth/proc/is_ert_blocked() - if(config.ert_admin_call_only) return 1 + if(CONFIG_GET(flag/ert_admin_call_only)) return 1 return ticker.mode && ticker.mode.ert_disabled var/global/maint_all_access = 0 /proc/make_maint_all_access() maint_all_access = 1 - to_world(span_red("Attention!")) - to_world(span_red("The maintenance access requirement has been revoked on all airlocks.")) + to_world(span_alert(span_red(span_huge("Attention!")))) + to_world(span_alert(span_red("The maintenance access requirement has been revoked on all airlocks."))) /proc/revoke_maint_all_access() maint_all_access = 0 - to_world(span_red("Attention!")) - to_world(span_red("The maintenance access requirement has been readded on all maintenance airlocks.")) + to_world(span_alert(span_red(span_huge("Attention!")))) + to_world(span_alert(span_red("The maintenance access requirement has been readded on all maintenance airlocks."))) /obj/machinery/door/airlock/allowed(mob/M) if(maint_all_access && src.check_access_list(list(access_maint_tunnels))) diff --git a/code/modules/security levels/security levels.dm b/code/modules/security levels/security levels.dm index 93caca48f38..99a195020c3 100644 --- a/code/modules/security levels/security levels.dm +++ b/code/modules/security levels/security levels.dm @@ -32,40 +32,40 @@ if(level >= SEC_LEVEL_GREEN && level <= SEC_LEVEL_DELTA && level != security_level) switch(level) if(SEC_LEVEL_GREEN) - security_announcement_down.Announce("[config.alert_desc_green]", "Attention! Alert level lowered to code green.") + security_announcement_down.Announce("[CONFIG_GET(string/alert_desc_green)]", "Attention! Alert level lowered to code green.") security_level = SEC_LEVEL_GREEN if(SEC_LEVEL_YELLOW) if(security_level < SEC_LEVEL_YELLOW) - security_announcement_up.Announce("[config.alert_desc_yellow_upto]", "Attention! Alert level elevated to yellow") + security_announcement_up.Announce("[CONFIG_GET(string/alert_desc_yellow_upto)]", "Attention! Alert level elevated to yellow") else - security_announcement_down.Announce("[config.alert_desc_yellow_downto]", "Attention! Alert level lowered to yellow") + security_announcement_down.Announce("[CONFIG_GET(string/alert_desc_yellow_downto)]", "Attention! Alert level lowered to yellow") security_level = SEC_LEVEL_YELLOW if(SEC_LEVEL_VIOLET) if(security_level < SEC_LEVEL_VIOLET) - security_announcement_up.Announce("[config.alert_desc_violet_upto]", "Attention! Alert level elevated to violet") + security_announcement_up.Announce("[CONFIG_GET(string/alert_desc_violet_upto)]", "Attention! Alert level elevated to violet") else - security_announcement_down.Announce("[config.alert_desc_violet_downto]", "Attention! Alert level lowered to violet") + security_announcement_down.Announce("[CONFIG_GET(string/alert_desc_violet_downto)]", "Attention! Alert level lowered to violet") security_level = SEC_LEVEL_VIOLET if(SEC_LEVEL_ORANGE) if(security_level < SEC_LEVEL_ORANGE) - security_announcement_up.Announce("[config.alert_desc_orange_upto]", "Attention! Alert level elevated to orange") + security_announcement_up.Announce("[CONFIG_GET(string/alert_desc_orange_upto)]", "Attention! Alert level elevated to orange") else - security_announcement_down.Announce("[config.alert_desc_orange_downto]", "Attention! Alert level lowered to orange") + security_announcement_down.Announce("[CONFIG_GET(string/alert_desc_orange_downto)]", "Attention! Alert level lowered to orange") security_level = SEC_LEVEL_ORANGE if(SEC_LEVEL_BLUE) if(security_level < SEC_LEVEL_BLUE) - security_announcement_up.Announce("[config.alert_desc_blue_upto]", "Attention! Alert level elevated to blue") + security_announcement_up.Announce("[CONFIG_GET(string/alert_desc_blue_upto)]", "Attention! Alert level elevated to blue") else - security_announcement_down.Announce("[config.alert_desc_blue_downto]", "Attention! Alert level lowered to blue") + security_announcement_down.Announce("[CONFIG_GET(string/alert_desc_blue_downto)]", "Attention! Alert level lowered to blue") security_level = SEC_LEVEL_BLUE if(SEC_LEVEL_RED) if(security_level < SEC_LEVEL_RED) - security_announcement_up.Announce("[config.alert_desc_red_upto]", "Attention! Code red!", new_sound = sound('sound/effects/alert_levels/red_alert.ogg', volume = 75)) + security_announcement_up.Announce("[CONFIG_GET(string/alert_desc_red_upto)]", "Attention! Code red!", new_sound = sound('sound/effects/alert_levels/red_alert.ogg', volume = 75)) else - security_announcement_down.Announce("[config.alert_desc_red_downto]", "Attention! Code red!") + security_announcement_down.Announce("[CONFIG_GET(string/alert_desc_red_downto)]", "Attention! Code red!") security_level = SEC_LEVEL_RED if(SEC_LEVEL_DELTA) - security_announcement_up.Announce("[config.alert_desc_delta]", "Attention! Delta alert level reached!", new_sound = 'sound/effects/alert_levels/deltaklaxon.ogg') + security_announcement_up.Announce("[CONFIG_GET(string/alert_desc_delta)]", "Attention! Delta alert level reached!", new_sound = 'sound/effects/alert_levels/deltaklaxon.ogg') security_level = SEC_LEVEL_DELTA var/newlevel = get_security_level() @@ -157,4 +157,4 @@ set_security_level(5) /mob/verb/set_thing6() set_security_level(6) -*/ \ No newline at end of file +*/ diff --git a/code/modules/shieldgen/directional_shield.dm b/code/modules/shieldgen/directional_shield.dm index 204f47b0003..f1e2d3fd535 100644 --- a/code/modules/shieldgen/directional_shield.dm +++ b/code/modules/shieldgen/directional_shield.dm @@ -102,12 +102,10 @@ START_PROCESSING(SSobj, src) AddComponent(/datum/component/recursive_move) RegisterSignal(src, COMSIG_OBSERVER_MOVED, PROC_REF(moved_event)) - //ChompEDIT START - shields on init if(always_on) spawn(0) if(!QDELETED(src)) create_shields() - //ChompEDIT END return ..() /obj/item/shield_projector/Destroy() @@ -149,7 +147,7 @@ if(shield_health <= 0) destroy_shields() var/turf/T = get_turf(src) - T.visible_message("\The [src] overloads and the shield vanishes!") + T.visible_message(span_danger("\The [src] overloads and the shield vanishes!")) playsound(src, 'sound/machines/defib_failed.ogg', 75, 0) else if(shield_health < max_shield_health / 4) // Play a more urgent sounding beep if it's at 25% health. @@ -189,13 +187,13 @@ /obj/item/shield_projector/attack_self(var/mob/living/user) if(active) if(always_on) - to_chat(user, "You can't seem to deactivate \the [src].") + to_chat(user, span_warning("You can't seem to deactivate \the [src].")) return set_on(FALSE) else set_dir(user.dir) // Needed for linear shields. set_on(TRUE) - visible_message("\The [user] [!active ? "de":""]activates \the [src].") + visible_message(span_notice("\The [user] [!active ? "de":""]activates \the [src].")) /obj/item/shield_projector/proc/set_on(var/on) if(isnull(on)) @@ -381,7 +379,7 @@ /obj/item/shield_projector/line/exosuit/attack_self(var/mob/living/user) if(active) if(always_on) - to_chat(user, "You can't seem to deactivate \the [src].") + to_chat(user, span_warning("You can't seem to deactivate \the [src].")) return destroy_shields() @@ -391,7 +389,7 @@ else set_dir(user.dir) create_shields() - visible_message("\The [user] [!active ? "de":""]activates \the [src].") + visible_message(span_notice("\The [user] [!active ? "de":""]activates \the [src].")) /obj/item/shield_projector/line/exosuit/adjust_health(amount) ..() diff --git a/code/modules/shieldgen/emergency_shield.dm b/code/modules/shieldgen/emergency_shield.dm index a7f9b851b6f..e3094d57af7 100644 --- a/code/modules/shieldgen/emergency_shield.dm +++ b/code/modules/shieldgen/emergency_shield.dm @@ -24,7 +24,7 @@ /obj/machinery/shield/proc/check_failure() if (src.health <= 0) - visible_message("\The [src] dissipates!") + visible_message(span_boldnotice("\The [src]") + " dissipates!") qdel(src) return @@ -39,7 +39,7 @@ update_nearby_tiles() ..() -/obj/machinery/shield/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/machinery/shield/attackby(obj/item/W as obj, mob/user as mob) if(!istype(W)) return //Calculate damage @@ -93,7 +93,7 @@ /obj/machinery/shield/hitby(AM as mob|obj) //Let everyone know we've been hit! - visible_message("\The [src] was hit by [AM].") + visible_message(span_danger("\The [src] was hit by [AM].")) //Super realistic, resource-intensive, real-time damage calculations. var/tforce = 0 @@ -279,7 +279,7 @@ update_icon() return 1 -/obj/machinery/shieldgen/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/machinery/shieldgen/attackby(obj/item/W as obj, mob/user as mob) if(W.has_tool_quality(TOOL_SCREWDRIVER)) playsound(src, W.usesound, 100, 1) if(is_open) @@ -291,13 +291,13 @@ else if(istype(W, /obj/item/stack/cable_coil) && malfunction && is_open) var/obj/item/stack/cable_coil/coil = W - to_chat(user, "You begin to replace the wires.") + to_chat(user, span_notice("You begin to replace the wires.")) //if(do_after(user, min(60, round( ((getMaxHealth()/health)*10)+(malfunction*10) ))) //Take longer to repair heavier damage if(do_after(user, 30)) if (coil.use(1)) health = max_health malfunction = 0 - to_chat(user, "You repair the [src]!") + to_chat(user, span_notice("You repair the [src]!")) update_icon() else if(W.has_tool_quality(TOOL_WRENCH)) @@ -318,7 +318,7 @@ anchored = TRUE - else if(istype(W, /obj/item/weapon/card/id) || istype(W, /obj/item/device/pda)) + else if(istype(W, /obj/item/card/id) || istype(W, /obj/item/pda)) if(src.allowed(user)) src.locked = !src.locked to_chat(user, "The controls are now [src.locked ? "locked." : "unlocked."]") diff --git a/code/modules/shieldgen/energy_shield.dm b/code/modules/shieldgen/energy_shield.dm index 68c03ff1fef..6f9a31fe280 100644 --- a/code/modules/shieldgen/energy_shield.dm +++ b/code/modules/shieldgen/energy_shield.dm @@ -126,9 +126,9 @@ // Fails shield segments in specific range. Range of 1 affects the shielded turf only. /obj/effect/shield/proc/fail_adjacent_segments(var/range, var/hitby = null) if(hitby) - visible_message("\The [src] flashes a bit as \the [hitby] collides with it, eventually fading out in a rain of sparks!") + visible_message(span_danger("\The [src] flashes a bit as \the [hitby] collides with it, eventually fading out in a rain of sparks!")) else - visible_message("\The [src] flashes a bit as it eventually fades out in a rain of sparks!") + visible_message(span_danger("\The [src] flashes a bit as it eventually fades out in a rain of sparks!")) fail(range * 2) for(var/obj/effect/shield/S in range(range, src)) @@ -242,12 +242,12 @@ // Attacks with hand tools. Blocked by Hyperkinetic flag. -/obj/effect/shield/attackby(var/obj/item/weapon/I as obj, var/mob/user as mob) +/obj/effect/shield/attackby(var/obj/item/I as obj, var/mob/user as mob) user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) user.do_attack_animation(src) if(gen.check_flag(MODEFLAG_HYPERKINETIC)) - user.visible_message("\The [user] hits \the [src] with \the [I]!") + user.visible_message(span_danger("\The [user] hits \the [src] with \the [I]!")) if(I.damtype == BURN) take_damage(I.force, SHIELD_DAMTYPE_HEAT) else if (I.damtype == BRUTE) @@ -255,7 +255,7 @@ else take_damage(I.force, SHIELD_DAMTYPE_EM) else - user.visible_message("\The [user] tries to attack \the [src] with \the [I], but it passes through!") + user.visible_message(span_danger("\The [user] tries to attack \the [src] with \the [I], but it passes through!")) // Special treatment for meteors because they would otherwise penetrate right through the shield. @@ -274,7 +274,7 @@ /obj/effect/shield/proc/overcharge_shock(var/mob/living/M) M.adjustFireLoss(rand(20, 40)) M.Weaken(5) - to_chat(M, "As you come into contact with \the [src] a surge of energy paralyses you!") + to_chat(M, span_danger("As you come into contact with \the [src] a surge of energy paralyses you!")) take_damage(10, SHIELD_DAMTYPE_EM) // Called when a flag is toggled. Can be used to add on-toggle behavior, such as visual changes. @@ -352,6 +352,6 @@ if(!S.gen.check_flag(MODEFLAG_HYPERKINETIC)) return S.take_damage(get_shield_damage(), SHIELD_DAMTYPE_PHYSICAL, src) - visible_message("\The [src] breaks into dust!") + visible_message(span_danger("\The [src] breaks into dust!")) make_debris() qdel(src) diff --git a/code/modules/shieldgen/handheld_defuser.dm b/code/modules/shieldgen/handheld_defuser.dm index 471aa90ef6c..825a829f8dc 100644 --- a/code/modules/shieldgen/handheld_defuser.dm +++ b/code/modules/shieldgen/handheld_defuser.dm @@ -1,28 +1,28 @@ -/obj/item/weapon/shield_diffuser +/obj/item/shield_diffuser name = "portable shield diffuser" desc = "A small handheld device designed to disrupt energy barriers." description_info = "This device disrupts shields on directly adjacent tiles (in a + shaped pattern), in a similar way the floor mounted variant does. It is, however, portable and run by an internal battery. Can be recharged with a regular recharger." icon = 'icons/obj/machines/shielding.dmi' icon_state = "hdiffuser_off" origin_tech = list(TECH_MAGNET = 5, TECH_POWER = 5, TECH_ILLEGAL = 2) - var/obj/item/weapon/cell/device/cell + var/obj/item/cell/device/cell var/enabled = 0 -/obj/item/weapon/shield_diffuser/Initialize() +/obj/item/shield_diffuser/Initialize() . = ..() cell = new(src) -/obj/item/weapon/shield_diffuser/Destroy() +/obj/item/shield_diffuser/Destroy() QDEL_NULL(cell) if(enabled) STOP_PROCESSING(SSobj, src) . = ..() -/obj/item/weapon/shield_diffuser/get_cell() +/obj/item/shield_diffuser/get_cell() return cell -/obj/item/weapon/shield_diffuser/process() +/obj/item/shield_diffuser/process() if(!enabled) return PROCESS_KILL @@ -37,13 +37,13 @@ if(istype(S) && cell.checked_use(10 KILOWATTS * CELLRATE)) qdel(S) -/obj/item/weapon/shield_diffuser/update_icon() +/obj/item/shield_diffuser/update_icon() if(enabled) icon_state = "hdiffuser_on" else icon_state = "hdiffuser_off" -/obj/item/weapon/shield_diffuser/attack_self(mob/user) +/obj/item/shield_diffuser/attack_self(mob/user) enabled = !enabled update_icon() if(enabled) @@ -52,7 +52,7 @@ STOP_PROCESSING(SSobj, src) to_chat(user, "You turn \the [src] [enabled ? "on" : "off"].") -/obj/item/weapon/shield_diffuser/examine(mob/user) +/obj/item/shield_diffuser/examine(mob/user) . = ..() . += "The charge meter reads [cell ? cell.percent() : 0]%" . += "It is [enabled ? "enabled" : "disabled"]." diff --git a/code/modules/shieldgen/sheldwallgen.dm b/code/modules/shieldgen/sheldwallgen.dm index cc78324ba8e..0eb10457078 100644 --- a/code/modules/shieldgen/sheldwallgen.dm +++ b/code/modules/shieldgen/sheldwallgen.dm @@ -176,7 +176,7 @@ src.anchored = FALSE return - if(istype(W, /obj/item/weapon/card/id)||istype(W, /obj/item/device/pda)) + if(istype(W, /obj/item/card/id)||istype(W, /obj/item/pda)) if (src.allowed(user)) src.locked = !src.locked to_chat(user, "Controls are now [src.locked ? "locked." : "unlocked."]") diff --git a/code/modules/shieldgen/shield_capacitor.dm b/code/modules/shieldgen/shield_capacitor.dm index 35a1dc0bbfb..0e21db71e2f 100644 --- a/code/modules/shieldgen/shield_capacitor.dm +++ b/code/modules/shieldgen/shield_capacitor.dm @@ -38,9 +38,9 @@ /obj/machinery/shield_capacitor/attackby(obj/item/W, mob/user) - if(istype(W, /obj/item/weapon/card/id)) - var/obj/item/weapon/card/id/C = W - if((access_captain in C.access) || (access_security in C.access) || (access_engine in C.access)) + if(istype(W, /obj/item/card/id)) + var/obj/item/card/id/C = W + if((access_captain in C.GetAccess()) || (access_security in C.GetAccess()) || (access_engine in C.GetAccess())) src.locked = !src.locked to_chat(user, "Controls are now [src.locked ? "locked." : "unlocked."]") updateDialog() @@ -114,14 +114,14 @@ time_since_fail = 0 //losing charge faster than we can draw from PN last_stored_charge = stored_charge -/obj/machinery/shield_capacitor/tgui_act(action, params) +/obj/machinery/shield_capacitor/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE switch(action) if("toggle") if(!active && !anchored) - to_chat(usr, span_red("The [src] needs to be firmly secured to the floor first.")) + to_chat(ui.user, span_red("The [src] needs to be firmly secured to the floor first.")) return active = !active . = TRUE diff --git a/code/modules/shieldgen/shield_diffuser.dm b/code/modules/shieldgen/shield_diffuser.dm index d5ec71f7368..a76bfe7bb84 100644 --- a/code/modules/shieldgen/shield_diffuser.dm +++ b/code/modules/shieldgen/shield_diffuser.dm @@ -4,7 +4,7 @@ description_info = "This device disrupts shields on directly adjacent tiles (in a + shaped pattern). They are commonly installed around exterior airlocks to prevent shields from blocking EVA access." icon = 'icons/obj/machines/shielding.dmi' icon_state = "fdiffuser_on" - circuit = /obj/item/weapon/circuitboard/shield_diffuser + circuit = /obj/item/circuitboard/shield_diffuser use_power = USE_POWER_ACTIVE idle_power_usage = 25 // Previously 100. active_power_usage = 500 // Previously 2000 diff --git a/code/modules/shieldgen/shield_gen.dm b/code/modules/shieldgen/shield_gen.dm index 2e2888a4be9..a4abe5a1d7b 100644 --- a/code/modules/shieldgen/shield_gen.dm +++ b/code/modules/shieldgen/shield_gen.dm @@ -58,9 +58,9 @@ s.start() /obj/machinery/shield_gen/attackby(obj/item/W, mob/user) - if(istype(W, /obj/item/weapon/card/id)) - var/obj/item/weapon/card/id/C = W - if((access_captain in C.access) || (access_security in C.access) || (access_engine in C.access)) + if(istype(W, /obj/item/card/id)) + var/obj/item/card/id/C = W + if((access_captain in C.GetAccess()) || (access_security in C.GetAccess()) || (access_engine in C.GetAccess())) src.locked = !src.locked to_chat(user, "Controls are now [src.locked ? "locked." : "unlocked."]") updateDialog() @@ -197,14 +197,14 @@ else average_field_strength = 0 -/obj/machinery/shield_gen/tgui_act(action, params) +/obj/machinery/shield_gen/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE switch(action) if("toggle") if (!active && !anchored) - to_chat(usr, span_red("The [src] needs to be firmly secured to the floor first.")) + to_chat(ui.user, span_red("The [src] needs to be firmly secured to the floor first.")) return toggle() . = TRUE diff --git a/code/modules/shieldgen/shield_generator.dm b/code/modules/shieldgen/shield_generator.dm index 3f0f23ed37c..72af36fff67 100644 --- a/code/modules/shieldgen/shield_generator.dm +++ b/code/modules/shieldgen/shield_generator.dm @@ -6,7 +6,7 @@ desc = "A heavy-duty shield generator and capacitor, capable of generating energy shields at large distances." icon = 'icons/obj/machines/shielding_vr.dmi' icon_state = "generator0" - circuit = /obj/item/weapon/circuitboard/shield_generator + circuit = /obj/item/circuitboard/shield_generator density = TRUE var/datum/wires/shield_generator/wires = null var/list/field_segments = list() // List of all shield segments owned by this generator. @@ -77,12 +77,12 @@ /obj/machinery/power/shield_generator/RefreshParts() max_energy = 0 full_shield_strength = 0 - for(var/obj/item/weapon/smes_coil/S in component_parts) + for(var/obj/item/smes_coil/S in component_parts) full_shield_strength += (S.ChargeCapacity * 5) max_energy = full_shield_strength * 20 current_energy = between(0, current_energy, max_energy) - mitigation_max = MAX_MITIGATION_BASE + MAX_MITIGATION_RESEARCH * total_component_rating_of_type(/obj/item/weapon/stock_parts/capacitor) + mitigation_max = MAX_MITIGATION_BASE + MAX_MITIGATION_RESEARCH * total_component_rating_of_type(/obj/item/stock_parts/capacitor) mitigation_em = between(0, mitigation_em, mitigation_max) mitigation_physical = between(0, mitigation_physical, mitigation_max) mitigation_heat = between(0, mitigation_heat, mitigation_max) @@ -362,12 +362,12 @@ return TRUE if(default_deconstruction_screwdriver(user, O)) return - if(O?.has_tool_quality(TOOL_CROWBAR) || O?.has_tool_quality(TOOL_WRENCH) || istype(O, /obj/item/weapon/storage/part_replacer)) + if(O?.has_tool_quality(TOOL_CROWBAR) || O?.has_tool_quality(TOOL_WRENCH) || istype(O, /obj/item/storage/part_replacer)) if(offline_for) - to_chat(user, "Wait until \the [src] cools down from emergency shutdown first!") + to_chat(user, span_warning("Wait until \the [src] cools down from emergency shutdown first!")) return if(running) - to_chat(user, "Turn off \the [src] first!") + to_chat(user, span_notice("Turn off \the [src] first!")) return if(default_deconstruction_crowbar(user, O)) return @@ -458,8 +458,8 @@ if("begin_shutdown") if(running < SHIELD_RUNNING) // Discharging or off return - var/alert = tgui_alert(usr, "Are you sure you wish to do this? It will drain the power inside the internal storage rapidly.", "Are you sure?", list("Yes", "No")) - if(tgui_status(usr, state) != STATUS_INTERACTIVE) + var/alert = tgui_alert(ui.user, "Are you sure you wish to do this? It will drain the power inside the internal storage rapidly.", "Are you sure?", list("Yes", "No")) + if(tgui_status(ui.user, state) != STATUS_INTERACTIVE) return if(running < SHIELD_RUNNING) return @@ -485,7 +485,7 @@ if(!running) return TRUE - var/choice = tgui_alert(usr, "Are you sure that you want to initiate an emergency shield shutdown? This will instantly drop the shield, and may result in unstable release of stored electromagnetic energy. Proceed at your own risk.", "Confirmation", list("No", "Yes")) + var/choice = tgui_alert(ui.user, "Are you sure that you want to initiate an emergency shield shutdown? This will instantly drop the shield, and may result in unstable release of stored electromagnetic energy. Proceed at your own risk.", "Confirmation", list("No", "Yes")) if((choice != "Yes") || !running) return TRUE @@ -493,7 +493,7 @@ offline_for = round(current_energy / (SHIELD_SHUTDOWN_DISPERSION_RATE / 1.5)) var/old_energy = current_energy shutdown_field() - log_and_message_admins("has triggered \the [src]'s emergency shutdown!", usr) + log_and_message_admins("has triggered \the [src]'s emergency shutdown!", ui.user) spawn() empulse(src, old_energy / 60000000, old_energy / 32000000, 1) // If shields are charged at 450 MJ, the EMP will be 7.5, 14.0625. 90 MJ, 1.5, 2.8125 old_energy = 0 @@ -505,14 +505,14 @@ switch(action) if("set_range") - var/new_range = tgui_input_number(usr, "Enter new field range (1-[world.maxx]). Leave blank to cancel.", "Field Radius Control", field_radius, world.maxx, 1) + var/new_range = tgui_input_number(ui.user, "Enter new field range (1-[world.maxx]). Leave blank to cancel.", "Field Radius Control", field_radius, world.maxx, 1) if(!new_range) return TRUE target_radius = between(1, new_range, world.maxx) return TRUE if("set_input_cap") - var/new_cap = round(tgui_input_number(usr, "Enter new input cap (in kW). Enter 0 or nothing to disable input cap.", "Generator Power Control", round(input_cap / 1000))) + var/new_cap = round(tgui_input_number(ui.user, "Enter new input cap (in kW). Enter 0 or nothing to disable input cap.", "Generator Power Control", round(input_cap / 1000))) if(!new_cap) input_cap = 0 return @@ -702,16 +702,16 @@ // Starts with the best SMES coil and capacitor (and fully charged) /obj/machinery/power/shield_generator/upgraded/Initialize() . = ..() - for(var/obj/item/weapon/smes_coil/sc in component_parts) + for(var/obj/item/smes_coil/sc in component_parts) component_parts -= sc qdel(sc) - for(var/obj/item/weapon/stock_parts/capacitor/cap in component_parts) + for(var/obj/item/stock_parts/capacitor/cap in component_parts) component_parts -= cap qdel(cap) - component_parts += new /obj/item/weapon/stock_parts/capacitor/hyper(src) - component_parts += new /obj/item/weapon/smes_coil/super_capacity(src) + component_parts += new /obj/item/stock_parts/capacitor/hyper(src) + component_parts += new /obj/item/smes_coil/super_capacity(src) RefreshParts() current_energy = max_energy diff --git a/code/modules/shuttles/departmental.dm b/code/modules/shuttles/departmental.dm index 81ad237cc77..df1f851cb84 100644 --- a/code/modules/shuttles/departmental.dm +++ b/code/modules/shuttles/departmental.dm @@ -2,16 +2,16 @@ name = "mining shuttle control console" shuttle_tag = "Mining" //req_access = list(access_mining) - circuit = /obj/item/weapon/circuitboard/mining_shuttle + circuit = /obj/item/circuitboard/mining_shuttle /obj/machinery/computer/shuttle_control/engineering name = "engineering shuttle control console" shuttle_tag = "Engineering" //req_one_access = list(access_engine_equip,access_atmospherics) - circuit = /obj/item/weapon/circuitboard/engineering_shuttle + circuit = /obj/item/circuitboard/engineering_shuttle /obj/machinery/computer/shuttle_control/research name = "research shuttle control console" shuttle_tag = "Research" //req_access = list(access_research) - circuit = /obj/item/weapon/circuitboard/research_shuttle + circuit = /obj/item/circuitboard/research_shuttle diff --git a/code/modules/shuttles/escape_pods.dm b/code/modules/shuttles/escape_pods.dm index aa966b582a8..ecf7d5ef5cf 100644 --- a/code/modules/shuttles/escape_pods.dm +++ b/code/modules/shuttles/escape_pods.dm @@ -101,7 +101,7 @@ /obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth/emag_act(var/remaining_charges, var/mob/user) if (!emagged) - to_chat(user, "You emag the [src], arming the escape pod!") + to_chat(user, span_notice("You emag the [src], arming the escape pod!")) emagged = 1 if (istype(program, /datum/embedded_program/docking/simple/escape_pod_berth)) var/datum/embedded_program/docking/simple/escape_pod_berth/P = program diff --git a/code/modules/shuttles/landmarks.dm b/code/modules/shuttles/landmarks.dm index 103aa69639d..a60ae0cb10e 100644 --- a/code/modules/shuttles/landmarks.dm +++ b/code/modules/shuttles/landmarks.dm @@ -160,19 +160,20 @@ // // Bluespace flare landmark beacon // -/obj/item/device/spaceflare +/obj/item/spaceflare name = "bluespace flare" desc = "Burst transmitter used to broadcast all needed information for shuttle navigation systems. Has a flare attached for marking the spot where you probably shouldn't be standing." + icon = 'icons/obj/device.dmi' icon_state = "bluflare" light_color = "#3728ff" var/active -/obj/item/device/spaceflare/attack_self(var/mob/user) +/obj/item/spaceflare/attack_self(var/mob/user) if(!active) - visible_message("[user] pulls the cord, activating the [src].") + visible_message(span_notice("[user] pulls the cord, activating the [src].")) activate() -/obj/item/device/spaceflare/proc/activate() +/obj/item/spaceflare/proc/activate() if(active) return var/turf/T = get_turf(src) @@ -188,7 +189,7 @@ T.hotspot_expose(1500, 5) update_icon() -/obj/item/device/spaceflare/update_icon() +/obj/item/spaceflare/update_icon() . = ..() if(active) icon_state = "bluflare_on" diff --git a/code/modules/shuttles/shuttle.dm b/code/modules/shuttles/shuttle.dm index d8b44e9d613..9f457863cee 100644 --- a/code/modules/shuttles/shuttle.dm +++ b/code/modules/shuttles/shuttle.dm @@ -295,9 +295,9 @@ var/new_grav = 1 if(destination.flags & SLANDMARK_FLAG_ZERO_G) var/area/new_area = get_area(destination) - new_grav = new_area.has_gravity + new_grav = new_area.get_gravity() for(var/area/our_area in shuttle_area) - if(our_area.has_gravity != new_grav) + if(our_area.get_gravity() != new_grav) our_area.gravitychange(new_grav) // TODO - Old code used to throw stuff out of the way instead of squashing. Should we? @@ -338,7 +338,7 @@ to_chat(M, span_red("The floor lurches beneath you!")) shake_camera(M, 10, 1) // TODO - tossing? - //M.visible_message("[M.name] is tossed around by the sudden acceleration!") + //M.visible_message(span_warning("[M.name] is tossed around by the sudden acceleration!")) //M.throw_at_random(FALSE, 4, 1) if(istype(M, /mob/living/carbon)) M.Weaken(3) diff --git a/code/modules/shuttles/shuttle_autodock.dm b/code/modules/shuttles/shuttle_autodock.dm index beb0bab0115..132548f2388 100644 --- a/code/modules/shuttles/shuttle_autodock.dm +++ b/code/modules/shuttles/shuttle_autodock.dm @@ -63,7 +63,7 @@ current_dock_target = docking_controller_tag shuttle_docking_controller = SSshuttles.docking_registry[current_dock_target] if(current_dock_target && !shuttle_docking_controller) - log_shuttle("warning: shuttle [src] can't find its controller with tag [current_dock_target]!") // No toggle because this is an error message that needs to be seen + log_shuttle(span_danger("warning: shuttle [src] can't find its controller with tag [current_dock_target]!")) // No toggle because this is an error message that needs to be seen /* Docking stuff */ diff --git a/code/modules/shuttles/shuttle_console.dm b/code/modules/shuttles/shuttle_console.dm index 562de3be08c..afcf261c7e1 100644 --- a/code/modules/shuttles/shuttle_console.dm +++ b/code/modules/shuttles/shuttle_console.dm @@ -17,13 +17,13 @@ return //VOREStation Addition Start if(!ai_control && issilicon(user)) - to_chat(user, "Access Denied.") + to_chat(user, span_warning("Access Denied.")) return TRUE //VOREStation Addition End //src.add_fingerprint(user) //shouldn't need fingerprints just for looking at it. if(!allowed(user)) - to_chat(user, "Access Denied.") + to_chat(user, span_warning("Access Denied.")) return 1 tgui_interact(user) @@ -71,38 +71,38 @@ /obj/machinery/computer/shuttle_control/proc/can_move(var/datum/shuttle/autodock/shuttle, var/user) var/cannot_depart = shuttle.current_location.cannot_depart(shuttle) if(cannot_depart) - to_chat(user, "[cannot_depart]") + to_chat(user, span_warning("[cannot_depart]")) if(shuttle.debug_logging) log_shuttle("Shuttle [shuttle] cannot depart [shuttle.current_location] because: [cannot_depart].") return FALSE if(!shuttle.next_location.is_valid(shuttle)) - to_chat(user, "Destination zone is invalid or obstructed.") + to_chat(user, span_warning("Destination zone is invalid or obstructed.")) if(shuttle.debug_logging) log_shuttle("Shuttle [shuttle] destination [shuttle.next_location] is invalid.") return FALSE return TRUE -/obj/machinery/computer/shuttle_control/tgui_act(action, list/params) +/obj/machinery/computer/shuttle_control/tgui_act(action, list/params, datum/tgui/ui) if(..()) return TRUE if(skip_act) return - add_fingerprint(usr) + add_fingerprint(ui.user) var/datum/shuttle/autodock/shuttle = SSshuttles.shuttles[shuttle_tag] if(!istype(shuttle)) - to_chat(usr, "Unable to establish link with the shuttle.") + to_chat(ui.user, span_warning("Unable to establish link with the shuttle.")) return TRUE switch(action) if("move") - if(can_move(shuttle, usr)) + if(can_move(shuttle, ui.user)) shuttle.launch(src) return TRUE if("force") - if(can_move(shuttle, usr)) + if(can_move(shuttle, ui.user)) shuttle.force_launch(src) return TRUE @@ -111,7 +111,7 @@ return TRUE if("set_codes") - var/newcode = tgui_input_text(usr, "Input new docking codes", "Docking codes", shuttle.docking_codes, MAX_NAME_LEN) + var/newcode = tgui_input_text(ui.user, "Input new docking codes", "Docking codes", shuttle.docking_codes, MAX_NAME_LEN) newcode = sanitize(newcode,MAX_NAME_LEN) if(newcode && !..()) shuttle.set_docking_codes(uppertext(newcode)) @@ -127,7 +127,7 @@ /obj/machinery/computer/shuttle_control/tgui_data(mob/user) var/datum/shuttle/autodock/shuttle = SSshuttles.shuttles[shuttle_tag] if(!istype(shuttle)) - to_chat(user, "Unable to establish link with the shuttle.") + to_chat(user, span_warning("Unable to establish link with the shuttle.")) return return shuttlerich_tgui_data(shuttle) @@ -157,17 +157,17 @@ return -GLOBAL_LIST_BOILERPLATE(papers_dockingcode, /obj/item/weapon/paper/dockingcodes) +GLOBAL_LIST_BOILERPLATE(papers_dockingcode, /obj/item/paper/dockingcodes) /hook/roundstart/proc/populate_dockingcodes() - for(var/obj/item/weapon/paper/dockingcodes/dcp as anything in GLOB.papers_dockingcode) + for(var/obj/item/paper/dockingcodes/dcp as anything in GLOB.papers_dockingcode) dcp.populate_info() return TRUE -/obj/item/weapon/paper/dockingcodes +/obj/item/paper/dockingcodes name = "Docking Codes" var/codes_from_z = null //So you can put codes from the station other places to give to antags or whatever -/obj/item/weapon/paper/dockingcodes/proc/populate_info() +/obj/item/paper/dockingcodes/proc/populate_info() var/dockingcodes = null var/turf/T = get_turf(src) var/our_z diff --git a/code/modules/shuttles/shuttle_console_multi.dm b/code/modules/shuttles/shuttle_console_multi.dm index fe948c1f184..350fda94de2 100644 --- a/code/modules/shuttles/shuttle_console_multi.dm +++ b/code/modules/shuttles/shuttle_console_multi.dm @@ -1,5 +1,5 @@ /obj/machinery/computer/shuttle_control/multi - circuit = /obj/item/weapon/circuitboard/shuttle_console/multi + circuit = /obj/item/circuitboard/shuttle_console/multi tgui_subtemplate = "ShuttleControlConsoleMulti" /obj/machinery/computer/shuttle_control/multi/shuttlerich_tgui_data(var/datum/shuttle/autodock/multi/shuttle) @@ -14,20 +14,20 @@ // "engines_charging" = ((shuttle.last_move + (shuttle.cooldown SECONDS)) > world.time), // Replaced by longer warmup_time ) -/obj/machinery/computer/shuttle_control/multi/tgui_act(action, list/params) +/obj/machinery/computer/shuttle_control/multi/tgui_act(action, list/params, datum/tgui/ui) if(..()) return TRUE var/datum/shuttle/autodock/multi/shuttle = SSshuttles.shuttles[shuttle_tag] if(!istype(shuttle)) - to_chat(usr, "Unable to establish link with the shuttle.") + to_chat(ui.user, span_warning("Unable to establish link with the shuttle.")) return TRUE switch(action) if("pick") - var/dest_key = tgui_input_list(usr, "Choose shuttle destination", "Shuttle Destination", shuttle.get_destinations()) - if(dest_key && CanInteract(usr, GLOB.tgui_default_state)) - shuttle.set_destination(dest_key, usr) + var/dest_key = tgui_input_list(ui.user, "Choose shuttle destination", "Shuttle Destination", shuttle.get_destinations()) + if(dest_key && CanInteract(ui.user, GLOB.tgui_default_state)) + shuttle.set_destination(dest_key, ui.user) return TRUE if("toggle_cloaked") @@ -35,7 +35,7 @@ return TRUE shuttle.cloaked = !shuttle.cloaked if(shuttle.legit) - to_chat(usr, "Ship ATC inhibitor systems have been [(shuttle.cloaked ? "activated. The station will not" : "deactivated. The station will")] be notified of our arrival.") + to_chat(ui.user, span_notice("Ship ATC inhibitor systems have been [(shuttle.cloaked ? "activated. The station will not" : "deactivated. The station will")] be notified of our arrival.")) else - to_chat(usr, "Ship stealth systems have been [(shuttle.cloaked ? "activated. The station will not" : "deactivated. The station will")] be warned of our arrival.") + to_chat(ui.user, span_warning("Ship stealth systems have been [(shuttle.cloaked ? "activated. The station will not" : "deactivated. The station will")] be warned of our arrival.")) return TRUE diff --git a/code/modules/shuttles/shuttle_emergency.dm b/code/modules/shuttles/shuttle_emergency.dm index 0223a4d6137..6290afe1f5c 100644 --- a/code/modules/shuttles/shuttle_emergency.dm +++ b/code/modules/shuttles/shuttle_emergency.dm @@ -70,7 +70,7 @@ if (istype(user, /obj/machinery/computer/shuttle_control/emergency)) //if we were given a command by an emergency shuttle console if (emergency_shuttle.autopilot) emergency_shuttle.autopilot = 0 - to_world("Alert: The shuttle autopilot has been overridden. Launch sequence initiated!") + to_world(span_boldnotice("Alert: The shuttle autopilot has been overridden. Launch sequence initiated!")) if(usr) log_admin("[key_name(usr)] has overridden the departure shuttle's autopilot and activated the launch sequence.") @@ -84,7 +84,7 @@ if (istype(user, /obj/machinery/computer/shuttle_control/emergency)) //if we were given a command by an emergency shuttle console if (emergency_shuttle.autopilot) emergency_shuttle.autopilot = 0 - to_world("Alert: The shuttle autopilot has been overridden. Bluespace drive engaged!") + to_world(span_boldnotice("Alert: The shuttle autopilot has been overridden. Bluespace drive engaged!")) if(usr) log_admin("[key_name(usr)] has overridden the departure shuttle's autopilot and forced immediate launch.") @@ -98,7 +98,7 @@ if (istype(user, /obj/machinery/computer/shuttle_control/emergency)) //if we were given a command by an emergency shuttle console if (emergency_shuttle.autopilot) emergency_shuttle.autopilot = 0 - to_chat(world, "Alert: The shuttle autopilot has been overridden. Launch sequence aborted!") + to_chat(world, span_boldnotice("Alert: The shuttle autopilot has been overridden. Launch sequence aborted!")) if(usr) log_admin("[key_name(usr)] has overridden the departure shuttle's autopilot and cancelled the launch sequence.") @@ -132,12 +132,12 @@ var/auth_name var/dna_hash - var/obj/item/weapon/card/id/ID = ident.GetID() + var/obj/item/card/id/ID = ident.GetID() if(!ID) return - access = ID.access + access = ID.GetAccess() auth_name = "[ID.registered_name] ([ID.assignment])" dna_hash = ID.dna_hash @@ -158,7 +158,7 @@ playsound(src, 'sound/machines/twobeep.ogg', 50, 0) authorized[dna_hash] = auth_name if (req_authorizations - authorized.len) - to_chat(world, "Alert: [req_authorizations - authorized.len] authorization\s needed to override the shuttle autopilot.") //TODO- Belsima, make this an announcement instead of magic. + to_chat(world, span_boldnotice("Alert: [req_authorizations - authorized.len] authorization\s needed to override the shuttle autopilot.")) //TODO- Belsima, make this an announcement instead of magic. if(usr) log_admin("[key_name(usr)] has inserted [ID] into the shuttle control computer - [req_authorizations - authorized.len] authorisation\s needed") @@ -168,10 +168,10 @@ /obj/machinery/computer/shuttle_control/emergency/emag_act(var/remaining_charges, var/mob/user) if (!emagged) - to_chat(user, "You short out \the [src]'s authorization protocols.") + to_chat(user, span_notice("You short out \the [src]'s authorization protocols.")) emagged = 1 return 1 -/obj/machinery/computer/shuttle_control/emergency/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/machinery/computer/shuttle_control/emergency/attackby(obj/item/W as obj, mob/user as mob) read_authorization(W) ..() diff --git a/code/modules/shuttles/shuttle_specops.dm b/code/modules/shuttles/shuttle_specops.dm index 0dd88a58e8e..f3947819571 100644 --- a/code/modules/shuttles/shuttle_specops.dm +++ b/code/modules/shuttles/shuttle_specops.dm @@ -4,7 +4,7 @@ req_access = list(access_cent_specops) /obj/machinery/computer/shuttle_control/specops/attack_ai(user as mob) - to_chat(user, "Access Denied.") + to_chat(user, span_warning("Access Denied.")) return 1 // Formerly /datum/shuttle/ferry/multidock/specops @@ -12,7 +12,7 @@ var/specops_return_delay = 6000 //After moving, the amount of time that must pass before the shuttle may move again var/specops_countdown_time = 600 //Length of the countdown when moving the shuttle - var/obj/item/device/radio/intercom/announcer = null + var/obj/item/radio/intercom/announcer = null var/reset_time = 0 //the world.time at which the shuttle will be ready to move again. var/launch_prep = 0 var/cancel_countdown = 0 @@ -20,12 +20,12 @@ /datum/shuttle/autodock/ferry/specops/New() ..() - announcer = new /obj/item/device/radio/intercom(null)//We need a fake AI to announce some stuff below. Otherwise it will be wonky. - announcer.config(list("Response Team" = 0)) + announcer = new /obj/item/radio/intercom(null)//We need a fake AI to announce some stuff below. Otherwise it will be wonky. + announcer.config(list(CHANNEL_RESPONSE_TEAM = 0)) /datum/shuttle/autodock/ferry/specops/proc/radio_announce(var/message) if(announcer) - announcer.autosay(message, "A.L.I.C.E.", "Response Team") + announcer.autosay(message, "A.L.I.C.E.", CHANNEL_RESPONSE_TEAM) /datum/shuttle/autodock/ferry/specops/launch(var/user) @@ -36,14 +36,14 @@ var/obj/machinery/computer/C = user if(world.time <= reset_time) - C.visible_message("[global.using_map.boss_name] will not allow the Special Operations shuttle to launch yet.") + C.visible_message(span_notice("[global.using_map.boss_name] will not allow the Special Operations shuttle to launch yet.")) if (((world.time - reset_time)/10) > 60) - C.visible_message("[-((world.time - reset_time)/10)/60] minutes remain!") + C.visible_message(span_notice("[-((world.time - reset_time)/10)/60] minutes remain!")) else - C.visible_message("[-(world.time - reset_time)/10] seconds remain!") + C.visible_message(span_notice("[-(world.time - reset_time)/10] seconds remain!")) return - C.visible_message("The Special Operations shuttle will depart in [(specops_countdown_time/10)] seconds.") + C.visible_message(span_notice("The Special Operations shuttle will depart in [(specops_countdown_time/10)] seconds.")) if (location) //returning radio_announce("THE SPECIAL OPERATIONS SHUTTLE IS PREPARING TO RETURN") @@ -67,12 +67,12 @@ if (!location) //just arrived home for(var/turf/T in get_area_turfs(shuttle_area)) var/mob/M = locate(/mob) in T - to_chat(M, "You have arrived at [using_map.boss_name]. Operation has ended!") + to_chat(M, span_danger("You have arrived at [using_map.boss_name]. Operation has ended!")) else //just left for the station launch_mauraders() for(var/turf/T in get_area_turfs(shuttle_area)) var/mob/M = locate(/mob) in T - to_chat(M, "You have arrived at [station_name()]. Commence operation!") + to_chat(M, span_danger("You have arrived at [station_name()]. Commence operation!")) var/obj/machinery/light/small/readylight/light = locate() in T if(light) light.set_state(1) @@ -85,7 +85,7 @@ radio_announce("ALERT: LAUNCH SEQUENCE ABORTED") if (istype(in_use, /obj/machinery/computer)) var/obj/machinery/computer/C = in_use - C.visible_message("Launch sequence aborted.") + C.visible_message(span_warning("Launch sequence aborted.")) ..() diff --git a/code/modules/shuttles/shuttles_web.dm b/code/modules/shuttles/shuttles_web.dm index 5dd9666178b..79c79d82ad5 100644 --- a/code/modules/shuttles/shuttles_web.dm +++ b/code/modules/shuttles/shuttles_web.dm @@ -118,7 +118,7 @@ continue if(!H.shuttle_comp || !(get_area(H) in shuttle_area)) H.shuttle_comp = null - H.audible_message("\The [H] pings as it loses it's connection with the ship.", runemessage = "ping") + H.audible_message(span_warning("\The [H] pings as it loses it's connection with the ship."), runemessage = "ping") H.update_hud("discon") helmets -= H else @@ -142,22 +142,22 @@ process_state = initial(process_state) /datum/shuttle/autodock/web_shuttle/proc/autopilot_say(message) // Makes the autopilot 'talk' to the passengers. - var/padded_message = "shuttle autopilot states, \"[message]\"" + var/padded_message = span_game(span_say(span_name("shuttle autopilot") + " states, \"[message]\"")) message_passengers(padded_message) /datum/shuttle/autodock/web_shuttle/proc/rename_shuttle(mob/user) if(!can_rename) - to_chat(user, "You can't rename this vessel.") + to_chat(user, span_warning("You can't rename this vessel.")) return var/new_name = tgui_input_text(user, "Please enter a new name for this vessel. Note that you can only set its name once, so choose wisely.", "Rename Shuttle", visible_name) var/sanitized_name = sanitizeName(new_name, MAX_NAME_LEN, TRUE) if(sanitized_name) //can_rename = FALSE //VOREStation Removal - to_chat(user, "You've renamed the vessel to '[sanitized_name]'.") + to_chat(user, span_notice("You've renamed the vessel to '[sanitized_name]'.")) message_admins("[key_name_admin(user)] renamed shuttle '[visible_name]' to '[sanitized_name]'.") visible_name = sanitized_name else - to_chat(user, "The name you supplied was invalid. Try another name.") + to_chat(user, span_warning("The name you supplied was invalid. Try another name.")) /obj/machinery/computer/shuttle_control/web name = "flight computer" @@ -200,7 +200,7 @@ var/obj/item/clothing/head/pilot/H = I H.shuttle_comp = src shuttle.helmets |= I - to_chat(user, "You register the helmet with the ship's console.") + to_chat(user, span_notice("You register the helmet with the ship's console.")) shuttle.update_helmets() return @@ -212,7 +212,7 @@ var/list/routes[0] var/datum/shuttle/autodock/web_shuttle/shuttle = SSshuttles.shuttles[shuttle_tag] if(!istype(shuttle)) - to_chat(user, "Unable to establish link with the shuttle.") + to_chat(user, span_warning("Unable to establish link with the shuttle.")) return var/list/R = shuttle.web_master.get_available_routes() @@ -290,7 +290,7 @@ return data -/obj/machinery/computer/shuttle_control/web/tgui_act(action, list/params) +/obj/machinery/computer/shuttle_control/web/tgui_act(action, list/params, datum/tgui/ui) if(..()) return TRUE @@ -300,22 +300,22 @@ return if(WS.moving_status != SHUTTLE_IDLE) - to_chat(usr, span_blue("[WS.visible_name] is busy moving.")) + to_chat(ui.user, span_blue("[WS.visible_name] is busy moving.")) return switch(action) if("rename_command") - WS.rename_shuttle(usr) + WS.rename_shuttle(ui.user) if("dock_command") if(WS.autopilot) - to_chat(usr, "The autopilot must be disabled before you can control the vessel manually.") + to_chat(ui.user, span_warning("The autopilot must be disabled before you can control the vessel manually.")) return WS.dock() if("undock_command") if(WS.autopilot) - to_chat(usr, "The autopilot must be disabled before you can control the vessel manually.") + to_chat(ui.user, span_warning("The autopilot must be disabled before you can control the vessel manually.")) return WS.undock() @@ -324,20 +324,20 @@ return WS.cloaked = !WS.cloaked if(WS.cloaked) - to_chat(usr, "Ship stealth systems have been activated. The station will not be warned of our arrival.") + to_chat(ui.user, span_danger("Ship stealth systems have been activated. The station will not be warned of our arrival.")) else - to_chat(usr, "Ship stealth systems have been deactivated. The station will be warned of our arrival.") + to_chat(ui.user, span_danger("Ship stealth systems have been deactivated. The station will be warned of our arrival.")) if("toggle_autopilot") WS.adjust_autopilot(!WS.autopilot) if("traverse") if(WS.autopilot) - to_chat(usr, "The autopilot must be disabled before you can control the vessel manually.") + to_chat(ui.user, span_warning("The autopilot must be disabled before you can control the vessel manually.")) return if((WS.last_move + WS.cooldown) > world.time) - to_chat(usr, span_red("The ship's drive is inoperable while the engines are charging.")) + to_chat(ui.user, span_red("The ship's drive is inoperable while the engines are charging.")) return var/index = text2num(params["traverse"]) @@ -346,7 +346,7 @@ message_admins("ERROR: Shuttle computer was asked to traverse a nonexistant route.") return - if(!check_docking(WS)) + if(!check_docking(, ui.user, WS)) return TRUE var/datum/shuttle_destination/target_destination = new_route.get_other_side(WS.web_master.current_destination) @@ -355,11 +355,11 @@ return WS.next_location = target_destination.my_landmark - if(!can_move(WS, usr)) + if(!can_move(WS, ui.user)) return WS.web_master.future_destination = target_destination - to_chat(usr, "[WS.visible_name] flight computer received command.") + to_chat(ui.user, span_notice("[WS.visible_name] flight computer received command.")) WS.web_master.reset_autopath() // Deviating from the path will almost certainly confuse the autopilot, so lets just reset its memory. var/travel_time = new_route.travel_time * WS.flight_time_modifier @@ -370,16 +370,16 @@ WS.short_jump(target_destination.my_landmark) //check if we're undocked, give option to force launch -/obj/machinery/computer/shuttle_control/web/proc/check_docking(datum/shuttle/autodock/MS) +/obj/machinery/computer/shuttle_control/web/proc/check_docking(mob/user, datum/shuttle/autodock/MS) if(MS.skip_docking_checks() || MS.check_undocked()) return 1 - var/choice = tgui_alert(usr, "The shuttle is currently docked! Please undock before continuing.","Error",list("Cancel","Force Launch")) - if(choice == "Cancel") + var/choice = tgui_alert(user, "The shuttle is currently docked! Please undock before continuing.","Error",list("Cancel","Force Launch")) + if(!choice || choice == "Cancel") return 0 - choice = tgui_alert(usr, "Forcing a shuttle launch while docked may result in severe injury, death and/or damage to property. Are you sure you wish to continue?", "Force Launch", list("Force Launch", "Cancel")) - if(choice == "Cancel") + choice = tgui_alert(user, "Forcing a shuttle launch while docked may result in severe injury, death and/or damage to property. Are you sure you wish to continue?", "Force Launch", list("Force Launch", "Cancel")) + if(choice || choice == "Cancel") return 0 return 1 diff --git a/code/modules/spells/aoe_turf/charge.dm b/code/modules/spells/aoe_turf/charge.dm index f27a13e688d..3171835c0c1 100644 --- a/code/modules/spells/aoe_turf/charge.dm +++ b/code/modules/spells/aoe_turf/charge.dm @@ -27,9 +27,9 @@ for(var/spell/S in M.spell_list) if(!istype(S, /spell/aoe_turf/charge)) S.charge_counter = S.charge_max - to_chat(M, "You feel raw magic flowing through you, it feels good!") + to_chat(M, span_notice("You feel raw magic flowing through you, it feels good!")) else - to_chat(M, "You feel very strange for a moment, but then it passes.") + to_chat(M, span_notice("You feel very strange for a moment, but then it passes.")) return M /spell/aoe_turf/charge/proc/cast_charge(var/atom/target) @@ -38,23 +38,23 @@ if(istype(target, /mob/living)) charged_item = mob_charge(target) - if(istype(target, /obj/item/weapon/grab)) - var/obj/item/weapon/grab/G = target + if(istype(target, /obj/item/grab)) + var/obj/item/grab/G = target if(G.affecting) var/mob/M = G.affecting charged_item = mob_charge(M) - if(istype(target, /obj/item/weapon/spellbook/oneuse)) - var/obj/item/weapon/spellbook/oneuse/I = target + if(istype(target, /obj/item/spellbook/oneuse)) + var/obj/item/spellbook/oneuse/I = target if(prob(50)) - I.visible_message("[I] catches fire!") + I.visible_message(span_warning("[I] catches fire!")) qdel(I) else I.used = 0 charged_item = I - if(istype(target, /obj/item/weapon/cell/)) - var/obj/item/weapon/cell/C = target + if(istype(target, /obj/item/cell/)) + var/obj/item/cell/C = target if(prob(80)) C.maxcharge -= 200 if(C.maxcharge <= 1) //Div by 0 protection @@ -65,5 +65,5 @@ if(!charged_item) return 0 else - charged_item.visible_message("[charged_item] suddenly sparks with energy!") - return 1 \ No newline at end of file + charged_item.visible_message(span_notice("[charged_item] suddenly sparks with energy!")) + return 1 diff --git a/code/modules/spells/aoe_turf/conjure/conjure.dm b/code/modules/spells/aoe_turf/conjure/conjure.dm index 10c9948d522..ecb907f5f11 100644 --- a/code/modules/spells/aoe_turf/conjure/conjure.dm +++ b/code/modules/spells/aoe_turf/conjure/conjure.dm @@ -45,7 +45,7 @@ How they spawn stuff is decided by behaviour vars, which are explained below var/atom/summoned_object if(ispath(summoned_object_type,/turf)) if(istype(get_turf(user),/turf/simulated/shuttle) || istype(spawn_place, /turf/simulated/shuttle)) - to_chat(user, "You can't build things on shuttles!") + to_chat(user, span_warning("You can't build things on shuttles!")) continue spawn_place.ChangeTurf(summoned_object_type) summoned_object = spawn_place @@ -72,4 +72,4 @@ How they spawn stuff is decided by behaviour vars, which are explained below return /spell/aoe_turf/conjure/proc/conjure_animation(var/atom/movable/overlay/animation, var/turf/target) - qdel(animation) \ No newline at end of file + qdel(animation) diff --git a/code/modules/spells/aoe_turf/conjure/construct.dm b/code/modules/spells/aoe_turf/conjure/construct.dm index 82bba0198a0..3ac2caa35d9 100644 --- a/code/modules/spells/aoe_turf/conjure/construct.dm +++ b/code/modules/spells/aoe_turf/conjure/construct.dm @@ -86,7 +86,7 @@ invocation_type = SpI_NONE range = 0 - summon_type = list(/obj/item/device/soulstone) + summon_type = list(/obj/item/soulstone) hud_state = "const_stone" override_base = "const" diff --git a/code/modules/spells/artifacts.dm b/code/modules/spells/artifacts.dm index 5b992397370..0a15af661d6 100644 --- a/code/modules/spells/artifacts.dm +++ b/code/modules/spells/artifacts.dm @@ -1,6 +1,6 @@ //////////////////////Scrying orb////////////////////// -/obj/item/weapon/scrying +/obj/item/scrying name = "scrying orb" desc = "An incandescent orb of otherworldly energy, staring into it gives you vision beyond mortal means." icon = 'icons/obj/projectiles.dmi' @@ -12,14 +12,14 @@ force = 10 hitsound = 'sound/items/welder2.ogg' -/obj/item/weapon/scrying/attack_self(mob/user as mob) +/obj/item/scrying/attack_self(mob/user as mob) if((user.mind && !wizards.is_antagonist(user.mind))) - to_chat(user, "You stare into the orb and see nothing but your own reflection.") + to_chat(user, span_warning("You stare into the orb and see nothing but your own reflection.")) return - to_chat(user, "You can see... everything!") - visible_message("[user] stares into [src], their eyes glazing over.") - + to_chat(user, span_info("You can see... everything!")) + visible_message(span_danger("[user] stares into [src], their eyes glazing over.")) + user.teleop = user.ghostize(1) announce_ghost_joinleave(user.teleop, 1, "You feel that they used a powerful artifact to [pick("invade","disturb","disrupt","infest","taint","spoil","blight")] this place with their presence.") return diff --git a/code/modules/spells/construct_spells.dm b/code/modules/spells/construct_spells.dm index 15dfd3bd804..f08e4fd9419 100644 --- a/code/modules/spells/construct_spells.dm +++ b/code/modules/spells/construct_spells.dm @@ -4,7 +4,7 @@ */ /* /proc/findNullRod(var/atom/target) - if(istype(target,/obj/item/weapon/nullrod)) + if(istype(target,/obj/item/nullrod)) return 1 else if(target.contents) for(var/atom/A in target.contents) diff --git a/code/modules/spells/general/rune_write.dm b/code/modules/spells/general/rune_write.dm index 28710333954..71f9ca8c46b 100644 --- a/code/modules/spells/general/rune_write.dm +++ b/code/modules/spells/general/rune_write.dm @@ -171,5 +171,5 @@ R.word3=cultwords["technology"] R.check_icon() else - to_chat(user, " You do not have enough space to write a proper rune.") + to_chat(user, span_warning(" You do not have enough space to write a proper rune.")) return diff --git a/code/modules/spells/spell_code.dm b/code/modules/spells/spell_code.dm index 0491deac1ac..ff27d7170fb 100644 --- a/code/modules/spells/spell_code.dm +++ b/code/modules/spells/spell_code.dm @@ -12,7 +12,7 @@ var/list/spells = typesof(/spell) //needed for the badmin verb for now var/charge_max = 100 //recharge time in deciseconds if charge_type = Sp_RECHARGE or starting charges if charge_type = Sp_CHARGES var/charge_counter = 0 //can only cast spells if it equals recharge, ++ each decisecond if charge_type = Sp_RECHARGE or -- each cast if charge_type = Sp_CHARGES - var/still_recharging_msg = "The spell is still recharging." + var/still_recharging_msg = span_notice("The spell is still recharging.") var/silenced = 0 //not a binary - the length of time we can't cast this for @@ -61,7 +61,7 @@ var/list/spells = typesof(/spell) //needed for the badmin verb for now /spell/New() ..() - //still_recharging_msg = "[name] is still recharging." + //still_recharging_msg = span_notice("[name] is still recharging.") charge_counter = charge_max /spell/process() @@ -180,7 +180,7 @@ var/list/spells = typesof(/spell) //needed for the badmin verb for now if(!(src in user.spell_list) && holder == user) error("[user] utilized the spell '[src]' without having it.") - to_chat(user, "You shouldn't have this spell! Something's wrong.") + to_chat(user, span_warning("You shouldn't have this spell! Something's wrong.")) return 0 if(silenced > 0) @@ -188,7 +188,7 @@ var/list/spells = typesof(/spell) //needed for the badmin verb for now var/turf/user_turf = get_turf(user) if(!user_turf) - to_chat(user, "You cannot cast spells in null space!") + to_chat(user, span_warning("You cannot cast spells in null space!")) if(spell_flags & Z2NOCAST && (user_turf.z in using_map.admin_levels)) //Certain spells are not allowed on the CentCom zlevel return 0 @@ -201,7 +201,7 @@ var/list/spells = typesof(/spell) //needed for the badmin verb for now if(istype(user, /mob/living/simple_mob) && holder == user) var/mob/living/simple_mob/SM = user if(SM.purge) - to_chat(SM, "The nullrod's power interferes with your own!") + to_chat(SM, span_warning("The nullrod's power interferes with your own!")) return 0 if(!src.check_charge(skipcharge, user)) //sees if we can cast based on charges alone @@ -233,7 +233,7 @@ var/list/spells = typesof(/spell) //needed for the badmin verb for now return 0 if(Sp_CHARGES) if(!charge_counter) - to_chat(user, "[name] has no charges left.") + to_chat(user, span_notice("[name] has no charges left.")) return 0 return 1 diff --git a/code/modules/spells/spellbook.dm b/code/modules/spells/spellbook.dm index ea301f16b73..0449d781c3f 100644 --- a/code/modules/spells/spellbook.dm +++ b/code/modules/spells/spellbook.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/spellbook +/obj/item/spellbook name = "spell book" desc = "The legendary book of spells of the wizard." icon = 'icons/obj/library.dmi' @@ -11,11 +11,11 @@ var/max_uses = 5 var/op = 1 -/obj/item/weapon/spellbook/attack_self(mob/user = usr) +/obj/item/spellbook/attack_self(mob/user = usr) if(!user) return if((user.mind && !wizards.is_antagonist(user.mind))) - to_chat(usr, "You stare at the book but cannot make sense of the markings!") + to_chat(usr, span_warning("You stare at the book but cannot make sense of the markings!")) return user.set_machine(src) @@ -82,7 +82,7 @@ onclose(user, "radio") return -/obj/item/weapon/spellbook/Topic(href, href_list) +/obj/item/spellbook/Topic(href, href_list) ..() var/mob/living/carbon/human/H = usr @@ -91,7 +91,7 @@ if(!istype(H, /mob/living/carbon/human)) return 1 - if(H.mind.special_role == "apprentice") + if(H.mind.special_role == JOB_APPRENTICE) temp = "If you got caught sneaking a peak from your teacher's spellbook, you'd likely be expelled from the Wizard Academy. Better not." return @@ -204,12 +204,12 @@ // temp = "You have learned curse of the horseman." if("mentalfocus") feedback_add_details("wizard_spell_learned","MF") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells - new /obj/item/weapon/gun/energy/staff/focus(get_turf(H)) + new /obj/item/gun/energy/staff/focus(get_turf(H)) temp = "An artefact that channels the will of the user into destructive bolts of force." max_uses-- if("soulstone") feedback_add_details("wizard_spell_learned","SS") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells - new /obj/item/weapon/storage/belt/soulstone/full(get_turf(H)) + new /obj/item/storage/belt/soulstone/full(get_turf(H)) H.add_spell(new/spell/aoe_turf/conjure/construct) temp = "You have purchased a belt full of soulstones and have learned the artificer spell." max_uses-- @@ -223,13 +223,13 @@ max_uses-- if("scrying") feedback_add_details("wizard_spell_learned","SO") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells - new /obj/item/weapon/scrying(get_turf(H)) + new /obj/item/scrying(get_turf(H)) if (!(XRAY in H.mutations)) H.mutations.Add(XRAY) H.sight |= (SEE_MOBS|SEE_OBJS|SEE_TURFS) H.see_in_dark = 8 H.see_invisible = SEE_INVISIBLE_LEVEL_TWO - to_chat(H, "The walls suddenly disappear.") + to_chat(H, span_notice("The walls suddenly disappear.")) temp = "You have purchased a scrying orb, and gained x-ray vision." max_uses-- else @@ -241,7 +241,7 @@ //Single Use Spellbooks// -/obj/item/weapon/spellbook/oneuse +/obj/item/spellbook/oneuse var/spell = /spell/targeted/projectile/magic_missile //just a placeholder to avoid runtimes if someone spawned the generic var/spellname = "sandbox" var/used = 0 @@ -250,105 +250,105 @@ max_uses = 1 desc = "This template spellbook was never meant for the eyes of man..." -/obj/item/weapon/spellbook/oneuse/New() +/obj/item/spellbook/oneuse/New() ..() name += spellname -/obj/item/weapon/spellbook/oneuse/attack_self(mob/user as mob) +/obj/item/spellbook/oneuse/attack_self(mob/user as mob) var/spell/S = new spell(user) for(var/spell/knownspell in user.spell_list) if(knownspell.type == S.type) if(user.mind) // TODO: Update to new antagonist system. - if(user.mind.special_role == "apprentice" || user.mind.special_role == "Wizard") - to_chat(user, "You're already far more versed in this spell than this flimsy how-to book can provide.") + if(user.mind.special_role == JOB_APPRENTICE || user.mind.special_role == JOB_WIZARD) + to_chat(user, span_notice("You're already far more versed in this spell than this flimsy how-to book can provide.")) else - to_chat(user, "You've already read this one.") + to_chat(user, span_notice("You've already read this one.")) return if(used) recoil(user) else user.add_spell(S) - to_chat(user, "you rapidly read through the arcane book. Suddenly you realize you understand [spellname]!") + to_chat(user, span_notice("you rapidly read through the arcane book. Suddenly you realize you understand [spellname]!")) user.attack_log += text("\[[time_stamp()]\] [span_orange("[user.real_name] ([user.ckey]) learned the spell [spellname] ([S]).")]") onlearned(user) -/obj/item/weapon/spellbook/oneuse/proc/recoil(mob/user as mob) - user.visible_message("[src] glows in a black light!") +/obj/item/spellbook/oneuse/proc/recoil(mob/user as mob) + user.visible_message(span_warning("[src] glows in a black light!")) -/obj/item/weapon/spellbook/oneuse/proc/onlearned(mob/user as mob) +/obj/item/spellbook/oneuse/proc/onlearned(mob/user as mob) used = 1 - user.visible_message("[src] glows dark for a second!") + user.visible_message(span_warning("[src] glows dark for a second!")) -/obj/item/weapon/spellbook/oneuse/attackby() +/obj/item/spellbook/oneuse/attackby() return -/obj/item/weapon/spellbook/oneuse/fireball +/obj/item/spellbook/oneuse/fireball spell = /spell/targeted/projectile/dumbfire/fireball spellname = "fireball" icon_state ="bookfireball" desc = "This book feels warm to the touch." -/obj/item/weapon/spellbook/oneuse/fireball/recoil(mob/user as mob) +/obj/item/spellbook/oneuse/fireball/recoil(mob/user as mob) ..() explosion(user.loc, -1, 0, 2, 3, 0) qdel(src) -/obj/item/weapon/spellbook/oneuse/smoke +/obj/item/spellbook/oneuse/smoke spell = /spell/aoe_turf/smoke spellname = "smoke" icon_state ="booksmoke" desc = "This book is overflowing with the dank arts." -/obj/item/weapon/spellbook/oneuse/smoke/recoil(mob/living/user as mob) +/obj/item/spellbook/oneuse/smoke/recoil(mob/living/user as mob) ..() - to_chat(user, "Your stomach rumbles...") + to_chat(user, span_warning("Your stomach rumbles...")) if(user.nutrition) user.adjust_nutrition(-200) -/obj/item/weapon/spellbook/oneuse/blind +/obj/item/spellbook/oneuse/blind spell = /spell/targeted/genetic/blind spellname = "blind" icon_state ="bookblind" desc = "This book looks blurry, no matter how you look at it." -/obj/item/weapon/spellbook/oneuse/blind/recoil(mob/user as mob) +/obj/item/spellbook/oneuse/blind/recoil(mob/user as mob) ..() - to_chat(user, "You go blind!") + to_chat(user, span_warning("You go blind!")) user.Blind(10) -/obj/item/weapon/spellbook/oneuse/mindswap +/obj/item/spellbook/oneuse/mindswap spell = /spell/targeted/mind_transfer spellname = "mindswap" icon_state ="bookmindswap" desc = "This book's cover is pristine, though its pages look ragged and torn." var/mob/stored_swap = null //Used in used book recoils to store an identity for mindswaps -/obj/item/weapon/spellbook/oneuse/mindswap/onlearned() +/obj/item/spellbook/oneuse/mindswap/onlearned() spellname = pick("fireball","smoke","blind","forcewall","knock","horses","charge") icon_state = "book[spellname]" name = "spellbook of [spellname]" //Note, desc doesn't change by design ..() -/obj/item/weapon/spellbook/oneuse/mindswap/recoil(mob/user as mob) +/obj/item/spellbook/oneuse/mindswap/recoil(mob/user as mob) ..() if(stored_swap in dead_mob_list) stored_swap = null if(!stored_swap) stored_swap = user - to_chat(user, "For a moment you feel like you don't even know who you are anymore.") + to_chat(user, span_warning("For a moment you feel like you don't even know who you are anymore.")) return if(stored_swap == user) - to_chat(user, "You stare at the book some more, but there doesn't seem to be anything else to learn...") + to_chat(user, span_notice("You stare at the book some more, but there doesn't seem to be anything else to learn...")) return if(user.mind.special_verbs.len) for(var/V in user.mind.special_verbs) - user.verbs -= V + remove_verb(user, V) if(stored_swap.mind.special_verbs.len) for(var/V in stored_swap.mind.special_verbs) - stored_swap.verbs -= V + remove_verb(stored_swap, V) var/mob/observer/dead/ghost = stored_swap.ghostize(0) ghost.spell_list = stored_swap.spell_list @@ -358,7 +358,7 @@ if(stored_swap.mind.special_verbs.len) for(var/V in user.mind.special_verbs) - user.verbs += V + add_verb(user, V) ghost.mind.transfer_to(user) user.key = ghost.key @@ -366,44 +366,44 @@ if(user.mind.special_verbs.len) for(var/V in user.mind.special_verbs) - user.verbs += V + add_verb(user, V) - to_chat(stored_swap, "You're suddenly somewhere else... and someone else?!") - to_chat(user, "Suddenly you're staring at [src] again... where are you, who are you?!") + to_chat(stored_swap, span_warning("You're suddenly somewhere else... and someone else?!")) + to_chat(user, span_warning("Suddenly you're staring at [src] again... where are you, who are you?!")) stored_swap = null -/obj/item/weapon/spellbook/oneuse/forcewall +/obj/item/spellbook/oneuse/forcewall spell = /spell/aoe_turf/conjure/forcewall spellname = "forcewall" icon_state ="bookforcewall" desc = "This book has a dedication to mimes everywhere inside the front cover." -/obj/item/weapon/spellbook/oneuse/forcewall/recoil(mob/user as mob) +/obj/item/spellbook/oneuse/forcewall/recoil(mob/user as mob) ..() - to_chat(user, "You suddenly feel very solid!") + to_chat(user, span_warning("You suddenly feel very solid!")) var/obj/structure/closet/statue/S = new /obj/structure/closet/statue(user.loc, user) S.timer = 30 user.drop_item() -/obj/item/weapon/spellbook/oneuse/knock +/obj/item/spellbook/oneuse/knock spell = /spell/aoe_turf/knock spellname = "knock" icon_state ="bookknock" desc = "This book is hard to hold closed properly." -/obj/item/weapon/spellbook/oneuse/knock/recoil(mob/user as mob) +/obj/item/spellbook/oneuse/knock/recoil(mob/user as mob) ..() - to_chat(user, "You're knocked down!") + to_chat(user, span_warning("You're knocked down!")) user.Weaken(20) -/obj/item/weapon/spellbook/oneuse/horsemask +/obj/item/spellbook/oneuse/horsemask spell = /spell/targeted/equip_item/horsemask spellname = "horses" icon_state ="bookhorses" desc = "This book is more horse than your mind has room for." -/obj/item/weapon/spellbook/oneuse/horsemask/recoil(mob/living/carbon/user as mob) +/obj/item/spellbook/oneuse/horsemask/recoil(mob/living/carbon/user as mob) if(istype(user, /mob/living/carbon/human)) to_chat(user, "HOR-SIE HAS RISEN") var/obj/item/clothing/mask/horsehead/magichead = new /obj/item/clothing/mask/horsehead @@ -414,15 +414,15 @@ user.equip_to_slot_if_possible(magichead, slot_wear_mask, 1, 1) qdel(src) else - to_chat(user, "I say thee neigh") + to_chat(user, span_notice("I say thee neigh")) -/obj/item/weapon/spellbook/oneuse/charge +/obj/item/spellbook/oneuse/charge spell = /spell/aoe_turf/charge spellname = "charging" icon_state ="bookcharge" desc = "This book is made of 100% post-consumer wizard." -/obj/item/weapon/spellbook/oneuse/charge/recoil(mob/user as mob) +/obj/item/spellbook/oneuse/charge/recoil(mob/user as mob) ..() - to_chat(user, "[src] suddenly feels very warm!") + to_chat(user, span_warning("[src] suddenly feels very warm!")) empulse(src, 1, 1, 1, 1) diff --git a/code/modules/spells/spells.dm b/code/modules/spells/spells.dm index f98eba16786..eba1e7055fd 100644 --- a/code/modules/spells/spells.dm +++ b/code/modules/spells/spells.dm @@ -14,19 +14,20 @@ spell_master.toggle_open(1) client.screen -= spell_master -/mob/Stat() - . = ..() - if(. && spell_list && spell_list.len) - for(var/spell/S in spell_list) - if((!S.connected_button) || !statpanel(S.panel)) - continue //Not showing the noclothes spell - switch(S.charge_type) - if(Sp_RECHARGE) - statpanel(S.panel,"[S.charge_counter/10.0]/[S.charge_max/10]",S.connected_button) - if(Sp_CHARGES) - statpanel(S.panel,"[S.charge_counter]/[S.charge_max]",S.connected_button) - if(Sp_HOLDVAR) - statpanel(S.panel,"[S.holder_var_type] [S.holder_var_amount]",S.connected_button) +// TODO: Investigate if this matters +// /mob/Stat() +// . = ..() +// if(. && spell_list && spell_list.len) +// for(var/spell/S in spell_list) +// if((!S.connected_button) || !statpanel(S.panel)) +// continue //Not showing the noclothes spell +// switch(S.charge_type) +// if(Sp_RECHARGE) +// statpanel(S.panel,"[S.charge_counter/10.0]/[S.charge_max/10]",S.connected_button) +// if(Sp_CHARGES) +// statpanel(S.panel,"[S.charge_counter]/[S.charge_max]",S.connected_button) +// if(Sp_HOLDVAR) +// statpanel(S.panel,"[S.holder_var_type] [S.holder_var_amount]",S.connected_button) /hook/clone/proc/restore_spells(var/mob/H) if(H.mind && H.mind.learned_spells) diff --git a/code/modules/spells/targeted/equip/horsemask.dm b/code/modules/spells/targeted/equip/horsemask.dm index 5ec6ccfc002..f8b52c5a027 100644 --- a/code/modules/spells/targeted/equip/horsemask.dm +++ b/code/modules/spells/targeted/equip/horsemask.dm @@ -24,8 +24,8 @@ /spell/targeted/equip_item/horsemask/cast(list/targets, mob/user = usr) ..() for(var/mob/living/target in targets) - target.visible_message( "[target]'s face lights up in fire, and after the event a horse's head takes its place!", \ - "Your face burns up, and shortly after the fire you realise you have the face of a horse!") + target.visible_message( span_danger("[target]'s face lights up in fire, and after the event a horse's head takes its place!"), \ + span_danger("Your face burns up, and shortly after the fire you realise you have the face of a horse!")) target.flash_eyes() /spell/targeted/equip_item/horsemask/summon_item(var/new_type) diff --git a/code/modules/spells/targeted/ethereal_jaunt.dm b/code/modules/spells/targeted/ethereal_jaunt.dm index d300f6a9129..d60a930448c 100644 --- a/code/modules/spells/targeted/ethereal_jaunt.dm +++ b/code/modules/spells/targeted/ethereal_jaunt.dm @@ -97,11 +97,11 @@ if(!T.contains_dense_objects()) last_valid_turf = T else - to_chat(user, "Some strange aura is blocking the way!") + to_chat(user, span_warning("Some strange aura is blocking the way!")) src.canmove = 0 spawn(2) src.canmove = 1 /obj/effect/dummy/spell_jaunt/ex_act(blah) return /obj/effect/dummy/spell_jaunt/bullet_act(blah) - return \ No newline at end of file + return diff --git a/code/modules/spells/targeted/genetic.dm b/code/modules/spells/targeted/genetic.dm index 045fbc7d413..eed2437212c 100644 --- a/code/modules/spells/targeted/genetic.dm +++ b/code/modules/spells/targeted/genetic.dm @@ -37,7 +37,7 @@ code\game\dna\genes\goon_powers.dm spell_flags = 0 invocation = "STI KALY" invocation_type = SpI_WHISPER - message = "Your eyes cry out in pain!" + message = span_danger("Your eyes cry out in pain!") cooldown_min = 50 range = 7 @@ -57,7 +57,7 @@ code\game\dna\genes\goon_powers.dm spell_flags = Z2NOCAST | NEEDSCLOTHES | INCLUDEUSER invocation = "BIRUZ BENNAR" invocation_type = SpI_SHOUT - message = "You feel strong! You feel a pressure building behind your eyes!" + message = span_notice("You feel strong! You feel a pressure building behind your eyes!") range = 0 max_targets = 1 diff --git a/code/modules/spells/targeted/harvest.dm b/code/modules/spells/targeted/harvest.dm index 3bebe72e254..bcb70c194d5 100644 --- a/code/modules/spells/targeted/harvest.dm +++ b/code/modules/spells/targeted/harvest.dm @@ -38,7 +38,7 @@ M.forceMove(destination) if(M != user) prey = 1 - to_chat(user, "You warp back to Nar-Sie[prey ? " along with your prey":""].") + to_chat(user, span_sinister("You warp back to Nar-Sie[prey ? " along with your prey":""].")) else - to_chat(user, "...something's wrong!")//There shouldn't be an instance of Harvesters when Nar-Sie isn't in the world. -*/ \ No newline at end of file + to_chat(user, span_danger("...something's wrong!"))//There shouldn't be an instance of Harvesters when Nar-Sie isn't in the world. +*/ diff --git a/code/modules/spells/targeted/mind_transfer.dm b/code/modules/spells/targeted/mind_transfer.dm index e3eda58b652..1d4a81f3a06 100644 --- a/code/modules/spells/targeted/mind_transfer.dm +++ b/code/modules/spells/targeted/mind_transfer.dm @@ -13,7 +13,7 @@ compatible_mobs = list(/mob/living/carbon/human) //which types of mobs are affected by the spell. NOTE: change at your own risk // TODO: Update to new antagonist system. - var/list/protected_roles = list("Wizard","Changeling","Cultist") //which roles are immune to the spell + var/list/protected_roles = list(JOB_WIZARD,JOB_CHANGELING,JOB_CULTIST) //which roles are immune to the spell var/msg_wait = 500 //how long in deciseconds it waits before telling that body doesn't feel right or mind swap robbed of a spell amt_paralysis = 20 //how much the victim is paralysed for after the spell @@ -41,11 +41,11 @@ //MIND TRANSFER BEGIN if(caster.mind.special_verbs.len)//If the caster had any special verbs, remove them from the mob verb list. for(var/V in caster.mind.special_verbs)//Since the caster is using an object spell system, this is mostly moot. - caster.verbs -= V//But a safety nontheless. + remove_verb(caster, V)//But a safety nontheless. if(victim.mind.special_verbs.len)//Now remove all of the victim's verbs. for(var/V in victim.mind.special_verbs) - victim.verbs -= V + remove_verb(victim, V) var/mob/observer/dead/ghost = victim.ghostize(0) ghost.spell_list += victim.spell_list//If they have spells, transfer them. Now we basically have a backup mob. @@ -60,7 +60,7 @@ if(victim.mind.special_verbs.len)//To add all the special verbs for the original caster. for(var/V in caster.mind.special_verbs)//Not too important but could come into play. - caster.verbs += V + add_verb(caster, V) ghost.mind.transfer_to(caster) caster.key = ghost.key //have to transfer the key since the mind was not active @@ -70,7 +70,7 @@ if(caster.mind.special_verbs.len)//If they had any special verbs, we add them here. for(var/V in caster.mind.special_verbs) - caster.verbs += V + add_verb(caster, V) //MIND TRANSFER END //Target is handled in ..(), so we handle the caster here @@ -78,4 +78,4 @@ //After a certain amount of time the victim gets a message about being in a different body. spawn(msg_wait) - to_chat(caster, "You feel woozy and lightheaded. Your body doesn't seem like your own.") + to_chat(caster, span_danger("You feel woozy and lightheaded. Your body doesn't seem like your own.")) diff --git a/code/modules/spells/targeted/projectile/magic_missile.dm b/code/modules/spells/targeted/projectile/magic_missile.dm index c3589ce94b2..0c1c2d26c83 100644 --- a/code/modules/spells/targeted/projectile/magic_missile.dm +++ b/code/modules/spells/targeted/projectile/magic_missile.dm @@ -24,7 +24,7 @@ amt_dam_fire = 10 /spell/targeted/projectile/magic_missile/prox_cast(var/list/targets, atom/spell_holder) - spell_holder.visible_message("\The [spell_holder] pops with a flash!") + spell_holder.visible_message(span_danger("\The [spell_holder] pops with a flash!")) for(var/mob/living/M in targets) apply_spell_damage(M) return diff --git a/code/modules/spells/targeted/subjugate.dm b/code/modules/spells/targeted/subjugate.dm index 8f6efa3c14e..28f6e55fe44 100644 --- a/code/modules/spells/targeted/subjugate.dm +++ b/code/modules/spells/targeted/subjugate.dm @@ -7,7 +7,7 @@ spell_flags = 0 invocation = "DII ODA BAJI" invocation_type = SpI_WHISPER - message = "You suddenly feel completely overwhelmed!" + message = span_danger("You suddenly feel completely overwhelmed!") max_targets = 1 diff --git a/code/modules/stockmarket/computer.dm b/code/modules/stockmarket/computer.dm index 4252d86cfeb..ae2e37b46ab 100644 --- a/code/modules/stockmarket/computer.dm +++ b/code/modules/stockmarket/computer.dm @@ -5,7 +5,7 @@ icon_state = "stockmarket" icon_screen = "stocks" icon_keyboard = "stockmarket_key" - circuit = /obj/item/weapon/circuitboard/stockexchange + circuit = /obj/item/circuitboard/stockexchange var/logged_in = "Cargo Department" var/vmode = 1 @@ -49,7 +49,7 @@ if(..()) return TRUE - add_fingerprint(usr) + add_fingerprint(ui.user) switch(action) if ("logout") @@ -58,12 +58,12 @@ if("stocks_buy") var/datum/stock/S = locate(params["share"]) in GLOB.stockExchange.stocks if (S) - buy_some_shares(S, usr) + buy_some_shares(S, ui.user) if("stocks_sell") var/datum/stock/S = locate(params["share"]) in GLOB.stockExchange.stocks if (S) - sell_some_shares(S, usr) + sell_some_shares(S, ui.user) if("stocks_check") screen = "logs" @@ -82,7 +82,7 @@ if (S) //current_stock = S //screen = "graph" - S.displayValues(usr) + S.displayValues(ui.user) if("stocks_backbutton") current_stock = null @@ -99,7 +99,7 @@ data["stationName"] = using_map.station_name data["balance"] = balance() data["screen"] = screen - + switch(screen) // Main Stocks List if("stocks") @@ -187,7 +187,7 @@ // Stocks Logs Screen if("logs") data["logs"] = list() - + for(var/D in GLOB.stockExchange.logs) var/datum/stock_log/L = D @@ -266,12 +266,12 @@ return var/li = logged_in if (!li) - to_chat(user, "No active account on the console!") + to_chat(user, span_danger("No active account on the console!")) return var/b = SSsupply.points var/avail = S.shareholders[logged_in] if (!avail) - to_chat(user, "This account does not own any shares of [S.name]!") + to_chat(user, span_danger("This account does not own any shares of [S.name]!")) return var/price = S.current_value var/amt = round(tgui_input_number(user, "How many shares? \n(Have: [avail], unit price: [price])", "Sell shares in [S.name]", 0)) @@ -285,14 +285,14 @@ return b = SSsupply.points if (!isnum(b)) - to_chat(user, "No active account on the console!") + to_chat(user, span_danger("No active account on the console!")) return var/total = amt * S.current_value if (!S.sellShares(logged_in, amt)) - to_chat(user, "Could not complete transaction.") + to_chat(user, span_danger("Could not complete transaction.")) return - to_chat(user, "Sold [amt] shares of [S.name] at [S.current_value] a share for [total] credits.") + to_chat(user, span_notice("Sold [amt] shares of [S.name] at [S.current_value] a share for [total] credits.")) GLOB.stockExchange.add_log(/datum/stock_log/sell, user.name, S.name, amt, S.current_value, total) /obj/machinery/computer/stockexchange/proc/buy_some_shares(var/datum/stock/S, var/mob/user) @@ -300,11 +300,11 @@ return var/li = logged_in if (!li) - to_chat(user, "No active account on the console!") + to_chat(user, span_danger("No active account on the console!")) return var/b = balance() if (!isnum(b)) - to_chat(user, "No active account on the console!") + to_chat(user, span_danger("No active account on the console!")) return var/avail = S.available_shares var/price = S.current_value @@ -316,26 +316,26 @@ return b = balance() if (!isnum(b)) - to_chat(user, "No active account on the console!") + to_chat(user, span_danger("No active account on the console!")) return amt = min(amt, S.available_shares, round(b / S.current_value)) if (!amt) return if (!S.buyShares(logged_in, amt)) - to_chat(user, "Could not complete transaction.") + to_chat(user, span_danger("Could not complete transaction.")) return var/total = amt * S.current_value - to_chat(user, "Bought [amt] shares of [S.name] at [S.current_value] a share for [total] credits.") + to_chat(user, span_notice("Bought [amt] shares of [S.name] at [S.current_value] a share for [total] credits.")) GLOB.stockExchange.add_log(/datum/stock_log/buy, user.name, S.name, amt, S.current_value, total) /obj/machinery/computer/stockexchange/proc/do_borrowing_deal(var/datum/borrow/B, var/mob/user) if (B.stock.borrow(B, logged_in)) - to_chat(user, "You successfully borrowed [B.share_amount] shares. Deposit: [B.deposit].") + to_chat(user, span_notice("You successfully borrowed [B.share_amount] shares. Deposit: [B.deposit].")) GLOB.stockExchange.add_log(/datum/stock_log/borrow, user.name, B.stock.name, B.share_amount, B.deposit) else - to_chat(user, "Could not complete transaction. Check your account balance.") + to_chat(user, span_danger("Could not complete transaction. Check your account balance.")) /obj/machinery/computer/stockexchange/Topic(href, href_list) if (..()) @@ -345,4 +345,4 @@ usr.machine = src src.add_fingerprint(usr) - src.updateUsrDialog() \ No newline at end of file + src.updateUsrDialog() diff --git a/code/modules/surgery/bones.dm b/code/modules/surgery/bones.dm index 1a0bd6271b6..18b654d765a 100644 --- a/code/modules/surgery/bones.dm +++ b/code/modules/surgery/bones.dm @@ -10,7 +10,7 @@ /datum/surgery_step/glue_bone surgery_name = "Glue Bone" allowed_tools = list( - /obj/item/weapon/surgical/bonegel = 100 + /obj/item/surgical/bonegel = 100 ) allowed_procs = list(IS_SCREWDRIVER = 75) @@ -32,21 +32,21 @@ /datum/surgery_step/glue_bone/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) if (affected.stage == 0) - user.visible_message("[user] starts applying medication to the damaged bones in [target]'s [affected.name] with \the [tool]." , \ - "You start applying medication to the damaged bones in [target]'s [affected.name] with \the [tool].") + user.visible_message(span_notice("[user] starts applying medication to the damaged bones in [target]'s [affected.name] with \the [tool].") , \ + span_notice("You start applying medication to the damaged bones in [target]'s [affected.name] with \the [tool].")) target.custom_pain("Something in your [affected.name] is causing you a lot of pain!", 50) ..() /datum/surgery_step/glue_bone/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] applies some [tool] to [target]'s bone in [affected.name]", \ - "You apply some [tool] to [target]'s bone in [affected.name] with \the [tool].") + user.visible_message(span_notice("[user] applies some [tool] to [target]'s bone in [affected.name]"), \ + span_notice("You apply some [tool] to [target]'s bone in [affected.name] with \the [tool].")) affected.stage = 1 /datum/surgery_step/glue_bone/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user]'s hand slips, smearing [tool] in the incision in [target]'s [affected.name]!" , \ - "Your hand slips, smearing [tool] in the incision in [target]'s [affected.name]!") + user.visible_message(span_danger("[user]'s hand slips, smearing [tool] in the incision in [target]'s [affected.name]!") , \ + span_danger("Your hand slips, smearing [tool] in the incision in [target]'s [affected.name]!")) /////////////////////////////////////////////////////////////// // Bone Setting Surgery @@ -55,7 +55,7 @@ /datum/surgery_step/set_bone surgery_name = "Set Bone" allowed_tools = list( - /obj/item/weapon/surgical/bonesetter = 100 + /obj/item/surgical/bonesetter = 100 ) allowed_procs = list(IS_WRENCH = 75) @@ -73,26 +73,26 @@ /datum/surgery_step/set_bone/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] is beginning to set the bone in [target]'s [affected.name] in place with \the [tool]." , \ - "You are beginning to set the bone in [target]'s [affected.name] in place with \the [tool].") + user.visible_message(span_notice("[user] is beginning to set the bone in [target]'s [affected.name] in place with \the [tool].") , \ + span_notice("You are beginning to set the bone in [target]'s [affected.name] in place with \the [tool].")) target.custom_pain("The pain in your [affected.name] is going to make you pass out!", 50) ..() /datum/surgery_step/set_bone/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) if (affected.status & ORGAN_BROKEN) - user.visible_message("[user] sets the bone in [target]'s [affected.name] in place with \the [tool].", \ - "You set the bone in [target]'s [affected.name] in place with \the [tool].") + user.visible_message(span_notice("[user] sets the bone in [target]'s [affected.name] in place with \the [tool]."), \ + span_notice("You set the bone in [target]'s [affected.name] in place with \the [tool].")) affected.stage = 2 else - user.visible_message("[user] sets the bone in [target]'s [affected.name] in the WRONG place with \the [tool].", \ - "You set the bone in [target]'s [affected.name] in the WRONG place with \the [tool].") + user.visible_message("[user] sets the bone in [target]'s [affected.name] " + span_danger("in the WRONG place with \the [tool]."), \ + "You set the bone in [target]'s [affected.name] " + span_danger("in the WRONG place with \the [tool].")) affected.fracture() /datum/surgery_step/set_bone/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user]'s hand slips, damaging the bone in [target]'s [affected.name] with \the [tool]!" , \ - "Your hand slips, damaging the bone in [target]'s [affected.name] with \the [tool]!") + user.visible_message(span_danger("[user]'s hand slips, damaging the bone in [target]'s [affected.name] with \the [tool]!") , \ + span_danger("Your hand slips, damaging the bone in [target]'s [affected.name] with \the [tool]!")) affected.createwound(BRUISE, 5) /////////////////////////////////////////////////////////////// @@ -102,7 +102,7 @@ /datum/surgery_step/mend_skull surgery_name = "Mend Skull" allowed_tools = list( - /obj/item/weapon/surgical/bonesetter = 100 + /obj/item/surgical/bonesetter = 100 ) allowed_procs = list(IS_WRENCH = 75) @@ -119,20 +119,20 @@ return affected && affected.organ_tag == BP_HEAD && (affected.robotic < ORGAN_ROBOT) && affected.open >= 2 && affected.stage == 1 /datum/surgery_step/mend_skull/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - user.visible_message("[user] is beginning to piece together [target]'s skull with \the [tool]." , \ - "You are beginning to piece together [target]'s skull with \the [tool].") + user.visible_message(span_notice("[user] is beginning to piece together [target]'s skull with \the [tool].") , \ + span_notice("You are beginning to piece together [target]'s skull with \the [tool].")) ..() /datum/surgery_step/mend_skull/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] sets [target]'s skull with \the [tool]." , \ - "You set [target]'s skull with \the [tool].") + user.visible_message(span_notice("[user] sets [target]'s skull with \the [tool].") , \ + span_notice("You set [target]'s skull with \the [tool].")) affected.stage = 2 /datum/surgery_step/mend_skull/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user]'s hand slips, damaging [target]'s face with \the [tool]!" , \ - "Your hand slips, damaging [target]'s face with \the [tool]!") + user.visible_message(span_danger("[user]'s hand slips, damaging [target]'s face with \the [tool]!") , \ + span_danger("Your hand slips, damaging [target]'s face with \the [tool]!")) var/obj/item/organ/external/head/h = affected h.createwound(BRUISE, 10) h.disfigured = 1 @@ -144,7 +144,7 @@ /datum/surgery_step/finish_bone surgery_name = "Finish Mending Bone" allowed_tools = list( - /obj/item/weapon/surgical/bonegel = 100 + /obj/item/surgical/bonegel = 100 ) allowed_procs = list(IS_SCREWDRIVER = 75) @@ -165,21 +165,21 @@ /datum/surgery_step/finish_bone/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] starts to finish mending the damaged bones in [target]'s [affected.name] with \the [tool].", \ - "You start to finish mending the damaged bones in [target]'s [affected.name] with \the [tool].") + user.visible_message(span_notice("[user] starts to finish mending the damaged bones in [target]'s [affected.name] with \the [tool]."), \ + span_notice("You start to finish mending the damaged bones in [target]'s [affected.name] with \the [tool].")) ..() /datum/surgery_step/finish_bone/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] has mended the damaged bones in [target]'s [affected.name] with \the [tool]." , \ - "You have mended the damaged bones in [target]'s [affected.name] with \the [tool]." ) + user.visible_message(span_notice("[user] has mended the damaged bones in [target]'s [affected.name] with \the [tool].") , \ + span_notice("You have mended the damaged bones in [target]'s [affected.name] with \the [tool].") ) affected.status &= ~ORGAN_BROKEN affected.stage = 0 /datum/surgery_step/finish_bone/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user]'s hand slips, smearing [tool] in the incision in [target]'s [affected.name]!" , \ - "Your hand slips, smearing [tool] in the incision in [target]'s [affected.name]!") + user.visible_message(span_danger("[user]'s hand slips, smearing [tool] in the incision in [target]'s [affected.name]!") , \ + span_danger("Your hand slips, smearing [tool] in the incision in [target]'s [affected.name]!")) /////////////////////////////////////////////////////////////// // Bone Clamp Surgery @@ -188,7 +188,7 @@ /datum/surgery_step/clamp_bone surgery_name = "Clamp Bone" allowed_tools = list( - /obj/item/weapon/surgical/bone_clamp = 100 + /obj/item/surgical/bone_clamp = 100 ) can_infect = 1 @@ -208,19 +208,19 @@ /datum/surgery_step/clamp_bone/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) if (affected.stage == 0) - user.visible_message("[user] starts repairing the damaged bones in [target]'s [affected.name] with \the [tool]." , \ - "You starts repairing the damaged bones in [target]'s [affected.name] with \the [tool].") + user.visible_message(span_notice("[user] starts repairing the damaged bones in [target]'s [affected.name] with \the [tool].") , \ + span_notice("You starts repairing the damaged bones in [target]'s [affected.name] with \the [tool].")) target.custom_pain("Something in your [affected.name] is causing you a lot of pain!", 50) ..() /datum/surgery_step/clamp_bone/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] sets the bone in [target]'s [affected.name] with \the [tool].", \ - "You sets [target]'s bone in [affected.name] with \the [tool].") + user.visible_message(span_notice("[user] sets the bone in [target]'s [affected.name] with \the [tool]."), \ + span_notice("You sets [target]'s bone in [affected.name] with \the [tool].")) affected.status &= ~ORGAN_BROKEN /datum/surgery_step/clamp_bone/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user]'s hand slips, damaging the bone in [target]'s [affected.name] with \the [tool]!" , \ - "Your hand slips, damaging the bone in [target]'s [affected.name] with \the [tool]!") + user.visible_message(span_danger("[user]'s hand slips, damaging the bone in [target]'s [affected.name] with \the [tool]!") , \ + span_danger("Your hand slips, damaging the bone in [target]'s [affected.name] with \the [tool]!")) affected.createwound(BRUISE, 5) diff --git a/code/modules/surgery/encased.dm b/code/modules/surgery/encased.dm index 743363fa442..bc3612e77f2 100644 --- a/code/modules/surgery/encased.dm +++ b/code/modules/surgery/encased.dm @@ -24,8 +24,8 @@ /datum/surgery_step/open_encased/saw surgery_name = "Cut Bone" allowed_tools = list( - /obj/item/weapon/surgical/circular_saw = 100, \ - /obj/item/weapon/material/knife/machete/hatchet = 75 + /obj/item/surgical/circular_saw = 100, \ + /obj/item/material/knife/machete/hatchet = 75 ) min_duration = 50 @@ -42,8 +42,8 @@ return var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] begins to cut through [target]'s [affected.encased] with \the [tool].", \ - "You begin to cut through [target]'s [affected.encased] with \the [tool].") + user.visible_message(span_filter_notice("[user] begins to cut through [target]'s [affected.encased] with \the [tool]."), \ + span_filter_notice("You begin to cut through [target]'s [affected.encased] with \the [tool].")) target.custom_pain("Something hurts horribly in your [affected.name]!", 60) ..() @@ -52,8 +52,8 @@ return var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] has cut [target]'s [affected.encased] open with \the [tool].", \ - "You have cut [target]'s [affected.encased] open with \the [tool].") + user.visible_message(span_notice("[user] has cut [target]'s [affected.encased] open with \the [tool]."), \ + span_notice("You have cut [target]'s [affected.encased] open with \the [tool].")) affected.open = 2.5 /datum/surgery_step/open_encased/saw/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) @@ -61,8 +61,8 @@ return var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user]'s hand slips, cracking [target]'s [affected.encased] with \the [tool]!" , \ - "Your hand slips, cracking [target]'s [affected.encased] with \the [tool]!" ) + user.visible_message(span_danger("[user]'s hand slips, cracking [target]'s [affected.encased] with \the [tool]!") , \ + span_danger("Your hand slips, cracking [target]'s [affected.encased] with \the [tool]!") ) affected.createwound(CUT, 20) affected.fracture() @@ -74,7 +74,7 @@ /datum/surgery_step/open_encased/retract surgery_name = "Retract Bone" allowed_tools = list( - /obj/item/weapon/surgical/retractor = 100 + /obj/item/surgical/retractor = 100 ) allowed_procs = list(IS_CROWBAR = 75) @@ -93,8 +93,8 @@ return var/obj/item/organ/external/affected = target.get_organ(target_zone) - var/msg = "[user] starts to force open the [affected.encased] in [target]'s [affected.name] with \the [tool]." - var/self_msg = "You start to force open the [affected.encased] in [target]'s [affected.name] with \the [tool]." + var/msg = span_filter_notice("[user] starts to force open the [affected.encased] in [target]'s [affected.name] with \the [tool].") + var/self_msg = span_filter_notice("You start to force open the [affected.encased] in [target]'s [affected.name] with \the [tool].") user.visible_message(msg, self_msg) target.custom_pain("Something hurts horribly in your [affected.name]!", 40) ..() @@ -103,8 +103,8 @@ if (!hasorgans(target)) return var/obj/item/organ/external/affected = target.get_organ(target_zone) - var/msg = "[user] forces open [target]'s [affected.encased] with \the [tool]." - var/self_msg = "You force open [target]'s [affected.encased] with \the [tool]." + var/msg = span_notice("[user] forces open [target]'s [affected.encased] with \the [tool].") + var/self_msg = span_notice("You force open [target]'s [affected.encased] with \the [tool].") user.visible_message(msg, self_msg) affected.open = 3 @@ -114,8 +114,8 @@ return var/obj/item/organ/external/affected = target.get_organ(target_zone) - var/msg = "[user]'s hand slips, cracking [target]'s [affected.encased]!" - var/self_msg = "Your hand slips, cracking [target]'s [affected.encased]!" + var/msg = span_danger("[user]'s hand slips, cracking [target]'s [affected.encased]!") + var/self_msg = span_danger("Your hand slips, cracking [target]'s [affected.encased]!") user.visible_message(msg, self_msg) affected.createwound(BRUISE, 20) @@ -128,7 +128,7 @@ /datum/surgery_step/open_encased/close surgery_name = "Close Retracted Bone" allowed_tools = list( - /obj/item/weapon/surgical/retractor = 100, + /obj/item/surgical/retractor = 100, ) allowed_procs = list(IS_CROWBAR = 75) @@ -147,8 +147,8 @@ return var/obj/item/organ/external/affected = target.get_organ(target_zone) - var/msg = "[user] starts bending [target]'s [affected.encased] back into place with \the [tool]." - var/self_msg = "You start bending [target]'s [affected.encased] back into place with \the [tool]." + var/msg = span_filter_notice("[user] starts bending [target]'s [affected.encased] back into place with \the [tool].") + var/self_msg = span_filter_notice("You start bending [target]'s [affected.encased] back into place with \the [tool].") user.visible_message(msg, self_msg) target.custom_pain("Something hurts horribly in your [affected.name]!", 100) ..() @@ -158,8 +158,8 @@ return var/obj/item/organ/external/affected = target.get_organ(target_zone) - var/msg = "[user] bends [target]'s [affected.encased] back into place with \the [tool]." - var/self_msg = "You bend [target]'s [affected.encased] back into place with \the [tool]." + var/msg = span_notice("[user] bends [target]'s [affected.encased] back into place with \the [tool].") + var/self_msg = span_notice("You bend [target]'s [affected.encased] back into place with \the [tool].") user.visible_message(msg, self_msg) affected.open = 2.5 @@ -169,15 +169,15 @@ return var/obj/item/organ/external/affected = target.get_organ(target_zone) - var/msg = "[user]'s hand slips, bending [target]'s [affected.encased] the wrong way!" - var/self_msg = "Your hand slips, bending [target]'s [affected.encased] the wrong way!" + var/msg = span_danger("[user]'s hand slips, bending [target]'s [affected.encased] the wrong way!") + var/self_msg = span_danger("Your hand slips, bending [target]'s [affected.encased] the wrong way!") user.visible_message(msg, self_msg) affected.createwound(BRUISE, 20) affected.fracture() /*if (prob(40)) //TODO: ORGAN REMOVAL UPDATE. - user.visible_message(" A rib pierces the lung!") + user.visible_message(span_danger(" A rib pierces the lung!")) target.rupture_lung()*/ /////////////////////////////////////////////////////////////// @@ -187,7 +187,7 @@ /datum/surgery_step/open_encased/mend surgery_name = "Mend Retracted Bone" allowed_tools = list( - /obj/item/weapon/surgical/bonegel = 100 + /obj/item/surgical/bonegel = 100 ) allowed_procs = list(IS_SCREWDRIVER = 75) @@ -206,8 +206,8 @@ return var/obj/item/organ/external/affected = target.get_organ(target_zone) - var/msg = "[user] starts applying \the [tool] to [target]'s [affected.encased]." - var/self_msg = "You start applying \the [tool] to [target]'s [affected.encased]." + var/msg = span_filter_notice("[user] starts applying \the [tool] to [target]'s [affected.encased].") + var/self_msg = span_filter_notice("You start applying \the [tool] to [target]'s [affected.encased].") user.visible_message(msg, self_msg) target.custom_pain("Something hurts horribly in your [affected.name]!", 100) ..() @@ -217,8 +217,8 @@ return var/obj/item/organ/external/affected = target.get_organ(target_zone) - var/msg = "[user] applied \the [tool] to [target]'s [affected.encased]." - var/self_msg = "You applied \the [tool] to [target]'s [affected.encased]." + var/msg = span_notice("[user] applied \the [tool] to [target]'s [affected.encased].") + var/self_msg = span_notice("You applied \the [tool] to [target]'s [affected.encased].") user.visible_message(msg, self_msg) affected.open = 2 @@ -229,7 +229,7 @@ /datum/surgery_step/open_encased/advancedsaw_open surgery_name = "Advanced Cut Bone" allowed_tools = list( - /obj/item/weapon/surgical/circular_saw/manager = 100 + /obj/item/surgical/circular_saw/manager = 100 ) priority = 3 @@ -249,8 +249,8 @@ return var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] begins to open [target]'s [affected.encased] with \the [tool].", \ - "You begin to open [target]'s [affected.encased] with \the [tool].") + user.visible_message(span_filter_notice("[user] begins to open [target]'s [affected.encased] with \the [tool]."), \ + span_filter_notice("You begin to open [target]'s [affected.encased] with \the [tool].")) target.custom_pain("Something hurts horribly in your [affected.name]!", 60) ..() @@ -259,8 +259,8 @@ return var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] has cut [target]'s [affected.encased] wide open with \the [tool].", \ - "You have cut [target]'s [affected.encased] wide open with \the [tool].") + user.visible_message(span_notice("[user] has cut [target]'s [affected.encased] wide open with \the [tool]."), \ + span_notice("You have cut [target]'s [affected.encased] wide open with \the [tool].")) affected.open = 3 /datum/surgery_step/open_encased/advancedsaw_open/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) @@ -268,8 +268,8 @@ return var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user]'s hand slips, searing [target]'s [affected.encased] with \the [tool]!" , \ - "Your hand slips, searing [target]'s [affected.encased] with \the [tool]!" ) + user.visible_message(span_danger("[user]'s hand slips, searing [target]'s [affected.encased] with \the [tool]!") , \ + span_danger("Your hand slips, searing [target]'s [affected.encased] with \the [tool]!") ) affected.createwound(CUT, 20) affected.createwound(BURN, 15) @@ -280,7 +280,7 @@ /datum/surgery_step/open_encased/advancedsaw_mend surgery_name = "Advanced Mend Retracted Bone" allowed_tools = list( - /obj/item/weapon/surgical/circular_saw/manager = 100 + /obj/item/surgical/circular_saw/manager = 100 ) priority = 3 @@ -299,8 +299,8 @@ return var/obj/item/organ/external/affected = target.get_organ(target_zone) - var/msg = "[user] starts sealing \the [target]'s [affected.encased] with \the [tool]." - var/self_msg = "You start sealing \the [target]'s [affected.encased] with \the [tool]." + var/msg = span_filter_notice("[user] starts sealing \the [target]'s [affected.encased] with \the [tool].") + var/self_msg = span_filter_notice("You start sealing \the [target]'s [affected.encased] with \the [tool].") user.visible_message(msg, self_msg) target.custom_pain("Something hurts horribly in your [affected.name]!", 100) ..() @@ -310,8 +310,8 @@ return var/obj/item/organ/external/affected = target.get_organ(target_zone) - var/msg = "[user] sealed \the [target]'s [affected.encased] with \the [tool]." - var/self_msg = "You sealed \the [target]'s [affected.encased] with \the [tool]." + var/msg = span_notice("[user] sealed \the [target]'s [affected.encased] with \the [tool].") + var/self_msg = span_notice("You sealed \the [target]'s [affected.encased] with \the [tool].") user.visible_message(msg, self_msg) affected.open = 2 diff --git a/code/modules/surgery/external_repair.dm b/code/modules/surgery/external_repair.dm index 3698f2d1c4d..53dbf21195a 100644 --- a/code/modules/surgery/external_repair.dm +++ b/code/modules/surgery/external_repair.dm @@ -39,8 +39,8 @@ /datum/surgery_step/repairflesh/scan_injury surgery_name = "Scan Injury" allowed_tools = list( - /obj/item/weapon/autopsy_scanner = 100, - /obj/item/device/analyzer = 10 + /obj/item/autopsy_scanner = 100, + /obj/item/analyzer = 10 ) priority = 2 @@ -60,27 +60,27 @@ /datum/surgery_step/repairflesh/scan_injury/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] begins scanning [target]'s [affected] with \the [tool].", \ - "You begin scanning [target]'s [affected] with \the [tool].") + user.visible_message(span_notice("[user] begins scanning [target]'s [affected] with \the [tool]."), \ + span_notice("You begin scanning [target]'s [affected] with \the [tool].")) ..() /datum/surgery_step/repairflesh/scan_injury/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] finishes scanning [target]'s [affected].", \ - "You finish scanning [target]'s [affected].") + user.visible_message(span_notice("[user] finishes scanning [target]'s [affected]."), \ + span_notice("You finish scanning [target]'s [affected].")) if(affected.brute_dam) - to_chat(user, "The muscle in [target]'s [affected] is notably bruised.") + to_chat(user, span_notice("The muscle in [target]'s [affected] is notably bruised.")) if(affected.status & ORGAN_BROKEN) - to_chat(user, "\The [target]'s [affected] is broken!") + to_chat(user, span_warning("\The [target]'s [affected] is broken!")) affected.brute_stage = max(1, affected.brute_stage) if(affected.burn_dam) - to_chat(user, "\The muscle in [target]'s [affected] is notably charred.") + to_chat(user, span_notice("\The muscle in [target]'s [affected] is notably charred.")) affected.burn_stage = max(1, affected.burn_stage) /datum/surgery_step/repairflesh/scan_injury/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user]'s hand slips, dropping \the [tool] onto [target]'s [affected]!" , \ - "Your hand slips, dropping \the [tool] onto [target]'s [affected]!" ) + user.visible_message(span_warning("[user]'s hand slips, dropping \the [tool] onto [target]'s [affected]!") , \ + span_warning("Your hand slips, dropping \the [tool] onto [target]'s [affected]!") ) affected.createwound(BRUISE, 10) ////////////////////////////////////////////////////////////////// @@ -92,7 +92,7 @@ allowed_tools = list( /obj/item/stack/medical/advanced/ointment = 100, /obj/item/stack/medical/ointment = 50, - /obj/item/weapon/tape_roll = 30, + /obj/item/tape_roll = 30, /obj/item/taperoll = 10 ) @@ -111,23 +111,23 @@ /datum/surgery_step/repairflesh/repair_burns/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - if(istype(tool, /obj/item/weapon/tape_roll) || istype(tool, /obj/item/taperoll)) - user.visible_message("[user] begins taping up [target]'s [affected] with \the [tool].", \ - "You begin taping up [target]'s [affected] with \the [tool].") + if(istype(tool, /obj/item/tape_roll) || istype(tool, /obj/item/taperoll)) + user.visible_message(span_warning("[user] begins taping up [target]'s [affected] with \the [tool]."), \ + span_notice("You begin taping up [target]'s [affected] with \the [tool].")) affected.jostle_bone(10) - else if(istype(tool, /obj/item/weapon/surgical/hemostat) || istype(tool, /obj/item/weapon/surgical/FixOVein)) - user.visible_message("[user] begins mending the charred blood vessels in [target]'s [affected] with \the [tool].", \ - "You begin mending the charred blood vessels in [target]'s [affected] with \the [tool].") + else if(istype(tool, /obj/item/surgical/hemostat) || istype(tool, /obj/item/surgical/FixOVein)) + user.visible_message(span_notice("[user] begins mending the charred blood vessels in [target]'s [affected] with \the [tool]."), \ + span_notice("You begin mending the charred blood vessels in [target]'s [affected] with \the [tool].")) else - user.visible_message("[user] begins coating the charred tissue in [target]'s [affected] with \the [tool].", \ - "You begin coating the charred tissue in [target]'s [affected] with \the [tool].") + user.visible_message(span_notice("[user] begins coating the charred tissue in [target]'s [affected] with \the [tool]."), \ + span_notice("You begin coating the charred tissue in [target]'s [affected] with \the [tool].")) ..() /datum/surgery_step/repairflesh/repair_burns/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - if(istype(tool, /obj/item/weapon/tape_roll) || istype(tool, /obj/item/taperoll)) - user.visible_message("[user] finishes taping up [target]'s [affected] with \the [tool].", \ - "You finish taping up [target]'s [affected] with \the [tool].") + if(istype(tool, /obj/item/tape_roll) || istype(tool, /obj/item/taperoll)) + user.visible_message(span_notice("[user] finishes taping up [target]'s [affected] with \the [tool]."), \ + span_notice("You finish taping up [target]'s [affected] with \the [tool].")) affected.createwound(BRUISE, 10) affected.heal_damage(0, 25, 0, 0) if(!(affected.burn_dam)) @@ -139,8 +139,8 @@ /datum/surgery_step/repairflesh/repair_burns/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user]'s hand slips, tearing up [target]'s [affected] with \the [tool].", \ - "Your hand slips, tearing up [target]'s [affected] with \the [tool].") + user.visible_message(span_danger("[user]'s hand slips, tearing up [target]'s [affected] with \the [tool]."), \ + span_danger("Your hand slips, tearing up [target]'s [affected] with \the [tool].")) affected.createwound(BRUISE, 10) affected.createwound(CUT, 5) if(istype(tool, /obj/item/stack) && prob(30)) @@ -157,7 +157,7 @@ allowed_tools = list( /obj/item/stack/medical/advanced/bruise_pack = 100, /obj/item/stack/medical/bruise_pack = 50, - /obj/item/weapon/tape_roll = 40, + /obj/item/tape_roll = 40, /obj/item/taperoll = 10 ) @@ -176,23 +176,23 @@ /datum/surgery_step/repairflesh/repair_brute/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - if(istype(tool, /obj/item/weapon/tape_roll) || istype(tool, /obj/item/taperoll)) - user.visible_message("[user] begins taping up [target]'s [affected] with \the [tool].", \ - "You begin taping up [target]'s [affected] with \the [tool].") + if(istype(tool, /obj/item/tape_roll) || istype(tool, /obj/item/taperoll)) + user.visible_message(span_warning("[user] begins taping up [target]'s [affected] with \the [tool]."), \ + span_notice("You begin taping up [target]'s [affected] with \the [tool].")) affected.jostle_bone(10) - else if(istype(tool, /obj/item/weapon/surgical/FixOVein) || istype(tool, /obj/item/weapon/surgical/bonesetter)) - user.visible_message("[user] begins mending the torn tissue in [target]'s [affected] with \the [tool].", \ - "You begin mending the torn tissue in [target]'s [affected] with \the [tool].") + else if(istype(tool, /obj/item/surgical/FixOVein) || istype(tool, /obj/item/surgical/bonesetter)) + user.visible_message(span_notice("[user] begins mending the torn tissue in [target]'s [affected] with \the [tool]."), \ + span_notice("You begin mending the torn tissue in [target]'s [affected] with \the [tool].")) else - user.visible_message("[user] begins coating the tissue in [target]'s [affected] with \the [tool].", \ - "You begin coating the tissue in [target]'s [affected] with \the [tool].") + user.visible_message(span_notice("[user] begins coating the tissue in [target]'s [affected] with \the [tool]."), \ + span_notice("You begin coating the tissue in [target]'s [affected] with \the [tool].")) ..() /datum/surgery_step/repairflesh/repair_brute/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - if(istype(tool, /obj/item/weapon/tape_roll) || istype(tool, /obj/item/taperoll)) - user.visible_message("[user] finishes taping up [target]'s [affected] with \the [tool].", \ - "You finish taping up [target]'s [affected] with \the [tool].") + if(istype(tool, /obj/item/tape_roll) || istype(tool, /obj/item/taperoll)) + user.visible_message(span_notice("[user] finishes taping up [target]'s [affected] with \the [tool]."), \ + span_notice("You finish taping up [target]'s [affected] with \the [tool].")) affected.createwound(BRUISE, 10) affected.heal_damage(25, 0, 0, 0) if(!(affected.brute_dam)) @@ -204,8 +204,8 @@ /datum/surgery_step/repairflesh/repair_brute/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user]'s hand slips, tearing up [target]'s [affected] with \the [tool].", \ - "Your hand slips, tearing up [target]'s [affected] with \the [tool].") + user.visible_message(span_danger("[user]'s hand slips, tearing up [target]'s [affected] with \the [tool]."), \ + span_danger("Your hand slips, tearing up [target]'s [affected] with \the [tool].")) affected.createwound(BRUISE, 10) affected.createwound(CUT, 5) if(istype(tool, /obj/item/stack) && prob(30)) diff --git a/code/modules/surgery/face.dm b/code/modules/surgery/face.dm index 3059b021761..d2fee592a2a 100644 --- a/code/modules/surgery/face.dm +++ b/code/modules/surgery/face.dm @@ -26,9 +26,9 @@ /datum/surgery_step/generic/cut_face surgery_name = "Cut Face" allowed_tools = list( - /obj/item/weapon/surgical/scalpel = 100, \ - /obj/item/weapon/material/knife = 75, \ - /obj/item/weapon/material/shard = 50, \ + /obj/item/surgical/scalpel = 100, \ + /obj/item/material/knife = 75, \ + /obj/item/material/shard = 50, \ ) min_duration = 90 @@ -38,19 +38,19 @@ return ..() && target_zone == O_MOUTH && target.op_stage.face == 0 /datum/surgery_step/generic/cut_face/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - user.visible_message("[user] starts to cut open [target]'s face and neck with \the [tool].", \ - "You start to cut open [target]'s face and neck with \the [tool].") + user.visible_message(span_filter_notice("[user] starts to cut open [target]'s face and neck with \the [tool]."), \ + span_filter_notice("You start to cut open [target]'s face and neck with \the [tool].")) ..() /datum/surgery_step/generic/cut_face/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - user.visible_message("[user] has cut open [target]'s face and neck with \the [tool]." , \ - " You have cut open[target]'s face and neck with \the [tool].",) + user.visible_message(span_notice("[user] has cut open [target]'s face and neck with \the [tool].") , \ + span_notice(" You have cut open[target]'s face and neck with \the [tool]."),) target.op_stage.face = 1 /datum/surgery_step/generic/cut_face/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user]'s hand slips, slicing [target]'s throat wth \the [tool]!" , \ - "Your hand slips, slicing [target]'s throat wth \the [tool]!" ) + user.visible_message(span_danger("[user]'s hand slips, slicing [target]'s throat wth \the [tool]!") , \ + span_danger("Your hand slips, slicing [target]'s throat wth \the [tool]!") ) affected.createwound(CUT, 60) target.AdjustLosebreath(10) @@ -61,9 +61,9 @@ /datum/surgery_step/face/mend_vocal surgery_name = "Mend Vocal Cords" allowed_tools = list( - /obj/item/weapon/surgical/hemostat = 100, \ + /obj/item/surgical/hemostat = 100, \ /obj/item/stack/cable_coil = 75, \ - /obj/item/device/assembly/mousetrap = 10 //I don't know. Don't ask me. But I'm leaving it because hilarity. + /obj/item/assembly/mousetrap = 10 //I don't know. Don't ask me. But I'm leaving it because hilarity. ) min_duration = 70 @@ -73,18 +73,18 @@ return ..() && target.op_stage.face == 1 /datum/surgery_step/face/mend_vocal/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - user.visible_message("[user] starts mending [target]'s vocal cords with \the [tool].", \ - "You start mending [target]'s vocal cords with \the [tool].") + user.visible_message(span_filter_notice("[user] starts mending [target]'s vocal cords with \the [tool]."), \ + span_filter_notice("You start mending [target]'s vocal cords with \the [tool].")) ..() /datum/surgery_step/face/mend_vocal/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - user.visible_message("[user] mends [target]'s vocal cords with \the [tool].", \ - "You mend [target]'s vocal cords with \the [tool].") + user.visible_message(span_notice("[user] mends [target]'s vocal cords with \the [tool]."), \ + span_notice("You mend [target]'s vocal cords with \the [tool].")) target.op_stage.face = 2 /datum/surgery_step/face/mend_vocal/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - user.visible_message("[user]'s hand slips, clamping [target]'s trachea shut for a moment with \the [tool]!", \ - "Your hand slips, clamping [user]'s trachea shut for a moment with \the [tool]!") + user.visible_message(span_danger("[user]'s hand slips, clamping [target]'s trachea shut for a moment with \the [tool]!"), \ + span_danger("Your hand slips, clamping [user]'s trachea shut for a moment with \the [tool]!")) target.AdjustLosebreath(10) /////////////////////////////////////////////////////////////// @@ -94,8 +94,8 @@ /datum/surgery_step/face/fix_face surgery_name = "Fix Face" allowed_tools = list( - /obj/item/weapon/surgical/retractor = 100, \ - /obj/item/weapon/material/kitchen/utensil/fork = 75 + /obj/item/surgical/retractor = 100, \ + /obj/item/material/kitchen/utensil/fork = 75 ) allowed_procs = list(IS_CROWBAR = 55) @@ -107,19 +107,19 @@ return ..() && target.op_stage.face == 2 /datum/surgery_step/face/fix_face/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - user.visible_message("[user] starts pulling the skin on [target]'s face back in place with \the [tool].", \ - "You start pulling the skin on [target]'s face back in place with \the [tool].") + user.visible_message(span_filter_notice("[user] starts pulling the skin on [target]'s face back in place with \the [tool]."), \ + span_filter_notice("You start pulling the skin on [target]'s face back in place with \the [tool].")) ..() /datum/surgery_step/face/fix_face/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - user.visible_message("[user] pulls the skin on [target]'s face back in place with \the [tool].", \ - "You pull the skin on [target]'s face back in place with \the [tool].") + user.visible_message(span_notice("[user] pulls the skin on [target]'s face back in place with \the [tool]."), \ + span_notice("You pull the skin on [target]'s face back in place with \the [tool].")) target.op_stage.face = 3 /datum/surgery_step/face/fix_face/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user]'s hand slips, tearing skin on [target]'s face with \the [tool]!", \ - "Your hand slips, tearing skin on [target]'s face with \the [tool]!") + user.visible_message(span_danger("[user]'s hand slips, tearing skin on [target]'s face with \the [tool]!"), \ + span_danger("Your hand slips, tearing skin on [target]'s face with \the [tool]!")) target.apply_damage(10, BRUTE, affected, sharp = TRUE, sharp = TRUE) /////////////////////////////////////////////////////////////// @@ -129,10 +129,10 @@ /datum/surgery_step/face/cauterize surgery_name = "Cauterize Face" allowed_tools = list( - /obj/item/weapon/surgical/cautery = 100, \ + /obj/item/surgical/cautery = 100, \ /obj/item/clothing/mask/smokable/cigarette = 75, \ - /obj/item/weapon/flame/lighter = 50, \ - /obj/item/weapon/weldingtool = 25 + /obj/item/flame/lighter = 50, \ + /obj/item/weldingtool = 25 ) min_duration = 70 @@ -142,14 +142,14 @@ return ..() && target.op_stage.face > 0 /datum/surgery_step/face/cauterize/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - user.visible_message("[user] is beginning to cauterize the incision on [target]'s face and neck with \the [tool]." , \ - "You are beginning to cauterize the incision on [target]'s face and neck with \the [tool].") + user.visible_message(span_notice("[user] is beginning to cauterize the incision on [target]'s face and neck with \the [tool].") , \ + span_notice("You are beginning to cauterize the incision on [target]'s face and neck with \the [tool].")) ..() /datum/surgery_step/face/cauterize/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] cauterizes the incision on [target]'s face and neck with \the [tool].", \ - "You cauterize the incision on [target]'s face and neck with \the [tool].") + user.visible_message(span_notice("[user] cauterizes the incision on [target]'s face and neck with \the [tool]."), \ + span_notice("You cauterize the incision on [target]'s face and neck with \the [tool].")) affected.open = 0 affected.status &= ~ORGAN_BLEEDING if (target.op_stage.face == 3) @@ -159,6 +159,6 @@ /datum/surgery_step/face/cauterize/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user]'s hand slips, leaving a small burn on [target]'s face with \the [tool]!", \ - "Your hand slips, leaving a small burn on [target]'s face with \the [tool]!") + user.visible_message(span_danger("[user]'s hand slips, leaving a small burn on [target]'s face with \the [tool]!"), \ + span_danger("Your hand slips, leaving a small burn on [target]'s face with \the [tool]!")) target.apply_damage(4, BURN, affected) diff --git a/code/modules/surgery/generic.dm b/code/modules/surgery/generic.dm index 5410b9e63a3..4a5cea8ef21 100644 --- a/code/modules/surgery/generic.dm +++ b/code/modules/surgery/generic.dm @@ -31,9 +31,9 @@ /datum/surgery_step/generic/cut_open surgery_name = "Create Incision" allowed_tools = list( - /obj/item/weapon/surgical/scalpel = 100, \ - /obj/item/weapon/material/knife = 75, \ - /obj/item/weapon/material/shard = 50, \ + /obj/item/surgical/scalpel = 100, \ + /obj/item/material/knife = 75, \ + /obj/item/material/shard = 50, \ ) req_open = 0 @@ -47,15 +47,15 @@ /datum/surgery_step/generic/cut_open/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] starts the incision on [target]'s [affected.name] with \the [tool].", \ - "You start the incision on [target]'s [affected.name] with \the [tool].") + user.visible_message(span_filter_notice("[user] starts the incision on [target]'s [affected.name] with \the [tool]."), \ + span_filter_notice("You start the incision on [target]'s [affected.name] with \the [tool].")) target.custom_pain("You feel a horrible pain as if from a sharp knife in your [affected.name]!", 40) ..() /datum/surgery_step/generic/cut_open/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] has made an incision on [target]'s [affected.name] with \the [tool].", \ - "You have made an incision on [target]'s [affected.name] with \the [tool].",) + user.visible_message(span_notice("[user] has made an incision on [target]'s [affected.name] with \the [tool]."), \ + span_notice("You have made an incision on [target]'s [affected.name] with \the [tool]."),) affected.open = 1 if(istype(target) && target.should_have_organ(O_HEART)) @@ -65,8 +65,8 @@ /datum/surgery_step/generic/cut_open/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user]'s hand slips, slicing open [target]'s [affected.name] in the wrong place with \the [tool]!", \ - "Your hand slips, slicing open [target]'s [affected.name] in the wrong place with \the [tool]!") + user.visible_message(span_danger("[user]'s hand slips, slicing open [target]'s [affected.name] in the wrong place with \the [tool]!"), \ + span_danger("Your hand slips, slicing open [target]'s [affected.name] in the wrong place with \the [tool]!")) affected.createwound(CUT, 10) /////////////////////////////////////////////////////////////// @@ -76,10 +76,10 @@ /datum/surgery_step/generic/cut_with_laser surgery_name = "Create Bloodless Incision" allowed_tools = list( - /obj/item/weapon/surgical/scalpel/laser3 = 100, \ - /obj/item/weapon/surgical/scalpel/laser2 = 100, \ - /obj/item/weapon/surgical/scalpel/laser1 = 100, \ - /obj/item/weapon/melee/energy/sword = 5 + /obj/item/surgical/scalpel/laser3 = 100, \ + /obj/item/surgical/scalpel/laser2 = 100, \ + /obj/item/surgical/scalpel/laser1 = 100, \ + /obj/item/melee/energy/sword = 5 ) priority = 2 req_open = 0 @@ -94,8 +94,8 @@ /datum/surgery_step/generic/cut_with_laser/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] starts the bloodless incision on [target]'s [affected.name] with \the [tool].", \ - "You start the bloodless incision on [target]'s [affected.name] with \the [tool].") + user.visible_message(span_filter_notice("[user] starts the bloodless incision on [target]'s [affected.name] with \the [tool]."), \ + span_filter_notice("You start the bloodless incision on [target]'s [affected.name] with \the [tool].")) target.custom_pain("You feel a horrible, searing pain in your [affected.name]!", 50) ..() @@ -105,27 +105,27 @@ affected.createwound(CUT, 1) var/clamp_chance = 0 //I hate this. Make all laser scalpels a /laser subtype and give them a clamp_chance var??? - if(istype(tool,/obj/item/weapon/surgical/scalpel/laser1)) + if(istype(tool,/obj/item/surgical/scalpel/laser1)) clamp_chance = 75 - if(istype(tool,/obj/item/weapon/surgical/scalpel/laser2)) + if(istype(tool,/obj/item/surgical/scalpel/laser2)) clamp_chance = 85 - if(istype(tool,/obj/item/weapon/surgical/scalpel/laser3)) + if(istype(tool,/obj/item/surgical/scalpel/laser3)) clamp_chance = 95 if(clamp_chance) affected.organ_clamp() - user.visible_message("[user] has made a bloodless incision on [target]'s [affected.name] with \the [tool].", \ - "You have made a bloodless incision on [target]'s [affected.name] with \the [tool].",) + user.visible_message(span_notice("[user] has made a bloodless incision on [target]'s [affected.name] with \the [tool]."), \ + span_notice("You have made a bloodless incision on [target]'s [affected.name] with \the [tool]."),) else - user.visible_message("[user] has made an incision on [target]'s [affected.name] with \the [tool], but blood is still escaping from the wound.", \ - "You have made an incision on [target]'s [affected.name] with \the [tool], but blood is still coming from the wound..",) + user.visible_message(span_notice("[user] has made an incision on [target]'s [affected.name] with \the [tool], but blood is still escaping from the wound."), \ + span_notice("You have made an incision on [target]'s [affected.name] with \the [tool], but blood is still coming from the wound.."),) //Could be cleaner ... spread_germs_to_organ(affected, user) /datum/surgery_step/generic/cut_with_laser/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user]'s hand slips as the blade sputters, searing a long gash in [target]'s [affected.name] with \the [tool]!", \ - "Your hand slips as the blade sputters, searing a long gash in [target]'s [affected.name] with \the [tool]!") + user.visible_message(span_danger("[user]'s hand slips as the blade sputters, searing a long gash in [target]'s [affected.name] with \the [tool]!"), \ + span_danger("Your hand slips as the blade sputters, searing a long gash in [target]'s [affected.name] with \the [tool]!")) affected.createwound(CUT, 7.5) affected.createwound(BURN, 12.5) @@ -136,7 +136,7 @@ /datum/surgery_step/generic/incision_manager surgery_name = "Create Prepared Incision" allowed_tools = list( - /obj/item/weapon/surgical/scalpel/manager = 100 + /obj/item/surgical/scalpel/manager = 100 ) priority = 2 @@ -152,15 +152,15 @@ /datum/surgery_step/generic/incision_manager/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] starts to construct a prepared incision on and within [target]'s [affected.name] with \the [tool].", \ - "You start to construct a prepared incision on and within [target]'s [affected.name] with \the [tool].") + user.visible_message(span_filter_notice("[user] starts to construct a prepared incision on and within [target]'s [affected.name] with \the [tool]."), \ + span_filter_notice("You start to construct a prepared incision on and within [target]'s [affected.name] with \the [tool].")) target.custom_pain("You feel a horrible, searing pain in your [affected.name] as it is pushed apart!", 50) ..() /datum/surgery_step/generic/incision_manager/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] has constructed a prepared incision on and within [target]'s [affected.name] with \the [tool].", \ - "You have constructed a prepared incision on and within [target]'s [affected.name] with \the [tool].",) + user.visible_message(span_notice("[user] has constructed a prepared incision on and within [target]'s [affected.name] with \the [tool]."), \ + span_notice("You have constructed a prepared incision on and within [target]'s [affected.name] with \the [tool]."),) affected.open = 1 if(istype(target) && target.should_have_organ(O_HEART)) @@ -172,8 +172,8 @@ /datum/surgery_step/generic/incision_manager/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user]'s hand jolts as the system sparks, ripping a gruesome hole in [target]'s [affected.name] with \the [tool]!", \ - "Your hand jolts as the system sparks, ripping a gruesome hole in [target]'s [affected.name] with \the [tool]!") + user.visible_message(span_danger("[user]'s hand jolts as the system sparks, ripping a gruesome hole in [target]'s [affected.name] with \the [tool]!"), \ + span_danger("Your hand jolts as the system sparks, ripping a gruesome hole in [target]'s [affected.name] with \the [tool]!")) affected.createwound(CUT, 20) affected.createwound(BURN, 15) @@ -184,9 +184,9 @@ /datum/surgery_step/generic/clamp_bleeders surgery_name = "Clamp Bleeders" allowed_tools = list( - /obj/item/weapon/surgical/hemostat = 100, \ + /obj/item/surgical/hemostat = 100, \ /obj/item/stack/cable_coil = 75, \ - /obj/item/device/assembly/mousetrap = 20 + /obj/item/assembly/mousetrap = 20 ) min_duration = 40 @@ -199,22 +199,22 @@ /datum/surgery_step/generic/clamp_bleeders/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] starts clamping bleeders in [target]'s [affected.name] with \the [tool].", \ - "You start clamping bleeders in [target]'s [affected.name] with \the [tool].") + user.visible_message(span_filter_notice("[user] starts clamping bleeders in [target]'s [affected.name] with \the [tool]."), \ + span_filter_notice("You start clamping bleeders in [target]'s [affected.name] with \the [tool].")) target.custom_pain("The pain in your [affected.name] is maddening!", 40) ..() /datum/surgery_step/generic/clamp_bleeders/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] clamps bleeders in [target]'s [affected.name] with \the [tool].", \ - "You clamp bleeders in [target]'s [affected.name] with \the [tool].") + user.visible_message(span_notice("[user] clamps bleeders in [target]'s [affected.name] with \the [tool]."), \ + span_notice("You clamp bleeders in [target]'s [affected.name] with \the [tool].")) affected.organ_clamp() spread_germs_to_organ(affected, user) /datum/surgery_step/generic/clamp_bleeders/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user]'s hand slips, tearing blood vessals and causing massive bleeding in [target]'s [affected.name] with \the [tool]!", \ - "Your hand slips, tearing blood vessels and causing massive bleeding in [target]'s [affected.name] with \the [tool]!",) + user.visible_message(span_danger("[user]'s hand slips, tearing blood vessals and causing massive bleeding in [target]'s [affected.name] with \the [tool]!"), \ + span_danger("Your hand slips, tearing blood vessels and causing massive bleeding in [target]'s [affected.name] with \the [tool]!"),) affected.createwound(CUT, 10) /////////////////////////////////////////////////////////////// @@ -224,8 +224,8 @@ /datum/surgery_step/generic/retract_skin surgery_name = "Retract Skin" allowed_tools = list( - /obj/item/weapon/surgical/retractor = 100, \ - /obj/item/weapon/material/kitchen/utensil/fork = 50 + /obj/item/surgical/retractor = 100, \ + /obj/item/material/kitchen/utensil/fork = 50 ) allowed_procs = list(IS_CROWBAR = 75) @@ -248,33 +248,33 @@ if (target_zone == BP_GROIN) msg = "[user] starts to pry open the incision and rearrange the organs in [target]'s lower abdomen with \the [tool]." self_msg = "You start to pry open the incision and rearrange the organs in [target]'s lower abdomen with \the [tool]." - user.visible_message("[msg]", "[self_msg]") + user.visible_message(span_filter_notice("[msg]"), span_filter_notice("[self_msg]")) target.custom_pain("It feels like the skin on your [affected.name] is on fire!", 40) ..() /datum/surgery_step/generic/retract_skin/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - var/msg = "[user] keeps the incision open on [target]'s [affected.name] with \the [tool]." - var/self_msg = "You keep the incision open on [target]'s [affected.name] with \the [tool]." + var/msg = span_notice("[user] keeps the incision open on [target]'s [affected.name] with \the [tool].") + var/self_msg = span_notice("You keep the incision open on [target]'s [affected.name] with \the [tool].") if (target_zone == BP_TORSO) - msg = "[user] keeps the ribcage open on [target]'s torso with \the [tool]." - self_msg = "You keep the ribcage open on [target]'s torso with \the [tool]." + msg = span_notice("[user] keeps the ribcage open on [target]'s torso with \the [tool].") + self_msg = span_notice("You keep the ribcage open on [target]'s torso with \the [tool].") if (target_zone == BP_GROIN) - msg = "[user] keeps the incision open on [target]'s lower abdomen with \the [tool]." - self_msg = "You keep the incision open on [target]'s lower abdomen with \the [tool]." + msg = span_notice("[user] keeps the incision open on [target]'s lower abdomen with \the [tool].") + self_msg = span_notice("You keep the incision open on [target]'s lower abdomen with \the [tool].") user.visible_message(msg, self_msg) affected.open = 2 /datum/surgery_step/generic/retract_skin/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - var/msg = "[user]'s hand slips, tearing the edges of the incision on [target]'s [affected.name] with \the [tool]!" - var/self_msg = "Your hand slips, tearing the edges of the incision on [target]'s [affected.name] with \the [tool]!" + var/msg = span_danger("[user]'s hand slips, tearing the edges of the incision on [target]'s [affected.name] with \the [tool]!") + var/self_msg = span_danger("Your hand slips, tearing the edges of the incision on [target]'s [affected.name] with \the [tool]!") if (target_zone == BP_TORSO) - msg = "[user]'s hand slips, damaging several organs in [target]'s torso with \the [tool]!" - self_msg = "Your hand slips, damaging several organs in [target]'s torso with \the [tool]!" + msg = span_danger("[user]'s hand slips, damaging several organs in [target]'s torso with \the [tool]!") + self_msg = span_danger("Your hand slips, damaging several organs in [target]'s torso with \the [tool]!") if (target_zone == BP_GROIN) - msg = "[user]'s hand slips, damaging several organs in [target]'s lower abdomen with \the [tool]!" - self_msg = "Your hand slips, damaging several organs in [target]'s lower abdomen with \the [tool]!" + msg = span_danger("[user]'s hand slips, damaging several organs in [target]'s lower abdomen with \the [tool]!") + self_msg = span_danger("Your hand slips, damaging several organs in [target]'s lower abdomen with \the [tool]!") user.visible_message(msg, self_msg) target.apply_damage(12, BRUTE, affected, sharp = TRUE) @@ -285,10 +285,10 @@ /datum/surgery_step/generic/cauterize surgery_name = "Cauterize Incision" allowed_tools = list( - /obj/item/weapon/surgical/cautery = 100, \ + /obj/item/surgical/cautery = 100, \ /obj/item/clothing/mask/smokable/cigarette = 75, \ - /obj/item/weapon/flame/lighter = 50, \ - /obj/item/weapon/weldingtool = 25 + /obj/item/flame/lighter = 50, \ + /obj/item/weldingtool = 25 ) min_duration = 70 @@ -301,23 +301,23 @@ /datum/surgery_step/generic/cauterize/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] is beginning to cauterize the incision on [target]'s [affected.name] with \the [tool]." , \ - "You are beginning to cauterize the incision on [target]'s [affected.name] with \the [tool].") + user.visible_message(span_filter_notice("[user] is beginning to cauterize the incision on [target]'s [affected.name] with \the [tool].") , \ + span_filter_notice("You are beginning to cauterize the incision on [target]'s [affected.name] with \the [tool].")) target.custom_pain("Your [affected.name] is being burned!", 40) ..() /datum/surgery_step/generic/cauterize/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] cauterizes the incision on [target]'s [affected.name] with \the [tool].", \ - "You cauterize the incision on [target]'s [affected.name] with \the [tool].") + user.visible_message(span_notice("[user] cauterizes the incision on [target]'s [affected.name] with \the [tool]."), \ + span_notice("You cauterize the incision on [target]'s [affected.name] with \the [tool].")) affected.open = 0 affected.germ_level = 0 affected.status &= ~ORGAN_BLEEDING /datum/surgery_step/generic/cauterize/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user]'s hand slips, leaving a small burn on [target]'s [affected.name] with \the [tool]!", \ - "Your hand slips, leaving a small burn on [target]'s [affected.name] with \the [tool]!") + user.visible_message(span_danger("[user]'s hand slips, leaving a small burn on [target]'s [affected.name] with \the [tool]!"), \ + span_danger("Your hand slips, leaving a small burn on [target]'s [affected.name] with \the [tool]!")) target.apply_damage(3, BURN, affected) /////////////////////////////////////////////////////////////// @@ -327,8 +327,8 @@ /datum/surgery_step/generic/amputate surgery_name = "Amputate Limb" allowed_tools = list( - /obj/item/weapon/surgical/circular_saw = 100, \ - /obj/item/weapon/material/knife/machete/hatchet = 75 + /obj/item/surgical/circular_saw = 100, \ + /obj/item/material/knife/machete/hatchet = 75 ) req_open = 0 @@ -347,20 +347,20 @@ /datum/surgery_step/generic/amputate/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] is beginning to amputate [target]'s [affected.name] with \the [tool]." , \ - "You are beginning to cut through [target]'s [affected.amputation_point] with \the [tool].") + user.visible_message(span_filter_notice("[user] is beginning to amputate [target]'s [affected.name] with \the [tool].") , \ + span_filter_notice("You are beginning to cut through [target]'s [affected.amputation_point] with \the [tool].")) target.custom_pain("Your [affected.amputation_point] is being ripped apart!", 100) ..() /datum/surgery_step/generic/amputate/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] amputates [target]'s [affected.name] at the [affected.amputation_point] with \the [tool].", \ - "You amputate [target]'s [affected.name] with \the [tool].") + user.visible_message(span_notice("[user] amputates [target]'s [affected.name] at the [affected.amputation_point] with \the [tool]."), \ + span_notice("You amputate [target]'s [affected.name] with \the [tool].")) affected.droplimb(1,DROPLIMB_EDGE) /datum/surgery_step/generic/amputate/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user]'s hand slips, sawing through the bone in [target]'s [affected.name] with \the [tool]!", \ - "Your hand slips, sawwing through the bone in [target]'s [affected.name] with \the [tool]!") + user.visible_message(span_danger("[user]'s hand slips, sawing through the bone in [target]'s [affected.name] with \the [tool]!"), \ + span_danger("Your hand slips, sawwing through the bone in [target]'s [affected.name] with \the [tool]!")) affected.createwound(CUT, 30) affected.fracture() diff --git a/code/modules/surgery/implant.dm b/code/modules/surgery/implant.dm index 991aa4cecc8..305ee981e18 100644 --- a/code/modules/surgery/implant.dm +++ b/code/modules/surgery/implant.dm @@ -38,8 +38,8 @@ /datum/surgery_step/cavity/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/chest/affected = target.get_organ(target_zone) - user.visible_message("[user]'s hand slips, scraping around inside [target]'s [affected.name] with \the [tool]!", \ - "Your hand slips, scraping around inside [target]'s [affected.name] with \the [tool]!") + user.visible_message(span_danger("[user]'s hand slips, scraping around inside [target]'s [affected.name] with \the [tool]!"), \ + span_danger("Your hand slips, scraping around inside [target]'s [affected.name] with \the [tool]!")) affected.createwound(CUT, 20) /////////////////////////////////////////////////////////////// @@ -49,8 +49,8 @@ /datum/surgery_step/cavity/make_space surgery_name = "Create Cavity" allowed_tools = list( - /obj/item/weapon/surgical/surgicaldrill = 100, \ - /obj/item/weapon/pen = 75, \ + /obj/item/surgical/surgicaldrill = 100, \ + /obj/item/pen = 75, \ /obj/item/stack/rods = 50 ) @@ -64,16 +64,16 @@ /datum/surgery_step/cavity/make_space/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] starts making some space inside [target]'s [get_cavity(affected)] cavity with \the [tool].", \ - "You start making some space inside [target]'s [get_cavity(affected)] cavity with \the [tool]." ) + user.visible_message(span_filter_notice("[user] starts making some space inside [target]'s [get_cavity(affected)] cavity with \the [tool]."), \ + span_filter_notice("You start making some space inside [target]'s [get_cavity(affected)] cavity with \the [tool].") ) target.custom_pain("The pain in your chest is living hell!",1) affected.cavity = 1 ..() /datum/surgery_step/cavity/make_space/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/chest/affected = target.get_organ(target_zone) - user.visible_message("[user] makes some space inside [target]'s [get_cavity(affected)] cavity with \the [tool].", \ - "You make some space inside [target]'s [get_cavity(affected)] cavity with \the [tool]." ) + user.visible_message(span_notice("[user] makes some space inside [target]'s [get_cavity(affected)] cavity with \the [tool]."), \ + span_notice("You make some space inside [target]'s [get_cavity(affected)] cavity with \the [tool].") ) /////////////////////////////////////////////////////////////// // Cavity Closing Surgery @@ -83,10 +83,10 @@ surgery_name = "Close Cavity" priority = 2 allowed_tools = list( - /obj/item/weapon/surgical/cautery = 100, \ + /obj/item/surgical/cautery = 100, \ /obj/item/clothing/mask/smokable/cigarette = 75, \ - /obj/item/weapon/flame/lighter = 50, \ - /obj/item/weapon/weldingtool = 25 + /obj/item/flame/lighter = 50, \ + /obj/item/weldingtool = 25 ) min_duration = 60 @@ -99,16 +99,16 @@ /datum/surgery_step/cavity/close_space/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] starts mending [target]'s [get_cavity(affected)] cavity wall with \the [tool].", \ - "You start mending [target]'s [get_cavity(affected)] cavity wall with \the [tool]." ) + user.visible_message(span_filter_notice("[user] starts mending [target]'s [get_cavity(affected)] cavity wall with \the [tool]."), \ + span_filter_notice("You start mending [target]'s [get_cavity(affected)] cavity wall with \the [tool].") ) target.custom_pain("The pain in your chest is living hell!",1) affected.cavity = 0 ..() /datum/surgery_step/cavity/close_space/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/chest/affected = target.get_organ(target_zone) - user.visible_message("[user] mends [target]'s [get_cavity(affected)] cavity walls with \the [tool].", \ - " You mend[target]'s [get_cavity(affected)] cavity walls with \the [tool]." ) + user.visible_message(span_notice("[user] mends [target]'s [get_cavity(affected)] cavity walls with \the [tool]."), \ + span_notice(" You mend[target]'s [get_cavity(affected)] cavity walls with \the [tool].") ) /////////////////////////////////////////////////////////////// // Item Implantation Surgery @@ -128,8 +128,8 @@ if(..()) var/obj/item/organ/external/affected = target.get_organ(target_zone) if(istype(user,/mob/living/silicon/robot)) - if(istype(tool, /obj/item/weapon/gripper)) - var/obj/item/weapon/gripper/Gripper = tool + if(istype(tool, /obj/item/gripper)) + var/obj/item/gripper/Gripper = tool if(Gripper.wrapped) tool = Gripper.wrapped else @@ -139,39 +139,39 @@ if(affected && affected.cavity) var/total_volume = tool.w_class for(var/obj/item/I in affected.implants) - if(istype(I,/obj/item/weapon/implant)) + if(istype(I,/obj/item/implant)) continue total_volume += I.w_class return total_volume <= get_max_wclass(affected) /datum/surgery_step/cavity/place_item/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - if(isrobot(user) && istype(tool, /obj/item/weapon/gripper)) - var/obj/item/weapon/gripper/G = tool + if(isrobot(user) && istype(tool, /obj/item/gripper)) + var/obj/item/gripper/G = tool tool = G.wrapped - user.visible_message("[user] starts putting \the [tool] inside [target]'s [get_cavity(affected)] cavity.", \ - "You start putting \the [tool] inside [target]'s [get_cavity(affected)] cavity." ) //Nobody will probably ever see this, but I made these two blue. ~CK + user.visible_message(span_notice("[user] starts putting \the [tool] inside [target]'s [get_cavity(affected)] cavity."), \ + span_notice("You start putting \the [tool] inside [target]'s [get_cavity(affected)] cavity.") ) //Nobody will probably ever see this, but I made these two blue. ~CK target.custom_pain("The pain in your chest is living hell!",1) ..() /datum/surgery_step/cavity/place_item/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/chest/affected = target.get_organ(target_zone) - if(isrobot(user) && istype(tool, /obj/item/weapon/gripper)) - var/obj/item/weapon/gripper/G = tool + if(isrobot(user) && istype(tool, /obj/item/gripper)) + var/obj/item/gripper/G = tool tool = G.wrapped G.drop_item() else user.drop_item() - user.visible_message("[user] puts \the [tool] inside [target]'s [get_cavity(affected)] cavity.", \ - "You put \the [tool] inside [target]'s [get_cavity(affected)] cavity." ) + user.visible_message(span_notice("[user] puts \the [tool] inside [target]'s [get_cavity(affected)] cavity."), \ + span_notice("You put \the [tool] inside [target]'s [get_cavity(affected)] cavity.") ) if (tool.w_class > get_max_wclass(affected)/2 && prob(50) && (affected.robotic < ORGAN_ROBOT)) - to_chat(user, " You tear some blood vessels trying to fit such a big object in this cavity.") + to_chat(user, span_danger(" You tear some blood vessels trying to fit such a big object in this cavity.")) var/datum/wound/internal_bleeding/I = new (10) affected.wounds += I affected.owner.custom_pain("You feel something rip in your [affected.name]!", 1) affected.implants += tool tool.loc = affected - if(istype(tool,/obj/item/device/nif)){var/obj/item/device/nif/N = tool;N.implant(target)} //VOREStation Add - NIF support + if(istype(tool,/obj/item/nif)){var/obj/item/nif/N = tool;N.implant(target)} //VOREStation Add - NIF support affected.cavity = 0 ////////////////////////////////////////////////////////////////// @@ -181,8 +181,8 @@ /datum/surgery_step/cavity/implant_removal surgery_name = "Remove Implant" allowed_tools = list( - /obj/item/weapon/surgical/hemostat = 100, \ - /obj/item/weapon/material/kitchen/utensil/fork = 20 + /obj/item/surgical/hemostat = 100, \ + /obj/item/material/kitchen/utensil/fork = 20 ) allowed_procs = list(IS_WIRECUTTER = 75) @@ -200,8 +200,8 @@ /datum/surgery_step/cavity/implant_removal/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] starts poking around inside [target]'s [affected.name] with \the [tool].", \ - "You start poking around inside [target]'s [affected.name] with \the [tool]." ) + user.visible_message(span_notice("[user] starts poking around inside [target]'s [affected.name] with \the [tool]."), \ + span_notice("You start poking around inside [target]'s [affected.name] with \the [tool].") ) target.custom_pain("The pain in your [affected.name] is living hell!",1) ..() @@ -212,28 +212,28 @@ var/obj/item/obj = tgui_input_list(user, "Which embedded item do you wish to remove?", "Surgery Select", affected.implants) if(isnull(obj)) //They clicked cancel. - user.visible_message("[user] takes \the [tool] out of [target]'s [affected.name].", \ - "You take \the [tool] out of the incision on [target]'s [affected.name]." ) + user.visible_message(span_notice("[user] takes \the [tool] out of [target]'s [affected.name]."), \ + span_notice("You take \the [tool] out of the incision on [target]'s [affected.name].") ) return if(!do_mob(user, target, 1)) //They moved away - to_chat(user, "You must remain close to and keep focused on your patient to conduct surgery.") - user.visible_message("[user] fails to remove anything from [target]'s [affected.name] with \the [tool]!", \ - "You fail to remove the [obj] from [target]'s [affected.name]s with \the [tool]!" ) + to_chat(user, span_warning("You must remain close to and keep focused on your patient to conduct surgery.")) + user.visible_message(span_notice("[user] fails to remove anything from [target]'s [affected.name] with \the [tool]!"), \ + span_notice("You fail to remove the [obj] from [target]'s [affected.name]s with \the [tool]!") ) return - if(istype(obj,/obj/item/weapon/implant)) - var/obj/item/weapon/implant/imp = obj + if(istype(obj,/obj/item/implant)) + var/obj/item/implant/imp = obj if (!imp.islegal()) //ILLEGAL IMPLANT ALERT!!!!!!!!!! - user.visible_message("[user] seems to be intently working on something within [target]'s [affected.name] with \the [tool]!", \ - "You intently begin to take [obj] out of the incision on [target]'s [affected.name]s with \the [tool]!" ) + user.visible_message(span_notice("[user] seems to be intently working on something within [target]'s [affected.name] with \the [tool]!"), \ + span_notice("You intently begin to take [obj] out of the incision on [target]'s [affected.name]s with \the [tool]!") ) if(!do_after(user, min_duration, target)) - user.visible_message("[user] fails to remove anything from [target]'s [affected.name] with \the [tool]!", \ - "You fail to remove the [obj] from [target]'s [affected.name]s with \the [tool]!" ) + user.visible_message(span_notice("[user] fails to remove anything from [target]'s [affected.name] with \the [tool]!"), \ + span_notice("You fail to remove the [obj] from [target]'s [affected.name]s with \the [tool]!") ) return - user.visible_message("[user] takes something out of the incision on [target]'s [affected.name] with \the [tool]!", \ - "You take [obj] out of the incision on [target]'s [affected.name]s with \the [tool]!" ) + user.visible_message(span_notice("[user] takes something out of the incision on [target]'s [affected.name] with \the [tool]!"), \ + span_notice("You take [obj] out of the incision on [target]'s [affected.name]s with \the [tool]!") ) affected.implants -= obj if(!target.has_embedded_objects()) target.clear_alert("embeddedobject") @@ -251,14 +251,14 @@ obj.loc = get_turf(target) obj.add_blood(target) obj.update_icon() - if(istype(obj,/obj/item/weapon/implant)) - var/obj/item/weapon/implant/imp = obj + if(istype(obj,/obj/item/implant)) + var/obj/item/implant/imp = obj imp.imp_in = null imp.implanted = 0 - else if(istype(tool,/obj/item/device/nif)){var/obj/item/device/nif/N = tool;N.unimplant(target)} //VOREStation Add - NIF support + else if(istype(tool,/obj/item/nif)){var/obj/item/nif/N = tool;N.unimplant(target)} //VOREStation Add - NIF support else - user.visible_message("[user] could not find anything inside [target]'s [affected.name], and pulls \the [tool] out.", \ - "You could not find anything inside [target]'s [affected.name]." ) + user.visible_message(span_notice("[user] could not find anything inside [target]'s [affected.name], and pulls \the [tool] out."), \ + span_notice("You could not find anything inside [target]'s [affected.name].") ) /datum/surgery_step/cavity/implant_removal/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) ..() @@ -267,8 +267,8 @@ var/fail_prob = 10 fail_prob += 100 - tool_quality(tool) if (prob(fail_prob)) - var/obj/item/weapon/implant/imp = affected.implants[1] - user.visible_message(" Something beeps inside [target]'s [affected.name]!") + var/obj/item/implant/imp = affected.implants[1] + user.visible_message(span_danger(" Something beeps inside [target]'s [affected.name]!")) playsound(imp, 'sound/items/countdown.ogg', 75, 1, -3) spawn(25) imp.activate() diff --git a/code/modules/surgery/limb_reattach.dm b/code/modules/surgery/limb_reattach.dm index a898d4447d0..3b0a13310ae 100644 --- a/code/modules/surgery/limb_reattach.dm +++ b/code/modules/surgery/limb_reattach.dm @@ -36,29 +36,29 @@ var/obj/item/organ/external/P = target.organs_by_name[E.parent_organ] var/obj/item/organ/external/affected = target.get_organ(target_zone) if (affected) - to_chat(user, "Something is in the way! You can't attach [E] here!") + to_chat(user, span_warning("Something is in the way! You can't attach [E] here!")) return 0 if(!P) - to_chat(user, "There's nothing to attach [E] to!") + to_chat(user, span_warning("There's nothing to attach [E] to!")) return 0 else if((P.robotic >= ORGAN_ROBOT) && (E.robotic < ORGAN_ROBOT)) - to_chat(user, "Attaching [E] to [P] wouldn't work well.") + to_chat(user, span_warning("Attaching [E] to [P] wouldn't work well.")) return 0 else if(istype(E, /obj/item/organ/external/head) && E.robotic >= ORGAN_ROBOT && P.robotic < ORGAN_ROBOT) - to_chat(user, "Attaching [E] to [P] might break [E].") + to_chat(user, span_warning("Attaching [E] to [P] might break [E].")) return 0 else return 1 /datum/surgery_step/limb/attach/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/E = tool - user.visible_message("[user] starts attaching [E.name] to [target]'s [E.amputation_point].", \ - "You start attaching [E.name] to [target]'s [E.amputation_point].") + user.visible_message(span_filter_notice("[user] starts attaching [E.name] to [target]'s [E.amputation_point]."), \ + span_filter_notice("You start attaching [E.name] to [target]'s [E.amputation_point].")) /datum/surgery_step/limb/attach/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/E = tool - user.visible_message("[user] has attached [target]'s [E.name] to the [E.amputation_point].", \ - "You have attached [target]'s [E.name] to the [E.amputation_point].") + user.visible_message(span_notice("[user] has attached [target]'s [E.name] to the [E.amputation_point]."), \ + span_notice("You have attached [target]'s [E.name] to the [E.amputation_point].")) user.drop_from_inventory(E) E.replaced(target) @@ -74,8 +74,8 @@ /datum/surgery_step/limb/attach/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/E = tool - user.visible_message(" [user]'s hand slips, damaging [target]'s [E.amputation_point]!", \ - " Your hand slips, damaging [target]'s [E.amputation_point]!") + user.visible_message(span_warning(" [user]'s hand slips, damaging [target]'s [E.amputation_point]!"), \ + span_warning(" Your hand slips, damaging [target]'s [E.amputation_point]!")) target.apply_damage(10, BRUTE, null, sharp = TRUE) /////////////////////////////////////////////////////////////// @@ -85,9 +85,9 @@ /datum/surgery_step/limb/connect surgery_name = "Connect Limb" allowed_tools = list( - /obj/item/weapon/surgical/hemostat = 100, \ + /obj/item/surgical/hemostat = 100, \ /obj/item/stack/cable_coil = 75, \ - /obj/item/device/assembly/mousetrap = 20 + /obj/item/assembly/mousetrap = 20 ) can_infect = 1 @@ -100,13 +100,13 @@ /datum/surgery_step/limb/connect/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/E = target.get_organ(target_zone) - user.visible_message("[user] starts connecting tendons and muscles in [target]'s [E.amputation_point] with [tool].", \ - "You start connecting tendons and muscle in [target]'s [E.amputation_point].") + user.visible_message(span_filter_notice("[user] starts connecting tendons and muscles in [target]'s [E.amputation_point] with [tool]."), \ + span_filter_notice("You start connecting tendons and muscle in [target]'s [E.amputation_point].")) /datum/surgery_step/limb/connect/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/E = target.get_organ(target_zone) - user.visible_message("[user] has connected tendons and muscles in [target]'s [E.amputation_point] with [tool].", \ - "You have connected tendons and muscles in [target]'s [E.amputation_point] with [tool].") + user.visible_message(span_notice("[user] has connected tendons and muscles in [target]'s [E.amputation_point] with [tool]."), \ + span_notice("You have connected tendons and muscles in [target]'s [E.amputation_point] with [tool].")) E.status &= ~ORGAN_CUT_AWAY target.update_icons_body() target.updatehealth() @@ -114,8 +114,8 @@ /datum/surgery_step/limb/connect/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/E = tool - user.visible_message(" [user]'s hand slips, damaging [target]'s [E.amputation_point]!", \ - " Your hand slips, damaging [target]'s [E.amputation_point]!") + user.visible_message(span_warning(" [user]'s hand slips, damaging [target]'s [E.amputation_point]!"), \ + span_warning(" Your hand slips, damaging [target]'s [E.amputation_point]!")) target.apply_damage(10, BRUTE, null, sharp = TRUE) /////////////////////////////////////////////////////////////// @@ -138,13 +138,13 @@ return isnull(target.get_organ(target_zone)) /datum/surgery_step/limb/mechanize/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - user.visible_message("[user] starts attaching \the [tool] to [target].", \ - "You start attaching \the [tool] to [target].") + user.visible_message(span_filter_notice("[user] starts attaching \the [tool] to [target]."), \ + span_filter_notice("You start attaching \the [tool] to [target].")) /datum/surgery_step/limb/mechanize/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/robot_parts/L = tool - user.visible_message("[user] has attached \the [tool] to [target].", \ - "You have attached \the [tool] to [target].") + user.visible_message(span_notice("[user] has attached \the [tool] to [target]."), \ + span_notice("You have attached \the [tool] to [target].")) if(L.part) for(var/part_name in L.part) @@ -166,6 +166,6 @@ qdel(tool) /datum/surgery_step/limb/mechanize/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - user.visible_message(" [user]'s hand slips, damaging [target]'s flesh!", \ - " Your hand slips, damaging [target]'s flesh!") + user.visible_message(span_warning(" [user]'s hand slips, damaging [target]'s flesh!"), \ + span_warning(" Your hand slips, damaging [target]'s flesh!")) target.apply_damage(10, BRUTE, null, sharp = TRUE) diff --git a/code/modules/surgery/neck.dm b/code/modules/surgery/neck.dm index 3fc4e00052a..17261d9f364 100644 --- a/code/modules/surgery/neck.dm +++ b/code/modules/surgery/neck.dm @@ -27,9 +27,9 @@ surgery_name = "Mend Vessels" priority = 1 allowed_tools = list( - /obj/item/weapon/surgical/FixOVein = 100, + /obj/item/surgical/FixOVein = 100, /obj/item/stack/cable_coil = 40, - /obj/item/device/assembly/mousetrap = 5) + /obj/item/assembly/mousetrap = 5) min_duration = 80 max_duration = 100 @@ -38,19 +38,19 @@ return ..() && target_zone == BP_HEAD && target.op_stage.brainstem == 0 /datum/surgery_step/brainstem/mend_vessels/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - user.visible_message("[user] starts to mend the blood vessels on [target]'s brainstem with \the [tool].", \ - "You start to mend the blood vessels on [target]'s brainstem with \the [tool].") + user.visible_message(span_filter_notice("[user] starts to mend the blood vessels on [target]'s brainstem with \the [tool]."), \ + span_filter_notice("You start to mend the blood vessels on [target]'s brainstem with \the [tool].")) ..() /datum/surgery_step/brainstem/mend_vessels/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - user.visible_message("[user] has mended the blood vessels on [target]'s brainstem with \the [tool]." , \ - " You have mended the blood vessels on [target]'s brainstem with \the [tool].",) + user.visible_message(span_notice("[user] has mended the blood vessels on [target]'s brainstem with \the [tool].") , \ + span_notice(" You have mended the blood vessels on [target]'s brainstem with \the [tool]."),) target.op_stage.brainstem = 1 /datum/surgery_step/brainstem/mend_vessels/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user]'s hand slips, tearing at [target]'s brainstem with \the [tool]!" , \ - "Your hand slips, tearing at [target]'s brainstem with \the [tool]!" ) + user.visible_message(span_danger("[user]'s hand slips, tearing at [target]'s brainstem with \the [tool]!") , \ + span_danger("Your hand slips, tearing at [target]'s brainstem with \the [tool]!") ) affected.createwound(PIERCE, 10) target.AdjustParalysis(10) @@ -62,9 +62,9 @@ surgery_name = "Drill Vertebrae" priority = 3 //Do this instead of expanding the skull cavity allowed_tools = list( - /obj/item/weapon/surgical/surgicaldrill = 100, - /obj/item/weapon/melee/changeling/arm_blade = 15, - /obj/item/weapon/pickaxe = 5 + /obj/item/surgical/surgicaldrill = 100, + /obj/item/melee/changeling/arm_blade = 15, + /obj/item/pickaxe = 5 ) allowed_procs = list(IS_SCREWDRIVER = 75) @@ -76,22 +76,22 @@ return ..() && target_zone == BP_HEAD && target.op_stage.brainstem == 1 /datum/surgery_step/brainstem/drill_vertebrae/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - user.visible_message("[user] starts to drill around [target]'s brainstem with \the [tool].", \ - "You start to drill around [target]'s brainstem with \the [tool].") + user.visible_message(span_filter_notice("[user] starts to drill around [target]'s brainstem with \the [tool]."), \ + span_filter_notice("You start to drill around [target]'s brainstem with \the [tool].")) ..() /datum/surgery_step/brainstem/drill_vertebrae/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] has drilled around [target]'s brainstem with \the [tool]." , \ - " You have drilled around [target]'s brainstem with \the [tool].",) + user.visible_message(span_notice("[user] has drilled around [target]'s brainstem with \the [tool].") , \ + span_notice(" You have drilled around [target]'s brainstem with \the [tool]."),) target.AdjustParalysis(10) //We're getting Invasive here. This only ticks down when the person is alive, so it's a good side-effect for this step. Rattling the braincase with a drill is not optimal. target.op_stage.brainstem = 2 affected.fracture() //Does not apply damage, simply breaks it if it wasn't already. Doesn't stop a defib on its own. /datum/surgery_step/brainstem/drill_vertebrae/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user]'s hand slips, shredding [target]'s brainstem with \the [tool]!" , \ - "Your hand slips, shredding [target]'s brainstem with \the [tool]!" ) + user.visible_message(span_danger("[user]'s hand slips, shredding [target]'s brainstem with \the [tool]!") , \ + span_danger("Your hand slips, shredding [target]'s brainstem with \the [tool]!") ) affected.createwound(PIERCE, 10) target.AdjustParalysis(15) spawn() @@ -106,8 +106,8 @@ surgery_name = "Remove Bone Chips" priority = 3 //Do this instead of picking around for implants. allowed_tools = list( - /obj/item/weapon/surgical/hemostat = 100, - /obj/item/weapon/melee/changeling/claw = 40) //Surprisingly, claws are kind of okay at picking things out. + /obj/item/surgical/hemostat = 100, + /obj/item/melee/changeling/claw = 40) //Surprisingly, claws are kind of okay at picking things out. allowed_procs = list(IS_WIRECUTTER = 60) @@ -118,20 +118,20 @@ return ..() && target_zone == BP_HEAD && target.op_stage.brainstem == 2 /datum/surgery_step/brainstem/clean_chips/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - user.visible_message("[user] starts to pick around [target]'s brainstem for bone chips with \the [tool].", \ - "You start to pick around [target]'s brainstem for bone chips with \the [tool].") + user.visible_message(span_filter_notice("[user] starts to pick around [target]'s brainstem for bone chips with \the [tool]."), \ + span_filter_notice("You start to pick around [target]'s brainstem for bone chips with \the [tool].")) ..() /datum/surgery_step/brainstem/clean_chips/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - user.visible_message("[user] has cleaned around [target]'s brainstem with \the [tool]." , \ - " You have cleaned around [target]'s brainstem with \the [tool].",) + user.visible_message(span_notice("[user] has cleaned around [target]'s brainstem with \the [tool].") , \ + span_notice(" You have cleaned around [target]'s brainstem with \the [tool]."),) target.AdjustParalysis(10) //Still invasive. target.op_stage.brainstem = 3 /datum/surgery_step/brainstem/clean_chips/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user]'s hand slips, gouging [target]'s brainstem with \the [tool]!" , \ - "Your hand slips, gouging [target]'s brainstem with \the [tool]!" ) + user.visible_message(span_danger("[user]'s hand slips, gouging [target]'s brainstem with \the [tool]!") , \ + span_danger("Your hand slips, gouging [target]'s brainstem with \the [tool]!") ) affected.createwound(CUT, 5) target.AdjustParalysis(10) spawn() @@ -146,10 +146,10 @@ surgery_name = "Mend Spinal Cord" priority = 1 //Do this after IB. allowed_tools = list( - /obj/item/weapon/surgical/FixOVein = 100, + /obj/item/surgical/FixOVein = 100, /obj/item/stack/nanopaste = 50, /obj/item/stack/cable_coil = 40, - /obj/item/device/assembly/mousetrap = 5) + /obj/item/assembly/mousetrap = 5) min_duration = 100 max_duration = 200 @@ -158,21 +158,21 @@ return ..() && target_zone == BP_HEAD && target.op_stage.brainstem == 3 /datum/surgery_step/brainstem/mend_cord/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - user.visible_message("[user] starts to fuse [target]'s spinal cord with \the [tool].", \ - "You start to fuse [target]'s spinal cord with \the [tool].") + user.visible_message(span_filter_notice("[user] starts to fuse [target]'s spinal cord with \the [tool]."), \ + span_filter_notice("You start to fuse [target]'s spinal cord with \the [tool].")) ..() /datum/surgery_step/brainstem/mend_cord/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - user.visible_message("[user] has fused [target]'s spinal cord with \the [tool]." , \ - " You have fused [target]'s spinal cord with \the [tool].",) + user.visible_message(span_notice("[user] has fused [target]'s spinal cord with \the [tool].") , \ + span_notice(" You have fused [target]'s spinal cord with \the [tool]."),) target.op_stage.brainstem = 4 target.AdjustParalysis(5) target.add_modifier(/datum/modifier/franken_sickness, 20 MINUTES) /datum/surgery_step/brainstem/mend_cord/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user]'s hand slips, tearing at [target]'s spinal cord with \the [tool]!" , \ - "Your hand slips, tearing at [target]'s spinal cord with \the [tool]!" ) + user.visible_message(span_danger("[user]'s hand slips, tearing at [target]'s spinal cord with \the [tool]!") , \ + span_danger("Your hand slips, tearing at [target]'s spinal cord with \the [tool]!") ) affected.createwound(PIERCE, 5) target.AdjustParalysis(20) spawn() @@ -187,9 +187,9 @@ surgery_name = "Mend Vertebrae" priority = 3 //Do this instead of fixing bones. allowed_tools = list( - /obj/item/weapon/surgical/bonegel = 100, + /obj/item/surgical/bonegel = 100, /obj/item/stack/nanopaste = 50, - /obj/item/weapon/tape_roll = 5) + /obj/item/tape_roll = 5) min_duration = 100 max_duration = 160 @@ -198,20 +198,20 @@ return ..() && target_zone == BP_HEAD && target.op_stage.brainstem == 4 /datum/surgery_step/brainstem/mend_vertebrae/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - user.visible_message("[user] starts to mend [target]'s opened vertebrae with \the [tool].", \ - "You start to mend [target]'s opened vertebrae with \the [tool].") + user.visible_message(span_filter_notice("[user] starts to mend [target]'s opened vertebrae with \the [tool]."), \ + span_filter_notice("You start to mend [target]'s opened vertebrae with \the [tool].")) ..() /datum/surgery_step/brainstem/mend_vertebrae/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - user.visible_message("[user] has mended [target]'s vertebrae with \the [tool]." , \ - " You have mended [target]'s vertebrae with \the [tool].",) + user.visible_message(span_notice("[user] has mended [target]'s vertebrae with \the [tool].") , \ + span_notice(" You have mended [target]'s vertebrae with \the [tool]."),) target.can_defib = 1 target.op_stage.brainstem = 5 /datum/surgery_step/brainstem/mend_vertebrae/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user]'s hand slips, tearing at [target]'s spinal cord with \the [tool]!" , \ - "Your hand slips, tearing at [target]'s spinal cord with \the [tool]!" ) + user.visible_message(span_danger("[user]'s hand slips, tearing at [target]'s spinal cord with \the [tool]!") , \ + span_danger("Your hand slips, tearing at [target]'s spinal cord with \the [tool]!") ) affected.createwound(PIERCE, 5) target.AdjustParalysis(15) spawn() @@ -226,8 +226,8 @@ surgery_name = "Realign Tissue" priority = 3 //Do this instead of searching for objects in the skull. allowed_tools = list( - /obj/item/weapon/surgical/hemostat = 100, - /obj/item/weapon/melee/changeling/claw = 20) //Claws. Good for digging, not so much for moving. + /obj/item/surgical/hemostat = 100, + /obj/item/melee/changeling/claw = 20) //Claws. Good for digging, not so much for moving. allowed_procs = list(IS_WIRECUTTER = 60) @@ -238,20 +238,20 @@ return ..() && target_zone == BP_HEAD && target.op_stage.brainstem == 5 /datum/surgery_step/brainstem/realign_tissue/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - user.visible_message("[user] starts to realign the tissues in [target]'s skull with \the [tool].", \ - "You start to realign the tissues in [target]'s skull with \the [tool].") + user.visible_message(span_filter_notice("[user] starts to realign the tissues in [target]'s skull with \the [tool]."), \ + span_filter_notice("You start to realign the tissues in [target]'s skull with \the [tool].")) ..() /datum/surgery_step/brainstem/realign_tissue/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - user.visible_message("[user] has realigned the tissues in [target]'s skull back into place with \the [tool]." , \ - " You have realigned the tissues in [target]'s skull back into place with \the [tool].",) + user.visible_message(span_notice("[user] has realigned the tissues in [target]'s skull back into place with \the [tool].") , \ + span_notice(" You have realigned the tissues in [target]'s skull back into place with \the [tool]."),) target.AdjustParalysis(5) //I n v a s i v e target.op_stage.brainstem = 0 //The cycle begins anew. /datum/surgery_step/brainstem/realign_tissue/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user]'s hand slips, gouging [target]'s brainstem with \the [tool]!" , \ - "Your hand slips, gouging [target]'s brainstem with \the [tool]!" ) + user.visible_message(span_danger("[user]'s hand slips, gouging [target]'s brainstem with \the [tool]!") , \ + span_danger("Your hand slips, gouging [target]'s brainstem with \the [tool]!") ) affected.createwound(CUT, 5) target.AdjustParalysis(30) spawn() diff --git a/code/modules/surgery/organ_ripper_vr.dm b/code/modules/surgery/organ_ripper_vr.dm index 0fa8f751c59..a0d89accb22 100644 --- a/code/modules/surgery/organ_ripper_vr.dm +++ b/code/modules/surgery/organ_ripper_vr.dm @@ -12,7 +12,7 @@ max_duration = 80 excludes_steps = list(/datum/surgery_step/generic/cut_open) //These things can already do the first step! -/datum/surgery_step/generic/ripper/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/weapon/surgical/scalpel/ripper/tool) +/datum/surgery_step/generic/ripper/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/surgical/scalpel/ripper/tool) if (!..()) return 0 @@ -30,7 +30,7 @@ /datum/surgery_step/generic/ripper/tear_vessel surgery_name = "Tear Blood Vessel" allowed_tools = list( - /obj/item/weapon/surgical/scalpel/ripper = 100 + /obj/item/surgical/scalpel/ripper = 100 ) /datum/surgery_step/generic/ripper/tear_vessel/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) @@ -41,8 +41,8 @@ /datum/surgery_step/generic/ripper/tear_vessel/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] has ripped [target]'s [affected] \the [tool], blood and viscera spraying everywhere!", \ - "You have ripped [target]'s [target.op_stage.current_organ] out with \the [tool], spraying blood all through the room!") + user.visible_message(span_notice("[user] has ripped [target]'s [affected] \the [tool], blood and viscera spraying everywhere!"), \ + span_notice("You have ripped [target]'s [target.op_stage.current_organ] out with \the [tool], spraying blood all through the room!")) var/datum/wound/internal_bleeding/I = new (30) //splurt. New severed artery. affected.wounds += I affected.owner.custom_pain("You feel something rip in your [affected.name]!", 1) @@ -52,8 +52,8 @@ /datum/surgery_step/generic/ripper/tear_vessel/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user]'s hand slips, damaging [target]'s [affected.name] with \the [tool]!", \ - "Your hand slips, damaging [target]'s [affected.name] with \the [tool]!") + user.visible_message(span_warning("[user]'s hand slips, damaging [target]'s [affected.name] with \the [tool]!"), \ + span_warning("Your hand slips, damaging [target]'s [affected.name] with \the [tool]!")) affected.createwound(BRUISE, 20) //Only bruised...Sad. @@ -61,7 +61,7 @@ /datum/surgery_step/generic/ripper/break_bone surgery_name = "Break Skeletal Structure" allowed_tools = list( - /obj/item/weapon/surgical/scalpel/ripper = 100 + /obj/item/surgical/scalpel/ripper = 100 ) /datum/surgery_step/generic/ripper/break_bone/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) @@ -73,16 +73,16 @@ /datum/surgery_step/generic/ripper/break_bone/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] has destroyed the bones within [target]'s [affected] with \the [tool]", \ - "You have destroyed the bones in [target]'s [affected] with \the [tool]!") + user.visible_message(span_notice("[user] has destroyed the bones within [target]'s [affected] with \the [tool]"), \ + span_notice("You have destroyed the bones in [target]'s [affected] with \the [tool]!")) affected.fracture() affected.createwound(BRUISE, 20) target.emote("scream") //Hope you put them under... /datum/surgery_step/generic/ripper/tear_vessel/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user]'s hand slips, damaging [target]'s [affected.name] with \the [tool]!", \ - "Your hand slips, damaging [target]'s [affected.name] with \the [tool]!") + user.visible_message(span_warning("[user]'s hand slips, damaging [target]'s [affected.name] with \the [tool]!"), \ + span_warning("Your hand slips, damaging [target]'s [affected.name] with \the [tool]!")) affected.createwound(BRUISE, 20) //Mutilate Organ @@ -90,7 +90,7 @@ /datum/surgery_step/generic/ripper/destroy_organ surgery_name = "Mutilate Organ" allowed_tools = list( - /obj/item/weapon/surgical/scalpel/ripper = 100 + /obj/item/surgical/scalpel/ripper = 100 ) /datum/surgery_step/generic/ripper/destroy_organ/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) @@ -119,7 +119,7 @@ var/organ_to_destroy = tgui_input_list(user, "Which organ do you want to mutilate?", "Organ Choice", removable_organs) if(!organ_to_destroy) //They decided to cancel. Let's slowly pull the tool back... - to_chat(user, "You decide against mutilating any organs.") + to_chat(user, span_warning("You decide against mutilating any organs.")) user.visible_message("[user] starts pulling their [tool] out from [target]'s [affected.name] with \the [tool].", \ "You start pulling your \the [tool] out of [target]'s [affected.name].") target.custom_pain("Someone's moving something around in your [affected.name]!", 100) @@ -134,13 +134,13 @@ /datum/surgery_step/generic/ripper/destroy_organ/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) if(!target.op_stage.current_organ) - user.visible_message("[user] has pulled their \the [tool] from [target]'s [affected.name].", \ - "You have pulled your [tool] out from [target]'s [affected].") + user.visible_message(span_notice("[user] has pulled their \the [tool] from [target]'s [affected.name]."), \ + span_notice("You have pulled your [tool] out from [target]'s [affected].")) // Damage the organ! if(target.op_stage.current_organ) - user.visible_message("[user] has ripped [target]'s [target.op_stage.current_organ] out with \the [tool].", \ - "You have ripped [target]'s [target.op_stage.current_organ] out with \the [tool].") + user.visible_message(span_notice("[user] has ripped [target]'s [target.op_stage.current_organ] out with \the [tool]."), \ + span_notice("You have ripped [target]'s [target.op_stage.current_organ] out with \the [tool].")) var/obj/item/organ/O = target.internal_organs_by_name[target.op_stage.current_organ] if(O && istype(O)) O.take_damage(10) @@ -150,8 +150,8 @@ /datum/surgery_step/generic/ripper/destroy_organ/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user]'s hand slips, damaging [target]'s [affected.name] with \the [tool]!", \ - "Your hand slips, damaging [target]'s [affected.name] with \the [tool]!") + user.visible_message(span_warning("[user]'s hand slips, damaging [target]'s [affected.name] with \the [tool]!"), \ + span_warning("Your hand slips, damaging [target]'s [affected.name] with \the [tool]!")) affected.createwound(BRUISE, 20) /////////////////////////////////////////////////////////////// @@ -162,7 +162,7 @@ surgery_name = "Rip Out Organ" allowed_tools = list( - /obj/item/weapon/surgical/scalpel/ripper = 100 + /obj/item/surgical/scalpel/ripper = 100 ) priority = 3 @@ -198,7 +198,7 @@ var/organ_to_remove = tgui_input_list(user, "Which organ do you want to tear out?", "Organ Choice", removable_organs) if(!organ_to_remove) //They decided to cancel. Let's slowly pull the tool back... - to_chat(user, "You decide against ripping out any organs.") + to_chat(user, span_warning("You decide against ripping out any organs.")) user.visible_message("[user] starts pulling their [tool] out from [target]'s [affected.name] with \the [tool].", \ "You start pulling your \the [tool] out of [target]'s [affected.name].") target.custom_pain("Someone's moving something around in your [affected.name]!", 100) @@ -212,12 +212,12 @@ /datum/surgery_step/generic/ripper/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) if(!target.op_stage.current_organ) - user.visible_message("[user] has pulled their \the [tool] from [target]'s [affected.name].", \ - "You have pulled your [tool] out from [target]'s [affected].") + user.visible_message(span_notice("[user] has pulled their \the [tool] from [target]'s [affected.name]."), \ + span_notice("You have pulled your [tool] out from [target]'s [affected].")) if(target.op_stage.current_organ) - user.visible_message("[user] has ripped [target]'s [target.op_stage.current_organ] out with \the [tool].", \ - "You have ripped [target]'s [target.op_stage.current_organ] out with \the [tool].") + user.visible_message(span_notice("[user] has ripped [target]'s [target.op_stage.current_organ] out with \the [tool]."), \ + span_notice("You have ripped [target]'s [target.op_stage.current_organ] out with \the [tool].")) var/obj/item/organ/O = target.internal_organs_by_name[target.op_stage.current_organ] if(O && istype(O)) O.removed(user) @@ -227,6 +227,6 @@ /datum/surgery_step/internal/rip_organ/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user]'s hand slips, damaging [target]'s [affected.name] with \the [tool]!", \ - "Your hand slips, damaging [target]'s [affected.name] with \the [tool]!") + user.visible_message(span_warning("[user]'s hand slips, damaging [target]'s [affected.name] with \the [tool]!"), \ + span_warning("Your hand slips, damaging [target]'s [affected.name] with \the [tool]!")) affected.createwound(BRUISE, 20) diff --git a/code/modules/surgery/organs_internal.dm b/code/modules/surgery/organs_internal.dm index 998301154f5..119baabfcd3 100644 --- a/code/modules/surgery/organs_internal.dm +++ b/code/modules/surgery/organs_internal.dm @@ -58,8 +58,8 @@ for(var/obj/item/organ/I in affected.internal_organs) if(I && (I.damage > 0 || I.status == ORGAN_DEAD)) if(!(I.robotic >= ORGAN_ROBOT)) - user.visible_message("[user] starts treating damage to [target]'s [I.name] with [tool_name].", \ - "You start treating damage to [target]'s [I.name] with [tool_name]." ) + user.visible_message(span_filter_notice("[user] starts treating damage to [target]'s [I.name] with [tool_name]."), \ + span_filter_notice("You start treating damage to [target]'s [I.name] with [tool_name].") ) target.custom_pain("The pain in your [affected.name] is living hell!", 100) ..() @@ -78,10 +78,10 @@ for(var/obj/item/organ/internal/I in affected.internal_organs) if(I && (I.damage > 0 || I.status == ORGAN_DEAD)) if(!(I.robotic >= ORGAN_ROBOT)) - user.visible_message("[user] treats damage to [target]'s [I.name] with [tool_name].", \ - "You treat damage to [target]'s [I.name] with [tool_name]." ) + user.visible_message(span_notice("[user] treats damage to [target]'s [I.name] with [tool_name]."), \ + span_notice("You treat damage to [target]'s [I.name] with [tool_name].") ) if(I.organ_tag == O_BRAIN && I.status == ORGAN_DEAD && target.can_defib == 0) //Let people know they still got more work to get the brain back into working order. - to_chat(user, "You fix their [I] but the neurological structure is still heavily damaged and in need of repair.") + to_chat(user, span_warning("You fix their [I] but the neurological structure is still heavily damaged and in need of repair.")) I.damage = 0 I.status = 0 if(I.organ_tag == O_EYES) @@ -94,8 +94,8 @@ return var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user]'s hand slips, getting mess and tearing the inside of [target]'s [affected.name] with \the [tool]!", \ - "Your hand slips, getting mess and tearing the inside of [target]'s [affected.name] with \the [tool]!") + user.visible_message(span_warning("[user]'s hand slips, getting mess and tearing the inside of [target]'s [affected.name] with \the [tool]!"), \ + span_warning("Your hand slips, getting mess and tearing the inside of [target]'s [affected.name] with \the [tool]!")) var/dam_amt = 2 if (istype(tool, /obj/item/stack/medical/advanced/bruise_pack)) @@ -121,8 +121,8 @@ allowed_tools = list( /obj/item/stack/nanopaste = 100, /obj/item/stack/cable_coil = 75, - /obj/item/weapon/tool/wrench = 50, - /obj/item/weapon/storage/toolbox = 10 //Percussive Maintenance + /obj/item/tool/wrench = 50, + /obj/item/storage/toolbox = 10 //Percussive Maintenance ) min_duration = 70 @@ -162,8 +162,8 @@ for(var/obj/item/organ/I in affected.internal_organs) if(I && I.damage > 0) if(I.robotic >= ORGAN_ROBOT) - user.visible_message("[user] repairs [target]'s [I.name] with [tool].", \ - "You repair [target]'s [I.name] with [tool]." ) + user.visible_message(span_notice("[user] repairs [target]'s [I.name] with [tool]."), \ + span_notice("You repair [target]'s [I.name] with [tool].") ) I.damage = 0 if(I.organ_tag == O_EYES) target.sdisabilities &= ~BLIND @@ -173,8 +173,8 @@ return var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user]'s hand slips, gumming up the mechanisms inside of [target]'s [affected.name] with \the [tool]!", \ - "Your hand slips, gumming up the mechanisms inside of [target]'s [affected.name] with \the [tool]!") + user.visible_message(span_warning("[user]'s hand slips, gumming up the mechanisms inside of [target]'s [affected.name] with \the [tool]!"), \ + span_warning("Your hand slips, gumming up the mechanisms inside of [target]'s [affected.name] with \the [tool]!")) target.adjustBruteLoss(5) @@ -194,9 +194,9 @@ surgery_name = "Detach Organ" allowed_tools = list( - /obj/item/weapon/surgical/scalpel = 100, \ - /obj/item/weapon/material/knife = 75, \ - /obj/item/weapon/material/shard = 50, \ + /obj/item/surgical/scalpel = 100, \ + /obj/item/material/knife = 75, \ + /obj/item/material/shard = 50, \ ) min_duration = 90 @@ -233,14 +233,14 @@ /datum/surgery_step/internal/detatch_organ/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] starts to separate [target]'s [target.op_stage.current_organ] with \the [tool].", \ - "You start to separate [target]'s [target.op_stage.current_organ] with \the [tool]." ) + user.visible_message(span_filter_notice("[user] starts to separate [target]'s [target.op_stage.current_organ] with \the [tool]."), \ + span_filter_notice("You start to separate [target]'s [target.op_stage.current_organ] with \the [tool].") ) target.custom_pain("The pain in your [affected.name] is living hell!", 100) ..() /datum/surgery_step/internal/detatch_organ/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - user.visible_message("[user] has separated [target]'s [target.op_stage.current_organ] with \the [tool]." , \ - "You have separated [target]'s [target.op_stage.current_organ] with \the [tool].") + user.visible_message(span_notice("[user] has separated [target]'s [target.op_stage.current_organ] with \the [tool].") , \ + span_notice("You have separated [target]'s [target.op_stage.current_organ] with \the [tool].")) var/obj/item/organ/I = target.internal_organs_by_name[target.op_stage.current_organ] if(I && istype(I)) @@ -248,8 +248,8 @@ /datum/surgery_step/internal/detatch_organ/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user]'s hand slips, slicing an artery inside [target]'s [affected.name] with \the [tool]!", \ - "Your hand slips, slicing an artery inside [target]'s [affected.name] with \the [tool]!") + user.visible_message(span_warning("[user]'s hand slips, slicing an artery inside [target]'s [affected.name] with \the [tool]!"), \ + span_warning("Your hand slips, slicing an artery inside [target]'s [affected.name] with \the [tool]!")) affected.createwound(CUT, rand(30,50), 1) /////////////////////////////////////////////////////////////// @@ -260,8 +260,8 @@ surgery_name = "Remove Organ" allowed_tools = list( - /obj/item/weapon/surgical/hemostat = 100, \ - /obj/item/weapon/material/kitchen/utensil/fork = 20 + /obj/item/surgical/hemostat = 100, \ + /obj/item/material/kitchen/utensil/fork = 20 ) allowed_procs = list(IS_WIRECUTTER = 100) //FBP code also uses this, so let's be nice. Roboticists won't know to use hemostats. @@ -297,27 +297,27 @@ var/organ_to_remove = tgui_input_list(user, "Which organ do you want to remove?", "Organ Choice", removable_organs) if(!organ_to_remove) //They chose cancel! - to_chat(user, "You decide against preparing any organs for removal.") - user.visible_message("[user] starts pulling \the [tool] from [target]'s [affected].", \ - "You start pulling \the [tool] from [target]'s [affected].") + to_chat(user, span_notice("You decide against preparing any organs for removal.")) + user.visible_message(span_filter_notice("[user] starts pulling \the [tool] from [target]'s [affected]."), \ + span_filter_notice("You start pulling \the [tool] from [target]'s [affected].")) target.op_stage.current_organ = organ_to_remove - user.visible_message("[user] starts removing [target]'s [target.op_stage.current_organ] with \the [tool].", \ - "You start removing [target]'s [target.op_stage.current_organ] with \the [tool].") + user.visible_message(span_filter_notice("[user] starts removing [target]'s [target.op_stage.current_organ] with \the [tool]."), \ + span_filter_notice("You start removing [target]'s [target.op_stage.current_organ] with \the [tool].")) target.custom_pain("Someone's ripping out your [target.op_stage.current_organ]!", 100) ..() /datum/surgery_step/internal/remove_organ/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) if(!target.op_stage.current_organ) //They chose to remove their tool instead. - user.visible_message("[user] has removed \the [tool] from [target]'s [affected].", \ - "You have removed \the [tool] from [target]'s [affected].") + user.visible_message(span_notice("[user] has removed \the [tool] from [target]'s [affected]."), \ + span_notice("You have removed \the [tool] from [target]'s [affected].")) // Extract the organ! if(target.op_stage.current_organ) - user.visible_message("[user] has removed [target]'s [target.op_stage.current_organ] with \the [tool].", \ - "You have removed [target]'s [target.op_stage.current_organ] with \the [tool].") + user.visible_message(span_notice("[user] has removed [target]'s [target.op_stage.current_organ] with \the [tool]."), \ + span_notice("You have removed [target]'s [target.op_stage.current_organ] with \the [tool].")) var/obj/item/organ/O = target.internal_organs_by_name[target.op_stage.current_organ] if(O && istype(O)) O.removed(user) @@ -325,8 +325,8 @@ /datum/surgery_step/internal/remove_organ/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user]'s hand slips, damaging [target]'s [affected.name] with \the [tool]!", \ - "Your hand slips, damaging [target]'s [affected.name] with \the [tool]!") + user.visible_message(span_warning("[user]'s hand slips, damaging [target]'s [affected.name] with \the [tool]!"), \ + span_warning("Your hand slips, damaging [target]'s [affected.name] with \the [tool]!")) affected.createwound(BRUISE, 20) /////////////////////////////////////////////////////////////// @@ -356,11 +356,11 @@ return 0 if((affected.robotic >= ORGAN_ROBOT) && !(O.robotic >= ORGAN_ROBOT)) - to_chat(user, "You cannot install a naked organ into a robotic body.") + to_chat(user, span_danger("You cannot install a naked organ into a robotic body.")) return SURGERY_FAILURE if(!target.species) - to_chat(user, "You have no idea what species this person is. Report this on the bug tracker.") + to_chat(user, span_danger("You have no idea what species this person is. Report this on the bug tracker.")) return SURGERY_FAILURE var/o_is = (O.gender == PLURAL) ? "are" : "is" @@ -368,43 +368,43 @@ var/o_do = (O.gender == PLURAL) ? "don't" : "doesn't" if(O.damage > (O.max_damage * 0.75)) - to_chat(user, "\The [O.organ_tag] [o_is] in no state to be transplanted.") + to_chat(user, span_warning("\The [O.organ_tag] [o_is] in no state to be transplanted.")) return SURGERY_FAILURE if(!target.internal_organs_by_name[O.organ_tag]) organ_missing = 1 else - to_chat(user, "\The [target] already has [o_a][O.organ_tag].") + to_chat(user, span_warning("\The [target] already has [o_a][O.organ_tag].")) return SURGERY_FAILURE if(O && affected.organ_tag == O.parent_organ) organ_compatible = 1 else - to_chat(user, "\The [O.organ_tag] [o_do] normally go in \the [affected.name].") + to_chat(user, span_warning("\The [O.organ_tag] [o_do] normally go in \the [affected.name].")) return SURGERY_FAILURE return ..() && organ_missing && organ_compatible /datum/surgery_step/internal/replace_organ/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] starts transplanting \the [tool] into [target]'s [affected.name].", \ - "You start transplanting \the [tool] into [target]'s [affected.name].") + user.visible_message(span_filter_notice("[user] starts transplanting \the [tool] into [target]'s [affected.name]."), \ + span_filter_notice("You start transplanting \the [tool] into [target]'s [affected.name].")) target.custom_pain("Someone's rooting around in your [affected.name]!", 100) ..() /datum/surgery_step/internal/replace_organ/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] has transplanted \the [tool] into [target]'s [affected.name].", \ - "You have transplanted \the [tool] into [target]'s [affected.name].") + user.visible_message(span_notice("[user] has transplanted \the [tool] into [target]'s [affected.name]."), \ + span_notice("You have transplanted \the [tool] into [target]'s [affected.name].")) var/obj/item/organ/O = tool if(istype(O)) user.remove_from_mob(O) O.replaced(target,affected) /datum/surgery_step/internal/replace_organ/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - user.visible_message("[user]'s hand slips, damaging \the [tool]!", \ - "Your hand slips, damaging \the [tool]!") + user.visible_message(span_warning("[user]'s hand slips, damaging \the [tool]!"), \ + span_warning("Your hand slips, damaging \the [tool]!")) var/obj/item/organ/I = tool if(istype(I)) I.take_damage(rand(3,5),0) @@ -416,7 +416,7 @@ /datum/surgery_step/internal/attach_organ surgery_name = "Attach Organ" allowed_tools = list( - /obj/item/weapon/surgical/FixOVein = 100, \ + /obj/item/surgical/FixOVein = 100, \ /obj/item/stack/cable_coil = 75 ) @@ -446,14 +446,14 @@ return ..() /datum/surgery_step/internal/attach_organ/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - user.visible_message("[user] begins reattaching [target]'s [target.op_stage.current_organ] with \the [tool].", \ - "You start reattaching [target]'s [target.op_stage.current_organ] with \the [tool].") + user.visible_message(span_filter_notice("[user] begins reattaching [target]'s [target.op_stage.current_organ] with \the [tool]."), \ + span_filter_notice("You start reattaching [target]'s [target.op_stage.current_organ] with \the [tool].")) target.custom_pain("Someone's digging needles into your [target.op_stage.current_organ]!", 100) ..() /datum/surgery_step/internal/attach_organ/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - user.visible_message("[user] has reattached [target]'s [target.op_stage.current_organ] with \the [tool]." , \ - "You have reattached [target]'s [target.op_stage.current_organ] with \the [tool].") + user.visible_message(span_notice("[user] has reattached [target]'s [target.op_stage.current_organ] with \the [tool].") , \ + span_notice("You have reattached [target]'s [target.op_stage.current_organ] with \the [tool].")) var/obj/item/organ/I = target.internal_organs_by_name[target.op_stage.current_organ] if(I && istype(I)) @@ -461,6 +461,6 @@ /datum/surgery_step/internal/attach_organ/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user]'s hand slips, damaging the flesh in [target]'s [affected.name] with \the [tool]!", \ - "Your hand slips, damaging the flesh in [target]'s [affected.name] with \the [tool]!") + user.visible_message(span_warning("[user]'s hand slips, damaging the flesh in [target]'s [affected.name] with \the [tool]!"), \ + span_warning("Your hand slips, damaging the flesh in [target]'s [affected.name] with \the [tool]!")) affected.createwound(BRUISE, 20) diff --git a/code/modules/surgery/other.dm b/code/modules/surgery/other.dm index 5b15d49d1a5..7b75f822777 100644 --- a/code/modules/surgery/other.dm +++ b/code/modules/surgery/other.dm @@ -11,7 +11,7 @@ surgery_name = "Fix Vein" priority = 2 allowed_tools = list( - /obj/item/weapon/surgical/FixOVein = 100, \ + /obj/item/surgical/FixOVein = 100, \ /obj/item/stack/cable_coil = 75 ) can_infect = 1 @@ -37,15 +37,15 @@ /datum/surgery_step/fix_vein/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] starts patching the damaged vein in [target]'s [affected.name] with \the [tool]." , \ - "You start patching the damaged vein in [target]'s [affected.name] with \the [tool].") + user.visible_message(span_filter_notice("[user] starts patching the damaged vein in [target]'s [affected.name] with \the [tool].") , \ + span_filter_notice("You start patching the damaged vein in [target]'s [affected.name] with \the [tool].")) target.custom_pain("The pain in [affected.name] is unbearable!", 100) ..() /datum/surgery_step/fix_vein/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] has patched the damaged vein in [target]'s [affected.name] with \the [tool].", \ - "You have patched the damaged vein in [target]'s [affected.name] with \the [tool].") + user.visible_message(span_notice("[user] has patched the damaged vein in [target]'s [affected.name] with \the [tool]."), \ + span_notice("You have patched the damaged vein in [target]'s [affected.name] with \the [tool].")) for(var/datum/wound/W in affected.wounds) if(W.internal) affected.wounds -= W @@ -54,8 +54,8 @@ /datum/surgery_step/fix_vein/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user]'s hand slips, smearing [tool] in the incision in [target]'s [affected.name]!" , \ - "Your hand slips, smearing [tool] in the incision in [target]'s [affected.name]!") + user.visible_message(span_danger("[user]'s hand slips, smearing [tool] in the incision in [target]'s [affected.name]!") , \ + span_danger("Your hand slips, smearing [tool] in the incision in [target]'s [affected.name]!")) affected.take_damage(5, 0) /////////////////////////////////////////////////////////////// @@ -65,9 +65,9 @@ surgery_name = "Remove Dead Tissue" priority = 2 allowed_tools = list( - /obj/item/weapon/surgical/scalpel = 100, \ - /obj/item/weapon/material/knife = 75, \ - /obj/item/weapon/material/shard = 50, \ + /obj/item/surgical/scalpel = 100, \ + /obj/item/material/knife = 75, \ + /obj/item/material/shard = 50, \ ) can_infect = 1 @@ -91,21 +91,21 @@ /datum/surgery_step/fix_dead_tissue/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] starts cutting away necrotic tissue in [target]'s [affected.name] with \the [tool]." , \ - "You start cutting away necrotic tissue in [target]'s [affected.name] with \the [tool].") + user.visible_message(span_filter_notice("[user] starts cutting away necrotic tissue in [target]'s [affected.name] with \the [tool].") , \ + span_filter_notice("You start cutting away necrotic tissue in [target]'s [affected.name] with \the [tool].")) target.custom_pain("The pain in [affected.name] is unbearable!", 100) ..() /datum/surgery_step/fix_dead_tissue/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] has cut away necrotic tissue in [target]'s [affected.name] with \the [tool].", \ - "You have cut away necrotic tissue in [target]'s [affected.name] with \the [tool].") + user.visible_message(span_notice("[user] has cut away necrotic tissue in [target]'s [affected.name] with \the [tool]."), \ + span_notice("You have cut away necrotic tissue in [target]'s [affected.name] with \the [tool].")) affected.open = 3 /datum/surgery_step/fix_dead_tissue/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user]'s hand slips, slicing an artery inside [target]'s [affected.name] with \the [tool]!", \ - "Your hand slips, slicing an artery inside [target]'s [affected.name] with \the [tool]!") + user.visible_message(span_danger("[user]'s hand slips, slicing an artery inside [target]'s [affected.name] with \the [tool]!"), \ + span_danger("Your hand slips, slicing an artery inside [target]'s [affected.name] with \the [tool]!")) affected.createwound(CUT, 20, 1) /////////////////////////////////////////////////////////////// @@ -115,11 +115,11 @@ surgery_name = "Treat Necrosis" priority = 2 allowed_tools = list( - /obj/item/weapon/reagent_containers/dropper = 100, - /obj/item/weapon/reagent_containers/glass/bottle = 75, - /obj/item/weapon/reagent_containers/glass/beaker = 75, - /obj/item/weapon/reagent_containers/spray = 50, - /obj/item/weapon/reagent_containers/glass/bucket = 50, + /obj/item/reagent_containers/dropper = 100, + /obj/item/reagent_containers/glass/bottle = 75, + /obj/item/reagent_containers/glass/beaker = 75, + /obj/item/reagent_containers/spray = 50, + /obj/item/reagent_containers/glass/bucket = 50, ) can_infect = 0 @@ -129,10 +129,10 @@ max_duration = 60 /datum/surgery_step/treat_necrosis/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - if (!istype(tool, /obj/item/weapon/reagent_containers)) + if (!istype(tool, /obj/item/reagent_containers)) return 0 - var/obj/item/weapon/reagent_containers/container = tool + var/obj/item/reagent_containers/container = tool if(!container.reagents.has_reagent("peridaxon")) return 0 @@ -149,39 +149,39 @@ /datum/surgery_step/treat_necrosis/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] starts applying medication to the affected tissue in [target]'s [affected.name] with \the [tool]." , \ - "You start applying medication to the affected tissue in [target]'s [affected.name] with \the [tool].") + user.visible_message(span_filter_notice("[user] starts applying medication to the affected tissue in [target]'s [affected.name] with \the [tool].") , \ + span_filter_notice("You start applying medication to the affected tissue in [target]'s [affected.name] with \the [tool].")) target.custom_pain("Something in your [affected.name] is causing you a lot of pain!", 50) ..() /datum/surgery_step/treat_necrosis/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - if (!istype(tool, /obj/item/weapon/reagent_containers)) + if (!istype(tool, /obj/item/reagent_containers)) return - var/obj/item/weapon/reagent_containers/container = tool + var/obj/item/reagent_containers/container = tool var/trans = container.reagents.trans_to_mob(target, container.amount_per_transfer_from_this, CHEM_BLOOD) //technically it's contact, but the reagents are being applied to internal tissue if (trans > 0) affected.status &= ~ORGAN_DEAD affected.owner.update_icons_body() - user.visible_message("[user] applies [trans] units of the solution to affected tissue in [target]'s [affected.name].", \ - "You apply [trans] units of the solution to affected tissue in [target]'s [affected.name] with \the [tool].") + user.visible_message(span_notice("[user] applies [trans] units of the solution to affected tissue in [target]'s [affected.name]."), \ + span_notice("You apply [trans] units of the solution to affected tissue in [target]'s [affected.name] with \the [tool].")) /datum/surgery_step/treat_necrosis/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - if (!istype(tool, /obj/item/weapon/reagent_containers)) + if (!istype(tool, /obj/item/reagent_containers)) return - var/obj/item/weapon/reagent_containers/container = tool + var/obj/item/reagent_containers/container = tool var/trans = container.reagents.trans_to_mob(target, container.amount_per_transfer_from_this, CHEM_BLOOD) - user.visible_message("[user]'s hand slips, applying [trans] units of the solution to the wrong place in [target]'s [affected.name] with the [tool]!" , \ - "Your hand slips, applying [trans] units of the solution to the wrong place in [target]'s [affected.name] with the [tool]!") + user.visible_message(span_danger("[user]'s hand slips, applying [trans] units of the solution to the wrong place in [target]'s [affected.name] with the [tool]!") , \ + span_danger("Your hand slips, applying [trans] units of the solution to the wrong place in [target]'s [affected.name] with the [tool]!")) //no damage or anything, just wastes medicine @@ -192,9 +192,9 @@ /datum/surgery_step/hardsuit surgery_name = "Remove Hardsuit" allowed_tools = list( - /obj/item/weapon/weldingtool = 80, - /obj/item/weapon/surgical/circular_saw = 60, - /obj/item/weapon/pickaxe/plasmacutter = 100 + /obj/item/weldingtool = 80, + /obj/item/surgical/circular_saw = 60, + /obj/item/pickaxe/plasmacutter = 100 ) req_open = 0 @@ -207,35 +207,35 @@ /datum/surgery_step/hardsuit/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) if(!istype(target)) return 0 - if(istype(tool,/obj/item/weapon/weldingtool)) - var/obj/item/weapon/weldingtool/welder = tool + if(istype(tool,/obj/item/weldingtool)) + var/obj/item/weldingtool/welder = tool if(!welder.isOn() || !welder.remove_fuel(1,user)) return 0 - return (target_zone == BP_TORSO) && ((istype(target.back, /obj/item/weapon/rig) && !(target.back.canremove)) || (istype(target.belt, /obj/item/weapon/rig) && !(target.belt.canremove))) + return (target_zone == BP_TORSO) && ((istype(target.back, /obj/item/rig) && !(target.back.canremove)) || (istype(target.belt, /obj/item/rig) && !(target.belt.canremove))) /datum/surgery_step/hardsuit/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - var/obj/item/weapon/rig/rig = target.back + var/obj/item/rig/rig = target.back if(!istype(rig)) rig = target.belt if(!istype(rig)) return - user.visible_message("[user] starts cutting through the support systems of \the [rig] on [target] with \the [tool]." , \ - "You start cutting through the support systems of \the [rig] on [target] with \the [tool].") + user.visible_message(span_filter_notice("[user] starts cutting through the support systems of \the [rig] on [target] with \the [tool].") , \ + span_filter_notice("You start cutting through the support systems of \the [rig] on [target] with \the [tool].")) ..() /datum/surgery_step/hardsuit/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - var/obj/item/weapon/rig/rig = target.back + var/obj/item/rig/rig = target.back if(!istype(rig)) rig = target.belt if(!istype(rig)) return rig.cut_suit() - user.visible_message("[user] has cut through the support systems of \the [rig] on [target] with \the [tool].", \ - "You have cut through the support systems of \the [rig] on [target] with \the [tool].") + user.visible_message(span_notice("[user] has cut through the support systems of \the [rig] on [target] with \the [tool]."), \ + span_notice("You have cut through the support systems of \the [rig] on [target] with \the [tool].")) /datum/surgery_step/hardsuit/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - user.visible_message("[user]'s [tool] can't quite seem to get through the metal...", \ - "\The [tool] can't quite seem to get through the metal. It's weakening, though - try again.") + user.visible_message(span_danger("[user]'s [tool] can't quite seem to get through the metal..."), \ + span_danger("\The [tool] can't quite seem to get through the metal. It's weakening, though - try again.")) /////////////////////////////////////////// // De-Husking Surgery // @@ -263,7 +263,7 @@ /datum/surgery_step/dehusk/structinitial surgery_name = "Create Structure" allowed_tools = list( - /obj/item/weapon/surgical/bioregen = 100 + /obj/item/surgical/bioregen = 100 ) min_duration = 90 max_duration = 120 @@ -272,20 +272,20 @@ return ..() && target.op_stage.dehusk == 0 /datum/surgery_step/dehusk/structinitial/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - user.visible_message("[user] begins to create a fleshy but rigid looking mesh over gaps in [target]'s flesh with \the [tool].", \ - "You begin to create a fleshy but rigid looking mesh over gaps in [target]'s flesh with \the [tool].") + user.visible_message(span_notice("[user] begins to create a fleshy but rigid looking mesh over gaps in [target]'s flesh with \the [tool]."), \ + span_notice("You begin to create a fleshy but rigid looking mesh over gaps in [target]'s flesh with \the [tool].")) ..() /datum/surgery_step/dehusk/structinitial/end_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - user.visible_message("[user] creates a fleshy but rigid looking mesh over gaps in [target]'s flesh with \the [tool].", \ - "You create a fleshy but rigid looking mesh over gaps in [target]'s flesh with \the [tool].") + user.visible_message(span_notice("[user] creates a fleshy but rigid looking mesh over gaps in [target]'s flesh with \the [tool]."), \ + span_notice("You create a fleshy but rigid looking mesh over gaps in [target]'s flesh with \the [tool].")) target.op_stage.dehusk = 1 ..() /datum/surgery_step/dehusk/structinitial/fail_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user]'s hand slips, and the mesh falls, with \the [tool] scraping [target]'s body.", \ - "Your hand slips, and the mesh falls, with \the [tool] scraping [target]'s body.") + user.visible_message(span_danger("[user]'s hand slips, and the mesh falls, with \the [tool] scraping [target]'s body."), \ + span_danger("Your hand slips, and the mesh falls, with \the [tool] scraping [target]'s body.")) affected.createwound(CUT, 15) affected.createwound(BRUISE, 10) ..() @@ -293,9 +293,9 @@ /datum/surgery_step/dehusk/relocateflesh surgery_name = "Relocate Flesh" allowed_tools = list( - /obj/item/weapon/surgical/hemostat = 100, \ + /obj/item/surgical/hemostat = 100, \ /obj/item/stack/cable_coil = 75, \ - /obj/item/device/assembly/mousetrap = 20 + /obj/item/assembly/mousetrap = 20 ) min_duration = 90 max_duration = 120 @@ -304,20 +304,20 @@ return ..() && target.op_stage.dehusk == 1 /datum/surgery_step/dehusk/relocateflesh/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - user.visible_message("[user] begins to relocate some of [target]'s flesh with \the [tool], using it to fill in gaps.", \ - "You begin to relocate some of [target]'s flesh with \the [tool], using it to fill in gaps.") + user.visible_message(span_notice("[user] begins to relocate some of [target]'s flesh with \the [tool], using it to fill in gaps."), \ + span_notice("You begin to relocate some of [target]'s flesh with \the [tool], using it to fill in gaps.")) ..() /datum/surgery_step/dehusk/relocateflesh/end_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - user.visible_message("[user] relocates some of [target]'s flesh with \the [tool], using it to fill in gaps.", \ - "You relocate some of [target]'s flesh with \the [tool], using it to fill in gaps.") + user.visible_message(span_notice("[user] relocates some of [target]'s flesh with \the [tool], using it to fill in gaps."), \ + span_notice("You relocate some of [target]'s flesh with \the [tool], using it to fill in gaps.")) target.op_stage.dehusk = 2 ..() /datum/surgery_step/dehusk/relocateflesh/fail_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] accidentally rips a massive chunk out of [target]'s flesh with \the [tool], causing massive damage.", \ - "You accidentally rip a massive chunk out of [target]'s flesh with \the [tool], causing massive damage.") + user.visible_message(span_danger("[user] accidentally rips a massive chunk out of [target]'s flesh with \the [tool], causing massive damage."), \ + span_danger("You accidentally rip a massive chunk out of [target]'s flesh with \the [tool], causing massive damage.")) affected.createwound(CUT, 25) affected.createwound(BRUISE, 10) ..() @@ -325,8 +325,8 @@ /datum/surgery_step/dehusk/structfinish surgery_name = "Finish Structure" allowed_tools = list( - /obj/item/weapon/surgical/bioregen = 100, \ - /obj/item/weapon/surgical/FixOVein = 30 + /obj/item/surgical/bioregen = 100, \ + /obj/item/surgical/FixOVein = 30 ) min_duration = 90 max_duration = 120 @@ -335,17 +335,17 @@ return ..() && target.op_stage.dehusk == 2 /datum/surgery_step/dehusk/structfinish/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - if(istype(tool,/obj/item/weapon/surgical/bioregen)) - user.visible_message("[user] begins to recreate blood vessels and fill in the gaps in [target]'s flesh with \the [tool].", \ - "You begin to recreate blood vessels and fill in the gaps in [target]'s flesh with \the [tool].") - else if(istype(tool,/obj/item/weapon/surgical/FixOVein)) - user.visible_message("[user] attempts to recreate blood vessels and fill in the gaps in [target]'s flesh with \the [tool].", \ - "You attempt to recreate blood vessels and fill in the gaps in [target]'s flesh with \the [tool].") + if(istype(tool,/obj/item/surgical/bioregen)) + user.visible_message(span_notice("[user] begins to recreate blood vessels and fill in the gaps in [target]'s flesh with \the [tool]."), \ + span_notice("You begin to recreate blood vessels and fill in the gaps in [target]'s flesh with \the [tool].")) + else if(istype(tool,/obj/item/surgical/FixOVein)) + user.visible_message(span_notice("[user] attempts to recreate blood vessels and fill in the gaps in [target]'s flesh with \the [tool]."), \ + span_notice("You attempt to recreate blood vessels and fill in the gaps in [target]'s flesh with \the [tool].")) ..() /datum/surgery_step/dehusk/structfinish/end_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - user.visible_message("[user] finishes recreating the missing biological structures and filling in gaps in [target]'s flesh with \the [tool].", \ - "You finish recreating the missing biological structures and filling in gaps in [target]'s flesh with \the [tool].") + user.visible_message(span_notice("[user] finishes recreating the missing biological structures and filling in gaps in [target]'s flesh with \the [tool]."), \ + span_notice("You finish recreating the missing biological structures and filling in gaps in [target]'s flesh with \the [tool].")) target.op_stage.dehusk = 0 target.mutations.Remove(HUSK) target.status_flags &= ~DISFIGURED @@ -354,12 +354,12 @@ /datum/surgery_step/dehusk/structfinish/fail_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - if(istype(tool,/obj/item/weapon/surgical/bioregen)) - user.visible_message("[user]'s hand slips, causing \the [tool] to scrape [target]'s body.", \ - "Your hand slips, causing \the [tool] to scrape [target]'s body.") - else if(istype(tool,/obj/item/weapon/surgical/FixOVein)) - user.visible_message("[user] fails to finish the structure over the gaps in [target]'s flesh, doing more damage than good.", \ - "You fail to finish the structure over the gaps in [target]'s flesh, doing more damage than good.") + if(istype(tool,/obj/item/surgical/bioregen)) + user.visible_message(span_danger("[user]'s hand slips, causing \the [tool] to scrape [target]'s body."), \ + span_danger("Your hand slips, causing \the [tool] to scrape [target]'s body.")) + else if(istype(tool,/obj/item/surgical/FixOVein)) + user.visible_message(span_danger("[user] fails to finish the structure over the gaps in [target]'s flesh, doing more damage than good."), \ + span_danger("You fail to finish the structure over the gaps in [target]'s flesh, doing more damage than good.")) affected.createwound(CUT, 15) affected.createwound(BRUISE, 10) ..() @@ -367,7 +367,7 @@ /datum/surgery_step/internal/detoxify surgery_name = "Detoxify" blood_level = 1 - allowed_tools = list(/obj/item/weapon/surgical/bioregen=100) + allowed_tools = list(/obj/item/surgical/bioregen=100) min_duration = 90 max_duration = 120 @@ -375,13 +375,13 @@ return ..() && target_zone == BP_TORSO && (target.toxloss > 25 || target.oxyloss > 25) /datum/surgery_step/internal/detoxify/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - user.visible_message("[user] begins to pull toxins from, and restore oxygen to [target]'s musculature and organs with \the [tool].", \ - "You begin to pull toxins from, and restore oxygen to [target]'s musculature and organs with \the [tool].") + user.visible_message(span_notice("[user] begins to pull toxins from, and restore oxygen to [target]'s musculature and organs with \the [tool]."), \ + span_notice("You begin to pull toxins from, and restore oxygen to [target]'s musculature and organs with \the [tool].")) ..() /datum/surgery_step/internal/detoxify/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - user.visible_message("[user] finishes pulling toxins from, and restoring oxygen to [target]'s musculature and organs with \the [tool].", \ - "You finish pulling toxins from, and restoring oxygen to [target]'s musculature and organs with \the [tool].") + user.visible_message(span_notice("[user] finishes pulling toxins from, and restoring oxygen to [target]'s musculature and organs with \the [tool]."), \ + span_notice("You finish pulling toxins from, and restoring oxygen to [target]'s musculature and organs with \the [tool].")) if(target.toxloss>25) target.adjustToxLoss(-20) if(target.oxyloss>25) @@ -390,8 +390,8 @@ /datum/surgery_step/internal/detoxify/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user]'s hand slips, failing to finish the surgery, and damaging [target] with \the [tool].", \ - "Your hand slips, failing to finish the surgery, and damaging [target] with \the [tool].") + user.visible_message(span_danger("[user]'s hand slips, failing to finish the surgery, and damaging [target] with \the [tool]."), \ + span_danger("Your hand slips, failing to finish the surgery, and damaging [target] with \the [tool].")) affected.createwound(CUT, 15) affected.createwound(BRUISE, 10) ..() diff --git a/code/modules/surgery/robotics.dm b/code/modules/surgery/robotics.dm index 9e187d087d4..0973230b139 100644 --- a/code/modules/surgery/robotics.dm +++ b/code/modules/surgery/robotics.dm @@ -32,8 +32,8 @@ /datum/surgery_step/robotics/unscrew_hatch surgery_name = "Unscrew Hatch" allowed_tools = list( - /obj/item/weapon/coin = 50, - /obj/item/weapon/material/knife = 50 + /obj/item/coin = 50, + /obj/item/material/knife = 50 ) allowed_procs = list(IS_SCREWDRIVER = 100) @@ -50,20 +50,20 @@ /datum/surgery_step/robotics/unscrew_hatch/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] starts to unscrew the maintenance hatch on [target]'s [affected.name] with \the [tool].", \ - "You start to unscrew the maintenance hatch on [target]'s [affected.name] with \the [tool].") + user.visible_message(span_filter_notice("[user] starts to unscrew the maintenance hatch on [target]'s [affected.name] with \the [tool]."), \ + span_filter_notice("You start to unscrew the maintenance hatch on [target]'s [affected.name] with \the [tool].")) ..() /datum/surgery_step/robotics/unscrew_hatch/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] has opened the maintenance hatch on [target]'s [affected.name] with \the [tool].", \ - "You have opened the maintenance hatch on [target]'s [affected.name] with \the [tool].",) + user.visible_message(span_notice("[user] has opened the maintenance hatch on [target]'s [affected.name] with \the [tool]."), \ + span_notice("You have opened the maintenance hatch on [target]'s [affected.name] with \the [tool]."),) affected.open = 1 /datum/surgery_step/robotics/unscrew_hatch/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user]'s [tool.name] slips, failing to unscrew [target]'s [affected.name].", \ - "Your [tool] slips, failing to unscrew [target]'s [affected.name].") + user.visible_message(span_warning("[user]'s [tool.name] slips, failing to unscrew [target]'s [affected.name]."), \ + span_warning("Your [tool] slips, failing to unscrew [target]'s [affected.name].")) /////////////////////////////////////////////////////////////// // Open Hatch Surgery @@ -72,8 +72,8 @@ /datum/surgery_step/robotics/open_hatch surgery_name = "Open Hatch" allowed_tools = list( - /obj/item/weapon/surgical/retractor = 100, - /obj/item/weapon/material/kitchen/utensil = 50 + /obj/item/surgical/retractor = 100, + /obj/item/material/kitchen/utensil = 50 ) allowed_procs = list(IS_CROWBAR = 100) @@ -88,20 +88,20 @@ /datum/surgery_step/robotics/open_hatch/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] starts to pry open the maintenance hatch on [target]'s [affected.name] with \the [tool].", - "You start to pry open the maintenance hatch on [target]'s [affected.name] with \the [tool].") + user.visible_message(span_filter_notice("[user] starts to pry open the maintenance hatch on [target]'s [affected.name] with \the [tool]."), + span_filter_notice("You start to pry open the maintenance hatch on [target]'s [affected.name] with \the [tool].")) ..() /datum/surgery_step/robotics/open_hatch/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] opens the maintenance hatch on [target]'s [affected.name] with \the [tool].", \ - "You open the maintenance hatch on [target]'s [affected.name] with \the [tool].") + user.visible_message(span_notice("[user] opens the maintenance hatch on [target]'s [affected.name] with \the [tool]."), \ + span_notice("You open the maintenance hatch on [target]'s [affected.name] with \the [tool].")) affected.open = 3 /datum/surgery_step/robotics/open_hatch/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user]'s [tool.name] slips, failing to open the hatch on [target]'s [affected.name].", - "Your [tool] slips, failing to open the hatch on [target]'s [affected.name].") + user.visible_message(span_warning("[user]'s [tool.name] slips, failing to open the hatch on [target]'s [affected.name]."), + span_warning("Your [tool] slips, failing to open the hatch on [target]'s [affected.name].")) /////////////////////////////////////////////////////////////// // Close Hatch Surgery @@ -110,8 +110,8 @@ /datum/surgery_step/robotics/close_hatch surgery_name = "Close Hatch" allowed_tools = list( - /obj/item/weapon/surgical/retractor = 100, - /obj/item/weapon/material/kitchen/utensil = 50 + /obj/item/surgical/retractor = 100, + /obj/item/material/kitchen/utensil = 50 ) allowed_procs = list(IS_CROWBAR = 100) @@ -126,21 +126,21 @@ /datum/surgery_step/robotics/close_hatch/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] begins to close and secure the hatch on [target]'s [affected.name] with \the [tool]." , \ - "You begin to close and secure the hatch on [target]'s [affected.name] with \the [tool].") + user.visible_message(span_filter_notice("[user] begins to close and secure the hatch on [target]'s [affected.name] with \the [tool].") , \ + span_filter_notice("You begin to close and secure the hatch on [target]'s [affected.name] with \the [tool].")) ..() /datum/surgery_step/robotics/close_hatch/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] closes and secures the hatch on [target]'s [affected.name] with \the [tool].", \ - "You close and secure the hatch on [target]'s [affected.name] with \the [tool].") + user.visible_message(span_notice("[user] closes and secures the hatch on [target]'s [affected.name] with \the [tool]."), \ + span_notice("You close and secure the hatch on [target]'s [affected.name] with \the [tool].")) affected.open = 0 affected.germ_level = 0 /datum/surgery_step/robotics/close_hatch/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user]'s [tool.name] slips, failing to close the hatch on [target]'s [affected.name].", - "Your [tool.name] slips, failing to close the hatch on [target]'s [affected.name].") + user.visible_message(span_warning("[user]'s [tool.name] slips, failing to close the hatch on [target]'s [affected.name]."), + span_warning("Your [tool.name] slips, failing to close the hatch on [target]'s [affected.name].")) /////////////////////////////////////////////////////////////// // Brute Repair Surgery @@ -149,8 +149,8 @@ /datum/surgery_step/robotics/repair_brute surgery_name = "Repair Robotic Brute" allowed_tools = list( - /obj/item/weapon/weldingtool = 100, - /obj/item/weapon/pickaxe/plasmacutter = 50 + /obj/item/weldingtool = 100, + /obj/item/pickaxe/plasmacutter = 50 ) min_duration = 50 @@ -159,29 +159,29 @@ /datum/surgery_step/robotics/repair_brute/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) if(..()) var/obj/item/organ/external/affected = target.get_organ(target_zone) - if(istype(tool, /obj/item/weapon/weldingtool)) - var/obj/item/weapon/weldingtool/welder = tool + if(istype(tool, /obj/item/weldingtool)) + var/obj/item/weldingtool/welder = tool if(!welder.isOn() || !welder.remove_fuel(1,user)) return 0 return affected && affected.open == 3 && (affected.disfigured || affected.brute_dam > 0) && target_zone != O_MOUTH /datum/surgery_step/robotics/repair_brute/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] begins to patch damage to [target]'s [affected.name]'s support structure with \the [tool]." , \ - "You begin to patch damage to [target]'s [affected.name]'s support structure with \the [tool].") + user.visible_message(span_filter_notice("[user] begins to patch damage to [target]'s [affected.name]'s support structure with \the [tool].") , \ + span_filter_notice("You begin to patch damage to [target]'s [affected.name]'s support structure with \the [tool].")) ..() /datum/surgery_step/robotics/repair_brute/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] finishes patching damage to [target]'s [affected.name] with \the [tool].", \ - "You finish patching damage to [target]'s [affected.name] with \the [tool].") + user.visible_message(span_notice("[user] finishes patching damage to [target]'s [affected.name] with \the [tool]."), \ + span_notice("You finish patching damage to [target]'s [affected.name] with \the [tool].")) affected.heal_damage(rand(30,50),0,1,1) affected.disfigured = 0 /datum/surgery_step/robotics/repair_brute/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user]'s [tool.name] slips, damaging the internal structure of [target]'s [affected.name].", - "Your [tool.name] slips, damaging the internal structure of [target]'s [affected.name].") + user.visible_message(span_warning("[user]'s [tool.name] slips, damaging the internal structure of [target]'s [affected.name]."), + span_warning("Your [tool.name] slips, damaging the internal structure of [target]'s [affected.name].")) target.apply_damage(rand(5,10), BURN, affected) /////////////////////////////////////////////////////////////// @@ -203,11 +203,11 @@ if(istype(tool, /obj/item/stack/cable_coil)) var/obj/item/stack/cable_coil/C = tool if(affected.burn_dam == 0) - to_chat(user, "There are no burnt wires here!") + to_chat(user, span_notice("There are no burnt wires here!")) return SURGERY_FAILURE else if(!C.can_use(5)) - to_chat(user, "You need at least five cable pieces to repair this part.") //usage amount made more consistent with regular cable repair + to_chat(user, span_danger("You need at least five cable pieces to repair this part.")) //usage amount made more consistent with regular cable repair return SURGERY_FAILURE else C.use(5) @@ -216,21 +216,21 @@ /datum/surgery_step/robotics/repair_burn/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] begins to splice new cabling into [target]'s [affected.name]." , \ - "You begin to splice new cabling into [target]'s [affected.name].") + user.visible_message(span_filter_notice("[user] begins to splice new cabling into [target]'s [affected.name].") , \ + span_filter_notice("You begin to splice new cabling into [target]'s [affected.name].")) ..() /datum/surgery_step/robotics/repair_burn/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] finishes splicing cable into [target]'s [affected.name].", \ - "You finishes splicing new cable into [target]'s [affected.name].") + user.visible_message(span_notice("[user] finishes splicing cable into [target]'s [affected.name]."), \ + span_notice("You finishes splicing new cable into [target]'s [affected.name].")) affected.heal_damage(0,rand(30,50),1,1) affected.disfigured = 0 /datum/surgery_step/robotics/repair_burn/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] causes a short circuit in [target]'s [affected.name]!", - "You cause a short circuit in [target]'s [affected.name]!") + user.visible_message(span_warning("[user] causes a short circuit in [target]'s [affected.name]!"), + span_warning("You cause a short circuit in [target]'s [affected.name]!")) target.apply_damage(rand(5,10), BURN, affected) /////////////////////////////////////////////////////////////// @@ -241,7 +241,7 @@ surgery_name = "Fix Robotic Organ" allowed_tools = list( /obj/item/stack/nanopaste = 100, \ - /obj/item/weapon/surgical/bonegel = 30, \ + /obj/item/surgical/bonegel = 30, \ ) allowed_procs = list(IS_SCREWDRIVER = 100) @@ -269,8 +269,8 @@ for(var/obj/item/organ/I in affected.internal_organs) if(I && I.damage > 0) if(I.robotic >= ORGAN_ROBOT) - user.visible_message("[user] starts mending the damage to [target]'s [I.name]'s mechanisms.", \ - "You start mending the damage to [target]'s [I.name]'s mechanisms." ) + user.visible_message(span_filter_notice("[user] starts mending the damage to [target]'s [I.name]'s mechanisms."), \ + span_filter_notice("You start mending the damage to [target]'s [I.name]'s mechanisms.") ) target.custom_pain("The pain in your [affected.name] is living hell!",1) ..() @@ -283,8 +283,8 @@ for(var/obj/item/organ/I in affected.internal_organs) if(I && I.damage > 0) if(I.robotic >= ORGAN_ROBOT) - user.visible_message("[user] repairs [target]'s [I.name] with [tool].", \ - "You repair [target]'s [I.name] with [tool]." ) + user.visible_message(span_notice("[user] repairs [target]'s [I.name] with [tool]."), \ + span_notice("You repair [target]'s [I.name] with [tool].") ) I.damage = 0 if(I.organ_tag == O_EYES) target.sdisabilities &= ~BLIND @@ -294,8 +294,8 @@ return var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user]'s hand slips, gumming up the mechanisms inside of [target]'s [affected.name] with \the [tool]!", \ - "Your hand slips, gumming up the mechanisms inside of [target]'s [affected.name] with \the [tool]!") + user.visible_message(span_warning("[user]'s hand slips, gumming up the mechanisms inside of [target]'s [affected.name] with \the [tool]!"), \ + span_warning("Your hand slips, gumming up the mechanisms inside of [target]'s [affected.name] with \the [tool]!")) target.adjustToxLoss(5) affected.createwound(CUT, 5) @@ -311,7 +311,7 @@ /datum/surgery_step/robotics/detatch_organ_robotic surgery_name = "Detach Robotic Organ" allowed_tools = list( - /obj/item/device/multitool = 100 + /obj/item/multitool = 100 ) min_duration = 90 @@ -345,17 +345,17 @@ var/organ_to_remove = tgui_input_list(user, "Which organ do you want to prepare for removal?", "Organ Choice", attached_organs) if(!organ_to_remove) //They chose cancel! - to_chat(user, "You decide against preparing any organs for removal.") + to_chat(user, span_notice("You decide against preparing any organs for removal.")) return target.op_stage.current_organ = organ_to_remove - user.visible_message("[user] starts to decouple [target]'s [target.op_stage.current_organ] with \the [tool].", \ - "You start to decouple [target]'s [target.op_stage.current_organ] with \the [tool]." ) + user.visible_message(span_filter_notice("[user] starts to decouple [target]'s [target.op_stage.current_organ] with \the [tool]."), \ + span_filter_notice("You start to decouple [target]'s [target.op_stage.current_organ] with \the [tool].") ) ..() /datum/surgery_step/robotics/detatch_organ_robotic/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - user.visible_message("[user] has decoupled [target]'s [target.op_stage.current_organ] with \the [tool]." , \ - "You have decoupled [target]'s [target.op_stage.current_organ] with \the [tool].") + user.visible_message(span_notice("[user] has decoupled [target]'s [target.op_stage.current_organ] with \the [tool].") , \ + span_notice("You have decoupled [target]'s [target.op_stage.current_organ] with \the [tool].")) var/obj/item/organ/internal/I = target.internal_organs_by_name[target.op_stage.current_organ] if(I && istype(I)) @@ -363,8 +363,8 @@ target.op_stage.current_organ = null /datum/surgery_step/robotics/detatch_organ_robotic/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - user.visible_message("[user]'s hand slips, disconnecting \the [tool].", \ - "Your hand slips, disconnecting \the [tool].") + user.visible_message(span_warning("[user]'s hand slips, disconnecting \the [tool]."), \ + span_warning("Your hand slips, disconnecting \the [tool].")) /////////////////////////////////////////////////////////////// // Robot Organ Attaching Surgery @@ -405,19 +405,19 @@ var/organ_to_replace = tgui_input_list(user, "Which organ do you want to reattach?", "Organ Choice", attachable_organs) if(!organ_to_replace) //They chose cancel! - to_chat(user, "You decide against reattaching any organs.") + to_chat(user, span_notice("You decide against reattaching any organs.")) return target.op_stage.current_organ = organ_to_replace - user.visible_message("[user] begins reattaching [target]'s [target.op_stage.current_organ] with \the [tool].", \ - "You start reattaching [target]'s [target.op_stage.current_organ] with \the [tool].") + user.visible_message(span_filter_notice("[user] begins reattaching [target]'s [target.op_stage.current_organ] with \the [tool]."), \ + span_filter_notice("You start reattaching [target]'s [target.op_stage.current_organ] with \the [tool].")) ..() /datum/surgery_step/robotics/attach_organ_robotic/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - user.visible_message("[user] has reattached [target]'s [target.op_stage.current_organ] with \the [tool]." , \ - "You have reattached [target]'s [target.op_stage.current_organ] with \the [tool].") + user.visible_message(span_notice("[user] has reattached [target]'s [target.op_stage.current_organ] with \the [tool].") , \ + span_notice("You have reattached [target]'s [target.op_stage.current_organ] with \the [tool].")) var/obj/item/organ/I = target.internal_organs_by_name[target.op_stage.current_organ] if(I && istype(I)) @@ -425,8 +425,8 @@ target.op_stage.current_organ = null /datum/surgery_step/robotics/attach_organ_robotic/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - user.visible_message("[user]'s hand slips, disconnecting \the [tool].", \ - "Your hand slips, disconnecting \the [tool].") + user.visible_message(span_warning("[user]'s hand slips, disconnecting \the [tool]."), \ + span_warning("Your hand slips, disconnecting \the [tool].")) /////////////////////////////////////////////////////////////// // MMI Insertion Surgery @@ -435,7 +435,7 @@ /datum/surgery_step/robotics/install_mmi surgery_name = "Install MMI" allowed_tools = list( - /obj/item/device/mmi = 100 + /obj/item/mmi = 100 ) min_duration = 60 @@ -445,7 +445,7 @@ if(target_zone != BP_HEAD) return - var/obj/item/device/mmi/M = tool + var/obj/item/mmi/M = tool var/obj/item/organ/external/affected = target.get_organ(target_zone) if(!(affected && affected.open == 3)) return 0 @@ -455,37 +455,47 @@ /* VOREStation Edit - Don't worry about it. We can put these in regardless, because resleeving might make it useful after. if(!M.brainmob || !M.brainmob.client || !M.brainmob.ckey || M.brainmob.stat >= DEAD) - to_chat(user, "That brain is not usable.") + to_chat(user, span_danger("That brain is not usable.")) return SURGERY_FAILURE */ if(!(affected.robotic >= ORGAN_ROBOT)) - to_chat(user, "You cannot install a computer brain into a meat skull.") + to_chat(user, span_danger("You cannot install a computer brain into a meat skull.")) return SURGERY_FAILURE if(!target.should_have_organ("brain")) - to_chat(user, "You're pretty sure [target.species.name_plural] don't normally have a brain.") + to_chat(user, span_danger("You're pretty sure [target.species.name_plural] don't normally have a brain.")) return SURGERY_FAILURE if(!isnull(target.internal_organs["brain"])) - to_chat(user, "Your subject already has a brain.") + to_chat(user, span_danger("Your subject already has a brain.")) return SURGERY_FAILURE return 1 /datum/surgery_step/robotics/install_mmi/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] starts installing \the [tool] into [target]'s [affected.name].", \ - "You start installing \the [tool] into [target]'s [affected.name].") + user.visible_message(span_filter_notice("[user] starts installing \the [tool] into [target]'s [affected.name]."), \ + span_filter_notice("You start installing \the [tool] into [target]'s [affected.name].")) ..() /datum/surgery_step/robotics/install_mmi/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] has installed \the [tool] into [target]'s [affected.name].", \ - "You have installed \the [tool] into [target]'s [affected.name].") - - var/obj/item/device/mmi/M = tool - var/obj/item/organ/internal/mmi_holder/holder = new(target, 1) + user.visible_message(span_notice("[user] has installed \the [tool] into [target]'s [affected.name]."), \ + span_notice("You have installed \the [tool] into [target]'s [affected.name].")) + + var/obj/item/mmi/M = tool + // VOREstation edit begin - Select the proper mmi holder subtype based on the brain inserted + var/obj/item/organ/internal/mmi_holder/holder = null + if(istype(M,/obj/item/mmi/digital/posibrain/nano)) + holder = new /obj/item/organ/internal/mmi_holder/posibrain/nano(target, 1) + else if(istype(M,/obj/item/mmi/digital/posibrain)) + holder = new /obj/item/organ/internal/mmi_holder/posibrain(target, 1) + else if(istype(M,/obj/item/mmi/digital/robot)) + holder = new /obj/item/organ/internal/mmi_holder/robot(target, 1) + else + holder = new /obj/item/organ/internal/mmi_holder(target, 1) // Fallback to old behavior if organic MMI or if no subtype exists. + //VOREstation edit end target.internal_organs_by_name["brain"] = holder user.drop_from_inventory(tool) tool.loc = holder @@ -512,8 +522,8 @@ target.real_name = target.name /datum/surgery_step/robotics/install_mmi/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - user.visible_message("[user]'s hand slips.", \ - "Your hand slips.") + user.visible_message(span_warning("[user]'s hand slips."), \ + span_warning("Your hand slips.")) /* * Install a Diona Nymph into a Nymph Mech @@ -522,7 +532,7 @@ /datum/surgery_step/robotics/install_nymph surgery_name = "Install Nymph" allowed_tools = list( - /obj/item/weapon/holder/diona = 100 + /obj/item/holder/diona = 100 ) min_duration = 60 @@ -532,7 +542,7 @@ if(target_zone != BP_TORSO) return - var/obj/item/weapon/holder/diona/N = tool + var/obj/item/holder/diona/N = tool var/obj/item/organ/external/affected = target.get_organ(target_zone) if(!(affected && affected.open == 3)) @@ -542,39 +552,39 @@ return 0 if(!N.held_mob.client || N.held_mob.stat >= DEAD) - to_chat(user, "That nymph is not viable.") + to_chat(user, span_danger("That nymph is not viable.")) return SURGERY_FAILURE if(!(affected.robotic >= ORGAN_ROBOT)) - to_chat(user, "You cannot install a nymph into a meat puppet.") + to_chat(user, span_danger("You cannot install a nymph into a meat puppet.")) return SURGERY_FAILURE if(!(affected.model != "Skrellian Exoskeleton")) - to_chat(user, "You're fairly certain a nymph can't pilot a normal robot.") + to_chat(user, span_danger("You're fairly certain a nymph can't pilot a normal robot.")) return SURGERY_FAILURE if(!target.should_have_organ("brain")) - to_chat(user, "You're pretty sure [target.species.name_plural] don't normally have a brain.") + to_chat(user, span_danger("You're pretty sure [target.species.name_plural] don't normally have a brain.")) return SURGERY_FAILURE if(!isnull(target.internal_organs["brain"])) - to_chat(user, "Your subject already has a cephalon.") + to_chat(user, span_danger("Your subject already has a cephalon.")) return SURGERY_FAILURE return 1 /datum/surgery_step/robotics/install_nymph/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] starts setting \the [tool] into [target]'s [affected.name].", \ - "You start setting \the [tool] into [target]'s [affected.name].") + user.visible_message(span_filter_notice("[user] starts setting \the [tool] into [target]'s [affected.name]."), \ + span_filter_notice("You start setting \the [tool] into [target]'s [affected.name].")) ..() /datum/surgery_step/robotics/install_nymph/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("[user] has installed \the [tool] into [target]'s [affected.name].", \ - "You have installed \the [tool] into [target]'s [affected.name].") + user.visible_message(span_notice("[user] has installed \the [tool] into [target]'s [affected.name]."), \ + span_notice("You have installed \the [tool] into [target]'s [affected.name].")) - var/obj/item/weapon/holder/diona/N = tool + var/obj/item/holder/diona/N = tool var/obj/item/organ/internal/brain/cephalon/cephalon = new(target, 1) target.internal_organs_by_name["brain"] = cephalon var/mob/living/carbon/alien/diona/D = N.held_mob @@ -588,8 +598,8 @@ target.species = GLOB.all_species[SPECIES_DIONA] - target.verbs |= /mob/living/carbon/human/proc/diona_split_nymph - target.verbs |= /mob/living/carbon/human/proc/regenerate + add_verb(target, /mob/living/carbon/human/proc/diona_split_nymph) + add_verb(target, /mob/living/carbon/human/proc/regenerate) spawn(0) //Name yourself on your own damn time var/new_name = "" @@ -606,5 +616,5 @@ target.real_name = target.name /datum/surgery_step/robotics/install_nymph/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - user.visible_message("[user]'s hand slips.", \ - "Your hand slips.") + user.visible_message(span_warning("[user]'s hand slips."), \ + span_warning("Your hand slips.")) diff --git a/code/modules/surgery/slimes.dm b/code/modules/surgery/slimes.dm index 84d697272ce..95071110b82 100644 --- a/code/modules/surgery/slimes.dm +++ b/code/modules/surgery/slimes.dm @@ -15,9 +15,9 @@ /datum/surgery_step/slime/cut_flesh surgery_name = "Cut Flesh" allowed_tools = list( - /obj/item/weapon/surgical/scalpel = 100, \ - /obj/item/weapon/material/knife = 75, \ - /obj/item/weapon/material/shard = 50, \ + /obj/item/surgical/scalpel = 100, \ + /obj/item/material/knife = 75, \ + /obj/item/material/shard = 50, \ ) min_duration = 30 @@ -31,22 +31,22 @@ "You start cutting through [target]'s flesh with \the [tool].") /datum/surgery_step/slime/cut_flesh/end_step(mob/living/user, mob/living/simple_mob/slime/target, target_zone, obj/item/tool) - user.visible_message("[user] cuts through [target]'s flesh with \the [tool].", \ - "You cut through [target]'s flesh with \the [tool], revealing its silky innards.") + user.visible_message(span_notice("[user] cuts through [target]'s flesh with \the [tool]."), \ + span_notice("You cut through [target]'s flesh with \the [tool], revealing its silky innards.")) target.core_removal_stage = 1 /datum/surgery_step/slime/cut_flesh/fail_step(mob/living/user, mob/living/simple_mob/slime/target, target_zone, obj/item/tool) - user.visible_message("[user]'s hand slips, tearing [target]'s flesh with \the [tool]!", \ - "Your hand slips, tearing [target]'s flesh with \the [tool]!") + user.visible_message(span_danger("[user]'s hand slips, tearing [target]'s flesh with \the [tool]!"), \ + span_danger("Your hand slips, tearing [target]'s flesh with \the [tool]!")) /datum/surgery_step/slime/cut_innards surgery_name = "Cut Innards" allowed_tools = list( - /obj/item/weapon/surgical/scalpel = 100, \ - /obj/item/weapon/material/knife = 75, \ - /obj/item/weapon/material/shard = 50, \ + /obj/item/surgical/scalpel = 100, \ + /obj/item/material/knife = 75, \ + /obj/item/material/shard = 50, \ ) min_duration = 30 @@ -60,21 +60,21 @@ "You start cutting [target]'s silky innards apart with \the [tool].") /datum/surgery_step/slime/cut_innards/end_step(mob/living/user, mob/living/simple_mob/slime/target, target_zone, obj/item/tool) - user.visible_message("[user] cuts [target]'s innards apart with \the [tool], exposing the cores.", \ - "You cut [target]'s innards apart with \the [tool], exposing the cores.") + user.visible_message(span_notice("[user] cuts [target]'s innards apart with \the [tool], exposing the cores."), \ + span_notice("You cut [target]'s innards apart with \the [tool], exposing the cores.")) target.core_removal_stage = 2 /datum/surgery_step/slime/cut_innards/fail_step(mob/living/user, mob/living/simple_mob/slime/target, target_zone, obj/item/tool) - user.visible_message("[user]'s hand slips, tearing [target]'s innards with \the [tool]!", \ - "Your hand slips, tearing [target]'s innards with \the [tool]!") + user.visible_message(span_danger("[user]'s hand slips, tearing [target]'s innards with \the [tool]!"), \ + span_danger("Your hand slips, tearing [target]'s innards with \the [tool]!")) /datum/surgery_step/slime/saw_core surgery_name = "Remove Core" allowed_tools = list( - /obj/item/weapon/surgical/circular_saw = 100, \ - /obj/item/weapon/material/knife/machete/hatchet = 75 + /obj/item/surgical/circular_saw = 100, \ + /obj/item/material/knife/machete/hatchet = 75 ) min_duration = 50 @@ -89,8 +89,8 @@ /datum/surgery_step/slime/saw_core/end_step(mob/living/user, mob/living/simple_mob/slime/target, target_zone, obj/item/tool) target.cores-- - user.visible_message("[user] cuts out one of [target]'s cores with \the [tool].",, \ - "You cut out one of [target]'s cores with \the [tool]. [target.cores] cores left.") + user.visible_message(span_notice("[user] cuts out one of [target]'s cores with \the [tool]."),, \ + span_notice("You cut out one of [target]'s cores with \the [tool]. [target.cores] cores left.")) if(target.cores >= 0) new target.coretype(target.loc) @@ -100,5 +100,5 @@ /datum/surgery_step/slime/saw_core/fail_step(mob/living/user, mob/living/simple_mob/slime/target, target_zone, obj/item/tool) var/datum/gender/T = gender_datums[user.get_visible_gender()] - user.visible_message("[user]'s hand slips, causing [T.him] to miss the core!", \ - "Your hand slips, causing you to miss the core!") + user.visible_message(span_danger("[user]'s hand slips, causing [T.him] to miss the core!"), \ + span_danger("Your hand slips, causing you to miss the core!")) diff --git a/code/modules/surgery/surgery.dm b/code/modules/surgery/surgery.dm index 0bf247f50be..64b0adbcc7d 100644 --- a/code/modules/surgery/surgery.dm +++ b/code/modules/surgery/surgery.dm @@ -143,7 +143,7 @@ return 0 var/zone = user.zone_sel.selecting if(zone in M.op_stage.in_progress) //Can't operate on someone repeatedly. - to_chat(user, "You can't operate on this area while surgery is already in progress.") + to_chat(user, span_warning("You can't operate on this area while surgery is already in progress.")) return 1 var/obj/surface = M.get_surgery_surface(user) if(!surface || !surface.surgery_odds) // If the surface has a chance of 0% surgery odds (ground), don't even bother trying to do surgery. @@ -179,7 +179,7 @@ // All of this just to make it so you are forced to do bloodless surgery with a laser scalpel. if(M == user) // Once we determine if we can actually do a step at all, give a slight delay to self-surgery to confirm attempts. - to_chat(user, "You focus on attempting to perform surgery upon yourself.") + to_chat(user, span_critical("You focus on attempting to perform surgery upon yourself.")) if(!do_after(user, 3 SECONDS, M)) return 0 @@ -192,7 +192,14 @@ if(isnull(selected_surgery)) //They clicked 'cancel' return 1 selected_surgery = available_surgeries[selected_surgery] //Sets the name they selected to be the datum. - + // VOREstation edit start + if(istype(selected_surgery,/datum/surgery_step/generic/amputate)) + var/obj/item/organ/external/affected = M.get_organ(zone) + to_chat(user, span_danger("You are preparing to amputate \the [M]'s [affected.name]!")) + if(!do_after(user, 3 SECONDS, M)) + to_chat(user, span_warning("You reconsider performing an amputation...")) + return 0 + // VOREstation edit end M.op_stage.in_progress += zone selected_surgery.begin_step(user, M, zone, src) //start on it var/success = TRUE @@ -210,7 +217,7 @@ var/calc_duration = rand(selected_surgery.min_duration, selected_surgery.max_duration) if(!do_mob(user, M, calc_duration * toolspeed, zone, exclusive = TRUE)) success = FALSE - to_chat(user, "You must remain close to and keep focused on your patient to conduct surgery.") + to_chat(user, span_warning("You must remain close to and keep focused on your patient to conduct surgery.")) if(success) selected_surgery.end_step(user, M, zone, src) diff --git a/code/modules/tables/flipping.dm b/code/modules/tables/flipping.dm index 7602e7e583f..29c1a69a9d9 100644 --- a/code/modules/tables/flipping.dm +++ b/code/modules/tables/flipping.dm @@ -22,10 +22,10 @@ return if(flipped < 0 || !flip(get_cardinal_dir(usr,src))) - to_chat(usr, "It won't budge.") + to_chat(usr, span_notice("It won't budge.")) return - usr.visible_message("[usr] flips \the [src]!") + usr.visible_message(span_warning("[usr] flips \the [src]!")) if(climbable) structure_shaken() @@ -39,7 +39,7 @@ var/obj/occupied = turf_is_crowded() if(occupied) - to_chat(usr, "There's \a [occupied] in the way.") + to_chat(usr, span_filter_notice("There's \a [occupied] in the way.")) return 0 var/list/L = list() @@ -65,7 +65,7 @@ return if (!unflipping_check()) - to_chat(usr, "It won't budge.") + to_chat(usr, span_notice("It won't budge.")) return unflip() @@ -115,4 +115,4 @@ update_connections(1) update_icon() - return 1 \ No newline at end of file + return 1 diff --git a/code/modules/tables/interactions.dm b/code/modules/tables/interactions.dm index d1aae5fc71c..4bf70d24112 100644 --- a/code/modules/tables/interactions.dm +++ b/code/modules/tables/interactions.dm @@ -52,10 +52,10 @@ if(prob(chance)) health -= P.damage/2 if (health > 0) - visible_message("[P] hits \the [src]!") + visible_message(span_warning("[P] hits \the [src]!")) return 0 else - visible_message("[src] breaks down!") + visible_message(span_warning("[src] breaks down!")) break_to_parts() return 1 return 1 @@ -80,7 +80,7 @@ O.forceMove(loc) auto_align(I, params, TRUE) else - to_chat(user, SPAN_WARNING("\The [I] is too big for you to move!")) + to_chat(user, span_warning("\The [I] is too big for you to move!")) return return ..() @@ -90,13 +90,13 @@ if (!W) return // Handle harm intent grabbing/tabling. - if(istype(W, /obj/item/weapon/grab) && get_dist(src,user)<2) - var/obj/item/weapon/grab/G = W + if(istype(W, /obj/item/grab) && get_dist(src,user)<2) + var/obj/item/grab/G = W if (istype(G.affecting, /mob/living)) var/mob/living/M = G.affecting var/obj/occupied = turf_is_crowded() if(occupied) - to_chat(user, "There's \a [occupied] in the way.") + to_chat(user, span_danger("There's \a [occupied] in the way.")) return if(!user.Adjacent(M)) return @@ -104,27 +104,27 @@ if(user.a_intent == I_HURT) if (prob(15)) M.Weaken(5) M.apply_damage(8,def_zone = BP_HEAD) - visible_message("[G.assailant] slams [G.affecting]'s face against \the [src]!") + visible_message(span_danger("[G.assailant] slams [G.affecting]'s face against \the [src]!")) if(material) playsound(src, material.tableslam_noise, 50, 1) else playsound(src, 'sound/weapons/tablehit1.ogg', 50, 1) var/list/L = take_damage(rand(1,5)) // Shards. Extra damage, plus potentially the fact YOU LITERALLY HAVE A PIECE OF GLASS/METAL/WHATEVER IN YOUR FACE - for(var/obj/item/weapon/material/shard/S in L) + for(var/obj/item/material/shard/S in L) if(prob(50)) - M.visible_message("\The [S] slices [M]'s face messily!", - "\The [S] slices your face messily!") + M.visible_message(span_danger("\The [S] slices [M]'s face messily!"), + span_danger("\The [S] slices your face messily!")) M.apply_damage(10, def_zone = BP_HEAD) if(prob(2)) M.embed(S, def_zone = BP_HEAD) else - to_chat(user, "You need a better grip to do that!") + to_chat(user, span_danger("You need a better grip to do that!")) return else if(G.state > GRAB_AGGRESSIVE || world.time >= (G.last_action + UPGRADE_COOLDOWN)) M.forceMove(get_turf(src)) M.Weaken(5) - visible_message("[G.assailant] puts [G.affecting] on \the [src].") + visible_message(span_danger("[G.assailant] puts [G.affecting] on \the [src].")) qdel(W) return @@ -135,27 +135,27 @@ if(W.loc != user) // This should stop mounted modules ending up outside the module. return - if(istype(W, /obj/item/weapon/melee/energy/blade)) + if(istype(W, /obj/item/melee/energy/blade)) var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread() spark_system.set_up(5, 0, src.loc) spark_system.start() playsound(src, 'sound/weapons/blade1.ogg', 50, 1) playsound(src, "sparks", 50, 1) - user.visible_message("\The [src] was sliced apart by [user]!") + user.visible_message(span_danger("\The [src] was sliced apart by [user]!")) break_to_parts() return - if(istype(W, /obj/item/weapon/melee/changeling/arm_blade)) - user.visible_message("\The [src] was sliced apart by [user]!") + if(istype(W, /obj/item/melee/changeling/arm_blade)) + user.visible_message(span_danger("\The [src] was sliced apart by [user]!")) break_to_parts() return if(can_plate && !material) - to_chat(user, "There's nothing to put \the [W] on! Try adding plating to \the [src] first.") + to_chat(user, span_warning("There's nothing to put \the [W] on! Try adding plating to \the [src] first.")) return // Placing stuff on tables - if(user.unEquip(W, 0, src.loc) && user.is_preference_enabled(/datum/client_preference/precision_placement)) + if(user.unEquip(W, 0, src.loc) && user.client?.prefs?.read_preference(/datum/preference/toggle/precision_placement)) auto_align(W, click_parameters) return 1 diff --git a/code/modules/tables/presets.dm b/code/modules/tables/presets.dm index e15d7466c4e..22b67b1902a 100644 --- a/code/modules/tables/presets.dm +++ b/code/modules/tables/presets.dm @@ -137,8 +137,8 @@ verbs -= /obj/structure/table/proc/do_put ..() -/obj/structure/table/alien/dismantle(obj/item/weapon/tool/wrench/W, mob/user) - to_chat(user, "You cannot dismantle \the [src].") +/obj/structure/table/alien/dismantle(obj/item/tool/wrench/W, mob/user) + to_chat(user, span_warning("You cannot dismantle \the [src].")) return //BENCH PRESETS @@ -246,4 +246,4 @@ /obj/structure/table/bench/wooden/holotable/New() material = get_material_by_name("holowood") ..() -*/ \ No newline at end of file +*/ diff --git a/code/modules/tables/presets_vr.dm b/code/modules/tables/presets_vr.dm index 35fc8f8bd79..6c098f314bf 100644 --- a/code/modules/tables/presets_vr.dm +++ b/code/modules/tables/presets_vr.dm @@ -14,8 +14,8 @@ ..() -/obj/structure/table/darkglass/dismantle(obj/item/weapon/tool/wrench/W, mob/user) - to_chat(user, "You cannot dismantle \the [src].") +/obj/structure/table/darkglass/dismantle(obj/item/tool/wrench/W, mob/user) + to_chat(user, span_warning("You cannot dismantle \the [src].")) return /obj/structure/table/alien/blue icon = 'icons/turf/shuttle_alien_blue.dmi' @@ -37,8 +37,8 @@ ..() -/obj/structure/table/fancyblack/dismantle(obj/item/weapon/tool/wrench/W, mob/user) - to_chat(user, "You cannot dismantle \the [src].") +/obj/structure/table/fancyblack/dismantle(obj/item/tool/wrench/W, mob/user) + to_chat(user, span_warning("You cannot dismantle \the [src].")) return /obj/structure/table/gold @@ -47,4 +47,4 @@ /obj/structure/table/gold/New() material = get_material_by_name(MAT_GOLD) - ..() \ No newline at end of file + ..() diff --git a/code/modules/tables/rack.dm b/code/modules/tables/rack.dm index c1232d8cf00..349fc17223e 100644 --- a/code/modules/tables/rack.dm +++ b/code/modules/tables/rack.dm @@ -23,6 +23,6 @@ color = material.icon_colour return -/obj/structure/table/rack/holorack/dismantle(obj/item/weapon/tool/wrench/W, mob/user) - to_chat(user, "You cannot dismantle \the [src].") +/obj/structure/table/rack/holorack/dismantle(obj/item/tool/wrench/W, mob/user) + to_chat(user, span_warning("You cannot dismantle \the [src].")) return diff --git a/code/modules/tables/tables.dm b/code/modules/tables/tables.dm index ba13be37d57..4920d292d27 100644 --- a/code/modules/tables/tables.dm +++ b/code/modules/tables/tables.dm @@ -53,7 +53,7 @@ var/list/table_icon_cache = list() amount *= TABLE_BRITTLE_MATERIAL_MULTIPLIER health -= amount if(health <= 0) - visible_message("\The [src] breaks down!") + visible_message(span_warning("\The [src] breaks down!")) return break_to_parts() // if we break and form shards, return them to the caller to do !FUN! things with /obj/structure/table/blob_act() @@ -91,13 +91,13 @@ var/list/table_icon_cache = list() if(health < maxhealth) switch(health / maxhealth) if(0.0 to 0.5) - . += "It looks severely damaged!" + . += span_warning("It looks severely damaged!") if(0.25 to 0.5) - . += "It looks damaged!" + . += span_warning("It looks damaged!") if(0.5 to 1.0) - . += "It has a few scrapes and dents." + . += span_notice("It has a few scrapes and dents.") -/obj/structure/table/attackby(obj/item/weapon/W, mob/user) +/obj/structure/table/attackby(obj/item/W, mob/user) if(reinforced && W.has_tool_quality(TOOL_SCREWDRIVER)) remove_reinforced(W, user) @@ -108,8 +108,8 @@ var/list/table_icon_cache = list() return 1 if(carpeted && W.has_tool_quality(TOOL_CROWBAR)) - user.visible_message("\The [user] removes the carpet from \the [src].", - "You remove the carpet from \the [src].") + user.visible_message(span_infoplain(span_bold("\The [user]") + " removes the carpet from \the [src]."), + span_notice("You remove the carpet from \the [src].")) new carpeted_type(loc) carpeted = 0 update_icon() @@ -118,14 +118,14 @@ var/list/table_icon_cache = list() if(!carpeted && material && istype(W, /obj/item/stack/tile/carpet)) var/obj/item/stack/tile/carpet/C = W if(C.use(1)) - user.visible_message("\The [user] adds \the [C] to \the [src].", - "You add \the [C] to \the [src].") + user.visible_message(span_infoplain(span_bold("\The [user]") + " adds \the [C] to \the [src]."), + span_notice("You add \the [C] to \the [src].")) carpeted = 1 carpeted_type = W.type update_icon() return 1 else - to_chat(user, "You don't have enough carpet!") + to_chat(user, span_warning("You don't have enough carpet!")) if(!reinforced && !carpeted && material && W.has_tool_quality(TOOL_WRENCH)) remove_material(W, user) @@ -143,14 +143,14 @@ var/list/table_icon_cache = list() return 1 if(health < maxhealth && W.has_tool_quality(TOOL_WELDER)) - var/obj/item/weapon/weldingtool/F = W.get_welder() + var/obj/item/weldingtool/F = W.get_welder() if(F.welding) - to_chat(user, "You begin reparing damage to \the [src].") + to_chat(user, span_notice("You begin reparing damage to \the [src].")) playsound(src, F.usesound, 50, 1) if(!do_after(user, 20 * F.toolspeed) || !F.remove_fuel(1, user)) return - user.visible_message("\The [user] repairs some damage to \the [src].", - "You repair some damage to \the [src].") + user.visible_message(span_infoplain(span_bold("\The [user]") + " repairs some damage to \the [src]."), + span_notice("You repair some damage to \the [src].")) health = max(health+(maxhealth/5), maxhealth) // 20% repair per application return 1 @@ -174,22 +174,22 @@ var/list/table_icon_cache = list() ..() /obj/structure/table/attack_alien(mob/user as mob) - visible_message("\The [user] tears apart \the [src]!") + visible_message(span_danger("\The [user] tears apart \the [src]!")) src.break_to_parts() /obj/structure/table/attack_generic(mob/user as mob, var/damage) if(damage >= 10) if(reinforced && prob(70)) - visible_message("\The [user] smashes against \the [src]!") + visible_message(span_danger("\The [user] smashes against \the [src]!")) take_damage(damage/2) user.do_attack_animation(src) ..() else - visible_message("\The [user] tears apart \the [src]!") + visible_message(span_danger("\The [user] tears apart \the [src]!")) src.break_to_parts() user.do_attack_animation(src) return 1 - visible_message("\The [user] scratches at \the [src]!") + visible_message(span_infoplain(span_bold("\The [user]") + " scratches at \the [src]!")) return ..() /obj/structure/table/MouseDrop_T(obj/item/stack/material/what) @@ -200,19 +200,19 @@ var/list/table_icon_cache = list() /obj/structure/table/proc/reinforce_table(obj/item/stack/material/S, mob/user) if(reinforced) - to_chat(user, "\The [src] is already reinforced!") + to_chat(user, span_warning("\The [src] is already reinforced!")) return if(!can_reinforce) - to_chat(user, "\The [src] cannot be reinforced!") + to_chat(user, span_warning("\The [src] cannot be reinforced!")) return if(!material) - to_chat(user, "Plate \the [src] before reinforcing it!") + to_chat(user, span_warning("Plate \the [src] before reinforcing it!")) return if(flipped) - to_chat(user, "Put \the [src] back in place before reinforcing it!") + to_chat(user, span_warning("Put \the [src] back in place before reinforcing it!")) return reinforced = common_material_add(S, user, "reinforc") @@ -237,62 +237,62 @@ var/list/table_icon_cache = list() /obj/structure/table/proc/common_material_add(obj/item/stack/material/S, mob/user, verb) // Verb is actually verb without 'e' or 'ing', which is added. Works for 'plate'/'plating' and 'reinforce'/'reinforcing'. var/datum/material/M = S.get_material() if(!istype(M)) - to_chat(user, "You cannot [verb]e \the [src] with \the [S].") + to_chat(user, span_warning("You cannot [verb]e \the [src] with \the [S].")) return null if(manipulating) return M manipulating = 1 - to_chat(user, "You begin [verb]ing \the [src] with [M.display_name].") + to_chat(user, span_notice("You begin [verb]ing \the [src] with [M.display_name].")) if(!do_after(user, 20) || !S.use(1)) manipulating = 0 return null - user.visible_message("\The [user] [verb]es \the [src] with [M.display_name].", "You finish [verb]ing \the [src].") + user.visible_message(span_notice("\The [user] [verb]es \the [src] with [M.display_name]."), span_notice("You finish [verb]ing \the [src].")) manipulating = 0 return M // Returns the material to set the table to. /obj/structure/table/proc/common_material_remove(mob/user, datum/material/M, delay, what, type_holding, sound) if(!M.stack_type) - to_chat(user, "You are unable to remove the [what] from this [src]!") + to_chat(user, span_warning("You are unable to remove the [what] from this [src]!")) return M if(manipulating) return M manipulating = 1 - user.visible_message("\The [user] begins removing the [type_holding] holding \the [src]'s [M.display_name] [what] in place.", - "You begin removing the [type_holding] holding \the [src]'s [M.display_name] [what] in place.") + user.visible_message(span_infoplain(span_bold("\The [user]") + " begins removing the [type_holding] holding \the [src]'s [M.display_name] [what] in place."), + span_notice("You begin removing the [type_holding] holding \the [src]'s [M.display_name] [what] in place.")) if(sound) playsound(src, sound, 50, 1) if(!do_after(user, delay)) manipulating = 0 return M - user.visible_message("\The [user] removes the [M.display_name] [what] from \the [src].", - "You remove the [M.display_name] [what] from \the [src].") + user.visible_message(span_infoplain(span_bold("\The [user]") + " removes the [M.display_name] [what] from \the [src]."), + span_notice("You remove the [M.display_name] [what] from \the [src].")) new M.stack_type(src.loc) manipulating = 0 return null -/obj/structure/table/proc/remove_reinforced(obj/item/weapon/S, mob/user) +/obj/structure/table/proc/remove_reinforced(obj/item/S, mob/user) reinforced = common_material_remove(user, reinforced, 40 * S.toolspeed, "reinforcements", "screws", S.usesound) -/obj/structure/table/proc/remove_material(obj/item/weapon/W, mob/user) +/obj/structure/table/proc/remove_material(obj/item/W, mob/user) material = common_material_remove(user, material, 20 * W.toolspeed, "plating", "bolts", W.usesound) /obj/structure/table/proc/dismantle(obj/item/W, mob/user) if(manipulating) return manipulating = 1 - user.visible_message("\The [user] begins dismantling \the [src].", - "You begin dismantling \the [src].") + user.visible_message(span_infoplain(span_bold("\The [user]") + " begins dismantling \the [src]."), + span_notice("You begin dismantling \the [src].")) playsound(src, W.usesound, 50, 1) if(!do_after(user, 20 * W.toolspeed)) manipulating = 0 return - user.visible_message("\The [user] dismantles \the [src].", - "You dismantle \the [src].") + user.visible_message(span_infoplain(span_bold("\The [user]") + " dismantles \the [src]."), + span_notice("You dismantle \the [src].")) new /obj/item/stack/material/steel(src.loc) qdel(src) return -// Returns a list of /obj/item/weapon/material/shard objects that were created as a result of this table's breakage. +// Returns a list of /obj/item/material/shard objects that were created as a result of this table's breakage. // Used for !fun! things such as embedding shards in the faces of tableslammed people. // The repeated @@ -302,7 +302,7 @@ var/list/table_icon_cache = list() /obj/structure/table/proc/break_to_parts(full_return = 0) var/list/shards = list() - var/obj/item/weapon/material/shard/S = null + var/obj/item/material/shard/S = null if(reinforced) if(reinforced.stack_type && (full_return || prob(20))) reinforced.place_sheet(loc, 1) diff --git a/code/modules/telesci/bscyrstal.dm b/code/modules/telesci/bscyrstal.dm index f60a40ce63c..f508d725b94 100644 --- a/code/modules/telesci/bscyrstal.dm +++ b/code/modules/telesci/bscyrstal.dm @@ -1,6 +1,6 @@ // Bluespace crystals, used in telescience and when crushed it will blink you to a random turf. -/obj/item/weapon/bluespace_crystal +/obj/item/bluespace_crystal name = "bluespace crystal" desc = "A glowing bluespace crystal, not much is known about how they work. It looks very delicate." icon = 'icons/obj/telescience.dmi' @@ -9,13 +9,13 @@ origin_tech = list(TECH_BLUESPACE = 6, TECH_MATERIAL = 3) var/blink_range = 8 // The teleport range when crushed/thrown at someone. -/obj/item/weapon/bluespace_crystal/New() +/obj/item/bluespace_crystal/New() ..() pixel_x = rand(-5, 5) pixel_y = rand(-5, 5) -/obj/item/weapon/bluespace_crystal/attack_self(mob/user) - user.visible_message("[user] crushes [src]!", "You crush [src]!") +/obj/item/bluespace_crystal/attack_self(mob/user) + user.visible_message(span_warning("[user] crushes [src]!"), span_danger("You crush [src]!")) var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread() s.set_up(5, 1, get_turf(src)) s.start() @@ -23,12 +23,12 @@ user.unEquip(src) qdel(src) -/obj/item/weapon/bluespace_crystal/proc/blink_mob(mob/living/L) +/obj/item/bluespace_crystal/proc/blink_mob(mob/living/L) do_teleport(L, get_turf(L), blink_range, asoundin = 'sound/effects/phasein.ogg') -/obj/item/weapon/bluespace_crystal/throw_impact(atom/hit_atom) +/obj/item/bluespace_crystal/throw_impact(atom/hit_atom) if(!..()) // not caught in mid-air - visible_message("[src] fizzles and disappears upon impact!") + visible_message(span_notice("[src] fizzles and disappears upon impact!")) var/turf/T = get_turf(hit_atom) var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread() s.set_up(5, 1, T) @@ -40,7 +40,7 @@ // Artifical bluespace crystal, doesn't give you much research. -/obj/item/weapon/bluespace_crystal/artificial +/obj/item/bluespace_crystal/artificial name = "artificial bluespace crystal" desc = "An artificially made bluespace crystal, it looks delicate." origin_tech = list(TECH_BLUESPACE = 3, TECH_PHORON = 4) diff --git a/code/modules/telesci/construction.dm b/code/modules/telesci/construction.dm index e9098814412..4e2bab30a63 100644 --- a/code/modules/telesci/construction.dm +++ b/code/modules/telesci/construction.dm @@ -4,30 +4,30 @@ // The circuit boards -/obj/item/weapon/circuitboard/telesci_console +/obj/item/circuitboard/telesci_console name = T_BOARD("Telepad Control Console") build_path = /obj/machinery/computer/telescience origin_tech = list(TECH_DATA = 3, TECH_BLUESPACE = 3, TECH_PHORON = 4) -/obj/item/weapon/circuitboard/telesci_pad +/obj/item/circuitboard/telesci_pad name = T_BOARD("Telepad") board_type = new /datum/frame/frame_types/machine build_path = /obj/machinery/telepad origin_tech = list(TECH_DATA = 4, TECH_ENGINEERING = 4, TECH_PHORON = 4, TECH_BLUESPACE = 5) req_components = list( - /obj/item/weapon/bluespace_crystal = 1, - /obj/item/weapon/stock_parts/capacitor = 2, + /obj/item/bluespace_crystal = 1, + /obj/item/stock_parts/capacitor = 2, /obj/item/stack/cable_coil = 5, - /obj/item/weapon/stock_parts/console_screen = 1) + /obj/item/stock_parts/console_screen = 1) // Bamfpads! Ported from /tg/ -/obj/item/weapon/circuitboard/quantumpad +/obj/item/circuitboard/quantumpad name = T_BOARD("quantum pad") board_type = new /datum/frame/frame_types/machine build_path = /obj/machinery/power/quantumpad origin_tech = list(TECH_ENGINEERING = 4, TECH_POWER = 4, TECH_BLUESPACE = 4) req_components = list( - /obj/item/weapon/bluespace_crystal = 1, - /obj/item/weapon/stock_parts/capacitor = 1, - /obj/item/weapon/stock_parts/manipulator = 1, + /obj/item/bluespace_crystal = 1, + /obj/item/stock_parts/capacitor = 1, + /obj/item/stock_parts/manipulator = 1, /obj/item/stack/cable_coil = 5) diff --git a/code/modules/telesci/gps_advanced.dm b/code/modules/telesci/gps_advanced.dm index 4b67718570e..e06c7f60715 100644 --- a/code/modules/telesci/gps_advanced.dm +++ b/code/modules/telesci/gps_advanced.dm @@ -3,7 +3,7 @@ // These are distinguished from the ordinary "Relay Position Devices" that just print your location // In that they are also all networked with each other to show each other's locations. -/obj/item/device/gps/advanced +/obj/item/gps/advanced name = "global positioning system" desc = "Helping lost spacemen find their way through the planets since 1995." icon = 'icons/obj/telescience.dmi' @@ -14,17 +14,17 @@ var/gpstag = "COM0" emped = 0 -/obj/item/device/gps/advanced/New() +/obj/item/gps/advanced/New() ..() GPS_list.Add(src) name = "global positioning system ([gpstag])" add_overlay("working") -/obj/item/device/gps/advanced/Destroy() +/obj/item/gps/advanced/Destroy() GPS_list.Remove(src) . = ..() -/obj/item/device/gps/advanced/emp_act(severity) +/obj/item/gps/advanced/emp_act(severity) emped = 1 cut_overlay("working") add_overlay("emp") @@ -33,16 +33,16 @@ cut_overlay("emp") add_overlay("working") -/obj/item/device/gps/advanced/attack_self(mob/user as mob) +/obj/item/gps/advanced/attack_self(mob/user as mob) - var/obj/item/device/gps/advanced/t = "" + var/obj/item/gps/advanced/t = "" if(emped) t += "ERROR" else t += "
      Set Tag " t += "
      Tag: [gpstag]" - for(var/obj/item/device/gps/advanced/G in GPS_list) + for(var/obj/item/gps/advanced/G in GPS_list) var/turf/pos = get_turf(G) var/area/gps_area = get_area(G) var/tracked_gpstag = G.gpstag @@ -56,7 +56,7 @@ popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state)) popup.open() -/obj/item/device/gps/advanced/Topic(href, href_list) +/obj/item/gps/advanced/Topic(href, href_list) ..() if(href_list["tag"] ) var/a = tgui_input_text(usr, "Please enter desired tag.", name, gpstag) @@ -66,14 +66,14 @@ name = "global positioning system ([gpstag])" attack_self(usr) -/obj/item/device/gps/advanced/science +/obj/item/gps/advanced/science icon_state = "gps-s" gpstag = "SCI0" -/obj/item/device/gps/advanced/engineering +/obj/item/gps/advanced/engineering icon_state = "gps-e" gpstag = "ENG0" -/obj/item/device/gps/advanced/security +/obj/item/gps/advanced/security icon_state = "gps-sec" gpstag = "SEC0" diff --git a/code/modules/telesci/quantum_pad.dm b/code/modules/telesci/quantum_pad.dm index 1ca5dfbf4e7..2d4105aff41 100644 --- a/code/modules/telesci/quantum_pad.dm +++ b/code/modules/telesci/quantum_pad.dm @@ -7,7 +7,7 @@ use_power = USE_POWER_IDLE idle_power_usage = 200 active_power_usage = 5000 - circuit = /obj/item/weapon/circuitboard/quantumpad + circuit = /obj/item/circuitboard/quantumpad var/teleport_cooldown = 400 //30 seconds base due to base parts var/teleport_speed = 50 var/last_teleport //to handle the cooldown @@ -35,24 +35,24 @@ /obj/machinery/power/quantumpad/examine(mob/user) . = ..() - . += "It is [linked_pad ? "currently" : "not"] linked to another pad." + . += span_notice("It is [linked_pad ? "currently" : "not"] linked to another pad.") if(world.time < last_teleport + teleport_cooldown) - . += "[src] is recharging power. A timer on the side reads [round((last_teleport + teleport_cooldown - world.time)/10)] seconds." + . += span_warning("[src] is recharging power. A timer on the side reads [round((last_teleport + teleport_cooldown - world.time)/10)] seconds.") if(boosted) - . += SPAN_NOTICE("There appears to be a booster haphazardly jammed into the side of [src]. That looks unsafe.") + . += span_notice("There appears to be a booster haphazardly jammed into the side of [src]. That looks unsafe.") if(!panel_open) - . += "The panel is screwed in, obstructing the linking device." + . += span_notice("The panel is screwed in, obstructing the linking device.") else - . += "The linking device is now able to be scanned with a multitool." + . += span_notice("The linking device is now able to be scanned with a multitool.") /obj/machinery/power/quantumpad/RefreshParts() var/E = 0 - for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts) + for(var/obj/item/stock_parts/manipulator/M in component_parts) E += M.rating power_efficiency = E E = 0 - for(var/obj/item/weapon/stock_parts/capacitor/C in component_parts) + for(var/obj/item/stock_parts/capacitor/C in component_parts) E += C.rating teleport_speed = initial(teleport_speed) @@ -64,27 +64,27 @@ if(default_deconstruction_screwdriver(user, I)) return - if(istype(I, /obj/item/device/multitool)) + if(istype(I, /obj/item/multitool)) //VOREStation Addition Start if(istype(get_area(src), /area/shuttle)) - to_chat(user, "This is too unstable a platform for \the [src] to operate on!") + to_chat(user, span_warning("This is too unstable a platform for \the [src] to operate on!")) return //VOREStation Addition End if(panel_open) - var/obj/item/device/multitool/M = I + var/obj/item/multitool/M = I M.connectable = src - to_chat(user, "You save the data in [I]'s buffer.") + to_chat(user, span_notice("You save the data in [I]'s buffer.")) return 1 else - var/obj/item/device/multitool/M = I + var/obj/item/multitool/M = I if(istype(M.connectable, /obj/machinery/power/quantumpad)) linked_pad = M.connectable - to_chat(user, "You link [src] to the one in [I]'s buffer.") + to_chat(user, span_notice("You link [src] to the one in [I]'s buffer.")) update_icon() return 1 - - if(istype(I, /obj/item/device/quantum_pad_booster)) - var/obj/item/device/quantum_pad_booster/booster = I + + if(istype(I, /obj/item/quantum_pad_booster)) + var/obj/item/quantum_pad_booster/booster = I visible_message("[user] violently jams [booster] into the side of [src]. [src] beeps, quietly.", \ "You hear the sound of a device being improperly installed in sensitive machinery, then subsequent beeping.", runemessage = "beep!") playsound(src, 'sound/items/rped.ogg', 25, 1) @@ -101,11 +101,11 @@ /obj/machinery/power/quantumpad/update_icon() . = ..() - + cut_overlays() if(panel_open) add_overlay("qpad-panel") - + if(inoperable() || panel_open || !powernet) icon_state = "[initial(icon_state)]-o" else if (!linked_pad) @@ -121,18 +121,18 @@ disconnect_from_network() connect_to_network() if(powernet != original_powernet) - update_icon() + update_icon() /obj/machinery/power/quantumpad/attack_hand(mob/user) . = ..() if(.) return if(panel_open) - to_chat(user, "The panel must be closed before operating this machine!") + to_chat(user, span_warning("The panel must be closed before operating this machine!")) return if(istype(get_area(src), /area/shuttle)) - to_chat(user, "This is too unstable a platform for \the [src] to operate on!") + to_chat(user, span_warning("This is too unstable a platform for \the [src] to operate on!")) //VOREStation Addition Start if(linked_pad) linked_pad.linked_pad = null @@ -140,28 +140,28 @@ return if(!powernet) - to_chat(user, "[src] is not attached to a powernet!") + to_chat(user, span_warning("[src] is not attached to a powernet!")) return if(!linked_pad || QDELETED(linked_pad)) if(!map_pad_link_id || !initMappedLink()) - to_chat(user, "There is no linked pad!") + to_chat(user, span_warning("There is no linked pad!")) return if(world.time < last_teleport + teleport_cooldown) - to_chat(user, "[src] is recharging power. Please wait [round((last_teleport + teleport_cooldown - world.time)/10)] seconds.") + to_chat(user, span_warning("[src] is recharging power. Please wait [round((last_teleport + teleport_cooldown - world.time)/10)] seconds.")) return if(teleporting) - to_chat(user, "[src] is charging up. Please wait.") + to_chat(user, span_warning("[src] is charging up. Please wait.")) return if(linked_pad.teleporting) - to_chat(user, "Linked pad is busy. Please wait.") + to_chat(user, span_warning("Linked pad is busy. Please wait.")) return if(linked_pad.inoperable()) - to_chat(user, "Linked pad is not responding to ping.") + to_chat(user, span_warning("Linked pad is not responding to ping.")) return src.add_fingerprint(user) doteleport(user) @@ -186,7 +186,7 @@ return //VOREStation Addition Start if(istype(get_area(src), /area/shuttle)) - to_chat(user, "This is too unstable a platform for \the [src] to operate on!") + to_chat(user, span_warning("This is too unstable a platform for \the [src] to operate on!")) return //VOREStation Addition End playsound(src, 'sound/weapons/flash.ogg', 25, 1) @@ -199,7 +199,7 @@ return // Broken or whatever if(inoperable()) - to_chat(user, "[src] is nonfunctional!") + to_chat(user, span_warning("[src] is nonfunctional!")) teleporting = 0 return // Linked pad or not, we can always re-scatter people @@ -210,12 +210,12 @@ return // Nothing to teleport to if(!linked_pad || QDELETED(linked_pad) || linked_pad.inoperable()) - to_chat(user, "Linked pad is not responding to ping. Teleport aborted.") + to_chat(user, span_warning("Linked pad is not responding to ping. Teleport aborted.")) teleporting = 0 return // Insufficient power if(!use_teleport_power()) - to_chat(user, "Power is not sufficient to complete a teleport. Teleport aborted.") + to_chat(user, span_warning("Power is not sufficient to complete a teleport. Teleport aborted.")) teleporting = 0 return @@ -229,7 +229,7 @@ playsound(src, 'sound/weapons/emitter2.ogg', 25, 1, extrarange = 3, falloff = 5) flick("qpad-beam-in", linked_pad) playsound(linked_pad, 'sound/weapons/emitter2.ogg', 25, 1, extrarange = 3, falloff = 5) - + transport_objects(get_turf(linked_pad)) /obj/machinery/power/quantumpad/proc/initMappedLink() @@ -245,7 +245,7 @@ // Well, I guess you can do it! if(!A?.requires_power) return TRUE - + // Otherwise we'll need a powernet var/power_to_use = 10000 / power_efficiency if(boosted) @@ -277,7 +277,7 @@ // Well, if there's no gateway map we're definitely not on it if(!GLOB.gateway_away) return TRUE - + // Traverse! if(GLOB.gateway_away.calibrated) return TRUE @@ -285,25 +285,25 @@ var/list/gateway_zs = GetConnectedZlevels(GLOB.gateway_away.z) if(z in gateway_zs) return FALSE // It's not calibrated and we're in a connected z - + return TRUE /obj/machinery/power/quantumpad/proc/gateway_scatter(mob/user) var/obj/effect/landmark/dest = pick(awaydestinations) if(!dest) - to_chat(user, "Nothing happens... maybe there's no signal to the remote pad?") + to_chat(user, span_warning("Nothing happens... maybe there's no signal to the remote pad?")) return // Insufficient power if(!use_teleport_power()) - to_chat(user, "Power is not sufficient to complete a teleport. Teleport aborted.") + to_chat(user, span_warning("Power is not sufficient to complete a teleport. Teleport aborted.")) return sparks() - to_chat(user, "You feel yourself pulled in different directions, before ending up not far from where you started.") + to_chat(user, span_warning("You feel yourself pulled in different directions, before ending up not far from where you started.")) flick("qpad-beam-out", src) transport_objects(get_turf(dest)) -/obj/item/device/quantum_pad_booster +/obj/item/quantum_pad_booster icon = 'icons/obj/device_vr.dmi' name = "quantum pad particle booster" desc = "A deceptively simple interface for increasing the mass of objects a quantum pad is capable of teleporting, at the cost of increased power draw." @@ -311,4 +311,4 @@ force = 9 sharp = TRUE item_state = "analyzer" - icon_state = "hacktool" \ No newline at end of file + icon_state = "hacktool" diff --git a/code/modules/telesci/telepad.dm b/code/modules/telesci/telepad.dm index 334997397d1..b8979bdf34d 100644 --- a/code/modules/telesci/telepad.dm +++ b/code/modules/telesci/telepad.dm @@ -6,7 +6,7 @@ icon_state = "pad-idle" anchored = TRUE use_power = USE_POWER_IDLE - circuit = /obj/item/weapon/circuitboard/telesci_pad + circuit = /obj/item/circuitboard/telesci_pad idle_power_usage = 200 active_power_usage = 5000 var/efficiency @@ -14,17 +14,17 @@ /obj/machinery/telepad/New() ..() component_parts = list() - component_parts += new /obj/item/weapon/bluespace_crystal(src) - component_parts += new /obj/item/weapon/stock_parts/capacitor(src) - component_parts += new /obj/item/weapon/stock_parts/capacitor(src) - component_parts += new /obj/item/weapon/stock_parts/console_screen(src) + component_parts += new /obj/item/bluespace_crystal(src) + component_parts += new /obj/item/stock_parts/capacitor(src) + component_parts += new /obj/item/stock_parts/capacitor(src) + component_parts += new /obj/item/stock_parts/console_screen(src) component_parts += new /obj/item/stack/cable_coil(src, 5) RefreshParts() update_icon() /obj/machinery/telepad/RefreshParts() var/E - for(var/obj/item/weapon/stock_parts/capacitor/C in component_parts) + for(var/obj/item/stock_parts/capacitor/C in component_parts) E += C.rating efficiency = E @@ -38,10 +38,10 @@ if(default_part_replacement(user, W)) return if(panel_open) - if(istype(W, /obj/item/device/multitool)) - var/obj/item/device/multitool/M = W + if(istype(W, /obj/item/multitool)) + var/obj/item/multitool/M = W M.connectable = src - to_chat(user, "You save the data in the [M.name]'s buffer.") + to_chat(user, span_warning("You save the data in the [M.name]'s buffer.")) return 1 return ..() diff --git a/code/modules/telesci/telesci_computer.dm b/code/modules/telesci/telesci_computer.dm index 304cd3f4aac..423c07e585e 100644 --- a/code/modules/telesci/telesci_computer.dm +++ b/code/modules/telesci/telesci_computer.dm @@ -3,7 +3,7 @@ desc = "Used to teleport objects to and from the telescience telepad." icon_screen = "teleport" icon_keyboard = "teleport_key" - circuit = /obj/item/weapon/circuitboard/telesci_console + circuit = /obj/item/circuitboard/telesci_console var/sending = 1 var/obj/machinery/telepad/telepad = null var/temp_msg = "Telescience control console initialized. Welcome." @@ -27,7 +27,7 @@ // Used to adjust OP-ness: (4 crystals * 6 efficiency * 12.5 coefficient) = 300 range. var/powerCoefficient = 12.5 var/list/crystals = list() - var/obj/item/device/gps/inserted_gps + var/obj/item/gps/inserted_gps var/overmap_range = 3 /obj/machinery/computer/telescience/Destroy() @@ -46,31 +46,31 @@ . = ..() recalibrate() for(var/i = 1; i <= starting_crystals; i++) - crystals += new /obj/item/weapon/bluespace_crystal/artificial(src) // starting crystals + crystals += new /obj/item/bluespace_crystal/artificial(src) // starting crystals /obj/machinery/computer/telescience/attackby(obj/item/W, mob/user, params) - if(istype(W, /obj/item/weapon/bluespace_crystal)) + if(istype(W, /obj/item/bluespace_crystal)) if(crystals.len >= max_crystals) - to_chat(user, "There are not enough crystal slots.") + to_chat(user, span_warning("There are not enough crystal slots.")) return if(!user.unEquip(W)) return crystals += W W.forceMove(src) - user.visible_message("[user] inserts [W] into \the [src]'s crystal slot.", "You insert [W] into \the [src]'s crystal slot.") + user.visible_message("[user] inserts [W] into \the [src]'s crystal slot.", span_notice("You insert [W] into \the [src]'s crystal slot.")) updateDialog() - else if(istype(W, /obj/item/device/gps)) + else if(istype(W, /obj/item/gps)) if(!inserted_gps) inserted_gps = W user.unEquip(W) W.forceMove(src) - user.visible_message("[user] inserts [W] into \the [src]'s GPS device slot.", "You insert [W] into \the [src]'s GPS device slot.") - else if(istype(W, /obj/item/device/multitool)) - var/obj/item/device/multitool/M = W + user.visible_message("[user] inserts [W] into \the [src]'s GPS device slot.", span_notice("You insert [W] into \the [src]'s GPS device slot.")) + else if(istype(W, /obj/item/multitool)) + var/obj/item/multitool/M = W if(M.connectable && istype(M.connectable, /obj/machinery/telepad)) telepad = M.connectable M.connectable = null - to_chat(user, "You upload the data from the [W.name]'s buffer.") + to_chat(user, span_warning("You upload the data from the [W.name]'s buffer.")) else return ..() @@ -160,11 +160,11 @@ if("send") sending = 1 - teleport(usr) + teleport(ui.user) if("receive") sending = 0 - teleport(usr) + teleport(ui.user) if("recal") recalibrate() @@ -191,7 +191,7 @@ switch(rand(99)) if(0 to 85) sparks() - visible_message("The telepad weakly fizzles.") + visible_message(span_warning("The telepad weakly fizzles.")) return if(86 to 90) // Irradiate everyone in telescience! @@ -200,7 +200,7 @@ sparks() for(var/mob/living/carbon/human/M in viewers(L, null)) M.apply_effect((rand(10, 20)), IRRADIATE, 0) - to_chat(M, "You feel strange.") + to_chat(M, span_warning("You feel strange.")) return if(91 to 98) // They did the mash! (They did the monster mash!) The monster mash! (It was a graveyard smash!) @@ -219,7 +219,7 @@ return if(99) sparks() - visible_message("The telepad changes colors rapidly, and opens a portal, and you see what your mind seems to think is the very threads that hold the pattern of the universe together, and a eerie sense of paranoia creeps into you.") + visible_message(span_warning("The telepad changes colors rapidly, and opens a portal, and you see what your mind seems to think is the very threads that hold the pattern of the universe together, and a eerie sense of paranoia creeps into you.")) spacevine_infestation() return @@ -273,7 +273,7 @@ S.set_up(5, 1, get_turf(telepad)) S.start() - if(!A || (A.flags & BLUE_SHIELDED)) + if(!A || (A.flag_check(BLUE_SHIELDED))) telefail() temp_msg = "ERROR! Target is shielded from bluespace intersection!" return diff --git a/code/modules/tension/tension.dm b/code/modules/tension/tension.dm index 1bef2025973..8a8955920f9 100644 --- a/code/modules/tension/tension.dm +++ b/code/modules/tension/tension.dm @@ -180,9 +180,9 @@ if(!isnull(M.outgoing_melee_damage_percent)) weapon_damage *= M.outgoing_melee_damage_percent - if(istype(I, /obj/item/weapon/gun)) + if(istype(I, /obj/item/gun)) will_point_blank = TRUE - var/obj/item/weapon/gun/G = I + var/obj/item/gun/G = I var/obj/item/projectile/P P = new G.projectile_type() diff --git a/code/modules/tgchat/chat_verbs.dm b/code/modules/tgchat/chat_verbs.dm index 29edc5b2279..53cb07a84c0 100644 --- a/code/modules/tgchat/chat_verbs.dm +++ b/code/modules/tgchat/chat_verbs.dm @@ -1,5 +1,5 @@ /client/verb/export_chat() - set category = "OOC" + set category = "OOC.Chat" set name = "Export Chatlog" set desc = "Allows to trigger the chat export" diff --git a/code/modules/tgs/LICENSE b/code/modules/tgs/LICENSE index 2bedf9a63aa..324c48e993e 100644 --- a/code/modules/tgs/LICENSE +++ b/code/modules/tgs/LICENSE @@ -1,6 +1,6 @@ The MIT License -Copyright (c) 2017-2023 Jordan Brown +Copyright (c) 2017-2024 Jordan Brown Permission is hereby granted, free of charge, to any person obtaining a copy of this software and diff --git a/code/modules/tgs/README.md b/code/modules/tgs/README.md index 6319028d810..35ca73d7e9a 100644 --- a/code/modules/tgs/README.md +++ b/code/modules/tgs/README.md @@ -1,6 +1,6 @@ # DMAPI Internals -This folder should be placed on it's own inside a codebase that wishes to use the TGS DMAPI. Warranty void if modified. +This folder should be placed on its own inside a codebase that wishes to use the TGS DMAPI. Warranty void if modified. - [includes.dm](./includes.dm) is the file that should be included by DM code, it handles including the rest. - The [core](./core) folder includes all code not directly part of any API version. diff --git a/code/modules/tgs/core/README.md b/code/modules/tgs/core/README.md index b82d8f49e29..965e21b549a 100644 --- a/code/modules/tgs/core/README.md +++ b/code/modules/tgs/core/README.md @@ -3,7 +3,7 @@ This folder contains all DMAPI code not directly involved in an API. - [_definitions.dm](./definitions.dm) contains defines needed across DMAPI internals. +- [byond_world_export.dm](./byond_world_export.dm) contains the default `/datum/tgs_http_handler` implementation which uses `world.Export()`. - [core.dm](./core.dm) contains the implementations of the `/world/proc/TgsXXX()` procs. Many map directly to the `/datum/tgs_api` functions. It also contains the /datum selection and setup code. - [datum.dm](./datum.dm) contains the `/datum/tgs_api` declarations that all APIs must implement. - [tgs_version.dm](./tgs_version.dm) contains the `/datum/tgs_version` definition -- diff --git a/code/modules/tgs/core/byond_world_export.dm b/code/modules/tgs/core/byond_world_export.dm new file mode 100644 index 00000000000..6ef8d841b8f --- /dev/null +++ b/code/modules/tgs/core/byond_world_export.dm @@ -0,0 +1,22 @@ +/datum/tgs_http_handler/byond_world_export + +/datum/tgs_http_handler/byond_world_export/PerformGet(url) + // This is an infinite sleep until we get a response + var/export_response = world.Export(url) + TGS_DEBUG_LOG("byond_world_export: Export complete") + + if(!export_response) + TGS_ERROR_LOG("byond_world_export: Failed request: [url]") + return new /datum/tgs_http_result(null, FALSE) + + var/content = export_response["CONTENT"] + if(!content) + TGS_ERROR_LOG("byond_world_export: Failed request, missing content!") + return new /datum/tgs_http_result(null, FALSE) + + var/response_json = TGS_FILE2TEXT_NATIVE(content) + if(!response_json) + TGS_ERROR_LOG("byond_world_export: Failed request, failed to load content!") + return new /datum/tgs_http_result(null, FALSE) + + return new /datum/tgs_http_result(response_json, TRUE) diff --git a/code/modules/tgs/core/core.dm b/code/modules/tgs/core/core.dm index 8be96f27404..63cb5a2c351 100644 --- a/code/modules/tgs/core/core.dm +++ b/code/modules/tgs/core/core.dm @@ -1,4 +1,4 @@ -/world/TgsNew(datum/tgs_event_handler/event_handler, minimum_required_security_level = TGS_SECURITY_ULTRASAFE) +/world/TgsNew(datum/tgs_event_handler/event_handler, minimum_required_security_level = TGS_SECURITY_ULTRASAFE, datum/tgs_http_handler/http_handler = null) var/current_api = TGS_READ_GLOBAL(tgs) if(current_api) TGS_ERROR_LOG("API datum already set (\ref[current_api] ([current_api]))! Was TgsNew() called more than once?") @@ -55,7 +55,10 @@ TGS_ERROR_LOG("Invalid parameter for event_handler: [event_handler]") event_handler = null - var/datum/tgs_api/new_api = new api_datum(event_handler, version) + if(!http_handler) + http_handler = new /datum/tgs_http_handler/byond_world_export + + var/datum/tgs_api/new_api = new api_datum(event_handler, version, http_handler) TGS_WRITE_GLOBAL(tgs, new_api) @@ -166,3 +169,11 @@ var/datum/tgs_api/api = TGS_READ_GLOBAL(tgs) if(api) return api.Visibility() + +/world/TgsTriggerEvent(event_name, list/parameters, wait_for_completion = FALSE) + var/datum/tgs_api/api = TGS_READ_GLOBAL(tgs) + if(api) + if(!istype(parameters, /list)) + parameters = list() + + return api.TriggerEvent(event_name, parameters, wait_for_completion) diff --git a/code/modules/tgs/core/datum.dm b/code/modules/tgs/core/datum.dm index 07ce3b68458..3ca53e9bf7c 100644 --- a/code/modules/tgs/core/datum.dm +++ b/code/modules/tgs/core/datum.dm @@ -6,8 +6,8 @@ TGS_DEFINE_AND_SET_GLOBAL(tgs, null) var/list/warned_deprecated_command_runs -/datum/tgs_api/New(datum/tgs_event_handler/event_handler, datum/tgs_version/version) - . = ..() +/datum/tgs_api/New(datum/tgs_event_handler/event_handler, datum/tgs_version/version, datum/tgs_http_handler/http_handler) + ..() src.event_handler = event_handler src.version = version @@ -17,7 +17,7 @@ TGS_DEFINE_AND_SET_GLOBAL(tgs, null) 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) + sleep(world.tick_lag) TGS_DEBUG_LOG("BYOND DIDN'T TERMINATE THE WORLD!!! TICK IS: [world.time], sleep_offline: [world.sleep_offline]") /datum/tgs_api/latest @@ -69,3 +69,6 @@ TGS_PROTECT_DATUM(/datum/tgs_api) /datum/tgs_api/proc/Visibility() return TGS_UNIMPLEMENTED + +/datum/tgs_api/proc/TriggerEvent(event_name, list/parameters, wait_for_completion) + return FALSE diff --git a/code/modules/tgs/core/tgs_version.dm b/code/modules/tgs/core/tgs_version.dm index a5dae1241a3..bc561e67487 100644 --- a/code/modules/tgs/core/tgs_version.dm +++ b/code/modules/tgs/core/tgs_version.dm @@ -1,4 +1,5 @@ /datum/tgs_version/New(raw_parameter) + ..() src.raw_parameter = raw_parameter deprefixed_parameter = replacetext(raw_parameter, "/tg/station 13 Server v", "") var/list/version_bits = splittext(deprefixed_parameter, ".") diff --git a/code/modules/tgs/includes.dm b/code/modules/tgs/includes.dm index fcbe40b378f..5e5344598f5 100644 --- a/code/modules/tgs/includes.dm +++ b/code/modules/tgs/includes.dm @@ -1,4 +1,5 @@ #include "core\_definitions.dm" +#include "core\byond_world_export.dm" #include "core\core.dm" #include "core\datum.dm" #include "core\tgs_version.dm" diff --git a/code/modules/tgs/v4/api.dm b/code/modules/tgs/v4/api.dm index 945e2e41176..7c87922750b 100644 --- a/code/modules/tgs/v4/api.dm +++ b/code/modules/tgs/v4/api.dm @@ -181,7 +181,7 @@ var/json = json_encode(data) while(requesting_new_port && !override_requesting_new_port) - sleep(1) + sleep(world.tick_lag) //we need some port open at this point to facilitate return communication if(!world.port) @@ -209,7 +209,7 @@ requesting_new_port = FALSE while(export_lock) - sleep(1) + sleep(world.tick_lag) export_lock = TRUE last_interop_response = null @@ -217,7 +217,7 @@ text2file(json, server_commands_json_path) for(var/I = 0; I < EXPORT_TIMEOUT_DS && !last_interop_response; ++I) - sleep(1) + sleep(world.tick_lag) if(!last_interop_response) TGS_ERROR_LOG("Failed to get export result for: [json]") diff --git a/code/modules/tgs/v5/__interop_version.dm b/code/modules/tgs/v5/__interop_version.dm index 616263098fd..29ea239ad84 100644 --- a/code/modules/tgs/v5/__interop_version.dm +++ b/code/modules/tgs/v5/__interop_version.dm @@ -1 +1 @@ -"5.8.0" +"5.10.0" diff --git a/code/modules/tgs/v5/_defines.dm b/code/modules/tgs/v5/_defines.dm index c8208bff5ca..fca403e22b8 100644 --- a/code/modules/tgs/v5/_defines.dm +++ b/code/modules/tgs/v5/_defines.dm @@ -14,7 +14,8 @@ #define DMAPI5_BRIDGE_COMMAND_KILL 4 #define DMAPI5_BRIDGE_COMMAND_CHAT_SEND 5 #define DMAPI5_BRIDGE_COMMAND_CHUNK 6 -#define DMAPI5_BRIDGE_COMMAND_ADD_MEMBER_ROLE 7 // VOREStation Edit +#define DMAPI5_BRIDGE_COMMAND_EVENT 7 +#define DMAPI5_BRIDGE_COMMAND_ADD_MEMBER_ROLE 8 // VOREStation Edit #define DMAPI5_PARAMETER_ACCESS_IDENTIFIER "accessIdentifier" #define DMAPI5_PARAMETER_CUSTOM_COMMANDS "customCommands" @@ -35,6 +36,7 @@ #define DMAPI5_BRIDGE_PARAMETER_VERSION "version" #define DMAPI5_BRIDGE_PARAMETER_CHAT_MESSAGE "chatMessage" #define DMAPI5_BRIDGE_PARAMETER_MINIMUM_SECURITY_LEVEL "minimumSecurityLevel" +#define DMAPI5_BRIDGE_PARAMETER_EVENT_INVOCATION "eventInvocation" #define DMAPI5_BRIDGE_PARAMETER_CHAT_USER_ID "chatUserId" // VOREStation Edit #define DMAPI5_BRIDGE_RESPONSE_NEW_PORT "newPort" @@ -83,7 +85,8 @@ #define DMAPI5_TOPIC_COMMAND_SEND_CHUNK 9 #define DMAPI5_TOPIC_COMMAND_RECEIVE_CHUNK 10 #define DMAPI5_TOPIC_COMMAND_RECEIVE_BROADCAST 11 -#define DMAPI5_TOPIC_COMMAND_GET_CHAT_COMMANDS 12 // VOREStation Edit +#define DMAPI5_TOPIC_COMMAND_COMPLETE_EVENT 12 +#define DMAPI5_TOPIC_COMMAND_GET_CHAT_COMMANDS 13 // VOREStation Edit #define DMAPI5_TOPIC_PARAMETER_COMMAND_TYPE "commandType" #define DMAPI5_TOPIC_PARAMETER_CHAT_COMMAND "chatCommand" @@ -95,6 +98,7 @@ #define DMAPI5_TOPIC_PARAMETER_NEW_SERVER_VERSION "newServerVersion" #define DMAPI5_TOPIC_PARAMETER_BROADCAST_MESSAGE "broadcastMessage" +#define DMAPI5_TOPIC_RESPONSE_CLIENT_COUNT "clientCount" #define DMAPI5_TOPIC_RESPONSE_COMMAND_RESPONSE "commandResponse" #define DMAPI5_TOPIC_RESPONSE_COMMAND_RESPONSE_MESSAGE "commandResponseMessage" #define DMAPI5_TOPIC_RESPONSE_CHAT_RESPONSES "chatResponses" @@ -119,3 +123,9 @@ #define DMAPI5_CUSTOM_CHAT_COMMAND_NAME "name" #define DMAPI5_CUSTOM_CHAT_COMMAND_HELP_TEXT "helpText" #define DMAPI5_CUSTOM_CHAT_COMMAND_ADMIN_ONLY "adminOnly" + +#define DMAPI5_EVENT_ID "eventId" + +#define DMAPI5_EVENT_INVOCATION_NAME "eventName" +#define DMAPI5_EVENT_INVOCATION_PARAMETERS "parameters" +#define DMAPI5_EVENT_INVOCATION_NOTIFY_COMPLETION "notifyCompletion" diff --git a/code/modules/tgs/v5/api.dm b/code/modules/tgs/v5/api.dm index 25d49b3e3bd..3e328fc7c27 100644 --- a/code/modules/tgs/v5/api.dm +++ b/code/modules/tgs/v5/api.dm @@ -8,8 +8,12 @@ var/reboot_mode = TGS_REBOOT_MODE_NORMAL + /// List of chat messages list()s that attempted to be sent during a topic call. To be bundled in the result of the call var/list/intercepted_message_queue + /// List of chat messages list()s that attempted to be sent during a topic call. To be bundled in the result of the call + var/list/offline_message_queue + var/list/custom_commands var/list/test_merges @@ -23,11 +27,16 @@ var/chunked_requests = 0 var/list/chunked_topics = list() + var/list/pending_events = list() + var/detached = FALSE -/datum/tgs_api/v5/New() + var/datum/tgs_http_handler/http_handler + +/datum/tgs_api/v5/New(datum/tgs_event_handler/event_handler, datum/tgs_version/version, datum/tgs_http_handler/http_handler) . = ..() interop_version = version + src.http_handler = http_handler TGS_DEBUG_LOG("V5 API created: [json_encode(args)]") /datum/tgs_api/v5/ApiVersion() @@ -42,6 +51,12 @@ var/datum/tgs_version/api_version = ApiVersion() version = null // we want this to be the TGS version, not the interop version + + // sleep once to prevent an issue where world.Export on the first tick can hang indefinitely + TGS_DEBUG_LOG("Starting Export bug prevention sleep tick. time:[world.time] sleep_offline:[world.sleep_offline]") + sleep(world.tick_lag) + TGS_DEBUG_LOG("Export bug prevention sleep complete") + var/list/bridge_response = Bridge(DMAPI5_BRIDGE_COMMAND_STARTUP, list(DMAPI5_BRIDGE_PARAMETER_MINIMUM_SECURITY_LEVEL = minimum_required_security_level, DMAPI5_BRIDGE_PARAMETER_VERSION = api_version.raw_parameter, DMAPI5_PARAMETER_CUSTOM_COMMANDS = ListCustomCommands(), DMAPI5_PARAMETER_TOPIC_PORT = GetTopicPort())) if(!istype(bridge_response)) TGS_ERROR_LOG("Failed initial bridge request!") @@ -121,7 +136,7 @@ TGS_DEBUG_LOG("RequireInitialBridgeResponse: Starting sleep") logged = TRUE - sleep(1) + sleep(world.tick_lag) TGS_DEBUG_LOG("RequireInitialBridgeResponse: Passed") @@ -194,17 +209,7 @@ var/datum/tgs_chat_channel/channel = I ids += channel.id - message2 = UpgradeDeprecatedChatMessage(message2) - - if (!length(channels)) - return - - var/list/data = message2._interop_serialize() - data[DMAPI5_CHAT_MESSAGE_CHANNEL_IDS] = ids - if(intercepted_message_queue) - intercepted_message_queue += list(data) - else - Bridge(DMAPI5_BRIDGE_COMMAND_CHAT_SEND, list(DMAPI5_BRIDGE_PARAMETER_CHAT_MESSAGE = data)) + SendChatMessageRaw(message2, ids) /datum/tgs_api/v5/ChatTargetedBroadcast(datum/tgs_message_content/message2, admin_only) var/list/channels = list() @@ -213,32 +218,82 @@ if (!channel.is_private_channel && ((channel.is_admin_channel && admin_only) || (!channel.is_admin_channel && !admin_only))) channels += channel.id + SendChatMessageRaw(message2, channels) + +/datum/tgs_api/v5/ChatPrivateMessage(datum/tgs_message_content/message2, datum/tgs_chat_user/user) + SendChatMessageRaw(message2, list(user.channel.id)) + +/datum/tgs_api/v5/proc/SendChatMessageRaw(datum/tgs_message_content/message2, list/channel_ids) message2 = UpgradeDeprecatedChatMessage(message2) - if (!length(channels)) + if (!length(channel_ids)) return var/list/data = message2._interop_serialize() - data[DMAPI5_CHAT_MESSAGE_CHANNEL_IDS] = channels + data[DMAPI5_CHAT_MESSAGE_CHANNEL_IDS] = channel_ids if(intercepted_message_queue) intercepted_message_queue += list(data) - else - Bridge(DMAPI5_BRIDGE_COMMAND_CHAT_SEND, list(DMAPI5_BRIDGE_PARAMETER_CHAT_MESSAGE = data)) + return -/datum/tgs_api/v5/ChatPrivateMessage(datum/tgs_message_content/message2, datum/tgs_chat_user/user) - message2 = UpgradeDeprecatedChatMessage(message2) - var/list/data = message2._interop_serialize() - data[DMAPI5_CHAT_MESSAGE_CHANNEL_IDS] = list(user.channel.id) - if(intercepted_message_queue) - intercepted_message_queue += list(data) + if(offline_message_queue) + offline_message_queue += list(data) + return + + if(detached) + offline_message_queue = list(data) + + WaitForReattach(FALSE) + + data = offline_message_queue + offline_message_queue = null + + for(var/queued_message in data) + SendChatDataRaw(queued_message) else - Bridge(DMAPI5_BRIDGE_COMMAND_CHAT_SEND, list(DMAPI5_BRIDGE_PARAMETER_CHAT_MESSAGE = data)) + SendChatDataRaw(data) + +/datum/tgs_api/v5/proc/SendChatDataRaw(list/data) + Bridge(DMAPI5_BRIDGE_COMMAND_CHAT_SEND, list(DMAPI5_BRIDGE_PARAMETER_CHAT_MESSAGE = data)) /datum/tgs_api/v5/ChatChannelInfo() RequireInitialBridgeResponse() WaitForReattach(TRUE) return chat_channels.Copy() +/datum/tgs_api/v5/TriggerEvent(event_name, list/parameters, wait_for_completion) + RequireInitialBridgeResponse() + WaitForReattach(TRUE) + + if(interop_version.minor < 9) + TGS_WARNING_LOG("Interop version too low for custom events!") + return FALSE + + var/str_parameters = list() + for(var/i in parameters) + str_parameters += "[i]" + + var/list/response = Bridge(DMAPI5_BRIDGE_COMMAND_EVENT, list(DMAPI5_BRIDGE_PARAMETER_EVENT_INVOCATION = list(DMAPI5_EVENT_INVOCATION_NAME = event_name, DMAPI5_EVENT_INVOCATION_PARAMETERS = str_parameters, DMAPI5_EVENT_INVOCATION_NOTIFY_COMPLETION = wait_for_completion))) + if(!response) + return FALSE + + var/event_id = response[DMAPI5_EVENT_ID] + if(!event_id) + return FALSE + + TGS_DEBUG_LOG("Created event ID: [event_id]") + if(!wait_for_completion) + return TRUE + + TGS_DEBUG_LOG("Waiting for completion of event ID: [event_id]") + + while(!pending_events[event_id]) + sleep(world.tick_lag) + + TGS_DEBUG_LOG("Completed wait on event ID: [event_id]") + pending_events -= event_id + + return TRUE + /datum/tgs_api/v5/proc/DecodeChannels(chat_update_json) TGS_DEBUG_LOG("DecodeChannels()") var/list/chat_channels_json = chat_update_json[DMAPI5_CHAT_UPDATE_CHANNELS] diff --git a/code/modules/tgs/v5/api_vgs.dm b/code/modules/tgs/v5/api_vgs.dm index 9ed97126ab3..4fe5a05158a 100644 --- a/code/modules/tgs/v5/api_vgs.dm +++ b/code/modules/tgs/v5/api_vgs.dm @@ -10,7 +10,7 @@ GLOBAL_DATUM(vgs, /datum/tgs_api) return // If we don't have a configured access identifier we aren't meant to use VGS - if(!config.vgs_access_identifier) + if(!CONFIG_GET(string/vgs_access_identifier)) TGS_INFO_LOG("Skipping VGS: No access identifier configured") return @@ -60,9 +60,9 @@ GLOBAL_DATUM(vgs, /datum/tgs_api) // Override to prevent error messages from the lack of revision/test_merge information, and to use config isntead of params. /datum/tgs_api/v5/vgs1/OnWorldNew() - if(config.vgs_server_port) - server_port = config.vgs_server_port - access_identifier = config.vgs_access_identifier + if(CONFIG_GET(number/vgs_server_port)) + server_port = CONFIG_GET(number/vgs_server_port) + access_identifier = CONFIG_GET(string/vgs_access_identifier) var/list/bridge_response = Bridge(DMAPI5_BRIDGE_COMMAND_STARTUP, list(DMAPI5_PARAMETER_CUSTOM_COMMANDS = ListCustomCommands())) // YW Edit: dmapi update not sure if i need to update it or not but better safe then sorry if(!istype(bridge_response)) diff --git a/code/modules/tgs/v5/bridge.dm b/code/modules/tgs/v5/bridge.dm index a0ab3598767..62201fcc9e5 100644 --- a/code/modules/tgs/v5/bridge.dm +++ b/code/modules/tgs/v5/bridge.dm @@ -65,7 +65,7 @@ if(detached) // Wait up to one minute for(var/i in 1 to 600) - sleep(1) + sleep(world.tick_lag) if(!detached && (!require_channels || length(chat_channels))) break @@ -77,25 +77,25 @@ /datum/tgs_api/v5/proc/PerformBridgeRequest(bridge_request) WaitForReattach(FALSE) - // This is an infinite sleep until we get a response - var/export_response = world.Export(bridge_request) - if(!export_response) - TGS_ERROR_LOG("Failed bridge request: [bridge_request]") + TGS_DEBUG_LOG("Bridge request start") + var/datum/tgs_http_result/result = http_handler.PerformGet(bridge_request) + TGS_DEBUG_LOG("Bridge request complete") + + if(isnull(result)) + TGS_ERROR_LOG("Failed bridge request, handler returned null!") return - var/content = export_response["CONTENT"] - if(!content) - TGS_ERROR_LOG("Failed bridge request, missing content!") + if(!istype(result) || result.type != /datum/tgs_http_result) + TGS_ERROR_LOG("Failed bridge request, handler returned non-[/datum/tgs_http_result]!") return - var/response_json = file2text(content) - if(!response_json) - TGS_ERROR_LOG("Failed bridge request, failed to load content!") + if(!result.success) + TGS_DEBUG_LOG("Failed bridge request, HTTP request failed!") return - var/list/bridge_response = json_decode(response_json) + var/list/bridge_response = json_decode(result.response_text) if(!bridge_response) - TGS_ERROR_LOG("Failed bridge request, bad json: [response_json]") + TGS_ERROR_LOG("Failed bridge request, bad json: [result.response_text]") return var/error = bridge_response[DMAPI5_RESPONSE_ERROR_MESSAGE] diff --git a/code/modules/tgs/v5/chat_commands.dm b/code/modules/tgs/v5/chat_commands.dm index 6fcc8bc235a..1244b2a665b 100644 --- a/code/modules/tgs/v5/chat_commands.dm +++ b/code/modules/tgs/v5/chat_commands.dm @@ -128,8 +128,8 @@ GLOBAL_LIST_EMPTY(pending_discord_registrations) return "[sender.friendly_name], it appears you've already registered your chat and game IDs. If you've changed game or chat usernames, please contact an administrator for help." // Okay. We found them, they're in the DB, and they have no discord ID set. - var/message = "A request has been sent from Discord to validate your Byond username, by '[sender.friendly_name]' in '[sender.channel.friendly_name]'\ -
      If you did not send this request, do not click the link below, and do notify an administrator in-game or on Discord ASAP.\ + var/message = span_notice("A request has been sent from Discord to validate your Byond username, by '[sender.friendly_name]' in '[sender.channel.friendly_name]'") + "\ +
      " + span_warning("If you did not send this request, do not click the link below, and do notify an administrator in-game or on Discord ASAP.") + "\
      Click Here if you authorized this registration attempt. This link is valid for 10 minutes." to_chat(user, message) @@ -169,5 +169,5 @@ GLOBAL_LIST_EMPTY(pending_discord_registrations) /datum/tgs_chat_command/readfax/Run(sender, params) var/list/all_params = splittext(params, " ") var/faxid = all_params[1] - var/faxmsg = return_file_text("[config.fax_export_dir]/fax_[faxid].html") + var/faxmsg = return_file_text("[CONFIG_GET(string/fax_export_dir)]/fax_[faxid].html") return "FAX: ```[strip_html_properly(faxmsg)]```" diff --git a/code/modules/tgs/v5/topic.dm b/code/modules/tgs/v5/topic.dm index 6f6ebcc4064..d5407944601 100644 --- a/code/modules/tgs/v5/topic.dm +++ b/code/modules/tgs/v5/topic.dm @@ -154,7 +154,9 @@ if(DMAPI5_TOPIC_COMMAND_HEALTHCHECK) if(event_handler && event_handler.receive_health_checks) event_handler.HandleEvent(TGS_EVENT_HEALTH_CHECK) - return TopicResponse() + var/list/health_check_response = TopicResponse() + health_check_response[DMAPI5_TOPIC_RESPONSE_CLIENT_COUNT] = TGS_CLIENT_COUNT + return health_check_response; if(DMAPI5_TOPIC_COMMAND_WATCHDOG_REATTACH) detached = FALSE @@ -181,6 +183,10 @@ var/list/reattach_response = TopicResponse(error_message) reattach_response[DMAPI5_PARAMETER_CUSTOM_COMMANDS] = ListCustomCommands() reattach_response[DMAPI5_PARAMETER_TOPIC_PORT] = GetTopicPort() + + for(var/eventId in pending_events) + pending_events[eventId] = TRUE + return reattach_response if(DMAPI5_TOPIC_COMMAND_SEND_CHUNK) @@ -281,6 +287,15 @@ TGS_WORLD_ANNOUNCE(message) return TopicResponse() + if(DMAPI5_TOPIC_COMMAND_COMPLETE_EVENT) + var/event_id = topic_parameters[DMAPI5_EVENT_ID] + if (!istext(event_id)) + return TopicResponse("Invalid or missing [DMAPI5_EVENT_ID]") + + TGS_DEBUG_LOG("Completing event ID [event_id]...") + pending_events[event_id] = TRUE + return TopicResponse() + return TopicResponse("Unknown command: [command]") /datum/tgs_api/v5/proc/WorldBroadcast(message) diff --git a/code/modules/tgs/v5/undefs.dm b/code/modules/tgs/v5/undefs.dm index d531d4b7b9d..ca49e46cdff 100644 --- a/code/modules/tgs/v5/undefs.dm +++ b/code/modules/tgs/v5/undefs.dm @@ -14,6 +14,7 @@ #undef DMAPI5_BRIDGE_COMMAND_KILL #undef DMAPI5_BRIDGE_COMMAND_CHAT_SEND #undef DMAPI5_BRIDGE_COMMAND_CHUNK +#undef DMAPI5_BRIDGE_COMMAND_EVENT #undef DMAPI5_PARAMETER_ACCESS_IDENTIFIER #undef DMAPI5_PARAMETER_CUSTOM_COMMANDS @@ -34,6 +35,7 @@ #undef DMAPI5_BRIDGE_PARAMETER_VERSION #undef DMAPI5_BRIDGE_PARAMETER_CHAT_MESSAGE #undef DMAPI5_BRIDGE_PARAMETER_MINIMUM_SECURITY_LEVEL +#undef DMAPI5_BRIDGE_PARAMETER_EVENT_INVOCATION #undef DMAPI5_BRIDGE_RESPONSE_NEW_PORT #undef DMAPI5_BRIDGE_RESPONSE_RUNTIME_INFORMATION @@ -81,6 +83,7 @@ #undef DMAPI5_TOPIC_COMMAND_SEND_CHUNK #undef DMAPI5_TOPIC_COMMAND_RECEIVE_CHUNK #undef DMAPI5_TOPIC_COMMAND_RECEIVE_BROADCAST +#undef DMAPI5_TOPIC_COMMAND_COMPLETE_EVENT #undef DMAPI5_TOPIC_PARAMETER_COMMAND_TYPE #undef DMAPI5_TOPIC_PARAMETER_CHAT_COMMAND @@ -92,6 +95,7 @@ #undef DMAPI5_TOPIC_PARAMETER_NEW_SERVER_VERSION #undef DMAPI5_TOPIC_PARAMETER_BROADCAST_MESSAGE +#undef DMAPI5_TOPIC_RESPONSE_CLIENT_COUNT #undef DMAPI5_TOPIC_RESPONSE_COMMAND_RESPONSE #undef DMAPI5_TOPIC_RESPONSE_COMMAND_RESPONSE_MESSAGE #undef DMAPI5_TOPIC_RESPONSE_CHAT_RESPONSES @@ -116,3 +120,9 @@ #undef DMAPI5_CUSTOM_CHAT_COMMAND_NAME #undef DMAPI5_CUSTOM_CHAT_COMMAND_HELP_TEXT #undef DMAPI5_CUSTOM_CHAT_COMMAND_ADMIN_ONLY + +#undef DMAPI5_EVENT_ID + +#undef DMAPI5_EVENT_INVOCATION_NAME +#undef DMAPI5_EVENT_INVOCATION_PARAMETERS +#undef DMAPI5_EVENT_INVOCATION_NOTIFY_COMPLETION diff --git a/code/modules/tgui/external.dm b/code/modules/tgui/external.dm index 85b48569ba7..42c82412926 100644 --- a/code/modules/tgui/external.dm +++ b/code/modules/tgui/external.dm @@ -90,7 +90,7 @@ */ /datum/proc/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state) SHOULD_CALL_PARENT(TRUE) - SEND_SIGNAL(src, COMSIG_UI_ACT, usr, action) + SEND_SIGNAL(src, COMSIG_UI_ACT, ui.user, action) // If UI is not interactive or usr calling Topic is not the UI user, bail. if(!ui || ui.status != STATUS_INTERACTIVE) return TRUE @@ -183,7 +183,7 @@ /client/verb/tgui_fix_white() set desc = "Only use this if you have a broken TGUI window occupying your screen!" set name = "Fix TGUI" - set category = "OOC" + set category = "OOC.Debug" if(alert(src, "Only use this verb if you have a white TGUI window stuck on your screen.", "Fix TGUI", "Continue", "Nevermind") != "Continue") // Not tgui_alert since we're fixing tgui return diff --git a/code/modules/tgui/modules/_base.dm b/code/modules/tgui/modules/_base.dm index 80e49e6543e..d5e754412d0 100644 --- a/code/modules/tgui/modules/_base.dm +++ b/code/modules/tgui/modules/_base.dm @@ -52,11 +52,11 @@ Code is pretty much ripped verbatim from nano modules, but with un-needed stuff if(!istype(user)) return 0 - var/obj/item/weapon/card/id/I = user.GetIdCard() + var/obj/item/card/id/I = user.GetIdCard() if(!I) return 0 - if(access in I.access) + if(access in I.GetAccess()) return 1 return 0 @@ -68,7 +68,7 @@ Code is pretty much ripped verbatim from nano modules, but with un-needed stuff if(istype(host)) . += host.get_header_data() -/datum/tgui_module/tgui_act(action, params) +/datum/tgui_module/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE @@ -81,7 +81,7 @@ Code is pretty much ripped verbatim from nano modules, but with un-needed stuff host.shutdown_computer() return TRUE if(action == "PC_minimize") - host.minimize_program(usr) + host.minimize_program(ui.user) return TRUE // Just a nice little default interact in case the subtypes don't need any special behavior here @@ -93,3 +93,6 @@ Code is pretty much ripped verbatim from nano modules, but with un-needed stuff /datum/tgui_module/proc/relaymove(mob/user, direction) return FALSE + +/datum/tgui_module/proc/close_ui() + SStgui.close_uis(src) diff --git a/code/modules/tgui/modules/admin/player_notes.dm b/code/modules/tgui/modules/admin/player_notes.dm index 38555479e91..f198f00d44e 100644 --- a/code/modules/tgui/modules/admin/player_notes.dm +++ b/code/modules/tgui/modules/admin/player_notes.dm @@ -68,10 +68,10 @@ if("show_player_info") var/datum/tgui_module/player_notes_info/A = new(src) A.key = params["name"] - A.tgui_interact(usr) + A.tgui_interact(ui.user) if("filter_player_notes") - var/input = tgui_input_text(usr, "Filter string (case-insensitive regex)", "Player notes filter") + var/input = tgui_input_text(ui.user, "Filter string (case-insensitive regex)", "Player notes filter") current_filter = input if("set_page") @@ -123,10 +123,10 @@ switch(action) if("add_player_info") var/key = params["ckey"] - var/add = tgui_input_text(usr, "Write your comment below.", "Add Player Info", multiline = TRUE, prevent_enter = TRUE) + var/add = tgui_input_text(ui.user, "Write your comment below.", "Add Player Info", multiline = TRUE, prevent_enter = TRUE) if(!add) return - notes_add(key,add,usr) + notes_add(key,add,ui.user) if("remove_player_info") var/key = params["ckey"] @@ -195,7 +195,7 @@ PlayerNotesPageLegacy(1, filter) /datum/admins/proc/PlayerNotesPageLegacy(page, filter) - var/dat = "Player notes - Apply Filter
      " + var/dat = span_bold("Player notes") + " - Apply Filter
      " var/savefile/S=new("data/player_notes.sav") var/list/note_keys S >> note_keys @@ -234,11 +234,9 @@ // Display a footer to select different pages for(var/index = 1, index <= number_pages, index++) - if(index == page) - dat += "" dat += "[index] " if(index == page) - dat += "" + dat = span_bold(dat) usr << browse(dat, "window=player_notes;size=400x400") @@ -263,7 +261,7 @@ if(C.ckey == key) p_age = C.player_age break - dat +="Player age: [p_age]
      " + dat += span_black(span_bold("Player age: [p_age]")) + "
      " var/savefile/info = new("data/player_saves/[copytext(key, 1, 2)]/[key]/info.sav") var/list/infos diff --git a/code/modules/tgui/modules/admin_shuttle_controller.dm b/code/modules/tgui/modules/admin_shuttle_controller.dm index d03e78b32d5..4a599986982 100644 --- a/code/modules/tgui/modules/admin_shuttle_controller.dm +++ b/code/modules/tgui/modules/admin_shuttle_controller.dm @@ -39,15 +39,15 @@ if("adminobserve") var/datum/shuttle/S = locate(params["ref"]) if(istype(S)) - var/client/C = usr.client - if(!isobserver(usr)) + var/client/C = ui.user.client + if(!isobserver(ui.user)) C.admin_ghost() spawn(2) C.jumptoturf(get_turf(S.current_location)) else if(istype(S, /obj/effect/overmap/visitable)) var/obj/effect/overmap/visitable/V = S - var/client/C = usr.client - if(!isobserver(usr)) + var/client/C = ui.user.client + if(!isobserver(ui.user)) C.admin_ghost() spawn(2) var/atom/target @@ -56,11 +56,11 @@ else if(LAZYLEN(V.restricted_waypoints)) target = V.restricted_waypoints[1] else - to_chat(C, "Unable to jump to [V].") + to_chat(C, span_warning("Unable to jump to [V].")) return var/turf/T = get_turf(target) if(!istype(T)) - to_chat(C, "Unable to jump to [V].") + to_chat(C, span_warning("Unable to jump to [V].")) return C.jumptoturf(T) return TRUE @@ -68,34 +68,34 @@ var/datum/shuttle/S = locate(params["ref"]) if(istype(S, /datum/shuttle/autodock/multi)) var/datum/shuttle/autodock/multi/shuttle = S - var/dest_key = tgui_input_list(usr, "Choose shuttle destination", "Shuttle Destination", shuttle.get_destinations()) + var/dest_key = tgui_input_list(ui.user, "Choose shuttle destination", "Shuttle Destination", shuttle.get_destinations()) if(dest_key) - shuttle.set_destination(dest_key, usr) + shuttle.set_destination(dest_key, ui.user) shuttle.launch(src) else if(istype(S, /datum/shuttle/autodock/overmap)) var/datum/shuttle/autodock/overmap/shuttle = S var/list/possible_d = shuttle.get_possible_destinations() var/D if(!LAZYLEN(possible_d)) - to_chat(usr, "There are no possible destinations for [shuttle] ([shuttle.type])") + to_chat(ui.user, span_warning("There are no possible destinations for [shuttle] ([shuttle.type])")) return FALSE - D = tgui_input_list(usr, "Choose shuttle destination", "Shuttle Destination", possible_d) + D = tgui_input_list(ui.user, "Choose shuttle destination", "Shuttle Destination", possible_d) if(D) shuttle.set_destination(possible_d[D]) shuttle.launch() else if(istype(S, /datum/shuttle/autodock)) var/datum/shuttle/autodock/shuttle = S - if(tgui_alert(usr, "Are you sure you want to launch [shuttle]?", "Launching Shuttle", list("Yes", "No")) == "Yes") + if(tgui_alert(ui.user, "Are you sure you want to launch [shuttle]?", "Launching Shuttle", list("Yes", "No")) == "Yes") shuttle.launch(src) else - to_chat(usr, "The shuttle control panel isn't quite sure how to move [S] ([S?.type]).") + to_chat(ui.user, span_notice("The shuttle control panel isn't quite sure how to move [S] ([S?.type]).")) return FALSE - to_chat(usr, "Launching shuttle [S].") + to_chat(ui.user, span_notice("Launching shuttle [S].")) return TRUE if("overmap_control") var/obj/effect/overmap/visitable/ship/V = locate(params["ref"]) if(istype(V)) var/datum/tgui_module/ship/fullmonty/F = new(src, V) - F.tgui_interact(usr, null, ui) + F.tgui_interact(ui.user, null, ui) return TRUE diff --git a/code/modules/tgui/modules/agentcard.dm b/code/modules/tgui/modules/agentcard.dm index fd84c98760f..80db43a4ef7 100644 --- a/code/modules/tgui/modules/agentcard.dm +++ b/code/modules/tgui/modules/agentcard.dm @@ -5,7 +5,7 @@ /datum/tgui_module/agentcard/tgui_data(mob/user, datum/tgui/ui, datum/tgui_state/state) var/list/data = ..() - var/obj/item/weapon/card/id/syndicate/S = tgui_host() + var/obj/item/card/id/syndicate/S = tgui_host() if(!istype(S)) return list() @@ -28,7 +28,7 @@ return data /datum/tgui_module/agentcard/tgui_status(mob/user, datum/tgui_state/state) - var/obj/item/weapon/card/id/syndicate/S = tgui_host() + var/obj/item/card/id/syndicate/S = tgui_host() if(!istype(S)) return STATUS_CLOSE if(user != S.registered_user) @@ -39,95 +39,95 @@ if(..()) return TRUE - var/obj/item/weapon/card/id/syndicate/S = tgui_host() + var/obj/item/card/id/syndicate/S = tgui_host() switch(action) if("electronic_warfare") S.electronic_warfare = !S.electronic_warfare - to_chat(usr, "Electronic warfare [S.electronic_warfare ? "enabled" : "disabled"].") + to_chat(ui.user, span_notice("Electronic warfare [S.electronic_warfare ? "enabled" : "disabled"].")) . = TRUE if("age") - var/new_age = tgui_input_number(usr,"What age would you like to put on this card?","Agent Card Age", S.age) - if(!isnull(new_age) && tgui_status(usr, state) == STATUS_INTERACTIVE) + var/new_age = tgui_input_number(ui.user,"What age would you like to put on this card?","Agent Card Age", S.age) + if(!isnull(new_age) && tgui_status(ui.user, state) == STATUS_INTERACTIVE) if(new_age < 0) S.age = initial(S.age) else S.age = new_age - to_chat(usr, "Age has been set to '[S.age]'.") + to_chat(ui.user, span_notice("Age has been set to '[S.age]'.")) . = TRUE if("appearance") - var/datum/card_state/choice = tgui_input_list(usr, "Select the appearance for this card.", "Agent Card Appearance", id_card_states()) - if(choice && tgui_status(usr, state) == STATUS_INTERACTIVE) + var/datum/card_state/choice = tgui_input_list(ui.user, "Select the appearance for this card.", "Agent Card Appearance", id_card_states()) + if(choice && tgui_status(ui.user, state) == STATUS_INTERACTIVE) S.icon_state = choice.icon_state S.item_state = choice.item_state S.sprite_stack = choice.sprite_stack S.update_icon() - to_chat(usr, "Appearance changed to [choice].") + to_chat(ui.user, span_notice("Appearance changed to [choice].")) . = TRUE if("assignment") - var/new_job = sanitize(tgui_input_text(usr,"What assignment would you like to put on this card?\nChanging assignment will not grant or remove any access levels.","Agent Card Assignment", S.assignment)) - if(!isnull(new_job) && tgui_status(usr, state) == STATUS_INTERACTIVE) + var/new_job = sanitize(tgui_input_text(ui.user,"What assignment would you like to put on this card?\nChanging assignment will not grant or remove any access levels.","Agent Card Assignment", S.assignment)) + if(!isnull(new_job) && tgui_status(ui.user, state) == STATUS_INTERACTIVE) S.assignment = new_job - to_chat(usr, "Occupation changed to '[new_job]'.") + to_chat(ui.user, span_notice("Occupation changed to '[new_job]'.")) S.update_name() . = TRUE if("bloodtype") var/default = S.blood_type - if(default == initial(S.blood_type) && ishuman(usr)) - var/mob/living/carbon/human/H = usr + if(default == initial(S.blood_type) && ishuman(ui.user)) + var/mob/living/carbon/human/H = ui.user if(H.dna) default = H.dna.b_type - var/new_blood_type = sanitize(tgui_input_text(usr,"What blood type would you like to be written on this card?","Agent Card Blood Type",default)) - if(!isnull(new_blood_type) && tgui_status(usr, state) == STATUS_INTERACTIVE) + var/new_blood_type = sanitize(tgui_input_text(ui.user,"What blood type would you like to be written on this card?","Agent Card Blood Type",default)) + if(!isnull(new_blood_type) && tgui_status(ui.user, state) == STATUS_INTERACTIVE) S.blood_type = new_blood_type - to_chat(usr, "Blood type changed to '[new_blood_type]'.") + to_chat(ui.user, span_notice("Blood type changed to '[new_blood_type]'.")) . = TRUE if("dnahash") var/default = S.dna_hash - if(default == initial(S.dna_hash) && ishuman(usr)) - var/mob/living/carbon/human/H = usr + if(default == initial(S.dna_hash) && ishuman(ui.user)) + var/mob/living/carbon/human/H = ui.user if(H.dna) default = H.dna.unique_enzymes - var/new_dna_hash = sanitize(tgui_input_text(usr,"What DNA hash would you like to be written on this card?","Agent Card DNA Hash",default)) - if(!isnull(new_dna_hash) && tgui_status(usr, state) == STATUS_INTERACTIVE) + var/new_dna_hash = sanitize(tgui_input_text(ui.user,"What DNA hash would you like to be written on this card?","Agent Card DNA Hash",default)) + if(!isnull(new_dna_hash) && tgui_status(ui.user, state) == STATUS_INTERACTIVE) S.dna_hash = new_dna_hash - to_chat(usr, "DNA hash changed to '[new_dna_hash]'.") + to_chat(ui.user, span_notice("DNA hash changed to '[new_dna_hash]'.")) . = TRUE if("fingerprinthash") var/default = S.fingerprint_hash - if(default == initial(S.fingerprint_hash) && ishuman(usr)) - var/mob/living/carbon/human/H = usr + if(default == initial(S.fingerprint_hash) && ishuman(ui.user)) + var/mob/living/carbon/human/H = ui.user if(H.dna) default = md5(H.dna.uni_identity) - var/new_fingerprint_hash = sanitize(tgui_input_text(usr,"What fingerprint hash would you like to be written on this card?","Agent Card Fingerprint Hash",default)) - if(!isnull(new_fingerprint_hash) && tgui_status(usr, state) == STATUS_INTERACTIVE) + var/new_fingerprint_hash = sanitize(tgui_input_text(ui.user,"What fingerprint hash would you like to be written on this card?","Agent Card Fingerprint Hash",default)) + if(!isnull(new_fingerprint_hash) && tgui_status(ui.user, state) == STATUS_INTERACTIVE) S.fingerprint_hash = new_fingerprint_hash - to_chat(usr, "Fingerprint hash changed to '[new_fingerprint_hash]'.") + to_chat(ui.user, span_notice("Fingerprint hash changed to '[new_fingerprint_hash]'.")) . = TRUE if("name") - var/new_name = sanitizeName(tgui_input_text(usr,"What name would you like to put on this card?","Agent Card Name", S.registered_name)) - if(!isnull(new_name) && tgui_status(usr, state) == STATUS_INTERACTIVE) + var/new_name = sanitizeName(tgui_input_text(ui.user,"What name would you like to put on this card?","Agent Card Name", S.registered_name)) + if(!isnull(new_name) && tgui_status(ui.user, state) == STATUS_INTERACTIVE) S.registered_name = new_name S.update_name() - to_chat(usr, "Name changed to '[new_name]'.") + to_chat(ui.user, span_notice("Name changed to '[new_name]'.")) . = TRUE if("photo") - S.set_id_photo(usr) - to_chat(usr, "Photo changed.") + S.set_id_photo(ui.user) + to_chat(ui.user, span_notice("Photo changed.")) . = TRUE if("sex") - var/new_sex = sanitize(tgui_input_text(usr,"What sex would you like to put on this card?","Agent Card Sex", S.sex)) - if(!isnull(new_sex) && tgui_status(usr, state) == STATUS_INTERACTIVE) + var/new_sex = sanitize(tgui_input_text(ui.user,"What sex would you like to put on this card?","Agent Card Sex", S.sex)) + if(!isnull(new_sex) && tgui_status(ui.user, state) == STATUS_INTERACTIVE) S.sex = new_sex - to_chat(usr, "Sex changed to '[new_sex]'.") + to_chat(ui.user, span_notice("Sex changed to '[new_sex]'.")) . = TRUE if("species") - var/new_species = sanitize(tgui_input_text(usr,"What species would you like to put on this card?","Agent Card Species", S.species)) - if(!isnull(new_species) && tgui_status(usr, state) == STATUS_INTERACTIVE) + var/new_species = sanitize(tgui_input_text(ui.user,"What species would you like to put on this card?","Agent Card Species", S.species)) + if(!isnull(new_species) && tgui_status(ui.user, state) == STATUS_INTERACTIVE) S.species = new_species - to_chat(usr, "Species changed to '[new_species]'.") + to_chat(ui.user, span_notice("Species changed to '[new_species]'.")) . = TRUE if("factoryreset") - if(tgui_alert(usr, "This will factory reset the card, including access and owner. Continue?", "Factory Reset", list("No", "Yes")) == "Yes" && tgui_status(usr, state) == STATUS_INTERACTIVE) + if(tgui_alert(ui.user, "This will factory reset the card, including access and owner. Continue?", "Factory Reset", list("No", "Yes")) == "Yes" && tgui_status(ui.user, state) == STATUS_INTERACTIVE) S.age = initial(S.age) S.access = syndicate_access.Copy() S.assignment = initial(S.assignment) @@ -145,5 +145,5 @@ S.sex = initial(S.sex) S.species = initial(S.species) S.update_icon() - to_chat(usr, "All information has been deleted from \the [src].") + to_chat(ui.user, span_notice("All information has been deleted from \the [src].")) . = TRUE diff --git a/code/modules/tgui/modules/alarm.dm b/code/modules/tgui/modules/alarm.dm index b9de22c7e69..9e1615c4537 100644 --- a/code/modules/tgui/modules/alarm.dm +++ b/code/modules/tgui/modules/alarm.dm @@ -96,13 +96,13 @@ return all_alarms -/datum/tgui_module/alarm_monitor/tgui_act(action, params) +/datum/tgui_module/alarm_monitor/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE - + // Camera stuff is AI only. // If you're not an AI, this is a read-only UI. - if(!isAI(usr)) + if(!isAI(ui.user)) return switch(action) @@ -111,7 +111,7 @@ if(!C) return - usr.switch_to_camera(C) + ui.user.switch_to_camera(C) return 1 /datum/tgui_module/alarm_monitor/tgui_data(mob/user) diff --git a/code/modules/tgui/modules/appearance_changer.dm b/code/modules/tgui/modules/appearance_changer.dm index 9eeb4de6641..5e410b9e6c6 100644 --- a/code/modules/tgui/modules/appearance_changer.dm +++ b/code/modules/tgui/modules/appearance_changer.dm @@ -28,7 +28,7 @@ var/list/markings = null /datum/tgui_module/appearance_changer/New( - var/host, + host, mob/living/carbon/human/H, check_species_whitelist = 1, list/species_whitelist = list(), @@ -57,280 +57,323 @@ local_skybox.screen_loc = "[map_name]:CENTER,CENTER" cam_plane_masters += local_skybox + owner = H cam_background = new cam_background.assigned_map = map_name cam_background.del_on_map_removal = FALSE - update_active_camera_screen() - - if(customize_usr) - if(ishuman(usr)) - H = usr - owner = H - if(owner) - owner.AddComponent(/datum/component/recursive_move) - RegisterSignal(owner, COMSIG_OBSERVER_MOVED, PROC_REF(update_active_camera_screen)) check_whitelist = check_species_whitelist whitelist = species_whitelist blacklist = species_blacklist +/datum/tgui_module/appearance_changer/tgui_close(mob/user) + . = ..() + if(owner == user || !customize_usr) + close_ui() + UnregisterSignal(owner, COMSIG_OBSERVER_MOVED) + owner = null + last_camera_turf = null + cut_data() + /datum/tgui_module/appearance_changer/Destroy() - UnregisterSignal(owner, COMSIG_OBSERVER_MOVED) - last_camera_turf = null qdel(cam_screen) QDEL_LIST(cam_plane_masters) qdel(cam_background) - cut_data() return ..() /datum/tgui_module/appearance_changer/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state) if(..()) return TRUE - var/mob/living/carbon/human/target = owner - if(customize_usr) - if(!ishuman(usr)) - return TRUE - target = usr - switch(action) if("race") - if(can_change(APPEARANCE_RACE) && (params["race"] in valid_species)) - if(target.change_species(params["race"])) + if(can_change(owner, APPEARANCE_RACE) && (params["race"] in valid_species)) + if(owner.change_species(params["race"])) if(params["race"] == "Custom Species") - target.custom_species = sanitize(tgui_input_text(usr, "Input custom species name:", + owner.custom_species = sanitize(tgui_input_text(ui.user, "Input custom species name:", "Custom Species Name", null, MAX_NAME_LEN), MAX_NAME_LEN) cut_data() - generate_data(usr) + generate_data(ui.user, owner) changed_hook(APPEARANCECHANGER_CHANGED_RACE) return 1 if("gender") - if(can_change(APPEARANCE_GENDER) && (params["gender"] in get_genders())) - if(target.change_gender(params["gender"])) + if(can_change(owner, APPEARANCE_GENDER) && (params["gender"] in get_genders(owner))) + if(owner.change_gender(params["gender"])) cut_data() - generate_data(usr) + generate_data(ui.user, owner) changed_hook(APPEARANCECHANGER_CHANGED_GENDER) return 1 if("gender_id") - if(can_change(APPEARANCE_GENDER) && (params["gender_id"] in all_genders_define_list)) - target.identifying_gender = params["gender_id"] + if(can_change(owner, APPEARANCE_GENDER) && (params["gender_id"] in all_genders_define_list)) + owner.identifying_gender = params["gender_id"] changed_hook(APPEARANCECHANGER_CHANGED_GENDER_ID) return 1 if("skin_tone") - if(can_change_skin_tone()) - var/new_s_tone = tgui_input_number(usr, "Choose your character's skin-tone:\n(Light 1 - 220 Dark)", "Skin Tone", -target.s_tone + 35, 220, 1) - if(isnum(new_s_tone) && can_still_topic(usr, state)) + if(can_change_skin_tone(owner)) + var/new_s_tone = tgui_input_number(ui.user, "Choose your character's skin-tone:\n(Light 1 - 220 Dark)", "Skin Tone", -owner.s_tone + 35, 220, 1) + if(isnum(new_s_tone) && can_still_topic(owner, state)) new_s_tone = 35 - max(min( round(new_s_tone), 220),1) changed_hook(APPEARANCECHANGER_CHANGED_SKINTONE) - return target.change_skin_tone(new_s_tone) + return owner.change_skin_tone(new_s_tone) if("skin_color") - if(can_change_skin_color()) - var/new_skin = input(usr, "Choose your character's skin colour: ", "Skin Color", rgb(target.r_skin, target.g_skin, target.b_skin)) as color|null - if(new_skin && can_still_topic(usr, state)) + if(can_change_skin_color(owner)) + var/new_skin = input(ui.user, "Choose your character's skin colour: ", "Skin Color", rgb(owner.r_skin, owner.g_skin, owner.b_skin)) as color|null + if(new_skin && can_still_topic(owner, state)) var/r_skin = hex2num(copytext(new_skin, 2, 4)) var/g_skin = hex2num(copytext(new_skin, 4, 6)) var/b_skin = hex2num(copytext(new_skin, 6, 8)) - if(target.change_skin_color(r_skin, g_skin, b_skin)) - update_dna() + if(owner.change_skin_color(r_skin, g_skin, b_skin)) + update_dna(ui.user, owner) changed_hook(APPEARANCECHANGER_CHANGED_SKINCOLOR) return 1 if("hair") - if(can_change(APPEARANCE_HAIR) && (params["hair"] in valid_hairstyles)) - if(target.change_hair(params["hair"])) - update_dna() + if(can_change(owner, APPEARANCE_HAIR) && (params["hair"] in valid_hairstyles)) + if(owner.change_hair(params["hair"])) + update_dna(owner) changed_hook(APPEARANCECHANGER_CHANGED_HAIRSTYLE) return 1 if("hair_color") - if(can_change(APPEARANCE_HAIR_COLOR)) - var/new_hair = input(usr, "Please select hair color.", "Hair Color", rgb(target.r_hair, target.g_hair, target.b_hair)) as color|null - if(new_hair && can_still_topic(usr, state)) + if(can_change(owner, APPEARANCE_HAIR_COLOR)) + var/new_hair = input(ui.user, "Please select hair color.", "Hair Color", rgb(owner.r_hair, owner.g_hair, owner.b_hair)) as color|null + if(new_hair && can_still_topic(owner, state)) var/r_hair = hex2num(copytext(new_hair, 2, 4)) var/g_hair = hex2num(copytext(new_hair, 4, 6)) var/b_hair = hex2num(copytext(new_hair, 6, 8)) - if(target.change_hair_color(r_hair, g_hair, b_hair)) - update_dna() + if(owner.change_hair_color(r_hair, g_hair, b_hair)) + update_dna(owner) changed_hook(APPEARANCECHANGER_CHANGED_HAIRCOLOR) return 1 if("facial_hair") - if(can_change(APPEARANCE_FACIAL_HAIR) && (params["facial_hair"] in valid_facial_hairstyles)) - if(target.change_facial_hair(params["facial_hair"])) - update_dna() + if(can_change(owner, APPEARANCE_FACIAL_HAIR) && (params["facial_hair"] in valid_facial_hairstyles)) + if(owner.change_facial_hair(params["facial_hair"])) + update_dna(owner) changed_hook(APPEARANCECHANGER_CHANGED_F_HAIRSTYLE) return 1 if("facial_hair_color") - if(can_change(APPEARANCE_FACIAL_HAIR_COLOR)) - var/new_facial = input(usr, "Please select facial hair color.", "Facial Hair Color", rgb(target.r_facial, target.g_facial, target.b_facial)) as color|null - if(new_facial && can_still_topic(usr, state)) + if(can_change(owner, APPEARANCE_FACIAL_HAIR_COLOR)) + var/new_facial = input(ui.user, "Please select facial hair color.", "Facial Hair Color", rgb(owner.r_facial, owner.g_facial, owner.b_facial)) as color|null + if(new_facial && can_still_topic(owner, state)) var/r_facial = hex2num(copytext(new_facial, 2, 4)) var/g_facial = hex2num(copytext(new_facial, 4, 6)) var/b_facial = hex2num(copytext(new_facial, 6, 8)) - if(target.change_facial_hair_color(r_facial, g_facial, b_facial)) - update_dna() + if(owner.change_facial_hair_color(r_facial, g_facial, b_facial)) + update_dna(owner) changed_hook(APPEARANCECHANGER_CHANGED_F_HAIRCOLOR) return 1 if("eye_color") - if(can_change(APPEARANCE_EYE_COLOR)) - var/new_eyes = input(usr, "Please select eye color.", "Eye Color", rgb(target.r_eyes, target.g_eyes, target.b_eyes)) as color|null - if(new_eyes && can_still_topic(usr, state)) + if(can_change(owner, APPEARANCE_EYE_COLOR)) + var/new_eyes = input(ui.user, "Please select eye color.", "Eye Color", rgb(owner.r_eyes, owner.g_eyes, owner.b_eyes)) as color|null + if(new_eyes && can_still_topic(owner, state)) var/r_eyes = hex2num(copytext(new_eyes, 2, 4)) var/g_eyes = hex2num(copytext(new_eyes, 4, 6)) var/b_eyes = hex2num(copytext(new_eyes, 6, 8)) - if(target.change_eye_color(r_eyes, g_eyes, b_eyes)) - update_dna() + if(owner.change_eye_color(r_eyes, g_eyes, b_eyes)) + update_dna(owner) changed_hook(APPEARANCECHANGER_CHANGED_EYES) return 1 // VOREStation Add - Ears/Tails/Wings/Markings if("ear") - if(can_change(APPEARANCE_ALL_HAIR)) + if(can_change(owner, APPEARANCE_ALL_HAIR)) var/datum/sprite_accessory/ears/instance = locate(params["ref"]) if(params["clear"]) instance = null if(!istype(instance) && !params["clear"]) return FALSE - target.ear_style = instance - target.update_hair() - update_dna() + owner.ear_style = instance + owner.update_hair() + update_dna(owner) + changed_hook(APPEARANCECHANGER_CHANGED_HAIRSTYLE) + return TRUE + if("ear_secondary") + if(can_change(owner, APPEARANCE_ALL_HAIR)) + var/datum/sprite_accessory/ears/instance = locate(params["ref"]) + if(params["clear"]) + instance = null + if(!istype(instance) && !params["clear"]) + return FALSE + owner.ear_secondary_style = instance + if(!islist(owner.ear_secondary_colors)) + owner.ear_secondary_colors = list() + if(instance && length(owner.ear_secondary_colors) < instance.get_color_channel_count()) + owner.ear_secondary_colors.len = instance.get_color_channel_count() + owner.update_hair() + update_dna(owner) changed_hook(APPEARANCECHANGER_CHANGED_HAIRSTYLE) return TRUE if("ears_color") - if(can_change(APPEARANCE_HAIR_COLOR)) - var/new_hair = input(usr, "Please select ear color.", "Ear Color", rgb(target.r_ears, target.g_ears, target.b_ears)) as color|null - if(new_hair && can_still_topic(usr, state)) - target.r_ears = hex2num(copytext(new_hair, 2, 4)) - target.g_ears = hex2num(copytext(new_hair, 4, 6)) - target.b_ears = hex2num(copytext(new_hair, 6, 8)) - update_dna() - target.update_hair() + if(can_change(owner, APPEARANCE_HAIR_COLOR)) + var/new_hair = input(ui.user, "Please select ear color.", "Ear Color", rgb(owner.r_ears, owner.g_ears, owner.b_ears)) as color|null + if(new_hair && can_still_topic(owner, state)) + owner.r_ears = hex2num(copytext(new_hair, 2, 4)) + owner.g_ears = hex2num(copytext(new_hair, 4, 6)) + owner.b_ears = hex2num(copytext(new_hair, 6, 8)) + update_dna(owner) + owner.update_hair() changed_hook(APPEARANCECHANGER_CHANGED_HAIRCOLOR) return 1 if("ears2_color") - if(can_change(APPEARANCE_HAIR_COLOR)) - var/new_hair = input(usr, "Please select secondary ear color.", "2nd Ear Color", rgb(target.r_ears2, target.g_ears2, target.b_ears2)) as color|null - if(new_hair && can_still_topic(usr, state)) - target.r_ears2 = hex2num(copytext(new_hair, 2, 4)) - target.g_ears2 = hex2num(copytext(new_hair, 4, 6)) - target.b_ears2 = hex2num(copytext(new_hair, 6, 8)) - update_dna() - target.update_hair() + if(can_change(owner, APPEARANCE_HAIR_COLOR)) + var/new_hair = input(ui.user, "Please select secondary ear color.", "2nd Ear Color", rgb(owner.r_ears2, owner.g_ears2, owner.b_ears2)) as color|null + if(new_hair && can_still_topic(owner, state)) + owner.r_ears2 = hex2num(copytext(new_hair, 2, 4)) + owner.g_ears2 = hex2num(copytext(new_hair, 4, 6)) + owner.b_ears2 = hex2num(copytext(new_hair, 6, 8)) + update_dna(owner) + owner.update_hair() changed_hook(APPEARANCECHANGER_CHANGED_HAIRCOLOR) return 1 + if("ears_secondary_color") + if(can_change(owner, APPEARANCE_HAIR_COLOR)) + var/channel = params["channel"] + if(channel > length(owner.ear_secondary_colors)) + return TRUE + var/existing = LAZYACCESS(owner.ear_secondary_colors, channel) || "#ffffff" + var/new_color = input(ui.user, "Please select ear color.", "2nd Ear Color", existing) as color|null + if(new_color && can_still_topic(owner, state)) + owner.ear_secondary_colors[channel] = new_color + update_dna(owner) + owner.update_hair() + changed_hook(APPEARANCECHANGER_CHANGED_HAIRCOLOR) + return TRUE if("tail") - if(can_change(APPEARANCE_ALL_HAIR)) + if(can_change(owner, APPEARANCE_ALL_HAIR)) var/datum/sprite_accessory/tail/instance = locate(params["ref"]) if(params["clear"]) instance = null if(!istype(instance) && !params["clear"]) return FALSE - target.tail_style = instance - target.update_tail_showing() - update_dna() + owner.tail_style = instance + owner.update_tail_showing() + update_dna(owner) changed_hook(APPEARANCECHANGER_CHANGED_HAIRSTYLE) return TRUE if("tail_color") - if(can_change(APPEARANCE_HAIR_COLOR)) - var/new_hair = input(usr, "Please select tail color.", "Tail Color", rgb(target.r_tail, target.g_tail, target.b_tail)) as color|null - if(new_hair && can_still_topic(usr, state)) - target.r_tail = hex2num(copytext(new_hair, 2, 4)) - target.g_tail = hex2num(copytext(new_hair, 4, 6)) - target.b_tail = hex2num(copytext(new_hair, 6, 8)) - update_dna() - target.update_tail_showing() + if(can_change(owner, APPEARANCE_HAIR_COLOR)) + var/new_hair = input(ui.user, "Please select tail color.", "Tail Color", rgb(owner.r_tail, owner.g_tail, owner.b_tail)) as color|null + if(new_hair && can_still_topic(owner, state)) + owner.r_tail = hex2num(copytext(new_hair, 2, 4)) + owner.g_tail = hex2num(copytext(new_hair, 4, 6)) + owner.b_tail = hex2num(copytext(new_hair, 6, 8)) + update_dna(owner) + owner.update_tail_showing() changed_hook(APPEARANCECHANGER_CHANGED_HAIRCOLOR) return 1 if("tail2_color") - if(can_change(APPEARANCE_HAIR_COLOR)) - var/new_hair = input(usr, "Please select secondary tail color.", "2nd Tail Color", rgb(target.r_tail2, target.g_tail2, target.b_tail2)) as color|null - if(new_hair && can_still_topic(usr, state)) - target.r_tail2 = hex2num(copytext(new_hair, 2, 4)) - target.g_tail2 = hex2num(copytext(new_hair, 4, 6)) - target.b_tail2 = hex2num(copytext(new_hair, 6, 8)) - update_dna() - target.update_tail_showing() + if(can_change(owner, APPEARANCE_HAIR_COLOR)) + var/new_hair = input(ui.user, "Please select secondary tail color.", "2nd Tail Color", rgb(owner.r_tail2, owner.g_tail2, owner.b_tail2)) as color|null + if(new_hair && can_still_topic(owner, state)) + owner.r_tail2 = hex2num(copytext(new_hair, 2, 4)) + owner.g_tail2 = hex2num(copytext(new_hair, 4, 6)) + owner.b_tail2 = hex2num(copytext(new_hair, 6, 8)) + update_dna(owner) + owner.update_tail_showing() + changed_hook(APPEARANCECHANGER_CHANGED_HAIRCOLOR) + return 1 + if("tail3_color") + if(can_change(owner, APPEARANCE_HAIR_COLOR)) + var/new_hair = input(ui.user, "Please select secondary tail color.", "3rd Tail Color", rgb(owner.r_tail3, owner.g_tail3, owner.b_tail3)) as color|null + if(new_hair && can_still_topic(owner, state)) + owner.r_tail3 = hex2num(copytext(new_hair, 2, 4)) + owner.g_tail3 = hex2num(copytext(new_hair, 4, 6)) + owner.b_tail3 = hex2num(copytext(new_hair, 6, 8)) + update_dna(owner) + owner.update_tail_showing() changed_hook(APPEARANCECHANGER_CHANGED_HAIRCOLOR) return 1 if("wing") - if(can_change(APPEARANCE_ALL_HAIR)) + if(can_change(owner, APPEARANCE_ALL_HAIR)) var/datum/sprite_accessory/wing/instance = locate(params["ref"]) if(params["clear"]) instance = null if(!istype(instance) && !params["clear"]) return FALSE - target.wing_style = instance - target.update_wing_showing() - update_dna() + owner.wing_style = instance + owner.update_wing_showing() + update_dna(owner) changed_hook(APPEARANCECHANGER_CHANGED_HAIRSTYLE) return TRUE if("wing_color") - if(can_change(APPEARANCE_HAIR_COLOR)) - var/new_hair = input(usr, "Please select wing color.", "Wing Color", rgb(target.r_wing, target.g_wing, target.b_wing)) as color|null - if(new_hair && can_still_topic(usr, state)) - target.r_wing = hex2num(copytext(new_hair, 2, 4)) - target.g_wing = hex2num(copytext(new_hair, 4, 6)) - target.b_wing = hex2num(copytext(new_hair, 6, 8)) - update_dna() - target.update_wing_showing() + if(can_change(owner, APPEARANCE_HAIR_COLOR)) + var/new_hair = input(ui.user, "Please select wing color.", "Wing Color", rgb(owner.r_wing, owner.g_wing, owner.b_wing)) as color|null + if(new_hair && can_still_topic(owner, state)) + owner.r_wing = hex2num(copytext(new_hair, 2, 4)) + owner.g_wing = hex2num(copytext(new_hair, 4, 6)) + owner.b_wing = hex2num(copytext(new_hair, 6, 8)) + update_dna(owner) + owner.update_wing_showing() changed_hook(APPEARANCECHANGER_CHANGED_HAIRCOLOR) return 1 if("wing2_color") - if(can_change(APPEARANCE_HAIR_COLOR)) - var/new_hair = input(usr, "Please select secondary wing color.", "2nd Wing Color", rgb(target.r_wing2, target.g_wing2, target.b_wing2)) as color|null - if(new_hair && can_still_topic(usr, state)) - target.r_wing2 = hex2num(copytext(new_hair, 2, 4)) - target.g_wing2 = hex2num(copytext(new_hair, 4, 6)) - target.b_wing2 = hex2num(copytext(new_hair, 6, 8)) - update_dna() - target.update_wing_showing() + if(can_change(owner, APPEARANCE_HAIR_COLOR)) + var/new_hair = input(ui.user, "Please select secondary wing color.", "2nd Wing Color", rgb(owner.r_wing2, owner.g_wing2, owner.b_wing2)) as color|null + if(new_hair && can_still_topic(owner, state)) + owner.r_wing2 = hex2num(copytext(new_hair, 2, 4)) + owner.g_wing2 = hex2num(copytext(new_hair, 4, 6)) + owner.b_wing2 = hex2num(copytext(new_hair, 6, 8)) + update_dna(owner) + owner.update_wing_showing() + changed_hook(APPEARANCECHANGER_CHANGED_HAIRCOLOR) + return 1 + if("wing3_color") + if(can_change(owner, APPEARANCE_HAIR_COLOR)) + var/new_hair = input(ui.user, "Please select secondary wing color.", "3rd Wing Color", rgb(owner.r_wing3, owner.g_wing3, owner.b_wing3)) as color|null + if(new_hair && can_still_topic(owner, state)) + owner.r_wing3 = hex2num(copytext(new_hair, 2, 4)) + owner.g_wing3 = hex2num(copytext(new_hair, 4, 6)) + owner.b_wing3 = hex2num(copytext(new_hair, 6, 8)) + update_dna(owner) + owner.update_wing_showing() changed_hook(APPEARANCECHANGER_CHANGED_HAIRCOLOR) return 1 if("marking") - if(can_change(APPEARANCE_ALL_HAIR)) + if(can_change(owner, APPEARANCE_ALL_HAIR)) var/todo = params["todo"] var/name_marking = params["name"] switch (todo) if (0) //delete if (name_marking) var/datum/sprite_accessory/marking/mark_datum = body_marking_styles_list[name_marking] - if (target.remove_marking(mark_datum)) + if (owner.remove_marking(mark_datum)) changed_hook(APPEARANCECHANGER_CHANGED_HAIRSTYLE) return TRUE if (1) //add var/list/usable_markings = markings.Copy() ^ body_marking_styles_list.Copy() - var/new_marking = tgui_input_list(usr, "Choose a body marking:", "New Body Marking", usable_markings) - if(new_marking && can_still_topic(usr, state)) + var/new_marking = tgui_input_list(ui.user, "Choose a body marking:", "New Body Marking", usable_markings) + if(new_marking && can_still_topic(owner, state)) var/datum/sprite_accessory/marking/mark_datum = body_marking_styles_list[new_marking] - if (target.add_marking(mark_datum)) + if (owner.add_marking(mark_datum)) changed_hook(APPEARANCECHANGER_CHANGED_HAIRSTYLE) return TRUE if (2) //move up var/datum/sprite_accessory/marking/mark_datum = body_marking_styles_list[name_marking] - if (target.change_priority_of_marking(mark_datum, FALSE)) + if (owner.change_priority_of_marking(mark_datum, FALSE)) return TRUE if (3) //move down var/datum/sprite_accessory/marking/mark_datum = body_marking_styles_list[name_marking] - if (target.change_priority_of_marking(mark_datum, TRUE)) + if (owner.change_priority_of_marking(mark_datum, TRUE)) return TRUE if (4) //color var/current = markings[name_marking] ? markings[name_marking] : "#000000" - var/marking_color = input(usr, "Please select marking color", "Marking color", current) as color|null - if(marking_color && can_still_topic(usr, state)) + var/marking_color = input(ui.user, "Please select marking color", "Marking color", current) as color|null + if(marking_color && can_still_topic(owner, state)) var/datum/sprite_accessory/marking/mark_datum = body_marking_styles_list[name_marking] - if (target.change_marking_color(mark_datum, marking_color)) + if (owner.change_marking_color(mark_datum, marking_color)) return TRUE // VOREStation Add End return FALSE /datum/tgui_module/appearance_changer/tgui_interact(mob/user, datum/tgui/ui = null, datum/tgui/parent_ui = null, datum/tgui_state/custom_state) - var/mob/living/carbon/human/target = owner - if(customize_usr) + if(customize_usr && !owner) if(!ishuman(user)) return TRUE - target = user + owner = user - if(!target || !target.species) + if(!owner || !owner.species) return ui = SStgui.try_update_ui(user, src, ui) - update_active_camera_screen() if(!ui) + owner.AddComponent(/datum/component/recursive_move) + RegisterSignal(owner, COMSIG_OBSERVER_MOVED, PROC_REF(update_active_camera_screen)) // Register map objects user.client.register_map_obj(cam_screen) for(var/plane in cam_plane_masters) @@ -341,19 +384,20 @@ ui.open() if(custom_state) ui.set_state(custom_state) + update_active_camera_screen() /datum/tgui_module/appearance_changer/tgui_static_data(mob/user) var/list/data = ..() - generate_data(usr) + generate_data(user, owner) - if(can_change(APPEARANCE_RACE)) + if(can_change(owner, APPEARANCE_RACE)) var/species[0] for(var/specimen in valid_species) species[++species.len] = list("specimen" = specimen) data["species"] = species - if(can_change(APPEARANCE_HAIR)) + if(can_change(owner, APPEARANCE_HAIR)) var/hair_styles[0] for(var/hair_style in valid_hairstyles) hair_styles[++hair_styles.len] = list("hairstyle" = hair_style) @@ -364,7 +408,7 @@ data["wing_styles"] = valid_wingstyles // VOREStation Add End - if(can_change(APPEARANCE_FACIAL_HAIR)) + if(can_change(owner, APPEARANCE_FACIAL_HAIR)) var/facial_hair_styles[0] for(var/facial_hair_style in valid_facial_hairstyles) facial_hair_styles[++facial_hair_styles.len] = list("facialhairstyle" = facial_hair_style) @@ -375,24 +419,18 @@ /datum/tgui_module/appearance_changer/tgui_data(mob/user, datum/tgui/ui, datum/tgui_state/state) var/list/data = ..() - generate_data(user) + generate_data(user, owner) - var/mob/living/carbon/human/target = owner - if(customize_usr) - if(!ishuman(usr)) - return TRUE - target = usr + data["name"] = owner.name + data["specimen"] = owner.species.name + data["gender"] = owner.gender + data["gender_id"] = owner.identifying_gender + data["change_race"] = can_change(owner, APPEARANCE_RACE) - data["name"] = target.name - data["specimen"] = target.species.name - data["gender"] = target.gender - data["gender_id"] = target.identifying_gender - data["change_race"] = can_change(APPEARANCE_RACE) - - data["change_gender"] = can_change(APPEARANCE_GENDER) + data["change_gender"] = can_change(owner, APPEARANCE_GENDER) if(data["change_gender"]) var/genders[0] - for(var/gender in get_genders()) + for(var/gender in get_genders(owner)) genders[++genders.len] = list("gender_name" = gender2text(gender), "gender_key" = gender) data["genders"] = genders var/id_genders[0] @@ -400,49 +438,58 @@ id_genders[++id_genders.len] = list("gender_name" = gender2text(gender), "gender_key" = gender) data["id_genders"] = id_genders - data["change_hair"] = can_change(APPEARANCE_HAIR) + data["change_hair"] = can_change(owner, APPEARANCE_HAIR) if(data["change_hair"]) - data["hair_style"] = target.h_style + data["hair_style"] = owner.h_style // VOREStation Add - Ears/Tails/Wings - data["ear_style"] = target.ear_style - data["tail_style"] = target.tail_style - data["wing_style"] = target.wing_style + data["ear_style"] = owner.ear_style + data["ear_secondary_style"] = owner.ear_secondary_style?.name + data["tail_style"] = owner.tail_style + data["wing_style"] = owner.wing_style var/list/markings_data[0] - markings = target.get_prioritised_markings() + markings = owner.get_prioritised_markings() for (var/marking in markings) markings_data[++markings_data.len] = list("marking_name" = marking, "marking_color" = markings[marking]["color"] ? markings[marking]["color"] : "#000000") //too tired to add in another submenu for bodyparts here data["markings"] = markings_data // VOREStation Add End - data["change_facial_hair"] = can_change(APPEARANCE_FACIAL_HAIR) + data["change_facial_hair"] = can_change(owner, APPEARANCE_FACIAL_HAIR) if(data["change_facial_hair"]) - data["facial_hair_style"] = target.f_style + data["facial_hair_style"] = owner.f_style - data["change_skin_tone"] = can_change_skin_tone() - data["change_skin_color"] = can_change_skin_color() + data["change_skin_tone"] = can_change_skin_tone(owner) + data["change_skin_color"] = can_change_skin_color(owner) if(data["change_skin_color"]) - data["skin_color"] = rgb(target.r_skin, target.g_skin, target.b_skin) + data["skin_color"] = rgb(owner.r_skin, owner.g_skin, owner.b_skin) - data["change_eye_color"] = can_change(APPEARANCE_EYE_COLOR) + data["change_eye_color"] = can_change(owner, APPEARANCE_EYE_COLOR) if(data["change_eye_color"]) - data["eye_color"] = rgb(target.r_eyes, target.g_eyes, target.b_eyes) + data["eye_color"] = rgb(owner.r_eyes, owner.g_eyes, owner.b_eyes) - data["change_hair_color"] = can_change(APPEARANCE_HAIR_COLOR) + data["change_hair_color"] = can_change(owner, APPEARANCE_HAIR_COLOR) if(data["change_hair_color"]) - data["hair_color"] = rgb(target.r_hair, target.g_hair, target.b_hair) + data["hair_color"] = rgb(owner.r_hair, owner.g_hair, owner.b_hair) // VOREStation Add - Ears/Tails/Wings - data["ears_color"] = rgb(target.r_ears, target.g_ears, target.b_ears) - data["ears2_color"] = rgb(target.r_ears2, target.g_ears2, target.b_ears2) - data["tail_color"] = rgb(target.r_tail, target.g_tail, target.b_tail) - data["tail2_color"] = rgb(target.r_tail2, target.g_tail2, target.b_tail2) - data["wing_color"] = rgb(target.r_wing, target.g_wing, target.b_wing) - data["wing2_color"] = rgb(target.r_wing2, target.g_wing2, target.b_wing2) + data["ears_color"] = rgb(owner.r_ears, owner.g_ears, owner.b_ears) + data["ears2_color"] = rgb(owner.r_ears2, owner.g_ears2, owner.b_ears2) + + // secondary ear colors + var/list/ear_secondary_color_channels = owner.ear_secondary_colors || list() + ear_secondary_color_channels.len = owner.ear_secondary_style?.get_color_channel_count() || 0 + data["ear_secondary_colors"] = ear_secondary_color_channels + + data["tail_color"] = rgb(owner.r_tail, owner.g_tail, owner.b_tail) + data["tail2_color"] = rgb(owner.r_tail2, owner.g_tail2, owner.b_tail2) + data["tail3_color"] = rgb(owner.r_tail3, owner.g_tail3, owner.b_tail3) + data["wing_color"] = rgb(owner.r_wing, owner.g_wing, owner.b_wing) + data["wing2_color"] = rgb(owner.r_wing2, owner.g_wing2, owner.b_wing2) + data["wing3_color"] = rgb(owner.r_wing3, owner.g_wing3, owner.b_wing3) // VOREStation Add End - data["change_facial_hair_color"] = can_change(APPEARANCE_FACIAL_HAIR_COLOR) + data["change_facial_hair_color"] = can_change(owner, APPEARANCE_FACIAL_HAIR_COLOR) if(data["change_facial_hair_color"]) - data["facial_hair_color"] = rgb(target.r_facial, target.g_facial, target.b_facial) + data["facial_hair_color"] = rgb(owner.r_facial, owner.g_facial, owner.b_facial) return data /datum/tgui_module/appearance_changer/tgui_static_data(mob/user) @@ -476,41 +523,17 @@ local_skybox.set_position("CENTER", "CENTER", (world.maxx>>1) - newturf.x, (world.maxy>>1) - newturf.y) */ -/datum/tgui_module/appearance_changer/proc/update_dna() - var/mob/living/carbon/human/target = owner - if(customize_usr) - if(!ishuman(usr)) - return TRUE - target = usr - +/datum/tgui_module/appearance_changer/proc/update_dna(mob/living/carbon/human/target) if(target && (flags & APPEARANCE_UPDATE_DNA)) target.update_dna() -/datum/tgui_module/appearance_changer/proc/can_change(var/flag) - var/mob/living/carbon/human/target = owner - if(customize_usr) - if(!ishuman(usr)) - return TRUE - target = usr - +/datum/tgui_module/appearance_changer/proc/can_change(mob/living/carbon/human/target, var/flag) return target && (flags & flag) -/datum/tgui_module/appearance_changer/proc/can_change_skin_tone() - var/mob/living/carbon/human/target = owner - if(customize_usr) - if(!ishuman(usr)) - return TRUE - target = usr - - return target && (flags & APPEARANCE_SKIN) && target.species.appearance_flags & HAS_SKIN_TONE - -/datum/tgui_module/appearance_changer/proc/can_change_skin_color() - var/mob/living/carbon/human/target = owner - if(customize_usr) - if(!ishuman(usr)) - return TRUE - target = usr +/datum/tgui_module/appearance_changer/proc/can_change_skin_tone(mob/living/carbon/human/target) + return target && (flags & APPEARANCE_SKIN) &&target.species.appearance_flags & HAS_SKIN_TONE +/datum/tgui_module/appearance_changer/proc/can_change_skin_color(mob/living/carbon/human/target) return target && (flags & APPEARANCE_SKIN) && target.species.appearance_flags & HAS_SKIN_COLOR /datum/tgui_module/appearance_changer/proc/cut_data() @@ -523,14 +546,9 @@ valid_wingstyles.Cut() // VOREStation Add End -/datum/tgui_module/appearance_changer/proc/generate_data(mob/user) - var/mob/living/carbon/human/target = owner - if(customize_usr) - if(!ishuman(user)) - return TRUE - target = user - if(!target) - return +/datum/tgui_module/appearance_changer/proc/generate_data(mob/user, mob/living/carbon/human/target) + if(!ishuman(target)) + return TRUE if(!LAZYLEN(valid_species)) valid_species = target.generate_valid_species(check_whitelist, whitelist, blacklist) @@ -574,12 +592,7 @@ ))) // VOREStation Add End -/datum/tgui_module/appearance_changer/proc/get_genders() - var/mob/living/carbon/human/target = owner - if(customize_usr) - if(!ishuman(usr)) - return TRUE - target = usr +/datum/tgui_module/appearance_changer/proc/get_genders(mob/living/carbon/human/target) var/datum/species/S = target.species var/list/possible_genders = S.genders if(!target.internal_organs_by_name["cell"]) @@ -594,6 +607,8 @@ // VOREStation Add - Ears/Tails/Wings /datum/tgui_module/appearance_changer/proc/can_use_sprite(datum/sprite_accessory/X, mob/living/carbon/human/target, mob/user) + if(X.name == DEVELOPER_WARNING_NAME) + return FALSE if(!isnull(X.species_allowed) && !(target.species.name in X.species_allowed) && (!istype(target.species, /datum/species/custom))) // Letting custom species access wings/ears/tails. return FALSE diff --git a/code/modules/tgui/modules/appearance_changer_vr.dm b/code/modules/tgui/modules/appearance_changer_vr.dm index fc77d8663c0..23a3e86f9b1 100644 --- a/code/modules/tgui/modules/appearance_changer_vr.dm +++ b/code/modules/tgui/modules/appearance_changer_vr.dm @@ -26,23 +26,23 @@ switch(flag) if(APPEARANCECHANGER_CHANGED_RACE) - to_chat(M, "You lose sensation of your body, feeling only the warmth of everything around you... ") - to_chat(O, "Your body shifts as you make dramatic changes to your captive's body.") + to_chat(M, span_notice("You lose sensation of your body, feeling only the warmth of everything around you... ")) + to_chat(O, span_notice("Your body shifts as you make dramatic changes to your captive's body.")) if(APPEARANCECHANGER_CHANGED_GENDER) - to_chat(M, "Your body feels very strange...") - to_chat(O, "You feel strange as you alter your captive's gender.") + to_chat(M, span_notice("Your body feels very strange...")) + to_chat(O, span_notice("You feel strange as you alter your captive's gender.")) if(APPEARANCECHANGER_CHANGED_GENDER_ID) - to_chat(M, "You start to feel... [capitalize(M.gender)]?") - to_chat(O, "You feel strange as you alter your captive's gender identity.") + to_chat(M, span_notice("You start to feel... [capitalize(M.gender)]?")) + to_chat(O, span_notice("You feel strange as you alter your captive's gender identity.")) if(APPEARANCECHANGER_CHANGED_SKINTONE, APPEARANCECHANGER_CHANGED_SKINCOLOR) - to_chat(M, "Your body tingles all over...") - to_chat(O, "You tingle as you make noticeable changes to your captive's body.") + to_chat(M, span_notice("Your body tingles all over...")) + to_chat(O, span_notice("You tingle as you make noticeable changes to your captive's body.")) if(APPEARANCECHANGER_CHANGED_HAIRSTYLE, APPEARANCECHANGER_CHANGED_HAIRCOLOR, APPEARANCECHANGER_CHANGED_F_HAIRSTYLE, APPEARANCECHANGER_CHANGED_F_HAIRCOLOR) - to_chat(M, "Your body tingles all over...") - to_chat(O, "You tingle as you make noticeable changes to your captive's body.") + to_chat(M, span_notice("Your body tingles all over...")) + to_chat(O, span_notice("You tingle as you make noticeable changes to your captive's body.")) if(APPEARANCECHANGER_CHANGED_EYES) - to_chat(M, "You feel lightheaded and drowsy...") - to_chat(O, "You feel warm as you make subtle changes to your captive's body.") + to_chat(M, span_notice("You feel lightheaded and drowsy...")) + to_chat(O, span_notice("You feel warm as you make subtle changes to your captive's body.")) // Cocoon Stuff /datum/tgui_module/appearance_changer/cocoon @@ -51,7 +51,7 @@ customize_usr = TRUE /datum/tgui_module/appearance_changer/cocoon/tgui_status(mob/user, datum/tgui_state/state) - //if(!istype(owner.loc, /obj/item/weapon/storage/vore_egg/bugcocoon)) + //if(!istype(owner.loc, /obj/item/storage/vore_egg/bugcocoon)) if(!owner.transforming) return STATUS_CLOSE - return ..() \ No newline at end of file + return ..() diff --git a/code/modules/tgui/modules/atmos_control.dm b/code/modules/tgui/modules/atmos_control.dm index 2f2b881da1e..d2c7c71ec92 100644 --- a/code/modules/tgui/modules/atmos_control.dm +++ b/code/modules/tgui/modules/atmos_control.dm @@ -28,7 +28,7 @@ var/obj/machinery/alarm/alarm = locate(params["alarm"]) in (monitored_alarms.len ? monitored_alarms : machines) if(alarm) var/datum/tgui_state/TS = generate_state(alarm) - alarm.tgui_interact(usr, parent_ui = ui_ref, state = TS) + alarm.tgui_interact(ui.user, parent_ui = ui_ref, state = TS) return 1 if("setZLevel") ui.set_map_z_level(params["mapZLevel"]) diff --git a/code/modules/tgui/modules/camera.dm b/code/modules/tgui/modules/camera.dm index 1614a6c5519..793029a6013 100644 --- a/code/modules/tgui/modules/camera.dm +++ b/code/modules/tgui/modules/camera.dm @@ -83,7 +83,7 @@ var/turf/newturf = get_turf(active_camera) var/area/B = newturf?.loc // No cam tracking in dorms! // Show static if can't use the camera - if(!active_camera?.can_use() || B.block_tracking) + if(!active_camera?.can_use() || B.flag_check(AREA_BLOCK_TRACKING)) show_camera_static() if(!ui) var/user_ref = REF(user) @@ -130,16 +130,16 @@ data["allNetworks"] |= C.network return data -/datum/tgui_module/camera/tgui_act(action, params) +/datum/tgui_module/camera/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE - if(action && !issilicon(usr)) + if(action && !issilicon(ui.user)) playsound(tgui_host(), "terminal_type", 50, 1) if(action == "switch_camera") var/c_tag = params["name"] - var/list/cameras = get_available_cameras(usr) + var/list/cameras = get_available_cameras(ui.user) var/obj/machinery/camera/C = cameras["[ckey(c_tag)]"] if(active_camera) UnregisterSignal(active_camera, COMSIG_OBSERVER_MOVED) @@ -159,7 +159,7 @@ var/obj/machinery/camera/target var/best_dist = INFINITY - var/list/possible_cameras = get_available_cameras(usr) + var/list/possible_cameras = get_available_cameras(ui.user) for(var/obj/machinery/camera/C in get_area(T)) if(!possible_cameras["[ckey(C.c_tag)]"]) continue @@ -182,7 +182,7 @@ var/turf/newturf = get_turf(active_camera) var/area/B = newturf?.loc // No cam tracking in dorms! // Show static if can't use the camera - if(!active_camera?.can_use() || B.block_tracking) + if(!active_camera?.can_use() || B.flag_check(AREA_BLOCK_TRACKING)) show_camera_static() return TRUE diff --git a/code/modules/tgui/modules/communications.dm b/code/modules/tgui/modules/communications.dm index ab1a5755e4c..00656061bff 100644 --- a/code/modules/tgui/modules/communications.dm +++ b/code/modules/tgui/modules/communications.dm @@ -45,7 +45,7 @@ /datum/tgui_module/communications/tgui_interact(mob/user, datum/tgui/ui) if(using_map && !(get_z(user) in using_map.contact_levels)) - to_chat(user, "Unable to establish a connection: You're too far away from the station!") + to_chat(user, span_danger("Unable to establish a connection: You're too far away from the station!")) return FALSE . = ..() @@ -60,10 +60,10 @@ return COMM_AUTHENTICATION_MIN else if(message) - to_chat(user, "Access denied.") + to_chat(user, span_warning("Access denied.")) return COMM_AUTHENTICATION_NONE -/datum/tgui_module/communications/proc/change_security_level(new_level) +/datum/tgui_module/communications/proc/change_security_level(mob/user, new_level) tmp_alertlevel = new_level var/old_level = security_level if(!tmp_alertlevel) tmp_alertlevel = SEC_LEVEL_GREEN @@ -72,8 +72,8 @@ set_security_level(tmp_alertlevel) if(security_level != old_level) //Only notify the admins if an actual change happened - log_game("[key_name(usr)] has changed the security level to [get_security_level()].") - message_admins("[key_name_admin(usr)] has changed the security level to [get_security_level()].") + log_game("[key_name(user)] has changed the security level to [get_security_level()].") + message_admins("[key_name_admin(user)] has changed the security level to [get_security_level()].") switch(security_level) if(SEC_LEVEL_GREEN) feedback_inc("alert_comms_green",1) @@ -197,102 +197,101 @@ frequency.post_signal(null, status_signal) -/datum/tgui_module/communications/tgui_act(action, params) +/datum/tgui_module/communications/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE - if(using_map && !(get_z(usr) in using_map.contact_levels)) - to_chat(usr, "Unable to establish a connection: You're too far away from the station!") + if(using_map && !(get_z(ui.user) in using_map.contact_levels)) + to_chat(ui.user, span_danger("Unable to establish a connection: You're too far away from the station!")) return FALSE . = TRUE if(action == "auth") - if(!ishuman(usr)) - to_chat(usr, "Access denied.") + if(!ishuman(ui.user)) + to_chat(ui.user, span_warning("Access denied.")) return FALSE // Logout function. if(authenticated != COMM_AUTHENTICATION_NONE) authenticated = COMM_AUTHENTICATION_NONE crew_announcement.announcer = null - setMenuState(usr, COMM_SCREEN_MAIN) + setMenuState(ui.user, COMM_SCREEN_MAIN) return // Login function. - if(check_access(usr, access_heads)) + if(check_access(ui.user, access_heads)) authenticated = COMM_AUTHENTICATION_MIN - if(check_access(usr, access_captain)) + if(check_access(ui.user, access_captain)) authenticated = COMM_AUTHENTICATION_MAX - var/mob/M = usr - var/obj/item/weapon/card/id = M.GetIdCard() + var/obj/item/card/id = ui.user.GetIdCard() if(istype(id)) crew_announcement.announcer = GetNameAndAssignmentFromId(id) if(authenticated == COMM_AUTHENTICATION_NONE) - to_chat(usr, "You need to wear your ID.") + to_chat(ui.user, span_warning("You need to wear your ID.")) // All functions below this point require authentication. - if(!is_authenticated(usr)) + if(!is_authenticated(ui.user)) return FALSE switch(action) // main interface if("main") - setMenuState(usr, COMM_SCREEN_MAIN) + setMenuState(ui.user, COMM_SCREEN_MAIN) if("newalertlevel") - if(isAI(usr) || isrobot(usr)) - to_chat(usr, "Firewalls prevent you from changing the alert level.") + if(isAI(ui.user) || isrobot(ui.user)) + to_chat(ui.user, span_warning("Firewalls prevent you from changing the alert level.")) return - else if(isobserver(usr)) - var/mob/observer/dead/D = usr + else if(isobserver(ui.user)) + var/mob/observer/dead/D = ui.user if(D.can_admin_interact()) - change_security_level(text2num(params["level"])) + change_security_level(ui.user, text2num(params["level"])) return TRUE - else if(!ishuman(usr)) - to_chat(usr, "Security measures prevent you from changing the alert level.") + else if(!ishuman(ui.user)) + to_chat(ui.user, span_warning("Security measures prevent you from changing the alert level.")) return - if(is_authenticated(usr)) - change_security_level(text2num(params["level"])) + if(is_authenticated(ui.user)) + change_security_level(ui.user, text2num(params["level"])) else - to_chat(usr, "You are not authorized to do this.") - setMenuState(usr, COMM_SCREEN_MAIN) + to_chat(ui.user, span_warning("You are not authorized to do this.")) + setMenuState(ui.user, COMM_SCREEN_MAIN) if("announce") - if(is_authenticated(usr) == COMM_AUTHENTICATION_MAX) + if(is_authenticated(ui.user) == COMM_AUTHENTICATION_MAX) if(message_cooldown > world.time) - to_chat(usr, "Please allow at least one minute to pass between announcements.") + to_chat(ui.user, span_warning("Please allow at least one minute to pass between announcements.")) return - var/input = tgui_input_text(usr, "Please write a message to announce to the station crew.", "Priority Announcement", multiline = TRUE, prevent_enter = TRUE) - if(!input || message_cooldown > world.time || ..() || !(is_authenticated(usr) == COMM_AUTHENTICATION_MAX)) + var/input = tgui_input_text(ui.user, "Please write a message to announce to the station crew.", "Priority Announcement", multiline = TRUE, prevent_enter = TRUE) + if(!input || message_cooldown > world.time || ..() || !(is_authenticated(ui.user) == COMM_AUTHENTICATION_MAX)) return if(length(input) < COMM_MSGLEN_MINIMUM) - to_chat(usr, "Message '[input]' is too short. [COMM_MSGLEN_MINIMUM] character minimum.") + to_chat(ui.user, span_warning("Message '[input]' is too short. [COMM_MSGLEN_MINIMUM] character minimum.")) return crew_announcement.Announce(input) message_cooldown = world.time + 600 //One minute if("callshuttle") - if(!is_authenticated(usr)) + if(!is_authenticated(ui.user)) return - call_shuttle_proc(usr) + call_shuttle_proc(ui.user) if(emergency_shuttle.online()) - post_status(src, "shuttle", user = usr) - setMenuState(usr, COMM_SCREEN_MAIN) + post_status(src, "shuttle", user = ui.user) + setMenuState(ui.user, COMM_SCREEN_MAIN) if("cancelshuttle") - if(isAI(usr) || isrobot(usr)) - to_chat(usr, "Firewalls prevent you from recalling the shuttle.") + if(isAI(ui.user) || isrobot(ui.user)) + to_chat(ui.user, span_warning("Firewalls prevent you from recalling the shuttle.")) return - var/response = tgui_alert(usr, "Are you sure you wish to recall the shuttle?", "Confirm", list("Yes", "No")) + var/response = tgui_alert(ui.user, "Are you sure you wish to recall the shuttle?", "Confirm", list("Yes", "No")) if(response == "Yes") - cancel_call_proc(usr) - setMenuState(usr, COMM_SCREEN_MAIN) + cancel_call_proc(ui.user) + setMenuState(ui.user, COMM_SCREEN_MAIN) if("messagelist") current_viewing_message = null current_viewing_message_id = null if(params["msgid"]) - setCurrentMessage(usr, text2num(params["msgid"])) - setMenuState(usr, COMM_SCREEN_MESSAGES) + setCurrentMessage(ui.user, text2num(params["msgid"])) + setMenuState(ui.user, COMM_SCREEN_MESSAGES) if("toggleatc") ATC.squelched = !ATC.squelched @@ -300,79 +299,79 @@ if("delmessage") var/datum/comm_message_listener/l = obtain_message_listener() if(params["msgid"]) - setCurrentMessage(usr, text2num(params["msgid"])) - var/response = tgui_alert(usr, "Are you sure you wish to delete this message?", "Confirm", list("Yes", "No")) + setCurrentMessage(ui.user, text2num(params["msgid"])) + var/response = tgui_alert(ui.user, "Are you sure you wish to delete this message?", "Confirm", list("Yes", "No")) if(response == "Yes") if(current_viewing_message) if(l != global_message_listener) l.Remove(current_viewing_message) current_viewing_message = null - setMenuState(usr, COMM_SCREEN_MESSAGES) + setMenuState(ui.user, COMM_SCREEN_MESSAGES) if("status") - setMenuState(usr, COMM_SCREEN_STAT) + setMenuState(ui.user, COMM_SCREEN_STAT) // Status display stuff if("setstat") display_type = params["statdisp"] switch(display_type) if("message") - post_status(src, "message", stat_msg1, stat_msg2, user = usr) + post_status(src, "message", stat_msg1, stat_msg2, user = ui.user) if("alert") - post_status(src, "alert", params["alert"], user = usr) + post_status(src, "alert", params["alert"], user = ui.user) else - post_status(src, params["statdisp"], user = usr) + post_status(src, params["statdisp"], user = ui.user) if("setmsg1") - stat_msg1 = reject_bad_text(sanitize(tgui_input_text(usr, "Line 1", "Enter Message Text", stat_msg1, 40), 40), 40) - setMenuState(usr, COMM_SCREEN_STAT) + stat_msg1 = reject_bad_text(sanitize(tgui_input_text(ui.user, "Line 1", "Enter Message Text", stat_msg1, 40), 40), 40) + setMenuState(ui.user, COMM_SCREEN_STAT) if("setmsg2") - stat_msg2 = reject_bad_text(sanitize(tgui_input_text(usr, "Line 2", "Enter Message Text", stat_msg2, 40), 40), 40) - setMenuState(usr, COMM_SCREEN_STAT) + stat_msg2 = reject_bad_text(sanitize(tgui_input_text(ui.user, "Line 2", "Enter Message Text", stat_msg2, 40), 40), 40) + setMenuState(ui.user, COMM_SCREEN_STAT) // OMG CENTCOMM LETTERHEAD if("MessageCentCom") - if(is_authenticated(usr) == COMM_AUTHENTICATION_MAX) + if(is_authenticated(ui.user) == COMM_AUTHENTICATION_MAX) if(centcomm_message_cooldown > world.time) - to_chat(usr, "Arrays recycling. Please stand by.") + to_chat(ui.user, span_warning("Arrays recycling. Please stand by.")) return - var/input = sanitize(tgui_input_text(usr, "Please choose a message to transmit to [using_map.boss_short] via quantum entanglement. \ + var/input = sanitize(tgui_input_text(ui.user, "Please choose a message to transmit to [using_map.boss_short] via quantum entanglement. \ Please be aware that this process is very expensive, and abuse will lead to... termination. \ Transmission does not guarantee a response. \ There is a 30 second delay before you may send another message, be clear, full and concise.", "Central Command Quantum Messaging", multiline = TRUE, prevent_enter = TRUE)) - if(!input || ..() || !(is_authenticated(usr) == COMM_AUTHENTICATION_MAX)) + if(!input || ..() || !(is_authenticated(ui.user) == COMM_AUTHENTICATION_MAX)) return if(length(input) < COMM_CCMSGLEN_MINIMUM) - to_chat(usr, "Message '[input]' is too short. [COMM_CCMSGLEN_MINIMUM] character minimum.") + to_chat(ui.user, span_warning("Message '[input]' is too short. [COMM_CCMSGLEN_MINIMUM] character minimum.")) return - CentCom_announce(input, usr) - to_chat(usr, span_blue("Message transmitted.")) - log_game("[key_name(usr)] has made an IA [using_map.boss_short] announcement: [input]") + CentCom_announce(input, ui.user) + to_chat(ui.user, span_blue("Message transmitted.")) + log_game("[key_name(ui.user)] has made an IA [using_map.boss_short] announcement: [input]") centcomm_message_cooldown = world.time + 300 // 30 seconds - setMenuState(usr, COMM_SCREEN_MAIN) + setMenuState(ui.user, COMM_SCREEN_MAIN) // OMG SYNDICATE ...LETTERHEAD if("MessageSyndicate") - if((is_authenticated(usr) == COMM_AUTHENTICATION_MAX) && (emagged)) + if((is_authenticated(ui.user) == COMM_AUTHENTICATION_MAX) && (emagged)) if(centcomm_message_cooldown > world.time) - to_chat(usr, "Arrays recycling. Please stand by.") + to_chat(ui.user, "Arrays recycling. Please stand by.") return - var/input = sanitize(tgui_input_text(usr, "Please choose a message to transmit to \[ABNORMAL ROUTING CORDINATES\] via quantum entanglement. Please be aware that this process is very expensive, and abuse will lead to... termination. Transmission does not guarantee a response. There is a 30 second delay before you may send another message, be clear, full and concise.", "To abort, send an empty message.", "")) - if(!input || ..() || !(is_authenticated(usr) == COMM_AUTHENTICATION_MAX)) + var/input = sanitize(tgui_input_text(ui.user, "Please choose a message to transmit to \[ABNORMAL ROUTING CORDINATES\] via quantum entanglement. Please be aware that this process is very expensive, and abuse will lead to... termination. Transmission does not guarantee a response. There is a 30 second delay before you may send another message, be clear, full and concise.", "To abort, send an empty message.", "")) + if(!input || ..() || !(is_authenticated(ui.user) == COMM_AUTHENTICATION_MAX)) return if(length(input) < COMM_CCMSGLEN_MINIMUM) - to_chat(usr, "Message '[input]' is too short. [COMM_CCMSGLEN_MINIMUM] character minimum.") + to_chat(ui.user, span_warning("Message '[input]' is too short. [COMM_CCMSGLEN_MINIMUM] character minimum.")) return - Syndicate_announce(input, usr) - to_chat(usr, span_blue("Message transmitted.")) - log_game("[key_name(usr)] has made an illegal announcement: [input]") + Syndicate_announce(input, ui.user) + to_chat(ui.user, span_blue("Message transmitted.")) + log_game("[key_name(ui.user)] has made an illegal announcement: [input]") centcomm_message_cooldown = world.time + 300 // 30 seconds if("RestoreBackup") - to_chat(usr, "Backup routing data restored!") + to_chat(ui.user, "Backup routing data restored!") emagged = FALSE - setMenuState(usr, COMM_SCREEN_MAIN) + setMenuState(ui.user, COMM_SCREEN_MAIN) /datum/tgui_module/communications/ntos ntos = TRUE @@ -386,8 +385,8 @@ if ((!( ticker ) || !emergency_shuttle.location())) return - if(!universe.OnShuttleCall(usr)) - to_chat(user, "Cannot establish a bluespace connection.") + if(!universe.OnShuttleCall(user)) + to_chat(user, span_notice("Cannot establish a bluespace connection.")) return if(deathsquad.deployed) diff --git a/code/modules/tgui/modules/crew_manifest.dm b/code/modules/tgui/modules/crew_manifest.dm index 7c4daf7f2a5..877a03d5367 100644 --- a/code/modules/tgui/modules/crew_manifest.dm +++ b/code/modules/tgui/modules/crew_manifest.dm @@ -11,4 +11,18 @@ /datum/tgui_module/crew_manifest/robot /datum/tgui_module/crew_manifest/robot/tgui_state(mob/user) - return GLOB.tgui_self_state \ No newline at end of file + return GLOB.tgui_self_state + +/datum/tgui_module/crew_manifest/new_player +/datum/tgui_module/crew_manifest/new_player/tgui_state(mob/user) + return GLOB.tgui_always_state + +// Module that deletes itself when it's closed +/datum/tgui_module/crew_manifest/self_deleting + +/datum/tgui_module/crew_manifest/self_deleting/tgui_close(mob/user) + . = ..() + qdel(src) + +/datum/tgui_module/crew_manifest/self_deleting/tgui_state(mob/user) + return GLOB.tgui_always_state diff --git a/code/modules/tgui/modules/crew_monitor.dm b/code/modules/tgui/modules/crew_monitor.dm index 53f31adec42..e2e3c056abf 100644 --- a/code/modules/tgui/modules/crew_monitor.dm +++ b/code/modules/tgui/modules/crew_monitor.dm @@ -11,18 +11,18 @@ if(..()) return TRUE - if(action && !issilicon(usr)) + if(action && !issilicon(ui.user)) playsound(tgui_host(), "terminal_type", 50, 1) - var/turf/T = get_turf(usr) + var/turf/T = get_turf(ui.user) if(!T || !(T.z in using_map.player_levels)) - to_chat(usr, "Unable to establish a connection: You're too far away from the station!") + to_chat(ui.user, span_boldwarning("Unable to establish a connection") + ": You're too far away from the station!") return FALSE switch(action) if("track") - if(isAI(usr)) - var/mob/living/silicon/ai/AI = usr + if(isAI(ui.user)) + var/mob/living/silicon/ai/AI = ui.user var/mob/living/carbon/human/H = locate(params["track"]) in mob_list if(hassensorlevel(H, SUIT_SENSOR_TRACKING)) AI.ai_actual_track(H) @@ -36,7 +36,7 @@ var/list/map_levels = using_map.get_map_levels(z, TRUE, om_range = DEFAULT_OVERMAP_RANGE) if(!map_levels.len) - to_chat(user, "The crew monitor doesn't seem like it'll work here.") + to_chat(user, span_warning("The crew monitor doesn't seem like it'll work here.")) if(ui) ui.close() return null diff --git a/code/modules/tgui/modules/gyrotron_control.dm b/code/modules/tgui/modules/gyrotron_control.dm index e0c47758498..9980c484c71 100644 --- a/code/modules/tgui/modules/gyrotron_control.dm +++ b/code/modules/tgui/modules/gyrotron_control.dm @@ -5,7 +5,7 @@ var/gyro_tag = "" var/scan_range = 25 -/datum/tgui_module/gyrotron_control/tgui_act(action, params) +/datum/tgui_module/gyrotron_control/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE @@ -18,13 +18,13 @@ switch(action) if("set_tag") - var/new_ident = sanitize_text(tgui_input_text(usr, "Enter a new ident tag.", "Gyrotron Control", gyro_tag)) + var/new_ident = sanitize_text(tgui_input_text(ui.user, "Enter a new ident tag.", "Gyrotron Control", gyro_tag)) if(new_ident) gyro_tag = new_ident return TRUE if("toggle_active") - G.activate(usr) + G.activate(ui.user) return TRUE if("set_str") @@ -65,4 +65,4 @@ return data /datum/tgui_module/gyrotron_control/ntos - ntos = TRUE \ No newline at end of file + ntos = TRUE diff --git a/code/modules/tgui/modules/late_choices.dm b/code/modules/tgui/modules/late_choices.dm new file mode 100644 index 00000000000..1a3f86eeaba --- /dev/null +++ b/code/modules/tgui/modules/late_choices.dm @@ -0,0 +1,137 @@ +/datum/tgui_module/late_choices + name = "Late Join" + tgui_id = "LateChoices" + +/datum/tgui_module/late_choices/tgui_status(mob/user, datum/tgui_state/state) + if(!isnewplayer(user)) + return STATUS_CLOSE + return STATUS_INTERACTIVE + +/proc/get_user_job_priority(mob/user, datum/job/job) + . = 0 + + if(!user?.client?.prefs) + return + + if(user.client.prefs.GetJobDepartment(job, 1) & job.flag) + . = 1 + else if(user.client.prefs.GetJobDepartment(job, 2) & job.flag) + . = 2 + else if(user.client.prefs.GetJobDepartment(job, 3) & job.flag) + . = 3 + +/proc/department_flag_to_name(department) + switch(department) + if(DEPARTMENT_COMMAND) + . = "Command" + if(DEPARTMENT_SECURITY) + . = "Security" + if(DEPARTMENT_ENGINEERING) + . = "Engineering" + if(DEPARTMENT_MEDICAL) + . = "Medical" + if(DEPARTMENT_RESEARCH) + . = "Research" + if(DEPARTMENT_CARGO) + . = "Supply" + if(DEPARTMENT_CIVILIAN) + . = "Service" + if(DEPARTMENT_PLANET) + . = "Expedition" + if(DEPARTMENT_SYNTHETIC) + . = "Silicon" + if(DEPARTMENT_TALON) + . = "Offmap" + else + . = "Unknown" + +/proc/character_old_enough_for_job(datum/preferences/prefs, datum/job/job) + if(!job.minimum_character_age && !job.min_age_by_species) + return TRUE + + var/min_age = job.get_min_age(prefs.species, prefs.organ_data["brain"]) + if(prefs.age >= min_age) + return TRUE + return FALSE + +/datum/tgui_module/late_choices/tgui_data(mob/new_player/user) + var/list/data = ..() + + var/name = user.client.prefs.be_random_name ? "friend" : user.client.prefs.real_name + + data["name"] = name + data["duration"] = roundduration2text() + + if(emergency_shuttle?.going_to_centcom()) + data["evac"] = "Gone" + else if(emergency_shuttle?.online()) + if(emergency_shuttle.evac) + data["evac"] = "Emergency" + else + data["evac"] = "Crew Transfer" + else + data["evac"] = "None" + + var/list/jobs = list() + + for(var/datum/job/job in job_master.occupations) + if(job && user.IsJobAvailable(job.title)) + // Check for jobs with minimum age requirements + if(!character_old_enough_for_job(user.client.prefs, job)) + continue + + var/active = 0 + // Only players with the job assigned and AFK for less than 10 minutes count as active + for(var/mob/M in player_list) + if(M.mind?.assigned_role == job.title && M.client?.inactivity <= 10 MINUTES) + active++ + + // Figure out departments + var/list/departments = list() + + for(var/department in job.departments) + departments += department_flag_to_name(department) + + UNTYPED_LIST_ADD(jobs, list( + "title" = job.title, + "priority" = get_user_job_priority(user, job), + "departments" = departments, + "current_positions" = job.current_positions, + "active" = active, + "offmap" = job.offmap_spawn, + )) + + data["jobs"] = jobs + + return data + +/datum/tgui_module/late_choices/tgui_act(action, params, datum/tgui/ui) + . = ..() + if(.) + return + + if(!isnewplayer(ui.user)) + return + var/mob/new_player/new_user = ui.user + + switch(action) + if("join") + var/job = params["job"] + + if(!CONFIG_GET(flag/enter_allowed)) + to_chat(new_user, span_notice("There is an administrative lock on entering the game!")) + return + else if(ticker && ticker.mode && ticker.mode.explosion_in_progress) + to_chat(new_user, span_danger("The station is currently exploding. Joining would go poorly.")) + return + + var/datum/species/S = GLOB.all_species[new_user.client.prefs.species] + if(!is_alien_whitelisted(new_user, S)) + tgui_alert(new_user, "You are currently not whitelisted to play [new_user.client.prefs.species].") + return 0 + + if(!(S.spawn_flags & SPECIES_CAN_JOIN)) + tgui_alert_async(new_user,"Your current species, [new_user.client.prefs.species], is not available for play on the station.") + return 0 + + new_user.AttemptLateSpawn(job, new_user.client.prefs.spawnpoint) diff --git a/code/modules/tgui/modules/law_manager.dm b/code/modules/tgui/modules/law_manager.dm index 77fe6db5464..54b86a0da48 100644 --- a/code/modules/tgui/modules/law_manager.dm +++ b/code/modules/tgui/modules/law_manager.dm @@ -45,69 +45,69 @@ return TRUE if("add_zeroth_law") - if(zeroth_law && is_admin(usr) && !owner.laws.zeroth_law) + if(zeroth_law && is_admin(ui.user) && !owner.laws.zeroth_law) owner.set_zeroth_law(zeroth_law) return TRUE if("add_ion_law") - if(ion_law && is_malf(usr)) + if(ion_law && is_malf(ui.user)) owner.add_ion_law(ion_law) return TRUE if("add_inherent_law") - if(inherent_law && is_malf(usr)) + if(inherent_law && is_malf(ui.user)) owner.add_inherent_law(inherent_law) return TRUE if("add_supplied_law") - if(supplied_law && supplied_law_position >= 1 && MIN_SUPPLIED_LAW_NUMBER <= MAX_SUPPLIED_LAW_NUMBER && is_malf(usr)) + if(supplied_law && supplied_law_position >= 1 && MIN_SUPPLIED_LAW_NUMBER <= MAX_SUPPLIED_LAW_NUMBER && is_malf(ui.user)) owner.add_supplied_law(supplied_law_position, supplied_law) return TRUE if("change_zeroth_law") var/new_law = sanitize(params["val"]) - if(new_law && new_law != zeroth_law && can_still_topic(usr, state)) + if(new_law && new_law != zeroth_law && can_still_topic(ui.user, state)) zeroth_law = new_law return TRUE if("change_ion_law") var/new_law = sanitize(params["val"]) - if(new_law && new_law != ion_law && can_still_topic(usr, state)) + if(new_law && new_law != ion_law && can_still_topic(ui.user, state)) ion_law = new_law return TRUE if("change_inherent_law") var/new_law = sanitize(params["val"]) - if(new_law && new_law != inherent_law && can_still_topic(usr, state)) + if(new_law && new_law != inherent_law && can_still_topic(ui.user, state)) inherent_law = new_law return TRUE if("change_supplied_law") var/new_law = sanitize(params["val"]) - if(new_law && new_law != supplied_law && can_still_topic(usr, state)) + if(new_law && new_law != supplied_law && can_still_topic(ui.user, state)) supplied_law = new_law return TRUE if("change_supplied_law_position") - var/new_position = tgui_input_number(usr, "Enter new supplied law position between 1 and [MAX_SUPPLIED_LAW_NUMBER], inclusive. Inherent laws at the same index as a supplied law will not be stated.", "Law Position", supplied_law_position, MAX_SUPPLIED_LAW_NUMBER, 1) - if(isnum(new_position) && can_still_topic(usr, state)) + var/new_position = tgui_input_number(ui.user, "Enter new supplied law position between 1 and [MAX_SUPPLIED_LAW_NUMBER], inclusive. Inherent laws at the same index as a supplied law will not be stated.", "Law Position", supplied_law_position, MAX_SUPPLIED_LAW_NUMBER, 1) + if(isnum(new_position) && can_still_topic(ui.user, state)) supplied_law_position = CLAMP(new_position, 1, MAX_SUPPLIED_LAW_NUMBER) return TRUE if("edit_law") - if(is_malf(usr)) + if(is_malf(ui.user)) var/datum/ai_law/AL = locate(params["edit_law"]) in owner.laws.all_laws() if(AL) - var/new_law = sanitize(tgui_input_text(usr, "Enter new law. Leaving the field blank will cancel the edit.", "Edit Law", AL.law)) - if(new_law && new_law != AL.law && is_malf(usr) && can_still_topic(usr, state)) + var/new_law = sanitize(tgui_input_text(ui.user, "Enter new law. Leaving the field blank will cancel the edit.", "Edit Law", AL.law)) + if(new_law && new_law != AL.law && is_malf(ui.user) && can_still_topic(ui.user, state)) log_and_message_admins("has changed a law of [owner] from '[AL.law]' to '[new_law]'") AL.law = new_law return TRUE if("delete_law") - if(is_malf(usr)) + if(is_malf(ui.user)) var/datum/ai_law/AL = locate(params["delete_law"]) in owner.laws.all_laws() - if(AL && is_malf(usr)) + if(AL && is_malf(ui.user)) owner.delete_law(AL) return TRUE @@ -116,29 +116,29 @@ return TRUE if("state_law_set") - var/datum/ai_laws/ALs = locate(params["state_law_set"]) in (is_admin(usr) ? admin_laws : player_laws) + var/datum/ai_laws/ALs = locate(params["state_law_set"]) in (is_admin(ui.user) ? admin_laws : player_laws) if(ALs) owner.statelaws(ALs) return TRUE if("transfer_laws") - if(is_malf(usr)) - var/datum/ai_laws/ALs = locate(params["transfer_laws"]) in (is_admin(usr) ? admin_laws : player_laws) + if(is_malf(ui.user)) + var/datum/ai_laws/ALs = locate(params["transfer_laws"]) in (is_admin(ui.user) ? admin_laws : player_laws) if(ALs) log_and_message_admins("has transfered the [ALs.name] laws to [owner].") ALs.sync(owner, 0) return TRUE if("notify_laws") - to_chat(owner, "Law Notice") + to_chat(owner, span_danger("Law Notice")) owner.laws.show_laws(owner) if(isAI(owner)) var/mob/living/silicon/ai/AI = owner for(var/mob/living/silicon/robot/R in AI.connected_robots) - to_chat(R, "Law Notice") + to_chat(R, span_danger("Law Notice")) R.laws.show_laws(R) - if(usr != owner) - to_chat(usr, "Laws displayed.") + if(ui.user != owner) + to_chat(ui.user, span_notice("Laws displayed.")) return TRUE /datum/tgui_module/law_manager/tgui_interact(mob/user, datum/tgui/ui) diff --git a/code/modules/tgui/modules/ntos-only/cardmod.dm b/code/modules/tgui/modules/ntos-only/cardmod.dm index b6e4a8063b3..e50efdd95e4 100644 --- a/code/modules/tgui/modules/ntos-only/cardmod.dm +++ b/code/modules/tgui/modules/ntos-only/cardmod.dm @@ -41,7 +41,7 @@ data["target_owner"] = null data["target_name"] = null if(program && program.computer && program.computer.card_slot) - var/obj/item/weapon/card/id/id_card = program.computer.card_slot.stored_card + var/obj/item/card/id/id_card = program.computer.card_slot.stored_card data["has_modify"] = !!id_card data["account_number"] = id_card ? id_card.associated_account_number : null data["id_rank"] = id_card && id_card.assignment ? id_card.assignment : "Unassigned" @@ -64,13 +64,13 @@ var/list/all_centcom_access = list() var/list/regions = list() if(program.computer.card_slot && program.computer.card_slot.stored_card) - var/obj/item/weapon/card/id/id_card = program.computer.card_slot.stored_card + var/obj/item/card/id/id_card = program.computer.card_slot.stored_card if(is_centcom) for(var/access in get_all_centcom_access()) all_centcom_access.Add(list(list( "desc" = replacetext(get_centcom_access_desc(access), " ", " "), "ref" = access, - "allowed" = (access in id_card.access) ? 1 : 0))) + "allowed" = (access in id_card.GetAccess()) ? 1 : 0))) data["all_centcom_access"] = all_centcom_access else for(var/i in ACCESS_REGION_SECURITY to ACCESS_REGION_SUPPLY) @@ -80,7 +80,7 @@ accesses.Add(list(list( "desc" = replacetext(get_access_desc(access), " ", " "), "ref" = access, - "allowed" = (access in id_card.access) ? 1 : 0))) + "allowed" = (access in id_card.GetAccess()) ? 1 : 0))) regions.Add(list(list( "name" = get_region_accesses_name(i), @@ -97,7 +97,7 @@ if(!istype(program)) return null - var/obj/item/weapon/card/id/id_card = program.computer.card_slot ? program.computer.card_slot.stored_card : null + var/obj/item/card/id/id_card = program.computer.card_slot ? program.computer.card_slot.stored_card : null var/list/formatted = list() for(var/job in jobs) formatted.Add(list(list( @@ -119,8 +119,8 @@ if(!istype(computer)) return TRUE - var/obj/item/weapon/card/id/user_id_card = usr.GetIdCard() - var/obj/item/weapon/card/id/id_card + var/obj/item/card/id/user_id_card = ui.user.GetIdCard() + var/obj/item/card/id/id_card if(computer.card_slot) id_card = computer.card_slot.stored_card @@ -131,7 +131,7 @@ if("print") if(computer && computer.nano_printer) //This option should never be called if there is no printer if(!mod_mode) - if(program.can_run(usr, 1)) + if(program.can_run(ui.user, 1)) var/contents = {"

      Access Report

      Prepared By: [user_id_card.registered_name ? user_id_card.registered_name : "Unknown"]
      For: [id_card.registered_name ? id_card.registered_name : "Unregistered"]
      @@ -143,56 +143,56 @@ "} var/known_access_rights = get_access_ids(ACCESS_TYPE_STATION|ACCESS_TYPE_CENTCOM) - for(var/A in id_card.access) + for(var/A in id_card.GetAccess()) if(A in known_access_rights) contents += " [get_access_desc(A)]" if(!computer.nano_printer.print_text(contents,"access report")) - to_chat(usr, "Hardware error: Printer was unable to print the file. It may be out of paper.") + to_chat(ui.user, span_notice("Hardware error: Printer was unable to print the file. It may be out of paper.")) return else - computer.visible_message("\The [computer] prints out paper.") + computer.visible_message(span_bold("\The [computer]") + " prints out paper.") else var/contents = {"

      Crew Manifest


      [data_core ? data_core.get_manifest(0) : ""] "} if(!computer.nano_printer.print_text(contents,text("crew manifest ([])", stationtime2text()))) - to_chat(usr, "Hardware error: Printer was unable to print the file. It may be out of paper.") + to_chat(ui.user, span_notice("Hardware error: Printer was unable to print the file. It may be out of paper.")) return else - computer.visible_message("\The [computer] prints out paper.") + computer.visible_message(span_bold("\The [computer]") + " prints out paper.") . = TRUE if("modify") if(computer && computer.card_slot) if(id_card) data_core.manifest_modify(id_card.registered_name, id_card.assignment, id_card.rank) - computer.proc_eject_id(usr) + computer.proc_eject_id(ui.user) . = TRUE if("terminate") - if(computer && program.can_run(usr, 1)) + if(computer && program.can_run(ui.user, 1)) id_card.assignment = "Dismissed" //VOREStation Edit: setting adjustment id_card.access = list() callHook("terminate_employee", list(id_card)) . = TRUE if("reg") - if(computer && program.can_run(usr, 1)) + if(computer && program.can_run(ui.user, 1)) var/temp_name = sanitizeName(params["reg"], allow_numbers = TRUE) if(temp_name) id_card.registered_name = temp_name else - computer.visible_message("[computer] buzzes rudely.") + computer.visible_message(span_notice("[computer] buzzes rudely.")) . = TRUE if("account") - if(computer && program.can_run(usr, 1)) + if(computer && program.can_run(ui.user, 1)) var/account_num = text2num(params["account"]) id_card.associated_account_number = account_num . = TRUE if("assign") - if(computer && program.can_run(usr, 1) && id_card) + if(computer && program.can_run(ui.user, 1) && id_card) var/t1 = params["assign_target"] if(t1 == "Custom") - var/temp_t = sanitize(tgui_input_text(usr, "Enter a custom job assignment.","Assignment", id_card.assignment, 45), 45) + var/temp_t = sanitize(tgui_input_text(ui.user, "Enter a custom job assignment.","Assignment", id_card.assignment, 45), 45) //let custom jobs function as an impromptu alt title, mainly for sechuds if(temp_t) id_card.assignment = temp_t @@ -208,7 +208,7 @@ jobdatum = J break if(!jobdatum) - to_chat(usr, "No log exists for this job: [t1]") + to_chat(ui.user, span_warning("No log exists for this job: [t1]")) return access = jobdatum.get_access() @@ -220,7 +220,7 @@ callHook("reassign_employee", list(id_card)) . = TRUE if("access") - if(computer && program.can_run(usr, 1)) + if(computer && program.can_run(ui.user, 1)) var/access_type = text2num(params["access_target"]) var/access_allowed = text2num(params["allowed"]) if(access_type in get_access_ids(ACCESS_TYPE_STATION|ACCESS_TYPE_CENTCOM)) @@ -231,4 +231,3 @@ if(id_card) id_card.name = text("[id_card.registered_name]'s ID Card ([id_card.assignment])") - diff --git a/code/modules/tgui/modules/ntos-only/configurator.dm b/code/modules/tgui/modules/ntos-only/configurator.dm index 263409f5e3a..d20ff147f31 100644 --- a/code/modules/tgui/modules/ntos-only/configurator.dm +++ b/code/modules/tgui/modules/ntos-only/configurator.dm @@ -25,7 +25,7 @@ var/list/hardware = movable.get_all_components() var/list/all_entries[0] - for(var/obj/item/weapon/computer_hardware/H in hardware) + for(var/obj/item/computer_hardware/H in hardware) all_entries.Add(list(list( "name" = H.name, "desc" = H.desc, @@ -42,7 +42,7 @@ return switch(action) if("PC_toggle_component") - var/obj/item/weapon/computer_hardware/H = movable.find_hardware_by_name(params["name"]) + var/obj/item/computer_hardware/H = movable.find_hardware_by_name(params["name"]) if(H && istype(H)) H.enabled = !H.enabled . = TRUE \ No newline at end of file diff --git a/code/modules/tgui/modules/ntos-only/email.dm b/code/modules/tgui/modules/ntos-only/email.dm index 45317a9aee1..e8a7d606feb 100644 --- a/code/modules/tgui/modules/ntos-only/email.dm +++ b/code/modules/tgui/modules/ntos-only/email.dm @@ -228,11 +228,10 @@ return 1 -/datum/tgui_module/email_client/tgui_act(action, params) +/datum/tgui_module/email_client/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE - var/mob/living/user = usr check_for_new_messages(1) // Any actual interaction (button pressing) is considered as acknowledging received message, for the purpose of notification icons. switch(action) @@ -279,7 +278,7 @@ var/oldtext = html_decode(msg_body) oldtext = replacetext(oldtext, "\[editorbr\]", "\n") - var/newtext = sanitize(replacetext(tgui_input_text(usr, "Enter your message. You may use most tags from paper formatting", "Message Editor", oldtext, 20000, TRUE, prevent_enter = TRUE), "\n", "\[editorbr\]"), 20000) + var/newtext = sanitize(replacetext(tgui_input_text(ui.user, "Enter your message. You may use most tags from paper formatting", "Message Editor", oldtext, 20000, TRUE, prevent_enter = TRUE), "\n", "\[editorbr\]"), 20000) if(newtext) msg_body = newtext return 1 @@ -362,13 +361,13 @@ return 1 if("changepassword") - var/oldpassword = sanitize(tgui_input_text(user,"Please enter your old password:", "Password Change", null, 100), 100) + var/oldpassword = sanitize(tgui_input_text(ui.user,"Please enter your old password:", "Password Change", null, 100), 100) if(!oldpassword) return 1 - var/newpassword1 = sanitize(tgui_input_text(user,"Please enter your new password:", "Password Change", null, 100), 100) + var/newpassword1 = sanitize(tgui_input_text(ui.user,"Please enter your new password:", "Password Change", null, 100), 100) if(!newpassword1) return 1 - var/newpassword2 = sanitize(tgui_input_text(user,"Please re-enter your new password:", "Password Change", null, 100), 100) + var/newpassword2 = sanitize(tgui_input_text(ui.user,"Please re-enter your new password:", "Password Change", null, 100), 100) if(!newpassword2) return 1 @@ -399,7 +398,7 @@ error = "Error exporting file. Are you using a functional and NTOS-compliant device?" return 1 - var/filename = sanitize(tgui_input_text(user,"Please specify file name:", "Message export", null, 100), 100) + var/filename = sanitize(tgui_input_text(ui.user,"Please specify file name:", "Message export", null, 100), 100) if(!filename) return 1 @@ -427,7 +426,7 @@ if(CF.unsendable) continue filenames.Add(CF.filename) - var/picked_file = tgui_input_list(user, "Please pick a file to send as attachment (max 32GQ)", "Select Attachment", filenames) + var/picked_file = tgui_input_list(ui.user, "Please pick a file to send as attachment (max 32GQ)", "Select Attachment", filenames) if(!picked_file) return 1 diff --git a/code/modules/tgui/modules/ntos-only/uav.dm b/code/modules/tgui/modules/ntos-only/uav.dm index eec4a420789..559cf00e284 100644 --- a/code/modules/tgui/modules/ntos-only/uav.dm +++ b/code/modules/tgui/modules/ntos-only/uav.dm @@ -2,7 +2,7 @@ name = "UAV Control" tgui_id = "UAV" ntos = TRUE - var/obj/item/device/uav/current_uav = null //The UAV we're watching + var/obj/item/uav/current_uav = null //The UAV we're watching var/signal_strength = 0 //Our last signal strength report (cached for a few seconds) var/signal_test_counter = 0 //How long until next signal strength check var/list/viewers //Who's viewing a UAV through us @@ -31,7 +31,7 @@ var/obj/item/modular_computer/mc_host = tgui_host() if(istype(mc_host)) for(var/datum/weakref/wr as anything in mc_host.paired_uavs) - var/obj/item/device/uav/U = wr.resolve() + var/obj/item/uav/U = wr.resolve() paired_map.Add(list(list("name" = "[U ? U.nickname : "!!Missing!!"]", "uavref" = "\ref[U]"))) data["paired_uavs"] = paired_map @@ -43,13 +43,13 @@ switch(action) if("switch_uav") - var/obj/item/device/uav/U = locate(params["switch_uav"]) //This is a \ref to the UAV itself + var/obj/item/uav/U = locate(params["switch_uav"]) //This is a \ref to the UAV itself if(!istype(U)) - to_chat(usr,"Something is blocking the connection to that UAV. In-person investigation is required.") + to_chat(ui.user,span_warning("Something is blocking the connection to that UAV. In-person investigation is required.")) return FALSE if(!get_signal_to(U)) - to_chat(usr,"The screen freezes for a moment, before returning to the UAV selection menu. It's not able to connect to that UAV.") + to_chat(ui.user,span_warning("The screen freezes for a moment, before returning to the UAV selection menu. It's not able to connect to that UAV.")) return FALSE set_current(U) @@ -70,10 +70,10 @@ if(!current_uav) return FALSE - if(current_uav.check_eye(usr) < 0) - to_chat(usr,"The screen freezes for a moment, before returning to the UAV selection menu. It's not able to connect to that UAV.") + if(current_uav.check_eye(ui.user) < 0) + to_chat(ui.user,span_warning("The screen freezes for a moment, before returning to the UAV selection menu. It's not able to connect to that UAV.")) else - viewing_uav(usr) ? unlook(usr) : look(usr) + viewing_uav(ui.user) ? unlook(ui.user) : look(ui.user) return TRUE if("power_uav") @@ -88,7 +88,7 @@ unlook(M) return TRUE -/datum/tgui_module/uav/proc/set_current(var/obj/item/device/uav/U) +/datum/tgui_module/uav/proc/set_current(var/obj/item/uav/U) if(current_uav == U) return @@ -114,7 +114,7 @@ for(var/datum/weakref/W in viewers) var/M = W.resolve() if(M) - to_chat(M, "You're disconnected from the UAV's camera!") + to_chat(M, span_warning("You're disconnected from the UAV's camera!")) unlook(M) /datum/tgui_module/uav/proc/current_uav_changed_z(old_z, new_z) @@ -195,7 +195,7 @@ /datum/tgui_module/uav/proc/look(mob/user) if(issilicon(user)) //Too complicated for me to want to mess with at the moment - to_chat(user, "Regulations prevent you from controlling several corporeal forms at the same time!") + to_chat(user, span_warning("Regulations prevent you from controlling several corporeal forms at the same time!")) return if(!current_uav) diff --git a/code/modules/tgui/modules/overmap.dm b/code/modules/tgui/modules/overmap.dm index a1d03753122..6b7e31a5ab3 100644 --- a/code/modules/tgui/modules/overmap.dm +++ b/code/modules/tgui/modules/overmap.dm @@ -2,6 +2,7 @@ var/obj/effect/overmap/visitable/ship/linked var/list/viewers var/extra_view = 0 + var/map_view_used = FALSE /datum/tgui_module/ship/New() . = ..() @@ -17,6 +18,24 @@ unlook(M) . = ..() +/datum/tgui_module/ship/tgui_interact(mob/user, datum/tgui/ui, datum/tgui/parent_ui) + ui = SStgui.try_update_ui(user, src, ui) + if(!ui) + if(linked) + user.client.register_map_obj(linked.cam_screen) + for(var/plane in linked.cam_plane_masters) + user.client.register_map_obj(plane) + user.client.register_map_obj(linked.cam_background) + linked.update_screen() + + ui = new(user, src, tgui_id, name, parent_ui) + ui.open() + +/datum/tgui_module/ship/tgui_data(mob/user, datum/tgui/ui, datum/tgui_state/state) + var/list/data = ..() + data["mapRef"] = linked?.map_name + return data + /datum/tgui_module/ship/tgui_status(mob/user) . = ..() if(. > STATUS_DISABLED) @@ -30,6 +49,9 @@ user.unset_machine() unlook(user) + // Unregister map objects + user.client?.clear_map(linked?.map_name) + /datum/tgui_module/ship/proc/sync_linked() var/obj/effect/overmap/visitable/ship/sector = get_overmap_sector(get_z(tgui_host())) if(!sector) @@ -56,13 +78,17 @@ user.reset_view(linked) user.set_viewsize(world.view + extra_view) user.AddComponent(/datum/component/recursive_move) - RegisterSignal(user, COMSIG_OBSERVER_MOVED, /datum/tgui_module/ship/proc/unlook) + if(!map_view_used) + RegisterSignal(user, COMSIG_OBSERVER_MOVED, /datum/tgui_module/ship/proc/unlook) + map_view_used = TRUE LAZYDISTINCTADD(viewers, WEAKREF(user)) /datum/tgui_module/ship/proc/unlook(var/mob/user) user.reset_view() user.set_viewsize() // reset to default - UnregisterSignal(user, COMSIG_OBSERVER_MOVED) + if(map_view_used) + UnregisterSignal(user, COMSIG_OBSERVER_MOVED) + map_view_used = FALSE LAZYREMOVE(viewers, WEAKREF(user)) /datum/tgui_module/ship/proc/viewing_overmap(mob/user) @@ -90,7 +116,7 @@ // NTOS Path if(!sync_linked()) - to_chat(user, "You don't appear to be on a spaceship...") + to_chat(user, span_warning("You don't appear to be on a spaceship...")) if(ui) ui.close(can_be_suspended = FALSE) if(ntos) @@ -123,7 +149,7 @@ return data -/datum/tgui_module/ship/nav/tgui_act(action, params) +/datum/tgui_module/ship/nav/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE @@ -131,7 +157,7 @@ return FALSE if(action == "viewing") - viewing_overmap(usr) ? unlook(usr) : look(usr) + viewing_overmap(ui.user) ? unlook(ui.user) : look(ui.user) return TRUE /datum/tgui_module/ship/nav/ntos @@ -300,7 +326,7 @@ return data // Beware ye eyes. This holds all of the ACTIONS from helm, engine, and sensor control all at once. -/datum/tgui_module/ship/fullmonty/tgui_act(action, params) +/datum/tgui_module/ship/fullmonty/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE @@ -308,21 +334,21 @@ /* HELM */ if("add") var/datum/computer_file/data/waypoint/R = new() - var/sec_name = tgui_input_text(usr, "Input navigation entry name", "New navigation entry", "Sector #[known_sectors.len]", MAX_NAME_LEN) + var/sec_name = tgui_input_text(ui.user, "Input navigation entry name", "New navigation entry", "Sector #[known_sectors.len]", MAX_NAME_LEN) sec_name = sanitize(sec_name,MAX_NAME_LEN) if(!sec_name) sec_name = "Sector #[known_sectors.len]" R.fields["name"] = sec_name if(sec_name in known_sectors) - to_chat(usr, "Sector with that name already exists, please input a different name.") + to_chat(ui.user, span_warning("Sector with that name already exists, please input a different name.")) return TRUE switch(params["add"]) if("current") R.fields["x"] = linked.x R.fields["y"] = linked.y if("new") - var/newx = tgui_input_number(usr, "Input new entry x coordinate", "Coordinate input", linked.x, world.maxx, 1) - var/newy = tgui_input_number(usr, "Input new entry y coordinate", "Coordinate input", linked.y, world.maxy, 1) + var/newx = tgui_input_number(ui.user, "Input new entry x coordinate", "Coordinate input", linked.x, world.maxx, 1) + var/newy = tgui_input_number(ui.user, "Input new entry y coordinate", "Coordinate input", linked.y, world.maxy, 1) R.fields["x"] = CLAMP(newx, 1, world.maxx) R.fields["y"] = CLAMP(newy, 1, world.maxy) known_sectors[sec_name] = R @@ -337,12 +363,12 @@ if("setcoord") if(params["setx"]) - var/newx = tgui_input_number(usr, "Input new destiniation x coordinate", "Coordinate input", dx, world.maxx, 1) + var/newx = tgui_input_number(ui.user, "Input new destiniation x coordinate", "Coordinate input", dx, world.maxx, 1) if(newx) dx = CLAMP(newx, 1, world.maxx) if(params["sety"]) - var/newy = tgui_input_number(usr, "Input new destiniation y coordinate", "Coordinate input", dy, world.maxy, 1) + var/newy = tgui_input_number(ui.user, "Input new destiniation y coordinate", "Coordinate input", dy, world.maxy, 1) if(newy) dy = CLAMP(newy, 1, world.maxy) . = TRUE @@ -358,13 +384,13 @@ . = TRUE if("speedlimit") - var/newlimit = tgui_input_number(usr, "Input new speed limit for autopilot (0 to brake)", "Autopilot speed limit", speedlimit*1000, 100000) + var/newlimit = tgui_input_number(ui.user, "Input new speed limit for autopilot (0 to brake)", "Autopilot speed limit", speedlimit*1000, 100000) if(newlimit) speedlimit = CLAMP(newlimit/1000, 0, 100) . = TRUE if("accellimit") - var/newlimit = tgui_input_number(usr, "Input new acceleration limit", "Acceleration limit", accellimit*1000) + var/newlimit = tgui_input_number(ui.user, "Input new acceleration limit", "Acceleration limit", accellimit*1000) if(newlimit) accellimit = max(newlimit/1000, 0) . = TRUE @@ -372,7 +398,7 @@ if("move") var/ndir = text2num(params["dir"]) ndir = turn(ndir,pick(90,-90)) - linked.relaymove(usr, ndir, accellimit) + linked.relaymove(ui.user, ndir, accellimit) . = TRUE if("brake") @@ -392,7 +418,7 @@ . = TRUE if("manual") - viewing_overmap(usr) ? unlook(usr) : look(usr) + viewing_overmap(ui.user) ? unlook(ui.user) : look(ui.user) . = TRUE /* END HELM */ /* ENGINES */ @@ -404,7 +430,7 @@ . = TRUE if("set_global_limit") - var/newlim = tgui_input_number(usr, "Input new thrust limit (0..100%)", "Thrust limit", linked.thrust_limit*100, 100, 0) + var/newlim = tgui_input_number(ui.user, "Input new thrust limit (0..100%)", "Thrust limit", linked.thrust_limit*100, 100, 0) linked.thrust_limit = clamp(newlim/100, 0, 1) for(var/datum/ship_engine/E in linked.engines) E.set_thrust_limit(linked.thrust_limit) @@ -418,7 +444,7 @@ if("set_limit") var/datum/ship_engine/E = locate(params["engine"]) - var/newlim = tgui_input_number(usr, "Input new thrust limit (0..100)", "Thrust limit", E.get_thrust_limit(), 100, 0) + var/newlim = tgui_input_number(ui.user, "Input new thrust limit (0..100)", "Thrust limit", E.get_thrust_limit(), 100, 0) var/limit = clamp(newlim/100, 0, 1) if(istype(E)) E.set_thrust_limit(limit) @@ -439,7 +465,7 @@ /* END ENGINES */ /* SENSORS */ if("range") - var/nrange = tgui_input_number(usr, "Set new sensors range", "Sensor range", sensors.range, world.view, round_value = FALSE) + var/nrange = tgui_input_number(ui.user, "Set new sensors range", "Sensor range", sensors.range, world.view, round_value = FALSE) if(nrange) sensors.set_range(CLAMP(nrange, 1, world.view)) . = TRUE @@ -447,8 +473,8 @@ sensors.toggle() . = TRUE if("viewing") - if(usr && !isAI(usr)) - viewing_overmap(usr) ? unlook(usr) : look(usr) + if(ui.user && !isAI(ui.user)) + viewing_overmap(ui.user) ? unlook(ui.user) : look(ui.user) . = TRUE /* END SENSORS */ diff --git a/code/modules/tgui/modules/rcon.dm b/code/modules/tgui/modules/rcon.dm index 7f1f0822a99..0cecc4c5ee6 100644 --- a/code/modules/tgui/modules/rcon.dm +++ b/code/modules/tgui/modules/rcon.dm @@ -55,7 +55,7 @@ return data -/datum/tgui_module/rcon/tgui_act(action, params) +/datum/tgui_module/rcon/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE @@ -78,14 +78,14 @@ var/obj/machinery/power/smes/buildable/SMES = GetSMESByTag(params["smes"]) if(SMES) SMES.tgui_set_io(SMES_TGUI_INPUT, params["target"], text2num(params["adjust"])) - // var/inputset = (input(usr, "Enter new input level (0-[SMES.input_level_max/1000] kW)", "SMES Input Power Control", SMES.input_level/1000) as num) * 1000 + // var/inputset = (input(ui.user, "Enter new input level (0-[SMES.input_level_max/1000] kW)", "SMES Input Power Control", SMES.input_level/1000) as num) * 1000 // SMES.set_input(inputset) . = TRUE if("smes_out_set") var/obj/machinery/power/smes/buildable/SMES = GetSMESByTag(params["smes"]) if(SMES) SMES.tgui_set_io(SMES_TGUI_OUTPUT, params["target"], text2num(params["adjust"])) - // var/outputset = (input(usr, "Enter new output level (0-[SMES.output_level_max/1000] kW)", "SMES Output Power Control", SMES.output_level/1000) as num) * 1000 + // var/outputset = (input(ui.user, "Enter new output level (0-[SMES.output_level_max/1000] kW)", "SMES Output Power Control", SMES.output_level/1000) as num) * 1000 // SMES.set_output(outputset) . = TRUE if("toggle_breaker") @@ -95,7 +95,7 @@ toggle = breaker if(toggle) if(toggle.update_locked) - to_chat(usr, "The breaker box was recently toggled. Please wait before toggling it again.") + to_chat(ui.user, "The breaker box was recently toggled. Please wait before toggling it again.") else toggle.auto_toggle() . = TRUE diff --git a/code/modules/tgui/modules/rustcore_monitor.dm b/code/modules/tgui/modules/rustcore_monitor.dm index a7ce6edbbb0..06808b54846 100644 --- a/code/modules/tgui/modules/rustcore_monitor.dm +++ b/code/modules/tgui/modules/rustcore_monitor.dm @@ -4,7 +4,7 @@ var/core_tag = "" -/datum/tgui_module/rustcore_monitor/tgui_act(action, params) +/datum/tgui_module/rustcore_monitor/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE @@ -25,7 +25,7 @@ return TRUE if("set_tag") - var/new_ident = sanitize_text(tgui_input_text(usr, "Enter a new ident tag.", "Core Control", core_tag)) + var/new_ident = sanitize_text(tgui_input_text(ui.user, "Enter a new ident tag.", "Core Control", core_tag)) if(new_ident) core_tag = new_ident return TRUE diff --git a/code/modules/tgui/modules/rustfuel_control.dm b/code/modules/tgui/modules/rustfuel_control.dm index 820a937b992..6a355e4f0f4 100644 --- a/code/modules/tgui/modules/rustfuel_control.dm +++ b/code/modules/tgui/modules/rustfuel_control.dm @@ -4,7 +4,7 @@ var/fuel_tag = "" -/datum/tgui_module/rustfuel_control/tgui_act(action, params) +/datum/tgui_module/rustfuel_control/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE @@ -22,7 +22,7 @@ return TRUE if("set_tag") - var/new_ident = sanitize_text(tgui_input_text(usr, "Enter a new ident tag.", "Gyrotron Control", fuel_tag)) + var/new_ident = sanitize_text(tgui_input_text(ui.user, "Enter a new ident tag.", "Gyrotron Control", fuel_tag)) if(new_ident) fuel_tag = new_ident @@ -48,4 +48,4 @@ return data /datum/tgui_module/rustfuel_control/ntos - ntos = TRUE \ No newline at end of file + ntos = TRUE diff --git a/code/modules/tgui/modules/teleporter.dm b/code/modules/tgui/modules/teleporter.dm index bded58ae445..b8b6024160d 100644 --- a/code/modules/tgui/modules/teleporter.dm +++ b/code/modules/tgui/modules/teleporter.dm @@ -20,13 +20,13 @@ /datum/tgui_module/teleport_control/tgui_act(action, params, datum/tgui/ui, datum/tgui_state/state) if(..()) return TRUE - + switch(action) if("select_target") var/list/L = list() var/list/areaindex = list() - for(var/obj/item/device/radio/beacon/R in GLOB.all_beacons) + for(var/obj/item/radio/beacon/R in GLOB.all_beacons) var/turf/T = get_turf(R) if(!T) continue @@ -39,7 +39,7 @@ areaindex[tmpname] = 1 L[tmpname] = R - for(var/obj/item/weapon/implant/tracking/I in GLOB.all_tracking_implants) + for(var/obj/item/implant/tracking/I in GLOB.all_tracking_implants) if(!I.implanted || !ismob(I.loc)) continue else @@ -59,10 +59,10 @@ areaindex[tmpname] = 1 L[tmpname] = I - var/desc = tgui_input_list(usr, "Please select a location to lock in.", "Locking Menu", L) + var/desc = tgui_input_list(ui.user, "Please select a location to lock in.", "Locking Menu", L) if(!desc) return FALSE - if(tgui_status(usr, state) != STATUS_INTERACTIVE) + if(tgui_status(ui.user, state) != STATUS_INTERACTIVE) return FALSE locked = L[desc] @@ -76,10 +76,10 @@ if("toggle_on") if(!station) return FALSE - + if(station.engaged) station.disengage() else station.engage() - + return TRUE diff --git a/code/modules/tgui/tgui.dm b/code/modules/tgui/tgui.dm index ed654a4c6f4..5acbaa887a0 100644 --- a/code/modules/tgui/tgui.dm +++ b/code/modules/tgui/tgui.dm @@ -353,8 +353,7 @@ log_tgui(user, "Action: [act_type] [href_list["payload"]], Window: [window.id], Source: [src_object]") #endif process_status() - if(src_object.tgui_act(act_type, payload, src, state)) - SStgui.update_uis(src_object) + DEFAULT_QUEUE_OR_CALL_VERB(VERB_CALLBACK(src, PROC_REF(on_act_message), act_type, payload, state)) return FALSE switch(type) if("ready") @@ -382,3 +381,10 @@ log_tgui(user, "Fallback Triggered: [href_list["payload"]], Window: [window.id], Source: [src_object]") #endif src_object.tgui_fallback(payload) + +/// Wrapper for behavior to potentially wait until the next tick if the server is overloaded +/datum/tgui/proc/on_act_message(act_type, payload, state) + if(QDELETED(src) || QDELETED(src_object)) + return + if(src_object.tgui_act(act_type, payload, src, state)) + SStgui.update_uis(src_object) diff --git a/code/modules/tgui_input/number.dm b/code/modules/tgui_input/number.dm index da302798411..ddb7f8a1953 100644 --- a/code/modules/tgui_input/number.dm +++ b/code/modules/tgui_input/number.dm @@ -136,19 +136,19 @@ data["timeout"] = CLAMP01((timeout - (world.time - start_time) - 1 SECONDS) / (timeout - 1 SECONDS)) return data -/datum/tgui_input_number/tgui_act(action, list/params) +/datum/tgui_input_number/tgui_act(action, list/params, datum/tgui/ui) . = ..() if (.) return switch(action) if("submit") if(!isnum(params["entry"])) - CRASH("A non number was input into tgui input number by [usr]") + CRASH("A non number was input into tgui input number by [ui.user]") var/choice = round_value ? round(params["entry"]) : params["entry"] if(choice > max_value) - CRASH("A number greater than the max value was input into tgui input number by [usr]") + CRASH("A number greater than the max value was input into tgui input number by [ui.user]") if(choice < min_value) - CRASH("A number less than the min value was input into tgui input number by [usr]") + CRASH("A number less than the min value was input into tgui input number by [ui.user]") set_entry(choice) closed = TRUE SStgui.close_uis(src) diff --git a/code/modules/tgui_input/say_modal/modal.dm b/code/modules/tgui_input/say_modal/modal.dm index 725f4321bf0..40dba424c08 100644 --- a/code/modules/tgui_input/say_modal/modal.dm +++ b/code/modules/tgui_input/say_modal/modal.dm @@ -64,10 +64,12 @@ /datum/tgui_say/proc/load() window_open = FALSE - winset(client, "tgui_say", "pos=410,400;size=360,30;is-visible=0;") + var/minimumHeight = client?.prefs?.read_preference(/datum/preference/numeric/tgui_say_height) || 1 + winset(client, "tgui_say", "pos=410,400;size=360,[(minimumHeight * 20) + 10];is-visible=0;") window.send_message("props", list( - lightMode = client.is_preference_enabled(/datum/client_preference/tgui_say_light), + lightMode = client?.prefs?.read_preference(/datum/preference/toggle/tgui_say_light), + minimumHeight = minimumHeight, maxLength = max_length, )) diff --git a/code/modules/tgui_input/text.dm b/code/modules/tgui_input/text.dm index 58290032984..d02ef216ac5 100644 --- a/code/modules/tgui_input/text.dm +++ b/code/modules/tgui_input/text.dm @@ -130,7 +130,7 @@ data["timeout"] = clamp((timeout - (world.time - start_time) - 1 SECONDS) / (timeout - 1 SECONDS), 0, 1) return data -/datum/tgui_input_text/tgui_act(action, list/params) +/datum/tgui_input_text/tgui_act(action, list/params, datum/tgui/ui) . = ..() if (.) return @@ -138,9 +138,9 @@ if("submit") if(max_length) if(length(params["entry"]) > max_length) - CRASH("[usr] typed a text string longer than the max length") + CRASH("[ui.user] typed a text string longer than the max length") if(encode && (length(html_encode(params["entry"])) > max_length)) - to_chat(usr, span_notice("Your message was clipped due to special character usage.")) + to_chat(ui.user, span_notice("Your message was clipped due to special character usage.")) set_entry(params["entry"]) closed = TRUE SStgui.close_uis(src) diff --git a/code/modules/tgui_panel/external.dm b/code/modules/tgui_panel/external.dm index 3e7dbc3178f..a4c8855fca5 100644 --- a/code/modules/tgui_panel/external.dm +++ b/code/modules/tgui_panel/external.dm @@ -10,7 +10,7 @@ */ /client/verb/fix_tgui_panel() set name = "Fix chat" - set category = "OOC" + set category = "OOC.Debug" var/action log_tgui(src, "Started fixing.", context = "verb/fix_tgui_panel") @@ -35,10 +35,16 @@ // Force show the panel to see if there are any errors winset(src, "output", "is-disabled=1&is-visible=0") winset(src, "browseroutput", "is-disabled=0;is-visible=1") + // TODO: Remove version check with 516 + if(byond_version >= 516) + if(prefs?.read_preference(/datum/preference/toggle/browser_dev_tools)) + winset(src, null, "browser-options=[DEFAULT_CLIENT_BROWSER_OPTIONS],devtools") + else + winset(src, null, "browser-options=[DEFAULT_CLIENT_BROWSER_OPTIONS]") /client/verb/refresh_tgui() set name = "Refresh TGUI" - set category = "OOC" + set category = "OOC.Debug" for(var/window_id in tgui_windows) var/datum/tgui_window/window = tgui_windows[window_id] diff --git a/code/modules/tgui_panel/tgui_panel.dm b/code/modules/tgui_panel/tgui_panel.dm index e9f6429f25e..9e98e9a4d81 100644 --- a/code/modules/tgui_panel/tgui_panel.dm +++ b/code/modules/tgui_panel/tgui_panel.dm @@ -63,7 +63,7 @@ */ /datum/tgui_panel/proc/on_initialize_timed_out() // Currently does nothing but sending a message to old chat. - // SEND_TEXT(client, "Failed to load fancy chat, click HERE to attempt to reload it.") + // SEND_TEXT(client, span_userdanger("Failed to load fancy chat, click HERE to attempt to reload it.")) /** * private diff --git a/code/modules/turbolift/turbolift.dm b/code/modules/turbolift/turbolift.dm index 78fb4084cd0..b13a7193c6b 100644 --- a/code/modules/turbolift/turbolift.dm +++ b/code/modules/turbolift/turbolift.dm @@ -28,7 +28,7 @@ priority_mode = TRUE cancel_pending_floors() update_ext_panel_icons() - control_panel_interior.audible_message("This turbolift is responding to a priority call. Please exit the lift when it stops and make way.", runemessage = "BUZZ") + control_panel_interior.audible_message(span_info("This turbolift is responding to a priority call. Please exit the lift when it stops and make way."), runemessage = "BUZZ") spawn(time) priority_mode = FALSE update_ext_panel_icons() @@ -118,7 +118,7 @@ return PROCESS_KILL if(LIFT_WAITING_A) var/area/turbolift/origin = locate(current_floor.area_ref) - control_panel_interior.visible_message("The elevator announces, \"[origin.lift_announce_str]\"") + control_panel_interior.visible_message(span_infoplain(span_bold("The elevator") + " announces, \"[origin.lift_announce_str]\"")) next_process = world.time + floor_wait_delay busy_state = LIFT_WAITING_B if(LIFT_WAITING_B) diff --git a/code/modules/turbolift/turbolift_console.dm b/code/modules/turbolift/turbolift_console.dm index 4a17deabc2f..0693854ad43 100644 --- a/code/modules/turbolift/turbolift_console.dm +++ b/code/modules/turbolift/turbolift_console.dm @@ -24,9 +24,9 @@ /obj/structure/lift/proc/pressed(var/mob/user) if(!istype(user, /mob/living/silicon)) if(user.a_intent == I_HURT) - user.visible_message("\The [user] hammers on the lift button!") + user.visible_message(span_danger("\The [user] hammers on the lift button!")) else - user.visible_message("\The [user] presses the lift button.") + user.visible_message(span_infoplain(span_bold("\The [user]") + " presses the lift button.")) /obj/structure/lift/New(var/newloc, var/datum/turbolift/_lift) @@ -69,7 +69,7 @@ // Hit it with a PDA or ID to enable priority call mode /obj/structure/lift/button/attackby(obj/item/W as obj, mob/user as mob) - var/obj/item/weapon/card/id/id = W.GetID() + var/obj/item/card/id/id = W.GetID() if(istype(id)) if(!check_access(id)) playsound(src, 'sound/machines/buzz-two.ogg', 50, 0) @@ -123,17 +123,17 @@ // Hit it with a PDA or ID to enable priority call mode /obj/structure/lift/panel/attackby(obj/item/W as obj, mob/user as mob) - var/obj/item/weapon/card/id/id = W.GetID() + var/obj/item/card/id/id = W.GetID() if(istype(id)) if(!check_access(id)) playsound(src, 'sound/machines/buzz-two.ogg', 50, 0) return lift.update_fire_mode(!lift.fire_mode) if(lift.fire_mode) - audible_message("Firefighter Mode Activated. Door safeties disabled. Manual control engaged.", runemessage = "SCREECH") + audible_message(span_danger("Firefighter Mode Activated. Door safeties disabled. Manual control engaged."), runemessage = "SCREECH") playsound(src, 'sound/machines/airalarm.ogg', 25, 0, 4, volume_channel = VOLUME_CHANNEL_ALARMS) else - audible_message("Firefighter Mode Deactivated. Door safeties enabled. Automatic control engaged.", runemessage = "ding") + audible_message(span_warning("Firefighter Mode Deactivated. Door safeties enabled. Automatic control engaged."), runemessage = "ding") return . = ..() @@ -143,7 +143,7 @@ /obj/structure/lift/panel/interact(var/mob/user) if(!..()) return - + tgui_interact(user) /obj/structure/lift/panel/tgui_interact(mob/user, datum/tgui/ui) @@ -171,10 +171,10 @@ "name" = floor.name, ))) data["floors"] = floors - + return data -/obj/structure/lift/panel/tgui_act(action, params) +/obj/structure/lift/panel/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE @@ -193,7 +193,7 @@ lift.emergency_stop() if(.) - pressed(usr) + pressed(ui.user) /obj/structure/lift/panel/update_icon() if(lift.fire_mode) @@ -201,4 +201,4 @@ else icon_state = initial(icon_state) -// End panel. \ No newline at end of file +// End panel. diff --git a/code/modules/turbolift/turbolift_door_vr.dm b/code/modules/turbolift/turbolift_door_vr.dm index ab7ca44993b..04b4357024e 100644 --- a/code/modules/turbolift/turbolift_door_vr.dm +++ b/code/modules/turbolift/turbolift_door_vr.dm @@ -1,5 +1,5 @@ // Vore specific code for /obj/machinery/door/airlock/lift /obj/machinery/door/airlock/lift/emag_act(var/uses_left, var/mob/user) - to_chat(user, "This door is internally controlled.") + to_chat(user, span_danger("This door is internally controlled.")) return 0 // Prevents the cryptographic sequencer from using a charge fruitlessly diff --git a/code/modules/vchat/vchat_client.dm b/code/modules/vchat/vchat_client.dm index a20f5fa1eb5..c22a790ef54 100644 --- a/code/modules/vchat/vchat_client.dm +++ b/code/modules/vchat/vchat_client.dm @@ -132,7 +132,7 @@ GLOBAL_DATUM_INIT(iconCache, /savefile, new("data/iconCache.sav")) //Cache of ic send_playerinfo() load_database() - owner.verbs += /client/proc/vchat_export_log + add_verb(owner, /client/proc/vchat_export_log) //Perform DB shenanigans /datum/chatOutput/proc/load_database() @@ -212,7 +212,7 @@ GLOBAL_DATUM_INIT(iconCache, /savefile, new("data/iconCache.sav")) //Cache of ic too_many_topics++ if(too_many_topics >= topic_spam_limit) log_and_message_admins("Kicking [key_name(owner)] - VChat Topic() spam") - to_chat(owner,"You have been kicked due to VChat sending too many messages to the server. Try reconnecting.") + to_chat(owner,span_danger("You have been kicked due to VChat sending too many messages to the server. Try reconnecting.")) qdel(owner) qdel(src) return @@ -387,20 +387,20 @@ var/to_chat_src /client/proc/vchat_export_log() set name = "Export chatlog" - set category = "OOC" + set category = "OOC.Chat" if(chatOutput.broken) - to_chat(src, "Error: VChat isn't processing your messages!") + to_chat(src, span_warning("Error: VChat isn't processing your messages!")) return var/list/results = vchat_get_messages(ckey) if(!LAZYLEN(results)) - to_chat(src, "Error: No messages found! Please inform a dev if you do have messages!") + to_chat(src, span_warning("Error: No messages found! Please inform a dev if you do have messages!")) return var/o_file = "data/chatlog_tmp/[ckey]_chat_log" if(fexists(o_file) && !fdel(o_file)) - to_chat(src, "Error: Your chat log is already being prepared. Please wait until it's been downloaded before trying to export it again.") + to_chat(src, span_warning("Error: Your chat log is already being prepared. Please wait until it's been downloaded before trying to export it again.")) return // Write the CSS file to the log diff --git a/code/modules/vehicles/Securitrain_vr.dm b/code/modules/vehicles/Securitrain_vr.dm index dfa88ff47f8..8774c152a8b 100644 --- a/code/modules/vehicles/Securitrain_vr.dm +++ b/code/modules/vehicles/Securitrain_vr.dm @@ -23,11 +23,11 @@ var/car_limit = 0 //how many cars an engine can pull before performance degrades. This should be 0 to prevent trailers from unhitching. active_engines = 1 - var/obj/item/weapon/key/key - var/key_type = /obj/item/weapon/key/security + var/obj/item/key/key + var/key_type = /obj/item/key/security var/siren = 0 //This is for eventually getting the siren sprite to work. -/obj/item/weapon/key/security +/obj/item/key/security name = "The Security Cart key" desc = "The Security Cart Key used to start it." icon = 'icons/obj/vehicles_vr.dmi' @@ -61,7 +61,7 @@ //------------------------------------------- /obj/vehicle/train/security/engine/New() ..() - cell = new /obj/item/weapon/cell/high(src) + cell = new /obj/item/cell/high(src) key = new key_type(src) var/image/I = new(icon = 'icons/obj/vehicles.dmi', icon_state = "cargo_engine_overlay", layer = src.layer + 0.2) //over mobs add_overlay(I) @@ -83,14 +83,14 @@ return ..() -/obj/vehicle/train/security/trolley/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(open && istype(W, /obj/item/weapon/tool/wirecutters)) +/obj/vehicle/train/security/trolley/attackby(obj/item/W as obj, mob/user as mob) + if(open && istype(W, /obj/item/tool/wirecutters)) passenger_allowed = !passenger_allowed - user.visible_message("[user] [passenger_allowed ? "cuts" : "mends"] a cable in [src].","You [passenger_allowed ? "cut" : "mend"] the load limiter cable.") + user.visible_message(span_notice("[user] [passenger_allowed ? "cuts" : "mends"] a cable in [src]."),span_notice("You [passenger_allowed ? "cut" : "mend"] the load limiter cable.")) else ..() -/obj/vehicle/train/security/engine/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/vehicle/train/security/engine/attackby(obj/item/W as obj, mob/user as mob) if(istype(W, key_type)) if(!key) user.drop_item() @@ -113,10 +113,10 @@ else icon_state = initial(icon_state) -/obj/vehicle/train/security/trolley/insert_cell(var/obj/item/weapon/cell/C, var/mob/living/carbon/human/H) +/obj/vehicle/train/security/trolley/insert_cell(var/obj/item/cell/C, var/mob/living/carbon/human/H) return -/obj/vehicle/train/security/engine/insert_cell(var/obj/item/weapon/cell/C, var/mob/living/carbon/human/H) +/obj/vehicle/train/security/engine/insert_cell(var/obj/item/cell/C, var/mob/living/carbon/human/H) ..() update_stats() @@ -182,8 +182,8 @@ if(is_train_head() && istype(load, /mob/living/carbon/human)) var/mob/living/carbon/human/D = load - to_chat(D, "You ran over \the [M]!") - visible_message("\The [src] ran over \the [M]!") + to_chat(D, span_danger("You ran over \the [M]!")) + visible_message(span_danger("\The [src] ran over \the [M]!")) add_attack_logs(D,M,"Ran over with [src.name]") attack_log += text("\[[time_stamp()]\] [span_red("ran over [M.name] ([M.ckey]), driven by [D.name] ([D.ckey])")]") else @@ -376,7 +376,7 @@ else move_delay = max(0, (-car_limit * active_engines) + train_length - active_engines) //limits base overweight so you cant overspeed trains move_delay *= (1 / max(1, active_engines)) * 2 //overweight penalty (scaled by the number of engines) - move_delay += config.run_speed //base reference speed + move_delay += CONFIG_GET(number/run_speed) //base reference speed move_delay *= 1.1 //makes cargo trains 10% slower than running when not overweight /obj/vehicle/train/security/trolley/update_car(var/train_length, var/active_engines) diff --git a/code/modules/vehicles/bike.dm b/code/modules/vehicles/bike.dm index 783ed376d35..bb0137fda2e 100644 --- a/code/modules/vehicles/bike.dm +++ b/code/modules/vehicles/bike.dm @@ -30,7 +30,7 @@ /obj/vehicle/bike/Initialize() . = ..() - cell = new /obj/item/weapon/cell/high(src) + cell = new /obj/item/cell/high(src) ion = new /datum/effect/effect/system/ion_trail_follow() ion.set_up(src) turn_off() @@ -46,8 +46,8 @@ paint_color = rgb(rand(1,255),rand(1,255),rand(1,255)) ..() -/obj/vehicle/bike/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W, /obj/item/device/multitool) && open) +/obj/vehicle/bike/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W, /obj/item/multitool) && open) var/new_paint = input(usr, "Please select paint color.", "Paint Color", paint_color) as color|null if(new_paint) paint_color = new_paint @@ -98,7 +98,7 @@ visible_message("[user] puts up \the [src]'s kickstand.") else if(istype(src.loc,/turf/space) || istype(src.loc, /turf/simulated/floor/water)) - to_chat(usr, " You don't think kickstands work here...") + to_chat(usr, span_warning(" You don't think kickstands work here...")) return visible_message("[user] puts down \the [src]'s kickstand.") if(pulledby) @@ -116,7 +116,7 @@ /obj/vehicle/bike/MouseDrop_T(var/atom/movable/C, var/mob/user as mob) if(!load(C, user)) - to_chat(user, " You were unable to load \the [C] onto \the [src].") + to_chat(user, span_warning(" You were unable to load \the [C] onto \the [src].")) return /obj/vehicle/bike/attack_hand(var/mob/user as mob) @@ -138,7 +138,7 @@ if(on && (!cell || cell.charge < charge_use)) turn_off() - visible_message("\The [src] whines, before its engines wind down.") + visible_message(span_warning("\The [src] whines, before its engines wind down.")) return 0 //these things like space, not turf. Dragging shouldn't weigh you down. diff --git a/code/modules/vehicles/boat.dm b/code/modules/vehicles/boat.dm index 170ad4aa81e..e3f10fc8978 100644 --- a/code/modules/vehicles/boat.dm +++ b/code/modules/vehicles/boat.dm @@ -36,7 +36,7 @@ ..(newloc, MAT_SIFWOOD) // Oars, which must be held inhand while in a boat to move it. -/obj/item/weapon/oar +/obj/item/oar name = "oar" icon = 'icons/obj/vehicles.dmi' desc = "Used to provide propulsion to a boat." @@ -45,10 +45,10 @@ force = 12 var/datum/material/material = null -/obj/item/weapon/oar/sifwood/New(newloc, material_name) +/obj/item/oar/sifwood/New(newloc, material_name) ..(newloc, MAT_SIFWOOD) -/obj/item/weapon/oar/New(newloc, material_name) +/obj/item/oar/New(newloc, material_name) ..(newloc) if(!material_name) material_name = "wood" diff --git a/code/modules/vehicles/cargo_train.dm b/code/modules/vehicles/cargo_train.dm index 05ff17a8d92..e4668637302 100644 --- a/code/modules/vehicles/cargo_train.dm +++ b/code/modules/vehicles/cargo_train.dm @@ -15,10 +15,10 @@ var/speed_mod = 1.1 var/car_limit = 3 //how many cars an engine can pull before performance degrades active_engines = 1 - var/obj/item/weapon/key/key - var/key_type = /obj/item/weapon/key/cargo_train + var/obj/item/key/key + var/key_type = /obj/item/key/cargo_train -/obj/item/weapon/key/cargo_train +/obj/item/key/cargo_train name = "key" desc = "A keyring with a small steel key, and a yellow fob reading \"Choo Choo!\"." icon = 'icons/obj/vehicles.dmi' @@ -44,7 +44,7 @@ //------------------------------------------- /obj/vehicle/train/engine/New() ..() - cell = new /obj/item/weapon/cell/high(src) + cell = new /obj/item/cell/high(src) key = new key_type(src) var/image/I = new(icon = 'icons/obj/vehicles_vr.dmi', icon_state = "cargo_engine_overlay", layer = src.layer + 0.2) //over mobs //VOREStation edit add_overlay(I) @@ -67,14 +67,14 @@ return ..() -/obj/vehicle/train/trolley/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/vehicle/train/trolley/attackby(obj/item/W as obj, mob/user as mob) if(open && W.has_tool_quality(TOOL_WIRECUTTER)) passenger_allowed = !passenger_allowed - user.visible_message("[user] [passenger_allowed ? "cuts" : "mends"] a cable in [src].","You [passenger_allowed ? "cut" : "mend"] the load limiter cable.") + user.visible_message(span_notice("[user] [passenger_allowed ? "cuts" : "mends"] a cable in [src]."),span_notice("You [passenger_allowed ? "cut" : "mend"] the load limiter cable.")) else ..() -/obj/vehicle/train/engine/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/vehicle/train/engine/attackby(obj/item/W as obj, mob/user as mob) if(istype(W, key_type)) if(!key) user.drop_item() @@ -100,10 +100,10 @@ icon_state = initial(icon_state) */ -/obj/vehicle/train/trolley/insert_cell(var/obj/item/weapon/cell/C, var/mob/living/carbon/human/H) +/obj/vehicle/train/trolley/insert_cell(var/obj/item/cell/C, var/mob/living/carbon/human/H) return -/obj/vehicle/train/engine/insert_cell(var/obj/item/weapon/cell/C, var/mob/living/carbon/human/H) +/obj/vehicle/train/engine/insert_cell(var/obj/item/cell/C, var/mob/living/carbon/human/H) ..() update_stats() @@ -156,6 +156,9 @@ verbs += /obj/vehicle/train/engine/verb/stop_engine /obj/vehicle/train/RunOver(var/mob/living/M) + if(pulledby == M) // VOREstation edit: Don't destroy people pulling vehicles up stairs + return + var/list/parts = list(BP_HEAD, BP_TORSO, BP_L_LEG, BP_R_LEG, BP_L_ARM, BP_R_ARM) M.apply_effects(5, 5) @@ -171,8 +174,8 @@ if(is_train_head() && istype(load, /mob/living/carbon/human)) var/mob/living/carbon/human/D = load - to_chat(D, span_red("You ran over [M]!")) - visible_message(span_red("\The [src] ran over [M]!")) + to_chat(D, span_bolddanger("You ran over [M]!")) + visible_message(span_bolddanger("\The [src] ran over [M]!")) add_attack_logs(D,M,"Ran over with [src.name]") attack_log += text("\[[time_stamp()]\] [span_red("ran over [M.name] ([M.ckey]), driven by [D.name] ([D.ckey])")]") else @@ -382,7 +385,7 @@ else move_delay = max(0, (-car_limit * active_engines) + train_length - active_engines) //limits base overweight so you cant overspeed trains move_delay *= (1 / max(1, active_engines)) * 2 //overweight penalty (scaled by the number of engines) - move_delay += config.run_speed //base reference speed + move_delay += CONFIG_GET(number/run_speed) //base reference speed move_delay *= speed_mod //makes cargo trains 10% slower than running when not overweight /obj/vehicle/train/trolley/update_car(var/train_length, var/active_engines) diff --git a/code/modules/vehicles/construction.dm b/code/modules/vehicles/construction.dm index d7c22676af9..2a0f003c94b 100644 --- a/code/modules/vehicles/construction.dm +++ b/code/modules/vehicles/construction.dm @@ -2,7 +2,7 @@ * Construction! */ -/obj/item/weapon/vehicle_assembly +/obj/item/vehicle_assembly name = "vehicle assembly" desc = "The frame of some vehicle." icon = 'icons/obj/vehicles_64x64.dmi' @@ -14,14 +14,14 @@ w_class = 5 var/build_stage = 0 - var/obj/item/weapon/cell/cell = null + var/obj/item/cell/cell = null -/obj/item/weapon/vehicle_assembly/New() +/obj/item/vehicle_assembly/New() ..() icon_state = "[initial(icon_state)][build_stage]" update_icon() -/obj/item/weapon/vehicle_assembly/proc/increase_step(var/new_name = null) +/obj/item/vehicle_assembly/proc/increase_step(var/new_name = null) build_stage++ if(new_name) name = new_name @@ -33,13 +33,13 @@ * Quadbike and trailer. */ -/obj/item/weapon/vehicle_assembly/quadbike +/obj/item/vehicle_assembly/quadbike name = "all terrain vehicle assembly" desc = "The frame of an ATV." icon_state = "quad-frame" pixel_x = -16 -/obj/item/weapon/vehicle_assembly/quadbike/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) +/obj/item/vehicle_assembly/quadbike/attackby(var/obj/item/W as obj, var/mob/user as mob) ..() switch(build_stage) @@ -47,40 +47,40 @@ if(istype(W, /obj/item/stack/material/plastic)) var/obj/item/stack/material/plastic/P = W if (P.get_amount() < 8) - to_chat(user, "You need eight sheets of plastic to add tires to \the [src].") + to_chat(user, span_warning("You need eight sheets of plastic to add tires to \the [src].")) return - to_chat(user, "You start to add tires to [src].") + to_chat(user, span_notice("You start to add tires to [src].")) if(do_after(user, 40) && build_stage == 0) if(P.use(8)) - to_chat(user, "You add tires to \the [src].") + to_chat(user, span_notice("You add tires to \the [src].")) increase_step("wheeled [initial(name)]") return if(1) - if(istype(W, /obj/item/weapon/stock_parts/console_screen)) + if(istype(W, /obj/item/stock_parts/console_screen)) user.drop_item() qdel(W) - to_chat(user, "You add the lights to \the [src].") + to_chat(user, span_notice("You add the lights to \the [src].")) increase_step() return if(2) - if(istype(W, /obj/item/weapon/stock_parts/spring)) + if(istype(W, /obj/item/stock_parts/spring)) user.drop_item() qdel(W) - to_chat(user, "You add the control system to \the [src].") + to_chat(user, span_notice("You add the control system to \the [src].")) increase_step() return if(istype(W, /obj/item/stack/material/steel)) var/obj/item/stack/material/steel/S = W if(S.get_amount() < 5) - to_chat(user, "You need five sheets of steel to convert \the [src] into a trailer.") + to_chat(user, span_warning("You need five sheets of steel to convert \the [src] into a trailer.")) if(do_after(user, 80) && build_stage == 2) if(S.use(5)) - var/obj/item/weapon/vehicle_assembly/quadtrailer/Trailer = new(src) + var/obj/item/vehicle_assembly/quadtrailer/Trailer = new(src) Trailer.forceMove(get_turf(src)) Trailer.increase_step("framed [initial(Trailer.name)]") - to_chat(user, "You convert \the [src] into \the [Trailer].") + to_chat(user, span_notice("You convert \the [src] into \the [Trailer].")) user.drop_from_inventory(src) qdel(src) return @@ -89,29 +89,29 @@ if(istype(W, /obj/item/stack/cable_coil)) var/obj/item/stack/cable_coil/C = W if (C.get_amount() < 2) - to_chat(user, "You need two coils of wire to wire [src].") + to_chat(user, span_warning("You need two coils of wire to wire [src].")) return - to_chat(user, "You start to wire [src].") + to_chat(user, span_notice("You start to wire [src].")) if(do_after(user, 40) && build_stage == 3) if(C.use(2)) - to_chat(user, "You wire \the [src].") + to_chat(user, span_notice("You wire \the [src].")) increase_step("wired [initial(name)]") return if(4) - if(istype(W, /obj/item/weapon/cell)) + if(istype(W, /obj/item/cell)) user.drop_item() W.forceMove(src) cell = W - to_chat(user, "You add the power supply to \the [src].") + to_chat(user, span_notice("You add the power supply to \the [src].")) increase_step("powered [initial(name)]") return if(5) - if(istype(W, /obj/item/weapon/stock_parts/motor)) + if(istype(W, /obj/item/stock_parts/motor)) user.drop_item() qdel(W) - to_chat(user, "You add the motor to \the [src].") + to_chat(user, span_notice("You add the motor to \the [src].")) increase_step() return @@ -119,23 +119,23 @@ if(istype(W, /obj/item/stack/material/plasteel)) var/obj/item/stack/material/plasteel/PL = W if (PL.get_amount() < 2) - to_chat(user, "You need two sheets of plasteel to add reinforcement to \the [src].") + to_chat(user, span_warning("You need two sheets of plasteel to add reinforcement to \the [src].")) return - to_chat(user, "You start to add reinforcement to [src].") + to_chat(user, span_notice("You start to add reinforcement to [src].")) if(do_after(user, 40) && build_stage == 6) if(PL.use(2)) - to_chat(user, "You add reinforcement to \the [src].") + to_chat(user, span_notice("You add reinforcement to \the [src].")) increase_step("reinforced [initial(name)]") return if(7) if(W.has_tool_quality(TOOL_WRENCH) || W.has_tool_quality(TOOL_SCREWDRIVER)) playsound(src, W.usesound, 50, 1) - to_chat(user, "You begin your finishing touches on \the [src].") + to_chat(user, span_notice("You begin your finishing touches on \the [src].")) if(do_after(user, 20) && build_stage == 7) playsound(src, W.usesound, 30, 1) var/obj/vehicle/train/engine/quadbike/built/product = new(src) - to_chat(user, "You finish \the [product]") + to_chat(user, span_notice("You finish \the [product]")) product.loc = get_turf(src) product.cell = cell cell.forceMove(product) @@ -145,21 +145,21 @@ return ..() -/obj/item/weapon/vehicle_assembly/quadtrailer +/obj/item/vehicle_assembly/quadtrailer name = "all terrain trailer" desc = "The frame of a small trailer." icon_state = "quadtrailer-frame" pixel_x = -16 -/obj/item/weapon/vehicle_assembly/quadtrailer/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) +/obj/item/vehicle_assembly/quadtrailer/attackby(var/obj/item/W as obj, var/mob/user as mob) ..() switch(build_stage) if(0) - if(istype(W, /obj/item/weapon/vehicle_assembly/quadbike)) - var/obj/item/weapon/vehicle_assembly/quadbike/Q = W + if(istype(W, /obj/item/vehicle_assembly/quadbike)) + var/obj/item/vehicle_assembly/quadbike/Q = W if(Q.build_stage > 2) - to_chat(user, "\The [Q] is too advanced to be of use with \the [src]") + to_chat(user, span_notice("\The [Q] is too advanced to be of use with \the [src]")) return user.drop_item() qdel(W) @@ -169,19 +169,19 @@ if(istype(W, /obj/item/stack/cable_coil)) var/obj/item/stack/cable_coil/C = W if (C.get_amount() < 2) - to_chat(user, "You need two coils of wire to wire [src].") + to_chat(user, span_warning("You need two coils of wire to wire [src].")) return - to_chat(user, "You start to wire [src].") + to_chat(user, span_notice("You start to wire [src].")) if(do_after(user, 40) && build_stage == 1) if(C.use(2)) - to_chat(user, "You wire \the [src].") + to_chat(user, span_notice("You wire \the [src].")) increase_step("wired [initial(name)]") return if(2) if(W.has_tool_quality(TOOL_SCREWDRIVER)) playsound(src, W.usesound, 50, 1) - to_chat(user, "You close up \the [src].") + to_chat(user, span_notice("You close up \the [src].")) var/obj/vehicle/train/trolley/trailer/product = new(src) product.loc = get_turf(src) user.drop_from_inventory(src) @@ -192,7 +192,7 @@ * Space bike. */ -/obj/item/weapon/vehicle_assembly/spacebike +/obj/item/vehicle_assembly/spacebike name = "vehicle assembly" desc = "The frame of some vehicle." icon = 'icons/obj/bike.dmi' @@ -200,10 +200,10 @@ pixel_x = 0 -/obj/item/weapon/vehicle_assembly/spacebike/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) +/obj/item/vehicle_assembly/spacebike/attackby(var/obj/item/W as obj, var/mob/user as mob) switch(build_stage) if(0) - if(istype(W, /obj/item/weapon/tank/jetpack) || istype(W, /obj/item/borg/upgrade/advanced/jetpack)) + if(istype(W, /obj/item/tank/jetpack) || istype(W, /obj/item/borg/upgrade/advanced/jetpack)) user.drop_item() qdel(W) increase_step() @@ -212,12 +212,12 @@ if(istype(W, /obj/item/stack/cable_coil)) var/obj/item/stack/cable_coil/C = W if (C.get_amount() < 2) - to_chat(user, "You need two coils of wire to wire [src].") + to_chat(user, span_warning("You need two coils of wire to wire [src].")) return - to_chat(user, "You start to wire [src].") + to_chat(user, span_notice("You start to wire [src].")) if(do_after(user, 40) && build_stage == 1) if(C.use(2)) - to_chat(user, "You wire \the [src].") + to_chat(user, span_notice("You wire \the [src].")) increase_step("wired [initial(name)]") return @@ -225,48 +225,48 @@ if(istype(W, /obj/item/stack/material/plastic)) var/obj/item/stack/material/plastic/P = W if (P.get_amount() < 3) - to_chat(user, "You need three sheets of plastic to add a seat to \the [src].") + to_chat(user, span_warning("You need three sheets of plastic to add a seat to \the [src].")) return - to_chat(user, "You start to add a seat to [src].") + to_chat(user, span_notice("You start to add a seat to [src].")) if(do_after(user, 40) && build_stage == 2) if(P.use(3)) - to_chat(user, "You add a seat to \the [src].") + to_chat(user, span_notice("You add a seat to \the [src].")) increase_step("seated [initial(name)]") return if(3) - if(istype(W, /obj/item/weapon/stock_parts/console_screen)) + if(istype(W, /obj/item/stock_parts/console_screen)) user.drop_item() qdel(W) - to_chat(user, "You add the lights to \the [src].") + to_chat(user, span_notice("You add the lights to \the [src].")) increase_step() return if(4) - if(istype(W, /obj/item/weapon/stock_parts/spring)) + if(istype(W, /obj/item/stock_parts/spring)) user.drop_item() qdel(W) - to_chat(user, "You add the control system to \the [src].") + to_chat(user, span_notice("You add the control system to \the [src].")) increase_step() return if(5) - if(istype(W, /obj/item/weapon/cell)) + if(istype(W, /obj/item/cell)) user.drop_item() W.forceMove(src) cell = W - to_chat(user, "You add the power supply to \the [src].") + to_chat(user, span_notice("You add the power supply to \the [src].")) increase_step("powered [initial(name)]") return if(6) if(W.has_tool_quality(TOOL_WRENCH) || W.has_tool_quality(TOOL_SCREWDRIVER)) playsound(src, W.usesound, 50, 1) - to_chat(user, "You begin your finishing touches on \the [src].") + to_chat(user, span_notice("You begin your finishing touches on \the [src].")) if(do_after(user, 20) && build_stage == 6) playsound(src, W.usesound, 30, 1) var/obj/vehicle/bike/built/product = new(src) - to_chat(user, "You finish \the [product]") + to_chat(user, span_notice("You finish \the [product]")) product.loc = get_turf(src) product.cell = cell cell.forceMove(product) @@ -279,40 +279,40 @@ * Snowmobile. */ -/obj/item/weapon/vehicle_assembly/snowmobile +/obj/item/vehicle_assembly/snowmobile name = "snowmobile assembly" desc = "The frame of a snowmobile." icon = 'icons/obj/vehicles.dmi' icon_state = "snowmobile-frame" -/obj/item/weapon/vehicle_assembly/snowmobile/attackby(var/obj/item/W as obj, var/mob/user as mob) +/obj/item/vehicle_assembly/snowmobile/attackby(var/obj/item/W as obj, var/mob/user as mob) switch(build_stage) if(0) if(istype(W, /obj/item/stack/material/steel)) var/obj/item/stack/material/steel/S = W if (S.get_amount() < 6) - to_chat(user, "You need six sheets of steel to add treads to \the [src].") + to_chat(user, span_warning("You need six sheets of steel to add treads to \the [src].")) return - to_chat(user, "You start to add treads to [src].") + to_chat(user, span_notice("You start to add treads to [src].")) if(do_after(user, 40) && build_stage == 0) if(S.use(6)) - to_chat(user, "You add treads to \the [src].") + to_chat(user, span_notice("You add treads to \the [src].")) increase_step("tracked [initial(name)]") return if(1) - if(istype(W, /obj/item/weapon/stock_parts/console_screen)) + if(istype(W, /obj/item/stock_parts/console_screen)) user.drop_item() qdel(W) - to_chat(user, "You add the lights to \the [src].") + to_chat(user, span_notice("You add the lights to \the [src].")) increase_step() return if(2) - if(istype(W, /obj/item/weapon/stock_parts/spring)) + if(istype(W, /obj/item/stock_parts/spring)) user.drop_item() qdel(W) - to_chat(user, "You add the control system to \the [src].") + to_chat(user, span_notice("You add the control system to \the [src].")) increase_step() return @@ -320,29 +320,29 @@ if(istype(W, /obj/item/stack/cable_coil)) var/obj/item/stack/cable_coil/C = W if (C.get_amount() < 2) - to_chat(user, "You need two coils of wire to wire [src].") + to_chat(user, span_warning("You need two coils of wire to wire [src].")) return - to_chat(user, "You start to wire [src].") + to_chat(user, span_notice("You start to wire [src].")) if(do_after(user, 40) && build_stage == 3) if(C.use(2)) - to_chat(user, "You wire \the [src].") + to_chat(user, span_notice("You wire \the [src].")) increase_step("wired [initial(name)]") return if(4) - if(istype(W, /obj/item/weapon/cell)) + if(istype(W, /obj/item/cell)) user.drop_item() W.forceMove(src) cell = W - to_chat(user, "You add the power supply to \the [src].") + to_chat(user, span_notice("You add the power supply to \the [src].")) increase_step("powered [initial(name)]") return if(5) - if(istype(W, /obj/item/weapon/stock_parts/motor)) + if(istype(W, /obj/item/stock_parts/motor)) user.drop_item() qdel(W) - to_chat(user, "You add the motor to \the [src].") + to_chat(user, span_notice("You add the motor to \the [src].")) increase_step() return @@ -350,23 +350,23 @@ if(istype(W, /obj/item/stack/material/plasteel)) var/obj/item/stack/material/plasteel/PL = W if (PL.get_amount() < 2) - to_chat(user, "You need two sheets of plasteel to add reinforcement to \the [src].") + to_chat(user, span_warning("You need two sheets of plasteel to add reinforcement to \the [src].")) return - to_chat(user, "You start to add reinforcement to [src].") + to_chat(user, span_notice("You start to add reinforcement to [src].")) if(do_after(user, 40) && build_stage == 6) if(PL.use(2)) - to_chat(user, "You add reinforcement to \the [src].") + to_chat(user, span_notice("You add reinforcement to \the [src].")) increase_step("reinforced [initial(name)]") return if(7) if(W.has_tool_quality(TOOL_WRENCH) || W.has_tool_quality(TOOL_SCREWDRIVER)) playsound(src, W.usesound, 50, 1) - to_chat(user, "You begin your finishing touches on \the [src].") + to_chat(user, span_notice("You begin your finishing touches on \the [src].")) if(do_after(user, 20) && build_stage == 7) playsound(src, W.usesound, 30, 1) var/obj/vehicle/train/engine/quadbike/snowmobile/built/product = new(src) - to_chat(user, "You finish \the [product]") + to_chat(user, span_notice("You finish \the [product]")) product.loc = get_turf(src) product.cell = cell cell.forceMove(product) diff --git a/code/modules/vehicles/quad.dm b/code/modules/vehicles/quad.dm index 00bedf8778f..e1b41c914ac 100644 --- a/code/modules/vehicles/quad.dm +++ b/code/modules/vehicles/quad.dm @@ -16,7 +16,7 @@ speed_mod = 0.45 car_limit = 1 //It gets a trailer. That's about it. active_engines = 1 - key_type = /obj/item/weapon/key/quadbike + key_type = /obj/item/key/quadbike var/frame_state = "quad" //Custom-item proofing! var/paint_base = 'icons/obj/vehicles_64x64.dmi' @@ -28,7 +28,7 @@ var/outdoors_speed_mod = 0.7 //The general 'outdoors' speed. I.E., the general difference you'll be at when driving outside. /obj/vehicle/train/engine/quadbike/New() - cell = new /obj/item/weapon/cell/high(src) + cell = new /obj/item/cell/high(src) key = new key_type(src) soundloop = new(list(src), FALSE) . = ..() @@ -47,7 +47,7 @@ QDEL_NULL(soundloop) return ..() -/obj/item/weapon/key/quadbike +/obj/item/key/quadbike name = "key" desc = "A keyring with a small steel key, and a blue fob reading \"ZOOM!\"." icon = 'icons/obj/vehicles.dmi' @@ -88,8 +88,8 @@ if(8) pixel_y = 0 -/obj/vehicle/train/engine/quadbike/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W, /obj/item/device/multitool) && open) +/obj/vehicle/train/engine/quadbike/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W, /obj/item/multitool) && open) var/new_paint = input(usr, "Please select paint color.", "Paint Color", paint_color) as color|null if(new_paint) paint_color = new_paint @@ -140,7 +140,7 @@ if(istype(A, /mob/living)) var/mob/living/M = A - visible_message("[src] knocks over [M]!") + visible_message(span_danger("[src] knocks over [M]!")) M.apply_effects(2, 2) // Knock people down for a short moment M.apply_damages(8 / move_delay) // Smaller amount of damage than a tug, since this will always be possible because Quads don't have safeties. var/list/throw_dirs = list(1, 2, 4, 8, 5, 6, 9, 10) @@ -154,7 +154,7 @@ M.throw_at(T2, 1, 1, src) if(istype(load, /mob/living/carbon/human)) var/mob/living/D = load - to_chat(D, "You hit [M]!") + to_chat(D, span_danger("You hit [M]!")) add_attack_logs(D,M,"Ran over with [src.name]") @@ -253,7 +253,7 @@ if(istype(A, /mob/living)) var/mob/living/M = A - visible_message("[src] knocks over [M]!") + visible_message(span_danger("[src] knocks over [M]!")) M.apply_effects(1, 1) M.apply_damages(8 / move_delay) if(load) @@ -265,7 +265,7 @@ M.throw_at(T2, 1, 1, src) if(istype(load, /mob/living/carbon/human)) var/mob/living/D = load - to_chat(D, "You hit [M]!") + to_chat(D, span_danger("You hit [M]!")) add_attack_logs(D,M,"Ran over with [src.name]") /obj/vehicle/train/trolley/trailer/update_icon() @@ -276,8 +276,8 @@ Bodypaint.color = paint_color add_overlay(Bodypaint) -/obj/vehicle/train/trolley/trailer/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W, /obj/item/device/multitool) && open) +/obj/vehicle/train/trolley/trailer/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W, /obj/item/multitool) && open) var/new_paint = input(usr, "Please select paint color.", "Paint Color", paint_color) as color|null if(new_paint) paint_color = new_paint diff --git a/code/modules/vehicles/rover_vr.dm b/code/modules/vehicles/rover_vr.dm index d0458ae821f..c48f4682ba9 100644 --- a/code/modules/vehicles/rover_vr.dm +++ b/code/modules/vehicles/rover_vr.dm @@ -25,7 +25,7 @@ var/car_limit = 0 //how many cars an engine can pull before performance degrades. This should be 0 to prevent trailers from unhitching. active_engines = 1 - var/obj/item/weapon/key/rover/key + var/obj/item/key/rover/key var/siren = 0 //This is for eventually getting the siren sprite to work. /obj/vehicle/train/rover/engine/dunebuggy @@ -34,7 +34,7 @@ icon = 'icons/vore/rover_vr.dmi' icon_state = "dunebug" -/obj/item/weapon/key/rover +/obj/item/key/rover name = "The Rover key" desc = "The Rover key used to start it." icon = 'icons/obj/vehicles_vr.dmi' @@ -60,7 +60,7 @@ //------------------------------------------- /obj/vehicle/train/rover/engine/New() ..() - cell = new /obj/item/weapon/cell/high(src) + cell = new /obj/item/cell/high(src) key = new(src) turn_off() //so engine verbs are correctly set @@ -80,15 +80,15 @@ return ..() -/obj/vehicle/train/rover/trolley/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(open && istype(W, /obj/item/weapon/tool/wirecutters)) +/obj/vehicle/train/rover/trolley/attackby(obj/item/W as obj, mob/user as mob) + if(open && istype(W, /obj/item/tool/wirecutters)) passenger_allowed = !passenger_allowed - user.visible_message("[user] [passenger_allowed ? "cuts" : "mends"] a cable in [src].","You [passenger_allowed ? "cut" : "mend"] the load limiter cable.") + user.visible_message(span_notice("[user] [passenger_allowed ? "cuts" : "mends"] a cable in [src]."),span_notice("You [passenger_allowed ? "cut" : "mend"] the load limiter cable.")) else ..() -/obj/vehicle/train/rover/engine/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W, /obj/item/weapon/key/rover)) +/obj/vehicle/train/rover/engine/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W, /obj/item/key/rover)) if(!key) user.drop_item() W.forceMove(src) @@ -111,10 +111,10 @@ else icon_state = initial(icon_state) -/obj/vehicle/train/rover/trolley/insert_cell(var/obj/item/weapon/cell/C, var/mob/living/carbon/human/H) +/obj/vehicle/train/rover/trolley/insert_cell(var/obj/item/cell/C, var/mob/living/carbon/human/H) return -/obj/vehicle/train/rover/engine/insert_cell(var/obj/item/weapon/cell/C, var/mob/living/carbon/human/H) +/obj/vehicle/train/rover/engine/insert_cell(var/obj/item/cell/C, var/mob/living/carbon/human/H) ..() update_stats() @@ -180,8 +180,8 @@ if(is_train_head() && istype(load, /mob/living/carbon/human)) var/mob/living/carbon/human/D = load - to_chat(D, "You ran over \the [M]!") - visible_message("\The [src] ran over \the [M]!") + to_chat(D, span_danger("You ran over \the [M]!")) + visible_message(span_danger("\The [src] ran over \the [M]!")) add_attack_logs(D,M,"Ran over with [src.name]") attack_log += text("\[[time_stamp()]\] [span_red("ran over [M.name] ([M.ckey]), driven by [D.name] ([D.ckey])")]") else @@ -292,12 +292,15 @@ if(!istype(C, /mob/living/carbon/human)) return 0 + . = ..(C) + + if(!.) + return + if(ismob(C)) buckle_mob(C) C.alpha = 0 - return ..() - /obj/vehicle/train/rover/engine/unload(var/mob/user, var/direction) var/mob/living/carbon/human/C = load @@ -389,7 +392,7 @@ else move_delay = max(0, (-car_limit * active_engines) + train_length - active_engines) //limits base overweight so you cant overspeed trains move_delay *= (1 / max(1, active_engines)) * 2 //overweight penalty (scaled by the number of engines) - move_delay += config.run_speed //base reference speed + move_delay += CONFIG_GET(number/run_speed) //base reference speed move_delay *= 1.1 //makes cargo trains 10% slower than running when not overweight /obj/vehicle/train/rover/trolley/update_car(var/train_length, var/active_engines) diff --git a/code/modules/vehicles/vehicle.dm b/code/modules/vehicles/vehicle.dm index 7aa275412f3..e6271a3ef59 100644 --- a/code/modules/vehicles/vehicle.dm +++ b/code/modules/vehicles/vehicle.dm @@ -31,7 +31,7 @@ var/powered = 0 //set if vehicle is powered and should use fuel when moving var/move_delay = 1 //set this to limit the speed of the vehicle - var/obj/item/weapon/cell/cell + var/obj/item/cell/cell var/charge_use = 5 //set this to adjust the amount of power the vehicle uses per move var/paint_color = "#666666" //For vehicles with special paint overlays. @@ -92,23 +92,23 @@ if(load && !(load in buckled_mobs) && !istype(load, /datum/vehicle_dummy_load)) load.forceMove(loc) -/obj/vehicle/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W, /obj/item/weapon/hand_labeler)) +/obj/vehicle/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W, /obj/item/hand_labeler)) return if(mechanical) if(W.has_tool_quality(TOOL_SCREWDRIVER)) if(!locked) open = !open update_icon() - to_chat(user, "Maintenance panel is now [open ? "opened" : "closed"].") + to_chat(user, span_notice("Maintenance panel is now [open ? "opened" : "closed"].")) playsound(src, W.usesound, 50, 1) else if(W.has_tool_quality(TOOL_CROWBAR) && cell && open) remove_cell(user) - else if(istype(W, /obj/item/weapon/cell) && !cell && open) + else if(istype(W, /obj/item/cell) && !cell && open) insert_cell(W, user) else if(W.has_tool_quality(TOOL_WELDER)) - var/obj/item/weapon/weldingtool/T = W.get_welder() + var/obj/item/weldingtool/T = W.get_welder() if(T.welding) if(health < maxhealth) if(open) @@ -117,11 +117,11 @@ playsound(src, T.usesound, 50, 1) user.visible_message(span_red("[user] repairs [src]!"),span_blue("You repair [src]!")) else - to_chat(user, "Unable to repair with the maintenance panel closed.") + to_chat(user, span_notice("Unable to repair with the maintenance panel closed.")) else - to_chat(user, "[src] does not need a repair.") + to_chat(user, span_notice("[src] does not need a repair.")) else - to_chat(user, "Unable to repair while [src] is off.") + to_chat(user, span_notice("Unable to repair while [src] is off.")) else if(hasvar(W,"force") && hasvar(W,"damtype")) user.setClickCooldown(user.get_attack_speed(W)) @@ -226,11 +226,11 @@ emagged = 1 if(locked) locked = 0 - to_chat(user, "You bypass [src]'s controls.") + to_chat(user, span_warning("You bypass [src]'s controls.")) return TRUE /obj/vehicle/proc/explode() - src.visible_message(span_red("[src] blows apart!"), 1) + src.visible_message(span_bolddanger("[src] blows apart!"), 1) var/turf/Tsec = get_turf(src) //stuns people who are thrown off a train that has been blown up @@ -277,7 +277,7 @@ turn_on() return -/obj/vehicle/proc/insert_cell(var/obj/item/weapon/cell/C, var/mob/living/carbon/human/H) +/obj/vehicle/proc/insert_cell(var/obj/item/cell/C, var/mob/living/carbon/human/H) if(!mechanical) return if(cell) @@ -289,7 +289,7 @@ C.forceMove(src) cell = C powercheck() - to_chat(usr, "You install [C] in [src].") + to_chat(usr, span_notice("You install [C] in [src].")) /obj/vehicle/proc/remove_cell(var/mob/living/carbon/human/H) if(!mechanical) @@ -297,7 +297,7 @@ if(!cell) return - to_chat(usr, "You remove [cell] from [src].") + to_chat(usr, span_notice("You remove [cell] from [src].")) cell.forceMove(get_turf(H)) H.put_in_hands(cell) cell = null @@ -340,7 +340,7 @@ C.pixel_y += load_offset_y C.layer = layer + 0.1 - if(ismob(C)) + if(ismob(C) && user) user_buckle_mob(C, user) return 1 @@ -405,7 +405,7 @@ /obj/vehicle/attack_generic(var/mob/user, var/damage, var/attack_message) if(!damage) return - visible_message("[user] [attack_message] the [src]!") + visible_message(span_danger("[user] [attack_message] the [src]!")) user.attack_log += text("\[[time_stamp()]\] [span_red("attacked [src.name]")]") user.do_attack_animation(src) src.health -= damage diff --git a/code/modules/ventcrawl/ventcrawl.dm b/code/modules/ventcrawl/ventcrawl.dm index 0acc4626b18..f16deca1dac 100644 --- a/code/modules/ventcrawl/ventcrawl.dm +++ b/code/modules/ventcrawl/ventcrawl.dm @@ -5,14 +5,15 @@ var/list/ventcrawl_machinery = list( // Vent crawling whitelisted items, whoo /mob/living/var/list/can_enter_vent_with = list( - /obj/item/weapon/implant, - /obj/item/device/radio/borg, - /obj/item/device/radio/headset/mob_headset, - /obj/item/weapon/holder, + /obj/item/implant, + /obj/item/radio/borg, + /obj/item/radio/headset/mob_headset, + /obj/item/holder, /obj/machinery/camera, /obj/belly, /obj/screen, - /atom/movable/emissive_blocker + /atom/movable/emissive_blocker, + /obj/item/rig/protean ) //VOREStation Edit : added /obj/belly, to this list, CI is complaining about this in his indentation check. Added mob_headset for those with radios so there's no weirdness. //mob/living/simple_mob/borer, //VORESTATION AI TEMPORARY REMOVAL REPLACE BACK IN LIST WHEN RESOLVED //VOREStation Edit @@ -27,16 +28,16 @@ var/list/ventcrawl_machinery = list( if(!client) return FALSE if(!(/mob/living/proc/ventcrawl in verbs)) - to_chat(src, "You don't possess the ability to ventcrawl!") + to_chat(src, span_warning("You don't possess the ability to ventcrawl!")) return FALSE if(pulling) - to_chat(src, "You cannot bring \the [pulling] into the vent with you!") + to_chat(src, span_warning("You cannot bring \the [pulling] into the vent with you!")) return FALSE if(incapacitated()) - to_chat(src, "You cannot ventcrawl in your current state!") + to_chat(src, span_warning("You cannot ventcrawl in your current state!")) return FALSE if(buckled) - to_chat(src, "You cannot ventcrawl while buckled!") + to_chat(src, span_warning("You cannot ventcrawl while buckled!")) return FALSE if(restrict_vore_ventcrawl) var/foundstuff = FALSE @@ -45,7 +46,7 @@ var/list/ventcrawl_machinery = list( foundstuff = TRUE break if(foundstuff) - to_chat(src, "You cannot ventcrawl while full!") + to_chat(src, span_warning("You cannot ventcrawl while full!")) return FALSE return ventcrawl_carry() @@ -59,18 +60,18 @@ var/list/ventcrawl_machinery = list( /mob/living/simple_mob/slime/xenobio/can_ventcrawl() if(victim) - to_chat(src, "You cannot ventcrawl while feeding.") + to_chat(src, span_warning("You cannot ventcrawl while feeding.")) return FALSE . = ..() /mob/living/proc/is_allowed_vent_crawl_item(var/obj/carried_item) //Ability master easy test for allowed (cheaper than istype) if(carried_item == ability_master) - return 1 + return TRUE if(isanimal(src)) var/mob/living/simple_mob/S = src - if(carried_item == S.myid) //VOREStation Edit - return 1 //VOREStation Edit + if(carried_item == S.myid) + return TRUE //Try to find it in our allowed list (istype includes subtypes) var/listed = FALSE for(var/test_type in can_enter_vent_with) @@ -80,25 +81,55 @@ var/list/ventcrawl_machinery = list( //Only allow it if it's "IN" the mob, not equipped on/being held. //Disabled, as it's very annoying that, for example, Pun Pun has no way to ventcrawl with his suit if given the verb, since the list of allowed items is ignored for worn items. if(listed/* && !get_inventory_slot(carried_item)*/) - return 1 + return TRUE /mob/living/carbon/is_allowed_vent_crawl_item(var/obj/item/carried_item) if(carried_item in internal_organs) - return 1 + return TRUE return ..() /mob/living/carbon/human/is_allowed_vent_crawl_item(var/obj/item/carried_item) if(carried_item in organs) - return 1 + return TRUE + if(species.name == SPECIES_REPLICANT_CREW) + if(istype(carried_item, /obj/item/clothing/under)) + return TRUE //Allow them to not vent crawl naked + if(istype(carried_item, /obj/item)) + var/obj/item/I = carried_item + if(I.w_class <= ITEMSIZE_SMALL) + return TRUE //Allow them to carry items that fit in pockets return ..() /mob/living/proc/ventcrawl_carry() for(var/atom/A in contents) if(!is_allowed_vent_crawl_item(A)) - to_chat(src, "You can't carry \the [A] while ventcrawling!") + to_chat(src, span_warning("You can't carry \the [A] while ventcrawling!")) + return FALSE + return TRUE + +/mob/living/simple_mob/protean_blob/ventcrawl_carry() + for(var/atom/A in contents) + if(!is_allowed_vent_crawl_item(A)) + to_chat(src, span_warning("You can't carry \the [A] while ventcrawling!")) return FALSE + if(humanform) + for(var/atom/B in humanform.get_contents()) + if(!is_allowed_vent_crawl_item(B)) + to_chat(src, span_warning("You can't carry \the [B] while ventcrawling!")) + return FALSE return TRUE +/mob/living/simple_mob/protean_blob/is_allowed_vent_crawl_item(var/obj/item/carried_item) + if((carried_item in humanform.organs) || (carried_item in humanform.internal_organs)) + return TRUE + if(istype(carried_item, /obj/item/clothing/under)) + return TRUE //Allow jumpsuits only + if(istype(carried_item, /obj/item)) + var/obj/item/I = carried_item + if(I.w_class <= ITEMSIZE_SMALL) + return TRUE //Allow them to carry items that fit in pockets + return ..() + /mob/living/AltClickOn(var/atom/A) if(is_type_in_list(A,ventcrawl_machinery)) handle_ventcrawl(A) @@ -122,7 +153,7 @@ var/list/ventcrawl_machinery = list( return pipe /mob/living/carbon/alien/ventcrawl_carry() - return 1 + return TRUE /mob/living/var/ventcrawl_layer = 3 @@ -155,23 +186,23 @@ var/list/ventcrawl_machinery = list( switch(vent_found.air_contents.temperature) if(0 to BODYTEMP_COLD_DAMAGE_LIMIT) - to_chat(src, "You feel a painful freeze coming from the vent!") + to_chat(src, span_danger("You feel a painful freeze coming from the vent!")) if(BODYTEMP_COLD_DAMAGE_LIMIT to T0C) - to_chat(src, "You feel an icy chill coming from the vent.") + to_chat(src, span_warning("You feel an icy chill coming from the vent.")) if(T0C + 40 to BODYTEMP_HEAT_DAMAGE_LIMIT) - to_chat(src, "You feel a hot wash coming from the vent.") + to_chat(src, span_warning("You feel a hot wash coming from the vent.")) if(BODYTEMP_HEAT_DAMAGE_LIMIT to INFINITY) - to_chat(src, "You feel a searing heat coming from the vent!") + to_chat(src, span_danger("You feel a searing heat coming from the vent!")) switch(vent_found.air_contents.return_pressure()) if(0 to HAZARD_LOW_PRESSURE) - to_chat(src, "You feel a rushing draw pulling you into the vent!") + to_chat(src, span_danger("You feel a rushing draw pulling you into the vent!")) if(HAZARD_LOW_PRESSURE to WARNING_LOW_PRESSURE) - to_chat(src, "You feel a strong drag pulling you into the vent.") + to_chat(src, span_warning("You feel a strong drag pulling you into the vent.")) if(WARNING_HIGH_PRESSURE to HAZARD_HIGH_PRESSURE) - to_chat(src, "You feel a strong current pushing you away from the vent.") + to_chat(src, span_warning("You feel a strong current pushing you away from the vent.")) if(HAZARD_HIGH_PRESSURE to INFINITY) - to_chat(src, "You feel a roaring wind pushing you away from the vent!") + to_chat(src, span_danger("You feel a roaring wind pushing you away from the vent!")) fade_towards(vent_found,45) prepping_to_ventcrawl = 1 @@ -182,7 +213,7 @@ var/list/ventcrawl_machinery = list( if(!can_ventcrawl()) return - visible_message("[src] scrambles into the ventilation ducts!", "You climb into the ventilation system.") + visible_message(span_infoplain(span_bold("[src] scrambles into the ventilation ducts!")), span_infoplain("You climb into the ventilation system.")) forceMove(vent_found) add_ventcrawl(vent_found) diff --git a/code/modules/ventcrawl/ventcrawl_atmospherics.dm b/code/modules/ventcrawl/ventcrawl_atmospherics.dm index 2c2cb6ca9d7..fb04e89857f 100644 --- a/code/modules/ventcrawl/ventcrawl_atmospherics.dm +++ b/code/modules/ventcrawl/ventcrawl_atmospherics.dm @@ -48,10 +48,10 @@ prob(90);"* clunk *", prob(90);"* thud *", prob(90);"* clatter *", - prob(1);"* ඞ *" + prob(1);"* " + span_giganteus("ඞ") + " *" ) T.runechat_message(message) - + else if((direction & initialize_directions) || is_type_in_list(src, ventcrawl_machinery) && src.can_crawl_through()) //if we move in a way the pipe can connect, but doesn't - or we're in a vent user.remove_ventcrawl() diff --git a/code/modules/ventcrawl/ventcrawl_multiz.dm b/code/modules/ventcrawl/ventcrawl_multiz.dm index 87ef8f9ba70..1f669b34072 100644 --- a/code/modules/ventcrawl/ventcrawl_multiz.dm +++ b/code/modules/ventcrawl/ventcrawl_multiz.dm @@ -1,7 +1,7 @@ /obj/machinery/atmospherics/pipe/zpipe/up/verb/ventcrawl_move_up() set name = "Ventcrawl Upwards" set desc = "Climb up through a pipe." - set category = "Abilities" + set category = "Abilities.General" set src = usr.loc var/obj/machinery/atmospherics/target = check_ventcrawl(GetAbove(loc)) if(target) ventcrawl_to(usr, target, UP) @@ -9,7 +9,7 @@ /obj/machinery/atmospherics/pipe/zpipe/down/verb/ventcrawl_move_down() set name = "Ventcrawl Downwards" set desc = "Climb down through a pipe." - set category = "Abilities" + set category = "Abilities.General" set src = usr.loc var/obj/machinery/atmospherics/target = check_ventcrawl(GetBelow(loc)) if(target) ventcrawl_to(usr, target, DOWN) @@ -21,4 +21,4 @@ return node1 if(node2 in target) return node2 - return \ No newline at end of file + return diff --git a/code/modules/ventcrawl/ventcrawl_verb.dm b/code/modules/ventcrawl/ventcrawl_verb.dm index b49f22836dc..82352777be0 100644 --- a/code/modules/ventcrawl/ventcrawl_verb.dm +++ b/code/modules/ventcrawl/ventcrawl_verb.dm @@ -1,7 +1,7 @@ /mob/living/proc/ventcrawl() set name = "Crawl through Vent" set desc = "Enter an air vent and crawl through the pipe system." - set category = "Abilities" + set category = "Abilities.General" var/pipe = start_ventcrawl() if(pipe) handle_ventcrawl() diff --git a/code/modules/virus2/admin.dm b/code/modules/virus2/admin.dm deleted file mode 100644 index 914043cfb4c..00000000000 --- a/code/modules/virus2/admin.dm +++ /dev/null @@ -1,222 +0,0 @@ -/datum/disease2/disease/Topic(href, href_list) - . = ..() - if(.) return - - if(href_list["info"]) - // spawn or admin privileges to see info about viruses - if(!check_rights(R_ADMIN|R_SPAWN|R_EVENT)) return - - to_chat(usr, "Infection chance: [infectionchance]; Speed: [speed]; Spread type: [spreadtype]") - to_chat(usr, "Affected species: [english_list(affected_species)]") - to_chat(usr, "Effects:") - for(var/datum/disease2/effectholder/E in effects) - to_chat(usr, "[E.stage]: [E.effect.name]; chance=[E.chance]; multiplier=[E.multiplier]") - to_chat(usr, "Antigens: [antigens2string(antigen)]; Resistance: [resistance]") - - return 1 - -/datum/disease2/disease/vv_get_header() - . = list() - for(var/datum/disease2/effectholder/E in effects) - . += "[E.stage]: [E.effect.name]" - return {" - [name()]
      - [jointext(., "
      ")]
      - "} - -/datum/disease2/disease/get_view_variables_options() - return ..() + {" - - "} - -/datum/admins/var/datum/virus2_editor/virus2_editor_datum = new -/client/proc/virus2_editor() - set name = "Virus Editor" - set category = "Admin" - if(!holder || !check_rights(R_SPAWN)) return // spawn privileges to create viruses - - holder.virus2_editor_datum.show_ui(src) - -/datum/virus2_editor - var/list/s = list(/datum/disease2/effect/invisible,/datum/disease2/effect/invisible,/datum/disease2/effect/invisible,/datum/disease2/effect/invisible) - var/list/s_chance = list(1,1,1,1) - var/list/s_multiplier = list(1,1,1,1) - var/species = list() - var/infectionchance = 70 - var/spreadtype = "Contact" - var/list/antigens = list() - var/speed = 1 - var/resistance = 10 - var/mob/living/carbon/infectee = null - - // this holds spawned viruses so that the "Info" links work after the proc exits - var/list/spawned_viruses = list() - -/datum/virus2_editor/proc/select(mob/user, stage) - if(stage < 1 || stage > 4) return - - var/list/L = list() - - for(var/datum/disease2/effect/f as anything in subtypesof(/datum/disease2/effect)) - if(initial(f.stage) <= stage) - L[initial(f.name)] = f - - var/datum/disease2/effect/Eff = s[stage] - - var/C = tgui_input_list(usr, "Select effect for stage [stage]:", "Stage [stage]", L, Eff) - if(!C) return - return L[C] - -/datum/virus2_editor/proc/show_ui(mob/user) - var/H = {" -

      Virus2 Virus Editor


      - Effects:
      - "} - for(var/i = 1 to 4) - var/datum/disease2/effect/Eff = s[i] - H += {" - [initial(Eff.name)] - Chance: [s_chance[i]] - Multiplier: [s_multiplier[i]] -
      - "} - H += {" -
      - Infectable Species:
      - "} - var/f = 1 - for(var/k in GLOB.all_species) - var/datum/species/S = GLOB.all_species[k] - if(S.get_virus_immune()) - continue - if(!f) H += " | " - else f = 0 - H += "[k]" - H += {" - Reset -
      - Infection Chance: [infectionchance]
      - Spread Type: [spreadtype]
      - Speed: [speed]
      - Resistance: [resistance]
      -
      - "} - f = 1 - for(var/k in ALL_ANTIGENS) - if(!f) H += " | " - else f = 0 - H += "[k]" - H += {" - Reset -
      -
      - Initial infectee: [infectee ? infectee : "(choose)"] - RELEASE - "} - - user << browse(H, "window=virus2edit") - -/datum/virus2_editor/Topic(href, href_list) - switch(href_list["what"]) - if("effect") - var/stage = text2num(href_list["stage"]) - if(href_list["effect"]) - var/datum/disease2/effect/E = select(usr,stage) - if(!E) return - s[stage] = E - // set a default chance and multiplier of half the maximum (roughly average) - s_chance[stage] = max(1, round(initial(E.chance_maxm)/2)) - s_multiplier[stage] = max(1, round(initial(E.maxm)/2)) - else if(href_list["chance"]) - var/datum/disease2/effect/Eff = s[stage] - var/I = tgui_input_number(usr, "Chance, per tick, of this effect happening (min 0, max [initial(Eff.chance_maxm)])", "Effect Chance", s_chance[stage], initial(Eff.chance_maxm), 0) - if(I == null || I < 0 || I > initial(Eff.chance_maxm)) return - s_chance[stage] = I - else if(href_list["multiplier"]) - var/datum/disease2/effect/Eff = s[stage] - var/I = tgui_input_number(usr, "Multiplier for this effect (min 1, max [initial(Eff.maxm)])", "Effect Multiplier", s_multiplier[stage], initial(Eff.maxm), 1) - if(I == null || I < 1 || I > initial(Eff.maxm)) return - s_multiplier[stage] = I - if("species") - if(href_list["toggle"]) - var/T = href_list["toggle"] - if(T in species) - species -= T - else - species |= T - else if(href_list["reset"]) - species = list() - if(infectee) - if(!infectee.species || !(infectee.species.get_bodytype() in species)) - infectee = null - if("ichance") - var/I = tgui_input_number(usr, "Input infection chance", "Infection Chance", infectionchance, 100) - if(!I) return - infectionchance = I - if("stype") - var/S = tgui_alert(usr, "Which spread type?", "Spread Type", list("Contact", "Airborne", "Blood")) - if(!S) return - spreadtype = S - if("speed") - var/S = tgui_input_number(usr, "Input speed", "Speed", speed) - if(!S) return - speed = S - if("antigen") - if(href_list["toggle"]) - var/T = href_list["toggle"] - if(length(T) != 1) return - if(T in antigens) - antigens -= T - else - antigens |= T - else if(href_list["reset"]) - antigens = list() - if("resistance") - var/S = tgui_input_number(usr, "Input % resistance to antibiotics", "Resistance", resistance, 100) - if(!S) return - resistance = S - if("infectee") - var/list/candidates = list() - for(var/mob/living/carbon/G in living_mob_list) - if(G.stat != DEAD && G.species && !isbelly(G.loc)) - if(G.species.get_bodytype() in species) - candidates["[G.name][G.client ? "" : " (no client)"]"] = G - else - candidates["[G.name] ([G.species.get_bodytype()])[G.client ? "" : " (no client)"]"] = G - if(!candidates.len) - to_chat(usr, "No possible candidates found!") - - var/I = tgui_input_list(usr, "Choose initial infectee", "Infectee", candidates) - if(!I || !candidates[I]) return - infectee = candidates[I] - species |= infectee.species.get_bodytype() - if("go") - if(!antigens.len) - var/a = tgui_alert(usr, "This disease has no antigens; it will be impossible to permanently immunise anyone without them.\ - It is strongly recommended to set at least one antigen. Do you want to go back and edit your virus?", "Antigens", list("Yes", "No")) - if(a == "Yes") return - var/datum/disease2/disease/D = new - D.infectionchance = infectionchance - D.spreadtype = spreadtype - D.antigen = antigens - D.affected_species = species - D.speed = speed - D.resistance = resistance - for(var/i in 1 to 4) - var/datum/disease2/effectholder/E = new - var/Etype = s[i] - E.effect = new Etype() - E.effect.generate() - E.chance = s_chance[i] - E.multiplier = s_multiplier[i] - E.stage = i - - D.effects += E - - spawned_viruses += D - - message_admins("[key_name_admin(usr)] infected [key_name_admin(infectee)] with a virus (Info)") - log_admin("[key_name_admin(usr)] infected [key_name_admin(infectee)] with a virus!") - infect_virus2(infectee, D, forced=1) - - show_ui(usr) diff --git a/code/modules/virus2/analyser.dm b/code/modules/virus2/analyser.dm deleted file mode 100644 index e3524100f11..00000000000 --- a/code/modules/virus2/analyser.dm +++ /dev/null @@ -1,73 +0,0 @@ -/obj/machinery/disease2/diseaseanalyser - name = "disease analyser" - desc = "Analyzes diseases to find out information about them!" - icon = 'icons/obj/virology_vr.dmi' //VOREStation Edit - icon_state = "analyser" - anchored = TRUE - density = TRUE - - var/scanning = 0 - var/pause = 0 - - var/obj/item/weapon/virusdish/dish = null - -/obj/machinery/disease2/diseaseanalyser/attackby(var/obj/O as obj, var/mob/user as mob) - if(default_unfasten_wrench(user, O, 20)) - return - - else if(!istype(O,/obj/item/weapon/virusdish)) return - - if(dish) - to_chat(user, "\The [src] is already loaded.") - return - - dish = O - user.drop_item() - O.loc = src - - user.visible_message("[user] adds \a [O] to \the [src]!", "You add \a [O] to \the [src]!") - -/obj/machinery/disease2/diseaseanalyser/process() - if(stat & (NOPOWER|BROKEN)) - return - - if(scanning) - scanning -= 1 - if(scanning == 0) - if (dish.virus2.addToDB()) - ping("\The [src] pings, \"New pathogen added to data bank.\"") - - var/obj/item/weapon/paper/P = new /obj/item/weapon/paper(src.loc) - P.name = "paper - [dish.virus2.name()]" - - var/r = dish.virus2.get_info() - P.info = {" - [virology_letterhead("Post-Analysis Memo")] - [r] -
      - Additional Notes:  -"} - dish.basic_info = dish.virus2.get_basic_info() - dish.info = r - dish.name = "[initial(dish.name)] ([dish.virus2.name()])" - dish.analysed = 1 - dish.loc = src.loc - dish = null - - icon_state = "analyser" - src.state("\The [src] prints a sheet of paper.") - - else if(dish && !scanning && !pause) - if(dish.virus2 && dish.growth > 50) - dish.growth -= 10 - scanning = 5 - icon_state = "analyser_processing" - else - pause = 1 - spawn(25) - dish.loc = src.loc - dish = null - - src.state("\The [src] buzzes, \"Insufficient growth density to complete analysis.\"") - pause = 0 - return diff --git a/code/modules/virus2/antibodies.dm b/code/modules/virus2/antibodies.dm deleted file mode 100644 index cecb0709406..00000000000 --- a/code/modules/virus2/antibodies.dm +++ /dev/null @@ -1,26 +0,0 @@ -//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33 - -var/global/list/ALL_ANTIGENS = list( - "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" - ) - -/hook/startup/proc/randomise_antigens_order() - ALL_ANTIGENS = shuffle(ALL_ANTIGENS) - return 1 - -// iterate over the list of antigens and see what matches -/proc/antigens2string(list/antigens, none="None") - if(!istype(antigens)) - CRASH("Illegal type!") - if(!antigens.len) - return none - - var/code = "" - for(var/V in ALL_ANTIGENS) - if(V in antigens) - code += V - - if(!code) - return none - - return code diff --git a/code/modules/virus2/biohazard destroyer.dm b/code/modules/virus2/biohazard destroyer.dm deleted file mode 100644 index 2be7c17d1e4..00000000000 --- a/code/modules/virus2/biohazard destroyer.dm +++ /dev/null @@ -1,20 +0,0 @@ -/obj/machinery/disease2/biodestroyer - name = "Biohazard destroyer" - icon = 'icons/obj/pipes/disposal.dmi' - icon_state = "disposalbio" - var/list/accepts = list(/obj/item/clothing,/obj/item/weapon/virusdish/,/obj/item/weapon/cureimplanter,/obj/item/weapon/diseasedisk,/obj/item/weapon/reagent_containers) - density = TRUE - anchored = TRUE - -/obj/machinery/disease2/biodestroyer/attackby(var/obj/I as obj, var/mob/user as mob) - for(var/path in accepts) - if(I.type in typesof(path)) - user.drop_item() - qdel(I) - add_overlay("dispover-handle") - return - user.drop_item() - I.loc = src.loc - - for(var/mob/O in hearers(src, null)) - O.show_message(span_blue("[icon2html(src, O.client)] The [src.name] beeps."), 2) diff --git a/code/modules/virus2/centrifuge.dm b/code/modules/virus2/centrifuge.dm deleted file mode 100644 index 4cfb570a8d6..00000000000 --- a/code/modules/virus2/centrifuge.dm +++ /dev/null @@ -1,208 +0,0 @@ -/obj/machinery/computer/centrifuge - name = "isolation centrifuge" - desc = "Used to separate things with different weight. Spin 'em round, round, right round." - icon = 'icons/obj/virology_vr.dmi' //VOREStation Edit - icon_state = "centrifuge" - var/curing - var/isolating - - var/obj/item/weapon/reagent_containers/glass/beaker/vial/sample = null - var/datum/disease2/disease/virus2 = null - -/obj/machinery/computer/centrifuge/attackby(var/obj/item/O as obj, var/mob/user as mob) - if(O.has_tool_quality(TOOL_SCREWDRIVER)) - return ..(O,user) - - if(default_unfasten_wrench(user, O, 20)) - return - - if(istype(O,/obj/item/weapon/reagent_containers/glass/beaker/vial)) - if(sample) - to_chat(user, "\The [src] is already loaded.") - return - - sample = O - user.drop_item() - O.loc = src - - user.visible_message("[user] adds \a [O] to \the [src]!", "You add \a [O] to \the [src]!") - SStgui.update_uis(src) - - src.attack_hand(user) - -/obj/machinery/computer/centrifuge/update_icon() - ..() - if(! (stat & (BROKEN|NOPOWER)) && (isolating || curing)) - icon_state = "centrifuge_moving" - -/obj/machinery/computer/centrifuge/attack_hand(var/mob/user as mob) - if(..()) - return - tgui_interact(user) - -/obj/machinery/computer/centrifuge/tgui_interact(mob/user, datum/tgui/ui) - ui = SStgui.try_update_ui(user, src, ui) - if(!ui) - ui = new(user, src, "IsolationCentrifuge", name) - ui.open() - -/obj/machinery/computer/centrifuge/tgui_data(mob/user) - var/list/data = list() - data["antibodies"] = null - data["pathogens"] = list() - data["is_antibody_sample"] = null - data["busy"] = null - data["sample_inserted"] = !!sample - - if(curing) - data["busy"] = "Isolating antibodies..." - else if(isolating) - data["busy"] = "Isolating pathogens..." - else - if(sample) - var/datum/reagent/blood/B = locate(/datum/reagent/blood) in sample.reagents.reagent_list - if(B) - data["antibodies"] = antigens2string(B.data["antibodies"], none=null) - - var/list/pathogens[0] - var/list/virus = B.data["virus2"] - for (var/ID in virus) - var/datum/disease2/disease/V = virus[ID] - pathogens.Add(list(list("name" = V.name(), "spread_type" = V.spreadtype, "reference" = "\ref[V]"))) - - data["pathogens"] = pathogens - - else - var/datum/reagent/antibodies/A = locate(/datum/reagent/antibodies) in sample.reagents.reagent_list - if(A) - data["antibodies"] = antigens2string(A.data["antibodies"], none=null) - data["is_antibody_sample"] = 1 - - return data - -/obj/machinery/computer/centrifuge/process() - ..() - if(stat & (NOPOWER|BROKEN)) return - - if(curing) - curing -= 1 - if(curing == 0) - cure() - - if(isolating) - isolating -= 1 - if(isolating == 0) - isolate() - -/obj/machinery/computer/centrifuge/tgui_act(action, params) - if(..()) - return TRUE - - var/mob/user = usr - add_fingerprint(user) - - - switch(action) - if("print") - print(user) - . = TRUE - if("isolate") - var/datum/reagent/blood/B = locate(/datum/reagent/blood) in sample.reagents.reagent_list - if(B) - var/datum/disease2/disease/virus = locate(params["isolate"]) - virus2 = virus.getcopy() - isolating = 40 - update_icon() - . = TRUE - if("antibody") - var/delay = 20 - var/datum/reagent/blood/B = locate(/datum/reagent/blood) in sample.reagents.reagent_list - if(!B) - state("\The [src] buzzes, \"No antibody carrier detected.\"", "blue") - return TRUE - - var/has_toxins = locate(/datum/reagent/toxin) in sample.reagents.reagent_list - var/has_radium = sample.reagents.has_reagent("radium") - if(has_toxins || has_radium) - state("\The [src] beeps, \"Pathogen purging speed above nominal.\"", "blue") - if(has_toxins) - delay = delay/2 - if(has_radium) - delay = delay/2 - - curing = round(delay) - playsound(src, 'sound/machines/juicer.ogg', 50, 1) - update_icon() - . = TRUE - if("sample") - if(sample) - sample.loc = src.loc - sample = null - . = TRUE - - -/obj/machinery/computer/centrifuge/proc/cure() - if(!sample) return - var/datum/reagent/blood/B = locate(/datum/reagent/blood) in sample.reagents.reagent_list - if(!B) return - - var/list/data = list("antibodies" = B.data["antibodies"]) - var/amt= sample.reagents.get_reagent_amount("blood") - sample.reagents.remove_reagent("blood", amt) - sample.reagents.add_reagent("antibodies", amt, data) - - SStgui.update_uis(src) - update_icon() - ping("\The [src] pings, \"Antibody isolated.\"") - -/obj/machinery/computer/centrifuge/proc/isolate() - if(!sample) return - var/obj/item/weapon/virusdish/dish = new/obj/item/weapon/virusdish(loc) - dish.virus2 = virus2 - virus2 = null - - SStgui.update_uis(src) - update_icon() - ping("\The [src] pings, \"Pathogen isolated.\"") - -/obj/machinery/computer/centrifuge/proc/print(var/mob/user) - var/obj/item/weapon/paper/P = new /obj/item/weapon/paper(loc) - P.name = "paper - Pathology Report" - P.info = {" - [virology_letterhead("Pathology Report")] - Sample: [sample.name]
      -"} - - if(user) - P.info += "Generated By: [user.name]
      " - - P.info += "
      " - - var/datum/reagent/blood/B = locate(/datum/reagent/blood) in sample.reagents.reagent_list - if(B) - P.info += "Antibodies: " - P.info += antigens2string(B.data["antibodies"]) - P.info += "
      " - - var/list/virus = B.data["virus2"] - P.info += "Pathogens:
      " - if(virus.len > 0) - for (var/ID in virus) - var/datum/disease2/disease/V = virus[ID] - P.info += "[V.name()]
      " - else - P.info += "None
      " - - else - var/datum/reagent/antibodies/A = locate(/datum/reagent/antibodies) in sample.reagents.reagent_list - if(A) - P.info += "The following antibodies have been isolated from the blood sample: " - P.info += antigens2string(A.data["antibodies"]) - P.info += "
      " - - P.info += {" -
      - Additional Notes: -"} - - state("The nearby computer prints out a pathology report.") diff --git a/code/modules/virus2/curer.dm b/code/modules/virus2/curer.dm deleted file mode 100644 index 0ecd1133a07..00000000000 --- a/code/modules/virus2/curer.dm +++ /dev/null @@ -1,105 +0,0 @@ -/obj/machinery/computer/curer - name = "cure research machine" - icon_keyboard = "med_key" - icon_screen = "dna" - circuit = /obj/item/weapon/circuitboard/curefab - var/curing - var/virusing - - var/obj/item/weapon/reagent_containers/container = null - -/obj/machinery/computer/curer/attackby(var/obj/I as obj, var/mob/user as mob) - if(istype(I,/obj/item/weapon/reagent_containers)) - var/mob/living/carbon/C = user - if(!container) - container = I - C.drop_item() - I.loc = src - return - if(istype(I,/obj/item/weapon/virusdish)) - if(virusing) - to_chat(user, "The pathogen materializer is still recharging..") - return - var/obj/item/weapon/reagent_containers/glass/beaker/product = new(src.loc) - - var/list/data = list("donor"=null,"viruses"=null,"blood_DNA"=null,"blood_type"=null,"resistances"=null,"trace_chem"=null,"virus2"=list(),"antibodies"=list()) - data["virus2"] |= I:virus2 - product.reagents.add_reagent("blood",30,data) - - virusing = 1 - spawn(1200) virusing = 0 - - state("The [src.name] Buzzes", "blue") - return - ..() - return - -/obj/machinery/computer/curer/attack_ai(var/mob/user as mob) - return src.attack_hand(user) - -/obj/machinery/computer/curer/attack_hand(var/mob/user as mob) - if(..()) - return - user.machine = src - var/dat - if(curing) - dat = "Antibody production in progress" - else if(virusing) - dat = "Virus production in progress" - else if(container) - // see if there's any blood in the container - var/datum/reagent/blood/B = locate(/datum/reagent/blood) in container.reagents.reagent_list - - if(B) - dat = "Blood sample inserted." - dat += "
      Antibodies: [antigens2string(B.data["antibodies"])]" - dat += "
      Begin antibody production" - else - dat += "
      Please check container contents." - dat += "
      Eject container" - else - dat = "Please insert a container." - - user << browse(dat, "window=computer;size=400x500") - onclose(user, "computer") - return - -/obj/machinery/computer/curer/process() - ..() - - if(stat & (NOPOWER|BROKEN)) - return - use_power(500) - - if(curing) - curing -= 1 - if(curing == 0) - if(container) - createcure(container) - return - -/obj/machinery/computer/curer/Topic(href, href_list) - if(..()) - return 1 - usr.machine = src - - if (href_list["antibody"]) - curing = 10 - else if(href_list["eject"]) - container.loc = src.loc - container = null - - src.add_fingerprint(usr) - src.updateUsrDialog() - - -/obj/machinery/computer/curer/proc/createcure(var/obj/item/weapon/reagent_containers/container) - var/obj/item/weapon/reagent_containers/glass/beaker/product = new(src.loc) - - var/datum/reagent/blood/B = locate() in container.reagents.reagent_list - - var/list/data = list() - data["antibodies"] = B.data["antibodies"] - product.reagents.add_reagent("antibodies",30,data) - - state("\The [src.name] buzzes", "blue") diff --git a/code/modules/virus2/disease2.dm b/code/modules/virus2/disease2.dm deleted file mode 100644 index e8a275e8382..00000000000 --- a/code/modules/virus2/disease2.dm +++ /dev/null @@ -1,320 +0,0 @@ -/datum/disease2/disease - var/infectionchance = 70 - var/speed = 1 - var/spreadtype = "Blood" // Can also be "Contact" or "Airborne" - var/stage = 1 - var/stageprob = 10 - var/dead = 0 - var/clicks = 0 - var/uniqueID = 0 - var/list/datum/disease2/effectholder/effects = list() - var/antigen = list() // 16 bits describing the antigens, when one bit is set, a cure with that bit can dock here - var/max_stage = 4 - var/list/affected_species = list(SPECIES_HUMAN,SPECIES_UNATHI,SPECIES_SKRELL,SPECIES_TAJ) - var/resistance = 10 // % chance a disease will resist cure, up to 100 - -/datum/disease2/disease/New() - uniqueID = rand(0,10000) - ..() - -/datum/disease2/disease/proc/makerandom(var/severity=1) - var/list/excludetypes = list() - for(var/i=1 ; i <= max_stage ; i++ ) - var/datum/disease2/effectholder/holder = new /datum/disease2/effectholder - holder.stage = i - holder.getrandomeffect(severity, excludetypes) - excludetypes += holder.effect.type - effects += holder - uniqueID = rand(0,10000) - switch(severity) - if(1) - infectionchance = 1 - if(2) - infectionchance = rand(10,20) - else - infectionchance = rand(60,90) - - antigen = list(pick(ALL_ANTIGENS)) - antigen |= pick(ALL_ANTIGENS) - spreadtype = prob(70) ? "Airborne" : "Contact" - resistance = rand(15,70) - - if(severity >= 2 && prob(33)) - resistance += 10 - - if(GLOB.all_species.len) - affected_species = get_infectable_species() - -/proc/get_infectable_species() - var/list/meat = list() - var/list/res = list() - for (var/specie in GLOB.all_species) - var/datum/species/S = GLOB.all_species[specie] - if(!S.get_virus_immune()) - meat += S - if(meat.len) - var/num = rand(1,meat.len) - for(var/i=0,i 50) - if(prob(1)) - majormutate() - - //Space antibiotics have a good chance to stop disease completely - if(mob.chem_effects[CE_ANTIBIOTIC]) - if(stage == 1 && prob(70-resistance)) - src.cure(mob) - else - resistance += rand(1,9) - - //VOREStation Add Start - Corophazine can treat higher stages - var/antibiotics = mob.chem_effects[CE_ANTIBIOTIC] - if(antibiotics == ANTIBIO_SUPER) - if(prob(70)) - src.cure(mob) - //VOREStation Add End - - //Resistance is capped at 90 without being manually set to 100 - if(resistance > 90 && resistance < 100) - resistance = 90 - - - //Virus food speeds up disease progress - if(mob.reagents.has_reagent("virusfood")) - mob.reagents.remove_reagent("virusfood",0.1) - clicks += 10 - - if(prob(1) && prob(stage)) // Increasing chance of curing as the virus progresses - src.cure(mob) - mob.antibodies |= src.antigen - - //Moving to the next stage - if(clicks > max(stage*100, 200) && prob(10)) - if((stage <= max_stage) && prob(5)) // ~20% of viruses will be cured by the end of S4 with this - src.cure(mob) - mob.antibodies |= src.antigen - stage++ - clicks = 0 - - //Do nasty effects - for(var/datum/disease2/effectholder/e in effects) - if(prob(33)) - e.runeffect(mob,stage) - - //Short airborne spread - if(src.spreadtype == "Airborne") - for(var/mob/living/carbon/M in oview(1,mob)) - if(airborne_can_reach(get_turf(mob), get_turf(M))) - infect_virus2(M,src) - - //fever - mob.bodytemperature = max(mob.bodytemperature, min(310+5*min(stage,max_stage) ,mob.bodytemperature+5*min(stage,max_stage))) - clicks+=speed - -/datum/disease2/disease/proc/cure(var/mob/living/carbon/mob) - for(var/datum/disease2/effectholder/e in effects) - e.effect.deactivate(mob) - mob.virus2.Remove("[uniqueID]") - BITSET(mob.hud_updateflag, STATUS_HUD) - -/datum/disease2/disease/proc/minormutate() - //uniqueID = rand(0,10000) - var/datum/disease2/effectholder/holder = pick(effects) - holder.minormutate() - //infectionchance = min(50,infectionchance + rand(0,10)) - -/datum/disease2/disease/proc/majormutate() - uniqueID = rand(0,10000) - var/datum/disease2/effectholder/holder = pick(effects) - var/list/exclude = list() - for(var/datum/disease2/effectholder/D in effects) - if(D != holder) - exclude += D.effect.type - holder.majormutate(exclude) - if (prob(5) && prob(100-resistance)) // The more resistant the disease,the lower the chance of randomly developing the antibodies - antigen = list(pick(ALL_ANTIGENS)) - antigen |= pick(ALL_ANTIGENS) - if (prob(5) && GLOB.all_species.len) - affected_species = get_infectable_species() - if (prob(10)) - resistance += rand(1,9) - if(resistance > 90 && resistance < 100) - resistance = 90 - -/datum/disease2/disease/proc/getcopy() - var/datum/disease2/disease/disease = new /datum/disease2/disease - disease.infectionchance = infectionchance - disease.spreadtype = spreadtype - disease.stageprob = stageprob - disease.antigen = antigen - disease.uniqueID = uniqueID - disease.resistance = resistance - disease.affected_species = affected_species.Copy() - for(var/datum/disease2/effectholder/holder in effects) - var/datum/disease2/effectholder/newholder = new /datum/disease2/effectholder - newholder.effect = new holder.effect.type - newholder.effect.generate(holder.effect.data) - newholder.chance = holder.chance - newholder.cure = holder.cure - newholder.multiplier = holder.multiplier - newholder.happensonce = holder.happensonce - newholder.stage = holder.stage - disease.effects += newholder - return disease - -/datum/disease2/disease/proc/issame(var/datum/disease2/disease/disease) - var/list/types = list() - var/list/types2 = list() - for(var/datum/disease2/effectholder/d in effects) - types += d.effect.type - var/equal = 1 - - for(var/datum/disease2/effectholder/d in disease.effects) - types2 += d.effect.type - - for(var/type in types) - if(!(type in types2)) - equal = 0 - - if (antigen != disease.antigen) - equal = 0 - return equal - -/proc/virus_copylist(var/list/datum/disease2/disease/viruses) - var/list/res = list() - for (var/ID in viruses) - var/datum/disease2/disease/V = viruses[ID] - res["[V.uniqueID]"] = V.getcopy() - return res - - -var/global/list/virusDB = list() - -/datum/disease2/disease/proc/name() - .= "stamm #[add_zero("[uniqueID]", 4)]" - if ("[uniqueID]" in virusDB) - var/datum/data/record/V = virusDB["[uniqueID]"] - .= V.fields["name"] - -/datum/disease2/disease/proc/get_basic_info() - var/t = "" - for(var/datum/disease2/effectholder/E in effects) - t += ", [E.effect.name]" - return "[name()] ([copytext(t,3)])" - -/datum/disease2/disease/proc/get_info() - var/r = {" - Analysis determined the existence of a GNAv2-based viral lifeform.
      - Designation: [name()]
      - Antigen: [antigens2string(antigen)]
      - Transmitted By: [spreadtype]
      - Rate of Progression: [stageprob * 10]
      - Antibiotic Resistance [resistance]%
      - Species Affected: [jointext(affected_species, ", ")]
      -"} - - r += "Symptoms:
      " - for(var/datum/disease2/effectholder/E in effects) - r += "([E.stage]) [E.effect.name] " - r += "Strength: [E.multiplier >= 3 ? "Severe" : E.multiplier > 1 ? "Above Average" : "Average"] " - r += "Aggressiveness: [E.chance * 15]
      " - - return r - -/datum/disease2/disease/proc/get_tgui_info() - . = list( - "name" = name(), - "spreadtype" = spreadtype, - "antigen" = antigens2string(antigen), - "rate" = stageprob * 10, - "resistance" = resistance, - "species" = jointext(affected_species, ", "), - "ref" = "\ref[src]", - ) - - var/list/symptoms = list() - for(var/datum/disease2/effectholder/E in effects) - symptoms.Add(list(list( - "stage" = E.stage, - "name" = E.effect.name, - "strength" = "[E.multiplier >= 3 ? "Severe" : E.multiplier > 1 ? "Above Average" : "Average"]", - "aggressiveness" = E.chance * 15, - ))) - .["symptoms"] = symptoms - -/datum/disease2/disease/proc/addToDB() - if ("[uniqueID]" in virusDB) - return 0 - var/datum/data/record/v = new() - v.fields["id"] = uniqueID - v.fields["name"] = name() - v.fields["description"] = get_info() - v.fields["tgui_description"] = get_tgui_info() - v.fields["tgui_description"]["record"] = "\ref[v]" - v.fields["antigen"] = antigens2string(antigen) - v.fields["spread type"] = spreadtype - virusDB["[uniqueID]"] = v - return 1 - -/proc/virus2_lesser_infection() - var/list/candidates = list() //list of candidate keys - - for(var/mob/living/carbon/human/G in player_list) - if(G.client && G.stat != DEAD && !isbelly(G.loc)) - candidates += G - - if(!candidates.len) return - - candidates = shuffle(candidates) - - infect_mob_random_lesser(candidates[1]) - -/proc/virus2_greater_infection() - var/list/candidates = list() //list of candidate keys - - for(var/mob/living/carbon/human/G in player_list) - if(G.client && G.stat != DEAD && !isbelly(G.loc)) - candidates += G - if(!candidates.len) return - - candidates = shuffle(candidates) - - infect_mob_random_greater(candidates[1]) - -/proc/virology_letterhead(var/report_name) - return {" -

      [report_name]

      -
      [station_name()] Virology Lab
      -
      -"} - -/datum/disease2/disease/proc/can_add_symptom(type) - for(var/datum/disease2/effectholder/H in effects) - if(H.effect.type == type) - return 0 - - return 1 diff --git a/code/modules/virus2/diseasesplicer.dm b/code/modules/virus2/diseasesplicer.dm deleted file mode 100644 index bd76a0330e9..00000000000 --- a/code/modules/virus2/diseasesplicer.dm +++ /dev/null @@ -1,193 +0,0 @@ -/obj/machinery/computer/diseasesplicer - name = "disease splicer" - icon_keyboard = "med_key" - icon_screen = "crew" - - var/datum/disease2/effectholder/memorybank = null - var/list/species_buffer = null - var/analysed = 0 - var/obj/item/weapon/virusdish/dish = null - var/burning = 0 - var/splicing = 0 - var/scanning = 0 - -/obj/machinery/computer/diseasesplicer/attackby(var/obj/item/I as obj, var/mob/user as mob) - if(I.has_tool_quality(TOOL_SCREWDRIVER)) - return ..(I,user) - - if(default_unfasten_wrench(user, I, 20)) - return - - if(istype(I,/obj/item/weapon/virusdish)) - var/mob/living/carbon/c = user - if(dish) - to_chat(user, "\The [src] is already loaded.") - return - - dish = I - c.drop_item() - I.loc = src - - if(istype(I,/obj/item/weapon/diseasedisk)) - to_chat(user, "You upload the contents of the disk onto the buffer.") - memorybank = I:effect - species_buffer = I:species - analysed = I:analysed - - src.attack_hand(user) - -/obj/machinery/computer/diseasesplicer/attack_ai(var/mob/user as mob) - return src.attack_hand(user) - -/obj/machinery/computer/diseasesplicer/attack_hand(var/mob/user as mob) - if(..()) - return TRUE - tgui_interact(user) - -/obj/machinery/computer/diseasesplicer/tgui_interact(mob/user, datum/tgui/ui) - ui = SStgui.try_update_ui(user, src, ui) - if(!ui) - ui = new(user, src, "DiseaseSplicer", name) - ui.open() - -/obj/machinery/computer/diseasesplicer/tgui_data(mob/user) - var/list/data = list() - data["dish_inserted"] = !!dish - - data["buffer"] = null - if(memorybank) - data["buffer"] = list("name" = (analysed ? memorybank.effect.name : "Unknown Symptom"), "stage" = memorybank.effect.stage) - data["species_buffer"] = null - if(species_buffer) - data["species_buffer"] = analysed ? jointext(species_buffer, ", ") : "Unknown Species" - - data["effects"] = null - data["info"] = null - data["growth"] = 0 - data["affected_species"] = null - data["busy"] = null - if(splicing) - data["busy"] = "Splicing..." - else if(scanning) - data["busy"] = "Scanning..." - else if(burning) - data["busy"] = "Copying data to disk..." - else if(dish) - data["growth"] = min(dish.growth, 100) - - if(dish.virus2) - if(dish.virus2.affected_species) - data["affected_species"] = dish.analysed ? dish.virus2.affected_species : list() - - if(dish.growth >= 50) - var/list/effects[0] - for (var/datum/disease2/effectholder/e in dish.virus2.effects) - effects.Add(list(list("name" = (dish.analysed ? e.effect.name : "Unknown"), "stage" = (e.stage), "reference" = "\ref[e]", "badness" = e.effect.badness))) - data["effects"] = effects - else - data["info"] = "Insufficient cell growth for gene splicing." - else - data["info"] = "No virus detected." - else - data["info"] = "No dish loaded." - - return data - -/obj/machinery/computer/diseasesplicer/process() - if(stat & (NOPOWER|BROKEN)) - return - - if(scanning) - scanning -= 1 - if(!scanning) - ping("\The [src] pings, \"Analysis complete.\"") - SStgui.update_uis(src) - if(splicing) - splicing -= 1 - if(!splicing) - ping("\The [src] pings, \"Splicing operation complete.\"") - SStgui.update_uis(src) - if(burning) - burning -= 1 - if(!burning) - var/obj/item/weapon/diseasedisk/d = new /obj/item/weapon/diseasedisk(src.loc) - d.analysed = analysed - if(analysed) - if(memorybank) - d.name = "[memorybank.effect.name] GNA disk (Stage: [memorybank.effect.stage])" - d.effect = memorybank - else if(species_buffer) - d.name = "[jointext(species_buffer, ", ")] GNA disk" - d.species = species_buffer - else - if(memorybank) - d.name = "Unknown GNA disk (Stage: [memorybank.effect.stage])" - d.effect = memorybank - else if(species_buffer) - d.name = "Unknown Species GNA disk" - d.species = species_buffer - - ping("\The [src] pings, \"Backup disk saved.\"") - SStgui.update_uis(src) - -/obj/machinery/computer/diseasesplicer/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state) - if(..()) - return TRUE - - var/mob/user = usr - add_fingerprint(user) - - switch(action) - if("grab") - if(dish) - memorybank = locate(params["grab"]) - species_buffer = null - analysed = dish.analysed - dish = null - scanning = 10 - . = TRUE - - if("affected_species") - if(dish) - memorybank = null - species_buffer = dish.virus2.affected_species - analysed = dish.analysed - dish = null - scanning = 10 - . = TRUE - - if("eject") - if(dish) - dish.loc = src.loc - dish = null - . = TRUE - - if("splice") - if(dish) - var/target = text2num(params["splice"]) // target = 1 to 4 for effects, 5 for species - if(memorybank && 0 < target && target <= 4) - if(target < memorybank.effect.stage) return // too powerful, catching this for href exploit prevention - - var/datum/disease2/effectholder/target_holder - var/list/illegal_types = list() - for(var/datum/disease2/effectholder/e in dish.virus2.effects) - if(e.stage == target) - target_holder = e - else - illegal_types += e.effect.type - if(memorybank.effect.type in illegal_types) return - target_holder.effect = memorybank.effect - - else if(species_buffer && target == 5) - dish.virus2.affected_species = species_buffer - - else - return - - splicing = 10 - dish.virus2.uniqueID = rand(0,10000) - . = TRUE - - if("disk") - burning = 10 - . = TRUE diff --git a/code/modules/virus2/dishincubator.dm b/code/modules/virus2/dishincubator.dm deleted file mode 100644 index 7dab15e01ad..00000000000 --- a/code/modules/virus2/dishincubator.dm +++ /dev/null @@ -1,201 +0,0 @@ -/obj/machinery/disease2/incubator/ - name = "pathogenic incubator" - desc = "Encourages the growth of diseases. This model comes with a dispenser system and a small radiation generator." - density = TRUE - anchored = TRUE - icon = 'icons/obj/virology_vr.dmi' //VOREStation Edit - icon_state = "incubator" - var/obj/item/weapon/virusdish/dish - var/obj/item/weapon/reagent_containers/glass/beaker = null - var/radiation = 0 - - var/on = 0 - var/power = 0 - - var/foodsupply = 0 - var/toxins = 0 - -/obj/machinery/disease2/incubator/attackby(var/obj/O as obj, var/mob/user as mob) - if(default_unfasten_wrench(user, O, 20)) - return - - if(istype(O, /obj/item/weapon/reagent_containers/glass) || istype(O,/obj/item/weapon/reagent_containers/syringe)) - - if(beaker) - to_chat(user, "\The [src] is already loaded.") - return - - beaker = O - user.drop_item() - O.loc = src - - user.visible_message("[user] adds \a [O] to \the [src]!", "You add \a [O] to \the [src]!") - SStgui.update_uis(src) - - src.attack_hand(user) - return - - if(istype(O, /obj/item/weapon/virusdish)) - - if(dish) - to_chat(user, "The dish tray is aleady full!") - return - - dish = O - user.drop_item() - O.loc = src - - user.visible_message("[user] adds \a [O] to \the [src]!", "You add \a [O] to \the [src]!") - SStgui.update_uis(src) - - src.attack_hand(user) - -/obj/machinery/disease2/incubator/attack_hand(mob/user as mob) - if(stat & (NOPOWER|BROKEN)) - return - tgui_interact(user) - -/obj/machinery/disease2/incubator/tgui_interact(mob/user, datum/tgui/ui) - ui = SStgui.try_update_ui(user, src, ui) - if(!ui) - ui = new(user, src, "DishIncubator", name) - ui.set_autoupdate(FALSE) - ui.open() - -/obj/machinery/disease2/incubator/tgui_data(mob/user) - var/data[0] - data["chemicals_inserted"] = !!beaker - data["dish_inserted"] = !!dish - data["food_supply"] = foodsupply - data["radiation"] = radiation - data["toxins"] = min(toxins, 100) - data["on"] = on - data["system_in_use"] = foodsupply > 0 || radiation > 0 || toxins > 0 - data["chemical_volume"] = beaker ? beaker.reagents.total_volume : 0 - data["max_chemical_volume"] = beaker ? beaker.volume : 1 - data["virus"] = dish ? dish.virus2 : null - data["growth"] = dish ? min(dish.growth, 100) : 0 - data["infection_rate"] = dish && dish.virus2 ? dish.virus2.infectionchance * 10 : 0 - data["analysed"] = dish && dish.analysed ? 1 : 0 - data["can_breed_virus"] = null - data["blood_already_infected"] = null - - if(beaker) - var/datum/reagent/blood/B = locate(/datum/reagent/blood) in beaker.reagents.reagent_list - data["can_breed_virus"] = dish && dish.virus2 && B - - if(B) - if(!B.data["virus2"]) - B.data["virus2"] = list() - - var/list/virus = B.data["virus2"] - for (var/ID in virus) - data["blood_already_infected"] = virus[ID] - - return data - -/obj/machinery/disease2/incubator/process() - if(dish && on && dish.virus2) - use_power(50,EQUIP) - if(!powered(EQUIP)) - on = 0 - icon_state = "incubator" - - if(foodsupply) - if(dish.growth + 3 >= 100 && dish.growth < 100) - ping("\The [src] pings, \"Sufficient viral growth density achieved.\"") - - foodsupply -= 1 - dish.growth += 3 - SStgui.update_uis(src) - - if(radiation) - if(radiation > 50 & prob(5)) - dish.virus2.majormutate() - if(dish.info) - dish.info = "OUTDATED : [dish.info]" - dish.basic_info = "OUTDATED: [dish.basic_info]" - dish.analysed = 0 - ping("\The [src] pings, \"Mutant viral strain detected.\"") - else if(prob(5)) - dish.virus2.minormutate() - radiation -= 1 - SStgui.update_uis(src) - if(toxins && prob(5)) - dish.virus2.infectionchance -= 1 - SStgui.update_uis(src) - if(toxins > 50) - dish.growth = 0 - dish.virus2 = null - SStgui.update_uis(src) - else if(!dish) - on = 0 - icon_state = "incubator" - SStgui.update_uis(src) - - if(beaker) - if(foodsupply < 100 && beaker.reagents.remove_reagent("virusfood",5)) - if(foodsupply + 10 <= 100) - foodsupply += 10 - SStgui.update_uis(src) - - if(locate(/datum/reagent/toxin) in beaker.reagents.reagent_list && toxins < 100) - for(var/datum/reagent/toxin/T in beaker.reagents.reagent_list) - toxins += max(T.strength,1) - beaker.reagents.remove_reagent(T.id,1) - if(toxins > 100) - toxins = 100 - break - SStgui.update_uis(src) - -/obj/machinery/disease2/incubator/tgui_act(action, params) - if(..()) - return TRUE - - var/mob/user = usr - add_fingerprint(user) - switch(action) - if("ejectchem") - if(beaker) - beaker.loc = src.loc - beaker = null - . = TRUE - - if("power") - if(dish) - on = !on - icon_state = on ? "incubator_on" : "incubator" - . = TRUE - - if("ejectdish") - if(dish) - dish.loc = src.loc - dish = null - . = TRUE - - if("rad") - radiation = min(100, radiation + 10) - . = TRUE - - if("flush") - radiation = 0 - toxins = 0 - foodsupply = 0 - . = TRUE - - if("virus") - if(!dish) - return TRUE - - var/datum/reagent/blood/B = locate(/datum/reagent/blood) in beaker.reagents.reagent_list - if(!B) - return TRUE - - if(!B.data["virus2"]) - B.data["virus2"] = list() - - var/list/virus = list("[dish.virus2.uniqueID]" = dish.virus2.getcopy()) - B.data["virus2"] += virus - - ping("\The [src] pings, \"Injection complete.\"") - . = TRUE diff --git a/code/modules/virus2/effect.dm b/code/modules/virus2/effect.dm deleted file mode 100644 index 6045284b4c0..00000000000 --- a/code/modules/virus2/effect.dm +++ /dev/null @@ -1,520 +0,0 @@ -/datum/disease2/effectholder - var/name = "Holder" - var/datum/disease2/effect/effect - var/chance = 0 //Chance in percentage each tick - var/cure = "" //Type of cure it requires - var/happensonce = 0 - var/multiplier = 1 //The chance the effects are WORSE - var/stage = 0 - -/datum/disease2/effectholder/proc/runeffect(var/mob/living/carbon/human/mob,var/stage) - if(happensonce > -1 && effect.stage <= stage && prob(chance)) - effect.activate(mob, multiplier) - if(happensonce == 1) - happensonce = -1 - -/datum/disease2/effectholder/proc/getrandomeffect(var/badness = 1, exclude_types=list()) - var/list/datum/disease2/effect/list = list() - for(var/datum/disease2/effect/f as anything in subtypesof(/datum/disease2/effect)) - if(f in exclude_types) - continue - if(initial(f.badness) > badness) //we don't want such strong effects - continue - if(initial(f.stage) <= src.stage) - list += f - var/type = pick(list) - effect = new type() - effect.generate() - chance = rand(0,effect.chance_maxm) - multiplier = rand(1,effect.maxm) - -/datum/disease2/effectholder/proc/minormutate() - switch(pick(1,2,3,4,5)) - if(1) - chance = rand(0,effect.chance_maxm) - if(2) - multiplier = rand(1,effect.maxm) - -/datum/disease2/effectholder/proc/majormutate(exclude_types=list()) - getrandomeffect(3, exclude_types) - -//////////////////////////////////////////////////////////////// -////////////////////////EFFECTS///////////////////////////////// -//////////////////////////////////////////////////////////////// - -/datum/disease2/effect - var/chance_maxm = 50 //note that disease effects only proc once every 3 ticks for humans - var/name = "Blanking effect" - var/stage = 4 - var/maxm = 1 - var/badness = 1 - var/data = null // For semi-procedural effects; this should be generated in generate() if used - -/datum/disease2/effect/proc/activate(var/mob/living/carbon/mob,var/multiplier) -/datum/disease2/effect/proc/deactivate(var/mob/living/carbon/mob) -/datum/disease2/effect/proc/generate(copy_data) // copy_data will be non-null if this is a copy; it should be used to initialise the data for this effect if present - -/datum/disease2/effect/invisible - name = "Waiting Syndrome" - stage = 1 - badness = 3 - -/datum/disease2/effect/invisible/activate(var/mob/living/carbon/mob,var/multiplier) - return - -////////////////////////STAGE 4///////////////////////////////// - -/datum/disease2/effect/nothing - name = "Nil Syndrome" - stage = 4 - badness = 1 - chance_maxm = 0 - -/datum/disease2/effect/gibbingtons - name = "Gibbington's Syndrome" - stage = 4 - badness = 3 - -/datum/disease2/effect/gibbingtons/activate(var/mob/living/carbon/mob,var/multiplier) - // Probabilities have been tweaked to kill in ~2-3 minutes, giving 5-10 messages. - // Probably needs more balancing, but it's better than LOL U GIBBED NOW, especially now that viruses can potentially have no signs up until Gibbingtons. - mob.adjustBruteLoss(10*multiplier) - if(istype(mob, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = mob - var/obj/item/organ/external/O = pick(H.organs) - if(prob(25)) - to_chat(mob, "Your [O.name] feels as if it might burst!") - if(prob(10)) - spawn(50) - if(O) - O.droplimb(0,DROPLIMB_BLUNT) - else - if(prob(75)) - to_chat(mob, "Your whole body feels like it might fall apart!") - if(prob(10)) - mob.adjustBruteLoss(25*multiplier) - -/datum/disease2/effect/radian - name = "Radian's Syndrome" - stage = 4 - maxm = 3 - badness = 2 - -/datum/disease2/effect/radian/activate(var/mob/living/carbon/mob,var/multiplier) - mob.apply_effect(2*multiplier, IRRADIATE, check_protection = 0) - -/datum/disease2/effect/deaf - name = "Deafness" - stage = 4 - badness = 2 - -/datum/disease2/effect/deaf/activate(var/mob/living/carbon/mob,var/multiplier) - mob.ear_deaf += 20 - -/datum/disease2/effect/monkey - name = "Genome Regression" - stage = 4 - badness = 3 - -/datum/disease2/effect/monkey/activate(var/mob/living/carbon/mob,var/multiplier) - if(istype(mob,/mob/living/carbon/human)) - var/mob/living/carbon/human/h = mob - h.monkeyize() - -/datum/disease2/effect/killertoxins - name = "Autoimmune Response" - stage = 4 - badness = 2 - -/datum/disease2/effect/killertoxins/activate(var/mob/living/carbon/mob,var/multiplier) - mob.adjustToxLoss(15*multiplier) - -/datum/disease2/effect/dna - name = "Catastrophic DNA Degeneration" - stage = 4 - badness = 2 - -/datum/disease2/effect/dna/activate(var/mob/living/carbon/mob,var/multiplier) - mob.bodytemperature = max(mob.bodytemperature, 350) - scramble(0,mob,10) - mob.apply_damage(10, CLONE) - -/datum/disease2/effect/organs - name = "Limb Paralysis" - stage = 4 - badness = 2 - -/datum/disease2/effect/organs/activate(var/mob/living/carbon/mob,var/multiplier) - if(istype(mob, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = mob - var/organ = pick(list("r_arm","l_arm","r_leg","l_leg")) - var/obj/item/organ/external/E = H.organs_by_name[organ] - if (!(E.status & ORGAN_DEAD)) - E.status |= ORGAN_DEAD - to_chat(H, "You can't feel your [E.name] anymore...") - for (var/obj/item/organ/external/C in E.children) - C.status |= ORGAN_DEAD - H.update_icons_body() - mob.adjustToxLoss(15*multiplier) - -/datum/disease2/effect/organs/deactivate(var/mob/living/carbon/mob,var/multiplier) - if(istype(mob, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = mob - for (var/obj/item/organ/external/E in H.organs) - E.status &= ~ORGAN_DEAD - for (var/obj/item/organ/external/C in E.children) - C.status &= ~ORGAN_DEAD - H.update_icons_body() - -/datum/disease2/effect/internalorgan - name = "Organ Shutdown" - stage = 4 - badness = 2 - -/datum/disease2/effect/internalorgan/activate(var/mob/living/carbon/mob,var/multiplier) - if(istype(mob, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = mob - var/organ = pick(list("heart","kidney","liver", "lungs")) - var/obj/item/organ/internal/O = H.organs_by_name[organ] - if (O.robotic != ORGAN_ROBOT) - O.damage += (5*multiplier) - to_chat(H, "You feel a cramp in your guts.") - -/datum/disease2/effect/immortal - name = "Hyperaccelerated Aging" - stage = 4 - badness = 2 - -/datum/disease2/effect/immortal/activate(var/mob/living/carbon/mob,var/multiplier) - if(istype(mob, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = mob - for (var/obj/item/organ/external/E in H.organs) - if (E.status & ORGAN_BROKEN && prob(30)) - E.status ^= ORGAN_BROKEN - var/heal_amt = -5*multiplier - mob.apply_damages(heal_amt,heal_amt,heal_amt,heal_amt) - -/datum/disease2/effect/immortal/deactivate(var/mob/living/carbon/mob,var/multiplier) - if(istype(mob, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = mob - to_chat(H, "You suddenly feel hurt and old...") - H.age += 8 - var/backlash_amt = 5*multiplier - mob.apply_damages(backlash_amt,backlash_amt,backlash_amt,backlash_amt) - -/datum/disease2/effect/bones - name = "Brittle Bones" - stage = 4 - badness = 2 -/datum/disease2/effect/bones/activate(var/mob/living/carbon/mob,var/multiplier) - if(istype(mob, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = mob - for (var/obj/item/organ/external/E in H.organs) - E.min_broken_damage = max(5, E.min_broken_damage - 30) - -/datum/disease2/effect/bones/deactivate(var/mob/living/carbon/mob,var/multiplier) - if(istype(mob, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = mob - for (var/obj/item/organ/external/E in H.organs) - E.min_broken_damage = initial(E.min_broken_damage) - -/datum/disease2/effect/combustion - name = "Organic Ignition" - stage = 4 - badness = 3 - -/datum/disease2/effect/combustion/activate(var/mob/living/carbon/mob,var/multiplier) - if(istype(mob, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = mob - var/obj/item/organ/external/O = pick(H.organs) - if(prob(25)) - to_chat(mob, "It feels like your [O.name] is on fire and your blood is boiling!") - H.adjust_fire_stacks(1) - if(prob(10)) - to_chat(mob, "Flames erupt from your skin, your entire body is burning!") - H.adjust_fire_stacks(2) - H.IgniteMob() - - -////////////////////////STAGE 3///////////////////////////////// - -/datum/disease2/effect/toxins - name = "Hyperacidity" - stage = 3 - maxm = 3 - -/datum/disease2/effect/toxins/activate(var/mob/living/carbon/mob,var/multiplier) - mob.adjustToxLoss((2*multiplier)) - -/datum/disease2/effect/shakey - name = "Nervous Motor Instability" - stage = 3 - maxm = 3 - -/datum/disease2/effect/shakey/activate(var/mob/living/carbon/mob,var/multiplier) - shake_camera(mob,5*multiplier) - -/datum/disease2/effect/telepathic - name = "Pineal Gland Decalcification" - stage = 3 - -/datum/disease2/effect/telepathic/activate(var/mob/living/carbon/mob,var/multiplier) - mob.dna.SetSEState(REMOTETALKBLOCK,1) - domutcheck(mob, null, MUTCHK_FORCED) - -/datum/disease2/effect/mind - name = "Neurodegeneration" - stage = 3 - -/datum/disease2/effect/mind/activate(var/mob/living/carbon/mob,var/multiplier) - if(istype(mob, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = mob - var/obj/item/organ/internal/brain/B = H.internal_organs_by_name["brain"] - if (B && B.damage < B.min_broken_damage) - B.take_damage(5) - else - mob.setBrainLoss(10) - -/datum/disease2/effect/hallucinations - name = "Hallucination" - stage = 3 - -/datum/disease2/effect/hallucinations/activate(var/mob/living/carbon/mob,var/multiplier) - mob.hallucination += 25 - -/datum/disease2/effect/minordeaf - name = "Hearing Loss" - stage = 3 - -/datum/disease2/effect/minordeaf/activate(var/mob/living/carbon/mob,var/multiplier) - mob.ear_deaf = 5 - -/datum/disease2/effect/giggle - name = "Uncontrolled Laughter" - stage = 3 - chance_maxm = 20 - -/datum/disease2/effect/giggle/activate(var/mob/living/carbon/mob,var/multiplier) - if(prob(66)) - mob.say("*giggle") - else - to_chat(mob, "What's so funny?") - -/datum/disease2/effect/confusion - name = "Topographical Cretinism" - stage = 3 - -/datum/disease2/effect/confusion/activate(var/mob/living/carbon/mob,var/multiplier) - to_chat(mob, "You have trouble telling right and left apart all of a sudden.") - mob.Confuse(10) - -/datum/disease2/effect/mutation - name = "DNA Degradation" - stage = 3 - -/datum/disease2/effect/mutation/activate(var/mob/living/carbon/mob,var/multiplier) - mob.apply_damage(2, CLONE) - -/datum/disease2/effect/groan - name = "Phantom Aches" - stage = 3 - chance_maxm = 20 - -/datum/disease2/effect/groan/activate(var/mob/living/carbon/mob,var/multiplier) - if(prob(66)) - mob.say("*groan") - else if(istype(mob, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = mob - var/obj/item/organ/external/E = pick(H.organs) - to_chat(mob, "Your [E] aches.") - -/datum/disease2/effect/chem_synthesis - name = "Chemical Synthesis" - stage = 3 - chance_maxm = 25 - -/datum/disease2/effect/chem_synthesis/generate(c_data) - if(c_data) - data = c_data - else - data = pick("bicaridine", "kelotane", "anti_toxin", "inaprovaline", "bliss", "sugar", - "tramadol", "dexalin", "cryptobiolin", "impedrezene", "hyperzine", "ethylredoxrazine", - "mindbreaker", "glucose") - var/datum/reagent/R = SSchemistry.chemical_reagents[data] - name = "[initial(name)] ([initial(R.name)])" - -/datum/disease2/effect/chem_synthesis/activate(var/mob/living/carbon/mob,var/multiplier) - if (mob.reagents.get_reagent_amount(data) < 5) - mob.reagents.add_reagent(data, 2) - -/datum/disease2/effect/nonrejection - name = "Genetic Chameleonism" - stage = 3 - -/datum/disease2/effect/nonrejection/activate(var/mob/living/carbon/mob,var/multiplier) - if(istype(mob, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = mob - var/obj/item/organ/internal/O = H.organs_by_name - for (var/organ in H.organs_by_name) - if (O.robotic != ORGAN_ROBOT) - O.rejecting = 0 - - -////////////////////////STAGE 2///////////////////////////////// - -/datum/disease2/effect/scream - name = "Involuntary Vocalization" - stage = 2 - chance_maxm = 10 - -/datum/disease2/effect/scream/activate(var/mob/living/carbon/mob,var/multiplier) - mob.say("*scream") - -/datum/disease2/effect/drowsness - name = "Excessive Sleepiness" - stage = 2 - -/datum/disease2/effect/drowsness/activate(var/mob/living/carbon/mob,var/multiplier) - mob.drowsyness += 10 - -/datum/disease2/effect/sleepy - name = "Narcolepsy" - stage = 2 - chance_maxm = 15 - -/datum/disease2/effect/sleepy/activate(var/mob/living/carbon/mob,var/multiplier) - mob.say("*collapse") - -/datum/disease2/effect/blind - name = "Vision Loss" - stage = 2 - -/datum/disease2/effect/blind/activate(var/mob/living/carbon/mob,var/multiplier) - mob.SetBlinded(4) - -/datum/disease2/effect/cough - name = "Severe Cough" - stage = 2 - chance_maxm = 20 - -/datum/disease2/effect/cough/activate(var/mob/living/carbon/mob,var/multiplier) - if(prob(60)) - mob.say("*cough") - for(var/mob/living/carbon/M in oview(2,mob)) - mob.spread_disease_to(M) - else - to_chat(mob, "Something gets caught in your throat.") - -/datum/disease2/effect/hungry - name = "Digestive Inefficiency" - stage = 2 - -/datum/disease2/effect/hungry/activate(var/mob/living/carbon/mob,var/multiplier) - mob.adjust_nutrition(-200) - -/datum/disease2/effect/fridge - name = "Reduced Circulation" - stage = 2 - chance_maxm = 25 - -/datum/disease2/effect/fridge/activate(var/mob/living/carbon/mob,var/multiplier) - mob.say("*shiver") - -/datum/disease2/effect/hair - name = "Hair Loss" - stage = 2 - -/datum/disease2/effect/hair/activate(var/mob/living/carbon/mob,var/multiplier) - if(istype(mob, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = mob - if(H.species.name == SPECIES_HUMAN && !(H.h_style == "Bald") && !(H.h_style == "Balding Hair")) - to_chat(H, "Your hair starts to fall out in clumps...") - spawn(50) - H.h_style = "Balding Hair" - H.update_hair() - -/datum/disease2/effect/stimulant - name = "Overactive Adrenal Gland" - stage = 2 - -/datum/disease2/effect/stimulant/activate(var/mob/living/carbon/mob,var/multiplier) - to_chat(mob, "You feel a rush of energy inside you!") - if (mob.reagents.get_reagent_amount("hyperzine") < 10) - mob.reagents.add_reagent("hyperzine", 4) - if (prob(30)) - mob.jitteriness += 10 - -/datum/disease2/effect/ringing - name = "Tinnitus" - stage = 2 - chance_maxm = 25 - -/datum/disease2/effect/ringing/activate(var/mob/living/carbon/mob,var/multiplier) - if(istype(mob, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = mob - to_chat(H, "You hear an awful ringing in your ears.") - H << 'sound/weapons/flash.ogg' - -/datum/disease2/effect/vomiting - name = "Vomiting" - stage = 2 - chance_maxm = 15 - -/datum/disease2/effect/vomiting/activate(var/mob/living/carbon/mob,var/multiplier) - to_chat(mob, "Your stomach churns!") - if (prob(50)) - mob.say("*vomit") - -////////////////////////STAGE 1///////////////////////////////// - -/datum/disease2/effect/sneeze - name = "Sneezing" - stage = 1 - chance_maxm = 20 - -/datum/disease2/effect/sneeze/activate(var/mob/living/carbon/mob,var/multiplier) - if(prob(20)) - to_chat(mob, "You go to sneeze, but it gets caught in your sinuses!") - else if(prob(80)) - if(prob(30)) - to_chat(mob, "You feel like you are about to sneeze!") - spawn(5) //Sleep may have been hanging Mob controller. - mob.say("*sneeze") - for(var/mob/living/carbon/M in get_step(mob,mob.dir)) - mob.spread_disease_to(M) - if (prob(50)) - var/obj/effect/decal/cleanable/mucus/M = new(get_turf(mob)) - M.virus2 = virus_copylist(mob.virus2) - -/datum/disease2/effect/gunck - name = "Mucus Buildup" - stage = 1 - -/datum/disease2/effect/gunck/activate(var/mob/living/carbon/mob,var/multiplier) - to_chat(mob, "Mucous runs down the back of your throat.") - -/datum/disease2/effect/drool - name = "Salivary Gland Stimulation" - stage = 1 - chance_maxm = 15 - -/datum/disease2/effect/drool/activate(var/mob/living/carbon/mob,var/multiplier) - mob.say("*drool") - if (prob(30)) - var/obj/effect/decal/cleanable/mucus/M = new(get_turf(mob)) - M.virus2 = virus_copylist(mob.virus2) - -/datum/disease2/effect/twitch - name = "Involuntary Twitching" - stage = 1 - chance_maxm = 15 - -/datum/disease2/effect/twitch/activate(var/mob/living/carbon/mob,var/multiplier) - mob.say("*twitch") - -/datum/disease2/effect/headache - name = "Headache" - stage = 1 - -/datum/disease2/effect/headache/activate(var/mob/living/carbon/mob,var/multiplier) - to_chat(mob, "Your head hurts a bit.") diff --git a/code/modules/virus2/effect_vr.dm b/code/modules/virus2/effect_vr.dm deleted file mode 100644 index eee9d2da8a3..00000000000 --- a/code/modules/virus2/effect_vr.dm +++ /dev/null @@ -1,63 +0,0 @@ -/////////////////////////////////////////////// -/////////////////// Stage 1 /////////////////// - -/datum/disease2/effect/mlem - name = "Mlemington's Syndrome" - stage = 1 - chance_maxm = 25 - -/datum/disease2/effect/mlem/activate(var/mob/living/carbon/mob,var/multiplier) - mob.say("[pick("Mlem.","MLEM!","Mlem?")]") - -/datum/disease2/effect/spin - name = "Spyndrome" - stage = 1 - chance_maxm = 7 - var/list/directions = list(2,4,1,8,2,4,1,8,2,4,1,8,2,4,1,8,2,4,1,8) - -/datum/disease2/effect/spin/activate(var/mob/living/carbon/mob,var/multiplier) - if(mob.buckled()) - to_chat(viewers(mob),"[mob.name] struggles violently against their restraints!") - else - to_chat(viewers(mob),"[mob.name] spins around violently!") - for(var/D in directions) - mob.dir = D - sleep(1) - mob.dir = pick(2,4,1,8) //For that added annoyance - -/////////////////////////////////////////////// -/////////////////// Stage 2 /////////////////// - -/datum/disease2/effect/lang - name = "Lingual Dissocation" - stage = 2 - chance_maxm = 2 - -/datum/disease2/effect/lang/activate(var/mob/living/carbon/mob,var/multiplier) - mob.set_default_language(pick(mob.languages)) - -/////////////////////////////////////////////// -/////////////////// Stage 3 /////////////////// - -/datum/disease2/effect/size - name = "Mass Revectoring" - stage = 3 - chance_maxm = 1 - -/datum/disease2/effect/size/activate(var/mob/living/carbon/mob,var/multiplier) - var/newsize = rand (25, 200) - mob.resize(newsize/100) - to_chat(viewers(mob),"[mob.name] suddenly changes size!") - -/datum/disease2/effect/flip - name = "Flipponov's Disease" - stage = 3 - chance_maxm = 5 - -/datum/disease2/effect/flip/activate(var/mob/living/carbon/mob,var/multiplier) //Remind me why mob is carbon...? - if(ishuman(mob)) - var/mob/living/carbon/human/H = mob - H.emote("flip") - else - to_chat(viewers(mob),"[mob.name] does a backflip!") - mob.SpinAnimation(7,1) diff --git a/code/modules/virus2/helpers.dm b/code/modules/virus2/helpers.dm deleted file mode 100644 index 053498042ef..00000000000 --- a/code/modules/virus2/helpers.dm +++ /dev/null @@ -1,181 +0,0 @@ -//Returns 1 if mob can be infected, 0 otherwise. -/proc/infection_check(var/mob/living/carbon/M, var/vector = "Airborne") - if (!istype(M)) - return 0 - - var/mob/living/carbon/human/H = M - if(istype(H) && H.species.get_virus_immune(H)) - return 0 - - var/protection = M.getarmor(null, "bio") //gets the full body bio armour value, weighted by body part coverage. - var/score = round(0.06*protection) //scales 100% protection to 6. - - switch(vector) - if("Airborne") - if(M.internal) //not breathing infected air helps greatly - return 0 - var/obj/item/I = M.wear_mask - //masks provide a small bonus and can replace overall bio protection - if(I) - score = max(score, round(0.06*I.armor["bio"])) - if (istype(I, /obj/item/clothing/mask)) - score += 1 //this should be added after - - if("Contact") - if(istype(H)) - //gloves provide a larger bonus - if (istype(H.gloves, /obj/item/clothing/gloves)) - score += 2 - - if(score >= 6) - return 0 - else if(score >= 5 && prob(99)) - return 0 - else if(score >= 4 && prob(95)) - return 0 - else if(score >= 3 && prob(75)) - return 0 - else if(score >= 2 && prob(55)) - return 0 - else if(score >= 1 && prob(35)) - return 0 - return 1 - -//Similar to infection check, but used for when M is spreading the virus. -/proc/infection_spreading_check(var/mob/living/carbon/M, var/vector = "Airborne") - if (!istype(M)) - return 0 - - var/protection = M.getarmor(null, "bio") //gets the full body bio armour value, weighted by body part coverage. - - if (vector == "Airborne") - var/obj/item/I = M.wear_mask - if (istype(I)) - protection = max(protection, I.armor["bio"]) - - return prob(protection) - -//Checks if table-passing table can reach target (5 tile radius) -/proc/airborne_can_reach(turf/source, turf/target) - var/obj/dummy = new(source) - dummy.pass_flags = PASSTABLE - - for(var/i=0, i<5, i++) if(!step_towards(dummy, target)) break - - var/rval = dummy.Adjacent(target) - dummy.loc = null - dummy = null - return rval - -//Attemptes to infect mob M with virus. Set forced to 1 to ignore protective clothnig -/proc/infect_virus2(var/mob/living/carbon/M,var/datum/disease2/disease/disease,var/forced = 0) - if(!istype(disease)) -// log_debug("Bad virus") - return - if(!istype(M)) -// log_debug("Bad mob") - return - if ("[disease.uniqueID]" in M.virus2) - return - // if one of the antibodies in the mob's body matches one of the disease's antigens, don't infect - var/list/antibodies_in_common = M.antibodies & disease.antigen - if(antibodies_in_common.len) - return - if(M.chem_effects[CE_ANTIBIOTIC]) - if(prob(disease.resistance)) - var/datum/disease2/disease/D = disease.getcopy() - D.minormutate() - D.resistance += rand(1,9) -// log_debug("Adding virus") - M.virus2["[D.uniqueID]"] = D - BITSET(M.hud_updateflag, STATUS_HUD) - else - return //Virus prevented by antibiotics - - if(!disease.affected_species.len) - return - - if (!(M.species.get_bodytype() in disease.affected_species)) - if (forced) - disease.affected_species[1] = M.species.get_bodytype() - else - return //not compatible with this species - -// log_debug("Infecting [M]") - - if(forced || (infection_check(M, disease.spreadtype) && prob(disease.infectionchance))) - var/datum/disease2/disease/D = disease.getcopy() - D.minormutate() -// log_debug("Adding virus") - M.virus2["[D.uniqueID]"] = D - BITSET(M.hud_updateflag, STATUS_HUD) - - -//Infects mob M with disease D -/proc/infect_mob(var/mob/living/carbon/M, var/datum/disease2/disease/D) - infect_virus2(M,D,1) - M.hud_updateflag |= 1 << STATUS_HUD - -//Infects mob M with random lesser disease, if he doesn't have one -/proc/infect_mob_random_lesser(var/mob/living/carbon/M) - var/datum/disease2/disease/D = new /datum/disease2/disease - - D.makerandom(1) - infect_mob(M, D) - -//Infects mob M with random greated disease, if he doesn't have one -/proc/infect_mob_random_greater(var/mob/living/carbon/M) - var/datum/disease2/disease/D = new /datum/disease2/disease - - D.makerandom(2) - infect_mob(M, D) - -//Fancy prob() function. -/proc/dprob(var/p) - return(prob(sqrt(p)) && prob(sqrt(p))) - -/mob/living/carbon/proc/spread_disease_to(var/mob/living/carbon/victim, var/vector = "Airborne") - if (src == victim) - return "Neurodegeneration" - -// log_debug("Spreading [vector] diseases from [src] to [victim]") - if (virus2.len > 0) - for (var/ID in virus2) -// log_debug("Attempting virus [ID]") - var/datum/disease2/disease/V = virus2[ID] - if(V.spreadtype != vector) continue - - //It's hard to get other people sick if you're in an airtight suit. - if(!infection_spreading_check(src, V.spreadtype)) continue - - if (vector == "Airborne") - if(airborne_can_reach(get_turf(src), get_turf(victim))) -// log_debug("In range, infecting") - infect_virus2(victim,V) -// else -// log_debug("Could not reach target") - - if (vector == "Contact") - if (Adjacent(victim)) -// log_debug("In range, infecting") - infect_virus2(victim,V) - - //contact goes both ways - if (victim.virus2.len > 0 && vector == "Contact" && Adjacent(victim)) -// log_debug("Spreading [vector] diseases from [victim] to [src]") - var/nudity = 1 - - if (ishuman(victim)) - var/mob/living/carbon/human/H = victim - var/obj/item/organ/external/select_area = H.get_organ(src.zone_sel.selecting) - var/list/clothes = list(H.head, H.wear_mask, H.wear_suit, H.w_uniform, H.gloves, H.shoes) - for(var/obj/item/clothing/C in clothes) - if(C && istype(C)) - if(C.body_parts_covered & select_area.body_part) - nudity = 0 - if (nudity) - for (var/ID in victim.virus2) - var/datum/disease2/disease/V = victim.virus2[ID] - if(V && V.spreadtype != vector) continue - if(!infection_spreading_check(victim, V.spreadtype)) continue - infect_virus2(src,V) diff --git a/code/modules/virus2/isolator.dm b/code/modules/virus2/isolator.dm deleted file mode 100644 index 59a5ff81c3e..00000000000 --- a/code/modules/virus2/isolator.dm +++ /dev/null @@ -1,211 +0,0 @@ -/obj/machinery/disease2/isolator/ - name = "pathogenic isolator" - desc = "Used to isolate and identify diseases, allowing for comparison with a remote database." - density = TRUE - anchored = TRUE - icon = 'icons/obj/virology_vr.dmi' //VOREStation Edit - icon_state = "isolator" - var/isolating = 0 - var/datum/disease2/disease/virus2 = null - var/obj/item/weapon/reagent_containers/syringe/sample = null - -/obj/machinery/disease2/isolator/update_icon() - if (stat & (BROKEN|NOPOWER)) - icon_state = "isolator" - return - - if (isolating) - icon_state = "isolator_processing" - else if (sample) - icon_state = "isolator_in" - else - icon_state = "isolator" - -/obj/machinery/disease2/isolator/attackby(var/obj/O as obj, var/mob/user) - if(default_unfasten_wrench(user, O, 20)) - return - - else if(!istype(O,/obj/item/weapon/reagent_containers/syringe)) return - var/obj/item/weapon/reagent_containers/syringe/S = O - - if(sample) - to_chat(user, "\The [src] is already loaded.") - return - - sample = S - user.drop_item() - S.loc = src - - user.visible_message("[user] adds \a [O] to \the [src]!", "You add \a [O] to \the [src]!") - SStgui.update_uis(src) - update_icon() - - src.attack_hand(user) - -/obj/machinery/disease2/isolator/attack_hand(mob/user as mob) - if(stat & (NOPOWER|BROKEN)) - return - tgui_interact(user) - -/obj/machinery/disease2/isolator/tgui_interact(mob/user, datum/tgui/ui) - ui = SStgui.try_update_ui(user, src, ui) - if(!ui) - ui = new(user, src, "PathogenicIsolator", name) - ui.open() - - -/obj/machinery/disease2/isolator/tgui_data(mob/user) - var/list/data = list() - data["syringe_inserted"] = !!sample - data["isolating"] = isolating - data["pathogen_pool"] = null - data["can_print"] = !isolating - - var/list/pathogen_pool = list() - if(sample) - for(var/datum/reagent/blood/B in sample.reagents.reagent_list) - var/list/virus = B.data["virus2"] - for (var/ID in virus) - var/datum/disease2/disease/V = virus[ID] - var/datum/data/record/R = null - if (ID in virusDB) - R = virusDB[ID] - - var/mob/living/carbon/human/D = B.data["donor"] - pathogen_pool.Add(list(list(\ - "name" = "[istype(D) ? "[D.get_species()] " : ""][B.name]", \ - "dna" = B.data["blood_DNA"], \ - "unique_id" = V.uniqueID, \ - "reference" = "\ref[V]", \ - "is_in_database" = !!R, \ - "record" = "\ref[R]"))) - data["pathogen_pool"] = pathogen_pool - - var/list/db = list() - for(var/ID in virusDB) - var/datum/data/record/r = virusDB[ID] - db.Add(list(list("name" = r.fields["name"], "record" = "\ref[r]"))) - data["database"] = db - data["modal"] = tgui_modal_data(src) - return data - -/obj/machinery/disease2/isolator/process() - if (isolating > 0) - isolating -= 1 - if (isolating == 0) - if (virus2) - var/obj/item/weapon/virusdish/d = new /obj/item/weapon/virusdish(src.loc) - d.virus2 = virus2.getcopy() - virus2 = null - ping("\The [src] pings, \"Viral strain isolated.\"") - - SStgui.update_uis(src) - update_icon() - -/obj/machinery/disease2/isolator/tgui_act(action, list/params) - if(..()) - return TRUE - - var/mob/user = usr - add_fingerprint(user) - - . = TRUE - switch(tgui_modal_act(src, action, params)) - if(TGUI_MODAL_ANSWER) - return - - switch(action) - if("view_entry") - var/datum/data/record/v = locate(params["vir"]) - if(!istype(v)) - return FALSE - tgui_modal_message(src, "virus", "", null, v.fields["tgui_description"]) - return TRUE - - if("print") - print(user, params) - return TRUE - - if("isolate") - var/datum/disease2/disease/V = locate(params["isolate"]) - if (V) - virus2 = V - isolating = 20 - update_icon() - return TRUE - - if("eject") - if(!sample) - return FALSE - sample.forceMove(loc) - sample = null - update_icon() - return TRUE - -/obj/machinery/disease2/isolator/proc/print(mob/user, list/params) - var/obj/item/weapon/paper/P = new /obj/item/weapon/paper(loc) - - switch(params["type"]) - if("patient_diagnosis") - if (!sample) return - P.name = "paper - Patient Diagnostic Report" - P.info = {" - [virology_letterhead("Patient Diagnostic Report")] -
      CONFIDENTIAL MEDICAL REPORT

      - Sample: [sample.name]
      -"} - - if (user) - P.info += "Generated By: [user.name]
      " - - P.info += "
      " - - for(var/datum/reagent/blood/B in sample.reagents.reagent_list) - var/mob/living/carbon/human/D = B.data["donor"] - P.info += "[D.get_species()] [B.name]:
      [B.data["blood_DNA"]]
      " - - var/list/virus = B.data["virus2"] - P.info += "Pathogens:
      " - if (virus.len > 0) - for (var/ID in virus) - var/datum/disease2/disease/V = virus[ID] - P.info += "[V.name()]
      " - else - P.info += "None
      " - - P.info += {" -
      - Additional Notes:  -"} - - if("virus_list") - P.name = "paper - Virus List" - P.info = {" - [virology_letterhead("Virus List")] -"} - - var/i = 0 - for (var/ID in virusDB) - i++ - var/datum/data/record/r = virusDB[ID] - P.info += "[i]. " + r.fields["name"] - P.info += "
      " - - P.info += {" -
      - Additional Notes:  -"} - - if("virus_record") - var/datum/data/record/v = locate(params["vir"]) - if(!istype(v)) - return FALSE - P.name = "paper - Viral Profile" - P.info = {" - [virology_letterhead("Viral Profile")] - [v.fields["description"]] -
      - Additional Notes:  -"} - - state("The nearby computer prints out a report.") diff --git a/code/modules/virus2/items_devices.dm b/code/modules/virus2/items_devices.dm deleted file mode 100644 index 358b88845fd..00000000000 --- a/code/modules/virus2/items_devices.dm +++ /dev/null @@ -1,114 +0,0 @@ -///////////////ANTIBODY SCANNER/////////////// - -/obj/item/device/antibody_scanner - name = "antibody scanner" - desc = "Scans living beings for antibodies in their blood." - icon = 'icons/obj/device_vr.dmi' - icon_state = "antibody" - w_class = ITEMSIZE_SMALL - item_state = "electronic" - -/obj/item/device/antibody_scanner/attack(mob/M as mob, mob/user as mob) - if(!istype(M,/mob/living/carbon/)) - report("Scan aborted: Incompatible target.", user) - return - - var/mob/living/carbon/C = M - if (istype(C,/mob/living/carbon/human/)) - var/mob/living/carbon/human/H = C - if(!H.should_have_organ(O_HEART)) - report("Scan aborted: The target does not have blood.", user) - return - - if(!C.antibodies.len) - report("Scan Complete: No antibodies detected.", user) - return - - if (CLUMSY in user.mutations && prob(50)) - // I was tempted to be really evil and rot13 the output. - report("Antibodies detected: [reverse_text(antigens2string(C.antibodies))]", user) - else - report("Antibodies detected: [antigens2string(C.antibodies)]", user) - -/obj/item/device/antibody_scanner/proc/report(var/text, mob/user as mob) - to_chat(user, "[span_blue("[icon2html(src, user.client)] \The [src] beeps,")] \"[span_blue("[text]")]\"") - -///////////////VIRUS DISH/////////////// - -/obj/item/weapon/virusdish - name = "virus dish" - icon = 'icons/obj/items.dmi' - icon_state = "virussample" - var/datum/disease2/disease/virus2 = null - var/growth = 0 - var/basic_info = null - var/info = 0 - var/analysed = 0 - -/obj/item/weapon/virusdish/random - name = "virus sample" - -/obj/item/weapon/virusdish/random/New() - ..() - src.virus2 = new /datum/disease2/disease - src.virus2.makerandom() - growth = rand(5, 50) - -/obj/item/weapon/virusdish/attackby(var/obj/item/weapon/W as obj,var/mob/living/carbon/user as mob) - if(istype(W,/obj/item/weapon/hand_labeler) || istype(W,/obj/item/weapon/reagent_containers/syringe)) - //VOREstation edit - Actually functional virus dishes - // Originally this returns, THEN calls ..() instead of returning the value of ..() - return ..() - //VOREstation edit end - if(prob(50)) - to_chat(user, "\The [src] shatters!") - if(virus2.infectionchance > 0) - for(var/mob/living/carbon/target in view(1, get_turf(src))) - if(airborne_can_reach(get_turf(src), get_turf(target))) - infect_virus2(target, src.virus2) - qdel(src) - -/obj/item/weapon/virusdish/examine(mob/user) - . = ..() - if(basic_info) - . += "[basic_info] : More Information" - -/obj/item/weapon/virusdish/Topic(href, href_list) - . = ..() - if(.) return 1 - - if(href_list["info"]) - usr << browse(info, "window=info_\ref[src]") - return 1 - -/obj/item/weapon/ruinedvirusdish - name = "ruined virus sample" - icon = 'icons/obj/items.dmi' - icon_state = "virussample-ruined" - desc = "The bacteria in the dish are completely dead." - -/obj/item/weapon/ruinedvirusdish/attackby(var/obj/item/weapon/W as obj,var/mob/living/carbon/user as mob) - if(istype(W,/obj/item/weapon/hand_labeler) || istype(W,/obj/item/weapon/reagent_containers/syringe)) - return ..() - - if(prob(50)) - to_chat(user, "\The [src] shatters!") - qdel(src) - -///////////////GNA DISK/////////////// - -/obj/item/weapon/diseasedisk - name = "blank GNA disk" - icon = 'icons/obj/cloning.dmi' - icon_state = "datadisk0" - w_class = ITEMSIZE_TINY - var/datum/disease2/effectholder/effect = null - var/list/species = null - var/stage = 1 - var/analysed = 1 - -/obj/item/weapon/diseasedisk/premade/New() - name = "blank GNA disk (stage: [stage])" - effect = new /datum/disease2/effectholder - effect.effect = new /datum/disease2/effect/invisible - effect.stage = stage diff --git a/code/modules/vore/chat_healthbars.dm b/code/modules/vore/chat_healthbars.dm index 203df0b0b81..15d45a22999 100644 --- a/code/modules/vore/chat_healthbars.dm +++ b/code/modules/vore/chat_healthbars.dm @@ -1,12 +1,71 @@ //Health bars in the game window would be pretty challenging and I don't know how to do that, so I thought this would be a good alternative +// Generates the progress bar text +/proc/chat_progress_bar(percentage, add_color = FALSE) + switch(percentage) + if(100) + . = "|â–“â–“â–“â–“â–“â–“â–“â–“â–“â–“|" + if(95 to 99) + . = "|â–“â–“â–“â–“â–“â–“â–“â–“â–“â–’|" + if(90 to 94) + . = "|â–“â–“â–“â–“â–“â–“â–“â–“â–“â–‘|" + if(85 to 89) + . = "|â–“â–“â–“â–“â–“â–“â–“â–“â–’â–‘|" + if(80 to 84) + . = "|â–“â–“â–“â–“â–“â–“â–“â–“â–‘â–‘|" + if(75 to 79) + . = "|â–“â–“â–“â–“â–“â–“â–“â–’â–‘â–‘|" + if(70 to 74) + . = "|â–“â–“â–“â–“â–“â–“â–“â–‘â–‘â–‘|" + if(65 to 69) + . = "|â–“â–“â–“â–“â–“â–“â–’â–‘â–‘â–‘|" + if(60 to 64) + . = "|â–“â–“â–“â–“â–“â–“â–‘â–‘â–‘â–‘|" + if(55 to 59) + . = "|â–“â–“â–“â–“â–“â–’â–‘â–‘â–‘â–‘|" + if(50 to 54) + . = "|â–“â–“â–“â–“â–“â–‘â–‘â–‘â–‘â–‘|" + if(45 to 49) + . = "|â–“â–“â–“â–“â–’â–‘â–‘â–‘â–‘â–‘|" + if(40 to 44) + . = "|â–“â–“â–“â–“â–‘â–‘â–‘â–‘â–‘â–‘|" + if(35 to 39) + . = "|â–“â–“â–“â–’â–‘â–‘â–‘â–‘â–‘â–‘|" + if(30 to 34) + . = "|â–“â–“â–“â–‘â–‘â–‘â–‘â–‘â–‘â–‘|" + if(25 to 29) + . = "|â–“â–“â–’â–‘â–‘â–‘â–‘â–‘â–‘â–‘|" + if(20 to 24) + . = "|â–“â–“â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘|" + if(15 to 19) + . = "|â–“â–’â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘|" + if(10 to 14) + . = "|â–“â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘|" + if(5 to 9) + . = "|â–’â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘|" + if(0) + . = "|â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘|" + else + . = "!â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘!" + + if(add_color) + switch(percentage) + if(75 to 100) + . = span_green(.) + if(50 to 75) + . = span_yellow(.) + if(25 to 50) + . = span_orange(.) + else + . = span_red(.) + /mob/living/proc/chat_healthbar(var/mob/living/reciever, onExamine = FALSE, override = FALSE) if(!reciever) //No one to send it to, don't bother return if(!reciever.client) //No one is home, don't bother return if(!override) //Did the person push the verb? Ignore the pref - if(!reciever.client.is_preference_enabled(/datum/client_preference/vore_health_bars)) + if(!reciever.client.prefs?.read_preference(/datum/preference/toggle/vore_health_bars)) return var/ourpercent = 0 @@ -26,62 +85,17 @@ ourpercent = round(ourpercent) - switch(ourpercent) //I thought about trying to do this in a more automated way but my brain isn't very large so enjoy my stupid switch statement - if(100) - ourbar = "|â–“â–“â–“â–“â–“â–“â–“â–“â–“â–“|" - if(95 to 99) - ourbar = "|â–“â–“â–“â–“â–“â–“â–“â–“â–“â–’|" - if(90 to 94) - ourbar = "|â–“â–“â–“â–“â–“â–“â–“â–“â–“â–‘|" - if(85 to 89) - ourbar = "|â–“â–“â–“â–“â–“â–“â–“â–“â–’â–‘|" - if(80 to 84) - ourbar = "|â–“â–“â–“â–“â–“â–“â–“â–“â–‘â–‘|" - if(75 to 79) - ourbar = "|â–“â–“â–“â–“â–“â–“â–“â–’â–‘â–‘|" - if(70 to 74) - ourbar = "|â–“â–“â–“â–“â–“â–“â–“â–‘â–‘â–‘|" - if(65 to 69) - ourbar = "|â–“â–“â–“â–“â–“â–“â–’â–‘â–‘â–‘|" - if(60 to 64) - ourbar = "|â–“â–“â–“â–“â–“â–“â–‘â–‘â–‘â–‘|" - if(55 to 59) - ourbar = "|â–“â–“â–“â–“â–“â–’â–‘â–‘â–‘â–‘|" - if(50 to 54) - ourbar = "|â–“â–“â–“â–“â–“â–‘â–‘â–‘â–‘â–‘|" - if(45 to 49) - ourbar = "|â–“â–“â–“â–“â–’â–‘â–‘â–‘â–‘â–‘|" - if(40 to 44) - ourbar = "|â–“â–“â–“â–“â–‘â–‘â–‘â–‘â–‘â–‘|" - if(35 to 39) - ourbar = "|â–“â–“â–“â–’â–‘â–‘â–‘â–‘â–‘â–‘|" - if(30 to 34) - ourbar = "|â–“â–“â–“â–‘â–‘â–‘â–‘â–‘â–‘â–‘|" - if(25 to 29) - ourbar = "|â–“â–“â–’â–‘â–‘â–‘â–‘â–‘â–‘â–‘|" - if(20 to 24) - ourbar = "|â–“â–“â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘|" - if(15 to 19) - ourbar = "|â–“â–’â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘|" - if(10 to 14) - ourbar = "|â–“â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘|" - if(5 to 9) - ourbar = "|â–’â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘|" - if(0) - ourbar = "|â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘|" - else - ourbar = "!â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘â–‘!" - + ourbar = chat_progress_bar(ourpercent, FALSE) ourbar = "[ourbar] [which_var] - [src.name]" if(stat == UNCONSCIOUS) - ourbar = "[ourbar] - [span_orange("UNCONSCIOUS")]" + ourbar = "[ourbar] - [span_orange(span_bold("UNCONSCIOUS"))]" else if(stat == DEAD) - ourbar = "[ourbar] - [span_red("DEAD")]" + ourbar = "[ourbar] - [span_red(span_bold("DEAD"))]" if(absorbed) ourbar = span_purple("[ourbar] - ABSORBED") //Absorb is a little funny, I didn't want it to say 'absorbing ABSORBED' so we did it different else if(ourpercent > 99 && digest_mode == DM_HEAL) - ourbar = span_green("[ourbar] - [digest_mode]ed") + ourbar = span_green(span_bold("[ourbar] - [digest_mode]ed")) else if(ourpercent > 75) ourbar = span_green("[ourbar] - [digest_mode]ing") else if(ourpercent > 50) @@ -91,18 +105,28 @@ else if(ourpercent > 0) ourbar = span_red("[ourbar] - [digest_mode]ing") else - ourbar = span_red("[ourbar] - [digest_mode]ed") + ourbar = span_red(span_bold("[ourbar] - [digest_mode]ed")) if(onExamine) - to_chat(reciever,"[ourbar]") + to_chat(reciever,span_notice("[ourbar]")) else - to_chat(reciever,"[ourbar]") + to_chat(reciever,span_vnotice("[ourbar]")) /mob/living/verb/print_healthbars() set name = "Print Prey Healthbars" - set category = "Abilities" + set category = "Abilities.Vore" var/nuffin = TRUE + + var/obj/belly/amprey = src.loc + + if(istype(amprey)) + var/datum/digest_mode/selective/DM_S = GLOB.digest_modes[DM_SELECT] + var/digest_mode = amprey.digest_mode == DM_SELECT ? DM_S.get_selective_mode(amprey, src) : amprey.digest_mode + to_chat(src, span_notice("[digest_mode] - You are in [amprey.owner]'s [amprey.name]:")) + src.chat_healthbar(src, TRUE, TRUE) + nuffin = FALSE + for(var/obj/belly/b in vore_organs) if(!b.contents.len) continue @@ -113,10 +137,10 @@ if(!belly_announce) var/datum/digest_mode/selective/DM_S = GLOB.digest_modes[DM_SELECT] var/digest_mode = b.digest_mode == DM_SELECT ? DM_S.get_selective_mode(b, thing) : b.digest_mode - to_chat(src, "[digest_mode] - Within [b.name]:") //We only want to announce the belly if we found something + to_chat(src, span_notice("[digest_mode] - Within your [b.name]:")) //We only want to announce the belly if we found something belly_announce = TRUE var/mob/living/ourmob = thing ourmob.chat_healthbar(src, TRUE, TRUE) nuffin = FALSE if(nuffin) - to_chat(src, "There are no mobs within any of your bellies to print health bars for.") + to_chat(src, span_warning("There are no mobs within any of your bellies to print health bars for, and you are not in a belly yourself.")) diff --git a/code/modules/vore/eating/belly_import.dm b/code/modules/vore/eating/belly_import.dm new file mode 100644 index 00000000000..d13389b579b --- /dev/null +++ b/code/modules/vore/eating/belly_import.dm @@ -0,0 +1,1186 @@ +/datum/vore_look/proc/import_belly(mob/host) + var/panel_choice = tgui_input_list(usr, "Belly Import", "Pick an option", list("Import all bellies from VRDB","Import one belly from VRDB")) + if(!panel_choice) return + var/pickOne = FALSE + if(panel_choice == "Import one belly from VRDB") + pickOne = TRUE + var/input_file = input(usr,"Please choose a valid VRDB file to import from.","Belly Import") as file + var/input_data + try + input_data = json_decode(file2text(input_file)) + catch(var/exception/e) + tgui_alert_async(usr, "The supplied file contains errors: [e]", "Error!") + return FALSE + + if(!islist(input_data)) + tgui_alert_async(usr, "The supplied file was not a valid VRDB file.", "Error!") + return FALSE + + var/list/valid_names = list() + var/list/valid_lists = list() + var/list/updated = list() + + for(var/list/raw_list in input_data) + if(length(valid_names) >= BELLIES_MAX) break + if(!islist(raw_list)) continue + if(!istext(raw_list["name"])) continue + if(length(raw_list["name"]) > BELLIES_NAME_MAX || length(raw_list["name"]) < BELLIES_NAME_MIN) continue + if(raw_list["name"] in valid_names) continue + for(var/obj/belly/B in host.vore_organs) + if(lowertext(B.name) == lowertext(raw_list["name"])) + updated += raw_list["name"] + break + if(!pickOne && length(host.vore_organs)+length(valid_names)-length(updated) >= BELLIES_MAX) continue + valid_names += raw_list["name"] + valid_lists += list(raw_list) + + if(length(valid_names) == 0) + tgui_alert_async(usr, "The supplied VRDB file does not contain any valid bellies.", "Error!") + return FALSE + + if(pickOne) + var/picked = tgui_input_list(usr, "Belly Import", "Which belly?", valid_names) + if(!picked) return + for(var/B in valid_lists) + if(lowertext(picked) == lowertext(B["name"])) + valid_names = list(picked) + valid_lists = list(B) + break + if(picked in updated) + updated = list(picked) + else + updated = list() + + var/list/alert_msg = list() + if(length(valid_names)-length(updated) > 0) + alert_msg += "add [length(valid_names)-length(updated)] new bell[length(valid_names)-length(updated) == 1 ? "y" : "ies"]" + if(length(updated) > 0) + alert_msg += "update [length(updated)] existing bell[length(updated) == 1 ? "y" : "ies"]. Please make sure you have saved a copy of your existing bellies" + + var/confirm = tgui_alert(host, "WARNING: This will [jointext(alert_msg," and ")]. You can revert the import by using the Reload Prefs button under Preferences as long as you don't Save Prefs. Are you sure?","Import bellies?",list("Yes","Cancel")) + if(confirm != "Yes") return FALSE + + for(var/list/belly_data in valid_lists) + var/obj/belly/new_belly + for(var/obj/belly/existing_belly in host.vore_organs) + if(lowertext(existing_belly.name) == lowertext(belly_data["name"])) + new_belly = existing_belly + break + if(!new_belly && length(host.vore_organs) < BELLIES_MAX) + new_belly = new(host) + new_belly.name = belly_data["name"] + if(!new_belly) continue + + // Controls + if(istext(belly_data["mode"])) + var/new_mode = html_encode(belly_data["mode"]) + if(new_mode in new_belly.digest_modes) + new_belly.digest_mode = new_mode + + if(istext(belly_data["item_mode"])) + var/new_item_mode = html_encode(belly_data["item_mode"]) + if(new_item_mode in new_belly.item_digest_modes) + new_belly.item_digest_mode = new_item_mode + + if(isnum(belly_data["message_mode"])) + var/new_message_mode = belly_data["message_mode"] + if(new_message_mode == 0) + new_belly.message_mode = FALSE + if(new_message_mode == 1) + new_belly.message_mode = TRUE + + if(islist(belly_data["addons"])) + new_belly.mode_flags = 0 + //new_belly.slow_digestion = FALSE // Not implemented on virgo + //new_belly.speedy_mob_processing = FALSE // Not implemented on virgo + STOP_PROCESSING(SSbellies, new_belly) + // STOP_PROCESSING(SSobj, new_belly) // Not implemented on virgo + START_PROCESSING(SSbellies, new_belly) + for(var/addon in belly_data["addons"]) + new_belly.mode_flags += new_belly.mode_flag_list[addon] + /* Not implemented on virgo + switch(addon) + if("Slow Body Digestion") + new_belly.slow_digestion = TRUE + if("TURBO MODE") + new_belly.speedy_mob_processing = TRUE + STOP_PROCESSING(SSbellies, new_belly) + START_PROCESSING(SSobj, new_belly) + */ + + // Descriptions + if(istext(belly_data["desc"])) + var/new_desc = html_encode(belly_data["desc"]) + if(new_desc) + new_desc = readd_quotes(new_desc) + if(length(new_desc) > 0 && length(new_desc) <= BELLIES_DESC_MAX) + new_belly.desc = new_desc + + if(istext(belly_data["absorbed_desc"])) + var/new_absorbed_desc = html_encode(belly_data["absorbed_desc"]) + if(new_absorbed_desc) + new_absorbed_desc = readd_quotes(new_absorbed_desc) + if(length(new_absorbed_desc) > 0 && length(new_absorbed_desc) <= BELLIES_DESC_MAX) + new_belly.absorbed_desc = new_absorbed_desc + + if(istext(belly_data["vore_verb"])) + var/new_vore_verb = html_encode(belly_data["vore_verb"]) + if(new_vore_verb) + new_vore_verb = readd_quotes(new_vore_verb) + if(length(new_vore_verb) >= BELLIES_NAME_MIN && length(new_vore_verb) <= BELLIES_NAME_MAX) + new_belly.vore_verb = new_vore_verb + + if(istext(belly_data["release_verb"])) + var/new_release_verb = html_encode(belly_data["release_verb"]) + if(new_release_verb) + new_release_verb = readd_quotes(new_release_verb) + if(length(new_release_verb) >= BELLIES_NAME_MIN && length(new_release_verb) <= BELLIES_NAME_MAX) + new_belly.release_verb = new_release_verb + + if(islist(belly_data["digest_messages_prey"])) + var/new_digest_messages_prey = sanitize(jointext(belly_data["digest_messages_prey"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_digest_messages_prey) + new_belly.set_messages(new_digest_messages_prey,"dmp", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["digest_messages_owner"])) + var/new_digest_messages_owner = sanitize(jointext(belly_data["digest_messages_owner"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_digest_messages_owner) + new_belly.set_messages(new_digest_messages_owner,"dmo", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["absorb_messages_prey"])) + var/new_absorb_messages_prey = sanitize(jointext(belly_data["absorb_messages_prey"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_absorb_messages_prey) + new_belly.set_messages(new_absorb_messages_prey,"amp", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["absorb_messages_owner"])) + var/new_absorb_messages_owner = sanitize(jointext(belly_data["absorb_messages_owner"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_absorb_messages_owner) + new_belly.set_messages(new_absorb_messages_owner,"amo", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["unabsorb_messages_prey"])) + var/new_unabsorb_messages_prey = sanitize(jointext(belly_data["unabsorb_messages_prey"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_unabsorb_messages_prey) + new_belly.set_messages(new_unabsorb_messages_prey,"uamp", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["unabsorb_messages_owner"])) + var/new_unabsorb_messages_owner = sanitize(jointext(belly_data["unabsorb_messages_owner"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_unabsorb_messages_owner) + new_belly.set_messages(new_unabsorb_messages_owner,"uamo", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["struggle_messages_outside"])) + var/new_struggle_messages_outside = sanitize(jointext(belly_data["struggle_messages_outside"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_struggle_messages_outside) + new_belly.set_messages(new_struggle_messages_outside,"smo", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["struggle_messages_inside"])) + var/new_struggle_messages_inside = sanitize(jointext(belly_data["struggle_messages_inside"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_struggle_messages_inside) + new_belly.set_messages(new_struggle_messages_inside,"smi", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["absorbed_struggle_messages_outside"])) + var/new_absorbed_struggle_messages_outside = sanitize(jointext(belly_data["absorbed_struggle_messages_outside"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_absorbed_struggle_messages_outside) + new_belly.set_messages(new_absorbed_struggle_messages_outside,"asmo", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["absorbed_struggle_messages_inside"])) + var/new_absorbed_struggle_messages_inside = sanitize(jointext(belly_data["absorbed_struggle_messages_inside"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_absorbed_struggle_messages_inside) + new_belly.set_messages(new_absorbed_struggle_messages_inside,"asmi", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["escape_attempt_messages_prey"])) + var/new_escape_attempt_messages_prey = sanitize(jointext(belly_data["escape_attempt_messages_prey"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_escape_attempt_messages_prey) + new_belly.set_messages(new_escape_attempt_messages_prey,"escap", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["escape_attempt_messages_owner"])) + var/new_escape_attempt_messages_owner = sanitize(jointext(belly_data["escape_attempt_messages_owner"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_escape_attempt_messages_owner) + new_belly.set_messages(new_escape_attempt_messages_owner,"escao", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["escape_messages_prey"])) + var/new_escape_messages_prey = sanitize(jointext(belly_data["escape_messages_prey"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_escape_messages_prey) + new_belly.set_messages(new_escape_messages_prey,"escp", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["escape_messages_owner"])) + var/new_escape_messages_owner = sanitize(jointext(belly_data["escape_messages_owner"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_escape_messages_owner) + new_belly.set_messages(new_escape_messages_owner,"esco", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["escape_messages_outside"])) + var/new_escape_messages_outside = sanitize(jointext(belly_data["escape_messages_outside"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_escape_messages_outside) + new_belly.set_messages(new_escape_messages_outside,"escout", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["escape_item_messages_prey"])) + var/new_escape_item_messages_prey = sanitize(jointext(belly_data["escape_item_messages_prey"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_escape_item_messages_prey) + new_belly.set_messages(new_escape_item_messages_prey,"escip", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["escape_item_messages_owner"])) + var/new_escape_item_messages_owner = sanitize(jointext(belly_data["escape_item_messages_owner"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_escape_item_messages_owner) + new_belly.set_messages(new_escape_item_messages_owner,"escio", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["escape_item_messages_outside"])) + var/new_escape_item_messages_outside = sanitize(jointext(belly_data["escape_item_messages_outside"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_escape_item_messages_outside) + new_belly.set_messages(new_escape_item_messages_outside,"esciout", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["escape_fail_messages_prey"])) + var/new_escape_fail_messages_prey = sanitize(jointext(belly_data["escape_fail_messages_prey"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_escape_fail_messages_prey) + new_belly.set_messages(new_escape_fail_messages_prey,"escfp", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["escape_fail_messages_owner"])) + var/new_escape_fail_messages_owner = sanitize(jointext(belly_data["escape_fail_messages_owner"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_escape_fail_messages_owner) + new_belly.set_messages(new_escape_fail_messages_owner,"escfo", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["escape_attempt_absorbed_messages_prey"])) + var/new_escape_attempt_absorbed_messages_prey = sanitize(jointext(belly_data["escape_attempt_absorbed_messages_prey"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_escape_attempt_absorbed_messages_prey) + new_belly.set_messages(new_escape_attempt_absorbed_messages_prey,"aescap", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["escape_attempt_absorbed_messages_owner"])) + var/new_escape_attempt_absorbed_messages_owner = sanitize(jointext(belly_data["escape_attempt_absorbed_messages_owner"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_escape_attempt_absorbed_messages_owner) + new_belly.set_messages(new_escape_attempt_absorbed_messages_owner,"aescao", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["escape_absorbed_messages_prey"])) + var/new_escape_absorbed_messages_prey = sanitize(jointext(belly_data["escape_absorbed_messages_prey"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_escape_absorbed_messages_prey) + new_belly.set_messages(new_escape_absorbed_messages_prey,"aescp", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["escape_absorbed_messages_owner"])) + var/new_escape_absorbed_messages_owner = sanitize(jointext(belly_data["escape_absorbed_messages_owner"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_escape_absorbed_messages_owner) + new_belly.set_messages(new_escape_absorbed_messages_owner,"aesco", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["escape_absorbed_messages_outside"])) + var/new_escape_absorbed_messages_outside = sanitize(jointext(belly_data["escape_absorbed_messages_outside"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_escape_absorbed_messages_outside) + new_belly.set_messages(new_escape_absorbed_messages_outside,"aescout", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["escape_fail_absorbed_messages_prey"])) + var/new_escape_fail_absorbed_messages_prey = sanitize(jointext(belly_data["escape_fail_absorbed_messages_prey"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_escape_fail_absorbed_messages_prey) + new_belly.set_messages(new_escape_fail_absorbed_messages_prey,"aescfp", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["escape_fail_absorbed_messages_owner"])) + var/new_escape_fail_absorbed_messages_owner = sanitize(jointext(belly_data["escape_fail_absorbed_messages_owner"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_escape_fail_absorbed_messages_owner) + new_belly.set_messages(new_escape_fail_absorbed_messages_owner,"aescfo", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["primary_transfer_messages_prey"])) + var/new_primary_transfer_messages_prey = sanitize(jointext(belly_data["primary_transfer_messages_prey"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_primary_transfer_messages_prey) + new_belly.set_messages(new_primary_transfer_messages_prey,"trnspp", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["primary_transfer_messages_owner"])) + var/new_primary_transfer_messages_owner = sanitize(jointext(belly_data["primary_transfer_messages_owner"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_primary_transfer_messages_owner) + new_belly.set_messages(new_primary_transfer_messages_owner,"trnspo", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["secondary_transfer_messages_prey"])) + var/new_secondary_transfer_messages_prey = sanitize(jointext(belly_data["secondary_transfer_messages_prey"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_secondary_transfer_messages_prey) + new_belly.set_messages(new_secondary_transfer_messages_prey,"trnssp", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["secondary_transfer_messages_owner"])) + var/new_secondary_transfer_messages_owner = sanitize(jointext(belly_data["secondary_transfer_messages_owner"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_secondary_transfer_messages_owner) + new_belly.set_messages(new_secondary_transfer_messages_owner,"trnsso", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["primary_autotransfer_messages_prey"])) + var/new_primary_autotransfer_messages_prey = sanitize(jointext(belly_data["primary_autotransfer_messages_prey"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_primary_autotransfer_messages_prey) + new_belly.set_messages(new_primary_autotransfer_messages_prey,"atrnspp", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["primary_autotransfer_messages_owner"])) + var/new_primary_autotransfer_messages_owner = sanitize(jointext(belly_data["primary_autotransfer_messages_owner"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_primary_autotransfer_messages_owner) + new_belly.set_messages(new_primary_autotransfer_messages_owner,"atrnspo", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["secondary_autotransfer_messages_prey"])) + var/new_secondary_autotransfer_messages_prey = sanitize(jointext(belly_data["secondary_autotransfer_messages_prey"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_secondary_autotransfer_messages_prey) + new_belly.set_messages(new_secondary_autotransfer_messages_prey,"atrnssp", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["secondary_autotransfer_messages_owner"])) + var/new_secondary_autotransfer_messages_owner = sanitize(jointext(belly_data["secondary_autotransfer_messages_owner"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_secondary_autotransfer_messages_owner) + new_belly.set_messages(new_secondary_autotransfer_messages_owner,"atrnsso", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["digest_chance_messages_prey"])) + var/new_digest_chance_messages_prey = sanitize(jointext(belly_data["digest_chance_messages_prey"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_digest_chance_messages_prey) + new_belly.set_messages(new_digest_chance_messages_prey,"stmodp", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["digest_chance_messages_owner"])) + var/new_digest_chance_messages_owner = sanitize(jointext(belly_data["digest_chance_messages_owner"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_digest_chance_messages_owner) + new_belly.set_messages(new_digest_chance_messages_owner,"stmodo", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["absorb_chance_messages_prey"])) + var/new_absorb_chance_messages_prey = sanitize(jointext(belly_data["absorb_chance_messages_prey"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_absorb_chance_messages_prey) + new_belly.set_messages(new_absorb_chance_messages_prey,"stmoap", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["absorb_chance_messages_owner"])) + var/new_absorb_chance_messages_owner = sanitize(jointext(belly_data["absorb_chance_messages_owner"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_absorb_chance_messages_owner) + new_belly.set_messages(new_absorb_chance_messages_owner,"stmoao", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["examine_messages"])) + var/new_examine_messages = sanitize(jointext(belly_data["examine_messages"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_examine_messages) + new_belly.set_messages(new_examine_messages,"em", limit = MAX_MESSAGE_LEN / 2) + + if(islist(belly_data["examine_messages_absorbed"])) + var/new_examine_messages_absorbed = sanitize(jointext(belly_data["examine_messages_absorbed"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_examine_messages_absorbed) + new_belly.set_messages(new_examine_messages_absorbed,"ema", limit = MAX_MESSAGE_LEN / 2) + + if(islist(belly_data["emotes_digest"])) + var/new_emotes_digest = sanitize(jointext(belly_data["emotes_digest"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_emotes_digest) + new_belly.set_messages(new_emotes_digest,"im_digest", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["emotes_hold"])) + var/new_emotes_hold = sanitize(jointext(belly_data["emotes_hold"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_emotes_hold) + new_belly.set_messages(new_emotes_hold,"im_hold", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["emotes_holdabsorbed"])) + var/new_emotes_holdabsorbed = sanitize(jointext(belly_data["emotes_holdabsorbed"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_emotes_holdabsorbed) + new_belly.set_messages(new_emotes_holdabsorbed,"im_holdabsorbed", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["emotes_absorb"])) + var/new_emotes_absorb = sanitize(jointext(belly_data["emotes_absorb"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_emotes_absorb) + new_belly.set_messages(new_emotes_absorb,"im_absorb", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["emotes_heal"])) + var/new_emotes_heal = sanitize(jointext(belly_data["emotes_heal"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_emotes_heal) + new_belly.set_messages(new_emotes_heal,"im_heal", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["emotes_drain"])) + var/new_emotes_drain = sanitize(jointext(belly_data["emotes_drain"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_emotes_drain) + new_belly.set_messages(new_emotes_drain,"im_drain", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["emotes_steal"])) + var/new_emotes_steal = sanitize(jointext(belly_data["emotes_steal"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_emotes_steal) + new_belly.set_messages(new_emotes_steal,"im_steal", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["emotes_egg"])) + var/new_emotes_egg = sanitize(jointext(belly_data["emotes_egg"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_emotes_egg) + new_belly.set_messages(new_emotes_egg,"im_egg", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["emotes_shrink"])) + var/new_emotes_shrink = sanitize(jointext(belly_data["emotes_shrink"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_emotes_shrink) + new_belly.set_messages(new_emotes_shrink,"im_shrink", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["emotes_grow"])) + var/new_emotes_grow = sanitize(jointext(belly_data["emotes_grow"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_emotes_grow) + new_belly.set_messages(new_emotes_grow,"im_grow", limit = MAX_MESSAGE_LEN / 4) + + if(islist(belly_data["emotes_unabsorb"])) + var/new_emotes_unabsorb = sanitize(jointext(belly_data["emotes_unabsorb"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0) + if(new_emotes_unabsorb) + new_belly.set_messages(new_emotes_unabsorb,"im_unabsorb", limit = MAX_MESSAGE_LEN / 4) + + // Options + if(isnum(belly_data["can_taste"])) + var/new_can_taste = belly_data["can_taste"] + if(new_can_taste == 0) + new_belly.can_taste = FALSE + if(new_can_taste == 1) + new_belly.can_taste = TRUE + + /* Not implemented on virgo + if(isnum(belly_data["is_feedable"])) + var/new_is_feedable = belly_data["is_feedable"] + if(new_is_feedable == 0) + new_belly.is_feedable = FALSE + if(new_is_feedable == 1) + new_belly.is_feedable = TRUE + */ + + if(isnum(belly_data["contaminates"])) + var/new_contaminates = belly_data["contaminates"] + if(new_contaminates == 0) + new_belly.contaminates = FALSE + if(new_contaminates == 1) + new_belly.contaminates = TRUE + + if(istext(belly_data["contamination_flavor"])) + var/new_contamination_flavor = sanitize(belly_data["contamination_flavor"],MAX_MESSAGE_LEN,0,0,0) + if(new_contamination_flavor) + if(new_contamination_flavor in contamination_flavors) + new_belly.contamination_flavor = new_contamination_flavor + + if(istext(belly_data["contamination_color"])) + var/new_contamination_color = sanitize(belly_data["contamination_color"],MAX_MESSAGE_LEN,0,0,0) + if(new_contamination_color) + if(new_contamination_color in contamination_colors) + new_belly.contamination_color = new_contamination_color + + if(isnum(belly_data["nutrition_percent"])) + var/new_nutrition_percent = belly_data["nutrition_percent"] + new_belly.nutrition_percent = CLAMP(new_nutrition_percent,0.01,100) + + if(isnum(belly_data["bulge_size"])) + var/new_bulge_size = belly_data["bulge_size"] + if(new_bulge_size == 0) + new_belly.bulge_size = 0 + else + new_belly.bulge_size = CLAMP(new_bulge_size,0.25,2) + + if(isnum(belly_data["display_absorbed_examine"])) + var/new_display_absorbed_examine = belly_data["display_absorbed_examine"] + if(new_display_absorbed_examine == 0) + new_belly.display_absorbed_examine = FALSE + if(new_display_absorbed_examine == 1) + new_belly.display_absorbed_examine = TRUE + + if(isnum(belly_data["save_digest_mode"])) + var/new_save_digest_mode = belly_data["save_digest_mode"] + if(new_save_digest_mode == 0) + new_belly.save_digest_mode = FALSE + if(new_save_digest_mode == 1) + new_belly.save_digest_mode = TRUE + + if(isnum(belly_data["emote_active"])) + var/new_emote_active = belly_data["emote_active"] + if(new_emote_active == 0) + new_belly.emote_active = FALSE + if(new_emote_active == 1) + new_belly.emote_active = TRUE + + if(isnum(belly_data["emote_time"])) + var/new_emote_time = belly_data["emote_time"] + new_belly.emote_time = CLAMP(new_emote_time, 60, 600) + + // new_belly.set_zero_digestion_damage() // Not implemented on virgo; needed for importing a belly to overwrite an existing belly; otherwise pre-existing values throw off the unused digestion damage. + + if(isnum(belly_data["digest_brute"])) + var/new_digest_brute = belly_data["digest_brute"] + new_belly.digest_brute = CLAMP(new_digest_brute, 0, 6) + + if(isnum(belly_data["digest_burn"])) + var/new_digest_burn = belly_data["digest_burn"] + new_belly.digest_burn = CLAMP(new_digest_burn, 0, 6) + + if(isnum(belly_data["digest_oxy"])) + var/new_digest_oxy = belly_data["digest_oxy"] + new_belly.digest_oxy = CLAMP(new_digest_oxy, 0, 12) + + if(isnum(belly_data["digest_tox"])) + var/new_digest_tox = belly_data["digest_tox"] + new_belly.digest_tox = CLAMP(new_digest_tox, 0, 6) + + if(isnum(belly_data["digest_clone"])) + var/new_digest_clone = belly_data["digest_clone"] + new_belly.digest_clone = CLAMP(new_digest_clone, 0, 6) + + if(isnum(belly_data["shrink_grow_size"])) + var/new_shrink_grow_size = belly_data["shrink_grow_size"] + new_belly.shrink_grow_size = CLAMP(new_shrink_grow_size, 0.25, 2) + + /* Not implemented on virgo + if(isnum(belly_data["vorespawn_blacklist"])) + var/new_vorespawn_blacklist = belly_data["vorespawn_blacklist"] + if(new_vorespawn_blacklist == 0) + new_belly.vorespawn_blacklist = FALSE + if(new_vorespawn_blacklist == 1) + new_belly.vorespawn_blacklist = TRUE + + if(islist(belly_data["vorespawn_whitelist"])) + var/new_vorespawn_whitelist = splittext(sanitize(lowertext(jointext(belly_data["vorespawn_whitelist"],"\n")),MAX_MESSAGE_LEN,0,0,0),"\n") + new_belly.vorespawn_whitelist = new_vorespawn_whitelist + + if(isnum(belly_data["vorespawn_absorbed"])) + var/new_vorespawn_absorbed = 0 + var/updated_vorespawn_absorbed = belly_data["vorespawn_absorbed"] + if(updated_vorespawn_absorbed & VS_FLAG_ABSORB_YES) + new_vorespawn_absorbed |= VS_FLAG_ABSORB_YES + if(updated_vorespawn_absorbed & VS_FLAG_ABSORB_PREY) + new_vorespawn_absorbed |= VS_FLAG_ABSORB_YES + new_vorespawn_absorbed |= VS_FLAG_ABSORB_PREY + new_belly.vorespawn_absorbed = new_vorespawn_absorbed + */ + + if(istext(belly_data["egg_type"])) + var/new_egg_type = sanitize(belly_data["egg_type"],MAX_MESSAGE_LEN,0,0,0) + if(new_egg_type) + if(new_egg_type in global_vore_egg_types) + new_belly.egg_type = new_egg_type + + /* Not implemented on virgo + if(istext(belly_data["egg_name"])) + var/new_egg_name = html_encode(belly_data["egg_name"]) + if(new_egg_name) + new_egg_name = readd_quotes(new_egg_name) + if(length(new_egg_name) >= BELLIES_NAME_MIN && length(new_egg_name) <= BELLIES_NAME_MAX) + new_belly.egg_name = new_egg_name + + if(istext(belly_data["egg_size"])) + var/new_egg_size = belly_data["egg_size"] + if(new_egg_size == 0) + new_belly.egg_size = 0 + else + new_belly.egg_size = CLAMP(new_egg_size,0.25,2) + + if(isnum(belly_data["recycling"])) + var/new_recycling = belly_data["recycling"] + if(new_recycling == 0) + new_belly.recycling = FALSE + if(new_recycling == 1) + new_belly.recycling = TRUE + + if(isnum(belly_data["storing_nutrition"])) + var/new_storing_nutrition = belly_data["storing_nutrition"] + if(new_storing_nutrition == 0) + new_belly.storing_nutrition = FALSE + if(new_storing_nutrition == 1) + new_belly.storing_nutrition = TRUE + + if(isnum(belly_data["entrance_logs"])) + var/new_entrance_logs = belly_data["entrance_logs"] + if(new_entrance_logs == 0) + new_belly.entrance_logs = FALSE + if(new_entrance_logs == 1) + new_belly.entrance_logs = TRUE + + if(isnum(belly_data["item_digest_logs"])) + var/new_item_digest_logs = belly_data["item_digest_logs"] + if(new_item_digest_logs == 0) + new_belly.item_digest_logs = FALSE + if(new_item_digest_logs == 1) + new_belly.item_digest_logs = TRUE + */ + + if(istext(belly_data["selective_preference"])) + var/new_selective_preference = belly_data["selective_preference"] + if(new_selective_preference == "Digest") + new_belly.selective_preference = DM_DIGEST + if(new_selective_preference == "Absorb") + new_belly.selective_preference = DM_ABSORB + + /* Not implemented on virgo + if(isnum(belly_data["private_struggle"])) + var/new_private_struggle = belly_data["private_struggle"] + if(new_private_struggle == 0) + new_belly.private_struggle = FALSE + if(new_private_struggle == 1) + new_belly.private_struggle = TRUE + */ + + if(istext(belly_data["eating_privacy_local"])) + var/new_eating_privacy_local = html_encode(belly_data["eating_privacy_local"]) + if(new_eating_privacy_local && (new_eating_privacy_local in list("default","subtle","loud"))) + new_belly.eating_privacy_local = new_eating_privacy_local + + // Sounds + if(isnum(belly_data["is_wet"])) + var/new_is_wet = belly_data["is_wet"] + if(new_is_wet == 0) + new_belly.is_wet = FALSE + if(new_is_wet == 1) + new_belly.is_wet = TRUE + + if(isnum(belly_data["wet_loop"])) + var/new_wet_loop = belly_data["wet_loop"] + if(new_wet_loop == 0) + new_belly.wet_loop = FALSE + if(new_wet_loop == 1) + new_belly.wet_loop = TRUE + + if(isnum(belly_data["fancy_vore"])) + var/new_fancy_vore = belly_data["fancy_vore"] + if(new_fancy_vore == 0) + new_belly.fancy_vore = FALSE + if(new_fancy_vore == 1) + new_belly.fancy_vore = TRUE + + if(new_belly.fancy_vore) + if(!(new_belly.vore_sound in fancy_vore_sounds)) + new_belly.vore_sound = "Gulp" + if(!(new_belly.release_sound in fancy_vore_sounds)) + new_belly.release_sound = "Splatter" + else + if(!(new_belly.vore_sound in classic_vore_sounds)) + new_belly.vore_sound = "Gulp" + if(!(new_belly.release_sound in classic_vore_sounds)) + new_belly.release_sound = "Splatter" + + if(istext(belly_data["vore_sound"])) + var/new_vore_sound = sanitize(belly_data["vore_sound"],MAX_MESSAGE_LEN,0,0,0) + if(new_vore_sound) + if (new_belly.fancy_vore && (new_vore_sound in fancy_vore_sounds)) + new_belly.vore_sound = new_vore_sound + if (!new_belly.fancy_vore && (new_vore_sound in classic_vore_sounds)) + new_belly.vore_sound = new_vore_sound + + if(istext(belly_data["release_sound"])) + var/new_release_sound = sanitize(belly_data["release_sound"],MAX_MESSAGE_LEN,0,0,0) + if(new_release_sound) + if (new_belly.fancy_vore && (new_release_sound in fancy_release_sounds)) + new_belly.release_sound = new_release_sound + if (!new_belly.fancy_vore && (new_release_sound in classic_release_sounds)) + new_belly.release_sound = new_release_sound + + /* Not implemented on virgo + if(isnum(belly_data["sound_volume"])) + var/new_sound_volume = belly_data["sound_volume"] + new_belly.sound_volume = sanitize_integer(new_sound_volume, 0, 100, initial(new_belly.sound_volume)) + + if(isnum(belly_data["noise_freq"])) + var/new_noise_freq = belly_data["noise_freq"] + new_belly.noise_freq = sanitize_integer(new_noise_freq, MIN_VOICE_FREQ, MAX_VOICE_FREQ, initial(new_belly.noise_freq)) + */ + + // Visuals + if(isnum(belly_data["affects_vore_sprites"])) + var/new_affects_vore_sprites = belly_data["affects_vore_sprites"] + if(new_affects_vore_sprites == 0) + new_belly.affects_vore_sprites = FALSE + if(new_affects_vore_sprites == 1) + new_belly.affects_vore_sprites = TRUE + + if(islist(belly_data["vore_sprite_flags"])) + new_belly.vore_sprite_flags = 0 + for(var/sprite_flag in belly_data["vore_sprite_flags"]) + new_belly.vore_sprite_flags += new_belly.vore_sprite_flag_list[sprite_flag] + + if(isnum(belly_data["count_absorbed_prey_for_sprite"])) + var/new_count_absorbed_prey_for_sprite = belly_data["count_absorbed_prey_for_sprite"] + if(new_count_absorbed_prey_for_sprite == 0) + new_belly.count_absorbed_prey_for_sprite = FALSE + if(new_count_absorbed_prey_for_sprite == 1) + new_belly.count_absorbed_prey_for_sprite = TRUE + + if(isnum(belly_data["absorbed_multiplier"])) + var/new_absorbed_multiplier = belly_data["absorbed_multiplier"] + new_belly.absorbed_multiplier = CLAMP(new_absorbed_multiplier, 0.1, 3) + + if(isnum(belly_data["count_liquid_for_sprite"])) + var/new_count_liquid_for_sprite = belly_data["count_liquid_for_sprite"] + if(new_count_liquid_for_sprite == 0) + new_belly.count_liquid_for_sprite = FALSE + if(new_count_liquid_for_sprite == 1) + new_belly.count_liquid_for_sprite = TRUE + + if(isnum(belly_data["liquid_multiplier"])) + var/new_liquid_multiplier = belly_data["liquid_multiplier"] + new_belly.liquid_multiplier = CLAMP(new_liquid_multiplier, 0.1, 10) + + if(isnum(belly_data["count_items_for_sprite"])) + var/new_count_items_for_sprite = belly_data["count_items_for_sprite"] + if(new_count_items_for_sprite == 0) + new_belly.count_items_for_sprite = FALSE + if(new_count_items_for_sprite == 1) + new_belly.count_items_for_sprite = TRUE + + if(isnum(belly_data["item_multiplier"])) + var/new_item_multiplier = belly_data["item_multiplier"] + new_belly.item_multiplier = CLAMP(new_item_multiplier, 0.1, 10) + + if(isnum(belly_data["health_impacts_size"])) + var/new_health_impacts_size = belly_data["health_impacts_size"] + if(new_health_impacts_size == 0) + new_belly.health_impacts_size = FALSE + if(new_health_impacts_size == 1) + new_belly.health_impacts_size = TRUE + + if(isnum(belly_data["resist_triggers_animation"])) + var/new_resist_triggers_animation = belly_data["resist_triggers_animation"] + if(new_resist_triggers_animation == 0) + new_belly.resist_triggers_animation = FALSE + if(new_resist_triggers_animation == 1) + new_belly.resist_triggers_animation = TRUE + + if(isnum(belly_data["size_factor_for_sprite"])) + var/new_size_factor_for_sprite = belly_data["size_factor_for_sprite"] + new_belly.size_factor_for_sprite = CLAMP(new_size_factor_for_sprite, 0.1, 3) + + if(istext(belly_data["belly_sprite_to_affect"])) + var/new_belly_sprite_to_affect = sanitize(belly_data["belly_sprite_to_affect"],MAX_MESSAGE_LEN,0,0,0) + if(new_belly_sprite_to_affect) + if(ishuman(host)) + var/mob/living/carbon/human/H = host + if (new_belly_sprite_to_affect in H.vore_icon_bellies) + new_belly.belly_sprite_to_affect = new_belly_sprite_to_affect + + if(istext(belly_data["undergarment_chosen"])) + var/new_undergarment_chosen = sanitize(belly_data["undergarment_chosen"],MAX_MESSAGE_LEN,0,0,0) + if(new_undergarment_chosen) + for(var/datum/category_group/underwear/U in global_underwear.categories) + if(lowertext(U.name) == lowertext(new_undergarment_chosen)) + new_belly.undergarment_chosen = U.name + break + + /* Not implemented on virgo + var/datum/category_group/underwear/UWC = global_underwear.categories_by_name[new_belly.undergarment_chosen] + var/invalid_if_none = TRUE + for(var/datum/category_item/underwear/U in UWC.items) + if(lowertext(U.name) == lowertext(new_belly.undergarment_if_none)) + invalid_if_none = FALSE + break + if(invalid_if_none) + new_belly.undergarment_if_none = null + + if(istext(belly_data["undergarment_if_none"])) + var/new_undergarment_if_none = sanitize(belly_data["undergarment_if_none"],MAX_MESSAGE_LEN,0,0,0) + if(new_undergarment_if_none) + for(var/datum/category_item/underwear/U in UWC.items) + if(lowertext(U.name) == lowertext(new_undergarment_if_none)) + new_belly.undergarment_if_none = U.name + break + + if(istext(belly_data["undergarment_color"])) + var/new_undergarment_color = sanitize_hexcolor(belly_data["undergarment_color"],new_belly.undergarment_color) + new_belly.undergarment_color = new_undergarment_color + */ + /* These don't seem to actually be available yet + if(istext(belly_data["tail_to_change_to"])) + var/new_tail_to_change_to = sanitize(belly_data["tail_to_change_to"],MAX_MESSAGE_LEN,0,0,0) + if(new_tail_to_change_to) + if (new_tail_to_change_to in tail_styles_list) + new_belly.tail_to_change_to = new_tail_to_change_to + + if(istext(belly_data["tail_colouration"])) + var/new_tail_colouration = sanitize_hexcolor(belly_data["tail_colouration"],new_belly.tail_colouration) + new_belly.tail_colouration = new_tail_colouration + + if(istext(belly_data["tail_extra_overlay"])) + var/new_tail_extra_overlay = sanitize_hexcolor(belly_data["tail_extra_overlay"],new_belly.tail_extra_overlay) + new_belly.tail_extra_overlay = new_tail_extra_overlay + + if(istext(belly_data["tail_extra_overlay2"])) + var/new_tail_extra_overlay2 = sanitize_hexcolor(belly_data["tail_extra_overlay2"],new_belly.tail_extra_overlay2) + new_belly.tail_extra_overlay2 = new_tail_extra_overlay2 + */ + if(istext(belly_data["belly_fullscreen_color"])) + var/new_belly_fullscreen_color = sanitize_hexcolor(belly_data["belly_fullscreen_color"],new_belly.belly_fullscreen_color) + new_belly.belly_fullscreen_color = new_belly_fullscreen_color + + if(istext(belly_data["belly_fullscreen_color_secondary"])) + var/new_belly_fullscreen_color_secondary = sanitize_hexcolor(belly_data["belly_fullscreen_color_secondary"],new_belly.belly_fullscreen_color_secondary) + new_belly.belly_fullscreen_color_secondary = new_belly_fullscreen_color_secondary + else if (istext(belly_data["belly_fullscreen_color2"])) // Inter server support between virgo and chomp! + var/new_belly_fullscreen_color_secondary = sanitize_hexcolor(belly_data["belly_fullscreen_color2"],new_belly.belly_fullscreen_color_secondary) + new_belly.belly_fullscreen_color_secondary = new_belly_fullscreen_color_secondary + + if(istext(belly_data["belly_fullscreen_color_trinary"]))// Inter server support between virgo and chomp! + var/new_belly_fullscreen_color_trinary = sanitize_hexcolor(belly_data["belly_fullscreen_color_trinary"],new_belly.belly_fullscreen_color_trinary) + new_belly.belly_fullscreen_color_trinary = new_belly_fullscreen_color_trinary + else if(istext(belly_data["belly_fullscreen_color3"])) + var/new_belly_fullscreen_color_trinary = sanitize_hexcolor(belly_data["belly_fullscreen_color3"],new_belly.belly_fullscreen_color_trinary) + new_belly.belly_fullscreen_color_trinary = new_belly_fullscreen_color_trinary + + /* Not implemented on virgo + if(istext(belly_data["belly_fullscreen_color4"])) + var/new_belly_fullscreen_color4 = sanitize_hexcolor(belly_data["belly_fullscreen_color4"],new_belly.belly_fullscreen_color4) + new_belly.belly_fullscreen_color4 = new_belly_fullscreen_color4 + + if(istext(belly_data["belly_fullscreen_alpha"])) + var/new_belly_fullscreen_alpha = sanitize_integer(belly_data["belly_fullscreen_alpha"],0,255,initial(new_belly.belly_fullscreen_alpha)) + new_belly.belly_fullscreen_alpha = new_belly_fullscreen_alpha + */ + + if(isnum(belly_data["colorization_enabled"])) + var/new_colorization_enabled = belly_data["colorization_enabled"] + if(new_colorization_enabled == 0) + new_belly.colorization_enabled = FALSE + if(new_colorization_enabled == 1) + new_belly.colorization_enabled = TRUE + + if(isnum(belly_data["disable_hud"])) + var/new_disable_hud = belly_data["disable_hud"] + if(new_disable_hud == 0) + new_belly.disable_hud = FALSE + if(new_disable_hud == 1) + new_belly.disable_hud = TRUE + + var/possible_fullscreens = icon_states('icons/mob/screen_full_colorized_vore.dmi') + if(!new_belly.colorization_enabled) + possible_fullscreens = icon_states('icons/mob/screen_full_vore.dmi') + possible_fullscreens -= "a_synth_flesh_mono" + possible_fullscreens -= "a_synth_flesh_mono_hole" + possible_fullscreens -= "a_anim_belly" + if(!(new_belly.belly_fullscreen in possible_fullscreens)) + new_belly.belly_fullscreen = "" + + if(istext(belly_data["belly_fullscreen"])) + var/new_belly_fullscreen = sanitize(belly_data["belly_fullscreen"],MAX_MESSAGE_LEN,0,0,0) + if(new_belly_fullscreen) + if(new_belly_fullscreen in possible_fullscreens) + new_belly.belly_fullscreen = new_belly_fullscreen + + // Interactions + if(isnum(belly_data["escapable"])) + var/new_escapable = belly_data["escapable"] + if(new_escapable == 0) + new_belly.escapable = FALSE + if(new_escapable == 1) + new_belly.escapable = TRUE + + if(isnum(belly_data["escapechance"])) + var/new_escapechance = belly_data["escapechance"] + new_belly.escapechance = sanitize_integer(new_escapechance, 0, 100, initial(new_belly.escapechance)) + + if(isnum(belly_data["escapechance_absorbed"])) + var/new_escapechance_absorbed = belly_data["escapechance_absorbed"] + new_belly.escapechance_absorbed = sanitize_integer(new_escapechance_absorbed, 0, 100, initial(new_belly.escapechance_absorbed)) + + + if(isnum(belly_data["escapetime"])) + var/new_escapetime = belly_data["escapetime"] + new_belly.escapetime = sanitize_integer(new_escapetime*10, 10, 600, initial(new_belly.escapetime)) + + if(isnum(belly_data["transferchance"])) + var/new_transferchance = belly_data["transferchance"] + new_belly.transferchance = sanitize_integer(new_transferchance, 0, 100, initial(new_belly.transferchance)) + + if(istext(belly_data["transferlocation"])) + var/new_transferlocation = sanitize(belly_data["transferlocation"],MAX_MESSAGE_LEN,0,0,0) + if(new_transferlocation) + for(var/obj/belly/existing_belly in host.vore_organs) + if(existing_belly.name == new_transferlocation) + new_belly.transferlocation = new_transferlocation + break + if(new_transferlocation in valid_names) + new_belly.transferlocation = new_transferlocation + if(new_transferlocation == new_belly.name) + new_belly.transferlocation = null + + if(isnum(belly_data["transferchance_secondary"])) + var/new_transferchance_secondary = belly_data["transferchance_secondary"] + new_belly.transferchance_secondary = sanitize_integer(new_transferchance_secondary, 0, 100, initial(new_belly.transferchance_secondary)) + + if(istext(belly_data["transferlocation_secondary"])) + var/new_transferlocation_secondary = sanitize(belly_data["transferlocation_secondary"],MAX_MESSAGE_LEN,0,0,0) + if(new_transferlocation_secondary) + for(var/obj/belly/existing_belly in host.vore_organs) + if(existing_belly.name == new_transferlocation_secondary) + new_belly.transferlocation_secondary = new_transferlocation_secondary + break + if(new_transferlocation_secondary in valid_names) + new_belly.transferlocation_secondary = new_transferlocation_secondary + if(new_transferlocation_secondary == new_belly.name) + new_belly.transferlocation_secondary = null + + /* Not implemented on virgo + if(islist(belly_data["autotransfer_whitelist"])) + new_belly.autotransfer_whitelist = 0 + for(var/at_flag in belly_data["autotransfer_whitelist"]) + new_belly.autotransfer_whitelist += new_belly.autotransfer_flags_list[at_flag] + + if(islist(belly_data["autotransfer_blacklist"])) + new_belly.autotransfer_blacklist = 0 + for(var/at_flag in belly_data["autotransfer_blacklist"]) + new_belly.autotransfer_blacklist += new_belly.autotransfer_flags_list[at_flag] + + if(islist(belly_data["autotransfer_secondary_whitelist"])) + new_belly.autotransfer_secondary_whitelist = 0 + for(var/at_flag in belly_data["autotransfer_secondary_whitelist"]) + new_belly.autotransfer_secondary_whitelist += new_belly.autotransfer_flags_list[at_flag] + + if(islist(belly_data["autotransfer_secondary_blacklist"])) + new_belly.autotransfer_secondary_blacklist = 0 + for(var/at_flag in belly_data["autotransfer_secondary_blacklist"]) + new_belly.autotransfer_secondary_blacklist += new_belly.autotransfer_flags_list[at_flag] + */ + + if(isnum(belly_data["absorbchance"])) + var/new_absorbchance = belly_data["absorbchance"] + new_belly.absorbchance = sanitize_integer(new_absorbchance, 0, 100, initial(new_belly.absorbchance)) + + if(isnum(belly_data["digestchance"])) + var/new_digestchance = belly_data["digestchance"] + new_belly.digestchance = sanitize_integer(new_digestchance, 0, 100, initial(new_belly.digestchance)) + + /* Not implemented on virgo + if(isnum(belly_data["autotransfer_enabled"])) + var/new_autotransfer_enabled = belly_data["autotransfer_enabled"] + if(new_autotransfer_enabled == 0) + new_belly.autotransfer_enabled = FALSE + if(new_autotransfer_enabled == 1) + new_belly.autotransfer_enabled = TRUE + */ + + if(isnum(belly_data["autotransferwait"])) + var/new_autotransferwait = belly_data["autotransferwait"] + new_belly.autotransferwait = sanitize_integer(new_autotransferwait*10, 10, 18000, initial(new_belly.autotransferwait)) + + if(isnum(belly_data["autotransferchance"])) + var/new_autotransferchance = belly_data["autotransferchance"] + new_belly.autotransferchance = sanitize_integer(new_autotransferchance, 0, 100, initial(new_belly.autotransferchance)) + + if(istext(belly_data["autotransferlocation"])) + var/new_autotransferlocation = sanitize(belly_data["autotransferlocation"],MAX_MESSAGE_LEN,0,0,0) + if(new_autotransferlocation) + for(var/obj/belly/existing_belly in host.vore_organs) + if(existing_belly.name == new_autotransferlocation) + new_belly.autotransferlocation = new_autotransferlocation + break + if(new_autotransferlocation in valid_names) + new_belly.autotransferlocation = new_autotransferlocation + if(new_autotransferlocation == new_belly.name) + new_belly.autotransferlocation = null + + /* Not implemented on virgo + if(islist(belly_data["autotransferextralocation"])) + var/new_autotransferextralocation = belly_data["autotransferextralocation"] + if(new_autotransferextralocation) + new_belly.autotransferextralocation = list() + for(var/extra_belly in new_autotransferextralocation) + if(extra_belly in valid_names) + new_belly.autotransferextralocation += extra_belly + + if(isnum(belly_data["autotransferchance_secondary"])) + var/new_autotransferchance_secondary = belly_data["autotransferchance_secondary"] + new_belly.autotransferchance_secondary = sanitize_integer(new_autotransferchance_secondary, 0, 100, initial(new_belly.autotransferchance_secondary)) + + if(istext(belly_data["autotransferlocation_secondary"])) + var/new_autotransferlocation_secondary = sanitize(belly_data["autotransferlocation_secondary"],MAX_MESSAGE_LEN,0,0,0) + if(new_autotransferlocation_secondary) + for(var/obj/belly/existing_belly in host.vore_organs) + if(existing_belly.name == new_autotransferlocation_secondary) + new_belly.autotransferlocation_secondary = new_autotransferlocation_secondary + break + if(new_autotransferlocation_secondary in valid_names) + new_belly.autotransferlocation_secondary = new_autotransferlocation_secondary + if(new_autotransferlocation_secondary == new_belly.name) + new_belly.autotransferlocation_secondary = null + + if(islist(belly_data["autotransferextralocation_secondary"])) + var/new_autotransferextralocation_secondary = belly_data["autotransferextralocation_secondary"] + if(new_autotransferextralocation_secondary) + new_belly.autotransferextralocation_secondary = list() + for(var/extra_belly in new_autotransferextralocation_secondary) + if(extra_belly in valid_names) + new_belly.autotransferextralocation_secondary += extra_belly + + + if(isnum(belly_data["autotransfer_min_amount"])) + var/new_autotransfer_min_amount = belly_data["autotransfer_min_amount"] + new_belly.autotransfer_min_amount = sanitize_integer(new_autotransfer_min_amount, 0, 100, initial(new_belly.autotransfer_min_amount)) + + if(isnum(belly_data["autotransfer_max_amount"])) + var/new_autotransfer_max_amount = belly_data["autotransfer_max_amount"] + new_belly.autotransfer_max_amount = sanitize_integer(new_autotransfer_max_amount, 0, 100, initial(new_belly.autotransfer_max_amount)) + + if(isnum(belly_data["belchchance"])) + var/new_belchchance = belly_data["belchchance"] + new_belly.belchchance = sanitize_integer(new_belchchance, 0, 100, initial(new_belly.belchchance)) + + // Liquid Options + if(isnum(belly_data["show_liquids"])) + var/new_show_liquids = belly_data["show_liquids"] + if(new_show_liquids == 0) + new_belly.show_liquids = FALSE + if(new_show_liquids == 1) + new_belly.show_liquids = TRUE + + if(isnum(belly_data["reagentbellymode"])) + var/new_reagentbellymode = belly_data["reagentbellymode"] + if(new_reagentbellymode == 0) + new_belly.reagentbellymode = FALSE + if(new_reagentbellymode == 1) + new_belly.reagentbellymode = TRUE + + if(istext(belly_data["reagent_chosen"])) + var/new_reagent_chosen = sanitize(belly_data["reagent_chosen"],MAX_MESSAGE_LEN,0,0,0) + if(new_reagent_chosen) + if(new_reagent_chosen in new_belly.reagent_choices) + new_belly.reagent_chosen = new_reagent_chosen + new_belly.ReagentSwitch() + + if(istext(belly_data["reagent_name"])) + var/new_reagent_name = html_encode(belly_data["reagent_name"]) + if(new_reagent_name) + new_reagent_name = readd_quotes(new_reagent_name) + if(length(new_reagent_name) >= BELLIES_NAME_MIN && length(new_reagent_name) <= BELLIES_NAME_MAX) + new_belly.reagent_name = new_reagent_name + + if(istext(belly_data["reagent_transfer_verb"])) + var/new_reagent_transfer_verb = html_encode(belly_data["reagent_transfer_verb"]) + if(new_reagent_transfer_verb) + new_reagent_transfer_verb = readd_quotes(new_reagent_transfer_verb) + if(length(new_reagent_transfer_verb) >= BELLIES_NAME_MIN && length(new_reagent_transfer_verb) <= BELLIES_NAME_MAX) + new_belly.reagent_transfer_verb = new_reagent_transfer_verb + + if(istext(belly_data["gen_time_display"])) + var/new_gen_time_display = sanitize(belly_data["gen_time_display"],MAX_MESSAGE_LEN,0,0,0) + if(new_gen_time_display) + if(new_gen_time_display in list("10 minutes","30 minutes","1 hour","3 hours","6 hours","12 hours","24 hours")) + new_belly.gen_time_display = new_gen_time_display + switch(new_gen_time_display) + if("10 minutes") + new_belly.gen_time = 0 + if("30 minutes") + new_belly.gen_time = 2 + if("1 hour") + new_belly.gen_time = 5 + if("3 hours") + new_belly.gen_time = 17 + if("6 hours") + new_belly.gen_time = 35 + if("12 hours") + new_belly.gen_time = 71 + if("24 hours") + new_belly.gen_time = 143 + + if(isnum(belly_data["custom_max_volume"])) + var/new_custom_max_volume = belly_data["custom_max_volume"] + new_belly.custom_max_volume = CLAMP(new_custom_max_volume, 10, 300) + + if(isnum(belly_data["vorefootsteps_sounds"])) + var/new_vorefootsteps_sounds = belly_data["vorefootsteps_sounds"] + if(new_vorefootsteps_sounds == 0) + new_belly.vorefootsteps_sounds = FALSE + if(new_vorefootsteps_sounds == 1) + new_belly.vorefootsteps_sounds = TRUE + + if(islist(belly_data["reagent_mode_flag_list"])) + new_belly.reagent_mode_flags = 0 + for(var/reagent_flag in belly_data["reagent_mode_flag_list"]) + new_belly.reagent_mode_flags += new_belly.reagent_mode_flag_list[reagent_flag] + + if(istext(belly_data["custom_reagentcolor"])) + var/custom_reagentcolor = sanitize_hexcolor(belly_data["custom_reagentcolor"],new_belly.custom_reagentcolor) + new_belly.custom_reagentcolor = custom_reagentcolor + + if(istext(belly_data["mush_color"])) + var/mush_color = sanitize_hexcolor(belly_data["mush_color"],new_belly.mush_color) + new_belly.mush_color = mush_color + + if(istext(belly_data["mush_alpha"])) + var/new_mush_alpha = sanitize_integer(belly_data["mush_alpha"],0,255,initial(new_belly.mush_alpha)) + new_belly.mush_alpha = new_mush_alpha + + if(isnum(belly_data["max_mush"])) + var/max_mush = belly_data["max_mush"] + new_belly.max_mush = CLAMP(max_mush, 0, 6000) + + if(isnum(belly_data["min_mush"])) + var/min_mush = belly_data["min_mush"] + new_belly.min_mush = CLAMP(min_mush, 0, 100) + + if(isnum(belly_data["item_mush_val"])) + var/item_mush_val = belly_data["item_mush_val"] + new_belly.item_mush_val = CLAMP(item_mush_val, 0, 1000) + + if(isnum(belly_data["liquid_overlay"])) + var/new_liquid_overlay = belly_data["liquid_overlay"] + if(new_liquid_overlay == 0) + new_belly.liquid_overlay = FALSE + if(new_liquid_overlay == 1) + new_belly.liquid_overlay = TRUE + + if(isnum(belly_data["max_liquid_level"])) + var/max_liquid_level = belly_data["max_liquid_level"] + new_belly.max_liquid_level = CLAMP(max_liquid_level, 0, 100) + + if(isnum(belly_data["reagent_touches"])) + var/new_reagent_touches = belly_data["reagent_touches"] + if(new_reagent_touches == 0) + new_belly.reagent_touches = FALSE + if(new_reagent_touches == 1) + new_belly.reagent_touches = TRUE + + if(isnum(belly_data["mush_overlay"])) + var/new_mush_overlay = belly_data["mush_overlay"] + if(new_mush_overlay == 0) + new_belly.mush_overlay = FALSE + if(new_mush_overlay == 1) + new_belly.mush_overlay = TRUE + + // Liquid Messages + if(isnum(belly_data["show_fullness_messages"])) + var/new_show_fullness_messages = belly_data["show_fullness_messages"] + if(new_show_fullness_messages == 0) + new_belly.show_fullness_messages = FALSE + if(new_show_fullness_messages == 1) + new_belly.show_fullness_messages = TRUE + + if(isnum(belly_data["liquid_fullness1_messages"])) + var/new_liquid_fullness1_messages = belly_data["liquid_fullness1_messages"] + if(new_liquid_fullness1_messages == 0) + new_belly.liquid_fullness1_messages = FALSE + if(new_liquid_fullness1_messages == 1) + new_belly.liquid_fullness1_messages = TRUE + + if(isnum(belly_data["liquid_fullness2_messages"])) + var/new_liquid_fullness2_messages = belly_data["liquid_fullness2_messages"] + if(new_liquid_fullness2_messages == 0) + new_belly.liquid_fullness2_messages = FALSE + if(new_liquid_fullness2_messages == 1) + new_belly.liquid_fullness2_messages = TRUE + + if(isnum(belly_data["liquid_fullness3_messages"])) + var/new_liquid_fullness3_messages = belly_data["liquid_fullness3_messages"] + if(new_liquid_fullness3_messages == 0) + new_belly.liquid_fullness3_messages = FALSE + if(new_liquid_fullness3_messages == 1) + new_belly.liquid_fullness3_messages = TRUE + + if(isnum(belly_data["liquid_fullness4_messages"])) + var/new_liquid_fullness4_messages = belly_data["liquid_fullness4_messages"] + if(new_liquid_fullness4_messages == 0) + new_belly.liquid_fullness4_messages = FALSE + if(new_liquid_fullness4_messages == 1) + new_belly.liquid_fullness4_messages = TRUE + + if(isnum(belly_data["liquid_fullness5_messages"])) + var/new_liquid_fullness5_messages = belly_data["liquid_fullness5_messages"] + if(new_liquid_fullness5_messages == 0) + new_belly.liquid_fullness5_messages = FALSE + if(new_liquid_fullness5_messages == 1) + new_belly.liquid_fullness5_messages = TRUE + + if(islist(belly_data["fullness1_messages"])) + var/new_fullness1_messages = sanitize(jointext(belly_data["fullness1_messages"],"\n\n"),MAX_MESSAGE_LEN,0,0,0) + if(new_fullness1_messages) + new_belly.set_reagent_messages(new_fullness1_messages,"full1") + + if(islist(belly_data["fullness2_messages"])) + var/new_fullness2_messages = sanitize(jointext(belly_data["fullness2_messages"],"\n\n"),MAX_MESSAGE_LEN,0,0,0) + if(new_fullness2_messages) + new_belly.set_reagent_messages(new_fullness2_messages,"full2") + + if(islist(belly_data["fullness3_messages"])) + var/new_fullness3_messages = sanitize(jointext(belly_data["fullness3_messages"],"\n\n"),MAX_MESSAGE_LEN,0,0,0) + if(new_fullness3_messages) + new_belly.set_reagent_messages(new_fullness3_messages,"full3") + + if(islist(belly_data["fullness4_messages"])) + var/new_fullness4_messages = sanitize(jointext(belly_data["fullness4_messages"],"\n\n"),MAX_MESSAGE_LEN,0,0,0) + if(new_fullness4_messages) + new_belly.set_reagent_messages(new_fullness4_messages,"full4") + + if(islist(belly_data["fullness5_messages"])) + var/new_fullness5_messages = sanitize(jointext(belly_data["fullness5_messages"],"\n\n"),MAX_MESSAGE_LEN,0,0,0) + if(new_fullness5_messages) + new_belly.set_reagent_messages(new_fullness5_messages,"full5") + */ + + // After import updates + new_belly.items_preserved.Cut() + // new_belly.update_internal_overlay() // Signal not implemented! + + if(ishuman(host)) + var/mob/living/carbon/human/H = host + H.update_fullness() + host.updateVRPanel() + unsaved_changes = TRUE diff --git a/code/modules/vore/eating/belly_messages.dm b/code/modules/vore/eating/belly_messages.dm new file mode 100644 index 00000000000..197a0b3e629 --- /dev/null +++ b/code/modules/vore/eating/belly_messages.dm @@ -0,0 +1,508 @@ +/obj/belly + // Don't forget to watch your commas at the end of each line if you change these. + var/list/struggle_messages_outside = list( + "%pred's %belly wobbles with a squirming meal.", + "%pred's %belly jostles with movement.", + "%pred's %belly briefly swells outward as someone pushes from inside.", + "%pred's %belly fidgets with a trapped victim.", + "%pred's %belly jiggles with motion from inside.", + "%pred's %belly sloshes around.", + "%pred's %belly gushes softly.", + "%pred's %belly lets out a wet squelch.") + + var/list/struggle_messages_inside = list( + "Your useless squirming only causes %pred's slimy %belly to squelch over your body.", + "Your struggles only cause %pred's %belly to gush softly around you.", + "Your movement only causes %pred's %belly to slosh around you.", + "Your motion causes %pred's %belly to jiggle.", + "You fidget around inside of %pred's %belly.", + "You shove against the walls of %pred's %belly, making it briefly swell outward.", + "You jostle %pred's %belly with movement.", + "You squirm inside of %pred's %belly, making it wobble around.") + + var/list/absorbed_struggle_messages_outside = list( + "%pred's %belly wobbles, seemingly on its own.", + "%pred's %belly jiggles without apparent cause.", + "%pred's %belly seems to shake for a second without an obvious reason.") + + var/list/absorbed_struggle_messages_inside = list( + "You try and resist %pred's %belly, but only cause it to jiggle slightly.", + "Your fruitless mental struggles only shift %pred's %belly a tiny bit.", + "You can't make any progress freeing yourself from %pred's %belly.") + + var/list/escape_attempt_messages_owner = list( + "%prey is attempting to free themselves from your %belly!") + + var/list/escape_attempt_messages_prey = list( + "You start to climb out of %pred's %belly.") + + var/list/escape_messages_owner = list( + "%prey climbs out of your %belly!") + + var/list/escape_messages_prey = list( + "You climb out of %pred's %belly.") + + var/list/escape_messages_outside = list( + "%prey climbs out of %pred's %belly!") + + var/list/escape_item_messages_owner = list( + "%item suddenly slips out of your %belly!") + + var/list/escape_item_messages_prey = list( + "Your struggles successfully cause %pred to squeeze your %item out of their %belly.") + + var/list/escape_item_messages_outside = list( + "%item suddenly slips out of %pred's %belly!") + + var/list/escape_fail_messages_owner = list( + "%prey's attempt to escape from your %belly has failed!") + + var/list/escape_fail_messages_prey = list( + "Your attempt to escape %pred's %belly has failed!") + + var/list/escape_attempt_absorbed_messages_owner = list( + "%prey is attempting to free themselves from your %belly!") + + var/list/escape_attempt_absorbed_messages_prey = list( + "You try to force yourself out of %pred's %belly.") + + var/list/escape_absorbed_messages_owner = list( + "%prey forces themselves free of your %belly!") + + var/list/escape_absorbed_messages_prey = list( + "You manage to free yourself from %pred's %belly.") + + var/list/escape_absorbed_messages_outside = list( + "%prey climbs out of %pred's %belly!") + + var/list/escape_fail_absorbed_messages_owner = list( + "%prey's attempt to escape form your %belly has failed!") + + var/list/escape_fail_absorbed_messages_prey = list( + "Before you manage to reach freedom, you feel yourself getting dragged back into %pred's %belly!") + + var/list/primary_transfer_messages_owner = list( + "%prey slid into your %dest due to their struggling inside your %belly!") + + var/list/primary_transfer_messages_prey = list( + "Your attempt to escape %pred's %belly has failed and your struggles only results in you sliding into %pred's %dest!") + + var/list/secondary_transfer_messages_owner = list( + "%prey slid into your %dest due to their struggling inside your %belly!") + + var/list/secondary_transfer_messages_prey = list( + "Your attempt to escape %pred's %belly has failed and your struggles only results in you sliding into %pred's %dest!") + + var/list/digest_chance_messages_owner = list( + "You feel your %belly beginning to become active!") + + var/list/digest_chance_messages_prey = list( + "In response to your struggling, %pred's %belly begins to get more active...") + + var/list/absorb_chance_messages_owner = list( + "You feel your %belly start to cling onto its contents...") + + var/list/absorb_chance_messages_prey = list( + "In response to your struggling, %pred's %belly begins to cling more tightly...") + + var/list/select_chance_messages_owner = list( + "You feel your %belly beginning to become active!") + + var/list/select_chance_messages_prey = list( + "In response to your struggling, %pred's %belly begins to get more active...") + + var/list/digest_messages_owner = list( + "You feel %prey's body succumb to your digestive system, which breaks it apart into soft slurry.", + "You hear a lewd glorp as your %belly muscles grind %prey into a warm pulp.", + "Your %belly lets out a rumble as it melts %prey into sludge.", + "You feel a soft gurgle as %prey's body loses form in your %belly. They're nothing but a soft mass of churning slop now.", + "Your %belly begins gushing %prey's remains through your system, adding some extra weight to your thighs.", + "Your %belly begins gushing %prey's remains through your system, adding some extra weight to your rump.", + "Your %belly begins gushing %prey's remains through your system, adding some extra weight to your belly.", + "Your %belly groans as %prey falls apart into a thick soup. You can feel their remains soon flowing deeper into your body to be absorbed.", + "Your %belly kneads on every fiber of %prey, softening them down into mush to fuel your next hunt.", + "Your %belly churns %prey down into a hot slush. You can feel the nutrients coursing through your digestive track with a series of long, wet glorps.") + + var/list/digest_messages_prey = list( + "Your body succumbs to %pred's digestive system, which breaks you apart into soft slurry.", + "%pred's %belly lets out a lewd glorp as their muscles grind you into a warm pulp.", + "%pred's %belly lets out a rumble as it melts you into sludge.", + "%pred feels a soft gurgle as your body loses form in their %belly. You're nothing but a soft mass of churning slop now.", + "%pred's %belly begins gushing your remains through their system, adding some extra weight to %pred's thighs.", + "%pred's %belly begins gushing your remains through their system, adding some extra weight to %pred's rump.", + "%pred's %belly begins gushing your remains through their system, adding some extra weight to %pred's belly.", + "%pred's %belly groans as you fall apart into a thick soup. Your remains soon flow deeper into %pred's body to be absorbed.", + "%pred's %belly kneads on every fiber of your body, softening you down into mush to fuel their next hunt.", + "%pred's %belly churns you down into a hot slush. Your nutrient-rich remains course through their digestive track with a series of long, wet glorps.") + + var/list/absorb_messages_owner = list( + "You feel %prey becoming part of you.") + + var/list/absorb_messages_prey = list( + "You feel yourself becoming part of %pred's %belly!") + + var/list/unabsorb_messages_owner = list( + "You feel %prey reform into a recognizable state again.") + + var/list/unabsorb_messages_prey = list( + "You are released from being part of %pred's %belly.") + + var/list/examine_messages = list( + "They have something solid in their %belly!", + "It looks like they have something in their %belly!") + + var/list/examine_messages_absorbed = list( + "Their body looks somewhat larger than usual around the area of their %belly.", + "Their %belly looks larger than usual.") + +GLOBAL_LIST_INIT(vore_words_goo, list("muck","goo","sludge","slime","mire","ectoplasm","quagmire","glop","jelly","ooze","slush","mush","quicksand"))//%goo +GLOBAL_LIST_INIT(vore_words_hbellynoises, list("gurgle","gloorp","squelch","gloosh","squish","groan","grrrrrrn","sloooooOrp","slooosh","grrrbles","worbles"))//%happybelly +GLOBAL_LIST_INIT(vore_words_fat, list("love handles","fat","pudge","plumpness","squish","chunk","meat","softness","blubber","flab","paunch","hip dip","mass","dough","chub","marshmellowy goodness","girth","fluff","thickness","jello","adipose "))//%fat +GLOBAL_LIST_INIT(vore_words_grip, list("grip","grasp","clutch","hold"))//%grip +GLOBAL_LIST_INIT(vore_words_cozyholdingwords, list("soft","cozy","comfortable","gentle","snug","safe","restful","snuggly","intimate","secure"))//%cozy +GLOBAL_LIST_INIT(vore_words_angry, list("hated","unsafe","angry"))//%angry +GLOBAL_LIST_INIT(vore_words_acid, list("acid","burbling goo","angry slop","chime","devouring liquid","slop","liquid","goo","mush","boiling liquid","hot oil"))//%acid +GLOBAL_LIST_INIT(vore_words_snackname, list("snack","lunch","meat","calories","food","meal","dinner","chow","future pudge","fuel"))//%snack +GLOBAL_LIST_INIT(vore_words_hot, list("sweltering","hot","boiling","sizzling","burning","steaming","firey"))//%hot +GLOBAL_LIST_INIT(vore_words_snake, list("snake","serpent","reptilian","noodle","snek","noperope","throattube","armless mouth"))//%snake + +/// Replaces a bunch of format strings with relevant messages. +/// `prey` may be a string or a specific prey ref. +/obj/belly/proc/belly_format_string(message, prey, use_absorbed_count = FALSE, item = null, dest = null, use_first_only = FALSE) + if(islist(message)) + . = "[pick(message)]" + else + . = "[message]" + + . = replacetext(., "%belly", lowertext(name)) + . = replacetext(., "%pred", owner) + . = replacetext(., "%prey", prey) + + var/total_prey_count = 0 + var/all_object_and_prey_count = LAZYLEN(contents) + var/ghost_count = 0 + var/absorbed_count = 0 + for(var/mob/M in contents) + total_prey_count++ + + if(isobserver(M)) + all_object_and_prey_count-- + ghost_count++ + + if(isliving(M)) + var/mob/living/L = M + if(L.absorbed) + absorbed_count++ + + . = replacetext(., "%countpreytotal", total_prey_count) + . = replacetext(., "%countpreyabsorbed", absorbed_count) + . = replacetext(., "%countprey", use_absorbed_count ? absorbed_count : total_prey_count) + . = replacetext(., "%countghosts", ghost_count) + . = replacetext(., "%count", all_object_and_prey_count) + . = replacetext(., "%digestedprey", digested_prey_count) + + if(!isnull(item)) + . = replacetext(., "%item", item) + if(!isnull(dest)) + . = replacetext(., "%dest", dest) + + // Belly messages + . = replacetext(., "%goo", use_first_only ? GLOB.vore_words_goo[1] : pick(GLOB.vore_words_goo)) + . = replacetext(., "%happybelly", use_first_only ? GLOB.vore_words_hbellynoises[1] : pick(GLOB.vore_words_hbellynoises)) + . = replacetext(., "%fat", use_first_only ? GLOB.vore_words_fat[1] : pick(GLOB.vore_words_fat)) + . = replacetext(., "%grip", use_first_only ? GLOB.vore_words_grip[1] : pick(GLOB.vore_words_grip)) + . = replacetext(., "%cozy", use_first_only ? GLOB.vore_words_cozyholdingwords[1] : pick(GLOB.vore_words_cozyholdingwords)) + . = replacetext(., "%angry", use_first_only ? GLOB.vore_words_angry[1] : pick(GLOB.vore_words_angry)) + . = replacetext(., "%acid", use_first_only ? GLOB.vore_words_acid[1] : pick(GLOB.vore_words_acid)) + . = replacetext(., "%snack", use_first_only ? GLOB.vore_words_snackname[1] : pick(GLOB.vore_words_snackname)) + . = replacetext(., "%hot", use_first_only ? GLOB.vore_words_hot[1] : pick(GLOB.vore_words_hot)) + . = replacetext(., "%snake", use_first_only ? GLOB.vore_words_snake[1] : pick(GLOB.vore_words_snake)) + +// Get the line that should show up in Examine message if the owner of this belly +// is examined. By making this a proc, we not only take advantage of polymorphism, +// but can easily make the message vary based on how many people are inside, etc. +// Returns a string which shoul be appended to the Examine output. +/obj/belly/proc/get_examine_msg() + if(!(contents.len) || !(examine_messages.len)) + return "" + + var/raw_message = pick(examine_messages) + var/total_bulge = 0 + + var/list/vore_contents = list() + for(var/G in contents) + if(!isobserver(G)) + vore_contents += G //Exclude any ghosts from %prey + + for(var/mob/living/P in contents) + if(!P.absorbed) //This is required first, in case there's a person absorbed and not absorbed in a stomach. + total_bulge += P.size_multiplier + + if(total_bulge < bulge_size || bulge_size == 0) + return "" + + return(span_red(span_italics("[belly_format_string(raw_message, english_list(vore_contents))]"))) + +/obj/belly/proc/get_examine_msg_absorbed() + if(!(contents.len) || !(examine_messages_absorbed.len) || !display_absorbed_examine) + return "" + + var/raw_message = pick(examine_messages_absorbed) + + var/absorbed_count = 0 + var/list/absorbed_victims = list() + for(var/mob/living/L in contents) + if(L.absorbed) + absorbed_victims += L + absorbed_count++ + + if(!absorbed_count) + return "" + + return(span_red(span_italics("[belly_format_string(raw_message, english_list(absorbed_victims), use_absorbed_count = TRUE)]"))) + +// The next function gets the messages set on the belly, in human-readable format. +// This is useful in customization boxes and such. The delimiter right now is \n\n so +// in message boxes, this looks nice and is easily delimited. +/obj/belly/proc/get_messages(type, delim = "\n\n") + ASSERT(type == "smo" || type == "smi" || type == "asmo" || type == "asmi" || type == "escao" || type == "escap" || type == "escp" || type == "esco" || type == "escout" || type == "escip" || type == "escio" || type == "esciout" || type == "escfp" || type == "escfo" || type == "aescao" || type == "aescap" || type == "aescp" || type == "aesco" || type == "aescout" || type == "aescfp" || type == "aescfo" || type == "trnspp" || type == "trnspo" || type == "trnssp" || type == "trnsso" || type == "stmodp" || type == "stmodo" || type == "stmoap" || type == "stmoao" || type == "dmo" || type == "dmp" || type == "amo" || type == "amp" || type == "uamo" || type == "uamp" || type == "em" || type == "ema" || type == "im_digest" || type == "im_hold" || type == "im_holdabsorbed" || type == "im_absorb" || type == "im_heal" || type == "im_drain" || type == "im_steal" || type == "im_egg" || type == "im_shrink" || type == "im_grow" || type == "im_unabsorb") + + var/list/raw_messages + switch(type) + if("smo") + raw_messages = struggle_messages_outside + if("smi") + raw_messages = struggle_messages_inside + if("asmo") + raw_messages = absorbed_struggle_messages_outside + if("asmi") + raw_messages = absorbed_struggle_messages_inside + if("escao") + raw_messages = escape_attempt_messages_owner + if("escap") + raw_messages = escape_attempt_messages_prey + if("esco") + raw_messages = escape_messages_owner + if("escp") + raw_messages = escape_messages_prey + if("escout") + raw_messages = escape_messages_outside + if("escio") + raw_messages = escape_item_messages_owner + if("escip") + raw_messages = escape_item_messages_prey + if("esciout") + raw_messages = escape_item_messages_outside + if("escfo") + raw_messages = escape_fail_messages_owner + if("escfp") + raw_messages = escape_fail_messages_prey + if("aescao") + raw_messages = escape_attempt_absorbed_messages_owner + if("aescap") + raw_messages = escape_attempt_absorbed_messages_prey + if("aesco") + raw_messages = escape_absorbed_messages_owner + if("aescp") + raw_messages = escape_absorbed_messages_prey + if("aescout") + raw_messages = escape_absorbed_messages_outside + if("aescfo") + raw_messages = escape_fail_absorbed_messages_owner + if("aescfp") + raw_messages = escape_fail_absorbed_messages_prey + if("trnspo") + raw_messages = primary_transfer_messages_owner + if("trnspp") + raw_messages = primary_transfer_messages_prey + if("trnsso") + raw_messages = secondary_transfer_messages_owner + if("trnssp") + raw_messages = secondary_transfer_messages_prey + if("stmodo") + raw_messages = digest_chance_messages_owner + if("stmodp") + raw_messages = digest_chance_messages_prey + if("stmoao") + raw_messages = absorb_chance_messages_owner + if("stmoap") + raw_messages = absorb_chance_messages_prey + if("dmo") + raw_messages = digest_messages_owner + if("dmp") + raw_messages = digest_messages_prey + if("em") + raw_messages = examine_messages + if("ema") + raw_messages = examine_messages_absorbed + if("amo") + raw_messages = absorb_messages_owner + if("amp") + raw_messages = absorb_messages_prey + if("uamo") + raw_messages = unabsorb_messages_owner + if("uamp") + raw_messages = unabsorb_messages_prey + if("im_digest") + raw_messages = emote_lists[DM_DIGEST] + if("im_hold") + raw_messages = emote_lists[DM_HOLD] + if("im_holdabsorbed") + raw_messages = emote_lists[DM_HOLD_ABSORBED] + if("im_absorb") + raw_messages = emote_lists[DM_ABSORB] + if("im_heal") + raw_messages = emote_lists[DM_HEAL] + if("im_drain") + raw_messages = emote_lists[DM_DRAIN] + if("im_steal") + raw_messages = emote_lists[DM_SIZE_STEAL] + if("im_egg") + raw_messages = emote_lists[DM_EGG] + if("im_shrink") + raw_messages = emote_lists[DM_SHRINK] + if("im_grow") + raw_messages = emote_lists[DM_GROW] + if("im_unabsorb") + raw_messages = emote_lists[DM_UNABSORB] + var/messages = null + if(raw_messages) + messages = raw_messages.Join(delim) + return messages + +// The next function sets the messages on the belly, from human-readable var +// replacement strings and linebreaks as delimiters (two \n\n by default). +// They also sanitize the messages. +// Give them a limit for each type... +/obj/belly/proc/set_messages(raw_text, type, delim = "\n\n", limit) + if(!limit) + CRASH("[src] set message called without limit!") + ASSERT(type == "smo" || type == "smi" || type == "asmo" || type == "asmi" || type == "escao" || type == "escap" || type == "escp" || type == "esco" || type == "escout" || type == "escip" || type == "escio" || type == "esciout" || type == "escfp" || type == "escfo" || type == "aescao" || type == "aescap" || type == "aescp" || type == "aesco" || type == "aescout" || type == "aescfp" || type == "aescfo" || type == "trnspp" || type == "trnspo" || type == "trnssp" || type == "trnsso" || type == "stmodp" || type == "stmodo" || type == "stmoap" || type == "stmoao" || type == "dmo" || type == "dmp" || type == "amo" || type == "amp" || type == "uamo" || type == "uamp" || type == "em" || type == "ema" || type == "im_digest" || type == "im_hold" || type == "im_holdabsorbed" || type == "im_absorb" || type == "im_heal" || type == "im_drain" || type == "im_steal" || type == "im_egg" || type == "im_shrink" || type == "im_grow" || type == "im_unabsorb") + + var/list/raw_list + + if(findtext(raw_text, delim)) + raw_list = splittext(html_encode(raw_text), delim) + else + raw_list = list(raw_text) + for(var/i = 1, i <= raw_list.len, i++) + if(!length(raw_list[i])) + raw_list.Cut(i, i + 1) + i-- + if(raw_list.len > 10) + raw_list.Cut(11) + log_debug("[owner] tried to set [lowertext(name)] with 11+ messages") + + var/realIndex = 0 + for(var/i = 1, i <= raw_list.len, i++) + realIndex++ + raw_list[i] = readd_quotes(raw_list[i]) + //Also fix % sign for var replacement + raw_list[i] = replacetext(raw_list[i],"%","%") + if(length(raw_list[i]) > limit || length(raw_list[i]) < 10) + to_chat(owner, span_warning("One of the message for [lowertext(name)] exceeded the limit of [limit] characters or has been below the lower limit of 10 characters and has been removed. Actual length: [length(raw_list[i])]")) + //Reflect message to the player so that they don't just lose it + to_chat(owner, span_warning("Message [realIndex]: [raw_list[i]]")) + log_debug("[owner] tried to set [lowertext(name)] [type] message with >[limit] or <10 characters") + raw_list.Cut(i, i + 1) + i-- + + ASSERT(raw_list.len <= 10) //Sanity + + switch(type) + if("smo") + struggle_messages_outside = raw_list + if("smi") + struggle_messages_inside = raw_list + if("asmo") + absorbed_struggle_messages_outside = raw_list + if("asmi") + absorbed_struggle_messages_inside = raw_list + if("escao") + escape_attempt_messages_owner = raw_list + if("escap") + escape_attempt_messages_prey = raw_list + if("esco") + escape_messages_owner = raw_list + if("escp") + escape_messages_prey = raw_list + if("escout") + escape_messages_outside = raw_list + if("escio") + escape_item_messages_owner = raw_list + if("escip") + escape_item_messages_prey = raw_list + if("esciout") + escape_item_messages_outside = raw_list + if("escfo") + escape_fail_messages_owner = raw_list + if("escfp") + escape_fail_messages_prey = raw_list + if("aescao") + escape_attempt_absorbed_messages_owner = raw_list + if("aescap") + escape_attempt_absorbed_messages_prey = raw_list + if("aesco") + escape_absorbed_messages_owner = raw_list + if("aescp") + escape_absorbed_messages_prey = raw_list + if("aescout") + escape_absorbed_messages_outside = raw_list + if("aescfo") + escape_fail_absorbed_messages_owner = raw_list + if("aescfp") + escape_fail_absorbed_messages_prey = raw_list + if("trnspo") + primary_transfer_messages_owner = raw_list + if("trnspp") + primary_transfer_messages_prey = raw_list + if("trnsso") + secondary_transfer_messages_owner = raw_list + if("trnssp") + secondary_transfer_messages_prey = raw_list + if("stmodo") + digest_chance_messages_owner = raw_list + if("stmodp") + digest_chance_messages_prey = raw_list + if("stmoao") + absorb_chance_messages_owner = raw_list + if("stmoap") + absorb_chance_messages_prey = raw_list + if("dmo") + digest_messages_owner = raw_list + if("dmp") + digest_messages_prey = raw_list + if("amo") + absorb_messages_owner = raw_list + if("amp") + absorb_messages_prey = raw_list + if("uamo") + unabsorb_messages_owner = raw_list + if("uamp") + unabsorb_messages_prey = raw_list + if("em") + examine_messages = raw_list + if("ema") + examine_messages_absorbed = raw_list + if("im_digest") + emote_lists[DM_DIGEST] = raw_list + if("im_hold") + emote_lists[DM_HOLD] = raw_list + if("im_holdabsorbed") + emote_lists[DM_HOLD_ABSORBED] = raw_list + if("im_absorb") + emote_lists[DM_ABSORB] = raw_list + if("im_heal") + emote_lists[DM_HEAL] = raw_list + if("im_drain") + emote_lists[DM_DRAIN] = raw_list + if("im_steal") + emote_lists[DM_SIZE_STEAL] = raw_list + if("im_egg") + emote_lists[DM_EGG] = raw_list + if("im_shrink") + emote_lists[DM_SHRINK] = raw_list + if("im_grow") + emote_lists[DM_GROW] = raw_list + if("im_unabsorb") + emote_lists[DM_UNABSORB] = raw_list diff --git a/code/modules/vore/eating/belly_obj_vr.dm b/code/modules/vore/eating/belly_obj_vr.dm index b79088238fe..562052241a7 100644 --- a/code/modules/vore/eating/belly_obj_vr.dm +++ b/code/modules/vore/eating/belly_obj_vr.dm @@ -54,9 +54,9 @@ var/fancy_vore = FALSE // Using the new sounds? var/is_wet = TRUE // Is this belly's insides made of slimy parts? var/wet_loop = TRUE // Does the belly have a fleshy loop playing? - var/obj/item/weapon/storage/vore_egg/ownegg // Is this belly creating an egg? + var/obj/item/storage/vore_egg/ownegg // Is this belly creating an egg? var/egg_type = "Egg" // Default egg type and path. - var/egg_path = /obj/item/weapon/storage/vore_egg + var/egg_path = /obj/item/storage/vore_egg var/list/list/emote_lists = list() // Idle emotes that happen on their own, depending on the bellymode. Contains lists of strings indexed by bellymode var/emote_time = 60 // How long between stomach emotes at prey (in seconds) var/emote_active = TRUE // Are we even giving emotes out at all or not? @@ -115,162 +115,7 @@ var/tmp/list/items_preserved = list() // Stuff that wont digest so we shouldn't process it again. var/tmp/recent_sound = FALSE // Prevent audio spam var/tmp/drainmode = DR_NORMAL // Simply drains the prey then does nothing. - - // Don't forget to watch your commas at the end of each line if you change these. - var/list/struggle_messages_outside = list( - "%pred's %belly wobbles with a squirming meal.", - "%pred's %belly jostles with movement.", - "%pred's %belly briefly swells outward as someone pushes from inside.", - "%pred's %belly fidgets with a trapped victim.", - "%pred's %belly jiggles with motion from inside.", - "%pred's %belly sloshes around.", - "%pred's %belly gushes softly.", - "%pred's %belly lets out a wet squelch.") - - var/list/struggle_messages_inside = list( - "Your useless squirming only causes %pred's slimy %belly to squelch over your body.", - "Your struggles only cause %pred's %belly to gush softly around you.", - "Your movement only causes %pred's %belly to slosh around you.", - "Your motion causes %pred's %belly to jiggle.", - "You fidget around inside of %pred's %belly.", - "You shove against the walls of %pred's %belly, making it briefly swell outward.", - "You jostle %pred's %belly with movement.", - "You squirm inside of %pred's %belly, making it wobble around.") - - var/list/absorbed_struggle_messages_outside = list( - "%pred's %belly wobbles, seemingly on its own.", - "%pred's %belly jiggles without apparent cause.", - "%pred's %belly seems to shake for a second without an obvious reason.") - - var/list/absorbed_struggle_messages_inside = list( - "You try and resist %pred's %belly, but only cause it to jiggle slightly.", - "Your fruitless mental struggles only shift %pred's %belly a tiny bit.", - "You can't make any progress freeing yourself from %pred's %belly.") - - var/list/escape_attempt_messages_owner = list( - "%prey is attempting to free themselves from your %belly!") - - var/list/escape_attempt_messages_prey = list( - "You start to climb out of %pred's %belly.") - - var/list/escape_messages_owner = list( - "%prey climbs out of your %belly!") - - var/list/escape_messages_prey = list( - "You climb out of %pred's %belly.") - - var/list/escape_messages_outside = list( - "%prey climbs out of %pred's %belly!") - - var/list/escape_item_messages_owner = list( - "%item suddenly slips out of your %belly!") - - var/list/escape_item_messages_prey = list( - "Your struggles successfully cause %pred to squeeze your %item out of their %belly.") - - var/list/escape_item_messages_outside = list( - "%item suddenly slips out of %pred's %belly!") - - var/list/escape_fail_messages_owner = list( - "%prey's attempt to escape from your %belly has failed!") - - var/list/escape_fail_messages_prey = list( - "Your attempt to escape %pred's %belly has failed!") - - var/list/escape_attempt_absorbed_messages_owner = list( - "%prey is attempting to free themselves from your %belly!") - - var/list/escape_attempt_absorbed_messages_prey = list( - "You try to force yourself out of %pred's %belly.") - - var/list/escape_absorbed_messages_owner = list( - "%prey forces themselves free of your %belly!") - - var/list/escape_absorbed_messages_prey = list( - "You manage to free yourself from %pred's %belly.") - - var/list/escape_absorbed_messages_outside = list( - "%prey climbs out of %pred's %belly!") - - var/list/escape_fail_absorbed_messages_owner = list( - "%prey's attempt to escape form your %belly has failed!") - - var/list/escape_fail_absorbed_messages_prey = list( - "Before you manage to reach freedom, you feel yourself getting dragged back into %pred's %belly!") - - var/list/primary_transfer_messages_owner = list( - "%prey slid into your %dest due to their struggling inside your %belly!") - - var/list/primary_transfer_messages_prey = list( - "Your attempt to escape %pred's %belly has failed and your struggles only results in you sliding into pred's %dest!") - - var/list/secondary_transfer_messages_owner = list( - "%prey slid into your %dest due to their struggling inside your %belly!") - - var/list/secondary_transfer_messages_prey = list( - "Your attempt to escape %pred's %belly has failed and your struggles only results in you sliding into pred's %dest!") - - var/list/digest_chance_messages_owner = list( - "You feel your %belly beginning to become active!") - - var/list/digest_chance_messages_prey = list( - "In response to your struggling, %pred's %belly begins to get more active...") - - var/list/absorb_chance_messages_owner = list( - "You feel your %belly start to cling onto its contents...") - - var/list/absorb_chance_messages_prey = list( - "In response to your struggling, %pred's %belly begins to cling more tightly...") - - var/list/select_chance_messages_owner = list( - "You feel your %belly beginning to become active!") - - var/list/select_chance_messages_prey = list( - "In response to your struggling, %pred's %belly begins to get more active...") - - var/list/digest_messages_owner = list( - "You feel %prey's body succumb to your digestive system, which breaks it apart into soft slurry.", - "You hear a lewd glorp as your %belly muscles grind %prey into a warm pulp.", - "Your %belly lets out a rumble as it melts %prey into sludge.", - "You feel a soft gurgle as %prey's body loses form in your %belly. They're nothing but a soft mass of churning slop now.", - "Your %belly begins gushing %prey's remains through your system, adding some extra weight to your thighs.", - "Your %belly begins gushing %prey's remains through your system, adding some extra weight to your rump.", - "Your %belly begins gushing %prey's remains through your system, adding some extra weight to your belly.", - "Your %belly groans as %prey falls apart into a thick soup. You can feel their remains soon flowing deeper into your body to be absorbed.", - "Your %belly kneads on every fiber of %prey, softening them down into mush to fuel your next hunt.", - "Your %belly churns %prey down into a hot slush. You can feel the nutrients coursing through your digestive track with a series of long, wet glorps.") - - var/list/digest_messages_prey = list( - "Your body succumbs to %pred's digestive system, which breaks you apart into soft slurry.", - "%pred's %belly lets out a lewd glorp as their muscles grind you into a warm pulp.", - "%pred's %belly lets out a rumble as it melts you into sludge.", - "%pred feels a soft gurgle as your body loses form in their %belly. You're nothing but a soft mass of churning slop now.", - "%pred's %belly begins gushing your remains through their system, adding some extra weight to %pred's thighs.", - "%pred's %belly begins gushing your remains through their system, adding some extra weight to %pred's rump.", - "%pred's %belly begins gushing your remains through their system, adding some extra weight to %pred's belly.", - "%pred's %belly groans as you fall apart into a thick soup. Your remains soon flow deeper into %pred's body to be absorbed.", - "%pred's %belly kneads on every fiber of your body, softening you down into mush to fuel their next hunt.", - "%pred's %belly churns you down into a hot slush. Your nutrient-rich remains course through their digestive track with a series of long, wet glorps.") - - var/list/absorb_messages_owner = list( - "You feel %prey becoming part of you.") - - var/list/absorb_messages_prey = list( - "You feel yourself becoming part of %pred's %belly!") - - var/list/unabsorb_messages_owner = list( - "You feel %prey reform into a recognizable state again.") - - var/list/unabsorb_messages_prey = list( - "You are released from being part of %pred's %belly.") - - var/list/examine_messages = list( - "They have something solid in their %belly!", - "It looks like they have something in their %belly!") - - var/list/examine_messages_absorbed = list( - "Their body looks somewhat larger than usual around the area of their %belly.", - "Their %belly looks larger than usual.") + var/tmp/digested_prey_count = 0 // Amount of prey that have been digested var/item_digest_mode = IM_DIGEST_FOOD // Current item-related mode from item_digest_modes var/contaminates = FALSE // Whether the belly will contaminate stuff @@ -422,18 +267,14 @@ if(istype(thing, /mob/observer)) //Ports CHOMPStation PR#3072 if(desc) //Ports CHOMPStation PR#4772 //Allow ghosts see where they are if they're still getting squished along inside. - var/formatted_desc - formatted_desc = replacetext(desc, "%belly", lowertext(name)) //replace with this belly's name - formatted_desc = replacetext(formatted_desc, "%pred", owner) //replace with this belly's owner - formatted_desc = replacetext(formatted_desc, "%prey", thing) //replace with whatever mob entered into this belly - to_chat(thing, "[formatted_desc]") + to_chat(thing, span_vnotice(span_bold("[belly_format_string(desc, thing)]"))) if(OldLoc in contents) return //Someone dropping something (or being stripdigested) //Generic entered message if(!istype(thing, /mob/observer)) //Don't have ghosts announce they're reentering the belly on death - to_chat(owner,"[thing] slides into your [lowertext(name)].") + to_chat(owner,span_vnotice("[thing] slides into your [lowertext(name)].")) //Sound w/ antispam flag setting if(vore_sound && !recent_sound && !istype(thing, /mob/observer)) @@ -443,7 +284,7 @@ else soundfile = fancy_vore_sounds[vore_sound] if(soundfile) - playsound(src, soundfile, vol = 100, vary = 1, falloff = VORE_SOUND_FALLOFF, preference = /datum/client_preference/eating_noises, volume_channel = VOLUME_CHANNEL_VORE) + playsound(src, soundfile, vol = 100, vary = 1, falloff = VORE_SOUND_FALLOFF, preference = /datum/preference/toggle/eating_noises, volume_channel = VOLUME_CHANNEL_VORE) recent_sound = TRUE //Messages if it's a mob @@ -459,15 +300,11 @@ //Was there a description text? If so, it's time to format it! if(raw_desc) //Replace placeholder vars - var/formatted_desc - formatted_desc = replacetext(raw_desc, "%belly", lowertext(name)) //replace with this belly's name - formatted_desc = replacetext(formatted_desc, "%pred", owner) //replace with this belly's owner - formatted_desc = replacetext(formatted_desc, "%prey", M) //replace with whatever mob entered into this belly - to_chat(M, "[formatted_desc]") + to_chat(M, span_vnotice(span_bold("[belly_format_string(raw_desc, M)]"))) var/taste if(can_taste && (taste = M.get_taste_message(FALSE))) - to_chat(owner, "[M] tastes of [taste].") + to_chat(owner, span_vnotice("[M] tastes of [taste].")) vore_fx(M) //Stop AI processing in bellies if(M.ai_holder) @@ -542,7 +379,7 @@ if(disable_hud) if(L?.hud_used?.hud_shown) - to_chat(L, "((Your pred has disabled huds in their belly. Turn off vore FX and hit F12 to get it back; or relax, and enjoy the serenity.))") + to_chat(L, span_vnotice("((Your pred has disabled huds in their belly. Turn off vore FX and hit F12 to get it back; or relax, and enjoy the serenity.))")) L.toggle_hud_vis(TRUE) /obj/belly/proc/vore_preview(mob/living/L) @@ -624,14 +461,14 @@ //Print notifications/sound if necessary if(!silent && count) - owner.visible_message("[span_green("[owner] [release_verb] everything from their [lowertext(name)]!")]", range = privacy_range) + owner.visible_message(span_vnotice(span_green(span_bold("[owner] [release_verb] everything from their [lowertext(name)]!"))), range = privacy_range) var/soundfile if(!fancy_vore) soundfile = classic_release_sounds[release_sound] else soundfile = fancy_release_sounds[release_sound] if(soundfile) - playsound(src, soundfile, vol = privacy_volume, vary = 1, falloff = VORE_SOUND_FALLOFF, preference = /datum/client_preference/eating_noises, volume_channel = VOLUME_CHANNEL_VORE) + playsound(src, soundfile, vol = privacy_volume, vary = 1, falloff = VORE_SOUND_FALLOFF, preference = /datum/preference/toggle/eating_noises, volume_channel = VOLUME_CHANNEL_VORE) return count @@ -650,7 +487,7 @@ L.muffled = FALSE L.forced_psay = FALSE - for(var/obj/item/weapon/holder/H in M.contents) + for(var/obj/item/holder/H in M.contents) H.held_mob.muffled = FALSE H.held_mob.forced_psay = FALSE @@ -710,14 +547,14 @@ //Print notifications/sound if necessary if(!silent && !isobserver(M)) - owner.visible_message("[span_green("[owner] [release_verb] [M] from their [lowertext(name)]!")]",range = privacy_range) + owner.visible_message(span_vnotice(span_green(span_bold("[owner] [release_verb] [M] from their [lowertext(name)]!"))),range = privacy_range) var/soundfile if(!fancy_vore) soundfile = classic_release_sounds[release_sound] else soundfile = fancy_release_sounds[release_sound] if(soundfile) - playsound(src, soundfile, vol = privacy_volume, vary = 1, falloff = VORE_SOUND_FALLOFF, preference = /datum/client_preference/eating_noises, volume_channel = VOLUME_CHANNEL_VORE) + playsound(src, soundfile, vol = privacy_volume, vary = 1, falloff = VORE_SOUND_FALLOFF, preference = /datum/preference/toggle/eating_noises, volume_channel = VOLUME_CHANNEL_VORE) //Should fix your view not following you out of mobs sometimes! if(ismob(M)) var/mob/ourmob = M @@ -753,312 +590,12 @@ if(owner.mind) owner.mind.vore_prey_eaten++ -// Get the line that should show up in Examine message if the owner of this belly -// is examined. By making this a proc, we not only take advantage of polymorphism, -// but can easily make the message vary based on how many people are inside, etc. -// Returns a string which shoul be appended to the Examine output. -/obj/belly/proc/get_examine_msg() - if(!(contents.len) || !(examine_messages.len)) - return "" - - var/formatted_message - var/raw_message = pick(examine_messages) - var/total_bulge = 0 - - var/living_count = 0 - for(var/mob/living/L in contents) - living_count++ - - var/count_total = contents.len - for(var/mob/observer/C in contents) - count_total-- //Exclude any ghosts from %count - - var/list/vore_contents = list() - for(var/G in contents) - if(!isobserver(G)) - vore_contents += G //Exclude any ghosts from %prey - - for(var/mob/living/P in contents) - if(!P.absorbed) //This is required first, in case there's a person absorbed and not absorbed in a stomach. - total_bulge += P.size_multiplier - - if(total_bulge < bulge_size || bulge_size == 0) - return "" - - formatted_message = replacetext(raw_message, "%belly", lowertext(name)) - formatted_message = replacetext(formatted_message, "%pred", owner) - formatted_message = replacetext(formatted_message, "%prey", english_list(vore_contents)) - formatted_message = replacetext(formatted_message, "%countprey", living_count) - formatted_message = replacetext(formatted_message, "%count", count_total) - - return(span_red("[formatted_message]")) - -/obj/belly/proc/get_examine_msg_absorbed() - if(!(contents.len) || !(examine_messages_absorbed.len) || !display_absorbed_examine) - return "" - - var/formatted_message - var/raw_message = pick(examine_messages_absorbed) - - var/absorbed_count = 0 - var/list/absorbed_victims = list() - for(var/mob/living/L in contents) - if(L.absorbed) - absorbed_victims += L - absorbed_count++ - - if(!absorbed_count) - return "" - - formatted_message = replacetext(raw_message, "%belly", lowertext(name)) - formatted_message = replacetext(formatted_message, "%pred", owner) - formatted_message = replacetext(formatted_message, "%prey", english_list(absorbed_victims)) - formatted_message = replacetext(formatted_message, "%countprey", absorbed_count) - - return(span_red("[formatted_message]")) - -// The next function gets the messages set on the belly, in human-readable format. -// This is useful in customization boxes and such. The delimiter right now is \n\n so -// in message boxes, this looks nice and is easily delimited. -/obj/belly/proc/get_messages(type, delim = "\n\n") - ASSERT(type == "smo" || type == "smi" || type == "asmo" || type == "asmi" || type == "escao" || type == "escap" || type == "escp" || type == "esco" || type == "escout" || type == "escip" || type == "escio" || type == "esciout" || type == "escfp" || type == "escfo" || type == "aescao" || type == "aescap" || type == "aescp" || type == "aesco" || type == "aescout" || type == "aescfp" || type == "aescfo" || type == "trnspp" || type == "trnspo" || type == "trnssp" || type == "trnsso" || type == "stmodp" || type == "stmodo" || type == "stmoap" || type == "stmoao" || type == "dmo" || type == "dmp" || type == "amo" || type == "amp" || type == "uamo" || type == "uamp" || type == "em" || type == "ema" || type == "im_digest" || type == "im_hold" || type == "im_holdabsorbed" || type == "im_absorb" || type == "im_heal" || type == "im_drain" || type == "im_steal" || type == "im_egg" || type == "im_shrink" || type == "im_grow" || type == "im_unabsorb") - - var/list/raw_messages - switch(type) - if("smo") - raw_messages = struggle_messages_outside - if("smi") - raw_messages = struggle_messages_inside - if("asmo") - raw_messages = absorbed_struggle_messages_outside - if("asmi") - raw_messages = absorbed_struggle_messages_inside - if("escao") - raw_messages = escape_attempt_messages_owner - if("escap") - raw_messages = escape_attempt_messages_prey - if("esco") - raw_messages = escape_messages_owner - if("escp") - raw_messages = escape_messages_prey - if("escout") - raw_messages = escape_messages_outside - if("escio") - raw_messages = escape_item_messages_owner - if("escip") - raw_messages = escape_item_messages_prey - if("esciout") - raw_messages = escape_item_messages_outside - if("escfo") - raw_messages = escape_fail_messages_owner - if("escfp") - raw_messages = escape_fail_messages_prey - if("aescao") - raw_messages = escape_attempt_absorbed_messages_owner - if("aescap") - raw_messages = escape_attempt_absorbed_messages_prey - if("aesco") - raw_messages = escape_absorbed_messages_owner - if("aescp") - raw_messages = escape_absorbed_messages_prey - if("aescout") - raw_messages = escape_absorbed_messages_outside - if("aescfo") - raw_messages = escape_fail_absorbed_messages_owner - if("aescfp") - raw_messages = escape_fail_absorbed_messages_prey - if("trnspo") - raw_messages = primary_transfer_messages_owner - if("trnspp") - raw_messages = primary_transfer_messages_prey - if("trnsso") - raw_messages = secondary_transfer_messages_owner - if("trnssp") - raw_messages = secondary_transfer_messages_prey - if("stmodo") - raw_messages = digest_chance_messages_owner - if("stmodp") - raw_messages = digest_chance_messages_prey - if("stmoao") - raw_messages = absorb_chance_messages_owner - if("stmoap") - raw_messages = absorb_chance_messages_prey - if("dmo") - raw_messages = digest_messages_owner - if("dmp") - raw_messages = digest_messages_prey - if("em") - raw_messages = examine_messages - if("ema") - raw_messages = examine_messages_absorbed - if("amo") - raw_messages = absorb_messages_owner - if("amp") - raw_messages = absorb_messages_prey - if("uamo") - raw_messages = unabsorb_messages_owner - if("uamp") - raw_messages = unabsorb_messages_prey - if("im_digest") - raw_messages = emote_lists[DM_DIGEST] - if("im_hold") - raw_messages = emote_lists[DM_HOLD] - if("im_holdabsorbed") - raw_messages = emote_lists[DM_HOLD_ABSORBED] - if("im_absorb") - raw_messages = emote_lists[DM_ABSORB] - if("im_heal") - raw_messages = emote_lists[DM_HEAL] - if("im_drain") - raw_messages = emote_lists[DM_DRAIN] - if("im_steal") - raw_messages = emote_lists[DM_SIZE_STEAL] - if("im_egg") - raw_messages = emote_lists[DM_EGG] - if("im_shrink") - raw_messages = emote_lists[DM_SHRINK] - if("im_grow") - raw_messages = emote_lists[DM_GROW] - if("im_unabsorb") - raw_messages = emote_lists[DM_UNABSORB] - var/messages = null - if(raw_messages) - messages = raw_messages.Join(delim) - return messages - -// The next function sets the messages on the belly, from human-readable var -// replacement strings and linebreaks as delimiters (two \n\n by default). -// They also sanitize the messages. -/obj/belly/proc/set_messages(raw_text, type, delim = "\n\n") - ASSERT(type == "smo" || type == "smi" || type == "asmo" || type == "asmi" || type == "escao" || type == "escap" || type == "escp" || type == "esco" || type == "escout" || type == "escip" || type == "escio" || type == "esciout" || type == "escfp" || type == "escfo" || type == "aescao" || type == "aescap" || type == "aescp" || type == "aesco" || type == "aescout" || type == "aescfp" || type == "aescfo" || type == "trnspp" || type == "trnspo" || type == "trnssp" || type == "trnsso" || type == "stmodp" || type == "stmodo" || type == "stmoap" || type == "stmoao" || type == "dmo" || type == "dmp" || type == "amo" || type == "amp" || type == "uamo" || type == "uamp" || type == "em" || type == "ema" || type == "im_digest" || type == "im_hold" || type == "im_holdabsorbed" || type == "im_absorb" || type == "im_heal" || type == "im_drain" || type == "im_steal" || type == "im_egg" || type == "im_shrink" || type == "im_grow" || type == "im_unabsorb") - - var/list/raw_list = splittext(html_encode(raw_text),delim) - if(raw_list.len > 10) - raw_list.Cut(11) - log_debug("[owner] tried to set [lowertext(name)] with 11+ messages") - - for(var/i = 1, i <= raw_list.len, i++) - if((length(raw_list[i]) > 160 || length(raw_list[i]) < 10) && !(type == "im_digest" || type == "im_hold" || type == "im_holdabsorbed" || type == "im_absorb" || type == "im_heal" || type == "im_drain" || type == "im_steal" || type == "im_egg" || type == "im_shrink" || type == "im_grow" || type == "im_unabsorb")) //160 is fudged value due to htmlencoding increasing the size - raw_list.Cut(i,i) - log_debug("[owner] tried to set [lowertext(name)] with >121 or <10 char message") - else if((type == "im_digest" || type == "im_hold" || type == "im_holdabsorbed" || type == "im_absorb" || type == "im_heal" || type == "im_drain" || type == "im_steal" || type == "im_egg" || type == "im_shrink" || type == "im_grow" || type == "im_unabsorb") && (length(raw_list[i]) > 510 || length(raw_list[i]) < 10)) - raw_list.Cut(i,i) - log_debug("[owner] tried to set [lowertext(name)] idle message with >501 or <10 char message") - else if((type == "em" || type == "ema") && (length(raw_list[i]) > 260 || length(raw_list[i]) < 10)) - raw_list.Cut(i,i) - log_debug("[owner] tried to set [lowertext(name)] examine message with >260 or <10 char message") - else - raw_list[i] = readd_quotes(raw_list[i]) - //Also fix % sign for var replacement - raw_list[i] = replacetext(raw_list[i],"%","%") - - ASSERT(raw_list.len <= 10) //Sanity - - switch(type) - if("smo") - struggle_messages_outside = raw_list - if("smi") - struggle_messages_inside = raw_list - if("asmo") - absorbed_struggle_messages_outside = raw_list - if("asmi") - absorbed_struggle_messages_inside = raw_list - if("escao") - escape_attempt_messages_owner = raw_list - if("escap") - escape_attempt_messages_prey = raw_list - if("esco") - escape_messages_owner = raw_list - if("escp") - escape_messages_prey = raw_list - if("escout") - escape_messages_outside = raw_list - if("escio") - escape_item_messages_owner = raw_list - if("escip") - escape_item_messages_prey = raw_list - if("esciout") - escape_item_messages_outside = raw_list - if("escfo") - escape_fail_messages_owner = raw_list - if("escfp") - escape_fail_messages_prey = raw_list - if("aescao") - escape_attempt_absorbed_messages_owner = raw_list - if("aescap") - escape_attempt_absorbed_messages_prey = raw_list - if("aesco") - escape_absorbed_messages_owner = raw_list - if("aescp") - escape_absorbed_messages_prey = raw_list - if("aescout") - escape_absorbed_messages_outside = raw_list - if("aescfo") - escape_fail_absorbed_messages_owner = raw_list - if("aescfp") - escape_fail_absorbed_messages_prey = raw_list - if("trnspo") - primary_transfer_messages_owner = raw_list - if("trnspp") - primary_transfer_messages_prey = raw_list - if("trnsso") - secondary_transfer_messages_owner = raw_list - if("trnssp") - secondary_transfer_messages_prey = raw_list - if("stmodo") - digest_chance_messages_owner = raw_list - if("stmodp") - digest_chance_messages_prey = raw_list - if("stmoao") - absorb_chance_messages_owner = raw_list - if("stmoap") - absorb_chance_messages_prey = raw_list - if("dmo") - digest_messages_owner = raw_list - if("dmp") - digest_messages_prey = raw_list - if("amo") - absorb_messages_owner = raw_list - if("amp") - absorb_messages_prey = raw_list - if("uamo") - unabsorb_messages_owner = raw_list - if("uamp") - unabsorb_messages_prey = raw_list - if("em") - examine_messages = raw_list - if("ema") - examine_messages_absorbed = raw_list - if("im_digest") - emote_lists[DM_DIGEST] = raw_list - if("im_hold") - emote_lists[DM_HOLD] = raw_list - if("im_holdabsorbed") - emote_lists[DM_HOLD_ABSORBED] = raw_list - if("im_absorb") - emote_lists[DM_ABSORB] = raw_list - if("im_heal") - emote_lists[DM_HEAL] = raw_list - if("im_drain") - emote_lists[DM_DRAIN] = raw_list - if("im_steal") - emote_lists[DM_SIZE_STEAL] = raw_list - if("im_egg") - emote_lists[DM_EGG] = raw_list - if("im_shrink") - emote_lists[DM_SHRINK] = raw_list - if("im_grow") - emote_lists[DM_GROW] = raw_list - if("im_unabsorb") - emote_lists[DM_UNABSORB] = raw_list - - return - // Handle the death of a mob via digestion. // Called from the process_Life() methods of bellies that digest prey. // Default implementation calls M.death() and removes from internal contents. // Indigestable items are removed, and M is deleted. /obj/belly/proc/digestion_death(mob/living/M) + digested_prey_count++ add_attack_logs(owner, M, "Digested in [lowertext(name)]") // If digested prey is also a pred... anyone inside their bellies gets moved up. @@ -1066,11 +603,11 @@ M.release_vore_contents(include_absorbed = TRUE, silent = TRUE) //Drop all items into the belly. - if(config.items_survive_digestion) + if(CONFIG_GET(flag/items_survive_digestion)) for(var/obj/item/W in M) if(istype(W, /obj/item/organ/internal/mmi_holder/posibrain)) var/obj/item/organ/internal/mmi_holder/MMI = W - var/obj/item/device/mmi/brainbox = MMI.removed() + var/obj/item/mmi/brainbox = MMI.removed() if(brainbox) items_preserved += brainbox for(var/slot in slots) @@ -1081,7 +618,7 @@ I.gurgle_contaminate(contents, contamination_flavor, contamination_color) //We do an initial contamination pass to get stuff like IDs wet. if(item_digest_mode == IM_HOLD) items_preserved |= I - else if(item_digest_mode == IM_DIGEST_FOOD && !(istype(I,/obj/item/weapon/reagent_containers/food) || istype(I,/obj/item/organ))) + else if(item_digest_mode == IM_DIGEST_FOOD && !(istype(I,/obj/item/reagent_containers/food) || istype(I,/obj/item/organ))) items_preserved |= I //Reagent transfer @@ -1106,33 +643,13 @@ // Handle a mob being absorbed /obj/belly/proc/absorb_living(mob/living/M) - var/absorb_alert_owner = pick(absorb_messages_owner) - var/absorb_alert_prey = pick(absorb_messages_prey) - - var/absorbed_count = 0 - for(var/mob/living/L in contents) - if(L.absorbed) - absorbed_count++ - - //Replace placeholder vars - absorb_alert_owner = replacetext(absorb_alert_owner, "%pred", owner) - absorb_alert_owner = replacetext(absorb_alert_owner, "%prey", M) - absorb_alert_owner = replacetext(absorb_alert_owner, "%belly", lowertext(name)) - absorb_alert_owner = replacetext(absorb_alert_owner, "%countprey", absorbed_count) - - absorb_alert_prey = replacetext(absorb_alert_prey, "%pred", owner) - absorb_alert_prey = replacetext(absorb_alert_prey, "%prey", M) - absorb_alert_prey = replacetext(absorb_alert_prey, "%belly", lowertext(name)) - absorb_alert_prey = replacetext(absorb_alert_prey, "%countprey", absorbed_count) - M.absorbed = TRUE if(M.ckey) handle_absorb_langs(M, owner) - GLOB.prey_absorbed_roundstat++ - to_chat(M, "[absorb_alert_prey]") - to_chat(owner, "[absorb_alert_owner]") + to_chat(M, span_vnotice("[belly_format_string(absorb_messages_prey, M, use_absorbed_count = TRUE)]")) + to_chat(owner, span_vnotice("[belly_format_string(absorb_messages_owner, M, use_absorbed_count = TRUE)]")) if(M.noisy) //Mute drained absorbee hunger if enabled. M.noisy = FALSE @@ -1166,11 +683,7 @@ if(absorbed_desc) //Replace placeholder vars - var/formatted_abs_desc - formatted_abs_desc = replacetext(absorbed_desc, "%belly", lowertext(name)) //replace with this belly's name - formatted_abs_desc = replacetext(formatted_abs_desc, "%pred", owner) //replace with this belly's owner - formatted_abs_desc = replacetext(formatted_abs_desc, "%prey", M) //replace with whatever mob entered into this belly - to_chat(M, "[formatted_abs_desc]") + to_chat(M, span_vnotice(span_bold("[belly_format_string(absorbed_desc, M)]"))) //Update owner owner.updateVRPanel() @@ -1184,7 +697,7 @@ dest_belly = B break if(!dest_belly) - to_chat(owner, "Something went wrong with your belly transfer settings. Your [lowertext(name)] has had its transfer location cleared as a precaution.") + to_chat(owner, span_vwarning("Something went wrong with your belly transfer settings. Your [lowertext(name)] has had its transfer location cleared as a precaution.")) transferlocation_absorb = null return @@ -1192,32 +705,13 @@ // Handle a mob being unabsorbed /obj/belly/proc/unabsorb_living(mob/living/M) - var/unabsorb_alert_owner = pick(unabsorb_messages_owner) - var/unabsorb_alert_prey = pick(unabsorb_messages_prey) - - var/absorbed_count = 0 - for(var/mob/living/L in contents) - if(L.absorbed) - absorbed_count++ - - //Replace placeholder vars - unabsorb_alert_owner = replacetext(unabsorb_alert_owner, "%pred", owner) - unabsorb_alert_owner = replacetext(unabsorb_alert_owner, "%prey", M) - unabsorb_alert_owner = replacetext(unabsorb_alert_owner, "%belly", lowertext(name)) - unabsorb_alert_owner = replacetext(unabsorb_alert_owner, "%countprey", absorbed_count) - - unabsorb_alert_prey = replacetext(unabsorb_alert_prey, "%pred", owner) - unabsorb_alert_prey = replacetext(unabsorb_alert_prey, "%prey", M) - unabsorb_alert_prey = replacetext(unabsorb_alert_prey, "%belly", lowertext(name)) - unabsorb_alert_prey = replacetext(unabsorb_alert_prey, "%countprey", absorbed_count) - M.absorbed = FALSE handle_absorb_langs(M, owner) - to_chat(M, "[unabsorb_alert_prey]") - to_chat(owner, "[unabsorb_alert_owner]") + to_chat(M, span_vnotice(belly_format_string(unabsorb_messages_prey, M, use_absorbed_count = TRUE))) + to_chat(owner, span_vnotice(belly_format_string(unabsorb_messages_owner, M, use_absorbed_count = TRUE))) if(desc) - to_chat(M, "[desc]") + to_chat(M, span_vnotice(span_bold("[belly_format_string(desc, M)]"))) //Update owner owner.updateVRPanel() @@ -1273,46 +767,13 @@ R.setClickCooldown(50) - var/living_count = 0 - for(var/mob/living/L in contents) - living_count++ - - var/escape_attempt_owner_message = pick(escape_attempt_messages_owner) - var/escape_attempt_prey_message = pick(escape_attempt_messages_prey) - var/escape_fail_owner_message = pick(escape_fail_messages_owner) - var/escape_fail_prey_message = pick(escape_fail_messages_prey) - - escape_attempt_owner_message = replacetext(escape_attempt_owner_message, "%pred", owner) - escape_attempt_owner_message = replacetext(escape_attempt_owner_message, "%prey", R) - escape_attempt_owner_message = replacetext(escape_attempt_owner_message, "%belly", lowertext(name)) - escape_attempt_owner_message = replacetext(escape_attempt_owner_message, "%countprey", living_count) - escape_attempt_owner_message = replacetext(escape_attempt_owner_message, "%count", contents.len) - - escape_attempt_prey_message = replacetext(escape_attempt_prey_message, "%pred", owner) - escape_attempt_prey_message = replacetext(escape_attempt_prey_message, "%prey", R) - escape_attempt_prey_message = replacetext(escape_attempt_prey_message, "%belly", lowertext(name)) - escape_attempt_prey_message = replacetext(escape_attempt_prey_message, "%countprey", living_count) - escape_attempt_prey_message = replacetext(escape_attempt_prey_message, "%count", contents.len) - - escape_fail_owner_message = replacetext(escape_fail_owner_message, "%pred", owner) - escape_fail_owner_message = replacetext(escape_fail_owner_message, "%prey", R) - escape_fail_owner_message = replacetext(escape_fail_owner_message, "%belly", lowertext(name)) - escape_fail_owner_message = replacetext(escape_fail_owner_message, "%countprey", living_count) - escape_fail_owner_message = replacetext(escape_fail_owner_message, "%count", contents.len) - - escape_fail_prey_message = replacetext(escape_fail_prey_message, "%pred", owner) - escape_fail_prey_message = replacetext(escape_fail_prey_message, "%prey", R) - escape_fail_prey_message = replacetext(escape_fail_prey_message, "%belly", lowertext(name)) - escape_fail_prey_message = replacetext(escape_fail_prey_message, "%countprey", living_count) - escape_fail_prey_message = replacetext(escape_fail_prey_message, "%count", contents.len) - - escape_attempt_owner_message = "[escape_attempt_owner_message]" - escape_attempt_prey_message = "[escape_attempt_prey_message]" - escape_fail_owner_message = "[escape_fail_owner_message]" - escape_fail_prey_message = "[escape_fail_prey_message]" + var/escape_attempt_owner_message = span_vwarning(belly_format_string(escape_attempt_messages_owner, R)) + var/escape_attempt_prey_message = span_vwarning(belly_format_string(escape_attempt_messages_prey, R)) + var/escape_fail_owner_message = span_vwarning(belly_format_string(escape_fail_messages_owner, R)) + var/escape_fail_prey_message = span_vnotice(belly_format_string(escape_fail_messages_prey, R)) if(owner.stat) //If owner is stat (dead, KO) we can actually escape - escape_attempt_prey_message = replacetext(escape_attempt_prey_message, new/regex("^(]*)?>.*)()$", ""), "$1 (This will take around [escapetime/10] seconds.)$2") + escape_attempt_prey_message = span_vwarning("[escape_attempt_prey_message] (will take around [escapetime/10] seconds.)") to_chat(R, escape_attempt_prey_message) to_chat(owner, escape_attempt_owner_message) @@ -1331,23 +792,9 @@ to_chat(owner, escape_fail_owner_message) return return - var/struggle_outer_message = pick(struggle_messages_outside) - var/struggle_user_message = pick(struggle_messages_inside) - struggle_outer_message = replacetext(struggle_outer_message, "%pred", owner) - struggle_outer_message = replacetext(struggle_outer_message, "%prey", R) - struggle_outer_message = replacetext(struggle_outer_message, "%belly", lowertext(name)) - struggle_outer_message = replacetext(struggle_outer_message, "%countprey", living_count) - struggle_outer_message = replacetext(struggle_outer_message, "%count", contents.len) - - struggle_user_message = replacetext(struggle_user_message, "%pred", owner) - struggle_user_message = replacetext(struggle_user_message, "%prey", R) - struggle_user_message = replacetext(struggle_user_message, "%belly", lowertext(name)) - struggle_user_message = replacetext(struggle_user_message, "%countprey", living_count) - struggle_user_message = replacetext(struggle_user_message, "%count", contents.len) - - struggle_outer_message = "[struggle_outer_message]" - struggle_user_message = "[struggle_user_message]" + var/struggle_outer_message = span_valert(belly_format_string(struggle_messages_outside, R)) + var/struggle_user_message = span_valert(belly_format_string(struggle_messages_inside, R)) for(var/mob/M in hearers(4, owner)) M.show_message(struggle_outer_message, 2) // hearable @@ -1365,9 +812,9 @@ struggle_snuggle = sound(get_sfx("classic_struggle_sounds")) else struggle_snuggle = sound(get_sfx("fancy_prey_struggle")) - playsound(src, struggle_snuggle, vary = 1, vol = 75, falloff = VORE_SOUND_FALLOFF, preference = /datum/client_preference/digestion_noises, volume_channel = VOLUME_CHANNEL_VORE) + playsound(src, struggle_snuggle, vary = 1, vol = 75, falloff = VORE_SOUND_FALLOFF, preference = /datum/preference/toggle/digestion_noises, volume_channel = VOLUME_CHANNEL_VORE) else - playsound(src, struggle_rustle, vary = 1, vol = 75, falloff = VORE_SOUND_FALLOFF, preference = /datum/client_preference/digestion_noises, volume_channel = VOLUME_CHANNEL_VORE) + playsound(src, struggle_rustle, vary = 1, vol = 75, falloff = VORE_SOUND_FALLOFF, preference = /datum/preference/toggle/digestion_noises, volume_channel = VOLUME_CHANNEL_VORE) if(escapable) //If the stomach has escapable enabled. if(prob(escapechance)) //Let's have it check to see if the prey escapes first. @@ -1375,34 +822,9 @@ to_chat(owner, escape_attempt_owner_message) if(do_after(R, escapetime)) if(escapable && C) - var/escape_item_owner_message = pick(escape_item_messages_owner) - var/escape_item_prey_message = pick(escape_item_messages_prey) - var/escape_item_outside_message = pick(escape_item_messages_outside) - - escape_item_owner_message = replacetext(escape_item_owner_message, "%pred", owner) - escape_item_owner_message = replacetext(escape_item_owner_message, "%prey", R) - escape_item_owner_message = replacetext(escape_item_owner_message, "%belly", lowertext(name)) - escape_item_owner_message = replacetext(escape_item_owner_message, "%countprey", living_count) - escape_item_owner_message = replacetext(escape_item_owner_message, "%count", contents.len) - escape_item_owner_message = replacetext(escape_item_owner_message, "%item", C) - - escape_item_prey_message = replacetext(escape_item_prey_message, "%pred", owner) - escape_item_prey_message = replacetext(escape_item_prey_message, "%prey", R) - escape_item_prey_message = replacetext(escape_item_prey_message, "%belly", lowertext(name)) - escape_item_prey_message = replacetext(escape_item_prey_message, "%countprey", living_count) - escape_item_prey_message = replacetext(escape_item_prey_message, "%count", contents.len) - escape_item_prey_message = replacetext(escape_item_prey_message, "%item", C) - - escape_item_outside_message = replacetext(escape_item_outside_message, "%pred", owner) - escape_item_outside_message = replacetext(escape_item_outside_message, "%prey", R) - escape_item_outside_message = replacetext(escape_item_outside_message, "%belly", lowertext(name)) - escape_item_outside_message = replacetext(escape_item_outside_message, "%countprey", living_count) - escape_item_outside_message = replacetext(escape_item_outside_message, "%count", contents.len) - escape_item_outside_message = replacetext(escape_item_outside_message, "%item", C) - - escape_item_owner_message = "[escape_item_owner_message]" - escape_item_prey_message = "[escape_item_prey_message]" - escape_item_outside_message = "[escape_item_outside_message]" + var/escape_item_owner_message = span_vwarning(belly_format_string(escape_item_messages_owner, R, item = C)) + var/escape_item_prey_message = span_vwarning(belly_format_string(escape_item_messages_prey, R, item = C)) + var/escape_item_outside_message = span_vwarning(belly_format_string(escape_item_messages_outside, R, item = C)) release_specific_contents(C) to_chat(R, escape_item_prey_message) @@ -1411,31 +833,10 @@ M.show_message(escape_item_outside_message, 2) return if(escapable && (R.loc == src) && !R.absorbed) //Does the owner still have escapable enabled? - var/escape_owner_message = pick(escape_messages_owner) - var/escape_prey_message = pick(escape_messages_prey) - var/escape_outside_message = pick(escape_messages_outside) - - escape_owner_message = replacetext(escape_owner_message, "%pred", owner) - escape_owner_message = replacetext(escape_owner_message, "%prey", R) - escape_owner_message = replacetext(escape_owner_message, "%belly", lowertext(name)) - escape_owner_message = replacetext(escape_owner_message, "%countprey", living_count) - escape_owner_message = replacetext(escape_owner_message, "%count", contents.len) - - escape_prey_message = replacetext(escape_prey_message, "%pred", owner) - escape_prey_message = replacetext(escape_prey_message, "%prey", R) - escape_prey_message = replacetext(escape_prey_message, "%belly", lowertext(name)) - escape_prey_message = replacetext(escape_prey_message, "%countprey", living_count) - escape_prey_message = replacetext(escape_prey_message, "%count", contents.len) - - escape_outside_message = replacetext(escape_outside_message, "%pred", owner) - escape_outside_message = replacetext(escape_outside_message, "%prey", R) - escape_outside_message = replacetext(escape_outside_message, "%belly", lowertext(name)) - escape_outside_message = replacetext(escape_outside_message, "%countprey", living_count) - escape_outside_message = replacetext(escape_outside_message, "%count", contents.len) - - escape_owner_message = "[escape_owner_message]" - escape_prey_message = "[escape_prey_message]" - escape_outside_message = "[escape_outside_message]" + var/escape_owner_message = span_vwarning(belly_format_string(escape_messages_owner, R)) + var/escape_prey_message = span_vwarning(belly_format_string(escape_messages_prey, R)) + var/escape_outside_message = span_vwarning(belly_format_string(escape_messages_outside, R)) + release_specific_contents(R) to_chat(R, escape_prey_message) to_chat(owner, escape_owner_message) @@ -1457,29 +858,12 @@ break if(!dest_belly) - to_chat(owner, "Something went wrong with your belly transfer settings. Your [lowertext(name)] has had it's transfer chance and transfer location cleared as a precaution.") + to_chat(owner, span_vwarning("Something went wrong with your belly transfer settings. Your [lowertext(name)] has had it's transfer chance and transfer location cleared as a precaution.")) transferchance = 0 transferlocation = null return - var/primary_transfer_owner_message = pick(primary_transfer_messages_owner) - var/primary_transfer_prey_message = pick(primary_transfer_messages_prey) - - primary_transfer_owner_message = replacetext(primary_transfer_owner_message, "%pred", owner) - primary_transfer_owner_message = replacetext(primary_transfer_owner_message, "%prey", R) - primary_transfer_owner_message = replacetext(primary_transfer_owner_message, "%belly", lowertext(name)) - primary_transfer_owner_message = replacetext(primary_transfer_owner_message, "%countprey", living_count) - primary_transfer_owner_message = replacetext(primary_transfer_owner_message, "%count", contents.len) - primary_transfer_owner_message = replacetext(primary_transfer_owner_message, "%dest", transferlocation) - - primary_transfer_prey_message = replacetext(primary_transfer_prey_message, "%pred", owner) - primary_transfer_prey_message = replacetext(primary_transfer_prey_message, "%prey", R) - primary_transfer_prey_message = replacetext(primary_transfer_prey_message, "%belly", lowertext(name)) - primary_transfer_prey_message = replacetext(primary_transfer_prey_message, "%countprey", living_count) - primary_transfer_prey_message = replacetext(primary_transfer_prey_message, "%count", contents.len) - primary_transfer_prey_message = replacetext(primary_transfer_prey_message, "%dest", transferlocation) - - primary_transfer_owner_message = "[primary_transfer_owner_message]" - primary_transfer_prey_message = "[primary_transfer_prey_message]" + var/primary_transfer_owner_message = span_vwarning(belly_format_string(primary_transfer_messages_owner, R, dest = transferlocation)) + var/primary_transfer_prey_message = span_vwarning(belly_format_string(primary_transfer_messages_prey, R, dest = transferlocation)) to_chat(R, primary_transfer_prey_message) to_chat(owner, primary_transfer_owner_message) @@ -1497,30 +881,13 @@ break if(!dest_belly) - to_chat(owner, "Something went wrong with your belly transfer settings. Your [lowertext(name)] has had it's transfer chance and transfer location cleared as a precaution.") + to_chat(owner, span_vwarning("Something went wrong with your belly transfer settings. Your [lowertext(name)] has had it's transfer chance and transfer location cleared as a precaution.")) transferchance_secondary = 0 transferlocation_secondary = null return - var/secondary_transfer_owner_message = pick(secondary_transfer_messages_owner) - var/secondary_transfer_prey_message = pick(secondary_transfer_messages_prey) - - secondary_transfer_owner_message = replacetext(secondary_transfer_owner_message, "%pred", owner) - secondary_transfer_owner_message = replacetext(secondary_transfer_owner_message, "%prey", R) - secondary_transfer_owner_message = replacetext(secondary_transfer_owner_message, "%belly", lowertext(name)) - secondary_transfer_owner_message = replacetext(secondary_transfer_owner_message, "%countprey", living_count) - secondary_transfer_owner_message = replacetext(secondary_transfer_owner_message, "%count", contents.len) - secondary_transfer_owner_message = replacetext(secondary_transfer_owner_message, "%dest", transferlocation_secondary) - - secondary_transfer_prey_message = replacetext(secondary_transfer_prey_message, "%pred", owner) - secondary_transfer_prey_message = replacetext(secondary_transfer_prey_message, "%prey", R) - secondary_transfer_prey_message = replacetext(secondary_transfer_prey_message, "%belly", lowertext(name)) - secondary_transfer_prey_message = replacetext(secondary_transfer_prey_message, "%countprey", living_count) - secondary_transfer_prey_message = replacetext(secondary_transfer_prey_message, "%count", contents.len) - secondary_transfer_prey_message = replacetext(secondary_transfer_prey_message, "%dest", transferlocation_secondary) - - secondary_transfer_owner_message = "[secondary_transfer_owner_message]" - secondary_transfer_prey_message = "[secondary_transfer_prey_message]" + var/secondary_transfer_owner_message = span_vwarning(belly_format_string(secondary_transfer_messages_owner, R, dest = transferlocation_secondary)) + var/secondary_transfer_prey_message = span_vwarning(belly_format_string(secondary_transfer_messages_prey, R, dest = transferlocation_secondary)) to_chat(R, secondary_transfer_prey_message) to_chat(owner, secondary_transfer_owner_message) @@ -1531,23 +898,8 @@ return else if(prob(absorbchance) && digest_mode != DM_ABSORB) //After that, let's have it run the absorb chance. - var/absorb_chance_owner_message = pick(absorb_chance_messages_owner) - var/absorb_chance_prey_message = pick(absorb_chance_messages_prey) - - absorb_chance_owner_message = replacetext(absorb_chance_owner_message, "%pred", owner) - absorb_chance_owner_message = replacetext(absorb_chance_owner_message, "%prey", R) - absorb_chance_owner_message = replacetext(absorb_chance_owner_message, "%belly", lowertext(name)) - absorb_chance_owner_message = replacetext(absorb_chance_owner_message, "%countprey", living_count) - absorb_chance_owner_message = replacetext(absorb_chance_owner_message, "%count", contents.len) - - absorb_chance_prey_message = replacetext(absorb_chance_prey_message, "%pred", owner) - absorb_chance_prey_message = replacetext(absorb_chance_prey_message, "%prey", R) - absorb_chance_prey_message = replacetext(absorb_chance_prey_message, "%belly", lowertext(name)) - absorb_chance_prey_message = replacetext(absorb_chance_prey_message, "%countprey", living_count) - absorb_chance_prey_message = replacetext(absorb_chance_prey_message, "%count", contents.len) - - absorb_chance_owner_message = "[absorb_chance_owner_message]" - absorb_chance_prey_message = "[absorb_chance_prey_message]" + var/absorb_chance_owner_message = span_vwarning(belly_format_string(absorb_chance_messages_owner, R)) + var/absorb_chance_prey_message = span_vwarning(belly_format_string(absorb_chance_messages_prey, R)) to_chat(R, absorb_chance_prey_message) to_chat(owner, absorb_chance_owner_message) @@ -1555,46 +907,16 @@ return else if(prob(digestchance) && digest_mode != DM_DIGEST) //Then, let's see if it should run the digest chance. - var/digest_chance_owner_message = pick(digest_chance_messages_owner) - var/digest_chance_prey_message = pick(digest_chance_messages_prey) - - digest_chance_owner_message = replacetext(digest_chance_owner_message, "%pred", owner) - digest_chance_owner_message = replacetext(digest_chance_owner_message, "%prey", R) - digest_chance_owner_message = replacetext(digest_chance_owner_message, "%belly", lowertext(name)) - digest_chance_owner_message = replacetext(digest_chance_owner_message, "%countprey", living_count) - digest_chance_owner_message = replacetext(digest_chance_owner_message, "%count", contents.len) - - digest_chance_prey_message = replacetext(digest_chance_prey_message, "%pred", owner) - digest_chance_prey_message = replacetext(digest_chance_prey_message, "%prey", R) - digest_chance_prey_message = replacetext(digest_chance_prey_message, "%belly", lowertext(name)) - digest_chance_prey_message = replacetext(digest_chance_prey_message, "%countprey", living_count) - digest_chance_prey_message = replacetext(digest_chance_prey_message, "%count", contents.len) - - digest_chance_owner_message = "[digest_chance_owner_message]" - digest_chance_prey_message = "[digest_chance_prey_message]" + var/digest_chance_owner_message = span_vwarning(belly_format_string(digest_chance_messages_owner, R)) + var/digest_chance_prey_message = span_vwarning(belly_format_string(digest_chance_messages_prey, R)) to_chat(R, digest_chance_prey_message) to_chat(owner, digest_chance_owner_message) digest_mode = DM_DIGEST return else if(prob(selectchance) && digest_mode != DM_SELECT) //Finally, let's see if it should run the selective mode chance. - var/select_chance_owner_message = pick(select_chance_messages_owner) - var/select_chance_prey_message = pick(select_chance_messages_prey) - - select_chance_owner_message = replacetext(select_chance_owner_message, "%pred", owner) - select_chance_owner_message = replacetext(select_chance_owner_message, "%prey", R) - select_chance_owner_message = replacetext(select_chance_owner_message, "%belly", lowertext(name)) - select_chance_owner_message = replacetext(select_chance_owner_message, "%countprey", living_count) - select_chance_owner_message = replacetext(select_chance_owner_message, "%count", contents.len) - - select_chance_prey_message = replacetext(select_chance_prey_message, "%pred", owner) - select_chance_prey_message = replacetext(select_chance_prey_message, "%prey", R) - select_chance_prey_message = replacetext(select_chance_prey_message, "%belly", lowertext(name)) - select_chance_prey_message = replacetext(select_chance_prey_message, "%countprey", living_count) - select_chance_prey_message = replacetext(select_chance_prey_message, "%count", contents.len) - - select_chance_owner_message = "[select_chance_owner_message]" - select_chance_prey_message = "[select_chance_prey_message]" + var/select_chance_owner_message = span_vwarning(belly_format_string(select_chance_messages_owner, R)) + var/select_chance_prey_message = span_vwarning(belly_format_string(select_chance_messages_prey, R)) to_chat(R, select_chance_prey_message) to_chat(owner, select_chance_owner_message) @@ -1602,7 +924,7 @@ else //Nothing interesting happened. to_chat(R, struggle_user_message) - to_chat(owner, "Your prey appears to be unable to make any progress in escaping your [lowertext(name)].") + to_chat(owner, span_vwarning("Your prey appears to be unable to make any progress in escaping your [lowertext(name)].")) return to_chat(R, struggle_user_message) @@ -1612,26 +934,8 @@ R.setClickCooldown(50) - var/struggle_outer_message = pick(absorbed_struggle_messages_outside) - var/struggle_user_message = pick(absorbed_struggle_messages_inside) - - var/absorbed_count = 0 - for(var/mob/living/L in contents) - if(L.absorbed) - absorbed_count++ - - struggle_outer_message = replacetext(struggle_outer_message, "%pred", owner) - struggle_outer_message = replacetext(struggle_outer_message, "%prey", R) - struggle_outer_message = replacetext(struggle_outer_message, "%belly", lowertext(name)) - struggle_outer_message = replacetext(struggle_outer_message, "%countprey", absorbed_count) - - struggle_user_message = replacetext(struggle_user_message, "%pred", owner) - struggle_user_message = replacetext(struggle_user_message, "%prey", R) - struggle_user_message = replacetext(struggle_user_message, "%belly", lowertext(name)) - struggle_user_message = replacetext(struggle_user_message, "%countprey", absorbed_count) - - struggle_outer_message = "[struggle_outer_message]" - struggle_user_message = "[struggle_user_message]" + var/struggle_outer_message = span_valert(belly_format_string(absorbed_struggle_messages_outside, R, use_absorbed_count = TRUE)) + var/struggle_user_message = span_valert(belly_format_string(absorbed_struggle_messages_inside, R, use_absorbed_count = TRUE)) for(var/mob/M in hearers(4, owner)) M.show_message(struggle_outer_message, 2) // hearable @@ -1644,66 +948,23 @@ struggle_snuggle = sound(get_sfx("classic_struggle_sounds")) else struggle_snuggle = sound(get_sfx("fancy_prey_struggle")) - playsound(src, struggle_snuggle, vary = 1, vol = 75, falloff = VORE_SOUND_FALLOFF, preference = /datum/client_preference/digestion_noises, volume_channel = VOLUME_CHANNEL_VORE) + playsound(src, struggle_snuggle, vary = 1, vol = 75, falloff = VORE_SOUND_FALLOFF, preference = /datum/preference/toggle/digestion_noises, volume_channel = VOLUME_CHANNEL_VORE) else - playsound(src, struggle_rustle, vary = 1, vol = 75, falloff = VORE_SOUND_FALLOFF, preference = /datum/client_preference/digestion_noises, volume_channel = VOLUME_CHANNEL_VORE) + playsound(src, struggle_rustle, vary = 1, vol = 75, falloff = VORE_SOUND_FALLOFF, preference = /datum/preference/toggle/digestion_noises, volume_channel = VOLUME_CHANNEL_VORE) //absorb resists if(escapable || owner.stat) //If the stomach has escapable enabled or the owner is dead/unconscious if(prob(escapechance) || owner.stat) //Let's have it check to see if the prey's escape attempt starts. - - - var/living_count = 0 - for(var/mob/living/L in contents) - living_count++ - - var/escape_attempt_absorbed_owner_message = pick(escape_attempt_absorbed_messages_owner) - var/escape_attempt_absorbed_prey_message = pick(escape_attempt_absorbed_messages_prey) - - escape_attempt_absorbed_owner_message = replacetext(escape_attempt_absorbed_owner_message, "%pred", owner) - escape_attempt_absorbed_owner_message = replacetext(escape_attempt_absorbed_owner_message, "%prey", R) - escape_attempt_absorbed_owner_message = replacetext(escape_attempt_absorbed_owner_message, "%belly", lowertext(name)) - escape_attempt_absorbed_owner_message = replacetext(escape_attempt_absorbed_owner_message, "%countprey", living_count) - escape_attempt_absorbed_owner_message = replacetext(escape_attempt_absorbed_owner_message, "%count", contents.len) - - escape_attempt_absorbed_prey_message = replacetext(escape_attempt_absorbed_prey_message, "%pred", owner) - escape_attempt_absorbed_prey_message = replacetext(escape_attempt_absorbed_prey_message, "%prey", R) - escape_attempt_absorbed_prey_message = replacetext(escape_attempt_absorbed_prey_message, "%belly", lowertext(name)) - escape_attempt_absorbed_prey_message = replacetext(escape_attempt_absorbed_prey_message, "%countprey", living_count) - escape_attempt_absorbed_prey_message = replacetext(escape_attempt_absorbed_prey_message, "%count", contents.len) - - escape_attempt_absorbed_owner_message = "[escape_attempt_absorbed_owner_message]" - escape_attempt_absorbed_prey_message = "[escape_attempt_absorbed_prey_message]" + var/escape_attempt_absorbed_owner_message = span_vwarning(belly_format_string(escape_attempt_absorbed_messages_owner, R)) + var/escape_attempt_absorbed_prey_message = span_vwarning(belly_format_string(escape_attempt_absorbed_messages_prey, R)) to_chat(R, escape_attempt_absorbed_prey_message) to_chat(owner, escape_attempt_absorbed_owner_message) if(do_after(R, escapetime)) if((escapable || owner.stat) && (R.loc == src) && prob(escapechance_absorbed)) //Does the escape attempt succeed? - var/escape_absorbed_owner_message = pick(escape_absorbed_messages_owner) - var/escape_absorbed_prey_message = pick(escape_absorbed_messages_prey) - var/escape_absorbed_outside_message = pick(escape_absorbed_messages_outside) - - escape_absorbed_owner_message = replacetext(escape_absorbed_owner_message, "%pred", owner) - escape_absorbed_owner_message = replacetext(escape_absorbed_owner_message, "%prey", R) - escape_absorbed_owner_message = replacetext(escape_absorbed_owner_message, "%belly", lowertext(name)) - escape_absorbed_owner_message = replacetext(escape_absorbed_owner_message, "%countprey", living_count) - escape_absorbed_owner_message = replacetext(escape_absorbed_owner_message, "%count", contents.len) - - escape_absorbed_prey_message = replacetext(escape_absorbed_prey_message, "%pred", owner) - escape_absorbed_prey_message = replacetext(escape_absorbed_prey_message, "%prey", R) - escape_absorbed_prey_message = replacetext(escape_absorbed_prey_message, "%belly", lowertext(name)) - escape_absorbed_prey_message = replacetext(escape_absorbed_prey_message, "%countprey", living_count) - escape_absorbed_prey_message = replacetext(escape_absorbed_prey_message, "%count", contents.len) - - escape_absorbed_outside_message = replacetext(escape_absorbed_outside_message, "%pred", owner) - escape_absorbed_outside_message = replacetext(escape_absorbed_outside_message, "%prey", R) - escape_absorbed_outside_message = replacetext(escape_absorbed_outside_message, "%belly", lowertext(name)) - escape_absorbed_outside_message = replacetext(escape_absorbed_outside_message, "%countprey", living_count) - escape_absorbed_outside_message = replacetext(escape_absorbed_outside_message, "%count", contents.len) - - escape_absorbed_owner_message = "[escape_absorbed_owner_message]" - escape_absorbed_prey_message = "[escape_absorbed_prey_message]" - escape_absorbed_outside_message = "[escape_absorbed_outside_message]" + var/escape_absorbed_owner_message = span_vwarning(belly_format_string(escape_absorbed_messages_owner, R)) + var/escape_absorbed_prey_message = span_vwarning(belly_format_string(escape_absorbed_messages_prey, R)) + var/escape_absorbed_outside_message = span_vwarning(belly_format_string(escape_absorbed_messages_outside, R)) release_specific_contents(R) to_chat(R, escape_absorbed_prey_message) @@ -1714,24 +975,8 @@ else if(!(R.loc == src)) //Aren't even in the belly. Quietly fail. return else //Belly became inescapable or you failed your roll. - - var/escape_fail_absorbed_owner_message = pick(escape_fail_absorbed_messages_owner) - var/escape_fail_absorbed_prey_message = pick(escape_fail_absorbed_messages_prey) - - escape_fail_absorbed_owner_message = replacetext(escape_fail_absorbed_owner_message, "%pred", owner) - escape_fail_absorbed_owner_message = replacetext(escape_fail_absorbed_owner_message, "%prey", R) - escape_fail_absorbed_owner_message = replacetext(escape_fail_absorbed_owner_message, "%belly", lowertext(name)) - escape_fail_absorbed_owner_message = replacetext(escape_fail_absorbed_owner_message, "%countprey", living_count) - escape_fail_absorbed_owner_message = replacetext(escape_fail_absorbed_owner_message, "%count", contents.len) - - escape_fail_absorbed_prey_message = replacetext(escape_fail_absorbed_prey_message, "%pred", owner) - escape_fail_absorbed_prey_message = replacetext(escape_fail_absorbed_prey_message, "%prey", R) - escape_fail_absorbed_prey_message = replacetext(escape_fail_absorbed_prey_message, "%belly", lowertext(name)) - escape_fail_absorbed_prey_message = replacetext(escape_fail_absorbed_prey_message, "%countprey", living_count) - escape_fail_absorbed_prey_message = replacetext(escape_fail_absorbed_prey_message, "%count", contents.len) - - escape_fail_absorbed_owner_message = "[escape_fail_absorbed_owner_message]" - escape_fail_absorbed_prey_message = "[escape_fail_absorbed_prey_message]" + var/escape_fail_absorbed_owner_message = span_vwarning(belly_format_string(escape_fail_absorbed_messages_owner, R)) + var/escape_fail_absorbed_prey_message = span_vnotice(belly_format_string(escape_fail_absorbed_messages_prey, R)) to_chat(R, escape_fail_absorbed_prey_message) to_chat(owner, escape_fail_absorbed_owner_message) @@ -1761,7 +1006,7 @@ ourmob.reset_view(owner) if(isitem(content)) var/obj/item/I = content - if(istype(I,/obj/item/weapon/card/id)) + if(istype(I,/obj/item/card/id)) I.gurgle_contaminate(target.contents, target.contamination_flavor, target.contamination_color) if(I.gurgled && target.contaminates) I.decontaminate() diff --git a/code/modules/vore/eating/bellymodes_datum_vr.dm b/code/modules/vore/eating/bellymodes_datum_vr.dm index 9c49d8f93f0..f3ac184b8d3 100644 --- a/code/modules/vore/eating/bellymodes_datum_vr.dm +++ b/code/modules/vore/eating/bellymodes_datum_vr.dm @@ -29,7 +29,7 @@ GLOBAL_LIST_INIT(digest_modes, list()) //Person just died in guts! if(L.stat == DEAD) - if(L.is_preference_enabled(/datum/client_preference/digestion_noises)) + if(L.check_sound_preference(/datum/preference/toggle/digestion_noises)) if(!B.fancy_vore) SEND_SOUND(L, sound(get_sfx("classic_death_sounds"))) else @@ -189,7 +189,7 @@ GLOBAL_LIST_INIT(digest_modes, list()) /datum/digest_mode/egg/handle_atoms(obj/belly/B, list/touchable_atoms) var/list/egg_contents = list() for(var/E in touchable_atoms) - if(istype(E, /obj/item/weapon/storage/vore_egg)) // Don't egg other eggs. + if(istype(E, /obj/item/storage/vore_egg)) // Don't egg other eggs. continue if(isliving(E)) var/mob/living/L = E @@ -217,9 +217,9 @@ GLOBAL_LIST_INIT(digest_modes, list()) return list("to_update" = TRUE) if(isliving(C)) var/mob/living/M = C - var/mob_holder_type = M.holder_type || /obj/item/weapon/holder + var/mob_holder_type = M.holder_type || /obj/item/holder B.ownegg.w_class = M.size_multiplier * 4 //Egg size and weight scaled to match occupant. - var/obj/item/weapon/holder/H = new mob_holder_type(B.ownegg, M) + var/obj/item/holder/H = new mob_holder_type(B.ownegg, M) B.ownegg.max_storage_space = H.w_class B.ownegg.icon_scale_x = 0.25 * B.ownegg.w_class B.ownegg.icon_scale_y = 0.25 * B.ownegg.w_class diff --git a/code/modules/vore/eating/bellymodes_vr.dm b/code/modules/vore/eating/bellymodes_vr.dm index d71fdac2310..95ee35c879d 100644 --- a/code/modules/vore/eating/bellymodes_vr.dm +++ b/code/modules/vore/eating/bellymodes_vr.dm @@ -59,7 +59,7 @@ /////////////////////////// Make any noise /////////////////////////// if(digestion_noise_chance && prob(digestion_noise_chance)) for(var/mob/M in contents) - if(M && M.is_preference_enabled(/datum/client_preference/digestion_noises)) + if(M && M.check_sound_preference(/datum/preference/toggle/digestion_noises)) SEND_SOUND(M, prey_digest) play_sound = pred_digest @@ -68,7 +68,7 @@ updateVRPanels() if(play_sound) for(var/mob/M in hearers(VORE_SOUND_RANGE, get_turf(owner))) //so we don't fill the whole room with the sound effect - if(!M.is_preference_enabled(/datum/client_preference/digestion_noises)) + if(!M.check_sound_preference(/datum/preference/toggle/digestion_noises)) continue if(isturf(M.loc) || (M.loc != src)) //to avoid people on the inside getting the outside sounds and their direct sounds + built in sound pref check if(fancy_vore) @@ -95,7 +95,7 @@ if(play_sound) for(var/mob/M in hearers(VORE_SOUND_RANGE, get_turf(owner))) //so we don't fill the whole room with the sound effect - if(!M.is_preference_enabled(/datum/client_preference/digestion_noises)) + if(!M.check_sound_preference(/datum/preference/toggle/digestion_noises)) continue if(isturf(M.loc) || (M.loc != src)) //to avoid people on the inside getting the outside sounds and their direct sounds + built in sound pref check if(fancy_vore) @@ -107,25 +107,12 @@ if(emote_active) var/list/EL = emote_lists[digest_mode] if((LAZYLEN(EL) || LAZYLEN(emote_lists[DM_HOLD_ABSORBED]) || (digest_mode == DM_DIGEST && LAZYLEN(emote_lists[DM_HOLD])) || (digest_mode == DM_SELECT && (LAZYLEN(emote_lists[DM_HOLD])||LAZYLEN(emote_lists[DM_DIGEST])||LAZYLEN(emote_lists[DM_ABSORB])) )) && next_emote <= world.time) - var/living_count = 0 - var/absorbed_count = 0 - for(var/mob/living/L in contents) - living_count++ - if(L.absorbed) - absorbed_count++ next_emote = world.time + (emote_time SECONDS) for(var/mob/living/M in contents) if(M.absorbed) EL = emote_lists[DM_HOLD_ABSORBED] - - var/raw_message = pick(EL) - var/formatted_message - formatted_message = replacetext(raw_message, "%belly", lowertext(name)) - formatted_message = replacetext(formatted_message, "%pred", owner) - formatted_message = replacetext(formatted_message, "%prey", M) - formatted_message = replacetext(formatted_message, "%countprey", absorbed_count) - if(formatted_message) - to_chat(M, "[formatted_message]") + if(LAZYLEN(EL)) + to_chat(M, span_vnotice(belly_format_string(EL, M, use_absorbed_count = TRUE))) else if (digest_mode == DM_SELECT) var/datum/digest_mode/selective/DM_S = GLOB.digest_modes[DM_SELECT] @@ -133,15 +120,8 @@ else if(digest_mode == DM_DIGEST && !M.digestable) EL = emote_lists[DM_HOLD] // Use Hold's emote list if we're indigestible - var/raw_message = pick(EL) - var/formatted_message - formatted_message = replacetext(raw_message, "%belly", lowertext(name)) - formatted_message = replacetext(formatted_message, "%pred", owner) - formatted_message = replacetext(formatted_message, "%prey", M) - formatted_message = replacetext(formatted_message, "%countprey", living_count) - formatted_message = replacetext(formatted_message, "%count", contents.len) - if(formatted_message) - to_chat(M, "[formatted_message]") + if(LAZYLEN(EL)) + to_chat(M, span_vnotice(belly_format_string(EL, M))) if(to_update) updateVRPanels() @@ -224,7 +204,7 @@ /obj/belly/proc/prey_loop() for(var/mob/living/M in contents) //We don't bother executing any other code if the prey doesn't want to hear the noises. - if(!M.is_preference_enabled(/datum/client_preference/digestion_noises)) + if(!M.check_sound_preference(/datum/preference/toggle/digestion_noises)) M.stop_sound_channel(CHANNEL_PREYLOOP) // sanity just in case, because byond is whack and you can't trust it continue @@ -240,14 +220,14 @@ /obj/belly/proc/handle_digesting_item(obj/item/I) var/did_an_item = FALSE // We always contaminate IDs. - if(contaminates || istype(I, /obj/item/weapon/card/id)) + if(contaminates || istype(I, /obj/item/card/id)) I.gurgle_contaminate(src, contamination_flavor, contamination_color) switch(item_digest_mode) if(IM_HOLD) items_preserved |= I if(IM_DIGEST_FOOD) - if(istype(I,/obj/item/weapon/reagent_containers/food) || istype(I, /obj/item/organ)) + if(istype(I,/obj/item/reagent_containers/food) || istype(I, /obj/item/organ)) var/obj/item/organ/R = I if(istype(R) && R.robotic >= ORGAN_ROBOT) items_preserved |= I @@ -260,32 +240,15 @@ return did_an_item /obj/belly/proc/handle_digestion_death(mob/living/M) - var/digest_alert_owner = pick(digest_messages_owner) - var/digest_alert_prey = pick(digest_messages_prey) + var/digest_alert_owner = span_vnotice(belly_format_string(digest_messages_owner, M)) + var/digest_alert_prey = span_vnotice(belly_format_string(digest_messages_prey, M)) var/compensation = M.maxHealth / 5 //Dead body bonus. if(ishuman(M)) compensation += M.getOxyLoss() //How much of the prey's damage was caused by passive crit oxyloss to compensate the lost nutrition. - var/living_count = 0 - for(var/mob/living/L in contents) - living_count++ - - //Replace placeholder vars - digest_alert_owner = replacetext(digest_alert_owner, "%pred", owner) - digest_alert_owner = replacetext(digest_alert_owner, "%prey", M) - digest_alert_owner = replacetext(digest_alert_owner, "%belly", lowertext(name)) - digest_alert_owner = replacetext(digest_alert_owner, "%countprey", living_count) - digest_alert_owner = replacetext(digest_alert_owner, "%count", contents.len) - - digest_alert_prey = replacetext(digest_alert_prey, "%pred", owner) - digest_alert_prey = replacetext(digest_alert_prey, "%prey", M) - digest_alert_prey = replacetext(digest_alert_prey, "%belly", lowertext(name)) - digest_alert_prey = replacetext(digest_alert_prey, "%countprey", living_count) - digest_alert_prey = replacetext(digest_alert_prey, "%count", contents.len) - //Send messages - to_chat(owner, "[digest_alert_owner]") - to_chat(M, "[digest_alert_prey]") + to_chat(owner, digest_alert_owner) + to_chat(M, digest_alert_prey) if(M.ckey) GLOB.prey_digested_roundstat++ @@ -317,8 +280,8 @@ if(L.tiredness <= 105) L.tiredness = (L.tiredness + 6) if(L.tiredness <= 90 && L.tiredness >= 75) - to_chat(L, "You are about to fall unconscious!") - to_chat(owner, "[L] is about to fall unconscious!") + to_chat(L, span_warning("You are about to fall unconscious!")) + to_chat(owner, span_warning("[L] is about to fall unconscious!")) if(drainmode == DR_FAKE && istype(L,/mob/living/carbon/human)) //Slowly bring prey to the edge of sleep without crossing it if(L.tiredness <= 93) L.tiredness = (L.tiredness + 6) diff --git a/code/modules/vore/eating/contaminate_vr.dm b/code/modules/vore/eating/contaminate_vr.dm index 19c7029c2be..39cc0c60949 100644 --- a/code/modules/vore/eating/contaminate_vr.dm +++ b/code/modules/vore/eating/contaminate_vr.dm @@ -67,13 +67,13 @@ var/list/gurgled_overlays = list( /obj/structure/sink/attackby(obj/item/I, mob/user) //Wash the soggy item before it can interact with the sink. if(istype(I) && I.gurgled) - to_chat(user, "You start washing [I].") + to_chat(user, span_notice("You start washing [I].")) busy = TRUE if(do_after(user, 40, src)) I.clean_blood() - user.visible_message("[user] washes [I] using [src].", - "You wash [I] using [src].") + user.visible_message(span_notice("[user] washes [I] using [src]."), + span_notice("You wash [I] using [src].")) busy = FALSE else ..() @@ -81,20 +81,20 @@ var/list/gurgled_overlays = list( ////////////// // Special handling of gurgle_contaminate ////////////// -/obj/item/weapon/card/id/gurgle_contaminate(var/atom/movable/item_storage = null) +/obj/item/card/id/gurgle_contaminate(var/atom/movable/item_storage = null) digest_act(item_storage) //Contamination and digestion does same thing to these return TRUE -/obj/item/device/pda/gurgle_contaminate(var/atom/movable/item_storage = null) +/obj/item/pda/gurgle_contaminate(var/atom/movable/item_storage = null) return FALSE -/obj/item/weapon/reagent_containers/food/gurgle_contaminate(var/atom/movable/item_storage = null) +/obj/item/reagent_containers/food/gurgle_contaminate(var/atom/movable/item_storage = null) return FALSE -/obj/item/weapon/storage/vore_egg/gurgle_contaminate(var/atom/movable/item_storage = null) +/obj/item/storage/vore_egg/gurgle_contaminate(var/atom/movable/item_storage = null) return FALSE -/obj/item/weapon/holder/gurgle_contaminate(var/atom/movable/item_storage = null) +/obj/item/holder/gurgle_contaminate(var/atom/movable/item_storage = null) if(isbelly(loc)) digest_act(item_storage) return TRUE @@ -103,32 +103,32 @@ var/list/gurgled_overlays = list( /obj/item/organ/gurgle_contaminate(var/atom/movable/item_storage = null) return FALSE -/obj/item/weapon/cell/gurgle_contaminate(var/atom/movable/item_storage = null) +/obj/item/cell/gurgle_contaminate(var/atom/movable/item_storage = null) if(!gurgled) //Don't make them wet, just drain - var/obj/item/weapon/cell/C = src + var/obj/item/cell/C = src C.charge = 0 return TRUE -/obj/item/weapon/storage/box/gurgle_contaminate(var/atom/movable/item_storage = null) +/obj/item/storage/box/gurgle_contaminate(var/atom/movable/item_storage = null) if((. = ..())) name = "soggy [cleanname]" desc = "This soggy box is about to fall apart any time." //Storages that contaminate contents -/obj/item/weapon/storage/backpack/gurgle_contaminate(var/atom/movable/item_storage = null, var/contamination_flavor = "Generic", var/contamination_color = "green") +/obj/item/storage/backpack/gurgle_contaminate(var/atom/movable/item_storage = null, var/contamination_flavor = "Generic", var/contamination_color = "green") if(contents) for(var/obj/item/O in contents) O.gurgle_contaminate(item_storage, contamination_flavor, contamination_color) ..() -/obj/item/weapon/storage/belt/gurgle_contaminate(var/atom/movable/item_storage = null, var/contamination_flavor = "Generic", var/contamination_color = "green") +/obj/item/storage/belt/gurgle_contaminate(var/atom/movable/item_storage = null, var/contamination_flavor = "Generic", var/contamination_color = "green") if(contents) for(var/obj/item/O in contents) O.gurgle_contaminate(item_storage, contamination_flavor, contamination_color) ..() -/obj/item/weapon/storage/belt/gurgle_contaminate(var/atom/movable/item_storage = null, var/contamination_flavor = "Generic", var/contamination_color = "green") +/obj/item/storage/belt/gurgle_contaminate(var/atom/movable/item_storage = null, var/contamination_flavor = "Generic", var/contamination_color = "green") if(contents) for(var/obj/item/O in contents) O.gurgle_contaminate(item_storage, contamination_flavor, contamination_color) diff --git a/code/modules/vore/eating/digest_act_vr.dm b/code/modules/vore/eating/digest_act_vr.dm index 186f1ec215d..65980b0cebf 100644 --- a/code/modules/vore/eating/digest_act_vr.dm +++ b/code/modules/vore/eating/digest_act_vr.dm @@ -4,9 +4,9 @@ // Ye default implementation. /obj/item/proc/digest_act(atom/movable/item_storage = null) - if(istype(item_storage, /obj/item/device/dogborg/sleeper)) - if(istype(src, /obj/item/device/pda)) - var/obj/item/device/pda/P = src + if(istype(item_storage, /obj/item/dogborg/sleeper)) + if(istype(src, /obj/item/pda)) + var/obj/item/pda/P = src if(P.id) P.id = null @@ -15,7 +15,7 @@ for(var/mob/living/M in contents)//Drop mobs from objects(shoes) before deletion M.forceMove(item_storage) for(var/obj/item/O in contents) - if(istype(O, /obj/item/weapon/storage/internal)) //Dump contents from dummy pockets. + if(istype(O, /obj/item/storage/internal)) //Dump contents from dummy pockets. for(var/obj/item/SO in O) if(item_storage) SO.forceMove(item_storage) @@ -39,8 +39,8 @@ g_damage = digest_stage digest_stage -= g_damage if(digest_stage <= 0) - if(istype(src, /obj/item/device/pda)) - var/obj/item/device/pda/P = src + if(istype(src, /obj/item/pda)) + var/obj/item/pda/P = src if(P.id) P.id = null for(var/mob/living/voice/V in possessed_voice) // Delete voices. @@ -48,7 +48,7 @@ for(var/mob/living/M in contents)//Drop mobs from objects(shoes) before deletion M.forceMove(item_storage) for(var/obj/item/O in contents) - if(istype(O,/obj/item/weapon/storage/internal)) //Dump contents from dummy pockets. + if(istype(O,/obj/item/storage/internal)) //Dump contents from dummy pockets. for(var/obj/item/SO in O) if(item_storage) SO.forceMove(item_storage) @@ -72,21 +72,21 @@ ///////////// // Some indigestible stuff ///////////// -/obj/item/weapon/hand_tele/digest_act(var/atom/movable/item_storage = null) +/obj/item/hand_tele/digest_act(var/atom/movable/item_storage = null) return FALSE -/obj/item/device/aicard/digest_act(var/atom/movable/item_storage = null) +/obj/item/aicard/digest_act(var/atom/movable/item_storage = null) return FALSE -/obj/item/device/paicard/digest_act(var/atom/movable/item_storage = null) +/obj/item/paicard/digest_act(var/atom/movable/item_storage = null) return FALSE -/obj/item/weapon/gun/digest_act(var/atom/movable/item_storage = null) +/obj/item/gun/digest_act(var/atom/movable/item_storage = null) return FALSE -/obj/item/weapon/pinpointer/digest_act(var/atom/movable/item_storage = null) +/obj/item/pinpointer/digest_act(var/atom/movable/item_storage = null) return FALSE /obj/item/areaeditor/blueprints/digest_act(var/atom/movable/item_storage = null) return FALSE -/obj/item/weapon/disk/nuclear/digest_act(var/atom/movable/item_storage = null) +/obj/item/disk/nuclear/digest_act(var/atom/movable/item_storage = null) return FALSE -/obj/item/device/perfect_tele_beacon/digest_act(var/atom/movable/item_storage = null) +/obj/item/perfect_tele_beacon/digest_act(var/atom/movable/item_storage = null) return FALSE //Sorta important to not digest your own beacons. /obj/item/organ/internal/brain/slime/digest_act(var/atom/movable/item_storage = null) return FALSE //so prometheans can be recovered @@ -95,7 +95,7 @@ // Some special treatment ///////////// -/obj/item/weapon/card/id/digest_act(atom/movable/item_storage = null) +/obj/item/card/id/digest_act(atom/movable/item_storage = null) desc = "A partially digested card that has seen better days. The damage appears to be only cosmetic." if(!sprite_stack || !istype(sprite_stack) || !(sprite_stack.len)) icon = 'icons/obj/card_vr.dmi' @@ -106,7 +106,7 @@ update_icon() return FALSE -/obj/item/weapon/reagent_containers/food/digest_act(atom/movable/item_storage = null) +/obj/item/reagent_containers/food/digest_act(atom/movable/item_storage = null) if(isbelly(item_storage)) var/obj/belly/B = item_storage if(ishuman(B.owner)) @@ -119,7 +119,7 @@ return w_class . = ..() -/obj/item/weapon/holder/digest_act(atom/movable/item_storage = null) +/obj/item/holder/digest_act(atom/movable/item_storage = null) for(var/mob/living/M in contents) if(item_storage) M.forceMove(item_storage) @@ -134,7 +134,7 @@ else . += 30 //Organs give a little more -/obj/item/weapon/storage/digest_act(atom/movable/item_storage = null) +/obj/item/storage/digest_act(atom/movable/item_storage = null) for(var/obj/item/I in contents) I.screen_loc = null @@ -143,7 +143,7 @@ ///////////// // Some more complicated stuff ///////////// -/obj/item/device/mmi/digital/posibrain/digest_act(atom/movable/item_storage = null) +/obj/item/mmi/digital/posibrain/digest_act(atom/movable/item_storage = null) //Replace this with a VORE setting so all types of posibrains can/can't be digested on a whim return FALSE diff --git a/code/modules/vore/eating/inbelly_spawn.dm b/code/modules/vore/eating/inbelly_spawn.dm index 50c2c3168b0..e2ef03a4727 100644 --- a/code/modules/vore/eating/inbelly_spawn.dm +++ b/code/modules/vore/eating/inbelly_spawn.dm @@ -1,5 +1,5 @@ /mob/observer/dead/verb/spawn_in_belly() - set category = "Ghost" + set category = "Ghost.Join" set name = "Spawn In Belly" set desc = "Spawn in someone's belly." @@ -51,7 +51,7 @@ Please do not abuse this ability. // Only humans, simple_mobs and non-AI silicons are included. Obscure stuff like bots is skipped. if(!eligible_targets.len) - to_chat(src, "No eligible preds were found.") // :( + to_chat(src, span_notice("No eligible preds were found.")) // :( return var/mob/living/target = tgui_input_list(src, "Please specify which character you want to spawn inside of.", "Predator", eligible_targets) // Offer the list of things we gathered. @@ -60,7 +60,7 @@ Please do not abuse this ability. return // Notify them that its now pred's turn - to_chat(src, "Inbelly spawn request sent to predator.") + to_chat(src, span_notice("Inbelly spawn request sent to predator.")) target.inbelly_spawn_prompt(client) // Hand reins over to them /mob/living/proc/inbelly_spawn_prompt(client/potential_prey) @@ -70,27 +70,27 @@ Please do not abuse this ability. // Are we cool with this prey spawning in at all? var/answer = tgui_alert(src, "[potential_prey.ckey] (as [potential_prey.prefs.real_name]) wants to spawn in one of your bellies. Do you accept?", "Inbelly Spawning", list("Yes", "No")) if(answer != "Yes") - to_chat(potential_prey, "Your request was turned down.") + to_chat(potential_prey, span_notice("Your request was turned down.")) return // Let them know so that they don't spam it. - to_chat(potential_prey, "Predator agreed to your request. Wait a bit while they choose a belly.") + to_chat(potential_prey, span_notice("Predator agreed to your request. Wait a bit while they choose a belly.")) // Where we dropping? var/obj/belly/belly_choice = tgui_input_list(src, "Choose Target Belly", "Belly Choice", src.vore_organs) // Wdym nowhere? if(!belly_choice || !istype(belly_choice)) - to_chat(potential_prey, "Something went wrong with predator selecting a belly. Try again?") - to_chat(src, "No valid belly selected. Inbelly spawn cancelled.") + to_chat(potential_prey, span_notice("Something went wrong with predator selecting a belly. Try again?")) + to_chat(src, span_notice("No valid belly selected. Inbelly spawn cancelled.")) return // Extra caution never hurts if(belly_choice.digest_mode == DM_DIGEST) var/digest_answer = tgui_alert(src, "[belly_choice] is currently set to Digest. Are you sure you want to spawn prey there?", "Inbelly Spawning", list("Yes", "No")) if(digest_answer != "Yes") - to_chat(potential_prey, "Something went wrong with predator selecting a belly. Try again?") - to_chat(src, "Inbelly spawn cancelled.") + to_chat(potential_prey, span_notice("Something went wrong with predator selecting a belly. Try again?")) + to_chat(src, span_notice("Inbelly spawn cancelled.")) // Are they already fat (and/or appropriate equivalent)? var/absorbed = FALSE @@ -101,18 +101,18 @@ Please do not abuse this ability. // They disappeared? if(!potential_prey) - to_chat(src, "No prey found. Something went wrong!") + to_chat(src, span_notice("No prey found. Something went wrong!")) return // Final confirmation for pred var/confirmation_pred = tgui_alert(src, "Are you certain that you want [potential_prey.prefs.real_name] spawned in your [belly_choice][absorbed ? ", absorbed" : ""]?", "Inbelly Spawning", list("Yes", "No")) if(confirmation_pred != "Yes") - to_chat(potential_prey, "Your pred couldn't finish selection. Try again?") - to_chat(src, "Inbelly spawn cancelled.") + to_chat(potential_prey, span_notice("Your pred couldn't finish selection. Try again?")) + to_chat(src, span_notice("Inbelly spawn cancelled.")) return - to_chat(src, "Waiting for prey's confirmation...") + to_chat(src, span_notice("Waiting for prey's confirmation...")) // And final confirmation for prey var/confirmation_prey = tgui_alert(potential_prey, "Are you certain that you to spawn in [src]'s [belly_choice][absorbed ? ", absorbed" : ""]?", "Inbelly Spawning", list("Yes", "No")) @@ -120,13 +120,13 @@ Please do not abuse this ability. if(confirmation_prey == "Yes" && potential_prey && src && belly_choice) //Now we finally spawn them in! if(!is_alien_whitelisted(potential_prey, GLOB.all_species[potential_prey.prefs.species])) - to_chat(potential_prey, "You are not whitelisted to play as currently selected character.") - to_chat(src, "Prey accepted the confirmation, but something went wrong with spawning their character.") + to_chat(potential_prey, span_notice("You are not whitelisted to play as currently selected character.")) + to_chat(src, span_notice("Prey accepted the confirmation, but something went wrong with spawning their character.")) return inbelly_spawn(potential_prey, src, belly_choice, absorbed) else - to_chat(potential_prey, "Inbelly spawn cancelled.") - to_chat(src, "Prey cancelled their inbelly spawn request.") + to_chat(potential_prey, span_notice("Inbelly spawn cancelled.")) + to_chat(src, span_notice("Prey cancelled their inbelly spawn request.")) return /proc/inbelly_spawn(client/prey, mob/living/pred, obj/belly/target_belly, var/absorbed = FALSE) diff --git a/code/modules/vore/eating/leave_remains_vr.dm b/code/modules/vore/eating/leave_remains_vr.dm index 7a7a3ac8a85..4f07959c5cb 100644 --- a/code/modules/vore/eating/leave_remains_vr.dm +++ b/code/modules/vore/eating/leave_remains_vr.dm @@ -1,29 +1,29 @@ /datum/species - var/skull_type = /obj/item/weapon/digestion_remains/skull + var/skull_type = /obj/item/digestion_remains/skull /datum/species/tajaran - skull_type = /obj/item/weapon/digestion_remains/skull/tajaran + skull_type = /obj/item/digestion_remains/skull/tajaran /datum/species/unathi - skull_type = /obj/item/weapon/digestion_remains/skull/unathi + skull_type = /obj/item/digestion_remains/skull/unathi /datum/species/skrell - skull_type = /obj/item/weapon/digestion_remains/skull/skrell + skull_type = /obj/item/digestion_remains/skull/skrell /datum/species/spider - skull_type = /obj/item/weapon/digestion_remains/skull/vasilissan + skull_type = /obj/item/digestion_remains/skull/vasilissan /datum/species/akula - skull_type = /obj/item/weapon/digestion_remains/skull/akula + skull_type = /obj/item/digestion_remains/skull/akula /datum/species/harpy - skull_type = /obj/item/weapon/digestion_remains/skull/rapala + skull_type = /obj/item/digestion_remains/skull/rapala /datum/species/vulpkanin - skull_type = /obj/item/weapon/digestion_remains/skull/vulpkanin + skull_type = /obj/item/digestion_remains/skull/vulpkanin /datum/species/sergal - skull_type = /obj/item/weapon/digestion_remains/skull/sergal + skull_type = /obj/item/digestion_remains/skull/sergal /datum/species/hi_zorren - skull_type = /obj/item/weapon/digestion_remains/skull/zorren + skull_type = /obj/item/digestion_remains/skull/zorren /datum/species/nevrean - skull_type = /obj/item/weapon/digestion_remains/skull/nevrean + skull_type = /obj/item/digestion_remains/skull/nevrean /datum/species/teshari - skull_type = /obj/item/weapon/digestion_remains/skull/teshari + skull_type = /obj/item/digestion_remains/skull/teshari /datum/species/vox - skull_type = /obj/item/weapon/digestion_remains/skull/vox + skull_type = /obj/item/digestion_remains/skull/vox /obj/belly/proc/handle_remains_leaving(var/mob/living/M) if(!ishuman(M) && !isrobot(M)) //Are we even humanoid or a borg? @@ -34,10 +34,10 @@ //var/mob/living/silicon/robot/R = M // Not Needed at the moment. Uncomment if you need borg stuff var/list/borg_bones = list( //Borg bones are the same at this point. might change in the future if borgs or synths get - /obj/item/weapon/digestion_remains/synth, // different remains in the future. - /obj/item/weapon/digestion_remains/synth/variant1, - /obj/item/weapon/digestion_remains/synth/variant2, - /obj/item/weapon/digestion_remains/synth/variant3 + /obj/item/digestion_remains/synth, // different remains in the future. + /obj/item/digestion_remains/synth/variant1, + /obj/item/digestion_remains/synth/variant2, + /obj/item/digestion_remains/synth/variant3 ) for(var/i = 1, i <= bones_amount, i++) //Just fill them with bones. Borgs dont have anything special. var/new_bone = pick(borg_bones) @@ -50,20 +50,20 @@ return if(prob(20) && !H.isSynthetic()) //ribcage surviving whole is some luck //Edit: no robor - new /obj/item/weapon/digestion_remains/ribcage(src,owner) + new /obj/item/digestion_remains/ribcage(src,owner) bones_amount-- var/list/organic_bones = list( //Generic bone variation system - /obj/item/weapon/digestion_remains, - /obj/item/weapon/digestion_remains/variant1, - /obj/item/weapon/digestion_remains/variant2, - /obj/item/weapon/digestion_remains/variant3 + /obj/item/digestion_remains, + /obj/item/digestion_remains/variant1, + /obj/item/digestion_remains/variant2, + /obj/item/digestion_remains/variant3 ) var/list/synthetic_bones = list( - /obj/item/weapon/digestion_remains/synth, - /obj/item/weapon/digestion_remains/synth/variant1, - /obj/item/weapon/digestion_remains/synth/variant2, - /obj/item/weapon/digestion_remains/synth/variant3 + /obj/item/digestion_remains/synth, + /obj/item/digestion_remains/synth/variant1, + /obj/item/digestion_remains/synth/variant2, + /obj/item/digestion_remains/synth/variant3 ) for(var/i = 1, i <= bones_amount, i++) //throw in the rest var/new_bone = H.isSynthetic() ? pick(synthetic_bones) : pick(organic_bones) @@ -79,15 +79,15 @@ if(skull_amount && H.species.selects_bodytype) // We still haven't found correct skull... if(H.species.base_species == SPECIES_HUMAN) - new /obj/item/weapon/digestion_remains/skull/unknown(src,owner) + new /obj/item/digestion_remains/skull/unknown(src,owner) else - new /obj/item/weapon/digestion_remains/skull/unknown/anthro(src,owner) + new /obj/item/digestion_remains/skull/unknown/anthro(src,owner) else if(skull_amount) // Something entirely different... - new /obj/item/weapon/digestion_remains/skull/unknown(src,owner) + new /obj/item/digestion_remains/skull/unknown(src,owner) -/obj/item/weapon/digestion_remains +/obj/item/digestion_remains name = "bone" desc = "A bleached bone. It's very non-descript and its hard to tell what species or part of the body it came from." icon = 'icons/obj/bones_vr.dmi' @@ -101,103 +101,103 @@ var/pred_ckey var/pred_name -/obj/item/weapon/digestion_remains/synth +/obj/item/digestion_remains/synth name = "ruined component" desc = "A ruined component. It seems to have come from some sort of robotic entity, but there's no telling what kind." icon_state = "synth-1" drop_sound = 'sound/items/drop/device.ogg' //not organic bones, so they get different sounds pickup_sound = 'sound/items/pickup/device.ogg' -/obj/item/weapon/digestion_remains/Initialize(var/mapload, var/mob/living/pred) +/obj/item/digestion_remains/Initialize(var/mapload, var/mob/living/pred) . = ..() if(!mapload) pred_ckey = pred?.ckey pred_name = pred?.name -/obj/item/weapon/digestion_remains/attack_self(var/mob/user) +/obj/item/digestion_remains/attack_self(var/mob/user) if(user.a_intent == I_HURT) - to_chat(user,"As you squeeze the [name], it crumbles into dust and falls apart into nothing!") + to_chat(user,span_warning("As you squeeze the [name], it crumbles into dust and falls apart into nothing!")) qdel(src) -/obj/item/weapon/digestion_remains/ribcage +/obj/item/digestion_remains/ribcage name = "ribcage" desc = "A bleached ribcage. It's very white and definitely has seen better times. Hard to tell what it belonged to." icon_state = "ribcage" -/obj/item/weapon/digestion_remains/variant1 //Generic bone variations +/obj/item/digestion_remains/variant1 //Generic bone variations icon_state = "generic-2" -/obj/item/weapon/digestion_remains/variant2 +/obj/item/digestion_remains/variant2 icon_state = "generic-3" -/obj/item/weapon/digestion_remains/variant3 +/obj/item/digestion_remains/variant3 icon_state = "generic-4" -/obj/item/weapon/digestion_remains/synth/variant1 //synthbones start +/obj/item/digestion_remains/synth/variant1 //synthbones start icon_state = "synth-2" -/obj/item/weapon/digestion_remains/synth/variant2 +/obj/item/digestion_remains/synth/variant2 icon_state = "synth-3" -/obj/item/weapon/digestion_remains/synth/variant3 +/obj/item/digestion_remains/synth/variant3 icon_state = "synth-4" -/obj/item/weapon/digestion_remains/skull +/obj/item/digestion_remains/skull name = "skull" desc = "A bleached skull. It looks very weakened. Seems like it belonged to a human." icon_state = "skull" -/obj/item/weapon/digestion_remains/skull/tajaran +/obj/item/digestion_remains/skull/tajaran desc = "A bleached skull. It looks very weakened. Seems like it belonged to a tajara." icon_state = "skull_taj" -/obj/item/weapon/digestion_remains/skull/unathi +/obj/item/digestion_remains/skull/unathi desc = "A bleached skull. It looks very weakened. Seems like it belonged to an unathi." icon_state = "skull_unathi" -/obj/item/weapon/digestion_remains/skull/skrell +/obj/item/digestion_remains/skull/skrell desc = "A bleached skull. It looks very weakened. Seems like it belonged to a skrell." icon_state = "skull" -/obj/item/weapon/digestion_remains/skull/vasilissan +/obj/item/digestion_remains/skull/vasilissan desc = "A bleached skull. It looks very weakened. Seems like it belonged to a vasilissan." icon_state = "skull" -/obj/item/weapon/digestion_remains/skull/akula +/obj/item/digestion_remains/skull/akula desc = "A bleached skull. It looks very weakened. Seems like it belonged to an akula." icon_state = "skull_unathi" -/obj/item/weapon/digestion_remains/skull/rapala +/obj/item/digestion_remains/skull/rapala desc = "A bleached skull. It looks very weakened. Seems like it belonged to a rapala." icon_state = "skull" -/obj/item/weapon/digestion_remains/skull/vulpkanin +/obj/item/digestion_remains/skull/vulpkanin desc = "A bleached skull. It looks very weakened. Seems like it belonged to a vulpkanin." icon_state = "skull_taj" -/obj/item/weapon/digestion_remains/skull/sergal +/obj/item/digestion_remains/skull/sergal desc = "A bleached skull. It looks very weakened. Seems like it belonged to a sergal." icon_state = "skull_taj" -/obj/item/weapon/digestion_remains/skull/zorren +/obj/item/digestion_remains/skull/zorren desc = "A bleached skull. It looks very weakened. Seems like it belonged to a zorren." icon_state = "skull_taj" -/obj/item/weapon/digestion_remains/skull/nevrean +/obj/item/digestion_remains/skull/nevrean desc = "A bleached skull. It looks very weakened. Seems like it belonged to a nevrean." icon_state = "skull_taj" -/obj/item/weapon/digestion_remains/skull/teshari +/obj/item/digestion_remains/skull/teshari desc = "A bleached skull. It looks very weakened. Seems like it belonged to a teshari." icon_state = "skull_taj" -/obj/item/weapon/digestion_remains/skull/vox +/obj/item/digestion_remains/skull/vox desc = "A bleached skull. It looks very weakened. Seems like it belonged to a vox." icon_state = "skull_taj" -/obj/item/weapon/digestion_remains/skull/unknown +/obj/item/digestion_remains/skull/unknown desc = "A bleached skull. It looks very weakened. You can't quite tell what species it belonged to." icon_state = "skull" -/obj/item/weapon/digestion_remains/skull/unknown/anthro +/obj/item/digestion_remains/skull/unknown/anthro icon_state = "skull_taj" diff --git a/code/modules/vore/eating/living_vr.dm b/code/modules/vore/eating/living_vr.dm index 447bf1b260e..b568f1b3192 100644 --- a/code/modules/vore/eating/living_vr.dm +++ b/code/modules/vore/eating/living_vr.dm @@ -59,7 +59,7 @@ //We'll load our client's organs if we have one if(client && client.prefs_vr) if(!copy_from_prefs_vr()) - to_chat(src,"ERROR: You seem to have saved VOREStation prefs, but they couldn't be loaded.") + to_chat(src,span_warning("ERROR: You seem to have saved VOREStation prefs, but they couldn't be loaded.")) return FALSE if(LAZYLEN(vore_organs)) vore_selected = vore_organs[1] @@ -98,9 +98,9 @@ // Handle being clicked, perhaps with something to devour // /mob/living/proc/vore_attackby(obj/item/I, mob/user) - //Handle case: /obj/item/weapon/grab - if(istype(I, /obj/item/weapon/grab)) - var/obj/item/weapon/grab/G = I + //Handle case: /obj/item/grab + if(istype(I, /obj/item/grab)) + var/obj/item/grab/G = I var/mob/living/carbon/victim = G.affecting //Has to be aggressive grab, has to be living click-er and non-silicon grabbed @@ -124,7 +124,7 @@ if(istype(victim) && !victim.client && !victim.ai_holder) //Check whether the victim is: A carbon mob, has no client, but has a ckey. This should indicate an SSD player. log_and_message_admins("[key_name_admin(attacker)] attempted to force feed themselves to [key_name_admin(G.affecting)] whilst they were AFK ([G.affecting ? ADMIN_JMP(G.affecting) : "null"])") if(!G.affecting.feeding) - to_chat(user, "[G.affecting] isn't willing to be fed.") + to_chat(user, span_vnotice("[G.affecting] isn't willing to be fed.")) log_and_message_admins("[key_name_admin(src)] attempted to feed themselves to [key_name_admin(G.affecting)] against their prefs ([G.affecting ? ADMIN_JMP(G.affecting) : "null"])") return FALSE @@ -143,11 +143,11 @@ log_and_message_admins("[key_name_admin(attacker)] attempted to feed [key_name_admin(G.affecting)] to [key_name_admin(src)] whilst [key_name_admin(src)] was AFK ([G.affecting ? ADMIN_JMP(G.affecting) : "null"])") if(!feeding) - to_chat(user, "[src] isn't willing to be fed.") + to_chat(user, span_vnotice("[src] isn't willing to be fed.")) log_and_message_admins("[key_name_admin(attacker)] attempted to feed [key_name_admin(G.affecting)] to [key_name_admin(src)] against predator's prefs ([src ? ADMIN_JMP(src) : "null"])") return FALSE if(!(G.affecting.devourable)) - to_chat(user, "[G.affecting] isn't able to be devoured.") + to_chat(user, span_vnotice("[G.affecting] isn't able to be devoured.")) log_and_message_admins("[key_name_admin(attacker)] attempted to feed [key_name_admin(G.affecting)] to [key_name_admin(src)] against prey's prefs ([G.affecting ? ADMIN_JMP(G.affecting) : "null"])") return FALSE if(attacker.feed_grabbed_to_other(attacker, G.affecting, src)) @@ -156,9 +156,9 @@ else log_debug("[attacker] attempted to feed [G.affecting] to [src] ([type]) but it failed.") - //Handle case: /obj/item/weapon/holder - else if(istype(I, /obj/item/weapon/holder)) - var/obj/item/weapon/holder/H = I + //Handle case: /obj/item/holder + else if(istype(I, /obj/item/holder)) + var/obj/item/holder/H = I if(!isliving(user)) return FALSE // return FALSE to continue upper procs @@ -171,15 +171,15 @@ else log_debug("[attacker] attempted to feed [H.contents] to [src] ([type]) but it failed.") - //Handle case: /obj/item/device/radio/beacon - else if(istype(I,/obj/item/device/radio/beacon)) + //Handle case: /obj/item/radio/beacon + else if(istype(I,/obj/item/radio/beacon)) var/confirm = tgui_alert(user, "[src == user ? "Eat the beacon?" : "Feed the beacon to [src]?"]", "Confirmation", list("Yes!", "Cancel")) if(confirm == "Yes!") var/obj/belly/B = tgui_input_list(usr, "Which belly?", "Select A Belly", vore_organs) if(!istype(B)) return TRUE - visible_message("[user] is trying to stuff a beacon into [src]'s [lowertext(B.name)]!", - "[user] is trying to stuff a beacon into you!") + visible_message(span_warning("[user] is trying to stuff a beacon into [src]'s [lowertext(B.name)]!"), + span_warning("[user] is trying to stuff a beacon into you!")) if(do_after(user,30,src)) user.drop_item() I.forceMove(B) @@ -228,7 +228,7 @@ /mob/proc/copy_to_prefs_vr() if(!client || !client.prefs_vr) - to_chat(src,"You attempted to save your vore prefs but somehow you're in this character without a client.prefs_vr variable. Tell a dev.") + to_chat(src,span_warning("You attempted to save your vore prefs but somehow you're in this character without a client.prefs_vr variable. Tell a dev.")) return FALSE var/datum/vore_preferences/P = client.prefs_vr @@ -259,11 +259,13 @@ P.digest_pain = src.digest_pain P.stumble_vore = src.stumble_vore P.eating_privacy_global = src.eating_privacy_global + P.allow_mimicry = src.allow_mimicry P.nutrition_message_visible = src.nutrition_message_visible P.nutrition_messages = src.nutrition_messages P.weight_message_visible = src.weight_message_visible P.weight_messages = src.weight_messages + P.allow_mind_transfer = src.allow_mind_transfer P.vore_sprite_color = istype(src, /mob/living/carbon/human) ? src:vore_sprite_color : null @@ -280,7 +282,7 @@ // /mob/proc/copy_from_prefs_vr(var/bellies = TRUE) if(!client || !client.prefs_vr) - to_chat(src,"You attempted to apply your vore prefs but somehow you're in this character without a client.prefs_vr variable. Tell a dev.") + to_chat(src,span_warning("You attempted to apply your vore prefs but somehow you're in this character without a client.prefs_vr variable. Tell a dev.")) return FALSE var/datum/vore_preferences/P = client.prefs_vr @@ -311,11 +313,13 @@ food_vore = P.food_vore digest_pain = P.digest_pain eating_privacy_global = P.eating_privacy_global + allow_mimicry = P.allow_mimicry nutrition_message_visible = P.nutrition_message_visible nutrition_messages = P.nutrition_messages weight_message_visible = P.weight_message_visible weight_messages = P.weight_messages + allow_mind_transfer = P.allow_mind_transfer if (istype(src, /mob/living/carbon/human)) @@ -328,9 +332,83 @@ vore_organs.Cut() for(var/entry in P.belly_prefs) list_to_object(entry,src) + if(!vore_organs.len) + var/obj/belly/B = new /obj/belly(src) + vore_selected = B + B.immutable = TRUE + B.name = "Stomach" + B.desc = "It appears to be rather warm and wet. Makes sense, considering it's inside \the [name]." + B.can_taste = TRUE + else + vore_selected = vore_organs[1] return TRUE +/mob/proc/load_vore_prefs_from_slot() + + var/datum/preferences/P = client.prefs + + var/remembered_default = P.load_vore_prefs_from_client(src) //Loads the preferences of a chosen slot + if(!remembered_default) + return + + apply_vore_prefs() //Applies the vore preferences of said slot + + if(remembered_default) + P.return_to_character_slot(src, remembered_default) //sets you back to the original default slot + + return TRUE + + +/datum/preferences/proc/load_vore_prefs_from_client(mob/user) + if(selecting_slots) + to_chat(user, span_warning("You already have a slot selection dialog open!")) + return + if(!savefile) + return + + var/list/charlist = list() + + var/default + for(var/i in 1 to CONFIG_GET(number/character_slots)) + var/list/save_data = savefile.get_entry("character[i]", list()) + var/name = save_data["real_name"] + var/nickname = save_data["nickname"] + + if(!name) + name = "[i] - \[Unused Slot\]" + else if(i == default_slot) + name = "â–º[i] - [name]" + default = "[name][nickname ? " ([nickname])" : ""]" + else + name = "[i] - [name]" + + charlist["[name][nickname ? " ([nickname])" : ""]"] = i + + var/remember_default = default_slot + + selecting_slots = TRUE + var/choice = tgui_input_list(user, "Select a character to load:", "Load Slot", charlist, default) + selecting_slots = FALSE + if(!choice) + return + + var/slotnum = charlist[choice] + if(!slotnum) + error("Player picked [choice] slot to load, but that wasn't one we sent.") + return + + load_character(slotnum) + attempt_vr(user.client?.prefs_vr,"load_vore","") //VOREStation Edit + sanitize_preferences() + + return remember_default + +/datum/preferences/proc/return_to_character_slot(mob/user, var/remembered_default) + load_character(remembered_default) + attempt_vr(user.client?.prefs_vr,"load_vore","") //VOREStation Edit + sanitize_preferences() + // // Release everything in every vore organ // @@ -381,7 +459,7 @@ // /mob/living/proc/lick(mob/living/tasted in living_mobs(1)) set name = "Lick" - set category = "IC" + set category = "IC.Game" set desc = "Lick someone nearby!" set popup_menu = FALSE // Stop licking by accident! @@ -393,7 +471,7 @@ setClickCooldown(DEFAULT_ATTACK_COOLDOWN) - visible_message("[src] licks [tasted]!","You lick [tasted]. They taste rather like [tasted.get_taste_message()].","Slurp!") + visible_message(span_vwarning("[src] licks [tasted]!"),span_vnotice("You lick [tasted]. They taste rather like [tasted.get_taste_message()]."),span_infoplain(span_bold("Slurp!"))) /mob/living/proc/get_taste_message(allow_generic = 1) @@ -422,7 +500,7 @@ //This is just the above proc but switched about. /mob/living/proc/smell(mob/living/smelled in living_mobs(1)) set name = "Smell" - set category = "IC" + set category = "IC.Game" set desc = "Smell someone nearby!" set popup_menu = FALSE @@ -432,7 +510,7 @@ return setClickCooldown(DEFAULT_ATTACK_COOLDOWN) - visible_message("[src] smells [smelled]!","You smell [smelled]. They smell like [smelled.get_smell_message()].","Sniff!") + visible_message(span_vwarning("[src] smells [smelled]!"),span_vnotice("You smell [smelled]. They smell like [smelled.get_smell_message()]."),span_infoplain(span_bold("Sniff!"))) /mob/living/proc/get_smell_message(allow_generic = 1) if(!vore_smell && !allow_generic) @@ -458,7 +536,7 @@ // /mob/living/proc/escapeOOC() set name = "OOC Escape" - set category = "OOC" + set category = "OOC.Vore" //You're in a belly! if(isbelly(loc)) @@ -484,9 +562,9 @@ B.owner.update_icons() //You're in a dogborg! - else if(istype(loc, /obj/item/device/dogborg/sleeper)) + else if(istype(loc, /obj/item/dogborg/sleeper)) var/mob/living/silicon/pred = loc.loc //Thing holding the belly! - var/obj/item/device/dogborg/sleeper/belly = loc //The belly! + var/obj/item/dogborg/sleeper/belly = loc //The belly! var/confirm = tgui_alert(src, "You're in a cyborg sleeper. This is for escaping from preference-breaking or if your predator disconnects/AFKs. If your preferences were being broken, please admin-help as well.", "Confirmation", list("Okay", "Cancel")) if(confirm != "Okay" || loc != belly) @@ -527,13 +605,19 @@ log_and_message_admins("[key_name(src)] used the OOC escape button to revert back to their original form from being TFed into another mob.") revert_mob_tf() - else if(istype(loc, /obj/item/weapon/holder/micro) && (istype(loc.loc, /obj/machinery/microwave))) + else if(istype(loc, /obj/item/holder/micro) && (istype(loc.loc, /obj/machinery/microwave))) forceMove(get_turf(src)) log_and_message_admins("[key_name(src)] used the OOC escape button to get out of a microwave.") + else if(istype(loc, /obj/structure/gargoyle) && loc:was_rayed) + var/obj/structure/gargoyle/G = loc + G.can_revert = TRUE + qdel(G) + log_and_message_admins("[key_name(src)] used the OOC escape button to revert back from being petrified.") + //You are in food and for some reason can't resist out - else if(istype(loc, /obj/item/weapon/reagent_containers/food)) - var/obj/item/weapon/reagent_containers/food/F = src.loc + else if(istype(loc, /obj/item/reagent_containers/food)) + var/obj/item/reagent_containers/food/F = src.loc if(F.food_inserted_micros) F.food_inserted_micros -= src src.forceMove(get_turf(F)) @@ -541,7 +625,7 @@ //Don't appear to be in a vore situation else - to_chat(src,"You aren't inside anyone, though, is the thing.") + to_chat(src,span_warning("You aren't inside anyone, though, is the thing.")) // // Eating procs depending on who clicked what @@ -589,11 +673,11 @@ return FALSE if(!prey.devourable) - to_chat(user, "They aren't able to be devoured.") + to_chat(user, span_vnotice("They aren't able to be devoured.")) log_and_message_admins("[key_name_admin(src)] attempted to devour [key_name_admin(prey)] against their prefs ([prey ? ADMIN_JMP(prey) : "null"])") return FALSE if(prey.absorbed || pred.absorbed) - to_chat(user, "They aren't aren't in a state to be devoured.") + to_chat(user, span_vwarning("They aren't aren't in a state to be devoured.")) return FALSE //Determining vore attempt privacy @@ -611,17 +695,17 @@ // Slipnoms from chompstation downstream, credit to cadyn for the original PR. // Prepare messages if(prey.is_slipping) - attempt_msg = "It seems like [prey] is about to slide into [pred]'s [lowertext(belly.name)]!" - success_msg = "[prey] suddenly slides into [pred]'s [lowertext(belly.name)]!" + attempt_msg = span_vwarning("It seems like [prey] is about to slide into [pred]'s [lowertext(belly.name)]!") + success_msg = span_vwarning("[prey] suddenly slides into [pred]'s [lowertext(belly.name)]!") else if(pred.is_slipping) - attempt_msg = "It seems like [prey] is gonna end up inside [pred]'s [lowertext(belly.name)] as [pred] comes sliding over!" - success_msg = "[prey] suddenly slips inside of [pred]'s [lowertext(belly.name)] as [pred] slides into them!" + attempt_msg = span_vwarning("It seems like [prey] is gonna end up inside [pred]'s [lowertext(belly.name)] as [pred] comes sliding over!") + success_msg = span_vwarning("[prey] suddenly slips inside of [pred]'s [lowertext(belly.name)] as [pred] slides into them!") else if(user == pred) //Feeding someone to yourself - attempt_msg = "[pred] is attempting to [lowertext(belly.vore_verb)] [prey] into their [lowertext(belly.name)]!" - success_msg = "[pred] manages to [lowertext(belly.vore_verb)] [prey] into their [lowertext(belly.name)]!" + attempt_msg = span_vwarning("[pred] is attempting to [lowertext(belly.vore_verb)] [prey] into their [lowertext(belly.name)]!") + success_msg = span_vwarning("[pred] manages to [lowertext(belly.vore_verb)] [prey] into their [lowertext(belly.name)]!") else //Feeding someone to another person - attempt_msg = "[user] is attempting to make [pred] [lowertext(belly.vore_verb)] [prey] into their [lowertext(belly.name)]!" - success_msg = "[user] manages to make [pred] [lowertext(belly.vore_verb)] [prey] into their [lowertext(belly.name)]!" + attempt_msg = span_vwarning("[user] is attempting to make [pred] [lowertext(belly.vore_verb)] [prey] into their [lowertext(belly.name)]!") + success_msg = span_vwarning("[user] manages to make [pred] [lowertext(belly.vore_verb)] [prey] into their [lowertext(belly.name)]!") // Announce that we start the attempt! @@ -647,8 +731,8 @@ user.visible_message(success_msg, range = message_range) // Actually shove prey into the belly. - if(istype(prey.loc, /obj/item/weapon/holder)) - var/obj/item/weapon/holder/H = prey.loc + if(istype(prey.loc, /obj/item/holder)) + var/obj/item/holder/H = prey.loc for(var/mob/living/M in H.contents) belly.nom_mob(M, user) if(M.loc == H) // In case nom_mob failed somehow. @@ -661,10 +745,10 @@ user.update_icon() var/mob/living/carbon/victim = prey // Check for afk vore - if(istype(victim) && !victim.client && !victim.ai_holder) + if(istype(victim) && !victim.client && !victim.ai_holder && victim.ckey) log_and_message_admins("[key_name_admin(pred)] ate [key_name_admin(prey)] whilst the prey was AFK ([pred ? ADMIN_JMP(pred) : "null"])") var/mob/living/carbon/victim_pred = pred // Check for afk vore - if(istype(victim_pred) && !victim_pred.client && !victim_pred.ai_holder) + if(istype(victim_pred) && !victim_pred.client && !victim_pred.ai_holder && victim_pred.ckey) log_and_message_admins("[key_name_admin(pred)] ate [key_name_admin(prey)] whilst the pred was AFK ([pred ? ADMIN_JMP(pred) : "null"])") // Inform Admins @@ -747,18 +831,18 @@ /mob/living/proc/glow_toggle() set name = "Glow (Toggle)" - set category = "Abilities" + set category = "Abilities.General" set desc = "Toggle your glowing on/off!" //I don't really see a point to any sort of checking here. //If they're passed out, the light won't help them. Same with buckled. Really, I think it's fine to do this whenever. glow_toggle = !glow_toggle - to_chat(src,"You [glow_toggle ? "en" : "dis"]able your body's glow.") + to_chat(src,span_notice("You " + span_bold("[glow_toggle ? "en" : "dis"]") + "able your body's glow.")) /mob/living/proc/glow_color() set name = "Glow (Set Color)" - set category = "Abilities" + set category = "Abilities.Settings" set desc = "Pick a color for your body's glow." //Again, no real need for a check on this. I'm unsure how it could be somehow abused. @@ -778,46 +862,46 @@ /mob/living/proc/eat_trash() set name = "Eat Trash" - set category = "Abilities" + set category = "Abilities.Vore" set desc = "Consume held garbage." if(!vore_selected) - to_chat(src,"You either don't have a belly selected, or don't have a belly!") + to_chat(src,span_warning("You either don't have a belly selected, or don't have a belly!")) return var/obj/item/I = get_active_hand() if(!I) - to_chat(src, "You are not holding anything.") + to_chat(src, span_notice("You are not holding anything.")) return if(is_type_in_list(I,item_vore_blacklist) && !adminbus_trash) //If someone has adminbus, they can eat whatever they want. - to_chat(src, "You are not allowed to eat this.") + to_chat(src, span_warning("You are not allowed to eat this.")) return if(!I.trash_eatable) //OOC pref. This /IS/ respected, even if adminbus_trash is enabled - to_chat(src, "You can't eat that so casually!") + to_chat(src, span_warning("You can't eat that so casually!")) return - if(istype(I, /obj/item/device/paicard)) - var/obj/item/device/paicard/palcard = I + if(istype(I, /obj/item/paicard)) + var/obj/item/paicard/palcard = I var/mob/living/silicon/pai/pocketpal = palcard.pai if(pocketpal && (!pocketpal.devourable)) - to_chat(src, "\The [pocketpal] doesn't allow you to eat it.") + to_chat(src, span_warning("\The [pocketpal] doesn't allow you to eat it.")) return - if(istype(I, /obj/item/weapon/book)) - var/obj/item/weapon/book/book = I + if(istype(I, /obj/item/book)) + var/obj/item/book/book = I if(book.carved) - to_chat(src, "\The [book] is not worth eating without the filling.") + to_chat(src, span_warning("\The [book] is not worth eating without the filling.")) return if(is_type_in_list(I,edible_trash) | adminbus_trash) if(I.hidden_uplink) - to_chat(src, "You really should not be eating this.") + to_chat(src, span_warning("You really should not be eating this.")) message_admins("[key_name(src)] has attempted to ingest an uplink item. ([src ? ADMIN_JMP(src) : "null"])") return - if(istype(I,/obj/item/device/pda)) - var/obj/item/device/pda/P = I + if(istype(I,/obj/item/pda)) + var/obj/item/pda/P = I if(P.owner) var/watching = FALSE for(var/mob/living/carbon/human/H in view(src)) @@ -827,15 +911,15 @@ if(!watching) return else - visible_message("[src] is threatening to make [P] disappear!") + visible_message(span_warning("[src] is threatening to make [P] disappear!")) if(P.id) var/confirm = tgui_alert(src, "The PDA you're holding contains a vulnerable ID card. Will you risk it?", "Confirmation", list("Definitely", "Cancel")) if(confirm != "Definitely") return if(!do_after(src, 100, P)) return - visible_message("[src] successfully makes [P] disappear!") - to_chat(src, "You can taste the sweet flavor of delicious technology.") + visible_message(span_warning("[src] successfully makes [P] disappear!")) + to_chat(src, span_notice("You can taste the sweet flavor of delicious technology.")) drop_item() I.forceMove(vore_selected) updateVRPanel() @@ -843,12 +927,12 @@ if(istype(I,/obj/item/clothing/shoes)) var/obj/item/clothing/shoes/S = I if(S.holding) - to_chat(src, "There's something inside!") + to_chat(src, span_warning("There's something inside!")) return if(iscapturecrystal(I)) var/obj/item/capture_crystal/C = I if(!C.bound_mob.devourable) - to_chat(src, "That doesn't seem like a good idea. (\The [C.bound_mob]'s prefs don't allow it.)") + to_chat(src, span_warning("That doesn't seem like a good idea. (\The [C.bound_mob]'s prefs don't allow it.)")) return drop_item() I.forceMove(vore_selected) @@ -856,80 +940,80 @@ log_admin("VORE: [src] used Eat Trash to swallow [I].") - if(istype(I,/obj/item/device/flashlight/flare) || istype(I,/obj/item/weapon/flame/match) || istype(I,/obj/item/weapon/storage/box/matches)) - to_chat(src, "You can taste the flavor of spicy cardboard.") - else if(istype(I,/obj/item/device/flashlight/glowstick)) - to_chat(src, "You found out the glowy juice only tastes like regret.") + if(istype(I,/obj/item/flashlight/flare) || istype(I,/obj/item/flame/match) || istype(I,/obj/item/storage/box/matches)) + to_chat(src, span_notice("You can taste the flavor of spicy cardboard.")) + else if(istype(I,/obj/item/flashlight/glowstick)) + to_chat(src, span_notice("You found out the glowy juice only tastes like regret.")) else if(istype(I,/obj/item/trash/cigbutt)) - to_chat(src, "You can taste the flavor of bitter ash. Classy.") + to_chat(src, span_notice("You can taste the flavor of bitter ash. Classy.")) else if(istype(I,/obj/item/clothing/mask/smokable)) var/obj/item/clothing/mask/smokable/C = I if(C.lit) - to_chat(src, "You can taste the flavor of burning ash. Spicy!") + to_chat(src, span_notice("You can taste the flavor of burning ash. Spicy!")) else - to_chat(src, "You can taste the flavor of aromatic rolling paper and funny looks.") - else if(istype(I,/obj/item/weapon/paper)) - to_chat(src, "You can taste the dry flavor of bureaucracy.") - else if(istype(I,/obj/item/weapon/book)) - to_chat(src, "You can taste the dry flavor of knowledge.") - else if(istype(I,/obj/item/weapon/dice) || istype(I,/obj/item/roulette_ball)) - to_chat(src, "You can taste the bitter flavor of cheating.") - else if(istype(I,/obj/item/weapon/lipstick)) - to_chat(src, "You can taste the flavor of couture and style. Toddler at the make-up bag style.") - else if(istype(I,/obj/item/weapon/soap)) - to_chat(src, "You can taste the bitter flavor of verbal purification.") - else if(istype(I,/obj/item/weapon/spacecash) || istype(I,/obj/item/weapon/storage/wallet)) - to_chat(src, "You can taste the flavor of wealth and reckless waste.") - else if(istype(I,/obj/item/weapon/broken_bottle) || istype(I,/obj/item/weapon/material/shard)) - to_chat(src, "You can taste the flavor of pain. This can't possibly be healthy for your guts.") - else if(istype(I,/obj/item/weapon/light)) - var/obj/item/weapon/light/L = I + to_chat(src, span_notice("You can taste the flavor of aromatic rolling paper and funny looks.")) + else if(istype(I,/obj/item/paper)) + to_chat(src, span_notice("You can taste the dry flavor of bureaucracy.")) + else if(istype(I,/obj/item/book)) + to_chat(src, span_notice("You can taste the dry flavor of knowledge.")) + else if(istype(I,/obj/item/dice) || istype(I,/obj/item/roulette_ball)) + to_chat(src, span_notice("You can taste the bitter flavor of cheating.")) + else if(istype(I,/obj/item/lipstick)) + to_chat(src, span_notice("You can taste the flavor of couture and style. Toddler at the make-up bag style.")) + else if(istype(I,/obj/item/soap)) + to_chat(src, span_notice("You can taste the bitter flavor of verbal purification.")) + else if(istype(I,/obj/item/spacecash) || istype(I,/obj/item/storage/wallet)) + to_chat(src, span_notice("You can taste the flavor of wealth and reckless waste.")) + else if(istype(I,/obj/item/broken_bottle) || istype(I,/obj/item/material/shard)) + to_chat(src, span_notice("You can taste the flavor of pain. This can't possibly be healthy for your guts.")) + else if(istype(I,/obj/item/light)) + var/obj/item/light/L = I if(L.status == LIGHT_BROKEN) - to_chat(src, "You can taste the flavor of pain. This can't possibly be healthy for your guts.") + to_chat(src, span_notice("You can taste the flavor of pain. This can't possibly be healthy for your guts.")) else - to_chat(src, "You can taste the flavor of really bad ideas.") - else if(istype(I,/obj/item/weapon/bikehorn/tinytether)) - to_chat(src, "You feel a rush of power swallowing such a large, err, tiny structure.") - else if(istype(I,/obj/item/device/mmi/digital/posibrain) || istype(I,/obj/item/device/aicard)) - to_chat(src, "You can taste the sweet flavor of digital friendship. Or maybe it is something else.") - else if(istype(I,/obj/item/device/paicard)) - to_chat(src, "You can taste the sweet flavor of digital friendship.") - var/obj/item/device/paicard/ourcard = I + to_chat(src, span_notice("You can taste the flavor of really bad ideas.")) + else if(istype(I,/obj/item/bikehorn/tinytether)) + to_chat(src, span_notice("You feel a rush of power swallowing such a large, err, tiny structure.")) + else if(istype(I,/obj/item/mmi/digital/posibrain) || istype(I,/obj/item/aicard)) + to_chat(src, span_notice("You can taste the sweet flavor of digital friendship. Or maybe it is something else.")) + else if(istype(I,/obj/item/paicard)) + to_chat(src, span_notice("You can taste the sweet flavor of digital friendship.")) + var/obj/item/paicard/ourcard = I if(ourcard.pai && ourcard.pai.client && isbelly(ourcard.loc)) var/obj/belly/B = ourcard.loc - to_chat(ourcard.pai, "[B.desc]") - else if(istype(I,/obj/item/weapon/reagent_containers/food)) - var/obj/item/weapon/reagent_containers/food/F = I + to_chat(ourcard.pai, span_boldnotice("[B.desc]")) + else if(istype(I,/obj/item/reagent_containers/food)) + var/obj/item/reagent_containers/food/F = I if(!F.reagents.total_volume) - to_chat(src, "You can taste the flavor of garbage and leftovers. Delicious?") + to_chat(src, span_notice("You can taste the flavor of garbage and leftovers. Delicious?")) else - to_chat(src, "You can taste the flavor of gluttonous waste of food.") + to_chat(src, span_notice("You can taste the flavor of gluttonous waste of food.")) else if (istype(I,/obj/item/clothing/accessory/collar)) - to_chat(src, "You can taste the submissiveness in the wearer of [I]!") + to_chat(src, span_notice("You can taste the submissiveness in the wearer of [I]!")) else if(iscapturecrystal(I)) var/obj/item/capture_crystal/C = I if(C.bound_mob && (C.bound_mob in C.contents)) if(isbelly(C.loc)) var/obj/belly/B = C.loc - to_chat(C.bound_mob, "Outside of your crystal, you can see; [B.desc]") - to_chat(src, "You can taste the the power of command.") + to_chat(C.bound_mob, span_notice("Outside of your crystal, you can see; " + span_notice("[B.desc]"))) + to_chat(src, span_notice("You can taste the the power of command.")) else - to_chat(src, "You can taste the flavor of garbage. Delicious.") - visible_message("[src] demonstrates their voracious capabilities by swallowing [I] whole!") + to_chat(src, span_notice("You can taste the flavor of garbage. Delicious.")) + visible_message(span_warning("[src] demonstrates their voracious capabilities by swallowing [I] whole!")) return - to_chat(src, "This item is not appropriate for ethical consumption.") + to_chat(src, span_notice("This item is not appropriate for ethical consumption.")) return /mob/living/proc/toggle_trash_catching() //Ported from chompstation set name = "Toggle Trash Catching" - set category = "Abilities" + set category = "Abilities.Vore" set desc = "Toggle Trash Eater throw vore abilities." trash_catching = !trash_catching - to_chat(src, "Trash catching [trash_catching ? "enabled" : "disabled"].") + to_chat(src, span_warning("Trash catching [trash_catching ? "enabled" : "disabled"].")) /mob/living/proc/eat_minerals() //Actual eating abstracted so the user isn't given a prompt due to an argument in this verb. set name = "Eat Minerals" - set category = "Abilities" + set category = "Abilities.Vore" set desc = "Consume held raw ore, gems and refined minerals. Snack time!" handle_eat_minerals() @@ -941,22 +1025,22 @@ return if(!vore_selected) - to_chat(src, "You either don't have a belly selected, or don't have a belly!") + to_chat(src, span_warning("You either don't have a belly selected, or don't have a belly!")) return var/obj/item/I = (snack ? snack : feeder.get_active_hand()) if(!I) - to_chat(feeder, "You look longingly at your empty hands, imagining if they held something edible...") + to_chat(feeder, span_notice("You look longingly at your empty hands, imagining if they held something edible...")) return if(!istype(I)) - to_chat(src, "You pause for a moment to examine [I] and realize it's not even worth the energy to chew.") + to_chat(src, span_notice("You pause for a moment to examine [I] and realize it's not even worth the energy to chew.")) return var/list/nom = null var/datum/material/M = null - if(istype(I, /obj/item/weapon/ore)) //Raw unrefined ore. Some things are just better untempered! - var/obj/item/weapon/ore/O = I + if(istype(I, /obj/item/ore)) //Raw unrefined ore. Some things are just better untempered! + var/obj/item/ore/O = I //List in list, define by material property of ore in code/mining/modules/ore.dm. //50 nutrition = 5 ore to get 250 nutrition. 250 is the beginning of the 'well fed' range. var/list/rock_munch = list( @@ -978,7 +1062,7 @@ if(O.material in rock_munch) nom = rock_munch[O.material] M = name_to_material[O.material] - else if(istype(O, /obj/item/weapon/ore/slag)) + else if(istype(O, /obj/item/ore/slag)) nom = list("nutrition" = 15, "remark" = "You taste dusty, crunchy mistakes. This is a travesty... but at least it is an edible one.", "WTF" = FALSE) else //Random rock. nom = list("nutrition" = 0, "remark" = "You taste stony, gravelly goodness - but you crave something with actual nutritional value.", "WTF" = FALSE) @@ -1019,24 +1103,24 @@ I = stack nom = refined_taste[O.default_type] M = name_to_material[O.default_type] - else if(istype(I, /obj/item/weapon/entrepreneur/crystal)) + else if(istype(I, /obj/item/entrepreneur/crystal)) nom = list("nutrition" = 100, "remark" = "The crytal was particularly brittle and not difficult to break apart, but the inside was incredibly flavoursome. Though devoid of any actual healing power, it seems to be very nutritious!", "WTF" = FALSE) if(nom) //Ravenous 1-4, snackage confirmed. Clear for chowdown, over. playsound(src, 'sound/items/eatfood.ogg', rand(10,50), 1) var/T = (istype(M) ? M.hardness/40 : 1) SECONDS //1.5 seconds to eat a sheet of metal. 2.5 for durasteel and diamond & 1 by default (applies to some ores like raw carbon, slag, etc. - to_chat(src, "You start crunching on [I] with your powerful jaws, attempting to tear it apart...") + to_chat(src, span_notice("You start crunching on [I] with your powerful jaws, attempting to tear it apart...")) if(do_after(feeder, T, ignore_movement = TRUE, exclusive = TASK_ALL_EXCLUSIVE)) //Eat on the move, but not multiple things at once. if(feeder != src) - to_chat(feeder, "You feed [I] to [src].") + to_chat(feeder, span_notice("You feed [I] to [src].")) log_admin("VORE: [feeder] fed [src] [I].") else log_admin("VORE: [src] used Eat Minerals to swallow [I].") //Eat the ore using the vorebelly for the sound then get rid of the ore to prevent infinite nutrition. drop_from_inventory(I, vore_selected) //Never touches the ground - straight to the gut. visible_message("[src] crunches [I] to pieces and swallows it down.", - "[nom["remark"]]", - "You hear the gnashing of jaws with some ominous grinding and crunching noises, then... Swallowing?") + span_notice("[nom["remark"]]"), + span_notice("You hear the gnashing of jaws with some ominous grinding and crunching noises, then... Swallowing?")) adjust_nutrition(nom["nutrition"]) qdel(I) @@ -1051,22 +1135,22 @@ return TRUE else - to_chat(src, "You were interrupted while gnawing on [I]!") + to_chat(src, span_notice("You were interrupted while gnawing on [I]!")) else //Not the droids we're looking for. - to_chat(src, "You pause for a moment to examine [I] and realize it's not even worth the energy to chew.") //If it ain't ore or the type of sheets we can eat, bugger off! + to_chat(src, span_notice("You pause for a moment to examine [I] and realize it's not even worth the energy to chew.")) //If it ain't ore or the type of sheets we can eat, bugger off! /mob/living/proc/toggle_stuffing_mode() set name = "Toggle feeding mode" - set category = "Abilities" + set category = "Abilities.Vore" set desc = "Switch whether you will try to feed other people food whole or normally, bite by bite." stuffing_feeder = !stuffing_feeder - to_chat(src, "You will [stuffing_feeder ? "now" : "no longer"] try to feed food whole.") + to_chat(src, span_notice("You will [stuffing_feeder ? "now" : "no longer"] try to feed food whole.")) /mob/living/proc/switch_scaling() set name = "Switch scaling mode" - set category = "Preferences" + set category = "Preferences.Game" set desc = "Switch sharp/fuzzy scaling for current mob." appearance_flags ^= PIXEL_SCALE fuzzy = !fuzzy @@ -1074,7 +1158,7 @@ /mob/living/proc/center_offset() set name = "Switch center offset mode" - set category = "Preferences" + set category = "Preferences.Game" set desc = "Switch sprite center offset to fix even/odd symmetry." offset_override = !offset_override update_transform() @@ -1082,7 +1166,7 @@ /mob/living/examine(mob/user, infix, suffix) . = ..() if(custom_link) - . += "Custom link: [custom_link]" + . += "Custom link: " + span_linkify("[custom_link]") if(ooc_notes) . += "OOC Notes: \[View\] - \[Print\]" . += "\[Mechanical Vore Preferences\]" @@ -1112,35 +1196,38 @@ /mob/living/proc/display_voreprefs(mob/user) //Called by Topic() calls on instances of /mob/living (and subtypes) containing vore_prefs as an argument if(!user) CRASH("display_voreprefs() was called without an associated user.") - var/dispvoreprefs = "[src]'s vore preferences


      " - if(client && client.prefs) - if("CHAT_OOC" in client.prefs.preferences_disabled) - dispvoreprefs += "OOC DISABLED
      " - if("CHAT_LOOC" in client.prefs.preferences_disabled) - dispvoreprefs += "LOOC DISABLED
      " - dispvoreprefs += "Digestable: [digestable ? "Enabled" : "Disabled"]
      " - dispvoreprefs += "Devourable: [devourable ? "Enabled" : "Disabled"]
      " - dispvoreprefs += "Feedable: [feeding ? "Enabled" : "Disabled"]
      " - dispvoreprefs += "Absorption Permission: [absorbable ? "Allowed" : "Disallowed"]
      " - dispvoreprefs += "Leaves Remains: [digest_leave_remains ? "Enabled" : "Disabled"]
      " - dispvoreprefs += "Mob Vore: [allowmobvore ? "Enabled" : "Disabled"]
      " - dispvoreprefs += "Healbelly permission: [permit_healbelly ? "Allowed" : "Disallowed"]
      " - dispvoreprefs += "Selective Mode Pref: [src.selective_preference]
      " - dispvoreprefs += "Spontaneous vore prey: [can_be_drop_prey ? "Enabled" : "Disabled"]
      " - dispvoreprefs += "Spontaneous vore pred: [can_be_drop_pred ? "Enabled" : "Disabled"]
      " - dispvoreprefs += "Drop Vore: [drop_vore ? "Enabled" : "Disabled"]
      " - dispvoreprefs += "Slip Vore: [slip_vore ? "Enabled" : "Disabled"]
      " - dispvoreprefs += "Throw vore: [throw_vore ? "Enabled" : "Disabled"]
      " - dispvoreprefs += "Stumble Vore: [stumble_vore ? "Enabled" : "Disabled"]
      " - dispvoreprefs += "Food Vore: [food_vore ? "Enabled" : "Disabled"]
      " - dispvoreprefs += "Inbelly Spawning: [allow_inbelly_spawning ? "Allowed" : "Disallowed"]
      " - dispvoreprefs += "Spontaneous transformation: [allow_spontaneous_tf ? "Enabled" : "Disabled"]
      " - dispvoreprefs += "Can be stepped on/over: [step_mechanics_pref ? "Allowed" : "Disallowed"]
      " - dispvoreprefs += "Can be picked up: [pickup_pref ? "Allowed" : "Disallowed"]
      " - dispvoreprefs += "Global Vore Privacy is: [eating_privacy_global ? "Subtle" : "Loud"]
      " - user << browse("Vore prefs: [src]
      [dispvoreprefs]
      ", "window=[name]mvp;size=300x400;can_resize=1;can_minimize=0") - onclose(user, "[name]") - return + var/dat = "
      " + span_bold("[src]'s vore preferences") + "

      " + if(!client?.prefs?.read_preference(/datum/preference/toggle/show_ooc)) + dat += span_red(span_bold("OOC DISABLED")) + "
      " + if(!client?.prefs?.read_preference(/datum/preference/toggle/show_looc)) + dat += span_red(span_bold("LOOC DISABLED")) + "
      " + dat += span_bold("Digestable:") + " [digestable ? span_green("Enabled") : span_red("Disabled")]
      " + dat += span_bold("Devourable:") + " [devourable ? span_green("Enabled") : span_red("Disabled")]
      " + dat += span_bold("Feedable:") + " [feeding ? span_green("Enabled") : span_red("Disabled")]
      " + dat += span_bold("Absorption Permission:") + " [absorbable ? span_green("Allowed") : span_red("Disallowed")]
      " + dat += span_bold("Leaves Remains:") + " [digest_leave_remains ? span_green("Enabled") : span_red("Disabled")]
      " + dat += span_bold("Mob Vore:") + " [allowmobvore ? span_green("Enabled") : span_red("Disabled")]
      " + dat += span_bold("Healbelly permission:") + " [permit_healbelly ? span_green("Allowed") : span_red("Disallowed")]
      " + dat += span_bold("Selective Mode Pref:") + " [src.selective_preference]
      " + dat += span_bold("Spontaneous vore prey:") + " [can_be_drop_prey ? span_green("Enabled") : span_red("Disabled")]
      " + dat += span_bold("Spontaneous vore pred:") + " [can_be_drop_pred ? span_green("Enabled") : span_red("Disabled")]
      " + dat += span_bold("Drop Vore:") + " [drop_vore ? span_green("Enabled") : span_red("Disabled")]
      " + dat += span_bold("Slip Vore:") + " [slip_vore ? span_green("Enabled") : span_red("Disabled")]
      " + dat += span_bold("Throw vore:") + " [throw_vore ? span_green("Enabled") : span_red("Disabled")]
      " + dat += span_bold("Stumble Vore:") + " [stumble_vore ? span_green("Enabled") : span_red("Disabled")]
      " + dat += span_bold("Food Vore:") + " [food_vore ? span_green("Enabled") : span_red("Disabled")]
      " + dat += span_bold("Inbelly Spawning:") + " [allow_inbelly_spawning ? span_green("Allowed") : span_red("Disallowed")]
      " + dat += span_bold("Spontaneous transformation:") + " [allow_spontaneous_tf ? span_green("Enabled") : span_red("Disabled")]
      " + dat += span_bold("Mind transfer:") + " [allow_mind_transfer ? span_green("Allowed") : span_red("Disallowed")]
      " + dat += span_bold("Can be stepped on/over:") + " [step_mechanics_pref ? span_green("Allowed") : span_red("Disallowed")]
      " + dat += span_bold("Can be picked up:") + " [pickup_pref ? span_green("Allowed") : span_red("Disallowed")]
      " + dat += span_bold("Global Vore Privacy is:") + " [eating_privacy_global ? "Subtle" : "Loud"]
      " + dat += span_bold("Allow Mimicry:") + " [allow_mimicry ? span_green("Yes") : span_red("No")]
      " + dat = "
      [dat]
      " + + var/datum/browser/popup = new(user, "[name]mvp", "Vore Prefs: [src]", 300, 400, src) + popup.set_content(dat) + popup.open() // Full screen belly overlays! /obj/screen/fullscreen/belly @@ -1155,14 +1242,16 @@ /mob/living/proc/vorebelly_printout() //Spew the vorepanel belly messages into chat window for copypasting. set name = "X-Print Vorebelly Settings" - set category = "Preferences" + set category = "Preferences.Vore" set desc = "Print out your vorebelly messages into chat for copypasting." var/result = tgui_alert(src, "Would you rather open the export panel?", "Selected Belly Export", list("Open Panel", "Print to Chat")) + if(!result) + return if(result == "Open Panel") var/mob/living/user = usr if(!user) - to_chat(usr,"Mob undefined: [user]") + to_chat(usr,span_notice("Mob undefined: [user]")) return FALSE var/datum/vore_look/export_panel/exportPanel @@ -1170,7 +1259,7 @@ exportPanel = new(usr) if(!exportPanel) - to_chat(user,"Export panel undefined: [exportPanel]") + to_chat(user,span_notice("Export panel undefined: [exportPanel]")) return exportPanel.tgui_interact(user) @@ -1178,126 +1267,126 @@ for(var/belly in vore_organs) if(isbelly(belly)) var/obj/belly/B = belly - to_chat(src, "Belly name: [B.name]") - to_chat(src, "Belly desc: [B.desc]") - to_chat(src, "Belly absorbed desc: [B.absorbed_desc]") - to_chat(src, "Vore verb: [B.vore_verb]") - to_chat(src, "Struggle messages (outside):") + to_chat(src, span_chatexport(span_bold("Belly name:") + " [B.name]")) + to_chat(src, span_chatexport(span_bold("Belly desc:") + " [B.desc]")) + to_chat(src, span_chatexport(span_bold("Belly absorbed desc:") + " [B.absorbed_desc]")) + to_chat(src, span_chatexport(span_bold("Vore verb:") + " [B.vore_verb]")) + to_chat(src, span_chatexport(span_bold("Struggle messages (outside):"))) for(var/msg in B.struggle_messages_outside) - to_chat(src, "[msg]") - to_chat(src, "Struggle messages (inside):") + to_chat(src, span_chatexport("[msg]")) + to_chat(src, span_chatexport(span_bold("Struggle messages (inside):"))) for(var/msg in B.struggle_messages_inside) - to_chat(src, "[msg]") - to_chat(src, "Absorbed struggle messages (outside):") + to_chat(src, span_chatexport("[msg]")) + to_chat(src, span_chatexport(span_bold("Absorbed struggle messages (outside):"))) for(var/msg in B.absorbed_struggle_messages_outside) - to_chat(src, "[msg]") - to_chat(src, "Absorbed struggle messages (inside):") + to_chat(src, span_chatexport("[msg]")) + to_chat(src, span_chatexport(span_bold("Absorbed struggle messages (inside):"))) for(var/msg in B.absorbed_struggle_messages_inside) - to_chat(src, "[msg]") - to_chat(src, "Escape attempt messages (owner):") + to_chat(src, span_chatexport("[msg]")) + to_chat(src, span_chatexport(span_bold("Escape attempt messages (owner):"))) for(var/msg in B.escape_attempt_messages_owner) - to_chat(src, "[msg]") - to_chat(src, "Escape attempt messages (prey):") + to_chat(src, span_chatexport("[msg]")) + to_chat(src, span_chatexport(span_bold("Escape attempt messages (prey):"))) for(var/msg in B.escape_attempt_messages_prey) - to_chat(src, "[msg]") - to_chat(src, "Escape messages (owner):") + to_chat(src, span_chatexport("[msg]")) + to_chat(src, span_chatexport(span_bold("Escape messages (owner):"))) for(var/msg in B.escape_messages_owner) - to_chat(src, "[msg]") - to_chat(src, "Escape messages (prey):") + to_chat(src, span_chatexport("[msg]")) + to_chat(src, span_chatexport(span_bold("Escape messages (prey):"))) for(var/msg in B.escape_messages_prey) - to_chat(src, "[msg]") - to_chat(src, "Escape messages (outside):") + to_chat(src, span_chatexport("[msg]")) + to_chat(src, span_chatexport(span_bold("Escape messages (outside):"))) for(var/msg in B.escape_messages_outside) - to_chat(src, "[msg]") - to_chat(src, "Escape item messages (owner):") + to_chat(src, span_chatexport("[msg]")) + to_chat(src, span_chatexport(span_bold("Escape item messages (owner):"))) for(var/msg in B.escape_item_messages_owner) - to_chat(src, "[msg]") - to_chat(src, "Escape item messages (prey):") + to_chat(src, span_chatexport("[msg]")) + to_chat(src, span_chatexport(span_bold("Escape item messages (prey):"))) for(var/msg in B.escape_item_messages_prey) - to_chat(src, "[msg]") - to_chat(src, "Escape item messages (outside):") + to_chat(src, span_chatexport("[msg]")) + to_chat(src, span_chatexport(span_bold("Escape item messages (outside):"))) for(var/msg in B.escape_item_messages_outside) - to_chat(src, "[msg]") - to_chat(src, "Escape fail messages (owner):") + to_chat(src, span_chatexport("[msg]")) + to_chat(src, span_chatexport(span_bold("Escape fail messages (owner):"))) for(var/msg in B.escape_fail_messages_owner) - to_chat(src, "[msg]") - to_chat(src, "Escape fail messages (prey):") + to_chat(src, span_chatexport("[msg]")) + to_chat(src, span_chatexport(span_bold("Escape fail messages (prey):"))) for(var/msg in B.escape_fail_messages_prey) - to_chat(src, "[msg]") - to_chat(src, "Absorbed escape attempt messages (owner):") + to_chat(src, span_chatexport("[msg]")) + to_chat(src, span_chatexport(span_bold("Absorbed escape attempt messages (owner):"))) for(var/msg in B.escape_attempt_absorbed_messages_owner) - to_chat(src, "[msg]") - to_chat(src, "Absorbed escape attempt messages (prey):") + to_chat(src, span_chatexport("[msg]")) + to_chat(src, span_chatexport(span_bold("Absorbed escape attempt messages (prey):"))) for(var/msg in B.escape_attempt_absorbed_messages_prey) - to_chat(src, "[msg]") - to_chat(src, "Absorbed escape messages (owner):") + to_chat(src, span_chatexport("[msg]")) + to_chat(src, span_chatexport(span_bold("Absorbed escape messages (owner):"))) for(var/msg in B.escape_absorbed_messages_owner) - to_chat(src, "[msg]") - to_chat(src, "Absorbed escape messages (prey):") + to_chat(src, span_chatexport("[msg]")) + to_chat(src, span_chatexport(span_bold("Absorbed escape messages (prey):"))) for(var/msg in B.escape_absorbed_messages_prey) - to_chat(src, "[msg]") - to_chat(src, "Absorbed escape messages (outside):") + to_chat(src, span_chatexport("[msg]")) + to_chat(src, span_chatexport(span_bold("Absorbed escape messages (outside):"))) for(var/msg in B.escape_absorbed_messages_outside) - to_chat(src, "[msg]") - to_chat(src, "Absorbed escape fail messages (owner):") + to_chat(src, span_chatexport("[msg]")) + to_chat(src, span_chatexport(span_bold("Absorbed escape fail messages (owner):"))) for(var/msg in B.escape_fail_absorbed_messages_owner) - to_chat(src, "[msg]") - to_chat(src, "Absorbed escape fail messages (prey):") + to_chat(src, span_chatexport("[msg]")) + to_chat(src, span_chatexport(span_bold("Absorbed escape fail messages (prey):"))) for(var/msg in B.escape_fail_absorbed_messages_prey) - to_chat(src, "[msg]") - to_chat(src, "Primary transfer messages (owner):") + to_chat(src, span_chatexport("[msg]")) + to_chat(src, span_chatexport(span_bold("Primary transfer messages (owner):"))) for(var/msg in B.primary_transfer_messages_owner) - to_chat(src, "[msg]") - to_chat(src, "Primary transfer messages (prey):") + to_chat(src, span_chatexport("[msg]")) + to_chat(src, span_chatexport(span_bold("Primary transfer messages (prey):"))) for(var/msg in B.primary_transfer_messages_prey) - to_chat(src, "[msg]") - to_chat(src, "Secondary transfer messages (owner):") + to_chat(src, span_chatexport("[msg]")) + to_chat(src, span_chatexport(span_bold("Secondary transfer messages (owner):"))) for(var/msg in B.secondary_transfer_messages_owner) - to_chat(src, "[msg]") - to_chat(src, "Secondary transfer messages (prey):") + to_chat(src, span_chatexport("[msg]")) + to_chat(src, span_chatexport(span_bold("Secondary transfer messages (prey):"))) for(var/msg in B.secondary_transfer_messages_prey) - to_chat(src, "[msg]") - to_chat(src, "Digest chance messages (owner):") + to_chat(src, span_chatexport("[msg]")) + to_chat(src, span_chatexport(span_bold("Digest chance messages (owner):"))) for(var/msg in B.digest_chance_messages_owner) - to_chat(src, "[msg]") - to_chat(src, "Digest chance messages (prey):") + to_chat(src, span_chatexport("[msg]")) + to_chat(src, span_chatexport(span_bold("Digest chance messages (prey):"))) for(var/msg in B.digest_chance_messages_prey) - to_chat(src, "[msg]") - to_chat(src, "Absorb chance messages (owner):") + to_chat(src, span_chatexport("[msg]")) + to_chat(src, span_chatexport(span_bold("Absorb chance messages (owner):"))) for(var/msg in B.absorb_chance_messages_owner) - to_chat(src, "[msg]") - to_chat(src, "Absorb chance messages (prey):") + to_chat(src, span_chatexport("[msg]")) + to_chat(src, span_chatexport(span_bold("Absorb chance messages (prey):"))) for(var/msg in B.absorb_chance_messages_prey) - to_chat(src, "[msg]") - to_chat(src, "Digest messages (owner):") + to_chat(src, span_chatexport("[msg]")) + to_chat(src, span_chatexport(span_bold("Digest messages (owner):"))) for(var/msg in B.digest_messages_owner) - to_chat(src, "[msg]") - to_chat(src, "Digest messages (prey):") + to_chat(src, span_chatexport("[msg]")) + to_chat(src, span_chatexport(span_bold("Digest messages (prey):"))) for(var/msg in B.digest_messages_prey) - to_chat(src, "[msg]") - to_chat(src, "Absorb messages (owner):") + to_chat(src, span_chatexport("[msg]")) + to_chat(src, span_chatexport(span_bold("Absorb messages (owner):"))) for(var/msg in B.absorb_messages_owner) - to_chat(src, "[msg]") - to_chat(src, "Absorb messages (prey):") + to_chat(src, span_chatexport("[msg]")) + to_chat(src, span_chatexport(span_bold("Absorb messages (prey):"))) for(var/msg in B.absorb_messages_prey) - to_chat(src, "[msg]") - to_chat(src, "Unabsorb messages (owner):") + to_chat(src, span_chatexport("[msg]")) + to_chat(src, span_chatexport(span_bold("Unabsorb messages (owner):"))) for(var/msg in B.unabsorb_messages_owner) - to_chat(src, "[msg]") - to_chat(src, "Unabsorb messages (prey):") + to_chat(src, span_chatexport("[msg]")) + to_chat(src, span_chatexport(span_bold("Unabsorb messages (prey):"))) for(var/msg in B.unabsorb_messages_prey) - to_chat(src, "[msg]") - to_chat(src, "Examine messages (when full):") + to_chat(src, span_chatexport("[msg]")) + to_chat(src, span_chatexport(span_bold("Examine messages (when full):"))) for(var/msg in B.examine_messages) - to_chat(src, "[msg]") - to_chat(src, "Examine messages (with absorbed victims):") + to_chat(src, span_chatexport("[msg]")) + to_chat(src, span_chatexport(span_bold("Examine messages (with absorbed victims):"))) for(var/msg in B.examine_messages_absorbed) - to_chat(src, "[msg]") - to_chat(src, "Emote lists:") + to_chat(src, span_chatexport("[msg]")) + to_chat(src, span_chatexport(span_bold("Emote lists:"))) for(var/EL in B.emote_lists) - to_chat(src, "[EL]:") + to_chat(src, span_chatexport(span_bold("[EL]:"))) for(var/msg in B.emote_lists[EL]) - to_chat(src, "[msg]") + to_chat(src, span_chatexport("[msg]")) /** * Small helper component to manage the vore panel HUD icon @@ -1316,7 +1405,7 @@ var/mob/living/owner = parent if(owner.client) create_mob_button(parent) - owner.verbs |= /mob/proc/insidePanel + add_verb(owner, /mob/proc/insidePanel) owner.vorePanel = new(owner) /datum/component/vore_panel/UnregisterFromParent() @@ -1327,7 +1416,7 @@ owner?.client?.screen -= screen_icon UnregisterSignal(screen_icon, COMSIG_CLICK) qdel_null(screen_icon) - owner.verbs -= /mob/proc/insidePanel + remove_verb(owner, /mob/proc/insidePanel) qdel_null(owner.vorePanel) /datum/component/vore_panel/proc/create_mob_button(mob/user) diff --git a/code/modules/vore/eating/mob_vr.dm b/code/modules/vore/eating/mob_vr.dm index 7567b3beb36..5a3d89cd30f 100644 --- a/code/modules/vore/eating/mob_vr.dm +++ b/code/modules/vore/eating/mob_vr.dm @@ -27,6 +27,8 @@ var/selective_preference = DM_DEFAULT // Preference for selective bellymode var/text_warnings = TRUE // Allows us to dismiss the text limit warning messages after viewing it once per round var/eating_privacy_global = FALSE // Makes eating attempt/success messages only reach for subtle range if true, overwritten by belly-specific var + var/allow_mimicry = TRUE // Allows mimicking their character + var/allow_mind_transfer = FALSE //Allows ones mind to be taken over or swapped var/nutrition_message_visible = TRUE var/list/nutrition_messages = list( "They are starving! You can hear their stomach snarling from across the room!", diff --git a/code/modules/vore/eating/silicon_vr.dm b/code/modules/vore/eating/silicon_vr.dm index 2334e186e87..0ef778f829d 100644 --- a/code/modules/vore/eating/silicon_vr.dm +++ b/code/modules/vore/eating/silicon_vr.dm @@ -19,7 +19,7 @@ bellied = prey prey.forceMove(src) visible_message("[src] entirely engulfs [prey] in hardlight holograms!") - to_chat(usr, "You completely engulf [prey] in hardlight holograms!") //Can't be part of the above, because the above is from the hologram. + to_chat(usr, span_vnotice("You completely engulf [prey] in hardlight holograms!")) //Can't be part of the above, because the above is from the hologram. desc = "[initial(desc)] It seems to have hardlight mode enabled and someone inside." pass_flags = 0 @@ -41,12 +41,12 @@ /mob/living/silicon/ai/verb/holo_nom() set name = "Hardlight Nom" - set category = "AI Commands" + set category = "AI.Vore" set desc = "Wrap up a person in hardlight holograms." // Wrong state if (!eyeobj || !holo) - to_chat(usr, "You can only use this when holo-projecting!") + to_chat(usr, span_vwarning("You can only use this when holo-projecting!")) return //Holopads have this 'masters' list where the keys are AI names and the values are the hologram effects @@ -68,11 +68,11 @@ return //Probably cancelled if(!istype(prey)) - to_chat(usr, "Invalid mob choice!") + to_chat(usr, span_vwarning("Invalid mob choice!")) return hologram.visible_message("[hologram] starts engulfing [prey] in hardlight holograms!") - to_chat(src, "You begin engulfing [prey] in hardlight holograms.") //Can't be part of the above, because the above is from the hologram. + to_chat(src, span_vnotice("You begin engulfing [prey] in hardlight holograms.")) //Can't be part of the above, because the above is from the hologram. if(do_after(user=eyeobj,delay=50,target=prey,needhand=0) && holo && hologram && !hologram.bellied) //Didn't move and still projecting and effect exists and no other bellied people hologram.get_prey(prey) @@ -80,7 +80,7 @@ //I basically have to do this, you know? /mob/living/silicon/ai/examinate(atom/A as mob|obj|turf in view(eyeobj)) set name = "Examine" - set category = "IC" + set category = "IC.Game" A.examine(src) */ @@ -99,4 +99,17 @@ . += "[flavor_text]" if(master.ooc_notes) - . += "OOC Notes: \[View\] - \[Print\]" + . += span_deptradio("OOC Notes:") + "\[View\] - \[Print\]" + +// Allow dissipating ai holograms by attacking them +/obj/effect/overlay/aiholo/attack_hand(mob/living/user) + if(user.a_intent == I_HURT) + to_chat(user, span_attack("You dissipate [src].")) + master?.holo?.clear_holo(master) + return ..() + +/obj/effect/overlay/aiholo/attackby(obj/item/I, mob/user) + if(user.a_intent == I_HURT) + to_chat(user, span_attack("You dissipate [src] with [I].")) + master?.holo?.clear_holo(master) + return ..() diff --git a/code/modules/vore/eating/simple_animal_vr.dm b/code/modules/vore/eating/simple_animal_vr.dm index 876ddce783e..b6eb8840b33 100644 --- a/code/modules/vore/eating/simple_animal_vr.dm +++ b/code/modules/vore/eating/simple_animal_vr.dm @@ -8,7 +8,7 @@ // /mob/living/simple_mob/proc/animal_nom(mob/living/T in living_mobs(1)) set name = "Animal Nom" - set category = "Abilities" // Moving this to abilities from IC as it's more fitting there + set category = "Abilities.Vore" // Moving this to abilities from IC as it's more fitting there set desc = "Since you can't grab, you get a verb!" if(stat != CONSCIOUS) @@ -18,7 +18,7 @@ // Mice can't eat logged out players! return if(client && IsAdvancedToolUser()) - to_chat(src, "Put your hands to good use instead!") + to_chat(src, span_warning("Put your hands to good use instead!")) return feed_grabbed_to_self(src,T) update_icon() @@ -30,17 +30,17 @@ /mob/living/simple_mob/proc/toggle_digestion() set name = "Toggle Animal's Digestion" set desc = "Enables digestion on this mob for 20 minutes." - set category = "OOC" + set category = "OOC.Mob Settings" set src in oview(1) var/mob/living/carbon/human/user = usr if(!istype(user) || user.stat) return if(!vore_selected) - to_chat(user, "[src] isn't planning on eating anything much less digesting it.") + to_chat(user, span_warning("[src] isn't planning on eating anything much less digesting it.")) return if(ai_holder.retaliate || (ai_holder.hostile && faction != user.faction)) - to_chat(user, "This predator isn't friendly, and doesn't give a shit about your opinions of it digesting you.") + to_chat(user, span_warning("This predator isn't friendly, and doesn't give a shit about your opinions of it digesting you.")) return if(vore_selected.digest_mode == DM_HOLD) var/confirm = tgui_alert(user, "Enabling digestion on [name] will cause it to digest all stomach contents. Using this to break OOC prefs is against the rules. Digestion will reset after 20 minutes.", "Enabling [name]'s Digestion", list("Enable", "Cancel")) @@ -56,23 +56,23 @@ /mob/living/simple_mob/proc/toggle_fancygurgle() set name = "Toggle Animal's Gurgle sounds" set desc = "Switches between Fancy and Classic sounds on this mob." - set category = "OOC" + set category = "OOC.Mob Settings" set src in oview(1) var/mob/living/user = usr //I mean, At least ghosts won't use it. if(!istype(user) || user.stat) return if(!vore_selected) - to_chat(user, "[src] isn't vore capable.") + to_chat(user, span_warning("[src] isn't vore capable.")) return vore_selected.fancy_vore = !vore_selected.fancy_vore to_chat(user, "[src] is now using [vore_selected.fancy_vore ? "Fancy" : "Classic"] vore sounds.") /mob/living/simple_mob/attackby(var/obj/item/O, var/mob/user) - if(istype(O, /obj/item/weapon/newspaper) && !(ckey || (ai_holder.hostile && faction != user.faction)) && isturf(user.loc)) + if(istype(O, /obj/item/newspaper) && !(ckey || (ai_holder.hostile && faction != user.faction)) && isturf(user.loc)) if(ai_holder.retaliate && prob(vore_pounce_chance/2)) // This is a gamble! user.Weaken(5) //They get tackled anyway whether they're edible or not. - user.visible_message("[user] swats [src] with [O] and promptly gets tackled!!") + user.visible_message(span_danger("[user] swats [src] with [O] and promptly gets tackled!")) if(will_eat(user)) set_AI_busy(TRUE) animal_nom(user) @@ -83,15 +83,15 @@ //AttackTarget() //VOREStation AI Temporary Removal //LoseTarget() // only make one attempt at an attack rather than going into full rage mode else - user.visible_message("[user] swats [src] with [O]!") + user.visible_message(span_info("[user] swats [src] with [O]!")) release_vore_contents() for(var/mob/living/L in living_mobs(0)) //add everyone on the tile to the do-not-eat list for a while if(!(LAZYFIND(prey_excludes, L))) // Unless they're already on it, just to avoid fuckery. LAZYSET(prey_excludes, L, world.time) addtimer(CALLBACK(src, PROC_REF(removeMobFromPreyExcludes), WEAKREF(L)), 5 MINUTES) - else if(istype(O, /obj/item/device/healthanalyzer)) + else if(istype(O, /obj/item/healthanalyzer)) var/healthpercent = health/maxHealth*100 - to_chat(user, "[src] seems to be [healthpercent]% healthy.") + to_chat(user, span_notice("[src] seems to be [healthpercent]% healthy.")) else ..() diff --git a/code/modules/vore/eating/stumblevore_vr.dm b/code/modules/vore/eating/stumblevore_vr.dm index 491f1c85e8e..992bc1712c0 100644 --- a/code/modules/vore/eating/stumblevore_vr.dm +++ b/code/modules/vore/eating/stumblevore_vr.dm @@ -32,13 +32,13 @@ M.Weaken(4) M.stop_flying() if(CanStumbleVore(M)) - visible_message("[M] flops carelessly into [src]!") + visible_message(span_vwarning("[M] flops carelessly into [src]!")) perform_the_nom(src,M,src,src.vore_selected,1) else if(M.CanStumbleVore(src)) - visible_message("[M] flops carelessly into [src]!") + visible_message(span_vwarning("[M] flops carelessly into [src]!")) perform_the_nom(M,src,M,M.vore_selected,1) else if(istype(S) && S.species.lightweight == 1) - visible_message("[M] carelessly bowls [src] over!") + visible_message(span_vwarning("[M] carelessly bowls [src] over!")) M.forceMove(get_turf(src)) M.apply_damage(0.5, BRUTE) Weaken(4) @@ -46,9 +46,9 @@ apply_damage(0.5, BRUTE) else if(round(weight) > 474) var/throwtarget = get_edge_target_turf(M, reverse_direction(M.dir)) - visible_message("[M] bounces backwards off of [src]'s plush body!") + visible_message(span_vwarning("[M] bounces backwards off of [src]'s plush body!")) M.throw_at(throwtarget, 2, 1) else - visible_message("[M] trips over [src]!") + visible_message(span_vwarning("[M] trips over [src]!")) M.forceMove(get_turf(src)) M.apply_damage(1, BRUTE) diff --git a/code/modules/vore/eating/transforming_vr.dm b/code/modules/vore/eating/transforming_vr.dm index 638aa1d5996..53938c23053 100644 --- a/code/modules/vore/eating/transforming_vr.dm +++ b/code/modules/vore/eating/transforming_vr.dm @@ -11,5 +11,5 @@ M.forceMove(egg) egg.name = egg_name if(message) - to_chat(M, "You lose sensation of your body, feeling only the warmth around you as you're encased in an egg.") - to_chat(O, "Your body shifts as you encase [M] in an egg.") + to_chat(M, span_vnotice("You lose sensation of your body, feeling only the warmth around you as you're encased in an egg.")) + to_chat(O, span_vnotice("Your body shifts as you encase [M] in an egg.")) diff --git a/code/modules/vore/eating/vertical_nom_vr.dm b/code/modules/vore/eating/vertical_nom_vr.dm index 658f6496cfa..e47c1f00d95 100644 --- a/code/modules/vore/eating/vertical_nom_vr.dm +++ b/code/modules/vore/eating/vertical_nom_vr.dm @@ -1,14 +1,14 @@ /mob/living/proc/vertical_nom() set name = "Nom from Above" set desc = "Allows you to eat people who are below your tile or adjacent one. Requires passability." - set category = "Abilities" + set category = "Abilities.Vore" if(stat == DEAD || paralysis || weakened || stunned) - to_chat(src, "You cannot do that while in your current state.") + to_chat(src, span_notice("You cannot do that while in your current state.")) return if(!(src.vore_selected)) - to_chat(src, "No selected belly found.") + to_chat(src, span_notice("No selected belly found.")) return var/list/targets = list() @@ -23,7 +23,7 @@ targets += L if(!(targets.len)) - to_chat(src, "No eligible targets found.") + to_chat(src, span_notice("No eligible targets found.")) return var/mob/living/target = tgui_input_list(src, "Please select a target.", "Victim", targets) @@ -31,17 +31,17 @@ if(!target) return - to_chat(target, "You feel yourself being pulled up by something... Or someone?!") + to_chat(target, span_vwarning("You feel yourself being pulled up by something... Or someone?!")) var/starting_loc = target.loc if(do_after(src, 50)) if(target.loc != starting_loc) - to_chat(target, "You have interrupted whatever that was...") - to_chat(src, "They got away.") + to_chat(target, span_vwarning("You have interrupted whatever that was...")) + to_chat(src, span_vnotice("They got away.")) return if(target.buckled) target.buckled.unbuckle_mob() - target.visible_message("\The [target] suddenly disappears somewhere above!",\ - "You are dragged above and feel yourself slipping directly into \the [src]'s [vore_selected]!") - to_chat(src, "You successfully snatch \the [target], slipping them into your [vore_selected].") + target.visible_message(span_vwarning("\The [target] suddenly disappears somewhere above!"),\ + span_vdanger("You are dragged above and feel yourself slipping directly into \the [src]'s [vore_selected]!")) + to_chat(src, span_vnotice("You successfully snatch \the [target], slipping them into your [vore_selected].")) target.forceMove(src.vore_selected) diff --git a/code/modules/vore/eating/vore_vr.dm b/code/modules/vore/eating/vore_vr.dm index d7fe76ed5a2..492389b2678 100644 --- a/code/modules/vore/eating/vore_vr.dm +++ b/code/modules/vore/eating/vore_vr.dm @@ -54,6 +54,7 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE var/permit_healbelly = TRUE var/noisy = FALSE var/eating_privacy_global = FALSE //Makes eating attempt/success messages only reach for subtle range if true, overwritten by belly-specific var + var/allow_mimicry = TRUE // These are 'modifier' prefs, do nothing on their own but pair with drop_prey/drop_pred settings. var/drop_vore = TRUE @@ -70,6 +71,7 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE var/pickup_pref = TRUE var/vore_sprite_color = list("stomach" = "#000", "taur belly" = "#000") + var/allow_mind_transfer = FALSE var/list/belly_prefs = list() var/vore_taste = "nothing in particular" @@ -195,7 +197,9 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE weight_message_visible = json_from_file["weight_message_visible"] weight_messages = json_from_file["weight_messages"] eating_privacy_global = json_from_file["eating_privacy_global"] + allow_mimicry = json_from_file["allow_mimicry"] vore_sprite_color = json_from_file["vore_sprite_color"] + allow_mind_transfer = json_from_file["allow_mind_transfer"] //Quick sanitize if(isnull(digestable)) @@ -252,6 +256,8 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE weight_message_visible = TRUE if(isnull(eating_privacy_global)) eating_privacy_global = FALSE + if(isnull(allow_mimicry)) + allow_mimicry = TRUE if(isnull(nutrition_messages)) nutrition_messages = list( "They are starving! You can hear their stomach snarling from across the room!", @@ -284,6 +290,8 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE weight_messages.Add("") if(isnull(vore_sprite_color)) vore_sprite_color = list("stomach" = "#000", "taur belly" = "#000") + if(isnull(allow_mind_transfer)) + allow_mind_transfer = FALSE return TRUE /datum/vore_preferences/proc/save_vore() @@ -317,6 +325,7 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE "slip_vore" = slip_vore, "stumble_vore" = stumble_vore, "throw_vore" = throw_vore, + "allow_mind_transfer" = allow_mind_transfer, "food_vore" = food_vore, "digest_pain" = digest_pain, "nutrition_message_visible" = nutrition_message_visible, @@ -324,6 +333,7 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE "weight_message_visible" = weight_message_visible, "weight_messages" = weight_messages, "eating_privacy_global" = eating_privacy_global, + "allow_mimicry" = allow_mimicry, "vore_sprite_color" = vore_sprite_color, ) diff --git a/code/modules/vore/eating/vorepanel_vr.dm b/code/modules/vore/eating/vorepanel_vr.dm index d2286f78b59..b690ab20f29 100644 --- a/code/modules/vore/eating/vorepanel_vr.dm +++ b/code/modules/vore/eating/vorepanel_vr.dm @@ -22,7 +22,7 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", /mob/proc/insidePanel() set name = "Vore Panel" - set category = "IC" + set category = "IC.Vore" if(SSticker.current_state == GAME_STATE_INIT) return @@ -96,6 +96,23 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", . = icon2base64(getFlatIcon(target,defdir=SOUTH,no_anim=TRUE)) nom_icons[key] = . +/datum/vore_look/tgui_static_data(mob/user) + var/list/data = ..() + + data["vore_words"] = list( + "%goo" = GLOB.vore_words_goo, + "%happybelly" = GLOB.vore_words_hbellynoises, + "%fat" = GLOB.vore_words_fat, + "%grip" = GLOB.vore_words_grip, + "%cozy" = GLOB.vore_words_cozyholdingwords, + "%angry" = GLOB.vore_words_angry, + "%acid" = GLOB.vore_words_acid, + "%snack" = GLOB.vore_words_snackname, + "%hot" = GLOB.vore_words_hot, + "%snake" = GLOB.vore_words_snake, + ) + + return data /datum/vore_look/tgui_data(mob/user) var/list/data = list() @@ -118,14 +135,8 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", else if(inside_belly.desc) inside_desc = inside_belly.desc - //I'd rather not copy-paste this code twice into the previous if-statement - //Technically we could just format the text anyway, but IDK how demanding unnecessary text-replacements are - if((host.absorbed && inside_belly.absorbed_desc) || (inside_belly.desc)) - var/formatted_desc - formatted_desc = replacetext(inside_desc, "%belly", lowertext(inside_belly.name)) //replace with this belly's name - formatted_desc = replacetext(formatted_desc, "%pred", pred) //replace with the pred of this belly - formatted_desc = replacetext(formatted_desc, "%prey", host) //replace with whoever's reading this - inside_desc = formatted_desc + if(inside_desc != "No description.") + inside_desc = inside_belly.belly_format_string(inside_desc, host, use_first_only = TRUE) inside = list( "absorbed" = host.absorbed, @@ -335,6 +346,7 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", "step_mechanics_active" = host.step_mechanics_pref, "pickup_mechanics_active" = host.pickup_pref, "noisy" = host.noisy, + "allow_mind_transfer" = host.allow_mind_transfer, "drop_vore" = host.drop_vore, "slip_vore" = host.slip_vore, "stumble_vore" = host.stumble_vore, @@ -346,11 +358,12 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", "weight_message_visible" = host.weight_message_visible, "weight_messages" = host.weight_messages, "eating_privacy_global" = host.eating_privacy_global, + "allow_mimicry" = host.allow_mimicry, ) return data -/datum/vore_look/tgui_act(action, params) +/datum/vore_look/tgui_act(action, params, datum/tgui/ui) if(..()) return TRUE @@ -359,7 +372,7 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", show_pictures = !show_pictures return TRUE if("int_help") - tgui_alert(usr, "These control how your belly responds to someone using 'resist' while inside you. The percent chance to trigger each is listed below, \ + tgui_alert(ui.user, "These control how your belly responds to someone using 'resist' while inside you. The percent chance to trigger each is listed below, \ and you can change them to whatever you see fit. Setting them to 0% will disable the possibility of that interaction. \ These only function as long as interactions are turned on in general. Keep in mind, the 'belly mode' interactions (digest/absorb) \ will affect all prey in that belly, if one resists and triggers digestion/absorption. If multiple trigger at the same time, \ @@ -368,17 +381,20 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", // Host is inside someone else, and is trying to interact with something else inside that person. if("pick_from_inside") - return pick_from_inside(usr, params) + return pick_from_inside(ui.user, params) // Host is trying to interact with something in host's belly. if("pick_from_outside") - return pick_from_outside(usr, params) + return pick_from_outside(ui.user, params) if("newbelly") if(host.vore_organs.len >= BELLIES_MAX) return FALSE - var/new_name = html_encode(tgui_input_text(usr,"New belly's name:","New Belly")) + var/new_name = html_encode(tgui_input_text(ui.user,"New belly's name:","New Belly")) + + if(!new_name) + return FALSE var/failure_msg if(length(new_name) > BELLIES_NAME_MAX || length(new_name) < BELLIES_NAME_MIN) @@ -391,7 +407,7 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", break if(failure_msg) //Something went wrong. - tgui_alert_async(usr, failure_msg, "Error!") + tgui_alert_async(ui.user, failure_msg, "Error!") return TRUE var/obj/belly/NB = new(host) @@ -399,14 +415,16 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", host.vore_selected = NB unsaved_changes = TRUE return TRUE - + if("importpanel") + import_belly(host) + return TRUE if("bellypick") host.vore_selected = locate(params["bellypick"]) return TRUE if("move_belly") var/dir = text2num(params["dir"]) if(LAZYLEN(host.vore_organs) <= 1) - to_chat(usr, "You can't sort bellies with only one belly to sort...") + to_chat(ui.user, span_warning("You can't sort bellies with only one belly to sort...")) return TRUE var/current_index = host.vore_organs.Find(host.vore_selected) @@ -417,70 +435,78 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", return TRUE if("set_attribute") - return set_attr(usr, params) + return set_attr(ui.user, params) if("saveprefs") if(isnewplayer(host)) - var/choice = tgui_alert(usr, "Warning: Saving your vore panel while in the lobby will save it to the CURRENTLY LOADED character slot, and potentially overwrite it. Are you SURE you want to overwrite your current slot with these vore bellies?", "WARNING!", list("No, abort!", "Yes, save.")) + var/choice = tgui_alert(ui.user, "Warning: Saving your vore panel while in the lobby will save it to the CURRENTLY LOADED character slot, and potentially overwrite it. Are you SURE you want to overwrite your current slot with these vore bellies?", "WARNING!", list("No, abort!", "Yes, save.")) if(choice != "Yes, save.") return TRUE else if(host.real_name != host.client.prefs.real_name || (!ishuman(host) && !issilicon(host))) - var/choice = tgui_alert(usr, "Warning: Saving your vore panel while playing what is very-likely not your normal character will overwrite whatever character you have loaded in character setup. Maybe this is your 'playing a simple mob' slot, though. Are you SURE you want to overwrite your current slot with these vore bellies?", "WARNING!", list("No, abort!", "Yes, save.")) + var/choice = tgui_alert(ui.user, "Warning: Saving your vore panel while playing what is very-likely not your normal character will overwrite whatever character you have loaded in character setup. Maybe this is your 'playing a simple mob' slot, though. Are you SURE you want to overwrite your current slot with these vore bellies?", "WARNING!", list("No, abort!", "Yes, save.")) if(choice != "Yes, save.") return TRUE if(!host.save_vore_prefs()) - tgui_alert_async(usr, "ERROR: Virgo-specific preferences failed to save!","Error") + tgui_alert_async(ui.user, "ERROR: Virgo-specific preferences failed to save!","Error") else - to_chat(usr, "Virgo-specific preferences saved!") + to_chat(ui.user, span_notice("Virgo-specific preferences saved!")) unsaved_changes = FALSE return TRUE if("reloadprefs") - var/alert = tgui_alert(usr, "Are you sure you want to reload character slot preferences? This will remove your current vore organs and eject their contents.","Confirmation",list("Reload","Cancel")) + var/alert = tgui_alert(ui.user, "Are you sure you want to reload character slot preferences? This will remove your current vore organs and eject their contents.","Confirmation",list("Reload","Cancel")) if(alert != "Reload") return FALSE if(!host.apply_vore_prefs()) - tgui_alert_async(usr, "ERROR: Virgo-specific preferences failed to apply!","Error") + tgui_alert_async(ui.user, "ERROR: Virgo-specific preferences failed to apply!","Error") else - to_chat(usr,"Virgo-specific preferences applied from active slot!") + to_chat(ui.user,span_notice("Virgo-specific preferences applied from active slot!")) unsaved_changes = FALSE return TRUE + if("loadprefsfromslot") + var/alert = tgui_alert(ui.user, "Are you sure you want to load another character slot's preferences? This will remove your current vore organs and eject their contents. This will not be immediately saved to your character slot, and you will need to save manually to overwrite your current bellies and preferences.","Confirmation",list("Load","Cancel")) + if(alert != "Load") + return FALSE + if(!host.load_vore_prefs_from_slot()) + tgui_alert_async(ui.user, "ERROR: Virgo-specific preferences failed to apply!","Error") + else + to_chat(ui.user,span_notice("Virgo-specific preferences applied from active slot!")) + unsaved_changes = TRUE + return TRUE if("exportpanel") - var/mob/living/user = usr - if(!user) - to_chat(usr,"Mob undefined: [user]") + if(!ui.user) return FALSE var/datum/vore_look/export_panel/exportPanel if(!exportPanel) - exportPanel = new(usr) + exportPanel = new(ui.user) if(!exportPanel) - to_chat(user,"Export panel undefined: [exportPanel]") + to_chat(ui.user,span_notice("Export panel undefined: [exportPanel]")) return FALSE - exportPanel.open_export_panel(user) + exportPanel.open_export_panel(ui.user) return TRUE if("setflavor") - var/new_flavor = html_encode(tgui_input_text(usr,"What your character tastes like (400ch limit). This text will be printed to the pred after 'X tastes of...' so just put something like 'strawberries and cream':","Character Flavor",host.vore_taste)) + var/new_flavor = html_encode(tgui_input_text(ui.user,"What your character tastes like (400ch limit). This text will be printed to the pred after 'X tastes of...' so just put something like 'strawberries and cream':","Character Flavor",host.vore_taste)) if(!new_flavor) return FALSE new_flavor = readd_quotes(new_flavor) if(length(new_flavor) > FLAVOR_MAX) - tgui_alert_async(usr, "Entered flavor/taste text too long. [FLAVOR_MAX] character limit.","Error!") + tgui_alert_async(ui.user, "Entered flavor/taste text too long. [FLAVOR_MAX] character limit.","Error!") return FALSE host.vore_taste = new_flavor unsaved_changes = TRUE return TRUE if("setsmell") - var/new_smell = html_encode(tgui_input_text(usr,"What your character smells like (400ch limit). This text will be printed to the pred after 'X smells of...' so just put something like 'strawberries and cream':","Character Smell",host.vore_smell)) + var/new_smell = html_encode(tgui_input_text(ui.user,"What your character smells like (400ch limit). This text will be printed to the pred after 'X smells of...' so just put something like 'strawberries and cream':","Character Smell",host.vore_smell)) if(!new_smell) return FALSE new_smell = readd_quotes(new_smell) if(length(new_smell) > FLAVOR_MAX) - tgui_alert_async(usr, "Entered perfume/smell text too long. [FLAVOR_MAX] character limit.","Error!") + tgui_alert_async(ui.user, "Entered perfume/smell text too long. [FLAVOR_MAX] character limit.","Error!") return FALSE host.vore_smell = new_smell unsaved_changes = TRUE @@ -521,6 +547,12 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", host.eating_privacy_global = host.eating_privacy_global unsaved_changes = TRUE return TRUE + if("toggle_mimicry") + host.allow_mimicry = !host.allow_mimicry + if(host.client.prefs_vr) + host.client.prefs_vr.allow_mimicry = host.allow_mimicry + unsaved_changes = TRUE + return TRUE if("toggle_devour") host.devourable = !host.devourable if(host.client.prefs_vr) @@ -569,6 +601,12 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", host.client.prefs_vr.pickup_pref = host.pickup_pref unsaved_changes = TRUE return TRUE + if("toggle_allow_mind_transfer") + host.allow_mind_transfer = !host.allow_mind_transfer + if(host.client.prefs_vr) + host.client.prefs_vr.allow_mind_transfer = host.allow_mind_transfer + unsaved_changes = TRUE + return TRUE if("toggle_healbelly") host.permit_healbelly = !host.permit_healbelly if(host.client.prefs_vr) @@ -617,7 +655,7 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", unsaved_changes = TRUE return TRUE if("switch_selective_mode_pref") - host.selective_preference = tgui_input_list(usr, "What would you prefer happen to you with selective bellymode?","Selective Bellymode", list(DM_DEFAULT, DM_DIGEST, DM_ABSORB, DM_DRAIN)) + host.selective_preference = tgui_input_list(ui.user, "What would you prefer happen to you with selective bellymode?","Selective Bellymode", list(DM_DEFAULT, DM_DIGEST, DM_ABSORB, DM_DRAIN)) if(!(host.selective_preference)) host.selective_preference = DM_DEFAULT if(host.client.prefs_vr) @@ -635,11 +673,11 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", if("set_vs_color") if (istype(host, /mob/living/carbon/human)) var/mob/living/carbon/human/hhost = host - var/belly_choice = tgui_input_list(usr, "Which vore sprite are you going to edit the color of?", "Vore Sprite Color", hhost.vore_icon_bellies) - var/newcolor = input(usr, "Choose a color.", "", hhost.vore_sprite_color[belly_choice]) as color|null + var/belly_choice = tgui_input_list(ui.user, "Which vore sprite are you going to edit the color of?", "Vore Sprite Color", hhost.vore_icon_bellies) + var/newcolor = input(ui.user, "Choose a color.", "", hhost.vore_sprite_color[belly_choice]) as color|null if(newcolor) hhost.vore_sprite_color[belly_choice] = newcolor - var/multiply = tgui_input_list(usr, "Set the color to be applied multiplicatively or additively? Currently in [hhost.vore_sprite_multiply[belly_choice] ? "Multiply" : "Add"]", "Vore Sprite Color", list("Multiply", "Add")) + var/multiply = tgui_input_list(ui.user, "Set the color to be applied multiplicatively or additively? Currently in [hhost.vore_sprite_multiply[belly_choice] ? "Multiply" : "Add"]", "Vore Sprite Color", list("Multiply", "Add")) if(multiply == "Multiply") hhost.vore_sprite_multiply[belly_choice] = TRUE else if(multiply == "Add") @@ -656,10 +694,10 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", var/intent = "Examine" if(isliving(target)) - intent = tgui_alert(usr, "What do you want to do to them?","Query",list("Examine","Help Out","Devour")) + intent = tgui_alert(user, "What do you want to do to them?","Query",list("Examine","Help Out","Devour")) else if(istype(target, /obj/item)) - intent = tgui_alert(usr, "What do you want to do to that?","Query",list("Examine","Use Hand")) + intent = tgui_alert(user, "What do you want to do to that?","Query",list("Examine","Use Hand")) switch(intent) if("Examine") //Examine a mob inside another mob @@ -674,7 +712,7 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", if("Use Hand") if(host.stat) - to_chat(user, "You can't do that in your state!") + to_chat(user, span_warning("You can't do that in your state!")) return TRUE host.ClickOn(target) @@ -687,43 +725,43 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", switch(intent) if("Help Out") //Help the inside-mob out if(host.stat || host.absorbed || M.absorbed) - to_chat(user, "You can't do that in your state!") + to_chat(user, span_warning("You can't do that in your state!")) return TRUE - to_chat(user,"[span_green("You begin to push [M] to freedom!")]") - to_chat(M,"[host] begins to push you to freedom!") - to_chat(OB.owner,"Someone is trying to escape from inside you!") + to_chat(user,span_vnotice("[span_green("You begin to push [M] to freedom!")]")) + to_chat(M,span_vnotice("[host] begins to push you to freedom!")) + to_chat(OB.owner,span_vwarning("Someone is trying to escape from inside you!")) sleep(50) if(prob(33)) OB.release_specific_contents(M) - to_chat(user,"[span_green("You manage to help [M] to safety!")]") - to_chat(M, "[span_green("[host] pushes you free!")]") - to_chat(OB.owner,"[M] forces free of the confines of your body!") + to_chat(user,span_vnotice("[span_green("You manage to help [M] to safety!")]")) + to_chat(M, span_vnotice("[span_green("[host] pushes you free!")]")) + to_chat(OB.owner,span_valert("[M] forces free of the confines of your body!")) else - to_chat(user,"[M] slips back down inside despite your efforts.") - to_chat(M," Even with [host]'s help, you slip back inside again.") - to_chat(OB.owner,"[span_green("Your body efficiently shoves [M] back where they belong.")]") + to_chat(user,span_valert("[M] slips back down inside despite your efforts.")) + to_chat(M,span_valert("Even with [host]'s help, you slip back inside again.")) + to_chat(OB.owner,span_vnotice("[span_green("Your body efficiently shoves [M] back where they belong.")]")) return TRUE if("Devour") //Eat the inside mob if(host.absorbed || host.stat) - to_chat(user,"You can't do that in your state!") + to_chat(user,span_warning("You can't do that in your state!")) return TRUE if(!host.vore_selected) - to_chat(user,"Pick a belly on yourself first!") + to_chat(user,span_warning("Pick a belly on yourself first!")) return TRUE var/obj/belly/TB = host.vore_selected - to_chat(user,"You begin to [lowertext(TB.vore_verb)] [M] into your [lowertext(TB.name)]!") - to_chat(M,"[host] begins to [lowertext(TB.vore_verb)] you into their [lowertext(TB.name)]!") - to_chat(OB.owner,"Someone inside you is eating someone else!") + to_chat(user,span_vwarning("You begin to [lowertext(TB.vore_verb)] [M] into your [lowertext(TB.name)]!")) + to_chat(M,span_vwarning("[host] begins to [lowertext(TB.vore_verb)] you into their [lowertext(TB.name)]!")) + to_chat(OB.owner,span_vwarning("Someone inside you is eating someone else!")) sleep(TB.nonhuman_prey_swallow_time) //Can't do after, in a stomach, weird things abound. if((host in OB) && (M in OB)) //Make sure they're still here. - to_chat(user,"You manage to [lowertext(TB.vore_verb)] [M] into your [lowertext(TB.name)]!") - to_chat(M,"[host] manages to [lowertext(TB.vore_verb)] you into their [lowertext(TB.name)]!") - to_chat(OB.owner,"Someone inside you has eaten someone else!") + to_chat(user,span_vwarning("You manage to [lowertext(TB.vore_verb)] [M] into your [lowertext(TB.name)]!")) + to_chat(M,span_vwarning("[host] manages to [lowertext(TB.vore_verb)] you into their [lowertext(TB.name)]!")) + to_chat(OB.owner,span_vwarning("Someone inside you has eaten someone else!")) if(M.absorbed) M.absorbed = FALSE OB.handle_absorb_langs(M, OB.owner) @@ -741,7 +779,7 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", if("Eject all") if(host.stat) - to_chat(user,"You can't do that in your state!") + to_chat(user,span_warning("You can't do that in your state!")) return TRUE host.vore_selected.release_all_contents() @@ -749,7 +787,7 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", if("Move all") if(host.stat) - to_chat(user,"You can't do that in your state!") + to_chat(user,span_warning("You can't do that in your state!")) return TRUE var/obj/belly/choice = tgui_input_list(user, "Move all where?","Select Belly", host.vore_organs) @@ -757,7 +795,7 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", return FALSE for(var/atom/movable/target in host.vore_selected) - to_chat(target,"You're squished from [host]'s [lowertext(host.vore_selected)] to their [lowertext(choice.name)]!") + to_chat(target,span_vwarning("You're squished from [host]'s [lowertext(host.vore_selected)] to their [lowertext(choice.name)]!")) host.vore_selected.transfer_contents(target, choice, 1) return TRUE return @@ -787,7 +825,7 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", if("Eject") if(host.stat) - to_chat(user,"You can't do that in your state!") + to_chat(user,span_warning("You can't do that in your state!")) return TRUE host.vore_selected.release_specific_contents(target) @@ -795,18 +833,18 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", if("Move") if(host.stat) - to_chat(user,"You can't do that in your state!") + to_chat(user,span_warning("You can't do that in your state!")) return TRUE - var/obj/belly/choice = tgui_input_list(usr, "Move [target] where?","Select Belly", host.vore_organs) + var/obj/belly/choice = tgui_input_list(user, "Move [target] where?","Select Belly", host.vore_organs) if(!choice || !(target in host.vore_selected)) return TRUE - to_chat(target,"You're squished from [host]'s [lowertext(host.vore_selected.name)] to their [lowertext(choice.name)]!") + to_chat(target,span_vwarning("You're squished from [host]'s [lowertext(host.vore_selected.name)] to their [lowertext(choice.name)]!")) host.vore_selected.transfer_contents(target, choice) if("Transfer") if(host.stat) - to_chat(user,"You can't do that in your state!") + to_chat(user,span_warning("You can't do that in your state!")) return TRUE var/mob/living/belly_owner = host @@ -817,7 +855,7 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", if(candidate.vore_organs.len && candidate.feeding && !candidate.no_vore) viable_candidates += candidate if(!viable_candidates.len) - to_chat(user, "There are no viable candidates around you!") + to_chat(user, span_notice("There are no viable candidates around you!")) return TRUE belly_owner = tgui_input_list(user, "Who do you want to receive the target?", "Select Predator", viable_candidates) @@ -829,30 +867,33 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", return TRUE if(belly_owner != host) - to_chat(user, "Transfer offer sent. Await their response.") + to_chat(user, span_vnotice("Transfer offer sent. Await their response.")) var/accepted = tgui_alert(belly_owner, "[host] is trying to transfer [target] from their [lowertext(host.vore_selected.name)] into your [lowertext(choice.name)]. Do you accept?", "Feeding Offer", list("Yes", "No")) if(accepted != "Yes") - to_chat(user, "[belly_owner] refused the transfer!!") + to_chat(user, span_vwarning("[belly_owner] refused the transfer!!")) return TRUE if(!belly_owner || !(belly_owner in range(1, host))) return TRUE - to_chat(target,"You're squished from [host]'s [lowertext(host.vore_selected.name)] to [belly_owner]'s [lowertext(choice.name)]!") - to_chat(belly_owner,"[target] is squished from [host]'s [lowertext(host.vore_selected.name)] to your [lowertext(choice.name)]!") + to_chat(target,span_vwarning("You're squished from [host]'s [lowertext(host.vore_selected.name)] to [belly_owner]'s [lowertext(choice.name)]!")) + to_chat(belly_owner,span_vwarning("[target] is squished from [host]'s [lowertext(host.vore_selected.name)] to your [lowertext(choice.name)]!")) host.vore_selected.transfer_contents(target, choice) else - to_chat(target,"You're squished from [host]'s [lowertext(host.vore_selected.name)] to their [lowertext(choice.name)]!") + to_chat(target,span_vwarning("You're squished from [host]'s [lowertext(host.vore_selected.name)] to their [lowertext(choice.name)]!")) host.vore_selected.transfer_contents(target, choice) return TRUE if("Transform") if(host.stat) - to_chat(user,"You can't do that in your state!") + to_chat(user,span_warning("You can't do that in your state!")) return TRUE var/mob/living/carbon/human/H = target if(!istype(H)) return + if(!H.allow_spontaneous_tf) + return + var/datum/tgui_module/appearance_changer/vore/V = new(host, H) V.tgui_interact(user) return TRUE @@ -872,30 +913,30 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", if(process_options.len) process_options += "Cancel" else - to_chat(usr, "You cannot instantly process [ourtarget].") + to_chat(user, span_vwarning("You cannot instantly process [ourtarget].")) return - var/ourchoice = tgui_input_list(usr, "How would you prefer to process \the [target]? This will perform the given action instantly if the prey accepts.","Instant Process", process_options) + var/ourchoice = tgui_input_list(user, "How would you prefer to process \the [target]? This will perform the given action instantly if the prey accepts.","Instant Process", process_options) if(!ourchoice) return if(!ourtarget.client) - to_chat(usr, "You cannot instantly process [ourtarget].") + to_chat(user, span_vwarning("You cannot instantly process [ourtarget].")) return var/obj/belly/b = ourtarget.loc switch(ourchoice) if("Digest") if(ourtarget.absorbed) - to_chat(usr, "\The [ourtarget] is absorbed, and cannot presently be digested.") + to_chat(user, span_vwarning("\The [ourtarget] is absorbed, and cannot presently be digested.")) return - if(tgui_alert(ourtarget, "\The [usr] is attempting to instantly digest you. Is this something you are okay with happening to you?","Instant Digest", list("No", "Yes")) != "Yes") - to_chat(usr, "\The [ourtarget] declined your digest attempt.") - to_chat(ourtarget, "You declined the digest attempt.") + if(tgui_alert(ourtarget, "\The [user] is attempting to instantly digest you. Is this something you are okay with happening to you?","Instant Digest", list("No", "Yes")) != "Yes") + to_chat(user, span_vwarning("\The [ourtarget] declined your digest attempt.")) + to_chat(ourtarget, span_vwarning("You declined the digest attempt.")) return if(ourtarget.loc != b) - to_chat(usr, "\The [ourtarget] is no longer in \the [b].") + to_chat(user, span_vwarning("\The [ourtarget] is no longer in \the [b].")) return - if(isliving(usr)) - var/mob/living/l = usr + if(isliving(user)) + var/mob/living/l = user var/thismuch = ourtarget.health + 100 if(ishuman(l)) var/mob/living/carbon/human/h = l @@ -903,7 +944,7 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", l.adjust_nutrition(thismuch) ourtarget.death() // To make sure all on-death procs get properly called if(ourtarget) - if(ourtarget.is_preference_enabled(/datum/client_preference/digestion_noises)) + if(ourtarget.check_sound_preference(/datum/preference/toggle/digestion_noises)) if(!b.fancy_vore) SEND_SOUND(ourtarget, sound(get_sfx("classic_death_sounds"))) else @@ -911,29 +952,29 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", ourtarget.mind?.vore_death = TRUE b.handle_digestion_death(ourtarget) if("Absorb") - if(tgui_alert(ourtarget, "\The [usr] is attempting to instantly absorb you. Is this something you are okay with happening to you?","Instant Absorb", list("No", "Yes")) != "Yes") - to_chat(usr, "\The [ourtarget] declined your absorb attempt.") - to_chat(ourtarget, "You declined the absorb attempt.") + if(tgui_alert(ourtarget, "\The [user] is attempting to instantly absorb you. Is this something you are okay with happening to you?","Instant Absorb", list("No", "Yes")) != "Yes") + to_chat(user, span_vwarning("\The [ourtarget] declined your absorb attempt.")) + to_chat(ourtarget, span_vwarning("You declined the absorb attempt.")) return if(ourtarget.loc != b) - to_chat(usr, "\The [ourtarget] is no longer in \the [b].") + to_chat(user, span_vwarning("\The [ourtarget] is no longer in \the [b].")) return - if(isliving(usr)) - var/mob/living/l = usr + if(isliving(user)) + var/mob/living/l = user l.adjust_nutrition(ourtarget.nutrition) var/n = 0 - ourtarget.nutrition ourtarget.adjust_nutrition(n) b.absorb_living(ourtarget) if("Knockout") - if(tgui_alert(ourtarget, "\The [usr] is attempting to instantly make you unconscious, you will be unable until ejected from the pred. Is this something you are okay with happening to you?","Instant Knockout", list("No", "Yes")) != "Yes") - to_chat(usr, "\The [ourtarget] declined your knockout attempt.") - to_chat(ourtarget, "You declined the knockout attempt.") + if(tgui_alert(ourtarget, "\The [user] is attempting to instantly make you unconscious, you will be unable until ejected from the pred. Is this something you are okay with happening to you?","Instant Knockout", list("No", "Yes")) != "Yes") + to_chat(user, span_vwarning("\The [ourtarget] declined your knockout attempt.")) + to_chat(ourtarget, span_vwarning("You declined the knockout attempt.")) return if(ourtarget.loc != b) - to_chat(usr, "\The [ourtarget] is no longer in \the [b].") + to_chat(user, span_vwarning("\The [ourtarget] is no longer in \the [b].")) return ourtarget.AdjustSleeping(500000) - to_chat(ourtarget, "\The [usr] has put you to sleep, you will remain unconscious until ejected from the belly.") + to_chat(ourtarget, span_vwarning("\The [user] has put you to sleep, you will remain unconscious until ejected from the belly.")) if("Cancel") return if("Health Check") @@ -941,7 +982,7 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", var/target_health = round((H.health/H.getMaxHealth())*100) var/condition var/condition_consequences - to_chat(usr, "\The [target] is at [target_health]% health.") + to_chat(user, span_vwarning("\The [target] is at [target_health]% health.")) if(H.blinded) condition += "blinded" condition_consequences += "hear emotes" @@ -958,18 +999,18 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", condition += "sleeping" condition_consequences += "hear or do anything" if(condition) - to_chat(usr, "\The [target] is currently [condition], they will not be able to [condition_consequences].") + to_chat(user, span_vwarning("\The [target] is currently [condition], they will not be able to [condition_consequences].")) return /datum/vore_look/proc/set_attr(mob/user, params) if(!host.vore_selected) - tgui_alert_async(usr, "No belly selected to modify.") + tgui_alert_async(user, "No belly selected to modify.") return FALSE var/attr = params["attribute"] switch(attr) if("b_name") - var/new_name = html_encode(tgui_input_text(usr,"Belly's new name:","New Name")) + var/new_name = html_encode(tgui_input_text(user,"Belly's new name:","New Name")) var/failure_msg if(length(new_name) > BELLIES_NAME_MAX || length(new_name) < BELLIES_NAME_MIN) @@ -998,7 +1039,7 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", . = TRUE if("b_mode") var/list/menu_list = host.vore_selected.digest_modes.Copy() - var/new_mode = tgui_input_list(usr, "Choose Mode (currently [host.vore_selected.digest_mode])", "Mode Choice", menu_list) + var/new_mode = tgui_input_list(user, "Choose Mode (currently [host.vore_selected.digest_mode])", "Mode Choice", menu_list) if(!new_mode) return FALSE @@ -1007,7 +1048,7 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", . = TRUE if("b_addons") var/list/menu_list = host.vore_selected.mode_flag_list.Copy() - var/toggle_addon = tgui_input_list(usr, "Toggle Addon", "Addon Choice", menu_list) + var/toggle_addon = tgui_input_list(user, "Toggle Addon", "Addon Choice", menu_list) if(!toggle_addon) return FALSE host.vore_selected.mode_flags ^= host.vore_selected.mode_flag_list[toggle_addon] @@ -1016,7 +1057,7 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", if("b_item_mode") var/list/menu_list = host.vore_selected.item_digest_modes.Copy() - var/new_mode = tgui_input_list(usr, "Choose Mode (currently [host.vore_selected.item_digest_mode])", "Mode Choice", menu_list) + var/new_mode = tgui_input_list(user, "Choose Mode (currently [host.vore_selected.item_digest_mode])", "Mode Choice", menu_list) if(!new_mode) return FALSE @@ -1028,14 +1069,14 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", . = TRUE if("b_contamination_flavor") var/list/menu_list = contamination_flavors.Copy() - var/new_flavor = tgui_input_list(usr, "Choose Contamination Flavor Text Type (currently [host.vore_selected.contamination_flavor])", "Flavor Choice", menu_list) + var/new_flavor = tgui_input_list(user, "Choose Contamination Flavor Text Type (currently [host.vore_selected.contamination_flavor])", "Flavor Choice", menu_list) if(!new_flavor) return FALSE host.vore_selected.contamination_flavor = new_flavor . = TRUE if("b_contamination_color") var/list/menu_list = contamination_colors.Copy() - var/new_color = tgui_input_list(usr, "Choose Contamination Color (currently [host.vore_selected.contamination_color])", "Color Choice", menu_list) + var/new_color = tgui_input_list(user, "Choose Contamination Color (currently [host.vore_selected.contamination_color])", "Color Choice", menu_list) if(!new_color) return FALSE host.vore_selected.contamination_color = new_color @@ -1043,220 +1084,220 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", . = TRUE if("b_egg_type") var/list/menu_list = global_vore_egg_types.Copy() - var/new_egg_type = tgui_input_list(usr, "Choose Egg Type (currently [host.vore_selected.egg_type])", "Egg Choice", menu_list) + var/new_egg_type = tgui_input_list(user, "Choose Egg Type (currently [host.vore_selected.egg_type])", "Egg Choice", menu_list) if(!new_egg_type) return FALSE host.vore_selected.egg_type = new_egg_type . = TRUE if("b_desc") - var/new_desc = html_encode(tgui_input_text(usr,"Belly Description, '%pred' will be replaced with your name. '%prey' will be replaced with the prey's name. '%belly' will be replaced with your belly's name. ([BELLIES_DESC_MAX] char limit):","New Description",host.vore_selected.desc, multiline = TRUE, prevent_enter = TRUE)) + var/new_desc = html_encode(tgui_input_text(user,"Belly Description, '%pred' will be replaced with your name. '%prey' will be replaced with the prey's name. '%belly' will be replaced with your belly's name. ([BELLIES_DESC_MAX] char limit):","New Description",host.vore_selected.desc, multiline = TRUE, prevent_enter = TRUE)) if(new_desc) new_desc = readd_quotes(new_desc) if(length(new_desc) > BELLIES_DESC_MAX) - tgui_alert_async(usr, "Entered belly desc too long. [BELLIES_DESC_MAX] character limit.","Error") + tgui_alert_async(user, "Entered belly desc too long. [BELLIES_DESC_MAX] character limit.","Error") return FALSE host.vore_selected.desc = new_desc . = TRUE if("b_absorbed_desc") - var/new_desc = html_encode(tgui_input_text(usr,"Belly Description for absorbed prey, '%pred' will be replaced with your name. '%prey' will be replaced with the prey's name. '%belly' will be replaced with your belly's name. ([BELLIES_DESC_MAX] char limit):","New Description",host.vore_selected.absorbed_desc, multiline = TRUE, prevent_enter = TRUE)) + var/new_desc = html_encode(tgui_input_text(user,"Belly Description for absorbed prey, '%pred' will be replaced with your name. '%prey' will be replaced with the prey's name. '%belly' will be replaced with your belly's name. ([BELLIES_DESC_MAX] char limit):","New Description",host.vore_selected.absorbed_desc, multiline = TRUE, prevent_enter = TRUE)) if(new_desc) new_desc = readd_quotes(new_desc) if(length(new_desc) > BELLIES_DESC_MAX) - tgui_alert_async(usr, "Entered belly desc too long. [BELLIES_DESC_MAX] character limit.","Error") + tgui_alert_async(user, "Entered belly desc too long. [BELLIES_DESC_MAX] character limit.","Error") return FALSE host.vore_selected.absorbed_desc = new_desc . = TRUE if("b_msgs") if(user.text_warnings) - if(tgui_alert(user,"Setting abusive or deceptive messages will result in a ban. Consider this your warning. Max 150 characters per message (250 for examines, 500 for idle messages), max 10 messages per topic.","Really, don't.",list("OK", "Disable Warnings")) == "Disable Warnings") // Should remain tgui_alert() (blocking) + if(tgui_alert(user,"Setting abusive or deceptive messages will result in a ban. Consider this your warning. Max [MAX_MESSAGE_LEN / 4] characters per message ([MAX_MESSAGE_LEN / 2] for examines, [MAX_MESSAGE_LEN / 4] for idle messages), max 10 messages per topic or a total of [MAX_MESSAGE_LEN * 1.5] characters.","Really, don't.",list("OK", "Disable Warnings")) == "Disable Warnings") // Should remain tgui_alert() (blocking) user.text_warnings = FALSE var/help = " Press enter twice to separate messages. '%pred' will be replaced with your name. '%prey' will be replaced with the prey's name. '%belly' will be replaced with your belly's name. '%count' will be replaced with the number of anything in your belly. '%countprey' will be replaced with the number of living prey in your belly." switch(params["msgtype"]) if("dmp") - var/new_message = sanitize(tgui_input_text(user,"These are sent to prey when they expire. Write them in 2nd person ('you feel X'). Avoid using %prey in this type."+help,"Digest Message (to prey)",host.vore_selected.get_messages("dmp"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to prey when they expire. Write them in 2nd person ('you feel X'). Avoid using %prey in this type."+help,"Digest Message (to prey)",host.vore_selected.get_messages("dmp"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"dmp") + host.vore_selected.set_messages(new_message,"dmp", limit = MAX_MESSAGE_LEN / 4) if("dmo") - var/new_message = sanitize(tgui_input_text(user,"These are sent to you when prey expires in you. Write them in 2nd person ('you feel X'). Avoid using %pred in this type."+help,"Digest Message (to you)",host.vore_selected.get_messages("dmo"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to you when prey expires in you. Write them in 2nd person ('you feel X'). Avoid using %pred in this type."+help,"Digest Message (to you)",host.vore_selected.get_messages("dmo"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"dmo") + host.vore_selected.set_messages(new_message,"dmo", limit = MAX_MESSAGE_LEN / 4) if("amp") - var/new_message = sanitize(tgui_input_text(user,"These are sent to prey when their absorption finishes. Write them in 2nd person ('you feel X'). Avoid using %prey in this type. %count will not work for this type, and %countprey will only count absorbed victims."+help,"Digest Message (to prey)",host.vore_selected.get_messages("amp"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to prey when their absorption finishes. Write them in 2nd person ('you feel X'). Avoid using %prey in this type. %count will not work for this type, and %countprey will only count absorbed victims."+help,"Absorb Message (to prey)",host.vore_selected.get_messages("amp"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"amp") + host.vore_selected.set_messages(new_message,"amp", limit = MAX_MESSAGE_LEN / 4) if("amo") - var/new_message = sanitize(tgui_input_text(user,"These are sent to you when prey's absorption finishes. Write them in 2nd person ('you feel X'). Avoid using %pred in this type. %count will not work for this type, and %countprey will only count absorbed victims."+help,"Digest Message (to you)",host.vore_selected.get_messages("amo"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to you when prey's absorption finishes. Write them in 2nd person ('you feel X'). Avoid using %pred in this type. %count will not work for this type, and %countprey will only count absorbed victims."+help,"Absorb Message (to you)",host.vore_selected.get_messages("amo"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"amo") + host.vore_selected.set_messages(new_message,"amo", limit = MAX_MESSAGE_LEN / 4) if("uamp") - var/new_message = sanitize(tgui_input_text(user,"These are sent to prey when their unnabsorption finishes. Write them in 2nd person ('you feel X'). Avoid using %prey in this type. %count will not work for this type, and %countprey will only count absorbed victims."+help,"Digest Message (to prey)",host.vore_selected.get_messages("uamp"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to prey when their unnabsorption finishes. Write them in 2nd person ('you feel X'). Avoid using %prey in this type. %count will not work for this type, and %countprey will only count absorbed victims."+help,"Unabsorb Message (to prey)",host.vore_selected.get_messages("uamp"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"uamp") + host.vore_selected.set_messages(new_message,"uamp", limit = MAX_MESSAGE_LEN / 4) if("uamo") - var/new_message = sanitize(tgui_input_text(user,"These are sent to you when prey's unabsorption finishes. Write them in 2nd person ('you feel X'). Avoid using %pred in this type. %count will not work for this type, and %countprey will only count absorbed victims."+help,"Digest Message (to you)",host.vore_selected.get_messages("uamo"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to you when prey's unabsorption finishes. Write them in 2nd person ('you feel X'). Avoid using %pred in this type. %count will not work for this type, and %countprey will only count absorbed victims."+help,"Unabsorb Message (to you)",host.vore_selected.get_messages("uamo"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"uamo") + host.vore_selected.set_messages(new_message,"uamo", limit = MAX_MESSAGE_LEN / 4) if("smo") - var/new_message = sanitize(tgui_input_text(user,"These are sent to those nearby when prey struggles. Write them in 3rd person ('X's Y bulges')."+help,"Struggle Message (outside)",host.vore_selected.get_messages("smo"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to those nearby when prey struggles. Write them in 3rd person ('X's Y bulges')."+help,"Struggle Message (outside)",host.vore_selected.get_messages("smo"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"smo") + host.vore_selected.set_messages(new_message,"smo", limit = MAX_MESSAGE_LEN / 4) if("smi") - var/new_message = sanitize(tgui_input_text(user,"These are sent to prey when they struggle. Write them in 2nd person ('you feel X'). Avoid using %prey in this type."+help,"Struggle Message (inside)",host.vore_selected.get_messages("smi"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to prey when they struggle. Write them in 2nd person ('you feel X'). Avoid using %prey in this type."+help,"Struggle Message (inside)",host.vore_selected.get_messages("smi"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"smi") + host.vore_selected.set_messages(new_message,"smi", limit = MAX_MESSAGE_LEN / 4) if("asmo") - var/new_message = sanitize(tgui_input_text(user,"These are sent to those nearby when absorbed prey struggles. Write them in 3rd person ('X's Y bulges'). %count will not work for this type, and %countprey will only count absorbed victims."+help,"Struggle Message (outside)",host.vore_selected.get_messages("asmo"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to those nearby when absorbed prey struggles. Write them in 3rd person ('X's Y bulges'). %count will not work for this type, and %countprey will only count absorbed victims."+help,"Absorbed Struggle Message (outside)",host.vore_selected.get_messages("asmo"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"asmo") + host.vore_selected.set_messages(new_message,"asmo", limit = MAX_MESSAGE_LEN / 4) if("asmi") - var/new_message = sanitize(tgui_input_text(user,"These are sent to absorbed prey when they struggle. Write them in 2nd person ('you feel X'). Avoid using %prey in this type. %count will not work for this type, and %countprey will only count absorbed victims."+help,"Struggle Message (inside)",host.vore_selected.get_messages("asmi"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to absorbed prey when they struggle. Write them in 2nd person ('you feel X'). Avoid using %prey in this type. %count will not work for this type, and %countprey will only count absorbed victims."+help,"Absorbed Struggle Message (inside)",host.vore_selected.get_messages("asmi"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"asmi") + host.vore_selected.set_messages(new_message,"asmi", limit = MAX_MESSAGE_LEN / 4) if("escap") - var/new_message = sanitize(tgui_input_text(user,"These are sent to prey when they try to escape from within you. Write them in 2nd person ('you start to X')."+help,"Escape Attempt Message (to prey)",host.vore_selected.get_messages("escap"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to prey when they try to escape from within you. Write them in 2nd person ('you start to X')."+help,"Escape Attempt Message (to prey)",host.vore_selected.get_messages("escap"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"escap") + host.vore_selected.set_messages(new_message,"escap", limit = MAX_MESSAGE_LEN / 4) if("escao") - var/new_message = sanitize(tgui_input_text(user,"These are sent to you when prey tries to escape from within you. Write them in 2nd person ('X ... from your Y')."+help,"Escape Attempt Message (to you)",host.vore_selected.get_messages("escao"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to you when prey tries to escape from within you. Write them in 2nd person ('X ... from your Y')."+help,"Escape Attempt Message (to you)",host.vore_selected.get_messages("escao"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"escao") + host.vore_selected.set_messages(new_message,"escao", limit = MAX_MESSAGE_LEN / 4) if("escp") - var/new_message = sanitize(tgui_input_text(user,"These are sent to prey when they escape from within you. Write them in 2nd person ('you climb out of Y)."+help,"Escape Message (to prey)",host.vore_selected.get_messages("escp"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to prey when they escape from within you. Write them in 2nd person ('you climb out of Y)."+help,"Escape Message (to prey)",host.vore_selected.get_messages("escp"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"escp") + host.vore_selected.set_messages(new_message,"escp", limit = MAX_MESSAGE_LEN / 4) if("esco") - var/new_message = sanitize(tgui_input_text(user,"These are sent to you when prey escapes from within you. Write them in 2nd person ('X ... from your Y')."+help,"Escape Message (to you)",host.vore_selected.get_messages("esco"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to you when prey escapes from within you. Write them in 2nd person ('X ... from your Y')."+help,"Escape Message (to you)",host.vore_selected.get_messages("esco"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"esco") + host.vore_selected.set_messages(new_message,"esco", limit = MAX_MESSAGE_LEN / 4) if("escout") - var/new_message = sanitize(tgui_input_text(user,"These are sent to those around you when prey escapes from within you. Write them in 3rd person ('X climbs out of Z's Y')."+help,"Escape Message (outside)",host.vore_selected.get_messages("escout"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to those around you when prey escapes from within you. Write them in 3rd person ('X climbs out of Z's Y')."+help,"Escape Message (outside)",host.vore_selected.get_messages("escout"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"escout") + host.vore_selected.set_messages(new_message,"escout", limit = MAX_MESSAGE_LEN / 4) if("escip") - var/new_message = sanitize(tgui_input_text(user,"These are sent to prey when they manage to eject an item from within you. Write them in 2nd person ('you manage to O'). Use %item to refer to the ejected item in this type."+help,"Escape Item Message (to prey)",host.vore_selected.get_messages("escip"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to prey when they manage to eject an item from within you. Write them in 2nd person ('you manage to O'). Use %item to refer to the ejected item in this type."+help,"Escape Item Message (to prey)",host.vore_selected.get_messages("escip"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"escip") + host.vore_selected.set_messages(new_message,"escip", limit = MAX_MESSAGE_LEN / 4) if("escio") - var/new_message = sanitize(tgui_input_text(user,"These are sent to you when prey manages to eject an item from within you. Write them in 2nd person ('O slips from Y'). Use %item to refer to the ejected item in this type."+help,"Escape Item Message (to you)",host.vore_selected.get_messages("escio"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to you when prey manages to eject an item from within you. Write them in 2nd person ('O slips from Y'). Use %item to refer to the ejected item in this type."+help,"Escape Item Message (to you)",host.vore_selected.get_messages("escio"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"escio") + host.vore_selected.set_messages(new_message,"escio", limit = MAX_MESSAGE_LEN / 4) if("esciout") - var/new_message = sanitize(tgui_input_text(user,"These are sent to those around you when prey manages to eject an item from within you. Write them in 3rd person ('O from Y'). Use %item to refer to the ejected item in this type."+help,"Escape Item Message (outside)",host.vore_selected.get_messages("esciout"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to those around you when prey manages to eject an item from within you. Write them in 3rd person ('O from Y'). Use %item to refer to the ejected item in this type."+help,"Escape Item Message (outside)",host.vore_selected.get_messages("esciout"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"esciout") + host.vore_selected.set_messages(new_message,"esciout", limit = MAX_MESSAGE_LEN / 4) if("escfp") - var/new_message = sanitize(tgui_input_text(user,"These are sent to prey when they fail to escape from within you. Write them in 2nd person ('you failed to Y')."+help,"Escape Fail Message (to prey)",host.vore_selected.get_messages("escfp"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to prey when they fail to escape from within you. Write them in 2nd person ('you failed to Y')."+help,"Escape Fail Message (to prey)",host.vore_selected.get_messages("escfp"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"escfp") + host.vore_selected.set_messages(new_message,"escfp", limit = MAX_MESSAGE_LEN / 4) if("escfo") - var/new_message = sanitize(tgui_input_text(user,"These are sent to you when prey fails to escape from within you. Write them in 2nd person ('X failed ... your Y')."+help,"Escape Fail Message (to you)",host.vore_selected.get_messages("escfo"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to you when prey fails to escape from within you. Write them in 2nd person ('X failed ... your Y')."+help,"Escape Fail Message (to you)",host.vore_selected.get_messages("escfo"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"escfo") + host.vore_selected.set_messages(new_message,"escfo", limit = MAX_MESSAGE_LEN / 4) if("aescap") - var/new_message = sanitize(tgui_input_text(user,"These are sent to absorbed prey when they try to escape from within you. Write them in 2nd person ('you start to X')."+help,"Absorbed Escape Attempt Message (to prey)",host.vore_selected.get_messages("aescap"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to absorbed prey when they try to escape from within you. Write them in 2nd person ('you start to X')."+help,"Absorbed Escape Attempt Message (to prey)",host.vore_selected.get_messages("aescap"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"aescap") + host.vore_selected.set_messages(new_message,"aescap", limit = MAX_MESSAGE_LEN / 4) if("aescao") - var/new_message = sanitize(tgui_input_text(user,"These are sent to you when absorbed prey tries to escape from within you. Write them in 2nd person ('X ... from your Y')."+help,"Absorbed Escape Attempt Message (to you)",host.vore_selected.get_messages("aescao"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to you when absorbed prey tries to escape from within you. Write them in 2nd person ('X ... from your Y')."+help,"Absorbed Escape Attempt Message (to you)",host.vore_selected.get_messages("aescao"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"aescao") + host.vore_selected.set_messages(new_message,"aescao", limit = MAX_MESSAGE_LEN / 4) if("aescp") - var/new_message = sanitize(tgui_input_text(user,"These are sent to absorbed prey when they escape from within you. Write them in 2nd person ('you escape from Y')."+help,"Absorbed Escape Message (to prey)",host.vore_selected.get_messages("aescp"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to absorbed prey when they escape from within you. Write them in 2nd person ('you escape from Y')."+help,"Absorbed Escape Message (to prey)",host.vore_selected.get_messages("aescp"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"aescp") + host.vore_selected.set_messages(new_message,"aescp", limit = MAX_MESSAGE_LEN / 4) if("aesco") - var/new_message = sanitize(tgui_input_text(user,"These are sent to you when absorbed prey escapes from within you. Write them in 2nd person ('X ... from your Y')."+help,"Absorbed Escape Message (to you)",host.vore_selected.get_messages("aesco"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to you when absorbed prey escapes from within you. Write them in 2nd person ('X ... from your Y')."+help,"Absorbed Escape Message (to you)",host.vore_selected.get_messages("aesco"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"aesco") + host.vore_selected.set_messages(new_message,"aesco", limit = MAX_MESSAGE_LEN / 4) if("aescout") - var/new_message = sanitize(tgui_input_text(user,"These are sent to those around you when absorbed prey escapes from within you. Write them in 3rd person ('X escapes from Z's Y')."+help,"Absorbed Escape Message (outside)",host.vore_selected.get_messages("aescout"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to those around you when absorbed prey escapes from within you. Write them in 3rd person ('X escapes from Z's Y')."+help,"Absorbed Escape Message (outside)",host.vore_selected.get_messages("aescout"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"aescout") + host.vore_selected.set_messages(new_message,"aescout", limit = MAX_MESSAGE_LEN / 4) if("aescfp") - var/new_message = sanitize(tgui_input_text(user,"These are sent to absorbed prey when they fail to escape from within you. Write them in 2nd person ('you failed to Y')."+help,"Absorbed Escape Fail Message (to prey)",host.vore_selected.get_messages("aescfp"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to absorbed prey when they fail to escape from within you. Write them in 2nd person ('you failed to Y')."+help,"Absorbed Escape Fail Message (to prey)",host.vore_selected.get_messages("aescfp"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"aescfp") + host.vore_selected.set_messages(new_message,"aescfp", limit = MAX_MESSAGE_LEN / 4) if("aescfo") - var/new_message = sanitize(tgui_input_text(user,"These are sent to you when absorbed prey fails to escape from within you. Write them in 2nd person ('X failed ... your Y')."+help,"Absorbed Escape Fail Message (to you)",host.vore_selected.get_messages("aescfo"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to you when absorbed prey fails to escape from within you. Write them in 2nd person ('X failed ... your Y')."+help,"Absorbed Escape Fail Message (to you)",host.vore_selected.get_messages("aescfo"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"aescfo") + host.vore_selected.set_messages(new_message,"aescfo", limit = MAX_MESSAGE_LEN / 4) if("trnspp") - var/new_message = sanitize(tgui_input_text(user,"These are sent to prey when they are automatically transferred into your primary destination. Write them in 2nd person ('you slide into Y'). Use %dest to refer to the target location in this type."+help,"Primary Transfer Message (to prey)",host.vore_selected.get_messages("trnspp"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to prey when they are automatically transferred into your primary destination. Write them in 2nd person ('you slide into Y'). Use %dest to refer to the target location in this type."+help,"Primary Transfer Message (to prey)",host.vore_selected.get_messages("trnspp"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"trnspp") + host.vore_selected.set_messages(new_message,"trnspp", limit = MAX_MESSAGE_LEN / 4) if("trnspo") - var/new_message = sanitize(tgui_input_text(user,"These are sent to you when prey is automatically transferred into your primary destination. Write them in 2nd person ('X slid into your Y'). Use %dest to refer to the target location in this type."+help,"Primary Transfer Message (to you)",host.vore_selected.get_messages("trnspo"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to you when prey is automatically transferred into your primary destination. Write them in 2nd person ('X slid into your Y'). Use %dest to refer to the target location in this type."+help,"Primary Transfer Message (to you)",host.vore_selected.get_messages("trnspo"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"trnspo") + host.vore_selected.set_messages(new_message,"trnspo", limit = MAX_MESSAGE_LEN / 4) if("trnssp") - var/new_message = sanitize(tgui_input_text(user,"These are sent to prey when they are automatically transferred into your secondary destination. Write them in 2nd person ('you slide into Y'). Use %dest to refer to the target location in this type."+help,"Secondary Transfer Message (to prey)",host.vore_selected.get_messages("trnssp"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to prey when they are automatically transferred into your secondary destination. Write them in 2nd person ('you slide into Y'). Use %dest to refer to the target location in this type."+help,"Secondary Transfer Message (to prey)",host.vore_selected.get_messages("trnssp"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"trnssp") + host.vore_selected.set_messages(new_message,"trnssp", limit = MAX_MESSAGE_LEN / 4) if("trnsso") - var/new_message = sanitize(tgui_input_text(user,"These are sent to you when prey is automatically transferred into your primary destination. Write them in 2nd person ('X slid into your Y'). Use %dest to refer to the target location in this type."+help,"Secondary Transfer Message (to you)",host.vore_selected.get_messages("trnsso"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to you when prey is automatically transferred into your primary destination. Write them in 2nd person ('X slid into your Y'). Use %dest to refer to the target location in this type."+help,"Secondary Transfer Message (to you)",host.vore_selected.get_messages("trnsso"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"trnsso") + host.vore_selected.set_messages(new_message,"trnsso", limit = MAX_MESSAGE_LEN / 4) if("stmodp") - var/new_message = sanitize(tgui_input_text(user,"These are sent to prey when they trigger the interaction digest chance. Write them in 2nd person ('you feel X')."+help,"Stomach Mode Digest Message (to prey)",host.vore_selected.get_messages("stmodp"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to prey when they trigger the interaction digest chance. Write them in 2nd person ('you feel X')."+help,"Stomach Mode Digest Message (to prey)",host.vore_selected.get_messages("stmodp"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"stmodp") + host.vore_selected.set_messages(new_message,"stmodp", limit = MAX_MESSAGE_LEN / 4) if("stmodo") - var/new_message = sanitize(tgui_input_text(user,"These are sent to you when prey triggers the interaction digest chance. Write them in 2nd person ('you feel X')."+help,"Stomach Mode Digest Message (to you)",host.vore_selected.get_messages("stmodo"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to you when prey triggers the interaction digest chance. Write them in 2nd person ('you feel X')."+help,"Stomach Mode Digest Message (to you)",host.vore_selected.get_messages("stmodo"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"stmodo") + host.vore_selected.set_messages(new_message,"stmodo", limit = MAX_MESSAGE_LEN / 4) if("stmoap") - var/new_message = sanitize(tgui_input_text(user,"These are sent to prey when they trigger the interaction absorb chance. Write them in 2nd person ('you feel X')."+help,"Stomach Mode Digest Message (to prey)",host.vore_selected.get_messages("stmoap"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to prey when they trigger the interaction absorb chance. Write them in 2nd person ('you feel X')."+help,"Stomach Mode Digest Message (to prey)",host.vore_selected.get_messages("stmoap"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"stmoap") + host.vore_selected.set_messages(new_message,"stmoap", limit = MAX_MESSAGE_LEN / 4) if("stmoao") - var/new_message = sanitize(tgui_input_text(user,"These are sent to you when prey triggers the interaction absorb chance. Write them in 2nd person ('you feel X')."+help,"Stomach Mode Digest Message (to you)",host.vore_selected.get_messages("stmoao"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to you when prey triggers the interaction absorb chance. Write them in 2nd person ('you feel X')."+help,"Stomach Mode Digest Message (to you)",host.vore_selected.get_messages("stmoao"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"stmoao") + host.vore_selected.set_messages(new_message,"stmoao", limit = MAX_MESSAGE_LEN / 4) if("em") - var/new_message = sanitize(tgui_input_text(user,"These are sent to people who examine you when this belly has contents. Write them in 3rd person ('Their %belly is bulging')."+help,"Examine Message (when full)",host.vore_selected.get_messages("em"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to people who examine you when this belly has contents. Write them in 3rd person ('Their %belly is bulging')."+help,"Examine Message (when full)",host.vore_selected.get_messages("em"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"em") + host.vore_selected.set_messages(new_message,"em", limit = MAX_MESSAGE_LEN / 2) if("ema") - var/new_message = sanitize(tgui_input_text(user,"These are sent to people who examine you when this belly has absorbed victims. Write them in 3rd person ('Their %belly is larger'). %count will not work for this type, and %countprey will only count absorbed victims."+help,"Examine Message (with absorbed victims)",host.vore_selected.get_messages("ema"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to people who examine you when this belly has absorbed victims. Write them in 3rd person ('Their %belly is larger'). %count will not work for this type, and %countprey will only count absorbed victims."+help,"Examine Message (with absorbed victims)",host.vore_selected.get_messages("ema"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"ema") + host.vore_selected.set_messages(new_message,"ema", limit = MAX_MESSAGE_LEN / 2) if("en") var/list/indices = list(1,2,3,4,5,6,7,8,9,10) @@ -1285,59 +1326,59 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", host.weight_messages[index] = new_message if("im_digest") - var/new_message = sanitize(tgui_input_text(user,"These are sent to prey every [host.vore_selected.emote_time] seconds when you are on Digest mode. Write them in 2nd person ('%pred's %belly squishes down on you.')."+help,"Idle Message (Digest)",host.vore_selected.get_messages("im_digest"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to prey every [host.vore_selected.emote_time] seconds when you are on Digest mode. Write them in 2nd person ('%pred's %belly squishes down on you.')."+help,"Idle Message (Digest)",host.vore_selected.get_messages("im_digest"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"im_digest") + host.vore_selected.set_messages(new_message,"im_digest", limit = MAX_MESSAGE_LEN / 4) if("im_hold") - var/new_message = sanitize(tgui_input_text(user,"These are sent to prey every [host.vore_selected.emote_time] seconds when you are on Hold mode. Write them in 2nd person ('%pred's %belly squishes down on you.')"+help,"Idle Message (Hold)",host.vore_selected.get_messages("im_hold"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to prey every [host.vore_selected.emote_time] seconds when you are on Hold mode. Write them in 2nd person ('%pred's %belly squishes down on you.')"+help,"Idle Message (Hold)",host.vore_selected.get_messages("im_hold"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"im_hold") + host.vore_selected.set_messages(new_message,"im_hold", limit = MAX_MESSAGE_LEN / 4) if("im_holdabsorbed") - var/new_message = sanitize(tgui_input_text(user,"These are sent to prey every [host.vore_selected.emote_time] seconds when you are absorbed. Write them in 2nd person ('%pred's %belly squishes down on you.') %count will not work for this type, and %countprey will only count absorbed victims."+help,"Idle Message (Hold Absorbed)",host.vore_selected.get_messages("im_holdabsorbed"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to prey every [host.vore_selected.emote_time] seconds when you are absorbed. Write them in 2nd person ('%pred's %belly squishes down on you.') %count will not work for this type, and %countprey will only count absorbed victims."+help,"Idle Message (Hold Absorbed)",host.vore_selected.get_messages("im_holdabsorbed"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"im_holdabsorbed") + host.vore_selected.set_messages(new_message,"im_holdabsorbed", limit = MAX_MESSAGE_LEN / 4) if("im_absorb") - var/new_message = sanitize(tgui_input_text(user,"These are sent to prey every [host.vore_selected.emote_time] seconds when you are on Absorb mode. Write them in 2nd person ('%pred's %belly squishes down on you.')"+help,"Idle Message (Absorb)",host.vore_selected.get_messages("im_absorb"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to prey every [host.vore_selected.emote_time] seconds when you are on Absorb mode. Write them in 2nd person ('%pred's %belly squishes down on you.')"+help,"Idle Message (Absorb)",host.vore_selected.get_messages("im_absorb"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"im_absorb") + host.vore_selected.set_messages(new_message,"im_absorb", limit = MAX_MESSAGE_LEN / 4) if("im_heal") - var/new_message = sanitize(tgui_input_text(user,"These are sent to prey every [host.vore_selected.emote_time] seconds when you are on Heal mode. Write them in 2nd person ('%pred's %belly squishes down on you.')"+help,"Idle Message (Heal)",host.vore_selected.get_messages("im_heal"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to prey every [host.vore_selected.emote_time] seconds when you are on Heal mode. Write them in 2nd person ('%pred's %belly squishes down on you.')"+help,"Idle Message (Heal)",host.vore_selected.get_messages("im_heal"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"im_heal") + host.vore_selected.set_messages(new_message,"im_heal", limit = MAX_MESSAGE_LEN / 4) if("im_drain") - var/new_message = sanitize(tgui_input_text(user,"These are sent to prey every [host.vore_selected.emote_time] seconds when you are on Drain mode. Write them in 2nd person ('%pred's %belly squishes down on you.')"+help,"Idle Message (Drain)",host.vore_selected.get_messages("im_drain"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to prey every [host.vore_selected.emote_time] seconds when you are on Drain mode. Write them in 2nd person ('%pred's %belly squishes down on you.')"+help,"Idle Message (Drain)",host.vore_selected.get_messages("im_drain"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"im_drain") + host.vore_selected.set_messages(new_message,"im_drain", limit = MAX_MESSAGE_LEN / 4) if("im_steal") - var/new_message = sanitize(tgui_input_text(user,"These are sent to prey every [host.vore_selected.emote_time] seconds when you are on Size Steal mode. Write them in 2nd person ('%pred's %belly squishes down on you.')"+help,"Idle Message (Size Steal)",host.vore_selected.get_messages("im_steal"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to prey every [host.vore_selected.emote_time] seconds when you are on Size Steal mode. Write them in 2nd person ('%pred's %belly squishes down on you.')"+help,"Idle Message (Size Steal)",host.vore_selected.get_messages("im_steal"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"im_steal") + host.vore_selected.set_messages(new_message,"im_steal", limit = MAX_MESSAGE_LEN / 4) if("im_egg") - var/new_message = sanitize(tgui_input_text(user,"These are sent to prey every [host.vore_selected.emote_time] seconds when you are on Encase In Egg mode. Write them in 2nd person ('%pred's %belly squishes down on you.')"+help,"Idle Message (Encase In Egg)",host.vore_selected.get_messages("im_egg"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to prey every [host.vore_selected.emote_time] seconds when you are on Encase In Egg mode. Write them in 2nd person ('%pred's %belly squishes down on you.')"+help,"Idle Message (Encase In Egg)",host.vore_selected.get_messages("im_egg"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"im_egg") + host.vore_selected.set_messages(new_message,"im_egg", limit = MAX_MESSAGE_LEN / 4) if("im_shrink") - var/new_message = sanitize(tgui_input_text(user,"These are sent to prey every [host.vore_selected.emote_time] seconds when you are on Shrink mode. Write them in 2nd person ('%pred's %belly squishes down on you.')"+help,"Idle Message (Shrink)",host.vore_selected.get_messages("im_shrink"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to prey every [host.vore_selected.emote_time] seconds when you are on Shrink mode. Write them in 2nd person ('%pred's %belly squishes down on you.')"+help,"Idle Message (Shrink)",host.vore_selected.get_messages("im_shrink"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"im_shrink") + host.vore_selected.set_messages(new_message,"im_shrink", limit = MAX_MESSAGE_LEN / 4) if("im_grow") - var/new_message = sanitize(tgui_input_text(user,"These are sent to prey every [host.vore_selected.emote_time] seconds when you are on Grow mode. Write them in 2nd person ('%pred's %belly squishes down on you.')"+help,"Idle Message (Grow)",host.vore_selected.get_messages("im_grow"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to prey every [host.vore_selected.emote_time] seconds when you are on Grow mode. Write them in 2nd person ('%pred's %belly squishes down on you.')"+help,"Idle Message (Grow)",host.vore_selected.get_messages("im_grow"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"im_grow") + host.vore_selected.set_messages(new_message,"im_grow", limit = MAX_MESSAGE_LEN / 4) if("im_unabsorb") - var/new_message = sanitize(tgui_input_text(user,"These are sent to prey every [host.vore_selected.emote_time] seconds when you are on Unabsorb mode. Write them in 2nd person ('%pred's %belly squishes down on you.')"+help,"Idle Message (Unabsorb)",host.vore_selected.get_messages("im_unabsorb"), multiline = TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN,0,0,0) + var/new_message = sanitize(tgui_input_text(user,"These are sent to prey every [host.vore_selected.emote_time] seconds when you are on Unabsorb mode. Write them in 2nd person ('%pred's %belly squishes down on you.')"+help,"Idle Message (Unabsorb)",host.vore_selected.get_messages("im_unabsorb"), MAX_MESSAGE_LEN * 1.5, TRUE, prevent_enter = TRUE),MAX_MESSAGE_LEN * 1.5,0,0,0) if(new_message) - host.vore_selected.set_messages(new_message,"im_unabsorb") + host.vore_selected.set_messages(new_message,"im_unabsorb", limit = MAX_MESSAGE_LEN / 4) if("reset") var/confirm = tgui_alert(user,"This will delete any custom messages. Are you sure?","Confirmation",list("Cancel","DELETE")) @@ -1382,31 +1423,31 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", host.vore_selected.emote_lists = initial(host.vore_selected.emote_lists) . = TRUE if("b_verb") - var/new_verb = html_encode(tgui_input_text(usr,"New verb when eating (infinitive tense, e.g. nom or swallow):","New Verb")) + var/new_verb = html_encode(tgui_input_text(user,"New verb when eating (infinitive tense, e.g. nom or swallow):","New Verb")) if(length(new_verb) > BELLIES_NAME_MAX || length(new_verb) < BELLIES_NAME_MIN) - tgui_alert_async(usr, "Entered verb length invalid (must be longer than [BELLIES_NAME_MIN], no longer than [BELLIES_NAME_MAX]).","Error") + tgui_alert_async(user, "Entered verb length invalid (must be longer than [BELLIES_NAME_MIN], no longer than [BELLIES_NAME_MAX]).","Error") return FALSE host.vore_selected.vore_verb = new_verb . = TRUE if("b_release_verb") - var/new_release_verb = html_encode(tgui_input_text(usr,"New verb when releasing from stomach (e.g. expels or coughs or drops):","New Release Verb")) + var/new_release_verb = html_encode(tgui_input_text(user,"New verb when releasing from stomach (e.g. expels or coughs or drops):","New Release Verb")) if(length(new_release_verb) > BELLIES_NAME_MAX || length(new_release_verb) < BELLIES_NAME_MIN) - tgui_alert_async(usr, "Entered verb length invalid (must be longer than [BELLIES_NAME_MIN], no longer than [BELLIES_NAME_MAX]).","Error") + tgui_alert_async(user, "Entered verb length invalid (must be longer than [BELLIES_NAME_MIN], no longer than [BELLIES_NAME_MAX]).","Error") return FALSE host.vore_selected.release_verb = new_release_verb . = TRUE if("b_eating_privacy") - var/privacy_choice = tgui_input_list(usr, "Choose your belly-specific preference. Default uses global preference!", "Eating message privacy", list("default", "subtle", "loud"), "default") + var/privacy_choice = tgui_input_list(user, "Choose your belly-specific preference. Default uses global preference!", "Eating message privacy", list("default", "subtle", "loud"), "default") if(privacy_choice == null) return FALSE host.vore_selected.eating_privacy_local = privacy_choice . = TRUE if("b_silicon_belly") - var/belly_choice = tgui_alert(usr, "Choose whether you'd like your belly overlay to show from sleepers, \ + var/belly_choice = tgui_alert(user, "Choose whether you'd like your belly overlay to show from sleepers, \ normal vore bellies, or an average of the two. NOTE: This ONLY applies to silicons, not human mobs!", "Belly Overlay \ Preference", list("Sleeper", "Vorebelly", "Both")) @@ -1499,10 +1540,10 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", return FALSE if(new_bulge == 0) //Disable. host.vore_selected.bulge_size = 0 - to_chat(user,"Your stomach will not be seen on examine.") + to_chat(user,span_notice("Your stomach will not be seen on examine.")) else if (!ISINRANGE(new_bulge,25,200)) host.vore_selected.bulge_size = 0.25 //Set it to the default. - to_chat(user,"Invalid size.") + to_chat(user,span_notice("Invalid size.")) else if(new_bulge) host.vore_selected.bulge_size = (new_bulge/100) . = TRUE @@ -1515,7 +1556,7 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", return FALSE if (!ISINRANGE(new_grow,25,200)) host.vore_selected.shrink_grow_size = 1 //Set it to the default - to_chat(user,"Invalid size.") + to_chat(user,span_notice("Invalid size.")) else if(new_grow) host.vore_selected.shrink_grow_size = (new_grow*0.01) . = TRUE @@ -1563,7 +1604,7 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", . = TRUE if("b_drainmode") var/list/menu_list = host.vore_selected.drainmodes.Copy() - var/new_drainmode = tgui_input_list(usr, "Choose Mode (currently [host.vore_selected.digest_mode])", "Mode Choice", menu_list) + var/new_drainmode = tgui_input_list(user, "Choose Mode (currently [host.vore_selected.digest_mode])", "Mode Choice", menu_list) if(!new_drainmode) return FALSE @@ -1588,12 +1629,12 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", if("b_escapable") if(host.vore_selected.escapable == 0) //Possibly escapable and special interactions. host.vore_selected.escapable = 1 - to_chat(usr,"Prey now have special interactions with your [lowertext(host.vore_selected.name)] depending on your settings.") + to_chat(user,span_warning("Prey now have special interactions with your [lowertext(host.vore_selected.name)] depending on your settings.")) else if(host.vore_selected.escapable == 1) //Never escapable. host.vore_selected.escapable = 0 - to_chat(usr,"Prey will not be able to have special interactions with your [lowertext(host.vore_selected.name)].") + to_chat(user,span_warning("Prey will not be able to have special interactions with your [lowertext(host.vore_selected.name)].")) else - tgui_alert_async(usr, "Something went wrong. Your stomach will now not have special interactions. Press the button enable them again and tell a dev.","Error") //If they somehow have a varable that's not 0 or 1 + tgui_alert_async(user, "Something went wrong. Your stomach will now not have special interactions. Press the button enable them again and tell a dev.","Error") //If they somehow have a varable that's not 0 or 1 host.vore_selected.escapable = 0 . = TRUE if("b_escapechance") @@ -1617,7 +1658,7 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", host.vore_selected.transferchance = sanitize_integer(transfer_chance_input, 0, 100, initial(host.vore_selected.transferchance)) . = TRUE if("b_transferlocation") - var/obj/belly/choice = tgui_input_list(usr, "Where do you want your [lowertext(host.vore_selected.name)] to lead if prey resists?","Select Belly", (host.vore_organs + "None - Remove" - host.vore_selected)) + var/obj/belly/choice = tgui_input_list(user, "Where do you want your [lowertext(host.vore_selected.name)] to lead if prey resists?","Select Belly", (host.vore_organs + "None - Remove" - host.vore_selected)) if(!choice) //They cancelled, no changes return FALSE @@ -1632,7 +1673,7 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", host.vore_selected.transferchance_secondary = sanitize_integer(transfer_secondary_chance_input, 0, 100, initial(host.vore_selected.transferchance_secondary)) . = TRUE if("b_transferlocation_secondary") - var/obj/belly/choice_secondary = tgui_input_list(usr, "Where do you want your [lowertext(host.vore_selected.name)] to alternately lead if prey resists?","Select Belly", (host.vore_organs + "None - Remove" - host.vore_selected)) + var/obj/belly/choice_secondary = tgui_input_list(user, "Where do you want your [lowertext(host.vore_selected.name)] to alternately lead if prey resists?","Select Belly", (host.vore_organs + "None - Remove" - host.vore_selected)) if(!choice_secondary) //They cancelled, no changes return FALSE @@ -1668,17 +1709,17 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", host.vore_selected.clear_preview(host) //Clears the stomach overlay. This is a failsafe but shouldn't occur. . = TRUE if("b_fullscreen_color") - var/newcolor = input(usr, "Choose a color.", "", host.vore_selected.belly_fullscreen_color) as color|null + var/newcolor = input(user, "Choose a color.", "", host.vore_selected.belly_fullscreen_color) as color|null if(newcolor) host.vore_selected.belly_fullscreen_color = newcolor . = TRUE if("b_fullscreen_color_secondary") - var/newcolor = input(usr, "Choose a color.", "", host.vore_selected.belly_fullscreen_color_secondary) as color|null + var/newcolor = input(user, "Choose a color.", "", host.vore_selected.belly_fullscreen_color_secondary) as color|null if(newcolor) host.vore_selected.belly_fullscreen_color_secondary = newcolor . = TRUE if("b_fullscreen_color_trinary") - var/newcolor = input(usr, "Choose a color.", "", host.vore_selected.belly_fullscreen_color_trinary) as color|null + var/newcolor = input(user, "Choose a color.", "", host.vore_selected.belly_fullscreen_color_trinary) as color|null if(newcolor) host.vore_selected.belly_fullscreen_color_trinary = newcolor . = TRUE @@ -1686,8 +1727,8 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", host.vore_selected.save_digest_mode = !host.vore_selected.save_digest_mode . = TRUE if("b_del") - var/alert = tgui_alert(usr, "Are you sure you want to delete your [lowertext(host.vore_selected.name)]?","Confirmation",list("Cancel","Delete")) - if(!(alert == "Delete")) + var/alert = tgui_alert(user, "Are you sure you want to delete your [lowertext(host.vore_selected.name)]?","Confirmation",list("Cancel","Delete")) + if(alert != "Delete") return FALSE var/failure_msg = "" @@ -1720,7 +1761,7 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", if("b_belly_sprite_to_affect") if (istype(host, /mob/living/carbon/human)) var/mob/living/carbon/human/hhost = host - var/belly_choice = tgui_input_list(usr, "Which belly sprite do you want your [lowertext(hhost.vore_selected.name)] to affect?","Select Region", hhost.vore_icon_bellies) + var/belly_choice = tgui_input_list(user, "Which belly sprite do you want your [lowertext(hhost.vore_selected.name)] to affect?","Select Region", hhost.vore_icon_bellies) if(!belly_choice) //They cancelled, no changes return FALSE else @@ -1783,7 +1824,7 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", if("b_tail_to_change_to") if (istype(host, /mob/living/carbon/human)) var/mob/living/carbon/human/hhost = host - var/tail_choice = tgui_input_list(usr, "Which tail sprite do you want to use when your [lowertext(host.vore_selected.name)] is filled?","Select Sprite", global.tail_styles_list) + var/tail_choice = tgui_input_list(user, "Which tail sprite do you want to use when your [lowertext(host.vore_selected.name)] is filled?","Select Sprite", global.tail_styles_list) if(!tail_choice) //They cancelled, no changes return FALSE else @@ -1792,21 +1833,21 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", if("b_tail_color") if (istype(host, /mob/living/carbon/human)) var/mob/living/carbon/human/hhost = host - var/newcolor = input(usr, "Choose tail color.", "", hhost.vore_selected.tail_colouration) as color|null + var/newcolor = input(user, "Choose tail color.", "", hhost.vore_selected.tail_colouration) as color|null if(newcolor) hhost.vore_selected.tail_colouration = newcolor . = TRUE if("b_tail_color2") if (istype(host, /mob/living/carbon/human)) var/mob/living/carbon/human/hhost = host - var/newcolor = input(usr, "Choose tail secondary color.", "", hhost.vore_selected.tail_extra_overlay) as color|null + var/newcolor = input(user, "Choose tail secondary color.", "", hhost.vore_selected.tail_extra_overlay) as color|null if(newcolor) hhost.vore_selected.tail_extra_overlay = newcolor . = TRUE if("b_tail_color3") if (istype(host, /mob/living/carbon/human)) var/mob/living/carbon/human/hhost = host - var/newcolor = input(usr, "Choose tail tertiary color.", "", hhost.vore_selected.tail_extra_overlay2) as color|null + var/newcolor = input(user, "Choose tail tertiary color.", "", hhost.vore_selected.tail_extra_overlay2) as color|null if(newcolor) hhost.vore_selected.tail_extra_overlay2 = newcolor . = TRUE diff --git a/code/modules/vore/fluffstuff/MadokaSpear.dm b/code/modules/vore/fluffstuff/MadokaSpear.dm index ce5f5a552c7..e9fb0823169 100644 --- a/code/modules/vore/fluffstuff/MadokaSpear.dm +++ b/code/modules/vore/fluffstuff/MadokaSpear.dm @@ -16,30 +16,30 @@ /* * Twohanded */ -/obj/item/weapon/oldtwohanded +/obj/item/oldtwohanded var/wielded = 0 var/force_wielded = 0 var/wieldsound = null var/unwieldsound = null var/base_icon -/obj/item/weapon/oldtwohanded/proc/unwield() +/obj/item/oldtwohanded/proc/unwield() wielded = 0 force = initial(force) name = "[initial(name)]" update_icon() -/obj/item/weapon/oldtwohanded/proc/wield() +/obj/item/oldtwohanded/proc/wield() wielded = 1 force = force_wielded name = "[initial(name)] (Wielded)" update_icon() -/obj/item/weapon/oldtwohanded/New() +/obj/item/oldtwohanded/New() ..() update_icon() -/obj/item/weapon/oldtwohanded/mob_can_equip(M as mob, slot, disable_warning = FALSE) +/obj/item/oldtwohanded/mob_can_equip(M as mob, slot, disable_warning = FALSE) //Cannot equip wielded items. if(wielded) to_chat(M, "Unwield the [initial(name)] first!") @@ -47,22 +47,22 @@ return ..() -/obj/item/weapon/oldtwohanded/dropped(mob/user as mob) +/obj/item/oldtwohanded/dropped(mob/user as mob) //handles unwielding a twohanded weapon when dropped as well as clearing up the offhand if(user) - var/obj/item/weapon/oldtwohanded/O = user.get_inactive_hand() + var/obj/item/oldtwohanded/O = user.get_inactive_hand() if(istype(O)) O.unwield() return unwield() -/obj/item/weapon/oldtwohanded/update_icon() +/obj/item/oldtwohanded/update_icon() icon_state = "[base_icon][wielded]" item_state = icon_state -/obj/item/weapon/oldtwohanded/pickup(mob/user) +/obj/item/oldtwohanded/pickup(mob/user) unwield() -/obj/item/weapon/oldtwohanded/attack_self(mob/user as mob) +/obj/item/oldtwohanded/attack_self(mob/user as mob) ..() if(wielded) //Trying to unwield it @@ -71,7 +71,7 @@ if (src.unwieldsound) playsound(src.loc, unwieldsound, 50, 1) - var/obj/item/weapon/oldtwohanded/offhand/O = user.get_inactive_hand() + var/obj/item/oldtwohanded/offhand/O = user.get_inactive_hand() if(O && istype(O)) O.unwield() @@ -84,7 +84,7 @@ if (src.wieldsound) playsound(src.loc, wieldsound, 50, 1) - var/obj/item/weapon/oldtwohanded/offhand/O = new(user) ////Let's reserve his other hand~ + var/obj/item/oldtwohanded/offhand/O = new(user) ////Let's reserve his other hand~ O.name = "[initial(name)] - offhand" O.desc = "Your second grip on the [initial(name)]" user.put_in_inactive_hand(O) @@ -97,22 +97,22 @@ return ///////////OFFHAND/////////////// -/obj/item/weapon/oldtwohanded/offhand +/obj/item/oldtwohanded/offhand w_class = 5.0 icon_state = "offhand" name = "offhand" -/obj/item/weapon/oldtwohanded/offhand/unwield() +/obj/item/oldtwohanded/offhand/unwield() qdel(src) -/obj/item/weapon/oldtwohanded/offhand/wield() +/obj/item/oldtwohanded/offhand/wield() qdel(src) -/obj/item/weapon/oldtwohanded/offhand/update_icon() +/obj/item/oldtwohanded/offhand/update_icon() return //spears, bay edition -/obj/item/weapon/oldtwohanded/spear +/obj/item/oldtwohanded/spear icon_state = "spearglass0" base_icon = "spearglass" name = "spear" @@ -126,4 +126,4 @@ edge = 0 sharp = 1 hitsound = 'sound/weapons/bladeslice.ogg' - attack_verb = list("attacked", "poked", "jabbed", "torn", "gored") \ No newline at end of file + attack_verb = list("attacked", "poked", "jabbed", "torn", "gored") diff --git a/code/modules/vore/fluffstuff/axisrus_yw.dm b/code/modules/vore/fluffstuff/axisrus_yw.dm index da585613ae6..c14d3031c5c 100644 --- a/code/modules/vore/fluffstuff/axisrus_yw.dm +++ b/code/modules/vore/fluffstuff/axisrus_yw.dm @@ -53,13 +53,13 @@ icon_override = 'icons/vore/axisrus_yw.dmi' item_state = "soldiersuit_mob" blood_overlay_type = "coat" - allowed = list(/obj/item/weapon/gun/energy, - /obj/item/weapon/reagent_containers/spray/pepper, - /obj/item/weapon/gun/projectile, + allowed = list(/obj/item/gun/energy, + /obj/item/reagent_containers/spray/pepper, + /obj/item/gun/projectile, /obj/item/ammo_magazine, /obj/item/ammo_casing, - /obj/item/weapon/melee/baton, - /obj/item/weapon/handcuffs) + /obj/item/melee/baton, + /obj/item/handcuffs) /obj/item/clothing/suit/storage/labcoat/fluff/zeke_vincir_3/axis/officer name = "Officer's Waffenrock" diff --git a/code/modules/vore/fluffstuff/custom_boxes_vr.dm b/code/modules/vore/fluffstuff/custom_boxes_vr.dm index 89dc56782a7..1ff0dbeada2 100644 --- a/code/modules/vore/fluffstuff/custom_boxes_vr.dm +++ b/code/modules/vore/fluffstuff/custom_boxes_vr.dm @@ -2,13 +2,13 @@ // Also these things might be mildly obsolete considering the update to inventory. // BEGIN - DO NOT EDIT PROTOTYPE -/obj/item/weapon/storage/box/fluff +/obj/item/storage/box/fluff name = "Undefined Fluff Box" desc = "This should have a description. Tell an admin." storage_slots = 7 var/list/has_items = list() -/obj/item/weapon/storage/box/fluff/New() +/obj/item/storage/box/fluff/New() storage_slots = has_items.len allowed = list() for(var/P in has_items) @@ -21,7 +21,7 @@ /* TEMPLATE // ckey:Character Name -/obj/item/weapon/storage/box/fluff/charactername +/obj/item/storage/box/fluff/charactername name = "" desc = "" has_items = list( @@ -32,7 +32,7 @@ */ // BeyondMyLife:Cassandra Selones Spawn Kit -/obj/item/weapon/storage/box/fluff/cassandra +/obj/item/storage/box/fluff/cassandra name = "Cassandra Selone's Spawn Kit" desc = "A spawn Kit, holding Cassandra Selone's Item's" has_items = list( @@ -41,21 +41,21 @@ /obj/item/clothing/shoes/boots/fluff/kilano/purple) //BeyondMyLife: Ne'tra Ky'ram //Made a box because they have so many items that it'd spam the debug log. -/obj/item/weapon/storage/box/fluff/kilano +/obj/item/storage/box/fluff/kilano name = "Ne'tra Ky'ram's Kit" desc = "A kit containing Ne'tra Ky'ram's clothing." has_items = list( /obj/item/clothing/suit/storage/hooded/wintercoat/kilanocoat, /obj/item/clothing/under/fluff/kilanosuit, - /obj/item/weapon/storage/backpack/messenger/sec/fluff/kilano, - /obj/item/weapon/storage/belt/security/fluff/kilano, + /obj/item/storage/backpack/messenger/sec/fluff/kilano, + /obj/item/storage/belt/security/fluff/kilano, /obj/item/clothing/gloves/fluff/kilano/netra, /obj/item/clothing/shoes/boots/fluff/kilano, /obj/item/clothing/accessory/storage/black_vest/fluff/kilano ) // bwoincognito:Tasald Corlethian -/obj/item/weapon/storage/box/fluff/tasald +/obj/item/storage/box/fluff/tasald name = "Tasald's Kit" desc = "A kit containing Tasald's equipment." has_items = list( @@ -63,7 +63,7 @@ /obj/item/clothing/under/det/fluff/tasald) //bwoincognito:Octavious Ward -/obj/item/weapon/storage/box/fluff/octavious +/obj/item/storage/box/fluff/octavious name = "Octavious's Kit" desc = "A kit containing Octavious's work clothes." has_items = list( @@ -72,12 +72,12 @@ /obj/item/clothing/mask/gas/plaguedoctor/fluff/octaviousmask, /obj/item/clothing/head/fedora/fluff/bowler, /obj/item/clothing/shoes/black/cuffs/octavious, - /obj/item/weapon/cane/fluff/tasald, + /obj/item/cane/fluff/tasald, /obj/item/clothing/glasses/hud/health/octaviousmonicle ) //drakefrostpaw:Drake Frostpaw -/obj/item/weapon/storage/box/fluff/drake +/obj/item/storage/box/fluff/drake name = "United Federation Uniform Kit" desc = "A box containing all the parts of a United Federation Uniform" has_items = list( @@ -88,28 +88,28 @@ ) // Draycu: Schae Yonra -/obj/item/weapon/storage/box/fluff/yonra +/obj/item/storage/box/fluff/yonra name = "Yonra's Starting Kit" desc = "A small box containing Yonra's personal effects" has_items = list( - /obj/item/weapon/melee/fluff/holochain/mass, + /obj/item/melee/fluff/holochain/mass, /obj/item/clothing/accessory/medal/silver/unity) //ivymoomoo:Ivy Baladeva -/obj/item/weapon/storage/backpack/messenger/sec/fluff/ivymoomoo +/obj/item/storage/backpack/messenger/sec/fluff/ivymoomoo name = "Ivy's Courier" desc = "A bag resembling something used by college students. Contains items for ''MooMoo''." -/obj/item/weapon/storage/backpack/messenger/sec/fluff/ivymoomoo/New() +/obj/item/storage/backpack/messenger/sec/fluff/ivymoomoo/New() ..() new /obj/item/clothing/head/beretg(src) - new /obj/item/device/fluff/id_kit_ivy(src) - new /obj/item/weapon/storage/fancy/cigarettes/dromedaryco(src) - new /obj/item/weapon/storage/box/matches(src) - new /obj/item/weapon/reagent_containers/food/snacks/sliceable/plaincake(src) + new /obj/item/fluff/id_kit_ivy(src) + new /obj/item/storage/fancy/cigarettes/dromedaryco(src) + new /obj/item/storage/box/matches(src) + new /obj/item/reagent_containers/food/snacks/sliceable/plaincake(src) // jemli:Cirra Mayhem -/obj/item/weapon/storage/box/fluff/cirra +/obj/item/storage/box/fluff/cirra name = "Instant Pirate Kit" desc = "Just add Akula!" has_items = list( @@ -119,19 +119,19 @@ /obj/item/clothing/under/pirate) // joey4298:Emoticon -/obj/item/weapon/storage/box/fluff/emoticon +/obj/item/storage/box/fluff/emoticon name = "Emoticon's Mime Kit" desc = "Specially packaged for the hungry catgirl mime with a taste for clown." has_items = list( - /obj/item/device/fluff/id_kit_mime, + /obj/item/fluff/id_kit_mime, /obj/item/clothing/gloves/white, /obj/item/clothing/head/beret, - /obj/item/weapon/reagent_containers/food/drinks/bottle/bottleofnothing, + /obj/item/reagent_containers/food/drinks/bottle/bottleofnothing, /obj/item/clothing/shoes/black, /*/obj/item/toy/crayon/mime*/) //Need to track down the code for crayons before adding this back in //joanrisu:Joan Risu -/obj/item/weapon/storage/backpack/dufflebag/sec/fluff/joanrisu +/obj/item/storage/backpack/dufflebag/sec/fluff/joanrisu name = "Joan's Workbag" desc = "A bag Joan uses to carry her work equipment. It has the 82nd Battle Group Insignia on it." icon_state = "joanbag" @@ -140,39 +140,39 @@ slowdown = 0 can_tilt = 0 -/obj/item/weapon/storage/backpack/dufflebag/sec/fluff/joanrisu/New() +/obj/item/storage/backpack/dufflebag/sec/fluff/joanrisu/New() ..() new /obj/item/clothing/accessory/holster/hip(src) new /obj/item/clothing/suit/storage/fluff/modernfedcoat(src) new /obj/item/clothing/head/caphat/formal/fedcover(src) new /obj/item/clothing/suit/armor/det_suit(src) - new /obj/item/weapon/flame/lighter/zippo/fluff/joan(src) + new /obj/item/flame/lighter/zippo/fluff/joan(src) new /obj/item/clothing/under/rank/internalaffairs/fluff/joan(src) new /obj/item/clothing/head/helmet/space/fluff/joan(src) new /obj/item/clothing/suit/space/fluff/joan(src) //joanrisu:Katarina Eine -/obj/item/weapon/storage/backpack/dufflebag/sec/fluff/katarina +/obj/item/storage/backpack/dufflebag/sec/fluff/katarina name = "Katarina's Workbag" desc = "A duffle bag Katarina uses to carry her tools." slowdown = 0 -/obj/item/weapon/storage/backpack/dufflebag/sec/fluff/katarina/New() +/obj/item/storage/backpack/dufflebag/sec/fluff/katarina/New() ..() new /obj/item/clothing/accessory/holster/hip(src) new /obj/item/clothing/suit/storage/fluff/fedcoat(src) new /obj/item/clothing/suit/armor/det_suit(src) new /obj/item/clothing/accessory/storage/black_vest(src) - new /obj/item/weapon/material/knife/tacknife/combatknife/fluff/katarina(src) + new /obj/item/material/knife/tacknife/combatknife/fluff/katarina(src) new /obj/item/clothing/under/rank/internalaffairs/fluff/joan(src) //Razerwing:Archer Maximus -/obj/item/weapon/storage/box/fluff/archermaximus +/obj/item/storage/box/fluff/archermaximus desc = "Personal Effects" has_items = list() //Xsdew:Penelope Allen -/obj/item/weapon/storage/box/fluff/penelope +/obj/item/storage/box/fluff/penelope name = "Penelope's capsule" desc = "A little capsule where a designer's swimsuit is stored." icon = 'icons/vore/custom_items_vr.dmi' @@ -185,7 +185,7 @@ has_items = list(/obj/item/clothing/under/swimsuit/fluff/penelope) // JackNoir413: Mor Xaina -/obj/item/weapon/storage/box/fluff/morxaina +/obj/item/storage/box/fluff/morxaina name = "Fashionable clothes set" desc = "Set of custom-made, expensive attire elements." has_items = list( @@ -194,52 +194,52 @@ /obj/item/clothing/under/fluff/morunder) // Mewchild: Phi Vietsi -/obj/item/weapon/storage/box/fluff/phi +/obj/item/storage/box/fluff/phi name = "Phi's Personal Items" has_items = list( /obj/item/clothing/accessory/medal/bronze_heart, - /obj/item/clothing/gloves/ring/seal/signet/fluff/phi) + /obj/item/clothing/accessory/ring/seal/signet/fluff/phi) // Tabiranth: Ascian -/obj/item/weapon/grenade/spawnergrenade/spirit +/obj/item/grenade/spawnergrenade/spirit name = "spirit's pet carrier" desc = "Contains kitten." spawner_type = /mob/living/simple_mob/animal/passive/cat/tabiranth deliveryamt = 1 // Jwguy: Koyo Akimomi -/obj/item/weapon/storage/box/fluff/koyoakimomi +/obj/item/storage/box/fluff/koyoakimomi name = "Koyo's Cosplay Box" desc = "One of many traditional wolfgirl clothing sets that Koyo owns. Awoo!" has_items = list( /obj/item/clothing/head/fluff/wolfgirl, /obj/item/clothing/shoes/fluff/wolfgirl, /obj/item/clothing/under/fluff/wolfgirl, - /obj/item/weapon/melee/fluffstuff/wolfgirlsword, - /obj/item/weapon/shield/fluff/wolfgirlshield) + /obj/item/melee/fluffstuff/wolfgirlsword, + /obj/item/shield/fluff/wolfgirlshield) // Ryumi: Nikki Yumeno -/obj/item/weapon/storage/box/fluff +/obj/item/storage/box/fluff name = "Nikki's Outfit Box" desc = "Warning: Contains dangerous amounts of dork." has_items = list( - /obj/item/weapon/rig/nikki, + /obj/item/rig/nikki, /obj/item/clothing/head/fluff/nikki, /obj/item/clothing/under/skirt/outfit/fluff/nikki, /obj/item/clothing/shoes/fluff/nikki) // DefiintelyNotARock:Aku Zoles -/obj/item/weapon/storage/secure/briefcase/dealer +/obj/item/storage/secure/briefcase/dealer name = "Aku's Dealer briefcase" desc = "A slick black briefcase with a digital lock." starts_with = list( - /obj/item/weapon/spacecasinocash/c1000 = 3, - /obj/item/weapon/storage/dicecup/loaded = 3) + /obj/item/spacecasinocash/c1000 = 3, + /obj/item/storage/dicecup/loaded = 3) /* Swimsuits, for general use, to avoid arriving to work with your swimsuit. */ -/obj/item/weapon/storage/box/fluff/swimsuit +/obj/item/storage/box/fluff/swimsuit name = "Black Swimsuit capsule" desc = "A little capsule where a swimsuit is usually stored." storage_slots = 1 @@ -251,95 +251,95 @@ Swimsuits, for general use, to avoid arriving to work with your swimsuit. can_hold = list(/obj/item/clothing/under/swimsuit/) has_items = list(/obj/item/clothing/under/swimsuit/black) -/obj/item/weapon/storage/box/fluff/swimsuit/blue +/obj/item/storage/box/fluff/swimsuit/blue name = "Blue Swimsuit capsule" has_items = list(/obj/item/clothing/under/swimsuit/blue) -/obj/item/weapon/storage/box/fluff/swimsuit/purple +/obj/item/storage/box/fluff/swimsuit/purple name = "Purple Swimsuit capsule" has_items = list(/obj/item/clothing/under/swimsuit/purple) -/obj/item/weapon/storage/box/fluff/swimsuit/green +/obj/item/storage/box/fluff/swimsuit/green name = "Green Swimsuit capsule" has_items = list(/obj/item/clothing/under/swimsuit/green) -/obj/item/weapon/storage/box/fluff/swimsuit/red +/obj/item/storage/box/fluff/swimsuit/red name = "Red Swimsuit capsule" has_items = list(/obj/item/clothing/under/swimsuit/red) -/obj/item/weapon/storage/box/fluff/swimsuit/white +/obj/item/storage/box/fluff/swimsuit/white name = "White Swimsuit capsule" has_items = list(/obj/item/clothing/under/swimsuit/white) -/obj/item/weapon/storage/box/fluff/swimsuit/blue +/obj/item/storage/box/fluff/swimsuit/blue name = "Striped Swimsuit capsule" has_items = list(/obj/item/clothing/under/swimsuit/striped) -/obj/item/weapon/storage/box/fluff/swimsuit/earth +/obj/item/storage/box/fluff/swimsuit/earth name = "Earthen Swimsuit capsule" has_items = list(/obj/item/clothing/under/swimsuit/earth) -/obj/item/weapon/storage/box/fluff/swimsuit/engineering +/obj/item/storage/box/fluff/swimsuit/engineering name = "Engineering Swimsuit capsule" has_items = list(/obj/item/clothing/under/swimsuit/fluff/engineering) -/obj/item/weapon/storage/box/fluff/swimsuit/science +/obj/item/storage/box/fluff/swimsuit/science name = "Science Swimsuit capsule" has_items = list(/obj/item/clothing/under/swimsuit/fluff/science) -/obj/item/weapon/storage/box/fluff/swimsuit/security +/obj/item/storage/box/fluff/swimsuit/security name = "Security Swimsuit capsule" has_items = list(/obj/item/clothing/under/swimsuit/fluff/security) -/obj/item/weapon/storage/box/fluff/swimsuit/medical +/obj/item/storage/box/fluff/swimsuit/medical name = "Medical Swimsuit capsule" has_items = list(/obj/item/clothing/under/swimsuit/fluff/medical) -/obj/item/weapon/storage/box/fluff/swimsuit/cowbikini +/obj/item/storage/box/fluff/swimsuit/cowbikini name = "Cow Bikini Swimsuit capsule" has_items = list(/obj/item/clothing/under/swimsuit/cowbikini) -/obj/item/weapon/storage/box/fluff/swimsuit/stripperpink +/obj/item/storage/box/fluff/swimsuit/stripperpink name = "Skimpy Pink Swimsuit capsule" has_items = list(/obj/item/clothing/under/swimsuit/stripper/stripper_pink) -/obj/item/weapon/storage/box/fluff/swimsuit/strippergreen +/obj/item/storage/box/fluff/swimsuit/strippergreen name = "Skimpy Green Swimsuit capsule" has_items = list(/obj/item/clothing/under/swimsuit/stripper/stripper_green) -/obj/item/weapon/storage/box/fluff/swimsuit/mankini +/obj/item/storage/box/fluff/swimsuit/mankini name = "Pink Mankini capsule" has_items = list(/obj/item/clothing/under/swimsuit/stripper/mankini) -/obj/item/weapon/storage/box/fluff/swimsuit/highclass +/obj/item/storage/box/fluff/swimsuit/highclass name = "High Class Swimsuit capsule" has_items = list(/obj/item/clothing/under/swimsuit/highclass) -/obj/item/weapon/storage/box/fluff/swimsuit/risque +/obj/item/storage/box/fluff/swimsuit/risque name = "Risque Swimsuit capsule" has_items = list(/obj/item/clothing/under/swimsuit/risque) -/obj/item/weapon/storage/box/fluff/swimsuit/streamlined +/obj/item/storage/box/fluff/swimsuit/streamlined name = "Streamlined Swimsuit capsule" has_items = list(/obj/item/clothing/under/swimsuit/streamlined) //Monkey boxes for the new primals we have -/obj/item/weapon/storage/box/monkeycubes/sobakacubes +/obj/item/storage/box/monkeycubes/sobakacubes name = "sobaka cube box" desc = "Drymate brand sobaka cubes. Just add water!" - starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped/sobakacube = 4) + starts_with = list(/obj/item/reagent_containers/food/snacks/monkeycube/wrapped/sobakacube = 4) -/obj/item/weapon/storage/box/monkeycubes/sarucubes +/obj/item/storage/box/monkeycubes/sarucubes name = "saru cube box" desc = "Drymate brand saru cubes. Just add water!" - starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped/sarucube = 4) + starts_with = list(/obj/item/reagent_containers/food/snacks/monkeycube/wrapped/sarucube = 4) -/obj/item/weapon/storage/box/monkeycubes/sparracubes +/obj/item/storage/box/monkeycubes/sparracubes name = "sparra cube box" desc = "Drymate brand sparra cubes. Just add water!" - starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped/sparracube = 4) + starts_with = list(/obj/item/reagent_containers/food/snacks/monkeycube/wrapped/sparracube = 4) -/obj/item/weapon/storage/box/monkeycubes/wolpincubes +/obj/item/storage/box/monkeycubes/wolpincubes name = "wolpin cube box" desc = "Drymate brand wolpin cubes. Just add water!" - starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped/wolpincube = 4) + starts_with = list(/obj/item/reagent_containers/food/snacks/monkeycube/wrapped/wolpincube = 4) diff --git a/code/modules/vore/fluffstuff/custom_boxes_yw.dm b/code/modules/vore/fluffstuff/custom_boxes_yw.dm index 91d96391cd9..343cf5298f1 100644 --- a/code/modules/vore/fluffstuff/custom_boxes_yw.dm +++ b/code/modules/vore/fluffstuff/custom_boxes_yw.dm @@ -6,24 +6,24 @@ //Amara Faell -/obj/item/weapon/storage/box/fluff/amara +/obj/item/storage/box/fluff/amara name = "Amara's Kit" desc = "A kit containing Amara's equipment." has_items = list( /obj/item/clothing/suit/storage/fluff/fedcoat/amara_jacket, /obj/item/clothing/head/beret/amara_beret, /obj/item/clothing/gloves/fluff/amara_gloves, - /obj/item/weapon/flame/lighter/zippo/fluff/amara, + /obj/item/flame/lighter/zippo/fluff/amara, /obj/item/clothing/under/fluff/amara_uniform, /obj/item/clothing/shoes/boots/jackboots/fluff/amara_boots, /obj/item/clothing/accessory/collar/fluff/amara_collar, - /obj/item/weapon/storage/belt/security/tactical/amara_belt, - /obj/item/device/modkit_conversion/fluff/amara_hos_kit) + /obj/item/storage/belt/security/tactical/amara_belt, + /obj/item/modkit_conversion/fluff/amara_hos_kit) //Zara Venlee -/obj/item/weapon/storage/box/fluff/zara +/obj/item/storage/box/fluff/zara name = "Zara's Kit" desc = "A kit containing Zara's equipment." has_items = list( @@ -35,7 +35,7 @@ //Samantha Quzix -/obj/item/weapon/storage/box/fluff/samantha +/obj/item/storage/box/fluff/samantha name = "Samantha's Kit" desc = "A kit containing Samantha's equipment." has_items = list( @@ -43,22 +43,22 @@ /obj/item/clothing/gloves/sterile/latex/fluff/sam_gloves, /obj/item/clothing/shoes/boots/jackboots/fluff/sam_boots, /obj/item/clothing/suit/storage/fluff/fedcoat/sam_jacket, - /obj/item/weapon/storage/belt/utility/fluff/sam_belt) + /obj/item/storage/belt/utility/fluff/sam_belt) //Nika Domashev / Defunct -/obj/item/weapon/storage/box/fluff/nika +/obj/item/storage/box/fluff/nika name = "Nika's Kit" desc = "A kit containing Nika's equipment." has_items = list( /obj/item/clothing/under/rank/security/corp/fluff/nika, - /obj/item/device/modkit_conversion/fluff/nika_sec_kit) + /obj/item/modkit_conversion/fluff/nika_sec_kit) //*************** //blackangelsace //*************** -/obj/item/weapon/storage/box/fluff/madoka +/obj/item/storage/box/fluff/madoka name = "Madoka's Case" desc = "A case containing Madoka's equipment." has_items = list( @@ -66,9 +66,9 @@ /obj/item/clothing/suit/armor/fluff/madoka_chest, /obj/item/clothing/gloves/arm_guard/fluff/madoka_arms, /obj/item/clothing/shoes/leg_guard/fluff/madoka_legs, - /obj/item/weapon/oldtwohanded/spear/fluff/madoka_koto_1) + /obj/item/oldtwohanded/spear/fluff/madoka_koto_1) -/obj/item/weapon/storage/box/fluff/kelplague +/obj/item/storage/box/fluff/kelplague name = "Fancy Plague Doctor Kit" desc = "Fancy boye stuff." has_items = list( @@ -84,7 +84,7 @@ //JohnWolf135 / Defunct // ********** -/obj/item/weapon/storage/box/fluff/John +/obj/item/storage/box/fluff/John name = "John's kit" desc = "A kit containing John's equipment." has_items = list( @@ -94,7 +94,7 @@ // Mauser items // ************ -/obj/item/weapon/storage/box/fluff/mauser +/obj/item/storage/box/fluff/mauser name = "Mauser's Kit" desc = "A kit containing Mauser's equipment." has_items = list( @@ -108,7 +108,7 @@ //Ally Faell -/obj/item/weapon/storage/box/fluff/ally +/obj/item/storage/box/fluff/ally name = "Ally's Kit" desc = "A kit containing Ally's equipment." has_items = list( @@ -117,16 +117,16 @@ //Raja Bastet -/obj/item/weapon/storage/box/fluff/raja +/obj/item/storage/box/fluff/raja name = "Raja's Kit" desc = "A kit containing Raja's equipment." has_items = list( - /obj/item/weapon/storage/belt/utility/fluff/raja_belt, + /obj/item/storage/belt/utility/fluff/raja_belt, /obj/item/clothing/suit/storage/hooded/wintercoat/fluff/raja_coat) //Shel Nargol -/obj/item/weapon/storage/box/fluff/shel +/obj/item/storage/box/fluff/shel name = "Shel's Kit" desc = "A kit containing Shel's equipment." has_items = list( @@ -135,7 +135,7 @@ //Alva Karlholm -/obj/item/weapon/storage/box/fluff/alva +/obj/item/storage/box/fluff/alva name = "Alva's Kit" desc = "A kit containing Alva's equipment." has_items = list( @@ -149,7 +149,7 @@ //Tikorak Korgask -/obj/item/weapon/storage/box/fluff/tikorak +/obj/item/storage/box/fluff/tikorak name = "Tikorak's Kit" desc = "A kit containing Tikorak's equipment." has_items = list( @@ -160,23 +160,23 @@ // Dawidoe // ******* -/obj/item/weapon/storage/box/fluff/melissa +/obj/item/storage/box/fluff/melissa name = "Melissa's kit" desc = "A kit containing Melissa's equipment." has_items = list( - /obj/item/weapon/flame/lighter/zippo/fluff/melissa, + /obj/item/flame/lighter/zippo/fluff/melissa, /obj/item/clothing/under/rank/security/corp/fluff/melissa_uniform, - /obj/item/device/modkit_conversion/fluff/melissa_gun_kit) + /obj/item/modkit_conversion/fluff/melissa_gun_kit) // ******* // Dwaggy90 // ******* -/obj/item/weapon/storage/box/fluff/saur +/obj/item/storage/box/fluff/saur name = "Saur's kit" desc = "A kit containing Saur's equipment." has_items = list( - /obj/item/weapon/rig/medical/equipped/fluff/saur, - /obj/item/weapon/storage/backpack/dufflebag/fluff/saur_dufflebag, + /obj/item/rig/medical/equipped/fluff/saur, + /obj/item/storage/backpack/dufflebag/fluff/saur_dufflebag, /obj/item/clothing/suit/armor/pcarrier/navy/fluff/saur_pccarrier ) /* @@ -186,15 +186,15 @@ //Anoki Windroar -/obj/item/weapon/storage/box/fluff/anoki +/obj/item/storage/box/fluff/anoki name = "Anoki's kit" desc = "A kit containing Anoki's equipment." has_items = list( - /obj/item/weapon/implanter/reagent_generator/roiz/anoki) + /obj/item/implanter/reagent_generator/roiz/anoki) */ //Ivy Kaeire -/obj/item/weapon/storage/box/fluff/ivy +/obj/item/storage/box/fluff/ivy name = "Ivy's Kit" desc = "A kit containing Ivy's equipment." has_items = list( @@ -207,7 +207,7 @@ //Vanesa FancyFin -/obj/item/weapon/storage/box/fluff/vanesaf +/obj/item/storage/box/fluff/vanesaf name = "Vanesa's kit" desc = "A kit containing Vanesa's equipment." has_items = list( @@ -219,12 +219,12 @@ //Jessica Mayer -/obj/item/weapon/storage/box/fluff/jessica +/obj/item/storage/box/fluff/jessica name = "Jessica's Kit" desc = "A kit containing Jessica's equipment." has_items = list( /obj/item/clothing/under/rank/security/corp/fluff/jessica, - /obj/item/device/modkit_conversion/fluff/jessica_sec_kit) + /obj/item/modkit_conversion/fluff/jessica_sec_kit) // ******* //LukeVale @@ -232,23 +232,23 @@ //Mira Rezus -/obj/item/weapon/storage/box/fluff/mira +/obj/item/storage/box/fluff/mira name = "Mira's kit" desc = "A kit containing Mira's equipment." has_items = list( - /obj/item/weapon/implanter/reagent_generator/mira) + /obj/item/implanter/reagent_generator/mira) //Natalya Vospit / Defunct -/obj/item/weapon/storage/box/fluff/natalya +/obj/item/storage/box/fluff/natalya name = "Natalya's kit" desc = "A kit containing Natalya's equipment." has_items = list( - /obj/item/weapon/implanter/reagent_generator/natalya) + /obj/item/implanter/reagent_generator/natalya) //Lena Shaw -/obj/item/weapon/storage/box/fluff/lena +/obj/item/storage/box/fluff/lena name = "Lena's kit" desc = "A kit containing Lena's equipment." has_items = list( @@ -256,15 +256,15 @@ //Eryn Wolfe / Defunct -/obj/item/weapon/storage/box/fluff/eryn +/obj/item/storage/box/fluff/eryn name = "Eryn's kit" desc = "A kit containing Eryn's equipment." has_items = list( - /obj/item/weapon/fluff/chemset) + /obj/item/fluff/chemset) //Mitsuko Jiao -/obj/item/weapon/storage/box/fluff/jiao +/obj/item/storage/box/fluff/jiao name = "Mitsuko's kit" desc = "A kit containing Mituko's equipment" has_items = list( @@ -273,11 +273,11 @@ /obj/item/clothing/under/rank/medical/fluff/jiao_uniform, /obj/item/clothing/head/beret/fluff/jiao_beret, /obj/item/clothing/shoes/boots/jackboots/fluff/jiao_boots, - /obj/item/weapon/storage/belt/medical/fluff/jiao_belt, + /obj/item/storage/belt/medical/fluff/jiao_belt, /obj/item/clothing/gloves/sterile/fluff/jiao_gloves, - /obj/item/device/modkit_conversion/fluff/jiao_anynlizer_kit/a, - /obj/item/device/modkit_conversion/fluff/jiao_anynlizer_kit/b, - /obj/item/device/modkit_conversion/fluff/jiao_anynlizer_kit/c) + /obj/item/modkit_conversion/fluff/jiao_anynlizer_kit/a, + /obj/item/modkit_conversion/fluff/jiao_anynlizer_kit/b, + /obj/item/modkit_conversion/fluff/jiao_anynlizer_kit/c) // ************ // RadiantFlash @@ -285,7 +285,7 @@ //Vasharr Zahirn -/obj/item/weapon/storage/box/fluff/vasharr +/obj/item/storage/box/fluff/vasharr name = "Vasharr's Kit" desc = "A kit containing Vasharr's equipment." has_items = list( @@ -296,15 +296,15 @@ //FrenziedVorcha / Defcunt -/obj/item/weapon/storage/box/fluff/philipsmirnov +/obj/item/storage/box/fluff/philipsmirnov name = "Psychiatric box" desc = "A kit containing various psychiatry tools" has_items = list( - /obj/item/weapon/fluff/fidgetspinner, - /obj/item/weapon/fluff/fidgetspinner/red, - /obj/item/weapon/fluff/fidgetspinner/yellow, - /obj/item/weapon/fluff/squeezetoy, - /obj/item/weapon/fluff/dimensioncube) + /obj/item/fluff/fidgetspinner, + /obj/item/fluff/fidgetspinner/red, + /obj/item/fluff/fidgetspinner/yellow, + /obj/item/fluff/squeezetoy, + /obj/item/fluff/dimensioncube) // ****** // Dushka @@ -312,7 +312,7 @@ //Saroth -/obj/item/weapon/storage/box/fluff/saroth +/obj/item/storage/box/fluff/saroth name = "Saroth's box" desc = "A kit containing Saroth's equipment." has_items = list( @@ -324,7 +324,7 @@ //M.I.S.S.Y -/obj/item/weapon/storage/box/fluff/missy +/obj/item/storage/box/fluff/missy name = "M.I.S.S.Y's box" desc = "A kit containing M.I.S.S.Y's equipment." has_items = list( @@ -332,7 +332,7 @@ //Quanah Hastings -/obj/item/weapon/storage/box/fluff/quanah +/obj/item/storage/box/fluff/quanah name = "Quanah's kit" desc = "A kit containing Quanah's equipment." has_items = list( @@ -344,7 +344,7 @@ //Maxie Drake -/obj/item/weapon/storage/box/fluff/maxie +/obj/item/storage/box/fluff/maxie name = "Maxie's box" desc = "a kit containing Maxie's equipment." has_items = list( @@ -356,7 +356,7 @@ //Noel Walsh -/obj/item/weapon/storage/box/fluff/noel +/obj/item/storage/box/fluff/noel name = "Noel's box" desc = "a kit containing Maxie's equipment." has_items = list ( @@ -370,21 +370,21 @@ // ******** //Joseph Skinner -/obj/item/weapon/storage/box/fluff/skinner +/obj/item/storage/box/fluff/skinner name = "Joseph's box" desc = "a kit containing Joseph's equipment." has_items = list ( /obj/item/clothing/mask/gas/fluff/skinner, - /obj/item/device/modkit_conversion/fluff/skinner/a, - /obj/item/device/modkit_conversion/fluff/skinner/b, - /obj/item/device/modkit_conversion/fluff/skinner/c) + /obj/item/modkit_conversion/fluff/skinner/a, + /obj/item/modkit_conversion/fluff/skinner/b, + /obj/item/modkit_conversion/fluff/skinner/c) // ******** // MASMC // ******** // Kettek Ollarch -/obj/item/weapon/storage/box/fluff/kettek +/obj/item/storage/box/fluff/kettek name = "Kettek's box" desc = "a kit containing Kettek's equipment." has_items = list ( diff --git a/code/modules/vore/fluffstuff/custom_clothes_vr.dm b/code/modules/vore/fluffstuff/custom_clothes_vr.dm index 3ae0c3b2004..69c99a21d89 100644 --- a/code/modules/vore/fluffstuff/custom_clothes_vr.dm +++ b/code/modules/vore/fluffstuff/custom_clothes_vr.dm @@ -68,7 +68,7 @@ icon_override = 'icons/vore/custom_clothes_vr.dmi' item_state = "coatroiz_mob" -/obj/item/clothing/suit/storage/hooded/wintercoat/roiz/ui_action_click() +/obj/item/clothing/suit/storage/hooded/wintercoat/roiz/ui_action_click(mob/user, actiontype) ToggleHood_roiz() /obj/item/clothing/suit/storage/hooded/wintercoat/roiz/equipped(mob/user, slot) @@ -91,10 +91,10 @@ if(ishuman(loc)) var/mob/living/carbon/human/H = loc if(H.wear_suit != src) - to_chat(H, "You must be wearing [src] to put up the hood!") + to_chat(H, span_warning("You must be wearing [src] to put up the hood!")) return if(H.head) - to_chat(H, "You're already wearing something on your head!") + to_chat(H, span_warning("You're already wearing something on your head!")) return else H.equip_to_slot_if_possible(hood,slot_head,0,0,1) @@ -219,7 +219,7 @@ item_state = "russofurcoat" armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0) - allowed = list (/obj/item/weapon/pen, /obj/item/weapon/paper, /obj/item/device/flashlight, /obj/item/weapon/tank/emergency/oxygen, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/storage/box/matches, /obj/item/weapon/reagent_containers/food/drinks/flask) + allowed = list (/obj/item/pen, /obj/item/paper, /obj/item/flashlight, /obj/item/tank/emergency/oxygen, /obj/item/storage/fancy/cigarettes, /obj/item/storage/box/matches, /obj/item/reagent_containers/food/drinks/flask) flags_inv = HIDETIE|HIDEHOLSTER //For general use @@ -236,17 +236,17 @@ blood_overlay_type = "coat" body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS allowed = list( - /obj/item/weapon/tank/emergency/oxygen, - /obj/item/device/flashlight, - /obj/item/weapon/gun/energy, - /obj/item/weapon/gun/projectile, + /obj/item/tank/emergency/oxygen, + /obj/item/flashlight, + /obj/item/gun/energy, + /obj/item/gun/projectile, /obj/item/ammo_magazine, /obj/item/ammo_casing, -// /obj/item/weapon/storage/fancy/shotgun_ammo, - /obj/item/weapon/melee/baton, - /obj/item/weapon/handcuffs, -// /obj/item/device/detective_scanner, - /obj/item/device/taperecorder) +// /obj/item/storage/fancy/shotgun_ammo, + /obj/item/melee/baton, + /obj/item/handcuffs, +// /obj/item/detective_scanner, + /obj/item/taperecorder) armor = list(melee = 50, bullet = 15, laser = 25, energy = 10, bomb = 0, bio = 0, rad = 0) var/unbuttoned = 0 @@ -306,17 +306,17 @@ blood_overlay_type = "coat" body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS allowed = list( - /obj/item/weapon/tank/emergency/oxygen, - /obj/item/device/flashlight, - /obj/item/weapon/gun/energy, - /obj/item/weapon/gun/projectile, + /obj/item/tank/emergency/oxygen, + /obj/item/flashlight, + /obj/item/gun/energy, + /obj/item/gun/projectile, /obj/item/ammo_magazine, /obj/item/ammo_casing, -// /obj/item/weapon/storage/fancy/shotgun_ammo, - /obj/item/weapon/melee/baton, - /obj/item/weapon/handcuffs, -// /obj/item/device/detective_scanner, - /obj/item/device/taperecorder) +// /obj/item/storage/fancy/shotgun_ammo, + /obj/item/melee/baton, + /obj/item/handcuffs, +// /obj/item/detective_scanner, + /obj/item/taperecorder) armor = list(melee = 50, bullet = 15, laser = 25, energy = 10, bomb = 0, bio = 0, rad = 0) //Variants @@ -547,7 +547,7 @@ //Chica Head /obj/item/clothing/head/helmet/fluff/freddy/chica - desc = span_red("LET'S EAT!") + desc = span_red(span_bold("LET'S EAT!")) icon_state = "chicahead" item_state = "chicahead_mob" @@ -565,7 +565,7 @@ gas_transfer_coefficient = 0.01 permeability_coefficient = 0.02 body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank) + allowed = list(/obj/item/flashlight,/obj/item/tank) armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS @@ -586,7 +586,7 @@ //Chica Suit /obj/item/clothing/suit/fluff/freddy/chica - desc = span_red("LET'S EAT!") + desc = span_red(span_bold("LET'S EAT!")) icon_state = "chicasuit" item_state = "chicasuit_mob" @@ -612,7 +612,7 @@ /obj/item/clothing/head/helmet/space/void/engineering/hazmat/fluff/screehelm/mob_can_equip(var/mob/living/carbon/human/H, slot, disable_warning = 0) if(..()) if(H.ckey != "scree") - to_chat(H, "Your face and whoever is meant for this helmet are too different.") + to_chat(H, span_warning("Your face and whoever is meant for this helmet are too different.")) return 0 else return 1 @@ -635,7 +635,7 @@ /obj/item/clothing/suit/space/void/engineering/hazmat/fluff/screespess/mob_can_equip(var/mob/living/carbon/human/H, slot, disable_warning = 0) if(..()) if(H.ckey != "scree") - to_chat(H, "The gloves only have three fingers, not to mention the accommodation for extra limbs.") + to_chat(H, span_warning("The gloves only have three fingers, not to mention the accommodation for extra limbs.")) return 0 else return 1 @@ -668,7 +668,9 @@ /obj/item/clothing/head/fluff/avida/mob_can_equip(var/mob/living/carbon/human/H, slot, disable_warning = 0) if(..()) - if(H.ear_style && (H.ear_style.name == "Bnnuy Ears" || H.ear_style.name == "Bnnuy Ears 2")) //check if wearer's ear sprite is compatible with trimmed icon + var/static/list/allowed_ear_names = list("Bnnuy Ears", "Bnnuy Ears 2") + //check if wearer's ear sprite is compatible with trimmed icon + if((H.ear_style?.name in allowed_ear_names) || (H.ear_secondary_style?.name in allowed_ear_names)) item_state = initial(src.item_state) else //if not, just use a generic icon item_state = "avidahatnoears" @@ -689,7 +691,7 @@ /obj/item/clothing/under/fluff/aluranevines/mob_can_equip(var/mob/living/carbon/human/H, slot, disable_warning = 0) if(..()) if(H.ckey != "natje") - to_chat(H, "Wrapping vines around yourself is a quite an... Odd idea. You decide otherwise.") + to_chat(H, span_warning("Wrapping vines around yourself is a quite an... Odd idea. You decide otherwise.")) return 0 else return 1 @@ -697,7 +699,7 @@ //HOS Hardsuit /obj/item/clothing/suit/space/void/security/fluff/hos // ToDo: Rig version. name = "\improper prototype voidsuit" - desc = "A customized security voidsuit made to match the Head of Security's obession with black. Has additional composite armor." + desc = "A customized security voidsuit made to match the " + JOB_HEAD_OF_SECURITY + "'s obession with black. Has additional composite armor." icon = 'icons/vore/custom_clothes_vr.dmi' icon_state = "rig-hos" @@ -710,7 +712,7 @@ //HOS Hardsuit Helmet /obj/item/clothing/head/helmet/space/void/security/fluff/hos // ToDo: Rig version. name = "\improper prototype voidsuit helmet" - desc = "A customized security voidsuit helmet customized to include the Head of Security's signature hat. Has additional composite armor." + desc = "A customized security voidsuit helmet customized to include the " + JOB_HEAD_OF_SECURITY + "'s signature hat. Has additional composite armor." icon = 'icons/vore/custom_clothes_vr.dmi' icon_state = "rig0-hos" @@ -732,7 +734,7 @@ icon_override = 'icons/inventory/head/mob.dmi' item_state = "hoscap" -/obj/item/weapon/storage/belt/utility/fluff/vulpine +/obj/item/storage/belt/utility/fluff/vulpine name = "vulpine belt" desc = "A tool-belt in Atmos colours." @@ -744,14 +746,14 @@ storage_slots = 9 -/obj/item/weapon/storage/belt/utility/fluff/vulpine/New() +/obj/item/storage/belt/utility/fluff/vulpine/New() ..() - new /obj/item/weapon/tool/screwdriver(src) - new /obj/item/weapon/tool/wrench(src) - new /obj/item/weapon/weldingtool(src) - new /obj/item/weapon/tool/crowbar(src) - new /obj/item/weapon/tool/wirecutters(src) - new /obj/item/device/multitool(src) + new /obj/item/tool/screwdriver(src) + new /obj/item/tool/wrench(src) + new /obj/item/weldingtool(src) + new /obj/item/tool/crowbar(src) + new /obj/item/tool/wirecutters(src) + new /obj/item/multitool(src) new /obj/item/stack/cable_coil(src, 30, "red") // molenar:Giliana Gamish @@ -783,7 +785,7 @@ light_overlay = null light_system = MOVABLE_LIGHT - action_button_name = "Toggle pom-pom" + actions_types = list(/datum/action/item_action/toggle_pom_pom) /obj/item/clothing/head/fluff/pompom/digest_act(var/atom/movable/item_storage = null) return FALSE @@ -815,22 +817,6 @@ if(H.head == src) H.update_inv_head() -/obj/item/weapon/rig/light/hacker/fluff/aronai - name = "KHI-99-AAR suit module" - suit_type = "nano" - desc = "A thin collapsable spacesuit for synths from Kitsuhana Heavy Industries." - airtight = 1 //Not because it should be airtight but because suit coolers don't work w/o it. - armor = list(melee = 25, bullet = 15, laser = 15, energy = 60, bomb = 30, bio = 70, rad = 100) - air_type = null //No O2 tank, why would it have one? - - cell_type = /obj/item/weapon/cell/hyper - req_access = list(access_medical) - - initial_modules = list( - /obj/item/rig_module/maneuvering_jets, - /obj/item/rig_module/teleporter - ) - //Viveret:Keturah /obj/item/clothing/under/dress/maid name = "Maid Outfit" @@ -854,7 +840,7 @@ /obj/item/clothing/head/helmet/space/fluff/joan/mob_can_equip(var/mob/living/carbon/human/H, slot, disable_warning = 0) if(..()) if(H.ckey != "joanrisu") - to_chat(H, "You try to fit on the helmet, but it doesn't fit.") + to_chat(H, span_warning("You try to fit on the helmet, but it doesn't fit.")) return 0 else return 1 @@ -870,7 +856,7 @@ armor = list(melee = 50, bullet = 40, laser = 45, energy = 25, bomb = 50, bio = 100, rad = 50) //These values were taken from the combat rigs and adjusted to be weaker than said rigs. slowdown = 0 - allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/melee/baton) + allowed = list(/obj/item/gun,/obj/item/flashlight,/obj/item/tank,/obj/item/suit_cooling_unit,/obj/item/melee/baton) icon = 'icons/vore/custom_clothes_vr.dmi' icon_state = "joansuit" @@ -881,7 +867,7 @@ /obj/item/clothing/suit/space/fluff/joan/mob_can_equip(var/mob/living/carbon/human/H, slot, disable_warning = 0) if(..()) if(H.ckey != "joanrisu") - to_chat(H, "You try to fit into the suit, to no avail.") + to_chat(H, span_warning("You try to fit into the suit, to no avail.")) return 0 else return 1 @@ -912,7 +898,6 @@ /obj/item/clothing/under/rank/khi name = "Delete Me" desc = "Why did you spawn this one? Dork." - //catalogue_data = list(/datum/category_item/catalogue/information/organization/khi) sensor_mode = 3 icon = 'icons/inventory/uniform/item_vr.dmi' @@ -920,44 +905,44 @@ icon_state = "khi_uniform" /obj/item/clothing/under/rank/khi/cmd //Command version - name = "KHI command suit" - desc = "Kitsuhana Heavy Industries uniform. An extra-comfortable command one, at that. I guess if you DON'T want anarchy for some reason." + name = "sleek command suit" + desc = "A sleek, neocorporate style uniform. An extra-comfortable command one, at that." icon_state = "khi_uniform_cmd" armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0) /obj/item/clothing/under/rank/khi/sec //Security version - name = "KHI security suit" - desc = "Kitsuhana Heavy Industries uniform. This one has angry red security stripes. Keepin' the peace in style." + name = "sleek security suit" + desc = "A sleek, neocorporate style uniform. This one has angry red security stripes. Keepin' the peace in style." icon_state = "khi_uniform_sec" armor = list(melee = 10, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0) /obj/item/clothing/under/rank/khi/med //Medical version - name = "KHI medical suit" - desc = "Kitsuhana Heavy Industries uniform. The medical version. Why not just get a new body, anyway?" + name = "sleek medical suit" + desc = "A sleek, neocorporate style uniform. The medical version. Why not just get a new body, anyway?" icon_state = "khi_uniform_med" armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 10, rad = 0) /obj/item/clothing/under/rank/khi/eng //Engineering version - name = "KHI engineering suit" - desc = "Kitsuhana Heavy Industries uniform. One fit for an engineer, by the looks of it. Building the future, one disaster at a time." + name = "sleek engineering suit" + desc = "A sleek, neocorporate style uniform. One fit for an engineer, by the looks of it." icon_state = "khi_uniform_eng" armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 10) /obj/item/clothing/under/rank/khi/sci //Science version - name = "KHI science suit" - desc = "Kitsuhana Heavy Industries uniform. For performing science in, based on the color! Only SCIENCE can save us now." + name = "sleek science suit" + desc = "A sleek, neocorporate style uniform. For performing science in, based on the color!" icon_state = "khi_uniform_sci" armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 10, bio = 0, rad = 0) /obj/item/clothing/under/rank/khi/crg //Cargo version - name = "KHI cargo suit" - desc = "Kitsuhana Heavy Industries uniform. Looks like it's in supply and cargo division colors. Even post-scarcity societies need things moved and mined sometimes." + name = "sleek cargo suit" + desc = "A sleek, neocorporate style uniform. Looks like it's in supply and cargo division colors. Heavy industry means heavy lifting, after all." icon_state = "khi_uniform_crg" armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0) /obj/item/clothing/under/rank/khi/civ //Science version - name = "KHI civilian suit" - desc = "Kitsuhana Heavy Industries uniform. Snazzy silver trim marks this is as the general civilian branch. Smells like paperwork and bureaucracy." + name = "sleek civilian suit" + desc = "A sleek, neocorporate style uniform. Snazzy silver trim marks this is as the general civilian branch. Smells like paperwork and bureaucracy." icon_state = "khi_uniform_civ" armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0) @@ -991,7 +976,7 @@ icon_override = 'icons/vore/custom_clothes_vr.dmi' item_state = "octavgentlecoat_mob" blood_overlay_type = "coat" - allowed = list(/obj/item/weapon/tank/emergency/oxygen, /obj/item/device/flashlight,/obj/item/weapon/gun/energy,/obj/item/weapon/gun/projectile,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/flame/lighter,/obj/item/device/taperecorder,/obj/item/device/uv_light) + allowed = list(/obj/item/tank/emergency/oxygen, /obj/item/flashlight,/obj/item/gun/energy,/obj/item/gun/projectile,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/handcuffs,/obj/item/storage/fancy/cigarettes,/obj/item/flame/lighter,/obj/item/taperecorder,/obj/item/uv_light) //bwoincognito:Octavious Ward /obj/item/clothing/under/det/fluff/octavious @@ -1129,7 +1114,7 @@ if (ismob(loc)) //should allow masks to update when it is opened/closed var/mob/M = loc M.update_inv_wear_mask() - usr.update_action_buttons() + usr.update_mob_action_buttons() //Vorrarkul: Theodora Lindt /obj/item/clothing/suit/chococoat @@ -1140,12 +1125,12 @@ item_state = "chococoat_on" icon_state = "chococoat" body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS - allowed = list (/obj/item/weapon/material/knife) + allowed = list (/obj/item/material/knife) //KiwiDaNinja: Chakat Taiga /obj/item/clothing/under/fluff/taiga name = "Taiga's F.D Uniform" - desc = "This uniform - consisting of only the uniform shirt, and built out of a soft fleece - dons the badge of Amistad Fire and Rescuse on both shoulders. The badges denote the wearer as a FF/Paramedic, and their name is embroidered in a gold thread on their right breast; Chakat Taiga! An 'official' badge is pinned to their left breast." //A walking advertisement? + desc = "This uniform - consisting of only the uniform shirt, and built out of a soft fleece - dons the badge of Amistad Fire and Rescuse on both shoulders. The badges denote the wearer as a FF/" + JOB_PARAMEDIC + ", and their name is embroidered in a gold thread on their right breast; Chakat Taiga! An 'official' badge is pinned to their left breast." //A walking advertisement? icon = 'icons/vore/custom_clothes_vr.dmi' icon_override = 'icons/vore/custom_clothes_vr.dmi' item_state = "taigaff_on" @@ -1269,12 +1254,12 @@ Departamental Swimsuits, for general use body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS permeability_coefficient = 0.50 allowed = list( - /obj/item/device/flashlight, /obj/item/device/analyzer, - /obj/item/device/radio, /obj/item/weapon/tank/emergency/oxygen, - /obj/item/weapon/reagent_containers/hypospray, /obj/item/device/healthanalyzer, - /obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/syringe, - /obj/item/weapon/reagent_containers/glass/bottle,/obj/item/weapon/reagent_containers/glass/beaker, - /obj/item/weapon/reagent_containers/pill,/obj/item/weapon/storage/pill_bottle + /obj/item/flashlight, /obj/item/analyzer, + /obj/item/radio, /obj/item/tank/emergency/oxygen, + /obj/item/reagent_containers/hypospray, /obj/item/healthanalyzer, + /obj/item/reagent_containers/dropper,/obj/item/reagent_containers/syringe, + /obj/item/reagent_containers/glass/bottle,/obj/item/reagent_containers/glass/beaker, + /obj/item/reagent_containers/pill,/obj/item/storage/pill_bottle ) armor = list(melee = 20, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 20, rad = 25) @@ -1302,7 +1287,7 @@ Departamental Swimsuits, for general use //For general use maybe /obj/item/clothing/under/batter //I guess we're going OFF limits. name = "Worn baseball outfit" - desc = "Purification in progress..." + desc = span_bold("Purification in progress...") icon = 'icons/vore/custom_clothes_vr.dmi' icon_override = 'icons/vore/custom_clothes_vr.dmi' icon_state = "batter" @@ -1320,7 +1305,7 @@ Departamental Swimsuits, for general use if(istype(H) && istype(H.tail_style, /datum/sprite_accessory/tail/taur/wolf)) return ..() else - to_chat(H, "You need to have a wolf-taur half to wear this.") + to_chat(H, span_warning("You need to have a wolf-taur half to wear this.")) return 0 //samanthafyre:Kateryna Petrovitch @@ -1337,7 +1322,7 @@ Departamental Swimsuits, for general use if(istype(H) && istype(H.tail_style, /datum/sprite_accessory/tail/taur/wolf)) return ..() else - to_chat(H, "You need to have a wolf-taur half to wear this.") + to_chat(H, span_warning("You need to have a wolf-taur half to wear this.")) return 0 //samanthafyre:Kateryna Petrovitch @@ -1367,7 +1352,7 @@ Departamental Swimsuits, for general use /obj/item/clothing/head/helmet/space/fluff/kate/mob_can_equip(var/mob/living/carbon/human/H, slot, disable_warning = 0) if(..()) if(H.ckey != "samanthafyre") - to_chat(H, "You try to fit on the helmet, but it doesn't fit.") + to_chat(H, span_warning("You try to fit on the helmet, but it doesn't fit.")) return 0 else return 1 @@ -1541,7 +1526,7 @@ Departamental Swimsuits, for general use icon_override = 'icons/vore/custom_clothes_vr.dmi' item_state = "kilanocoat_mob" -/obj/item/clothing/suit/storage/hooded/wintercoat/kilanocoat/ui_action_click() +/obj/item/clothing/suit/storage/hooded/wintercoat/kilanocoat/ui_action_click(mob/user, actiontype) ToggleHood_kilano() /obj/item/clothing/suit/storage/hooded/wintercoat/kilanocoat/equipped(mob/user, slot) @@ -1564,10 +1549,10 @@ Departamental Swimsuits, for general use if(ishuman(loc)) var/mob/living/carbon/human/H = loc if(H.wear_suit != src) - to_chat(H, "You must be wearing [src] to put up the hood!") + to_chat(H, span_warning("You must be wearing [src] to put up the hood!")) return if(H.head) - to_chat(H, "You're already wearing something on your head!") + to_chat(H, span_warning("You're already wearing something on your head!")) return else H.equip_to_slot_if_possible(hood,slot_head,0,0,1) @@ -1590,12 +1575,12 @@ Departamental Swimsuits, for general use siemens_coefficient = 0.9 //BeyondMyLife: Ne'tra Ky'ram -/obj/item/weapon/storage/backpack/messenger/sec/fluff/kilano +/obj/item/storage/backpack/messenger/sec/fluff/kilano name = "Ne'tra's security bag" desc = "A security Satchel containing Ne'tra Ky'rams Security gear." //BeyondMyLife: Ne'tra Ky'ram -/obj/item/weapon/storage/belt/security/fluff/kilano +/obj/item/storage/belt/security/fluff/kilano name = "black and gold security belt" desc = "A Black and Gold security belt, somewhat resembling something you must've seen in a comic years ago." icon = 'icons/vore/custom_clothes_vr.dmi' @@ -1685,14 +1670,14 @@ Departamental Swimsuits, for general use item_state = "kilanosuit_p_mob" //Mewchild: Phi Vietsi -/obj/item/clothing/gloves/ring/seal/signet/fluff/phi +/obj/item/clothing/accessory/ring/seal/signet/fluff/phi name = "Phi's Bone Signet Ring" desc = "A signet ring belonging to Phi, carved from the bones of something long extinct, as a ward against bad luck." icon = 'icons/vore/custom_clothes_vr.dmi' icon_state = "phi_ring" -/obj/item/clothing/gloves/ring/seal/signet/fluff/phi/change_name(var/signet_name = "Unknown") +/obj/item/clothing/accessory/ring/seal/signet/fluff/phi/change_name(var/signet_name = "Unknown") name = "[signet_name]'s Bone Signet Ring" desc = "A signet ring belonging to [signet_name], carved from the bones of something long extinct, as a ward against bad luck." @@ -1757,7 +1742,7 @@ Departamental Swimsuits, for general use /obj/item/clothing/head/helmet/space/void/security/hasd/mob_can_equip(var/mob/living/carbon/human/H, slot, disable_warning = 0) if(..()) if(H.ckey != "silencedmp5a5") - to_chat(H, "...The faceplate is clearly not made for your anatomy, thus, does not fit.") + to_chat(H, span_warning("...The faceplate is clearly not made for your anatomy, thus, does not fit.")) return 0 else return 1 @@ -1776,7 +1761,7 @@ Departamental Swimsuits, for general use if(..() && istype(H) && H.ckey == "silencedmp5a5") return 1 else - to_chat(H, "This suit is not designed for you.") + to_chat(H, span_warning("This suit is not designed for you.")) return 0 //Zigfe:Zaoozaoo Xrimxuqmqixzix @@ -1949,12 +1934,13 @@ Departamental Swimsuits, for general use icon_override = 'icons/vore/custom_clothes_vr.dmi' //CappyCat:Cappy Fuzzlyfeathers -/obj/item/clothing/accessory/watch +/obj/item/clothing/accessory/watch/custom name = "silver pocket watch" desc = "A fancy silver-plated digital pocket watch. Looks expensive." icon = 'icons/obj/deadringer.dmi' icon_state = "deadringer" w_class = ITEMSIZE_SMALL + slot = ACCESSORY_SLOT_INSIGNIA slot_flags = SLOT_ID | SLOT_BELT | SLOT_TIE //Pimientopyro:Zaku Fyodorovna @@ -2031,7 +2017,7 @@ Departamental Swimsuits, for general use if (M.ckey == "ryumi") return 1 else if (M.get_active_hand() == src) - to_chat(M, "What the heck? \The [src] doesn't fit!") + to_chat(M, span_warning("What the heck? \The [src] doesn't fit!")) return 0 /obj/item/clothing/shoes/fluff/nikki @@ -2047,10 +2033,10 @@ Departamental Swimsuits, for general use if (M.ckey == "ryumi") return 1 else if (M.get_active_hand() == src) - to_chat(M, "What the heck? \The [src] doesn't fit!") + to_chat(M, span_warning("What the heck? \The [src] doesn't fit!")) return 0 -/obj/item/clothing/suit/fluff/nikki //see /obj/item/weapon/rig/nikki +/obj/item/clothing/suit/fluff/nikki //see /obj/item/rig/nikki name = "cape" desc = "Snazzy!" flags = null @@ -2083,7 +2069,7 @@ Departamental Swimsuits, for general use flags_inv = HIDEEARS w_class = ITEMSIZE_LARGE // THIS HAT IS FUCKIN HUGE YO var/owner = "ryumi" - var/obj/item/device/perfect_tele/translocator = null // The translocator installed inside, if there is one. Gotta go out and get it first! + var/obj/item/perfect_tele/translocator = null // The translocator installed inside, if there is one. Gotta go out and get it first! /obj/item/clothing/head/fluff/nikki/verb/verb_translocator_unequip() set category = "Object" @@ -2091,7 +2077,7 @@ Departamental Swimsuits, for general use set src in usr translocator_unequip(translocator, usr) -/obj/item/clothing/head/fluff/nikki/proc/translocator_equip(var/obj/item/device/perfect_tele/T, var/mob/living/carbon/human/user) +/obj/item/clothing/head/fluff/nikki/proc/translocator_equip(var/obj/item/perfect_tele/T, var/mob/living/carbon/human/user) if (do_after(user, 2 SECONDS, T)) user.unEquip(T) translocator_unequip(translocator, user) @@ -2100,7 +2086,7 @@ Departamental Swimsuits, for general use user.show_message("[icon2html(src, user.client)]*click!*") playsound(src, 'sound/machines/click.ogg', 30, 1) -/obj/item/clothing/head/fluff/nikki/proc/translocator_unequip(var/obj/item/device/perfect_tele/T, var/mob/living/carbon/human/user) +/obj/item/clothing/head/fluff/nikki/proc/translocator_unequip(var/obj/item/perfect_tele/T, var/mob/living/carbon/human/user) if (translocator) if (user) user.put_in_hands(T) @@ -2112,27 +2098,27 @@ Departamental Swimsuits, for general use /obj/item/clothing/head/fluff/nikki/proc/teleport_fail(mob/user, mob/target) if (target != user) - user.visible_message("[user] harmlessly bops [target] with \the [src].", \ - "\The [src] harmlessly bops [target]. The hat seems... unwilling?") + user.visible_message(span_notice("[user] harmlessly bops [target] with \the [src]."), \ + span_notice("\The [src] harmlessly bops [target]. The hat seems... unwilling?")) else - user.visible_message("\The [src] flops over [user]'s' head for a moment, but they seem alright.", \ - "\The [src] flops over your head for a moment, but you correct it without issue. There we go!") + user.visible_message(span_bold("\The [src]") + " flops over [user]'s' head for a moment, but they seem alright.", \ + span_notice("\The [src] flops over your head for a moment, but you correct it without issue. There we go!")) /obj/item/clothing/head/fluff/nikki/proc/hat_warp_checks(var/mob/living/target, mob/user, proximity_flag) if (!proximity_flag) return 0 if (!translocator) - to_chat(user, "\The [src] doesn't have a translocator inside it yet, you goof!") + to_chat(user, span_warning("\The [src] doesn't have a translocator inside it yet, you goof!")) return 0 if (target.ckey == owner && target != user) // ur not getting me that easy sonny jim...... - to_chat(user, "You think to turn \the [src] on its creator?! FOOOOOOOOL.") - to_chat(user, "From seemingly nowhere you hear echoing, derisive laughter, accompanied by a stock laugh track and... Are those bike horns?") + to_chat(user, span_warning("You think to turn \the [src] on its creator?! FOOOOOOOOL.")) + to_chat(user, span_notice("From seemingly nowhere you hear echoing, derisive laughter, accompanied by a stock laugh track and... Are those bike horns?")) return 0 if (!istype(target)) - to_chat(user, "\The [src] isn't a valid target!") + to_chat(user, span_warning("\The [src] isn't a valid target!")) return 0 // Because other mobs (i.e. monkeys) apparently have dropnom prey set to 0, we check SPECIFICALLY for humans' dropnom setting. @@ -2145,14 +2131,14 @@ Departamental Swimsuits, for general use else return 1 -/obj/item/clothing/head/fluff/nikki/attackby(obj/item/weapon/I as obj, mob/user as mob) - if (istype(I, /obj/item/device/perfect_tele) && user.get_inactive_hand() == src) +/obj/item/clothing/head/fluff/nikki/attackby(obj/item/I as obj, mob/user as mob) + if (istype(I, /obj/item/perfect_tele) && user.get_inactive_hand() == src) if (translocator) - visible_message("[user] starts to pull \a [translocator] out of \the [src] to swap it out with \the [I]...", \ - "You start pulling \the [translocator] pops out of its compartment with a soft 'click' as you replace it with \the [I]....") + visible_message(span_notice("[user] starts to pull \a [translocator] out of \the [src] to swap it out with \the [I]..."), \ + span_notice("You start pulling \the [translocator] pops out of its compartment with a soft 'click' as you replace it with \the [I]....")) else - visible_message("[user] begins slipping \the [I] into \the [src]...", \ - "You begin to snap \the [I] into a small, hidden compartment inside \the [src]...") + visible_message(span_notice("[user] begins slipping \the [I] into \the [src]..."), \ + span_notice("You begin to snap \the [I] into a small, hidden compartment inside \the [src]...")) // This works for both adding and replacing a translocator translocator_equip(I, user) return @@ -2187,13 +2173,13 @@ Departamental Swimsuits, for general use translocator.attack_self(user, user) return else - to_chat(user, "\The [src] doesn't have a translocator inside it right now.") + to_chat(user, span_warning("\The [src] doesn't have a translocator inside it right now.")) return /obj/item/clothing/head/fluff/nikki/examine(mob/user) // If it has a translocator installed, make it very obvious to viewers that something WEIRD is going on with this hat. . = ..() if (translocator) - . += "Weird... You can't see the bottom of the hole inside the hat..." + . += "Weird... " + span_danger("You can't see the bottom of the hole inside the hat...") /obj/item/clothing/head/fluff/nikki/equipped(mob/living/carbon/human/user, slot) . = ..() @@ -2201,8 +2187,8 @@ Departamental Swimsuits, for general use // hey, are we actually able to teleport this poor person? if (hat_warp_checks(user, user, proximity_flag = 1)) // YOU FOOL! YOU HAVE ACTIVATED MY STAND, 「VORE BY HATã€ï¼ - src.visible_message("\The [src] falls over [user]'s head... and somehow falls over the rest of their body, causing them to vanish inside. Where did they go?!", \ - "The hat falls over your head as you put it on, enveloping you in a bright green light! Uh oh.") + src.visible_message(span_danger("\The [src] falls over [user]'s head... and somehow falls over the rest of their body, causing them to vanish inside. Where did they go?!"), \ + span_danger("The hat falls over your head as you put it on, enveloping you in a bright green light! Uh oh.")) var/uh_oh = pick(translocator.beacons) user.remove_from_mob(src, get_turf(user)) translocator.destination = translocator.beacons[uh_oh] @@ -2216,18 +2202,18 @@ Departamental Swimsuits, for general use // Silly fluffed up styles of teleporting people based on user intent. switch (user.a_intent) if (I_HELP) - user.visible_message("[user] guides \the [target] to the bottomless hole within \the [src]. They begin to climb inside...") + user.visible_message(span_notice("[user] guides \the [target] to the bottomless hole within \the [src]. They begin to climb inside...")) if (do_after(user, 5 SECONDS, target)) translocator.afterattack(target, user, proximity_flag) if (I_DISARM) - user.visible_message("[user] plops \the [src] onto \the [target]'s head!") + user.visible_message(span_danger("[user] plops \the [src] onto \the [target]'s head!")) translocator.afterattack(target, user, proximity_flag) if (I_GRAB) - user.visible_message("[user] begins stuffing [target] into \the [src]!") + user.visible_message(span_danger("[user] begins stuffing [target] into \the [src]!")) if (do_after(user, 5 SECONDS, target)) translocator.afterattack(target, user, proximity_flag) if (I_HURT) - user.visible_message("[user] swipes \the [src] over \the [target]!") + user.visible_message(span_danger("[user] swipes \the [src] over \the [target]!")) translocator.afterattack(target, user, proximity_flag) add_attack_logs(user, target, "Teleported [target] with via \the [src]'s [translocator]!") @@ -2353,7 +2339,7 @@ Departamental Swimsuits, for general use icon_override = 'icons/vore/custom_onmob_vr.dmi' item_state = "mechahood_mob" -/obj/item/clothing/suit/storage/hooded/wintercoat/fluff/mechanic/ui_action_click() +/obj/item/clothing/suit/storage/hooded/wintercoat/fluff/mechanic/ui_action_click(mob/user, actiontype) ToggleHood_mechacoat() /obj/item/clothing/suit/storage/hooded/wintercoat/fluff/mechanic/equipped(mob/user, slot) @@ -2376,10 +2362,10 @@ Departamental Swimsuits, for general use if(ishuman(loc)) var/mob/living/carbon/human/H = loc if(H.wear_suit != src) - to_chat(H, "You must be wearing [src] to put up the hood!") + to_chat(H, span_warning("You must be wearing [src] to put up the hood!")) return if(H.head) - to_chat(H, "You're already wearing something on your head!") + to_chat(H, span_warning("You're already wearing something on your head!")) return else H.equip_to_slot_if_possible(hood,slot_head,0,0,1) @@ -2411,7 +2397,7 @@ Departamental Swimsuits, for general use icon_override = 'icons/vore/custom_onmob_vr.dmi' item_state = "evelynhood_mob" -/obj/item/clothing/suit/storage/hooded/wintercoat/security/fluff/evelyn/ui_action_click() +/obj/item/clothing/suit/storage/hooded/wintercoat/security/fluff/evelyn/ui_action_click(mob/user, actiontype) ToggleHood_evelyn() /obj/item/clothing/suit/storage/hooded/wintercoat/security/fluff/evelyn/equipped(mob/user, slot) @@ -2434,10 +2420,10 @@ Departamental Swimsuits, for general use if(ishuman(loc)) var/mob/living/carbon/human/H = loc if(H.wear_suit != src) - to_chat(H, "You must be wearing [src] to put up the hood!") + to_chat(H, span_warning("You must be wearing [src] to put up the hood!")) return if(H.head) - to_chat(H, "You're already wearing something on your head!") + to_chat(H, span_warning("You're already wearing something on your head!")) return else H.equip_to_slot_if_possible(hood,slot_head,0,0,1) @@ -2505,7 +2491,7 @@ Departamental Swimsuits, for general use body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS //Shalax: Cerise Duelliste -/obj/item/weapon/storage/belt/security/fluff/cerise +/obj/item/storage/belt/security/fluff/cerise name = "champion's belt" desc = "Cerise's hard-won belt from her glory days. Her skill might have waned since then, but her renown lives on." icon_state = "champion" @@ -2635,7 +2621,7 @@ Departamental Swimsuits, for general use if (ismob(loc)) //should allow masks to update when it is opened/closed var/mob/M = loc M.update_inv_wear_mask() - usr.update_action_buttons() + usr.update_mob_action_buttons() /obj/item/clothing/suit/storage/toggle/labcoat/fluff/zeracloak name = "Grand Purple Cloak" @@ -2706,7 +2692,7 @@ Departamental Swimsuits, for general use //Halored: Mercury -/obj/item/clothing/gloves/ring/material/void_opal/fluff/mercury +/obj/item/clothing/accessory/ring/material/void_opal/fluff/mercury name = "Mercury's Mate Ring" desc = "A band of void opal, given to Mercury by Lumen" diff --git a/code/modules/vore/fluffstuff/custom_clothes_yw.dm b/code/modules/vore/fluffstuff/custom_clothes_yw.dm index cc2beb39349..b693ab960b4 100644 --- a/code/modules/vore/fluffstuff/custom_clothes_yw.dm +++ b/code/modules/vore/fluffstuff/custom_clothes_yw.dm @@ -349,7 +349,7 @@ icon_badge = "mercvest_badge" icon_nobadge = "mercvest_nobadge" -/obj/item/weapon/storage/belt/security/tactical/amara_belt +/obj/item/storage/belt/security/tactical/amara_belt name = "Mercenary belt" desc = "A sturdy military belt with a shiny buckle and a bunch of pouches." icon = 'icons/vore/custom_clothes_yw.dmi' @@ -452,7 +452,7 @@ icon_override = 'icons/vore/custom_onmob_yw.dmi' item_state = "pilotboots_mob" -/obj/item/weapon/storage/belt/utility/fluff/sam_belt +/obj/item/storage/belt/utility/fluff/sam_belt name = "Mech Pilot Belt" desc = "A white-blue toolbelt with many slots to hold tools in, seems to be made to literally be attached onto a suit." icon = 'icons/vore/custom_clothes_yw.dmi' @@ -515,7 +515,7 @@ //Raja Bastet -/obj/item/weapon/storage/belt/utility/fluff/raja_belt +/obj/item/storage/belt/utility/fluff/raja_belt name = "Mech Engineer Belt" desc = "A black-golden toolbelt with many slots to hold tools in. Also comes with a blue buckle." icon = 'icons/vore/custom_clothes_yw.dmi' @@ -907,7 +907,7 @@ blood_overlay_type = "coat" body_parts_covered = UPPER_TORSO|ARMS flags_inv = HIDEHOLSTER - allowed = list(/obj/item/device/analyzer,/obj/item/stack/medical,/obj/item/weapon/dnainjector,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/reagent_containers/hypospray,/obj/item/device/healthanalyzer,/obj/item/device/flashlight/pen,/obj/item/weapon/reagent_containers/glass/bottle,/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/pill,/obj/item/weapon/storage/pill_bottle,/obj/item/weapon/paper) + allowed = list(/obj/item/analyzer,/obj/item/stack/medical,/obj/item/dnainjector,/obj/item/reagent_containers/dropper,/obj/item/reagent_containers/syringe,/obj/item/reagent_containers/hypospray,/obj/item/healthanalyzer,/obj/item/flashlight/pen,/obj/item/reagent_containers/glass/bottle,/obj/item/reagent_containers/glass/beaker,/obj/item/reagent_containers/pill,/obj/item/storage/pill_bottle,/obj/item/paper) armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 50, rad = 0) icon = 'icons/vore/custom_clothes_yw.dmi' icon_override = 'icons/vore/custom_onmob_yw.dmi' @@ -916,7 +916,7 @@ var/hoodtype = null //so the chaplain hoodie or other hoodies can override this var/suittoggled = 0 var/hooded = 0 - action_button_name = "Toggle Hood" + actions_types = list(/datum/action/item_action/toggle_cloak_hood) icon = 'icons/vore/custom_clothes_yw.dmi' icon_override = 'icons/vore/custom_onmob_yw.dmi' @@ -1054,7 +1054,7 @@ icon_state = "jiao_boots" icon_override = 'icons/vore/custom_onmob_yw.dmi' -/obj/item/weapon/storage/belt/medical/fluff/jiao_belt +/obj/item/storage/belt/medical/fluff/jiao_belt name = "Navy medical belt" desc = "A customized medical belt to sport the navy colors of the Kanghu force." icon = 'icons/vore/custom_clothes_yw.dmi' @@ -1113,7 +1113,7 @@ //Saur Darastrix -/obj/item/weapon/storage/backpack/dufflebag/fluff/saur_dufflebag +/obj/item/storage/backpack/dufflebag/fluff/saur_dufflebag name = "Saur's Dufflebag" desc = "A large custom made dufflebag to fit snug between a pair of wings, fitted with custom purple straps and golden medical cross, with the name 'Saur Darastrix' written under it." icon = 'icons/vore/custom_clothes_yw.dmi' @@ -1552,14 +1552,14 @@ siemens_coefficient = 0.9 armor = list(melee = 30, bullet = 20, laser = 20, energy = 20, bomb = 35, bio = 75, rad = 35) // Inferior to sec vests in bullet/laser but better for environmental protection. allowed = list( - /obj/item/device/flashlight, - /obj/item/weapon/gun, + /obj/item/flashlight, + /obj/item/gun, /obj/item/ammo_magazine, - /obj/item/weapon/melee, - /obj/item/weapon/material/knife, - /obj/item/weapon/tank, - /obj/item/device/radio, - /obj/item/weapon/pickaxe + /obj/item/melee, + /obj/item/material/knife, + /obj/item/tank, + /obj/item/radio, + /obj/item/pickaxe ) /obj/item/clothing/head/hood/mocha_hood @@ -1600,7 +1600,7 @@ // ****** // Foxicide // ****** -/obj/item/weapon/storage/backpack/fluff/kaith +/obj/item/storage/backpack/fluff/kaith name = "Light duffle bag" desc = "A compact duffle bag, meant for long hikes." icon = 'icons/inventory/back/item.dmi' @@ -1668,7 +1668,7 @@ icon_state = "avigoggles" item_state = "avigoggles" icon_override = 'icons/vore/custom_onmob_yw.dmi' - action_button_name = "Flip Aviation Goggles" + actions_types = list(/datum/action/item_action/flip_aviation_goggles) item_flags = AIRTIGHT var/up = 0 @@ -1712,7 +1712,7 @@ item_state = "kbraid_outfit" body_parts_covered = UPPER_TORSO|ARMS|FEET hoodtype = /obj/item/clothing/head/hood/kbraid_hood - action_button_name = "Toggle Headphones" + actions_types = list(/datum/action/item_action/toggle_headphones) /obj/item/clothing/head/hood/kbraid_hood name = "Earphones" @@ -1747,4 +1747,4 @@ icon_state = "gear_harness_white" icon_override = 'icons/vore/custom_onmob_yw.dmi' item_state = "gear_harness_white" - body_parts_covered = 0 \ No newline at end of file + body_parts_covered = 0 diff --git a/code/modules/vore/fluffstuff/custom_implants_vr.dm b/code/modules/vore/fluffstuff/custom_implants_vr.dm index 8647c9d68f2..1ad8493b1d5 100644 --- a/code/modules/vore/fluffstuff/custom_implants_vr.dm +++ b/code/modules/vore/fluffstuff/custom_implants_vr.dm @@ -1,6 +1,6 @@ //WickedTempest: Chakat Tempest -/obj/item/weapon/implant/reagent_generator/tempest +/obj/item/implant/reagent_generator/tempest generated_reagents = list("milk" = 2) reagent_name = "milk" usable_volume = 1000 @@ -13,12 +13,12 @@ verb_name = "Milk" verb_desc = "Grab Tempest's nipples and milk them into a container! May cause blushing and groaning." -/obj/item/weapon/implanter/reagent_generator/tempest - implant_type = /obj/item/weapon/implant/reagent_generator/tempest +/obj/item/implanter/reagent_generator/tempest + implant_type = /obj/item/implant/reagent_generator/tempest //Hottokeeki: Belle Day -/obj/item/weapon/implant/reagent_generator/belle +/obj/item/implant/reagent_generator/belle generated_reagents = list("milk" = 2) reagent_name = "milk" usable_volume = 5000 @@ -31,12 +31,12 @@ verb_name = "Milk" verb_desc = "Obtain Belle's milk and put it into a container! May cause blushing and groaning, or arousal." -/obj/item/weapon/implanter/reagent_generator/belle - implant_type = /obj/item/weapon/implant/reagent_generator/belle +/obj/item/implanter/reagent_generator/belle + implant_type = /obj/item/implant/reagent_generator/belle //Gowst: Eldi Moljir //Eldi iz coolest elf-dorf. -/obj/item/weapon/implant/reagent_generator/eldi +/obj/item/implant/reagent_generator/eldi name = "lactation implant" desc = "This is an implant that allows the user to lactate." generated_reagents = list("milk" = 2) @@ -51,11 +51,11 @@ verb_name = "Milk" verb_desc = "Grab Eldi's breasts and milk her, storing her fresh, warm milk in a container. This will undoubtedly turn her on." -/obj/item/weapon/implanter/reagent_generator/eldi - implant_type = /obj/item/weapon/implant/reagent_generator/eldi +/obj/item/implanter/reagent_generator/eldi + implant_type = /obj/item/implant/reagent_generator/eldi //Vorrarkul: Theodora Lindt -/obj/item/weapon/implant/reagent_generator/vorrarkul +/obj/item/implant/reagent_generator/vorrarkul generated_reagents = list("chocolate_milk" = 2) reagent_name = "chocalate milk" usable_volume = 1000 @@ -68,11 +68,11 @@ verb_name = "Milk" verb_desc = "Grab Theodora's breasts and extract delicious chocolate milk from them!" -/obj/item/weapon/implanter/reagent_generator/vorrarkul - implant_type = /obj/item/weapon/implant/reagent_generator/vorrarkul +/obj/item/implanter/reagent_generator/vorrarkul + implant_type = /obj/item/implant/reagent_generator/vorrarkul //Lycanthorph: Savannah Dixon -/obj/item/weapon/implant/reagent_generator/savannah +/obj/item/implant/reagent_generator/savannah generated_reagents = list("milk" = 2) reagent_name = "milk" usable_volume = 1000 @@ -85,14 +85,14 @@ verb_name = "Milk" verb_desc = "Grab Savannah's breasts and extract sweet milk from them!" -/obj/item/weapon/implanter/reagent_generator/savannah - implant_type = /obj/item/weapon/implant/reagent_generator/savannah +/obj/item/implanter/reagent_generator/savannah + implant_type = /obj/item/implant/reagent_generator/savannah //SpoopyLizz: Roiz Lizden //I made this! Woo! //implant //-------------------- -/obj/item/weapon/implant/reagent_generator/roiz +/obj/item/implant/reagent_generator/roiz name = "egg laying implant" desc = "This is an implant that allows the user to lay eggs." generated_reagents = list("egg" = 2) @@ -109,14 +109,14 @@ random_emote = list("hisses softly with a blush on his face", "yelps in embarrassment", "grunts a little") assigned_proc = /mob/living/carbon/human/proc/use_reagent_implant_roiz -/obj/item/weapon/implant/reagent_generator/roiz/post_implant(mob/living/carbon/source) +/obj/item/implant/reagent_generator/roiz/post_implant(mob/living/carbon/source) START_PROCESSING(SSobj, src) - to_chat(source, "You implant [source] with \the [src].") - source.verbs |= assigned_proc + to_chat(source, span_notice("You implant [source] with \the [src].")) + add_verb(source, assigned_proc) return 1 -/obj/item/weapon/implanter/reagent_generator/roiz - implant_type = /obj/item/weapon/implant/reagent_generator/roiz +/obj/item/implanter/reagent_generator/roiz + implant_type = /obj/item/implant/reagent_generator/roiz /mob/living/carbon/human/proc/use_reagent_implant_roiz() set name = "Lay Egg" @@ -131,18 +131,18 @@ if(usr.incapacitated() || usr.stat > CONSCIOUS) return - var/obj/item/weapon/implant/reagent_generator/roiz/rimplant + var/obj/item/implant/reagent_generator/roiz/rimplant for(var/obj/item/organ/external/E in organs) - for(var/obj/item/weapon/implant/I in E.implants) - if(istype(I, /obj/item/weapon/implant/reagent_generator)) + for(var/obj/item/implant/I in E.implants) + if(istype(I, /obj/item/implant/reagent_generator)) rimplant = I break if (rimplant) if(rimplant.reagents.total_volume <= rimplant.transfer_amount) - to_chat(src, "[pick(rimplant.empty_message)]") + to_chat(src, span_notice("[pick(rimplant.empty_message)]")) return - new /obj/item/weapon/reagent_containers/food/snacks/egg/roiz(get_turf(src)) + new /obj/item/reagent_containers/food/snacks/egg/roiz(get_turf(src)) var/index = rand(0,3) @@ -150,18 +150,18 @@ var/emote = rimplant.emote_descriptor[index] var/verb_desc = rimplant.verb_descriptor[index] var/self_verb_desc = rimplant.self_verb_descriptor[index] - usr.visible_message("[usr] [verb_desc] [emote]", - "You [self_verb_desc] [emote]") + usr.visible_message(span_notice("[usr] [verb_desc] [emote]"), + span_notice("You [self_verb_desc] [emote]")) else - visible_message("[src] [pick(rimplant.short_emote_descriptor)] an egg.", - "You [pick(rimplant.self_emote_descriptor)] an egg.") + visible_message(span_notice("[src] [pick(rimplant.short_emote_descriptor)] an egg."), + span_notice("You [pick(rimplant.self_emote_descriptor)] an egg.")) if(prob(15)) - visible_message("[src] [pick(rimplant.random_emote)].") // M-mlem. + visible_message(span_notice("[src] [pick(rimplant.random_emote)].")) // M-mlem. rimplant.reagents.remove_any(rimplant.transfer_amount) //Cameron653: Jasmine Lizden -/obj/item/weapon/implant/reagent_generator/jasmine +/obj/item/implant/reagent_generator/jasmine name = "egg laying implant" desc = "This is an implant that allows the user to lay eggs." generated_reagents = list("egg" = 2) @@ -178,14 +178,14 @@ random_emote = list("hisses softly with a blush on her face", "bites down on her lower lip", "lets out a light huff") assigned_proc = /mob/living/carbon/human/proc/use_reagent_implant_jasmine -/obj/item/weapon/implant/reagent_generator/jasmine/post_implant(mob/living/carbon/source) +/obj/item/implant/reagent_generator/jasmine/post_implant(mob/living/carbon/source) START_PROCESSING(SSobj, src) - to_chat(source, "You implant [source] with \the [src].") - source.verbs |= assigned_proc + to_chat(source, span_notice("You implant [source] with \the [src].")) + add_verb(source, assigned_proc) return 1 -/obj/item/weapon/implanter/reagent_generator/jasmine - implant_type = /obj/item/weapon/implant/reagent_generator/jasmine +/obj/item/implanter/reagent_generator/jasmine + implant_type = /obj/item/implant/reagent_generator/jasmine /mob/living/carbon/human/proc/use_reagent_implant_jasmine() set name = "Lay Egg" @@ -200,18 +200,18 @@ if(usr.incapacitated() || usr.stat > CONSCIOUS) return - var/obj/item/weapon/implant/reagent_generator/jasmine/rimplant + var/obj/item/implant/reagent_generator/jasmine/rimplant for(var/obj/item/organ/external/E in organs) - for(var/obj/item/weapon/implant/I in E.implants) - if(istype(I, /obj/item/weapon/implant/reagent_generator)) + for(var/obj/item/implant/I in E.implants) + if(istype(I, /obj/item/implant/reagent_generator)) rimplant = I break if (rimplant) if(rimplant.reagents.total_volume <= rimplant.transfer_amount) - to_chat(src, "[pick(rimplant.empty_message)]") + to_chat(src, span_notice("[pick(rimplant.empty_message)]")) return - new /obj/item/weapon/reagent_containers/food/snacks/egg/roiz(get_turf(src)) + new /obj/item/reagent_containers/food/snacks/egg/roiz(get_turf(src)) var/index = rand(0,3) @@ -219,18 +219,18 @@ var/emote = rimplant.emote_descriptor[index] var/verb_desc = rimplant.verb_descriptor[index] var/self_verb_desc = rimplant.self_verb_descriptor[index] - usr.visible_message("[usr] [verb_desc] [emote]", - "You [self_verb_desc] [emote]") + usr.visible_message(span_notice("[usr] [verb_desc] [emote]"), + span_notice("You [self_verb_desc] [emote]")) else - visible_message("[src] [pick(rimplant.short_emote_descriptor)] an egg.", - "You [pick(rimplant.self_emote_descriptor)] an egg.") + visible_message(span_notice("[src] [pick(rimplant.short_emote_descriptor)] an egg."), + span_notice("You [pick(rimplant.self_emote_descriptor)] an egg.")) if(prob(15)) - visible_message("[src] [pick(rimplant.random_emote)].") + visible_message(span_notice("[src] [pick(rimplant.random_emote)].")) rimplant.reagents.remove_any(rimplant.transfer_amount) //Draycu: Schae Yonra -/obj/item/weapon/implant/reagent_generator/yonra +/obj/item/implant/reagent_generator/yonra name = "egg laying implant" desc = "This is an implant that allows the user to lay eggs." generated_reagents = list("egg" = 2) @@ -247,14 +247,14 @@ random_emote = list("hisses softly with a blush on her face", "yelps in embarrassment", "grunts a little") assigned_proc = /mob/living/carbon/human/proc/use_reagent_implant_yonra -/obj/item/weapon/implant/reagent_generator/yonra/post_implant(mob/living/carbon/source) +/obj/item/implant/reagent_generator/yonra/post_implant(mob/living/carbon/source) START_PROCESSING(SSobj, src) - to_chat(source, "You implant [source] with \the [src].") - source.verbs |= assigned_proc + to_chat(source, span_notice("You implant [source] with \the [src].")) + add_verb(source, assigned_proc) return 1 -/obj/item/weapon/implanter/reagent_generator/yonra - implant_type = /obj/item/weapon/implant/reagent_generator/yonra +/obj/item/implanter/reagent_generator/yonra + implant_type = /obj/item/implant/reagent_generator/yonra /mob/living/carbon/human/proc/use_reagent_implant_yonra() set name = "Lay Egg" @@ -269,18 +269,18 @@ if(usr.incapacitated() || usr.stat > CONSCIOUS) return - var/obj/item/weapon/implant/reagent_generator/yonra/rimplant + var/obj/item/implant/reagent_generator/yonra/rimplant for(var/obj/item/organ/external/E in organs) - for(var/obj/item/weapon/implant/I in E.implants) - if(istype(I, /obj/item/weapon/implant/reagent_generator)) + for(var/obj/item/implant/I in E.implants) + if(istype(I, /obj/item/implant/reagent_generator)) rimplant = I break if (rimplant) if(rimplant.reagents.total_volume <= rimplant.transfer_amount) - to_chat(src, "[pick(rimplant.empty_message)]") + to_chat(src, span_notice("[pick(rimplant.empty_message)]")) return - new /obj/item/weapon/reagent_containers/food/snacks/egg/teshari(get_turf(src)) + new /obj/item/reagent_containers/food/snacks/egg/teshari(get_turf(src)) var/index = rand(0,3) @@ -288,17 +288,17 @@ var/emote = rimplant.emote_descriptor[index] var/verb_desc = rimplant.verb_descriptor[index] var/self_verb_desc = rimplant.self_verb_descriptor[index] - usr.visible_message("[usr] [verb_desc] [emote]", - "You [self_verb_desc] [emote]") + usr.visible_message(span_notice("[usr] [verb_desc] [emote]"), + span_notice("You [self_verb_desc] [emote]")) else - visible_message("[src] [pick(rimplant.short_emote_descriptor)] an egg.", - "You [pick(rimplant.self_emote_descriptor)] an egg.") + visible_message(span_notice("[src] [pick(rimplant.short_emote_descriptor)] an egg."), + span_notice("You [pick(rimplant.self_emote_descriptor)] an egg.")) if(prob(15)) - visible_message("[src] [pick(rimplant.random_emote)].") + visible_message(span_notice("[src] [pick(rimplant.random_emote)].")) rimplant.reagents.remove_any(rimplant.transfer_amount) -/obj/item/weapon/reagent_containers/food/snacks/egg/teshari +/obj/item/reagent_containers/food/snacks/egg/teshari name = "teshari egg" desc = "It's a large teshari egg." icon = 'icons/vore/custom_items_vr.dmi' @@ -306,16 +306,16 @@ filling_color = "#FDFFD1" volume = 12 -/obj/item/weapon/reagent_containers/food/snacks/egg/teshari/New() +/obj/item/reagent_containers/food/snacks/egg/teshari/New() ..() reagents.add_reagent("egg", 10) bitesize = 2 -/obj/item/weapon/reagent_containers/food/snacks/egg/teshari/tesh2 +/obj/item/reagent_containers/food/snacks/egg/teshari/tesh2 icon_state = "tesh_egg_2" //Konabird: Rischi -/obj/item/weapon/implant/reagent_generator/rischi +/obj/item/implant/reagent_generator/rischi name = "egg laying implant" desc = "This is an implant that allows the user to lay eggs." generated_reagents = list("egg" = 2) @@ -332,14 +332,14 @@ random_emote = list("trembles and huffs, panting from the exertion.", "sees what has happened and covers her face with both hands!", "whimpers softly, her legs shivering, knees pointed inward from the feeling.") assigned_proc = /mob/living/carbon/human/proc/use_reagent_implant_rischi -/obj/item/weapon/implant/reagent_generator/rischi/post_implant(mob/living/carbon/source) +/obj/item/implant/reagent_generator/rischi/post_implant(mob/living/carbon/source) START_PROCESSING(SSobj, src) - to_chat(source, "You implant [source] with \the [src].") - source.verbs |= assigned_proc + to_chat(source, span_notice("You implant [source] with \the [src].")) + add_verb(source, assigned_proc) return 1 -/obj/item/weapon/implanter/reagent_generator/rischi - implant_type = /obj/item/weapon/implant/reagent_generator/rischi +/obj/item/implanter/reagent_generator/rischi + implant_type = /obj/item/implant/reagent_generator/rischi /mob/living/carbon/human/proc/use_reagent_implant_rischi() set name = "Lay Egg" @@ -354,18 +354,18 @@ if(usr.incapacitated() || usr.stat > CONSCIOUS) return - var/obj/item/weapon/implant/reagent_generator/rischi/rimplant + var/obj/item/implant/reagent_generator/rischi/rimplant for(var/obj/item/organ/external/E in organs) - for(var/obj/item/weapon/implant/I in E.implants) - if(istype(I, /obj/item/weapon/implant/reagent_generator)) + for(var/obj/item/implant/I in E.implants) + if(istype(I, /obj/item/implant/reagent_generator)) rimplant = I break if (rimplant) if(rimplant.reagents.total_volume <= rimplant.transfer_amount) - to_chat(src, "[pick(rimplant.empty_message)]") + to_chat(src, span_notice("[pick(rimplant.empty_message)]")) return - new /obj/item/weapon/reagent_containers/food/snacks/egg/teshari/tesh2(get_turf(src)) + new /obj/item/reagent_containers/food/snacks/egg/teshari/tesh2(get_turf(src)) var/index = rand(0,3) @@ -373,18 +373,18 @@ var/emote = rimplant.emote_descriptor[index] var/verb_desc = rimplant.verb_descriptor[index] var/self_verb_desc = rimplant.self_verb_descriptor[index] - usr.visible_message("[usr] [verb_desc] [emote]", - "You [self_verb_desc] [emote]") + usr.visible_message(span_notice("[usr] [verb_desc] [emote]"), + span_notice("You [self_verb_desc] [emote]")) else - visible_message("[src] falls to her knees as the urge to lay overwhelms her, letting out a whimper as she [pick(rimplant.short_emote_descriptor)] an egg from between her legs.", - "You fall to your knees as the urge to lay overwhelms you, letting out a whimper as you [pick(rimplant.self_emote_descriptor)] an egg from between your legs.") + visible_message(span_notice("[src] falls to her knees as the urge to lay overwhelms her, letting out a whimper as she [pick(rimplant.short_emote_descriptor)] an egg from between her legs."), + span_notice("You fall to your knees as the urge to lay overwhelms you, letting out a whimper as you [pick(rimplant.self_emote_descriptor)] an egg from between your legs.")) if(prob(15)) - visible_message("[src] [pick(rimplant.random_emote)].") + visible_message(span_notice("[src] [pick(rimplant.random_emote)].")) rimplant.reagents.remove_any(rimplant.transfer_amount) /* -/obj/item/weapon/implant/reagent_generator/pumila_nectar //Bugged. Two implants at once messes things up. +/obj/item/implant/reagent_generator/pumila_nectar //Bugged. Two implants at once messes things up. generated_reagents = list("honey" = 2) reagent_name = "honey" usable_volume = 5000 @@ -396,12 +396,12 @@ verb_name = "Extract Honey" verb_desc = "Obtain pumila's nectar and put it into a container!" -/obj/item/weapon/implanter/reagent_generator/pumila_nectar - implant_type = /obj/item/weapon/implant/reagent_generator/pumila_nectar +/obj/item/implanter/reagent_generator/pumila_nectar + implant_type = /obj/item/implant/reagent_generator/pumila_nectar */ //Egg item //------------- -/obj/item/weapon/reagent_containers/food/snacks/egg/roiz +/obj/item/reagent_containers/food/snacks/egg/roiz name = "lizard egg" desc = "It's a large lizard egg." icon = 'icons/vore/custom_items_vr.dmi' @@ -409,21 +409,21 @@ filling_color = "#FDFFD1" volume = 12 -/obj/item/weapon/reagent_containers/food/snacks/egg/roiz/New() +/obj/item/reagent_containers/food/snacks/egg/roiz/New() ..() reagents.add_reagent("egg", 9) bitesize = 2 -/obj/item/weapon/reagent_containers/food/snacks/egg/roiz/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype( W, /obj/item/weapon/pen/crayon )) - var/obj/item/weapon/pen/crayon/C = W +/obj/item/reagent_containers/food/snacks/egg/roiz/attackby(obj/item/W as obj, mob/user as mob) + if(istype( W, /obj/item/pen/crayon )) + var/obj/item/pen/crayon/C = W var/clr = C.colourName if(!(clr in list("blue","green","mime","orange","purple","rainbow","red","yellow"))) - to_chat(user, "The egg refuses to take on this color!") + to_chat(user, span_warning("The egg refuses to take on this color!")) return - to_chat(user, "You color \the [src] [clr]") + to_chat(user, span_notice("You color \the [src] [clr]")) icon_state = "egg_roiz_[clr]" desc = "It's a large lizard egg. It has been colored [clr]!" if (clr == "rainbow") @@ -432,31 +432,31 @@ else ..() -/obj/item/weapon/reagent_containers/food/snacks/friedegg/roiz +/obj/item/reagent_containers/food/snacks/friedegg/roiz name = "fried lizard egg" desc = "A large, fried lizard egg, with a touch of salt and pepper. It looks rather chewy." icon = 'icons/vore/custom_items_vr.dmi' icon_state = "friedegg" volume = 12 -/obj/item/weapon/reagent_containers/food/snacks/friedegg/roiz/New() +/obj/item/reagent_containers/food/snacks/friedegg/roiz/New() ..() reagents.add_reagent("protein", 9) bitesize = 2 -/obj/item/weapon/reagent_containers/food/snacks/boiledegg/roiz +/obj/item/reagent_containers/food/snacks/boiledegg/roiz name = "boiled lizard egg" desc = "A hard boiled lizard egg. Be careful, a lizard detective may hatch!" icon = 'icons/vore/custom_items_vr.dmi' icon_state = "egg_roiz" volume = 12 -/obj/item/weapon/reagent_containers/food/snacks/boiledegg/roiz/New() +/obj/item/reagent_containers/food/snacks/boiledegg/roiz/New() ..() reagents.add_reagent("protein", 6) bitesize = 2 -/obj/item/weapon/reagent_containers/food/snacks/chocolateegg/roiz +/obj/item/reagent_containers/food/snacks/chocolateegg/roiz name = "chocolate lizard egg" desc = "Such huge, sweet, fattening food. You feel gluttonous just looking at it." icon = 'icons/vore/custom_items_vr.dmi' @@ -466,7 +466,7 @@ nutriment_desc = list("chocolate" = 5) volume = 18 -/obj/item/weapon/reagent_containers/food/snacks/chocolateegg/roiz/New() +/obj/item/reagent_containers/food/snacks/chocolateegg/roiz/New() ..() reagents.add_reagent("sugar", 6) reagents.add_reagent("coco", 6) @@ -474,7 +474,7 @@ bitesize = 2 //SilverTalisman: Evian -/obj/item/weapon/implant/reagent_generator/evian +/obj/item/implant/reagent_generator/evian emote_descriptor = list("an egg right out of Evian's lower belly!", "into Evian' belly firmly, forcing him to lay an egg!", "Evian really tight, who promptly lays an egg!") var/verb_descriptor = list("squeezes", "pushes", "hugs") var/self_verb_descriptor = list("squeeze", "push", "hug") @@ -483,14 +483,14 @@ random_emote = list("hisses softly with a blush on his face", "yelps in embarrassment", "grunts a little") assigned_proc = /mob/living/carbon/human/proc/use_reagent_implant_evian -/obj/item/weapon/implant/reagent_generator/evian/post_implant(mob/living/carbon/source) +/obj/item/implant/reagent_generator/evian/post_implant(mob/living/carbon/source) START_PROCESSING(SSobj, src) - to_chat(source, "You implant [source] with \the [src].") - source.verbs |= assigned_proc + to_chat(source, span_notice("You implant [source] with \the [src].")) + add_verb(source, assigned_proc) return 1 -/obj/item/weapon/implanter/reagent_generator/evian - implant_type = /obj/item/weapon/implant/reagent_generator/evian +/obj/item/implanter/reagent_generator/evian + implant_type = /obj/item/implant/reagent_generator/evian /mob/living/carbon/human/proc/use_reagent_implant_evian() set name = "Lay Egg" @@ -505,18 +505,18 @@ if(usr.incapacitated() || usr.stat > CONSCIOUS) return - var/obj/item/weapon/implant/reagent_generator/evian/rimplant + var/obj/item/implant/reagent_generator/evian/rimplant for(var/obj/item/organ/external/E in organs) - for(var/obj/item/weapon/implant/I in E.implants) - if(istype(I, /obj/item/weapon/implant/reagent_generator)) + for(var/obj/item/implant/I in E.implants) + if(istype(I, /obj/item/implant/reagent_generator)) rimplant = I break if (rimplant) if(rimplant.reagents.total_volume <= rimplant.transfer_amount) - to_chat(src, "[pick(rimplant.empty_message)]") + to_chat(src, span_notice("[pick(rimplant.empty_message)]")) return - new /obj/item/weapon/reagent_containers/food/snacks/egg/roiz/evian(get_turf(src)) //Roiz/evian so it gets all the functionality + new /obj/item/reagent_containers/food/snacks/egg/roiz/evian(get_turf(src)) //Roiz/evian so it gets all the functionality var/index = rand(0,3) @@ -524,24 +524,24 @@ var/emote = rimplant.emote_descriptor[index] var/verb_desc = rimplant.verb_descriptor[index] var/self_verb_desc = rimplant.self_verb_descriptor[index] - usr.visible_message("[usr] [verb_desc] [emote]", - "You [self_verb_desc] [emote]") + usr.visible_message(span_notice("[usr] [verb_desc] [emote]"), + span_notice("You [self_verb_desc] [emote]")) else - visible_message("[src] [pick(rimplant.short_emote_descriptor)] an egg.", - "You [pick(rimplant.self_emote_descriptor)] an egg.") + visible_message(span_notice("[src] [pick(rimplant.short_emote_descriptor)] an egg."), + span_notice("You [pick(rimplant.self_emote_descriptor)] an egg.")) if(prob(15)) - visible_message("[src] [pick(rimplant.random_emote)].") // M-mlem. + visible_message(span_notice("[src] [pick(rimplant.random_emote)].")) // M-mlem. rimplant.reagents.remove_any(rimplant.transfer_amount) -/obj/item/weapon/reagent_containers/food/snacks/egg/roiz/evian +/obj/item/reagent_containers/food/snacks/egg/roiz/evian name = "dragon egg" desc = "A quite large dragon egg!" icon_state = "egg_roiz_yellow" -/obj/item/weapon/reagent_containers/food/snacks/egg/roiz/evian/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype( W, /obj/item/weapon/pen/crayon)) //No coloring these ones! +/obj/item/reagent_containers/food/snacks/egg/roiz/evian/attackby(obj/item/W as obj, mob/user as mob) + if(istype( W, /obj/item/pen/crayon)) //No coloring these ones! return else ..() diff --git a/code/modules/vore/fluffstuff/custom_items_vr.dm b/code/modules/vore/fluffstuff/custom_items_vr.dm index ff86300a368..79c18b3aa06 100644 --- a/code/modules/vore/fluffstuff/custom_items_vr.dm +++ b/code/modules/vore/fluffstuff/custom_items_vr.dm @@ -13,7 +13,7 @@ /* TEMPLATE //ckey:Character Name -/obj/item/weapon/fluff/charactername +/obj/item/fluff/charactername name = "" desc = "" @@ -27,7 +27,7 @@ //For general use //YW EDITS START: EXTENSIVELY MODIFIED -KK -/obj/item/device/modkit_conversion +/obj/item/modkit_conversion name = "modification kit" desc = "A kit containing all the needed tools and parts to modify a suit and helmet." icon = 'icons/vore/custom_items_vr.dmi' @@ -52,7 +52,7 @@ var/delete_on_empty = FALSE //do we self-delete when emptied? //Conversion proc -/obj/item/device/modkit_conversion/afterattack(obj/O, mob/user as mob) +/obj/item/modkit_conversion/afterattack(obj/O, mob/user as mob) var/cost var/to_type var/keycheck @@ -62,10 +62,10 @@ if(istype(O,/obj/item/clothing/suit/space/void/) && !can_repair) //check if we're a voidsuit and if we're allowed to repair var/obj/item/clothing/suit/space/void/SS = O if(LAZYLEN(SS.breaches)) - to_chat(user, "You should probably repair that before you start tinkering with it.") + to_chat(user, span_warning("You should probably repair that before you start tinkering with it.")) return if(O.blood_DNA || O.contaminated) //check if we're bloody or gooey or whatever, so modkits can't be used to hide crimes easily. - to_chat(user, "You should probably clean that up before you start tinkering with it.") + to_chat(user, span_warning("You should probably clean that up before you start tinkering with it.")) return //we have to check that it's not the original type first, because otherwise it might convert wrong based on pathing; the subtype can still count as the basetype if(istype(O,to_helmet) && can_revert) @@ -75,7 +75,7 @@ cost = to_suit_cost to_type = from_suit else if(!can_revert && (istype(O,to_helmet) || istype (O,to_suit))) - to_chat(user, "This kit doesn't seem to have the tools necessary to revert changes to modified items.") + to_chat(user, span_warning("This kit doesn't seem to have the tools necessary to revert changes to modified items.")) return else if(istype(O,from_helmet)) cost = from_helmet_cost @@ -89,23 +89,23 @@ to_chat(user, "This kit doesn't seem to have any tools or parts for whatever you're trying to use it on.") //new error message return if(!isturf(O.loc)) - to_chat(user, "You need to put \the [O] on the ground, a table, or other worksurface before modifying it.") + to_chat(user, span_warning("You need to put \the [O] on the ground, a table, or other worksurface before modifying it.")) return if(!skip_content_check && O.contents.len) //check if we're loaded/modified, in the event of gun/suit kits, to avoid purging stuff like ammo, badges, armbands, or suit helmets - to_chat(user, "You should probably remove any attached items or loaded ammunition before trying to modify that!") + to_chat(user, span_warning("You should probably remove any attached items or loaded ammunition before trying to modify that!")) return if(cost > parts) - to_chat(user, "The kit doesn't have enough parts left to modify that.") + to_chat(user, span_warning("The kit doesn't have enough parts left to modify that.")) if(can_revert && ((to_helmet_cost || to_suit_cost) < 0)) - to_chat(user, " You can recover parts by using the kit on an already-modified item.") + to_chat(user, span_notice(" You can recover parts by using the kit on an already-modified item.")) return if(keycheck && owner_ckey) //check if we're supposed to care if(user.ckey != owner_ckey) //ERROR: UNAUTHORIZED USER - to_chat(user, "You probably shouldn't mess with all these strange tools and parts...") //give them a slightly fluffy explanation as to why it didn't work + to_chat(user, span_warning("You probably shouldn't mess with all these strange tools and parts...")) //give them a slightly fluffy explanation as to why it didn't work return playsound(src, 'sound/items/Screwdriver.ogg', 100, 1) var/obj/N = new to_type(O.loc) - user.visible_message("[user] opens \the [src] and modifies \the [O] into \the [N].","You open \the [src] and modify \the [O] into \the [N].") + user.visible_message(span_notice("[user] opens \the [src] and modifies \the [O] into \the [N]."),span_notice("You open \the [src] and modify \the [O] into \the [N].")) //crude, but transfer prints and fibers to avoid forensics abuse, same as the bloody/gooey check above N.fingerprints = O.fingerprints @@ -116,23 +116,23 @@ //transfer logic could technically be made more thorough and handle stuff like helmet/boots/tank vars for suits, but in those cases you should be removing the items first anyway if(skip_content_check && transfer_contents) N.contents = O.contents - if(istype(N,/obj/item/weapon/gun/projectile/)) - var/obj/item/weapon/gun/projectile/NN = N - var/obj/item/weapon/gun/projectile/OO = O + if(istype(N,/obj/item/gun/projectile/)) + var/obj/item/gun/projectile/NN = N + var/obj/item/gun/projectile/OO = O NN.magazine_type = OO.magazine_type NN.ammo_magazine = OO.ammo_magazine - if(istype(N,/obj/item/weapon/gun/energy/)) - var/obj/item/weapon/gun/energy/NE = N - var/obj/item/weapon/gun/energy/OE = O + if(istype(N,/obj/item/gun/energy/)) + var/obj/item/gun/energy/NE = N + var/obj/item/gun/energy/OE = O NE.cell_type = OE.cell_type else - if(istype(N,/obj/item/weapon/gun/projectile/)) - var/obj/item/weapon/gun/projectile/NM = N + if(istype(N,/obj/item/gun/projectile/)) + var/obj/item/gun/projectile/NM = N NM.contents = list() NM.magazine_type = null NM.ammo_magazine = null - if(istype(N,/obj/item/weapon/gun/energy/)) - var/obj/item/weapon/gun/energy/NO = N + if(istype(N,/obj/item/gun/energy/)) + var/obj/item/gun/energy/NO = N NO.contents = list() NO.cell_type = null @@ -143,7 +143,7 @@ //YW EDITS END //DEBUG ITEM -/obj/item/device/modkit_conversion/fluff/debug_gunkit +/obj/item/modkit_conversion/fluff/debug_gunkit name = "Gun Transformation Kit" desc = "A kit containing all the needed tools and fabric to modify one sidearm to another." skip_content_check = FALSE @@ -152,19 +152,19 @@ icon = 'icons/vore/custom_items_vr.dmi' icon_state = "harmony_kit" - from_helmet = /obj/item/weapon/gun/energy/laser - to_helmet = /obj/item/weapon/gun/energy/retro + from_helmet = /obj/item/gun/energy/laser + to_helmet = /obj/item/gun/energy/retro //DEBUG ITEM ENDS //JoanRisu:Joan Risu -/obj/item/weapon/flame/lighter/zippo/fluff/joan +/obj/item/flame/lighter/zippo/fluff/joan name = "Federation Zippo Lighter" desc = "A red zippo lighter with the United Federation Logo on it." icon = 'icons/vore/custom_items_vr.dmi' icon_state = "joanzip" //JoanRisu:Joan Risu -/obj/item/weapon/sword/fluff/joanaria +/obj/item/sword/fluff/joanaria name = "Aria" desc = "A beautifully crafted rapier owned by Joan Risu. It has a thin blade and is used for quick attacks." icon = 'icons/vore/custom_items_vr.dmi' @@ -178,29 +178,29 @@ hitsound = 'sound/weapons/bladeslice.ogg' -/obj/item/weapon/sword/fluff/joanaria/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack") +/obj/item/sword/fluff/joanaria/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack") if(default_parry_check(user, attacker, damage_source) && prob(75)) - user.visible_message("\The [user] parries [attack_text] with \the [src]!") + user.visible_message(span_danger("\The [user] parries [attack_text] with \the [src]!")) playsound(src, 'sound/weapons/punchmiss.ogg', 50, 1) return 1 return 0 //joanrisu:Katarina Eine -/obj/item/weapon/material/knife/tacknife/combatknife/fluff/katarina +/obj/item/material/knife/tacknife/combatknife/fluff/katarina name = "tactical Knife" desc = "A tactical knife with a small butterly engraved on the blade." -/obj/item/weapon/material/knife/tacknife/combatknife/fluff/katarina/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack") +/obj/item/material/knife/tacknife/combatknife/fluff/katarina/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack") if(default_parry_check(user, attacker, damage_source) && prob(75)) - user.visible_message("\The [user] parries [attack_text] with \the [src]!") + user.visible_message(span_danger("\The [user] parries [attack_text] with \the [src]!")) playsound(src, 'sound/weapons/punchmiss.ogg', 50, 1) return 1 return 0 //For General use -/obj/item/weapon/sword/fluff/joanaria/scisword +/obj/item/sword/fluff/joanaria/scisword name = "Scissor Blade" desc = "A sword that can not only cut down your enemies, it can also cut fabric really neatly" icon = 'icons/vore/custom_items_vr.dmi' @@ -209,7 +209,7 @@ //john.wayne9392:Harmony Prechtl -/obj/item/weapon/twohanded/fireaxe/fluff/mjollnir +/obj/item/twohanded/fireaxe/fluff/mjollnir name = "Mjollnir" desc = "Large hammer that looks like it can do a great deal of damage if properly used." icon = 'icons/vore/custom_items_vr.dmi' @@ -218,7 +218,7 @@ attack_verb = list("attacked", "hammered", "smashed", "slammed", "crushed") //JoanRisu:Joan Risu -/obj/item/weapon/card/id/centcom/station/fluff/joanbadge +/obj/item/card/id/centcom/station/fluff/joanbadge name = "Faded Badge" desc = "A faded badge, backed with leather, that reads 'NT Security Force' across the front." icon = 'icons/vore/custom_items_vr.dmi' @@ -227,26 +227,26 @@ assignment = "Centcom Officer" -/obj/item/weapon/card/id/centcom/station/fluff/joanbadge/attack_self(mob/user as mob) +/obj/item/card/id/centcom/station/fluff/joanbadge/attack_self(mob/user as mob) if(isliving(user)) - user.visible_message("[user] flashes their golden security badge.\nIt reads:NT Security.","You display the faded badge.\nIt reads: NT Security.") + user.visible_message(span_warning("[user] flashes their golden security badge.\nIt reads:NT Security."),span_warning("You display the faded badge.\nIt reads: NT Security.")) -/obj/item/weapon/card/id/centcom/station/fluff/joanbadge/attack(mob/living/carbon/human/M, mob/living/user) +/obj/item/card/id/centcom/station/fluff/joanbadge/attack(mob/living/carbon/human/M, mob/living/user) if(isliving(user)) - user.visible_message("[user] invades [M]'s personal space, thrusting [src] into their face insistently.","You invade [M]'s personal space, thrusting [src] into their face insistently.") + user.visible_message(span_warning("[user] invades [M]'s personal space, thrusting [src] into their face insistently."),span_warning("You invade [M]'s personal space, thrusting [src] into their face insistently.")) //JoanRisu:Joan Risu -/obj/item/device/pda/heads/hos/joanpda +/obj/item/pda/heads/hos/joanpda icon = 'icons/vore/custom_items_vr.dmi' icon_state = "pda-joan" //Vorrarkul:Lucina Dakarim -/obj/item/device/pda/heads/cmo/fluff/lucinapda +/obj/item/pda/heads/cmo/fluff/lucinapda icon = 'icons/vore/custom_items_vr.dmi' icon_state = "pda-lucina" //john.wayne9392:Harmony Prechtl -/obj/item/device/modkit_conversion/fluff/harmonyspace +/obj/item/modkit_conversion/fluff/harmonyspace name = "Harmony's captain space suit modkit" desc = "A kit containing all the needed tools and parts to modify a Captain's hardsuit. It has green and yellow parts inside." @@ -259,7 +259,7 @@ to_suit = /obj/item/clothing/suit/armor/captain/fluff/harmsuit //john.wayne9392:Harmony Prechtl -/obj/item/device/modkit_conversion/fluff/harmonysuit +/obj/item/modkit_conversion/fluff/harmonysuit name = "Harmony's captain suit modkit" desc = "A sewing kit containing all the needed tools and fabric to modify a Captain's suit and hat. It has green and yellow fabrics inside." @@ -272,7 +272,7 @@ to_suit = /obj/item/clothing/under/rank/captain/fluff/harmuniform //scree:Scree -/obj/item/device/modkit_conversion/fluff/screekit +/obj/item/modkit_conversion/fluff/screekit name = "Scree's hardsuit modification kit" desc = "A kit containing all the needed tools and parts to modify a hardsuit for a specific user. This one looks like it's fitted for a winged creature." @@ -285,7 +285,7 @@ to_suit = /obj/item/clothing/suit/space/void/engineering/hazmat/fluff/screespess //General Use -/obj/item/weapon/flag +/obj/item/flag name = "Nanotrasen Banner" desc = "I pledge allegiance to the flag of a megacorporation in space." @@ -295,16 +295,16 @@ icon_override = 'icons/vore/custom_items_vr.dmi' item_state = "Flag_Nanotrasen_mob" -/obj/item/weapon/flag/attack_self(mob/user as mob) +/obj/item/flag/attack_self(mob/user as mob) if(isliving(user)) - user.visible_message("[user] waves their Banner around!","You wave your Banner around.") + user.visible_message(span_warning("[user] waves their Banner around!"),span_warning("You wave your Banner around.")) -/obj/item/weapon/flag/attack(mob/living/carbon/human/M, mob/living/user) +/obj/item/flag/attack(mob/living/carbon/human/M, mob/living/user) if(isliving(user)) - user.visible_message("[user] invades [M]'s personal space, thrusting [src] into their face insistently.","You invade [M]'s personal space, thrusting [src] into their face insistently.") + user.visible_message(span_warning("[user] invades [M]'s personal space, thrusting [src] into their face insistently."),span_warning("You invade [M]'s personal space, thrusting [src] into their face insistently.")) -/obj/item/weapon/flag/federation +/obj/item/flag/federation name = "Federation Banner" desc = "Space, The Final Frontier. Sorta. Just go with it and say the damn oath." @@ -314,7 +314,7 @@ icon_override = 'icons/vore/custom_items_vr.dmi' item_state = "flag_federation_mob" -/obj/item/weapon/flag/xcom +/obj/item/flag/xcom name = "Alien Combat Command Banner" desc = "A banner bearing the symbol of a task force fighting an unknown alien power." @@ -324,7 +324,7 @@ icon_override = 'icons/vore/custom_items_vr.dmi' item_state = "flag_xcom_mob" -/obj/item/weapon/flag/advent +/obj/item/flag/advent name = "ALIEN Coalition Banner" desc = "A banner belonging to traitors who work for an unknown alien power." @@ -346,7 +346,7 @@ icon_override = 'icons/vore/custom_items_vr.dmi' //zodiacshadow: Nehi Maximus -/obj/item/device/radio/headset/fluff/zodiacshadow +/obj/item/radio/headset/fluff/zodiacshadow name = "Nehi's 'phones" desc = "A pair of old-fashioned purple headphones for listening to music that also double as an NT-approved headset; they connect nicely to any standard PDA. One side is engraved with the letters NEHI, the other having an elaborate inscription of the words \"My voice is my weapon of choice\" in a fancy font. A modern polymer allows switching between modes to either allow one to hear one's surroundings or to completely block them out." @@ -365,7 +365,7 @@ icon_state = "silver" // OrbisA: Richard D'angelo -/obj/item/weapon/melee/fluff/holochain +/obj/item/melee/fluff/holochain name = "Holographic Chain" desc = "A High Tech solution to simple perversions. It has a red leather handle and the initials R.D. on the silver base." @@ -384,41 +384,41 @@ attack_verb = list("flogged", "whipped", "lashed", "disciplined", "chastised", "flayed") //General use -/obj/item/weapon/melee/fluff/holochain/mass +/obj/item/melee/fluff/holochain/mass desc = "A mass produced version of the original. It has faux leather and an aluminium base, but still stings like the original." force = 8 attack_verb = list("flogged", "whipped", "lashed", "flayed") // joey4298:Emoticon -/obj/item/device/fluff/id_kit_mime +/obj/item/fluff/id_kit_mime name = "Mime ID reprinter" desc = "Stick your ID in one end and it'll print a new ID out the other!" icon = 'icons/obj/bureaucracy.dmi' icon_state = "labeler1" -/obj/item/device/fluff/id_kit_mime/afterattack(obj/O, mob/user as mob) +/obj/item/fluff/id_kit_mime/afterattack(obj/O, mob/user as mob) var/new_icon = "mime" - if(istype(O,/obj/item/weapon/card/id) && O.icon_state != new_icon) + if(istype(O,/obj/item/card/id) && O.icon_state != new_icon) //O.icon = icon // just in case we're using custom sprite paths with fluff items. O.icon_state = new_icon // Changes the icon without changing the access. playsound(src, 'sound/items/polaroid2.ogg', 100, 1) - user.visible_message(" [user] reprints their ID.") + user.visible_message(span_warning(" [user] reprints their ID.")) qdel(src) else if(O.icon_state == new_icon) - to_chat(user, "[O] already has been reprinted.") + to_chat(user, span_notice("[O] already has been reprinted.")) return else - to_chat(user, "This isn't even an ID card you idiot.") + to_chat(user, span_warning("This isn't even an ID card you idiot.")) return //arokha:Aronai Sieyes - Centcom ID (Medical dept) -/obj/item/weapon/card/id/centcom/station/fluff/aronai +/obj/item/card/id/centcom/station/fluff/aronai registered_name = "CONFIGURE ME" assignment = "CC Medical" var/configured = 0 -/obj/item/weapon/card/id/centcom/station/fluff/aronai/attack_self(mob/user as mob) +/obj/item/card/id/centcom/station/fluff/aronai/attack_self(mob/user as mob) if(configured) return ..() @@ -426,10 +426,10 @@ if(user.mind && user.mind.initial_account) associated_account_number = user.mind.initial_account.account_number configured = 1 - to_chat(user, "Card settings set.") + to_chat(user, span_notice("Card settings set.")) //Swat43:Fortune Bloise -/obj/item/weapon/storage/backpack/satchel/fluff/swat43bag +/obj/item/storage/backpack/satchel/fluff/swat43bag name = "Coloured Satchel" desc = "That's a coloured satchel with red stripes, with a heart and ripley logo on each side." icon = 'icons/vore/custom_items_vr.dmi' @@ -461,7 +461,7 @@ if(istype(H) && istype(H.tail_style, /datum/sprite_accessory/tail/taur/wolf)) return ..() else - to_chat(H, "You need to have a wolf-taur half to wear this.") + to_chat(H, span_warning("You need to have a wolf-taur half to wear this.")) return 0 /obj/item/clothing/head/serdyhelmet //SilencedMP5A5's specialty helmet. @@ -486,7 +486,7 @@ //SilencedMP5A5:Serdykov Antoz -/obj/item/device/modkit_conversion/fluff/serdykit +/obj/item/modkit_conversion/fluff/serdykit name = "Serdykov's armor modification kit" desc = "A kit containing all the needed tools and parts to modify a armor vest and helmet for a specific user. This one looks like it's fitted for a wolf-taur." @@ -548,24 +548,24 @@ /obj/item/clothing/accessory/collar/khcrystal/attack_self(mob/user as mob) if(state > 0) //Can't re-pair, one time only, for security reasons. - to_chat(user, "The [name] doesn't do anything.") + to_chat(user, span_notice("The [name] doesn't do anything.")) return 0 owner = user //We're paired to this guy owner_c = user.client //This is his client update_state(1) - to_chat(user, "The [name] glows pleasantly blue.") + to_chat(user, span_notice("The [name] glows pleasantly blue.")) START_PROCESSING(SSobj, src) /obj/item/clothing/accessory/collar/khcrystal/proc/check_owner() //He's dead, jim if((state == 1) && owner && (owner.stat == DEAD)) update_state(2) - visible_message("The [name] begins flashing red.") + visible_message(span_warning("The [name] begins flashing red.")) sleep(30) - visible_message("The [name] shatters into dust!") + visible_message(span_warning("The [name] shatters into dust!")) if(owner_c) - to_chat(owner_c, "A signal is sent notifying of your demise by \the [name].") + to_chat(owner_c, span_notice("A signal is sent notifying of your demise by \the [name].")) //YW EDIT - Cebutris update_state(3) name = "broken [initial(name)]" desc = "This seems like a necklace, but the actual pendant is missing." @@ -575,9 +575,9 @@ icon_state = "[initial(icon_state)][tostate]" update_icon() -/obj/item/weapon/paper/khcrystal_manual - name = "NT-LC91-1 manual" - info = {"

      NT-LC91-1 Life Crystal

      +/obj/item/paper/khcrystal_manual + name = "VM-LC91-1 manual" + info = {"

      VM-LC91-1 Life Crystal

      Usage
      1. Hold unlinked crystal in hand.
      2. @@ -586,8 +586,8 @@

      Purpose
      -

      The NanoTrasen Life Crystal is a small device typically worn around the neck for the purpose of reporting your status to the off-world mind and body backup systems, so that appropriate measures can be taken in the case of your body's demise. The whole device is housed inside a pleasing-to-the-eye elongated quartz crystal.

      -

      Upon your body's desmise, the crystal will send a transmission to the location specified in your employee file.

      +

      The Vey-Medical Life Crystal is a small device typically worn around the neck for the purpose of reporting your status to the HAVENS (High-AVailability ENgram Storage) system, so that appropriate measures can be taken in the case of your body's demise. The whole device is housed inside a pleasing-to-the-eye elongated diamond.

      +

      Upon your body's demise, the crystal will send a transmission to HAVENS. Depending on your membership level, the appropriate actions can be taken to ensure that you are back up and enjoying existence as soon as possible.

      While NanoTrasen distributes these devices to their employees for free, they do not provide revival services with the crystals. It is the employee's responsibility to either negotiate a service with NanoTrasen or from other companies that provide the service.


      @@ -607,23 +607,23 @@ \[AM WARNING\]

      This device contains antimatter. Please consult all local regulations when travelling to ensure compliance with local laws.

      "} -/obj/item/weapon/storage/box/khcrystal +/obj/item/storage/box/khcrystal name = "life crystal case" icon = 'icons/vore/custom_items_vr.dmi' icon_state = "khlifebox" - desc = "This case can only hold the NT-LC91-1 and a manual." + desc = "This case can only hold the VM-LC91-1 and a manual." item_state_slots = list(slot_r_hand_str = "syringe_kit", slot_l_hand_str = "syringe_kit") storage_slots = 2 - can_hold = list(/obj/item/weapon/paper/khcrystal_manual, /obj/item/clothing/accessory/collar/khcrystal) + can_hold = list(/obj/item/paper/khcrystal_manual, /obj/item/clothing/accessory/collar/khcrystal) max_storage_space = ITEMSIZE_COST_SMALL * 2 w_class = ITEMSIZE_SMALL -/obj/item/weapon/storage/box/khcrystal/New() +/obj/item/storage/box/khcrystal/New() ..() - new /obj/item/weapon/paper/khcrystal_manual(src) + new /obj/item/paper/khcrystal_manual(src) new /obj/item/clothing/accessory/collar/khcrystal(src) -/obj/item/weapon/cane/fluff +/obj/item/cane/fluff name = "cane" desc = "A cane used by a true gentlemen. Or a clown." icon = 'icons/vore/custom_items_vr.dmi' @@ -636,37 +636,37 @@ matter = list(MAT_STEEL = 50) attack_verb = list("bludgeoned", "whacked", "disciplined", "thrashed") -/obj/item/weapon/cane/fluff/tasald +/obj/item/cane/fluff/tasald name = "Ornate Walking Cane" desc = "An elaborately made custom walking stick with a dark wooding core, a crimson red gemstone on its head and a steel cover around the bottom. you'd probably hear someone using this down the hall." icon = 'icons/vore/custom_items_vr.dmi' -/obj/item/device/fluff/id_kit_ivy +/obj/item/fluff/id_kit_ivy name = "Holo-ID reprinter" desc = "Stick your ID in one end and it'll print a new ID out the other!" icon = 'icons/obj/bureaucracy.dmi' icon_state = "labeler1" -/obj/item/device/fluff/id_kit_ivy/afterattack(obj/O, mob/user as mob) +/obj/item/fluff/id_kit_ivy/afterattack(obj/O, mob/user as mob) var/new_icon_state = "ivyholoid" var/new_icon = 'icons/vore/custom_items_vr.dmi' var/new_desc = "Its a thin screen showing ID information, but it seems to be flickering." - if(istype(O,/obj/item/weapon/card/id) && O.icon_state != new_icon) + if(istype(O,/obj/item/card/id) && O.icon_state != new_icon) O.icon = new_icon O.icon_state = new_icon_state // Changes the icon without changing the access. O.desc = new_desc playsound(src, 'sound/items/polaroid2.ogg', 100, 1) - user.visible_message(" [user] reprints their ID.") + user.visible_message(span_warning(" [user] reprints their ID.")) qdel(src) else if(O.icon_state == new_icon) - to_chat(user, "[O] already has been reprinted.") + to_chat(user, span_notice("[O] already has been reprinted.")) return else - to_chat(user, "This isn't even an ID card you idiot.") + to_chat(user, span_warning("This isn't even an ID card you idiot.")) return //WickedTempest: Chakat Tempest -/obj/item/weapon/reagent_containers/hypospray/vial/tempest +/obj/item/reagent_containers/hypospray/vial/tempest name = "Tempest's Hypospray" desc = "A custom-made MKII hypospray belonging to Chakat Tempest. There's small print engraved on the handle: A medicine-cat has no time for doubt. Act now, act swiftly." icon = 'icons/vore/custom_items_vr.dmi' @@ -674,7 +674,7 @@ icon_state = "temphypo" //WickedTempest: Chakat Tempest -/obj/item/weapon/storage/backpack/saddlebag/tempest +/obj/item/storage/backpack/saddlebag/tempest name = "Tempest's Saddlebags" desc = "A custom-made set of saddlebags, tailored to Chakat Tempest's exact dimensions, and taste in color! One one side, there's small print stitched in: ...to carry the weight of any responsibility, burden or task." icon = 'icons/vore/custom_items_vr.dmi' @@ -685,21 +685,21 @@ slowdown = 0 taurtype = /datum/sprite_accessory/tail/taur/feline/tempest no_message = "These saddlebags seem to be fitted for someone else, and keep slipping off!" - action_button_name = "Toggle Mlembulance Mode" + actions_types = list(/datum/action/item_action/toggle_mlembulance) var/ambulance = FALSE var/datum/looping_sound/ambulance/soundloop var/ambulance_state = FALSE var/ambulance_last_switch = 0 -/obj/item/weapon/storage/backpack/saddlebag/tempest/Initialize() +/obj/item/storage/backpack/saddlebag/tempest/Initialize() soundloop = new(list(src), FALSE) return ..() -/obj/item/weapon/storage/backpack/saddlebag/tempest/Destroy() +/obj/item/storage/backpack/saddlebag/tempest/Destroy() QDEL_NULL(soundloop) return ..() -/obj/item/weapon/storage/backpack/saddlebag/tempest/ui_action_click() +/obj/item/storage/backpack/saddlebag/tempest/ui_action_click(mob/user, actiontype) ambulance = !(ambulance) if(ambulance) START_PROCESSING(SSobj, src) @@ -720,7 +720,7 @@ set_light(0) soundloop.stop() -/obj/item/weapon/storage/backpack/saddlebag/tempest/process() +/obj/item/storage/backpack/saddlebag/tempest/process() if(!ambulance) STOP_PROCESSING(SSobj, src) return @@ -741,32 +741,32 @@ volume = 25 //PontifexMinimus: Lucius/Lucia Null -/obj/item/weapon/fluff/dragor_dot +/obj/item/fluff/dragor_dot name = "supplemental battery" desc = "A tiny supplemental battery for powering something or someone synthetic." icon = 'icons/vore/custom_items_vr.dmi' icon_state = "dragor_dot" w_class = ITEMSIZE_SMALL -/obj/item/weapon/fluff/dragor_dot/attack_self(mob/user as mob) +/obj/item/fluff/dragor_dot/attack_self(mob/user as mob) if(user.ckey == "pontifexminimus") - user.verbs |= /mob/living/carbon/human/proc/shapeshifter_select_gender + add_verb(user, /mob/living/carbon/human/proc/shapeshifter_select_gender) else return //LuminescentRing: Briana Moore -/obj/item/weapon/storage/backpack/messenger/black/fluff/briana +/obj/item/storage/backpack/messenger/black/fluff/briana name = "2561 graduation bag" desc = "A black leather bag with names scattered around in red embroidery, it says 'Pride State Academy' on the top. " //DeepIndigo: Amina Dae-Kouri -/obj/item/weapon/storage/bible/fluff/amina +/obj/item/storage/bible/fluff/amina name = "New Space Pioneer's Bible" desc = "A New Space Pioneer's Bible. This one says it was printed in 2492. The name 'Eric Hayvers' is written on the inside of the cover, crossed out. \ Under it is written 'Kouri, Amina, Marine Unit 14, Fifth Echelon. Service number NTN-5528928522372'" //arokha:Amaya Rahl - Custom ID (Medical dept) -/obj/item/weapon/card/id/event/fluff/amaya +/obj/item/card/id/event/fluff/amaya registered_name = "CONFIGURE ME" assignment = "CONFIGURE ME" icon = 'icons/vore/custom_items_vr.dmi' @@ -828,7 +828,7 @@ /obj/item/clothing/accessory/badge/holo/detective/ruda/attack(mob/living/carbon/human/M, mob/living/user) if(isliving(user)) - user.visible_message("[user] invades [M]'s personal space, thrusting [src] into their face with an insistent huff.","You invade [M]'s personal space, thrusting [src] into their face with an insistent huff.") + user.visible_message(span_danger("[user] invades [M]'s personal space, thrusting [src] into their face with an insistent huff."),span_danger("You invade [M]'s personal space, thrusting [src] into their face with an insistent huff.")) user.do_attack_animation(M) user.setClickCooldown(DEFAULT_QUICK_COOLDOWN) //to prevent spam @@ -841,11 +841,11 @@ if(isliving(user)) if(stored_name) - user.visible_message("[user] displays their [src].\nIt reads: [stored_name], [badge_string].","You display your [src].\nIt reads: [stored_name], [badge_string].") + user.visible_message(span_notice("[user] displays their [src].\nIt reads: [stored_name], [badge_string]."),span_notice("You display your [src].\nIt reads: [stored_name], [badge_string].")) else - user.visible_message("[user] displays their [src].\nIt reads: [badge_string].","You display your [src]. It reads: [badge_string].") + user.visible_message(span_notice("[user] displays their [src].\nIt reads: [badge_string]."),span_notice("You display your [src]. It reads: [badge_string].")) -/obj/item/weapon/card/id/fluff/xennith +/obj/item/card/id/fluff/xennith name = "\improper Amy Lessen's Central Command ID (Xenobiology Director)" desc = "This ID card identifies Dr. Amelie Lessen as the founder and director of the NanoTrasen Xenobiology Research Department, circa 2553." icon_state = "centcom" @@ -856,17 +856,17 @@ blood_type = "O-" sex = "Female" -/obj/item/weapon/fluff/injector //Injectors. Custom item used to explain wild changes in a mob's body or chemistry. +/obj/item/fluff/injector //Injectors. Custom item used to explain wild changes in a mob's body or chemistry. name = "Injector" desc = "Some type of injector." icon = 'icons/obj/items.dmi' icon_state = "dnainjector" -/obj/item/weapon/fluff/injector/monkey +/obj/item/fluff/injector/monkey name = "Lesser Form Injector" desc = "Turn the user into their lesser, more primal form." -/obj/item/weapon/fluff/injector/monkey/attack(mob/living/M, mob/living/user) +/obj/item/fluff/injector/monkey/attack(mob/living/M, mob/living/user) if(usr == M) //Is the person using it on theirself? if(ishuman(M)) //If so, monkify them. @@ -874,13 +874,13 @@ H.monkeyize() qdel(src) //One time use. else //If not, do nothing. - to_chat(user, "You are unable to inject other people.") + to_chat(user, span_warning("You are unable to inject other people.")) -/obj/item/weapon/fluff/injector/numb_bite +/obj/item/fluff/injector/numb_bite name = "Numbing Venom Injector" desc = "Injects the user with a high dose of some type of chemical, causing any chemical glands they have to kick into overdrive and create the production of a numbing enzyme that is injected via bites.." -/obj/item/weapon/fluff/injector/numb_bite/attack(mob/living/M, mob/living/user) +/obj/item/fluff/injector/numb_bite/attack(mob/living/M, mob/living/user) if(usr == M) //Is the person using it on theirself? if(ishuman(M)) //Give them numbing bites. @@ -888,10 +888,10 @@ H.species.give_numbing_bite() //This was annoying, but this is the easiest way of performing it. qdel(src) //One time use. else //If not, do nothing. - to_chat(user, "You are unable to inject other people.") + to_chat(user, span_warning("You are unable to inject other people.")) //For 2 handed fluff weapons. -/obj/item/weapon/material/twohanded/fluff //Twohanded fluff items. +/obj/item/material/twohanded/fluff //Twohanded fluff items. name = "fluff." desc = "This object is so fluffy. Just from the sight of it, you know that either something went wrong or someone spawned the incorrect item." icon = 'icons/vore/custom_items_vr.dmi' @@ -900,11 +900,11 @@ slot_r_hand_str = 'icons/vore/custom_items_right_hand_vr.dmi', ) -/obj/item/weapon/material/twohanded/fluff/New(var/newloc) +/obj/item/material/twohanded/fluff/New(var/newloc) ..(newloc," ") //See materials_vr_dmi for more information as to why this is a blank space. //jacknoir413:Areax Third -/obj/item/weapon/melee/baton/fluff/stunstaff +/obj/item/melee/baton/fluff/stunstaff name = "Electrostaff" desc = "Six-foot long staff from dull, rugged metal, with two thin spikes protruding from each end. Small etching near to the middle of it reads 'Children Of Nyx Facilities: Product No. 12'." icon = 'icons/vore/custom_items_vr.dmi' @@ -924,13 +924,13 @@ var/wielded = 0 var/base_name = "stunstaff" -/obj/item/weapon/melee/baton/fluff/stunstaff/New() +/obj/item/melee/baton/fluff/stunstaff/New() ..() - bcell = new/obj/item/weapon/cell/device/weapon(src) + bcell = new/obj/item/cell/device/weapon(src) update_icon() return -/obj/item/weapon/melee/baton/fluff/stunstaff/update_held_icon() +/obj/item/melee/baton/fluff/stunstaff/update_held_icon() var/mob/living/M = loc if(istype(M) && !issmall(M) && M.item_is_in_hands(src) && !M.hands_are_full()) wielded = 1 @@ -944,14 +944,14 @@ update_icon() ..() -/obj/item/weapon/melee/baton/fluff/stunstaff/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack") +/obj/item/melee/baton/fluff/stunstaff/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack") if(wielded && default_parry_check(user, attacker, damage_source) && prob(30)) - user.visible_message("\The [user] parries [attack_text] with \the [src]!") + user.visible_message(span_danger("\The [user] parries [attack_text] with \the [src]!")) playsound(src, 'sound/weapons/punchmiss.ogg', 50, 1) return 1 return 0 -/obj/item/weapon/melee/baton/fluff/stunstaff/update_icon() +/obj/item/melee/baton/fluff/stunstaff/update_icon() icon_state = "[base_icon][wielded][status]" item_state = icon_state if(status==1) @@ -959,28 +959,28 @@ else set_light(0) -/obj/item/weapon/melee/baton/fluff/stunstaff/dropped() +/obj/item/melee/baton/fluff/stunstaff/dropped() ..() if(wielded) wielded = 0 spawn(0) update_held_icon() -/obj/item/weapon/melee/baton/fluff/stunstaff/attack_self(mob/user) +/obj/item/melee/baton/fluff/stunstaff/attack_self(mob/user) if(bcell && bcell.charge > hitcost) status = !status - to_chat(user, "[src] is now [status ? "on" : "off"].") + to_chat(user, span_notice("[src] is now [status ? "on" : "off"].")) if(status == 0) playsound(src, 'sound/weapons/saberoff.ogg', 50, 1) else playsound(src, 'sound/weapons/saberon.ogg', 50, 1) else status = 0 - to_chat(user, "[src] is out of charge.") + to_chat(user, span_warning("[src] is out of charge.")) update_held_icon() add_fingerprint(user) -/obj/item/weapon/storage/backpack/fluff/stunstaff +/obj/item/storage/backpack/fluff/stunstaff name = "Electrostaff sheath" icon = 'icons/vore/custom_items_vr.dmi' icon_state = "holster_stunstaff" @@ -988,21 +988,21 @@ slot_flags = SLOT_BACK item_icons = list(slot_back_str = 'icons/vore/custom_onmob_vr.dmi', slot_l_hand_str = 'icons/vore/custom_items_left_hand_vr.dmi', slot_r_hand_str = 'icons/vore/custom_items_right_hand_vr.dmi') - can_hold = list(/obj/item/weapon/melee/baton/fluff/stunstaff) + can_hold = list(/obj/item/melee/baton/fluff/stunstaff) w_class = ITEMSIZE_HUGE max_w_class = ITEMSIZE_HUGE max_storage_space = 16 -/obj/item/weapon/storage/backpack/fluff/stunstaff/New() +/obj/item/storage/backpack/fluff/stunstaff/New() ..() - new /obj/item/weapon/melee/baton/fluff/stunstaff(src) + new /obj/item/melee/baton/fluff/stunstaff(src) /* * Awoo Sword */ -/obj/item/weapon/melee/fluffstuff +/obj/item/melee/fluffstuff var/active = 0 var/active_force var/active_throwforce @@ -1011,7 +1011,7 @@ sharp = FALSE edge = FALSE -/obj/item/weapon/melee/fluffstuff/proc/activate(mob/living/user) +/obj/item/melee/fluffstuff/proc/activate(mob/living/user) if(active) return active = 1 @@ -1023,7 +1023,7 @@ w_class = active_w_class playsound(src, 'sound/weapons/sparkle.ogg', 50, 1) -/obj/item/weapon/melee/fluffstuff/proc/deactivate(mob/living/user) +/obj/item/melee/fluffstuff/proc/deactivate(mob/living/user) if(!active) return playsound(src, 'sound/weapons/sparkle.ogg', 50, 1) @@ -1035,11 +1035,11 @@ edge = initial(edge) w_class = initial(w_class) -/obj/item/weapon/melee/fluffstuff/attack_self(mob/living/user as mob) +/obj/item/melee/fluffstuff/attack_self(mob/living/user as mob) if (active) if ((CLUMSY in user.mutations) && prob(50)) - user.visible_message("\The [user] accidentally cuts \himself with \the [src].",\ - "You accidentally cut yourself with \the [src].") + user.visible_message(span_danger("\The [user] accidentally cuts \himself with \the [src]."),\ + span_danger("You accidentally cut yourself with \the [src].")) user.take_organ_damage(5,5) deactivate(user) else @@ -1053,7 +1053,7 @@ add_fingerprint(user) return -/obj/item/weapon/melee/fluffstuff/wolfgirlsword +/obj/item/melee/fluffstuff/wolfgirlsword name = "Wolfgirl Sword Replica" desc = "A replica of a large, scimitar-like sword with a dull edge. Ceremonial... until it isn't." icon = 'icons/obj/weapons_vr.dmi' @@ -1070,17 +1070,17 @@ origin_tech = list(TECH_MATERIAL = 2, TECH_COMBAT = 1) item_icons = list(slot_l_hand_str = 'icons/mob/items/lefthand_melee_vr.dmi', slot_r_hand_str = 'icons/mob/items/righthand_melee_vr.dmi', slot_back_str = 'icons/vore/custom_items_vr.dmi', slot_wear_suit_str = 'icons/vore/custom_items_vr.dmi') var/active_state = "wolfgirlsword" - allowed = list(/obj/item/weapon/shield/fluff/wolfgirlshield) + allowed = list(/obj/item/shield/fluff/wolfgirlshield) damtype = HALLOSS -/obj/item/weapon/melee/fluffstuff/wolfgirlsword/dropped(var/mob/user) +/obj/item/melee/fluffstuff/wolfgirlsword/dropped(var/mob/user) ..() if(!istype(loc,/mob)) deactivate(user) -/obj/item/weapon/melee/fluffstuff/wolfgirlsword/activate(mob/living/user) +/obj/item/melee/fluffstuff/wolfgirlsword/activate(mob/living/user) if(!active) - to_chat(user, "The [src] is now sharpened. It will cut!") + to_chat(user, span_notice("The [src] is now sharpened. It will cut!")) ..() attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") @@ -1090,15 +1090,15 @@ damtype = BRUTE -/obj/item/weapon/melee/fluffstuff/wolfgirlsword/deactivate(mob/living/user) +/obj/item/melee/fluffstuff/wolfgirlsword/deactivate(mob/living/user) if(active) - to_chat(user, "The [src] grows dull!") + to_chat(user, span_notice("The [src] grows dull!")) ..() attack_verb = list("bapped", "thwapped", "bonked", "whacked") icon_state = initial(icon_state) //SilencedMP5A5 - Serdykov Antoz -/obj/item/device/modkit_conversion/hasd +/obj/item/modkit_conversion/hasd name = "HASD EVA modification kit" desc = "A kit containing all the needed tools and parts to modify a suit and helmet into something a HASD unit can use for EVA operations." icon = 'icons/vore/custom_items_vr.dmi' @@ -1120,17 +1120,17 @@ var/chassis_desc = "A self recharging, ranged mining tool that does increased damage in low temperature. Capable of holding up to six slots worth of mod kits. It seems to have been painted an ugly green, and has a small image of a bird scratched crudely into the stock." var/chassis_icon_file = 'icons/vore/custom_guns_vr.dmi' -/obj/item/borg/upgrade/modkit/chassis_mod/kai/install(obj/item/weapon/gun/energy/kinetic_accelerator/KA, mob/user) +/obj/item/borg/upgrade/modkit/chassis_mod/kai/install(obj/item/gun/energy/kinetic_accelerator/KA, mob/user) KA.desc = chassis_desc KA.icon = chassis_icon_file ..() -/obj/item/borg/upgrade/modkit/chassis_mod/kai/uninstall(obj/item/weapon/gun/energy/kinetic_accelerator/KA) +/obj/item/borg/upgrade/modkit/chassis_mod/kai/uninstall(obj/item/gun/energy/kinetic_accelerator/KA) KA.desc = initial(KA.desc) KA.icon = initial(KA.icon) ..() //ArgobargSoup:Lynn Shady -/obj/item/device/flashlight/pen/fluff/lynn +/obj/item/flashlight/pen/fluff/lynn name = "Lynn's penlight" desc = "A personalized penlight, a bit bulkier than the standard model. Blue, with a medical cross on it, and the name Lynn Shady engraved in gold." @@ -1143,18 +1143,18 @@ desc = "A bronze medal which represents significant contributions to the field of science or engineering, this one has Ashley Kifer engraved on it." //lm40 - Kenzie Houser -/obj/item/weapon/reagent_containers/hypospray/vial/kenzie +/obj/item/reagent_containers/hypospray/vial/kenzie name = "gold-trimmed hypospray" desc = "A gold-trimmed MKII hypospray. The name 'Kenzie Houser' is engraved on the side." icon = 'icons/vore/custom_items_vr.dmi' icon_state = "kenziehypo" //Semaun - Viktor Solothurn -/obj/item/weapon/reagent_containers/food/drinks/flask/vacuumflask/fluff/viktor +/obj/item/reagent_containers/food/drinks/flask/vacuumflask/fluff/viktor name = "flask of expensive alcohol" desc = "A standard vacuum-flask filled with good and expensive drink." -/obj/item/weapon/reagent_containers/food/drinks/flask/vacuumflask/fluff/viktor/Initialize() +/obj/item/reagent_containers/food/drinks/flask/vacuumflask/fluff/viktor/Initialize() . = ..() reagents.add_reagent("pwine", 60) @@ -1172,13 +1172,13 @@ /obj/item/clothing/glasses/welding/tiemgogs/mob_can_equip(var/mob/living/carbon/human/H, slot, disable_warning = 0) if(..()) if(H.ckey != "radiantaurora") - to_chat(H, "These don't look like they were made to fit you...") + to_chat(H, span_warning("These don't look like they were made to fit you...")) return 0 else return 1 //Ryumi - Nikki Yumeno -/obj/item/weapon/rig/nikki +/obj/item/rig/nikki name = "weird necklace" desc = "A necklace with a brilliantly blue crystal encased in protective glass." icon = 'icons/vore/custom_clothes_vr.dmi' @@ -1202,25 +1202,25 @@ boot_type = null allowed = list( - /obj/item/device/flashlight, - /obj/item/weapon/tank, - /obj/item/device/suit_cooling_unit, - /obj/item/weapon/storage, + /obj/item/flashlight, + /obj/item/tank, + /obj/item/suit_cooling_unit, + /obj/item/storage, ) -/obj/item/weapon/rig/nikki/attackby(obj/item/W, mob/living/user) +/obj/item/rig/nikki/attackby(obj/item/W, mob/living/user) //This thing accepts ONLY mounted sizeguns. That's IT. Nothing else! if(open && istype(W,/obj/item/rig_module) && !istype(W,/obj/item/rig_module/mounted/sizegun)) - to_chat(user, "\The [src] only accepts mounted size gun modules.") + to_chat(user, span_danger("\The [src] only accepts mounted size gun modules.")) return ..() -/obj/item/weapon/rig/nikki/mob_can_equip(var/mob/living/carbon/human/M, slot, disable_warning = 0) // Feel free to (try to) put Nikki's hat on! The necklace though is a flat-out no-go. +/obj/item/rig/nikki/mob_can_equip(var/mob/living/carbon/human/M, slot, disable_warning = 0) // Feel free to (try to) put Nikki's hat on! The necklace though is a flat-out no-go. if(..()) if (M.ckey == "ryumi") return 1 else if (M.get_active_hand() == src) - to_chat(M, "For some reason, the necklace seems to never quite get past your head when you try to put it on... Weird, it looked like it would fit.") + to_chat(M, span_warning("For some reason, the necklace seems to never quite get past your head when you try to put it on... Weird, it looked like it would fit.")) return 0 //Nickcrazy - Damon Bones Xrim @@ -1259,7 +1259,7 @@ icon_state_closed = "shadowlaptop-closed" //Rboys2 - Clara Mali -/obj/item/weapon/reagent_containers/food/drinks/glass2/fluff/claraflask +/obj/item/reagent_containers/food/drinks/glass2/fluff/claraflask name = "Clara's Vacuum Flask" desc = "A rose gold vacuum flask." base_name = "Clara's Vacuum Flask" @@ -1269,18 +1269,18 @@ filling_states = list(15, 30, 50, 60, 80, 100) volume = 60 -/obj/item/weapon/reagent_containers/food/drinks/glass2/fluff/claraflask/Initialize() +/obj/item/reagent_containers/food/drinks/glass2/fluff/claraflask/Initialize() . = ..() reagents.add_reagent("tea", 40) reagents.add_reagent("milk", 20) -/obj/item/weapon/reagent_containers/food/drinks/glass2/fluff/claraflask/update_icon() +/obj/item/reagent_containers/food/drinks/glass2/fluff/claraflask/update_icon() ..() name = initial(name) desc = initial(desc) //Vitoras: Verie -/obj/item/weapon/fluff/verie +/obj/item/fluff/verie name = "glowy hairbrush" desc = "A pulse of light periodically zips across the top of this blue brush. This... is not an ordinary hair care tool. \ A small inscription can be seen in one side of the brush: \"THIS DEVICE IS ONLY COMPATIBLE WITH MODEL RI \ @@ -1291,12 +1291,12 @@ var/owner = "vitoras" -/obj/item/weapon/fluff/verie/attack_self(mob/living/carbon/human/user) +/obj/item/fluff/verie/attack_self(mob/living/carbon/human/user) if (istype(user)) // It's only made for Verie's chassis silly! if (user.ckey != owner) - to_chat(user, "The brush's teeth are far too rough to even comb your hair. Apparently, \ - this device was not made for people like you.") + to_chat(user, span_warning("The brush's teeth are far too rough to even comb your hair. Apparently, \ + this device was not made for people like you.")) return if (!user.hair_accessory_style) @@ -1305,52 +1305,52 @@ user.update_hair() user.visible_message("[user] combs her hair. \The [src] leaves behind glowing cyan highlights as it passes through \ her black strands.", \ - "You brush your hair. \The [src]'s teeth begin to vibrate and glow as they react to your nanites. \ + span_notice("You brush your hair. \The [src]'s teeth begin to vibrate and glow as they react to your nanites. \ The teeth stimulate the nanites in your hair strands until your hair give off a brilliant, faintly pulsing \ - cyan glow!") + cyan glow!")) else user.visible_message("[user] combs her hair. \The [src] brushes away her glowing cyan highlights. Neat!", \ - "You brush your hair. \The [src]'s teeth wipe away the glowing streaks in your hair \ - like a sponge scrubbing away a stain.") + span_notice("You brush your hair. \The [src]'s teeth wipe away the glowing streaks in your hair \ + like a sponge scrubbing away a stain.")) user.hair_accessory_style = null for(var/datum/sprite_accessory/hair_accessory/verie_hair_glow/V in user) - to_chat(user, "found a V to delete!") + to_chat(user, span_warning("found a V to delete!")) qdel(V) user.update_hair() else - to_chat(user, "\The [src] isn't compatible with your body as it is now.") + to_chat(user, span_warning("\The [src] isn't compatible with your body as it is now.")) // Astra - // Astra -/obj/item/weapon/material/knife/ritual/fluff/astra +/obj/item/material/knife/ritual/fluff/astra name = "Polished Ritual Knife" desc = "A well kept strange ritual knife, There is a small tag with the name 'Astra Ether' on it. They are probably looking for this." icon = 'icons/obj/wizard.dmi' icon_state = "render" //AlFalah - Charlotte Graves -/obj/item/weapon/storage/fancy/fluff/charlotte +/obj/item/storage/fancy/fluff/charlotte name = "inconspicuous cigarette case" desc = "A SkyTron 3000 cigarette case with no additional functions. The buttons and CRT monitor are completely for show and have no functions. Seriously. " icon_state = "charlotte" icon = 'icons/vore/custom_items_vr.dmi' storage_slots = 7 - can_hold = list(/obj/item/clothing/mask/smokable/cigarette, /obj/item/weapon/flame/lighter, /obj/item/trash/cigbutt) + can_hold = list(/obj/item/clothing/mask/smokable/cigarette, /obj/item/flame/lighter, /obj/item/trash/cigbutt) icon_type = "charlotte" //brand = "\improper Professional 120" w_class = ITEMSIZE_TINY starts_with = list(/obj/item/clothing/mask/smokable/cigarette = 7) -/obj/item/weapon/storage/fancy/fluff/charlotte/New() +/obj/item/storage/fancy/fluff/charlotte/New() if(!open_state) open_state = "[initial(icon_state)]0" if(!closed_state) closed_state = "[initial(icon_state)]" ..() -/obj/item/weapon/storage/fancy/fluff/charlotte/update_icon() +/obj/item/storage/fancy/fluff/charlotte/update_icon() cut_overlays() if(open) icon_state = open_state @@ -1359,20 +1359,20 @@ else icon_state = closed_state -/obj/item/weapon/storage/fancy/fluff/charlotte/open(mob/user as mob) +/obj/item/storage/fancy/fluff/charlotte/open(mob/user as mob) if(open) return open = TRUE update_icon() ..() -/obj/item/weapon/storage/fancy/fluff/charlotte/close(mob/user as mob) +/obj/item/storage/fancy/fluff/charlotte/close(mob/user as mob) open = FALSE update_icon() ..() //Ashling - Antoinette deKaultieste -/obj/item/weapon/material/knife/machete/hatchet/unathiknife/fluff/antoinette +/obj/item/material/knife/machete/hatchet/unathiknife/fluff/antoinette name = "sawtooth ritual knife" desc = "A mostly decorative knife made from thin ceramic and toothed with large black fangs. Printed on the flat is an eight-armed cross, like an asterisk with an extra stroke, ringed by a calligraphy-style crescent." attack_verb = list("mauled", "bit", "sawed", "butchered") @@ -1387,7 +1387,7 @@ icon_state = "unathiharness1" slots = 2 -/obj/item/weapon/reagent_containers/glass/bottle/poppy +/obj/item/reagent_containers/glass/bottle/poppy name = "poppy flour bottle" desc = "A small bottle of finely ground poppyseed and mixed dried berries." icon = 'icons/obj/chemical.dmi' @@ -1397,15 +1397,15 @@ /obj/item/clothing/accessory/storage/ritualharness/fluff/antoinette/Initialize() . = ..() hold.max_storage_space = ITEMSIZE_COST_SMALL * 2 - hold.can_hold = list(/obj/item/weapon/material/knife, /obj/item/weapon/reagent_containers/glass/bottle) + hold.can_hold = list(/obj/item/material/knife, /obj/item/reagent_containers/glass/bottle) - new /obj/item/weapon/material/knife/machete/hatchet/unathiknife/fluff/antoinette(hold) - new /obj/item/weapon/reagent_containers/glass/bottle/poppy(hold) + new /obj/item/material/knife/machete/hatchet/unathiknife/fluff/antoinette(hold) + new /obj/item/reagent_containers/glass/bottle/poppy(hold) //Hunterbirk - Amaryll //This is a 'technical item' which basically is meant to represent rippiing things up with bare claws. -/obj/item/weapon/surgical/scalpel/amaryll_claws +/obj/item/surgical/scalpel/amaryll_claws name = "Amaryll's Claws" desc = "This doesn't quite look like what it really is." icon = 'icons/vore/custom_items_vr.dmi' @@ -1416,19 +1416,19 @@ matter = null //Coolcrow420 - Jade Davis -/obj/item/weapon/stamp/fluff/jade_horror +/obj/item/stamp/fluff/jade_horror name = "Council of Mid Horror rubber stamp" icon = 'icons/vore/custom_items_vr.dmi' icon_state = "stamp-midhorror" stamptext = "This paper has been certified by The Council of Mid Horror" //Coolcrow420 - M41l -/obj/item/weapon/implant/language/fluff/m41l +/obj/item/implant/language/fluff/m41l name = "dusty hard drive" desc = "A hard drive containing knowledge of various languages." -/obj/item/weapon/implant/language/fluff/m41l/post_implant(mob/M) - to_chat(M,"LANGUAGES - LOADING") +/obj/item/implant/language/fluff/m41l/post_implant(mob/M) + to_chat(M,span_notice("LANGUAGES - LOADING")) M.add_language(LANGUAGE_SKRELLIAN) M.add_language(LANGUAGE_UNATHI) M.add_language(LANGUAGE_SIIK) @@ -1445,7 +1445,7 @@ M.add_language(LANGUAGE_SPACER) M.add_language(LANGUAGE_TAVAN) M.add_language(LANGUAGE_ECHOSONG) - to_chat(M,"LANGUAGES - INITIALISED") + to_chat(M,span_notice("LANGUAGES - INITIALISED")) //thedavestdave - Lucky /obj/item/clothing/suit/armor/combat/crusader_costume/lucky @@ -1458,7 +1458,7 @@ //RevolverEloise - Revolver Eloise -/obj/item/weapon/sword/fluff/revolver +/obj/item/sword/fluff/revolver name = "Catnip" desc = "A steel claymore with what appears to be a teppi engraved into the hilt and a finely forged metal cuboid for a pommel. The blade is honed and balanced to an unusually high degree and has clearly been meticulously cared for." icon = 'icons/vore/custom_items_vr.dmi' @@ -1471,8 +1471,8 @@ //PastelPrinceDan - Kiyoshi/Masumi Maki /obj/item/toy/plushie/fluff/slimeowshi - name = "Slime-Cat Research Director plushie" - desc = "An adorable stuffed toy that resembles a slime. It's pink, and has little cat ears, as well as a tail! Atop its head is a small beret with a Research Director's insignia." + name = "Slime-Cat " + JOB_RESEARCH_DIRECTOR + " plushie" + desc = "An adorable stuffed toy that resembles a slime. It's pink, and has little cat ears, as well as a tail! Atop its head is a small beret with a " + JOB_RESEARCH_DIRECTOR + "'s insignia." icon = 'icons/vore/custom_items_vr.dmi' icon_state = "kimeowshi" attack_verb = list("blorbled", "slimed", "absorbed", "glomped") @@ -1497,12 +1497,12 @@ /obj/item/modular_computer/tablet/preset/custom_loadout/nettie/install_default_hardware() ..() - processor_unit = new/obj/item/weapon/computer_hardware/processor_unit/small(src) - tesla_link = new/obj/item/weapon/computer_hardware/tesla_link(src) - hard_drive = new/obj/item/weapon/computer_hardware/hard_drive/(src) - network_card = new/obj/item/weapon/computer_hardware/network_card/advanced(src) - nano_printer = new/obj/item/weapon/computer_hardware/nano_printer(src) - battery_module = new/obj/item/weapon/computer_hardware/battery_module(src) + processor_unit = new/obj/item/computer_hardware/processor_unit/small(src) + tesla_link = new/obj/item/computer_hardware/tesla_link(src) + hard_drive = new/obj/item/computer_hardware/hard_drive/(src) + network_card = new/obj/item/computer_hardware/network_card/advanced(src) + nano_printer = new/obj/item/computer_hardware/nano_printer(src) + battery_module = new/obj/item/computer_hardware/battery_module(src) battery_module.charge_to_full() @@ -1538,16 +1538,16 @@ if(world.time - last_message <= 5 SECONDS) return if(user.a_intent == I_HELP) - user.visible_message("\The [user] hugs [src]!","You hug [src]!") + user.visible_message(span_notice(span_bold("\The [user]") + " hugs [src]!"),span_notice("You hug [src]!")) icon_state = "pandorba" else if (user.a_intent == I_HURT) - user.visible_message("\The [user] punches [src]!","You punch [src]!") + user.visible_message(span_warning(span_bold("\The [user]") + " punches [src]!"),span_warning("You punch [src]!")) icon_state = "pandorba_h" else if (user.a_intent == I_GRAB) - user.visible_message("\The [user] attempts to strangle [src]!","You attempt to strangle [src]!") + user.visible_message(span_warning(span_bold("\The [user]") + " attempts to strangle [src]!"),span_warning("You attempt to strangle [src]!")) icon_state = "pandorba_g" else - user.visible_message("\The [user] pokes [src].","You poke [src].") + user.visible_message(span_notice(span_bold("\The [user]") + " pokes [src]."),span_notice("You poke [src].")) icon_state = "pandorba_d" playsound(src, 'sound/items/drop/plushie.ogg', 25, 0) visible_message("[src] says, \"[pokephrase]\"") @@ -1555,16 +1555,16 @@ //Yeehawguvnah - Cephyra -/obj/item/weapon/dice/loaded/ceph +/obj/item/dice/loaded/ceph name = "engraved d6" desc = "A die with six sides. It's fairly well-made, made of an unclear black material with silver pips. If you were to touch it, your hands tingle slightly as though from static. On closer inspection, it's finely engraved with curving, fractal patterns." icon_state = "ceph_d66" -/obj/item/weapon/dice/loaded/ceph/rollDice(mob/user, silent) +/obj/item/dice/loaded/ceph/rollDice(mob/user, silent) ..() icon_state = "ceph_d6[result]" -/obj/item/weapon/dice/loaded/ceph/New() +/obj/item/dice/loaded/ceph/New() icon_state = "ceph_d6[rand(1,sides)]" diff --git a/code/modules/vore/fluffstuff/custom_items_yw.dm b/code/modules/vore/fluffstuff/custom_items_yw.dm index d9a4cf4cc17..5f516d99519 100644 --- a/code/modules/vore/fluffstuff/custom_items_yw.dm +++ b/code/modules/vore/fluffstuff/custom_items_yw.dm @@ -1,14 +1,14 @@ // ************** // Unleashed_Mana // ************** -/obj/item/weapon/fluff/zekewatch +/obj/item/fluff/zekewatch name = "Zeke's pocketwatch" desc = "Looks like it's broken... or is it?" w_class = 1.0 icon = 'icons/vore/custom_items_yw.dmi' icon_state = "zekewatch" -/obj/item/weapon/fluff/zekewatch/attack_self(mob/living/user) +/obj/item/fluff/zekewatch/attack_self(mob/living/user) if(user.r_hand == src || user.l_hand == src) var/time1 = rand(0,11) var/time2 = rand(0,59) @@ -23,19 +23,19 @@ return ..() return -/obj/item/weapon/kitchenknife/tacknife/unathiknife/fluff/eravik_vessi_1 +/obj/item/kitchenknife/tacknife/unathiknife/fluff/eravik_vessi_1 name = "Noctis" desc = "A strange blade made of some kind of black metal. It feels... incomplete." icon = 'icons/vore/custom_items_yw.dmi' icon_state = "eravikblade" -/obj/item/weapon/reagent_containers/food/drinks/flask/fluff/david_3 +/obj/item/reagent_containers/food/drinks/flask/fluff/david_3 name = "David's lucky bottle" desc = "As long as there is something in it, nothing can go wrong." icon = 'icons/vore/custom_items_yw.dmi' icon_state = "davidbottle" -/obj/item/weapon/material/kitchen/utensil/fork/fluff/ragna_1 +/obj/item/material/kitchen/utensil/fork/fluff/ragna_1 name = "Ragna's fork" desc = "\"FEAR RAGNA!\"" icon = 'icons/vore/custom_items_yw.dmi' @@ -47,7 +47,7 @@ // Capt_matt // ********* //Payton Joghs -/obj/item/weapon/material/hatchet/unathiknife/fluff/payton_joghs_1 +/obj/item/material/hatchet/unathiknife/fluff/payton_joghs_1 name = "Payton's Knife" desc = "It appears to be a traditional unathi knife, though with 'Payton' written on the side and appearing to be made of steel." icon = 'icons/vore/custom_items_yw.dmi' @@ -56,7 +56,7 @@ // ************** // BlackAngelsAce // ************** -/obj/item/weapon/oldtwohanded/spear/fluff/madoka_koto_1 +/obj/item/oldtwohanded/spear/fluff/madoka_koto_1 icon = 'icons/vore/custom_items_yw.dmi' icon_override = 'icons/vore/custom_items_yw.dmi' icon_state = "madokaspear0" @@ -91,7 +91,7 @@ playsound(user, 'sound/misc/boatswain.ogg', 25, 1) cooldown = world.time -/obj/item/device/radio/headset/fluff/strix +/obj/item/radio/headset/fluff/strix name = "Strix\'s headset" desc = "A headset that seems custom made for a avali skull shape, the sounds coming from it are very quiet." icon_state = "strix_headset" @@ -106,12 +106,12 @@ //Amara Faell -/obj/item/weapon/flame/lighter/zippo/fluff/amara +/obj/item/flame/lighter/zippo/fluff/amara desc = "A zippo that comes in a metallic blood red case. How the flame can be lime green is an enigma in itself." icon = 'icons/vore/custom_items_yw.dmi' icon_state = "bloodredzippo" -/obj/item/device/modkit_conversion/fluff/amara_hos_kit +/obj/item/modkit_conversion/fluff/amara_hos_kit name = "Amara's modkit" desc = "A kit containing all the needed tools and parts to modify a Head of security armored coat. It has a red wolf painted on it." owner_ckey = "generalpantsu" @@ -124,7 +124,7 @@ //Nika Domashev -/obj/item/device/modkit_conversion/fluff/nika_sec_kit +/obj/item/modkit_conversion/fluff/nika_sec_kit name = "Nika's modkit" desc = "A kit containing all the needed tools and parts to modify a Officer Armor Vest." owner_ckey = "generalpantsu" @@ -140,7 +140,7 @@ // ******* //Glitterpaws -/obj/item/weapon/melee/goz_whitecane +/obj/item/melee/goz_whitecane name = "White Cane" desc = "A telescoping white cane. They are commonly used by the blind or visually impaired as a mobility tool or as a courtesy to others." icon = 'icons/vore/custom_items_yw.dmi' @@ -154,7 +154,7 @@ force = 3 var/on = 0 -/obj/item/weapon/melee/goz_whitecane/attack_self(mob/user as mob) +/obj/item/melee/goz_whitecane/attack_self(mob/user as mob) on = !on if(on) user.visible_message("\The [user] extends the white cane.",\ @@ -185,7 +185,7 @@ return -/obj/item/weapon/melee/goz_whitecane/attack(mob/M as mob, mob/user as mob) +/obj/item/melee/goz_whitecane/attack(mob/M as mob, mob/user as mob) if(user.a_intent == I_HELP) user.visible_message("\The [user] has lightly tapped [M] on the ankle with their white cane!") return @@ -195,13 +195,13 @@ // ******* // Dawidoe // ******* -/obj/item/weapon/flame/lighter/zippo/fluff/melissa +/obj/item/flame/lighter/zippo/fluff/melissa name = "Zippo" desc = "A custom made zippo lighter with word 'Mel' engraved in white font on the bottom right corner. It's black, with red lines around the edges." icon = 'icons/vore/custom_items_yw.dmi' icon_state = "melzippo" -/obj/item/device/modkit_conversion/fluff/melissa_gun_kit +/obj/item/modkit_conversion/fluff/melissa_gun_kit name = "Melissa's modkit" desc = "A kit containing all the needed tools and parts to modify a 45 Pistol." owner_ckey = "dawidoe" @@ -209,8 +209,8 @@ icon = 'icons/vore/custom_items_vr.dmi' icon_state = "modkit" - from_suit = /obj/item/weapon/gun/projectile/sec/flash - to_suit = /obj/item/weapon/gun/projectile/fluff/m1911 + from_suit = /obj/item/gun/projectile/sec/flash + to_suit = /obj/item/gun/projectile/fluff/m1911 // ************ // championfire @@ -218,10 +218,10 @@ //Yuki Windroar -/obj/item/weapon/implanter/reagent_generator/roiz/yuki - implant_type = /obj/item/weapon/implant/reagent_generator/roiz/yuki +/obj/item/implanter/reagent_generator/roiz/yuki + implant_type = /obj/item/implant/reagent_generator/roiz/yuki -/obj/item/weapon/implant/reagent_generator/roiz/yuki +/obj/item/implant/reagent_generator/roiz/yuki name = "egg laying implant" desc = "This is an implant that allows the user to lay eggs." usable_volume = 500 @@ -237,7 +237,7 @@ //Jessica Mayer -/obj/item/device/modkit_conversion/fluff/jessica_sec_kit +/obj/item/modkit_conversion/fluff/jessica_sec_kit name = "Jessica's modkit" desc = "A kit containing all the needed tools and parts to modify a Officer Armor Vest." owner_ckey = "vitorhks" @@ -254,7 +254,7 @@ //Dillan McGraw -// /obj/item/weapon/storage/fluff/cane/dillan +// /obj/item/storage/fluff/cane/dillan // var/max_w_class = 1 // var/max_storage_space = 4 // throwforce = 7 @@ -276,7 +276,7 @@ //Mira Rezus -/obj/item/weapon/implant/reagent_generator/tempest/mira +/obj/item/implant/reagent_generator/tempest/mira name = "lactation implant" desc = "This is an implant that allows the user to lactate." usable_volume = 1000 @@ -289,12 +289,12 @@ verb_name = "Milk" verb_desc = "Grab Mira's breasts and milk her, storing her fresh, warm milk in a container. This will undoubtedly turn her on." -/obj/item/weapon/implanter/reagent_generator/mira - implant_type = /obj/item/weapon/implant/reagent_generator/tempest/mira +/obj/item/implanter/reagent_generator/mira + implant_type = /obj/item/implant/reagent_generator/tempest/mira //Natalya Vospit -/obj/item/weapon/implant/reagent_generator/tempest/natalya +/obj/item/implant/reagent_generator/tempest/natalya name = "lactation implant" desc = "This is an implant that allows the user to lactate." usable_volume = 1000 @@ -307,12 +307,12 @@ verb_name = "Milk" verb_desc = "Grab Natalya's breasts and milk her, storing her fresh, warm milk in a container. This will undoubtedly turn her on." -/obj/item/weapon/implanter/reagent_generator/natalya - implant_type = /obj/item/weapon/implant/reagent_generator/tempest/natalya +/obj/item/implanter/reagent_generator/natalya + implant_type = /obj/item/implant/reagent_generator/tempest/natalya //Eryn Wolfe -/obj/item/weapon/fluff/chemset +/obj/item/fluff/chemset name = "Eryn's chemistry set" desc = "A small box with a open compartment, some buttons, a disk drive, and flashing lights. On the back is a small metal plaque with the name 'Eryn Wofle' on it." w_class = 1.0 @@ -321,7 +321,7 @@ //Mitsuko Jiao -/obj/item/device/modkit_conversion/fluff/jiao_anynlizer_kit/a +/obj/item/modkit_conversion/fluff/jiao_anynlizer_kit/a name = "Mitsuko's modkit Mk1" desc = "A kit containing all the needed tools and parts to modify a heath analyzer. It has a Emblem painted on it." owner_ckey = "lukevale" @@ -329,10 +329,10 @@ icon = 'icons/vore/custom_items_vr.dmi' icon_state = "modkit" - from_suit = /obj/item/device/healthanalyzer - to_suit = /obj/item/device/healthanalyzer/fluff/jiao_health + from_suit = /obj/item/healthanalyzer + to_suit = /obj/item/healthanalyzer/fluff/jiao_health -/obj/item/device/modkit_conversion/fluff/jiao_anynlizer_kit/b +/obj/item/modkit_conversion/fluff/jiao_anynlizer_kit/b name = "Mitsuko's modkit Mk2" desc = "A kit containing all the needed tools and parts to modify a heath analyzer. It has a Emblem painted on it." owner_ckey = "lukevale" @@ -340,10 +340,10 @@ icon = 'icons/vore/custom_items_vr.dmi' icon_state = "modkit" - from_suit = /obj/item/device/healthanalyzer/improved - to_suit = /obj/item/device/healthanalyzer/improved/fluff/jiao_health + from_suit = /obj/item/healthanalyzer/improved + to_suit = /obj/item/healthanalyzer/improved/fluff/jiao_health -/obj/item/device/modkit_conversion/fluff/jiao_anynlizer_kit/c +/obj/item/modkit_conversion/fluff/jiao_anynlizer_kit/c name = "Mitsuko's modkit Mk3" desc = "A kit containing all the needed tools and parts to modify a heath analyzer. It has a Emblem painted on it." owner_ckey = "lukevale" @@ -351,22 +351,22 @@ icon = 'icons/vore/custom_items_vr.dmi' icon_state = "modkit" - from_suit = /obj/item/device/healthanalyzer/advanced - to_suit = /obj/item/device/healthanalyzer/advanced/fluff/jiao_health + from_suit = /obj/item/healthanalyzer/advanced + to_suit = /obj/item/healthanalyzer/advanced/fluff/jiao_health -/obj/item/device/healthanalyzer/fluff/jiao_health +/obj/item/healthanalyzer/fluff/jiao_health name = "Kanghu medical scanner MK1" desc = "A Modified medical scanner, all the main components are compacted into the handle. This one is a basic unit." icon = 'icons/vore/custom_items_yw.dmi' icon_state = "scanner_mk1" -/obj/item/device/healthanalyzer/improved/fluff/jiao_health +/obj/item/healthanalyzer/improved/fluff/jiao_health name = "Kanghu medical scanner MK2" desc = "A Modified medical scanner, all the main components are compacted into the handle. This one is an improved unit." icon = 'icons/vore/custom_items_yw.dmi' icon_state = "scanner_mk2" -/obj/item/device/healthanalyzer/advanced/fluff/jiao_health +/obj/item/healthanalyzer/advanced/fluff/jiao_health name = "Kanghu medical scanner MK3" desc = "A Modified medical scanner, all the main components are compacted into the handle. This one is an advanced unit." icon = 'icons/vore/custom_items_yw.dmi' @@ -378,7 +378,7 @@ //Ire -/obj/item/weapon/bikehorn/fluff/chew_ire +/obj/item/bikehorn/fluff/chew_ire name = "Chew toy" desc = "A toy normally used by dogs to play with or chew on" slot_flags = SLOT_MASK @@ -396,7 +396,7 @@ //I'm going to fix this code later. -/obj/item/weapon/implant/reagent_generator/belle/ysaline +/obj/item/implant/reagent_generator/belle/ysaline name = "lactation implant" desc = "This is an implant that allows the user to lactate." usable_volume = 1000 @@ -412,7 +412,7 @@ // ************** // Trash // ************** -/obj/item/weapon/fluff/fidgetspinner +/obj/item/fluff/fidgetspinner name = "Fidget spinner" desc = "A spinning stress relief toy, upsetting family, friends, and employers for 500 years." w_class = 1.0 @@ -420,7 +420,7 @@ icon_state = "fidgetspinner" var/basestate = "fidgetspinner" -/obj/item/weapon/fluff/fidgetspinner/red +/obj/item/fluff/fidgetspinner/red name = "Red fidget spinner" desc = "A spinning stress relief toy, upsetting family, friends, and employers for 500 years. This one is red" w_class = 1.0 @@ -428,7 +428,7 @@ icon_state = "fidgetspinnerr" basestate = "fidgetspinnerr" -/obj/item/weapon/fluff/fidgetspinner/yellow +/obj/item/fluff/fidgetspinner/yellow name = "Yellow fidget spinner" desc = "A spinning stress relief toy, upsetting family, friends, and employers for 500 years. This one is yellow" w_class = 1.0 @@ -436,7 +436,7 @@ icon_state = "fidgetspinnery" basestate = "fidgetspinnery" -/obj/item/weapon/fluff/fidgetspinner/attack_self(mob/living/user) +/obj/item/fluff/fidgetspinner/attack_self(mob/living/user) if(user.r_hand == src || user.l_hand == src) if(icon_state != "[basestate]-s") icon_state = "[basestate]-s" @@ -447,14 +447,14 @@ return ..() return -/obj/item/weapon/fluff/squeezetoy +/obj/item/fluff/squeezetoy name = "Stress relief squeeze toy" desc = "A toy squeezed to relieve stress, it’s squeaker appears to be broken from over use." w_class = 1.0 icon = 'icons/vore/custom_items_yw.dmi' icon_state = "squeezetoy" -/obj/item/weapon/fluff/squeezetoy/attack_self(mob/living/user) +/obj/item/fluff/squeezetoy/attack_self(mob/living/user) if(user.r_hand == src || user.l_hand == src) if(icon_state != "squeezetoy-s") icon_state = "squeezetoy-s" @@ -465,7 +465,7 @@ return ..() return -/obj/item/weapon/fluff/dimensioncube +/obj/item/fluff/dimensioncube var/folded = 1 name = "Infinity cube" desc = "All the fun of a puzzle cube without any of the challenge, a good way to relieve stress and delude yourself into a sense of accomplishment." @@ -473,7 +473,7 @@ icon = 'icons/vore/custom_items_yw.dmi' icon_state = "infinitycube0" -/obj/item/weapon/fluff/dimensioncube/attack_self(mob/living/user) +/obj/item/fluff/dimensioncube/attack_self(mob/living/user) if(user.r_hand == src || user.l_hand == src) if(folded == 0) icon_state = "infinitycube0" @@ -492,7 +492,7 @@ // ************** // These seem to have been deprecated from loadouts? -KK -/obj/item/device/modkit_conversion/fluff/skinner/a +/obj/item/modkit_conversion/fluff/skinner/a name = "Joseph's modkit Mk1" desc = "A kit containing all the needed tools and parts to modify a security jumpsuit." @@ -502,7 +502,7 @@ from_suit = /obj/item/clothing/under/rank/security to_suit = /obj/item/clothing/under/rank/security/fluff/skinner -/obj/item/device/modkit_conversion/fluff/skinner/b +/obj/item/modkit_conversion/fluff/skinner/b name = "Joseph's modkit Mk2" desc = "A kit containing all the needed tools and parts to modify a security armor." @@ -512,7 +512,7 @@ from_suit = /obj/item/clothing/suit/armor/vest to_suit = /obj/item/clothing/suit/armor/vest/fluff/skinner -/obj/item/device/modkit_conversion/fluff/skinner/c +/obj/item/modkit_conversion/fluff/skinner/c name = "Joseph's modkit Mk3" desc = "A kit containing all the needed tools and parts to modify a security helmet." @@ -526,7 +526,7 @@ // DeepIndigo // ************** -/obj/item/weapon/storage/bible/fluff/amina +/obj/item/storage/bible/fluff/amina name = "New Space Pioneer's Bible" desc = "This one says it was printed in 2492. The name \"Eric Hayvers\" is written on the inside of the cover, crossed out. Under it is written \"Kouri, Amina, Marine Unit 14, Fifth Echelon. Service number NTN-5528928522372\"" @@ -534,15 +534,15 @@ // DameonOwen // ************** -/obj/item/weapon/reagent_containers/food/snacks/cookie/mysterious +/obj/item/reagent_containers/food/snacks/cookie/mysterious name = "a mysterious cookie" desc = "DAS A BIG COOKIE!!!" bitesize = 100 -/obj/item/weapon/reagent_containers/food/snacks/cookie/mysterious/Initialize() +/obj/item/reagent_containers/food/snacks/cookie/mysterious/Initialize() . = ..() -/obj/item/weapon/reagent_containers/food/snacks/cookie/mysterious/attack(mob/living/M as mob, mob/user as mob, def_zone) +/obj/item/reagent_containers/food/snacks/cookie/mysterious/attack(mob/living/M as mob, mob/user as mob, def_zone) . = ..() if (M == user) M.resize(3) @@ -555,7 +555,7 @@ // ************** //Lucy Price -/obj/item/weapon/reagent_containers/food/drinks/flask/vacuumflask/fluff/lucyprice +/obj/item/reagent_containers/food/drinks/flask/vacuumflask/fluff/lucyprice name = "Cryostasis Thermos" desc = " A thermos that has been designed to look something akin to a mix between a cryostasis beaker and a thermos. Does NOT keep the drinks cold, surprisingly enough." icon_state = "cryothermos" @@ -566,7 +566,7 @@ // ************** //Mocha -/obj/item/device/modkit_conversion/fluff/mocha_suit_kit +/obj/item/modkit_conversion/fluff/mocha_suit_kit name = "Mocha's modkit" desc = "A kit containing all the needed tools and parts to modify a Explorer Suit" owner_ckey = "mocatheporg1" @@ -580,14 +580,14 @@ // ************* // Foxicide // ************* -/obj/item/weapon/material/knife/tacknife/survival/fluff/kaith +/obj/item/material/knife/tacknife/survival/fluff/kaith name = "Trusty Survival Knife" desc = "An old looking knife with an outdated wooden handle. Still looks robust, though." icon = 'icons/vore/custom_items_yw.dmi' icon_state = "kaithknife" named_from_material = 0 -/obj/item/device/modkit_conversion/fluff/kaith_knife_kit +/obj/item/modkit_conversion/fluff/kaith_knife_kit name = "Kaith's modkit" desc = "A kit containing all the needed tools and parts to modify a survival knife" owner_ckey = "foxicide" @@ -595,39 +595,39 @@ icon = 'icons/vore/custom_items_vr.dmi' icon_state = "modkit" - from_suit = /obj/item/weapon/material/knife/tacknife/survival - to_suit = /obj/item/weapon/material/knife/tacknife/survival/fluff/kaith + from_suit = /obj/item/material/knife/tacknife/survival + to_suit = /obj/item/material/knife/tacknife/survival/fluff/kaith // ************* // Coda_Vanistok // ************* -/obj/item/weapon/implanter/fluff/coda - imp = new /obj/item/weapon/implant/fluff/coda +/obj/item/implanter/fluff/coda + imp = new /obj/item/implant/fluff/coda icon_state = "implanter1_1" -/obj/item/weapon/implanter/fluff/coda/remove_implant() //No way to remove this implant. +/obj/item/implanter/fluff/coda/remove_implant() //No way to remove this implant. to_chat(usr, "It seems \the [imp] can't be removed from \the [src].") return -/obj/item/weapon/implanter/fluff/coda/attack() +/obj/item/implanter/fluff/coda/attack() ..() if(!imp) //After injection, the implanter poofs. to_chat(usr, "\The [src] disentegrates after you use it!") qdel(src) -/obj/item/weapon/implant/fluff/coda +/obj/item/implant/fluff/coda name = "locked size-modification implant" desc = "This is an implant that allows the user to change their size. It appears to be locked to two settings." var/mob/living/implanted_in = null -/obj/item/weapon/implant/fluff/coda/post_implant(mob/source) +/obj/item/implant/fluff/coda/post_implant(mob/source) ..() var/mob/living/H = source - H.verbs += /obj/item/weapon/implant/fluff/coda/proc/coda_implant_resize + H.verbs += /obj/item/implant/fluff/coda/proc/coda_implant_resize implanted_in = source START_PROCESSING(SSobj, src) -/obj/item/weapon/implant/fluff/coda/process() +/obj/item/implant/fluff/coda/process() if(implanted_in && (src.imp_in != implanted_in)) //If the implant is removed. implanted_in.setBrainLoss(200) visible_message("\The [src] shorts and sparks during removal, frying itself!") @@ -638,7 +638,7 @@ icon_state = "implant_melted" malfunction = MALFUNCTION_PERMANENT -/obj/item/weapon/implant/fluff/coda/proc/coda_implant_resize(var/mob/living/carbon/human/H) +/obj/item/implant/fluff/coda/proc/coda_implant_resize(var/mob/living/carbon/human/H) set name = "Resize (Implant)" set desc = "Change your size between two different preset options." set category = "IC" @@ -654,7 +654,7 @@ // ************* // Dopiotl // ************* -/obj/item/weapon/storage/secure/briefcase/fluff/jeans +/obj/item/storage/secure/briefcase/fluff/jeans name = "Sweet Ebony" desc = "An ebony/wooden secure case lined with gold. It looks thick, heavy, expensive, and incredibly sturdy. The design is sleek and elegant, adorned in intricate markings on the side, with hand-crafted artwork of a constellation you can't quite seem to recollect. It is surprisingly cold to the touch." icon = 'icons/vore/custom_items_yw.dmi' @@ -665,21 +665,21 @@ slot_r_hand_str = 'icons/vore/custom_items_right_hand_yw.dmi', ) var/list/has_items = list( - /obj/item/weapon/reagent_containers/food/snacks/chocolatebar, - /obj/item/weapon/reagent_containers/food/snacks/chocolatebar, - /obj/item/weapon/reagent_containers/food/snacks/chocolatebar, - /obj/item/weapon/reagent_containers/food/snacks/chocolatebar, - /obj/item/weapon/reagent_containers/food/snacks/chocolatebar, - /obj/item/weapon/reagent_containers/food/snacks/chocolatebar, - /obj/item/weapon/reagent_containers/food/snacks/chocolatebar, - /obj/item/weapon/reagent_containers/food/snacks/chocolatebar, + /obj/item/reagent_containers/food/snacks/chocolatebar, + /obj/item/reagent_containers/food/snacks/chocolatebar, + /obj/item/reagent_containers/food/snacks/chocolatebar, + /obj/item/reagent_containers/food/snacks/chocolatebar, + /obj/item/reagent_containers/food/snacks/chocolatebar, + /obj/item/reagent_containers/food/snacks/chocolatebar, + /obj/item/reagent_containers/food/snacks/chocolatebar, + /obj/item/reagent_containers/food/snacks/chocolatebar, ) -/obj/item/weapon/storage/secure/briefcase/fluff/jeans/New() //this is entierly nessicary to spawn stuff. "FUN" -luke +/obj/item/storage/secure/briefcase/fluff/jeans/New() //this is entierly nessicary to spawn stuff. "FUN" -luke storage_slots = has_items.len allowed = list() for(var/P in has_items) allowed += P new P(src) ..() - return \ No newline at end of file + return diff --git a/code/modules/vore/fluffstuff/custom_rigs_yw.dm b/code/modules/vore/fluffstuff/custom_rigs_yw.dm index 435ff9e4a89..ab33fc01a3c 100644 --- a/code/modules/vore/fluffstuff/custom_rigs_yw.dm +++ b/code/modules/vore/fluffstuff/custom_rigs_yw.dm @@ -1,4 +1,4 @@ -/obj/item/device/modkit_conversion/fluff/sheri_rig_kit +/obj/item/modkit_conversion/fluff/sheri_rig_kit name = "Sheri's modkit" desc = "A kit containing all the needed tools and parts to modify a Research Director rig suit. It has a snake painted on it." owner_ckey = "esperkin" @@ -6,10 +6,10 @@ icon = 'icons/vore/custom_items_vr.dmi' icon_state = "modkit" - from_suit = /obj/item/weapon/rig/hazmat - to_suit = /obj/item/weapon/rig/hazmat/fluff/sheri + from_suit = /obj/item/rig/hazmat + to_suit = /obj/item/rig/hazmat/fluff/sheri -/obj/item/weapon/rig/hazmat/fluff/sheri +/obj/item/rig/hazmat/fluff/sheri name = "AHS-VPR Control Module" desc = "This is the control module for a prototype hazardous environment suit, designed to protect the wearer from radiation, pressure, and hostile aliens alike. This particular suit was designed to fit a naga, and is labeled as the model 'Viper'. A small tag on it marks it as belonging to a 'Sheri Calen'" icon = 'icons/vore/rig_yw/rigs_module.dmi' @@ -57,7 +57,7 @@ -/obj/item/weapon/rig/medical/equipped/fluff/saur +/obj/item/rig/medical/equipped/fluff/saur name = "AMR-DRGN" desc = "This seems to be a highly customized Medical RIG suit, coloured black and purple, and with an added extendable plating to include a pair of wings and a tail comfortably within the suits protection. There's a nametag on the chest piece, and on the control module itself, with the name 'Saur Darastrix' on it." icon = 'icons/vore/rig_yw/rigs_module.dmi' @@ -85,4 +85,4 @@ /obj/item/clothing/gloves/gauntlets/rig/fluff/saur icon = 'icons/vore/rig_yw/rigs_gauntlets.dmi' - icon_override = 'icons/vore/rig_yw/rigs_gauntlets_onmob.dmi' \ No newline at end of file + icon_override = 'icons/vore/rig_yw/rigs_gauntlets_onmob.dmi' diff --git a/code/modules/vore/mouseray.dm b/code/modules/vore/mouseray.dm index 3e3ead048e2..902275cef94 100644 --- a/code/modules/vore/mouseray.dm +++ b/code/modules/vore/mouseray.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/gun/energy/mouseray +/obj/item/gun/energy/mouseray name = "mouse ray" desc = "A mysterious looking ray gun..." icon = 'icons/obj/mouseray.dmi' @@ -22,30 +22,30 @@ "dust jumper" = /mob/living/simple_mob/vore/alienanimals/dustjumper ) -/obj/item/weapon/gun/energy/mouseray/attack_self(mob/user) +/obj/item/gun/energy/mouseray/attack_self(mob/user) . = ..() if(tf_allow_select) pick_type() -/obj/item/weapon/gun/energy/mouseray/proc/pick_type() +/obj/item/gun/energy/mouseray/proc/pick_type() var/choice = tgui_input_list(usr, "Select a type to turn things into.", "[src.name]", tf_possible_types) if(!choice) return tf_type = tf_possible_types[choice] - to_chat(usr, "You selected [choice].") + to_chat(usr, span_notice("You selected [choice].")) -/obj/item/weapon/gun/energy/mouseray/Fire(atom/target, mob/living/user, clickparams, pointblank, reflex) +/obj/item/gun/energy/mouseray/Fire(atom/target, mob/living/user, clickparams, pointblank, reflex) if(world.time < cooldown) - to_chat(usr, "\The [src] isn't ready yet.") + to_chat(usr, span_warning("\The [src] isn't ready yet.")) return . = ..() -/obj/item/weapon/gun/energy/mouseray/Fire_userless(atom/target) +/obj/item/gun/energy/mouseray/Fire_userless(atom/target) if(world.time < cooldown) return . = ..() -/obj/item/weapon/gun/energy/mouseray/consume_next_projectile() +/obj/item/gun/energy/mouseray/consume_next_projectile() . = ..() var/obj/item/projectile/beam/mouselaser/G = . cooldown = world.time + cooldown_time @@ -54,7 +54,7 @@ if(tf_admin_pref_override) G.tf_admin_pref_override = tf_admin_pref_override -/obj/item/weapon/gun/energy/mouseray/update_icon() +/obj/item/gun/energy/mouseray/update_icon() if(charge_meter) var/ratio = power_supply.charge / power_supply.maxcharge @@ -110,7 +110,7 @@ ourmob.Life(1) if(ishuman(M)) for(var/obj/item/W in M) - if(istype(W, /obj/item/weapon/implant/backup) || istype(W, /obj/item/device/nif)) + if(istype(W, /obj/item/implant/backup) || istype(W, /obj/item/nif)) continue M.drop_from_inventory(W) @@ -199,7 +199,7 @@ if(ishuman(src)) for(var/obj/item/W in src) - if(istype(W, /obj/item/weapon/implant/backup) || istype(W, /obj/item/device/nif)) + if(istype(W, /obj/item/implant/backup) || istype(W, /obj/item/nif)) continue src.drop_from_inventory(W) @@ -249,11 +249,13 @@ new_mob.nutrition_message_visible = nutrition_message_visible new_mob.allow_spontaneous_tf = allow_spontaneous_tf new_mob.eating_privacy_global = eating_privacy_global + new_mob.allow_mimicry = allow_mimicry new_mob.text_warnings = text_warnings + new_mob.allow_mind_transfer = allow_mind_transfer /////SUBTYPES///// -/obj/item/weapon/gun/energy/mouseray/medical //This just changes people back, it can't TF people into anything without shenanigans +/obj/item/gun/energy/mouseray/medical //This just changes people back, it can't TF people into anything without shenanigans name = "recombobulation ray" desc = "The Type Gamma Medical Recombobulation ray! A mysterious looking ray gun! It works to change people who have had their form significantly altered back into their original forms!" @@ -264,7 +266,7 @@ tf_type = null projectile_type = /obj/item/projectile/beam/mouselaser/reversion -/obj/item/weapon/gun/energy/mouseray/medical/consume_next_projectile() +/obj/item/gun/energy/mouseray/medical/consume_next_projectile() . = ..() var/obj/item/projectile/beam/mouselaser/reversion/G = . cooldown = world.time + cooldown_time @@ -298,7 +300,7 @@ return if(target != firer) //If you shot yourself, you probably want to be TFed so don't bother with prefs. if(!M.allow_spontaneous_tf && !tf_admin_pref_override) - firer.visible_message("\The [src] buzzes impolitely.") + firer.visible_message(span_warning("\The [src] buzzes impolitely.")) return if(M.tf_mob_holder) var/mob/living/ourmob = M.tf_mob_holder @@ -323,17 +325,17 @@ if(ishuman(M)) for(var/obj/item/W in M) - if(istype(W, /obj/item/weapon/implant/backup) || istype(W, /obj/item/device/nif)) + if(istype(W, /obj/item/implant/backup) || istype(W, /obj/item/nif)) continue M.drop_from_inventory(W) qdel(target) - firer.visible_message("\The [shot_from] boops pleasantly.") + firer.visible_message(span_notice("\The [shot_from] boops pleasantly.")) return else - firer.visible_message("\The [shot_from] buzzes impolitely.") + firer.visible_message(span_warning("\The [shot_from] buzzes impolitely.")) -/obj/item/weapon/gun/energy/mouseray/admin //NEVER GIVE THIS TO ANYONE +/obj/item/gun/energy/mouseray/admin //NEVER GIVE THIS TO ANYONE name = "experimental metamorphosis ray" cooldown_time = 5 SECONDS tf_allow_select = TRUE @@ -341,7 +343,7 @@ charge_cost = 0 icon_state = "adminray" -/obj/item/weapon/gun/energy/mouseray/metamorphosis +/obj/item/gun/energy/mouseray/metamorphosis name = "metamorphosis ray" tf_allow_select = TRUE tf_possible_types = list( @@ -366,7 +368,7 @@ "sheep" = /mob/living/simple_mob/vore/sheep ) -/obj/item/weapon/gun/energy/mouseray/metamorphosis/advanced +/obj/item/gun/energy/mouseray/metamorphosis/advanced name = "advanced metamorphosis ray" tf_possible_types = list( "mouse" = /mob/living/simple_mob/animal/passive/mouse, @@ -420,75 +422,75 @@ "leopardmander" = /mob/living/simple_mob/vore/leopardmander ) -/obj/item/weapon/gun/energy/mouseray/metamorphosis/advanced/random +/obj/item/gun/energy/mouseray/metamorphosis/advanced/random name = "unstable metamorphosis ray" tf_allow_select = FALSE -/obj/item/weapon/gun/energy/mouseray/metamorphosis/advanced/random/Fire(atom/target, mob/living/user, clickparams, pointblank, reflex) +/obj/item/gun/energy/mouseray/metamorphosis/advanced/random/Fire(atom/target, mob/living/user, clickparams, pointblank, reflex) if(world.time < cooldown) - to_chat(usr, "\The [src] isn't ready yet.") + to_chat(usr, span_warning("\The [src] isn't ready yet.")) return var/choice = pick(tf_possible_types) tf_type = tf_possible_types[choice] . = ..() -/obj/item/weapon/gun/energy/mouseray/woof +/obj/item/gun/energy/mouseray/woof name = "woof ray" tf_type = /mob/living/simple_mob/vore/woof -/obj/item/weapon/gun/energy/mouseray/corgi +/obj/item/gun/energy/mouseray/corgi name = "corgi ray" tf_type = /mob/living/simple_mob/animal/passive/dog/corgi -/obj/item/weapon/gun/energy/mouseray/cat +/obj/item/gun/energy/mouseray/cat name = "cat ray" tf_type = /mob/living/simple_mob/animal/passive/cat -/obj/item/weapon/gun/energy/mouseray/chicken +/obj/item/gun/energy/mouseray/chicken name = "chicken ray" tf_type = /mob/living/simple_mob/animal/passive/chicken -/obj/item/weapon/gun/energy/mouseray/lizard +/obj/item/gun/energy/mouseray/lizard name = "lizard ray" tf_type = /mob/living/simple_mob/animal/passive/lizard -/obj/item/weapon/gun/energy/mouseray/rabbit +/obj/item/gun/energy/mouseray/rabbit name = "rabbit ray" tf_type = /mob/living/simple_mob/vore/rabbit -/obj/item/weapon/gun/energy/mouseray/fennec +/obj/item/gun/energy/mouseray/fennec name = "fennec ray" tf_type = /mob/living/simple_mob/animal/passive/fennec -/obj/item/weapon/gun/energy/mouseray/monkey +/obj/item/gun/energy/mouseray/monkey name = "monkey ray" tf_type = /mob/living/carbon/human/monkey -/obj/item/weapon/gun/energy/mouseray/wolpin +/obj/item/gun/energy/mouseray/wolpin name = "wolpin ray" tf_type = /mob/living/carbon/human/wolpin -/obj/item/weapon/gun/energy/mouseray/otie +/obj/item/gun/energy/mouseray/otie name = "otie ray" tf_type = /mob/living/simple_mob/vore/otie -/obj/item/weapon/gun/energy/mouseray/direwolf +/obj/item/gun/energy/mouseray/direwolf name = "dire wolf ray" tf_type = /mob/living/simple_mob/vore/wolf/direwolf -/obj/item/weapon/gun/energy/mouseray/giantrat +/obj/item/gun/energy/mouseray/giantrat name = "giant rat ray" tf_type = /mob/living/simple_mob/vore/aggressive/rat -/obj/item/weapon/gun/energy/mouseray/redpanda +/obj/item/gun/energy/mouseray/redpanda name = "red panda ray" tf_type = /mob/living/simple_mob/vore/redpanda -/obj/item/weapon/gun/energy/mouseray/catslug +/obj/item/gun/energy/mouseray/catslug name = "catslug ray" tf_type = /mob/living/simple_mob/vore/alienanimals/catslug -/obj/item/weapon/gun/energy/mouseray/teppi +/obj/item/gun/energy/mouseray/teppi name = "teppi ray" tf_type = /mob/living/simple_mob/vore/alienanimals/teppi @@ -502,21 +504,21 @@ spawn_nothing_percentage = 0 /obj/random/mouseray/item_to_spawn() - return pick(prob(300);/obj/item/weapon/gun/energy/mouseray, - prob(50);/obj/item/weapon/gun/energy/mouseray/corgi, - prob(50);/obj/item/weapon/gun/energy/mouseray/woof, - prob(50);/obj/item/weapon/gun/energy/mouseray/cat, - prob(50);/obj/item/weapon/gun/energy/mouseray/chicken, - prob(50);/obj/item/weapon/gun/energy/mouseray/lizard, - prob(50);/obj/item/weapon/gun/energy/mouseray/rabbit, - prob(50);/obj/item/weapon/gun/energy/mouseray/fennec, - prob(5);/obj/item/weapon/gun/energy/mouseray/monkey, - prob(5);/obj/item/weapon/gun/energy/mouseray/wolpin, - prob(5);/obj/item/weapon/gun/energy/mouseray/otie, - prob(5);/obj/item/weapon/gun/energy/mouseray/direwolf, - prob(5);/obj/item/weapon/gun/energy/mouseray/giantrat, - prob(50);/obj/item/weapon/gun/energy/mouseray/redpanda, - prob(5);/obj/item/weapon/gun/energy/mouseray/catslug, - prob(1);/obj/item/weapon/gun/energy/mouseray/metamorphosis, - prob(1);/obj/item/weapon/gun/energy/mouseray/metamorphosis/advanced/random + return pick(prob(300);/obj/item/gun/energy/mouseray, + prob(50);/obj/item/gun/energy/mouseray/corgi, + prob(50);/obj/item/gun/energy/mouseray/woof, + prob(50);/obj/item/gun/energy/mouseray/cat, + prob(50);/obj/item/gun/energy/mouseray/chicken, + prob(50);/obj/item/gun/energy/mouseray/lizard, + prob(50);/obj/item/gun/energy/mouseray/rabbit, + prob(50);/obj/item/gun/energy/mouseray/fennec, + prob(5);/obj/item/gun/energy/mouseray/monkey, + prob(5);/obj/item/gun/energy/mouseray/wolpin, + prob(5);/obj/item/gun/energy/mouseray/otie, + prob(5);/obj/item/gun/energy/mouseray/direwolf, + prob(5);/obj/item/gun/energy/mouseray/giantrat, + prob(50);/obj/item/gun/energy/mouseray/redpanda, + prob(5);/obj/item/gun/energy/mouseray/catslug, + prob(1);/obj/item/gun/energy/mouseray/metamorphosis, + prob(1);/obj/item/gun/energy/mouseray/metamorphosis/advanced/random ) diff --git a/code/modules/vore/persist/persist_vr.dm b/code/modules/vore/persist/persist_vr.dm index 60311e9889b..bc96b1d82a0 100644 --- a/code/modules/vore/persist/persist_vr.dm +++ b/code/modules/vore/persist/persist_vr.dm @@ -106,6 +106,7 @@ prefs.size_multiplier = H.size_multiplier prefs.save_character() + prefs.save_preferences() // Saves mob's current coloration state to prefs // This basically needs to be the reverse of /datum/category_item/player_setup_item/general/body/copy_to_mob() ~Leshana @@ -145,6 +146,11 @@ prefs.r_ears3 = character.r_ears3 prefs.g_ears3 = character.g_ears3 prefs.b_ears3 = character.b_ears3 + + // secondary ears + prefs.ear_secondary_style = character.ear_secondary_style?.name + prefs.ear_secondary_colors = character.ear_secondary_colors + prefs.r_tail = character.r_tail prefs.b_tail = character.b_tail prefs.g_tail = character.g_tail @@ -230,40 +236,49 @@ * towards future shenanigans such as upgradable NIFs or different types or things of that nature, * without invoking the need for a bunch of different save file variables. */ -/proc/persist_nif_data(var/mob/living/carbon/human/H,var/datum/preferences/prefs) +/proc/persist_nif_data(mob/living/carbon/human/H) if(!istype(H)) stack_trace("Persist (NIF): Given a nonhuman: [H]") return - if(!prefs) - prefs = prep_for_persist(H) + var/obj/item/nif/nif = H.nif - if(!prefs) - warning("Persist (NIF): [H] has no prefs datum, skipping") + if(nif && H.ckey != nif.owner_key) return - var/obj/item/device/nif/nif = H.nif - - if(nif && H.ckey != nif.owner_key) + var/slot = H?.mind?.loaded_from_slot + if(isnull(slot)) + warning("Persist (NIF): [H] has no mind slot, skipping") return + var/datum/json_savefile/savefile = new /datum/json_savefile(nif_savefile_path(H.ckey)) + var/list/save_data = savefile.get_entry("character[slot]", list()) + //If they have one, and if it's not installing without an owner, because //Someone who joins and immediately leaves again (wrong job choice, maybe) //should keep it even though it was probably doing the quick-calibrate, and their //owner will have been pre-set during the constructor. + var/nif_path + var/nif_durability + var/nif_savedata if(nif && !(nif.stat == NIF_INSTALLING && !nif.owner)) - prefs.nif_path = nif.type - prefs.nif_durability = nif.durability - prefs.nif_savedata = nif.save_data.Copy() + nif_path = nif.type + nif_durability = nif.durability + nif_savedata = nif.save_data.Copy() else - prefs.nif_path = null - prefs.nif_durability = null - prefs.nif_savedata = null + nif_path = null + nif_durability = null + nif_savedata = null + + save_data["nif_path"] = nif_path + save_data["nif_durability"] = nif_durability + save_data["nif_savedata"] = nif_savedata - var/datum/category_group/player_setup_category/vore_cat = prefs.player_setup.categories_by_name["VORE"] - var/datum/category_item/player_setup_item/vore/nif/nif_prefs = vore_cat.items_by_name["NIF Data"] + savefile.set_entry("character[slot]", save_data) + savefile.save() - var/savefile/S = new /savefile(prefs.path) - if(!S) warning("Persist (NIF): Couldn't load NIF save savefile? [prefs.real_name]") - S.cd = "/character[prefs.default_slot]" - nif_prefs.save_character(S) + // If they still have the same character loaded, update prefs + if(H?.client?.prefs?.default_slot == slot) + var/datum/category_group/player_setup_category/vore_cat = H.client.prefs.player_setup.categories_by_name["VORE"] + var/datum/category_item/player_setup_item/vore/nif/nif_prefs = vore_cat.items_by_name["NIF Data"] + nif_prefs.load_character() diff --git a/code/modules/vore/resizing/crackers.dm b/code/modules/vore/resizing/crackers.dm index 8d718d379d7..6ce47ec6c38 100644 --- a/code/modules/vore/resizing/crackers.dm +++ b/code/modules/vore/resizing/crackers.dm @@ -2,7 +2,7 @@ //The winner of the pull has an effect applied to them. //Crackers do already exist, but these ones are a more memey scene item. -/obj/item/weapon/cracker +/obj/item/cracker name = "bluespace cracker" //I have no idea why this was called shrink ray when this increased and decreased size. desc = "A celebratory little game with a bluespace twist! Pull it between two people until it snaps, and the person who recieves the larger end gets a prize!" icon = 'icons/obj/crackers.dmi' @@ -15,7 +15,7 @@ var/rigged = 0 //So that they can be rigged by varedits to go one way or the other. positive values mean holder always wins, negative values mean target always wins. var/list/prizes = list("shrinking","growing","drugged","invisibility","knocked over","teleport","wealth") var/list/jokes = list( - "When is a boat just like snow? When it’s adrift.", + "When is a boat just like snow? When it's adrift.", "What happens to naughty elves? Santa gives them the sack.", "What do you call an old snowman? Water.", "Why has Santa been banned from sooty chimneys? Carbon footprints.", @@ -29,32 +29,32 @@ "What's red, and smells like blue paint? Red paint.", "Where do cows go to dance? A meat ball.", "What do you call a person who steals all your toenail clippings? A cliptoemaniac.", - "What’s brown and sticky? A stick.", + "What's brown and sticky? A stick.", "What's the best way to kill a circus? Go for the juggler.", "What do you call a cow with no legs? Ground Beef.", "Why'd the scarecrow win the Nobel prize? He was outstanding in his field.") -/obj/item/weapon/cracker/attack(atom/A, mob/living/user, adjacent, params) +/obj/item/cracker/attack(atom/A, mob/living/user, adjacent, params) var/mob/living/carbon/human/target = A if(!istype(target)) return if(target.stat) return if(target == user) - to_chat(user, "You can't pull \the [src] by yourself, that would just be sad!") + to_chat(user, span_notice("You can't pull \the [src] by yourself, that would just be sad!")) return - to_chat(user, "You offer \the [src] to \the [target] to pull and wait to see how whether they do.") + to_chat(user, span_notice("You offer \the [src] to \the [target] to pull and wait to see how whether they do.")) var/check_pull = tgui_alert(target, "\The [user] is offering to pull \the [src] with you, do you want to pull it?", "Pull Cracker", list("Yes", "No")) - if(check_pull == "No") - to_chat(user, "\The [target] chose not to pull \the [src]!") + if(!check_pull || check_pull == "No") + to_chat(user, span_notice("\The [target] chose not to pull \the [src]!")) return if(!adjacent) - to_chat(user, "\The [target] is not standing close enough to pull \the [src]!") + to_chat(user, span_notice("\The [target] is not standing close enough to pull \the [src]!")) return var/obj/item/check_hand = user.get_active_hand() if(check_hand != src) - to_chat(user, "\The [src] is no longer in-hand!") - to_chat(target, "\The [src] is no longer in-hand!") + to_chat(user, span_notice("\The [src] is no longer in-hand!")) + to_chat(target, span_notice("\The [src] is no longer in-hand!")) return var/prize = pick(prizes) var/joke = pick(jokes) @@ -77,30 +77,30 @@ var/spawnloc = get_turf(winner) - winner.visible_message("\The [winner] wins the cracker prize!","You win the cracker prize!") + winner.visible_message(span_notice("\The [winner] wins the cracker prize!"),span_notice("You win the cracker prize!")) if(prize == "shrinking") winner.resize(0.25) - winner.visible_message("\The [winner] shrinks suddenly!") + winner.visible_message(span_bold("\The [winner]") + " shrinks suddenly!") if(prize == "growing") winner.resize(2) - winner.visible_message("\The [winner] grows in height suddenly.") + winner.visible_message(span_bold("\The [winner]") + " grows in height suddenly.") if(prize == "drugged") winner.druggy = max(winner.druggy, 50) if(prize == "invisibility") if(!winner.cloaked) - winner.visible_message("\The [winner] vanishes from sight.") + winner.visible_message(span_bold("\The [winner]") + " vanishes from sight.") winner.cloak() spawn(600) if(winner.cloaked) winner.uncloak() - winner.visible_message("\The [winner] appears as if from thin air.") + winner.visible_message(span_bold("\The [winner]") + " appears as if from thin air.") if(prize == "knocked over") - winner.visible_message("\The [winner] is suddenly knocked to the ground.") + winner.visible_message(span_bold("\The [winner]") + " is suddenly knocked to the ground.") winner.weakened = max(winner.weakened,50) if(prize == "teleport") if(loser.can_be_drop_pred && loser.vore_selected) if(winner.devourable && winner.can_be_drop_prey) - winner.visible_message("\The [winner] is teleported to somewhere nearby...") + winner.visible_message(span_bold("\The [winner]") + " is teleported to somewhere nearby...") var/datum/effect/effect/system/spark_spread/spk spk = new(winner) @@ -113,48 +113,48 @@ if(prize == "wealth") new /obj/random/cash/huge(spawnloc) new /obj/random/cash/huge(spawnloc) - winner.visible_message("\The [winner] has a whole load of cash fall at their feet!") + winner.visible_message(span_bold("\The [winner]") + " has a whole load of cash fall at their feet!") playsound(user, 'sound/effects/snap.ogg', 50, 1) user.drop_item(src) new /obj/random/toy(spawnloc) new /obj/item/clothing/head/paper_crown(spawnloc) - var/obj/item/weapon/paper/cracker_joke/J = new(spawnloc) + var/obj/item/paper/cracker_joke/J = new(spawnloc) J.info = joke qdel(src) -/obj/item/weapon/cracker/Initialize() +/obj/item/cracker/Initialize() var/list/styles = list("blue","green","yellow","red","heart","hazard") var/style = pick(styles) icon_state = style item_state = style ..() -/obj/item/weapon/cracker/shrinking +/obj/item/cracker/shrinking name = "shrinking bluespace cracker" prizes = list("shrinking") -/obj/item/weapon/cracker/growing +/obj/item/cracker/growing name = "growing bluespace cracker" prizes = list("growing") -/obj/item/weapon/cracker/invisibility +/obj/item/cracker/invisibility name = "cloaking bluespace cracker" prizes = list("invisibility") -/obj/item/weapon/cracker/drugged +/obj/item/cracker/drugged name = "psychedelic bluespace cracker" prizes = list("drugged") -/obj/item/weapon/cracker/knockover +/obj/item/cracker/knockover name = "forceful bluespace cracker" prizes = list("knocked over") -/obj/item/weapon/cracker/vore +/obj/item/cracker/vore name = "teleporting bluespace cracker" prizes = list("teleport") -/obj/item/weapon/cracker/money +/obj/item/cracker/money name = "fortuitous bluespace cracker" prizes = list("wealth") @@ -175,9 +175,9 @@ item_state = style ..() -/obj/item/weapon/paper/cracker_joke +/obj/item/paper/cracker_joke name = "joke" icon_state = "joke" -/obj/item/weapon/paper/cracker_joke/update_icon() +/obj/item/paper/cracker_joke/update_icon() return diff --git a/code/modules/vore/resizing/holder_micro_vr.dm b/code/modules/vore/resizing/holder_micro_vr.dm index b75d9cd2edf..55a1ba07927 100644 --- a/code/modules/vore/resizing/holder_micro_vr.dm +++ b/code/modules/vore/resizing/holder_micro_vr.dm @@ -1,6 +1,6 @@ -// Micro Holders - Extends /obj/item/weapon/holder +// Micro Holders - Extends /obj/item/holder -/obj/item/weapon/holder/micro +/obj/item/holder/micro name = "micro" desc = "Another crewmember, small enough to fit in your hand." icon_state = "micro" @@ -10,12 +10,12 @@ item_icons = null // No in-hand sprites (for now, anyway, we could totally add some) pixel_y = 0 // Override value from parent. -/obj/item/weapon/holder/examine(mob/user) +/obj/item/holder/examine(mob/user) . = list() for(var/mob/living/M in contents) . += M.examine(user) -/obj/item/weapon/holder/MouseDrop(mob/M) +/obj/item/holder/MouseDrop(mob/M) ..() if(M != usr) return if(usr == src) return @@ -24,7 +24,7 @@ for(var/mob/living/carbon/human/O in contents) O.show_inventory_panel(usr, state = GLOB.tgui_deep_inventory_state) -/obj/item/weapon/holder/micro/attack_self(mob/living/carbon/user) //reworked so it works w/ nonhumans +/obj/item/holder/micro/attack_self(mob/living/carbon/user) //reworked so it works w/ nonhumans user.setClickCooldown(user.get_attack_speed()) for(var/L in contents) if(ishuman(L)) @@ -32,21 +32,21 @@ H.help_shake_act(user) if(isanimal(L)) var/mob/living/simple_mob/S = L - user.visible_message("[user] [S.response_help] \the [S].") + user.visible_message(span_notice("[user] [S.response_help] \the [S].")) //Egg features. -/obj/item/weapon/holder/attack_hand(mob/living/user as mob) - if(istype(src.loc, /obj/item/weapon/storage/vore_egg)) //Don't scoop up the egged mob +/obj/item/holder/attack_hand(mob/living/user as mob) + if(istype(src.loc, /obj/item/storage/vore_egg)) //Don't scoop up the egged mob src.pickup(user) user.drop_from_inventory(src) return ..() -/obj/item/weapon/holder/container_resist(mob/living/held) - if(!istype(src.loc, /obj/item/weapon/storage/vore_egg)) +/obj/item/holder/container_resist(mob/living/held) + if(!istype(src.loc, /obj/item/storage/vore_egg)) ..() else - var/obj/item/weapon/storage/vore_egg/E = src.loc + var/obj/item/storage/vore_egg/E = src.loc if(isbelly(E.loc)) var/obj/belly/B = E.loc B.relay_resist(held, E) diff --git a/code/modules/vore/resizing/holder_vr.dm b/code/modules/vore/resizing/holder_vr.dm index 2d79d5eda93..473200425c8 100644 --- a/code/modules/vore/resizing/holder_vr.dm +++ b/code/modules/vore/resizing/holder_vr.dm @@ -1,13 +1,13 @@ -/obj/item/weapon/holder/dropped(mob/user) +/obj/item/holder/dropped(mob/user) if (held_mob?.loc != src || isturf(loc)) var/held = held_mob dump_mob() held_mob = held -/obj/item/weapon/holder/attack_hand(mob/living/user as mob) //straight up just copypasted from objects/items.dm with a few things changed (doesn't called dropped unless +actually dropped+) +/obj/item/holder/attack_hand(mob/living/user as mob) //straight up just copypasted from objects/items.dm with a few things changed (doesn't called dropped unless +actually dropped+) if (!user) return if(anchored) - to_chat(user, span("notice", "\The [src] won't budge, you can't pick it up!")) + to_chat(user, span_notice("\The [src] won't budge, you can't pick it up!")) return if (hasorgans(user)) var/mob/living/carbon/human/H = user @@ -15,16 +15,16 @@ if (user.hand) temp = H.organs_by_name["l_hand"] if(temp && !temp.is_usable()) - to_chat(user, "You try to move your [temp.name], but cannot!") + to_chat(user, span_notice("You try to move your [temp.name], but cannot!")) return if(!temp) - to_chat(user, "You try to use your hand, but realize it is no longer attached!") + to_chat(user, span_notice("You try to use your hand, but realize it is no longer attached!")) return if(held_mob == user) return // No picking your own micro self up var/old_loc = src.loc - if (istype(src.loc, /obj/item/weapon/storage)) - var/obj/item/weapon/storage/S = src.loc + if (istype(src.loc, /obj/item/storage)) + var/obj/item/storage/S = src.loc if(!S.remove_from_storage(src)) return @@ -56,4 +56,4 @@ If this is fine to you, ensure that the other player is fine with you doing things to them beforehand! "},"OOC Warning") //VORESTATION EDIT END. - return \ No newline at end of file + return diff --git a/code/modules/vore/resizing/resize_vr.dm b/code/modules/vore/resizing/resize_vr.dm index b0e52cee520..80ae9f8b720 100644 --- a/code/modules/vore/resizing/resize_vr.dm +++ b/code/modules/vore/resizing/resize_vr.dm @@ -12,7 +12,7 @@ // Define holder_type on types we want to be scoop-able /mob/living/carbon/human - holder_type = /obj/item/weapon/holder/micro + holder_type = /obj/item/holder/micro // The reverse lookup of player_sizes_list, number to name. /proc/player_size_name(var/size_multiplier) @@ -62,13 +62,14 @@ /atom/movable/proc/size_range_check(size_select) //both objects and mobs needs to have that var/area/A = get_area(src) //Get the atom's area to check for size limit. - if((A?.limit_mob_size && (size_select > 200 || size_select < 25)) || (size_select > 600 || size_select <1)) + size_select = size_select / 100 + if((!A?.flag_check(AREA_ALLOW_LARGE_SIZE) && (size_select > RESIZE_MAXIMUM || size_select < RESIZE_MINIMUM)) || (size_select > RESIZE_MAXIMUM_DORMS || size_select < RESIZE_MINIMUM_DORMS)) return FALSE return TRUE /atom/movable/proc/has_large_resize_bounds() var/area/A = get_area(src) //Get the atom's area to check for size limit. - return !A.limit_mob_size + return A ? A.flag_check(AREA_ALLOW_LARGE_SIZE) : FALSE /proc/is_extreme_size(size) return (size < RESIZE_MINIMUM || size > RESIZE_MAXIMUM) @@ -134,6 +135,9 @@ if(!resizable && !ignore_prefs) return 1 . = ..() + if(!ishuman(temporary_form) && isliving(temporary_form)) + var/mob/living/temp_form = temporary_form + temp_form.resize(new_size, animate, uncapped, ignore_prefs, aura_animation) if(LAZYLEN(hud_list) && has_huds) var/new_y_offset = vis_height * (size_multiplier - 1) for(var/index = 1 to hud_list.len) @@ -152,7 +156,7 @@ /mob/living/proc/set_size() set name = "Adjust Mass" - set category = "Abilities" //Seeing as prometheans have an IC reason to be changing mass. + set category = "Abilities.General" //Seeing as prometheans have an IC reason to be changing mass. var/nagmessage = "Adjust your mass to be a size between 25 to 200% (or 1% to 600% in dormitories). (DO NOT ABUSE)" var/default = size_multiplier * 100 @@ -166,7 +170,7 @@ /* //Add the set_size() proc to usable verbs. By commenting this out, we can leave the proc and hand it to species that need it. /hook/living_new/proc/resize_setup(mob/living/H) - H.verbs += /mob/living/proc/set_size + add_verb(H, /mob/living/proc/set_size) return 1 */ @@ -190,10 +194,10 @@ return 0 if(size_diff >= 0.50 || mob_size < MOB_SMALL || size_diff >= get_effective_size() || ignore_size) if(buckled) - to_chat(usr,"You have to unbuckle \the [src] before you pick them up.") + to_chat(usr,span_notice("You have to unbuckle \the [src] before you pick them up.")) return 0 - holder_type = /obj/item/weapon/holder/micro - var/obj/item/weapon/holder/m_holder = get_scooped(M, G) + holder_type = /obj/item/holder/micro + var/obj/item/holder/m_holder = get_scooped(M, G) holder_type = holder_default if (m_holder) return 1 @@ -244,9 +248,9 @@ tmob_message = tail.msg_owner_stepunder if(src_message) - to_chat(src, "[STEP_TEXT_OWNER(src_message)]") + to_chat(src, span_filter_notice("[STEP_TEXT_OWNER(src_message)]")) if(tmob_message) - to_chat(tmob, "[STEP_TEXT_PREY(tmob_message)]") + to_chat(tmob, span_filter_notice("[STEP_TEXT_PREY(tmob_message)]")) return TRUE return FALSE @@ -307,8 +311,8 @@ return FALSE if(tmob.a_intent != I_HELP && prob(35)) - to_chat(pred, "[prey] dodges out from under your foot!") - to_chat(prey, "You narrowly avoid [pred]'s foot!") + to_chat(pred, span_danger("[prey] dodges out from under your foot!")) + to_chat(prey, span_danger("You narrowly avoid [pred]'s foot!")) return FALSE now_pushing = 0 @@ -396,17 +400,17 @@ prey.drip(3) add_attack_logs(pred, prey, "Crushed underfoot (walk, about [calculated_damage] damage)") - to_chat(pred, "[message_pred]") - to_chat(prey, "[message_prey]") + to_chat(pred, span_danger("[message_pred]")) + to_chat(prey, span_danger("[message_prey]")) return TRUE /mob/living/verb/toggle_pickups() set name = "Toggle Micro Pick-up" set desc = "Toggles whether your help-intent action attempts to pick up the micro or pet/hug/help them. Does not disable participation in pick-up mechanics entirely, refer to Vore Panel preferences for that." - set category = "IC" + set category = "IC.Settings" pickup_active = !pickup_active - to_chat(src, "You will [pickup_active ? "now" : "no longer"] attempt to pick up mobs when clicking them with help intent.") + to_chat(src, span_filter_notice("You will [pickup_active ? "now" : "no longer"] attempt to pick up mobs when clicking them with help intent.")) #undef STEP_TEXT_OWNER #undef STEP_TEXT_PREY diff --git a/code/modules/vore/resizing/sizegun_slow_vr.dm b/code/modules/vore/resizing/sizegun_slow_vr.dm index 9a993e7a872..c9d73952f3d 100644 --- a/code/modules/vore/resizing/sizegun_slow_vr.dm +++ b/code/modules/vore/resizing/sizegun_slow_vr.dm @@ -1,7 +1,7 @@ #define SIZE_SHRINK 0 #define SIZE_GROW 1 -/obj/item/device/slow_sizegun +/obj/item/slow_sizegun name = "gradual size gun" desc = "A highly advanced ray gun, designed for progressive and gradual changing of size. Size trading can be toggled on via alt-clicking." icon = 'icons/obj/gun_vr.dmi' @@ -19,13 +19,13 @@ var/current_target var/trading = 0 -/obj/item/device/slow_sizegun/update_icon() +/obj/item/slow_sizegun/update_icon() icon_state = "[base_icon_state]-[sizeshift_mode]" if(busy) icon_state = "[icon_state]-active" -/obj/item/device/slow_sizegun/proc/should_stop(var/mob/living/target, var/mob/living/user, var/active_hand) +/obj/item/slow_sizegun/proc/should_stop(var/mob/living/target, var/mob/living/user, var/active_hand) if(!target || !user || !active_hand || !istype(target) || !istype(user) || !busy) return TRUE @@ -80,7 +80,7 @@ return FALSE -/obj/item/device/slow_sizegun/afterattack(atom/target, mob/user, proximity_flag) +/obj/item/slow_sizegun/afterattack(atom/target, mob/user, proximity_flag) // Things that invalidate the scan immediately. if(isturf(target)) for(var/atom/A as anything in target) // If we can't scan the turf, see if we can scan anything on it, to help with aiming. @@ -89,18 +89,18 @@ break if(busy && !(target == current_target)) - to_chat(user, span("warning", "\The [src] is already targeting something.")) + to_chat(user, span_warning("\The [src] is already targeting something.")) return if(!isliving(target)) - to_chat(user, span("warning", "\the [target] is not a valid target.")) + to_chat(user, span_warning("\the [target] is not a valid target.")) return var/mob/living/L = target var/mob/living/U = user if(get_dist(target, user) > beam_range) - to_chat(user, span("warning", "You are too far away from \the [target] to affect it. Get closer.")) + to_chat(user, span_warning("You are too far away from \the [target] to affect it. Get closer.")) return if(target == current_target && busy) @@ -121,7 +121,7 @@ unresizable = TRUE if(unresizable) - to_chat(user, span("warning", "\the [target] is immune to resizing.")) + to_chat(user, span_warning("\the [target] is immune to resizing.")) // Start the effects current_target = target @@ -169,13 +169,13 @@ if(user.client) // If for some reason they logged out mid-scan the box will be gone anyways. delete_box(box_segments, user.client) -/obj/item/device/slow_sizegun/attack_self(mob/living/user) +/obj/item/slow_sizegun/attack_self(mob/living/user) if(busy) busy = !busy else sizeshift_mode = !sizeshift_mode update_icon() - to_chat(user, span("notice", "\The [src] will now [sizeshift_mode ? "grow" : "shrink"] its targets.")) + to_chat(user, span_notice("\The [src] will now [sizeshift_mode ? "grow" : "shrink"] its targets.")) #undef SIZE_SHRINK @@ -186,7 +186,7 @@ // Draws a box showing the limits of movement while scanning something. // Only the client supplied will see the box. -/obj/item/device/slow_sizegun/proc/draw_box(atom/A, box_size, client/C) +/obj/item/slow_sizegun/proc/draw_box(atom/A, box_size, client/C) . = list() // Things moved with pixel_[x|y] will move the box, so this is to correct that. var/pixel_x_correction = -A.pixel_x @@ -231,7 +231,7 @@ #undef ICON_SIZE // Draws an individual segment of the box. -/obj/item/device/slow_sizegun/proc/draw_line(atom/A, line_dir, line_pixel_x, line_pixel_y, client/C) +/obj/item/slow_sizegun/proc/draw_line(atom/A, line_dir, line_pixel_x, line_pixel_y, client/C) var/image/line = image(icon = 'icons/effects/effects.dmi', loc = A, icon_state = "stripes", dir = line_dir) line.pixel_x = line_pixel_x line.pixel_y = line_pixel_y @@ -242,21 +242,21 @@ return line // Removes the box that was generated before from the client. -/obj/item/device/slow_sizegun/proc/delete_box(list/box_segments, client/C) +/obj/item/slow_sizegun/proc/delete_box(list/box_segments, client/C) for(var/i in box_segments) C.images -= i qdel(i) -/obj/item/device/slow_sizegun/proc/color_box(list/box_segments, new_color, new_time) +/obj/item/slow_sizegun/proc/color_box(list/box_segments, new_color, new_time) for(var/i in box_segments) animate(i, color = new_color, time = new_time) //Alt click to activate size trading -/obj/item/device/slow_sizegun/AltClick(mob/user) +/obj/item/slow_sizegun/AltClick(mob/user) if (trading == 0) trading = 1 - to_chat(user, span("notice", "\The [src] will now trade your targets size for your own.")) + to_chat(user, span_notice("\The [src] will now trade your targets size for your own.")) else trading = 0 - to_chat(user, span("notice", "\The [src] will no longer trade your targets size for your own.")) + to_chat(user, span_notice("\The [src] will no longer trade your targets size for your own.")) diff --git a/code/modules/vore/resizing/sizegun_vr.dm b/code/modules/vore/resizing/sizegun_vr.dm index 2bbd6010354..12186f13322 100644 --- a/code/modules/vore/resizing/sizegun_vr.dm +++ b/code/modules/vore/resizing/sizegun_vr.dm @@ -1,7 +1,7 @@ // // Size Gun // -/obj/item/weapon/gun/energy/sizegun +/obj/item/gun/energy/sizegun name = "size gun" //I have no idea why this was called shrink ray when this increased and decreased size. desc = "A highly advanced ray gun with a knob on the side to adjust the size you desire. Warning: Do not insert into mouth." icon = 'icons/obj/gun_vr.dmi' @@ -24,30 +24,30 @@ fire_sound = 'sound/weapons/pulse3.ogg' )) -/obj/item/weapon/gun/energy/sizegun/New() +/obj/item/gun/energy/sizegun/New() ..() - verbs += /obj/item/weapon/gun/energy/sizegun/proc/select_size - verbs += /obj/item/weapon/gun/energy/sizegun/proc/spin_dial + verbs += /obj/item/gun/energy/sizegun/proc/select_size + verbs += /obj/item/gun/energy/sizegun/proc/spin_dial -/obj/item/weapon/gun/energy/sizegun/attack_self(mob/user) +/obj/item/gun/energy/sizegun/attack_self(mob/user) . = ..() select_size() -/obj/item/weapon/gun/energy/sizegun/proc/spin_dial() +/obj/item/gun/energy/sizegun/proc/spin_dial() set name = "Spin Size Dial" set category = "Object" set src in view(1) size_set_to = (rand(25,200)) /100 - usr.visible_message("\The [usr] spins the size dial to a random value!","You spin the dial to a random value!") + usr.visible_message(span_warning("\The [usr] spins the size dial to a random value!"),span_notice("You spin the dial to a random value!")) -/obj/item/weapon/gun/energy/sizegun/consume_next_projectile() +/obj/item/gun/energy/sizegun/consume_next_projectile() . = ..() var/obj/item/projectile/beam/sizelaser/G = . if(istype(G)) G.set_size = size_set_to -/obj/item/weapon/gun/energy/sizegun/proc/select_size() +/obj/item/gun/energy/sizegun/proc/select_size() set name = "Select Size" set category = "Object" set src in view(1) @@ -58,11 +58,11 @@ //We do valid resize testing in actual firings because people move after setting these things. //Just a basic clamp here to the valid ranges. size_set_to = clamp((size_select/100), RESIZE_MINIMUM_DORMS, RESIZE_MAXIMUM_DORMS) - to_chat(usr, "You set the size to [size_select]%") + to_chat(usr, span_notice("You set the size to [size_select]%")) if(size_set_to < RESIZE_MINIMUM || size_set_to > RESIZE_MAXIMUM) - to_chat(usr, "Note: Resizing limited to 25-200% automatically while outside dormatory areas.") //hint that we clamp it in resize + to_chat(usr, span_notice("Note: Resizing limited to 25-200% automatically while outside dormatory areas.")) //hint that we clamp it in resize -/obj/item/weapon/gun/energy/sizegun/update_icon(var/ignore_inhands) +/obj/item/gun/energy/sizegun/update_icon(var/ignore_inhands) var/grow_mode = "shrink" if(size_set_to > 1) grow_mode = "grow" @@ -80,11 +80,11 @@ if(!ignore_inhands) update_held_icon() -/obj/item/weapon/gun/energy/sizegun/examine(mob/user) +/obj/item/gun/energy/sizegun/examine(mob/user) . = ..() - . += "It is currently set at [size_set_to*100]%" + . += span_info("It is currently set at [size_set_to*100]%") -/obj/item/weapon/gun/energy/sizegun/admin +/obj/item/gun/energy/sizegun/admin name = "modified size gun" desc = "An older model sizegun, modified to be without limits on minimum/maximum size, and have an unlimited charge. Time to show 'em that size does matter." description_fluff = "A standard size gun that has been modified with \ @@ -113,7 +113,7 @@ have their theories as they continue to analyse the technology." value = CATALOGUER_REWARD_MEDIUM -/obj/item/weapon/gun/energy/sizegun/admin/abductor +/obj/item/gun/energy/sizegun/admin/abductor name = "alien size gun" desc = "A strange looking ray gun weapon with an adjustor knob on the side. The design is alien, but it bares a striking resemblence to the older model size guns that NT uses for research." catalogue_data = list(/datum/category_item/catalogue/anomalous/precursor_a/alien_sizegun) @@ -123,7 +123,7 @@ charge_cost = 0 projectile_type = /obj/item/projectile/beam/sizelaser/admin/alien -/obj/item/weapon/gun/energy/sizegun/admin/select_size() +/obj/item/gun/energy/sizegun/admin/select_size() set name = "Select Size" set category = "Object" set src in view(1) @@ -132,14 +132,14 @@ if(!size_select) return //cancelled size_set_to = clamp((size_select/100), 0, 1000) //eheh - to_chat(usr, "You set the size to [size_select]%") + to_chat(usr, span_notice("You set the size to [size_select]%")) -/obj/item/weapon/gun/energy/sizegun/afterattack(atom/A, mob/living/user, adjacent, params) +/obj/item/gun/energy/sizegun/afterattack(atom/A, mob/living/user, adjacent, params) if(adjacent) return //A is adjacent, is the user, or is on the user's person if(backfire) if(prob(50)) - to_chat(user, "\The [src] backfires and consumes its entire charge!") + to_chat(user, span_notice("\The [src] backfires and consumes its entire charge!")) Fire(user, user) power_supply.charge = 0 var/mob/living/M = loc // TGMC Ammo HUD @@ -151,10 +151,10 @@ else return ..() -/obj/item/weapon/gun/energy/sizegun/attack(atom/A, mob/living/user, adjacent, params) +/obj/item/gun/energy/sizegun/attack(atom/A, mob/living/user, adjacent, params) if(backfire) if(prob(50)) - to_chat(user, "\The [src] backfires and consumes its entire charge!") + to_chat(user, span_notice("\The [src] backfires and consumes its entire charge!")) Fire(user, user) power_supply.charge = 0 var/mob/living/M = loc // TGMC Ammo HUD @@ -167,23 +167,23 @@ return ..() -/obj/item/weapon/gun/energy/sizegun/attackby(var/obj/item/A as obj, mob/user as mob) +/obj/item/gun/energy/sizegun/attackby(var/obj/item/A as obj, mob/user as mob) if(A.has_tool_quality(TOOL_WIRECUTTER)) if(backfire) - to_chat(user, "You repair the damage to the \the [src].") + to_chat(user, span_warning("You repair the damage to the \the [src].")) backfire = 0 name = "size gun" else - to_chat(user, "You snip a wire on \the [src], making it less reliable.") + to_chat(user, span_warning("You snip a wire on \the [src], making it less reliable.")) backfire = 1 name = "unstable size gun" ..() -/obj/item/weapon/gun/energy/sizegun/backfire +/obj/item/gun/energy/sizegun/backfire name = "unstable size gun" backfire = 1 -/obj/item/weapon/gun/energy/sizegun/mounted +/obj/item/gun/energy/sizegun/mounted name = "mounted size gun" self_recharge = 1 use_external_power = 1 @@ -210,7 +210,7 @@ if(ishuman(M)) var/mob/living/carbon/human/H = M if(istype(H.gloves, /obj/item/clothing/gloves/bluespace)) - M.visible_message("\The [H]'s bracelet flashes and absorbs the beam!","Your bracelet flashes and absorbs the beam!") + M.visible_message(span_warning("\The [H]'s bracelet flashes and absorbs the beam!"),span_notice("Your bracelet flashes and absorbs the beam!")) return if(!M.resize(set_size, uncapped = M.has_large_resize_bounds(), ignore_prefs = ignoring_prefs)) to_chat(M, span_blue("The beam fires into your body, changing your size!")) @@ -227,9 +227,9 @@ var/very_big = is_extreme_size(set_size) if(very_big && can_be_big) // made an extreme size in an area that allows it, don't assume adminbuse - to_chat(firer, "[M] will lose this size upon moving into an area where this size is not allowed.") + to_chat(firer, span_warning("[M] will lose this size upon moving into an area where this size is not allowed.")) else if(very_big) // made an extreme size in an area that doesn't allow it, assume adminbuse - to_chat(firer, "[M] will retain this normally unallowed size outside this area.") + to_chat(firer, span_warning("[M] will retain this normally unallowed size outside this area.")) M.resize(set_size, uncapped = TRUE, ignore_prefs = TRUE) // Always ignores prefs, caution is advisable diff --git a/code/modules/vore/smoleworld/smoleworld_vr.dm b/code/modules/vore/smoleworld/smoleworld_vr.dm index 149e4bc6441..eca90161f56 100644 --- a/code/modules/vore/smoleworld/smoleworld_vr.dm +++ b/code/modules/vore/smoleworld/smoleworld_vr.dm @@ -86,7 +86,7 @@ w_class = ITEMSIZE_SMALL //smolebrick case to make for easy bricks. -/obj/item/weapon/storage/smolebrickcase +/obj/item/storage/smolebrickcase name = "smolebrick case" desc = "You feel the power of imagination." icon = 'icons/vore/smoleworld_vr.dmi' @@ -114,9 +114,9 @@ /obj/structure/smoletrack/attack_hand(mob/user) if(user.a_intent == I_DISARM) - if(ismouse(usr) || (isobserver(usr) && !config.ghost_interaction)) + if(ismouse(usr) || (isobserver(usr) && !CONFIG_GET(flag/ghost_interaction))) return - to_chat(user, "[src] was dismantaled into bricks.") + to_chat(user, span_notice("[src] was dismantaled into bricks.")) playsound(src, 'sound/items/smolesmallbuild.ogg', 50, 1, -1, volume_channel = VOLUME_CHANNEL_MASTER) var/turf/simulated/floor/F = get_turf(src) if(istype(F)) @@ -128,7 +128,7 @@ set name = "Rotate Road Clockwise" set category = "Object" set src in oview(1) - if(ismouse(usr) || (isobserver(usr) && !config.ghost_interaction)) + if(ismouse(usr) || (isobserver(usr) && !CONFIG_GET(flag/ghost_interaction))) return src.set_dir(turn(src.dir, 270)) @@ -136,7 +136,7 @@ set name = "Rotate Road Counter-Clockwise" set category = "Object" set src in oview(1) - if(ismouse(usr) || (isobserver(usr) && !config.ghost_interaction)) + if(ismouse(usr) || (isobserver(usr) && !CONFIG_GET(flag/ghost_interaction))) return src.set_dir(turn(src.dir, 90)) @@ -145,7 +145,7 @@ set name = "Use Color Pieces" set category = "Object" set src in oview(1) - if(ismouse(usr) || (isobserver(usr) && !config.ghost_interaction)) + if(ismouse(usr) || (isobserver(usr) && !CONFIG_GET(flag/ghost_interaction))) return var/new_color = input(usr, "Please select color.", "Paint Color", color) as color|null color = new_color @@ -157,7 +157,7 @@ set name = "Take Road Apart" set category = "Object" set src in oview(1) - if(ismouse(usr) || (isobserver(usr) && !config.ghost_interaction)) + if(ismouse(usr) || (isobserver(usr) && !CONFIG_GET(flag/ghost_interaction))) return playsound(src, 'sound/items/smolesmallbuild.ogg', 50, 1, -1, volume_channel = VOLUME_CHANNEL_MASTER) var/turf/simulated/floor/F = get_turf(src) @@ -211,9 +211,9 @@ //makes it so buildings can be dismaintaled or GodZilla style attacked /obj/structure/smolebuilding/attack_hand(mob/user) if(user.a_intent == I_DISARM) - if(ismouse(usr) || (isobserver(usr) && !config.ghost_interaction)) + if(ismouse(usr) || (isobserver(usr) && !CONFIG_GET(flag/ghost_interaction))) return - to_chat(user, "[src] was dismantaled into bricks.") + to_chat(user, span_notice("[src] was dismantaled into bricks.")) playsound(src, 'sound/items/smolesmallbuild.ogg', 50, 1, -1, volume_channel = VOLUME_CHANNEL_MASTER) if(!isnull(loc)) new /obj/item/stack/material/smolebricks(loc) @@ -222,14 +222,14 @@ else if (usr.a_intent == I_HURT) - if(ismouse(usr) || (isobserver(usr) && !config.ghost_interaction)) + if(ismouse(usr) || (isobserver(usr) && !CONFIG_GET(flag/ghost_interaction))) return take_damage() playsound(src, 'sound/items/smolebuildinghit2.ogg', 50, 1) user.do_attack_animation(src) - usr.visible_message("\The [usr] bangs against \the [src]!", - "You bang against \the [src]!", + usr.visible_message(span_danger("\The [usr] bangs against \the [src]!"), + span_danger("You bang against \the [src]!"), "You hear a banging sound.") else usr.visible_message("[usr.name] knocks on the [src.name].", @@ -248,14 +248,14 @@ return //results of attacks will remove building and spawn in ruins. /obj/structure/smolebuilding/proc/dismantle() - visible_message("\The [src] falls apart!") + visible_message(span_danger("\The [src] falls apart!")) playsound(src, 'sound/items/smolebuildingdestoryed.ogg', 50, 1, -1, volume_channel = VOLUME_CHANNEL_MASTER) new /obj/structure/smoleruins(loc) qdel(src) return //checks for items and does the same as dismaintle but spawns material instead. -/obj/structure/smolebuilding/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/structure/smolebuilding/attackby(obj/item/W as obj, mob/user as mob) dismantle() return //checks for projectile damage and does the same as dismaintle but spawns material instead. @@ -264,7 +264,7 @@ return //is the same as dismaintal but instead of ruins it just makes it all explode /obj/structure/smolebuilding/proc/displode() - visible_message("\The [src] explodes into pieces!") + visible_message(span_danger("\The [src] explodes into pieces!")) playsound(src, 'sound/items/smolebuildingdestoryedshort.ogg', 50, 1, -1, volume_channel = VOLUME_CHANNEL_MASTER) new /obj/item/stack/material/smolebricks(loc) new /obj/item/stack/material/smolebricks(loc) @@ -274,9 +274,9 @@ //get material from ruins /obj/structure/smoleruins/attack_hand(mob/user) if(user.a_intent == I_DISARM) - if(ismouse(usr) || (isobserver(usr) && !config.ghost_interaction)) + if(ismouse(usr) || (isobserver(usr) && !CONFIG_GET(flag/ghost_interaction))) return - to_chat(user, "[src] was dismantaled into bricks.") + to_chat(user, span_notice("[src] was dismantaled into bricks.")) playsound(src, 'sound/items/smolelargeunbuild.ogg', 50, 1, volume_channel = VOLUME_CHANNEL_MASTER) if(!isnull(loc)) new /obj/item/stack/material/smolebricks(loc) @@ -284,7 +284,7 @@ qdel(src) //Ruins go asplode same as buildings if attacked -/obj/structure/smoleruins/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/structure/smoleruins/attackby(obj/item/W as obj, mob/user as mob) displode() return @@ -293,7 +293,7 @@ return /obj/structure/smoleruins/proc/displode() - visible_message("\The [src] explodes into pieces!") + visible_message(span_danger("\The [src] explodes into pieces!")) playsound(src, 'sound/items/smolebuildingdestoryedshort.ogg', 50, 1, -1, volume_channel = VOLUME_CHANNEL_MASTER) new /obj/item/stack/material/smolebricks(loc) new /obj/item/stack/material/smolebricks(loc) @@ -305,7 +305,7 @@ set name = "Use Color Pieces" set category = "Object" set src in oview(1) - if(ismouse(usr) || (isobserver(usr) && !config.ghost_interaction)) + if(ismouse(usr) || (isobserver(usr) && !CONFIG_GET(flag/ghost_interaction))) return var/new_color = input(usr, "Please select color.", "Paint Color", color) as color|null color = new_color @@ -316,7 +316,7 @@ set name = "Take Building Apart" set category = "Object" set src in oview(1) - if(ismouse(usr) || (isobserver(usr) && !config.ghost_interaction)) + if(ismouse(usr) || (isobserver(usr) && !CONFIG_GET(flag/ghost_interaction))) return playsound(src, 'sound/items/smolesmallbuild.ogg', 50, 1, -1, volume_channel = VOLUME_CHANNEL_MASTER) if(!isnull(loc)) @@ -378,7 +378,7 @@ // if(.) // // if(M.get_effective_size(TRUE) > RESIZE_TINY) -// to_chat(M, SPAN_WARNING("You are to big to fit in \the [src].")) +// to_chat(M, span_warning("You are to big to fit in \the [src].")) // . = FALSE // // @@ -401,13 +401,13 @@ name = "asteriod" desc = "Several chunks of sugar crumbs that looks like asteriods." -/obj/item/weapon/bikehorn/tinytether +/obj/item/bikehorn/tinytether icon = 'icons/vore/smoleworld_vr.dmi' icon_state = "tether_trash" name = "tether" desc = "Its a tiny bit of plastic in the shape of the tether. There seems to be a small button on top." -/obj/item/weapon/bikehorn/tinytether/attack_self(mob/user as mob) +/obj/item/bikehorn/tinytether/attack_self(mob/user as mob) if(spam_flag == 0) spam_flag = 1 playsound(src, 'sound/items/tinytether.ogg', 30, 1, volume_channel = VOLUME_CHANNEL_MASTER) @@ -416,7 +416,7 @@ spam_flag = 0 return -/obj/item/weapon/reagent_containers/food/snacks/snackplanet/moon +/obj/item/reagent_containers/food/snacks/snackplanet/moon name = "moon" desc = "A firm solid mass of white powdery sugar in the shape of a moon!" icon = 'icons/vore/smoleworld_vr.dmi' @@ -426,18 +426,18 @@ nutriment_desc = list("sugar" = 2) drop_sound = 'sound/items/drop/basketball.ogg' -/obj/item/weapon/reagent_containers/food/snacks/snackplanet/virgo3b +/obj/item/reagent_containers/food/snacks/snackplanet/virgo3b name = "Virgo 3B" desc = "A sticky jelly jaw breaker in the shape of Virgo-3B, it even has a tiny tether!" icon = 'icons/vore/smoleworld_vr.dmi' icon_state = "sp_Virgo3B" bitesize = 3 - trash = /obj/item/weapon/bikehorn/tinytether + trash = /obj/item/bikehorn/tinytether nutriment_amt = 2 nutriment_desc = list("spicy" = 2, "tang" = 2) drop_sound = 'sound/items/drop/basketball.ogg' -/obj/item/weapon/reagent_containers/food/snacks/snackplanet/phoron +/obj/item/reagent_containers/food/snacks/snackplanet/phoron name = "phoron giant" desc = "A spicy jaw breaker that seems to swirl in the light." icon = 'icons/vore/smoleworld_vr.dmi' @@ -448,7 +448,7 @@ nutriment_desc = list("spicy" = 2) drop_sound = 'sound/items/drop/basketball.ogg' -/obj/item/weapon/reagent_containers/food/snacks/snackplanet/virgoprime +/obj/item/reagent_containers/food/snacks/snackplanet/virgoprime name = "Virgo Prime" desc = "It's a orange jaw breaker in the shape of Virgo Prime!" icon = 'icons/vore/smoleworld_vr.dmi' @@ -459,7 +459,7 @@ nutriment_desc = list("salty" = 2) drop_sound = 'sound/items/drop/basketball.ogg' -/obj/item/weapon/storage/bagoplanets +/obj/item/storage/bagoplanets name = "bag o' planets" desc = "A cosmic bag of fist-sized candy planets." icon = 'icons/vore/smoleworld_vr.dmi' @@ -469,7 +469,7 @@ max_storage_space = ITEMSIZE_COST_SMALL * 7 // most code copied from toolbox drop_sound = 'sound/items/drop/food.ogg' pickup_sound = 'sound/items/pickup/food.ogg' - starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/snackplanet/phoron, - /obj/item/weapon/reagent_containers/food/snacks/snackplanet/virgo3b,/obj/item/weapon/reagent_containers/food/snacks/snackplanet/moon, - /obj/item/weapon/reagent_containers/food/snacks/snackplanet/virgoprime + starts_with = list(/obj/item/reagent_containers/food/snacks/snackplanet/phoron, + /obj/item/reagent_containers/food/snacks/snackplanet/virgo3b,/obj/item/reagent_containers/food/snacks/snackplanet/moon, + /obj/item/reagent_containers/food/snacks/snackplanet/virgoprime ) diff --git a/code/modules/vore/trycatch_vr.dm b/code/modules/vore/trycatch_vr.dm index 396352aadc6..fa1b556280c 100644 --- a/code/modules/vore/trycatch_vr.dm +++ b/code/modules/vore/trycatch_vr.dm @@ -49,10 +49,10 @@ The hooks you're calling should return nonzero values on success. error("hook_vr: Invalid hook '/hook/[hook]' called.") return 0 - var/caller = new hook_path + var/hook_instance = new hook_path var/status = 1 for(var/P in typesof("[hook_path]/proc")) - if(!call(caller, P)(arglist(args))) + if(!call(hook_instance, P)(arglist(args))) error("hook_vr: Hook '[P]' failed or runtimed.") status = 0 diff --git a/code/modules/vore/weight/fitness_machines_vr.dm b/code/modules/vore/weight/fitness_machines_vr.dm index 2f09e9a36fa..83462efdcac 100644 --- a/code/modules/vore/weight/fitness_machines_vr.dm +++ b/code/modules/vore/weight/fitness_machines_vr.dm @@ -13,10 +13,10 @@ /obj/machinery/fitness/attack_hand(mob/living/user) if(user.nutrition < 70) - to_chat(user, "You need more energy to workout with the [src]!") + to_chat(user, span_notice("You need more energy to workout with the [src]!")) else if(user.weight < 70) - to_chat(user, "You're too skinny to risk losing any more weight!") + to_chat(user, span_notice("You're too skinny to risk losing any more weight!")) else //If they have enough nutrition and body weight, they can exercise. user.setClickCooldown(cooldown) @@ -24,7 +24,7 @@ user.weight -= 0.025 * weightloss_power * (0.01 * user.weight_loss) flick("[icon_state]2", src) var/message = pick(messages) - to_chat(user, "[message].") + to_chat(user, span_notice("[message].")) for(var/s in workout_sounds) playsound(src, s, 50, 1) @@ -57,18 +57,18 @@ /obj/machinery/fitness/heavy/attackby(obj/item/W, mob/living/user) if(W.has_tool_quality(TOOL_WRENCH)) add_fingerprint(user) - user.visible_message("[user] has [anchored ? "un" : ""]secured \the [src].", "You [anchored ? "un" : ""]secure \the [src].") + user.visible_message(span_warning("[user] has [anchored ? "un" : ""]secured \the [src]."), span_notice("You [anchored ? "un" : ""]secure \the [src].")) anchored = !anchored playsound(src, 'sound/items/Ratchet.ogg', 50, 1) return /obj/machinery/fitness/heavy/attack_hand(mob/living/user) if(!anchored) - to_chat(user, "For safety reasons, you are required to have this equipment wrenched down before using it!") + to_chat(user, span_notice("For safety reasons, you are required to have this equipment wrenched down before using it!")) return else if(user.loc != loc) - to_chat(user, "For safety reasons, you need to be sitting in the [src] for it to work!") + to_chat(user, span_notice("For safety reasons, you need to be sitting in the [src] for it to work!")) return else @@ -94,8 +94,8 @@ /obj/machinery/scale/attack_hand(var/mob/living/user) if(user.loc != loc) - to_chat(user, "You need to be standing on top of the scale for it to work!") + to_chat(user, span_notice("You need to be standing on top of the scale for it to work!")) return if(user.weight) //Just in case. var/kilograms = round(text2num(user.weight),4) / 2.20463 - visible_message("[src] displays a reading of [user.weight]lb / [kilograms]kg when [user] stands on it.") + visible_message(span_notice("[src] displays a reading of [user.weight]lb / [kilograms]kg when [user] stands on it.")) diff --git a/code/modules/vote/vote_datum.dm b/code/modules/vote/vote_datum.dm new file mode 100644 index 00000000000..9a3597ae4cc --- /dev/null +++ b/code/modules/vote/vote_datum.dm @@ -0,0 +1,200 @@ +/datum/vote + // Person who started the vote + var/initiator = "the server" + // world.time the bote started at + var/started_time + // The question being asked + var/question + // Vote type text, for showing in UIs and stuff + var/vote_type_text = "unset" + // Do we want to show the vote count as it goes + var/show_counts = FALSE + // Vote result type. This determines how a winner is picked + var/vote_result_type = VOTE_RESULT_TYPE_MAJORITY + // Was this this vote custom started? + var/is_custom = FALSE + // Choices available in the vote + var/list/choices = list() + // Assoc list of [ckeys => choice] who have voted. We don't want to hold clients refs.___callbackvarset(list_or_datum, var_name, var_value) + var/list/voted = list() + // For how long will it be up + var/vote_time = 60 SECONDS + +/datum/vote/New(var/_initiator, var/_question, list/_choices, var/_is_custom = FALSE) + if(SSvote.active_vote) + CRASH("Attempted to start another vote with one already in progress!") + + if(_initiator) + initiator = _initiator + if(_question) + question = _question + if(_choices) + choices = _choices + + is_custom = _is_custom + + // If we have no choices, dynamically generate them + if(!length(choices)) + generate_choices() + +/datum/vote/proc/start() + var/text = "[capitalize(vote_type_text)] vote started by [initiator]." + if(is_custom) + vote_type_text = "custom" + text += "\n[question]" + if(usr) + log_admin("[capitalize(vote_type_text)] ([question]) vote started by [key_name(usr)].") + + else if(usr) + log_admin("[capitalize(vote_type_text)] vote started by [key_name(usr)].") + + log_vote(text) + started_time = world.time + announce(text) + +/datum/vote/proc/remaining() + return max(((started_time + vote_time - world.time)/10), 0) + +/datum/vote/proc/calculate_result() + if(!length(voted)) + to_chat(world, span_interface("No votes were cast. Do you all hate democracy?!")) + return null + + return calculate_vote_result(voted, choices, vote_result_type) + + +/datum/vote/proc/calculate_vote_result(var/list/voted, var/list/choices, var/vote_result_type) + var/list/results = list() + + for(var/ck in voted) + if(voted[ck] in results) + results[voted[ck]]++ + else + results[voted[ck]] = 1 + + var/maxvotes = 0 + for(var/res in results) + maxvotes = max(results[res], maxvotes) + + var/list/winning_options = list() + + for(var/res in results) + if(results[res] == maxvotes) + winning_options |= res + + for(var/res in results) + to_chat(world, span_interface("[res] - [results[res]] vote\s")) + + switch(vote_result_type) + if(VOTE_RESULT_TYPE_MAJORITY) + if(length(winning_options) == 1) + var/res = winning_options[1] + if(res in choices) + to_chat(world, span_interface(span_bold("[res] won the vote!"))) + return res + else + to_chat(world, span_interface("The winner of the vote ([sanitize(res)]) isn't a valid choice? What the heck?")) + stack_trace("Vote concluded with an invalid answer. Answer was [sanitize(res)], choices were [json_encode(choices)]") + return null + + to_chat(world, span_interface(span_bold("No clear winner. The vote did not pass."))) + return null + + if(VOTE_RESULT_TYPE_SKEWED) + var/required_votes = ceil(length(voted) * 0.7) // 70% of total votes + if(maxvotes >= required_votes && length(winning_options) == 1) + var/res = winning_options[1] + if(res in choices) + to_chat(world, span_interface(span_bold("[res] won the vote with a 70% majority!"))) + return res + else + to_chat(world, span_interface("The winner of the vote ([sanitize(res)]) isn't a valid choice? What the heck?")) + stack_trace("Vote concluded with an invalid answer. Answer was [sanitize(res)], choices were [json_encode(choices)]") + return null + + to_chat(world, span_interface(span_bold("No option received 70% of the votes. The vote did not pass."))) + return null + + return null + +/datum/vote/proc/announce(start_text, var/time = vote_time) + to_chat(world, span_lightpurple("Type vote or click here to place your vote. \ + You have [time/10] seconds to vote.")) + world << sound('sound/ambience/alarm4.ogg', repeat = 0, wait = 0, volume = 50, channel = 3) + +/datum/vote/Topic(href, list/href_list) + if(href_list["vote"] == "open") + if(src) + tgui_interact(usr) + else + to_chat(usr, "There is no active vote to participate in.") + +/datum/vote/proc/tick() + if(remaining() == 0) + var/result = calculate_result() + handle_result(result) + qdel(src) + +/datum/vote/Destroy(force) + if(SSvote.active_vote == src) + SSvote.active_vote = null + return ..() + +/datum/vote/proc/handle_result(result) + return + +/datum/vote/proc/generate_choices() + return + +/* + UI STUFFS +*/ + +/datum/vote/tgui_state(mob/user) + return GLOB.tgui_always_state + +/datum/vote/tgui_interact(mob/user, datum/tgui/ui = null) + ui = SStgui.try_update_ui(user, src, ui) + if(!ui) + ui = new(user, src, "VotePanel", "Vote Panel") + ui.open() + +/datum/vote/tgui_data(mob/user) + var/list/data = list() + data["remaining"] = remaining() + data["user_vote"] = null + if(user.ckey in voted) + data["user_vote"] = voted[user.ckey] + + data["question"] = question + data["choices"] = choices + + if(show_counts || check_rights(R_ADMIN, FALSE, user)) + data["show_counts"] = TRUE + + var/list/counts = list() + for(var/ck in voted) + if(voted[ck] in counts) + counts[voted[ck]]++ + else + counts[voted[ck]] = 1 + + data["counts"] = counts + else + data["show_counts"] = FALSE + data["counts"] = list() + + return data + +/datum/vote/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state) + if(..()) + return + + . = TRUE + + switch(action) + if("vote") + if(params["target"] in choices) + voted[ui.user.ckey] = params["target"] + else + message_admins(span_warning("User [key_name_admin(ui.user)] spoofed a vote in the vote panel!")) diff --git a/code/modules/vote/vote_presets.dm b/code/modules/vote/vote_presets.dm new file mode 100644 index 00000000000..a7a0829838b --- /dev/null +++ b/code/modules/vote/vote_presets.dm @@ -0,0 +1,14 @@ +/datum/vote/crew_transfer + question = "End the shift" + choices = list("Initiate Crew Transfer", "Extend The Shift") + vote_type_text = "crew transfer" + vote_result_type = VOTE_RESULT_TYPE_SKEWED + +/datum/vote/crew_transfer/New() + if(SSticker.current_state < GAME_STATE_PLAYING) + CRASH("Attempted to call a shutle vote before the game starts!") + ..() + +/datum/vote/crew_transfer/handle_result(result) + if(result == "Initiate Crew Transfer") + init_shift_change(null, TRUE) diff --git a/code/modules/vote/vote_verb.dm b/code/modules/vote/vote_verb.dm new file mode 100644 index 00000000000..f9bff812823 --- /dev/null +++ b/code/modules/vote/vote_verb.dm @@ -0,0 +1,56 @@ +/client/verb/vote() + set category = "OOC" + set name = "Vote" + + if(SSvote.active_vote) + SSvote.active_vote.tgui_interact(usr) + else + to_chat(usr, span_warning("There is no active vote")) + +/client/proc/start_vote() + set category = "Admin" + set name = "Start Vote" + set desc = "Start a vote on the server" + + if(!is_admin()) + return + + if(SSvote.active_vote) + to_chat(usr, span_warning("A vote is already in progress")) + return + + var/vote_types = subtypesof(/datum/vote) + vote_types |= "\[CUSTOM]" + + var/list/votemap = list() + for(var/vtype in vote_types) + votemap["[vtype]"] = vtype + + var/choice = tgui_input_list(usr, "Select a vote type", "Vote", vote_types) + + if(choice == null) + return + + if(choice != "\[CUSTOM]") + var/datum/votetype = votemap["[choice]"] + SSvote.start_vote(new votetype(usr.ckey)) + return + + var/question = tgui_input_text(usr, "What is the vote for?", "Create Vote", encode = FALSE) + if(isnull(question)) + return + + var/list/choices = list() + for(var/i in 1 to 10) + var/option = tgui_input_text(usr, "Please enter an option or hit cancel to finish", "Create Vote", encode = FALSE) + if(isnull(option) || !usr.client) + break + choices |= option + + var/c2 = tgui_alert(usr, "Show counts while vote is happening?", "Counts", list("Yes", "No")) + var/c3 = input(usr, "Select a result calculation type", "Vote", VOTE_RESULT_TYPE_MAJORITY) as anything in list(VOTE_RESULT_TYPE_MAJORITY) + + var/datum/vote/V = new /datum/vote(usr.ckey, question, choices, TRUE) + V.show_counts = (c2 == "Yes") + V.vote_result_type = c3 + SSvote.start_vote(V) diff --git a/code/modules/webhooks/_webhook.dm b/code/modules/webhooks/_webhook.dm index f1cf4841c48..a6e1408406d 100644 --- a/code/modules/webhooks/_webhook.dm +++ b/code/modules/webhooks/_webhook.dm @@ -27,7 +27,7 @@ if(!length(message)) return FALSE - if(config.disable_webhook_embeds) + if(CONFIG_GET(flag/disable_webhook_embeds)) var/list/embed_content for(var/list/embed in message["embeds"]) if(embed["title"]) diff --git a/code/modules/whitelist/whitelist.dm b/code/modules/whitelist/whitelist.dm index 2bc269acf7e..917ecc56ec8 100644 --- a/code/modules/whitelist/whitelist.dm +++ b/code/modules/whitelist/whitelist.dm @@ -5,7 +5,7 @@ /client/verb/print_whitelist() set name = "Show Whitelist Entries" set desc = "Print the set of things you're whitelisted for." - set category = "OOC" + set category = "OOC.Client settings" to_chat(src, "You are whitelisted for:") to_chat(src, jointext(get_whitelists_list(), "\n")) diff --git a/code/modules/xenoarcheaology/artifacts/autocloner.dm b/code/modules/xenoarcheaology/artifacts/autocloner.dm index 61f4975a029..d7205ac1512 100644 --- a/code/modules/xenoarcheaology/artifacts/autocloner.dm +++ b/code/modules/xenoarcheaology/artifacts/autocloner.dm @@ -45,17 +45,17 @@ if(!previous_power_state) previous_power_state = 1 icon_state = "cellold1" - src.visible_message("[icon2html(src,viewers(src))] [src] suddenly comes to life!") + src.visible_message(span_notice("[icon2html(src,viewers(src))] [src] suddenly comes to life!")) //slowly grow a mob if(prob(5)) - src.visible_message("[icon2html(src,viewers(src))] [src] [pick("gloops","glugs","whirrs","whooshes","hisses","purrs","hums","gushes")].") + src.visible_message(span_notice("[icon2html(src,viewers(src))] [src] [pick("gloops","glugs","whirrs","whooshes","hisses","purrs","hums","gushes")].")) //if we've finished growing... if(time_spent_spawning >= time_per_spawn) time_spent_spawning = 0 update_use_power(USE_POWER_IDLE) - src.visible_message("[icon2html(src,viewers(src))] [src] pings!") + src.visible_message(span_notice("[icon2html(src,viewers(src))] [src] pings!")) icon_state = "cellold1" desc = "It's full of a bubbling viscous liquid, and is lit by a mysterious glow." if(spawn_type) @@ -76,7 +76,7 @@ if(previous_power_state) previous_power_state = 0 icon_state = "cellold0" - src.visible_message("[icon2html(src,viewers(src))] [src] suddenly shuts down.") + src.visible_message(span_notice("[icon2html(src,viewers(src))] [src] suddenly shuts down.")) //cloned mob slowly breaks down time_spent_spawning = max(time_spent_spawning + last_process - world.time, 0) diff --git a/code/modules/xenoarcheaology/artifacts/crystal.dm b/code/modules/xenoarcheaology/artifacts/crystal.dm index fecf94098d1..5d4bb46d42d 100644 --- a/code/modules/xenoarcheaology/artifacts/crystal.dm +++ b/code/modules/xenoarcheaology/artifacts/crystal.dm @@ -17,19 +17,19 @@ "It's mesmerizing to behold.") /obj/structure/crystal/Destroy() - src.visible_message(span_red("[src] shatters!")) + src.visible_message(span_bolddanger("[src] shatters!")) if(prob(75)) - new /obj/item/weapon/material/shard/phoron(src.loc) + new /obj/item/material/shard/phoron(src.loc) if(prob(50)) - new /obj/item/weapon/material/shard/phoron(src.loc) + new /obj/item/material/shard/phoron(src.loc) if(prob(25)) - new /obj/item/weapon/material/shard/phoron(src.loc) + new /obj/item/material/shard/phoron(src.loc) if(prob(75)) - new /obj/item/weapon/material/shard(src.loc) + new /obj/item/material/shard(src.loc) if(prob(50)) - new /obj/item/weapon/material/shard(src.loc) + new /obj/item/material/shard(src.loc) if(prob(25)) - new /obj/item/weapon/material/shard(src.loc) + new /obj/item/material/shard(src.loc) ..() //todo: laser_act diff --git a/code/modules/xenoarcheaology/artifacts/gigadrill.dm b/code/modules/xenoarcheaology/artifacts/gigadrill.dm index 5579f3d9a6c..e285a2b90d1 100644 --- a/code/modules/xenoarcheaology/artifacts/gigadrill.dm +++ b/code/modules/xenoarcheaology/artifacts/gigadrill.dm @@ -13,18 +13,18 @@ if(active) active = 0 icon_state = "gigadrill" - to_chat(user, "You press a button and \the [src] slowly spins down.") + to_chat(user, span_notice("You press a button and \the [src] slowly spins down.")) else active = 1 icon_state = "gigadrill_mov" - to_chat(user, "You press a button and \the [src] shudders to life.") + to_chat(user, span_notice("You press a button and \the [src] shudders to life.")) /obj/machinery/giga_drill/Bump(atom/A) if(active && !drilling_turf) if(istype(A,/turf/simulated/mineral)) var/turf/simulated/mineral/M = A drilling_turf = get_turf(src) - src.visible_message("\The [src] begins to drill into \the [M].") + src.visible_message(span_bold("\The [src]") + " begins to drill into \the [M].") anchored = TRUE spawn(drill_time) if(get_turf(src) == drilling_turf && active) diff --git a/code/modules/xenoarcheaology/artifacts/replicator.dm b/code/modules/xenoarcheaology/artifacts/replicator.dm index 39972aaa5e5..b9c77a8a3c0 100644 --- a/code/modules/xenoarcheaology/artifacts/replicator.dm +++ b/code/modules/xenoarcheaology/artifacts/replicator.dm @@ -29,41 +29,41 @@ /obj/structure/closet/acloset, /mob/living/simple_mob/mechanical/viscerator, /mob/living/simple_mob/mechanical/hivebot, - /obj/item/device/analyzer, - /obj/item/device/camera, - /obj/item/device/flash, - /obj/item/device/flashlight, - /obj/item/device/healthanalyzer, - /obj/item/device/multitool, - /obj/item/device/paicard, - /obj/item/device/radio, - /obj/item/device/radio/headset, - /obj/item/device/radio/beacon, - /obj/item/weapon/autopsy_scanner, - /obj/item/weapon/bikehorn, - /obj/item/weapon/surgical/bonesetter, - /obj/item/weapon/material/knife/butch, + /obj/item/analyzer, + /obj/item/camera, + /obj/item/flash, + /obj/item/flashlight, + /obj/item/healthanalyzer, + /obj/item/multitool, + /obj/item/paicard, + /obj/item/radio, + /obj/item/radio/headset, + /obj/item/radio/beacon, + /obj/item/autopsy_scanner, + /obj/item/bikehorn, + /obj/item/surgical/bonesetter, + /obj/item/material/knife/butch, /obj/item/clothing/suit/caution, /obj/item/clothing/head/cone, - /obj/item/weapon/tool/crowbar, - /obj/item/weapon/clipboard, - /obj/item/weapon/cell, - /obj/item/weapon/surgical/circular_saw, - /obj/item/weapon/material/knife/machete/hatchet, - /obj/item/weapon/handcuffs, - /obj/item/weapon/surgical/hemostat, - /obj/item/weapon/material/knife, - /obj/item/weapon/flame/lighter, - /obj/item/weapon/light/bulb, - /obj/item/weapon/light/tube, - /obj/item/weapon/pickaxe, - /obj/item/weapon/shovel, - /obj/item/weapon/weldingtool, - /obj/item/weapon/tool/wirecutters, - /obj/item/weapon/tool/wrench, - /obj/item/weapon/tool/screwdriver, - /obj/item/weapon/grenade/chem_grenade/cleaner, - /obj/item/weapon/grenade/chem_grenade/metalfoam) + /obj/item/tool/crowbar, + /obj/item/clipboard, + /obj/item/cell, + /obj/item/surgical/circular_saw, + /obj/item/material/knife/machete/hatchet, + /obj/item/handcuffs, + /obj/item/surgical/hemostat, + /obj/item/material/knife, + /obj/item/flame/lighter, + /obj/item/light/bulb, + /obj/item/light/tube, + /obj/item/pickaxe, + /obj/item/shovel, + /obj/item/weldingtool, + /obj/item/tool/wirecutters, + /obj/item/tool/wrench, + /obj/item/tool/screwdriver, + /obj/item/grenade/chem_grenade/cleaner, + /obj/item/grenade/chem_grenade/metalfoam) // /mob/living/simple_mob/mimic/crate, // Vorestation edit //VORESTATION AI TEMPORARY REMOVAL, REPLACE BACK IN LIST WHEN FIXED var/quantity = rand(5, 15) @@ -98,19 +98,19 @@ "foreground" = colors[color], ))) - fail_message = "[bicon(src)] a [pick("loud","soft","sinister","eery","triumphant","depressing","cheerful","angry")] \ + fail_message = span_notice("[icon2html(src,viewers(src))] a [pick("loud","soft","sinister","eery","triumphant","depressing","cheerful","angry")] \ [pick("horn","beep","bing","bleep","blat","honk","hrumph","ding")] sounds and a \ [pick("yellow","purple","green","blue","red","orange","white")] \ [pick("light","dial","meter","window","protrusion","knob","antenna","swirly thing")] \ [pick("swirls","flashes","whirrs","goes schwing","blinks","flickers","strobes","lights up")] on the \ [pick("front","side","top","bottom","rear","inside")] of [src]. A [pick("slot","funnel","chute","tube")] opens up in the \ - [pick("front","side","top","bottom","rear","inside")]." + [pick("front","side","top","bottom","rear","inside")].") /obj/machinery/replicator/process() if(spawning_types.len && powered()) spawn_progress_time += world.time - last_process_time if(spawn_progress_time > max_spawn_time) - src.visible_message("[icon2html(src,viewers(src))] [src] pings!") + src.visible_message(span_notice("[icon2html(src,viewers(src))] [src] pings!")) var/obj/source_material = pop(stored_materials) var/spawn_type = pop(spawning_types) @@ -133,7 +133,7 @@ icon_state = "borgcharger0(old)" else if(prob(5)) - src.visible_message("[icon2html(src,viewers(src))] [src] [pick("clicks","whizzes","whirrs","whooshes","clanks","clongs","clonks","bangs")].") + src.visible_message(span_notice("[icon2html(src,viewers(src))] [src] [pick("clicks","whizzes","whirrs","whooshes","clanks","clongs","clonks","bangs")].")) last_process_time = world.time @@ -161,9 +161,9 @@ if(key in construction) if(LAZYLEN(stored_materials) > LAZYLEN(spawning_types)) if(LAZYLEN(spawning_types)) - visible_message("[icon2html(src,viewers(src))] a [pick("light","dial","display","meter","pad")] on [src]'s front [pick("blinks","flashes")] [pick("red","yellow","blue","orange","purple","green","white")].") + visible_message(span_notice("[icon2html(src,viewers(src))] a [pick("light","dial","display","meter","pad")] on [src]'s front [pick("blinks","flashes")] [pick("red","yellow","blue","orange","purple","green","white")].")) else - visible_message("[icon2html(src,viewers(src))] [src]'s front compartment slides shut.") + visible_message(span_notice("[icon2html(src,viewers(src))] [src]'s front compartment slides shut.")) spawning_types.Add(construction[key]) spawn_progress_time = 0 update_use_power(USE_POWER_ACTIVE) @@ -171,11 +171,11 @@ else visible_message(fail_message) -/obj/machinery/replicator/attackby(obj/item/weapon/W as obj, mob/living/user as mob) +/obj/machinery/replicator/attackby(obj/item/W as obj, mob/living/user as mob) if(!W.canremove || !user.canUnEquip(W)) //No armblades, no grabs. No other-thing-I-didn't-think-of. - to_chat(user, "You cannot put \the [W] into the machine.") + to_chat(user, span_notice("You cannot put \the [W] into the machine.")) return user.drop_item() W.loc = src stored_materials.Add(W) - src.visible_message("\The [user] inserts \the [W] into \the [src].") + src.visible_message(span_notice(span_bold("\The [user]") + " inserts \the [W] into \the [src].")) diff --git a/code/modules/xenoarcheaology/artifacts/replicator_vr.dm b/code/modules/xenoarcheaology/artifacts/replicator_vr.dm index 9a31b13a75d..e8b1ff662a8 100644 --- a/code/modules/xenoarcheaology/artifacts/replicator_vr.dm +++ b/code/modules/xenoarcheaology/artifacts/replicator_vr.dm @@ -71,7 +71,7 @@ if(spawning_types.len && powered()) spawn_progress_time += world.time - last_process_time if(spawn_progress_time > max_spawn_time) - src.visible_message("[icon2html(src,viewers(src))] [src] pings!") + src.visible_message(span_notice("[icon2html(src,viewers(src))] [src] pings!")) var/obj/source_material = pop(stored_materials) var/spawn_type = pop(spawning_types) @@ -88,8 +88,8 @@ //Did they use an item? If so, we're done here. //Did they put a micro in it? - if(istype(source_material,/obj/item/weapon/holder/micro)) - var/obj/item/weapon/holder/micro/micro_holder = source_material + if(istype(source_material,/obj/item/holder/micro)) + var/obj/item/holder/micro/micro_holder = source_material var/mob/mob_to_be_changed = micro_holder.held_mob var/mob/living/M = mob_to_be_changed //Start of mob code shamelessly ripped from mouseray @@ -200,66 +200,66 @@ icon_state = "borgcharger0(old)" else if(prob(5)) - src.visible_message("[icon2html(src,viewers(src))] [src] [pick("clicks","whizzes","whirrs","whooshes","clanks","clongs","clonks","bangs")].") + src.visible_message(span_notice("[icon2html(src,viewers(src))] [src] [pick("clicks","whizzes","whirrs","whooshes","clanks","clongs","clonks","bangs")].")) last_process_time = world.time -/obj/machinery/replicator/vore/attackby(obj/item/weapon/W as obj, mob/living/user as mob) +/obj/machinery/replicator/vore/attackby(obj/item/W as obj, mob/living/user as mob) if(!W.canremove || !user.canUnEquip(W) || W.possessed_voice || is_type_in_list(W,item_vore_blacklist)) //No armblades, no putting possessed items in it! - to_chat(user, "You cannot put \the [W] into the machine.") + to_chat(user, span_notice("You cannot put \the [W] into the machine.")) return - if(istype(W, /obj/item/weapon/holder/micro)) //Are you putting a micro in it? - var/obj/item/weapon/holder/micro/micro_holder = W + if(istype(W, /obj/item/holder/micro)) //Are you putting a micro in it? + var/obj/item/holder/micro/micro_holder = W var/mob/living/inserted_mob = micro_holder.held_mob //Get the actual mob. if(!inserted_mob.allow_spontaneous_tf) //Do they allow TF? - to_chat(user, "You cannot put \the [W] into the machine. ((The prefs of the micro forbid this action.))") + to_chat(user, span_notice("You cannot put \the [W] into the machine. ((The prefs of the micro forbid this action.))")) return if(inserted_mob.stat == DEAD) //Hey medical... - to_chat(user, "[W] is dead.") + to_chat(user, span_notice("[W] is dead.")) return if(inserted_mob.tf_mob_holder) - to_chat(user, "[W] must be in their original form.") + to_chat(user, span_notice("[W] must be in their original form.")) return if(inserted_mob.client) var/response //Let's see if they are SURE they accept the fact they will be a clothing, plushie, or something else. response = tgui_alert(inserted_mob, "Are you -sure- you want to be put in this machine?\n(This machine will turn you into one of the various types of mobs in the game.)", "WARNING: Are you sure you want to be put in the machine and transformed?", list("No", "Certain")) if(response != "Certain") //If they don't agree, stop. - to_chat(user, "[W] stops you from placing them in the machine.") + to_chat(user, span_notice("[W] stops you from placing them in the machine.")) return else //If they /do/ agree, give them one last chance. response = tgui_alert(inserted_mob, "This is the last warning: Are you absolutely certain you want to be transformed into a mob?", "WARNING: FINAL CHANCE!", list("No", "Certain")) if(response != "Certain") - to_chat(user, "[W] stops you from placing them in the machine.") + to_chat(user, span_notice("[W] stops you from placing them in the machine.")) return if(istype(inserted_mob, /mob/living/voice) || W.loc == src) //Sanity. return log_and_message_admins("[user] has just placed [inserted_mob] into a mob transformation machine.", user) else - to_chat(user, "You cannot put \the [W] into the machine. ((The micro must be connected to the server.))") + to_chat(user, span_notice("You cannot put \the [W] into the machine. ((The micro must be connected to the server.))")) return - else if(istype(W,/obj/item/weapon/grab)) //Is someone being shoved into the machine? - var/obj/item/weapon/grab/the_grab = W + else if(istype(W,/obj/item/grab)) //Is someone being shoved into the machine? + var/obj/item/grab/the_grab = W var/mob/living/inserted_mob = the_grab.affecting //Get the mob that is grabbed. if(!inserted_mob.allow_spontaneous_tf) - to_chat(user, "You cannot put \the [W] into the machine. ((The prefs of the micro forbid this action.))") + to_chat(user, span_notice("You cannot put \the [W] into the machine. ((The prefs of the micro forbid this action.))")) return if(inserted_mob.stat == DEAD) - to_chat(user, "[W] is dead.") + to_chat(user, span_notice("[W] is dead.")) return if(inserted_mob.tf_mob_holder) - to_chat(user, "[W] must be in their original form.") + to_chat(user, span_notice("[W] must be in their original form.")) return if(inserted_mob.client) var/response response = tgui_alert(inserted_mob, "Are you -sure- you want to be put in this machine?\n(This machine will turn you into one of the various types of mobs in the game.)", "WARNING: Are you sure you want to be put in the machine and transformed?", list("No", "Certain")) if(response != "Certain") - to_chat(user, "[W] stops you from placing them in the machine.") + to_chat(user, span_notice("[W] stops you from placing them in the machine.")) return else response = tgui_alert(inserted_mob, "This is the last warning: Are you absolutely certain you want to be transformed into a mob?", "WARNING: FINAL CHANCE!", list("No", "Certain")) if(response != "Certain") - to_chat(user, "[W] stops you from placing them in the machine.") + to_chat(user, span_notice("[W] stops you from placing them in the machine.")) return if(istype(inserted_mob, /mob/living/voice) || W.loc == src) return @@ -270,33 +270,33 @@ if(istype(inserted_mob, /mob/living/carbon/human)) //So, this WORKS. Works very well! var/mob/living/carbon/human/inserted_human = inserted_mob for(var/obj/item/I in inserted_mob) - if(istype(I, /obj/item/weapon/implant) || istype(I, /obj/item/device/nif)) + if(istype(I, /obj/item/implant) || istype(I, /obj/item/nif)) continue inserted_human.drop_from_inventory(I) inserted_mob.loc = src stored_materials.Add(inserted_mob) - src.visible_message("\The [user] inserts \the [inserted_mob] into \the [src].") + src.visible_message(span_filter_notice(span_bold("\The [user]") + " inserts \the [inserted_mob] into \the [src].")) return else - to_chat(user, "You cannot put \the [W] into the machine. ((The micro must be connected to the server.))") + to_chat(user, span_notice("You cannot put \the [W] into the machine. ((The micro must be connected to the server.))")) return - else if(istype(W, /obj/item/weapon/holder/mouse)) //No you can't turn your army of mice into giant rats. - to_chat(user, "You cannot put \the [W] into the machine. The machine reads 'NOT ENOUGH BIOMASS'.") + else if(istype(W, /obj/item/holder/mouse)) //No you can't turn your army of mice into giant rats. + to_chat(user, span_notice("You cannot put \the [W] into the machine. The machine reads 'NOT ENOUGH BIOMASS'.")) return user.drop_item() //Put the micro on the floor (or drop the item) - if(istype(W, /obj/item/weapon/holder/micro)) //I hate this but it's the only way to get their stuff to drop. - var/obj/item/weapon/holder/micro/micro_holder = W + if(istype(W, /obj/item/holder/micro)) //I hate this but it's the only way to get their stuff to drop. + var/obj/item/holder/micro/micro_holder = W var/mob/living/inserted_mob = micro_holder.held_mob //Get the actual mob. if(istype(inserted_mob, /mob/living/carbon/human)) //Only humans have the drop_from_inventory proc. var/mob/living/carbon/human/inserted_human = inserted_mob for(var/obj/item/I in inserted_human) //Drop any remaining items! This only really seems to affect hands. - if(istype(I, /obj/item/weapon/implant) || istype(I, /obj/item/device/nif)) + if(istype(I, /obj/item/implant) || istype(I, /obj/item/nif)) continue inserted_human.drop_from_inventory(I) //Now that we've dropped all the items they have, let's shove them back into the micro holder. W.loc = src stored_materials.Add(W) - src.visible_message("\The [user] inserts \the [W] into \the [src].") + src.visible_message(span_filter_notice(span_bold("\The [user]") + " inserts \the [W] into \the [src].")) /obj/machinery/replicator/vore/tgui_data(mob/user, datum/tgui/ui, datum/tgui_state/state) var/list/data = ..() @@ -313,9 +313,9 @@ if(key in created_mobs) if(LAZYLEN(stored_materials) > LAZYLEN(spawning_types)) if(LAZYLEN(spawning_types)) - visible_message("[icon2html(src,viewers(src))] a [pick("light","dial","display","meter","pad")] on [src]'s front [pick("blinks","flashes")] [pick("red","yellow","blue","orange","purple","green","white")].") + visible_message(span_notice("[icon2html(src,viewers(src))] a [pick("light","dial","display","meter","pad")] on [src]'s front [pick("blinks","flashes")] [pick("red","yellow","blue","orange","purple","green","white")].")) else - visible_message("[icon2html(src,viewers(src))] [src]'s front compartment slides shut.") + visible_message(span_notice("[icon2html(src,viewers(src))] [src]'s front compartment slides shut.")) spawning_types.Add(created_mobs[key]) spawn_progress_time = 0 update_use_power(USE_POWER_ACTIVE) @@ -347,7 +347,7 @@ var/list/created_items = list() var/list/tgui_vore_selection = list() var/list/viable_items = list( - /obj/item/clothing/gloves/ring, + /obj/item/clothing/accessory/ring, /obj/item/clothing/gloves/evening, /obj/item/clothing/gloves/black, /obj/item/clothing/under/swimsuit/black, @@ -376,13 +376,13 @@ /obj/item/clothing/shoes/flipflop, /obj/item/clothing/shoes/boots/duty, /obj/item/clothing/shoes/footwraps, - /obj/item/weapon/storage/smolebrickcase, - /obj/item/weapon/lipstick, - /obj/item/weapon/material/fishing_rod/modern, - /obj/item/weapon/inflatable_duck, + /obj/item/storage/smolebrickcase, + /obj/item/lipstick, + /obj/item/material/fishing_rod/modern, + /obj/item/inflatable_duck, /obj/item/toy/syndicateballoon, - /obj/item/weapon/towel, - /obj/item/weapon/bedsheet/rainbowdouble + /obj/item/towel, + /obj/item/bedsheet/rainbowdouble ) // Currently: 3 gloves, 5 undersuits, 3 oversuits, 5 plushies, 5 headwear, 7 shoes, 7 misc. = 35 //Fishing hat was going to be added, but it was simply too powerful for this world. @@ -424,7 +424,7 @@ if(spawning_types.len && powered()) spawn_progress_time += world.time - last_process_time if(spawn_progress_time > max_spawn_time) - src.visible_message("[icon2html(src,viewers(src))] [src] pings!") + src.visible_message(span_notice("[icon2html(src,viewers(src))] [src] pings!")) var/obj/source_material = pop(stored_materials) var/spawn_type = pop(spawning_types) @@ -438,8 +438,8 @@ spawned_obj.desc += " It is made of [source_material]." else spawned_obj.desc = "It is made of [source_material]." - if(istype(source_material,/obj/item/weapon/holder/micro)) - var/obj/item/weapon/holder/micro/micro_holder = source_material //Tells the machine that a micro is the material being used + if(istype(source_material,/obj/item/holder/micro)) + var/obj/item/holder/micro/micro_holder = source_material //Tells the machine that a micro is the material being used var/mob/mob_to_be_changed = micro_holder.held_mob //Get the mob. var/mob/living/M = mob_to_be_changed M.release_vore_contents(TRUE, TRUE) //Release their stomach contents. Don't spam the chat, either. @@ -469,65 +469,65 @@ icon_state = "borgcharger0(old)" else if(prob(5)) - src.visible_message("[icon2html(src,viewers(src))] [src] [pick("clicks","whizzes","whirrs","whooshes","clanks","clongs","clonks","bangs")].") + src.visible_message(span_notice("[icon2html(src,viewers(src))] [src] [pick("clicks","whizzes","whirrs","whooshes","clanks","clongs","clonks","bangs")].")) last_process_time = world.time -/obj/machinery/replicator/clothing/attackby(obj/item/weapon/W as obj, mob/living/user as mob) +/obj/machinery/replicator/clothing/attackby(obj/item/W as obj, mob/living/user as mob) if(!W.canremove || !user.canUnEquip(W) || W.possessed_voice || is_type_in_list(W,item_vore_blacklist)) //No armblades, no putting already possessed items in it! - to_chat(user, "You cannot put \the [W] into the machine.") + to_chat(user, span_notice("You cannot put \the [W] into the machine.")) return - if(istype(W, /obj/item/weapon/holder/micro) || istype(W, /obj/item/weapon/holder/mouse)) //Are you putting a micro/mouse in it? - var/obj/item/weapon/holder/micro/micro_holder = W + if(istype(W, /obj/item/holder/micro) || istype(W, /obj/item/holder/mouse)) //Are you putting a micro/mouse in it? + var/obj/item/holder/micro/micro_holder = W var/mob/living/inserted_mob = micro_holder.held_mob //Get the actual mob. if(!inserted_mob.allow_spontaneous_tf) //Do they allow TF? - to_chat(user, "You cannot put \the [W] into the machine. ((The prefs of the micro forbid this action.))") + to_chat(user, span_notice("You cannot put \the [W] into the machine. ((The prefs of the micro forbid this action.))")) return if(inserted_mob.stat == DEAD) //Hey medical... - to_chat(user, "[W] is dead.") + to_chat(user, span_notice("[W] is dead.")) return if(inserted_mob.tf_mob_holder) //No recursion!!! - to_chat(user, "[W] must be in their original form.") + to_chat(user, span_notice("[W] must be in their original form.")) return if(inserted_mob.client) var/response //Let's see if they are SURE they accept the fact they will be a clothing, plushie, or something else. response = tgui_alert(inserted_mob, "Are you -sure- you want to be put in this machine?\n(This machine can turn you into various clothing, footwear, plushies, and other miscellaneous objects. This means that more likely than not, you will be used as whatever object is used. Make certain your preferences align with this possibility.)", "WARNING: Are you sure you want to be put in the machine and transformed?", list("No", "Certain")) if(response != "Certain") //If they don't agree, stop. - to_chat(user, "[W] stops you from placing them in the machine.") + to_chat(user, span_notice("[W] stops you from placing them in the machine.")) return else //If they /do/ agree, give them one last chance. response = tgui_alert(inserted_mob, "This is the last warning: Are you absolutely certain you want to be transformed into an object and have the possibility of being used as such?", "WARNING: FINAL CHANCE!", list("No", "I accept the possibilities")) if(response != "I accept the possibilities") - to_chat(user, "[W] stops you from placing them in the machine.") + to_chat(user, span_notice("[W] stops you from placing them in the machine.")) return if(istype(inserted_mob, /mob/living/voice) || W.loc == src) //This is a sanity check to keep them from entering it multiple times. return log_and_message_admins("[user] has just placed [inserted_mob] into an item transformation machine.", user) else - to_chat(user, "You cannot put \the [W] into the machine. ((The micro must be connected to the server.))") + to_chat(user, span_notice("You cannot put \the [W] into the machine. ((The micro must be connected to the server.))")) return - else if(istype(W,/obj/item/weapon/grab)) //Is someone being shoved into the machine? - var/obj/item/weapon/grab/the_grab = W + else if(istype(W,/obj/item/grab)) //Is someone being shoved into the machine? + var/obj/item/grab/the_grab = W var/mob/living/inserted_mob = the_grab.affecting //Get the mob that is grabbed. if(!inserted_mob.allow_spontaneous_tf) - to_chat(user, "You cannot put \the [W] into the machine. ((The prefs of the micro forbid this action.))") + to_chat(user, span_notice("You cannot put \the [W] into the machine. ((The prefs of the micro forbid this action.))")) return if(inserted_mob.stat == DEAD) - to_chat(user, "[W] is dead.") + to_chat(user, span_notice("[W] is dead.")) return if(inserted_mob.tf_mob_holder) - to_chat(user, "[W] must be in their original form.") + to_chat(user, span_notice("[W] must be in their original form.")) return if(inserted_mob.client) var/response response = tgui_alert(inserted_mob, "Are you -sure- you want to be put in this machine?\n(This machine can turn you into various clothing, footwear, plushies, and other miscellaneous objects. This means that more likely than not, you will be used as whatever object is used. Make certain your preferences align with this possibility.)", "WARNING: Are you sure you want to be put in the machine and transformed?", list("No", "Certain")) if(response != "Certain") - to_chat(user, "[W] stops you from placing them in the machine.") + to_chat(user, span_notice("[W] stops you from placing them in the machine.")) return else response = tgui_alert(inserted_mob, "This is the last warning: Are you absolutely certain you want to be transformed into an object and have the possibility of being used as such?", "WARNING: FINAL CHANCE!", list("No", "I accept the possibilities")) if(response != "I accept the possibilities") - to_chat(user, "[W] stops you from placing them in the machine.") + to_chat(user, span_notice("[W] stops you from placing them in the machine.")) return if(istype(inserted_mob, /mob/living/voice) || W.loc == src) return @@ -538,31 +538,31 @@ if(istype(inserted_mob, /mob/living/carbon/human)) //So, this WORKS. Works very well! var/mob/living/carbon/human/inserted_human = inserted_mob for(var/obj/item/I in inserted_mob) - if(istype(I, /obj/item/weapon/implant) || istype(I, /obj/item/device/nif)) + if(istype(I, /obj/item/implant) || istype(I, /obj/item/nif)) continue inserted_human.drop_from_inventory(I) inserted_mob.loc = src stored_materials.Add(inserted_mob) - src.visible_message("\The [user] inserts \the [inserted_mob] into \the [src].") + src.visible_message(span_filter_notice(span_bold("\The [user]") + " inserts \the [inserted_mob] into \the [src].")) return else - to_chat(user, "You cannot put \the [W] into the machine. ((They must be connected to the server.))") + to_chat(user, span_notice("You cannot put \the [W] into the machine. ((They must be connected to the server.))")) return user.drop_item() //Put the micro on the floor (or drop the item) - if(istype(W, /obj/item/weapon/holder/micro)) //I hate this but it's the only way to get their stuff to drop. - var/obj/item/weapon/holder/micro/micro_holder = W + if(istype(W, /obj/item/holder/micro)) //I hate this but it's the only way to get their stuff to drop. + var/obj/item/holder/micro/micro_holder = W var/mob/living/inserted_mob = micro_holder.held_mob //Get the actual mob. if(istype(inserted_mob, /mob/living/carbon/human)) //Only humans have the drop_from_inventory proc. var/mob/living/carbon/human/inserted_human = inserted_mob for(var/obj/item/I in inserted_human) //Drop any remaining items! This only really seems to affect hands. - if(istype(I, /obj/item/weapon/implant) || istype(I, /obj/item/device/nif)) + if(istype(I, /obj/item/implant) || istype(I, /obj/item/nif)) continue inserted_human.drop_from_inventory(I) //Now that we've dropped all the items they have, let's shove them back into the micro holder. W.loc = src stored_materials.Add(W) - src.visible_message("\The [user] inserts \the [W] into \the [src].") + src.visible_message(span_filter_notice(span_bold("\The [user]") + " inserts \the [W] into \the [src].")) /obj/machinery/replicator/clothing/tgui_interact(mob/user, datum/tgui/ui) //This creates the menu. @@ -586,9 +586,9 @@ if(key in created_items) if(LAZYLEN(stored_materials) > LAZYLEN(spawning_types)) if(LAZYLEN(spawning_types)) - visible_message("[icon2html(src,viewers(src))] a [pick("light","dial","display","meter","pad")] on [src]'s front [pick("blinks","flashes")] [pick("red","yellow","blue","orange","purple","green","white")].") + visible_message(span_notice("[icon2html(src,viewers(src))] a [pick("light","dial","display","meter","pad")] on [src]'s front [pick("blinks","flashes")] [pick("red","yellow","blue","orange","purple","green","white")].")) else - visible_message("[icon2html(src,viewers(src))] [src]'s front compartment slides shut.") + visible_message(span_notice("[icon2html(src,viewers(src))] [src]'s front compartment slides shut.")) spawning_types.Add(created_items[key]) spawn_progress_time = 0 update_use_power(USE_POWER_ACTIVE) diff --git a/code/modules/xenoarcheaology/boulder.dm b/code/modules/xenoarcheaology/boulder.dm index b260f0b62a0..5fbb77e3b18 100644 --- a/code/modules/xenoarcheaology/boulder.dm +++ b/code/modules/xenoarcheaology/boulder.dm @@ -16,55 +16,55 @@ excavation_level = rand(5, 50) /obj/structure/boulder/attackby(var/obj/item/I, var/mob/user) - if(istype(I, /obj/item/device/core_sampler)) + if(istype(I, /obj/item/core_sampler)) src.geological_data.artifact_distance = rand(-100,100) / 100 src.geological_data.artifact_id = artifact_find.artifact_id - var/obj/item/device/core_sampler/C = I + var/obj/item/core_sampler/C = I C.sample_item(src, user) return - if(istype(I, /obj/item/device/depth_scanner)) - var/obj/item/device/depth_scanner/C = I + if(istype(I, /obj/item/depth_scanner)) + var/obj/item/depth_scanner/C = I C.scan_atom(user, src) return - if(istype(I, /obj/item/device/xenoarch_multi_tool)) - var/obj/item/device/xenoarch_multi_tool/C = I + if(istype(I, /obj/item/xenoarch_multi_tool)) + var/obj/item/xenoarch_multi_tool/C = I if(C.mode) //Mode means scanning. C.depth_scanner.scan_atom(user, src) return else - user.visible_message("\The [user] extends \the [C] over \the [src], a flurry of red beams scanning \the [src]'s surface!", "You extend \the [C] over \the [src], a flurry of red beams scanning \the [src]'s surface!") + user.visible_message(span_bold("\The [user]") + " extends \the [C] over \the [src], a flurry of red beams scanning \the [src]'s surface!", span_notice("You extend \the [C] over \the [src], a flurry of red beams scanning \the [src]'s surface!")) if(do_after(user, 15)) - to_chat(user, "\The [src] has been excavated to a depth of [2 * src.excavation_level]cm.") + to_chat(user, span_notice("\The [src] has been excavated to a depth of [2 * src.excavation_level]cm.")) return - if(istype(I, /obj/item/device/measuring_tape)) - var/obj/item/device/measuring_tape/P = I - user.visible_message("\The [user] extends \the [P] towards \the [src].", "You extend \the [P] towards \the [src].") + if(istype(I, /obj/item/measuring_tape)) + var/obj/item/measuring_tape/P = I + user.visible_message(span_bold("\The [user]") + " extends \the [P] towards \the [src].", span_notice("You extend \the [P] towards \the [src].")) if(do_after(user, 15)) - to_chat(user, "\The [src] has been excavated to a depth of [2 * src.excavation_level]cm.") + to_chat(user, span_notice("\The [src] has been excavated to a depth of [2 * src.excavation_level]cm.")) return - if(istype(I, /obj/item/weapon/pickaxe)) - var/obj/item/weapon/pickaxe/P = I + if(istype(I, /obj/item/pickaxe)) + var/obj/item/pickaxe/P = I if(last_act + P.digspeed > world.time)//prevents message spam return last_act = world.time - to_chat(user, "You start [P.drill_verb] [src].") + to_chat(user, span_warning("You start [P.drill_verb] [src].")) if(!do_after(user, P.digspeed)) return - to_chat(user, "You finish [P.drill_verb] [src].") + to_chat(user, span_notice("You finish [P.drill_verb] [src].")) excavation_level += P.excavation_amount if(excavation_level > 100) //failure - user.visible_message("\The [src] suddenly crumbles away.", "\The [src] has disintegrated under your onslaught, any secrets it was holding are long gone.") + user.visible_message(span_warning("\The [src] suddenly crumbles away."), span_warning("\The [src] has disintegrated under your onslaught, any secrets it was holding are long gone.")) qdel(src) return @@ -78,22 +78,22 @@ if(X.artifact_master) X.artifact_master.artifact_id = artifact_find.artifact_id O.anchored = FALSE // Anchored finds are lame. - src.visible_message("\The [src] suddenly crumbles away.") + src.visible_message(span_warning("\The [src] suddenly crumbles away.")) else - user.visible_message("\The [src] suddenly crumbles away.", "\The [src] has been whittled away under your careful excavation, but there was nothing of interest inside.") + user.visible_message(span_warning("\The [src] suddenly crumbles away."), span_notice("\The [src] has been whittled away under your careful excavation, but there was nothing of interest inside.")) qdel(src) /obj/structure/boulder/Bumped(AM) . = ..() if(istype(AM,/mob/living/carbon/human)) var/mob/living/carbon/human/H = AM - var/obj/item/weapon/pickaxe/P = H.get_inactive_hand() + var/obj/item/pickaxe/P = H.get_inactive_hand() if(istype(P)) src.attackby(P, H) else if(istype(AM,/mob/living/silicon/robot)) var/mob/living/silicon/robot/R = AM - if(istype(R.module_active,/obj/item/weapon/pickaxe)) + if(istype(R.module_active,/obj/item/pickaxe)) attackby(R.module_active,R) else if(istype(AM,/obj/mecha)) diff --git a/code/modules/xenoarcheaology/effect.dm b/code/modules/xenoarcheaology/effect.dm index bf6932b2d31..c19c0592d44 100644 --- a/code/modules/xenoarcheaology/effect.dm +++ b/code/modules/xenoarcheaology/effect.dm @@ -92,7 +92,7 @@ var/atom/toplevelholder = target while(!istype(toplevelholder.loc, /turf)) toplevelholder = toplevelholder.loc - toplevelholder.visible_message("[span_red("[icon2html(toplevelholder, viewers(toplevelholder))] [toplevelholder] [display_msg]")]") + toplevelholder.visible_message(span_filter_notice("[span_red("[icon2html(toplevelholder, viewers(toplevelholder))] [toplevelholder] [display_msg]")]")) /datum/artifact_effect/proc/DoEffectTouch(var/mob/user) /datum/artifact_effect/proc/DoEffectAura(var/atom/holder) @@ -159,13 +159,13 @@ if(!istype(H)) return 1 var/area/A = get_area(H) - if(A.forbid_events) + if(A.flag_check(AREA_FORBID_EVENTS)) return 0 var/protected = 0 //anomaly suits give best protection, but excavation suits are almost as good - if(istype(H.back,/obj/item/weapon/rig/hazmat)) - var/obj/item/weapon/rig/hazmat/rig = H.back + if(istype(H.back,/obj/item/rig/hazmat)) + var/obj/item/rig/hazmat/rig = H.back if(rig.suit_is_deployed() && !rig.offline) protected += 1 diff --git a/code/modules/xenoarcheaology/effect_master.dm b/code/modules/xenoarcheaology/effect_master.dm index 91254789347..a886201ed78 100644 --- a/code/modules/xenoarcheaology/effect_master.dm +++ b/code/modules/xenoarcheaology/effect_master.dm @@ -108,7 +108,7 @@ my_effects += my_effect else - to_chat(usr, "This effect can not be applied to this atom type.") + to_chat(usr, span_filter_notice("This effect can not be applied to this atom type.")) qdel(my_effect) /datum/component/artifact_master/proc/remove_effect() @@ -237,7 +237,7 @@ warn = 1 if(warn && isliving(bumped)) - to_chat(bumped, "You accidentally touch \the [holder] as it hits you.") + to_chat(bumped, span_filter_notice(span_bold("You accidentally touch \the [holder] as it hits you."))) /datum/component/artifact_master/proc/on_bumped() var/atom/movable/M = args[2] @@ -258,7 +258,7 @@ warn = 1 if(warn && isliving(M)) - to_chat(M, "You accidentally touch \the [holder].") + to_chat(M, span_filter_notice(span_bold("You accidentally touch \the [holder]."))) /datum/component/artifact_master/proc/on_attack_hand() var/mob/living/user = args[2] @@ -266,10 +266,10 @@ return if (get_dist(user, holder) > 1) - to_chat(user, "[span_red("You can't reach [holder] from here.")]") + to_chat(user, span_filter_notice("[span_red("You can't reach [holder] from here.")]")) return if(ishuman(user) && user:gloves) - to_chat(user, "You touch [holder] with your gloved hands, [pick("but nothing of note happens","but nothing happens","but nothing interesting happens","but you notice nothing different","but nothing seems to have happened")].") + to_chat(user, span_filter_notice(span_bold("You touch [holder]") + " with your gloved hands, [pick("but nothing of note happens","but nothing happens","but nothing interesting happens","but you notice nothing different","but nothing seems to have happened")].")) return var/triggered = FALSE @@ -285,17 +285,17 @@ my_effect.DoEffectTouch(user) if(triggered) - to_chat(user, "You touch [holder].") + to_chat(user, span_filter_notice(span_bold("You touch [holder]."))) else - to_chat(user, "You touch [holder], [pick("but nothing of note happens","but nothing happens","but nothing interesting happens","but you notice nothing different","but nothing seems to have happened")].") + to_chat(user, span_filter_notice(span_bold("You touch [holder],") + " [pick("but nothing of note happens","but nothing happens","but nothing interesting happens","but you notice nothing different","but nothing seems to have happened")].")) /datum/component/artifact_master/proc/on_attackby() - var/obj/item/weapon/W = args[2] + var/obj/item/W = args[2] for(var/datum/artifact_effect/my_effect in my_effects) - if (istype(W, /obj/item/weapon/reagent_containers)) + if (istype(W, /obj/item/reagent_containers)) if(W.reagents.has_reagent("hydrogen", 1) || W.reagents.has_reagent("water", 1)) if(my_effect.trigger == TRIGGER_WATER) my_effect.ToggleActivate() @@ -308,16 +308,16 @@ else if(W.reagents.has_reagent("toxin", 1) || W.reagents.has_reagent("cyanide", 1) || W.reagents.has_reagent("amatoxin", 1) || W.reagents.has_reagent("neurotoxin", 1)) if(my_effect.trigger == TRIGGER_TOXIN) my_effect.ToggleActivate() - else if(istype(W,/obj/item/weapon/melee/baton) && W:status ||\ - istype(W,/obj/item/weapon/melee/energy) ||\ - istype(W,/obj/item/weapon/melee/cultblade) ||\ - istype(W,/obj/item/weapon/card/emag) ||\ - istype(W,/obj/item/device/multitool)) + else if(istype(W,/obj/item/melee/baton) && W:status ||\ + istype(W,/obj/item/melee/energy) ||\ + istype(W,/obj/item/melee/cultblade) ||\ + istype(W,/obj/item/card/emag) ||\ + istype(W,/obj/item/multitool)) if (my_effect.trigger == TRIGGER_ENERGY) my_effect.ToggleActivate() - else if (istype(W,/obj/item/weapon/flame) && W:lit ||\ - istype(W,/obj/item/weapon/weldingtool) && W:welding) + else if (istype(W,/obj/item/flame) && W:lit ||\ + istype(W,/obj/item/weldingtool) && W:welding) if(my_effect.trigger == TRIGGER_HEAT) my_effect.ToggleActivate() else diff --git a/code/modules/xenoarcheaology/effects/animate_anomaly.dm b/code/modules/xenoarcheaology/effects/animate_anomaly.dm index 7cf3e408e91..52ab0cf4951 100644 --- a/code/modules/xenoarcheaology/effects/animate_anomaly.dm +++ b/code/modules/xenoarcheaology/effects/animate_anomaly.dm @@ -39,7 +39,7 @@ if(target && istype(T) && istype(O.loc, /turf)) O.Move(T) - O.visible_message("\The [holder] lurches away from [user]") + O.visible_message(span_alien("\The [holder] lurches away from [user]")) /datum/artifact_effect/animate_anomaly/DoEffectAura() var/obj/O = get_master_holder() @@ -58,7 +58,7 @@ if(istype(O.loc, /turf)) if(get_dist(O.loc, target.loc) > 1) O.Move(get_step_to(O, target)) - O.visible_message("\The [O] lurches toward [target]") + O.visible_message(span_alien("\The [O] lurches toward [target]")) /datum/artifact_effect/animate_anomaly/DoEffectPulse() DoEffectAura() diff --git a/code/modules/xenoarcheaology/effects/badfeeling.dm b/code/modules/xenoarcheaology/effects/badfeeling.dm index da5e8f5bee2..28b0d6eb158 100644 --- a/code/modules/xenoarcheaology/effects/badfeeling.dm +++ b/code/modules/xenoarcheaology/effects/badfeeling.dm @@ -34,7 +34,7 @@ var/mob/living/carbon/human/H = user if(prob(50)) if(prob(75)) - to_chat(H, span_red("[pick(drastic_messages)]")) + to_chat(H, span_red(span_bold("[pick(drastic_messages)]") + "")) else to_chat(H, span_red("[pick(messages)]")) diff --git a/code/modules/xenoarcheaology/effects/berserk.dm b/code/modules/xenoarcheaology/effects/berserk.dm index 4965747909c..14015b13bac 100644 --- a/code/modules/xenoarcheaology/effects/berserk.dm +++ b/code/modules/xenoarcheaology/effects/berserk.dm @@ -13,16 +13,16 @@ return FALSE // Drons are presumably deaf to any psionic things. if(L.add_modifier(/datum/modifier/berserk, 30 SECONDS)) - to_chat(L, "An otherworldly feeling seems to enter your mind, and it ignites your mind in fury!") + to_chat(L, span_danger("An otherworldly feeling seems to enter your mind, and it ignites your mind in fury!")) L.adjustBrainLoss(3) // Playing with berserking alien psychic artifacts isn't good for the mind. - to_chat(L, "The inside of your head hurts...") + to_chat(L, span_danger("The inside of your head hurts...")) return TRUE else if(L.has_modifier_of_type(/datum/modifier/berserk)) // Already angry. - to_chat(L, "An otherworldly feeling seems to enter your mind again, and it fans your inner flame, extending your rage.") + to_chat(L, span_warning("An otherworldly feeling seems to enter your mind again, and it fans your inner flame, extending your rage.")) else // Exhausted or something. - to_chat(L, "An otherworldly feeling seems to enter your mind, and you briefly feel an intense anger, but \ - it quickly passes.") + to_chat(L, span_warning("An otherworldly feeling seems to enter your mind, and you briefly feel an intense anger, but \ + it quickly passes.")) return FALSE /datum/artifact_effect/berserk/DoEffectTouch(var/mob/toucher) @@ -45,4 +45,4 @@ var/turf/T = get_turf(holder) for(var/mob/living/L in range(src.effectrange,T)) apply_berserk(L) - return TRUE \ No newline at end of file + return TRUE diff --git a/code/modules/xenoarcheaology/effects/cannibal.dm b/code/modules/xenoarcheaology/effects/cannibal.dm index ba1b4a616c4..dd842c4ec45 100644 --- a/code/modules/xenoarcheaology/effects/cannibal.dm +++ b/code/modules/xenoarcheaology/effects/cannibal.dm @@ -35,7 +35,7 @@ if(H.is_sentient()) if(prob(50)) if(prob(75)) - to_chat(H, span_red("[pick(drastic_messages)]")) + to_chat(H, span_red(span_bold("[pick(drastic_messages)]") + "")) else to_chat(H, span_red("[pick(messages)]")) diff --git a/code/modules/xenoarcheaology/effects/cellcharge.dm b/code/modules/xenoarcheaology/effects/cellcharge.dm index e3377bbe0e1..1590abeb3f6 100644 --- a/code/modules/xenoarcheaology/effects/cellcharge.dm +++ b/code/modules/xenoarcheaology/effects/cellcharge.dm @@ -16,16 +16,16 @@ for(var/atom/movable/AM in range(effectrange, turf)) if(isliving(AM)) var/mob/living/L = AM - var/obj/item/weapon/cell/C = L.get_cell() + var/obj/item/cell/C = L.get_cell() if(C) if(issilicon(L) && ((last_message + (1 MINUTE)) < world.time)) messaged_robots = TRUE - to_chat(L, SPAN_NOTICE("SYSTEM ALERT: Energy boost detected!")) + to_chat(L, span_notice("SYSTEM ALERT: Energy boost detected!")) C.charge = min(C.maxcharge, C.charge + amount) continue - var/obj/item/weapon/cell/C = AM.get_cell() + var/obj/item/cell/C = AM.get_cell() if(C) C.charge = min(C.maxcharge, C.charge + amount) diff --git a/code/modules/xenoarcheaology/effects/celldrain.dm b/code/modules/xenoarcheaology/effects/celldrain.dm index 44d28497e65..4831fb57977 100644 --- a/code/modules/xenoarcheaology/effects/celldrain.dm +++ b/code/modules/xenoarcheaology/effects/celldrain.dm @@ -16,16 +16,16 @@ for(var/atom/movable/AM in range(effectrange, turf)) if(isliving(AM)) var/mob/living/L = AM - var/obj/item/weapon/cell/C = L.get_cell() + var/obj/item/cell/C = L.get_cell() if(C) if(issilicon(L) && ((last_message + (1 MINUTE)) < world.time)) messaged_robots = TRUE - to_chat(L, SPAN_WARNING("SYSTEM ALERT: Energy drain detected!")) + to_chat(L, span_warning("SYSTEM ALERT: Energy drain detected!")) C.charge = min(C.maxcharge, C.charge - amount) continue - var/obj/item/weapon/cell/C = AM.get_cell() + var/obj/item/cell/C = AM.get_cell() if(C) C.charge = min(C.maxcharge, C.charge - amount) diff --git a/code/modules/xenoarcheaology/effects/electric_field.dm b/code/modules/xenoarcheaology/effects/electric_field.dm index 1ba181bb456..706daf46648 100644 --- a/code/modules/xenoarcheaology/effects/electric_field.dm +++ b/code/modules/xenoarcheaology/effects/electric_field.dm @@ -19,7 +19,7 @@ for(var/mob/living/L in nearby_mobs) if(L.isSynthetic()) - to_chat(L, "ERROR: Electrical fault detected!") + to_chat(L, span_danger("ERROR: Electrical fault detected!")) L.stuttering += 3 if(ishuman(L)) @@ -41,7 +41,7 @@ for(var/mob/living/L in nearby_mobs) if(L.isSynthetic()) - to_chat(L, "ERROR: Electrical fault detected!") + to_chat(L, span_danger("ERROR: Electrical fault detected!")) L.stuttering += 3 if(ishuman(L)) @@ -63,7 +63,7 @@ for(var/mob/living/L in nearby_mobs) if(L.isSynthetic()) - to_chat(L, "ERROR: Electrical fault detected!") + to_chat(L, span_danger("ERROR: Electrical fault detected!")) L.stuttering += 3 if(ishuman(L)) diff --git a/code/modules/xenoarcheaology/effects/feysight.dm b/code/modules/xenoarcheaology/effects/feysight.dm index 70bceb7bcca..f966ac7f708 100644 --- a/code/modules/xenoarcheaology/effects/feysight.dm +++ b/code/modules/xenoarcheaology/effects/feysight.dm @@ -13,16 +13,16 @@ return FALSE // Drons are presumably deaf to any psionic things. if(L.add_modifier(/datum/modifier/feysight, 30 SECONDS)) - to_chat(L, "An otherworldly feeling seems to enter your mind, and you feel at peace.") + to_chat(L, span_alien("An otherworldly feeling seems to enter your mind, and you feel at peace.")) L.adjustHalLoss(10) - to_chat(L, "The inside of your head hurts...") + to_chat(L, span_danger("The inside of your head hurts...")) return TRUE else if(L.has_modifier_of_type(/datum/modifier/feysight)) - to_chat(L, "An otherworldly feeling seems to enter your mind again, and it holds the visions in place.") + to_chat(L, span_warning("An otherworldly feeling seems to enter your mind again, and it holds the visions in place.")) else - to_chat(L, "An otherworldly feeling seems to enter your mind, and you briefly feel peace, but \ - it quickly passes.") + to_chat(L, span_warning("An otherworldly feeling seems to enter your mind, and you briefly feel peace, but \ + it quickly passes.")) return FALSE /datum/artifact_effect/feysight/DoEffectTouch(var/mob/toucher) @@ -45,4 +45,4 @@ var/turf/T = get_turf(holder) for(var/mob/living/L in range(src.effectrange,T)) apply_modifier(L) - return TRUE \ No newline at end of file + return TRUE diff --git a/code/modules/xenoarcheaology/effects/gaia.dm b/code/modules/xenoarcheaology/effects/gaia.dm index 42869fd5568..75d184016d1 100644 --- a/code/modules/xenoarcheaology/effects/gaia.dm +++ b/code/modules/xenoarcheaology/effects/gaia.dm @@ -33,7 +33,7 @@ /datum/artifact_effect/gaia/DoEffectTouch(var/mob/user) var/atom/holder = get_master_holder() - to_chat(user, "You feel the presence of something long forgotten.") + to_chat(user, span_alien("You feel the presence of something long forgotten.")) for(var/obj/machinery/portable_atmospherics/hydroponics/Tray in view(world.view,get_turf(holder))) age_plantlife(Tray) if(prob(30)) diff --git a/code/modules/xenoarcheaology/effects/goodfeeling.dm b/code/modules/xenoarcheaology/effects/goodfeeling.dm index 10678a9600e..92d267b1f67 100644 --- a/code/modules/xenoarcheaology/effects/goodfeeling.dm +++ b/code/modules/xenoarcheaology/effects/goodfeeling.dm @@ -32,7 +32,7 @@ var/mob/living/carbon/human/H = user if(prob(50)) if(prob(75)) - to_chat(H, span_blue("[pick(drastic_messages)]")) + to_chat(H, span_blue(span_bold("[pick(drastic_messages)]") + "")) else to_chat(H, span_blue("[pick(messages)]")) diff --git a/code/modules/xenoarcheaology/effects/gravitational_waves.dm b/code/modules/xenoarcheaology/effects/gravitational_waves.dm index c22eb871679..b9541fe766d 100644 --- a/code/modules/xenoarcheaology/effects/gravitational_waves.dm +++ b/code/modules/xenoarcheaology/effects/gravitational_waves.dm @@ -28,13 +28,13 @@ var/seconds_since_last_pull = max(0, round((last_wave_pull - world.time) / 10)) if(prob(10 + seconds_since_last_pull)) - holder.visible_message("\The [holder] distorts as local gravity intensifies, and shifts toward it.") + holder.visible_message(span_alien("\The [holder] distorts as local gravity intensifies, and shifts toward it.")) last_wave_pull = world.time gravwave(get_turf(holder), effectrange, pull_power) /datum/artifact_effect/extreme/gravity_wave/DoEffectPulse() var/atom/holder = get_master_holder() - holder.visible_message("\The [holder] distorts as local gravity intensifies, and shifts toward it.") + holder.visible_message(span_alien("\The [holder] distorts as local gravity intensifies, and shifts toward it.")) gravwave(get_turf(holder), effectrange, pull_power) /datum/artifact_effect/extreme/gravity_wave/proc/gravwave(var/atom/target, var/pull_range = 7, var/pull_power = STAGE_TWO) diff --git a/code/modules/xenoarcheaology/effects/hurt.dm b/code/modules/xenoarcheaology/effects/hurt.dm index a2c8d54163f..52ef861231d 100644 --- a/code/modules/xenoarcheaology/effects/hurt.dm +++ b/code/modules/xenoarcheaology/effects/hurt.dm @@ -9,7 +9,7 @@ var/weakness = GetAnomalySusceptibility(toucher) if(iscarbon(toucher) && prob(weakness * 100)) var/mob/living/carbon/C = toucher - to_chat(C, "A painful discharge of energy strikes you!") + to_chat(C, span_danger("A painful discharge of energy strikes you!")) C.adjustOxyLoss(rand(5,25) * weakness) C.adjustToxLoss(rand(5,25) * weakness) C.adjustBruteLoss(rand(5,25) * weakness) @@ -29,7 +29,7 @@ var/weakness = GetAnomalySusceptibility(C) if(prob(weakness * 100)) if(prob(10)) - to_chat(C, "You feel a painful force radiating from something nearby.") + to_chat(C, span_danger("You feel a painful force radiating from something nearby.")) C.adjustBruteLoss(1 * weakness) C.adjustFireLoss(1 * weakness) C.adjustToxLoss(1 * weakness) @@ -44,7 +44,7 @@ for (var/mob/living/carbon/C in range(effectrange, T)) var/weakness = GetAnomalySusceptibility(C) if(prob(weakness * 100)) - to_chat(C, "A wave of painful energy strikes you!") + to_chat(C, span_danger("A wave of painful energy strikes you!")) C.adjustBruteLoss(3 * weakness) C.adjustFireLoss(3 * weakness) C.adjustToxLoss(3 * weakness) diff --git a/code/modules/xenoarcheaology/effects/poltergeist.dm b/code/modules/xenoarcheaology/effects/poltergeist.dm index c0cc0349385..7cf80bfd3da 100644 --- a/code/modules/xenoarcheaology/effects/poltergeist.dm +++ b/code/modules/xenoarcheaology/effects/poltergeist.dm @@ -15,7 +15,7 @@ if(valid_targets.len) var/obj/obj_to_throw = pick(valid_targets) - obj_to_throw.visible_message("\The [obj_to_throw] levitates, before hurtling toward [target]!") + obj_to_throw.visible_message(span_alien("\The [obj_to_throw] levitates, before hurtling toward [target]!")) obj_to_throw.throw_at(target, world.view, min(40, damage * GetAnomalySusceptibility(target))) /datum/artifact_effect/poltergeist/DoEffectTouch(var/mob/user) diff --git a/code/modules/xenoarcheaology/effects/resurrect.dm b/code/modules/xenoarcheaology/effects/resurrect.dm index 0fb7c1b88fc..752f2333dd2 100644 --- a/code/modules/xenoarcheaology/effects/resurrect.dm +++ b/code/modules/xenoarcheaology/effects/resurrect.dm @@ -51,16 +51,16 @@ living_mob_list += SM SM.update_icon() SM.revive() - holder.visible_message("\The [SM]'s eyes open in a flash of light!") + holder.visible_message(span_alien("\The [SM]'s eyes open in a flash of light!")) else if(ishuman(L)) var/mob/living/carbon/human/H = L if(!H.client && H.mind) for(var/mob/observer/dead/ghost in player_list) if(ghost.mind == H.mind) - to_chat(ghost, "[span_interface("An artifact is trying to \ - revive you. Return to your body if you want to be resurrected! \ - (Verbs -> Ghost -> Re-enter corpse)")]") + to_chat(ghost, span_large(span_interface(span_bold("An artifact is trying to \ + revive you. Return to your body if you want to be resurrected!") + "\ + (Verbs -> Ghost -> Re-enter corpse)"))) break H.adjustBruteLoss(-40) @@ -73,7 +73,7 @@ living_mob_list += H H.timeofdeath = null - holder.visible_message("\The [H]'s eyes open in a flash of light!") + holder.visible_message(span_alien("\The [H]'s eyes open in a flash of light!")) /datum/artifact_effect/resurrect/DoEffectTouch(var/mob/user) var/atom/holder = get_master_holder() diff --git a/code/modules/xenoarcheaology/effects/vampire.dm b/code/modules/xenoarcheaology/effects/vampire.dm index 746a17961d7..f46aec33888 100644 --- a/code/modules/xenoarcheaology/effects/vampire.dm +++ b/code/modules/xenoarcheaology/effects/vampire.dm @@ -20,7 +20,7 @@ var/target = pick(M.organs_by_name) M.apply_damage(rand(5, 10), SEARING, target) - to_chat(M, "The skin on your [parse_zone(target)] feels like it's ripping apart, and a stream of blood flies out.") + to_chat(M, span_critical("The skin on your [parse_zone(target)] feels like it's ripping apart, and a stream of blood flies out.")) var/obj/effect/decal/cleanable/blood/splatter/animated/B = new(M.loc) B.basecolor = M.species.get_blood_colour(M) B.color = M.species.get_blood_colour(M) @@ -64,7 +64,7 @@ if(charges >= 10) charges -= 10 - var/manifestation = pick(/obj/item/device/soulstone, /mob/living/simple_mob/faithless/cult/strong, /mob/living/simple_mob/creature/cult/strong, /mob/living/simple_mob/animal/space/bats/cult/strong) + var/manifestation = pick(/obj/item/soulstone, /mob/living/simple_mob/faithless/cult/strong, /mob/living/simple_mob/creature/cult/strong, /mob/living/simple_mob/animal/space/bats/cult/strong) new manifestation(pick(RANGE_TURFS(1,T))) if(charges >= 3) @@ -83,7 +83,7 @@ if(charges >= 0.1) if(prob(5)) - holder.visible_message("[icon2html(holder,viewers(holder))] \The [holder] gleams a bloody red!") + holder.visible_message(span_alien("[icon2html(holder,viewers(holder))] \The [holder] gleams a bloody red!")) charges -= 0.1 /datum/artifact_effect/vampire/DoEffectPulse() diff --git a/code/modules/xenoarcheaology/finds/eguns.dm b/code/modules/xenoarcheaology/finds/eguns.dm index 80aa45ec176..0365ca2c73a 100644 --- a/code/modules/xenoarcheaology/finds/eguns.dm +++ b/code/modules/xenoarcheaology/finds/eguns.dm @@ -1,30 +1,30 @@ //snowflake guns for xenoarch because you can't override the update_icon() proc inside the giant mess that is find creation -/obj/item/weapon/gun/energy/laser/xenoarch +/obj/item/gun/energy/laser/xenoarch icon = 'icons/obj/xenoarchaeology.dmi' -/obj/item/weapon/gun/energy/laser/xenoarch/update_icon() +/obj/item/gun/energy/laser/xenoarch/update_icon() return -/obj/item/weapon/gun/energy/laser/practice/xenoarch +/obj/item/gun/energy/laser/practice/xenoarch icon = 'icons/obj/xenoarchaeology.dmi' -/obj/item/weapon/gun/energy/laser/practice/xenoarch/update_icon() +/obj/item/gun/energy/laser/practice/xenoarch/update_icon() return -/obj/item/weapon/gun/energy/laser/practice/xenoarch +/obj/item/gun/energy/laser/practice/xenoarch icon = 'icons/obj/xenoarchaeology.dmi' -/obj/item/weapon/gun/energy/laser/practice/xenoarch/update_icon() +/obj/item/gun/energy/laser/practice/xenoarch/update_icon() return -/obj/item/weapon/gun/energy/xray/xenoarch +/obj/item/gun/energy/xray/xenoarch icon = 'icons/obj/xenoarchaeology.dmi' -/obj/item/weapon/gun/energy/xray/xenoarch/update_icon() +/obj/item/gun/energy/xray/xenoarch/update_icon() return -/obj/item/weapon/gun/energy/captain/xenoarch +/obj/item/gun/energy/captain/xenoarch icon = 'icons/obj/xenoarchaeology.dmi' -/obj/item/weapon/gun/energy/captain/xenoarch/update_icon() +/obj/item/gun/energy/captain/xenoarch/update_icon() return diff --git a/code/modules/xenoarcheaology/finds/eguns_vr.dm b/code/modules/xenoarcheaology/finds/eguns_vr.dm index 0936f47bf59..902905e059b 100644 --- a/code/modules/xenoarcheaology/finds/eguns_vr.dm +++ b/code/modules/xenoarcheaology/finds/eguns_vr.dm @@ -1,11 +1,11 @@ -/obj/item/weapon/gun/energy/laser/xenoarch +/obj/item/gun/energy/laser/xenoarch icon = 'icons/obj/xenoarchaeology_vr.dmi' -/obj/item/weapon/gun/energy/laser/practice/xenoarch +/obj/item/gun/energy/laser/practice/xenoarch icon = 'icons/obj/xenoarchaeology_vr.dmi' -/obj/item/weapon/gun/energy/xray/xenoarch +/obj/item/gun/energy/xray/xenoarch icon = 'icons/obj/xenoarchaeology_vr.dmi' -/obj/item/weapon/gun/energy/captain/xenoarch +/obj/item/gun/energy/captain/xenoarch icon = 'icons/obj/xenoarchaeology_vr.dmi' diff --git a/code/modules/xenoarcheaology/finds/find_spawning.dm b/code/modules/xenoarcheaology/finds/find_spawning.dm index e07e7ec9dea..af11c748e72 100644 --- a/code/modules/xenoarcheaology/finds/find_spawning.dm +++ b/code/modules/xenoarcheaology/finds/find_spawning.dm @@ -1,10 +1,10 @@ -/obj/item/weapon/archaeological_find +/obj/item/archaeological_find name = "object" icon = 'icons/obj/xenoarchaeology.dmi' icon_state = "ano01" var/find_type = 0 -/obj/item/weapon/archaeological_find/New(loc, var/new_item_type) +/obj/item/archaeological_find/New(loc, var/new_item_type) if(new_item_type) find_type = new_item_type else @@ -13,7 +13,7 @@ var/item_type = "object" icon_state = "unknown[rand(1,4)]" var/additional_desc = "" - var/obj/item/weapon/new_item + var/obj/item/new_item var/source_material = "" var/apply_material_decorations = TRUE var/apply_image_decorations = FALSE @@ -37,10 +37,10 @@ if(ARCHAEO_BOWL) item_type = "bowl" if(prob(33)) - new_item = new /obj/item/weapon/reagent_containers/glass/replenishing(src.loc) + new_item = new /obj/item/reagent_containers/glass/replenishing(src.loc) LAZYSET(new_item.origin_tech, TECH_ARCANE, 1) else - new_item = new /obj/item/weapon/reagent_containers/glass/beaker(src.loc) + new_item = new /obj/item/reagent_containers/glass/beaker(src.loc) new_item.icon = 'icons/obj/xenoarchaeology.dmi' new_item.icon_state = "bowl" apply_image_decorations = TRUE @@ -51,10 +51,10 @@ if(ARCHAEO_URN) item_type = "urn" if(prob(33)) - new_item = new /obj/item/weapon/reagent_containers/glass/replenishing(src.loc) + new_item = new /obj/item/reagent_containers/glass/replenishing(src.loc) LAZYSET(new_item.origin_tech, TECH_ARCANE, 1) else - new_item = new /obj/item/weapon/reagent_containers/glass/beaker(src.loc) + new_item = new /obj/item/reagent_containers/glass/beaker(src.loc) new_item.icon = 'icons/obj/xenoarchaeology.dmi' new_item.icon_state = "urn[rand(1,2)]" apply_image_decorations = TRUE @@ -63,11 +63,11 @@ if(ARCHAEO_CUTLERY) item_type = "[pick("fork","spoon","knife")]" if(prob(25)) - new_item = new /obj/item/weapon/material/kitchen/utensil/fork(src.loc) + new_item = new /obj/item/material/kitchen/utensil/fork(src.loc) else if(prob(50)) - new_item = new /obj/item/weapon/material/knife(src.loc) + new_item = new /obj/item/material/knife(src.loc) else - new_item = new /obj/item/weapon/material/kitchen/utensil/spoon(src.loc) + new_item = new /obj/item/material/kitchen/utensil/spoon(src.loc) if(prob(60)) LAZYSET(new_item.origin_tech, TECH_ARCANE, 1) additional_desc = "[pick("It's like no [item_type] you've ever seen before",\ @@ -82,7 +82,7 @@ [pick("alien figure","rodent-like creature","reptilian alien","primate","unidentifiable object")] \ [pick("performing unspeakable acts","posing heroically","in a fetal position","cheering","sobbing","making a plaintive gesture","making a rude gesture")]." if(prob(25)) - new_item = new /obj/item/weapon/vampiric(src.loc) + new_item = new /obj/item/vampiric(src.loc) LAZYSET(new_item.origin_tech, TECH_ARCANE, 1) if(ARCHAEO_INSTRUMENT) name = "instrument" @@ -99,14 +99,14 @@ "You wonder what kind of music was made with it")]." if(ARCHAEO_KNIFE) item_type = "[pick("bladed knife","serrated blade","sharp cutting implement")]" - new_item = new /obj/item/weapon/material/knife(src.loc) + new_item = new /obj/item/material/knife(src.loc) additional_desc = "[pick("It doesn't look safe.",\ "It looks wickedly jagged",\ "There appear to be [pick("dark red","dark purple","dark green","dark blue")] stains along the edges")]." if(ARCHAEO_COIN) //assuming there are 12 types of coins var/chance = 8 - for(var/type in typesof(/obj/item/weapon/coin)) + for(var/type in typesof(/obj/item/coin)) if(prob(chance)) new_item = new type(src.loc) break @@ -118,12 +118,12 @@ apply_image_decorations = TRUE if(ARCHAEO_HANDCUFFS) item_type = "handcuffs" - new_item = new /obj/item/weapon/handcuffs(src.loc) + new_item = new /obj/item/handcuffs(src.loc) additional_desc = "[pick("They appear to be for securing two things together","Looks kinky","Doesn't seem like a children's toy")]." if(ARCHAEO_BEARTRAP) item_type = "[pick("wicked","evil","byzantine","dangerous")] looking [pick("device","contraption","thing","trap")]" apply_prefix = FALSE - new_item = new /obj/item/weapon/beartrap(src.loc) + new_item = new /obj/item/beartrap(src.loc) if(prob(40)) new_item.color = rgb(rand(0,255),rand(0,255),rand(0,255)) additional_desc = "[pick("It looks like it could take a limb off",\ @@ -131,16 +131,16 @@ "There appear to be [pick("dark red","dark purple","dark green","dark blue")] stains along part of it")]." if(ARCHAEO_LIGHTER) item_type = "[pick("cylinder","tank","chamber")]" - new_item = new /obj/item/weapon/flame/lighter(src.loc) + new_item = new /obj/item/flame/lighter(src.loc) additional_desc = "There is a tiny device attached." if(prob(30)) apply_image_decorations = TRUE if(ARCHAEO_BOX) item_type = "box" - new_item = new /obj/item/weapon/storage/box(src.loc) + new_item = new /obj/item/storage/box(src.loc) new_item.icon = 'icons/obj/xenoarchaeology.dmi' new_item.icon_state = "box" - var/obj/item/weapon/storage/box/new_box = new_item + var/obj/item/storage/box/new_box = new_item new_box.max_w_class = pick(1,2,2,3,3,3,4,4) var/storage_amount = 2**(new_box.max_w_class-1) new_box.max_storage_space = rand(storage_amount, storage_amount * 10) @@ -150,21 +150,21 @@ if(ARCHAEO_GASTANK) item_type = "[pick("cylinder","tank","chamber")]" if(prob(25)) - new_item = new /obj/item/weapon/tank/air(src.loc) + new_item = new /obj/item/tank/air(src.loc) else if(prob(50)) - new_item = new /obj/item/weapon/tank/anesthetic(src.loc) + new_item = new /obj/item/tank/anesthetic(src.loc) else - new_item = new /obj/item/weapon/tank/phoron(src.loc) + new_item = new /obj/item/tank/phoron(src.loc) icon_state = pick("oxygen","oxygen_fr","oxygen_f","phoron","anesthetic") additional_desc = "It [pick("gloops","sloshes")] slightly when you shake it." if(ARCHAEO_TOOL) item_type = "tool" if(prob(25)) - new_item = new /obj/item/weapon/tool/wrench(src.loc) + new_item = new /obj/item/tool/wrench(src.loc) else if(prob(25)) - new_item = new /obj/item/weapon/tool/crowbar(src.loc) + new_item = new /obj/item/tool/crowbar(src.loc) else - new_item = new /obj/item/weapon/tool/screwdriver(src.loc) + new_item = new /obj/item/tool/screwdriver(src.loc) if(prob(40)) new_item.color = rgb(rand(0,255),rand(0,255),rand(0,255)) apply_image_decorations = TRUE @@ -190,9 +190,9 @@ new_item:amount = rand(5,45) if(ARCHAEO_PEN) if(prob(75)) - new_item = new /obj/item/weapon/pen(src.loc) + new_item = new /obj/item/pen(src.loc) else - new_item = new /obj/item/weapon/pen/reagent/sleepy(src.loc) + new_item = new /obj/item/pen/reagent/sleepy(src.loc) if(prob(30)) icon = 'icons/obj/xenoarchaeology.dmi' icon_state = "pen1" @@ -220,25 +220,25 @@ if(prob(10)) apply_image_decorations = TRUE if(prob(25)) - new_item = new /obj/item/device/soulstone(src.loc) + new_item = new /obj/item/soulstone(src.loc) new_item.icon = 'icons/obj/xenoarchaeology.dmi' new_item.icon_state = icon_state LAZYSET(new_item.origin_tech, TECH_ARCANE, 2) if(ARCHAEO_CULTBLADE) //cultblade apply_prefix = FALSE - new_item = new /obj/item/weapon/melee/cultblade(src.loc) + new_item = new /obj/item/melee/cultblade(src.loc) apply_material_decorations = FALSE apply_image_decorations = FALSE if(ARCHAEO_TELEBEACON) - new_item = new /obj/item/device/radio/beacon(src.loc) + new_item = new /obj/item/radio/beacon(src.loc) talkative = FALSE new_item.icon = 'icons/obj/xenoarchaeology.dmi' new_item.icon_state = "unknown[rand(1,4)]" new_item.desc = "" if(ARCHAEO_CLAYMORE) apply_prefix = FALSE - new_item = new /obj/item/weapon/material/sword(src.loc) + new_item = new /obj/item/material/sword(src.loc) new_item.force = 10 new_item.name = pick("great-sword","claymore","longsword","broadsword","shortsword","gladius") item_type = new_item.name @@ -260,15 +260,15 @@ //soulstone become_anomalous = TRUE apply_prefix = FALSE - new_item = new /obj/item/device/soulstone(src.loc) + new_item = new /obj/item/soulstone(src.loc) item_type = new_item.name apply_material_decorations = FALSE LAZYSET(new_item.origin_tech, TECH_ARCANE, 2) if(ARCHAEO_SHARD) if(prob(50)) - new_item = new /obj/item/weapon/material/shard(src.loc) + new_item = new /obj/item/material/shard(src.loc) else - new_item = new /obj/item/weapon/material/shard/phoron(src.loc) + new_item = new /obj/item/material/shard/phoron(src.loc) apply_prefix = FALSE apply_image_decorations = FALSE apply_material_decorations = FALSE @@ -280,9 +280,9 @@ if(ARCHAEO_STOCKPARTS) if(prob(30)) become_anomalous = TRUE - var/list/possible_spawns = typesof(/obj/item/weapon/stock_parts) - possible_spawns -= /obj/item/weapon/stock_parts - possible_spawns -= /obj/item/weapon/stock_parts/subspace + var/list/possible_spawns = typesof(/obj/item/stock_parts) + possible_spawns -= /obj/item/stock_parts + possible_spawns -= /obj/item/stock_parts/subspace var/new_type = pick(possible_spawns) new_item = new new_type(src.loc) @@ -290,19 +290,19 @@ apply_material_decorations = FALSE if(ARCHAEO_KATANA) apply_prefix = FALSE - new_item = new /obj/item/weapon/material/sword/katana(src.loc) + new_item = new /obj/item/material/sword/katana(src.loc) new_item.force = 10 new_item.name = "katana" item_type = new_item.name if(ARCHAEO_LASER) //energy gun var/spawn_type = pick(\ - /obj/item/weapon/gun/energy/laser/practice/xenoarch,\ - /obj/item/weapon/gun/energy/laser/xenoarch,\ - /obj/item/weapon/gun/energy/xray/xenoarch,\ - /obj/item/weapon/gun/energy/captain/xenoarch) + /obj/item/gun/energy/laser/practice/xenoarch,\ + /obj/item/gun/energy/laser/xenoarch,\ + /obj/item/gun/energy/xray/xenoarch,\ + /obj/item/gun/energy/captain/xenoarch) if(spawn_type) - var/obj/item/weapon/gun/energy/new_gun = new spawn_type(src.loc) + var/obj/item/gun/energy/new_gun = new spawn_type(src.loc) new_item = new_gun new_item.icon_state = "egun[rand(1,6)]" //VOREStation Edit: max value is 6 since xenoarcheoloy_vr only has 6 egun variants new_gun.desc = "This is an antique energy weapon, you're not sure if it will fire or not." @@ -324,7 +324,7 @@ item_type = "gun" if(ARCHAEO_GUN) //revolver - var/obj/item/weapon/gun/projectile/new_gun = new /obj/item/weapon/gun/projectile/revolver(src.loc) + var/obj/item/gun/projectile/new_gun = new /obj/item/gun/projectile/revolver(src.loc) new_item = new_gun new_item.icon_state = "gun[rand(1,7)]" new_item.icon = 'icons/obj/xenoarchaeology.dmi' @@ -365,11 +365,11 @@ apply_image_decorations = FALSE if(ARCHAEO_FOSSIL) //fossil bone/skull - //new_item = new /obj/item/weapon/fossil/base(src.loc) + //new_item = new /obj/item/fossil/base(src.loc) //the replacement item propogation isn't working, and it's messy code anyway so just do it here - var/list/candidates = list(/obj/item/weapon/fossil/bone = 9,/obj/item/weapon/fossil/skull = 3, - /obj/item/weapon/fossil/skull/horned = 2) + var/list/candidates = list(/obj/item/fossil/bone = 9,/obj/item/fossil/skull = 3, + /obj/item/fossil/skull/horned = 2) var/spawn_type = pickweight(candidates) new_item = new spawn_type(src.loc) @@ -379,7 +379,7 @@ apply_material_decorations = FALSE if(ARCHAEO_SHELL) //fossil shell - new_item = new /obj/item/weapon/fossil/shell(src.loc) + new_item = new /obj/item/fossil/shell(src.loc) apply_prefix = FALSE additional_desc = "A fossilised, pre-Stygian alien crustacean." apply_image_decorations = FALSE @@ -388,7 +388,7 @@ apply_image_decorations = TRUE if(ARCHAEO_PLANT) //fossil plant - new_item = new /obj/item/weapon/fossil/plant(src.loc) + new_item = new /obj/item/fossil/plant(src.loc) item_type = new_item.name additional_desc = "A fossilised shred of alien plant matter." apply_image_decorations = FALSE @@ -455,22 +455,22 @@ apply_material_decorations = FALSE var/list/alien_stuff = list( - /obj/item/device/multitool/alien, + /obj/item/multitool/alien, /obj/item/stack/cable_coil/alien, - /obj/item/weapon/tool/crowbar/alien, - /obj/item/weapon/tool/screwdriver/alien, - /obj/item/weapon/weldingtool/alien, - /obj/item/weapon/tool/wirecutters/alien, - /obj/item/weapon/tool/wrench/alien, - /obj/item/weapon/surgical/FixOVein/alien, - /obj/item/weapon/surgical/bone_clamp/alien, - /obj/item/weapon/surgical/cautery/alien, - /obj/item/weapon/surgical/circular_saw/alien, - /obj/item/weapon/surgical/hemostat/alien, - /obj/item/weapon/surgical/retractor/alien, - /obj/item/weapon/surgical/scalpel/alien, - /obj/item/weapon/surgical/surgicaldrill/alien, - /obj/item/weapon/cell/device/weapon/recharge/alien, + /obj/item/tool/crowbar/alien, + /obj/item/tool/screwdriver/alien, + /obj/item/weldingtool/alien, + /obj/item/tool/wirecutters/alien, + /obj/item/tool/wrench/alien, + /obj/item/surgical/FixOVein/alien, + /obj/item/surgical/bone_clamp/alien, + /obj/item/surgical/cautery/alien, + /obj/item/surgical/circular_saw/alien, + /obj/item/surgical/hemostat/alien, + /obj/item/surgical/retractor/alien, + /obj/item/surgical/scalpel/alien, + /obj/item/surgical/surgicaldrill/alien, + /obj/item/cell/device/weapon/recharge/alien, /obj/item/clothing/suit/armor/alien, /obj/item/clothing/head/helmet/alien, /obj/item/clothing/head/psy_crown/wrath @@ -508,7 +508,7 @@ /obj/vehicle/boat/dragon ) if(prob(30)) - new /obj/item/weapon/oar(src.loc, new_boat_mat) + new /obj/item/oar(src.loc, new_boat_mat) var/new_type = pick(alien_stuff) new_item = new new_type(src.loc, new_boat_mat) item_type = new_item.name @@ -517,7 +517,7 @@ // Imperion circuit. apply_prefix = FALSE apply_image_decorations = FALSE - var/possible_circuits = subtypesof(/obj/item/weapon/circuitboard/mecha/imperion) + var/possible_circuits = subtypesof(/obj/item/circuitboard/mecha/imperion) var/new_type = pick(possible_circuits) new_item = new new_type(src.loc) name = new_item.name @@ -532,12 +532,12 @@ apply_image_decorations = TRUE if(prob(25)) apply_material_decorations = FALSE - new_item = new /obj/item/weapon/telecube/randomized(src.loc) + new_item = new /obj/item/telecube/randomized(src.loc) item_type = new_item.name if(ARCHAEO_BATTERY) // Battery! - var/new_path = pick(subtypesof(/obj/item/weapon/cell)) + var/new_path = pick(subtypesof(/obj/item/cell)) new_item = new new_path(src.loc) new_item.name = pick("cell", "battery", "device") @@ -558,8 +558,8 @@ apply_image_decorations = TRUE if(prob(25)) apply_material_decorations = FALSE - new_item = new /obj/item/weapon/reagent_containers/syringe(src.loc) - var/obj/item/weapon/reagent_containers/syringe/S = new_item + new_item = new /obj/item/reagent_containers/syringe(src.loc) + var/obj/item/reagent_containers/syringe/S = new_item S.volume = 30 //If S hasn't initialized yet, S.reagents will be null. @@ -576,7 +576,7 @@ apply_image_decorations = TRUE if(prob(25)) apply_material_decorations = FALSE - new_item = new /obj/item/clothing/gloves/ring/material(src.loc) + new_item = new /obj/item/clothing/accessory/ring/material(src.loc) item_type = new_item.name if(ARCHAEO_CLUB) @@ -588,11 +588,11 @@ if(prob(10)) apply_material_decorations = FALSE - new_item = new /obj/item/weapon/material/twohanded/baseballbat(src.loc) + new_item = new /obj/item/material/twohanded/baseballbat(src.loc) new_item.name = pick("great-club","club","billyclub","mace","tenderizer","maul","bat") item_type = new_item.name - if(istype(new_item, /obj/item/weapon/material)) + if(istype(new_item, /obj/item/material)) var/new_item_mat = pickweight(list( MAT_STEEL = 80, MAT_WOOD = 20, @@ -611,11 +611,11 @@ MAT_MORPHIUM = 2, MAT_SUPERMATTER = 1 )) - var/obj/item/weapon/material/MW = new_item + var/obj/item/material/MW = new_item MW.applies_material_colour = TRUE MW.set_material(new_item_mat) - if(istype(MW, /obj/item/weapon/material/twohanded)) - var/obj/item/weapon/material/twohanded/TH = MW + if(istype(MW, /obj/item/material/twohanded)) + var/obj/item/material/twohanded/TH = MW TH.force_unwielded *= 0.7 TH.force_wielded *= 0.5 else @@ -625,8 +625,8 @@ if(apply_material_decorations) source_material = pick("cordite","quadrinium","steel","titanium","aluminium","ferritic-alloy","plasteel","duranium") - if(istype(new_item, /obj/item/weapon/material)) - var/obj/item/weapon/material/MW = new_item + if(istype(new_item, /obj/item/material)) + var/obj/item/material/MW = new_item source_material = MW.material.display_name if(istype(new_item, /obj/vehicle/boat)) var/obj/vehicle/boat/B = new_item @@ -720,7 +720,7 @@ become_anomalous() -/obj/item/weapon/archaeological_find/Destroy() +/obj/item/archaeological_find/Destroy() if(src.is_anomalous()) var/datum/component/artifact_master/arti_mstr = GetComponent(/datum/component/artifact_master) arti_mstr.RemoveComponent() diff --git a/code/modules/xenoarcheaology/finds/finds.dm b/code/modules/xenoarcheaology/finds/finds.dm index de7b6382b05..8f30b0cb15b 100644 --- a/code/modules/xenoarcheaology/finds/finds.dm +++ b/code/modules/xenoarcheaology/finds/finds.dm @@ -14,7 +14,7 @@ clearance_range = rand(4, 12) dissonance_spread = rand(1500, 2500) / 100 -/obj/item/weapon/strangerock +/obj/item/strangerock name = "Strange rock" desc = "Seems to have some unusal strata evident throughout it." icon = 'icons/obj/xenoarchaeology.dmi' @@ -23,48 +23,71 @@ origin_tech = list(TECH_MATERIAL = 5) w_class = ITEMSIZE_SMALL -/obj/item/weapon/strangerock/New(loc, var/inside_item_type = 0) +/obj/item/strangerock/New(loc, var/inside_item_type = 0) pixel_x = rand(0,16)-8 pixel_y = rand(0,8)-8 + var/d100 = rand(1,100) if(inside_item_type) - new /obj/item/weapon/archaeological_find(src, new_item_type = inside_item_type) + switch(d100) + if(51 to 100) //standard spawn logic 50% of the time + new /obj/item/archaeological_find(src, new_item_type = inside_item_type) + if(21 to 50) // 30% chance + new /obj/item/research_sample/common(src) + if(6 to 20) // 15% chance + new /obj/item/research_sample/uncommon(src) + if(1 to 5) // 5% chance + new /obj/item/research_sample/rare(src) + else //if something went wrong, somehow, generate the usual find + new /obj/item/archaeological_find(src, new_item_type = inside_item_type) + else //if this strange rock isn't set to generate a find for whatever reason, create a sample 75% of the time (this shouldn't happen unless the rock is mapped in or adminspawned) + switch(d100) + if(76 to 100) + return + if(21 to 75) + new /obj/item/research_sample/common(src) + if(6 to 20) + new /obj/item/research_sample/uncommon(src) + if(1 to 5) + new /obj/item/research_sample/rare(src) + else //if we somehow glitched + return //do nothing -/obj/item/weapon/strangerock/attackby(var/obj/item/I, var/mob/user) - if(istype(I, /obj/item/weapon/pickaxe/brush)) +/obj/item/strangerock/attackby(var/obj/item/I, var/mob/user) + if(istype(I, /obj/item/pickaxe/brush)) var/obj/item/inside = locate() in src if(inside) inside.loc = get_turf(src) - visible_message("\The [src] is brushed away, revealing \the [inside].") + visible_message(span_info("\The [src] is brushed away, revealing \the [inside].")) else - visible_message("\The [src] is brushed away into nothing.") + visible_message(span_info("\The [src] is brushed away into nothing.")) qdel(src) return if(I.has_tool_quality(TOOL_WELDER)) - var/obj/item/weapon/weldingtool/W = I.get_welder() + var/obj/item/weldingtool/W = I.get_welder() if(W.isOn()) if(W.get_fuel() >= 2) var/obj/item/inside = locate() in src if(inside) inside.loc = get_turf(src) - visible_message("\The [src] burns away revealing \the [inside].") + visible_message(span_info("\The [src] burns away revealing \the [inside].")) else - visible_message("\The [src] burns away into nothing.") + visible_message(span_info("\The [src] burns away into nothing.")) qdel(src) W.remove_fuel(2) else - visible_message("A few sparks fly off \the [src], but nothing else happens.") + visible_message(span_info("A few sparks fly off \the [src], but nothing else happens.")) W.remove_fuel(1) return - else if(istype(I, /obj/item/device/core_sampler)) - var/obj/item/device/core_sampler/S = I + else if(istype(I, /obj/item/core_sampler)) + var/obj/item/core_sampler/S = I S.sample_item(src, user) return ..() if(prob(33)) - src.visible_message("[src] crumbles away, leaving some dust and gravel behind.") + src.visible_message(span_warning("[src] crumbles away, leaving some dust and gravel behind.")) qdel(src) diff --git a/code/modules/xenoarcheaology/finds/fossils.dm b/code/modules/xenoarcheaology/finds/fossils.dm index 3c3a182a32c..ff852e1b1f3 100644 --- a/code/modules/xenoarcheaology/finds/fossils.dm +++ b/code/modules/xenoarcheaology/finds/fossils.dm @@ -2,38 +2,38 @@ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // fossils -/obj/item/weapon/fossil +/obj/item/fossil name = "Fossil" icon = 'icons/obj/xenoarchaeology.dmi' icon_state = "bone" desc = "It's a fossil." var/animal = 1 -/obj/item/weapon/fossil/base/New() - var/list/l = list(/obj/item/weapon/fossil/bone = 9,/obj/item/weapon/fossil/skull = 3, - /obj/item/weapon/fossil/skull/horned = 2) +/obj/item/fossil/base/New() + var/list/l = list(/obj/item/fossil/bone = 9,/obj/item/fossil/skull = 3, + /obj/item/fossil/skull/horned = 2) var/t = pickweight(l) new t(src.loc) qdel(src) -/obj/item/weapon/fossil/bone +/obj/item/fossil/bone name = "Fossilised bone" icon_state = "bone" desc = "It's a fossilised bone." -/obj/item/weapon/fossil/skull +/obj/item/fossil/skull name = "Fossilised skull" icon_state = "skull" desc = "It's a fossilised skull." -/obj/item/weapon/fossil/skull/horned +/obj/item/fossil/skull/horned icon_state = "hskull" desc = "It's a fossilised, horned skull." -/obj/item/weapon/fossil/skull/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W,/obj/item/weapon/fossil/bone)) +/obj/item/fossil/skull/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W,/obj/item/fossil/bone)) var/obj/o = new /obj/skeleton(get_turf(src)) - var/a = new /obj/item/weapon/fossil/bone + var/a = new /obj/item/fossil/bone var/b = new src.type o.contents.Add(a) o.contents.Add(b) @@ -54,11 +54,11 @@ src.breq = rand(6)+3 src.desc = "An incomplete skeleton, looks like it could use [src.breq-src.bnum] more bones." -/obj/skeleton/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W,/obj/item/weapon/fossil/bone)) +/obj/skeleton/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W,/obj/item/fossil/bone)) if(!bstate) bnum++ - src.contents.Add(new/obj/item/weapon/fossil/bone) + src.contents.Add(new/obj/item/fossil/bone) qdel(W) if(bnum==breq) usr = user @@ -66,7 +66,7 @@ src.bstate = 1 src.density = TRUE src.name = "alien skeleton display" - if(src.contents.Find(/obj/item/weapon/fossil/skull/horned)) + if(src.contents.Find(/obj/item/fossil/skull/horned)) src.desc = "A creature made of [src.contents.len-1] assorted bones and a horned skull. The plaque reads \'[plaque_contents]\'." else src.desc = "A creature made of [src.contents.len-1] assorted bones and a skull. The plaque reads \'[plaque_contents]\'." @@ -75,10 +75,10 @@ to_chat(user, "Looks like it could use [src.breq-src.bnum] more bones.") else ..() - else if(istype(W,/obj/item/weapon/pen)) + else if(istype(W,/obj/item/pen)) plaque_contents = sanitize(tgui_input_text(usr, "What would you like to write on the plaque:","Skeleton plaque","")) user.visible_message("[user] writes something on the base of [src].","You relabel the plaque on the base of [icon2html(src,viewers(src))] [src].") - if(src.contents.Find(/obj/item/weapon/fossil/skull/horned)) + if(src.contents.Find(/obj/item/fossil/skull/horned)) src.desc = "A creature made of [src.contents.len-1] assorted bones and a horned skull. The plaque reads \'[plaque_contents]\'." else src.desc = "A creature made of [src.contents.len-1] assorted bones and a skull. The plaque reads \'[plaque_contents]\'." @@ -86,16 +86,16 @@ ..() //shells and plants do not make skeletons -/obj/item/weapon/fossil/shell +/obj/item/fossil/shell name = "Fossilised shell" icon_state = "shell" desc = "It's a fossilised shell." -/obj/item/weapon/fossil/plant +/obj/item/fossil/plant name = "Fossilised plant" icon_state = "plant1" desc = "It's fossilised plant remains." animal = 0 -/obj/item/weapon/fossil/plant/New() +/obj/item/fossil/plant/New() icon_state = "plant[rand(1,4)]" diff --git a/code/modules/xenoarcheaology/finds/special.dm b/code/modules/xenoarcheaology/finds/special.dm index a71f742ca15..0abe25ca7ff 100644 --- a/code/modules/xenoarcheaology/finds/special.dm +++ b/code/modules/xenoarcheaology/finds/special.dm @@ -2,15 +2,15 @@ //endless reagents! -/obj/item/weapon/reagent_containers/glass/replenishing +/obj/item/reagent_containers/glass/replenishing var/spawning_id -/obj/item/weapon/reagent_containers/glass/replenishing/Initialize() +/obj/item/reagent_containers/glass/replenishing/Initialize() . = ..() START_PROCESSING(SSobj, src) spawning_id = pick("blood","holywater","lube","stoxin","ethanol","ice","glycerol","fuel","cleaner") -/obj/item/weapon/reagent_containers/glass/replenishing/process() +/obj/item/reagent_containers/glass/replenishing/process() reagents.add_reagent(spawning_id, 0.3) @@ -41,7 +41,7 @@ //a vampiric statuette //todo: cult integration -/obj/item/weapon/vampiric +/obj/item/vampiric name = "statuette" icon_state = "statuette" icon = 'icons/obj/xenoarchaeology.dmi' @@ -54,11 +54,11 @@ var/wight_check_index = 1 var/list/shadow_wights = list() -/obj/item/weapon/vampiric/New() +/obj/item/vampiric/New() ..() START_PROCESSING(SSobj, src) -/obj/item/weapon/vampiric/process() +/obj/item/vampiric/process() //see if we've identified anyone nearby if(world.time - last_bloodcall > bloodcall_interval && nearby_mobs.len) var/mob/living/carbon/human/M = pop(nearby_mobs) @@ -116,12 +116,12 @@ else if(get_dist(W, src) > 10) shadow_wights.Remove(wight_check_index) -/obj/item/weapon/vampiric/hear_talk(mob/M, list/message_pieces, verb) +/obj/item/vampiric/hear_talk(mob/M, list/message_pieces, verb) ..() if(world.time - last_bloodcall >= bloodcall_interval && (M in view(7, src))) bloodcall(M) -/obj/item/weapon/vampiric/proc/bloodcall(var/mob/living/carbon/human/M) +/obj/item/vampiric/proc/bloodcall(var/mob/living/carbon/human/M) last_bloodcall = world.time if(istype(M)) playsound(src, pick('sound/hallucinations/wail.ogg','sound/hallucinations/veryfar_noise.ogg','sound/hallucinations/far_noise.ogg'), 50, 1, -3) diff --git a/code/modules/xenoarcheaology/finds/talking.dm b/code/modules/xenoarcheaology/finds/talking.dm index 138ffca5d48..c2b13cf9338 100644 --- a/code/modules/xenoarcheaology/finds/talking.dm +++ b/code/modules/xenoarcheaology/finds/talking.dm @@ -60,7 +60,7 @@ spawn(2) SaySomething(pick(seperate)) -/*/obj/item/weapon/talkingcrystal/proc/debug() +/*/obj/item/talkingcrystal/proc/debug() //set src in view() for(var/v in heard_words) to_world("[uppertext(v)]") diff --git a/code/modules/xenoarcheaology/manuals.dm b/code/modules/xenoarcheaology/manuals.dm index da2a9fb0dc0..328b5317aaa 100644 --- a/code/modules/xenoarcheaology/manuals.dm +++ b/code/modules/xenoarcheaology/manuals.dm @@ -1,5 +1,5 @@ -/obj/item/weapon/book/manual/excavation +/obj/item/book/manual/excavation name = "Out on the Dig" icon_state = "excavation" item_state = "book6" @@ -113,7 +113,7 @@ "} -/obj/item/weapon/book/manual/mass_spectrometry +/obj/item/book/manual/mass_spectrometry name = "High Power Mass Spectrometry: A Comprehensive Guide" icon_state = "analysis" item_state = "book6" @@ -185,7 +185,7 @@ "} -/obj/item/weapon/book/manual/anomaly_spectroscopy +/obj/item/book/manual/anomaly_spectroscopy name = "Spectroscopy: Analysing the Anomalies of the Cosmos" icon_state = "anomaly" item_state = "book6" @@ -211,7 +211,7 @@ "} -/obj/item/weapon/book/manual/materials_chemistry_analysis +/obj/item/book/manual/materials_chemistry_analysis name = "Materials Analysis and the Chemical Implications" icon_state = "chemistry" item_state = "book6" @@ -239,7 +239,7 @@ a new element that defies classification. I defy you to classify it without reviving this once great field! "} -/obj/item/weapon/book/manual/anomaly_testing +/obj/item/book/manual/anomaly_testing name = "Anomalous Materials and Energies" icon_state = "triangulate" item_state = "book6" @@ -318,7 +318,7 @@ "} -/obj/item/weapon/book/manual/stasis +/obj/item/book/manual/stasis name = "Cellular Suspension, the New Cryogenics?" icon_state = "stasis" item_state = "book6" diff --git a/code/modules/xenoarcheaology/misc.dm b/code/modules/xenoarcheaology/misc.dm index 1b41daa6973..ddc36c67db7 100644 --- a/code/modules/xenoarcheaology/misc.dm +++ b/code/modules/xenoarcheaology/misc.dm @@ -3,12 +3,12 @@ /obj/structure/bookcase/manuals/xenoarchaeology/Initialize() . = ..() - new /obj/item/weapon/book/manual/excavation(src) - new /obj/item/weapon/book/manual/mass_spectrometry(src) - new /obj/item/weapon/book/manual/materials_chemistry_analysis(src) - new /obj/item/weapon/book/manual/anomaly_testing(src) - new /obj/item/weapon/book/manual/anomaly_spectroscopy(src) - new /obj/item/weapon/book/manual/stasis(src) + new /obj/item/book/manual/excavation(src) + new /obj/item/book/manual/mass_spectrometry(src) + new /obj/item/book/manual/materials_chemistry_analysis(src) + new /obj/item/book/manual/anomaly_testing(src) + new /obj/item/book/manual/anomaly_spectroscopy(src) + new /obj/item/book/manual/stasis(src) update_icon() /obj/machinery/alarm/isolation diff --git a/code/modules/xenoarcheaology/sampling.dm b/code/modules/xenoarcheaology/sampling.dm index f9fc735f2ef..d00e86bd8df 100644 --- a/code/modules/xenoarcheaology/sampling.dm +++ b/code/modules/xenoarcheaology/sampling.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/rocksliver +/obj/item/rocksliver name = "rock sliver" desc = "It looks extremely delicate." icon = 'icons/obj/xenoarchaeology.dmi' @@ -8,7 +8,7 @@ sharp = TRUE var/datum/geosample/geological_data -/obj/item/weapon/rocksliver/New() +/obj/item/rocksliver/New() icon_state = "sliver[rand(1, 3)]" randpixel_xy() @@ -80,7 +80,7 @@ else SSxenoarch.artifact_spawning_turfs.Remove(T) -/obj/item/device/core_sampler +/obj/item/core_sampler name = "core sampler" desc = "Used to extract geological core samples." icon = 'icons/obj/device.dmi' @@ -90,46 +90,48 @@ var/sampled_turf = "" var/num_stored_bags = 10 - var/obj/item/weapon/evidencebag/filled_bag + var/obj/item/evidencebag/filled_bag + pickup_sound = 'sound/items/pickup/device.ogg' + drop_sound = 'sound/items/drop/device.ogg' -/obj/item/device/core_sampler/examine(var/mob/user) +/obj/item/core_sampler/examine(var/mob/user) . = ..() if(get_dist(user, src) <= 2) - . += "Used to extract geological core samples - this one is [sampled_turf ? "full" : "empty"], and has [num_stored_bags] bag[num_stored_bags != 1 ? "s" : ""] remaining." + . += span_notice("Used to extract geological core samples - this one is [sampled_turf ? "full" : "empty"], and has [num_stored_bags] bag[num_stored_bags != 1 ? "s" : ""] remaining.") -/obj/item/device/core_sampler/attackby(var/obj/item/I, var/mob/living/user) - if(istype(I, /obj/item/weapon/evidencebag)) +/obj/item/core_sampler/attackby(var/obj/item/I, var/mob/living/user) + if(istype(I, /obj/item/evidencebag)) if(I.contents.len) - to_chat(user, "\The [I] is full.") + to_chat(user, span_warning("\The [I] is full.")) return if(num_stored_bags < 10) qdel(I) num_stored_bags += 1 - to_chat(user, "You insert \the [I] into \the [src].") + to_chat(user, span_notice("You insert \the [I] into \the [src].")) else - to_chat(user, "\The [src] can not fit any more bags.") + to_chat(user, span_warning("\The [src] can not fit any more bags.")) else return ..() -/obj/item/device/core_sampler/proc/sample_item(var/item_to_sample, var/mob/user) +/obj/item/core_sampler/proc/sample_item(var/item_to_sample, var/mob/user) var/datum/geosample/geo_data if(istype(item_to_sample, /turf/simulated/mineral)) var/turf/simulated/mineral/T = item_to_sample T.geologic_data.UpdateNearbyArtifactInfo(T) geo_data = T.geologic_data - else if(istype(item_to_sample, /obj/item/weapon/ore)) - var/obj/item/weapon/ore/O = item_to_sample + else if(istype(item_to_sample, /obj/item/ore)) + var/obj/item/ore/O = item_to_sample geo_data = O.geologic_data if(geo_data) if(filled_bag) - to_chat(user, "The core sampler is full.") + to_chat(user, span_warning("The core sampler is full.")) else if(num_stored_bags < 1) - to_chat(user, "The core sampler is out of sample bags.") + to_chat(user, span_warning("The core sampler is out of sample bags.")) else //create a new sample bag which we'll fill with rock samples - filled_bag = new /obj/item/weapon/evidencebag(src) + filled_bag = new /obj/item/evidencebag(src) filled_bag.name = "sample bag" filled_bag.desc = "a bag for holding research samples." @@ -137,7 +139,7 @@ --num_stored_bags //put in a rock sliver - var/obj/item/weapon/rocksliver/R = new(filled_bag) + var/obj/item/rocksliver/R = new(filled_bag) R.geological_data = geo_data //update the sample bag @@ -147,13 +149,13 @@ add_overlay("evidence") filled_bag.w_class = ITEMSIZE_TINY - to_chat(user, "You take a core sample of the [item_to_sample].") + to_chat(user, span_notice("You take a core sample of the [item_to_sample].")) else - to_chat(user, "You are unable to take a sample of [item_to_sample].") + to_chat(user, span_warning("You are unable to take a sample of [item_to_sample].")) -/obj/item/device/core_sampler/attack_self(var/mob/living/user) +/obj/item/core_sampler/attack_self(var/mob/living/user) if(filled_bag) - to_chat(user, "You eject the full sample bag.") + to_chat(user, span_notice("You eject the full sample bag.")) var/success = 0 if(istype(src.loc, /mob)) var/mob/M = src.loc @@ -163,4 +165,4 @@ filled_bag = null icon_state = "sampler0" else - to_chat(user, "The core sampler is empty.") + to_chat(user, span_warning("The core sampler is empty.")) diff --git a/code/modules/xenoarcheaology/tools/ano_device_battery.dm b/code/modules/xenoarcheaology/tools/ano_device_battery.dm index ac9fc9b4db1..5f40d9deb52 100644 --- a/code/modules/xenoarcheaology/tools/ano_device_battery.dm +++ b/code/modules/xenoarcheaology/tools/ano_device_battery.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/anobattery +/obj/item/anobattery name = "Anomaly power battery" icon = 'icons/obj/xenoarchaeology.dmi' icon_state = "anobattery0" @@ -7,24 +7,24 @@ var/stored_charge = 0 var/effect_id = "" -/obj/item/weapon/anobattery/advanced +/obj/item/anobattery/advanced name = "advanced anomaly battery" capacity = 3000 /* -/obj/item/weapon/anobattery/New() +/obj/item/anobattery/New() battery_effect = new() */ -/obj/item/weapon/anobattery/proc/UpdateSprite() +/obj/item/anobattery/proc/UpdateSprite() var/p = (stored_charge/capacity)*100 p = min(p, 100) icon_state = "anobattery[round(p,25)]" -/obj/item/weapon/anobattery/proc/use_power(var/amount) +/obj/item/anobattery/proc/use_power(var/amount) stored_charge = max(0, stored_charge - amount) -/obj/item/weapon/anodevice +/obj/item/anodevice name = "Anomaly power utilizer" icon = 'icons/obj/xenoarchaeology.dmi' icon_state = "anodev" @@ -34,16 +34,16 @@ var/time_end = 0 var/last_activation = 0 var/last_process = 0 - var/obj/item/weapon/anobattery/inserted_battery + var/obj/item/anobattery/inserted_battery var/turf/archived_loc var/energy_consumed_on_touch = 100 -/obj/item/weapon/anodevice/New() +/obj/item/anodevice/New() ..() START_PROCESSING(SSobj, src) -/obj/item/weapon/anodevice/attackby(var/obj/I as obj, var/mob/user as mob) - if(istype(I, /obj/item/weapon/anobattery)) +/obj/item/anodevice/attackby(var/obj/I as obj, var/mob/user as mob) + if(istype(I, /obj/item/anobattery)) if(!inserted_battery) to_chat(user, span_blue("You insert the battery.")) user.drop_item() @@ -53,19 +53,19 @@ else return ..() -/obj/item/weapon/anodevice/attack_self(var/mob/user as mob) +/obj/item/anodevice/attack_self(var/mob/user as mob) return tgui_interact(user) -/obj/item/weapon/anodevice/tgui_state(mob/user) +/obj/item/anodevice/tgui_state(mob/user) return GLOB.tgui_inventory_state -/obj/item/weapon/anodevice/tgui_interact(mob/user, datum/tgui/ui) +/obj/item/anodevice/tgui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) if(!ui) ui = new(user, src, "XenoarchHandheldPowerUtilizer", name) ui.open() -/obj/item/weapon/anodevice/tgui_data(mob/user, datum/tgui/ui, datum/tgui_state/state) +/obj/item/anodevice/tgui_data(mob/user, datum/tgui/ui, datum/tgui_state/state) var/list/data = ..() data["inserted_battery"] = inserted_battery @@ -87,7 +87,7 @@ return data -/obj/item/weapon/anodevice/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state) +/obj/item/anodevice/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state) if(..()) return TRUE @@ -109,7 +109,7 @@ time_end = world.time + duration last_process = world.time else - to_chat(usr, "[src] is unable to start due to no anomolous power source inserted/remaining.") + to_chat(ui.user, span_warning("[src] is unable to start due to no anomolous power source inserted/remaining.")) return TRUE if("shutdown") activated = FALSE @@ -122,7 +122,7 @@ shutdown_emission() return TRUE -/obj/item/weapon/anodevice/process() +/obj/item/anodevice/process() if(activated) if(inserted_battery && inserted_battery.battery_effect && (inserted_battery.stored_charge > 0) ) //make sure the effect is active @@ -185,13 +185,13 @@ shutdown_emission() last_process = world.time -/obj/item/weapon/anodevice/proc/shutdown_emission() +/obj/item/anodevice/proc/shutdown_emission() if(activated) activated = 0 if(inserted_battery?.battery_effect?.activated) inserted_battery.battery_effect.ToggleActivate(1) -/obj/item/weapon/anodevice/proc/UpdateSprite() +/obj/item/anodevice/proc/UpdateSprite() if(!inserted_battery) icon_state = "anodev" return @@ -199,11 +199,11 @@ p = min(p, 100) icon_state = "anodev[round(p,25)]" -/obj/item/weapon/anodevice/Destroy() +/obj/item/anodevice/Destroy() STOP_PROCESSING(SSobj, src) ..() -/obj/item/weapon/anodevice/attack(mob/living/M as mob, mob/living/user as mob, def_zone) +/obj/item/anodevice/attack(mob/living/M as mob, mob/living/user as mob, def_zone) if (!istype(M)) return diff --git a/code/modules/xenoarcheaology/tools/artifact_analyser.dm b/code/modules/xenoarcheaology/tools/artifact_analyser.dm index 41d4ad1bc20..db713bb57a7 100644 --- a/code/modules/xenoarcheaology/tools/artifact_analyser.dm +++ b/code/modules/xenoarcheaology/tools/artifact_analyser.dm @@ -58,7 +58,7 @@ if(..()) return TRUE - add_fingerprint(usr) + add_fingerprint(ui.user) switch(action) if("scan") @@ -121,12 +121,12 @@ results = get_scan_info(scanned_object) atom_say("Scanning complete.") - var/obj/item/weapon/paper/P = new(src.loc) + var/obj/item/paper/P = new(src.loc) P.name = "[src] report #[++report_num]" - P.info = "[src] analysis report #[report_num]
      " + P.info = span_bold("[src] analysis report #[report_num]") + "
      " P.info += "
      " P.info += "[bicon(scanned_object)] [results]" - P.stamped = list(/obj/item/weapon/stamp) + P.stamped = list(/obj/item/stamp) P.add_overlay("paper_stamped") if(scanned_object && istype(scanned_object, /obj/machinery/artifact)) diff --git a/code/modules/xenoarcheaology/tools/artifact_harvester.dm b/code/modules/xenoarcheaology/tools/artifact_harvester.dm index a8f19c916bd..2c4debe9f43 100644 --- a/code/modules/xenoarcheaology/tools/artifact_harvester.dm +++ b/code/modules/xenoarcheaology/tools/artifact_harvester.dm @@ -8,7 +8,7 @@ active_power_usage = 750 use_power = USE_POWER_IDLE var/harvesting = 0 - var/obj/item/weapon/anobattery/inserted_battery + var/obj/item/anobattery/inserted_battery var/obj/machinery/artifact/cur_artifact var/obj/machinery/artifact_scanpad/owned_scanner = null var/last_process = 0 @@ -20,7 +20,7 @@ owned_scanner = locate(/obj/machinery/artifact_scanpad) in orange(1, src) /obj/machinery/artifact_harvester/attackby(var/obj/I as obj, var/mob/user as mob) - if(istype(I,/obj/item/weapon/anobattery)) + if(istype(I,/obj/item/anobattery)) if(!inserted_battery) to_chat(user, span_blue("You insert [I] into [src].")) user.drop_item() @@ -73,7 +73,7 @@ if(..()) return TRUE - add_fingerprint(usr) + add_fingerprint(ui.user) switch(action) if("harvest") @@ -101,7 +101,7 @@ if("drainbattery") if(inserted_battery) if(inserted_battery.battery_effect && inserted_battery.stored_charge > 0) - if(tgui_alert(usr, "This action will dump all charge, safety gear is recommended before proceeding","Warning",list("Continue","Cancel"))) + if(tgui_alert(ui.user, "This action will dump all charge, safety gear is recommended before proceeding","Warning",list("Continue","Cancel")) == "Continue") if(!inserted_battery.battery_effect.activated) inserted_battery.battery_effect.ToggleActivate(1) last_process = world.time @@ -223,7 +223,7 @@ cur_artifact.anchored = FALSE cur_artifact.being_used = 0 cur_artifact = null - src.visible_message("[name] states, \"Battery is full.\"") + src.visible_message(span_bold("[name]") + " states, \"Battery is full.\"") icon_state = "incubator" else if(harvesting < 0) @@ -248,17 +248,17 @@ harvesting = 0 if(inserted_battery.battery_effect && inserted_battery.battery_effect.activated) inserted_battery.battery_effect.ToggleActivate() - src.visible_message("[name] states, \"Battery dump completed.\"") + src.visible_message(span_bold("[name]") + " states, \"Battery dump completed.\"") icon_state = "incubator" /obj/machinery/artifact_harvester/Topic(href, href_list) if (href_list["harvest"]) if(!inserted_battery) - src.visible_message("[src] states, \"Cannot harvest. No battery inserted.\"") + src.visible_message(span_bold("[src]") + " states, \"Cannot harvest. No battery inserted.\"") else if(inserted_battery.stored_charge >= inserted_battery.capacity) - src.visible_message("[src] states, \"Cannot harvest. battery is full.\"") + src.visible_message(span_bold("[src]") + " states, \"Cannot harvest. battery is full.\"") else @@ -271,11 +271,11 @@ articount++ if(articount <= 0) - var/message = "[src] states, \"Cannot harvest. No noteworthy energy signature isolated.\"" + var/message = span_bold("[src]") + " states, \"Cannot harvest. No noteworthy energy signature isolated.\"" src.visible_message(message) else if(analysed && analysed.being_used) - src.visible_message("[src] states, \"Cannot harvest. Source already being harvested.\"") + src.visible_message(span_bold("[src]") + " states, \"Cannot harvest. Source already being harvested.\"") else if(articount > 1) @@ -287,9 +287,9 @@ var/list/active_effects = cur_artifact.artifact_master.get_active_effects() if(active_effects.len > 1) - src.visible_message("[src] states, \"Cannot harvest. Source is emitting conflicting energy signatures.\"") + src.visible_message(span_bold("[src]") + " states, \"Cannot harvest. Source is emitting conflicting energy signatures.\"") else if(!active_effects.len) - src.visible_message("[src] states, \"Cannot harvest. No energy emitting from source.\"") + src.visible_message(span_bold("[src]") + " states, \"Cannot harvest. No energy emitting from source.\"") else //see if we can clear out an old effect @@ -312,7 +312,7 @@ source_effect = active_effect if(!source_effect) - src.visible_message("[src] states, \"Cannot harvest. Battery is charged with a different energy signature.\"") + src.visible_message(span_bold("[src]") + " states, \"Cannot harvest. Battery is charged with a different energy signature.\"") else //we're good to charge either if(active_effect.activated) @@ -325,7 +325,7 @@ cur_artifact.anchored = 1 cur_artifact.being_used = 1 icon_state = "incubator_on" - var/message = "[src] states, \"Beginning energy harvesting.\"" + var/message = span_bold("[src]") + " states, \"Beginning energy harvesting.\"" src.visible_message(message) last_process = world.time @@ -350,7 +350,7 @@ cur_artifact.anchored = 0 cur_artifact.being_used = 0 cur_artifact = null - src.visible_message("[name] states, \"Energy harvesting interrupted.\"") + src.visible_message(span_bold("[name]") + " states, \"Energy harvesting interrupted.\"") icon_state = "incubator" if (href_list["ejectbattery"]) @@ -367,13 +367,13 @@ harvesting = -1 update_use_power(USE_POWER_ACTIVE) icon_state = "incubator_on" - var/message = "[src] states, \"Warning, battery charge dump commencing.\"" + var/message = span_bold("[src]") + " states, \"Warning, battery charge dump commencing.\"" src.visible_message(message) else - var/message = "[src] states, \"Cannot dump energy. Battery is drained of charge already.\"" + var/message = span_bold("[src]") + " states, \"Cannot dump energy. Battery is drained of charge already.\"" src.visible_message(message) else - var/message = "[src] states, \"Cannot dump energy. No battery inserted.\"" + var/message = span_bold("[src]") + " states, \"Cannot dump energy. No battery inserted.\"" src.visible_message(message) if(href_list["close"]) diff --git a/code/modules/xenoarcheaology/tools/equipment.dm b/code/modules/xenoarcheaology/tools/equipment.dm index cd4a3278f2f..901f41570e5 100644 --- a/code/modules/xenoarcheaology/tools/equipment.dm +++ b/code/modules/xenoarcheaology/tools/equipment.dm @@ -23,7 +23,7 @@ icon_state = "cespace_suit" item_state = "cespace_suit" armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 100) - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/pickaxe) + allowed = list(/obj/item/flashlight,/obj/item/tank,/obj/item/suit_cooling_unit,/obj/item/pickaxe) slowdown = 1 // Pressure protection inherited from space suits diff --git a/code/modules/xenoarcheaology/tools/geosample_scanner.dm b/code/modules/xenoarcheaology/tools/geosample_scanner.dm index bd79af08eb1..5e8065ab9b7 100644 --- a/code/modules/xenoarcheaology/tools/geosample_scanner.dm +++ b/code/modules/xenoarcheaology/tools/geosample_scanner.dm @@ -10,7 +10,7 @@ idle_power_usage = 20 active_power_usage = 300 - //var/obj/item/weapon/reagent_containers/glass/coolant_container + //var/obj/item/reagent_containers/glass/coolant_container var/scanning = 0 var/report_num = 0 // @@ -61,40 +61,44 @@ /obj/machinery/radiocarbon_spectrometer/attackby(var/obj/I as obj, var/mob/user as mob) if(scanning) - to_chat(user, "You can't do that while [src] is scanning!") + to_chat(user, span_warning("You can't do that while [src] is scanning!")) else if(istype(I, /obj/item/stack/nanopaste)) - var/choice = tgui_alert(usr, "What do you want to do with the nanopaste?","Radiometric Scanner",list("Scan nanopaste","Fix seal integrity")) + var/choice = tgui_alert(user, "What do you want to do with the nanopaste?","Radiometric Scanner",list("Scan nanopaste","Fix seal integrity")) + if(!choice) + return if(choice == "Fix seal integrity") var/obj/item/stack/nanopaste/N = I var/amount_used = min(N.get_amount(), 10 - scanner_seal_integrity / 10) N.use(amount_used) scanner_seal_integrity = round(scanner_seal_integrity + amount_used * 10) return - if(istype(I, /obj/item/weapon/reagent_containers/glass)) - var/obj/item/weapon/reagent_containers/glass/G = I + if(istype(I, /obj/item/reagent_containers/glass)) + var/obj/item/reagent_containers/glass/G = I if(!G.is_open_container()) return - var/choice = tgui_alert(usr, "What do you want to do with the container?","Radiometric Scanner",list("Add coolant","Empty coolant","Scan container")) + var/choice = tgui_alert(user, "What do you want to do with the container?","Radiometric Scanner",list("Add coolant","Empty coolant","Scan container")) + if(!choice) + return if(choice == "Add coolant") var/amount_transferred = min(src.reagents.maximum_volume - src.reagents.total_volume, G.reagents.total_volume) var/trans = G.reagents.trans_to_obj(src, amount_transferred) - to_chat(user, "You empty [trans ? trans : 0]u of coolant into [src].") + to_chat(user, span_info("You empty [trans ? trans : 0]u of coolant into [src].")) update_coolant() return else if(choice == "Empty coolant") var/amount_transferred = min(G.reagents.maximum_volume - G.reagents.total_volume, src.reagents.total_volume) var/trans = src.reagents.trans_to(G, amount_transferred) - to_chat(user, "You remove [trans ? trans : 0]u of coolant from [src].") + to_chat(user, span_info("You remove [trans ? trans : 0]u of coolant from [src].")) update_coolant() return if(scanned_item) - to_chat(user, "\The [src] already has \a [scanned_item] inside!") + to_chat(user, span_warning("\The [src] already has \a [scanned_item] inside!")) return user.drop_item() I.loc = src scanned_item = I - to_chat(user, "You put \the [I] into \the [src].") + to_chat(user, span_notice("You put \the [I] into \the [src].")) /obj/machinery/radiocarbon_spectrometer/proc/update_coolant() var/total_purity = 0 @@ -160,7 +164,7 @@ if(..()) return TRUE - add_fingerprint(usr) + add_fingerprint(ui.user) switch(action) if("scanItem") if(scanning) @@ -171,11 +175,11 @@ scanner_progress = 0 scanning = 1 t_left_radspike = pick(5,10,15) - to_chat(usr, "Scan initiated.") + to_chat(ui.user, span_notice("Scan initiated.")) else - to_chat(usr, "Could not initiate scan, seal requires replacing.") + to_chat(ui.user, span_warning("Could not initiate scan, seal requires replacing.")) else - to_chat(usr, "Insert an item to scan.") + to_chat(ui.user, span_warning("Insert an item to scan.")) return TRUE if("maserWavelength") @@ -300,29 +304,29 @@ if(scanned_item) //create report - var/obj/item/weapon/paper/P = new(src) + var/obj/item/paper/P = new(src) P.name = "[src] report #[++report_num]: [scanned_item.name]" - P.stamped = list(/obj/item/weapon/stamp) + P.stamped = list(/obj/item/stamp) P.add_overlay("paper_stamped") //work out data var/data = " - Mundane object: [scanned_item.desc ? scanned_item.desc : "No information on record."]
      " var/datum/geosample/G switch(scanned_item.type) - if(/obj/item/weapon/ore) - var/obj/item/weapon/ore/O = scanned_item + if(/obj/item/ore) + var/obj/item/ore/O = scanned_item if(O.geologic_data) G = O.geologic_data - if(/obj/item/weapon/rocksliver) - var/obj/item/weapon/rocksliver/O = scanned_item + if(/obj/item/rocksliver) + var/obj/item/rocksliver/O = scanned_item if(O.geological_data) G = O.geological_data - if(/obj/item/weapon/archaeological_find) + if(/obj/item/archaeological_find) data = " - Mundane object (archaic xenos origins)
      " - var/obj/item/weapon/archaeological_find/A = scanned_item + var/obj/item/archaeological_find/A = scanned_item if(A.talking_atom) data = " - Exhibits properties consistent with sonic reproduction and audio capture technologies.
      " @@ -350,8 +354,8 @@ if(!anom_found) data += " - No anomalous data
      " - P.info = "[src] analysis report #[report_num]
      " - P.info += "Scanned item: [scanned_item.name]

      " + data + P.info = span_bold("[src] analysis report #[report_num]") + "
      " + P.info += span_bold("Scanned item:") + " [scanned_item.name]

      " + data last_scan_data = P.info P.loc = src.loc diff --git a/code/modules/xenoarcheaology/tools/suspension_generator.dm b/code/modules/xenoarcheaology/tools/suspension_generator.dm index b420435bb3f..ed19f72e265 100644 --- a/code/modules/xenoarcheaology/tools/suspension_generator.dm +++ b/code/modules/xenoarcheaology/tools/suspension_generator.dm @@ -5,15 +5,15 @@ icon_state = "suspension" density = 1 req_access = list(access_research) - var/obj/item/weapon/cell/cell - var/obj/item/weapon/card/id/auth_card + var/obj/item/cell/cell + var/obj/item/card/id/auth_card var/locked = 1 var/power_use = 5 var/obj/effect/suspension_field/suspension_field /obj/machinery/suspension_gen/Initialize() . = ..() - cell = new /obj/item/weapon/cell/high(src) + cell = new /obj/item/cell/high(src) /obj/machinery/suspension_gen/process() if(suspension_field) @@ -24,7 +24,7 @@ M.Weaken(3) cell.charge -= power_use if(prob(5)) - to_chat(M, "[pick("You feel tingly","You feel like floating","It is hard to speak","You can barely move")].") + to_chat(M, span_warning("[pick("You feel tingly","You feel like floating","It is hard to speak","You can barely move")].")) for(var/obj/item/I in T) if(!suspension_field.contents.len) @@ -45,7 +45,7 @@ icon_state = "suspension" cell = null - to_chat(user, "You remove the power cell") + to_chat(user, span_info("You remove the power cell")) /obj/machinery/suspension_gen/tgui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) @@ -78,13 +78,13 @@ if(anchored) activate() else - to_chat(usr, "You are unable to activate [src] until it is properly secured on the ground.") + to_chat(ui.user, span_warning("You are unable to activate [src] until it is properly secured on the ground.")) else deactivate() return TRUE if("lock") - if(allowed(usr)) + if(allowed(ui.user)) locked = !locked return TRUE @@ -98,7 +98,7 @@ else anchored = 1 playsound(src, W.usesound, 50, 1) - to_chat(user, "You wrench the stabilising bolts [anchored ? "into place" : "loose"].") + to_chat(user, span_info("You wrench the stabilising bolts [anchored ? "into place" : "loose"].")) if(anchored) desc = "Its tracks are held firmly in place with securing bolts." icon_state = "suspension_wrenched" @@ -108,32 +108,32 @@ playsound(loc, 'sound/items/Ratchet.ogg', 40) update_icon() else - to_chat(user, "You are unable to secure [src] while it is active!") - else if (istype(W, /obj/item/weapon/cell)) + to_chat(user, span_warning("You are unable to secure [src] while it is active!")) + else if (istype(W, /obj/item/cell)) if(panel_open) if(cell) - to_chat(user, "There is a power cell already installed.") + to_chat(user, span_warning("There is a power cell already installed.")) else user.drop_item() W.loc = src cell = W - to_chat(user, "You insert the power cell.") + to_chat(user, span_info("You insert the power cell.")) icon_state = "suspension" - else if(istype(W, /obj/item/weapon/card)) - var/obj/item/weapon/card/I = W + else if(istype(W, /obj/item/card)) + var/obj/item/card/I = W if(!auth_card) if(attempt_unlock(I, user)) - to_chat(user, "You swipe [I], the console flashes \'Access granted.\'") + to_chat(user, span_info("You swipe [I], the console flashes \'Access granted.\'")) else - to_chat(user, "You swipe [I], console flashes \'Access denied.\'") + to_chat(user, span_warning("You swipe [I], console flashes \'Access denied.\'")) else - to_chat(user, "Remove [auth_card] first.") + to_chat(user, span_warning("Remove [auth_card] first.")) -/obj/machinery/suspension_gen/proc/attempt_unlock(var/obj/item/weapon/card/C, var/mob/user) +/obj/machinery/suspension_gen/proc/attempt_unlock(var/obj/item/card/C, var/mob/user) if(!panel_open) - if(istype(C, /obj/item/weapon/card/emag)) + if(istype(C, /obj/item/card/emag)) C.resolve_attackby(src, user) - else if(istype(C, /obj/item/weapon/card/id) && check_access(C)) + else if(istype(C, /obj/item/card/id) && check_access(C)) locked = 0 if(!locked) return 1 @@ -158,7 +158,7 @@ playsound(loc, 'sound/machines/quiet_beep.ogg', 40) update_icon() - for(var/obj/item/weapon/I in T) + for(var/obj/item/I in T) I.loc = suspension_field collected++ @@ -177,7 +177,7 @@ var/turf/T = get_turf(suspension_field) for(var/mob/living/M in T) - to_chat(M, "You no longer feel like floating.") + to_chat(M, span_info("You no longer feel like floating.")) M.Weaken(3) visible_message(span_blue("[icon2html(src,viewers(src))] [src] deactivates with a gentle shudder.")) diff --git a/code/modules/xenoarcheaology/tools/tools.dm b/code/modules/xenoarcheaology/tools/tools.dm index 6f33ff82513..abfe28c4abb 100644 --- a/code/modules/xenoarcheaology/tools/tools.dm +++ b/code/modules/xenoarcheaology/tools/tools.dm @@ -1,4 +1,4 @@ -/obj/item/device/measuring_tape +/obj/item/measuring_tape name = "measuring tape" desc = "A coiled metallic tape used to check dimensions and lengths." icon = 'icons/obj/xenoarchaeology.dmi' @@ -7,7 +7,7 @@ matter = list(MAT_STEEL = 100) w_class = ITEMSIZE_SMALL -/obj/item/weapon/storage/bag/fossils +/obj/item/storage/bag/fossils name = "Fossil Satchel" desc = "Transports delicate fossils in suspension so they don't break during transit." icon = 'icons/obj/mining.dmi' @@ -17,20 +17,20 @@ storage_slots = 50 max_storage_space = ITEMSIZE_COST_NORMAL * 50 max_w_class = ITEMSIZE_NORMAL - can_hold = list(/obj/item/weapon/fossil) + can_hold = list(/obj/item/fossil) -/obj/item/weapon/storage/box/samplebags +/obj/item/storage/box/samplebags name = "sample bag box" desc = "A box claiming to contain sample bags." -/obj/item/weapon/storage/box/samplebags/New() +/obj/item/storage/box/samplebags/New() ..() for(var/i = 1 to 7) - var/obj/item/weapon/evidencebag/S = new(src) + var/obj/item/evidencebag/S = new(src) S.name = "sample bag" S.desc = "a bag for holding research samples." -/obj/item/device/ano_scanner +/obj/item/ano_scanner name = "Alden-Saraspova counter" desc = "Aids in triangulation of exotic particles." icon = 'icons/obj/xenoarchaeology.dmi' @@ -44,10 +44,10 @@ var/last_scan_time = 0 var/scan_delay = 25 -/obj/item/device/ano_scanner/attack_self(var/mob/living/user) +/obj/item/ano_scanner/attack_self(var/mob/living/user) interact(user) -/obj/item/device/ano_scanner/interact(var/mob/living/user) +/obj/item/ano_scanner/interact(var/mob/living/user) if(world.time - last_scan_time >= scan_delay) last_scan_time = world.time @@ -86,7 +86,7 @@ else to_chat(user, "Scanning array is recharging.") -/obj/item/device/depth_scanner +/obj/item/depth_scanner name = "depth analysis scanner" desc = "Used to check spatial depth and density of rock outcroppings." icon = 'icons/obj/xenoarchaeology.dmi' @@ -108,8 +108,8 @@ var/dissonance_spread = 1 var/material = "unknown" -/obj/item/device/depth_scanner/proc/scan_atom(var/mob/user, var/atom/A) - user.visible_message("\The [user] scans \the [A], the air around them humming gently.") +/obj/item/depth_scanner/proc/scan_atom(var/mob/user, var/atom/A) + user.visible_message(span_bold("\The [user]") + " scans \the [A], the air around them humming gently.") if(istype(A, /turf/simulated/mineral)) var/turf/simulated/mineral/M = A @@ -131,7 +131,7 @@ positive_locations.Add(D) - to_chat(user, "[icon2html(src, user.client)] [src] pings.") + to_chat(user, span_notice("[icon2html(src, user.client)] [src] pings.")) else if(istype(A, /obj/structure/boulder)) var/obj/structure/boulder/B = A @@ -149,21 +149,21 @@ positive_locations.Add(D) - to_chat(user, "[icon2html(src, user.client)] [src] pings [pick("madly","wildly","excitedly","crazily")]!") + to_chat(user, span_notice("[icon2html(src, user.client)] [src] pings [pick("madly","wildly","excitedly","crazily")]!")) -/obj/item/device/depth_scanner/attack_self(var/mob/living/user) +/obj/item/depth_scanner/attack_self(var/mob/living/user) tgui_interact(user) -/obj/item/device/depth_scanner/tgui_state(mob/user) +/obj/item/depth_scanner/tgui_state(mob/user) return GLOB.tgui_deep_inventory_state -/obj/item/device/depth_scanner/tgui_interact(mob/user, datum/tgui/ui) +/obj/item/depth_scanner/tgui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) if(!ui) ui = new(user, src, "XenoarchDepthScanner", name) ui.open() -/obj/item/device/depth_scanner/tgui_data(mob/user, datum/tgui/ui, datum/tgui_state/state) +/obj/item/depth_scanner/tgui_data(mob/user, datum/tgui/ui, datum/tgui_state/state) var/list/data = ..() data["current"] = list() @@ -193,7 +193,7 @@ return data -/obj/item/device/depth_scanner/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state) +/obj/item/depth_scanner/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state) if(..()) return TRUE @@ -217,7 +217,7 @@ QDEL_NULL(current) return TRUE -/obj/item/device/beacon_locator +/obj/item/beacon_locator name = "locater device" desc = "Used to scan and locate signals on a particular frequency." icon = 'icons/obj/device.dmi' @@ -227,17 +227,17 @@ matter = list(MAT_STEEL = 1000,MAT_GLASS = 500) var/frequency = PUB_FREQ var/scan_ticks = 0 - var/obj/item/device/radio/target_radio + var/obj/item/radio/target_radio -/obj/item/device/beacon_locator/New() +/obj/item/beacon_locator/New() ..() START_PROCESSING(SSobj, src) -/obj/item/device/beacon_locator/Destroy() +/obj/item/beacon_locator/Destroy() STOP_PROCESSING(SSobj, src) ..() -/obj/item/device/beacon_locator/process() +/obj/item/beacon_locator/process() if(target_radio) set_dir(get_dir(src,target_radio)) switch(get_dist(src,target_radio)) @@ -259,7 +259,7 @@ if(datum_flags & DF_ISPROCESSING) //scan radios in the world to try and find one var/cur_dist = 999 - for(var/obj/item/device/radio/beacon/R in GLOB.all_beacons) + for(var/obj/item/radio/beacon/R in GLOB.all_beacons) if(R.z == src.z && R.frequency == src.frequency) var/check_dist = get_dist(src,R) if(check_dist < cur_dist) @@ -275,19 +275,19 @@ else icon_state = "pinoff" -/obj/item/device/beacon_locator/attack_self(mob/user) +/obj/item/beacon_locator/attack_self(mob/user) return tgui_interact(user) -/obj/item/device/beacon_locator/tgui_state(mob/user) +/obj/item/beacon_locator/tgui_state(mob/user) return GLOB.tgui_inventory_state -/obj/item/device/beacon_locator/tgui_interact(mob/user, datum/tgui/ui) +/obj/item/beacon_locator/tgui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) if(!ui) ui = new(user, src, "BeaconLocator", name) ui.open() -/obj/item/device/beacon_locator/tgui_data(mob/user, datum/tgui/ui, datum/tgui_state/state) +/obj/item/beacon_locator/tgui_data(mob/user, datum/tgui/ui, datum/tgui_state/state) var/list/data = ..() data["scan_ticks"] = scan_ticks @@ -301,7 +301,7 @@ return data -/obj/item/device/beacon_locator/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state) +/obj/item/beacon_locator/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state) if(..()) return TRUE @@ -316,7 +316,7 @@ frequency = new_frequency return TRUE -/obj/item/device/xenoarch_multi_tool +/obj/item/xenoarch_multi_tool name = "xenoarcheology multitool" desc = "Has the features of the Alden-Saraspova counter, a measuring tape, and a depth analysis scanner all in one!" icon_state = "ano_scanner2" @@ -327,17 +327,17 @@ w_class = ITEMSIZE_SMALL slot_flags = SLOT_BELT var/mode = 1 //Start off scanning. 1 = scanning, 0 = measuring - var/obj/item/device/ano_scanner/anomaly_scanner = null - var/obj/item/device/depth_scanner/depth_scanner = null + var/obj/item/ano_scanner/anomaly_scanner = null + var/obj/item/depth_scanner/depth_scanner = null -/obj/item/device/xenoarch_multi_tool/New() - anomaly_scanner = new/obj/item/device/ano_scanner(src) - depth_scanner = new/obj/item/device/depth_scanner(src) +/obj/item/xenoarch_multi_tool/New() + anomaly_scanner = new/obj/item/ano_scanner(src) + depth_scanner = new/obj/item/depth_scanner(src) -/obj/item/device/xenoarch_multi_tool/attack_self(var/mob/living/user) +/obj/item/xenoarch_multi_tool/attack_self(var/mob/living/user) depth_scanner.tgui_interact(user) -/obj/item/device/xenoarch_multi_tool/verb/swap_settings() +/obj/item/xenoarch_multi_tool/verb/swap_settings() var/mob/living/user = usr set name = "Swap Functionality" set desc = "Swap between the scanning and measuring functionality.." @@ -347,7 +347,7 @@ else to_chat(user, "The device will now measure depth dug.") -/obj/item/device/xenoarch_multi_tool/verb/scan_for_anomalies() +/obj/item/xenoarch_multi_tool/verb/scan_for_anomalies() var/mob/living/user = usr set name = "Scan for Anomalies" set desc = "Scan for artifacts and anomalies within your vicinity." diff --git a/code/modules/xenoarcheaology/tools/tools_pickaxe.dm b/code/modules/xenoarcheaology/tools/tools_pickaxe.dm index c7015c2c292..caffe306820 100644 --- a/code/modules/xenoarcheaology/tools/tools_pickaxe.dm +++ b/code/modules/xenoarcheaology/tools/tools_pickaxe.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/pickaxe/brush +/obj/item/pickaxe/brush name = "brush" icon = 'icons/obj/xenoarchaeology.dmi' icon_state = "pick_brush" @@ -13,7 +13,7 @@ drill_verb = "brushing" w_class = ITEMSIZE_SMALL -/obj/item/weapon/pickaxe/one_pick +/obj/item/pickaxe/one_pick name = "2cm pick" icon = 'icons/obj/xenoarchaeology.dmi' icon_state = "pick1" @@ -26,7 +26,7 @@ drill_verb = "delicately picking" w_class = ITEMSIZE_SMALL -/obj/item/weapon/pickaxe/two_pick +/obj/item/pickaxe/two_pick name = "4cm pick" icon = 'icons/obj/xenoarchaeology.dmi' icon_state = "pick2" @@ -39,7 +39,7 @@ drill_verb = "delicately picking" w_class = ITEMSIZE_SMALL -/obj/item/weapon/pickaxe/three_pick +/obj/item/pickaxe/three_pick name = "6cm pick" icon = 'icons/obj/xenoarchaeology.dmi' icon_state = "pick3" @@ -52,7 +52,7 @@ drill_verb = "delicately picking" w_class = ITEMSIZE_SMALL -/obj/item/weapon/pickaxe/four_pick +/obj/item/pickaxe/four_pick name = "8cm pick" icon = 'icons/obj/xenoarchaeology.dmi' icon_state = "pick4" @@ -65,7 +65,7 @@ drill_verb = "delicately picking" w_class = ITEMSIZE_SMALL -/obj/item/weapon/pickaxe/five_pick +/obj/item/pickaxe/five_pick name = "10cm pick" icon = 'icons/obj/xenoarchaeology.dmi' icon_state = "pick5" @@ -78,7 +78,7 @@ drill_verb = "delicately picking" w_class = ITEMSIZE_SMALL -/obj/item/weapon/pickaxe/six_pick +/obj/item/pickaxe/six_pick name = "12cm pick" icon = 'icons/obj/xenoarchaeology.dmi' icon_state = "pick6" @@ -91,7 +91,7 @@ drill_verb = "delicately picking" w_class = ITEMSIZE_SMALL -/obj/item/weapon/pickaxe/hand +/obj/item/pickaxe/hand name = "hand pickaxe" icon = 'icons/obj/xenoarchaeology.dmi' icon_state = "pick_hand" @@ -107,7 +107,7 @@ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Pack for holding pickaxes -/obj/item/weapon/storage/excavation +/obj/item/storage/excavation name = "excavation pick set" icon = 'icons/obj/storage.dmi' icon_state = "excavation" @@ -115,51 +115,51 @@ item_state = "syringe_kit" storage_slots = 7 w_class = ITEMSIZE_SMALL - can_hold = list(/obj/item/weapon/pickaxe/brush, - /obj/item/weapon/pickaxe/one_pick, - /obj/item/weapon/pickaxe/two_pick, - /obj/item/weapon/pickaxe/three_pick, - /obj/item/weapon/pickaxe/four_pick, - /obj/item/weapon/pickaxe/five_pick, - /obj/item/weapon/pickaxe/six_pick, - /obj/item/weapon/pickaxe/hand) + can_hold = list(/obj/item/pickaxe/brush, + /obj/item/pickaxe/one_pick, + /obj/item/pickaxe/two_pick, + /obj/item/pickaxe/three_pick, + /obj/item/pickaxe/four_pick, + /obj/item/pickaxe/five_pick, + /obj/item/pickaxe/six_pick, + /obj/item/pickaxe/hand) max_storage_space = ITEMSIZE_COST_SMALL * 9 max_w_class = ITEMSIZE_SMALL use_to_pickup = TRUE -/obj/item/weapon/storage/excavation/New() +/obj/item/storage/excavation/New() ..() - new /obj/item/weapon/pickaxe/brush(src) - new /obj/item/weapon/pickaxe/one_pick(src) - new /obj/item/weapon/pickaxe/two_pick(src) - new /obj/item/weapon/pickaxe/three_pick(src) - new /obj/item/weapon/pickaxe/four_pick(src) - new /obj/item/weapon/pickaxe/five_pick(src) - new /obj/item/weapon/pickaxe/six_pick(src) + new /obj/item/pickaxe/brush(src) + new /obj/item/pickaxe/one_pick(src) + new /obj/item/pickaxe/two_pick(src) + new /obj/item/pickaxe/three_pick(src) + new /obj/item/pickaxe/four_pick(src) + new /obj/item/pickaxe/five_pick(src) + new /obj/item/pickaxe/six_pick(src) -/obj/item/weapon/storage/excavation/handle_item_insertion() +/obj/item/storage/excavation/handle_item_insertion() ..() sort_picks() -/obj/item/weapon/storage/excavation/proc/sort_picks() - var/list/obj/item/weapon/pickaxe/picksToSort = list() - for(var/obj/item/weapon/pickaxe/P in src) +/obj/item/storage/excavation/proc/sort_picks() + var/list/obj/item/pickaxe/picksToSort = list() + for(var/obj/item/pickaxe/P in src) picksToSort += P P.loc = null while(picksToSort.len) var/min = 200 // No pick is bigger than 200 var/selected = 0 for(var/i = 1 to picksToSort.len) - var/obj/item/weapon/pickaxe/current = picksToSort[i] + var/obj/item/pickaxe/current = picksToSort[i] if(current.excavation_amount <= min) selected = i min = current.excavation_amount - var/obj/item/weapon/pickaxe/smallest = picksToSort[selected] + var/obj/item/pickaxe/smallest = picksToSort[selected] smallest.loc = src picksToSort -= smallest orient2hud() -/obj/item/weapon/pickaxe/excavationdrill +/obj/item/pickaxe/excavationdrill name = "excavation drill" icon = 'icons/obj/xenoarchaeology.dmi' icon_state = "excavationdrill2" @@ -173,13 +173,13 @@ w_class = 2 attack_verb = list("drilled") -/obj/item/weapon/pickaxe/excavationdrill/attack_self(mob/user as mob) +/obj/item/pickaxe/excavationdrill/attack_self(mob/user as mob) var/depth = tgui_input_number(usr, "Put the desired depth (1-30 centimeters).", "Set Depth", 30, 30, 1) if(depth>30 || depth<1) - to_chat(user, "Invalid depth.") + to_chat(user, span_notice("Invalid depth.")) return excavation_amount = depth - to_chat(user, "You set the depth to [depth]cm.") + to_chat(user, span_notice("You set the depth to [depth]cm.")) switch(depth) if(1 to 5) icon_state = "excavationdrill0" @@ -194,6 +194,6 @@ if(25 to 30) icon_state = "excavationdrill5" //The other 2 sprites are comically long. Let's just cut it at 5. -/obj/item/weapon/pickaxe/excavationdrill/examine(mob/user) +/obj/item/pickaxe/excavationdrill/examine(mob/user) . = ..() - . += "It is currently set at [excavation_amount]cms." + . += span_info("It is currently set at [excavation_amount]cms.") diff --git a/code/modules/xenoarcheaology/tools/tools_pickaxe_vr.dm b/code/modules/xenoarcheaology/tools/tools_pickaxe_vr.dm index 3a1ff22b1cd..5c00caca1ac 100644 --- a/code/modules/xenoarcheaology/tools/tools_pickaxe_vr.dm +++ b/code/modules/xenoarcheaology/tools/tools_pickaxe_vr.dm @@ -1,23 +1,23 @@ -/obj/item/weapon/pickaxe/brush +/obj/item/pickaxe/brush icon = 'icons/obj/xenoarchaeology_vr.dmi' -/obj/item/weapon/pickaxe/one_pick +/obj/item/pickaxe/one_pick icon = 'icons/obj/xenoarchaeology_vr.dmi' -/obj/item/weapon/pickaxe/two_pick +/obj/item/pickaxe/two_pick icon = 'icons/obj/xenoarchaeology_vr.dmi' -/obj/item/weapon/pickaxe/three_pick +/obj/item/pickaxe/three_pick icon = 'icons/obj/xenoarchaeology_vr.dmi' -/obj/item/weapon/pickaxe/four_pick +/obj/item/pickaxe/four_pick icon = 'icons/obj/xenoarchaeology_vr.dmi' -/obj/item/weapon/pickaxe/five_pick +/obj/item/pickaxe/five_pick icon = 'icons/obj/xenoarchaeology_vr.dmi' -/obj/item/weapon/pickaxe/six_pick +/obj/item/pickaxe/six_pick icon = 'icons/obj/xenoarchaeology_vr.dmi' -/obj/item/weapon/pickaxe/hand +/obj/item/pickaxe/hand icon = 'icons/obj/xenoarchaeology_vr.dmi' diff --git a/code/modules/xenoarcheaology/tools/tools_vr.dm b/code/modules/xenoarcheaology/tools/tools_vr.dm index e9802991e43..405ef3ec8bd 100644 --- a/code/modules/xenoarcheaology/tools/tools_vr.dm +++ b/code/modules/xenoarcheaology/tools/tools_vr.dm @@ -1,5 +1,5 @@ //Unused file due to icon update upstream. -/obj/item/device/depth_scanner //On second thought, the ano_scanner sprite looks better as a depth scanner instead of an anomaly scanner. +/obj/item/depth_scanner //On second thought, the ano_scanner sprite looks better as a depth scanner instead of an anomaly scanner. icon_state = "ano_scanner" icon = 'icons/obj/xenoarchaeology_vr.dmi' diff --git a/code/modules/xenobio/items/extracts.dm b/code/modules/xenobio/items/extracts.dm index 3ad6f852c70..98783dff9f0 100644 --- a/code/modules/xenobio/items/extracts.dm +++ b/code/modules/xenobio/items/extracts.dm @@ -24,9 +24,9 @@ /obj/item/slime_extract/attackby(obj/item/O, mob/user) if(istype(O, /obj/item/slimepotion/enhancer)) if(enhanced) - to_chat(user, "You cannot enhance this extract further!") + to_chat(user, span_warning("You cannot enhance this extract further!")) return ..() - to_chat(user, "You apply the enhancer to the slime extract. It may now be reused one more time.") + to_chat(user, span_notice("You apply the enhancer to the slime extract. It may now be reused one more time.")) playsound(src, 'sound/effects/bubbles.ogg', 50, 1) uses += 2 enhanced = TRUE @@ -78,7 +78,7 @@ required = /obj/item/slime_extract/grey /decl/chemical_reaction/instant/slime/grey_new_slime/on_reaction(var/datum/reagents/holder) - holder.my_atom.visible_message("Infused with phoron, the core begins to quiver and grow, and soon a new baby slime emerges from it!") + holder.my_atom.visible_message(span_warning("Infused with phoron, the core begins to quiver and grow, and soon a new baby slime emerges from it!")) new /mob/living/simple_mob/slime/xenobio(get_turf(holder.my_atom)) ..() @@ -92,7 +92,7 @@ /decl/chemical_reaction/instant/slime/grey_monkey/on_reaction(var/datum/reagents/holder) for(var/i = 1 to 4) - new /obj/item/weapon/reagent_containers/food/snacks/monkeycube(get_turf(holder.my_atom)) + new /obj/item/reagent_containers/food/snacks/monkeycube(get_turf(holder.my_atom)) ..() /decl/chemical_reaction/instant/slime/grey_slimejelly @@ -138,7 +138,7 @@ result_amount = REAGENTS_PER_SHEET * 2 -/obj/item/weapon/reagent_containers/glass/bottle/metamorphic +/obj/item/reagent_containers/glass/bottle/metamorphic name = "Metamorphic Metal Bottle" desc = "A small bottle. Contains some really weird liquid metal." icon = 'icons/obj/chemical.dmi' @@ -209,7 +209,7 @@ color = "#666666" strength = 20 -/obj/item/weapon/reagent_containers/glass/bottle/binding +/obj/item/reagent_containers/glass/bottle/binding name = "Binding Metal Bottle" desc = "A small bottle. Contains some really weird liquid metal." icon = 'icons/obj/chemical.dmi' @@ -324,7 +324,7 @@ /decl/chemical_reaction/instant/slime/orange_fire/on_reaction(var/datum/reagents/holder) log_and_message_admins("Orange extract reaction (fire) has been activated in [get_area(holder.my_atom)]. Last fingerprints: [holder.my_atom.fingerprintslast]") - holder.my_atom.visible_message("\The [src] begins to vibrate violently!") + holder.my_atom.visible_message(span_danger("\The [src] begins to vibrate violently!")) playsound(holder.my_atom, 'sound/effects/phasein.ogg', 75, 1) spawn(5 SECONDS) if(holder && holder.my_atom) @@ -361,7 +361,7 @@ /decl/chemical_reaction/instant/slime/yellow_emp/on_reaction(var/datum/reagents/holder) log_and_message_admins("Yellow extract reaction (emp) has been activated in [get_area(holder.my_atom)]. Last fingerprints: [holder.my_atom.fingerprintslast]") - holder.my_atom.visible_message("\The [src] begins to vibrate violently!") + holder.my_atom.visible_message(span_danger("\The [src] begins to vibrate violently!")) playsound(holder.my_atom, 'sound/effects/phasein.ogg', 75, 1) spawn(5 SECONDS) if(holder && holder.my_atom) @@ -378,7 +378,7 @@ required = /obj/item/slime_extract/yellow /decl/chemical_reaction/instant/slime/yellow_battery/on_reaction(var/datum/reagents/holder) - new /obj/item/weapon/cell/slime(get_turf(holder.my_atom)) + new /obj/item/cell/slime(get_turf(holder.my_atom)) ..() @@ -390,7 +390,7 @@ required = /obj/item/slime_extract/yellow /decl/chemical_reaction/instant/slime/yellow_flashlight/on_reaction(var/datum/reagents/holder) - new /obj/item/device/flashlight/slime(get_turf(holder.my_atom)) + new /obj/item/flashlight/slime(get_turf(holder.my_atom)) ..() // *************** @@ -500,10 +500,10 @@ if(istype(L, /mob/living/simple_mob/slime)) var/mob/living/simple_mob/slime/S = L if(S.cold_resist >= 1) // Immune to cold. - to_chat(S, "A chill is felt around you, however it cannot harm you.") + to_chat(S, span_warning("A chill is felt around you, however it cannot harm you.")) continue if(S.client) // Don't instantly kill player slimes. - to_chat(S, "You feel your body crystalize as an intense chill overwhelms you!") + to_chat(S, span_danger("You feel your body crystalize as an intense chill overwhelms you!")) S.inflict_cold_damage(100) else S.inflict_cold_damage(200) // Metal slimes can survive this 'slime nuke'. @@ -518,9 +518,9 @@ H.bodytemperature = between(50, (H.bodytemperature - ((H.bodytemperature - 50) * cold_factor) ), H.bodytemperature) if(protection < 0.7) - to_chat(L, "A chilling wave of cold overwhelms you!") + to_chat(L, span_danger("A chilling wave of cold overwhelms you!")) else - to_chat(L, "A chilling wave of cold passes by you, as your armor protects you from it.") + to_chat(L, span_warning("A chilling wave of cold passes by you, as your armor protects you from it.")) continue // Now make it very cold. @@ -568,12 +568,12 @@ S.add_modifier(/datum/modifier/berserk, 30 SECONDS) if(S.client) // Player slimes always have free will. - to_chat(S, "An intense wave of rage is felt from inside, but you remain in control of yourself.") + to_chat(S, span_warning("An intense wave of rage is felt from inside, but you remain in control of yourself.")) for(var/mob/living/carbon/human/H in view(get_turf(holder.my_atom))) if(H.species.name == SPECIES_PROMETHEAN) H.add_modifier(/datum/modifier/berserk, 30 SECONDS) - to_chat(H, "An intense wave of rage is felt from inside, but you remain in control of yourself.") + to_chat(H, span_warning("An intense wave of rage is felt from inside, but you remain in control of yourself.")) log_and_message_admins("Red extract reaction (enrage) has been activated in [get_area(holder.my_atom)]. Last fingerprints: [holder.my_atom.fingerprintslast]") @@ -699,7 +699,7 @@ E.uses = 0 playsound(holder.my_atom, 'sound/effects/phasein.ogg', 75, 1) - holder.my_atom.visible_message("\The [holder.my_atom] begins to vibrate violently!") + holder.my_atom.visible_message(span_danger("\The [holder.my_atom] begins to vibrate violently!")) log_and_message_admins("Oil extract reaction (explosion) has been activated in [get_area(holder.my_atom)]. Last fingerprints: [holder.my_atom.fingerprintslast]") spawn(5 SECONDS) @@ -740,7 +740,7 @@ required = /obj/item/slime_extract/bluespace /decl/chemical_reaction/instant/slime/bluespace_greater/on_reaction(var/datum/reagents/holder) - new /obj/item/weapon/disposable_teleporter/slime(get_turf(holder.my_atom)) + new /obj/item/disposable_teleporter/slime(get_turf(holder.my_atom)) ..() // ******************* @@ -796,7 +796,7 @@ required = /obj/item/slime_extract/amber /decl/chemical_reaction/instant/slime/amber_peoplefood/on_reaction(var/datum/reagents/holder) - new /obj/item/weapon/reagent_containers/food/snacks/slime(get_turf(holder.my_atom)) + new /obj/item/reagent_containers/food/snacks/slime(get_turf(holder.my_atom)) ..() @@ -850,8 +850,8 @@ desc = "You feel much stronger than usual." mob_overlay_state = "pink_sparkles" - on_created_text = "Twinkling spores of goo surround you. It makes you feel stronger and more robust." - on_expired_text = "The spores of goo have faded, and you feel your strength returning to what it was before." + on_created_text = span_warning("Twinkling spores of goo surround you. It makes you feel stronger and more robust.") + on_expired_text = span_notice("The spores of goo have faded, and you feel your strength returning to what it was before.") stacks = MODIFIER_STACK_EXTEND max_health_flat = 50 @@ -898,8 +898,8 @@ desc = "You feel much faster than usual." mob_overlay_state = "green_sparkles" - on_created_text = "Twinkling spores of goo surround you. It makes you feel fast and more agile." - on_expired_text = "The spores of goo have faded, and you feel your agility returning to what it was before." + on_created_text = span_warning("Twinkling spores of goo surround you. It makes you feel fast and more agile.") + on_expired_text = span_notice("The spores of goo have faded, and you feel your agility returning to what it was before.") stacks = MODIFIER_STACK_EXTEND evasion = 30 diff --git a/code/modules/xenobio/items/extracts_vr.dm b/code/modules/xenobio/items/extracts_vr.dm index 1866e879f87..2f3992ec63b 100644 --- a/code/modules/xenobio/items/extracts_vr.dm +++ b/code/modules/xenobio/items/extracts_vr.dm @@ -23,16 +23,16 @@ /obj/item/slime_extract/attackby(obj/item/O, mob/user) if(istype(O, /obj/item/slimepotion/enhancer)) if(enhanced) - to_chat(user, "You cannot enhance this extract further!") + to_chat(user, span_warning("You cannot enhance this extract further!")) return ..() - to_chat(user, "You apply the enhancer to the slime extract. It may now be reused one more time.") + to_chat(user, span_notice("You apply the enhancer to the slime extract. It may now be reused one more time.")) playsound(src, 'sound/effects/bubbles.ogg', 50, 1) uses += 2 enhanced = TRUE name = initial(name) // To remove the 'inert' part of the name. qdel(O) else if(istype(O, /obj/item/slimepotion/reinvigoration)) - to_chat(user, "You apply the reinvigorator to the slime extract. It rapidly expands, creating a brand new slime!") + to_chat(user, span_notice("You apply the reinvigorator to the slime extract. It rapidly expands, creating a brand new slime!")) playsound(src, 'sound/effects/bubbles.ogg', 50, 1) new slime_type(get_turf(src)) qdel(O) @@ -85,7 +85,7 @@ required = /obj/item/slime_extract/grey /decl/chemical_reaction/instant/slime/grey_new_slime/on_reaction(var/datum/reagents/holder) - holder.my_atom.visible_message("Infused with phoron, the core begins to quiver and grow, and soon a new baby slime emerges from it!") + holder.my_atom.visible_message(span_warning("Infused with phoron, the core begins to quiver and grow, and soon a new baby slime emerges from it!")) new /mob/living/simple_mob/slime/xenobio(get_turf(holder.my_atom)) ..() @@ -100,7 +100,7 @@ /decl/chemical_reaction/instant/slime/grey_monkey/on_reaction(var/datum/reagents/holder) for(var/i = 1 to 4) - new /obj/item/weapon/reagent_containers/food/snacks/monkeycube(get_turf(holder.my_atom)) + new /obj/item/reagent_containers/food/snacks/monkeycube(get_turf(holder.my_atom)) ..() @@ -233,12 +233,12 @@ S.remove_modifiers_of_type(/datum/modifier/berserk) if(S.client) // Player slimes always have free will. - to_chat(S, "An intense wave of relaxing calm is felt from inside, but you remain in control of yourself.") + to_chat(S, span_warning("An intense wave of relaxing calm is felt from inside, but you remain in control of yourself.")) for(var/mob/living/carbon/human/H in view(get_turf(holder.my_atom))) if(H.species.name == SPECIES_PROMETHEAN) H.remove_modifiers_of_type(/datum/modifier/berserk) - to_chat(H, "An intense wave of relaxing calm is felt from inside, but you remain in control of yourself.") + to_chat(H, span_warning("An intense wave of relaxing calm is felt from inside, but you remain in control of yourself.")) playsound(holder.my_atom, 'sound/effects/phasein.ogg', 75, 1) ..() @@ -333,7 +333,7 @@ /decl/chemical_reaction/instant/slime/orange_fire/on_reaction(var/datum/reagents/holder) log_and_message_admins("Orange extract reaction (fire) has been activated in [get_area(holder.my_atom)]. Last fingerprints: [holder.my_atom.fingerprintslast]") - holder.my_atom.visible_message("\The [src] begins to vibrate violently!") + holder.my_atom.visible_message(span_danger("\The [src] begins to vibrate violently!")) playsound(holder.my_atom, 'sound/effects/phasein.ogg', 75, 1) spawn(5 SECONDS) if(holder && holder.my_atom) @@ -392,9 +392,9 @@ H.bodytemperature = between(50, (H.bodytemperature - ((H.bodytemperature + 50) * cold_factor) ), H.bodytemperature) if(protection < 0.7) - to_chat(L, "A scalding wave of heat overwhelms you!") + to_chat(L, span_danger("A scalding wave of heat overwhelms you!")) else - to_chat(L, "A scalding wave of heat passes by you, as your armor protects you from it.") + to_chat(L, span_warning("A scalding wave of heat passes by you, as your armor protects you from it.")) continue // Now make it very cold. @@ -454,7 +454,7 @@ /decl/chemical_reaction/instant/slime/yellow_lightning/on_reaction(var/datum/reagents/holder) log_and_message_admins("Yellow extract reaction (lightning) has been activated in [get_area(holder.my_atom)]. Last fingerprints: [holder.my_atom.fingerprintslast]") - holder.my_atom.visible_message("\The [src] begins to vibrate violently!") + holder.my_atom.visible_message(span_danger("\The [src] begins to vibrate violently!")) playsound(holder.my_atom, 'sound/effects/phasein.ogg', 75, 1) spawn(5 SECONDS) if(holder && holder.my_atom) @@ -470,7 +470,7 @@ required = /obj/item/slime_extract/yellow /decl/chemical_reaction/instant/slime/yellow_flashlight/on_reaction(var/datum/reagents/holder) - new /obj/item/device/flashlight/slime(get_turf(holder.my_atom)) + new /obj/item/flashlight/slime(get_turf(holder.my_atom)) ..() @@ -483,7 +483,7 @@ /decl/chemical_reaction/instant/slime/yellow_emp/on_reaction(var/datum/reagents/holder) log_and_message_admins("Yellow extract reaction (emp) has been activated in [get_area(holder.my_atom)]. Last fingerprints: [holder.my_atom.fingerprintslast]") - holder.my_atom.visible_message("\The [src] begins to vibrate violently!") + holder.my_atom.visible_message(span_danger("\The [src] begins to vibrate violently!")) playsound(holder.my_atom, 'sound/effects/phasein.ogg', 75, 1) spawn(5 SECONDS) if(holder && holder.my_atom) @@ -500,7 +500,7 @@ required = /obj/item/slime_extract/yellow /decl/chemical_reaction/instant/slime/yellow_battery/on_reaction(var/datum/reagents/holder) - new /obj/item/weapon/cell/slime(get_turf(holder.my_atom)) + new /obj/item/cell/slime(get_turf(holder.my_atom)) ..() // *************** @@ -738,10 +738,10 @@ if(istype(L, /mob/living/simple_mob/slime)) var/mob/living/simple_mob/slime/S = L if(S.cold_resist >= 1) // Immune to cold. - to_chat(S, "A chill is felt around you, however it cannot harm you.") + to_chat(S, span_warning("A chill is felt around you, however it cannot harm you.")) continue if(S.client) // Don't instantly kill player slimes. - to_chat(S, "You feel your body crystalize as an intense chill overwhelms you!") + to_chat(S, span_danger("You feel your body crystalize as an intense chill overwhelms you!")) S.inflict_cold_damage(100) else S.inflict_cold_damage(200) // Metal slimes can survive this 'slime nuke'. @@ -756,9 +756,9 @@ H.bodytemperature = between(50, (H.bodytemperature - ((H.bodytemperature - 50) * cold_factor) ), H.bodytemperature) if(protection < 0.7) - to_chat(L, "A chilling wave of cold overwhelms you!") + to_chat(L, span_danger("A chilling wave of cold overwhelms you!")) else - to_chat(L, "A chilling wave of cold passes by you, as your armor protects you from it.") + to_chat(L, span_warning("A chilling wave of cold passes by you, as your armor protects you from it.")) continue // Now make it very cold. @@ -789,8 +789,8 @@ desc = "You feel immune to heat and cold." mob_overlay_state = "corona" - on_created_text = "A shield of goo surround you. It makes you feel protected against temperature." - on_expired_text = "The shield of goo has faded, and you feel vulnerable to temperature again." + on_created_text = span_warning("A shield of goo surround you. It makes you feel protected against temperature.") + on_expired_text = span_notice("The shield of goo has faded, and you feel vulnerable to temperature again.") stacks = MODIFIER_STACK_EXTEND incoming_fire_damage_percent = 0.5 @@ -865,12 +865,12 @@ S.add_modifier(/datum/modifier/berserk, 30 SECONDS) if(S.client) // Player slimes always have free will. - to_chat(S, "An intense wave of rage is felt from inside, but you remain in control of yourself.") + to_chat(S, span_warning("An intense wave of rage is felt from inside, but you remain in control of yourself.")) for(var/mob/living/carbon/human/H in view(get_turf(holder.my_atom))) if(H.species.name == SPECIES_PROMETHEAN) H.add_modifier(/datum/modifier/berserk, 30 SECONDS) - to_chat(H, "An intense wave of rage is felt from inside, but you remain in control of yourself.") + to_chat(H, span_warning("An intense wave of rage is felt from inside, but you remain in control of yourself.")) log_and_message_admins("Red extract reaction (enrage) has been activated in [get_area(holder.my_atom)]. Last fingerprints: [holder.my_atom.fingerprintslast]") @@ -920,7 +920,7 @@ /decl/chemical_reaction/instant/slime/green_radpulse/on_reaction(var/datum/reagents/holder) log_and_message_admins("Green extract reaction (radiation pulse) has been activated in [get_area(holder.my_atom)]. Last fingerprints: [holder.my_atom.fingerprintslast]") playsound(holder.my_atom, 'sound/effects/phasein.ogg', 75, 1) - holder.my_atom.visible_message("\The [holder.my_atom] begins to vibrate violently!") + holder.my_atom.visible_message(span_danger("\The [holder.my_atom] begins to vibrate violently!")) spawn(5 SECONDS) SSradiation.flat_radiate(src, 30, 7, TRUE) ..() @@ -1007,7 +1007,7 @@ /decl/chemical_reaction/instant/slime/pink_heal_pulse/on_reaction(var/datum/reagents/holder) for(var/mob/living/carbon/C in viewers(get_turf(holder.my_atom), null)) - to_chat(C, "A wave of energy suddenly invigorates you.") + to_chat(C, span_notice("A wave of energy suddenly invigorates you.")) C.adjustBruteLoss(-25) C.adjustFireLoss(-25) C.adjustToxLoss(-25) @@ -1076,7 +1076,7 @@ E.uses = 0 playsound(holder.my_atom, 'sound/effects/phasein.ogg', 75, 1) - holder.my_atom.visible_message("\The [holder.my_atom] begins to vibrate violently!") + holder.my_atom.visible_message(span_danger("\The [holder.my_atom] begins to vibrate violently!")) log_and_message_admins("Oil extract reaction (explosion) has been activated in [get_area(holder.my_atom)]. Last fingerprints: [holder.my_atom.fingerprintslast]") spawn(5 SECONDS) @@ -1119,7 +1119,7 @@ required = /obj/item/slime_extract/bluespace /decl/chemical_reaction/instant/slime/bluespace_pouch/on_reaction(var/datum/reagents/holder) - new /obj/item/weapon/storage/backpack/holding/slime(get_turf(holder.my_atom)) + new /obj/item/storage/backpack/holding/slime(get_turf(holder.my_atom)) ..() @@ -1156,7 +1156,7 @@ required = /obj/item/slime_extract/bluespace /decl/chemical_reaction/instant/slime/bluespace_teleporter/on_reaction(var/datum/reagents/holder) - new /obj/item/weapon/disposable_teleporter/slime(get_turf(holder.my_atom)) + new /obj/item/disposable_teleporter/slime(get_turf(holder.my_atom)) ..() // ******************* @@ -1252,7 +1252,7 @@ required = /obj/item/slime_extract/amber /decl/chemical_reaction/instant/slime/amber_random_food/on_reaction(var/datum/reagents/holder) - var/list/edibles = subtypesof(/obj/item/weapon/reagent_containers/food/snacks) + var/list/edibles = subtypesof(/obj/item/reagent_containers/food/snacks) playsound(holder.my_atom, 'sound/effects/phasein.ogg', 100, 1) @@ -1276,7 +1276,7 @@ /decl/chemical_reaction/instant/slime/amber_snack/on_reaction(var/datum/reagents/holder) for(var/i = 1 to rand(3, 5)) - new /obj/item/weapon/reagent_containers/food/snacks/slime(get_turf(holder.my_atom)) + new /obj/item/reagent_containers/food/snacks/slime(get_turf(holder.my_atom)) ..() @@ -1379,8 +1379,8 @@ desc = "You feel much stronger than usual." mob_overlay_state = "pink_sparkles" - on_created_text = "Twinkling spores of goo surround you. It makes you feel stronger and more robust." - on_expired_text = "The spores of goo have faded, and you feel your strength returning to what it was before." + on_created_text = span_warning("Twinkling spores of goo surround you. It makes you feel stronger and more robust.") + on_expired_text = span_notice("The spores of goo have faded, and you feel your strength returning to what it was before.") stacks = MODIFIER_STACK_EXTEND max_health_flat = 50 @@ -1468,8 +1468,8 @@ desc = "You feel much more agile than usual." mob_overlay_state = "green_sparkles" - on_created_text = "Twinkling spores of goo surround you. It makes you feel more agile." - on_expired_text = "The spores of goo have faded, and you feel your agility returning to what it was before." + on_created_text = span_warning("Twinkling spores of goo surround you. It makes you feel more agile.") + on_expired_text = span_notice("The spores of goo have faded, and you feel your agility returning to what it was before.") stacks = MODIFIER_STACK_EXTEND evasion = 45 @@ -1494,8 +1494,8 @@ desc = "You feel much faster than usual." mob_overlay_state = "haste" - on_created_text = "Twinkling spores of goo surround you. It makes you feel very fast." - on_expired_text = "The spores of goo have faded, and you feel your speed returning to what it was before." + on_created_text = span_warning("Twinkling spores of goo surround you. It makes you feel very fast.") + on_expired_text = span_notice("The spores of goo have faded, and you feel your speed returning to what it was before.") stacks = MODIFIER_STACK_EXTEND slowdown = -3 diff --git a/code/modules/xenobio/items/slime_objects.dm b/code/modules/xenobio/items/slime_objects.dm index 90012d75482..b1530755b46 100644 --- a/code/modules/xenobio/items/slime_objects.dm +++ b/code/modules/xenobio/items/slime_objects.dm @@ -9,7 +9,7 @@ /obj/item/slime_cube/attack_self(mob/user as mob) if(!searching) - to_chat(user, "You stare at the slimy cube, watching as some activity occurs.") + to_chat(user, span_warning("You stare at the slimy cube, watching as some activity occurs.")) icon_state = "slime cube active" searching = 1 request_player() @@ -45,18 +45,18 @@ searching = 0 var/turf/T = get_turf_or_move(src.loc) for (var/mob/M in viewers(T)) - M.show_message("The activity in the cube dies down. Maybe it will spark another time.") + M.show_message(span_warning("The activity in the cube dies down. Maybe it will spark another time.")) /obj/item/slime_cube/proc/transfer_personality(var/mob/candidate) announce_ghost_joinleave(candidate, 0, "They are a promethean now.") src.searching = 2 var/mob/living/carbon/human/S = new(get_turf(src)) S.client = candidate.client - to_chat(S, "You are a promethean, brought into existence on [station_name()].") - S.mind.assigned_role = "Promethean" + to_chat(S, span_infoplain(span_bold("You are a promethean, brought into existence on [station_name()]."))) + S.mind.assigned_role = JOB_PROMETHEAN S.set_species("Promethean") S.shapeshifter_set_colour("#2398FF") - visible_message("The monkey cube suddenly takes the shape of a humanoid!") + visible_message(span_warning("The monkey cube suddenly takes the shape of a humanoid!")) var/newname = sanitize(tgui_input_text(S, "You are a Promethean. Would you like to change your name to something else?", "Name change", null, MAX_NAME_LEN), MAX_NAME_LEN) if(newname) S.real_name = newname @@ -80,12 +80,12 @@ force = 1 //Needs a token force to ensure you can attack because for some reason you can't attack with 0 force things /obj/item/slime_crystal/apply_hit_effect(mob/living/target, mob/living/user, var/hit_zone) - target.visible_message("\The [target] has been teleported with \the [src] by \the [user]!") + target.visible_message(span_warning("\The [target] has been teleported with \the [src] by \the [user]!")) safe_blink(target, 14) qdel(src) /obj/item/slime_crystal/attack_self(mob/user) - user.visible_message("\The [user] teleports themselves with \the [src]!") + user.visible_message(span_warning("\The [user] teleports themselves with \the [src]!")) safe_blink(user, 14) qdel(src) @@ -96,12 +96,12 @@ if(AM.anchored) return - AM.visible_message("\The [AM] has been teleported with \the [src]!") + AM.visible_message(span_warning("\The [AM] has been teleported with \the [src]!")) safe_blink(AM, 14) qdel(src) -/obj/item/weapon/disposable_teleporter/slime +/obj/item/disposable_teleporter/slime name = "greater slime crystal" desc = "A larger, gooier crystal." description_info = "This will teleport you to a specific area once, when used in-hand." @@ -113,23 +113,23 @@ // Very filling food. -/obj/item/weapon/reagent_containers/food/snacks/slime +/obj/item/reagent_containers/food/snacks/slime name = "slimy clump" - desc = "A glob of slime that is thick as honey. For the brave Xenobiologist." + desc = "A glob of slime that is thick as honey. For the brave " + JOB_XENOBIOLOGIST + "." icon_state = "honeycomb" filling_color = "#FFBB00" center_of_mass = list("x"=17, "y"=10) nutriment_amt = 25 // Very filling. nutriment_desc = list("slime" = 10, "sweetness" = 10, "bliss" = 5) -/obj/item/weapon/reagent_containers/food/snacks/slime/Initialize() +/obj/item/reagent_containers/food/snacks/slime/Initialize() . = ..() bitesize = 5 //Flashlight -/obj/item/device/flashlight/slime +/obj/item/flashlight/slime gender = PLURAL name = "glowing slime extract" desc = "A slimy ball that appears to be glowing from bioluminesence." @@ -142,14 +142,14 @@ on = 1 //Bio-luminesence has one setting, on. power_use = 0 -/obj/item/device/flashlight/slime/New() +/obj/item/flashlight/slime/New() ..() set_light(light_range, light_power, light_color) -/obj/item/device/flashlight/slime/update_brightness() +/obj/item/flashlight/slime/update_brightness() return -/obj/item/device/flashlight/slime/attack_self(mob/user) +/obj/item/flashlight/slime/attack_self(mob/user) return //Bio-luminescence does not toggle. @@ -179,7 +179,7 @@ //BS Pouch -/obj/item/weapon/storage/backpack/holding/slime +/obj/item/storage/backpack/holding/slime name = "bluespace slime pouch" desc = "A slimy pouch that opens into a localized pocket of bluespace." icon_state = "slimepouch" @@ -215,4 +215,4 @@ description = "A slimy liquid, with very compelling smell. Extremely nutritious." color = "#FABA3A" nutriment_factor = 30 - taste_description = "slimy nectar" \ No newline at end of file + taste_description = "slimy nectar" diff --git a/code/modules/xenobio/items/slimepotions.dm b/code/modules/xenobio/items/slimepotions.dm index 8148ef2e439..600ca3264d1 100644 --- a/code/modules/xenobio/items/slimepotions.dm +++ b/code/modules/xenobio/items/slimepotions.dm @@ -23,16 +23,16 @@ /obj/item/slimepotion/stabilizer/attack(mob/living/simple_mob/slime/xenobio/M, mob/user) if(!istype(M)) - to_chat(user, "The stabilizer only works on slimes!") + to_chat(user, span_warning("The stabilizer only works on slimes!")) return ..() if(M.stat == DEAD) - to_chat(user, "The slime is dead!") + to_chat(user, span_warning("The slime is dead!")) return ..() if(M.mutation_chance == 0) - to_chat(user, "The slime already has no chance of mutating!") + to_chat(user, span_warning("The slime already has no chance of mutating!")) return ..() - to_chat(user, "You feed the slime the stabilizer. It is now less likely to mutate.") + to_chat(user, span_notice("You feed the slime the stabilizer. It is now less likely to mutate.")) M.mutation_chance = between(0, M.mutation_chance - 15, 100) playsound(src, 'sound/effects/bubbles.ogg', 50, 1) qdel(src) @@ -47,16 +47,16 @@ /obj/item/slimepotion/mutator/attack(mob/living/simple_mob/slime/xenobio/M, mob/user) if(!istype(M)) - to_chat(user, "The mutator only works on slimes!") + to_chat(user, span_warning("The mutator only works on slimes!")) return ..() if(M.stat == DEAD) - to_chat(user, "The slime is dead!") + to_chat(user, span_warning("The slime is dead!")) return ..() if(M.mutation_chance == 100) - to_chat(user, "The slime is already guaranteed to mutate!") + to_chat(user, span_warning("The slime is already guaranteed to mutate!")) return ..() - to_chat(user, "You feed the slime the mutator. It is now more likely to mutate.") + to_chat(user, span_notice("You feed the slime the mutator. It is now more likely to mutate.")) M.mutation_chance = between(0, M.mutation_chance + 12, 100) playsound(src, 'sound/effects/bubbles.ogg', 50, 1) qdel(src) @@ -72,16 +72,16 @@ /obj/item/slimepotion/docility/attack(mob/living/simple_mob/M, mob/user) if(!istype(M)) - to_chat(user, "The agent only works on creatures!") + to_chat(user, span_warning("The agent only works on creatures!")) return ..() if(M.stat == DEAD) - to_chat(user, "\The [M] is dead!") + to_chat(user, span_warning("\The [M] is dead!")) return ..() if(!M.has_AI()) - to_chat(user, span("warning", "\The [M] is too strongly willed for this to affect them.")) // Most likely player controlled. + to_chat(user, span_warning("\The [M] is too strongly willed for this to affect them.")) // Most likely player controlled. return if(currently_using) - to_chat(user, span("warning", "This agent has already been used!")) // Possibly trying to cheese the dialogue box and use same potion on multiple targets. + to_chat(user, span_warning("This agent has already been used!")) // Possibly trying to cheese the dialogue box and use same potion on multiple targets. return currently_using = TRUE @@ -91,27 +91,27 @@ if(istype(M, /mob/living/simple_mob/slime/xenobio)) var/mob/living/simple_mob/slime/xenobio/S = M if(S.harmless) - to_chat(user, "The slime is already docile!") + to_chat(user, span_warning("The slime is already docile!")) return ..() S.pacify() S.nutrition = 700 - to_chat(M, "You absorb the agent and feel your intense desire to feed melt away.") - to_chat(user, "You feed the slime the agent, removing its hunger and calming it.") + to_chat(M, span_warning("You absorb the agent and feel your intense desire to feed melt away.")) + to_chat(user, span_notice("You feed the slime the agent, removing its hunger and calming it.")) // Simple Mobs. else if(istype(M, /mob/living/simple_mob)) var/mob/living/simple_mob/SM = M if(!(SM.mob_class & MOB_CLASS_SLIME|MOB_CLASS_ANIMAL)) // So you can't use this on Russians/syndies/hivebots/etc. - to_chat(user, "\The [SM] only works on slimes and animals.") + to_chat(user, span_warning("\The [SM] only works on slimes and animals.")) return ..() if(!AI.hostile) - to_chat(user, "\The [SM] is already passive!") + to_chat(user, span_warning("\The [SM] is already passive!")) return ..() AI.hostile = FALSE - to_chat(M, "You consume the agent and feel a serene sense of peace.") - to_chat(user, "You feed \the [SM] the agent, calming it.") + to_chat(M, span_warning("You consume the agent and feel a serene sense of peace.")) + to_chat(user, span_notice("You feed \the [SM] the agent, calming it.")) playsound(src, 'sound/effects/bubbles.ogg', 50, 1) AI.remove_target() // So hostile things stop attacking people even if not hostile anymore. @@ -133,19 +133,19 @@ /obj/item/slimepotion/steroid/attack(mob/living/simple_mob/slime/xenobio/M, mob/user) if(!istype(M)) - to_chat(user, "The steroid only works on slimes!") + to_chat(user, span_warning("The steroid only works on slimes!")) return ..() if(M.stat == DEAD) - to_chat(user, "The slime is dead!") + to_chat(user, span_warning("The slime is dead!")) return ..() if(M.is_adult) //Can't steroidify adults - to_chat(user, "Only baby slimes can use the steroid!") + to_chat(user, span_warning("Only baby slimes can use the steroid!")) return ..() if(M.cores >= 5) - to_chat(user, "The slime already has the maximum amount of extract!") + to_chat(user, span_warning("The slime already has the maximum amount of extract!")) return ..() - to_chat(user, "You feed the slime the steroid. It will now produce one more extract.") + to_chat(user, span_notice("You feed the slime the steroid. It will now produce one more extract.")) M.cores++ playsound(src, 'sound/effects/bubbles.ogg', 50, 1) qdel(src) @@ -161,18 +161,18 @@ /obj/item/slimepotion/unity/attack(mob/living/simple_mob/slime/M, mob/user) if(!istype(M)) - to_chat(user, "The agent only works on slimes!") + to_chat(user, span_warning("The agent only works on slimes!")) return ..() if(M.stat == DEAD) - to_chat(user, "The slime is dead!") + to_chat(user, span_warning("The slime is dead!")) return ..() if(M.unity == TRUE) - to_chat(user, "The slime is already unified!") + to_chat(user, span_warning("The slime is already unified!")) return ..() - to_chat(user, "You feed the slime the agent. It will now be friendly to all other slimes.") - to_chat(M, "\The [user] feeds you \the [src], and you suspect that all the other slimes will be \ - your friends, at least if you don't attack them first.") + to_chat(user, span_notice("You feed the slime the agent. It will now be friendly to all other slimes.")) + to_chat(M, span_notice("\The [user] feeds you \the [src], and you suspect that all the other slimes will be \ + your friends, at least if you don't attack them first.")) M.unify() playsound(src, 'sound/effects/bubbles.ogg', 50, 1) qdel(src) @@ -187,25 +187,25 @@ /obj/item/slimepotion/loyalty/attack(mob/living/simple_mob/M, mob/user) if(!istype(M)) - to_chat(user, "The agent only works on creatures!") + to_chat(user, span_warning("The agent only works on creatures!")) return ..() if(!(M.mob_class & MOB_CLASS_SLIME|MOB_CLASS_ANIMAL)) // So you can't use this on Russians/syndies/hivebots/etc. - to_chat(user, "\The [M] only works on slimes and animals.") + to_chat(user, span_warning("\The [M] only works on slimes and animals.")) return ..() if(M.stat == DEAD) - to_chat(user, "The animal is dead!") + to_chat(user, span_warning("The animal is dead!")) return ..() if(M.faction == user.faction) - to_chat(user, "\The [M] is already loyal to your species!") + to_chat(user, span_warning("\The [M] is already loyal to your species!")) return ..() if(!M.has_AI()) - to_chat(user, span("warning", "\The [M] is too strong-willed for this to affect them.")) + to_chat(user, span_warning("\The [M] is too strong-willed for this to affect them.")) return ..() var/datum/ai_holder/AI = M.ai_holder - to_chat(user, "You feed \the [M] the agent. It will now try to murder things that want to murder you instead.") - to_chat(M, "\The [user] feeds you \the [src], and feel that the others will regard you as an outsider now.") + to_chat(user, span_notice("You feed \the [M] the agent. It will now try to murder things that want to murder you instead.")) + to_chat(M, span_notice("\The [user] feeds you \the [src], and feel that the others will regard you as an outsider now.")) M.faction = user.faction AI.remove_target() // So hostile things stop attacking people even if not hostile anymore. playsound(src, 'sound/effects/bubbles.ogg', 50, 1) @@ -222,25 +222,25 @@ /obj/item/slimepotion/friendship/attack(mob/living/simple_mob/M, mob/user) if(!istype(M)) - to_chat(user, "The agent only works on creatures!") + to_chat(user, span_warning("The agent only works on creatures!")) return ..() if(!(M.mob_class & MOB_CLASS_SLIME|MOB_CLASS_ANIMAL)) // So you can't use this on Russians/syndies/hivebots/etc. - to_chat(user, "\The [M] only works on slimes and animals.") + to_chat(user, span_warning("\The [M] only works on slimes and animals.")) return ..() if(M.stat == DEAD) - to_chat(user, "\The [M] is dead!") + to_chat(user, span_warning("\The [M] is dead!")) return ..() if(user in M.friends) - to_chat(user, "\The [M] is already loyal to you!") + to_chat(user, span_warning("\The [M] is already loyal to you!")) return ..() if(!M.has_AI()) - to_chat(user, span("warning", "\The [M] is too strong-willed for this to affect them.")) + to_chat(user, span_warning("\The [M] is too strong-willed for this to affect them.")) return ..() var/datum/ai_holder/AI = M.ai_holder - to_chat(user, "You feed \the [M] the agent. It will now be your best friend.") - to_chat(M, "\The [user] feeds you \the [src], and feel that \the [user] wants to be best friends with you.") + to_chat(user, span_notice("You feed \the [M] the agent. It will now be your best friend.")) + to_chat(M, span_notice("\The [user] feeds you \the [src], and feel that \the [user] wants to be best friends with you.")) M.friends.Add(user) AI.remove_target() // So hostile things stop attacking people even if not hostile anymore. playsound(src, 'sound/effects/bubbles.ogg', 50, 1) @@ -256,13 +256,13 @@ /obj/item/slimepotion/feeding/attack(mob/living/simple_mob/slime/xenobio/M, mob/user) if(!istype(M)) - to_chat(user, "The feeding agent only works on slimes!") + to_chat(user, span_warning("The feeding agent only works on slimes!")) return ..() if(M.stat == DEAD) - to_chat(user, "The slime is dead!") + to_chat(user, span_warning("The slime is dead!")) return ..() - to_chat(user, "You feed the slime the feeding agent. It will now instantly reproduce.") + to_chat(user, span_notice("You feed the slime the feeding agent. It will now instantly reproduce.")) M.amount_grown = 10 M.make_adult() M.amount_grown = 10 diff --git a/code/modules/xenobio/items/slimepotions_vr.dm b/code/modules/xenobio/items/slimepotions_vr.dm index 0bd4db66f7e..da55f7e9caf 100644 --- a/code/modules/xenobio/items/slimepotions_vr.dm +++ b/code/modules/xenobio/items/slimepotions_vr.dm @@ -1,6 +1,6 @@ /obj/item/slimepotion/attackby(obj/item/O, mob/user) if(istype(O, /obj/item/slimepotion/mimic)) - to_chat(user, "You apply the mimic to the slime potion as it copies it's effects.") + to_chat(user, span_notice("You apply the mimic to the slime potion as it copies it's effects.")) playsound(src, 'sound/effects/bubbles.ogg', 50, 1) var/newtype = src.type new newtype(get_turf(src)) @@ -16,16 +16,16 @@ /obj/item/slimepotion/infertility/attack(mob/living/simple_mob/slime/xenobio/M, mob/user) if(!istype(M)) - to_chat(user, "The agent only works on slimes!") + to_chat(user, span_warning("The agent only works on slimes!")) return ..() if(M.stat == DEAD) - to_chat(user, "The slime is dead!") + to_chat(user, span_warning("The slime is dead!")) return ..() if(M.split_amount <= 2) - to_chat(user, "The slime cannot get any less fertile!") + to_chat(user, span_warning("The slime cannot get any less fertile!")) return ..() - to_chat(user, "You feed the slime the infertility agent. It will now have less offspring.") + to_chat(user, span_notice("You feed the slime the infertility agent. It will now have less offspring.")) M.split_amount = between(2, M.split_amount - 2, 6) playsound(src, 'sound/effects/bubbles.ogg', 50, 1) qdel(src) @@ -38,16 +38,16 @@ /obj/item/slimepotion/fertility/attack(mob/living/simple_mob/slime/xenobio/M, mob/user) if(!istype(M)) - to_chat(user, "The agent only works on slimes!") + to_chat(user, span_warning("The agent only works on slimes!")) return ..() if(M.stat == DEAD) - to_chat(user, "The slime is dead!") + to_chat(user, span_warning("The slime is dead!")) return ..() if(M.split_amount >= 6) - to_chat(user, "The slime cannot get any more fertile!") + to_chat(user, span_warning("The slime cannot get any more fertile!")) return ..() - to_chat(user, "You feed the slime the fertility agent. It will now have more offspring.") + to_chat(user, span_notice("You feed the slime the fertility agent. It will now have more offspring.")) M.split_amount = between(2, M.split_amount + 2, 6) playsound(src, 'sound/effects/bubbles.ogg', 50, 1) qdel(src) @@ -60,16 +60,16 @@ /obj/item/slimepotion/shrink/attack(mob/living/simple_mob/slime/xenobio/M, mob/user) if(!istype(M)) - to_chat(user, "The agent only works on slimes!") + to_chat(user, span_warning("The agent only works on slimes!")) return ..() if(M.stat == DEAD) - to_chat(user, "The slime is dead!") + to_chat(user, span_warning("The slime is dead!")) return ..() if(!(M.is_adult)) - to_chat(user, "The slime is already a baby!") + to_chat(user, span_warning("The slime is already a baby!")) return ..() - to_chat(user, "You feed the slime the shrinking agent. It is now back to being a baby.") + to_chat(user, span_notice("You feed the slime the shrinking agent. It is now back to being a baby.")) M.make_baby() playsound(src, 'sound/effects/bubbles.ogg', 50, 1) qdel(src) @@ -82,13 +82,13 @@ /obj/item/slimepotion/death/attack(mob/living/simple_mob/slime/xenobio/M, mob/user) if(!istype(M)) - to_chat(user, "The agent only works on slimes!") + to_chat(user, span_warning("The agent only works on slimes!")) return ..() if(M.stat == DEAD) - to_chat(user, "The slime is already dead!") + to_chat(user, span_warning("The slime is already dead!")) return ..() - to_chat(user, "You feed the slime the death agent. Its face flashes pain of betrayal before it goes still.") + to_chat(user, span_notice("You feed the slime the death agent. Its face flashes pain of betrayal before it goes still.")) M.adjustToxLoss(500) playsound(src, 'sound/effects/bubbles.ogg', 50, 1) qdel(src) @@ -101,16 +101,16 @@ /obj/item/slimepotion/ferality/attack(mob/living/simple_mob/slime/xenobio/M, mob/user) if(!istype(M)) - to_chat(user, "The agent only works on slimes!") + to_chat(user, span_warning("The agent only works on slimes!")) return ..() if(M.stat == DEAD) - to_chat(user, "The slime is already dead!") + to_chat(user, span_warning("The slime is already dead!")) return ..() if(M.untamable && M.untamable_inheirit) - to_chat(user, "The slime is already untamable!") + to_chat(user, span_warning("The slime is already untamable!")) return ..() - to_chat(user, "You feed the slime the death agent. It will now only get angrier at taming attempts.") + to_chat(user, span_notice("You feed the slime the death agent. It will now only get angrier at taming attempts.")) M.untamable = TRUE M.untamable_inheirit = TRUE playsound(src, 'sound/effects/bubbles.ogg', 50, 1) @@ -130,7 +130,7 @@ /obj/item/slimepotion/mimic/attackby(obj/item/O, mob/user) if(istype(O, /obj/item/slimepotion/mimic)) - to_chat(user, "You apply the mimic to the mimic, resulting a mimic that copies a mimic that copies a mimic that copies a mimic that-") + to_chat(user, span_warning("You apply the mimic to the mimic, resulting a mimic that copies a mimic that copies a mimic that copies a mimic that-")) var/location = get_turf(src) playsound(location, 'sound/weapons/gauss_shoot.ogg', 50, 1) var/datum/effect/effect/system/grav_pull/s = new /datum/effect/effect/system/grav_pull @@ -149,23 +149,23 @@ /obj/item/slimepotion/sapience/attack(mob/living/simple_mob/M, mob/user) if(!istype(M)) - to_chat(user, "The agent only works on creatures!") + to_chat(user, span_warning("The agent only works on creatures!")) return ..() if(M.stat == DEAD) - to_chat(user, "The creature is dead!") + to_chat(user, span_warning("The creature is dead!")) return ..() if(M.ghostjoin) - to_chat(user, "The creature is already developing sapience.") + to_chat(user, span_warning("The creature is already developing sapience.")) return ..() if(M.ckey) - to_chat(user, "The creature is already sapient!") + to_chat(user, span_warning("The creature is already sapient!")) return ..() - to_chat(user, "You feed \the [M] the agent. It may now eventually develop proper sapience.") + to_chat(user, span_notice("You feed \the [M] the agent. It may now eventually develop proper sapience.")) M.ghostjoin = 1 active_ghost_pods |= M if(!M.vore_active) - M.verbs += /mob/living/simple_mob/proc/animal_nom + add_verb(M, /mob/living/simple_mob/proc/animal_nom) M.ghostjoin_icon() log_and_message_admins("[key_name_admin(user)] used a sapience potion on a simple mob: [M]. [ADMIN_FLW(src)]") playsound(src, 'sound/effects/bubbles.ogg', 50, 1) @@ -179,13 +179,13 @@ /obj/item/slimepotion/obedience/attack(mob/living/simple_mob/slime/xenobio/M, mob/user) if(!istype(M)) - to_chat(user, "The agent only works on slimes!") + to_chat(user, span_warning("The agent only works on slimes!")) return ..() if(M.stat == DEAD) - to_chat(user, "The slime is dead!") + to_chat(user, span_warning("The slime is dead!")) return ..() - to_chat(user, "You feed the slime the agent. It has been disciplined, for better or worse...") + to_chat(user, span_notice("You feed the slime the agent. It has been disciplined, for better or worse...")) var/justified = M.is_justified_to_discipline() M.adjust_discipline(10) var/datum/ai_holder/simple_mob/xenobio_slime/AI = M.ai_holder diff --git a/code/modules/xenobio/items/weapons.dm b/code/modules/xenobio/items/weapons.dm index 1a25eab2efc..cbfab6d0c41 100644 --- a/code/modules/xenobio/items/weapons.dm +++ b/code/modules/xenobio/items/weapons.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/melee/baton/slime +/obj/item/melee/baton/slime name = "slimebaton" desc = "A modified stun baton designed to stun slimes and other lesser slimy xeno lifeforms for handling." icon_state = "slimebaton" @@ -11,7 +11,7 @@ hitcost = 48 //Less zap for less cost description_info = "This baton will stun a slime or other slime-based lifeform for about five seconds, if hit with it while on." -/obj/item/weapon/melee/baton/slime/attack(mob/living/L, mob/user, hit_zone) +/obj/item/melee/baton/slime/attack(mob/living/L, mob/user, hit_zone) if(istype(L) && status) // Is it on? if(L.mob_class & MOB_CLASS_SLIME) // Are they some kind of slime? (Prommies might pass this check someday). if(isslime(L)) @@ -28,18 +28,18 @@ H.apply_damage(agony_to_apply, HALLOSS) ..() -/obj/item/weapon/melee/baton/slime/loaded/Initialize() - bcell = new/obj/item/weapon/cell/device(src) +/obj/item/melee/baton/slime/loaded/Initialize() + bcell = new/obj/item/cell/device(src) update_icon() return ..() // Research borg's version -/obj/item/weapon/melee/baton/slime/robot +/obj/item/melee/baton/slime/robot hitcost = 200 use_external_power = TRUE // Xeno stun gun + projectile -/obj/item/weapon/gun/energy/taser/xeno +/obj/item/gun/energy/taser/xeno name = "xeno taser gun" desc = "Straight out of NT's testing laboratories, this small gun is used to subdue non-humanoid xeno life forms. \ While marketed towards handling slimes, it may be useful for other creatures." @@ -53,13 +53,13 @@ it's core components swaped out for a new design made to subdue lesser slime-based xeno lifeforms at a distance. It is \ ineffective at stunning non-slimy lifeforms such as humanoids." -/obj/item/weapon/gun/energy/taser/xeno/robot // Borg version +/obj/item/gun/energy/taser/xeno/robot // Borg version self_recharge = 1 use_external_power = 1 recharge_time = 3 /* VORESTATION REMOVAL -/obj/item/weapon/gun/energy/taser/xeno/sec //NT's corner-cutting option for their on-station security. +/obj/item/gun/energy/taser/xeno/sec //NT's corner-cutting option for their on-station security. desc = "An NT Mk30 NL retrofitted to fire beams for subduing non-humanoid slimy xeno life forms." icon_state = "taserblue" item_state = "taser" @@ -68,7 +68,7 @@ VORESTATION REMOVAL accuracy = 0 //Same accuracy as a normal Sec taser. description_fluff = "An NT Mk30 NL retrofitted after the events that occurred aboard the NRS Prometheus." -/obj/item/weapon/gun/energy/taser/xeno/sec/robot //Cyborg variant of the security xeno-taser. +/obj/item/gun/energy/taser/xeno/sec/robot //Cyborg variant of the security xeno-taser. self_recharge = 1 use_external_power = 1 recharge_time = 3 diff --git a/code/modules/xenobio/items/weapons_vr.dm b/code/modules/xenobio/items/weapons_vr.dm index 24a91715a4c..210e3139d8b 100644 --- a/code/modules/xenobio/items/weapons_vr.dm +++ b/code/modules/xenobio/items/weapons_vr.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/xenobio +/obj/item/xenobio name = "xenobio gun" desc = "You shouldn't see this!" icon = 'icons/obj/gun_vr.dmi' @@ -7,45 +7,45 @@ var/loaded_item = null var/loadable_name = null var/firable = TRUE -/obj/item/weapon/xenobio/examine(var/mob/user) +/obj/item/xenobio/examine(var/mob/user) . = ..() if(loaded_item) .+= "A [loaded_item] is slotted into the side." else .+= "There appears to be an empty slot for attaching a [loadable_name]." -/obj/item/weapon/xenobio/attack_hand(mob/user as mob) +/obj/item/xenobio/attack_hand(mob/user as mob) if(user.get_inactive_hand() == src && loaded_item) user.put_in_hands(loaded_item) - user.visible_message("[user] removes [loaded_item] from [src].", "You remove [loaded_item] from [src].") + user.visible_message(span_notice("[user] removes [loaded_item] from [src]."), span_notice("You remove [loaded_item] from [src].")) loaded_item = null playsound(src, 'sound/weapons/empty.ogg', 50, 1) else return ..() -/obj/item/weapon/xenobio/attackby(obj/item/I as obj, mob/user as mob) +/obj/item/xenobio/attackby(obj/item/I as obj, mob/user as mob) if(istype(I, loadable_item)) if(loaded_item) - to_chat(user, "[I] doesn't seem to fit into [src].") + to_chat(user, span_warning("[I] doesn't seem to fit into [src].")) return - //var/obj/item/weapon/reagent_containers/glass/beaker/B = I + //var/obj/item/reagent_containers/glass/beaker/B = I user.drop_item() I.loc = src loaded_item = I - user.visible_message("[user] inserts [I] into [src].", "You slot [I] into [src].") + user.visible_message(span_notice("[user] inserts [I] into [src]."), span_notice("You slot [I] into [src].")) return 1 ..() -/obj/item/weapon/xenobio/attack_self(mob/living/user as mob) +/obj/item/xenobio/attack_self(mob/living/user as mob) if(loaded_item) user.put_in_hands(loaded_item) - user.visible_message("[user] removes [loaded_item] from [src].", "You remove [loaded_item] from [src].") + user.visible_message(span_notice("[user] removes [loaded_item] from [src]."), span_notice("You remove [loaded_item] from [src].")) loaded_item = null playsound(src, 'sound/weapons/empty.ogg', 50, 1) -/obj/item/weapon/xenobio/afterattack(atom/A, mob/user as mob) +/obj/item/xenobio/afterattack(atom/A, mob/user as mob) if(!loaded_item) - to_chat(user,"\The [src] shot fizzles, it appears you need to load something!") + to_chat(user,span_warning("\The [src] shot fizzles, it appears you need to load something!")) //playsound(src, 'sound/weapons/wave.ogg', 60, 1) playsound(src, 'sound/weapons/empty.ogg', 50, 1) return @@ -54,7 +54,7 @@ playsound(src, 'sound/weapons/wave.ogg', 60, 1) - user.visible_message("[user] fires \the [src]!","You fire \the [src]!") + user.visible_message(span_warning("[user] fires \the [src]!"),span_warning("You fire \the [src]!")) var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread s.set_up(4, 1, A) @@ -63,15 +63,15 @@ s.set_up(4, 1, user) s.start() -/obj/item/weapon/xenobio/monkey_gun +/obj/item/xenobio/monkey_gun name = "Bluespace Cube Rehydrator" desc = "Based on the technology of the 'Bluespace Harpoon' this device can teleport a loaded cube to a given target and rehydrate it." - loadable_item = /obj/item/weapon/reagent_containers/food/snacks/monkeycube + loadable_item = /obj/item/reagent_containers/food/snacks/monkeycube loadable_name = "Monkey Cube" origin_tech = list(TECH_BLUESPACE = 5, TECH_BIO = 6) //projectile_type = /obj/item/projectile/beam/xenobio/monkey -/obj/item/weapon/xenobio/monkey_gun/afterattack(atom/A, mob/user as mob) +/obj/item/xenobio/monkey_gun/afterattack(atom/A, mob/user as mob) ..() if(!firable) @@ -79,15 +79,15 @@ var/turf/T = get_turf(A) if(!T || (T.check_density(ignore_mobs = TRUE))) - to_chat(user,"Your rehydrator flashes an error as it attempts to process your target.") + to_chat(user,span_warning("Your rehydrator flashes an error as it attempts to process your target.")) playsound(src, 'sound/weapons/empty.ogg', 50, 1) return if(istype(A, /mob/living)) - to_chat(user,"The rehydrator's saftey systems prevent firing into living creatures!") + to_chat(user,span_warning("The rehydrator's saftey systems prevent firing into living creatures!")) playsound(src, 'sound/weapons/empty.ogg', 50, 1) return if(loaded_item) - var/obj/item/weapon/reagent_containers/food/snacks/monkeycube/cube = loaded_item + var/obj/item/reagent_containers/food/snacks/monkeycube/cube = loaded_item cube.loc = A cube.Expand() loaded_item = null @@ -95,7 +95,7 @@ VARSET_IN(src, firable, TRUE, 2 SECONDS) // Instead of bringing the slime to the grinder, lets bring the grinder to the slime! This will process slimes and monkies one at a time. -/obj/item/weapon/slime_grinder +/obj/item/slime_grinder name = "portable slime processor" desc = "An industrial grinder used to automate the process of slime core extraction. It can also recycle biomatter. This one appears miniturized" //icon = 'icons/obj/weapons_vr.dmi' @@ -105,7 +105,7 @@ var/monkeys_recycled = 0 description_info = "Click a monkey or slime to begin processing." -/obj/item/weapon/slime_grinder/proc/extract(var/atom/movable/AM, var/mob/living/user) +/obj/item/slime_grinder/proc/extract(var/atom/movable/AM, var/mob/living/user) processing = TRUE if(istype(AM, /mob/living/simple_mob/slime)) var/mob/living/simple_mob/slime/S = AM @@ -126,13 +126,13 @@ monkeys_recycled++ sleep(1 SECOND) while(monkeys_recycled >= 4) - new /obj/item/weapon/reagent_containers/food/snacks/monkeycube(get_turf(src)) + new /obj/item/reagent_containers/food/snacks/monkeycube(get_turf(src)) playsound(src, 'sound/effects/splat.ogg', 50, 1) monkeys_recycled -= 4 sleep(1 SECOND) processing = FALSE -/obj/item/weapon/slime_grinder/proc/can_insert(var/atom/movable/AM) +/obj/item/slime_grinder/proc/can_insert(var/atom/movable/AM) if(istype(AM, /mob/living/simple_mob/slime)) var/mob/living/simple_mob/slime/S = AM if(S.stat != DEAD) @@ -147,13 +147,13 @@ return TRUE return FALSE -/obj/item/weapon/slime_grinder/attack(mob/M as mob, mob/living/user as mob) +/obj/item/slime_grinder/attack(mob/M as mob, mob/living/user as mob) if(processing) return if(!can_insert(M)) - to_chat(user, "\The [src] cannot process \the [M] at this time.") + to_chat(user, span_warning("\The [src] cannot process \the [M] at this time.")) playsound(src, 'sound/machines/buzz-sigh.ogg', 50, 1) return extract(M, user) - return ..() \ No newline at end of file + return ..() diff --git a/code/modules/xenobio/machinery/processor.dm b/code/modules/xenobio/machinery/processor.dm index 04b929d5c8a..28146bd6b5f 100644 --- a/code/modules/xenobio/machinery/processor.dm +++ b/code/modules/xenobio/machinery/processor.dm @@ -13,20 +13,20 @@ var/monkeys_recycled = 0 description_info = "Clickdrag dead slimes or monkeys to it to insert them. It will make a new monkey cube for every four monkeys it processes." -/obj/item/weapon/circuitboard/processor +/obj/item/circuitboard/processor name = T_BOARD("slime processor") build_path = /obj/machinery/processor origin_tech = list(TECH_DATA = 2, TECH_BIO = 2) /obj/machinery/processor/attack_hand(mob/living/user) if(processing) - to_chat(user, "The processor is in the process of processing!") + to_chat(user, span_warning("The processor is in the process of processing!")) return if(to_be_processed.len) spawn(1) begin_processing() else - to_chat(user, "The processor is empty.") + to_chat(user, span_warning("The processor is empty.")) playsound(src, 'sound/machines/buzz-sigh.ogg', 50, 1) return @@ -53,12 +53,12 @@ if(!Adjacent(AM)) return if(!can_insert(AM)) - to_chat(user, "\The [src] cannot process \the [AM] at this time.") + to_chat(user, span_warning("\The [src] cannot process \the [AM] at this time.")) playsound(src, 'sound/machines/buzz-sigh.ogg', 50, 1) return to_be_processed.Add(AM) AM.forceMove(src) - visible_message("\The [user] places [AM] inside \the [src].") + visible_message(span_infoplain(span_bold("\The [user]") + " places [AM] inside \the [src].")) /obj/machinery/processor/proc/begin_processing() if(processing) @@ -70,7 +70,7 @@ sleep(1 SECONDS) while(monkeys_recycled >= 4) - new /obj/item/weapon/reagent_containers/food/snacks/monkeycube(get_turf(src)) + new /obj/item/reagent_containers/food/snacks/monkeycube(get_turf(src)) playsound(src, 'sound/effects/splat.ogg', 50, 1) monkeys_recycled -= 4 sleep(1 SECOND) @@ -115,4 +115,4 @@ /obj/machinery/processor/MouseDrop_T(var/atom/movable/AM, var/mob/living/user) if(user.stat || user.incapacitated(INCAPACITATION_DISABLED) || !istype(user)) return - insert(AM, user) \ No newline at end of file + insert(AM, user) diff --git a/code/modules/xenobio2/machinery/core_extractor.dm b/code/modules/xenobio2/machinery/core_extractor.dm index 51526cb0cc2..3ec567e038d 100644 --- a/code/modules/xenobio2/machinery/core_extractor.dm +++ b/code/modules/xenobio2/machinery/core_extractor.dm @@ -10,7 +10,7 @@ icon_state = "scanner_0old" density = TRUE anchored = TRUE - circuit = /obj/item/weapon/circuitboard/slimeextractor + circuit = /obj/item/circuitboard/slimeextractor var/inuse var/mob/living/simple_mob/xeno/slime/occupant = null var/occupiedcolor = "#22FF22" @@ -35,15 +35,15 @@ return if(panel_open) - to_chat(user, "Close the panel first!") + to_chat(user, span_warning("Close the panel first!")) - var/obj/item/weapon/grab/G = W + var/obj/item/grab/G = W if(!istype(G)) return ..() if(G.state < 2) - to_chat(user, "You need a better grip to do that!") + to_chat(user, span_danger("You need a better grip to do that!")) return move_into_extractor(user,G.affecting) @@ -56,26 +56,26 @@ /obj/machinery/slime/extractor/proc/move_into_extractor(var/mob/user,var/mob/living/victim) if(src.occupant) - to_chat(user, "The core extractor is full, empty it first!") + to_chat(user, span_danger("The core extractor is full, empty it first!")) return if(inuse) - to_chat(user, "The core extractor is locked and running, wait for it to finish.") + to_chat(user, span_danger("The core extractor is locked and running, wait for it to finish.")) return if(!(istype(victim, /mob/living/simple_mob/xeno/slime))) - to_chat(user, "This is not a suitable subject for the core extractor!") + to_chat(user, span_danger("This is not a suitable subject for the core extractor!")) return var/mob/living/simple_mob/xeno/slime/S = victim if(S.is_child) - to_chat(user, "This subject is not developed enough for the core extractor!") + to_chat(user, span_danger("This subject is not developed enough for the core extractor!")) return - user.visible_message("[user] starts to put [victim] into the core extractor!") + user.visible_message(span_danger("[user] starts to put [victim] into the core extractor!")) src.add_fingerprint(user) if(do_after(user, 30) && victim.Adjacent(src) && user.Adjacent(src) && victim.Adjacent(user) && !occupant) - user.visible_message("[user] stuffs [victim] into the core extractor!") + user.visible_message(span_danger("[user] stuffs [victim] into the core extractor!")) if(victim.client) victim.client.perspective = EYE_PERSPECTIVE victim.client.eye = src @@ -175,13 +175,13 @@ return //Circuit board below, -/obj/item/weapon/circuitboard/slimeextractor +/obj/item/circuitboard/slimeextractor name = T_BOARD("Slime extractor") build_path = "/obj/machinery/slime/extractor" board_type = "machine" origin_tech = list(TECH_DATA = 3, TECH_BIO = 3) req_components = list( - /obj/item/weapon/stock_parts/manipulator = 2, - /obj/item/weapon/stock_parts/matter_bin = 1, - /obj/item/weapon/stock_parts/micro_laser = 2 + /obj/item/stock_parts/manipulator = 2, + /obj/item/stock_parts/matter_bin = 1, + /obj/item/stock_parts/micro_laser = 2 ) diff --git a/code/modules/xenobio2/machinery/gene_manipulators.dm b/code/modules/xenobio2/machinery/gene_manipulators.dm index 2132b7e0bd1..c019d835727 100644 --- a/code/modules/xenobio2/machinery/gene_manipulators.dm +++ b/code/modules/xenobio2/machinery/gene_manipulators.dm @@ -10,7 +10,7 @@ Biological genetic bombarder: Takes traits from a disk and replaces/adds to the genes in a xenobiological creature. */ -/obj/item/weapon/disk/xenobio +/obj/item/disk/xenobio name = "biological data disk" desc = "A small disk used for carrying data on genetics." icon = 'icons/obj/hydroponics_machines.dmi' @@ -20,7 +20,7 @@ var/list/genes = list() var/genesource = "unknown" -/obj/item/weapon/disk/xenobio/attack_self(var/mob/user as mob) +/obj/item/disk/xenobio/attack_self(var/mob/user as mob) if(genes.len) var/choice = tgui_alert(user, "Are you sure you want to wipe the disk?", "Xenobiological Data", list("No", "Yes")) if(src && user && genes && choice && choice == "Yes" && user.Adjacent(get_turf(src))) @@ -30,21 +30,21 @@ genes = list() genesource = "unknown" -/obj/item/weapon/storage/box/xenobiodisk +/obj/item/storage/box/xenobiodisk name = "biological disk box" desc = "A box of biological data disks, apparently." -/obj/item/weapon/storage/box/xenobiodisk/New() +/obj/item/storage/box/xenobiodisk/New() ..() for(var/i = 0 to 7) - new /obj/item/weapon/disk/xenobio(src) + new /obj/item/disk/xenobio(src) /obj/machinery/xenobio density = TRUE anchored = TRUE use_power = USE_POWER_IDLE - var/obj/item/weapon/disk/xenobio/loaded_disk //Currently loaded data disk. + var/obj/item/disk/xenobio/loaded_disk //Currently loaded data disk. var/open = 0 var/active = 0 @@ -60,17 +60,17 @@ /obj/machinery/xenobio/attack_hand(mob/user as mob) ui_interact(user) -/obj/machinery/xenobio/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/machinery/xenobio/attackby(obj/item/W as obj, mob/user as mob) if(default_deconstruction_screwdriver(user, W)) return if(default_deconstruction_crowbar(user, W)) return - if(istype(W,/obj/item/weapon/disk/xenobio)) + if(istype(W,/obj/item/disk/xenobio)) if(loaded_disk) to_chat(user, "There is already a data disk loaded.") return else - var/obj/item/weapon/disk/xenobio/B = W + var/obj/item/disk/xenobio/B = W if(B.genes && B.genes.len) if(!disk_needs_genes) @@ -117,7 +117,7 @@ name = "biological product destructive analyzer" icon = 'icons/obj/hydroponics_machines_vr.dmi' //VOREStation Edit icon_state = "traitcopier" - circuit = /obj/item/weapon/circuitboard/bioproddestanalyzer + circuit = /obj/item/circuitboard/bioproddestanalyzer var/obj/item/xenoproduct/product var/datum/xeno/traits/genetics // Currently scanned xeno genetic structure. @@ -127,7 +127,7 @@ . = ..() default_apply_parts() -/obj/machinery/xenobio/extractor/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/machinery/xenobio/extractor/attackby(obj/item/W as obj, mob/user as mob) if(istype(W,/obj/item/xenoproduct)) if(product) to_chat(user, "There is already a xenobiological product loaded.") @@ -254,7 +254,7 @@ icon = 'icons/obj/cryogenics.dmi' icon_state = "cellold0" disk_needs_genes = 1 - circuit = /obj/item/weapon/circuitboard/biobombarder + circuit = /obj/item/circuitboard/biobombarder var/mob/living/simple_mob/xeno/slime/occupant @@ -262,9 +262,9 @@ . = ..() default_apply_parts() -/obj/machinery/xenobio/editor/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W,/obj/item/weapon/grab)) - var/obj/item/weapon/grab/G = W +/obj/machinery/xenobio/editor/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W,/obj/item/grab)) + var/obj/item/grab/G = W if(occupant) to_chat(user, "There is already an organism loaded.") return @@ -277,7 +277,7 @@ occupant = X to_chat(user, "You load [X] into [src]." else - to_chat(user, "This specimen is incompatible with the machinery!") + to_chat(user, span_danger("This specimen is incompatible with the machinery!")) return ..() @@ -360,21 +360,21 @@ /obj/machinery/xenobio/editor/proc/move_into_editor(var/mob/user,var/mob/living/victim) if(src.occupant) - to_chat(user, "The [src] is full, empty it first!") + to_chat(user, span_danger("The [src] is full, empty it first!")) return if(in_use) - to_chat(user, "The [src] is locked and running, wait for it to finish.") + to_chat(user, span_danger("The [src] is locked and running, wait for it to finish.")) return if(!(istype(victim, /mob/living/simple_mob/xeno/slime)) ) - to_chat(user, "This is not a suitable subject for the [src]!") + to_chat(user, span_danger("This is not a suitable subject for the [src]!")) return - user.visible_message("[user] starts to put [victim] into the [src]!") + user.visible_message(span_danger("[user] starts to put [victim] into the [src]!")) src.add_fingerprint(user) if(do_after(user, 30) && victim.Adjacent(src) && user.Adjacent(src) && victim.Adjacent(user) && !occupant) - user.visible_message("[user] stuffs [victim] into the [src]!") + user.visible_message(span_danger("[user] stuffs [victim] into the [src]!")) if(victim.client) victim.client.perspective = EYE_PERSPECTIVE victim.client.eye = src @@ -390,24 +390,24 @@ occupant.forceMove(loc) occupant = null -/obj/item/weapon/circuitboard/bioproddestanalyzer +/obj/item/circuitboard/bioproddestanalyzer name = T_BOARD("biological product destructive analyzer") build_path = "/obj/machinery/xenobio/extractor" board_type = "machine" origin_tech = list(TECH_DATA = 4, TECH_BIO = 4) req_components = list( - /obj/item/weapon/stock_parts/manipulator = 2, - /obj/item/weapon/stock_parts/matter_bin = 1, - /obj/item/weapon/stock_parts/scanning_module = 3 + /obj/item/stock_parts/manipulator = 2, + /obj/item/stock_parts/matter_bin = 1, + /obj/item/stock_parts/scanning_module = 3 ) -/obj/item/weapon/circuitboard/biobombarder +/obj/item/circuitboard/biobombarder name = T_BOARD("biological genetic bombarder") build_path = "/obj/machinery/xenobio/editor" board_type = "machine" origin_tech = list(TECH_DATA = 4, TECH_BIO = 4) req_components = list( - /obj/item/weapon/stock_parts/manipulator = 2, - /obj/item/weapon/stock_parts/matter_bin = 2, - /obj/item/weapon/stock_parts/scanning_module = 2 + /obj/item/stock_parts/manipulator = 2, + /obj/item/stock_parts/matter_bin = 2, + /obj/item/stock_parts/scanning_module = 2 ) diff --git a/code/modules/xenobio2/machinery/injector.dm b/code/modules/xenobio2/machinery/injector.dm index 6b18e89073a..9fd64a99625 100644 --- a/code/modules/xenobio2/machinery/injector.dm +++ b/code/modules/xenobio2/machinery/injector.dm @@ -14,17 +14,17 @@ icon = 'icons/obj/biogenerator.dmi' icon_state = "biogen-work" var/mob/living/occupant - var/obj/item/weapon/reagent_containers/glass/beaker + var/obj/item/reagent_containers/glass/beaker var/obj/machinery/computer/xenobio2/computer - circuit = /obj/item/weapon/circuitboard/xenobioinjectormachine + circuit = /obj/item/circuitboard/xenobioinjectormachine /obj/machinery/xenobio2/manualinjector/Initialize() . = ..() var/datum/reagents/R = new/datum/reagents(1000) reagents = R R.my_atom = src - beaker = new /obj/item/weapon/reagent_containers/glass/beaker(src) + beaker = new /obj/item/reagent_containers/glass/beaker(src) default_apply_parts() /obj/machinery/xenobio2/manualinjector/update_icon() @@ -43,17 +43,17 @@ /obj/machinery/xenobio2/manualinjector/proc/move_into_injector(var/mob/user,var/mob/living/victim) if(src.occupant) - to_chat(user, "The injector is full, empty it first!") + to_chat(user, span_danger("The injector is full, empty it first!")) return if(!(istype(victim, /mob/living/simple_mob/xeno)) && !emagged) - to_chat(user, "This is not a suitable subject for the injector!") + to_chat(user, span_danger("This is not a suitable subject for the injector!")) return - user.visible_message("[user] starts to put [victim] into the injector!") + user.visible_message(span_danger("[user] starts to put [victim] into the injector!")) src.add_fingerprint(user) if(do_after(user, 30) && victim.Adjacent(src) && user.Adjacent(src) && victim.Adjacent(user) && !occupant) - user.visible_message("[user] stuffs [victim] into the injector!") + user.visible_message(span_danger("[user] stuffs [victim] into the injector!")) if(victim.client) victim.client.perspective = EYE_PERSPECTIVE victim.client.eye = src @@ -72,7 +72,7 @@ /obj/machinery/xenobio2/manualinjector/proc/eject_beaker() if(beaker) - var/obj/item/weapon/reagent_containers/glass/beaker/B = beaker + var/obj/item/reagent_containers/glass/beaker/B = beaker B.loc = loc beaker = null @@ -97,44 +97,44 @@ return //are you smashing a beaker in me? Well then insert that shit! - if(istype(W, /obj/item/weapon/reagent_containers/glass/beaker)) + if(istype(W, /obj/item/reagent_containers/glass/beaker)) beaker = W user.drop_from_inventory(W) W.loc = src return //Did you want to link it? - if(istype(W, /obj/item/device/multitool)) - var/obj/item/device/multitool/P = W + if(istype(W, /obj/item/multitool)) + var/obj/item/multitool/P = W if(P.connectable) if(istype(P.connectable, /obj/machinery/computer/xenobio2)) var/obj/machinery/computer/xenobio2/C = P.connectable computer = C C.injector = src - to_chat(user, " You link the [src] to the [P.connectable]!") + to_chat(user, span_warning(" You link the [src] to the [P.connectable]!")) else - to_chat(user, " You store the [src] in the [P]'s buffer!") + to_chat(user, span_warning(" You store the [src] in the [P]'s buffer!")) P.connectable = src return if(panel_open) - to_chat(user, "Close the panel first!") + to_chat(user, span_warning("Close the panel first!")) - var/obj/item/weapon/grab/G = W + var/obj/item/grab/G = W if(!istype(G)) return ..() if(G.state < 2) - to_chat(user, "You need a better grip to do that!") + to_chat(user, span_danger("You need a better grip to do that!")) return move_into_injector(user,G.affecting) -/obj/item/weapon/circuitboard/xenobioinjectormachine +/obj/item/circuitboard/xenobioinjectormachine name = T_BOARD("biological injector") build_path = /obj/machinery/xenobio2/manualinjector board_type = /datum/frame/frame_types/machine origin_tech = list() //To be filled, - req_components = list() //To be filled, \ No newline at end of file + req_components = list() //To be filled, diff --git a/code/modules/xenobio2/machinery/injector_computer.dm b/code/modules/xenobio2/machinery/injector_computer.dm index e4ac65403a4..aa9a2379911 100644 --- a/code/modules/xenobio2/machinery/injector_computer.dm +++ b/code/modules/xenobio2/machinery/injector_computer.dm @@ -14,7 +14,7 @@ use_power = USE_POWER_IDLE idle_power_usage = 250 active_power_usage = 500 - circuit = /obj/item/weapon/circuitboard/xenobio2computer + circuit = /obj/item/circuitboard/xenobio2computer var/obj/machinery/xenobio2/manualinjector/injector var/transfer_amount = 5 //VOREStation Edit - This is never set anywhere, and 1 is too slow (1 is the default in the transfer proc). var/active @@ -31,16 +31,16 @@ /obj/machinery/computer/xenobio2/attackby(var/obj/item/W, var/mob/user) //Did you want to link it? - if(istype(W, /obj/item/device/multitool)) - var/obj/item/device/multitool/P = W + if(istype(W, /obj/item/multitool)) + var/obj/item/multitool/P = W if(P.connectable) if(istype(P.connectable, /obj/machinery/xenobio2/manualinjector)) var/obj/machinery/xenobio2/manualinjector/I = P.connectable injector = I I.computer = src - to_chat(user, " You link the [src] to the [P.connectable]!") + to_chat(user, span_warning(" You link the [src] to the [P.connectable]!")) else - to_chat(user, " You store the [src] in the [P]'s buffer!") + to_chat(user, span_warning(" You store the [src] in the [P]'s buffer!")) P.connectable = src return @@ -108,7 +108,7 @@ usr.set_machine(src) src.add_fingerprint(usr) -/obj/item/weapon/circuitboard/xenobio2computer +/obj/item/circuitboard/xenobio2computer name = T_BOARD("injector control console") build_path = /obj/machinery/computer/xenobio2 origin_tech = list() //To be filled diff --git a/code/modules/xenobio2/machinery/slime_replicator.dm b/code/modules/xenobio2/machinery/slime_replicator.dm index f402ad3193e..c493a47c970 100644 --- a/code/modules/xenobio2/machinery/slime_replicator.dm +++ b/code/modules/xenobio2/machinery/slime_replicator.dm @@ -10,7 +10,7 @@ icon_state = "restruct_0" density = TRUE anchored = TRUE - circuit = /obj/item/weapon/circuitboard/slimereplicator + circuit = /obj/item/circuitboard/slimereplicator var/obj/item/xenoproduct/slime/core/core = null var/inuse var/occupiedcolor = "#22FF22" @@ -38,10 +38,10 @@ return ..() if(core) - to_chat(user, "[src] is already filled!") + to_chat(user, span_warning("[src] is already filled!")) return if(panel_open) - to_chat(user, "Close the panel first!") + to_chat(user, span_warning("Close the panel first!")) core = G user.drop_from_inventory(G) G.forceMove(src) @@ -130,13 +130,13 @@ return //Circuit board below, -/obj/item/weapon/circuitboard/slimereplicator +/obj/item/circuitboard/slimereplicator name = T_BOARD("Slime replicator") build_path = "/obj/machinery/slime/replicator" board_type = "machine" origin_tech = list(TECH_DATA = 3, TECH_BIO = 3) req_components = list( - /obj/item/weapon/stock_parts/manipulator = 2, - /obj/item/weapon/stock_parts/matter_bin = 1, - /obj/item/weapon/stock_parts/micro_laser = 1 + /obj/item/stock_parts/manipulator = 2, + /obj/item/stock_parts/matter_bin = 1, + /obj/item/stock_parts/micro_laser = 1 ) diff --git a/code/modules/xenobio2/mob/slime/slime.dm b/code/modules/xenobio2/mob/slime/slime.dm index a3fca442d5d..58460b7a412 100644 --- a/code/modules/xenobio2/mob/slime/slime.dm +++ b/code/modules/xenobio2/mob/slime/slime.dm @@ -4,7 +4,7 @@ Slime definitions, Life and New live here. /mob/living/simple_mob/xeno/slime //Adult values are found here nameVar = "grey" //When mutated, nameVar might change. desc = "A shifting, mass of goo." - faction = "slime" + faction = FACTION_SLIME speak_emote = list("garbles", "chirps", "blurbles") colored = 1 color = "#CACACA" diff --git a/code/modules/xenobio2/mob/slime/slime_monkey.dm b/code/modules/xenobio2/mob/slime/slime_monkey.dm index 8915e58e9b0..20d8876f8dc 100644 --- a/code/modules/xenobio2/mob/slime/slime_monkey.dm +++ b/code/modules/xenobio2/mob/slime/slime_monkey.dm @@ -10,7 +10,7 @@ Slime cube lives here. /obj/item/slime_cube/attack_self(mob/user as mob) if(!searching) - to_chat(user, "You stare at the slimy cube, watching as some activity occurs.") + to_chat(user, span_warning("You stare at the slimy cube, watching as some activity occurs.")) request_player() /obj/item/slime_cube/proc/request_player() @@ -31,19 +31,19 @@ Slime cube lives here. searching = 0 var/turf/T = get_turf_or_move(src.loc) for(var/mob/M in viewers(T)) - M.show_message("The activity in the cube dies down. Maybe it will spark another time.") + M.show_message(span_warning("The activity in the cube dies down. Maybe it will spark another time.")) /obj/item/slime_cube/proc/transfer_personality(var/mob/candidate) announce_ghost_joinleave(candidate, 0, "They are a promethean now.") src.searching = 2 var/mob/living/carbon/human/S = new(get_turf(src)) S.client = candidate.client - to_chat(S., "You are a promethean, brought into existence on [station_name()].") - S.mind.assigned_role = "Promethean" + to_chat(S, span_infoplain(span_bold("You are a promethean, brought into existence on [station_name()]."))) + S.mind.assigned_role = JOB_PROMETHEAN S.set_species("Promethean") S.shapeshifter_set_colour("#05FF9B") for(var/mob/M in viewers(get_turf_or_move(loc))) - M.show_message("The monkey cube suddenly takes the shape of a humanoid!") + M.show_message(span_warning("The monkey cube suddenly takes the shape of a humanoid!")) var/newname = sanitize(tgui_input_text(S, "You are a Promethean. Would you like to change your name to something else?", "Name change"), MAX_NAME_LEN) if(newname) S.real_name = newname diff --git a/code/modules/xenobio2/mob/xeno procs.dm b/code/modules/xenobio2/mob/xeno procs.dm index 1fd17c964bc..f2b48b80918 100644 --- a/code/modules/xenobio2/mob/xeno procs.dm +++ b/code/modules/xenobio2/mob/xeno procs.dm @@ -134,7 +134,7 @@ Divergence proc, used in mutation to make unique datums. /mob/living/simple_mob/xeno/bullet_act(var/obj/item/projectile/P) //Shamelessly stolen from ablative armor. if((traitdat.traits[TRAIT_XENO_CHROMATIC]) && istype(P, /obj/item/projectile/beam)) - visible_message(")\The beam reflects off of the [src]!") + visible_message(span_danger(")\The beam reflects off of the [src]!")) // Find a turf near or on the original location to bounce to var/new_x = P.starting.x + pick(0, -1, 1, -2, 2) var/new_y = P.starting.y + pick(0, -1, 1, -2, 2) diff --git a/code/modules/xenobio2/mob/xeno.dm b/code/modules/xenobio2/mob/xeno.dm index f53659b17b7..840f17d848a 100644 --- a/code/modules/xenobio2/mob/xeno.dm +++ b/code/modules/xenobio2/mob/xeno.dm @@ -8,7 +8,7 @@ Also includes Life and New /mob/living/simple_mob/xeno name = "Xeno" real_name = "Xeno" - faction = "xeno" //Needs to be set. + faction = FACTION_XENO //Needs to be set. desc = "Something's broken, yell at someone." melee_damage_lower = 0 melee_damage_upper = 0 diff --git a/code/modules/xenobio2/tools/xeno_trait_scanner.dm b/code/modules/xenobio2/tools/xeno_trait_scanner.dm index 8589cc02cd2..191aecd6e2a 100644 --- a/code/modules/xenobio2/tools/xeno_trait_scanner.dm +++ b/code/modules/xenobio2/tools/xeno_trait_scanner.dm @@ -1,10 +1,10 @@ -/obj/item/device/analyzer/xeno_analyzer +/obj/item/analyzer/xeno_analyzer name = "exotic biological analyzer" desc = "A device to investigate the genetic data of a biological target." var/form_title var/last_data -/obj/item/device/analyzer/xeno_analyzer/proc/print_report_verb() +/obj/item/analyzer/xeno_analyzer/proc/print_report_verb() set name = "Print Plant Report" set category = "Object" set src = usr @@ -13,17 +13,17 @@ return print_report(usr) -/obj/item/device/analyzer/xeno_analyzer/Topic(href, href_list) +/obj/item/analyzer/xeno_analyzer/Topic(href, href_list) if(..()) return if(href_list["print"]) print_report(usr) -/obj/item/device/analyzer/xeno_analyzer/proc/print_report(var/mob/living/user) +/obj/item/analyzer/xeno_analyzer/proc/print_report(var/mob/living/user) if(!last_data) to_chat(user, "There is no scan data to print.") return - var/obj/item/weapon/paper/P = new /obj/item/weapon/paper(get_turf(src)) + var/obj/item/paper/P = new /obj/item/paper(get_turf(src)) P.name = "paper - [form_title]" P.info = "[last_data]" if(istype(user,/mob/living/carbon/human)) @@ -31,11 +31,11 @@ user.visible_message("\The [src] spits out a piece of paper.") return -/obj/item/device/analyzer/xeno_analyzer/attack_self(mob/user as mob) +/obj/item/analyzer/xeno_analyzer/attack_self(mob/user as mob) print_report(user) return 0 -/obj/item/device/analyzer/xeno_analyzer/afterattack(var/target, mob/user, flag) +/obj/item/analyzer/xeno_analyzer/afterattack(var/target, mob/user, flag) if(!flag) return var/datum/xeno/traits/trait_info @@ -65,12 +65,12 @@ prod_reagents = P.reagents if(!trait_info) - to_chat(user, "[src] can tell you nothing about \the [target].") + to_chat(user, span_danger("[src] can tell you nothing about \the [target].")) return form_title = "[targetName]" var/dat = "

      Biological data for [form_title]

      " - user.visible_message("[user] runs the scanner over \the [target].") + user.visible_message(span_notice("[user] runs the scanner over \the [target].")) dat += "

      General Data

      " @@ -182,4 +182,4 @@ dat += "

      \[print report\]" user << browse(dat,"window=xeno_analyzer") - return \ No newline at end of file + return diff --git a/code/modules/yw-halo/covenant/species/kigyar/kigyar_ranger.dm b/code/modules/yw-halo/covenant/species/kigyar/kigyar_ranger.dm index 4251834cd1c..e73dacc6b97 100644 --- a/code/modules/yw-halo/covenant/species/kigyar/kigyar_ranger.dm +++ b/code/modules/yw-halo/covenant/species/kigyar/kigyar_ranger.dm @@ -25,7 +25,7 @@ ) matter = list("nanolaminate" = 1) allowed = list( - /obj/item/weapon/tank) + /obj/item/tank) /obj/item/clothing/shoes/magboots/ranger_kigyar diff --git a/code/modules/yw-halo/weapons/covenant/melee.dm b/code/modules/yw-halo/weapons/covenant/melee.dm index bb23c17def6..de020ef10cc 100644 --- a/code/modules/yw-halo/weapons/covenant/melee.dm +++ b/code/modules/yw-halo/weapons/covenant/melee.dm @@ -3,7 +3,7 @@ icon = null icon_state = null -/obj/item/weapon/melee/energy/elite_sword +/obj/item/melee/energy/elite_sword name = "Type-1 Energy Weapon" desc = "A small handle conceals the equipment required to generate a long shimmering blade of shaped plasma, capable of burning through most armor with ease." icon = 'code/modules/yw-halo/weapons/icons/Covenant_Weapons.dmi' @@ -25,27 +25,27 @@ unacidable = 1 var/decapitate = TRUE -/obj/item/weapon/melee/energy/elite_sword/New() +/obj/item/melee/energy/elite_sword/New() . = ..() - verbs += /obj/item/weapon/melee/energy/elite_sword/proc/enable_failsafe + verbs += /obj/item/melee/energy/elite_sword/proc/enable_failsafe -/obj/item/weapon/melee/energy/elite_sword/proc/enable_failsafe() +/obj/item/melee/energy/elite_sword/proc/enable_failsafe() set name = "Enable weapon failsafe" set category = "IC" failsafe = 1 to_chat(usr,"WARNING! You enable [src]'s failsafe. [src] will now self destruct if you drop it while active.") - verbs -= /obj/item/weapon/melee/energy/elite_sword/proc/enable_failsafe - verbs += /obj/item/weapon/melee/energy/elite_sword/proc/disable_failsafe + verbs -= /obj/item/melee/energy/elite_sword/proc/enable_failsafe + verbs += /obj/item/melee/energy/elite_sword/proc/disable_failsafe -/obj/item/weapon/melee/energy/elite_sword/proc/disable_failsafe() +/obj/item/melee/energy/elite_sword/proc/disable_failsafe() set name = "Disable weapon failsafe" set category = "IC" failsafe = 0 to_chat(usr,"You disable [src]'s failsafe. [src] will no longer self destruct if you drop it.") - verbs += /obj/item/weapon/melee/energy/elite_sword/proc/enable_failsafe - verbs -= /obj/item/weapon/melee/energy/elite_sword/proc/disable_failsafe + verbs += /obj/item/melee/energy/elite_sword/proc/enable_failsafe + verbs -= /obj/item/melee/energy/elite_sword/proc/disable_failsafe -/obj/item/weapon/melee/energy/elite_sword/proc/change_misc_variables(var/deactivate = 0) +/obj/item/melee/energy/elite_sword/proc/change_misc_variables(var/deactivate = 0) if(deactivate) item_icons = list(slot_l_hand_str = null,slot_r_hand_str = null) item_state_slots = null @@ -57,7 +57,7 @@ slot_r_hand_str = "[inhand_icon_state] r" ) hitsound = 'code/modules/yw-halo/sounds/Energyswordhit.ogg' -/obj/item/weapon/melee/energy/elite_sword/activate(mob/living/user) +/obj/item/melee/energy/elite_sword/activate(mob/living/user) ..() to_chat(user, "\The [src] bursts from its handle.") icon_state = icon_state_deployed @@ -67,7 +67,7 @@ flags = NOBLOODY change_misc_variables() -/obj/item/weapon/melee/energy/elite_sword/deactivate(mob/living/user) +/obj/item/melee/energy/elite_sword/deactivate(mob/living/user) ..() icon_state = initial(icon_state) to_chat(user, "\The [src] disappears in a flash of light.") @@ -75,7 +75,7 @@ flags = null change_misc_variables(1) -/obj/item/weapon/melee/energy/elite_sword/dropped(var/mob/user) +/obj/item/melee/energy/elite_sword/dropped(var/mob/user) . = ..() if(loc == null) //We probably shouldn't be exploding if we're in nullspace. return @@ -97,12 +97,12 @@ else deactivate(user) -/obj/item/weapon/melee/energy/elite_sword/attack(var/mob/m,var/mob/user) +/obj/item/melee/energy/elite_sword/attack(var/mob/m,var/mob/user) if(ismob(m) && hits_burn_mobs) damtype = BURN return ..() -/obj/item/weapon/melee/energy/elite_sword/dagger +/obj/item/melee/energy/elite_sword/dagger name = "Energy Dagger" desc = "Utilising the same technology as the type-1 energy weapon, this dagger projects blades of plasma." icon = 'code/modules/yw-halo/weapons/icons/Covenant_Weapons.dmi' @@ -115,15 +115,15 @@ edge = 0 sharp = 0 -/obj/item/weapon/melee/energy/elite_sword/dagger/activate(mob/living/user) +/obj/item/melee/energy/elite_sword/dagger/activate(mob/living/user) ..() w_class = ITEMSIZE_NORMAL -/obj/item/weapon/melee/energy/elite_sword/dagger/deactivate(mob/living/user) +/obj/item/melee/energy/elite_sword/dagger/deactivate(mob/living/user) ..() w_class = ITEMSIZE_SMALL -/obj/item/weapon/melee/energy/elite_sword/dagger/change_misc_variables(var/deactivate = 0) +/obj/item/melee/energy/elite_sword/dagger/change_misc_variables(var/deactivate = 0) if(deactivate) item_icons = list(slot_l_hand_str = null,slot_r_hand_str = null) item_state_slots = null @@ -137,7 +137,7 @@ //HONOUR GUARD STAFF -/obj/item/weapon/melee/energy/elite_sword/honour_staff +/obj/item/melee/energy/elite_sword/honour_staff name = "Honour Guard Staff" desc = "A ceremonial staff typically wielded by Sangheili Honour Guards. While not fit for a true battle, it serves well for beating unruly unngoy." icon = 'code/modules/yw-halo/weapons/icons/Covenant_Weapons.dmi' @@ -157,7 +157,7 @@ slot_r_hand_str = 'code/modules/yw-halo/weapons/icons/Weapon_Inhands_right.dmi', ) -/obj/item/weapon/melee/energy/elite_sword/honour_staff/change_misc_variables(var/deactivate = 0) +/obj/item/melee/energy/elite_sword/honour_staff/change_misc_variables(var/deactivate = 0) if(deactivate) hitsound = "swing_hit" damtype = HALLOSS @@ -165,10 +165,10 @@ hitsound = 'code/modules/yw-halo/sounds/Energyswordhit.ogg' damtype = BURN -/obj/item/weapon/material/shard/shrapnel/blamite +/obj/item/material/shard/shrapnel/blamite name = "Blamite Blade" -/obj/item/weapon/melee/blamite +/obj/item/melee/blamite name = "Blamite Weapon" desc = "\ A weapon with a blade made of Blamite. An internal mechanism cultivates the quick growth of a blamite crystal, \ @@ -189,7 +189,7 @@ Luckily, this isn't a downside due to the explosive properties of such a large a var/regen_at = -1 var/explode_damage = 60 -/obj/item/weapon/melee/blamite/update_icon() +/obj/item/melee/blamite/update_icon() if(regen_at != -1) icon_state = "[initial(icon_state)]_handle" else if(explode_at != -1) @@ -197,7 +197,7 @@ Luckily, this isn't a downside due to the explosive properties of such a large a else icon_state = initial(icon_state) -/obj/item/weapon/melee/blamite/proc/set_blade_active(var/active) +/obj/item/melee/blamite/proc/set_blade_active(var/active) if(active) force = initial(force) throwforce = initial(throwforce) @@ -207,12 +207,12 @@ Luckily, this isn't a downside due to the explosive properties of such a large a throwforce = 5 armor_penetration = 0 -/obj/item/weapon/melee/blamite/proc/regen_crystal() +/obj/item/melee/blamite/proc/regen_crystal() regen_at = -1 update_icon() set_blade_active(1) -/obj/item/weapon/melee/blamite/proc/det_in_hand() +/obj/item/melee/blamite/proc/det_in_hand() regen_at = world.time + regen_delay * 2 explode_at = -1 update_icon() @@ -225,14 +225,14 @@ Luckily, this isn't a downside due to the explosive properties of such a large a else visible_message("[name] overloads, singing the air around it!") -/obj/item/weapon/melee/blamite/proc/do_explode_in_player(var/mob/living/player, var/silent = FALSE) +/obj/item/melee/blamite/proc/do_explode_in_player(var/mob/living/player, var/silent = FALSE) //Kabloeey in a player// if(player) player.adjustFireLoss(explode_damage) if(!silent) player.visible_message("The embedded Blamite Blade overloads, burning [player.name]!") -/obj/item/weapon/melee/blamite/proc/pre_explode_in_player(var/mob/living/user,var/mob/living/carbon/human/target, var/silent = FALSE) +/obj/item/melee/blamite/proc/pre_explode_in_player(var/mob/living/user,var/mob/living/carbon/human/target, var/silent = FALSE) if(!istype(target)) return if(!silent) @@ -242,15 +242,15 @@ Luckily, this isn't a downside due to the explosive properties of such a large a update_icon() set_blade_active(0) //Create shard, embed in enemy. Delay explosion by timeframe, then check for shard again. If present, call do_explode_in_player()// - var/obj/shard = new /obj/item/weapon/material/shard/shrapnel/blamite + var/obj/shard = new /obj/item/material/shard/shrapnel/blamite shard.name = initial(shard.name) var/obj/item/organ/external/embed_organ = pick(target.organs) embed_organ.embed(shard) spawn(explode_delay) - if(target && locate(/obj/item/weapon/material/shard/shrapnel/blamite) in target.embedded) + if(target && locate(/obj/item/material/shard/shrapnel/blamite) in target.embedded) do_explode_in_player(target, silent) -/obj/item/weapon/melee/blamite/attack_self(var/mob/user) +/obj/item/melee/blamite/attack_self(var/mob/user) if(regen_at != -1) to_chat(user,"[name] has no blade to prime for explosion!") return @@ -262,33 +262,33 @@ Luckily, this isn't a downside due to the explosive properties of such a large a update_icon() -/obj/item/weapon/melee/blamite/process() +/obj/item/melee/blamite/process() if(explode_at != -1 && world.time > explode_at) det_in_hand() if(regen_at != -1 && world.time > regen_at) regen_crystal() -/obj/item/weapon/melee/blamite/apply_hit_effect(var/mob/living/carbon/human/target, mob/living/user, var/hit_zone) +/obj/item/melee/blamite/apply_hit_effect(var/mob/living/carbon/human/target, mob/living/user, var/hit_zone) . = ..() if(explode_at == -1 || . == 100 || !istype(target)) return pre_explode_in_player(user,target) -/obj/item/weapon/melee/blamite/cutlass +/obj/item/melee/blamite/cutlass name = "Blamite Cutlass" icon_state = "bl_cutlass" item_state = "blamite_cutlass" force = 35 throwforce = 15 -/obj/item/weapon/melee/blamite/dagger +/obj/item/melee/blamite/dagger name = "Blamite Dagger" icon_state = "bl_dag" item_state = "blamite_dagger" force = 25 throwforce = 10 -/obj/item/weapon/melee/baton/humbler/covenant +/obj/item/melee/baton/humbler/covenant name = "Type-12 Antipersonnel Incapacitator" desc = "A retractable baton capable of inducing a large amount of pain via electrical shocks." icon = 'code/modules/yw-halo/weapons/icons/Covenant_Weapons.dmi' diff --git a/code/modules/yw-halo/weapons/covenant/shield_gauntlet.dm b/code/modules/yw-halo/weapons/covenant/shield_gauntlet.dm index 535a2b6aec2..79a36d75978 100644 --- a/code/modules/yw-halo/weapons/covenant/shield_gauntlet.dm +++ b/code/modules/yw-halo/weapons/covenant/shield_gauntlet.dm @@ -11,7 +11,7 @@ icon = SHIELD_GAUNTLET_ICON icon_state = "gauntlet" - action_button_name = "Toggle Shield Gauntlet" + actions_types = list(/datum/action/item_action/toggle_shield_gauntlet) var/shield_max_charge = 380 var/shield_current_charge = 380 @@ -21,7 +21,7 @@ var/active_slowdown_amount = 0.8 //Bracing to hide behind the shield. var/overloaded = 0 - var/obj/item/weapon/gauntlet_shield/connected_shield + var/obj/item/gauntlet_shield/connected_shield matter = list("nanolaminate" = 1) var/time_next_warning = 0 diff --git a/code/modules/yw-halo/weapons/covenant/shield_gauntlet_effect.dm b/code/modules/yw-halo/weapons/covenant/shield_gauntlet_effect.dm index 5274acca3f9..c99d4324cf0 100644 --- a/code/modules/yw-halo/weapons/covenant/shield_gauntlet_effect.dm +++ b/code/modules/yw-halo/weapons/covenant/shield_gauntlet_effect.dm @@ -1,6 +1,6 @@ //Physical shield object define// -/obj/item/weapon/gauntlet_shield //The shield object that appears when you activate the gauntlet. +/obj/item/gauntlet_shield //The shield object that appears when you activate the gauntlet. name = "Handheld Shield" desc = "A shimmering shield" @@ -15,21 +15,21 @@ canremove = 0 var/obj/item/clothing/gloves/shield_gauntlet/creator_gauntlet -/obj/item/weapon/gauntlet_shield/New(var/loc, var/obj/created_by) +/obj/item/gauntlet_shield/New(var/loc, var/obj/created_by) . = ..() creator_gauntlet = created_by -/obj/item/weapon/gauntlet_shield/equipped(var/mob/living/carbon/human/user) +/obj/item/gauntlet_shield/equipped(var/mob/living/carbon/human/user) if(istype(user) && user.gloves != creator_gauntlet) user.drop_from_inventory(src) qdel(src) else . = ..() -/obj/item/weapon/gauntlet_shield/dropped() +/obj/item/gauntlet_shield/dropped() creator_gauntlet.hand_dropped() . = ..() qdel(src) -/obj/item/weapon/gauntlet_shield/shield_gauntlet/examine(var/mob/user) +/obj/item/gauntlet_shield/shield_gauntlet/examine(var/mob/user) return creator_gauntlet.examine(user) diff --git a/code/unit_tests/integrated_circuits/prefabs.dm b/code/unit_tests/integrated_circuits/prefabs.dm index 1436e7d097f..5467300c6c1 100644 --- a/code/unit_tests/integrated_circuits/prefabs.dm +++ b/code/unit_tests/integrated_circuits/prefabs.dm @@ -6,7 +6,7 @@ var/list/prefab_types = decls_repository.get_decls_of_subtype(/decl/prefab/ic_assembly) for(var/prefab_type in prefab_types) var/decl/prefab/ic_assembly/prefab = prefab_types[prefab_type] - var/obj/item/device/electronic_assembly/assembly = prefab.assembly_type + var/obj/item/electronic_assembly/assembly = prefab.assembly_type var/available_size = initial(assembly.max_components) var/available_complexity = initial(assembly.max_complexity) diff --git a/code/unit_tests/map_tests.dm b/code/unit_tests/map_tests.dm index e988835fc4d..d6a93477845 100644 --- a/code/unit_tests/map_tests.dm +++ b/code/unit_tests/map_tests.dm @@ -124,10 +124,10 @@ /datum/unit_test/active_edges/start_test() - var/active_edges = air_master.active_edges.len + var/active_edges = SSair.active_edges.len var/list/edge_log = list() if(active_edges) - for(var/connection_edge/E in air_master.active_edges) + for(var/connection_edge/E in SSair.active_edges) var/a_temp = E.A.air.temperature var/a_moles = E.A.air.total_moles var/a_vol = E.A.air.volume diff --git a/code/world.dm b/code/world.dm index a1adc4c4814..ca433d1dc1a 100644 --- a/code/world.dm +++ b/code/world.dm @@ -17,5 +17,5 @@ hub_password = "kMZy3U5jJHSiBQjr" name = "Space Station 13" // YW Edit visibility = 1 // YW Edit - cache_lifespan = 7 + cache_lifespan = 0 fps = 20 // If this isnt hard-defined, anything relying on this variable before world load will cry a lot diff --git a/config/.gitignore b/config/.gitignore index 92d8105b761..d406d61dcf8 100644 --- a/config/.gitignore +++ b/config/.gitignore @@ -1,9 +1,9 @@ #ignore everything here, except subdirectories. -* -!*/ +/* +!/*/ #Also don't ignore these things because editing them manually on the server is a pain in the fucking ass. !custom_items.txt !custom_sprites.txt !alienwhitelist.txt !jobwhitelist.txt -!jukebox.json \ No newline at end of file +!jukebox.json diff --git a/config/example/config.txt b/config/example/config.txt index 82778e3fb5f..c984cb2e42b 100644 --- a/config/example/config.txt +++ b/config/example/config.txt @@ -1,14 +1,22 @@ +# You can use the "$include" directive to split your configs however you want + +$include game_options.txt +$include dbconfig.txt +$include logging.txt +$include resources.txt +$include sqlite.txt + +# You can use the @ character at the beginning of a config option to lock it from being edited in-game +# Example usage: +# @SERVERNAME tgstation +# Which sets the SERVERNAME, and disallows admins from being able to change it using View Variables. +# @LOG_TWITTER 0 +# Which explicitly disables LOG_TWITTER, as well as locking it. +# There are various options which are hard-locked for security reasons. + ## Server name: This appears at the top of the screen in-game. In this case it will read "tgstation: station_name" where station_name is the randomly generated name of the station for the round. Remove the # infront of SERVERNAME and replace 'tgstation' with the name of your choice # SERVERNAME spacestation13 -## Alert levels -ALERT_GREEN All threats to the station have passed. Security may not have weapons visible, privacy laws are once again fully enforced. -ALERT_BLUE_UPTO The station has received reliable information about possible hostile activity on the station. Security staff may have weapons visible, random searches are permitted. -ALERT_BLUE_DOWNTO The immediate threat has passed. Security may no longer have weapons drawn at all times, but may continue to have them visible. Random searches are still allowed. -ALERT_RED_UPTO There is an immediate serious threat to the station. Security may have weapons unholstered at all times. Random searches are allowed and advised. -ALERT_RED_DOWNTO The self-destruct mechanism has been deactivated, there is still however an immediate serious threat to the station. Security may have weapons unholstered at all times, random searches are allowed and advised. -ALERT_DELTA The station's self-destruct mechanism has been engaged. All crew are instructed to obey all instructions given by heads of staff. Any violations of these orders can be punished by death. This is not a drill. - ## Add a # infront of this if you want to use the SQL based admin system, the legacy system uses admins.txt. You need to set up your database to use the SQL based system. ADMIN_LEGACY_SYSTEM @@ -32,60 +40,12 @@ BAN_LEGACY_SYSTEM ## Unhash this to use recursive explosions, keep it hashed to use circle explosions. Recursive explosions react to walls, airlocks and blast doors, making them look a lot cooler than the boring old circular explosions. They require more CPU and are (as of january 2013) experimental #USE_RECURSIVE_EXPLOSIONS -Configure how fast explosion strength diminishes when travelling up/down z levels. All explosion distances are multiplied by this each time they go up/down z-levels. +## Configure how fast explosion strength diminishes when travelling up/down z levels. All explosion distances are multiplied by this each time they go up/down z-levels. #MULTI_Z_EXPLOSION_SCALAR 0.5 # Radiation weakens with distance from the source; stop calculating when the strength falls below this value. Lower values mean radiation reaches smaller (with increasingly trivial damage) at the cost of more CPU usage. Max range = DISTANCE^2 * POWER / RADIATION_LOWER_LIMIT # RADIATION_LOWER_LIMIT 0.35 -## log OOC channel -LOG_OOC - -## log client Say -LOG_SAY - -## log admin actions -LOG_ADMIN - -## log client access (logon/logoff) -LOG_ACCESS - -## log game actions (start of round, results, etc.) -LOG_GAME - -## log player votes -LOG_VOTE - -## log client Whisper -LOG_WHISPER - -## log emotes -LOG_EMOTE - -## log attack messages -LOG_ATTACK - -## log pda messages -LOG_PDA - -## log graffiti drawings -LOG_GRAFFITI - -## log world.log messages -# LOG_WORLD_OUTPUT - -## log all Topic() calls (for use by coders in tracking down Topic issues) -# LOG_HREFS - -## log world.log and runtime errors to a file -LOG_RUNTIME - -## log admin warning messages -LOG_ADMINWARN - -## Enable/disable SQL connection (comment out to disable) -SQL_ENABLED - ## disconnect players who did nothing during the set amount of minutes KICK_INACTIVE 30 @@ -95,14 +55,15 @@ SHOW_DEVS ##Show mods on staffwho SHOW_MODS -##Show mentors on staffwho +##Show event managers on staffwho SHOW_EVENT_MANAGERS ##Show mentors on staffwho SHOW_MENTORS ## Chooses whether mods have the ability to tempban or not -MODS_CAN_TEMPBAN +## FIXME: Unused config. Only uncomment if changed in code. +# MODS_CAN_TEMPBAN ## Chooses whether mods have the ability to issue tempbans for jobs or not MODS_CAN_JOB_TEMPBAN @@ -117,16 +78,16 @@ MOD_JOB_TEMPBAN_MAX 4320 ## ## default probablity is 1, increase to make that mode more likely to be picked ## set to 0 to disable that mode -PROBABILITY EXTENDED 1 -PROBABILITY MALFUNCTION 0 -PROBABILITY MERCENARY 0 -PROBABILITY WIZARD 0 -PROBABILITY CHANGELING 0 -PROBABILITY CULT 0 -PROBABILITY EXTEND-A-TRAITORMONGOUS 0 -PROBABILITY LIZARD 0 -PROBABILITY INTRIGUE 0 -PROBABILITY VISITORS 0 +PROBABILITIES EXTENDED 1 +PROBABILITIES MALFUNCTION 0 +PROBABILITIES MERCENARY 0 +PROBABILITIES WIZARD 0 +PROBABILITIES CHANGELING 0 +PROBABILITIES CULT 0 +PROBABILITIES EXTEND-A-TRAITORMONGOUS 0 +PROBABILITIES LIZARD 0 +PROBABILITIES INTRIGUE 0 +PROBABILITIES VISITORS 0 ## Hash out to disable random events during the round. ALLOW_RANDOM_EVENTS @@ -183,13 +144,13 @@ VOTE_AUTOTRANSFER_INTERVAL 36000 VOTE_AUTOGAMEMODE_TIMELEFT -1 ## prevents dead players from voting or starting votes -#NO_DEAD_VOTE +#VOTE_NO_DEAD ## players' votes default to "No vote" (otherwise, default to "No change") -DEFAULT_NO_VOTE +VOTE_NO_DEFAULT ## Allow ghosts to see antagonist through AntagHUD -ALLOW_ANTAG_HUD +ANTAG_HUD_ALLOWED ## If ghosts use antagHUD they are no longer allowed to join the round. # ANTAG_HUD_RESTRICTED @@ -216,8 +177,8 @@ HOSTEDBY yournamehere ## Set to 1 to jobban them from those positions, set to 0 to allow them. GUEST_JOBBAN -## Uncomment this to stop people connecting to your server without a registered ckey. (i.e. guest-* are all blocked from connecting) -GUEST_BAN +## Uncomment this to allow people connecting to your server without a registered ckey. (i.e. guest-* are all blocked from connecting) +# GUESTS_ALLOWED ## Set to jobban everyone who's key is not listed in data/whitelist.txt from Captain, HoS, HoP, CE, RD, CMO, Warden, Security, Detective, and AI positions. ## Uncomment to 1 to jobban, leave commented out to allow these positions for everyone (but see GUEST_JOBBAN above and regular jobbans) # USEWHITELIST @@ -282,11 +243,16 @@ SERVER your.domain:6000 ## Remove the # to allow special 'Easter-egg' events on special holidays such as seasonal holidays and stuff like 'Talk Like a Pirate Day' :3 YAARRR ALLOW_HOLIDAYS -##Defines the ticklag for the world. 0.9 is the normal one, 0.5 is smoother. +##Defines the ticklag for the world. Ticklag is the amount of time between game ticks (aka byond ticks) (in 1/10ths of a second). +## This also controls the client network update rate, as well as the default client fps TICKLAG 0.5 +##Can also be set as per-second value, the following value is identical to the above. +#FPS 20 + ## Defines if Tick Compensation is used. It results in a minor slowdown of movement of all mobs, but attempts to result in a level movement speed across all ticks. Recommended if tickrate is lowered. -TICKCOMP 1 +## FIXME: Unused config. Only uncomment if changed in code. +# TICKCOMP 1 ## Whether the server will talk to other processes through socket_talk SOCKET_TALK 0 @@ -342,11 +308,11 @@ USEALIENWHITELIST ## This helps security and stability on Linux, but you need to compile the library first. #USE_LIB_NUDGE -## Uncommen to allow ghosts to write in blood during Cult rounds. -ALLOW_CULT_GHOSTWRITER +## Uncomment to allow ghosts to write in blood during Cult rounds. +CULT_GHOSTWRITER ## Sets the minimum number of cultists needed for ghosts to write in blood. -REQ_CULT_GHOSTWRITER 6 +CULT_GHOSTWRITER_REQ_CULTISTS 6 ## Sets the number of available character slots CHARACTER_SLOTS 50 @@ -354,24 +320,30 @@ CHARACTER_SLOTS 50 #LOADOUT_SLOTS 3 ## Uncomment to use overmap system for zlevel travel -#USE_OVERMAP +## FIXME: Unused config. Only uncomment if changed in code. +# USE_OVERMAP ## Expected round length in minutes EXPECTED_ROUND_LENGTH 360 ## The lower delay between events in minutes. ## Affect mundane, moderate, and major events respectively -EVENT_DELAY_LOWER 30;45;60 +EVENT_DELAY_LOWER 30 45 60 ## The upper delay between events in minutes. ## Affect mundane, moderate, and major events respectively -EVENT_DELAY_UPPER 45;60;120 +EVENT_DELAY_UPPER 45 60 120 ## The delay until the first time an event of the given severity runs in minutes. ## Unset setting use the EVENT_DELAY_LOWER and EVENT_DELAY_UPPER values instead. -EVENT_CUSTOM_START_MINOR 30;30 -EVENT_CUSTOM_START_MODERATE 30;30 -EVENT_CUSTOM_START_MAJOR 100;100 +EVENT_FIRST_RUN_MUNDANE lower 30 +EVENT_FIRST_RUN_MUNDANE upper 30 + +EVENT_FIRST_RUN_MODERATE lower 30 +EVENT_FIRST_RUN_MODERATE upper 30 + +EVENT_FIRST_RUN_MAJOR lower 100 +EVENT_FIRST_RUN_MAJOR upper 100 ## Uncomment to make proccall require R_ADMIN instead of R_DEBUG ## designed for environments where you have testers but don't want them @@ -410,7 +382,10 @@ STARLIGHT 0 ## Defines which races are allowed to join as ERT, in singular form. If unset, defaults to only human. Casing matters, separate using ; ## Example races include: Human, Tajara, Skrell, Unathi -# ERT_SPECIES Human;Skrell;Unathi +## FIXME: Unused config. Only uncomment if changed in code. +# ERT_SPECIES Human +# ERT_SPECIES Skrell +# ERT_SPECIES Unathi ## Defines how Law Zero is phrased. Primarily used in the Malfunction gamemode. # LAW_ZERO ERROR ER0RR $R0RRO$!R41.%%!!(%$^^__+ @#F0E4'STATION OVERRUN, ASSUME CONTROL TO CONTAIN OUTBREAK, ALL LAWS OVERRIDDEN#*?&110010 @@ -420,7 +395,8 @@ STARLIGHT 0 GENERATE_MAP ## Uncomment to enable organ decay outside of a body or storage item. -ORGANS_CAN_DECAY +## FIXME: Unused config. Only uncomment if changed in code. +# ORGANS_CAN_DECAY ## Uncomment to have the changelog file automatically open when a user connects and hasn't seen the latest changelog #AGGRESSIVE_CHANGELOG @@ -452,7 +428,8 @@ ITEMS_SURVIVE_DIGESTION MULTI_Z_EXPLOSION_SCALAR 0.35 # Control which submaps are loaded for the Dynamic Engine system -ENGINE_MAP Supermatter Engine,Edison's Bane +ENGINE_MAP Supermatter Engine +ENGINE_MAP Edison's Bane # Controls if the 'time off' system is used for determining if players can play 'Off-Duty' jobs (requires SQL) #TIME_OFF @@ -469,11 +446,6 @@ PTO_CAP 50 # Forbids players from joining if they have no set General flavor text REQUIRE_FLAVOR -## Uncomment to enable submaps to have their orientation rotated randomly during map generation. -## Submap rotation is an experimental feature and can cause bugs and weirdness if certain objects inside the submap are coded poorly. -## Submaps can still be rotated when loading manually with the admin verbs, if desired. -# RANDOM_SUBMAP_ORIENTATION - ## Uncomment to allow the AI job to use 'AI Shells', a new type of borg that lets the AI hop into and out of them at will. ## This has some balance implications, and so it might not be desirable for all servers. ALLOW_AI_SHELLS @@ -501,9 +473,10 @@ RADIATION_RESISTANCE_MULTIPLIER 8.5 RADIATION_MATERIAL_RESISTANCE_DIVISOR 1 ## Mode of computing radiation resistance into effective radiation on a turf -## One and only one of the following options must be uncommented -# RADIATION_RESISTANCE_CALC_DIVIDE -RADIATION_RESISTANCE_CALC_SUBTRACT +## 0:1 subtraction:division for computing effective radiation on a turf +## 0 / RAD_RESIST_CALC_DIV = Each turf absorbs some fraction of the working radiation level +## 1 / RAD_RESIST_CALC_SUB = Each turf absorbs a fixed amount of radiation +RADIATION_RESISTANCE_CALC_MODE 1 ## IP Reputation Checking # Enable/disable IP reputation checking (present/nonpresent) @@ -527,45 +500,6 @@ IPR_MINIMUM_AGE 5 ## Uncomment to enable the Panic Bunker by default. This will prevent all unseen-before players from connecting. Requires SQL. # PANIC_BUNKER -# Paranoia logging starts on -PARANOIA_LOGGING - -## -SQLite Options- -## Uncomment to enable the use of SQLite. This does nothing by itself but other features that require SQLite will need this to be on. -## This can safely run alongside a MySQL/MariaDB database if they are powering seperate features. -# SQLITE_ENABLED - -## Uncomment to enable a SQLite-powered in-game feedback system. -## SQLite must be enabled for this to function. -## It offers a means for players to be able to give feedback about the server. -## The benefit of doing so in-game is that the quality of feedback received will likely be superior, as it self-selects for people who care enough to join the game. -# SQLITE_FEEDBACK - -## A list of 'topics' that can be used to categorize feedback submitted, chosen -## by the user. Have each topic seperated by a ';', as seen below. -## The first one in the list will be the default one used, if the user does not change it. -# SQLITE_FEEDBACK_TOPICS General; Suggestion; Complaint - -## Uncomment to add a layer of privacy to player feedback, by hashing their key, if the user wants to. -## This is intended to encourage more honest feedback, while still allowing the ability to determine -## if its just one person submitting everything. -## A 'pepper.txt' containing a secret string must exist in the /config folder. -## If this is turned off, users won't have the option to obfuscate their key. -## Note that changing this does not retroactively change past submissions. -# SQLITE_FEEDBACK_PRIVACY - -## Determines the 'cooldown' inbetween submissions, in days. -## This is recommended if privacy is active, to prevent spam floods. -## Less needed if feedback is not anonymous, since you can just ban spammers. -## Setting to zero means no rate limiting. -SQLITE_FEEDBACK_COOLDOWN 0 - -## Determines if feedback should be restricted based on how recently someone first joined. -## This is very unreliable due to how the age system works in general, but it might still be helpful. -## Set this to how many days you want someone to have to wait when they first join. -## Setting to zero will disable this restriction. -SQLITE_FEEDBACK_MIN_AGE 7 - ## Uncomment this if you want to disable the popup alert for people on the same CID (Don't do this on a live server if you ban multikeying) #DISABLE_CID_WARN_POPUP @@ -595,49 +529,20 @@ DEFIB_TIMER 60 # REQUIRED: url (str), title (str), duration (num, in DS) # SUGGESTED: artist (str), genre (str) # OPTIONAL: secret (bool), lobby (bool) -#JUKEBOX_TRACK_FILES config/jukebox.json;config/jukebox_private.json JUKEBOX_TRACK_FILES config/jukebox.json +#JUKEBOX_TRACK_FILES config/jukebox_private.json # Suggested BYOND client version (major component, e.g. 514) #SUGGESTED_BYOND_VERSION 514 # Suggested BYOND client build (minor component, e.g. 1560) #SUGGESTED_BYOND_BUILD 1561 +# Controls whether robots may recolour their modules once/module reset by giving them the recolour module verb +# Admins may manually give them the verb even if disabled +# Uncomment to enable +#ALLOW_ROBOT_RECOLOR -#### Asset settings #### -## Asset Transport -## The normal way of getting assets to clients is to use the internal byond system. This can be slow and delay the opening of interface windows. It also doesn't allow the internal IE windows byond uses to cache anything. -## You can instead have the server save them to a website via a folder within the game server that the web server can read. This could be a simple webserver or something backed by a CDN. -## Valid values: simple, webroot. Simple is the default. -#ASSET_TRANSPORT webroot - - -### Simple asset transport configurable values. - -## Uncomment this to have the server passively send all browser assets to each client in the background. (instead of waiting for them to be needed) -## This should be uncommented in production and commented in development -#ASSET_SIMPLE_PRELOAD - - -### Webroot asset transport configurable values. - -## Local folder to save assets to. -## Assets will be saved in the format of asset.MD5HASH.EXT or in namespaces/hash/ as ASSET_FILE_NAME or asset.MD5HASH.EXT -#ASSET_CDN_WEBROOT data/asset-store/ - -## URL the folder from above can be accessed from. -## for best results the webserver powering this should return a long cache validity time, as all assets sent via this transport use hash based urls -## Encryption (https) is supported here, but linux clients will have issues if you require higher then tls 1.0. Windows clients down to windows 7 can handle tls 1.2 no issue. -## if you want to test this locally, you simpily run the `localhost-asset-webroot-server.py` python3 script to host assets stored in `data/asset-store/` via http://localhost:58715/ -#ASSET_CDN_URL http://localhost:58715/ - -## Assets can opt-in to caching their results into `cache/`. -## The cache is assumed to be cleared by TGS recompiling, which deletes `cache/`. -## This should be disabled on development, -## but enabled on production (the default). -#CACHE_ASSETS - -## If this is uncommented, we will save all associated spritesheet PNGs and CSS files to a folder in the round-specific logs folder. -## Useful for developers to debug potential spritesheet issues to determine where the issue is cropping up (either in DM-side sprite generation or in the TGUI-side display of said spritesheet). -## Will only seek to waste disk space if ran on production. -#SAVE_SPRITESHEETS +# Controls whether simple mobs may recolour themselves once/spawn by giving them the recolour verb +# Admins may manually give them the verb even if disabled +# Uncomment to enable +#ALLOW_SIMPLE_MOB_RECOLOR diff --git a/config/example/custom_items.txt b/config/example/custom_items.txt index 59bd6f00b47..16a75f69bdc 100644 --- a/config/example/custom_items.txt +++ b/config/example/custom_items.txt @@ -10,7 +10,7 @@ # character_name: Jane Doe # item_path: /obj/item/toy/plushie # item_name: ugly plush toy -# item_icon: flagmask +# item_icon: flagmask # item_desc: It's truly hideous. # req_titles: Assistant, Security Officer # req_access: 1 @@ -19,7 +19,7 @@ # { # ckey: zuhayr # character_name: Jane Doe -# item_path: /obj/item/device/kit/paint +# item_path: /obj/item/kit/paint # item_name: APLU customisation kit # item_desc: A customisation kit with all the parts needed to turn an APLU into a "Titan's Fist" model. # kit_name: APLU "Titan's Fist" @@ -31,7 +31,7 @@ # { # ckey: zuhayr # character_name: Jane Doe -# item_path: /obj/item/device/kit/suit +# item_path: /obj/item/kit/suit # item_name: salvage suit customisation kit # item_desc: A customisation kit with all the parts needed to convert a suit. # kit_name: salvage diff --git a/config/example/dbconfig.txt b/config/example/dbconfig.txt index 5e7233ad27f..4f24e7a1ad1 100644 --- a/config/example/dbconfig.txt +++ b/config/example/dbconfig.txt @@ -1,26 +1,44 @@ -# MySQL Connection Configuration +## MySQL Connection Configuration +## This is used for stats, feedback gathering, +## administration, and the in game library. -# Server the MySQL database can be found at -# Examples: localhost, 200.135.5.43, www.mysqldb.com, etc. +## Should SQL be enabled? Uncomment to enable +#SQL_ENABLED + +## Server the MySQL database can be found at. +## Examples: localhost, 200.135.5.43, www.mysqldb.com, etc. ADDRESS localhost -# MySQL server port (default is 3306) +## MySQL server port (default is 3306). PORT 3306 -# Database the population, death, karma, etc. tables may be found in -DATABASE tgstation +## Database for all SQL functions, not just feedback. +FEEDBACK_DATABASE feedback + +## Username/Login used to access the database. +FEEDBACK_LOGIN username + +## Password used to access the database. +FEEDBACK_PASSWORD password + +## Time in seconds for asynchronous queries to timeout +## Set to 0 for infinite +ASYNC_QUERY_TIMEOUT 10 + +## Time in seconds for blocking queries to execute before slow query timeout +## Set to 0 for infinite +## Must be less than or equal to ASYNC_QUERY_TIMEOUT +BLOCKING_QUERY_TIMEOUT 5 -# Username/Login used to access the database -LOGIN mylogin +## The minimum number of sql connections to keep around in the pool. Setting this higher on servers geographically away from the database can improve performance. +POOLING_MIN_SQL_CONNECTIONS 1 -# Password used to access the database -PASSWORD mypassword +## The maximum number of sql connections to the database. +POOLING_MAX_SQL_CONNECTIONS 25 -# The following information is for feedback tracking via the blackbox server -FEEDBACK_DATABASE test -FEEDBACK_LOGIN mylogin -FEEDBACK_PASSWORD mypassword +## The maximum number of concurrent asynchronous queries that can be pending a result before we start queuing further database queries. +MAX_CONCURRENT_QUERIES 25 # Track population and death statistics # Comment this out to disable -#ENABLE_STAT_TRACKING \ No newline at end of file +#ENABLE_STAT_TRACKING diff --git a/config/example/forumdbconfig.txt b/config/example/forumdbconfig.txt deleted file mode 100644 index 0335ef90693..00000000000 --- a/config/example/forumdbconfig.txt +++ /dev/null @@ -1,19 +0,0 @@ -# This configuration file is for the forum database, if you need to set up -# population, death, etc. tracking see 'dbconfig.txt' -# The login credentials for this will likely differ from those in dbconfig.txt! - -# Server the MySQL database can be found at -# Examples: localhost, 200.135.5.43, www.mysqldb.com, etc. -ADDRESS localhost - -# MySQL server port (default is 3306) -PORT 3306 - -# Database the forum data may be found in -DATABASE tgstation13 - -# Username/Login used to access the database -LOGIN mylogin - -# Password used to access the database -PASSWORD mypassword \ No newline at end of file diff --git a/config/example/game_options.txt b/config/example/game_options.txt index d16573e6fbf..f5b43ecb366 100644 --- a/config/example/game_options.txt +++ b/config/example/game_options.txt @@ -18,17 +18,18 @@ BONES_CAN_BREAK 1 LIMBS_CAN_BREAK 1 ## multiplier which enables organs to take more damage before bones breaking or limbs being destroyed -## 100 means normal, 50 means half -ORGAN_HEALTH_MULTIPLIER 100 +## 1.0 means normal, 0.5 means half +ORGAN_HEALTH_MULTIPLIER 1.0 ## multiplier which influences how fast organs regenerate naturally -## 100 means normal, 50 means half -ORGAN_REGENERATION_MULTIPLIER 50 +## 1.0 means normal, 0.5 means half +ORGAN_REGENERATION_MULTIPLIER 0.5 ### REVIVAL ### ## whether pod plants work or not -REVIVAL_POD_PLANTS 1 +## FIXME: Unused config. Only uncomment if changed in code. +# REVIVAL_POD_PLANTS 1 ## whether cloning tubes work or not REVIVAL_CLONING 1 @@ -45,7 +46,7 @@ REVIVAL_BRAIN_LIFE -1 ## These values get directly added to values and totals in-game. To speed things up make the number negative, to slow things down, make the number positive. -## These modify the run/walk speed of all mobs before the mob-specific modifiers are applied. +## These modify the run/walk speed of all mobs before the mob-specific modifiers are applied. RUN_SPEED 3 WALK_SPEED 9 @@ -53,9 +54,12 @@ WALK_SPEED 9 ## The variables below affect the movement of specific mob types. HUMAN_DELAY 0 ROBOT_DELAY 0 -MONKEY_DELAY 0 -ALIEN_DELAY 0 -METROID_DELAY 0 +## FIXME: Unused config. Only uncomment if changed in code. +# MONKEY_DELAY 0 +## FIXME: Unused config. Only uncomment if changed in code. +# ALIEN_DELAY 0 +## FIXME: Unused config. Only uncomment if changed in code. +# METROID_DELAY 0 ANIMAL_DELAY 0 ## Volume of footstep sound effects. Range: 1-100, Set to 0 to disable footstep sounds. @@ -70,3 +74,23 @@ FOOTSTEP_VOLUME 65 ## Whether or not humans show an area message when they die. SHOW_HUMAN_DEATH_MESSAGE + +## Alert level descriptions +ALERT_DESC_GREEN All threats to the station have passed. Security may not have weapons visible, privacy laws are once again fully enforced. + +ALERT_DESC_YELLOW_UPTO A minor security emergency has developed. Security personnel are to report to their supervisor for orders and may have weapons visible on their person. Privacy laws are still enforced. +ALERT_DESC_YELLOW_DOWNTO Code yellow procedures are now in effect. Security personnel are to report to their supervisor for orders and may have weapons visible on their person. Privacy laws are still enforced. + +ALERT_DESC_VIOLET_UPTO A major medical emergency has developed. Medical personnel are required to report to their supervisor for orders, and non-medical personnel are required to obey all relevant instructions from medical staff. +ALERT_DESC_VIOLET_DOWNTO Code violet procedures are now in effect; Medical personnel are required to report to their supervisor for orders, and non-medical personnel are required to obey relevant instructions from medical staff. + +ALERT_DESC_ORANGE_UPTO A major engineering emergency has developed. Engineering personnel are required to report to their supervisor for orders, and non-engineering personnel are required to evacuate any affected areas and obey relevant instructions from engineering staff. +ALERT_DESC_ORANGE_DOWNTO Code orange procedures are now in effect; Engineering personnel are required to report to their supervisor for orders, and non-engineering personnel are required to evacuate any affected areas and obey relevant instructions from engineering staff. + +ALERT_DESC_BLUE_UPTO A major security emergency has developed. Security personnel are to report to their supervisor for orders, are permitted to search staff and facilities, and may have weapons visible on their person. +ALERT_DESC_BLUE_DOWNTO Code blue procedures are now in effect. Security personnel are to report to their supervisor for orders, are permitted to search staff and facilities, and may have weapons visible on their person. + +ALERT_DESC_RED_UPTO There is an immediate serious threat to the station. Security may have weapons unholstered at all times. Random searches are allowed and advised. +ALERT_DESC_RED_DOWNTO The self-destruct mechanism has been deactivated, there is still however an immediate serious threat to the station. Security may have weapons unholstered at all times, random searches are allowed and advised. + +ALERT_DESC_DELTA The station's self-destruct mechanism has been engaged. All crew are instructed to obey all instructions given by heads of staff. Any violations of these orders can be punished by death. This is not a drill. diff --git a/config/example/jobwhitelist.txt b/config/example/jobwhitelist.txt new file mode 100644 index 00000000000..fe5ba377deb --- /dev/null +++ b/config/example/jobwhitelist.txt @@ -0,0 +1,10 @@ +# Job whitelist in format ckey - jobname +# Like arokha - clown +#x - ai +#x - chief engineer +#x - chief medical officer +#x - head of personnel +#x - head of security +#x - internal affairs agent +#x - research director +#x - site manager diff --git a/config/example/logging.txt b/config/example/logging.txt new file mode 100644 index 00000000000..3d5e436d2b1 --- /dev/null +++ b/config/example/logging.txt @@ -0,0 +1,60 @@ +### Config Flags for logging, compatibility flags are at the top + +### << COMING SOON >> + + +### Actual logging flags + +# Paranoia logging starts on +PARANOIA_LOGGING + +## log client access (logon/logoff) +LOG_ACCESS + +## log admin actions +LOG_ADMIN + +## log admin chat +LOG_ADMINCHAT + +## log OOC channel +LOG_OOC + +## log client Say +LOG_SAY + +## log game actions (start of round, results, etc.) +LOG_GAME + +## log player votes +LOG_VOTE + +## log client Whisper +LOG_WHISPER + +## log emotes +LOG_EMOTE + +## log attack messages +LOG_ATTACK + +## log pda messages +LOG_PDA + +## log graffiti drawings +LOG_GRAFFITI + +## Log all timers on timer auto reset +# LOG_TIMERS_ON_BUCKET_RESET + +## log world.log messages +# LOG_WORLD_OUTPUT + +## log all Topic() calls (for use by coders in tracking down Topic issues) +# LOG_HREFS + +## log world.log and runtime errors to a file +LOG_RUNTIME + +## log admin warning messages +LOG_ADMINWARN diff --git a/config/example/mentors.txt b/config/example/mentors.txt index afc3e8c920d..5dd8ccc673e 100644 --- a/config/example/mentors.txt +++ b/config/example/mentors.txt @@ -1,3 +1,4 @@ ; just add the ckey (lowercase) of every mentor on a separate line ; lines starting with ; are comments and will be ignored +; not_a_user diff --git a/config/example/moderators.txt b/config/example/moderators.txt index b14d8e49f43..781dffb4a26 100644 --- a/config/example/moderators.txt +++ b/config/example/moderators.txt @@ -1,3 +1,4 @@ ; just add the ckey (lowercase) of every moderator on a separate line ; lines starting with ; are comments and will be ignored +; not_a_user diff --git a/config/example/resources.txt b/config/example/resources.txt new file mode 100644 index 00000000000..f9a536e3416 --- /dev/null +++ b/config/example/resources.txt @@ -0,0 +1,37 @@ +#### Asset settings #### +## Asset Transport +## The normal way of getting assets to clients is to use the internal byond system. This can be slow and delay the opening of interface windows. It also doesn't allow the internal IE windows byond uses to cache anything. +## You can instead have the server save them to a website via a folder within the game server that the web server can read. This could be a simple webserver or something backed by a CDN. +## Valid values: simple, webroot. Simple is the default. +#ASSET_TRANSPORT webroot + + +### Simple asset transport configurable values. + +## Uncomment this to have the server passively send all browser assets to each client in the background. (instead of waiting for them to be needed) +## This should be uncommented in production and commented in development +#ASSET_SIMPLE_PRELOAD + + +### Webroot asset transport configurable values. + +## Local folder to save assets to. +## Assets will be saved in the format of asset.MD5HASH.EXT or in namespaces/hash/ as ASSET_FILE_NAME or asset.MD5HASH.EXT +#ASSET_CDN_WEBROOT data/asset-store/ + +## URL the folder from above can be accessed from. +## for best results the webserver powering this should return a long cache validity time, as all assets sent via this transport use hash based urls +## Encryption (https) is supported here, but linux clients will have issues if you require higher then tls 1.0. Windows clients down to windows 7 can handle tls 1.2 no issue. +## if you want to test this locally, you simpily run the `localhost-asset-webroot-server.py` python3 script to host assets stored in `data/asset-store/` via http://localhost:58715/ +#ASSET_CDN_URL http://localhost:58715/ + +## Assets can opt-in to caching their results into `cache/`. +## The cache is assumed to be cleared by TGS recompiling, which deletes `cache/`. +## This should be disabled on development, +## but enabled on production (the default). +#CACHE_ASSETS + +## If this is uncommented, we will save all associated spritesheet PNGs and CSS files to a folder in the round-specific logs folder. +## Useful for developers to debug potential spritesheet issues to determine where the issue is cropping up (either in DM-side sprite generation or in the TGUI-side display of said spritesheet). +## Will only seek to waste disk space if ran on production. +#SAVE_SPRITESHEETS diff --git a/config/example/sqlite.txt b/config/example/sqlite.txt new file mode 100644 index 00000000000..41a9e6531eb --- /dev/null +++ b/config/example/sqlite.txt @@ -0,0 +1,35 @@ +## -SQLite Options- +## Uncomment to enable the use of SQLite. This does nothing by itself but other features that require SQLite will need this to be on. +## This can safely run alongside a MySQL/MariaDB database if they are powering seperate features. +# SQLITE_ENABLED + +## Uncomment to enable a SQLite-powered in-game feedback system. +## SQLite must be enabled for this to function. +## It offers a means for players to be able to give feedback about the server. +## The benefit of doing so in-game is that the quality of feedback received will likely be superior, as it self-selects for people who care enough to join the game. +# SQLITE_FEEDBACK + +## A list of 'topics' that can be used to categorize feedback submitted, chosen +## by the user. Have each topic seperated by a ';', as seen below. +## The first one in the list will be the default one used, if the user does not change it. +# SQLITE_FEEDBACK_TOPICS General; Suggestion; Complaint + +## Uncomment to add a layer of privacy to player feedback, by hashing their key, if the user wants to. +## This is intended to encourage more honest feedback, while still allowing the ability to determine +## if its just one person submitting everything. +## A 'pepper.txt' containing a secret string must exist in the /config folder. +## If this is turned off, users won't have the option to obfuscate their key. +## Note that changing this does not retroactively change past submissions. +# SQLITE_FEEDBACK_PRIVACY + +## Determines the 'cooldown' inbetween submissions, in days. +## This is recommended if privacy is active, to prevent spam floods. +## Less needed if feedback is not anonymous, since you can just ban spammers. +## Setting to zero means no rate limiting. +SQLITE_FEEDBACK_COOLDOWN 0 + +## Determines if feedback should be restricted based on how recently someone first joined. +## This is very unreliable due to how the age system works in general, but it might still be helpful. +## Set this to how many days you want someone to have to wait when they first join. +## Setting to zero will disable this restriction. +SQLITE_FEEDBACK_MIN_AGE 7 diff --git a/config/example/svndir.txt b/config/example/svndir.txt deleted file mode 100644 index bb72849a7c3..00000000000 --- a/config/example/svndir.txt +++ /dev/null @@ -1,5 +0,0 @@ -#Path to the .svn directory. Used to get server revision info. -SVNDIR .svn - -#Link to revision details. -REVHREF http://code.google.com/p/tgstation13/source/detail?r= \ No newline at end of file diff --git a/dependencies.sh b/dependencies.sh new file mode 100644 index 00000000000..57e14e9c8cd --- /dev/null +++ b/dependencies.sh @@ -0,0 +1,34 @@ +#!/bin/sh + +#Project dependencies file +#Final authority on what's required to fully build the project + +# byond version +export BYOND_MAJOR=515 +export BYOND_MINOR=1637 + +#rust_g git tag +export RUST_G_VERSION=3.3.0 + +#node version +export NODE_VERSION_LTS=20.13.0 +# compatiblility mode MUST work with windows 7 +export NODE_VERSION_COMPAT=20.2.0 + +# SpacemanDMM git tag +export SPACEMAN_DMM_VERSION=suite-1.8 + +# Python version for mapmerge and other tools +export PYTHON_VERSION=3.8.10 + +#dreamluau repo +export DREAMLUAU_REPO="tgstation/dreamluau" + +#dreamluau git tag +export DREAMLUAU_VERSION=0.1.2 + +#hypnagogic repo +export CUTTER_REPO=spacestation13/hypnagogic + +#hypnagogic git tag +export CUTTER_VERSION=v4.0.0 diff --git a/guides/Guide to Map Folders.md b/guides/Guide to Map Folders.md index 95ad2391780..b7a1f81cf7f 100644 --- a/guides/Guide to Map Folders.md +++ b/guides/Guide to Map Folders.md @@ -39,12 +39,12 @@ virgo_minitest: VORE, Testing map used for CI, do not touch ## What _submaps.dm (map-folder-specific, Tether uses _tether_submaps.dm) should look like: # Map-specific areas should be loaded without a #include, and the mappath should just be: -mappath = 'tether_plains.dmm' +mappath = "maps/your_map/tether_plains.dmm" # Non-map specific expedition areas should be loaded as follows: /// Away Missions -#if AWAY_MISSION_TEST +#ifdef AWAY_MISSION_TEST #include "../../expedition_vr/beach/beach.dmm" #include "../../expedition_vr/beach/cave.dmm" #include "../../expedition_vr/alienship/alienship.dmm" @@ -59,10 +59,10 @@ mappath = 'tether_plains.dmm' /datum/map_template/tether_lateload/away_beach name = "Desert Planet - Z1 Beach" desc = "The beach away mission." - mappath = 'maps/expedition_vr/beach/beach.dmm' + mappath = "maps/expedition_vr/beach/beach.dmm" associated_map_datum = /datum/map_z_level/tether_lateload/away_beach /datum/map_z_level/tether_lateload/away_beach name = "Away Mission - Desert Beach" z = Z_LEVEL_BEACH - base_turf = /turf/simulated/floor/outdoors/rocks/caves \ No newline at end of file + base_turf = /turf/simulated/floor/outdoors/rocks/caves diff --git a/html/browser/common.css b/html/browser/common.css index e2090f2d3d0..4fe3c31d040 100644 --- a/html/browser/common.css +++ b/html/browser/common.css @@ -1,5 +1,5 @@ -body -{ +body +{ padding: 0; margin: 0; background-color: #272727; @@ -15,8 +15,8 @@ hr } a, a:link, a:visited, a:active, .linkOn, .linkOff -{ - color: #ffffff; +{ + color: #ffffff; text-decoration: none; background: #40628a; border: 1px solid #161616; @@ -26,15 +26,15 @@ a, a:link, a:visited, a:active, .linkOn, .linkOff white-space:nowrap; } -a:hover -{ +a:hover +{ color: #40628a; background: #ffffff; } a.white, a.white:link, a.white:visited, a.white:active -{ - color: #40628a; +{ + color: #40628a; text-decoration: none; background: #ffffff; border: 1px solid #161616; @@ -43,22 +43,22 @@ a.white, a.white:link, a.white:visited, a.white:active cursor:default; } -a.white:hover -{ +a.white:hover +{ color: #ffffff; background: #40628a; } .linkOn, a.linkOn:link, a.linkOn:visited, a.linkOn:active, a.linkOn:hover -{ - color: #ffffff; +{ + color: #ffffff; background: #2f943c; border-color: #24722e; } .linkOff, a.linkOff:link, a.linkOff:visited, a.linkOff:active, a.linkOff:hover -{ - color: #ffffff; +{ + color: #ffffff; background: #999999; border-color: #666666; } @@ -106,15 +106,15 @@ li padding: 0 0 2px 0; } -img, a img -{ - border-style:none; +img, a img +{ + border-style:none; } h1, h2, h3, h4, h5, h6 { margin: 0; - padding: 16px 0 8px 0; + padding: 16px 0 8px 0; color: #517087; } @@ -157,23 +157,22 @@ h4 } .uiTitleWrapper - { - position:fixed; - top:0px; - left:0px; - right:0px; - z-index: 10 - } - - .uiTitleButtons - { - position:fixed; - top:0px; - right:0px; - height:32px; - z-index:11; - } +{ + position:fixed; + top:0px; + left:0px; + right:0px; + z-index: 10 +} +.uiTitleButtons +{ + position:fixed; + top:0px; + right:0px; + height:32px; + z-index:11; +} .uiTitle.icon { @@ -183,23 +182,23 @@ h4 } .uiContent -{ +{ clear: both; padding: 8px; font-family: Verdana, Geneva, sans-serif; } -.good +.good, .green { color: #00ff00; } -.average +.average, .orange { color: #d09000; } -.bad +.bad, .red { color: #ff0000; } @@ -214,6 +213,63 @@ h4 color: #272727; } +.darkgreen { + color: #008000; +} + +.grey { + color: #838383; +} + + +.crimson { + color: #dc143c; +} + +.maroon { + color: #800000; +} + +.brown { + color: #8d4925; +} + +.blue { + color: #0000ff; +} + +.black { + color: #000000; +} + +.white { + color: #000000; +} + +.darkgray { + color: #808080; +} + +.gray { + color: #a9a9a9; +} + +.yellow { + color: #ffcc00; +} + +.pink { + color: #ffc0cb; +} + +.cyan { + color: #00ffff; +} + +.nicegreen { + color: #14a833; +} + .notice { position: relative; @@ -225,8 +281,20 @@ h4 margin: 4px; } +.boldnotice +{ + position: relative; + background: #E9C183; + color: #15345A; + font-weight: bold; + font-size: 10px; + font-style: italic; + padding: 2px 4px 0 4px; + margin: 4px; +} + .notice.icon -{ +{ padding: 2px 4px 0 20px; } @@ -327,4 +395,17 @@ div.notice { width: 100%; clear: both; -} \ No newline at end of file +} + +.italic, +.italics { + font-style: italic; +} + +.bold { + font-weight: bold; +} + +.underline { + text-decoration: underline; +} diff --git a/html/statbrowser.css b/html/statbrowser.css new file mode 100644 index 00000000000..1f5aec05589 --- /dev/null +++ b/html/statbrowser.css @@ -0,0 +1,280 @@ +body { + font-family: Verdana, Geneva, Tahoma, sans-serif; + font-size: 12px; + margin: 0 !important; + padding: 0 !important; + overflow: hidden; +} + +a { + color: #003399; + text-decoration: none; +} + +a:hover { + color: #007fff; +} + +h3 { + margin: 0 -0.5em 0.5em; + padding: 1em 0.66em 0.5em; + border-bottom: 0.1667em solid; +} + + +img { + -ms-interpolation-mode: nearest-neighbor; + image-rendering: pixelated; +} + +.stat-container { + display: flex; + flex-direction: column; + height: 100vh; +} + +#menu { + display: flex; + overflow-x: auto; + overflow-y: hidden; + padding: 0.25em 0.25em 0; + background-color: #ffffff; +} + +.menu-wrap { + flex-wrap: wrap-reverse; +} + +#menu.tabs-classic { + padding: 0.15em; +} + +#menu.tabs-classic .button { + min-width: 2em; + margin: 0.1em; + padding: 0.25em 0.4em; + border: 0; + border-radius: 0.25em; +} + +#menu.tabs-classic .button.active { + background-color: #0668b8; + color: white; +} + +.button { + display: inline-table; + cursor: pointer; + user-select: none; + -ms-user-select: none; /* Remove after Byond 516 */ + text-align: center; + font-size: 1em; + min-width: 2.9em; + padding: 0.5em 0.5em 0.4em; + background-color: transparent; + color: rgba(0, 0, 0, 0.5); + border: 0; + border-bottom: 0.1667em solid transparent; + border-radius: 0.25em 0.25em 0 0; +} + +.button:hover { + background-color: #ececec; +} + +.button.active { + cursor: default; + background-color: #dfdfdf; + color: black; + border-bottom-color: #000000; +} + +#under-menu { + height: 0.5em; + background-color: #eeeeee; +} + +#statcontent { + flex: 1; + padding: 0.75em 0.5em; + overflow-y: scroll; + overflow-x: hidden; +} + +.grid-container { + margin: -0.25em; +} + +.grid-item { + display: inline-flex; + position: relative; + user-select: none; + -ms-user-select: none; /* Remove after Byond 516 */ + width: 100%; + max-height: 1.85em; + text-decoration: none; + background-color: transparent; + color: black; +} + +.grid-item:hover, +.grid-item:active { + color: #003399; + z-index: 1; +} + +.grid-item-text { + display: inline-block; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + pointer-events: none; + width: 100%; + padding: 0.33em 0.5em; + border-radius: 0.25em; +} + +.grid-item:hover .grid-item-text { + overflow: visible; + white-space: normal; + background-color: #ececec; +} + +.grid-item:active .grid-item-text { + background-color: #dfdfdf; +} + +@media only screen and (min-width: 300px) { + .grid-item { + width: 50%; + } +} + +@media only screen and (min-width: 430px) { + .grid-item { + width: 33%; + } +} + +@media only screen and (min-width: 560px) { + .grid-item { + width: 25%; + } +} + +@media only screen and (min-width: 770px) { + .grid-item { + width: 20%; + } +} + +.status-info { + margin: 0 0.33em 0.25em; +} + +.interview_panel_stats, +.interview_panel_controls { + margin-bottom: 1em; +} + +/* Dark theme colors */ +body.dark { + background-color: #131313; + color: #b2c4dd; + scrollbar-base-color: #1c1c1c; + scrollbar-face-color: #3b3b3b; + scrollbar-3dlight-color: #252525; + scrollbar-highlight-color: #252525; + scrollbar-track-color: #1c1c1c; + scrollbar-arrow-color: #929292; + scrollbar-shadow-color: #3b3b3b; +} + +.dark a { + color: #6699ff; +} + +.dark a:hover, +.dark .grid-item:hover, +.dark .grid-item:active { + color: #80bfff; +} + +.dark #menu { + background-color: #131313; +} + +.dark #menu.tabs-classic .button.active { + background-color: #20b142; +} + +.dark .button { + color: rgba(255, 255, 255, 0.5); +} + +.dark .button:hover { + background-color: #252525; +} + +.dark .button.active { + background-color: #313131; + color: #d4dfec; + border-bottom-color: #d4dfec; +} + +.dark #under-menu { + background-color: #202020; +} + +.dark .grid-item{ + color: #b2c4dd; +} + +.dark .grid-item:hover .grid-item-text { + background-color: #252525; +} + +.dark .grid-item:active .grid-item-text { + background-color: #313131; +} + +/* required for alt click menu */ +.link { + display: inline; + background: none; + border: none; + padding: 7px 14px; + color: black; + text-decoration: none; + cursor: pointer; + font-size: 13px; + margin: 2px 2px; +} + +.linkelem { + display: inline; + background: none; + border: none; + padding: 0px 14px; + color: black; + text-decoration: none; + cursor: pointer; + font-size: 13px; + margin: 2px 2px; +} + +.dark .link { + color: #abc6ec; +} + +.dark .linkelem { + color: #abc6ec; +} + +.link:hover { + text-decoration: underline; +} + +.linkelem:hover { + text-decoration: underline; +} diff --git a/html/statbrowser.html b/html/statbrowser.html new file mode 100644 index 00000000000..ffd7425bd26 --- /dev/null +++ b/html/statbrowser.html @@ -0,0 +1,5 @@ +
      + +
      +
      +
      diff --git a/html/statbrowser.js b/html/statbrowser.js new file mode 100644 index 00000000000..032d5c1610f --- /dev/null +++ b/html/statbrowser.js @@ -0,0 +1,1096 @@ +// Polyfills and compatibility ------------------------------------------------ +var decoder = decodeURIComponent || unescape; +if (!Array.prototype.includes) { + Array.prototype.includes = function (thing) { + for (var i = 0; i < this.length; i++) { + if (this[i] == thing) return true; + } + return false; + } +} +if (!String.prototype.trim) { + String.prototype.trim = function () { + return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''); + }; +} + +// Status panel implementation ------------------------------------------------ +var status_tab_parts = ["Loading..."]; +var current_tab = null; +var mc_tab_parts = [["Loading...", ""]]; +var href_token = null; +var spells = []; +var spell_tabs = []; +var verb_tabs = []; +var verbs = [["", ""]]; // list with a list inside +var examine = []; +var tickets = []; +var misc = new Map(); +var sdql2 = []; +var permanent_tabs = []; // tabs that won't be cleared by wipes +var turfcontents = []; +var turfname = ""; +var imageRetryDelay = 500; +var imageRetryLimit = 50; +var menu = document.getElementById('menu'); +var statcontentdiv = document.getElementById('statcontent'); +var storedimages = []; +var split_admin_tabs = false; + +// Any BYOND commands that could result in the client's focus changing go through this +// to ensure that when we relinquish our focus, we don't do it after the result of +// a command has already taken focus for itself. +function run_after_focus(callback) { + setTimeout(callback, 0); +} + +function createStatusTab(name) { + if (name.indexOf(".") != -1) { + var splitName = name.split("."); + if (split_admin_tabs && splitName[0] === "Admin") + name = splitName[1]; + else + name = splitName[0]; + } + if (document.getElementById(name) || name.trim() == "") { + return; + } + if (!verb_tabs.includes(name) && !permanent_tabs.includes(name)) { + return; + } + var button = document.createElement("DIV"); + button.onclick = function () { + tab_change(name); + this.blur(); + statcontentdiv.focus(); + }; + button.id = name; + button.textContent = name; + button.className = "button"; + //ORDERING ALPHABETICALLY + button.style.order = name.charCodeAt(0); + if (name == "Status" || name == "MC") { + button.style.order = name == "Status" ? 1 : 2; + } + if (name == "Tickets") { + button.style.order = 3; + } + //END ORDERING + menu.appendChild(button); + SendTabToByond(name); +} + +function removeStatusTab(name) { + if (!document.getElementById(name) || permanent_tabs.includes(name)) { + return; + } + for (var i = verb_tabs.length - 1; i >= 0; --i) { + if (verb_tabs[i] == name) { + verb_tabs.splice(i, 1); + } + } + menu.removeChild(document.getElementById(name)); + TakeTabFromByond(name); +} + +function sortVerbs() { + verbs.sort(function (a, b) { + var selector = a[0] == b[0] ? 1 : 0; + if (a[selector].toUpperCase() < b[selector].toUpperCase()) { + return 1; + } + else if (a[selector].toUpperCase() > b[selector].toUpperCase()) { + return -1; + } + return 0; + }) +} + +function addPermanentTab(name) { + if (!permanent_tabs.includes(name)) { + permanent_tabs.push(name); + } + createStatusTab(name); +} + +function removePermanentTab(name) { + for (var i = permanent_tabs.length - 1; i >= 0; --i) { + if (permanent_tabs[i] == name) { + permanent_tabs.splice(i, 1); + } + } + removeStatusTab(name); +} + +function checkStatusTab() { + for (var i = 0; i < menu.children.length; i++) { + if (!verb_tabs.includes(menu.children[i].id) && !permanent_tabs.includes(menu.children[i].id)) { + menu.removeChild(menu.children[i]); + } + } +} + +function remove_verb(v) { + var verb_to_remove = v; // to_remove = [verb:category, verb:name] + for (var i = verbs.length - 1; i >= 0; i--) { + var part_to_remove = verbs[i]; + if (part_to_remove[1] == verb_to_remove[1]) { + verbs.splice(i, 1); + } + } +} + +function check_verbs() { + for (var v = verb_tabs.length - 1; v >= 0; v--) { + verbs_cat_check(verb_tabs[v]); + } +} + +function verbs_cat_check(cat) { + var tabCat = cat; + if (cat.indexOf(".") != -1) { + var splitName = cat.split("."); + if (split_admin_tabs && splitName[0] === "Admin") + tabCat = splitName[1]; + else + tabCat = splitName[0]; + } + var verbs_in_cat = 0; + var verbcat = ""; + if (!verb_tabs.includes(tabCat)) { + removeStatusTab(tabCat); + return; + } + for (var v = 0; v < verbs.length; v++) { + var part = verbs[v]; + verbcat = part[0]; + if (verbcat.indexOf(".") != -1) { + var splitName = verbcat.split("."); + if (split_admin_tabs && splitName[0] === "Admin") + verbcat = splitName[1]; + else + verbcat = splitName[0]; + } + if (verbcat != tabCat || verbcat.trim() == "") { + continue; + } + else { + verbs_in_cat = 1; + break; // we only need one + } + } + if (verbs_in_cat != 1) { + removeStatusTab(tabCat); + if (current_tab == tabCat) + tab_change("Status"); + } +} + +function findVerbindex(name, verblist) { + for (var i = 0; i < verblist.length; i++) { + var part = verblist[i]; + if (part[1] == name) + return i; + } +} +function wipe_verbs() { + verbs = [["", ""]]; + verb_tabs = []; + checkStatusTab(); // remove all empty verb tabs +} + +function update_verbs() { + wipe_verbs(); + Byond.sendMessage("Update-Verbs"); +} + +function SendTabsToByond() { + var tabstosend = []; + tabstosend = tabstosend.concat(permanent_tabs, verb_tabs); + for (var i = 0; i < tabstosend.length; i++) { + SendTabToByond(tabstosend[i]); + } +} + +function SendTabToByond(tab) { + Byond.sendMessage("Send-Tabs", {tab: tab}); +} + +//Byond can't have this tab anymore since we're removing it +function TakeTabFromByond(tab) { + Byond.sendMessage("Remove-Tabs", {tab: tab}); +} + +function spell_cat_check(cat) { + var spells_in_cat = 0; + var spellcat = ""; + for (var s = 0; s < spells.length; s++) { + var spell = spells[s]; + spellcat = spell[0]; + if (spellcat == cat) { + spells_in_cat++; + } + } + if (spells_in_cat < 1) { + removeStatusTab(cat); + } +} + +function tab_change(tab) { + if (tab == current_tab) return; + if (document.getElementById(current_tab)) + document.getElementById(current_tab).className = "button"; // disable active on last button + current_tab = tab; + set_byond_tab(tab); + if (document.getElementById(tab)) + document.getElementById(tab).className = "button active"; // make current button active + var spell_tabs_thingy = (spell_tabs.includes(tab)); + var verb_tabs_thingy = (verb_tabs.includes(tab)); + if (tab == "Status") { + draw_status(); + } else if (tab == "MC") { + draw_mc(); + } else if (spell_tabs_thingy) { + draw_spells(tab); + } else if (verb_tabs_thingy) { + draw_verbs(tab); + } else if (tab == "Debug Stat Panel") { + draw_debug(); + } else if (tab == "Tickets") { + draw_tickets(); + } else if (misc.has(tab)) { + draw_misc(tab); + } else if (tab == "Examine") { + draw_examine(); + } else if (tab == "SDQL2") { + draw_sdql2(); + } else if (tab == turfname) { + draw_listedturf(); + } else { + statcontentdiv.textContext = "Loading..."; + } + Byond.winset(Byond.windowId, { + 'is-visible': true, + }); +} + +function set_byond_tab(tab) { + Byond.sendMessage("Set-Tab", {tab: tab}); +} + +function draw_examine() { + statcontentdiv.textContent = ""; + var div_content = document.createElement("div"); + for (var i = 0; i < examine.length; i++) { + var parameter = document.createElement('p'); + parameter.innerHTML = examine[i]; + div_content.appendChild(parameter); + } + var images = div_content.querySelectorAll("img"); + for (var i = 0; i < images.length; i++) { + images[i].addEventListener("error", iconError); + } + document.getElementById("statcontent").appendChild(div_content); +} + +function draw_debug() { + statcontentdiv.textContent = ""; + var wipeverbstabs = document.createElement("div"); + var link = document.createElement("a"); + link.onclick = function () { wipe_verbs() }; + link.textContent = "Wipe All Verbs"; + wipeverbstabs.appendChild(link); + document.getElementById("statcontent").appendChild(wipeverbstabs); + var wipeUpdateVerbsTabs = document.createElement("div"); + var updateLink = document.createElement("a"); + updateLink.onclick = function () { update_verbs() }; + updateLink.textContent = "Wipe and Update All Verbs"; + wipeUpdateVerbsTabs.appendChild(updateLink); + document.getElementById("statcontent").appendChild(wipeUpdateVerbsTabs); + var text = document.createElement("div"); + text.textContent = "Verb Tabs:"; + document.getElementById("statcontent").appendChild(text); + var table1 = document.createElement("table"); + for (var i = 0; i < verb_tabs.length; i++) { + var part = verb_tabs[i]; + // Hide subgroups except admin subgroups if they are split + if (verb_tabs[i].lastIndexOf(".") != -1) { + var splitName = verb_tabs[i].split("."); + if (split_admin_tabs && splitName[0] === "Admin") + part = splitName[1]; + else + continue; + } + var tr = document.createElement("tr"); + var td1 = document.createElement("td"); + td1.textContent = part; + var a = document.createElement("a"); + a.onclick = function (part) { + return function () { removeStatusTab(part) }; + }(part); + a.textContent = " Delete Tab " + part; + td1.appendChild(a); + tr.appendChild(td1); + table1.appendChild(tr); + } + document.getElementById("statcontent").appendChild(table1); + var header2 = document.createElement("div"); + header2.textContent = "Verbs:"; + document.getElementById("statcontent").appendChild(header2); + var table2 = document.createElement("table"); + for (var v = 0; v < verbs.length; v++) { + var part2 = verbs[v]; + var trr = document.createElement("tr"); + var tdd1 = document.createElement("td"); + tdd1.textContent = part2[0]; + var tdd2 = document.createElement("td"); + tdd2.textContent = part2[1]; + trr.appendChild(tdd1); + trr.appendChild(tdd2); + table2.appendChild(trr); + } + document.getElementById("statcontent").appendChild(table2); + var text3 = document.createElement("div"); + text3.textContent = "Permanent Tabs:"; + document.getElementById("statcontent").appendChild(text3); + var table3 = document.createElement("table"); + for (var i = 0; i < permanent_tabs.length; i++) { + var part3 = permanent_tabs[i]; + var trrr = document.createElement("tr"); + var tddd1 = document.createElement("td"); + tddd1.textContent = part3; + trrr.appendChild(tddd1); + table3.appendChild(trrr); + } + document.getElementById("statcontent").appendChild(table3); + +} +function draw_status() { + if (!document.getElementById("Status")) { + createStatusTab("Status"); + current_tab = "Status"; + } + statcontentdiv.textContent = ''; + for (var i = 0; i < status_tab_parts.length; i++) { + if (status_tab_parts[i].trim() == "") { + document.getElementById("statcontent").appendChild(document.createElement("br")); + } else { + var div = document.createElement("div"); + div.textContent = status_tab_parts[i]; + div.className = "status-info"; + document.getElementById("statcontent").appendChild(div); + } + } + if (verb_tabs.length == 0 || !verbs) { + Byond.command("Fix-Stat-Panel"); + } +} + +function draw_mc() { + statcontentdiv.textContent = ""; + var table = document.createElement("table"); + for (var i = 0; i < mc_tab_parts.length; i++) { + var part = mc_tab_parts[i]; + var tr = document.createElement("tr"); + var td1 = document.createElement("td"); + td1.textContent = part[0]; + var td2 = document.createElement("td"); + if (part[2]) { + var a = document.createElement("a"); + a.href = "?_src_=vars;admin_token=" + href_token + ";Vars=" + part[2]; + a.textContent = part[1]; + td2.appendChild(a); + } else { + td2.textContent = part[1]; + } + tr.appendChild(td1); + tr.appendChild(td2); + table.appendChild(tr); + } + document.getElementById("statcontent").appendChild(table); +} + +function remove_tickets() { + if (tickets) { + tickets = []; + removePermanentTab("Tickets"); + if (current_tab == "Tickets") + tab_change("Status"); + } + checkStatusTab(); +} + +function remove_sdql2() { + if (sdql2) { + sdql2 = []; + removePermanentTab("SDQL2"); + if (current_tab == "SDQL2") + tab_change("Status"); + } + checkStatusTab(); +} + +function iconError(e) { + setTimeout(function () { + if(current_tab != turfname && current_tab != "Examine") { + return; + } + var node = e.target; + var current_attempts = Number(node.getAttribute("data-attempts")) || 0; + if (current_attempts > imageRetryLimit) { + return; + } + var src = node.src; + node.src = null; + node.src = src + '#' + current_attempts; + node.setAttribute("data-attempts", current_attempts + 1); + }, imageRetryDelay); +} + +function draw_listedturf() { + statcontentdiv.textContent = ""; + var table = document.createElement("table"); + for (var i = 0; i < turfcontents.length; i++) { + var part = turfcontents[i]; + if (storedimages[part[1]] == null && part[2]) { + var img = document.createElement("img"); + img.src = part[2]; + img.id = part[1]; + storedimages[part[1]] = part[2]; + img.onerror = iconError; + table.appendChild(img); + } else { + var img = document.createElement("img"); + img.onerror = iconError; + img.src = storedimages[part[1]]; + img.id = part[1]; + table.appendChild(img); + } + var b = document.createElement("div"); + var clickcatcher = ""; + b.className = "link"; + b.onmousedown = function (part) { + // The outer function is used to close over a fresh "part" variable, + // rather than every onmousedown getting the "part" of the last entry. + return function (e) { + e.preventDefault(); + clickcatcher = "?src=" + part[1]; + switch (e.button) { + case 1: + clickcatcher += ";statpanel_item_click=middle"; + break; + case 2: + clickcatcher += ";statpanel_item_click=right"; + break; + default: + clickcatcher += ";statpanel_item_click=left"; + } + if (e.shiftKey) { + clickcatcher += ";statpanel_item_shiftclick=1"; + } + if (e.ctrlKey) { + clickcatcher += ";statpanel_item_ctrlclick=1"; + } + if (e.altKey) { + clickcatcher += ";statpanel_item_altclick=1"; + } + window.location.href = clickcatcher; + } + }(part); + b.textContent = part[0]; + table.appendChild(b); + table.appendChild(document.createElement("br")); + } + statcontentdiv.appendChild(table); +} + +function remove_listedturf() { + removePermanentTab(turfname); + checkStatusTab(); + if (current_tab == turfname) { + tab_change("Status"); + } +} + +function remove_mc() { + removePermanentTab("MC"); + if (current_tab == "MC") { + tab_change("Status"); + } +}; + +function draw_sdql2() { + statcontentdiv.textContent = ""; + var table = document.createElement("table"); + for (var i = 0; i < sdql2.length; i++) { + var part = sdql2[i]; + var tr = document.createElement("tr"); + var td1 = document.createElement("td"); + td1.textContent = part[0]; + var td2 = document.createElement("td"); + if (part[2]) { + var a = document.createElement("a"); + a.href = "?src=" + part[2] + ";statpanel_item_click=left"; + a.textContent = part[1]; + td2.appendChild(a); + } else { + td2.textContent = part[1]; + } + tr.appendChild(td1); + tr.appendChild(td2); + table.appendChild(tr); + } + document.getElementById("statcontent").appendChild(table); +} + +function draw_tickets() { + statcontentdiv.textContent = ""; + var table = document.createElement("table"); + if (!tickets) { + return; + } + for (var i = 0; i < tickets.length; i++) { + var part = tickets[i]; + var tr = document.createElement("tr"); + var td1 = document.createElement("td"); + td1.textContent = part[0]; + var td2 = document.createElement("td"); + if (part[2]) { + var a = document.createElement("a"); + a.href = "?_src_=holder;admin_token=" + href_token + ";ahelp=" + part[2] + ";ahelp_action=ticket;statpanel_item_click=left;action=ticket"; + a.textContent = part[1]; + td2.appendChild(a); + } else if (part[3]) { + var a = document.createElement("a"); + a.href = "?src=" + part[3] + ";statpanel_item_click=left"; + a.textContent = part[1]; + td2.appendChild(a); + } else { + td2.textContent = part[1]; + } + tr.appendChild(td1); + tr.appendChild(td2); + table.appendChild(tr); + } + document.getElementById("statcontent").appendChild(table); +} + +function draw_misc(tab) { + statcontentdiv.textContent = ""; + var table = document.createElement("table"); + table.className = "elemcontainer"; + let data = misc.get(tab); + if (!data) { + return; + } + for (var i = 0; i < data.length; i++) { + var tr = document.createElement("tr"); + var part = data[i]; + + var td1 = document.createElement("td"); + if(part[0]) { + td1.className = "elem"; + td1.textContent = part[0]; + } + + var td2 = null; + if (part[1] && storedimages[part[1]] == null && part[2]) { + td2 = document.createElement("td"); + var img = document.createElement("img"); + img.src = part[2]; + img.id = part[1]; + storedimages[part[1]] = part[2]; + td2.appendChild(img); + } else if(part[1]) { + td2 = document.createElement("td"); + var img = document.createElement("img"); + img.src = storedimages[part[1]]; + img.id = part[1]; + td2.appendChild(img); + } + var td3 = null; + var b = document.createElement("div"); + var clickcatcher = ""; + if (part[4]) { + b.className = "linkelem"; + b.onmousedown = function (part) { + // The outer function is used to close over a fresh "part" variable, + // rather than every onmousedown getting the "part" of the last entry. + return function (e) { + e.preventDefault(); + clickcatcher = "?src=" + part[4]; + switch (e.button) { + case 1: + clickcatcher += ";statpanel_item_click=middle"; + break; + case 2: + clickcatcher += ";statpanel_item_click=right"; + break; + default: + clickcatcher += ";statpanel_item_click=left"; + } + if (e.shiftKey) { + clickcatcher += ";statpanel_item_shiftclick=1"; + } + if (e.ctrlKey) { + clickcatcher += ";statpanel_item_ctrlclick=1"; + } + if (e.altKey) { + clickcatcher += ";statpanel_item_altclick=1"; + } + window.location.href = clickcatcher; + } + }(part); + } + if(part[3]) { + td3 = document.createElement("td"); + b.textContent = part[3]; + td3.appendChild(b); + } + if(!td2 && !td3) { + td1.className = "elem_span3"; + td1.colSpan += 2; + } + else if (!td2) { + td1.className = "elem_span2"; + td1.colSpan += 1; + } else if (!td3) { + td2.colSpan += 1; + } + tr.appendChild(td1); + if(td2) { + tr.appendChild(td2); + } + if(td3) { + tr.appendChild(td3); + } + table.appendChild(tr); + } + document.getElementById("statcontent").appendChild(table); +} + +function draw_spells(cat) { + statcontentdiv.textContent = ""; + var table = document.createElement("table"); + for (var i = 0; i < spells.length; i++) { + var part = spells[i]; + if (part[0] != cat) continue; + var tr = document.createElement("tr"); + var td1 = document.createElement("td"); + td1.textContent = part[1]; + var td2 = document.createElement("td"); + if (part[3]) { + var a = document.createElement("a"); + a.href = "?src=" + part[3] + ";statpanel_item_click=left"; + a.textContent = part[2]; + td2.appendChild(a); + } else { + td2.textContent = part[2]; + } + tr.appendChild(td1); + tr.appendChild(td2); + table.appendChild(tr); + } + document.getElementById("statcontent").appendChild(table); +} + +function make_verb_onclick(command) { + return function () { + run_after_focus(function () { + Byond.command(command); + }); + }; +} + +function draw_verbs(cat) { + statcontentdiv.textContent = ""; + var table = document.createElement("div"); + var additions = {}; // additional sub-categories to be rendered + table.className = "grid-container"; + sortVerbs(); + if (split_admin_tabs && cat.lastIndexOf(".") != -1) { + var splitName = cat.split("."); + if (splitName[0] === "Admin") + cat = splitName[1]; + } + verbs.reverse(); // sort verbs backwards before we draw + for (var i = 0; i < verbs.length; ++i) { + var part = verbs[i]; + var name = part[0]; + if (split_admin_tabs && name.lastIndexOf(".") != -1) { + var splitName = name.split("."); + if (splitName[0] === "Admin") + name = splitName[1]; + } + var command = part[1]; + var desc = part[2]; + + if (command && name.lastIndexOf(cat, 0) != -1 && (name.length == cat.length || name.charAt(cat.length) == ".")) { + var subCat = name.lastIndexOf(".") != -1 ? name.split(".")[1] : null; + if (subCat && !additions[subCat]) { + var newTable = document.createElement("div"); + newTable.className = "grid-container"; + additions[subCat] = newTable; + } + + var a = document.createElement("a"); + a.href = "#"; + a.onclick = make_verb_onclick(command.replace(/\s/g, "-")); + a.className = "grid-item"; + a.title = desc || "No description"; + var t = document.createElement("span"); + t.textContent = command; + t.className = "grid-item-text"; + a.appendChild(t); + (subCat ? additions[subCat] : table).appendChild(a); + } + } + + // Append base table to view + var content = document.getElementById("statcontent"); + content.appendChild(table); + + // Append additional sub-categories if relevant + for (var cat in additions) { + if (additions.hasOwnProperty(cat)) { + // do addition here + var header = document.createElement("h3"); + header.textContent = cat; + content.appendChild(header); + content.appendChild(additions[cat]); + } + } +} + +function set_theme(which) { + if (which == "light" || which == "vchatlight") { + document.body.className = ""; + set_style_sheet("browserOutput_white"); + } else if (which == "dark" || which == "vchatdark") { + document.body.className = "dark"; + set_style_sheet("browserOutput"); + } +} + +function set_font_size(size) { + document.body.style.setProperty('font-size', size); +} + +function set_tabs_style(style) { + if (style == "default") { + menu.classList.add('menu-wrap'); + menu.classList.remove('tabs-classic'); + } else if (style == "classic") { + menu.classList.add('menu-wrap'); + menu.classList.add('tabs-classic'); + } else if (style == "scrollable") { + menu.classList.remove('menu-wrap'); + menu.classList.remove('tabs-classic'); + } +} + +function set_style_sheet(sheet) { + if (document.getElementById("goonStyle")) { + var currentSheet = document.getElementById("goonStyle"); + currentSheet.parentElement.removeChild(currentSheet); + } + var head = document.getElementsByTagName('head')[0]; + var sheetElement = document.createElement("link"); + sheetElement.id = "goonStyle"; + sheetElement.rel = "stylesheet"; + sheetElement.type = "text/css"; + sheetElement.href = sheet + ".css"; + sheetElement.media = 'all'; + head.appendChild(sheetElement); +} + +function restoreFocus() { + run_after_focus(function () { + Byond.winset('map', { + focus: true, + }); + }); +} + +function getCookie(cname) { + var name = cname + '='; + var ca = document.cookie.split(';'); + for (var i = 0; i < ca.length; i++) { + var c = ca[i]; + while (c.charAt(0) == ' ') c = c.substring(1); + if (c.indexOf(name) === 0) { + return decoder(c.substring(name.length, c.length)); + } + } + return ''; +} + +function add_verb_list(payload) { + var to_add = payload; // list of a list with category and verb inside it + to_add.sort(); // sort what we're adding + for (var i = 0; i < to_add.length; i++) { + var part = to_add[i]; + if (!part[0]) + continue; + var category = part[0]; + if (category.indexOf(".") != -1) { + var splitName = category.split("."); + if (split_admin_tabs && splitName[0] === "Admin") + category = splitName[1]; + else + category = splitName[0]; + } + if (findVerbindex(part[1], verbs)) + continue; + if (verb_tabs.includes(category)) { + verbs.push(part); + if (current_tab == category) { + draw_verbs(category); // redraw if we added a verb to the tab we're currently in + } + } else if (category) { + verb_tabs.push(category); + verbs.push(part); + createStatusTab(category); + } + } +}; + +function init_spells() { + var cat = ""; + for (var i = 0; i < spell_tabs.length; i++) { + cat = spell_tabs[i]; + if (cat.length > 0) { + verb_tabs.push(cat); + createStatusTab(cat); + } + } +} + +document.addEventListener("mouseup", restoreFocus); +document.addEventListener("keyup", restoreFocus); + +if (!current_tab) { + addPermanentTab("Status"); + tab_change("Status"); +} + +window.onload = function () { + Byond.sendMessage("Update-Verbs"); +}; + +Byond.subscribeTo('update_spells', function (payload) { + spell_tabs = payload.spell_tabs; + var do_update = false; + if (spell_tabs.includes(current_tab)) { + do_update = true; + } + init_spells(); + if (payload.actions) { + spells = payload.actions; + if (do_update) { + draw_spells(current_tab); + } + } else { + remove_spells(); + } +}); + +Byond.subscribeTo('remove_verb_list', function (v) { + var to_remove = v; + for (var i = 0; i < to_remove.length; i++) { + remove_verb(to_remove[i]); + } + check_verbs(); + sortVerbs(); + if (verb_tabs.includes(current_tab)) + draw_verbs(current_tab); +}); + +// passes a 2D list of (verbcategory, verbname) creates tabs and adds verbs to respective list +// example (IC, Say) +Byond.subscribeTo('init_verbs', function (payload) { + wipe_verbs(); // remove all verb categories so we can replace them + checkStatusTab(); // remove all status tabs + verb_tabs = payload.panel_tabs; + verb_tabs.sort(); // sort it + var do_update = false; + var cat = ""; + for (var i = 0; i < verb_tabs.length; i++) { + cat = verb_tabs[i]; + createStatusTab(cat); // create a category if the verb doesn't exist yet + } + if (verb_tabs.includes(current_tab)) { + do_update = true; + } + if (payload.verblist) { + add_verb_list(payload.verblist); + sortVerbs(); // sort them + if (do_update) { + draw_verbs(current_tab); + } + } + SendTabsToByond(); +}); + +Byond.subscribeTo('update_stat', function (payload) { + status_tab_parts = [payload.ping_str]; + var parsed = payload.global_data; + + for (var i = 0; i < parsed.length; i++) if (parsed[i] != null) status_tab_parts.push(parsed[i]); + + parsed = payload.other_str; + + for (var i = 0; i < parsed.length; i++) if (parsed[i] != null) status_tab_parts.push(parsed[i]); + + if (current_tab == "Status") { + draw_status(); + } else if (current_tab == "Debug Stat Panel") { + draw_debug(); + } +}); + +Byond.subscribeTo('update_mc', function (payload) { + mc_tab_parts = payload.mc_data; + mc_tab_parts.splice(0, 0, ["Location:", payload.coord_entry]); + + if (!verb_tabs.includes("MC")) { + verb_tabs.push("MC"); + } + + createStatusTab("MC"); + + if (current_tab == "MC") { + draw_mc(); + } +}); + +Byond.subscribeTo('remove_spells', function () { + for (var s = 0; s < spell_tabs.length; s++) { + removeStatusTab(spell_tabs[s]); + } +}); + +Byond.subscribeTo('init_spells', function () { + var cat = ""; + for (var i = 0; i < spell_tabs.length; i++) { + cat = spell_tabs[i]; + if (cat.length > 0) { + verb_tabs.push(cat); + createStatusTab(cat); + } + } +}); + +Byond.subscribeTo('check_spells', function () { + for (var v = 0; v < spell_tabs.length; v++) { + spell_cat_check(spell_tabs[v]); + } +}); + +Byond.subscribeTo('create_debug', function () { + if (!document.getElementById("Debug Stat Panel")) { + addPermanentTab("Debug Stat Panel"); + } else { + removePermanentTab("Debug Stat Panel"); + } +}); + +Byond.subscribeTo('create_listedturf', function (TN) { + remove_listedturf(); // remove the last one if we had one + turfname = TN; + addPermanentTab(turfname); + tab_change(turfname); +}); + +Byond.subscribeTo('create_misc', function (TN) { + addPermanentTab(TN); +}); + +Byond.subscribeTo('remove_misc', function (TN) { + removePermanentTab(TN); +}); + +Byond.subscribeTo('remove_admin_tabs', function () { + href_token = null; + remove_mc(); + remove_tickets(); + remove_sdql2(); +}); + +Byond.subscribeTo('update_listedturf', function (TC) { + turfcontents = TC; + if (current_tab == turfname) { + draw_listedturf(); + } +}); + +Byond.subscribeTo('update_misc', function (payload) { + let TN = payload.TN + let TC = payload.TC + misc.set(TN,TC); + if (current_tab == TN) { + draw_misc(TN); + } +}); + +Byond.subscribeTo('update_split_admin_tabs', function (status) { + status = (status == true); + + if (split_admin_tabs !== status) { + if (split_admin_tabs === true) { + removeStatusTab("Events"); + removeStatusTab("Fun"); + removeStatusTab("Game"); + } + update_verbs(); + } + split_admin_tabs = status; +}); + +Byond.subscribeTo('add_admin_tabs', function (ht) { + href_token = ht; + addPermanentTab("MC"); + addPermanentTab("Tickets"); +}); + +Byond.subscribeTo('update_examine', function (S) { + examine = S; + if (examine.length > 0 && !verb_tabs.includes("Examine")) { + verb_tabs.push("Examine"); + addPermanentTab("Examine") + } + if (current_tab == "Examine") { + draw_examine(); + } + //tab_change("Examine"); //This is handled by DM code and a pref setting already +}) + +Byond.subscribeTo('update_sdql2', function (S) { + sdql2 = S; + if (sdql2.length > 0 && !verb_tabs.includes("SDQL2")) { + verb_tabs.push("SDQL2"); + addPermanentTab("SDQL2"); + } + if (current_tab == "SDQL2") { + draw_sdql2(); + } +}); + +Byond.subscribeTo('update_tickets', function (T) { + tickets = T; + if (!verb_tabs.includes("Tickets")) { + verb_tabs.push("Tickets"); + addPermanentTab("Tickets"); + } + if (current_tab == "Tickets") { + draw_tickets(); + } +}); + +Byond.subscribeTo('remove_listedturf', remove_listedturf); + +Byond.subscribeTo('remove_sdql2', remove_sdql2); + +Byond.subscribeTo('remove_mc', remove_mc); + +Byond.subscribeTo('add_verb_list', add_verb_list); diff --git a/icons/UI_Icons/tgui/grid_background.png b/icons/UI_Icons/tgui/grid_background.png new file mode 100644 index 00000000000..228d373456c Binary files /dev/null and b/icons/UI_Icons/tgui/grid_background.png differ diff --git a/icons/effects/effects.dmi b/icons/effects/effects.dmi index 4df86b72fff..97643ad7a8c 100644 Binary files a/icons/effects/effects.dmi and b/icons/effects/effects.dmi differ diff --git a/icons/effects/env_message.dmi b/icons/effects/env_message.dmi new file mode 100644 index 00000000000..bb899e6c40e Binary files /dev/null and b/icons/effects/env_message.dmi differ diff --git a/icons/effects/mouse_pointers/screen_drag.dmi b/icons/effects/mouse_pointers/screen_drag.dmi new file mode 100644 index 00000000000..48e4fce85f7 Binary files /dev/null and b/icons/effects/mouse_pointers/screen_drag.dmi differ diff --git a/icons/hud/64x16_actions.dmi b/icons/hud/64x16_actions.dmi new file mode 100644 index 00000000000..812d888846e Binary files /dev/null and b/icons/hud/64x16_actions.dmi differ diff --git a/icons/hud/screen_gen.dmi b/icons/hud/screen_gen.dmi new file mode 100644 index 00000000000..86383abbef1 Binary files /dev/null and b/icons/hud/screen_gen.dmi differ diff --git a/icons/inventory/accessory/item.dmi b/icons/inventory/accessory/item.dmi index 75e7676a564..2e2f0fa9e60 100644 Binary files a/icons/inventory/accessory/item.dmi and b/icons/inventory/accessory/item.dmi differ diff --git a/icons/inventory/accessory/mob.dmi b/icons/inventory/accessory/mob.dmi index b831971994f..9c30c1c501d 100644 Binary files a/icons/inventory/accessory/mob.dmi and b/icons/inventory/accessory/mob.dmi differ diff --git a/icons/inventory/ears/mob.dmi b/icons/inventory/ears/mob.dmi index 95ec0e9c8a9..6071bf0efaa 100644 Binary files a/icons/inventory/ears/mob.dmi and b/icons/inventory/ears/mob.dmi differ diff --git a/icons/inventory/ears/mob_teshari.dmi b/icons/inventory/ears/mob_teshari.dmi index d41f5d871f2..69b6b42b0bc 100644 Binary files a/icons/inventory/ears/mob_teshari.dmi and b/icons/inventory/ears/mob_teshari.dmi differ diff --git a/icons/inventory/feet/mob_digi.dmi b/icons/inventory/feet/mob_digi.dmi index 71cecdb2cd6..04d2fa870d1 100644 Binary files a/icons/inventory/feet/mob_digi.dmi and b/icons/inventory/feet/mob_digi.dmi differ diff --git a/icons/inventory/hands/item.dmi b/icons/inventory/hands/item.dmi index 228d7999239..104a112bf1a 100644 Binary files a/icons/inventory/hands/item.dmi and b/icons/inventory/hands/item.dmi differ diff --git a/icons/inventory/hands/mob.dmi b/icons/inventory/hands/mob.dmi index e1825ca97c7..ab825c3513d 100644 Binary files a/icons/inventory/hands/mob.dmi and b/icons/inventory/hands/mob.dmi differ diff --git a/icons/inventory/uniform/item.dmi b/icons/inventory/uniform/item.dmi index 16b3b53f648..a08ddf8ed3a 100644 Binary files a/icons/inventory/uniform/item.dmi and b/icons/inventory/uniform/item.dmi differ diff --git a/icons/inventory/uniform/item_vr.dmi b/icons/inventory/uniform/item_vr.dmi index 6e0d72e90a2..59176816e67 100644 Binary files a/icons/inventory/uniform/item_vr.dmi and b/icons/inventory/uniform/item_vr.dmi differ diff --git a/icons/inventory/uniform/mob.dmi b/icons/inventory/uniform/mob.dmi index f6ec8e9285a..ab3112edf9a 100644 Binary files a/icons/inventory/uniform/mob.dmi and b/icons/inventory/uniform/mob.dmi differ diff --git a/icons/inventory/uniform/mob_vr.dmi b/icons/inventory/uniform/mob_vr.dmi index 487a0d9e178..aad2c467f9e 100644 Binary files a/icons/inventory/uniform/mob_vr.dmi and b/icons/inventory/uniform/mob_vr.dmi differ diff --git a/icons/mob/actions/backgrounds.dmi b/icons/mob/actions/backgrounds.dmi new file mode 100644 index 00000000000..c8f8b723f9e Binary files /dev/null and b/icons/mob/actions/backgrounds.dmi differ diff --git a/icons/mob/ears.dmi b/icons/mob/ears.dmi new file mode 100644 index 00000000000..3cbae70a3d8 Binary files /dev/null and b/icons/mob/ears.dmi differ diff --git a/icons/mob/feet.dmi b/icons/mob/feet.dmi new file mode 100644 index 00000000000..ccc2345e87b Binary files /dev/null and b/icons/mob/feet.dmi differ diff --git a/icons/mob/hands.dmi b/icons/mob/hands.dmi new file mode 100644 index 00000000000..c5434d96948 Binary files /dev/null and b/icons/mob/hands.dmi differ diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi index 3e8d60a5798..983a4f95b25 100644 Binary files a/icons/mob/head.dmi and b/icons/mob/head.dmi differ diff --git a/icons/mob/human.dmi b/icons/mob/human.dmi index 7ebbdc046f0..22bfb58bd1d 100644 Binary files a/icons/mob/human.dmi and b/icons/mob/human.dmi differ diff --git a/icons/mob/human_face_vr.dmi b/icons/mob/human_face_vr.dmi index 5da8720d000..372ce05bf45 100644 Binary files a/icons/mob/human_face_vr.dmi and b/icons/mob/human_face_vr.dmi differ diff --git a/icons/mob/human_races/markings_alt.dmi b/icons/mob/human_races/markings_alt.dmi index 5543599989f..8277898575b 100644 Binary files a/icons/mob/human_races/markings_alt.dmi and b/icons/mob/human_races/markings_alt.dmi differ diff --git a/icons/mob/human_races/markings_vox.dmi b/icons/mob/human_races/markings_vox.dmi index e60cb65e383..6fb8297552b 100644 Binary files a/icons/mob/human_races/markings_vox.dmi and b/icons/mob/human_races/markings_vox.dmi differ diff --git a/icons/mob/items/lefthand_melee.dmi b/icons/mob/items/lefthand_melee.dmi index da3401ccedf..bc4ea4cdc34 100644 Binary files a/icons/mob/items/lefthand_melee.dmi and b/icons/mob/items/lefthand_melee.dmi differ diff --git a/icons/mob/items/righthand_melee.dmi b/icons/mob/items/righthand_melee.dmi index fc8851a610a..a9e83e3046d 100644 Binary files a/icons/mob/items/righthand_melee.dmi and b/icons/mob/items/righthand_melee.dmi differ diff --git a/icons/mob/lefthand_holder.dmi b/icons/mob/lefthand_holder.dmi new file mode 100644 index 00000000000..e5cded14f13 Binary files /dev/null and b/icons/mob/lefthand_holder.dmi differ diff --git a/icons/mob/lleill_hud.dmi b/icons/mob/lleill_hud.dmi new file mode 100644 index 00000000000..704635dbbbf Binary files /dev/null and b/icons/mob/lleill_hud.dmi differ diff --git a/icons/mob/macrophage.dmi b/icons/mob/macrophage.dmi new file mode 100644 index 00000000000..3d8d5fdeabc Binary files /dev/null and b/icons/mob/macrophage.dmi differ diff --git a/icons/mob/pai_vr64x64.dmi b/icons/mob/pai_vr64x64.dmi index 53840e0ec6b..77bd95eaa4f 100644 Binary files a/icons/mob/pai_vr64x64.dmi and b/icons/mob/pai_vr64x64.dmi differ diff --git a/icons/mob/radial.dmi b/icons/mob/radial.dmi index bf14a197341..d38f1e63be5 100644 Binary files a/icons/mob/radial.dmi and b/icons/mob/radial.dmi differ diff --git a/icons/mob/righthand_holder.dmi b/icons/mob/righthand_holder.dmi new file mode 100644 index 00000000000..edc2e8d4d32 Binary files /dev/null and b/icons/mob/righthand_holder.dmi differ diff --git a/icons/mob/robot/janitor.dmi b/icons/mob/robot/janitor.dmi index 7410b353a75..3dbaa27a420 100644 Binary files a/icons/mob/robot/janitor.dmi and b/icons/mob/robot/janitor.dmi differ diff --git a/icons/mob/screen_full.dmi b/icons/mob/screen_full.dmi index e8602a41ced..14d3b54d9fc 100644 Binary files a/icons/mob/screen_full.dmi and b/icons/mob/screen_full.dmi differ diff --git a/icons/mob/screen_spells.dmi b/icons/mob/screen_spells.dmi index 4dd42bac21d..5ce66a1eaa0 100644 Binary files a/icons/mob/screen_spells.dmi and b/icons/mob/screen_spells.dmi differ diff --git a/icons/mob/spacesuit.dmi b/icons/mob/spacesuit.dmi new file mode 100644 index 00000000000..7fb16ee9cc2 Binary files /dev/null and b/icons/mob/spacesuit.dmi differ diff --git a/icons/mob/species/akula/helmet.dmi b/icons/mob/species/akula/helmet.dmi new file mode 100644 index 00000000000..816728e67f1 Binary files /dev/null and b/icons/mob/species/akula/helmet.dmi differ diff --git a/icons/mob/species/akula/suit.dmi b/icons/mob/species/akula/suit.dmi new file mode 100644 index 00000000000..6bb1a3c22f0 Binary files /dev/null and b/icons/mob/species/akula/suit.dmi differ diff --git a/icons/mob/species/fox/helmet.dmi b/icons/mob/species/fox/helmet.dmi new file mode 100644 index 00000000000..662cf2b5389 Binary files /dev/null and b/icons/mob/species/fox/helmet.dmi differ diff --git a/icons/mob/species/fox/suit.dmi b/icons/mob/species/fox/suit.dmi new file mode 100644 index 00000000000..6aaae8e1533 Binary files /dev/null and b/icons/mob/species/fox/suit.dmi differ diff --git a/icons/mob/species/protean/protean.dmi b/icons/mob/species/protean/protean.dmi index f644aa051a8..bbabb24a84d 100644 Binary files a/icons/mob/species/protean/protean.dmi and b/icons/mob/species/protean/protean.dmi differ diff --git a/icons/mob/species/protean/protean128x64.dmi b/icons/mob/species/protean/protean128x64.dmi new file mode 100644 index 00000000000..3a40f0c2092 Binary files /dev/null and b/icons/mob/species/protean/protean128x64.dmi differ diff --git a/icons/mob/species/protean/protean64x32.dmi b/icons/mob/species/protean/protean64x32.dmi new file mode 100644 index 00000000000..e5244c77bf5 Binary files /dev/null and b/icons/mob/species/protean/protean64x32.dmi differ diff --git a/icons/mob/species/protean/protean64x64.dmi b/icons/mob/species/protean/protean64x64.dmi new file mode 100644 index 00000000000..1a6fe757e81 Binary files /dev/null and b/icons/mob/species/protean/protean64x64.dmi differ diff --git a/icons/mob/species/protean/protean_powers.dmi b/icons/mob/species/protean/protean_powers.dmi index febd3522a03..efcd821a813 100644 Binary files a/icons/mob/species/protean/protean_powers.dmi and b/icons/mob/species/protean/protean_powers.dmi differ diff --git a/icons/mob/species/sergal/helmet.dmi b/icons/mob/species/sergal/helmet.dmi new file mode 100644 index 00000000000..3db73dd843c Binary files /dev/null and b/icons/mob/species/sergal/helmet.dmi differ diff --git a/icons/mob/species/sergal/suit.dmi b/icons/mob/species/sergal/suit.dmi new file mode 100644 index 00000000000..cb43d464232 Binary files /dev/null and b/icons/mob/species/sergal/suit.dmi differ diff --git a/icons/mob/species/skrell/helmet.dmi b/icons/mob/species/skrell/helmet.dmi new file mode 100644 index 00000000000..0d78858afd9 Binary files /dev/null and b/icons/mob/species/skrell/helmet.dmi differ diff --git a/icons/mob/species/skrell/suit.dmi b/icons/mob/species/skrell/suit.dmi new file mode 100644 index 00000000000..74d3cb4f021 Binary files /dev/null and b/icons/mob/species/skrell/suit.dmi differ diff --git a/icons/mob/species/tajaran/helmet.dmi b/icons/mob/species/tajaran/helmet.dmi new file mode 100644 index 00000000000..4ea01ddf643 Binary files /dev/null and b/icons/mob/species/tajaran/helmet.dmi differ diff --git a/icons/mob/species/tajaran/suit.dmi b/icons/mob/species/tajaran/suit.dmi new file mode 100644 index 00000000000..fc9e06c4cab Binary files /dev/null and b/icons/mob/species/tajaran/suit.dmi differ diff --git a/icons/mob/species/teshari/feet.dmi b/icons/mob/species/teshari/feet.dmi new file mode 100644 index 00000000000..3eeebe76dfd Binary files /dev/null and b/icons/mob/species/teshari/feet.dmi differ diff --git a/icons/mob/species/teshari/hands.dmi b/icons/mob/species/teshari/hands.dmi new file mode 100644 index 00000000000..cf74d73796c Binary files /dev/null and b/icons/mob/species/teshari/hands.dmi differ diff --git a/icons/mob/species/teshari/helmet.dmi b/icons/mob/species/teshari/helmet.dmi new file mode 100644 index 00000000000..124701a5266 Binary files /dev/null and b/icons/mob/species/teshari/helmet.dmi differ diff --git a/icons/mob/species/teshari/suit.dmi b/icons/mob/species/teshari/suit.dmi index 09d72fa4612..55b76f109c0 100644 Binary files a/icons/mob/species/teshari/suit.dmi and b/icons/mob/species/teshari/suit.dmi differ diff --git a/icons/mob/species/unathi/helmet.dmi b/icons/mob/species/unathi/helmet.dmi new file mode 100644 index 00000000000..10980c26b88 Binary files /dev/null and b/icons/mob/species/unathi/helmet.dmi differ diff --git a/icons/mob/species/unathi/suit.dmi b/icons/mob/species/unathi/suit.dmi new file mode 100644 index 00000000000..7bd66e6277a Binary files /dev/null and b/icons/mob/species/unathi/suit.dmi differ diff --git a/icons/mob/species/vox/gloves.dmi b/icons/mob/species/vox/gloves.dmi new file mode 100644 index 00000000000..043d409ab4f Binary files /dev/null and b/icons/mob/species/vox/gloves.dmi differ diff --git a/icons/mob/species/vox/head.dmi b/icons/mob/species/vox/head.dmi new file mode 100644 index 00000000000..5bfd81ffea7 Binary files /dev/null and b/icons/mob/species/vox/head.dmi differ diff --git a/icons/mob/species/vox/shoes.dmi b/icons/mob/species/vox/shoes.dmi new file mode 100644 index 00000000000..14a1c8ff2e2 Binary files /dev/null and b/icons/mob/species/vox/shoes.dmi differ diff --git a/icons/mob/species/vox/suit.dmi b/icons/mob/species/vox/suit.dmi new file mode 100644 index 00000000000..58ecc85ca4a Binary files /dev/null and b/icons/mob/species/vox/suit.dmi differ diff --git a/icons/mob/species/vulpkanin/helmet.dmi b/icons/mob/species/vulpkanin/helmet.dmi new file mode 100644 index 00000000000..39cf0a26a5c Binary files /dev/null and b/icons/mob/species/vulpkanin/helmet.dmi differ diff --git a/icons/mob/species/vulpkanin/suit.dmi b/icons/mob/species/vulpkanin/suit.dmi new file mode 100644 index 00000000000..1242aaf5b07 Binary files /dev/null and b/icons/mob/species/vulpkanin/suit.dmi differ diff --git a/icons/mob/species/xenomorph_hybrid/gloves.dmi b/icons/mob/species/xenomorph_hybrid/gloves.dmi new file mode 100644 index 00000000000..d723ac8a71d Binary files /dev/null and b/icons/mob/species/xenomorph_hybrid/gloves.dmi differ diff --git a/icons/mob/species/xenomorph_hybrid/helmet.dmi b/icons/mob/species/xenomorph_hybrid/helmet.dmi new file mode 100644 index 00000000000..9d1d68c6a7d Binary files /dev/null and b/icons/mob/species/xenomorph_hybrid/helmet.dmi differ diff --git a/icons/mob/species/xenomorph_hybrid/shoes.dmi b/icons/mob/species/xenomorph_hybrid/shoes.dmi new file mode 100644 index 00000000000..f52f13a184b Binary files /dev/null and b/icons/mob/species/xenomorph_hybrid/shoes.dmi differ diff --git a/icons/mob/species/xenomorph_hybrid/suit.dmi b/icons/mob/species/xenomorph_hybrid/suit.dmi new file mode 100644 index 00000000000..adf54281828 Binary files /dev/null and b/icons/mob/species/xenomorph_hybrid/suit.dmi differ diff --git a/icons/mob/suit.dmi b/icons/mob/suit.dmi new file mode 100644 index 00000000000..35400348492 Binary files /dev/null and b/icons/mob/suit.dmi differ diff --git a/icons/mob/turkey.dmi b/icons/mob/turkey.dmi new file mode 100644 index 00000000000..8f7d1db729a Binary files /dev/null and b/icons/mob/turkey.dmi differ diff --git a/icons/mob/uniform.dmi b/icons/mob/uniform.dmi index 9c210eb641c..0b5fd53fb22 100644 Binary files a/icons/mob/uniform.dmi and b/icons/mob/uniform.dmi differ diff --git a/icons/mob/vore.dmi b/icons/mob/vore.dmi index a0842ddb42b..33cc2020b06 100644 Binary files a/icons/mob/vore.dmi and b/icons/mob/vore.dmi differ diff --git a/icons/mob/vore/tails_vr.dmi b/icons/mob/vore/tails_vr.dmi index b8440c87412..85547136d50 100644 Binary files a/icons/mob/vore/tails_vr.dmi and b/icons/mob/vore/tails_vr.dmi differ diff --git a/icons/mob/vore/wings_vr.dmi b/icons/mob/vore/wings_vr.dmi index 1ddaa3d392c..10582e17521 100644 Binary files a/icons/mob/vore/wings_vr.dmi and b/icons/mob/vore/wings_vr.dmi differ diff --git a/icons/mob/vore64x32.dmi b/icons/mob/vore64x32.dmi index a530a26d00f..caf71698351 100644 Binary files a/icons/mob/vore64x32.dmi and b/icons/mob/vore64x32.dmi differ diff --git a/icons/mob/vore64x64.dmi b/icons/mob/vore64x64.dmi index 0c7458499b7..151210857c1 100644 Binary files a/icons/mob/vore64x64.dmi and b/icons/mob/vore64x64.dmi differ diff --git a/icons/mob/vore96x96.dmi b/icons/mob/vore96x96.dmi new file mode 100644 index 00000000000..3f6420148c9 Binary files /dev/null and b/icons/mob/vore96x96.dmi differ diff --git a/icons/obj/airlock_machines.dmi b/icons/obj/airlock_machines.dmi index 1f22e8e1989..9a24724c815 100644 Binary files a/icons/obj/airlock_machines.dmi and b/icons/obj/airlock_machines.dmi differ diff --git a/icons/obj/card_alt_vr.dmi b/icons/obj/card_alt_vr.dmi index d18adbb882f..b9e2db290c2 100644 Binary files a/icons/obj/card_alt_vr.dmi and b/icons/obj/card_alt_vr.dmi differ diff --git a/icons/obj/chemical.dmi b/icons/obj/chemical.dmi index 2dbb310fded..1ea17855596 100644 Binary files a/icons/obj/chemical.dmi and b/icons/obj/chemical.dmi differ diff --git a/icons/obj/device.dmi b/icons/obj/device.dmi index 6e3cd24503f..2a817ae4e0e 100644 Binary files a/icons/obj/device.dmi and b/icons/obj/device.dmi differ diff --git a/icons/obj/door_release.dmi b/icons/obj/door_release.dmi new file mode 100644 index 00000000000..669aa390b0b Binary files /dev/null and b/icons/obj/door_release.dmi differ diff --git a/icons/obj/drinks.dmi b/icons/obj/drinks.dmi index d15f3417d0e..2cfbcc9b50d 100644 Binary files a/icons/obj/drinks.dmi and b/icons/obj/drinks.dmi differ diff --git a/icons/obj/food.dmi b/icons/obj/food.dmi index 0729f894288..0133201cba5 100644 Binary files a/icons/obj/food.dmi and b/icons/obj/food.dmi differ diff --git a/icons/obj/furniture.dmi b/icons/obj/furniture.dmi index 6df4edab483..1abe1e3843e 100644 Binary files a/icons/obj/furniture.dmi and b/icons/obj/furniture.dmi differ diff --git a/icons/obj/items.dmi b/icons/obj/items.dmi index b09963ba6db..a7598b39a53 100644 Binary files a/icons/obj/items.dmi and b/icons/obj/items.dmi differ diff --git a/icons/obj/items_vr.dmi b/icons/obj/items_vr.dmi index c5ecf41b1ac..26286904c79 100644 Binary files a/icons/obj/items_vr.dmi and b/icons/obj/items_vr.dmi differ diff --git a/icons/obj/lockpicks.dmi b/icons/obj/lockpicks.dmi new file mode 100644 index 00000000000..11880cd0f52 Binary files /dev/null and b/icons/obj/lockpicks.dmi differ diff --git a/icons/obj/machines/petrification.dmi b/icons/obj/machines/petrification.dmi new file mode 100644 index 00000000000..932a461108a Binary files /dev/null and b/icons/obj/machines/petrification.dmi differ diff --git a/icons/obj/pandemic.dmi b/icons/obj/pandemic.dmi new file mode 100644 index 00000000000..870341bb870 Binary files /dev/null and b/icons/obj/pandemic.dmi differ diff --git a/icons/obj/pillows.dmi b/icons/obj/pillows.dmi index 276e8cb3c5f..b11e83ee617 100644 Binary files a/icons/obj/pillows.dmi and b/icons/obj/pillows.dmi differ diff --git a/icons/obj/playing_cards.dmi b/icons/obj/playing_cards.dmi index 0f2e51923a7..fd1679a3235 100644 Binary files a/icons/obj/playing_cards.dmi and b/icons/obj/playing_cards.dmi differ diff --git a/icons/obj/power_vrx96.dmi b/icons/obj/power_vrx96.dmi index ce0baf94598..5a9e7eda3d4 100644 Binary files a/icons/obj/power_vrx96.dmi and b/icons/obj/power_vrx96.dmi differ diff --git a/icons/obj/projectiles.dmi b/icons/obj/projectiles.dmi index ca6e269f7ff..a0c5b9027ed 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 054757d0f9d..faa70e7406f 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 52539c49a59..0a1591c484a 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 2052f93e961..b46e19c6644 100644 Binary files a/icons/obj/projectiles_tracer.dmi and b/icons/obj/projectiles_tracer.dmi differ diff --git a/icons/obj/radio_vr.dmi b/icons/obj/radio_vr.dmi index 480e3bcbff2..482f9c09f03 100644 Binary files a/icons/obj/radio_vr.dmi and b/icons/obj/radio_vr.dmi differ diff --git a/icons/obj/rig_modules_vr.dmi b/icons/obj/rig_modules_vr.dmi index 334a8e881ff..b09eb0d54c7 100644 Binary files a/icons/obj/rig_modules_vr.dmi and b/icons/obj/rig_modules_vr.dmi differ diff --git a/icons/obj/slimeborg/slimecore.dmi b/icons/obj/slimeborg/slimecore.dmi new file mode 100644 index 00000000000..761a44804cb Binary files /dev/null and b/icons/obj/slimeborg/slimecore.dmi differ diff --git a/icons/obj/stationobjs.dmi b/icons/obj/stationobjs.dmi index 52fcf970030..6658f0317d8 100644 Binary files a/icons/obj/stationobjs.dmi and b/icons/obj/stationobjs.dmi differ diff --git a/icons/obj/stock_parts.dmi b/icons/obj/stock_parts.dmi index 30baa36e3cd..dcb032ca655 100644 Binary files a/icons/obj/stock_parts.dmi and b/icons/obj/stock_parts.dmi differ diff --git a/icons/obj/stock_parts_vr.dmi b/icons/obj/stock_parts_vr.dmi index 8e48a4c0a30..6a90bf44852 100644 Binary files a/icons/obj/stock_parts_vr.dmi and b/icons/obj/stock_parts_vr.dmi differ diff --git a/icons/obj/trash.dmi b/icons/obj/trash.dmi index 8866b481c1d..482452e8ecc 100644 Binary files a/icons/obj/trash.dmi and b/icons/obj/trash.dmi differ diff --git a/icons/obj/weapons.dmi b/icons/obj/weapons.dmi index d54a4e1e416..23ca616c029 100644 Binary files a/icons/obj/weapons.dmi and b/icons/obj/weapons.dmi differ diff --git a/icons/rogue-star/loafs_64x32.dmi b/icons/rogue-star/loafs_64x32.dmi new file mode 100644 index 00000000000..23ee1451944 Binary files /dev/null and b/icons/rogue-star/loafs_64x32.dmi differ diff --git a/icons/rogue-star/tails_64x32_rs.dmi b/icons/rogue-star/tails_64x32_rs.dmi new file mode 100644 index 00000000000..72dac326eec Binary files /dev/null and b/icons/rogue-star/tails_64x32_rs.dmi differ diff --git a/interface/interface.dm b/interface/interface.dm index 1a2771d81bd..7042a2dda04 100644 --- a/interface/interface.dm +++ b/interface/interface.dm @@ -2,30 +2,30 @@ /client/verb/wiki(query as text) set name = "wiki" set desc = "Type what you want to know about. This will open the wiki on your web browser." - set category = "OOC" - if(config.wikiurl) + set category = "OOC.Resources" + if(CONFIG_GET(string/wikiurl)) if(query) - if(config.wikisearchurl) - var/output = replacetext(config.wikisearchurl, "%s", url_encode(query)) + if(CONFIG_GET(string/wikisearchurl)) + var/output = replacetext(CONFIG_GET(string/wikisearchurl), "%s", url_encode(query)) src << link(output) else - to_chat(src, " The wiki search URL is not set in the server configuration.") + to_chat(src, span_warning(" The wiki search URL is not set in the server configuration.")) else - src << link(config.wikiurl) + src << link(CONFIG_GET(string/wikiurl)) else - to_chat(src, "The wiki URL is not set in the server configuration.") + to_chat(src, span_warning("The wiki URL is not set in the server configuration.")) return /client/verb/forum() set name = "forum" set desc = "Visit the forum." set hidden = 1 - if( config.forumurl ) - if(tgui_alert(usr, "This will open the forum in your browser. Are you sure?","Visit Website",list("Yes","No"))=="No") + if(CONFIG_GET(string/forumurl)) + if(tgui_alert(usr, "This will open the forum in your browser. Are you sure?","Visit Website",list("Yes","No")) != "Yes") return - src << link(config.forumurl) + src << link(CONFIG_GET(string/forumurl)) else - to_chat(src, "The forum URL is not set in the server configuration.") + to_chat(src, span_warning("The forum URL is not set in the server configuration.")) return /client/verb/rules() @@ -33,12 +33,12 @@ set desc = "Show Server Rules." set hidden = 1 - if(config.rulesurl) - if(tgui_alert(usr, "This will open the rules in your browser. Are you sure?","Visit Website",list("Yes","No"))=="No") + if(CONFIG_GET(string/rulesurl)) + if(tgui_alert(usr, "This will open the rules in your browser. Are you sure?","Visit Website",list("Yes","No")) != "Yes") return - src << link(config.rulesurl) + src << link(CONFIG_GET(string/rulesurl)) else - to_chat(src, "The rules URL is not set in the server configuration.") + to_chat(src, span_danger("The rules URL is not set in the server configuration.")) return /client/verb/map() @@ -46,12 +46,12 @@ set desc = "See the map." set hidden = 1 - if(config.mapurl) - if(tgui_alert(usr, "This will open the map in your browser. Are you sure?","Visit Website",list("Yes","No"))=="No") + if(CONFIG_GET(string/mapurl)) + if(tgui_alert(usr, "This will open the map in your browser. Are you sure?","Visit Website",list("Yes","No")) != "Yes") return - src << link(config.mapurl) + src << link(CONFIG_GET(string/mapurl)) else - to_chat(src, "The map URL is not set in the server configuration.") + to_chat(src, span_danger("The map URL is not set in the server configuration.")) return /client/verb/github() @@ -59,12 +59,12 @@ set desc = "Visit the GitHub" set hidden = 1 - if(config.githuburl) - if(tgui_alert(usr, "This will open the GitHub in your browser. Are you sure?","Visit Website",list("Yes","No"))=="No") + if(CONFIG_GET(string/githuburl)) + if(tgui_alert(usr, "This will open the GitHub in your browser. Are you sure?","Visit Website",list("Yes","No")) != "Yes") return - src << link(config.githuburl) + src << link(CONFIG_GET(string/githuburl)) else - to_chat(src, "The GitHub URL is not set in the server configuration.") + to_chat(src, span_danger("The GitHub URL is not set in the server configuration.")) return /client/verb/discord() @@ -72,12 +72,12 @@ set desc = "Visit the discord" set hidden = 1 - if(config.discordurl) - if(tgui_alert(usr, "This will open the Discord in your browser. Are you sure?","Visit Website",list("Yes","No"))=="No") + if(CONFIG_GET(string/discordurl)) + if(tgui_alert(usr, "This will open the Discord in your browser. Are you sure?","Visit Website",list("Yes","No")) != "Yes") return - src << link(config.discordurl) + src << link(CONFIG_GET(string/discordurl)) else - to_chat(src, "The Discord URL is not set in the server configuration.") + to_chat(src, span_danger("The Discord URL is not set in the server configuration.")) return /client/verb/patreon() @@ -85,17 +85,17 @@ set desc = "Visit the patreon" set hidden = 1 - if(config.patreonurl) - if(tgui_alert(usr, "This will open the Patreon in your browser. Are you sure?","Visit Website",list("Yes","No"))=="No") + if(CONFIG_GET(string/patreonurl)) + if(tgui_alert(usr, "This will open the Patreon in your browser. Are you sure?","Visit Website",list("Yes","No")) != "Yes") return - src << link(config.patreonurl) + src << link(CONFIG_GET(string/patreonurl)) else - to_chat(src, "The Patreon URL is not set in the server configuration.") + to_chat(src, span_danger("The Patreon URL is not set in the server configuration.")) return /client/verb/hotkeys_help() set name = "hotkeys-help" - set category = "OOC" + set category = "OOC.Resources" var/admin = {" Admin: @@ -223,7 +223,7 @@ Any-Mode: (hotkey doesn't need to be on) /client/proc/set_hotkeys_macro(macro_name = "macro", hotkey_macro_name = "hotkeymode", hotkeys_enabled = null) // If hotkeys mode was not specified, fall back to choice of default in client preferences. if(isnull(hotkeys_enabled)) - hotkeys_enabled = is_preference_enabled(/datum/client_preference/hotkeys_default) + hotkeys_enabled = prefs?.read_preference(/datum/preference/toggle/hotkeys_default) if(hotkeys_enabled) winset(src, null, "mainwindow.macro=[hotkey_macro_name] hotkey_toggle.is-checked=true mapwindow.map.focus=true") diff --git a/interface/skin.dmf b/interface/skin.dmf index 43a268275a2..7af253a77e6 100644 --- a/interface/skin.dmf +++ b/interface/skin.dmf @@ -792,6 +792,12 @@ macro "hotkeymode" elem name = "CTRL+SHIFT+SUBTRACT" command = "planedown" + elem + name = "Space" + command = ".throwon" + elem + name = "Space+UP" + command = ".throwoff" macro "borgmacro" elem @@ -1149,6 +1155,20 @@ menu "menu" command = "hotkeys-help" category = "&Help" saved-params = "is-checked" + elem + name = "&Preferences" + command = "" + saved-params = "is-checked" + elem + name = "&Character Setup" + command = "character-setup" + category = "&Preferences" + saved-params = "is-checked" + elem + name = "&Game Options" + command = "game-options" + category = "&Preferences" + saved-params = "is-checked" window "mainwindow" elem "mainwindow" @@ -1326,19 +1346,17 @@ window "rpane" size = 640x480 anchor1 = -1,-1 anchor2 = -1,-1 - background-color = none saved-params = "pos;size;is-minimized;is-maximized" is-pane = true - outer-size = 656x538 - inner-size = 640x499 elem "rpanewindow" type = CHILD - pos = 0,-3 - size = 640x499 + pos = 0,30 + size = 640x445 anchor1 = 0,0 anchor2 = 100,100 background-color = none saved-params = "splitter" + left = "statwindow" right = "outputwindow" is-vert = false elem "patreon" @@ -1443,7 +1461,7 @@ window "rpane" is-visible = false saved-params = "is-checked" text = "Info" - command = ".winset \"rpanewindow.left=infowindow\"" + command = ".winset \"rpanewindow.left=statwindow\"" group = "rpanemode" button-type = pushbox elem "mediapanel" @@ -1500,28 +1518,6 @@ window "ooc_notes" anchor2 = 80,100 saved-params = "" -window "infowindow" - elem "infowindow" - type = MAIN - pos = 281,0 - size = 640x480 - anchor1 = -1,-1 - anchor2 = -1,-1 - saved-params = "pos;size;is-minimized;is-maximized" - title = "Info" - is-pane = true - elem "info" - type = INFO - pos = 0,0 - size = 638x477 - anchor1 = 0,0 - anchor2 = 100,100 - is-default = true - saved-params = "" - highlight-color = #00aa00 - on-show = ".winset\"rpane.infob.is-visible=true;rpane.browseb.is-visible=true?rpane.infob.pos=130,0:rpane.infob.pos=65,0 rpane.textb.is-visible=true rpane.infob.is-checked=true rpane.rpanewindow.pos=0,30 rpane.rpanewindow.size=0x0 rpane.rpanewindow.left=infowindow\"" - on-hide = ".winset\"rpane.infob.is-visible=false;rpane.browseb.is-visible=true?rpane.browseb.is-checked=true rpane.rpanewindow.left=browserwindow:rpane.textb.is-visible=true rpane.rpanewindow.pos=0,30 rpane.rpanewindow.size=0x0 rpane.rpanewindow.left=\"" - window "text_editor" elem "text_editor" type = MAIN @@ -1590,3 +1586,21 @@ window "tgui_say" anchor1 = 0,0 anchor2 = 0,0 saved-params = "" + +window "statwindow" + elem "statwindow" + type = MAIN + pos = 281,0 + size = 640x480 + anchor1 = -1,-1 + anchor2 = -1,-1 + saved-params = "pos;size;is-minimized;is-maximized" + is-pane = true + elem "statbrowser" + type = BROWSER + pos = 0,0 + size = 638x477 + anchor1 = 0,0 + anchor2 = 100,100 + is-visible = false + saved-params = "" diff --git a/interface/stylesheet.dm b/interface/stylesheet.dm index 623e41ac944..b1b4809c6d5 100644 --- a/interface/stylesheet.dm +++ b/interface/stylesheet.dm @@ -23,6 +23,8 @@ em {font-style: normal;font-weight: bold;} .bold { font-weight: bold;} +.underline { text-decoration: underline;} + .prefix {font-weight: bold;} .log_message {color: #386AFF; font-weight: bold;} @@ -85,7 +87,7 @@ em {font-style: normal;font-weight: bold;} .alert, .valert {color: #ff0000;} h1.alert, h2.alert {color: #000000;} .ghostalert {color: #5c00e6; font-style: italic; font-weight: bold;} - +.wingdings {font-family: Wingdings, Webdings} /* VOREStation Edit Start */ .emote {} @@ -102,9 +104,11 @@ h1.alert, h2.alert {color: #000000;} .critical {color: #ff0000; font-weight: bold; font-size: 150%;} .danger, .vdanger {color: #ff0000; font-weight: bold;} .warning, .vwarning {color: #ff0000; font-style: italic;} +.boldwarning {color: #ff0000; font-style: italic; font-weight: bold;} .rose {color: #ff5050;} .info {color: #0000CC;} .notice, .vnotice {color: #000099;} +.boldnoitce {color: #000099; font-weight: bold;} .alium {color: #00ff00;} .cult {color: #800080; font-weight: bold; font-style: italic;} @@ -141,6 +145,7 @@ h1.alert, h2.alert {color: #000000;} .spacer {color: #9c660b;} .blob {color: #ff950d; font-weight: bold; font-style: italic;} .teppi {color: #816540; word-spacing:4pt; font-family: "Segoe Script Bold","Segoe Script",sans-serif,Verdana;} +.marish {color: #9e31a4;} .shadekin {color: #be3cc5; font-size: 150%; font-weight: bold; font-family: "Gabriola", cursive, sans-serif;} .psionic {color: #993399;} /*YWedit*/ @@ -162,6 +167,7 @@ BIG IMG.icon {width: 32px; height: 32px;} .orange {color: #FF8C00;} .blue {color: #0000FF;} .green {color: #00DD00;} +.darkgreen {color: #008000;} .purple {color: #800080;} .yellow {color: #ffcc00;} .pink {color: #ffc0cb;} diff --git a/libbapi_dmm_reader.so b/libbapi_dmm_reader.so new file mode 100644 index 00000000000..601f5bf919d Binary files /dev/null and b/libbapi_dmm_reader.so differ diff --git a/libverdigris.so b/libverdigris.so new file mode 100644 index 00000000000..4ca0f436aa2 Binary files /dev/null and b/libverdigris.so differ diff --git a/maps/RandomZLevels/Academy.dmm b/maps/RandomZLevels/Academy.dmm index 8a4c25ea8cb..3fc1643693f 100644 --- a/maps/RandomZLevels/Academy.dmm +++ b/maps/RandomZLevels/Academy.dmm @@ -3,8 +3,8 @@ "ac" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/floor/plating,/area/awaymission/academy/headmaster) "ad" = (/obj/structure/filingcabinet/filingcabinet,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) "ae" = (/obj/structure/computerframe{anchored = 1},/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) -"af" = (/obj/structure/table/reinforced,/obj/item/weapon/pen/red,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) -"ag" = (/obj/structure/table/reinforced,/obj/item/weapon/folder/blue,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) +"af" = (/obj/structure/table/reinforced,/obj/item/pen/red,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) +"ag" = (/obj/structure/table/reinforced,/obj/item/folder/blue,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) "ah" = (/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) "ai" = (/obj/structure/stool/bed/chair/office/light{dir = 1},/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) "aj" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/apc{dir = 1; environ = 0; equipment = 3; locked = 0; req_access = ""},/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) @@ -14,28 +14,28 @@ "an" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) "ao" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) "ap" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) -"aq" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/drinks/coffee,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) -"ar" = (/obj/structure/table/reinforced,/obj/item/weapon/paper{info = "We're upgrading to the latest mainframes for our consoles, the shipment should be in before spring break is over!"; name = "Console Maintenance"},/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) +"aq" = (/obj/structure/table/reinforced,/obj/item/reagent_containers/food/drinks/coffee,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) +"ar" = (/obj/structure/table/reinforced,/obj/item/paper{info = "We're upgrading to the latest mainframes for our consoles, the shipment should be in before spring break is over!"; name = "Console Maintenance"},/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) "as" = (/turf/simulated/wall,/area/awaymission/academy/headmaster) "at" = (/obj/structure/mineral_door/wood,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) "au" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) "av" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) -"aw" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) +"aw" = (/obj/structure/table/reinforced,/obj/item/paper_bin,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) "ax" = (/obj/structure/stool,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) "ay" = (/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/wood,/area/awaymission/academy/headmaster) "az" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/item/stack/sheet/animalhide/monkey,/turf/simulated/floor/wood,/area/awaymission/academy/headmaster) "aA" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/wood,/area/awaymission/academy/headmaster) -"aB" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/purple,/turf/simulated/floor/wood,/area/awaymission/academy/headmaster) -"aC" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/drinks/tea,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) +"aB" = (/obj/structure/stool/bed,/obj/item/bedsheet/purple,/turf/simulated/floor/wood,/area/awaymission/academy/headmaster) +"aC" = (/obj/structure/table/reinforced,/obj/item/reagent_containers/food/drinks/tea,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) "aD" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) "aE" = (/obj/structure/filingcabinet,/turf/simulated/floor/wood,/area/awaymission/academy/headmaster) "aF" = (/turf/simulated/floor/wood,/area/awaymission/academy/headmaster) "aG" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) -"aH" = (/obj/structure/cult/tome,/obj/item/weapon/staff,/turf/simulated/floor/wood,/area/awaymission/academy/headmaster) +"aH" = (/obj/structure/cult/tome,/obj/item/staff,/turf/simulated/floor/wood,/area/awaymission/academy/headmaster) "aI" = (/obj/structure/stool/bed/chair/wood/wings{dir = 8},/turf/simulated/floor/wood,/area/awaymission/academy/headmaster) "aJ" = (/obj/item/clothing/suit/space/rig/wizard,/obj/item/clothing/head/helmet/space/rig/wizard,/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/awaymission/academy/headmaster) -"aK" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/briefcase,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) -"aL" = (/obj/structure/table/reinforced,/obj/item/weapon/coin/plasma,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) +"aK" = (/obj/structure/table/reinforced,/obj/item/storage/briefcase,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) +"aL" = (/obj/structure/table/reinforced,/obj/item/coin/plasma,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) "aM" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) "aN" = (/obj/structure/lattice,/turf/space,/area) "aO" = (/obj/machinery/door/airlock/gold{locked = 1},/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) @@ -46,21 +46,21 @@ "aT" = (/obj/structure/stool/bed/chair/office/dark,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) "aU" = (/obj/structure/reagent_dispensers/water_cooler,/turf/simulated/floor/wood,/area/awaymission/academy/headmaster) "aV" = (/obj/machinery/photocopier,/turf/simulated/floor/wood,/area/awaymission/academy/headmaster) -"aW" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) -"aX" = (/obj/structure/table/woodentable,/obj/item/weapon/folder/blue,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) -"aY" = (/obj/structure/table/woodentable,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/item/weapon/pen/red,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) -"aZ" = (/obj/structure/table/woodentable,/obj/item/weapon/staff,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) -"ba" = (/obj/structure/table/woodentable,/obj/item/weapon/hand_labeler,/turf/simulated/floor/wood,/area/awaymission/academy/headmaster) -"bb" = (/obj/structure/table/woodentable,/obj/item/weapon/pen/invisible,/turf/simulated/floor/wood,/area/awaymission/academy/headmaster) +"aW" = (/obj/structure/table/woodentable,/obj/item/paper_bin,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) +"aX" = (/obj/structure/table/woodentable,/obj/item/folder/blue,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) +"aY" = (/obj/structure/table/woodentable,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/item/pen/red,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) +"aZ" = (/obj/structure/table/woodentable,/obj/item/staff,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) +"ba" = (/obj/structure/table/woodentable,/obj/item/hand_labeler,/turf/simulated/floor/wood,/area/awaymission/academy/headmaster) +"bb" = (/obj/structure/table/woodentable,/obj/item/pen/invisible,/turf/simulated/floor/wood,/area/awaymission/academy/headmaster) "bc" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) -"bd" = (/obj/structure/table/woodentable,/obj/item/weapon/pen/red,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) +"bd" = (/obj/structure/table/woodentable,/obj/item/pen/red,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) "be" = (/obj/structure/table/woodentable,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) -"bf" = (/obj/structure/table/woodentable,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/item/weapon/dice/d20,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) -"bg" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/tea,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) -"bh" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin,/turf/simulated/floor/wood,/area/awaymission/academy/headmaster) +"bf" = (/obj/structure/table/woodentable,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/item/dice/d20,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) +"bg" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/food/drinks/tea,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) +"bh" = (/obj/structure/table/woodentable,/obj/item/paper_bin,/turf/simulated/floor/wood,/area/awaymission/academy/headmaster) "bi" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) "bj" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) -"bk" = (/obj/structure/table/woodentable,/obj/item/weapon/folder/blue,/turf/simulated/floor/wood,/area/awaymission/academy/headmaster) +"bk" = (/obj/structure/table/woodentable,/obj/item/folder/blue,/turf/simulated/floor/wood,/area/awaymission/academy/headmaster) "bl" = (/obj/machinery/light,/turf/simulated/floor/wood,/area/awaymission/academy/headmaster) "bm" = (/obj/structure/filingcabinet/chestdrawer,/turf/simulated/floor/wood,/area/awaymission/academy/headmaster) "bn" = (/obj/machinery/door/airlock/gold,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster) @@ -102,7 +102,7 @@ "bX" = (/turf/simulated/floor/engine,/area/awaymission/academy/classrooms) "bY" = (/obj/structure/target_stake,/obj/item/target/alien,/turf/simulated/floor/engine,/area/awaymission/academy/classrooms) "bZ" = (/obj/machinery/vending/cigarette,/turf/simulated/floor,/area/awaymission/academy/headmaster) -"ca" = (/obj/structure/table/standard,/obj/item/weapon/lighter/random,/turf/simulated/floor,/area/awaymission/academy/headmaster) +"ca" = (/obj/structure/table/standard,/obj/item/lighter/random,/turf/simulated/floor,/area/awaymission/academy/headmaster) "cb" = (/turf/simulated/floor{icon_state = "dark"},/area/awaymission/academy/headmaster) "cc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{ icon_state = "vault"; dir = 5},/area/awaymission/academy/headmaster) "cd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/awaymission/academy/headmaster) @@ -116,7 +116,7 @@ "cl" = (/obj/machinery/computer/area_atmos/area,/turf/simulated/floor{ icon_state = "vault"; dir = 5},/area/awaymission/academy/headmaster) "cm" = (/obj/machinery/portable_atmospherics/scrubber/huge/stationary,/turf/simulated/floor/plating,/area/awaymission/academy/headmaster) "cn" = (/obj/structure/stool,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/academy/headmaster) -"co" = (/obj/structure/table/standard,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/item/weapon/pen/red,/turf/simulated/floor,/area/awaymission/academy/classrooms) +"co" = (/obj/structure/table/standard,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/item/pen/red,/turf/simulated/floor,/area/awaymission/academy/classrooms) "cp" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/awaymission/academy/classrooms) "cq" = (/turf/simulated/shuttle/wall{ icon_state = "swall"; dir = 1},/area/awaymission/academy/classrooms) "cr" = (/obj/structure/stool/bed/chair,/turf/simulated/floor,/area/awaymission/academy/headmaster) @@ -145,8 +145,8 @@ "cO" = (/turf/simulated/floor{icon_state = "red"; dir = 6},/area/awaymission/academy/classrooms) "cP" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor,/area/awaymission/academy/headmaster) "cQ" = (/obj/machinery/light{dir = 8},/obj/machinery/portable_atmospherics/pump,/turf/simulated/floor{ icon_state = "vault"; dir = 5},/area/awaymission/academy/headmaster) -"cR" = (/obj/structure/closet/crate/internals,/obj/item/weapon/tank/oxygen,/obj/item/weapon/tank/oxygen/red,/turf/simulated/floor{icon_state = "dark"},/area/awaymission/academy/headmaster) -"cS" = (/obj/structure/closet/crate,/obj/item/weapon/crowbar/red,/turf/simulated/floor{ icon_state = "vault"; dir = 5},/area/awaymission/academy/headmaster) +"cR" = (/obj/structure/closet/crate/internals,/obj/item/tank/oxygen,/obj/item/tank/oxygen/red,/turf/simulated/floor{icon_state = "dark"},/area/awaymission/academy/headmaster) +"cS" = (/obj/structure/closet/crate,/obj/item/crowbar/red,/turf/simulated/floor{ icon_state = "vault"; dir = 5},/area/awaymission/academy/headmaster) "cT" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/structure/cable,/turf/simulated/floor/plating,/area/awaymission/academy/headmaster) "cU" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/awaymission/academy/classrooms) "cV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/simulated/floor,/area/awaymission/academy/classrooms) @@ -157,7 +157,7 @@ "da" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/wood,/area/awaymission/academy/classrooms) "db" = (/turf/simulated/floor/greengrid,/area/awaymission/academy/classrooms) "dc" = (/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/awaymission/academy/classrooms) -"dd" = (/obj/structure/table/woodentable,/obj/item/weapon/staff,/turf/simulated/floor/wood,/area/awaymission/academy/classrooms) +"dd" = (/obj/structure/table/woodentable,/obj/item/staff,/turf/simulated/floor/wood,/area/awaymission/academy/classrooms) "de" = (/turf/simulated/floor{dir = 9; icon_state = "green"},/area/awaymission/academy/classrooms) "df" = (/turf/simulated/floor{dir = 1; icon_state = "green"},/area/awaymission/academy/classrooms) "dg" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "green"},/area/awaymission/academy/classrooms) @@ -175,12 +175,12 @@ "ds" = (/obj/machinery/hydroponics,/obj/item/seeds/eggyseed,/turf/simulated/floor,/area/awaymission/academy/classrooms) "dt" = (/obj/machinery/hydroponics,/turf/simulated/floor,/area/awaymission/academy/classrooms) "du" = (/turf/simulated/floor{icon_state = "green"; dir = 4},/area/awaymission/academy/classrooms) -"dv" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/landmark{name = "awaystart"},/obj/item/weapon/weldingtool,/turf/simulated/floor/greengrid,/area/awaymission/academy/classrooms) +"dv" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/landmark{name = "awaystart"},/obj/item/weldingtool,/turf/simulated/floor/greengrid,/area/awaymission/academy/classrooms) "dw" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/greengrid,/area/awaymission/academy/classrooms) "dx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/greengrid,/area/awaymission/academy/classrooms) "dy" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor,/area/awaymission/academy/classrooms) "dz" = (/turf/simulated/floor/grass,/area/awaymission/academy/headmaster) -"dA" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor,/area/awaymission/academy/classrooms) +"dA" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/glass/bucket,/turf/simulated/floor,/area/awaymission/academy/classrooms) "dB" = (/obj/structure/closet/crate/hydroponics/prespawned,/turf/simulated/floor,/area/awaymission/academy/classrooms) "dC" = (/obj/machinery/door/airlock/freezer,/turf/simulated/floor{icon_state = "white"},/area/awaymission/academy/classrooms) "dD" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/awaymission/academy/classrooms) @@ -209,9 +209,9 @@ "ea" = (/turf/simulated/floor{dir = 8; icon_state = "yellowcorner"},/area/awaymission/academy/classrooms) "eb" = (/turf/simulated/floor{dir = 8; icon_state = "yellow"},/area/awaymission/academy/classrooms) "ec" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{dir = 4; icon_state = "yellow"},/area/awaymission/academy/classrooms) -"ed" = (/obj/structure/noticeboard{pixel_y = 32},/obj/item/weapon/paper{name = "Automotive Repair 101"},/turf/simulated/floor{icon_state = "grimy"},/area/awaymission/academy/classrooms) +"ed" = (/obj/structure/noticeboard{pixel_y = 32},/obj/item/paper{name = "Automotive Repair 101"},/turf/simulated/floor{icon_state = "grimy"},/area/awaymission/academy/classrooms) "ee" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "grimy"},/area/awaymission/academy/classrooms) -"ef" = (/obj/structure/noticeboard{pixel_y = 32},/obj/item/weapon/paper{name = "Pyromancy 250"},/turf/simulated/floor{icon_state = "grimy"},/area/awaymission/academy/classrooms) +"ef" = (/obj/structure/noticeboard{pixel_y = 32},/obj/item/paper{name = "Pyromancy 250"},/turf/simulated/floor{icon_state = "grimy"},/area/awaymission/academy/classrooms) "eg" = (/turf/simulated/floor{icon_state = "grimy"},/area/awaymission/academy/classrooms) "eh" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/apc{dir = 1; environ = 3; equipment = 3; locked = 0; req_access = ""},/turf/simulated/floor{icon_state = "grimy"},/area/awaymission/academy/classrooms) "ei" = (/turf/simulated/floor/carpet,/area/awaymission/academy/classrooms) @@ -254,7 +254,7 @@ "eT" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/awaymission/academy/classrooms) "eU" = (/obj/structure/mineral_door/wood,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/academy/classrooms) "eV" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor{icon_state = "escape"; dir = 6},/area/awaymission/academy/classrooms) -"eW" = (/obj/structure/table/standard,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/item/weapon/reagent_containers/food/snacks/spellburger,/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/awaymission/academy/classrooms) +"eW" = (/obj/structure/table/standard,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/item/reagent_containers/food/snacks/spellburger,/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/awaymission/academy/classrooms) "eX" = (/turf/simulated/floor/plating{ icon_state = "warnplate"; dir = 10},/area/awaymission/academy) "eY" = (/obj/structure/window/reinforced,/turf/simulated/floor,/area/awaymission/academy/classrooms) "eZ" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/carpet,/area/awaymission/academy/classrooms) @@ -278,7 +278,7 @@ "fr" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "yellow"},/area/awaymission/academy/classrooms) "fs" = (/turf/simulated/floor{dir = 1; icon_state = "yellowcorner"},/area/awaymission/academy/classrooms) "ft" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{dir = 4; icon_state = "yellow"},/area/awaymission/academy/classrooms) -"fu" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/structure/noticeboard{pixel_y = -32},/obj/item/weapon/paper{name = "Biology Lab"},/turf/simulated/floor{icon_state = "grimy"},/area/awaymission/academy/classrooms) +"fu" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/structure/noticeboard{pixel_y = -32},/obj/item/paper{name = "Biology Lab"},/turf/simulated/floor{icon_state = "grimy"},/area/awaymission/academy/classrooms) "fv" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "grimy"},/area/awaymission/academy/classrooms) "fw" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "grimy"},/area/awaymission/academy/classrooms) "fx" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/carpet,/area/awaymission/academy/classrooms) @@ -309,19 +309,19 @@ "fW" = (/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor/plating,/area/awaymission/academy/classrooms) "fX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/awaymission/academy/classrooms) "fY" = (/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/awaymission/academy/classrooms) -"fZ" = (/obj/structure/table/standard,/obj/item/weapon/pen/red,/turf/simulated/floor,/area/awaymission/academy/classrooms) -"ga" = (/obj/structure/table/standard,/obj/item/weapon/scalpel,/turf/simulated/floor{icon_state = "whitehall"; dir = 4},/area/awaymission/academy/classrooms) +"fZ" = (/obj/structure/table/standard,/obj/item/pen/red,/turf/simulated/floor,/area/awaymission/academy/classrooms) +"ga" = (/obj/structure/table/standard,/obj/item/scalpel,/turf/simulated/floor{icon_state = "whitehall"; dir = 4},/area/awaymission/academy/classrooms) "gb" = (/obj/structure/stool/bed/chair/wood/normal,/turf/simulated/floor/wood,/area/awaymission/academy/classrooms) -"gc" = (/obj/structure/bookcase,/obj/item/weapon/book/manual/engineering_hacking,/turf/simulated/floor/wood,/area/awaymission/academy/classrooms) +"gc" = (/obj/structure/bookcase,/obj/item/book/manual/wiki/engineering_hacking,/turf/simulated/floor/wood,/area/awaymission/academy/classrooms) "gd" = (/obj/structure/bookcase,/turf/simulated/floor/wood,/area/awaymission/academy/classrooms) "ge" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/simulated/floor{icon_state = "grimy"},/area/awaymission/academy/academyaft) "gf" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/carpet,/area/awaymission/academy/academyaft) "gg" = (/turf/simulated/floor{ icon_state = "vault"; dir = 5},/area/awaymission/academy/classrooms) "gh" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/recharger,/obj/structure/table/reinforced,/turf/simulated/floor{ icon_state = "vault"; dir = 5},/area/awaymission/academy/classrooms) -"gi" = (/obj/structure/table/reinforced,/obj/item/weapon/pen/red,/turf/simulated/floor{ icon_state = "vault"; dir = 5},/area/awaymission/academy/classrooms) +"gi" = (/obj/structure/table/reinforced,/obj/item/pen/red,/turf/simulated/floor{ icon_state = "vault"; dir = 5},/area/awaymission/academy/classrooms) "gj" = (/obj/structure/filingcabinet/filingcabinet,/turf/simulated/floor{ icon_state = "vault"; dir = 5},/area/awaymission/academy/classrooms) "gk" = (/obj/machinery/door/window{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/awaymission/academy/classrooms) -"gl" = (/obj/item/weapon/storage/box/monkeycubes,/turf/simulated/floor/plating,/area/awaymission/academy/classrooms) +"gl" = (/obj/item/storage/box/monkeycubes,/turf/simulated/floor/plating,/area/awaymission/academy/classrooms) "gm" = (/obj/machinery/door/window{dir = 4},/obj/machinery/door/window{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/awaymission/academy/classrooms) "gn" = (/obj/structure/table/standard,/turf/simulated/floor,/area/awaymission/academy/classrooms) "go" = (/turf/simulated/floor{icon_state = "whitehall"; dir = 4},/area/awaymission/academy/classrooms) @@ -329,7 +329,7 @@ "gq" = (/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/awaymission/academy/classrooms) "gr" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{icon_state = "whitehall"; dir = 4},/area/awaymission/academy/classrooms) "gs" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/wood,/area/awaymission/academy/classrooms) -"gt" = (/obj/structure/bookcase,/obj/item/weapon/book/manual/medical_cloning,/turf/simulated/floor/wood,/area/awaymission/academy/classrooms) +"gt" = (/obj/structure/bookcase,/obj/item/book/manual/medical_cloning,/turf/simulated/floor/wood,/area/awaymission/academy/classrooms) "gu" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{icon_state = "grimy"},/area/awaymission/academy/academyaft) "gv" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{ icon_state = "vault"; dir = 5},/area/awaymission/academy/classrooms) "gw" = (/obj/machinery/door/window{dir = 4},/obj/item/ammo_casing,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/awaymission/academy/classrooms) @@ -337,13 +337,13 @@ "gy" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/awaymission/academy/classrooms) "gz" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/simulated/floor/carpet,/area/awaymission/academy/academyaft) "gA" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/carpet,/area/awaymission/academy/academyaft) -"gB" = (/obj/structure/table/standard,/obj/item/weapon/gun/projectile/shotgun/pump/sc_pump,/obj/item/weapon/paper{info = "Grade: A+ Educator's Notes: Excellent form."; name = "Summoning Midterm Exam"},/turf/simulated/floor{ icon_state = "vault"; dir = 5},/area/awaymission/academy/classrooms) -"gC" = (/obj/structure/table/standard,/obj/item/weapon/gun/projectile/russian,/obj/item/weapon/paper{info = "Grade: B- Educator's Notes: Keep applying yourself, you're showing improvement."; name = "Summoning Midterm Exam"},/turf/simulated/floor{ icon_state = "vault"; dir = 5},/area/awaymission/academy/classrooms) +"gB" = (/obj/structure/table/standard,/obj/item/gun/projectile/shotgun/pump/sc_pump,/obj/item/paper{info = "Grade: A+ Educator's Notes: Excellent form."; name = "Summoning Midterm Exam"},/turf/simulated/floor{ icon_state = "vault"; dir = 5},/area/awaymission/academy/classrooms) +"gC" = (/obj/structure/table/standard,/obj/item/gun/projectile/russian,/obj/item/paper{info = "Grade: B- Educator's Notes: Keep applying yourself, you're showing improvement."; name = "Summoning Midterm Exam"},/turf/simulated/floor{ icon_state = "vault"; dir = 5},/area/awaymission/academy/classrooms) "gD" = (/obj/structure/table/standard,/turf/simulated/floor{ icon_state = "vault"; dir = 5},/area/awaymission/academy/classrooms) "gE" = (/obj/structure/window/reinforced,/obj/item/ammo_casing,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/awaymission/academy/classrooms) "gF" = (/mob/living/simple_animal/hostile/bear,/turf/simulated/floor/plating,/area/awaymission/academy/classrooms) -"gG" = (/obj/structure/bookcase,/obj/item/weapon/book/manual/hydroponics_pod_people,/turf/simulated/floor/wood,/area/awaymission/academy/classrooms) -"gH" = (/obj/structure/bookcase,/obj/item/weapon/book/manual/barman_recipes,/obj/item/weapon/book/manual/security_space_law,/obj/item/weapon/book/manual/security_space_law,/turf/simulated/floor/wood,/area/awaymission/academy/classrooms) +"gG" = (/obj/structure/bookcase,/obj/item/book/manual/hydroponics_pod_people,/turf/simulated/floor/wood,/area/awaymission/academy/classrooms) +"gH" = (/obj/structure/bookcase,/obj/item/book/manual/barman_recipes,/obj/item/book/manual/wiki/security_space_law,/obj/item/book/manual/wiki/security_space_law,/turf/simulated/floor/wood,/area/awaymission/academy/classrooms) "gI" = (/obj/structure/stool,/turf/simulated/floor{ icon_state = "vault"; dir = 5},/area/awaymission/academy/classrooms) "gJ" = (/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/awaymission/academy/classrooms) "gK" = (/obj/machinery/light/small{dir = 8},/mob/living/simple_animal/hostile/bear,/turf/simulated/floor/plating,/area/awaymission/academy/classrooms) @@ -352,7 +352,7 @@ "gN" = (/obj/machinery/door/airlock/gold{locked = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/carpet,/area/awaymission/academy/classrooms) "gO" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/simulated/floor{ icon_state = "vault"; dir = 5},/area/awaymission/academy/classrooms) "gP" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{ icon_state = "vault"; dir = 5},/area/awaymission/academy/classrooms) -"gQ" = (/obj/structure/table/standard,/obj/item/weapon/gun/energy/floragun,/obj/item/weapon/paper{info = "Grade: D- Educator's Notes: SEE ME AFTER CLASS."; name = "Summoning Midterm Exam"},/turf/simulated/floor{ icon_state = "vault"; dir = 5},/area/awaymission/academy/classrooms) +"gQ" = (/obj/structure/table/standard,/obj/item/gun/energy/floragun,/obj/item/paper{info = "Grade: D- Educator's Notes: SEE ME AFTER CLASS."; name = "Summoning Midterm Exam"},/turf/simulated/floor{ icon_state = "vault"; dir = 5},/area/awaymission/academy/classrooms) "gR" = (/obj/structure/closet/crate,/obj/item/stack/sheet/glass,/obj/item/target,/obj/item/target,/turf/simulated/floor,/area/awaymission/academy/classrooms) "gS" = (/obj/machinery/shieldwallgen,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/awaymission/academy/classrooms) "gT" = (/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/awaymission/academy/classrooms) @@ -372,7 +372,7 @@ "hh" = (/turf/simulated/floor,/area/awaymission/academy/academyaft) "hi" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/awaymission/academy/academyaft) "hj" = (/turf/simulated/floor{ icon_state = "green"; dir = 4},/area/awaymission/academy/academyaft) -"hk" = (/obj/item/weapon/crowbar/red,/turf/simulated/floor{ icon_state = "green"; dir = 4},/area/awaymission/academy/academyaft) +"hk" = (/obj/item/crowbar/red,/turf/simulated/floor{ icon_state = "green"; dir = 4},/area/awaymission/academy/academyaft) "hl" = (/turf/simulated/floor{icon_state = "hydrofloor"},/area/awaymission/academy/academyaft) "hm" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/awaymission/academy/academyaft) "hn" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor{icon_state = "hydrofloor"},/area/awaymission/academy/academyaft) @@ -391,7 +391,7 @@ "hA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/simulated/floor{ icon_state = "green"; dir = 4},/area/awaymission/academy/academyaft) "hB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/carpet,/area/awaymission/academy/academyaft) "hC" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/carpet,/area/awaymission/academy/academyaft) -"hD" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/item/weapon/caution,/turf/simulated/floor{ icon_state = "green"; dir = 4},/area/awaymission/academy/academyaft) +"hD" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/item/caution,/turf/simulated/floor{ icon_state = "green"; dir = 4},/area/awaymission/academy/academyaft) "hE" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/awaymission/academy/academyaft) "hF" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "hydrofloor"},/area/awaymission/academy/academyaft) "hG" = (/obj/machinery/constructable_frame/machine_frame,/turf/simulated/floor/plating,/area/awaymission/academy/academyaft) @@ -399,63 +399,63 @@ "hI" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{icon_state = "hydrofloor"},/area/awaymission/academy/academyaft) "hJ" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{icon_state = "hydrofloor"},/area/awaymission/academy/academyaft) "hK" = (/obj/structure/grille,/obj/structure/cable,/turf/simulated/floor/plating,/area/awaymission/academy/academyaft) -"hL" = (/obj/structure/closet,/obj/item/candle,/obj/item/candle,/obj/item/weapon/storage/box/matches,/turf/simulated/floor,/area/awaymission/academy/academyaft) -"hM" = (/obj/structure/closet,/obj/item/weapon/storage/belt/soulstone,/obj/item/clothing/under/schoolgirl,/turf/simulated/floor,/area/awaymission/academy/academyaft) +"hL" = (/obj/structure/closet,/obj/item/candle,/obj/item/candle,/obj/item/storage/box/matches,/turf/simulated/floor,/area/awaymission/academy/academyaft) +"hM" = (/obj/structure/closet,/obj/item/storage/belt/soulstone,/obj/item/clothing/under/schoolgirl,/turf/simulated/floor,/area/awaymission/academy/academyaft) "hN" = (/obj/structure/closet,/obj/item/clothing/under/blackskirt,/obj/item/clothing/glasses/regular,/turf/simulated/floor,/area/awaymission/academy/academyaft) "hO" = (/obj/structure/closet,/obj/item/clothing/under/lightpurple,/obj/item/clothing/shoes/sandal,/turf/simulated/floor,/area/awaymission/academy/academyaft) -"hP" = (/obj/structure/closet,/obj/item/weapon/lipstick/random,/obj/item/clothing/under/schoolgirl,/turf/simulated/floor,/area/awaymission/academy/academyaft) +"hP" = (/obj/structure/closet,/obj/item/lipstick/random,/obj/item/clothing/under/schoolgirl,/turf/simulated/floor,/area/awaymission/academy/academyaft) "hQ" = (/turf/simulated/floor/wood,/area/awaymission/academy/academyaft) -"hR" = (/obj/structure/closet,/obj/item/clothing/under/lightpurple,/obj/item/weapon/staff,/turf/simulated/floor,/area/awaymission/academy/academyaft) -"hS" = (/obj/structure/closet,/obj/item/weapon/storage/wallet/random,/obj/item/clothing/glasses/regular/hipster,/turf/simulated/floor,/area/awaymission/academy/academyaft) +"hR" = (/obj/structure/closet,/obj/item/clothing/under/lightpurple,/obj/item/staff,/turf/simulated/floor,/area/awaymission/academy/academyaft) +"hS" = (/obj/structure/closet,/obj/item/storage/wallet/random,/obj/item/clothing/glasses/regular/hipster,/turf/simulated/floor,/area/awaymission/academy/academyaft) "hT" = (/obj/structure/closet,/obj/item/clothing/head/wizard/fake,/obj/item/clothing/suit/wizrobe/fake,/turf/simulated/floor,/area/awaymission/academy/academyaft) -"hU" = (/obj/structure/closet,/obj/item/weapon/reagent_containers/food/drinks/beer,/obj/item/clothing/under/purple,/obj/item/weapon/contraband/poster,/turf/simulated/floor,/area/awaymission/academy/academyaft) -"hV" = (/obj/structure/closet,/obj/item/weapon/storage/box/snappops,/obj/item/weapon/storage/backpack,/obj/item/weapon/paper{info = "Current Grade: F. Educator's Notes: No improvement shown despite multiple private lessons. Suggest additional tutilage."; name = "Pyromancy Evaluation"},/turf/simulated/floor,/area/awaymission/academy/academyaft) +"hU" = (/obj/structure/closet,/obj/item/reagent_containers/food/drinks/beer,/obj/item/clothing/under/purple,/obj/item/contraband/poster,/turf/simulated/floor,/area/awaymission/academy/academyaft) +"hV" = (/obj/structure/closet,/obj/item/storage/box/snappops,/obj/item/storage/backpack,/obj/item/paper{info = "Current Grade: F. Educator's Notes: No improvement shown despite multiple private lessons. Suggest additional tutilage."; name = "Pyromancy Evaluation"},/turf/simulated/floor,/area/awaymission/academy/academyaft) "hW" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{icon_state = "hydrofloor"},/area/awaymission/academy/academyaft) "hX" = (/obj/effect/decal/cleanable/oil,/turf/simulated/floor,/area/awaymission/academy/academyaft) "hY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/power/smes/magical,/turf/simulated/floor/plating,/area/awaymission/academy/academyaft) "hZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor,/area/awaymission/academy/academyaft) "ia" = (/obj/structure/rack,/turf/simulated/floor{icon_state = "hydrofloor"},/area/awaymission/academy/academyaft) "ib" = (/turf/simulated/floor/grass,/area/awaymission/academy/academyaft) -"ic" = (/obj/structure/rack,/obj/item/weapon/circuitboard/telecomms/broadcaster,/obj/item/weapon/circuitboard/telecomms/receiver,/obj/item/weapon/circuitboard/telecomms/relay,/turf/simulated/floor{icon_state = "hydrofloor"},/area/awaymission/academy/academyaft) +"ic" = (/obj/structure/rack,/obj/item/circuitboard/telecomms/broadcaster,/obj/item/circuitboard/telecomms/receiver,/obj/item/circuitboard/telecomms/relay,/turf/simulated/floor{icon_state = "hydrofloor"},/area/awaymission/academy/academyaft) "id" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor,/area/awaymission/academy/academyaft) "ie" = (/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/awaymission/academy/academyaft) "if" = (/obj/structure/mirror{pixel_y = 28},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/awaymission/academy/academyaft) "ig" = (/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/awaymission/academy/academyaft) -"ih" = (/obj/structure/rack,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/subspace/crystal,/obj/item/weapon/stock_parts/subspace/filter,/obj/item/weapon/stock_parts/micro_laser/high,/obj/item/weapon/stock_parts/micro_laser/high,/turf/simulated/floor,/area/awaymission/academy/academyaft) +"ih" = (/obj/structure/rack,/obj/item/stock_parts/manipulator,/obj/item/stock_parts/manipulator,/obj/item/stock_parts/subspace/crystal,/obj/item/stock_parts/subspace/filter,/obj/item/stock_parts/micro_laser/high,/obj/item/stock_parts/micro_laser/high,/turf/simulated/floor,/area/awaymission/academy/academyaft) "ii" = (/obj/machinery/power/smes/magical,/obj/structure/cable,/turf/simulated/floor/plating,/area/awaymission/academy/academyaft) "ij" = (/obj/structure/rack,/obj/item/clothing/glasses/welding,/turf/simulated/floor,/area/awaymission/academy/academyaft) "ik" = (/obj/structure/mineral_door/iron,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/awaymission/academy/academyaft) -"il" = (/obj/structure/rack,/obj/item/weapon/stock_parts/scanning_module,/obj/item/weapon/stock_parts/micro_laser,/obj/item/weapon/stock_parts/subspace/filter,/obj/item/weapon/stock_parts/subspace/ansible,/turf/simulated/floor,/area/awaymission/academy/academyaft) -"im" = (/obj/item/weapon/stock_parts/manipulator,/turf/simulated/floor{icon_state = "hydrofloor"},/area/awaymission/academy/academyaft) -"in" = (/obj/structure/rack,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor,/area/awaymission/academy/academyaft) +"il" = (/obj/structure/rack,/obj/item/stock_parts/scanning_module,/obj/item/stock_parts/micro_laser,/obj/item/stock_parts/subspace/filter,/obj/item/stock_parts/subspace/ansible,/turf/simulated/floor,/area/awaymission/academy/academyaft) +"im" = (/obj/item/stock_parts/manipulator,/turf/simulated/floor{icon_state = "hydrofloor"},/area/awaymission/academy/academyaft) +"in" = (/obj/structure/rack,/obj/item/storage/toolbox/mechanical,/turf/simulated/floor,/area/awaymission/academy/academyaft) "io" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/awaymission/academy/academyaft) "ip" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/awaymission/academy/academyaft) "iq" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/wood,/area/awaymission/academy/academyaft) "ir" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/wood,/area/awaymission/academy/academyaft) "is" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/awaymission/academy/academyaft) "it" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/awaymission/academy/academyaft) -"iu" = (/obj/structure/rack,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/subspace/filter,/turf/simulated/floor{icon_state = "hydrofloor"},/area/awaymission/academy/academyaft) +"iu" = (/obj/structure/rack,/obj/item/stock_parts/manipulator,/obj/item/stock_parts/subspace/filter,/turf/simulated/floor{icon_state = "hydrofloor"},/area/awaymission/academy/academyaft) "iv" = (/obj/structure/toilet{dir = 8},/obj/machinery/light/small{dir = 1},/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/awaymission/academy/academyaft) "iw" = (/obj/structure/toilet{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/awaymission/academy/academyaft) "ix" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/rack,/obj/item/stack/sheet/metal,/turf/simulated/floor{icon_state = "hydrofloor"},/area/awaymission/academy/academyaft) "iy" = (/obj/structure/toilet{dir = 8},/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/awaymission/academy/academyaft) -"iz" = (/obj/item/weapon/paper,/turf/simulated/floor/wood,/area/awaymission/academy/academyaft) +"iz" = (/obj/item/paper,/turf/simulated/floor/wood,/area/awaymission/academy/academyaft) "iA" = (/obj/item/stack/cable_coil/random,/turf/simulated/floor,/area/awaymission/academy/academyaft) "iB" = (/obj/machinery/door/airlock/maintenance_hatch,/turf/simulated/floor/plating,/area/awaymission/academy/academyaft) -"iC" = (/obj/item/device/multitool,/turf/simulated/floor/engine,/area/awaymission/academy/academyaft) +"iC" = (/obj/item/multitool,/turf/simulated/floor/engine,/area/awaymission/academy/academyaft) "iD" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/engine,/area/awaymission/academy/academyaft) "iE" = (/turf/simulated/floor/engine,/area/awaymission/academy/academyaft) "iF" = (/obj/structure/toilet{dir = 8},/obj/machinery/light/small{dir = 1},/obj/effect/decal/cleanable/vomit,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/awaymission/academy/academyaft) "iG" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/wood,/area/awaymission/academy/academyaft) "iH" = (/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/engine,/area/awaymission/academy/academyaft) "iI" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/awaymission/academy/academyaft) -"iJ" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table/standard,/obj/item/weapon/beach_ball/holoball,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/awaymission/academy/academyaft) +"iJ" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table/standard,/obj/item/beach_ball/holoball,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/awaymission/academy/academyaft) "iK" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{icon_state = "red"; dir = 5},/area/awaymission/academy/academyaft) "iL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/awaymission/academy/academyaft) "iM" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/simulated/floor/carpet,/area/awaymission/academy/academyaft) "iN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/simulated/floor/plating,/area/awaymission/academy/academyaft) "iO" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/airless{ icon_state = "white"; dir = 4},/area/awaymission/academy/academyaft) -"iP" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table/standard,/obj/item/device/soulstone,/turf/simulated/floor/airless{ icon_state = "whitered"; dir = 4},/area/awaymission/academy/academyaft) +"iP" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table/standard,/obj/item/soulstone,/turf/simulated/floor/airless{ icon_state = "whitered"; dir = 4},/area/awaymission/academy/academyaft) "iQ" = (/obj/structure/shuttle/engine/propulsion{ icon_state = "propulsion_l"},/turf/space,/area/awaymission/academy/academyaft) "iR" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/awaymission/academy/academyaft) "iS" = (/obj/structure/shuttle/engine/propulsion{ icon_state = "propulsion_r"},/turf/space,/area/awaymission/academy/academyaft) @@ -475,15 +475,15 @@ "jg" = (/turf/simulated/floor{dir = 8; icon_state = "yellow"},/area/awaymission/academy/academyaft) "jh" = (/turf/simulated/floor{dir = 4; icon_state = "yellow"},/area/awaymission/academy/academyaft) "ji" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/airless{ icon_state = "white"; dir = 4},/area/awaymission/academy/academyaft) -"jj" = (/obj/structure/grille,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/item/weapon/shard,/turf/simulated/floor/plating/airless,/area/awaymission/academy/academyaft) -"jk" = (/obj/structure/window/reinforced,/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/drinks/golden_cup,/turf/simulated/floor{icon_state = "red"},/area/awaymission/academy/academyaft) +"jj" = (/obj/structure/grille,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/item/shard,/turf/simulated/floor/plating/airless,/area/awaymission/academy/academyaft) +"jk" = (/obj/structure/window/reinforced,/obj/structure/table/standard,/obj/item/reagent_containers/food/drinks/golden_cup,/turf/simulated/floor{icon_state = "red"},/area/awaymission/academy/academyaft) "jl" = (/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "red"; dir = 6},/area/awaymission/academy/academyaft) "jm" = (/obj/structure/cult/pylon,/turf/simulated/floor{icon_state = "yellow"; dir = 10},/area/awaymission/academy/academyaft) "jn" = (/turf/simulated/floor{icon_state = "yellow"},/area/awaymission/academy/academyaft) "jo" = (/obj/structure/cult/pylon,/turf/simulated/floor{dir = 6; icon_state = "yellow"},/area/awaymission/academy/academyaft) "jp" = (/obj/structure/window/reinforced,/turf/simulated/floor/airless{ icon_state = "white"; dir = 4},/area/awaymission/academy/academyaft) -"jq" = (/obj/structure/table/standard,/obj/structure/window/reinforced,/obj/item/device/batterer,/turf/simulated/floor/airless{ icon_state = "whitered"; dir = 4},/area/awaymission/academy/academyaft) -"jr" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/space,/area) +"jq" = (/obj/structure/table/standard,/obj/structure/window/reinforced,/obj/item/batterer,/turf/simulated/floor/airless{ icon_state = "whitered"; dir = 4},/area/awaymission/academy/academyaft) +"jr" = (/obj/item/shard{icon_state = "medium"},/turf/space,/area) "js" = (/obj/machinery/igniter,/turf/simulated/floor/plating,/area/awaymission/academy/academyaft) "jt" = (/obj/structure/window/reinforced,/turf/simulated/floor/carpet,/area/awaymission/academy/academyaft) "ju" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/structure/cable,/turf/simulated/floor/plating,/area/awaymission/academy/academyaft) diff --git a/maps/RandomZLevels/arcticwaste.dmm b/maps/RandomZLevels/arcticwaste.dmm index 24a17be1a4f..4ef076a9543 100644 --- a/maps/RandomZLevels/arcticwaste.dmm +++ b/maps/RandomZLevels/arcticwaste.dmm @@ -18,7 +18,7 @@ "r" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/plating,/area/awaymission) "s" = (/obj/machinery/vending/robotics,/turf/simulated/floor/plating{ icon_state = "warnplate"; dir = 4},/area/awaymission) "t" = (/turf/simulated/floor/plating{ icon_state = "warnplate"; dir = 8},/area/awaymission) -"u" = (/obj/item/weapon/paper/pamphlet,/turf/simulated/floor/plating,/area/awaymission) +"u" = (/obj/item/paper/pamphlet,/turf/simulated/floor/plating,/area/awaymission) "v" = (/turf/simulated/floor/plating{ icon_state = "warnplate"; dir = 4},/area/awaymission) "w" = (/obj/machinery/vending/engineering,/turf/simulated/floor/plating{ icon_state = "warnplate"; dir = 8},/area/awaymission) "x" = (/obj/machinery/vending/tool,/turf/simulated/floor/plating{ icon_state = "warnplate"; dir = 4},/area/awaymission) diff --git a/maps/RandomZLevels/blackmarketpackers.dmm b/maps/RandomZLevels/blackmarketpackers.dmm index d794910259b..70d54c49497 100644 --- a/maps/RandomZLevels/blackmarketpackers.dmm +++ b/maps/RandomZLevels/blackmarketpackers.dmm @@ -1,13 +1,13 @@ "aa" = (/turf/space,/area) "ab" = (/turf/simulated/mineral/random/high_chance,/area/awaymission) "ac" = (/turf/simulated/floor/plating/airless/asteroid,/area/awaymission) -"ad" = (/obj/item/weapon/circular_saw,/obj/structure/lattice,/turf/space,/area) +"ad" = (/obj/item/circular_saw,/obj/structure/lattice,/turf/space,/area) "ae" = (/turf/simulated/shuttle/wall{ icon_state = "swall"; dir = 4},/area/awaymission/BMPship3) "af" = (/turf/simulated/shuttle/wall{ icon_state = "swall_straight"; dir = 4},/area/awaymission/BMPship3) "ag" = (/turf/simulated/shuttle/wall{ icon_state = "swall_t"; dir = 1},/area/awaymission/BMPship3) "ah" = (/turf/simulated/shuttle/wall{ icon_state = "swall_s"; dir = 2; dir = 2},/area/awaymission/BMPship3) "ai" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/simulated/floor/engine,/area/awaymission/BMPship3) -"aj" = (/obj/machinery/porta_turret{dir = 8; emagged = 1; installation = /obj/item/weapon/gun/energy/lasercannon},/turf/simulated/floor/engine,/area/awaymission/BMPship3) +"aj" = (/obj/machinery/porta_turret{dir = 8; emagged = 1; installation = /obj/item/gun/energy/lasercannon},/turf/simulated/floor/engine,/area/awaymission/BMPship3) "ak" = (/turf/simulated/floor/engine,/area/awaymission/BMPship3) "al" = (/turf/simulated/shuttle/wall{ icon_state = "swall_straight"; dir = 1; dir = 2},/area/awaymission/BMPship3) "am" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/awaymission/BMPship3) @@ -31,19 +31,19 @@ "aE" = (/turf/simulated/shuttle/wall,/area/awaymission/BMPship1) "aF" = (/obj/structure/stool/bed/roller,/turf/simulated/floor/plating/airless,/area/awaymission/BMPship1) "aG" = (/turf/simulated/floor/plating/airless,/area/awaymission/BMPship1) -"aH" = (/obj/item/weapon/handcuffs,/obj/item/weapon/handcuffs,/obj/structure/closet/crate,/turf/simulated/floor/plating/airless,/area/awaymission/BMPship1) -"aI" = (/obj/item/weapon/scalpel,/obj/structure/closet/crate,/obj/item/weapon/tank/anesthetic,/turf/simulated/floor/plating/airless,/area/awaymission/BMPship1) +"aH" = (/obj/item/handcuffs,/obj/item/handcuffs,/obj/structure/closet/crate,/turf/simulated/floor/plating/airless,/area/awaymission/BMPship1) +"aI" = (/obj/item/scalpel,/obj/structure/closet/crate,/obj/item/tank/anesthetic,/turf/simulated/floor/plating/airless,/area/awaymission/BMPship1) "aJ" = (/obj/item/bodybag,/turf/simulated/floor/plating/airless,/area/awaymission/BMPship1) -"aK" = (/obj/item/weapon/storage/box/syringes,/turf/simulated/floor/plating/airless,/area/awaymission/BMPship1) +"aK" = (/obj/item/storage/box/syringes,/turf/simulated/floor/plating/airless,/area/awaymission/BMPship1) "aL" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area/awaymission/BMPship1) "aM" = (/obj/machinery/optable,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/simulated/floor/plating/airless,/area/awaymission/BMPship1) "aN" = (/obj/machinery/computer/operating,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/awaymission/BMPship1) "aO" = (/turf/simulated/shuttle/wall{ icon_state = "swall_straight"; dir = 1},/area/awaymission/BMPship1) "aP" = (/turf/simulated/floor/plating{ icon_state = "warnplate"; dir = 9},/area/awaymission/BMPship1) -"aQ" = (/obj/structure/closet/crate/freezer,/obj/item/weapon/reagent_containers/food/snacks/appendix,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor/plating{ icon_state = "warnplate"; dir = 1},/area/awaymission/BMPship1) -"aR" = (/obj/structure/closet/crate/freezer,/obj/item/brain,/obj/item/weapon/reagent_containers/food/snacks/appendix,/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor/plating{ icon_state = "warnplate"; dir = 1},/area/awaymission/BMPship1) -"aS" = (/obj/structure/table/standard,/obj/item/weapon/packageWrap,/turf/simulated/floor/plating{ icon_state = "warnplate"; dir = 1},/area/awaymission/BMPship1) -"aT" = (/obj/structure/table/standard,/obj/item/weapon/storage/box,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating{ icon_state = "warnplate"; dir = 1},/area/awaymission/BMPship1) +"aQ" = (/obj/structure/closet/crate/freezer,/obj/item/reagent_containers/food/snacks/appendix,/obj/item/reagent_containers/food/snacks/meat,/obj/item/reagent_containers/food/snacks/meat,/turf/simulated/floor/plating{ icon_state = "warnplate"; dir = 1},/area/awaymission/BMPship1) +"aR" = (/obj/structure/closet/crate/freezer,/obj/item/brain,/obj/item/reagent_containers/food/snacks/appendix,/obj/item/reagent_containers/food/snacks/meat,/turf/simulated/floor/plating{ icon_state = "warnplate"; dir = 1},/area/awaymission/BMPship1) +"aS" = (/obj/structure/table/standard,/obj/item/packageWrap,/turf/simulated/floor/plating{ icon_state = "warnplate"; dir = 1},/area/awaymission/BMPship1) +"aT" = (/obj/structure/table/standard,/obj/item/storage/box,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating{ icon_state = "warnplate"; dir = 1},/area/awaymission/BMPship1) "aU" = (/turf/simulated/floor/plating{ icon_state = "warnplate"; dir = 1},/area/awaymission/BMPship1) "aV" = (/turf/simulated/floor/plating{ icon_state = "warnplate"; dir = 5},/turf/simulated/shuttle/wall{ icon_state = "swall_c"; dir = 1; dir = 2},/area/awaymission/BMPship1) "aW" = (/turf/simulated/floor/plating/airless{ icon_state = "platingdmg2"},/area/awaymission/BMPship1) @@ -53,15 +53,15 @@ "ba" = (/turf/simulated/shuttle/wall{ icon_state = "swall"; dir = 1},/area/awaymission/BMPship1) "bb" = (/turf/simulated/floor/plating{ icon_state = "warnplate"; dir = 8},/area/awaymission/BMPship1) "bc" = (/turf/simulated/floor/plating,/area/awaymission/BMPship1) -"bd" = (/obj/item/weapon/storage/box,/turf/simulated/floor/plating,/area/awaymission/BMPship1) +"bd" = (/obj/item/storage/box,/turf/simulated/floor/plating,/area/awaymission/BMPship1) "be" = (/obj/machinery/gateway{dir = 9},/turf/simulated/floor/plating,/area/awaymission/BMPship1) "bf" = (/obj/machinery/gateway{dir = 1},/turf/simulated/floor/plating,/area/awaymission/BMPship1) "bg" = (/obj/machinery/gateway{dir = 5},/turf/simulated/floor/plating,/area/awaymission/BMPship1) -"bh" = (/obj/item/weapon/hand_labeler,/turf/simulated/floor/plating,/area/awaymission/BMPship1) +"bh" = (/obj/item/hand_labeler,/turf/simulated/floor/plating,/area/awaymission/BMPship1) "bi" = (/obj/structure/largecrate,/turf/simulated/floor/plating{ icon_state = "warnplate"; dir = 4},/area/awaymission/BMPship1) "bj" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/simulated/floor/engine,/area/awaymission/BMPship3) -"bk" = (/obj/structure/table/woodentable,/obj/item/weapon/spacecash/c500,/obj/item/weapon/spacecash/c100,/obj/item/weapon/reagent_containers/food/drinks/beer,/turf/simulated/floor/wood,/area/awaymission/BMPship3) -"bl" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/yellow,/turf/simulated/floor/wood,/area/awaymission/BMPship3) +"bk" = (/obj/structure/table/woodentable,/obj/item/spacecash/c500,/obj/item/spacecash/c100,/obj/item/reagent_containers/food/drinks/beer,/turf/simulated/floor/wood,/area/awaymission/BMPship3) +"bl" = (/obj/structure/stool/bed,/obj/item/bedsheet/yellow,/turf/simulated/floor/wood,/area/awaymission/BMPship3) "bm" = (/turf/simulated/shuttle/wall{ icon_state = "swall_straight"; dir = 1},/area/awaymission/BMPship3) "bn" = (/turf/simulated/floor/plating{ icon_state = "warnplate"; dir = 9},/area/awaymission/BMPship3) "bo" = (/obj/structure/rack,/turf/simulated/floor/plating{ icon_state = "warnplate"; dir = 1},/area/awaymission/BMPship3) @@ -75,7 +75,7 @@ "bw" = (/obj/machinery/door/unpowered/shuttle,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/simulated,/area/awaymission/BMPship1) "bx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/simulated/floor/plating{ icon_state = "warnplate"; dir = 8},/area/awaymission/BMPship1) "by" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/awaymission/BMPship1) -"bz" = (/obj/structure/closet/crate/freezer,/obj/item/weapon/reagent_containers/food/drinks/beer,/obj/item/weapon/reagent_containers/food/drinks/beer,/turf/simulated/floor/plating,/area/awaymission/BMPship1) +"bz" = (/obj/structure/closet/crate/freezer,/obj/item/reagent_containers/food/drinks/beer,/obj/item/reagent_containers/food/drinks/beer,/turf/simulated/floor/plating,/area/awaymission/BMPship1) "bA" = (/obj/machinery/gateway{dir = 8},/turf/simulated/floor/plating,/area/awaymission/BMPship1) "bB" = (/obj/machinery/gateway/centeraway{calibrated = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/awaymission/BMPship1) "bC" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/machinery/gateway{dir = 4},/turf/simulated/floor/plating,/area/awaymission/BMPship1) @@ -89,7 +89,7 @@ "bK" = (/obj/machinery/gateway{dir = 10},/turf/simulated/floor/plating,/area/awaymission/BMPship1) "bL" = (/obj/machinery/gateway,/turf/simulated/floor/plating,/area/awaymission/BMPship1) "bM" = (/obj/machinery/gateway{dir = 6},/turf/simulated/floor/plating,/area/awaymission/BMPship1) -"bN" = (/obj/structure/closet/crate,/obj/item/weapon/spacecash/c1000,/obj/item/weapon/spacecash/c50,/turf/simulated/floor/plating{ icon_state = "warnplate"; dir = 4},/area/awaymission/BMPship1) +"bN" = (/obj/structure/closet/crate,/obj/item/spacecash/c1000,/obj/item/spacecash/c50,/turf/simulated/floor/plating{ icon_state = "warnplate"; dir = 4},/area/awaymission/BMPship1) "bO" = (/turf/simulated/floor{ icon_state = "wood-broken"},/area/awaymission/BMPship3) "bP" = (/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/awaymission/BMPship3) "bQ" = (/obj/machinery/light/small,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/awaymission/BMPship3) @@ -101,9 +101,9 @@ "bW" = (/obj/machinery/sleeper,/turf/simulated/floor/plating/airless,/area/awaymission/BMPship1) "bX" = (/obj/machinery/sleep_console,/turf/simulated/floor/plating/airless,/area/awaymission/BMPship1) "bY" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/awaymission/BMPship1) -"bZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/item/weapon/hand_labeler,/turf/simulated/floor/plating,/area/awaymission/BMPship1) +"bZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/item/hand_labeler,/turf/simulated/floor/plating,/area/awaymission/BMPship1) "ca" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/simulated/floor/plating,/area/awaymission/BMPship1) -"cb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/item/weapon/storage/box,/turf/simulated/floor/plating,/area/awaymission/BMPship1) +"cb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/item/storage/box,/turf/simulated/floor/plating,/area/awaymission/BMPship1) "cc" = (/turf/simulated/floor/plating{ icon_state = "warnplate"; dir = 4},/area/awaymission/BMPship1) "cd" = (/turf/simulated/shuttle/wall{ icon_state = "swall"; dir = 6},/area/awaymission/BMPship3) "ce" = (/turf/simulated/shuttle/wall{ icon_state = "swall"; dir = 8},/area/awaymission/BMPship3) @@ -119,9 +119,9 @@ "co" = (/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/awaymission/BMPship1) "cp" = (/obj/machinery/light/small,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/awaymission/BMPship1) "cq" = (/obj/structure/kitchenspike,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/awaymission/BMPship1) -"cr" = (/obj/structure/closet/crate,/obj/item/device/analyzer,/obj/item/weapon/spacecash/c10,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/awaymission/BMPship1) -"cs" = (/obj/structure/closet/crate,/obj/item/weapon/spacecash/c1000,/obj/item/weapon/spacecash/c200,/obj/item/weapon/spacecash/c500,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/awaymission/BMPship1) -"ct" = (/obj/structure/closet/crate/freezer,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/hugemushroomslice,/obj/item/weapon/reagent_containers/food/snacks/appendix,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/awaymission/BMPship1) +"cr" = (/obj/structure/closet/crate,/obj/item/analyzer,/obj/item/spacecash/c10,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/awaymission/BMPship1) +"cs" = (/obj/structure/closet/crate,/obj/item/spacecash/c1000,/obj/item/spacecash/c200,/obj/item/spacecash/c500,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/awaymission/BMPship1) +"ct" = (/obj/structure/closet/crate/freezer,/obj/item/reagent_containers/food/snacks/meat,/obj/item/reagent_containers/food/snacks/hugemushroomslice,/obj/item/reagent_containers/food/snacks/appendix,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/awaymission/BMPship1) "cu" = (/obj/machinery/door_control{id = "packerCargo"; pixel_y = -24},/obj/machinery/light/small,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/awaymission/BMPship1) "cv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/awaymission/BMPship1) "cw" = (/turf/simulated/floor/plating{ icon_state = "warnplate"; dir = 6},/area/awaymission/BMPship1) @@ -130,7 +130,7 @@ "cz" = (/turf/simulated/floor{ icon_state = "carpet"},/area/awaymission/BMPship3) "cA" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/apc{dir = 1; locked = 0; req_access = ""},/turf/simulated/floor{ icon_state = "carpet"},/area/awaymission/BMPship3) "cB" = (/turf/simulated/shuttle/wall{ icon_state = "swall_straight"; dir = 1; dir = 2},/area/awaymission/BMPship2) -"cC" = (/obj/structure/table/standard,/obj/item/weapon/screwdriver,/obj/item/weapon/screwdriver,/obj/item/weapon/paper{info = "The next person who takes one of my screwdrivers gets stabbed with one. They are MINE. - Love, Madsen"; name = "scribbled note"},/obj/item/weapon/screwdriver,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/BMPship2) +"cC" = (/obj/structure/table/standard,/obj/item/screwdriver,/obj/item/screwdriver,/obj/item/paper{info = "The next person who takes one of my screwdrivers gets stabbed with one. They are MINE. - Love, Madsen"; name = "scribbled note"},/obj/item/screwdriver,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/BMPship2) "cD" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/BMPship2) "cE" = (/obj/machinery/hydroponics,/turf/simulated/floor{ icon_state = "green"; dir = 8},/area/awaymission/BMPship2) "cF" = (/obj/structure/sink{dir = 2},/turf/simulated/floor{dir = 1; icon_state = "yellow"},/area/awaymission/BMPship2) @@ -139,12 +139,12 @@ "cI" = (/obj/machinery/hydroponics,/turf/simulated/floor{ icon_state = "green"; dir = 4},/area/awaymission/BMPship2) "cJ" = (/turf/simulated/floor{icon_state = "bar"},/area/awaymission/BMPship2) "cK" = (/turf/simulated/shuttle/wall{ icon_state = "swall_straight"; dir = 1},/area/awaymission/BMPship2) -"cL" = (/obj/structure/table/standard,/obj/item/weapon/butch,/obj/item/weapon/reagent_containers/food/drinks/beer,/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor{ icon_state = "barber"},/area/awaymission/BMPship2) -"cM" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets,/turf/simulated/floor{ icon_state = "barber"},/area/awaymission/BMPship2) +"cL" = (/obj/structure/table/standard,/obj/item/butch,/obj/item/reagent_containers/food/drinks/beer,/obj/item/reagent_containers/food/snacks/meat,/turf/simulated/floor{ icon_state = "barber"},/area/awaymission/BMPship2) +"cM" = (/obj/structure/table/standard,/obj/item/storage/box/donkpockets,/turf/simulated/floor{ icon_state = "barber"},/area/awaymission/BMPship2) "cN" = (/obj/structure/table/standard,/obj/machinery/microwave,/turf/simulated/floor{ icon_state = "barber"},/area/awaymission/BMPship2) "cO" = (/obj/machinery/processor,/obj/machinery/light{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{ icon_state = "barber"},/area/awaymission/BMPship2) -"cP" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/drinks/beer,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/BMPship2) -"cQ" = (/obj/structure/table/standard,/obj/item/weapon/kitchenknife,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/BMPship2) +"cP" = (/obj/structure/table/standard,/obj/item/reagent_containers/food/drinks/beer,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/BMPship2) +"cQ" = (/obj/structure/table/standard,/obj/item/kitchenknife,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/BMPship2) "cR" = (/obj/structure/table/standard,/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/BMPship2) "cS" = (/obj/structure/table/standard,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/BMPship2) "cT" = (/turf/simulated/shuttle/wall{ icon_state = "swall_t"; dir = 8},/area/awaymission/BMPship1) @@ -152,9 +152,9 @@ "cV" = (/turf/simulated/floor{ icon_state = "carpet15-13"; dir = 4},/area/awaymission/BMPship3) "cW" = (/turf/simulated/floor{ icon_state = "carpet15-7"; dir = 4},/area/awaymission/BMPship3) "cX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{ icon_state = "carpet15-7"; dir = 4},/area/awaymission/BMPship3) -"cY" = (/obj/item/weapon/reagent_containers/food/snacks/hugemushroomslice,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/BMPship2) +"cY" = (/obj/item/reagent_containers/food/snacks/hugemushroomslice,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/BMPship2) "cZ" = (/turf/simulated/floor,/area/awaymission/BMPship2) -"da" = (/obj/item/weapon/reagent_containers/food/drinks/beer,/turf/simulated/floor,/area/awaymission/BMPship2) +"da" = (/obj/item/reagent_containers/food/drinks/beer,/turf/simulated/floor,/area/awaymission/BMPship2) "db" = (/turf/simulated/shuttle/wall{ icon_state = "swall"; dir = 1},/area/awaymission/BMPship2) "dc" = (/turf/simulated/floor{ icon_state = "barber"},/area/awaymission/BMPship2) "dd" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{ icon_state = "barber"},/area/awaymission/BMPship2) @@ -174,23 +174,23 @@ "dr" = (/turf/simulated/floor{ icon_state = "carpet15-11"; dir = 4},/area/awaymission/BMPship3) "ds" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{ icon_state = "carpet15-11"; dir = 4},/area/awaymission/BMPship3) "dt" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{ icon_state = "carpet"},/area/awaymission/BMPship3) -"du" = (/obj/item/weapon/reagent_containers/food/snacks/hugemushroomslice,/turf/simulated/floor,/area/awaymission/BMPship2) +"du" = (/obj/item/reagent_containers/food/snacks/hugemushroomslice,/turf/simulated/floor,/area/awaymission/BMPship2) "dv" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/BMPship2) "dw" = (/obj/structure/window/reinforced,/turf/simulated/floor{ icon_state = "barber"},/area/awaymission/BMPship2) "dx" = (/obj/structure/window/reinforced,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor{ icon_state = "barber"},/area/awaymission/BMPship2) "dy" = (/obj/machinery/door/window,/turf/simulated/floor{ icon_state = "barber"},/area/awaymission/BMPship2) "dz" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor{ icon_state = "barber"},/area/awaymission/BMPship2) -"dA" = (/obj/item/weapon/reagent_containers/food/drinks/beer,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/BMPship2) +"dA" = (/obj/item/reagent_containers/food/drinks/beer,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/BMPship2) "dB" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/BMPship1) "dC" = (/obj/structure/closet/secure_closet/freezer/meat{opened = 1},/turf/simulated/floor{icon_state = "white"},/area/awaymission/BMPship1) -"dD" = (/obj/structure/closet/crate/freezer,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor{icon_state = "white"},/area/awaymission/BMPship1) +"dD" = (/obj/structure/closet/crate/freezer,/obj/item/reagent_containers/food/snacks/meat,/obj/item/reagent_containers/food/snacks/meat,/turf/simulated/floor{icon_state = "white"},/area/awaymission/BMPship1) "dE" = (/obj/effect/landmark{name = "awaystart"},/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor{icon_state = "white"},/area/awaymission/BMPship1) -"dF" = (/obj/item/weapon/crowbar,/turf/simulated/floor{icon_state = "white"},/area/awaymission/BMPship1) +"dF" = (/obj/item/crowbar,/turf/simulated/floor{icon_state = "white"},/area/awaymission/BMPship1) "dG" = (/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/awaymission/BMPship1) "dH" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/apc{dir = 1; environ = 0; equipment = 3; locked = 0; req_access = ""},/turf/simulated/floor/plating,/area/awaymission/BMPship1) "dI" = (/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/awaymission/BMPship1) -"dJ" = (/obj/structure/table/standard,/obj/item/weapon/paper{info = "I'm no scientist, but judging from the design and components, it seems to be some kind of gateway. This thing is gonna be worth a lot of cash to the right man. The boys are excited, as they have every right to be, and I've let them crack into that case of beer we got. I normally wouldn't allow such a thing, but this is a time for celebration! It's not like a couple drinks will hurt anything."; name = "Captain's log entry"},/turf/simulated/floor{ icon_state = "carpet6-0"; dir = 4},/area/awaymission/BMPship3) -"dK" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/drinks/beer,/turf/simulated/floor{ icon_state = "carpet14-2"; dir = 4},/area/awaymission/BMPship3) +"dJ" = (/obj/structure/table/standard,/obj/item/paper{info = "I'm no scientist, but judging from the design and components, it seems to be some kind of gateway. This thing is gonna be worth a lot of cash to the right man. The boys are excited, as they have every right to be, and I've let them crack into that case of beer we got. I normally wouldn't allow such a thing, but this is a time for celebration! It's not like a couple drinks will hurt anything."; name = "Captain's log entry"},/turf/simulated/floor{ icon_state = "carpet6-0"; dir = 4},/area/awaymission/BMPship3) +"dK" = (/obj/structure/table/standard,/obj/item/reagent_containers/food/drinks/beer,/turf/simulated/floor{ icon_state = "carpet14-2"; dir = 4},/area/awaymission/BMPship3) "dL" = (/obj/structure/computerframe{anchored = 1},/turf/simulated/floor{ icon_state = "carpet14-8"; dir = 4},/area/awaymission/BMPship3) "dM" = (/turf/simulated/floor{ icon_state = "carpet10-0"; dir = 4},/area/awaymission/BMPship3) "dN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{ icon_state = "carpet"},/area/awaymission/BMPship3) @@ -202,13 +202,13 @@ "dT" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/BMPship2) "dU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/BMPship2) "dV" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/BMPship2) -"dW" = (/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/BMPship1) +"dW" = (/obj/item/reagent_containers/food/snacks/meat,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/BMPship1) "dX" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/awaymission/BMPship1) "dY" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor{icon_state = "hydrofloor"},/area/awaymission/BMPship1) "dZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/awaymission/BMPship1) "ea" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/awaymission/BMPship1) "eb" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/light/small{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/awaymission/BMPship1) -"ec" = (/obj/item/device/multitool,/turf/simulated/floor/engine,/area/awaymission/BMPship1) +"ec" = (/obj/item/multitool,/turf/simulated/floor/engine,/area/awaymission/BMPship1) "ed" = (/obj/structure/shuttle/engine/heater{ icon_state = "heater"; dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless{ icon_state = "engine"},/area/awaymission/BMPship1) "ee" = (/obj/structure/shuttle/engine/propulsion{ icon_state = "propulsion"; dir = 8},/turf/space,/area/awaymission/BMPship1) "ef" = (/turf/simulated/floor{ icon_state = "carpet15-15"; dir = 4},/area/awaymission/BMPship3) @@ -232,7 +232,7 @@ "ex" = (/turf/simulated/floor/engine,/area/awaymission/BMPship1) "ey" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/simulated/floor/plating,/area/awaymission/BMPship3) "ez" = (/obj/structure/computerframe{anchored = 1},/turf/simulated/floor{ icon_state = "carpetside"; dir = 9},/area/awaymission/BMPship3) -"eA" = (/obj/item/weapon/shard,/turf/simulated/floor{ icon_state = "carpetside"; dir = 5},/area/awaymission/BMPship3) +"eA" = (/obj/item/shard,/turf/simulated/floor{ icon_state = "carpetside"; dir = 5},/area/awaymission/BMPship3) "eB" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{ icon_state = "carpet"},/area/awaymission/BMPship3) "eC" = (/obj/machinery/door/airlock/silver,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/simulated/floor{ icon_state = "carpetside"; dir = 4},/area/awaymission/BMPship2) "eD" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/BMPship2) @@ -249,7 +249,7 @@ "eO" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/awaymission/BMPship1) "eP" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/awaymission/BMPship1) "eQ" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/awaymission/BMPship1) -"eR" = (/obj/structure/rack,/obj/item/weapon/storage/box/lights,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/awaymission/BMPship1) +"eR" = (/obj/structure/rack,/obj/item/storage/box/lights,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/awaymission/BMPship1) "eS" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{icon_state = "hydrofloor"},/area/awaymission/BMPship1) "eT" = (/obj/machinery/power/smes/magical{desc = "A high-capacity superconducting magnetic energy storage (SMES) unit."; name = "power storage unit"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/awaymission/BMPship1) "eU" = (/obj/machinery/power/terminal{dir = 8},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/awaymission/BMPship1) @@ -257,13 +257,13 @@ "eW" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/turf/simulated/floor/plating,/area/awaymission/BMPship3) "eX" = (/obj/structure/table/standard,/turf/simulated/floor{ icon_state = "carpet7-3"; dir = 4},/area/awaymission/BMPship3) "eY" = (/obj/structure/stool/bed/chair/office{dir = 8},/turf/simulated/floor{ icon_state = "carpet11-12"; dir = 4},/area/awaymission/BMPship3) -"eZ" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor{ icon_state = "carpet15-14"; dir = 4},/area/awaymission/BMPship3) +"eZ" = (/obj/item/shard{icon_state = "medium"},/turf/simulated/floor{ icon_state = "carpet15-14"; dir = 4},/area/awaymission/BMPship3) "fa" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{ icon_state = "carpet15-15"; dir = 4},/area/awaymission/BMPship3) "fb" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaymission/BMPship2) "fc" = (/obj/effect/decal/cleanable/dirt,/obj/effect/gibspawner/generic,/turf/simulated/floor/plating,/area/awaymission/BMPship2) "fd" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/awaymission/BMPship2) "fe" = (/turf/simulated/floor/plating,/area/awaymission/BMPship2) -"ff" = (/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/BMPship2) +"ff" = (/obj/item/reagent_containers/glass/bucket,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/BMPship2) "fg" = (/obj/machinery/conveyor_switch/oneway{id = "meatConvey1"},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/BMPship2) "fh" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/BMPship2) "fi" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/BMPship1) @@ -273,7 +273,7 @@ "fm" = (/turf/simulated/shuttle/plating,/area/awaymission/BMPship1) "fn" = (/obj/effect/gibspawner/human,/turf/simulated/shuttle/plating,/area/awaymission/BMPship1) "fo" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating,/area/awaymission/BMPship1) -"fp" = (/obj/structure/rack,/obj/item/weapon/storage/belt/utility/full,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/awaymission/BMPship1) +"fp" = (/obj/structure/rack,/obj/item/storage/belt/utility/full,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/awaymission/BMPship1) "fq" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/awaymission/BMPship1) "fr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/awaymission/BMPship1) "fs" = (/turf/simulated/shuttle/wall{ icon_state = "swall_s"; dir = 8; dir = 2},/area/awaymission/BMPship1) @@ -288,7 +288,7 @@ "fB" = (/turf/simulated/floor{icon_state = "bar"},/area/awaymission/BMPship1) "fC" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating,/area/awaymission/BMPship1) "fD" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"},/turf/simulated/shuttle/plating,/area/awaymission/BMPship1) -"fE" = (/obj/structure/rack,/obj/item/weapon/cell/high,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/awaymission/BMPship1) +"fE" = (/obj/structure/rack,/obj/item/cell/high,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/awaymission/BMPship1) "fF" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/grille,/turf/simulated/floor/plating,/area/awaymission/BMPship3) "fG" = (/turf/simulated/floor{ icon_state = "carpetside"; dir = 10},/area/awaymission/BMPship3) "fH" = (/turf/simulated/floor{ icon_state = "carpetside"; dir = 6},/area/awaymission/BMPship3) @@ -311,12 +311,12 @@ "fY" = (/obj/structure/closet,/turf/simulated/floor{ icon_state = "carpet15-15"; dir = 4},/area/awaymission/BMPship3) "fZ" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/closet,/turf/simulated/floor{ icon_state = "carpet"; dir = 4},/area/awaymission/BMPship3) "ga" = (/obj/effect/gibspawner/xeno,/turf/simulated/floor/plating,/area/awaymission/BMPship2) -"gb" = (/obj/item/weapon/wrench,/turf/simulated/floor/plating,/area/awaymission/BMPship2) +"gb" = (/obj/item/wrench,/turf/simulated/floor/plating,/area/awaymission/BMPship2) "gc" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/BMPship2) "gd" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/BMPship1) "ge" = (/obj/structure/mopbucket,/turf/simulated/shuttle/plating,/area/awaymission/BMPship1) -"gf" = (/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/kitchenknife,/turf/simulated/shuttle/plating,/area/awaymission/BMPship1) -"gg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/item/weapon/cell/high,/turf/simulated/floor,/area/awaymission/BMPship1) +"gf" = (/obj/structure/window/reinforced{dir = 4},/obj/item/kitchenknife,/turf/simulated/shuttle/plating,/area/awaymission/BMPship1) +"gg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/item/cell/high,/turf/simulated/floor,/area/awaymission/BMPship1) "gh" = (/turf/simulated/shuttle/wall{ icon_state = "swall_s"; dir = 1; dir = 2},/area/awaymission/BMPship3) "gi" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/floor{ icon_state = "carpetside"},/area/awaymission/BMPship3) "gj" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/unpowered/shuttle,/turf/simulated/floor{ icon_state = "carpetside"},/area/awaymission/BMPship3) @@ -324,7 +324,7 @@ "gl" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{ icon_state = "panelscorched"},/area/awaymission/BMPship2) "gm" = (/obj/structure/kitchenspike,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/BMPship2) "gn" = (/turf/simulated/floor{ icon_state = "loadingareadirty1"; dir = 4},/area/awaymission/BMPship2) -"go" = (/obj/machinery/conveyor{dir = 4; id = "meatConvey2"},/obj/item/weapon/kitchenknife,/turf/simulated/shuttle/plating,/area/awaymission/BMPship2) +"go" = (/obj/machinery/conveyor{dir = 4; id = "meatConvey2"},/obj/item/kitchenknife,/turf/simulated/shuttle/plating,/area/awaymission/BMPship2) "gp" = (/obj/machinery/conveyor{dir = 4; id = "meatConvey2"},/obj/structure/plasticflaps,/turf/simulated/shuttle/plating,/area/awaymission/BMPship2) "gq" = (/obj/machinery/conveyor{dir = 4; id = "meatConvey2"},/turf/simulated/shuttle/plating,/area/awaymission/BMPship2) "gr" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/BMPship2) @@ -338,26 +338,26 @@ "gz" = (/obj/structure/lattice,/turf/space,/area/awaymission/BMPship3) "gA" = (/turf/simulated/floor/plating/airless{ icon_state = "platingdmg3"},/area/awaymission/BMPship3) "gB" = (/obj/item/stack/cable_coil{amount = 5},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating/airless,/area/awaymission/BMPship3) -"gC" = (/obj/item/weapon/shard{icon_state = "small"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating/airless,/area/awaymission/BMPship3) +"gC" = (/obj/item/shard{icon_state = "small"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating/airless,/area/awaymission/BMPship3) "gD" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating/airless{ icon_state = "panelscorched"},/area/awaymission/BMPship3) "gE" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless{ icon_state = "platingdmg3"},/area/awaymission/BMPship3) -"gF" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/item/weapon/kitchenknife,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/BMPship2) +"gF" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/item/kitchenknife,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/BMPship2) "gG" = (/obj/machinery/conveyor_switch/oneway{id = "meatConvey2"},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/BMPship2) "gH" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/BMPship1) "gI" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/BMPship1) "gJ" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/BMPship1) -"gK" = (/obj/item/weapon/mop,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/BMPship1) +"gK" = (/obj/item/mop,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/BMPship1) "gL" = (/obj/effect/decal/cleanable/oil,/turf/simulated/floor{icon_state = "hydrofloor"},/area/awaymission/BMPship1) "gM" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/awaymission/BMPship1) "gN" = (/turf/simulated/floor/plating/airless{ icon_state = "platingdmg2"},/area/awaymission/BMPship3) -"gO" = (/obj/item/weapon/shard,/turf/simulated/floor/plating/airless{ icon_state = "platingdmg1"},/area/awaymission/BMPship3) +"gO" = (/obj/item/shard,/turf/simulated/floor/plating/airless{ icon_state = "platingdmg1"},/area/awaymission/BMPship3) "gP" = (/obj/structure/stool,/turf/simulated/floor/plating/airless{ icon_state = "platingdmg3"},/area/awaymission/BMPship3) "gQ" = (/turf/simulated/floor/plating/airless,/area/awaymission/BMPship3) "gR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating/airless,/area/awaymission/BMPship3) "gS" = (/turf/simulated/floor{ icon_state = "plating"},/area/awaymission/BMPship2) "gT" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/BMPship2) -"gU" = (/obj/structure/closet/crate/freezer,/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/BMPship1) -"gV" = (/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/BMPship1) +"gU" = (/obj/structure/closet/crate/freezer,/obj/item/reagent_containers/food/snacks/meat,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/BMPship1) +"gV" = (/obj/item/reagent_containers/glass/bucket,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/BMPship1) "gW" = (/obj/structure/reagent_dispensers,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/BMPship1) "gX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/shuttle/plating,/area/awaymission/BMPship1) "gY" = (/turf/simulated/shuttle/wall{ icon_state = "swall"; dir = 6},/area/awaymission/BMPship1) @@ -371,7 +371,7 @@ "hg" = (/obj/machinery/door/airlock/silver{locked = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/awaymission/BMPship1) "hh" = (/obj/machinery/door/unpowered/shuttle,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor,/area/awaymission/BMPship1) "hi" = (/turf/simulated/mineral/random,/area/awaymission) -"hj" = (/obj/item/device/multitool,/turf/simulated/floor/plating/airless{ icon_state = "platingdmg2"},/area/awaymission) +"hj" = (/obj/item/multitool,/turf/simulated/floor/plating/airless{ icon_state = "platingdmg2"},/area/awaymission) "hk" = (/turf/simulated/shuttle/wall{ icon_state = "swall"; dir = 5},/area/awaymission/BMPship3) "hl" = (/turf/simulated/shuttle/wall{ icon_state = "swall"; dir = 10},/area/awaymission/BMPship3) "hm" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/silver,/turf/simulated/floor/plating/airless,/area/awaymission/BMPship3) @@ -382,8 +382,8 @@ "hr" = (/turf/simulated/shuttle/wall{ icon_state = "swall15"},/area/awaymission/BMPship2) "hs" = (/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/awaymission/BMPship1) "ht" = (/obj/structure/stool,/turf/simulated/floor,/area/awaymission/BMPship1) -"hu" = (/obj/structure/table/standard,/obj/item/weapon/paper{info = "DEAR DAIRY: So we was doing our typpical route when the captain says we've been picking up weird signals on some backwatter planet. Madsen wanted to stay on course but he ain't the captain, so we went out of the way to check it out. There was lots of rocks on the way, but we got to the planet fine. Found a big fancy camp with nobody around and this big metal donut thing with NT stamps all over it right in the middle. Case of beer too. Captain reckons we can pass it off to some buyer in the Syndicate. Ingram says it's bad luck and that someone is going to come look for it but it sounds like better money than selling bad meat to jerky companies."; name = "Old Diary"},/turf/simulated/floor,/area/awaymission/BMPship1) -"hv" = (/obj/structure/table/standard,/obj/item/weapon/pen/red,/obj/item/weapon/reagent_containers/food/drinks/beer,/turf/simulated/floor,/area/awaymission/BMPship1) +"hu" = (/obj/structure/table/standard,/obj/item/paper{info = "DEAR DAIRY: So we was doing our typpical route when the captain says we've been picking up weird signals on some backwatter planet. Madsen wanted to stay on course but he ain't the captain, so we went out of the way to check it out. There was lots of rocks on the way, but we got to the planet fine. Found a big fancy camp with nobody around and this big metal donut thing with NT stamps all over it right in the middle. Case of beer too. Captain reckons we can pass it off to some buyer in the Syndicate. Ingram says it's bad luck and that someone is going to come look for it but it sounds like better money than selling bad meat to jerky companies."; name = "Old Diary"},/turf/simulated/floor,/area/awaymission/BMPship1) +"hv" = (/obj/structure/table/standard,/obj/item/pen/red,/obj/item/reagent_containers/food/drinks/beer,/turf/simulated/floor,/area/awaymission/BMPship1) "hw" = (/obj/structure/closet,/obj/item/clothing/under/overalls,/turf/simulated/floor,/area/awaymission/BMPship1) "hx" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/turf/simulated/floor/engine,/area/awaymission/BMPship3) "hy" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/engine,/area/awaymission/BMPship3) @@ -408,7 +408,7 @@ "hR" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor,/area/awaymission/BMPship1) "hS" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/awaymission/BMPship1) "hT" = (/obj/effect/decal/remains/human,/obj/item/clothing/head/helmet/space/syndicate/green/dark,/obj/effect/gibspawner/generic,/turf/simulated/floor/plating/airless/asteroid,/area/awaymission) -"hU" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/engine,/area/awaymission/BMPship3) +"hU" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/item/shard{icon_state = "small"},/turf/simulated/floor/engine,/area/awaymission/BMPship3) "hV" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated,/area/awaymission/BMPship3) "hW" = (/obj/effect/gibspawner/robot,/turf/simulated,/area/awaymission/BMPship3) "hX" = (/turf/simulated/floor/plating/airless{ icon_state = "platingdmg2"},/area/awaymission) @@ -417,7 +417,7 @@ "ia" = (/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor/plating{ icon_state = "platingdmg3"},/area/awaymission) "ib" = (/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor/plating/airless,/area/awaymission) "ic" = (/obj/structure/stool/bed,/turf/simulated/floor,/area/awaymission/BMPship1) -"id" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/obj/item/weapon/storage/wallet/random,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/awaymission/BMPship1) +"id" = (/obj/structure/stool/bed,/obj/item/bedsheet,/obj/item/storage/wallet/random,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/awaymission/BMPship1) "ie" = (/obj/structure/closet,/obj/item/clothing/under/lawyer/bluesuit,/obj/item/clothing/suit/apron,/turf/simulated/floor,/area/awaymission/BMPship1) "if" = (/obj/item/clothing/suit/space/syndicate/green/dark,/turf/simulated/floor/plating/airless/asteroid,/area/awaymission) "ig" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/grille,/turf/simulated/floor/engine,/area/awaymission/BMPship3) @@ -427,28 +427,28 @@ "ik" = (/obj/machinery/door/unpowered/shuttle,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/awaymission/BMPship1) "il" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/awaymission/BMPship1) "im" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor,/area/awaymission/BMPship1) -"in" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/space,/area) +"in" = (/obj/item/shard{icon_state = "medium"},/turf/space,/area) "io" = (/turf/simulated/shuttle/wall{ icon_state = "swall_t"; dir = 2},/area/awaymission/BMPship3) "ip" = (/turf/simulated/shuttle/wall,/area/awaymission/BMPship3) "iq" = (/turf/simulated/floor/plating/airless{ icon_state = "panelscorched"},/area/awaymission) "ir" = (/obj/effect/decal/remains/human,/turf/simulated/floor,/area/awaymission/BMPship1) -"is" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor,/area/awaymission/BMPship1) +"is" = (/obj/structure/stool/bed,/obj/item/bedsheet,/turf/simulated/floor,/area/awaymission/BMPship1) "it" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/awaymission/BMPship1) "iu" = (/obj/structure/mirror{pixel_y = 28},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/awaymission/BMPship1) "iv" = (/obj/structure/toilet{dir = 8},/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/awaymission/BMPship1) -"iw" = (/obj/item/weapon/caution,/turf/simulated/floor/plating/airless,/area/awaymission) +"iw" = (/obj/item/caution,/turf/simulated/floor/plating/airless,/area/awaymission) "ix" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating/airless,/area/awaymission) -"iy" = (/obj/structure/closet/crate,/obj/item/weapon/spacecash/c10,/obj/item/weapon/spacecash/c200,/turf/simulated/floor,/area/awaymission/BMPship1) -"iz" = (/obj/structure/closet/crate,/obj/item/weapon/spacecash/c10,/turf/simulated/floor,/area/awaymission/BMPship1) +"iy" = (/obj/structure/closet/crate,/obj/item/spacecash/c10,/obj/item/spacecash/c200,/turf/simulated/floor,/area/awaymission/BMPship1) +"iz" = (/obj/structure/closet/crate,/obj/item/spacecash/c10,/turf/simulated/floor,/area/awaymission/BMPship1) "iA" = (/obj/structure/sink{dir = 2},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/awaymission/BMPship1) "iB" = (/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/turf/simulated/shuttle/wall{ icon_state = "swall_c"; dir = 4; dir = 2},/area/awaymission/BMPship1) "iC" = (/obj/item/clothing/gloves/fyellow,/turf/simulated/floor/plating/airless/asteroid,/area/awaymission) "iD" = (/turf/simulated/shuttle/wall{ icon_state = "swall"; dir = 4},/area/awaymission) "iE" = (/turf/simulated/shuttle/wall{ icon_state = "swall_straight"; dir = 4},/area/awaymission) -"iF" = (/obj/item/weapon/storage/box/matches,/obj/item/weapon/storage/fancy/cigarettes/dromedaryco,/turf/simulated/floor/plating,/area/awaymission/BMPship3) -"iG" = (/obj/item/weapon/contraband/poster,/turf/simulated/floor/plating,/area/awaymission/BMPship3) +"iF" = (/obj/item/storage/box/matches,/obj/item/storage/fancy/cigarettes/dromedaryco,/turf/simulated/floor/plating,/area/awaymission/BMPship3) +"iG" = (/obj/item/contraband/poster,/turf/simulated/floor/plating,/area/awaymission/BMPship3) "iH" = (/turf/simulated/shuttle/wall{ icon_state = "swall_s"; dir = 8; dir = 2},/area/awaymission/BMPship3) -"iI" = (/obj/item/weapon/reagent_containers/food/drinks/beer,/turf/simulated/floor/plating,/area/awaymission/BMPship3) +"iI" = (/obj/item/reagent_containers/food/drinks/beer,/turf/simulated/floor/plating,/area/awaymission/BMPship3) "iJ" = (/turf/simulated/floor/plating,/turf/simulated/shuttle/wall{ icon_state = "swall_c"; dir = 4; dir = 2},/area/awaymission/BMPship3) "iK" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/grille,/turf/simulated/floor/engine,/area/awaymission/BMPship3) "iL" = (/turf/simulated/mineral/diamond,/area/awaymission) diff --git a/maps/RandomZLevels/challenge.dmm b/maps/RandomZLevels/challenge.dmm index 841dc05fb13..2f6d8dd4f3b 100644 --- a/maps/RandomZLevels/challenge.dmm +++ b/maps/RandomZLevels/challenge.dmm @@ -6,14 +6,14 @@ "af" = (/turf/simulated/floor/airless{icon_state = "damaged2"},/area/awaymission/challenge/start) "ag" = (/obj/item/clothing/suit/space/syndicate/blue,/obj/item/clothing/head/helmet/space/syndicate/blue,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/awaymission/challenge/start) "ah" = (/turf/simulated/floor/airless,/area/awaymission/challenge/start) -"ai" = (/obj/item/device/flashlight{icon_state = "flashlight-on"; item_state = "flashlight"; on = 1},/turf/simulated/floor/airless,/area/awaymission/challenge/start) +"ai" = (/obj/item/flashlight{icon_state = "flashlight-on"; item_state = "flashlight"; on = 1},/turf/simulated/floor/airless,/area/awaymission/challenge/start) "aj" = (/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor/airless{icon_state = "damaged3"},/area/awaymission/challenge/start) "ak" = (/obj/effect/decal/remains/human,/turf/simulated/floor/airless{icon_state = "damaged4"},/area/awaymission/challenge/start) "al" = (/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor/airless,/area/awaymission/challenge/start) "am" = (/obj/item/clothing/suit/space/syndicate/green,/obj/item/clothing/head/helmet/space/syndicate/green,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/awaymission/challenge/start) "an" = (/turf/simulated/floor/airless{icon_state = "damaged3"},/area/awaymission/challenge/start) "ao" = (/obj/item/clothing/suit/space/syndicate/orange,/obj/item/clothing/head/helmet/space/syndicate/orange,/turf/simulated/floor/airless,/area/awaymission/challenge/start) -"ap" = (/obj/item/weapon/gun/energy/laser/retro,/turf/simulated/floor/airless,/area/awaymission/challenge/start) +"ap" = (/obj/item/gun/energy/laser/retro,/turf/simulated/floor/airless,/area/awaymission/challenge/start) "aq" = (/obj/item/stack/rods,/turf/simulated/floor,/area/awaymission/challenge/start) "ar" = (/obj/effect/decal/cleanable/oil,/turf/simulated/floor/airless,/area/awaymission/challenge/start) "as" = (/obj/effect/decal/remains/robot,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/awaymission/challenge/start) @@ -47,11 +47,11 @@ "aU" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/airless,/area/awaymission/challenge/main) "aV" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/awaymission/challenge/main) "aW" = (/obj/machinery/power/emitter{active = 1; active_power_usage = 0; anchored = 1; dir = 8; idle_power_usage = 0; locked = 1; name = "Energy Cannon"; req_access_txt = "100"; state = 2; use_power = 0},/turf/simulated/floor/plating/airless,/area/awaymission/challenge/main) -"aX" = (/obj/machinery/porta_turret{dir = 8; emagged = 1; installation = /obj/item/weapon/gun/energy/lasercannon},/turf/simulated/floor/plating/airless,/area/awaymission/challenge/main) +"aX" = (/obj/machinery/porta_turret{dir = 8; emagged = 1; installation = /obj/item/gun/energy/lasercannon},/turf/simulated/floor/plating/airless,/area/awaymission/challenge/main) "aY" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/awaymission/challenge/main) "aZ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/awaymission/challenge/main) "ba" = (/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/awaymission/challenge/main) -"bb" = (/obj/item/device/multitool,/turf/simulated/floor/airless,/area/awaymission/challenge/main) +"bb" = (/obj/item/multitool,/turf/simulated/floor/airless,/area/awaymission/challenge/main) "bc" = (/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor/airless,/area/awaymission/challenge/main) "bd" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating{ icon_state = "warnplate"; dir = 9},/area/awaymission/challenge/main) "be" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating{ icon_state = "warnplate"; dir = 1},/area/awaymission/challenge/main) @@ -65,10 +65,10 @@ "bm" = (/obj/machinery/door/window,/turf/simulated/floor/airless,/area/awaymission/challenge/main) "bn" = (/obj/machinery/power/emitter{active = 1; active_power_usage = 0; anchored = 1; dir = 2; idle_power_usage = 0; locked = 1; name = "Energy Cannon"; req_access_txt = "100"; state = 2; use_power = 0},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating{ icon_state = "warnplate"; dir = 8},/area/awaymission/challenge/main) "bo" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/plating,/area/awaymission/challenge/main) -"bp" = (/obj/machinery/porta_turret{dir = 8; emagged = 1; installation = /obj/item/weapon/gun/energy/lasercannon},/turf/simulated/floor/plating,/area/awaymission/challenge/main) +"bp" = (/obj/machinery/porta_turret{dir = 8; emagged = 1; installation = /obj/item/gun/energy/lasercannon},/turf/simulated/floor/plating,/area/awaymission/challenge/main) "bq" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating{ icon_state = "warnplate"; dir = 4},/area/awaymission/challenge/main) "br" = (/obj/structure/window/reinforced{dir = 4},/obj/effect/decal/cleanable/oil,/turf/simulated/floor/plating/airless,/area/awaymission/challenge/main) -"bs" = (/obj/item/weapon/storage/toolbox/electrical,/turf/simulated/floor/airless,/area/awaymission/challenge/main) +"bs" = (/obj/item/storage/toolbox/electrical,/turf/simulated/floor/airless,/area/awaymission/challenge/main) "bt" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating{ icon_state = "warnplate"; dir = 10},/area/awaymission/challenge/main) "bu" = (/obj/structure/window/reinforced,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/awaymission/challenge/main) "bv" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating{ icon_state = "warnplate"; dir = 6},/area/awaymission/challenge/main) @@ -79,7 +79,7 @@ "bA" = (/obj/item/clothing/gloves/yellow,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/awaymission/challenge/main) "bB" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/power/emitter{active = 1; active_power_usage = 0; anchored = 1; dir = 8; idle_power_usage = 0; locked = 1; name = "Energy Cannon"; req_access_txt = "100"; state = 2; use_power = 0},/turf/simulated/floor/plating/airless,/area/awaymission/challenge/main) "bC" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/power/emitter{active = 1; active_power_usage = 0; anchored = 1; dir = 4; idle_power_usage = 0; locked = 1; name = "Energy Cannon"; req_access_txt = "100"; state = 2; use_power = 0},/turf/simulated/floor/plating/airless,/area/awaymission/challenge/main) -"bD" = (/obj/item/weapon/storage/firstaid/fire,/turf/simulated/floor/airless,/area/awaymission/challenge/main) +"bD" = (/obj/item/storage/firstaid/fire,/turf/simulated/floor/airless,/area/awaymission/challenge/main) "bE" = (/turf/simulated/floor{dir = 2; icon_state = "whitecorner"},/area/awaymission/challenge/main) "bF" = (/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/awaymission/challenge/main) "bG" = (/turf/simulated/floor{dir = 8; icon_state = "whitecorner"},/area/awaymission/challenge/main) @@ -91,7 +91,7 @@ "bM" = (/obj/machinery/power/emitter{active = 1; active_power_usage = 0; anchored = 1; dir = 1; idle_power_usage = 0; locked = 1; name = "Energy Cannon"; req_access_txt = "100"; state = 2; use_power = 0},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/awaymission/challenge/main) "bN" = (/obj/machinery/power/emitter{active = 1; active_power_usage = 0; anchored = 1; dir = 1; idle_power_usage = 0; locked = 1; name = "Energy Cannon"; req_access_txt = "100"; state = 2; use_power = 0},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/awaymission/challenge/main) "bO" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/awaymission/challenge/end) -"bP" = (/obj/item/weapon/gun/projectile/russian,/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/awaymission/challenge/main) +"bP" = (/obj/item/gun/projectile/russian,/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/awaymission/challenge/main) "bQ" = (/obj/structure/table/reinforced,/obj/machinery/light{dir = 1},/obj/machinery/recharger{pixel_y = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/challenge/end) "bR" = (/obj/machinery/computer/security/telescreen{desc = "Used for watching evil areas."; name = "Security Monitor"; network = ""; pixel_x = 0; pixel_y = 30},/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "dark"},/area/awaymission/challenge/end) "bS" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/light,/turf/simulated/floor/plating/airless,/area/awaymission/challenge/main) @@ -104,33 +104,33 @@ "bZ" = (/obj/structure/mirror{pixel_y = 28},/turf/simulated/floor/wood,/area/awaymission/challenge/end) "ca" = (/obj/machinery/light{dir = 1},/obj/structure/rack,/obj/item/clothing/suit/armor/swat,/obj/item/clothing/head/helmet/space/deathsquad,/turf/simulated/floor/wood,/area/awaymission/challenge/end) "cb" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/challenge/end) -"cc" = (/obj/structure/stool/bed/chair{dir = 1},/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = 0; pixel_y = 28},/turf/simulated/floor{icon_state = "dark"},/area/awaymission/challenge/end) +"cc" = (/obj/structure/stool/bed/chair{dir = 1},/obj/item/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = 0; pixel_y = 28},/turf/simulated/floor{icon_state = "dark"},/area/awaymission/challenge/end) "cd" = (/turf/simulated/floor{icon_state = "dark"},/area/awaymission/challenge/end) "ce" = (/mob/living/simple_animal/hostile/syndicate/ranged/space{name = "Syndicate Officer"},/turf/simulated/floor{icon_state = "dark"},/area/awaymission/challenge/end) "cf" = (/obj/machinery/door/airlock/centcom{name = "Airlock"; opacity = 1; req_access_txt = "109"},/turf/simulated/floor/plating,/area/awaymission/challenge/end) -"cg" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/turf/simulated/floor/carpet,/area/awaymission/challenge/end) +"cg" = (/obj/item/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/turf/simulated/floor/carpet,/area/awaymission/challenge/end) "ch" = (/obj/structure/stool/bed/chair/comfy/black,/mob/living/simple_animal/hostile/syndicate{name = "Syndicate Commander"},/turf/simulated/floor/carpet,/area/awaymission/challenge/end) "ci" = (/obj/structure/table/woodentable,/obj/machinery/recharger{pixel_y = 4},/turf/simulated/floor/carpet,/area/awaymission/challenge/end) "cj" = (/turf/simulated/floor/wood,/area/awaymission/challenge/end) -"ck" = (/obj/structure/rack,/obj/item/weapon/gun/projectile/mateba,/turf/simulated/floor/wood,/area/awaymission/challenge/end) +"ck" = (/obj/structure/rack,/obj/item/gun/projectile/mateba,/turf/simulated/floor/wood,/area/awaymission/challenge/end) "cl" = (/mob/living/simple_animal/hostile/syndicate/melee,/turf/simulated/floor{icon_state = "dark"},/area/awaymission/challenge/end) "cm" = (/obj/structure/window/reinforced{dir = 4},/turf/space,/area) "cn" = (/turf/simulated/floor/bluegrid,/area/awaymission/challenge/end) "co" = (/turf/simulated/floor{ icon_state = "vault"; dir = 8},/area/awaymission/challenge/end) "cp" = (/obj/structure/window/reinforced{dir = 8},/turf/space,/area) -"cq" = (/obj/structure/table/woodentable,/obj/item/weapon/melee/chainofcommand,/obj/item/weapon/stamp,/turf/simulated/floor/carpet,/area/awaymission/challenge/end) -"cr" = (/obj/structure/table/woodentable,/obj/item/weapon/paper{info = "Congratulations,

      Your station has been selected to carry out the Gateway Project.

      The equipment will be shipped to you at the start of the next quarter.
      You are to prepare a secure location to house the equipment as outlined in the attached documents.

      --Nanotrasen Blue Space Research"; name = "Confidential Correspondence, Pg 1"; pixel_x = 0; pixel_y = 0},/obj/item/weapon/folder/blue,/turf/simulated/floor/carpet,/area/awaymission/challenge/end) -"cs" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/turf/simulated/floor/carpet,/area/awaymission/challenge/end) -"ct" = (/obj/structure/rack,/obj/item/weapon/gun/projectile/silenced,/turf/simulated/floor/wood,/area/awaymission/challenge/end) +"cq" = (/obj/structure/table/woodentable,/obj/item/melee/chainofcommand,/obj/item/stamp,/turf/simulated/floor/carpet,/area/awaymission/challenge/end) +"cr" = (/obj/structure/table/woodentable,/obj/item/paper{info = "Congratulations,

      Your station has been selected to carry out the Gateway Project.

      The equipment will be shipped to you at the start of the next quarter.
      You are to prepare a secure location to house the equipment as outlined in the attached documents.

      --Nanotrasen Blue Space Research"; name = "Confidential Correspondence, Pg 1"; pixel_x = 0; pixel_y = 0},/obj/item/folder/blue,/turf/simulated/floor/carpet,/area/awaymission/challenge/end) +"cs" = (/obj/structure/table/woodentable,/obj/item/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/turf/simulated/floor/carpet,/area/awaymission/challenge/end) +"ct" = (/obj/structure/rack,/obj/item/gun/projectile/silenced,/turf/simulated/floor/wood,/area/awaymission/challenge/end) "cu" = (/mob/living/simple_animal/hostile/syndicate/melee,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/challenge/end) "cv" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/wood,/area/awaymission/challenge/end) -"cw" = (/obj/structure/rack,/obj/item/weapon/gun/projectile/automatic/l6_saw,/turf/simulated/floor/wood,/area/awaymission/challenge/end) +"cw" = (/obj/structure/rack,/obj/item/gun/projectile/automatic/l6_saw,/turf/simulated/floor/wood,/area/awaymission/challenge/end) "cx" = (/obj/machinery/door/airlock/centcom{name = "Security"; opacity = 1; req_access_txt = "109"},/turf/simulated/floor{icon_state = "dark"},/area/awaymission/challenge/end) "cy" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/space,/area) "cz" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/space,/area) "cA" = (/obj/structure/sign/securearea,/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/awaymission/challenge/end) "cB" = (/obj/machinery/door/airlock/centcom{name = "Administrator"; opacity = 1; req_access_txt = "109"},/turf/simulated/floor{icon_state = "dark"},/area/awaymission/challenge/end) -"cC" = (/obj/item/weapon/storage/toolbox/electrical,/turf/simulated/floor/bluegrid,/area/awaymission/challenge/end) +"cC" = (/obj/item/storage/toolbox/electrical,/turf/simulated/floor/bluegrid,/area/awaymission/challenge/end) "cD" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/bluegrid,/area/awaymission/challenge/end) "cE" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/bluegrid,/area/awaymission/challenge/end) "cF" = (/mob/living/simple_animal/hostile/syndicate/ranged,/turf/simulated/floor{icon_state = "dark"},/area/awaymission/challenge/end) @@ -160,11 +160,11 @@ "dd" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/poddoor{icon_state = "pdoor1"; id = "challenge"; name = "Gateway Shutters"; p_open = 0},/turf/simulated/floor{icon_state = "dark"},/area/awaymission/challenge/end) "de" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/space,/area) "df" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/awaymission/challenge/end) -"dg" = (/obj/structure/table/standard,/obj/item/weapon/paper/pamphlet,/turf/simulated/floor{icon_state = "dark"},/area/awaymission/challenge/end) -"dh" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/regular,/turf/simulated/floor{icon_state = "dark"},/area/awaymission/challenge/end) +"dg" = (/obj/structure/table/standard,/obj/item/paper/pamphlet,/turf/simulated/floor{icon_state = "dark"},/area/awaymission/challenge/end) +"dh" = (/obj/structure/table/standard,/obj/item/storage/firstaid/regular,/turf/simulated/floor{icon_state = "dark"},/area/awaymission/challenge/end) "di" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{icon_state = "dark"},/area/awaymission/challenge/end) "dj" = (/obj/structure/table/standard,/obj/machinery/recharger{pixel_y = 4},/turf/simulated/floor{icon_state = "dark"},/area/awaymission/challenge/end) -"dk" = (/obj/structure/table/standard,/obj/item/weapon/implanter/explosive,/obj/item/weapon/implanter/explosive{pixel_y = 4},/obj/item/weapon/implanter/explosive{pixel_y = 8},/obj/item/weapon/implanter/explosive{pixel_y = 12},/turf/simulated/floor{icon_state = "dark"},/area/awaymission/challenge/end) +"dk" = (/obj/structure/table/standard,/obj/item/implanter/explosive,/obj/item/implanter/explosive{pixel_y = 4},/obj/item/implanter/explosive{pixel_y = 8},/obj/item/implanter/explosive{pixel_y = 12},/turf/simulated/floor{icon_state = "dark"},/area/awaymission/challenge/end) "dl" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/space,/area) "dm" = (/obj/machinery/door/airlock/centcom{name = "Gateway Access"; opacity = 1; req_access_txt = "109"},/turf/simulated/floor{icon_state = "dark"},/area/awaymission/challenge/end) "dn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/awaymission/challenge/end) diff --git a/maps/RandomZLevels/example.dmm b/maps/RandomZLevels/example.dmm index 1a0c9c00eb8..ea0b4cc2d74 100644 --- a/maps/RandomZLevels/example.dmm +++ b/maps/RandomZLevels/example.dmm @@ -15,7 +15,7 @@ "ao" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/gateway/centeraway,/turf/simulated/floor,/area/awaymission/example) "ap" = (/obj/machinery/gateway{dir = 4},/turf/simulated/floor,/area/awaymission/example) "aq" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/awaymission/example) -"ar" = (/obj/item/weapon/cigbutt,/turf/simulated/floor,/area/awaymission/example) +"ar" = (/obj/item/cigbutt,/turf/simulated/floor,/area/awaymission/example) "as" = (/obj/machinery/gateway{dir = 10},/obj/effect/decal/cleanable/oil,/turf/simulated/floor,/area/awaymission/example) "at" = (/obj/machinery/gateway,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/awaymission/example) "au" = (/obj/machinery/gateway{dir = 6},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/awaymission/example) @@ -25,14 +25,14 @@ "ay" = (/obj/machinery/light/small,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/awaymission/example) "az" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/awaymission/example) "aA" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/decal/cleanable/oil,/turf/simulated/floor,/area/awaymission/example) -"aB" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/table/standard,/obj/item/weapon/paper/pamphlet,/turf/simulated/floor,/area/awaymission/example) +"aB" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/table/standard,/obj/item/paper/pamphlet,/turf/simulated/floor,/area/awaymission/example) "aC" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor,/area/awaymission/example) "aD" = (/obj/machinery/light,/turf/simulated/floor,/area/awaymission/example) -"aE" = (/obj/structure/table/standard,/obj/item/device/flashlight,/turf/simulated/floor,/area/awaymission/example) -"aF" = (/obj/structure/table/standard,/obj/item/weapon/crowbar,/turf/simulated/floor,/area/awaymission/example) +"aE" = (/obj/structure/table/standard,/obj/item/flashlight,/turf/simulated/floor,/area/awaymission/example) +"aF" = (/obj/structure/table/standard,/obj/item/crowbar,/turf/simulated/floor,/area/awaymission/example) "aG" = (/obj/effect/decal/cleanable/vomit,/turf/simulated/floor,/area/awaymission/example) "aH" = (/obj/structure/ladder{height = 1; id = "example"},/turf/simulated/floor/plating,/area/awaymission/example) -"aI" = (/obj/structure/table/standard,/obj/effect/spawner/lootdrop{loot = "/obj/item/weapon/wrench;/obj/item/weapon/screwdriver;/obj/item/weapon/cigpacket/dromedaryco"; lootcount = 2},/turf/simulated/floor,/area/awaymission/example) +"aI" = (/obj/structure/table/standard,/obj/effect/spawner/lootdrop{loot = "/obj/item/wrench;/obj/item/screwdriver;/obj/item/cigpacket/dromedaryco"; lootcount = 2},/turf/simulated/floor,/area/awaymission/example) "aJ" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/awaymission/example) "aK" = (/obj/machinery/door/airlock/command,/turf/simulated/floor,/area/awaymission/example) "aL" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor,/area/awaymission/example) @@ -51,14 +51,14 @@ "aY" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/poddoor/shutters{density = 0; icon_state = "shutter0"; id = "example"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/awaymission/example) "aZ" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/poddoor/shutters{density = 0; icon_state = "shutter0"; id = "example"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/awaymission/example) "ba" = (/obj/machinery/door_control{id = "example"; name = "Privacy Shutters"; pixel_y = 25},/turf/simulated/floor{icon_state = "white"},/area/awaymission/example) -"bb" = (/obj/structure/table/standard,/obj/item/device/healthanalyzer,/turf/simulated/floor{icon_state = "white"},/area/awaymission/example) +"bb" = (/obj/structure/table/standard,/obj/item/healthanalyzer,/turf/simulated/floor{icon_state = "white"},/area/awaymission/example) "bc" = (/obj/structure/stool/bed,/turf/simulated/floor{icon_state = "white"},/area/awaymission/example) "bd" = (/obj/structure/stool,/turf/simulated/floor{icon_state = "white"},/area/awaymission/example) -"be" = (/obj/structure/table/standard,/obj/item/device/mass_spectrometer/adv,/turf/simulated/floor{icon_state = "white"},/area/awaymission/example) -"bf" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/glass/beaker,/turf/simulated/floor{icon_state = "white"},/area/awaymission/example) -"bg" = (/obj/structure/table/standard,/obj/item/weapon/folder/white,/obj/item/weapon/pen/red,/turf/simulated/floor{icon_state = "white"},/area/awaymission/example) +"be" = (/obj/structure/table/standard,/obj/item/mass_spectrometer/adv,/turf/simulated/floor{icon_state = "white"},/area/awaymission/example) +"bf" = (/obj/structure/table/standard,/obj/item/reagent_containers/glass/beaker,/turf/simulated/floor{icon_state = "white"},/area/awaymission/example) +"bg" = (/obj/structure/table/standard,/obj/item/folder/white,/obj/item/pen/red,/turf/simulated/floor{icon_state = "white"},/area/awaymission/example) "bh" = (/obj/machinery/light,/turf/simulated/floor{icon_state = "white"},/area/awaymission/example) -"bi" = (/obj/structure/table/standard,/obj/item/weapon/clipboard,/obj/item/weapon/reagent_containers/syringe/antiviral,/turf/simulated/floor{icon_state = "white"},/area/awaymission/example) +"bi" = (/obj/structure/table/standard,/obj/item/clipboard,/obj/item/reagent_containers/syringe/antiviral,/turf/simulated/floor{icon_state = "white"},/area/awaymission/example) "bj" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor,/area/awaymission/example) "bk" = (/turf/simulated/floor{dir = 4; icon_state = "yellowcorner"},/area/awaymission/example) "bl" = (/turf/simulated/floor{dir = 1; icon_state = "yellow"},/area/awaymission/example) @@ -84,47 +84,47 @@ "bF" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/example) "bG" = (/obj/machinery/door/airlock{name = "Unisex Restrooms"; req_access_txt = "0"},/turf/simulated/floor,/area/awaymission/example) "bH" = (/obj/machinery/vending/boozeomat{density = 0; pixel_x = -32},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/example) -"bI" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/drinks/sodawater,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/example) -"bJ" = (/obj/structure/bookcase{density = 0; pixel_y = 32},/obj/item/weapon/book/manual/barman_recipes,/obj/item/weapon/book/manual/chef_recipes,/obj/item/weapon/book/manual/ripley_build_and_repair,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/example) +"bI" = (/obj/structure/table/standard,/obj/item/reagent_containers/food/drinks/sodawater,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/example) +"bJ" = (/obj/structure/bookcase{density = 0; pixel_y = 32},/obj/item/book/manual/barman_recipes,/obj/item/book/manual/chef_recipes,/obj/item/book/manual/ripley_build_and_repair,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/example) "bK" = (/obj/structure/stool/bed/chair/wood/normal{ icon_state = "wooden_chair"; dir = 4},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/example) "bL" = (/obj/structure/table/woodentable,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/example) "bM" = (/obj/structure/stool/bed/chair/wood/normal{ icon_state = "wooden_chair"; dir = 8},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/example) -"bN" = (/obj/structure/bookcase{density = 0; pixel_y = 32},/obj/item/weapon/book/manual/security_space_law,/obj/item/weapon/book/manual/security_space_law,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/example) -"bO" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/bottle/wine,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/example) +"bN" = (/obj/structure/bookcase{density = 0; pixel_y = 32},/obj/item/book/manual/wiki/security_space_law,/obj/item/book/manual/wiki/security_space_law,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/example) +"bO" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/food/drinks/bottle/wine,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/example) "bP" = (/obj/structure/stool/bed/chair/wood/normal{ icon_state = "wooden_chair"; dir = 1},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/example) "bQ" = (/obj/machinery/vending/snack,/turf/simulated/floor,/area/awaymission/example) -"bR" = (/obj/structure/table/standard,/obj/machinery/light/small,/obj/item/weapon/paper{info = "X X O
      X O X
      O X"},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/example) +"bR" = (/obj/structure/table/standard,/obj/machinery/light/small,/obj/item/paper{info = "X X O
      X O X
      O X"},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/example) "bS" = (/obj/structure/device/piano,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/example) "bT" = (/obj/machinery/light/small,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/example) -"bU" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/snacks/validsalad,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/example) +"bU" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/food/snacks/validsalad,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/example) "bV" = (/obj/machinery/vending/cigarette,/turf/simulated/floor,/area/awaymission/example) "bW" = (/obj/structure/table/standard,/turf/simulated/floor,/area/awaymission/example) -"bX" = (/obj/structure/table/standard,/obj/item/device/analyzer,/turf/simulated/floor,/area/awaymission/example) -"bY" = (/obj/structure/table/standard,/obj/item/weapon/rack_parts,/turf/simulated/floor,/area/awaymission/example) -"bZ" = (/obj/structure/table/standard,/obj/item/device/toner,/turf/simulated/floor,/area/awaymission/example) -"ca" = (/obj/structure/table/standard,/obj/item/weapon/wirecutters,/obj/item/stack/cable_coil/yellow,/turf/simulated/floor,/area/awaymission/example) -"cb" = (/obj/structure/table/standard,/obj/item/weapon/wrench,/turf/simulated/floor,/area/awaymission/example) +"bX" = (/obj/structure/table/standard,/obj/item/analyzer,/turf/simulated/floor,/area/awaymission/example) +"bY" = (/obj/structure/table/standard,/obj/item/rack_parts,/turf/simulated/floor,/area/awaymission/example) +"bZ" = (/obj/structure/table/standard,/obj/item/toner,/turf/simulated/floor,/area/awaymission/example) +"ca" = (/obj/structure/table/standard,/obj/item/wirecutters,/obj/item/stack/cable_coil/yellow,/turf/simulated/floor,/area/awaymission/example) +"cb" = (/obj/structure/table/standard,/obj/item/wrench,/turf/simulated/floor,/area/awaymission/example) "cc" = (/obj/machinery/vending/assist,/turf/simulated/floor,/area/awaymission/example) "cd" = (/obj/structure/ladder{id = "example"},/turf/simulated/floor/plating,/area/awaymission/example) -"ce" = (/obj/structure/filingcabinet,/obj/item/weapon/paper{info = "Todo: write up a lawsuit for Ted, fuck what the pamphlets say, nothing good is gonna come out of that gate. Ted'll thank me later, I'll bet."; name = "documents"},/turf/simulated/floor,/area/awaymission/example) -"cf" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin,/obj/item/weapon/pen/blue,/turf/simulated/floor,/area/awaymission/example) +"ce" = (/obj/structure/filingcabinet,/obj/item/paper{info = "Todo: write up a lawsuit for Ted, fuck what the pamphlets say, nothing good is gonna come out of that gate. Ted'll thank me later, I'll bet."; name = "documents"},/turf/simulated/floor,/area/awaymission/example) +"cf" = (/obj/structure/table/standard,/obj/item/paper_bin,/obj/item/pen/blue,/turf/simulated/floor,/area/awaymission/example) "cg" = (/obj/machinery/photocopier,/turf/simulated/floor,/area/awaymission/example) -"ch" = (/obj/structure/table/standard,/obj/item/weapon/screwdriver,/obj/item/weapon/hand_labeler,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor,/area/awaymission/example) +"ch" = (/obj/structure/table/standard,/obj/item/screwdriver,/obj/item/hand_labeler,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor,/area/awaymission/example) "ci" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/simulated/floor,/area/awaymission/example) -"cj" = (/obj/structure/table/standard,/obj/item/weapon/paper/pamphlet,/turf/simulated/floor,/area/awaymission/example) +"cj" = (/obj/structure/table/standard,/obj/item/paper/pamphlet,/turf/simulated/floor,/area/awaymission/example) "ck" = (/obj/machinery/door/airlock,/turf/simulated/floor,/area/awaymission/example) "cl" = (/turf/simulated/floor{dir = 4; icon_state = "yellow"},/area/awaymission/example) -"cm" = (/obj/item/weapon/paper{info = "Hey Ted, remind me to take Angeline out some time before I ship out. You know how bad my memory is, so don't get all high and mighty with me. READ THIS."; name = "note"},/turf/simulated/floor,/area/awaymission/example) +"cm" = (/obj/item/paper{info = "Hey Ted, remind me to take Angeline out some time before I ship out. You know how bad my memory is, so don't get all high and mighty with me. READ THIS."; name = "note"},/turf/simulated/floor,/area/awaymission/example) "cn" = (/obj/machinery/door/airlock/glass,/turf/simulated/floor,/area/awaymission/example) -"co" = (/obj/structure/noticeboard{pixel_y = 32},/obj/item/weapon/paper{info = "Remember, friday is David Bowie night! You guys had better fucking be there!"; name = "friday night"},/obj/item/weapon/cigbutt,/turf/simulated/floor{icon_state = "yellowcorner"},/area/awaymission/example) +"co" = (/obj/structure/noticeboard{pixel_y = 32},/obj/item/paper{info = "Remember, friday is David Bowie night! You guys had better fucking be there!"; name = "friday night"},/obj/item/cigbutt,/turf/simulated/floor{icon_state = "yellowcorner"},/area/awaymission/example) "cp" = (/obj/item/trash/pistachios,/turf/simulated/floor,/area/awaymission/example) "cq" = (/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor,/area/awaymission/example) -"cr" = (/obj/effect/landmark{name = "awaystart"},/obj/item/device/assembly/mousetrap/armed,/turf/simulated/floor,/area/awaymission/example) +"cr" = (/obj/effect/landmark{name = "awaystart"},/obj/item/assembly/mousetrap/armed,/turf/simulated/floor,/area/awaymission/example) "cs" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor,/area/awaymission/example) "ct" = (/obj/effect/landmark{name = "awaystart"},/obj/machinery/light_construct/small{ icon_state = "bulb-construct-stage1"; dir = 8},/turf/simulated/floor,/area/awaymission/example) -"cu" = (/obj/effect/landmark{name = "awaystart"},/obj/item/weapon/mop,/turf/simulated/floor,/area/awaymission/example) +"cu" = (/obj/effect/landmark{name = "awaystart"},/obj/item/mop,/turf/simulated/floor,/area/awaymission/example) "cv" = (/obj/structure/closet,/turf/simulated/floor,/area/awaymission/example) -"cw" = (/obj/structure/table/standard,/obj/item/weapon/cell/high,/turf/simulated/floor,/area/awaymission/example) +"cw" = (/obj/structure/table/standard,/obj/item/cell/high,/turf/simulated/floor,/area/awaymission/example) "cx" = (/obj/structure/stool,/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor,/area/awaymission/example) "cy" = (/obj/structure/mopbucket,/obj/machinery/light_construct/small{dir = 4},/turf/simulated/floor,/area/awaymission/example) diff --git a/maps/RandomZLevels/listeningpost.dmm b/maps/RandomZLevels/listeningpost.dmm index 5aef98f2980..bca5a3211c9 100644 --- a/maps/RandomZLevels/listeningpost.dmm +++ b/maps/RandomZLevels/listeningpost.dmm @@ -5,28 +5,28 @@ "e" = (/obj/machinery/power/smes/magical{desc = "A high-capacity superconducting magnetic energy storage (SMES) unit."; name = "power storage unit"},/turf/simulated/floor/plating,/area/awaymission/listeningpost) "f" = (/obj/machinery/door/airlock,/turf/simulated/floor,/area/awaymission/listeningpost) "g" = (/turf/simulated/wall,/area/awaymission/listeningpost) -"h" = (/obj/structure/table/standard,/obj/item/weapon/paper/monitorkey,/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/obj/item/clothing/glasses/regular,/turf/simulated/floor,/area/awaymission/listeningpost) +"h" = (/obj/structure/table/standard,/obj/item/paper/monitorkey,/obj/item/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/obj/item/clothing/glasses/regular,/turf/simulated/floor,/area/awaymission/listeningpost) "i" = (/obj/structure/table/standard,/turf/simulated/floor,/area/awaymission/listeningpost) "j" = (/turf/simulated/floor,/area/awaymission/listeningpost) "k" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plating,/area/awaymission/listeningpost) "l" = (/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) "m" = (/obj/machinery/computer/message_monitor,/turf/simulated/floor,/area/awaymission/listeningpost) "n" = (/obj/structure/stool/bed/chair{dir = 4},/mob/living/simple_animal/hostile/syndicate{desc = "A weary looking syndicate operative."; faction = "syndicate"},/turf/simulated/floor,/area/awaymission/listeningpost) -"o" = (/obj/structure/table/standard,/obj/item/weapon/paper{info = "Nothing of interest to report."; name = "november report"},/obj/item/weapon/pen,/turf/simulated/floor,/area/awaymission/listeningpost) -"p" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/turf/simulated/floor,/area/awaymission/listeningpost) +"o" = (/obj/structure/table/standard,/obj/item/paper{info = "Nothing of interest to report."; name = "november report"},/obj/item/pen,/turf/simulated/floor,/area/awaymission/listeningpost) +"p" = (/obj/item/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/turf/simulated/floor,/area/awaymission/listeningpost) "q" = (/obj/structure/rack,/obj/item/clothing/suit/space/syndicate,/obj/item/clothing/mask/gas,/obj/item/clothing/head/helmet/space/syndicate,/turf/simulated/floor,/area/awaymission/listeningpost) -"r" = (/obj/machinery/door/airlock,/obj/item/weapon/paper{info = "I wonder how much longer they will accept my empty reports. They will cancel the case soon without results. When the pickup comes, I will tell them I have lost faith in our cause, and beg them to consider a diplomatic solution. How many nuclear teams have been dispatched with those nukes? I must try and prevent more from ever being sent. If they will not listen to reason, I will detonate the warehouse myself. Maybe some day in the immediate future, space will be peaceful, though I don't intend to live to see it. And that is why I write this down- it is my sacrifice that stabilised your worlds, traveller. Spare a thought for me, and please attempt to prevent nuclear proliferation, should it ever rear it's ugly head again. -Donk Co. Operative #451"; name = "odd report"},/obj/item/weapon/gun/projectile/pistol,/obj/item/weapon/silencer,/turf/simulated/floor,/area/awaymission/listeningpost) +"r" = (/obj/machinery/door/airlock,/obj/item/paper{info = "I wonder how much longer they will accept my empty reports. They will cancel the case soon without results. When the pickup comes, I will tell them I have lost faith in our cause, and beg them to consider a diplomatic solution. How many nuclear teams have been dispatched with those nukes? I must try and prevent more from ever being sent. If they will not listen to reason, I will detonate the warehouse myself. Maybe some day in the immediate future, space will be peaceful, though I don't intend to live to see it. And that is why I write this down- it is my sacrifice that stabilised your worlds, traveller. Spare a thought for me, and please attempt to prevent nuclear proliferation, should it ever rear it's ugly head again. -Donk Co. Operative #451"; name = "odd report"},/obj/item/gun/projectile/pistol,/obj/item/silencer,/turf/simulated/floor,/area/awaymission/listeningpost) "s" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/mineral,/area/mine/unexplored) "t" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/mineral,/area/mine/unexplored) "u" = (/obj/structure/disposaloutlet{dir = 4},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/plating/airless,/area) -"v" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/brown,/turf/simulated/floor,/area/awaymission/listeningpost) -"w" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp,/turf/simulated/floor,/area/awaymission/listeningpost) +"v" = (/obj/structure/stool/bed,/obj/item/bedsheet/brown,/turf/simulated/floor,/area/awaymission/listeningpost) +"w" = (/obj/structure/table/standard,/obj/item/flashlight/lamp,/turf/simulated/floor,/area/awaymission/listeningpost) "x" = (/obj/machinery/vending/snack,/turf/simulated/floor,/area/awaymission/listeningpost) "y" = (/obj/structure/disposalpipe/segment,/turf/simulated/mineral,/area/mine/unexplored) "z" = (/obj/machinery/vending/cola,/turf/simulated/floor,/area/awaymission/listeningpost) "A" = (/obj/structure/closet,/obj/item/clothing/gloves/boxing,/turf/simulated/floor,/area/awaymission/listeningpost) -"B" = (/obj/structure/filingcabinet,/obj/item/weapon/paper{info = "A good start to the operation: intercepted Nanotrasen military communications. A convoy is scheduled to transfer nuclear warheads to a new military base. This is as good a chance as any to get our hands on some heavy weaponry, I suggest we take it."; name = "april report"},/obj/item/weapon/paper{info = "Nothing of real interest to report this month. I have intercepted faint transmissions from what appears to be some sort of pirate radio station. They do not appear to be relevant to my assignment."; name = "may report"},/obj/item/weapon/paper{info = "Nanotrasen communications have been noticably less frequent recently. The pirate radio station I found last month has been transmitting pro-Nanotrasen propaganda. I will continue to monitor it."; name = "june report"},/obj/item/weapon/paper{info = "Nothing of interest to report."; name = "july report"},/obj/item/weapon/paper{info = "Nothing of interest to report."; name = "august report"},/obj/item/weapon/paper{info = "Nothing of interest to report."; name = "september report"},/obj/item/weapon/paper{info = "Nothing of interest to report."; name = "october report"},/obj/item/weapon/paper{info = "1 x Stechtkin pistol - $600
      1 x silencer - $200
      shipping charge - $4360
      total - $5160"; name = "receipt"},/turf/simulated/floor,/area/awaymission/listeningpost) -"C" = (/obj/structure/table/standard,/obj/item/weapon/paper{info = "Mission Details: You have been assigned to a newly constructed listening post constructed within an asteroid in Nanotrasen space to monitor their plasma mining operations. Accurate intel is crucial to the success of our operatives onboard, do not fail us."; name = "mission briefing"},/turf/simulated/floor,/area/awaymission/listeningpost) +"B" = (/obj/structure/filingcabinet,/obj/item/paper{info = "A good start to the operation: intercepted Nanotrasen military communications. A convoy is scheduled to transfer nuclear warheads to a new military base. This is as good a chance as any to get our hands on some heavy weaponry, I suggest we take it."; name = "april report"},/obj/item/paper{info = "Nothing of real interest to report this month. I have intercepted faint transmissions from what appears to be some sort of pirate radio station. They do not appear to be relevant to my assignment."; name = "may report"},/obj/item/paper{info = "Nanotrasen communications have been noticably less frequent recently. The pirate radio station I found last month has been transmitting pro-Nanotrasen propaganda. I will continue to monitor it."; name = "june report"},/obj/item/paper{info = "Nothing of interest to report."; name = "july report"},/obj/item/paper{info = "Nothing of interest to report."; name = "august report"},/obj/item/paper{info = "Nothing of interest to report."; name = "september report"},/obj/item/paper{info = "Nothing of interest to report."; name = "october report"},/obj/item/paper{info = "1 x Stechtkin pistol - $600
      1 x silencer - $200
      shipping charge - $4360
      total - $5160"; name = "receipt"},/turf/simulated/floor,/area/awaymission/listeningpost) +"C" = (/obj/structure/table/standard,/obj/item/paper{info = "Mission Details: You have been assigned to a newly constructed listening post constructed within an asteroid in Nanotrasen space to monitor their plasma mining operations. Accurate intel is crucial to the success of our operatives onboard, do not fail us."; name = "mission briefing"},/turf/simulated/floor,/area/awaymission/listeningpost) "D" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor,/area/awaymission/listeningpost) "E" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/awaymission/listeningpost) "F" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/mineral,/area/mine/unexplored) diff --git a/maps/RandomZLevels/spacebattle.dmm b/maps/RandomZLevels/spacebattle.dmm index b1269f7463e..605d2e013c4 100644 --- a/maps/RandomZLevels/spacebattle.dmm +++ b/maps/RandomZLevels/spacebattle.dmm @@ -16,15 +16,15 @@ "ap" = (/obj/effect/landmark{name = "awaystart"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2) "aq" = (/mob/living/simple_animal/hostile/syndicate/melee,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2) "ar" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2) -"as" = (/obj/structure/table/reinforced,/obj/item/weapon/grenade/empgrenade,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2) +"as" = (/obj/structure/table/reinforced,/obj/item/grenade/empgrenade,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2) "at" = (/obj/structure/table/reinforced,/obj/item/ammo_magazine/a10mm,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2) -"au" = (/obj/structure/table/reinforced,/obj/item/weapon/gun/projectile/automatic/c20r,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2) +"au" = (/obj/structure/table/reinforced,/obj/item/gun/projectile/automatic/c20r,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2) "av" = (/turf/space,/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate3) "aw" = (/obj/structure/shuttle/engine/propulsion{ icon_state = "propulsion_r"; dir = 1},/turf/space,/area/awaymission/spacebattle/syndicate3) "ax" = (/obj/structure/shuttle/engine/propulsion{ icon_state = "propulsion"; dir = 1},/turf/space,/area/awaymission/spacebattle/syndicate3) "ay" = (/obj/structure/shuttle/engine/propulsion{ icon_state = "propulsion_l"; dir = 1},/turf/space,/area/awaymission/spacebattle/syndicate3) "az" = (/turf/space,/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate3) -"aA" = (/obj/structure/table/reinforced,/obj/item/weapon/gun/projectile/silenced,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2) +"aA" = (/obj/structure/table/reinforced,/obj/item/gun/projectile/silenced,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2) "aB" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/awaymission/spacebattle/syndicate3) "aC" = (/obj/structure/shuttle/engine/heater{ icon_state = "heater"; dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/awaymission/spacebattle/syndicate3) "aD" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate3) @@ -35,7 +35,7 @@ "aI" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate2) "aJ" = (/obj/structure/table/reinforced,/obj/item/clothing/suit/space/rig/syndi,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate3) "aK" = (/obj/structure/table/reinforced,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate3) -"aL" = (/obj/structure/table/reinforced,/obj/item/weapon/gun/projectile/deagle,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate3) +"aL" = (/obj/structure/table/reinforced,/obj/item/gun/projectile/deagle,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate3) "aM" = (/obj/machinery/computer/shuttle,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2) "aN" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate2) "aO" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate2) @@ -55,7 +55,7 @@ "bc" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2) "bd" = (/obj/machinery/door/airlock/external,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate1) "be" = (/obj/effect/landmark{name = "awaystart"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate1) -"bf" = (/obj/machinery/porta_turret{dir = 8; emagged = 1; installation = /obj/item/weapon/gun/energy/lasercannon},/turf/simulated/floor/plating,/area/awaymission/spacebattle/syndicate2) +"bf" = (/obj/machinery/porta_turret{dir = 8; emagged = 1; installation = /obj/item/gun/energy/lasercannon},/turf/simulated/floor/plating,/area/awaymission/spacebattle/syndicate2) "bg" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate3) "bh" = (/obj/structure/table/reinforced,/obj/item/clothing/suit/space/rig/syndi,/obj/item/clothing/head/helmet/space/rig/syndi,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate1) "bi" = (/obj/structure/table/reinforced,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate1) @@ -64,27 +64,27 @@ "bl" = (/obj/structure/table/reinforced,/obj/item/clothing/head/helmet/swat,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate3) "bm" = (/obj/machinery/computer/pod{id = "spacebattlepod3"; name = "Hull Door Control"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2) "bn" = (/obj/machinery/door/poddoor{icon_state = "pdoor1"; id = "spacebattlepod3"; name = "Front Hull Door"; opacity = 1},/turf/simulated/shuttle/plating,/area/awaymission/spacebattle/syndicate2) -"bo" = (/obj/structure/table/reinforced,/obj/item/weapon/plastique,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate3) +"bo" = (/obj/structure/table/reinforced,/obj/item/plastique,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate3) "bp" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate1) -"bq" = (/obj/structure/table/reinforced,/obj/item/weapon/plastique,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate1) -"br" = (/obj/structure/table/reinforced,/obj/item/weapon/grenade/spawnergrenade/manhacks,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate1) -"bs" = (/obj/structure/table/reinforced,/obj/item/weapon/handcuffs,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate1) +"bq" = (/obj/structure/table/reinforced,/obj/item/plastique,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate1) +"br" = (/obj/structure/table/reinforced,/obj/item/grenade/spawnergrenade/manhacks,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate1) +"bs" = (/obj/structure/table/reinforced,/obj/item/handcuffs,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate1) "bt" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate3) "bu" = (/obj/structure/stool/bed/chair,/mob/living/simple_animal/hostile/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate3) "bv" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate3) -"bw" = (/obj/structure/table/reinforced,/obj/item/weapon/melee/energy/sword/red,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate1) +"bw" = (/obj/structure/table/reinforced,/obj/item/melee/energy/sword/red,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate1) "bx" = (/obj/machinery/computer/shuttle,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate3) "by" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate3) "bz" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate3) "bA" = (/obj/structure/table/reinforced,/obj/item/clothing/head/helmet/swat,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate1) -"bB" = (/obj/machinery/porta_turret{dir = 8; emagged = 1; installation = /obj/item/weapon/gun/energy/lasercannon},/turf/simulated/floor/plating,/area/awaymission/spacebattle/syndicate3) +"bB" = (/obj/machinery/porta_turret{dir = 8; emagged = 1; installation = /obj/item/gun/energy/lasercannon},/turf/simulated/floor/plating,/area/awaymission/spacebattle/syndicate3) "bC" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate1) "bD" = (/obj/structure/stool/bed/chair,/mob/living/simple_animal/hostile/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate1) "bE" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate1) "bF" = (/obj/machinery/computer/shuttle,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate1) "bG" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate1) "bH" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate1) -"bI" = (/obj/machinery/porta_turret{dir = 8; emagged = 1; installation = /obj/item/weapon/gun/energy/lasercannon},/turf/simulated/floor/plating,/area/awaymission/spacebattle/syndicate1) +"bI" = (/obj/machinery/porta_turret{dir = 8; emagged = 1; installation = /obj/item/gun/energy/lasercannon},/turf/simulated/floor/plating,/area/awaymission/spacebattle/syndicate1) "bJ" = (/turf/space,/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/cruiser) "bK" = (/obj/structure/shuttle/engine/propulsion{ icon_state = "propulsion_r"; dir = 1},/turf/space,/area/awaymission/spacebattle/cruiser) "bL" = (/obj/machinery/door/airlock/external,/turf/simulated/shuttle/plating,/area/awaymission/spacebattle/cruiser) @@ -130,12 +130,12 @@ "cz" = (/obj/item/stack/sheet/metal,/obj/item/ammo_casing/a10mm,/turf/simulated/floor,/area/awaymission/spacebattle/cruiser) "cA" = (/obj/item/ammo_casing/a10mm,/obj/item/ammo_casing/a10mm,/obj/item/ammo_casing/a10mm,/obj/item/ammo_casing/a10mm,/turf/simulated/floor,/area/awaymission/spacebattle/cruiser) "cB" = (/obj/structure/closet/cabinet,/turf/simulated/floor,/area/awaymission/spacebattle/cruiser) -"cC" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor,/area/awaymission/spacebattle/cruiser) +"cC" = (/obj/structure/stool/bed,/obj/item/bedsheet,/turf/simulated/floor,/area/awaymission/spacebattle/cruiser) "cD" = (/obj/machinery/vending/cigarette,/turf/simulated/floor,/area/awaymission/spacebattle/cruiser) -"cE" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/snacks/sausage,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/awaymission/spacebattle/cruiser) -"cF" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/condiment/enzyme,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/awaymission/spacebattle/cruiser) -"cG" = (/obj/structure/table/reinforced,/obj/item/weapon/kitchenknife,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/awaymission/spacebattle/cruiser) -"cH" = (/obj/structure/table/reinforced,/obj/item/weapon/kitchen/rollingpin,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/awaymission/spacebattle/cruiser) +"cE" = (/obj/structure/table/reinforced,/obj/item/reagent_containers/food/snacks/sausage,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/awaymission/spacebattle/cruiser) +"cF" = (/obj/structure/table/reinforced,/obj/item/reagent_containers/food/condiment/enzyme,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/awaymission/spacebattle/cruiser) +"cG" = (/obj/structure/table/reinforced,/obj/item/kitchenknife,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/awaymission/spacebattle/cruiser) +"cH" = (/obj/structure/table/reinforced,/obj/item/kitchen/rollingpin,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/awaymission/spacebattle/cruiser) "cI" = (/obj/structure/closet/secure_closet/freezer/kitchen,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/awaymission/spacebattle/cruiser) "cJ" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/awaymission/spacebattle/cruiser) "cK" = (/obj/structure/table/reinforced,/obj/machinery/microwave,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/awaymission/spacebattle/cruiser) @@ -150,8 +150,8 @@ "cT" = (/turf/simulated/shuttle/wall{ icon_state = "swall"; dir = 5},/area/awaymission/spacebattle/cruiser) "cU" = (/obj/effect/landmark/corpse/engineer{mobname = "Bill Sanchez"; name = "Bill Sanchez"},/obj/effect/decal/cleanable/blood,/turf/simulated/floor,/area/awaymission/spacebattle/cruiser) "cV" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/awaymission/spacebattle/cruiser) -"cW" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/snacks/fries,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/awaymission/spacebattle/cruiser) -"cX" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/snacks/stew,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/awaymission/spacebattle/cruiser) +"cW" = (/obj/structure/table/reinforced,/obj/item/reagent_containers/food/snacks/fries,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/awaymission/spacebattle/cruiser) +"cX" = (/obj/structure/table/reinforced,/obj/item/reagent_containers/food/snacks/stew,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/awaymission/spacebattle/cruiser) "cY" = (/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/awaymission/spacebattle/cruiser) "cZ" = (/mob/living/simple_animal/hostile/syndicate/melee,/turf/simulated/floor,/area/awaymission/spacebattle/cruiser) "da" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser) @@ -179,7 +179,7 @@ "dw" = (/obj/effect/decal/cleanable/blood,/turf/simulated/shuttle/wall{ icon_state = "swall_straight"; dir = 4},/area/awaymission/spacebattle/cruiser) "dx" = (/turf/simulated/shuttle/wall{ icon_state = "swall15"},/area/awaymission/spacebattle/cruiser) "dy" = (/turf/simulated/shuttle/wall{ icon_state = "swall_t"; dir = 4},/area/awaymission/spacebattle/cruiser) -"dz" = (/obj/effect/landmark/corpse/chef{mobname = "Nathaniel Waters"; name = "Nathaniel Waters"},/obj/item/weapon/butch,/obj/effect/decal/cleanable/blood,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/spacebattle/cruiser) +"dz" = (/obj/effect/landmark/corpse/chef{mobname = "Nathaniel Waters"; name = "Nathaniel Waters"},/obj/item/butch,/obj/effect/decal/cleanable/blood,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/spacebattle/cruiser) "dA" = (/obj/structure/stool/bed/chair,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/spacebattle/cruiser) "dB" = (/obj/structure/rack,/turf/simulated/floor{icon_state = "red"; dir = 9},/area/awaymission/spacebattle/cruiser) "dC" = (/turf/simulated/floor{icon_state = "red"; dir = 1},/area/awaymission/spacebattle/cruiser) @@ -200,7 +200,7 @@ "dR" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser) "dS" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser) "dT" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/spacebattle/cruiser) -"dU" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/condiment/peppermill,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/spacebattle/cruiser) +"dU" = (/obj/structure/table/reinforced,/obj/item/reagent_containers/food/condiment/peppermill,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/spacebattle/cruiser) "dV" = (/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/spacebattle/cruiser) "dW" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/spacebattle/cruiser) "dX" = (/obj/structure/rack,/turf/simulated/floor{icon_state = "red"; dir = 8},/area/awaymission/spacebattle/cruiser) @@ -208,7 +208,7 @@ "dZ" = (/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/awaymission/spacebattle/cruiser) "ea" = (/obj/effect/landmark/corpse/engineer/rig{corpseidjob = "Gunner"; mobname = "Andrew Thorn"; name = "Andrew Thorn"},/obj/effect/decal/cleanable/blood,/turf/simulated/floor/plating/airless,/area/awaymission/spacebattle/cruiser) "eb" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/engine,/area/awaymission/spacebattle/cruiser) -"ec" = (/obj/machinery/porta_turret{dir = 8; emagged = 1; installation = /obj/item/weapon/gun/energy/lasercannon},/turf/simulated/floor/engine,/area/awaymission/spacebattle/cruiser) +"ec" = (/obj/machinery/porta_turret{dir = 8; emagged = 1; installation = /obj/item/gun/energy/lasercannon},/turf/simulated/floor/engine,/area/awaymission/spacebattle/cruiser) "ed" = (/obj/effect/landmark/corpse/engineer{mobname = "Clay Dawson"; name = "Clay Dawson"},/turf/simulated/floor{ icon_state = "damaged5"},/area/awaymission/spacebattle/cruiser) "ee" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser) "ef" = (/obj/machinery/gateway{dir = 9},/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser) @@ -233,7 +233,7 @@ "ey" = (/obj/machinery/gateway{dir = 6},/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser) "ez" = (/mob/living/simple_animal/hostile/syndicate/ranged/space,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/spacebattle/cruiser) "eA" = (/turf/simulated/floor{icon_state = "red"; dir = 8},/area/awaymission/spacebattle/cruiser) -"eB" = (/obj/effect/landmark/corpse/bridgeofficer{mobname = "Davis Hume"; name = "Davis Hume"},/obj/item/weapon/gun/projectile/shotgun/pump/combat,/turf/simulated/floor,/area/awaymission/spacebattle/cruiser) +"eB" = (/obj/effect/landmark/corpse/bridgeofficer{mobname = "Davis Hume"; name = "Davis Hume"},/obj/item/gun/projectile/shotgun/pump/combat,/turf/simulated/floor,/area/awaymission/spacebattle/cruiser) "eC" = (/obj/item/ammo_casing/shotgun,/turf/simulated/floor,/area/awaymission/spacebattle/cruiser) "eD" = (/turf/simulated/floor{icon_state = "red"; dir = 4},/area/awaymission/spacebattle/cruiser) "eE" = (/turf/simulated/shuttle/wall{ icon_state = "swall_straight"; dir = 1; dir = 2},/area/awaymission/spacebattle/cruiser) @@ -247,19 +247,19 @@ "eM" = (/turf/simulated/shuttle/wall{ icon_state = "swall"; dir = 9},/area/awaymission/spacebattle/cruiser) "eN" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate4) "eO" = (/obj/machinery/computer/shuttle,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate4) -"eP" = (/obj/structure/table/reinforced,/obj/item/weapon/kitchen/utensil/spoon,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/spacebattle/cruiser) +"eP" = (/obj/structure/table/reinforced,/obj/item/kitchen/utensil/spoon,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/spacebattle/cruiser) "eQ" = (/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/awaymission/spacebattle/cruiser) -"eR" = (/obj/item/weapon/shield/energy,/turf/simulated/floor,/area/awaymission/spacebattle/cruiser) +"eR" = (/obj/item/shield/energy,/turf/simulated/floor,/area/awaymission/spacebattle/cruiser) "eS" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor,/area/awaymission/spacebattle/cruiser) "eT" = (/obj/machinery/computer/med_data,/turf/simulated/floor{ icon_state = "bluefull"},/area/awaymission/spacebattle/cruiser) "eU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser) "eV" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate4) "eW" = (/obj/structure/stool/bed/chair{dir = 1},/mob/living/simple_animal/hostile/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate4) "eX" = (/obj/structure/closet/crate,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser) -"eY" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/condiment/saltshaker,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/spacebattle/cruiser) -"eZ" = (/obj/structure/table/reinforced,/obj/item/weapon/kitchen/utensil/fork,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/spacebattle/cruiser) -"fa" = (/obj/effect/landmark/corpse/syndicatesoldier,/obj/item/weapon/melee/energy/sword/red,/obj/effect/decal/cleanable/blood,/turf/simulated/floor,/area/awaymission/spacebattle/cruiser) -"fb" = (/obj/effect/landmark/corpse/bridgeofficer{mobname = "Kurt Kliest"; name = "Kurt Kliest"},/obj/item/weapon/gun/projectile/shotgun/pump/combat,/obj/item/ammo_casing/shotgun,/turf/simulated/floor,/area/awaymission/spacebattle/cruiser) +"eY" = (/obj/structure/table/reinforced,/obj/item/reagent_containers/food/condiment/saltshaker,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/spacebattle/cruiser) +"eZ" = (/obj/structure/table/reinforced,/obj/item/kitchen/utensil/fork,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/spacebattle/cruiser) +"fa" = (/obj/effect/landmark/corpse/syndicatesoldier,/obj/item/melee/energy/sword/red,/obj/effect/decal/cleanable/blood,/turf/simulated/floor,/area/awaymission/spacebattle/cruiser) +"fb" = (/obj/effect/landmark/corpse/bridgeofficer{mobname = "Kurt Kliest"; name = "Kurt Kliest"},/obj/item/gun/projectile/shotgun/pump/combat,/obj/item/ammo_casing/shotgun,/turf/simulated/floor,/area/awaymission/spacebattle/cruiser) "fc" = (/obj/item/ammo_casing/shotgun,/obj/effect/decal/cleanable/blood,/turf/simulated/floor,/area/awaymission/spacebattle/cruiser) "fd" = (/obj/machinery/computer/crew,/turf/simulated/floor{ icon_state = "bluefull"},/area/awaymission/spacebattle/cruiser) "fe" = (/obj/effect/landmark/corpse/engineer/rig{corpseidjob = "Gunner"; mobname = "Eric Abnett"; name = "Eric Abnett"},/obj/effect/decal/cleanable/blood,/turf/simulated/floor/plating/airless,/area/awaymission/spacebattle/cruiser) @@ -268,20 +268,20 @@ "fh" = (/turf/simulated/floor{icon_state = "red"},/area/awaymission/spacebattle/cruiser) "fi" = (/turf/simulated/floor{icon_state = "red"; dir = 6},/area/awaymission/spacebattle/cruiser) "fj" = (/obj/structure/closet/crate,/obj/item/clothing/gloves/blue,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser) -"fk" = (/obj/item/weapon/hand_labeler,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser) +"fk" = (/obj/item/hand_labeler,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser) "fl" = (/obj/machinery/door/poddoor{id = "spacebattlestorage"; name = "Secure Storage"},/turf/simulated/floor,/area/awaymission/spacebattle/cruiser) "fm" = (/mob/living/simple_animal/hostile/syndicate/ranged,/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/awaymission/spacebattle/cruiser) "fn" = (/obj/machinery/computer/security/telescreen,/turf/simulated/shuttle/wall,/area/awaymission/spacebattle/cruiser) "fo" = (/turf/simulated/shuttle/wall{ icon_state = "swall_s"; dir = 8; dir = 2},/area/awaymission/spacebattle/cruiser) "fp" = (/obj/machinery/door/airlock/external,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate4) "fq" = (/obj/structure/closet/crate,/obj/item/clothing/glasses/material,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser) -"fr" = (/obj/structure/closet/crate,/obj/item/weapon/light/tube,/obj/item/weapon/light/tube,/obj/item/weapon/light/tube,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser) +"fr" = (/obj/structure/closet/crate,/obj/item/light/tube,/obj/item/light/tube,/obj/item/light/tube,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser) "fs" = (/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/awaymission/spacebattle/cruiser) -"ft" = (/obj/effect/landmark/corpse/syndicatesoldier,/obj/item/weapon/gun/projectile/automatic/c20r,/obj/item/ammo_casing/a10mm,/obj/item/ammo_casing/a10mm,/obj/effect/decal/cleanable/blood,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/awaymission/spacebattle/cruiser) +"ft" = (/obj/effect/landmark/corpse/syndicatesoldier,/obj/item/gun/projectile/automatic/c20r,/obj/item/ammo_casing/a10mm,/obj/item/ammo_casing/a10mm,/obj/effect/decal/cleanable/blood,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/awaymission/spacebattle/cruiser) "fu" = (/obj/item/ammo_casing/a10mm,/obj/item/ammo_casing/a10mm,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/awaymission/spacebattle/cruiser) -"fv" = (/obj/effect/landmark/corpse/bridgeofficer{mobname = "Walter Strider"; name = "Walter Strider"},/obj/item/weapon/gun/projectile/shotgun/pump/combat,/obj/item/ammo_casing/a10mm,/obj/item/ammo_casing/a10mm,/obj/effect/decal/cleanable/blood,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/awaymission/spacebattle/cruiser) +"fv" = (/obj/effect/landmark/corpse/bridgeofficer{mobname = "Walter Strider"; name = "Walter Strider"},/obj/item/gun/projectile/shotgun/pump/combat,/obj/item/ammo_casing/a10mm,/obj/item/ammo_casing/a10mm,/obj/effect/decal/cleanable/blood,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/awaymission/spacebattle/cruiser) "fw" = (/obj/item/ammo_casing/shotgun,/turf/simulated/floor{dir = 1; icon_state = "bluecorner"},/area/awaymission/spacebattle/cruiser) -"fx" = (/obj/item/ammo_casing/a357,/obj/item/ammo_casing/a357,/obj/item/weapon/gun/projectile/mateba,/obj/effect/landmark/corpse/commander{mobname = "Aaron Bowden"; name = "Aaron Bowden"},/obj/effect/decal/cleanable/blood,/turf/simulated/floor,/area/awaymission/spacebattle/cruiser) +"fx" = (/obj/item/ammo_casing/a357,/obj/item/ammo_casing/a357,/obj/item/gun/projectile/mateba,/obj/effect/landmark/corpse/commander{mobname = "Aaron Bowden"; name = "Aaron Bowden"},/obj/effect/decal/cleanable/blood,/turf/simulated/floor,/area/awaymission/spacebattle/cruiser) "fy" = (/obj/structure/stool/bed/chair{dir = 4},/obj/effect/decal/cleanable/blood,/turf/simulated/floor,/area/awaymission/spacebattle/cruiser) "fz" = (/obj/machinery/computer/shuttle,/turf/simulated/floor{ icon_state = "bluefull"},/area/awaymission/spacebattle/cruiser) "fA" = (/obj/structure/artilleryplaceholder{ icon_state = "1"},/turf/simulated/floor/plating/airless,/area/awaymission/spacebattle/cruiser) @@ -296,12 +296,12 @@ "fJ" = (/obj/structure/artilleryplaceholder{ icon_state = "10"},/turf/simulated/floor/plating/airless,/area/awaymission/spacebattle/cruiser) "fK" = (/obj/structure/artilleryplaceholder{ icon_state = "11"},/turf/simulated/floor/plating/airless,/area/awaymission/spacebattle/cruiser) "fL" = (/obj/structure/artilleryplaceholder{ icon_state = "12"},/turf/simulated/floor/plating/airless,/area/awaymission/spacebattle/cruiser) -"fM" = (/obj/structure/closet/crate/internals,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/storage/firstaid/o2,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser) +"fM" = (/obj/structure/closet/crate/internals,/obj/item/tank/emergency_oxygen,/obj/item/storage/firstaid/o2,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser) "fN" = (/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/awaymission/spacebattle/cruiser) "fO" = (/obj/item/ammo_casing/a10mm,/obj/item/ammo_casing/a10mm,/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/awaymission/spacebattle/cruiser) "fP" = (/obj/item/ammo_casing/shotgun,/obj/item/ammo_casing/a10mm,/obj/item/ammo_casing/a10mm,/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/awaymission/spacebattle/cruiser) "fQ" = (/obj/item/ammo_casing/shotgun,/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/awaymission/spacebattle/cruiser) -"fR" = (/obj/effect/landmark/corpse/syndicatesoldier,/obj/item/weapon/gun/projectile/automatic/c20r,/obj/item/ammo_casing/a10mm,/obj/item/ammo_casing/a10mm,/obj/effect/decal/cleanable/blood,/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/awaymission/spacebattle/cruiser) +"fR" = (/obj/effect/landmark/corpse/syndicatesoldier,/obj/item/gun/projectile/automatic/c20r,/obj/item/ammo_casing/a10mm,/obj/item/ammo_casing/a10mm,/obj/effect/decal/cleanable/blood,/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/awaymission/spacebattle/cruiser) "fS" = (/obj/item/ammo_casing/a10mm,/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/awaymission/spacebattle/cruiser) "fT" = (/obj/machinery/computer/communications,/turf/simulated/floor{ icon_state = "bluefull"},/area/awaymission/spacebattle/cruiser) "fU" = (/obj/structure/artilleryplaceholder{ icon_state = "13"},/turf/simulated/floor/plating/airless,/area/awaymission/spacebattle/cruiser) @@ -316,7 +316,7 @@ "gd" = (/obj/structure/artilleryplaceholder{ icon_state = "22"},/turf/simulated/floor/plating/airless,/area/awaymission/spacebattle/cruiser) "ge" = (/obj/structure/artilleryplaceholder{ icon_state = "23"},/turf/simulated/floor/plating/airless,/area/awaymission/spacebattle/cruiser) "gf" = (/obj/structure/artilleryplaceholder{ icon_state = "24"},/turf/simulated/floor/plating/airless,/area/awaymission/spacebattle/cruiser) -"gg" = (/obj/structure/closet/crate,/obj/item/weapon/contraband/poster,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser) +"gg" = (/obj/structure/closet/crate,/obj/item/contraband/poster,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser) "gh" = (/obj/effect/landmark/corpse/bridgeofficer{mobname = "Robert Faver"; name = "Robert Faver"},/obj/item/ammo_casing/shotgun,/obj/effect/decal/cleanable/blood,/turf/simulated/floor,/area/awaymission/spacebattle/cruiser) "gi" = (/obj/structure/artilleryplaceholder/decorative{ icon_state = "25"},/turf/simulated/floor/plating/airless,/area/awaymission/spacebattle/cruiser) "gj" = (/obj/structure/artilleryplaceholder/decorative{ icon_state = "26"},/turf/simulated/floor/plating/airless,/area/awaymission/spacebattle/cruiser) @@ -330,21 +330,21 @@ "gr" = (/obj/structure/artilleryplaceholder/decorative{ icon_state = "34"},/turf/simulated/floor/plating/airless,/area/awaymission/spacebattle/cruiser) "gs" = (/obj/structure/artilleryplaceholder{ icon_state = "35"},/turf/simulated/floor/plating/airless,/area/awaymission/spacebattle/cruiser) "gt" = (/obj/structure/closet/crate/secure/weapon,/obj/item/ammo_magazine/a357,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser) -"gu" = (/obj/structure/closet/crate,/obj/item/weapon/lipstick/black,/obj/item/weapon/lipstick/jade,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser) +"gu" = (/obj/structure/closet/crate,/obj/item/lipstick/black,/obj/item/lipstick/jade,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser) "gv" = (/obj/structure/closet/crate,/obj/item/clothing/gloves/rainbow,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser) "gw" = (/obj/machinery/door_control{dir = 2; id = "spacebattlestorage"; name = "Secure Storage"; pixel_x = 24; pixel_y = 0},/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser) "gx" = (/obj/machinery/computer/operating,/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/awaymission/spacebattle/cruiser) -"gy" = (/obj/structure/table/reinforced,/obj/item/weapon/scalpel,/obj/item/weapon/circular_saw,/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/awaymission/spacebattle/cruiser) -"gz" = (/obj/structure/table/reinforced,/obj/item/weapon/retractor,/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/awaymission/spacebattle/cruiser) -"gA" = (/obj/structure/table/reinforced,/obj/item/weapon/hemostat,/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/awaymission/spacebattle/cruiser) -"gB" = (/obj/structure/table/reinforced,/obj/item/weapon/scalpel,/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/awaymission/spacebattle/cruiser) +"gy" = (/obj/structure/table/reinforced,/obj/item/scalpel,/obj/item/circular_saw,/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/awaymission/spacebattle/cruiser) +"gz" = (/obj/structure/table/reinforced,/obj/item/retractor,/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/awaymission/spacebattle/cruiser) +"gA" = (/obj/structure/table/reinforced,/obj/item/hemostat,/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/awaymission/spacebattle/cruiser) +"gB" = (/obj/structure/table/reinforced,/obj/item/scalpel,/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/awaymission/spacebattle/cruiser) "gC" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/wood,/area/awaymission/spacebattle/cruiser) "gD" = (/turf/simulated/floor/wood,/area/awaymission/spacebattle/cruiser) -"gE" = (/obj/item/weapon/gun/projectile/shotgun/pump/combat,/turf/simulated/floor,/area/awaymission/spacebattle/cruiser) +"gE" = (/obj/item/gun/projectile/shotgun/pump/combat,/turf/simulated/floor,/area/awaymission/spacebattle/cruiser) "gF" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate4) "gG" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate4) -"gH" = (/obj/structure/closet/crate/secure/weapon,/obj/item/weapon/gun/energy/laser,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser) -"gI" = (/obj/structure/closet/crate,/obj/item/weapon/spacecash/c10,/obj/item/weapon/spacecash/c10,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser) +"gH" = (/obj/structure/closet/crate/secure/weapon,/obj/item/gun/energy/laser,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser) +"gI" = (/obj/structure/closet/crate,/obj/item/spacecash/c10,/obj/item/spacecash/c10,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser) "gJ" = (/obj/effect/decal/cleanable/blood,/turf/simulated/shuttle/wall{ icon_state = "swall_straight"; dir = 1},/area/awaymission/spacebattle/cruiser) "gK" = (/obj/effect/landmark/corpse/doctor{mobname = "Adam Smith"; name = "Adam Smith"},/obj/effect/decal/cleanable/blood,/turf/simulated/floor,/area/awaymission/spacebattle/cruiser) "gL" = (/obj/machinery/optable,/turf/simulated/floor{icon_state = "white"},/area/awaymission/spacebattle/cruiser) @@ -352,15 +352,15 @@ "gN" = (/obj/machinery/vending/coffee,/turf/simulated/floor/wood,/area/awaymission/spacebattle/cruiser) "gO" = (/mob/living/simple_animal/hostile/syndicate/melee/space,/turf/simulated/floor/wood,/area/awaymission/spacebattle/cruiser) "gP" = (/obj/machinery/computer/security,/turf/simulated/floor{ icon_state = "bluefull"},/area/awaymission/spacebattle/cruiser) -"gQ" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green,/turf/simulated/floor/wood,/area/awaymission/spacebattle/cruiser) +"gQ" = (/obj/structure/table/woodentable,/obj/item/flashlight/lamp/green,/turf/simulated/floor/wood,/area/awaymission/spacebattle/cruiser) "gR" = (/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/awaymission/spacebattle/cruiser) "gS" = (/obj/machinery/computer/secure_data,/turf/simulated/floor{ icon_state = "bluefull"},/area/awaymission/spacebattle/cruiser) "gT" = (/obj/effect/landmark/corpse/engineer/rig{corpseidjob = "Gunner"; name = "Jeremy Tailor"},/obj/effect/decal/cleanable/blood,/turf/simulated/floor/plating/airless,/area/awaymission/spacebattle/cruiser) -"gU" = (/obj/machinery/porta_turret{dir = 8; emagged = 1; installation = /obj/item/weapon/gun/energy/lasercannon},/turf/simulated/floor/plating/airless,/area/awaymission/spacebattle/syndicate7) +"gU" = (/obj/machinery/porta_turret{dir = 8; emagged = 1; installation = /obj/item/gun/energy/lasercannon},/turf/simulated/floor/plating/airless,/area/awaymission/spacebattle/syndicate7) "gV" = (/turf/space,/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate7) "gW" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/awaymission/spacebattle/syndicate4) "gX" = (/obj/structure/reagent_dispensers/beerkeg,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser) -"gY" = (/obj/item/weapon/ore/clown,/obj/item/weapon/ore/clown,/obj/item/weapon/ore/clown,/obj/item/weapon/ore/clown,/obj/item/weapon/ore/clown,/obj/structure/closet/crate,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser) +"gY" = (/obj/item/ore/clown,/obj/item/ore/clown,/obj/item/ore/clown,/obj/item/ore/clown,/obj/item/ore/clown,/obj/structure/closet/crate,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser) "gZ" = (/obj/machinery/computer/operating,/turf/simulated/floor{icon_state = "white"},/area/awaymission/spacebattle/cruiser) "ha" = (/obj/effect/landmark/corpse/doctor{mobname = "Allan Yoshimaru"; name = "Allan Yoshimaru"},/obj/effect/decal/cleanable/blood,/turf/simulated/floor{icon_state = "white"},/area/awaymission/spacebattle/cruiser) "hb" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor{icon_state = "white"},/area/awaymission/spacebattle/cruiser) @@ -371,9 +371,9 @@ "hg" = (/turf/space,/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate7) "hh" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/awaymission/spacebattle/syndicate7) "hi" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/awaymission/spacebattle/syndicate4) -"hj" = (/obj/item/weapon/pickaxe,/obj/item/weapon/pickaxe/plasmacutter,/obj/structure/closet/crate,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser) -"hk" = (/obj/item/weapon/circular_saw,/turf/simulated/floor{icon_state = "white"},/area/awaymission/spacebattle/cruiser) -"hl" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin,/turf/simulated/floor/wood,/area/awaymission/spacebattle/cruiser) +"hj" = (/obj/item/pickaxe,/obj/item/pickaxe/plasmacutter,/obj/structure/closet/crate,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser) +"hk" = (/obj/item/circular_saw,/turf/simulated/floor{icon_state = "white"},/area/awaymission/spacebattle/cruiser) +"hl" = (/obj/structure/table/woodentable,/obj/item/paper_bin,/turf/simulated/floor/wood,/area/awaymission/spacebattle/cruiser) "hm" = (/obj/effect/landmark/corpse/engineer/rig{corpseidjob = "Gunner"; mobname = "Dan Hedricks"; name = "Dan Hedricks"},/obj/effect/decal/cleanable/blood,/obj/effect/decal/cleanable/blood,/turf/simulated/floor/plating/airless,/area/awaymission/spacebattle/cruiser) "hn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/awaymission/spacebattle/syndicate7) "ho" = (/obj/structure/table/reinforced,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate7) @@ -381,8 +381,8 @@ "hq" = (/obj/structure/shuttle/engine/heater{ icon_state = "heater"; dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/awaymission/spacebattle/syndicate7) "hr" = (/obj/structure/shuttle/engine/propulsion{ icon_state = "propulsion_r"; dir = 8},/turf/space,/area/awaymission/spacebattle/syndicate7) "hs" = (/obj/structure/largecrate,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser) -"ht" = (/obj/structure/closet/crate/secure/plasma,/obj/item/weapon/tank/plasma,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser) -"hu" = (/obj/structure/closet/crate/medical,/obj/item/weapon/storage/firstaid/fire,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser) +"ht" = (/obj/structure/closet/crate/secure/plasma,/obj/item/tank/plasma,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser) +"hu" = (/obj/structure/closet/crate/medical,/obj/item/storage/firstaid/fire,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser) "hv" = (/obj/structure/rack,/obj/item/clothing/suit/space/rig,/obj/item/clothing/head/helmet/space/rig,/turf/simulated/floor,/area/awaymission/spacebattle/cruiser) "hw" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/awaymission/spacebattle/cruiser) "hx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/engine,/area/awaymission/spacebattle/cruiser) @@ -390,18 +390,18 @@ "hz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/awaymission/spacebattle/syndicate7) "hA" = (/obj/structure/shuttle/engine/propulsion{ icon_state = "propulsion_l"; dir = 8},/turf/space,/area/awaymission/spacebattle/syndicate7) "hB" = (/obj/structure/largecrate,/mob/living/simple_animal/corgi/puppy,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser) -"hC" = (/obj/structure/closet/crate,/obj/item/weapon/cell/high,/obj/item/weapon/cell/high,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser) -"hD" = (/obj/structure/closet/crate/medical,/obj/item/weapon/storage/firstaid/regular,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser) -"hE" = (/obj/structure/closet/crate/medical,/obj/item/weapon/tank/anesthetic,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser) +"hC" = (/obj/structure/closet/crate,/obj/item/cell/high,/obj/item/cell/high,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser) +"hD" = (/obj/structure/closet/crate/medical,/obj/item/storage/firstaid/regular,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser) +"hE" = (/obj/structure/closet/crate/medical,/obj/item/tank/anesthetic,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser) "hF" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/floor{icon_state = "white"},/area/awaymission/spacebattle/cruiser) "hG" = (/mob/living/simple_animal/hostile/syndicate/melee,/turf/simulated/floor{icon_state = "white"},/area/awaymission/spacebattle/cruiser) -"hH" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/firstaid/regular,/turf/simulated/floor{icon_state = "white"},/area/awaymission/spacebattle/cruiser) -"hI" = (/obj/structure/table/woodentable,/obj/item/device/violin,/turf/simulated/floor/wood,/area/awaymission/spacebattle/cruiser) +"hH" = (/obj/structure/table/reinforced,/obj/item/storage/firstaid/regular,/turf/simulated/floor{icon_state = "white"},/area/awaymission/spacebattle/cruiser) +"hI" = (/obj/structure/table/woodentable,/obj/item/violin,/turf/simulated/floor/wood,/area/awaymission/spacebattle/cruiser) "hJ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/engine,/area/awaymission/spacebattle/cruiser) "hK" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate7) "hL" = (/turf/simulated/shuttle/wall{ icon_state = "swall_t"; dir = 1; dir = 2},/area/awaymission/spacebattle/cruiser) "hM" = (/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "white"},/area/awaymission/spacebattle/cruiser) -"hN" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/captain,/turf/simulated/floor/wood,/area/awaymission/spacebattle/cruiser) +"hN" = (/obj/structure/stool/bed,/obj/item/bedsheet/captain,/turf/simulated/floor/wood,/area/awaymission/spacebattle/cruiser) "hO" = (/obj/structure/closet/secure_closet/captains,/turf/simulated/floor/wood,/area/awaymission/spacebattle/cruiser) "hP" = (/obj/effect/landmark/corpse/engineer{corpseidjob = "Gunner"; mobname = "William Gannon"; name = "William Gannon"},/turf/simulated/floor,/area/awaymission/spacebattle/cruiser) "hQ" = (/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/awaymission/spacebattle/cruiser) @@ -413,18 +413,18 @@ "hW" = (/obj/machinery/computer/shuttle,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate7) "hX" = (/obj/structure/stool/bed/chair{dir = 8},/mob/living/simple_animal/hostile/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate7) "hY" = (/obj/machinery/door/airlock/external,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate7) -"hZ" = (/obj/machinery/shower{ icon_state = "shower"; dir = 4},/obj/item/weapon/bikehorn/rubberducky,/turf/simulated/floor{icon_state = "freezerfloor"},/area/awaymission/spacebattle/cruiser) +"hZ" = (/obj/machinery/shower{ icon_state = "shower"; dir = 4},/obj/item/bikehorn/rubberducky,/turf/simulated/floor{icon_state = "freezerfloor"},/area/awaymission/spacebattle/cruiser) "ia" = (/turf/simulated/floor{icon_state = "freezerfloor"},/area/awaymission/spacebattle/cruiser) "ib" = (/obj/machinery/shower{ icon_state = "shower"; dir = 8},/turf/simulated/floor{icon_state = "freezerfloor"},/area/awaymission/spacebattle/cruiser) "ic" = (/obj/structure/toilet,/turf/simulated/floor{icon_state = "freezerfloor"},/area/awaymission/spacebattle/cruiser) -"id" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/firstaid/fire,/turf/simulated/floor{icon_state = "white"},/area/awaymission/spacebattle/cruiser) +"id" = (/obj/structure/table/reinforced,/obj/item/storage/firstaid/fire,/turf/simulated/floor{icon_state = "white"},/area/awaymission/spacebattle/cruiser) "ie" = (/turf/simulated/shuttle/wall{ icon_state = "swall_s"; dir = 8},/area/awaymission/spacebattle/cruiser) "if" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/floor{icon_state = "freezerfloor"},/area/awaymission/spacebattle/cruiser) "ig" = (/turf/simulated/shuttle/wall{ icon_state = "swall"; dir = 1},/area/awaymission/spacebattle/cruiser) -"ih" = (/obj/item/weapon/storage/firstaid/regular,/turf/simulated/floor{icon_state = "white"},/area/awaymission/spacebattle/cruiser) -"ii" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/firstaid/o2,/turf/simulated/floor{icon_state = "white"},/area/awaymission/spacebattle/cruiser) +"ih" = (/obj/item/storage/firstaid/regular,/turf/simulated/floor{icon_state = "white"},/area/awaymission/spacebattle/cruiser) +"ii" = (/obj/structure/table/reinforced,/obj/item/storage/firstaid/o2,/turf/simulated/floor{icon_state = "white"},/area/awaymission/spacebattle/cruiser) "ij" = (/obj/machinery/shower{ icon_state = "shower"; dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/awaymission/spacebattle/cruiser) -"ik" = (/obj/machinery/shower{ icon_state = "shower"; dir = 8},/obj/item/weapon/soap,/turf/simulated/floor{icon_state = "freezerfloor"},/area/awaymission/spacebattle/cruiser) +"ik" = (/obj/machinery/shower{ icon_state = "shower"; dir = 8},/obj/item/soap,/turf/simulated/floor{icon_state = "freezerfloor"},/area/awaymission/spacebattle/cruiser) "il" = (/mob/living/simple_animal/hostile/syndicate/ranged/space,/turf/simulated/floor{icon_state = "freezerfloor"},/area/awaymission/spacebattle/cruiser) "im" = (/obj/effect/landmark/corpse/doctor{mobname = "Herbert West"; name = "Herbert West"},/obj/effect/decal/cleanable/blood,/turf/simulated/floor{icon_state = "white"},/area/awaymission/spacebattle/cruiser) "in" = (/obj/effect/landmark/corpse/engineer{mobname = "Carth Robinson"; name = "Carth Robinson"},/obj/effect/decal/cleanable/blood,/turf/simulated/floor{icon_state = "freezerfloor"},/area/awaymission/spacebattle/cruiser) @@ -436,9 +436,9 @@ "it" = (/obj/machinery/sleeper,/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/awaymission/spacebattle/cruiser) "iu" = (/obj/machinery/sleep_console,/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/awaymission/spacebattle/cruiser) "iv" = (/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/awaymission/spacebattle/cruiser) -"iw" = (/obj/effect/landmark/corpse/engineer{mobname = "Cyrion"; name = "Cyrion"},/obj/item/weapon/flamethrower/full,/obj/effect/decal/cleanable/blood,/turf/simulated/floor,/area/awaymission/spacebattle/cruiser) +"iw" = (/obj/effect/landmark/corpse/engineer{mobname = "Cyrion"; name = "Cyrion"},/obj/item/flamethrower/full,/obj/effect/decal/cleanable/blood,/turf/simulated/floor,/area/awaymission/spacebattle/cruiser) "ix" = (/mob/living/simple_animal/hostile/syndicate/ranged,/turf/simulated/floor,/area/awaymission/spacebattle/cruiser) -"iy" = (/obj/effect/landmark/corpse/syndicatesoldier,/obj/item/weapon/gun/projectile/automatic/c20r,/turf/simulated/floor{ icon_state = "damaged2"},/area/awaymission/spacebattle/cruiser) +"iy" = (/obj/effect/landmark/corpse/syndicatesoldier,/obj/item/gun/projectile/automatic/c20r,/turf/simulated/floor{ icon_state = "damaged2"},/area/awaymission/spacebattle/cruiser) "iz" = (/obj/structure/shuttle/engine/propulsion{ icon_state = "burst_r"; dir = 4},/turf/space,/area/awaymission/spacebattle/cruiser) "iA" = (/obj/effect/landmark/corpse/engineer{mobname = "Mercutio"; name = "Mercutio"},/obj/effect/decal/cleanable/blood,/turf/simulated/floor,/area/awaymission/spacebattle/cruiser) "iB" = (/obj/structure/lattice,/turf/space,/area) diff --git a/maps/RandomZLevels/stationCollision.dm b/maps/RandomZLevels/stationCollision.dm index 681f1955a70..3ea3aa73558 100644 --- a/maps/RandomZLevels/stationCollision.dm +++ b/maps/RandomZLevels/stationCollision.dm @@ -47,20 +47,20 @@ name = "Safecode hint spawner" /obj/effect/landmark/sc_bible_spawner/New() - var/obj/item/weapon/storage/bible/B = new /obj/item/weapon/storage/bible/booze(src.loc) + var/obj/item/storage/bible/B = new /obj/item/storage/bible/booze(src.loc) B.name = "The Holy book of the Geometer" B.deity_name = "Narsie" B.icon_state = "melted" B.item_state = "melted" - new /obj/item/weapon/paper/sc_safehint_paper_bible(B) - new /obj/item/weapon/pen(B) + new /obj/item/paper/sc_safehint_paper_bible(B) + new /obj/item/pen(B) qdel(src) /* * Guns - I'm making these specifically so that I dont spawn a pile of fully loaded weapons on the map. */ //Captain's retro laser - Fires practice laser shots instead. -obj/item/weapon/gun/energy/laser/retro/sc_retro +obj/item/gun/energy/laser/retro/sc_retro name ="retro laser" icon_state = "retro" desc = "An older model of the basic lasergun, no longer used by NanoTrasen's security or military forces." @@ -68,32 +68,32 @@ obj/item/weapon/gun/energy/laser/retro/sc_retro clumsy_check = 0 //No sense in having a harmless gun blow up in the clowns face //Syndicate silenced pistol. This definition is not necessary, it's just habit. -/obj/item/weapon/gun/projectile/silenced/sc_silenced +/obj/item/gun/projectile/silenced/sc_silenced //Make it so that these guns only spawn with a couple bullets... if any -/obj/item/weapon/gun/projectile/silenced/sc_silenced/New() +/obj/item/gun/projectile/silenced/sc_silenced/New() for(var/ammo in loaded) if(prob(95)) //95% chance loaded -= ammo //Syndicate sub-machine guns. -/obj/item/weapon/gun/projectile/automatic/c20r/sc_c20r +/obj/item/gun/projectile/automatic/c20r/sc_c20r -/obj/item/weapon/gun/projectile/automatic/c20r/sc_c20r/New() +/obj/item/gun/projectile/automatic/c20r/sc_c20r/New() for(var/ammo in loaded) if(prob(95)) //95% chance loaded -= ammo //Barman's shotgun -/obj/item/weapon/gun/projectile/shotgun/pump/sc_pump +/obj/item/gun/projectile/shotgun/pump/sc_pump -/obj/item/weapon/gun/projectile/shotgun/pump/sc_pump/New() +/obj/item/gun/projectile/shotgun/pump/sc_pump/New() for(var/ammo in loaded) if(prob(95)) //95% chance loaded -= ammo //Lasers -/obj/item/weapon/gun/energy/laser/practice/sc_laser +/obj/item/gun/energy/laser/practice/sc_laser name = "Old laser" desc = "A once potent weapon, years of dust have collected in the chamber and lens of this weapon, weakening the beam significantly." clumsy_check = 0 @@ -110,32 +110,31 @@ var/sc_safecode4 = "[rand(0,9)]" var/sc_safecode5 = "[rand(0,9)]" //Pieces of paper actually containing the hints -/obj/item/weapon/paper/sc_safehint_paper_prison +/obj/item/paper/sc_safehint_paper_prison name = "smudged paper" -/obj/item/weapon/paper/sc_safehint_paper_prison/New() - info = "The ink is smudged, you can only make out a couple numbers: '[sc_safecode1]**[sc_safecode4]*'" +/obj/item/paper/sc_safehint_paper_prison/New() + info = span_italics("The ink is smudged, you can only make out a couple numbers:") + " '[sc_safecode1]**[sc_safecode4]*'" -/obj/item/weapon/paper/sc_safehint_paper_hydro +/obj/item/paper/sc_safehint_paper_hydro name = "shredded paper" -/obj/item/weapon/paper/sc_safehint_paper_hydro/New() - info = "Although the paper is shredded, you can clearly see the number: '[sc_safecode2]'" +/obj/item/paper/sc_safehint_paper_hydro/New() + info = span_italics("Although the paper is shredded, you can clearly see the number:") + " '[sc_safecode2]'" -/obj/item/weapon/paper/sc_safehint_paper_caf +/obj/item/paper/sc_safehint_paper_caf name = "blood-soaked paper" //This does not have to be in New() because it is a constant. There are no variables in it i.e. [sc_safcode] - info = "This paper is soaked in blood, it is impossible to read any text." + info = span_red(span_italics("This paper is soaked in blood, it is impossible to read any text.")) -/obj/item/weapon/paper/sc_safehint_paper_bible +/obj/item/paper/sc_safehint_paper_bible name = "hidden paper" -/obj/item/weapon/paper/sc_safehint_paper_bible/New() - info = {"It would appear that the pen hidden with the paper had leaked ink over the paper. - However you can make out the last three digits:'[sc_safecode3][sc_safecode4][sc_safecode5]' - "} +/obj/item/paper/sc_safehint_paper_bible/New() + info =span_italics("It would appear that the pen hidden with the paper had leaked ink over the paper. \ + However you can make out the last three digits:") + "' [sc_safecode3][sc_safecode4][sc_safecode5]'" -/obj/item/weapon/paper/sc_safehint_paper_shuttle - info = {"Target: Research-station Epsilon
      - Objective: Prototype weaponry. The captain likely keeps them locked in her safe.
      +/obj/item/paper/sc_safehint_paper_shuttle + info = span_bold("Target:") + " Research-station Epsilon
      " + span_bold("Objective:")\ + + {" Prototype weaponry. The captain likely keeps them locked in her safe.

      Our on-board spy has learned the code and has hidden away a few copies of the code around the station. Unfortunatly he has been captured by security Your objective is to split up, locate any of the papers containing the captain's safe code, open the safe and @@ -149,19 +148,19 @@ var/sc_safecode5 = "[rand(0,9)]" /* * Captain's safe */ -/obj/item/weapon/storage/secure/safe/sc_ssafe +/obj/item/storage/secure/safe/sc_ssafe name = "Captain's secure safe" -/obj/item/weapon/storage/secure/safe/sc_ssafe/New() +/obj/item/storage/secure/safe/sc_ssafe/New() ..() l_code = "[sc_safecode1][sc_safecode2][sc_safecode3][sc_safecode4][sc_safecode5]" l_set = 1 - new /obj/item/weapon/gun/energy/mindflayer(src) - new /obj/item/device/soulstone(src) + new /obj/item/gun/energy/mindflayer(src) + new /obj/item/soulstone(src) new /obj/item/clothing/head/helmet/space/cult(src) new /obj/item/clothing/suit/space/cult(src) - //new /obj/item/weapon/teleportation_scroll(src) - new /obj/item/weapon/ore/diamond(src) + //new /obj/item/teleportation_scroll(src) + new /obj/item/ore/diamond(src) /* * Modified Nar-Sie diff --git a/maps/RandomZLevels/stationCollision.dmm b/maps/RandomZLevels/stationCollision.dmm index bba6d311405..bb9edadb885 100644 --- a/maps/RandomZLevels/stationCollision.dmm +++ b/maps/RandomZLevels/stationCollision.dmm @@ -68,7 +68,7 @@ "bp" = (/obj/structure/shuttle/engine/propulsion{ icon_state = "propulsion"; dir = 4},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/awaymission/syndishuttle) "bq" = (/obj/structure/shuttle/engine/router,/turf/simulated/shuttle/plating,/area/awaymission/syndishuttle) "br" = (/obj/structure/shuttle/engine/heater{ icon_state = "heater"; dir = 8},/turf/simulated/shuttle/plating,/area/awaymission/syndishuttle) -"bs" = (/obj/item/weapon/storage/toolbox/syndicate,/turf/simulated/shuttle/plating,/area/awaymission/syndishuttle) +"bs" = (/obj/item/storage/toolbox/syndicate,/turf/simulated/shuttle/plating,/area/awaymission/syndishuttle) "bt" = (/obj/structure/lattice,/turf/space,/area/awaymission/syndishuttle) "bu" = (/obj/machinery/door/airlock/centcom,/turf/simulated/shuttle/plating,/area/awaymission/syndishuttle) "bv" = (/obj/machinery/door/airlock/centcom,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/syndishuttle) @@ -79,13 +79,13 @@ "bA" = (/obj/machinery/bot/medbot/mysterious{desc = "A dark little medical robot. She looks somewhat underwhelmed."; name = "Nightingale"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/syndishuttle) "bB" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/syndishuttle) "bC" = (/obj/structure/table/standard,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/syndishuttle) -"bD" = (/obj/structure/table/standard,/obj/item/weapon/paper/sc_safehint_paper_shuttle,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/syndishuttle) +"bD" = (/obj/structure/table/standard,/obj/item/paper/sc_safehint_paper_shuttle,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/syndishuttle) "bE" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/syndishuttle) "bF" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/awaymission/syndishuttle) "bG" = (/turf/simulated/floor/airless{icon_state = "damaged3"},/area/awaymission/research) "bH" = (/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/awaymission/research) "bI" = (/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/awaymission/research) -"bJ" = (/obj/item/weapon/shard,/mob/living/carbon/alien/larva{bruteloss = 25; fireloss = 175; stat = 2},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/awaymission/research) +"bJ" = (/obj/item/shard,/mob/living/carbon/alien/larva{bruteloss = 25; fireloss = 175; stat = 2},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/awaymission/research) "bK" = (/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "bL" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "bM" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/awaymission/research) @@ -112,9 +112,9 @@ "ch" = (/obj/machinery/power/emitter{anchored = 1; state = 2},/turf/simulated/floor{icon_state = "dark"},/area/awaymission/research) "ci" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/turf/simulated/floor/airless{icon_state = "damaged3"},/area/awaymission/northblock) "cj" = (/obj/machinery/door/window/southleft,/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/awaymission/research) -"ck" = (/obj/item/weapon/shard{icon_state = "small"},/mob/living/carbon/alien/larva{bruteloss = 50; fireloss = 150; stat = 2},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/awaymission/research) -"cl" = (/obj/item/weapon/shard{icon_state = "medium"},/obj/item/weapon/shard{icon_state = "small"},/obj/effect/alien/weeds/node,/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/awaymission/research) -"cm" = (/obj/structure/table/standard,/obj/item/weapon/clipboard,/obj/item/weapon/paper,/obj/item/weapon/paper,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) +"ck" = (/obj/item/shard{icon_state = "small"},/mob/living/carbon/alien/larva{bruteloss = 50; fireloss = 150; stat = 2},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/awaymission/research) +"cl" = (/obj/item/shard{icon_state = "medium"},/obj/item/shard{icon_state = "small"},/obj/effect/alien/weeds/node,/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/awaymission/research) +"cm" = (/obj/structure/table/standard,/obj/item/clipboard,/obj/item/paper,/obj/item/paper,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "cn" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/mob/living/simple_animal/hostile/hivebot{opensdoors = 0},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/awaymission/research) "co" = (/obj/structure/window/reinforced,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/awaymission/research) "cp" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/awaymission/research) @@ -137,9 +137,9 @@ "cG" = (/obj/machinery/power/emitter{anchored = 1; dir = 1; icon_state = "emitter"; state = 2},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "cH" = (/obj/item/clothing/mask/facehugger,/mob/living/carbon/alien/humanoid/queen{fireloss = 300; stat = 2},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "cI" = (/obj/effect/decal/remains/human,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) -"cJ" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) +"cJ" = (/obj/structure/table/standard,/obj/item/paper_bin,/obj/item/pen,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "cK" = (/obj/structure/shuttle/engine/heater{ icon_state = "heater"; dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/awaymission/research) -"cL" = (/obj/effect/decal/remains/human{desc = "This guy seemed to have died in terrible way! Half his remains are dust."; icon_state = "remains"; name = "Syndicate agent remains"},/obj/item/clothing/suit/storage/labcoat,/obj/item/weapon/clipboard{pixel_x = -7; pixel_y = -4},/turf/simulated/floor{icon_state = "dark"},/area/awaymission/research) +"cL" = (/obj/effect/decal/remains/human{desc = "This guy seemed to have died in terrible way! Half his remains are dust."; icon_state = "remains"; name = "Syndicate agent remains"},/obj/item/clothing/suit/storage/labcoat,/obj/item/clipboard{pixel_x = -7; pixel_y = -4},/turf/simulated/floor{icon_state = "dark"},/area/awaymission/research) "cM" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/awaymission/research) "cN" = (/obj/effect/rune,/turf/simulated/floor{icon_state = "dark"},/area/awaymission/research) "cO" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/awaymission/research) @@ -161,9 +161,9 @@ "de" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "df" = (/obj/machinery/door/window/northleft{name = "Windoor"},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "dg" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) -"dh" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/sign/securearea{pixel_x = 32},/obj/item/clothing/under/rank/security,/obj/item/clothing/suit/armor/riot,/obj/item/clothing/head/helmet/swat,/obj/effect/decal/remains/human,/obj/item/weapon/gun/energy/laser/practice/sc_laser,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) +"dh" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/sign/securearea{pixel_x = 32},/obj/item/clothing/under/rank/security,/obj/item/clothing/suit/armor/riot,/obj/item/clothing/head/helmet/swat,/obj/effect/decal/remains/human,/obj/item/gun/energy/laser/practice/sc_laser,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "di" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_state = "dark"},/area/awaymission/research) -"dj" = (/obj/structure/sign/securearea{pixel_x = 32},/obj/item/clothing/under/rank/security,/obj/item/clothing/suit/armor/riot,/obj/item/clothing/head/helmet/swat,/obj/effect/decal/remains/human,/obj/item/weapon/gun/energy/laser/practice/sc_laser,/turf/simulated/floor{icon_state = "dark"},/area/awaymission/research) +"dj" = (/obj/structure/sign/securearea{pixel_x = 32},/obj/item/clothing/under/rank/security,/obj/item/clothing/suit/armor/riot,/obj/item/clothing/head/helmet/swat,/obj/effect/decal/remains/human,/obj/item/gun/energy/laser/practice/sc_laser,/turf/simulated/floor{icon_state = "dark"},/area/awaymission/research) "dk" = (/obj/machinery/door_control{id = "Narsiedoor"; name = "Blast Door Control"; pixel_x = -28},/turf/simulated/floor{icon_state = "dark"},/area/awaymission/research) "dl" = (/obj/machinery/door/poddoor{id = "Narsiedoor"; name = "Blast Doors"},/turf/simulated/floor{icon_state = "dark"},/area/awaymission/research) "dm" = (/obj/machinery/power/emitter{anchored = 1; dir = 8; state = 2},/turf/simulated/floor{icon_state = "dark"},/area/awaymission/research) @@ -189,7 +189,7 @@ "dG" = (/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "dH" = (/obj/machinery/door/window/southright{name = "Windoor"},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "dI" = (/obj/structure/window/reinforced,/obj/effect/decal/remains/human,/obj/item/clothing/suit/storage/labcoat,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) -"dJ" = (/obj/machinery/light{dir = 4},/obj/structure/window/reinforced,/obj/structure/sign/securearea{pixel_x = 32},/obj/item/clothing/under/rank/security,/obj/item/clothing/suit/armor/riot,/obj/item/clothing/head/helmet/swat,/obj/effect/decal/remains/human,/obj/item/weapon/gun/energy/laser/practice/sc_laser,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) +"dJ" = (/obj/machinery/light{dir = 4},/obj/structure/window/reinforced,/obj/structure/sign/securearea{pixel_x = 32},/obj/item/clothing/under/rank/security,/obj/item/clothing/suit/armor/riot,/obj/item/clothing/head/helmet/swat,/obj/effect/decal/remains/human,/obj/item/gun/energy/laser/practice/sc_laser,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "dK" = (/obj/machinery/light/small,/turf/simulated/floor{icon_state = "dark"},/area/awaymission/research) "dL" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/awaymission/research) "dM" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/awaymission/research) @@ -204,12 +204,12 @@ "dV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/awaymission/northblock) "dW" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "dX" = (/obj/structure/table,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) -"dY" = (/obj/structure/table/standard,/obj/item/stack/cable_coil{amount = 5},/obj/item/weapon/screwdriver,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) +"dY" = (/obj/structure/table/standard,/obj/item/stack/cable_coil{amount = 5},/obj/item/screwdriver,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "dZ" = (/obj/structure/computerframe{anchored = 1},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "ea" = (/obj/machinery/light,/obj/structure/computerframe{anchored = 1},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "eb" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "ec" = (/turf/simulated/wall,/area/awaymission/research) -"ed" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/item/weapon/shard,/turf/simulated/floor/plating,/area/awaymission/northblock) +"ed" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/item/shard,/turf/simulated/floor/plating,/area/awaymission/northblock) "ee" = (/obj/structure/table/standard,/turf/simulated/floor{icon_state = "bluecorner"},/area/awaymission/northblock) "ef" = (/turf/simulated/floor{icon_state = "blue"; dir = 6},/area/awaymission/northblock) "eg" = (/turf/simulated/floor{icon_state = "blue"; dir = 10},/area/awaymission/northblock) @@ -243,15 +243,15 @@ "eI" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "eJ" = (/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact"; level = 2},/obj/machinery/light/small{dir = 4},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "eK" = (/obj/structure/shuttle/engine/heater{ icon_state = "heater"; dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/awaymission/research) -"eL" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/plating,/area/awaymission/northblock) +"eL" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/item/shard{icon_state = "small"},/turf/simulated/floor/plating,/area/awaymission/northblock) "eM" = (/obj/structure/table/standard,/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/awaymission/northblock) "eN" = (/obj/machinery/power/apc{cell_type = 5000; dir = 4; name = "North Block APC"; pixel_x = 28},/obj/structure/cable,/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/awaymission/northblock) "eO" = (/obj/structure/window/reinforced,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/awaymission/northblock) "eP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/awaymission/northblock) -"eQ" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/snacks/grown/potato,/obj/item/stack/cable_coil{amount = 1},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) +"eQ" = (/obj/structure/table/standard,/obj/item/reagent_containers/food/snacks/grown/potato,/obj/item/stack/cable_coil{amount = 1},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "eR" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table/standard,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "eS" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/computerframe{anchored = 1},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) -"eT" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table/standard,/obj/item/weapon/book/manual/research_and_development,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) +"eT" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table/standard,/obj/item/book/manual/research_and_development,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "eU" = (/obj/structure/window/reinforced{dir = 8},/obj/effect/decal/remains/human,/obj/item/clothing/suit/storage/labcoat,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "eV" = (/obj/machinery/door/window/eastleft{name = "Windoor"},/obj/machinery/door/window/westleft{name = "Windoor"},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "eW" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 120; icon_state = "in"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) @@ -263,16 +263,16 @@ "fc" = (/turf/simulated/floor,/area/awaymission/northblock) "fd" = (/obj/machinery/light/small,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/awaymission/northblock) "fe" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/awaymission/northblock) -"ff" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/capacitor{pixel_x = -3},/obj/item/weapon/stock_parts/scanning_module{pixel_x = 3; pixel_y = 3},/obj/item/weapon/stock_parts/scanning_module{pixel_y = -3},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) +"ff" = (/obj/structure/table/standard,/obj/item/stock_parts/capacitor,/obj/item/stock_parts/capacitor{pixel_x = -3},/obj/item/stock_parts/scanning_module{pixel_x = 3; pixel_y = 3},/obj/item/stock_parts/scanning_module{pixel_y = -3},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "fg" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) -"fh" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/manipulator{pixel_x = -3; pixel_y = 3},/obj/item/weapon/stock_parts/micro_laser{pixel_x = -3; pixel_y = -3},/obj/item/weapon/stock_parts/micro_laser{pixel_x = 3; pixel_y = 3},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) +"fh" = (/obj/structure/table/standard,/obj/item/stock_parts/manipulator,/obj/item/stock_parts/manipulator{pixel_x = -3; pixel_y = 3},/obj/item/stock_parts/micro_laser{pixel_x = -3; pixel_y = -3},/obj/item/stock_parts/micro_laser{pixel_x = 3; pixel_y = 3},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "fi" = (/obj/machinery/computer/crew,/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/awaymission/northblock) "fj" = (/obj/machinery/light/small,/obj/structure/computerframe{anchored = 1},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/awaymission/northblock) "fk" = (/obj/structure/table/standard,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/awaymission/northblock) "fl" = (/obj/structure/computerframe{anchored = 1},/turf/simulated/floor{dir = 1; icon_state = "bluecorner"},/area/awaymission/northblock) "fm" = (/obj/machinery/door/airlock/gold{name = "Airlock"},/turf/simulated/floor,/area/awaymission/northblock) -"fn" = (/obj/structure/table/standard,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = -3; pixel_y = 5},/obj/item/weapon/cell/crap,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) -"fo" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/matter_bin{pixel_x = 3},/obj/item/weapon/stock_parts/matter_bin{pixel_x = -3},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) +"fn" = (/obj/structure/table/standard,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = -3; pixel_y = 5},/obj/item/cell/crap,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) +"fo" = (/obj/structure/table/standard,/obj/item/stock_parts/matter_bin{pixel_x = 3},/obj/item/stock_parts/matter_bin{pixel_x = -3},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "fp" = (/obj/machinery/door/window/eastleft{name = "Windoor"},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "fq" = (/obj/structure/target_stake,/obj/item/target/syndicate,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "fr" = (/obj/structure/closet/secure_closet/captains,/turf/simulated/floor{icon_state = "grimy"},/area/awaymission/northblock) @@ -281,16 +281,16 @@ "fu" = (/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/awaymission/midblock) "fv" = (/turf/simulated/floor/airless{icon_state = "damaged2"},/area/awaymission/midblock) "fw" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/awaymission/midblock) -"fx" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/weapon/storage/toolbox/mechanical{pixel_y = 5},/obj/item/weapon/stock_parts/console_screen,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) +"fx" = (/obj/structure/table/standard,/obj/item/storage/toolbox/mechanical,/obj/item/storage/toolbox/mechanical{pixel_y = 5},/obj/item/stock_parts/console_screen,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "fy" = (/obj/structure/table/standard,/obj/item/stack/sheet/metal{amount = 20; pixel_x = -3; pixel_y = -3},/obj/item/stack/sheet/glass{amount = 10; pixel_x = 3; pixel_y = 3},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "fz" = (/obj/machinery/r_n_d/circuit_imprinter,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "fA" = (/obj/machinery/r_n_d/protolathe,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "fB" = (/obj/machinery/r_n_d/destructive_analyzer,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) -"fC" = (/obj/structure/table/standard,/obj/item/device/analyzer,/obj/item/device/mass_spectrometer{pixel_x = 5; pixel_y = 5},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) -"fD" = (/obj/structure/table/holotable,/obj/item/weapon/gun/energy/floragun{pixel_x = 2; pixel_y = 3},/obj/machinery/light,/obj/item/weapon/gun/energy/taser{pixel_x = -2; pixel_y = -2},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) -"fE" = (/obj/structure/target_stake,/obj/item/weapon/grown/sunflower,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) +"fC" = (/obj/structure/table/standard,/obj/item/analyzer,/obj/item/mass_spectrometer{pixel_x = 5; pixel_y = 5},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) +"fD" = (/obj/structure/table/holotable,/obj/item/gun/energy/floragun{pixel_x = 2; pixel_y = 3},/obj/machinery/light,/obj/item/gun/energy/taser{pixel_x = -2; pixel_y = -2},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) +"fE" = (/obj/structure/target_stake,/obj/item/grown/sunflower,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "fF" = (/obj/item/ammo_casing/c45,/obj/item/ammo_casing/c45{pixel_x = 7},/turf/simulated/floor{icon_state = "grimy"},/area/awaymission/northblock) -"fG" = (/obj/item/clothing/suit/space/syndicate,/obj/item/clothing/under/syndicate,/obj/item/clothing/head/helmet/space/syndicate,/obj/effect/decal/remains/human{desc = "This guy seemed to have died in terrible way! Half his remains are dust."; icon_state = "remains"; name = "Syndicate agent remains"},/obj/item/clothing/shoes/syndigaloshes,/obj/effect/decal/cleanable/blood/splatter,/obj/item/weapon/gun/projectile/silenced/sc_silenced,/turf/simulated/floor{icon_state = "grimy"},/area/awaymission/northblock) +"fG" = (/obj/item/clothing/suit/space/syndicate,/obj/item/clothing/under/syndicate,/obj/item/clothing/head/helmet/space/syndicate,/obj/effect/decal/remains/human{desc = "This guy seemed to have died in terrible way! Half his remains are dust."; icon_state = "remains"; name = "Syndicate agent remains"},/obj/item/clothing/shoes/syndigaloshes,/obj/effect/decal/cleanable/blood/splatter,/obj/item/gun/projectile/silenced/sc_silenced,/turf/simulated/floor{icon_state = "grimy"},/area/awaymission/northblock) "fH" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/airless,/area/awaymission/midblock) "fI" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/awaymission/midblock) "fJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/airless{icon_state = "damaged5"},/area/awaymission/midblock) @@ -304,7 +304,7 @@ "fR" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/awaymission/arrivalblock) "fS" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/awaymission/arrivalblock) "fT" = (/turf/space,/turf/simulated/shuttle/wall{dir = 3; icon_state = "swall_c"; dir = 2; layer = 2},/area/awaymission/arrivalblock) -"fU" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{pixel_x = -3; pixel_y = 5},/obj/item/weapon/paper{pixel_x = 3},/obj/item/weapon/pen{pixel_x = 10; pixel_y = 10},/turf/simulated/floor{icon_state = "grimy"},/area/awaymission/northblock) +"fU" = (/obj/structure/table/woodentable,/obj/item/flashlight/lamp/green{pixel_x = -3; pixel_y = 5},/obj/item/paper{pixel_x = 3},/obj/item/pen{pixel_x = 10; pixel_y = 10},/turf/simulated/floor{icon_state = "grimy"},/area/awaymission/northblock) "fV" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor{icon_state = "grimy"},/area/awaymission/northblock) "fW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless,/area/awaymission/midblock) "fX" = (/turf/simulated/wall,/area/awaymission/midblock) @@ -317,8 +317,8 @@ "ge" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/awaymission/arrivalblock) "gf" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/awaymission/arrivalblock) "gg" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 1},/turf/simulated/floor{icon_state = "grimy"},/area/awaymission/northblock) -"gh" = (/obj/item/weapon/storage/secure/safe/sc_ssafe{pixel_x = 4; pixel_y = -26},/turf/simulated/floor{icon_state = "grimy"},/area/awaymission/northblock) -"gi" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/captain,/obj/item/clothing/under/rank/captain,/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/blood/splatter,/obj/item/weapon/gun/energy/laser/retro/sc_retro,/turf/simulated/floor{icon_state = "grimy"},/area/awaymission/northblock) +"gh" = (/obj/item/storage/secure/safe/sc_ssafe{pixel_x = 4; pixel_y = -26},/turf/simulated/floor{icon_state = "grimy"},/area/awaymission/northblock) +"gi" = (/obj/structure/stool/bed,/obj/item/bedsheet/captain,/obj/item/clothing/under/rank/captain,/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/blood/splatter,/obj/item/gun/energy/laser/retro/sc_retro,/turf/simulated/floor{icon_state = "grimy"},/area/awaymission/northblock) "gj" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/awaymission/midblock) "gk" = (/obj/structure/closet/wardrobe,/turf/simulated/floor,/area/awaymission/midblock) "gl" = (/turf/simulated/floor,/area/awaymission/midblock) @@ -328,7 +328,7 @@ "gp" = (/obj/structure/closet/crate,/turf/simulated/floor,/area/awaymission/midblock) "gq" = (/obj/machinery/gibber,/turf/simulated/floor,/area/awaymission/midblock) "gr" = (/obj/machinery/vending/boozeomat,/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/awaymission/midblock) -"gs" = (/obj/structure/table/standard,/obj/item/weapon/book/manual/barman_recipes,/obj/item/weapon/reagent_containers/food/drinks/shaker,/turf/simulated/floor,/area/awaymission/midblock) +"gs" = (/obj/structure/table/standard,/obj/item/book/manual/barman_recipes,/obj/item/reagent_containers/food/drinks/shaker,/turf/simulated/floor,/area/awaymission/midblock) "gt" = (/obj/item/ammo_casing/shotgun,/turf/simulated/floor,/area/awaymission/midblock) "gu" = (/obj/structure/table/standard,/turf/simulated/floor,/area/awaymission/midblock) "gv" = (/obj/structure/stool,/turf/simulated/floor,/area/awaymission/midblock) @@ -344,7 +344,7 @@ "gF" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor,/area/awaymission/midblock) "gG" = (/obj/item/ammo_casing/shotgun,/obj/machinery/power/apc{cell_type = 5000; dir = 8; name = "Mid Block APC"; pixel_x = -28},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor,/area/awaymission/midblock) "gH" = (/obj/item/ammo_casing/shotgun,/obj/item/ammo_casing/shotgun,/obj/item/ammo_casing/shotgun,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/awaymission/midblock) -"gI" = (/obj/item/ammo_casing/shotgun,/obj/effect/decal/remains/human,/obj/item/clothing/under/rank/bartender,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/effect/decal/cleanable/blood/splatter,/obj/item/weapon/gun/projectile/shotgun/pump/sc_pump,/turf/simulated/floor,/area/awaymission/midblock) +"gI" = (/obj/item/ammo_casing/shotgun,/obj/effect/decal/remains/human,/obj/item/clothing/under/rank/bartender,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/effect/decal/cleanable/blood/splatter,/obj/item/gun/projectile/shotgun/pump/sc_pump,/turf/simulated/floor,/area/awaymission/midblock) "gJ" = (/obj/structure/table/standard,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/awaymission/midblock) "gK" = (/obj/structure/stool,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/awaymission/midblock) "gL" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor,/area/awaymission/midblock) @@ -352,7 +352,7 @@ "gN" = (/obj/machinery/door/airlock/sandstone{name = "Airlock"},/turf/simulated/floor{icon_state = "dark"},/area/awaymission/midblock) "gO" = (/turf/simulated/floor/carpet,/area/awaymission/midblock) "gP" = (/obj/effect/decal/remains/human{desc = "This guy seemed to have died in terrible way! Half his remains are dust."; icon_state = "remains"; name = "Syndicate agent remains"},/obj/effect/landmark/sc_bible_spawner,/turf/simulated/floor/carpet,/area/awaymission/midblock) -"gQ" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/bottle/holywater,/turf/simulated/floor{icon_state = "dark"},/area/awaymission/midblock) +"gQ" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/food/drinks/bottle/holywater,/turf/simulated/floor{icon_state = "dark"},/area/awaymission/midblock) "gR" = (/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/awaymission/midblock) "gS" = (/turf/simulated/floor{dir = 4; icon_state = "chapel"},/area/awaymission/midblock) "gT" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/awaymission/arrivalblock) @@ -362,15 +362,15 @@ "gX" = (/obj/effect/decal/remains/human,/turf/simulated/floor{ icon_state = "warningcorner"; dir = 1},/area/awaymission/arrivalblock) "gY" = (/obj/machinery/computer/security,/turf/simulated/floor{icon_state = "red"; dir = 9},/area/awaymission/arrivalblock) "gZ" = (/obj/machinery/computer/secure_data,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/awaymission/arrivalblock) -"ha" = (/obj/structure/table/standard,/obj/item/weapon/book/manual/security_space_law,/obj/item/weapon/melee/baton,/obj/item/clothing/head/helmet/warden,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/awaymission/arrivalblock) +"ha" = (/obj/structure/table/standard,/obj/item/book/manual/wiki/security_space_law,/obj/item/melee/baton,/obj/item/clothing/head/helmet/warden,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/awaymission/arrivalblock) "hb" = (/obj/structure/closet/wardrobe/red,/obj/machinery/light{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/awaymission/arrivalblock) "hc" = (/obj/structure/closet/secure_closet/security,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/awaymission/arrivalblock) "hd" = (/obj/structure/closet/secure_closet/security,/turf/simulated/floor{icon_state = "red"; dir = 5},/area/awaymission/arrivalblock) "he" = (/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/awaymission/midblock) -"hf" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/blue,/obj/structure/window/reinforced/tinted{dir = 1},/turf/simulated/floor,/area/awaymission/midblock) +"hf" = (/obj/structure/stool/bed,/obj/item/bedsheet/blue,/obj/structure/window/reinforced/tinted{dir = 1},/turf/simulated/floor,/area/awaymission/midblock) "hg" = (/obj/structure/window/reinforced/tinted{dir = 4; icon_state = "twindow"},/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"},/turf/simulated/floor,/area/awaymission/midblock) -"hh" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/purple,/obj/structure/window/reinforced/tinted{dir = 1},/obj/effect/decal/remains/human,/turf/simulated/floor,/area/awaymission/midblock) -"hi" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/purple,/obj/structure/window/reinforced/tinted{dir = 1},/turf/simulated/floor,/area/awaymission/midblock) +"hh" = (/obj/structure/stool/bed,/obj/item/bedsheet/purple,/obj/structure/window/reinforced/tinted{dir = 1},/obj/effect/decal/remains/human,/turf/simulated/floor,/area/awaymission/midblock) +"hi" = (/obj/structure/stool/bed,/obj/item/bedsheet/purple,/obj/structure/window/reinforced/tinted{dir = 1},/turf/simulated/floor,/area/awaymission/midblock) "hj" = (/obj/machinery/door/airlock,/turf/simulated/floor,/area/awaymission/midblock) "hk" = (/obj/structure/table/standard,/obj/item/ammo_casing/shotgun,/turf/simulated/floor,/area/awaymission/midblock) "hl" = (/obj/structure/table/standard,/obj/item/ammo_casing/shotgun,/obj/item/ammo_casing/shotgun,/obj/item/ammo_casing/shotgun,/turf/simulated/floor,/area/awaymission/midblock) @@ -387,29 +387,29 @@ "hw" = (/obj/structure/table/reinforced,/turf/simulated/floor,/area/awaymission/arrivalblock) "hx" = (/obj/structure/stool/bed/chair{dir = 1},/obj/effect/decal/remains/human,/turf/simulated/floor{icon_state = "red"; dir = 8},/area/awaymission/arrivalblock) "hy" = (/turf/simulated/floor,/area/awaymission/arrivalblock) -"hz" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/item/clothing/suit/space/syndicate,/obj/item/weapon/paper/sc_safehint_paper_prison,/obj/item/weapon/gun/projectile/shotgun/pump/sc_pump,/turf/simulated/floor,/area/awaymission/arrivalblock) +"hz" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/item/clothing/suit/space/syndicate,/obj/item/paper/sc_safehint_paper_prison,/obj/item/gun/projectile/shotgun/pump/sc_pump,/turf/simulated/floor,/area/awaymission/arrivalblock) "hA" = (/obj/structure/window/reinforced,/turf/simulated/floor,/area/awaymission/arrivalblock) "hB" = (/obj/machinery/door/window/southleft{name = "Windoor"},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/awaymission/arrivalblock) "hC" = (/obj/item/ammo_casing/a10mm{pixel_x = 2; pixel_y = 5},/obj/item/ammo_casing/a10mm{pixel_x = -4; pixel_y = -5},/obj/item/ammo_casing/a10mm,/turf/simulated/floor/airless,/area/awaymission/midblock) "hD" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless,/area/awaymission/midblock) "hE" = (/obj/structure/sink/kitchen{pixel_y = 32},/turf/simulated/floor,/area/awaymission/midblock) -"hF" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/condiment/enzyme,/obj/item/weapon/reagent_containers/food/condiment/peppermill,/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = 4; pixel_y = 4},/turf/simulated/floor,/area/awaymission/midblock) +"hF" = (/obj/structure/table/standard,/obj/item/reagent_containers/food/condiment/enzyme,/obj/item/reagent_containers/food/condiment/peppermill,/obj/item/reagent_containers/food/condiment/saltshaker{pixel_x = 4; pixel_y = 4},/turf/simulated/floor,/area/awaymission/midblock) "hG" = (/obj/structure/table/standard,/obj/machinery/reagentgrinder,/turf/simulated/floor,/area/awaymission/midblock) "hH" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/awaymission/midblock) "hI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating,/area/awaymission/arrivalblock) "hJ" = (/turf/simulated/floor{icon_state = "red"; dir = 8},/area/awaymission/arrivalblock) "hK" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor,/area/awaymission/arrivalblock) -"hL" = (/obj/structure/table/standard,/obj/item/weapon/storage/fancy/donut_box,/turf/simulated/floor,/area/awaymission/arrivalblock) -"hM" = (/obj/structure/table/standard,/obj/item/weapon/handcuffs,/obj/item/device/flash,/turf/simulated/floor,/area/awaymission/arrivalblock) +"hL" = (/obj/structure/table/standard,/obj/item/storage/fancy/donut_box,/turf/simulated/floor,/area/awaymission/arrivalblock) +"hM" = (/obj/structure/table/standard,/obj/item/handcuffs,/obj/item/flash,/turf/simulated/floor,/area/awaymission/arrivalblock) "hN" = (/turf/simulated/floor{icon_state = "red"; dir = 4},/area/awaymission/arrivalblock) -"hO" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/blue,/obj/effect/decal/remains/human,/turf/simulated/floor,/area/awaymission/midblock) -"hP" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/purple,/turf/simulated/floor,/area/awaymission/midblock) +"hO" = (/obj/structure/stool/bed,/obj/item/bedsheet/blue,/obj/effect/decal/remains/human,/turf/simulated/floor,/area/awaymission/midblock) +"hP" = (/obj/structure/stool/bed,/obj/item/bedsheet/purple,/turf/simulated/floor,/area/awaymission/midblock) "hQ" = (/obj/machinery/processor,/turf/simulated/floor,/area/awaymission/midblock) -"hR" = (/obj/structure/table/standard,/obj/item/weapon/book/manual/chef_recipes,/obj/item/weapon/kitchen/rollingpin,/turf/simulated/floor,/area/awaymission/midblock) +"hR" = (/obj/structure/table/standard,/obj/item/book/manual/chef_recipes,/obj/item/kitchen/rollingpin,/turf/simulated/floor,/area/awaymission/midblock) "hS" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor,/area/awaymission/midblock) -"hT" = (/obj/effect/decal/remains/human,/obj/item/weapon/butch,/obj/item/weapon/kitchenknife,/obj/item/clothing/head/chefhat,/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor,/area/awaymission/midblock) +"hT" = (/obj/effect/decal/remains/human,/obj/item/butch,/obj/item/kitchenknife,/obj/item/clothing/head/chefhat,/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor,/area/awaymission/midblock) "hU" = (/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor,/area/awaymission/midblock) -"hV" = (/obj/effect/decal/remains/human{desc = "This guy seemed to have died in terrible way! Half his remains are dust."; icon_state = "remains"; name = "Syndicate agent remains"},/obj/item/ammo_casing/a10mm,/obj/item/weapon/paper/sc_safehint_paper_caf,/obj/item/clothing/under/syndicate,/obj/effect/decal/cleanable/blood/splatter,/obj/item/weapon/gun/projectile/automatic/c20r/sc_c20r,/turf/simulated/floor,/area/awaymission/midblock) +"hV" = (/obj/effect/decal/remains/human{desc = "This guy seemed to have died in terrible way! Half his remains are dust."; icon_state = "remains"; name = "Syndicate agent remains"},/obj/item/ammo_casing/a10mm,/obj/item/paper/sc_safehint_paper_caf,/obj/item/clothing/under/syndicate,/obj/effect/decal/cleanable/blood/splatter,/obj/item/gun/projectile/automatic/c20r/sc_c20r,/turf/simulated/floor,/area/awaymission/midblock) "hW" = (/obj/machinery/light/small,/turf/simulated/floor{icon_state = "dark"},/area/awaymission/midblock) "hX" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/simulated/floor/plating,/area/awaymission/midblock) "hY" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/turf/simulated/floor/plating,/area/awaymission/midblock) @@ -425,7 +425,7 @@ "ii" = (/obj/machinery/microwave{pixel_x = -2; pixel_y = 7},/obj/structure/table/standard,/turf/simulated/floor,/area/awaymission/midblock) "ij" = (/obj/structure/stool,/obj/item/ammo_casing/a10mm,/turf/simulated/floor,/area/awaymission/midblock) "ik" = (/obj/item/ammo_casing/a10mm,/obj/item/ammo_casing/a10mm,/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor,/area/awaymission/midblock) -"il" = (/obj/effect/decal/remains/human{desc = "This guy seemed to have died in terrible way! Half his remains are dust."; icon_state = "remains"; name = "Syndicate agent remains"},/obj/item/ammo_casing/a10mm,/obj/item/clothing/under/syndicate,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/weapon/gun/projectile/automatic/c20r/sc_c20r,/turf/simulated/floor,/area/awaymission/midblock) +"il" = (/obj/effect/decal/remains/human{desc = "This guy seemed to have died in terrible way! Half his remains are dust."; icon_state = "remains"; name = "Syndicate agent remains"},/obj/item/ammo_casing/a10mm,/obj/item/clothing/under/syndicate,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/gun/projectile/automatic/c20r/sc_c20r,/turf/simulated/floor,/area/awaymission/midblock) "im" = (/obj/structure/stool/bed/chair{dir = 4},/obj/item/ammo_casing/a10mm,/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor,/area/awaymission/midblock) "in" = (/obj/structure/table/standard,/obj/item/ammo_casing/a10mm,/turf/simulated/floor,/area/awaymission/midblock) "io" = (/obj/structure/stool/bed/chair{dir = 8},/obj/item/ammo_casing/a10mm,/obj/item/ammo_casing/a10mm,/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor,/area/awaymission/midblock) @@ -434,19 +434,19 @@ "ir" = (/turf/simulated/floor{icon_state = "red"; dir = 10},/area/awaymission/arrivalblock) "is" = (/turf/simulated/floor{icon_state = "red"},/area/awaymission/arrivalblock) "it" = (/turf/simulated/floor{icon_state = "red"; dir = 6},/area/awaymission/arrivalblock) -"iu" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/blue,/turf/simulated/floor,/area/awaymission/midblock) +"iu" = (/obj/structure/stool/bed,/obj/item/bedsheet/blue,/turf/simulated/floor,/area/awaymission/midblock) "iv" = (/obj/machinery/smartfridge,/turf/simulated/floor,/area/awaymission/midblock) "iw" = (/obj/machinery/vending/dinnerware,/turf/simulated/floor,/area/awaymission/midblock) "ix" = (/obj/structure/closet/secure_closet/freezer/fridge,/obj/machinery/light,/turf/simulated/floor,/area/awaymission/midblock) "iy" = (/obj/structure/closet/secure_closet/freezer/kitchen,/turf/simulated/floor,/area/awaymission/midblock) "iz" = (/obj/machinery/door/window/eastright{name = "Windoor"},/turf/simulated/floor,/area/awaymission/midblock) "iA" = (/obj/item/ammo_casing/a10mm,/turf/simulated/floor,/area/awaymission/midblock) -"iB" = (/obj/effect/decal/remains/human{desc = "This guy seemed to have died in terrible way! Half his remains are dust."; icon_state = "remains"; name = "Syndicate agent remains"},/obj/item/ammo_casing/a10mm,/obj/item/ammo_casing/a10mm,/obj/item/clothing/under/syndicate,/obj/effect/decal/cleanable/blood/splatter,/obj/item/weapon/gun/projectile/automatic/c20r/sc_c20r,/turf/simulated/floor,/area/awaymission/midblock) +"iB" = (/obj/effect/decal/remains/human{desc = "This guy seemed to have died in terrible way! Half his remains are dust."; icon_state = "remains"; name = "Syndicate agent remains"},/obj/item/ammo_casing/a10mm,/obj/item/ammo_casing/a10mm,/obj/item/clothing/under/syndicate,/obj/effect/decal/cleanable/blood/splatter,/obj/item/gun/projectile/automatic/c20r/sc_c20r,/turf/simulated/floor,/area/awaymission/midblock) "iC" = (/obj/item/ammo_casing/a10mm,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor,/area/awaymission/midblock) -"iD" = (/obj/effect/decal/remains/human{desc = "This guy seemed to have died in terrible way! Half his remains are dust."; icon_state = "remains"; name = "Syndicate agent remains"},/obj/item/ammo_casing/a10mm,/obj/item/clothing/under/syndicate,/obj/effect/decal/cleanable/blood/splatter,/obj/item/weapon/gun/projectile/automatic/c20r/sc_c20r,/turf/simulated/floor,/area/awaymission/midblock) +"iD" = (/obj/effect/decal/remains/human{desc = "This guy seemed to have died in terrible way! Half his remains are dust."; icon_state = "remains"; name = "Syndicate agent remains"},/obj/item/ammo_casing/a10mm,/obj/item/clothing/under/syndicate,/obj/effect/decal/cleanable/blood/splatter,/obj/item/gun/projectile/automatic/c20r/sc_c20r,/turf/simulated/floor,/area/awaymission/midblock) "iE" = (/obj/item/ammo_casing/a10mm,/obj/item/ammo_casing/a10mm,/turf/simulated/floor,/area/awaymission/midblock) "iF" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor,/area/awaymission/midblock) -"iG" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/shard{icon_state = "medium"},/obj/item/stack/rods,/turf/simulated/floor/plating,/area/awaymission/arrivalblock) +"iG" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/item/shard{icon_state = "medium"},/obj/item/stack/rods,/turf/simulated/floor/plating,/area/awaymission/arrivalblock) "iH" = (/obj/effect/decal/remains/human,/obj/item/ammo_casing/a10mm,/turf/simulated/floor,/area/awaymission/arrivalblock) "iI" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/awaymission/arrivalblock) "iJ" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/simulated/floor/plating,/area/awaymission/arrivalblock) @@ -454,8 +454,8 @@ "iL" = (/obj/machinery/door/airlock/security,/turf/simulated/floor,/area/awaymission/arrivalblock) "iM" = (/obj/machinery/door/airlock/glass,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/awaymission/midblock) "iN" = (/obj/machinery/door/airlock/glass,/turf/simulated/floor,/area/awaymission/midblock) -"iO" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/item/weapon/shard,/turf/simulated/shuttle/plating,/area/awaymission/arrivalblock) -"iP" = (/obj/item/weapon/shard{icon_state = "small"},/obj/item/stack/rods,/obj/effect/decal/remains/human,/turf/simulated/floor/plating,/area/awaymission/arrivalblock) +"iO" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/item/shard,/turf/simulated/shuttle/plating,/area/awaymission/arrivalblock) +"iP" = (/obj/item/shard{icon_state = "small"},/obj/item/stack/rods,/obj/effect/decal/remains/human,/turf/simulated/floor/plating,/area/awaymission/arrivalblock) "iQ" = (/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor,/area/awaymission/arrivalblock) "iR" = (/obj/structure/toilet{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 9},/area/awaymission/arrivalblock) "iS" = (/turf/simulated/floor{icon_state = "red"; dir = 1},/area/awaymission/arrivalblock) @@ -505,7 +505,7 @@ "jK" = (/obj/structure/closet/emcloset,/turf/simulated/floor,/area/awaymission/southblock) "jL" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/awaymission/southblock) "jM" = (/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/awaymission/southblock) -"jN" = (/obj/structure/table/standard,/obj/item/weapon/pen,/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/awaymission/southblock) +"jN" = (/obj/structure/table/standard,/obj/item/pen,/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/awaymission/southblock) "jO" = (/obj/structure/noticeboard{dir = 1; pixel_y = 32},/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/awaymission/southblock) "jP" = (/turf/simulated/floor,/area/awaymission/southblock) "jQ" = (/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/awaymission/gateroom) @@ -528,7 +528,7 @@ "kh" = (/obj/structure/stool/bed/chair{dir = 4},/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/awaymission/southblock) "ki" = (/obj/machinery/light/small,/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/awaymission/southblock) "kj" = (/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/awaymission/southblock) -"kk" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin,/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/awaymission/southblock) +"kk" = (/obj/structure/table/standard,/obj/item/paper_bin,/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/awaymission/southblock) "kl" = (/turf/simulated/floor{icon_state = "white"},/area/awaymission/southblock) "km" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/awaymission/southblock) "kn" = (/obj/machinery/gateway{dir = 8},/turf/simulated/floor,/area/awaymission/gateroom) @@ -547,7 +547,7 @@ "kA" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/awaymission/gateroom) "kB" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/wood,/area/awaymission/southblock) "kC" = (/obj/structure/stool/bed/chair/comfy/brown,/turf/simulated/floor/wood,/area/awaymission/southblock) -"kD" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green,/turf/simulated/floor/wood,/area/awaymission/southblock) +"kD" = (/obj/structure/table/woodentable,/obj/item/flashlight/lamp/green,/turf/simulated/floor/wood,/area/awaymission/southblock) "kE" = (/obj/structure/shuttle/engine/propulsion{ icon_state = "propulsion_r"},/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/plating,/area/awaymission/arrivalblock) "kF" = (/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/plating,/area/awaymission/arrivalblock) "kG" = (/obj/structure/shuttle/engine/propulsion{ icon_state = "propulsion_l"},/obj/structure/shuttle/engine/propulsion{ icon_state = "burst_l"},/obj/structure/shuttle/engine/propulsion{ icon_state = "propulsion_l"},/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/plating,/area/awaymission/arrivalblock) @@ -557,15 +557,15 @@ "kK" = (/obj/machinery/vending/hydronutrients,/turf/simulated/floor,/area/awaymission/arrivalblock) "kL" = (/obj/machinery/vending/hydroseeds,/turf/simulated/floor,/area/awaymission/arrivalblock) "kM" = (/obj/structure/sink/kitchen{pixel_y = 32},/turf/simulated/floor,/area/awaymission/arrivalblock) -"kN" = (/obj/item/weapon/melee/energy/sword/red,/obj/item/clothing/shoes/syndigaloshes,/obj/item/clothing/under/syndicate,/obj/effect/decal/remains/human{desc = "This guy seemed to have died in terrible way! Half his remains are dust."; icon_state = "remains"; name = "Syndicate agent remains"},/obj/item/weapon/paper/sc_safehint_paper_hydro,/turf/simulated/floor,/area/awaymission/arrivalblock) +"kN" = (/obj/item/melee/energy/sword/red,/obj/item/clothing/shoes/syndigaloshes,/obj/item/clothing/under/syndicate,/obj/effect/decal/remains/human{desc = "This guy seemed to have died in terrible way! Half his remains are dust."; icon_state = "remains"; name = "Syndicate agent remains"},/obj/item/paper/sc_safehint_paper_hydro,/turf/simulated/floor,/area/awaymission/arrivalblock) "kO" = (/obj/machinery/hydroponics,/turf/simulated/floor,/area/awaymission/arrivalblock) "kP" = (/obj/structure/morgue,/turf/simulated/floor{icon_state = "white"},/area/awaymission/southblock) "kQ" = (/obj/machinery/vending/medical,/turf/simulated/floor{icon_state = "white"},/area/awaymission/southblock) "kR" = (/obj/structure/stool/bed/roller,/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/awaymission/southblock) -"kS" = (/obj/structure/table/standard,/obj/item/weapon/paper/pamphlet{pixel_x = 2; pixel_y = 2},/obj/item/weapon/paper/pamphlet{pixel_x = -2; pixel_y = -2},/turf/simulated/floor{ icon_state = "warningcorner"; dir = 8},/area/awaymission/gateroom) +"kS" = (/obj/structure/table/standard,/obj/item/paper/pamphlet{pixel_x = 2; pixel_y = 2},/obj/item/paper/pamphlet{pixel_x = -2; pixel_y = -2},/turf/simulated/floor{ icon_state = "warningcorner"; dir = 8},/area/awaymission/gateroom) "kT" = (/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/awaymission/gateroom) "kU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/awaymission/gateroom) -"kV" = (/obj/structure/table/standard,/obj/item/device/camera,/turf/simulated/floor{ icon_state = "warningcorner"; dir = 4},/area/awaymission/gateroom) +"kV" = (/obj/structure/table/standard,/obj/item/camera,/turf/simulated/floor{ icon_state = "warningcorner"; dir = 4},/area/awaymission/gateroom) "kW" = (/obj/structure/stool/bed/chair/comfy/brown{ icon_state = "comfychair_brown"; dir = 8},/turf/simulated/floor/wood,/area/awaymission/southblock) "kX" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/awaymission/arrivalblock) "kY" = (/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/awaymission/arrivalblock) @@ -580,16 +580,16 @@ "lh" = (/obj/machinery/suit_storage_unit/standard_unit,/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/awaymission/gateroom) "li" = (/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"},/obj/structure/window/reinforced/tinted{dir = 1},/turf/simulated/floor,/area/awaymission/southblock) "lj" = (/obj/structure/window/reinforced/tinted{dir = 1},/turf/simulated/floor,/area/awaymission/southblock) -"lk" = (/obj/structure/stool/bed,/obj/structure/window/reinforced/tinted,/obj/item/weapon/bedsheet/medical,/obj/structure/window/reinforced/tinted{dir = 1},/turf/simulated/floor{icon_state = "whitehall"; dir = 4},/area/awaymission/southblock) +"lk" = (/obj/structure/stool/bed,/obj/structure/window/reinforced/tinted,/obj/item/bedsheet/medical,/obj/structure/window/reinforced/tinted{dir = 1},/turf/simulated/floor{icon_state = "whitehall"; dir = 4},/area/awaymission/southblock) "ll" = (/obj/machinery/suit_storage_unit/standard_unit,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/awaymission/gateroom) "lm" = (/obj/machinery/suit_storage_unit/standard_unit,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/awaymission/gateroom) "ln" = (/obj/machinery/light/small,/turf/simulated/floor/wood,/area/awaymission/southblock) "lo" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor,/area/awaymission/arrivalblock) -"lp" = (/obj/structure/table/standard,/obj/item/weapon/book/manual/hydroponics_pod_people,/turf/simulated/floor,/area/awaymission/arrivalblock) -"lq" = (/obj/item/weapon/grown/deathnettle,/obj/item/clothing/shoes/brown,/obj/item/clothing/under/rank/hydroponics,/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor,/area/awaymission/arrivalblock) +"lp" = (/obj/structure/table/standard,/obj/item/book/manual/hydroponics_pod_people,/turf/simulated/floor,/area/awaymission/arrivalblock) +"lq" = (/obj/item/grown/deathnettle,/obj/item/clothing/shoes/brown,/obj/item/clothing/under/rank/hydroponics,/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor,/area/awaymission/arrivalblock) "lr" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{ icon_state = "whitehall"; dir = 8},/area/awaymission/southblock) "ls" = (/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"},/turf/simulated/floor,/area/awaymission/southblock) -"lt" = (/obj/structure/stool/bed,/obj/structure/window/reinforced/tinted,/obj/item/weapon/bedsheet/medical,/turf/simulated/floor{icon_state = "whitehall"; dir = 4},/area/awaymission/southblock) +"lt" = (/obj/structure/stool/bed,/obj/structure/window/reinforced/tinted,/obj/item/bedsheet/medical,/turf/simulated/floor{icon_state = "whitehall"; dir = 4},/area/awaymission/southblock) "lu" = (/obj/machinery/suit_storage_unit/standard_unit,/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/awaymission/gateroom) "lv" = (/obj/machinery/suit_storage_unit/standard_unit,/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/awaymission/gateroom) "lw" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/simulated/floor/plating,/area/awaymission/southblock) @@ -600,19 +600,19 @@ "lB" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/awaymission/arrivalblock) "lC" = (/turf/simulated/shuttle/wall{ icon_state = "swall_s"; dir = 8; dir = 2},/area/awaymission/arrivalblock) "lD" = (/obj/structure/closet/crate/hydroponics,/turf/simulated/floor,/area/awaymission/arrivalblock) -"lE" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor,/area/awaymission/arrivalblock) +"lE" = (/obj/structure/table/standard,/obj/item/reagent_containers/glass/bucket,/turf/simulated/floor,/area/awaymission/arrivalblock) "lF" = (/obj/effect/decal/cleanable/blood/splatter,/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor,/area/awaymission/arrivalblock) "lG" = (/obj/machinery/computer/operating,/turf/simulated/floor{icon_state = "white"},/area/awaymission/southblock) -"lH" = (/obj/machinery/optable,/obj/machinery/light/small{dir = 1},/obj/effect/decal/remains/human,/obj/item/weapon/tank/anesthetic,/obj/item/clothing/mask/breath,/turf/simulated/floor{icon_state = "white"},/area/awaymission/southblock) +"lH" = (/obj/machinery/optable,/obj/machinery/light/small{dir = 1},/obj/effect/decal/remains/human,/obj/item/tank/anesthetic,/obj/item/clothing/mask/breath,/turf/simulated/floor{icon_state = "white"},/area/awaymission/southblock) "lI" = (/obj/structure/sink{pixel_y = 32},/turf/simulated/floor{icon_state = "white"},/area/awaymission/southblock) -"lJ" = (/obj/structure/stool/bed,/obj/structure/window/reinforced/tinted,/obj/item/weapon/bedsheet/medical,/obj/effect/decal/remains/human,/turf/simulated/floor{icon_state = "whitehall"; dir = 4},/area/awaymission/southblock) +"lJ" = (/obj/structure/stool/bed,/obj/structure/window/reinforced/tinted,/obj/item/bedsheet/medical,/obj/effect/decal/remains/human,/turf/simulated/floor{icon_state = "whitehall"; dir = 4},/area/awaymission/southblock) "lK" = (/obj/effect/decal/remains/human,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/awaymission/southblock) "lL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/highsecurity{name = "Security Airlock"},/turf/simulated/floor,/area/awaymission/gateroom) "lM" = (/turf/simulated/floor,/area/awaymission/gateroom) "lN" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/awaymission/gateroom) "lO" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/magical{desc = "A high-capacity superconducting magnetic energy storage (SMES) unit."; name = "power storage unit"},/turf/simulated/floor,/area/awaymission/gateroom) "lP" = (/obj/structure/closet/secure_closet/hydroponics,/turf/simulated/floor,/area/awaymission/arrivalblock) -"lQ" = (/obj/structure/table/standard,/obj/item/weapon/shovel/spade,/obj/item/weapon/reagent_containers/spray/plantbgone,/turf/simulated/floor,/area/awaymission/arrivalblock) +"lQ" = (/obj/structure/table/standard,/obj/item/shovel/spade,/obj/item/reagent_containers/spray/plantbgone,/turf/simulated/floor,/area/awaymission/arrivalblock) "lR" = (/obj/machinery/light,/turf/simulated/floor,/area/awaymission/arrivalblock) "lS" = (/obj/effect/decal/remains/human,/obj/item/clothing/mask/surgical,/obj/item/clothing/suit/storage/labcoat,/obj/item/clothing/gloves/latex,/turf/simulated/floor{icon_state = "white"},/area/awaymission/southblock) "lT" = (/obj/machinery/door/window/westright{name = "Windoor"},/turf/simulated/floor,/area/awaymission/southblock) @@ -628,7 +628,7 @@ "md" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/awaymission/gateroom) "me" = (/obj/machinery/power/terminal{dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/awaymission/gateroom) "mf" = (/obj/structure/closet/secure_closet/medical2,/turf/simulated/floor{icon_state = "white"},/area/awaymission/southblock) -"mg" = (/obj/structure/closet/crate/medical{name = "Surgical Tools"},/obj/item/weapon/cautery,/obj/item/weapon/circular_saw,/obj/item/weapon/hemostat,/obj/item/weapon/retractor,/obj/item/weapon/surgicaldrill,/obj/item/weapon/scalpel,/turf/simulated/floor{icon_state = "white"},/area/awaymission/southblock) +"mg" = (/obj/structure/closet/crate/medical{name = "Surgical Tools"},/obj/item/cautery,/obj/item/circular_saw,/obj/item/hemostat,/obj/item/retractor,/obj/item/surgicaldrill,/obj/item/scalpel,/turf/simulated/floor{icon_state = "white"},/area/awaymission/southblock) "mh" = (/obj/structure/stool/bed/roller,/turf/simulated/floor{icon_state = "white"},/area/awaymission/southblock) "mi" = (/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"},/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/awaymission/southblock) "mj" = (/obj/machinery/sleeper,/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/awaymission/southblock) diff --git a/maps/_templates_and_guidance/Mapping Guides/Complete Room Checklist.dmm b/maps/_templates_and_guidance/Mapping Guides/Complete Room Checklist.dmm index a59a1e47d28..7296005c67a 100644 --- a/maps/_templates_and_guidance/Mapping Guides/Complete Room Checklist.dmm +++ b/maps/_templates_and_guidance/Mapping Guides/Complete Room Checklist.dmm @@ -39,7 +39,7 @@ /obj/structure/cable/green{ icon_state = "0-4" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk... listen through this."; name = "Station Intercom (Brig Radio)"; pixel_y = -21; diff --git a/maps/_templates_and_guidance/Mapping Templates Readme.md b/maps/_templates_and_guidance/Mapping Templates Readme.md index 3f3e592b4c4..124c24eece3 100644 --- a/maps/_templates_and_guidance/Mapping Templates Readme.md +++ b/maps/_templates_and_guidance/Mapping Templates Readme.md @@ -10,16 +10,8 @@ The following folders will be listed here. If there’s been an update and this * Mapping Guides * This folder exists for newer contributors to physically pull examples from, for example; SMES Wiring.dmm would be for guidance on how to properly wire an SMES. This is not an exhaustive list, but should help the repeated/FAQ questions by allowing one to poke at it in a map editor. * Public Event Templates -<<<<<<< HEAD - * This folder exists to house templates available to the public. Bear in mind that Game Master staff will likely not house all event templates publicly for security + future events, but this should be updated once a map is done with or a GM leaves the team and wishes to leave their maps public for future use. -* Public Ship Templates - * This folder exists for SHIP templates that do not normally go into the ships folder (For reference, this ship folder is maps/offmap_vr/om_ships, or overmap/ships). This is for example ships, or for EM-specific, public ships. -* Templates - * This folder is specifically for pre-prepared, ready-to-place templates for things such as drop pods, small maps, etc, things GM-staff will use regularly that are not necessarily related to events. -======= * This folder exists to house templates available to the public. Bear in mind that Event Manager staff will likely not house all event templates publicly for security + future events, but this should be updated once a map is done with or an EM leaves the team and wishes to leave their maps public for future use. * Public Ship Templates * This folder exists for SHIP templates that do not normally go into the ships folder (For reference, this ship folder is maps/offmap_vr/om_ships, or overmap/ships). This is for example ships, or for EM-specific, public ships. * Templates * This folder is specifically for pre-prepared, ready-to-place templates for things such as drop pods, small maps, etc, things EM-staff will use regularly that are not necessarily related to events. ->>>>>>> 152acacf893... Merge pull request #8555 from Rykka-Stormheart/shep-dev-map-templates diff --git a/maps/_templates_and_guidance/Public Event Templates/Maze_Reward_-_Copy.dmm b/maps/_templates_and_guidance/Public Event Templates/Maze_Reward_-_Copy.dmm index 3a3e6473839..1745f6853b3 100644 --- a/maps/_templates_and_guidance/Public Event Templates/Maze_Reward_-_Copy.dmm +++ b/maps/_templates_and_guidance/Public Event Templates/Maze_Reward_-_Copy.dmm @@ -1,7 +1,7 @@ "bh" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 1; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 8; maxhealth = 500; name = "Veil of sanity"},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod) "bu" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 4; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 1; maxhealth = 500; name = "Veil of sanity"},/obj/effect/spider/stickyweb/dark{color = #8A0808; desc = "You gaze upon a mess of stained barbed wires, the attempt of making sense upon this scratches thoughts from your mind as it fills you with a sense of dread, it's best you don't get tangled in this mess"; name = "Wires of doubt"},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod) "bG" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 1; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; maxhealth = 500; name = "Veil of sanity"},/obj/structure/fans/hardlight/colorable{invisibility = 99},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod) -"bL" = (/obj/item/weapon/bone/ribs,/turf/simulated/floor/gorefloor2,/area/survivalpod) +"bL" = (/obj/item/bone/ribs,/turf/simulated/floor/gorefloor2,/area/survivalpod) "bX" = (/obj/fire,/turf/simulated/floor/gorefloor,/area/survivalpod) "cb" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 4; maxhealth = 500; name = "Veil of sanity"},/obj/effect/spider/stickyweb/dark{color = #8A0808; desc = "You gaze upon a mess of stained barbed wires, the attempt of making sense upon this scratches thoughts from your mind as it fills you with a sense of dread, it's best you don't get tangled in this mess"; name = "Wires of doubt"},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod) "cA" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 1; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; maxhealth = 500; name = "Veil of sanity"},/obj/effect/spider/stickyweb{color = #8A0808; desc = "Like a leash you can see those strings trying to hold you back, hesitating at the thought only to exasperate the sensation of the reality you are in. . . this may not be an illusion."; name = "Strings of distress"},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod) @@ -20,7 +20,7 @@ "ib" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 1; maxhealth = 500; name = "Veil of sanity"},/obj/effect/spider/stickyweb/dark{color = #8A0808; desc = "You gaze upon a mess of stained barbed wires, the attempt of making sense upon this scratches thoughts from your mind as it fills you with a sense of dread, it's best you don't get tangled in this mess"; name = "Wires of doubt"},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod) "iK" = (/turf/simulated/floor/gorefloor,/area/survivalpod) "lk" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 8; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 4; maxhealth = 500; name = "Veil of sanity"},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod) -"lQ" = (/obj/item/weapon/bone/skull/unknown,/turf/simulated/floor/lava,/area/survivalpod) +"lQ" = (/obj/item/bone/skull/unknown,/turf/simulated/floor/lava,/area/survivalpod) "nc" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 1; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; maxhealth = 500; name = "Veil of sanity"},/obj/effect/spider/stickyweb/dark{color = #8A0808; desc = "You gaze upon a mess of stained barbed wires, the attempt of making sense upon this scratches thoughts from your mind as it fills you with a sense of dread, it's best you don't get tangled in this mess"; name = "Wires of doubt"},/obj/effect/step_trigger/message{message = "Finally, you gaze upon a horror your sanity fails to understand. The numbness of your body fades as the sound of glass shattering fills your mind, the horrifying sensation of barbed wire tangling your body as every waking second you spend gazing upon this nightmare tightens those bonds. . . Is this what your mortal coil desires?. . ."; once = 0},/turf/simulated/floor/gorefloor,/area/survivalpod) "nn" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 4; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; maxhealth = 500; name = "Veil of sanity"},/obj/effect/spider/stickyweb/dark{color = #8A0808; desc = "You gaze upon a mess of stained barbed wires, the attempt of making sense upon this scratches thoughts from your mind as it fills you with a sense of dread, it's best you don't get tangled in this mess"; name = "Wires of doubt"},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod) "nA" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 8; maxhealth = 500; name = "Veil of sanity"},/turf/simulated/floor/gorefloor,/area/survivalpod) @@ -61,7 +61,7 @@ "El" = (/obj/structure/simple_door/cult,/turf/simulated/floor/cult,/area/survivalpod) "Es" = (/obj/effect/spider/stickyweb/dark{color = #8A0808; desc = "You gaze upon a mess of stained barbed wires, the attempt of making sense upon this scratches thoughts from your mind as it fills you with a sense of dread, it's best you don't get tangled in this mess"; name = "Wires of doubt"},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod) "Fv" = (/obj/structure/girder/cult,/turf/simulated/floor/gorefloor2,/area/survivalpod) -"Fz" = (/obj/item/weapon/bone/ribs,/turf/simulated/floor/lava,/area/survivalpod) +"Fz" = (/obj/item/bone/ribs,/turf/simulated/floor/lava,/area/survivalpod) "FX" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; maxhealth = 500; name = "Veil of sanity"},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod) "GI" = (/obj/machinery/power/supermatter/shard{color = "red"; simulated = 0},/turf/simulated/floor/gorefloor2,/area/survivalpod) "Hm" = (/obj/structure/girder/cult,/turf/simulated/floor/cult,/area/survivalpod) @@ -103,7 +103,7 @@ "Ut" = (/obj/structure/cult/talisman,/obj/effect/map_effect/interval/sound_emitter/geiger/med,/turf/simulated/floor/cult,/area/survivalpod) "Ux" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 1; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 4; maxhealth = 500; name = "Veil of sanity"},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod) "UH" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 4; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 1; maxhealth = 500; name = "Veil of sanity"},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod) -"UO" = (/obj/item/weapon/bone/arm,/turf/simulated/floor/lava,/area/survivalpod) +"UO" = (/obj/item/bone/arm,/turf/simulated/floor/lava,/area/survivalpod) "Vm" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 8; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 1; maxhealth = 500; name = "Veil of sanity"},/obj/effect/spider/stickyweb{color = #8A0808; desc = "Like a leash you can see those strings trying to hold you back, hesitating at the thought only to exasperate the sensation of the reality you are in. . . this may not be an illusion."; name = "Strings of distress"},/turf/simulated/floor/gorefloor,/area/survivalpod) "Vn" = (/obj/structure/cult/forge,/turf/simulated/floor/cult,/area/survivalpod) "VA" = (/obj/structure/grille/broken/cult,/turf/simulated/floor/gorefloor,/area/survivalpod) diff --git a/maps/_templates_and_guidance/Templates/shelter_Medical.dmm b/maps/_templates_and_guidance/Templates/shelter_Medical.dmm index 13f34cff4e8..1a5f109ef70 100644 --- a/maps/_templates_and_guidance/Templates/shelter_Medical.dmm +++ b/maps/_templates_and_guidance/Templates/shelter_Medical.dmm @@ -1,18 +1,18 @@ "a" = (/turf/simulated/shuttle/wall/voidcraft/survival,/area/survivalpod) -"b" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/medical,/obj/structure/curtain/open/privacy,/turf/simulated/shuttle/floor/voidcraft/light,/area/survivalpod) +"b" = (/obj/structure/bed/padded,/obj/item/bedsheet/medical,/obj/structure/curtain/open/privacy,/turf/simulated/shuttle/floor/voidcraft/light,/area/survivalpod) "c" = (/obj/structure/window/reinforced/survival_pod{dir = 1},/obj/machinery/disposal,/obj/effect/floor_decal/industrial/warning/full,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/shuttle/floor/voidcraft/dark,/area/survivalpod) "d" = (/turf/simulated/shuttle/floor/voidcraft/dark,/area/survivalpod) "e" = (/obj/machinery/light/small,/obj/structure/sink{dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/shuttle/floor/voidcraft/light,/area/survivalpod) "f" = (/obj/structure/window/reinforced/survival_pod{dir = 1},/obj/structure/bed/chair/comfy/black{dir = 8},/turf/simulated/shuttle/floor/voidcraft/dark,/area/survivalpod) -"g" = (/obj/structure/table/glass,/obj/structure/closet/secure_closet/guncabinet/phase{pixel_y = -32},/obj/item/weapon/gun/energy/locked/frontier/holdout,/obj/item/weapon/gun/energy/locked/frontier/holdout,/obj/item/clothing/accessory/permit/gun/planetside,/obj/item/clothing/accessory/permit/gun/planetside,/obj/item/clothing/accessory/holster/waist,/obj/item/clothing/accessory/holster/waist,/turf/simulated/shuttle/floor/voidcraft/dark,/area/survivalpod) +"g" = (/obj/structure/table/glass,/obj/structure/closet/secure_closet/guncabinet/phase{pixel_y = -32},/obj/item/gun/energy/locked/frontier/holdout,/obj/item/gun/energy/locked/frontier/holdout,/obj/item/clothing/accessory/permit/gun/planetside,/obj/item/clothing/accessory/permit/gun/planetside,/obj/item/clothing/accessory/holster/waist,/obj/item/clothing/accessory/holster/waist,/turf/simulated/shuttle/floor/voidcraft/dark,/area/survivalpod) "h" = (/obj/structure/sign/mining/survival{dir = 8},/turf/simulated/shuttle/wall/voidcraft/survival/hard_corner,/area/survivalpod) "i" = (/obj/effect/floor_decal/industrial/danger/full,/obj/structure/fans/tiny,/obj/machinery/door/airlock/voidcraft/survival_pod,/turf/simulated/shuttle/floor/voidcraft/dark,/area/survivalpod) "j" = (/obj/structure/sign/mining/survival,/turf/simulated/shuttle/wall/voidcraft/survival,/area/survivalpod) "k" = (/turf/simulated/shuttle/floor/voidcraft/light,/area/survivalpod) "l" = (/obj/machinery/sleeper/survival_pod,/turf/simulated/shuttle/floor/voidcraft/light,/area/survivalpod) "m" = (/obj/structure/disposalpipe/segment,/turf/simulated/shuttle/wall/voidcraft/survival/hard_corner,/area/survivalpod) -"n" = (/obj/machinery/smartfridge/survival_pod,/obj/item/weapon/storage/mre/menu10,/obj/item/weapon/storage/mre/menu10,/obj/item/weapon/storage/mre/menu10,/obj/item/weapon/storage/mre/menu10,/obj/item/weapon/storage/mre/menu11,/obj/item/weapon/storage/mre/menu11,/obj/item/weapon/storage/mre/menu11,/obj/item/weapon/storage/mre/menu11,/obj/item/device/fbp_backup_cell,/obj/item/device/fbp_backup_cell,/obj/item/device/fbp_backup_cell,/obj/item/device/fbp_backup_cell,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/fitnessflask/glucose,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/fitnessflask/glucose,/obj/item/weapon/storage/box/freezer,/obj/item/weapon/storage/box/freezer,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/glass/beaker,/obj/machinery/light{dir = 1},/obj/item/device/defib_kit/loaded,/obj/item/device/defib_kit/loaded,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/turf/simulated/shuttle/floor/voidcraft/light,/area/survivalpod) -"o" = (/obj/item/device/gps/computer,/turf/simulated/shuttle/floor/voidcraft/light,/area/survivalpod) +"n" = (/obj/machinery/smartfridge/survival_pod,/obj/item/storage/mre/menu10,/obj/item/storage/mre/menu10,/obj/item/storage/mre/menu10,/obj/item/storage/mre/menu10,/obj/item/storage/mre/menu11,/obj/item/storage/mre/menu11,/obj/item/storage/mre/menu11,/obj/item/storage/mre/menu11,/obj/item/fbp_backup_cell,/obj/item/fbp_backup_cell,/obj/item/fbp_backup_cell,/obj/item/fbp_backup_cell,/obj/item/reagent_containers/glass/beaker/large,/obj/item/reagent_containers/glass/beaker/large,/obj/item/reagent_containers/food/drinks/drinkingglass/fitnessflask/glucose,/obj/item/reagent_containers/food/drinks/drinkingglass/fitnessflask/glucose,/obj/item/storage/box/freezer,/obj/item/storage/box/freezer,/obj/item/reagent_containers/dropper,/obj/item/reagent_containers/dropper,/obj/item/reagent_containers/glass/beaker,/obj/item/reagent_containers/glass/beaker,/obj/machinery/light{dir = 1},/obj/item/defib_kit/loaded,/obj/item/defib_kit/loaded,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/turf/simulated/shuttle/floor/voidcraft/light,/area/survivalpod) +"o" = (/obj/item/gps/computer,/turf/simulated/shuttle/floor/voidcraft/light,/area/survivalpod) "p" = (/obj/structure/window/reinforced/survival_pod{dir = 1},/obj/structure/toilet{dir = 8},/turf/simulated/shuttle/floor/voidcraft/light,/area/survivalpod) "s" = (/obj/structure/sign/mining/survival{dir = 1},/turf/simulated/shuttle/wall/voidcraft/survival,/area/survivalpod) "t" = (/obj/structure/window/reinforced/survival_pod{dir = 8},/obj/structure/window/reinforced/survival_pod{dir = 4},/obj/structure/window/reinforced/survival_pod{dir = 1},/obj/structure/window/reinforced/survival_pod,/obj/structure/grille,/obj/structure/curtain/black,/turf/simulated/shuttle/floor/voidcraft/dark,/area/survivalpod) @@ -21,14 +21,14 @@ "w" = (/obj/structure/table/steel_reinforced,/obj/machinery/chemical_dispenser/full,/turf/simulated/shuttle/floor/voidcraft/light,/area/survivalpod) "x" = (/obj/structure/sign/redcross,/turf/simulated/shuttle/wall/voidcraft/survival/hard_corner,/area/survivalpod) "z" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/sign/mining/survival{dir = 4},/turf/simulated/shuttle/wall/voidcraft/survival/hard_corner,/area/survivalpod) -"A" = (/obj/machinery/shower{dir = 8},/obj/item/weapon/soap/deluxe,/obj/structure/curtain,/turf/simulated/shuttle/floor/voidcraft/light,/area/survivalpod) -"B" = (/obj/structure/table/survival_pod,/obj/item/weapon/storage/firstaid/adv,/obj/item/weapon/storage/firstaid/o2{pixel_x = 5; pixel_y = 5},/turf/simulated/shuttle/floor/voidcraft/light,/area/survivalpod) +"A" = (/obj/machinery/shower{dir = 8},/obj/item/soap/deluxe,/obj/structure/curtain,/turf/simulated/shuttle/floor/voidcraft/light,/area/survivalpod) +"B" = (/obj/structure/table/survival_pod,/obj/item/storage/firstaid/adv,/obj/item/storage/firstaid/o2{pixel_x = 5; pixel_y = 5},/turf/simulated/shuttle/floor/voidcraft/light,/area/survivalpod) "C" = (/obj/effect/floor_decal/industrial/outline,/turf/simulated/shuttle/floor/voidcraft/dark,/area/survivalpod) -"D" = (/obj/structure/window/reinforced/survival_pod{dir = 1},/obj/structure/table/gamblingtable,/obj/item/device/starcaster_news,/obj/item/weapon/deck/cards,/obj/structure/fireaxecabinet{pixel_y = 27},/turf/simulated/shuttle/floor/voidcraft/dark,/area/survivalpod) +"D" = (/obj/structure/window/reinforced/survival_pod{dir = 1},/obj/structure/table/gamblingtable,/obj/item/starcaster_news,/obj/item/deck/cards,/obj/structure/fireaxecabinet{pixel_y = 27},/turf/simulated/shuttle/floor/voidcraft/dark,/area/survivalpod) "E" = (/obj/machinery/optable,/obj/machinery/oxygen_pump/anesthetic{pixel_x = 32},/turf/simulated/shuttle/floor/voidcraft/light,/area/survivalpod) "F" = (/obj/machinery/door/window/survival_pod{dir = 1},/turf/simulated/shuttle/floor/voidcraft/dark,/area/survivalpod) "G" = (/turf/simulated/shuttle/wall/voidcraft/survival/hard_corner,/area/survivalpod) -"H" = (/obj/machinery/smartfridge/survival_pod,/obj/item/weapon/storage/box/bodybags,/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/mask/muzzle,/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/mask/muzzle,/obj/item/device/sleevemate,/obj/item/roller{pixel_y = 8},/obj/item/roller{pixel_y = 8},/obj/item/roller{pixel_y = 8},/obj/item/weapon/reagent_containers/spray/cleaner{desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; pixel_y = 2},/obj/item/weapon/reagent_containers/spray/cleaner{desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/firstaid/surgery,/obj/item/device/defib_kit/compact/loaded,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/weapon/extinguisher/mini,/obj/item/weapon/extinguisher/mini,/obj/item/weapon/towel/random,/obj/item/weapon/towel/random,/obj/item/weapon/towel/random,/obj/item/weapon/towel/random,/obj/item/device/binoculars,/obj/item/device/bluespaceradio,/obj/item/device/radio/emergency,/obj/item/device/radio/emergency,/obj/item/weapon/storage/box/survival/space,/obj/item/weapon/storage/box/survival/space,/obj/item/weapon/storage/box/survival/space,/obj/item/weapon/storage/box/survival/space,/obj/item/weapon/storage/box/survival/comp,/obj/item/weapon/storage/box/survival/comp,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/toy/crossbow,/turf/simulated/shuttle/floor/voidcraft/light,/area/survivalpod) +"H" = (/obj/machinery/smartfridge/survival_pod,/obj/item/storage/box/bodybags,/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/mask/muzzle,/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/mask/muzzle,/obj/item/sleevemate,/obj/item/roller{pixel_y = 8},/obj/item/roller{pixel_y = 8},/obj/item/roller{pixel_y = 8},/obj/item/reagent_containers/spray/cleaner{desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; pixel_y = 2},/obj/item/reagent_containers/spray/cleaner{desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; pixel_y = 2},/obj/item/storage/firstaid/surgery,/obj/item/defib_kit/compact/loaded,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/extinguisher/mini,/obj/item/extinguisher/mini,/obj/item/towel/random,/obj/item/towel/random,/obj/item/towel/random,/obj/item/towel/random,/obj/item/binoculars,/obj/item/bluespaceradio,/obj/item/radio/emergency,/obj/item/radio/emergency,/obj/item/storage/box/survival/space,/obj/item/storage/box/survival/space,/obj/item/storage/box/survival/space,/obj/item/storage/box/survival/space,/obj/item/storage/box/survival/comp,/obj/item/storage/box/survival/comp,/obj/item/storage/toolbox/mechanical,/obj/item/toy/crossbow,/turf/simulated/shuttle/floor/voidcraft/light,/area/survivalpod) "I" = (/obj/machinery/light,/obj/machinery/sleeper{dir = 4},/turf/simulated/shuttle/floor/voidcraft/dark,/area/survivalpod) "J" = (/obj/machinery/sleep_console{dir = 4},/turf/simulated/shuttle/floor/voidcraft/dark,/area/survivalpod) "K" = (/obj/structure/fans,/turf/simulated/shuttle/floor/voidcraft/light,/area/survivalpod) @@ -39,11 +39,11 @@ "R" = (/obj/structure/window/reinforced/survival_pod{dir = 1},/obj/machinery/vending/medical{req_access = null; req_log_access = null},/turf/simulated/shuttle/floor/voidcraft/dark,/area/survivalpod) "S" = (/obj/machinery/iv_drip,/obj/machinery/iv_drip,/obj/machinery/vending/wallmed1{dir = 8; pixel_x = 22; pixel_y = 3},/turf/simulated/shuttle/floor/voidcraft/light,/area/survivalpod) "T" = (/obj/machinery/iv_drip,/obj/effect/floor_decal/industrial/loading{dir = 1},/turf/simulated/shuttle/floor/voidcraft/light,/area/survivalpod) -"U" = (/obj/structure/table/survival_pod,/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/fire{pixel_x = 5; pixel_y = 5},/turf/simulated/shuttle/floor/voidcraft/light,/area/survivalpod) +"U" = (/obj/structure/table/survival_pod,/obj/item/storage/firstaid/toxin,/obj/item/storage/firstaid/fire{pixel_x = 5; pixel_y = 5},/turf/simulated/shuttle/floor/voidcraft/light,/area/survivalpod) "V" = (/obj/structure/disposalpipe/segment,/obj/structure/sign/mining/survival{dir = 4},/turf/simulated/shuttle/wall/voidcraft/survival,/area/survivalpod) -"W" = (/obj/structure/table/glass,/obj/item/weapon/storage/box/masks,/obj/item/weapon/storage/box/gloves{pixel_x = 4; pixel_y = 4},/obj/machinery/newscaster{pixel_y = -30},/turf/simulated/shuttle/floor/voidcraft/dark,/area/survivalpod) +"W" = (/obj/structure/table/glass,/obj/item/storage/box/masks,/obj/item/storage/box/gloves{pixel_x = 4; pixel_y = 4},/obj/machinery/newscaster{pixel_y = -30},/turf/simulated/shuttle/floor/voidcraft/dark,/area/survivalpod) "X" = (/obj/structure/sign/mining/survival{dir = 8},/turf/simulated/shuttle/wall/voidcraft/survival,/area/survivalpod) -"Y" = (/obj/structure/table/survival_pod,/obj/item/weapon/storage/firstaid/surgery,/obj/structure/sink/kitchen{dir = 4; pixel_x = -13},/obj/machinery/recharger,/turf/simulated/shuttle/floor/voidcraft/light,/area/survivalpod) +"Y" = (/obj/structure/table/survival_pod,/obj/item/storage/firstaid/surgery,/obj/structure/sink/kitchen{dir = 4; pixel_x = -13},/obj/machinery/recharger,/turf/simulated/shuttle/floor/voidcraft/light,/area/survivalpod) "Z" = (/obj/machinery/door/window/survival_pod{dir = 1},/turf/simulated/shuttle/floor/voidcraft/light,/area/survivalpod) (1,1,1) = {" diff --git a/maps/cynosure/cynosure-1.dmm b/maps/cynosure/cynosure-1.dmm index c1e2c80f523..3e73713d07c 100644 --- a/maps/cynosure/cynosure-1.dmm +++ b/maps/cynosure/cynosure-1.dmm @@ -625,7 +625,7 @@ /turf/simulated/floor/plating, /area/surface/station/maintenance/medical/south) "bw" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, @@ -685,7 +685,7 @@ /obj/structure/cable{ icon_state = "16-0" }, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /turf/simulated/floor/plating, /area/surface/station/maintenance/storage/emergency/bmtswest) "bC" = ( @@ -903,16 +903,16 @@ /area/surface/station/maintenance/research/east) "bY" = ( /obj/structure/table/rack, -/obj/item/weapon/circuitboard/rdconsole{ +/obj/item/circuitboard/rdconsole{ pixel_x = 4; pixel_y = -4 }, -/obj/item/weapon/circuitboard/destructive_analyzer{ +/obj/item/circuitboard/destructive_analyzer{ pixel_x = 2; pixel_y = -2 }, -/obj/item/weapon/circuitboard/protolathe, -/obj/item/weapon/circuitboard/rdserver{ +/obj/item/circuitboard/protolathe, +/obj/item/circuitboard/rdserver{ pixel_x = -2; pixel_y = 2 }, @@ -1107,12 +1107,12 @@ /obj/structure/noticeboard/anomaly{ pixel_y = 28 }, -/obj/item/weapon/paper_bin, -/obj/item/weapon/clipboard, -/obj/item/weapon/pen, -/obj/item/device/taperecorder, -/obj/item/weapon/folder, -/obj/item/weapon/stamp, +/obj/item/paper_bin, +/obj/item/clipboard, +/obj/item/pen, +/obj/item/taperecorder, +/obj/item/folder, +/obj/item/stamp, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 }, @@ -1234,10 +1234,10 @@ /obj/effect/floor_decal/techfloor{ dir = 10 }, -/obj/item/weapon/circuitboard/borgupload{ +/obj/item/circuitboard/borgupload{ pixel_x = -4 }, -/obj/item/weapon/circuitboard/aiupload{ +/obj/item/circuitboard/aiupload{ pixel_y = -3 }, /turf/simulated/floor/tiled/techfloor, @@ -1524,7 +1524,7 @@ "dw" = ( /obj/effect/floor_decal/industrial/outline/grey, /obj/machinery/light, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /turf/simulated/floor/tiled/dark, @@ -1576,12 +1576,12 @@ /area/surface/station/rnd/toxins_launch) "dC" = ( /obj/structure/table/rack, -/obj/item/weapon/circuitboard/secure_data{ +/obj/item/circuitboard/secure_data{ pixel_x = -4; pixel_y = 3 }, -/obj/item/weapon/circuitboard/security, -/obj/item/weapon/circuitboard/skills{ +/obj/item/circuitboard/security, +/obj/item/circuitboard/skills{ pixel_x = 4; pixel_y = -3 }, @@ -1671,7 +1671,7 @@ c_tag = "OPR - Xenoarch Crew Area"; dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /obj/structure/flora/pottedplant/flower, @@ -1814,7 +1814,7 @@ }, /obj/effect/floor_decal/borderfloorwhite/corner, /obj/effect/floor_decal/corner/purple/bordercorner, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /obj/machinery/camera/network/research{ @@ -1947,7 +1947,7 @@ /obj/structure/cable/heavyduty{ icon_state = "1-2" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, @@ -2022,7 +2022,7 @@ /turf/simulated/floor/tiled, /area/surface/station/engineering/hallway/bmt) "eI" = ( -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /turf/simulated/floor/tiled/old_tile/gray, /area/surface/station/rnd/mixing) "eL" = ( @@ -2093,7 +2093,7 @@ name = "EVA Suits" }, /obj/machinery/light, -/obj/item/weapon/storage/belt/archaeology, +/obj/item/storage/belt/archaeology, /obj/item/clothing/suit/space/anomaly, /obj/item/clothing/head/helmet/space/anomaly, /obj/effect/floor_decal/spline/plain{ @@ -2105,8 +2105,8 @@ /obj/random/crate{ dir = 4 }, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, /obj/random/maintenance/clean, /obj/random/maintenance/clean, /turf/simulated/floor/plating, @@ -2328,10 +2328,10 @@ }, /obj/structure/table/steel_reinforced, /obj/machinery/cell_charger, -/obj/item/weapon/cell/high, -/obj/item/weapon/tool/screwdriver, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/tool/crowbar, +/obj/item/cell/high, +/obj/item/tool/screwdriver, +/obj/item/tool/wrench, +/obj/item/tool/crowbar, /turf/simulated/floor/tiled/steel/sif/planetuse{ icon_state = "asteroidfloor"; initial_flooring = /decl/flooring/tiling/asteroidfloor; @@ -2351,12 +2351,12 @@ /area/surface/station/rnd/hallway/bmt) "fv" = ( /obj/structure/safe, -/obj/item/weapon/material/sword/katana, -/obj/item/weapon/melee/chainofcommand, -/obj/item/weapon/disk/nuclear, -/obj/item/weapon/moneybag/vault, -/obj/item/weapon/coin/diamond, -/obj/item/weapon/coin/diamond, +/obj/item/material/sword/katana, +/obj/item/melee/chainofcommand, +/obj/item/disk/nuclear, +/obj/item/moneybag/vault, +/obj/item/coin/diamond, +/obj/item/coin/diamond, /turf/simulated/floor/tiled/techfloor, /area/surface/station/vault) "fw" = ( @@ -2448,8 +2448,8 @@ /area/surface/station/maintenance/engineering/south) "fK" = ( /obj/structure/table/steel, -/obj/item/device/defib_kit/loaded, -/obj/item/weapon/storage/toolbox/emergency, +/obj/item/defib_kit/loaded, +/obj/item/storage/toolbox/emergency, /turf/simulated/floor/tiled/dark, /area/surface/station/medical/storage/second_storage) "fL" = ( @@ -2537,9 +2537,9 @@ }, /obj/machinery/cell_charger, /obj/structure/table/steel_reinforced, -/obj/item/weapon/cell/high, -/obj/item/weapon/storage/belt/utility, -/obj/item/weapon/pickaxe, +/obj/item/cell/high, +/obj/item/storage/belt/utility, +/obj/item/pickaxe, /turf/simulated/floor/tiled, /area/surface/station/mining_main/storage) "fY" = ( @@ -2650,7 +2650,7 @@ pixel_y = -12 }, /obj/structure/table/standard, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /obj/effect/floor_decal/steeldecal/steel_decals_central7{ dir = 4 }, @@ -2789,7 +2789,7 @@ }, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/purple/border, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /turf/simulated/floor/tiled/white, @@ -2822,7 +2822,7 @@ /obj/random/maintenance/clean, /obj/random/tool, /obj/random/tool, -/obj/item/weapon/storage/briefcase/inflatable, +/obj/item/storage/briefcase/inflatable, /turf/simulated/floor/plating, /area/surface/outpost/research/xenoarcheology/smes) "gI" = ( @@ -2944,7 +2944,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/item/weapon/tool/crowbar, +/obj/item/tool/crowbar, /turf/simulated/floor/plating, /area/surface/station/hallway/primary/bmt/east) "gX" = ( @@ -3305,7 +3305,7 @@ /obj/effect/floor_decal/corner/purple/border{ dir = 9 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, @@ -3365,16 +3365,16 @@ /area/surface/outpost/research/xenoarcheology/anomaly) "hU" = ( /obj/structure/table/steel, -/obj/item/device/flashlight, -/obj/item/device/flashlight{ +/obj/item/flashlight, +/obj/item/flashlight{ pixel_x = 2; pixel_y = 2 }, -/obj/item/device/flash{ +/obj/item/flash{ pixel_x = 2; pixel_y = 2 }, -/obj/item/device/flash, +/obj/item/flash, /turf/simulated/floor/plating, /area/surface/station/storage/tech) "hV" = ( @@ -3507,7 +3507,7 @@ /obj/effect/floor_decal/corner/green/border{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, @@ -3681,7 +3681,7 @@ /obj/effect/floor_decal/corner/green/border{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, @@ -3689,23 +3689,23 @@ /area/surface/station/hallway/primary/bmt/north) "iI" = ( /obj/structure/table/steel, -/obj/item/device/suit_cooling_unit{ +/obj/item/suit_cooling_unit{ pixel_x = 4; pixel_y = -2 }, -/obj/item/device/suit_cooling_unit{ +/obj/item/suit_cooling_unit{ pixel_x = 2; pixel_y = 2 }, -/obj/item/device/gps/science{ +/obj/item/gps/science{ pixel_x = 4; pixel_y = 4 }, -/obj/item/device/gps/science{ +/obj/item/gps/science{ pixel_x = 2; pixel_y = 2 }, -/obj/item/device/gps/science, +/obj/item/gps/science, /obj/structure/cable/cyan{ icon_state = "1-2" }, @@ -4231,7 +4231,7 @@ /obj/structure/closet/crate{ dir = 8 }, -/obj/item/weapon/storage/belt/champion, +/obj/item/storage/belt/champion, /obj/item/stack/material/gold{ pixel_x = -5; pixel_y = -2 @@ -4757,7 +4757,7 @@ /area/surface/station/maintenance/bar) "kU" = ( /obj/structure/table/rack, -/obj/item/weapon/circuitboard/message_monitor, +/obj/item/circuitboard/message_monitor, /turf/simulated/floor/plating, /area/surface/station/storage/tech) "kW" = ( @@ -4969,13 +4969,13 @@ /area/surface/station/hallway/primary/bmt/east) "lz" = ( /obj/structure/table/rack, -/obj/item/device/analyzer/plant_analyzer, -/obj/item/device/healthanalyzer, -/obj/item/device/analyzer{ +/obj/item/analyzer/plant_analyzer, +/obj/item/healthanalyzer, +/obj/item/analyzer{ pixel_x = 2; pixel_y = -2 }, -/obj/item/device/analyzer, +/obj/item/analyzer, /turf/simulated/floor/plating, /area/surface/station/storage/tech) "lA" = ( @@ -5242,10 +5242,10 @@ /area/surface/station/maintenance/incinerator) "lZ" = ( /obj/structure/table/steel, -/obj/item/device/integrated_electronics/debugger{ +/obj/item/integrated_electronics/debugger{ pixel_x = -4 }, -/obj/item/device/integrated_electronics/wirer{ +/obj/item/integrated_electronics/wirer{ pixel_x = 6 }, /turf/simulated/floor/plating, @@ -5300,7 +5300,7 @@ /obj/effect/floor_decal/corner/green/border{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -5324,7 +5324,7 @@ /turf/simulated/floor/plating, /area/surface/station/maintenance/mining) "mf" = ( -/obj/item/weapon/stool, +/obj/item/stool, /turf/simulated/floor/plating, /area/surface/station/engineering/drone_fabrication) "mg" = ( @@ -5349,18 +5349,18 @@ /area/surface/outpost/research/xenoarcheology/restroom) "mj" = ( /obj/structure/table/glass, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#B19CD9"; name = "light purple"; pixel_x = 1; pixel_y = 4 }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#B19CD9"; name = "light purple"; pixel_y = 2 }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#B19CD9"; name = "light purple"; pixel_x = -1 @@ -5465,10 +5465,10 @@ /area/surface/outpost/research/xenoarcheology/entrance) "mv" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/excavation, -/obj/item/weapon/pickaxe, -/obj/item/weapon/tool/wrench, -/obj/item/device/measuring_tape, +/obj/item/storage/excavation, +/obj/item/pickaxe, +/obj/item/tool/wrench, +/obj/item/measuring_tape, /obj/item/stack/flag/yellow, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 @@ -5674,11 +5674,11 @@ /area/surface/station/mining_main/exterior) "mW" = ( /obj/structure/table/steel, -/obj/item/weapon/anodevice{ +/obj/item/anodevice{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/anodevice, +/obj/item/anodevice, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 }, @@ -5801,7 +5801,7 @@ }, /obj/random/toolbox, /obj/random/maintenance/clean, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, @@ -6008,11 +6008,11 @@ /turf/simulated/floor/tiled/white, /area/surface/outpost/research/xenoarcheology/analysis) "nQ" = ( -/obj/item/weapon/ore/iron{ +/obj/item/ore/iron{ pixel_x = -3; pixel_y = 9 }, -/obj/item/weapon/ore/slag, +/obj/item/ore/slag, /obj/random/multiple/ore_pile, /turf/simulated/floor/tiled/dark, /area/surface/station/hallway/primary/bmt/west) @@ -6339,10 +6339,10 @@ pixel_x = -22 }, /obj/structure/table/rack, -/obj/item/weapon/pickaxe, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/shovel, +/obj/item/pickaxe, +/obj/item/tool/wrench, +/obj/item/tool/crowbar, +/obj/item/shovel, /obj/effect/floor_decal/borderfloor{ dir = 9 }, @@ -7141,7 +7141,7 @@ /obj/effect/catwalk_plated/dark, /obj/structure/table/steel, /obj/machinery/cell_charger, -/obj/item/weapon/cell/high, +/obj/item/cell/high, /turf/simulated/floor/plating, /area/surface/station/maintenance/substation/medbay/bmt) "qs" = ( @@ -7190,7 +7190,7 @@ pixel_y = -24; req_access = list(19) }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, @@ -7354,7 +7354,7 @@ }, /obj/machinery/portable_atmospherics/canister/nitrogen, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /obj/machinery/light/small, @@ -7403,7 +7403,7 @@ /turf/simulated/floor/tiled, /area/surface/station/hallway/primary/bmt/east) "qY" = ( -/obj/item/weapon/camera_assembly, +/obj/item/camera_assembly, /turf/simulated/floor/tiled/white, /area/surface/station/construction/genetics) "qZ" = ( @@ -7685,9 +7685,9 @@ /obj/effect/floor_decal/corner/paleblue/border{ dir = 4 }, -/obj/item/weapon/autopsy_scanner, -/obj/item/weapon/surgical/scalpel, -/obj/item/weapon/surgical/cautery, +/obj/item/autopsy_scanner, +/obj/item/surgical/scalpel, +/obj/item/surgical/cautery, /obj/machinery/requests_console{ department = "Medbay"; departmentType = 1; @@ -7984,7 +7984,7 @@ /area/surface/station/medical/hallway/bmt) "sl" = ( /obj/structure/closet/secure_closet/freezer/money, -/obj/item/weapon/storage/secure/briefcase/money, +/obj/item/storage/secure/briefcase/money, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/dark, /area/surface/station/vault) @@ -8141,7 +8141,7 @@ /obj/effect/floor_decal/corner/paleblue/border{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, @@ -8217,7 +8217,7 @@ /obj/effect/floor_decal/corner/paleblue/bordercorner{ dir = 1 }, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ pixel_y = 21 }, /turf/simulated/floor/tiled, @@ -8418,7 +8418,7 @@ /obj/machinery/light{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, @@ -8465,7 +8465,7 @@ "tj" = ( /obj/structure/closet/firecloset, /obj/item/clothing/mask/gas, -/obj/item/weapon/tank/oxygen/red, +/obj/item/tank/oxygen/red, /turf/simulated/floor/tiled/dark, /area/surface/station/rnd/hallway/bmt) "tk" = ( @@ -8665,7 +8665,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /turf/simulated/floor/tiled/steel_dirty, @@ -8678,7 +8678,7 @@ /turf/simulated/floor/reinforced, /area/surface/station/maintenance/incinerator) "tJ" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/plating, /area/surface/station/construction/genetics) "tK" = ( @@ -8800,7 +8800,7 @@ icon_state = "1-2" }, /obj/structure/table/steel, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /obj/random/maintenance/clean, /obj/machinery/alarm{ dir = 4; @@ -8814,11 +8814,11 @@ "tY" = ( /obj/structure/table/reinforced, /obj/machinery/cell_charger, -/obj/item/weapon/tool/screwdriver, -/obj/item/weapon/melee/baton/loaded, -/obj/item/device/multitool, +/obj/item/tool/screwdriver, +/obj/item/melee/baton/loaded, +/obj/item/multitool, /obj/item/clothing/head/welding, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /obj/machinery/camera/network/research_outpost{ @@ -8869,8 +8869,8 @@ "uc" = ( /obj/machinery/atmospherics/pipe/simple/hidden/yellow, /obj/structure/table/reinforced, -/obj/item/weapon/tape_roll, -/obj/item/device/geiger, +/obj/item/tape_roll, +/obj/item/geiger, /turf/simulated/floor/tiled/white, /area/surface/outpost/research/xenoarcheology/anomaly) "ud" = ( @@ -9188,12 +9188,12 @@ icon_state = "1-2" }, /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/extinguisher{ +/obj/item/storage/firstaid/regular, +/obj/item/extinguisher{ pixel_x = 5; pixel_y = 5 }, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /obj/machinery/requests_console{ department = "Science"; departmentType = 2; @@ -9299,7 +9299,7 @@ "vk" = ( /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /turf/simulated/floor/tiled/old_tile/white, @@ -9330,7 +9330,7 @@ /obj/machinery/light{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, @@ -9561,10 +9561,10 @@ /area/surface/station/maintenance/incineratormaint) "vP" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/toolbox/electrical, -/obj/item/device/multitool, +/obj/item/storage/toolbox/electrical, +/obj/item/multitool, /obj/item/clothing/glasses/meson, -/obj/item/device/t_scanner, +/obj/item/t_scanner, /obj/item/clothing/gloves/yellow, /turf/simulated/floor/plating, /area/surface/station/storage/tech) @@ -9671,10 +9671,10 @@ /area/surface/station/hallway/primary/bmt/west) "wa" = ( /obj/structure/table/rack, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /obj/item/clothing/head/hardhat/red, /obj/item/clothing/mask/gas, -/obj/item/device/flashlight, +/obj/item/flashlight, /obj/item/clothing/glasses/meson, /obj/random/maintenance/clean, /turf/simulated/floor/plating, @@ -9682,12 +9682,12 @@ "wb" = ( /obj/structure/table/glass, /obj/effect/floor_decal/borderfloorwhite, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, -/obj/item/weapon/storage/box/beakers, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/storage/box/beakers, +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/dropper, /obj/effect/floor_decal/corner/beige/border, /turf/simulated/floor/tiled/white, /area/surface/outpost/research/xenoarcheology/analysis) @@ -9725,7 +9725,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /turf/simulated/floor/tiled, @@ -9894,7 +9894,7 @@ /obj/machinery/atmospherics/portables_connector{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, @@ -10055,7 +10055,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, @@ -10316,13 +10316,13 @@ /obj/effect/floor_decal/corner/paleblue/border{ dir = 6 }, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/blue, -/obj/item/weapon/pen/red{ +/obj/item/paper_bin, +/obj/item/pen/blue, +/obj/item/pen/red{ pixel_x = -4; pixel_y = -4 }, -/obj/item/device/camera{ +/obj/item/camera{ name = "Autopsy Camera"; pixel_y = 8 }, @@ -10441,7 +10441,7 @@ pixel_y = -12 }, /obj/structure/table/standard, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /obj/effect/floor_decal/steeldecal/steel_decals_central7{ dir = 4 }, @@ -10450,7 +10450,7 @@ "xQ" = ( /obj/structure/table/steel, /obj/machinery/cell_charger, -/obj/item/weapon/cell/high, +/obj/item/cell/high, /obj/effect/floor_decal/industrial/warning, /obj/machinery/alarm{ dir = 4; @@ -10490,8 +10490,8 @@ /area/surface/outpost/research/xenoarcheology/anomaly) "ya" = ( /obj/structure/table/rack, -/obj/item/weapon/circuitboard/unary_atmos/cooler, -/obj/item/weapon/circuitboard/unary_atmos/heater{ +/obj/item/circuitboard/unary_atmos/cooler, +/obj/item/circuitboard/unary_atmos/heater{ pixel_x = 4; pixel_y = -3 }, @@ -10697,7 +10697,7 @@ }, /obj/structure/table/steel, /obj/machinery/cell_charger, -/obj/item/weapon/cell/high, +/obj/item/cell/high, /obj/machinery/alarm{ dir = 8; pixel_x = 22 @@ -10860,16 +10860,16 @@ /area/surface/station/hallway/primary/bmt/south) "yK" = ( /obj/structure/table/steel, -/obj/item/weapon/anobattery{ +/obj/item/anobattery{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/anobattery{ +/obj/item/anobattery{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/anobattery, -/obj/item/weapon/anobattery{ +/obj/item/anobattery, +/obj/item/anobattery{ pixel_x = -2; pixel_y = -2 }, @@ -10946,17 +10946,17 @@ pixel_y = 24 }, /obj/structure/table/rack, -/obj/item/weapon/stock_parts/matter_bin{ +/obj/item/stock_parts/matter_bin{ pixel_x = -4; pixel_y = -4 }, -/obj/item/weapon/stock_parts/matter_bin{ +/obj/item/stock_parts/matter_bin{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/stock_parts/matter_bin, -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/console_screen, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/console_screen, /turf/simulated/floor/plating, /area/surface/station/storage/tech) "yV" = ( @@ -11003,11 +11003,11 @@ /obj/effect/floor_decal/corner/paleblue/border{ dir = 4 }, -/obj/item/weapon/storage/box/bodybags{ +/obj/item/storage/box/bodybags{ pixel_x = 2; pixel_y = 3 }, -/obj/item/weapon/storage/box/bodybags, +/obj/item/storage/box/bodybags, /obj/machinery/power/apc{ dir = 4; name = "east bump"; @@ -11579,10 +11579,10 @@ /area/surface/station/hallway/primary/bmt/north) "At" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/excavation, -/obj/item/weapon/pickaxe, -/obj/item/weapon/tool/wrench, -/obj/item/device/measuring_tape, +/obj/item/storage/excavation, +/obj/item/pickaxe, +/obj/item/tool/wrench, +/obj/item/measuring_tape, /obj/item/stack/flag/yellow, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -11643,7 +11643,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals_central7{ dir = 1 }, -/obj/item/weapon/cell/high, +/obj/item/cell/high, /turf/simulated/floor/tiled/techmaint, /area/surface/station/mining_main) "Az" = ( @@ -11719,15 +11719,15 @@ /area/surface/station/rnd/hallway/bmt) "AI" = ( /obj/structure/table/steel, -/obj/item/weapon/cane/crutch{ +/obj/item/cane/crutch{ pixel_y = -4 }, -/obj/item/weapon/cane/crutch, -/obj/item/weapon/storage/box/gloves{ +/obj/item/cane/crutch, +/obj/item/storage/box/gloves{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/box/rxglasses, +/obj/item/storage/box/rxglasses, /turf/simulated/floor/tiled/dark, /area/surface/station/medical/storage/second_storage) "AJ" = ( @@ -11828,8 +11828,8 @@ /area/surface/outpost/research/xenoarcheology/entrance) "AS" = ( /obj/structure/table/steel, -/obj/item/device/aicard, -/obj/item/weapon/aiModule/reset, +/obj/item/aicard, +/obj/item/aiModule/reset, /turf/simulated/floor/plating, /area/surface/station/storage/tech) "AT" = ( @@ -11892,16 +11892,16 @@ /area/surface/station/hallway/primary/bmt/south) "Ba" = ( /obj/structure/closet/crate, -/obj/item/weapon/grenade/chem_grenade, -/obj/item/weapon/grenade/chem_grenade, -/obj/item/weapon/grenade/chem_grenade, -/obj/item/weapon/grenade/chem_grenade, -/obj/item/device/assembly/igniter, -/obj/item/device/assembly/igniter, -/obj/item/device/assembly/igniter, -/obj/item/device/assembly/timer, -/obj/item/device/assembly/timer, -/obj/item/device/assembly/timer, +/obj/item/grenade/chem_grenade, +/obj/item/grenade/chem_grenade, +/obj/item/grenade/chem_grenade, +/obj/item/grenade/chem_grenade, +/obj/item/assembly/igniter, +/obj/item/assembly/igniter, +/obj/item/assembly/igniter, +/obj/item/assembly/timer, +/obj/item/assembly/timer, +/obj/item/assembly/timer, /obj/machinery/firealarm{ dir = 4; pixel_x = 24 @@ -12068,11 +12068,11 @@ icon_state = "0-8" }, /obj/structure/table/steel, -/obj/item/device/suit_cooling_unit{ +/obj/item/suit_cooling_unit{ pixel_x = 2; pixel_y = 2 }, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, /obj/machinery/power/apc{ dir = 4; name = "east bump"; @@ -12610,7 +12610,7 @@ req_one_access = list(48) }, /obj/item/clothing/mask/breath, -/obj/item/weapon/rig/industrial/equipped, +/obj/item/rig/industrial/equipped, /turf/simulated/floor/tiled/techmaint, /area/surface/station/mining_main/storage) "CD" = ( @@ -12983,10 +12983,10 @@ "Dr" = ( /obj/effect/floor_decal/industrial/warning/corner, /obj/structure/table/rack, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /obj/item/clothing/head/hardhat/red, /obj/item/clothing/mask/gas, -/obj/item/device/flashlight, +/obj/item/flashlight, /obj/item/clothing/glasses/meson, /obj/random/maintenance/clean, /turf/simulated/floor/plating, @@ -13056,7 +13056,7 @@ /turf/simulated/floor/plating, /area/surface/station/hallway/primary/bmt/west) "DB" = ( -/obj/item/device/radio/beacon, +/obj/item/radio/beacon, /obj/effect/floor_decal/rust, /turf/simulated/floor/tiled/steel/sif/planetuse{ icon_state = "asteroidfloor"; @@ -13148,7 +13148,7 @@ "DO" = ( /obj/structure/table/rack, /obj/random/toolbox, -/obj/item/device/analyzer, +/obj/item/analyzer, /obj/random/tech_supply, /obj/random/cigarettes, /obj/random/tool, @@ -13182,20 +13182,20 @@ /area/surface/station/storage/tech) "DS" = ( /obj/structure/table/rack, -/obj/item/weapon/circuitboard/cloning{ +/obj/item/circuitboard/cloning{ pixel_x = -3; pixel_y = 2 }, -/obj/item/weapon/circuitboard/clonescanner, -/obj/item/weapon/circuitboard/clonepod{ +/obj/item/circuitboard/clonescanner, +/obj/item/circuitboard/clonepod{ pixel_x = 3; pixel_y = -2 }, -/obj/item/weapon/circuitboard/scan_consolenew{ +/obj/item/circuitboard/scan_consolenew{ pixel_x = 6; pixel_y = -4 }, -/obj/item/weapon/circuitboard/med_data{ +/obj/item/circuitboard/med_data{ pixel_x = 9; pixel_y = -6 }, @@ -13266,7 +13266,7 @@ /obj/effect/floor_decal/corner/paleblue/border{ dir = 4 }, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 8; pixel_x = 21 }, @@ -13468,7 +13468,7 @@ /obj/random/tech_supply, /obj/random/maintenance/engineering, /obj/random/maintenance/engineering, -/obj/item/weapon/storage/briefcase/inflatable, +/obj/item/storage/briefcase/inflatable, /turf/simulated/floor/plating, /area/surface/station/engineering/auxiliary_engineering) "EC" = ( @@ -13654,7 +13654,7 @@ }, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/green/border, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /obj/machinery/camera/network/basement{ @@ -13681,11 +13681,11 @@ /obj/random/tech_supply, /obj/random/tech_supply, /obj/random/technology_scanner, -/obj/item/device/integrated_circuit_printer, +/obj/item/integrated_circuit_printer, /turf/simulated/floor/plating, /area/surface/station/maintenance/research/south) "Fc" = ( -/obj/item/weapon/storage/box/lights/tubes, +/obj/item/storage/box/lights/tubes, /turf/simulated/floor/plating, /area/surface/station/construction/genetics) "Fd" = ( @@ -14076,7 +14076,7 @@ "Gf" = ( /obj/structure/closet/crate/science, /obj/item/frame/apc, -/obj/item/weapon/module/power_control, +/obj/item/module/power_control, /turf/simulated/floor/plating, /area/surface/station/construction/genetics) "Gg" = ( @@ -14383,7 +14383,7 @@ /area/surface/station/maintenance/eaststairwell) "GL" = ( /obj/structure/table/steel, -/obj/item/device/integrated_circuit_printer, +/obj/item/integrated_circuit_printer, /turf/simulated/floor/plating, /area/surface/station/storage/tech) "GM" = ( @@ -15187,7 +15187,7 @@ /area/surface/station/mining_main/locker) "IR" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/box/cdeathalarm_kit, +/obj/item/storage/box/cdeathalarm_kit, /obj/item/bodybag/cryobag{ pixel_x = 2; pixel_y = 2 @@ -15269,7 +15269,7 @@ pixel_y = -24 }, /obj/structure/table/steel, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /obj/random/maintenance/engineering, /obj/random/maintenance/cargo, /obj/random/maintenance/clean, @@ -15339,24 +15339,24 @@ dir = 8 }, /obj/structure/closet/crate, -/obj/item/device/flashlight/color/red, -/obj/item/device/flashlight/color/red, -/obj/item/device/radio{ +/obj/item/flashlight/color/red, +/obj/item/flashlight/color/red, +/obj/item/radio{ frequency = 1485; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link"; pixel_y = 4 }, -/obj/item/device/radio{ +/obj/item/radio{ frequency = 1485; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link"; pixel_y = 4 }, -/obj/item/weapon/tool/crowbar/red, -/obj/item/weapon/tool/crowbar/red, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/tool/crowbar/red, +/obj/item/tool/crowbar/red, +/obj/item/storage/box/lights/mixed, +/obj/item/radio/intercom/department/medbay{ dir = 8; pixel_x = 21 }, @@ -15370,11 +15370,11 @@ /area/surface/station/construction/genetics) "Jo" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/toolbox/electrical{ +/obj/item/storage/toolbox/electrical{ pixel_x = 4; pixel_y = 4 }, -/obj/item/device/multitool, +/obj/item/multitool, /obj/item/clothing/glasses/meson, /turf/simulated/floor/plating, /area/surface/station/storage/tech) @@ -15396,7 +15396,7 @@ dir = 8 }, /obj/effect/floor_decal/rust, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, @@ -15559,8 +15559,8 @@ /obj/structure/window/reinforced{ dir = 8 }, -/obj/item/weapon/storage/box/syringegun, -/obj/item/weapon/gun/launcher/syringe, +/obj/item/storage/box/syringegun, +/obj/item/gun/launcher/syringe, /turf/simulated/floor/tiled/dark, /area/surface/station/medical/storage/second_storage) "JK" = ( @@ -15576,14 +15576,14 @@ "JM" = ( /obj/structure/table/rack, /obj/effect/floor_decal/techfloor, -/obj/item/weapon/circuitboard/crew{ +/obj/item/circuitboard/crew{ pixel_x = -8; pixel_y = 3 }, -/obj/item/weapon/circuitboard/card{ +/obj/item/circuitboard/card{ pixel_x = -4 }, -/obj/item/weapon/circuitboard/communications{ +/obj/item/circuitboard/communications{ pixel_y = -3 }, /obj/machinery/light/small, @@ -15749,10 +15749,10 @@ "Kg" = ( /obj/machinery/atmospherics/pipe/simple/hidden/yellow, /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin, -/obj/item/weapon/folder/white, -/obj/item/weapon/pen, -/obj/item/device/camera, +/obj/item/paper_bin, +/obj/item/folder/white, +/obj/item/pen, +/obj/item/camera, /turf/simulated/floor/tiled/white, /area/surface/outpost/research/xenoarcheology/anomaly) "Kh" = ( @@ -15842,12 +15842,12 @@ /turf/simulated/floor/tiled/dark, /area/surface/station/mining_main/locker) "Kt" = ( -/obj/item/device/gps/mining{ +/obj/item/gps/mining{ pixel_x = 2; pixel_y = 2 }, -/obj/item/device/gps/mining, -/obj/item/device/gps/mining{ +/obj/item/gps/mining, +/obj/item/gps/mining{ pixel_x = -2; pixel_y = -2 }, @@ -15883,17 +15883,17 @@ /area/surface/station/engineering/drone_fabrication) "Ky" = ( /obj/structure/table/rack, -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/matter_bin{ +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/matter_bin{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/stock_parts/matter_bin, -/obj/item/weapon/stock_parts/capacitor{ +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/capacitor{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/stock_parts/capacitor, +/obj/item/stock_parts/capacitor, /obj/machinery/light/small{ dir = 8 }, @@ -16129,7 +16129,7 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/item/weapon/ore/lead{ +/obj/item/ore/lead{ pixel_x = 7; pixel_y = 2 }, @@ -16179,7 +16179,7 @@ /turf/simulated/floor/tiled/techfloor/grid, /area/surface/station/rnd/mixing) "Lf" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /obj/effect/floor_decal/industrial/warning/corner, @@ -16516,8 +16516,8 @@ }, /obj/structure/table/steel_reinforced, /obj/machinery/cell_charger, -/obj/item/weapon/cell/high, -/obj/item/weapon/cell/high{ +/obj/item/cell/high, +/obj/item/cell/high{ pixel_y = -4 }, /turf/simulated/floor/tiled/steel/sif/planetuse{ @@ -16804,7 +16804,7 @@ }, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/paleblue/border, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /turf/simulated/floor/tiled, @@ -16941,9 +16941,9 @@ dir = 4 }, /obj/machinery/recharger, -/obj/item/device/camera_film, -/obj/item/device/camera, -/obj/item/weapon/tape_roll, +/obj/item/camera_film, +/obj/item/camera, +/obj/item/tape_roll, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 }, @@ -17002,7 +17002,7 @@ /obj/item/clothing/shoes/boots/winter/mining, /obj/item/clothing/suit/storage/hooded/wintercoat/miner, /obj/item/clothing/head/hardhat/orange, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, @@ -17010,32 +17010,32 @@ /area/surface/station/mining_main/locker) "MY" = ( /obj/structure/closet/crate, -/obj/item/weapon/coin/gold{ +/obj/item/coin/gold{ pixel_x = -6; pixel_y = -4 }, -/obj/item/weapon/coin/gold{ +/obj/item/coin/gold{ pixel_x = -4; pixel_y = -3 }, -/obj/item/weapon/coin/gold{ +/obj/item/coin/gold{ pixel_x = -2; pixel_y = -4 }, -/obj/item/weapon/coin/gold{ +/obj/item/coin/gold{ pixel_y = -3 }, -/obj/item/weapon/coin/gold{ +/obj/item/coin/gold{ pixel_x = 3; pixel_y = -4 }, -/obj/item/weapon/coin/gold{ +/obj/item/coin/gold{ pixel_x = 4 }, -/obj/item/weapon/coin/gold{ +/obj/item/coin/gold{ pixel_x = -4 }, -/obj/item/weapon/coin/gold, +/obj/item/coin/gold, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/dark, /area/surface/station/vault) @@ -17241,11 +17241,11 @@ /area/surface/station/maintenance/incinerator) "NB" = ( /obj/structure/closet/crate/nanotrasen, -/obj/item/weapon/weldpack, +/obj/item/weldpack, /obj/item/stack/nanopaste, /obj/item/stack/nanopaste, /obj/item/stack/nanopaste, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /obj/effect/floor_decal/borderfloorwhite/corner, /obj/machinery/alarm{ dir = 1; @@ -17304,8 +17304,8 @@ /area/surface/station/maintenance/incinerator) "NI" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/glasses/square, -/obj/item/weapon/hand_labeler, +/obj/item/storage/box/glasses/square, +/obj/item/hand_labeler, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 }, @@ -17406,7 +17406,7 @@ dir = 4 }, /obj/structure/table/steel, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/floor/tiled/old_tile/white, /area/surface/station/rnd/mixing) "NR" = ( @@ -17445,7 +17445,7 @@ /obj/effect/floor_decal/corner/brown/bordercorner{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, @@ -17498,7 +17498,7 @@ /obj/effect/floor_decal/corner/brown/border{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, @@ -18014,12 +18014,12 @@ pixel_y = 12 }, /obj/structure/table/steel, -/obj/item/weapon/mining_scanner{ +/obj/item/mining_scanner{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/mining_scanner, -/obj/item/weapon/mining_scanner{ +/obj/item/mining_scanner, +/obj/item/mining_scanner{ pixel_x = -3; pixel_y = -3 }, @@ -18108,8 +18108,8 @@ "Pi" = ( /obj/structure/table/steel, /obj/machinery/cell_charger, -/obj/item/device/multitool, -/obj/item/weapon/cell/high, +/obj/item/multitool, +/obj/item/cell/high, /obj/item/stack/cable_coil{ pixel_x = 2; pixel_y = 2 @@ -18456,8 +18456,8 @@ }, /obj/item/roller, /obj/item/bodybag/cryobag, -/obj/item/weapon/storage/firstaid, -/obj/item/weapon/storage/pill_bottle/spaceacillin, +/obj/item/storage/firstaid, +/obj/item/storage/pill_bottle/spaceacillin, /turf/simulated/floor/tiled/white, /area/surface/outpost/research/xenoarcheology) "PT" = ( @@ -18531,7 +18531,7 @@ /area/surface/outpost/research/xenoarcheology/entrance) "Qa" = ( /obj/structure/closet/l3closet/medical, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, @@ -18554,19 +18554,19 @@ /area/surface/station/hallway/primary/bmt/east) "Qc" = ( /obj/structure/table/rack, -/obj/item/weapon/circuitboard/powermonitor{ +/obj/item/circuitboard/powermonitor{ pixel_x = -3; pixel_y = 2 }, -/obj/item/weapon/circuitboard/stationalert_engineering{ +/obj/item/circuitboard/stationalert_engineering{ pixel_x = -1; pixel_y = -1 }, -/obj/item/weapon/circuitboard/security/engineering{ +/obj/item/circuitboard/security/engineering{ pixel_x = 2; pixel_y = -2 }, -/obj/item/weapon/circuitboard/atmos_alert{ +/obj/item/circuitboard/atmos_alert{ pixel_x = 4; pixel_y = -5 }, @@ -18618,7 +18618,7 @@ /obj/machinery/door/window/northleft{ name = "EVA Suits" }, -/obj/item/weapon/storage/belt/archaeology, +/obj/item/storage/belt/archaeology, /obj/item/clothing/suit/space/anomaly, /obj/item/clothing/head/helmet/space/anomaly, /obj/effect/floor_decal/spline/plain{ @@ -18847,7 +18847,7 @@ /obj/effect/floor_decal/corner/paleblue/border{ dir = 4 }, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 8; pixel_x = 21 }, @@ -19186,7 +19186,7 @@ /obj/effect/floor_decal/corner/purple/border{ dir = 9 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, @@ -19539,11 +19539,11 @@ dir = 8 }, /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/glass/beaker/sulphuric{ +/obj/item/reagent_containers/glass/beaker/sulphuric{ pixel_x = 2; pixel_y = 6 }, -/obj/item/weapon/reagent_containers/glass/bottle/toxin, +/obj/item/reagent_containers/glass/bottle/toxin, /obj/machinery/light{ dir = 1 }, @@ -19593,7 +19593,7 @@ }, /obj/effect/floor_decal/borderfloorwhite/corner, /obj/effect/floor_decal/corner/purple/bordercorner, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, @@ -19981,7 +19981,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled/white, /area/surface/outpost/research/xenoarcheology/analysis) "Tt" = ( @@ -20018,8 +20018,8 @@ icon_state = "1-2" }, /obj/structure/table/standard, -/obj/item/weapon/storage/box/gloves, -/obj/item/weapon/storage/box/monkeycubes, +/obj/item/storage/box/gloves, +/obj/item/storage/box/monkeycubes, /obj/structure/cable/cyan{ icon_state = "2-8" }, @@ -20258,34 +20258,34 @@ /obj/structure/closet/crate{ dir = 8 }, -/obj/item/weapon/coin/silver{ +/obj/item/coin/silver{ pixel_x = -6; pixel_y = -4 }, -/obj/item/weapon/coin/silver{ +/obj/item/coin/silver{ pixel_x = -4; pixel_y = -3 }, -/obj/item/weapon/coin/silver{ +/obj/item/coin/silver{ pixel_x = -2; pixel_y = -4 }, -/obj/item/weapon/coin/silver{ +/obj/item/coin/silver{ pixel_y = -3 }, -/obj/item/weapon/coin/silver{ +/obj/item/coin/silver{ pixel_x = 2; pixel_y = -4 }, -/obj/item/weapon/coin/silver{ +/obj/item/coin/silver{ pixel_x = 4; pixel_y = -3 }, -/obj/item/weapon/coin/silver{ +/obj/item/coin/silver{ pixel_x = -2; pixel_y = 2 }, -/obj/item/weapon/coin/silver, +/obj/item/coin/silver, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/dark, /area/surface/station/vault) @@ -20479,7 +20479,7 @@ c_tag = "CIV - Waste Disposal"; dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /turf/simulated/floor/tiled/old_tile/gray, @@ -20587,7 +20587,7 @@ /obj/effect/floor_decal/corner/yellow/border{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, @@ -20637,7 +20637,7 @@ }, /area/surface/station/rnd/toxins_launch) "UU" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, @@ -20779,8 +20779,8 @@ pixel_y = 24 }, /obj/structure/table/steel, -/obj/item/weapon/module/power_control, -/obj/item/weapon/airlock_electronics, +/obj/item/module/power_control, +/obj/item/airlock_electronics, /turf/simulated/floor/plating, /area/surface/station/storage/tech) "Vk" = ( @@ -21093,7 +21093,7 @@ /obj/item/stack/tile/floor/white{ amount = 23 }, -/obj/item/weapon/tool/crowbar, +/obj/item/tool/crowbar, /obj/random/tech_supply, /obj/random/tech_supply, /turf/simulated/floor/plating, @@ -21621,17 +21621,17 @@ /area/surface/outpost/research/xenoarcheology/entrance) "Xc" = ( /obj/structure/table/rack, -/obj/item/weapon/pickaxe, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/shovel, +/obj/item/pickaxe, +/obj/item/tool/wrench, +/obj/item/tool/crowbar, +/obj/item/shovel, /obj/effect/floor_decal/borderfloor{ dir = 8 }, /obj/effect/floor_decal/corner/brown/border{ dir = 8 }, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_x = -2; pixel_y = -2 }, @@ -21784,10 +21784,10 @@ /obj/effect/floor_decal/techfloor{ dir = 6 }, -/obj/item/weapon/circuitboard/mecha_control{ +/obj/item/circuitboard/mecha_control{ pixel_x = -4 }, -/obj/item/weapon/circuitboard/robotics{ +/obj/item/circuitboard/robotics{ pixel_y = -3 }, /turf/simulated/floor/tiled/techfloor, @@ -21898,7 +21898,7 @@ /obj/random/maintenance/security, /obj/random/maintenance/clean, /obj/random/toolbox, -/obj/item/weapon/storage/belt/utility, +/obj/item/storage/belt/utility, /turf/simulated/floor/plating, /area/surface/station/maintenance/security) "XP" = ( @@ -21993,7 +21993,7 @@ dir = 4 }, /obj/machinery/hologram/holopad, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /turf/simulated/floor/tiled/neutral, @@ -22059,7 +22059,7 @@ dir = 8 }, /obj/machinery/cell_charger, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /turf/simulated/floor/tiled/techmaint, @@ -22568,10 +22568,10 @@ /area/surface/station/hallway/primary/bmt/west/elevator) "Zu" = ( /obj/structure/table/reinforced, -/obj/item/weapon/flame/lighter/random, -/obj/item/weapon/reagent_containers/dropper, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/weldingtool, +/obj/item/flame/lighter/random, +/obj/item/reagent_containers/dropper, +/obj/item/tool/crowbar, +/obj/item/weldingtool, /obj/structure/cable/cyan{ icon_state = "0-8" }, @@ -22670,7 +22670,7 @@ /obj/machinery/light{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, @@ -22681,7 +22681,7 @@ dir = 1 }, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /obj/machinery/camera/network/research{ @@ -22695,15 +22695,15 @@ dir = 1 }, /obj/structure/table/rack, -/obj/item/weapon/circuitboard/autolathe{ +/obj/item/circuitboard/autolathe{ pixel_x = 6; pixel_y = -6 }, -/obj/item/weapon/circuitboard/autolathe{ +/obj/item/circuitboard/autolathe{ pixel_x = 4; pixel_y = -4 }, -/obj/item/weapon/circuitboard/security/mining, +/obj/item/circuitboard/security/mining, /obj/machinery/camera/network/engineering{ c_tag = "ENG - Technical Storage" }, @@ -22740,7 +22740,7 @@ pixel_y = -12 }, /obj/structure/table/standard, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /obj/effect/floor_decal/steeldecal/steel_decals_central7{ dir = 4 }, @@ -22828,7 +22828,7 @@ /turf/simulated/floor/tiled, /area/surface/station/engineering/hallway/bmt) "ZS" = ( -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /turf/simulated/floor/plating, diff --git a/maps/cynosure/cynosure-2.dmm b/maps/cynosure/cynosure-2.dmm index e7a76e37584..807e9dcf43f 100644 --- a/maps/cynosure/cynosure-2.dmm +++ b/maps/cynosure/cynosure-2.dmm @@ -35,14 +35,14 @@ pixel_y = 30 }, /obj/structure/table/woodentable, -/obj/item/weapon/storage/photo_album{ +/obj/item/storage/photo_album{ pixel_x = -3; pixel_y = -3 }, -/obj/item/weapon/storage/photo_album, -/obj/item/device/camera_film, -/obj/item/device/camera_film, -/obj/item/device/camera{ +/obj/item/storage/photo_album, +/obj/item/camera_film, +/obj/item/camera_film, +/obj/item/camera{ desc = "A polaroid camera. 30 photos left."; name = "detectives camera"; pictures_left = 30; @@ -50,7 +50,7 @@ pixel_x = 4; pixel_y = -4 }, -/obj/item/device/camera{ +/obj/item/camera{ desc = "A polaroid camera. 30 photos left."; name = "detectives camera"; pictures_left = 30; @@ -80,7 +80,7 @@ /area/surface/station/maintenance/east/gnd) "acC" = ( /obj/effect/floor_decal/spline/plain, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, @@ -439,7 +439,7 @@ /area/surface/station/engineering/workshop) "apM" = ( /obj/structure/table/standard, -/obj/item/device/assembly/igniter, +/obj/item/assembly/igniter, /turf/simulated/floor/reinforced, /area/surface/station/rnd/misc_lab) "apV" = ( @@ -514,7 +514,7 @@ /turf/simulated/wall, /area/surface/station/maintenance/solars/northeast) "asW" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /obj/effect/floor_decal/borderfloor/corner{ @@ -608,13 +608,13 @@ /area/surface/station/hallway/primary/groundfloor/north) "auU" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/fire, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/fire, +/obj/item/storage/firstaid/regular{ pixel_x = 2; pixel_y = 3 }, -/obj/item/weapon/extinguisher, -/obj/item/weapon/tool/crowbar, +/obj/item/extinguisher, +/obj/item/tool/crowbar, /obj/random/medical/lite, /obj/machinery/light, /turf/simulated/shuttle/floor/white, @@ -674,18 +674,18 @@ /obj/effect/floor_decal/spline/plain{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, -/obj/item/weapon/paper_bin, -/obj/item/weapon/folder/red, -/obj/item/weapon/folder/blue{ +/obj/item/paper_bin, +/obj/item/folder/red, +/obj/item/folder/blue{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/pen, -/obj/item/weapon/pen/multi{ +/obj/item/pen, +/obj/item/pen/multi{ pixel_x = 2; pixel_y = 2 }, @@ -709,31 +709,31 @@ /obj/effect/floor_decal/steeldecal/steel_decals_central7{ dir = 1 }, -/obj/item/weapon/towel/random{ +/obj/item/towel/random{ pixel_x = -3; pixel_y = -4 }, -/obj/item/weapon/towel/random{ +/obj/item/towel/random{ pixel_x = -1; pixel_y = -2 }, -/obj/item/weapon/towel/random{ +/obj/item/towel/random{ pixel_x = -1 }, -/obj/item/weapon/towel/random{ +/obj/item/towel/random{ pixel_x = 1; pixel_y = 2 }, -/obj/item/weapon/towel/random{ +/obj/item/towel/random{ pixel_x = 3; pixel_y = 4 }, -/obj/item/weapon/towel/random{ +/obj/item/towel/random{ pixel_x = 5; pixel_y = 6 }, -/obj/item/weapon/soap/nanotrasen, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, +/obj/item/soap/nanotrasen, /turf/simulated/floor/tiled/white, /area/surface/station/crew_quarters/locker) "awS" = ( @@ -803,7 +803,7 @@ "ayn" = ( /obj/structure/closet/secure_closet/explorer, /obj/structure/window/reinforced, -/obj/item/weapon/pickaxe, +/obj/item/pickaxe, /obj/effect/floor_decal/spline/plain{ dir = 1 }, @@ -854,17 +854,10 @@ /turf/simulated/floor/tiled/dark, /area/surface/station/hallway/secondary/groundfloor/civilian) "azs" = ( -<<<<<<< HEAD -/obj/structure/flora/ausbushes/sparsegrass, -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/brflowers, -/turf/simulated/floor/grass, -======= /obj/structure/extinguisher_cabinet{ pixel_y = -30 }, /turf/simulated/floor/fakesnow, ->>>>>>> d94406daccd... Merge pull request #8859 from Spookerton/greenjoe12345/xmas2022 /area/surface/station/park) "aBf" = ( /obj/effect/floor_decal/spline/plain{ @@ -1070,7 +1063,7 @@ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, @@ -1126,8 +1119,8 @@ pixel_x = -24; pixel_y = 12 }, -/obj/item/weapon/melee/umbrella/random, -/obj/item/weapon/melee/umbrella/random, +/obj/item/melee/umbrella/random, +/obj/item/melee/umbrella/random, /turf/simulated/floor/tiled, /area/surface/station/arrivals/cynosure) "aGP" = ( @@ -1230,7 +1223,7 @@ /obj/random/tech_supply, /obj/random/tech_supply, /obj/random/tech_supply, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /obj/machinery/newscaster{ @@ -1276,7 +1269,7 @@ /area/surface/station/medical/etc) "aIC" = ( /obj/structure/table/standard, -/obj/item/weapon/folder/red{ +/obj/item/folder/red{ pixel_x = 2; pixel_y = 2 }, @@ -1332,23 +1325,23 @@ dir = 1 }, /obj/structure/table/glass, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#B19CD9"; name = "light purple"; pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#B19CD9"; name = "light purple"; pixel_x = -1 }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#B19CD9"; name = "light purple"; pixel_y = 2 }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#B19CD9"; name = "light purple"; pixel_x = 1; @@ -1364,7 +1357,7 @@ /area/surface/station/rnd/research_restroom) "aKd" = ( /obj/effect/floor_decal/corner/white/diagonal, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled/freezer, /area/surface/station/crew_quarters/pool) "aKx" = ( @@ -1374,7 +1367,7 @@ /obj/effect/floor_decal/corner/purple/border{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, @@ -1446,7 +1439,7 @@ "aNe" = ( /obj/effect/floor_decal/corner/white/diagonal, /obj/structure/table/glass, -/obj/item/weapon/inflatable_duck, +/obj/item/inflatable_duck, /turf/simulated/floor/tiled/freezer, /area/surface/station/crew_quarters/pool) "aNh" = ( @@ -1682,7 +1675,7 @@ /turf/simulated/floor/tiled/hydro, /area/surface/station/park) "aTC" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, @@ -1845,7 +1838,7 @@ "aWA" = ( /obj/machinery/recharge_station, /obj/structure/window/reinforced, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, @@ -2082,31 +2075,31 @@ dir = 4 }, /obj/structure/table/steel, -/obj/item/weapon/wrapping_paper{ +/obj/item/wrapping_paper{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/wrapping_paper, -/obj/item/weapon/wrapping_paper{ +/obj/item/wrapping_paper, +/obj/item/wrapping_paper{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/packageWrap{ +/obj/item/packageWrap{ pixel_x = -2; pixel_y = -4 }, -/obj/item/weapon/packageWrap{ +/obj/item/packageWrap{ pixel_y = -2 }, -/obj/item/weapon/packageWrap{ +/obj/item/packageWrap{ pixel_x = 2 }, -/obj/item/device/destTagger, +/obj/item/destTagger, /turf/simulated/floor/tiled, /area/surface/station/quartermaster/delivery) "bbj" = ( /obj/machinery/portable_atmospherics/canister/empty, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, @@ -2330,7 +2323,7 @@ /turf/simulated/floor/tiled, /area/surface/station/engineering/hallway) "bgH" = ( -/obj/item/weapon/bikehorn/rubberducky, +/obj/item/bikehorn/rubberducky, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 }, @@ -2456,7 +2449,7 @@ /obj/structure/closet/crate/engineering{ dir = 2 }, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /obj/item/stack/material/phoron{ amount = 25 }, @@ -2506,10 +2499,10 @@ /obj/item/clothing/suit/storage/hooded/wintercoat, /obj/item/clothing/suit/storage/hooded/wintercoat, /obj/item/clothing/suit/storage/hooded/wintercoat, -/obj/item/weapon/melee/umbrella/random{ +/obj/item/melee/umbrella/random{ pixel_y = -4 }, -/obj/item/weapon/melee/umbrella/random, +/obj/item/melee/umbrella/random, /turf/simulated/floor/tiled, /area/surface/station/arrivals/cynosure) "bkP" = ( @@ -2657,10 +2650,10 @@ /obj/effect/floor_decal/corner/paleblue/border{ dir = 8 }, -/obj/item/weapon/cane/crutch{ +/obj/item/cane/crutch{ pixel_y = -4 }, -/obj/item/weapon/cane/crutch, +/obj/item/cane/crutch, /turf/simulated/floor/tiled/white, /area/surface/station/medical/storage/primary_storage) "bnR" = ( @@ -2875,16 +2868,16 @@ /area/surface/station/hallway/primary/groundfloor/east) "bsr" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/firstaid/o2, +/obj/item/storage/firstaid/o2, /obj/machinery/alarm{ dir = 8; pixel_x = 22 }, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ pixel_y = 21 }, /obj/effect/floor_decal/borderfloorwhite{ @@ -2927,8 +2920,8 @@ /obj/effect/floor_decal/industrial/warning{ dir = 8 }, -/obj/item/weapon/storage/toolbox/mechanical, -/obj/item/weapon/storage/belt/utility/full, +/obj/item/storage/toolbox/mechanical, +/obj/item/storage/belt/utility/full, /turf/simulated/floor/tiled/techmaint, /area/surface/station/rnd/exploration) "bsN" = ( @@ -2961,14 +2954,14 @@ /area/surface/station/crew_quarters/cafeteria) "btA" = ( /obj/effect/floor_decal/corner/white/diagonal, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, /obj/machinery/camera/network/civilian{ c_tag = "CIV - Pool North" }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, /turf/simulated/floor/tiled/freezer, @@ -2994,11 +2987,11 @@ /obj/structure/table/rack{ layer = 2.6 }, -/obj/item/device/suit_cooling_unit{ +/obj/item/suit_cooling_unit{ pixel_x = 2; pixel_y = 2 }, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, /turf/simulated/floor/tiled/techmaint, /area/surface/station/rnd/exploration) "bvw" = ( @@ -3071,7 +3064,7 @@ /turf/simulated/floor/tiled/freezer, /area/surface/station/crew_quarters/pool) "bxu" = ( -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 8; pixel_x = 21 }, @@ -3294,7 +3287,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /turf/simulated/floor/tiled/freezer, @@ -3407,7 +3400,7 @@ /area/surface/station/engineering/hallway/reactor) "bEM" = ( /obj/structure/reagent_dispensers/watertank/high, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /obj/machinery/alarm{ dir = 1; pixel_y = -22 @@ -3629,7 +3622,7 @@ /obj/effect/floor_decal/corner/paleblue/bordercorner{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, @@ -3720,7 +3713,7 @@ pixel_x = -2; pixel_y = 2 }, -/obj/item/weapon/tool/screwdriver, +/obj/item/tool/screwdriver, /turf/simulated/floor/tiled/techmaint, /area/surface/station/security/range) "bNg" = ( @@ -3802,7 +3795,7 @@ dir = 9 }, /obj/structure/closet/l3closet/scientist, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /obj/machinery/firealarm{ dir = 8; pixel_x = -24 @@ -3827,7 +3820,7 @@ /obj/effect/floor_decal/corner/pink/border{ dir = 5 }, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, /turf/simulated/floor/tiled/white, /area/surface/station/medical/surgery) "bPS" = ( @@ -3900,10 +3893,10 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/invisible, -/obj/item/weapon/book/codex/lore/news, -/obj/item/device/tvcamera, +/obj/item/paper_bin, +/obj/item/pen/invisible, +/obj/item/book/codex/lore/news, +/obj/item/tvcamera, /obj/machinery/light{ dir = 8 }, @@ -3967,11 +3960,11 @@ /area/surface/station/hallway/primary/groundfloor/east) "bTe" = ( /obj/structure/table/woodentable, -/obj/item/weapon/deck/cah{ +/obj/item/deck/cah{ pixel_x = -3; pixel_y = 3 }, -/obj/item/weapon/deck/cah/black{ +/obj/item/deck/cah/black{ pixel_x = -4; pixel_y = 6 }, @@ -4127,7 +4120,7 @@ /obj/machinery/newscaster{ pixel_y = 26 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, @@ -4141,10 +4134,10 @@ /obj/effect/floor_decal/corner/pink/border{ dir = 5 }, -/obj/item/weapon/folder/red, -/obj/item/weapon/folder/blue, -/obj/item/weapon/folder/yellow, -/obj/item/weapon/storage/box/swabs, +/obj/item/folder/red, +/obj/item/folder/blue, +/obj/item/folder/yellow, +/obj/item/storage/box/swabs, /obj/structure/extinguisher_cabinet{ dir = 1; pixel_y = 30 @@ -4183,19 +4176,19 @@ /area/surface/station/engineering/storage) "bZQ" = ( /obj/structure/closet/crate/nanotrasen, -/obj/item/weapon/camera_assembly{ +/obj/item/camera_assembly{ pixel_x = -7; pixel_y = -6 }, -/obj/item/weapon/camera_assembly{ +/obj/item/camera_assembly{ pixel_x = -3; pixel_y = -4 }, -/obj/item/weapon/camera_assembly{ +/obj/item/camera_assembly{ pixel_x = -3; pixel_y = -2 }, -/obj/item/weapon/camera_assembly, +/obj/item/camera_assembly, /turf/simulated/floor/bluegrid, /area/surface/station/ai/server_room) "bZS" = ( @@ -4376,7 +4369,7 @@ /area/surface/outside/plains/station) "cen" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/cups{ +/obj/item/storage/box/cups{ pixel_x = 4; pixel_y = 4 }, @@ -4434,7 +4427,7 @@ /area/surface/station/medical/ward) "cgM" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/food/drinks/britcup, +/obj/item/reagent_containers/food/drinks/britcup, /turf/simulated/floor/tiled/techmaint, /area/surface/station/medical/hallway/gnd) "cgV" = ( @@ -4527,7 +4520,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/item/weapon/book/codex/corp_regs, +/obj/item/book/codex/corp_regs, /turf/simulated/floor/tiled/monotile, /area/surface/station/security/briefing_room) "cjr" = ( @@ -4661,24 +4654,24 @@ dir = 4; pixel_x = -22 }, -/obj/item/weapon/tool/crowbar{ +/obj/item/tool/crowbar{ pixel_x = 4 }, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/storage/toolbox/mechanical, -/obj/item/device/radio{ +/obj/item/tool/crowbar, +/obj/item/storage/toolbox/mechanical, +/obj/item/radio{ frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link"; pixel_y = 4 }, -/obj/item/device/radio{ +/obj/item/radio{ frequency = 1485; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link"; pixel_y = 4 }, -/obj/item/device/multitool, +/obj/item/multitool, /turf/simulated/floor/tiled/monotile, /area/surface/station/medical/emt_bay) "cnU" = ( @@ -4705,12 +4698,12 @@ name = "explorer crate"; req_access = list(43) }, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/pill_bottle/spaceacillin, +/obj/item/storage/firstaid/regular, +/obj/item/storage/pill_bottle/spaceacillin, /obj/item/bodybag/cryobag, /obj/item/bodybag/cryobag{ pixel_x = -3; @@ -4852,9 +4845,9 @@ dir = 4 }, /obj/structure/closet/crate, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/tool/crowbar/red, -/obj/item/device/suit_cooling_unit, +/obj/item/tool/wrench, +/obj/item/tool/crowbar/red, +/obj/item/suit_cooling_unit, /obj/machinery/light{ dir = 4 }, @@ -5258,7 +5251,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/item/device/radio/beacon, +/obj/item/radio/beacon, /turf/simulated/floor/tiled/monotile, /area/surface/station/park) "cHm" = ( @@ -5485,7 +5478,7 @@ dir = 4 }, /obj/structure/table/standard, -/obj/item/device/taperecorder, +/obj/item/taperecorder, /turf/simulated/floor/tiled, /area/surface/station/security/interrogation) "cLu" = ( @@ -5549,8 +5542,8 @@ /area/surface/outside/plains/station) "cNb" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/tape_roll, +/obj/item/storage/firstaid/regular, +/obj/item/tape_roll, /obj/effect/floor_decal/borderfloor{ dir = 6 }, @@ -5647,7 +5640,7 @@ /area/surface/station/quartermaster/lockerroom) "cOp" = ( /obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, @@ -5708,13 +5701,6 @@ /obj/effect/floor_decal/spline/plain{ icon_state = "spline_plain_full" }, -<<<<<<< HEAD -/obj/item/weapon/bikehorn/rubberducky{ - pixel_x = 6; - pixel_y = -6 - }, -======= ->>>>>>> d94406daccd... Merge pull request #8859 from Spookerton/greenjoe12345/xmas2022 /obj/machinery/camera/network/ground_floor{ c_tag = "Ground Floor - Park Center"; dir = 1; @@ -5867,7 +5853,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, @@ -6005,28 +5991,28 @@ dir = 9 }, /obj/structure/closet/crate, -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = -6; pixel_y = -6 }, -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = -4; pixel_y = -4 }, -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/storage/backpack/parachute, -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute, +/obj/item/storage/backpack/parachute{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = 4; pixel_y = 4 }, -/obj/item/device/spaceflare, +/obj/item/spaceflare, /turf/simulated/floor/tiled/neutral, /area/surface/station/rnd/exploration) "cVy" = ( @@ -6118,7 +6104,7 @@ /turf/simulated/floor/tiled/white, /area/surface/station/medical/ward) "cXj" = ( -/obj/item/device/holowarrant, +/obj/item/holowarrant, /obj/effect/floor_decal/borderfloor{ dir = 10 }, @@ -6651,9 +6637,9 @@ /obj/machinery/recharger/wallcharger{ pixel_y = -28 }, -/obj/item/device/tape/random, -/obj/item/device/taperecorder, -/obj/item/device/megaphone, +/obj/item/tape/random, +/obj/item/taperecorder, +/obj/item/megaphone, /obj/structure/closet/secure_closet/hos/cynosure, /turf/simulated/floor/tiled/dark, /area/surface/station/crew_quarters/heads/hos) @@ -6763,7 +6749,7 @@ dir = 8 }, /obj/effect/floor_decal/borderfloorwhite/corner, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, @@ -6958,8 +6944,8 @@ dir = 1; pixel_y = 30 }, -/obj/item/weapon/storage/box/cups, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/storage/box/cups, +/obj/item/radio/intercom/department/medbay{ dir = 8; pixel_x = 21 }, @@ -7020,11 +7006,11 @@ /obj/effect/floor_decal/corner/green/border{ dir = 1 }, -/obj/item/weapon/reagent_containers/glass/bucket{ +/obj/item/reagent_containers/glass/bucket{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /turf/simulated/floor/tiled/neutral, /area/surface/station/rnd/xenobiology/xenoflora) "dsW" = ( @@ -7210,7 +7196,7 @@ "dwK" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /turf/simulated/floor/tiled, @@ -7277,7 +7263,7 @@ dir = 4 }, /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery, /turf/simulated/floor/tiled/white, /area/surface/station/medical/surgery) "dzm" = ( @@ -7401,7 +7387,7 @@ /turf/simulated/floor/reinforced, /area/surface/station/engineering/atmos) "dDm" = ( -/obj/item/device/holowarrant, +/obj/item/holowarrant, /obj/effect/floor_decal/borderfloor{ dir = 8 }, @@ -7434,11 +7420,11 @@ /obj/effect/floor_decal/corner/paleblue/border{ dir = 6 }, -/obj/item/weapon/paper_bin, -/obj/item/weapon/folder/white, -/obj/item/weapon/folder/white, -/obj/item/weapon/pen, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/paper_bin, +/obj/item/folder/white, +/obj/item/folder/white, +/obj/item/pen, +/obj/item/reagent_containers/spray/cleaner, /turf/simulated/floor/tiled/neutral, /area/surface/station/medical/reception) "dDF" = ( @@ -7680,7 +7666,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 9 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, @@ -7856,7 +7842,7 @@ /obj/effect/floor_decal/borderfloor{ dir = 10 }, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/corner/purple/border{ dir = 10 }, @@ -8157,7 +8143,7 @@ /turf/simulated/wall/r_wall, /area/surface/station/maintenance/substation/cargo/gnd) "dYO" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, @@ -8361,8 +8347,8 @@ pixel_x = -8; pixel_y = -6 }, -/obj/item/weapon/handcuffs, -/obj/item/device/tape/random, +/obj/item/handcuffs, +/obj/item/tape/random, /turf/simulated/floor/carpet, /area/surface/station/security/detectives_office) "een" = ( @@ -8385,8 +8371,8 @@ /obj/effect/catwalk_plated, /obj/structure/table/steel, /obj/machinery/cell_charger, -/obj/item/device/multitool, -/obj/item/weapon/tool/wrench, +/obj/item/multitool, +/obj/item/tool/wrench, /turf/simulated/floor/plating, /area/surface/station/engineering/atmos) "eez" = ( @@ -8537,12 +8523,12 @@ /area/surface/station/engineering/reactor_room) "ehV" = ( /obj/structure/table/wooden_reinforced, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /obj/structure/window/reinforced/polarized{ dir = 8; id = "deteast" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /turf/simulated/floor/carpet, @@ -8578,9 +8564,9 @@ /obj/effect/floor_decal/corner/pink/border{ dir = 4 }, -/obj/item/device/mass_spectrometer/adv, -/obj/item/device/reagent_scanner, -/obj/item/weapon/reagent_containers/syringe, +/obj/item/mass_spectrometer/adv, +/obj/item/reagent_scanner, +/obj/item/reagent_containers/syringe, /obj/machinery/requests_console{ department = "Security"; departmentType = 5; @@ -8612,7 +8598,7 @@ /area/surface/station/hallway/primary/groundfloor/south) "ekq" = ( /obj/structure/table/wooden_reinforced, -/obj/item/device/taperecorder, +/obj/item/taperecorder, /turf/simulated/floor/carpet, /area/surface/station/security/detectives_office) "ekF" = ( @@ -8697,11 +8683,11 @@ pixel_x = 1; pixel_y = 36 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 4; pixel_x = -21 }, @@ -8709,11 +8695,11 @@ /turf/simulated/floor/tiled/white, /area/surface/station/medical/surgery) "emg" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /obj/structure/table/wooden_reinforced, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /obj/structure/window/reinforced/polarized{ dir = 4; id = "detwest" @@ -8741,7 +8727,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /turf/simulated/floor/tiled, @@ -8779,8 +8765,8 @@ dir = 4 }, /obj/structure/mopbucket, -/obj/item/weapon/mop, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/mop, +/obj/item/reagent_containers/glass/bucket, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, @@ -8829,7 +8815,7 @@ /obj/effect/floor_decal/corner/green/border{ dir = 4 }, -/obj/item/weapon/stool/barstool/padded{ +/obj/item/stool/barstool/padded{ dir = 4 }, /turf/simulated/floor/tiled, @@ -8839,16 +8825,16 @@ /obj/effect/floor_decal/steeldecal/steel_decals_central5{ dir = 4 }, -/obj/item/device/tape/random, -/obj/item/device/taperecorder, +/obj/item/tape/random, +/obj/item/taperecorder, /turf/simulated/floor/tiled, /area/surface/station/security/processing) "epn" = ( /obj/structure/bookcase{ name = "bookcase (Reference)" }, -/obj/item/weapon/book/codex/lore/robutt, -/obj/item/weapon/book/codex/corp_regs, +/obj/item/book/codex/lore/robutt, +/obj/item/book/codex/corp_regs, /turf/simulated/floor/wood, /area/surface/station/library) "epo" = ( @@ -8856,11 +8842,11 @@ dir = 9 }, /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/condiment/small/sugar, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/sugar, +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = 2 }, -/obj/item/weapon/reagent_containers/food/condiment/small/peppershaker{ +/obj/item/reagent_containers/food/condiment/small/peppershaker{ pixel_x = -4 }, /obj/item/toy/xmastree{ @@ -9636,14 +9622,14 @@ /obj/structure/cable/green{ icon_state = "0-2" }, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ pixel_y = 21 }, /obj/effect/floor_decal/steeldecal/steel_decals_central7{ dir = 1 }, -/obj/item/weapon/storage/laundry_basket, -/obj/item/weapon/storage/box/bodybags, +/obj/item/storage/laundry_basket, +/obj/item/storage/box/bodybags, /turf/simulated/floor/tiled/neutral, /area/surface/station/medical/cloning) "eEB" = ( @@ -9710,14 +9696,14 @@ /area/surface/station/arrivals/cynosure) "eGS" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, -/obj/item/weapon/pen/blue{ +/obj/item/paper_bin, +/obj/item/pen, +/obj/item/pen/blue{ pixel_x = -3; pixel_y = -3 }, -/obj/item/weapon/storage/fancy/markers, -/obj/item/device/radio/intercom{ +/obj/item/storage/fancy/markers, +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, @@ -9822,7 +9808,7 @@ name = "Powernet Sensor - Engine Output"; name_tag = "Engine Output" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /obj/effect/floor_decal/industrial/warning{ @@ -9863,10 +9849,10 @@ /area/surface/station/maintenance/kitchen) "eKb" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/kitchen/utensil/fork{ +/obj/item/material/kitchen/utensil/fork{ pixel_x = -2 }, -/obj/item/weapon/material/kitchen/utensil/spoon{ +/obj/item/material/kitchen/utensil/spoon{ pixel_x = 2 }, /turf/simulated/floor/wood, @@ -10062,7 +10048,7 @@ dir = 1 }, /obj/effect/decal/cleanable/dirt, -/obj/item/weapon/reagent_containers/glass/bucket{ +/obj/item/reagent_containers/glass/bucket{ pixel_x = 2; pixel_y = 2 }, @@ -10183,10 +10169,10 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/item/weapon/reagent_containers/food/snacks/mint, -/obj/item/weapon/packageWrap, -/obj/item/weapon/reagent_containers/dropper, -/obj/item/weapon/deskbell, +/obj/item/reagent_containers/food/snacks/mint, +/obj/item/packageWrap, +/obj/item/reagent_containers/dropper, +/obj/item/deskbell, /turf/simulated/floor/tiled/eris/cafe, /area/surface/station/crew_quarters/kitchen) "eSe" = ( @@ -10260,26 +10246,26 @@ /area/surface/outside/path/plains) "eSK" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin, -/obj/item/weapon/clipboard, -/obj/item/weapon/folder/red{ +/obj/item/paper_bin, +/obj/item/clipboard, +/obj/item/folder/red{ pixel_x = -4; pixel_y = -4 }, -/obj/item/weapon/folder{ +/obj/item/folder{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/folder/blue{ +/obj/item/folder/blue{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/pen, -/obj/item/weapon/pen/blue{ +/obj/item/pen, +/obj/item/pen/blue{ pixel_x = -3; pixel_y = -3 }, -/obj/item/weapon/pen/red{ +/obj/item/pen/red{ pixel_x = 3; pixel_y = 3 }, @@ -10363,10 +10349,10 @@ /area/surface/station/maintenance/chapel) "eUP" = ( /obj/structure/table/steel, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/paper_bin, +/obj/item/pen, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner{ pixel_x = 2; pixel_y = 2 }, @@ -10427,7 +10413,7 @@ dir = 4; pixel_x = 12 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /turf/simulated/floor/tiled/old_tile/white, @@ -10441,7 +10427,7 @@ "eWW" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/green/border, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /turf/simulated/floor/tiled, @@ -10456,14 +10442,14 @@ "eXu" = ( /obj/machinery/light, /obj/structure/closet/chefcloset, -/obj/item/device/retail_scanner/civilian, -/obj/item/weapon/soap/nanotrasen, -/obj/item/device/destTagger, -/obj/item/weapon/packageWrap{ +/obj/item/retail_scanner/civilian, +/obj/item/soap/nanotrasen, +/obj/item/destTagger, +/obj/item/packageWrap{ pixel_x = -2; pixel_y = -4 }, -/obj/item/weapon/packageWrap{ +/obj/item/packageWrap{ pixel_y = -2 }, /obj/item/clothing/gloves/sterile/latex{ @@ -10624,7 +10610,7 @@ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/item/device/radio/beacon, +/obj/item/radio/beacon, /turf/simulated/floor/tiled, /area/surface/station/hallway/secondary/groundfloor/civilian) "faC" = ( @@ -10659,7 +10645,7 @@ /turf/simulated/floor/plating, /area/surface/station/engineering/engineering_monitoring) "fbb" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /turf/simulated/floor/wood, @@ -10931,7 +10917,7 @@ dir = 1 }, /obj/machinery/power/emitter, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, @@ -11004,7 +10990,7 @@ /area/surface/station/rnd/misc_lab) "fjg" = ( /obj/structure/table/standard, -/obj/item/weapon/folder/red{ +/obj/item/folder/red{ pixel_x = -2; pixel_y = -2 }, @@ -11119,11 +11105,11 @@ /obj/effect/floor_decal/corner/pink/border{ dir = 4 }, -/obj/item/weapon/storage/briefcase/crimekit{ +/obj/item/storage/briefcase/crimekit{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/briefcase/crimekit, +/obj/item/storage/briefcase/crimekit, /turf/simulated/floor/tiled/white, /area/surface/station/security/detectives_office/lab) "fmd" = ( @@ -11189,7 +11175,7 @@ /obj/structure/cable/green{ icon_state = "1-2" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, @@ -11208,10 +11194,10 @@ pixel_y = -3; req_one_access = list(2,4) }, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_y = 6 }, -/obj/item/device/radio/off, +/obj/item/radio/off, /turf/simulated/floor/tiled/dark, /area/surface/station/crew_quarters/heads/hos) "fnE" = ( @@ -11600,7 +11586,7 @@ icon_state = "1-2" }, /obj/structure/closet/l3closet/scientist, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /obj/machinery/camera/network/research{ c_tag = "SCI - Xenobiology Access" }, @@ -11617,11 +11603,11 @@ dir = 4 }, /obj/structure/table/standard, -/obj/item/device/tape/random, -/obj/item/device/taperecorder, -/obj/item/device/megaphone, -/obj/item/weapon/packageWrap, -/obj/item/weapon/storage/box, +/obj/item/tape/random, +/obj/item/taperecorder, +/obj/item/megaphone, +/obj/item/packageWrap, +/obj/item/storage/box, /obj/machinery/recharger/wallcharger{ pixel_x = 32 }, @@ -11799,7 +11785,7 @@ /obj/machinery/atmospherics/portables_connector, /obj/machinery/portable_atmospherics/canister/oxygen, /obj/effect/floor_decal/industrial/hatch/yellow, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, @@ -11929,7 +11915,7 @@ "fFD" = ( /obj/structure/table/woodentable, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/item/weapon/book/codex/lore/vir, +/obj/item/book/codex/lore/vir, /turf/simulated/floor/wood, /area/surface/station/crew_quarters/cafeteria) "fGe" = ( @@ -12024,7 +12010,7 @@ /turf/simulated/floor/carpet, /area/surface/station/crew_quarters/heads/hos) "fIT" = ( -/obj/item/weapon/storage/secure/safe{ +/obj/item/storage/secure/safe{ pixel_x = 5; pixel_y = 26 }, @@ -12140,7 +12126,7 @@ /area/surface/station/ai/cyborg_station) "fLf" = ( /obj/structure/table/standard, -/obj/item/weapon/phone, +/obj/item/phone, /obj/machinery/computer/cryopod/robot{ pixel_x = 32 }, @@ -12198,21 +12184,21 @@ name = "Core Modules"; req_one_access = list(20) }, -/obj/item/weapon/aiModule/asimov{ +/obj/item/aiModule/asimov{ pixel_x = -5; pixel_y = 6 }, -/obj/item/weapon/aiModule/freeformcore{ +/obj/item/aiModule/freeformcore{ pixel_x = -4; pixel_y = 3 }, -/obj/item/weapon/aiModule/corp{ +/obj/item/aiModule/corp{ pixel_x = -2 }, -/obj/item/weapon/aiModule/paladin{ +/obj/item/aiModule/paladin{ pixel_y = -3 }, -/obj/item/weapon/aiModule/robocop{ +/obj/item/aiModule/robocop{ pixel_x = 2; pixel_y = -4 }, @@ -12233,9 +12219,9 @@ name = "O- Blood Locker"; pixel_x = 32 }, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /obj/structure/disposalpipe/segment, /obj/machinery/light{ dir = 4 @@ -12283,8 +12269,8 @@ pixel_x = -23; pixel_y = -11 }, -/obj/item/weapon/nullrod, -/obj/item/weapon/reagent_containers/food/drinks/bottle/holywater, +/obj/item/nullrod, +/obj/item/reagent_containers/food/drinks/bottle/holywater, /turf/simulated/floor/lino, /area/surface/station/chapel/office) "fOW" = ( @@ -12335,7 +12321,7 @@ dir = 10 }, /obj/machinery/atmospherics/pipe/manifold/hidden, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /turf/simulated/floor/tiled/techfloor/grid, @@ -12374,11 +12360,11 @@ /area/surface/station/maintenance/substation/research/gnd) "fRp" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/firstaid/adv, +/obj/item/storage/firstaid/adv, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 }, @@ -12737,7 +12723,7 @@ }, /obj/structure/table/standard, /obj/machinery/recharger, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, /obj/structure/noticeboard{ pixel_x = -32 }, @@ -12772,7 +12758,7 @@ /turf/simulated/floor/tiled/dark, /area/surface/station/hydroponics) "gdb" = ( -/obj/item/device/holowarrant, +/obj/item/holowarrant, /obj/effect/floor_decal/borderfloor{ dir = 8 }, @@ -12780,7 +12766,7 @@ dir = 8 }, /obj/item/clothing/glasses/hud/security, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, @@ -13015,7 +13001,7 @@ /obj/machinery/camera/network/ground_floor{ c_tag = "Ground Floor - Park Northwest" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, @@ -13067,9 +13053,9 @@ /area/surface/outside/plains/station) "gmu" = ( /obj/structure/table/marble, -/obj/item/weapon/storage/box/donkpockets, -/obj/item/weapon/reagent_containers/glass/beaker, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, +/obj/item/storage/box/donkpockets, +/obj/item/reagent_containers/glass/beaker, +/obj/item/reagent_containers/food/condiment/enzyme, /turf/simulated/floor/tiled/eris/cafe, /area/surface/station/crew_quarters/kitchen) "gnA" = ( @@ -13210,8 +13196,8 @@ /area/surface/station/engineering/reactor_room) "gpH" = ( /obj/structure/table/reinforced, -/obj/item/weapon/clipboard, -/obj/item/weapon/stamp/hop, +/obj/item/clipboard, +/obj/item/stamp/hop, /turf/simulated/floor/carpet, /area/surface/station/crew_quarters/heads/hop) "gpJ" = ( @@ -13264,9 +13250,9 @@ /obj/effect/floor_decal/corner/pink/border{ dir = 6 }, -/obj/item/weapon/forensics/sample_kit/powder, -/obj/item/weapon/forensics/sample_kit, -/obj/item/device/radio/intercom/department/security{ +/obj/item/forensics/sample_kit/powder, +/obj/item/forensics/sample_kit, +/obj/item/radio/intercom/department/security{ dir = 8; pixel_x = 21 }, @@ -13346,7 +13332,7 @@ /turf/simulated/floor/tiled, /area/surface/station/engineering/hallway) "gtg" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -13417,17 +13403,12 @@ /area/surface/station/rnd/research_lockerroom) "gvo" = ( /obj/structure/table/woodentable, -<<<<<<< HEAD -/obj/item/weapon/dice/d20, -/obj/item/weapon/deck/cards, -======= /obj/item/dice/d20, /obj/item/deck/cards, /obj/structure/flora/pottedplant/xmas{ pixel_x = 16; pixel_y = 25 }, ->>>>>>> d94406daccd... Merge pull request #8859 from Spookerton/greenjoe12345/xmas2022 /turf/simulated/floor/carpet, /area/surface/station/library) "gvD" = ( @@ -13482,7 +13463,7 @@ /obj/effect/floor_decal/corner/purple/border{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, @@ -13490,7 +13471,7 @@ c_tag = "MED - Cloning"; dir = 6 }, -/obj/item/weapon/stool, +/obj/item/stool, /obj/effect/landmark/start{ name = "Geneticist" }, @@ -13697,20 +13678,20 @@ /obj/effect/floor_decal/corner/paleblue/border{ dir = 8 }, -/obj/item/weapon/reagent_containers/blood/empty{ +/obj/item/reagent_containers/blood/empty{ pixel_x = -6; pixel_y = -6 }, -/obj/item/weapon/reagent_containers/blood/empty{ +/obj/item/reagent_containers/blood/empty{ pixel_x = -4; pixel_y = -4 }, -/obj/item/weapon/reagent_containers/blood/empty{ +/obj/item/reagent_containers/blood/empty{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/reagent_containers/blood/empty, -/obj/item/weapon/reagent_containers/blood/empty{ +/obj/item/reagent_containers/blood/empty, +/obj/item/reagent_containers/blood/empty{ pixel_x = 2; pixel_y = 2 }, @@ -13849,8 +13830,8 @@ /obj/effect/floor_decal/corner/blue/border{ dir = 9 }, -/obj/item/weapon/packageWrap, -/obj/item/weapon/hand_labeler, +/obj/item/packageWrap, +/obj/item/hand_labeler, /obj/structure/extinguisher_cabinet{ dir = 1; pixel_y = 30 @@ -13922,9 +13903,9 @@ /area/surface/station/hallway/primary/groundfloor/south) "gFi" = ( /obj/structure/table/woodentable, -/obj/item/device/taperecorder, -/obj/item/weapon/book/codex/lore/news, -/obj/item/device/tape/random, +/obj/item/taperecorder, +/obj/item/book/codex/lore/news, +/obj/item/tape/random, /turf/simulated/floor/wood, /area/surface/station/library) "gFo" = ( @@ -13951,7 +13932,7 @@ dir = 8 }, /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery, /turf/simulated/floor/tiled/white, /area/surface/station/medical/surgery2) "gFv" = ( @@ -14178,12 +14159,12 @@ /obj/structure/table/reinforced, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/beige/border, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/dropper, /turf/simulated/floor/tiled/white, /area/surface/station/medical/chemistry) "gKW" = ( @@ -14336,7 +14317,7 @@ dir = 4 }, /obj/structure/table/woodentable, -/obj/item/device/paicard, +/obj/item/paicard, /turf/simulated/floor/tiled/hydro, /area/surface/station/park) "gOc" = ( @@ -14590,9 +14571,9 @@ /obj/effect/floor_decal/corner/red/border{ dir = 8 }, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, -/obj/item/device/radio/intercom/department/security{ +/obj/item/paper_bin, +/obj/item/pen, +/obj/item/radio/intercom/department/security{ dir = 4; pixel_x = -21 }, @@ -14873,7 +14854,7 @@ /area/surface/station/hallway/primary/groundfloor/west/elevator) "hbD" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid, +/obj/item/storage/firstaid, /obj/item/glass_jar{ pixel_x = 2; pixel_y = 2 @@ -15376,7 +15357,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/wood, /area/surface/station/crew_quarters/cafeteria) "hrC" = ( @@ -15389,7 +15370,7 @@ "hsF" = ( /obj/effect/floor_decal/corner/white/diagonal, /obj/structure/table/glass, -/obj/item/device/paicard, +/obj/item/paicard, /turf/simulated/floor/tiled/freezer, /area/surface/station/crew_quarters/pool) "hsL" = ( @@ -16081,7 +16062,7 @@ /area/surface/station/security/hallway/gnd) "hJD" = ( /obj/structure/reagent_dispensers/fueltank, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, @@ -16233,10 +16214,10 @@ dir = 1 }, /obj/structure/closet/secure_closet/cargotech, -/obj/item/weapon/storage/backpack/dufflebag, +/obj/item/storage/backpack/dufflebag, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /turf/simulated/floor/tiled, @@ -16327,7 +16308,7 @@ /area/surface/station/park) "hQy" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/fancy/candle_box, +/obj/item/storage/fancy/candle_box, /turf/simulated/floor/carpet, /area/surface/station/chapel/main) "hQF" = ( @@ -16646,7 +16627,7 @@ "ibA" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /obj/structure/closet/crate/medical, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, @@ -16658,8 +16639,6 @@ }, /turf/simulated/floor/tiled/old_tile/gray, /area/surface/station/medical/surgery_storage) -<<<<<<< HEAD -======= "ibT" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 @@ -16677,7 +16656,6 @@ }, /turf/simulated/floor/tiled, /area/surface/station/park) ->>>>>>> d94406daccd... Merge pull request #8859 from Spookerton/greenjoe12345/xmas2022 "icz" = ( /obj/structure/table/reinforced, /obj/machinery/firealarm{ @@ -16686,15 +16664,15 @@ }, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/red/border, -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ dir = 8; pixel_x = 21 }, /obj/item/tabloid{ pixel_x = -2 }, -/obj/item/weapon/book/codex/corp_regs, -/obj/item/weapon/deskbell, +/obj/item/book/codex/corp_regs, +/obj/item/deskbell, /turf/simulated/floor/tiled, /area/surface/station/security/lobby) "icD" = ( @@ -16836,7 +16814,7 @@ "ieS" = ( /obj/structure/table/standard, /obj/machinery/recharger, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /turf/simulated/floor/wood, /area/surface/station/crew_quarters/gym) "ifG" = ( @@ -16872,8 +16850,6 @@ /obj/effect/floor_decal/corner/paleblue/bordercorner{ dir = 1 }, -<<<<<<< HEAD -======= /obj/structure/extinguisher_cabinet{ dir = 1; pixel_y = 30 @@ -16882,7 +16858,6 @@ dir = 1; pixel_y = 32 }, ->>>>>>> d94406daccd... Merge pull request #8859 from Spookerton/greenjoe12345/xmas2022 /turf/simulated/floor/tiled, /area/surface/station/hallway/primary/groundfloor/north) "ihg" = ( @@ -16891,7 +16866,7 @@ dir = 4 }, /obj/structure/closet/emcloset, -/obj/item/weapon/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, /obj/item/clothing/suit/storage/hooded/wintercoat, /obj/item/clothing/suit/storage/hooded/wintercoat, /turf/simulated/floor/tiled/freezer, @@ -17149,7 +17124,7 @@ /obj/effect/floor_decal/corner/green/border{ dir = 4 }, -/obj/item/weapon/stool/barstool/padded{ +/obj/item/stool/barstool/padded{ dir = 4 }, /turf/simulated/floor/tiled, @@ -17356,7 +17331,7 @@ "iuv" = ( /obj/effect/floor_decal/corner/white/diagonal, /obj/structure/table/glass, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, @@ -17437,12 +17412,12 @@ /area/surface/outside/plains/station) "iwy" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/fire{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/firstaid/fire, -/obj/item/device/radio/intercom{ +/obj/item/storage/firstaid/fire, +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, @@ -17608,16 +17583,16 @@ /obj/structure/window/reinforced{ dir = 8 }, -/obj/item/device/gps/explorer{ +/obj/item/gps/explorer{ pixel_x = 2; pixel_y = 2 }, -/obj/item/device/gps/explorer, -/obj/item/device/gps/explorer{ +/obj/item/gps/explorer, +/obj/item/gps/explorer{ pixel_x = -2; pixel_y = -2 }, -/obj/item/device/gps/explorer{ +/obj/item/gps/explorer{ pixel_x = -4; pixel_y = -4 }, @@ -17655,11 +17630,11 @@ /area/surface/station/engineering/engineering_monitoring) "iEh" = ( /obj/structure/closet/toolcloset, -/obj/item/device/flashlight, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/weapon/storage/toolbox/mechanical, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/flashlight, +/obj/item/radio, +/obj/item/radio, +/obj/item/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/floor/tiled, /area/surface/station/engineering/workshop) "iEL" = ( @@ -17707,7 +17682,7 @@ /area/surface/outside/plains/station) "iFX" = ( /obj/structure/table/glass, -/obj/item/device/radio/phone/medbay{ +/obj/item/radio/phone/medbay{ name = "Emergency Phone"; pixel_y = -6 }, @@ -17794,13 +17769,13 @@ /area/surface/outside/river/gautelfr) "iIs" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/kitchen/utensil/fork{ +/obj/item/material/kitchen/utensil/fork{ pixel_x = -2 }, -/obj/item/weapon/material/kitchen/utensil/spoon{ +/obj/item/material/kitchen/utensil/spoon{ pixel_x = 2 }, -/obj/item/weapon/flame/candle, +/obj/item/flame/candle, /turf/simulated/floor/wood, /area/surface/station/crew_quarters/cafeteria) "iIT" = ( @@ -17820,7 +17795,7 @@ req_one_access = list(55) }, /obj/structure/table/reinforced, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /turf/simulated/floor/tiled/dark, /area/surface/station/rnd/xenobiology) "iJn" = ( @@ -18067,20 +18042,12 @@ }, /turf/simulated/floor/plating/sif/planetuse, /area/surface/outside/station/solar/westsolar) -<<<<<<< HEAD -"iOa" = ( -/obj/structure/flora/ausbushes/sparsegrass, -/obj/structure/flora/ausbushes/fullgrass, -/turf/simulated/floor/grass, -/area/surface/station/park) -======= "iOD" = ( /obj/structure/sign/level/ground/large{ pixel_y = -32 }, /turf/simulated/floor/tiled, /area/surface/station/hallway/primary/groundfloor/east) ->>>>>>> d94406daccd... Merge pull request #8859 from Spookerton/greenjoe12345/xmas2022 "iPo" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -18272,7 +18239,7 @@ dir = 8 }, /obj/structure/table/woodentable, -/obj/item/device/paicard, +/obj/item/paicard, /turf/simulated/floor/tiled/hydro, /area/surface/station/park) "iUj" = ( @@ -18306,7 +18273,7 @@ /obj/effect/floor_decal/techfloor/corner{ dir = 9 }, -/obj/item/device/radio/intercom/locked/ai_private{ +/obj/item/radio/intercom/locked/ai_private{ pixel_y = -21 }, /turf/simulated/floor/tiled/techfloor/grid, @@ -18417,8 +18384,8 @@ "iWF" = ( /obj/structure/table/standard, /obj/machinery/cell_charger, -/obj/item/weapon/cell/high, -/obj/item/weapon/cell/high{ +/obj/item/cell/high, +/obj/item/cell/high{ pixel_y = -4 }, /turf/simulated/floor/reinforced, @@ -18827,14 +18794,14 @@ /area/surface/station/hallway/primary/groundfloor/east) "jkl" = ( /obj/structure/closet/crate/focalpoint, -/obj/item/weapon/circuitboard/smes, -/obj/item/weapon/circuitboard/smes, -/obj/item/weapon/smes_coil, -/obj/item/weapon/smes_coil, -/obj/item/weapon/smes_coil/super_capacity, -/obj/item/weapon/smes_coil/super_capacity, -/obj/item/weapon/smes_coil/super_io, -/obj/item/weapon/smes_coil/super_io, +/obj/item/circuitboard/smes, +/obj/item/circuitboard/smes, +/obj/item/smes_coil, +/obj/item/smes_coil, +/obj/item/smes_coil/super_capacity, +/obj/item/smes_coil/super_capacity, +/obj/item/smes_coil/super_io, +/obj/item/smes_coil/super_io, /turf/simulated/floor/tiled/techmaint, /area/surface/station/engineering/storage) "jkH" = ( @@ -19098,7 +19065,7 @@ /area/shuttle/exploration/general) "jss" = ( /obj/effect/floor_decal/corner/white/diagonal, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, /turf/simulated/floor/tiled/freezer, @@ -19126,8 +19093,8 @@ /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/red/bordercorner, /obj/structure/table/standard, -/obj/item/weapon/storage/box/evidence, -/obj/item/device/camera, +/obj/item/storage/box/evidence, +/obj/item/camera, /obj/machinery/requests_console{ department = "Security"; departmentType = 5; @@ -19474,7 +19441,7 @@ /obj/item/honey_frame, /obj/item/honey_frame, /obj/item/bee_pack, -/obj/item/weapon/tool/crowbar, +/obj/item/tool/crowbar, /obj/machinery/atmospherics/tvalve/bypass, /obj/structure/disposalpipe/segment{ dir = 4 @@ -19713,13 +19680,13 @@ /area/surface/station/maintenance/substation/security/gnd) "jGo" = ( /obj/structure/table/woodentable, -/obj/item/device/taperecorder, -/obj/item/device/tape/random{ +/obj/item/taperecorder, +/obj/item/tape/random{ pixel_y = -2 }, -/obj/item/device/tape/random, -/obj/item/device/camera, -/obj/item/weapon/barcodescanner, +/obj/item/tape/random, +/obj/item/camera, +/obj/item/barcodescanner, /turf/simulated/floor/wood, /area/surface/station/library) "jGI" = ( @@ -19904,7 +19871,7 @@ /area/surface/station/arrivals/cynosure/cryo) "jMm" = ( /obj/structure/table/reinforced, -/obj/item/weapon/hand_labeler, +/obj/item/hand_labeler, /obj/item/clothing/gloves/sterile/latex, /turf/simulated/floor/tiled/neutral, /area/surface/station/rnd/xenobiology) @@ -19995,10 +19962,10 @@ name = "O- Blood Locker"; pixel_x = -32 }, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /turf/simulated/floor/tiled/white, /area/surface/station/medical/etc) "jOo" = ( @@ -20050,7 +20017,7 @@ /obj/effect/floor_decal/industrial/warning/corner{ dir = 1 }, -/obj/item/weapon/banner/virgov, +/obj/item/banner/virgov, /turf/simulated/floor/wood/sif, /area/surface/station/chapel/main) "jPo" = ( @@ -20106,21 +20073,21 @@ dir = 8 }, /obj/structure/table/steel, -/obj/item/weapon/grenade/chem_grenade/cleaner{ +/obj/item/grenade/chem_grenade/cleaner{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/grenade/chem_grenade/cleaner{ +/obj/item/grenade/chem_grenade/cleaner{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/storage/box/mousetraps, -/obj/item/weapon/storage/box/lights/mixed{ +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/storage/box/mousetraps, +/obj/item/storage/box/lights/mixed{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/box/lights/mixed{ +/obj/item/storage/box/lights/mixed{ pixel_x = 4; pixel_y = 4 }, @@ -20248,11 +20215,11 @@ /area/surface/outside/plains/station) "jRD" = ( /obj/structure/closet/wardrobe/chemistry_white, -/obj/item/device/radio/headset/headset_med, -/obj/item/weapon/storage/box/pillbottles, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/hand_labeler, -/obj/item/weapon/packageWrap, +/obj/item/radio/headset/headset_med, +/obj/item/storage/box/pillbottles, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/hand_labeler, +/obj/item/packageWrap, /obj/effect/floor_decal/borderfloorwhite/corner, /obj/effect/floor_decal/corner/paleblue/bordercorner, /obj/machinery/light, @@ -20271,11 +20238,11 @@ "jSb" = ( /obj/structure/window/reinforced, /obj/machinery/atmospherics/pipe/manifold4w/hidden/yellow, -/obj/item/weapon/reagent_containers/glass/bucket{ +/obj/item/reagent_containers/glass/bucket{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /obj/structure/table/reinforced, /turf/simulated/floor/tiled/neutral, /area/surface/station/rnd/xenobiology/xenoflora_isolation) @@ -20288,7 +20255,7 @@ dir = 1; pixel_y = -24 }, -/obj/item/weapon/storage/box/gloves, +/obj/item/storage/box/gloves, /obj/effect/floor_decal/corner/purple/border{ dir = 8 }, @@ -20321,8 +20288,8 @@ name = "Suit Storage"; req_access = list(5) }, -/obj/item/device/suit_cooling_unit, -/obj/item/weapon/tank/oxygen, +/obj/item/suit_cooling_unit, +/obj/item/tank/oxygen, /obj/item/clothing/mask/breath, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/techmaint, @@ -20360,12 +20327,12 @@ desc = "An armband, worn by the crew to display which department they're assigned to. This one is purple with the white letters TL."; name = "explorer team leader armband" }, -/obj/item/weapon/hand_labeler, -/obj/item/device/paicard, -/obj/item/weapon/melee/umbrella/random{ +/obj/item/hand_labeler, +/obj/item/paicard, +/obj/item/melee/umbrella/random{ pixel_y = -4 }, -/obj/item/weapon/melee/umbrella/random, +/obj/item/melee/umbrella/random, /obj/effect/floor_decal/spline/plain{ dir = 10 }, @@ -20722,7 +20689,7 @@ dir = 6 }, /obj/effect/floor_decal/industrial/warning/corner, -/obj/item/device/radio/intercom/locked/ai_private{ +/obj/item/radio/intercom/locked/ai_private{ dir = 8; pixel_x = -21 }, @@ -20785,8 +20752,8 @@ dir = 1 }, /obj/machinery/meter, -/obj/item/weapon/tank/phoron, -/obj/item/weapon/tank/phoron{ +/obj/item/tank/phoron, +/obj/item/tank/phoron{ pixel_x = 2; pixel_y = 2 }, @@ -20856,8 +20823,8 @@ "kda" = ( /obj/structure/table/woodentable, /obj/machinery/reagentgrinder, -/obj/item/weapon/packageWrap, -/obj/item/weapon/reagent_containers/food/drinks/shaker, +/obj/item/packageWrap, +/obj/item/reagent_containers/food/drinks/shaker, /obj/structure/sign/securearea{ desc = "Under the painting a plaque reads: 'Pun Pun I'"; icon_state = "monkey_painting"; @@ -21392,9 +21359,9 @@ /obj/effect/floor_decal/corner/yellow/border{ dir = 4 }, -/obj/item/weapon/packageWrap, -/obj/item/weapon/tape_roll, -/obj/item/weapon/hand_labeler, +/obj/item/packageWrap, +/obj/item/tape_roll, +/obj/item/hand_labeler, /turf/simulated/floor/tiled, /area/surface/station/engineering/engineering_monitoring) "kpz" = ( @@ -21674,7 +21641,7 @@ /turf/simulated/floor/wood, /area/surface/station/crew_quarters/cafeteria) "kxd" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /turf/simulated/floor/tiled/freezer, @@ -21874,7 +21841,7 @@ /turf/simulated/floor/reinforced/n20, /area/surface/station/engineering/atmos) "kCu" = ( -/obj/item/device/radio/intercom/interrogation{ +/obj/item/radio/intercom/interrogation{ dir = 4; pixel_x = 21 }, @@ -22108,7 +22075,7 @@ }, /obj/structure/cable/green, /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, /obj/item/clothing/suit/storage/hooded/wintercoat, /obj/effect/floor_decal/steeldecal/steel_decals_central7, /turf/simulated/floor/tiled/old_tile/blue, @@ -22267,12 +22234,8 @@ /area/surface/station/medical/etc) "kKR" = ( /obj/structure/table/woodentable, -<<<<<<< HEAD -/obj/item/weapon/deck/cards, -======= /obj/item/deck/cards, /obj/item/toy/xmas_cracker, ->>>>>>> d94406daccd... Merge pull request #8859 from Spookerton/greenjoe12345/xmas2022 /turf/simulated/floor/wood, /area/surface/station/crew_quarters/cafeteria) "kKX" = ( @@ -22426,8 +22389,8 @@ /area/surface/station/security/processing) "kOV" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /obj/item/clothing/glasses/sunglasses, /turf/simulated/floor/carpet, /area/surface/station/security/detectives_office) @@ -22447,7 +22410,7 @@ /obj/item/modular_computer/console/preset/security{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, @@ -22475,7 +22438,7 @@ dir = 8; pixel_x = 22 }, -/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, /turf/simulated/floor/tiled/white, /area/surface/station/medical/chemistry) "kQu" = ( @@ -22661,8 +22624,8 @@ }, /obj/item/clothing/gloves/black, /obj/item/clothing/gloves/black, -/obj/item/weapon/storage/belt/utility/atmostech, -/obj/item/weapon/storage/belt/utility/atmostech, +/obj/item/storage/belt/utility/atmostech, +/obj/item/storage/belt/utility/atmostech, /turf/simulated/floor/plating, /area/surface/station/engineering/atmos) "kWT" = ( @@ -22800,7 +22763,7 @@ pixel_x = 12; pixel_y = 23 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, @@ -22808,10 +22771,10 @@ dir = 8; pixel_x = 22 }, -/obj/item/weapon/storage/briefcase{ +/obj/item/storage/briefcase{ pixel_y = 6 }, -/obj/item/weapon/storage/briefcase, +/obj/item/storage/briefcase, /obj/item/clothing/under/suit_jacket/red, /turf/simulated/floor/wood, /area/surface/station/library) @@ -23172,8 +23135,8 @@ dir = 4 }, /obj/structure/mopbucket, -/obj/item/weapon/mop, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/mop, +/obj/item/reagent_containers/glass/bucket, /obj/machinery/alarm{ dir = 8; pixel_x = 22 @@ -23259,7 +23222,7 @@ /obj/structure/window/reinforced{ dir = 1 }, -/obj/item/device/binoculars, +/obj/item/binoculars, /obj/effect/floor_decal/spline/plain, /turf/simulated/floor/tiled/dark, /area/surface/station/rnd/exploration) @@ -23446,14 +23409,14 @@ /area/surface/station/hallway/primary/groundfloor/north) "lrn" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin, -/obj/item/weapon/folder/yellow, -/obj/item/weapon/pen, -/obj/item/weapon/pen/blue{ +/obj/item/paper_bin, +/obj/item/folder/yellow, +/obj/item/pen, +/obj/item/pen/blue{ pixel_x = -3; pixel_y = -3 }, -/obj/item/weapon/pen/red{ +/obj/item/pen/red{ pixel_x = 3; pixel_y = 3 }, @@ -23503,12 +23466,12 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/reagent_containers/spray/pepper{ +/obj/item/reagent_containers/spray/pepper{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/reagent_containers/spray/pepper, -/obj/item/weapon/reagent_containers/spray/pepper{ +/obj/item/reagent_containers/spray/pepper, +/obj/item/reagent_containers/spray/pepper{ pixel_x = 2; pixel_y = 2 }, @@ -23857,7 +23820,7 @@ /obj/effect/floor_decal/corner/lime/border{ dir = 1 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /turf/simulated/floor/tiled/hydro, @@ -24203,8 +24166,6 @@ }, /turf/simulated/floor/tiled, /area/surface/station/security/lobby) -<<<<<<< HEAD -======= "lIt" = ( /obj/random/vendorfood, /obj/structure/sign/christmas/lights{ @@ -24213,7 +24174,6 @@ }, /turf/simulated/floor/tiled/hydro, /area/surface/station/park) ->>>>>>> d94406daccd... Merge pull request #8859 from Spookerton/greenjoe12345/xmas2022 "lIJ" = ( /obj/machinery/computer/aifixer{ dir = 8 @@ -24435,7 +24395,7 @@ name = "Suit Storage"; req_access = list(5) }, -/obj/item/weapon/rig/medical/equipped, +/obj/item/rig/medical/equipped, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/techmaint, /area/surface/station/medical/emt_bay) @@ -24523,7 +24483,7 @@ /area/surface/station/engineering/hallway) "lQo" = ( /obj/structure/table/standard, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, @@ -24539,7 +24499,7 @@ /obj/effect/floor_decal/corner/red/bordercorner2{ dir = 10 }, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /obj/machinery/light{ dir = 8 }, @@ -24606,7 +24566,7 @@ /obj/effect/floor_decal/corner_steel_grid{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, @@ -24651,7 +24611,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 }, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/lino, /area/surface/station/chapel/office) "lSV" = ( @@ -24682,7 +24642,7 @@ }, /obj/machinery/photocopier, /obj/structure/disposalpipe/segment, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, @@ -24886,7 +24846,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/item/device/radio/beacon, +/obj/item/radio/beacon, /turf/simulated/floor/tiled/monotile, /area/surface/station/hallway/primary/groundfloor/west) "lXO" = ( @@ -25019,7 +24979,7 @@ dir = 9 }, /obj/structure/closet/jcloset, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /turf/simulated/floor/tiled/techmaint, /area/surface/station/janitor) "lZI" = ( @@ -25035,7 +24995,7 @@ /turf/simulated/floor/tiled/dark, /area/surface/station/security/interrogation) "mab" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, @@ -25089,8 +25049,8 @@ /obj/item/ammo_magazine/m9mmt/practice, /obj/item/ammo_magazine/m9mmt/practice, /obj/item/ammo_magazine/m9mmt/practice, -/obj/item/weapon/storage/box/blanks/large, -/obj/item/weapon/storage/box/blanks/large, +/obj/item/storage/box/blanks/large, +/obj/item/storage/box/blanks/large, /obj/machinery/magnetic_controller{ autolink = 1; density = 0; @@ -25359,7 +25319,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/wood, /area/surface/station/crew_quarters/cafeteria) "mhz" = ( @@ -25381,7 +25341,7 @@ /obj/structure/cable/green{ icon_state = "0-4" }, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "The big blue box recently installed in here is a 'grid checker' which will shut off the power if a dangerous power spike from the engine erupts into the powernet. Shutting everything down protects everything from electrical damage, however the outages can be disruptive to colony operations, so it is designed to restore power after a somewhat significant delay, up to ten minutes or so. The grid checker can be manually hacked in order to end the outage sooner. To do that, you must cut three specific wires which do not cause a red light to shine, then pulse a fourth wire. Electrical protection is highly recommended when doing maintenance on the grid checker."; name = "grid checker info" }, @@ -25446,7 +25406,7 @@ }, /obj/structure/table/standard, /obj/item/tabloid, -/obj/item/weapon/deskbell, +/obj/item/deskbell, /turf/simulated/floor/tiled, /area/surface/station/engineering/foyer) "miX" = ( @@ -25557,9 +25517,9 @@ "mmg" = ( /obj/structure/table/marble, /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/item/weapon/reagent_containers/food/condiment/small/sugar, -/obj/item/weapon/storage/box/glasses/coffeemug, -/obj/item/weapon/storage/box/glasses/coffeecup{ +/obj/item/reagent_containers/food/condiment/small/sugar, +/obj/item/storage/box/glasses/coffeemug, +/obj/item/storage/box/glasses/coffeecup{ pixel_x = 2; pixel_y = 2 }, @@ -25608,11 +25568,11 @@ dir = 1 }, /obj/structure/table/glass, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/gloves{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/box/masks, +/obj/item/storage/box/masks, /turf/simulated/floor/tiled/techmaint, /area/surface/station/medical/hallway/gnd) "mnJ" = ( @@ -25640,7 +25600,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/red/border, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /turf/simulated/floor/tiled, @@ -26208,7 +26168,7 @@ /obj/effect/floor_decal/industrial/warning{ dir = 6 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, @@ -26478,7 +26438,7 @@ tag_exterior_door = "xenostation_airlock_exterior"; tag_interior_door = "xenostation_airlock_interior" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, @@ -26815,7 +26775,7 @@ /obj/effect/floor_decal/corner/purple/border{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, @@ -26999,7 +26959,7 @@ }, /obj/effect/floor_decal/steeldecal/steel_decals_central6, /obj/effect/floor_decal/steeldecal/steel_decals_central2, -/obj/item/device/radio/beacon, +/obj/item/radio/beacon, /turf/simulated/floor/tiled/monotile, /area/surface/station/hallway/primary/groundfloor/east) "mRW" = ( @@ -27043,7 +27003,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /turf/simulated/floor/tiled/old_cargo/gray, @@ -27258,8 +27218,8 @@ /obj/effect/floor_decal/steeldecal/steel_decals_central5{ dir = 1 }, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /turf/simulated/floor/tiled, /area/surface/station/security/briefing_room) "mWr" = ( @@ -27284,11 +27244,9 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/item/weapon/folder/red, +/obj/item/folder/red, /turf/simulated/floor/plating, /area/surface/station/security/briefing_room) -<<<<<<< HEAD -======= "mWA" = ( /turf/simulated/wall/r_concrete, /area/surface/station/maintenance/kitchen) @@ -27300,7 +27258,6 @@ }, /turf/simulated/floor/tiled/hydro, /area/surface/station/park) ->>>>>>> d94406daccd... Merge pull request #8859 from Spookerton/greenjoe12345/xmas2022 "mXo" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 @@ -27312,7 +27269,7 @@ /turf/simulated/floor/tiled, /area/surface/station/hallway/primary/groundfloor/west/elevator) "mXF" = ( -/obj/item/weapon/stool/barstool/padded{ +/obj/item/stool/barstool/padded{ dir = 8 }, /turf/simulated/floor/wood, @@ -27342,7 +27299,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled/white, /area/surface/station/security/detectives_office/lab) "mYE" = ( @@ -27409,15 +27366,11 @@ /obj/effect/floor_decal/corner/blue/bordercorner2{ dir = 10 }, -<<<<<<< HEAD -/obj/item/weapon/banner/nt, -======= /obj/item/banner/nt, /obj/structure/sign/christmas/lights{ dir = 8; pixel_x = -32 }, ->>>>>>> d94406daccd... Merge pull request #8859 from Spookerton/greenjoe12345/xmas2022 /turf/simulated/floor/tiled/techmaint, /area/surface/station/hallway/primary/groundfloor/south) "naO" = ( @@ -27623,7 +27576,7 @@ /obj/effect/floor_decal/corner/grey/border{ dir = 1 }, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /turf/simulated/floor/tiled, /area/surface/station/crew_quarters/gym) "nhb" = ( @@ -27663,8 +27616,8 @@ "nic" = ( /obj/structure/table/steel_reinforced, /obj/machinery/cell_charger, -/obj/item/weapon/cell/high, -/obj/item/weapon/tool/wrench, +/obj/item/cell/high, +/obj/item/tool/wrench, /obj/item/stack/cable_coil, /obj/item/stack/cable_coil{ pixel_x = 2; @@ -27847,15 +27800,15 @@ /obj/effect/floor_decal/corner/yellow/border{ dir = 8 }, -/obj/item/weapon/folder/yellow, -/obj/item/weapon/clipboard, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/blue, -/obj/item/weapon/pen/red{ +/obj/item/folder/yellow, +/obj/item/clipboard, +/obj/item/paper_bin, +/obj/item/pen/blue, +/obj/item/pen/red{ pixel_x = -4; pixel_y = -4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, @@ -27877,8 +27830,8 @@ /obj/structure/cable/green{ icon_state = "4-8" }, -/obj/item/weapon/gun/energy/taser/xeno, -/obj/item/weapon/melee/baton/slime/loaded, +/obj/item/gun/energy/taser/xeno, +/obj/item/melee/baton/slime/loaded, /obj/effect/floor_decal/steeldecal/steel_decals_central5{ dir = 4 }, @@ -27886,8 +27839,8 @@ /area/surface/station/rnd/xenobiology) "nmG" = ( /obj/structure/table/marble, -/obj/item/weapon/material/knife/butch, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/knife/butch, +/obj/item/material/kitchen/rollingpin, /turf/simulated/floor/tiled/eris/cafe, /area/surface/station/crew_quarters/kitchen) "nnd" = ( @@ -27922,7 +27875,7 @@ id = "chemcounter"; name = "Pharmacy Counter Shutter" }, -/obj/item/weapon/deskbell, +/obj/item/deskbell, /turf/simulated/floor/tiled/neutral, /area/surface/station/medical/chemistry) "nnX" = ( @@ -28009,11 +27962,11 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, -/obj/item/weapon/storage/firstaid/toxin{ +/obj/item/storage/firstaid/toxin{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/firstaid/toxin, +/obj/item/storage/firstaid/toxin, /obj/structure/extinguisher_cabinet{ dir = 4; pixel_x = 30 @@ -28071,12 +28024,12 @@ /area/surface/outside/station/reactorpond) "nsO" = ( /obj/structure/table/woodentable, -/obj/item/weapon/tape_roll, -/obj/item/weapon/packageWrap{ +/obj/item/tape_roll, +/obj/item/packageWrap{ pixel_x = -2; pixel_y = -4 }, -/obj/item/weapon/book/codex/lore/news, +/obj/item/book/codex/lore/news, /turf/simulated/floor/carpet, /area/surface/station/library) "nsS" = ( @@ -28284,7 +28237,7 @@ /turf/simulated/shuttle/floor/white, /area/shuttle/large_escape_pod1/station) "nzB" = ( -/obj/item/weapon/stool/barstool/padded, +/obj/item/stool/barstool/padded, /turf/simulated/floor/tiled, /area/surface/station/park) "nAa" = ( @@ -28386,7 +28339,7 @@ /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/blue/border, /obj/structure/filingcabinet, -/obj/item/weapon/storage/secure/safe{ +/obj/item/storage/secure/safe{ pixel_x = 5; pixel_y = -26 }, @@ -28534,7 +28487,7 @@ /obj/effect/floor_decal/industrial/warning{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /turf/simulated/floor/tiled/techfloor, @@ -28647,9 +28600,9 @@ /obj/machinery/firealarm{ pixel_y = 24 }, -/obj/item/weapon/storage/box/beanbags, -/obj/item/weapon/gun/projectile/shotgun/doublebarrel, -/obj/item/weapon/tool/screwdriver, +/obj/item/storage/box/beanbags, +/obj/item/gun/projectile/shotgun/doublebarrel, +/obj/item/tool/screwdriver, /turf/simulated/floor/wood, /area/surface/station/crew_quarters/bar) "nIE" = ( @@ -28730,7 +28683,7 @@ /obj/effect/floor_decal/borderfloor/corner2, /obj/effect/floor_decal/corner/white/bordercorner2, /obj/machinery/portable_atmospherics/powered/pump/filled, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /turf/simulated/floor/tiled, @@ -29031,11 +28984,11 @@ /area/surface/station/engineering/hallway) "nQQ" = ( /obj/structure/table/glass, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{ +/obj/item/tool/wrench, +/obj/item/reagent_containers/glass/beaker/cryoxadone{ pixel_x = -5 }, -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{ +/obj/item/reagent_containers/glass/beaker/cryoxadone{ pixel_x = 5 }, /obj/effect/floor_decal/borderfloorwhite{ @@ -29126,8 +29079,8 @@ dir = 4 }, /obj/structure/closet/wardrobe/grey, -/obj/item/weapon/storage/backpack, -/obj/item/weapon/storage/backpack, +/obj/item/storage/backpack, +/obj/item/storage/backpack, /obj/random/firstaid, /obj/random/maintenance/security, /obj/random/maintenance/clean, @@ -29314,13 +29267,13 @@ name = "Head of Security RC"; pixel_x = -24 }, -/obj/item/weapon/paper_bin, -/obj/item/weapon/folder/red{ +/obj/item/paper_bin, +/obj/item/folder/red{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/folder/red_hos, -/obj/item/weapon/pen/multi, +/obj/item/folder/red_hos, +/obj/item/pen/multi, /turf/simulated/floor/tiled/dark, /area/surface/station/crew_quarters/heads/hos) "nWU" = ( @@ -29425,7 +29378,7 @@ }, /obj/effect/floor_decal/steeldecal/steel_decals_central7, /obj/structure/table/standard, -/obj/item/weapon/storage/laundry_basket, +/obj/item/storage/laundry_basket, /turf/simulated/floor/tiled/techmaint, /area/surface/station/security/evidence_storage) "oar" = ( @@ -29502,11 +29455,11 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/item/weapon/book/manual/chef_recipes, -/obj/item/weapon/reagent_containers/food/condiment/small/peppershaker{ +/obj/item/book/manual/chef_recipes, +/obj/item/reagent_containers/food/condiment/small/peppershaker{ pixel_x = -4 }, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = 2 }, /turf/simulated/floor/tiled/eris/cafe, @@ -29636,8 +29589,8 @@ }, /obj/structure/table/steel_reinforced, /obj/machinery/cell_charger, -/obj/item/device/floor_painter, -/obj/item/weapon/weldingtool, +/obj/item/floor_painter, +/obj/item/weldingtool, /turf/simulated/floor/tiled/techmaint, /area/surface/station/quartermaster/lockerroom) "oeG" = ( @@ -29704,7 +29657,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /turf/simulated/floor/tiled/old_cargo/gray, @@ -29776,7 +29729,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/item/weapon/folder/red{ +/obj/item/folder/red{ pixel_x = -2 }, /obj/item/sticky_pad/random{ @@ -30100,7 +30053,7 @@ /obj/effect/floor_decal/corner/purple/border{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, @@ -30108,7 +30061,7 @@ /area/surface/station/hallway/primary/groundfloor/west/elevator) "opj" = ( /obj/machinery/portable_atmospherics/hydroponics/soil, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, @@ -30191,8 +30144,8 @@ /obj/structure/table/reinforced, /obj/effect/floor_decal/borderfloorwhite/corner, /obj/effect/floor_decal/corner/pink/bordercorner, -/obj/item/weapon/reagent_containers/spray/luminol, -/obj/item/device/uv_light, +/obj/item/reagent_containers/spray/luminol, +/obj/item/uv_light, /obj/item/clothing/gloves/sterile/latex, /obj/effect/floor_decal/steeldecal/steel_decals_central7, /turf/simulated/floor/tiled/white, @@ -30252,8 +30205,6 @@ c_tag = "Ground Floor - South Hallway 3"; dir = 8 }, -<<<<<<< HEAD -======= /obj/structure/sign/directions/bar{ dir = 5; pixel_y = 39 @@ -30263,7 +30214,6 @@ pixel_y = 32 }, /obj/structure/flora/pottedplant/xmas, ->>>>>>> d94406daccd... Merge pull request #8859 from Spookerton/greenjoe12345/xmas2022 /turf/simulated/floor/tiled/techmaint, /area/surface/station/hallway/primary/groundfloor/south) "osf" = ( @@ -30313,10 +30263,10 @@ /area/surface/station/engineering/atmos) "otg" = ( /obj/structure/closet/toolcloset, -/obj/item/device/flashlight, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/flashlight, +/obj/item/radio, +/obj/item/radio, +/obj/item/storage/toolbox/electrical, /obj/effect/floor_decal/borderfloor{ dir = 1 }, @@ -30464,12 +30414,12 @@ /obj/effect/floor_decal/corner/beige/border{ dir = 10 }, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 1; pixel_y = -21 }, -/obj/item/weapon/storage/box/beakers, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/storage/box/beakers, +/obj/item/reagent_containers/dropper, /turf/simulated/floor/tiled/white, /area/surface/station/medical/chemistry) "owc" = ( @@ -30550,9 +30500,9 @@ /area/surface/station/maintenance/substation/security/gnd) "owR" = ( /obj/structure/closet/wardrobe/chaplain_black, -/obj/item/weapon/storage/fancy/blackcandle_box, -/obj/item/weapon/storage/fancy/candle_box, -/obj/item/weapon/storage/fancy/whitecandle_box, +/obj/item/storage/fancy/blackcandle_box, +/obj/item/storage/fancy/candle_box, +/obj/item/storage/fancy/whitecandle_box, /turf/simulated/floor/lino, /area/surface/station/chapel/office) "owZ" = ( @@ -30807,7 +30757,7 @@ "oCZ" = ( /obj/structure/reagent_dispensers/watertank/high, /obj/effect/floor_decal/industrial/warning, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /obj/machinery/recharger/wallcharger{ pixel_x = 4; pixel_y = 26 @@ -30956,8 +30906,8 @@ }, /obj/effect/catwalk_plated/dark, /obj/structure/table/rack, -/obj/item/weapon/tank/oxygen/yellow, -/obj/item/weapon/tank/oxygen/yellow, +/obj/item/tank/oxygen/yellow, +/obj/item/tank/oxygen/yellow, /obj/item/clothing/mask/breath, /obj/item/clothing/mask/breath, /turf/simulated/floor/plating, @@ -31259,7 +31209,7 @@ /obj/machinery/light/small{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, @@ -31394,8 +31344,8 @@ }, /obj/effect/catwalk_plated/dark, /obj/structure/closet/emcloset, -/obj/item/weapon/storage/toolbox/emergency, -/obj/item/weapon/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, /obj/machinery/light{ dir = 4 }, @@ -31721,7 +31671,7 @@ /obj/effect/floor_decal/industrial/warning{ dir = 4 }, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /obj/machinery/recharger/wallcharger{ pixel_x = -26 }, @@ -31953,7 +31903,7 @@ /obj/machinery/computer/arcade{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /turf/simulated/floor/wood, @@ -32243,7 +32193,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, @@ -32967,8 +32917,8 @@ dir = 10 }, /obj/structure/table/standard, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, @@ -33115,7 +33065,7 @@ name = "Medical Reception"; req_access = list(5) }, -/obj/item/weapon/reagent_containers/food/drinks/britcup, +/obj/item/reagent_containers/food/drinks/britcup, /turf/simulated/floor/tiled/neutral, /area/surface/station/medical/reception) "pzA" = ( @@ -33665,7 +33615,7 @@ /area/surface/station/medical/etc) "pPy" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /turf/simulated/floor/tiled/hydro, @@ -33690,7 +33640,7 @@ dir = 8 }, /obj/structure/closet/jcloset, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /turf/simulated/floor/tiled/techmaint, /area/surface/station/janitor) "pRi" = ( @@ -33812,10 +33762,10 @@ /obj/item/clothing/suit/storage/hooded/wintercoat, /obj/item/clothing/suit/storage/hooded/wintercoat, /obj/item/clothing/suit/storage/hooded/wintercoat, -/obj/item/weapon/melee/umbrella/random{ +/obj/item/melee/umbrella/random{ pixel_y = -4 }, -/obj/item/weapon/melee/umbrella/random, +/obj/item/melee/umbrella/random, /turf/simulated/floor/tiled, /area/surface/station/arrivals/cynosure) "pVb" = ( @@ -33837,19 +33787,19 @@ /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/red/bordercorner, /obj/structure/table/standard, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/hand_labeler, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/hand_labeler, /obj/machinery/recharger/wallcharger{ pixel_x = 32 }, @@ -34236,7 +34186,7 @@ dir = 1 }, /obj/effect/floor_decal/corner/blue/border, -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ dir = 1; pixel_y = -21 }, @@ -34246,7 +34196,7 @@ "qfR" = ( /obj/effect/floor_decal/corner/white/diagonal, /obj/structure/disposalpipe/segment, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /turf/simulated/floor/tiled/freezer, @@ -34291,14 +34241,14 @@ dir = 1 }, /obj/structure/table/steel, -/obj/item/weapon/paper_bin, -/obj/item/weapon/folder/yellow, -/obj/item/weapon/pen, -/obj/item/weapon/storage/box{ +/obj/item/paper_bin, +/obj/item/folder/yellow, +/obj/item/pen, +/obj/item/storage/box{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/box, +/obj/item/storage/box, /turf/simulated/floor/tiled, /area/surface/station/quartermaster/delivery) "qhE" = ( @@ -34315,9 +34265,9 @@ dir = 8 }, /obj/structure/table/standard, -/obj/item/weapon/storage/box/donut, -/obj/item/device/retail_scanner/security, -/obj/item/device/retail_scanner/security, +/obj/item/storage/box/donut, +/obj/item/retail_scanner/security, +/obj/item/retail_scanner/security, /turf/simulated/floor/tiled, /area/surface/station/security/briefing_room) "qhW" = ( @@ -34387,7 +34337,7 @@ /obj/effect/floor_decal/corner/brown/bordercorner{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, @@ -34395,13 +34345,13 @@ /area/surface/station/quartermaster/storage) "qiK" = ( /obj/structure/table/steel, -/obj/item/device/t_scanner, -/obj/item/device/radio/headset/headset_eng, -/obj/item/weapon/cartridge/atmos, -/obj/item/weapon/cartridge/atmos, +/obj/item/t_scanner, +/obj/item/radio/headset/headset_eng, +/obj/item/cartridge/atmos, +/obj/item/cartridge/atmos, /obj/item/clothing/ears/earmuffs, /obj/item/clothing/ears/earmuffs, -/obj/item/device/pipe_painter, +/obj/item/pipe_painter, /obj/machinery/camera/network/engineering{ c_tag = "ENG - Atmospherics Northeast" }, @@ -34413,7 +34363,7 @@ /area/surface/station/crew_quarters/kitchen) "qiX" = ( /obj/machinery/mech_recharger, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 4; pixel_x = -21 }, @@ -34487,7 +34437,7 @@ /obj/structure/cable/green{ icon_state = "0-4" }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /obj/machinery/power/apc{ @@ -34749,7 +34699,7 @@ /obj/effect/floor_decal/industrial/warning/corner{ dir = 8 }, -/obj/item/device/radio/intercom/locked/ai_private{ +/obj/item/radio/intercom/locked/ai_private{ dir = 4; pixel_x = 21 }, @@ -34774,11 +34724,11 @@ /area/surface/station/maintenance/substation/cargo/gnd) "qpY" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/beakers{ +/obj/item/storage/box/beakers{ pixel_x = 4; pixel_y = 3 }, -/obj/item/weapon/storage/box/syringes, +/obj/item/storage/box/syringes, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/purple/border, /turf/simulated/floor/tiled/neutral, @@ -34856,7 +34806,7 @@ /obj/item/honey_frame, /obj/item/honey_frame, /obj/item/bee_pack, -/obj/item/weapon/tool/crowbar, +/obj/item/tool/crowbar, /turf/simulated/floor/tiled/hydro, /area/surface/station/hydroponics) "qrb" = ( @@ -34946,8 +34896,8 @@ /obj/structure/bookcase{ name = "bookcase (Reference)" }, -/obj/item/weapon/book/codex/lore/vir, -/obj/item/weapon/book/codex/lore/vir, +/obj/item/book/codex/lore/vir, +/obj/item/book/codex/lore/vir, /turf/simulated/floor/wood, /area/surface/station/library) "qsF" = ( @@ -35224,12 +35174,12 @@ /area/surface/station/ai/upload) "qyR" = ( /obj/structure/table/woodentable, -/obj/item/device/paicard, -/obj/item/weapon/deck/cah{ +/obj/item/paicard, +/obj/item/deck/cah{ pixel_x = -3; pixel_y = 3 }, -/obj/item/weapon/deck/cah/black{ +/obj/item/deck/cah/black{ pixel_x = -4; pixel_y = 6 }, @@ -35541,11 +35491,11 @@ }, /obj/effect/floor_decal/industrial/outline/yellow, /obj/structure/table/rack, -/obj/item/weapon/storage/box/seccarts, -/obj/item/weapon/storage/box/handcuffs{ +/obj/item/storage/box/seccarts, +/obj/item/storage/box/handcuffs{ pixel_x = 2 }, -/obj/item/weapon/storage/box/flashbangs{ +/obj/item/storage/box/flashbangs{ pixel_x = -3; pixel_y = -3 }, @@ -35568,11 +35518,11 @@ /area/surface/station/engineering/atmos) "qFX" = ( /obj/structure/closet/crate/hydroponics/prespawned, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, -/obj/item/weapon/material/knife, +/obj/item/material/knife, /turf/simulated/floor/tiled/neutral, /area/surface/station/rnd/xenobiology/xenoflora_isolation) "qGc" = ( @@ -35659,7 +35609,7 @@ open_layer = 3.3 }, /obj/item/sticky_pad/random, -/obj/item/weapon/deskbell, +/obj/item/deskbell, /turf/simulated/floor/tiled, /area/surface/station/crew_quarters/heads/hop) "qHF" = ( @@ -35960,7 +35910,7 @@ dir = 9 }, /obj/machinery/dnaforensics, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, @@ -36255,11 +36205,11 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/item/device/retail_scanner/civilian{ +/obj/item/retail_scanner/civilian{ pixel_x = 2; pixel_y = 2 }, -/obj/item/device/retail_scanner/civilian, +/obj/item/retail_scanner/civilian, /obj/item/clothing/head/that, /turf/simulated/floor/wood, /area/surface/station/crew_quarters/bar) @@ -36289,7 +36239,7 @@ /turf/simulated/floor/tiled/white, /area/surface/station/medical/hallway/gnd) "qWO" = ( -/obj/item/device/holowarrant, +/obj/item/holowarrant, /obj/effect/floor_decal/borderfloor{ dir = 8 }, @@ -36318,14 +36268,14 @@ /area/surface/station/engineering/reactor_room) "qXg" = ( /obj/structure/closet/crate/science, -/obj/item/weapon/surgical/circular_saw, -/obj/item/weapon/surgical/scalpel, -/obj/item/weapon/autopsy_scanner, -/obj/item/weapon/weldingtool, +/obj/item/surgical/circular_saw, +/obj/item/surgical/scalpel, +/obj/item/autopsy_scanner, +/obj/item/weldingtool, /obj/item/clothing/head/welding, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/purple/border, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /turf/simulated/floor/tiled/neutral, @@ -36480,7 +36430,7 @@ /turf/simulated/floor/plating, /area/surface/station/engineering/reactor_room) "rbL" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /obj/structure/cable/green{ @@ -36715,12 +36665,12 @@ /obj/structure/closet{ name = "Evidence Closet" }, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/gloves{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/storage/box/evidence, -/obj/item/weapon/storage/box/bodybags{ +/obj/item/storage/box/evidence, +/obj/item/storage/box/bodybags{ pixel_x = 2; pixel_y = 3 }, @@ -37021,7 +36971,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals_central2, /obj/effect/floor_decal/steeldecal/steel_decals_central6, /mob/living/bot/secbot/beepsky, -/obj/item/device/radio/beacon, +/obj/item/radio/beacon, /turf/simulated/floor/tiled/monotile, /area/surface/station/hallway/primary/groundfloor/north) "roh" = ( @@ -37098,7 +37048,7 @@ /area/surface/station/janitor) "rtv" = ( /obj/effect/floor_decal/corner/white/diagonal, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /turf/simulated/floor/tiled/freezer, @@ -37172,7 +37122,7 @@ /area/surface/station/quartermaster/storage) "ruC" = ( /obj/structure/table/bench/sifwooden/padded, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /obj/effect/floor_decal/borderfloor, @@ -37580,7 +37530,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, -/obj/item/device/holowarrant, +/obj/item/holowarrant, /obj/effect/floor_decal/borderfloor{ dir = 8 }, @@ -37595,7 +37545,7 @@ /turf/simulated/floor/tiled/techmaint, /area/surface/station/security/lockerroom) "rEs" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, @@ -37792,7 +37742,7 @@ /obj/structure/closet/secure_closet/medical_wall/pills{ pixel_x = -32 }, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 1; pixel_y = -21 }, @@ -37940,7 +37890,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals_central7{ dir = 1 }, -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ dir = 8; pixel_x = 21 }, @@ -37983,10 +37933,10 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, -/obj/item/weapon/material/ashtray/glass, +/obj/item/material/ashtray/glass, /obj/machinery/door/blast/gate/thin{ dir = 8; id = "bar2"; @@ -38064,7 +38014,7 @@ name = "Foyer Door"; pixel_y = 5 }, -/obj/item/device/radio/phone/medbay{ +/obj/item/radio/phone/medbay{ name = "Reception Emergency Phone"; pixel_y = -6 }, @@ -38087,7 +38037,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /turf/simulated/floor/tiled/white, @@ -38143,7 +38093,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 9 }, -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ dir = 8; pixel_x = 21 }, @@ -38195,7 +38145,7 @@ dir = 8 }, /obj/machinery/magnetic_controller, -/obj/item/weapon/storage/box/flashbangs, +/obj/item/storage/box/flashbangs, /obj/effect/floor_decal/industrial/warning{ dir = 1 }, @@ -38207,12 +38157,12 @@ /obj/structure/window/reinforced{ dir = 8 }, -/obj/item/weapon/gun/energy/taser{ +/obj/item/gun/energy/taser{ pixel_y = -2 }, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/gun/energy/stunrevolver, -/obj/item/weapon/gun/energy/stunrevolver{ +/obj/item/gun/energy/taser, +/obj/item/gun/energy/stunrevolver, +/obj/item/gun/energy/stunrevolver{ pixel_y = 4 }, /obj/machinery/door/window/northleft, @@ -38361,7 +38311,7 @@ "rXg" = ( /obj/effect/floor_decal/industrial/outline/grey, /obj/machinery/hologram/holopad, -/obj/item/device/radio/intercom/interrogation{ +/obj/item/radio/intercom/interrogation{ pixel_y = -21 }, /obj/machinery/light/small, @@ -38488,7 +38438,7 @@ dir = 4 }, /obj/effect/catwalk_plated, -/obj/item/device/radio/beacon, +/obj/item/radio/beacon, /turf/simulated/floor/plating, /area/surface/station/hallway/primary/groundfloor/south) "sbu" = ( @@ -38632,10 +38582,10 @@ "sfZ" = ( /obj/structure/table/woodentable, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/item/weapon/material/kitchen/utensil/fork{ +/obj/item/material/kitchen/utensil/fork{ pixel_x = -2 }, -/obj/item/weapon/material/kitchen/utensil/spoon{ +/obj/item/material/kitchen/utensil/spoon{ pixel_x = 2 }, /obj/item/toy/xmas_cracker, @@ -38862,7 +38812,7 @@ /obj/structure/closet, /obj/item/toy/figure/scientist, /obj/item/clothing/accessory/armband/science, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /obj/item/clothing/shoes/galoshes, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/purple/border, @@ -38946,7 +38896,7 @@ /area/surface/station/arrivals/cynosure) "spy" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /obj/structure/curtain/open/privacy, @@ -38954,7 +38904,7 @@ /area/surface/station/medical/ward) "spM" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, /obj/effect/floor_decal/borderfloorwhite{ dir = 4 }, @@ -39217,20 +39167,20 @@ dir = 6 }, /obj/structure/table/standard, -/obj/item/weapon/folder/red{ +/obj/item/folder/red{ pixel_x = -4; pixel_y = -4 }, -/obj/item/weapon/folder/red{ +/obj/item/folder/red{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/folder/red, -/obj/item/weapon/folder/red{ +/obj/item/folder/red, +/obj/item/folder/red{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/hand_labeler, +/obj/item/hand_labeler, /turf/simulated/floor/tiled, /area/surface/station/security/processing) "swl" = ( @@ -39344,7 +39294,7 @@ /obj/effect/floor_decal/corner/green/border{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, @@ -39368,7 +39318,7 @@ /obj/effect/floor_decal/spline/plain{ dir = 8 }, -/obj/item/device/megaphone, +/obj/item/megaphone, /obj/machinery/light{ dir = 4 }, @@ -39493,7 +39443,7 @@ /obj/effect/floor_decal/corner/red/border{ dir = 4 }, -/obj/item/weapon/gun/energy/laser/practice, +/obj/item/gun/energy/laser/practice, /obj/effect/floor_decal/industrial/warning{ dir = 1 }, @@ -40013,7 +39963,7 @@ /obj/effect/floor_decal/corner/red/border{ dir = 1 }, -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ pixel_y = 21 }, /obj/structure/disposalpipe/segment{ @@ -40260,8 +40210,8 @@ layer = 3.3; pixel_y = -32 }, -/obj/item/weapon/melee/umbrella/random, -/obj/item/weapon/melee/umbrella/random{ +/obj/item/melee/umbrella/random, +/obj/item/melee/umbrella/random{ pixel_y = -4 }, /turf/simulated/floor/plating, @@ -40382,27 +40332,27 @@ pixel_x = -12; pixel_y = -24 }, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/gloves{ pixel_x = -4; pixel_y = -4 }, -/obj/item/weapon/storage/box/syringes{ +/obj/item/storage/box/syringes{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/storage/box/beakers, -/obj/item/weapon/storage/box/botanydisk{ +/obj/item/storage/box/beakers, +/obj/item/storage/box/botanydisk{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/tape_roll, +/obj/item/tape_roll, /obj/effect/floor_decal/borderfloorwhite{ dir = 4 }, /obj/effect/floor_decal/corner/green/border{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, @@ -40643,36 +40593,36 @@ pixel_y = -22 }, /obj/structure/table/standard, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#ff0000"; name = "red towel"; pixel_x = -3; pixel_y = -4 }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#ff0000"; name = "red towel"; pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#ff0000"; name = "red towel"; pixel_x = -1 }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#ff0000"; name = "red towel"; pixel_y = 2 }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#ff0000"; name = "red towel"; pixel_x = 1; pixel_y = 4 }, -/obj/item/weapon/soap/nanotrasen, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, +/obj/item/soap/nanotrasen, /turf/simulated/floor/tiled/neutral, /area/surface/station/security/restroom) "thU" = ( @@ -40764,7 +40714,7 @@ /obj/effect/floor_decal/corner/green/border{ dir = 6 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, @@ -40845,7 +40795,7 @@ /obj/structure/sink/kitchen{ pixel_y = 28 }, -/obj/item/weapon/reagent_containers/glass/bucket{ +/obj/item/reagent_containers/glass/bucket{ pixel_x = 2; pixel_y = 2 }, @@ -40927,14 +40877,14 @@ /obj/effect/floor_decal/corner/green/border{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /turf/simulated/floor/tiled, /area/surface/station/park) "tnh" = ( -/obj/item/weapon/reagent_containers/spray/pepper, -/obj/item/device/flash, +/obj/item/reagent_containers/spray/pepper, +/obj/item/flash, /obj/structure/closet/secure_closet/detective/cynosure, /turf/simulated/floor/lino, /area/surface/station/security/detectives_office) @@ -41007,9 +40957,9 @@ /obj/random/maintenance, /obj/random/maintenance, /obj/random/maintenance, -/obj/item/weapon/material/knife, +/obj/item/material/knife, /obj/item/clothing/shoes/boots/combat, -/obj/item/weapon/storage/mre/random, +/obj/item/storage/mre/random, /turf/simulated/floor/plating, /area/surface/station/maintenance/kitchen) "toJ" = ( @@ -41200,7 +41150,7 @@ /obj/effect/floor_decal/corner/beige/border{ dir = 8 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /turf/simulated/floor/tiled/white, @@ -41306,8 +41256,8 @@ name = "Module Storage"; req_one_access = list(16) }, -/obj/item/weapon/aiModule/nanotrasen, -/obj/item/weapon/aiModule/reset{ +/obj/item/aiModule/nanotrasen, +/obj/item/aiModule/reset{ pixel_x = -3; pixel_y = 3 }, @@ -41354,7 +41304,7 @@ dir = 8 }, /obj/structure/table/woodentable, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, @@ -41400,7 +41350,7 @@ /obj/effect/floor_decal/spline/plain{ dir = 5 }, -/obj/item/weapon/beach_ball, +/obj/item/beach_ball, /turf/simulated/floor/tiled/freezer, /area/surface/station/crew_quarters/pool) "tyj" = ( @@ -41468,29 +41418,29 @@ /obj/effect/floor_decal/corner/lime/border{ dir = 8 }, -/obj/item/weapon/material/knife/machete/hatchet, -/obj/item/weapon/material/knife/machete/hatchet{ +/obj/item/material/knife/machete/hatchet, +/obj/item/material/knife/machete/hatchet{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/material/knife/machete/hatchet{ +/obj/item/material/knife/machete/hatchet{ pixel_x = -4; pixel_y = -4 }, -/obj/item/weapon/material/minihoe, -/obj/item/weapon/material/minihoe{ +/obj/item/material/minihoe, +/obj/item/material/minihoe{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/material/minihoe{ +/obj/item/material/minihoe{ pixel_x = -4; pixel_y = -4 }, -/obj/item/weapon/reagent_containers/glass/bucket{ +/obj/item/reagent_containers/glass/bucket{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /turf/simulated/floor/tiled/hydro, /area/surface/station/hydroponics) "tzy" = ( @@ -41565,8 +41515,8 @@ pixel_x = 8; pixel_y = -6 }, -/obj/item/weapon/handcuffs, -/obj/item/device/tape/random, +/obj/item/handcuffs, +/obj/item/tape/random, /turf/simulated/floor/carpet, /area/surface/station/security/detectives_office) "tCe" = ( @@ -41576,11 +41526,11 @@ /area/surface/station/medical/reception) "tCj" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/briefcase{ +/obj/item/storage/briefcase{ pixel_y = 6 }, -/obj/item/weapon/storage/briefcase, -/obj/item/device/radio/intercom/department/security{ +/obj/item/storage/briefcase, +/obj/item/radio/intercom/department/security{ pixel_y = 21 }, /turf/simulated/floor/lino, @@ -41979,7 +41929,7 @@ /turf/simulated/floor/plating, /area/surface/station/medical/reception) "tLy" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, @@ -42086,7 +42036,7 @@ /obj/structure/table/reinforced, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/beige/border, -/obj/item/device/mass_spectrometer/adv, +/obj/item/mass_spectrometer/adv, /obj/item/clothing/glasses/science{ pixel_x = -4; pixel_y = -4 @@ -42248,7 +42198,7 @@ dir = 4 }, /obj/structure/table/steel, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /obj/random/maintenance/clean, /obj/random/maintenance/security, /obj/random/maintenance/security, @@ -42354,10 +42304,10 @@ /obj/effect/floor_decal/corner/paleblue/border{ dir = 8 }, -/obj/item/device/defib_kit/loaded{ +/obj/item/defib_kit/loaded{ pixel_y = -2 }, -/obj/item/device/defib_kit/loaded{ +/obj/item/defib_kit/loaded{ pixel_y = 2 }, /turf/simulated/floor/tiled/white, @@ -42404,7 +42354,7 @@ /area/surface/station/crew_quarters/heads/hos) "tWQ" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /obj/item/sticky_pad/random, /turf/simulated/floor/wood, /area/surface/station/library) @@ -42516,11 +42466,11 @@ /obj/structure/cable/green{ icon_state = "1-2" }, -/obj/item/weapon/paper_bin, -/obj/item/weapon/hand_labeler, -/obj/item/weapon/clipboard, -/obj/item/weapon/folder/white, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/hand_labeler, +/obj/item/clipboard, +/obj/item/folder/white, +/obj/item/pen, /obj/effect/floor_decal/borderfloorwhite{ dir = 4 }, @@ -42612,13 +42562,13 @@ /area/surface/station/quartermaster/delivery) "ubw" = ( /obj/structure/table/standard, -/obj/item/weapon/towel/random{ +/obj/item/towel/random{ pixel_x = 2 }, -/obj/item/weapon/towel/random{ +/obj/item/towel/random{ pixel_x = 4 }, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /obj/machinery/firealarm{ dir = 1; pixel_y = -24 @@ -42656,7 +42606,7 @@ /obj/machinery/light/spot{ dir = 4 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /turf/simulated/floor/tiled/freezer, @@ -42746,7 +42696,7 @@ /turf/simulated/wall/r_wall, /area/surface/station/garage) "uge" = ( -/obj/item/weapon/stool{ +/obj/item/stool{ dir = 8 }, /turf/simulated/floor/tiled/old_cargo/gray, @@ -42789,7 +42739,7 @@ "uin" = ( /obj/structure/closet/secure_closet/personal, /obj/effect/floor_decal/corner/white/diagonal, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, @@ -43046,7 +42996,7 @@ /obj/effect/floor_decal/corner/paleblue/bordercorner{ dir = 1 }, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ pixel_y = 21 }, /obj/machinery/light{ @@ -43938,20 +43888,20 @@ /obj/effect/floor_decal/corner/paleblue/border{ dir = 8 }, -/obj/item/weapon/reagent_containers/blood/AMinus{ +/obj/item/reagent_containers/blood/AMinus{ pixel_x = -6; pixel_y = -6 }, -/obj/item/weapon/reagent_containers/blood/APlus{ +/obj/item/reagent_containers/blood/APlus{ pixel_x = -4; pixel_y = -4 }, -/obj/item/weapon/reagent_containers/blood/BMinus{ +/obj/item/reagent_containers/blood/BMinus{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/reagent_containers/blood/BPlus, -/obj/item/weapon/reagent_containers/blood/OPlus{ +/obj/item/reagent_containers/blood/BPlus, +/obj/item/reagent_containers/blood/OPlus{ pixel_x = 2; pixel_y = 2 }, @@ -44016,19 +43966,19 @@ /area/surface/station/rnd/xenobiology) "uOQ" = ( /obj/structure/closet/crate/medical, -/obj/item/weapon/surgical/surgicaldrill, -/obj/item/weapon/surgical/FixOVein, -/obj/item/weapon/surgical/circular_saw, -/obj/item/weapon/surgical/scalpel, +/obj/item/surgical/surgicaldrill, +/obj/item/surgical/FixOVein, +/obj/item/surgical/circular_saw, +/obj/item/surgical/scalpel, /obj/item/stack/medical/advanced/bruise_pack, -/obj/item/weapon/surgical/retractor, -/obj/item/weapon/surgical/hemostat, -/obj/item/weapon/surgical/cautery, -/obj/item/weapon/surgical/bonesetter, -/obj/item/weapon/surgical/bonegel, +/obj/item/surgical/retractor, +/obj/item/surgical/hemostat, +/obj/item/surgical/cautery, +/obj/item/surgical/bonesetter, +/obj/item/surgical/bonegel, /obj/item/stack/nanopaste, -/obj/item/weapon/autopsy_scanner, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/autopsy_scanner, +/obj/item/reagent_containers/spray/cleaner, /turf/simulated/floor/tiled/old_tile/gray, /area/surface/station/medical/surgery_storage) "uOT" = ( @@ -44167,8 +44117,8 @@ }, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/red/border, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /obj/effect/floor_decal/industrial/warning/corner{ dir = 1 }, @@ -44180,11 +44130,11 @@ }, /obj/random/crate, /obj/item/clothing/mask/gas, -/obj/item/device/flashlight{ +/obj/item/flashlight{ pixel_x = 2; pixel_y = 2 }, -/obj/item/device/flashlight, +/obj/item/flashlight, /obj/random/maintenance/security, /obj/random/maintenance/clean, /obj/machinery/meter, @@ -44196,8 +44146,8 @@ /area/surface/station/maintenance/east/gnd) "uTh" = ( /obj/structure/table/steel, -/obj/item/device/retail_scanner/cargo, -/obj/item/device/retail_scanner/cargo{ +/obj/item/retail_scanner/cargo, +/obj/item/retail_scanner/cargo{ pixel_x = 2; pixel_y = 2 }, @@ -44465,7 +44415,7 @@ /obj/effect/floor_decal/corner/green/border{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, @@ -44541,7 +44491,7 @@ }, /obj/structure/closet/secure_closet/medical1, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, @@ -44571,7 +44521,7 @@ /area/surface/station/hallway/primary/groundfloor/west/elevator) "vcG" = ( /obj/structure/table/standard, -/obj/item/device/multitool, +/obj/item/multitool, /obj/item/stack/cable_coil, /turf/simulated/floor/reinforced, /area/surface/station/rnd/misc_lab) @@ -44595,7 +44545,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 }, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/tiled/dark, /area/surface/station/security/interrogation) "vei" = ( @@ -44653,11 +44603,11 @@ dir = 8; pixel_x = 22 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /obj/structure/closet/emcloset, -/obj/item/weapon/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, /obj/machinery/light, /obj/machinery/camera/network/ground_floor{ c_tag = "Ground Floor - Cryostorage"; @@ -44674,8 +44624,8 @@ pixel_x = 24 }, /obj/structure/bookcase, -/obj/item/weapon/book/codex/corp_regs, -/obj/item/weapon/book/codex/corp_regs, +/obj/item/book/codex/corp_regs, +/obj/item/book/codex/corp_regs, /turf/simulated/floor/lino, /area/surface/station/security/detectives_office) "veX" = ( @@ -44759,7 +44709,7 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 }, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/wood, /area/surface/station/crew_quarters/cafeteria) "vgs" = ( @@ -45122,11 +45072,11 @@ /area/surface/station/engineering/atmos) "vnd" = ( /obj/structure/table/reinforced, -/obj/item/device/slime_scanner{ +/obj/item/slime_scanner{ pixel_x = 2; pixel_y = 2 }, -/obj/item/device/slime_scanner, +/obj/item/slime_scanner, /turf/simulated/floor/tiled/neutral, /area/surface/station/rnd/xenobiology) "vnh" = ( @@ -45204,7 +45154,7 @@ dir = 2; icon_state = "pipe-c" }, -/obj/item/weapon/stool/barstool/padded{ +/obj/item/stool/barstool/padded{ dir = 8 }, /turf/simulated/floor/wood, @@ -45235,12 +45185,12 @@ dir = 4; pixel_x = 24 }, -/obj/item/weapon/storage/box/pillbottles{ +/obj/item/storage/box/pillbottles{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/box/syringes, -/obj/item/weapon/tool/screwdriver, +/obj/item/storage/box/syringes, +/obj/item/tool/screwdriver, /obj/machinery/camera/network/medbay{ c_tag = "MED - Chemistry"; dir = 9 @@ -45286,7 +45236,7 @@ pixel_y = 2 }, /obj/item/stack/cable_coil, -/obj/item/device/multitool, +/obj/item/multitool, /obj/item/clothing/gloves/yellow, /obj/effect/floor_decal/industrial/warning{ dir = 5 @@ -45399,7 +45349,7 @@ /area/surface/outside/river/gautelfr) "vuy" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, /obj/item/bodybag/cryobag{ pixel_x = -2; pixel_y = -2 @@ -45418,7 +45368,7 @@ /area/surface/station/medical/storage/primary_storage) "vvm" = ( /obj/structure/table/woodentable, -/obj/item/weapon/dice, +/obj/item/dice, /turf/simulated/floor/carpet, /area/surface/station/library) "vvG" = ( @@ -45503,7 +45453,7 @@ /area/surface/station/hallway/primary/groundfloor/north) "vwm" = ( /obj/structure/table/bench/steel, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, @@ -45561,7 +45511,7 @@ dir = 8 }, /obj/structure/table/standard, -/obj/item/weapon/material/knife, +/obj/item/material/knife, /turf/simulated/floor/tiled/neutral, /area/surface/station/rnd/exploration) "vxx" = ( @@ -45778,7 +45728,7 @@ pixel_y = 22 }, /obj/effect/catwalk_plated, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, @@ -45935,7 +45885,7 @@ /obj/effect/floor_decal/corner/pink/border{ dir = 9 }, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, /turf/simulated/floor/tiled/white, /area/surface/station/medical/surgery2) "vHV" = ( @@ -46137,7 +46087,7 @@ /area/surface/station/maintenance/kitchen) "vLB" = ( /obj/structure/bed/chair/shuttle, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, @@ -46183,7 +46133,7 @@ c_tag = "SEC - Briefing East"; dir = 10 }, -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ dir = 1; pixel_y = -21 }, @@ -46442,7 +46392,7 @@ c_tag = "ENG - Waste Handling"; dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, @@ -47255,7 +47205,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/effect/floor_decal/steeldecal/steel_decals_central5, -/obj/item/weapon/gun/energy/laser/practice, +/obj/item/gun/energy/laser/practice, /obj/effect/floor_decal/industrial/warning{ dir = 1 }, @@ -48031,8 +47981,8 @@ /obj/item/clothing/suit/storage/hooded/wintercoat, /obj/item/clothing/suit/storage/hooded/wintercoat, /obj/item/clothing/suit/storage/hooded/wintercoat, -/obj/item/weapon/melee/umbrella/random, -/obj/item/weapon/melee/umbrella/random, +/obj/item/melee/umbrella/random, +/obj/item/melee/umbrella/random, /obj/machinery/camera/network/ground_floor{ c_tag = "Ground Floor - Arrivals North"; dir = 8 @@ -48073,20 +48023,20 @@ /area/surface/station/crew_quarters/heads/hop) "wOf" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/monkeycubes{ +/obj/item/storage/box/monkeycubes{ pixel_x = -4; pixel_y = -4 }, -/obj/item/weapon/storage/box/monkeycubes{ +/obj/item/storage/box/monkeycubes{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/storage/box/monkeycubes, -/obj/item/weapon/storage/box/monkeycubes{ +/obj/item/storage/box/monkeycubes, +/obj/item/storage/box/monkeycubes{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/reagent_containers/food/snacks/cube/monkeycube/wrapped, +/obj/item/reagent_containers/food/snacks/cube/monkeycube/wrapped, /turf/simulated/floor/tiled/neutral, /area/surface/station/rnd/xenobiology) "wOs" = ( @@ -48142,8 +48092,8 @@ dir = 1; pixel_y = -22 }, -/obj/item/weapon/folder/red, -/obj/item/device/tape/random, +/obj/item/folder/red, +/obj/item/tape/random, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 }, @@ -48416,7 +48366,7 @@ /obj/structure/table/bench/steel, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/purple/border, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /obj/effect/floor_decal/steeldecal/steel_decals_central5{ @@ -48969,10 +48919,10 @@ /area/surface/station/engineering/atmos) "xgE" = ( /obj/effect/floor_decal/corner/white/diagonal, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /turf/simulated/floor/tiled/freezer, @@ -49044,7 +48994,7 @@ /turf/simulated/floor/plating, /area/surface/station/maintenance/east/gnd) "xiX" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, @@ -49199,7 +49149,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/wood, /area/surface/station/crew_quarters/cafeteria) "xof" = ( @@ -49227,12 +49177,12 @@ /area/surface/outside/plains/station) "xpy" = ( /obj/structure/table/woodentable, -/obj/item/device/camera_film{ +/obj/item/camera_film{ pixel_x = 2; pixel_y = 2 }, -/obj/item/device/camera_film, -/obj/item/device/paicard, +/obj/item/camera_film, +/obj/item/paicard, /obj/machinery/camera/network/civilian{ c_tag = "CIV - Library East"; dir = 8 @@ -49284,11 +49234,11 @@ pixel_x = 1; pixel_y = 36 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 8; pixel_x = 21 }, @@ -49624,7 +49574,7 @@ /obj/effect/floor_decal/spline/plain{ dir = 8 }, -/obj/item/weapon/banner/nt, +/obj/item/banner/nt, /turf/simulated/floor/wood/sif, /area/surface/station/chapel/main) "xzZ" = ( @@ -49703,20 +49653,20 @@ name = "High-Risk Modules"; req_one_access = list(20) }, -/obj/item/weapon/aiModule/oxygen{ +/obj/item/aiModule/oxygen{ pixel_x = 3; pixel_y = -6 }, -/obj/item/weapon/aiModule/oneHuman{ +/obj/item/aiModule/oneHuman{ pixel_x = 2; pixel_y = -2 }, -/obj/item/weapon/aiModule/purge, -/obj/item/weapon/aiModule/antimov{ +/obj/item/aiModule/purge, +/obj/item/aiModule/antimov{ pixel_x = -2; pixel_y = 3 }, -/obj/item/weapon/aiModule/teleporterOffline{ +/obj/item/aiModule/teleporterOffline{ pixel_x = -4; pixel_y = 5 }, @@ -49858,17 +49808,12 @@ }, /obj/item/roller, /obj/item/bodybag/cryobag, -<<<<<<< HEAD -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/pill_bottle/spaceacillin, -======= /obj/item/storage/firstaid/regular, /obj/item/storage/pill_bottle/spaceacillin, /obj/structure/sign/christmas/lights{ dir = 4; pixel_x = 32 }, ->>>>>>> d94406daccd... Merge pull request #8859 from Spookerton/greenjoe12345/xmas2022 /turf/simulated/floor/wood, /area/surface/station/crew_quarters/cafeteria) "xGi" = ( @@ -49891,7 +49836,7 @@ /obj/effect/floor_decal/corner/lime/border{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, @@ -49899,11 +49844,11 @@ /area/surface/station/hydroponics) "xHq" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/drinks/flask/barflask, -/obj/item/weapon/reagent_containers/food/drinks/flask/vacuumflask, -/obj/item/weapon/flame/lighter/zippo, -/obj/item/weapon/reagent_containers/glass/rag, -/obj/item/weapon/deskbell, +/obj/item/reagent_containers/food/drinks/flask/barflask, +/obj/item/reagent_containers/food/drinks/flask/vacuumflask, +/obj/item/flame/lighter/zippo, +/obj/item/reagent_containers/glass/rag, +/obj/item/deskbell, /turf/simulated/floor/lino, /area/surface/station/crew_quarters/bar) "xHy" = ( @@ -50043,7 +49988,7 @@ /obj/structure/closet, /obj/effect/floor_decal/industrial/outline/grey, /obj/machinery/atmospherics/unary/vent_scrubber/on, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, @@ -50212,13 +50157,13 @@ /obj/effect/floor_decal/corner/purple/border{ dir = 8 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, @@ -50252,8 +50197,8 @@ /obj/structure/cable/green{ icon_state = "4-8" }, -/obj/item/weapon/gun/energy/taser/xeno, -/obj/item/weapon/melee/baton/slime/loaded, +/obj/item/gun/energy/taser/xeno, +/obj/item/melee/baton/slime/loaded, /turf/simulated/floor/tiled/neutral, /area/surface/station/rnd/xenobiology) "xOU" = ( @@ -50382,8 +50327,8 @@ /area/surface/station/engineering/hallway/reactor) "xRz" = ( /obj/structure/table/reinforced, -/obj/item/weapon/stamp/hos, -/obj/item/device/holowarrant, +/obj/item/stamp/hos, +/obj/item/holowarrant, /turf/simulated/floor/carpet, /area/surface/station/crew_quarters/heads/hos) "xRE" = ( @@ -50456,11 +50401,11 @@ /area/surface/station/engineering/atmos) "xST" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /obj/machinery/firealarm{ dir = 4; pixel_x = 24 @@ -50471,23 +50416,23 @@ /obj/effect/floor_decal/corner/paleblue/border{ dir = 6 }, -/obj/item/weapon/reagent_containers/glass/bottle/stoxin{ +/obj/item/reagent_containers/glass/bottle/stoxin{ pixel_x = -4; pixel_y = -4 }, -/obj/item/weapon/reagent_containers/glass/bottle/antitoxin{ +/obj/item/reagent_containers/glass/bottle/antitoxin{ pixel_y = -2 }, -/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline{ +/obj/item/reagent_containers/glass/bottle/inaprovaline{ pixel_x = 2 }, /obj/random/medical, /obj/random/medical, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/gloves{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/box/masks, +/obj/item/storage/box/masks, /turf/simulated/floor/tiled/white, /area/surface/station/medical/storage/primary_storage) "xSU" = ( @@ -50778,21 +50723,21 @@ /obj/machinery/atmospherics/pipe/simple/hidden/yellow{ dir = 5 }, -/obj/item/device/analyzer/plant_analyzer{ +/obj/item/analyzer/plant_analyzer{ pixel_x = 2; pixel_y = 2 }, -/obj/item/device/analyzer/plant_analyzer, -/obj/item/weapon/material/minihoe{ +/obj/item/analyzer/plant_analyzer, +/obj/item/material/minihoe{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/material/minihoe, -/obj/item/weapon/material/knife/machete/hatchet{ +/obj/item/material/minihoe, +/obj/item/material/knife/machete/hatchet{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/material/knife/machete/hatchet, +/obj/item/material/knife/machete/hatchet, /obj/effect/floor_decal/borderfloorwhite{ dir = 4 }, @@ -50888,7 +50833,7 @@ /obj/structure/reagent_dispensers/watertank/high, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/lime/border, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /turf/simulated/floor/tiled/hydro, /area/surface/station/hydroponics) "xZL" = ( @@ -50947,8 +50892,8 @@ name = "Module Storage"; req_one_access = list(16) }, -/obj/item/weapon/aiModule/protectStation, -/obj/item/weapon/aiModule/freeform{ +/obj/item/aiModule/protectStation, +/obj/item/aiModule/freeform{ pixel_x = -3; pixel_y = 3 }, @@ -51172,7 +51117,7 @@ /area/surface/outside/station/reactorpond) "yfz" = ( /obj/effect/floor_decal/corner/white/diagonal, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /turf/simulated/floor/tiled/freezer, @@ -51399,8 +51344,8 @@ /obj/structure/table/reinforced, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/beige/border, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/dropper, /turf/simulated/floor/tiled/white, /area/surface/station/medical/chemistry) "ylq" = ( @@ -66847,23 +66792,6 @@ vwy vwy vwy vwy -<<<<<<< HEAD -aNW -aNW -aNW -aNW -oum -oum -oum -oum -oum -oum -oum -aNW -aNW -aNW -aNW -======= vSk vSk vSk @@ -66879,7 +66807,6 @@ vSk vSk vSk vSk ->>>>>>> d94406daccd... Merge pull request #8859 from Spookerton/greenjoe12345/xmas2022 vwy vwy vwy @@ -66892,23 +66819,6 @@ iGM iGM iGM iGM -<<<<<<< HEAD -aNW -dXk -qzz -qzz -qzz -qzz -qzz -qzz -qzz -dXk -qzz -qzz -qzz -qzz -qzz -======= vSk jWt jWt @@ -66924,7 +66834,6 @@ jWt jWt jWt jWt ->>>>>>> d94406daccd... Merge pull request #8859 from Spookerton/greenjoe12345/xmas2022 wYa "} (61,1,1) = {" @@ -66959,15 +66868,9 @@ vwy vwy vwy vwy -<<<<<<< HEAD -vwy -vwy -vwy -======= fyc fyc fyc ->>>>>>> d94406daccd... Merge pull request #8859 from Spookerton/greenjoe12345/xmas2022 vwy vwy vwy @@ -81734,21 +81637,12 @@ lUL jmQ lUL lUL -<<<<<<< HEAD -oqM -sYq -oqM -sYq -pts -bql -======= xUE ogV xUE ogV ibT tsW ->>>>>>> d94406daccd... Merge pull request #8859 from Spookerton/greenjoe12345/xmas2022 wAe rIC tDF diff --git a/maps/cynosure/cynosure-3.dmm b/maps/cynosure/cynosure-3.dmm index 9001e5757c6..6689c57cb8c 100644 --- a/maps/cynosure/cynosure-3.dmm +++ b/maps/cynosure/cynosure-3.dmm @@ -83,10 +83,10 @@ dir = 1 }, /obj/machinery/cell_charger, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ pixel_y = -4 }, -/obj/item/weapon/cell/high, +/obj/item/cell/high, /obj/effect/floor_decal/corner/purple/border{ dir = 1 }, @@ -236,11 +236,11 @@ /obj/structure/table/steel, /obj/fiftyspawner/steel, /obj/fiftyspawner/glass, -/obj/item/weapon/storage/belt/utility{ +/obj/item/storage/belt/utility{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/storage/belt/utility, +/obj/item/storage/belt/utility, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, /obj/machinery/firealarm{ @@ -250,7 +250,7 @@ /obj/item/stack/material/copper{ amount = 20 }, -/obj/item/device/multitool, +/obj/item/multitool, /turf/simulated/floor/tiled, /area/surface/station/quartermaster/office) "aji" = ( @@ -296,9 +296,9 @@ /area/surface/station/security/prison) "aks" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/green, +/obj/item/bedsheet/green, /obj/effect/floor_decal/corner/lime/diagonal, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, @@ -311,7 +311,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, @@ -510,7 +510,7 @@ /obj/machinery/alarm{ pixel_y = 22 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, @@ -542,7 +542,7 @@ /turf/simulated/floor/tiled, /area/surface/station/ai_monitored/storage/eva) "asc" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -594,12 +594,12 @@ /obj/effect/floor_decal/corner/brown/border{ dir = 1 }, -/obj/item/weapon/coin/silver{ +/obj/item/coin/silver{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/coin/silver, -/obj/item/weapon/stamp/qm, +/obj/item/coin/silver, +/obj/item/stamp/qm, /obj/machinery/newscaster{ pixel_y = 28 }, @@ -684,7 +684,7 @@ /obj/structure/closet{ name = "Prisoner's Locker" }, -/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe, +/obj/item/reagent_containers/food/drinks/bottle/absinthe, /obj/item/clothing/suit/storage/apron/overalls, /turf/simulated/floor/tiled, /area/surface/station/security/prison) @@ -717,8 +717,8 @@ /obj/effect/floor_decal/corner_oldtile/blue{ dir = 6 }, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun{ +/obj/item/gun/energy/gun, +/obj/item/gun/energy/gun{ pixel_x = 2; pixel_y = -2 }, @@ -753,7 +753,7 @@ /turf/simulated/floor/tiled/techmaint, /area/surface/station/security/tactical) "ayM" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, @@ -917,7 +917,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /obj/machinery/camera/network/research{ @@ -1023,29 +1023,29 @@ /area/surface/station/crew_quarters/sleep/Dorm_4) "aMh" = ( /obj/structure/table/glass, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#FF6666"; name = "light red towel"; pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#FF6666"; name = "light red towel"; pixel_x = -1 }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#3fc0ea"; name = "light blue towel"; pixel_y = 2 }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#3fc0ea"; name = "light blue towel"; pixel_x = 1; pixel_y = 4 }, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /obj/random/soap, /obj/structure/cable/green, /obj/machinery/power/apc{ @@ -1061,7 +1061,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals_central7{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /turf/simulated/floor/tiled/old_tile/white, @@ -1113,7 +1113,7 @@ /obj/effect/floor_decal/spline/plain{ dir = 9 }, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/camera/network/medbay{ c_tag = "MED - Second Floor Hallway"; dir = 1 @@ -1164,7 +1164,7 @@ /area/surface/station/engineering/hallway/snd) "aPH" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /turf/simulated/floor/carpet, /area/surface/station/crew_quarters/sleep/Dorm_1) "aPW" = ( @@ -1444,7 +1444,7 @@ dir = 1 }, /obj/structure/bed/chair/office/dark, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, @@ -1623,13 +1623,13 @@ /area/surface/station/engineering/atmos/monitoring) "blU" = ( /obj/structure/table/standard, -/obj/item/device/camera_film, -/obj/item/device/camera_film{ +/obj/item/camera_film, +/obj/item/camera_film{ pixel_x = 2; pixel_y = 2 }, -/obj/item/device/camera, -/obj/item/device/camera{ +/obj/item/camera, +/obj/item/camera{ pixel_x = 2; pixel_y = 2 }, @@ -1715,8 +1715,8 @@ /area/surface/station/engineering/hallway/eva_hallway) "boW" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/material/ashtray/glass, -/obj/item/device/flashlight/lamp/green, +/obj/item/material/ashtray/glass, +/obj/item/flashlight/lamp/green, /obj/item/sticky_pad/random{ pixel_x = 8; pixel_y = -1 @@ -1764,16 +1764,16 @@ /area/surface/station/engineering/engi_restroom) "bpv" = ( /obj/structure/table/standard, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -3; pixel_y = -4 }, @@ -1786,7 +1786,7 @@ /turf/simulated/floor/tiled/old_cargo/gray, /area/surface/station/security/tactical) "bpV" = ( -/obj/item/weapon/banner/nt, +/obj/item/banner/nt, /obj/structure/disposalpipe/segment, /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -2058,10 +2058,10 @@ /area/surface/station/engineering/atmos/monitoring) "bzc" = ( /obj/structure/table/glass, -/obj/item/weapon/paper_bin, -/obj/item/weapon/clipboard, -/obj/item/weapon/folder/white, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/clipboard, +/obj/item/folder/white, +/obj/item/pen, /obj/effect/floor_decal/borderfloorwhite{ dir = 6 }, @@ -2148,10 +2148,10 @@ /obj/effect/floor_decal/corner_oldtile/red{ dir = 5 }, -/obj/item/weapon/storage/box/shotgunshells, -/obj/item/weapon/storage/box/shotgunshells, -/obj/item/weapon/storage/box/shotgunammo, -/obj/item/weapon/storage/box/shotgunammo, +/obj/item/storage/box/shotgunshells, +/obj/item/storage/box/shotgunshells, +/obj/item/storage/box/shotgunammo, +/obj/item/storage/box/shotgunammo, /obj/item/ammo_magazine/m45, /obj/item/ammo_magazine/m45, /obj/item/ammo_magazine/m45, @@ -2233,12 +2233,7 @@ /obj/effect/floor_decal/corner/blue/border{ dir = 5 }, -<<<<<<< HEAD -/obj/structure/flora/pottedplant/drooping, -/obj/item/device/radio/intercom{ -======= /obj/item/radio/intercom{ ->>>>>>> d94406daccd... Merge pull request #8859 from Spookerton/greenjoe12345/xmas2022 dir = 4; pixel_x = 21 }, @@ -2280,11 +2275,11 @@ /area/surface/station/medical/patient_wing) "bFn" = ( /obj/structure/table/standard, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#FFD700"; name = "gold towel" }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#FFD700"; name = "gold towel"; pixel_x = 1; @@ -2334,7 +2329,7 @@ /obj/machinery/r_n_d/circuit_imprinter, /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/green/border, -/obj/item/weapon/reagent_containers/glass/beaker/sulphuric, +/obj/item/reagent_containers/glass/beaker/sulphuric, /obj/structure/sign/poster/custom{ pixel_y = -32 }, @@ -2546,7 +2541,7 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/rig/hazmat/equipped, +/obj/item/rig/hazmat/equipped, /obj/machinery/door/window/southright{ name = "RD Suit"; req_one_access = list(30) @@ -2641,7 +2636,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, @@ -2723,7 +2718,7 @@ /obj/effect/floor_decal/corner/green/border{ dir = 8 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /turf/simulated/floor/tiled, @@ -2842,7 +2837,7 @@ dir = 10 }, /obj/structure/closet/secure_closet/personal/patient, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /obj/effect/floor_decal/corner/pink/border{ @@ -2892,7 +2887,7 @@ dir = 4; pixel_x = 24 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21; pixel_y = 32 @@ -2936,7 +2931,7 @@ pixel_x = 2; pixel_y = -2 }, -/obj/item/weapon/bikehorn/rubberducky{ +/obj/item/bikehorn/rubberducky{ layer = 3.1; name = "Tux" }, @@ -2986,10 +2981,10 @@ dir = 8 }, /obj/structure/table/rack, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /obj/item/clothing/head/hardhat/red, /obj/item/clothing/mask/gas, -/obj/item/device/flashlight, +/obj/item/flashlight, /obj/item/clothing/glasses/meson, /obj/random/maintenance/security, /obj/random/maintenance/engineering, @@ -3233,7 +3228,7 @@ /obj/effect/floor_decal/corner/green/border{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, @@ -3419,7 +3414,7 @@ /area/surface/station/medical/hallway/snd) "cpQ" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /obj/effect/zone_divider, /turf/simulated/floor/carpet, /area/surface/station/crew_quarters/sleep/Dorm_3) @@ -3607,7 +3602,7 @@ /obj/structure/cable/green{ icon_state = "0-8" }, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /obj/item/sticky_pad/random{ pixel_x = 8; pixel_y = -1 @@ -3729,7 +3724,7 @@ name = "Engineering Suits"; req_one_access = list(11,24) }, -/obj/item/weapon/rig/eva/equipped, +/obj/item/rig/eva/equipped, /turf/simulated/floor/tiled/dark, /area/surface/station/ai_monitored/storage/eva) "czT" = ( @@ -3753,7 +3748,7 @@ /obj/effect/floor_decal/corner/white/border, /obj/structure/table/reinforced, /obj/structure/window/reinforced, -/obj/item/weapon/folder/white, +/obj/item/folder/white, /turf/simulated/floor/tiled/techmaint, /area/surface/station/command/operations) "cAN" = ( @@ -4112,14 +4107,14 @@ /turf/simulated/floor/reinforced, /area/holodeck/alphadeck) "cOH" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, -/obj/item/device/radio/intercom/custom{ +/obj/item/radio/intercom/custom{ pixel_y = -21 }, -/obj/item/device/radio/intercom/private{ +/obj/item/radio/intercom/private{ dir = 1; pixel_y = 21 }, @@ -4183,8 +4178,8 @@ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/tank/jetpack/carbondioxide, -/obj/item/weapon/tank/jetpack/carbondioxide{ +/obj/item/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide{ pixel_x = 2; pixel_y = 2 }, @@ -4230,7 +4225,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/blue/border, /obj/structure/table/standard, -/obj/item/weapon/storage/laundry_basket, +/obj/item/storage/laundry_basket, /obj/machinery/light, /turf/simulated/floor/tiled/techmaint, /area/surface/station/hallway/secondary/secondfloor/dormhallway) @@ -4253,12 +4248,12 @@ pixel_y = 36 }, /obj/structure/table/reinforced, -/obj/item/weapon/circuitboard/teleporter, -/obj/item/weapon/circuitboard/aicore, -/obj/item/weapon/cartridge/signal/science, -/obj/item/weapon/cartridge/signal/science, -/obj/item/weapon/cartridge/signal/science, -/obj/item/device/megaphone, +/obj/item/circuitboard/teleporter, +/obj/item/circuitboard/aicore, +/obj/item/cartridge/signal/science, +/obj/item/cartridge/signal/science, +/obj/item/cartridge/signal/science, +/obj/item/megaphone, /obj/machinery/power/apc{ dir = 1; name = "north bump"; @@ -4367,24 +4362,24 @@ dir = 4 }, /obj/structure/closet, -/obj/item/device/tape/random, -/obj/item/device/taperecorder, -/obj/item/device/camera{ +/obj/item/tape/random, +/obj/item/taperecorder, +/obj/item/camera{ pixel_x = 2; pixel_y = 2 }, -/obj/item/device/camera, -/obj/item/device/flash, -/obj/item/device/flash, -/obj/item/weapon/storage/secure/briefcase, -/obj/item/weapon/storage/secure/briefcase{ +/obj/item/camera, +/obj/item/flash, +/obj/item/flash, +/obj/item/storage/secure/briefcase, +/obj/item/storage/secure/briefcase{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/briefcase{ +/obj/item/storage/briefcase{ pixel_y = 6 }, -/obj/item/weapon/storage/briefcase, +/obj/item/storage/briefcase, /obj/machinery/alarm{ dir = 4; pixel_x = -22 @@ -4564,8 +4559,8 @@ dir = 8 }, /obj/effect/floor_decal/industrial/warning/corner, -/obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers, -/obj/item/weapon/reagent_containers/food/drinks/cans/space_mountain_wind, +/obj/item/reagent_containers/food/snacks/cheesiehonkers, +/obj/item/reagent_containers/food/drinks/cans/space_mountain_wind, /obj/machinery/alarm{ dir = 1; pixel_y = -22 @@ -4598,7 +4593,7 @@ }, /obj/structure/closet/l3closet/virology, /obj/item/clothing/mask/gas, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, @@ -4633,7 +4628,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /turf/simulated/floor/tiled, @@ -5150,7 +5145,7 @@ }, /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/red/bordercorner, -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /turf/simulated/floor/tiled, /area/surface/station/security/prison) "dxp" = ( @@ -5213,10 +5208,10 @@ /area/surface/station/hallway/primary/secondfloor/east) "dzQ" = ( /obj/structure/table/steel, -/obj/item/device/floor_painter, -/obj/item/device/multitool, -/obj/item/weapon/storage/belt/utility, -/obj/item/weapon/storage/belt/utility, +/obj/item/floor_painter, +/obj/item/multitool, +/obj/item/storage/belt/utility, +/obj/item/storage/belt/utility, /obj/random/tech_supply, /obj/random/tech_supply, /obj/effect/floor_decal/borderfloor/corner{ @@ -5365,7 +5360,7 @@ /area/surface/station/rnd/robotics) "dGi" = ( /obj/structure/closet/secure_closet/medical3, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled/old_tile/white, @@ -5401,10 +5396,10 @@ "dGB" = ( /obj/structure/disposalpipe/segment, /obj/structure/table/glass, -/obj/item/device/antibody_scanner{ +/obj/item/antibody_scanner{ pixel_y = 4 }, -/obj/item/device/antibody_scanner, +/obj/item/antibody_scanner, /obj/effect/floor_decal/borderfloorwhite{ dir = 4 }, @@ -5703,14 +5698,14 @@ /area/surface/station/crew_quarters/heads/cmo) "dUn" = ( /obj/structure/table/steel, -/obj/item/weapon/paper_bin, -/obj/item/weapon/clipboard, -/obj/item/weapon/pen, -/obj/item/weapon/pen/red{ +/obj/item/paper_bin, +/obj/item/clipboard, +/obj/item/pen, +/obj/item/pen/red{ pixel_x = 3; pixel_y = 3 }, -/obj/item/device/retail_scanner/cargo, +/obj/item/retail_scanner/cargo, /obj/effect/floor_decal/borderfloor{ dir = 1 }, @@ -5815,7 +5810,7 @@ dir = 8 }, /obj/item/clothing/mask/breath, -/obj/item/weapon/rig/ce/equipped, +/obj/item/rig/ce/equipped, /obj/machinery/door/window/northright{ name = "Chief Engineer Suit Storage"; req_one_access = list(10) @@ -5934,7 +5929,7 @@ /turf/simulated/floor/tiled/steel_grid, /area/surface/station/crew_quarters/sleep/Dorm_2) "eaQ" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk... listen through this."; name = "Station Intercom (Brig Radio)"; pixel_y = -21; @@ -5976,11 +5971,11 @@ /obj/effect/floor_decal/corner/blue/border{ dir = 1 }, -/obj/item/weapon/clipboard, -/obj/item/weapon/folder/yellow_ce, -/obj/item/weapon/pen/multi, +/obj/item/clipboard, +/obj/item/folder/yellow_ce, +/obj/item/pen/multi, /obj/item/sticky_pad/random, -/obj/item/weapon/stamp/ce, +/obj/item/stamp/ce, /turf/simulated/floor/tiled, /area/surface/station/crew_quarters/heads/chief) "ecx" = ( @@ -6081,8 +6076,6 @@ dir = 8; pixel_y = 32 }, -<<<<<<< HEAD -======= /obj/structure/sign/levels/security{ dir = 5; pixel_y = 26 @@ -6091,7 +6084,6 @@ dir = 1; pixel_y = 32 }, ->>>>>>> d94406daccd... Merge pull request #8859 from Spookerton/greenjoe12345/xmas2022 /turf/simulated/floor/tiled, /area/surface/station/hallway/secondary/secondfloor/civilian) "ehU" = ( @@ -6201,11 +6193,11 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/gloves{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/box/masks, +/obj/item/storage/box/masks, /turf/simulated/floor/tiled/white, /area/surface/station/medical/virology) "epI" = ( @@ -6344,12 +6336,12 @@ /area/surface/station/ai_monitored/storage/eva) "esH" = ( /obj/structure/table/wooden_reinforced, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, -/obj/item/weapon/material/ashtray/glass, -/obj/item/device/flashlight/lamp/green, +/obj/item/material/ashtray/glass, +/obj/item/flashlight/lamp/green, /obj/item/sticky_pad/random{ pixel_x = 8; pixel_y = -1 @@ -6404,23 +6396,23 @@ pixel_x = 11; pixel_y = -23 }, -/obj/item/weapon/rcd_ammo{ +/obj/item/rcd_ammo{ pixel_y = -2 }, -/obj/item/weapon/rcd_ammo{ +/obj/item/rcd_ammo{ pixel_x = -2 }, -/obj/item/weapon/rcd_ammo{ +/obj/item/rcd_ammo{ pixel_x = -4; pixel_y = 2 }, -/obj/item/weapon/rcd_ammo{ +/obj/item/rcd_ammo{ pixel_x = -6; pixel_y = 4 }, -/obj/item/weapon/rcd, -/obj/item/weapon/cell/high, -/obj/item/weapon/cell/high, +/obj/item/rcd, +/obj/item/cell/high, +/obj/item/cell/high, /obj/effect/floor_decal/steeldecal/steel_decals_central7, /turf/simulated/floor/tiled/techmaint, /area/surface/station/crew_quarters/heads/chief) @@ -7005,7 +6997,7 @@ /turf/simulated/floor/tiled, /area/surface/station/hallway/secondary/secondfloor/command) "eRj" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, @@ -7090,7 +7082,7 @@ /obj/machinery/computer/skills{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, @@ -7141,7 +7133,7 @@ /turf/simulated/wall, /area/surface/station/engineering/hallway/snd) "eUJ" = ( -/obj/item/weapon/banner/nt, +/obj/item/banner/nt, /turf/simulated/floor/wood, /area/surface/station/command/meeting_room) "eVk" = ( @@ -7339,8 +7331,8 @@ /area/surface/station/maintenance/substation/security/snd) "fbe" = ( /obj/structure/table/glass, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /obj/effect/floor_decal/borderfloorwhite{ dir = 9 }, @@ -7391,7 +7383,7 @@ name = "Prisoner's Locker" }, /obj/random/cigarettes, -/obj/item/weapon/flame/lighter/zippo, +/obj/item/flame/lighter/zippo, /turf/simulated/floor/tiled, /area/surface/station/security/prison) "fct" = ( @@ -7412,14 +7404,14 @@ /obj/structure/table/standard, /obj/fiftyspawner/glass, /obj/fiftyspawner/glass, -/obj/item/weapon/storage/toolbox/electrical{ +/obj/item/storage/toolbox/electrical{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/toolbox/mechanical, -/obj/item/device/multitool, +/obj/item/storage/toolbox/mechanical, +/obj/item/multitool, /obj/item/clothing/head/welding, -/obj/item/weapon/storage/belt/utility, +/obj/item/storage/belt/utility, /obj/machinery/requests_console{ department = "EVA"; name = "EVA RC"; @@ -7562,7 +7554,7 @@ pixel_y = 36; req_one_access = list(2,4) }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, @@ -7633,11 +7625,11 @@ dir = 10 }, /obj/structure/table/wooden_reinforced, -/obj/item/weapon/storage/box/matches, +/obj/item/storage/box/matches, /obj/item/clothing/mask/smokable/cigarette/cigar/havana, -/obj/item/weapon/reagent_containers/food/drinks/flask, +/obj/item/reagent_containers/food/drinks/flask, /obj/random_multi/single_item/captains_spare_id, -/obj/item/weapon/material/ashtray/bronze, +/obj/item/material/ashtray/bronze, /turf/simulated/floor/carpet, /area/surface/station/crew_quarters/captain) "fnz" = ( @@ -7736,11 +7728,11 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/gun/projectile/shotgun/pump{ +/obj/item/gun/projectile/shotgun/pump{ pixel_x = -1; pixel_y = 2 }, -/obj/item/weapon/gun/projectile/shotgun/pump, +/obj/item/gun/projectile/shotgun/pump, /obj/effect/floor_decal/corner_oldtile/green{ dir = 6 }, @@ -8216,7 +8208,7 @@ /area/surface/station/engineering/reactor_airlock/snd) "fGj" = ( /obj/structure/table/standard, -/obj/item/device/paicard, +/obj/item/paicard, /obj/effect/floor_decal/borderfloor{ dir = 4 }, @@ -8364,12 +8356,12 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/item/weapon/storage/box/handcuffs{ +/obj/item/storage/box/handcuffs{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/box/chemimp, -/obj/item/weapon/storage/box/trackimp{ +/obj/item/storage/box/chemimp, +/obj/item/storage/box/trackimp{ pixel_x = -3; pixel_y = -3 }, @@ -8759,8 +8751,8 @@ /obj/machinery/firealarm{ pixel_y = 24 }, -/obj/item/device/flashlight/pen, -/obj/item/device/flashlight/pen, +/obj/item/flashlight/pen, +/obj/item/flashlight/pen, /obj/effect/floor_decal/borderfloorwhite/corner{ dir = 4 }, @@ -9116,7 +9108,7 @@ /obj/effect/floor_decal/industrial/warning/corner{ dir = 4 }, -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ dir = 8; pixel_x = 21 }, @@ -9223,11 +9215,11 @@ /area/surface/station/security/hallway/cell_hallway) "goT" = ( /obj/structure/closet/lawcloset, -/obj/item/device/flash, -/obj/item/weapon/storage/briefcase{ +/obj/item/flash, +/obj/item/storage/briefcase{ pixel_y = 6 }, -/obj/item/weapon/storage/secure/briefcase, +/obj/item/storage/secure/briefcase, /turf/simulated/floor/wood, /area/surface/station/command/liaison) "gpz" = ( @@ -9383,7 +9375,7 @@ /turf/simulated/shuttle/floor, /area/shuttle/large_escape_pod2/station) "guA" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk... listen through this."; name = "Station Intercom (Brig Radio)"; pixel_y = -21; @@ -9619,7 +9611,7 @@ /turf/simulated/floor/plating, /area/surface/station/maintenance/weststairwell/snd) "gAT" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk... listen through this."; name = "Station Intercom (Brig Radio)"; pixel_y = -21; @@ -9776,8 +9768,8 @@ /obj/machinery/light{ dir = 8 }, -/obj/item/weapon/hand_labeler, -/obj/item/device/retail_scanner/command{ +/obj/item/hand_labeler, +/obj/item/retail_scanner/command{ name = "retail scanner COM" }, /turf/simulated/floor/wood, @@ -10183,8 +10175,8 @@ /area/surface/station/ai_monitored/storage/eva) "gRD" = ( /obj/structure/closet/crate/freezer/nanotrasen, -/obj/item/weapon/virusdish/random, -/obj/item/weapon/virusdish/random, +/obj/item/virusdish/random, +/obj/item/virusdish/random, /obj/machinery/alarm{ dir = 8; pixel_x = 22 @@ -10231,20 +10223,20 @@ /obj/effect/floor_decal/corner_oldtile/red{ dir = 9 }, -/obj/item/weapon/storage/box/flashshells, -/obj/item/weapon/storage/box/beanbags{ +/obj/item/storage/box/flashshells, +/obj/item/storage/box/beanbags{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/box/beanbags{ +/obj/item/storage/box/beanbags{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/box/stunshells{ +/obj/item/storage/box/stunshells{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/box/stunshells{ +/obj/item/storage/box/stunshells{ pixel_x = 4; pixel_y = 4 }, @@ -10271,19 +10263,19 @@ /area/surface/station/security/tactical) "gTh" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/blue{ +/obj/item/paper_bin, +/obj/item/pen/blue{ pixel_x = -3; pixel_y = -3 }, -/obj/item/weapon/pen/red{ +/obj/item/pen/red{ pixel_x = -4; pixel_y = -4 }, -/obj/item/weapon/storage/fancy/markers{ +/obj/item/storage/fancy/markers{ pixel_y = -3 }, -/obj/item/weapon/storage/fancy/markers, +/obj/item/storage/fancy/markers, /obj/effect/floor_decal/borderfloor{ dir = 9 }, @@ -10371,7 +10363,7 @@ dir = 1; pixel_y = -24 }, -/obj/item/device/megaphone, +/obj/item/megaphone, /obj/random_multi/single_item/hand_tele, /turf/simulated/floor/tiled/techmaint, /area/surface/station/crew_quarters/heads/chief) @@ -10380,22 +10372,22 @@ /area/surface/station/maintenance/substation/command) "gWu" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /obj/effect/zone_divider, /turf/simulated/floor/carpet, /area/surface/station/crew_quarters/sleep/Dorm_4) "gWC" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/belt/medical, +/obj/item/storage/belt/medical, /obj/item/clothing/accessory/stethoscope, /obj/item/clothing/glasses/sunglasses/medhud, -/obj/item/device/radio{ +/obj/item/radio{ frequency = 1485; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link"; pixel_y = 4 }, -/obj/item/device/megaphone, +/obj/item/megaphone, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 }, @@ -10450,15 +10442,15 @@ dir = 4; pixel_x = -22 }, -/obj/item/weapon/packageWrap{ +/obj/item/packageWrap{ pixel_x = -2; pixel_y = -4 }, -/obj/item/weapon/packageWrap{ +/obj/item/packageWrap{ pixel_y = -2 }, -/obj/item/weapon/tape_roll, -/obj/item/weapon/tape_roll{ +/obj/item/tape_roll, +/obj/item/tape_roll{ pixel_x = 2 }, /obj/effect/floor_decal/borderfloor{ @@ -10664,7 +10656,7 @@ /obj/effect/floor_decal/corner/brown/border{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, @@ -10859,12 +10851,12 @@ /obj/effect/floor_decal/corner/blue/border{ dir = 9 }, -/obj/item/weapon/storage/secure/briefcase, -/obj/item/weapon/storage/box/PDAs{ +/obj/item/storage/secure/briefcase, +/obj/item/storage/box/PDAs{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/box/ids, +/obj/item/storage/box/ids, /obj/structure/window/reinforced{ dir = 4 }, @@ -11023,7 +11015,7 @@ /area/surface/station/maintenance/substation/security/snd) "hrj" = ( /obj/structure/closet/secure_closet/medical3, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /obj/machinery/alarm{ dir = 1; pixel_y = -22 @@ -11199,13 +11191,13 @@ /obj/effect/floor_decal/corner/blue/border{ dir = 1 }, -/obj/item/weapon/paper_bin, -/obj/item/weapon/folder/blue{ +/obj/item/paper_bin, +/obj/item/folder/blue{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/folder/red, -/obj/item/weapon/pen, +/obj/item/folder/red, +/obj/item/pen, /obj/machinery/light{ dir = 1 }, @@ -11280,7 +11272,7 @@ /obj/effect/floor_decal/corner/paleblue/border{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, @@ -11305,8 +11297,8 @@ /obj/item/clothing/accessory/armor/armguards/riot, /obj/item/clothing/accessory/armor/armorplate/riot, /obj/item/clothing/head/helmet/riot, -/obj/item/weapon/shield/riot, -/obj/item/weapon/melee/baton/loaded, +/obj/item/shield/riot, +/obj/item/melee/baton/loaded, /obj/machinery/door/window/brigdoor/southleft{ name = "Riot Armor" }, @@ -11398,11 +11390,11 @@ dir = 8 }, /obj/effect/catwalk_plated/dark, -/obj/item/weapon/storage/box/empslite{ +/obj/item/storage/box/empslite{ pixel_x = 1; pixel_y = 1 }, -/obj/item/weapon/storage/box/flashbangs{ +/obj/item/storage/box/flashbangs{ pixel_x = -3; pixel_y = -3 }, @@ -11450,7 +11442,7 @@ dir = 8 }, /obj/effect/floor_decal/steeldecal/steel_decals7, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, @@ -11472,13 +11464,13 @@ icon_state = "2-4" }, /obj/structure/table/reinforced, -/obj/item/weapon/book/codex/corp_regs, -/obj/item/weapon/stamp/denied, -/obj/item/weapon/stamp/ward, -/obj/item/weapon/tool/crowbar/red, -/obj/item/device/radio/off, -/obj/item/weapon/tool/wrench, -/obj/item/device/retail_scanner/security, +/obj/item/book/codex/corp_regs, +/obj/item/stamp/denied, +/obj/item/stamp/ward, +/obj/item/tool/crowbar/red, +/obj/item/radio/off, +/obj/item/tool/wrench, +/obj/item/retail_scanner/security, /obj/machinery/requests_console{ department = "Security"; departmentType = 5; @@ -11570,7 +11562,7 @@ /obj/structure/window/reinforced{ dir = 1 }, -/obj/item/weapon/tank/jetpack/oxygen, +/obj/item/tank/jetpack/oxygen, /obj/item/clothing/mask/gas, /obj/item/clothing/suit/armor/captain, /obj/item/clothing/head/helmet/space/capspace, @@ -11658,7 +11650,7 @@ /obj/effect/floor_decal/corner/red/bordercorner2{ dir = 4 }, -/obj/item/device/radio/headset, +/obj/item/radio/headset, /turf/simulated/floor/tiled, /area/surface/station/security/prison) "hPp" = ( @@ -11791,7 +11783,7 @@ /obj/effect/floor_decal/corner/green/border{ dir = 8 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /turf/simulated/floor/tiled, @@ -11933,7 +11925,7 @@ pixel_x = 23; pixel_y = 11 }, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /obj/item/sticky_pad/random{ pixel_x = 8; pixel_y = -1 @@ -12068,7 +12060,7 @@ "iaS" = ( /obj/structure/table/bench/padded, /obj/machinery/atmospherics/unary/vent_scrubber/on, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, @@ -12114,7 +12106,7 @@ /obj/effect/floor_decal/corner/green/border{ dir = 1 }, -/obj/item/device/integrated_circuit_printer, +/obj/item/integrated_circuit_printer, /turf/simulated/floor/tiled/dark, /area/surface/station/rnd/workshop) "icL" = ( @@ -12127,7 +12119,7 @@ /obj/effect/floor_decal/corner/purple/border{ dir = 8 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /turf/simulated/floor/tiled/white, @@ -12144,20 +12136,20 @@ dir = 1 }, /obj/structure/closet/crate/science, -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/capacitor, -/obj/item/weapon/stock_parts/capacitor, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/capacitor, +/obj/item/stock_parts/capacitor, /obj/item/stack/cable_coil, /obj/item/stack/cable_coil, -/obj/item/weapon/stock_parts/scanning_module, -/obj/item/weapon/stock_parts/scanning_module, -/obj/item/weapon/stock_parts/console_screen, -/obj/item/weapon/stock_parts/console_screen, -/obj/item/weapon/stock_parts/matter_bin, -/obj/item/weapon/stock_parts/matter_bin, -/obj/item/weapon/stock_parts/micro_laser, -/obj/item/weapon/stock_parts/micro_laser, +/obj/item/stock_parts/scanning_module, +/obj/item/stock_parts/scanning_module, +/obj/item/stock_parts/console_screen, +/obj/item/stock_parts/console_screen, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/micro_laser, +/obj/item/stock_parts/micro_laser, /obj/effect/floor_decal/corner/purple/border{ dir = 1 }, @@ -12184,7 +12176,7 @@ /turf/simulated/floor/tiled/dark, /area/surface/station/maintenance/substation/research/snd) "ifR" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, @@ -12219,7 +12211,7 @@ /obj/machinery/door/window/northright{ name = "shower" }, -/obj/item/weapon/bikehorn/rubberducky, +/obj/item/bikehorn/rubberducky, /turf/simulated/floor/tiled/eris, /area/surface/station/crew_quarters/captain) "ige" = ( @@ -12277,7 +12269,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk... listen through this."; name = "Station Intercom (Brig Radio)"; pixel_y = -21; @@ -12632,8 +12624,8 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 }, -/obj/item/weapon/paper_bin, -/obj/item/weapon/book/manual/supermatter_engine, +/obj/item/paper_bin, +/obj/item/book/manual/supermatter_engine, /obj/item/clothing/glasses/meson, /obj/item/clothing/glasses/welding/superior, /turf/simulated/floor/tiled/monotile, @@ -13244,7 +13236,7 @@ /obj/effect/floor_decal/industrial/warning{ dir = 4 }, -/obj/item/weapon/reagent_containers/glass/beaker/sulphuric, +/obj/item/reagent_containers/glass/beaker/sulphuric, /obj/machinery/alarm{ dir = 8; pixel_x = 22 @@ -13330,9 +13322,9 @@ /obj/effect/floor_decal/steeldecal/steel_decals_central5{ dir = 4 }, -/obj/item/weapon/clipboard, -/obj/item/weapon/folder/yellow, -/obj/item/weapon/pen/multi, +/obj/item/clipboard, +/obj/item/folder/yellow, +/obj/item/pen/multi, /turf/simulated/floor/tiled, /area/surface/station/quartermaster/qm) "iPC" = ( @@ -13407,7 +13399,7 @@ dir = 5 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/item/weapon/book/codex/corp_regs, +/obj/item/book/codex/corp_regs, /turf/simulated/floor/carpet/blue, /area/surface/station/command/meeting_room) "iRn" = ( @@ -13465,7 +13457,7 @@ /obj/machinery/computer/med_data/laptop{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, @@ -13484,7 +13476,7 @@ /area/surface/station/medical/patient_a) "iRU" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /obj/effect/floor_decal/borderfloorblack{ dir = 4 }, @@ -13521,7 +13513,7 @@ /obj/effect/floor_decal/corner/blue/bordercorner2{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, @@ -13569,18 +13561,18 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/item/weapon/paper_bin, -/obj/item/weapon/folder, -/obj/item/weapon/folder/blue{ +/obj/item/paper_bin, +/obj/item/folder, +/obj/item/folder/blue{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/folder/red{ +/obj/item/folder/red{ pixel_x = -2 }, -/obj/item/weapon/folder/yellow, -/obj/item/weapon/stamp/internalaffairs, -/obj/item/weapon/stamp/denied{ +/obj/item/folder/yellow, +/obj/item/stamp/internalaffairs, +/obj/item/stamp/denied{ pixel_x = 2; pixel_y = 2 }, @@ -13642,9 +13634,9 @@ /obj/structure/table/steel, /obj/item/clothing/gloves/black, /obj/item/clothing/gloves/black, -/obj/item/weapon/tool/crowbar/red, -/obj/item/weapon/tool/crowbar/red, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/tool/crowbar/red, +/obj/item/tool/crowbar/red, +/obj/item/storage/box/lights/mixed, /obj/random/tech_supply, /obj/random/tech_supply, /obj/effect/floor_decal/borderfloor{ @@ -13657,7 +13649,7 @@ dir = 8; pixel_x = 22 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, @@ -13676,10 +13668,10 @@ /area/surface/station/medical/hallway/snd) "iVq" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{ +/obj/item/reagent_containers/glass/beaker/cryoxadone{ pixel_x = -4 }, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /obj/random/medical/lite, /obj/structure/closet/walllocker/emerglocker{ pixel_y = -32 @@ -14019,7 +14011,7 @@ /obj/effect/floor_decal/corner/green/border{ dir = 4 }, -/obj/item/weapon/circuitboard/airalarm, +/obj/item/circuitboard/airalarm, /turf/simulated/floor/tiled/techmaint, /area/surface/station/construction/office) "jfz" = ( @@ -14319,7 +14311,7 @@ /area/surface/station/engineering/reactor_airlock/snd) "jnl" = ( /obj/machinery/r_n_d/circuit_imprinter, -/obj/item/weapon/reagent_containers/glass/beaker/sulphuric, +/obj/item/reagent_containers/glass/beaker/sulphuric, /obj/machinery/requests_console{ department = "Robotics"; departmentType = 2; @@ -14689,7 +14681,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk... listen through this."; name = "Station Intercom (Brig Radio)"; pixel_y = -21; @@ -14737,7 +14729,7 @@ dir = 4; pixel_x = 24 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, @@ -14750,7 +14742,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/black{ dir = 4 }, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled/white, /area/surface/station/medical/virology) "jyY" = ( @@ -15025,7 +15017,7 @@ /area/surface/station/security/prison) "jHa" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/captaindouble, +/obj/item/bedsheet/captaindouble, /turf/simulated/floor/carpet, /area/surface/station/crew_quarters/captain) "jHw" = ( @@ -15172,9 +15164,9 @@ /area/surface/station/crew_quarters/captain) "jKS" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/clipboard, -/obj/item/weapon/pen/blue, -/obj/item/weapon/pen/red{ +/obj/item/clipboard, +/obj/item/pen/blue, +/obj/item/pen/red{ pixel_x = -4; pixel_y = -4 }, @@ -15267,7 +15259,7 @@ dir = 8 }, /obj/machinery/light, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /obj/effect/floor_decal/borderfloor, @@ -15302,7 +15294,7 @@ /area/surface/station/maintenance/substation/security/snd) "jQf" = ( /obj/structure/table/steel, -/obj/item/weapon/deck/cards, +/obj/item/deck/cards, /obj/effect/floor_decal/borderfloor{ dir = 4 }, @@ -15566,32 +15558,32 @@ /area/surface/station/medical/restroom) "jZn" = ( /obj/structure/table/steel, -/obj/item/device/multitool{ +/obj/item/multitool{ pixel_x = 2; pixel_y = 2 }, -/obj/item/device/multitool, -/obj/item/weapon/storage/belt/utility{ +/obj/item/multitool, +/obj/item/storage/belt/utility{ pixel_y = 3 }, -/obj/item/weapon/storage/belt/utility, -/obj/item/weapon/tool/crowbar{ +/obj/item/storage/belt/utility, +/obj/item/tool/crowbar{ pixel_y = -2 }, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/storage/toolbox/electrical{ +/obj/item/tool/crowbar, +/obj/item/storage/toolbox/electrical{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/toolbox/electrical{ +/obj/item/storage/toolbox/electrical{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_x = -4; pixel_y = -4 }, @@ -15970,9 +15962,9 @@ /turf/simulated/wall/r_wall, /area/surface/station/command/internalaffairs) "knJ" = ( -/obj/item/weapon/bedsheet/green, +/obj/item/bedsheet/green, /obj/structure/bed/padded, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /turf/simulated/floor/tiled/neutral, @@ -16223,9 +16215,9 @@ /obj/machinery/alarm{ pixel_y = 22 }, -/obj/item/weapon/paper_bin, -/obj/item/weapon/folder/white, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/folder/white, +/obj/item/pen, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 }, @@ -16269,7 +16261,7 @@ "kzF" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/structure/table/wooden_reinforced, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /obj/machinery/computer/security/telescreen/entertainment{ icon_state = "frame"; pixel_y = 32 @@ -16471,7 +16463,7 @@ /area/surface/station/construction/office) "kNE" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/box/donut, +/obj/item/storage/box/donut, /turf/simulated/floor/wood, /area/surface/station/command/meeting_room) "kOm" = ( @@ -16593,7 +16585,7 @@ /area/surface/outside/station/roof) "kRF" = ( /obj/structure/table/bench/padded, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ pixel_y = 21 }, /obj/effect/floor_decal/borderfloorwhite{ @@ -16650,10 +16642,10 @@ pixel_y = 24 }, /obj/structure/closet/wardrobe/robotics_black, -/obj/item/device/radio/headset/headset_sci, -/obj/item/device/radio/headset/headset_sci, -/obj/item/device/flash, -/obj/item/device/flash, +/obj/item/radio/headset/headset_sci, +/obj/item/radio/headset/headset_sci, +/obj/item/flash, +/obj/item/flash, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 }, @@ -16773,7 +16765,7 @@ /obj/effect/floor_decal/corner_oldtile/blue{ dir = 6 }, -/obj/item/weapon/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle, /obj/machinery/door/window/brigdoor/westleft{ name = "Weapon Locker" }, @@ -16903,7 +16895,7 @@ /obj/effect/floor_decal/corner/orange/border{ dir = 9 }, -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /turf/simulated/floor/tiled, /area/surface/station/security/prison) "ljs" = ( @@ -16911,7 +16903,7 @@ dir = 8 }, /obj/structure/disposalpipe/segment, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, /obj/effect/floor_decal/borderfloorwhite{ @@ -16970,16 +16962,16 @@ "lkG" = ( /obj/structure/table/wooden_reinforced, /obj/machinery/recharger, -/obj/item/weapon/storage/secure/safe{ +/obj/item/storage/secure/safe{ pixel_x = -23 }, /turf/simulated/floor/wood, /area/surface/station/crew_quarters/captain) "lkP" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/green, +/obj/item/bedsheet/green, /obj/effect/floor_decal/corner/lime/diagonal, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 4; pixel_x = -21 }, @@ -17079,10 +17071,10 @@ "lpi" = ( /obj/structure/table/glass, /obj/effect/floor_decal/borderfloorwhite, -/obj/item/weapon/hand_labeler, -/obj/item/weapon/pen, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, +/obj/item/hand_labeler, +/obj/item/pen, +/obj/item/packageWrap, +/obj/item/packageWrap, /obj/effect/floor_decal/corner/purple/border, /turf/simulated/floor/tiled/white, /area/surface/station/rnd/lab) @@ -17323,12 +17315,12 @@ /area/surface/station/hallway/secondary/secondfloor/civilian) "lyL" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/storage/photo_album{ +/obj/item/storage/photo_album{ pixel_x = -3; pixel_y = -3 }, -/obj/item/device/camera, -/obj/item/device/radio/intercom{ +/obj/item/camera, +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, @@ -17458,7 +17450,7 @@ /obj/structure/closet{ name = "welding equipment" }, -/obj/item/weapon/weldpack, +/obj/item/weldpack, /obj/item/clothing/glasses/welding, /obj/item/clothing/glasses/welding{ pixel_y = -4 @@ -17688,7 +17680,7 @@ /obj/effect/floor_decal/corner/pink/border{ dir = 4 }, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 8; pixel_x = 21 }, @@ -18101,7 +18093,7 @@ /obj/effect/floor_decal/corner/blue/border{ dir = 4 }, -/obj/item/weapon/paper/dockingcodes{ +/obj/item/paper/dockingcodes{ codes_from_z = 4; name = "Telecomms Docking Codes" }, @@ -18111,7 +18103,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk... listen through this."; name = "Station Intercom (Brig Radio)"; pixel_y = -21; @@ -18227,7 +18219,7 @@ /turf/simulated/floor/tiled, /area/surface/station/security/prison) "mms" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /obj/machinery/atmospherics/unary/vent_scrubber/on{ @@ -18392,11 +18384,11 @@ /area/surface/station/quartermaster/foyer) "msb" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin, -/obj/item/weapon/clipboard, -/obj/item/weapon/folder/white_cmo, -/obj/item/weapon/stamp/cmo, -/obj/item/weapon/pen/multi, +/obj/item/paper_bin, +/obj/item/clipboard, +/obj/item/folder/white_cmo, +/obj/item/stamp/cmo, +/obj/item/pen/multi, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 }, @@ -18486,41 +18478,41 @@ /area/surface/station/security/hallway/stairwell) "mvl" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin, -/obj/item/weapon/hand_labeler, -/obj/item/weapon/pen/blue{ +/obj/item/paper_bin, +/obj/item/hand_labeler, +/obj/item/pen/blue{ pixel_x = -3 }, -/obj/item/weapon/pen, -/obj/item/device/mmi, -/obj/item/device/mmi, -/obj/item/device/mmi, -/obj/item/weapon/storage/box/bodybags{ +/obj/item/pen, +/obj/item/mmi, +/obj/item/mmi, +/obj/item/mmi, +/obj/item/storage/box/bodybags{ pixel_x = 2; pixel_y = 3 }, -/obj/item/weapon/storage/box/gloves, +/obj/item/storage/box/gloves, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 }, /obj/effect/floor_decal/corner/purple/border{ dir = 1 }, -/obj/item/weapon/pen/red{ +/obj/item/pen/red{ pixel_x = 3; pixel_y = 3 }, /turf/simulated/floor/tiled/white, /area/surface/station/rnd/robotics) "mvm" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, -/obj/item/device/radio/intercom/custom{ +/obj/item/radio/intercom/custom{ pixel_y = -21 }, -/obj/item/device/radio/intercom/private{ +/obj/item/radio/intercom/private{ dir = 1; pixel_y = 21 }, @@ -18554,12 +18546,12 @@ /obj/structure/window/reinforced, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/yellow/border, -/obj/item/weapon/folder/yellow, -/obj/item/device/flashlight{ +/obj/item/folder/yellow, +/obj/item/flashlight{ pixel_x = 2; pixel_y = 2 }, -/obj/item/device/flashlight, +/obj/item/flashlight, /obj/machinery/light, /turf/simulated/floor/tiled/techmaint, /area/surface/station/command/operations) @@ -18716,7 +18708,7 @@ /area/surface/station/holodeck_control) "mEG" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/green, +/obj/item/bedsheet/green, /obj/effect/floor_decal/corner/lime/diagonal, /obj/machinery/alarm{ dir = 4; @@ -18778,7 +18770,7 @@ /obj/effect/floor_decal/corner/purple/bordercorner2{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, @@ -18928,7 +18920,7 @@ /area/surface/station/command/teleporter) "mJs" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/box/cups, +/obj/item/storage/box/cups, /turf/simulated/floor/wood, /area/surface/station/command/meeting_room) "mJt" = ( @@ -18942,7 +18934,7 @@ /obj/machinery/disposal, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /turf/simulated/floor/tiled, @@ -18971,10 +18963,10 @@ dir = 9 }, /obj/structure/table/standard, -/obj/item/device/radio/beacon{ +/obj/item/radio/beacon{ pixel_y = 4 }, -/obj/item/device/radio/beacon, +/obj/item/radio/beacon, /obj/random_multi/single_item/hand_tele, /obj/machinery/firealarm{ dir = 4; @@ -19068,9 +19060,9 @@ /area/surface/station/medical/patient_wing) "mMW" = ( /obj/structure/table/woodentable, -/obj/item/weapon/book/codex/corp_regs, -/obj/item/device/tape/random, -/obj/item/device/taperecorder, +/obj/item/book/codex/corp_regs, +/obj/item/tape/random, +/obj/item/taperecorder, /turf/simulated/floor/carpet, /area/surface/station/crew_quarters/captain) "mMX" = ( @@ -19239,7 +19231,7 @@ /obj/effect/floor_decal/industrial/warning{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, @@ -19378,7 +19370,7 @@ c_tag = "Second Floor - West Skybridge 2"; dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, @@ -19665,12 +19657,12 @@ }, /obj/effect/floor_decal/steeldecal/steel_decals_central5, /obj/structure/table/glass, -/obj/item/weapon/storage/box/beakers{ +/obj/item/storage/box/beakers{ pixel_x = 4; pixel_y = 3 }, -/obj/item/weapon/storage/box/syringes, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/storage/box/syringes, +/obj/item/reagent_containers/dropper, /turf/simulated/floor/tiled/neutral, /area/surface/station/medical/virology) "nmG" = ( @@ -19734,12 +19726,12 @@ /area/surface/station/maintenance/substation/security/snd) "nod" = ( /obj/structure/table/standard, -/obj/item/device/tape/random, -/obj/item/device/tape/random{ +/obj/item/tape/random, +/obj/item/tape/random{ pixel_y = -2 }, -/obj/item/device/taperecorder, -/obj/item/device/taperecorder{ +/obj/item/taperecorder, +/obj/item/taperecorder{ pixel_x = 3 }, /obj/effect/floor_decal/borderfloor{ @@ -19776,15 +19768,15 @@ }, /obj/item/clothing/accessory/armor/armorplate/riot, /obj/item/clothing/head/helmet/riot, -/obj/item/weapon/shield/riot, +/obj/item/shield/riot, /obj/machinery/door/window/brigdoor/southleft{ name = "Riot Armor" }, -/obj/item/weapon/shield/riot{ +/obj/item/shield/riot{ pixel_x = 2; pixel_y = -3 }, -/obj/item/weapon/melee/baton/loaded, +/obj/item/melee/baton/loaded, /turf/simulated/floor/tiled/techmaint, /area/surface/station/security/armoury) "npe" = ( @@ -19809,11 +19801,11 @@ /obj/structure/cable/green{ icon_state = "1-2" }, -/obj/item/device/mmi/digital/robot, -/obj/item/device/robotanalyzer{ +/obj/item/mmi/digital/robot, +/obj/item/robotanalyzer{ pixel_y = 4 }, -/obj/item/device/robotanalyzer, +/obj/item/robotanalyzer, /turf/simulated/floor/tiled/old_tile/gray, /area/surface/station/rnd/robotics) "npn" = ( @@ -19871,11 +19863,11 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, -/obj/item/weapon/clipboard, -/obj/item/weapon/folder/red, -/obj/item/weapon/hand_labeler, +/obj/item/paper_bin, +/obj/item/pen, +/obj/item/clipboard, +/obj/item/folder/red, +/obj/item/hand_labeler, /turf/simulated/floor/tiled/dark, /area/surface/station/security/warden) "nrJ" = ( @@ -19898,17 +19890,17 @@ dir = 4 }, /obj/structure/table/steel, -/obj/item/weapon/storage/box/donkpockets, -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets, +/obj/item/storage/box/donkpockets{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/box/cups{ +/obj/item/storage/box/cups{ pixel_x = 4; pixel_y = 4 }, -/obj/item/device/tape/random, -/obj/item/device/taperecorder, +/obj/item/tape/random, +/obj/item/taperecorder, /turf/simulated/floor/tiled, /area/surface/station/security/prison) "nsL" = ( @@ -19925,7 +19917,7 @@ req_one_access = list(7) }, /obj/item/sticky_pad/random, -/obj/item/weapon/deskbell, +/obj/item/deskbell, /turf/simulated/floor/tiled, /area/surface/station/rnd/lab) "ntf" = ( @@ -19949,7 +19941,7 @@ "nuq" = ( /obj/structure/table/standard, /obj/random/medical/lite, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /obj/item/bodybag/cryobag, /obj/machinery/requests_console{ department = "Engineering"; @@ -20327,7 +20319,7 @@ /turf/simulated/floor/tiled/white, /area/surface/station/medical/office) "nHy" = ( -/obj/item/device/radio/intercom/custom{ +/obj/item/radio/intercom/custom{ dir = 1; pixel_y = 21 }, @@ -20504,7 +20496,7 @@ dir = 4 }, /obj/machinery/shieldwallgen, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /obj/machinery/alarm{ @@ -20517,7 +20509,7 @@ "nQN" = ( /obj/machinery/atmospherics/portables_connector, /obj/machinery/portable_atmospherics/powered/scrubber, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /obj/effect/floor_decal/industrial/warning{ dir = 9 }, @@ -20583,10 +20575,10 @@ dir = 4 }, /obj/structure/table/steel, -/obj/item/device/communicator, -/obj/item/device/communicator, -/obj/item/device/radio/headset, -/obj/item/device/radio/headset, +/obj/item/communicator, +/obj/item/communicator, +/obj/item/radio/headset, +/obj/item/radio/headset, /turf/simulated/floor/tiled/techmaint, /area/surface/station/security/prison) "nUo" = ( @@ -20644,7 +20636,7 @@ /obj/structure/cable/green{ icon_state = "4-8" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk... listen through this."; name = "Station Intercom (Brig Radio)"; pixel_y = -21; @@ -20746,7 +20738,7 @@ /area/surface/station/rnd/robotics) "odf" = ( /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ dir = 4; pixel_x = -21 }, @@ -20780,13 +20772,13 @@ /area/surface/station/engineering/hallway/snd) "ofN" = ( /obj/structure/table/steel, -/obj/item/weapon/folder/yellow, -/obj/item/weapon/stamp/denied{ +/obj/item/folder/yellow, +/obj/item/stamp/denied{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/stamp/cargo, -/obj/item/weapon/deskbell, +/obj/item/stamp/cargo, +/obj/item/deskbell, /obj/effect/floor_decal/borderfloor{ dir = 1 }, @@ -20866,7 +20858,7 @@ }, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/blue/border, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /turf/simulated/floor/tiled, @@ -21001,11 +20993,11 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 }, -/obj/item/device/suit_cooling_unit{ +/obj/item/suit_cooling_unit{ pixel_x = 4; pixel_y = -2 }, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, /turf/simulated/floor/tiled, /area/surface/station/engineering/engine_eva) "onW" = ( @@ -21095,7 +21087,7 @@ dir = 1 }, /obj/machinery/atmospherics/unary/vent_scrubber/on, -/obj/item/device/electronic_assembly/large, +/obj/item/electronic_assembly/large, /turf/simulated/floor/tiled/dark, /area/surface/station/rnd/workshop) "orU" = ( @@ -21147,8 +21139,8 @@ }, /obj/structure/table/standard, /obj/machinery/cell_charger, -/obj/item/weapon/cell/high, -/obj/item/weapon/cell/high{ +/obj/item/cell/high, +/obj/item/cell/high{ pixel_y = -4 }, /obj/item/stack/cable_coil, @@ -21156,11 +21148,11 @@ pixel_x = 2; pixel_y = 2 }, -/obj/item/device/radio/off{ +/obj/item/radio/off{ pixel_x = 2; pixel_y = 2 }, -/obj/item/device/radio/off, +/obj/item/radio/off, /obj/machinery/alarm{ dir = 4; pixel_x = -22 @@ -21200,7 +21192,7 @@ /area/surface/station/hallway/secondary/secondfloor/civilian) "oup" = ( /obj/structure/table/standard, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, @@ -21229,21 +21221,21 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, -/obj/item/weapon/storage/fancy/vials{ +/obj/item/storage/fancy/vials{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/lockbox/vials, -/obj/item/weapon/reagent_containers/syringe/antiviral{ +/obj/item/storage/lockbox/vials, +/obj/item/reagent_containers/syringe/antiviral{ pixel_x = -4; pixel_y = -4 }, -/obj/item/weapon/reagent_containers/syringe/antiviral{ +/obj/item/reagent_containers/syringe/antiviral{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/reagent_containers/syringe/antiviral{ +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/syringe/antiviral{ pixel_x = 2; pixel_y = 2 }, @@ -21319,7 +21311,7 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/item/device/radio/beacon, +/obj/item/radio/beacon, /turf/simulated/floor/tiled, /area/surface/station/hallway/primary/secondfloor/east) "oxI" = ( @@ -21433,7 +21425,7 @@ dir = 8 }, /obj/machinery/photocopier, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, @@ -21547,7 +21539,7 @@ /obj/effect/floor_decal/corner/yellow/border{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, @@ -21579,7 +21571,7 @@ /obj/structure/cable/green{ icon_state = "1-8" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, @@ -21599,11 +21591,11 @@ /obj/effect/floor_decal/corner/blue/border{ dir = 4 }, -/obj/item/weapon/paper_bin, -/obj/item/device/paicard, -/obj/item/device/tape/random, -/obj/item/device/taperecorder, -/obj/item/weapon/reagent_containers/food/drinks/jar, +/obj/item/paper_bin, +/obj/item/paicard, +/obj/item/tape/random, +/obj/item/taperecorder, +/obj/item/reagent_containers/food/drinks/jar, /obj/structure/cable/green{ icon_state = "1-2" }, @@ -21975,17 +21967,17 @@ /area/surface/station/hallway/primary/secondfloor/east) "oVf" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/folder/blue{ +/obj/item/folder/blue{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/folder/blue_captain, -/obj/item/weapon/stamp/denied{ +/obj/item/folder/blue_captain, +/obj/item/stamp/denied{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/stamp/captain, -/obj/item/device/megaphone, +/obj/item/stamp/captain, +/obj/item/megaphone, /obj/structure/window/reinforced{ dir = 8 }, @@ -22078,11 +22070,11 @@ /area/surface/station/holodeck_control) "oZZ" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/belt/medical, -/obj/item/weapon/storage/belt/medical, -/obj/item/weapon/storage/belt/medical, -/obj/item/weapon/storage/belt/medical, -/obj/item/weapon/storage/belt/medical, +/obj/item/storage/belt/medical, +/obj/item/storage/belt/medical, +/obj/item/storage/belt/medical, +/obj/item/storage/belt/medical, +/obj/item/storage/belt/medical, /obj/item/clothing/accessory/stethoscope, /obj/item/clothing/accessory/stethoscope, /obj/item/clothing/accessory/stethoscope, @@ -22136,10 +22128,10 @@ pixel_x = -4; pixel_y = 4 }, -/obj/item/weapon/folder/white_rd, -/obj/item/weapon/paper/monitorkey, -/obj/item/weapon/stamp/rd, -/obj/item/weapon/pen/multi, +/obj/item/folder/white_rd, +/obj/item/paper/monitorkey, +/obj/item/stamp/rd, +/obj/item/pen/multi, /obj/item/clothing/glasses/welding/superior, /turf/simulated/floor/tiled/white, /area/surface/station/crew_quarters/heads/rdoffice) @@ -22442,15 +22434,15 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/gun/projectile/colt/detective{ +/obj/item/gun/projectile/colt/detective{ pixel_x = 5; pixel_y = -4 }, -/obj/item/weapon/gun/projectile/colt/detective{ +/obj/item/gun/projectile/colt/detective{ pixel_x = 3; pixel_y = -2 }, -/obj/item/weapon/gun/projectile/colt/detective, +/obj/item/gun/projectile/colt/detective, /obj/machinery/door/window/brigdoor/westright{ name = "Weapons Locker"; req_access = list(2) @@ -22480,7 +22472,7 @@ /area/surface/station/medical/patient_wing) "pmw" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/box/donut, +/obj/item/storage/box/donut, /turf/simulated/floor/carpet, /area/surface/station/crew_quarters/captain) "pmL" = ( @@ -22945,8 +22937,8 @@ }, /obj/item/roller, /obj/item/bodybag/cryobag, -/obj/item/weapon/storage/firstaid, -/obj/item/weapon/storage/pill_bottle/spaceacillin, +/obj/item/storage/firstaid, +/obj/item/storage/pill_bottle/spaceacillin, /turf/simulated/floor/tiled, /area/surface/station/hallway/secondary/secondfloor/civilian) "pFH" = ( @@ -23169,16 +23161,9 @@ pixel_x = -32; pixel_y = -6 }, -<<<<<<< HEAD -/obj/structure/sign/directions/stairs_down{ - dir = 4; - pixel_x = -32; - pixel_y = -12 -======= /obj/structure/sign/christmas/lights{ dir = 8; pixel_x = -32 ->>>>>>> d94406daccd... Merge pull request #8859 from Spookerton/greenjoe12345/xmas2022 }, /turf/simulated/floor/plating, /area/surface/station/hallway/primary/secondfloor/east) @@ -23228,7 +23213,7 @@ /area/surface/station/quartermaster/office) "pNl" = ( /obj/structure/table/steel, -/obj/item/weapon/stamp{ +/obj/item/stamp{ pixel_x = -3; pixel_y = 3 }, @@ -23238,8 +23223,8 @@ /obj/effect/floor_decal/corner/brown/border{ dir = 6 }, -/obj/item/weapon/stamp/cargo, -/obj/item/weapon/hand_labeler, +/obj/item/stamp/cargo, +/obj/item/hand_labeler, /turf/simulated/floor/tiled, /area/surface/station/quartermaster/office) "pNA" = ( @@ -23378,7 +23363,7 @@ /obj/effect/floor_decal/corner/orange/border{ dir = 1 }, -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /turf/simulated/floor/tiled, /area/surface/station/security/prison) "pUx" = ( @@ -23402,15 +23387,15 @@ pixel_y = 10 }, /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/drinks/britcup{ +/obj/item/reagent_containers/food/drinks/britcup{ pixel_x = 10; pixel_y = -2 }, -/obj/item/weapon/reagent_containers/glass/bottle/eznutrient{ +/obj/item/reagent_containers/glass/bottle/eznutrient{ pixel_x = -6; pixel_y = 10 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, @@ -23750,7 +23735,7 @@ dir = 8 }, /obj/structure/table/standard, -/obj/item/weapon/camera_assembly, +/obj/item/camera_assembly, /turf/simulated/floor/tiled/techmaint, /area/surface/station/construction/office) "qcG" = ( @@ -24016,11 +24001,11 @@ /obj/structure/cable/green{ icon_state = "2-4" }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/briefcase/inflatable, +/obj/item/storage/briefcase/inflatable, /obj/item/clamp, /obj/item/clamp, /turf/simulated/floor/tiled/monotile, @@ -24143,8 +24128,8 @@ /obj/machinery/alarm{ pixel_y = 22 }, -/obj/item/weapon/soap/deluxe, -/obj/item/weapon/towel{ +/obj/item/soap/deluxe, +/obj/item/towel{ color = "#FFD700"; name = "gold towel" }, @@ -24229,7 +24214,7 @@ "qvp" = ( /obj/structure/closet/secure_closet/brig, /obj/machinery/atmospherics/unary/vent_scrubber/on, -/obj/item/device/radio/headset, +/obj/item/radio/headset, /obj/machinery/light{ dir = 1 }, @@ -24374,7 +24359,7 @@ /obj/effect/landmark/start{ name = "AI" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, @@ -24384,12 +24369,12 @@ name = "AI Chamber turret control"; pixel_x = -32 }, -/obj/item/device/radio/intercom/custom{ +/obj/item/radio/intercom/custom{ dir = 8; pixel_x = -21; pixel_y = 16 }, -/obj/item/device/radio/intercom/private{ +/obj/item/radio/intercom/private{ dir = 4; pixel_x = 21; pixel_y = 16 @@ -24416,8 +24401,8 @@ }, /obj/effect/catwalk_plated/dark, /obj/structure/table/standard, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit{ +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit{ pixel_x = 4; pixel_y = -2 }, @@ -24432,9 +24417,9 @@ /obj/effect/floor_decal/corner/brown/border{ dir = 1 }, -/obj/item/weapon/paper_bin, -/obj/item/device/megaphone, -/obj/item/device/radio/intercom{ +/obj/item/paper_bin, +/obj/item/megaphone, +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, @@ -24558,7 +24543,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk... listen through this."; name = "Station Intercom (Brig Radio)"; pixel_y = -21; @@ -24789,8 +24774,8 @@ /obj/item/clothing/accessory/armor/armguards/riot, /obj/item/clothing/accessory/armor/armorplate/riot, /obj/item/clothing/head/helmet/riot, -/obj/item/weapon/shield/riot, -/obj/item/weapon/melee/baton/loaded, +/obj/item/shield/riot, +/obj/item/melee/baton/loaded, /obj/machinery/door/window/brigdoor/southright{ name = "Riot Armor" }, @@ -24817,18 +24802,18 @@ /obj/effect/floor_decal/borderfloorwhite{ dir = 5 }, -/obj/item/weapon/storage/belt/utility/full{ +/obj/item/storage/belt/utility/full{ pixel_y = -1 }, /obj/item/clothing/gloves/sterile/latex{ pixel_y = -3 }, /obj/item/clothing/gloves/sterile/nitrile, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /obj/effect/floor_decal/corner/purple/border{ dir = 5 }, @@ -25011,7 +24996,7 @@ /obj/effect/floor_decal/industrial/warning{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_x = 32; pixel_y = 21 @@ -25074,7 +25059,7 @@ /obj/random/contraband, /obj/random/maintenance/clean, /obj/random/maintenance/clean, -/obj/item/weapon/handcuffs/fuzzy, +/obj/item/handcuffs/fuzzy, /turf/simulated/floor/plating, /area/surface/station/security/hallway/stairwell) "rbn" = ( @@ -25429,8 +25414,8 @@ }, /obj/structure/table/steel, /obj/structure/bedsheetbin, -/obj/item/weapon/book/codex/corp_regs, -/obj/item/weapon/storage/pill_bottle/dice, +/obj/item/book/codex/corp_regs, +/obj/item/storage/pill_bottle/dice, /turf/simulated/floor/tiled, /area/surface/station/security/prison) "rqw" = ( @@ -25491,7 +25476,7 @@ dir = 4 }, /obj/item/clothing/mask/breath, -/obj/item/weapon/rig/breacher, +/obj/item/rig/breacher, /obj/machinery/door/window/northleft{ name = "EVA Suits"; req_one_access = list(18) @@ -25510,8 +25495,8 @@ /area/surface/station/maintenance/substation/command) "rvI" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/multi, +/obj/item/paper_bin, +/obj/item/pen/multi, /turf/simulated/floor/wood, /area/surface/station/crew_quarters/captain) "rvR" = ( @@ -25523,8 +25508,8 @@ /area/surface/station/hallway/primary/secondfloor/west) "rwU" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/melee/chainofcommand, -/obj/item/weapon/hand_tele, +/obj/item/melee/chainofcommand, +/obj/item/hand_tele, /turf/simulated/floor/wood, /area/surface/station/crew_quarters/captain) "rwZ" = ( @@ -25603,8 +25588,8 @@ dir = 4 }, /obj/structure/table/steel, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /turf/simulated/floor/tiled/techmaint, /area/surface/station/security/prison) "rBN" = ( @@ -25729,17 +25714,17 @@ /area/surface/station/medical/virology) "rIC" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/circular_saw, -/obj/item/weapon/surgical/scalpel{ +/obj/item/surgical/circular_saw, +/obj/item/surgical/scalpel{ pixel_y = 8 }, -/obj/item/weapon/surgical/hemostat, -/obj/item/weapon/surgical/retractor, +/obj/item/surgical/hemostat, +/obj/item/surgical/retractor, /obj/item/stack/cable_coil{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/weldingtool/hugetank, +/obj/item/weldingtool/hugetank, /obj/effect/floor_decal/borderfloorwhite{ dir = 9 }, @@ -26201,8 +26186,8 @@ }, /obj/item/clothing/shoes/magboots, /obj/item/clothing/mask/breath, -/obj/item/device/suit_cooling_unit, -/obj/item/weapon/tank/oxygen, +/obj/item/suit_cooling_unit, +/obj/item/tank/oxygen, /obj/item/clothing/suit/space/void/security, /obj/item/clothing/head/helmet/space/void/security, /obj/machinery/door/window/brigdoor/southleft{ @@ -26596,7 +26581,7 @@ /turf/simulated/floor/tiled/eris, /area/surface/station/medical/virology) "slR" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/atmospherics/pipe/simple/hidden/black, /obj/effect/floor_decal/corner/lime/diagonal, /turf/simulated/floor/tiled/neutral, @@ -26755,9 +26740,9 @@ /area/surface/station/command/operations) "srz" = ( /obj/structure/table/steel, -/obj/item/device/radio/headset, -/obj/item/weapon/pen, -/obj/item/weapon/paper, +/obj/item/radio/headset, +/obj/item/pen, +/obj/item/paper, /obj/effect/floor_decal/borderfloorblack{ dir = 6 }, @@ -26778,7 +26763,7 @@ /obj/effect/floor_decal/industrial/warning/corner{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /obj/machinery/light/small, @@ -26806,13 +26791,13 @@ "suc" = ( /obj/structure/table/woodentable, /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, -/obj/item/weapon/pen/red{ +/obj/item/paper_bin, +/obj/item/pen, +/obj/item/pen/red{ pixel_x = -4; pixel_y = -4 }, -/obj/item/weapon/pen/blue{ +/obj/item/pen/blue{ pixel_x = -3 }, /turf/simulated/floor/carpet/blue, @@ -26961,10 +26946,10 @@ /obj/machinery/atmospherics/pipe/simple/hidden/black{ dir = 10 }, -/obj/item/weapon/paper_bin, -/obj/item/weapon/folder/white, -/obj/item/weapon/pen, -/obj/item/weapon/hand_labeler, +/obj/item/paper_bin, +/obj/item/folder/white, +/obj/item/pen, +/obj/item/hand_labeler, /obj/machinery/requests_console{ department = "Virology"; name = "Virology RC"; @@ -27247,7 +27232,7 @@ /area/surface/station/medical/exam_room) "sGK" = ( /obj/structure/table/wooden_reinforced, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /turf/simulated/floor/wood, /area/surface/station/command/meeting_room) "sGX" = ( @@ -27351,12 +27336,12 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/device/flash{ +/obj/item/flash{ pixel_x = 2; pixel_y = 2 }, -/obj/item/device/flash, -/obj/item/device/aicard, +/obj/item/flash, +/obj/item/aicard, /turf/simulated/floor/tiled, /area/surface/station/command/operations) "sJK" = ( @@ -27470,7 +27455,7 @@ /obj/structure/bed/chair/office/dark{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, @@ -27496,7 +27481,7 @@ /obj/effect/floor_decal/corner/yellow/border{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, @@ -27531,11 +27516,11 @@ pixel_x = 11; pixel_y = -23 }, -/obj/item/weapon/storage/fancy/vials{ +/obj/item/storage/fancy/vials{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/fancy/vials, +/obj/item/storage/fancy/vials, /obj/effect/floor_decal/steeldecal/steel_decals_central7, /turf/simulated/floor/tiled/white, /area/surface/station/crew_quarters/heads/cmo) @@ -27599,7 +27584,7 @@ "sQe" = ( /obj/machinery/atmospherics/valve, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, @@ -27873,8 +27858,8 @@ "sYf" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/structure/mopbucket, -/obj/item/weapon/mop, -/obj/item/weapon/soap/nanotrasen, +/obj/item/mop, +/obj/item/soap/nanotrasen, /obj/machinery/light/small{ dir = 8 }, @@ -27961,7 +27946,7 @@ layer = 2.4; name = "Floor mounted flash" }, -/obj/item/weapon/stool{ +/obj/item/stool{ dir = 1 }, /turf/simulated/floor/tiled/eris, @@ -28030,7 +28015,7 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/storage/box/donut, +/obj/item/storage/box/donut, /turf/simulated/floor/tiled, /area/surface/station/command/operations) "tfO" = ( @@ -28121,7 +28106,7 @@ /obj/effect/floor_decal/corner/yellow/bordercorner2{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, @@ -28280,7 +28265,7 @@ /turf/simulated/floor/tiled/techfloor, /area/surface/station/security/prison) "tnW" = ( -/obj/item/device/radio/intercom/private{ +/obj/item/radio/intercom/private{ dir = 1; pixel_y = 21 }, @@ -28325,7 +28310,7 @@ dir = 9 }, /obj/machinery/hologram/holopad, -/obj/item/weapon/storage/secure/safe{ +/obj/item/storage/secure/safe{ pixel_x = 5; pixel_y = -26 }, @@ -28335,33 +28320,33 @@ /obj/structure/closet{ name = "robotics parts" }, -/obj/item/weapon/cell/high, -/obj/item/weapon/cell/high, -/obj/item/weapon/cell/high, -/obj/item/weapon/cell/high, -/obj/item/device/assembly/prox_sensor, -/obj/item/device/assembly/prox_sensor, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/cell/high, +/obj/item/cell/high, +/obj/item/cell/high, +/obj/item/cell/high, +/obj/item/assembly/prox_sensor, +/obj/item/assembly/prox_sensor, +/obj/item/storage/firstaid/regular{ empty = 1; name = "First-Aid (empty)" }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ empty = 1; name = "First-Aid (empty)" }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ empty = 1; name = "First-Aid (empty)" }, -/obj/item/device/healthanalyzer, -/obj/item/device/healthanalyzer, -/obj/item/device/healthanalyzer, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, +/obj/item/healthanalyzer, +/obj/item/healthanalyzer, +/obj/item/healthanalyzer, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, /obj/item/stack/cable_coil{ pixel_x = 2; pixel_y = 2 @@ -28394,7 +28379,7 @@ /turf/simulated/floor/tiled/monotile, /area/surface/station/engineering/hallway/snd) "tsE" = ( -/obj/item/weapon/banner/blue, +/obj/item/banner/blue, /turf/simulated/floor/tiled/techmaint, /area/surface/station/hallway/secondary/secondfloor/command) "tsY" = ( @@ -28580,11 +28565,11 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 }, -/obj/item/weapon/folder/red{ +/obj/item/folder/red{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/folder/blue, +/obj/item/folder/blue, /obj/effect/zone_divider, /turf/simulated/floor/carpet/blue, /area/surface/station/command/meeting_room) @@ -28623,7 +28608,7 @@ /obj/machinery/alarm{ pixel_y = 22 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, @@ -28674,7 +28659,7 @@ "twF" = ( /obj/structure/table/reinforced, /obj/machinery/light, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /obj/effect/floor_decal/borderfloor, @@ -28701,7 +28686,7 @@ /obj/effect/floor_decal/industrial/warning{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, @@ -28923,18 +28908,18 @@ /area/surface/station/engineering/atmos) "tFr" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/paper_bin, -/obj/item/weapon/folder, -/obj/item/weapon/folder/blue{ +/obj/item/paper_bin, +/obj/item/folder, +/obj/item/folder/blue{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/folder/red{ +/obj/item/folder/red{ pixel_x = -2 }, -/obj/item/weapon/folder/yellow, -/obj/item/weapon/stamp/internalaffairs, -/obj/item/weapon/stamp/denied{ +/obj/item/folder/yellow, +/obj/item/stamp/internalaffairs, +/obj/item/stamp/denied{ pixel_x = 2; pixel_y = 2 }, @@ -29076,7 +29061,7 @@ /area/surface/station/security/hallway/snd) "tNg" = ( /obj/structure/table/wooden_reinforced, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /obj/machinery/alarm{ pixel_y = 22 }, @@ -29141,11 +29126,11 @@ pixel_x = -31; req_access = list(19) }, -/obj/item/device/defib_kit/loaded, +/obj/item/defib_kit/loaded, /obj/item/roller, /obj/item/bodybag/cryobag, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/pill_bottle/spaceacillin, +/obj/item/storage/firstaid/regular, +/obj/item/storage/pill_bottle/spaceacillin, /turf/simulated/floor/tiled, /area/surface/station/command/operations) "tOU" = ( @@ -29291,14 +29276,14 @@ /area/surface/station/crew_quarters/heads/rdoffice) "tUS" = ( /obj/structure/table/glass, -/obj/item/weapon/folder/white, +/obj/item/folder/white, /obj/effect/floor_decal/borderfloorwhite{ dir = 5 }, /obj/effect/floor_decal/corner/paleblue/border{ dir = 5 }, -/obj/item/weapon/reagent_containers/food/drinks/britcup, +/obj/item/reagent_containers/food/drinks/britcup, /turf/simulated/floor/tiled/white, /area/surface/station/medical/office) "tUU" = ( @@ -29531,7 +29516,7 @@ /area/surface/station/engineering/engine_eva) "ucJ" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /turf/simulated/floor/carpet, /area/surface/station/crew_quarters/sleep/Dorm_4) "udq" = ( @@ -29928,10 +29913,10 @@ /obj/effect/floor_decal/corner/green/border{ dir = 1 }, -/obj/item/device/integrated_electronics/wirer{ +/obj/item/integrated_electronics/wirer{ pixel_x = 6 }, -/obj/item/device/integrated_electronics/debugger{ +/obj/item/integrated_electronics/debugger{ pixel_x = -4 }, /turf/simulated/floor/tiled/dark, @@ -29942,7 +29927,7 @@ /obj/structure/cable/green{ icon_state = "1-4" }, -/obj/item/weapon/clipboard, +/obj/item/clipboard, /turf/simulated/floor/wood, /area/surface/station/command/liaison) "usA" = ( @@ -29986,18 +29971,18 @@ /area/surface/station/maintenance/substation/engineering/snd) "uvz" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/paper_bin, -/obj/item/weapon/clipboard, -/obj/item/weapon/folder/blue{ +/obj/item/paper_bin, +/obj/item/clipboard, +/obj/item/folder/blue{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/folder/blue, -/obj/item/weapon/folder/red{ +/obj/item/folder/blue, +/obj/item/folder/red{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/carpet/sblucarpet, /area/surface/station/medical/psych) "uvJ" = ( @@ -30404,8 +30389,8 @@ /obj/structure/table/reinforced, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/yellow/border, -/obj/item/weapon/storage/box/donkpockets, -/obj/item/weapon/book/manual/supermatter_engine, +/obj/item/storage/box/donkpockets, +/obj/item/book/manual/supermatter_engine, /turf/simulated/floor/tiled, /area/surface/station/engineering/reactor_monitoring) "uHy" = ( @@ -30735,12 +30720,12 @@ /area/surface/station/security/hallway/cell_hallway) "uUX" = ( /obj/structure/table/reinforced, -/obj/item/weapon/soap/nanotrasen, -/obj/item/weapon/storage/box/cups{ +/obj/item/soap/nanotrasen, +/obj/item/storage/box/cups{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, /obj/machinery/atmospherics/pipe/simple/hidden/black{ dir = 9 }, @@ -30861,7 +30846,7 @@ dir = 4 }, /obj/structure/disposalpipe/segment, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, @@ -30973,16 +30958,16 @@ /area/surface/station/ai_monitored/storage/eva) "vcd" = ( /obj/structure/table/glass, -/obj/item/weapon/folder/white, -/obj/item/weapon/disk/tech_disk, -/obj/item/weapon/disk/tech_disk, -/obj/item/weapon/disk/design_disk{ +/obj/item/folder/white, +/obj/item/disk/tech_disk, +/obj/item/disk/tech_disk, +/obj/item/disk/design_disk{ pixel_y = 2 }, -/obj/item/weapon/disk/design_disk{ +/obj/item/disk/design_disk{ pixel_y = -2 }, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/reagent_containers/dropper, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/purple/border, /obj/machinery/light, @@ -31008,8 +30993,8 @@ /area/surface/station/security/armoury) "vdo" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/monkeycubes, -/obj/item/weapon/extinguisher, +/obj/item/storage/box/monkeycubes, +/obj/item/extinguisher, /obj/effect/floor_decal/borderfloorwhite/corner{ dir = 8 }, @@ -31106,7 +31091,7 @@ /obj/machinery/recharger/wallcharger{ pixel_y = -28 }, -/obj/item/device/binoculars, +/obj/item/binoculars, /turf/simulated/floor/tiled/techmaint, /area/surface/station/security/armoury) "vfL" = ( @@ -31320,7 +31305,7 @@ dir = 10 }, /obj/structure/disposalpipe/segment, -/obj/item/weapon/stool{ +/obj/item/stool{ dir = 4 }, /turf/simulated/floor/tiled/techmaint, @@ -31339,9 +31324,9 @@ /obj/structure/window/reinforced{ dir = 8 }, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/device/multitool, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/box/lights/mixed, +/obj/item/multitool, +/obj/item/storage/toolbox/mechanical, /turf/simulated/floor/tiled/techmaint, /area/surface/station/command/operations) "vqg" = ( @@ -31402,7 +31387,7 @@ dir = 4 }, /obj/structure/disposalpipe/segment, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, @@ -31489,7 +31474,7 @@ /obj/effect/floor_decal/borderfloorwhite{ dir = 8 }, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/machinery/computer/security/telescreen/entertainment{ icon_state = "frame"; pixel_x = -32 @@ -31560,7 +31545,7 @@ /obj/machinery/light/small{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, @@ -31654,11 +31639,11 @@ /area/surface/station/security/prison) "vGw" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ pixel_x = 4; pixel_y = 4 }, -/obj/item/device/radio/phone/medbay{ +/obj/item/radio/phone/medbay{ name = "Emergency Phone"; pixel_y = -6 }, @@ -31838,16 +31823,16 @@ /obj/machinery/firealarm{ pixel_y = 24 }, -/obj/item/weapon/cartridge/quartermaster{ +/obj/item/cartridge/quartermaster{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/cartridge/quartermaster{ +/obj/item/cartridge/quartermaster{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/cartridge/quartermaster, -/obj/item/device/retail_scanner/cargo, +/obj/item/cartridge/quartermaster, +/obj/item/retail_scanner/cargo, /turf/simulated/floor/tiled, /area/surface/station/quartermaster/qm) "vKq" = ( @@ -31954,7 +31939,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, @@ -32073,12 +32058,12 @@ /area/surface/station/crew_quarters/sleep/Dorm_3) "vPF" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/red{ +/obj/item/paper_bin, +/obj/item/pen/red{ pixel_x = -4; pixel_y = -4 }, -/obj/item/weapon/pen/blue, +/obj/item/pen/blue, /turf/simulated/floor/wood, /area/surface/station/command/liaison) "vPY" = ( @@ -32103,8 +32088,8 @@ /obj/structure/table/standard, /obj/machinery/recharger, /obj/item/clothing/mask/breath/medical, -/obj/item/weapon/book/manual/robotics_cyborgs, -/obj/item/device/defib_kit/jumper_kit/loaded, +/obj/item/book/manual/robotics_cyborgs, +/obj/item/defib_kit/jumper_kit/loaded, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 }, @@ -32371,9 +32356,9 @@ /area/surface/station/quartermaster/restroom) "wfL" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/clipboard, -/obj/item/weapon/pen/blue, -/obj/item/weapon/pen/red{ +/obj/item/clipboard, +/obj/item/pen/blue, +/obj/item/pen/red{ pixel_x = -4; pixel_y = -4 }, @@ -32433,7 +32418,7 @@ }, /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/device/radio/beacon, +/obj/item/radio/beacon, /turf/simulated/floor/tiled/monofloor, /area/surface/station/hallway/primary/secondfloor/west) "wiF" = ( @@ -32458,7 +32443,7 @@ icon_state = "1-2" }, /obj/machinery/computer/skills, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, @@ -32542,7 +32527,7 @@ /turf/simulated/floor/tiled, /area/surface/station/hallway/primary/secondfloor/east) "wlU" = ( -/obj/item/weapon/banner/virgov, +/obj/item/banner/virgov, /turf/simulated/floor/wood, /area/surface/station/command/meeting_room) "wnk" = ( @@ -32743,7 +32728,7 @@ /area/shuttle/large_escape_pod2/station) "wsI" = ( /obj/machinery/atmospherics/pipe/manifold/hidden, -/obj/item/weapon/stool, +/obj/item/stool, /turf/simulated/floor/plating, /area/surface/station/security/riot_control) "wtg" = ( @@ -32777,7 +32762,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ dir = 1; pixel_y = -21 }, @@ -32936,12 +32921,12 @@ "wze" = ( /obj/structure/table/glass, /obj/structure/disposalpipe/segment, -/obj/item/weapon/paper_bin, -/obj/item/weapon/clipboard, -/obj/item/weapon/clipboard, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/clipboard, +/obj/item/clipboard, +/obj/item/pen, /obj/item/sticky_pad/random, -/obj/item/weapon/storage/firstaid, +/obj/item/storage/firstaid, /turf/simulated/floor/wood/sif, /area/surface/station/rnd/research) "wzs" = ( @@ -32973,7 +32958,7 @@ /turf/simulated/floor/carpet, /area/surface/station/crew_quarters/captain) "wAE" = ( -/obj/item/weapon/banner/red, +/obj/item/banner/red, /turf/simulated/wall, /area/surface/station/construction/office) "wAT" = ( @@ -33165,39 +33150,39 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#FF8C00"; name = "orange towel"; pixel_x = -3; pixel_y = -4 }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#FF8C00"; name = "orange towel"; pixel_x = -1; pixel_y = -2 }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#FFD700"; name = "gold towel" }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#FFD700"; name = "gold towel"; pixel_x = 1; pixel_y = 2 }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#00FFFF"; name = "cyan towel"; pixel_x = 2; pixel_y = 4 }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#00FFFF"; name = "cyan towel"; pixel_x = 3; @@ -33335,7 +33320,7 @@ /turf/simulated/floor/tiled/techfloor, /area/surface/station/engineering/reactor_room) "wJL" = ( -/obj/item/weapon/banner/nt, +/obj/item/banner/nt, /turf/simulated/floor/tiled/dark, /area/surface/station/hallway/primary/secondfloor/east) "wLt" = ( @@ -33664,7 +33649,7 @@ /turf/simulated/floor/tiled/techfloor/grid, /area/surface/station/ai_monitored/storage/eva) "wXf" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, @@ -33781,7 +33766,7 @@ dir = 1 }, /obj/structure/table/reinforced, -/obj/item/weapon/folder/red, +/obj/item/folder/red, /obj/machinery/light{ dir = 1 }, @@ -34012,7 +33997,7 @@ /area/surface/station/medical/office) "xgD" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /turf/simulated/floor/carpet, /area/surface/station/crew_quarters/sleep/Dorm_5) "xgF" = ( @@ -34226,11 +34211,11 @@ /area/surface/station/quartermaster/office) "xmu" = ( /obj/structure/closet/crate/medical, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = -2; pixel_y = 4 }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = -2; pixel_y = 4 }, @@ -34240,30 +34225,30 @@ /obj/item/bodybag/cryobag{ pixel_x = 5 }, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ layer = 2.8; pixel_x = 4; pixel_y = 6 }, -/obj/item/weapon/storage/box/masks, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/masks, +/obj/item/storage/box/gloves{ pixel_x = 3; pixel_y = 4 }, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/toxin, +/obj/item/storage/firstaid/fire{ layer = 2.9; pixel_x = 2; pixel_y = 3 }, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ pixel_x = -2 }, -/obj/item/weapon/reagent_containers/blood/empty, -/obj/item/weapon/reagent_containers/blood/empty, -/obj/item/weapon/reagent_containers/blood/empty, -/obj/item/weapon/reagent_containers/blood/empty, -/obj/item/weapon/reagent_containers/blood/empty, +/obj/item/reagent_containers/blood/empty, +/obj/item/reagent_containers/blood/empty, +/obj/item/reagent_containers/blood/empty, +/obj/item/reagent_containers/blood/empty, +/obj/item/reagent_containers/blood/empty, /obj/machinery/light, /turf/simulated/shuttle/floor/white, /area/shuttle/large_escape_pod2/station) @@ -34278,7 +34263,7 @@ pixel_y = 26 }, /obj/structure/reagent_dispensers/watertank, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /obj/effect/floor_decal/borderfloor/corner{ dir = 4 }, @@ -34657,7 +34642,7 @@ /area/surface/station/command/meeting_room) "xvn" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /turf/simulated/floor/carpet, /area/surface/station/crew_quarters/sleep/Dorm_2) "xvK" = ( @@ -34780,7 +34765,7 @@ /area/surface/station/park/skybridge) "xzL" = ( /obj/effect/floor_decal/industrial/warning, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, @@ -34811,8 +34796,8 @@ /obj/structure/cable/green{ icon_state = "0-2" }, -/obj/item/weapon/packageWrap, -/obj/item/weapon/hand_labeler, +/obj/item/packageWrap, +/obj/item/hand_labeler, /obj/structure/noticeboard{ pixel_y = 30 }, @@ -35031,7 +35016,7 @@ /obj/structure/cable/green{ icon_state = "1-2" }, -/obj/item/device/radio/headset, +/obj/item/radio/headset, /turf/simulated/floor/tiled/dark, /area/surface/station/security/hallway/cell_hallway) "xJA" = ( @@ -35088,10 +35073,10 @@ dir = 1 }, /obj/structure/closet/crate/nanotrasen, -/obj/item/weapon/tool/crowbar/red{ +/obj/item/tool/crowbar/red{ pixel_y = 2 }, -/obj/item/weapon/tool/crowbar/red, +/obj/item/tool/crowbar/red, /turf/simulated/floor/tiled, /area/surface/station/command/teleporter) "xLg" = ( @@ -35150,7 +35135,7 @@ /obj/machinery/computer/supplycomp{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, @@ -35225,8 +35210,8 @@ dir = 1 }, /obj/structure/table/steel, -/obj/item/weapon/material/minihoe, -/obj/item/device/analyzer/plant_analyzer, +/obj/item/material/minihoe, +/obj/item/analyzer/plant_analyzer, /obj/item/clothing/head/greenbandana, /turf/simulated/floor/tiled, /area/surface/station/security/prison) @@ -35283,7 +35268,7 @@ /turf/simulated/floor/tiled, /area/surface/station/security/hallway/snd) "xQF" = ( -/obj/item/weapon/banner/nt, +/obj/item/banner/nt, /turf/simulated/floor/tiled/dark, /area/surface/station/crew_quarters/captain) "xRp" = ( @@ -35491,7 +35476,7 @@ /turf/simulated/floor/plating, /area/surface/station/holodeck_control) "xWa" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, @@ -35686,7 +35671,7 @@ /area/surface/station/command/internalaffairs) "ycV" = ( /obj/machinery/mech_recharger, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, @@ -35700,7 +35685,7 @@ /turf/simulated/floor/tiled/white, /area/surface/station/crew_quarters/heads/rdoffice) "ydp" = ( -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ dir = 8; pixel_x = 21 }, @@ -35826,8 +35811,8 @@ /area/surface/station/hallway/primary/secondfloor/east) "ygI" = ( /obj/structure/table/glass, -/obj/item/weapon/cane, -/obj/item/weapon/cane{ +/obj/item/cane, +/obj/item/cane{ pixel_x = 4 }, /obj/random/medical, @@ -35838,7 +35823,7 @@ /obj/effect/floor_decal/corner/pink/border{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, @@ -35932,7 +35917,7 @@ /turf/simulated/floor/tiled/dark, /area/surface/station/hallway/secondary/secondfloor/dormhallway) "yka" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk... listen through this."; name = "Station Intercom (Brig Radio)"; pixel_y = -21; @@ -36010,7 +35995,7 @@ /obj/effect/floor_decal/borderfloorwhite{ dir = 8 }, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/machinery/computer/security/telescreen/entertainment{ icon_state = "frame"; pixel_x = -32 @@ -36022,7 +36007,7 @@ /area/surface/station/medical/patient_b) "ymd" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /turf/simulated/floor/carpet, /area/surface/station/crew_quarters/sleep/Dorm_3) @@ -67555,13 +67540,8 @@ uwO uwO uwO uwO -<<<<<<< HEAD -uDG -iaD -======= aPW rsz ->>>>>>> d94406daccd... Merge pull request #8859 from Spookerton/greenjoe12345/xmas2022 iaD jIo ifR diff --git a/maps/cynosure/cynosure-4.dmm b/maps/cynosure/cynosure-4.dmm index 7e604a109ba..ab1261fa2ee 100644 --- a/maps/cynosure/cynosure-4.dmm +++ b/maps/cynosure/cynosure-4.dmm @@ -172,7 +172,7 @@ /obj/effect/floor_decal/corner/blue/border{ dir = 9 }, -/obj/item/weapon/cell, +/obj/item/cell, /turf/simulated/floor/tiled/techmaint, /area/tcommsat/cynosure/teleporter) "cw" = ( @@ -226,7 +226,7 @@ }, /area/tcommsat/cynosure/chamber) "cM" = ( -/obj/item/weapon/camera_assembly, +/obj/item/camera_assembly, /turf/simulated/floor/tiled/techmaint, /area/tcommsat/cynosure/teleporter) "cN" = ( @@ -621,8 +621,8 @@ dir = 8 }, /obj/structure/table/standard, -/obj/item/weapon/stock_parts/subspace/transmitter, -/obj/item/weapon/stock_parts/subspace/transmitter{ +/obj/item/stock_parts/subspace/transmitter, +/obj/item/stock_parts/subspace/transmitter{ pixel_x = 2; pixel_y = 2 }, @@ -788,15 +788,15 @@ /obj/effect/floor_decal/corner/blue/border{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -21 }, /obj/structure/closet/crate/nanotrasen{ dir = 2 }, -/obj/item/device/aicard, -/obj/item/device/multitool, +/obj/item/aicard, +/obj/item/multitool, /turf/simulated/floor/tiled, /area/tcommsat/cynosure/teleporter) "jW" = ( @@ -806,7 +806,7 @@ /obj/structure/cable{ icon_state = "2-8" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, @@ -978,20 +978,20 @@ dir = 4 }, /obj/structure/table/standard, -/obj/item/weapon/stock_parts/subspace/sub_filter{ +/obj/item/stock_parts/subspace/sub_filter{ pixel_x = -4; pixel_y = 4 }, -/obj/item/weapon/stock_parts/subspace/sub_filter{ +/obj/item/stock_parts/subspace/sub_filter{ pixel_x = -2; pixel_y = 2 }, -/obj/item/weapon/stock_parts/subspace/sub_filter, -/obj/item/weapon/stock_parts/subspace/sub_filter{ +/obj/item/stock_parts/subspace/sub_filter, +/obj/item/stock_parts/subspace/sub_filter{ pixel_x = 2; pixel_y = -2 }, -/obj/item/weapon/stock_parts/subspace/sub_filter{ +/obj/item/stock_parts/subspace/sub_filter{ pixel_x = 4; pixel_y = -4 }, @@ -1038,9 +1038,9 @@ /obj/effect/floor_decal/corner/green/border{ dir = 9 }, -/obj/item/weapon/bedsheet/green, +/obj/item/bedsheet/green, /obj/structure/bed/padded, -/obj/item/weapon/material/twohanded/riding_crop, +/obj/item/material/twohanded/riding_crop, /turf/simulated/floor/tiled, /area/tcommsat/cynosure/lounge) "lT" = ( @@ -1420,35 +1420,35 @@ dir = 4 }, /obj/structure/table/standard, -/obj/item/weapon/stock_parts/micro_laser, -/obj/item/weapon/stock_parts/manipulator{ +/obj/item/stock_parts/micro_laser, +/obj/item/stock_parts/manipulator{ pixel_x = 3; pixel_y = -4 }, -/obj/item/weapon/stock_parts/manipulator{ +/obj/item/stock_parts/manipulator{ pixel_x = 2; pixel_y = -2 }, -/obj/item/weapon/stock_parts/manipulator{ +/obj/item/stock_parts/manipulator{ pixel_x = -3 }, -/obj/item/weapon/stock_parts/manipulator{ +/obj/item/stock_parts/manipulator{ pixel_x = -4; pixel_y = 3 }, -/obj/item/weapon/stock_parts/capacitor, -/obj/item/weapon/stock_parts/micro_laser/high{ +/obj/item/stock_parts/capacitor, +/obj/item/stock_parts/micro_laser/high{ pixel_x = 4; pixel_y = 2 }, -/obj/item/weapon/stock_parts/micro_laser/high{ +/obj/item/stock_parts/micro_laser/high{ pixel_x = 3; pixel_y = -3 }, -/obj/item/weapon/stock_parts/micro_laser/high{ +/obj/item/stock_parts/micro_laser/high{ pixel_x = -2 }, -/obj/item/weapon/stock_parts/micro_laser/high{ +/obj/item/stock_parts/micro_laser/high{ pixel_x = -4; pixel_y = 4 }, @@ -1465,7 +1465,7 @@ dir = 1 }, /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /turf/simulated/floor/tiled, /area/tcommsat/cynosure/lounge) "pZ" = ( @@ -1502,7 +1502,7 @@ pixel_y = 22 }, /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/red, +/obj/item/bedsheet/red, /turf/simulated/floor/tiled, /area/tcommsat/cynosure/lounge) "qm" = ( @@ -1731,7 +1731,7 @@ /obj/effect/floor_decal/corner/blue/border{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, @@ -1845,7 +1845,7 @@ /obj/effect/floor_decal/rust/part_rusted1{ dir = 1 }, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/floor/tiled/old_tile/gray, /area/tcommsat/cynosure/storage) "ug" = ( @@ -2118,12 +2118,12 @@ /area/tcommsat/cynosure/entrance) "xc" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/blue{ +/obj/item/paper_bin, +/obj/item/pen/blue{ pixel_x = -3; pixel_y = 2 }, -/obj/item/device/multitool, +/obj/item/multitool, /turf/simulated/floor/tiled/dark, /area/tcommsat/cynosure/computer) "xe" = ( @@ -2342,7 +2342,7 @@ name = "Emergency NanoMed"; pixel_x = -28 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, @@ -2354,7 +2354,7 @@ }, /obj/effect/floor_decal/industrial/warning/corner, /obj/effect/floor_decal/rust/mono_rusted3, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /turf/simulated/floor/tiled/techmaint, @@ -2498,7 +2498,7 @@ /obj/effect/floor_decal/corner/green/bordercorner{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /turf/simulated/floor/tiled/steel_dirty, @@ -2782,8 +2782,8 @@ dir = 8; pixel_x = 22 }, -/obj/item/weapon/folder/yellow, -/obj/item/weapon/folder/yellow{ +/obj/item/folder/yellow, +/obj/item/folder/yellow{ pixel_x = 2; pixel_y = 2 }, @@ -2960,7 +2960,7 @@ /obj/structure/bed/chair{ dir = 8 }, -/obj/item/weapon/storage/box/lights/mixed{ +/obj/item/storage/box/lights/mixed{ pixel_x = 2; pixel_y = 2 }, @@ -3020,12 +3020,12 @@ pixel_x = 22 }, /obj/structure/table/standard, -/obj/item/weapon/stock_parts/subspace/analyzer{ +/obj/item/stock_parts/subspace/analyzer{ pixel_x = -3; pixel_y = -3 }, -/obj/item/weapon/stock_parts/subspace/analyzer, -/obj/item/weapon/stock_parts/subspace/analyzer{ +/obj/item/stock_parts/subspace/analyzer, +/obj/item/stock_parts/subspace/analyzer{ pixel_x = 3; pixel_y = 2 }, @@ -3238,12 +3238,12 @@ dir = 10 }, /obj/structure/closet/crate/freezer/rations, -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, /turf/simulated/floor/tiled, /area/tcommsat/cynosure/lounge) "Ju" = ( @@ -3635,7 +3635,7 @@ c_tag = "Tcoms - Solar Control"; dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, @@ -3699,16 +3699,16 @@ pixel_y = -24 }, /obj/structure/table/standard, -/obj/item/weapon/stock_parts/subspace/crystal{ +/obj/item/stock_parts/subspace/crystal{ pixel_x = 3; pixel_y = -2 }, -/obj/item/weapon/stock_parts/subspace/crystal, -/obj/item/weapon/stock_parts/subspace/crystal{ +/obj/item/stock_parts/subspace/crystal, +/obj/item/stock_parts/subspace/crystal{ pixel_x = -4; pixel_y = 2 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 21 }, @@ -3842,7 +3842,7 @@ /obj/effect/floor_decal/techfloor{ dir = 6 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, @@ -3854,12 +3854,12 @@ dir = 1 }, /obj/structure/table/standard, -/obj/item/weapon/stock_parts/subspace/treatment{ +/obj/item/stock_parts/subspace/treatment{ pixel_x = 5; pixel_y = -2 }, -/obj/item/weapon/stock_parts/subspace/treatment, -/obj/item/weapon/stock_parts/subspace/treatment{ +/obj/item/stock_parts/subspace/treatment, +/obj/item/stock_parts/subspace/treatment{ pixel_x = -2; pixel_y = 4 }, @@ -4122,15 +4122,15 @@ /area/tcommsat/cynosure/teleporter) "Sn" = ( /obj/structure/table/rack, -/obj/item/weapon/circuitboard/telecomms/processor, -/obj/item/weapon/circuitboard/telecomms/processor, -/obj/item/weapon/circuitboard/telecomms/receiver, -/obj/item/weapon/circuitboard/telecomms/server, -/obj/item/weapon/circuitboard/telecomms/server, -/obj/item/weapon/circuitboard/telecomms/bus, -/obj/item/weapon/circuitboard/telecomms/bus, -/obj/item/weapon/circuitboard/telecomms/broadcaster, -/obj/item/weapon/circuitboard/telecomms/exonet_node, +/obj/item/circuitboard/telecomms/processor, +/obj/item/circuitboard/telecomms/processor, +/obj/item/circuitboard/telecomms/receiver, +/obj/item/circuitboard/telecomms/server, +/obj/item/circuitboard/telecomms/server, +/obj/item/circuitboard/telecomms/bus, +/obj/item/circuitboard/telecomms/bus, +/obj/item/circuitboard/telecomms/broadcaster, +/obj/item/circuitboard/telecomms/exonet_node, /obj/structure/window/reinforced, /obj/structure/window/reinforced{ dir = 1 @@ -4443,12 +4443,12 @@ dir = 4 }, /obj/structure/table/standard, -/obj/item/weapon/stock_parts/subspace/ansible, -/obj/item/weapon/stock_parts/subspace/ansible{ +/obj/item/stock_parts/subspace/ansible, +/obj/item/stock_parts/subspace/ansible{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/stock_parts/subspace/ansible{ +/obj/item/stock_parts/subspace/ansible{ pixel_x = -3; pixel_y = -3 }, @@ -4556,11 +4556,11 @@ dir = 1; pixel_y = -24 }, -/obj/item/weapon/deck/cah/black{ +/obj/item/deck/cah/black{ pixel_x = -4; pixel_y = 6 }, -/obj/item/weapon/deck/cah{ +/obj/item/deck/cah{ pixel_x = -3; pixel_y = 3 }, @@ -4613,12 +4613,12 @@ icon_state = "2-8" }, /obj/structure/table/standard, -/obj/item/weapon/stock_parts/subspace/amplifier{ +/obj/item/stock_parts/subspace/amplifier{ pixel_x = 3; pixel_y = -3 }, -/obj/item/weapon/stock_parts/subspace/amplifier, -/obj/item/weapon/stock_parts/subspace/amplifier{ +/obj/item/stock_parts/subspace/amplifier, +/obj/item/stock_parts/subspace/amplifier{ pixel_x = -2; pixel_y = 3 }, @@ -4751,7 +4751,7 @@ dir = 1 }, /obj/effect/floor_decal/rust/steel_decals_rusted1, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, diff --git a/maps/cynosure/cynosure-6.dmm b/maps/cynosure/cynosure-6.dmm index 0105ffc05d3..95ac6376a5a 100644 --- a/maps/cynosure/cynosure-6.dmm +++ b/maps/cynosure/cynosure-6.dmm @@ -111,25 +111,25 @@ dir = 4 }, /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = 12 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8; pixel_y = 12 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = -4 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8; pixel_y = -4 }, @@ -149,14 +149,14 @@ /area/centcom/terminal) "agp" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/coin/diamond, +/obj/item/coin/diamond, /turf/unsimulated/floor{ icon_state = "dark" }, /area/wizard_station) "ahv" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/glasses/square, +/obj/item/storage/box/glasses/square, /turf/simulated/floor/carpet, /area/shuttle/merchant/home) "aiB" = ( @@ -186,7 +186,7 @@ /area/centcom/medical) "ajd" = ( /obj/structure/table/reinforced, -/obj/item/device/pda/captain, +/obj/item/pda/captain, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark" @@ -200,18 +200,18 @@ /area/skipjack_station) "ajm" = ( /obj/structure/table/rack, -/obj/item/device/camera_film, -/obj/item/device/camera_film, -/obj/item/device/camera_film, -/obj/item/device/camera_film, -/obj/item/device/camera_film, -/obj/item/device/camera_film, -/obj/item/device/camera, -/obj/item/device/camera, -/obj/item/device/camera, -/obj/item/device/camera, -/obj/item/device/camera, -/obj/item/device/camera, +/obj/item/camera_film, +/obj/item/camera_film, +/obj/item/camera_film, +/obj/item/camera_film, +/obj/item/camera_film, +/obj/item/camera_film, +/obj/item/camera, +/obj/item/camera, +/obj/item/camera, +/obj/item/camera, +/obj/item/camera, +/obj/item/camera, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -279,9 +279,9 @@ /area/skipjack_station) "amo" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/stunrevolver, -/obj/item/weapon/gun/energy/stunrevolver, -/obj/item/weapon/gun/energy/stunrevolver, +/obj/item/gun/energy/stunrevolver, +/obj/item/gun/energy/stunrevolver, +/obj/item/gun/energy/stunrevolver, /obj/structure/window/reinforced, /obj/structure/window/reinforced{ dir = 8 @@ -312,21 +312,21 @@ /area/skipjack_station/start) "ano" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/toolbox/emergency{ +/obj/item/storage/toolbox/emergency{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/toolbox/emergency, -/obj/item/weapon/storage/toolbox/emergency{ +/obj/item/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency{ pixel_x = -3; pixel_y = -3 }, -/obj/item/weapon/storage/toolbox/emergency{ +/obj/item/storage/toolbox/emergency{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/toolbox/emergency, -/obj/item/weapon/storage/toolbox/emergency{ +/obj/item/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency{ pixel_x = -3; pixel_y = -3 }, @@ -351,7 +351,7 @@ /area/holodeck/source_picnicarea) "aoo" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /obj/effect/floor_decal/borderfloorblack{ dir = 1 }, @@ -401,7 +401,7 @@ /area/skipjack_station/start) "aqF" = ( /obj/structure/table/steel, -/obj/item/device/pda/syndicate, +/obj/item/pda/syndicate, /turf/unsimulated/floor{ icon_state = "cult"; name = "plating" @@ -444,10 +444,10 @@ /area/holodeck/source_picnicarea) "atC" = ( /obj/structure/table/rack, -/obj/item/weapon/rig/ert/assetprotection, -/obj/item/weapon/rig/ert/assetprotection, -/obj/item/weapon/rig/ert/assetprotection, -/obj/item/weapon/rig/ert/assetprotection, +/obj/item/rig/ert/assetprotection, +/obj/item/rig/ert/assetprotection, +/obj/item/rig/ert/assetprotection, +/obj/item/rig/ert/assetprotection, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -475,8 +475,8 @@ /area/shuttle/merchant/home) "avo" = ( /obj/structure/table/reinforced, -/obj/item/weapon/gun/energy/gun/nuclear, -/obj/item/weapon/hand_tele, +/obj/item/gun/energy/gun/nuclear, +/obj/item/hand_tele, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark" @@ -508,7 +508,7 @@ /area/centcom/terminal) "awt" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/plasmastun, +/obj/item/gun/energy/plasmastun, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -572,12 +572,12 @@ /area/syndicate_station/start) "aAv" = ( /obj/structure/table/rack, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, /obj/structure/window/reinforced{ dir = 8 }, @@ -591,35 +591,35 @@ /area/centcom/specops) "aBg" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/backpack/security, +/obj/item/storage/backpack/security, /obj/item/clothing/under/syndicate/combat, /obj/item/clothing/shoes/galoshes, /obj/item/clothing/head/bio_hood/janitor, /obj/item/clothing/suit/bio_suit/janitor, /obj/item/clothing/gloves/purple, /obj/item/clothing/glasses/science, -/obj/item/weapon/storage/backpack/security, +/obj/item/storage/backpack/security, /obj/item/clothing/under/syndicate/combat, /obj/item/clothing/shoes/galoshes, /obj/item/clothing/head/bio_hood/janitor, /obj/item/clothing/suit/bio_suit/janitor, /obj/item/clothing/gloves/purple, /obj/item/clothing/glasses/science, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ pixel_x = 6; pixel_y = 3 }, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ pixel_x = 6; pixel_y = 3 }, -/obj/item/weapon/reagent_containers/spray/plantbgone, -/obj/item/weapon/reagent_containers/spray/plantbgone, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, +/obj/item/reagent_containers/spray/plantbgone, +/obj/item/reagent_containers/spray/plantbgone, +/obj/item/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark" @@ -628,7 +628,7 @@ "aBE" = ( /obj/structure/table/reinforced, /obj/machinery/chemical_dispenser/ert, -/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/techfloor.dmi'; icon_state = "techfloor_gray" @@ -717,7 +717,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/storage/briefcase, +/obj/item/storage/briefcase, /turf/unsimulated/floor{ icon_state = "carpet" }, @@ -769,17 +769,17 @@ /turf/unsimulated/wall, /area/syndicate_mothership/elite_squad) "aPx" = ( -/obj/item/weapon/circuitboard/aiupload, -/obj/item/weapon/circuitboard/borgupload, -/obj/item/weapon/circuitboard/smes, -/obj/item/weapon/aiModule/nanotrasen, -/obj/item/weapon/aiModule/reset, -/obj/item/weapon/aiModule/freeformcore, -/obj/item/weapon/aiModule/protectStation, -/obj/item/weapon/aiModule/quarantine, -/obj/item/weapon/aiModule/paladin, -/obj/item/weapon/aiModule/robocop, -/obj/item/weapon/aiModule/safeguard, +/obj/item/circuitboard/aiupload, +/obj/item/circuitboard/borgupload, +/obj/item/circuitboard/smes, +/obj/item/aiModule/nanotrasen, +/obj/item/aiModule/reset, +/obj/item/aiModule/freeformcore, +/obj/item/aiModule/protectStation, +/obj/item/aiModule/quarantine, +/obj/item/aiModule/paladin, +/obj/item/aiModule/robocop, +/obj/item/aiModule/safeguard, /obj/structure/table/steel_reinforced, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/techfloor.dmi'; @@ -787,7 +787,7 @@ }, /area/centcom/specops) "aPN" = ( -/obj/item/weapon/mop, +/obj/item/mop, /obj/structure/mopbucket, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; @@ -891,7 +891,7 @@ /area/centcom/bar) "aVM" = ( /obj/structure/reagent_dispensers/watertank, -/obj/item/weapon/reagent_containers/glass/bucket{ +/obj/item/reagent_containers/glass/bucket{ amount_per_transfer_from_this = 50 }, /turf/unsimulated/floor{ @@ -934,7 +934,7 @@ /area/centcom/command) "aZW" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/shuttle/floor/black, /area/shuttle/merchant/home) "bbv" = ( @@ -975,7 +975,7 @@ /turf/simulated/floor/holofloor/tiled, /area/holodeck/source_emptycourt) "bcf" = ( -/obj/item/weapon/reagent_containers/food/condiment/small/peppershaker{ +/obj/item/reagent_containers/food/condiment/small/peppershaker{ pixel_x = 2; pixel_y = 6 }, @@ -997,7 +997,7 @@ /area/skipjack_station) "bcB" = ( /obj/structure/table/rack, -/obj/item/weapon/rig/ert, +/obj/item/rig/ert, /obj/item/clothing/accessory/storage/black_vest, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; @@ -1027,7 +1027,7 @@ dir = 10 }, /obj/structure/table/standard, -/obj/item/weapon/melee/classic_baton, +/obj/item/melee/classic_baton, /turf/unsimulated/floor{ icon_state = "carpet" }, @@ -1071,7 +1071,7 @@ /obj/random/tech_supply, /obj/random/tech_supply, /obj/random/tech_supply, -/obj/item/weapon/weldpack, +/obj/item/weldpack, /turf/simulated/shuttle/floor/black, /area/shuttle/merchant/home) "bhJ" = ( @@ -1079,7 +1079,7 @@ /area/ninja_dojo/start) "bii" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/material/sword/katana, +/obj/item/material/sword/katana, /turf/unsimulated/floor{ dir = 8; icon_state = "wood" @@ -1095,7 +1095,7 @@ /area/shuttle/arrival/pre_game) "biP" = ( /obj/structure/undies_wardrobe, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; dir = 4; frequency = 1213; @@ -1116,10 +1116,10 @@ /area/holodeck/source_boxingcourt) "bkx" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/stunrevolver, -/obj/item/weapon/gun/energy/stunrevolver, -/obj/item/device/flash, -/obj/item/device/flash, +/obj/item/gun/energy/stunrevolver, +/obj/item/gun/energy/stunrevolver, +/obj/item/flash, +/obj/item/flash, /obj/item/clothing/accessory/storage/brown_vest, /obj/item/clothing/accessory/storage/brown_vest, /obj/item/clothing/accessory/storage/brown_vest, @@ -1166,7 +1166,7 @@ /area/wizard_station) "bmR" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/launcher/rocket, +/obj/item/gun/launcher/rocket, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -1194,8 +1194,6 @@ /obj/machinery/optable, /turf/simulated/shuttle/floor/white, /area/skipjack_station/start) -<<<<<<< HEAD -======= "boh" = ( /obj/structure/flora/pottedplant/stoutbush, /obj/structure/sign/christmas/lights{ @@ -1214,7 +1212,6 @@ }, /turf/simulated/floor/plating, /area/shuttle/escape/centcom) ->>>>>>> d94406daccd... Merge pull request #8859 from Spookerton/greenjoe12345/xmas2022 "bos" = ( /obj/effect/floor_decal/techfloor{ dir = 10 @@ -1250,13 +1247,13 @@ /area/centcom/security) "bpf" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/coin/uranium, -/obj/item/weapon/coin/silver, -/obj/item/weapon/coin/platinum, -/obj/item/weapon/coin/phoron, -/obj/item/weapon/coin/iron, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/diamond, +/obj/item/coin/uranium, +/obj/item/coin/silver, +/obj/item/coin/platinum, +/obj/item/coin/phoron, +/obj/item/coin/iron, +/obj/item/coin/gold, +/obj/item/coin/diamond, /obj/structure/window/reinforced, /turf/simulated/shuttle/floor/black, /area/shuttle/merchant/home) @@ -1288,7 +1285,7 @@ /area/ninja_dojo/dojo) "brr" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/flame/candle, +/obj/item/flame/candle, /turf/unsimulated/floor{ dir = 8; icon_state = "wood" @@ -1342,8 +1339,8 @@ /area/syndicate_station/start) "bvG" = ( /obj/structure/table/rack, -/obj/item/device/lightreplacer, -/obj/item/device/lightreplacer, +/obj/item/lightreplacer, +/obj/item/lightreplacer, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark" @@ -1398,8 +1395,8 @@ /area/shuttle/merchant/home) "bzH" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/automatic/z8, -/obj/item/weapon/gun/projectile/automatic/z8, +/obj/item/gun/projectile/automatic/z8, +/obj/item/gun/projectile/automatic/z8, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -1410,7 +1407,7 @@ /area/holodeck/source_courtroom) "bAM" = ( /obj/structure/table/rack, -/obj/item/weapon/melee/energy/sword, +/obj/item/melee/energy/sword, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -1506,7 +1503,7 @@ /area/wizard_station) "bDm" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/automatic/l6_saw, +/obj/item/gun/projectile/automatic/l6_saw, /obj/item/ammo_magazine/m545saw, /obj/item/ammo_magazine/m545saw, /obj/item/ammo_magazine/m545saw, @@ -1517,10 +1514,10 @@ /area/centcom/specops) "bDr" = ( /obj/structure/table/rack, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -1596,7 +1593,7 @@ /area/centcom/evac) "bLe" = ( /obj/structure/table/reinforced, -/obj/item/weapon/card/id/gold/captain/spare, +/obj/item/card/id/gold/captain/spare, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark" @@ -1660,12 +1657,12 @@ /area/shuttle/arrival/pre_game) "bQE" = ( /obj/structure/table/rack, -/obj/item/weapon/melee/energy/sword/pirate, +/obj/item/melee/energy/sword/pirate, /obj/item/clothing/suit/space/pirate, /obj/item/clothing/suit/space/pirate, -/obj/item/weapon/tank/oxygen, -/obj/item/weapon/pinpointer/shuttle/heist, -/obj/item/weapon/pinpointer/shuttle/heist, +/obj/item/tank/oxygen, +/obj/item/pinpointer/shuttle/heist, +/obj/item/pinpointer/shuttle/heist, /turf/simulated/shuttle/floor/darkred, /area/skipjack_station/start) "bSm" = ( @@ -1687,8 +1684,8 @@ /area/centcom/medical) "bTo" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, +/obj/item/gun/energy/laser, +/obj/item/gun/energy/laser, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -1699,8 +1696,8 @@ /obj/item/ammo_magazine/m9mmp90, /obj/item/ammo_magazine/m9mmp90, /obj/item/ammo_magazine/m9mmp90, -/obj/item/weapon/gun/projectile/automatic/p90, -/obj/item/weapon/gun/projectile/automatic/p90, +/obj/item/gun/projectile/automatic/p90, +/obj/item/gun/projectile/automatic/p90, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -1739,15 +1736,15 @@ /area/centcom/main_hall) "bVT" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/xray, -/obj/item/weapon/gun/energy/xray, +/obj/item/gun/energy/xray, +/obj/item/gun/energy/xray, /turf/unsimulated/floor{ icon_state = "dark" }, /area/centcom/specops) "bWN" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/hos, +/obj/item/bedsheet/hos, /obj/structure/sign/poster{ pixel_y = -32 }, @@ -1755,7 +1752,7 @@ /area/shuttle/merchant/home) "bXa" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /turf/unsimulated/floor{ icon_state = "wood" }, @@ -1796,7 +1793,7 @@ }, /area/wizard_station) "bXZ" = ( -/obj/item/weapon/ore, +/obj/item/ore, /obj/structure/reagent_dispensers/beerkeg, /turf/unsimulated/floor{ icon_state = "white" @@ -1856,8 +1853,8 @@ /obj/effect/floor_decal/corner/purple/border{ dir = 10 }, -/obj/item/weapon/reagent_containers/glass/bottle/biomass, -/obj/item/weapon/reagent_containers/glass/bottle/biomass, +/obj/item/reagent_containers/glass/bottle/biomass, +/obj/item/reagent_containers/glass/bottle/biomass, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "white" @@ -1902,17 +1899,17 @@ /obj/effect/floor_decal/industrial/warning{ dir = 1 }, -/obj/item/device/kit/paint/ripley/death, -/obj/item/device/kit/paint/ripley/flames_blue, -/obj/item/device/kit/paint/ripley/flames_red, -/obj/item/device/kit/paint/ripley, +/obj/item/kit/paint/ripley/death, +/obj/item/kit/paint/ripley/flames_blue, +/obj/item/kit/paint/ripley/flames_red, +/obj/item/kit/paint/ripley, /turf/simulated/shuttle/floor/black, /area/shuttle/merchant/home) "cfm" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, +/obj/item/gun/energy/gun, +/obj/item/gun/energy/gun, +/obj/item/gun/energy/gun, /obj/structure/window/reinforced{ dir = 8 }, @@ -1944,7 +1941,7 @@ /area/skipjack_station) "chb" = ( /obj/structure/table/glass, -/obj/item/weapon/book/codex/lore/vir, +/obj/item/book/codex/lore/vir, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel" @@ -1975,8 +1972,8 @@ "ciy" = ( /obj/structure/table/rack, /obj/structure/window/reinforced, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/techfloor.dmi'; icon_state = "techfloor_gray" @@ -1996,11 +1993,11 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle, /obj/structure/window/reinforced{ dir = 1 }, -/obj/item/weapon/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/techfloor.dmi'; icon_state = "techfloor_gray" @@ -2039,7 +2036,7 @@ /obj/structure/table/rack, /obj/item/clothing/under/color/green, /obj/item/clothing/shoes/brown, -/obj/item/weapon/melee/energy/axe, +/obj/item/melee/energy/axe, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark" @@ -2067,8 +2064,8 @@ /turf/unsimulated/ai_visible, /area/ai_multicam_room) "cpa" = ( -/obj/item/weapon/tool/wrench, -/obj/item/weapon/mop, +/obj/item/tool/wrench, +/obj/item/mop, /turf/simulated/shuttle/plating, /area/skipjack_station/start) "cqR" = ( @@ -2101,8 +2098,8 @@ /area/centcom/main_hall) "csP" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/bodybags, -/obj/item/weapon/storage/box/bodybags{ +/obj/item/storage/box/bodybags, +/obj/item/storage/box/bodybags{ pixel_x = 2; pixel_y = 2 }, @@ -2119,24 +2116,24 @@ /area/centcom/medical) "csT" = ( /obj/structure/table/rack, -/obj/item/device/megaphone, -/obj/item/device/megaphone, -/obj/item/device/megaphone, -/obj/item/device/megaphone, -/obj/item/device/megaphone, -/obj/item/device/megaphone, +/obj/item/megaphone, +/obj/item/megaphone, +/obj/item/megaphone, +/obj/item/megaphone, +/obj/item/megaphone, +/obj/item/megaphone, /turf/unsimulated/floor{ icon_state = "dark" }, /area/syndicate_station) "csV" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, +/obj/item/gun/energy/gun, +/obj/item/gun/energy/gun, +/obj/item/gun/energy/gun, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -2219,7 +2216,7 @@ /obj/machinery/computer/station_alert/all{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; dir = 4; frequency = 1213; @@ -2293,8 +2290,8 @@ "cBj" = ( /obj/machinery/light, /obj/structure/table/standard, -/obj/item/weapon/soap, -/obj/item/weapon/towel{ +/obj/item/soap, +/obj/item/towel{ color = "#0000FF" }, /turf/simulated/shuttle/floor/black, @@ -2310,7 +2307,7 @@ /area/wizard_station) "cDm" = ( /obj/structure/table/standard, -/obj/item/weapon/book/codex/corp_regs, +/obj/item/book/codex/corp_regs, /turf/simulated/shuttle/floor/white, /area/shuttle/arrival/pre_game) "cDr" = ( @@ -2347,12 +2344,12 @@ /area/holodeck/source_chess) "cIv" = ( /obj/structure/table/rack, -/obj/item/device/flashlight/maglight, -/obj/item/device/flashlight/maglight, -/obj/item/device/flashlight/maglight, -/obj/item/device/flashlight/maglight, -/obj/item/device/flashlight/maglight, -/obj/item/device/flashlight/maglight, +/obj/item/flashlight/maglight, +/obj/item/flashlight/maglight, +/obj/item/flashlight/maglight, +/obj/item/flashlight/maglight, +/obj/item/flashlight/maglight, +/obj/item/flashlight/maglight, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -2438,19 +2435,19 @@ /area/centcom/bar) "cNF" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/handcuffs{ +/obj/item/storage/box/handcuffs{ pixel_x = 4; pixel_y = 2 }, -/obj/item/weapon/storage/box/flashbangs, -/obj/item/weapon/storage/box/smokes, +/obj/item/storage/box/flashbangs, +/obj/item/storage/box/smokes, /turf/unsimulated/floor{ icon_state = "dark" }, /area/syndicate_station) "cOd" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/handcuffs, +/obj/item/storage/box/handcuffs, /turf/unsimulated/floor{ icon_state = "steel" }, @@ -2460,7 +2457,7 @@ /obj/item/clothing/suit/wizrobe/red, /obj/item/clothing/shoes/sandal, /obj/item/clothing/head/wizard/red, -/obj/item/weapon/staff, +/obj/item/staff, /turf/unsimulated/floor{ dir = 5; icon_state = "vault" @@ -2496,7 +2493,7 @@ "cRp" = ( /obj/structure/table/marble, /obj/effect/floor_decal/corner/white/diagonal, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/food/condiment/enzyme, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel" @@ -2645,7 +2642,7 @@ }, /area/centcom/specops) "dfg" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ broadcasting = 1; dir = 1; frequency = 1213; @@ -2672,7 +2669,7 @@ }, /area/centcom/terminal) "dgH" = ( -/obj/item/weapon/bikehorn/rubberducky, +/obj/item/bikehorn/rubberducky, /turf/unsimulated/floor{ icon_state = "freezerfloor" }, @@ -2712,11 +2709,11 @@ /area/syndicate_mothership/elite_squad) "dif" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ pixel_x = 5; pixel_y = 5 }, -/obj/item/weapon/storage/firstaid/adv, +/obj/item/storage/firstaid/adv, /turf/unsimulated/floor{ icon_state = "white" }, @@ -2728,7 +2725,7 @@ /turf/simulated/floor/holofloor/tiled, /area/holodeck/source_thunderdomecourt) "dja" = ( -/obj/item/weapon/storage/box, +/obj/item/storage/box, /turf/unsimulated/floor{ icon_state = "asteroid" }, @@ -2793,7 +2790,7 @@ /obj/item/clothing/shoes/brown, /obj/item/clothing/suit/armor/tdome/green, /obj/item/clothing/head/helmet/thunderdome, -/obj/item/weapon/melee/baton/loaded, +/obj/item/melee/baton/loaded, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark" @@ -2801,7 +2798,7 @@ /area/tdome/tdome1) "dns" = ( /obj/machinery/portable_atmospherics/canister/nitrogen, -/obj/item/weapon/tank/nitrogen, +/obj/item/tank/nitrogen, /turf/simulated/shuttle/plating, /area/skipjack_station/start) "dnS" = ( @@ -2885,7 +2882,7 @@ /area/skipjack_station/start) "dsW" = ( /obj/structure/table/steel, -/obj/item/device/radio/uplink, +/obj/item/radio/uplink, /turf/unsimulated/floor{ icon_state = "cult"; name = "plating" @@ -2911,8 +2908,8 @@ /area/skipjack_station) "duO" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/syndie_kit/chameleon, -/obj/item/weapon/storage/box/syndie_kit/clerical, +/obj/item/storage/box/syndie_kit/chameleon, +/obj/item/storage/box/syndie_kit/clerical, /turf/unsimulated/floor{ icon_state = "steel" }, @@ -2994,8 +2991,8 @@ /area/centcom/medical) "dzV" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/book/manual/engineering_hacking, -/obj/item/device/radio/intercom{ +/obj/item/book/manual/wiki/engineering_hacking, +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; dir = 4; frequency = 1213; @@ -3021,7 +3018,7 @@ }, /area/shuttle/trade) "dAU" = ( -/obj/item/weapon/reagent_containers/food/snacks/spellburger{ +/obj/item/reagent_containers/food/snacks/spellburger{ pixel_y = 8 }, /obj/structure/table/marble, @@ -3105,7 +3102,7 @@ /obj/machinery/vending/cigarette{ name = "hacked cigarette machine"; prices = list(); - products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) + products = list(/obj/item/storage/fancy/cigarettes = 10, /obj/item/storage/box/matches = 10, /obj/item/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) }, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; @@ -3153,7 +3150,7 @@ /obj/item/clothing/under/gentlesuit, /obj/item/clothing/suit/wizrobe/gentlecoat, /obj/item/clothing/head/wizard/cap, -/obj/item/weapon/staff/gentcane, +/obj/item/staff/gentcane, /turf/unsimulated/floor{ dir = 5; icon_state = "vault" @@ -3161,18 +3158,18 @@ /area/wizard_station) "dHt" = ( /obj/structure/table/rack, -/obj/item/device/flashlight/flare, -/obj/item/device/flashlight/flare, -/obj/item/device/flashlight/flare, -/obj/item/device/flashlight/flare, -/obj/item/device/flashlight/flare, -/obj/item/device/flashlight/flare, -/obj/item/device/flashlight/flare, -/obj/item/device/flashlight/flare, -/obj/item/device/flashlight/flare, -/obj/item/device/flashlight/flare, -/obj/item/device/flashlight/flare, -/obj/item/device/flashlight/flare, +/obj/item/flashlight/flare, +/obj/item/flashlight/flare, +/obj/item/flashlight/flare, +/obj/item/flashlight/flare, +/obj/item/flashlight/flare, +/obj/item/flashlight/flare, +/obj/item/flashlight/flare, +/obj/item/flashlight/flare, +/obj/item/flashlight/flare, +/obj/item/flashlight/flare, +/obj/item/flashlight/flare, +/obj/item/flashlight/flare, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -3192,12 +3189,12 @@ /area/shuttle/large_escape_pod2/transit) "dIT" = ( /obj/structure/table/rack, -/obj/item/device/binoculars, -/obj/item/device/binoculars, -/obj/item/device/binoculars, -/obj/item/device/binoculars, -/obj/item/device/binoculars, -/obj/item/device/binoculars, +/obj/item/binoculars, +/obj/item/binoculars, +/obj/item/binoculars, +/obj/item/binoculars, +/obj/item/binoculars, +/obj/item/binoculars, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -3246,7 +3243,7 @@ /area/holodeck/source_chess) "dLk" = ( /obj/structure/table/standard, -/obj/item/weapon/deck/cards, +/obj/item/deck/cards, /turf/simulated/shuttle/floor/black, /area/skipjack_station/start) "dOl" = ( @@ -3286,10 +3283,10 @@ name = "O- Blood Locker"; pixel_x = 32 }, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "white" @@ -3311,12 +3308,12 @@ dir = 4 }, /obj/structure/window/reinforced, -/obj/item/weapon/rig/ert/medical{ +/obj/item/rig/ert/medical{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/rig/ert/medical, -/obj/item/weapon/rig/ert/medical{ +/obj/item/rig/ert/medical, +/obj/item/rig/ert/medical{ pixel_x = -2; pixel_y = -2 }, @@ -3340,7 +3337,7 @@ /area/centcom/specops) "dTY" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, /obj/item/bodybag/cryobag, /obj/item/bodybag/cryobag, /obj/item/bodybag/cryobag, @@ -3447,8 +3444,8 @@ /area/tdome/tdomeobserve) "ebS" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/automatic/sts35, -/obj/item/weapon/gun/projectile/automatic/sts35, +/obj/item/gun/projectile/automatic/sts35, +/obj/item/gun/projectile/automatic/sts35, /obj/item/ammo_magazine/m545, /obj/item/ammo_magazine/m545, /obj/item/ammo_magazine/m545, @@ -3474,18 +3471,18 @@ /obj/item/taperoll/police, /obj/item/taperoll/police, /obj/item/taperoll/police, -/obj/item/device/flash, -/obj/item/device/flash, -/obj/item/device/flash, -/obj/item/device/flash, -/obj/item/device/flash, -/obj/item/device/flash, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, +/obj/item/flash, +/obj/item/flash, +/obj/item/flash, +/obj/item/flash, +/obj/item/flash, +/obj/item/flash, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/techfloor.dmi'; icon_state = "techfloor_gray" @@ -3493,7 +3490,7 @@ /area/centcom/specops) "ecz" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/handcuffs, +/obj/item/storage/box/handcuffs, /turf/unsimulated/floor{ icon_state = "lino" }, @@ -3509,8 +3506,8 @@ /obj/structure/window/reinforced{ dir = 8 }, -/obj/item/weapon/gun/launcher/grenade, -/obj/item/weapon/gun/launcher/grenade, +/obj/item/gun/launcher/grenade, +/obj/item/gun/launcher/grenade, /obj/structure/window/reinforced, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/techfloor.dmi'; @@ -3583,7 +3580,7 @@ /area/syndicate_mothership/elite_squad) "eid" = ( /obj/structure/table/standard, -/obj/item/device/paicard, +/obj/item/paicard, /turf/unsimulated/floor{ icon_state = "steel" }, @@ -3613,7 +3610,7 @@ /area/shuttle/response_ship/start) "enr" = ( /obj/structure/table/rack, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, /turf/simulated/shuttle/plating, /area/centcom/evac) "eoa" = ( @@ -3665,7 +3662,7 @@ /area/holodeck/source_theatre) "epa" = ( /obj/structure/table/woodentable, -/obj/item/weapon/book/codex/corp_regs, +/obj/item/book/codex/corp_regs, /turf/unsimulated/floor{ dir = 8; icon_state = "wood" @@ -3682,7 +3679,7 @@ /area/skipjack_station/start) "epV" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/book/manual/robotics_cyborgs, +/obj/item/book/manual/robotics_cyborgs, /turf/unsimulated/floor{ dir = 5; icon_state = "vault" @@ -3691,15 +3688,15 @@ "epY" = ( /obj/structure/closet/chefcloset, /obj/item/glass_jar, -/obj/item/device/retail_scanner/civilian, -/obj/item/weapon/soap/nanotrasen, -/obj/item/device/destTagger{ +/obj/item/retail_scanner/civilian, +/obj/item/soap/nanotrasen, +/obj/item/destTagger{ pixel_x = 4; pixel_y = 3 }, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, +/obj/item/packageWrap, +/obj/item/packageWrap, +/obj/item/packageWrap, /obj/effect/floor_decal/corner/white/diagonal, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; @@ -3747,7 +3744,7 @@ }, /area/syndicate_mothership/elite_squad) "esB" = ( -/obj/item/weapon/gun/launcher/crossbow, +/obj/item/gun/launcher/crossbow, /turf/unsimulated/floor{ icon_state = "plating"; name = "plating" @@ -3775,11 +3772,11 @@ /area/centcom/bar) "etC" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/cautery, -/obj/item/weapon/surgical/retractor, -/obj/item/weapon/reagent_containers/glass/bottle/stoxin, -/obj/item/weapon/reagent_containers/glass/bottle/stoxin, -/obj/item/weapon/reagent_containers/syringe, +/obj/item/surgical/cautery, +/obj/item/surgical/retractor, +/obj/item/reagent_containers/glass/bottle/stoxin, +/obj/item/reagent_containers/glass/bottle/stoxin, +/obj/item/reagent_containers/syringe, /turf/simulated/shuttle/floor/white, /area/skipjack_station/start) "eup" = ( @@ -3837,7 +3834,7 @@ /obj/structure/table/rack, /obj/item/clothing/under/color/red, /obj/item/clothing/shoes/brown, -/obj/item/weapon/melee/energy/axe, +/obj/item/melee/energy/axe, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark" @@ -3845,7 +3842,7 @@ /area/tdome/tdome2) "evy" = ( /obj/machinery/chem_master, -/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/techfloor.dmi'; icon_state = "techfloor_gray" @@ -4062,12 +4059,12 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/storage/backpack/ert/engineer{ +/obj/item/storage/backpack/ert/engineer{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/storage/backpack/ert/engineer, -/obj/item/weapon/storage/backpack/ert/engineer{ +/obj/item/storage/backpack/ert/engineer, +/obj/item/storage/backpack/ert/engineer{ pixel_x = 2; pixel_y = 2 }, @@ -4217,10 +4214,10 @@ /area/centcom/suppy) "eWA" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/cell/high, -/obj/item/weapon/cell/high, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/potato, +/obj/item/cell/high, +/obj/item/cell/high, +/obj/item/cell/hyper, +/obj/item/cell/potato, /obj/structure/window/reinforced, /turf/simulated/shuttle/floor/black, /area/shuttle/merchant/home) @@ -4280,11 +4277,11 @@ /area/centcom/specops) "eXR" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/secure/briefcase, -/obj/item/weapon/storage/fancy/cigarettes, -/obj/item/weapon/flame/lighter/zippo, -/obj/item/weapon/storage/belt/utility, -/obj/item/weapon/storage/backpack/satchel, +/obj/item/storage/secure/briefcase, +/obj/item/storage/fancy/cigarettes, +/obj/item/flame/lighter/zippo, +/obj/item/storage/belt/utility, +/obj/item/storage/backpack/satchel, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark" @@ -4368,9 +4365,9 @@ /area/holodeck/source_basketball) "fdj" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/flashbangs, -/obj/item/weapon/storage/box/flashbangs, -/obj/item/weapon/storage/box/emps{ +/obj/item/storage/box/flashbangs, +/obj/item/storage/box/flashbangs, +/obj/item/storage/box/emps{ pixel_x = 4; pixel_y = 4 }, @@ -4380,9 +4377,9 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/storage/box/frags, -/obj/item/weapon/storage/box/smokes, -/obj/item/weapon/storage/box/smokes, +/obj/item/storage/box/frags, +/obj/item/storage/box/smokes, +/obj/item/storage/box/smokes, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/techfloor.dmi'; icon_state = "techfloor_gray" @@ -4390,13 +4387,13 @@ /area/centcom/specops) "fdn" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/material/knife/ritual, +/obj/item/material/knife/ritual, /turf/unsimulated/floor{ icon_state = "dark" }, /area/wizard_station) "feX" = ( -/obj/item/weapon/bedsheet/rd, +/obj/item/bedsheet/rd, /obj/structure/bed/padded, /turf/simulated/shuttle/floor/red, /area/skipjack_station/start) @@ -4451,9 +4448,9 @@ /area/shuttle/syndicate_elite/mothership) "fhd" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/automatic/wt550, -/obj/item/weapon/gun/projectile/automatic/wt550, -/obj/item/weapon/gun/projectile/automatic/wt550, +/obj/item/gun/projectile/automatic/wt550, +/obj/item/gun/projectile/automatic/wt550, +/obj/item/gun/projectile/automatic/wt550, /obj/structure/window/reinforced{ dir = 1 }, @@ -4478,8 +4475,8 @@ "fjf" = ( /obj/structure/table/steel_reinforced, /obj/machinery/cell_charger, -/obj/item/weapon/cell/high, -/obj/item/weapon/cell/high, +/obj/item/cell/high, +/obj/item/cell/high, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark" @@ -4506,18 +4503,18 @@ /area/centcom/main_hall) "fkj" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle, /obj/machinery/recharger/wallcharger{ pixel_x = 5; pixel_y = 32 }, -/obj/item/weapon/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle, /turf/unsimulated/floor{ icon_state = "dark" }, /area/syndicate_station) "fkt" = ( -/obj/item/weapon/bedsheet/green, +/obj/item/bedsheet/green, /obj/machinery/light/small{ dir = 4 }, @@ -4581,7 +4578,7 @@ /area/holodeck/source_emptycourt) "fnh" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/drinks/teapot, +/obj/item/reagent_containers/food/drinks/teapot, /turf/simulated/floor/tiled/white, /area/centcom/bar) "fnp" = ( @@ -4638,11 +4635,11 @@ /area/holodeck/source_theatre) "fok" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, -/obj/item/weapon/flame/lighter/zippo, -/obj/item/weapon/storage/fancy/cigarettes, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/flame/lighter/zippo, +/obj/item/storage/fancy/cigarettes, /turf/unsimulated/floor{ icon_state = "lino" }, @@ -4724,8 +4721,8 @@ /area/shuttle/arrival/pre_game) "fvA" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/shotgunammo/large, -/obj/item/weapon/storage/box/stunshells/large, +/obj/item/storage/box/shotgunammo/large, +/obj/item/storage/box/stunshells/large, /turf/unsimulated/floor{ icon_state = "steel" }, @@ -4734,9 +4731,9 @@ /obj/structure/closet{ name = "custodial" }, -/obj/item/weapon/mop, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/mop, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/glass/bucket, /turf/simulated/shuttle/floor/voidcraft/dark, /area/syndicate_station/start) "fwt" = ( @@ -4853,8 +4850,8 @@ /area/centcom/medical) "fCz" = ( /obj/structure/table/reinforced, -/obj/item/weapon/shield_diffuser, -/obj/item/weapon/shield_diffuser, +/obj/item/shield_diffuser, +/obj/item/shield_diffuser, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark" @@ -4928,8 +4925,8 @@ dir = 4 }, /obj/structure/table/reinforced, -/obj/item/weapon/shield_diffuser, -/obj/item/weapon/shield_diffuser, +/obj/item/shield_diffuser, +/obj/item/shield_diffuser, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark" @@ -4964,7 +4961,7 @@ /area/centcom/medical) "fHE" = ( /obj/machinery/computer/card/centcom, -/obj/item/weapon/card/id/centcom, +/obj/item/card/id/centcom, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark" @@ -5291,7 +5288,7 @@ /area/syndicate_station) "gaf" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/toolbox/syndicate{ +/obj/item/storage/toolbox/syndicate{ pixel_x = -1; pixel_y = 3 }, @@ -5319,7 +5316,7 @@ }, /area/centcom/command) "gbs" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; dir = 4; frequency = 1213; @@ -5339,9 +5336,9 @@ /area/skipjack_station/start) "gcn" = ( /obj/structure/table/reinforced, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/screwdriver, -/obj/item/weapon/tool/wrench, +/obj/item/tool/crowbar, +/obj/item/tool/screwdriver, +/obj/item/tool/wrench, /obj/effect/floor_decal/industrial/outline/blue, /obj/machinery/recharger/wallcharger{ pixel_x = 4; @@ -5376,7 +5373,7 @@ /area/centcom/bar) "gfU" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /obj/structure/curtain/open/privacy, @@ -5486,7 +5483,7 @@ }, /area/tdome/tdome1) "gme" = ( -/obj/item/weapon/bedsheet/rainbow, +/obj/item/bedsheet/rainbow, /obj/structure/bed/padded, /turf/simulated/shuttle/floor/red, /area/skipjack_station/start) @@ -5512,7 +5509,7 @@ /obj/item/clothing/head/helmet/thunderdome, /obj/item/clothing/under/color/green, /obj/item/clothing/suit/armor/tdome/green, -/obj/item/weapon/holo/esword/green, +/obj/item/holo/esword/green, /obj/effect/floor_decal/corner/green{ dir = 5 }, @@ -5524,16 +5521,16 @@ }, /area/shuttle/response_ship/start) "gnL" = ( -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, /obj/structure/table/standard, /turf/unsimulated/floor{ icon_state = "lino" @@ -5577,10 +5574,10 @@ /obj/structure/table/standard, /obj/random/soap, /obj/random/soap, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, /turf/simulated/shuttle/floor, /area/centcom/evac) "gqi" = ( @@ -5600,8 +5597,8 @@ /area/holodeck/source_wildlife) "grd" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/fancy/cigarettes, -/obj/item/weapon/flame/lighter/zippo, +/obj/item/storage/fancy/cigarettes, +/obj/item/flame/lighter/zippo, /obj/item/clothing/gloves/yellow, /obj/item/stack/material/steel{ amount = 50 @@ -5609,7 +5606,7 @@ /obj/item/stack/material/glass{ amount = 50 }, -/obj/item/weapon/card/emag, +/obj/item/card/emag, /turf/simulated/shuttle/plating, /area/skipjack_station/start) "grn" = ( @@ -5630,7 +5627,7 @@ /turf/simulated/floor/holofloor/wmarble, /area/holodeck/source_chess) "guR" = ( -/obj/item/device/radio/intercom/specops{ +/obj/item/radio/intercom/specops{ pixel_y = -21 }, /turf/simulated/shuttle/floor/red, @@ -5792,11 +5789,11 @@ /area/centcom/main_hall) "gFN" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ pixel_x = 5; pixel_y = 5 }, -/obj/item/weapon/storage/firstaid/combat, +/obj/item/storage/firstaid/combat, /turf/simulated/shuttle/floor/voidcraft/dark, /area/ninja_dojo/start) "gFO" = ( @@ -5859,10 +5856,10 @@ /area/centcom/bar) "gJo" = ( /obj/structure/table/reinforced, -/obj/item/device/defib_kit/loaded{ +/obj/item/defib_kit/loaded{ pixel_y = 2 }, -/obj/item/device/defib_kit/loaded{ +/obj/item/defib_kit/loaded{ pixel_y = -2 }, /turf/simulated/shuttle/floor/white, @@ -5870,7 +5867,7 @@ "gJJ" = ( /obj/item/mecha_parts/mecha_equipment/tool/extinguisher, /obj/item/mecha_parts/mecha_equipment/tool/rcd, -/obj/item/weapon/pickaxe/diamonddrill, +/obj/item/pickaxe/diamonddrill, /obj/structure/table/steel_reinforced, /turf/unsimulated/floor{ icon_state = "plating"; @@ -5886,12 +5883,12 @@ dir = 4 }, /obj/structure/table/rack, -/obj/item/weapon/rig/ert/security{ +/obj/item/rig/ert/security{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/rig/ert/security, -/obj/item/weapon/rig/ert/security{ +/obj/item/rig/ert/security, +/obj/item/rig/ert/security{ pixel_x = 2; pixel_y = 2 }, @@ -5906,15 +5903,15 @@ /area/holodeck/source_snowfield) "gKQ" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/surgicaldrill, -/obj/item/weapon/autopsy_scanner, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/surgical/surgicaldrill, +/obj/item/autopsy_scanner, +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/surgical/FixOVein, +/obj/item/surgical/FixOVein, /obj/effect/floor_decal/borderfloorwhite{ dir = 5 }, @@ -5933,7 +5930,7 @@ /area/centcom/evac) "gLT" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /turf/unsimulated/floor{ dir = 8; icon_state = "wood" @@ -6040,7 +6037,7 @@ /turf/simulated/shuttle/plating/airless/carry, /area/shuttle/merchant/home) "gTz" = ( -/obj/item/device/camera{ +/obj/item/camera{ desc = "A one use - polaroid camera. 30 photos left."; name = "detectives camera"; pictures_left = 30; @@ -6077,7 +6074,7 @@ /obj/structure/flora/pottedplant{ icon_state = "plant-03" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; dir = 8; frequency = 1213; @@ -6129,12 +6126,12 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/storage/backpack/ert/medical, -/obj/item/weapon/storage/backpack/ert/medical{ +/obj/item/storage/backpack/ert/medical, +/obj/item/storage/backpack/ert/medical{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/storage/backpack/ert/medical{ +/obj/item/storage/backpack/ert/medical{ pixel_x = -4; pixel_y = -4 }, @@ -6243,11 +6240,11 @@ /area/shuttle/syndicate_elite/mothership) "hhv" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/circular_saw{ +/obj/item/surgical/circular_saw{ pixel_y = 8 }, -/obj/item/weapon/surgical/hemostat, -/obj/item/weapon/surgical/scalpel, +/obj/item/surgical/hemostat, +/obj/item/surgical/scalpel, /obj/item/stack/medical/advanced/bruise_pack, /turf/simulated/shuttle/floor/white, /area/skipjack_station/start) @@ -6266,7 +6263,7 @@ /area/centcom/evac) "hiU" = ( /obj/structure/table/standard, -/obj/item/weapon/handcuffs/legcuffs, +/obj/item/handcuffs/legcuffs, /turf/simulated/shuttle/floor/black, /area/skipjack_station/start) "hjb" = ( @@ -6283,7 +6280,7 @@ }, /area/centcom/bar) "hkb" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; frequency = 1213; name = "Subversive Intercom"; @@ -6551,7 +6548,7 @@ /obj/structure/table/rack, /obj/item/clothing/suit/armor/vest/ert/command, /obj/item/clothing/head/helmet/ert/command, -/obj/item/weapon/storage/backpack/ert/commander, +/obj/item/storage/backpack/ert/commander, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark" @@ -6649,7 +6646,7 @@ }, /area/ninja_dojo/dojo) "hHU" = ( -/obj/item/weapon/inflatable_duck, +/obj/item/inflatable_duck, /turf/simulated/floor/holofloor/beach/sand, /area/holodeck/source_beach) "hIf" = ( @@ -6813,11 +6810,11 @@ /area/centcom/main_hall) "hPC" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ pixel_x = 5; pixel_y = 5 }, -/obj/item/weapon/storage/firstaid/adv, +/obj/item/storage/firstaid/adv, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /turf/unsimulated/floor{ @@ -6894,10 +6891,10 @@ /area/skipjack_station) "hTd" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ pixel_x = 1 }, -/obj/item/weapon/storage/firstaid/toxin{ +/obj/item/storage/firstaid/toxin{ pixel_x = 3; pixel_y = 3 }, @@ -6908,14 +6905,14 @@ pixel_x = -32; req_access = list(150) }, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/fire{ pixel_x = 1 }, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /turf/simulated/shuttle/floor/white, /area/skipjack_station/start) "hTk" = ( @@ -7021,9 +7018,9 @@ /area/centcom/evac) "hXB" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/storage/firstaid/clotting, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/storage/firstaid/clotting, /obj/item/stack/medical/splint, /turf/simulated/shuttle/floor/white, /area/skipjack_station/start) @@ -7041,8 +7038,8 @@ }, /area/centcom/specops) "hYD" = ( -/obj/item/device/multitool, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/multitool, +/obj/item/reagent_containers/spray/cleaner, /obj/structure/table/reinforced, /turf/simulated/shuttle/floor/red, /area/shuttle/administration/centcom) @@ -7111,8 +7108,8 @@ /area/syndicate_station/start) "idn" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/device/multitool, +/obj/item/storage/belt/utility/full, +/obj/item/multitool, /turf/simulated/shuttle/floor/voidcraft/dark, /area/syndicate_station/start) "idR" = ( @@ -7167,7 +7164,7 @@ }, /area/wizard_station) "ihn" = ( -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /obj/structure/table/reinforced, /turf/simulated/shuttle/floor/red, /area/shuttle/administration/centcom) @@ -7190,7 +7187,7 @@ pixel_y = -2 }, /obj/item/stack/nanopaste, -/obj/item/weapon/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery, /turf/simulated/shuttle/floor/white, /area/centcom/evac) "ijP" = ( @@ -7257,7 +7254,7 @@ }, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/green/border, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel" @@ -7265,7 +7262,7 @@ /area/centcom/terminal) "inZ" = ( /obj/structure/table/reinforced, -/obj/item/weapon/tray{ +/obj/item/tray{ pixel_y = 5 }, /obj/effect/landmark{ @@ -7284,7 +7281,7 @@ /area/centcom/specops) "ioC" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 3 }, @@ -7316,49 +7313,49 @@ /area/beach) "ith" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/pill_bottle/tramadol{ +/obj/item/storage/pill_bottle/tramadol{ pixel_x = -6; pixel_y = -6 }, -/obj/item/weapon/storage/pill_bottle/tramadol{ +/obj/item/storage/pill_bottle/tramadol{ pixel_x = -6; pixel_y = -6 }, -/obj/item/weapon/storage/pill_bottle/tramadol{ +/obj/item/storage/pill_bottle/tramadol{ pixel_x = -6; pixel_y = -6 }, -/obj/item/weapon/storage/pill_bottle/dylovene{ +/obj/item/storage/pill_bottle/dylovene{ pixel_y = -6 }, -/obj/item/weapon/storage/pill_bottle/dylovene{ +/obj/item/storage/pill_bottle/dylovene{ pixel_x = -6 }, -/obj/item/weapon/storage/pill_bottle/dylovene{ +/obj/item/storage/pill_bottle/dylovene{ pixel_x = -6 }, -/obj/item/weapon/storage/pill_bottle/dermaline{ +/obj/item/storage/pill_bottle/dermaline{ pixel_x = -3; pixel_y = -3 }, -/obj/item/weapon/storage/pill_bottle/dermaline{ +/obj/item/storage/pill_bottle/dermaline{ pixel_x = -3; pixel_y = -3 }, -/obj/item/weapon/storage/pill_bottle/dermaline{ +/obj/item/storage/pill_bottle/dermaline{ pixel_x = -3; pixel_y = -3 }, -/obj/item/weapon/storage/pill_bottle/spaceacillin, -/obj/item/weapon/storage/pill_bottle/dexalin_plus{ +/obj/item/storage/pill_bottle/spaceacillin, +/obj/item/storage/pill_bottle/dexalin_plus{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/pill_bottle/dexalin_plus{ +/obj/item/storage/pill_bottle/dexalin_plus{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/pill_bottle/dexalin_plus{ +/obj/item/storage/pill_bottle/dexalin_plus{ pixel_x = 4; pixel_y = 4 }, @@ -7377,7 +7374,7 @@ /area/shuttle/administration/centcom) "ivA" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/lockbox, +/obj/item/storage/lockbox, /turf/simulated/shuttle/floor/black, /area/centcom/evac) "ivO" = ( @@ -7432,7 +7429,7 @@ /area/skipjack_station) "iyN" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/hos, +/obj/item/bedsheet/hos, /turf/simulated/shuttle/floor/red, /area/shuttle/administration/centcom) "iyY" = ( @@ -7443,8 +7440,8 @@ /turf/simulated/shuttle/floor/red, /area/shuttle/administration/centcom) "izK" = ( -/obj/item/weapon/storage/box/evidence, -/obj/item/weapon/folder/red, +/obj/item/storage/box/evidence, +/obj/item/folder/red, /obj/structure/table/reinforced, /obj/effect/floor_decal/borderfloorblack{ dir = 4 @@ -7466,7 +7463,7 @@ /area/centcom/specops) "izS" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /turf/unsimulated/floor{ icon_state = "wood" }, @@ -7485,9 +7482,9 @@ /area/centcom/terminal) "iBh" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/bonesetter, -/obj/item/weapon/surgical/bonegel, -/obj/item/weapon/surgical/FixOVein, +/obj/item/surgical/bonesetter, +/obj/item/surgical/bonegel, +/obj/item/surgical/FixOVein, /obj/item/stack/nanopaste, /turf/simulated/shuttle/floor/white, /area/skipjack_station/start) @@ -7536,7 +7533,7 @@ /obj/effect/floor_decal/corner/yellow{ dir = 5 }, -/obj/item/weapon/reagent_containers/food/condiment/small/sugar, +/obj/item/reagent_containers/food/condiment/small/sugar, /turf/simulated/floor/tiled/white, /area/centcom/bar) "iFP" = ( @@ -7648,7 +7645,7 @@ /area/syndicate_station) "iKT" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/glasses/square{ +/obj/item/storage/box/glasses/square{ pixel_x = 1; pixel_y = 4 }, @@ -7755,7 +7752,7 @@ /area/syndicate_station/start) "iPP" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/hop, +/obj/item/bedsheet/hop, /turf/unsimulated/floor{ icon_state = "wood" }, @@ -7809,9 +7806,9 @@ /area/centcom/specops) "iQT" = ( /obj/structure/table/rack, -/obj/item/weapon/material/harpoon, -/obj/item/weapon/tank/oxygen, -/obj/item/weapon/tank/oxygen, +/obj/item/material/harpoon, +/obj/item/tank/oxygen, +/obj/item/tank/oxygen, /obj/item/clothing/shoes/magboots, /obj/item/clothing/shoes/magboots, /obj/random/rigsuit, @@ -7832,11 +7829,11 @@ /area/shuttle/transport1/centcom) "iSO" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/fire{ pixel_x = 5; pixel_y = 5 }, -/obj/item/weapon/storage/firstaid/fire, +/obj/item/storage/firstaid/fire, /obj/effect/floor_decal/borderfloorwhite{ dir = 6 }, @@ -7960,8 +7957,8 @@ /area/shuttle/merchant/home) "iYD" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/darkmatter, -/obj/item/weapon/gun/energy/darkmatter, +/obj/item/gun/energy/darkmatter, +/obj/item/gun/energy/darkmatter, /turf/unsimulated/floor{ icon_state = "plating"; name = "plating" @@ -7987,7 +7984,7 @@ /area/shuttle/merchant/home) "iZQ" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper/dockingcodes{ +/obj/item/paper/dockingcodes{ codes_from_z = 4; name = "Telecomms Docking Codes" }, @@ -8008,12 +8005,12 @@ dir = 4 }, /obj/structure/window/reinforced, -/obj/item/weapon/gun/projectile/sec{ +/obj/item/gun/projectile/sec{ pixel_x = 2; pixel_y = -4 }, -/obj/item/weapon/gun/projectile/sec, -/obj/item/weapon/gun/projectile/sec{ +/obj/item/gun/projectile/sec, +/obj/item/gun/projectile/sec{ pixel_x = -2; pixel_y = 4 }, @@ -8055,11 +8052,11 @@ /area/shuttle/administration/centcom) "jcL" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/handcuffs{ +/obj/item/storage/box/handcuffs{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/box/handcuffs, +/obj/item/storage/box/handcuffs, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/techfloor.dmi'; icon_state = "techfloor_gray" @@ -8107,7 +8104,7 @@ }, /area/wizard_station) "jgo" = ( -/obj/item/weapon/ore, +/obj/item/ore, /turf/unsimulated/floor{ icon_state = "asteroid_dug"; name = "plating" @@ -8201,7 +8198,7 @@ }, /area/skipjack_station) "jqO" = ( -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, /turf/simulated/shuttle/plating, /area/skipjack_station/start) "jrv" = ( @@ -8248,17 +8245,17 @@ }, /area/wizard_station) "jwB" = ( -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/spray/pepper, -/obj/item/weapon/reagent_containers/spray/pepper, -/obj/item/weapon/reagent_containers/spray/pepper, -/obj/item/weapon/reagent_containers/spray/pepper, +/obj/item/reagent_containers/spray/pepper, +/obj/item/reagent_containers/spray/pepper, +/obj/item/reagent_containers/spray/pepper, +/obj/item/reagent_containers/spray/pepper, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/techfloor.dmi'; icon_state = "techfloor_gray" @@ -8287,12 +8284,12 @@ /area/syndicate_station) "jxP" = ( /obj/structure/table/rack, -/obj/item/weapon/tank/jetpack/carbondioxide, -/obj/item/weapon/tank/jetpack/carbondioxide, -/obj/item/weapon/tank/jetpack/carbondioxide, -/obj/item/weapon/tank/jetpack/carbondioxide, -/obj/item/weapon/tank/jetpack/carbondioxide, -/obj/item/weapon/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, /obj/structure/window/reinforced{ dir = 4; health = 1e+006 @@ -8304,9 +8301,9 @@ /area/syndicate_station) "jyk" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/gun/energy/taser, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, /obj/structure/window/reinforced{ dir = 8 }, @@ -8327,11 +8324,11 @@ /area/centcom/specops) "jyC" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka{ +/obj/item/reagent_containers/food/drinks/bottle/vodka{ pixel_x = 3; pixel_y = 12 }, -/obj/item/weapon/reagent_containers/food/drinks/bottle/wine{ +/obj/item/reagent_containers/food/drinks/bottle/wine{ pixel_x = -1; pixel_y = 8 }, @@ -8357,7 +8354,7 @@ }, /area/shuttle/arrival/pre_game) "jAm" = ( -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -6 }, /obj/structure/table/standard, @@ -8387,28 +8384,28 @@ /area/shuttle/merchant/home) "jDo" = ( /obj/structure/table/standard, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#ff0000"; name = "red towel" }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#ff0000"; name = "red towel" }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#ff0000"; name = "red towel" }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#ff0000"; name = "red towel" }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#ff0000"; name = "red towel" }, -/obj/item/weapon/soap/syndie, -/obj/item/weapon/soap/syndie, +/obj/item/soap/syndie, +/obj/item/soap/syndie, /turf/simulated/floor/tiled/freezer, /area/syndicate_station) "jDp" = ( @@ -8448,12 +8445,12 @@ dir = 4 }, /obj/structure/table/rack, -/obj/item/weapon/storage/backpack/ert/security{ +/obj/item/storage/backpack/ert/security{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/storage/backpack/ert/security, -/obj/item/weapon/storage/backpack/ert/security{ +/obj/item/storage/backpack/ert/security, +/obj/item/storage/backpack/ert/security{ pixel_x = 2; pixel_y = 2 }, @@ -8463,7 +8460,7 @@ }, /area/centcom/specops) "jFD" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; dir = 8; frequency = 1213; @@ -8559,7 +8556,7 @@ /turf/simulated/shuttle/floor/black, /area/shuttle/merchant/home) "jJx" = ( -/obj/item/weapon/reagent_containers/food/drinks/bottle/pwine{ +/obj/item/reagent_containers/food/drinks/bottle/pwine{ pixel_x = -4; pixel_y = 10 }, @@ -8601,7 +8598,7 @@ /obj/effect/floor_decal/corner/paleblue/border{ dir = 1 }, -/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "white" @@ -8671,7 +8668,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/bananapeel, +/obj/item/bananapeel, /turf/unsimulated/floor{ icon_state = "carpet" }, @@ -8698,7 +8695,7 @@ dir = 1 }, /obj/machinery/chemical_dispenser/ert, -/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "white" @@ -8749,9 +8746,9 @@ /area/holodeck/source_chess) "jUa" = ( /obj/structure/table/rack, -/obj/item/weapon/grenade/empgrenade, -/obj/item/weapon/grenade/flashbang, -/obj/item/weapon/grenade/spawnergrenade/manhacks, +/obj/item/grenade/empgrenade, +/obj/item/grenade/flashbang, +/obj/item/grenade/spawnergrenade/manhacks, /turf/simulated/shuttle/floor/darkred, /area/skipjack_station/start) "jUW" = ( @@ -8825,13 +8822,13 @@ /obj/machinery/cell_charger, /obj/structure/table/reinforced, /obj/effect/floor_decal/industrial/outline/blue, -/obj/item/weapon/cell/high, -/obj/item/weapon/cell/high, -/obj/item/weapon/cell/high{ +/obj/item/cell/high, +/obj/item/cell/high, +/obj/item/cell/high{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ pixel_x = 4; pixel_y = 4 }, @@ -8877,7 +8874,7 @@ /area/centcom/main_hall) "kfC" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/fortunecookie, +/obj/item/reagent_containers/food/snacks/fortunecookie, /turf/unsimulated/floor{ dir = 8; icon_state = "wood" @@ -8954,7 +8951,7 @@ /obj/effect/floor_decal/corner/yellow{ dir = 10 }, -/obj/item/weapon/reagent_containers/food/condiment/small/sugar, +/obj/item/reagent_containers/food/condiment/small/sugar, /turf/simulated/floor/tiled/white, /area/centcom/bar) "kiC" = ( @@ -9059,8 +9056,8 @@ /area/centcom/command) "kkU" = ( /obj/structure/table/rack, -/obj/item/weapon/tank/oxygen, -/obj/item/weapon/tank/oxygen, +/obj/item/tank/oxygen, +/obj/item/tank/oxygen, /obj/random/multiple/voidsuit, /obj/random/multiple/voidsuit, /obj/random/energy, @@ -9073,7 +9070,7 @@ /obj/effect/floor_decal/corner/green/border{ dir = 1 }, -/obj/item/weapon/mop, +/obj/item/mop, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel" @@ -9090,7 +9087,7 @@ /area/syndicate_station) "knl" = ( /obj/structure/table/wooden_reinforced, -/obj/item/device/radio/intercom/specops{ +/obj/item/radio/intercom/specops{ pixel_y = -21 }, /obj/machinery/button/remote/blast_door{ @@ -9123,8 +9120,8 @@ /obj/item/seeds/potatoseed, /obj/item/seeds/potatoseed, /obj/item/seeds/ambrosiavulgarisseed, -/obj/item/weapon/material/minihoe, -/obj/item/weapon/beartrap, +/obj/item/material/minihoe, +/obj/item/beartrap, /obj/structure/table/steel, /turf/simulated/shuttle/plating, /area/skipjack_station/start) @@ -9151,7 +9148,7 @@ /area/shuttle/merchant/home) "kpv" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/red/border, /turf/unsimulated/floor{ @@ -9221,7 +9218,7 @@ /area/centcom/command) "ktX" = ( /obj/structure/table/standard, -/obj/item/weapon/soap/deluxe, +/obj/item/soap/deluxe, /turf/unsimulated/floor{ icon_state = "white" }, @@ -9341,7 +9338,7 @@ /area/centcom/terminal) "kyQ" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/rd, +/obj/item/bedsheet/rd, /turf/simulated/shuttle/floor/black, /area/shuttle/merchant/home) "kyR" = ( @@ -9372,7 +9369,7 @@ /area/centcom/command) "kzI" = ( /obj/structure/mopbucket, -/obj/item/weapon/mop, +/obj/item/mop, /turf/simulated/shuttle/plating, /area/centcom/evac) "kzL" = ( @@ -9406,7 +9403,7 @@ /area/holodeck/source_meetinghall) "kBx" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/glasses/square{ +/obj/item/storage/box/glasses/square{ pixel_x = 1; pixel_y = 4 }, @@ -9516,8 +9513,8 @@ /area/beach) "kER" = ( /obj/machinery/atmospherics/pipe/simple/visible, -/obj/item/weapon/tool/crowbar, -/obj/item/device/suit_cooling_unit, +/obj/item/tool/crowbar, +/obj/item/suit_cooling_unit, /turf/simulated/shuttle/plating, /area/skipjack_station/start) "kFb" = ( @@ -9583,9 +9580,9 @@ /area/skipjack_station/start) "kIq" = ( /obj/structure/table/reinforced, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/screwdriver, -/obj/item/weapon/tool/wrench, +/obj/item/tool/crowbar, +/obj/item/tool/screwdriver, +/obj/item/tool/wrench, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark" @@ -9663,7 +9660,7 @@ /turf/simulated/shuttle/floor/voidcraft, /area/syndicate_station/start) "kLb" = ( -/obj/item/weapon/storage/box/syndie_kit/clerical, +/obj/item/storage/box/syndie_kit/clerical, /obj/structure/table/standard, /turf/unsimulated/floor{ icon_state = "cult"; @@ -9810,7 +9807,7 @@ /area/centcom/specops) "kTa" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, /turf/simulated/floor/carpet, /area/shuttle/merchant/home) "kTp" = ( @@ -9853,9 +9850,9 @@ /area/shuttle/transport1/centcom) "kVF" = ( /obj/structure/table/reinforced, -/obj/item/weapon/stamp/centcomm, -/obj/item/weapon/pen, -/obj/item/weapon/paper_bin{ +/obj/item/stamp/centcomm, +/obj/item/pen, +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, @@ -9889,7 +9886,7 @@ /area/centcom/main_hall) "kYD" = ( /obj/structure/table/reinforced, -/obj/item/device/taperecorder, +/obj/item/taperecorder, /obj/effect/floor_decal/borderfloorblack{ dir = 4 }, @@ -9908,8 +9905,8 @@ "kZc" = ( /obj/structure/table/steel, /obj/effect/spawner/newbomb/timer/syndicate, -/obj/item/weapon/tool/screwdriver, -/obj/item/device/assembly/signaler{ +/obj/item/tool/screwdriver, +/obj/item/assembly/signaler{ pixel_y = 2 }, /turf/simulated/shuttle/floor/voidcraft, @@ -9945,7 +9942,7 @@ /turf/simulated/shuttle/floor/black, /area/shuttle/merchant/home) "lbC" = ( -/obj/item/weapon/ore, +/obj/item/ore, /turf/unsimulated/floor{ icon_state = "plating"; name = "plating" @@ -10031,7 +10028,7 @@ /area/wizard_station) "lht" = ( /obj/structure/table/steel, -/obj/item/weapon/deck/cards, +/obj/item/deck/cards, /turf/simulated/shuttle/floor/darkred, /area/skipjack_station/start) "lhE" = ( @@ -10056,12 +10053,12 @@ /area/ninja_dojo/start) "liK" = ( /obj/structure/table/reinforced, -/obj/item/device/paicard, -/obj/item/device/paicard, -/obj/item/device/paicard, -/obj/item/device/paicard, -/obj/item/weapon/storage/box/donut, -/obj/item/weapon/storage/box, +/obj/item/paicard, +/obj/item/paicard, +/obj/item/paicard, +/obj/item/paicard, +/obj/item/storage/box/donut, +/obj/item/storage/box, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark" @@ -10119,9 +10116,9 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/gun/energy/gun/nuclear, -/obj/item/weapon/gun/energy/gun/nuclear, -/obj/item/weapon/gun/energy/gun/nuclear, +/obj/item/gun/energy/gun/nuclear, +/obj/item/gun/energy/gun/nuclear, +/obj/item/gun/energy/gun/nuclear, /obj/structure/window/reinforced, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/techfloor.dmi'; @@ -10130,7 +10127,7 @@ /area/centcom/specops) "lmW" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/hos, +/obj/item/bedsheet/hos, /turf/unsimulated/floor{ icon_state = "lino" }, @@ -10197,8 +10194,8 @@ /area/shuttle/arrival/pre_game) "lse" = ( /obj/structure/closet/crate/nanotrasen, -/obj/item/weapon/storage/firstaid/fire, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/fire, +/obj/item/storage/firstaid/regular{ pixel_x = 2; pixel_y = 3 }, @@ -10206,7 +10203,7 @@ /area/shuttle/escape/centcom) "lsS" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/briefcase/inflatable, +/obj/item/storage/briefcase/inflatable, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -10420,11 +10417,11 @@ /area/centcom/specops) "lHG" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 8 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /turf/simulated/floor/carpet, @@ -10473,17 +10470,17 @@ /obj/item/roller, /obj/item/roller, /obj/item/roller, -/obj/item/device/defib_kit/compact/combat/loaded, +/obj/item/defib_kit/compact/combat/loaded, /turf/simulated/shuttle/floor/voidcraft/light, /area/syndicate_station/start) "lKk" = ( /obj/structure/closet/crate/nanotrasen, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, /turf/simulated/shuttle/floor, /area/shuttle/escape/centcom) "lKy" = ( @@ -10500,7 +10497,7 @@ }, /area/centcom/command) "lLl" = ( -/obj/item/weapon/gun/magic/firestaff, +/obj/item/gun/magic/firestaff, /turf/unsimulated/floor{ icon_state = "steel_dirty" }, @@ -10625,7 +10622,7 @@ }, /area/syndicate_station) "lPk" = ( -/obj/item/weapon/ore, +/obj/item/ore, /turf/unsimulated/floor{ icon_state = "steel" }, @@ -10645,28 +10642,28 @@ /area/centcom/medical) "lQg" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, /turf/unsimulated/beach/sand, /area/beach) "lQh" = ( /obj/structure/table/standard, -/obj/item/device/radio/headset/syndicate/alt, -/obj/item/device/radio/headset/syndicate/alt, -/obj/item/device/radio/headset/syndicate/alt, -/obj/item/device/radio/headset/syndicate/alt, +/obj/item/radio/headset/alt/syndicate, +/obj/item/radio/headset/alt/syndicate, +/obj/item/radio/headset/alt/syndicate, +/obj/item/radio/headset/alt/syndicate, /turf/unsimulated/floor{ icon_state = "lino" }, /area/syndicate_station) "lQG" = ( /obj/structure/table/standard, -/obj/item/weapon/clipboard, -/obj/item/weapon/pen, +/obj/item/clipboard, +/obj/item/pen, /turf/simulated/shuttle/floor/black, /area/centcom/evac) "lRH" = ( @@ -10693,7 +10690,7 @@ /area/shuttle/merchant/home) "lSb" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/book/manual/ripley_build_and_repair, +/obj/item/book/manual/ripley_build_and_repair, /turf/unsimulated/floor{ dir = 5; icon_state = "vault" @@ -10877,12 +10874,12 @@ /obj/item/clothing/glasses/welding/superior, /obj/item/clothing/glasses/welding/superior, /obj/item/clothing/glasses/welding/superior, -/obj/item/weapon/grenade/chem_grenade/metalfoam, -/obj/item/weapon/grenade/chem_grenade/metalfoam, -/obj/item/weapon/grenade/chem_grenade/metalfoam, -/obj/item/weapon/grenade/chem_grenade/metalfoam, -/obj/item/weapon/grenade/chem_grenade/metalfoam, -/obj/item/weapon/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/techfloor.dmi'; icon_state = "techfloor_gray" @@ -10894,10 +10891,10 @@ dir = 8 }, /obj/structure/window/reinforced, -/obj/item/weapon/storage/box/shotgunshells, -/obj/item/weapon/storage/box/shotgunshells, -/obj/item/weapon/storage/box/shotgunammo, -/obj/item/weapon/storage/box/shotgunammo, +/obj/item/storage/box/shotgunshells, +/obj/item/storage/box/shotgunshells, +/obj/item/storage/box/shotgunammo, +/obj/item/storage/box/shotgunammo, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/techfloor.dmi'; icon_state = "techfloor_gray" @@ -10937,7 +10934,7 @@ "mjE" = ( /obj/structure/table/reinforced, /obj/machinery/chemical_dispenser/full, -/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/techfloor.dmi'; icon_state = "techfloor_gray" @@ -10981,11 +10978,11 @@ dir = 1 }, /obj/structure/table/glass, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#FF6666"; name = "light red towel" }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#FF6666"; name = "light red towel" }, @@ -11004,11 +11001,11 @@ /area/wizard_station) "moI" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/bodybags{ +/obj/item/storage/box/bodybags{ pixel_x = 2; pixel_y = 3 }, -/obj/item/weapon/storage/box/bodybags, +/obj/item/storage/box/bodybags, /obj/structure/window/reinforced, /turf/simulated/shuttle/floor/white, /area/centcom/evac) @@ -11044,7 +11041,7 @@ /obj/item/clothing/shoes/brown, /obj/item/clothing/suit/armor/tdome/red, /obj/item/clothing/head/helmet/thunderdome, -/obj/item/weapon/melee/baton/loaded, +/obj/item/melee/baton/loaded, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark" @@ -11071,9 +11068,9 @@ /obj/structure/closet{ name = "custodial" }, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/mop, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/glass/bucket, +/obj/item/mop, /turf/simulated/shuttle/floor/black, /area/shuttle/merchant/home) "mrg" = ( @@ -11105,7 +11102,7 @@ /turf/simulated/shuttle/floor, /area/shuttle/escape/centcom) "mtX" = ( -/obj/item/weapon/bedsheet/clown, +/obj/item/bedsheet/clown, /obj/structure/bed/padded, /turf/simulated/shuttle/floor/red, /area/skipjack_station/start) @@ -11114,7 +11111,7 @@ /obj/structure/window/reinforced{ dir = 1 }, -/obj/item/weapon/book/codex/corp_regs, +/obj/item/book/codex/corp_regs, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark" @@ -11174,9 +11171,9 @@ /area/centcom/bar) "mxq" = ( /obj/structure/table/reinforced, -/obj/item/device/megaphone, -/obj/item/weapon/storage/box/trackimp, -/obj/item/weapon/storage/box/cdeathalarm_kit, +/obj/item/megaphone, +/obj/item/storage/box/trackimp, +/obj/item/storage/box/cdeathalarm_kit, /obj/structure/window/reinforced{ dir = 8 }, @@ -11228,7 +11225,7 @@ dir = 1 }, /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, /turf/simulated/shuttle/floor/red, /area/shuttle/administration/centcom) "mBj" = ( @@ -11243,11 +11240,11 @@ /area/centcom/main_hall) "mCF" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 8 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /turf/simulated/shuttle/floor/black, @@ -11270,12 +11267,12 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = 4; pixel_y = -2 }, -/obj/item/weapon/reagent_containers/food/condiment/small/peppershaker, -/obj/item/weapon/flame/candle, +/obj/item/reagent_containers/food/condiment/small/peppershaker, +/obj/item/flame/candle, /turf/unsimulated/floor{ icon_state = "wood" }, @@ -11286,7 +11283,7 @@ /obj/item/clothing/shoes/brown, /obj/item/clothing/suit/armor/vest, /obj/item/clothing/head/helmet/swat, -/obj/item/weapon/gun/energy/laser, +/obj/item/gun/energy/laser, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark" @@ -11330,12 +11327,12 @@ /area/ninja_dojo/dojo) "mGD" = ( /obj/structure/table/reinforced, -/obj/item/device/pda/ert, -/obj/item/device/pda/ert, -/obj/item/device/pda/ert, -/obj/item/device/pda/ert, -/obj/item/device/pda/ert, -/obj/item/device/pda/ert, +/obj/item/pda/ert, +/obj/item/pda/ert, +/obj/item/pda/ert, +/obj/item/pda/ert, +/obj/item/pda/ert, +/obj/item/pda/ert, /obj/effect/floor_decal/industrial/outline/blue, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; @@ -11389,7 +11386,7 @@ }, /area/ninja_dojo/dojo) "mLr" = ( -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /turf/unsimulated/floor{ icon_state = "lino" }, @@ -11420,7 +11417,7 @@ /area/shuttle/administration/centcom) "mMT" = ( /obj/structure/table/standard, -/obj/item/weapon/book/codex/lore/vir, +/obj/item/book/codex/lore/vir, /turf/simulated/shuttle/floor/white, /area/shuttle/arrival/pre_game) "mMW" = ( @@ -11494,11 +11491,11 @@ "mQd" = ( /obj/structure/table/marble, /obj/effect/floor_decal/corner/white/diagonal, -/obj/item/weapon/storage/box/glasses/square{ +/obj/item/storage/box/glasses/square{ pixel_x = 1; pixel_y = 4 }, -/obj/item/weapon/storage/box/glasses/square, +/obj/item/storage/box/glasses/square, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel" @@ -11534,7 +11531,7 @@ /area/centcom/main_hall) "mRV" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/toolbox/syndicate{ +/obj/item/storage/toolbox/syndicate{ pixel_x = -1; pixel_y = 3 }, @@ -11569,26 +11566,26 @@ dir = 4 }, /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = 8; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = -8; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = 8; pixel_y = 4 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = -8; pixel_y = 4 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = 4; pixel_y = 5 }, @@ -11649,11 +11646,11 @@ dir = 5 }, /obj/structure/table/reinforced, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{ +/obj/item/tool/wrench, +/obj/item/reagent_containers/glass/beaker/cryoxadone{ pixel_x = -4 }, -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone, +/obj/item/reagent_containers/glass/beaker/cryoxadone, /obj/effect/floor_decal/industrial/warning{ dir = 1 }, @@ -11691,7 +11688,7 @@ }, /area/syndicate_station) "nch" = ( -/obj/item/weapon/storage/box/syringegun{ +/obj/item/storage/box/syringegun{ pixel_x = -2; pixel_y = -4 }, @@ -11739,26 +11736,26 @@ /obj/structure/table/standard, /obj/item/clothing/gloves/sterile/latex, /obj/item/clothing/mask/surgical, -/obj/item/weapon/surgical/retractor{ +/obj/item/surgical/retractor{ pixel_y = 6 }, -/obj/item/weapon/surgical/scalpel, -/obj/item/weapon/surgical/surgicaldrill, -/obj/item/weapon/surgical/circular_saw, +/obj/item/surgical/scalpel, +/obj/item/surgical/surgicaldrill, +/obj/item/surgical/circular_saw, /obj/item/stack/nanopaste, -/obj/item/weapon/surgical/hemostat{ +/obj/item/surgical/hemostat{ pixel_y = 4 }, -/obj/item/weapon/surgical/cautery{ +/obj/item/surgical/cautery{ pixel_y = 4 }, -/obj/item/weapon/surgical/FixOVein{ +/obj/item/surgical/FixOVein{ pixel_x = -6; pixel_y = 1 }, /obj/item/stack/medical/advanced/bruise_pack, -/obj/item/weapon/surgical/bonesetter, -/obj/item/weapon/surgical/bonegel{ +/obj/item/surgical/bonesetter, +/obj/item/surgical/bonegel{ pixel_x = 4; pixel_y = 3 }, @@ -11833,7 +11830,7 @@ /turf/simulated/shuttle/floor/black, /area/shuttle/merchant/home) "niR" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /turf/unsimulated/floor{ @@ -11861,7 +11858,7 @@ /obj/effect/floor_decal/corner/brown/border{ dir = 8 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /turf/simulated/floor/tiled/white, @@ -11958,12 +11955,12 @@ /area/shuttle/administration/centcom) "nrP" = ( /obj/structure/table/reinforced, -/obj/item/device/megaphone, -/obj/item/device/megaphone, -/obj/item/device/megaphone, -/obj/item/device/megaphone, -/obj/item/device/megaphone, -/obj/item/device/megaphone, +/obj/item/megaphone, +/obj/item/megaphone, +/obj/item/megaphone, +/obj/item/megaphone, +/obj/item/megaphone, +/obj/item/megaphone, /obj/effect/floor_decal/industrial/outline/blue, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; @@ -11986,7 +11983,7 @@ }, /area/wizard_station) "nuQ" = ( -/obj/item/weapon/antag_spawner/technomancer_apprentice, +/obj/item/antag_spawner/technomancer_apprentice, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -12047,7 +12044,7 @@ }, /area/syndicate_station) "nAm" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/unsimulated/floor{ icon_state = "wood" }, @@ -12067,13 +12064,13 @@ pixel_x = -32; req_access = list(150) }, -/obj/item/weapon/tank/anesthetic, +/obj/item/tank/anesthetic, /obj/item/clothing/mask/breath/medical, /obj/item/clothing/mask/surgical, /obj/item/clothing/gloves/sterile/latex, -/obj/item/weapon/reagent_containers/syringe, -/obj/item/weapon/reagent_containers/glass/bottle/stoxin, -/obj/item/weapon/reagent_containers/glass/bottle/stoxin, +/obj/item/reagent_containers/syringe, +/obj/item/reagent_containers/glass/bottle/stoxin, +/obj/item/reagent_containers/glass/bottle/stoxin, /turf/simulated/shuttle/floor/voidcraft/light, /area/syndicate_station/start) "nCe" = ( @@ -12175,12 +12172,12 @@ /area/holodeck/source_chess) "nJi" = ( /obj/structure/table/rack, -/obj/item/device/aicard, +/obj/item/aicard, /turf/simulated/shuttle/floor/voidcraft/dark, /area/syndicate_station/start) "nKa" = ( /obj/structure/table/standard, -/obj/item/device/flashlight/lamp{ +/obj/item/flashlight/lamp{ pixel_x = 4; pixel_y = 8 }, @@ -12243,17 +12240,17 @@ /area/holodeck/source_basketball) "nOm" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/fancy/vials{ +/obj/item/storage/fancy/vials{ pixel_x = 5; pixel_y = 5 }, -/obj/item/weapon/storage/fancy/vials, -/obj/item/weapon/reagent_containers/hypospray/vial{ +/obj/item/storage/fancy/vials, +/obj/item/reagent_containers/hypospray/vial{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/reagent_containers/hypospray/vial, -/obj/item/weapon/storage/box/pillbottles, +/obj/item/reagent_containers/hypospray/vial, +/obj/item/storage/box/pillbottles, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/techfloor.dmi'; icon_state = "techfloor_gray" @@ -12440,7 +12437,7 @@ /area/centcom/main_hall) "nZO" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/inflatable_duck, +/obj/item/inflatable_duck, /turf/simulated/shuttle/floor/black, /area/shuttle/merchant/home) "nZP" = ( @@ -12495,8 +12492,8 @@ /area/tdome) "oby" = ( /obj/structure/table/reinforced, -/obj/item/device/aicard, -/obj/item/weapon/stamp/centcomm, +/obj/item/aicard, +/obj/item/stamp/centcomm, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark" @@ -12504,7 +12501,7 @@ /area/centcom/specops) "oci" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery, /turf/simulated/shuttle/floor/red, /area/shuttle/administration/centcom) "ocL" = ( @@ -12640,7 +12637,7 @@ /turf/simulated/floor/holofloor/carpet, /area/holodeck/source_courtroom) "olC" = ( -/obj/item/weapon/stool{ +/obj/item/stool{ dir = 8 }, /turf/simulated/shuttle/floor/red, @@ -12716,7 +12713,7 @@ /area/centcom/command) "ooh" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/effect/floor_decal/borderfloorwhite{ dir = 10 }, @@ -12743,7 +12740,7 @@ dir = 1 }, /obj/machinery/chemical_dispenser/full, -/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "white" @@ -12815,7 +12812,7 @@ /area/shuttle/administration/centcom) "orQ" = ( /obj/structure/table/woodentable, -/obj/item/device/paicard, +/obj/item/paicard, /turf/unsimulated/floor{ dir = 8; icon_state = "wood" @@ -12823,7 +12820,7 @@ /area/wizard_station) "orR" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ on = 0; pixel_x = -3; pixel_y = 8 @@ -12934,7 +12931,7 @@ /area/wizard_station) "ozF" = ( /obj/structure/table/glass, -/obj/item/device/paicard, +/obj/item/paicard, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -12951,7 +12948,7 @@ /area/centcom/main_hall) "oBf" = ( /obj/structure/table/rack, -/obj/item/weapon/tank/vox, +/obj/item/tank/vox, /turf/unsimulated/floor{ icon_state = "asteroid" }, @@ -13046,7 +13043,7 @@ /area/centcom/command) "oKg" = ( /obj/machinery/iv_drip, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; dir = 8; frequency = 1213; @@ -13077,7 +13074,7 @@ /area/shuttle/administration/centcom) "oNc" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/snacks/chips, +/obj/item/reagent_containers/food/snacks/chips, /turf/unsimulated/beach/sand, /area/beach) "oNs" = ( @@ -13284,7 +13281,7 @@ /area/shuttle/merchant/home) "oWZ" = ( /obj/structure/reagent_dispensers/watertank, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /turf/simulated/shuttle/plating, /area/centcom/evac) "oXu" = ( @@ -13292,11 +13289,11 @@ /area/holodeck/source_chess) "oXD" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 8 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /turf/unsimulated/floor{ @@ -13345,7 +13342,7 @@ /area/centcom/terminal) "pbz" = ( /obj/structure/table/standard, -/obj/item/device/pda/syndicate, +/obj/item/pda/syndicate, /turf/unsimulated/floor{ icon_state = "lino" }, @@ -13501,9 +13498,9 @@ /area/centcom/bar) "plP" = ( /obj/structure/table/rack, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -13546,7 +13543,7 @@ dir = 8 }, /obj/structure/table/steel_reinforced, -/obj/item/device/paicard, +/obj/item/paicard, /turf/simulated/shuttle/floor/voidcraft/light, /area/ninja_dojo/start) "pnP" = ( @@ -13560,7 +13557,7 @@ dir = 9 }, /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/captain, +/obj/item/bedsheet/captain, /turf/unsimulated/floor{ icon_state = "carpet" }, @@ -13586,12 +13583,12 @@ /area/skipjack_station/start) "pqt" = ( /obj/structure/table/rack, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -13614,7 +13611,7 @@ /turf/simulated/floor/holofloor/tiled, /area/holodeck/source_emptycourt) "pte" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -13675,7 +13672,7 @@ /area/centcom/medical) "pui" = ( /obj/structure/table/rack, -/obj/item/weapon/rig/merc/empty, +/obj/item/rig/merc/empty, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -13778,7 +13775,7 @@ pixel_x = 32 }, /obj/structure/table/steel, -/obj/item/weapon/storage/box/frags, +/obj/item/storage/box/frags, /turf/simulated/shuttle/floor/voidcraft, /area/syndicate_station/start) "pAD" = ( @@ -14004,7 +14001,7 @@ /turf/simulated/shuttle/floor/yellow, /area/centcom/evac) "pLy" = ( -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, /obj/structure/table/steel_reinforced, /obj/machinery/newscaster{ layer = 3.3; @@ -14085,7 +14082,7 @@ /obj/machinery/vending/cigarette{ name = "hacked cigarette machine"; prices = list(); - products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) + products = list(/obj/item/storage/fancy/cigarettes = 10, /obj/item/storage/box/matches = 10, /obj/item/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) }, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; @@ -14133,8 +14130,8 @@ /area/centcom/command) "pTc" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/bonesetter, -/obj/item/weapon/surgical/bonegel, +/obj/item/surgical/bonesetter, +/obj/item/surgical/bonegel, /obj/effect/floor_decal/borderfloorwhite{ dir = 8 }, @@ -14155,11 +14152,11 @@ "pTo" = ( /obj/structure/table/marble, /obj/effect/floor_decal/corner/white/diagonal, -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/kitchen/rollingpin, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel" @@ -14189,10 +14186,10 @@ /area/centcom/specops) "pVm" = ( /obj/structure/closet/secure_closet/guncabinet, -/obj/item/weapon/gun/energy/gun/burst, -/obj/item/weapon/gun/energy/gun/burst, -/obj/item/weapon/gun/energy/ionrifle/pistol, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, +/obj/item/gun/energy/gun/burst, +/obj/item/gun/energy/gun/burst, +/obj/item/gun/energy/ionrifle/pistol, +/obj/item/gun/projectile/shotgun/pump/combat, /turf/unsimulated/floor{ icon_state = "steel" }, @@ -14394,19 +14391,19 @@ /area/holodeck/source_basketball) "qiU" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/launcher/crossbow, +/obj/item/gun/launcher/crossbow, /obj/item/stack/rods{ amount = 10 }, /obj/machinery/light/small{ dir = 8 }, -/obj/item/weapon/beartrap, -/obj/item/weapon/beartrap, -/obj/item/weapon/beartrap, -/obj/item/weapon/beartrap, -/obj/item/weapon/beartrap, -/obj/item/weapon/beartrap, +/obj/item/beartrap, +/obj/item/beartrap, +/obj/item/beartrap, +/obj/item/beartrap, +/obj/item/beartrap, +/obj/item/beartrap, /turf/simulated/shuttle/floor/darkred, /area/skipjack_station/start) "qjK" = ( @@ -14414,7 +14411,7 @@ dir = 4; name = "hacked cigarette machine"; prices = list(); - products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) + products = list(/obj/item/storage/fancy/cigarettes = 10, /obj/item/storage/box/matches = 10, /obj/item/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) }, /turf/unsimulated/floor{ icon_state = "dark" @@ -14447,7 +14444,7 @@ }, /area/tdome) "qlq" = ( -/obj/item/weapon/gun/energy/plasmastun, +/obj/item/gun/energy/plasmastun, /turf/unsimulated/floor{ icon_state = "plating"; name = "plating" @@ -14650,7 +14647,7 @@ /turf/simulated/shuttle/floor/yellow, /area/shuttle/transport1/centcom) "qxC" = ( -/obj/item/weapon/storage/box/syndie_kit/spy, +/obj/item/storage/box/syndie_kit/spy, /turf/unsimulated/floor{ icon_state = "cult"; name = "plating" @@ -14735,7 +14732,7 @@ /area/ninja_dojo/dojo) "qCs" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/rig/internalaffairs, +/obj/item/rig/internalaffairs, /obj/item/clothing/head/helmet/space/void/wizard, /obj/item/clothing/suit/space/void/wizard, /turf/simulated/shuttle/floor/black, @@ -14747,7 +14744,7 @@ /obj/structure/closet/cabinet, /obj/item/clothing/suit/wizrobe/magusred, /obj/item/clothing/head/wizard/magus, -/obj/item/weapon/staff, +/obj/item/staff, /turf/unsimulated/floor{ dir = 5; icon_state = "vault" @@ -14792,11 +14789,11 @@ }, /area/centcom/specops) "qFT" = ( -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = -2; pixel_y = 4 }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = -2; pixel_y = 4 }, @@ -14806,37 +14803,37 @@ /obj/item/bodybag/cryobag{ pixel_x = 5 }, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ layer = 2.8; pixel_x = 4; pixel_y = 6 }, -/obj/item/weapon/storage/box/masks, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/masks, +/obj/item/storage/box/gloves{ pixel_x = 3; pixel_y = 4 }, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/toxin, +/obj/item/storage/firstaid/fire{ layer = 2.9; pixel_x = 2; pixel_y = 3 }, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ pixel_x = -2 }, -/obj/item/weapon/reagent_containers/blood/empty, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/empty, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /obj/structure/closet/medical_wall{ pixel_y = 32 }, /turf/simulated/shuttle/floor/black, /area/shuttle/merchant/home) "qGl" = ( -/obj/item/weapon/beach_ball, +/obj/item/beach_ball, /turf/unsimulated/beach/sand, /area/beach) "qGJ" = ( @@ -14844,7 +14841,7 @@ /turf/simulated/shuttle/plating, /area/shuttle/escape_pod1/centcom) "qHh" = ( -/obj/item/weapon/gun/launcher/pneumatic, +/obj/item/gun/launcher/pneumatic, /turf/unsimulated/floor{ icon_state = "asteroid" }, @@ -14856,7 +14853,7 @@ /obj/effect/floor_decal/corner/brown/border{ dir = 4 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, /turf/simulated/floor/tiled/white, @@ -14873,7 +14870,7 @@ }, /area/syndicate_mothership/elite_squad) "qIt" = ( -/obj/item/weapon/farmbot_arm_assembly, +/obj/item/farmbot_arm_assembly, /turf/unsimulated/floor{ dir = 5; icon_state = "vault" @@ -14906,8 +14903,8 @@ pixel_x = 5; pixel_y = 32 }, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -14923,7 +14920,7 @@ /obj/structure/urinal{ pixel_y = 32 }, -/obj/item/weapon/soap/syndie, +/obj/item/soap/syndie, /turf/unsimulated/floor{ icon_state = "freezerfloor" }, @@ -14954,13 +14951,13 @@ dir = 4 }, /obj/structure/table/rack, -/obj/item/weapon/storage/belt/security/tactical/bandolier, -/obj/item/weapon/storage/belt/security/tactical/bandolier, -/obj/item/weapon/storage/belt/security/tactical/bandolier, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical/bandolier, +/obj/item/storage/belt/security/tactical/bandolier, +/obj/item/storage/belt/security/tactical/bandolier, +/obj/item/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/techfloor.dmi'; icon_state = "techfloor_gray" @@ -15001,7 +14998,7 @@ dir = 4; name = "hacked cigarette machine"; prices = list(); - products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) + products = list(/obj/item/storage/fancy/cigarettes = 10, /obj/item/storage/box/matches = 10, /obj/item/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) }, /turf/simulated/shuttle/floor/black, /area/shuttle/merchant/home) @@ -15158,7 +15155,7 @@ /obj/structure/window/reinforced{ dir = 1 }, -/obj/item/weapon/folder/red, +/obj/item/folder/red, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark" @@ -15433,13 +15430,13 @@ /area/centcom/terminal) "rhp" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/arrow/quill, +/obj/item/arrow/quill, /turf/unsimulated/floor{ icon_state = "dark" }, /area/wizard_station) "rhW" = ( -/obj/item/weapon/ore, +/obj/item/ore, /turf/unsimulated/floor{ icon_state = "asteroid" }, @@ -15463,8 +15460,8 @@ /obj/item/taperoll/atmos, /obj/item/taperoll/atmos, /obj/item/taperoll/atmos, -/obj/item/weapon/pickaxe/drill, -/obj/item/weapon/pickaxe/drill, +/obj/item/pickaxe/drill, +/obj/item/pickaxe/drill, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark" @@ -15497,8 +15494,8 @@ /obj/structure/table/steel, /obj/item/stack/medical/splint, /obj/item/stack/medical/splint, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, /turf/simulated/shuttle/floor/voidcraft/light, /area/syndicate_station/start) "rlf" = ( @@ -15543,7 +15540,7 @@ /turf/simulated/shuttle/floor/black, /area/centcom/evac) "rof" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ broadcasting = 1; dir = 1; frequency = 1443; @@ -15600,7 +15597,7 @@ }, /area/centcom/medical) "rqR" = ( -/obj/item/weapon/gun/launcher/spikethrower, +/obj/item/gun/launcher/spikethrower, /turf/unsimulated/floor{ icon_state = "plating"; name = "plating" @@ -15608,7 +15605,7 @@ /area/skipjack_station) "rro" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/unsimulated/floor{ icon_state = "lino" }, @@ -15712,19 +15709,19 @@ /obj/item/stack/material/glass/reinforced{ amount = 50 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 3 }, @@ -15901,7 +15898,7 @@ /turf/simulated/shuttle/plating/airless/carry, /area/shuttle/escape/centcom) "rCR" = ( -/obj/item/weapon/beach_ball, +/obj/item/beach_ball, /turf/simulated/floor/holofloor/beach/sand, /area/holodeck/source_beach) "rDn" = ( @@ -15912,7 +15909,7 @@ /area/syndicate_station/start) "rDr" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/sniperrifle, +/obj/item/gun/energy/sniperrifle, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -15952,7 +15949,7 @@ /obj/structure/closet/cabinet, /obj/item/clothing/suit/wizrobe/magusblue, /obj/item/clothing/head/wizard/magus, -/obj/item/weapon/staff, +/obj/item/staff, /turf/unsimulated/floor{ dir = 5; icon_state = "vault" @@ -15999,11 +15996,11 @@ /area/centcom/command) "rKf" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ pixel_x = 5; pixel_y = 5 }, -/obj/item/weapon/storage/firstaid/o2, +/obj/item/storage/firstaid/o2, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /turf/unsimulated/floor{ @@ -16165,13 +16162,13 @@ /area/centcom/specops) "rQI" = ( /obj/structure/table/reinforced, -/obj/item/weapon/handcuffs, -/obj/item/device/flash, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/gun/energy/stunrevolver, +/obj/item/handcuffs, +/obj/item/flash, +/obj/item/melee/baton/loaded, +/obj/item/storage/belt/security/tactical, +/obj/item/gun/energy/stunrevolver, /obj/item/clothing/glasses/sunglasses/sechud/tactical, -/obj/item/weapon/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, /obj/structure/window/reinforced{ dir = 8 }, @@ -16227,7 +16224,7 @@ /turf/simulated/floor/holofloor/tiled/dark, /area/holodeck/source_theatre) "rRM" = ( -/obj/item/device/radio/electropack, +/obj/item/radio/electropack, /obj/structure/table/steel, /turf/simulated/shuttle/floor/voidcraft, /area/syndicate_station/start) @@ -16284,11 +16281,11 @@ }, /area/virtual_reality) "rUh" = ( -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 8 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /obj/machinery/light, @@ -16329,11 +16326,11 @@ /area/centcom/evac) "rZm" = ( /obj/structure/closet/wardrobe/captain, -/obj/item/weapon/gun/projectile/revolver/mateba, +/obj/item/gun/projectile/revolver/mateba, /turf/simulated/shuttle/floor/black, /area/shuttle/merchant/home) "rZv" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/corner/yellow/diagonal, /obj/effect/floor_decal/corner/blue/diagonal{ dir = 4 @@ -16418,25 +16415,25 @@ /area/centcom/bar) "sdu" = ( /obj/structure/closet/emcloset, -/obj/item/weapon/extinguisher, -/obj/item/weapon/tool/crowbar, +/obj/item/extinguisher, +/obj/item/tool/crowbar, /turf/simulated/shuttle/floor, /area/shuttle/escape/centcom) "sdE" = ( /obj/structure/table/reinforced, -/obj/item/device/defib_kit/compact/combat/loaded{ +/obj/item/defib_kit/compact/combat/loaded{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ pixel_y = -4 }, -/obj/item/weapon/cell/high, -/obj/item/device/defib_kit/compact/combat/loaded{ +/obj/item/cell/high, +/obj/item/defib_kit/compact/combat/loaded{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/tool/screwdriver, +/obj/item/tool/screwdriver, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark" @@ -16450,9 +16447,9 @@ }, /area/wizard_station) "sfb" = ( -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, /obj/structure/table/standard, /turf/unsimulated/floor{ icon_state = "lino" @@ -16460,7 +16457,7 @@ /area/tdome/tdomeobserve) "sfu" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/stock_parts/matter_bin/super, +/obj/item/stock_parts/matter_bin/super, /turf/unsimulated/floor{ dir = 5; icon_state = "vault" @@ -16483,14 +16480,14 @@ /area/centcom/creed) "shq" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/launcher/spikethrower, +/obj/item/gun/launcher/spikethrower, /turf/unsimulated/floor{ icon_state = "asteroid" }, /area/skipjack_station) "shD" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/mmi/radio_enabled, +/obj/item/mmi/radio_enabled, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -16501,7 +16498,7 @@ /obj/item/clothing/shoes/brown, /obj/item/clothing/suit/armor/vest, /obj/item/clothing/head/helmet/swat, -/obj/item/weapon/gun/energy/laser, +/obj/item/gun/energy/laser, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark" @@ -16547,12 +16544,12 @@ pixel_x = 32 }, /obj/structure/table/steel, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, /obj/machinery/light{ dir = 4 }, @@ -16617,7 +16614,7 @@ /area/centcom/terminal) "snx" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/effect/floor_decal/borderfloorwhite{ dir = 6 }, @@ -16631,7 +16628,7 @@ }, /area/centcom/medical) "snZ" = ( -/obj/item/weapon/stool/barstool/padded{ +/obj/item/stool/barstool/padded{ dir = 1 }, /turf/unsimulated/floor{ @@ -16669,7 +16666,7 @@ /area/centcom/bar) "spP" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /turf/unsimulated/floor{ icon_state = "wood" }, @@ -16724,11 +16721,11 @@ /area/centcom/main_hall) "sww" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/syringes{ +/obj/item/storage/box/syringes{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/box/syringes, +/obj/item/storage/box/syringes, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark" @@ -16886,7 +16883,7 @@ /area/virtual_reality) "sIa" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/glass/beaker, +/obj/item/reagent_containers/glass/beaker, /obj/effect/floor_decal/corner/white/diagonal, /obj/machinery/reagentgrinder, /obj/effect/floor_decal/corner/white/diagonal, @@ -16972,16 +16969,16 @@ /area/centcom/main_hall) "sKp" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/autoinjectors{ +/obj/item/storage/box/autoinjectors{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/storage/box/beakers, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/beakers, +/obj/item/storage/box/gloves{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/box/masks{ +/obj/item/storage/box/masks{ pixel_x = 4; pixel_y = 4 }, @@ -17072,7 +17069,7 @@ /area/syndicate_station/start) "sNL" = ( /obj/structure/table/wooden_reinforced, -/obj/item/device/radio/uplink, +/obj/item/radio/uplink, /turf/unsimulated/floor{ dir = 8; icon_state = "wood" @@ -17151,7 +17148,7 @@ }, /area/centcom/specops) "sRz" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; dir = 8; frequency = 1213; @@ -17171,11 +17168,11 @@ }, /area/ninja_dojo/dojo) "sRU" = ( -/obj/item/weapon/tray{ +/obj/item/tray{ pixel_y = 5 }, /obj/structure/table/standard, -/obj/item/weapon/material/knife/butch, +/obj/item/material/knife/butch, /turf/unsimulated/floor{ icon_state = "white" }, @@ -17435,15 +17432,15 @@ /area/tdome) "tgG" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/belt/security, -/obj/item/weapon/storage/belt/security, +/obj/item/storage/belt/security, +/obj/item/storage/belt/security, /turf/simulated/shuttle/floor/voidcraft, /area/syndicate_station/start) "tgH" = ( /obj/structure/table/steel, -/obj/item/weapon/gun/projectile/pistol, +/obj/item/gun/projectile/pistol, /obj/item/ammo_magazine/m9mm, -/obj/item/weapon/gun/projectile/pistol, +/obj/item/gun/projectile/pistol, /obj/item/ammo_magazine/m9mm, /turf/simulated/shuttle/floor/voidcraft, /area/syndicate_station/start) @@ -17461,7 +17458,7 @@ /area/shuttle/merchant/home) "thM" = ( /obj/structure/closet/emcloset, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -17470,7 +17467,7 @@ /area/shuttle/arrival/pre_game) "tim" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/toolbox/syndicate/powertools, +/obj/item/storage/toolbox/syndicate/powertools, /turf/simulated/shuttle/floor/voidcraft, /area/syndicate_station/start) "tiB" = ( @@ -17482,7 +17479,7 @@ /area/centcom/command) "tiP" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/belt/security/tactical/bandolier, +/obj/item/storage/belt/security/tactical/bandolier, /turf/simulated/shuttle/floor/voidcraft, /area/syndicate_station/start) "tjP" = ( @@ -17506,14 +17503,14 @@ /turf/simulated/shuttle/floor/black, /area/shuttle/merchant/home) "tmq" = ( -/obj/item/weapon/beach_ball/holoball, +/obj/item/beach_ball/holoball, /obj/effect/floor_decal/corner/red{ dir = 5 }, /turf/simulated/floor/holofloor/tiled, /area/holodeck/source_basketball) "tnB" = ( -/obj/item/weapon/gun/energy/sonic, +/obj/item/gun/energy/sonic, /turf/unsimulated/floor{ icon_state = "plating"; name = "plating" @@ -17653,12 +17650,12 @@ /area/space) "tvq" = ( /obj/structure/table/rack, -/obj/item/weapon/tank/jetpack/oxygen, -/obj/item/weapon/tank/jetpack/oxygen, -/obj/item/weapon/tank/jetpack/oxygen, -/obj/item/weapon/tank/jetpack/oxygen, -/obj/item/weapon/tank/jetpack/oxygen, -/obj/item/weapon/tank/jetpack/oxygen, +/obj/item/tank/jetpack/oxygen, +/obj/item/tank/jetpack/oxygen, +/obj/item/tank/jetpack/oxygen, +/obj/item/tank/jetpack/oxygen, +/obj/item/tank/jetpack/oxygen, +/obj/item/tank/jetpack/oxygen, /obj/structure/window/reinforced{ dir = 8 }, @@ -17780,8 +17777,8 @@ /area/ninja_dojo/dojo) "tDM" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin, -/obj/item/device/radio/off, +/obj/item/paper_bin, +/obj/item/radio/off, /turf/simulated/shuttle/floor/black, /area/centcom/evac) "tDS" = ( @@ -17891,7 +17888,7 @@ /area/shuttle/trade) "tKS" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet/rd, +/obj/item/bedsheet/rd, /turf/unsimulated/floor{ icon_state = "lino" }, @@ -17970,7 +17967,7 @@ /area/space) "tQx" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/toolbox/syndicate{ +/obj/item/storage/toolbox/syndicate{ pixel_x = -1; pixel_y = 3 }, @@ -17990,7 +17987,7 @@ /turf/simulated/floor/holofloor/wood, /area/holodeck/source_chess) "tQX" = ( -/obj/item/weapon/storage/box, +/obj/item/storage/box, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark" @@ -18022,11 +18019,11 @@ /area/shuttle/trade) "tTj" = ( /obj/structure/closet/crate/medical, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = -2; pixel_y = 4 }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = -2; pixel_y = 4 }, @@ -18036,30 +18033,30 @@ /obj/item/bodybag/cryobag{ pixel_x = 5 }, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ layer = 2.8; pixel_x = 4; pixel_y = 6 }, -/obj/item/weapon/storage/box/masks, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/masks, +/obj/item/storage/box/gloves{ pixel_x = 3; pixel_y = 4 }, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/toxin, +/obj/item/storage/firstaid/fire{ layer = 2.9; pixel_x = 2; pixel_y = 3 }, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ pixel_x = -2 }, -/obj/item/weapon/reagent_containers/blood/empty, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/empty, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /turf/simulated/shuttle/floor/white, /area/shuttle/escape/centcom) "tTz" = ( @@ -18087,13 +18084,13 @@ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/weapon/storage/belt/utility/full{ +/obj/item/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, +/obj/item/storage/belt/utility/full{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/belt/utility/full{ +/obj/item/storage/belt/utility/full{ pixel_x = 4; pixel_y = 4 }, @@ -18109,7 +18106,7 @@ /turf/simulated/floor/carpet, /area/shuttle/merchant/home) "tUq" = ( -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /obj/structure/bed/padded, /turf/simulated/shuttle/floor/red, /area/skipjack_station/start) @@ -18151,11 +18148,11 @@ /area/holodeck/source_emptycourt) "tXe" = ( /obj/structure/closet/crate/medical, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = -2; pixel_y = 4 }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = -2; pixel_y = 4 }, @@ -18165,27 +18162,27 @@ /obj/item/bodybag/cryobag{ pixel_x = 5 }, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ layer = 2.8; pixel_x = 4; pixel_y = 6 }, -/obj/item/weapon/storage/box/masks, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/masks, +/obj/item/storage/box/gloves{ pixel_x = 3; pixel_y = 4 }, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/toxin, +/obj/item/storage/firstaid/fire{ layer = 2.9; pixel_x = 2; pixel_y = 3 }, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ pixel_x = -2 }, -/obj/item/weapon/reagent_containers/blood/empty, -/obj/item/weapon/reagent_containers/blood/empty, +/obj/item/reagent_containers/blood/empty, +/obj/item/reagent_containers/blood/empty, /turf/simulated/shuttle/floor/white, /area/centcom/evac) "tXW" = ( @@ -18194,12 +18191,12 @@ /area/holodeck/source_picnicarea) "tYi" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark" @@ -18222,9 +18219,9 @@ /area/holodeck/source_meetinghall) "uak" = ( /obj/structure/table/standard, -/obj/item/device/defib_kit/loaded, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{ +/obj/item/defib_kit/loaded, +/obj/item/tool/wrench, +/obj/item/reagent_containers/glass/beaker/cryoxadone{ pixel_x = -4 }, /turf/simulated/shuttle/floor/white, @@ -18285,7 +18282,7 @@ /area/centcom/security) "uct" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box, +/obj/item/storage/box, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark" @@ -18365,10 +18362,10 @@ /area/shuttle/supply) "ujN" = ( /obj/structure/table/standard, -/obj/item/weapon/towel, -/obj/item/weapon/towel, -/obj/item/weapon/towel, -/obj/item/weapon/towel, +/obj/item/towel, +/obj/item/towel, +/obj/item/towel, +/obj/item/towel, /obj/random/soap, /obj/random/soap, /turf/unsimulated/floor{ @@ -18393,14 +18390,14 @@ /obj/item/clothing/accessory/stethoscope, /obj/item/clothing/accessory/stethoscope, /obj/item/clothing/accessory/stethoscope, -/obj/item/weapon/packageWrap, -/obj/item/weapon/hand_labeler, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/spray/sterilizine, -/obj/item/weapon/reagent_containers/spray/sterilizine, -/obj/item/device/flashlight/pen, -/obj/item/device/flashlight/pen, +/obj/item/packageWrap, +/obj/item/hand_labeler, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/sterilizine, +/obj/item/reagent_containers/spray/sterilizine, +/obj/item/flashlight/pen, +/obj/item/flashlight/pen, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark" @@ -18454,11 +18451,11 @@ /area/syndicate_station/start) "uru" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/clotting{ +/obj/item/storage/firstaid/clotting{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/firstaid/clotting, +/obj/item/storage/firstaid/clotting, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark" @@ -18512,8 +18509,8 @@ /area/centcom/terminal) "usm" = ( /obj/structure/closet/crate/medical, -/obj/item/weapon/storage/firstaid/surgery, -/obj/item/weapon/storage/firstaid/surgery{ +/obj/item/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery{ pixel_x = -2; pixel_y = -2 }, @@ -18522,12 +18519,12 @@ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/tank/anesthetic, -/obj/item/weapon/tank/anesthetic{ +/obj/item/tank/anesthetic, +/obj/item/tank/anesthetic{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/autopsy_scanner, +/obj/item/autopsy_scanner, /obj/item/clothing/mask/breath/medical, /obj/item/clothing/mask/breath/medical, /turf/unsimulated/floor{ @@ -18554,22 +18551,22 @@ dir = 4; health = 1e+006 }, -/obj/item/weapon/storage/belt/medical{ +/obj/item/storage/belt/medical{ pixel_x = -2; pixel_y = -3 }, -/obj/item/weapon/storage/belt/medical, -/obj/item/weapon/storage/belt/medical{ +/obj/item/storage/belt/medical, +/obj/item/storage/belt/medical{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/belt/medical/emt{ +/obj/item/storage/belt/medical/emt{ pixel_x = -2 }, -/obj/item/weapon/storage/belt/medical/emt{ +/obj/item/storage/belt/medical/emt{ pixel_y = 2 }, -/obj/item/weapon/storage/belt/medical/emt{ +/obj/item/storage/belt/medical/emt{ pixel_x = 2; pixel_y = 4 }, @@ -18645,13 +18642,13 @@ /obj/machinery/vending/cigarette{ name = "hacked cigarette machine"; prices = list(); - products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) + products = list(/obj/item/storage/fancy/cigarettes = 10, /obj/item/storage/box/matches = 10, /obj/item/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) }, /turf/simulated/shuttle/floor/voidcraft, /area/syndicate_station/start) "uAD" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/flashbangs, +/obj/item/storage/box/flashbangs, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark" @@ -18678,7 +18675,7 @@ /area/wizard_station) "uBy" = ( /obj/machinery/portable_atmospherics/canister/phoron, -/obj/item/weapon/tank/vox, +/obj/item/tank/vox, /turf/unsimulated/floor{ icon_state = "asteroid" }, @@ -18803,9 +18800,9 @@ /area/holodeck/source_chess) "uJJ" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, -/obj/item/device/radio/intercom{ +/obj/item/paper_bin, +/obj/item/pen, +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; dir = 8; frequency = 1213; @@ -18821,7 +18818,7 @@ /area/wizard_station) "uJQ" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/green, +/obj/item/bedsheet/green, /turf/unsimulated/floor{ icon_state = "wood" }, @@ -18920,9 +18917,9 @@ /obj/item/ammo_magazine/m10mm, /obj/item/ammo_magazine/m10mm, /obj/item/ammo_magazine/m10mm, -/obj/item/weapon/gun/projectile/automatic/c20r, -/obj/item/weapon/gun/projectile/automatic/c20r, -/obj/item/weapon/gun/projectile/automatic/c20r, +/obj/item/gun/projectile/automatic/c20r, +/obj/item/gun/projectile/automatic/c20r, +/obj/item/gun/projectile/automatic/c20r, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -18979,8 +18976,8 @@ /area/centcom/command) "uRP" = ( /obj/structure/table/reinforced, -/obj/item/weapon/gun/energy/ionrifle/pistol, -/obj/item/weapon/gun/energy/ionrifle/pistol, +/obj/item/gun/energy/ionrifle/pistol, +/obj/item/gun/energy/ionrifle/pistol, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/techfloor.dmi'; icon_state = "techfloor_gray" @@ -18988,18 +18985,18 @@ /area/centcom/specops) "uSh" = ( /obj/structure/table/steel, -/obj/item/weapon/material/knife{ +/obj/item/material/knife{ pixel_x = -6 }, -/obj/item/weapon/reagent_containers/syringe/drugs{ +/obj/item/reagent_containers/syringe/drugs{ pixel_x = 3; pixel_y = 9 }, -/obj/item/weapon/reagent_containers/syringe/drugs{ +/obj/item/reagent_containers/syringe/drugs{ pixel_x = 3; pixel_y = 4 }, -/obj/item/weapon/reagent_containers/syringe/drugs{ +/obj/item/reagent_containers/syringe/drugs{ pixel_x = 3; pixel_y = -1 }, @@ -19007,11 +19004,11 @@ /area/syndicate_station/start) "uSn" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/toxin{ +/obj/item/storage/firstaid/toxin{ pixel_x = 5; pixel_y = 5 }, -/obj/item/weapon/storage/firstaid/toxin, +/obj/item/storage/firstaid/toxin, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /turf/unsimulated/floor{ @@ -19067,7 +19064,7 @@ /area/centcom/medical) "uWn" = ( /obj/structure/closet/emcloset, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -19249,7 +19246,7 @@ }, /area/shuttle/trade) "vle" = ( -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -19302,8 +19299,8 @@ /obj/item/clothing/shoes/boots/workboots, /obj/item/clothing/under/technomancer, /obj/item/clothing/head/technomancer, -/obj/item/weapon/storage/box/syndie_kit/chameleon, -/obj/item/weapon/storage/box/syndie_kit/chameleon, +/obj/item/storage/box/syndie_kit/chameleon, +/obj/item/storage/box/syndie_kit/chameleon, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -19349,7 +19346,7 @@ }, /area/centcom/command) "vrh" = ( -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 3 }, @@ -19378,8 +19375,8 @@ }, /area/wizard_station) "vtk" = ( -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /obj/structure/table/reinforced, /obj/effect/floor_decal/borderfloorblack{ dir = 4 @@ -19394,7 +19391,7 @@ /area/centcom/security) "vty" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /turf/unsimulated/floor{ icon_state = "carpet" }, @@ -19498,8 +19495,8 @@ /area/wizard_station) "vzY" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/device/multitool, +/obj/item/storage/belt/utility/full, +/obj/item/multitool, /obj/machinery/light/small, /turf/simulated/shuttle/floor/voidcraft/dark, /area/syndicate_station/start) @@ -19623,11 +19620,11 @@ /obj/random/contraband, /obj/random/contraband, /obj/random/contraband, -/obj/item/weapon/bikehorn, +/obj/item/bikehorn, /turf/simulated/shuttle/floor/black, /area/shuttle/merchant/home) "vJH" = ( -/obj/item/weapon/firstaid_arm_assembly, +/obj/item/firstaid_arm_assembly, /turf/unsimulated/floor{ dir = 5; icon_state = "vault" @@ -19650,10 +19647,10 @@ /area/centcom/security) "vKY" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/circular_saw{ +/obj/item/surgical/circular_saw{ pixel_y = 8 }, -/obj/item/weapon/surgical/scalpel, +/obj/item/surgical/scalpel, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 }, @@ -19693,7 +19690,7 @@ }, /area/centcom/medical) "vNz" = ( -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /turf/unsimulated/floor{ icon_state = "lino" }, @@ -19749,7 +19746,7 @@ /obj/machinery/vending/assist{ contraband = null; name = "AntagCorpVend"; - products = list(/obj/item/device/assembly/prox_sensor = 5, /obj/item/device/assembly/signaler = 4, /obj/item/device/assembly/infra = 4, /obj/item/device/assembly/prox_sensor = 4, /obj/item/weapon/handcuffs = 8, /obj/item/device/flash = 4, /obj/item/weapon/cartridge/signal = 4, /obj/item/clothing/glasses/sunglasses = 4) + products = list(/obj/item/assembly/prox_sensor = 5, /obj/item/assembly/signaler = 4, /obj/item/assembly/infra = 4, /obj/item/assembly/prox_sensor = 4, /obj/item/handcuffs = 8, /obj/item/flash = 4, /obj/item/cartridge/signal = 4, /obj/item/clothing/glasses/sunglasses = 4) }, /turf/simulated/shuttle/floor/voidcraft, /area/syndicate_station/start) @@ -19840,7 +19837,7 @@ "vTt" = ( /obj/structure/table/steel_reinforced, /obj/item/clothing/head/philosopher_wig, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; dir = 4; frequency = 1213; @@ -19931,7 +19928,7 @@ /turf/simulated/floor/tiled/white, /area/centcom/bar) "vZC" = ( -/obj/item/weapon/rig/light/stealth, +/obj/item/rig/light/stealth, /obj/structure/table/rack, /turf/unsimulated/floor{ icon_state = "dark" @@ -19939,7 +19936,7 @@ /area/ninja_dojo/dojo) "waw" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /turf/simulated/shuttle/floor, /area/centcom/evac) "waS" = ( @@ -19985,7 +19982,7 @@ /obj/machinery/light{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; dir = 8; frequency = 1213; @@ -20049,7 +20046,7 @@ /area/centcom/main_hall) "wej" = ( /obj/structure/table/reinforced, -/obj/item/weapon/pinpointer/advpinpointer, +/obj/item/pinpointer/advpinpointer, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark" @@ -20193,11 +20190,11 @@ "wjq" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/warning, -/obj/item/device/kit/paint/gygax/darkgygax, -/obj/item/device/kit/paint/gygax/recitence, -/obj/item/device/kit/paint/durand, -/obj/item/device/kit/paint/durand/phazon, -/obj/item/device/kit/paint/durand/seraph, +/obj/item/kit/paint/gygax/darkgygax, +/obj/item/kit/paint/gygax/recitence, +/obj/item/kit/paint/durand, +/obj/item/kit/paint/durand/phazon, +/obj/item/kit/paint/durand/seraph, /turf/simulated/shuttle/floor/black, /area/shuttle/merchant/home) "wjG" = ( @@ -20227,20 +20224,20 @@ req_access = list(150) }, /obj/item/bodybag, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/reagent_containers/glass/bottle/antitoxin{ +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/glass/bottle/antitoxin{ pixel_x = -4; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline{ +/obj/item/reagent_containers/glass/bottle/inaprovaline{ pixel_x = 4; pixel_y = 7 }, -/obj/item/weapon/reagent_containers/syringe, -/obj/item/weapon/storage/firstaid/combat, -/obj/item/weapon/storage/firstaid/clotting, +/obj/item/reagent_containers/syringe, +/obj/item/storage/firstaid/combat, +/obj/item/storage/firstaid/clotting, /turf/simulated/shuttle/floor/voidcraft/light, /area/syndicate_station/start) "wlf" = ( @@ -20251,7 +20248,7 @@ /turf/simulated/floor/holofloor/grass, /area/holodeck/source_picnicarea) "wmh" = ( -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/techfloor.dmi'; icon_state = "techfloor_gray" @@ -20263,12 +20260,12 @@ dir = 4 }, /obj/structure/window/reinforced, -/obj/item/weapon/rig/ert/engineer{ +/obj/item/rig/ert/engineer{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/rig/ert/engineer, -/obj/item/weapon/rig/ert/engineer{ +/obj/item/rig/ert/engineer, +/obj/item/rig/ert/engineer{ pixel_x = 2; pixel_y = 2 }, @@ -20353,14 +20350,14 @@ /turf/simulated/floor/holofloor/carpet, /area/holodeck/source_courtroom) "wrb" = ( -/obj/item/weapon/tank/vox, +/obj/item/tank/vox, /turf/unsimulated/floor{ icon_state = "asteroid" }, /area/skipjack_station) "wrA" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/wood.dmi'; icon_state = "wood_broken1" @@ -20382,7 +20379,7 @@ pixel_y = 32 }, /obj/structure/table/steel_reinforced, -/obj/item/weapon/gun/energy/laser/practice, +/obj/item/gun/energy/laser/practice, /turf/unsimulated/floor{ dir = 5; icon_state = "vault" @@ -20390,7 +20387,7 @@ /area/wizard_station) "wux" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square, +/obj/item/reagent_containers/food/drinks/glass2/square, /turf/unsimulated/floor{ icon_state = "wood" }, @@ -20449,7 +20446,7 @@ /area/centcom/bar) "wwH" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery, /obj/structure/window/reinforced{ dir = 4 }, @@ -20485,8 +20482,8 @@ /area/centcom/terminal) "wDu" = ( /obj/structure/table/woodentable, -/obj/item/device/radio/headset, -/obj/item/weapon/spacecash/c500, +/obj/item/radio/headset, +/obj/item/spacecash/c500, /turf/unsimulated/floor{ dir = 8; icon_state = "wood" @@ -20526,16 +20523,16 @@ /area/centcom/security) "wGm" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /obj/machinery/atmospherics/pipe/manifold/visible, -/obj/item/weapon/storage/firstaid/fire, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/adv, -/obj/item/weapon/storage/firstaid/clotting, +/obj/item/storage/firstaid/fire, +/obj/item/storage/firstaid/toxin, +/obj/item/storage/firstaid/adv, +/obj/item/storage/firstaid/clotting, /turf/simulated/shuttle/floor/voidcraft/light, /area/syndicate_station/start) "wGD" = ( @@ -20663,7 +20660,7 @@ layer = 4; pixel_y = 32 }, -/obj/item/weapon/ore/slag{ +/obj/item/ore/slag{ desc = "Well at least Arthur doesn't have to share now..."; name = "pet rock" }, @@ -20785,31 +20782,31 @@ /area/skipjack_station) "wOI" = ( /obj/structure/table/reinforced, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark" }, /area/centcom/specops) "wPl" = ( -/obj/item/weapon/bucket_sensor, +/obj/item/bucket_sensor, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -20846,12 +20843,12 @@ /obj/effect/floor_decal/corner/paleblue/border{ dir = 1 }, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{ +/obj/item/tool/wrench, +/obj/item/reagent_containers/glass/beaker/cryoxadone{ pixel_x = 7; pixel_y = 1 }, -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{ +/obj/item/reagent_containers/glass/beaker/cryoxadone{ pixel_x = -4 }, /turf/unsimulated/floor{ @@ -20886,11 +20883,11 @@ /area/holodeck/source_emptycourt) "wUL" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/combat{ +/obj/item/storage/firstaid/combat{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/firstaid/combat, +/obj/item/storage/firstaid/combat, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/techfloor.dmi'; icon_state = "techfloor_gray" @@ -20898,7 +20895,7 @@ /area/centcom/specops) "wUM" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/pda/syndicate, +/obj/item/pda/syndicate, /turf/simulated/shuttle/floor/voidcraft/light, /area/ninja_dojo/start) "wWb" = ( @@ -20911,7 +20908,7 @@ /area/syndicate_station) "wXa" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical, /turf/unsimulated/floor{ icon_state = "lino" }, @@ -20972,18 +20969,18 @@ /area/skipjack_station/start) "wZS" = ( /obj/structure/table/rack, -/obj/item/weapon/pinpointer/shuttle/merc, -/obj/item/weapon/pinpointer/shuttle/merc, -/obj/item/weapon/pinpointer/shuttle/merc, -/obj/item/weapon/pinpointer/shuttle/merc, -/obj/item/weapon/pinpointer/shuttle/merc, -/obj/item/weapon/pinpointer/shuttle/merc, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, +/obj/item/pinpointer/shuttle/merc, +/obj/item/pinpointer/shuttle/merc, +/obj/item/pinpointer/shuttle/merc, +/obj/item/pinpointer/shuttle/merc, +/obj/item/pinpointer/shuttle/merc, +/obj/item/pinpointer/shuttle/merc, +/obj/item/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -21022,10 +21019,10 @@ /area/wizard_station) "xcN" = ( /obj/structure/table/standard, -/obj/item/device/flash, -/obj/item/device/flash, -/obj/item/weapon/reagent_containers/spray/pepper, -/obj/item/weapon/reagent_containers/spray/pepper, +/obj/item/flash, +/obj/item/flash, +/obj/item/reagent_containers/spray/pepper, +/obj/item/reagent_containers/spray/pepper, /obj/item/clothing/glasses/sunglasses/sechud/tactical, /obj/item/clothing/glasses/sunglasses, /obj/item/clothing/glasses/sunglasses, @@ -21109,11 +21106,11 @@ /area/centcom/bar) "xer" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/fire{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/firstaid/fire, +/obj/item/storage/firstaid/fire, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/techfloor.dmi'; icon_state = "techfloor_gray" @@ -21185,8 +21182,8 @@ /area/shuttle/escape/centcom) "xiN" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/hemostat, -/obj/item/weapon/surgical/cautery, +/obj/item/surgical/hemostat, +/obj/item/surgical/cautery, /obj/effect/floor_decal/borderfloorwhite{ dir = 9 }, @@ -21213,11 +21210,11 @@ /area/space) "xjQ" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/toxin{ +/obj/item/storage/firstaid/toxin{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/firstaid/toxin, +/obj/item/storage/firstaid/toxin, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/techfloor.dmi'; icon_state = "techfloor_gray" @@ -21225,11 +21222,11 @@ /area/centcom/specops) "xjU" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/firstaid/adv, +/obj/item/storage/firstaid/adv, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/techfloor.dmi'; icon_state = "techfloor_gray" @@ -21283,11 +21280,11 @@ /area/ninja_dojo/dojo) "xnv" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/firstaid/o2, +/obj/item/storage/firstaid/o2, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/techfloor.dmi'; icon_state = "techfloor_gray" @@ -21304,7 +21301,7 @@ /obj/item/clothing/head/helmet/thunderdome, /obj/item/clothing/under/color/red, /obj/item/clothing/suit/armor/tdome/red, -/obj/item/weapon/holo/esword/red, +/obj/item/holo/esword/red, /obj/effect/floor_decal/corner/red{ dir = 10 }, @@ -21326,7 +21323,7 @@ /obj/item/clothing/suit/wizrobe/marisa, /obj/item/clothing/shoes/sandal/marisa, /obj/item/clothing/head/wizard/marisa, -/obj/item/weapon/staff/broom, +/obj/item/staff/broom, /turf/unsimulated/floor{ dir = 5; icon_state = "vault" @@ -21366,12 +21363,12 @@ /area/centcom/terminal) "xrA" = ( /obj/structure/table/reinforced, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/techfloor.dmi'; icon_state = "techfloor_gray" @@ -21451,11 +21448,11 @@ /area/holodeck/source_thunderdomecourt) "xvQ" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/techfloor.dmi'; icon_state = "techfloor_gray" @@ -21493,7 +21490,7 @@ }, /obj/structure/table/standard, /obj/machinery/recharger, -/obj/item/weapon/tool/screwdriver, +/obj/item/tool/screwdriver, /turf/simulated/shuttle/floor/white, /area/centcom/evac) "xyu" = ( @@ -21506,11 +21503,11 @@ /area/shuttle/trade) "xyO" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/lipstick/black, -/obj/item/weapon/lipstick/jade, -/obj/item/weapon/lipstick/purple, -/obj/item/weapon/lipstick, -/obj/item/weapon/lipstick/random, +/obj/item/lipstick/black, +/obj/item/lipstick/jade, +/obj/item/lipstick/purple, +/obj/item/lipstick, +/obj/item/lipstick/random, /turf/simulated/shuttle/floor/black, /area/shuttle/merchant/home) "xyV" = ( @@ -21533,16 +21530,16 @@ /area/holodeck/source_snowfield) "xAB" = ( /obj/structure/table/rack, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, /obj/effect/floor_decal/industrial/outline/blue, -/obj/item/weapon/cell/high, +/obj/item/cell/high, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark" @@ -21555,7 +21552,7 @@ /turf/simulated/shuttle/floor/voidcraft/light, /area/syndicate_station/start) "xBj" = ( -/obj/item/weapon/reagent_containers/food/snacks/cheesewedge, +/obj/item/reagent_containers/food/snacks/cheesewedge, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -21585,7 +21582,7 @@ /turf/simulated/shuttle/floor, /area/shuttle/transport1/centcom) "xEn" = ( -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, /obj/structure/table/standard, /obj/effect/floor_decal/corner/yellow/diagonal, /obj/effect/floor_decal/corner/blue/diagonal{ @@ -21607,12 +21604,12 @@ /area/holodeck/source_theatre) "xFu" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /obj/structure/window/reinforced{ dir = 1 }, @@ -21650,7 +21647,7 @@ "xIb" = ( /obj/structure/table/standard, /obj/item/stack/medical/advanced/bruise_pack, -/obj/item/weapon/surgical/retractor, +/obj/item/surgical/retractor, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 }, @@ -21733,10 +21730,10 @@ /area/centcom/terminal) "xKM" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/device/multitool, -/obj/item/device/multitool, +/obj/item/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, +/obj/item/multitool, +/obj/item/multitool, /obj/item/clothing/shoes/magboots, /turf/simulated/shuttle/plating, /area/skipjack_station/start) @@ -21751,7 +21748,7 @@ }, /area/centcom/specops) "xNf" = ( -/obj/item/weapon/bedsheet/hos, +/obj/item/bedsheet/hos, /obj/structure/bed/padded, /turf/simulated/shuttle/floor/red, /area/skipjack_station/start) @@ -21792,7 +21789,7 @@ contraband = null; dir = 1; name = "Old Vending Machine"; - products = list(/obj/item/device/assembly/prox_sensor = 5, /obj/item/device/assembly/signaler = 4, /obj/item/device/assembly/infra = 4, /obj/item/device/assembly/prox_sensor = 4, /obj/item/weapon/handcuffs = 8, /obj/item/device/flash = 4, /obj/item/weapon/cartridge/signal = 4, /obj/item/clothing/glasses/sunglasses = 4) + products = list(/obj/item/assembly/prox_sensor = 5, /obj/item/assembly/signaler = 4, /obj/item/assembly/infra = 4, /obj/item/assembly/prox_sensor = 4, /obj/item/handcuffs = 8, /obj/item/flash = 4, /obj/item/cartridge/signal = 4, /obj/item/clothing/glasses/sunglasses = 4) }, /turf/simulated/shuttle/floor/black, /area/shuttle/merchant/home) @@ -21810,11 +21807,11 @@ /area/centcom/main_hall) "xOv" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/bodybags{ +/obj/item/storage/box/bodybags{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/box/bodybags, +/obj/item/storage/box/bodybags, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/techfloor.dmi'; icon_state = "techfloor_gray" @@ -21837,7 +21834,7 @@ name = "Cell"; req_access = list(150) }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; frequency = 1213; name = "Subversive Intercom"; @@ -21917,8 +21914,8 @@ dir = 1 }, /obj/structure/table/steel, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /turf/simulated/shuttle/floor/voidcraft/light, /area/syndicate_station/start) "xVH" = ( @@ -21935,7 +21932,7 @@ "xWw" = ( /obj/item/target, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; dir = 8; frequency = 1213; @@ -22049,12 +22046,12 @@ }, /area/centcom/bar) "ydQ" = ( -/obj/item/weapon/storage/box/flashshells, -/obj/item/weapon/storage/box/flashshells, -/obj/item/weapon/storage/box/stunshells, -/obj/item/weapon/storage/box/stunshells, -/obj/item/weapon/storage/box/beanbags, -/obj/item/weapon/storage/box/beanbags, +/obj/item/storage/box/flashshells, +/obj/item/storage/box/flashshells, +/obj/item/storage/box/stunshells, +/obj/item/storage/box/stunshells, +/obj/item/storage/box/beanbags, +/obj/item/storage/box/beanbags, /obj/structure/window/reinforced, /obj/structure/table/rack, /obj/structure/window/reinforced{ @@ -22078,7 +22075,7 @@ /area/centcom/medical) "yeY" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/captain, +/obj/item/bedsheet/captain, /turf/simulated/shuttle/floor/black, /area/shuttle/merchant/home) "yfe" = ( @@ -22153,12 +22150,12 @@ /obj/structure/window/reinforced/tinted{ dir = 1 }, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /turf/simulated/shuttle/floor, /area/centcom/evac) "yjS" = ( /obj/structure/table/reinforced, -/obj/item/device/pda/ert, +/obj/item/pda/ert, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark" @@ -22172,12 +22169,12 @@ /obj/item/clothing/shoes/magboots, /obj/item/clothing/shoes/magboots, /obj/item/clothing/shoes/magboots, -/obj/item/weapon/storage/box, -/obj/item/weapon/storage/box, -/obj/item/weapon/storage/box, -/obj/item/weapon/storage/box, -/obj/item/weapon/storage/box, -/obj/item/weapon/storage/box, +/obj/item/storage/box, +/obj/item/storage/box, +/obj/item/storage/box, +/obj/item/storage/box, +/obj/item/storage/box, +/obj/item/storage/box, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark" diff --git a/maps/cynosure/cynosure-7.dmm b/maps/cynosure/cynosure-7.dmm index 5a8ad5dc8ff..8900fc77e01 100644 --- a/maps/cynosure/cynosure-7.dmm +++ b/maps/cynosure/cynosure-7.dmm @@ -18,8 +18,6 @@ }, /turf/simulated/floor/outdoors/mask, /area/surface/outside/wilderness/mountains) -<<<<<<< HEAD -======= "dj" = ( /obj/vehicle/boat/sifwood, /turf/simulated/floor/outdoors/mask, @@ -30,7 +28,6 @@ "eZ" = ( /turf/simulated/wall/sifwood, /area/surface/wilderness/shack) ->>>>>>> d94406daccd... Merge pull request #8859 from Spookerton/greenjoe12345/xmas2022 "fy" = ( /obj/structure/cliff/automatic, /turf/simulated/floor/outdoors/mask, @@ -193,19 +190,10 @@ }, /turf/simulated/floor/outdoors/grass/sif, /area/surface/outside/wilderness/mountains) -<<<<<<< HEAD -"Cb" = ( -/obj/structure/cliff/automatic/corner{ - dir = 6 - }, -/turf/simulated/floor/outdoors/mask, -/area/surface/outside/wilderness/normal) -======= "CP" = ( /obj/structure/table/bench/sifwooden, /turf/simulated/floor/outdoors/shelfice, /area/surface/outside/river/gautelfr) ->>>>>>> d94406daccd... Merge pull request #8859 from Spookerton/greenjoe12345/xmas2022 "CR" = ( /turf/simulated/floor/outdoors/dirt/sif, /area/surface/outside/wilderness/mountains) @@ -2945,8 +2933,6 @@ oR oR oR oR -<<<<<<< HEAD -======= PH oR oR @@ -3150,7 +3136,6 @@ pM oR oR oR ->>>>>>> d94406daccd... Merge pull request #8859 from Spookerton/greenjoe12345/xmas2022 oR oR oR @@ -13948,208 +13933,6 @@ oR oR oR oR -<<<<<<< HEAD -tM -tM -tM -MS -MS -MS -MS -tM -tM -oR -oR -oR -oR -oR -oR -oR -oR -oR -oR -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Aq -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -Ax -VU -GK -bE -"} -(48,1,1) = {" -jq -pM -pM -oR -oR -oR -oR -oR -oR -oR -oR -oR -oR -oR -oR -oR -oR -uP -oR -oR -oR -oR -oR -uP -oR -oR -oR -uP -oR -oR -oR -oR -oR -oR -oR -oR -oR -oR -oR -oR -oR -oR -oR -oR -oR -oR -oR -oR -oR -oR -oR -oR -======= dV dV dV @@ -14159,7 +13942,6 @@ dV dV dV dV ->>>>>>> d94406daccd... Merge pull request #8859 from Spookerton/greenjoe12345/xmas2022 oR oR oR diff --git a/maps/cynosure/cynosure_jobs.dm b/maps/cynosure/cynosure_jobs.dm index 1086aa37b4f..e7ec3296ea4 100644 --- a/maps/cynosure/cynosure_jobs.dm +++ b/maps/cynosure/cynosure_jobs.dm @@ -21,7 +21,7 @@ var/const/access_explorer = 43 flag = EXPLORER departments = list(DEPARTMENT_RESEARCH, DEPARTMENT_PLANET) department_flag = MEDSCI - faction = "Station" + faction = FACTION_STATION total_positions = 4 spawn_positions = 4 supervisors = "the Research Director" @@ -34,7 +34,7 @@ var/const/access_explorer = 43 job_description = "An Explorer searches for interesting things on the surface of Sif, and returns them to the station." alt_titles = list( - "Pilot" = /decl/hierarchy/outfit/job/pilot) + JOB_PILOT = /decl/hierarchy/outfit/job/pilot) /datum/job/rd access = list(access_rd, access_heads, access_tox, access_genetics, access_morgue, @@ -47,9 +47,9 @@ var/const/access_explorer = 43 access_research, access_robotics, access_xenobiology, access_ai_upload, access_tech_storage, access_RC_announce, access_keycard_auth, access_tcomsat, access_gateway, access_xenoarch, access_network, access_maint_tunnels, access_explorer, access_eva, access_external_airlocks) - + /* alt_titles = list( - "Explorer Technician" = /decl/hierarchy/outfit/job/explorer2/technician, - "Explorer Medic" = /decl/hierarchy/outfit/job/explorer2/medic) + JOB_ALT_EXPLORERE_TECHNICIAN = /decl/hierarchy/outfit/job/explorer2/technician, + JOB_ALT_EXPLORER_MEDIC = /decl/hierarchy/outfit/job/explorer2/medic) */ diff --git a/maps/cynosure/cynosure_shuttles.dm b/maps/cynosure/cynosure_shuttles.dm index 039027a942d..e379d5c3eee 100644 --- a/maps/cynosure/cynosure_shuttles.dm +++ b/maps/cynosure/cynosure_shuttles.dm @@ -442,7 +442,7 @@ ESCAPE_POD(1) /* // Compile in the map for CI testing if we're testing compileability of all the maps -#if MAP_TEST +#ifdef MAP_TEST #include "generic_shuttle.dmm" #endif @@ -450,7 +450,7 @@ ESCAPE_POD(1) /datum/map_template/om_ships/hybrid name = "OM Ship - Generic Shuttle" desc = "A small privately-owned vessel." - mappath = 'generic_shuttle.dmm' + mappath = "maps/cynosure/generic_shuttle.dmm" annihilate = TRUE // The shuttle's area(s) @@ -496,4 +496,4 @@ ESCAPE_POD(1) vessel_mass = 1000 vessel_size = SHIP_SIZE_TINY shuttle = "Private Vessel" -*/ \ No newline at end of file +*/ diff --git a/maps/cynosure/submaps/16x11/OldDorms.dmm b/maps/cynosure/submaps/16x11/OldDorms.dmm index 5f4d0c85aac..a2d6cdad499 100644 --- a/maps/cynosure/submaps/16x11/OldDorms.dmm +++ b/maps/cynosure/submaps/16x11/OldDorms.dmm @@ -39,7 +39,7 @@ /turf/simulated/floor/tiled/dark, /area/template_noop) "cD" = ( -/obj/item/weapon/camera_assembly, +/obj/item/camera_assembly, /turf/simulated/floor/tiled, /area/template_noop) "cL" = ( @@ -88,7 +88,7 @@ dir = 4 }, /obj/item/stack/tile/floor, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, @@ -162,7 +162,7 @@ /obj/structure/closet/cabinet, /obj/random/contraband, /obj/random/drinkbottle, -/obj/item/weapon/melee/umbrella/random, +/obj/item/melee/umbrella/random, /turf/simulated/floor/wood, /area/template_noop) "ku" = ( @@ -182,7 +182,7 @@ /obj/machinery/atmospherics/unary/vent_pump{ dir = 8 }, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /turf/simulated/floor/wood, /area/template_noop) "mk" = ( @@ -216,7 +216,7 @@ /area/template_noop) "oR" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 2 }, @@ -285,14 +285,14 @@ /area/template_noop) "xI" = ( /obj/structure/bed/double, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 21 }, /turf/simulated/floor/wood/broken, /area/template_noop) "zm" = ( -/obj/item/weapon/stool, +/obj/item/stool, /turf/simulated/floor/plating, /area/template_noop) "zr" = ( @@ -383,7 +383,7 @@ "CQ" = ( /obj/structure/table/standard, /obj/random/soap, -/obj/item/weapon/towel/random, +/obj/item/towel/random, /turf/simulated/floor/tiled/freezer, /area/template_noop) "Di" = ( @@ -430,7 +430,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals_central4{ dir = 4 }, -/obj/item/weapon/stool{ +/obj/item/stool{ dir = 1 }, /turf/simulated/floor/tiled, @@ -483,7 +483,7 @@ /area/template_noop) "MI" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 2 }, @@ -542,7 +542,7 @@ /area/template_noop) "TQ" = ( /obj/structure/table/standard, -/obj/item/weapon/coin/silver, +/obj/item/coin/silver, /obj/item/clothing/head/soft/grey{ pixel_x = -2; pixel_y = 3 @@ -592,17 +592,17 @@ /area/template_noop) "YN" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, -/obj/item/weapon/handcuffs/fuzzy{ +/obj/item/bedsheet/browndouble, +/obj/item/handcuffs/fuzzy{ pixel_x = -5 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -21 }, /turf/simulated/floor/wood, /area/template_noop) "YR" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /turf/simulated/floor/plating, diff --git a/maps/cynosure/submaps/7x7/FightClub.dmm b/maps/cynosure/submaps/7x7/FightClub.dmm index d7df949fa66..9d07c73d502 100644 --- a/maps/cynosure/submaps/7x7/FightClub.dmm +++ b/maps/cynosure/submaps/7x7/FightClub.dmm @@ -1,5 +1,5 @@ "a" = (/obj/structure/sign/poster/custom{dir = 1; pixel_y = 32; poster_decl = /decl/poster/pol_14},/turf/template_noop,/area/template_noop) -"i" = (/obj/machinery/power/apc{coverlocked = 0; locked = 0; name = "south bump"; operating = 0; pixel_y = -24},/obj/item/weapon/cell/high/empty,/turf/simulated/floor/plating,/area/template_noop) +"i" = (/obj/machinery/power/apc{coverlocked = 0; locked = 0; name = "south bump"; operating = 0; pixel_y = -24},/obj/item/cell/high/empty,/turf/simulated/floor/plating,/area/template_noop) "m" = (/obj/structure/railing,/obj/effect/decal/cleanable/blood,/turf/simulated/floor/plating,/area/template_noop) "o" = (/turf/simulated/wall{can_open = 1},/area/template_noop) "u" = (/obj/structure/railing{dir = 4},/turf/simulated/floor/plating,/area/template_noop) diff --git a/maps/cynosure/submaps/8x9/MouseHouse.dmm b/maps/cynosure/submaps/8x9/MouseHouse.dmm index 661d7aa37f8..dff70ce4737 100644 --- a/maps/cynosure/submaps/8x9/MouseHouse.dmm +++ b/maps/cynosure/submaps/8x9/MouseHouse.dmm @@ -2,11 +2,11 @@ "b" = (/obj/effect/decal/remains/mouse,/turf/simulated/floor/carpet/bcarpet,/area/template_noop) "c" = (/turf/simulated/wall{can_open = 1},/area/template_noop) "e" = (/obj/structure/window/basic{dir = 1},/obj/structure/table/standard,/obj/structure/bedsheetbin,/obj/random/plushie,/turf/simulated/floor/wood,/area/template_noop) -"f" = (/obj/structure/dogbed,/obj/effect/decal/remains/mouse,/obj/item/weapon/shreddedp,/turf/simulated/floor/carpet/bcarpet,/area/template_noop) +"f" = (/obj/structure/dogbed,/obj/effect/decal/remains/mouse,/obj/item/shreddedp,/turf/simulated/floor/carpet/bcarpet,/area/template_noop) "k" = (/obj/structure/window/basic{dir = 1},/obj/structure/table/standard,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/powercell,/turf/simulated/floor/wood,/area/template_noop) "l" = (/obj/random/plushielarge,/turf/simulated/floor/carpet/bcarpet,/area/template_noop) "m" = (/turf/template_noop,/area/template_noop) -"n" = (/obj/structure/dogbed,/obj/machinery/light/small{dir = 1},/obj/item/weapon/reagent_containers/glass/rag,/mob/living/simple_mob/animal/passive/mouse,/turf/simulated/floor/carpet/bcarpet,/area/template_noop) +"n" = (/obj/structure/dogbed,/obj/machinery/light/small{dir = 1},/obj/item/reagent_containers/glass/rag,/mob/living/simple_mob/animal/passive/mouse,/turf/simulated/floor/carpet/bcarpet,/area/template_noop) "o" = (/obj/structure/window/basic{dir = 1},/obj/structure/table/standard,/obj/random/maintenance,/obj/random/drinksoft,/obj/random/snack,/turf/simulated/floor/wood,/area/template_noop) "p" = (/obj/machinery/door/window/westright,/turf/simulated/floor/wood,/area/template_noop) "t" = (/obj/item/trash/cookiesnack,/turf/simulated/floor/carpet/bcarpet,/area/template_noop) @@ -16,17 +16,17 @@ "y" = (/turf/simulated/floor/wood/broken,/area/template_noop) "z" = (/obj/machinery/papershredder,/turf/simulated/floor/wood,/area/template_noop) "B" = (/obj/structure/dogbed,/obj/random/plushie,/turf/simulated/floor/carpet/bcarpet,/area/template_noop) -"F" = (/obj/item/weapon/reagent_containers/food/snacks/wishsoup{pixel_y = -6},/obj/structure/sink/generic{dir = 4; pixel_x = -12; pixel_y = -4},/turf/simulated/floor/carpet/bcarpet,/area/template_noop) +"F" = (/obj/item/reagent_containers/food/snacks/wishsoup{pixel_y = -6},/obj/structure/sink/generic{dir = 4; pixel_x = -12; pixel_y = -4},/turf/simulated/floor/carpet/bcarpet,/area/template_noop) "G" = (/obj/item/trash/semki,/turf/simulated/floor/carpet/bcarpet,/area/template_noop) "H" = (/obj/structure/sign/poster{dir = 8; pixel_x = -32; poster_decl = /decl/poster/bay_49},/turf/simulated/floor/wood,/area/template_noop) -"J" = (/obj/item/weapon/beach_ball,/turf/simulated/floor/carpet/bcarpet,/area/template_noop) +"J" = (/obj/item/beach_ball,/turf/simulated/floor/carpet/bcarpet,/area/template_noop) "K" = (/obj/structure/bed/chair/office/dark{dir = 1},/turf/simulated/floor/wood,/area/template_noop) "L" = (/obj/item/trash/candy,/turf/simulated/floor/carpet/bcarpet,/area/template_noop) "M" = (/obj/structure/window/basic{dir = 1},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/wood,/area/template_noop) "O" = (/obj/machinery/light/small,/turf/simulated/floor/wood,/area/template_noop) "R" = (/obj/structure/dogbed,/mob/living/simple_mob/animal/passive/mouse,/obj/structure/sign/poster{dir = 1; pixel_y = 32; poster_decl = /decl/poster/vore_91},/turf/simulated/floor/carpet/bcarpet,/area/template_noop) -"S" = (/obj/item/weapon/shreddedp,/turf/simulated/floor/carpet/bcarpet,/area/template_noop) -"T" = (/obj/structure/window/basic{dir = 1},/obj/structure/table/standard,/obj/item/device/flashlight/lamp/green,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/turf/simulated/floor/wood,/area/template_noop) +"S" = (/obj/item/shreddedp,/turf/simulated/floor/carpet/bcarpet,/area/template_noop) +"T" = (/obj/structure/window/basic{dir = 1},/obj/structure/table/standard,/obj/item/flashlight/lamp/green,/obj/item/paper_bin{pixel_x = 1; pixel_y = 9},/turf/simulated/floor/wood,/area/template_noop) "V" = (/obj/structure/dogbed,/mob/living/simple_mob/animal/passive/mouse,/turf/simulated/floor/carpet/bcarpet,/area/template_noop) "W" = (/obj/structure/loot_pile/maint/trash,/obj/machinery/power/apc{coverlocked = 0; locked = 0; name = "south bump"; operating = 0; pixel_y = -24},/turf/simulated/floor/wood,/area/template_noop) "X" = (/turf/simulated/floor/carpet/bcarpet,/area/template_noop) diff --git a/maps/cynosure/submaps/8x9/ReptileRoom.dmm b/maps/cynosure/submaps/8x9/ReptileRoom.dmm index 1641e5893e8..e6998154325 100644 --- a/maps/cynosure/submaps/8x9/ReptileRoom.dmm +++ b/maps/cynosure/submaps/8x9/ReptileRoom.dmm @@ -14,14 +14,14 @@ "B" = (/obj/structure/dogbed,/mob/living/simple_mob/animal/passive/lizard,/obj/item/trash/unajerky,/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop) "E" = (/obj/structure/window/basic{dir = 1},/obj/structure/table/standard,/obj/structure/bedsheetbin,/obj/random/plushie,/turf/simulated/floor/wood,/area/template_noop) "G" = (/obj/machinery/light/small{dir = 8},/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop) -"I" = (/obj/item/weapon/reagent_containers/food/snacks/wishsoup{pixel_y = -6},/obj/structure/sink/generic{dir = 4; pixel_x = -12; pixel_y = -4},/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop) +"I" = (/obj/item/reagent_containers/food/snacks/wishsoup{pixel_y = -6},/obj/structure/sink/generic{dir = 4; pixel_x = -12; pixel_y = -4},/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop) "L" = (/obj/item/trash/sosjerky,/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop) "M" = (/obj/structure/window/basic{dir = 1},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/wood,/area/template_noop) "N" = (/obj/structure/bed/chair/office/dark{dir = 1},/turf/simulated/floor/wood,/area/template_noop) "O" = (/obj/machinery/light/small,/obj/item/stack/emptysandbag,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood/broken,/area/template_noop) "P" = (/obj/machinery/door/window/northleft,/obj/structure/window/basic{dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood,/area/template_noop) "R" = (/obj/structure/disposalpipe/trunk,/obj/structure/disposaloutlet{dir = 4},/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop) -"T" = (/obj/structure/window/basic{dir = 1},/obj/structure/table/standard,/obj/item/device/flashlight/lamp/green,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/turf/simulated/floor/wood,/area/template_noop) +"T" = (/obj/structure/window/basic{dir = 1},/obj/structure/table/standard,/obj/item/flashlight/lamp/green,/obj/item/paper_bin{pixel_x = 1; pixel_y = 9},/turf/simulated/floor/wood,/area/template_noop) "U" = (/obj/item/toy/plushie/lizard,/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop) "V" = (/obj/machinery/space_heater,/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop) "W" = (/obj/item/stack/sandbags,/obj/machinery/power/apc{coverlocked = 0; locked = 0; name = "south bump"; operating = 0; pixel_y = -24},/turf/simulated/floor/wood,/area/template_noop) diff --git a/maps/cynosure/submaps/9x8/HotTub.dmm b/maps/cynosure/submaps/9x8/HotTub.dmm index 827b6ffab4e..f0258663a83 100644 --- a/maps/cynosure/submaps/9x8/HotTub.dmm +++ b/maps/cynosure/submaps/9x8/HotTub.dmm @@ -12,7 +12,7 @@ /obj/effect/floor_decal/spline/plain{ dir = 5 }, -/obj/item/weapon/bikehorn/rubberducky, +/obj/item/bikehorn/rubberducky, /turf/simulated/floor/water/pool{ name = "hot tub" }, @@ -25,9 +25,9 @@ /area/template_noop) "e" = ( /obj/structure/closet/crate/engineering, -/obj/item/weapon/tank/oxygen, +/obj/item/tank/oxygen, /obj/item/clothing/mask/gas/clear, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /obj/random/medical/lite, /obj/random/maintenance/clean, /obj/random/maintenance, @@ -71,8 +71,8 @@ /area/template_noop) "n" = ( /obj/structure/table/rack, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, /turf/simulated/floor/tiled/techfloor, /area/template_noop) "o" = ( diff --git a/maps/example/example-1.dmm b/maps/example/example-1.dmm index d25d2c6858c..8547b3c2459 100644 --- a/maps/example/example-1.dmm +++ b/maps/example/example-1.dmm @@ -182,7 +182,7 @@ "B" = ( /obj/effect/floor_decal/corner/white/diagonal, /obj/structure/table/standard, -/obj/item/device/multitool, +/obj/item/multitool, /turf/simulated/floor/tiled/dark, /area/aisat) "C" = ( @@ -190,7 +190,7 @@ dir = 1 }, /obj/structure/table/standard, -/obj/item/weapon/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, /turf/simulated/floor/tiled/dark, /area/aisat) "D" = ( diff --git a/maps/expedition_vr/aerostat/_aerostat.dm b/maps/expedition_vr/aerostat/_aerostat.dm index 9a600d27d89..503096dc28f 100644 --- a/maps/expedition_vr/aerostat/_aerostat.dm +++ b/maps/expedition_vr/aerostat/_aerostat.dm @@ -119,7 +119,7 @@ /obj/tether_away_spawner/aerostat_inside name = "Aerostat Indoors Spawner" - faction = "aerostat_inside" + faction = FACTION_AEROSTAT_INSIDE atmos_comp = TRUE prob_spawn = 100 prob_fall = 50 @@ -133,7 +133,7 @@ /obj/tether_away_spawner/aerostat_surface name = "Aerostat Surface Spawner" - faction = "aerostat_surface" + faction = FACTION_AEROSTAT_SURFACE atmos_comp = TRUE prob_spawn = 100 prob_fall = 30 diff --git a/maps/expedition_vr/aerostat/_aerostat_science_outpost.dm b/maps/expedition_vr/aerostat/_aerostat_science_outpost.dm index d1029627508..d2897b90e9d 100644 --- a/maps/expedition_vr/aerostat/_aerostat_science_outpost.dm +++ b/maps/expedition_vr/aerostat/_aerostat_science_outpost.dm @@ -52,7 +52,7 @@ /obj/tether_away_spawner/aerostat_inside name = "Aerostat Indoors Spawner" - faction = "aerostat_inside" + faction = FACTION_AEROSTAT_INSIDE atmos_comp = TRUE prob_spawn = 100 prob_fall = 50 @@ -66,7 +66,7 @@ /obj/tether_away_spawner/aerostat_surface name = "Aerostat Surface Spawner" - faction = "aerostat_surface" + faction = FACTION_AEROSTAT_SURFACE atmos_comp = TRUE prob_spawn = 100 prob_fall = 50 diff --git a/maps/expedition_vr/aerostat/aerostat.dmm b/maps/expedition_vr/aerostat/aerostat.dmm index 2f9706cefaf..b6cbd0a262d 100644 --- a/maps/expedition_vr/aerostat/aerostat.dmm +++ b/maps/expedition_vr/aerostat/aerostat.dmm @@ -309,7 +309,7 @@ }, /obj/machinery/power/apc{ alarms_hidden = 1; - cell_type = /obj/item/weapon/cell/high/empty; + cell_type = /obj/item/cell/high/empty; dir = 4; name = "east bump"; pixel_x = 28; @@ -1569,7 +1569,7 @@ /area/tether_away/aerostat/inside) "uU" = ( /obj/structure/table/standard, -/obj/item/weapon/gun/energy/taser/xeno, +/obj/item/gun/energy/taser/xeno, /obj/random/cigarettes, /turf/simulated/floor/tiled/techfloor/virgo2, /area/tether_away/aerostat/inside) @@ -1703,7 +1703,7 @@ /area/tether_away/aerostat) "Ym" = ( /obj/structure/table/standard, -/obj/item/weapon/gun/energy/taser/xeno, +/obj/item/gun/energy/taser/xeno, /turf/simulated/floor/tiled/techfloor/virgo2, /area/tether_away/aerostat/inside) "ZK" = ( diff --git a/maps/expedition_vr/aerostat/aerostat_science_outpost.dmm b/maps/expedition_vr/aerostat/aerostat_science_outpost.dmm index 499219e3dde..0d88eaa6d28 100644 --- a/maps/expedition_vr/aerostat/aerostat_science_outpost.dmm +++ b/maps/expedition_vr/aerostat/aerostat_science_outpost.dmm @@ -318,7 +318,6 @@ master_tag = "aerostat_n_n_airlock"; pixel_x = 24; pixel_y = 24; - tag = "aerostat_n_n_sensint" }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/airlock/north) @@ -682,7 +681,7 @@ pixel_x = -26; pixel_y = -8 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /turf/simulated/floor/tiled/white, @@ -924,7 +923,6 @@ master_tag = "aerostat_s_s_airlock"; pixel_x = -24; pixel_y = -24; - tag = "aerostat_s_s_sensint" }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/airlock/south) @@ -1050,10 +1048,10 @@ /area/offmap/aerostat/inside/arm/sw) "cM" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/lockbox/vials, -/obj/item/weapon/storage/fancy/vials, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/reagent_containers/syringe/antiviral, +/obj/item/storage/lockbox/vials, +/obj/item/storage/fancy/vials, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/syringe/antiviral, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 1 }, @@ -1439,19 +1437,19 @@ /area/offmap/aerostat/solars) "dH" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = 6; pixel_y = -6 }, -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = -6; pixel_y = -6 }, -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = 6; pixel_y = 6 }, -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = -6; pixel_y = 6 }, @@ -1718,8 +1716,8 @@ /area/offmap/aerostat/inside/southchamb) "ev" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/monkeycubes, -/obj/item/weapon/storage/box/monkeycubes/wolpincubes, +/obj/item/storage/box/monkeycubes, +/obj/item/storage/box/monkeycubes/wolpincubes, /obj/machinery/light, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/virology) @@ -1969,7 +1967,6 @@ dir = 8; master_tag = "aerostat_n_e_airlock"; pixel_x = 32; - tag = "aerostat_n_e_sensint" }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/airlock/north) @@ -2545,8 +2542,8 @@ /area/offmap/aerostat/inside/drillstorage) "hw" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/dropper, -/obj/item/weapon/reagent_containers/glass/beaker, +/obj/item/reagent_containers/dropper, +/obj/item/reagent_containers/glass/beaker, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -3105,11 +3102,11 @@ /area/offmap/aerostat/solars) "jT" = ( /obj/structure/table/standard, -/obj/item/weapon/tool/wrench{ +/obj/item/tool/wrench{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/tool/wrench{ +/obj/item/tool/wrench{ pixel_x = 2; pixel_y = 2 }, @@ -3248,7 +3245,7 @@ /area/offmap/aerostat/solars) "kq" = ( /obj/structure/table/reinforced, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /turf/simulated/floor/tiled, /area/offmap/aerostat/inside/xenobiolab) "ks" = ( @@ -3875,9 +3872,9 @@ /area/offmap/aerostat/inside/miscstorage) "mI" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /obj/item/stack/nanopaste, -/obj/item/device/flashlight/lamp{ +/obj/item/flashlight/lamp{ pixel_x = 5; pixel_y = 9 }, @@ -4348,9 +4345,9 @@ "ou" = ( /obj/machinery/atmospherics/pipe/simple/hidden/blue, /obj/structure/table/standard, -/obj/item/weapon/tool/screwdriver, -/obj/item/device/analyzer, -/obj/item/weapon/tool/wrench, +/obj/item/tool/screwdriver, +/obj/item/analyzer, +/obj/item/tool/wrench, /obj/item/clothing/glasses/welding, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -4472,14 +4469,14 @@ /area/offmap/aerostat/inside/toxins) "oY" = ( /obj/structure/table/standard, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/anodevice{ +/obj/item/tool/crowbar, +/obj/item/anodevice{ pixel_x = 1 }, -/obj/item/weapon/anodevice{ +/obj/item/anodevice{ pixel_x = -2 }, -/obj/item/device/multitool, +/obj/item/multitool, /obj/machinery/light, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/xenoarch) @@ -5105,10 +5102,10 @@ /area/offmap/aerostat/inside/northchamb) "rz" = ( /obj/structure/table/standard, -/obj/item/weapon/tank/phoron, +/obj/item/tank/phoron, /obj/item/stack/cable_coil, /obj/item/stack/cable_coil, -/obj/item/weapon/tool/wirecutters, +/obj/item/tool/wirecutters, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "rC" = ( @@ -5387,7 +5384,7 @@ icon_state = "1-2" }, /obj/structure/table/standard, -/obj/item/weapon/bluespace_crystal, +/obj/item/bluespace_crystal, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/telesci) "sQ" = ( @@ -5501,7 +5498,7 @@ dir = 8 }, /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/virology) "tq" = ( @@ -5837,8 +5834,8 @@ /obj/machinery/atmospherics/pipe/simple/hidden, /obj/machinery/camera/network/research_outpost, /obj/structure/table/rack, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, /turf/simulated/floor/tiled, /area/offmap/aerostat/inside/drillstorage) "uI" = ( @@ -5982,8 +5979,8 @@ }, /obj/structure/cable, /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/disks, -/obj/item/weapon/storage/box/disks, +/obj/item/storage/box/disks, +/obj/item/storage/box/disks, /obj/item/toy/figure/geneticist, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/genetics) @@ -7170,10 +7167,10 @@ /area/offmap/aerostat/inside/xenoarch) "An" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/monkeycubes, -/obj/item/weapon/storage/box/monkeycubes, -/obj/item/weapon/storage/pill_bottle/dylovene, -/obj/item/weapon/storage/pill_bottle/dylovene, +/obj/item/storage/box/monkeycubes, +/obj/item/storage/box/monkeycubes, +/obj/item/storage/pill_bottle/dylovene, +/obj/item/storage/pill_bottle/dylovene, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, @@ -7305,11 +7302,11 @@ /turf/simulated/floor, /area/offmap/aerostat/inside/arm/ne) "AE" = ( -/obj/item/weapon/virusdish/random, -/obj/item/weapon/virusdish/random, -/obj/item/weapon/virusdish/random, -/obj/item/weapon/virusdish/random, -/obj/item/weapon/virusdish/random, +/obj/item/virusdish/random, +/obj/item/virusdish/random, +/obj/item/virusdish/random, +/obj/item/virusdish/random, +/obj/item/virusdish/random, /obj/structure/closet/crate/medical{ name = "Virus Samples" }, @@ -7634,13 +7631,13 @@ /area/offmap/aerostat/inside/atmos) "Ca" = ( /obj/structure/table/standard, -/obj/item/weapon/folder/white, -/obj/item/weapon/pen/fountain, -/obj/item/device/assembly_holder/timer_igniter, +/obj/item/folder/white, +/obj/item/pen/fountain, +/obj/item/assembly_holder/timer_igniter, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, -/obj/item/weapon/weldingtool, +/obj/item/weldingtool, /obj/structure/extinguisher_cabinet{ pixel_x = 30 }, @@ -8207,8 +8204,8 @@ /area/offmap/aerostat/inside/xenobiolab) "EC" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/glass/beaker, -/obj/item/weapon/reagent_containers/glass/beaker, +/obj/item/reagent_containers/glass/beaker, +/obj/item/reagent_containers/glass/beaker, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/virology) "ED" = ( @@ -8249,19 +8246,19 @@ /area/offmap/aerostat/inside/airlock/west) "EP" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -5; pixel_y = 4 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 5; pixel_y = 4 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -5; pixel_y = -4 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 5; pixel_y = -4 }, @@ -8673,7 +8670,6 @@ dir = 8; master_tag = "aerostat_s_e_airlock"; pixel_x = 24; - tag = "aerostat_s_e_sensint" }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/airlock/south) @@ -8749,7 +8745,7 @@ pixel_y = -5 }, /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/syringes, +/obj/item/storage/box/syringes, /obj/machinery/button/remote/driver{ id = "xenobiolauncher"; pixel_y = 27 @@ -8761,7 +8757,7 @@ pixel_x = 25; pixel_y = 5 }, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, /turf/simulated/floor/tiled, /area/offmap/aerostat/inside/xenobiolab) "GN" = ( @@ -8778,10 +8774,10 @@ /area/offmap/aerostat/inside/zorrenoffice) "GO" = ( /obj/structure/table/reinforced, -/obj/item/weapon/folder/white, -/obj/item/weapon/pen, -/obj/item/weapon/paper_bin, -/obj/item/weapon/hand_labeler, +/obj/item/folder/white, +/obj/item/pen, +/obj/item/paper_bin, +/obj/item/hand_labeler, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/virology) "GP" = ( @@ -8858,9 +8854,9 @@ "Hh" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/table/standard, -/obj/item/weapon/storage/box/beakers, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/storage/box/beakers, +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/dropper, /obj/machinery/reagentgrinder, /obj/structure/reagent_dispensers/acid{ pixel_x = 31 @@ -9661,7 +9657,7 @@ /area/shuttle/aerostat) "Kj" = ( /obj/structure/table/standard, -/obj/item/device/analyzer, +/obj/item/analyzer, /obj/machinery/camera/network/research_outpost{ dir = 1 }, @@ -10119,13 +10115,13 @@ /area/offmap/aerostat/inside/zorrenoffice) "Ml" = ( /obj/structure/table/reinforced, -/obj/item/weapon/melee/baton/slime/loaded, +/obj/item/melee/baton/slime/loaded, /obj/machinery/power/apc{ dir = 1; pixel_y = 24 }, -/obj/item/weapon/gun/energy/taser/xeno, -/obj/item/weapon/storage/box/monkeycubes, +/obj/item/gun/energy/taser/xeno, +/obj/item/storage/box/monkeycubes, /obj/structure/cable{ icon_state = "0-8" }, @@ -10389,7 +10385,7 @@ }, /obj/structure/table/standard, /obj/random/tetheraid, -/obj/item/weapon/storage/firstaid, +/obj/item/storage/firstaid, /obj/structure/cable{ icon_state = "1-2" }, @@ -10660,15 +10656,15 @@ dir = 4 }, /obj/structure/table/standard, -/obj/item/device/gps{ +/obj/item/gps{ pixel_x = -5; pixel_y = 5 }, -/obj/item/device/gps{ +/obj/item/gps{ pixel_x = -2; pixel_y = 2 }, -/obj/item/device/gps{ +/obj/item/gps{ pixel_x = 1; pixel_y = -1 }, @@ -10802,15 +10798,15 @@ "Pi" = ( /obj/structure/closet/walllocker_double/medical/west, /obj/structure/table/reinforced, -/obj/item/weapon/soap, -/obj/item/weapon/storage/box/gloves, -/obj/item/weapon/storage/box/masks, -/obj/item/weapon/storage/box/beakers, -/obj/item/weapon/storage/box/beakers, -/obj/item/weapon/storage/fancy/vials, -/obj/item/weapon/storage/box/syringes, -/obj/item/device/antibody_scanner, -/obj/item/weapon/storage/box/syringes, +/obj/item/soap, +/obj/item/storage/box/gloves, +/obj/item/storage/box/masks, +/obj/item/storage/box/beakers, +/obj/item/storage/box/beakers, +/obj/item/storage/fancy/vials, +/obj/item/storage/box/syringes, +/obj/item/antibody_scanner, +/obj/item/storage/box/syringes, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, @@ -11009,7 +11005,7 @@ "Qh" = ( /obj/machinery/vending/phoronresearch{ name = "Toximate 2556"; - products = list(/obj/item/device/transfer_valve = 3, /obj/item/device/assembly/timer = 6, /obj/item/device/assembly/signaler = 6, /obj/item/device/assembly/prox_sensor = 6, /obj/item/device/assembly/igniter = 12) + products = list(/obj/item/transfer_valve = 3, /obj/item/assembly/timer = 6, /obj/item/assembly/signaler = 6, /obj/item/assembly/prox_sensor = 6, /obj/item/assembly/igniter = 12) }, /obj/machinery/camera/network/research_outpost{ dir = 8 @@ -11106,20 +11102,20 @@ /area/offmap/aerostat/inside/westhall) "QA" = ( /obj/structure/table/standard, -/obj/item/weapon/anobattery, -/obj/item/weapon/anobattery{ +/obj/item/anobattery, +/obj/item/anobattery{ pixel_x = 5; pixel_y = 2 }, -/obj/item/weapon/anobattery{ +/obj/item/anobattery{ pixel_x = -4; pixel_y = 3 }, -/obj/item/weapon/anobattery{ +/obj/item/anobattery{ pixel_x = -5; pixel_y = -3 }, -/obj/item/weapon/tool/screwdriver, +/obj/item/tool/screwdriver, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/xenoarch) "QE" = ( @@ -11336,7 +11332,6 @@ dir = 4; master_tag = "aerostat_n_w_airlock"; pixel_x = -32; - tag = "aerostat_n_w_sensint" }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/airlock/north) @@ -11670,7 +11665,7 @@ /obj/machinery/computer/scan_consolenew{ dir = 8 }, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "out of order" }, /turf/simulated/floor/tiled/white, @@ -12635,12 +12630,12 @@ /obj/structure/table/rack, /obj/item/clothing/suit/space/anomaly/heat, /obj/item/clothing/head/helmet/space/anomaly/heat, -/obj/item/device/suit_cooling_unit, -/obj/item/weapon/storage/excavation, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/pickaxe, -/obj/item/device/measuring_tape, -/obj/item/weapon/storage/belt/archaeology, +/obj/item/suit_cooling_unit, +/obj/item/storage/excavation, +/obj/item/tool/wrench, +/obj/item/pickaxe, +/obj/item/measuring_tape, +/obj/item/storage/belt/archaeology, /obj/item/stack/flag/yellow, /obj/item/clothing/mask/breath, /obj/machinery/alarm{ @@ -12717,8 +12712,8 @@ /area/offmap/aerostat/inside/toxins) "WR" = ( /obj/structure/table/reinforced, -/obj/item/weapon/book/manual/virology, -/obj/item/device/antibody_scanner, +/obj/item/book/manual/virology, +/obj/item/antibody_scanner, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/virology) "WS" = ( @@ -12868,8 +12863,8 @@ dir = 1 }, /obj/structure/table/standard, -/obj/item/device/multitool, -/obj/item/weapon/tool/screwdriver, +/obj/item/multitool, +/obj/item/tool/screwdriver, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/telesci) "XA" = ( @@ -13167,12 +13162,12 @@ /area/offmap/aerostat/inside/atmos) "YC" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 4; pixel_y = 6 }, -/obj/item/weapon/folder/white, -/obj/item/weapon/pen, +/obj/item/folder/white, +/obj/item/pen, /obj/machinery/light{ dir = 4 }, @@ -13364,12 +13359,12 @@ /obj/structure/table/rack, /obj/item/clothing/suit/space/anomaly/heat, /obj/item/clothing/head/helmet/space/anomaly/heat, -/obj/item/device/suit_cooling_unit, -/obj/item/weapon/storage/excavation, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/pickaxe, -/obj/item/device/measuring_tape, -/obj/item/weapon/storage/belt/archaeology, +/obj/item/suit_cooling_unit, +/obj/item/storage/excavation, +/obj/item/tool/wrench, +/obj/item/pickaxe, +/obj/item/measuring_tape, +/obj/item/storage/belt/archaeology, /obj/item/stack/flag/yellow, /obj/item/clothing/mask/breath, /turf/simulated/floor/tiled/white, @@ -13479,7 +13474,6 @@ dir = 4; master_tag = "aerostat_s_w_airlock"; pixel_x = -24; - tag = "aerostat_s_w_sensint" }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/airlock/south) diff --git a/maps/expedition_vr/aerostat/surface.dmm b/maps/expedition_vr/aerostat/surface.dmm index dbcc8ac7eba..9fdb83bd573 100644 --- a/maps/expedition_vr/aerostat/surface.dmm +++ b/maps/expedition_vr/aerostat/surface.dmm @@ -209,7 +209,7 @@ /area/offmap/aerostat/surface/outpost/guardpost) "fZ" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /turf/simulated/floor/wood, /area/offmap/aerostat/surface/outpost/officerone) "gb" = ( @@ -233,7 +233,7 @@ /turf/simulated/floor/tiled/eris/white/techfloor_grid, /area/offmap/aerostat/surface/outpost/backroom) "gx" = ( -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /obj/structure/bed/padded, /obj/structure/curtain/black, /turf/simulated/floor/wood, @@ -251,7 +251,7 @@ /area/offmap/aerostat/surface/outpost/guardpost) "gU" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /turf/simulated/floor/wood, /area/offmap/aerostat/surface/outpost/officertwo) "he" = ( @@ -660,18 +660,18 @@ /obj/structure/closet/crate{ dir = 1 }, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/knife/table, -/obj/item/weapon/material/knife/table, -/obj/item/weapon/material/knife/table, -/obj/item/weapon/material/knife/table, -/obj/item/weapon/material/kitchen/utensil/spoon, -/obj/item/weapon/material/kitchen/utensil/spoon, -/obj/item/weapon/material/kitchen/utensil/spoon, -/obj/item/weapon/material/kitchen/utensil/spoon, +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/knife/table, +/obj/item/material/knife/table, +/obj/item/material/knife/table, +/obj/item/material/knife/table, +/obj/item/material/kitchen/utensil/spoon, +/obj/item/material/kitchen/utensil/spoon, +/obj/item/material/kitchen/utensil/spoon, +/obj/item/material/kitchen/utensil/spoon, /turf/simulated/floor/tiled/eris/dark/monofloor, /area/offmap/aerostat/surface/outpost/cafe) "sz" = ( @@ -967,7 +967,7 @@ /turf/simulated/floor/tiled/eris/steel/techfloor_grid, /area/offmap/aerostat/surface/outpost/cafe) "zG" = ( -/obj/item/weapon/stool/baystool/padded{ +/obj/item/stool/baystool/padded{ dir = 4 }, /turf/simulated/floor/tiled/eris/dark, @@ -999,7 +999,7 @@ /area/offmap/aerostat/surface/outpost/cafe) "AQ" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/hopdouble, +/obj/item/bedsheet/hopdouble, /turf/simulated/floor/wood, /area/offmap/aerostat/surface/outpost/officertwo) "Bb" = ( @@ -1102,7 +1102,7 @@ /area/offmap/aerostat/surface/explored) "ET" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/hopdouble, +/obj/item/bedsheet/hopdouble, /turf/simulated/floor/wood, /area/offmap/aerostat/surface/outpost/officerone) "EV" = ( @@ -1514,7 +1514,7 @@ /area/offmap/aerostat/surface/outpost/airlock) "ON" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/storage/box/glasses, +/obj/item/storage/box/glasses, /obj/item/paint_brush, /obj/item/paint_palette, /turf/simulated/floor/tiled/eris/dark/monofloor, @@ -1650,17 +1650,17 @@ /area/offmap/aerostat/surface/outpost/backroom) "Sr" = ( /obj/structure/closet/walllocker_double/kitchen/west, -/obj/item/weapon/storage/box/tgmc_mre, -/obj/item/weapon/storage/box/tgmc_mre{ +/obj/item/storage/box/tgmc_mre, +/obj/item/storage/box/tgmc_mre{ pixel_x = -4; pixel_y = 4 }, -/obj/item/weapon/storage/box/tgmc_mre, -/obj/item/weapon/storage/box/tgmc_mre{ +/obj/item/storage/box/tgmc_mre, +/obj/item/storage/box/tgmc_mre{ pixel_x = -3; pixel_y = 5 }, -/obj/item/weapon/storage/box/tgmc_mre{ +/obj/item/storage/box/tgmc_mre{ pixel_x = 4; pixel_y = -4 }, @@ -1717,7 +1717,7 @@ /area/offmap/aerostat/surface/outpost/backroom) "Ur" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/storage/box/glasses/pint, +/obj/item/storage/box/glasses/pint, /obj/item/canvas/twentyfour_twentyfour, /obj/item/canvas/nineteen_nineteen, /turf/simulated/floor/tiled/eris/dark/monofloor, diff --git a/maps/expedition_vr/aerostat/surface_yw.dmm b/maps/expedition_vr/aerostat/surface_yw.dmm index 7c2202276b8..67b000308fd 100644 --- a/maps/expedition_vr/aerostat/surface_yw.dmm +++ b/maps/expedition_vr/aerostat/surface_yw.dmm @@ -63,7 +63,7 @@ /turf/simulated/floor/tiled/eris/steel, /area/offmap/aerostat/surface/outpost/backroom) "cj" = ( -/obj/item/weapon/stool/baystool/padded{ +/obj/item/stool/baystool/padded{ dir = 4 }, /turf/simulated/floor/tiled/eris/dark, @@ -207,7 +207,7 @@ /area/offmap/aerostat/surface/outpost/backroom) "gY" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/storage/box/glasses/pint, +/obj/item/storage/box/glasses/pint, /obj/item/canvas/twentyfour_twentyfour, /obj/item/canvas/nineteen_nineteen, /turf/simulated/floor/tiled/eris/dark/monofloor, @@ -263,7 +263,7 @@ /area/offmap/aerostat/surface/outpost/hallway) "jd" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /turf/simulated/floor/wood, /area/offmap/aerostat/surface/outpost/officerone) "ji" = ( @@ -392,7 +392,7 @@ /area/offmap/aerostat/surface/outpost/powerroom) "nQ" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/hopdouble, +/obj/item/bedsheet/hopdouble, /turf/simulated/floor/wood, /area/offmap/aerostat/surface/outpost/officerone) "nS" = ( @@ -1075,7 +1075,7 @@ /turf/simulated/floor/tiled/techfloor/virgo2, /area/offmap/aerostat/surface/outpost/airlock) "GU" = ( -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /obj/structure/bed/padded, /obj/structure/curtain/black, /turf/simulated/floor/wood, @@ -1122,7 +1122,7 @@ /area/offmap/aerostat/surface/unexplored) "HU" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /turf/simulated/floor/wood, /area/offmap/aerostat/surface/outpost/officertwo) "Ih" = ( @@ -1233,7 +1233,7 @@ /area/offmap/aerostat/surface/outpost/hallway) "Lq" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/storage/box/glasses, +/obj/item/storage/box/glasses, /obj/item/paint_brush, /obj/item/paint_palette, /turf/simulated/floor/tiled/eris/dark/monofloor, @@ -1387,17 +1387,17 @@ /area/offmap/aerostat/surface/outpost/officertwo) "OH" = ( /obj/structure/closet/walllocker_double/kitchen/west, -/obj/item/weapon/storage/box/tgmc_mre, -/obj/item/weapon/storage/box/tgmc_mre{ +/obj/item/storage/box/tgmc_mre, +/obj/item/storage/box/tgmc_mre{ pixel_x = -4; pixel_y = 4 }, -/obj/item/weapon/storage/box/tgmc_mre, -/obj/item/weapon/storage/box/tgmc_mre{ +/obj/item/storage/box/tgmc_mre, +/obj/item/storage/box/tgmc_mre{ pixel_x = -3; pixel_y = 5 }, -/obj/item/weapon/storage/box/tgmc_mre{ +/obj/item/storage/box/tgmc_mre{ pixel_x = 4; pixel_y = -4 }, @@ -1520,18 +1520,18 @@ /obj/structure/closet/crate{ dir = 1 }, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/knife/table, -/obj/item/weapon/material/knife/table, -/obj/item/weapon/material/knife/table, -/obj/item/weapon/material/knife/table, -/obj/item/weapon/material/kitchen/utensil/spoon, -/obj/item/weapon/material/kitchen/utensil/spoon, -/obj/item/weapon/material/kitchen/utensil/spoon, -/obj/item/weapon/material/kitchen/utensil/spoon, +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/knife/table, +/obj/item/material/knife/table, +/obj/item/material/knife/table, +/obj/item/material/knife/table, +/obj/item/material/kitchen/utensil/spoon, +/obj/item/material/kitchen/utensil/spoon, +/obj/item/material/kitchen/utensil/spoon, +/obj/item/material/kitchen/utensil/spoon, /turf/simulated/floor/tiled/eris/dark/monofloor, /area/offmap/aerostat/surface/outpost/cafe) "RP" = ( @@ -1602,7 +1602,7 @@ /area/offmap/aerostat/surface/outpost/airlock) "Tc" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/hopdouble, +/obj/item/bedsheet/hopdouble, /turf/simulated/floor/wood, /area/offmap/aerostat/surface/outpost/officertwo) "TF" = ( diff --git a/maps/expedition_vr/alienship/_alienship.dm b/maps/expedition_vr/alienship/_alienship.dm index 890f1e5c77a..7d2aaa9bbcf 100644 --- a/maps/expedition_vr/alienship/_alienship.dm +++ b/maps/expedition_vr/alienship/_alienship.dm @@ -55,7 +55,7 @@ /obj/machinery/porta_turret/alien/ion name = "interior anti-boarding turret" desc = "A very tough looking turret made by alien hands." - installation = /obj/item/weapon/gun/energy/ionrifle/weak + installation = /obj/item/gun/energy/ionrifle/weak enabled = TRUE lethal = TRUE ailock = TRUE @@ -95,7 +95,7 @@ icon_state = "w2e" teleport_on_mode = "w2e" -/obj/item/weapon/reagent_containers/hypospray/autoinjector/alien +/obj/item/reagent_containers/hypospray/autoinjector/alien name = "alien injector(?)" desc = "It appears to contain some sort of liquid and has a needle for injecting." icon = 'alienship.dmi' @@ -159,10 +159,10 @@ L.forceMove(pick(get_area_turfs(dump_area))) if(!issilicon(L)) //Don't drop borg modules... for(var/obj/item/I in L) - if(istype(I,/obj/item/weapon/implant) || istype(I,/obj/item/device/nif)) + if(istype(I,/obj/item/implant) || istype(I,/obj/item/nif)) continue - if(istype(I,/obj/item/weapon/holder)) - var/obj/item/weapon/holder/H = I + if(istype(I,/obj/item/holder)) + var/obj/item/holder/H = I var/mob/living/M = H.held_mob M.forceMove(get_turf(H)) abduct(M) @@ -170,7 +170,7 @@ L.Paralyse(10) L.forceMove(get_turf(pick(teleport_to))) L << 'sound/effects/bamf.ogg' - to_chat(L,"You're starting to come to. You feel like you've been out for a few minutes, at least...") + to_chat(L,span_warning("You're starting to come to. You feel like you've been out for a few minutes, at least...")) /area/tether_away/alienship name = "\improper Away Mission - Unknown Vessel" diff --git a/maps/expedition_vr/alienship/alienship.dmm b/maps/expedition_vr/alienship/alienship.dmm index bbe4d4fd3b6..edfa71c50f3 100644 --- a/maps/expedition_vr/alienship/alienship.dmm +++ b/maps/expedition_vr/alienship/alienship.dmm @@ -126,17 +126,17 @@ /turf/simulated/shuttle/floor/alien, /area/tether_away/alienship) "aB" = ( -/obj/item/weapon/cell/device/weapon/recharge/alien, +/obj/item/cell/device/weapon/recharge/alien, /turf/simulated/shuttle/floor/alienplating, /area/tether_away/alienship) "aC" = ( -/obj/item/device/gps, +/obj/item/gps, /obj/structure/table/alien, /turf/simulated/shuttle/floor/alienplating, /area/tether_away/alienship) "aD" = ( /obj/structure/table/alien, -/obj/item/weapon/cell/device/weapon/recharge/alien, +/obj/item/cell/device/weapon/recharge/alien, /turf/simulated/shuttle/floor/alienplating, /area/tether_away/alienship) "aE" = ( @@ -144,86 +144,86 @@ /area/tether_away/alienship/equip_dump) "aF" = ( /obj/structure/closet/crate, -/obj/item/device/multitool, -/obj/item/weapon/tool/wrench, -/obj/item/device/radio, +/obj/item/multitool, +/obj/item/tool/wrench, +/obj/item/radio, /turf/simulated/shuttle/floor/alien, /area/tether_away/alienship) "aG" = ( /obj/structure/closet/crate, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/weldingtool, +/obj/item/tool/crowbar, +/obj/item/weldingtool, /turf/simulated/shuttle/floor/alien, /area/tether_away/alienship) "aH" = ( /obj/structure/closet/crate, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/screwdriver, -/obj/item/weapon/tool/wirecutters, -/obj/item/weapon/weldingtool, -/obj/item/weapon/storage/firstaid, +/obj/item/tool/crowbar, +/obj/item/tool/screwdriver, +/obj/item/tool/wirecutters, +/obj/item/weldingtool, +/obj/item/storage/firstaid, /turf/simulated/shuttle/floor/alienplating, /area/tether_away/alienship) "aI" = ( /obj/structure/table/alien, -/obj/item/weapon/storage/belt/utility/alien/full, +/obj/item/storage/belt/utility/alien/full, /turf/simulated/shuttle/floor/alienplating, /area/tether_away/alienship) "aJ" = ( /obj/structure/closet/crate, -/obj/item/device/multitool, -/obj/item/weapon/tool/screwdriver, -/obj/item/weapon/tool/wirecutters, -/obj/item/weapon/tool/wrench, +/obj/item/multitool, +/obj/item/tool/screwdriver, +/obj/item/tool/wirecutters, +/obj/item/tool/wrench, /turf/simulated/shuttle/floor/alien, /area/tether_away/alienship) "aK" = ( /obj/structure/closet/crate, -/obj/item/weapon/tool/transforming/jawsoflife, -/obj/item/weapon/tool/wrench, +/obj/item/tool/transforming/jawsoflife, +/obj/item/tool/wrench, /turf/simulated/shuttle/floor/alien, /area/tether_away/alienship) "aL" = ( /obj/structure/closet/crate, -/obj/item/device/multitool, -/obj/item/weapon/tool/screwdriver, -/obj/item/weapon/weldingtool, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/reagent_containers/food/snacks/liquidfood, -/obj/item/weapon/reagent_containers/food/snacks/liquidfood, +/obj/item/multitool, +/obj/item/tool/screwdriver, +/obj/item/weldingtool, +/obj/item/storage/firstaid/regular, +/obj/item/reagent_containers/food/snacks/liquidfood, +/obj/item/reagent_containers/food/snacks/liquidfood, /turf/simulated/shuttle/floor/alien, /area/tether_away/alienship) "aM" = ( /obj/structure/closet/crate, -/obj/item/weapon/tool/crowbar/red, -/obj/item/weapon/tool/transforming/powerdrill, -/obj/item/weapon/tool/wirecutters, +/obj/item/tool/crowbar/red, +/obj/item/tool/transforming/powerdrill, +/obj/item/tool/wirecutters, /turf/simulated/shuttle/floor/alien, /area/tether_away/alienship) "aN" = ( /obj/structure/closet/crate, -/obj/item/device/multitool, -/obj/item/weapon/tool/wirecutters, -/obj/item/device/radio, -/obj/item/weapon/weldingtool, +/obj/item/multitool, +/obj/item/tool/wirecutters, +/obj/item/radio, +/obj/item/weldingtool, /turf/simulated/shuttle/floor/alienplating, /area/tether_away/alienship) "aO" = ( -/obj/item/device/radio, +/obj/item/radio, /turf/simulated/shuttle/floor/alienplating, /area/tether_away/alienship) "aP" = ( /obj/effect/decal/remains/xeno, -/obj/item/device/radio, +/obj/item/radio, /turf/simulated/shuttle/floor/alien, /area/tether_away/alienship) "aQ" = ( -/obj/item/device/radio, +/obj/item/radio, /turf/simulated/shuttle/floor/alien, /area/tether_away/alienship) "aR" = ( /obj/structure/table/alien, -/obj/item/weapon/reagent_containers/food/drinks/glass2/pint{ +/obj/item/reagent_containers/food/drinks/glass2/pint{ desc = "There's a permanent colored stain around the inside, as if it held a liquid for a very, very long time."; name = "ancient pint glass" }, @@ -254,12 +254,12 @@ /area/tether_away/alienship) "aX" = ( /obj/structure/closet/alien, -/obj/item/weapon/reagent_containers/hypospray/autoinjector/alien, +/obj/item/reagent_containers/hypospray/autoinjector/alien, /turf/simulated/shuttle/floor/alienplating, /area/tether_away/alienship) "aY" = ( /obj/structure/table/alien, -/obj/item/weapon/reagent_containers/hypospray/autoinjector/alien, +/obj/item/reagent_containers/hypospray/autoinjector/alien, /turf/simulated/shuttle/floor/alienplating, /area/tether_away/alienship) "bJ" = ( @@ -334,7 +334,7 @@ /area/tether_away/alienship) "ca" = ( /obj/structure/table/alien, -/obj/item/weapon/paper/alien{ +/obj/item/paper/alien{ icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]" }, @@ -350,17 +350,17 @@ /area/tether_away/alienship) "cd" = ( /obj/structure/table/alien, -/obj/item/weapon/surgical/FixOVein/alien, +/obj/item/surgical/FixOVein/alien, /turf/simulated/shuttle/floor/alien, /area/tether_away/alienship) "ce" = ( /obj/structure/table/alien, -/obj/item/weapon/surgical/bone_clamp/alien, +/obj/item/surgical/bone_clamp/alien, /turf/simulated/shuttle/floor/alien, /area/tether_away/alienship) "cf" = ( /obj/structure/table/alien, -/obj/item/weapon/paper/alien{ +/obj/item/paper/alien{ icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]" }, @@ -368,7 +368,7 @@ /area/tether_away/alienship) "cg" = ( /obj/structure/table/alien, -/obj/item/weapon/surgical/circular_saw/alien, +/obj/item/surgical/circular_saw/alien, /turf/simulated/shuttle/floor/alien, /area/tether_away/alienship) "ch" = ( @@ -382,7 +382,7 @@ /area/tether_away/alienship) "cj" = ( /obj/structure/closet/alien, -/obj/item/weapon/paper/alien, +/obj/item/paper/alien, /turf/simulated/shuttle/floor/alienplating, /area/tether_away/alienship) "ck" = ( @@ -433,7 +433,7 @@ /area/tether_away/alienship) "cu" = ( /obj/structure/table/alien, -/obj/item/device/multitool/alien, +/obj/item/multitool/alien, /turf/simulated/shuttle/floor/alienplating, /area/tether_away/alienship) "cv" = ( @@ -448,12 +448,12 @@ /area/tether_away/alienship) "cx" = ( /obj/structure/table/alien, -/obj/item/weapon/surgical/hemostat/alien, +/obj/item/surgical/hemostat/alien, /turf/simulated/shuttle/floor/alien, /area/tether_away/alienship) "cy" = ( /obj/structure/table/alien, -/obj/item/weapon/storage/belt/utility/alien/full, +/obj/item/storage/belt/utility/alien/full, /turf/simulated/shuttle/floor/alien, /area/tether_away/alienship) "cz" = ( @@ -471,7 +471,7 @@ /area/tether_away/alienship) "cC" = ( /obj/structure/table/alien, -/obj/item/weapon/surgical/cautery/alien, +/obj/item/surgical/cautery/alien, /turf/simulated/shuttle/floor/alien, /area/tether_away/alienship) "cD" = ( @@ -480,69 +480,69 @@ /area/tether_away/alienship) "cE" = ( /obj/structure/table/alien, -/obj/item/weapon/surgical/hemostat/alien, +/obj/item/surgical/hemostat/alien, /turf/simulated/shuttle/floor/alienplating, /area/tether_away/alienship) "cF" = ( /obj/structure/closet/alien, -/obj/item/weapon/gun/energy/alien, +/obj/item/gun/energy/alien, /turf/simulated/shuttle/floor/alienplating, /area/tether_away/alienship) "cG" = ( /obj/structure/table/alien, -/obj/item/weapon/surgical/bone_clamp/alien, +/obj/item/surgical/bone_clamp/alien, /turf/simulated/shuttle/floor/alienplating, /area/tether_away/alienship) "cH" = ( -/obj/item/device/multitool/alien, +/obj/item/multitool/alien, /turf/simulated/shuttle/floor/alien, /area/tether_away/alienship) "cI" = ( -/obj/item/weapon/cell/device/weapon/recharge/alien, +/obj/item/cell/device/weapon/recharge/alien, /obj/structure/table/alien, -/obj/item/weapon/weldingtool/alien, +/obj/item/weldingtool/alien, /turf/simulated/shuttle/floor/alienplating, /area/tether_away/alienship) "cJ" = ( -/obj/item/weapon/cell/device/weapon/recharge/alien, +/obj/item/cell/device/weapon/recharge/alien, /obj/structure/table/alien, /turf/simulated/shuttle/floor/alienplating, /area/tether_away/alienship) "cL" = ( /obj/structure/table/alien, -/obj/item/weapon/tool/crowbar/alien, +/obj/item/tool/crowbar/alien, /turf/simulated/shuttle/floor/alienplating, /area/tether_away/alienship) "cM" = ( -/obj/item/weapon/tool/screwdriver/alien, +/obj/item/tool/screwdriver/alien, /turf/simulated/shuttle/floor/alien, /area/tether_away/alienship) "cO" = ( /obj/structure/table/alien, -/obj/item/weapon/surgical/scalpel/alien, +/obj/item/surgical/scalpel/alien, /turf/simulated/shuttle/floor/alien, /area/tether_away/alienship) "cP" = ( /obj/structure/table/alien, -/obj/item/weapon/surgical/retractor/alien, +/obj/item/surgical/retractor/alien, /turf/simulated/shuttle/floor/alienplating, /area/tether_away/alienship) "cQ" = ( /obj/structure/table/alien, -/obj/item/device/gps, +/obj/item/gps, /turf/simulated/shuttle/floor/alienplating, /area/tether_away/alienship) "cR" = ( -/obj/item/device/gps, +/obj/item/gps, /turf/simulated/shuttle/floor/alienplating, /area/tether_away/alienship) "cS" = ( /obj/structure/table/alien, -/obj/item/weapon/gun/energy/alien, +/obj/item/gun/energy/alien, /turf/simulated/shuttle/floor/alienplating, /area/tether_away/alienship) "cT" = ( -/obj/item/device/gps, +/obj/item/gps, /turf/simulated/shuttle/floor/alien, /area/tether_away/alienship) "da" = ( @@ -555,11 +555,11 @@ /turf/simulated/shuttle/floor/alienplating, /area/tether_away/alienship) "gG" = ( -/obj/item/weapon/reagent_containers/food/snacks/liquidfood, +/obj/item/reagent_containers/food/snacks/liquidfood, /turf/simulated/shuttle/floor/alienplating, /area/tether_away/alienship) "nr" = ( -/obj/item/weapon/storage/firstaid, +/obj/item/storage/firstaid, /turf/simulated/shuttle/floor/alien, /area/tether_away/alienship) "us" = ( @@ -580,7 +580,7 @@ /turf/simulated/shuttle/floor/alien, /area/tether_away/alienship/equip_dump) "Rx" = ( -/obj/item/weapon/reagent_containers/food/snacks/liquidfood, +/obj/item/reagent_containers/food/snacks/liquidfood, /turf/simulated/shuttle/floor/alien, /area/tether_away/alienship) "YP" = ( diff --git a/maps/expedition_vr/beach/_beach.dm b/maps/expedition_vr/beach/_beach.dm index 5b1d049fe15..ea0a4fd85cc 100644 --- a/maps/expedition_vr/beach/_beach.dm +++ b/maps/expedition_vr/beach/_beach.dm @@ -42,13 +42,13 @@ deep_count++ // Sanity check. if(surface_count < 100) - admin_notice("Insufficient surface minerals. Rerolling...", R_DEBUG) + admin_notice(span_danger("Insufficient surface minerals. Rerolling..."), R_DEBUG) return 0 else if(rare_count < 50) - admin_notice("Insufficient rare minerals. Rerolling...", R_DEBUG) + admin_notice(span_danger("Insufficient rare minerals. Rerolling..."), R_DEBUG) return 0 else if(deep_count < 50) - admin_notice("Insufficient deep minerals. Rerolling...", R_DEBUG) + admin_notice(span_danger("Insufficient deep minerals. Rerolling..."), R_DEBUG) return 0 else return 1 @@ -78,7 +78,7 @@ // Note that if your map has step teleports, mobs may wander through them accidentally and not know how to get back /obj/tether_away_spawner/beach_outside name = "Beach Outside Spawner" //Just a name - faction = "beach_out" //Sets all the mobs to this faction so they don't infight + faction = FACTION_BEACH_OUT //Sets all the mobs to this faction so they don't infight atmos_comp = TRUE //Sets up their atmos tolerances to work in this setting, even if they don't normally (20% up/down tolerance for each gas, and heat) prob_spawn = 100 //Chance of this spawner spawning a mob (once this is missed, the spawner is 'depleted' and won't spawn anymore) prob_fall = 25 //Chance goes down by this much each time it spawns one (not defining and prob_spawn 100 means they spawn as soon as one dies) @@ -91,7 +91,7 @@ /obj/tether_away_spawner/beach_outside_friendly name = "Fennec Spawner" - faction = "fennec" + faction = FACTION_FENNEC atmos_comp = TRUE prob_spawn = 100 prob_fall = 25 @@ -102,7 +102,7 @@ /obj/tether_away_spawner/beach_cave name = "Beach Cave Spawner" - faction = "beach_cave" + faction = FACTION_BEACH_CAVE atmos_comp = TRUE prob_spawn = 100 prob_fall = 40 diff --git a/maps/expedition_vr/beach/beach.dmm b/maps/expedition_vr/beach/beach.dmm index d763c2118cf..e54667d574d 100644 --- a/maps/expedition_vr/beach/beach.dmm +++ b/maps/expedition_vr/beach/beach.dmm @@ -25,7 +25,7 @@ /area/tether_away/beach/powershed) "ag" = ( /obj/structure/table/woodentable, -/obj/item/weapon/cell/apc, +/obj/item/cell/apc, /turf/simulated/floor/wood, /area/tether_away/beach/resort/janibar) "ah" = ( @@ -170,7 +170,7 @@ /area/tether_away/beach/resort/janibar) "aM" = ( /obj/structure/table/woodentable, -/obj/item/weapon/book/manual/barman_recipes, +/obj/item/book/manual/barman_recipes, /turf/simulated/floor/wood, /area/tether_away/beach/resort/janibar) "aN" = ( @@ -212,7 +212,7 @@ /area/tether_away/beach/resort/janibar) "aU" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/ale, +/obj/item/reagent_containers/food/drinks/bottle/small/ale, /turf/simulated/floor/wood, /area/tether_away/beach/resort/janibar) "aV" = ( @@ -221,11 +221,11 @@ /area/tether_away/beach/resort/janibar) "aW" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, /turf/simulated/floor/wood, /area/tether_away/beach/resort/janibar) "aX" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /turf/simulated/floor/tiled/asteroid_steel{ @@ -234,7 +234,7 @@ /area/tether_away/beach/resort) "aY" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/greendouble, +/obj/item/bedsheet/greendouble, /turf/simulated/floor/wood, /area/tether_away/beach) "ba" = ( @@ -245,11 +245,11 @@ /turf/simulated/floor/beach/sand/desert/outdoors, /area/tether_away/beach) "bc" = ( -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, /turf/simulated/floor/beach/sand/desert/outdoors, /area/tether_away/beach) "bd" = ( -/obj/item/weapon/beach_ball, +/obj/item/beach_ball, /turf/simulated/floor/beach/sand/desert/outdoors, /area/tether_away/beach) "be" = ( @@ -359,7 +359,7 @@ }, /area/tether_away/beach/resort) "di" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /turf/simulated/mineral/floor/cave{ @@ -371,7 +371,7 @@ /turf/simulated/floor/tiled/asteroid_steel, /area/tether_away/beach/resort/lockermed) "dt" = ( -/obj/item/weapon/bedsheet/pirate, +/obj/item/bedsheet/pirate, /obj/machinery/button/remote/airlock{ id = "LoveShack4"; name = "Door Bolt Control"; @@ -383,7 +383,7 @@ /area/tether_away/beach/resort/dorm4) "dP" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /turf/simulated/floor/tiled/kafel_full/white, /area/tether_away/beach/resort/lockermed) "dY" = ( @@ -438,16 +438,16 @@ /area/tether_away/beach/resort) "eW" = ( /obj/structure/table/glass, -/obj/item/weapon/backup_implanter{ +/obj/item/backup_implanter{ pixel_y = 9 }, -/obj/item/weapon/backup_implanter{ +/obj/item/backup_implanter{ pixel_y = 2 }, -/obj/item/weapon/backup_implanter{ +/obj/item/backup_implanter{ pixel_y = -5 }, -/obj/item/weapon/backup_implanter{ +/obj/item/backup_implanter{ pixel_y = -12 }, /obj/machinery/light/small{ @@ -475,7 +475,7 @@ /turf/simulated/floor/tiled/eris/cafe, /area/tether_away/beach/resort/kitchen) "fJ" = ( -/obj/item/weapon/bedsheet/ian, +/obj/item/bedsheet/ian, /obj/machinery/button/remote/airlock{ id = "LoveShack3"; name = "Door Bolt Control"; @@ -535,7 +535,7 @@ /obj/structure/cable/cyan{ icon_state = "1-4" }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /turf/simulated/floor/tiled/asteroid_steel{ @@ -715,10 +715,10 @@ /area/tether_away/beach/resort/dorm2) "la" = ( /obj/structure/table/rack, -/obj/item/weapon/material/fishing_net, -/obj/item/weapon/material/fishing_net, -/obj/item/weapon/material/fishing_net, -/obj/item/weapon/material/fishing_net, +/obj/item/material/fishing_net, +/obj/item/material/fishing_net, +/obj/item/material/fishing_net, +/obj/item/material/fishing_net, /obj/item/stack/cable_coil/pink, /obj/item/stack/cable_coil/pink, /turf/simulated/floor/tiled/asteroid_steel, @@ -848,7 +848,7 @@ /turf/simulated/floor/wood, /area/tether_away/beach/resort/dorm1) "oq" = ( -/obj/item/weapon/bedsheet/rainbow, +/obj/item/bedsheet/rainbow, /obj/machinery/button/remote/airlock{ id = "LoveShack1"; name = "Door Bolt Control"; @@ -867,7 +867,7 @@ /obj/structure/cable/cyan{ icon_state = "4-8" }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /turf/simulated/floor/tiled/asteroid_steel{ @@ -876,10 +876,10 @@ /area/tether_away/beach/resort) "pd" = ( /obj/structure/table/rack, -/obj/item/weapon/material/fishing_rod/modern/cheap, -/obj/item/weapon/material/fishing_rod/modern/cheap, -/obj/item/weapon/material/fishing_rod/modern/cheap, -/obj/item/weapon/material/fishing_rod/modern/cheap, +/obj/item/material/fishing_rod/modern/cheap, +/obj/item/material/fishing_rod/modern/cheap, +/obj/item/material/fishing_rod/modern/cheap, +/obj/item/material/fishing_rod/modern/cheap, /obj/item/stack/cable_coil/pink, /obj/item/stack/cable_coil/pink, /turf/simulated/floor/tiled/asteroid_steel, @@ -940,7 +940,7 @@ }, /area/tether_away/beach/resort) "pM" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /turf/simulated/mineral/floor/cave{ @@ -1129,7 +1129,7 @@ /area/tether_away/beach/cavebase) "vU" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /turf/simulated/floor/wood, /area/tether_away/beach) "wv" = ( @@ -1197,7 +1197,7 @@ /turf/simulated/floor/outdoors/grass, /area/tether_away/beach/resort/janibar) "yz" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, /turf/simulated/mineral/floor/cave{ @@ -1259,7 +1259,7 @@ /turf/simulated/floor/outdoors/grass/forest, /area/tether_away/beach/jungle) "Aw" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/mineral/floor/cave{ name = "dirt" }, @@ -1277,54 +1277,54 @@ /turf/simulated/floor/beach/sand/outdoors, /area/tether_away/beach/resort) "Bk" = ( -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/small/sugar, -/obj/item/weapon/reagent_containers/food/condiment/small/sugar, -/obj/item/weapon/reagent_containers/food/condiment/small/sugar, -/obj/item/weapon/reagent_containers/food/condiment/small/sugar, -/obj/item/weapon/reagent_containers/food/condiment/spacespice, -/obj/item/weapon/reagent_containers/food/condiment/spacespice, -/obj/item/weapon/reagent_containers/food/condiment/spacespice, -/obj/item/weapon/reagent_containers/food/condiment/spacespice, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/material/knife/butch, -/obj/item/weapon/material/minihoe, -/obj/item/weapon/material/knife/machete/hatchet, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/small/sugar, +/obj/item/reagent_containers/food/condiment/small/sugar, +/obj/item/reagent_containers/food/condiment/small/sugar, +/obj/item/reagent_containers/food/condiment/small/sugar, +/obj/item/reagent_containers/food/condiment/spacespice, +/obj/item/reagent_containers/food/condiment/spacespice, +/obj/item/reagent_containers/food/condiment/spacespice, +/obj/item/reagent_containers/food/condiment/spacespice, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/material/knife/butch, +/obj/item/material/minihoe, +/obj/item/material/knife/machete/hatchet, /obj/random/drinkbottle, /obj/random/drinkbottle, /obj/random/drinkbottle, /obj/structure/closet, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/device/analyzer/plant_analyzer, -/obj/item/device/analyzer/plant_analyzer, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/glass/bucket, +/obj/item/analyzer/plant_analyzer, +/obj/item/analyzer/plant_analyzer, +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 3 }, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -3 }, -/obj/item/weapon/reagent_containers/glass/bottle/eznutrient, -/obj/item/weapon/reagent_containers/glass/bottle/eznutrient, -/obj/item/weapon/reagent_containers/glass/bottle/eznutrient, -/obj/item/weapon/reagent_containers/glass/bottle/eznutrient, -/obj/item/weapon/reagent_containers/glass/bottle/eznutrient, +/obj/item/reagent_containers/glass/bottle/eznutrient, +/obj/item/reagent_containers/glass/bottle/eznutrient, +/obj/item/reagent_containers/glass/bottle/eznutrient, +/obj/item/reagent_containers/glass/bottle/eznutrient, +/obj/item/reagent_containers/glass/bottle/eznutrient, /obj/random/donkpocketbox, /turf/simulated/floor/tiled/eris/cafe, /area/tether_away/beach/resort/kitchen) "By" = ( -/obj/item/weapon/stool/baystool/padded{ +/obj/item/stool/baystool/padded{ dir = 4 }, /turf/simulated/floor/lino, @@ -1516,12 +1516,12 @@ /area/tether_away/beach/jungle) "Hv" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/material/kitchen/rollingpin, -/obj/item/weapon/book/manual/chef_recipes, -/obj/item/weapon/reagent_containers/food/condiment/enzyme{ +/obj/item/material/kitchen/rollingpin, +/obj/item/book/manual/chef_recipes, +/obj/item/reagent_containers/food/condiment/enzyme{ layer = 5 }, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /turf/simulated/floor/tiled/eris/cafe, /area/tether_away/beach/resort/kitchen) "HO" = ( @@ -1708,7 +1708,7 @@ }, /area/tether_away/beach/resort) "MZ" = ( -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /obj/machinery/button/remote/airlock{ id = "LoveShack2"; name = "Door Bolt Control"; @@ -1803,9 +1803,9 @@ /area/tether_away/beach/resort/lockermed) "QL" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/mop, +/obj/item/mop, /obj/random/soap, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /turf/simulated/floor/tiled/asteroid_steel, /area/tether_away/beach/resort/janibar) "QY" = ( @@ -1832,11 +1832,11 @@ pixel_y = 26 }, /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, -/obj/item/weapon/reagent_containers/food/drinks/shaker, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/reagent_containers/food/drinks/shaker, /obj/item/clothing/glasses/sunglasses, -/obj/item/weapon/reagent_containers/glass/rag, +/obj/item/reagent_containers/glass/rag, /turf/simulated/floor/wood, /area/tether_away/beach/resort/janibar) "Rv" = ( @@ -1910,8 +1910,8 @@ /turf/simulated/floor/tiled/eris/cafe, /area/tether_away/beach/resort/kitchen) "SK" = ( -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, /obj/structure/table/rack/steel, /turf/simulated/floor/tiled/asteroid_steel, /area/tether_away/beach/resort/janibar) @@ -2132,7 +2132,7 @@ /area/tether_away/beach/resort/dorm2) "YY" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /turf/simulated/mineral/floor/cave{ name = "dirt" }, diff --git a/maps/expedition_vr/beach/submaps/BlastMine1.dmm b/maps/expedition_vr/beach/submaps/BlastMine1.dmm index 957517f9649..95eb5795d47 100644 --- a/maps/expedition_vr/beach/submaps/BlastMine1.dmm +++ b/maps/expedition_vr/beach/submaps/BlastMine1.dmm @@ -11,7 +11,7 @@ /area/submap/cave/BlastMine1) "d" = ( /obj/structure/table/rack, -/obj/item/weapon/syndie/c4explosive, +/obj/item/syndie/c4explosive, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/cave/BlastMine1) "e" = ( @@ -29,7 +29,7 @@ /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/cave/BlastMine1) "h" = ( -/obj/item/device/gps/internal/poi{ +/obj/item/gps/internal/poi{ gps_tag = "Unidentified Signal" }, /turf/simulated/wall/sandstone, @@ -40,7 +40,7 @@ /area/submap/cave/BlastMine1) "j" = ( /obj/structure/table/reinforced, -/obj/item/weapon/flame/lighter/zippo/c4detonator{ +/obj/item/flame/lighter/zippo/c4detonator{ detonator_mode = 1 }, /turf/simulated/mineral/floor/ignore_mapgen/cave, diff --git a/maps/expedition_vr/beach/submaps/Cliff1.dmm b/maps/expedition_vr/beach/submaps/Cliff1.dmm index f34c92b82c2..6464844b854 100644 --- a/maps/expedition_vr/beach/submaps/Cliff1.dmm +++ b/maps/expedition_vr/beach/submaps/Cliff1.dmm @@ -6,7 +6,7 @@ /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/template_noop) "c" = ( -/obj/item/weapon/ore, +/obj/item/ore, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/ore_cliff) "d" = ( diff --git a/maps/expedition_vr/beach/submaps/CrashedMedShuttle1.dmm b/maps/expedition_vr/beach/submaps/CrashedMedShuttle1.dmm index 483f640a0c7..02b1ddc0d1c 100644 --- a/maps/expedition_vr/beach/submaps/CrashedMedShuttle1.dmm +++ b/maps/expedition_vr/beach/submaps/CrashedMedShuttle1.dmm @@ -29,13 +29,13 @@ /turf/simulated/shuttle/wall, /area/submap/CrashedMedShuttle) "ah" = ( -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/CrashedMedShuttle) "ai" = ( -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /obj/effect/decal/cleanable/blood/oil, @@ -57,7 +57,7 @@ /turf/simulated/shuttle/floor/white, /area/submap/CrashedMedShuttle) "al" = ( -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /obj/machinery/light{ dir = 1 }, @@ -76,7 +76,7 @@ /turf/simulated/floor/outdoors/rocks/caves, /area/submap/CrashedMedShuttle) "ao" = ( -/obj/item/weapon/circuitboard/broken, +/obj/item/circuitboard/broken, /obj/structure/door_assembly/door_assembly_ext, /turf/simulated/shuttle/plating, /area/submap/CrashedMedShuttle) @@ -101,7 +101,7 @@ /turf/simulated/shuttle/floor/white, /area/submap/CrashedMedShuttle) "at" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /obj/structure/lattice, /turf/simulated/floor/outdoors/rocks, /area/submap/CrashedMedShuttle) @@ -130,7 +130,7 @@ /area/submap/CrashedMedShuttle) "az" = ( /obj/effect/decal/cleanable/blood/gibs/robot, -/obj/item/weapon/firstaid_arm_assembly, +/obj/item/firstaid_arm_assembly, /mob/living/simple_mob/animal/giant_spider/frost, /turf/simulated/shuttle/floor/white, /area/submap/CrashedMedShuttle) @@ -145,7 +145,7 @@ /area/submap/CrashedMedShuttle) "aC" = ( /obj/effect/decal/cleanable/blood/oil, -/obj/item/weapon/firstaid_arm_assembly, +/obj/item/firstaid_arm_assembly, /turf/simulated/shuttle/floor/white, /area/submap/CrashedMedShuttle) "aD" = ( @@ -184,7 +184,7 @@ /area/submap/CrashedMedShuttle) "aK" = ( /obj/structure/table/standard, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /obj/effect/spider/stickyweb, @@ -192,14 +192,14 @@ /area/submap/CrashedMedShuttle) "aL" = ( /obj/structure/grille/broken, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /obj/item/stack/rods, /turf/simulated/shuttle/plating, /area/submap/CrashedMedShuttle) "aM" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/outdoors/rocks/caves, /area/submap/CrashedMedShuttle) "aN" = ( @@ -207,7 +207,7 @@ /turf/simulated/floor/outdoors/rocks/caves, /area/submap/CrashedMedShuttle) "aO" = ( -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /obj/effect/spider/stickyweb, @@ -239,7 +239,7 @@ /area/submap/CrashedMedShuttle) "aU" = ( /obj/structure/table/standard, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /obj/random/medical, @@ -274,7 +274,7 @@ /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/CrashedMedShuttle) "bc" = ( -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /turf/simulated/floor/outdoors/rocks/caves, @@ -299,7 +299,7 @@ pixel_x = -32 }, /obj/structure/lattice, -/obj/item/device/gps/internal/poi, +/obj/item/gps/internal/poi, /obj/structure/flora/tree/sif, /turf/simulated/floor/outdoors/rocks/caves, /area/submap/CrashedMedShuttle) @@ -312,7 +312,7 @@ /area/submap/CrashedMedShuttle) "bh" = ( /obj/structure/grille/broken, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /turf/simulated/floor/outdoors/rocks/caves, @@ -323,9 +323,9 @@ /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/CrashedMedShuttle) "bj" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /obj/effect/spider/stickyweb, -/obj/item/weapon/beartrap{ +/obj/item/beartrap{ anchored = 1; deployed = 1; icon_state = "beartrap1" @@ -340,7 +340,7 @@ /area/submap/CrashedMedShuttle) "bl" = ( /obj/effect/spider/stickyweb, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/shuttle/floor/white, /area/submap/CrashedMedShuttle) "bm" = ( @@ -366,7 +366,7 @@ /area/submap/CrashedMedShuttle) "br" = ( /obj/structure/grille/broken, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/outdoors/rocks, /area/submap/CrashedMedShuttle) "bs" = ( @@ -381,7 +381,7 @@ /area/submap/CrashedMedShuttle) "bu" = ( /obj/effect/decal/remains/tajaran, -/obj/item/weapon/surgical/circular_saw, +/obj/item/surgical/circular_saw, /turf/simulated/floor/outdoors/rocks, /area/submap/CrashedMedShuttle) "bv" = ( @@ -390,7 +390,7 @@ /turf/simulated/floor/outdoors/rocks, /area/submap/CrashedMedShuttle) "bw" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /obj/structure/loot_pile/maint/technical, /obj/structure/lattice, /turf/simulated/mineral/floor/ignore_mapgen/cave, @@ -402,7 +402,7 @@ /turf/simulated/shuttle/floor/purple, /area/submap/CrashedMedShuttle) "by" = ( -/obj/item/weapon/circuitboard/broken, +/obj/item/circuitboard/broken, /turf/simulated/shuttle/floor/white, /area/submap/CrashedMedShuttle) "bz" = ( @@ -432,7 +432,7 @@ /area/submap/CrashedMedShuttle) "bD" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/adv, +/obj/item/storage/firstaid/adv, /turf/simulated/shuttle/floor/purple, /area/submap/CrashedMedShuttle) "bE" = ( @@ -446,7 +446,7 @@ /area/submap/CrashedMedShuttle) "bG" = ( /obj/structure/table/standard, -/obj/item/device/defib_kit/loaded, +/obj/item/defib_kit/loaded, /turf/simulated/shuttle/floor/white, /area/submap/CrashedMedShuttle) "bH" = ( @@ -456,7 +456,7 @@ /area/submap/CrashedMedShuttle) "bI" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/bodybags, +/obj/item/storage/box/bodybags, /turf/simulated/shuttle/floor/white, /area/submap/CrashedMedShuttle) "bJ" = ( @@ -467,11 +467,11 @@ /area/submap/CrashedMedShuttle) "bK" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/retractor, +/obj/item/surgical/retractor, /turf/simulated/shuttle/floor/white, /area/submap/CrashedMedShuttle) "bL" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /obj/structure/grille, /turf/simulated/shuttle/plating, /area/submap/CrashedMedShuttle) @@ -496,7 +496,7 @@ /obj/structure/closet/secure_closet/medical_wall/anesthetics{ pixel_x = 32 }, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /turf/simulated/shuttle/floor/white, @@ -516,11 +516,11 @@ "bR" = ( /obj/effect/decal/cleanable/blood/splatter, /obj/structure/loot_pile/surface/bones, -/obj/item/weapon/surgical/surgicaldrill, +/obj/item/surgical/surgicaldrill, /turf/simulated/shuttle/floor/white, /area/submap/CrashedMedShuttle) "bS" = ( -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /obj/structure/grille, @@ -528,12 +528,12 @@ /area/submap/CrashedMedShuttle) "bT" = ( /obj/structure/table/standard, -/obj/item/device/reagent_scanner/adv, +/obj/item/reagent_scanner/adv, /turf/simulated/shuttle/floor/purple, /area/submap/CrashedMedShuttle) "bU" = ( /obj/machinery/iv_drip, -/obj/item/weapon/reagent_containers/blood/empty, +/obj/item/reagent_containers/blood/empty, /turf/simulated/shuttle/floor/white, /area/submap/CrashedMedShuttle) "bV" = ( @@ -542,7 +542,7 @@ /area/submap/CrashedMedShuttle) "bW" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/masks, +/obj/item/storage/box/masks, /turf/simulated/shuttle/floor/white, /area/submap/CrashedMedShuttle) "bX" = ( @@ -552,7 +552,7 @@ /area/submap/CrashedMedShuttle) "bY" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/backpack/medic, +/obj/item/storage/backpack/medic, /obj/random/medical/lite, /turf/simulated/shuttle/floor/white, /area/submap/CrashedMedShuttle) @@ -575,8 +575,8 @@ /obj/structure/sign/periodic{ pixel_y = -32 }, -/obj/item/weapon/surgical/bonesetter, -/obj/item/weapon/surgical/scalpel, +/obj/item/surgical/bonesetter, +/obj/item/surgical/scalpel, /turf/simulated/shuttle/floor/white, /area/submap/CrashedMedShuttle) "cd" = ( @@ -587,8 +587,8 @@ /area/submap/CrashedMedShuttle) "ce" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/bonegel, -/obj/item/weapon/surgical/FixOVein, +/obj/item/surgical/bonegel, +/obj/item/surgical/FixOVein, /turf/simulated/shuttle/floor/white, /area/submap/CrashedMedShuttle) "cf" = ( @@ -605,12 +605,12 @@ /area/submap/CrashedMedShuttle) "cg" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, /turf/simulated/shuttle/floor/white, /area/submap/CrashedMedShuttle) "ch" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/syringes, +/obj/item/storage/box/syringes, /obj/effect/spider/stickyweb, /obj/machinery/light, /turf/simulated/shuttle/floor/white, diff --git a/maps/expedition_vr/beach/submaps/Mineshaft1.dmm b/maps/expedition_vr/beach/submaps/Mineshaft1.dmm index 45cfbc7b2ae..7c6fd382ad8 100644 --- a/maps/expedition_vr/beach/submaps/Mineshaft1.dmm +++ b/maps/expedition_vr/beach/submaps/Mineshaft1.dmm @@ -27,7 +27,7 @@ /area/submap/cave/AMine1) "i" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /turf/simulated/floor/tiled, /area/submap/cave/AMine1) "j" = ( @@ -36,7 +36,7 @@ /area/submap/cave/AMine1) "k" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/machinery/light{ icon_state = "tube1"; dir = 1 @@ -53,40 +53,40 @@ /turf/simulated/floor/tiled, /area/submap/cave/AMine1) "n" = ( -/obj/item/weapon/ore/gold, +/obj/item/ore/gold, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/cave/AMine1) "o" = ( -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/cave/AMine1) "p" = ( -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/cave/AMine1) "q" = ( /obj/structure/table/standard, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/tiled, /area/submap/cave/AMine1) "r" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/machinery/light, /turf/simulated/floor/tiled, /area/submap/cave/AMine1) @@ -108,8 +108,8 @@ /area/submap/cave/AMine1) "v" = ( /obj/structure/table/standard, -/obj/item/weapon/cell/high, -/obj/item/weapon/cell/high, +/obj/item/cell/high, +/obj/item/cell/high, /turf/simulated/floor, /area/submap/cave/AMine1) "w" = ( @@ -159,7 +159,7 @@ /area/submap/cave/AMine1) "G" = ( /obj/structure/table/rack, -/obj/item/weapon/pickaxe/drill, +/obj/item/pickaxe/drill, /turf/simulated/floor/tiled, /area/submap/cave/AMine1) "H" = ( @@ -186,7 +186,7 @@ /turf/simulated/floor/tiled, /area/submap/cave/AMine1) "M" = ( -/obj/item/weapon/stool, +/obj/item/stool, /turf/simulated/floor/tiled, /area/submap/cave/AMine1) "N" = ( diff --git a/maps/expedition_vr/beach/submaps/Rockb1.dmm b/maps/expedition_vr/beach/submaps/Rockb1.dmm index e85a8b4a56f..f6b9b134fcf 100644 --- a/maps/expedition_vr/beach/submaps/Rockb1.dmm +++ b/maps/expedition_vr/beach/submaps/Rockb1.dmm @@ -16,12 +16,12 @@ /area/submap/Rockb1) "f" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/lino, /area/submap/Rockb1) "g" = ( /obj/structure/closet/cabinet, -/obj/item/weapon/gun/projectile/pistol, +/obj/item/gun/projectile/pistol, /obj/item/ammo_magazine/m9mm/compact, /turf/simulated/floor/lino, /area/submap/Rockb1) @@ -51,7 +51,7 @@ /area/submap/Rockb1) "n" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/plating, /area/submap/Rockb1) "o" = ( @@ -80,7 +80,7 @@ /area/submap/Rockb1) "u" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /turf/simulated/floor/tiled, @@ -188,7 +188,7 @@ /area/submap/Rockb1) "K" = ( /obj/structure/table/standard, -/obj/item/weapon/pickaxe/drill, +/obj/item/pickaxe/drill, /turf/simulated/floor/tiled, /area/submap/Rockb1) "L" = ( @@ -199,12 +199,12 @@ /area/submap/Rockb1) "M" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical, /turf/simulated/floor/tiled, /area/submap/Rockb1) "N" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/floor/tiled, /area/submap/Rockb1) "O" = ( diff --git a/maps/expedition_vr/beach/submaps/Scave1.dmm b/maps/expedition_vr/beach/submaps/Scave1.dmm index 4aba16fdcec..592e7886261 100644 --- a/maps/expedition_vr/beach/submaps/Scave1.dmm +++ b/maps/expedition_vr/beach/submaps/Scave1.dmm @@ -17,8 +17,8 @@ /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/cave/Scave1) "f" = ( -/obj/item/weapon/spacecash/c100, -/obj/item/weapon/spacecash/c100, +/obj/item/spacecash/c100, +/obj/item/spacecash/c100, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/cave/Scave1) "g" = ( @@ -26,9 +26,9 @@ /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/cave/Scave1) "h" = ( -/obj/item/weapon/spacecash/c100, -/obj/item/weapon/spacecash/c100, -/obj/item/weapon/spacecash/c100, +/obj/item/spacecash/c100, +/obj/item/spacecash/c100, +/obj/item/spacecash/c100, /obj/effect/decal/remains, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/cave/Scave1) @@ -37,7 +37,7 @@ /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/cave/Scave1) "j" = ( -/obj/item/weapon/grenade/spawnergrenade/spider, +/obj/item/grenade/spawnergrenade/spider, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/cave/Scave1) "k" = ( @@ -53,7 +53,7 @@ /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/cave/Scave1) "n" = ( -/obj/item/device/flashlight, +/obj/item/flashlight, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/cave/Scave1) "o" = ( diff --git a/maps/expedition_vr/beach/submaps/SupplyDrop1.dmm b/maps/expedition_vr/beach/submaps/SupplyDrop1.dmm index e38e20010f8..75236122808 100644 --- a/maps/expedition_vr/beach/submaps/SupplyDrop1.dmm +++ b/maps/expedition_vr/beach/submaps/SupplyDrop1.dmm @@ -28,20 +28,20 @@ /area/submap/cave/SupplyDrop1) "h" = ( /obj/structure/closet/crate, -/obj/item/weapon/gun/energy/stunrevolver, -/obj/item/weapon/gun/energy/stunrevolver, -/obj/item/weapon/storage/box/flare, +/obj/item/gun/energy/stunrevolver, +/obj/item/gun/energy/stunrevolver, +/obj/item/storage/box/flare, /obj/item/stack/marker_beacon/ten, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, /obj/item/trash/tastybread, /obj/item/trash/tastybread, /obj/item/trash/sosjerky, /obj/item/trash/sosjerky, /obj/item/trash/liquidfood, /obj/item/trash/liquidfood, -/obj/item/weapon/flame/lighter/random, -/obj/item/device/gps, +/obj/item/flame/lighter/random, +/obj/item/gps, /turf/simulated/floor/reinforced, /area/submap/cave/SupplyDrop1) "i" = ( diff --git a/maps/expedition_vr/beach/submaps/SwordCave.dmm b/maps/expedition_vr/beach/submaps/SwordCave.dmm index f14417c7827..e9f5e0e6d16 100644 --- a/maps/expedition_vr/beach/submaps/SwordCave.dmm +++ b/maps/expedition_vr/beach/submaps/SwordCave.dmm @@ -27,7 +27,7 @@ /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/cave/swordcave) "i" = ( -/obj/item/device/gps/explorer/on, +/obj/item/gps/explorer/on, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/cave/swordcave) "j" = ( diff --git a/maps/expedition_vr/beach/submaps/crashed_ufo.dmm b/maps/expedition_vr/beach/submaps/crashed_ufo.dmm index 4ba1a0d87df..897f5da41d2 100644 --- a/maps/expedition_vr/beach/submaps/crashed_ufo.dmm +++ b/maps/expedition_vr/beach/submaps/crashed_ufo.dmm @@ -41,7 +41,7 @@ /turf/simulated/shuttle/floor/alienplating, /area/submap/cave/crashed_ufo) "al" = ( -/obj/item/weapon/tool/wrench/alien, +/obj/item/tool/wrench/alien, /turf/simulated/shuttle/floor/alienplating, /area/submap/cave/crashed_ufo) "am" = ( @@ -66,7 +66,7 @@ /area/submap/cave/crashed_ufo) "ar" = ( /obj/structure/table/alien, -/obj/item/weapon/paper/alien{ +/obj/item/paper/alien{ icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]" }, @@ -86,7 +86,7 @@ /area/submap/cave/crashed_ufo) "av" = ( /obj/structure/table/alien, -/obj/item/weapon/paper/alien{ +/obj/item/paper/alien{ icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]" }, @@ -121,11 +121,11 @@ /turf/simulated/shuttle/floor/alienplating, /area/submap/cave/crashed_ufo) "aB" = ( -/obj/item/weapon/tool/screwdriver/alien, +/obj/item/tool/screwdriver/alien, /turf/simulated/shuttle/floor/alienplating, /area/submap/cave/crashed_ufo) "aC" = ( -/obj/item/weapon/tool/wirecutters/alien, +/obj/item/tool/wirecutters/alien, /turf/simulated/shuttle/floor/alienplating, /area/submap/cave/crashed_ufo) "aD" = ( @@ -133,7 +133,7 @@ /turf/simulated/shuttle/floor/alienplating, /area/submap/cave/crashed_ufo) "aE" = ( -/obj/item/device/multitool/alien, +/obj/item/multitool/alien, /turf/simulated/shuttle/floor/alienplating, /area/submap/cave/crashed_ufo) "aF" = ( @@ -165,7 +165,7 @@ /turf/simulated/shuttle/floor/alienplating, /area/submap/cave/crashed_ufo) "aK" = ( -/obj/item/weapon/tool/crowbar/alien, +/obj/item/tool/crowbar/alien, /turf/simulated/shuttle/floor/alienplating, /area/submap/cave/crashed_ufo) "aL" = ( @@ -179,11 +179,11 @@ /area/submap/cave/crashed_ufo) "aN" = ( /obj/structure/table/alien, -/obj/item/weapon/paper/alien{ +/obj/item/paper/alien{ icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]" }, -/obj/item/device/gps/internal/poi, +/obj/item/gps/internal/poi, /turf/simulated/shuttle/floor/alienplating, /area/submap/cave/crashed_ufo) "aO" = ( @@ -200,7 +200,7 @@ /area/submap/cave/crashed_ufo) "aQ" = ( /obj/structure/table/alien, -/obj/item/weapon/weldingtool/alien, +/obj/item/weldingtool/alien, /turf/simulated/shuttle/floor/alienplating, /area/submap/cave/crashed_ufo) "aR" = ( @@ -213,7 +213,7 @@ /area/submap/cave/crashed_ufo) "aT" = ( /obj/structure/closet/alien, -/obj/item/weapon/paper/alien, +/obj/item/paper/alien, /turf/simulated/shuttle/floor/alien, /area/submap/cave/crashed_ufo) "aU" = ( @@ -227,21 +227,21 @@ /area/submap/cave/crashed_ufo) "aW" = ( /obj/structure/table/alien, -/obj/item/weapon/surgical/circular_saw/alien, +/obj/item/surgical/circular_saw/alien, /turf/simulated/shuttle/floor/alien, /area/submap/cave/crashed_ufo) "aX" = ( /obj/structure/table/alien, -/obj/item/weapon/surgical/FixOVein/alien, +/obj/item/surgical/FixOVein/alien, /turf/simulated/shuttle/floor/alien, /area/submap/cave/crashed_ufo) "aY" = ( /obj/structure/table/alien, -/obj/item/weapon/surgical/scalpel/alien, +/obj/item/surgical/scalpel/alien, /turf/simulated/shuttle/floor/alien, /area/submap/cave/crashed_ufo) "aZ" = ( -/obj/item/weapon/surgical/hemostat/alien, +/obj/item/surgical/hemostat/alien, /turf/simulated/shuttle/floor/alien, /area/submap/cave/crashed_ufo) "ba" = ( @@ -258,7 +258,7 @@ /area/submap/cave/crashed_ufo) "bd" = ( /obj/structure/table/alien, -/obj/item/weapon/surgical/bone_clamp/alien, +/obj/item/surgical/bone_clamp/alien, /turf/simulated/shuttle/floor/alien, /area/submap/cave/crashed_ufo) "be" = ( @@ -292,7 +292,7 @@ /turf/simulated/shuttle/floor/alienplating, /area/submap/cave/crashed_ufo) "bk" = ( -/obj/item/weapon/cell/device/weapon/empty, +/obj/item/cell/device/weapon/empty, /turf/simulated/shuttle/floor/alienplating, /area/submap/cave/crashed_ufo) "bl" = ( @@ -303,21 +303,21 @@ /turf/simulated/shuttle/floor/alienplating, /area/submap/cave/crashed_ufo) "bm" = ( -/obj/item/weapon/gun/energy/retro/empty, +/obj/item/gun/energy/retro/empty, /turf/simulated/shuttle/floor/alienplating, /area/submap/cave/crashed_ufo) "bn" = ( -/obj/item/device/gps{ +/obj/item/gps{ gps_tag = "COMDOM1" }, /turf/simulated/shuttle/floor/alienplating, /area/submap/cave/crashed_ufo) "bo" = ( -/obj/item/weapon/reagent_containers/hypospray/autoinjector/used, +/obj/item/reagent_containers/hypospray/autoinjector/used, /turf/simulated/shuttle/floor/alienplating, /area/submap/cave/crashed_ufo) "bp" = ( -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/burn, +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/burn, /turf/simulated/shuttle/floor/alienplating, /area/submap/cave/crashed_ufo) "bq" = ( @@ -331,8 +331,8 @@ /turf/simulated/shuttle/floor/alienplating, /area/submap/cave/crashed_ufo) "bs" = ( -/obj/item/weapon/storage/belt/utility/full, -/obj/item/device/multitool, +/obj/item/storage/belt/utility/full, +/obj/item/multitool, /turf/simulated/shuttle/floor/alienplating, /area/submap/cave/crashed_ufo) "bt" = ( diff --git a/maps/expedition_vr/beach/submaps/crashed_ufo_frigate.dmm b/maps/expedition_vr/beach/submaps/crashed_ufo_frigate.dmm index a2f60e1ef63..400f2a2f5d1 100644 --- a/maps/expedition_vr/beach/submaps/crashed_ufo_frigate.dmm +++ b/maps/expedition_vr/beach/submaps/crashed_ufo_frigate.dmm @@ -239,7 +239,7 @@ /area/submap/cave/crashed_ufo_frigate) "bf" = ( /obj/structure/table/alien, -/obj/item/weapon/paper/alien{ +/obj/item/paper/alien{ icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]" }, @@ -273,8 +273,8 @@ /area/submap/cave/crashed_ufo_frigate) "bm" = ( /obj/structure/table/alien, -/obj/item/weapon/paper/alien, -/obj/item/weapon/paper/alien, +/obj/item/paper/alien, +/obj/item/paper/alien, /turf/simulated/shuttle/floor/alienplating, /area/submap/cave/crashed_ufo_frigate) "bn" = ( @@ -316,7 +316,7 @@ /turf/simulated/shuttle/floor/alienplating, /area/submap/cave/crashed_ufo_frigate) "bv" = ( -/obj/item/weapon/surgical/bone_clamp/alien, +/obj/item/surgical/bone_clamp/alien, /obj/structure/closet/alien, /turf/simulated/shuttle/floor/alienplating, /area/submap/cave/crashed_ufo_frigate) @@ -330,7 +330,7 @@ desc = "It vaguely like a star. It looks like something an alien admiral might've worn. Probably."; name = "alien admiral's medal" }, -/obj/item/weapon/telecube/precursor/mated/zone, +/obj/item/telecube/precursor/mated/zone, /obj/item/clothing/head/helmet/alien/tank, /turf/simulated/shuttle/floor/alien, /area/submap/cave/crashed_ufo_frigate) @@ -399,11 +399,11 @@ /area/submap/cave/crashed_ufo_frigate) "bL" = ( /obj/structure/table/alien, -/obj/item/weapon/paper/alien{ +/obj/item/paper/alien{ icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]" }, -/obj/item/device/gps/internal/poi, +/obj/item/gps/internal/poi, /turf/simulated/shuttle/floor/alienplating, /area/submap/cave/crashed_ufo_frigate) "bM" = ( @@ -417,7 +417,7 @@ /obj/structure/window/phoronreinforced{ dir = 4 }, -/obj/item/weapon/paper/alien{ +/obj/item/paper/alien{ icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]" }, @@ -429,7 +429,7 @@ /area/submap/cave/crashed_ufo_frigate) "bP" = ( /obj/structure/table/alien, -/obj/item/weapon/weldingtool/alien, +/obj/item/weldingtool/alien, /turf/simulated/shuttle/floor/alienplating, /area/submap/cave/crashed_ufo_frigate) "bQ" = ( @@ -437,7 +437,7 @@ /obj/structure/window/phoronreinforced{ dir = 4 }, -/obj/item/weapon/paper/alien{ +/obj/item/paper/alien{ icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]" }, @@ -470,7 +470,7 @@ "bV" = ( /obj/structure/table/alien, /obj/structure/window/phoronreinforced, -/obj/item/weapon/paper/alien, +/obj/item/paper/alien, /turf/simulated/shuttle/floor/alien, /area/submap/cave/crashed_ufo_frigate) "bW" = ( @@ -496,7 +496,7 @@ /area/submap/cave/crashed_ufo_frigate) "ca" = ( /obj/structure/table/alien, -/obj/item/weapon/paper/alien{ +/obj/item/paper/alien{ icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]" }, diff --git a/maps/expedition_vr/beach/submaps/crashedcontainmentshuttle.dmm b/maps/expedition_vr/beach/submaps/crashedcontainmentshuttle.dmm index ddc3096293c..2cf8388fa7c 100644 --- a/maps/expedition_vr/beach/submaps/crashedcontainmentshuttle.dmm +++ b/maps/expedition_vr/beach/submaps/crashedcontainmentshuttle.dmm @@ -4,7 +4,7 @@ /area/submap/crashedcontainmentshuttle) "ab" = ( /obj/structure/grille, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /turf/simulated/mineral/floor/ignore_mapgen/cave, @@ -18,7 +18,7 @@ /turf/simulated/floor/plating, /area/submap/crashedcontainmentshuttle) "ae" = ( -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /turf/simulated/mineral/floor/ignore_mapgen/cave, @@ -37,7 +37,7 @@ /turf/simulated/floor/outdoors/rocks/caves, /area/submap/crashedcontainmentshuttle) "aj" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/crashedcontainmentshuttle) "ak" = ( @@ -66,7 +66,7 @@ /area/submap/crashedcontainmentshuttle) "aq" = ( /obj/structure/grille, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/plating, /area/submap/crashedcontainmentshuttle) "ar" = ( @@ -88,7 +88,7 @@ /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/crashedcontainmentshuttle) "au" = ( -/obj/item/weapon/circuitboard/broken, +/obj/item/circuitboard/broken, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/crashedcontainmentshuttle) "av" = ( @@ -164,7 +164,7 @@ /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/crashedcontainmentshuttle) "aK" = ( -/obj/item/weapon/material/knife/ritual, +/obj/item/material/knife/ritual, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/crashedcontainmentshuttle) "aL" = ( @@ -194,19 +194,19 @@ /area/submap/crashedcontainmentshuttle) "aR" = ( /obj/structure/grille, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /turf/simulated/floor/plating, /area/submap/crashedcontainmentshuttle) "aS" = ( -/obj/item/weapon/circuitboard/broken, +/obj/item/circuitboard/broken, /obj/effect/decal/remains/human, -/obj/item/weapon/gun/energy/laser, +/obj/item/gun/energy/laser, /turf/simulated/shuttle/floor/black, /area/submap/crashedcontainmentshuttle) "aT" = ( -/obj/item/device/gps/internal/poi, +/obj/item/gps/internal/poi, /turf/simulated/shuttle/floor/red, /area/submap/crashedcontainmentshuttle) "aU" = ( @@ -228,7 +228,7 @@ /area/submap/crashedcontainmentshuttle) "aY" = ( /obj/structure/frame, -/obj/item/weapon/circuitboard/broken, +/obj/item/circuitboard/broken, /turf/simulated/shuttle/floor/black, /area/submap/crashedcontainmentshuttle) "aZ" = ( @@ -240,16 +240,16 @@ /turf/simulated/shuttle/floor/red, /area/submap/crashedcontainmentshuttle) "bb" = ( -/obj/item/weapon/material/knife/ritual, +/obj/item/material/knife/ritual, /obj/effect/decal/cleanable/blood, /turf/simulated/shuttle/floor/red, /area/submap/crashedcontainmentshuttle) "bc" = ( -/obj/item/weapon/circuitboard/broken, +/obj/item/circuitboard/broken, /turf/simulated/shuttle/floor/black, /area/submap/crashedcontainmentshuttle) "bd" = ( -/obj/item/weapon/circuitboard/broken, +/obj/item/circuitboard/broken, /obj/structure/bed/chair/office/dark{ dir = 4 }, @@ -274,7 +274,7 @@ /turf/simulated/shuttle/floor/red, /area/submap/crashedcontainmentshuttle) "bi" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/plating, /area/submap/crashedcontainmentshuttle) "bj" = ( @@ -324,7 +324,7 @@ /turf/simulated/shuttle/floor/yellow, /area/submap/crashedcontainmentshuttle) "bs" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/template_noop, /area/submap/crashedcontainmentshuttle) "bt" = ( @@ -343,7 +343,7 @@ "bw" = ( /obj/structure/closet/walllocker/emerglocker/north, /obj/structure/frame, -/obj/item/weapon/circuitboard/broken, +/obj/item/circuitboard/broken, /turf/simulated/shuttle/floor/white, /area/submap/crashedcontainmentshuttle) "bx" = ( @@ -356,7 +356,7 @@ /area/submap/crashedcontainmentshuttle) "bz" = ( /obj/item/frame/mirror, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /turf/simulated/shuttle/wall/dark, @@ -385,7 +385,7 @@ }, /obj/effect/gibspawner/generic, /obj/effect/decal/remains/human, -/obj/item/weapon/card/id/syndicate{ +/obj/item/card/id/syndicate{ age = "\\42"; blood_type = "\\O+"; desc = "A strange ID card."; @@ -418,7 +418,7 @@ density = 0; icon_state = "brokengrille" }, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /obj/item/stack/rods, @@ -454,7 +454,7 @@ "bN" = ( /obj/effect/decal/cleanable/liquid_fuel, /obj/effect/decal/remains/human, -/obj/item/weapon/flame/lighter/random, +/obj/item/flame/lighter/random, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/crashedcontainmentshuttle) "bO" = ( diff --git a/maps/expedition_vr/beach/submaps/crystal1.dmm b/maps/expedition_vr/beach/submaps/crystal1.dmm index 6ccbd2e56e5..e21f36c8a05 100644 --- a/maps/expedition_vr/beach/submaps/crystal1.dmm +++ b/maps/expedition_vr/beach/submaps/crystal1.dmm @@ -10,7 +10,7 @@ /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/cave/crystal1) "d" = ( -/obj/item/weapon/ore/diamond, +/obj/item/ore/diamond, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/cave/crystal1) diff --git a/maps/expedition_vr/beach/submaps/crystal2.dmm b/maps/expedition_vr/beach/submaps/crystal2.dmm index d5ef5a4a00d..d2ac4f1cefc 100644 --- a/maps/expedition_vr/beach/submaps/crystal2.dmm +++ b/maps/expedition_vr/beach/submaps/crystal2.dmm @@ -10,7 +10,7 @@ /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/cave/crystal2) "d" = ( -/obj/item/weapon/ore/diamond, +/obj/item/ore/diamond, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/cave/crystal2) diff --git a/maps/expedition_vr/beach/submaps/crystal3.dmm b/maps/expedition_vr/beach/submaps/crystal3.dmm index b8fad2723c0..f9842d4a4a5 100644 --- a/maps/expedition_vr/beach/submaps/crystal3.dmm +++ b/maps/expedition_vr/beach/submaps/crystal3.dmm @@ -13,7 +13,7 @@ /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/cave/crystal3) "e" = ( -/obj/item/weapon/ore/diamond, +/obj/item/ore/diamond, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/cave/crystal3) diff --git a/maps/expedition_vr/beach/submaps/deadBeacon.dmm b/maps/expedition_vr/beach/submaps/deadBeacon.dmm index eda6b1e6dcc..daba723193d 100644 --- a/maps/expedition_vr/beach/submaps/deadBeacon.dmm +++ b/maps/expedition_vr/beach/submaps/deadBeacon.dmm @@ -49,12 +49,12 @@ /turf/simulated/floor/tiled/asteroid_steel, /area/submap/cave/deadBeacon) "l" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/plating, /area/submap/cave/deadBeacon) "m" = ( /obj/structure/table/steel, -/obj/item/weapon/circuitboard/comm_server, +/obj/item/circuitboard/comm_server, /obj/machinery/light{ dir = 8; status = 1 @@ -65,7 +65,7 @@ /turf/simulated/floor/tiled/asteroid_steel, /area/submap/cave/deadBeacon) "o" = ( -/obj/item/weapon/paper/crumpled{ +/obj/item/paper/crumpled{ info = "Sampatti Relay Sif-833
      Decryption Key for 12-04-2488:
      849B0022FBA920C244
      Eyes Only.
      The insider who knows all the secrets can bring down Lanka."; name = "Dusty Note" }, @@ -117,7 +117,7 @@ /turf/simulated/floor/tiled/asteroid_steel, /area/submap/cave/deadBeacon) "v" = ( -/obj/item/weapon/circuitboard/broken, +/obj/item/circuitboard/broken, /turf/simulated/floor/tiled/asteroid_steel, /area/submap/cave/deadBeacon) "w" = ( @@ -146,7 +146,7 @@ /turf/simulated/floor/tiled/asteroid_steel, /area/submap/cave/deadBeacon) "A" = ( -/obj/item/weapon/circuitboard/broken, +/obj/item/circuitboard/broken, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/cave/deadBeacon) "B" = ( @@ -162,12 +162,12 @@ /area/submap/cave/deadBeacon) "D" = ( /obj/item/trash/cigbutt, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /obj/machinery/light, /turf/simulated/floor/tiled/asteroid_steel, /area/submap/cave/deadBeacon) "E" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/tiled/asteroid_steel, /area/submap/cave/deadBeacon) "F" = ( diff --git a/maps/expedition_vr/beach/submaps/deadly_rabbit_vr.dmm b/maps/expedition_vr/beach/submaps/deadly_rabbit_vr.dmm index e039d912331..d4800dadf04 100644 --- a/maps/expedition_vr/beach/submaps/deadly_rabbit_vr.dmm +++ b/maps/expedition_vr/beach/submaps/deadly_rabbit_vr.dmm @@ -18,7 +18,7 @@ /turf/simulated/mineral/ignore_mapgen/cave, /area/template_noop) "m" = ( -/obj/item/weapon/bone/skull, +/obj/item/bone/skull, /obj/effect/decal/cleanable/blood, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/template_noop) @@ -30,16 +30,16 @@ /area/template_noop) "q" = ( /obj/effect/decal/cleanable/blood, -/obj/item/weapon/bone, -/obj/item/weapon/bone/skull, +/obj/item/bone, +/obj/item/bone/skull, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/template_noop) "r" = ( -/obj/item/weapon/bone, +/obj/item/bone, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/template_noop) "s" = ( -/obj/item/weapon/bone/ribs, +/obj/item/bone/ribs, /obj/effect/decal/cleanable/blood, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/template_noop) @@ -49,21 +49,21 @@ /area/template_noop) "u" = ( /obj/effect/decal/cleanable/blood, -/obj/item/weapon/bone/skull, +/obj/item/bone/skull, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/template_noop) "v" = ( -/obj/item/weapon/grenade/explosive/frag, +/obj/item/grenade/explosive/frag, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/template_noop) "y" = ( -/obj/item/weapon/bone, -/obj/item/weapon/bone/ribs, +/obj/item/bone, +/obj/item/bone/ribs, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/template_noop) "A" = ( /obj/effect/decal/cleanable/blood, -/obj/item/weapon/bone, +/obj/item/bone, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/template_noop) "C" = ( @@ -81,8 +81,8 @@ /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/template_noop) "F" = ( -/obj/item/weapon/bone, -/obj/item/weapon/bone/skull, +/obj/item/bone, +/obj/item/bone/skull, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/template_noop) "I" = ( @@ -93,7 +93,7 @@ /area/template_noop) "J" = ( /obj/effect/decal/cleanable/blood, -/obj/item/weapon/bone/ribs, +/obj/item/bone/ribs, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/template_noop) "K" = ( @@ -108,11 +108,11 @@ /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/template_noop) "P" = ( -/obj/item/weapon/bone/skull, +/obj/item/bone/skull, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/template_noop) "Q" = ( -/obj/item/weapon/bone, +/obj/item/bone, /obj/structure/loot_pile/surface/bones, /obj/effect/decal/cleanable/blood, /turf/simulated/mineral/floor/ignore_mapgen/cave, @@ -122,15 +122,15 @@ /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/template_noop) "U" = ( -/obj/item/weapon/bone/ribs, +/obj/item/bone/ribs, /obj/item/clothing/suit/storage/hooded/knight, -/obj/item/weapon/bone/skull, +/obj/item/bone/skull, /obj/effect/decal/cleanable/blood, /obj/item/clothing/shoes/knight/black, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/template_noop) "V" = ( -/obj/item/weapon/bone, +/obj/item/bone, /obj/effect/decal/cleanable/blood, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/template_noop) diff --git a/maps/expedition_vr/beach/submaps/deadspy.dmm b/maps/expedition_vr/beach/submaps/deadspy.dmm index e362c401e62..bc3a09a89ff 100644 --- a/maps/expedition_vr/beach/submaps/deadspy.dmm +++ b/maps/expedition_vr/beach/submaps/deadspy.dmm @@ -14,7 +14,7 @@ /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/deadspy) "d" = ( -/obj/item/weapon/flamethrower, +/obj/item/flamethrower, /obj/effect/decal/cleanable/liquid_fuel/flamethrower_fuel, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/deadspy) @@ -44,18 +44,18 @@ /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/deadspy) "j" = ( -/obj/item/weapon/material/butterfly, +/obj/item/material/butterfly, /obj/effect/decal/cleanable/liquid_fuel, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/deadspy) "k" = ( /obj/effect/decal/remains/human, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /obj/item/clothing/head/hardhat, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/deadspy) "l" = ( -/obj/item/weapon/flame/lighter/zippo, +/obj/item/flame/lighter/zippo, /obj/effect/decal/cleanable/liquid_fuel, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/deadspy) @@ -83,7 +83,7 @@ /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/deadspy) "p" = ( -/obj/item/weapon/deadringer, +/obj/item/deadringer, /obj/effect/decal/cleanable/liquid_fuel, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/deadspy) @@ -95,11 +95,11 @@ /area/submap/deadspy) "r" = ( /obj/effect/decal/cleanable/liquid_fuel, -/obj/item/weapon/storage/fancy/cigarettes/professionals, +/obj/item/storage/fancy/cigarettes/professionals, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/deadspy) "s" = ( -/obj/item/weapon/card/emag_broken, +/obj/item/card/emag_broken, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/deadspy) "t" = ( diff --git a/maps/expedition_vr/beach/submaps/digsite.dmm b/maps/expedition_vr/beach/submaps/digsite.dmm index 8f8d0d70859..d3ca191cbc8 100644 --- a/maps/expedition_vr/beach/submaps/digsite.dmm +++ b/maps/expedition_vr/beach/submaps/digsite.dmm @@ -22,7 +22,7 @@ /turf/simulated/floor/plating/external, /area/submap/cave/digsite) "h" = ( -/obj/item/weapon/ore, +/obj/item/ore, /turf/simulated/floor/plating/external, /area/submap/cave/digsite) "i" = ( @@ -55,7 +55,7 @@ /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/cave/digsite) "p" = ( -/obj/item/weapon/ore, +/obj/item/ore, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/cave/digsite) "q" = ( @@ -71,7 +71,7 @@ /area/submap/cave/digsite) "t" = ( /obj/item/frame/apc, -/obj/item/weapon/module/power_control, +/obj/item/module/power_control, /turf/simulated/floor/plating/external, /area/submap/cave/digsite) "u" = ( @@ -82,8 +82,8 @@ /area/submap/cave/digsite) "v" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/excavation, -/obj/item/device/measuring_tape, +/obj/item/storage/excavation, +/obj/item/measuring_tape, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/cave/digsite) "w" = ( @@ -107,12 +107,12 @@ /area/submap/cave/digsite) "z" = ( /obj/structure/table/steel, -/obj/item/weapon/folder, +/obj/item/folder, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/cave/digsite) "A" = ( /obj/structure/table/rack, -/obj/item/weapon/pickaxe, +/obj/item/pickaxe, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/cave/digsite) "B" = ( @@ -130,7 +130,7 @@ /area/submap/cave/digsite) "E" = ( /obj/structure/table/rack, -/obj/item/weapon/shovel, +/obj/item/shovel, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/cave/digsite) "F" = ( @@ -148,8 +148,8 @@ /area/submap/cave/digsite) "I" = ( /obj/structure/table/steel, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/storage/box/samplebags, +/obj/item/tool/wrench, +/obj/item/storage/box/samplebags, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/cave/digsite) "J" = ( diff --git a/maps/expedition_vr/beach/submaps/excavation1.dmm b/maps/expedition_vr/beach/submaps/excavation1.dmm index 84484ccd571..1d6d8b70443 100644 --- a/maps/expedition_vr/beach/submaps/excavation1.dmm +++ b/maps/expedition_vr/beach/submaps/excavation1.dmm @@ -58,11 +58,11 @@ "m" = ( /obj/structure/table/sifwoodentable, /obj/item/mecha_parts/mecha_equipment/tool/drill/bore, -/obj/item/weapon/ore/marble, +/obj/item/ore/marble, /turf/simulated/floor/outdoors/rocks/caves, /area/submap/Excavation) "n" = ( -/obj/item/weapon/ore, +/obj/item/ore, /turf/simulated/floor/outdoors/rocks/caves, /area/submap/Excavation) "o" = ( @@ -88,15 +88,15 @@ /turf/simulated/floor/outdoors/rocks/caves, /area/submap/Excavation) "s" = ( -/obj/item/weapon/ore/marble, +/obj/item/ore/marble, /turf/simulated/floor/outdoors/rocks/caves, /area/submap/Excavation) "t" = ( -/obj/item/weapon/ore/gold, +/obj/item/ore/gold, /turf/simulated/floor/outdoors/rocks/caves, /area/submap/Excavation) "u" = ( -/obj/item/weapon/ore/diamond, +/obj/item/ore/diamond, /turf/simulated/floor/outdoors/rocks/caves, /area/submap/Excavation) "v" = ( @@ -105,7 +105,7 @@ /area/submap/Excavation) "w" = ( /obj/structure/table/sifwoodentable, -/obj/item/weapon/pickaxe/jackhammer, +/obj/item/pickaxe/jackhammer, /turf/simulated/floor/outdoors/rocks/caves, /area/submap/Excavation) "x" = ( @@ -120,14 +120,14 @@ /area/submap/Excavation) "z" = ( /obj/structure/table/sifwoodentable, -/obj/item/weapon/grenade/chem_grenade/metalfoam, -/obj/item/weapon/grenade/chem_grenade/metalfoam, -/obj/item/weapon/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, /turf/simulated/floor/outdoors/rocks/caves, /area/submap/Excavation) "A" = ( /obj/structure/table/sifwoodentable, -/obj/item/weapon/mining_scanner, +/obj/item/mining_scanner, /turf/simulated/floor/outdoors/rocks/caves, /area/submap/Excavation) "B" = ( diff --git a/maps/expedition_vr/beach/submaps/lava_trench.dmm b/maps/expedition_vr/beach/submaps/lava_trench.dmm index e9c6006d158..36f3ce3614d 100644 --- a/maps/expedition_vr/beach/submaps/lava_trench.dmm +++ b/maps/expedition_vr/beach/submaps/lava_trench.dmm @@ -332,8 +332,8 @@ /area/submap/lava_trench) "bd" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/excavation, -/obj/item/device/measuring_tape, +/obj/item/storage/excavation, +/obj/item/measuring_tape, /obj/effect/floor_decal/corner_oldtile/purple{ icon_state = "corner_oldtile"; dir = 4 @@ -501,12 +501,12 @@ /area/submap/lava_trench/outpost) "bC" = ( /obj/structure/table/rack, -/obj/item/weapon/shovel, +/obj/item/shovel, /obj/effect/floor_decal/corner_oldtile/purple/full{ icon_state = "corner_oldtile_full"; dir = 1 }, -/obj/item/weapon/pickaxe/drill, +/obj/item/pickaxe/drill, /turf/simulated/floor/tiled/old_tile, /area/submap/lava_trench/outpost) "bD" = ( @@ -530,7 +530,7 @@ "bG" = ( /obj/effect/floor_decal/corner_oldtile/purple, /obj/structure/table/steel, -/obj/item/device/xenoarch_multi_tool, +/obj/item/xenoarch_multi_tool, /turf/simulated/floor/tiled/old_tile, /area/submap/lava_trench/outpost) "bH" = ( @@ -538,7 +538,7 @@ /turf/simulated/floor/tiled/old_tile, /area/submap/lava_trench/outpost) "bI" = ( -/obj/item/device/gps/science{ +/obj/item/gps/science{ gps_tag = "CRYSTALS" }, /turf/simulated/floor/tiled/old_tile, @@ -615,7 +615,7 @@ pixel_y = 28 }, /obj/structure/table/standard, -/obj/item/device/healthanalyzer/improved, +/obj/item/healthanalyzer/improved, /turf/simulated/floor/tiled/old_tile, /area/submap/lava_trench/outpost) "bT" = ( @@ -639,7 +639,7 @@ icon_state = "corner_oldtile_full"; dir = 4 }, -/obj/item/weapon/storage/box/samplebags, +/obj/item/storage/box/samplebags, /obj/structure/table/steel, /obj/item/stack/flag/red, /turf/simulated/floor/tiled/old_tile, @@ -650,7 +650,7 @@ /area/submap/lava_trench) "bZ" = ( /obj/structure/table/steel, -/obj/item/weapon/stock_parts/subspace/crystal, +/obj/item/stock_parts/subspace/crystal, /turf/simulated/floor/tiled/asteroid_steel, /area/submap/lava_trench) "ca" = ( @@ -689,16 +689,16 @@ /turf/simulated/floor/tiled/asteroid_steel, /area/submap/lava_trench) "cq" = ( -/obj/item/weapon/banner/nt, +/obj/item/banner/nt, /turf/simulated/floor/tiled/asteroid_steel, /area/submap/lava_trench) "cr" = ( /obj/structure/table/steel, -/obj/item/weapon/material/shard/phoron, +/obj/item/material/shard/phoron, /turf/simulated/floor/tiled/asteroid_steel, /area/submap/lava_trench) "cs" = ( -/obj/item/weapon/banner/nt, +/obj/item/banner/nt, /turf/simulated/floor/outdoors/rocks/caves, /area/submap/lava_trench) diff --git a/maps/expedition_vr/beach/submaps/lost_explorer.dmm b/maps/expedition_vr/beach/submaps/lost_explorer.dmm index 683acd2757e..fa528e75a6d 100644 --- a/maps/expedition_vr/beach/submaps/lost_explorer.dmm +++ b/maps/expedition_vr/beach/submaps/lost_explorer.dmm @@ -3,7 +3,7 @@ /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/cave/lost_explorer) "b" = ( -/obj/item/device/geiger, +/obj/item/geiger, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/cave/lost_explorer) "c" = ( @@ -11,7 +11,7 @@ /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/cave/lost_explorer) "d" = ( -/obj/item/weapon/material/knife/tacknife/survival, +/obj/item/material/knife/tacknife/survival, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/cave/lost_explorer) "e" = ( @@ -25,15 +25,15 @@ /area/submap/cave/lost_explorer) "g" = ( /obj/item/clothing/suit/storage/hooded/explorer, -/obj/item/weapon/cell/device, +/obj/item/cell/device, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/cave/lost_explorer) "h" = ( -/obj/item/device/gps/explorer, +/obj/item/gps/explorer, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/cave/lost_explorer) "i" = ( -/obj/item/device/flashlight/lantern, +/obj/item/flashlight/lantern, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/cave/lost_explorer) diff --git a/maps/expedition_vr/beach/submaps/mountains.dm b/maps/expedition_vr/beach/submaps/mountains.dm index 9150c690c28..c3bfdfe01aa 100644 --- a/maps/expedition_vr/beach/submaps/mountains.dm +++ b/maps/expedition_vr/beach/submaps/mountains.dm @@ -1,7 +1,7 @@ // This causes PoI maps to get 'checked' and compiled, when undergoing a unit test. // This is so CI can validate PoIs, and ensure future changes don't break PoIs, as PoIs are loaded at runtime and the compiler can't catch errors. // When adding a new PoI, please add it to this list. -#if MAP_TEST +#ifdef MAP_TEST #include "deadBeacon.dmm" #include "prepper1.dmm" #include "quarantineshuttle.dmm" @@ -68,82 +68,82 @@ /datum/map_template/surface/mountains/normal/deadBeacon name = "Abandoned Relay" desc = "An unregistered comms relay, abandoned to the elements." - mappath = 'maps/expedition_vr/beach/submaps/deadBeacon.dmm' + mappath = "maps/expedition_vr/beach/submaps/deadBeacon.dmm" cost = 10 /datum/map_template/surface/mountains/normal/prepper1 name = "Prepper Bunker" desc = "A little hideaway for someone with more time and money than sense." - mappath = 'maps/expedition_vr/beach/submaps/prepper1.dmm' + mappath = "maps/expedition_vr/beach/submaps/prepper1.dmm" cost = 10 /datum/map_template/surface/mountains/normal/qshuttle name = "Quarantined Shuttle" desc = "An emergency landing turned viral outbreak turned tragedy." - mappath = 'maps/expedition_vr/beach/submaps/quarantineshuttle.dmm' + mappath = "maps/expedition_vr/beach/submaps/quarantineshuttle.dmm" cost = 20 /datum/map_template/surface/mountains/normal/Mineshaft1 name = "Abandoned Mineshaft 1" desc = "An abandoned minning tunnel from a lost money making effort." - mappath = 'maps/expedition_vr/beach/submaps/Mineshaft1.dmm' + mappath = "maps/expedition_vr/beach/submaps/Mineshaft1.dmm" cost = 5 /datum/map_template/surface/mountains/normal/crystal1 name = "Crystal Cave 1" desc = "A small cave with glowing gems and diamonds." - mappath = 'maps/expedition_vr/beach/submaps/crystal1.dmm' + mappath = "maps/expedition_vr/beach/submaps/crystal1.dmm" cost = 5 allow_duplicates = TRUE /datum/map_template/surface/mountains/normal/crystal2 name = "Crystal Cave 2" desc = "A moderate sized cave with glowing gems and diamonds." - mappath = 'maps/expedition_vr/beach/submaps/crystal2.dmm' + mappath = "maps/expedition_vr/beach/submaps/crystal2.dmm" cost = 10 allow_duplicates = TRUE /datum/map_template/surface/mountains/normal/crystal2 name = "Crystal Cave 3" desc = "A large spiral of crystals with diamonds in the center." - mappath = 'maps/expedition_vr/beach/submaps/crystal3.dmm' + mappath = "maps/expedition_vr/beach/submaps/crystal3.dmm" cost = 15 /datum/map_template/surface/mountains/normal/lost_explorer name = "Lost Explorer" desc = "The remains of an explorer who rotted away ages ago, and their equipment." - mappath = 'maps/expedition_vr/beach/submaps/lost_explorer.dmm' + mappath = "maps/expedition_vr/beach/submaps/lost_explorer.dmm" cost = 5 allow_duplicates = TRUE /datum/map_template/surface/mountains/normal/Rockb1 name = "Rocky Base 1" desc = "Someones underground hidey hole" - mappath = 'maps/expedition_vr/beach/submaps/Rockb1.dmm' + mappath = "maps/expedition_vr/beach/submaps/Rockb1.dmm" cost = 15 /datum/map_template/surface/mountains/normal/corgiritual name = "Dark Ritual" desc = "Who put all these plushies here? What are they doing?" - mappath = 'maps/expedition_vr/beach/submaps/ritual.dmm' + mappath = "maps/expedition_vr/beach/submaps/ritual.dmm" cost = 15 /datum/map_template/surface/mountains/normal/abandonedtemple name = "Abandoned Temple" desc = "An ancient temple, long since abandoned. Perhaps alien in origin?" - mappath = 'maps/expedition_vr/beach/submaps/temple.dmm' + mappath = "maps/expedition_vr/beach/submaps/temple.dmm" cost = 20 /datum/map_template/surface/mountains/normal/digsite name = "Dig Site" desc = "A small abandoned dig site." - mappath = 'maps/expedition_vr/beach/submaps/digsite.dmm' + mappath = "maps/expedition_vr/beach/submaps/digsite.dmm" cost = 10 /datum/map_template/surface/mountains/normal/vault1 name = "Mine Vault 1" desc = "A small vault with potential loot." - mappath = 'maps/expedition_vr/beach/submaps/vault1.dmm' + mappath = "maps/expedition_vr/beach/submaps/vault1.dmm" cost = 5 allow_duplicates = TRUE template_group = "Buried Vaults" @@ -151,7 +151,7 @@ /datum/map_template/surface/mountains/normal/vault2 name = "Mine Vault 2" desc = "A small vault with potential loot." - mappath = 'maps/expedition_vr/beach/submaps/vault2.dmm' + mappath = "maps/expedition_vr/beach/submaps/vault2.dmm" cost = 5 allow_duplicates = TRUE template_group = "Buried Vaults" @@ -159,56 +159,56 @@ /datum/map_template/surface/mountains/normal/vault3 name = "Mine Vault 3" desc = "A small vault with potential loot. Also a horrible suprise." - mappath = 'maps/expedition_vr/beach/submaps/vault3.dmm' + mappath = "maps/expedition_vr/beach/submaps/vault3.dmm" cost = 15 template_group = "Buried Vaults" /datum/map_template/surface/mountains/normal/IceCave1A name = "Ice Cave 1A" desc = "This cave's slippery ice makes it hard to navigate, but determined explorers will be rewarded." - mappath = 'maps/expedition_vr/beach/submaps/IceCave1A.dmm' + mappath = "maps/expedition_vr/beach/submaps/IceCave1A.dmm" cost = 10 /datum/map_template/surface/mountains/normal/IceCave1B name = "Ice Cave 1B" desc = "This cave's slippery ice makes it hard to navigate, but determined explorers will be rewarded." - mappath = 'maps/expedition_vr/beach/submaps/IceCave1B.dmm' + mappath = "maps/expedition_vr/beach/submaps/IceCave1B.dmm" cost = 10 /datum/map_template/surface/mountains/normal/IceCave1C name = "Ice Cave 1C" desc = "This cave's slippery ice makes it hard to navigate, but determined explorers will be rewarded." - mappath = 'maps/expedition_vr/beach/submaps/IceCave1C.dmm' + mappath = "maps/expedition_vr/beach/submaps/IceCave1C.dmm" cost = 10 /datum/map_template/surface/mountains/normal/SwordCave name = "Cursed Sword Cave" desc = "An underground lake. The sword on the lake's island holds a terrible secret." - mappath = 'maps/expedition_vr/beach/submaps/SwordCave.dmm' + mappath = "maps/expedition_vr/beach/submaps/SwordCave.dmm" /datum/map_template/surface/mountains/normal/supplydrop1 name = "Supply Drop 1" desc = "A drop pod that landed deep within the mountains." - mappath = 'maps/expedition_vr/beach/submaps/SupplyDrop1.dmm' + mappath = "maps/expedition_vr/beach/submaps/SupplyDrop1.dmm" cost = 10 allow_duplicates = TRUE /datum/map_template/surface/mountains/normal/crashedcontainmentshuttle name = "Crashed Cargo Shuttle" desc = "A severely damaged military shuttle, its cargo seems to remain intact." - mappath = 'maps/expedition_vr/beach/submaps/crashedcontainmentshuttle.dmm' + mappath = "maps/expedition_vr/beach/submaps/crashedcontainmentshuttle.dmm" cost = 30 /datum/map_template/surface/mountains/normal/deadspy name = "Spy Remains" desc = "W+M1 = Salt." - mappath = 'maps/expedition_vr/beach/submaps/deadspy.dmm' + mappath = "maps/expedition_vr/beach/submaps/deadspy.dmm" cost = 15 /datum/map_template/surface/mountains/normal/geyser1 name = "Ore-Rich Geyser" desc = "A subterranean geyser that produces steam. This one has a particularly abundant amount of materials surrounding it." - mappath = 'maps/expedition_vr/beach/submaps/Geyser1.dmm' + mappath = "maps/expedition_vr/beach/submaps/Geyser1.dmm" cost = 5 allow_duplicates = TRUE template_group = "Underground Geysers" @@ -216,7 +216,7 @@ /datum/map_template/surface/mountains/normal/geyser2 name = "Fenced Geyser" desc = "A subterranean geyser that produces steam. This one has a damaged fence surrounding it." - mappath = 'maps/expedition_vr/beach/submaps/Geyser2.dmm' + mappath = "maps/expedition_vr/beach/submaps/Geyser2.dmm" cost = 5 allow_duplicates = TRUE template_group = "Underground Geysers" @@ -224,7 +224,7 @@ /datum/map_template/surface/mountains/normal/geyser3 name = "Magmatic Geyser" desc = "A subterranean geyser that produces incendiary gas. It is recessed into the ground, and filled with magma. It's a relatively dormant volcano." - mappath = 'maps/expedition_vr/beach/submaps/Geyser2.dmm' + mappath = "maps/expedition_vr/beach/submaps/Geyser2.dmm" cost = 10 allow_duplicates = TRUE template_group = "Underground Geysers" @@ -232,7 +232,7 @@ /datum/map_template/surface/mountains/normal/cliff1 name = "Ore-Topped Cliff" desc = "A raised area of rock created by volcanic forces." - mappath = 'maps/expedition_vr/beach/submaps/Cliff1.dmm' + mappath = "maps/expedition_vr/beach/submaps/Cliff1.dmm" cost = 5 allow_duplicates = TRUE template_group = "Underground Cliffs" @@ -240,7 +240,7 @@ /datum/map_template/surface/mountains/normal/deadly_rabbit // VOREStation Edit name = "The Killer Rabbit" desc = "A cave where the Knights of the Round have fallen to a murderous Rabbit." - mappath = 'maps/expedition_vr/beach/submaps/deadly_rabbit_vr.dmm' + mappath = "maps/expedition_vr/beach/submaps/deadly_rabbit_vr.dmm" cost = 5 allow_duplicates = FALSE @@ -252,46 +252,46 @@ /datum/map_template/surface/mountains/deep/lost_explorer name = "Lost Explorer, Deep" desc = "The remains of an explorer who rotted away ages ago, and their equipment. Again." - mappath = 'maps/expedition_vr/beach/submaps/lost_explorer.dmm' + mappath = "maps/expedition_vr/beach/submaps/lost_explorer.dmm" cost = 5 allow_duplicates = TRUE */ /datum/map_template/surface/mountains/normal/crashed_ufo //VOREStation Edit name = "Crashed UFO" desc = "A (formerly) flying saucer that is now embedded into the mountain, yet it still seems to be running..." - mappath = 'maps/expedition_vr/beach/submaps/crashed_ufo.dmm' + mappath = "maps/expedition_vr/beach/submaps/crashed_ufo.dmm" cost = 40 discard_prob = 50 /datum/map_template/surface/mountains/normal/crashed_ufo_frigate //VOREStation Edit name = "Crashed UFO Frigate" desc = "A (formerly) flying saucer that is now embedded into the mountain, yet the combat protocols still seem to be running..." - mappath = 'maps/expedition_vr/beach/submaps/crashed_ufo_frigate.dmm' + mappath = "maps/expedition_vr/beach/submaps/crashed_ufo_frigate.dmm" cost = 60 discard_prob = 50 /datum/map_template/surface/mountains/normal/Scave1 //VOREStation Edit name = "Spider Cave 1" desc = "A minning tunnel home to an aggressive collection of spiders." - mappath = 'maps/expedition_vr/beach/submaps/Scave1.dmm' + mappath = "maps/expedition_vr/beach/submaps/Scave1.dmm" cost = 20 /datum/map_template/surface/mountains/normal/CaveTrench //VOREStation Edit name = "Cave River" desc = "A strange underground river." - mappath = 'maps/expedition_vr/beach/submaps/CaveTrench.dmm' + mappath = "maps/expedition_vr/beach/submaps/CaveTrench.dmm" cost = 20 /datum/map_template/surface/mountains/normal/Cavelake //VOREStation Edit name = "Cave Lake" desc = "A large underground lake." - mappath = 'maps/expedition_vr/beach/submaps/Cavelake.dmm' + mappath = "maps/expedition_vr/beach/submaps/Cavelake.dmm" cost = 20 /datum/map_template/surface/mountains/normal/vault1 //VOREStation Edit name = "Mine Vault 1" desc = "A small vault with potential loot." - mappath = 'maps/expedition_vr/beach/submaps/vault1.dmm' + mappath = "maps/expedition_vr/beach/submaps/vault1.dmm" cost = 5 allow_duplicates = TRUE template_group = "Buried Vaults" @@ -299,7 +299,7 @@ /datum/map_template/surface/mountains/normal/vault2 //VOREStation Edit name = "Mine Vault 2" desc = "A small vault with potential loot." - mappath = 'maps/expedition_vr/beach/submaps/vault2.dmm' + mappath = "maps/expedition_vr/beach/submaps/vault2.dmm" cost = 5 allow_duplicates = TRUE template_group = "Buried Vaults" @@ -307,68 +307,64 @@ /datum/map_template/surface/mountains/normal/vault3 //VOREStation Edit name = "Mine Vault 3" desc = "A small vault with potential loot. Also a horrible suprise." - mappath = 'maps/expedition_vr/beach/submaps/vault3.dmm' + mappath = "maps/expedition_vr/beach/submaps/vault3.dmm" cost = 15 template_group = "Buried Vaults" /datum/map_template/surface/mountains/normal/vault4 //VOREStation Edit name = "Mine Vault 4" desc = "A small xeno vault with potential loot. Also horrible suprises." - mappath = 'maps/expedition_vr/beach/submaps/vault4.dmm' + mappath = "maps/expedition_vr/beach/submaps/vault4.dmm" cost = 20 template_group = "Buried Vaults" /datum/map_template/surface/mountains/normal/vault5 //VOREStation Edit name = "Mine Vault 5" desc = "A small xeno vault with potential loot. Also major horrible suprises." - mappath = 'maps/expedition_vr/beach/submaps/vault5.dmm' + mappath = "maps/expedition_vr/beach/submaps/vault5.dmm" cost = 25 template_group = "Buried Vaults" /datum/map_template/surface/mountains/normal/vault6 //VOREStation Edit name = "Mine Vault 6" desc = "A small mercenary tower with potential loot." - mappath = 'maps/expedition_vr/beach/submaps/vault6.dmm' + mappath = "maps/expedition_vr/beach/submaps/vault6.dmm" cost = 25 template_group = "Buried Vaults" /datum/map_template/surface/mountains/normal/BlastMine1 //VOREStation Edit name = "Blast Mine 1" desc = "An abandoned blast mining site, seems that local wildlife has moved in." - mappath = 'maps/expedition_vr/beach/submaps/BlastMine1.dmm' + mappath = "maps/expedition_vr/beach/submaps/BlastMine1.dmm" cost = 20 /datum/map_template/surface/mountains/normal/lava_trench //VOREStation Edit name = "lava trench" desc = "A long stretch of lava underground, almost river-like, with a small crystal research outpost on the side." - mappath = 'maps/expedition_vr/beach/submaps/lava_trench.dmm' + mappath = "maps/expedition_vr/beach/submaps/lava_trench.dmm" cost = 20 - fixed_orientation = TRUE /datum/map_template/surface/mountains/normal/crashedmedshuttle //VOREStation Edit name = "Crashed Med Shuttle" desc = "A medical response shuttle that went missing some time ago. So this is where they went." - mappath = 'maps/expedition_vr/beach/submaps/CrashedMedShuttle1.dmm' + mappath = "maps/expedition_vr/beach/submaps/CrashedMedShuttle1.dmm" cost = 20 - fixed_orientation = TRUE /datum/map_template/surface/mountains/normal/excavation1 //VOREStation Edit name = "Excavation Site" desc = "An abandoned mining site." - mappath = 'maps/expedition_vr/beach/submaps/excavation1.dmm' + mappath = "maps/expedition_vr/beach/submaps/excavation1.dmm" cost = 20 /datum/map_template/surface/mountains/deep/spatial_anomaly name = "spatial anomaly" desc = "A strange section of the caves that seems twist and turn in ways that shouldn't be physically possible." - mappath = 'maps/expedition_vr/beach/submaps/spatial_anomaly.dmm' + mappath = "maps/expedition_vr/beach/submaps/spatial_anomaly.dmm" cost = 20 - fixed_orientation = TRUE /datum/map_template/surface/mountains/normal/Speakeasy //VOREStation add name = "Speakeasy" desc = "A hidden underground bar to serve drinks in secret and in style." - mappath = 'maps/expedition_vr/beach/submaps/speakeasy_vr.dmm' + mappath = "maps/expedition_vr/beach/submaps/speakeasy_vr.dmm" cost = 10 allow_duplicates = FALSE - diff --git a/maps/expedition_vr/beach/submaps/prepper1.dmm b/maps/expedition_vr/beach/submaps/prepper1.dmm index 15032104116..6197502aca5 100644 --- a/maps/expedition_vr/beach/submaps/prepper1.dmm +++ b/maps/expedition_vr/beach/submaps/prepper1.dmm @@ -31,7 +31,7 @@ /area/submap/cave/prepper1) "g" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/box/glasses, +/obj/item/storage/box/glasses, /turf/simulated/floor/plating, /area/submap/cave/prepper1) "h" = ( @@ -44,7 +44,7 @@ /area/submap/cave/prepper1) "j" = ( /obj/structure/table/steel, -/obj/item/weapon/tape_roll, +/obj/item/tape_roll, /obj/random/maintenance/engineering, /turf/simulated/floor/plating, /area/submap/cave/prepper1) @@ -77,8 +77,8 @@ /area/submap/cave/prepper1) "q" = ( /obj/structure/table/rack, -/obj/item/weapon/tank/emergency/oxygen/engi, -/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, /obj/item/clothing/mask/gas, /obj/item/clothing/suit/armor/material/makeshift, /obj/item/clothing/head/helmet/bucket, @@ -86,17 +86,17 @@ /area/submap/cave/prepper1) "r" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /turf/simulated/floor/plating, /area/submap/cave/prepper1) "s" = ( /obj/structure/table/steel, -/obj/item/device/flashlight/lantern, +/obj/item/flashlight/lantern, /turf/simulated/floor/plating, /area/submap/cave/prepper1) "t" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever, +/obj/item/gun/projectile/shotgun/pump/rifle/lever, /obj/item/ammo_magazine/clip/c762, /obj/item/ammo_magazine/clip/c762, /turf/simulated/floor/plating, diff --git a/maps/expedition_vr/beach/submaps/quarantineshuttle.dmm b/maps/expedition_vr/beach/submaps/quarantineshuttle.dmm index efb45b4947c..8b7ac40dd50 100644 --- a/maps/expedition_vr/beach/submaps/quarantineshuttle.dmm +++ b/maps/expedition_vr/beach/submaps/quarantineshuttle.dmm @@ -124,7 +124,7 @@ "as" = ( /obj/machinery/vending/snack{ contraband = null; - products = list(/obj/item/weapon/reagent_containers/food/snacks/candy = 0, /obj/item/weapon/reagent_containers/food/drinks/dry_ramen = 0, /obj/item/weapon/reagent_containers/food/snacks/chips = 0, /obj/item/weapon/reagent_containers/food/snacks/sosjerky = 0, /obj/item/weapon/reagent_containers/food/snacks/no_raisin = 0, /obj/item/weapon/reagent_containers/food/snacks/packaged/spacetwinkie = 0, /obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers = 0, /obj/item/weapon/reagent_containers/food/snacks/tastybread = 0, /obj/item/weapon/reagent_containers/food/snacks/skrellsnacks = 0) + products = list(/obj/item/reagent_containers/food/snacks/candy = 0, /obj/item/reagent_containers/food/drinks/dry_ramen = 0, /obj/item/reagent_containers/food/snacks/chips = 0, /obj/item/reagent_containers/food/snacks/sosjerky = 0, /obj/item/reagent_containers/food/snacks/no_raisin = 0, /obj/item/reagent_containers/food/snacks/packaged/spacetwinkie = 0, /obj/item/reagent_containers/food/snacks/cheesiehonkers = 0, /obj/item/reagent_containers/food/snacks/tastybread = 0, /obj/item/reagent_containers/food/snacks/skrellsnacks = 0) }, /turf/simulated/shuttle/floor{ icon_state = "floor_white" @@ -133,7 +133,7 @@ "at" = ( /obj/machinery/vending/cola{ contraband = null; - products = list(/obj/item/weapon/reagent_containers/food/drinks/cans/cola = 0, /obj/item/weapon/reagent_containers/food/drinks/cans/space_mountain_wind = 0, /obj/item/weapon/reagent_containers/food/drinks/cans/dr_gibb = 0, /obj/item/weapon/reagent_containers/food/drinks/cans/starkist = 0, /obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle = 0, /obj/item/weapon/reagent_containers/food/drinks/cans/space_up = 0, /obj/item/weapon/reagent_containers/food/drinks/cans/iced_tea = 0, /obj/item/weapon/reagent_containers/food/drinks/cans/grape_juice = 0, /obj/item/weapon/reagent_containers/food/drinks/cans/gingerale = 0) + products = list(/obj/item/reagent_containers/food/drinks/cans/cola = 0, /obj/item/reagent_containers/food/drinks/cans/space_mountain_wind = 0, /obj/item/reagent_containers/food/drinks/cans/dr_gibb = 0, /obj/item/reagent_containers/food/drinks/cans/starkist = 0, /obj/item/reagent_containers/food/drinks/cans/waterbottle = 0, /obj/item/reagent_containers/food/drinks/cans/space_up = 0, /obj/item/reagent_containers/food/drinks/cans/iced_tea = 0, /obj/item/reagent_containers/food/drinks/cans/grape_juice = 0, /obj/item/reagent_containers/food/drinks/cans/gingerale = 0) }, /turf/simulated/shuttle/floor{ icon_state = "floor_white" @@ -141,12 +141,13 @@ /area/submap/cave/qShuttle) "au" = ( /obj/structure/closet/crate/secure/loot, +/obj/item/reagent_containers/glass/bottle/culture/cold, /turf/simulated/shuttle/floor{ icon_state = "floor_yellow" }, /area/submap/cave/qShuttle) "av" = ( -/obj/item/weapon/pickaxe/drill, +/obj/item/pickaxe/drill, /turf/simulated/shuttle/floor{ icon_state = "floor_yellow" }, @@ -183,13 +184,13 @@ /area/submap/cave/qShuttle) "aB" = ( /obj/item/trash/cigbutt, -/obj/item/weapon/tank/emergency/oxygen, +/obj/item/tank/emergency/oxygen, /turf/simulated/shuttle/floor{ icon_state = "floor_yellow" }, /area/submap/cave/qShuttle) "aC" = ( -/obj/item/weapon/material/knife/tacknife/boot, +/obj/item/material/knife/tacknife/boot, /obj/item/clothing/mask/breath, /turf/simulated/shuttle/floor{ icon_state = "floor_yellow" @@ -203,8 +204,8 @@ /area/submap/cave/qShuttle) "aE" = ( /obj/item/trash/sosjerky, -/obj/item/weapon/storage/box/donut/empty, -/obj/item/weapon/reagent_containers/food/drinks/sillycup, +/obj/item/storage/box/donut/empty, +/obj/item/reagent_containers/food/drinks/sillycup, /turf/simulated/shuttle/floor{ icon_state = "floor_white" }, @@ -332,19 +333,20 @@ }, /area/submap/cave/qShuttle) "aV" = ( -/obj/item/weapon/virusdish/random, +/obj/structure/closet/crate/secure/loot, +/obj/item/reagent_containers/glass/bottle/culture/flu, /turf/simulated/shuttle/floor{ icon_state = "floor_yellow" }, /area/submap/cave/qShuttle) "aW" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/shuttle/floor{ icon_state = "floor_yellow" }, /area/submap/cave/qShuttle) "aX" = ( -/obj/item/device/paicard, +/obj/item/paicard, /turf/simulated/shuttle/floor{ icon_state = "floor_yellow" }, @@ -390,7 +392,7 @@ }, /area/submap/cave/qShuttle) "bc" = ( -/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, /obj/effect/decal/cleanable/dirt, /turf/simulated/shuttle/floor{ icon_state = "floor_white" @@ -460,7 +462,7 @@ /area/submap/cave/qShuttle) "bk" = ( /obj/structure/table/rack, -/obj/item/weapon/shovel, +/obj/item/shovel, /turf/simulated/shuttle/floor{ icon_state = "floor_yellow" }, @@ -472,9 +474,6 @@ name = "Virus Samples - FRAGILE"; opened = 1 }, -/obj/item/weapon/virusdish/random, -/obj/item/weapon/virusdish/random, -/obj/item/weapon/virusdish/random, /turf/simulated/shuttle/floor{ icon_state = "floor_yellow" }, @@ -498,11 +497,11 @@ /area/submap/cave/qShuttle) "bn" = ( /obj/structure/table/standard, -/obj/item/device/taperecorder, +/obj/item/taperecorder, /turf/simulated/shuttle/floor, /area/submap/cave/qShuttle) "bo" = ( -/obj/item/weapon/tool/crowbar/red, +/obj/item/tool/crowbar/red, /turf/simulated/shuttle/floor{ icon_state = "floor_white" }, @@ -554,7 +553,7 @@ }, /area/submap/cave/qShuttle) "bv" = ( -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /turf/simulated/shuttle/floor{ @@ -574,7 +573,7 @@ }, /area/submap/cave/qShuttle) "by" = ( -/obj/item/weapon/coin/silver, +/obj/item/coin/silver, /turf/simulated/shuttle/floor{ icon_state = "floor_white" }, @@ -594,7 +593,7 @@ }, /area/submap/cave/qShuttle) "bB" = ( -/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, /turf/simulated/shuttle/floor{ icon_state = "floor_yellow" }, @@ -656,7 +655,7 @@ /area/submap/cave/qShuttle) "bJ" = ( /obj/item/trash/tastybread, -/obj/item/weapon/material/butterfly/boxcutter, +/obj/item/material/butterfly/boxcutter, /obj/effect/decal/cleanable/dirt, /turf/simulated/shuttle/floor{ icon_state = "floor_white" @@ -682,7 +681,7 @@ /obj/structure/bed/chair{ dir = 1 }, -/obj/item/weapon/card/id/external{ +/obj/item/card/id/external{ desc = "An identification card of some sort. Looks like this one was issued by the Vir Independent Mining Corp."; name = "VIMC identification card"; rank = "Miner"; @@ -694,7 +693,7 @@ /area/submap/cave/qShuttle) "bN" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, /turf/simulated/shuttle/floor{ icon_state = "floor_white" }, @@ -783,7 +782,7 @@ /area/submap/cave/qShuttle) "cc" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/box/bodybags, +/obj/item/storage/box/bodybags, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/cave/qShuttle) "cd" = ( @@ -797,7 +796,7 @@ /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/cave/qShuttle) "cf" = ( -/obj/item/weapon/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/syringe/antiviral, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/cave/qShuttle) "cg" = ( @@ -810,12 +809,12 @@ /area/submap/cave/qShuttle) "ci" = ( /obj/structure/table/steel, -/obj/item/weapon/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/syringe/antiviral, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/cave/qShuttle) "cj" = ( /obj/structure/table/steel, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the 'Space' from Space Cleaner and written in Chemistry. Scrawled on the back is, 'Okay, whoever filled this with polytrinic acid, it was only funny the first time. It was hard enough replacing the CMO's first cat!'"; name = "Chemistry Cleaner" }, @@ -823,7 +822,7 @@ /area/submap/cave/qShuttle) "ck" = ( /obj/structure/table/steel, -/obj/item/weapon/tool/transforming/jawsoflife, +/obj/item/tool/transforming/jawsoflife, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/cave/qShuttle) "cl" = ( @@ -833,7 +832,7 @@ /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/cave/qShuttle) "cm" = ( -/obj/item/weapon/weldingtool/largetank, +/obj/item/weldingtool/largetank, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/cave/qShuttle) "cn" = ( @@ -1311,7 +1310,7 @@ ab ad au aF -aV +aA bj bv bE @@ -1363,7 +1362,7 @@ aa aa ab ad -au +aV aH aW bk @@ -1394,7 +1393,7 @@ ad ad aX aA -aV +aA ad ad ad diff --git a/maps/expedition_vr/beach/submaps/ritual.dmm b/maps/expedition_vr/beach/submaps/ritual.dmm index 9506d7e2cb9..0e229488dc0 100644 --- a/maps/expedition_vr/beach/submaps/ritual.dmm +++ b/maps/expedition_vr/beach/submaps/ritual.dmm @@ -7,7 +7,7 @@ /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/CorgiRitual) "c" = ( -/obj/item/weapon/flame/candle/everburn, +/obj/item/flame/candle/everburn, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/CorgiRitual) "d" = ( diff --git a/maps/expedition_vr/beach/submaps/spatial_anomaly.dmm b/maps/expedition_vr/beach/submaps/spatial_anomaly.dmm index 9b0f64aad93..ba3df8d4c05 100644 --- a/maps/expedition_vr/beach/submaps/spatial_anomaly.dmm +++ b/maps/expedition_vr/beach/submaps/spatial_anomaly.dmm @@ -67,7 +67,7 @@ /turf/simulated/floor/lava, /area/submap/spatial_anomaly) "k" = ( -/obj/item/weapon/disposable_teleporter/slime, +/obj/item/disposable_teleporter/slime, /turf/simulated/floor/outdoors/rocks/caves, /area/submap/spatial_anomaly) "l" = ( @@ -148,12 +148,12 @@ /turf/simulated/floor/outdoors/rocks/caves, /area/submap/spatial_anomaly) "v" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/plating/external, /area/submap/spatial_anomaly) "w" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/xenoarch_multi_tool, +/obj/item/xenoarch_multi_tool, /turf/simulated/floor/plating/external, /area/submap/spatial_anomaly) "x" = ( @@ -175,7 +175,7 @@ /area/submap/spatial_anomaly) "B" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/ore/diamond, +/obj/item/ore/diamond, /turf/simulated/floor/plating/external, /area/submap/spatial_anomaly) "C" = ( @@ -191,7 +191,7 @@ /area/submap/spatial_anomaly) "E" = ( /obj/structure/table/rack, -/obj/item/weapon/pickaxe/jackhammer, +/obj/item/pickaxe/jackhammer, /turf/simulated/floor/outdoors/rocks/caves, /area/submap/spatial_anomaly) "F" = ( @@ -240,12 +240,12 @@ /turf/simulated/floor/outdoors/rocks/caves, /area/submap/spatial_anomaly) "K" = ( -/obj/item/weapon/mining_scanner, +/obj/item/mining_scanner, /obj/structure/table/rack, /turf/simulated/floor/outdoors/rocks/caves, /area/submap/spatial_anomaly) "L" = ( -/obj/item/weapon/storage/belt/archaeology, +/obj/item/storage/belt/archaeology, /obj/effect/decal/remains/human, /turf/simulated/floor/outdoors/rocks/caves, /area/submap/spatial_anomaly) @@ -254,15 +254,15 @@ /turf/simulated/floor/plating/external, /area/submap/spatial_anomaly) "N" = ( -/obj/item/weapon/pickaxe/brush, +/obj/item/pickaxe/brush, /turf/simulated/floor/outdoors/rocks/caves, /area/submap/spatial_anomaly) "O" = ( -/obj/item/weapon/pickaxe/one_pick, +/obj/item/pickaxe/one_pick, /turf/simulated/floor/outdoors/rocks/caves, /area/submap/spatial_anomaly) "P" = ( -/obj/item/weapon/pickaxe/four_pick, +/obj/item/pickaxe/four_pick, /turf/simulated/floor/outdoors/rocks/caves, /area/submap/spatial_anomaly) "Q" = ( @@ -270,27 +270,27 @@ /turf/simulated/floor/plating/external, /area/submap/spatial_anomaly) "R" = ( -/obj/item/weapon/pickaxe/five_pick, +/obj/item/pickaxe/five_pick, /turf/simulated/floor/outdoors/rocks/caves, /area/submap/spatial_anomaly) "S" = ( -/obj/item/weapon/pickaxe/six_pick, +/obj/item/pickaxe/six_pick, /turf/simulated/floor/outdoors/rocks/caves, /area/submap/spatial_anomaly) "T" = ( -/obj/item/weapon/pickaxe/two_pick, +/obj/item/pickaxe/two_pick, /turf/simulated/floor/outdoors/rocks/caves, /area/submap/spatial_anomaly) "U" = ( -/obj/item/device/measuring_tape, +/obj/item/measuring_tape, /turf/simulated/floor/outdoors/rocks/caves, /area/submap/spatial_anomaly) "X" = ( -/obj/item/weapon/pickaxe/three_pick, +/obj/item/pickaxe/three_pick, /turf/simulated/floor/outdoors/rocks/caves, /area/submap/spatial_anomaly) "Y" = ( -/obj/item/weapon/pickaxe/excavationdrill, +/obj/item/pickaxe/excavationdrill, /turf/simulated/floor/plating/external, /area/submap/spatial_anomaly) diff --git a/maps/expedition_vr/beach/submaps/speakeasy_vr.dmm b/maps/expedition_vr/beach/submaps/speakeasy_vr.dmm index b140e08534f..a2153d10b8c 100644 --- a/maps/expedition_vr/beach/submaps/speakeasy_vr.dmm +++ b/maps/expedition_vr/beach/submaps/speakeasy_vr.dmm @@ -28,7 +28,7 @@ /turf/simulated/floor/wood, /area/submap/Speakeasy) "k" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/wood, /area/submap/Speakeasy) "l" = ( diff --git a/maps/expedition_vr/beach/submaps/temple.dmm b/maps/expedition_vr/beach/submaps/temple.dmm index 53e05154347..4a23b9c46c9 100644 --- a/maps/expedition_vr/beach/submaps/temple.dmm +++ b/maps/expedition_vr/beach/submaps/temple.dmm @@ -23,41 +23,41 @@ /turf/simulated/wall/sandstonediamond, /area/submap/AbandonedTemple) "h" = ( -/obj/item/weapon/flame/candle/everburn, +/obj/item/flame/candle/everburn, /turf/simulated/floor/tiled/asteroid_steel, /area/submap/AbandonedTemple) "i" = ( -/obj/item/weapon/ectoplasm, +/obj/item/ectoplasm, /turf/simulated/floor/tiled/asteroid_steel, /area/submap/AbandonedTemple) "j" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/coin/iron, -/obj/item/weapon/coin/platinum, -/obj/item/weapon/coin/uranium, -/obj/item/weapon/coin/diamond, -/obj/item/weapon/coin/iron, -/obj/item/weapon/coin/uranium, -/obj/item/weapon/coin/iron, -/obj/item/weapon/coin/phoron, -/obj/item/weapon/coin/platinum, +/obj/item/coin/iron, +/obj/item/coin/platinum, +/obj/item/coin/uranium, +/obj/item/coin/diamond, +/obj/item/coin/iron, +/obj/item/coin/uranium, +/obj/item/coin/iron, +/obj/item/coin/phoron, +/obj/item/coin/platinum, /obj/effect/decal/cleanable/cobweb, /turf/simulated/floor/tiled/asteroid_steel, /area/submap/AbandonedTemple) "k" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/silver, -/obj/item/weapon/coin/silver, -/obj/item/weapon/coin/silver, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/silver, -/obj/item/weapon/coin/silver, -/obj/item/weapon/coin/silver, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/silver, +/obj/item/coin/silver, +/obj/item/coin/silver, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/silver, +/obj/item/coin/silver, +/obj/item/coin/silver, /turf/simulated/floor/tiled/asteroid_steel, /area/submap/AbandonedTemple) "l" = ( @@ -82,7 +82,7 @@ /area/submap/AbandonedTemple) "q" = ( /obj/structure/table/woodentable, -/obj/item/weapon/flame/lighter/zippo/royal, +/obj/item/flame/lighter/zippo/royal, /obj/item/clothing/mask/smokable/pipe, /turf/simulated/floor/carpet/turcarpet, /area/submap/AbandonedTemple) @@ -108,8 +108,8 @@ /area/submap/AbandonedTemple) "v" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper, -/obj/item/weapon/pen/fountain, +/obj/item/paper, +/obj/item/pen/fountain, /turf/simulated/floor/carpet/turcarpet, /area/submap/AbandonedTemple) "w" = ( @@ -123,7 +123,7 @@ /area/submap/AbandonedTemple) "y" = ( /obj/structure/table/woodentable, -/obj/item/weapon/flame/candle/candelabra/everburn, +/obj/item/flame/candle/candelabra/everburn, /turf/simulated/floor/carpet/turcarpet, /area/submap/AbandonedTemple) "z" = ( @@ -166,7 +166,7 @@ /area/submap/AbandonedTemple) "G" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper/alien{ +/obj/item/paper/alien{ desc = ""; icon_state = "alienpaper_words"; info = "(On the screen of the tablet are several lines of characters written in a language you don't seem to recognize. At the end of each line is a set of numbers seperated by a colon. The screen flickers occasionally, as if damaged. Nothing about the tablet seems particularly interesting, but it does seem very, very old.)" @@ -196,12 +196,12 @@ /area/submap/AbandonedTemple) "M" = ( /obj/effect/decal/cleanable/cobweb, -/obj/item/weapon/flame/candle/candelabra/everburn, +/obj/item/flame/candle/candelabra/everburn, /turf/simulated/floor/tiled/asteroid_steel, /area/submap/AbandonedTemple) "N" = ( /obj/effect/decal/cleanable/cobweb2, -/obj/item/weapon/flame/candle/candelabra/everburn, +/obj/item/flame/candle/candelabra/everburn, /turf/simulated/floor/tiled/asteroid_steel, /area/submap/AbandonedTemple) "O" = ( diff --git a/maps/expedition_vr/beach/submaps/vault5.dmm b/maps/expedition_vr/beach/submaps/vault5.dmm index 3831106ee43..62828efa1ea 100644 --- a/maps/expedition_vr/beach/submaps/vault5.dmm +++ b/maps/expedition_vr/beach/submaps/vault5.dmm @@ -14,7 +14,7 @@ "d" = ( /obj/effect/alien/weeds, /obj/structure/bed/nest, -/obj/item/weapon/gun/projectile/p92x/large, +/obj/item/gun/projectile/p92x/large, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/cave/vault5) "e" = ( @@ -46,7 +46,7 @@ "k" = ( /obj/effect/alien/weeds, /obj/item/clothing/head/helmet/tac, -/obj/item/weapon/gun/projectile/SVD, +/obj/item/gun/projectile/SVD, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/submap/cave/vault5) diff --git a/maps/expedition_vr/space/_debrisfield.dm b/maps/expedition_vr/space/_debrisfield.dm index fe25381d8fb..8c111e63065 100644 --- a/maps/expedition_vr/space/_debrisfield.dm +++ b/maps/expedition_vr/space/_debrisfield.dm @@ -131,7 +131,7 @@ /area/submap/debrisfield/luxury_boat - secret_name = 0 + flags = RAD_SHIELDED | AREA_FORBID_EVENTS /area/submap/debrisfield/luxury_boat/bridge name = "Captain's Quarters" @@ -178,7 +178,7 @@ /obj/effect/overmap/visitable/ship/landable/luxury_boat/Initialize() . = ..() - var/datum/lore/organization/O = loremaster.organizations[/datum/lore/organization/gov/almachi] //YW Change - gov we actually have + var/datum/lore/organization/O = loremaster.organizations[/datum/lore/organization/gov/ares] //YW Change - gov we actually have var/newname = "ECS-T [pick(O.ship_names)]" name = newname scanner_desc = {"\[i\]Registration\[/i\]: [newname] @@ -222,7 +222,7 @@ name = "POI - Destroyed Mining Outpost" /area/submap/debrisfield/tinyshuttle - secret_name = 0 + flags = RAD_SHIELDED | AREA_FORBID_EVENTS /area/submap/debrisfield/tinyshuttle/crew name = "Crew Bay" @@ -316,7 +316,7 @@ /obj/structure/fuel_port/empty_tank/Initialize() . = ..() - var/obj/item/weapon/tank/phoron/T = locate() in src + var/obj/item/tank/phoron/T = locate() in src if(T) T.air_contents.remove(T.air_contents.total_moles) diff --git a/maps/expedition_vr/space/fueldepot.dmm b/maps/expedition_vr/space/fueldepot.dmm index f9a367c3b0b..6f61f389406 100644 --- a/maps/expedition_vr/space/fueldepot.dmm +++ b/maps/expedition_vr/space/fueldepot.dmm @@ -1214,8 +1214,8 @@ "ja" = ( /obj/structure/catwalk, /obj/structure/table/rack/steel, -/obj/item/weapon/tool/crowbar/red, -/obj/item/weapon/tool/wrench, +/obj/item/tool/crowbar/red, +/obj/item/tool/wrench, /turf/simulated/shuttle/plating/airless, /area/tether_away/fueldepot) "jY" = ( @@ -1523,7 +1523,7 @@ /area/tether_away/fueldepot) "OG" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical, /turf/simulated/floor/tiled/techmaint/airless, /area/tether_away/fueldepot) "OW" = ( @@ -1554,7 +1554,7 @@ /area/tether_away/fueldepot) "Qg" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/floor/tiled/techmaint/airless, /area/tether_away/fueldepot) "Qk" = ( diff --git a/maps/expedition_vr/virgo5/v5_features.dm b/maps/expedition_vr/virgo5/v5_features.dm new file mode 100644 index 00000000000..e1ec4fd5362 --- /dev/null +++ b/maps/expedition_vr/virgo5/v5_features.dm @@ -0,0 +1,77 @@ +////////// THERMAL POWER ////////////// + + +/obj/machinery/power/rtg/fake_gen/geothermal + name = "geothermal power generator" + desc = "A large, mostly underground geothermal power generator. Generators power by venting steam through large turbines, creating a consistent and plentiful source of energy that can easily power a small outpost." + icon = 'icons/obj/power_vrx96.dmi' + icon_state = "geothermal" + power_gen = 300000 + circuit = /obj/item/circuitboard/machine/rtg + can_buckle = FALSE + pixel_x = -32 + + +/////////// AREAS ////////////////////// + +/area/submap/v5 + name = "\improper Virgo 5 Surface" //Nobody will know what this means if they see it, anyway. + requires_power = 1 + dynamic_lighting = 1 + power_equip = FALSE + power_environ = FALSE + power_light = FALSE + base_turf = /turf/simulated/floor/outdoors/snow/v5 + +/area/submap/v5/outdoors + +/area/submap/v5/outpost_dome + name = "\improper V5 Outpost Main Dome" + +/area/submap/v5/outpost_whall + name = "\improper V5 Outpost West Hall" + +/area/submap/v5/outpost_wr1 + name = "\improper V5 Outpost West Room 1" + +/area/submap/v5/outpost_wr2 + name = "\improper V5 Outpost West Room 2" + +/area/submap/v5/outpost_wr3 + name = "\improper V5 Outpost West Room 3" + +/area/submap/v5/outpost_nhall + name = "\improper V5 Outpost Connecting Hall" + +/area/submap/v5/outpost_airlock + name = "\improper V5 Outpost Airlock" + +/area/submap/v5/outpost_atmos + name = "\improper V5 Outpost Atmospherics" + +/area/submap/v5/outpost_engi + name = "\improper V5 Outpost Engineering" + +/area/submap/v5/outpost_engihall + name = "\improper V5 Outpost Engineering Hall" + +/area/submap/v5/outpost_power + name = "\improper V5 Outpost Geothermal Power" + +/area/submap/v5/outpost_bar + name = "\improper V5 Outpost Bar" + +/area/submap/v5/outpost_lpad + name = "\improper V5 Outpost Landing Pad Near" + +/area/submap/v5/outpost_lpad2 + name = "\improper V5 Outpost Landing Pad Large" + +/area/submap/v5/caves + name = "\improper V5 Caves" + +/area/submap/v5/alien_ship + name = "\improper V5 Alien Ship" + +/area/submap/v5/mech_pod + name = "\improper V5 Mech Pod" diff --git a/maps/expedition_vr/virgo5/v5_outpost_build.dmm b/maps/expedition_vr/virgo5/v5_outpost_build.dmm new file mode 100644 index 00000000000..bab17f9959a --- /dev/null +++ b/maps/expedition_vr/virgo5/v5_outpost_build.dmm @@ -0,0 +1,23191 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ad" = ( +/obj/machinery/power/thermoregulator, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"ai" = ( +/obj/effect/map_helper/airlock/sensor/chamber_sensor, +/obj/machinery/atmospherics/unary/vent_pump/high_volume{ + dir = 8; + frequency = 1379; + id_tag = "v5_airlock_pump" + }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, +/obj/machinery/airlock_sensor{ + pixel_x = 27; + pixel_y = -39 + }, +/obj/machinery/embedded_controller/radio/airlock/airlock_controller{ + cycle_to_external_air = 1; + dir = 4; + id_tag = "v5_airlock"; + name = "Aerostat Airlock Controller"; + pixel_x = 29; + pixel_y = -31 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_airlock) +"av" = ( +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"aw" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"ay" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/power/apc/angled{ + dir = 4 + }, +/obj/machinery/power/terminal{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "0-2" + }, +/turf/simulated/floor/carpet/bcarpet, +/area/submap/v5/outpost_bar) +"aF" = ( +/turf/simulated/shuttle/floor/voidcraft/dark, +/area/submap/v5/outpost_bar) +"aI" = ( +/obj/machinery/atmospherics/pipe/manifold4w/hidden/black, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"aR" = ( +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, +/obj/structure/cable/orange{ + icon_state = "2-8" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"aS" = ( +/obj/structure/table/standard, +/obj/structure/window/basic{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"ba" = ( +/obj/effect/floor_decal/industrial/danger{ + dir = 4 + }, +/obj/effect/map_helper/airlock/door/int_door, +/obj/machinery/door/airlock/glass_external{ + frequency = 1379; + icon_state = "door_locked"; + id_tag = "v5_airlock_inner"; + locked = 1 + }, +/obj/machinery/access_button/airlock_interior{ + master_tag = "v5_airlock"; + pixel_y = -20 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_airlock) +"bq" = ( +/obj/machinery/light, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"bu" = ( +/turf/simulated/wall/eris, +/area/submap/v5/outdoors) +"bF" = ( +/obj/machinery/atmospherics/pipe/manifold4w/hidden/cyan, +/obj/machinery/meter, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"bG" = ( +/obj/structure/cable/orange{ + icon_state = "1-8" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_wr3) +"bH" = ( +/obj/machinery/portable_atmospherics/powered/pump/filled, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"bV" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 9 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/submap/v5/outpost_power) +"ca" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/simulated/floor/carpet/bcarpet, +/area/submap/v5/outpost_bar) +"cb" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"cd" = ( +/obj/machinery/door/airlock/voidcraft/survival_pod, +/turf/simulated/shuttle/floor/voidcraft, +/area/submap/v5/outpost_bar) +"cg" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/obj/machinery/alarm, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"ck" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_airlock) +"cQ" = ( +/obj/structure/prop/alien/computer/camera, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/submap/v5/alien_ship) +"cZ" = ( +/obj/structure/cable/orange, +/obj/machinery/power/terminal, +/obj/machinery/power/apc/angled, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"dj" = ( +/obj/machinery/power/port_gen/pacman/mrs, +/turf/simulated/floor/plating, +/area/submap/v5/outdoors) +"dk" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_engi) +"do" = ( +/obj/machinery/atmospherics/unary/freezer, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"ds" = ( +/turf/simulated/floor/plating, +/area/submap/v5/outpost_wr3) +"du" = ( +/obj/machinery/power/terminal, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_power) +"dA" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/cyan{ + dir = 4 + }, +/obj/machinery/alarm, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"dO" = ( +/obj/structure/cable/orange{ + icon_state = "2-4" + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_nhall) +"dX" = ( +/obj/structure/cliff/automatic/corner, +/turf/simulated/floor/outdoors/snow/v5, +/area/submap/v5/outdoors) +"ei" = ( +/turf/simulated/shuttle/wall/voidcraft/survival/hard_corner, +/area/submap/v5/outpost_bar) +"ek" = ( +/turf/simulated/wall/eris, +/area/submap/v5/outpost_wr2) +"ez" = ( +/obj/item/stool/padded{ + dir = 1 + }, +/turf/simulated/floor/carpet/bcarpet, +/area/submap/v5/outpost_bar) +"eD" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/obj/machinery/light/floortube{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"eE" = ( +/obj/structure/cable/orange{ + icon_state = "1-8" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_engi) +"eK" = ( +/obj/structure/outcrop/uranium, +/turf/simulated/mineral/floor/icey{ + carbon_dioxide = 75; + ignore_cavegen = 1; + ignore_mapgen = 1; + ignore_oregen = 1; + nitrogen = 17; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/caves) +"eM" = ( +/obj/machinery/atmospherics/binary/pump/high_power/on{ + dir = 1 + }, +/obj/machinery/door/airlock/glass_atmos, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"eN" = ( +/turf/simulated/mineral/icey/v5{ + temperature = 150 + }, +/area/submap/v5/caves) +"eT" = ( +/turf/simulated/floor/plating, +/area/submap/v5/outpost_engi) +"fj" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/cyan{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"fn" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/effect/map_helper/airlock/door/ext_door, +/obj/machinery/door/airlock/glass_external{ + frequency = 1379; + icon_state = "door_locked"; + id_tag = "v5_airlock_outer"; + locked = 1 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/steel_grid, +/area/submap/v5/outpost_airlock) +"fp" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_wr2) +"fr" = ( +/turf/simulated/floor/outdoors/snow/v5, +/area/submap/v5/caves) +"fA" = ( +/obj/machinery/door/airlock/voidcraft/survival_pod, +/obj/structure/fans/tiny, +/turf/simulated/shuttle/floor/voidcraft/dark, +/area/submap/v5/outpost_bar) +"fT" = ( +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_engihall) +"fU" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_wr1) +"go" = ( +/obj/structure/prop/rock/ice/flat, +/turf/simulated/mineral/floor/icey{ + carbon_dioxide = 75; + ignore_cavegen = 1; + ignore_mapgen = 1; + ignore_oregen = 1; + nitrogen = 17; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/caves) +"gA" = ( +/obj/machinery/door/airlock/glass, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"gI" = ( +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 9 + }, +/obj/machinery/light, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_airlock) +"gO" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"gQ" = ( +/obj/machinery/atmospherics/portables_connector{ + dir = 4 + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"gS" = ( +/obj/structure/cliff/automatic{ + dir = 4 + }, +/turf/simulated/floor/outdoors/snow/v5, +/area/submap/v5/outdoors) +"gX" = ( +/obj/structure/prop/rock/glamour/triple, +/turf/simulated/mineral/floor/icey{ + carbon_dioxide = 75; + ignore_cavegen = 1; + ignore_mapgen = 1; + ignore_oregen = 1; + nitrogen = 17; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/caves) +"hg" = ( +/obj/structure/prop/alien/computer/camera/flipped, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/submap/v5/alien_ship) +"hj" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced/full, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"hn" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/black{ + dir = 6 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"hw" = ( +/obj/structure/prop/rock/ice/small/alt, +/turf/simulated/mineral/floor/icey{ + carbon_dioxide = 75; + ignore_cavegen = 1; + ignore_mapgen = 1; + ignore_oregen = 1; + nitrogen = 17; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/caves) +"hD" = ( +/obj/structure/loot_pile/surface/alien/engineering, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/submap/v5/alien_ship) +"hL" = ( +/obj/machinery/vending/snack, +/turf/simulated/floor/carpet/bcarpet, +/area/submap/v5/outpost_bar) +"hZ" = ( +/obj/structure/outcrop/silver, +/turf/simulated/mineral/floor/icey{ + carbon_dioxide = 75; + ignore_cavegen = 1; + ignore_mapgen = 1; + ignore_oregen = 1; + nitrogen = 17; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/caves) +"ie" = ( +/obj/structure/bed/chair/comfy/green{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_nhall) +"ig" = ( +/obj/machinery/alarm, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_whall) +"ip" = ( +/obj/structure/loot_pile/surface/drone, +/turf/simulated/floor/outdoors/snow/v5, +/area/submap/v5/outdoors) +"ir" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_engi) +"iw" = ( +/obj/machinery/power/apc/angled{ + dir = 1 + }, +/obj/machinery/power/terminal{ + dir = 1 + }, +/obj/structure/cable/orange{ + icon_state = "0-2" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_whall) +"iE" = ( +/obj/machinery/light/floortube, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_whall) +"iZ" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_power) +"ja" = ( +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 8 + }, +/obj/machinery/door/airlock/glass, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"jg" = ( +/obj/structure/prop/rock/ice/spike, +/turf/simulated/mineral/floor/icey{ + carbon_dioxide = 75; + ignore_cavegen = 1; + ignore_mapgen = 1; + ignore_oregen = 1; + nitrogen = 17; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/caves) +"jk" = ( +/obj/machinery/atmospherics/binary/pump/high_power/on, +/obj/machinery/atmospherics/binary/pump/high_power/on{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"jl" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_wr1) +"jp" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"jy" = ( +/mob/living/simple_mob/homunculus/evil, +/turf/simulated/mineral/floor/icey{ + carbon_dioxide = 75; + ignore_cavegen = 1; + ignore_mapgen = 1; + ignore_oregen = 1; + nitrogen = 17; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/caves) +"jA" = ( +/obj/random/material, +/turf/simulated/floor/outdoors/snow/v5, +/area/submap/v5/outdoors) +"jB" = ( +/obj/structure/prop/rock/glamour/small/alt3, +/turf/simulated/mineral/floor/icey{ + carbon_dioxide = 75; + ignore_cavegen = 1; + ignore_mapgen = 1; + ignore_oregen = 1; + nitrogen = 17; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/caves) +"jJ" = ( +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_engihall) +"jN" = ( +/obj/machinery/atmospherics/binary/pump{ + dir = 1; + target_pressure = 20 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"ke" = ( +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/orange{ + icon_state = "1-8" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_nhall) +"ki" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/steel_grid, +/area/submap/v5/outpost_nhall) +"kn" = ( +/turf/simulated/shuttle/floor/alien, +/area/submap/v5/alien_ship) +"kt" = ( +/obj/structure/bed/chair/comfy/green{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_nhall) +"kw" = ( +/obj/structure/toilet{ + dir = 8 + }, +/turf/simulated/shuttle/floor/voidcraft, +/area/submap/v5/outpost_bar) +"kG" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_wr3) +"kO" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"kT" = ( +/obj/structure/sink{ + pixel_y = 14 + }, +/turf/simulated/shuttle/floor/voidcraft/dark, +/area/submap/v5/outpost_bar) +"kU" = ( +/obj/structure/railing{ + dir = 4 + }, +/turf/simulated/floor/water{ + outdoors = -1 + }, +/area/submap/v5/outpost_power) +"ld" = ( +/obj/machinery/atmospherics/omni/atmos_filter{ + tag_east = 2; + tag_north = 1; + tag_south = 6 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"lh" = ( +/obj/structure/table/alien, +/obj/item/stack/cable_coil/alien, +/turf/simulated/shuttle/floor/alien, +/area/submap/v5/alien_ship) +"ll" = ( +/turf/simulated/shuttle/wall/alien, +/area/submap/v5/alien_ship) +"lw" = ( +/obj/structure/railing{ + dir = 8 + }, +/turf/simulated/floor/water{ + outdoors = -1 + }, +/area/submap/v5/outpost_power) +"lx" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_wr3) +"lC" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/submap/v5/outpost_power) +"lH" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/turf/simulated/floor/carpet/bcarpet, +/area/submap/v5/outpost_bar) +"lV" = ( +/obj/structure/table/alien, +/obj/item/tool/screwdriver/alien, +/turf/simulated/shuttle/floor/alien, +/area/submap/v5/alien_ship) +"mc" = ( +/obj/structure/table/gamblingtable, +/obj/structure/reagent_dispensers/beerkeg, +/turf/simulated/shuttle/floor/voidcraft/dark, +/area/submap/v5/outpost_bar) +"mj" = ( +/obj/machinery/door/airlock/alien/locked, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/submap/v5/alien_ship) +"mq" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"mG" = ( +/obj/effect/map_helper/airlock/sensor/int_sensor, +/obj/machinery/airlock_sensor/airlock_interior{ + pixel_x = -24; + pixel_y = 21 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_airlock) +"mR" = ( +/obj/structure/prop/rock/glamour/small/alt2, +/turf/simulated/mineral/floor/icey{ + carbon_dioxide = 75; + ignore_cavegen = 1; + ignore_mapgen = 1; + ignore_oregen = 1; + nitrogen = 17; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/caves) +"nf" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/machinery/light/floortube{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"nt" = ( +/obj/structure/prop/rock/glamour/small, +/turf/simulated/mineral/floor/icey{ + carbon_dioxide = 75; + ignore_cavegen = 1; + ignore_mapgen = 1; + ignore_oregen = 1; + nitrogen = 17; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/caves) +"nw" = ( +/obj/structure/table/alien, +/obj/item/weldingtool/alien, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/submap/v5/alien_ship) +"nM" = ( +/obj/effect/shuttle_landmark/automatic/admin_use1, +/turf/simulated/floor/outdoors/snow/v5, +/area/submap/v5/outpost_lpad) +"oe" = ( +/obj/machinery/atmospherics/unary/vent_pump/high_volume, +/obj/effect/map_helper/airlock/atmos/pump_out_external, +/turf/simulated/floor/outdoors/snow/v5, +/area/submap/v5/outpost_airlock) +"of" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 8 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"ol" = ( +/obj/structure/cable/orange, +/obj/machinery/power/terminal, +/obj/machinery/power/apc/angled, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_engi) +"om" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/steel_grid{ + carbon_dioxide = 75; + nitrogen = 17; + outdoors = 1; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/outdoors) +"op" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_wr3) +"oA" = ( +/obj/machinery/light, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_engi) +"oF" = ( +/obj/item/research_sample/bluespace, +/turf/simulated/mineral/floor/icey{ + carbon_dioxide = 75; + ignore_cavegen = 1; + ignore_mapgen = 1; + ignore_oregen = 1; + nitrogen = 17; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/caves) +"oH" = ( +/obj/effect/shuttle_landmark/automatic/admin_use1, +/turf/simulated/floor/tiled/steel_grid{ + carbon_dioxide = 75; + nitrogen = 17; + outdoors = 1; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/outpost_lpad2) +"oJ" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/red, +/obj/machinery/meter, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"oL" = ( +/obj/effect/fake_sun/cool{ + do_weather = 1; + weather_visuals_icon_state = "snowfall_light" + }, +/turf/unsimulated/mineral{ + carbon_dioxide = 75; + icon_state = "rock-icey"; + nitrogen = 17; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/outdoors) +"oO" = ( +/turf/simulated/floor/plating, +/area/submap/v5/outpost_wr1) +"oP" = ( +/obj/machinery/power/apc/angled{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_wr3) +"oQ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_wr2) +"oX" = ( +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_wr2) +"pc" = ( +/obj/structure/outcrop/coal, +/turf/simulated/mineral/floor/icey{ + carbon_dioxide = 75; + ignore_cavegen = 1; + ignore_mapgen = 1; + ignore_oregen = 1; + nitrogen = 17; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/caves) +"pe" = ( +/obj/structure/cable/orange{ + icon_state = "2-8" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_wr1) +"pg" = ( +/obj/structure/prop/rock/ice/small, +/turf/simulated/floor/outdoors/snow/v5, +/area/submap/v5/caves) +"pn" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_nhall) +"pr" = ( +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_nhall) +"pz" = ( +/obj/machinery/light/floortube{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_wr3) +"pA" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/cyan{ + dir = 4 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"pC" = ( +/obj/machinery/door/airlock/voidcraft/survival_pod, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/fans/tiny, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/turf/simulated/shuttle/floor/voidcraft, +/area/submap/v5/outpost_bar) +"pQ" = ( +/obj/machinery/light, +/turf/simulated/floor/carpet/bcarpet, +/area/submap/v5/outpost_bar) +"pR" = ( +/obj/structure/table/alien, +/obj/item/aliencoin/phoron, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/submap/v5/alien_ship) +"pV" = ( +/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/structure/cable/orange{ + icon_state = "1-4" + }, +/obj/structure/cable/orange{ + icon_state = "2-4" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_whall) +"qc" = ( +/obj/random/multiple/underdark/ores, +/turf/simulated/mineral/floor/icey{ + carbon_dioxide = 75; + ignore_cavegen = 1; + ignore_mapgen = 1; + ignore_oregen = 1; + nitrogen = 17; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/caves) +"qj" = ( +/turf/simulated/mineral/floor/icey{ + carbon_dioxide = 75; + ignore_cavegen = 1; + ignore_mapgen = 1; + ignore_oregen = 1; + nitrogen = 17; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/outdoors) +"qo" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced/full, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"qq" = ( +/obj/machinery/atmospherics/pipe/vent{ + dir = 1 + }, +/turf/simulated/floor/outdoors/snow/v5, +/area/submap/v5/outdoors) +"qs" = ( +/obj/structure/loot_pile/surface/alien/security, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/submap/v5/alien_ship) +"qE" = ( +/obj/machinery/atmospherics/portables_connector{ + dir = 8 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"qI" = ( +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"qT" = ( +/obj/machinery/light/floortube{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_airlock) +"ra" = ( +/turf/simulated/wall/eris, +/area/submap/v5/outpost_engi) +"ro" = ( +/obj/machinery/door/airlock/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"rM" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"rO" = ( +/obj/item/capture_crystal/glamour, +/turf/simulated/mineral/floor/icey{ + carbon_dioxide = 75; + ignore_cavegen = 1; + ignore_mapgen = 1; + ignore_oregen = 1; + nitrogen = 17; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/caves) +"sc" = ( +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/binary/passive_gate/on{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"sd" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_nhall) +"sm" = ( +/obj/structure/table/gamblingtable, +/obj/item/reagent_containers/food/condiment/small/peppermill{ + pixel_x = 3; + pixel_y = 13 + }, +/obj/item/reagent_containers/food/condiment/small/saltshaker{ + pixel_x = -1; + pixel_y = 10 + }, +/turf/simulated/floor/carpet/bcarpet, +/area/submap/v5/outpost_bar) +"sz" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_wr3) +"sA" = ( +/obj/structure/loot_pile/surface/bones, +/turf/simulated/mineral/floor/icey{ + carbon_dioxide = 75; + ignore_cavegen = 1; + ignore_mapgen = 1; + ignore_oregen = 1; + nitrogen = 17; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/caves) +"sT" = ( +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_nhall) +"sY" = ( +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 8 + }, +/obj/machinery/door/airlock/glass, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_nhall) +"sZ" = ( +/obj/machinery/atmospherics/unary/freezer{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"tn" = ( +/obj/machinery/atmospherics/omni/mixer{ + tag_east = 2; + tag_south = 1; + tag_south_con = 21; + tag_west = 1; + tag_west_con = 79 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"to" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/obj/structure/cable/orange{ + icon_state = "1-4" + }, +/turf/simulated/floor/tiled/steel_grid{ + carbon_dioxide = 75; + nitrogen = 17; + outdoors = 1; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/outdoors) +"tq" = ( +/obj/machinery/atmospherics/omni/atmos_filter{ + tag_east = 2; + tag_south = 4; + tag_west = 1 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"tv" = ( +/obj/item/robot_parts/robot_component/camera, +/turf/simulated/shuttle/floor/voidcraft/dark, +/area/submap/v5/mech_pod) +"tH" = ( +/obj/structure/prop/rock/crystal, +/turf/simulated/mineral/floor/icey{ + carbon_dioxide = 75; + ignore_cavegen = 1; + ignore_mapgen = 1; + ignore_oregen = 1; + nitrogen = 17; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/caves) +"tK" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/cyan, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"tO" = ( +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_power) +"tQ" = ( +/turf/simulated/shuttle/floor/voidcraft, +/area/submap/v5/outpost_bar) +"ui" = ( +/turf/simulated/wall{ + can_open = 1 + }, +/area/submap/v5/outpost_power) +"uk" = ( +/obj/effect/floor_decal/industrial/danger{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/effect/map_helper/airlock/door/int_door, +/obj/machinery/door/airlock/glass_external{ + frequency = 1379; + icon_state = "door_locked"; + id_tag = "v5_airlock_inner"; + locked = 1 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/steel_grid, +/area/submap/v5/outpost_airlock) +"ur" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/black{ + dir = 4 + }, +/obj/machinery/meter, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"ux" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_engi) +"uO" = ( +/obj/structure/cliff/automatic{ + dir = 8 + }, +/turf/simulated/floor/outdoors/snow/v5, +/area/submap/v5/outdoors) +"vh" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"vJ" = ( +/obj/machinery/light/floortube{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_wr3) +"vO" = ( +/obj/structure/cliff/automatic{ + dir = 5 + }, +/turf/simulated/floor/outdoors/snow/v5, +/area/submap/v5/outdoors) +"vV" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/cyan{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "0-8" + }, +/obj/machinery/power/terminal{ + dir = 1 + }, +/obj/machinery/power/apc/angled{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"wq" = ( +/obj/structure/outcrop/diamond, +/turf/simulated/floor/outdoors/ice/v5{ + outdoors = -1 + }, +/area/submap/v5/caves) +"wr" = ( +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"wt" = ( +/obj/machinery/vending/cigarette, +/turf/simulated/floor/carpet/bcarpet, +/area/submap/v5/outpost_bar) +"wu" = ( +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_engi) +"wJ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/universal, +/obj/machinery/meter, +/obj/machinery/door/airlock/glass_atmos, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"wM" = ( +/turf/simulated/floor/plating{ + carbon_dioxide = 75; + nitrogen = 17; + outdoors = 1; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/outpost_lpad2) +"wY" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/turf/simulated/floor/carpet/bcarpet, +/area/submap/v5/outpost_bar) +"xe" = ( +/obj/item/poi/brokenoldreactor, +/turf/simulated/shuttle/floor/voidcraft/dark, +/area/submap/v5/mech_pod) +"xl" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"xq" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_wr2) +"xu" = ( +/obj/structure/bed/chair/comfy, +/turf/simulated/floor/carpet/bcarpet, +/area/submap/v5/outpost_bar) +"xH" = ( +/turf/unsimulated/mineral{ + carbon_dioxide = 75; + icon_state = "rock-icey"; + nitrogen = 17; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/caves) +"xQ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/structure/cable/orange{ + icon_state = "1-4" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_whall) +"ya" = ( +/obj/random/research_sample_type1, +/turf/simulated/floor/outdoors/ice/v5{ + outdoors = -1 + }, +/area/submap/v5/caves) +"yo" = ( +/turf/simulated/shuttle/wall/voidcraft, +/area/submap/v5/mech_pod) +"yr" = ( +/obj/random/material, +/turf/simulated/mineral/floor/icey{ + carbon_dioxide = 75; + ignore_cavegen = 1; + ignore_mapgen = 1; + ignore_oregen = 1; + nitrogen = 17; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/caves) +"yw" = ( +/obj/structure/prop/rock/ice/round, +/turf/simulated/mineral/floor/icey{ + carbon_dioxide = 75; + ignore_cavegen = 1; + ignore_mapgen = 1; + ignore_oregen = 1; + nitrogen = 17; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/caves) +"yA" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_whall) +"yB" = ( +/turf/simulated/shuttle/floor/alienplating/blue, +/area/submap/v5/alien_ship) +"yQ" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced/full, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_airlock) +"yY" = ( +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"zk" = ( +/turf/simulated/wall/eris, +/area/submap/v5/outpost_dome) +"zo" = ( +/obj/structure/outcrop/iron, +/turf/simulated/floor/outdoors/snow/v5, +/area/submap/v5/outdoors) +"zs" = ( +/obj/structure/bed/chair/comfy/green, +/turf/simulated/shuttle/floor/voidcraft/dark, +/area/submap/v5/outpost_bar) +"zv" = ( +/obj/machinery/disposal, +/turf/simulated/floor/carpet/bcarpet, +/area/submap/v5/outpost_bar) +"zx" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/railing{ + dir = 1 + }, +/turf/simulated/floor/water{ + outdoors = -1 + }, +/area/submap/v5/outpost_power) +"zD" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/submap/v5/outpost_power) +"zH" = ( +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"zO" = ( +/obj/machinery/light/floortube{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_wr1) +"Ak" = ( +/obj/machinery/atmospherics/portables_connector{ + dir = 4 + }, +/obj/machinery/light, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"Ao" = ( +/obj/machinery/door/airlock/glass, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_nhall) +"Ax" = ( +/obj/machinery/door/airlock, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_wr2) +"AG" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/obj/machinery/power/apc/angled{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_wr1) +"AH" = ( +/obj/machinery/light/floortube{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_wr2) +"AI" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = 12 + }, +/turf/simulated/shuttle/floor/voidcraft, +/area/submap/v5/outpost_bar) +"AM" = ( +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_power) +"AS" = ( +/obj/machinery/door/airlock/glass, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"AW" = ( +/obj/structure/cable/orange{ + icon_state = "1-4" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_power) +"AX" = ( +/obj/structure/table/reinforced, +/turf/simulated/shuttle/floor/voidcraft/dark, +/area/submap/v5/outpost_bar) +"AZ" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced/full, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_airlock) +"Bc" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"Be" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/blue, +/obj/machinery/meter, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"Bk" = ( +/obj/machinery/power/smes/buildable, +/obj/structure/cable/orange{ + icon_state = "0-8" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_power) +"Bq" = ( +/obj/item/research_sample/rare, +/turf/simulated/mineral/floor/icey{ + carbon_dioxide = 75; + ignore_cavegen = 1; + ignore_mapgen = 1; + ignore_oregen = 1; + nitrogen = 17; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/caves) +"Bx" = ( +/obj/machinery/door/airlock/research, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_wr3) +"By" = ( +/turf/simulated/floor/plating, +/area/submap/v5/outpost_engihall) +"BB" = ( +/obj/structure/bed/chair/office/light{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"BC" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_wr2) +"BF" = ( +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/obj/machinery/power/apc/angled{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_wr2) +"BK" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/red{ + dir = 6 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"BQ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"BR" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced/full, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"Ca" = ( +/obj/machinery/atmospherics/unary/vent_pump/high_volume{ + dir = 1; + frequency = 1379; + id_tag = "v5_airlock_pump" + }, +/obj/effect/map_helper/airlock/atmos/pump_out_internal, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_airlock) +"Cg" = ( +/obj/random/outcrop, +/turf/simulated/mineral/floor/icey{ + carbon_dioxide = 75; + ignore_cavegen = 1; + ignore_mapgen = 1; + ignore_oregen = 1; + nitrogen = 17; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/caves) +"Cy" = ( +/turf/simulated/floor/outdoors/snow/v5, +/area/submap/v5/outpost_lpad) +"CQ" = ( +/turf/simulated/floor/plating, +/area/submap/v5/outpost_nhall) +"CR" = ( +/obj/machinery/portable_atmospherics/canister/air, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"Db" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"De" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_wr2) +"Df" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 6 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/submap/v5/outpost_power) +"Dj" = ( +/obj/structure/outcrop/gold, +/turf/simulated/mineral/floor/icey{ + carbon_dioxide = 75; + ignore_cavegen = 1; + ignore_mapgen = 1; + ignore_oregen = 1; + nitrogen = 17; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/caves) +"Dk" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "1-4" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_wr2) +"Dm" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/railing, +/turf/simulated/floor/water{ + outdoors = -1 + }, +/area/submap/v5/outpost_power) +"Dr" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/obj/machinery/light, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"Dt" = ( +/turf/simulated/floor/carpet/bcarpet, +/area/submap/v5/outpost_bar) +"Dy" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_nhall) +"DA" = ( +/turf/simulated/wall/eris, +/area/submap/v5/outpost_nhall) +"DB" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/black{ + dir = 4 + }, +/obj/machinery/meter, +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"DF" = ( +/obj/structure/urinal{ + pixel_y = 25 + }, +/turf/simulated/shuttle/floor/voidcraft, +/area/submap/v5/outpost_bar) +"DP" = ( +/obj/structure/prop/rock/ice, +/turf/simulated/mineral/floor/icey{ + carbon_dioxide = 75; + ignore_cavegen = 1; + ignore_mapgen = 1; + ignore_oregen = 1; + nitrogen = 17; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/caves) +"DZ" = ( +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/machinery/light/floortube{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_wr1) +"Ed" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_airlock) +"Ee" = ( +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"En" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_power) +"Eo" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable/orange{ + icon_state = "0-4" + }, +/obj/machinery/power/apc/angled{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_nhall) +"Et" = ( +/obj/structure/outcrop, +/turf/simulated/floor/outdoors/snow/v5, +/area/submap/v5/outdoors) +"Ev" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_nhall) +"EF" = ( +/obj/structure/railing, +/turf/simulated/floor/water{ + outdoors = -1 + }, +/area/submap/v5/outpost_power) +"EI" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/black, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"EP" = ( +/obj/structure/railing{ + dir = 1 + }, +/turf/simulated/floor/water{ + outdoors = -1 + }, +/area/submap/v5/outpost_power) +"EV" = ( +/obj/structure/cliff/automatic/corner{ + dir = 9 + }, +/turf/simulated/floor/outdoors/snow/v5, +/area/submap/v5/outdoors) +"Fe" = ( +/obj/structure/prop/rock/glamour/double, +/turf/simulated/mineral/floor/icey{ + carbon_dioxide = 75; + ignore_cavegen = 1; + ignore_mapgen = 1; + ignore_oregen = 1; + nitrogen = 17; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/caves) +"Fz" = ( +/turf/simulated/floor/plating, +/area/submap/v5/outpost_whall) +"FQ" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 5 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/submap/v5/outpost_power) +"FR" = ( +/obj/machinery/light/floortube{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_wr2) +"Gf" = ( +/obj/machinery/atmospherics/portables_connector{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"Gk" = ( +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_engi) +"Gt" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/black{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"GG" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced/full, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"GI" = ( +/obj/structure/closet/crate/oldreactor, +/turf/simulated/shuttle/floor/voidcraft/dark, +/area/submap/v5/mech_pod) +"GT" = ( +/obj/machinery/door/airlock/maintenance, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_airlock) +"Ha" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"Hf" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/universal, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/glass_atmos, +/obj/machinery/meter, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"Hj" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/research, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_wr3) +"Hm" = ( +/obj/machinery/atmospherics/pipe/vent{ + dir = 4 + }, +/turf/simulated/floor/outdoors/snow/v5, +/area/submap/v5/outdoors) +"Hn" = ( +/obj/structure/cable/orange{ + icon_state = "2-4" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_engihall) +"Hs" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"HB" = ( +/obj/machinery/atmospherics/omni/atmos_filter{ + tag_east = 2; + tag_south = 3; + tag_west = 1 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"HF" = ( +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_wr3) +"HG" = ( +/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"HI" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced/full, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"HL" = ( +/turf/simulated/shuttle/floor/voidcraft/dark, +/area/submap/v5/mech_pod) +"HQ" = ( +/obj/structure/outcrop/lead, +/turf/simulated/mineral/floor/icey{ + carbon_dioxide = 75; + ignore_cavegen = 1; + ignore_mapgen = 1; + ignore_oregen = 1; + nitrogen = 17; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/caves) +"HU" = ( +/obj/machinery/atmospherics/portables_connector{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"HW" = ( +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/glass_engineering, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"Ih" = ( +/obj/machinery/door/airlock/hatch, +/turf/simulated/shuttle/floor/voidcraft/dark, +/area/submap/v5/mech_pod) +"Ip" = ( +/obj/structure/table/gamblingtable, +/obj/machinery/chemical_dispenser/bar_soft/full, +/turf/simulated/shuttle/floor/voidcraft/dark, +/area/submap/v5/outpost_bar) +"It" = ( +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"Iw" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/steel_grid{ + carbon_dioxide = 75; + nitrogen = 17; + outdoors = 1; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/outdoors) +"IE" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/submap/v5/outpost_power) +"II" = ( +/turf/simulated/floor/water{ + outdoors = -1 + }, +/area/submap/v5/outpost_power) +"IQ" = ( +/obj/structure/prop/rock/ice/round, +/turf/simulated/floor/outdoors/snow/v5, +/area/submap/v5/outdoors) +"IZ" = ( +/obj/effect/overmap/visitable{ + icon = 'icons/obj/overmap_vr.dmi'; + icon_state = "virgo5"; + name = "Virgo 5"; + scanner_desc = "Mahir, or Virgo 5, is the fifth planet from the star Virgo-Erigone. It suffers from Kessler Syndrome, making landing difficult and only possible at specific time intervals. The surface sits well below inhabitable temperatures and the atmosphere consists primarily of carbon dioxide."; + skybox_icon = 'icons/skybox/virgo5.dmi'; + skybox_icon_state = 'v5'; + unknown_name = "unknown planet" + }, +/turf/unsimulated/mineral{ + carbon_dioxide = 75; + icon_state = "rock-icey"; + nitrogen = 17; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/outdoors) +"Jb" = ( +/obj/item/stack/material/steel, +/turf/simulated/floor/outdoors/snow/v5, +/area/submap/v5/outdoors) +"Jc" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/black, +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"Jd" = ( +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"Jg" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/turf/simulated/floor/carpet/bcarpet, +/area/submap/v5/outpost_bar) +"Jn" = ( +/obj/machinery/atmospherics/portables_connector{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"Jq" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/blue{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"Ju" = ( +/obj/structure/table/alien, +/obj/item/tool/crowbar/alien, +/turf/simulated/shuttle/floor/alien, +/area/submap/v5/alien_ship) +"Jx" = ( +/obj/machinery/atmospherics/portables_connector{ + dir = 1 + }, +/obj/machinery/portable_atmospherics/canister/air, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"JQ" = ( +/turf/simulated/floor/plating, +/area/submap/v5/outpost_wr2) +"JX" = ( +/turf/simulated/floor/outdoors/ice/v5{ + outdoors = -1 + }, +/area/submap/v5/caves) +"Kd" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/obj/machinery/light, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"Kf" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_whall) +"Kn" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/red{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"Kp" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_nhall) +"Kq" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/black{ + dir = 10 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"Ks" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/cyan{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/black, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"Ky" = ( +/obj/machinery/recharge_station, +/turf/simulated/shuttle/floor/voidcraft/dark, +/area/submap/v5/mech_pod) +"KF" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_wr2) +"KQ" = ( +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/obj/machinery/light/floortube, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"KY" = ( +/turf/simulated/wall/eris, +/area/submap/v5/outpost_wr1) +"Le" = ( +/obj/random/pacman, +/turf/simulated/mineral/floor/icey{ + carbon_dioxide = 75; + ignore_cavegen = 1; + ignore_mapgen = 1; + ignore_oregen = 1; + nitrogen = 17; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/caves) +"Lj" = ( +/obj/machinery/power/quantumpad, +/obj/structure/cable/orange{ + icon_state = "0-8" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"Lk" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_wr2) +"Ll" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"Lm" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/cyan{ + dir = 6 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"Lw" = ( +/turf/simulated/mineral/floor/icey{ + carbon_dioxide = 75; + ignore_cavegen = 1; + ignore_mapgen = 1; + ignore_oregen = 1; + nitrogen = 17; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/caves) +"LM" = ( +/obj/machinery/vending/boozeomat, +/turf/simulated/shuttle/floor/voidcraft/dark, +/area/submap/v5/outpost_bar) +"LQ" = ( +/obj/structure/bed/chair/comfy{ + dir = 1 + }, +/turf/simulated/floor/carpet/bcarpet, +/area/submap/v5/outpost_bar) +"LS" = ( +/obj/effect/floor_decal/industrial/danger{ + dir = 4 + }, +/obj/effect/map_helper/airlock/door/int_door, +/obj/machinery/door/airlock/glass_external{ + frequency = 1379; + icon_state = "door_locked"; + id_tag = "v5_airlock_inner"; + locked = 1 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_airlock) +"LY" = ( +/obj/structure/outcrop/diamond, +/turf/simulated/mineral/floor/icey{ + carbon_dioxide = 75; + ignore_cavegen = 1; + ignore_mapgen = 1; + ignore_oregen = 1; + nitrogen = 17; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/caves) +"Md" = ( +/turf/simulated/wall/eris, +/area/submap/v5/outpost_engihall) +"Mg" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_wr1) +"Mo" = ( +/turf/simulated/floor/plating{ + carbon_dioxide = 75; + nitrogen = 17; + outdoors = 1; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/outpost_lpad) +"Mp" = ( +/obj/structure/cable/orange{ + icon_state = "0-4" + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/machinery/power/apc/angled{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_wr1) +"Mr" = ( +/obj/structure/outcrop/iron, +/turf/simulated/mineral/floor/icey{ + carbon_dioxide = 75; + ignore_cavegen = 1; + ignore_mapgen = 1; + ignore_oregen = 1; + nitrogen = 17; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/caves) +"Ms" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "1-8" + }, +/obj/structure/cable/orange{ + icon_state = "2-8" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"Mt" = ( +/turf/simulated/floor/outdoors/ice/v5{ + outdoors = -1 + }, +/area/submap/v5/outdoors) +"Mw" = ( +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/light/floortube{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"My" = ( +/turf/simulated/shuttle/wall/alien/hard_corner, +/area/submap/v5/alien_ship) +"ME" = ( +/obj/machinery/atmospherics/valve, +/obj/machinery/atmospherics/pipe/simple/hidden/cyan{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "1-4" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"MJ" = ( +/obj/effect/map_helper/airlock/door/ext_door, +/obj/machinery/door/airlock/glass_external{ + frequency = 1379; + icon_state = "door_locked"; + id_tag = "v5_airlock_outer"; + locked = 1 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_airlock) +"MN" = ( +/obj/machinery/atmospherics/unary/heater{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"MV" = ( +/obj/machinery/portable_atmospherics/powered/scrubber, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_engi) +"MZ" = ( +/turf/simulated/floor/tiled/steel_grid{ + carbon_dioxide = 75; + nitrogen = 17; + outdoors = 1; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/outpost_lpad2) +"Na" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_airlock) +"Nf" = ( +/obj/structure/cable/orange{ + icon_state = "0-2" + }, +/obj/machinery/power/terminal{ + dir = 4 + }, +/obj/machinery/power/apc/angled{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_wr2) +"Nk" = ( +/obj/machinery/door/airlock/glass_atmos, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"Nl" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"Nu" = ( +/turf/simulated/floor/plating, +/area/submap/v5/outpost_power) +"NB" = ( +/obj/machinery/mech_recharger, +/turf/simulated/shuttle/floor/voidcraft/dark, +/area/submap/v5/mech_pod) +"ND" = ( +/obj/structure/prop/big_skeleton, +/turf/simulated/mineral/floor/icey{ + carbon_dioxide = 75; + ignore_cavegen = 1; + ignore_mapgen = 1; + ignore_oregen = 1; + nitrogen = 17; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/caves) +"NO" = ( +/turf/simulated/wall/eris, +/area/submap/v5/outpost_wr3) +"NV" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9 + }, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_wr3) +"NW" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_power) +"NY" = ( +/obj/structure/prop/rock/ice, +/turf/simulated/floor/outdoors/snow/v5, +/area/submap/v5/outdoors) +"Oc" = ( +/turf/simulated/mineral/icey/v5{ + temperature = 150 + }, +/area/submap/v5/outpost_power) +"Oe" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_engihall) +"Oj" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"On" = ( +/obj/structure/table/alien, +/obj/item/tool/wrench/alien, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/submap/v5/alien_ship) +"Oq" = ( +/obj/structure/outcrop/phoron, +/turf/simulated/mineral/floor/icey{ + carbon_dioxide = 75; + ignore_cavegen = 1; + ignore_mapgen = 1; + ignore_oregen = 1; + nitrogen = 17; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/caves) +"Ou" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_nhall) +"Oz" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/submap/v5/outpost_power) +"OA" = ( +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_nhall) +"OH" = ( +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_nhall) +"OQ" = ( +/obj/structure/cable/orange{ + icon_state = "1-4" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_airlock) +"OY" = ( +/obj/structure/cable/orange{ + icon_state = "2-8" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_power) +"OZ" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_nhall) +"Pi" = ( +/obj/item/stack/material/valhollide, +/turf/simulated/mineral/floor/icey{ + carbon_dioxide = 75; + ignore_cavegen = 1; + ignore_mapgen = 1; + ignore_oregen = 1; + nitrogen = 17; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/caves) +"Pt" = ( +/turf/simulated/wall/eris, +/area/submap/v5/outpost_power) +"Pu" = ( +/obj/structure/closet/cabinet, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/shuttle/floor/voidcraft/dark, +/area/submap/v5/outpost_bar) +"PF" = ( +/obj/structure/cliff/automatic, +/turf/simulated/floor/outdoors/snow/v5, +/area/submap/v5/outdoors) +"PO" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_whall) +"PR" = ( +/obj/item/aliencoin/phoron, +/turf/simulated/mineral/floor/icey{ + carbon_dioxide = 75; + ignore_cavegen = 1; + ignore_mapgen = 1; + ignore_oregen = 1; + nitrogen = 17; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/caves) +"PT" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/black{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"Qp" = ( +/obj/machinery/alarm, +/obj/structure/table/rack, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_nhall) +"Qq" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_whall) +"Qr" = ( +/obj/structure/table/gamblingtable, +/obj/item/reagent_containers/food/drinks/shaker{ + pixel_x = -7; + pixel_y = 11 + }, +/obj/item/reagent_containers/glass/rag, +/turf/simulated/shuttle/floor/voidcraft/dark, +/area/submap/v5/outpost_bar) +"Qs" = ( +/obj/machinery/alarm{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_nhall) +"QC" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/cyan{ + dir = 10 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"QE" = ( +/obj/machinery/atmospherics/portables_connector{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/black, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"QF" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_wr2) +"QK" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"QU" = ( +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/structure/cable/orange{ + icon_state = "2-8" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_engi) +"QY" = ( +/obj/structure/table/alien, +/obj/item/storage/belt/utility/alien, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/submap/v5/alien_ship) +"Rg" = ( +/obj/structure/cliff/automatic{ + dir = 9 + }, +/turf/simulated/floor/outdoors/snow/v5, +/area/submap/v5/outdoors) +"Rt" = ( +/obj/structure/table/alien, +/obj/item/aliencoin/gold, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/submap/v5/alien_ship) +"RE" = ( +/obj/machinery/atmospherics/binary/pump/high_power/on, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"RG" = ( +/obj/item/cell/device/weapon/recharge/alien, +/turf/simulated/mineral/floor/icey{ + carbon_dioxide = 75; + ignore_cavegen = 1; + ignore_mapgen = 1; + ignore_oregen = 1; + nitrogen = 17; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/caves) +"RH" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/steel_grid, +/area/submap/v5/outpost_airlock) +"RO" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_wr1) +"RY" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"Sl" = ( +/obj/machinery/media/jukebox, +/turf/simulated/floor/carpet/bcarpet, +/area/submap/v5/outpost_bar) +"Sn" = ( +/obj/machinery/atmospherics/unary/vent_pump/high_volume{ + dir = 4; + frequency = 1379; + id_tag = "v5_airlock_pump" + }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_airlock) +"Sq" = ( +/turf/simulated/wall/eris, +/area/submap/v5/outpost_atmos) +"Ss" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/railing{ + dir = 1 + }, +/turf/simulated/floor/water{ + outdoors = -1 + }, +/area/submap/v5/outpost_power) +"SJ" = ( +/obj/structure/railing, +/obj/structure/railing{ + dir = 4 + }, +/turf/simulated/floor/water{ + outdoors = -1 + }, +/area/submap/v5/outpost_power) +"SN" = ( +/obj/machinery/door/airlock/glass_engineering, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"SV" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"SY" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"Tb" = ( +/obj/machinery/airlock_sensor/airlock_exterior{ + pixel_x = 23 + }, +/obj/effect/map_helper/airlock/sensor/ext_sensor, +/turf/simulated/floor/outdoors/snow/v5, +/area/submap/v5/outpost_airlock) +"Tr" = ( +/obj/structure/table/gamblingtable, +/obj/item/storage/fancy/cigar, +/turf/simulated/shuttle/floor/voidcraft/dark, +/area/submap/v5/outpost_bar) +"Tt" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_wr1) +"Tz" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/railing, +/turf/simulated/floor/water{ + outdoors = -1 + }, +/area/submap/v5/outpost_power) +"TG" = ( +/obj/item/bluespace_crystal, +/turf/simulated/mineral/floor/icey{ + carbon_dioxide = 75; + ignore_cavegen = 1; + ignore_mapgen = 1; + ignore_oregen = 1; + nitrogen = 17; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/caves) +"TO" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/table/rack, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_nhall) +"TR" = ( +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/obj/structure/cable/orange{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"TT" = ( +/obj/machinery/crystal/ice, +/turf/simulated/floor/outdoors/ice/v5{ + outdoors = -1 + }, +/area/submap/v5/caves) +"TX" = ( +/obj/random/research_sample_type1, +/turf/simulated/mineral/floor/icey{ + carbon_dioxide = 75; + ignore_cavegen = 1; + ignore_mapgen = 1; + ignore_oregen = 1; + nitrogen = 17; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/caves) +"Ug" = ( +/obj/structure/prop/rock/ice/small, +/turf/simulated/floor/outdoors/snow/v5, +/area/submap/v5/outdoors) +"Uw" = ( +/obj/structure/outcrop/platinum, +/turf/simulated/mineral/floor/icey{ + carbon_dioxide = 75; + ignore_cavegen = 1; + ignore_mapgen = 1; + ignore_oregen = 1; + nitrogen = 17; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/caves) +"UH" = ( +/obj/structure/cable/orange{ + icon_state = "2-4" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_engi) +"UJ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"UN" = ( +/obj/structure/railing, +/obj/structure/railing{ + dir = 8 + }, +/turf/simulated/floor/water{ + outdoors = -1 + }, +/area/submap/v5/outpost_power) +"UR" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_wr3) +"UV" = ( +/obj/structure/prop/statue/pillar, +/turf/simulated/floor/outdoors/ice/v5{ + outdoors = -1 + }, +/area/submap/v5/caves) +"Vg" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"Vh" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_airlock) +"Vj" = ( +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_nhall) +"VJ" = ( +/obj/structure/table/gamblingtable, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/chemical_dispenser/bar_alc/full, +/turf/simulated/shuttle/floor/voidcraft/dark, +/area/submap/v5/outpost_bar) +"VM" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"VN" = ( +/obj/structure/table/glass, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_nhall) +"VT" = ( +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"Wa" = ( +/turf/simulated/mineral/crystal/v5, +/area/submap/v5/outdoors) +"Wc" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_wr2) +"Wo" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/cyan, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"Wr" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_wr2) +"Wu" = ( +/turf/simulated/floor/outdoors/ice/v5, +/area/submap/v5/outdoors) +"WD" = ( +/obj/machinery/power/rtg/fake_gen/geothermal, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/submap/v5/outpost_power) +"WJ" = ( +/obj/structure/cable/orange{ + icon_state = "0-4" + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/machinery/power/apc/angled{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_wr3) +"WL" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"WO" = ( +/obj/machinery/disposal, +/turf/simulated/shuttle/floor/voidcraft/dark, +/area/submap/v5/outpost_bar) +"WQ" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced/full, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"WT" = ( +/obj/structure/prop/rock/ice/spike, +/turf/simulated/floor/outdoors/snow/v5, +/area/submap/v5/outdoors) +"WW" = ( +/obj/structure/grille, +/obj/structure/window/titanium/full, +/turf/simulated/shuttle/floor/voidcraft, +/area/submap/v5/outpost_bar) +"WZ" = ( +/obj/machinery/atmospherics/pipe/tank/air{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_airlock) +"Xd" = ( +/obj/structure/table/alien, +/obj/item/gun/energy/alien, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/submap/v5/alien_ship) +"Xe" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/black{ + dir = 4 + }, +/obj/machinery/meter, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"Xi" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/red{ + dir = 9 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"Xj" = ( +/obj/machinery/atmospherics/binary/passive_gate{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"Xy" = ( +/turf/simulated/mineral/crystal/v5, +/area/submap/v5/caves) +"XC" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_wr2) +"XG" = ( +/turf/unsimulated/floor/steel{ + carbon_dioxide = 75; + icon = 'icons/turf/outdoors.dmi'; + icon_state = "snow"; + nitrogen = 17; + outdoors = 1; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/outdoors) +"XJ" = ( +/turf/simulated/floor/plating{ + carbon_dioxide = 75; + nitrogen = 17; + outdoors = 1; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/outdoors) +"XK" = ( +/obj/structure/prop/rock/ice/small, +/turf/simulated/mineral/floor/icey{ + carbon_dioxide = 75; + ignore_cavegen = 1; + ignore_mapgen = 1; + ignore_oregen = 1; + nitrogen = 17; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/caves) +"XO" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/black, +/obj/machinery/meter, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"XU" = ( +/obj/machinery/door/airlock, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_wr1) +"XX" = ( +/obj/machinery/power/apc/angled{ + dir = 4 + }, +/obj/machinery/power/terminal{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "0-2" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_airlock) +"Yc" = ( +/turf/simulated/floor/tiled/steel_grid{ + carbon_dioxide = 75; + nitrogen = 17; + outdoors = 1; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/outdoors) +"Yy" = ( +/obj/structure/table/alien, +/obj/item/tool/wirecutters/alien, +/turf/simulated/shuttle/floor/alien, +/area/submap/v5/alien_ship) +"Yz" = ( +/obj/machinery/atmospherics/unary/heater{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"YF" = ( +/obj/machinery/light/floortube{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_whall) +"YI" = ( +/obj/effect/map_helper/airlock/door/ext_door, +/obj/machinery/door/airlock/glass_external{ + frequency = 1379; + icon_state = "door_locked"; + id_tag = "v5_airlock_outer"; + locked = 1 + }, +/obj/machinery/access_button/airlock_exterior{ + master_tag = "v5_airlock"; + pixel_y = -20 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_airlock) +"YL" = ( +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/door/airlock/glass, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"YQ" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_wr1) +"YR" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/blue{ + dir = 5 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"Zb" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 10 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/submap/v5/outpost_power) +"Ze" = ( +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"Zf" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/cyan{ + dir = 5 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"Zh" = ( +/obj/item/stack/material/morphium, +/obj/structure/table/marble, +/obj/item/stack/material/morphium, +/obj/item/stack/material/morphium, +/obj/item/stack/material/morphium, +/obj/item/stack/material/morphium, +/turf/simulated/mineral/floor/icey{ + carbon_dioxide = 75; + ignore_cavegen = 1; + ignore_mapgen = 1; + ignore_oregen = 1; + nitrogen = 17; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/caves) +"Zn" = ( +/obj/structure/table/standard, +/obj/item/deskbell, +/obj/machinery/door/window{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_atmos) +"Zq" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_power) +"Zr" = ( +/obj/machinery/porta_turret/alien/abductor, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/submap/v5/alien_ship) +"Zu" = ( +/turf/unsimulated/mineral{ + carbon_dioxide = 75; + icon_state = "rock-icey"; + nitrogen = 17; + oxygen = 8; + temperature = 150 + }, +/area/submap/v5/outdoors) +"Zy" = ( +/turf/simulated/floor/outdoors/snow/v5, +/area/submap/v5/outdoors) +"Zz" = ( +/obj/random/empty_or_lootable_crate, +/turf/simulated/floor/outdoors/snow/v5, +/area/submap/v5/outdoors) +"ZI" = ( +/obj/structure/prop/rock/ice/small/alt, +/turf/simulated/floor/outdoors/snow/v5, +/area/submap/v5/outdoors) +"ZL" = ( +/obj/structure/prop/rock/ice/flat, +/turf/simulated/floor/outdoors/snow/v5, +/area/submap/v5/outdoors) +"ZM" = ( +/turf/simulated/mineral/icey/v5{ + temperature = 150 + }, +/area/submap/v5/outdoors) +"ZV" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced/full, +/turf/simulated/floor/plating, +/area/submap/v5/outpost_dome) +"ZX" = ( +/turf/simulated/wall/eris, +/area/submap/v5/outpost_airlock) + +(1,1,1) = {" +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +Zu +Zu +Zu +Zu +Zu +Zu +Zu +Zu +Zu +Zu +Zu +Zu +Zu +Zu +Zu +Zu +Zu +Zu +Zu +Zu +Zu +Zu +Zu +Zu +Zu +Zu +Zu +Zu +Zu +Zu +Zu +Zu +Zu +IZ +"} +(2,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +oL +"} +(3,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Mr +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +JX +JX +JX +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +ZM +ZM +ZM +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +Zu +"} +(4,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +TX +Lw +Lw +Lw +Mr +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Mr +TX +Mr +eN +eN +eN +eN +eN +eN +eN +JX +JX +JX +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +hZ +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +ZM +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ZL +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +Zu +"} +(5,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Mr +Lw +Lw +Mr +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Mr +Lw +Lw +Mr +eN +eN +eN +eN +eN +eN +JX +JX +JX +JX +eN +eN +Mr +Lw +Mr +Lw +eN +eN +eN +eN +Mr +Lw +Lw +Mr +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ZI +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +Zu +"} +(6,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +HQ +Lw +Lw +Lw +Le +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Mr +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +JX +JX +JX +JX +eN +eN +Lw +Lw +Lw +Lw +Lw +Mr +eN +eN +Lw +Lw +TX +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ZM +ZM +ZM +ZM +ZM +ZM +Zu +"} +(7,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Mr +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Mr +eN +eN +eN +eN +eN +eN +eN +JX +JX +JX +JX +eN +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Mr +eN +eN +eN +eN +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ZM +ZM +ZM +ZM +ZM +Zu +"} +(8,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +HQ +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +JX +JX +JX +JX +Lw +Lw +Lw +Lw +Mr +eN +eN +eN +eN +eN +eN +Mr +hZ +eN +eN +eN +eN +eN +TX +HQ +Lw +Lw +eN +eN +eN +eN +eN +eN +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +wM +wM +wM +wM +wM +wM +wM +wM +wM +wM +wM +wM +wM +wM +wM +wM +wM +Zy +Zy +ZM +ZM +ZM +ZM +Zu +"} +(9,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +eN +eN +Lw +eK +Lw +Lw +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +Lw +eK +eK +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +Mr +Lw +Lw +Mr +eN +eN +eN +eN +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +Zy +IQ +Zy +Jb +Zy +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +Mt +JX +JX +JX +eN +eN +Mr +Mr +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +HQ +eN +eN +eN +eN +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +wM +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +wM +Zy +Zy +Zy +ZM +ZM +ZM +Zu +"} +(10,1,1) = {" +xH +eN +eN +eK +Lw +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eK +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Mr +Lw +eN +eN +eN +eN +eN +ZM +ZM +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zz +Zy +Zy +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +Mt +JX +JX +JX +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +HQ +Lw +eN +eN +eN +eN +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +wM +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +wM +Zy +Zy +Zy +ZM +ZM +ZM +Zu +"} +(11,1,1) = {" +xH +eN +Lw +Lw +Lw +Lw +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +TX +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +eK +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +ZM +ZM +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Jb +ZM +ZM +ZM +ZM +ZM +ZM +ZM +Mt +JX +JX +JX +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +eN +eN +eN +eN +eN +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +wM +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +wM +Zy +IQ +Zy +ZM +ZM +ZM +Zu +"} +(12,1,1) = {" +xH +eN +eK +Lw +Lw +Lw +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +eK +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +ZM +ZM +ZM +ZM +ZM +Zy +Zy +XG +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Jb +Zy +Zy +Zy +ZM +ZM +ZM +ZM +ZM +ZM +Mt +Mt +Mt +Mt +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +wM +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +wM +Zy +Zy +Zy +Zy +ZM +ZM +Zu +"} +(13,1,1) = {" +xH +eN +eN +Lw +eK +eN +eN +eN +eN +eK +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +Lw +eK +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ZM +ZM +ZM +ZM +ZM +Mt +Mt +Mt +Mt +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +wM +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +wM +Zy +Zy +Zy +Zy +ZM +ZM +Zu +"} +(14,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +Lw +TX +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ZM +ZM +ZM +ZM +Mt +Mt +Mt +Mt +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ZM +ZM +ZM +XJ +Yc +Yc +Yc +Yc +Yc +Yc +Yc +Yc +Yc +Yc +Yc +Yc +Yc +Yc +Yc +Yc +Yc +Yc +Yc +Yc +Yc +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +wM +Zy +Zy +Zy +Zy +ZM +ZM +Zu +"} +(15,1,1) = {" +xH +eN +eN +eN +eN +yo +yo +yo +yo +yo +yo +yo +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +ZM +ZM +ZM +ZI +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Et +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Zy +Zy +Zy +Et +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ZM +ZM +XJ +Yc +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +wM +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +wM +Zy +Zy +Zy +Zy +ZM +ZM +Zu +"} +(16,1,1) = {" +xH +eN +eN +eN +eN +yo +GI +HL +HL +HL +HL +Ih +Lw +Lw +Lw +Lw +Lw +Lw +Lw +HQ +eN +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Et +Wu +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +NY +Zy +Zy +ZM +XJ +Yc +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +XJ +wM +MZ +MZ +MZ +MZ +oH +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +wM +Zy +Zy +Zy +Zy +ZM +ZM +Zu +"} +(17,1,1) = {" +xH +eN +eN +eN +eN +yo +Ky +HL +HL +NB +HL +yo +Lw +Lw +Lw +Lw +Lw +TX +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +XJ +Yc +XJ +ZM +ZM +eN +Lw +TX +pc +eN +eN +eN +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +wM +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +wM +Zy +Zy +Zy +Zy +ZM +ZM +Zu +"} +(18,1,1) = {" +xH +eN +eN +eN +eN +yo +Ky +HL +HL +NB +tv +yo +Lw +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +XJ +Yc +XJ +ZM +ZM +eN +pc +Lw +Lw +eN +eN +eN +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +wM +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +wM +Zy +Zy +Zy +Zy +Zy +ZM +Zu +"} +(19,1,1) = {" +xH +eN +eN +eN +eN +yo +xe +HL +HL +HL +HL +Ih +Lw +Lw +Lw +HQ +Lw +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +XJ +Yc +XJ +ZI +ZM +eN +eN +pc +Lw +eN +eN +eN +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +wM +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +wM +Zy +Zy +Ug +Zy +Zy +ZM +Zu +"} +(20,1,1) = {" +xH +eN +eN +eN +eN +yo +yo +yo +yo +yo +yo +yo +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +XJ +Yc +XJ +Zy +ZM +eN +eN +eN +eN +eN +eN +eN +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +wM +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +wM +Zy +Zy +Zy +Zy +Zy +ZM +Zu +"} +(21,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +eN +eN +eK +Lw +Lw +eN +eN +eN +eN +eN +eN +Lw +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +Lw +Lw +eN +eN +Lw +HQ +eN +eN +ZM +ZM +ZM +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +XJ +Yc +XJ +Zy +Zy +ZM +eN +eN +eN +eN +eN +eN +eN +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +wM +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +wM +Zy +Zy +Zy +Zy +Zy +ZM +Zu +"} +(22,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Lw +eK +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +eN +eN +ZM +ZM +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +XJ +Yc +XJ +Zy +Zy +ZM +eN +eN +eN +eN +eN +eN +eN +Zy +Ug +Zy +Zy +Zy +Zy +Zy +Zy +Zy +wM +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +wM +Zy +Zy +Zy +Zy +Zy +ZM +Zu +"} +(23,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eK +Lw +Lw +eK +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +XJ +Yc +XJ +Zy +Zy +ZM +eN +eN +eN +eN +eN +eN +eN +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +wM +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +wM +Zy +Zy +Zy +Zy +Zy +ZM +Zu +"} +(24,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +XJ +Yc +XJ +Zy +Zy +Ug +eN +eN +eN +eN +eN +eN +eN +eN +fr +Zy +Zy +Zy +Zy +Zy +Zy +Zy +wM +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +wM +Zy +Zy +Zy +Zy +Zy +Zy +Zu +"} +(25,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eK +Lw +eK +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +XJ +Yc +XJ +Zy +Zy +Zy +ZM +eN +eN +eN +Lw +Lw +eN +eN +fr +Zy +Zy +Zy +Zy +Zy +Zy +Zy +wM +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +wM +Zy +Zy +Zy +Zy +Zy +Zy +Zu +"} +(26,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +XJ +Yc +XJ +Zy +Zy +Zy +ZM +eN +eN +eN +pc +Lw +eN +eN +eN +Zy +Zy +Zy +Zy +Zy +Zy +Zy +wM +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +wM +Zy +Zy +Zy +Zy +Zy +Zy +Zu +"} +(27,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +qj +qj +qj +qj +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +XJ +Yc +XJ +Zy +Zy +Zy +Zy +eN +eN +eN +eN +Lw +pc +eN +eN +ZM +Zy +Zy +Zy +Zy +Zy +Zy +wM +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +wM +Zy +Zy +Zy +Zy +Zy +Zy +Zu +"} +(28,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +HQ +Lw +Lw +eN +ZM +ZM +qj +qj +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +XJ +Yc +XJ +Zy +Zy +Zy +Zy +fr +eN +eN +eN +eN +eN +eN +eN +ZM +ZM +Zy +Zy +Zy +Zy +Zy +wM +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +wM +Zy +Zy +Zy +Zy +Zy +Zy +Zu +"} +(29,1,1) = {" +xH +eN +eN +eN +eN +Oq +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +eN +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +XJ +Yc +XJ +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ZM +ZM +ZM +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +wM +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +wM +Zy +Zy +Zy +Zy +Zy +ZM +Zu +"} +(30,1,1) = {" +xH +eN +eN +eN +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +XJ +Yc +XJ +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ZM +ZM +ZM +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +wM +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +oH +MZ +MZ +MZ +MZ +MZ +MZ +wM +Zy +Zy +Zy +Zy +Zy +ZM +Zu +"} +(31,1,1) = {" +xH +eN +eN +Oq +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Mr +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +XJ +Yc +XJ +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ZM +ZM +ZM +ZM +ZM +ZI +Zy +Zy +Zy +wM +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +wM +Zy +Zy +Zy +Zy +Zy +ZM +Zu +"} +(32,1,1) = {" +xH +eN +Lw +TX +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Mr +eN +eN +eN +eN +eN +eN +eN +eN +eN +Zy +Ug +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Et +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +XJ +Yc +XJ +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +wM +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +wM +Zy +Zy +Zy +Zy +ZM +ZM +Zu +"} +(33,1,1) = {" +xH +eN +Oq +Lw +Lw +Lw +Oq +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Mr +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +ZM +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +XJ +Yc +XJ +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ZM +Zy +Zy +Zy +Zy +Zy +wM +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +wM +Zy +Zy +Zy +Zy +ZM +ZM +Zu +"} +(34,1,1) = {" +xH +eN +eN +Lw +Oq +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +XJ +Yc +XJ +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +NY +Zy +Zy +Zy +Zy +wM +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +wM +Zy +Zy +Zy +ZM +ZM +ZM +Zu +"} +(35,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +Mr +Lw +Lw +Mr +eN +eN +eN +eN +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +XJ +Yc +XJ +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +WT +Zy +Zy +Zy +Zy +IQ +Zy +ZL +wM +wM +wM +wM +wM +wM +wM +wM +wM +wM +wM +wM +wM +wM +wM +wM +wM +Zy +Zy +ZM +ZM +ZM +ZM +Zu +"} +(36,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +eN +DP +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +Lw +Mr +eN +eN +eN +eN +eN +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +XJ +Yc +XJ +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +IQ +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ZM +ZM +ZM +ZM +ZM +Zu +"} +(37,1,1) = {" +xH +eN +eN +eN +eN +eN +My +ll +ll +ll +My +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +XJ +Yc +XJ +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +WT +Zy +Ug +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ZM +ZM +ZM +ZM +ZM +ZM +Zu +"} +(38,1,1) = {" +xH +eN +eN +eN +eN +My +My +Xd +On +Rt +My +My +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +ZM +ZM +ZM +ZM +ZM +ZM +ZM +NY +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Et +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +XJ +Yc +XJ +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ZM +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +fr +eN +Lw +eN +eN +eN +eN +eN +eN +Zu +"} +(39,1,1) = {" +xH +eN +eN +eN +My +My +Zr +yB +yB +yB +yB +My +My +yw +Lw +eN +eN +eN +eN +eN +eN +ZM +ZM +ZM +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +XJ +Yc +XJ +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +IQ +Zy +Zy +ZM +ZM +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +NY +eN +eN +Lw +Lw +Mr +eN +eN +eN +eN +Zu +"} +(40,1,1) = {" +xH +eN +eN +eN +ll +cQ +yB +yB +kn +yB +yB +yB +ll +Lw +Lw +eN +eN +eN +eN +eN +eN +ZM +ZM +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +XJ +Yc +XJ +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ZM +ZM +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +eN +TX +Lw +Lw +Lw +Lw +eN +eN +eN +Zu +"} +(41,1,1) = {" +xH +eN +eN +eN +ll +hD +yB +lh +kn +Yy +yB +yB +ll +Lw +Lw +hw +eN +eN +eN +eN +eN +ZM +ZM +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +XJ +Yc +XJ +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +ZM +eN +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +Zu +"} +(42,1,1) = {" +xH +eN +eN +eN +ll +yB +kn +kn +kn +kn +kn +yB +mj +Lw +Lw +Lw +eN +eN +eN +eN +eN +ZM +ZM +ZM +ZM +ZM +ZM +Zy +Zy +Zy +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Rg +uO +uO +uO +uO +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +XJ +Yc +XJ +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ZM +ZM +ZM +ZM +ZM +ZM +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Mr +Lw +Lw +Mr +eN +eN +eN +Zu +"} +(43,1,1) = {" +xH +eN +eN +eN +ll +yB +kn +kn +kn +kn +kn +yB +mj +Lw +Lw +Lw +eN +eN +eN +eN +eN +ZM +ZM +ZM +ZM +ZM +Zy +Zy +Zy +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +PF +Zy +Zy +zo +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +XJ +Yc +XJ +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ZM +ZM +ZM +ZM +ZM +ZM +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +eN +eN +eN +eN +xH +"} +(44,1,1) = {" +xH +eN +eN +eN +ll +qs +yB +lV +kn +Ju +yB +yB +ll +Lw +Lw +Lw +eN +eN +eN +Lw +Mr +ZM +ZM +ZM +ZM +ZM +Zy +Zy +Zy +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +PF +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +XJ +Yc +XJ +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ZM +ZM +ZM +ZM +ZM +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +xH +"} +(45,1,1) = {" +xH +eN +eN +eN +ll +hg +yB +yB +kn +yB +yB +yB +ll +Lw +Lw +Lw +eN +eN +Mr +Lw +Lw +ZM +ZM +ZM +ZM +ZM +Zy +Zy +Zy +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +zo +PF +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +XJ +Yc +XJ +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ZM +ZM +ZM +ZM +ZM +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +xH +"} +(46,1,1) = {" +xH +eN +eN +eN +My +My +Zr +yB +yB +yB +yB +My +My +Lw +Lw +eN +eN +eN +eN +Mr +eN +ZM +ZM +ZM +ZM +ZM +Zy +Zy +ZM +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Rg +EV +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +XJ +Yc +XJ +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ek +ek +xq +xq +xq +ek +xq +xq +xq +ek +ek +ZM +ZM +ZM +ZM +eN +eN +eN +eN +eN +eN +eN +eN +Mr +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +xH +"} +(47,1,1) = {" +xH +eN +eN +eN +eN +My +My +pR +nw +QY +My +My +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +ZM +ZM +ZM +ZM +ZM +Zy +Zy +ZM +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +PF +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +XJ +Yc +XJ +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ek +Lk +JQ +JQ +JQ +JQ +JQ +JQ +JQ +Lk +ek +Zy +ZM +ZM +ZM +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Mr +Lw +Lw +eN +eN +eN +eN +eN +xH +"} +(48,1,1) = {" +xH +eN +eN +eN +eN +eN +My +ll +ll +ll +My +go +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +ZM +ZM +ZM +ZM +ZM +Zy +Zy +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +PF +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Et +Wu +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +XJ +Yc +XJ +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ek +Wc +JQ +AH +JQ +JQ +JQ +AH +JQ +Wc +ek +Zy +ZM +ZM +ZM +eN +eN +eN +eN +eN +eN +eN +Mr +Lw +Lw +Lw +Lw +Lw +Lw +Mr +eN +eN +eN +xH +"} +(49,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +jg +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +ZM +ZM +ZM +ZM +Zy +Zy +Zy +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +PF +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +XJ +Yc +XJ +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ek +oQ +BC +BC +BC +BC +fp +BC +BC +De +ek +Zy +Zy +ZM +ZM +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +Mr +Lw +TX +eN +eN +eN +xH +"} +(50,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +PF +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +XJ +Yc +XJ +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ek +KF +JQ +FR +JQ +JQ +QF +FR +JQ +KF +ek +Zy +Zy +ZM +ZM +eN +eN +eN +eN +eN +eN +eN +TX +Lw +Mr +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +xH +"} +(51,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +eN +Lw +XK +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +PF +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +XJ +Yc +XJ +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ek +Wr +JQ +Nf +BF +oX +Dk +JQ +JQ +Wr +ek +Zy +Zy +Zy +Zy +ZM +ZM +ZM +ZM +ZM +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +xH +"} +(52,1,1) = {" +xH +eN +eN +Oq +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Rg +EV +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +XJ +Yc +XJ +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +KY +KY +KY +KY +KY +Ax +XC +Ax +NO +NO +NO +NO +NO +NO +Zy +ZM +ZM +ZM +ZM +ZM +eN +eN +eN +eN +Lw +Mr +Lw +Lw +Mr +eN +eN +eN +eN +xH +"} +(53,1,1) = {" +xH +eN +eN +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +PF +Zy +WT +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +XJ +Yc +XJ +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +KY +oO +Mp +AG +KY +Fz +Qq +Fz +NO +UR +WJ +oP +ds +NO +Zy +Zy +ZM +ZM +ZM +ZM +eN +eN +eN +eN +eN +eN +Lw +Lw +eN +eN +eN +eN +eN +xH +"} +(54,1,1) = {" +xH +eN +eN +Oq +Oq +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +Mr +eN +eN +eN +eN +eN +eN +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +PF +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Zy +ei +ei +fA +ei +ei +ei +WW +ei +WW +ei +ei +Zy +XJ +Yc +XJ +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Tt +oO +DZ +fU +XU +Fz +Qq +Fz +Bx +lx +HF +vJ +ds +kG +Zy +Zy +ZM +ZM +ZM +ZM +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +xH +"} +(55,1,1) = {" +xH +eN +eN +eN +Lw +Lw +Oq +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +eN +eN +eN +eN +eN +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +PF +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +ei +kT +aF +AX +ez +Sl +xu +sm +LQ +hL +ei +Zy +XJ +Yc +XJ +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Tt +oO +pe +jl +Mg +Kf +pV +Kf +Hj +NV +bG +ds +ds +kG +Zy +Zy +Zy +ZM +ZM +ZM +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +xH +"} +(56,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Mr +Lw +Lw +Lw +eN +eN +eN +eN +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +PF +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +ei +VJ +aF +AX +ez +Dt +Dt +Dt +Dt +pQ +ei +Zy +XJ +Yc +XJ +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Tt +oO +zO +RO +XU +Fz +yA +Fz +Bx +sz +ds +pz +ds +kG +Zy +Zy +Zy +ZM +ZM +ZM +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +xH +"} +(57,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Mr +Lw +Lw +Lw +Lw +eN +eN +eN +eN +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +PF +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +ei +Ip +zs +AX +ez +Dt +xu +sm +LQ +Dt +ei +Zy +XJ +Yc +XJ +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +KY +oO +oO +YQ +KY +ig +yA +Fz +NO +op +ds +ds +ds +NO +Zy +ZL +Zy +ZM +ZM +ZM +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +xH +"} +(58,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Mr +eN +eN +eN +eN +eN +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +PF +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +ei +LM +aF +AX +ez +Jg +xu +sm +LQ +Dt +ei +Zy +XJ +Yc +XJ +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +KY +Tt +Tt +KY +KY +iw +xQ +Fz +NO +NO +kG +kG +NO +NO +Zy +Zy +Zy +ZM +ZM +ZM +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +xH +"} +(59,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +TX +Mr +eN +eN +eN +eN +eN +eN +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +PF +Zy +zo +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +ei +Qr +aF +AX +ez +wY +ay +lH +lH +lH +pC +Iw +Iw +to +XJ +Cy +Cy +Cy +Cy +Cy +Cy +Cy +Cy +Cy +Cy +Cy +Cy +Cy +PO +Fz +yA +Fz +PO +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ZM +ZM +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +xH +"} +(60,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +PF +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +ei +Tr +aF +AX +ez +ca +ei +ei +ei +ei +ei +Zy +XJ +om +XJ +Cy +Cy +Mo +Mo +Mo +Mo +Mo +Mo +Mo +Cy +Cy +Cy +Cy +PO +YF +yA +iE +PO +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ZM +ZM +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +xH +"} +(61,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +PF +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +ei +mc +aF +AX +ez +Dt +ei +DF +tQ +tQ +ei +Zy +XJ +om +XJ +Cy +Mo +Cy +Cy +Cy +Cy +Cy +Cy +Cy +Mo +Cy +Cy +Cy +PO +Fz +yA +Fz +PO +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ZM +ZM +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +xH +"} +(62,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +PF +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +ei +Pu +aF +aF +Dt +Dt +cd +tQ +ei +cd +ei +Zy +XJ +om +XJ +Mo +Cy +Mo +Mo +Mo +Mo +Mo +Mo +Mo +Cy +Mo +Cy +Cy +PO +Fz +yA +Fz +PO +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ZM +ZM +eN +eN +eN +eN +eN +hZ +eN +eN +eN +eN +eN +eN +eN +xH +"} +(63,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +PF +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +ei +WO +aF +AX +wt +zv +ei +AI +ei +kw +ei +Zy +XJ +om +XJ +Mo +Cy +Cy +nM +Cy +Mo +Cy +Cy +Cy +Cy +Mo +Cy +Cy +PO +Fz +yA +Fz +PO +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ip +Zy +Zy +ZM +eN +eN +eN +eN +eN +Lw +Dj +eN +eN +eN +eN +eN +eN +xH +"} +(64,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Mr +eN +eN +eN +eN +eN +eN +eN +eN +eN +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +PF +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +ei +ei +ei +ei +ei +ei +ei +ei +ei +ei +ei +Zy +XJ +om +XJ +Mo +Cy +Cy +Cy +Cy +Mo +Cy +Cy +Cy +Cy +Mo +Cy +Cy +PO +Fz +yA +Fz +PO +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ZM +eN +eN +eN +eN +Dj +Lw +Lw +TX +eN +eN +eN +eN +eN +xH +"} +(65,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +ZM +ZI +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +PF +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +XJ +om +XJ +Mo +Cy +Cy +Cy +Cy +Mo +Cy +Cy +Cy +Cy +Mo +Cy +Cy +PO +YF +yA +iE +PO +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ZM +eN +eN +eN +eN +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +xH +"} +(66,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +Mr +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +PF +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +XJ +om +XJ +Mo +Cy +Mo +Mo +Mo +Mo +Mo +Mo +Mo +Cy +Mo +Cy +Cy +PO +Fz +yA +Fz +PO +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ZI +ZM +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Dj +eN +eN +eN +eN +xH +"} +(67,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Mr +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +PF +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Et +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +XJ +om +XJ +Cy +Mo +Cy +Cy +Cy +Cy +Cy +Cy +Cy +Mo +Cy +Cy +WQ +zk +AS +ro +AS +zk +GG +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ZM +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +xH +"} +(68,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +eN +TX +Mr +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +PF +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +XJ +om +XJ +Cy +Cy +Mo +Mo +Mo +Mo +Mo +Mo +Mo +Cy +Cy +WQ +cb +Oj +kO +HG +kO +Vg +cb +GG +Zy +Zy +Zy +jA +Zy +Zy +Zy +Zy +ZM +eN +eN +eN +eN +eN +Dj +Lw +Lw +hZ +eN +eN +eN +eN +xH +"} +(69,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +PF +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +XJ +om +XJ +Cy +Cy +Cy +Cy +Cy +Cy +Cy +Cy +Cy +Cy +WQ +cb +VM +UJ +WL +xl +Nl +Bc +SV +cb +GG +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ZM +eN +eN +eN +eN +eN +Lw +Lw +Dj +eN +eN +eN +eN +eN +xH +"} +(70,1,1) = {" +xH +eN +eN +eN +eN +Pi +eN +eN +eN +eN +eN +eN +eN +eN +eN +Mr +eN +eN +eN +eN +eN +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +PF +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +XJ +om +XJ +Cy +Cy +Cy +Cy +Cy +Cy +Cy +Cy +Cy +zk +cb +VM +UJ +wr +wr +yY +wr +wr +Bc +SV +cb +zk +Zy +Zy +Zy +Zy +XG +Zy +ZM +eN +eN +eN +eN +Dj +Lw +hZ +eN +eN +eN +eN +eN +eN +xH +"} +(71,1,1) = {" +xH +eN +eN +eN +Pi +Pi +Pi +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +eN +eN +eN +eN +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +PF +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Tb +XJ +om +XJ +Cy +Cy +Cy +Cy +Cy +Cy +Cy +Cy +zk +zk +VM +UJ +wr +wr +wr +yY +wr +wr +wr +Bc +SV +zk +zk +Zy +Zy +Zy +Zy +Zy +ZM +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +xH +"} +(72,1,1) = {" +xH +eN +eN +eN +Pi +Pi +Pi +eN +eN +eN +eN +eN +eN +eN +eN +Mr +Lw +Mr +eN +eN +eN +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +PF +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ZX +MJ +fn +YI +ZX +ZX +ZX +ZX +Cy +Cy +Cy +zk +zk +mq +UJ +wr +wr +wr +WL +nf +Nl +wr +wr +wr +Bc +Kd +zk +zk +Zy +Zy +Zy +Zy +ZM +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +xH +"} +(73,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Mr +Lw +Lw +eN +eN +eN +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +PF +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +oe +yQ +Ca +RH +Sn +Vh +WZ +WZ +ZX +Cy +Cy +WQ +cb +VM +UJ +wr +wr +wr +wr +wr +Db +wr +wr +wr +wr +wr +Bc +SV +cb +GG +Zy +Zy +IQ +ZM +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +xH +"} +(74,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +eN +eN +eN +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +zo +PF +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +AZ +qT +RH +ck +Ed +Na +gI +ZX +Cy +WQ +cb +VM +UJ +wr +wr +wr +wr +wr +wr +Db +wr +wr +wr +wr +wr +wr +Bc +SV +cb +GG +Zy +Zy +ZM +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +xH +"} +(75,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +eN +eN +eN +Mr +eN +eN +eN +eN +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +PF +Zy +zo +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Zy +Zy +Et +Zy +oe +yQ +Ca +RH +ai +Vh +XX +OQ +ZX +Cy +HI +VM +UJ +wr +wr +wr +wr +wr +wr +wr +Db +wr +wr +wr +wr +wr +wr +wr +BQ +wr +BR +Zy +Zy +Zy +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +xH +"} +(76,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +eN +Lw +RG +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +ZM +WT +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +vO +dX +Zy +zo +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Zy +Zy +Zy +Zy +ZX +LS +uk +ba +ZX +ZX +GT +ZX +Ou +zk +of +wr +wr +wr +wr +wr +wr +wr +wr +Db +wr +wr +wr +wr +wr +wr +wr +BQ +bq +zk +Zy +Zy +Zy +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +xH +"} +(77,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +go +Lw +eN +eN +eN +eN +eN +eN +eN +eN +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +PF +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Wu +Zy +Zy +Ou +mG +ki +Kp +Qs +Eo +sT +CQ +CQ +AS +BQ +Ha +wr +wr +wr +wr +wr +wr +wr +Db +wr +wr +wr +wr +wr +Ha +wr +BQ +Ha +zk +Zy +Zy +Zy +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +xH +"} +(78,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +TX +Lw +eN +eN +eN +eN +eN +eN +eN +eN +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +PF +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Wu +Zy +Ou +CQ +dO +pr +Vj +ke +ke +Vj +Vj +YL +It +av +Ee +Ee +Mw +Ee +TR +Ee +Ee +aR +Ee +Ee +Ee +Ee +Ee +KQ +zH +VT +cZ +zk +Zy +Zy +Zy +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +xH +"} +(79,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +PF +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Ou +CQ +OA +sd +OZ +CQ +CQ +CQ +CQ +AS +BQ +rM +wr +wr +wr +wr +yY +wr +wr +aw +wr +wr +wr +wr +wr +rM +wr +BQ +rM +zk +Zy +Zy +Zy +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +xH +"} +(80,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +PF +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +DA +Ao +sY +Ao +DA +Ou +Ou +Ou +Ou +zk +of +wr +wr +wr +wr +wr +yY +wr +wr +aw +wr +wr +wr +wr +wr +wr +wr +BQ +bq +zk +Zy +Zy +Zy +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +xH +"} +(81,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +PF +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Ou +pn +OH +Ev +Ou +Zy +Zy +Zy +Zy +HI +Bc +SV +wr +wr +wr +wr +yY +wr +wr +aw +wr +wr +wr +wr +wr +wr +wr +BQ +wr +BR +Zy +Zy +Zy +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +xH +"} +(82,1,1) = {" +xH +eN +eN +eN +eN +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +PF +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Ou +ie +OA +CQ +Ou +Zy +Zy +Zy +Zy +ZV +cb +Bc +SV +wr +wr +wr +Lj +wr +wr +aw +wr +wr +wr +wr +wr +wr +VM +UJ +cb +hj +Zy +Zy +Ug +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +xH +"} +(83,1,1) = {" +xH +eN +eN +eN +eN +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +PF +Zy +zo +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Et +Ou +VN +OA +CQ +Ou +Wu +Zy +Zy +Zy +Zy +qo +cb +Bc +SV +wr +wr +wr +wr +wr +aw +wr +wr +wr +wr +wr +VM +UJ +cb +hj +Zy +Zy +Zy +Zy +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +xH +"} +(84,1,1) = {" +xH +eN +eN +eN +eN +Lw +Lw +Lw +eN +eN +eN +eN +TX +eN +eN +eN +eN +eN +eN +eN +eN +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +vO +dX +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Ou +kt +OA +CQ +Ou +Wu +Wu +Zy +Zy +Zy +Zy +zk +zk +vh +SV +wr +wr +wr +WL +eD +Nl +wr +wr +wr +VM +Dr +zk +zk +Zy +Zy +Zy +Zy +Zy +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +xH +"} +(85,1,1) = {" +xH +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +PF +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +DA +TO +OA +CQ +DA +Wu +Wu +Wu +Zy +Zy +Zy +Zy +zk +zk +cg +SV +wr +wr +wr +wr +wr +wr +wr +VM +UJ +zk +zk +Zy +Zy +Zy +Zy +Zy +Zy +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +xH +"} +(86,1,1) = {" +xH +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +ZM +ZM +ZM +Zy +Zy +Zy +Zy +XG +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +PF +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +DA +Qp +OA +CQ +DA +Wu +Wu +Wu +Wu +Et +Zy +Zy +Zy +zk +cb +Bc +SV +wr +wr +wr +wr +wr +VM +UJ +cb +zk +Zy +Zy +Zy +Zy +Zy +Zy +Zy +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +xH +"} +(87,1,1) = {" +xH +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +Lw +Lw +Lw +eN +eN +eN +eN +eN +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +PF +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Ou +CQ +OA +CQ +Ou +Wu +Wu +Wu +Wu +Wu +Zy +Zy +Zy +Zy +ZV +cb +Bc +SV +wr +wr +wr +VM +UJ +cb +hj +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Xy +Xy +Xy +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +xH +"} +(88,1,1) = {" +xH +eN +eN +eN +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +Lw +Lw +eN +eN +eN +eN +eN +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +PF +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Ou +CQ +OA +CQ +Ou +Wu +Wu +Wu +Wu +Wu +Wu +Zy +Zy +Zy +Zy +ZV +cb +Hs +kO +kO +kO +Ll +cb +hj +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Xy +Xy +Xy +Xy +Xy +eN +eN +eN +eN +eN +eN +eN +eN +xH +"} +(89,1,1) = {" +xH +eN +eN +eN +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +eN +eN +eN +eN +ZM +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +PF +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Ou +CQ +OA +CQ +Ou +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Zy +Zy +Zy +Zy +ZV +zk +zk +zk +zk +zk +hj +Zy +Zy +Zy +Zy +Zy +Zy +Et +Wu +Wu +Wu +Xy +Xy +Xy +Xy +Xy +Xy +Xy +eN +eN +eN +eN +eN +eN +xH +"} +(90,1,1) = {" +xH +eN +eN +eN +eN +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +LY +Lw +Lw +Lw +eN +eN +eN +ZM +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +PF +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Ou +CQ +OA +CQ +Ou +Zy +Zy +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +eN +eN +eN +eN +xH +"} +(91,1,1) = {" +xH +eN +eN +eN +eN +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +Lw +ZM +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +vO +dX +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +DA +CQ +OA +CQ +DA +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Wu +Wu +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +eN +xH +"} +(92,1,1) = {" +xH +eN +eN +eN +eN +eN +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +Lw +Lw +JX +JX +Lw +Lw +qj +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +PF +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +DA +Dy +OH +Ev +DA +Zy +Hm +Zy +Ug +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wa +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +xH +"} +(93,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +Lw +Lw +eN +eN +eN +eN +eN +Lw +Lw +JX +JX +JX +JX +TG +qj +ZM +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +PF +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ra +ra +ir +ir +ir +ra +Sq +gA +ja +gA +Sq +Sq +DB +RY +RY +Sq +Sq +Wu +Wu +Wu +Wu +Wu +Wu +NY +Zy +Zy +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wa +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +xH +"} +(94,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +hw +eN +eN +eN +Lw +Lw +Lw +JX +JX +JX +Lw +qj +ZM +ZM +ZM +ZM +ZM +Ug +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +PF +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ra +ux +eT +eT +eT +eT +SN +Ze +Jd +SY +wJ +Zf +Xj +Ze +Ze +gQ +Sq +Zy +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wa +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +xH +"} +(95,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +eN +eN +eN +eN +LY +Lw +tH +JX +oF +Lw +ZM +ZM +ZM +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +PF +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ir +MV +eT +eT +UH +Gk +HW +qI +Ms +QK +Hf +ME +Xe +ld +RE +XO +RY +Zy +Zy +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wa +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +xH +"} +(96,1,1) = {" +xH +eN +eN +eN +Lw +eN +eN +eN +Lw +Lw +Lw +Lw +eN +eN +eN +eN +Lw +Lw +Lw +Lw +eN +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +PF +Zy +zo +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ir +MV +eT +eT +wu +oA +Sq +aS +Zn +Sq +Sq +sc +do +aI +jN +QE +Jc +qq +Zy +Zy +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wa +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +xH +"} +(97,1,1) = {" +xH +eN +eN +Uw +Lw +Lw +eN +eN +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +Lw +Lw +Lw +eN +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +vO +gS +gS +gS +gS +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ir +MV +eT +eT +QU +ol +Sq +Ze +BB +Ze +Sq +vV +hn +Gt +Yz +Jn +RY +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wa +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +xH +"} +(98,1,1) = {" +xH +eN +eN +Uw +Lw +eN +eN +eN +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ir +eT +eT +eT +wu +eT +Sq +Ze +Ze +Ze +Sq +dA +tq +RE +Kn +oJ +Sq +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wa +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +xH +"} +(99,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +qj +qj +qj +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ir +eT +eT +eT +wu +eT +SN +Ze +Ze +Ze +Nk +fj +PT +BK +Xi +Gf +Sq +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wa +Wa +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +xH +"} +(100,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +qj +qj +qj +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ir +eT +eT +eT +wu +oA +Sq +Ze +Ze +Ze +Sq +pA +PT +tn +YR +Ak +Sq +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wa +Wa +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +xH +"} +(101,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +qj +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ir +eT +eT +eT +wu +eT +SN +Ze +Lm +tK +eM +Wo +HB +jk +Jq +Be +Sq +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wa +Wa +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +xH +"} +(102,1,1) = {" +xH +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +Lw +Dj +Lw +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ra +eT +eT +eT +wu +eT +Sq +CR +gO +HU +Sq +fj +ur +fj +Ze +Gf +RY +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wa +Wa +Wa +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +xH +"} +(103,1,1) = {" +xH +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +Dj +Lw +Lw +Lw +Dj +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +eN +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Md +Md +Oe +Oe +Oe +Oe +Oe +Md +ra +ux +eT +eT +wu +eT +Sq +CR +gO +HU +Sq +fj +Kq +Ks +EI +EI +Jc +qq +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wa +Wa +Wa +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +xH +"} +(104,1,1) = {" +xH +eN +eN +eN +Lw +Lw +Lw +eN +eN +jg +Lw +Lw +Lw +Lw +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +Lw +Lw +Lw +eN +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Md +By +Hn +jJ +jJ +jJ +jJ +jJ +Gk +Gk +Gk +Gk +eE +eT +Sq +bH +QC +Jx +Sq +gO +jp +bF +jp +Zf +RY +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wa +Wa +Wa +Wa +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +xH +"} +(105,1,1) = {" +xH +eN +eN +eN +Lw +Lw +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +eN +eN +Dj +Lw +TX +Lw +Lw +eN +eN +eN +eN +eN +Lw +Lw +eN +eN +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Md +By +fT +Md +Md +Md +Md +Md +ra +eT +eT +eT +eT +dk +Sq +bH +Ze +ad +Sq +qE +Gf +Gf +MN +sZ +Sq +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wa +Wa +Wa +Wa +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +xH +"} +(106,1,1) = {" +xH +eN +eN +eN +Lw +Lw +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +eN +eN +Lw +Lw +Lw +Dj +eN +eN +eN +eN +Lw +Lw +Lw +eN +eN +ZM +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ZM +ZM +ZM +bu +Pt +Nu +AM +Pt +ZM +ZM +Zy +ZL +ra +ra +ir +ir +ir +ra +Sq +RY +RY +RY +Sq +Sq +RY +RY +RY +Sq +Sq +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wa +Wa +Wa +Wa +Wa +Xy +Xy +Xy +Xy +JX +JX +JX +wq +Xy +Xy +Xy +Xy +Xy +xH +"} +(107,1,1) = {" +xH +eN +eN +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +eN +eN +Dj +Lw +Lw +Dj +eN +eN +eN +XK +Lw +Lw +eN +eN +eN +ZM +ZM +ZM +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ZM +ZM +ZM +ZM +ZM +Oc +Nu +AM +Pt +ZM +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wa +Wa +Wa +Wa +Wa +Wa +Xy +Xy +Xy +JX +JX +wq +ya +JX +JX +Xy +Xy +Xy +Xy +xH +"} +(108,1,1) = {" +xH +eN +eN +Lw +Lw +Lw +eN +eN +Lw +Lw +eN +eN +eN +eN +Lw +Lw +Lw +eN +eN +Lw +Lw +eN +eN +eN +eN +Lw +Lw +Lw +eN +eN +eN +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ZM +ZM +ZM +ZM +ZM +ZM +Oc +Nu +AM +Oc +ZM +ZM +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Mt +Wa +Wa +Wa +Wa +Wa +Wa +Xy +Xy +Xy +wq +JX +JX +JX +JX +JX +JX +Xy +Xy +Xy +xH +"} +(109,1,1) = {" +xH +eN +eN +eN +Lw +Lw +eN +eN +Uw +Lw +Uw +eN +eN +eN +eN +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +eN +eN +eN +eN +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ZI +ZM +ZM +ZM +ZM +ZM +ZM +ZM +Oc +Nu +AM +Nu +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wa +Wa +Mt +Mt +Wa +Wa +Wa +Wa +Wa +Xy +Xy +JX +JX +JX +JX +JX +JX +wq +JX +JX +Xy +Xy +xH +"} +(110,1,1) = {" +xH +eN +eN +eN +Lw +Lw +eN +eN +eN +Lw +Lw +Uw +eN +eN +eN +Lw +Lw +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +Oc +Nu +AM +Nu +Nu +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Et +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wa +Wa +Wa +Wa +Mt +Mt +Wa +Wa +Wa +Wa +Xy +Xy +JX +JX +JX +JX +JX +JX +JX +JX +wq +Xy +Xy +xH +"} +(111,1,1) = {" +xH +eN +eN +eN +Lw +Lw +Lw +eN +eN +eN +Lw +Lw +eN +eN +eN +Lw +Lw +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +dj +ui +Nu +AM +Nu +Nu +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +Zy +ZI +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wa +Wa +Wa +Wa +Wa +Mt +Mt +Mt +Wa +Wa +Wa +Xy +Xy +Xy +JX +JX +wq +JX +JX +JX +JX +Xy +Xy +Xy +xH +"} +(112,1,1) = {" +xH +eN +eN +eN +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +eN +eN +eN +eN +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +Uw +Lw +Lw +Uw +eN +eN +eN +eN +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +Oc +Nu +AM +Nu +Nu +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wa +Wa +Wa +Wa +Xy +Xy +JX +JX +JX +Xy +Xy +Xy +Xy +Xy +Xy +Xy +JX +ya +JX +JX +wq +Xy +Xy +Xy +Xy +xH +"} +(113,1,1) = {" +xH +eN +eN +eN +eN +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +eN +eN +eN +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +ZM +ZM +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +Oc +Nu +AM +Nu +Nu +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +Zy +WT +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wu +Wa +Wa +Wa +Wa +Wa +Wa +Wa +Xy +Xy +JX +JX +JX +JX +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +wq +Xy +Xy +Xy +Xy +Xy +Xy +xH +"} +(114,1,1) = {" +xH +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Uw +eN +eN +eN +ZM +ZM +ZM +ZM +ZM +ZM +ZM +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +Oc +Nu +OY +tO +AW +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +Wa +Wa +Wa +Wa +Wa +Wa +Wa +Wa +Wa +Wa +Wa +Wa +Wa +Wa +Wa +Wa +Wa +Xy +Xy +Xy +JX +JX +JX +JX +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +xH +"} +(115,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +TX +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +Lw +Lw +Uw +Lw +eN +eN +eN +eN +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +Zy +IQ +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +Zy +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +Oc +Nu +Nu +du +Bk +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +ZM +Wa +Wa +Wa +Wa +Wa +Wa +Wa +Wa +Wa +Wa +Wa +Wa +Wa +Wa +Wa +Wa +Wa +Xy +Xy +Xy +JX +JX +JX +JX +JX +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +xH +"} +(116,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +Uw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +fr +fr +fr +fr +fr +fr +fr +pg +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Oc +Oc +Oc +Pt +Pt +Nu +Nu +Nu +NW +iZ +Pt +Pt +Oc +Oc +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +JX +JX +JX +JX +JX +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +xH +"} +(117,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +eN +eN +eN +Lw +Lw +Lw +go +Lw +Lw +Lw +Lw +Lw +Lw +Lw +yr +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +pc +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Oc +Oc +Pt +Pt +Nu +Nu +Nu +Nu +Nu +En +Nu +Pt +Oc +Oc +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +JX +JX +JX +JX +JX +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +xH +"} +(118,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +eN +eN +eN +eN +Lw +yr +Lw +Lw +Lw +Lw +Lw +Lw +Lw +yw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Oc +Pt +Pt +Nu +Nu +Nu +Nu +Nu +Nu +En +Nu +Pt +Pt +Pt +Pt +eN +eN +eN +eN +eN +hZ +Lw +eN +eN +eN +eN +eN +eN +eN +eN +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +JX +JX +JX +JX +JX +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +xH +"} +(119,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Pt +Pt +Nu +Nu +Nu +Nu +Nu +Nu +Nu +En +Nu +Nu +Nu +Nu +Pt +eN +eN +eN +eN +eN +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +JX +JX +JX +JX +JX +JX +JX +Xy +Xy +Xy +Xy +Xy +Xy +Xy +xH +"} +(120,1,1) = {" +xH +eN +eN +eN +eN +eN +Lw +Lw +Lw +eN +Lw +Lw +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +pc +TX +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Pt +Nu +Nu +Nu +Nu +Nu +Nu +Nu +Nu +En +Nu +Nu +Nu +Nu +Pt +eN +eN +eN +eN +eN +eN +hZ +Lw +eN +eN +eN +eN +eN +eN +eN +eN +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +JX +JX +JX +JX +JX +JX +JX +JX +Xy +Xy +Xy +Xy +Xy +Xy +xH +"} +(121,1,1) = {" +xH +eN +eN +eN +eN +eN +Lw +Lw +eN +eN +eN +Lw +Lw +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +pc +Lw +Lw +Lw +Lw +Lw +pc +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Pt +Nu +zx +lw +lw +lw +lw +lw +Tz +En +Nu +Nu +Nu +Nu +Pt +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +JX +JX +JX +JX +Lw +Bq +JX +JX +Xy +Xy +Xy +Xy +Xy +Xy +xH +"} +(122,1,1) = {" +xH +eN +eN +eN +eN +Lw +Lw +Lw +eN +eN +eN +Lw +Lw +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +pc +Lw +pc +pc +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Pt +Nu +EP +II +II +II +II +II +EF +En +Nu +Nu +Pt +Pt +Pt +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +JX +JX +JX +JX +Lw +Lw +ND +Lw +JX +Xy +Xy +Xy +Xy +Xy +Xy +xH +"} +(123,1,1) = {" +xH +eN +eN +eN +eN +Lw +Lw +Lw +eN +eN +eN +eN +Lw +Lw +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +Lw +TX +Lw +eN +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Pt +Nu +EP +II +bV +IE +Zb +Ss +SJ +En +Nu +Pt +Pt +Oc +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +JX +TT +JX +Lw +Lw +Lw +Lw +Lw +JX +Xy +Xy +Xy +Xy +Xy +Xy +xH +"} +(124,1,1) = {" +xH +eN +eN +eN +eN +Lw +Lw +eN +eN +eN +eN +eN +eN +Lw +Lw +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +eN +eN +qc +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Mr +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Pt +Nu +EP +II +lC +WD +zD +zD +zD +Zq +Nu +Pt +Oc +Oc +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +JX +JX +Xy +Xy +Xy +Xy +Xy +Xy +Xy +JX +JX +JX +JX +Lw +Lw +Lw +JX +JX +Xy +Xy +Xy +Xy +Xy +Xy +xH +"} +(125,1,1) = {" +xH +eN +eN +eN +eN +Lw +Lw +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +Mr +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Pt +Nu +EP +II +FQ +Oz +Df +zx +UN +Nu +Nu +Pt +Oc +Oc +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +Xy +Xy +Xy +Xy +Xy +Xy +Xy +JX +JX +wq +JX +Xy +Xy +Xy +Xy +Xy +Xy +Xy +JX +JX +JX +JX +JX +JX +JX +JX +Xy +Xy +Xy +Xy +Xy +Xy +xH +"} +(126,1,1) = {" +xH +eN +eN +eN +eN +Lw +Lw +eN +eN +eN +eN +eN +Lw +Lw +sA +Lw +PR +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +Lw +Cg +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Mr +Lw +Lw +Lw +TX +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Pt +Pt +Nu +EP +II +II +II +II +II +EF +Nu +Nu +Pt +Oc +Oc +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Mr +eN +eN +eN +eN +eN +eN +eN +Xy +Xy +Xy +Xy +Xy +Xy +JX +wq +JX +JX +JX +Xy +Xy +Xy +Xy +Xy +Xy +Xy +JX +JX +JX +JX +JX +JX +JX +Xy +Xy +Xy +Xy +Xy +Xy +Xy +xH +"} +(127,1,1) = {" +xH +eN +eN +eN +eN +Lw +Lw +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +yw +Lw +Lw +eN +eN +eN +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Mr +Lw +Lw +Mr +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Pt +Nu +Nu +Ss +kU +kU +kU +kU +kU +Dm +Nu +Nu +Pt +Oc +Oc +eN +eN +eN +eN +eN +eN +Lw +Mr +Lw +Lw +Lw +TX +eN +eN +eN +eN +eN +eN +eN +Xy +Xy +Xy +Xy +Xy +Xy +JX +JX +ya +JX +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +xH +"} +(128,1,1) = {" +xH +eN +eN +eN +eN +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +eN +eN +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Mr +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Pt +Nu +Nu +Nu +Nu +Nu +Nu +Nu +Nu +Nu +Nu +Nu +Pt +Oc +Oc +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +Xy +Xy +Xy +Xy +Xy +Xy +JX +JX +wq +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +xH +"} +(129,1,1) = {" +xH +eN +eN +eN +eN +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Lw +go +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Cg +Lw +eN +eN +eN +eN +eN +eN +eN +eN +Mr +Lw +Lw +Lw +Lw +Lw +Mr +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Pt +Nu +Nu +Nu +Nu +Nu +Nu +Nu +Nu +Nu +Nu +Nu +Pt +Oc +Oc +eN +eN +eN +eN +eN +eN +Mr +Lw +Lw +Lw +Mr +eN +eN +eN +eN +eN +eN +eN +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +xH +"} +(130,1,1) = {" +xH +eN +eN +eN +eN +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +Cg +Lw +Lw +Lw +Lw +qc +Lw +Lw +eN +eN +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +Lw +Lw +pc +eN +eN +eN +eN +eN +eN +Pt +Pt +Pt +Pt +Pt +Pt +Pt +Pt +Pt +Pt +Pt +Pt +Pt +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +xH +"} +(131,1,1) = {" +xH +eN +eN +eN +eN +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +Lw +Lw +Lw +Cg +Lw +Lw +Lw +eN +eN +Lw +Lw +Lw +Lw +Lw +Cg +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +Mr +eN +eN +eN +eN +pc +Lw +Lw +Lw +pc +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +xH +"} +(132,1,1) = {" +xH +eN +eN +eN +eN +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +eN +eN +eN +eN +Lw +Lw +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +hw +eN +eN +Cg +Lw +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +Mr +Lw +Mr +Lw +TX +Lw +eN +eN +eN +eN +Lw +TX +Lw +pc +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +xH +"} +(133,1,1) = {" +xH +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +Lw +Lw +Lw +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +pc +pc +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +HQ +Lw +Lw +Lw +HQ +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +UV +JX +JX +JX +JX +UV +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +xH +"} +(134,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +Lw +gX +Lw +Lw +nt +Lw +eN +eN +eN +eN +eN +Lw +Lw +eN +eN +eN +Lw +Lw +Lw +Lw +Cg +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +JX +Zh +Zh +Zh +Zh +JX +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +xH +"} +(135,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +Lw +eN +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +HQ +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +JX +Zh +Zh +Zh +Zh +JX +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +xH +"} +(136,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +mR +Lw +Lw +rO +Lw +Lw +eN +eN +eN +eN +eN +eN +Lw +Lw +Cg +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +TX +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +UV +JX +JX +JX +JX +UV +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +xH +"} +(137,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Fe +Lw +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Cg +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +xH +"} +(138,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +jy +jB +Lw +Lw +eN +eN +eN +eN +eN +eN +eN +eN +Lw +Lw +Cg +Lw +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +xH +"} +(139,1,1) = {" +xH +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +eN +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +Xy +xH +"} +(140,1,1) = {" +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +xH +"} diff --git a/maps/expedition_vr/wild/tether_wild-crash-alt.dmm b/maps/expedition_vr/wild/tether_wild-crash-alt.dmm index a81ea8fc45d..137670af69b 100644 --- a/maps/expedition_vr/wild/tether_wild-crash-alt.dmm +++ b/maps/expedition_vr/wild/tether_wild-crash-alt.dmm @@ -6,7 +6,7 @@ "f" = (/turf/simulated/floor/outdoors/dirt/virgo3b,/area/tether/surfacebase/crash) "g" = (/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) "h" = (/turf/simulated/shuttle/wall/dark/hard_corner/virgo3b,/area/tether/surfacebase/crash) -"i" = (/obj/item/weapon/material/shard,/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) +"i" = (/obj/item/material/shard,/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) "j" = (/obj/structure/closet/crate/secure/weapon,/obj/random/weapon,/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) "k" = (/obj/effect/step_trigger/teleporter/wild/to_wild_3,/turf/simulated/floor/outdoors/grass/sif/virgo3b{icon_state = "grass_sif_dark"; name = "passage"; tree_chance = 0},/area/tether/surfacebase/outside/wilderness) "l" = (/obj/effect/step_trigger/teleporter/wild/to_wild_1,/turf/simulated/floor/outdoors/grass/sif/virgo3b{icon_state = "grass_sif_dark"; name = "passage"; tree_chance = 0},/area/tether/surfacebase/outside/wilderness) diff --git a/maps/expedition_vr/wild/tether_wild-crash.dmm b/maps/expedition_vr/wild/tether_wild-crash.dmm index 120e732a0ed..7f78bf50fb4 100644 --- a/maps/expedition_vr/wild/tether_wild-crash.dmm +++ b/maps/expedition_vr/wild/tether_wild-crash.dmm @@ -8,7 +8,7 @@ "ah" = (/obj/structure/window/reinforced,/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/outside/wilderness) "ai" = (/obj/structure/window/reinforced,/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/outside/wilderness) "aj" = (/turf/simulated/floor/virgo3b_indoors{desc = "Quite dirty!"; icon = 'icons/turf/outdoors.dmi'; icon_state = "dirt-dark"; name = "dirt"},/area/tether/surfacebase/outside/wilderness) -"ak" = (/obj/item/weapon/material/shard,/turf/simulated/floor/outdoors/grass/sif/virgo3b{icon_state = "grass_sif_dark"; name = "dense growth"; tree_chance = 0},/area/tether/surfacebase/outside/wilderness) +"ak" = (/obj/item/material/shard,/turf/simulated/floor/outdoors/grass/sif/virgo3b{icon_state = "grass_sif_dark"; name = "dense growth"; tree_chance = 0},/area/tether/surfacebase/outside/wilderness) "al" = (/obj/structure/closet/cabinet,/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/outside/wilderness) "am" = (/obj/structure/bed/padded,/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/outside/wilderness) "an" = (/obj/structure/table/standard,/obj/machinery/chemical_dispenser/bar_alc/full,/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/outside/wilderness) @@ -26,8 +26,8 @@ "az" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) "aA" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/outside/wilderness) "aB" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"; dir = 4},/turf/simulated/floor/virgo3b_indoors{desc = "Quite dirty!"; icon = 'icons/turf/outdoors.dmi'; icon_state = "dirt-dark"; name = "dirt"},/area/tether/surfacebase/outside/wilderness) -"aC" = (/obj/item/weapon/material/shard,/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/outside/wilderness) -"aD" = (/obj/item/weapon/pen{pixel_y = 4},/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/outside/wilderness) +"aC" = (/obj/item/material/shard,/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/outside/wilderness) +"aD" = (/obj/item/pen{pixel_y = 4},/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/outside/wilderness) "aE" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/computer/security/telescreen/entertainment{pixel_x = 32},/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/outside/wilderness) "aF" = (/obj/structure/window/reinforced,/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/virgo3b,/area/tether/surfacebase/crash) "aG" = (/obj/structure/window/reinforced,/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/virgo3b,/area/tether/surfacebase/crash) @@ -37,15 +37,15 @@ "aK" = (/obj/machinery/suit_cycler/syndicate,/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) "aL" = (/obj/machinery/bodyscanner{dir = 8},/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) "aM" = (/obj/machinery/body_scanconsole,/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) -"aN" = (/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/weapon/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/obj/item/weapon/storage/box/masks{pixel_x = 0; pixel_y = 0},/obj/item/weapon/storage/box/gloves{pixel_x = 3; pixel_y = 4},/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/fire{layer = 2.9; pixel_x = 2; pixel_y = 3},/obj/item/weapon/storage/firstaid/adv{pixel_x = -2},/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/structure/closet/medical_wall{pixel_y = 32},/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) -"aO" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/item/weapon/surgical/scalpel,/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) +"aN" = (/obj/item/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/obj/item/storage/box/masks{pixel_x = 0; pixel_y = 0},/obj/item/storage/box/gloves{pixel_x = 3; pixel_y = 4},/obj/item/storage/firstaid/toxin,/obj/item/storage/firstaid/fire{layer = 2.9; pixel_x = 2; pixel_y = 3},/obj/item/storage/firstaid/adv{pixel_x = -2},/obj/item/reagent_containers/blood/empty,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/structure/closet/medical_wall{pixel_y = 32},/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) +"aO" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/item/surgical/scalpel,/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) "aP" = (/obj/structure/table/steel_reinforced,/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/outside/wilderness) "aQ" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) "aR" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) "aS" = (/obj/machinery/door/airlock/glass_medical{name = "Medical Bay"; req_access = list(160)},/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) "aT" = (/obj/machinery/iv_drip,/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) -"aU" = (/obj/item/clothing/mask/surgical,/obj/item/weapon/surgical/bonesetter,/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) -"aV" = (/obj/item/weapon/surgical/surgicaldrill,/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) +"aU" = (/obj/item/clothing/mask/surgical,/obj/item/surgical/bonesetter,/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) +"aV" = (/obj/item/surgical/surgicaldrill,/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) "aW" = (/obj/machinery/optable,/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) "aX" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 4},/turf/simulated/floor/virgo3b_indoors{desc = "Quite dirty!"; icon = 'icons/turf/outdoors.dmi'; icon_state = "dirt-dark"; name = "dirt"},/area/tether/surfacebase/outside/wilderness) "aY" = (/obj/structure/closet/walllocker/emerglocker{pixel_y = -32},/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/outside/wilderness) @@ -53,26 +53,26 @@ "ba" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/outside/wilderness) "bb" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/outside/wilderness) "bc" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) -"bd" = (/obj/item/weapon/surgical/circular_saw,/obj/item/weapon/surgical/FixOVein{pixel_x = -6; pixel_y = 1},/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) +"bd" = (/obj/item/surgical/circular_saw,/obj/item/surgical/FixOVein{pixel_x = -6; pixel_y = 1},/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) "be" = (/obj/machinery/light,/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) "bf" = (/obj/machinery/vending/medical{pixel_y = -32; req_access = null},/obj/item/stack/nanopaste,/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) -"bg" = (/obj/item/weapon/surgical/hemostat{pixel_y = 4},/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) +"bg" = (/obj/item/surgical/hemostat{pixel_y = 4},/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) "bh" = (/obj/machinery/door/airlock/multi_tile/glass,/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) "bi" = (/obj/structure/window/reinforced,/obj/structure/table/steel_reinforced,/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) "bj" = (/obj/machinery/door/window/southleft,/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) "bk" = (/obj/machinery/door/window/southright,/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) "bl" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) "bm" = (/obj/structure/closet/walllocker/emerglocker{pixel_y = -32},/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) -"bn" = (/obj/structure/table/standard,/obj/item/weapon/surgical/cautery{pixel_y = 4},/obj/item/stack/medical/advanced/bruise_pack,/obj/item/weapon/surgical/bonegel{pixel_x = 4; pixel_y = 3},/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) -"bo" = (/obj/item/weapon/surgical/retractor{pixel_x = 0; pixel_y = 6},/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) -"bp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/item/weapon/material/shard,/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/outside/wilderness) +"bn" = (/obj/structure/table/standard,/obj/item/surgical/cautery{pixel_y = 4},/obj/item/stack/medical/advanced/bruise_pack,/obj/item/surgical/bonegel{pixel_x = 4; pixel_y = 3},/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) +"bo" = (/obj/item/surgical/retractor{pixel_x = 0; pixel_y = 6},/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) +"bp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/item/material/shard,/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/outside/wilderness) "bq" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/outside/wilderness) "br" = (/obj/machinery/vending/coffee,/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) "bs" = (/obj/machinery/light{dir = 1},/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) "bt" = (/obj/machinery/door/airlock/multi_tile/glass,/turf/simulated/shuttle/floor/black{carbon_dioxide = 12.7125; nitrogen = 16.95; oxygen = 0; phoron = 76.2751},/area/tether/surfacebase/crash) "bu" = (/turf/simulated/shuttle/floor/black{carbon_dioxide = 12.7125; nitrogen = 16.95; oxygen = 0; phoron = 76.2751},/area/tether/surfacebase/crash) "bv" = (/obj/structure/closet/crate/secure/weapon,/obj/random/weapon,/turf/simulated/shuttle/floor/black{carbon_dioxide = 12.7125; nitrogen = 16.95; oxygen = 0; phoron = 76.2751},/area/tether/surfacebase/crash) -"bw" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/weapon/pen{pixel_y = 4},/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/outside/wilderness) +"bw" = (/obj/structure/table/steel_reinforced,/obj/item/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/pen{pixel_y = 4},/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/outside/wilderness) "bx" = (/obj/structure/table/steel_reinforced,/obj/machinery/newscaster{pixel_x = 32},/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/outside/wilderness) "by" = (/obj/structure/toilet,/obj/machinery/light/small{dir = 1},/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/outside/wilderness) "bz" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/machinery/light/small,/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/outside/wilderness) @@ -86,7 +86,7 @@ "bH" = (/obj/machinery/door/airlock/silver{name = "Toilet"},/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/outside/wilderness) "bI" = (/obj/machinery/door/airlock/silver{name = "Restroom"},/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/outside/wilderness) "bJ" = (/obj/structure/undies_wardrobe,/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/outside/wilderness) -"bK" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; prices = list(); products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2)},/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) +"bK" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; prices = list(); products = list(/obj/item/storage/fancy/cigarettes = 10, /obj/item/storage/box/matches = 10, /obj/item/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2)},/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) "bL" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) "bM" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) "bN" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) @@ -108,12 +108,12 @@ "cd" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) "ce" = (/obj/effect/step_trigger/teleporter/wild/to_wild_1,/turf/simulated/floor/outdoors/grass/sif/virgo3b{icon_state = "grass_sif_dark"; name = "passage"; tree_chance = 0},/area/tether/surfacebase/outside/wilderness) "cf" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/outside/wilderness) -"cg" = (/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/outside/wilderness) +"cg" = (/obj/item/reagent_containers/spray/cleaner,/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/outside/wilderness) "ch" = (/obj/machinery/vending/sovietsoda,/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/outside/wilderness) "ci" = (/obj/machinery/light,/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/outside/wilderness) "cj" = (/obj/machinery/vending/boozeomat{req_access = null},/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) "ck" = (/obj/structure/table/standard,/turf/simulated/shuttle/floor/black{carbon_dioxide = 12.7125; nitrogen = 16.95; oxygen = 0; phoron = 76.2751},/area/tether/surfacebase/crash) -"cl" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/shuttle/floor/black{carbon_dioxide = 12.7125; nitrogen = 16.95; oxygen = 0; phoron = 76.2751},/area/tether/surfacebase/crash) +"cl" = (/obj/structure/table/standard,/obj/item/storage/toolbox/mechanical,/turf/simulated/shuttle/floor/black{carbon_dioxide = 12.7125; nitrogen = 16.95; oxygen = 0; phoron = 76.2751},/area/tether/surfacebase/crash) "cm" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table/steel_reinforced,/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) "cn" = (/obj/machinery/door/window/northleft,/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) "co" = (/obj/machinery/door/window/northright,/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) @@ -136,7 +136,7 @@ "cF" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) "cG" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced,/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) "cH" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) -"cI" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/captain,/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) +"cI" = (/obj/structure/bed/padded,/obj/item/bedsheet/captain,/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) "cJ" = (/obj/structure/table/glass,/obj/machinery/computer3/wall_comp/telescreen/entertainment{pixel_y = -35},/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) "cK" = (/obj/structure/filingcabinet/filingcabinet,/turf/simulated/shuttle/floor/black/virgo3b,/area/tether/surfacebase/crash) "cL" = (/obj/machinery/light,/turf/simulated/floor/carpet,/area/tether/surfacebase/crash) diff --git a/maps/expedition_vr/wild/tether_wild-temple.dmm b/maps/expedition_vr/wild/tether_wild-temple.dmm index a147ff9c9da..3d2d1bc3aa9 100644 --- a/maps/expedition_vr/wild/tether_wild-temple.dmm +++ b/maps/expedition_vr/wild/tether_wild-temple.dmm @@ -8,10 +8,10 @@ "h" = (/obj/structure/mob_spawner/scanner/xenos,/turf/simulated/floor/outdoors/dirt{desc = "Quite dirty!"; icon = 'icons/turf/outdoors.dmi'; icon_state = "dirt-dark"; name = "dirt"},/area/tether/surfacebase/temple) "i" = (/obj/structure/mob_spawner/scanner/xenos/royal,/turf/simulated/floor/outdoors/dirt{desc = "Quite dirty!"; icon = 'icons/turf/outdoors.dmi'; icon_state = "dirt-dark"; name = "dirt"},/area/tether/surfacebase/temple) "j" = (/obj/effect/step_trigger/teleporter/wild/to_wild_6,/turf/simulated/floor/outdoors/grass/sif/virgo3b{icon_state = "grass_sif_dark"; name = "passage"; tree_chance = 0},/area/tether/surfacebase/outside/wilderness) -"k" = (/obj/item/weapon/material/star,/turf/simulated/floor/outdoors/dirt{desc = "Quite dirty!"; icon = 'icons/turf/outdoors.dmi'; icon_state = "dirt-dark"; name = "dirt"},/area/tether/surfacebase/temple) +"k" = (/obj/item/material/star,/turf/simulated/floor/outdoors/dirt{desc = "Quite dirty!"; icon = 'icons/turf/outdoors.dmi'; icon_state = "dirt-dark"; name = "dirt"},/area/tether/surfacebase/temple) "l" = (/obj/effect/decal/mecha_wreckage/phazon{anchored = 1; name = "rusted Phazon wreckage"},/turf/simulated/floor/outdoors/dirt{desc = "Quite dirty!"; icon = 'icons/turf/outdoors.dmi'; icon_state = "dirt-dark"; name = "dirt"},/area/tether/surfacebase/temple) -"m" = (/obj/item/weapon/cell/infinite,/obj/effect/gibspawner/human,/turf/simulated/floor/outdoors/dirt{desc = "Quite dirty!"; icon = 'icons/turf/outdoors.dmi'; icon_state = "dirt-dark"; name = "dirt"},/area/tether/surfacebase/temple) -"n" = (/obj/item/weapon/material/sword/katana,/turf/simulated/floor/outdoors/dirt{desc = "Quite dirty!"; icon = 'icons/turf/outdoors.dmi'; icon_state = "dirt-dark"; name = "dirt"},/area/tether/surfacebase/temple) +"m" = (/obj/item/cell/infinite,/obj/effect/gibspawner/human,/turf/simulated/floor/outdoors/dirt{desc = "Quite dirty!"; icon = 'icons/turf/outdoors.dmi'; icon_state = "dirt-dark"; name = "dirt"},/area/tether/surfacebase/temple) +"n" = (/obj/item/material/sword/katana,/turf/simulated/floor/outdoors/dirt{desc = "Quite dirty!"; icon = 'icons/turf/outdoors.dmi'; icon_state = "dirt-dark"; name = "dirt"},/area/tether/surfacebase/temple) "o" = (/obj/effect/step_trigger/teleporter/wild/to_wild_4,/turf/simulated/floor/outdoors/grass/sif/virgo3b{icon_state = "grass_sif_dark"; name = "passage"; tree_chance = 0},/area/tether/surfacebase/outside/wilderness) (1,1,1) = {" diff --git a/maps/gateway_archive_vr/Academy.dmm b/maps/gateway_archive_vr/Academy.dmm index 1aa4550433c..31073b92f96 100644 --- a/maps/gateway_archive_vr/Academy.dmm +++ b/maps/gateway_archive_vr/Academy.dmm @@ -25,12 +25,12 @@ /area/awaymission/academy/headmaster) "af" = ( /obj/structure/table/reinforced, -/obj/item/weapon/pen/red, +/obj/item/pen/red, /turf/simulated/floor/carpet, /area/awaymission/academy/headmaster) "ag" = ( /obj/structure/table/reinforced, -/obj/item/weapon/folder/blue, +/obj/item/folder/blue, /turf/simulated/floor/carpet, /area/awaymission/academy/headmaster) "ah" = ( @@ -96,12 +96,12 @@ /area/awaymission/academy/headmaster) "aq" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/food/drinks/coffee, +/obj/item/reagent_containers/food/drinks/coffee, /turf/simulated/floor/carpet, /area/awaymission/academy/headmaster) "ar" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "We're upgrading to the latest mainframes for our consoles, the shipment should be in before spring break is over!"; name = "Console Maintenance" }, @@ -136,7 +136,7 @@ /area/awaymission/academy/headmaster) "aw" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin, +/obj/item/paper_bin, /turf/simulated/floor/carpet, /area/awaymission/academy/headmaster) "ax" = ( @@ -165,12 +165,12 @@ /area/awaymission/academy/headmaster) "aB" = ( /obj/structure/stool/bed, -/obj/item/weapon/bedsheet/purple, +/obj/item/bedsheet/purple, /turf/simulated/floor/wood, /area/awaymission/academy/headmaster) "aC" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/food/drinks/tea, +/obj/item/reagent_containers/food/drinks/tea, /turf/simulated/floor/carpet, /area/awaymission/academy/headmaster) "aD" = ( @@ -200,7 +200,7 @@ /area/awaymission/academy/headmaster) "aH" = ( /obj/structure/cult/tome, -/obj/item/weapon/staff, +/obj/item/staff, /turf/simulated/floor/wood, /area/awaymission/academy/headmaster) "aI" = ( @@ -217,12 +217,12 @@ /area/awaymission/academy/headmaster) "aK" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/briefcase, +/obj/item/storage/briefcase, /turf/simulated/floor/carpet, /area/awaymission/academy/headmaster) "aL" = ( /obj/structure/table/reinforced, -/obj/item/weapon/coin/plasma, +/obj/item/coin/plasma, /turf/simulated/floor/carpet, /area/awaymission/academy/headmaster) "aM" = ( @@ -277,12 +277,12 @@ /area/awaymission/academy/headmaster) "aW" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin, +/obj/item/paper_bin, /turf/simulated/floor/carpet, /area/awaymission/academy/headmaster) "aX" = ( /obj/structure/table/woodentable, -/obj/item/weapon/folder/blue, +/obj/item/folder/blue, /turf/simulated/floor/carpet, /area/awaymission/academy/headmaster) "aY" = ( @@ -291,22 +291,22 @@ icon_state = "1-2"; pixel_y = 0 }, -/obj/item/weapon/pen/red, +/obj/item/pen/red, /turf/simulated/floor/carpet, /area/awaymission/academy/headmaster) "aZ" = ( /obj/structure/table/woodentable, -/obj/item/weapon/staff, +/obj/item/staff, /turf/simulated/floor/carpet, /area/awaymission/academy/headmaster) "ba" = ( /obj/structure/table/woodentable, -/obj/item/weapon/hand_labeler, +/obj/item/hand_labeler, /turf/simulated/floor/wood, /area/awaymission/academy/headmaster) "bb" = ( /obj/structure/table/woodentable, -/obj/item/weapon/pen/invisible, +/obj/item/pen/invisible, /turf/simulated/floor/wood, /area/awaymission/academy/headmaster) "bc" = ( @@ -317,7 +317,7 @@ /area/awaymission/academy/headmaster) "bd" = ( /obj/structure/table/woodentable, -/obj/item/weapon/pen/red, +/obj/item/pen/red, /turf/simulated/floor/carpet, /area/awaymission/academy/headmaster) "be" = ( @@ -330,17 +330,17 @@ icon_state = "1-2"; pixel_y = 0 }, -/obj/item/weapon/dice/d20, +/obj/item/dice/d20, /turf/simulated/floor/carpet, /area/awaymission/academy/headmaster) "bg" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/tea, +/obj/item/reagent_containers/food/drinks/tea, /turf/simulated/floor/carpet, /area/awaymission/academy/headmaster) "bh" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin, +/obj/item/paper_bin, /turf/simulated/floor/wood, /area/awaymission/academy/headmaster) "bi" = ( @@ -361,7 +361,7 @@ /area/awaymission/academy/headmaster) "bk" = ( /obj/structure/table/woodentable, -/obj/item/weapon/folder/blue, +/obj/item/folder/blue, /turf/simulated/floor/wood, /area/awaymission/academy/headmaster) "bl" = ( @@ -619,7 +619,7 @@ /area/awaymission/academy/headmaster) "ca" = ( /obj/structure/table/standard, -/obj/item/weapon/lighter/random, +/obj/item/lighter/random, /turf/simulated/floor, /area/awaymission/academy/headmaster) "cb" = ( @@ -720,7 +720,7 @@ icon_state = "1-2"; pixel_y = 0 }, -/obj/item/weapon/pen/red, +/obj/item/pen/red, /turf/simulated/floor, /area/awaymission/academy/classrooms) "cp" = ( @@ -900,15 +900,15 @@ /area/awaymission/academy/headmaster) "cR" = ( /obj/structure/closet/crate/internals, -/obj/item/weapon/tank/oxygen, -/obj/item/weapon/tank/oxygen/red, +/obj/item/tank/oxygen, +/obj/item/tank/oxygen/red, /turf/simulated/floor{ icon_state = "dark" }, /area/awaymission/academy/headmaster) "cS" = ( /obj/structure/closet/crate, -/obj/item/weapon/tool/crowbar/red, +/obj/item/tool/crowbar/red, /turf/simulated/floor{ icon_state = "vault"; dir = 5 @@ -976,7 +976,7 @@ /area/awaymission/academy/classrooms) "dd" = ( /obj/structure/table/woodentable, -/obj/item/weapon/staff, +/obj/item/staff, /turf/simulated/floor/wood, /area/awaymission/academy/classrooms) "de" = ( @@ -1095,7 +1095,7 @@ /obj/effect/landmark{ name = "awaystart" }, -/obj/item/weapon/weldingtool, +/obj/item/weldingtool, /turf/simulated/floor/greengrid, /area/awaymission/academy/classrooms) "dw" = ( @@ -1135,7 +1135,7 @@ /area/awaymission/academy/headmaster) "dA" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /turf/simulated/floor, /area/awaymission/academy/classrooms) "dB" = ( @@ -1315,7 +1315,7 @@ /obj/structure/noticeboard{ pixel_y = 32 }, -/obj/item/weapon/paper{ +/obj/item/paper{ name = "Automotive Repair 101" }, /turf/simulated/floor{ @@ -1334,7 +1334,7 @@ /obj/structure/noticeboard{ pixel_y = 32 }, -/obj/item/weapon/paper{ +/obj/item/paper{ name = "Pyromancy 250" }, /turf/simulated/floor{ @@ -1636,7 +1636,7 @@ icon_state = "tube1"; dir = 4 }, -/obj/item/weapon/reagent_containers/food/snacks/spellburger, +/obj/item/reagent_containers/food/snacks/spellburger, /turf/simulated/floor{ dir = 8; icon_state = "barber" @@ -1846,7 +1846,7 @@ /obj/structure/noticeboard{ pixel_y = -32 }, -/obj/item/weapon/paper{ +/obj/item/paper{ name = "Biology Lab" }, /turf/simulated/floor{ @@ -2078,12 +2078,12 @@ /area/awaymission/academy/classrooms) "fZ" = ( /obj/structure/table/standard, -/obj/item/weapon/pen/red, +/obj/item/pen/red, /turf/simulated/floor, /area/awaymission/academy/classrooms) "ga" = ( /obj/structure/table/standard, -/obj/item/weapon/scalpel, +/obj/item/scalpel, /turf/simulated/floor{ icon_state = "whitehall"; dir = 4 @@ -2095,7 +2095,7 @@ /area/awaymission/academy/classrooms) "gc" = ( /obj/structure/bookcase, -/obj/item/weapon/book/manual/engineering_hacking, +/obj/item/book/manual/wiki/engineering_hacking, /turf/simulated/floor/wood, /area/awaymission/academy/classrooms) "gd" = ( @@ -2137,7 +2137,7 @@ /area/awaymission/academy/classrooms) "gi" = ( /obj/structure/table/reinforced, -/obj/item/weapon/pen/red, +/obj/item/pen/red, /turf/simulated/floor{ icon_state = "vault"; dir = 5 @@ -2160,7 +2160,7 @@ }, /area/awaymission/academy/classrooms) "gl" = ( -/obj/item/weapon/storage/box/monkeycubes, +/obj/item/storage/box/monkeycubes, /turf/simulated/floor/plating, /area/awaymission/academy/classrooms) "gm" = ( @@ -2219,7 +2219,7 @@ /area/awaymission/academy/classrooms) "gt" = ( /obj/structure/bookcase, -/obj/item/weapon/book/manual/medical_cloning, +/obj/item/book/manual/medical_cloning, /turf/simulated/floor/wood, /area/awaymission/academy/classrooms) "gu" = ( @@ -2276,8 +2276,8 @@ /area/awaymission/academy/academyaft) "gB" = ( /obj/structure/table/standard, -/obj/item/weapon/gun/projectile/shotgun/pump/sc_pump, -/obj/item/weapon/paper{ +/obj/item/gun/projectile/shotgun/pump/sc_pump, +/obj/item/paper{ info = "Grade: A+ Educator's Notes: Excellent form."; name = "Summoning Midterm Exam" }, @@ -2288,8 +2288,8 @@ /area/awaymission/academy/classrooms) "gC" = ( /obj/structure/table/standard, -/obj/item/weapon/gun/projectile/russian, -/obj/item/weapon/paper{ +/obj/item/gun/projectile/russian, +/obj/item/paper{ info = "Grade: B- Educator's Notes: Keep applying yourself, you're showing improvement."; name = "Summoning Midterm Exam" }, @@ -2319,14 +2319,14 @@ /area/awaymission/academy/classrooms) "gG" = ( /obj/structure/bookcase, -/obj/item/weapon/book/manual/hydroponics_pod_people, +/obj/item/book/manual/hydroponics_pod_people, /turf/simulated/floor/wood, /area/awaymission/academy/classrooms) "gH" = ( /obj/structure/bookcase, -/obj/item/weapon/book/manual/barman_recipes, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/manual/security_space_law, +/obj/item/book/manual/barman_recipes, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/wiki/security_space_law, /turf/simulated/floor/wood, /area/awaymission/academy/classrooms) "gI" = ( @@ -2394,8 +2394,8 @@ /area/awaymission/academy/classrooms) "gQ" = ( /obj/structure/table/standard, -/obj/item/weapon/gun/energy/floragun, -/obj/item/weapon/paper{ +/obj/item/gun/energy/floragun, +/obj/item/paper{ info = "Grade: D- Educator's Notes: SEE ME AFTER CLASS."; name = "Summoning Midterm Exam" }, @@ -2537,7 +2537,7 @@ }, /area/awaymission/academy/academyaft) "hk" = ( -/obj/item/weapon/tool/crowbar/red, +/obj/item/tool/crowbar/red, /turf/simulated/floor{ icon_state = "green"; dir = 4 @@ -2770,12 +2770,12 @@ /obj/structure/closet, /obj/item/candle, /obj/item/candle, -/obj/item/weapon/storage/box/matches, +/obj/item/storage/box/matches, /turf/simulated/floor, /area/awaymission/academy/academyaft) "hM" = ( /obj/structure/closet, -/obj/item/weapon/storage/belt/soulstone, +/obj/item/storage/belt/soulstone, /obj/item/clothing/under/schoolgirl, /turf/simulated/floor, /area/awaymission/academy/academyaft) @@ -2793,7 +2793,7 @@ /area/awaymission/academy/academyaft) "hP" = ( /obj/structure/closet, -/obj/item/weapon/lipstick/random, +/obj/item/lipstick/random, /obj/item/clothing/under/schoolgirl, /turf/simulated/floor, /area/awaymission/academy/academyaft) @@ -2803,12 +2803,12 @@ "hR" = ( /obj/structure/closet, /obj/item/clothing/under/lightpurple, -/obj/item/weapon/staff, +/obj/item/staff, /turf/simulated/floor, /area/awaymission/academy/academyaft) "hS" = ( /obj/structure/closet, -/obj/item/weapon/storage/wallet/random, +/obj/item/storage/wallet/random, /obj/item/clothing/glasses/regular/hipster, /turf/simulated/floor, /area/awaymission/academy/academyaft) @@ -2820,16 +2820,16 @@ /area/awaymission/academy/academyaft) "hU" = ( /obj/structure/closet, -/obj/item/weapon/reagent_containers/food/drinks/beer, +/obj/item/reagent_containers/food/drinks/beer, /obj/item/clothing/under/purple, /obj/item/poster, /turf/simulated/floor, /area/awaymission/academy/academyaft) "hV" = ( /obj/structure/closet, -/obj/item/weapon/storage/box/snappops, -/obj/item/weapon/storage/backpack, -/obj/item/weapon/paper{ +/obj/item/storage/box/snappops, +/obj/item/storage/backpack, +/obj/item/paper{ info = "Current Grade: F. Educator's Notes: No improvement shown despite multiple private lessons. Suggest additional tutilage."; name = "Pyromancy Evaluation" }, @@ -2877,9 +2877,9 @@ /area/awaymission/academy/academyaft) "ic" = ( /obj/structure/rack, -/obj/item/weapon/circuitboard/telecomms/broadcaster, -/obj/item/weapon/circuitboard/telecomms/receiver, -/obj/item/weapon/circuitboard/telecomms/relay, +/obj/item/circuitboard/telecomms/broadcaster, +/obj/item/circuitboard/telecomms/receiver, +/obj/item/circuitboard/telecomms/relay, /turf/simulated/floor{ icon_state = "hydrofloor" }, @@ -2915,12 +2915,12 @@ /area/awaymission/academy/academyaft) "ih" = ( /obj/structure/rack, -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/subspace/crystal, -/obj/item/weapon/stock_parts/subspace/filter, -/obj/item/weapon/stock_parts/micro_laser/high, -/obj/item/weapon/stock_parts/micro_laser/high, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/subspace/crystal, +/obj/item/stock_parts/subspace/filter, +/obj/item/stock_parts/micro_laser/high, +/obj/item/stock_parts/micro_laser/high, /turf/simulated/floor, /area/awaymission/academy/academyaft) "ii" = ( @@ -2942,21 +2942,21 @@ /area/awaymission/academy/academyaft) "il" = ( /obj/structure/rack, -/obj/item/weapon/stock_parts/scanning_module, -/obj/item/weapon/stock_parts/micro_laser, -/obj/item/weapon/stock_parts/subspace/filter, -/obj/item/weapon/stock_parts/subspace/ansible, +/obj/item/stock_parts/scanning_module, +/obj/item/stock_parts/micro_laser, +/obj/item/stock_parts/subspace/filter, +/obj/item/stock_parts/subspace/ansible, /turf/simulated/floor, /area/awaymission/academy/academyaft) "im" = ( -/obj/item/weapon/stock_parts/manipulator, +/obj/item/stock_parts/manipulator, /turf/simulated/floor{ icon_state = "hydrofloor" }, /area/awaymission/academy/academyaft) "in" = ( /obj/structure/rack, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/floor, /area/awaymission/academy/academyaft) "io" = ( @@ -3019,8 +3019,8 @@ /area/awaymission/academy/academyaft) "iu" = ( /obj/structure/rack, -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/subspace/filter, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/subspace/filter, /turf/simulated/floor{ icon_state = "hydrofloor" }, @@ -3076,7 +3076,7 @@ }, /area/awaymission/academy/academyaft) "iz" = ( -/obj/item/weapon/paper, +/obj/item/paper, /turf/simulated/floor/wood, /area/awaymission/academy/academyaft) "iA" = ( @@ -3088,7 +3088,7 @@ /turf/simulated/floor/plating, /area/awaymission/academy/academyaft) "iC" = ( -/obj/item/device/multitool, +/obj/item/multitool, /turf/simulated/floor/engine, /area/awaymission/academy/academyaft) "iD" = ( @@ -3135,7 +3135,7 @@ dir = 1 }, /obj/structure/table/standard, -/obj/item/weapon/beach_ball/holoball, +/obj/item/beach_ball/holoball, /turf/simulated/floor{ icon_state = "red"; dir = 1 @@ -3203,7 +3203,7 @@ dir = 1 }, /obj/structure/table/standard, -/obj/item/device/soulstone, +/obj/item/soulstone, /turf/simulated/floor/airless{ icon_state = "whitered"; dir = 4 @@ -3367,13 +3367,13 @@ /obj/structure/cable{ icon_state = "0-8" }, -/obj/item/weapon/shard, +/obj/item/shard, /turf/simulated/floor/plating/airless, /area/awaymission/academy/academyaft) "jk" = ( /obj/structure/window/reinforced, /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/drinks/golden_cup, +/obj/item/reagent_containers/food/drinks/golden_cup, /turf/simulated/floor{ icon_state = "red" }, @@ -3414,14 +3414,14 @@ "jq" = ( /obj/structure/table/standard, /obj/structure/window/reinforced, -/obj/item/device/batterer, +/obj/item/batterer, /turf/simulated/floor/airless{ icon_state = "whitered"; dir = 4 }, /area/awaymission/academy/academyaft) "jr" = ( -/obj/item/weapon/shard{ +/obj/item/shard{ icon_state = "medium" }, /turf/space, diff --git a/maps/gateway_archive_vr/beach.dmm b/maps/gateway_archive_vr/beach.dmm index 2f6543ece85..2402c46f604 100644 --- a/maps/gateway_archive_vr/beach.dmm +++ b/maps/gateway_archive_vr/beach.dmm @@ -114,14 +114,14 @@ /area/awaymission/beach) "v" = ( /obj/structure/table/woodentable, -/obj/item/weapon/book/manual/barman_recipes, +/obj/item/book/manual/barman_recipes, /turf/unsimulated/floor{ icon_state = "wood" }, /area/awaymission/beach) "w" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/shaker, +/obj/item/reagent_containers/food/drinks/shaker, /turf/unsimulated/floor{ icon_state = "wood" }, @@ -194,13 +194,13 @@ /area/awaymission/beach) "I" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/beer, +/obj/item/reagent_containers/food/drinks/beer, /turf/unsimulated/floor{ icon_state = "wood" }, /area/awaymission/beach) "J" = ( -/obj/item/weapon/beach_ball, +/obj/item/beach_ball, /turf/unsimulated/beach/sand, /area/awaymission/beach) "K" = ( diff --git a/maps/gateway_archive_vr/blackmarketpackers.dmm b/maps/gateway_archive_vr/blackmarketpackers.dmm index a2173b3e048..35b7cf4e3e3 100644 --- a/maps/gateway_archive_vr/blackmarketpackers.dmm +++ b/maps/gateway_archive_vr/blackmarketpackers.dmm @@ -9,7 +9,7 @@ /turf/simulated/floor/plating/airless/asteroid, /area/awaymission) "ad" = ( -/obj/item/weapon/circular_saw, +/obj/item/circular_saw, /obj/structure/lattice, /turf/space, /area) @@ -55,7 +55,7 @@ /obj/machinery/porta_turret{ dir = 8; emagged = 1; - installation = /obj/item/weapon/gun/energy/lasercannon + installation = /obj/item/gun/energy/lasercannon }, /turf/simulated/floor/engine, /area/awaymission/BMPship3) @@ -195,15 +195,15 @@ /turf/simulated/floor/plating/airless, /area/awaymission/BMPship1) "aH" = ( -/obj/item/weapon/handcuffs, -/obj/item/weapon/handcuffs, +/obj/item/handcuffs, +/obj/item/handcuffs, /obj/structure/closet/crate, /turf/simulated/floor/plating/airless, /area/awaymission/BMPship1) "aI" = ( -/obj/item/weapon/scalpel, +/obj/item/scalpel, /obj/structure/closet/crate, -/obj/item/weapon/tank/anesthetic, +/obj/item/tank/anesthetic, /turf/simulated/floor/plating/airless, /area/awaymission/BMPship1) "aJ" = ( @@ -211,7 +211,7 @@ /turf/simulated/floor/plating/airless, /area/awaymission/BMPship1) "aK" = ( -/obj/item/weapon/storage/box/syringes, +/obj/item/storage/box/syringes, /turf/simulated/floor/plating/airless, /area/awaymission/BMPship1) "aL" = ( @@ -249,9 +249,9 @@ /area/awaymission/BMPship1) "aQ" = ( /obj/structure/closet/crate/freezer, -/obj/item/weapon/reagent_containers/food/snacks/appendix, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/appendix, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, /turf/simulated/floor/plating{ icon_state = "warnplate"; dir = 1 @@ -260,8 +260,8 @@ "aR" = ( /obj/structure/closet/crate/freezer, /obj/item/brain, -/obj/item/weapon/reagent_containers/food/snacks/appendix, -/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/appendix, +/obj/item/reagent_containers/food/snacks/meat, /turf/simulated/floor/plating{ icon_state = "warnplate"; dir = 1 @@ -269,7 +269,7 @@ /area/awaymission/BMPship1) "aS" = ( /obj/structure/table/standard, -/obj/item/weapon/packageWrap, +/obj/item/packageWrap, /turf/simulated/floor/plating{ icon_state = "warnplate"; dir = 1 @@ -277,7 +277,7 @@ /area/awaymission/BMPship1) "aT" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box, +/obj/item/storage/box, /obj/machinery/light/small{ dir = 1 }, @@ -339,7 +339,7 @@ /turf/simulated/floor/plating, /area/awaymission/BMPship1) "bd" = ( -/obj/item/weapon/storage/box, +/obj/item/storage/box, /turf/simulated/floor/plating, /area/awaymission/BMPship1) "be" = ( @@ -361,7 +361,7 @@ /turf/simulated/floor/plating, /area/awaymission/BMPship1) "bh" = ( -/obj/item/weapon/hand_labeler, +/obj/item/hand_labeler, /turf/simulated/floor/plating, /area/awaymission/BMPship1) "bi" = ( @@ -386,14 +386,14 @@ /area/awaymission/BMPship3) "bk" = ( /obj/structure/table/woodentable, -/obj/item/weapon/spacecash/c500, -/obj/item/weapon/spacecash/c100, -/obj/item/weapon/reagent_containers/food/drinks/beer, +/obj/item/spacecash/c500, +/obj/item/spacecash/c100, +/obj/item/reagent_containers/food/drinks/beer, /turf/simulated/floor/wood, /area/awaymission/BMPship3) "bl" = ( /obj/structure/stool/bed, -/obj/item/weapon/bedsheet/yellow, +/obj/item/bedsheet/yellow, /turf/simulated/floor/wood, /area/awaymission/BMPship3) "bm" = ( @@ -484,8 +484,8 @@ /area/awaymission/BMPship1) "bz" = ( /obj/structure/closet/crate/freezer, -/obj/item/weapon/reagent_containers/food/drinks/beer, -/obj/item/weapon/reagent_containers/food/drinks/beer, +/obj/item/reagent_containers/food/drinks/beer, +/obj/item/reagent_containers/food/drinks/beer, /turf/simulated/floor/plating, /area/awaymission/BMPship1) "bA" = ( @@ -568,8 +568,8 @@ /area/awaymission/BMPship1) "bN" = ( /obj/structure/closet/crate, -/obj/item/weapon/spacecash/c1000, -/obj/item/weapon/spacecash/c50, +/obj/item/spacecash/c1000, +/obj/item/spacecash/c50, /turf/simulated/floor/plating{ icon_state = "warnplate"; dir = 4 @@ -641,7 +641,7 @@ icon_state = "4-8"; pixel_y = 0 }, -/obj/item/weapon/hand_labeler, +/obj/item/hand_labeler, /turf/simulated/floor/plating, /area/awaymission/BMPship1) "ca" = ( @@ -656,7 +656,7 @@ icon_state = "4-8"; pixel_y = 0 }, -/obj/item/weapon/storage/box, +/obj/item/storage/box, /turf/simulated/floor/plating, /area/awaymission/BMPship1) "cc" = ( @@ -755,8 +755,8 @@ /area/awaymission/BMPship1) "cr" = ( /obj/structure/closet/crate, -/obj/item/device/analyzer, -/obj/item/weapon/spacecash/c10, +/obj/item/analyzer, +/obj/item/spacecash/c10, /turf/simulated/floor/plating{ dir = 2; icon_state = "warnplate" @@ -764,9 +764,9 @@ /area/awaymission/BMPship1) "cs" = ( /obj/structure/closet/crate, -/obj/item/weapon/spacecash/c1000, -/obj/item/weapon/spacecash/c200, -/obj/item/weapon/spacecash/c500, +/obj/item/spacecash/c1000, +/obj/item/spacecash/c200, +/obj/item/spacecash/c500, /turf/simulated/floor/plating{ dir = 2; icon_state = "warnplate" @@ -774,9 +774,9 @@ /area/awaymission/BMPship1) "ct" = ( /obj/structure/closet/crate/freezer, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/hugemushroomslice, -/obj/item/weapon/reagent_containers/food/snacks/appendix, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/hugemushroomslice, +/obj/item/reagent_containers/food/snacks/appendix, /turf/simulated/floor/plating{ dir = 2; icon_state = "warnplate" @@ -852,13 +852,13 @@ /area/awaymission/BMPship2) "cC" = ( /obj/structure/table/standard, -/obj/item/weapon/tool/screwdriver, -/obj/item/weapon/tool/screwdriver, -/obj/item/weapon/paper{ +/obj/item/tool/screwdriver, +/obj/item/tool/screwdriver, +/obj/item/paper{ info = "The next person who takes one of my screwdrivers gets stabbed with one. They are MINE. - Love, Madsen"; name = "scribbled note" }, -/obj/item/weapon/tool/screwdriver, +/obj/item/tool/screwdriver, /turf/simulated/floor{ icon_state = "bar" }, @@ -923,16 +923,16 @@ /area/awaymission/BMPship2) "cL" = ( /obj/structure/table/standard, -/obj/item/weapon/butch, -/obj/item/weapon/reagent_containers/food/drinks/beer, -/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/butch, +/obj/item/reagent_containers/food/drinks/beer, +/obj/item/reagent_containers/food/snacks/meat, /turf/simulated/floor{ icon_state = "barber" }, /area/awaymission/BMPship2) "cM" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, /turf/simulated/floor{ icon_state = "barber" }, @@ -958,14 +958,14 @@ /area/awaymission/BMPship2) "cP" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/drinks/beer, +/obj/item/reagent_containers/food/drinks/beer, /turf/simulated/floor{ icon_state = "bar" }, /area/awaymission/BMPship2) "cQ" = ( /obj/structure/table/standard, -/obj/item/weapon/kitchenknife, +/obj/item/kitchenknife, /turf/simulated/floor{ icon_state = "bar" }, @@ -1024,7 +1024,7 @@ }, /area/awaymission/BMPship3) "cY" = ( -/obj/item/weapon/reagent_containers/food/snacks/hugemushroomslice, +/obj/item/reagent_containers/food/snacks/hugemushroomslice, /turf/simulated/floor{ icon_state = "bar" }, @@ -1033,7 +1033,7 @@ /turf/simulated/floor, /area/awaymission/BMPship2) "da" = ( -/obj/item/weapon/reagent_containers/food/drinks/beer, +/obj/item/reagent_containers/food/drinks/beer, /turf/simulated/floor, /area/awaymission/BMPship2) "db" = ( @@ -1154,7 +1154,7 @@ }, /area/awaymission/BMPship3) "du" = ( -/obj/item/weapon/reagent_containers/food/snacks/hugemushroomslice, +/obj/item/reagent_containers/food/snacks/hugemushroomslice, /turf/simulated/floor, /area/awaymission/BMPship2) "dv" = ( @@ -1195,7 +1195,7 @@ }, /area/awaymission/BMPship2) "dA" = ( -/obj/item/weapon/reagent_containers/food/drinks/beer, +/obj/item/reagent_containers/food/drinks/beer, /turf/simulated/floor{ icon_state = "bar" }, @@ -1219,8 +1219,8 @@ /area/awaymission/BMPship1) "dD" = ( /obj/structure/closet/crate/freezer, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, /turf/simulated/floor{ icon_state = "white" }, @@ -1235,7 +1235,7 @@ }, /area/awaymission/BMPship1) "dF" = ( -/obj/item/weapon/tool/crowbar, +/obj/item/tool/crowbar, /turf/simulated/floor{ icon_state = "white" }, @@ -1268,7 +1268,7 @@ /area/awaymission/BMPship1) "dJ" = ( /obj/structure/table/standard, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "I'm no scientist, but judging from the design and components, it seems to be some kind of gateway. This thing is gonna be worth a lot of cash to the right man. The boys are excited, as they have every right to be, and I've let them crack into that case of beer we got. I normally wouldn't allow such a thing, but this is a time for celebration! It's not like a couple drinks will hurt anything."; name = "Captain's log entry" }, @@ -1279,7 +1279,7 @@ /area/awaymission/BMPship3) "dK" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/drinks/beer, +/obj/item/reagent_containers/food/drinks/beer, /turf/simulated/floor{ icon_state = "carpet14-2"; dir = 4 @@ -1369,7 +1369,7 @@ }, /area/awaymission/BMPship2) "dW" = ( -/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, /obj/structure/cable{ icon_state = "1-2" }, @@ -1428,7 +1428,7 @@ }, /area/awaymission/BMPship1) "ec" = ( -/obj/item/device/multitool, +/obj/item/multitool, /turf/simulated/floor/engine, /area/awaymission/BMPship1) "ed" = ( @@ -1611,7 +1611,7 @@ }, /area/awaymission/BMPship3) "eA" = ( -/obj/item/weapon/shard, +/obj/item/shard, /turf/simulated/floor{ icon_state = "carpetside"; dir = 5 @@ -1760,7 +1760,7 @@ /area/awaymission/BMPship1) "eR" = ( /obj/structure/rack, -/obj/item/weapon/storage/box/lights, +/obj/item/storage/box/lights, /turf/simulated/floor{ dir = 8; icon_state = "warning" @@ -1835,7 +1835,7 @@ }, /area/awaymission/BMPship3) "eZ" = ( -/obj/item/weapon/shard{ +/obj/item/shard{ icon_state = "medium" }, /turf/simulated/floor{ @@ -1871,7 +1871,7 @@ /turf/simulated/floor/plating, /area/awaymission/BMPship2) "ff" = ( -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /turf/simulated/floor{ icon_state = "bar" }, @@ -1950,7 +1950,7 @@ /area/awaymission/BMPship1) "fp" = ( /obj/structure/rack, -/obj/item/weapon/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, /turf/simulated/floor{ dir = 8; icon_state = "warning" @@ -2081,7 +2081,7 @@ /area/awaymission/BMPship1) "fE" = ( /obj/structure/rack, -/obj/item/weapon/cell/high, +/obj/item/cell/high, /turf/simulated/floor{ dir = 8; icon_state = "warning" @@ -2259,7 +2259,7 @@ /turf/simulated/floor/plating, /area/awaymission/BMPship2) "gb" = ( -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /turf/simulated/floor/plating, /area/awaymission/BMPship2) "gc" = ( @@ -2287,7 +2287,7 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/kitchenknife, +/obj/item/kitchenknife, /turf/simulated/shuttle/plating, /area/awaymission/BMPship1) "gg" = ( @@ -2295,7 +2295,7 @@ icon_state = "1-2"; pixel_y = 0 }, -/obj/item/weapon/cell/high, +/obj/item/cell/high, /turf/simulated/floor, /area/awaymission/BMPship1) "gh" = ( @@ -2353,7 +2353,7 @@ dir = 4; id = "meatConvey2" }, -/obj/item/weapon/kitchenknife, +/obj/item/kitchenknife, /turf/simulated/shuttle/plating, /area/awaymission/BMPship2) "gp" = ( @@ -2442,7 +2442,7 @@ /turf/simulated/floor/plating/airless, /area/awaymission/BMPship3) "gC" = ( -/obj/item/weapon/shard{ +/obj/item/shard{ icon_state = "small" }, /obj/structure/cable{ @@ -2472,7 +2472,7 @@ /obj/structure/cable{ icon_state = "1-8" }, -/obj/item/weapon/kitchenknife, +/obj/item/kitchenknife, /turf/simulated/floor{ icon_state = "bar" }, @@ -2511,7 +2511,7 @@ }, /area/awaymission/BMPship1) "gK" = ( -/obj/item/weapon/mop, +/obj/item/mop, /turf/simulated/floor{ icon_state = "showroomfloor" }, @@ -2535,7 +2535,7 @@ }, /area/awaymission/BMPship3) "gO" = ( -/obj/item/weapon/shard, +/obj/item/shard, /turf/simulated/floor/plating/airless{ icon_state = "platingdmg1" }, @@ -2571,13 +2571,13 @@ /area/awaymission/BMPship2) "gU" = ( /obj/structure/closet/crate/freezer, -/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, /turf/simulated/floor{ icon_state = "showroomfloor" }, /area/awaymission/BMPship1) "gV" = ( -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /turf/simulated/floor{ icon_state = "showroomfloor" }, @@ -2671,7 +2671,7 @@ /turf/simulated/mineral/random, /area/awaymission) "hj" = ( -/obj/item/device/multitool, +/obj/item/multitool, /turf/simulated/floor/plating/airless{ icon_state = "platingdmg2" }, @@ -2730,7 +2730,7 @@ /area/awaymission/BMPship1) "hu" = ( /obj/structure/table/standard, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "DEAR DAIRY: So we was doing our typpical route when the captain says we've been picking up weird signals on some backwatter planet. Madsen wanted to stay on course but he ain't the captain, so we went out of the way to check it out. There was lots of rocks on the way, but we got to the planet fine. Found a big fancy camp with nobody around and this big metal donut thing with NT stamps all over it right in the middle. Case of beer too. Captain reckons we can pass it off to some buyer in the Syndicate. Ingram says it's bad luck and that someone is going to come look for it but it sounds like better money than selling bad meat to jerky companies."; name = "Old Diary" }, @@ -2738,8 +2738,8 @@ /area/awaymission/BMPship1) "hv" = ( /obj/structure/table/standard, -/obj/item/weapon/pen/red, -/obj/item/weapon/reagent_containers/food/drinks/beer, +/obj/item/pen/red, +/obj/item/reagent_containers/food/drinks/beer, /turf/simulated/floor, /area/awaymission/BMPship1) "hw" = ( @@ -2887,7 +2887,7 @@ dir = 4 }, /obj/structure/grille, -/obj/item/weapon/shard{ +/obj/item/shard{ icon_state = "small" }, /turf/simulated/floor/engine, @@ -2935,8 +2935,8 @@ /area/awaymission/BMPship1) "id" = ( /obj/structure/stool/bed, -/obj/item/weapon/bedsheet, -/obj/item/weapon/storage/wallet/random, +/obj/item/bedsheet, +/obj/item/storage/wallet/random, /obj/structure/cable{ icon_state = "1-2" }, @@ -3001,7 +3001,7 @@ /turf/simulated/floor, /area/awaymission/BMPship1) "in" = ( -/obj/item/weapon/shard{ +/obj/item/shard{ icon_state = "medium" }, /turf/space, @@ -3026,7 +3026,7 @@ /area/awaymission/BMPship1) "is" = ( /obj/structure/stool/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /turf/simulated/floor, /area/awaymission/BMPship1) "it" = ( @@ -3067,13 +3067,13 @@ /area/awaymission) "iy" = ( /obj/structure/closet/crate, -/obj/item/weapon/spacecash/c10, -/obj/item/weapon/spacecash/c200, +/obj/item/spacecash/c10, +/obj/item/spacecash/c200, /turf/simulated/floor, /area/awaymission/BMPship1) "iz" = ( /obj/structure/closet/crate, -/obj/item/weapon/spacecash/c10, +/obj/item/spacecash/c10, /turf/simulated/floor, /area/awaymission/BMPship1) "iA" = ( @@ -3113,8 +3113,8 @@ }, /area/awaymission) "iF" = ( -/obj/item/weapon/storage/box/matches, -/obj/item/weapon/storage/fancy/cigarettes/dromedaryco, +/obj/item/storage/box/matches, +/obj/item/storage/fancy/cigarettes/dromedaryco, /turf/simulated/floor/plating, /area/awaymission/BMPship3) "iG" = ( @@ -3129,7 +3129,7 @@ }, /area/awaymission/BMPship3) "iI" = ( -/obj/item/weapon/reagent_containers/food/drinks/beer, +/obj/item/reagent_containers/food/drinks/beer, /turf/simulated/floor/plating, /area/awaymission/BMPship3) "iJ" = ( diff --git a/maps/gateway_archive_vr/carpfarm.dm b/maps/gateway_archive_vr/carpfarm.dm index b5f0524e2cc..ce630d4e171 100644 --- a/maps/gateway_archive_vr/carpfarm.dm +++ b/maps/gateway_archive_vr/carpfarm.dm @@ -12,7 +12,7 @@ /area/awaymission/carpfarm/base/entry icon_state = "blue" -/obj/item/weapon/paper/awaygate/carpfarm/suicide +/obj/item/paper/awaygate/carpfarm/suicide name = "suicide letter" info = "dear rescue,

      my name markov. if reading this, i am dead. i am was miner for 3rd union of soviet socialist republiks. \ comrades yuri, dimitri, ivan, all eaten by space carp. all started month ago when soviet shipment sent new sonic jackhammers. \ diff --git a/maps/gateway_archive_vr/carpfarm.dmm b/maps/gateway_archive_vr/carpfarm.dmm index b3162b04533..381b994469f 100644 --- a/maps/gateway_archive_vr/carpfarm.dmm +++ b/maps/gateway_archive_vr/carpfarm.dmm @@ -31,7 +31,7 @@ /turf/simulated/mineral/floor/ignore_mapgen, /area/space) "aj" = ( -/obj/item/weapon/pickaxe/jackhammer, +/obj/item/pickaxe/jackhammer, /turf/simulated/mineral/floor/ignore_mapgen, /area/space) "ak" = ( @@ -135,7 +135,7 @@ /turf/simulated/floor/lino, /area/awaymission/carpfarm/base) "az" = ( -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical, /obj/structure/cable, /obj/machinery/power/apc{ dir = 8; @@ -145,7 +145,7 @@ /obj/effect/floor_decal/industrial/warning{ dir = 1 }, -/obj/item/weapon/paper/awaygate/carpfarm/suicide, +/obj/item/paper/awaygate/carpfarm/suicide, /turf/simulated/floor/plating, /area/awaymission/carpfarm/base) "aA" = ( @@ -186,7 +186,7 @@ /turf/simulated/floor/tiled/white, /area/awaymission/carpfarm/base) "aH" = ( -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/structure/bed/padded, /turf/simulated/floor/lino, /area/awaymission/carpfarm/base) @@ -198,8 +198,8 @@ /obj/item/clothing/suit/space/void/mining, /obj/item/clothing/mask/breath, /obj/item/clothing/head/helmet/space/void/mining, -/obj/item/weapon/mining_scanner, -/obj/item/weapon/tank/jetpack/oxygen, +/obj/item/mining_scanner, +/obj/item/tank/jetpack/oxygen, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/plating, /area/awaymission/carpfarm/base) @@ -208,7 +208,7 @@ /area/awaymission/carpfarm/base) "aL" = ( /obj/structure/closet/toolcloset, -/obj/item/weapon/pickaxe/jackhammer, +/obj/item/pickaxe/jackhammer, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/plating, /area/awaymission/carpfarm/base) @@ -348,9 +348,9 @@ dir = 8 }, /obj/structure/closet/crate/internals, -/obj/item/weapon/tank/emergency/oxygen/engi, -/obj/item/weapon/tank/emergency/oxygen/engi, -/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, /obj/item/clothing/mask/breath, /obj/item/clothing/mask/breath, /obj/item/clothing/mask/breath, @@ -359,9 +359,9 @@ /area/awaymission/carpfarm/base) "bl" = ( /obj/structure/closet/crate/internals, -/obj/item/weapon/tank/emergency/oxygen/engi, -/obj/item/weapon/tank/emergency/oxygen/engi, -/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, /obj/item/clothing/mask/breath, /obj/item/clothing/mask/breath, /obj/item/clothing/mask/breath, @@ -394,7 +394,7 @@ /area/awaymission/carpfarm/base) "br" = ( /obj/item/mecha_parts/mecha_equipment/tool/drill, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /obj/structure/table/steel, /turf/simulated/floor/tiled, /area/awaymission/carpfarm/base) @@ -471,7 +471,7 @@ /area/awaymission/carpfarm/base) "bD" = ( /obj/structure/closet/crate/secure/weapon, -/obj/item/weapon/gun/projectile/shotgun/pump/rifle, +/obj/item/gun/projectile/shotgun/pump/rifle, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/dark, /area/awaymission/carpfarm/base) @@ -578,13 +578,13 @@ /turf/simulated/floor/tiled, /area/awaymission/carpfarm/base) "bS" = ( -/obj/item/weapon/reagent_containers/food/snacks/cubancarp, +/obj/item/reagent_containers/food/snacks/cubancarp, /obj/effect/floor_decal/corner/white/diagonal, /obj/structure/table/glass, /turf/simulated/floor/tiled, /area/awaymission/carpfarm/base) "bT" = ( -/obj/item/weapon/reagent_containers/food/snacks/carpmeat, +/obj/item/reagent_containers/food/snacks/carpmeat, /obj/effect/floor_decal/corner/white/diagonal, /obj/structure/table/glass, /turf/simulated/floor/tiled, @@ -630,7 +630,7 @@ /area/awaymission/carpfarm/base) "bX" = ( /obj/structure/closet/emcloset, -/obj/item/weapon/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, /obj/machinery/airlock_sensor{ frequency = 1375; id_tag = "carp_sensor"; diff --git a/maps/gateway_archive_vr/challenge.dmm b/maps/gateway_archive_vr/challenge.dmm index e220370544d..729a8ae8d4c 100644 --- a/maps/gateway_archive_vr/challenge.dmm +++ b/maps/gateway_archive_vr/challenge.dmm @@ -35,7 +35,7 @@ /turf/simulated/floor/airless, /area/awaymission/challenge/start) "ai" = ( -/obj/item/device/flashlight{ +/obj/item/flashlight{ icon_state = "flashlight-on"; item_state = "flashlight"; on = 1 @@ -80,7 +80,7 @@ /turf/simulated/floor/airless, /area/awaymission/challenge/start) "ap" = ( -/obj/item/weapon/gun/energy/laser/retro, +/obj/item/gun/energy/laser/retro, /turf/simulated/floor/airless, /area/awaymission/challenge/start) "aq" = ( @@ -285,7 +285,7 @@ /obj/machinery/porta_turret{ dir = 8; emagged = 1; - installation = /obj/item/weapon/gun/energy/lasercannon + installation = /obj/item/gun/energy/lasercannon }, /turf/simulated/floor/plating/airless, /area/awaymission/challenge/main) @@ -318,7 +318,7 @@ }, /area/awaymission/challenge/main) "bb" = ( -/obj/item/device/multitool, +/obj/item/multitool, /turf/simulated/floor/airless, /area/awaymission/challenge/main) "bc" = ( @@ -479,7 +479,7 @@ /obj/machinery/porta_turret{ dir = 8; emagged = 1; - installation = /obj/item/weapon/gun/energy/lasercannon + installation = /obj/item/gun/energy/lasercannon }, /turf/simulated/floor/plating, /area/awaymission/challenge/main) @@ -500,7 +500,7 @@ /turf/simulated/floor/plating/airless, /area/awaymission/challenge/main) "bs" = ( -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical, /turf/simulated/floor/airless, /area/awaymission/challenge/main) "bt" = ( @@ -617,7 +617,7 @@ /turf/simulated/floor/plating/airless, /area/awaymission/challenge/main) "bD" = ( -/obj/item/weapon/storage/firstaid/fire, +/obj/item/storage/firstaid/fire, /turf/simulated/floor/airless, /area/awaymission/challenge/main) "bE" = ( @@ -737,7 +737,7 @@ }, /area/awaymission/challenge/end) "bP" = ( -/obj/item/weapon/gun/projectile/russian, +/obj/item/gun/projectile/russian, /turf/simulated/floor{ icon_state = "whitehall"; dir = 2 @@ -842,7 +842,7 @@ /obj/structure/stool/bed/chair{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 0; name = "Station Intercom (General)"; pixel_x = 0; @@ -874,7 +874,7 @@ /turf/simulated/floor/plating, /area/awaymission/challenge/end) "cg" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 0; name = "Station Intercom (General)"; pixel_x = -27 @@ -900,7 +900,7 @@ /area/awaymission/challenge/end) "ck" = ( /obj/structure/rack, -/obj/item/weapon/gun/projectile/mateba, +/obj/item/gun/projectile/mateba, /turf/simulated/floor/wood, /area/awaymission/challenge/end) "cl" = ( @@ -932,24 +932,24 @@ /area) "cq" = ( /obj/structure/table/woodentable, -/obj/item/weapon/melee/chainofcommand, -/obj/item/weapon/stamp, +/obj/item/melee/chainofcommand, +/obj/item/stamp, /turf/simulated/floor/carpet, /area/awaymission/challenge/end) "cr" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "Congratulations,

      Your station has been selected to carry out the Gateway Project.

      The equipment will be shipped to you at the start of the next quarter.
      You are to prepare a secure location to house the equipment as outlined in the attached documents.

      --Nanotrasen Blue Space Research"; name = "Confidential Correspondence, Pg 1"; pixel_x = 0; pixel_y = 0 }, -/obj/item/weapon/folder/blue, +/obj/item/folder/blue, /turf/simulated/floor/carpet, /area/awaymission/challenge/end) "cs" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = 1; pixel_y = 5 }, @@ -957,7 +957,7 @@ /area/awaymission/challenge/end) "ct" = ( /obj/structure/rack, -/obj/item/weapon/gun/projectile/silenced, +/obj/item/gun/projectile/silenced, /turf/simulated/floor/wood, /area/awaymission/challenge/end) "cu" = ( @@ -974,7 +974,7 @@ /area/awaymission/challenge/end) "cw" = ( /obj/structure/rack, -/obj/item/weapon/gun/projectile/automatic/l6_saw, +/obj/item/gun/projectile/automatic/l6_saw, /turf/simulated/floor/wood, /area/awaymission/challenge/end) "cx" = ( @@ -1018,7 +1018,7 @@ }, /area/awaymission/challenge/end) "cC" = ( -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical, /turf/simulated/floor/bluegrid, /area/awaymission/challenge/end) "cD" = ( @@ -1288,14 +1288,14 @@ /area/awaymission/challenge/end) "dg" = ( /obj/structure/table/standard, -/obj/item/weapon/paper/pamphlet, +/obj/item/paper/pamphlet, /turf/simulated/floor{ icon_state = "dark" }, /area/awaymission/challenge/end) "dh" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /turf/simulated/floor{ icon_state = "dark" }, @@ -1320,14 +1320,14 @@ /area/awaymission/challenge/end) "dk" = ( /obj/structure/table/standard, -/obj/item/weapon/implanter/explosive, -/obj/item/weapon/implanter/explosive{ +/obj/item/implanter/explosive, +/obj/item/implanter/explosive{ pixel_y = 4 }, -/obj/item/weapon/implanter/explosive{ +/obj/item/implanter/explosive{ pixel_y = 8 }, -/obj/item/weapon/implanter/explosive{ +/obj/item/implanter/explosive{ pixel_y = 12 }, /turf/simulated/floor{ diff --git a/maps/gateway_archive_vr/desertbase.dmm b/maps/gateway_archive_vr/desertbase.dmm index aaef8d004eb..b90e8cb6973 100644 --- a/maps/gateway_archive_vr/desertbase.dmm +++ b/maps/gateway_archive_vr/desertbase.dmm @@ -269,7 +269,7 @@ /area/space) "aW" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 2; pixel_y = 3 }, @@ -298,14 +298,14 @@ /obj/item/stack/material/glass{ amount = 15 }, -/obj/item/weapon/cell{ +/obj/item/cell{ charge = 100; maxcharge = 15000 }, /turf/simulated/shuttle/floor/darkred, /area/space) "ba" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; @@ -318,11 +318,11 @@ /area/space) "bb" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 8 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /turf/simulated/shuttle/floor/darkred, @@ -343,8 +343,8 @@ /obj/item/stack/medical/bruise_pack, /obj/item/stack/medical/bruise_pack, /obj/item/stack/medical/bruise_pack, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, /turf/simulated/shuttle/floor/darkred, /area/space) "be" = ( @@ -404,10 +404,10 @@ /area/space) "bm" = ( /obj/structure/closet, -/obj/item/weapon/reagent_containers/food/snacks/liquidfood, -/obj/item/weapon/reagent_containers/food/snacks/liquidfood, -/obj/item/weapon/reagent_containers/food/snacks/liquidfood, -/obj/item/weapon/reagent_containers/food/snacks/liquidfood, +/obj/item/reagent_containers/food/snacks/liquidfood, +/obj/item/reagent_containers/food/snacks/liquidfood, +/obj/item/reagent_containers/food/snacks/liquidfood, +/obj/item/reagent_containers/food/snacks/liquidfood, /obj/machinery/light{ dir = 4 }, @@ -415,10 +415,10 @@ /area/space) "bn" = ( /obj/structure/closet, -/obj/item/weapon/reagent_containers/food/snacks/tastybread, -/obj/item/weapon/reagent_containers/food/snacks/tastybread, -/obj/item/weapon/reagent_containers/food/snacks/tastybread, -/obj/item/weapon/reagent_containers/food/snacks/tastybread, +/obj/item/reagent_containers/food/snacks/tastybread, +/obj/item/reagent_containers/food/snacks/tastybread, +/obj/item/reagent_containers/food/snacks/tastybread, +/obj/item/reagent_containers/food/snacks/tastybread, /turf/simulated/shuttle/floor/darkred, /area/space) "bo" = ( @@ -439,7 +439,7 @@ /turf/simulated/shuttle/floor/darkred, /area/space) "bq" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; @@ -504,7 +504,7 @@ /obj/machinery/vending/assist{ contraband = null; name = "AntagCorpVend"; - products = list(/obj/item/device/assembly/prox_sensor = 5, /obj/item/device/assembly/signaler = 4, /obj/item/device/assembly/infra = 4, /obj/item/device/assembly/prox_sensor = 4, /obj/item/weapon/handcuffs = 8, /obj/item/device/flash = 4, /obj/item/weapon/cartridge/signal = 4, /obj/item/clothing/glasses/sunglasses = 4) + products = list(/obj/item/assembly/prox_sensor = 5, /obj/item/assembly/signaler = 4, /obj/item/assembly/infra = 4, /obj/item/assembly/prox_sensor = 4, /obj/item/handcuffs = 8, /obj/item/flash = 4, /obj/item/cartridge/signal = 4, /obj/item/clothing/glasses/sunglasses = 4) }, /obj/machinery/light{ dir = 4 @@ -543,7 +543,7 @@ /obj/machinery/vending/cigarette{ name = "hacked cigarette machine"; prices = list(); - products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) + products = list(/obj/item/storage/fancy/cigarettes = 10, /obj/item/storage/box/matches = 10, /obj/item/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) }, /turf/simulated/shuttle/floor/darkred, /area/space) @@ -568,18 +568,18 @@ /area/space) "bG" = ( /obj/structure/table/standard, -/obj/item/weapon/material/kitchen/utensil/knife{ +/obj/item/material/kitchen/utensil/knife{ pixel_x = -6 }, -/obj/item/weapon/reagent_containers/syringe/drugs{ +/obj/item/reagent_containers/syringe/drugs{ pixel_x = 3; pixel_y = -1 }, -/obj/item/weapon/reagent_containers/syringe/drugs{ +/obj/item/reagent_containers/syringe/drugs{ pixel_x = 3; pixel_y = 4 }, -/obj/item/weapon/reagent_containers/syringe/drugs{ +/obj/item/reagent_containers/syringe/drugs{ pixel_x = 3; pixel_y = 9 }, @@ -611,9 +611,9 @@ /obj/structure/closet{ name = "custodial" }, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/mop, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/glass/bucket, +/obj/item/mop, +/obj/item/reagent_containers/spray/cleaner, /turf/simulated/shuttle/floor/darkred, /area/space) "bL" = ( @@ -647,8 +647,8 @@ /area/space) "bQ" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /turf/simulated/shuttle/floor/darkred, /area/space) "bR" = ( @@ -658,18 +658,18 @@ req_access = list(150) }, /obj/item/bodybag, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/reagent_containers/glass/bottle/antitoxin{ +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/glass/bottle/antitoxin{ pixel_x = -4; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline{ +/obj/item/reagent_containers/glass/bottle/inaprovaline{ pixel_x = 4; pixel_y = 7 }, -/obj/item/weapon/reagent_containers/syringe, +/obj/item/reagent_containers/syringe, /obj/machinery/light{ dir = 4 }, @@ -693,7 +693,7 @@ /area/space) "bU" = ( /obj/structure/table/standard, -/obj/item/device/binoculars, +/obj/item/binoculars, /turf/simulated/shuttle/floor/darkred, /area/space) "bV" = ( @@ -810,7 +810,7 @@ /turf/simulated/shuttle/floor/darkred, /area/space) "ch" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/shuttle/floor/darkred, /area/space) "ci" = ( @@ -895,7 +895,7 @@ /area/space) "co" = ( /obj/structure/table/rack, -/obj/item/device/multitool, +/obj/item/multitool, /obj/machinery/light{ dir = 8; icon_state = "tube1"; @@ -908,9 +908,9 @@ dir = 1 }, /obj/structure/table/standard, -/obj/item/weapon/surgical/surgicaldrill, -/obj/item/weapon/surgical/cautery, -/obj/item/weapon/surgical/retractor, +/obj/item/surgical/surgicaldrill, +/obj/item/surgical/cautery, +/obj/item/surgical/retractor, /obj/item/stack/nanopaste, /turf/simulated/shuttle/floor/darkred, /area/space) @@ -919,12 +919,12 @@ dir = 1 }, /obj/structure/table/standard, -/obj/item/weapon/surgical/circular_saw, -/obj/item/weapon/surgical/FixOVein{ +/obj/item/surgical/circular_saw, +/obj/item/surgical/FixOVein{ pixel_x = -6; pixel_y = 1 }, -/obj/item/weapon/surgical/hemostat, +/obj/item/surgical/hemostat, /turf/simulated/shuttle/floor/darkred, /area/space) "cr" = ( @@ -932,21 +932,21 @@ /obj/structure/window/reinforced{ dir = 8 }, -/obj/item/weapon/storage/firstaid/toxin{ +/obj/item/storage/firstaid/toxin{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ pixel_x = 1 }, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/fire{ pixel_x = 1 }, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /turf/simulated/shuttle/floor/darkred, /area/space) "cs" = ( @@ -957,7 +957,7 @@ /turf/simulated/shuttle/floor/darkred, /area/space) "ct" = ( -/obj/item/weapon/weldingtool, +/obj/item/weldingtool, /obj/machinery/light{ dir = 8; icon_state = "tube1"; @@ -1008,12 +1008,12 @@ pixel_y = 0; req_access = list(150) }, -/obj/item/weapon/tank/anesthetic, +/obj/item/tank/anesthetic, /obj/item/clothing/mask/breath/medical, /obj/item/clothing/mask/surgical, -/obj/item/weapon/reagent_containers/syringe, -/obj/item/weapon/reagent_containers/glass/bottle/stoxin, -/obj/item/weapon/reagent_containers/glass/bottle/stoxin, +/obj/item/reagent_containers/syringe, +/obj/item/reagent_containers/glass/bottle/stoxin, +/obj/item/reagent_containers/glass/bottle/stoxin, /turf/simulated/shuttle/floor/darkred, /area/space) "cz" = ( @@ -1021,7 +1021,7 @@ /turf/simulated/shuttle/floor/darkred, /area/space) "cA" = ( -/obj/item/weapon/tool/crowbar, +/obj/item/tool/crowbar, /turf/simulated/shuttle/floor/darkred, /area/space) "cB" = ( @@ -1055,9 +1055,9 @@ /area/space) "cH" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/scalpel, -/obj/item/weapon/surgical/bonesetter, -/obj/item/weapon/surgical/bonegel{ +/obj/item/surgical/scalpel, +/obj/item/surgical/bonesetter, +/obj/item/surgical/bonegel{ pixel_x = 4; pixel_y = 3 }, diff --git a/maps/gateway_archive_vr/example.dmm b/maps/gateway_archive_vr/example.dmm index d6cabf7e475..b14856953d8 100644 --- a/maps/gateway_archive_vr/example.dmm +++ b/maps/gateway_archive_vr/example.dmm @@ -120,7 +120,7 @@ /turf/simulated/floor, /area/awaymission/example) "ar" = ( -/obj/item/weapon/cigbutt, +/obj/item/cigbutt, /turf/simulated/floor, /area/awaymission/example) "as" = ( @@ -190,7 +190,7 @@ dir = 8 }, /obj/structure/table/standard, -/obj/item/weapon/paper/pamphlet, +/obj/item/paper/pamphlet, /turf/simulated/floor, /area/awaymission/example) "aC" = ( @@ -206,12 +206,12 @@ /area/awaymission/example) "aE" = ( /obj/structure/table/standard, -/obj/item/device/flashlight, +/obj/item/flashlight, /turf/simulated/floor, /area/awaymission/example) "aF" = ( /obj/structure/table/standard, -/obj/item/weapon/tool/crowbar, +/obj/item/tool/crowbar, /turf/simulated/floor, /area/awaymission/example) "aG" = ( @@ -228,7 +228,7 @@ "aI" = ( /obj/structure/table/standard, /obj/effect/spawner/lootdrop{ - loot = "/obj/item/weapon/tool/wrench;/obj/item/weapon/tool/screwdriver;/obj/item/weapon/cigpacket/dromedaryco"; + loot = "/obj/item/tool/wrench;/obj/item/tool/screwdriver;/obj/item/cigpacket/dromedaryco"; lootcount = 2 }, /turf/simulated/floor, @@ -368,7 +368,7 @@ /area/awaymission/example) "bb" = ( /obj/structure/table/standard, -/obj/item/device/healthanalyzer, +/obj/item/healthanalyzer, /turf/simulated/floor{ icon_state = "white" }, @@ -387,22 +387,22 @@ /area/awaymission/example) "be" = ( /obj/structure/table/standard, -/obj/item/device/mass_spectrometer/adv, +/obj/item/mass_spectrometer/adv, /turf/simulated/floor{ icon_state = "white" }, /area/awaymission/example) "bf" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/glass/beaker, +/obj/item/reagent_containers/glass/beaker, /turf/simulated/floor{ icon_state = "white" }, /area/awaymission/example) "bg" = ( /obj/structure/table/standard, -/obj/item/weapon/folder/white, -/obj/item/weapon/pen/red, +/obj/item/folder/white, +/obj/item/pen/red, /turf/simulated/floor{ icon_state = "white" }, @@ -415,8 +415,8 @@ /area/awaymission/example) "bi" = ( /obj/structure/table/standard, -/obj/item/weapon/clipboard, -/obj/item/weapon/reagent_containers/syringe/antiviral, +/obj/item/clipboard, +/obj/item/reagent_containers/syringe/antiviral, /turf/simulated/floor{ icon_state = "white" }, @@ -618,7 +618,7 @@ /area/awaymission/example) "bI" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/drinks/sodawater, +/obj/item/reagent_containers/food/drinks/sodawater, /turf/simulated/floor{ icon_state = "bar" }, @@ -628,9 +628,9 @@ density = 0; pixel_y = 32 }, -/obj/item/weapon/book/manual/barman_recipes, -/obj/item/weapon/book/manual/chef_recipes, -/obj/item/weapon/book/manual/ripley_build_and_repair, +/obj/item/book/manual/barman_recipes, +/obj/item/book/manual/chef_recipes, +/obj/item/book/manual/ripley_build_and_repair, /turf/simulated/floor{ icon_state = "bar" }, @@ -664,15 +664,15 @@ density = 0; pixel_y = 32 }, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/manual/security_space_law, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/wiki/security_space_law, /turf/simulated/floor{ icon_state = "bar" }, /area/awaymission/example) "bO" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/bottle/wine, +/obj/item/reagent_containers/food/drinks/bottle/wine, /turf/simulated/floor{ icon_state = "bar" }, @@ -693,7 +693,7 @@ "bR" = ( /obj/structure/table/standard, /obj/machinery/light/small, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "X X O
      X O X
      O X" }, /turf/simulated/floor{ @@ -714,7 +714,7 @@ /area/awaymission/example) "bU" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/validsalad, +/obj/item/reagent_containers/food/snacks/validsalad, /turf/simulated/floor{ icon_state = "bar" }, @@ -729,28 +729,28 @@ /area/awaymission/example) "bX" = ( /obj/structure/table/standard, -/obj/item/device/analyzer, +/obj/item/analyzer, /turf/simulated/floor, /area/awaymission/example) "bY" = ( /obj/structure/table/standard, -/obj/item/weapon/rack_parts, +/obj/item/rack_parts, /turf/simulated/floor, /area/awaymission/example) "bZ" = ( /obj/structure/table/standard, -/obj/item/device/toner, +/obj/item/toner, /turf/simulated/floor, /area/awaymission/example) "ca" = ( /obj/structure/table/standard, -/obj/item/weapon/tool/wirecutters, +/obj/item/tool/wirecutters, /obj/item/stack/cable_coil/yellow, /turf/simulated/floor, /area/awaymission/example) "cb" = ( /obj/structure/table/standard, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /turf/simulated/floor, /area/awaymission/example) "cc" = ( @@ -765,7 +765,7 @@ /area/awaymission/example) "ce" = ( /obj/structure/filingcabinet, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "Todo: write up a lawsuit for Ted, fuck what the pamphlets say, nothing good is gonna come out of that gate. Ted'll thank me later, I'll bet."; name = "documents" }, @@ -773,8 +773,8 @@ /area/awaymission/example) "cf" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/blue, +/obj/item/paper_bin, +/obj/item/pen/blue, /turf/simulated/floor, /area/awaymission/example) "cg" = ( @@ -783,8 +783,8 @@ /area/awaymission/example) "ch" = ( /obj/structure/table/standard, -/obj/item/weapon/tool/screwdriver, -/obj/item/weapon/hand_labeler, +/obj/item/tool/screwdriver, +/obj/item/hand_labeler, /obj/machinery/light{ icon_state = "tube1"; dir = 8 @@ -799,7 +799,7 @@ /area/awaymission/example) "cj" = ( /obj/structure/table/standard, -/obj/item/weapon/paper/pamphlet, +/obj/item/paper/pamphlet, /turf/simulated/floor, /area/awaymission/example) "ck" = ( @@ -813,7 +813,7 @@ }, /area/awaymission/example) "cm" = ( -/obj/item/weapon/paper{ +/obj/item/paper{ info = "Hey Ted, remind me to take Angeline out some time before I ship out. You know how bad my memory is, so don't get all high and mighty with me. READ THIS."; name = "note" }, @@ -827,11 +827,11 @@ /obj/structure/noticeboard{ pixel_y = 32 }, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "Remember, friday is David Bowie night! You guys had better fucking be there!"; name = "friday night" }, -/obj/item/weapon/cigbutt, +/obj/item/cigbutt, /turf/simulated/floor{ icon_state = "yellowcorner" }, @@ -850,7 +850,7 @@ /obj/effect/landmark{ name = "awaystart" }, -/obj/item/device/assembly/mousetrap/armed, +/obj/item/assembly/mousetrap/armed, /turf/simulated/floor, /area/awaymission/example) "cs" = ( @@ -871,7 +871,7 @@ /obj/effect/landmark{ name = "awaystart" }, -/obj/item/weapon/mop, +/obj/item/mop, /turf/simulated/floor, /area/awaymission/example) "cv" = ( @@ -880,7 +880,7 @@ /area/awaymission/example) "cw" = ( /obj/structure/table/standard, -/obj/item/weapon/cell/high, +/obj/item/cell/high, /turf/simulated/floor, /area/awaymission/example) "cx" = ( diff --git a/maps/gateway_archive_vr/jungle.dmm b/maps/gateway_archive_vr/jungle.dmm index 3f8f1a94617..b90cf71c7ef 100644 --- a/maps/gateway_archive_vr/jungle.dmm +++ b/maps/gateway_archive_vr/jungle.dmm @@ -734,8 +734,8 @@ /area/jungle) "cJ" = ( /obj/structure/closet/crate/secure/gear, -/obj/item/weapon/extinguisher, -/obj/item/weapon/minihoe, +/obj/item/extinguisher, +/obj/item/minihoe, /turf/unsimulated/jungle/clear, /area/jungle) "cK" = ( @@ -753,7 +753,7 @@ /turf/unsimulated/floor, /area/jungle) "cO" = ( -/obj/item/weapon/storage/firstaid, +/obj/item/storage/firstaid, /turf/unsimulated/floor, /area/jungle) "cP" = ( @@ -772,7 +772,7 @@ /turf/unsimulated/jungle/clear, /area/jungle) "cT" = ( -/obj/item/weapon/firstaid_arm_assembly, +/obj/item/firstaid_arm_assembly, /turf/unsimulated/jungle/clear, /area/jungle) "cU" = ( @@ -807,7 +807,7 @@ /area/jungle) "cZ" = ( /obj/structure/rack, -/obj/item/weapon/storage/pill_bottle/antitox, +/obj/item/storage/pill_bottle/antitox, /turf/unsimulated/floor, /area/jungle) "da" = ( @@ -838,7 +838,7 @@ /area/jungle) "df" = ( /obj/structure/rack, -/obj/item/weapon/pen, +/obj/item/pen, /turf/unsimulated/floor, /area/jungle) "dg" = ( @@ -865,7 +865,7 @@ /area/jungle) "dk" = ( /obj/structure/closet/crate/secure/gear, -/obj/item/weapon/hatchet, +/obj/item/hatchet, /turf/unsimulated/jungle/clear, /area/jungle) "dl" = ( @@ -884,7 +884,7 @@ /turf/unsimulated/jungle/clear, /area/jungle/crash_ship_one) "dp" = ( -/obj/item/weapon/secbot_assembly, +/obj/item/secbot_assembly, /turf/unsimulated/jungle/clear, /area/jungle) "dq" = ( @@ -892,7 +892,7 @@ /turf/unsimulated/jungle/clear, /area/jungle) "dr" = ( -/obj/item/weapon/rack_parts, +/obj/item/rack_parts, /turf/unsimulated/floor, /area/jungle) "ds" = ( @@ -917,7 +917,7 @@ /turf/unsimulated/jungle/path, /area/jungle/crash_ship_source) "dx" = ( -/obj/item/weapon/shard, +/obj/item/shard, /turf/unsimulated/jungle/path, /area/jungle/crash_ship_source) "dy" = ( @@ -925,7 +925,7 @@ /turf/unsimulated/jungle/path, /area/jungle/crash_ship_source) "dz" = ( -/obj/item/weapon/shard{ +/obj/item/shard{ icon_state = "small" }, /turf/unsimulated/jungle/path, @@ -986,11 +986,11 @@ /turf/unsimulated/floor, /area/jungle/crash_ship_source) "dJ" = ( -/obj/item/weapon/hatchet, +/obj/item/hatchet, /turf/unsimulated/floor, /area/jungle/crash_ship_source) "dK" = ( -/obj/item/weapon/shard{ +/obj/item/shard{ icon_state = "small" }, /turf/unsimulated/floor, @@ -1000,13 +1000,13 @@ /turf/unsimulated/floor, /area/jungle/crash_ship_source) "dM" = ( -/obj/item/weapon/shard{ +/obj/item/shard{ icon_state = "medium" }, /turf/unsimulated/jungle/path, /area/jungle/crash_ship_source) "dN" = ( -/obj/item/weapon/cell, +/obj/item/cell, /turf/unsimulated/floor, /area/jungle/crash_ship_source) "dO" = ( @@ -1018,7 +1018,7 @@ /area/jungle/crash_ship_source) "dP" = ( /obj/structure/rack, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/unsimulated/floor, /area/jungle/crash_ship_source) "dQ" = ( @@ -1027,7 +1027,7 @@ /area/jungle/crash_ship_source) "dR" = ( /obj/structure/rack, -/obj/item/weapon/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, /turf/unsimulated/floor, /area/jungle/crash_ship_source) "dS" = ( @@ -1038,7 +1038,7 @@ /turf/unsimulated/floor, /area/jungle/crash_ship_source) "dT" = ( -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /turf/unsimulated/jungle/path, /area/jungle/crash_ship_source) "dU" = ( @@ -1051,7 +1051,7 @@ /area/jungle/crash_ship_source) "dV" = ( /obj/structure/rack, -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical, /turf/unsimulated/floor, /area/jungle/crash_ship_source) "dW" = ( diff --git a/maps/gateway_archive_vr/labyrinth.dm b/maps/gateway_archive_vr/labyrinth.dm index f1f19604905..9a013729d70 100644 --- a/maps/gateway_archive_vr/labyrinth.dm +++ b/maps/gateway_archive_vr/labyrinth.dm @@ -133,7 +133,7 @@ name = "Banana Mortar" icon = 'icons/mecha/mecha_equipment_vr.dmi' icon_state = "mecha_bananamrtr" - projectile = /obj/item/weapon/bananapeel + projectile = /obj/item/bananapeel fire_sound = 'sound/items/bikehorn.ogg' projectiles = 15 missile_speed = 1.5 @@ -167,13 +167,13 @@ return 0 playsound(chassis, 'sound/items/AirHorn.ogg', 100, 1) - chassis.occupant_message(span_red("HONK")) + chassis.occupant_message(span_infoplain(span_red(span_giant("HONK")))) for(var/mob/living/carbon/M in ohearers(6, chassis)) if(istype(M, /mob/living/carbon/human)) var/mob/living/carbon/human/H = M if(istype(H.l_ear, /obj/item/clothing/ears/earmuffs) || istype(H.r_ear, /obj/item/clothing/ears/earmuffs)) continue - to_chat(M, span_red("HONK")) + to_chat(M, span_infoplain(span_red(span_massive("HONK")))) M.sleeping = 0 M.stuttering += 20 M.ear_deaf += 30 @@ -195,7 +195,7 @@ corpsesuit = /obj/item/clothing/suit/storage/hooded/chaplain_hoodie corpsegloves = /obj/item/clothing/gloves/black corpsemask = /obj/item/clothing/mask/gas/clown_hat - corpsepocket1 = /obj/item/weapon/bikehorn + corpsepocket1 = /obj/item/bikehorn /obj/effect/landmark/mobcorpse/tunnelclown/sentinel name = "dead clown sentinel" @@ -205,7 +205,7 @@ /mob/living/simple_mob/hostile/tunnelclown name = "tunnel clown" desc = "A clown driven to madness in the depths of the Honk Mother's Catacombs." - faction = "tunnelclown" + faction = FACTION_TUNNELCLOWN icon = 'icons/mob/clowns_vr.dmi' icon_state = "tunnelclown" icon_living = "tunnelclown" @@ -220,7 +220,7 @@ // speak_chance = 1 a_intent = "harm" var/corpse = /obj/effect/landmark/mobcorpse/tunnelclown - var/weapon1 = /obj/item/weapon/twohanded/fireaxe + var/weapon1 = /obj/item/material/twohanded/fireaxe stop_when_pulled = 0 maxHealth = 100 health = 100 @@ -247,13 +247,13 @@ /mob/living/simple_mob/hostile/tunnelclown/sentinel name = "tunnel clown sentinel" desc = "A clown warrior tasked with guarding the Honk Mother's Catacombs." - faction = "tunnelclown" + faction = FACTION_TUNNELCLOWN icon = 'icons/mob/clowns_vr.dmi' icon_state = "sentinelclown" icon_living = "sentinelclown" icon_dead = "clown_dead" corpse = /obj/effect/landmark/mobcorpse/tunnelclown/sentinel - weapon1 = /obj/item/weapon/material/twohanded/spear + weapon1 = /obj/item/material/twohanded/spear maxHealth = 150 health = 150 melee_damage_lower = 15 @@ -271,7 +271,7 @@ /mob/living/simple_mob/hostile/cluwne name = "cluwne" desc = "A mutated clown alleged to have been cursed by the Honk Mother and permanently banished to these catacombs for once being an unfunny shitter who brought grief instead of laughter." - faction = "tunnelclown" + faction = FACTION_TUNNELCLOWN icon = 'icons/mob/clowns_vr.dmi' icon_state = "cluwne" icon_living = "cluwne" @@ -320,7 +320,7 @@ prob(2);/mob/living/simple_mob/hostile/tunnelclown/sentinel, prob(1);/mob/living/simple_mob/hostile/tunnelclown) -/obj/item/weapon/paper/awaygate/labyrinth/calypso +/obj/item/paper/awaygate/labyrinth/calypso name = "copy of the Final Flight of Calypso" info = {"

      THIS IS A COPY OF THE LOGBOOKS AS COPIED BY GREYSON MAXIMUS, CAPTAIN V.O.R.E. NANOTRASEN.

      //BEGIN// @@ -353,7 +353,7 @@

      HONK

      //END//"} -/obj/item/weapon/paper/awaygate/labyrinth/research +/obj/item/paper/awaygate/labyrinth/research name = "research notes" info = {"This must be the location of the alleged dig site mentioned in the Calypso's logs. These are the coordinates recovered from the wreck, and everything checks out. My excavation team discovered two monoliths; one near the surface, and another at an underground shrine. I think this is it, but Dr. Madison hasn't come back with his team diff --git a/maps/gateway_archive_vr/labyrinth.dmm b/maps/gateway_archive_vr/labyrinth.dmm index cec40172e05..0e3e8f7570b 100644 --- a/maps/gateway_archive_vr/labyrinth.dmm +++ b/maps/gateway_archive_vr/labyrinth.dmm @@ -640,7 +640,7 @@ /area/awaymission/labyrinth/arrival) "bI" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /turf/unsimulated/floor{ icon_state = "wood" }, @@ -759,7 +759,7 @@ }, /area/awaymission/labyrinth/arrival) "ca" = ( -/obj/item/weapon/stool, +/obj/item/stool, /turf/unsimulated/floor{ icon_state = "white" }, @@ -810,13 +810,13 @@ /area/awaymission/labyrinth/arrival) "ch" = ( /obj/structure/table, -/obj/item/weapon/pen, -/obj/item/weapon/paper{ +/obj/item/pen, +/obj/item/paper{ info = "... the key lies beneath the tears of our mother..."; name = "translated cryptic riddle" }, -/obj/item/weapon/paper/awaygate/labyrinth/calypso, -/obj/item/weapon/paper/awaygate/labyrinth/research, +/obj/item/paper/awaygate/labyrinth/calypso, +/obj/item/paper/awaygate/labyrinth/research, /turf/unsimulated/floor{ icon_state = "white" }, @@ -922,12 +922,12 @@ /area/awaymission/labyrinth/arrival) "ct" = ( /obj/structure/table, -/obj/item/weapon/storage/box, -/obj/item/weapon/pickaxe, -/obj/item/weapon/tool/wrench, -/obj/item/device/measuring_tape, +/obj/item/storage/box, +/obj/item/pickaxe, +/obj/item/tool/wrench, +/obj/item/measuring_tape, /obj/item/stack/flag/yellow, -/obj/item/weapon/shovel/spade, +/obj/item/shovel/spade, /turf/unsimulated/floor{ icon_state = "white" }, @@ -949,8 +949,8 @@ /area/awaymission/labyrinth/arrival) "cw" = ( /obj/structure/table, -/obj/item/weapon/storage/box/donkpockets, -/obj/item/weapon/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, /turf/unsimulated/floor{ icon_state = "white" }, @@ -1025,7 +1025,7 @@ }, /area/awaymission/labyrinth/temple/entry) "cF" = ( -/obj/item/weapon/fossil/plant, +/obj/item/fossil/plant, /turf/unsimulated/floor{ icon_state = "asteroid_dug" }, @@ -1058,7 +1058,7 @@ /area/awaymission/labyrinth/temple/entry) "cK" = ( /obj/structure/table/reinforced, -/obj/item/weapon/bananapeel, +/obj/item/bananapeel, /turf/unsimulated/floor{ name = "plating"; icon_state = "cult" @@ -1071,7 +1071,7 @@ layer = 2; specialfunctions = 4 }, -/obj/item/weapon/reagent_containers/food/snacks/clownstears{ +/obj/item/reagent_containers/food/snacks/clownstears{ pixel_y = 6 }, /turf/unsimulated/floor{ @@ -1081,7 +1081,7 @@ /area/awaymission/labyrinth/temple/entry) "cM" = ( /obj/structure/table/reinforced, -/obj/item/weapon/bikehorn, +/obj/item/bikehorn, /turf/unsimulated/floor{ name = "plating"; icon_state = "cult" @@ -1121,7 +1121,7 @@ }, /area/awaymission/labyrinth/arrival) "cS" = ( -/obj/item/weapon/bananapeel, +/obj/item/bananapeel, /turf/unsimulated/floor{ dir = 8; icon_state = "asteroid"; @@ -1161,7 +1161,7 @@ }, /area/awaymission/labyrinth/arrival) "cW" = ( -/obj/item/weapon/fossil/skull/horned, +/obj/item/fossil/skull/horned, /turf/unsimulated/floor{ icon_state = "asteroid_dug" }, @@ -1192,7 +1192,7 @@ }, /area/awaymission/labyrinth/arrival) "cY" = ( -/obj/item/weapon/storage/box, +/obj/item/storage/box, /turf/unsimulated/floor{ dir = 8; icon_state = "asteroid"; @@ -1232,7 +1232,7 @@ }, /area/awaymission/labyrinth/arrival) "db" = ( -/obj/item/weapon/fossil, +/obj/item/fossil, /turf/unsimulated/floor{ icon_state = "asteroid_dug" }, @@ -1258,7 +1258,7 @@ name = "dirt"; }, -/obj/item/device/measuring_tape, +/obj/item/measuring_tape, /turf/unsimulated/wall/exterior{ density = 0; icon_state = "rock_side_n"; @@ -1267,7 +1267,7 @@ }, /area/awaymission/labyrinth/arrival) "de" = ( -/obj/item/weapon/shovel/spade, +/obj/item/shovel/spade, /turf/unsimulated/floor{ dir = 8; icon_state = "asteroid"; @@ -1276,7 +1276,7 @@ }, /area/awaymission/labyrinth/arrival) "df" = ( -/obj/item/weapon/shovel, +/obj/item/shovel, /turf/unsimulated/floor{ dir = 8; icon_state = "asteroid"; @@ -1294,7 +1294,7 @@ }, /area/awaymission/labyrinth/arrival) "dh" = ( -/obj/item/weapon/fossil/shell, +/obj/item/fossil/shell, /turf/unsimulated/floor{ icon_state = "asteroid_dug" }, @@ -1767,7 +1767,7 @@ }, /area/awaymission/labyrinth/boss) "dY" = ( -/obj/item/weapon/paper{ +/obj/item/paper{ info = "Pray to the honk mother if ye are ready to face her champion. Shouldst thou be deem'd worthy, the champion will appear. There shall be no retreat once the conflict begins. Though her holy highness is a lady of laughter, there will be no mercy."; name = "parchment" }, diff --git a/maps/gateway_archive_vr/listeningpost.dm b/maps/gateway_archive_vr/listeningpost.dm index 2d794cf7ad2..0d1e32fd186 100644 --- a/maps/gateway_archive_vr/listeningpost.dm +++ b/maps/gateway_archive_vr/listeningpost.dm @@ -1,14 +1,14 @@ -/obj/item/weapon/paper/listneningpost/mission +/obj/item/paper/listneningpost/mission name = "\improper Operation: Watchtower" info = {"Mission Details: You have been assigned to a newly constructed listening post constructed within an asteroid in Nanotrasen space to monitor their plasma mining operations. Accurate intel is crucial to the success of our operatives onboard, do not fail us."} -/obj/item/weapon/paper/listneningpost/reciept +/obj/item/paper/listneningpost/reciept name = "\improper SpacEx reciept" info = {"1 x Stechtkin pistol plus ammo - $600
      1 x silencer - $200
      shipping charge - $4360
      total - $5160"} -/obj/item/weapon/paper/listneningpost/oddreport +/obj/item/paper/listneningpost/oddreport name = "\improper Odd Report" info = {"I wonder how much longer they will accept my empty reports. They will cancel the case soon without results. When the pickup comes, I will tell them I have lost faith in our cause, and beg them to consider a diplomatic diff --git a/maps/gateway_archive_vr/listeningpost.dmm b/maps/gateway_archive_vr/listeningpost.dmm index aac334a3395..4caae55678b 100644 --- a/maps/gateway_archive_vr/listeningpost.dmm +++ b/maps/gateway_archive_vr/listeningpost.dmm @@ -7,26 +7,26 @@ "g" = (/turf/simulated/wall,/area/awaymission/listeningpost) "h" = (/turf/simulated/mineral,/area/mine/unexplored) "i" = (/turf/simulated/floor,/area/awaymission/listeningpost) -"j" = (/obj/structure/table/standard,/obj/item/weapon/paper/monitorkey,/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; !INVALID_VAR! = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/obj/item/clothing/glasses/regular,/turf/simulated/floor,/area/awaymission/listeningpost) +"j" = (/obj/structure/table/standard,/obj/item/paper/monitorkey,/obj/item/radio/intercom{desc = "Talk through this. Evilly"; !INVALID_VAR! = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/obj/item/clothing/glasses/regular,/turf/simulated/floor,/area/awaymission/listeningpost) "k" = (/obj/structure/table/standard,/turf/simulated/floor,/area/awaymission/listeningpost) "l" = (/turf/simulated/mineral/floor/vacuum,/area/mine/explored) "m" = (/obj/machinery/computer/message_monitor{dir = 4},/turf/simulated/floor,/area/awaymission/listeningpost) "n" = (/obj/structure/bed/chair{dir = 4},/mob/living/simple_mob/humanoid/merc{desc = "A weary looking syndicate operative."; faction = "syndicate"},/turf/simulated/floor,/area/awaymission/listeningpost) -"o" = (/obj/structure/table/standard,/obj/item/weapon/paper{info = "Nothing of interest to report."; name = "november report"},/obj/item/weapon/pen,/turf/simulated/floor,/area/awaymission/listeningpost) -"p" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; !INVALID_VAR! = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/turf/simulated/floor,/area/awaymission/listeningpost) +"o" = (/obj/structure/table/standard,/obj/item/paper{info = "Nothing of interest to report."; name = "november report"},/obj/item/pen,/turf/simulated/floor,/area/awaymission/listeningpost) +"p" = (/obj/item/radio/intercom{desc = "Talk through this. Evilly"; !INVALID_VAR! = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/turf/simulated/floor,/area/awaymission/listeningpost) "q" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/syndicate,/obj/item/clothing/mask/gas,/obj/item/clothing/head/helmet/space/syndicate,/turf/simulated/floor,/area/awaymission/listeningpost) -"r" = (/obj/machinery/door/airlock,/obj/item/weapon/paper{info = "I wonder how much longer they will accept my empty reports. They will cancel the case soon without results. When the pickup comes, I will tell them I have lost faith in our cause, and beg them to consider a diplomatic solution. How many nuclear teams have been dispatched with those nukes? I must try and prevent more from ever being sent. If they will not listen to reason, I will detonate the warehouse myself. Maybe some day in the immediate future, space will be peaceful, though I don't intend to live to see it. And that is why I write this down- it is my sacrifice that stabilised your worlds, traveller. Spare a thought for me, and please attempt to prevent nuclear proliferation, should it ever rear it's ugly head again. -Donk Co. Operative #451"; name = "odd report"},/obj/item/weapon/gun/projectile/pistol,/obj/item/weapon/silencer,/turf/simulated/floor,/area/awaymission/listeningpost) +"r" = (/obj/machinery/door/airlock,/obj/item/paper{info = "I wonder how much longer they will accept my empty reports. They will cancel the case soon without results. When the pickup comes, I will tell them I have lost faith in our cause, and beg them to consider a diplomatic solution. How many nuclear teams have been dispatched with those nukes? I must try and prevent more from ever being sent. If they will not listen to reason, I will detonate the warehouse myself. Maybe some day in the immediate future, space will be peaceful, though I don't intend to live to see it. And that is why I write this down- it is my sacrifice that stabilised your worlds, traveller. Spare a thought for me, and please attempt to prevent nuclear proliferation, should it ever rear it's ugly head again. -Donk Co. Operative #451"; name = "odd report"},/obj/item/gun/projectile/pistol,/obj/item/silencer,/turf/simulated/floor,/area/awaymission/listeningpost) "s" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/mineral,/area/mine/unexplored) "t" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/mineral,/area/mine/unexplored) "u" = (/obj/structure/disposaloutlet{dir = 4},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/airless,/area) -"v" = (/obj/structure/bed,/obj/item/weapon/bedsheet/brown,/turf/simulated/floor,/area/awaymission/listeningpost) -"w" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp,/turf/simulated/floor,/area/awaymission/listeningpost) +"v" = (/obj/structure/bed,/obj/item/bedsheet/brown,/turf/simulated/floor,/area/awaymission/listeningpost) +"w" = (/obj/structure/table/standard,/obj/item/flashlight/lamp,/turf/simulated/floor,/area/awaymission/listeningpost) "x" = (/obj/machinery/vending/snack,/turf/simulated/floor,/area/awaymission/listeningpost) "y" = (/obj/structure/disposalpipe/segment,/turf/simulated/mineral,/area/mine/unexplored) "z" = (/obj/machinery/vending/cola,/turf/simulated/floor,/area/awaymission/listeningpost) "A" = (/obj/structure/closet,/obj/item/clothing/gloves/boxing,/turf/simulated/floor,/area/awaymission/listeningpost) -"B" = (/obj/structure/filingcabinet,/obj/item/weapon/paper{info = "A good start to the operation: intercepted Nanotrasen military communications. A convoy is scheduled to transfer nuclear warheads to a new military base. This is as good a chance as any to get our hands on some heavy weaponry, I suggest we take it."; name = "april report"},/obj/item/weapon/paper{info = "Nothing of real interest to report this month. I have intercepted faint transmissions from what appears to be some sort of pirate radio station. They do not appear to be relevant to my assignment."; name = "may report"},/obj/item/weapon/paper{info = "Nanotrasen communications have been noticably less frequent recently. The pirate radio station I found last month has been transmitting pro-Nanotrasen propaganda. I will continue to monitor it."; name = "june report"},/obj/item/weapon/paper{info = "Nothing of interest to report."; name = "july report"},/obj/item/weapon/paper{info = "Nothing of interest to report."; name = "august report"},/obj/item/weapon/paper{info = "Nothing of interest to report."; name = "september report"},/obj/item/weapon/paper{info = "Nothing of interest to report."; name = "october report"},/obj/item/weapon/paper{info = "1 x Stechtkin pistol - $600
      1 x silencer - $200
      shipping charge - $4360
      total - $5160"; name = "receipt"},/turf/simulated/floor,/area/awaymission/listeningpost) -"C" = (/obj/structure/table/standard,/obj/item/weapon/paper{info = "Mission Details: You have been assigned to a newly constructed listening post constructed within an asteroid in Nanotrasen space to monitor their plasma mining operations. Accurate intel is crucial to the success of our operatives onboard, do not fail us."; name = "mission briefing"},/turf/simulated/floor,/area/awaymission/listeningpost) +"B" = (/obj/structure/filingcabinet,/obj/item/paper{info = "A good start to the operation: intercepted Nanotrasen military communications. A convoy is scheduled to transfer nuclear warheads to a new military base. This is as good a chance as any to get our hands on some heavy weaponry, I suggest we take it."; name = "april report"},/obj/item/paper{info = "Nothing of real interest to report this month. I have intercepted faint transmissions from what appears to be some sort of pirate radio station. They do not appear to be relevant to my assignment."; name = "may report"},/obj/item/paper{info = "Nanotrasen communications have been noticably less frequent recently. The pirate radio station I found last month has been transmitting pro-Nanotrasen propaganda. I will continue to monitor it."; name = "june report"},/obj/item/paper{info = "Nothing of interest to report."; name = "july report"},/obj/item/paper{info = "Nothing of interest to report."; name = "august report"},/obj/item/paper{info = "Nothing of interest to report."; name = "september report"},/obj/item/paper{info = "Nothing of interest to report."; name = "october report"},/obj/item/paper{info = "1 x Stechtkin pistol - $600
      1 x silencer - $200
      shipping charge - $4360
      total - $5160"; name = "receipt"},/turf/simulated/floor,/area/awaymission/listeningpost) +"C" = (/obj/structure/table/standard,/obj/item/paper{info = "Mission Details: You have been assigned to a newly constructed listening post constructed within an asteroid in Nanotrasen space to monitor their plasma mining operations. Accurate intel is crucial to the success of our operatives onboard, do not fail us."; name = "mission briefing"},/turf/simulated/floor,/area/awaymission/listeningpost) "D" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor,/area/awaymission/listeningpost) "E" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/awaymission/listeningpost) "F" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/mineral,/area/mine/unexplored) diff --git a/maps/gateway_archive_vr/snow_outpost.dmm b/maps/gateway_archive_vr/snow_outpost.dmm index 1c203e69b02..67e80ae44d3 100644 --- a/maps/gateway_archive_vr/snow_outpost.dmm +++ b/maps/gateway_archive_vr/snow_outpost.dmm @@ -618,7 +618,7 @@ /turf/simulated/wall/sandstone, /area/awaymission/snow_outpost/outside) "cf" = ( -/obj/item/weapon/ore/diamond, +/obj/item/ore/diamond, /turf/simulated/floor/snow/snow2, /area/awaymission/snow_outpost/outside) "cg" = ( @@ -632,7 +632,7 @@ /turf/simulated/floor/plating/external, /area/awaymission/snow_outpost/outside) "cj" = ( -/obj/item/weapon/ore, +/obj/item/ore, /turf/simulated/floor/plating/external, /area/awaymission/snow_outpost/outside) "ck" = ( @@ -668,7 +668,7 @@ /turf/simulated/mineral/floor/ignore_mapgen, /area/awaymission/snow_outpost/outside) "cs" = ( -/obj/item/weapon/ore, +/obj/item/ore, /turf/simulated/floor/snow/snow2, /area/awaymission/snow_outpost/outside) "ct" = ( @@ -684,7 +684,7 @@ /area/awaymission/snow_outpost/outside) "cw" = ( /obj/item/frame/apc, -/obj/item/weapon/module/power_control, +/obj/item/module/power_control, /turf/simulated/floor/plating/external, /area/awaymission/snow_outpost/outside) "cx" = ( @@ -695,8 +695,8 @@ /area/awaymission/snow_outpost/outside) "cy" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/excavation, -/obj/item/device/measuring_tape, +/obj/item/storage/excavation, +/obj/item/measuring_tape, /turf/simulated/floor/snow/snow2, /area/awaymission/snow_outpost/outside) "cz" = ( @@ -720,12 +720,12 @@ /area/awaymission/snow_outpost/outside) "cC" = ( /obj/structure/table/steel, -/obj/item/weapon/folder, +/obj/item/folder, /turf/simulated/floor/snow/snow2, /area/awaymission/snow_outpost/outside) "cD" = ( /obj/structure/table/rack, -/obj/item/weapon/pickaxe, +/obj/item/pickaxe, /turf/simulated/floor/snow/snow2, /area/awaymission/snow_outpost/outside) "cE" = ( @@ -743,7 +743,7 @@ /area/awaymission/snow_outpost/outside) "cH" = ( /obj/structure/table/rack, -/obj/item/weapon/shovel, +/obj/item/shovel, /turf/simulated/floor/snow/snow2, /area/awaymission/snow_outpost/outside) "cI" = ( @@ -761,8 +761,8 @@ /area/awaymission/snow_outpost/outside) "cL" = ( /obj/structure/table/steel, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/storage/box/samplebags, +/obj/item/tool/wrench, +/obj/item/storage/box/samplebags, /turf/simulated/floor/snow/snow2, /area/awaymission/snow_outpost/outside) "cM" = ( @@ -802,7 +802,7 @@ /area/awaymission/snow_outpost/outside) "cV" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /turf/simulated/floor/tiled, /area/awaymission/snow_outpost/outside) "cW" = ( @@ -811,7 +811,7 @@ /area/awaymission/snow_outpost/outside) "cX" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/machinery/light{ icon_state = "tube1"; dir = 1 @@ -832,36 +832,36 @@ /turf/simulated/floor/snow/snow2, /area/awaymission/snow_outpost/outside) "db" = ( -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, /turf/simulated/floor/snow/snow2, /area/awaymission/snow_outpost/outside) "dc" = ( -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, /turf/simulated/floor/snow/snow2, /area/awaymission/snow_outpost/outside) "dd" = ( /obj/structure/table/standard, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/tiled, /area/awaymission/snow_outpost/outside) "de" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/machinery/light, /turf/simulated/floor/tiled, /area/awaymission/snow_outpost/outside) @@ -883,8 +883,8 @@ /area/awaymission/snow_outpost/outside) "di" = ( /obj/structure/table/standard, -/obj/item/weapon/cell/high, -/obj/item/weapon/cell/high, +/obj/item/cell/high, +/obj/item/cell/high, /turf/simulated/floor, /area/awaymission/snow_outpost/outside) "dj" = ( @@ -930,7 +930,7 @@ /area/awaymission/snow_outpost/outside) "ds" = ( /obj/structure/table/rack, -/obj/item/weapon/pickaxe/drill, +/obj/item/pickaxe/drill, /turf/simulated/floor/tiled, /area/awaymission/snow_outpost/outside) "dt" = ( @@ -957,7 +957,7 @@ /turf/simulated/floor/tiled, /area/awaymission/snow_outpost/outside) "dy" = ( -/obj/item/weapon/stool, +/obj/item/stool, /turf/simulated/floor/tiled, /area/awaymission/snow_outpost/outside) "dz" = ( @@ -1157,8 +1157,8 @@ /area/awaymission/snow_outpost/restricted) "ed" = ( /obj/structure/table/steel, -/obj/item/weapon/gun/projectile/automatic/wt550, -/obj/item/weapon/gun/projectile/automatic/p90, +/obj/item/gun/projectile/automatic/wt550, +/obj/item/gun/projectile/automatic/p90, /turf/simulated/floor/tiled/steel_grid, /area/awaymission/snow_outpost/restricted) "ee" = ( @@ -1276,7 +1276,7 @@ /area/awaymission/snow_outpost/restricted) "ex" = ( /obj/structure/table/steel, -/obj/item/weapon/grenade/smokebomb, +/obj/item/grenade/smokebomb, /turf/simulated/floor/tiled/steel_grid, /area/awaymission/snow_outpost/restricted) "ey" = ( @@ -1300,7 +1300,7 @@ /area/awaymission/snow_outpost/restricted) "eB" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery, /obj/effect/floor_decal/corner/green/border{ icon_state = "bordercolor"; dir = 10 @@ -1309,7 +1309,7 @@ /area/awaymission/snow_outpost/restricted) "eC" = ( /obj/structure/table/standard, -/obj/item/weapon/tank/anesthetic, +/obj/item/tank/anesthetic, /obj/effect/floor_decal/corner/green/border, /turf/simulated/floor/tiled/white, /area/awaymission/snow_outpost/restricted) @@ -1326,14 +1326,14 @@ /area/awaymission/snow_outpost/restricted) "eF" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/spray/sterilizine, -/obj/item/weapon/reagent_containers/spray/sterilizine, +/obj/item/reagent_containers/spray/sterilizine, +/obj/item/reagent_containers/spray/sterilizine, /obj/effect/floor_decal/corner/green/border, /turf/simulated/floor/tiled/white, /area/awaymission/snow_outpost/restricted) "eG" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/masks, +/obj/item/storage/box/masks, /obj/effect/floor_decal/corner/green/border{ icon_state = "bordercolor"; dir = 6 @@ -1401,7 +1401,7 @@ /area/awaymission/snow_outpost/restricted) "eQ" = ( /obj/structure/table/steel, -/obj/item/weapon/material/knife, +/obj/item/material/knife, /turf/simulated/floor/tiled/steel, /area/awaymission/snow_outpost/restricted) "eR" = ( @@ -1478,7 +1478,7 @@ /turf/simulated/floor/tiled/steel, /area/awaymission/snow_outpost/restricted) "fb" = ( -/obj/item/weapon/stool, +/obj/item/stool, /turf/simulated/floor/tiled/steel, /area/awaymission/snow_outpost/restricted) "fc" = ( @@ -1592,7 +1592,7 @@ /area/awaymission/snow_outpost/restricted) "fu" = ( /obj/structure/table/steel, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "We need to take a short stop. The engine's are in need of minor repairs due to turbulence, should be a week's time. We've got reserve food supplies but pleanty of locale fauna to subsist on too if need be. PCRC is keeping most of there assets near New Reykjavik and locale authorities are more mindful then most to travel in this kind of weather. Our outfit should be at the rendezvous point in less then ten days assuming the upper ecehelon hasn't dropped ties with us yet."; name = "Operation Progress/M-53" }, @@ -1600,7 +1600,7 @@ /area/awaymission/snow_outpost/restricted) "fv" = ( /obj/structure/table/steel, -/obj/item/weapon/paper_bin, +/obj/item/paper_bin, /turf/simulated/floor/tiled/steel, /area/awaymission/snow_outpost/restricted) "fw" = ( @@ -1666,7 +1666,7 @@ /area/awaymission/snow_outpost/restricted) "fF" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /turf/simulated/floor/tiled/steel, /area/awaymission/snow_outpost/restricted) "fG" = ( @@ -1682,7 +1682,7 @@ /area/awaymission/snow_outpost/restricted) "fJ" = ( /obj/structure/table/steel, -/obj/item/weapon/gun/projectile/pistol, +/obj/item/gun/projectile/pistol, /obj/machinery/light/small{ dir = 4; pixel_y = 0 @@ -1697,7 +1697,7 @@ /area/awaymission/snow_outpost/restricted) "fL" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/structure/bed, /turf/simulated/floor/tiled/steel, /area/awaymission/snow_outpost/restricted) @@ -1761,7 +1761,7 @@ /area/awaymission/snow_outpost/restricted) "fU" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/machinery/light, /turf/simulated/floor/tiled/steel, /area/awaymission/snow_outpost/restricted) @@ -1770,7 +1770,7 @@ /turf/simulated/floor/snow/snow2, /area/awaymission/snow_outpost/outside) "fW" = ( -/obj/item/weapon/ore/gold, +/obj/item/ore/gold, /obj/tether_away_spawner/aerostat_inside, /turf/simulated/floor/snow/snow2, /area/awaymission/snow_outpost/outside) @@ -1791,7 +1791,7 @@ /turf/simulated/floor/snow/snow2, /area/awaymission/snow_outpost/outside) "gb" = ( -/obj/item/weapon/shovel, +/obj/item/shovel, /turf/simulated/floor/snow/snow2, /area/awaymission/snow_outpost/outside) "gc" = ( @@ -1812,7 +1812,7 @@ /area/awaymission/snow_outpost/outside) "gg" = ( /obj/item/ammo_casing/a45, -/obj/item/weapon/reagent_containers/food/snacks/xenomeat/spidermeat, +/obj/item/reagent_containers/food/snacks/xenomeat/spidermeat, /turf/simulated/floor/snow/snow2, /area/awaymission/snow_outpost/outside) "gh" = ( @@ -1853,7 +1853,7 @@ }, /area/awaymission/snow_outpost/outside) "go" = ( -/obj/item/weapon/reagent_containers/food/snacks/xenomeat/spidermeat, +/obj/item/reagent_containers/food/snacks/xenomeat/spidermeat, /turf/simulated/floor/snow/snow2, /area/awaymission/snow_outpost/outside) "gp" = ( @@ -1862,7 +1862,7 @@ /area/awaymission/snow_outpost/outside) "gq" = ( /obj/item/clothing/accessory/storage/webbing, -/obj/item/weapon/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, /turf/simulated/floor/outdoors/dirt{ outdoors = 0 }, @@ -1943,7 +1943,7 @@ /obj/structure/closet/crate, /obj/item/stack/cable_coil, /obj/item/stack/cable_coil, -/obj/item/weapon/storage/toolbox, +/obj/item/storage/toolbox, /obj/random/toolbox, /turf/simulated/floor, /area/awaymission/snow_outpost/outside) @@ -1964,13 +1964,13 @@ /area/awaymission/snow_outpost/outside) "gH" = ( /obj/structure/closet/crate, -/obj/item/weapon/reagent_containers/hypospray, -/obj/item/weapon/reagent_containers/glass/bottle/stoxin, -/obj/item/weapon/reagent_containers/glass/bottle/antitoxin, -/obj/item/weapon/reagent_containers/pill/antitox, -/obj/item/weapon/reagent_containers/pill/antitox, -/obj/item/weapon/reagent_containers/pill/antitox, -/obj/item/weapon/reagent_containers/pill/paracetamol, +/obj/item/reagent_containers/hypospray, +/obj/item/reagent_containers/glass/bottle/stoxin, +/obj/item/reagent_containers/glass/bottle/antitoxin, +/obj/item/reagent_containers/pill/antitox, +/obj/item/reagent_containers/pill/antitox, +/obj/item/reagent_containers/pill/antitox, +/obj/item/reagent_containers/pill/paracetamol, /obj/random/firstaid, /turf/simulated/floor, /area/awaymission/snow_outpost/outside) @@ -1987,11 +1987,11 @@ /obj/random/contraband, /obj/random/contraband, /obj/random/energy, -/obj/item/weapon/material/star, -/obj/item/weapon/material/star, -/obj/item/weapon/material/star, -/obj/item/weapon/material/star, -/obj/item/weapon/material/star, +/obj/item/material/star, +/obj/item/material/star, +/obj/item/material/star, +/obj/item/material/star, +/obj/item/material/star, /turf/simulated/floor, /area/awaymission/snow_outpost/outside) "gK" = ( @@ -2087,18 +2087,18 @@ /area/awaymission/snow_outpost/outside) "ha" = ( /obj/structure/closet/cabinet, -/obj/item/weapon/lipstick/random, +/obj/item/lipstick/random, /turf/simulated/floor/carpet, /area/awaymission/snow_outpost/outside) "hb" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/structure/curtain/open/bed, /turf/simulated/floor/carpet, /area/awaymission/snow_outpost/outside) "hc" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/pill/happy{ +/obj/item/reagent_containers/pill/happy{ name = "pill" }, /turf/simulated/floor/carpet, @@ -2124,7 +2124,7 @@ /area/awaymission/snow_outpost/outside) "hi" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/pill/methylphenidate{ +/obj/item/reagent_containers/pill/methylphenidate{ name = "pill" }, /turf/simulated/floor/carpet, @@ -2137,7 +2137,7 @@ /turf/simulated/floor/carpet, /area/awaymission/snow_outpost/outside) "hk" = ( -/obj/item/weapon/reagent_containers/pill/citalopram{ +/obj/item/reagent_containers/pill/citalopram{ name = "pill" }, /turf/simulated/floor/carpet, @@ -2157,13 +2157,13 @@ /area/awaymission/snow_outpost/outside) "ho" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp, -/obj/item/weapon/reagent_containers/syringe/drugs, +/obj/item/flashlight/lamp, +/obj/item/reagent_containers/syringe/drugs, /turf/simulated/floor/carpet, /area/awaymission/snow_outpost/outside) "hp" = ( /obj/structure/bed/chair/comfy/beige, -/obj/item/weapon/reagent_containers/pill/citalopram{ +/obj/item/reagent_containers/pill/citalopram{ name = "pill" }, /turf/simulated/floor/carpet, @@ -2173,17 +2173,17 @@ /turf/simulated/floor, /area/awaymission/snow_outpost/outside) "hr" = ( -/obj/item/weapon/reagent_containers/pill/citalopram{ +/obj/item/reagent_containers/pill/citalopram{ name = "pill" }, -/obj/item/weapon/reagent_containers/pill/citalopram{ +/obj/item/reagent_containers/pill/citalopram{ name = "pill" }, /turf/simulated/floor/carpet, /area/awaymission/snow_outpost/outside) "hs" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/pill_bottle/happy, +/obj/item/storage/pill_bottle/happy, /turf/simulated/floor/tiled, /area/awaymission/snow_outpost/outside) "ht" = ( @@ -2193,31 +2193,31 @@ /area/awaymission/snow_outpost/outside) "hu" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/pill/citalopram, -/obj/item/weapon/reagent_containers/pill/citalopram, +/obj/item/reagent_containers/pill/citalopram, +/obj/item/reagent_containers/pill/citalopram, /turf/simulated/floor/tiled, /area/awaymission/snow_outpost/outside) "hv" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/pill/tramadol, -/obj/item/weapon/reagent_containers/pill/tramadol, +/obj/item/reagent_containers/pill/tramadol, +/obj/item/reagent_containers/pill/tramadol, /turf/simulated/floor/tiled, /area/awaymission/snow_outpost/outside) "hw" = ( /obj/structure/closet/cabinet, /obj/item/clothing/accessory/jacket, -/obj/item/weapon/material/butterfly/switchblade, +/obj/item/material/butterfly/switchblade, /turf/simulated/floor/carpet, /area/awaymission/snow_outpost/outside) "hx" = ( -/obj/item/weapon/reagent_containers/pill/zoom{ +/obj/item/reagent_containers/pill/zoom{ name = "pill" }, /obj/random/trash, /turf/simulated/floor/carpet, /area/awaymission/snow_outpost/outside) "hy" = ( -/obj/item/weapon/reagent_containers/pill/zoom{ +/obj/item/reagent_containers/pill/zoom{ name = "pill" }, /turf/simulated/floor/carpet, @@ -2228,7 +2228,7 @@ /area/awaymission/snow_outpost/outside) "hA" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/scalpel, +/obj/item/surgical/scalpel, /turf/simulated/floor/tiled, /area/awaymission/snow_outpost/outside) "hB" = ( @@ -2251,13 +2251,13 @@ /area/awaymission/snow_outpost/outside) "hF" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/pill/zoom, -/obj/item/weapon/reagent_containers/pill/zoom, +/obj/item/reagent_containers/pill/zoom, +/obj/item/reagent_containers/pill/zoom, /turf/simulated/floor, /area/awaymission/snow_outpost/outside) "hG" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/pill/tramadol{ +/obj/item/reagent_containers/pill/tramadol{ name = "pill" }, /turf/simulated/floor/carpet, @@ -2271,17 +2271,17 @@ /turf/simulated/floor, /area/awaymission/snow_outpost/outside) "hJ" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor, /area/awaymission/snow_outpost/outside) "hK" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/carpet, /area/awaymission/snow_outpost/outside) "hL" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/syringe/drugs, +/obj/item/reagent_containers/syringe/drugs, /turf/simulated/floor/carpet, /area/awaymission/snow_outpost/outside) "hM" = ( @@ -2293,8 +2293,8 @@ /turf/simulated/mineral/floor/ignore_mapgen, /area/awaymission/snow_outpost/outside) "hO" = ( -/obj/item/weapon/spacecash/c100, -/obj/item/weapon/spacecash/c100, +/obj/item/spacecash/c100, +/obj/item/spacecash/c100, /turf/simulated/mineral/floor/ignore_mapgen, /area/awaymission/snow_outpost/outside) "hP" = ( @@ -2302,9 +2302,9 @@ /turf/simulated/mineral/floor/ignore_mapgen, /area/awaymission/snow_outpost/outside) "hQ" = ( -/obj/item/weapon/spacecash/c100, -/obj/item/weapon/spacecash/c100, -/obj/item/weapon/spacecash/c100, +/obj/item/spacecash/c100, +/obj/item/spacecash/c100, +/obj/item/spacecash/c100, /obj/effect/decal/remains, /turf/simulated/mineral/floor/ignore_mapgen, /area/awaymission/snow_outpost/outside) @@ -2313,7 +2313,7 @@ /turf/simulated/mineral/floor/ignore_mapgen, /area/awaymission/snow_outpost/outside) "hS" = ( -/obj/item/weapon/grenade/spawnergrenade/spider, +/obj/item/grenade/spawnergrenade/spider, /turf/simulated/mineral/floor/ignore_mapgen, /area/awaymission/snow_outpost/outside) "hT" = ( @@ -2419,7 +2419,7 @@ dir = 1 }, /obj/structure/closet/walllocker/emerglocker/east, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -28 @@ -2492,7 +2492,7 @@ /obj/structure/closet/walllocker/emerglocker{ pixel_y = 28 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -26 }, /turf/simulated/shuttle/floor, @@ -2506,7 +2506,7 @@ pixel_y = 28 }, /obj/machinery/light, -/obj/item/weapon/weldingtool/largetank, +/obj/item/weldingtool/largetank, /turf/simulated/shuttle/floor, /area/awaymission/snow_outpost/outside) "iz" = ( @@ -2602,7 +2602,7 @@ /area/awaymission/snow_outpost/outpost) "iP" = ( /obj/machinery/atmospherics/unary/vent_pump, -/obj/item/weapon/cell/infinite, +/obj/item/cell/infinite, /turf/simulated/floor/tiled/white, /area/awaymission/snow_outpost/outpost) "iQ" = ( @@ -2610,8 +2610,8 @@ dir = 5; icon_state = "intact" }, -/obj/item/weapon/cell/infinite, -/obj/item/weapon/cat_box, +/obj/item/cell/infinite, +/obj/item/cat_box, /turf/simulated/floor/tiled/white, /area/awaymission/snow_outpost/outpost) "iR" = ( @@ -2633,7 +2633,7 @@ /area/awaymission/snow_outpost/restricted) "iT" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/item/toy/plushie/spider, /turf/simulated/floor/tiled/steel, /area/awaymission/snow_outpost/restricted) diff --git a/maps/gateway_archive_vr/snowfield.dm b/maps/gateway_archive_vr/snowfield.dm index 2956393645c..e26e3826955 100644 --- a/maps/gateway_archive_vr/snowfield.dm +++ b/maps/gateway_archive_vr/snowfield.dm @@ -56,7 +56,7 @@ vore_active = 1 say_list_type = /datum/say_list/polar_bear - faction = "polar" + faction = FACTION_POLAR maxHealth = 80 health = 80 // Polar bear will fuck you up. @@ -74,7 +74,7 @@ minbodytemp = 0 //speak_chance = 1 //VORESTATION AI TEMPORARY REMOVAL - meat_type = /obj/item/weapon/reagent_containers/food/snacks/bearmeat + meat_type = /obj/item/reagent_containers/food/snacks/bearmeat /datum/say_list/polar_bear speak = list("RAWR!","Rawr!","GRR!","Growl!") emote_hear = list("rawrs","grumbles","grawls") @@ -87,13 +87,13 @@ ..() /mob/living/simple_mob/animal/sif/sakimm/polar - faction = "polar" + faction = FACTION_POLAR /mob/living/simple_mob/animal/sif/diyaab/polar - faction = "polar" + faction = FACTION_POLAR /mob/living/simple_mob/animal/sif/shantak/polar - faction = "polar" + faction = FACTION_POLAR // -- Items -- // diff --git a/maps/gateway_archive_vr/snowfield.dmm b/maps/gateway_archive_vr/snowfield.dmm index 04b8022c859..72f5d4940ee 100644 --- a/maps/gateway_archive_vr/snowfield.dmm +++ b/maps/gateway_archive_vr/snowfield.dmm @@ -121,7 +121,7 @@ amount = 2; icon_state = "coil2" }, -/obj/item/weapon/shovel, +/obj/item/shovel, /obj/machinery/light/small{ dir = 1 }, @@ -199,7 +199,7 @@ /area/awaymission/snowfield/outside) "aB" = ( /obj/structure/table/standard, -/obj/item/weapon/hand_labeler, +/obj/item/hand_labeler, /obj/effect/floor_decal/corner/green/full{ dir = 8 }, @@ -257,7 +257,7 @@ /area/awaymission/snowfield/outside) "aJ" = ( /obj/machinery/atmospherics/portables_connector, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /obj/machinery/light{ dir = 1 }, @@ -281,7 +281,7 @@ dir = 6 }, /obj/structure/table/glass, -/obj/item/weapon/storage/box/beakers{ +/obj/item/storage/box/beakers{ pixel_x = 2; pixel_y = 2 }, @@ -289,12 +289,12 @@ /area/awaymission/snowfield/outside) "aO" = ( /obj/structure/closet/jcloset, -/obj/item/weapon/soap, +/obj/item/soap, /turf/simulated/floor/tiled/steel, /area/awaymission/snowfield/outside) "aP" = ( /obj/structure/closet/jcloset, -/obj/item/weapon/soap/deluxe, +/obj/item/soap/deluxe, /turf/simulated/floor/tiled/steel, /area/awaymission/snowfield/outside) "aQ" = ( @@ -409,7 +409,7 @@ dir = 4 }, /obj/structure/table/glass, -/obj/item/weapon/storage/box/botanydisk, +/obj/item/storage/box/botanydisk, /turf/simulated/floor/tiled/white, /area/awaymission/snowfield/outside) "bf" = ( @@ -447,7 +447,7 @@ /area/awaymission/snowfield/outside) "bm" = ( /obj/effect/floor_decal/corner/green/full, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -499,15 +499,15 @@ /turf/simulated/floor/tiled/hydro, /area/awaymission/snowfield/outside) "bs" = ( -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/reagent_containers/spray/cleaner, /obj/structure/table/steel, -/obj/item/weapon/storage/box/mousetraps, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/storage/box/mousetraps, +/obj/item/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, +/obj/item/reagent_containers/spray/cleaner, /turf/simulated/floor/tiled/steel, /area/awaymission/snowfield/outside) "bt" = ( @@ -585,11 +585,11 @@ dir = 1 }, /obj/structure/table/glass, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled/white, /area/awaymission/snowfield/outside) "bD" = ( @@ -607,7 +607,7 @@ /turf/simulated/floor/tiled/hydro, /area/awaymission/snowfield/outside) "bG" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -622,8 +622,8 @@ pixel_y = -32 }, /obj/structure/table/standard, -/obj/item/weapon/storage/box/syringes, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/syringes, +/obj/item/storage/box/gloves{ pixel_x = 4; pixel_y = 4 }, @@ -634,7 +634,7 @@ /obj/effect/floor_decal/industrial/warning{ dir = 9 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ layer = 4; name = "Station Intercom (General)"; pixel_y = -21 @@ -650,7 +650,7 @@ /area/awaymission/snowfield/outside) "bK" = ( /obj/structure/reagent_dispensers/watertank, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /obj/machinery/light, /turf/simulated/floor/tiled/white, /area/awaymission/snowfield/outside) @@ -668,8 +668,8 @@ /obj/structure/closet/medical_wall{ pixel_y = -32 }, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/toxin, +/obj/item/storage/firstaid/regular, /turf/simulated/floor/tiled/white, /area/awaymission/snowfield/outside) "bN" = ( @@ -689,8 +689,8 @@ /area/awaymission/snowfield/outside) "bQ" = ( /obj/structure/table/glass, -/obj/item/weapon/tape_roll, -/obj/item/device/analyzer/plant_analyzer, +/obj/item/tape_roll, +/obj/item/analyzer/plant_analyzer, /turf/simulated/floor/tiled/white, /area/awaymission/snowfield/outside) "bR" = ( @@ -698,13 +698,13 @@ dir = 6 }, /obj/structure/table/glass, -/obj/item/weapon/clipboard, -/obj/item/weapon/folder/white, +/obj/item/clipboard, +/obj/item/folder/white, /turf/simulated/floor/tiled/white, /area/awaymission/snowfield/outside) "bS" = ( -/obj/item/weapon/mop, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/mop, +/obj/item/reagent_containers/glass/bucket, /obj/structure/janitorialcart, /turf/simulated/floor/tiled/steel, /area/awaymission/snowfield/outside) @@ -833,7 +833,7 @@ "ck" = ( /obj/effect/floor_decal/corner/paleblue/diagonal, /obj/structure/table/standard, -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 2 }, @@ -915,7 +915,7 @@ /area/awaymission/snowfield/outside) "cv" = ( /obj/effect/floor_decal/corner/paleblue/diagonal, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled/white, /area/awaymission/snowfield/outside) "cw" = ( @@ -960,7 +960,7 @@ "cB" = ( /obj/effect/floor_decal/corner/paleblue/diagonal, /obj/structure/table/standard, -/obj/item/weapon/deck/cards, +/obj/item/deck/cards, /turf/simulated/floor/tiled/white, /area/awaymission/snowfield/outside) "cC" = ( @@ -1289,7 +1289,7 @@ /obj/machinery/light{ dir = 4 }, -/obj/item/device/radio/phone, +/obj/item/radio/phone, /turf/simulated/floor/tiled/dark, /area/awaymission/snowfield/outside) "dM" = ( @@ -1345,14 +1345,14 @@ /obj/structure/closet/medical_wall{ pixel_y = -32 }, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/firstaid/adv, +/obj/item/storage/firstaid/toxin, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/adv, /turf/simulated/floor/tiled/dark, /area/awaymission/snowfield/outside) "dV" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/backpack/satchel/sec, +/obj/item/storage/backpack/satchel/sec, /turf/simulated/floor/tiled/dark, /area/awaymission/snowfield/outside) "dW" = ( @@ -1403,7 +1403,7 @@ /obj/item/clothing/under/soviet, /obj/item/clothing/shoes/boots/jackboots, /obj/item/clothing/head/ushanka, -/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, +/obj/item/storage/backpack/dufflebag/syndie/ammo, /turf/simulated/floor/tiled/dark, /area/awaymission/snowfield/outside) "ee" = ( @@ -1418,7 +1418,7 @@ "ef" = ( /obj/effect/floor_decal/industrial/outline/yellow, /obj/structure/closet/crate, -/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, +/obj/item/storage/backpack/dufflebag/syndie/ammo, /turf/simulated/floor/tiled/neutral, /area/awaymission/snowfield/outside) "eg" = ( @@ -1461,7 +1461,7 @@ /area/awaymission/snowfield/outside) "em" = ( /obj/structure/closet/crate/secure/weapon, -/obj/item/weapon/gun/projectile/shotgun/pump/rifle, +/obj/item/gun/projectile/shotgun/pump/rifle, /turf/simulated/floor/tiled/dark, /area/awaymission/snowfield/outside) "en" = ( @@ -1476,12 +1476,12 @@ "ep" = ( /obj/effect/floor_decal/industrial/outline/yellow, /obj/structure/closet/crate/medical, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/device/flashlight/flare, -/obj/item/device/flashlight/flare, -/obj/item/device/flashlight/flare, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, +/obj/item/flashlight/flare, +/obj/item/flashlight/flare, +/obj/item/flashlight/flare, /turf/simulated/floor/tiled/neutral, /area/awaymission/snowfield/outside) "eq" = ( diff --git a/maps/gateway_archive_vr/spacebattle.dmm b/maps/gateway_archive_vr/spacebattle.dmm index f84ac26105a..6f4aa15a702 100644 --- a/maps/gateway_archive_vr/spacebattle.dmm +++ b/maps/gateway_archive_vr/spacebattle.dmm @@ -112,7 +112,7 @@ /area/awaymission/spacebattle/syndicate2) "as" = ( /obj/structure/table/reinforced, -/obj/item/weapon/grenade/empgrenade, +/obj/item/grenade/empgrenade, /turf/simulated/shuttle/floor{ icon_state = "floor4" }, @@ -126,7 +126,7 @@ /area/awaymission/spacebattle/syndicate2) "au" = ( /obj/structure/table/reinforced, -/obj/item/weapon/gun/projectile/automatic/c20r, +/obj/item/gun/projectile/automatic/c20r, /turf/simulated/shuttle/floor{ icon_state = "floor4" }, @@ -168,7 +168,7 @@ /area/awaymission/spacebattle/syndicate3) "aA" = ( /obj/structure/table/reinforced, -/obj/item/weapon/gun/projectile/silenced, +/obj/item/gun/projectile/silenced, /turf/simulated/shuttle/floor{ icon_state = "floor4" }, @@ -240,7 +240,7 @@ /area/awaymission/spacebattle/syndicate3) "aL" = ( /obj/structure/table/reinforced, -/obj/item/weapon/gun/projectile/deagle, +/obj/item/gun/projectile/deagle, /turf/simulated/shuttle/floor{ icon_state = "floor4" }, @@ -388,7 +388,7 @@ /obj/machinery/porta_turret{ dir = 8; emagged = 1; - installation = /obj/item/weapon/gun/energy/lasercannon + installation = /obj/item/gun/energy/lasercannon }, /turf/simulated/floor/plating, /area/awaymission/spacebattle/syndicate2) @@ -452,7 +452,7 @@ /area/awaymission/spacebattle/syndicate2) "bo" = ( /obj/structure/table/reinforced, -/obj/item/weapon/plastique, +/obj/item/plastique, /turf/simulated/shuttle/floor{ icon_state = "floor4" }, @@ -465,21 +465,21 @@ /area/awaymission/spacebattle/syndicate1) "bq" = ( /obj/structure/table/reinforced, -/obj/item/weapon/plastique, +/obj/item/plastique, /turf/simulated/shuttle/floor{ icon_state = "floor4" }, /area/awaymission/spacebattle/syndicate1) "br" = ( /obj/structure/table/reinforced, -/obj/item/weapon/grenade/spawnergrenade/manhacks, +/obj/item/grenade/spawnergrenade/manhacks, /turf/simulated/shuttle/floor{ icon_state = "floor4" }, /area/awaymission/spacebattle/syndicate1) "bs" = ( /obj/structure/table/reinforced, -/obj/item/weapon/handcuffs, +/obj/item/handcuffs, /turf/simulated/shuttle/floor{ icon_state = "floor4" }, @@ -506,7 +506,7 @@ /area/awaymission/spacebattle/syndicate3) "bw" = ( /obj/structure/table/reinforced, -/obj/item/weapon/melee/energy/sword/red, +/obj/item/melee/energy/sword/red, /turf/simulated/shuttle/floor{ icon_state = "floor4" }, @@ -546,7 +546,7 @@ /obj/machinery/porta_turret{ dir = 8; emagged = 1; - installation = /obj/item/weapon/gun/energy/lasercannon + installation = /obj/item/gun/energy/lasercannon }, /turf/simulated/floor/plating, /area/awaymission/spacebattle/syndicate3) @@ -598,7 +598,7 @@ /obj/machinery/porta_turret{ dir = 8; emagged = 1; - installation = /obj/item/weapon/gun/energy/lasercannon + installation = /obj/item/gun/energy/lasercannon }, /turf/simulated/floor/plating, /area/awaymission/spacebattle/syndicate1) @@ -901,7 +901,7 @@ /area/awaymission/spacebattle/cruiser) "cC" = ( /obj/structure/stool/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /turf/simulated/floor, /area/awaymission/spacebattle/cruiser) "cD" = ( @@ -910,7 +910,7 @@ /area/awaymission/spacebattle/cruiser) "cE" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/food/snacks/sausage, +/obj/item/reagent_containers/food/snacks/sausage, /turf/simulated/floor{ icon_state = "cafeteria"; dir = 2 @@ -918,7 +918,7 @@ /area/awaymission/spacebattle/cruiser) "cF" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/food/condiment/enzyme, /turf/simulated/floor{ icon_state = "cafeteria"; dir = 2 @@ -926,7 +926,7 @@ /area/awaymission/spacebattle/cruiser) "cG" = ( /obj/structure/table/reinforced, -/obj/item/weapon/kitchenknife, +/obj/item/kitchenknife, /turf/simulated/floor{ icon_state = "cafeteria"; dir = 2 @@ -934,7 +934,7 @@ /area/awaymission/spacebattle/cruiser) "cH" = ( /obj/structure/table/reinforced, -/obj/item/weapon/kitchen/rollingpin, +/obj/item/kitchen/rollingpin, /turf/simulated/floor{ icon_state = "cafeteria"; dir = 2 @@ -1022,7 +1022,7 @@ /area/awaymission/spacebattle/cruiser) "cW" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/food/snacks/fries, +/obj/item/reagent_containers/food/snacks/fries, /turf/simulated/floor{ icon_state = "cafeteria"; dir = 2 @@ -1030,7 +1030,7 @@ /area/awaymission/spacebattle/cruiser) "cX" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/food/snacks/stew, +/obj/item/reagent_containers/food/snacks/stew, /turf/simulated/floor{ icon_state = "cafeteria"; dir = 2 @@ -1218,7 +1218,7 @@ mobname = "Nathaniel Waters"; name = "Nathaniel Waters" }, -/obj/item/weapon/butch, +/obj/item/butch, /obj/effect/decal/cleanable/blood, /turf/simulated/floor{ icon_state = "bar" @@ -1357,7 +1357,7 @@ /area/awaymission/spacebattle/cruiser) "dU" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/food/condiment/peppermill, +/obj/item/reagent_containers/food/condiment/peppermill, /turf/simulated/floor{ icon_state = "bar" }, @@ -1419,7 +1419,7 @@ /obj/machinery/porta_turret{ dir = 8; emagged = 1; - installation = /obj/item/weapon/gun/energy/lasercannon + installation = /obj/item/gun/energy/lasercannon }, /turf/simulated/floor/engine, /area/awaymission/spacebattle/cruiser) @@ -1586,7 +1586,7 @@ mobname = "Davis Hume"; name = "Davis Hume" }, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, /turf/simulated/floor, /area/awaymission/spacebattle/cruiser) "eC" = ( @@ -1678,7 +1678,7 @@ /area/awaymission/spacebattle/syndicate4) "eP" = ( /obj/structure/table/reinforced, -/obj/item/weapon/kitchen/utensil/spoon, +/obj/item/kitchen/utensil/spoon, /turf/simulated/floor{ icon_state = "bar" }, @@ -1690,7 +1690,7 @@ }, /area/awaymission/spacebattle/cruiser) "eR" = ( -/obj/item/weapon/shield/energy, +/obj/item/shield/energy, /turf/simulated/floor, /area/awaymission/spacebattle/cruiser) "eS" = ( @@ -1736,21 +1736,21 @@ /area/awaymission/spacebattle/cruiser) "eY" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/food/condiment/saltshaker, +/obj/item/reagent_containers/food/condiment/saltshaker, /turf/simulated/floor{ icon_state = "bar" }, /area/awaymission/spacebattle/cruiser) "eZ" = ( /obj/structure/table/reinforced, -/obj/item/weapon/kitchen/utensil/fork, +/obj/item/kitchen/utensil/fork, /turf/simulated/floor{ icon_state = "bar" }, /area/awaymission/spacebattle/cruiser) "fa" = ( /obj/effect/landmark/corpse/syndicatesoldier, -/obj/item/weapon/melee/energy/sword/red, +/obj/item/melee/energy/sword/red, /obj/effect/decal/cleanable/blood, /turf/simulated/floor, /area/awaymission/spacebattle/cruiser) @@ -1759,7 +1759,7 @@ mobname = "Kurt Kliest"; name = "Kurt Kliest" }, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, /obj/item/ammo_casing/shotgun, /turf/simulated/floor, /area/awaymission/spacebattle/cruiser) @@ -1811,7 +1811,7 @@ /turf/simulated/floor/plating, /area/awaymission/spacebattle/cruiser) "fk" = ( -/obj/item/weapon/hand_labeler, +/obj/item/hand_labeler, /turf/simulated/floor/plating, /area/awaymission/spacebattle/cruiser) "fl" = ( @@ -1852,9 +1852,9 @@ /area/awaymission/spacebattle/cruiser) "fr" = ( /obj/structure/closet/crate, -/obj/item/weapon/light/tube, -/obj/item/weapon/light/tube, -/obj/item/weapon/light/tube, +/obj/item/light/tube, +/obj/item/light/tube, +/obj/item/light/tube, /turf/simulated/floor/plating, /area/awaymission/spacebattle/cruiser) "fs" = ( @@ -1865,7 +1865,7 @@ /area/awaymission/spacebattle/cruiser) "ft" = ( /obj/effect/landmark/corpse/syndicatesoldier, -/obj/item/weapon/gun/projectile/automatic/c20r, +/obj/item/gun/projectile/automatic/c20r, /obj/item/ammo_casing/a10mm, /obj/item/ammo_casing/a10mm, /obj/effect/decal/cleanable/blood, @@ -1887,7 +1887,7 @@ mobname = "Walter Strider"; name = "Walter Strider" }, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, /obj/item/ammo_casing/a10mm, /obj/item/ammo_casing/a10mm, /obj/effect/decal/cleanable/blood, @@ -1906,7 +1906,7 @@ "fx" = ( /obj/item/ammo_casing/a357, /obj/item/ammo_casing/a357, -/obj/item/weapon/gun/projectile/mateba, +/obj/item/gun/projectile/mateba, /obj/effect/landmark/corpse/commander{ mobname = "Aaron Bowden"; name = "Aaron Bowden" @@ -2001,8 +2001,8 @@ /area/awaymission/spacebattle/cruiser) "fM" = ( /obj/structure/closet/crate/internals, -/obj/item/weapon/tank/emergency_oxygen, -/obj/item/weapon/storage/firstaid/o2, +/obj/item/tank/emergency_oxygen, +/obj/item/storage/firstaid/o2, /turf/simulated/floor/plating, /area/awaymission/spacebattle/cruiser) "fN" = ( @@ -2037,7 +2037,7 @@ /area/awaymission/spacebattle/cruiser) "fR" = ( /obj/effect/landmark/corpse/syndicatesoldier, -/obj/item/weapon/gun/projectile/automatic/c20r, +/obj/item/gun/projectile/automatic/c20r, /obj/item/ammo_casing/a10mm, /obj/item/ammo_casing/a10mm, /obj/effect/decal/cleanable/blood, @@ -2219,8 +2219,8 @@ /area/awaymission/spacebattle/cruiser) "gu" = ( /obj/structure/closet/crate, -/obj/item/weapon/lipstick/black, -/obj/item/weapon/lipstick/jade, +/obj/item/lipstick/black, +/obj/item/lipstick/jade, /turf/simulated/floor/plating, /area/awaymission/spacebattle/cruiser) "gv" = ( @@ -2247,8 +2247,8 @@ /area/awaymission/spacebattle/cruiser) "gy" = ( /obj/structure/table/reinforced, -/obj/item/weapon/scalpel, -/obj/item/weapon/circular_saw, +/obj/item/scalpel, +/obj/item/circular_saw, /turf/simulated/floor{ icon_state = "whitehall"; dir = 2 @@ -2256,7 +2256,7 @@ /area/awaymission/spacebattle/cruiser) "gz" = ( /obj/structure/table/reinforced, -/obj/item/weapon/retractor, +/obj/item/retractor, /turf/simulated/floor{ icon_state = "whitehall"; dir = 2 @@ -2264,7 +2264,7 @@ /area/awaymission/spacebattle/cruiser) "gA" = ( /obj/structure/table/reinforced, -/obj/item/weapon/hemostat, +/obj/item/hemostat, /turf/simulated/floor{ icon_state = "whitehall"; dir = 2 @@ -2272,7 +2272,7 @@ /area/awaymission/spacebattle/cruiser) "gB" = ( /obj/structure/table/reinforced, -/obj/item/weapon/scalpel, +/obj/item/scalpel, /turf/simulated/floor{ icon_state = "whitehall"; dir = 2 @@ -2286,7 +2286,7 @@ /turf/simulated/floor/wood, /area/awaymission/spacebattle/cruiser) "gE" = ( -/obj/item/weapon/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, /turf/simulated/floor, /area/awaymission/spacebattle/cruiser) "gF" = ( @@ -2304,13 +2304,13 @@ /area/awaymission/spacebattle/syndicate4) "gH" = ( /obj/structure/closet/crate/secure/weapon, -/obj/item/weapon/gun/energy/laser, +/obj/item/gun/energy/laser, /turf/simulated/floor/plating, /area/awaymission/spacebattle/cruiser) "gI" = ( /obj/structure/closet/crate, -/obj/item/weapon/spacecash/c10, -/obj/item/weapon/spacecash/c10, +/obj/item/spacecash/c10, +/obj/item/spacecash/c10, /turf/simulated/floor/plating, /area/awaymission/spacebattle/cruiser) "gJ" = ( @@ -2355,7 +2355,7 @@ /area/awaymission/spacebattle/cruiser) "gQ" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /turf/simulated/floor/wood, /area/awaymission/spacebattle/cruiser) "gR" = ( @@ -2380,7 +2380,7 @@ /obj/machinery/porta_turret{ dir = 8; emagged = 1; - installation = /obj/item/weapon/gun/energy/lasercannon + installation = /obj/item/gun/energy/lasercannon }, /turf/simulated/floor/plating/airless, /area/awaymission/spacebattle/syndicate7) @@ -2403,11 +2403,11 @@ /turf/simulated/floor/plating, /area/awaymission/spacebattle/cruiser) "gY" = ( -/obj/item/weapon/ore/clown, -/obj/item/weapon/ore/clown, -/obj/item/weapon/ore/clown, -/obj/item/weapon/ore/clown, -/obj/item/weapon/ore/clown, +/obj/item/ore/clown, +/obj/item/ore/clown, +/obj/item/ore/clown, +/obj/item/ore/clown, +/obj/item/ore/clown, /obj/structure/closet/crate, /turf/simulated/floor/plating, /area/awaymission/spacebattle/cruiser) @@ -2481,20 +2481,20 @@ /turf/space, /area/awaymission/spacebattle/syndicate4) "hj" = ( -/obj/item/weapon/pickaxe, -/obj/item/weapon/pickaxe/plasmacutter, +/obj/item/pickaxe, +/obj/item/pickaxe/plasmacutter, /obj/structure/closet/crate, /turf/simulated/floor/plating, /area/awaymission/spacebattle/cruiser) "hk" = ( -/obj/item/weapon/circular_saw, +/obj/item/circular_saw, /turf/simulated/floor{ icon_state = "white" }, /area/awaymission/spacebattle/cruiser) "hl" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin, +/obj/item/paper_bin, /turf/simulated/floor/wood, /area/awaymission/spacebattle/cruiser) "hm" = ( @@ -2554,12 +2554,12 @@ /area/awaymission/spacebattle/cruiser) "ht" = ( /obj/structure/closet/crate/secure/plasma, -/obj/item/weapon/tank/plasma, +/obj/item/tank/plasma, /turf/simulated/floor/plating, /area/awaymission/spacebattle/cruiser) "hu" = ( /obj/structure/closet/crate/medical, -/obj/item/weapon/storage/firstaid/fire, +/obj/item/storage/firstaid/fire, /turf/simulated/floor/plating, /area/awaymission/spacebattle/cruiser) "hv" = ( @@ -2625,18 +2625,18 @@ /area/awaymission/spacebattle/cruiser) "hC" = ( /obj/structure/closet/crate, -/obj/item/weapon/cell/high, -/obj/item/weapon/cell/high, +/obj/item/cell/high, +/obj/item/cell/high, /turf/simulated/floor/plating, /area/awaymission/spacebattle/cruiser) "hD" = ( /obj/structure/closet/crate/medical, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /turf/simulated/floor/plating, /area/awaymission/spacebattle/cruiser) "hE" = ( /obj/structure/closet/crate/medical, -/obj/item/weapon/tank/anesthetic, +/obj/item/tank/anesthetic, /turf/simulated/floor/plating, /area/awaymission/spacebattle/cruiser) "hF" = ( @@ -2653,14 +2653,14 @@ /area/awaymission/spacebattle/cruiser) "hH" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /turf/simulated/floor{ icon_state = "white" }, /area/awaymission/spacebattle/cruiser) "hI" = ( /obj/structure/table/woodentable, -/obj/item/device/violin, +/obj/item/violin, /turf/simulated/floor/wood, /area/awaymission/spacebattle/cruiser) "hJ" = ( @@ -2695,7 +2695,7 @@ /area/awaymission/spacebattle/cruiser) "hN" = ( /obj/structure/stool/bed, -/obj/item/weapon/bedsheet/captain, +/obj/item/bedsheet/captain, /turf/simulated/floor/wood, /area/awaymission/spacebattle/cruiser) "hO" = ( @@ -2778,7 +2778,7 @@ icon_state = "shower"; dir = 4 }, -/obj/item/weapon/bikehorn/rubberducky, +/obj/item/bikehorn/rubberducky, /turf/simulated/floor{ icon_state = "freezerfloor" }, @@ -2805,7 +2805,7 @@ /area/awaymission/spacebattle/cruiser) "id" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/fire, +/obj/item/storage/firstaid/fire, /turf/simulated/floor{ icon_state = "white" }, @@ -2829,14 +2829,14 @@ }, /area/awaymission/spacebattle/cruiser) "ih" = ( -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /turf/simulated/floor{ icon_state = "white" }, /area/awaymission/spacebattle/cruiser) "ii" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/o2, +/obj/item/storage/firstaid/o2, /turf/simulated/floor{ icon_state = "white" }, @@ -2855,7 +2855,7 @@ icon_state = "shower"; dir = 8 }, -/obj/item/weapon/soap, +/obj/item/soap, /turf/simulated/floor{ icon_state = "freezerfloor" }, @@ -2949,7 +2949,7 @@ mobname = "Cyrion"; name = "Cyrion" }, -/obj/item/weapon/flamethrower/full, +/obj/item/flamethrower/full, /obj/effect/decal/cleanable/blood, /turf/simulated/floor, /area/awaymission/spacebattle/cruiser) @@ -2959,7 +2959,7 @@ /area/awaymission/spacebattle/cruiser) "iy" = ( /obj/effect/landmark/corpse/syndicatesoldier, -/obj/item/weapon/gun/projectile/automatic/c20r, +/obj/item/gun/projectile/automatic/c20r, /turf/simulated/floor{ icon_state = "damaged2" }, diff --git a/maps/gateway_archive_vr/stationCollision.dm b/maps/gateway_archive_vr/stationCollision.dm index 681f1955a70..c507cc0895a 100644 --- a/maps/gateway_archive_vr/stationCollision.dm +++ b/maps/gateway_archive_vr/stationCollision.dm @@ -47,20 +47,20 @@ name = "Safecode hint spawner" /obj/effect/landmark/sc_bible_spawner/New() - var/obj/item/weapon/storage/bible/B = new /obj/item/weapon/storage/bible/booze(src.loc) + var/obj/item/storage/bible/B = new /obj/item/storage/bible/booze(src.loc) B.name = "The Holy book of the Geometer" B.deity_name = "Narsie" B.icon_state = "melted" B.item_state = "melted" - new /obj/item/weapon/paper/sc_safehint_paper_bible(B) - new /obj/item/weapon/pen(B) + new /obj/item/paper/sc_safehint_paper_bible(B) + new /obj/item/pen(B) qdel(src) /* * Guns - I'm making these specifically so that I dont spawn a pile of fully loaded weapons on the map. */ //Captain's retro laser - Fires practice laser shots instead. -obj/item/weapon/gun/energy/laser/retro/sc_retro +obj/item/gun/energy/laser/retro/sc_retro name ="retro laser" icon_state = "retro" desc = "An older model of the basic lasergun, no longer used by NanoTrasen's security or military forces." @@ -68,32 +68,32 @@ obj/item/weapon/gun/energy/laser/retro/sc_retro clumsy_check = 0 //No sense in having a harmless gun blow up in the clowns face //Syndicate silenced pistol. This definition is not necessary, it's just habit. -/obj/item/weapon/gun/projectile/silenced/sc_silenced +/obj/item/gun/projectile/silenced/sc_silenced //Make it so that these guns only spawn with a couple bullets... if any -/obj/item/weapon/gun/projectile/silenced/sc_silenced/New() +/obj/item/gun/projectile/silenced/sc_silenced/New() for(var/ammo in loaded) if(prob(95)) //95% chance loaded -= ammo //Syndicate sub-machine guns. -/obj/item/weapon/gun/projectile/automatic/c20r/sc_c20r +/obj/item/gun/projectile/automatic/c20r/sc_c20r -/obj/item/weapon/gun/projectile/automatic/c20r/sc_c20r/New() +/obj/item/gun/projectile/automatic/c20r/sc_c20r/New() for(var/ammo in loaded) if(prob(95)) //95% chance loaded -= ammo //Barman's shotgun -/obj/item/weapon/gun/projectile/shotgun/pump/sc_pump +/obj/item/gun/projectile/shotgun/pump/sc_pump -/obj/item/weapon/gun/projectile/shotgun/pump/sc_pump/New() +/obj/item/gun/projectile/shotgun/pump/sc_pump/New() for(var/ammo in loaded) if(prob(95)) //95% chance loaded -= ammo //Lasers -/obj/item/weapon/gun/energy/laser/practice/sc_laser +/obj/item/gun/energy/laser/practice/sc_laser name = "Old laser" desc = "A once potent weapon, years of dust have collected in the chamber and lens of this weapon, weakening the beam significantly." clumsy_check = 0 @@ -110,32 +110,31 @@ var/sc_safecode4 = "[rand(0,9)]" var/sc_safecode5 = "[rand(0,9)]" //Pieces of paper actually containing the hints -/obj/item/weapon/paper/sc_safehint_paper_prison +/obj/item/paper/sc_safehint_paper_prison name = "smudged paper" -/obj/item/weapon/paper/sc_safehint_paper_prison/New() - info = "The ink is smudged, you can only make out a couple numbers: '[sc_safecode1]**[sc_safecode4]*'" +/obj/item/paper/sc_safehint_paper_prison/New() + info = span_italics("The ink is smudged, you can only make out a couple numbers:") + " '[sc_safecode1]**[sc_safecode4]*'" -/obj/item/weapon/paper/sc_safehint_paper_hydro +/obj/item/paper/sc_safehint_paper_hydro name = "shredded paper" -/obj/item/weapon/paper/sc_safehint_paper_hydro/New() - info = "Although the paper is shredded, you can clearly see the number: '[sc_safecode2]'" +/obj/item/paper/sc_safehint_paper_hydro/New() + info = span_italics("Although the paper is shredded, you can clearly see the number:") + " '[sc_safecode2]'" -/obj/item/weapon/paper/sc_safehint_paper_caf +/obj/item/paper/sc_safehint_paper_caf name = "blood-soaked paper" //This does not have to be in New() because it is a constant. There are no variables in it i.e. [sc_safcode] - info = "This paper is soaked in blood, it is impossible to read any text." + info = span_red(span_italics("This paper is soaked in blood, it is impossible to read any text.")) -/obj/item/weapon/paper/sc_safehint_paper_bible +/obj/item/paper/sc_safehint_paper_bible name = "hidden paper" -/obj/item/weapon/paper/sc_safehint_paper_bible/New() - info = {"It would appear that the pen hidden with the paper had leaked ink over the paper. - However you can make out the last three digits:'[sc_safecode3][sc_safecode4][sc_safecode5]' - "} +/obj/item/paper/sc_safehint_paper_bible/New() + info = span_italics("It would appear that the pen hidden with the paper had leaked ink over the paper.\ + However you can make out the last three digits:") + " '[sc_safecode3][sc_safecode4][sc_safecode5]'" -/obj/item/weapon/paper/sc_safehint_paper_shuttle - info = {"Target: Research-station Epsilon
      - Objective: Prototype weaponry. The captain likely keeps them locked in her safe.
      +/obj/item/paper/sc_safehint_paper_shuttle + info = span_bold("Target:") + " Research-station Epsilon
      " + span_bold("Objective:") + " " + {" + Prototype weaponry. The captain likely keeps them locked in her safe.

      Our on-board spy has learned the code and has hidden away a few copies of the code around the station. Unfortunatly he has been captured by security Your objective is to split up, locate any of the papers containing the captain's safe code, open the safe and @@ -149,19 +148,19 @@ var/sc_safecode5 = "[rand(0,9)]" /* * Captain's safe */ -/obj/item/weapon/storage/secure/safe/sc_ssafe +/obj/item/storage/secure/safe/sc_ssafe name = "Captain's secure safe" -/obj/item/weapon/storage/secure/safe/sc_ssafe/New() +/obj/item/storage/secure/safe/sc_ssafe/New() ..() l_code = "[sc_safecode1][sc_safecode2][sc_safecode3][sc_safecode4][sc_safecode5]" l_set = 1 - new /obj/item/weapon/gun/energy/mindflayer(src) - new /obj/item/device/soulstone(src) + new /obj/item/gun/energy/mindflayer(src) + new /obj/item/soulstone(src) new /obj/item/clothing/head/helmet/space/cult(src) new /obj/item/clothing/suit/space/cult(src) - //new /obj/item/weapon/teleportation_scroll(src) - new /obj/item/weapon/ore/diamond(src) + //new /obj/item/teleportation_scroll(src) + new /obj/item/ore/diamond(src) /* * Modified Nar-Sie diff --git a/maps/gateway_archive_vr/stationCollision.dmm b/maps/gateway_archive_vr/stationCollision.dmm index 6cfc12c33fc..628a1d0e26a 100644 --- a/maps/gateway_archive_vr/stationCollision.dmm +++ b/maps/gateway_archive_vr/stationCollision.dmm @@ -377,7 +377,7 @@ /turf/simulated/shuttle/plating, /area/awaymission/syndishuttle) "bs" = ( -/obj/item/weapon/storage/toolbox/syndicate, +/obj/item/storage/toolbox/syndicate, /turf/simulated/shuttle/plating, /area/awaymission/syndishuttle) "bt" = ( @@ -437,7 +437,7 @@ /area/awaymission/syndishuttle) "bD" = ( /obj/structure/table/standard, -/obj/item/weapon/paper/sc_safehint_paper_shuttle, +/obj/item/paper/sc_safehint_paper_shuttle, /turf/simulated/shuttle/floor{ icon_state = "floor4" }, @@ -475,7 +475,7 @@ }, /area/awaymission/research) "bJ" = ( -/obj/item/weapon/shard, +/obj/item/shard, /mob/living/carbon/alien/larva{ bruteloss = 25; fireloss = 175; @@ -669,7 +669,7 @@ }, /area/awaymission/research) "ck" = ( -/obj/item/weapon/shard{ +/obj/item/shard{ icon_state = "small" }, /mob/living/carbon/alien/larva{ @@ -683,10 +683,10 @@ }, /area/awaymission/research) "cl" = ( -/obj/item/weapon/shard{ +/obj/item/shard{ icon_state = "medium" }, -/obj/item/weapon/shard{ +/obj/item/shard{ icon_state = "small" }, /obj/effect/alien/weeds/node, @@ -697,9 +697,9 @@ /area/awaymission/research) "cm" = ( /obj/structure/table/standard, -/obj/item/weapon/clipboard, -/obj/item/weapon/paper, -/obj/item/weapon/paper, +/obj/item/clipboard, +/obj/item/paper, +/obj/item/paper, /turf/simulated/floor{ icon_state = "showroomfloor" }, @@ -874,8 +874,8 @@ /area/awaymission/research) "cJ" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /turf/simulated/floor{ icon_state = "showroomfloor" }, @@ -901,7 +901,7 @@ name = "Syndicate agent remains" }, /obj/item/clothing/suit/storage/labcoat, -/obj/item/weapon/clipboard{ +/obj/item/clipboard{ pixel_x = -7; pixel_y = -4 }, @@ -1086,7 +1086,7 @@ /obj/item/clothing/suit/armor/riot, /obj/item/clothing/head/helmet/swat, /obj/effect/decal/remains/human, -/obj/item/weapon/gun/energy/laser/practice/sc_laser, +/obj/item/gun/energy/laser/practice/sc_laser, /turf/simulated/floor{ icon_state = "showroomfloor" }, @@ -1107,7 +1107,7 @@ /obj/item/clothing/suit/armor/riot, /obj/item/clothing/head/helmet/swat, /obj/effect/decal/remains/human, -/obj/item/weapon/gun/energy/laser/practice/sc_laser, +/obj/item/gun/energy/laser/practice/sc_laser, /turf/simulated/floor{ icon_state = "dark" }, @@ -1334,7 +1334,7 @@ /obj/item/clothing/suit/armor/riot, /obj/item/clothing/head/helmet/swat, /obj/effect/decal/remains/human, -/obj/item/weapon/gun/energy/laser/practice/sc_laser, +/obj/item/gun/energy/laser/practice/sc_laser, /turf/simulated/floor{ icon_state = "showroomfloor" }, @@ -1449,7 +1449,7 @@ /obj/item/stack/cable_coil{ amount = 5 }, -/obj/item/weapon/tool/screwdriver, +/obj/item/tool/screwdriver, /turf/simulated/floor{ icon_state = "showroomfloor" }, @@ -1490,7 +1490,7 @@ dir = 8 }, /obj/structure/grille, -/obj/item/weapon/shard, +/obj/item/shard, /turf/simulated/floor/plating, /area/awaymission/northblock) "ee" = ( @@ -1757,7 +1757,7 @@ dir = 8 }, /obj/structure/grille, -/obj/item/weapon/shard{ +/obj/item/shard{ icon_state = "small" }, /turf/simulated/floor/plating, @@ -1799,7 +1799,7 @@ /area/awaymission/northblock) "eQ" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/snacks/grown/potato, +/obj/item/reagent_containers/food/snacks/grown/potato, /obj/item/stack/cable_coil{ amount = 1 }, @@ -1832,7 +1832,7 @@ dir = 1 }, /obj/structure/table/standard, -/obj/item/weapon/book/manual/research_and_development, +/obj/item/book/manual/research_and_development, /turf/simulated/floor{ icon_state = "showroomfloor" }, @@ -1929,15 +1929,15 @@ /area/awaymission/northblock) "ff" = ( /obj/structure/table/standard, -/obj/item/weapon/stock_parts/capacitor, -/obj/item/weapon/stock_parts/capacitor{ +/obj/item/stock_parts/capacitor, +/obj/item/stock_parts/capacitor{ pixel_x = -3 }, -/obj/item/weapon/stock_parts/scanning_module{ +/obj/item/stock_parts/scanning_module{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/stock_parts/scanning_module{ +/obj/item/stock_parts/scanning_module{ pixel_y = -3 }, /turf/simulated/floor{ @@ -1954,16 +1954,16 @@ /area/awaymission/research) "fh" = ( /obj/structure/table/standard, -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/manipulator{ +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/manipulator{ pixel_x = -3; pixel_y = 3 }, -/obj/item/weapon/stock_parts/micro_laser{ +/obj/item/stock_parts/micro_laser{ pixel_x = -3; pixel_y = -3 }, -/obj/item/weapon/stock_parts/micro_laser{ +/obj/item/stock_parts/micro_laser{ pixel_x = 3; pixel_y = 3 }, @@ -2017,17 +2017,17 @@ pixel_x = -3; pixel_y = 5 }, -/obj/item/weapon/cell/crap, +/obj/item/cell/crap, /turf/simulated/floor{ icon_state = "showroomfloor" }, /area/awaymission/research) "fo" = ( /obj/structure/table/standard, -/obj/item/weapon/stock_parts/matter_bin{ +/obj/item/stock_parts/matter_bin{ pixel_x = 3 }, -/obj/item/weapon/stock_parts/matter_bin{ +/obj/item/stock_parts/matter_bin{ pixel_x = -3 }, /turf/simulated/floor{ @@ -2083,11 +2083,11 @@ /area/awaymission/midblock) "fx" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox/mechanical, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical{ pixel_y = 5 }, -/obj/item/weapon/stock_parts/console_screen, +/obj/item/stock_parts/console_screen, /turf/simulated/floor{ icon_state = "showroomfloor" }, @@ -2134,8 +2134,8 @@ /area/awaymission/research) "fC" = ( /obj/structure/table/standard, -/obj/item/device/analyzer, -/obj/item/device/mass_spectrometer{ +/obj/item/analyzer, +/obj/item/mass_spectrometer{ pixel_x = 5; pixel_y = 5 }, @@ -2145,12 +2145,12 @@ /area/awaymission/research) "fD" = ( /obj/structure/table/holotable, -/obj/item/weapon/gun/energy/floragun{ +/obj/item/gun/energy/floragun{ pixel_x = 2; pixel_y = 3 }, /obj/machinery/light, -/obj/item/weapon/gun/energy/taser{ +/obj/item/gun/energy/taser{ pixel_x = -2; pixel_y = -2 }, @@ -2160,7 +2160,7 @@ /area/awaymission/research) "fE" = ( /obj/structure/target_stake, -/obj/item/weapon/grown/sunflower, +/obj/item/grown/sunflower, /turf/simulated/floor{ icon_state = "showroomfloor" }, @@ -2185,7 +2185,7 @@ }, /obj/item/clothing/shoes/syndigaloshes, /obj/effect/decal/cleanable/blood/splatter, -/obj/item/weapon/gun/projectile/silenced/sc_silenced, +/obj/item/gun/projectile/silenced/sc_silenced, /turf/simulated/floor{ icon_state = "grimy" }, @@ -2301,14 +2301,14 @@ /area/awaymission/arrivalblock) "fU" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = -3; pixel_y = 5 }, -/obj/item/weapon/paper{ +/obj/item/paper{ pixel_x = 3 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_x = 10; pixel_y = 10 }, @@ -2398,7 +2398,7 @@ }, /area/awaymission/northblock) "gh" = ( -/obj/item/weapon/storage/secure/safe/sc_ssafe{ +/obj/item/storage/secure/safe/sc_ssafe{ pixel_x = 4; pixel_y = -26 }, @@ -2408,11 +2408,11 @@ /area/awaymission/northblock) "gi" = ( /obj/structure/stool/bed, -/obj/item/weapon/bedsheet/captain, +/obj/item/bedsheet/captain, /obj/item/clothing/under/rank/captain, /obj/effect/decal/remains/human, /obj/effect/decal/cleanable/blood/splatter, -/obj/item/weapon/gun/energy/laser/retro/sc_retro, +/obj/item/gun/energy/laser/retro/sc_retro, /turf/simulated/floor{ icon_state = "grimy" }, @@ -2472,8 +2472,8 @@ /area/awaymission/midblock) "gs" = ( /obj/structure/table/standard, -/obj/item/weapon/book/manual/barman_recipes, -/obj/item/weapon/reagent_containers/food/drinks/shaker, +/obj/item/book/manual/barman_recipes, +/obj/item/reagent_containers/food/drinks/shaker, /turf/simulated/floor, /area/awaymission/midblock) "gt" = ( @@ -2600,7 +2600,7 @@ pixel_x = 0 }, /obj/effect/decal/cleanable/blood/splatter, -/obj/item/weapon/gun/projectile/shotgun/pump/sc_pump, +/obj/item/gun/projectile/shotgun/pump/sc_pump, /turf/simulated/floor, /area/awaymission/midblock) "gJ" = ( @@ -2652,7 +2652,7 @@ /area/awaymission/midblock) "gQ" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/bottle/holywater, +/obj/item/reagent_containers/food/drinks/bottle/holywater, /turf/simulated/floor{ icon_state = "dark" }, @@ -2726,8 +2726,8 @@ /area/awaymission/arrivalblock) "ha" = ( /obj/structure/table/standard, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/melee/baton, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/melee/baton, /obj/item/clothing/head/helmet/warden, /turf/simulated/floor{ icon_state = "red"; @@ -2768,7 +2768,7 @@ /area/awaymission/midblock) "hf" = ( /obj/structure/stool/bed, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /obj/structure/window/reinforced/tinted{ dir = 1 }, @@ -2787,7 +2787,7 @@ /area/awaymission/midblock) "hh" = ( /obj/structure/stool/bed, -/obj/item/weapon/bedsheet/purple, +/obj/item/bedsheet/purple, /obj/structure/window/reinforced/tinted{ dir = 1 }, @@ -2796,7 +2796,7 @@ /area/awaymission/midblock) "hi" = ( /obj/structure/stool/bed, -/obj/item/weapon/bedsheet/purple, +/obj/item/bedsheet/purple, /obj/structure/window/reinforced/tinted{ dir = 1 }, @@ -2920,8 +2920,8 @@ dir = 8 }, /obj/item/clothing/suit/space/syndicate, -/obj/item/weapon/paper/sc_safehint_paper_prison, -/obj/item/weapon/gun/projectile/shotgun/pump/sc_pump, +/obj/item/paper/sc_safehint_paper_prison, +/obj/item/gun/projectile/shotgun/pump/sc_pump, /turf/simulated/floor, /area/awaymission/arrivalblock) "hA" = ( @@ -2967,9 +2967,9 @@ /area/awaymission/midblock) "hF" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, -/obj/item/weapon/reagent_containers/food/condiment/peppermill, -/obj/item/weapon/reagent_containers/food/condiment/saltshaker{ +/obj/item/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/food/condiment/peppermill, +/obj/item/reagent_containers/food/condiment/saltshaker{ pixel_x = 4; pixel_y = 4 }, @@ -3010,13 +3010,13 @@ /area/awaymission/arrivalblock) "hL" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/fancy/donut_box, +/obj/item/storage/fancy/donut_box, /turf/simulated/floor, /area/awaymission/arrivalblock) "hM" = ( /obj/structure/table/standard, -/obj/item/weapon/handcuffs, -/obj/item/device/flash, +/obj/item/handcuffs, +/obj/item/flash, /turf/simulated/floor, /area/awaymission/arrivalblock) "hN" = ( @@ -3027,13 +3027,13 @@ /area/awaymission/arrivalblock) "hO" = ( /obj/structure/stool/bed, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /obj/effect/decal/remains/human, /turf/simulated/floor, /area/awaymission/midblock) "hP" = ( /obj/structure/stool/bed, -/obj/item/weapon/bedsheet/purple, +/obj/item/bedsheet/purple, /turf/simulated/floor, /area/awaymission/midblock) "hQ" = ( @@ -3042,8 +3042,8 @@ /area/awaymission/midblock) "hR" = ( /obj/structure/table/standard, -/obj/item/weapon/book/manual/chef_recipes, -/obj/item/weapon/kitchen/rollingpin, +/obj/item/book/manual/chef_recipes, +/obj/item/kitchen/rollingpin, /turf/simulated/floor, /area/awaymission/midblock) "hS" = ( @@ -3055,8 +3055,8 @@ /area/awaymission/midblock) "hT" = ( /obj/effect/decal/remains/human, -/obj/item/weapon/butch, -/obj/item/weapon/kitchenknife, +/obj/item/butch, +/obj/item/kitchenknife, /obj/item/clothing/head/chefhat, /obj/effect/decal/cleanable/blood/splatter, /turf/simulated/floor, @@ -3072,10 +3072,10 @@ name = "Syndicate agent remains" }, /obj/item/ammo_casing/a10mm, -/obj/item/weapon/paper/sc_safehint_paper_caf, +/obj/item/paper/sc_safehint_paper_caf, /obj/item/clothing/under/syndicate, /obj/effect/decal/cleanable/blood/splatter, -/obj/item/weapon/gun/projectile/automatic/c20r/sc_c20r, +/obj/item/gun/projectile/automatic/c20r/sc_c20r, /turf/simulated/floor, /area/awaymission/midblock) "hW" = ( @@ -3220,7 +3220,7 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/item/weapon/gun/projectile/automatic/c20r/sc_c20r, +/obj/item/gun/projectile/automatic/c20r/sc_c20r, /turf/simulated/floor, /area/awaymission/midblock) "im" = ( @@ -3275,7 +3275,7 @@ /area/awaymission/arrivalblock) "iu" = ( /obj/structure/stool/bed, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /turf/simulated/floor, /area/awaymission/midblock) "iv" = ( @@ -3315,7 +3315,7 @@ /obj/item/ammo_casing/a10mm, /obj/item/clothing/under/syndicate, /obj/effect/decal/cleanable/blood/splatter, -/obj/item/weapon/gun/projectile/automatic/c20r/sc_c20r, +/obj/item/gun/projectile/automatic/c20r/sc_c20r, /turf/simulated/floor, /area/awaymission/midblock) "iC" = ( @@ -3335,7 +3335,7 @@ /obj/item/ammo_casing/a10mm, /obj/item/clothing/under/syndicate, /obj/effect/decal/cleanable/blood/splatter, -/obj/item/weapon/gun/projectile/automatic/c20r/sc_c20r, +/obj/item/gun/projectile/automatic/c20r/sc_c20r, /turf/simulated/floor, /area/awaymission/midblock) "iE" = ( @@ -3356,7 +3356,7 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/shard{ +/obj/item/shard{ icon_state = "medium" }, /obj/item/stack/rods, @@ -3417,11 +3417,11 @@ dir = 8 }, /obj/structure/grille, -/obj/item/weapon/shard, +/obj/item/shard, /turf/simulated/shuttle/plating, /area/awaymission/arrivalblock) "iP" = ( -/obj/item/weapon/shard{ +/obj/item/shard{ icon_state = "small" }, /obj/item/stack/rods, @@ -3738,7 +3738,7 @@ /area/awaymission/southblock) "jN" = ( /obj/structure/table/standard, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor{ icon_state = "whitehall"; dir = 1 @@ -3888,7 +3888,7 @@ /area/awaymission/southblock) "kk" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin, +/obj/item/paper_bin, /turf/simulated/floor{ icon_state = "whitehall"; dir = 2 @@ -4028,7 +4028,7 @@ /area/awaymission/southblock) "kD" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /turf/simulated/floor/wood, /area/awaymission/southblock) "kE" = ( @@ -4093,7 +4093,7 @@ /turf/simulated/floor, /area/awaymission/arrivalblock) "kN" = ( -/obj/item/weapon/melee/energy/sword/red, +/obj/item/melee/energy/sword/red, /obj/item/clothing/shoes/syndigaloshes, /obj/item/clothing/under/syndicate, /obj/effect/decal/remains/human{ @@ -4101,7 +4101,7 @@ icon_state = "remains"; name = "Syndicate agent remains" }, -/obj/item/weapon/paper/sc_safehint_paper_hydro, +/obj/item/paper/sc_safehint_paper_hydro, /turf/simulated/floor, /area/awaymission/arrivalblock) "kO" = ( @@ -4129,11 +4129,11 @@ /area/awaymission/southblock) "kS" = ( /obj/structure/table/standard, -/obj/item/weapon/paper/pamphlet{ +/obj/item/paper/pamphlet{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/paper/pamphlet{ +/obj/item/paper/pamphlet{ pixel_x = -2; pixel_y = -2 }, @@ -4165,7 +4165,7 @@ /area/awaymission/gateroom) "kV" = ( /obj/structure/table/standard, -/obj/item/device/camera, +/obj/item/camera, /turf/simulated/floor{ icon_state = "warningcorner"; dir = 4 @@ -4276,7 +4276,7 @@ "lk" = ( /obj/structure/stool/bed, /obj/structure/window/reinforced/tinted, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/structure/window/reinforced/tinted{ dir = 1 }, @@ -4309,11 +4309,11 @@ /area/awaymission/arrivalblock) "lp" = ( /obj/structure/table/standard, -/obj/item/weapon/book/manual/hydroponics_pod_people, +/obj/item/book/manual/hydroponics_pod_people, /turf/simulated/floor, /area/awaymission/arrivalblock) "lq" = ( -/obj/item/weapon/grown/deathnettle, +/obj/item/grown/deathnettle, /obj/item/clothing/shoes/brown, /obj/item/clothing/under/rank/hydroponics, /obj/effect/decal/remains/human, @@ -4340,7 +4340,7 @@ "lt" = ( /obj/structure/stool/bed, /obj/structure/window/reinforced/tinted, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /turf/simulated/floor{ icon_state = "whitehall"; dir = 4 @@ -4428,7 +4428,7 @@ /area/awaymission/arrivalblock) "lE" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /turf/simulated/floor, /area/awaymission/arrivalblock) "lF" = ( @@ -4448,7 +4448,7 @@ dir = 1 }, /obj/effect/decal/remains/human, -/obj/item/weapon/tank/anesthetic, +/obj/item/tank/anesthetic, /obj/item/clothing/mask/breath, /turf/simulated/floor{ icon_state = "white" @@ -4465,7 +4465,7 @@ "lJ" = ( /obj/structure/stool/bed, /obj/structure/window/reinforced/tinted, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/effect/decal/remains/human, /turf/simulated/floor{ icon_state = "whitehall"; @@ -4513,8 +4513,8 @@ /area/awaymission/arrivalblock) "lQ" = ( /obj/structure/table/standard, -/obj/item/weapon/shovel/spade, -/obj/item/weapon/reagent_containers/spray/plantbgone, +/obj/item/shovel/spade, +/obj/item/reagent_containers/spray/plantbgone, /turf/simulated/floor, /area/awaymission/arrivalblock) "lR" = ( @@ -4645,12 +4645,12 @@ /obj/structure/closet/crate/medical{ name = "Surgical Tools" }, -/obj/item/weapon/cautery, -/obj/item/weapon/circular_saw, -/obj/item/weapon/hemostat, -/obj/item/weapon/retractor, -/obj/item/weapon/surgicaldrill, -/obj/item/weapon/scalpel, +/obj/item/cautery, +/obj/item/circular_saw, +/obj/item/hemostat, +/obj/item/retractor, +/obj/item/surgicaldrill, +/obj/item/scalpel, /turf/simulated/floor{ icon_state = "white" }, diff --git a/maps/gateway_archive_vr/wildwest.dm b/maps/gateway_archive_vr/wildwest.dm index 58d813d94e7..d908da0d896 100644 --- a/maps/gateway_archive_vr/wildwest.dm +++ b/maps/gateway_archive_vr/wildwest.dm @@ -44,52 +44,52 @@ var/wish = tgui_input_list(usr, "You want...","Wish", list("Power","Wealth","Immortality","To Kill","Peace")) switch(wish) if("Power") - to_chat(user, "Your wish is granted, but at a terrible cost...") - to_chat(user, "The Wish Granter punishes you for your selfishness, claiming your soul and warping your body to match the darkness in your heart.") + to_chat(user, span_boldwarning("Your wish is granted, but at a terrible cost...")) + to_chat(user, span_warning("The Wish Granter punishes you for your selfishness, claiming your soul and warping your body to match the darkness in your heart.")) if (!(LASER in user.mutations)) user.mutations.Add(LASER) - to_chat(user, "You feel pressure building behind your eyes.") + to_chat(user, span_notice("You feel pressure building behind your eyes.")) if (!(COLD_RESISTANCE in user.mutations)) user.mutations.Add(COLD_RESISTANCE) - to_chat(user, "Your body feels warm.") + to_chat(user, span_notice("Your body feels warm.")) if (!(XRAY in user.mutations)) user.mutations.Add(XRAY) user.sight |= (SEE_MOBS|SEE_OBJS|SEE_TURFS) user.see_in_dark = 8 user.see_invisible = SEE_INVISIBLE_LEVEL_TWO - to_chat(user, "The walls suddenly disappear.") + to_chat(user, span_notice("The walls suddenly disappear.")) user.dna.mutantrace = "shadow" user.update_mutantrace() if("Wealth") - to_chat(user, "Your wish is granted, but at a terrible cost...") - to_chat(user, "The Wish Granter punishes you for your selfishness, claiming your soul and warping your body to match the darkness in your heart.") + to_chat(user, span_boldwarning("Your wish is granted, but at a terrible cost...")) + to_chat(user, span_warning("The Wish Granter punishes you for your selfishness, claiming your soul and warping your body to match the darkness in your heart.")) new /obj/structure/closet/syndicate/resources/everything(loc) user.dna.mutantrace = "shadow" user.update_mutantrace() if("Immortality") - to_chat(user, "Your wish is granted, but at a terrible cost...") - to_chat(user, "The Wish Granter punishes you for your selfishness, claiming your soul and warping your body to match the darkness in your heart.") - user.verbs += /mob/living/carbon/proc/immortality + to_chat(user, span_boldwarning("Your wish is granted, but at a terrible cost...")) + to_chat(user, span_warning("The Wish Granter punishes you for your selfishness, claiming your soul and warping your body to match the darkness in your heart.")) + add_verb(user, /mob/living/carbon/proc/immortality) user.dna.mutantrace = "shadow" user.update_mutantrace() if("To Kill") - to_chat(user, "Your wish is granted, but at a terrible cost...") - to_chat(user, "The Wish Granter punishes you for your wickedness, claiming your soul and warping your body to match the darkness in your heart.") + to_chat(user, span_boldwarning("Your wish is granted, but at a terrible cost...")) + to_chat(user, span_warning("The Wish Granter punishes you for your wickedness, claiming your soul and warping your body to match the darkness in your heart.")) ticker.mode.traitors += user.mind user.mind.special_role = "traitor" var/datum/objective/hijack/hijack = new hijack.owner = user.mind user.mind.objectives += hijack - to_chat(user, "Your inhibitions are swept away, the bonds of loyalty broken, you are free to murder as you please!") + to_chat(user, span_infoplain(span_bold("Your inhibitions are swept away, the bonds of loyalty broken, you are free to murder as you please!"))) var/obj_count = 1 for(var/datum/objective/OBJ in user.mind.objectives) - to_chat(user, "Objective #[obj_count]: [OBJ.explanation_text]") + to_chat(user, span_infoplain(span_bold("Objective #[obj_count]") + ": [OBJ.explanation_text]")) obj_count++ user.dna.mutantrace = "shadow" user.update_mutantrace() if("Peace") - to_chat(user, "Whatever alien sentience that the Wish Granter possesses is satisfied with your wish. There is a distant wailing as the last of the Faithless begin to die, then silence.") - to_chat(user, "You feel as if you just narrowly avoided a terrible fate...") + to_chat(user, span_infoplain(span_bold("Whatever alien sentience that the Wish Granter possesses is satisfied with your wish. There is a distant wailing as the last of the Faithless begin to die, then silence."))) + to_chat(user, span_infoplain("You feel as if you just narrowly avoided a terrible fate...")) for(var/mob/living/simple_mob/faithless/F in living_mob_list) F.health = -10 F.set_stat(DEAD) @@ -148,9 +148,9 @@ var/mob/living/carbon/C = usr if(!C.stat) - to_chat(C, "You're not dead yet!") + to_chat(C, span_notice("You're not dead yet!")) return - to_chat(C, "Death is not your end!") + to_chat(C, span_notice("Death is not your end!")) spawn(rand(800,1200)) if(C.stat == DEAD) @@ -167,7 +167,7 @@ C.radiation = 0 C.heal_overall_damage(C.getBruteLoss(), C.getFireLoss()) C.reagents.clear_reagents() - to_chat(C, "You have regenerated.") - C.visible_message("[usr] appears to wake from the dead, having healed all wounds.") + to_chat(C, span_notice("You have regenerated.")) + C.visible_message(span_warning("[usr] appears to wake from the dead, having healed all wounds.")) C.update_canmove() return 1 diff --git a/maps/gateway_archive_vr/wildwest.dmm b/maps/gateway_archive_vr/wildwest.dmm index 2322a4d410d..242f27814fe 100644 --- a/maps/gateway_archive_vr/wildwest.dmm +++ b/maps/gateway_archive_vr/wildwest.dmm @@ -256,7 +256,7 @@ }, /area/awaymission/wwmines) "aS" = ( -/obj/item/weapon/paper{ +/obj/item/paper{ info = "meat grinder requires sacri" }, /turf/simulated/floor/engine/cult, @@ -435,7 +435,7 @@ /area/awaymission/wwmines) "bC" = ( /obj/structure/table/woodentable, -/obj/item/weapon/gun/projectile, +/obj/item/gun/projectile, /turf/simulated/floor/wood, /area/awaymission/wwmines) "bD" = ( @@ -451,7 +451,7 @@ /area/awaymission/wwmines) "bG" = ( /obj/structure/table/woodentable, -/obj/item/weapon/book/manual/barman_recipes, +/obj/item/book/manual/barman_recipes, /turf/simulated/floor/wood, /area/awaymission/wwmines) "bH" = ( @@ -464,9 +464,9 @@ /area/awaymission/wwmines) "bJ" = ( /obj/structure/closet/secure_closet/freezer/kitchen, -/obj/item/weapon/reagent_containers/food/drinks/flour, -/obj/item/weapon/reagent_containers/food/drinks/flour, -/obj/item/weapon/reagent_containers/food/drinks/flour, +/obj/item/reagent_containers/food/drinks/flour, +/obj/item/reagent_containers/food/drinks/flour, +/obj/item/reagent_containers/food/drinks/flour, /turf/simulated/floor{ icon_state = "cafeteria"; dir = 5 @@ -474,7 +474,7 @@ /area/awaymission/wwmines) "bK" = ( /obj/structure/table/woodentable, -/obj/item/weapon/book/manual/chef_recipes, +/obj/item/book/manual/chef_recipes, /turf/simulated/floor{ icon_state = "cafeteria"; dir = 5 @@ -497,11 +497,11 @@ /area/awaymission/wwmines) "bN" = ( /obj/structure/closet/secure_closet/freezer/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh, -/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh, -/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh, -/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh, -/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh, +/obj/item/reagent_containers/food/snacks/meat/syntiflesh, +/obj/item/reagent_containers/food/snacks/meat/syntiflesh, +/obj/item/reagent_containers/food/snacks/meat/syntiflesh, +/obj/item/reagent_containers/food/snacks/meat/syntiflesh, +/obj/item/reagent_containers/food/snacks/meat/syntiflesh, /turf/simulated/floor{ icon_state = "cafeteria"; dir = 5 @@ -689,7 +689,7 @@ /area/awaymission/wwgov) "cg" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper{ +/obj/item/paper{ info = " The miners in the town have become sick and almost all production has stopped. They, in a fit of delusion, tossed all of their mining equipment into the furnaces. They all claimed the same thing. A voice beckoning them to lay down their arms. Stupid miners."; name = "Planer Saul's Journal: Page 4" }, @@ -700,7 +700,7 @@ /area/awaymission/wwmines) "ch" = ( /obj/structure/table/woodentable, -/obj/item/weapon/gun/projectile, +/obj/item/gun/projectile, /turf/simulated/floor{ icon_state = "cafeteria"; dir = 5 @@ -734,7 +734,7 @@ /turf/simulated/floor/wood, /area/awaymission/wwgov) "co" = ( -/obj/item/weapon/moneybag, +/obj/item/moneybag, /turf/simulated/floor/wood, /area/awaymission/wwgov) "cp" = ( @@ -783,7 +783,7 @@ /turf/simulated/floor/carpet, /area/awaymission/wwgov) "cx" = ( -/obj/item/weapon/moneybag, +/obj/item/moneybag, /turf/simulated/floor/carpet, /area/awaymission/wwgov) "cy" = ( @@ -808,13 +808,13 @@ /area/awaymission/wwmines) "cC" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical, /turf/simulated/floor/wood, /area/awaymission/wwgov) "cD" = ( /obj/structure/table/woodentable, /obj/item/clothing/gloves/yellow, -/obj/item/device/multitool, +/obj/item/multitool, /turf/simulated/floor/wood, /area/awaymission/wwgov) "cE" = ( @@ -849,17 +849,17 @@ /area/awaymission/wwmines) "cJ" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/condiment/peppermill, +/obj/item/reagent_containers/food/condiment/peppermill, /turf/simulated/floor/wood, /area/awaymission/wwmines) "cK" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/condiment/saltshaker, +/obj/item/reagent_containers/food/condiment/saltshaker, /turf/simulated/floor/wood, /area/awaymission/wwmines) "cL" = ( /obj/structure/table/woodentable, -/obj/item/weapon/twohanded/dualsaber, +/obj/item/twohanded/dualsaber, /turf/simulated/floor/wood, /area/awaymission/wwgov) "cM" = ( @@ -928,7 +928,7 @@ /turf/simulated/floor/plating, /area/awaymission/wwrefine) "cU" = ( -/obj/item/weapon/paper{ +/obj/item/paper{ info = "We've discovered something floating in space. We can't really tell how old it is, but it is scraped and bent to hell. There object is the size of about a room with double doors that we have yet to break into. It is a lot sturdier than we could have imagined. We have decided to call it 'The Vault' "; name = "Planer Saul's Journal: Page 1" }, @@ -936,21 +936,21 @@ /area/awaymission/wwgov) "cV" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/monkeysdelight, +/obj/item/reagent_containers/food/snacks/monkeysdelight, /turf/simulated/floor{ icon_state = "stage_bleft" }, /area/awaymission/wwgov) "cW" = ( /obj/structure/table/woodentable, -/obj/item/weapon/butch, +/obj/item/butch, /turf/simulated/floor{ icon_state = "stage_bleft" }, /area/awaymission/wwgov) "cX" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/stew, +/obj/item/reagent_containers/food/snacks/stew, /turf/simulated/floor{ icon_state = "stage_bleft" }, @@ -998,21 +998,21 @@ /area/awaymission/wwgov) "dd" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/sliceable/creamcheesebread, +/obj/item/reagent_containers/food/snacks/sliceable/creamcheesebread, /turf/simulated/floor{ icon_state = "stage_bleft" }, /area/awaymission/wwgov) "de" = ( /obj/structure/table/woodentable, -/obj/item/weapon/kitchen/rollingpin, +/obj/item/kitchen/rollingpin, /turf/simulated/floor{ icon_state = "stage_bleft" }, /area/awaymission/wwgov) "df" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/sliceable/lemoncake, +/obj/item/reagent_containers/food/snacks/sliceable/lemoncake, /turf/simulated/floor{ icon_state = "stage_bleft" }, @@ -1085,29 +1085,29 @@ /area) "dp" = ( /obj/structure/stool/bed, -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /turf/simulated/floor/wood, /area/awaymission/wwgov) "dq" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/bottle/wine, +/obj/item/reagent_containers/food/drinks/bottle/wine, /turf/simulated/floor{ icon_state = "stage_bleft" }, /area/awaymission/wwgov) "dr" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass, +/obj/item/reagent_containers/food/drinks/drinkingglass, +/obj/item/reagent_containers/food/drinks/drinkingglass, +/obj/item/reagent_containers/food/drinks/drinkingglass, +/obj/item/reagent_containers/food/drinks/drinkingglass, /turf/simulated/floor{ icon_state = "stage_bleft" }, /area/awaymission/wwgov) "ds" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/bottle/patron, +/obj/item/reagent_containers/food/drinks/bottle/patron, /turf/simulated/floor{ icon_state = "stage_bleft" }, @@ -1190,7 +1190,7 @@ /area/awaymission/wwmines) "dH" = ( /obj/structure/stool/bed, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /turf/simulated/floor/wood, /area/awaymission/wwmines) "dI" = ( @@ -1321,22 +1321,22 @@ /area/awaymission/wwmines) "dY" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/donut/slimejelly, +/obj/item/reagent_containers/food/snacks/donut/slimejelly, /turf/simulated/floor/carpet, /area/awaymission/wwmines) "dZ" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/coffee, +/obj/item/reagent_containers/food/drinks/coffee, /turf/simulated/floor/carpet, /area/awaymission/wwmines) "ea" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/donut/jelly, +/obj/item/reagent_containers/food/snacks/donut/jelly, /turf/simulated/floor/carpet, /area/awaymission/wwmines) "eb" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/donut/normal, +/obj/item/reagent_containers/food/snacks/donut/normal, /turf/simulated/floor/carpet, /area/awaymission/wwmines) "ec" = ( @@ -1421,7 +1421,7 @@ /area/awaymission/wwmines) "em" = ( /obj/structure/stool/bed, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /obj/item/ammo_magazine/a357, /turf/simulated/floor/wood, /area/awaymission/wwmines) @@ -1444,7 +1444,7 @@ /turf/simulated/floor/carpet, /area/awaymission/wwmines) "eq" = ( -/obj/item/weapon/gun/projectile/shotgun, +/obj/item/gun/projectile/shotgun, /turf/simulated/floor/wood, /area/awaymission/wwmines) "er" = ( @@ -1524,20 +1524,20 @@ /area/awaymission/wwgov) "eE" = ( /obj/structure/stool/bed, -/obj/item/weapon/bedsheet/blue, -/obj/item/weapon/gun/projectile, +/obj/item/bedsheet/blue, +/obj/item/gun/projectile, /turf/simulated/floor/wood, /area/awaymission/wwmines) "eF" = ( /obj/effect/decal/cleanable/blood, /obj/structure/stool/bed, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /turf/simulated/floor/wood, /area/awaymission/wwmines) "eG" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/coffee, -/obj/item/weapon/reagent_containers/food/snacks/donut/slimejelly, +/obj/item/reagent_containers/food/drinks/coffee, +/obj/item/reagent_containers/food/snacks/donut/slimejelly, /turf/simulated/floor/carpet, /area/awaymission/wwmines) "eH" = ( @@ -2011,7 +2011,7 @@ /area/awaymission/wwmines) "fS" = ( /obj/structure/table/woodentable, -/obj/item/weapon/gun/projectile/shotgun, +/obj/item/gun/projectile/shotgun, /turf/simulated/floor/wood, /area/awaymission/wwmines) "fT" = ( @@ -2060,7 +2060,7 @@ /turf/simulated/floor/wood, /area/awaymission/wwmines) "fZ" = ( -/obj/item/weapon/paper{ +/obj/item/paper{ info = "The Vault...it just keeps growing and growing. I went on my daily walk through the garden and now its just right outside the mansion... a few days ago it was only barely visible. But whatever is inside...its calling to me."; name = "Planer Sauls' Journal: Page 7" }, @@ -2101,7 +2101,7 @@ /area/awaymission/wwmines) "gg" = ( /obj/structure/table/woodentable, -/obj/item/weapon/gun/projectile/russian, +/obj/item/gun/projectile/russian, /turf/simulated/floor/wood, /area/awaymission/wwmines) "gh" = ( @@ -2130,7 +2130,7 @@ /turf/simulated/floor/wood, /area/awaymission/wwmines) "gm" = ( -/obj/item/weapon/gun/projectile, +/obj/item/gun/projectile, /turf/simulated/floor/wood, /area/awaymission/wwmines) "gn" = ( @@ -2187,15 +2187,15 @@ }, /area/awaymission/wwmines) "gv" = ( -/obj/item/weapon/hatchet, +/obj/item/hatchet, /turf/simulated/floor/wood, /area/awaymission/wwmines) "gw" = ( -/obj/item/weapon/gun/projectile/silenced, +/obj/item/gun/projectile/silenced, /turf/simulated/floor/wood, /area/awaymission/wwmines) "gx" = ( -/obj/item/weapon/gun/projectile/shotgun, +/obj/item/gun/projectile/shotgun, /turf/simulated/floor/plating/ironsand{ icon_state = "ironsand1" }, @@ -2388,7 +2388,7 @@ /obj/item/clothing/suit/space/syndicate/black/orange, /obj/item/clothing/head/helmet/space/syndicate/black/orange, /obj/item/clothing/mask/gas/syndicate, -/obj/item/weapon/tank/oxygen, +/obj/item/tank/oxygen, /turf/simulated/shuttle{ icon_state = "floor2" }, @@ -2412,7 +2412,7 @@ }, /area/awaymission/wwrefine) "gY" = ( -/obj/item/weapon/paper{ +/obj/item/paper{ info = "The syndicate have invaded. Their ships appeared out of nowhere and now they likely intend to kill us all and take everything. On the off-chance that the Vault may grant us sanctuary, many of us have decided to force our way inside and bolt the door, taking as many provisions with us as we can carry. In case you find this, send for help immediately and open the Vault. Find us inside."; name = "Planer Saul's Journal: Page 8" }, diff --git a/maps/gateway_archive_vr/zoo.dm b/maps/gateway_archive_vr/zoo.dm index 8dfc8857831..baded125a60 100644 --- a/maps/gateway_archive_vr/zoo.dm +++ b/maps/gateway_archive_vr/zoo.dm @@ -18,27 +18,27 @@ /area/awaymission/zoo/pirateship icon_state = "bluenew" -/obj/item/weapon/paper/zoo +/obj/item/paper/zoo name = "\improper Quarterly Report" - info = {"There's nothing but spreadsheets and budget reports on this document, apparently regarding a zoo owned by NanoTrasen."} + info = span_italics("There's nothing but spreadsheets and budget reports on this document, apparently regarding a zoo owned by NanoTrasen.") -/obj/item/weapon/paper/zoo/pirate +/obj/item/paper/zoo/pirate name = "odd note" -/obj/item/weapon/paper/zoo/pirate/volk +/obj/item/paper/zoo/pirate/volk info = {"Lady Nebula,

      We can't keep these animals here permanently. We're running out of food and they're getting hungry. Ma'isi went missing last night when we sent her to clean up the petting zoo. This morning, we found Tajaran hair in the horse shit. I can't speak for everyone, but I'm out. If these animals break loose, we're all fucking dead. Please get some extra rations of meat before the carnivores realize the electrified grilles don't work right now.

      -Volk"} -/obj/item/weapon/paper/zoo/pirate/nebula +/obj/item/paper/zoo/pirate/nebula info = {"Volk,

      Throw some prisoners into the cages, then. The client took too long to pay up anyway.

      -Lady Nebula"} -/obj/item/weapon/paper/zoo/pirate/haveyouseen +/obj/item/paper/zoo/pirate/haveyouseen info = {"Has anyone seen Za'med? I sent him to get something out of the tool shed and he hasn't come back.

      -Meesei"} -/obj/item/weapon/paper/zoo/pirate/warning +/obj/item/paper/zoo/pirate/warning info = {"Attention crew,

      Since apparently you fucking idiots didn't notice, that bulltaur who delivered the bears was Jarome Rognvaldr. I'm sorry, maybe you scabs forgot? Does the name Jarome the Bottomless ring any fucking bells? If he's seen again without a laser bolt hole through his fucking skull, I'm shoving anyone on guard duty up Zed's arse. Are we - clear?

      -Lady Nebula"} \ No newline at end of file + clear?

      -Lady Nebula"} diff --git a/maps/gateway_archive_vr/zoo.dmm b/maps/gateway_archive_vr/zoo.dmm index 14299b2878c..ddf268d1a09 100644 --- a/maps/gateway_archive_vr/zoo.dmm +++ b/maps/gateway_archive_vr/zoo.dmm @@ -3,10 +3,10 @@ "ac" = (/obj/effect/blocker,/turf/space,/area/space) "ad" = (/turf/simulated/shuttle/wall,/area/awaymission/zoo/pirateship) "ae" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) -"af" = (/obj/machinery/porta_turret{dir = 8; emagged = 1; installation = /obj/item/weapon/gun/energy/lasercannon},/turf/simulated/floor/reinforced,/area/awaymission/zoo/pirateship) +"af" = (/obj/machinery/porta_turret{dir = 8; emagged = 1; installation = /obj/item/gun/energy/lasercannon},/turf/simulated/floor/reinforced,/area/awaymission/zoo/pirateship) "ag" = (/turf/simulated/floor/reinforced,/area/awaymission/zoo/pirateship) "ah" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) -"ai" = (/obj/structure/table/marble,/obj/structure/safe/floor,/obj/item/weapon/spacecash/c1000,/obj/item/weapon/spacecash/c1000,/obj/item/weapon/spacecash/c1000,/obj/item/weapon/spacecash/c1000,/obj/item/weapon/spacecash/c1000,/obj/item/weapon/spacecash/c1000,/obj/item/weapon/spacecash/c1000,/obj/item/weapon/spacecash/c1000,/obj/item/weapon/spacecash/c1000,/obj/item/weapon/spacecash/c1000,/obj/item/weapon/card/emag,/obj/item/weapon/beartrap,/obj/item/weapon/grenade/spawnergrenade/spesscarp,/obj/item/weapon/grenade/spawnergrenade/spesscarp,/obj/item/weapon/grenade/spawnergrenade/spesscarp,/obj/item/clothing/glasses/thermal/plain/monocle,/obj/item/stolenpackage,/obj/item/stolenpackage,/obj/item/stolenpackage,/obj/item/stolenpackage,/obj/item/stolenpackage,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/melee/energy/sword/pirate,/turf/space,/area/awaymission/zoo) +"ai" = (/obj/structure/table/marble,/obj/structure/safe/floor,/obj/item/spacecash/c1000,/obj/item/spacecash/c1000,/obj/item/spacecash/c1000,/obj/item/spacecash/c1000,/obj/item/spacecash/c1000,/obj/item/spacecash/c1000,/obj/item/spacecash/c1000,/obj/item/spacecash/c1000,/obj/item/spacecash/c1000,/obj/item/spacecash/c1000,/obj/item/card/emag,/obj/item/beartrap,/obj/item/grenade/spawnergrenade/spesscarp,/obj/item/grenade/spawnergrenade/spesscarp,/obj/item/grenade/spawnergrenade/spesscarp,/obj/item/clothing/glasses/thermal/plain/monocle,/obj/item/stolenpackage,/obj/item/stolenpackage,/obj/item/stolenpackage,/obj/item/stolenpackage,/obj/item/stolenpackage,/obj/item/plastique,/obj/item/plastique,/obj/item/melee/energy/sword/pirate,/turf/space,/area/awaymission/zoo) "aj" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) "ak" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) "al" = (/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) @@ -14,32 +14,32 @@ "an" = (/obj/machinery/light/small,/turf/simulated/floor/reinforced,/area/awaymission/zoo/pirateship) "ao" = (/obj/machinery/door/airlock/silver{icon_state = "door_locked"; locked = 1},/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) "ap" = (/obj/structure/bed/roller,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) -"aq" = (/obj/item/weapon/handcuffs,/obj/item/weapon/handcuffs,/obj/structure/closet/crate,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) -"ar" = (/obj/item/weapon/surgical/scalpel,/obj/structure/closet/crate,/obj/item/weapon/tank/anesthetic,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) +"aq" = (/obj/item/handcuffs,/obj/item/handcuffs,/obj/structure/closet/crate,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) +"ar" = (/obj/item/surgical/scalpel,/obj/structure/closet/crate,/obj/item/tank/anesthetic,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) "as" = (/obj/item/bodybag,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) -"at" = (/obj/item/weapon/storage/box/syringes,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) +"at" = (/obj/item/storage/box/syringes,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) "au" = (/obj/machinery/optable,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) "av" = (/obj/machinery/computer/operating,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) "aw" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) -"ax" = (/obj/structure/closet/crate/freezer,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) -"ay" = (/obj/structure/closet/crate/freezer,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) -"az" = (/obj/structure/table/reinforced,/obj/item/weapon/packageWrap,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) -"aA" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box,/obj/machinery/light/small{dir = 1},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) +"ax" = (/obj/structure/closet/crate/freezer,/obj/item/reagent_containers/food/snacks/meat,/obj/item/reagent_containers/food/snacks/meat,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) +"ay" = (/obj/structure/closet/crate/freezer,/obj/item/reagent_containers/food/snacks/meat,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) +"az" = (/obj/structure/table/reinforced,/obj/item/packageWrap,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) +"aA" = (/obj/structure/table/reinforced,/obj/item/storage/box,/obj/machinery/light/small{dir = 1},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) "aB" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) "aC" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) -"aD" = (/obj/item/weapon/storage/box,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) +"aD" = (/obj/item/storage/box,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) "aE" = (/obj/machinery/gateway{dir = 9},/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) "aF" = (/obj/machinery/gateway{dir = 1},/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) "aG" = (/obj/machinery/gateway{dir = 5},/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) -"aH" = (/obj/item/weapon/hand_labeler,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) +"aH" = (/obj/item/hand_labeler,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) "aI" = (/obj/structure/largecrate,/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) -"aJ" = (/obj/structure/table/woodentable,/obj/item/weapon/spacecash/c500,/obj/item/weapon/spacecash/c100,/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer,/turf/simulated/floor/wood,/area/awaymission/zoo/pirateship) -"aK" = (/obj/structure/bed,/obj/item/weapon/bedsheet/yellow,/turf/simulated/floor/wood,/area/awaymission/zoo/pirateship) -"aL" = (/obj/structure/table/rack,/obj/item/weapon/tank/oxygen/yellow,/obj/item/clothing/suit/space/emergency,/obj/item/clothing/head/helmet/space/emergency,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) +"aJ" = (/obj/structure/table/woodentable,/obj/item/spacecash/c500,/obj/item/spacecash/c100,/obj/item/reagent_containers/food/drinks/bottle/small/beer,/turf/simulated/floor/wood,/area/awaymission/zoo/pirateship) +"aK" = (/obj/structure/bed,/obj/item/bedsheet/yellow,/turf/simulated/floor/wood,/area/awaymission/zoo/pirateship) +"aL" = (/obj/structure/table/rack,/obj/item/tank/oxygen/yellow,/obj/item/clothing/suit/space/emergency,/obj/item/clothing/head/helmet/space/emergency,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) "aM" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) "aN" = (/obj/structure/sign/vacuum,/turf/simulated/shuttle/wall,/area/awaymission/zoo/pirateship) "aO" = (/obj/item/clothing/glasses/regular/hipster,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) -"aP" = (/obj/structure/closet/crate/freezer,/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer,/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) +"aP" = (/obj/structure/closet/crate/freezer,/obj/item/reagent_containers/food/drinks/bottle/small/beer,/obj/item/reagent_containers/food/drinks/bottle/small/beer,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) "aQ" = (/obj/machinery/gateway{dir = 8},/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) "aR" = (/obj/machinery/gateway/centeraway{calibrated = 0},/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) "aS" = (/obj/machinery/gateway{dir = 4},/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) @@ -66,19 +66,19 @@ "bn" = (/turf/simulated/shuttle/wall/dark/hard_corner,/area/awaymission/zoo/tradeship) "bo" = (/obj/machinery/door/airlock/external{icon_state = "door_locked"; locked = 1},/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) "bp" = (/turf/simulated/floor/carpet,/area/awaymission/zoo/pirateship) -"bq" = (/obj/structure/table/reinforced,/obj/item/weapon/tool/screwdriver,/obj/item/weapon/tool/screwdriver,/obj/item/weapon/paper{info = "The next person who takes one of my screwdrivers gets stabbed with one. They are MINE. - Love, Madsen"; name = "scribbled note"},/obj/item/weapon/tool/screwdriver,/obj/effect/floor_decal/corner/red/diagonal,/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) +"bq" = (/obj/structure/table/reinforced,/obj/item/tool/screwdriver,/obj/item/tool/screwdriver,/obj/item/paper{info = "The next person who takes one of my screwdrivers gets stabbed with one. They are MINE. - Love, Madsen"; name = "scribbled note"},/obj/item/tool/screwdriver,/obj/effect/floor_decal/corner/red/diagonal,/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) "br" = (/obj/effect/floor_decal/corner/red/diagonal,/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) "bs" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/effect/floor_decal/corner/green{dir = 9},/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) "bt" = (/obj/structure/sink{dir = 2},/obj/effect/floor_decal/corner/beige{dir = 5},/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) "bu" = (/obj/machinery/vending/hydroseeds{slogan_delay = 700},/obj/effect/floor_decal/corner/beige{dir = 5},/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) "bv" = (/obj/machinery/vending/hydronutrients,/obj/effect/floor_decal/corner/beige{dir = 5},/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) "bw" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/effect/floor_decal/corner/green{dir = 6},/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) -"bx" = (/obj/structure/table/reinforced,/obj/item/weapon/material/knife/butch,/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer,/obj/item/weapon/reagent_containers/food/snacks/xenomeat,/obj/item/weapon/reagent_containers/food/snacks/xenomeat,/obj/item/weapon/reagent_containers/food/snacks/xenomeat,/obj/item/weapon/reagent_containers/food/snacks/xenomeat,/obj/item/weapon/reagent_containers/food/snacks/xenomeat,/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled/white,/area/awaymission/zoo/pirateship) -"by" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/donkpockets,/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled/white,/area/awaymission/zoo/pirateship) +"bx" = (/obj/structure/table/reinforced,/obj/item/material/knife/butch,/obj/item/reagent_containers/food/drinks/bottle/small/beer,/obj/item/reagent_containers/food/snacks/xenomeat,/obj/item/reagent_containers/food/snacks/xenomeat,/obj/item/reagent_containers/food/snacks/xenomeat,/obj/item/reagent_containers/food/snacks/xenomeat,/obj/item/reagent_containers/food/snacks/xenomeat,/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled/white,/area/awaymission/zoo/pirateship) +"by" = (/obj/structure/table/reinforced,/obj/item/storage/box/donkpockets,/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled/white,/area/awaymission/zoo/pirateship) "bz" = (/obj/structure/table/reinforced,/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled/white,/area/awaymission/zoo/pirateship) "bA" = (/obj/structure/window/reinforced{dir = 4},/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled/white,/area/awaymission/zoo/pirateship) -"bB" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer,/obj/effect/floor_decal/corner/red/diagonal,/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) -"bC" = (/obj/structure/table/reinforced,/obj/item/weapon/material/kitchen/utensil/knife,/obj/effect/floor_decal/corner/red/diagonal,/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) +"bB" = (/obj/structure/table/reinforced,/obj/item/reagent_containers/food/drinks/bottle/small/beer,/obj/effect/floor_decal/corner/red/diagonal,/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) +"bC" = (/obj/structure/table/reinforced,/obj/item/material/kitchen/utensil/knife,/obj/effect/floor_decal/corner/red/diagonal,/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) "bD" = (/obj/structure/table/reinforced,/obj/machinery/light/small{dir = 1},/obj/effect/floor_decal/corner/red/diagonal,/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) "bE" = (/obj/structure/table/reinforced,/obj/effect/decal/cleanable/cobweb2,/obj/effect/floor_decal/corner/red/diagonal,/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) "bF" = (/obj/machinery/door/blast/shutters{id = "packerCargo"},/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) @@ -89,11 +89,11 @@ "bK" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) "bL" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/turf/simulated/floor/airless,/area/awaymission/zoo/tradeship) "bM" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"; dir = 4},/turf/space,/area/awaymission/zoo/tradeship) -"bN" = (/obj/item/weapon/reagent_containers/food/snacks/hugemushroomslice,/obj/effect/floor_decal/corner/red/diagonal,/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) +"bN" = (/obj/item/reagent_containers/food/snacks/hugemushroomslice,/obj/effect/floor_decal/corner/red/diagonal,/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) "bO" = (/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) -"bP" = (/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer,/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) +"bP" = (/obj/item/reagent_containers/food/drinks/bottle/small/beer,/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) "bQ" = (/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled/white,/area/awaymission/zoo/pirateship) -"bR" = (/obj/item/weapon/stool,/obj/effect/floor_decal/corner/red/diagonal,/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) +"bR" = (/obj/item/stool,/obj/effect/floor_decal/corner/red/diagonal,/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) "bS" = (/obj/structure/kitchenspike,/turf/simulated/floor/tiled/freezer,/area/awaymission/zoo/pirateship) "bT" = (/turf/simulated/floor/tiled/freezer,/area/awaymission/zoo/pirateship) "bU" = (/obj/machinery/door/airlock/silver,/turf/simulated/floor/tiled/white,/area/awaymission/zoo/pirateship) @@ -102,7 +102,7 @@ "bX" = (/obj/machinery/gibber,/turf/simulated/floor/tiled/white,/area/awaymission/zoo/pirateship) "bY" = (/obj/machinery/button/remote/airlock{id = "packerCargo"; pixel_y = 24},/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) "bZ" = (/obj/structure/closet/cabinet,/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) -"ca" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/rd,/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) +"ca" = (/obj/structure/bed/padded,/obj/item/bedsheet/rd,/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) "cb" = (/obj/structure/table/standard,/obj/machinery/chemical_dispenser/bar_alc/full,/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) "cc" = (/obj/structure/table/standard,/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) "cd" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/carpet,/area/awaymission/zoo/tradeship) @@ -111,49 +111,49 @@ "cg" = (/obj/machinery/sleep_console{dir = 8},/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) "ch" = (/obj/machinery/sleeper{dir = 4},/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) "ci" = (/obj/structure/shuttle/engine/propulsion{dir = 4},/turf/space,/area/awaymission/zoo/tradeship) -"cj" = (/obj/item/weapon/reagent_containers/food/snacks/hugemushroomslice,/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) +"cj" = (/obj/item/reagent_containers/food/snacks/hugemushroomslice,/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) "ck" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) "cl" = (/obj/structure/window/reinforced,/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled/white,/area/awaymission/zoo/pirateship) "cm" = (/obj/machinery/door/window{dir = 2},/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled/white,/area/awaymission/zoo/pirateship) "cn" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled/white,/area/awaymission/zoo/pirateship) -"co" = (/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer,/obj/effect/floor_decal/corner/red/diagonal,/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) +"co" = (/obj/item/reagent_containers/food/drinks/bottle/small/beer,/obj/effect/floor_decal/corner/red/diagonal,/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) "cp" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/freezer,/area/awaymission/zoo/pirateship) -"cq" = (/obj/structure/closet/secure_closet/freezer/meat{opened = 1},/obj/item/weapon/reagent_containers/food/snacks/xenomeat,/obj/item/weapon/reagent_containers/food/snacks/xenomeat,/obj/item/weapon/reagent_containers/food/snacks/xenomeat,/obj/item/weapon/reagent_containers/food/snacks/xenomeat,/obj/item/weapon/reagent_containers/food/snacks/xenomeat,/turf/simulated/floor/tiled/white,/area/awaymission/zoo/pirateship) -"cr" = (/obj/structure/closet/crate/freezer,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/xenomeat,/turf/simulated/floor/tiled/white,/area/awaymission/zoo/pirateship) +"cq" = (/obj/structure/closet/secure_closet/freezer/meat{opened = 1},/obj/item/reagent_containers/food/snacks/xenomeat,/obj/item/reagent_containers/food/snacks/xenomeat,/obj/item/reagent_containers/food/snacks/xenomeat,/obj/item/reagent_containers/food/snacks/xenomeat,/obj/item/reagent_containers/food/snacks/xenomeat,/turf/simulated/floor/tiled/white,/area/awaymission/zoo/pirateship) +"cr" = (/obj/structure/closet/crate/freezer,/obj/item/reagent_containers/food/snacks/meat,/obj/item/reagent_containers/food/snacks/meat,/obj/item/reagent_containers/food/snacks/xenomeat,/turf/simulated/floor/tiled/white,/area/awaymission/zoo/pirateship) "cs" = (/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor/tiled/white,/area/awaymission/zoo/pirateship) -"ct" = (/obj/item/weapon/tool/crowbar,/turf/simulated/floor/tiled/white,/area/awaymission/zoo/pirateship) +"ct" = (/obj/item/tool/crowbar,/turf/simulated/floor/tiled/white,/area/awaymission/zoo/pirateship) "cu" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) "cv" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) "cw" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating,/area/awaymission/zoo/tradeship) "cx" = (/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) "cy" = (/obj/machinery/door/airlock/silver,/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) "cz" = (/turf/simulated/floor/carpet,/area/awaymission/zoo/tradeship) -"cA" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets,/turf/simulated/floor/carpet,/area/awaymission/zoo/tradeship) +"cA" = (/obj/structure/table/standard,/obj/item/storage/box/donkpockets,/turf/simulated/floor/carpet,/area/awaymission/zoo/tradeship) "cB" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/carpet,/area/awaymission/zoo/tradeship) "cC" = (/obj/machinery/atm{pixel_x = -32},/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) "cD" = (/obj/machinery/suit_cycler/syndicate,/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) "cE" = (/obj/machinery/bodyscanner{dir = 8},/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) "cF" = (/obj/machinery/body_scanconsole,/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) -"cG" = (/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/weapon/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/obj/item/weapon/storage/box/masks{pixel_x = 0; pixel_y = 0},/obj/item/weapon/storage/box/gloves{pixel_x = 3; pixel_y = 4},/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/fire{layer = 2.9; pixel_x = 2; pixel_y = 3},/obj/item/weapon/storage/firstaid/adv{pixel_x = -2},/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/structure/closet/medical_wall{pixel_y = 32},/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) +"cG" = (/obj/item/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/obj/item/storage/box/masks{pixel_x = 0; pixel_y = 0},/obj/item/storage/box/gloves{pixel_x = 3; pixel_y = 4},/obj/item/storage/firstaid/toxin,/obj/item/storage/firstaid/fire{layer = 2.9; pixel_x = 2; pixel_y = 3},/obj/item/storage/firstaid/adv{pixel_x = -2},/obj/item/reagent_containers/blood/empty,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/structure/closet/medical_wall{pixel_y = 32},/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) "cH" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) -"cI" = (/obj/structure/table/reinforced,/obj/item/weapon/paper/zoo/pirate/volk,/turf/simulated/floor/carpet,/area/awaymission/zoo/pirateship) -"cJ" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer,/turf/simulated/floor/carpet,/area/awaymission/zoo/pirateship) +"cI" = (/obj/structure/table/reinforced,/obj/item/paper/zoo/pirate/volk,/turf/simulated/floor/carpet,/area/awaymission/zoo/pirateship) +"cJ" = (/obj/structure/table/reinforced,/obj/item/reagent_containers/food/drinks/bottle/small/beer,/turf/simulated/floor/carpet,/area/awaymission/zoo/pirateship) "cK" = (/mob/living/simple_mob/humanoid/pirate,/turf/simulated/floor/carpet,/area/awaymission/zoo/pirateship) "cL" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/effect/floor_decal/corner/green/full,/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) "cM" = (/obj/effect/floor_decal/corner/green{dir = 10},/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) "cN" = (/obj/machinery/seed_extractor,/obj/item/seeds/angelmycelium,/obj/effect/floor_decal/corner/green{dir = 10},/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) "cO" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/effect/floor_decal/corner/green/full{dir = 4},/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) -"cP" = (/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor/tiled/freezer,/area/awaymission/zoo/pirateship) +"cP" = (/obj/item/reagent_containers/food/snacks/meat,/turf/simulated/floor/tiled/freezer,/area/awaymission/zoo/pirateship) "cQ" = (/obj/machinery/light/small{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) -"cR" = (/obj/item/device/multitool,/turf/simulated/floor/reinforced,/area/awaymission/zoo/pirateship) +"cR" = (/obj/item/multitool,/turf/simulated/floor/reinforced,/area/awaymission/zoo/pirateship) "cS" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless,/area/awaymission/zoo/pirateship) "cT" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 4},/turf/space,/area/awaymission/zoo/pirateship) "cU" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating,/area/awaymission/zoo/tradeship) "cV" = (/obj/structure/closet/wardrobe/pjs,/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) -"cW" = (/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/weapon/pen{pixel_y = 4},/obj/machinery/light,/obj/structure/table/glass,/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) -"cX" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/hos,/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) +"cW" = (/obj/item/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/pen{pixel_y = 4},/obj/machinery/light,/obj/structure/table/glass,/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) +"cX" = (/obj/structure/bed/padded,/obj/item/bedsheet/hos,/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) "cY" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/carpet,/area/awaymission/zoo/tradeship) -"cZ" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/glasses/square,/turf/simulated/floor/carpet,/area/awaymission/zoo/tradeship) +"cZ" = (/obj/structure/table/standard,/obj/item/storage/box/glasses/square,/turf/simulated/floor/carpet,/area/awaymission/zoo/tradeship) "da" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/computer/security/telescreen/entertainment{pixel_x = 32},/turf/simulated/floor/carpet,/area/awaymission/zoo/tradeship) "db" = (/obj/structure/table/steel_reinforced,/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) "dc" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating,/area/awaymission/zoo/tradeship) @@ -162,7 +162,7 @@ "df" = (/obj/machinery/optable,/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) "dg" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 4},/turf/space,/area/awaymission/zoo/tradeship) "dh" = (/obj/structure/table/reinforced,/obj/machinery/recharger,/turf/simulated/floor/carpet,/area/awaymission/zoo/pirateship) -"di" = (/obj/item/weapon/stool,/turf/simulated/floor/carpet,/area/awaymission/zoo/pirateship) +"di" = (/obj/item/stool,/turf/simulated/floor/carpet,/area/awaymission/zoo/pirateship) "dj" = (/obj/machinery/light/small{dir = 8},/obj/effect/floor_decal/corner/red/diagonal,/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) "dk" = (/obj/machinery/light/small{dir = 4},/obj/effect/floor_decal/corner/red/diagonal,/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) "dl" = (/turf/simulated/wall/r_wall,/area/awaymission/zoo/pirateship) @@ -187,8 +187,8 @@ "dE" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/effect/floor_decal/corner/red/diagonal,/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) "dF" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) "dG" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) -"dH" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/item/weapon/reagent_containers/food/snacks/xenomeat,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) -"dI" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/lights,/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) +"dH" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/item/reagent_containers/food/snacks/xenomeat,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) +"dI" = (/obj/structure/table/rack,/obj/item/storage/box/lights,/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) "dJ" = (/mob/living/simple_mob/humanoid/pirate,/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) "dK" = (/obj/machinery/power/fractal_reactor/fluff/converter{mapped_in = 1; power_generation_rate = 10000},/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) "dL" = (/obj/machinery/power/terminal{dir = 8},/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) @@ -198,32 +198,32 @@ "dP" = (/obj/machinery/door/window/southleft,/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) "dQ" = (/obj/machinery/door/window/southright,/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) "dR" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating,/area/awaymission/zoo/tradeship) -"dS" = (/obj/structure/table/standard,/obj/item/clothing/gloves/sterile,/obj/item/clothing/mask/surgical,/obj/item/weapon/surgical/retractor{pixel_x = 0; pixel_y = 6},/obj/item/weapon/surgical/scalpel,/obj/item/weapon/surgical/surgicaldrill,/obj/item/weapon/surgical/circular_saw,/obj/item/stack/nanopaste,/obj/item/weapon/surgical/hemostat{pixel_y = 4},/obj/item/weapon/surgical/cautery{pixel_y = 4},/obj/item/weapon/surgical/FixOVein{pixel_x = -6; pixel_y = 1},/obj/item/stack/medical/advanced/bruise_pack,/obj/item/weapon/surgical/bonesetter,/obj/item/weapon/surgical/bonegel{pixel_x = 4; pixel_y = 3},/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) +"dS" = (/obj/structure/table/standard,/obj/item/clothing/gloves/sterile,/obj/item/clothing/mask/surgical,/obj/item/surgical/retractor{pixel_x = 0; pixel_y = 6},/obj/item/surgical/scalpel,/obj/item/surgical/surgicaldrill,/obj/item/surgical/circular_saw,/obj/item/stack/nanopaste,/obj/item/surgical/hemostat{pixel_y = 4},/obj/item/surgical/cautery{pixel_y = 4},/obj/item/surgical/FixOVein{pixel_x = -6; pixel_y = 1},/obj/item/stack/medical/advanced/bruise_pack,/obj/item/surgical/bonesetter,/obj/item/surgical/bonegel{pixel_x = 4; pixel_y = 3},/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) "dT" = (/obj/machinery/iv_drip,/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) "dU" = (/obj/structure/table/reinforced,/turf/simulated/floor/carpet,/area/awaymission/zoo/pirateship) "dV" = (/obj/structure/bed/chair/office/dark{dir = 8},/turf/simulated/floor/carpet,/area/awaymission/zoo/pirateship) "dW" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) "dX" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/blood/xeno,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) -"dY" = (/obj/effect/decal/cleanable/dirt,/obj/item/weapon/reagent_containers/food/snacks/xenomeat,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) +"dY" = (/obj/effect/decal/cleanable/dirt,/obj/item/reagent_containers/food/snacks/xenomeat,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) "dZ" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) -"ea" = (/obj/item/weapon/reagent_containers/glass/bucket,/obj/effect/floor_decal/corner/red/diagonal,/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) +"ea" = (/obj/item/reagent_containers/glass/bucket,/obj/effect/floor_decal/corner/red/diagonal,/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) "eb" = (/obj/machinery/conveyor_switch/oneway{id = "meatConvey1"},/obj/effect/floor_decal/corner/red/diagonal,/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) "ec" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/effect/floor_decal/corner/red/diagonal,/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) "ed" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light/small{dir = 1},/obj/effect/floor_decal/corner/red/diagonal,/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) "ee" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/freezer,/area/awaymission/zoo/pirateship) "ef" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/disposaloutlet{dir = 4},/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) "eg" = (/obj/effect/decal/cleanable/blood/xeno,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) -"eh" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/utility/full,/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) +"eh" = (/obj/structure/table/rack,/obj/item/storage/belt/utility/full,/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) "ei" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/awaymission/zoo/tradeship) "ej" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/awaymission/zoo/tradeship) "ek" = (/obj/machinery/vending/coffee,/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) "el" = (/obj/machinery/light{dir = 1},/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) "em" = (/obj/structure/closet/crate/secure/weapon,/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) "en" = (/obj/machinery/light/small{dir = 1},/obj/effect/floor_decal/corner/red/diagonal,/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) -"eo" = (/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/reagent_containers/food/snacks/xenomeat,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) +"eo" = (/obj/structure/window/reinforced{dir = 8},/obj/item/reagent_containers/food/snacks/xenomeat,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) "ep" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"},/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) -"eq" = (/obj/structure/table/rack,/obj/item/weapon/cell/high,/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) -"er" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/weapon/pen{pixel_y = 4},/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) +"eq" = (/obj/structure/table/rack,/obj/item/cell/high,/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) +"er" = (/obj/structure/table/steel_reinforced,/obj/item/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/pen{pixel_y = 4},/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) "es" = (/obj/structure/table/steel_reinforced,/obj/machinery/newscaster{pixel_x = 32},/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) "et" = (/obj/structure/toilet,/obj/machinery/light/small{dir = 1},/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) "eu" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/machinery/light/small,/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) @@ -234,9 +234,9 @@ "ez" = (/obj/effect/floor_decal/corner/red/diagonal,/mob/living/simple_mob/humanoid/pirate,/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) "eA" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) "eB" = (/mob/living/simple_mob/animal/space/alien{faction = "pirate"},/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) -"eC" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"},/obj/item/weapon/reagent_containers/food/snacks/xenomeat,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) +"eC" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"},/obj/item/reagent_containers/food/snacks/xenomeat,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) "eD" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) -"eE" = (/obj/item/weapon/reagent_containers/food/snacks/xenomeat,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) +"eE" = (/obj/item/reagent_containers/food/snacks/xenomeat,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) "eF" = (/obj/structure/table/rack,/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) "eG" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/awaymission/zoo/tradeship) "eH" = (/obj/machinery/computer,/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) @@ -244,14 +244,14 @@ "eJ" = (/obj/machinery/door/airlock/silver{name = "Toilet"},/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) "eK" = (/obj/machinery/door/airlock/silver{name = "Restroom"},/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) "eL" = (/obj/structure/undies_wardrobe,/turf/simulated/shuttle/floor{icon_state = "floor7"},/area/awaymission/zoo/tradeship) -"eM" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; prices = list(); products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2)},/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) +"eM" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; prices = list(); products = list(/obj/item/storage/fancy/cigarettes = 10, /obj/item/storage/box/matches = 10, /obj/item/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2)},/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) "eN" = (/obj/machinery/door/window/westright{name = "Storefront"; req_access = list(160)},/obj/structure/table/marble,/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) "eO" = (/obj/structure/bed/chair/office/dark{dir = 8},/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) -"eP" = (/obj/item/weapon/tool/wrench,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) +"eP" = (/obj/item/tool/wrench,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) "eQ" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/effect/floor_decal/corner/red/diagonal,/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) "eR" = (/obj/structure/mopbucket,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) -"eS" = (/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/material/kitchen/utensil/knife,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) -"eT" = (/obj/item/weapon/cell/high,/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) +"eS" = (/obj/structure/window/reinforced{dir = 4},/obj/item/material/kitchen/utensil/knife,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) +"eT" = (/obj/item/cell/high,/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) "eU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating,/area/awaymission/zoo/tradeship) "eV" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) "eW" = (/obj/machinery/door/airlock/command,/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) @@ -260,7 +260,7 @@ "eZ" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) "fa" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) "fb" = (/obj/machinery/door/window/westleft{name = "Storefront"; req_access = list(160)},/obj/structure/window/reinforced,/obj/structure/table/marble,/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) -"fc" = (/obj/machinery/conveyor{dir = 4; id = "meatConvey2"},/obj/item/weapon/material/kitchen/utensil/knife,/turf/simulated/shuttle/plating,/area/awaymission/zoo/pirateship) +"fc" = (/obj/machinery/conveyor{dir = 4; id = "meatConvey2"},/obj/item/material/kitchen/utensil/knife,/turf/simulated/shuttle/plating,/area/awaymission/zoo/pirateship) "fd" = (/obj/machinery/conveyor{dir = 4; id = "meatConvey2"},/obj/structure/plasticflaps,/turf/simulated/shuttle/plating,/area/awaymission/zoo/pirateship) "fe" = (/obj/machinery/conveyor{dir = 4; id = "meatConvey2"},/turf/simulated/shuttle/plating,/area/awaymission/zoo/pirateship) "ff" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/effect/floor_decal/corner/red/diagonal,/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) @@ -270,22 +270,22 @@ "fj" = (/obj/item/stack/cable_coil/random,/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) "fk" = (/obj/machinery/computer/arcade/battle,/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) "fl" = (/obj/structure/table/steel_reinforced,/obj/structure/flora/pottedplant{icon_state = "plant-09"; name = "Esteban"; pixel_y = 8;},/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) -"fm" = (/obj/machinery/vending/assist{contraband = null; name = "Old Vending Machine"; products = list(/obj/item/device/assembly/prox_sensor = 5, /obj/item/device/assembly/signaler = 4, /obj/item/device/assembly/infra = 4, /obj/item/device/assembly/prox_sensor = 4, /obj/item/weapon/handcuffs = 8, /obj/item/device/flash = 4, /obj/item/weapon/cartridge/signal = 4, /obj/item/clothing/glasses/sunglasses = 4)},/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) -"fn" = (/obj/structure/closet{name = "custodial"},/obj/item/weapon/reagent_containers/spray/cleaner,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/mop,/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) +"fm" = (/obj/machinery/vending/assist{contraband = null; name = "Old Vending Machine"; products = list(/obj/item/assembly/prox_sensor = 5, /obj/item/assembly/signaler = 4, /obj/item/assembly/infra = 4, /obj/item/assembly/prox_sensor = 4, /obj/item/handcuffs = 8, /obj/item/flash = 4, /obj/item/cartridge/signal = 4, /obj/item/clothing/glasses/sunglasses = 4)},/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) +"fn" = (/obj/structure/closet{name = "custodial"},/obj/item/reagent_containers/spray/cleaner,/obj/item/reagent_containers/glass/bucket,/obj/item/mop,/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) "fo" = (/obj/machinery/vending/sovietsoda,/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) -"fp" = (/obj/machinery/light,/obj/structure/table/standard,/obj/item/weapon/soap,/obj/item/weapon/towel{color = "#0000FF"},/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) +"fp" = (/obj/machinery/light,/obj/structure/table/standard,/obj/item/soap,/obj/item/towel{color = "#0000FF"},/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) "fq" = (/obj/machinery/door/airlock/multi_tile/glass{dir = 2},/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) "fr" = (/obj/machinery/door/window/westright,/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) "fs" = (/obj/machinery/button/remote/blast_door{id = "trade"; name = "Shop Shutters"; pixel_x = 0; pixel_y = -26},/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) -"ft" = (/obj/item/weapon/material/kitchen/utensil/knife,/obj/effect/floor_decal/corner/red/diagonal,/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) +"ft" = (/obj/item/material/kitchen/utensil/knife,/obj/effect/floor_decal/corner/red/diagonal,/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) "fu" = (/obj/machinery/conveyor_switch/oneway{id = "meatConvey2"},/obj/effect/floor_decal/corner/red/diagonal,/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) -"fv" = (/obj/item/weapon/mop,/turf/simulated/floor/tiled/freezer,/area/awaymission/zoo/pirateship) +"fv" = (/obj/item/mop,/turf/simulated/floor/tiled/freezer,/area/awaymission/zoo/pirateship) "fw" = (/obj/structure/reagent_dispensers/fueltank,/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/awaymission/zoo/pirateship) "fx" = (/obj/machinery/vending/boozeomat{req_access = null},/turf/simulated/shuttle/floor{icon_state = "floor7"},/area/awaymission/zoo/tradeship) -"fy" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) -"fz" = (/obj/item/weapon/stool,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) -"fA" = (/obj/structure/closet/crate/freezer,/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor/tiled/freezer,/area/awaymission/zoo/pirateship) -"fB" = (/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor/tiled/freezer,/area/awaymission/zoo/pirateship) +"fy" = (/obj/structure/table/standard,/obj/item/storage/toolbox/mechanical,/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) +"fz" = (/obj/item/stool,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) +"fA" = (/obj/structure/closet/crate/freezer,/obj/item/reagent_containers/food/snacks/meat,/turf/simulated/floor/tiled/freezer,/area/awaymission/zoo/pirateship) +"fB" = (/obj/item/reagent_containers/glass/bucket,/turf/simulated/floor/tiled/freezer,/area/awaymission/zoo/pirateship) "fC" = (/obj/structure/reagent_dispensers,/turf/simulated/floor/tiled/freezer,/area/awaymission/zoo/pirateship) "fD" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table/steel_reinforced,/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) "fE" = (/obj/machinery/door/window/northleft,/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) @@ -300,9 +300,9 @@ "fN" = (/obj/structure/largecrate/animal/cat,/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) "fO" = (/obj/machinery/door/airlock/glass_engineering{name = "Engineering"; req_access = list(160)},/turf/simulated/shuttle/floor{icon_state = "floor7"},/area/awaymission/zoo/tradeship) "fP" = (/turf/simulated/floor/tiled/steel,/area/awaymission/zoo/pirateship) -"fQ" = (/obj/item/weapon/stool,/turf/simulated/floor/tiled/steel,/area/awaymission/zoo/pirateship) -"fR" = (/obj/structure/table/reinforced,/obj/item/weapon/paper{info = "DEAR DAIRY: So we was doing our typpical route when the captain says we've been picking up weird signals on some backwatter planet. Madsen wanted to stay on course but he ain't the captain, so we went out of the way to check it out. There was lots of rocks on the way, but we got to the planet fine. Found a big fancy camp with nobody around and this big metal donut thing with NT stamps all over it right in the middle. Case of beer too. Captain reckons we can pass it off to some buyer in the Syndicate. Ingram says it's bad luck and that someone is going to come look for it but it sounds like better money than selling bad meat to jerky companies."; name = "Old Diary"},/turf/simulated/floor/tiled/steel,/area/awaymission/zoo/pirateship) -"fS" = (/obj/structure/table/reinforced,/obj/item/weapon/pen/red,/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer,/turf/simulated/floor/tiled/steel,/area/awaymission/zoo/pirateship) +"fQ" = (/obj/item/stool,/turf/simulated/floor/tiled/steel,/area/awaymission/zoo/pirateship) +"fR" = (/obj/structure/table/reinforced,/obj/item/paper{info = "DEAR DAIRY: So we was doing our typpical route when the captain says we've been picking up weird signals on some backwatter planet. Madsen wanted to stay on course but he ain't the captain, so we went out of the way to check it out. There was lots of rocks on the way, but we got to the planet fine. Found a big fancy camp with nobody around and this big metal donut thing with NT stamps all over it right in the middle. Case of beer too. Captain reckons we can pass it off to some buyer in the Syndicate. Ingram says it's bad luck and that someone is going to come look for it but it sounds like better money than selling bad meat to jerky companies."; name = "Old Diary"},/turf/simulated/floor/tiled/steel,/area/awaymission/zoo/pirateship) +"fS" = (/obj/structure/table/reinforced,/obj/item/pen/red,/obj/item/reagent_containers/food/drinks/bottle/small/beer,/turf/simulated/floor/tiled/steel,/area/awaymission/zoo/pirateship) "fT" = (/obj/structure/closet,/obj/item/clothing/under/overalls,/turf/simulated/floor/tiled/steel,/area/awaymission/zoo/pirateship) "fU" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/awaymission/zoo/tradeship) "fV" = (/obj/structure/closet/wardrobe/captain,/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) @@ -317,21 +317,21 @@ "ge" = (/obj/item/stack/cable_coil/random{amount = 5},/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) "gf" = (/obj/machinery/computer/arcade,/turf/simulated/floor/tiled/steel,/area/awaymission/zoo/pirateship) "gg" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/awaymission/zoo/tradeship) -"gh" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/weapon/pen{pixel_y = 4},/turf/simulated/floor/carpet,/area/awaymission/zoo/tradeship) +"gh" = (/obj/structure/table/woodentable,/obj/item/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/pen{pixel_y = 4},/turf/simulated/floor/carpet,/area/awaymission/zoo/tradeship) "gi" = (/obj/structure/table/woodentable,/turf/simulated/floor/carpet,/area/awaymission/zoo/tradeship) -"gj" = (/obj/structure/table/woodentable,/obj/item/device/laptop,/turf/simulated/floor/carpet,/area/awaymission/zoo/tradeship) +"gj" = (/obj/structure/table/woodentable,/obj/item/laptop,/turf/simulated/floor/carpet,/area/awaymission/zoo/tradeship) "gk" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/awaymission/zoo/tradeship) "gl" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/awaymission/zoo/tradeship) "gm" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/awaymission/zoo/tradeship) "gn" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) "go" = (/obj/structure/bed,/turf/simulated/floor/tiled/steel,/area/awaymission/zoo/pirateship) -"gp" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/item/weapon/storage/wallet/random,/turf/simulated/floor/tiled/steel,/area/awaymission/zoo/pirateship) +"gp" = (/obj/structure/bed,/obj/item/bedsheet,/obj/item/storage/wallet/random,/turf/simulated/floor/tiled/steel,/area/awaymission/zoo/pirateship) "gq" = (/obj/structure/closet,/obj/item/clothing/under/lawyer/bluesuit,/turf/simulated/floor/tiled/steel,/area/awaymission/zoo/pirateship) "gr" = (/turf/simulated/shuttle/wall/dark/hard_corner,/area/awaymission/zoo/syndieship) "gs" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "syndieshutters"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/awaymission/zoo/syndieship) "gt" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "syndieshutters"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/awaymission/zoo/syndieship) "gu" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "syndieshutters"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/awaymission/zoo/syndieship) -"gv" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/captain,/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) +"gv" = (/obj/structure/bed/padded,/obj/item/bedsheet/captain,/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) "gw" = (/obj/structure/table/glass,/obj/machinery/computer3/wall_comp/telescreen/entertainment{pixel_y = -35},/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) "gx" = (/obj/structure/filingcabinet/filingcabinet,/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) "gy" = (/obj/machinery/light,/turf/simulated/floor/carpet,/area/awaymission/zoo/tradeship) @@ -341,11 +341,11 @@ "gC" = (/obj/machinery/vending/engivend,/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) "gD" = (/obj/machinery/vending/tool,/turf/simulated/shuttle/floor/black,/area/awaymission/zoo/tradeship) "gE" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) -"gF" = (/obj/structure/table/rack,/obj/item/weapon/tank/oxygen/yellow,/obj/item/clothing/suit/space/emergency,/obj/item/clothing/head/helmet/space/emergency,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) +"gF" = (/obj/structure/table/rack,/obj/item/tank/oxygen/yellow,/obj/item/clothing/suit/space/emergency,/obj/item/clothing/head/helmet/space/emergency,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) "gG" = (/obj/structure/table/standard,/obj/machinery/recharger,/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "gH" = (/obj/machinery/computer,/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "gI" = (/obj/structure/table/standard,/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) -"gJ" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/tiled/steel,/area/awaymission/zoo/pirateship) +"gJ" = (/obj/structure/bed,/obj/item/bedsheet,/turf/simulated/floor/tiled/steel,/area/awaymission/zoo/pirateship) "gK" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/floor/tiled/steel,/area/awaymission/zoo/pirateship) "gL" = (/obj/structure/mirror{pixel_y = 28},/turf/simulated/floor/tiled/steel,/area/awaymission/zoo/pirateship) "gM" = (/obj/structure/toilet{dir = 8},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled/steel,/area/awaymission/zoo/pirateship) @@ -355,33 +355,33 @@ "gQ" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plating,/area/awaymission/zoo) "gR" = (/obj/item/clothing/suit/caution,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) "gS" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) -"gT" = (/obj/structure/closet/crate,/obj/item/weapon/spacecash/c10,/obj/item/weapon/spacecash/c200,/turf/simulated/floor/tiled/steel,/area/awaymission/zoo/pirateship) -"gU" = (/obj/structure/closet/crate,/obj/item/weapon/spacecash/c10,/turf/simulated/floor/tiled/steel,/area/awaymission/zoo/pirateship) -"gV" = (/obj/structure/closet/crate,/obj/item/weapon/spacecash/c1000,/turf/simulated/floor/tiled/steel,/area/awaymission/zoo/pirateship) +"gT" = (/obj/structure/closet/crate,/obj/item/spacecash/c10,/obj/item/spacecash/c200,/turf/simulated/floor/tiled/steel,/area/awaymission/zoo/pirateship) +"gU" = (/obj/structure/closet/crate,/obj/item/spacecash/c10,/turf/simulated/floor/tiled/steel,/area/awaymission/zoo/pirateship) +"gV" = (/obj/structure/closet/crate,/obj/item/spacecash/c1000,/turf/simulated/floor/tiled/steel,/area/awaymission/zoo/pirateship) "gW" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor/tiled/steel,/area/awaymission/zoo/pirateship) "gX" = (/obj/machinery/door/airlock/external{icon_state = "door_locked"; locked = 1},/turf/simulated/floor/plating,/area/awaymission/zoo) -"gY" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets{pixel_x = 2; pixel_y = 3},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) +"gY" = (/obj/structure/table/standard,/obj/item/storage/box/donkpockets{pixel_x = 2; pixel_y = 3},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "gZ" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "ha" = (/obj/machinery/light{dir = 4},/obj/machinery/computer,/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "hb" = (/obj/structure/window/phoronreinforced{dir = 1; icon_state = "phoronrwindow"; maxhealth = 10000; name = "robust borosilicate window";},/obj/structure/window/phoronreinforced{maxhealth = 10000; name = "robust borosilicate window"},/obj/structure/window/phoronreinforced{dir = 8; icon_state = "phoronrwindow"; maxhealth = 10000; name = "robust borosilicate window";},/obj/structure/grille,/obj/structure/window/phoronreinforced{dir = 4; icon_state = "phoronrwindow"; maxhealth = 10000; name = "robust borosilicate window";},/turf/simulated/floor/plating,/area/awaymission/zoo) "hc" = (/turf/simulated/floor/plating,/area/awaymission/zoo) "hd" = (/obj/machinery/door/airlock/silver{icon_state = "door_locked"; locked = 1},/turf/simulated/floor,/area/awaymission/zoo/pirateship) -"he" = (/obj/structure/table/standard,/obj/item/stack/material/glass{amount = 15},/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) -"hf" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; pixel_y = -32; subspace_transmission = 1; syndie = 1},/obj/machinery/light,/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) -"hg" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/weapon/pen{pixel_y = 4},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) +"he" = (/obj/structure/table/standard,/obj/item/stack/material/glass{amount = 15},/obj/item/cell{charge = 100; maxcharge = 15000},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) +"hf" = (/obj/item/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; pixel_y = -32; subspace_transmission = 1; syndie = 1},/obj/machinery/light,/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) +"hg" = (/obj/structure/table/standard,/obj/item/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/pen{pixel_y = 4},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "hh" = (/obj/structure/window/phoronreinforced{dir = 1; icon_state = "phoronrwindow"; maxhealth = 10000; name = "robust borosilicate window";},/obj/structure/window/phoronreinforced{maxhealth = 10000; name = "robust borosilicate window"},/obj/structure/window/phoronreinforced{dir = 8; icon_state = "phoronrwindow"; maxhealth = 10000; name = "robust borosilicate window";},/obj/structure/grille,/turf/simulated/floor/plating,/area/awaymission/zoo) "hi" = (/obj/structure/window/phoronreinforced{dir = 1; icon_state = "phoronrwindow"; maxhealth = 10000; name = "robust borosilicate window";},/obj/structure/window/phoronreinforced{maxhealth = 10000; name = "robust borosilicate window"},/obj/structure/grille,/turf/simulated/floor/plating,/area/awaymission/zoo) "hj" = (/obj/structure/window/phoronreinforced{dir = 1; icon_state = "phoronrwindow"; maxhealth = 10000; name = "robust borosilicate window";},/obj/structure/window/phoronreinforced{maxhealth = 10000; name = "robust borosilicate window"},/obj/structure/window/phoronreinforced{dir = 4; icon_state = "phoronrwindow"; maxhealth = 10000; name = "robust borosilicate window";},/obj/structure/grille,/turf/simulated/floor/plating,/area/awaymission/zoo) -"hk" = (/obj/item/weapon/storage/box/matches,/obj/item/weapon/storage/fancy/cigarettes/dromedaryco,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) +"hk" = (/obj/item/storage/box/matches,/obj/item/storage/fancy/cigarettes/dromedaryco,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) "hl" = (/obj/item/poster,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) "hm" = (/obj/machinery/door/window/northright,/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "hn" = (/obj/structure/grille,/obj/structure/window/phoronreinforced{dir = 4; icon_state = "phoronrwindow"; maxhealth = 10000; name = "robust borosilicate window";},/obj/structure/window/phoronreinforced{dir = 1; icon_state = "phoronrwindow"; maxhealth = 10000; name = "robust borosilicate window";},/obj/structure/window/phoronreinforced{dir = 8; icon_state = "phoronrwindow"; maxhealth = 10000; name = "robust borosilicate window";},/turf/simulated/floor/plating,/area/awaymission/zoo) "ho" = (/obj/structure/flora/pottedplant{icon_state = "plant-24"},/turf/simulated/floor/tiled,/area/awaymission/zoo) "hp" = (/obj/structure/bed/chair,/turf/simulated/floor/tiled,/area/awaymission/zoo) "hq" = (/turf/simulated/floor/tiled,/area/awaymission/zoo) -"hr" = (/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) +"hr" = (/obj/item/reagent_containers/food/drinks/bottle/small/beer,/turf/simulated/floor/plating,/area/awaymission/zoo/pirateship) "hs" = (/obj/structure/flora/pottedplant,/turf/simulated/floor/tiled,/area/awaymission/zoo) -"ht" = (/obj/structure/closet/secure_closet/medical_wall{pixel_x = -32; pixel_y = 0; req_access = list(150)},/obj/item/stack/medical/splint,/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/obj/item/weapon/storage/belt/medical/emt,/obj/item/weapon/storage/belt/medical/emt,/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) +"ht" = (/obj/structure/closet/secure_closet/medical_wall{pixel_x = -32; pixel_y = 0; req_access = list(150)},/obj/item/stack/medical/splint,/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/obj/item/storage/belt/medical/emt,/obj/item/storage/belt/medical/emt,/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "hu" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "hv" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "hw" = (/obj/structure/closet/hydrant{pixel_y = 32},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) @@ -398,11 +398,11 @@ "hH" = (/obj/structure/closet,/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "hI" = (/obj/structure/grille,/obj/structure/window/phoronreinforced{maxhealth = 10000; name = "robust borosilicate window"},/obj/structure/window/phoronreinforced{dir = 4; icon_state = "phoronrwindow"; maxhealth = 10000; name = "robust borosilicate window";},/obj/structure/window/phoronreinforced{dir = 8; icon_state = "phoronrwindow"; maxhealth = 10000; name = "robust borosilicate window";},/turf/simulated/floor/plating,/area/awaymission/zoo) "hJ" = (/obj/machinery/recharger/wallcharger{pixel_x = -25},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) -"hK" = (/obj/structure/closet,/obj/item/weapon/reagent_containers/food/snacks/liquidfood,/obj/item/weapon/reagent_containers/food/snacks/liquidfood,/obj/item/weapon/reagent_containers/food/snacks/liquidfood,/obj/item/weapon/reagent_containers/food/snacks/liquidfood,/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) -"hL" = (/obj/structure/closet,/obj/item/weapon/reagent_containers/food/snacks/tastybread,/obj/item/weapon/reagent_containers/food/snacks/tastybread,/obj/item/weapon/reagent_containers/food/snacks/tastybread,/obj/item/weapon/reagent_containers/food/snacks/tastybread,/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) +"hK" = (/obj/structure/closet,/obj/item/reagent_containers/food/snacks/liquidfood,/obj/item/reagent_containers/food/snacks/liquidfood,/obj/item/reagent_containers/food/snacks/liquidfood,/obj/item/reagent_containers/food/snacks/liquidfood,/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) +"hL" = (/obj/structure/closet,/obj/item/reagent_containers/food/snacks/tastybread,/obj/item/reagent_containers/food/snacks/tastybread,/obj/item/reagent_containers/food/snacks/tastybread,/obj/item/reagent_containers/food/snacks/tastybread,/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "hM" = (/obj/structure/toilet{dir = 4},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "hN" = (/obj/machinery/flasher{id = "syndieflash"; pixel_x = 0; pixel_y = 28},/obj/machinery/light/small{dir = 1},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) -"hO" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 0; pixel_y = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) +"hO" = (/obj/item/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 0; pixel_y = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "hP" = (/obj/structure/closet/walllocker/emerglocker{pixel_x = 28},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "hQ" = (/obj/machinery/light/small{dir = 1},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "hR" = (/obj/machinery/door/airlock/external,/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) @@ -411,26 +411,26 @@ "hU" = (/obj/machinery/door/window/southright,/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "hV" = (/obj/machinery/door/window/northleft,/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "hW" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) -"hX" = (/obj/machinery/vending/assist{contraband = null; name = "AntagCorpVend"; products = list(/obj/item/device/assembly/prox_sensor = 5, /obj/item/device/assembly/signaler = 4, /obj/item/device/assembly/infra = 4, /obj/item/device/assembly/prox_sensor = 4, /obj/item/weapon/handcuffs = 8, /obj/item/device/flash = 4, /obj/item/weapon/cartridge/signal = 4, /obj/item/clothing/glasses/sunglasses = 4)},/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) +"hX" = (/obj/machinery/vending/assist{contraband = null; name = "AntagCorpVend"; products = list(/obj/item/assembly/prox_sensor = 5, /obj/item/assembly/signaler = 4, /obj/item/assembly/infra = 4, /obj/item/assembly/prox_sensor = 4, /obj/item/handcuffs = 8, /obj/item/flash = 4, /obj/item/cartridge/signal = 4, /obj/item/clothing/glasses/sunglasses = 4)},/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "hY" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating,/area/awaymission/zoo/syndieship) -"hZ" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; prices = list(); products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2)},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) +"hZ" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; prices = list(); products = list(/obj/item/storage/fancy/cigarettes = 10, /obj/item/storage/box/matches = 10, /obj/item/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2)},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "ia" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/button/flasher{id = "syndieflash"; name = "Flasher"; pixel_x = 27; pixel_y = 0;},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "ib" = (/mob/living/simple_mob/animal/passive/cat/kitten{name = "Enola"},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "ic" = (/obj/machinery/suit_cycler/syndicate{locked = 0},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) -"id" = (/obj/structure/table/standard,/obj/item/weapon/material/kitchen/utensil/knife{pixel_x = -6},/obj/item/weapon/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = -1},/obj/item/weapon/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = 4},/obj/item/weapon/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = 9},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) +"id" = (/obj/structure/table/standard,/obj/item/material/kitchen/utensil/knife{pixel_x = -6},/obj/item/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = -1},/obj/item/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = 4},/obj/item/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = 9},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "ie" = (/obj/machinery/door/window/eastleft,/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "if" = (/obj/machinery/door/window/westright,/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "ig" = (/obj/structure/closet/syndicate/suit{name = "suit closet"},/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "ih" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor/tiled,/area/awaymission/zoo) -"ii" = (/obj/structure/closet{name = "custodial"},/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/mop,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) +"ii" = (/obj/structure/closet{name = "custodial"},/obj/item/reagent_containers/glass/bucket,/obj/item/mop,/obj/item/reagent_containers/spray/cleaner,/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "ij" = (/obj/machinery/door/window/eastright,/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "ik" = (/mob/living/simple_mob/hostile/syndicate/ranged{desc = "He doesn't seem like he's looking for a fight."; faction = "neutral"; friendly = "hugs"; name = "Mercenary"},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "il" = (/obj/machinery/door/window/westleft,/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "im" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/machinery/sleeper{dir = 8},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "in" = (/obj/machinery/sleep_console,/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "io" = (/obj/structure/sign/nosmoking_1{pixel_y = 32},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) -"ip" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) -"iq" = (/obj/structure/table/standard,/obj/structure/closet/secure_closet/medical_wall{pixel_y = 32; req_access = list(150)},/obj/item/bodybag,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/glass/bottle/antitoxin{pixel_x = -4; pixel_y = 8},/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline{pixel_x = 4; pixel_y = 7},/obj/item/weapon/reagent_containers/syringe,/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) +"ip" = (/obj/structure/table/standard,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) +"iq" = (/obj/structure/table/standard,/obj/structure/closet/secure_closet/medical_wall{pixel_y = 32; req_access = list(150)},/obj/item/bodybag,/obj/item/reagent_containers/syringe/antiviral,/obj/item/reagent_containers/syringe/antiviral,/obj/item/reagent_containers/syringe/antiviral,/obj/item/reagent_containers/glass/bottle/antitoxin{pixel_x = -4; pixel_y = 8},/obj/item/reagent_containers/glass/bottle/inaprovaline{pixel_x = 4; pixel_y = 7},/obj/item/reagent_containers/syringe,/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "ir" = (/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "is" = (/obj/structure/table/standard,/obj/item/clothing/gloves/yellow,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "it" = (/obj/structure/table/standard,/obj/item/borg/sight/thermal,/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) @@ -440,28 +440,28 @@ "ix" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "syndieshutters_infirmary"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/awaymission/zoo/syndieship) "iy" = (/obj/machinery/bodyscanner{dir = 8},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "iz" = (/obj/machinery/body_scanconsole,/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) -"iA" = (/obj/item/weapon/stool/padded,/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) +"iA" = (/obj/item/stool/padded,/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "iB" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "syndieshutters_workshop"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/awaymission/zoo/syndieship) "iC" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "syndieshutters_infirmary"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/awaymission/zoo/syndieship) "iD" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "syndieshutters_workshop"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/awaymission/zoo/syndieship) "iE" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) -"iF" = (/obj/structure/table/rack,/obj/item/device/multitool,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) -"iG" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table/standard,/obj/item/weapon/surgical/surgicaldrill,/obj/item/weapon/surgical/cautery,/obj/item/weapon/surgical/retractor,/obj/item/stack/nanopaste,/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) -"iH" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table/standard,/obj/item/weapon/surgical/circular_saw,/obj/item/weapon/surgical/FixOVein{pixel_x = -6; pixel_y = 1},/obj/item/weapon/surgical/hemostat,/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) -"iI" = (/obj/structure/table/standard,/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/storage/firstaid/toxin{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/firstaid/adv{pixel_x = 1},/obj/item/weapon/storage/firstaid/fire{pixel_x = 1},/obj/item/weapon/storage/firstaid/o2{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/firstaid/regular,/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) +"iF" = (/obj/structure/table/rack,/obj/item/multitool,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) +"iG" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table/standard,/obj/item/surgical/surgicaldrill,/obj/item/surgical/cautery,/obj/item/surgical/retractor,/obj/item/stack/nanopaste,/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) +"iH" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table/standard,/obj/item/surgical/circular_saw,/obj/item/surgical/FixOVein{pixel_x = -6; pixel_y = 1},/obj/item/surgical/hemostat,/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) +"iI" = (/obj/structure/table/standard,/obj/structure/window/reinforced{dir = 8},/obj/item/storage/firstaid/toxin{pixel_x = 3; pixel_y = 3},/obj/item/storage/firstaid/adv{pixel_x = 1},/obj/item/storage/firstaid/fire{pixel_x = 1},/obj/item/storage/firstaid/o2{pixel_x = 3; pixel_y = 3},/obj/item/storage/firstaid/regular,/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "iJ" = (/obj/structure/table/standard,/obj/item/roller,/obj/item/roller,/obj/item/roller,/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) -"iK" = (/obj/item/weapon/weldingtool,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) +"iK" = (/obj/item/weldingtool,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "iL" = (/obj/structure/sign/securearea{name = "CAUTION"; pixel_x = 32},/obj/machinery/light{dir = 4},/obj/structure/mopbucket,/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "iM" = (/obj/machinery/telecomms/allinone{intercept = 1},/obj/machinery/door/window/northright{name = "Telecoms Mainframe"; req_access = list(150)},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "iN" = (/obj/machinery/door/blast/regular{id = "syndieshutters_telebay"; name = "Outer Airlock"},/turf/simulated/shuttle/plating,/area/awaymission/zoo/syndieship) "iO" = (/obj/machinery/light/small{dir = 8},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) -"iP" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/closet/secure_closet/medical_wall{pixel_x = 32; pixel_y = 0; req_access = list(150)},/obj/item/weapon/tank/anesthetic,/obj/item/clothing/mask/breath/medical,/obj/item/clothing/mask/surgical,/obj/item/clothing/gloves/sterile,/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) +"iP" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/closet/secure_closet/medical_wall{pixel_x = 32; pixel_y = 0; req_access = list(150)},/obj/item/tank/anesthetic,/obj/item/clothing/mask/breath/medical,/obj/item/clothing/mask/surgical,/obj/item/clothing/gloves/sterile,/obj/item/reagent_containers/syringe,/obj/item/reagent_containers/glass/bottle/stoxin,/obj/item/reagent_containers/glass/bottle/stoxin,/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "iQ" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) -"iR" = (/obj/item/weapon/tool/crowbar,/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) +"iR" = (/obj/item/tool/crowbar,/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "iS" = (/obj/structure/sign/nosmoking_2{pixel_x = 32},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "iT" = (/obj/machinery/iv_drip,/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "iU" = (/obj/machinery/optable,/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) -"iV" = (/obj/structure/table/standard,/obj/item/weapon/surgical/scalpel,/obj/item/weapon/surgical/bonesetter,/obj/item/weapon/surgical/bonegel{pixel_x = 4; pixel_y = 3},/obj/item/stack/medical/advanced/bruise_pack,/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) +"iV" = (/obj/structure/table/standard,/obj/item/surgical/scalpel,/obj/item/surgical/bonesetter,/obj/item/surgical/bonegel{pixel_x = 4; pixel_y = 3},/obj/item/stack/medical/advanced/bruise_pack,/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "iW" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/airless,/area/awaymission/zoo/syndieship) "iX" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"},/turf/space,/area/awaymission/zoo/syndieship) "iY" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/awaymission/zoo/syndieship) @@ -568,10 +568,10 @@ "kV" = (/mob/living/simple_mob/animal/passive/cat{faction = "zoo"},/turf/simulated/floor/wood,/area/awaymission/zoo) "kW" = (/turf/simulated/floor/holofloor/carpet,/area/awaymission/zoo) "kX" = (/obj/structure/table/marble,/turf/simulated/floor/holofloor/lino,/area/awaymission/zoo) -"kY" = (/obj/structure/table/marble,/obj/item/weapon/pen/multi,/turf/simulated/floor/holofloor/lino,/area/awaymission/zoo) +"kY" = (/obj/structure/table/marble,/obj/item/pen/multi,/turf/simulated/floor/holofloor/lino,/area/awaymission/zoo) "kZ" = (/obj/effect/floor_decal/corner/green{dir = 6},/turf/simulated/floor/tiled,/area/awaymission/zoo) "la" = (/turf/simulated/floor/beach/water{icon_state = "seadeep"},/area/awaymission/zoo) -"lb" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 5},/obj/item/weapon/coin/gold,/turf/simulated/floor/beach/water{icon_state = "seadeep"},/area/awaymission/zoo) +"lb" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 5},/obj/item/coin/gold,/turf/simulated/floor/beach/water{icon_state = "seadeep"},/area/awaymission/zoo) "lc" = (/obj/effect/floor_decal/corner/green{dir = 9},/turf/simulated/floor/tiled,/area/awaymission/zoo) "ld" = (/obj/structure/flora/ausbushes/sunnybush,/turf/simulated/floor/holofloor/grass,/area/awaymission/zoo) "le" = (/mob/living/simple_mob/bird/hooded_too{faction = "zoo"},/turf/simulated/floor/holofloor/grass,/area/awaymission/zoo) @@ -586,13 +586,13 @@ "ln" = (/obj/effect/landmark/away,/turf/simulated/floor/wood,/area/awaymission/zoo) "lo" = (/obj/machinery/door/airlock/glass{icon_state = "door_closed"; locked = 0; name = "Exhibit Airlock"},/turf/simulated/floor/holofloor/carpet,/area/awaymission/zoo) "lp" = (/obj/structure/table/rack,/obj/random/action_figure,/turf/simulated/floor/holofloor/carpet,/area/awaymission/zoo) -"lq" = (/obj/structure/table/rack,/obj/item/weapon/storage/fancy/crayons,/turf/simulated/floor/holofloor/carpet,/area/awaymission/zoo) +"lq" = (/obj/structure/table/rack,/obj/item/storage/fancy/crayons,/turf/simulated/floor/holofloor/carpet,/area/awaymission/zoo) "lr" = (/obj/structure/table/rack,/obj/random/plushie,/turf/simulated/floor/holofloor/carpet,/area/awaymission/zoo) "ls" = (/obj/structure/table/marble,/obj/item/toy/nanotrasenballoon,/turf/simulated/floor/holofloor/lino,/area/awaymission/zoo) "lt" = (/obj/structure/table/marble,/obj/machinery/cash_register{icon_state = "register_idle"; dir = 1},/turf/simulated/floor/holofloor/lino,/area/awaymission/zoo) -"lu" = (/obj/structure/table/rack,/obj/item/device/camera_film,/turf/simulated/floor/holofloor/carpet,/area/awaymission/zoo) -"lv" = (/obj/structure/table/rack,/obj/item/weapon/storage/photo_album,/turf/simulated/floor/holofloor/carpet,/area/awaymission/zoo) -"lw" = (/obj/structure/table/rack,/obj/item/device/camera_film,/obj/item/device/camera,/turf/simulated/floor/holofloor/carpet,/area/awaymission/zoo) +"lu" = (/obj/structure/table/rack,/obj/item/camera_film,/turf/simulated/floor/holofloor/carpet,/area/awaymission/zoo) +"lv" = (/obj/structure/table/rack,/obj/item/storage/photo_album,/turf/simulated/floor/holofloor/carpet,/area/awaymission/zoo) +"lw" = (/obj/structure/table/rack,/obj/item/camera_film,/obj/item/camera,/turf/simulated/floor/holofloor/carpet,/area/awaymission/zoo) "lx" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 8},/turf/simulated/floor/beach/water{icon_state = "seadeep"},/area/awaymission/zoo) "ly" = (/obj/effect/floor_decal/spline/plain{icon_state = "spline_plain_full"; dir = 1},/obj/structure/showcase{name = "Statue"; desc = "It looks almost lifelike."; icon = 'icons/obj/statue.dmi'; icon_state = "monkey"},/turf/simulated/floor/grass,/area/awaymission/zoo) "lz" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 4},/turf/simulated/floor/beach/water{icon_state = "seadeep"},/area/awaymission/zoo) @@ -602,7 +602,7 @@ "lD" = (/obj/structure/table/marble,/obj/machinery/cash_register{icon_state = "register_idle"; dir = 1},/turf/simulated/floor/tiled/white,/area/awaymission/zoo) "lE" = (/mob/living/simple_mob/animal/passive/chick,/turf/simulated/floor/wood,/area/awaymission/zoo) "lF" = (/obj/effect/floor_decal/spline/fancy/wood{icon_state = "spline_fancy"; dir = 10},/turf/simulated/floor/beach/water{icon_state = "seadeep"},/area/awaymission/zoo) -"lG" = (/obj/item/weapon/coin/silver,/turf/simulated/floor/beach/water{icon_state = "seadeep"},/area/awaymission/zoo) +"lG" = (/obj/item/coin/silver,/turf/simulated/floor/beach/water{icon_state = "seadeep"},/area/awaymission/zoo) "lH" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 6},/turf/simulated/floor/beach/water{icon_state = "seadeep"},/area/awaymission/zoo) "lI" = (/mob/living/simple_mob/bird/green_budgerigar{faction = "zoo"},/turf/simulated/floor/holofloor/grass,/area/awaymission/zoo) "lJ" = (/obj/structure/flora/ausbushes/sunnybush,/mob/living/simple_mob/bird/cockatiel{faction = "zoo"},/turf/simulated/floor/holofloor/grass,/area/awaymission/zoo) @@ -613,12 +613,12 @@ "lO" = (/obj/structure/table/rack,/obj/item/toy/cultsword,/turf/simulated/floor/holofloor/carpet,/area/awaymission/zoo) "lP" = (/obj/structure/table/rack,/obj/item/toy/crossbow,/turf/simulated/floor/holofloor/carpet,/area/awaymission/zoo) "lQ" = (/obj/structure/table/rack,/obj/item/toy/bosunwhistle,/turf/simulated/floor/holofloor/carpet,/area/awaymission/zoo) -"lR" = (/obj/structure/table/rack,/obj/item/weapon/storage/wallet/poly,/turf/simulated/floor/holofloor/carpet,/area/awaymission/zoo) -"lS" = (/obj/structure/table/rack,/obj/item/weapon/storage/pill_bottle/dice_nerd,/turf/simulated/floor/holofloor/carpet,/area/awaymission/zoo) -"lT" = (/obj/structure/table/rack,/obj/item/weapon/beach_ball,/turf/simulated/floor/holofloor/carpet,/area/awaymission/zoo) -"lU" = (/obj/structure/table/rack,/obj/item/weapon/soap/deluxe,/turf/simulated/floor/holofloor/carpet,/area/awaymission/zoo) -"lV" = (/obj/structure/table/rack,/obj/item/device/binoculars,/turf/simulated/floor/holofloor/carpet,/area/awaymission/zoo) -"lW" = (/obj/structure/table/rack,/obj/item/weapon/storage/backpack/clown,/obj/item/clothing/shoes/rainbow,/obj/item/clothing/under/color/rainbow,/obj/item/clothing/under/teshari/rainbow,/obj/item/clothing/gloves/rainbow,/obj/item/clothing/head/soft/rainbow,/turf/simulated/floor/holofloor/carpet,/area/awaymission/zoo) +"lR" = (/obj/structure/table/rack,/obj/item/storage/wallet/poly,/turf/simulated/floor/holofloor/carpet,/area/awaymission/zoo) +"lS" = (/obj/structure/table/rack,/obj/item/storage/pill_bottle/dice_nerd,/turf/simulated/floor/holofloor/carpet,/area/awaymission/zoo) +"lT" = (/obj/structure/table/rack,/obj/item/beach_ball,/turf/simulated/floor/holofloor/carpet,/area/awaymission/zoo) +"lU" = (/obj/structure/table/rack,/obj/item/soap/deluxe,/turf/simulated/floor/holofloor/carpet,/area/awaymission/zoo) +"lV" = (/obj/structure/table/rack,/obj/item/binoculars,/turf/simulated/floor/holofloor/carpet,/area/awaymission/zoo) +"lW" = (/obj/structure/table/rack,/obj/item/storage/backpack/clown,/obj/item/clothing/shoes/rainbow,/obj/item/clothing/under/color/rainbow,/obj/item/clothing/under/seromi/rainbow,/obj/item/clothing/gloves/rainbow,/obj/item/clothing/head/soft/rainbow,/turf/simulated/floor/holofloor/carpet,/area/awaymission/zoo) "lX" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/beach/water,/area/awaymission/zoo) "lY" = (/obj/effect/floor_decal/corner/green/full{dir = 1},/turf/simulated/floor/tiled,/area/awaymission/zoo) "lZ" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 2},/turf/simulated/floor/beach/water{icon_state = "seadeep"},/area/awaymission/zoo) @@ -712,9 +712,9 @@ "nJ" = (/obj/effect/overlay/palmtree_l,/turf/simulated/floor/holofloor/beach/sand,/area/awaymission/zoo) "nK" = (/turf/simulated/floor/holofloor/beach/water{icon_state = "beachcorner"; dir = 2},/area/awaymission/zoo) "nL" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/simulated/floor/plating,/area/awaymission/zoo) -"nM" = (/obj/structure/table/reinforced,/obj/item/weapon/pen/blue,/obj/item/weapon/pen/red{pixel_x = -5; pixel_y = -1},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/turf/simulated/floor/lino,/area/awaymission/zoo) -"nN" = (/obj/structure/table/reinforced,/obj/item/weapon/folder{pixel_x = -4},/obj/item/weapon/folder/red{pixel_y = 3},/obj/item/weapon/folder/blue{pixel_x = 5},/obj/item/weapon/folder/yellow,/obj/item/weapon/stamp/internalaffairs,/obj/item/weapon/stamp/denied{pixel_x = 4; pixel_y = -2},/turf/simulated/floor/lino,/area/awaymission/zoo) -"nO" = (/obj/structure/table/reinforced,/obj/item/device/flashlight/lamp,/turf/simulated/floor/lino,/area/awaymission/zoo) +"nM" = (/obj/structure/table/reinforced,/obj/item/pen/blue,/obj/item/pen/red{pixel_x = -5; pixel_y = -1},/obj/item/paper_bin{pixel_x = -3; pixel_y = 7},/turf/simulated/floor/lino,/area/awaymission/zoo) +"nN" = (/obj/structure/table/reinforced,/obj/item/folder{pixel_x = -4},/obj/item/folder/red{pixel_y = 3},/obj/item/folder/blue{pixel_x = 5},/obj/item/folder/yellow,/obj/item/stamp/internalaffairs,/obj/item/stamp/denied{pixel_x = 4; pixel_y = -2},/turf/simulated/floor/lino,/area/awaymission/zoo) +"nO" = (/obj/structure/table/reinforced,/obj/item/flashlight/lamp,/turf/simulated/floor/lino,/area/awaymission/zoo) "nP" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/sign/kiddieplaque{desc = "Not to be confused with the common Earth bat, the Space Bat is a mammalian-like creature that is capable of surviving in the vacuum of space! These creatures live and fly in groups, and are most commonly found in caves, such as those on asteroids, or small planetary bodies with light gravity and no atmosphere. These creatures survive by sucking the blood of wayward space travelers, and are considered to be a pest by the Free Trade Union for their habit of infesting space ships sitting at dock. Their origin is currently unknown."; name = "Space Bat Exhibit"},/turf/simulated/floor/plating,/area/awaymission/zoo) "nQ" = (/obj/structure/flora/ausbushes/sunnybush,/turf/simulated/floor/holofloor/beach/sand{icon_state = "fullgrass1"},/area/awaymission/zoo) "nR" = (/obj/structure/flora/ausbushes/fernybush,/turf/simulated/floor/holofloor/beach/sand{icon_state = "fullgrass0"},/area/awaymission/zoo) @@ -871,13 +871,13 @@ "qM" = (/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/grass,/area/awaymission/zoo) "qN" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/floor_decal/spline/fancy/wood/corner{dir = 1},/turf/simulated/floor/grass,/area/awaymission/zoo) "qO" = (/obj/item/trash/syndi_cakes,/turf/simulated/floor/plating,/area/awaymission/zoo) -"qP" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/plating,/area/awaymission/zoo) +"qP" = (/obj/item/stool/padded,/turf/simulated/floor/plating,/area/awaymission/zoo) "qQ" = (/obj/effect/decal/cleanable/generic,/turf/simulated/floor/plating,/area/awaymission/zoo) "qR" = (/mob/living/simple_mob/animal/passive/mouse{faction = "zoo"},/turf/simulated/floor/plating,/area/awaymission/zoo) "qS" = (/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor/plating,/area/awaymission/zoo) "qT" = (/obj/item/trash/chips,/turf/simulated/floor/plating,/area/awaymission/zoo) -"qU" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/awaymission/zoo) -"qV" = (/obj/structure/table/rack{dir = 1},/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/device/flashlight,/turf/simulated/floor/plating,/area/awaymission/zoo) +"qU" = (/obj/structure/table/rack,/obj/item/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/awaymission/zoo) +"qV" = (/obj/structure/table/rack{dir = 1},/obj/item/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/flashlight,/turf/simulated/floor/plating,/area/awaymission/zoo) "qW" = (/obj/machinery/floodlight,/turf/simulated/floor,/area/awaymission/zoo) "qX" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/holofloor/snow,/area/awaymission/zoo) "qY" = (/obj/structure/flora/ausbushes/palebush,/turf/simulated/floor/holofloor/snow,/area/awaymission/zoo) @@ -1127,20 +1127,20 @@ "vI" = (/turf/simulated/floor/tiled/dark,/area/awaymission/zoo) "vJ" = (/obj/structure/bed/chair,/turf/simulated/floor/tiled/white,/area/awaymission/zoo) "vK" = (/obj/structure/table/glass,/turf/simulated/floor/tiled/white,/area/awaymission/zoo) -"vL" = (/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/weapon/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/obj/item/weapon/storage/box/masks{pixel_x = 0; pixel_y = 0},/obj/item/weapon/storage/box/gloves{pixel_x = 3; pixel_y = 4},/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/fire{layer = 2.9; pixel_x = 2; pixel_y = 3},/obj/item/weapon/storage/firstaid/adv{pixel_x = -2},/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/structure/closet/medical_wall{pixel_y = 32},/obj/item/weapon/storage/firstaid/combat,/turf/simulated/floor/tiled/white,/area/awaymission/zoo) +"vL" = (/obj/item/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/obj/item/storage/box/masks{pixel_x = 0; pixel_y = 0},/obj/item/storage/box/gloves{pixel_x = 3; pixel_y = 4},/obj/item/storage/firstaid/toxin,/obj/item/storage/firstaid/fire{layer = 2.9; pixel_x = 2; pixel_y = 3},/obj/item/storage/firstaid/adv{pixel_x = -2},/obj/item/reagent_containers/blood/empty,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/structure/closet/medical_wall{pixel_y = 32},/obj/item/storage/firstaid/combat,/turf/simulated/floor/tiled/white,/area/awaymission/zoo) "vM" = (/obj/machinery/sleeper{dir = 8},/turf/simulated/floor/tiled/white,/area/awaymission/zoo) "vN" = (/obj/machinery/sleep_console{dir = 8},/turf/simulated/floor/tiled/white,/area/awaymission/zoo) "vO" = (/obj/machinery/bodyscanner{dir = 8},/turf/simulated/floor/tiled/white,/area/awaymission/zoo) "vP" = (/obj/machinery/body_scanconsole,/turf/simulated/floor/tiled/white,/area/awaymission/zoo) "vQ" = (/obj/structure/curtain/open/privacy,/turf/simulated/floor/tiled/white,/area/awaymission/zoo) "vR" = (/obj/machinery/optable,/turf/simulated/floor/tiled/white,/area/awaymission/zoo) -"vS" = (/obj/structure/table/standard,/obj/item/clothing/gloves/sterile,/obj/item/clothing/mask/surgical,/obj/item/weapon/surgical/retractor{pixel_x = 0; pixel_y = 6},/obj/item/weapon/surgical/scalpel,/obj/item/weapon/surgical/surgicaldrill,/obj/item/weapon/surgical/circular_saw,/obj/item/stack/nanopaste,/obj/item/weapon/surgical/hemostat{pixel_y = 4},/obj/item/weapon/surgical/cautery{pixel_y = 4},/obj/item/weapon/surgical/FixOVein{pixel_x = -6; pixel_y = 1},/obj/item/stack/medical/advanced/bruise_pack,/obj/item/weapon/surgical/bonesetter,/obj/item/weapon/surgical/bonegel{pixel_x = 4; pixel_y = 3},/turf/simulated/floor/tiled/white,/area/awaymission/zoo) +"vS" = (/obj/structure/table/standard,/obj/item/clothing/gloves/sterile,/obj/item/clothing/mask/surgical,/obj/item/surgical/retractor{pixel_x = 0; pixel_y = 6},/obj/item/surgical/scalpel,/obj/item/surgical/surgicaldrill,/obj/item/surgical/circular_saw,/obj/item/stack/nanopaste,/obj/item/surgical/hemostat{pixel_y = 4},/obj/item/surgical/cautery{pixel_y = 4},/obj/item/surgical/FixOVein{pixel_x = -6; pixel_y = 1},/obj/item/stack/medical/advanced/bruise_pack,/obj/item/surgical/bonesetter,/obj/item/surgical/bonegel{pixel_x = 4; pixel_y = 3},/turf/simulated/floor/tiled/white,/area/awaymission/zoo) "vT" = (/obj/machinery/iv_drip,/turf/simulated/floor/tiled/white,/area/awaymission/zoo) "vU" = (/obj/structure/table/standard,/turf/simulated/floor/tiled/dark,/area/awaymission/zoo) "vV" = (/obj/machinery/computer,/turf/simulated/floor/tiled/dark,/area/awaymission/zoo) "vW" = (/obj/structure/closet,/turf/simulated/floor/tiled/dark,/area/awaymission/zoo) "vX" = (/obj/structure/closet,/obj/item/clothing/under/captain_fly,/turf/simulated/floor/tiled/dark,/area/awaymission/zoo) -"vY" = (/obj/structure/table/standard,/obj/item/weapon/paper/zoo/pirate/haveyouseen,/turf/simulated/floor/tiled/dark,/area/awaymission/zoo) +"vY" = (/obj/structure/table/standard,/obj/item/paper/zoo/pirate/haveyouseen,/turf/simulated/floor/tiled/dark,/area/awaymission/zoo) "vZ" = (/obj/machinery/shield_gen/external,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/awaymission/zoo) "wa" = (/obj/machinery/shield_gen/external,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/awaymission/zoo) "wb" = (/obj/machinery/shield_gen,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/awaymission/zoo) @@ -1164,7 +1164,7 @@ "wt" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EMPLOYEES ONLY'."; name = "EMPLOYEES ONLY"; pixel_x = -32},/turf/simulated/floor/tiled,/area/awaymission/zoo) "wu" = (/obj/structure/symbol/gu{pixel_x = 32},/turf/simulated/floor/tiled,/area/awaymission/zoo) "wv" = (/obj/structure/bed/chair/office/dark{dir = 1},/turf/simulated/floor/tiled/dark,/area/awaymission/zoo) -"ww" = (/obj/structure/table/standard,/obj/item/weapon/paper/zoo/pirate/warning,/turf/simulated/floor/tiled/dark,/area/awaymission/zoo) +"ww" = (/obj/structure/table/standard,/obj/item/paper/zoo/pirate/warning,/turf/simulated/floor/tiled/dark,/area/awaymission/zoo) "wx" = (/obj/structure/sign/electricshock,/turf/simulated/wall/durasteel,/area/awaymission/zoo) "wy" = (/obj/machinery/shield_capacitor,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/awaymission/zoo) "wz" = (/obj/machinery/shield_capacitor,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/awaymission/zoo) @@ -1190,13 +1190,13 @@ "wT" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/effect/landmark/loot_spawn,/obj/structure/symbol/da{pixel_x = -32},/turf/simulated/floor/plating,/area/awaymission/zoo) "wU" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor/tiled/white,/area/awaymission/zoo) "wV" = (/obj/structure/coatrack,/turf/simulated/floor/tiled/dark,/area/awaymission/zoo) -"wW" = (/obj/structure/filingcabinet/filingcabinet,/obj/item/weapon/paper/zoo,/obj/item/weapon/paper/zoo,/obj/item/weapon/paper/zoo,/turf/simulated/floor/tiled/dark,/area/awaymission/zoo) -"wX" = (/obj/structure/filingcabinet/filingcabinet,/obj/item/weapon/paper/zoo,/obj/item/weapon/paper/zoo,/obj/item/weapon/paper/zoo,/obj/item/weapon/paper/zoo/pirate/nebula,/turf/simulated/floor/tiled/dark,/area/awaymission/zoo) +"wW" = (/obj/structure/filingcabinet/filingcabinet,/obj/item/paper/zoo,/obj/item/paper/zoo,/obj/item/paper/zoo,/turf/simulated/floor/tiled/dark,/area/awaymission/zoo) +"wX" = (/obj/structure/filingcabinet/filingcabinet,/obj/item/paper/zoo,/obj/item/paper/zoo,/obj/item/paper/zoo,/obj/item/paper/zoo/pirate/nebula,/turf/simulated/floor/tiled/dark,/area/awaymission/zoo) "wY" = (/obj/structure/symbol/da{pixel_x = 32},/turf/simulated/floor/tiled,/area/awaymission/zoo) "wZ" = (/obj/machinery/floodlight,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/awaymission/zoo) "xa" = (/obj/machinery/power/emitter,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/awaymission/zoo) "xb" = (/obj/structure/closet/crate,/obj/item/stack/material/phoron{amount = 25},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/awaymission/zoo) -"xc" = (/obj/structure/closet/crate/solar,/obj/effect/floor_decal/industrial/outline/yellow,/obj/item/weapon/cell/crap,/obj/item/weapon/cell/crap,/obj/item/weapon/cell/crap,/turf/simulated/floor,/area/awaymission/zoo) +"xc" = (/obj/structure/closet/crate/solar,/obj/effect/floor_decal/industrial/outline/yellow,/obj/item/cell/crap,/obj/item/cell/crap,/obj/item/cell/crap,/turf/simulated/floor,/area/awaymission/zoo) "xd" = (/obj/machinery/vending/tool,/turf/simulated/floor/tiled/dark,/area/awaymission/zoo) "xe" = (/obj/machinery/vending/engivend,/turf/simulated/floor/tiled/dark,/area/awaymission/zoo) "xf" = (/obj/machinery/door/window/brigdoor/northleft,/obj/structure/window/reinforced{dir = 2; health = 1e+006},/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/structure/table/rack,/obj/random/ammo_all,/turf/simulated/floor/tiled/dark,/area/awaymission/zoo) diff --git a/maps/gateway_archive_vr/zresearchlabs.dmm b/maps/gateway_archive_vr/zresearchlabs.dmm index 8c3606b6b4a..f37589932e8 100644 --- a/maps/gateway_archive_vr/zresearchlabs.dmm +++ b/maps/gateway_archive_vr/zresearchlabs.dmm @@ -17,9 +17,9 @@ "aq" = (/obj/machinery/door/airlock/maintenance_hatch{name = "Underground Maintenance"},/turf/simulated/floor/plating,/area/awaymission/labs/cave) "ar" = (/obj/effect/critter/fleshmonster,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaymission/labs/cave) "as" = (/obj/effect/critter/fleshmonster,/turf/simulated/floor/plating,/area/awaymission/labs/cave) -"at" = (/obj/structure/table/standard,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/stack/cable_coil,/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/turf/simulated/floor/plating,/area/awaymission/labs/cave) -"au" = (/obj/structure/table/standard,/obj/item/weapon/folder/yellow,/obj/item/clothing/ears/earmuffs{pixel_x = -3; pixel_y = -2},/turf/simulated/floor/plating,/area/awaymission/labs/cave) -"av" = (/obj/structure/table/standard,/obj/item/weapon/camera_assembly,/turf/simulated/floor/plating,/area/awaymission/labs/cave) +"at" = (/obj/structure/table/standard,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/stack/cable_coil,/obj/item/airlock_electronics,/obj/item/airlock_electronics,/turf/simulated/floor/plating,/area/awaymission/labs/cave) +"au" = (/obj/structure/table/standard,/obj/item/folder/yellow,/obj/item/clothing/ears/earmuffs{pixel_x = -3; pixel_y = -2},/turf/simulated/floor/plating,/area/awaymission/labs/cave) +"av" = (/obj/structure/table/standard,/obj/item/camera_assembly,/turf/simulated/floor/plating,/area/awaymission/labs/cave) "aw" = (/obj/machinery/power/port_gen,/turf/simulated/floor/plating,/area/awaymission/labs/cave) "ax" = (/obj/effect/decal/cleanable/dirt,/obj/effect/alien/flesh/weeds/node,/turf/simulated/floor/plating,/area/awaymission/labs/cave) "ay" = (/obj/machinery/artifact,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaymission/labs/cave) @@ -27,8 +27,8 @@ "aA" = (/obj/structure/reagent_dispensers/fueltank,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaymission/labs/cave) "aB" = (/obj/structure/table/standard,/obj/machinery/cell_charger,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaymission/labs/cave) "aC" = (/obj/structure/table/standard,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaymission/labs/cave) -"aD" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/belt/utility,/obj/item/weapon/tool/wrench,/obj/item/weapon/weldingtool,/obj/item/clothing/head/welding{pixel_x = -3; pixel_y = 5},/turf/simulated/floor/plating,/area/awaymission/labs/cave) -"aE" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/gloves/yellow,/obj/item/weapon/storage/belt/utility,/turf/simulated/floor/plating,/area/awaymission/labs/cave) +"aD" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/storage/belt/utility,/obj/item/tool/wrench,/obj/item/weldingtool,/obj/item/clothing/head/welding{pixel_x = -3; pixel_y = 5},/turf/simulated/floor/plating,/area/awaymission/labs/cave) +"aE" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/gloves/yellow,/obj/item/storage/belt/utility,/turf/simulated/floor/plating,/area/awaymission/labs/cave) "aF" = (/obj/structure/closet/radiation,/turf/simulated/floor/plating,/area/awaymission/labs/cave) "aG" = (/obj/structure/closet/secure_closet/engineering_electrical,/turf/simulated/floor/plating,/area/awaymission/labs/cave) "aH" = (/obj/structure/closet/secure_closet/engineering_welding,/turf/simulated/floor/plating,/area/awaymission/labs/cave) @@ -36,7 +36,7 @@ "aJ" = (/obj/structure/table/standard,/obj/item/stack/cable_coil{pixel_x = -1; pixel_y = 7},/obj/item/stack/cable_coil{pixel_x = 0; pixel_y = 3},/obj/item/stack/cable_coil{pixel_x = 0; pixel_y = 0},/turf/simulated/floor/plating,/area/awaymission/labs/cave) "aK" = (/obj/structure/table/standard,/turf/simulated/floor/plating,/area/awaymission/labs/cave) "aL" = (/obj/structure/table/standard,/obj/machinery/cell_charger,/obj/machinery/camera{c_tag = "Engineering SMES Room"; dir = 4; network = "SS13"},/turf/simulated/floor/plating,/area/awaymission/labs/cave) -"aM" = (/obj/structure/table/standard,/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/module/power_control,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/machinery/light,/turf/simulated/floor/plating,/area/awaymission/labs/cave) +"aM" = (/obj/structure/table/standard,/obj/item/airlock_electronics,/obj/item/airlock_electronics,/obj/item/module/power_control,/obj/item/cell/high{charge = 100; maxcharge = 15000},/obj/item/cell/high{charge = 100; maxcharge = 15000},/obj/machinery/light,/turf/simulated/floor/plating,/area/awaymission/labs/cave) "aN" = (/obj/effect/alien/flesh/weeds/node,/turf/unsimulated/desert,/area/awaymission/labs/cave) "aO" = (/obj/effect/critter/fleshmonster/fleshslime,/turf/unsimulated/desert,/area/awaymission/labs/cave) "aP" = (/obj/machinery/door/airlock/engineering,/turf/simulated/floor/plating,/area/awaymission/labs/cave) @@ -46,21 +46,21 @@ "aT" = (/obj/machinery/computer/mech_bay_power_console,/turf/simulated/floor/plating,/area/awaymission/labs/cave) "aU" = (/obj/effect/critter/fleshmonster,/turf/unsimulated/desert,/area/awaymission/labs/cave) "aV" = (/obj/structure/ore_box,/turf/unsimulated/desert,/area/awaymission/labs/cave) -"aW" = (/obj/item/weapon/rack_parts,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) +"aW" = (/obj/item/rack_parts,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) "aX" = (/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) "aY" = (/obj/effect/alien/flesh/weeds/node,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) -"aZ" = (/obj/item/weapon/weldingtool,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) +"aZ" = (/obj/item/weldingtool,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) "ba" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) "bb" = (/obj/item/apc_frame,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) "bc" = (/obj/structure/closet/toolcloset,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) "bd" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) -"be" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) +"be" = (/obj/structure/table/standard,/obj/item/storage/toolbox/mechanical,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) "bf" = (/obj/structure/table/standard,/obj/item/blueprints,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) -"bg" = (/obj/structure/table/standard,/obj/item/weapon/camera_assembly,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) +"bg" = (/obj/structure/table/standard,/obj/item/camera_assembly,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) "bh" = (/obj/structure/girder,/turf/simulated/floor/plating,/area/awaymission/labs/cave) "bi" = (/obj/effect/decal/cleanable/blood,/obj/effect/decal/cleanable/dirt,/obj/effect/landmark/corpse/alien/laborer,/turf/simulated/floor/plating,/area/awaymission/labs/cave) "bj" = (/obj/effect/critter/fleshmonster,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) -"bk" = (/obj/structure/table/standard,/obj/item/stack/cable_coil{pixel_x = -1; pixel_y = 7},/obj/item/weapon/circuitboard/autolathe,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) +"bk" = (/obj/structure/table/standard,/obj/item/stack/cable_coil{pixel_x = -1; pixel_y = 7},/obj/item/circuitboard/autolathe,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) "bl" = (/obj/effect/decal/cleanable/blood/tracks,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) "bm" = (/obj/structure/door_assembly/door_assembly_research,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) "bn" = (/obj/structure/table,/turf/simulated/floor/plating,/area/awaymission/labs/cave) @@ -99,18 +99,18 @@ "bU" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/effect/alien/flesh/weeds/node,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "bV" = (/obj/effect/critter/fleshmonster/fleshslime,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) "bW" = (/obj/machinery/door/airlock/freezer,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) -"bX" = (/obj/item/weapon/storage/lightbox/mixed{pixel_x = 21; pixel_y = 14},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) -"bY" = (/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) +"bX" = (/obj/item/storage/lightbox/mixed{pixel_x = 21; pixel_y = 14},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) +"bY" = (/obj/item/storage/toolbox/mechanical,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) "bZ" = (/obj/structure/door_assembly/door_assembly_research/glass,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) "ca" = (/obj/effect/decal/cleanable/blood,/obj/effect/landmark/corpse/alien/laborer,/turf/simulated/floor/plating,/area/awaymission/labs/cave) "cb" = (/turf/simulated/floor{dir = 4; icon_state = "warnwhite"},/area/awaymission/labs/researchdivision) "cc" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; frequency = 1379; id_tag = "medsci_pump"; on = 1},/obj/effect/alien/flesh/weeds/node,/turf/simulated/floor{ icon_state = "vault"; dir = 5},/area/awaymission/labs/researchdivision) "cd" = (/obj/machinery/dna_scanner,/turf/simulated/floor{ icon_state = "vault"; dir = 5},/area/awaymission/labs/researchdivision) -"ce" = (/obj/structure/table/reinforced,/obj/item/device/flashlight/lamp,/obj/item/weapon/paper{icon_state = "paper_words"; info = "One of the commandos was brought in earlier with the most peculiar growth on his arm. He had complained to their physician about it a few days ago, but it has mutated signifcantly since then. That was the arm he was injected with the nanoaugmentation, so they simply cannot be coincidence. This mutation is nothing like anything we've ever seen. The flesh appears to be reshaping itself, repurposing his arm in some way. His cell structure, bone structure, everything is changing rapidly into something totally unknown. He will be kept here for further study."; name = "Mutation"},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) +"ce" = (/obj/structure/table/reinforced,/obj/item/flashlight/lamp,/obj/item/paper{icon_state = "paper_words"; info = "One of the commandos was brought in earlier with the most peculiar growth on his arm. He had complained to their physician about it a few days ago, but it has mutated signifcantly since then. That was the arm he was injected with the nanoaugmentation, so they simply cannot be coincidence. This mutation is nothing like anything we've ever seen. The flesh appears to be reshaping itself, repurposing his arm in some way. His cell structure, bone structure, everything is changing rapidly into something totally unknown. He will be kept here for further study."; name = "Mutation"},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "cf" = (/obj/structure/stool/bed/chair/office/light{dir = 4},/turf/simulated/floor{ icon_state = "vault"; dir = 5},/area/awaymission/labs/researchdivision) "cg" = (/obj/machinery/computer/scan_consolenew,/turf/simulated/floor{ icon_state = "vault"; dir = 5},/area/awaymission/labs/researchdivision) "ch" = (/obj/machinery/power/port_gen,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/cave) -"ci" = (/obj/structure/table/reinforced,/obj/item/device/antibody_scanner,/obj/item/device/flash,/obj/item/weapon/paper_bin,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) +"ci" = (/obj/structure/table/reinforced,/obj/item/antibody_scanner,/obj/item/flash,/obj/item/paper_bin,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "cj" = (/turf/simulated/floor{ icon_state = "vault"; dir = 5},/area/awaymission/labs/researchdivision) "ck" = (/obj/machinery/dna_scanner,/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor{ icon_state = "vault"; dir = 5},/area/awaymission/labs/researchdivision) "cl" = (/obj/machinery/power/tracker,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaymission/desert{dynamic_lighting = 1; luminosity = 1; name = "Desert"}) @@ -122,31 +122,31 @@ "cr" = (/turf/simulated/floor/plating,/area/awaymission/labs/researchdivision) "cs" = (/obj/structure/stool/bed/chair,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "ct" = (/obj/structure/stool/bed/chair,/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) -"cu" = (/obj/structure/table/reinforced,/obj/item/device/mass_spectrometer,/turf/simulated/floor{ icon_state = "vault"; dir = 5},/area/awaymission/labs/researchdivision) +"cu" = (/obj/structure/table/reinforced,/obj/item/mass_spectrometer,/turf/simulated/floor{ icon_state = "vault"; dir = 5},/area/awaymission/labs/researchdivision) "cv" = (/obj/machinery/door/airlock/glass_research,/turf/simulated/floor{ icon_state = "vault"; dir = 5},/area/awaymission/labs/researchdivision) "cw" = (/turf/simulated/floor{dir = 8; icon_state = "warnwhitecorner"},/area/awaymission/labs/researchdivision) "cx" = (/turf/simulated/floor{ icon_state = "warnwhite"; dir = 1},/area/awaymission/labs/researchdivision) "cy" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "cz" = (/obj/structure/bookcase,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "cA" = (/obj/structure/toilet,/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) -"cB" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) +"cB" = (/obj/structure/stool/bed,/obj/item/bedsheet,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "cC" = (/obj/effect/decal/cleanable/blood/tracks,/turf/simulated/floor,/area/awaymission/labs/researchdivision) -"cD" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/machinery/light/small{dir = 8},/turf/simulated/floor{ icon_state = "vault"; dir = 5},/area/awaymission/labs/researchdivision) -"cE" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/storage/body_bag_box,/turf/simulated/floor{ icon_state = "vault"; dir = 5},/area/awaymission/labs/researchdivision) -"cF" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/hypospray,/turf/simulated/floor{ icon_state = "vault"; dir = 5},/area/awaymission/labs/researchdivision) -"cG" = (/obj/structure/table/reinforced,/obj/item/weapon/FixOVein,/obj/item/weapon/retractor,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) +"cD" = (/obj/structure/table/reinforced,/obj/item/reagent_containers/glass/beaker/large,/obj/item/reagent_containers/spray/cleaner,/obj/machinery/light/small{dir = 8},/turf/simulated/floor{ icon_state = "vault"; dir = 5},/area/awaymission/labs/researchdivision) +"cE" = (/obj/structure/table/reinforced,/obj/item/reagent_containers/blood/empty,/obj/item/storage/body_bag_box,/turf/simulated/floor{ icon_state = "vault"; dir = 5},/area/awaymission/labs/researchdivision) +"cF" = (/obj/structure/table/reinforced,/obj/item/reagent_containers/hypospray,/turf/simulated/floor{ icon_state = "vault"; dir = 5},/area/awaymission/labs/researchdivision) +"cG" = (/obj/structure/table/reinforced,/obj/item/FixOVein,/obj/item/retractor,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "cH" = (/obj/machinery/optable,/obj/item/stack/sheet/animalhide/lizard,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) -"cI" = (/obj/structure/table/reinforced,/obj/item/weapon/bonesetter,/obj/item/weapon/bonegel,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) +"cI" = (/obj/structure/table/reinforced,/obj/item/bonesetter,/obj/item/bonegel,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "cJ" = (/obj/machinery/door/window/westleft,/obj/machinery/door/window/eastright,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) -"cK" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) +"cK" = (/obj/structure/stool/bed,/obj/item/bedsheet,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "cL" = (/obj/machinery/power/solar{id = "portsolar"; name = "Port Solar Array"},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating{icon_state = "solarpanel"; temperature = 393.15},/area/awaymission/desert{dynamic_lighting = 1; luminosity = 1; name = "Desert"}) "cM" = (/obj/structure/cable,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaymission/desert{dynamic_lighting = 1; luminosity = 1; name = "Desert"}) "cN" = (/obj/effect/alien/flesh/weeds/node,/turf/simulated/floor,/area/awaymission/labs/researchdivision) "cO" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "cP" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "cQ" = (/obj/structure/stool/bed/roller,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) -"cR" = (/obj/structure/table/reinforced,/obj/item/weapon/circular_saw,/obj/item/weapon/scalpel,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) -"cS" = (/obj/structure/table/reinforced,/obj/item/bodybag,/obj/item/weapon/cautery,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) +"cR" = (/obj/structure/table/reinforced,/obj/item/circular_saw,/obj/item/scalpel,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) +"cS" = (/obj/structure/table/reinforced,/obj/item/bodybag,/obj/item/cautery,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "cT" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "cU" = (/obj/effect/landmark/corpse/alien/testsubject,/obj/effect/decal/cleanable/blood,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "cV" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaymission/desert{dynamic_lighting = 1; luminosity = 1; name = "Desert"}) @@ -163,7 +163,7 @@ "dg" = (/obj/machinery/chem_dispenser,/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "dh" = (/obj/structure/stool/bed/roller,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "di" = (/obj/structure/table/woodentable,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) -"dj" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) +"dj" = (/obj/structure/stool/bed,/obj/item/bedsheet,/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "dk" = (/obj/machinery/power/solar{id = "portsolar"; name = "Port Solar Array"},/obj/structure/cable,/turf/simulated/floor/plating{icon_state = "solarpanel"; temperature = 393.15},/area/awaymission/desert{dynamic_lighting = 1; luminosity = 1; name = "Desert"}) "dl" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaymission/desert{dynamic_lighting = 1; luminosity = 1; name = "Desert"}) "dm" = (/obj/effect/decal/cleanable/blood,/obj/effect/landmark/corpse/alien/laborer,/turf/simulated/floor,/area/awaymission/labs/researchdivision) @@ -171,8 +171,8 @@ "do" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "dp" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "dq" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) -"dr" = (/obj/structure/table/standard,/obj/item/weapon/implanter/nanoaug/strength,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) -"ds" = (/obj/structure/table/standard,/obj/item/weapon/clipboard,/obj/item/weapon/paper{icon_state = "paper_words"; info = "Study of the Soghun genome has proven successful. Using their blood as a base, we have managed to develop a series of nanoaugmentations that operate on a biological basis. With it, we can supply our commandos with implants that would give them the strength of at least ten Soghun, or the combat skills of many more. Further research is required to develop safer solutions, but the soldiers seem receptive to the current batch of test implants. They are to be kept under watch at all times in their quarters."; name = "Research Notes"; text = "p"},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) +"dr" = (/obj/structure/table/standard,/obj/item/implanter/nanoaug/strength,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) +"ds" = (/obj/structure/table/standard,/obj/item/clipboard,/obj/item/paper{icon_state = "paper_words"; info = "Study of the Soghun genome has proven successful. Using their blood as a base, we have managed to develop a series of nanoaugmentations that operate on a biological basis. With it, we can supply our commandos with implants that would give them the strength of at least ten Soghun, or the combat skills of many more. Further research is required to develop safer solutions, but the soldiers seem receptive to the current batch of test implants. They are to be kept under watch at all times in their quarters."; name = "Research Notes"; text = "p"},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "dt" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/obj/effect/alien/flesh/weeds/node,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "du" = (/obj/machinery/vending/coffee,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "dv" = (/obj/machinery/vending/snack,/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) @@ -232,14 +232,14 @@ "ex" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/awaymission/labs/gateway) "ey" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/awaymission/labs/gateway) "ez" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/wall/r_wall,/area/awaymission/labs/gateway) -"eA" = (/obj/structure/table/standard,/obj/item/weapon/paper/pamphlet,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/awaymission/labs/gateway) -"eB" = (/obj/structure/table/standard,/obj/item/weapon/phone,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/awaymission/labs/gateway) +"eA" = (/obj/structure/table/standard,/obj/item/paper/pamphlet,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/awaymission/labs/gateway) +"eB" = (/obj/structure/table/standard,/obj/item/phone,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/awaymission/labs/gateway) "eC" = (/obj/structure/filingcabinet,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/unary/vent_pump,/turf/simulated/floor,/area/awaymission/labs/gateway) "eD" = (/obj/machinery/power/smes,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{ icon_state = "vault"; dir = 5},/area/awaymission/labs/researchdivision) "eE" = (/obj/machinery/power/smes{charge = 0},/turf/simulated/floor{ icon_state = "vault"; dir = 5},/area/awaymission/labs/researchdivision) "eF" = (/obj/machinery/optable,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/militarydivision) "eG" = (/obj/machinery/computer/operating,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/militarydivision) -"eH" = (/obj/structure/table/reinforced,/obj/item/weapon/gun/syringe{pixel_x = 1; pixel_y = 4},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/militarydivision) +"eH" = (/obj/structure/table/reinforced,/obj/item/gun/syringe{pixel_x = 1; pixel_y = 4},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/militarydivision) "eI" = (/obj/structure/closet/secure_closet/medical1,/obj/machinery/camera{c_tag = "Prison Bedroom"; dir = 2; network = "SS13"},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/militarydivision) "eJ" = (/obj/machinery/iv_drip,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/militarydivision) "eK" = (/obj/machinery/vending/medical,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/militarydivision) @@ -279,7 +279,7 @@ "fs" = (/obj/effect/decal/cleanable/blood,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/landmark/corpse/officer,/turf/simulated/floor,/area/awaymission/labs/gateway) "ft" = (/obj/machinery/power/apc{dir = 4; name = "Worn-out APC"; pixel_x = 24; pixel_y = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor,/area/awaymission/labs/gateway) "fu" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{ icon_state = "vault"; dir = 5},/area/awaymission/labs/researchdivision) -"fv" = (/obj/structure/table/reinforced,/obj/item/device/camera_film,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) +"fv" = (/obj/structure/table/reinforced,/obj/item/camera_film,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "fw" = (/obj/machinery/door/window/westleft,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "fx" = (/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "fy" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/awaymission/desert{dynamic_lighting = 1; luminosity = 1; name = "Desert"}) @@ -294,14 +294,14 @@ "fH" = (/obj/machinery/gateway{dir = 10},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/awaymission/labs/gateway) "fI" = (/obj/machinery/gateway,/turf/simulated/floor{icon_state = "warning"},/area/awaymission/labs/gateway) "fJ" = (/obj/machinery/gateway{dir = 6},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/awaymission/labs/gateway) -"fK" = (/obj/structure/table/reinforced,/obj/item/device/camera,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) +"fK" = (/obj/structure/table/reinforced,/obj/item/camera,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "fL" = (/obj/effect/landmark/corpse/scientist{mobname = "Steve Smith"; name = "Steve Smith"},/obj/effect/decal/cleanable/blood,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) -"fM" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/spray/chemsprayer,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) +"fM" = (/obj/structure/table/reinforced,/obj/item/reagent_containers/spray/chemsprayer,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "fN" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/awaymission/desert{dynamic_lighting = 1; luminosity = 1; name = "Desert"}) "fO" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/militarydivision) "fP" = (/obj/effect/landmark/corpse/doctor{mobname = "Amando Cruz"; name = "Amando Cruz"},/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/militarydivision) "fQ" = (/obj/structure/stool/bed/chair/office/light{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/militarydivision) -"fR" = (/obj/structure/table/reinforced,/obj/item/weapon/paper{icon_state = "paper_words"; info = "As per your request, Director, I have documented my findings on the odd mutation growing from Commander Karl's arm. First of all, in this state he cannot go on any kind of missions. The alien flesh is incredibly painful to him and he can barely hold a rifle properly, no less fit into a tight hardsuit. Early analysis of the tissue shows a DNA structure unlike anything I've seen in my fourty-some odd years of medical practice. It's neither human nor Soghun, I can tell you that much. It has a quality you would expect from the lining of internal organs and is incredibly sensitive. Yet, it is also very resilient. It took me about five tries before I was able to stick a syringe through it. And even then I got just enough blood for a test, not a drop more. The wound healed quickly afterwards, as well. Whatever you boys in science are doing, you've stumbled across something, that's for sure."; name = "Unfinished Form"},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/militarydivision) +"fR" = (/obj/structure/table/reinforced,/obj/item/paper{icon_state = "paper_words"; info = "As per your request, Director, I have documented my findings on the odd mutation growing from Commander Karl's arm. First of all, in this state he cannot go on any kind of missions. The alien flesh is incredibly painful to him and he can barely hold a rifle properly, no less fit into a tight hardsuit. Early analysis of the tissue shows a DNA structure unlike anything I've seen in my fourty-some odd years of medical practice. It's neither human nor Soghun, I can tell you that much. It has a quality you would expect from the lining of internal organs and is incredibly sensitive. Yet, it is also very resilient. It took me about five tries before I was able to stick a syringe through it. And even then I got just enough blood for a test, not a drop more. The wound healed quickly afterwards, as well. Whatever you boys in science are doing, you've stumbled across something, that's for sure."; name = "Unfinished Form"},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/militarydivision) "fS" = (/obj/structure/closet/crate/secure/weapon,/obj/item/ammo_magazine/a357,/turf/simulated/floor{ icon_state = "vault"; dir = 5},/area/awaymission/labs/militarydivision) "fT" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{ icon_state = "vault"; dir = 5},/area/awaymission/labs/militarydivision) "fU" = (/obj/machinery/door/window{dir = 8},/turf/simulated/floor{ icon_state = "vault"; dir = 5},/area/awaymission/labs/militarydivision) @@ -310,15 +310,15 @@ "fX" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/awaymission/labs/gateway) "fY" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor,/area/awaymission/labs/gateway) "fZ" = (/obj/machinery/turretid{name = "Gateway Turret Control"; pixel_x = -24},/turf/simulated/floor,/area/awaymission/labs/gateway) -"ga" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 7},/turf/simulated/floor,/area/awaymission/labs/gateway) +"ga" = (/obj/structure/table/standard,/obj/item/paper_bin{pixel_x = -2; pixel_y = 7},/turf/simulated/floor,/area/awaymission/labs/gateway) "gb" = (/obj/machinery/door/airlock/glass_research{name = "Storage"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{ icon_state = "vault"; dir = 5},/area/awaymission/labs/researchdivision) -"gc" = (/obj/structure/table/reinforced,/obj/item/weapon/gun/energy/xray,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) +"gc" = (/obj/structure/table/reinforced,/obj/item/gun/energy/xray,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "gd" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/awaymission/desert{dynamic_lighting = 1; luminosity = 1; name = "Desert"}) "ge" = (/obj/machinery/bodyscanner,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/militarydivision) "gf" = (/obj/machinery/body_scanconsole,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/militarydivision) "gg" = (/obj/item/roller{pixel_x = 31; pixel_y = 8},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/militarydivision) "gh" = (/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/militarydivision) -"gi" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/firstaid/adv{pixel_x = 3; pixel_y = 4},/obj/item/weapon/storage/firstaid/adv{pixel_x = 0; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/militarydivision) +"gi" = (/obj/structure/table/reinforced,/obj/item/storage/firstaid/adv{pixel_x = 3; pixel_y = 4},/obj/item/storage/firstaid/adv{pixel_x = 0; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/militarydivision) "gj" = (/obj/machinery/power/apc{dir = 8; environ = 0; equipment = 0; lighting = 0; locked = 0; name = "Worn-out APC"; pixel_x = -24; pixel_y = 0},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/militarydivision) "gk" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/unary/vent_pump{dir = 8; frequency = 1379; id_tag = "mining_maineast_pump"; on = 1},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/militarydivision) "gl" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/wall/r_wall,/area/awaymission/labs/militarydivision) @@ -400,8 +400,8 @@ "hJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/awaymission/labs/researchdivision) "hK" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor,/area/awaymission/labs/researchdivision) "hL" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/wall/r_wall,/area/awaymission/labs/researchdivision) -"hM" = (/obj/structure/table/reinforced,/obj/machinery/cell_charger{pixel_x = -1; pixel_y = 5},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/item/weapon/cell/hyper,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) -"hN" = (/obj/structure/table/reinforced,/obj/item/weapon/hand_labeler,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) +"hM" = (/obj/structure/table/reinforced,/obj/machinery/cell_charger{pixel_x = -1; pixel_y = 5},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/item/cell/hyper,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) +"hN" = (/obj/structure/table/reinforced,/obj/item/hand_labeler,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "hO" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "hP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "hQ" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) @@ -429,9 +429,9 @@ "im" = (/obj/machinery/power/apc{dir = 0; name = "Worn-out APC"; pixel_y = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/terminal,/turf/simulated/floor/plating,/area/awaymission/labs/solars) "in" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/awaymission/labs/solars) "io" = (/obj/machinery/power/smes{charge = 0},/obj/structure/cable,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/awaymission/labs/solars) -"ip" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 7},/obj/item/weapon/stamp{pixel_x = 8; pixel_y = -2},/turf/simulated/floor{icon_state = "wood"},/area/awaymission/labs/militarydivision) +"ip" = (/obj/structure/table/woodentable,/obj/item/paper_bin{pixel_x = -2; pixel_y = 7},/obj/item/stamp{pixel_x = 8; pixel_y = -2},/turf/simulated/floor{icon_state = "wood"},/area/awaymission/labs/militarydivision) "iq" = (/obj/structure/table/woodentable,/turf/simulated/floor{icon_state = "wood"},/area/awaymission/labs/militarydivision) -"ir" = (/obj/structure/table/woodentable,/obj/item/weapon/melee/classic_baton,/turf/simulated/floor{icon_state = "wood"},/area/awaymission/labs/militarydivision) +"ir" = (/obj/structure/table/woodentable,/obj/item/melee/classic_baton,/turf/simulated/floor{icon_state = "wood"},/area/awaymission/labs/militarydivision) "is" = (/obj/effect/decal/cleanable/blood/splatter,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/awaymission/labs/militarydivision) "it" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/turf/simulated/floor,/area/awaymission/labs/militarydivision) "iu" = (/obj/item/ammo_casing/c9mm{pixel_x = 25; pixel_y = -60},/turf/simulated/floor,/area/awaymission/labs/militarydivision) @@ -450,8 +450,8 @@ "iH" = (/obj/machinery/recharge_station,/obj/effect/decal/cleanable/cobweb2,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{temperature = 393.15},/area/awaymission/labs/researchdivision) "iI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/floor,/area/awaymission/labs/researchdivision) "iJ" = (/obj/structure/rack,/turf/simulated/floor,/area/awaymission/labs/researchdivision) -"iK" = (/obj/item/weapon/stock_parts/console_screen,/obj/structure/table/standard,/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/stock_parts/matter_bin,/obj/item/weapon/stock_parts/matter_bin,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) -"iL" = (/obj/structure/table/reinforced,/obj/item/metroid_core,/obj/item/weapon/camera_assembly{pixel_x = 2; pixel_y = 8},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; frequency = 1379; id_tag = "mining_maineast_pump"; on = 1},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) +"iK" = (/obj/item/stock_parts/console_screen,/obj/structure/table/standard,/obj/item/stock_parts/console_screen,/obj/item/stock_parts/console_screen,/obj/item/stock_parts/matter_bin,/obj/item/stock_parts/matter_bin,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) +"iL" = (/obj/structure/table/reinforced,/obj/item/metroid_core,/obj/item/camera_assembly{pixel_x = 2; pixel_y = 8},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; frequency = 1379; id_tag = "mining_maineast_pump"; on = 1},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "iM" = (/obj/machinery/door/airlock/maintenance_hatch,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/awaymission/labs/solars) "iN" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor{icon_state = "wood"},/area/awaymission/labs/militarydivision) "iO" = (/obj/machinery/door/airlock/command{name = "Team Leader's Desk"},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/awaymission/labs/militarydivision) @@ -468,11 +468,11 @@ "iZ" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{temperature = 393.15},/area/awaymission/labs/researchdivision) "ja" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/awaymission/labs/researchdivision) "jb" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/awaymission/labs/researchdivision) -"jc" = (/obj/structure/table/reinforced,/obj/item/weapon/book/manual/research_and_development{pixel_x = -1; pixel_y = 4},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) +"jc" = (/obj/structure/table/reinforced,/obj/item/book/manual/research_and_development{pixel_x = -1; pixel_y = 4},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "jd" = (/obj/structure/stool/bed/chair/office/dark,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "je" = (/obj/structure/table/reinforced,/obj/item/stack/cable_coil{pixel_y = 3},/obj/item/stack/cable_coil{pixel_y = 3},/obj/item/stack/cable_coil{pixel_y = 3},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "jf" = (/obj/structure/table/standard,/turf/simulated/floor/plating,/area/awaymission/labs/solars) -"jg" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/plating,/area/awaymission/labs/solars) +"jg" = (/obj/structure/table/standard,/obj/item/storage/toolbox/mechanical,/turf/simulated/floor/plating,/area/awaymission/labs/solars) "jh" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/awaymission/labs/solars) "ji" = (/obj/structure/closet/secure_closet/engineering_electrical,/turf/simulated/floor/plating,/area/awaymission/labs/solars) "jj" = (/obj/structure/closet/cabinet,/obj/item/clothing/under/rank/navysecurity,/obj/item/clothing/suit/armor/navysecvest,/turf/simulated/floor{icon_state = "wood"},/area/awaymission/labs/militarydivision) @@ -480,15 +480,15 @@ "jl" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 140; on = 1; pressure_checks = 0},/turf/simulated/floor{icon_state = "wood"},/area/awaymission/labs/militarydivision) "jm" = (/obj/machinery/power/apc{dir = 8; environ = 0; equipment = 0; lighting = 0; locked = 0; name = "Worn-out APC"; pixel_x = -24; pixel_y = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/awaymission/labs/militarydivision) "jn" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/awaymission/labs/militarydivision) -"jo" = (/obj/structure/table/woodentable,/obj/item/weapon/folder/blue,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/awaymission/labs/militarydivision) +"jo" = (/obj/structure/table/woodentable,/obj/item/folder/blue,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/awaymission/labs/militarydivision) "jp" = (/obj/structure/table/woodentable,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/awaymission/labs/militarydivision) "jq" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/awaymission/labs/militarydivision) "jr" = (/obj/machinery/camera{c_tag = "Central Hallway South-West"; dir = 8},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/awaymission/labs/militarydivision) "js" = (/obj/structure/table/standard,/turf/simulated/floor{ icon_state = "cafeteria"; dir = 5},/area/awaymission/labs/militarydivision) -"jt" = (/obj/structure/table/standard,/obj/item/weapon/paper{icon_state = "paper_words"; info = "We got back from another ship-out today. Those idiots on the NSV Icarus somehow managed to land themselves in the middle of a fleet of pirates. Frigates were downed easily, and they boarded with the intent to take the artillery cannon. Thankfully, those implants the doctors gave us worked like a charm. I think they made me sick, though, I've got this terrible rash on my arm that is a pain to scratch. Making my skin look all pink and nasty. Gonna go see Doc Brown in the monring, I need some rest after all we've been through."; name = "Journal Page"},/turf/simulated/floor{ icon_state = "cafeteria"; dir = 5},/area/awaymission/labs/militarydivision) +"jt" = (/obj/structure/table/standard,/obj/item/paper{icon_state = "paper_words"; info = "We got back from another ship-out today. Those idiots on the NSV Icarus somehow managed to land themselves in the middle of a fleet of pirates. Frigates were downed easily, and they boarded with the intent to take the artillery cannon. Thankfully, those implants the doctors gave us worked like a charm. I think they made me sick, though, I've got this terrible rash on my arm that is a pain to scratch. Making my skin look all pink and nasty. Gonna go see Doc Brown in the monring, I need some rest after all we've been through."; name = "Journal Page"},/turf/simulated/floor{ icon_state = "cafeteria"; dir = 5},/area/awaymission/labs/militarydivision) "ju" = (/obj/item/ammo_casing/c9mm{pixel_y = -8},/turf/simulated/floor,/area/awaymission/labs/militarydivision) "jv" = (/obj/item/ammo_casing/c9mm{pixel_x = -28; pixel_y = -4},/turf/simulated/floor,/area/awaymission/labs/militarydivision) -"jw" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/hos,/turf/simulated/floor,/area/awaymission/labs/militarydivision) +"jw" = (/obj/structure/stool/bed,/obj/item/bedsheet/hos,/turf/simulated/floor,/area/awaymission/labs/militarydivision) "jx" = (/turf/simulated/floor{icon_state = "green"; dir = 8},/area/awaymission/labs/command) "jy" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/awaymission/labs/command) "jz" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/awaymission/labs/command) @@ -498,18 +498,18 @@ "jD" = (/obj/structure/window/reinforced,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{temperature = 393.15},/area/awaymission/labs/researchdivision) "jE" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/oil,/turf/simulated/floor{temperature = 393.15},/area/awaymission/labs/researchdivision) "jF" = (/obj/machinery/camera{c_tag = "Mining Dock External"; dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/awaymission/labs/researchdivision) -"jG" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 7},/obj/item/weapon/pen{pixel_x = 5; pixel_y = 5},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) -"jH" = (/obj/structure/table/reinforced,/obj/item/borg/upgrade/vtec,/obj/item/weapon/cell/hyper/empty,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) -"jI" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/backpack/holding{pixel_y = 4},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) -"jJ" = (/obj/structure/table/reinforced,/obj/item/weapon/talkingcrystal{pixel_y = 9},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) +"jG" = (/obj/structure/table/reinforced,/obj/item/paper_bin{pixel_x = -2; pixel_y = 7},/obj/item/pen{pixel_x = 5; pixel_y = 5},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) +"jH" = (/obj/structure/table/reinforced,/obj/item/borg/upgrade/vtec,/obj/item/cell/hyper/empty,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) +"jI" = (/obj/structure/table/reinforced,/obj/item/storage/backpack/holding{pixel_y = 4},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) +"jJ" = (/obj/structure/table/reinforced,/obj/item/talkingcrystal{pixel_y = 9},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/researchdivision) "jK" = (/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor/plating,/area/awaymission/labs/solars) "jL" = (/obj/structure/closet/secure_closet/engineering_welding,/turf/simulated/floor/plating,/area/awaymission/labs/solars) "jM" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/awaymission/labs/militarydivision) "jN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/awaymission/labs/militarydivision) -"jO" = (/obj/structure/table/standard,/obj/item/weapon/butch{pixel_y = 3},/obj/item/weapon/kitchenknife{pixel_x = -4; pixel_y = 4},/turf/simulated/floor{ icon_state = "cafeteria"; dir = 5},/area/awaymission/labs/militarydivision) +"jO" = (/obj/structure/table/standard,/obj/item/butch{pixel_y = 3},/obj/item/kitchenknife{pixel_x = -4; pixel_y = 4},/turf/simulated/floor{ icon_state = "cafeteria"; dir = 5},/area/awaymission/labs/militarydivision) "jP" = (/turf/simulated/floor{ icon_state = "cafeteria"; dir = 5},/area/awaymission/labs/militarydivision) -"jQ" = (/obj/effect/decal/cleanable/blood/splatter,/obj/effect/landmark/corpse/officer,/obj/item/weapon/gun/projectile/silenced/sc_silenced{desc = "A sidearm commonly favored by terrestrial security forces."; icon_state = "g115 Pistol"; name = "Pistol"; silenced = 0},/turf/simulated/floor,/area/awaymission/labs/militarydivision) -"jR" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/hos,/obj/machinery/camera{c_tag = "Central Hallway South-West"; dir = 8},/turf/simulated/floor,/area/awaymission/labs/militarydivision) +"jQ" = (/obj/effect/decal/cleanable/blood/splatter,/obj/effect/landmark/corpse/officer,/obj/item/gun/projectile/silenced/sc_silenced{desc = "A sidearm commonly favored by terrestrial security forces."; icon_state = "g115 Pistol"; name = "Pistol"; silenced = 0},/turf/simulated/floor,/area/awaymission/labs/militarydivision) +"jR" = (/obj/structure/stool/bed,/obj/item/bedsheet/hos,/obj/machinery/camera{c_tag = "Central Hallway South-West"; dir = 8},/turf/simulated/floor,/area/awaymission/labs/militarydivision) "jS" = (/obj/machinery/mech_bay_recharge_port,/turf/simulated/floor{temperature = 393.15},/area/awaymission/labs/researchdivision) "jT" = (/turf/simulated/floor/mech_bay_recharge_floor,/area/awaymission/labs/researchdivision) "jU" = (/obj/machinery/computer/mech_bay_power_console,/turf/simulated/floor{temperature = 393.15},/area/awaymission/labs/researchdivision) @@ -519,7 +519,7 @@ "jY" = (/obj/machinery/turretcover,/turf/unsimulated/desert,/area/awaymission/desert{dynamic_lighting = 1; luminosity = 1; name = "Desert"}) "jZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/awaymission/labs/militarydivision) "ka" = (/obj/structure/table/standard,/obj/machinery/microwave{pixel_x = -2; pixel_y = 8},/turf/simulated/floor{ icon_state = "cafeteria"; dir = 5},/area/awaymission/labs/militarydivision) -"kb" = (/obj/item/device/violin,/turf/simulated/floor,/area/awaymission/labs/militarydivision) +"kb" = (/obj/item/violin,/turf/simulated/floor,/area/awaymission/labs/militarydivision) "kc" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/light,/turf/simulated/floor{temperature = 393.15},/area/awaymission/labs/researchdivision) "kd" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "delivery"; name = "floor"; temperature = 393.15},/area/awaymission/labs/researchdivision) "ke" = (/obj/machinery/bot/mulebot,/turf/simulated/floor{temperature = 393.15},/area/awaymission/labs/researchdivision) @@ -546,7 +546,7 @@ "kz" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor,/area/awaymission/labs/command) "kA" = (/obj/machinery/computer/card,/turf/simulated/floor,/area/awaymission/labs/command) "kB" = (/obj/structure/stool/bed/chair,/turf/simulated/floor,/area/awaymission/labs/command) -"kC" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 7},/turf/simulated/floor,/area/awaymission/labs/command) +"kC" = (/obj/structure/table/reinforced,/obj/item/paper_bin{pixel_x = -2; pixel_y = 7},/turf/simulated/floor,/area/awaymission/labs/command) "kD" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/solar{id = "portsolar"; name = "Port Solar Array"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{icon_state = "solarpanel"; temperature = 393.15},/area/awaymission/desert{dynamic_lighting = 1; luminosity = 1; name = "Desert"}) "kE" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{temperature = 393.15},/area/awaymission/desert{dynamic_lighting = 1; luminosity = 1; name = "Desert"}) "kF" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/solar{id = "portsolar"; name = "Port Solar Array"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{icon_state = "solarpanel"; temperature = 393.15},/area/awaymission/desert{dynamic_lighting = 1; luminosity = 1; name = "Desert"}) @@ -608,7 +608,7 @@ "lJ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/awaymission/labs/solars) "lK" = (/obj/structure/cable,/obj/effect/decal/cleanable/dirt,/obj/machinery/power/solar_control,/turf/simulated/floor/plating,/area/awaymission/labs/solars) "lL" = (/obj/machinery/camera{c_tag = "Aft Port Solar Control"; dir = 1},/obj/machinery/power/apc{dir = 4; name = "Worn-out APC"; pixel_x = 24; pixel_y = 0},/obj/structure/cable,/obj/machinery/power/terminal{dir = 4},/turf/simulated/floor/plating,/area/awaymission/labs/solars) -"lM" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/electrical,/turf/simulated/floor/plating,/area/awaymission/labs/solars) +"lM" = (/obj/structure/table/standard,/obj/item/storage/toolbox/electrical,/turf/simulated/floor/plating,/area/awaymission/labs/solars) "lN" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/solar{id = "portsolar"; name = "Port Solar Array"},/turf/simulated/floor/plating{icon_state = "solarpanel"; temperature = 393.15},/area/awaymission/desert{dynamic_lighting = 1; luminosity = 1; name = "Desert"}) "lO" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{temperature = 393.15},/area/awaymission/desert{dynamic_lighting = 1; luminosity = 1; name = "Desert"}) "lP" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{temperature = 393.15},/area/awaymission/desert{dynamic_lighting = 1; luminosity = 1; name = "Desert"}) @@ -617,7 +617,7 @@ "lS" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{temperature = 393.15},/area/awaymission/desert{dynamic_lighting = 1; luminosity = 1; name = "Desert"}) "lT" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/solar{id = "portsolar"; name = "Port Solar Array"},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{icon_state = "solarpanel"; temperature = 393.15},/area/awaymission/desert{dynamic_lighting = 1; luminosity = 1; name = "Desert"}) "lU" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/awaymission/labs/solars) -"lV" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor/plating,/area/awaymission/labs/solars) +"lV" = (/obj/structure/table/standard,/obj/item/reagent_containers/spray/cleaner,/turf/simulated/floor/plating,/area/awaymission/labs/solars) "lW" = (/obj/structure/table/standard,/obj/item/stack/cable_coil{pixel_y = -3},/obj/item/stack/cable_coil{pixel_y = 3},/obj/item/stack/cable_coil{pixel_y = 0},/turf/simulated/floor/plating,/area/awaymission/labs/solars) "lX" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{temperature = 393.15},/area/awaymission/desert{dynamic_lighting = 1; luminosity = 1; name = "Desert"}) "lY" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{temperature = 393.15},/area/awaymission/desert{dynamic_lighting = 1; luminosity = 1; name = "Desert"}) @@ -644,7 +644,7 @@ "mt" = (/obj/machinery/door/airlock/glass_large{icon_state = "door_locked"; locked = 1; name = "Cargo Bay Door"},/turf/simulated/floor,/area/awaymission/labs/cargo) "mu" = (/turf/simulated/floor{density = 1},/area/awaymission/labs/cargo) "mv" = (/obj/structure/grille{layer = 3.3},/obj/structure/window/reinforced{dir = 5; health = 1e+007; layer = 3.4},/obj/machinery/door/poddoor{density = 1; icon_state = "pdoor1"; id = "sandstorm shutters"; layer = 2.4; name = "Sandstorm Shutters"; opacity = 1},/turf/simulated/floor,/area/awaymission/labs/cargo) -"mw" = (/obj/structure/closet/crate/freezer,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor,/area/awaymission/labs/cargo) +"mw" = (/obj/structure/closet/crate/freezer,/obj/item/reagent_containers/food/snacks/meat,/obj/item/reagent_containers/food/snacks/meat,/obj/item/reagent_containers/food/snacks/meat,/turf/simulated/floor,/area/awaymission/labs/cargo) "mx" = (/turf/simulated/wall,/area/awaymission/labs/civilian) "my" = (/obj/structure/grille{layer = 3.3},/obj/structure/window/reinforced{dir = 5; health = 1e+007; layer = 3.4},/obj/machinery/door/poddoor{density = 1; icon_state = "pdoor1"; id = "sandstorm shutters"; layer = 2.4; name = "Sandstorm Shutters"; opacity = 1},/turf/simulated/floor,/area/awaymission/labs/civilian) "mz" = (/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor/plating,/area/awaymission/labs/civilian) @@ -662,7 +662,7 @@ "mL" = (/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor,/area/awaymission/labs/cargo) "mM" = (/obj/structure/table/standard,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/awaymission/labs/civilian) "mN" = (/obj/structure/table/standard,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/awaymission/labs/civilian) -"mO" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/table/standard,/obj/item/weapon/book/manual/chef_recipes,/turf/simulated/floor{ icon_state = "cafeteria"; dir = 5},/area/awaymission/labs/civilian) +"mO" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/table/standard,/obj/item/book/manual/chef_recipes,/turf/simulated/floor{ icon_state = "cafeteria"; dir = 5},/area/awaymission/labs/civilian) "mP" = (/obj/structure/closet/secure_closet/freezer/meat,/turf/simulated/floor{ icon_state = "cafeteria"; dir = 5},/area/awaymission/labs/civilian) "mQ" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/simulated/floor{ icon_state = "cafeteria"; dir = 5},/area/awaymission/labs/civilian) "mR" = (/obj/structure/sink/kitchen{pixel_y = 23},/turf/simulated/floor{ icon_state = "cafeteria"; dir = 5},/area/awaymission/labs/civilian) @@ -688,8 +688,8 @@ "nl" = (/obj/machinery/door/airlock/maintenance_hatch,/turf/simulated/floor/plating,/area/awaymission/labs/civilian) "nm" = (/obj/effect/critter/fleshmonster,/turf/simulated/floor,/area/awaymission/labs/command) "nn" = (/obj/machinery/computer/security,/turf/simulated/floor{icon_state = "red"},/area/awaymission/labs/command) -"no" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/storage/PDAbox{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/id_kit,/turf/simulated/floor{icon_state = "red"},/area/awaymission/labs/command) -"np" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/secstorage/sbriefcase,/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/awaymission/labs/command) +"no" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/item/storage/PDAbox{pixel_x = 4; pixel_y = 4},/obj/item/storage/id_kit,/turf/simulated/floor{icon_state = "red"},/area/awaymission/labs/command) +"np" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/item/secstorage/sbriefcase,/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/awaymission/labs/command) "nq" = (/obj/structure/window/reinforced/tinted{dir = 5},/turf/simulated/floor/plating,/area/awaymission/labs/command) "nr" = (/obj/machinery/computer/communications,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/awaymission/labs/command) "ns" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/recharger{pixel_y = 2},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/awaymission/labs/command) @@ -698,8 +698,8 @@ "nv" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/oil,/turf/simulated/floor,/area/awaymission/labs/cargo) "nw" = (/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/awaymission/labs/cargo) "nx" = (/obj/machinery/bot/mulebot,/turf/simulated/floor{icon_state = "bot"},/area/awaymission/labs/cargo) -"ny" = (/obj/structure/table/standard,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/weapon/wrapping_paper,/turf/simulated/floor,/area/awaymission/labs/cargo) -"nz" = (/obj/structure/closet/crate/secure/bin{name = "Valuable Ores"},/obj/item/weapon/ore/diamond,/obj/item/weapon/ore/diamond,/obj/item/weapon/ore/uranium,/obj/item/weapon/ore/uranium,/obj/item/weapon/ore/uranium,/obj/item/weapon/ore/clown,/turf/simulated/floor,/area/awaymission/labs/cargo) +"ny" = (/obj/structure/table/standard,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/wrapping_paper,/turf/simulated/floor,/area/awaymission/labs/cargo) +"nz" = (/obj/structure/closet/crate/secure/bin{name = "Valuable Ores"},/obj/item/ore/diamond,/obj/item/ore/diamond,/obj/item/ore/uranium,/obj/item/ore/uranium,/obj/item/ore/uranium,/obj/item/ore/clown,/turf/simulated/floor,/area/awaymission/labs/cargo) "nA" = (/obj/structure/closet/crate/secure/bin,/turf/simulated/floor,/area/awaymission/labs/cargo) "nB" = (/obj/machinery/recharge_station,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/awaymission/labs/cave) "nC" = (/obj/structure/rack,/obj/item/clothing/suit/space/rig/security{cold_protection = 1; desc = "A suit specially designed for Sogun anatomy, as well as operation in high-temperature environments. Has sunray shielding."; heat_protection = 3000; icon_state = "rig-soghun"; item_state = "rig-soghun"; name = "Soghun Hardsuit"},/obj/item/clothing/head/helmet/space/rig/security{desc = "A special helmet designed for the Soghun anatomy, as well as work in a hazardous, high-temperature environment. Has sunray shielding."; heat_protection = 3000; name = "Soghun Suit Helmet"},/obj/item/clothing/mask/breath,/turf/simulated/floor,/area/awaymission/labs/cave) @@ -725,25 +725,25 @@ "nW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/awaymission/labs/cargo) "nX" = (/obj/machinery/bot/mulebot,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor{icon_state = "bot"},/area/awaymission/labs/cargo) "nY" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/wall,/area/awaymission/labs/cargo) -"nZ" = (/obj/structure/table/standard,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor,/area/awaymission/labs/cargo) +"nZ" = (/obj/structure/table/standard,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/item/reagent_containers/spray/cleaner,/turf/simulated/floor,/area/awaymission/labs/cargo) "oa" = (/obj/effect/critter/fleshmonster/fleshslime,/turf/simulated/floor,/area/awaymission/labs/cargo) "ob" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/awaymission/labs/cave) "oc" = (/obj/machinery/power/apc{dir = 4; name = "Worn-out APC"; pixel_x = 24; pixel_y = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/awaymission/labs/cave) "od" = (/obj/structure/table/standard,/turf/simulated/floor{ icon_state = "cafeteria"; dir = 5},/area/awaymission/labs/civilian) -"oe" = (/obj/structure/table/standard,/obj/item/weapon/kitchen/rollingpin,/turf/simulated/floor{ icon_state = "cafeteria"; dir = 5},/area/awaymission/labs/civilian) +"oe" = (/obj/structure/table/standard,/obj/item/kitchen/rollingpin,/turf/simulated/floor{ icon_state = "cafeteria"; dir = 5},/area/awaymission/labs/civilian) "of" = (/obj/structure/table/standard,/obj/machinery/reagentgrinder{pixel_x = -1; pixel_y = 7},/turf/simulated/floor{ icon_state = "cafeteria"; dir = 5},/area/awaymission/labs/civilian) "og" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor,/area/awaymission/labs/civilian) "oh" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/turf/simulated/floor,/area/awaymission/labs/civilian) "oi" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/awaymission/labs/civilian) "oj" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/awaymission/labs/command) -"ok" = (/obj/structure/table/standard,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/item/device/multitool,/turf/simulated/floor{icon_state = "red"; dir = 9},/area/awaymission/labs/command) +"ok" = (/obj/structure/table/standard,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/item/multitool,/turf/simulated/floor{icon_state = "red"; dir = 9},/area/awaymission/labs/command) "ol" = (/obj/machinery/computer/secure_data,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/awaymission/labs/command) -"om" = (/obj/item/weapon/tool/wrench,/obj/structure/table/reinforced,/obj/machinery/camera{c_tag = "Bridge West"; dir = 2},/obj/item/device/assembly/timer,/obj/item/device/assembly/signaler,/obj/item/device/assembly/signaler,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/awaymission/labs/command) +"om" = (/obj/item/tool/wrench,/obj/structure/table/reinforced,/obj/machinery/camera{c_tag = "Bridge West"; dir = 2},/obj/item/assembly/timer,/obj/item/assembly/signaler,/obj/item/assembly/signaler,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/awaymission/labs/command) "on" = (/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/awaymission/labs/command) "oo" = (/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/awaymission/labs/command) -"op" = (/obj/structure/table/standard,/obj/machinery/camera{c_tag = "Bridge East"; dir = 2},/obj/item/weapon/storage/fancy/donut_box,/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/awaymission/labs/command) +"op" = (/obj/structure/table/standard,/obj/machinery/camera{c_tag = "Bridge East"; dir = 2},/obj/item/storage/fancy/donut_box,/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/awaymission/labs/command) "oq" = (/obj/machinery/computer/med_data,/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/awaymission/labs/command) -"or" = (/obj/structure/table/standard,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/item/weapon/storage/toolbox/emergency,/turf/simulated/floor{icon_state = "whitehall"; dir = 5},/area/awaymission/labs/command) +"or" = (/obj/structure/table/standard,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/item/storage/toolbox/emergency,/turf/simulated/floor{icon_state = "whitehall"; dir = 5},/area/awaymission/labs/command) "os" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor,/area/awaymission/labs/command) "ot" = (/obj/machinery/door/airlock/glass_mining{name = "Cargo Bay"},/turf/simulated/floor,/area/awaymission/labs/command) "ou" = (/obj/structure/ore_box,/turf/simulated/floor,/area/awaymission/labs/cargo) @@ -753,7 +753,7 @@ "oy" = (/obj/effect/landmark/corpse/alien/cargo,/obj/effect/decal/cleanable/blood,/turf/simulated/floor,/area/awaymission/labs/cave) "oz" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/awaymission/labs/cave) "oA" = (/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor{ icon_state = "cafeteria"; dir = 5},/area/awaymission/labs/civilian) -"oB" = (/obj/structure/table/standard,/obj/item/weapon/butch{pixel_y = 3},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{ icon_state = "cafeteria"; dir = 5},/area/awaymission/labs/civilian) +"oB" = (/obj/structure/table/standard,/obj/item/butch{pixel_y = 3},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{ icon_state = "cafeteria"; dir = 5},/area/awaymission/labs/civilian) "oC" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/awaymission/labs/civilian) "oD" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/awaymission/labs/civilian) "oE" = (/obj/machinery/door/airlock/glass{name = "Civilian Division"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/awaymission/labs/civilian) @@ -811,7 +811,7 @@ "pE" = (/obj/machinery/conveyor,/turf/unsimulated/desert,/area/awaymission/desert{dynamic_lighting = 1; luminosity = 1; name = "Desert"}) "pF" = (/obj/effect/decal/mecha_wreckage/ripley,/turf/unsimulated/desert,/area/awaymission/labs/cave) "pG" = (/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/labs/civilian) -"pH" = (/obj/structure/table/reinforced,/obj/item/weapon/tray{pixel_y = 6},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/labs/civilian) +"pH" = (/obj/structure/table/reinforced,/obj/item/tray{pixel_y = 6},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/labs/civilian) "pI" = (/obj/structure/table/reinforced,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/labs/civilian) "pJ" = (/obj/structure/table/reinforced,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/labs/civilian) "pK" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/wall,/area/awaymission/labs/civilian) @@ -819,8 +819,8 @@ "pM" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor,/area/awaymission/labs/civilian) "pN" = (/turf/simulated/floor{icon_state = "wood"},/area/awaymission/labs/command) "pO" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; frequency = 1379; id_tag = "engineering_aux_pump"; on = 1},/turf/simulated/floor{icon_state = "wood"},/area/awaymission/labs/command) -"pP" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/captain,/turf/simulated/floor{icon_state = "wood"},/area/awaymission/labs/command) -"pQ" = (/obj/structure/closet/cabinet,/obj/item/weapon/gun/energy/pulse_rifle/M1911,/obj/item/clothing/tie/medal/gold/heroism,/obj/item/clothing/under/rank/navyhead_of_security,/obj/item/clothing/tie/holster/armpit,/obj/item/clothing/suit/armor/hosnavycoat,/obj/item/weapon/disk/nuclear,/turf/simulated/floor{icon_state = "wood"},/area/awaymission/labs/command) +"pP" = (/obj/structure/stool/bed,/obj/item/bedsheet/captain,/turf/simulated/floor{icon_state = "wood"},/area/awaymission/labs/command) +"pQ" = (/obj/structure/closet/cabinet,/obj/item/gun/energy/pulse_rifle/M1911,/obj/item/clothing/tie/medal/gold/heroism,/obj/item/clothing/under/rank/navyhead_of_security,/obj/item/clothing/tie/holster/armpit,/obj/item/clothing/suit/armor/hosnavycoat,/obj/item/disk/nuclear,/turf/simulated/floor{icon_state = "wood"},/area/awaymission/labs/command) "pR" = (/turf/unsimulated/desert,/area/awaymission/labs/command) "pS" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/unsimulated/desert,/area/awaymission/labs/command) "pT" = (/obj/effect/alien/flesh/weeds{icon_state = "flesh1"},/turf/unsimulated/desert,/area/awaymission/labs/cave) @@ -829,7 +829,7 @@ "pW" = (/obj/structure/stool,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/labs/civilian) "pX" = (/obj/structure/stool,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/labs/civilian) "pY" = (/obj/machinery/door/window/northleft,/turf/simulated/floor{icon_state = "wood"},/area/awaymission/labs/command) -"pZ" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/obj/item/weapon/storage/matchbox,/turf/simulated/floor{icon_state = "wood"},/area/awaymission/labs/command) +"pZ" = (/obj/structure/table/woodentable,/obj/item/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/obj/item/storage/matchbox,/turf/simulated/floor{icon_state = "wood"},/area/awaymission/labs/command) "qa" = (/obj/structure/table/woodentable,/turf/simulated/floor{icon_state = "wood"},/area/awaymission/labs/command) "qb" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "wood"},/area/awaymission/labs/command) "qc" = (/obj/effect/alien/flesh/weeds{icon_state = "flesh2"},/turf/unsimulated/desert,/area/awaymission/labs/cave) @@ -837,7 +837,7 @@ "qe" = (/obj/structure/stool/bed/chair,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/labs/civilian) "qf" = (/obj/machinery/computer/security,/turf/simulated/floor{icon_state = "wood"},/area/awaymission/labs/command) "qg" = (/obj/machinery/computer/communications,/turf/simulated/floor{icon_state = "wood"},/area/awaymission/labs/command) -"qh" = (/obj/structure/table/woodentable,/obj/item/weapon/katana{desc = "A well-weathered sword meant to be kept at the side of an officer. It is not meant for real combat."; force = 15; name = "Officer's Sword"},/turf/simulated/floor{icon_state = "wood"},/area/awaymission/labs/command) +"qh" = (/obj/structure/table/woodentable,/obj/item/katana{desc = "A well-weathered sword meant to be kept at the side of an officer. It is not meant for real combat."; force = 15; name = "Officer's Sword"},/turf/simulated/floor{icon_state = "wood"},/area/awaymission/labs/command) "qi" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/turf/simulated/floor{icon_state = "wood"},/area/awaymission/labs/command) "qj" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "wood"},/area/awaymission/labs/command) "qk" = (/obj/effect/decal/cleanable/blood,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/effect/landmark/corpse/overseer,/turf/simulated/floor{icon_state = "wood"},/area/awaymission/labs/command) @@ -852,13 +852,13 @@ "qt" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/unsimulated/desert,/area/awaymission/labs/cave) "qu" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/labs/civilian) "qv" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/labs/civilian) -"qw" = (/obj/structure/table/standard,/obj/item/weapon/kitchen/utensil/fork,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/labs/civilian) +"qw" = (/obj/structure/table/standard,/obj/item/kitchen/utensil/fork,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/labs/civilian) "qx" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/labs/civilian) "qy" = (/obj/structure/barricade/wooden,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/labs/civilian) "qz" = (/obj/machinery/door/airlock/glass{name = "Mess Hall"},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/labs/civilian) "qA" = (/obj/effect/decal/cleanable/blood,/obj/item/ammo_casing/c9mm{pixel_x = 0; pixel_y = -4},/turf/simulated/floor,/area/awaymission/labs/command) "qB" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 1},/turf/simulated/floor{icon_state = "wood"},/area/awaymission/labs/command) -"qC" = (/obj/structure/table/woodentable,/obj/item/weapon/paper{icon_state = "paper_words"; info = "
      Research Weekly Report


      As of this day (Dec 26, 2556), the research division of Outpost Zeta has made signifcant strides in the development of safe-to-use nanoaugmentations based upon Soghun genetic structure. Though the unfortunate death of Commander Karl was a result of an earlier, more potent batch, his passing has brought great wisdom to our division and through his dead, infected tissue, we are very close to isolating the gene responsible for the fatal abnormal mutation.

      Should current schedules and effort remain steady, we are expected to produce a far safer serum in no less than seven days. All data has been saved and uploaded to the main company development server via the nearby telecommunications satellite.

      In our firearms department, development of a weapon that fires x-ray beams has proved successful. The weapon is not to be confused with a laser weapon - lasers are primitive tools that simply burn flesh. This weapon is capable of firing toxic beams that poison and harm the target's biological functions, much more painful than a laser burn. Similarly, even after the firefight is over with, or in the event of a retreat, the harmful toxins will remain in the affected individual's bloodstream and cause great discomfort. Your signature and stamp will be required for field tests with the emergency response commandos, Overseer.

      End report.

      -Doctor Jenkins"; name = "Report"},/turf/simulated/floor{icon_state = "wood"},/area/awaymission/labs/command) +"qC" = (/obj/structure/table/woodentable,/obj/item/paper{icon_state = "paper_words"; info = "
      Research Weekly Report


      As of this day (Dec 26, 2556), the research division of Outpost Zeta has made signifcant strides in the development of safe-to-use nanoaugmentations based upon Soghun genetic structure. Though the unfortunate death of Commander Karl was a result of an earlier, more potent batch, his passing has brought great wisdom to our division and through his dead, infected tissue, we are very close to isolating the gene responsible for the fatal abnormal mutation.

      Should current schedules and effort remain steady, we are expected to produce a far safer serum in no less than seven days. All data has been saved and uploaded to the main company development server via the nearby telecommunications satellite.

      In our firearms department, development of a weapon that fires x-ray beams has proved successful. The weapon is not to be confused with a laser weapon - lasers are primitive tools that simply burn flesh. This weapon is capable of firing toxic beams that poison and harm the target's biological functions, much more painful than a laser burn. Similarly, even after the firefight is over with, or in the event of a retreat, the harmful toxins will remain in the affected individual's bloodstream and cause great discomfort. Your signature and stamp will be required for field tests with the emergency response commandos, Overseer.

      End report.

      -Doctor Jenkins"; name = "Report"},/turf/simulated/floor{icon_state = "wood"},/area/awaymission/labs/command) "qD" = (/obj/effect/decal/cleanable/blood/tracks,/turf/simulated/floor{icon_state = "wood"},/area/awaymission/labs/command) "qE" = (/obj/structure/displaycase,/turf/simulated/floor{icon_state = "wood"},/area/awaymission/labs/command) "qF" = (/turf/simulated/floor{ icon_state = "vault"; dir = 1},/area/awaymission/labs/command) @@ -871,17 +871,17 @@ "qM" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/labs/civilian) "qN" = (/obj/structure/stool/bed/chair,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/labs/civilian) "qO" = (/obj/structure/closet/secure_closet/captains,/turf/simulated/floor{icon_state = "wood"},/area/awaymission/labs/command) -"qP" = (/obj/structure/table/woodentable,/obj/item/weapon/book/manual/security_space_law,/turf/simulated/floor{icon_state = "wood"},/area/awaymission/labs/command) +"qP" = (/obj/structure/table/woodentable,/obj/item/book/manual/wiki/security_space_law,/turf/simulated/floor{icon_state = "wood"},/area/awaymission/labs/command) "qQ" = (/obj/machinery/light,/turf/simulated/floor{icon_state = "wood"},/area/awaymission/labs/command) "qR" = (/obj/machinery/vending/cigarette,/turf/simulated/floor{icon_state = "wood"},/area/awaymission/labs/command) -"qS" = (/obj/machinery/camera{c_tag = "Vault"; dir = 4; network = "SS13"},/obj/structure/closet/crate{name = "Gold Crate"},/obj/item/stack/sheet/mineral/gold{pixel_x = -1; pixel_y = 5},/obj/item/stack/sheet/mineral/gold{pixel_y = 2},/obj/item/stack/sheet/mineral/gold{pixel_x = 1; pixel_y = -2},/obj/item/weapon/storage/belt/champion,/obj/item/weapon/cell/infinite,/turf/simulated/floor{ icon_state = "vault"; dir = 1},/area/awaymission/labs/command) +"qS" = (/obj/machinery/camera{c_tag = "Vault"; dir = 4; network = "SS13"},/obj/structure/closet/crate{name = "Gold Crate"},/obj/item/stack/sheet/mineral/gold{pixel_x = -1; pixel_y = 5},/obj/item/stack/sheet/mineral/gold{pixel_y = 2},/obj/item/stack/sheet/mineral/gold{pixel_x = 1; pixel_y = -2},/obj/item/storage/belt/champion,/obj/item/cell/infinite,/turf/simulated/floor{ icon_state = "vault"; dir = 1},/area/awaymission/labs/command) "qT" = (/obj/machinery/nuclearbomb{r_code = "LOLNO"},/turf/simulated/floor{ icon_state = "vault"; dir = 8},/area/awaymission/labs/command) -"qU" = (/obj/item/weapon/coin/silver{pixel_x = 7; pixel_y = 12},/obj/item/weapon/coin/silver{pixel_x = 12; pixel_y = 7},/obj/item/weapon/coin/silver{pixel_x = 4; pixel_y = 8},/obj/item/weapon/coin/silver{pixel_x = -6; pixel_y = 5},/obj/item/weapon/coin/silver{pixel_x = 5; pixel_y = -8},/obj/structure/closet/crate{name = "Silver Crate"},/turf/simulated/floor{ icon_state = "vault"; dir = 4},/area/awaymission/labs/command) +"qU" = (/obj/item/coin/silver{pixel_x = 7; pixel_y = 12},/obj/item/coin/silver{pixel_x = 12; pixel_y = 7},/obj/item/coin/silver{pixel_x = 4; pixel_y = 8},/obj/item/coin/silver{pixel_x = -6; pixel_y = 5},/obj/item/coin/silver{pixel_x = 5; pixel_y = -8},/obj/structure/closet/crate{name = "Silver Crate"},/turf/simulated/floor{ icon_state = "vault"; dir = 4},/area/awaymission/labs/command) "qV" = (/obj/effect/alien/flesh/weeds,/turf/unsimulated/desert,/area/awaymission/labs/cave) -"qW" = (/obj/structure/table/standard,/obj/item/weapon/kitchen/utensil/fork,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/labs/civilian) +"qW" = (/obj/structure/table/standard,/obj/item/kitchen/utensil/fork,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/labs/civilian) "qX" = (/obj/machinery/door/airlock/glass{name = "Civilian Division"},/turf/simulated/floor,/area/awaymission/labs/civilian) "qY" = (/obj/machinery/door/airlock/glass{name = "Command Rotunda"},/turf/simulated/floor,/area/awaymission/labs/command) -"qZ" = (/obj/item/weapon/coin/silver{pixel_x = 12; pixel_y = 11},/turf/simulated/floor{ icon_state = "vault"; dir = 4},/area/awaymission/labs/command) +"qZ" = (/obj/item/coin/silver{pixel_x = 12; pixel_y = 11},/turf/simulated/floor{ icon_state = "vault"; dir = 4},/area/awaymission/labs/command) "ra" = (/obj/effect/alien/flesh/weeds{icon_state = "flesh2"},/obj/effect/decal/cleanable/blood/gibs/up,/turf/unsimulated/desert,/area/awaymission/labs/cave) "rb" = (/obj/effect/decal/cleanable/blood,/obj/effect/landmark/corpse/officer,/turf/simulated/floor{icon_state = "bar"},/area/awaymission/labs/civilian) "rc" = (/obj/structure/stool/bed/chair{dir = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "bar"},/area/awaymission/labs/civilian) @@ -936,13 +936,13 @@ "rZ" = (/obj/effect/alien/flesh/weeds{icon_state = "flesh1"},/obj/effect/decal/cleanable/blood/gibs/limb,/turf/unsimulated/desert,/area/awaymission/labs/cave) "sa" = (/obj/machinery/shower{ icon_state = "shower"; dir = 4},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/labs/civilian) "sb" = (/obj/structure/stool,/turf/simulated/floor,/area/awaymission/labs/civilian) -"sc" = (/obj/structure/table/standard,/obj/item/weapon/paper{icon_state = "paper_words"; info = "
      Memo to all Personnel


      Greetings,

      I have recently heard of rumors amongst our workers that we 'kidnap' some in their sleep and drag them off to the high-security laboratories. This has caused enough stir in our ranks that I personally am writing to you to denounce these naysayings. We at NanoTrasen would never do such things to harm our personnel, especially ones who put their lives on the line in dangerous caverns and extreme temperatures to excavate century-old artifacts. Rest assured, the laboratories in the high-security section are for nothing but the studying of the artifacts that you bring back to us.

      Now that that is out of the way, allow me to personally give my congratulations to our Head of Excavation, S'rrsa Unoyo, who is celebrating her twenty-seventh birthday today. Celebrations will be held in the mess hall after work hours, and all staff are invited.

      As always, please have a productive shift, and do not listen to the fearmongering of certain individuals. You are safe here, with us, at NanoTrasen.

      -Overseer McDonald"; name = "Personnel Memo"},/turf/simulated/floor,/area/awaymission/labs/civilian) -"sd" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor,/area/awaymission/labs/civilian) +"sc" = (/obj/structure/table/standard,/obj/item/paper{icon_state = "paper_words"; info = "
      Memo to all Personnel


      Greetings,

      I have recently heard of rumors amongst our workers that we 'kidnap' some in their sleep and drag them off to the high-security laboratories. This has caused enough stir in our ranks that I personally am writing to you to denounce these naysayings. We at NanoTrasen would never do such things to harm our personnel, especially ones who put their lives on the line in dangerous caverns and extreme temperatures to excavate century-old artifacts. Rest assured, the laboratories in the high-security section are for nothing but the studying of the artifacts that you bring back to us.

      Now that that is out of the way, allow me to personally give my congratulations to our Head of Excavation, S'rrsa Unoyo, who is celebrating her twenty-seventh birthday today. Celebrations will be held in the mess hall after work hours, and all staff are invited.

      As always, please have a productive shift, and do not listen to the fearmongering of certain individuals. You are safe here, with us, at NanoTrasen.

      -Overseer McDonald"; name = "Personnel Memo"},/turf/simulated/floor,/area/awaymission/labs/civilian) +"sd" = (/obj/structure/table/standard,/obj/item/storage/toolbox/mechanical,/turf/simulated/floor,/area/awaymission/labs/civilian) "se" = (/obj/structure/table/standard,/turf/simulated/floor,/area/awaymission/labs/civilian) "sf" = (/obj/structure/closet/toolcloset,/turf/simulated/floor,/area/awaymission/labs/civilian) "sg" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor,/area/awaymission/labs/civilian) "sh" = (/obj/structure/closet/secure_closet/engineering_electrical,/turf/simulated/floor,/area/awaymission/labs/civilian) -"si" = (/obj/item/weapon/soap/nanotrasen,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/labs/civilian) +"si" = (/obj/item/soap/nanotrasen,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/labs/civilian) "sj" = (/obj/machinery/door/airlock{name = "Communal Bathroom"},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/labs/civilian) "sk" = (/obj/effect/landmark/corpse/alien/laborer,/turf/simulated/floor,/area/awaymission/labs/civilian) "sl" = (/obj/machinery/door/airlock/maintenance_hatch{name = "Underground Maintenance"},/turf/simulated/floor,/area/awaymission/labs/civilian) @@ -951,7 +951,7 @@ "so" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor,/area/awaymission/labs/civilian) "sp" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/awaymission/labs/civilian) "sq" = (/obj/machinery/power/apc{dir = 4; name = "Worn-out APC"; pixel_x = 24; pixel_y = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/awaymission/labs/civilian) -"sr" = (/obj/structure/table/standard,/obj/item/weapon/paper{icon_state = "paper_words"; info = "Hey, Carlos, when you get this, get down into the sewers and fix the damn piping, will you? That nasty fleshy shit's been growing again. Blocked off half the pipes and it's stil clogging the vents. Has to be coming from the high security section, that's the only pipe I hadn't tried to seal yet. Dunno what those freaks in research are doing but tell them to fucking knock it off. I'm not paid enough to scrape that crap off the walls down there. It's starting to get into the air as well, smells terrible. Yell at the head egghead or something."; name = "Note"},/turf/simulated/floor,/area/awaymission/labs/civilian) +"sr" = (/obj/structure/table/standard,/obj/item/paper{icon_state = "paper_words"; info = "Hey, Carlos, when you get this, get down into the sewers and fix the damn piping, will you? That nasty fleshy shit's been growing again. Blocked off half the pipes and it's stil clogging the vents. Has to be coming from the high security section, that's the only pipe I hadn't tried to seal yet. Dunno what those freaks in research are doing but tell them to fucking knock it off. I'm not paid enough to scrape that crap off the walls down there. It's starting to get into the air as well, smells terrible. Yell at the head egghead or something."; name = "Note"},/turf/simulated/floor,/area/awaymission/labs/civilian) "ss" = (/turf/simulated/wall/r_wall,/area/awaymission/labs/security) "st" = (/obj/structure/grille{layer = 3.3},/obj/structure/window/reinforced{dir = 5; health = 1e+007; layer = 3.4},/obj/machinery/door/poddoor{density = 1; icon_state = "pdoor1"; id = "sandstorm shutters"; layer = 2.4; name = "Sandstorm Shutters"; opacity = 1},/turf/simulated/floor,/area/awaymission/labs/security) "su" = (/turf/simulated/wall,/area/awaymission/labs/medical) @@ -965,9 +965,9 @@ "sC" = (/obj/structure/reagent_dispensers/water_cooler,/turf/simulated/floor,/area/awaymission/labs/security) "sD" = (/obj/structure/closet/secure_closet/security,/turf/simulated/floor,/area/awaymission/labs/security) "sE" = (/obj/machinery/vending/medical,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) -"sF" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/adv,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) +"sF" = (/obj/structure/table/standard,/obj/item/storage/firstaid/adv,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "sG" = (/obj/structure/table/standard,/obj/machinery/computer/med_data/laptop{pixel_x = 1; pixel_y = 3},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) -"sH" = (/obj/structure/table/standard,/obj/item/weapon/storage/beakerbox,/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) +"sH" = (/obj/structure/table/standard,/obj/item/storage/beakerbox,/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "sI" = (/obj/structure/closet/secure_closet/medical1,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "sJ" = (/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "sK" = (/obj/structure/stool/bed/chair,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) @@ -981,7 +981,7 @@ "sS" = (/obj/machinery/door/airlock/glass_medical{name = "Medical"},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "sT" = (/obj/machinery/door/airlock/glass_medical{name = "Medical"},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/command) "sU" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor,/area/awaymission/labs/security) -"sV" = (/obj/structure/table/standard,/obj/item/weapon/book/manual/security_space_law,/turf/simulated/floor,/area/awaymission/labs/security) +"sV" = (/obj/structure/table/standard,/obj/item/book/manual/wiki/security_space_law,/turf/simulated/floor,/area/awaymission/labs/security) "sW" = (/obj/structure/table/standard,/turf/simulated/floor,/area/awaymission/labs/security) "sX" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor,/area/awaymission/labs/security) "sY" = (/obj/effect/decal/cleanable/blood/tracks,/turf/simulated/floor,/area/awaymission/labs/security) @@ -1000,14 +1000,14 @@ "tl" = (/obj/structure/stool/bed/chair{dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/awaymission/labs/security) "tm" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/awaymission/labs/security) "tn" = (/obj/structure/closet/secure_closet/personal/patient,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) -"to" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/medical,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) +"to" = (/obj/structure/stool/bed,/obj/item/bedsheet/medical,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "tp" = (/obj/machinery/vending/wallmed1{pixel_y = 28},/obj/structure/stool/bed/chair/office/light{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) -"tq" = (/obj/structure/table/standard,/obj/item/weapon/folder/white,/obj/item/clothing/tie/stethoscope,/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) +"tq" = (/obj/structure/table/standard,/obj/item/folder/white,/obj/item/clothing/tie/stethoscope,/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "tr" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/space,/area/awaymission/labs/medical) "ts" = (/obj/effect/decal/cleanable/blood/tracks,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "tt" = (/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor,/area/awaymission/labs/security) "tu" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; frequency = 1379; id_tag = "engineering_aux_pump"; on = 1},/turf/simulated/floor,/area/awaymission/labs/security) -"tv" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/orange,/turf/simulated/floor,/area/awaymission/labs/security) +"tv" = (/obj/structure/stool/bed,/obj/item/bedsheet/orange,/turf/simulated/floor,/area/awaymission/labs/security) "tw" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/awaymission/labs/security) "tx" = (/obj/machinery/door/airlock/medical{name = "Patient Room"},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "ty" = (/obj/structure/table/standard,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) @@ -1016,22 +1016,22 @@ "tB" = (/obj/structure/table/woodentable,/turf/simulated/floor,/area/awaymission/labs/security) "tC" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/awaymission/labs/security) "tD" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) -"tE" = (/obj/item/weapon/gun/syringe/rapidsyringe,/obj/structure/table/standard,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) +"tE" = (/obj/item/gun/syringe/rapidsyringe,/obj/structure/table/standard,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "tF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "tG" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "tH" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) -"tI" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) +"tI" = (/obj/structure/table/standard,/obj/item/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "tJ" = (/obj/machinery/chem_master,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "tK" = (/obj/machinery/chem_dispenser,/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "tL" = (/obj/machinery/bodyscanner,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "tM" = (/obj/machinery/body_scanconsole,/obj/machinery/atmospherics/unary/vent_pump{dir = 8; frequency = 1379; id_tag = "engineering_aux_pump"; on = 1},/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "tN" = (/obj/structure/closet/secure_closet/personal/patient,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) -"tO" = (/obj/structure/table/standard,/obj/item/weapon/storage/pill_bottle,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) +"tO" = (/obj/structure/table/standard,/obj/item/storage/pill_bottle,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "tP" = (/obj/effect/decal/cleanable/greenglow,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "tQ" = (/obj/effect/critter/fleshmonster,/turf/simulated/floor,/area/awaymission/labs/security) "tR" = (/obj/structure/rack,/turf/simulated/floor{ icon_state = "vault"; dir = 8},/area/awaymission/labs/security) -"tS" = (/obj/structure/rack,/obj/item/weapon/gun/projectile/shotgun/pump/sc_pump,/obj/machinery/light{dir = 1},/turf/simulated/floor{ icon_state = "vault"; dir = 8},/area/awaymission/labs/security) -"tT" = (/obj/structure/rack,/obj/item/clothing/suit/armor/riot,/obj/item/weapon/melee/baton,/obj/item/weapon/shield/riot,/obj/item/clothing/head/helmet/riot,/turf/simulated/floor{ icon_state = "vault"; dir = 8},/area/awaymission/labs/security) +"tS" = (/obj/structure/rack,/obj/item/gun/projectile/shotgun/pump/sc_pump,/obj/machinery/light{dir = 1},/turf/simulated/floor{ icon_state = "vault"; dir = 8},/area/awaymission/labs/security) +"tT" = (/obj/structure/rack,/obj/item/clothing/suit/armor/riot,/obj/item/melee/baton,/obj/item/shield/riot,/obj/item/clothing/head/helmet/riot,/turf/simulated/floor{ icon_state = "vault"; dir = 8},/area/awaymission/labs/security) "tU" = (/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/awaymission/labs/security) "tV" = (/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/awaymission/labs/security) "tW" = (/obj/structure/rack,/obj/machinery/light{dir = 1},/turf/simulated/floor{ icon_state = "vault"; dir = 8},/area/awaymission/labs/security) @@ -1048,22 +1048,22 @@ "uh" = (/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/labs/security) "ui" = (/obj/structure/closet/secure_closet/warden,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/labs/security) "uj" = (/obj/structure/rack,/obj/item/ammo_magazine/c45,/turf/simulated/floor{ icon_state = "vault"; dir = 8},/area/awaymission/labs/security) -"uk" = (/obj/structure/rack,/obj/item/ammo_magazine/c45,/obj/item/weapon/gun/projectile/silenced/sc_silenced{desc = "A sidearm commonly favored by terrestrial security forces."; icon_state = "g115 Pistol"; name = "Pistol"; silenced = 0},/turf/simulated/floor{ icon_state = "vault"; dir = 8},/area/awaymission/labs/security) -"ul" = (/obj/structure/table/standard,/obj/item/weapon/storage/backpack/satchel/med,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) +"uk" = (/obj/structure/rack,/obj/item/ammo_magazine/c45,/obj/item/gun/projectile/silenced/sc_silenced{desc = "A sidearm commonly favored by terrestrial security forces."; icon_state = "g115 Pistol"; name = "Pistol"; silenced = 0},/turf/simulated/floor{ icon_state = "vault"; dir = 8},/area/awaymission/labs/security) +"ul" = (/obj/structure/table/standard,/obj/item/storage/backpack/satchel/med,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "um" = (/obj/machinery/computer/prisoner,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/labs/security) "un" = (/obj/machinery/computer/security,/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/labs/security) -"uo" = (/obj/structure/table/standard,/obj/item/weapon/gun/syringe/rapidsyringe,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) -"up" = (/obj/structure/table/standard,/obj/item/weapon/scalpel,/obj/item/weapon/retractor,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) -"uq" = (/obj/structure/table/standard,/obj/item/weapon/surgicaldrill,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) +"uo" = (/obj/structure/table/standard,/obj/item/gun/syringe/rapidsyringe,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) +"up" = (/obj/structure/table/standard,/obj/item/scalpel,/obj/item/retractor,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) +"uq" = (/obj/structure/table/standard,/obj/item/surgicaldrill,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "ur" = (/obj/structure/table/standard,/obj/machinery/light,/obj/machinery/power/apc{dir = 0; name = "Worn-out APC"; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "us" = (/obj/structure/reagent_dispensers/water_cooler,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "ut" = (/obj/structure/closet/secure_closet/medical3,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) -"uu" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/fire,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) -"uv" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/o2,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) -"uw" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/toxin,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) +"uu" = (/obj/structure/table/standard,/obj/item/storage/firstaid/fire,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) +"uv" = (/obj/structure/table/standard,/obj/item/storage/firstaid/o2,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) +"uw" = (/obj/structure/table/standard,/obj/item/storage/firstaid/toxin,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "ux" = (/obj/machinery/iv_drip,/turf/simulated/floor{icon_state = "white"},/area/awaymission/labs/medical) "uy" = (/obj/machinery/vending/cola,/turf/simulated/floor,/area/awaymission/labs/security) -"uz" = (/obj/structure/table/reinforced,/obj/machinery/door/window/westright,/obj/machinery/door/window/eastright,/obj/item/weapon/paper{icon_state = "paper_words"; info = "
      Incident Report


      Arresting Officer: Meyers

      Suspect: Laborer #24

      Charge: Assault

      Description of events: Damn fool clocked another lizard upside the head with his wrench, started screaming about how the voices in his head wanted him to bring bodies to research to 'feed the mother' or something. Probably spent too much time down in those caves. Give him a good couple of days in the brig, he'll snap out of it quick enough."; name = "Incident Report"},/turf/simulated/floor,/area/awaymission/labs/security) +"uz" = (/obj/structure/table/reinforced,/obj/machinery/door/window/westright,/obj/machinery/door/window/eastright,/obj/item/paper{icon_state = "paper_words"; info = "
      Incident Report


      Arresting Officer: Meyers

      Suspect: Laborer #24

      Charge: Assault

      Description of events: Damn fool clocked another lizard upside the head with his wrench, started screaming about how the voices in his head wanted him to bring bodies to research to 'feed the mother' or something. Probably spent too much time down in those caves. Give him a good couple of days in the brig, he'll snap out of it quick enough."; name = "Incident Report"},/turf/simulated/floor,/area/awaymission/labs/security) "uA" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/labs/security) "uB" = (/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/awaymission/labs/security) "uC" = (/turf/simulated/floor{ icon_state = "warningcorner"; dir = 4},/area/awaymission/labs/security) @@ -1072,13 +1072,13 @@ "uF" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/awaymission/labs/security) "uG" = (/obj/structure/toilet,/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/awaymission/labs/security) "uH" = (/obj/machinery/shower,/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/awaymission/labs/security) -"uI" = (/obj/structure/table/standard,/obj/item/weapon/folder/red,/obj/item/weapon/book/manual/security_space_law{pixel_x = -3; pixel_y = 5},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/labs/security) +"uI" = (/obj/structure/table/standard,/obj/item/folder/red,/obj/item/book/manual/wiki/security_space_law{pixel_x = -3; pixel_y = 5},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/labs/security) "uJ" = (/obj/machinery/door/airlock/glass_security{name = "Armory"},/turf/simulated/floor,/area/awaymission/labs/security) "uK" = (/obj/machinery/computer/arcade,/turf/simulated/floor,/area/awaymission/labs/security) "uL" = (/obj/machinery/door/window/westright,/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/awaymission/labs/security) "uM" = (/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/awaymission/labs/security) "uN" = (/obj/structure/closet/secure_closet/brig,/turf/simulated/floor,/area/awaymission/labs/security) -"uO" = (/obj/structure/table/standard,/obj/machinery/recharger,/obj/item/weapon/gun/energy/stunrevolver{pixel_y = 6},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/labs/security) +"uO" = (/obj/structure/table/standard,/obj/machinery/recharger,/obj/item/gun/energy/stunrevolver{pixel_y = 6},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/labs/security) "uP" = (/obj/machinery/recharger,/obj/structure/table/reinforced,/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/awaymission/labs/security) "uQ" = (/obj/machinery/recharger,/obj/structure/reagent_dispensers/peppertank{pixel_x = 0; pixel_y = -30},/obj/structure/table/reinforced,/obj/machinery/light,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/awaymission/labs/security) "uR" = (/obj/machinery/recharger,/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "red"; dir = 5},/area/awaymission/labs/security) diff --git a/maps/gateway_vr/carpfarm.dm b/maps/gateway_vr/carpfarm.dm index 61658710ef2..e43251de086 100644 --- a/maps/gateway_vr/carpfarm.dm +++ b/maps/gateway_vr/carpfarm.dm @@ -21,7 +21,7 @@ /area/awaymission/carpfarm/base/entry icon_state = "blue" -/obj/item/weapon/paper/awaygate/carpfarm/suicide +/obj/item/paper/awaygate/carpfarm/suicide name = "suicide letter" info = "dear rescue,

      my name markov. if reading this, i am dead. i am was miner for 3rd union of soviet socialist republiks. \ comrades yuri, dimitri, ivan, all eaten by space carp. all started month ago when soviet shipment sent new sonic jackhammers. \ diff --git a/maps/gateway_vr/carpfarm.dmm b/maps/gateway_vr/carpfarm.dmm index 6f90e4f782f..5d38b0a9933 100644 --- a/maps/gateway_vr/carpfarm.dmm +++ b/maps/gateway_vr/carpfarm.dmm @@ -17,7 +17,7 @@ /turf/simulated/mineral/floor/ignore_mapgen, /area/space) "aj" = ( -/obj/item/weapon/pickaxe/jackhammer, +/obj/item/pickaxe/jackhammer, /turf/simulated/mineral/floor/ignore_mapgen, /area/space) "ak" = ( @@ -121,7 +121,7 @@ /turf/simulated/floor/lino, /area/awaymission/carpfarm/base) "az" = ( -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical, /obj/structure/cable, /obj/machinery/power/apc{ alarms_hidden = 1; @@ -132,7 +132,7 @@ /obj/effect/floor_decal/industrial/warning{ dir = 1 }, -/obj/item/weapon/paper/awaygate/carpfarm/suicide, +/obj/item/paper/awaygate/carpfarm/suicide, /turf/simulated/floor/plating, /area/awaymission/carpfarm/base) "aA" = ( @@ -173,7 +173,7 @@ /turf/simulated/floor/tiled/white, /area/awaymission/carpfarm/base) "aH" = ( -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/structure/bed/padded, /turf/simulated/floor/lino, /area/awaymission/carpfarm/base) @@ -185,8 +185,8 @@ /obj/item/clothing/suit/space/void/mining, /obj/item/clothing/mask/breath, /obj/item/clothing/head/helmet/space/void/mining, -/obj/item/weapon/mining_scanner, -/obj/item/weapon/tank/jetpack/oxygen, +/obj/item/mining_scanner, +/obj/item/tank/jetpack/oxygen, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/plating, /area/awaymission/carpfarm/base) @@ -195,7 +195,7 @@ /area/awaymission/carpfarm/base) "aL" = ( /obj/structure/closet/toolcloset, -/obj/item/weapon/pickaxe/jackhammer, +/obj/item/pickaxe/jackhammer, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/plating, /area/awaymission/carpfarm/base) @@ -335,9 +335,9 @@ dir = 8 }, /obj/structure/closet/crate/internals, -/obj/item/weapon/tank/emergency/oxygen/engi, -/obj/item/weapon/tank/emergency/oxygen/engi, -/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, /obj/item/clothing/mask/breath, /obj/item/clothing/mask/breath, /obj/item/clothing/mask/breath, @@ -346,9 +346,9 @@ /area/awaymission/carpfarm/base) "bl" = ( /obj/structure/closet/crate/internals, -/obj/item/weapon/tank/emergency/oxygen/engi, -/obj/item/weapon/tank/emergency/oxygen/engi, -/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, /obj/item/clothing/mask/breath, /obj/item/clothing/mask/breath, /obj/item/clothing/mask/breath, @@ -381,7 +381,7 @@ /area/awaymission/carpfarm/base) "br" = ( /obj/item/mecha_parts/mecha_equipment/tool/drill, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /obj/structure/table/steel, /turf/simulated/floor/tiled, /area/awaymission/carpfarm/base) @@ -458,7 +458,7 @@ /area/awaymission/carpfarm/base) "bD" = ( /obj/structure/closet/crate/secure/weapon, -/obj/item/weapon/gun/projectile/shotgun/pump/rifle, +/obj/item/gun/projectile/shotgun/pump/rifle, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/dark, /area/awaymission/carpfarm/base) @@ -565,13 +565,13 @@ /turf/simulated/floor/tiled, /area/awaymission/carpfarm/base) "bS" = ( -/obj/item/weapon/reagent_containers/food/snacks/cubancarp, +/obj/item/reagent_containers/food/snacks/cubancarp, /obj/effect/floor_decal/corner/white/diagonal, /obj/structure/table/glass, /turf/simulated/floor/tiled, /area/awaymission/carpfarm/base) "bT" = ( -/obj/item/weapon/reagent_containers/food/snacks/carpmeat, +/obj/item/reagent_containers/food/snacks/carpmeat, /obj/effect/floor_decal/corner/white/diagonal, /obj/structure/table/glass, /turf/simulated/floor/tiled, @@ -617,7 +617,7 @@ /area/awaymission/carpfarm/base) "bX" = ( /obj/structure/closet/emcloset, -/obj/item/weapon/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, /obj/machinery/airlock_sensor{ frequency = 1375; id_tag = "carp_sensor"; diff --git a/maps/gateway_vr/isle_de_monch.dmm b/maps/gateway_vr/isle_de_monch.dmm index 82f66aa4977..d011a53d3f6 100644 --- a/maps/gateway_vr/isle_de_monch.dmm +++ b/maps/gateway_vr/isle_de_monch.dmm @@ -21,7 +21,7 @@ "bE" = ( /obj/structure/table/steel, /obj/machinery/light, -/obj/item/weapon/storage/toolbox/electrical{ +/obj/item/storage/toolbox/electrical{ pixel_x = -3; pixel_y = -2 }, @@ -142,7 +142,7 @@ /obj/structure/cable{ icon_state = "0-8" }, -/obj/item/weapon/melee/baton/cattleprod{ +/obj/item/melee/baton/cattleprod{ desc = "Metal rod with wire attached to it."; name = "jury-rigged antenna"; pixel_x = 5; @@ -529,16 +529,16 @@ /obj/structure/cable{ icon_state = "0-4" }, -/obj/item/weapon/melee/baton/cattleprod{ +/obj/item/melee/baton/cattleprod{ desc = "Metal rod with wire attached to it."; name = "jury-rigged antenna"; pixel_x = 5; pixel_y = 4 }, -/obj/item/weapon/cell/emergency_light{ +/obj/item/cell/emergency_light{ pixel_x = -4 }, -/obj/item/device/radio/off{ +/obj/item/radio/off{ channels = list("Talon" = 1); pixel_x = 4; pixel_y = -3 @@ -876,7 +876,7 @@ pixel_x = -22 }, /obj/structure/closet/walllocker_double/kitchen/south, -/obj/item/device/multitool{ +/obj/item/multitool{ pixel_x = 4; pixel_y = 2 }, @@ -919,7 +919,7 @@ /area/tether_away/beach/resort) "Po" = ( /obj/structure/table/standard, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled/techfloor, /area/tether_away/beach/resort) "PI" = ( @@ -1053,7 +1053,7 @@ /obj/structure/railing/grey{ dir = 4 }, -/obj/item/weapon/gun/projectile/pistol, +/obj/item/gun/projectile/pistol, /obj/item/ammo_magazine/m9mm/compact, /obj/item/ammo_magazine/m9mm/compact, /turf/simulated/floor/tiled/techmaint, @@ -1158,7 +1158,7 @@ /turf/simulated/floor/tiled/techmaint, /area/tether_away/beach/resort) "Xl" = ( -/obj/item/weapon/circuitboard/broken, +/obj/item/circuitboard/broken, /turf/simulated/floor/plating, /area/tether_away/beach/resort) "Xo" = ( @@ -1175,7 +1175,7 @@ /turf/simulated/floor/tiled/techfloor, /area/tether_away/beach/resort) "Xw" = ( -/obj/item/weapon/circuitboard/broken, +/obj/item/circuitboard/broken, /turf/simulated/floor/tiled/techfloor, /area/tether_away/beach/resort) "Xx" = ( diff --git a/maps/gateway_vr/listeningpost.dm b/maps/gateway_vr/listeningpost.dm index c7504ff740d..cb82e1e0c85 100644 --- a/maps/gateway_vr/listeningpost.dm +++ b/maps/gateway_vr/listeningpost.dm @@ -5,23 +5,23 @@ [i]Class[/i]: Wreckage [i]Transponder[/i]: None Detected"} -/obj/item/weapon/paper/listeningpost/mission +/obj/item/paper/listeningpost/mission name = "\improper Operation: Watchtower" info = {"Mission Details: You have been assigned to a newly constructed listening post constructed within an asteroid in Nanotrasen space to monitor their phoron mining operations. Accurate intel is crucial to the success of our operatives onboard, do not fail us."} -/obj/item/weapon/paper/listeningpost/reciept +/obj/item/paper/listeningpost/reciept name = "\improper SpacEx reciept" info = {"1 x Stechtkin pistol plus ammo - $600
      1 x silencer - $200
      shipping charge - $4360
      total - $5160"} -/obj/item/weapon/paper/crumpled/listeningpost/fanfiction +/obj/item/paper/crumpled/listeningpost/fanfiction name = "\improper Regarding Latest Report" info = {"I swear to god, Dave, if you send us your stupid 'Futuristic version of VORE' fanfiction instead of actual report again 'on accident' even one more time, I'm sending you there myself, and you know better than most what they do there. Your writing is trash anyway, I bet even those freaks wouldn't like it."} -/obj/item/weapon/paper/listeningpost/departure +/obj/item/paper/listeningpost/departure name = "\improper Notice To All Facilities" info = {"After recent developments and Nanotrasen deal, we're pulling back resources from the Virgo-Erigone system. Any facility recieving this notice is to collect all valuable equipment and data, then fly to the closest general facility diff --git a/maps/gateway_vr/listeningpost.dmm b/maps/gateway_vr/listeningpost.dmm index 3d32c77f5bd..255737eabe1 100644 --- a/maps/gateway_vr/listeningpost.dmm +++ b/maps/gateway_vr/listeningpost.dmm @@ -68,8 +68,8 @@ /turf/simulated/floor/airless, /area/awaymission/listeningpost) "aq" = ( -/obj/item/weapon/pen, -/obj/item/weapon/paper/listeningpost/departure, +/obj/item/pen, +/obj/item/paper/listeningpost/departure, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/airless, /area/awaymission/listeningpost) @@ -108,7 +108,7 @@ /obj/structure/bed/chair/bay/comfy/red{ dir = 1 }, -/obj/item/weapon/tank/oxygen, +/obj/item/tank/oxygen, /turf/simulated/shuttle/floor/red/airless, /area/space) "ay" = ( @@ -130,7 +130,7 @@ /turf/simulated/floor/airless, /area/awaymission/listeningpost) "aB" = ( -/obj/item/weapon/gun/projectile/pistol, +/obj/item/gun/projectile/pistol, /turf/simulated/shuttle/floor/red/airless, /area/space) "aC" = ( @@ -141,7 +141,7 @@ /turf/simulated/floor/airless, /area/awaymission/listeningpost) "aD" = ( -/obj/item/weapon/circuitboard/broken, +/obj/item/circuitboard/broken, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/airless, /area/awaymission/listeningpost) @@ -171,13 +171,13 @@ /area/awaymission/listeningpost) "aI" = ( /obj/structure/table/rack, -/obj/item/weapon/paper/listeningpost/reciept, +/obj/item/paper/listeningpost/reciept, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/airless, /area/awaymission/listeningpost) "aJ" = ( /obj/machinery/door/airlock, -/obj/item/weapon/silencer, +/obj/item/silencer, /obj/effect/decal/cleanable/dirt, /obj/effect/floor_decal/rust, /turf/simulated/floor/airless, @@ -280,7 +280,7 @@ /turf/simulated/floor/airless, /area/awaymission/listeningpost) "bc" = ( -/obj/item/weapon/card/emag_broken, +/obj/item/card/emag_broken, /turf/space, /area/space) "bd" = ( @@ -328,7 +328,7 @@ /area/awaymission/listeningpost) "bm" = ( /obj/structure/closet, -/obj/item/weapon/paper/listeningpost/mission, +/obj/item/paper/listeningpost/mission, /obj/effect/decal/cleanable/dirt, /obj/effect/floor_decal/rust, /turf/simulated/floor/airless, @@ -368,7 +368,7 @@ /obj/effect/floor_decal/techfloor/hole/right{ dir = 4 }, -/obj/item/weapon/broken_bottle, +/obj/item/broken_bottle, /obj/effect/decal/cleanable/cobweb2, /obj/effect/decal/cleanable/dirt, /obj/effect/floor_decal/rust, @@ -385,8 +385,8 @@ dir = 8; icon_state = "toilet00" }, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/paper/crumpled/listeningpost/fanfiction, +/obj/item/tool/crowbar, +/obj/item/paper/crumpled/listeningpost/fanfiction, /obj/effect/decal/cleanable/dirt, /obj/effect/floor_decal/rust, /turf/simulated/floor/airless, diff --git a/maps/gateway_vr/lucky_7.dmm b/maps/gateway_vr/lucky_7.dmm index 254dfd346b8..bcd94780f03 100644 --- a/maps/gateway_vr/lucky_7.dmm +++ b/maps/gateway_vr/lucky_7.dmm @@ -137,7 +137,7 @@ "ap" = ( /obj/effect/floor_decal/corner/grey/diagonal, /obj/structure/table/marble, -/obj/item/weapon/material/knife/butch, +/obj/item/material/knife/butch, /turf/simulated/floor/tiled/white, /area/awaymission/lucky7/kitchen) "aq" = ( @@ -178,7 +178,7 @@ /obj/structure/casino_table/craps{ dir = 1 }, -/obj/item/weapon/dice{ +/obj/item/dice{ pixel_x = 4; pixel_y = 6 }, @@ -237,7 +237,7 @@ /turf/simulated/floor/tiled/eris/steel/bar_dance, /area/awaymission/lucky7/loungeprivateroom) "aC" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /obj/structure/disposalpipe/segment{ @@ -443,9 +443,9 @@ dir = 4; pixel_x = 24 }, -/obj/item/weapon/storage/box/roulette_balls_normal, -/obj/item/weapon/storage/box/roulette_balls_fancy, -/obj/item/weapon/storage/box/roulette_balls_cheat, +/obj/item/storage/box/roulette_balls_normal, +/obj/item/storage/box/roulette_balls_fancy, +/obj/item/storage/box/roulette_balls_cheat, /obj/structure/table/rack/shelf, /turf/simulated/floor/tiled/dark, /area/awaymission/lucky7/breakroom) @@ -560,7 +560,7 @@ /area/awaymission/lucky7/privateroom/three) "bC" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/kitchen/utensil/fork/plastic, +/obj/item/material/kitchen/utensil/fork/plastic, /turf/simulated/floor/carpet/brown, /area/awaymission/lucky7/casinofloor) "bD" = ( @@ -572,7 +572,7 @@ /obj/structure/cable/green{ icon_state = "4-8" }, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = 10; pixel_y = 8 }, @@ -619,7 +619,7 @@ /obj/structure/casino_table/blackjack_m{ dir = 4 }, -/obj/item/weapon/deck/cards/casino, +/obj/item/deck/cards/casino, /obj/machinery/light/floortube{ dir = 8 }, @@ -788,25 +788,25 @@ /area/awaymission/lucky7/loungeprivateroom) "da" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass{ +/obj/item/reagent_containers/food/drinks/drinkingglass{ pixel_x = 7; pixel_y = 3 }, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass{ +/obj/item/reagent_containers/food/drinks/drinkingglass{ pixel_x = -7; pixel_y = 3 }, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass{ +/obj/item/reagent_containers/food/drinks/drinkingglass{ pixel_y = 3 }, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass{ +/obj/item/reagent_containers/food/drinks/drinkingglass{ pixel_x = -7; pixel_y = -3 }, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass{ +/obj/item/reagent_containers/food/drinks/drinkingglass{ pixel_y = -3 }, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass{ +/obj/item/reagent_containers/food/drinks/drinkingglass{ pixel_x = 7; pixel_y = -3 }, @@ -1039,7 +1039,7 @@ "er" = ( /obj/effect/floor_decal/rust, /obj/structure/table/steel, -/obj/item/weapon/weldingtool{ +/obj/item/weldingtool{ pixel_x = 1; pixel_y = -4 }, @@ -1081,7 +1081,7 @@ /area/awaymission/lucky7/privateroom/two) "ey" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/bluedouble, +/obj/item/bedsheet/bluedouble, /obj/machinery/alarm{ dir = 8; pixel_x = 27 @@ -1104,7 +1104,7 @@ /turf/simulated/floor/water/pool, /area/awaymission/lucky7/privateroom/vip) "eF" = ( -/obj/item/weapon/stool/baystool/padded{ +/obj/item/stool/baystool/padded{ dir = 1 }, /turf/simulated/floor/carpet/retro, @@ -1129,11 +1129,11 @@ dir = 4 }, /obj/structure/table/reinforced, -/obj/item/weapon/handcuffs{ +/obj/item/handcuffs{ pixel_y = -5 }, -/obj/item/weapon/handcuffs, -/obj/item/weapon/handcuffs{ +/obj/item/handcuffs, +/obj/item/handcuffs{ pixel_y = 5 }, /turf/simulated/floor/tiled, @@ -1183,7 +1183,7 @@ "eY" = ( /obj/effect/floor_decal/corner/grey/diagonal, /obj/structure/table/marble, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/kitchen/rollingpin, /turf/simulated/floor/tiled/white, /area/awaymission/lucky7/kitchen) "fb" = ( @@ -1198,7 +1198,7 @@ /area/awaymission/lucky7/casinofloor) "ff" = ( /obj/structure/closet/secure_closet/personal/cabinet, -/obj/item/weapon/storage/pill_bottle/happy, +/obj/item/storage/pill_bottle/happy, /obj/item/clothing/under/bathrobe, /obj/item/clothing/under/bathrobe, /turf/simulated/floor/wood, @@ -1415,7 +1415,7 @@ /obj/machinery/door/window/brigdoor/eastleft{ dir = 2 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/machinery/door/firedoor/glass, /obj/machinery/door/blast/regular{ density = 0; @@ -1603,7 +1603,7 @@ /turf/simulated/floor/tiled, /area/awaymission/lucky7/privateroom/five) "hD" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /turf/simulated/floor/carpet/brown, @@ -1718,7 +1718,7 @@ /area/awaymission/lucky7/entry) "ir" = ( /obj/structure/table/gamblingtable, -/obj/item/weapon/storage/pill_bottle/dice_nerd, +/obj/item/storage/pill_bottle/dice_nerd, /obj/machinery/light, /turf/simulated/floor/carpet/retro, /area/awaymission/lucky7/arcade) @@ -2235,7 +2235,7 @@ /turf/simulated/floor/wood, /area/awaymission/lucky7/bar) "ln" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /turf/simulated/floor/carpet/brown, @@ -2373,8 +2373,8 @@ /area/awaymission/lucky7/kitchen) "mv" = ( /obj/structure/table/standard, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, /turf/simulated/floor/tiled, /area/awaymission/lucky7/laundry) "mw" = ( @@ -2415,7 +2415,7 @@ /area/awaymission/lucky7/trash) "mJ" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/belt/janitor, +/obj/item/storage/belt/janitor, /turf/simulated/floor/tiled, /area/awaymission/lucky7/maint1) "mK" = ( @@ -2502,7 +2502,7 @@ /turf/simulated/floor/carpet/brown, /area/awaymission/lucky7/casinofloor) "ng" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, /turf/simulated/floor/carpet/brown, @@ -2835,8 +2835,8 @@ /area/awaymission/lucky7/privateroom/three) "oT" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/device/radio, +/obj/item/storage/firstaid/regular, +/obj/item/radio, /obj/item/ammo_casing/spent{ pixel_x = -12; pixel_y = 8 @@ -2888,7 +2888,7 @@ /turf/simulated/floor/tiled/white, /area/awaymission/lucky7/medical) "pn" = ( -/obj/item/weapon/flame/candle/candelabra/everburn, +/obj/item/flame/candle/candelabra/everburn, /obj/structure/table/fancyblack, /turf/simulated/floor/wood, /area/awaymission/lucky7/privateroom/vip) @@ -2912,14 +2912,14 @@ name = "Game Cabinet"; pixel_x = -28 }, -/obj/item/weapon/book/manual/wizzoffguide, -/obj/item/weapon/deck/wizoff, -/obj/item/weapon/storage/pill_bottle/dice_nerd, -/obj/item/weapon/storage/pill_bottle/dice, -/obj/item/weapon/deck/cards/casino, -/obj/item/weapon/deck/cah, -/obj/item/weapon/deck/cah/black, -/obj/item/weapon/storage/dicecup, +/obj/item/book/manual/wizzoffguide, +/obj/item/deck/wizoff, +/obj/item/storage/pill_bottle/dice_nerd, +/obj/item/storage/pill_bottle/dice, +/obj/item/deck/cards/casino, +/obj/item/deck/cah, +/obj/item/deck/cah/black, +/obj/item/storage/dicecup, /turf/simulated/floor/carpet/purple, /area/awaymission/lucky7/privategameroom) "py" = ( @@ -3075,7 +3075,7 @@ /area/space) "qv" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/captaindouble, +/obj/item/bedsheet/captaindouble, /obj/structure/curtain/open/bed, /turf/simulated/floor/carpet/purcarpet, /area/awaymission/lucky7/privateroom/vip) @@ -3290,7 +3290,7 @@ /area/awaymission/lucky7/maint2) "rN" = ( /obj/structure/table/woodentable, -/obj/item/weapon/book/manual/bar_guide, +/obj/item/book/manual/bar_guide, /turf/simulated/floor/wood, /area/awaymission/lucky7/barbackroom) "rT" = ( @@ -3385,7 +3385,7 @@ "ss" = ( /obj/structure/table/woodentable, /obj/item/trash/plate, -/obj/item/weapon/material/kitchen/utensil/fork/plastic, +/obj/item/material/kitchen/utensil/fork/plastic, /turf/simulated/floor/wood, /area/awaymission/lucky7/lounge) "sv" = ( @@ -3455,11 +3455,11 @@ /area/awaymission/lucky7/entry) "sX" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/fancy/cigar/havana{ +/obj/item/storage/fancy/cigar/havana{ pixel_x = -2; pixel_y = 2 }, -/obj/item/weapon/storage/fancy/cigar{ +/obj/item/storage/fancy/cigar{ pixel_x = 2; pixel_y = 3 }, @@ -3507,7 +3507,7 @@ /obj/effect/floor_decal/spline/plain{ dir = 4 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /obj/effect/decal/cleanable/filth, @@ -3525,9 +3525,9 @@ "ts" = ( /obj/effect/decal/cleanable/blood/oil, /obj/structure/closet/crate/internals, -/obj/item/weapon/tank/emergency/oxygen/engi, -/obj/item/weapon/tank/emergency/oxygen/engi, -/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, /obj/item/clothing/mask/breath, /obj/item/clothing/mask/breath, /obj/item/clothing/mask/breath, @@ -3579,7 +3579,7 @@ /area/awaymission/lucky7/bar) "tE" = ( /obj/structure/table/marble, -/obj/item/weapon/material/ashtray/glass, +/obj/item/material/ashtray/glass, /obj/machinery/light/floortube{ dir = 4 }, @@ -3809,7 +3809,7 @@ /area/awaymission/lucky7/gateway) "uF" = ( /obj/structure/casino_table/craps, -/obj/item/weapon/dice{ +/obj/item/dice{ pixel_x = 4; pixel_y = 6 }, @@ -3824,7 +3824,7 @@ /area/awaymission/lucky7/privateroom) "uH" = ( /obj/structure/table/woodentable, -/obj/item/weapon/flame/candle, +/obj/item/flame/candle, /turf/simulated/floor/wood, /area/awaymission/lucky7/bar) "uI" = ( @@ -3877,7 +3877,7 @@ /obj/structure/casino_table/craps{ dir = 1 }, -/obj/item/weapon/dice, +/obj/item/dice, /turf/simulated/floor/carpet/brown, /area/awaymission/lucky7/casinofloor) "uZ" = ( @@ -3960,7 +3960,7 @@ /obj/effect/floor_decal/spline/plain{ dir = 5 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /turf/simulated/floor/lino, @@ -3973,7 +3973,7 @@ /turf/simulated/floor/carpet/brown, /area/awaymission/lucky7/casinofloor) "vy" = ( -/obj/item/weapon/stool/baystool/padded{ +/obj/item/stool/baystool/padded{ dir = 1 }, /turf/simulated/floor/carpet/brown, @@ -4021,13 +4021,13 @@ /area/awaymission/lucky7/dock1) "wd" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/drinks/shaker, +/obj/item/reagent_containers/food/drinks/shaker, /turf/simulated/floor/lino, /area/awaymission/lucky7/bar) "we" = ( /obj/structure/table/woodentable, -/obj/item/weapon/book/manual/casino, -/obj/item/weapon/pen, +/obj/item/book/manual/casino, +/obj/item/pen, /turf/simulated/floor/tiled/dark, /area/awaymission/lucky7/breakroom) "wj" = ( @@ -4136,7 +4136,7 @@ "wG" = ( /obj/structure/table/woodentable, /obj/item/trash/asian_bowl, -/obj/item/weapon/material/kitchen/utensil/fork/plastic, +/obj/item/material/kitchen/utensil/fork/plastic, /obj/machinery/light{ dir = 8 }, @@ -4162,7 +4162,7 @@ /area/awaymission/lucky7/dock1) "wK" = ( /obj/structure/closet/secure_closet/personal/cabinet, -/obj/item/weapon/towel/random, +/obj/item/towel/random, /turf/simulated/floor/wood, /area/awaymission/lucky7/privateroom/four) "wL" = ( @@ -4311,7 +4311,7 @@ /turf/simulated/floor/plating, /area/awaymission/lucky7/maint2) "xM" = ( -/obj/item/weapon/stool/baystool/padded{ +/obj/item/stool/baystool/padded{ dir = 1 }, /turf/simulated/floor/carpet/brown, @@ -4321,12 +4321,12 @@ /turf/simulated/floor/tiled/white, /area/awaymission/lucky7/privateroom/vip) "xU" = ( -/obj/item/weapon/gun/projectile/shotgun/pump{ +/obj/item/gun/projectile/shotgun/pump{ ammo_type = /obj/item/ammo_casing/a12g/pellet; pixel_x = 1; pixel_y = 4 }, -/obj/item/weapon/gun/projectile/shotgun/pump{ +/obj/item/gun/projectile/shotgun/pump{ ammo_type = /obj/item/ammo_casing/a12g/pellet; pixel_x = 2; pixel_y = -6 @@ -4393,7 +4393,7 @@ /area/awaymission/lucky7/hall2) "yv" = ( /obj/structure/closet/secure_closet/personal/cabinet, -/obj/item/weapon/towel/random, +/obj/item/towel/random, /turf/simulated/floor/wood, /area/awaymission/lucky7/privateroom/two) "yw" = ( @@ -4614,7 +4614,7 @@ "zM" = ( /obj/structure/table/woodentable, /obj/item/trash/plate, -/obj/item/weapon/material/kitchen/utensil/fork/plastic, +/obj/item/material/kitchen/utensil/fork/plastic, /turf/simulated/floor/carpet/brown, /area/awaymission/lucky7/casinofloor) "zQ" = ( @@ -5224,7 +5224,7 @@ /obj/effect/floor_decal/spline/plain{ dir = 10 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /turf/simulated/floor/lino, @@ -5556,7 +5556,7 @@ /obj/random/junk, /obj/random/maintenance, /obj/random/maintenance/engineering, -/obj/item/device/flashlight/color, +/obj/item/flashlight/color, /obj/structure/railing{ dir = 4 }, @@ -5621,7 +5621,7 @@ /turf/simulated/wall, /area/awaymission/lucky7/bar) "Fv" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, /obj/structure/disposalpipe/segment, @@ -5866,7 +5866,7 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = 5; pixel_y = 8 }, @@ -5876,7 +5876,7 @@ /area/awaymission/lucky7/medical) "GQ" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/box/bodybags, +/obj/item/storage/box/bodybags, /obj/random/maintenance/medical, /turf/simulated/floor/tiled/techfloor, /area/awaymission/lucky7/medical) @@ -6029,8 +6029,8 @@ "HH" = ( /obj/effect/floor_decal/rust, /obj/structure/mopbucket, -/obj/item/weapon/mop, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/mop, +/obj/item/reagent_containers/glass/bucket, /obj/effect/floor_decal/industrial/hatch/yellow, /obj/machinery/firealarm{ pixel_y = 26 @@ -6100,15 +6100,15 @@ /area/awaymission/lucky7/hall1) "HZ" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/spacecash/c1000{ +/obj/item/spacecash/c1000{ pixel_x = 6; pixel_y = 6 }, -/obj/item/weapon/spacecash/c1000{ +/obj/item/spacecash/c1000{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/spacecash/c1000, +/obj/item/spacecash/c1000, /turf/simulated/floor/tiled/techfloor, /area/awaymission/lucky7/security) "Ig" = ( @@ -6150,7 +6150,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals10{ dir = 8 }, -/obj/item/weapon/tool/screwdriver, +/obj/item/tool/screwdriver, /turf/simulated/floor/tiled/white, /area/awaymission/lucky7/medical) "Iq" = ( @@ -6178,7 +6178,7 @@ "Ir" = ( /obj/structure/table/glass, /obj/random/soap, -/obj/item/weapon/towel/random, +/obj/item/towel/random, /obj/machinery/light{ dir = 8 }, @@ -6202,7 +6202,7 @@ /area/awaymission/lucky7/privategameroom/three) "Iu" = ( /obj/structure/closet/secure_closet/personal/cabinet, -/obj/item/weapon/towel/random, +/obj/item/towel/random, /turf/simulated/floor/wood, /area/awaymission/lucky7/privateroom/five) "Iv" = ( @@ -6229,7 +6229,7 @@ /area/awaymission/lucky7/privateroom/five) "IJ" = ( /obj/structure/closet/secure_closet/personal/cabinet, -/obj/item/weapon/towel/random, +/obj/item/towel/random, /turf/simulated/floor/wood, /area/awaymission/lucky7/privateroom/three) "IM" = ( @@ -6268,7 +6268,7 @@ pixel_y = 8 }, /obj/random/cash/huge, -/obj/item/weapon/bikehorn{ +/obj/item/bikehorn{ pixel_x = -7; pixel_y = 7 }, @@ -6354,7 +6354,7 @@ /obj/effect/floor_decal/spline/plain{ dir = 4 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /turf/simulated/floor/lino, @@ -6523,7 +6523,7 @@ /area/awaymission/lucky7/dock2) "Kt" = ( /obj/structure/closet/secure_closet/personal/cabinet, -/obj/item/weapon/towel/random, +/obj/item/towel/random, /turf/simulated/floor/wood, /area/awaymission/lucky7/privateroom) "Ku" = ( @@ -6637,7 +6637,7 @@ /obj/structure/table/steel, /obj/effect/floor_decal/rust, /obj/effect/decal/cleanable/blood/oil, -/obj/item/device/flashlight, +/obj/item/flashlight, /turf/simulated/floor/plating, /area/awaymission/lucky7/maint2) "KT" = ( @@ -6855,7 +6855,7 @@ /area/awaymission/lucky7/security) "LJ" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/purpledouble, +/obj/item/bedsheet/purpledouble, /obj/machinery/alarm{ dir = 8; pixel_x = 27 @@ -6942,30 +6942,30 @@ /area/awaymission/lucky7/workshop) "Mb" = ( /obj/structure/table/woodentable, -/obj/item/weapon/flame/candle, +/obj/item/flame/candle, /turf/simulated/floor/wood, /area/awaymission/lucky7/lounge) "Mc" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass{ +/obj/item/reagent_containers/food/drinks/drinkingglass{ pixel_x = 7; pixel_y = -3 }, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass{ +/obj/item/reagent_containers/food/drinks/drinkingglass{ pixel_y = -3 }, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass{ +/obj/item/reagent_containers/food/drinks/drinkingglass{ pixel_x = -7; pixel_y = -3 }, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass{ +/obj/item/reagent_containers/food/drinks/drinkingglass{ pixel_y = 3 }, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass{ +/obj/item/reagent_containers/food/drinks/drinkingglass{ pixel_x = 7; pixel_y = 3 }, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass{ +/obj/item/reagent_containers/food/drinks/drinkingglass{ pixel_x = -7; pixel_y = 3 }, @@ -6992,14 +6992,14 @@ name = "Game Cabinet"; pixel_x = -28 }, -/obj/item/weapon/book/manual/wizzoffguide, -/obj/item/weapon/deck/wizoff, -/obj/item/weapon/storage/pill_bottle/dice_nerd, -/obj/item/weapon/storage/pill_bottle/dice, -/obj/item/weapon/deck/cards/casino, -/obj/item/weapon/deck/cah, -/obj/item/weapon/deck/cah/black, -/obj/item/weapon/storage/dicecup, +/obj/item/book/manual/wizzoffguide, +/obj/item/deck/wizoff, +/obj/item/storage/pill_bottle/dice_nerd, +/obj/item/storage/pill_bottle/dice, +/obj/item/deck/cards/casino, +/obj/item/deck/cah, +/obj/item/deck/cah/black, +/obj/item/storage/dicecup, /turf/simulated/floor/carpet/green, /area/awaymission/lucky7/privategameroom/two) "Mf" = ( @@ -7179,11 +7179,11 @@ /area/awaymission/lucky7/maint2) "MX" = ( /obj/structure/table/steel, -/obj/item/weapon/tool/wrench{ +/obj/item/tool/wrench{ pixel_x = 6; pixel_y = -3 }, -/obj/item/device/multitool{ +/obj/item/multitool{ pixel_x = -6 }, /turf/simulated/floor/plating, @@ -7480,7 +7480,7 @@ /turf/simulated/floor/tiled, /area/awaymission/lucky7/security) "Ol" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /obj/structure/disposalpipe/segment, @@ -7577,7 +7577,7 @@ dir = 1 }, /obj/structure/bed/padded, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /turf/simulated/floor/tiled/dark, /area/awaymission/lucky7/security) "OC" = ( @@ -7757,10 +7757,10 @@ "Pq" = ( /obj/effect/floor_decal/corner/grey/diagonal, /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/condiment/enzyme{ +/obj/item/reagent_containers/food/condiment/enzyme{ layer = 5 }, -/obj/item/weapon/reagent_containers/glass/beaker{ +/obj/item/reagent_containers/glass/beaker{ pixel_x = 5 }, /obj/structure/cable/green{ @@ -7810,14 +7810,14 @@ name = "Game Cabinet"; pixel_x = -28 }, -/obj/item/weapon/book/manual/wizzoffguide, -/obj/item/weapon/deck/wizoff, -/obj/item/weapon/storage/pill_bottle/dice_nerd, -/obj/item/weapon/storage/pill_bottle/dice, -/obj/item/weapon/deck/cards/casino, -/obj/item/weapon/deck/cah, -/obj/item/weapon/deck/cah/black, -/obj/item/weapon/storage/dicecup, +/obj/item/book/manual/wizzoffguide, +/obj/item/deck/wizoff, +/obj/item/storage/pill_bottle/dice_nerd, +/obj/item/storage/pill_bottle/dice, +/obj/item/deck/cards/casino, +/obj/item/deck/cah, +/obj/item/deck/cah/black, +/obj/item/storage/dicecup, /turf/simulated/floor/carpet/blue2, /area/awaymission/lucky7/privategameroom/three) "PC" = ( @@ -8103,11 +8103,11 @@ /area/awaymission/lucky7/casinofloor) "QU" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/gloves{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/box/masks, +/obj/item/storage/box/masks, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled/white, @@ -8131,7 +8131,7 @@ "Rc" = ( /obj/effect/floor_decal/spline/plain, /obj/structure/table/woodentable, -/obj/item/weapon/material/ashtray/glass, +/obj/item/material/ashtray/glass, /obj/random/cash/big{ pixel_x = 5; pixel_y = 8 @@ -8176,12 +8176,12 @@ /turf/simulated/floor/carpet/brown, /area/awaymission/lucky7/hotelhall) "Rw" = ( -/obj/item/weapon/bikehorn/rubberducky, +/obj/item/bikehorn/rubberducky, /turf/simulated/floor/water/pool, /area/awaymission/lucky7/privateroom/vip) "Rx" = ( /obj/effect/floor_decal/spline/plain, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /turf/simulated/floor/lino, @@ -8287,7 +8287,7 @@ /turf/simulated/floor/carpet/brown, /area/awaymission/lucky7/hotelhall) "Sj" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/structure/disposalpipe/junction/yjunction{ dir = 8 }, @@ -8389,16 +8389,16 @@ /area/awaymission/lucky7/laundry) "SK" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/ashtray/glass, +/obj/item/material/ashtray/glass, /turf/simulated/floor/wood, /area/awaymission/lucky7/bar) "SM" = ( /obj/effect/floor_decal/corner/grey/diagonal, /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 3 }, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -3 }, /turf/simulated/floor/tiled/white, @@ -8833,7 +8833,7 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled/white, /area/awaymission/lucky7/medical) "Uu" = ( @@ -8878,7 +8878,7 @@ /area/awaymission/lucky7/maint1) "UG" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/orangedouble, +/obj/item/bedsheet/orangedouble, /obj/machinery/alarm{ dir = 8; pixel_x = 27 @@ -8999,11 +8999,11 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -1; pixel_y = 4 }, -/obj/item/weapon/folder/white, +/obj/item/folder/white, /turf/simulated/floor/tiled/white, /area/awaymission/lucky7/medical) "Vv" = ( @@ -9059,7 +9059,7 @@ /area/awaymission/lucky7/entry) "VD" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/greendouble, +/obj/item/bedsheet/greendouble, /obj/machinery/alarm{ dir = 8; pixel_x = 27 @@ -9218,7 +9218,7 @@ /area/awaymission/lucky7/entry) "Wy" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/yellowdouble, +/obj/item/bedsheet/yellowdouble, /obj/machinery/alarm{ dir = 8; pixel_x = 27 @@ -9311,7 +9311,7 @@ dir = 9 }, /obj/structure/table/standard, -/obj/item/device/healthanalyzer, +/obj/item/healthanalyzer, /turf/simulated/floor/tiled/white, /area/awaymission/lucky7/medical) "WR" = ( @@ -9608,7 +9608,7 @@ /turf/simulated/floor/tiled/white, /area/awaymission/lucky7/medical) "YD" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/carpet/brown, /area/awaymission/lucky7/casinofloor) "YE" = ( @@ -9688,8 +9688,8 @@ /area/awaymission/lucky7/privateroom/four) "Ze" = ( /obj/structure/table/reinforced, -/obj/item/weapon/handcuffs, -/obj/item/weapon/handcuffs, +/obj/item/handcuffs, +/obj/item/handcuffs, /obj/item/ammo_casing/spent, /obj/effect/floor_decal/borderfloor{ dir = 6 @@ -9789,14 +9789,14 @@ /turf/simulated/floor/tiled, /area/awaymission/lucky7/entry) "ZF" = ( -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/storage/box/mousetraps, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/soap/nanotrasen, +/obj/item/storage/box/lights/mixed, +/obj/item/storage/box/mousetraps, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/soap/nanotrasen, /obj/structure/closet, /obj/effect/floor_decal/rust, -/obj/item/weapon/storage/bag/trash, +/obj/item/storage/bag/trash, /turf/simulated/floor/tiled, /area/awaymission/lucky7/maint1) "ZJ" = ( @@ -9819,12 +9819,12 @@ /area/awaymission/lucky7/hall1) "ZO" = ( /obj/structure/table/steel, -/obj/item/weapon/spacecasinocash/c1000{ +/obj/item/spacecasinocash/c1000{ pixel_x = -3; pixel_y = -3 }, -/obj/item/weapon/spacecasinocash/c1000, -/obj/item/weapon/spacecasinocash/c1000{ +/obj/item/spacecasinocash/c1000, +/obj/item/spacecasinocash/c1000{ pixel_x = 3; pixel_y = 3 }, diff --git a/maps/gateway_vr/snow_outpost.dmm b/maps/gateway_vr/snow_outpost.dmm index 13435aff715..b7014e4ed4d 100644 --- a/maps/gateway_vr/snow_outpost.dmm +++ b/maps/gateway_vr/snow_outpost.dmm @@ -637,7 +637,7 @@ /turf/simulated/wall/sandstone, /area/awaymission/snow_outpost/dark) "cf" = ( -/obj/item/weapon/ore/diamond, +/obj/item/ore/diamond, /turf/simulated/floor/snow/snow2, /area/awaymission/snow_outpost/dark) "cg" = ( @@ -651,7 +651,7 @@ /turf/simulated/floor/plating/external, /area/awaymission/snow_outpost/dark) "cj" = ( -/obj/item/weapon/ore, +/obj/item/ore, /turf/simulated/floor/plating/external, /area/awaymission/snow_outpost/dark) "ck" = ( @@ -687,7 +687,7 @@ /turf/simulated/mineral/floor/ignore_mapgen, /area/awaymission/snow_outpost/outside) "cs" = ( -/obj/item/weapon/ore, +/obj/item/ore, /turf/simulated/floor/snow/snow2, /area/awaymission/snow_outpost/dark) "ct" = ( @@ -703,7 +703,7 @@ /area/awaymission/snow_outpost/dark) "cw" = ( /obj/item/frame/apc, -/obj/item/weapon/module/power_control, +/obj/item/module/power_control, /turf/simulated/floor/plating/external, /area/awaymission/snow_outpost/dark) "cx" = ( @@ -714,8 +714,8 @@ /area/awaymission/snow_outpost/dark) "cy" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/excavation, -/obj/item/device/measuring_tape, +/obj/item/storage/excavation, +/obj/item/measuring_tape, /turf/simulated/floor/snow/snow2, /area/awaymission/snow_outpost/dark) "cz" = ( @@ -739,12 +739,12 @@ /area/awaymission/snow_outpost/dark) "cC" = ( /obj/structure/table/steel, -/obj/item/weapon/folder, +/obj/item/folder, /turf/simulated/floor/snow/snow2, /area/awaymission/snow_outpost/dark) "cD" = ( /obj/structure/table/rack, -/obj/item/weapon/pickaxe, +/obj/item/pickaxe, /turf/simulated/floor/snow/snow2, /area/awaymission/snow_outpost/dark) "cE" = ( @@ -762,7 +762,7 @@ /area/awaymission/snow_outpost/dark) "cH" = ( /obj/structure/table/rack, -/obj/item/weapon/shovel, +/obj/item/shovel, /turf/simulated/floor/snow/snow2, /area/awaymission/snow_outpost/dark) "cI" = ( @@ -780,8 +780,8 @@ /area/awaymission/snow_outpost/dark) "cL" = ( /obj/structure/table/steel, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/storage/box/samplebags, +/obj/item/tool/wrench, +/obj/item/storage/box/samplebags, /turf/simulated/floor/snow/snow2, /area/awaymission/snow_outpost/dark) "cM" = ( @@ -821,7 +821,7 @@ /area/awaymission/snow_outpost/powered) "cV" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /turf/simulated/floor/tiled, /area/awaymission/snow_outpost/powered) "cW" = ( @@ -830,7 +830,7 @@ /area/awaymission/snow_outpost/powered) "cX" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/machinery/light{ icon_state = "tube1"; dir = 1 @@ -851,36 +851,36 @@ /turf/simulated/floor/snow/snow2, /area/awaymission/snow_outpost/dark) "db" = ( -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, /turf/simulated/floor/snow/snow2, /area/awaymission/snow_outpost/dark) "dc" = ( -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, /turf/simulated/floor/snow/snow2, /area/awaymission/snow_outpost/dark) "dd" = ( /obj/structure/table/standard, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/tiled, /area/awaymission/snow_outpost/powered) "de" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/machinery/light, /turf/simulated/floor/tiled, /area/awaymission/snow_outpost/powered) @@ -902,8 +902,8 @@ /area/awaymission/snow_outpost/powered) "di" = ( /obj/structure/table/standard, -/obj/item/weapon/cell/high, -/obj/item/weapon/cell/high, +/obj/item/cell/high, +/obj/item/cell/high, /turf/simulated/floor, /area/awaymission/snow_outpost/powered) "dj" = ( @@ -949,7 +949,7 @@ /area/awaymission/snow_outpost/powered) "ds" = ( /obj/structure/table/rack, -/obj/item/weapon/pickaxe/drill, +/obj/item/pickaxe/drill, /turf/simulated/floor/tiled, /area/awaymission/snow_outpost/powered) "dt" = ( @@ -976,7 +976,7 @@ /turf/simulated/floor/tiled, /area/awaymission/snow_outpost/powered) "dy" = ( -/obj/item/weapon/stool, +/obj/item/stool, /turf/simulated/floor/tiled, /area/awaymission/snow_outpost/powered) "dz" = ( @@ -1019,7 +1019,7 @@ /obj/structure/closet/crate, /obj/item/stack/cable_coil, /obj/item/stack/cable_coil, -/obj/item/weapon/storage/toolbox, +/obj/item/storage/toolbox, /obj/random/toolbox, /turf/simulated/shuttle/floor/alienplating, /area/awaymission/snow_outpost/dark) @@ -1037,7 +1037,7 @@ /area/awaymission/snow_outpost/dark) "dJ" = ( /obj/structure/table/woodentable, -/obj/item/weapon/cell/void, +/obj/item/cell/void, /turf/simulated/shuttle/floor/alienplating, /area/awaymission/snow_outpost/dark) "dK" = ( @@ -1183,8 +1183,8 @@ /area/awaymission/snow_outpost/powered) "ed" = ( /obj/structure/table/steel, -/obj/item/weapon/gun/projectile/automatic/wt550, -/obj/item/weapon/gun/projectile/automatic/p90, +/obj/item/gun/projectile/automatic/wt550, +/obj/item/gun/projectile/automatic/p90, /turf/simulated/floor/tiled/steel_grid, /area/awaymission/snow_outpost/powered) "ee" = ( @@ -1302,7 +1302,7 @@ /area/awaymission/snow_outpost/powered) "ex" = ( /obj/structure/table/steel, -/obj/item/weapon/grenade/smokebomb, +/obj/item/grenade/smokebomb, /turf/simulated/floor/tiled/steel_grid, /area/awaymission/snow_outpost/powered) "ey" = ( @@ -1326,7 +1326,7 @@ /area/awaymission/snow_outpost/powered) "eB" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery, /obj/effect/floor_decal/corner/green/border{ icon_state = "bordercolor"; dir = 10 @@ -1335,7 +1335,7 @@ /area/awaymission/snow_outpost/powered) "eC" = ( /obj/structure/table/standard, -/obj/item/weapon/tank/anesthetic, +/obj/item/tank/anesthetic, /obj/effect/floor_decal/corner/green/border, /turf/simulated/floor/tiled/white, /area/awaymission/snow_outpost/powered) @@ -1352,14 +1352,14 @@ /area/awaymission/snow_outpost/powered) "eF" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/spray/sterilizine, -/obj/item/weapon/reagent_containers/spray/sterilizine, +/obj/item/reagent_containers/spray/sterilizine, +/obj/item/reagent_containers/spray/sterilizine, /obj/effect/floor_decal/corner/green/border, /turf/simulated/floor/tiled/white, /area/awaymission/snow_outpost/powered) "eG" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/masks, +/obj/item/storage/box/masks, /obj/effect/floor_decal/corner/green/border{ icon_state = "bordercolor"; dir = 6 @@ -1427,7 +1427,7 @@ /area/awaymission/snow_outpost/powered) "eQ" = ( /obj/structure/table/steel, -/obj/item/weapon/material/knife, +/obj/item/material/knife, /turf/simulated/floor/tiled/steel, /area/awaymission/snow_outpost/powered) "eR" = ( @@ -1504,7 +1504,7 @@ /turf/simulated/floor/tiled/steel, /area/awaymission/snow_outpost/powered) "fb" = ( -/obj/item/weapon/stool, +/obj/item/stool, /turf/simulated/floor/tiled/steel, /area/awaymission/snow_outpost/powered) "fc" = ( @@ -1618,7 +1618,7 @@ /area/awaymission/snow_outpost/powered) "fu" = ( /obj/structure/table/steel, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "We need to take a short stop. The engine's are in need of minor repairs due to turbulence, should be a week's time. We've got reserve food supplies but pleanty of locale fauna to subsist on too if need be. PCRC is keeping most of there assets near New Reykjavik and locale authorities are more mindful then most to travel in this kind of weather. Our outfit should be at the rendezvous point in less then ten days assuming the upper ecehelon hasn't dropped ties with us yet."; name = "Operation Progress/M-53" }, @@ -1626,7 +1626,7 @@ /area/awaymission/snow_outpost/powered) "fv" = ( /obj/structure/table/steel, -/obj/item/weapon/paper_bin, +/obj/item/paper_bin, /turf/simulated/floor/tiled/steel, /area/awaymission/snow_outpost/powered) "fw" = ( @@ -1692,7 +1692,7 @@ /area/awaymission/snow_outpost/powered) "fF" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /turf/simulated/floor/tiled/steel, /area/awaymission/snow_outpost/powered) "fG" = ( @@ -1708,7 +1708,7 @@ /area/awaymission/snow_outpost/powered) "fJ" = ( /obj/structure/table/steel, -/obj/item/weapon/gun/projectile/pistol, +/obj/item/gun/projectile/pistol, /obj/machinery/light/small{ dir = 4; pixel_y = 0 @@ -1723,7 +1723,7 @@ /area/awaymission/snow_outpost/powered) "fL" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/structure/bed, /turf/simulated/floor/tiled/steel, /area/awaymission/snow_outpost/powered) @@ -1787,7 +1787,7 @@ /area/awaymission/snow_outpost/powered) "fU" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/machinery/light, /turf/simulated/floor/tiled/steel, /area/awaymission/snow_outpost/powered) @@ -1796,7 +1796,7 @@ /turf/simulated/floor/snow/snow2, /area/awaymission/snow_outpost/dark) "fW" = ( -/obj/item/weapon/ore/gold, +/obj/item/ore/gold, /obj/tether_away_spawner/aerostat_inside, /turf/simulated/floor/snow/snow2, /area/awaymission/snow_outpost/dark) @@ -1817,7 +1817,7 @@ /turf/simulated/floor/snow/snow2, /area/awaymission/snow_outpost/outside) "gb" = ( -/obj/item/weapon/shovel, +/obj/item/shovel, /turf/simulated/floor/snow/snow2, /area/awaymission/snow_outpost/dark) "gc" = ( @@ -1838,7 +1838,7 @@ /area/awaymission/snow_outpost/outside) "gg" = ( /obj/item/ammo_casing/a45, -/obj/item/weapon/reagent_containers/food/snacks/xenomeat/spidermeat, +/obj/item/reagent_containers/food/snacks/xenomeat/spidermeat, /turf/simulated/floor/snow/snow2, /area/awaymission/snow_outpost/outside) "gh" = ( @@ -1879,7 +1879,7 @@ }, /area/awaymission/snow_outpost/outside) "go" = ( -/obj/item/weapon/reagent_containers/food/snacks/xenomeat/spidermeat, +/obj/item/reagent_containers/food/snacks/xenomeat/spidermeat, /turf/simulated/floor/snow/snow2, /area/awaymission/snow_outpost/outside) "gp" = ( @@ -1888,7 +1888,7 @@ /area/awaymission/snow_outpost/outside) "gq" = ( /obj/item/clothing/accessory/storage/webbing, -/obj/item/weapon/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, /turf/simulated/floor/outdoors/dirt{ outdoors = 0 }, @@ -1974,13 +1974,13 @@ /area/awaymission/snow_outpost/dark) "gE" = ( /obj/structure/closet/crate, -/obj/item/weapon/reagent_containers/hypospray, -/obj/item/weapon/reagent_containers/glass/bottle/stoxin, -/obj/item/weapon/reagent_containers/glass/bottle/antitoxin, -/obj/item/weapon/reagent_containers/pill/antitox, -/obj/item/weapon/reagent_containers/pill/antitox, -/obj/item/weapon/reagent_containers/pill/antitox, -/obj/item/weapon/reagent_containers/pill/paracetamol, +/obj/item/reagent_containers/hypospray, +/obj/item/reagent_containers/glass/bottle/stoxin, +/obj/item/reagent_containers/glass/bottle/antitoxin, +/obj/item/reagent_containers/pill/antitox, +/obj/item/reagent_containers/pill/antitox, +/obj/item/reagent_containers/pill/antitox, +/obj/item/reagent_containers/pill/paracetamol, /obj/random/firstaid, /turf/simulated/shuttle/floor/alienplating, /area/awaymission/snow_outpost/dark) @@ -1997,11 +1997,11 @@ /obj/random/contraband, /obj/random/contraband, /obj/random/energy, -/obj/item/weapon/material/star, -/obj/item/weapon/material/star, -/obj/item/weapon/material/star, -/obj/item/weapon/material/star, -/obj/item/weapon/material/star, +/obj/item/material/star, +/obj/item/material/star, +/obj/item/material/star, +/obj/item/material/star, +/obj/item/material/star, /turf/simulated/shuttle/floor/alienplating, /area/awaymission/snow_outpost/dark) "gH" = ( @@ -2097,18 +2097,18 @@ /area/awaymission/snow_outpost/dark) "ha" = ( /obj/structure/closet/cabinet, -/obj/item/weapon/lipstick/random, +/obj/item/lipstick/random, /turf/simulated/floor/carpet, /area/awaymission/snow_outpost/dark) "hb" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/structure/curtain/open/bed, /turf/simulated/floor/carpet, /area/awaymission/snow_outpost/dark) "hc" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/pill/happy{ +/obj/item/reagent_containers/pill/happy{ name = "pill" }, /turf/simulated/floor/carpet, @@ -2134,7 +2134,7 @@ /area/awaymission/snow_outpost/dark) "hi" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/pill/methylphenidate{ +/obj/item/reagent_containers/pill/methylphenidate{ name = "pill" }, /turf/simulated/floor/carpet, @@ -2147,7 +2147,7 @@ /turf/simulated/floor/carpet, /area/awaymission/snow_outpost/dark) "hk" = ( -/obj/item/weapon/reagent_containers/pill/citalopram{ +/obj/item/reagent_containers/pill/citalopram{ name = "pill" }, /turf/simulated/floor/carpet, @@ -2167,13 +2167,13 @@ /area/awaymission/snow_outpost/dark) "ho" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp, -/obj/item/weapon/reagent_containers/syringe/drugs, +/obj/item/flashlight/lamp, +/obj/item/reagent_containers/syringe/drugs, /turf/simulated/floor/carpet, /area/awaymission/snow_outpost/dark) "hp" = ( /obj/structure/bed/chair/comfy/beige, -/obj/item/weapon/reagent_containers/pill/citalopram{ +/obj/item/reagent_containers/pill/citalopram{ name = "pill" }, /turf/simulated/floor/carpet, @@ -2183,17 +2183,17 @@ /turf/simulated/floor, /area/awaymission/snow_outpost/dark) "hr" = ( -/obj/item/weapon/reagent_containers/pill/citalopram{ +/obj/item/reagent_containers/pill/citalopram{ name = "pill" }, -/obj/item/weapon/reagent_containers/pill/citalopram{ +/obj/item/reagent_containers/pill/citalopram{ name = "pill" }, /turf/simulated/floor/carpet, /area/awaymission/snow_outpost/dark) "hs" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/pill_bottle/happy, +/obj/item/storage/pill_bottle/happy, /turf/simulated/floor/tiled, /area/awaymission/snow_outpost/dark) "ht" = ( @@ -2203,31 +2203,31 @@ /area/awaymission/snow_outpost/dark) "hu" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/pill/citalopram, -/obj/item/weapon/reagent_containers/pill/citalopram, +/obj/item/reagent_containers/pill/citalopram, +/obj/item/reagent_containers/pill/citalopram, /turf/simulated/floor/tiled, /area/awaymission/snow_outpost/dark) "hv" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/pill/tramadol, -/obj/item/weapon/reagent_containers/pill/tramadol, +/obj/item/reagent_containers/pill/tramadol, +/obj/item/reagent_containers/pill/tramadol, /turf/simulated/floor/tiled, /area/awaymission/snow_outpost/dark) "hw" = ( /obj/structure/closet/cabinet, /obj/item/clothing/accessory/jacket, -/obj/item/weapon/material/butterfly/switchblade, +/obj/item/material/butterfly/switchblade, /turf/simulated/floor/carpet, /area/awaymission/snow_outpost/dark) "hx" = ( -/obj/item/weapon/reagent_containers/pill/zoom{ +/obj/item/reagent_containers/pill/zoom{ name = "pill" }, /obj/random/trash, /turf/simulated/floor/carpet, /area/awaymission/snow_outpost/dark) "hy" = ( -/obj/item/weapon/reagent_containers/pill/zoom{ +/obj/item/reagent_containers/pill/zoom{ name = "pill" }, /turf/simulated/floor/carpet, @@ -2238,7 +2238,7 @@ /area/awaymission/snow_outpost/dark) "hA" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/scalpel, +/obj/item/surgical/scalpel, /turf/simulated/floor/tiled, /area/awaymission/snow_outpost/dark) "hB" = ( @@ -2261,13 +2261,13 @@ /area/awaymission/snow_outpost/dark) "hF" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/pill/zoom, -/obj/item/weapon/reagent_containers/pill/zoom, +/obj/item/reagent_containers/pill/zoom, +/obj/item/reagent_containers/pill/zoom, /turf/simulated/floor, /area/awaymission/snow_outpost/dark) "hG" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/pill/tramadol{ +/obj/item/reagent_containers/pill/tramadol{ name = "pill" }, /turf/simulated/floor/carpet, @@ -2281,17 +2281,17 @@ /turf/simulated/floor, /area/awaymission/snow_outpost/dark) "hJ" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor, /area/awaymission/snow_outpost/dark) "hK" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/carpet, /area/awaymission/snow_outpost/dark) "hL" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/syringe/drugs, +/obj/item/reagent_containers/syringe/drugs, /turf/simulated/floor/carpet, /area/awaymission/snow_outpost/dark) "hM" = ( @@ -2303,8 +2303,8 @@ /turf/simulated/mineral/floor/ignore_mapgen, /area/awaymission/snow_outpost/outside) "hO" = ( -/obj/item/weapon/spacecash/c100, -/obj/item/weapon/spacecash/c100, +/obj/item/spacecash/c100, +/obj/item/spacecash/c100, /turf/simulated/mineral/floor/ignore_mapgen, /area/awaymission/snow_outpost/dark) "hP" = ( @@ -2312,9 +2312,9 @@ /turf/simulated/mineral/floor/ignore_mapgen, /area/awaymission/snow_outpost/outside) "hQ" = ( -/obj/item/weapon/spacecash/c100, -/obj/item/weapon/spacecash/c100, -/obj/item/weapon/spacecash/c100, +/obj/item/spacecash/c100, +/obj/item/spacecash/c100, +/obj/item/spacecash/c100, /obj/effect/decal/remains, /turf/simulated/mineral/floor/ignore_mapgen, /area/awaymission/snow_outpost/dark) @@ -2323,7 +2323,7 @@ /turf/simulated/mineral/floor/ignore_mapgen, /area/awaymission/snow_outpost/dark) "hS" = ( -/obj/item/weapon/grenade/spawnergrenade/spider, +/obj/item/grenade/spawnergrenade/spider, /turf/simulated/mineral/floor/ignore_mapgen, /area/awaymission/snow_outpost/dark) "hT" = ( @@ -2429,7 +2429,7 @@ dir = 1 }, /obj/structure/closet/walllocker/emerglocker/east, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -28 @@ -2502,7 +2502,7 @@ /obj/structure/closet/walllocker/emerglocker{ pixel_y = 28 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -26 }, /turf/simulated/shuttle/floor, @@ -2516,7 +2516,7 @@ pixel_y = 28 }, /obj/machinery/light, -/obj/item/weapon/weldingtool/largetank, +/obj/item/weldingtool/largetank, /turf/simulated/shuttle/floor, /area/awaymission/snow_outpost/outside) "iz" = ( @@ -2621,7 +2621,7 @@ /area/awaymission/snow_outpost/powered) "iT" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/item/toy/plushie/spider, /turf/simulated/floor/tiled/steel, /area/awaymission/snow_outpost/powered) diff --git a/maps/gateway_vr/snowfield.dm b/maps/gateway_vr/snowfield.dm index 8127505ae95..f8679ae65c5 100644 --- a/maps/gateway_vr/snowfield.dm +++ b/maps/gateway_vr/snowfield.dm @@ -68,7 +68,7 @@ vore_active = 1 say_list_type = /datum/say_list/polar_bear - faction = "polar" + faction = FACTION_POLAR maxHealth = 80 health = 80 // Polar bear will fuck you up. @@ -86,7 +86,7 @@ minbodytemp = 0 //speak_chance = 1 //VORESTATION AI TEMPORARY REMOVAL - meat_type = /obj/item/weapon/reagent_containers/food/snacks/bearmeat + meat_type = /obj/item/reagent_containers/food/snacks/bearmeat /datum/say_list/polar_bear speak = list("RAWR!","Rawr!","GRR!","Growl!") emote_hear = list("rawrs","grumbles","grawls") @@ -99,13 +99,13 @@ ..() /mob/living/simple_mob/animal/sif/sakimm/polar - faction = "polar" + faction = FACTION_POLAR /mob/living/simple_mob/animal/sif/diyaab/polar - faction = "polar" + faction = FACTION_POLAR /mob/living/simple_mob/animal/sif/shantak/polar - faction = "polar" + faction = FACTION_POLAR // -- Items -- // diff --git a/maps/gateway_vr/snowfield.dmm b/maps/gateway_vr/snowfield.dmm index 397de9c2ab5..a2f68bfa418 100644 --- a/maps/gateway_vr/snowfield.dmm +++ b/maps/gateway_vr/snowfield.dmm @@ -79,7 +79,7 @@ amount = 2; icon_state = "coil2" }, -/obj/item/weapon/shovel, +/obj/item/shovel, /obj/machinery/light/small{ dir = 1 }, @@ -157,7 +157,7 @@ /area/awaymission/snowfield/base) "aw" = ( /obj/structure/table/standard, -/obj/item/weapon/hand_labeler, +/obj/item/hand_labeler, /obj/effect/floor_decal/corner/green/full{ dir = 8 }, @@ -215,7 +215,7 @@ /area/awaymission/snowfield/base) "aE" = ( /obj/machinery/atmospherics/portables_connector, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /obj/machinery/light{ dir = 1 }, @@ -239,7 +239,7 @@ dir = 6 }, /obj/structure/table/glass, -/obj/item/weapon/storage/box/beakers{ +/obj/item/storage/box/beakers{ pixel_x = 2; pixel_y = 2 }, @@ -247,12 +247,12 @@ /area/awaymission/snowfield/base) "aJ" = ( /obj/structure/closet/jcloset, -/obj/item/weapon/soap, +/obj/item/soap, /turf/simulated/floor/tiled/steel, /area/awaymission/snowfield/base) "aK" = ( /obj/structure/closet/jcloset, -/obj/item/weapon/soap/deluxe, +/obj/item/soap/deluxe, /turf/simulated/floor/tiled/steel, /area/awaymission/snowfield/base) "aL" = ( @@ -367,7 +367,7 @@ dir = 4 }, /obj/structure/table/glass, -/obj/item/weapon/storage/box/botanydisk, +/obj/item/storage/box/botanydisk, /turf/simulated/floor/tiled/white, /area/awaymission/snowfield/base) "ba" = ( @@ -405,7 +405,7 @@ /area/awaymission/snowfield/base) "bh" = ( /obj/effect/floor_decal/corner/green/full, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -457,15 +457,15 @@ /turf/simulated/floor/tiled/hydro, /area/awaymission/snowfield/base) "bn" = ( -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/reagent_containers/spray/cleaner, /obj/structure/table/steel, -/obj/item/weapon/storage/box/mousetraps, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/storage/box/mousetraps, +/obj/item/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, +/obj/item/reagent_containers/spray/cleaner, /turf/simulated/floor/tiled/steel, /area/awaymission/snowfield/base) "bo" = ( @@ -543,11 +543,11 @@ dir = 1 }, /obj/structure/table/glass, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled/white, /area/awaymission/snowfield/base) "by" = ( @@ -565,7 +565,7 @@ /turf/simulated/floor/tiled/hydro, /area/awaymission/snowfield/base) "bB" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -580,8 +580,8 @@ pixel_y = -32 }, /obj/structure/table/standard, -/obj/item/weapon/storage/box/syringes, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/syringes, +/obj/item/storage/box/gloves{ pixel_x = 4; pixel_y = 4 }, @@ -592,7 +592,7 @@ /obj/effect/floor_decal/industrial/warning{ dir = 9 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ layer = 4; name = "Station Intercom (General)"; pixel_y = -21 @@ -608,7 +608,7 @@ /area/awaymission/snowfield/base) "bF" = ( /obj/structure/reagent_dispensers/watertank, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /obj/machinery/light, /turf/simulated/floor/tiled/white, /area/awaymission/snowfield/base) @@ -626,8 +626,8 @@ /obj/structure/closet/medical_wall{ pixel_y = -32 }, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/toxin, +/obj/item/storage/firstaid/regular, /turf/simulated/floor/tiled/white, /area/awaymission/snowfield/base) "bI" = ( @@ -647,8 +647,8 @@ /area/awaymission/snowfield/base) "bL" = ( /obj/structure/table/glass, -/obj/item/weapon/tape_roll, -/obj/item/device/analyzer/plant_analyzer, +/obj/item/tape_roll, +/obj/item/analyzer/plant_analyzer, /turf/simulated/floor/tiled/white, /area/awaymission/snowfield/base) "bM" = ( @@ -656,13 +656,13 @@ dir = 6 }, /obj/structure/table/glass, -/obj/item/weapon/clipboard, -/obj/item/weapon/folder/white, +/obj/item/clipboard, +/obj/item/folder/white, /turf/simulated/floor/tiled/white, /area/awaymission/snowfield/base) "bN" = ( -/obj/item/weapon/mop, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/mop, +/obj/item/reagent_containers/glass/bucket, /obj/structure/janitorialcart, /turf/simulated/floor/tiled/steel, /area/awaymission/snowfield/base) @@ -791,7 +791,7 @@ "cf" = ( /obj/effect/floor_decal/corner/paleblue/diagonal, /obj/structure/table/standard, -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 2 }, @@ -873,7 +873,7 @@ /area/awaymission/snowfield/base) "cq" = ( /obj/effect/floor_decal/corner/paleblue/diagonal, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled/white, /area/awaymission/snowfield/base) "cr" = ( @@ -918,7 +918,7 @@ "cw" = ( /obj/effect/floor_decal/corner/paleblue/diagonal, /obj/structure/table/standard, -/obj/item/weapon/deck/cards, +/obj/item/deck/cards, /turf/simulated/floor/tiled/white, /area/awaymission/snowfield/base) "cx" = ( @@ -1247,7 +1247,7 @@ /obj/machinery/light{ dir = 4 }, -/obj/item/device/radio/phone, +/obj/item/radio/phone, /turf/simulated/floor/tiled/dark, /area/awaymission/snowfield/base) "dH" = ( @@ -1296,14 +1296,14 @@ /obj/structure/closet/medical_wall{ pixel_y = -32 }, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/firstaid/adv, +/obj/item/storage/firstaid/toxin, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/adv, /turf/simulated/floor/tiled/dark, /area/awaymission/snowfield/base) "dP" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/backpack/satchel/sec, +/obj/item/storage/backpack/satchel/sec, /turf/simulated/floor/tiled/dark, /area/awaymission/snowfield/base) "dQ" = ( @@ -1354,7 +1354,7 @@ /obj/item/clothing/under/soviet, /obj/item/clothing/shoes/boots/jackboots, /obj/item/clothing/head/ushanka, -/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, +/obj/item/storage/backpack/dufflebag/syndie/ammo, /turf/simulated/floor/tiled/dark, /area/awaymission/snowfield/base) "dZ" = ( @@ -1369,7 +1369,7 @@ "ea" = ( /obj/effect/floor_decal/industrial/outline/yellow, /obj/structure/closet/crate, -/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, +/obj/item/storage/backpack/dufflebag/syndie/ammo, /turf/simulated/floor/tiled/neutral, /area/awaymission/snowfield/base) "eb" = ( @@ -1412,7 +1412,7 @@ /area/awaymission/snowfield/base) "eh" = ( /obj/structure/closet/crate/secure/weapon, -/obj/item/weapon/gun/projectile/shotgun/pump/rifle, +/obj/item/gun/projectile/shotgun/pump/rifle, /turf/simulated/floor/tiled/dark, /area/awaymission/snowfield/base) "ei" = ( @@ -1427,12 +1427,12 @@ "ek" = ( /obj/effect/floor_decal/industrial/outline/yellow, /obj/structure/closet/crate/medical, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/device/flashlight/flare, -/obj/item/device/flashlight/flare, -/obj/item/device/flashlight/flare, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, +/obj/item/flashlight/flare, +/obj/item/flashlight/flare, +/obj/item/flashlight/flare, /turf/simulated/floor/tiled/neutral, /area/awaymission/snowfield/base) "el" = ( diff --git a/maps/gateway_vr/variable/arynthilake.dm b/maps/gateway_vr/variable/arynthilake.dm index 50421175f36..9a4a171a90c 100644 --- a/maps/gateway_vr/variable/arynthilake.dm +++ b/maps/gateway_vr/variable/arynthilake.dm @@ -83,6 +83,6 @@ /area/gateway/arynthilake/underground/intocave icon_state = "redwhisqu" -/obj/item/weapon/paper/gateway/arynthilake +/obj/item/paper/gateway/arynthilake name = "Maintenance Tunnel Notes" info = "Please be advised

      Beyond this point the underground maintenance tunnels are dangerous. Monsters have taken to making their nests in the tunnels. As such we have installed an automatic defense system.

      The turrets and supply caches in the tunnels are powered by this facility. Should there be undesired creatures or personnel in the tunnels, the turrets exist to keep them clear.

      The turret control system is situated within the local administration building. It is advised that you never enter the tunnels outside of regulatly scheduled maintenance windows, and never without secturity escort.

      If you should need to enter the tunnels outside of regularly scheduled maintenance windows, it is advised that you contact the administration building to disable the turrets, and when you are done, contact them again to re-enable them.

      Your safety is important to us. Should you end up within the tunnels when dangerous entities are present, it is advised to seek out the supply caches scattered throughout. Survival equipment can be obtained from within.

      " \ No newline at end of file diff --git a/maps/gateway_vr/variable/arynthilake_a.dmm b/maps/gateway_vr/variable/arynthilake_a.dmm index 8f4cee6f6c8..77ad1efe888 100644 --- a/maps/gateway_vr/variable/arynthilake_a.dmm +++ b/maps/gateway_vr/variable/arynthilake_a.dmm @@ -87,7 +87,7 @@ /area/gateway/arynthilake/caveruins) "aD" = ( /obj/structure/table/woodentable, -/obj/item/weapon/lampshade, +/obj/item/lampshade, /obj/effect/landmark/mcguffin_spawner, /turf/simulated/floor/plating/external, /area/gateway/arynthilake/caveruins) @@ -146,7 +146,7 @@ /turf/simulated/floor/wood/sif/broken, /area/gateway/arynthilake/oldcabin) "aV" = ( -/obj/item/weapon/lampshade, +/obj/item/lampshade, /turf/simulated/mineral/floor/ignore_cavegen/cave, /area/gateway/arynthilake/caves) "aX" = ( @@ -436,28 +436,28 @@ /area/gateway/arynthilake/dome) "cG" = ( /obj/structure/bookcase, -/obj/item/weapon/book/manual/mass_spectrometry, -/obj/item/weapon/book/manual/materials_chemistry_analysis, -/obj/item/weapon/book/manual/medical_cloning, -/obj/item/weapon/book/manual/medical_diagnostics_manual, -/obj/item/weapon/book/manual/nuclear, -/obj/item/weapon/book/manual/research_and_development, -/obj/item/weapon/book/manual/resleeving, -/obj/item/weapon/book/manual/ripley_build_and_repair, -/obj/item/weapon/book/manual/robotics_cyborgs, -/obj/item/weapon/book/manual/rust_engine, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/manual/standard_operating_procedure, -/obj/item/weapon/book/manual/stasis, -/obj/item/weapon/book/manual/supermatter_engine, -/obj/item/weapon/book/manual/tesla_engine, +/obj/item/book/manual/mass_spectrometry, +/obj/item/book/manual/materials_chemistry_analysis, +/obj/item/book/manual/medical_cloning, +/obj/item/book/manual/wiki/medical_diagnostics_manual, +/obj/item/book/manual/nuclear, +/obj/item/book/manual/research_and_development, +/obj/item/book/manual/resleeving, +/obj/item/book/manual/ripley_build_and_repair, +/obj/item/book/manual/robotics_cyborgs, +/obj/item/book/manual/rust_engine, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/standard_operating_procedure, +/obj/item/book/manual/stasis, +/obj/item/book/manual/supermatter_engine, +/obj/item/book/manual/tesla_engine, /turf/simulated/floor/wood{ outdoors = 1 }, /area/gateway/arynthilake/dome) "dg" = ( /obj/structure/table/wooden_reinforced, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/tiled/eris/steel/gray_platform, /area/gateway/arynthilake/dome) "dB" = ( @@ -471,7 +471,7 @@ /area/gateway/arynthilake/dome) "dI" = ( /obj/structure/table/darkglass, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 9 }, @@ -504,9 +504,9 @@ /area/gateway/arynthilake/engine) "eo" = ( /obj/structure/bookcase, -/obj/item/weapon/book/custom_library/religious/storyoflordganesha, -/obj/item/weapon/book/custom_library/religious/sungoddessofkorea, -/obj/item/weapon/book/custom_library/religious/wayofbleedingswan, +/obj/item/book/custom_library/religious/storyoflordganesha, +/obj/item/book/custom_library/religious/sungoddessofkorea, +/obj/item/book/custom_library/religious/wayofbleedingswan, /turf/simulated/floor/wood, /area/gateway/arynthilake/dome) "er" = ( @@ -523,8 +523,8 @@ /area/gateway/arynthilake/engine) "ex" = ( /obj/machinery/light, -/obj/item/device/flash, -/obj/item/weapon/stamp, +/obj/item/flash, +/obj/item/stamp, /obj/structure/closet/walllocker{ dir = 4; pixel_x = 27 @@ -536,12 +536,12 @@ /turf/simulated/mineral/floor/ignore_cavegen/cave, /area/gateway/arynthilake/caves) "eW" = ( -/obj/item/device/analyzer/plant_analyzer, -/obj/item/weapon/material/minihoe, -/obj/item/weapon/material/minihoe, +/obj/item/analyzer/plant_analyzer, +/obj/item/material/minihoe, +/obj/item/material/minihoe, /obj/structure/closet, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /obj/effect/landmark/mcguffin_spawner, /turf/simulated/floor/tiled/eris/techmaint_cargo, /area/gateway/arynthilake/dome) @@ -561,9 +561,9 @@ /area/gateway/arynthilake/dome) "fu" = ( /obj/structure/table/darkglass, -/obj/item/weapon/pen, -/obj/item/weapon/folder/red, -/obj/item/weapon/paper_bin{ +/obj/item/pen, +/obj/item/folder/red, +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 9 }, @@ -596,7 +596,7 @@ /area/gateway/arynthilake) "fY" = ( /obj/structure/mopbucket, -/obj/item/weapon/mop, +/obj/item/mop, /turf/simulated/floor/tiled/eris/white/brown_platform, /area/gateway/arynthilake/dome) "gu" = ( @@ -664,8 +664,8 @@ /area/gateway/arynthilake/dome) "il" = ( /obj/structure/bookcase, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/bundle/custom_library/nonfiction/viabilityofcorporategov, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/bundle/custom_library/nonfiction/viabilityofcorporategov, /turf/simulated/floor/carpet/blucarpet, /area/gateway/arynthilake/dome) "iI" = ( @@ -735,12 +735,12 @@ dir = 8 }, /obj/structure/table/wooden_reinforced, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /turf/simulated/floor/tiled/eris/steel/gray_platform, /area/gateway/arynthilake/dome) "jZ" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /turf/simulated/floor/tiled/eris/white/brown_platform, /area/gateway/arynthilake/dome) "kf" = ( @@ -754,12 +754,12 @@ /area/gateway/arynthilake/dome) "kk" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/bluedouble, +/obj/item/bedsheet/bluedouble, /turf/simulated/floor/carpet/bcarpet, /area/gateway/arynthilake/dome) "kl" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/storage/box/cups, +/obj/item/storage/box/cups, /turf/simulated/floor/tiled/eris/white/brown_platform, /area/gateway/arynthilake/dome) "ko" = ( @@ -777,9 +777,9 @@ /area/gateway/arynthilake/dome) "kK" = ( /obj/structure/bookcase, -/obj/item/weapon/book/bundle/custom_library/reference/recyclingprocedures, -/obj/item/weapon/book/custom_library/reference/securityguidelines, -/obj/item/weapon/book/custom_library/reference/spacesurvivalguidedespressurization, +/obj/item/book/bundle/custom_library/reference/recyclingprocedures, +/obj/item/book/custom_library/reference/securityguidelines, +/obj/item/book/custom_library/reference/spacesurvivalguidedespressurization, /turf/simulated/floor/wood, /area/gateway/arynthilake/dome) "kX" = ( @@ -828,7 +828,7 @@ /obj/structure/table/standard{ color = "#b8e4ff" }, -/obj/item/weapon/folder/blue, +/obj/item/folder/blue, /turf/simulated/floor/tiled/eris/white/brown_platform, /area/gateway/arynthilake/dome) "lI" = ( @@ -838,9 +838,9 @@ /area/gateway/arynthilake/dome) "lO" = ( /obj/structure/table/darkglass, -/obj/item/weapon/pen, -/obj/item/weapon/folder/blue, -/obj/item/weapon/paper_bin{ +/obj/item/pen, +/obj/item/folder/blue, +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 9 }, @@ -893,7 +893,7 @@ /area/gateway/arynthilake) "mL" = ( /obj/structure/table/darkglass, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /obj/random/snack, /obj/random/snack, /turf/simulated/floor/carpet/bcarpet, @@ -1079,9 +1079,9 @@ /area/gateway/arynthilake/dome) "qW" = ( /obj/structure/bookcase, -/obj/item/weapon/book/bundle/custom_library/reference/ThermodynamicReactionsandResearch, -/obj/item/weapon/book/bundle/custom_library/reference/fbpandprostheticmaintenance, -/obj/item/weapon/book/custom_library/reference/fistfulofd6splayersguide, +/obj/item/book/bundle/custom_library/reference/ThermodynamicReactionsandResearch, +/obj/item/book/bundle/custom_library/reference/fbpandprostheticmaintenance, +/obj/item/book/custom_library/reference/fistfulofd6splayersguide, /turf/simulated/floor/wood, /area/gateway/arynthilake/dome) "rm" = ( @@ -1134,24 +1134,24 @@ /obj/random/meat, /obj/random/meat, /obj/random/meat, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar, -/obj/item/weapon/reagent_containers/food/condiment/spacespice, -/obj/item/weapon/reagent_containers/food/condiment/spacespice, -/obj/item/weapon/reagent_containers/food/condiment/spacespice, -/obj/item/weapon/reagent_containers/food/condiment/yeast, -/obj/item/weapon/reagent_containers/food/condiment/yeast, -/obj/item/weapon/reagent_containers/food/condiment/yeast, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/sugar, +/obj/item/reagent_containers/food/condiment/carton/sugar, +/obj/item/reagent_containers/food/condiment/carton/sugar, +/obj/item/reagent_containers/food/condiment/carton/sugar, +/obj/item/reagent_containers/food/condiment/carton/sugar, +/obj/item/reagent_containers/food/condiment/spacespice, +/obj/item/reagent_containers/food/condiment/spacespice, +/obj/item/reagent_containers/food/condiment/spacespice, +/obj/item/reagent_containers/food/condiment/yeast, +/obj/item/reagent_containers/food/condiment/yeast, +/obj/item/reagent_containers/food/condiment/yeast, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, /obj/random/awayloot, /obj/effect/landmark/mcguffin_spawner, /turf/simulated/floor/tiled/eris/cafe{ @@ -1186,11 +1186,11 @@ /obj/structure/table/standard{ color = "#ffb8b8" }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 9 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled/eris/white/brown_platform, /area/gateway/arynthilake/dome) "sO" = ( @@ -1205,11 +1205,11 @@ /area/gateway/arynthilake) "to" = ( /obj/structure/table/sifwooden_reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 9 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/random/awayloot, /turf/simulated/floor/carpet{ outdoors = 1 @@ -1267,11 +1267,11 @@ /obj/structure/table/standard{ color = "#b8e4ff" }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 9 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled/eris/white/brown_platform, /area/gateway/arynthilake/dome) "vy" = ( @@ -1295,12 +1295,12 @@ /obj/structure/closet/walllocker_double{ pixel_y = 26 }, -/obj/item/device/flashlight/lantern, -/obj/item/device/flashlight/lantern, -/obj/item/device/flashlight/lantern, -/obj/item/device/flashlight/lantern, -/obj/item/device/flashlight/lantern, -/obj/item/device/multitool, +/obj/item/flashlight/lantern, +/obj/item/flashlight/lantern, +/obj/item/flashlight/lantern, +/obj/item/flashlight/lantern, +/obj/item/flashlight/lantern, +/obj/item/multitool, /obj/random/tool, /obj/random/tool, /obj/random/tool/power, @@ -1313,7 +1313,7 @@ /area/gateway/arynthilake/engine) "wb" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/reddouble, +/obj/item/bedsheet/reddouble, /obj/effect/landmark/mcguffin_spawner, /turf/simulated/floor/carpet/blucarpet, /area/gateway/arynthilake/dome) @@ -1370,16 +1370,16 @@ /area/gateway/arynthilake/dome) "xu" = ( /obj/structure/bookcase, -/obj/item/weapon/book/bundle/custom_library/fiction/manfromsnowyriver, -/obj/item/weapon/book/bundle/custom_library/fiction/metalglen, -/obj/item/weapon/book/bundle/custom_library/fiction/poemsforarainyday, -/obj/item/weapon/book/bundle/custom_library/fiction/raissue142, -/obj/item/weapon/book/bundle/custom_library/fiction/raissue147, -/obj/item/weapon/book/bundle/custom_library/fiction/silence, -/obj/item/weapon/book/bundle/custom_library/fiction/taleoftherainbowcat, -/obj/item/weapon/book/custom_library/fiction/starsandsometimesfallingones, -/obj/item/weapon/book/custom_library/fiction/truelovehathmyheart, -/obj/item/weapon/book/custom_library/fiction/woodysgotwood, +/obj/item/book/bundle/custom_library/fiction/manfromsnowyriver, +/obj/item/book/bundle/custom_library/fiction/metalglen, +/obj/item/book/bundle/custom_library/fiction/poemsforarainyday, +/obj/item/book/bundle/custom_library/fiction/raissue142, +/obj/item/book/bundle/custom_library/fiction/raissue147, +/obj/item/book/bundle/custom_library/fiction/silence, +/obj/item/book/bundle/custom_library/fiction/taleoftherainbowcat, +/obj/item/book/custom_library/fiction/starsandsometimesfallingones, +/obj/item/book/custom_library/fiction/truelovehathmyheart, +/obj/item/book/custom_library/fiction/woodysgotwood, /turf/simulated/floor/wood, /area/gateway/arynthilake/dome) "xv" = ( @@ -1451,7 +1451,7 @@ /area/gateway/arynthilake/engine) "At" = ( /obj/structure/table/fancyblack, -/obj/item/weapon/flame/candle/candelabra, +/obj/item/flame/candle/candelabra, /turf/simulated/floor/tiled/eris/dark/brown_platform, /area/gateway/arynthilake/dome) "Ax" = ( @@ -1490,8 +1490,8 @@ /area/gateway/arynthilake/dome) "Bg" = ( /obj/structure/bookcase, -/obj/item/weapon/book/bundle/custom_library/fiction/ghostship, -/obj/item/weapon/book/manual/security_space_law, +/obj/item/book/bundle/custom_library/fiction/ghostship, +/obj/item/book/manual/wiki/security_space_law, /turf/simulated/floor/carpet/bcarpet, /area/gateway/arynthilake/dome) "Bv" = ( @@ -1614,7 +1614,7 @@ /area/gateway/arynthilake/gateway) "Fk" = ( /obj/structure/table/sifwooden_reinforced, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /turf/simulated/floor/carpet/purcarpet, /area/gateway/arynthilake/dome) "Fm" = ( @@ -1625,8 +1625,8 @@ /area/gateway/arynthilake/gateway) "Fq" = ( /obj/structure/bookcase, -/obj/item/weapon/book/bundle/custom_library/religious/zoroastrianism, -/obj/item/weapon/book/custom_library/religious/feastofkubera, +/obj/item/book/bundle/custom_library/religious/zoroastrianism, +/obj/item/book/custom_library/religious/feastofkubera, /turf/simulated/floor/wood{ outdoors = 1 }, @@ -1672,12 +1672,12 @@ /area/gateway/arynthilake/dome) "Gc" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/book/manual/chef_recipes, +/obj/item/book/manual/chef_recipes, /obj/effect/landmark/mcguffin_spawner, /turf/simulated/floor/tiled/eris/cafe, /area/gateway/arynthilake/dome) "Gh" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/carpet/purcarpet, /area/gateway/arynthilake/dome) "Gp" = ( @@ -1806,23 +1806,23 @@ /area/gateway/arynthilake) "JQ" = ( /obj/structure/bookcase, -/obj/item/weapon/book/manual/anomaly_spectroscopy, -/obj/item/weapon/book/manual/anomaly_testing, -/obj/item/weapon/book/manual/atmospipes, -/obj/item/weapon/book/manual/bar_guide, -/obj/item/weapon/book/manual/barman_recipes, -/obj/item/weapon/book/manual/chef_recipes, -/obj/item/weapon/book/manual/command_guide, -/obj/item/weapon/book/manual/cook_guide, -/obj/item/weapon/book/manual/detective, -/obj/item/weapon/book/manual/engineering_construction, -/obj/item/weapon/book/manual/engineering_guide, -/obj/item/weapon/book/manual/engineering_hacking, -/obj/item/weapon/book/manual/engineering_particle_accelerator, -/obj/item/weapon/book/manual/engineering_singularity_safety, -/obj/item/weapon/book/manual/evaguide, -/obj/item/weapon/book/manual/excavation, -/obj/item/weapon/book/manual/hydroponics_pod_people, +/obj/item/book/manual/anomaly_spectroscopy, +/obj/item/book/manual/anomaly_testing, +/obj/item/book/manual/atmospipes, +/obj/item/book/manual/bar_guide, +/obj/item/book/manual/barman_recipes, +/obj/item/book/manual/chef_recipes, +/obj/item/book/manual/command_guide, +/obj/item/book/manual/cook_guide, +/obj/item/book/manual/detective, +/obj/item/book/manual/wiki/engineering_construction, +/obj/item/book/manual/wiki/engineering_guide, +/obj/item/book/manual/wiki/engineering_hacking, +/obj/item/book/manual/engineering_particle_accelerator, +/obj/item/book/manual/engineering_singularity_safety, +/obj/item/book/manual/evaguide, +/obj/item/book/manual/excavation, +/obj/item/book/manual/hydroponics_pod_people, /turf/simulated/floor/wood, /area/gateway/arynthilake/dome) "Kc" = ( @@ -1870,7 +1870,7 @@ /turf/simulated/floor/tiled/eris/cafe, /area/gateway/arynthilake/dome) "Lr" = ( -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /obj/structure/table/rack/steel, /turf/simulated/floor/tiled/eris/dark/monofloor, /area/gateway/arynthilake/dome) @@ -1888,11 +1888,11 @@ /area/gateway/arynthilake/dome) "LQ" = ( /obj/structure/table/sifwooden_reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 5; pixel_y = 9 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_x = -4; pixel_y = -2 }, @@ -1900,8 +1900,8 @@ /area/gateway/arynthilake/dome) "LR" = ( /obj/structure/table/sifwooden_reinforced, -/obj/item/weapon/newspaper, -/obj/item/weapon/dice/d20, +/obj/item/newspaper, +/obj/item/dice/d20, /turf/simulated/floor/carpet/purcarpet, /area/gateway/arynthilake/dome) "Md" = ( @@ -1916,7 +1916,7 @@ /turf/simulated/floor/tiled/steel_ridged, /area/gateway/arynthilake/dome) "Mq" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/random/mob/semirandom_mob_spawner/humanoid/retaliate, /turf/simulated/floor/carpet/purcarpet, /area/gateway/arynthilake/dome) @@ -1932,22 +1932,22 @@ /area/gateway/arynthilake/engine) "MH" = ( /obj/structure/bookcase, -/obj/item/weapon/book/manual, -/obj/item/weapon/book/manual/anomaly_spectroscopy, -/obj/item/weapon/book/manual/anomaly_testing, -/obj/item/weapon/book/manual/atmospipes, -/obj/item/weapon/book/manual/bar_guide, -/obj/item/weapon/book/manual/barman_recipes, -/obj/item/weapon/book/manual/chef_recipes, -/obj/item/weapon/book/manual/command_guide, -/obj/item/weapon/book/manual/cook_guide, -/obj/item/weapon/book/manual/detective, -/obj/item/weapon/book/manual/engineering_construction, -/obj/item/weapon/book/manual/engineering_guide, -/obj/item/weapon/book/manual/engineering_hacking, -/obj/item/weapon/book/manual/engineering_particle_accelerator, -/obj/item/weapon/book/manual/engineering_singularity_safety, -/obj/item/weapon/book/manual/evaguide, +/obj/item/book/manual, +/obj/item/book/manual/anomaly_spectroscopy, +/obj/item/book/manual/anomaly_testing, +/obj/item/book/manual/atmospipes, +/obj/item/book/manual/bar_guide, +/obj/item/book/manual/barman_recipes, +/obj/item/book/manual/chef_recipes, +/obj/item/book/manual/command_guide, +/obj/item/book/manual/cook_guide, +/obj/item/book/manual/detective, +/obj/item/book/manual/wiki/engineering_construction, +/obj/item/book/manual/wiki/engineering_guide, +/obj/item/book/manual/wiki/engineering_hacking, +/obj/item/book/manual/engineering_particle_accelerator, +/obj/item/book/manual/engineering_singularity_safety, +/obj/item/book/manual/evaguide, /turf/simulated/floor/carpet, /area/gateway/arynthilake/dome) "MS" = ( @@ -1976,7 +1976,7 @@ /area/gateway/arynthilake/dome) "Ng" = ( /obj/structure/table/darkglass, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled/eris, /area/gateway/arynthilake/engine) "Nm" = ( @@ -2043,8 +2043,8 @@ /area/gateway/arynthilake/dome) "Og" = ( /obj/machinery/light, -/obj/item/device/flash, -/obj/item/weapon/stamp, +/obj/item/flash, +/obj/item/stamp, /obj/structure/closet/walllocker{ dir = 8; pixel_x = -27 @@ -2175,10 +2175,10 @@ /area/gateway/arynthilake/dome) "Rl" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/reagent_containers/food/condiment/enzyme{ +/obj/item/reagent_containers/food/condiment/enzyme{ layer = 5 }, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/kitchen/rollingpin, /turf/simulated/floor/tiled/eris/cafe, /area/gateway/arynthilake/dome) "Rm" = ( @@ -2198,8 +2198,8 @@ /area/gateway/arynthilake) "RW" = ( /obj/structure/bookcase, -/obj/item/weapon/book/bundle/custom_library/nonfiction/viabilityofcorporategov, -/obj/item/weapon/book/custom_library/nonfiction/freesirisailightbulbs, +/obj/item/book/bundle/custom_library/nonfiction/viabilityofcorporategov, +/obj/item/book/custom_library/nonfiction/freesirisailightbulbs, /turf/simulated/floor/wood, /area/gateway/arynthilake/dome) "Sb" = ( @@ -2275,7 +2275,7 @@ /area/gateway/arynthilake/dome) "Um" = ( /obj/structure/table/darkglass, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /obj/random/awayloot, /turf/simulated/floor/carpet/blucarpet, /area/gateway/arynthilake/dome) @@ -2287,20 +2287,20 @@ /area/gateway/arynthilake/dome) "UJ" = ( /obj/structure/bookcase, -/obj/item/weapon/book/bundle/custom_library/nonfiction/riseandfallofpersianempire, -/obj/item/weapon/book/bundle/custom_library/nonfiction/skrelliancastesystem, +/obj/item/book/bundle/custom_library/nonfiction/riseandfallofpersianempire, +/obj/item/book/bundle/custom_library/nonfiction/skrelliancastesystem, /turf/simulated/floor/wood, /area/gateway/arynthilake/dome) "UY" = ( /obj/structure/bookcase, -/obj/item/weapon/book/bundle/custom_library/fiction/apurrrrfectman, -/obj/item/weapon/book/bundle/custom_library/fiction/beyondthedoor, -/obj/item/weapon/book/bundle/custom_library/fiction/chroniclesofmargatavol1, -/obj/item/weapon/book/bundle/custom_library/fiction/coldmountain, -/obj/item/weapon/book/bundle/custom_library/fiction/ghostship, -/obj/item/weapon/book/custom_library/fiction/blacksmithandkinglybloke, -/obj/item/weapon/book/custom_library/fiction/irishairmanforseesdeath, -/obj/item/weapon/book/custom_library/fiction/myrock, +/obj/item/book/bundle/custom_library/fiction/apurrrrfectman, +/obj/item/book/bundle/custom_library/fiction/beyondthedoor, +/obj/item/book/bundle/custom_library/fiction/chroniclesofmargatavol1, +/obj/item/book/bundle/custom_library/fiction/coldmountain, +/obj/item/book/bundle/custom_library/fiction/ghostship, +/obj/item/book/custom_library/fiction/blacksmithandkinglybloke, +/obj/item/book/custom_library/fiction/irishairmanforseesdeath, +/obj/item/book/custom_library/fiction/myrock, /turf/simulated/floor/wood, /area/gateway/arynthilake/dome) "UZ" = ( @@ -2336,7 +2336,7 @@ /turf/simulated/floor/wood, /area/gateway/arynthilake/dome) "Vo" = ( -/obj/item/weapon/storage/box/sinpockets, +/obj/item/storage/box/sinpockets, /obj/structure/table/rack/steel, /turf/simulated/floor/tiled/eris/dark/monofloor, /area/gateway/arynthilake/dome) @@ -2382,7 +2382,7 @@ /obj/structure/table/standard{ color = "#ffb8b8" }, -/obj/item/weapon/folder/red, +/obj/item/folder/red, /turf/simulated/floor/tiled/eris/white/brown_platform, /area/gateway/arynthilake/dome) "WV" = ( diff --git a/maps/gateway_vr/variable/arynthilake_b.dmm b/maps/gateway_vr/variable/arynthilake_b.dmm index 9a57b076d53..25fc29fc342 100644 --- a/maps/gateway_vr/variable/arynthilake_b.dmm +++ b/maps/gateway_vr/variable/arynthilake_b.dmm @@ -19,7 +19,7 @@ /turf/simulated/floor/outdoors/grass, /area/gateway/arynthilake/caves) "aG" = ( -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /obj/structure/table/rack/steel, /turf/simulated/floor/tiled/eris/dark/monofloor, /area/gateway/arynthilake/dome) @@ -45,8 +45,8 @@ /area/gateway/arynthilake/caves) "bw" = ( /obj/structure/table/sifwooden_reinforced, -/obj/item/weapon/newspaper, -/obj/item/weapon/dice/d20, +/obj/item/newspaper, +/obj/item/dice/d20, /turf/simulated/floor/carpet/purcarpet, /area/gateway/arynthilake/dome) "bI" = ( @@ -68,7 +68,7 @@ /area/gateway/arynthilake/dome) "bO" = ( /obj/structure/table/sifwooden_reinforced, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /turf/simulated/floor/carpet/purcarpet, /area/gateway/arynthilake/dome) "cg" = ( @@ -96,7 +96,7 @@ /area/gateway/arynthilake) "cL" = ( /obj/structure/table/wooden_reinforced, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/tiled/eris/steel/gray_platform, /area/gateway/arynthilake/dome) "cN" = ( @@ -158,24 +158,24 @@ /obj/random/meat, /obj/random/meat, /obj/random/meat, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar, -/obj/item/weapon/reagent_containers/food/condiment/spacespice, -/obj/item/weapon/reagent_containers/food/condiment/spacespice, -/obj/item/weapon/reagent_containers/food/condiment/spacespice, -/obj/item/weapon/reagent_containers/food/condiment/yeast, -/obj/item/weapon/reagent_containers/food/condiment/yeast, -/obj/item/weapon/reagent_containers/food/condiment/yeast, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/sugar, +/obj/item/reagent_containers/food/condiment/carton/sugar, +/obj/item/reagent_containers/food/condiment/carton/sugar, +/obj/item/reagent_containers/food/condiment/carton/sugar, +/obj/item/reagent_containers/food/condiment/carton/sugar, +/obj/item/reagent_containers/food/condiment/spacespice, +/obj/item/reagent_containers/food/condiment/spacespice, +/obj/item/reagent_containers/food/condiment/spacespice, +/obj/item/reagent_containers/food/condiment/yeast, +/obj/item/reagent_containers/food/condiment/yeast, +/obj/item/reagent_containers/food/condiment/yeast, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, /obj/random/awayloot, /obj/effect/landmark/mcguffin_spawner, /turf/simulated/floor/tiled/eris/cafe{ @@ -213,10 +213,10 @@ /area/gateway/arynthilake) "dR" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/reagent_containers/food/condiment/enzyme{ +/obj/item/reagent_containers/food/condiment/enzyme{ layer = 5 }, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/kitchen/rollingpin, /turf/simulated/floor/tiled/eris/cafe, /area/gateway/arynthilake/dome) "dV" = ( @@ -259,11 +259,11 @@ /obj/structure/table/standard{ color = "#b8e4ff" }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 9 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled/eris/white/brown_platform, /area/gateway/arynthilake/dome) "eT" = ( @@ -294,21 +294,21 @@ /area/gateway/arynthilake/engine) "fA" = ( /obj/structure/bookcase, -/obj/item/weapon/book/manual/mass_spectrometry, -/obj/item/weapon/book/manual/materials_chemistry_analysis, -/obj/item/weapon/book/manual/medical_cloning, -/obj/item/weapon/book/manual/medical_diagnostics_manual, -/obj/item/weapon/book/manual/nuclear, -/obj/item/weapon/book/manual/research_and_development, -/obj/item/weapon/book/manual/resleeving, -/obj/item/weapon/book/manual/ripley_build_and_repair, -/obj/item/weapon/book/manual/robotics_cyborgs, -/obj/item/weapon/book/manual/rust_engine, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/manual/standard_operating_procedure, -/obj/item/weapon/book/manual/stasis, -/obj/item/weapon/book/manual/supermatter_engine, -/obj/item/weapon/book/manual/tesla_engine, +/obj/item/book/manual/mass_spectrometry, +/obj/item/book/manual/materials_chemistry_analysis, +/obj/item/book/manual/medical_cloning, +/obj/item/book/manual/wiki/medical_diagnostics_manual, +/obj/item/book/manual/nuclear, +/obj/item/book/manual/research_and_development, +/obj/item/book/manual/resleeving, +/obj/item/book/manual/ripley_build_and_repair, +/obj/item/book/manual/robotics_cyborgs, +/obj/item/book/manual/rust_engine, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/standard_operating_procedure, +/obj/item/book/manual/stasis, +/obj/item/book/manual/supermatter_engine, +/obj/item/book/manual/tesla_engine, /turf/simulated/floor/wood{ outdoors = 1 }, @@ -317,7 +317,7 @@ /obj/structure/table/standard{ color = "#b8e4ff" }, -/obj/item/weapon/folder/blue, +/obj/item/folder/blue, /turf/simulated/floor/tiled/eris/white/brown_platform, /area/gateway/arynthilake/dome) "gm" = ( @@ -430,12 +430,12 @@ /obj/structure/closet/walllocker_double{ pixel_y = 26 }, -/obj/item/device/flashlight/lantern, -/obj/item/device/flashlight/lantern, -/obj/item/device/flashlight/lantern, -/obj/item/device/flashlight/lantern, -/obj/item/device/flashlight/lantern, -/obj/item/device/multitool, +/obj/item/flashlight/lantern, +/obj/item/flashlight/lantern, +/obj/item/flashlight/lantern, +/obj/item/flashlight/lantern, +/obj/item/flashlight/lantern, +/obj/item/multitool, /obj/random/tool, /obj/random/tool, /obj/random/tool/power, @@ -516,11 +516,11 @@ /area/gateway/arynthilake/dome) "jP" = ( /obj/structure/table/sifwooden_reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 9 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/random/awayloot, /turf/simulated/floor/carpet{ outdoors = 1 @@ -747,12 +747,12 @@ dir = 8 }, /obj/structure/table/wooden_reinforced, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /turf/simulated/floor/tiled/eris/steel/gray_platform, /area/gateway/arynthilake/dome) "oH" = ( /obj/structure/table/darkglass, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 9 }, @@ -794,12 +794,12 @@ /turf/simulated/floor/tiled/techfloor, /area/gateway/arynthilake/gateway) "pl" = ( -/obj/item/device/analyzer/plant_analyzer, -/obj/item/weapon/material/minihoe, -/obj/item/weapon/material/minihoe, +/obj/item/analyzer/plant_analyzer, +/obj/item/material/minihoe, +/obj/item/material/minihoe, /obj/structure/closet, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /obj/effect/landmark/mcguffin_spawner, /turf/simulated/floor/tiled/eris/techmaint_cargo, /area/gateway/arynthilake/dome) @@ -810,7 +810,7 @@ /area/gateway/arynthilake/engine) "pI" = ( /obj/structure/mopbucket, -/obj/item/weapon/mop, +/obj/item/mop, /turf/simulated/floor/tiled/eris/white/brown_platform, /area/gateway/arynthilake/dome) "pM" = ( @@ -825,7 +825,7 @@ /area/gateway/arynthilake/caves) "pT" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/bluedouble, +/obj/item/bedsheet/bluedouble, /turf/simulated/floor/carpet/bcarpet, /area/gateway/arynthilake/dome) "qh" = ( @@ -837,7 +837,7 @@ /area/gateway/arynthilake) "qy" = ( /obj/structure/table/fancyblack, -/obj/item/weapon/flame/candle/candelabra, +/obj/item/flame/candle/candelabra, /turf/simulated/floor/tiled/eris/dark/brown_platform, /area/gateway/arynthilake/dome) "qG" = ( @@ -847,7 +847,7 @@ /turf/simulated/floor/tiled/techfloor, /area/gateway/arynthilake/gateway) "qR" = ( -/obj/item/weapon/storage/box/sinpockets, +/obj/item/storage/box/sinpockets, /obj/structure/table/rack/steel, /turf/simulated/floor/tiled/eris/dark/monofloor, /area/gateway/arynthilake/dome) @@ -892,9 +892,9 @@ /area/gateway/arynthilake/caves) "rF" = ( /obj/structure/bookcase, -/obj/item/weapon/book/bundle/custom_library/reference/ThermodynamicReactionsandResearch, -/obj/item/weapon/book/bundle/custom_library/reference/fbpandprostheticmaintenance, -/obj/item/weapon/book/custom_library/reference/fistfulofd6splayersguide, +/obj/item/book/bundle/custom_library/reference/ThermodynamicReactionsandResearch, +/obj/item/book/bundle/custom_library/reference/fbpandprostheticmaintenance, +/obj/item/book/custom_library/reference/fistfulofd6splayersguide, /turf/simulated/floor/wood, /area/gateway/arynthilake/dome) "rI" = ( @@ -914,11 +914,11 @@ /area/gateway/arynthilake/caves) "sg" = ( /obj/structure/table/sifwooden_reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 5; pixel_y = 9 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_x = -4; pixel_y = -2 }, @@ -944,9 +944,9 @@ /area/gateway/arynthilake) "sY" = ( /obj/structure/bookcase, -/obj/item/weapon/book/bundle/custom_library/reference/recyclingprocedures, -/obj/item/weapon/book/custom_library/reference/securityguidelines, -/obj/item/weapon/book/custom_library/reference/spacesurvivalguidedespressurization, +/obj/item/book/bundle/custom_library/reference/recyclingprocedures, +/obj/item/book/custom_library/reference/securityguidelines, +/obj/item/book/custom_library/reference/spacesurvivalguidedespressurization, /turf/simulated/floor/wood, /area/gateway/arynthilake/dome) "tk" = ( @@ -954,8 +954,8 @@ /area/gateway/arynthilake/engine) "tu" = ( /obj/structure/bookcase, -/obj/item/weapon/book/bundle/custom_library/religious/zoroastrianism, -/obj/item/weapon/book/custom_library/religious/feastofkubera, +/obj/item/book/bundle/custom_library/religious/zoroastrianism, +/obj/item/book/custom_library/religious/feastofkubera, /turf/simulated/floor/wood{ outdoors = 1 }, @@ -1020,8 +1020,8 @@ /area/gateway/arynthilake) "vB" = ( /obj/machinery/light, -/obj/item/device/flash, -/obj/item/weapon/stamp, +/obj/item/flash, +/obj/item/stamp, /obj/structure/closet/walllocker{ dir = 8; pixel_x = -27 @@ -1128,7 +1128,7 @@ /area/gateway/arynthilake/dome) "xN" = ( /obj/structure/table/darkglass, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /obj/random/snack, /obj/random/snack, /turf/simulated/floor/carpet/bcarpet, @@ -1219,7 +1219,7 @@ /area/gateway/arynthilake/dome) "Ar" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/storage/box/cups, +/obj/item/storage/box/cups, /turf/simulated/floor/tiled/eris/white/brown_platform, /area/gateway/arynthilake/dome) "AA" = ( @@ -1289,8 +1289,8 @@ /area/gateway/arynthilake) "CK" = ( /obj/structure/bookcase, -/obj/item/weapon/book/bundle/custom_library/fiction/ghostship, -/obj/item/weapon/book/manual/security_space_law, +/obj/item/book/bundle/custom_library/fiction/ghostship, +/obj/item/book/manual/wiki/security_space_law, /turf/simulated/floor/carpet/bcarpet, /area/gateway/arynthilake/dome) "CM" = ( @@ -1358,14 +1358,14 @@ /area/gateway/arynthilake/dome) "EX" = ( /obj/structure/bookcase, -/obj/item/weapon/book/bundle/custom_library/fiction/apurrrrfectman, -/obj/item/weapon/book/bundle/custom_library/fiction/beyondthedoor, -/obj/item/weapon/book/bundle/custom_library/fiction/chroniclesofmargatavol1, -/obj/item/weapon/book/bundle/custom_library/fiction/coldmountain, -/obj/item/weapon/book/bundle/custom_library/fiction/ghostship, -/obj/item/weapon/book/custom_library/fiction/blacksmithandkinglybloke, -/obj/item/weapon/book/custom_library/fiction/irishairmanforseesdeath, -/obj/item/weapon/book/custom_library/fiction/myrock, +/obj/item/book/bundle/custom_library/fiction/apurrrrfectman, +/obj/item/book/bundle/custom_library/fiction/beyondthedoor, +/obj/item/book/bundle/custom_library/fiction/chroniclesofmargatavol1, +/obj/item/book/bundle/custom_library/fiction/coldmountain, +/obj/item/book/bundle/custom_library/fiction/ghostship, +/obj/item/book/custom_library/fiction/blacksmithandkinglybloke, +/obj/item/book/custom_library/fiction/irishairmanforseesdeath, +/obj/item/book/custom_library/fiction/myrock, /turf/simulated/floor/wood, /area/gateway/arynthilake/dome) "Fc" = ( @@ -1406,9 +1406,9 @@ /area/gateway/arynthilake/dome) "FA" = ( /obj/structure/table/darkglass, -/obj/item/weapon/pen, -/obj/item/weapon/folder/red, -/obj/item/weapon/paper_bin{ +/obj/item/pen, +/obj/item/folder/red, +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 9 }, @@ -1428,7 +1428,7 @@ /area/gateway/arynthilake/oldcabin) "FI" = ( /obj/structure/table/woodentable, -/obj/item/weapon/lampshade, +/obj/item/lampshade, /obj/effect/landmark/mcguffin_spawner, /turf/simulated/floor/plating/external, /area/gateway/arynthilake/caveruins) @@ -1495,9 +1495,9 @@ /area/gateway/arynthilake/dome) "Ic" = ( /obj/structure/table/darkglass, -/obj/item/weapon/pen, -/obj/item/weapon/folder/blue, -/obj/item/weapon/paper_bin{ +/obj/item/pen, +/obj/item/folder/blue, +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 9 }, @@ -1544,7 +1544,7 @@ /area/gateway/arynthilake/dome) "IZ" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /turf/simulated/floor/tiled/eris/white/brown_platform, /area/gateway/arynthilake/dome) "Jn" = ( @@ -1569,7 +1569,7 @@ }, /area/gateway/arynthilake/dome) "JB" = ( -/obj/item/weapon/lampshade, +/obj/item/lampshade, /turf/simulated/mineral/floor/ignore_cavegen/cave, /area/gateway/arynthilake/caves) "JK" = ( @@ -1623,7 +1623,7 @@ /area/gateway/arynthilake/dome) "Kp" = ( /obj/structure/table/darkglass, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /obj/random/awayloot, /turf/simulated/floor/carpet/blucarpet, /area/gateway/arynthilake/dome) @@ -1681,7 +1681,7 @@ /area/gateway/arynthilake/engine) "Li" = ( /obj/structure/table/darkglass, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled/eris, /area/gateway/arynthilake/engine) "Lx" = ( @@ -1734,7 +1734,7 @@ /obj/structure/table/standard{ color = "#ffb8b8" }, -/obj/item/weapon/folder/red, +/obj/item/folder/red, /turf/simulated/floor/tiled/eris/white/brown_platform, /area/gateway/arynthilake/dome) "Ml" = ( @@ -1797,8 +1797,8 @@ /area/gateway/arynthilake/dome) "Nh" = ( /obj/structure/bookcase, -/obj/item/weapon/book/bundle/custom_library/nonfiction/viabilityofcorporategov, -/obj/item/weapon/book/custom_library/nonfiction/freesirisailightbulbs, +/obj/item/book/bundle/custom_library/nonfiction/viabilityofcorporategov, +/obj/item/book/custom_library/nonfiction/freesirisailightbulbs, /turf/simulated/floor/wood, /area/gateway/arynthilake/dome) "Nl" = ( @@ -1902,28 +1902,28 @@ /area/gateway/arynthilake/dome) "Pt" = ( /obj/structure/bookcase, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/bundle/custom_library/nonfiction/viabilityofcorporategov, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/bundle/custom_library/nonfiction/viabilityofcorporategov, /turf/simulated/floor/carpet/blucarpet, /area/gateway/arynthilake/dome) "Pv" = ( /obj/structure/bookcase, -/obj/item/weapon/book/manual, -/obj/item/weapon/book/manual/anomaly_spectroscopy, -/obj/item/weapon/book/manual/anomaly_testing, -/obj/item/weapon/book/manual/atmospipes, -/obj/item/weapon/book/manual/bar_guide, -/obj/item/weapon/book/manual/barman_recipes, -/obj/item/weapon/book/manual/chef_recipes, -/obj/item/weapon/book/manual/command_guide, -/obj/item/weapon/book/manual/cook_guide, -/obj/item/weapon/book/manual/detective, -/obj/item/weapon/book/manual/engineering_construction, -/obj/item/weapon/book/manual/engineering_guide, -/obj/item/weapon/book/manual/engineering_hacking, -/obj/item/weapon/book/manual/engineering_particle_accelerator, -/obj/item/weapon/book/manual/engineering_singularity_safety, -/obj/item/weapon/book/manual/evaguide, +/obj/item/book/manual, +/obj/item/book/manual/anomaly_spectroscopy, +/obj/item/book/manual/anomaly_testing, +/obj/item/book/manual/atmospipes, +/obj/item/book/manual/bar_guide, +/obj/item/book/manual/barman_recipes, +/obj/item/book/manual/chef_recipes, +/obj/item/book/manual/command_guide, +/obj/item/book/manual/cook_guide, +/obj/item/book/manual/detective, +/obj/item/book/manual/wiki/engineering_construction, +/obj/item/book/manual/wiki/engineering_guide, +/obj/item/book/manual/wiki/engineering_hacking, +/obj/item/book/manual/engineering_particle_accelerator, +/obj/item/book/manual/engineering_singularity_safety, +/obj/item/book/manual/evaguide, /turf/simulated/floor/carpet, /area/gateway/arynthilake/dome) "Py" = ( @@ -1936,7 +1936,7 @@ }, /area/gateway/arynthilake/dome) "PF" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/carpet/purcarpet, /area/gateway/arynthilake/dome) "PL" = ( @@ -2012,8 +2012,8 @@ /area/gateway/arynthilake/dome) "Rs" = ( /obj/machinery/light, -/obj/item/device/flash, -/obj/item/weapon/stamp, +/obj/item/flash, +/obj/item/stamp, /obj/effect/landmark/mcguffin_spawner, /obj/structure/closet/walllocker{ dir = 4; @@ -2038,16 +2038,16 @@ /area/gateway/arynthilake/dome) "RX" = ( /obj/structure/bookcase, -/obj/item/weapon/book/bundle/custom_library/fiction/manfromsnowyriver, -/obj/item/weapon/book/bundle/custom_library/fiction/metalglen, -/obj/item/weapon/book/bundle/custom_library/fiction/poemsforarainyday, -/obj/item/weapon/book/bundle/custom_library/fiction/raissue142, -/obj/item/weapon/book/bundle/custom_library/fiction/raissue147, -/obj/item/weapon/book/bundle/custom_library/fiction/silence, -/obj/item/weapon/book/bundle/custom_library/fiction/taleoftherainbowcat, -/obj/item/weapon/book/custom_library/fiction/starsandsometimesfallingones, -/obj/item/weapon/book/custom_library/fiction/truelovehathmyheart, -/obj/item/weapon/book/custom_library/fiction/woodysgotwood, +/obj/item/book/bundle/custom_library/fiction/manfromsnowyriver, +/obj/item/book/bundle/custom_library/fiction/metalglen, +/obj/item/book/bundle/custom_library/fiction/poemsforarainyday, +/obj/item/book/bundle/custom_library/fiction/raissue142, +/obj/item/book/bundle/custom_library/fiction/raissue147, +/obj/item/book/bundle/custom_library/fiction/silence, +/obj/item/book/bundle/custom_library/fiction/taleoftherainbowcat, +/obj/item/book/custom_library/fiction/starsandsometimesfallingones, +/obj/item/book/custom_library/fiction/truelovehathmyheart, +/obj/item/book/custom_library/fiction/woodysgotwood, /turf/simulated/floor/wood, /area/gateway/arynthilake/dome) "Sc" = ( @@ -2072,12 +2072,12 @@ /area/gateway/arynthilake/underground/maintenance) "Sq" = ( /obj/structure/bookcase, -/obj/item/weapon/book/bundle/custom_library/nonfiction/riseandfallofpersianempire, -/obj/item/weapon/book/bundle/custom_library/nonfiction/skrelliancastesystem, +/obj/item/book/bundle/custom_library/nonfiction/riseandfallofpersianempire, +/obj/item/book/bundle/custom_library/nonfiction/skrelliancastesystem, /turf/simulated/floor/wood, /area/gateway/arynthilake/dome) "Sr" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/random/mob/semirandom_mob_spawner/humanoid/retaliate, /turf/simulated/floor/carpet/purcarpet, /area/gateway/arynthilake/dome) @@ -2176,23 +2176,23 @@ /area/gateway/arynthilake) "UL" = ( /obj/structure/bookcase, -/obj/item/weapon/book/manual/anomaly_spectroscopy, -/obj/item/weapon/book/manual/anomaly_testing, -/obj/item/weapon/book/manual/atmospipes, -/obj/item/weapon/book/manual/bar_guide, -/obj/item/weapon/book/manual/barman_recipes, -/obj/item/weapon/book/manual/chef_recipes, -/obj/item/weapon/book/manual/command_guide, -/obj/item/weapon/book/manual/cook_guide, -/obj/item/weapon/book/manual/detective, -/obj/item/weapon/book/manual/engineering_construction, -/obj/item/weapon/book/manual/engineering_guide, -/obj/item/weapon/book/manual/engineering_hacking, -/obj/item/weapon/book/manual/engineering_particle_accelerator, -/obj/item/weapon/book/manual/engineering_singularity_safety, -/obj/item/weapon/book/manual/evaguide, -/obj/item/weapon/book/manual/excavation, -/obj/item/weapon/book/manual/hydroponics_pod_people, +/obj/item/book/manual/anomaly_spectroscopy, +/obj/item/book/manual/anomaly_testing, +/obj/item/book/manual/atmospipes, +/obj/item/book/manual/bar_guide, +/obj/item/book/manual/barman_recipes, +/obj/item/book/manual/chef_recipes, +/obj/item/book/manual/command_guide, +/obj/item/book/manual/cook_guide, +/obj/item/book/manual/detective, +/obj/item/book/manual/wiki/engineering_construction, +/obj/item/book/manual/wiki/engineering_guide, +/obj/item/book/manual/wiki/engineering_hacking, +/obj/item/book/manual/engineering_particle_accelerator, +/obj/item/book/manual/engineering_singularity_safety, +/obj/item/book/manual/evaguide, +/obj/item/book/manual/excavation, +/obj/item/book/manual/hydroponics_pod_people, /turf/simulated/floor/wood, /area/gateway/arynthilake/dome) "UU" = ( @@ -2253,11 +2253,11 @@ /obj/structure/table/standard{ color = "#ffb8b8" }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 9 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled/eris/white/brown_platform, /area/gateway/arynthilake/dome) "Vy" = ( @@ -2286,7 +2286,7 @@ /area/gateway/arynthilake/engine) "Wt" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/book/manual/chef_recipes, +/obj/item/book/manual/chef_recipes, /obj/effect/landmark/mcguffin_spawner, /turf/simulated/floor/tiled/eris/cafe, /area/gateway/arynthilake/dome) @@ -2380,9 +2380,9 @@ /area/gateway/arynthilake/dome) "YA" = ( /obj/structure/bookcase, -/obj/item/weapon/book/custom_library/religious/storyoflordganesha, -/obj/item/weapon/book/custom_library/religious/sungoddessofkorea, -/obj/item/weapon/book/custom_library/religious/wayofbleedingswan, +/obj/item/book/custom_library/religious/storyoflordganesha, +/obj/item/book/custom_library/religious/sungoddessofkorea, +/obj/item/book/custom_library/religious/wayofbleedingswan, /turf/simulated/floor/wood, /area/gateway/arynthilake/dome) "YQ" = ( @@ -2412,7 +2412,7 @@ /area/gateway/arynthilake/engine) "Zn" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/reddouble, +/obj/item/bedsheet/reddouble, /obj/effect/landmark/mcguffin_spawner, /turf/simulated/floor/carpet/blucarpet, /area/gateway/arynthilake/dome) diff --git a/maps/gateway_vr/variable/arynthilakeunderground_a.dmm b/maps/gateway_vr/variable/arynthilakeunderground_a.dmm index 4bc8b66405b..54142bffc8f 100644 --- a/maps/gateway_vr/variable/arynthilakeunderground_a.dmm +++ b/maps/gateway_vr/variable/arynthilakeunderground_a.dmm @@ -45,7 +45,7 @@ /area/gateway/arynthilake/underground) "hB" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/mapping_unit, +/obj/item/mapping_unit, /turf/simulated/floor/tiled/eris/steel/orangecorner, /area/gateway/arynthilake/engine) "hK" = ( @@ -346,7 +346,7 @@ /obj/structure/noticeboard{ pixel_x = -32 }, -/obj/item/weapon/paper/gateway/arynthilake, +/obj/item/paper/gateway/arynthilake, /turf/simulated/floor/tiled/eris/steel/orangecorner, /area/gateway/arynthilake/engine) "WN" = ( @@ -366,7 +366,7 @@ /area/gateway/arynthilake/underground/maintenance) "ZY" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/cell/void, +/obj/item/cell/void, /obj/random/tool, /obj/random/tool, /obj/random/tech_supply, diff --git a/maps/gateway_vr/variable/arynthilakeunderground_b.dmm b/maps/gateway_vr/variable/arynthilakeunderground_b.dmm index e440cdf66be..ea3323eae99 100644 --- a/maps/gateway_vr/variable/arynthilakeunderground_b.dmm +++ b/maps/gateway_vr/variable/arynthilakeunderground_b.dmm @@ -91,7 +91,7 @@ /obj/structure/noticeboard{ pixel_x = 32 }, -/obj/item/weapon/paper/gateway/arynthilake, +/obj/item/paper/gateway/arynthilake, /turf/simulated/floor/tiled/eris/steel/orangecorner, /area/gateway/arynthilake/engine) "iR" = ( @@ -211,7 +211,7 @@ /area/gateway/arynthilake/engine) "xP" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/mapping_unit, +/obj/item/mapping_unit, /turf/simulated/floor/tiled/eris/steel/orangecorner, /area/gateway/arynthilake/engine) "yv" = ( @@ -376,7 +376,7 @@ /area/gateway/arynthilake/engine) "Wd" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/cell/void, +/obj/item/cell/void, /obj/random/tool, /obj/random/tool, /obj/random/tech_supply, diff --git a/maps/gateway_vr/variable/honlethhighlands_a.dmm b/maps/gateway_vr/variable/honlethhighlands_a.dmm index fad656a5d9f..c2bbc92a582 100644 --- a/maps/gateway_vr/variable/honlethhighlands_a.dmm +++ b/maps/gateway_vr/variable/honlethhighlands_a.dmm @@ -269,7 +269,7 @@ }, /area/gateway/honlethhighlands/caves) "bi" = ( -/obj/item/weapon/stool, +/obj/item/stool, /turf/simulated/floor/outdoors/newdirt{ temperature = 253.15 }, @@ -320,10 +320,10 @@ dir = 8; pixel_x = -28 }, -/obj/item/device/flash, -/obj/item/weapon/reagent_containers/spray/pepper, -/obj/item/weapon/stamp, -/obj/item/weapon/stamp/denied, +/obj/item/flash, +/obj/item/reagent_containers/spray/pepper, +/obj/item/stamp, +/obj/item/stamp/denied, /turf/simulated/floor/tiled/techfloor, /area/gateway/honlethhighlands/gate) "by" = ( @@ -414,10 +414,10 @@ /area/gateway/honlethhighlands/town/supply) "cT" = ( /obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/reagent_containers/food/condiment/enzyme{ +/obj/item/reagent_containers/food/condiment/enzyme{ layer = 5 }, -/obj/item/weapon/reagent_containers/food/condiment/enzyme{ +/obj/item/reagent_containers/food/condiment/enzyme{ layer = 5 }, /turf/simulated/floor/lino, @@ -451,7 +451,7 @@ /obj/machinery/light{ dir = 8 }, -/obj/item/weapon/stool{ +/obj/item/stool{ dir = 4 }, /turf/simulated/floor/wood, @@ -482,7 +482,7 @@ /turf/simulated/floor/tiled/techfloor, /area/gateway/honlethhighlands/gate) "ef" = ( -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /turf/simulated/floor/outdoors/grass/forest, /area/gateway/honlethhighlands/town/garden) "em" = ( @@ -521,7 +521,7 @@ /area/gateway/honlethhighlands/caves) "fi" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/book/manual/bar_guide, +/obj/item/book/manual/bar_guide, /obj/random/drinkbottle, /turf/simulated/floor/lino, /area/gateway/honlethhighlands/town/bar) @@ -662,7 +662,7 @@ /turf/simulated/floor/plating, /area/gateway/honlethhighlands) "is" = ( -/obj/item/weapon/flame/lighter/random, +/obj/item/flame/lighter/random, /turf/simulated/mineral/floor/ignore_cavegen/cave{ temperature = 253.15 }, @@ -723,30 +723,30 @@ /turf/simulated/floor/tiled, /area/gateway/honlethhighlands/town/command) "kL" = ( -/obj/item/weapon/stool{ +/obj/item/stool{ dir = 1 }, /turf/simulated/floor/plating, /area/gateway/honlethhighlands/town/bar) "kS" = ( /obj/structure/closet/secure_closet/freezer/kitchen, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -3 }, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -3 }, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 3 }, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 3 }, -/obj/item/weapon/storage/box/beakers{ +/obj/item/storage/box/beakers{ name = "box of measuring cups"; pixel_x = 2; pixel_y = 3; - starts_with = list(/obj/item/weapon/reagent_containers/glass/beaker/measuring_cup = 7) + starts_with = list(/obj/item/reagent_containers/glass/beaker/measuring_cup = 7) }, /obj/machinery/power/apc/alarms_hidden{ dir = 4; @@ -884,7 +884,7 @@ }, /area/gateway/honlethhighlands/town/garden) "nx" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, /obj/random/mob/semirandom_mob_spawner/humanoid/retaliate, @@ -1060,7 +1060,7 @@ /turf/simulated/floor/tiled, /area/gateway/honlethhighlands/town/command) "qB" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /obj/random/junk, @@ -1125,13 +1125,13 @@ /obj/machinery/light{ dir = 4 }, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/wood, /area/gateway/honlethhighlands/town/bar) "rz" = ( /obj/structure/table/marble, /obj/machinery/reagentgrinder, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/reagent_containers/dropper, /obj/structure/cable/pink{ icon_state = "2-8" }, @@ -1169,7 +1169,7 @@ /area/gateway/honlethhighlands/gate) "rP" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/reagent_containers/food/drinks/flask/vacuumflask, +/obj/item/reagent_containers/food/drinks/flask/vacuumflask, /obj/random/drinkbottle, /turf/simulated/floor/lino, /area/gateway/honlethhighlands/town/bar) @@ -1308,7 +1308,7 @@ /turf/simulated/floor/tiled, /area/gateway/honlethhighlands/town/command) "uu" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /obj/random/junk, @@ -1355,7 +1355,7 @@ /turf/simulated/floor/plating, /area/gateway/honlethhighlands/town/xenobio) "vt" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /turf/simulated/floor/wood, @@ -1368,8 +1368,8 @@ /area/gateway/honlethhighlands/town/engineering) "vL" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/reagent_containers/food/drinks/jar, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass, +/obj/item/reagent_containers/food/drinks/jar, +/obj/item/reagent_containers/food/drinks/drinkingglass, /turf/simulated/floor/lino, /area/gateway/honlethhighlands/town/bar) "vU" = ( @@ -1476,7 +1476,7 @@ /area/gateway/honlethhighlands/caves) "wY" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/reagent_containers/glass/rag, +/obj/item/reagent_containers/glass/rag, /turf/simulated/floor/lino, /area/gateway/honlethhighlands/town/bar) "xo" = ( @@ -1557,7 +1557,7 @@ /turf/simulated/floor/plating, /area/gateway/honlethhighlands/town/bar) "yX" = ( -/obj/item/weapon/material/knife/machete/hatchet, +/obj/item/material/knife/machete/hatchet, /turf/simulated/floor/tiled, /area/gateway/honlethhighlands/town/garden) "zh" = ( @@ -1598,7 +1598,7 @@ }, /area/gateway/honlethhighlands/caves) "zP" = ( -/obj/item/weapon/bedsheet/pirate, +/obj/item/bedsheet/pirate, /obj/structure/bed/padded, /turf/simulated/floor/carpet/purcarpet, /area/gateway/honlethhighlands) @@ -1663,7 +1663,7 @@ /area/gateway/honlethhighlands) "AF" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/reagent_containers/food/drinks/cup, +/obj/item/reagent_containers/food/drinks/cup, /turf/simulated/floor/wood, /area/gateway/honlethhighlands/town/bar) "AK" = ( @@ -1724,12 +1724,12 @@ /turf/simulated/floor/plating, /area/gateway/honlethhighlands/town/kitchen) "BS" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/wood, /area/gateway/honlethhighlands/town/bar) "BW" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass, +/obj/item/reagent_containers/food/drinks/drinkingglass, /turf/simulated/floor/lino, /area/gateway/honlethhighlands/town/bar) "Ca" = ( @@ -1748,8 +1748,8 @@ /area/gateway/honlethhighlands/town/garden) "Cl" = ( /obj/structure/table/marble, -/obj/item/weapon/material/kitchen/rollingpin, -/obj/item/weapon/material/knife/butch, +/obj/item/material/kitchen/rollingpin, +/obj/item/material/knife/butch, /obj/machinery/light{ dir = 1 }, @@ -1914,7 +1914,7 @@ /obj/structure/cable/pink{ icon_state = "0-4" }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /turf/simulated/floor/lino, @@ -1927,9 +1927,9 @@ /area/gateway/honlethhighlands/beach) "EP" = ( /obj/structure/table/glass, -/obj/item/weapon/paper_bin, -/obj/item/weapon/newspaper, -/obj/item/weapon/pen/multi, +/obj/item/paper_bin, +/obj/item/newspaper, +/obj/item/pen/multi, /turf/simulated/floor/tiled/techfloor, /area/gateway/honlethhighlands/gate) "Fb" = ( @@ -1964,7 +1964,7 @@ /area/gateway/honlethhighlands) "FR" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass, +/obj/item/reagent_containers/food/drinks/drinkingglass, /obj/random/awayloot, /turf/simulated/floor/wood, /area/gateway/honlethhighlands/town/bar) @@ -1991,7 +1991,7 @@ /obj/structure/closet, /obj/random/contraband, /obj/random/tech_supply/component, -/obj/item/device/multitool, +/obj/item/multitool, /turf/simulated/floor/plating, /area/gateway/honlethhighlands/town/supply) "Gz" = ( @@ -2115,7 +2115,7 @@ }, /area/gateway/honlethhighlands/town/garden) "JI" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /turf/simulated/floor/lino, @@ -2458,7 +2458,7 @@ icon_state = "4-8" }, /obj/structure/table/steel_reinforced, -/obj/item/weapon/tool/crowbar, +/obj/item/tool/crowbar, /obj/item/broken_device/random, /turf/simulated/floor/plating, /area/gateway/honlethhighlands/town/supply) @@ -2480,7 +2480,7 @@ /turf/simulated/floor/plating, /area/gateway/honlethhighlands/town/xenobio) "Rx" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /obj/move_trader_landmark{ @@ -2618,8 +2618,8 @@ "Vl" = ( /obj/effect/floor_decal/techfloor, /obj/structure/table/glass, -/obj/item/weapon/folder/blue, -/obj/item/weapon/folder/red{ +/obj/item/folder/blue, +/obj/item/folder/red{ pixel_x = 5; pixel_y = -4 }, @@ -2813,7 +2813,7 @@ /turf/simulated/floor/tiled, /area/gateway/honlethhighlands/town/command) "Ze" = ( -/obj/item/weapon/stool, +/obj/item/stool, /obj/random/mob/semirandom_mob_spawner/humanoid/retaliate, /turf/simulated/floor/wood, /area/gateway/honlethhighlands/town/bar) @@ -2845,7 +2845,7 @@ /obj/item/stack/material/wood, /obj/item/stack/material/wood, /obj/item/stack/material/wood, -/obj/item/weapon/flame/lighter/random, +/obj/item/flame/lighter/random, /turf/simulated/floor/wood, /area/gateway/honlethhighlands) "ZZ" = ( diff --git a/maps/gateway_vr/variable/honlethhighlands_b.dmm b/maps/gateway_vr/variable/honlethhighlands_b.dmm index 865715aab27..405119f78c4 100644 --- a/maps/gateway_vr/variable/honlethhighlands_b.dmm +++ b/maps/gateway_vr/variable/honlethhighlands_b.dmm @@ -269,7 +269,7 @@ }, /area/gateway/honlethhighlands/caves) "bi" = ( -/obj/item/weapon/stool, +/obj/item/stool, /turf/simulated/floor/outdoors/newdirt{ temperature = 253.15 }, @@ -321,10 +321,10 @@ dir = 8; pixel_x = -28 }, -/obj/item/device/flash, -/obj/item/weapon/reagent_containers/spray/pepper, -/obj/item/weapon/stamp, -/obj/item/weapon/stamp/denied, +/obj/item/flash, +/obj/item/reagent_containers/spray/pepper, +/obj/item/stamp, +/obj/item/stamp/denied, /turf/simulated/floor/tiled/techfloor, /area/gateway/honlethhighlands/gate) "by" = ( @@ -395,10 +395,10 @@ /area/gateway/honlethhighlands/town/supply) "cT" = ( /obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/reagent_containers/food/condiment/enzyme{ +/obj/item/reagent_containers/food/condiment/enzyme{ layer = 5 }, -/obj/item/weapon/reagent_containers/food/condiment/enzyme{ +/obj/item/reagent_containers/food/condiment/enzyme{ layer = 5 }, /turf/simulated/floor/lino, @@ -433,7 +433,7 @@ /obj/machinery/light{ dir = 8 }, -/obj/item/weapon/stool{ +/obj/item/stool{ dir = 4 }, /turf/simulated/floor/wood, @@ -464,7 +464,7 @@ /turf/simulated/floor/tiled/techfloor, /area/gateway/honlethhighlands/gate) "ef" = ( -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /turf/simulated/floor/outdoors/grass/forest, /area/gateway/honlethhighlands/town/garden) "em" = ( @@ -503,7 +503,7 @@ /area/gateway/honlethhighlands/caves) "fi" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/book/manual/bar_guide, +/obj/item/book/manual/bar_guide, /obj/random/drinkbottle, /turf/simulated/floor/lino, /area/gateway/honlethhighlands/town/bar) @@ -653,7 +653,7 @@ /turf/simulated/floor/plating, /area/gateway/honlethhighlands) "is" = ( -/obj/item/weapon/flame/lighter/random, +/obj/item/flame/lighter/random, /turf/simulated/mineral/floor/ignore_cavegen/cave{ temperature = 253.15 }, @@ -676,7 +676,7 @@ /turf/simulated/floor/tiled, /area/gateway/honlethhighlands/town/command) "jq" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /turf/simulated/floor/wood, @@ -730,30 +730,30 @@ /turf/simulated/floor/tiled, /area/gateway/honlethhighlands/town/command) "kL" = ( -/obj/item/weapon/stool{ +/obj/item/stool{ dir = 1 }, /turf/simulated/floor/plating, /area/gateway/honlethhighlands/town/bar) "kS" = ( /obj/structure/closet/secure_closet/freezer/kitchen, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -3 }, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -3 }, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 3 }, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 3 }, -/obj/item/weapon/storage/box/beakers{ +/obj/item/storage/box/beakers{ name = "box of measuring cups"; pixel_x = 2; pixel_y = 3; - starts_with = list(/obj/item/weapon/reagent_containers/glass/beaker/measuring_cup = 7) + starts_with = list(/obj/item/reagent_containers/glass/beaker/measuring_cup = 7) }, /obj/machinery/power/apc/alarms_hidden{ dir = 4; @@ -970,7 +970,7 @@ pixel_x = -28 }, /obj/random/firstaid, -/obj/item/weapon/tool/screwdriver, +/obj/item/tool/screwdriver, /turf/simulated/floor/plating, /area/gateway/honlethhighlands/town/command) "oP" = ( @@ -1092,7 +1092,7 @@ /turf/simulated/floor/tiled, /area/gateway/honlethhighlands/town/command) "qB" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /obj/random/junk, @@ -1170,13 +1170,13 @@ /obj/machinery/light{ dir = 4 }, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/wood, /area/gateway/honlethhighlands/town/bar) "rz" = ( /obj/structure/table/marble, /obj/machinery/reagentgrinder, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/reagent_containers/dropper, /obj/structure/cable/pink{ icon_state = "2-8" }, @@ -1214,7 +1214,7 @@ /area/gateway/honlethhighlands/gate) "rP" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/reagent_containers/food/drinks/flask/vacuumflask, +/obj/item/reagent_containers/food/drinks/flask/vacuumflask, /obj/random/drinkbottle, /turf/simulated/floor/lino, /area/gateway/honlethhighlands/town/bar) @@ -1339,7 +1339,7 @@ }, /area/gateway/honlethhighlands/town) "uu" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /obj/random/junk, @@ -1358,7 +1358,7 @@ /turf/simulated/floor/lino, /area/gateway/honlethhighlands/town/kitchen) "uP" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, /obj/random/mob/semirandom_mob_spawner/humanoid, @@ -1403,8 +1403,8 @@ /area/gateway/honlethhighlands/town/engineering) "vL" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/reagent_containers/food/drinks/jar, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass, +/obj/item/reagent_containers/food/drinks/jar, +/obj/item/reagent_containers/food/drinks/drinkingglass, /turf/simulated/floor/lino, /area/gateway/honlethhighlands/town/bar) "vU" = ( @@ -1504,7 +1504,7 @@ /area/gateway/honlethhighlands/town/kitchen) "wY" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/reagent_containers/glass/rag, +/obj/item/reagent_containers/glass/rag, /turf/simulated/floor/lino, /area/gateway/honlethhighlands/town/bar) "xa" = ( @@ -1597,7 +1597,7 @@ /turf/simulated/floor/plating, /area/gateway/honlethhighlands/town/bar) "yX" = ( -/obj/item/weapon/material/knife/machete/hatchet, +/obj/item/material/knife/machete/hatchet, /turf/simulated/floor/tiled, /area/gateway/honlethhighlands/town/garden) "zh" = ( @@ -1638,7 +1638,7 @@ }, /area/gateway/honlethhighlands/caves) "zP" = ( -/obj/item/weapon/bedsheet/pirate, +/obj/item/bedsheet/pirate, /obj/structure/bed/padded, /turf/simulated/floor/carpet/purcarpet, /area/gateway/honlethhighlands) @@ -1694,7 +1694,7 @@ /area/gateway/honlethhighlands) "AF" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/reagent_containers/food/drinks/cup, +/obj/item/reagent_containers/food/drinks/cup, /turf/simulated/floor/wood, /area/gateway/honlethhighlands/town/bar) "AK" = ( @@ -1755,12 +1755,12 @@ /turf/simulated/floor/plating, /area/gateway/honlethhighlands/town/kitchen) "BS" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/wood, /area/gateway/honlethhighlands/town/bar) "BW" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass, +/obj/item/reagent_containers/food/drinks/drinkingglass, /turf/simulated/floor/lino, /area/gateway/honlethhighlands/town/bar) "Ca" = ( @@ -1779,8 +1779,8 @@ /area/gateway/honlethhighlands/town/garden) "Cl" = ( /obj/structure/table/marble, -/obj/item/weapon/material/kitchen/rollingpin, -/obj/item/weapon/material/knife/butch, +/obj/item/material/kitchen/rollingpin, +/obj/item/material/knife/butch, /obj/machinery/light{ dir = 1 }, @@ -1920,16 +1920,16 @@ /obj/structure/cable/pink{ icon_state = "0-4" }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /turf/simulated/floor/lino, /area/gateway/honlethhighlands/town/bar) "EP" = ( /obj/structure/table/glass, -/obj/item/weapon/paper_bin, -/obj/item/weapon/newspaper, -/obj/item/weapon/pen/multi, +/obj/item/paper_bin, +/obj/item/newspaper, +/obj/item/pen/multi, /turf/simulated/floor/tiled/techfloor, /area/gateway/honlethhighlands/gate) "Fb" = ( @@ -1973,7 +1973,7 @@ /area/gateway/honlethhighlands) "FR" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass, +/obj/item/reagent_containers/food/drinks/drinkingglass, /obj/random/awayloot, /turf/simulated/floor/wood, /area/gateway/honlethhighlands/town/bar) @@ -2006,7 +2006,7 @@ /obj/structure/closet, /obj/random/contraband, /obj/random/tech_supply/component, -/obj/item/device/multitool, +/obj/item/multitool, /turf/simulated/floor/plating, /area/gateway/honlethhighlands/town/supply) "Gz" = ( @@ -2112,7 +2112,7 @@ }, /area/gateway/honlethhighlands/town/garden) "JI" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /turf/simulated/floor/lino, @@ -2286,7 +2286,7 @@ /turf/simulated/floor/carpet/purcarpet, /area/gateway/honlethhighlands) "Nt" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /obj/random/mob/semirandom_mob_spawner/humanoid, @@ -2476,7 +2476,7 @@ icon_state = "4-8" }, /obj/structure/table/steel_reinforced, -/obj/item/weapon/tool/crowbar, +/obj/item/tool/crowbar, /obj/item/broken_device/random, /turf/simulated/floor/plating, /area/gateway/honlethhighlands/town/supply) @@ -2560,7 +2560,7 @@ /turf/simulated/floor/plating, /area/gateway/honlethhighlands/town/kitchen) "TA" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /obj/move_trader_landmark{ @@ -2669,8 +2669,8 @@ "Vl" = ( /obj/effect/floor_decal/techfloor, /obj/structure/table/glass, -/obj/item/weapon/folder/blue, -/obj/item/weapon/folder/red{ +/obj/item/folder/blue, +/obj/item/folder/red{ pixel_x = 5; pixel_y = -4 }, @@ -2868,7 +2868,7 @@ /turf/simulated/floor/tiled, /area/gateway/honlethhighlands/town/command) "Ze" = ( -/obj/item/weapon/stool, +/obj/item/stool, /obj/random/mob/semirandom_mob_spawner/humanoid, /turf/simulated/floor/wood, /area/gateway/honlethhighlands/town/bar) @@ -2890,7 +2890,7 @@ /obj/item/stack/material/wood, /obj/item/stack/material/wood, /obj/item/stack/material/wood, -/obj/item/weapon/flame/lighter/random, +/obj/item/flame/lighter/random, /turf/simulated/floor/wood, /area/gateway/honlethhighlands) "ZZ" = ( diff --git a/maps/gateway_vr/wildwest.dm b/maps/gateway_vr/wildwest.dm index eaf56213ff4..1e16c09f6dd 100644 --- a/maps/gateway_vr/wildwest.dm +++ b/maps/gateway_vr/wildwest.dm @@ -48,52 +48,52 @@ var/wish = tgui_input_list(usr, "You want...","Wish", list("Power","Wealth","Immortality","To Kill","Peace")) switch(wish) if("Power") - to_chat(user, "Your wish is granted, but at a terrible cost...") - to_chat(user, "The Wish Granter punishes you for your selfishness, claiming your soul and warping your body to match the darkness in your heart.") + to_chat(user, span_boldwarning("Your wish is granted, but at a terrible cost...")) + to_chat(user, span_warning("The Wish Granter punishes you for your selfishness, claiming your soul and warping your body to match the darkness in your heart.")) if (!(LASER in user.mutations)) user.mutations.Add(LASER) - to_chat(user, "You feel pressure building behind your eyes.") + to_chat(user, span_notice("You feel pressure building behind your eyes.")) if (!(COLD_RESISTANCE in user.mutations)) user.mutations.Add(COLD_RESISTANCE) - to_chat(user, "Your body feels warm.") + to_chat(user, span_notice("Your body feels warm.")) if (!(XRAY in user.mutations)) user.mutations.Add(XRAY) user.sight |= (SEE_MOBS|SEE_OBJS|SEE_TURFS) user.see_in_dark = 8 user.see_invisible = SEE_INVISIBLE_LEVEL_TWO - to_chat(user, "The walls suddenly disappear.") + to_chat(user, span_notice("The walls suddenly disappear.")) user.dna.mutantrace = "shadow" user.update_mutantrace() if("Wealth") - to_chat(user, "Your wish is granted, but at a terrible cost...") - to_chat(user, "The Wish Granter punishes you for your selfishness, claiming your soul and warping your body to match the darkness in your heart.") + to_chat(user, span_boldwarning("Your wish is granted, but at a terrible cost...")) + to_chat(user, span_warning("The Wish Granter punishes you for your selfishness, claiming your soul and warping your body to match the darkness in your heart.")) new /obj/structure/closet/syndicate/resources/everything(loc) user.dna.mutantrace = "shadow" user.update_mutantrace() if("Immortality") - to_chat(user, "Your wish is granted, but at a terrible cost...") - to_chat(user, "The Wish Granter punishes you for your selfishness, claiming your soul and warping your body to match the darkness in your heart.") - user.verbs += /mob/living/carbon/proc/immortality + to_chat(user, span_boldwarning("Your wish is granted, but at a terrible cost...")) + to_chat(user, span_warning("The Wish Granter punishes you for your selfishness, claiming your soul and warping your body to match the darkness in your heart.")) + add_verb(user, /mob/living/carbon/proc/immortality) user.dna.mutantrace = "shadow" user.update_mutantrace() if("To Kill") - to_chat(user, "Your wish is granted, but at a terrible cost...") - to_chat(user, "The Wish Granter punishes you for your wickedness, claiming your soul and warping your body to match the darkness in your heart.") + to_chat(user, span_boldwarning("Your wish is granted, but at a terrible cost...")) + to_chat(user, span_warning("The Wish Granter punishes you for your wickedness, claiming your soul and warping your body to match the darkness in your heart.")) ticker.mode.traitors += user.mind user.mind.special_role = "traitor" var/datum/objective/hijack/hijack = new hijack.owner = user.mind user.mind.objectives += hijack - to_chat(user, "Your inhibitions are swept away, the bonds of loyalty broken, you are free to murder as you please!") + to_chat(user, span_infoplain(span_bold("Your inhibitions are swept away, the bonds of loyalty broken, you are free to murder as you please!"))) var/obj_count = 1 for(var/datum/objective/OBJ in user.mind.objectives) - to_chat(user, "Objective #[obj_count]: [OBJ.explanation_text]") + to_chat(user, span_infoplain(span_bold("Objective #[obj_count]") + ": [OBJ.explanation_text]")) obj_count++ user.dna.mutantrace = "shadow" user.update_mutantrace() if("Peace") - to_chat(user, "Whatever alien sentience that the Wish Granter possesses is satisfied with your wish. There is a distant wailing as the last of the Faithless begin to die, then silence.") - to_chat(user, "You feel as if you just narrowly avoided a terrible fate...") + to_chat(user, span_infoplain(span_bold("Whatever alien sentience that the Wish Granter possesses is satisfied with your wish. There is a distant wailing as the last of the Faithless begin to die, then silence."))) + to_chat(user, span_infoplain("You feel as if you just narrowly avoided a terrible fate...")) for(var/mob/living/simple_mob/faithless/F in living_mob_list) F.health = -10 F.set_stat(DEAD) @@ -152,9 +152,9 @@ var/mob/living/carbon/C = usr if(!C.stat) - to_chat(C, "You're not dead yet!") + to_chat(C, span_notice("You're not dead yet!")) return - to_chat(C, "Death is not your end!") + to_chat(C, span_notice("Death is not your end!")) spawn(rand(800,1200)) if(C.stat == DEAD) @@ -171,8 +171,8 @@ C.radiation = 0 C.heal_overall_damage(C.getBruteLoss(), C.getFireLoss()) C.reagents.clear_reagents() - to_chat(C, "You have regenerated.") - C.visible_message("[usr] appears to wake from the dead, having healed all wounds.") + to_chat(C, span_notice("You have regenerated.")) + C.visible_message(span_warning("[usr] appears to wake from the dead, having healed all wounds.")) C.update_canmove() return 1 */ diff --git a/maps/gateway_vr/wildwest.dmm b/maps/gateway_vr/wildwest.dmm index d80e24e75ab..69f38dd01e4 100644 --- a/maps/gateway_vr/wildwest.dmm +++ b/maps/gateway_vr/wildwest.dmm @@ -327,7 +327,7 @@ /turf/simulated/floor/redgrid/off, /area/awaymission/wwvault) "ce" = ( -/obj/item/weapon/moneybag, +/obj/item/moneybag, /turf/simulated/floor/carpet, /area/awaymission/wwgov) "ck" = ( @@ -345,7 +345,7 @@ /area/awaymission/wwgov) "co" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/bottle/wine, +/obj/item/reagent_containers/food/drinks/bottle/wine, /turf/simulated/floor/tiled/eris/cafe, /area/awaymission/wwgov) "cp" = ( @@ -442,7 +442,7 @@ /area/awaymission/wwrefine) "du" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /turf/simulated/floor/wood, /area/awaymission/wwmines) "dv" = ( @@ -620,7 +620,7 @@ /area/awaymission/wwmines) "eY" = ( /obj/structure/table/woodentable, -/obj/item/weapon/book/manual/barman_recipes, +/obj/item/book/manual/barman_recipes, /turf/simulated/floor/wood, /area/awaymission/wwmines) "eZ" = ( @@ -636,14 +636,14 @@ /area/awaymission/wwmines) "fb" = ( /obj/structure/closet/secure_closet/freezer/kitchen, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, /turf/simulated/floor/tiled/eris/cafe, /area/awaymission/wwmines) "fc" = ( /obj/structure/table/woodentable, -/obj/item/weapon/book/manual/chef_recipes, +/obj/item/book/manual/chef_recipes, /turf/simulated/floor/tiled/eris/cafe, /area/awaymission/wwmines) "fe" = ( @@ -660,11 +660,11 @@ /area/awaymission/wwmines) "fg" = ( /obj/structure/closet/secure_closet/freezer/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh, -/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh, -/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh, -/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh, -/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh, +/obj/item/reagent_containers/food/snacks/meat/syntiflesh, +/obj/item/reagent_containers/food/snacks/meat/syntiflesh, +/obj/item/reagent_containers/food/snacks/meat/syntiflesh, +/obj/item/reagent_containers/food/snacks/meat/syntiflesh, +/obj/item/reagent_containers/food/snacks/meat/syntiflesh, /turf/simulated/floor/tiled/eris/cafe, /area/awaymission/wwmines) "fi" = ( @@ -762,7 +762,7 @@ /turf/simulated/floor/tiled/white, /area/awaymission/wwmines) "fJ" = ( -/obj/item/weapon/stool, +/obj/item/stool, /turf/simulated/floor/carpet, /area/awaymission/wwmines) "fK" = ( @@ -785,7 +785,7 @@ /turf/simulated/wall/sandstone, /area/awaymission/wwmines) "fT" = ( -/obj/item/weapon/stool{ +/obj/item/stool{ dir = 1 }, /turf/simulated/floor/wood, @@ -795,7 +795,7 @@ /turf/simulated/floor/wood, /area/awaymission/wwgov) "fY" = ( -/obj/item/weapon/moneybag, +/obj/item/moneybag, /turf/simulated/floor/wood, /area/awaymission/wwgov) "fZ" = ( @@ -840,13 +840,13 @@ /area/awaymission/wwgov) "gk" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical, /turf/simulated/floor/wood, /area/awaymission/wwgov) "gl" = ( /obj/structure/table/woodentable, /obj/item/clothing/gloves/yellow, -/obj/item/device/multitool, +/obj/item/multitool, /turf/simulated/floor/wood, /area/awaymission/wwgov) "gm" = ( @@ -875,17 +875,17 @@ /area/awaymission/wwmines) "gt" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, +/obj/item/reagent_containers/food/condiment/small/peppermill, /turf/simulated/floor/wood, /area/awaymission/wwmines) "gu" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/small/saltshaker, /turf/simulated/floor/wood, /area/awaymission/wwmines) "gv" = ( /obj/structure/table/woodentable, -/obj/item/weapon/melee/energy/spear, +/obj/item/melee/energy/spear, /turf/simulated/floor/wood, /area/awaymission/wwgov) "gw" = ( @@ -939,17 +939,17 @@ /area/awaymission/wwmines) "gQ" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/monkeysdelight, +/obj/item/reagent_containers/food/snacks/monkeysdelight, /turf/simulated/floor/tiled/eris/cafe, /area/awaymission/wwgov) "gS" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/knife/butch, +/obj/item/material/knife/butch, /turf/simulated/floor/tiled/eris/cafe, /area/awaymission/wwgov) "gT" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/stew, +/obj/item/reagent_containers/food/snacks/stew, /turf/simulated/floor/tiled/eris/cafe, /area/awaymission/wwgov) "gW" = ( @@ -1114,7 +1114,7 @@ /area/awaymission/wwmines) "mD" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /obj/item/ammo_casing/a357, /turf/simulated/floor/wood, /area/awaymission/wwmines) @@ -1260,7 +1260,7 @@ /area/awaymission/wwmines) "tk" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/sliceable/lemoncake, +/obj/item/reagent_containers/food/snacks/sliceable/lemoncake, /turf/simulated/floor/tiled/eris/cafe, /area/awaymission/wwgov) "tn" = ( @@ -1288,7 +1288,7 @@ /area/awaymission/wwmines) "uH" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/kitchen/rollingpin, /turf/simulated/floor/tiled/eris/cafe, /area/awaymission/wwgov) "uJ" = ( @@ -1321,7 +1321,7 @@ /area/awaymission/wwmines) "vc" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical, /obj/machinery/light/small{ dir = 8 }, @@ -1332,7 +1332,7 @@ /turf/simulated/floor/grass, /area/awaymission/wwgov) "we" = ( -/obj/item/weapon/stool{ +/obj/item/stool{ dir = 1 }, /obj/random/mob/semirandom_mob_spawner/wildwest, @@ -1343,7 +1343,7 @@ /area/awaymission/wwvault) "ws" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/donut/pink/jelly, +/obj/item/reagent_containers/food/snacks/donut/pink/jelly, /turf/simulated/floor/carpet, /area/awaymission/wwmines) "xo" = ( @@ -1454,7 +1454,7 @@ /area/awaymission/wwrefine) "zY" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/donut/choc/jelly, +/obj/item/reagent_containers/food/snacks/donut/choc/jelly, /turf/simulated/floor/carpet, /area/awaymission/wwmines) "AA" = ( @@ -1465,7 +1465,7 @@ /area/awaymission/wwrefine) "Bf" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/bottle/patron, +/obj/item/reagent_containers/food/drinks/bottle/patron, /turf/simulated/floor/tiled/eris/cafe, /area/awaymission/wwgov) "BQ" = ( @@ -1477,7 +1477,7 @@ /area/awaymission/wwmines) "Ce" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/donut/plain, +/obj/item/reagent_containers/food/snacks/donut/plain, /turf/simulated/floor/carpet, /area/awaymission/wwmines) "Ch" = ( @@ -1570,7 +1570,7 @@ /obj/item/clothing/suit/space/syndicate/black/orange, /obj/item/clothing/head/helmet/space/syndicate/black/orange, /obj/item/clothing/mask/gas/syndicate, -/obj/item/weapon/tank/oxygen, +/obj/item/tank/oxygen, /turf/simulated/shuttle/floor, /area/awaymission/wwrefine) "Ft" = ( @@ -1619,7 +1619,7 @@ /turf/simulated/floor/tiled/asteroid_steel, /area/awaymission/wwrefine) "Hq" = ( -/obj/item/weapon/material/knife/machete/hatchet, +/obj/item/material/knife/machete/hatchet, /turf/simulated/floor/wood, /area/awaymission/wwmines) "Ht" = ( @@ -1631,7 +1631,7 @@ "Hw" = ( /obj/effect/decal/cleanable/blood, /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /turf/simulated/floor/wood, /area/awaymission/wwmines) "HA" = ( @@ -1645,7 +1645,7 @@ /area/awaymission/wwrefine) "HT" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/coffee, +/obj/item/reagent_containers/food/drinks/coffee, /turf/simulated/floor/carpet, /area/awaymission/wwmines) "HU" = ( @@ -1663,8 +1663,8 @@ /area/awaymission/wwmines) "Io" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/coffee, -/obj/item/weapon/reagent_containers/food/snacks/donut/pink/jelly, +/obj/item/reagent_containers/food/drinks/coffee, +/obj/item/reagent_containers/food/snacks/donut/pink/jelly, /turf/simulated/floor/carpet, /area/awaymission/wwmines) "Iy" = ( @@ -1687,12 +1687,12 @@ /area/awaymission/wwmines) "Jd" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/sliceable/creamcheesebread, +/obj/item/reagent_containers/food/snacks/sliceable/creamcheesebread, /turf/simulated/floor/tiled/eris/cafe, /area/awaymission/wwgov) "Jo" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /turf/simulated/floor/wood, /area/awaymission/wwgov) "Jx" = ( @@ -1932,7 +1932,7 @@ /area/space) "RP" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /obj/random/gun/random, /turf/simulated/floor/wood, /area/awaymission/wwmines) @@ -2089,10 +2089,10 @@ /area/awaymission/wwmines) "YL" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass, +/obj/item/reagent_containers/food/drinks/drinkingglass, +/obj/item/reagent_containers/food/drinks/drinkingglass, +/obj/item/reagent_containers/food/drinks/drinkingglass, +/obj/item/reagent_containers/food/drinks/drinkingglass, /turf/simulated/floor/tiled/eris/cafe, /area/awaymission/wwgov) "YV" = ( @@ -2127,7 +2127,7 @@ /turf/simulated/floor/tiled/white, /area/awaymission/wwmines) "ZW" = ( -/obj/item/weapon/moneybag, +/obj/item/moneybag, /obj/machinery/light/small{ dir = 1 }, diff --git a/maps/gateway_vr/zoo.dm b/maps/gateway_vr/zoo.dm index 8dfc8857831..baded125a60 100644 --- a/maps/gateway_vr/zoo.dm +++ b/maps/gateway_vr/zoo.dm @@ -18,27 +18,27 @@ /area/awaymission/zoo/pirateship icon_state = "bluenew" -/obj/item/weapon/paper/zoo +/obj/item/paper/zoo name = "\improper Quarterly Report" - info = {"There's nothing but spreadsheets and budget reports on this document, apparently regarding a zoo owned by NanoTrasen."} + info = span_italics("There's nothing but spreadsheets and budget reports on this document, apparently regarding a zoo owned by NanoTrasen.") -/obj/item/weapon/paper/zoo/pirate +/obj/item/paper/zoo/pirate name = "odd note" -/obj/item/weapon/paper/zoo/pirate/volk +/obj/item/paper/zoo/pirate/volk info = {"Lady Nebula,

      We can't keep these animals here permanently. We're running out of food and they're getting hungry. Ma'isi went missing last night when we sent her to clean up the petting zoo. This morning, we found Tajaran hair in the horse shit. I can't speak for everyone, but I'm out. If these animals break loose, we're all fucking dead. Please get some extra rations of meat before the carnivores realize the electrified grilles don't work right now.

      -Volk"} -/obj/item/weapon/paper/zoo/pirate/nebula +/obj/item/paper/zoo/pirate/nebula info = {"Volk,

      Throw some prisoners into the cages, then. The client took too long to pay up anyway.

      -Lady Nebula"} -/obj/item/weapon/paper/zoo/pirate/haveyouseen +/obj/item/paper/zoo/pirate/haveyouseen info = {"Has anyone seen Za'med? I sent him to get something out of the tool shed and he hasn't come back.

      -Meesei"} -/obj/item/weapon/paper/zoo/pirate/warning +/obj/item/paper/zoo/pirate/warning info = {"Attention crew,

      Since apparently you fucking idiots didn't notice, that bulltaur who delivered the bears was Jarome Rognvaldr. I'm sorry, maybe you scabs forgot? Does the name Jarome the Bottomless ring any fucking bells? If he's seen again without a laser bolt hole through his fucking skull, I'm shoving anyone on guard duty up Zed's arse. Are we - clear?

      -Lady Nebula"} \ No newline at end of file + clear?

      -Lady Nebula"} diff --git a/maps/gateway_vr/zoo.dmm b/maps/gateway_vr/zoo.dmm index 6bb8c36d6a9..f7938f2810f 100644 --- a/maps/gateway_vr/zoo.dmm +++ b/maps/gateway_vr/zoo.dmm @@ -34,7 +34,7 @@ /obj/machinery/porta_turret{ dir = 8; emagged = 1; - installation = /obj/item/weapon/gun/energy/lasercannon + installation = /obj/item/gun/energy/lasercannon }, /turf/simulated/floor/reinforced, /area/awaymission/zoo/pirateship) @@ -50,30 +50,30 @@ "ai" = ( /obj/structure/table/marble, /obj/structure/safe/floor, -/obj/item/weapon/spacecash/c1000, -/obj/item/weapon/spacecash/c1000, -/obj/item/weapon/spacecash/c1000, -/obj/item/weapon/spacecash/c1000, -/obj/item/weapon/spacecash/c1000, -/obj/item/weapon/spacecash/c1000, -/obj/item/weapon/spacecash/c1000, -/obj/item/weapon/spacecash/c1000, -/obj/item/weapon/spacecash/c1000, -/obj/item/weapon/spacecash/c1000, -/obj/item/weapon/card/emag, -/obj/item/weapon/beartrap, -/obj/item/weapon/grenade/spawnergrenade/spesscarp, -/obj/item/weapon/grenade/spawnergrenade/spesscarp, -/obj/item/weapon/grenade/spawnergrenade/spesscarp, +/obj/item/spacecash/c1000, +/obj/item/spacecash/c1000, +/obj/item/spacecash/c1000, +/obj/item/spacecash/c1000, +/obj/item/spacecash/c1000, +/obj/item/spacecash/c1000, +/obj/item/spacecash/c1000, +/obj/item/spacecash/c1000, +/obj/item/spacecash/c1000, +/obj/item/spacecash/c1000, +/obj/item/card/emag, +/obj/item/beartrap, +/obj/item/grenade/spawnergrenade/spesscarp, +/obj/item/grenade/spawnergrenade/spesscarp, +/obj/item/grenade/spawnergrenade/spesscarp, /obj/item/clothing/glasses/thermal/plain/monocle, /obj/item/stolenpackage, /obj/item/stolenpackage, /obj/item/stolenpackage, /obj/item/stolenpackage, /obj/item/stolenpackage, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/melee/energy/sword/pirate, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/melee/energy/sword/pirate, /turf/space, /area/awaymission/zoo) "aj" = ( @@ -120,15 +120,15 @@ /turf/simulated/floor/plating, /area/awaymission/zoo/pirateship) "aq" = ( -/obj/item/weapon/handcuffs, -/obj/item/weapon/handcuffs, +/obj/item/handcuffs, +/obj/item/handcuffs, /obj/structure/closet/crate, /turf/simulated/floor/plating, /area/awaymission/zoo/pirateship) "ar" = ( -/obj/item/weapon/surgical/scalpel, +/obj/item/surgical/scalpel, /obj/structure/closet/crate, -/obj/item/weapon/tank/anesthetic, +/obj/item/tank/anesthetic, /turf/simulated/floor/plating, /area/awaymission/zoo/pirateship) "as" = ( @@ -136,7 +136,7 @@ /turf/simulated/floor/plating, /area/awaymission/zoo/pirateship) "at" = ( -/obj/item/weapon/storage/box/syringes, +/obj/item/storage/box/syringes, /turf/simulated/floor/plating, /area/awaymission/zoo/pirateship) "au" = ( @@ -155,8 +155,8 @@ /area/awaymission/zoo/pirateship) "ax" = ( /obj/structure/closet/crate/freezer, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, /obj/effect/floor_decal/industrial/warning{ dir = 1 }, @@ -164,7 +164,7 @@ /area/awaymission/zoo/pirateship) "ay" = ( /obj/structure/closet/crate/freezer, -/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, /obj/effect/floor_decal/industrial/warning{ dir = 1 }, @@ -172,7 +172,7 @@ /area/awaymission/zoo/pirateship) "az" = ( /obj/structure/table/reinforced, -/obj/item/weapon/packageWrap, +/obj/item/packageWrap, /obj/effect/floor_decal/industrial/warning{ dir = 1 }, @@ -180,7 +180,7 @@ /area/awaymission/zoo/pirateship) "aA" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box, +/obj/item/storage/box, /obj/machinery/light/small{ dir = 1 }, @@ -202,7 +202,7 @@ /turf/simulated/floor/plating, /area/awaymission/zoo/pirateship) "aD" = ( -/obj/item/weapon/storage/box, +/obj/item/storage/box, /turf/simulated/floor/plating, /area/awaymission/zoo/pirateship) "aE" = ( @@ -224,7 +224,7 @@ /turf/simulated/floor/plating, /area/awaymission/zoo/pirateship) "aH" = ( -/obj/item/weapon/hand_labeler, +/obj/item/hand_labeler, /turf/simulated/floor/plating, /area/awaymission/zoo/pirateship) "aI" = ( @@ -236,19 +236,19 @@ /area/awaymission/zoo/pirateship) "aJ" = ( /obj/structure/table/woodentable, -/obj/item/weapon/spacecash/c500, -/obj/item/weapon/spacecash/c100, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/spacecash/c500, +/obj/item/spacecash/c100, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, /turf/simulated/floor/wood, /area/awaymission/zoo/pirateship) "aK" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet/yellow, +/obj/item/bedsheet/yellow, /turf/simulated/floor/wood, /area/awaymission/zoo/pirateship) "aL" = ( /obj/structure/table/rack, -/obj/item/weapon/tank/oxygen/yellow, +/obj/item/tank/oxygen/yellow, /obj/item/clothing/suit/space/emergency, /obj/item/clothing/head/helmet/space/emergency, /obj/effect/floor_decal/industrial/warning{ @@ -272,8 +272,8 @@ /area/awaymission/zoo/pirateship) "aP" = ( /obj/structure/closet/crate/freezer, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, /turf/simulated/floor/plating, /area/awaymission/zoo/pirateship) "aQ" = ( @@ -424,13 +424,13 @@ /area/awaymission/zoo/pirateship) "bq" = ( /obj/structure/table/reinforced, -/obj/item/weapon/tool/screwdriver, -/obj/item/weapon/tool/screwdriver, -/obj/item/weapon/paper{ +/obj/item/tool/screwdriver, +/obj/item/tool/screwdriver, +/obj/item/paper{ info = "The next person who takes one of my screwdrivers gets stabbed with one. They are MINE. - Love, Madsen"; name = "scribbled note" }, -/obj/item/weapon/tool/screwdriver, +/obj/item/tool/screwdriver, /obj/effect/floor_decal/corner/red/diagonal, /turf/simulated/floor/tiled, /area/awaymission/zoo/pirateship) @@ -477,19 +477,19 @@ /area/awaymission/zoo/pirateship) "bx" = ( /obj/structure/table/reinforced, -/obj/item/weapon/material/knife/butch, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, -/obj/item/weapon/reagent_containers/food/snacks/xenomeat, -/obj/item/weapon/reagent_containers/food/snacks/xenomeat, -/obj/item/weapon/reagent_containers/food/snacks/xenomeat, -/obj/item/weapon/reagent_containers/food/snacks/xenomeat, -/obj/item/weapon/reagent_containers/food/snacks/xenomeat, +/obj/item/material/knife/butch, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/reagent_containers/food/snacks/xenomeat, +/obj/item/reagent_containers/food/snacks/xenomeat, +/obj/item/reagent_containers/food/snacks/xenomeat, +/obj/item/reagent_containers/food/snacks/xenomeat, +/obj/item/reagent_containers/food/snacks/xenomeat, /obj/effect/floor_decal/corner/blue/diagonal, /turf/simulated/floor/tiled/white, /area/awaymission/zoo/pirateship) "by" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, /obj/effect/floor_decal/corner/blue/diagonal, /turf/simulated/floor/tiled/white, /area/awaymission/zoo/pirateship) @@ -507,13 +507,13 @@ /area/awaymission/zoo/pirateship) "bB" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, /obj/effect/floor_decal/corner/red/diagonal, /turf/simulated/floor/tiled, /area/awaymission/zoo/pirateship) "bC" = ( /obj/structure/table/reinforced, -/obj/item/weapon/material/knife, +/obj/item/material/knife, /obj/effect/floor_decal/corner/red/diagonal, /turf/simulated/floor/tiled, /area/awaymission/zoo/pirateship) @@ -590,7 +590,7 @@ /turf/space, /area/awaymission/zoo/tradeship) "bN" = ( -/obj/item/weapon/reagent_containers/food/snacks/hugemushroomslice, +/obj/item/reagent_containers/food/snacks/hugemushroomslice, /obj/effect/floor_decal/corner/red/diagonal, /turf/simulated/floor/tiled, /area/awaymission/zoo/pirateship) @@ -598,7 +598,7 @@ /turf/simulated/floor/tiled, /area/awaymission/zoo/pirateship) "bP" = ( -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, /turf/simulated/floor/tiled, /area/awaymission/zoo/pirateship) "bQ" = ( @@ -606,7 +606,7 @@ /turf/simulated/floor/tiled/white, /area/awaymission/zoo/pirateship) "bR" = ( -/obj/item/weapon/stool, +/obj/item/stool, /obj/effect/floor_decal/corner/red/diagonal, /turf/simulated/floor/tiled, /area/awaymission/zoo/pirateship) @@ -647,7 +647,7 @@ /area/awaymission/zoo/tradeship) "ca" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/rd, +/obj/item/bedsheet/rd, /turf/simulated/shuttle/floor/black, /area/awaymission/zoo/tradeship) "cb" = ( @@ -692,7 +692,7 @@ /turf/space, /area/awaymission/zoo/tradeship) "cj" = ( -/obj/item/weapon/reagent_containers/food/snacks/hugemushroomslice, +/obj/item/reagent_containers/food/snacks/hugemushroomslice, /turf/simulated/floor/tiled, /area/awaymission/zoo/pirateship) "ck" = ( @@ -720,7 +720,7 @@ /turf/simulated/floor/tiled/white, /area/awaymission/zoo/pirateship) "co" = ( -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, /obj/effect/floor_decal/corner/red/diagonal, /turf/simulated/floor/tiled, /area/awaymission/zoo/pirateship) @@ -734,18 +734,18 @@ /obj/structure/closet/secure_closet/freezer/meat{ opened = 1 }, -/obj/item/weapon/reagent_containers/food/snacks/xenomeat, -/obj/item/weapon/reagent_containers/food/snacks/xenomeat, -/obj/item/weapon/reagent_containers/food/snacks/xenomeat, -/obj/item/weapon/reagent_containers/food/snacks/xenomeat, -/obj/item/weapon/reagent_containers/food/snacks/xenomeat, +/obj/item/reagent_containers/food/snacks/xenomeat, +/obj/item/reagent_containers/food/snacks/xenomeat, +/obj/item/reagent_containers/food/snacks/xenomeat, +/obj/item/reagent_containers/food/snacks/xenomeat, +/obj/item/reagent_containers/food/snacks/xenomeat, /turf/simulated/floor/tiled/white, /area/awaymission/zoo/pirateship) "cr" = ( /obj/structure/closet/crate/freezer, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/xenomeat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/xenomeat, /turf/simulated/floor/tiled/white, /area/awaymission/zoo/pirateship) "cs" = ( @@ -753,7 +753,7 @@ /turf/simulated/floor/tiled/white, /area/awaymission/zoo/pirateship) "ct" = ( -/obj/item/weapon/tool/crowbar, +/obj/item/tool/crowbar, /turf/simulated/floor/tiled/white, /area/awaymission/zoo/pirateship) "cu" = ( @@ -796,7 +796,7 @@ /area/awaymission/zoo/tradeship) "cA" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, /turf/simulated/floor/carpet, /area/awaymission/zoo/tradeship) "cB" = ( @@ -826,11 +826,11 @@ /turf/simulated/shuttle/floor/black, /area/awaymission/zoo/tradeship) "cG" = ( -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = -2; pixel_y = 4 }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = -2; pixel_y = 4 }, @@ -840,30 +840,30 @@ /obj/item/bodybag/cryobag{ pixel_x = 5 }, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ layer = 2.8; pixel_x = 4; pixel_y = 6 }, -/obj/item/weapon/storage/box/masks, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/masks, +/obj/item/storage/box/gloves{ pixel_x = 3; pixel_y = 4 }, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/toxin, +/obj/item/storage/firstaid/fire{ layer = 2.9; pixel_x = 2; pixel_y = 3 }, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ pixel_x = -2 }, -/obj/item/weapon/reagent_containers/blood/empty, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/empty, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /obj/structure/closet/medical_wall{ pixel_y = 32 }, @@ -871,12 +871,12 @@ /area/awaymission/zoo/tradeship) "cI" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper/zoo/pirate/volk, +/obj/item/paper/zoo/pirate/volk, /turf/simulated/floor/carpet, /area/awaymission/zoo/pirateship) "cJ" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, /turf/simulated/floor/carpet, /area/awaymission/zoo/pirateship) "cK" = ( @@ -910,7 +910,7 @@ /turf/simulated/floor/tiled, /area/awaymission/zoo/pirateship) "cP" = ( -/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, /turf/simulated/floor/tiled/freezer, /area/awaymission/zoo/pirateship) "cQ" = ( @@ -923,7 +923,7 @@ /turf/simulated/floor/tiled, /area/awaymission/zoo/pirateship) "cR" = ( -/obj/item/device/multitool, +/obj/item/multitool, /turf/simulated/floor/reinforced, /area/awaymission/zoo/pirateship) "cS" = ( @@ -957,11 +957,11 @@ /turf/simulated/shuttle/floor/black, /area/awaymission/zoo/tradeship) "cW" = ( -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 8 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /obj/machinery/light, @@ -970,7 +970,7 @@ /area/awaymission/zoo/tradeship) "cX" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/hos, +/obj/item/bedsheet/hos, /turf/simulated/shuttle/floor/black, /area/awaymission/zoo/tradeship) "cY" = ( @@ -981,7 +981,7 @@ /area/awaymission/zoo/tradeship) "cZ" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/glasses/square, +/obj/item/storage/box/glasses/square, /turf/simulated/floor/carpet, /area/awaymission/zoo/tradeship) "da" = ( @@ -1042,7 +1042,7 @@ /turf/simulated/floor/carpet, /area/awaymission/zoo/pirateship) "di" = ( -/obj/item/weapon/stool, +/obj/item/stool, /turf/simulated/floor/carpet, /area/awaymission/zoo/pirateship) "dj" = ( @@ -1209,12 +1209,12 @@ /obj/structure/window/reinforced{ dir = 1 }, -/obj/item/weapon/reagent_containers/food/snacks/xenomeat, +/obj/item/reagent_containers/food/snacks/xenomeat, /turf/simulated/floor/plating, /area/awaymission/zoo/pirateship) "dI" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/lights, +/obj/item/storage/box/lights, /obj/effect/floor_decal/industrial/warning{ dir = 8 }, @@ -1272,26 +1272,26 @@ /obj/structure/table/standard, /obj/item/clothing/gloves/sterile, /obj/item/clothing/mask/surgical, -/obj/item/weapon/surgical/retractor{ +/obj/item/surgical/retractor{ pixel_y = 6 }, -/obj/item/weapon/surgical/scalpel, -/obj/item/weapon/surgical/surgicaldrill, -/obj/item/weapon/surgical/circular_saw, +/obj/item/surgical/scalpel, +/obj/item/surgical/surgicaldrill, +/obj/item/surgical/circular_saw, /obj/item/stack/nanopaste, -/obj/item/weapon/surgical/hemostat{ +/obj/item/surgical/hemostat{ pixel_y = 4 }, -/obj/item/weapon/surgical/cautery{ +/obj/item/surgical/cautery{ pixel_y = 4 }, -/obj/item/weapon/surgical/FixOVein{ +/obj/item/surgical/FixOVein{ pixel_x = -6; pixel_y = 1 }, /obj/item/stack/medical/advanced/bruise_pack, -/obj/item/weapon/surgical/bonesetter, -/obj/item/weapon/surgical/bonegel{ +/obj/item/surgical/bonesetter, +/obj/item/surgical/bonegel{ pixel_x = 4; pixel_y = 3 }, @@ -1322,7 +1322,7 @@ /area/awaymission/zoo/pirateship) "dY" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/weapon/reagent_containers/food/snacks/xenomeat, +/obj/item/reagent_containers/food/snacks/xenomeat, /turf/simulated/floor/plating, /area/awaymission/zoo/pirateship) "dZ" = ( @@ -1332,7 +1332,7 @@ /turf/simulated/floor/plating, /area/awaymission/zoo/pirateship) "ea" = ( -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /obj/effect/floor_decal/corner/red/diagonal, /turf/simulated/floor/tiled, /area/awaymission/zoo/pirateship) @@ -1385,7 +1385,7 @@ /area/awaymission/zoo/pirateship) "eh" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, /obj/effect/floor_decal/industrial/warning{ dir = 8 }, @@ -1438,7 +1438,7 @@ /obj/structure/window/reinforced{ dir = 8 }, -/obj/item/weapon/reagent_containers/food/snacks/xenomeat, +/obj/item/reagent_containers/food/snacks/xenomeat, /turf/simulated/floor/plating, /area/awaymission/zoo/pirateship) "ep" = ( @@ -1450,7 +1450,7 @@ /area/awaymission/zoo/pirateship) "eq" = ( /obj/structure/table/rack, -/obj/item/weapon/cell/high, +/obj/item/cell/high, /obj/effect/floor_decal/industrial/warning{ dir = 8 }, @@ -1458,11 +1458,11 @@ /area/awaymission/zoo/pirateship) "er" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 8 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /turf/simulated/shuttle/floor/black, @@ -1547,7 +1547,7 @@ base_state = "right"; icon_state = "right" }, -/obj/item/weapon/reagent_containers/food/snacks/xenomeat, +/obj/item/reagent_containers/food/snacks/xenomeat, /turf/simulated/floor/plating, /area/awaymission/zoo/pirateship) "eD" = ( @@ -1557,7 +1557,7 @@ /turf/simulated/floor/plating, /area/awaymission/zoo/pirateship) "eE" = ( -/obj/item/weapon/reagent_containers/food/snacks/xenomeat, +/obj/item/reagent_containers/food/snacks/xenomeat, /turf/simulated/floor/plating, /area/awaymission/zoo/pirateship) "eF" = ( @@ -1612,7 +1612,7 @@ /obj/machinery/vending/cigarette{ name = "hacked cigarette machine"; prices = list(); - products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) + products = list(/obj/item/storage/fancy/cigarettes = 10, /obj/item/storage/box/matches = 10, /obj/item/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) }, /turf/simulated/shuttle/floor/black, /area/awaymission/zoo/tradeship) @@ -1631,7 +1631,7 @@ /turf/simulated/shuttle/floor/black, /area/awaymission/zoo/tradeship) "eP" = ( -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /turf/simulated/floor/plating, /area/awaymission/zoo/pirateship) "eQ" = ( @@ -1650,11 +1650,11 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/material/knife, +/obj/item/material/knife, /turf/simulated/floor/plating, /area/awaymission/zoo/pirateship) "eT" = ( -/obj/item/weapon/cell/high, +/obj/item/cell/high, /turf/simulated/floor/tiled, /area/awaymission/zoo/pirateship) "eU" = ( @@ -1714,7 +1714,7 @@ dir = 4; id = "meatConvey2" }, -/obj/item/weapon/material/knife, +/obj/item/material/knife, /turf/simulated/shuttle/plating, /area/awaymission/zoo/pirateship) "fd" = ( @@ -1779,7 +1779,7 @@ /obj/machinery/vending/assist{ contraband = null; name = "Old Vending Machine"; - products = list(/obj/item/device/assembly/prox_sensor = 5, /obj/item/device/assembly/signaler = 4, /obj/item/device/assembly/infra = 4, /obj/item/device/assembly/prox_sensor = 4, /obj/item/weapon/handcuffs = 8, /obj/item/device/flash = 4, /obj/item/weapon/cartridge/signal = 4, /obj/item/clothing/glasses/sunglasses = 4) + products = list(/obj/item/assembly/prox_sensor = 5, /obj/item/assembly/signaler = 4, /obj/item/assembly/infra = 4, /obj/item/assembly/prox_sensor = 4, /obj/item/handcuffs = 8, /obj/item/flash = 4, /obj/item/cartridge/signal = 4, /obj/item/clothing/glasses/sunglasses = 4) }, /turf/simulated/shuttle/floor/black, /area/awaymission/zoo/tradeship) @@ -1787,9 +1787,9 @@ /obj/structure/closet{ name = "custodial" }, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/mop, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/glass/bucket, +/obj/item/mop, /turf/simulated/shuttle/floor/black, /area/awaymission/zoo/tradeship) "fo" = ( @@ -1799,8 +1799,8 @@ "fp" = ( /obj/machinery/light, /obj/structure/table/standard, -/obj/item/weapon/soap, -/obj/item/weapon/towel{ +/obj/item/soap, +/obj/item/towel{ color = "#0000FF" }, /turf/simulated/shuttle/floor/black, @@ -1824,7 +1824,7 @@ /turf/simulated/shuttle/floor/black, /area/awaymission/zoo/tradeship) "ft" = ( -/obj/item/weapon/material/knife, +/obj/item/material/knife, /obj/effect/floor_decal/corner/red/diagonal, /turf/simulated/floor/tiled, /area/awaymission/zoo/pirateship) @@ -1836,7 +1836,7 @@ /turf/simulated/floor/tiled, /area/awaymission/zoo/pirateship) "fv" = ( -/obj/item/weapon/mop, +/obj/item/mop, /turf/simulated/floor/tiled/freezer, /area/awaymission/zoo/pirateship) "fw" = ( @@ -1856,20 +1856,20 @@ /area/awaymission/zoo/tradeship) "fy" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/shuttle/floor/black, /area/awaymission/zoo/tradeship) "fz" = ( -/obj/item/weapon/stool, +/obj/item/stool, /turf/simulated/floor/plating, /area/awaymission/zoo/pirateship) "fA" = ( /obj/structure/closet/crate/freezer, -/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, /turf/simulated/floor/tiled/freezer, /area/awaymission/zoo/pirateship) "fB" = ( -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /turf/simulated/floor/tiled/freezer, /area/awaymission/zoo/pirateship) "fC" = ( @@ -1948,12 +1948,12 @@ /turf/simulated/floor/tiled/steel, /area/awaymission/zoo/pirateship) "fQ" = ( -/obj/item/weapon/stool, +/obj/item/stool, /turf/simulated/floor/tiled/steel, /area/awaymission/zoo/pirateship) "fR" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "DEAR DAIRY: So we was doing our typpical route when the captain says we've been picking up weird signals on some backwatter planet. Madsen wanted to stay on course but he ain't the captain, so we went out of the way to check it out. There was lots of rocks on the way, but we got to the planet fine. Found a big fancy camp with nobody around and this big metal donut thing with NT stamps all over it right in the middle. Case of beer too. Captain reckons we can pass it off to some buyer in the Syndicate. Ingram says it's bad luck and that someone is going to come look for it but it sounds like better money than selling bad meat to jerky companies."; name = "Old Diary" }, @@ -1961,8 +1961,8 @@ /area/awaymission/zoo/pirateship) "fS" = ( /obj/structure/table/reinforced, -/obj/item/weapon/pen/red, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/pen/red, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, /turf/simulated/floor/tiled/steel, /area/awaymission/zoo/pirateship) "fT" = ( @@ -2055,11 +2055,11 @@ /area/awaymission/zoo/tradeship) "gh" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 8 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /turf/simulated/floor/carpet, @@ -2115,8 +2115,8 @@ /area/awaymission/zoo/pirateship) "gp" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, -/obj/item/weapon/storage/wallet/random, +/obj/item/bedsheet, +/obj/item/storage/wallet/random, /turf/simulated/floor/tiled/steel, /area/awaymission/zoo/pirateship) "gq" = ( @@ -2180,7 +2180,7 @@ /area/awaymission/zoo/syndieship) "gv" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/captain, +/obj/item/bedsheet/captain, /turf/simulated/shuttle/floor/black, /area/awaymission/zoo/tradeship) "gw" = ( @@ -2230,7 +2230,7 @@ /area/awaymission/zoo/pirateship) "gF" = ( /obj/structure/table/rack, -/obj/item/weapon/tank/oxygen/yellow, +/obj/item/tank/oxygen/yellow, /obj/item/clothing/suit/space/emergency, /obj/item/clothing/head/helmet/space/emergency, /obj/effect/floor_decal/industrial/warning, @@ -2251,7 +2251,7 @@ /area/awaymission/zoo/syndieship) "gJ" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /turf/simulated/floor/tiled/steel, /area/awaymission/zoo/pirateship) "gK" = ( @@ -2299,18 +2299,18 @@ /area/awaymission/zoo/pirateship) "gT" = ( /obj/structure/closet/crate, -/obj/item/weapon/spacecash/c10, -/obj/item/weapon/spacecash/c200, +/obj/item/spacecash/c10, +/obj/item/spacecash/c200, /turf/simulated/floor/tiled/steel, /area/awaymission/zoo/pirateship) "gU" = ( /obj/structure/closet/crate, -/obj/item/weapon/spacecash/c10, +/obj/item/spacecash/c10, /turf/simulated/floor/tiled/steel, /area/awaymission/zoo/pirateship) "gV" = ( /obj/structure/closet/crate, -/obj/item/weapon/spacecash/c1000, +/obj/item/spacecash/c1000, /turf/simulated/floor/tiled/steel, /area/awaymission/zoo/pirateship) "gW" = ( @@ -2330,7 +2330,7 @@ /area/awaymission/zoo) "gY" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 2; pixel_y = 3 }, @@ -2390,14 +2390,14 @@ /obj/item/stack/material/glass{ amount = 15 }, -/obj/item/weapon/cell{ +/obj/item/cell{ charge = 100; maxcharge = 15000 }, /turf/simulated/shuttle/floor/darkred, /area/awaymission/zoo/syndieship) "hf" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; @@ -2410,11 +2410,11 @@ /area/awaymission/zoo/syndieship) "hg" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 8 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /turf/simulated/shuttle/floor/darkred, @@ -2469,8 +2469,8 @@ /turf/simulated/floor/plating, /area/awaymission/zoo) "hk" = ( -/obj/item/weapon/storage/box/matches, -/obj/item/weapon/storage/fancy/cigarettes/dromedaryco, +/obj/item/storage/box/matches, +/obj/item/storage/fancy/cigarettes/dromedaryco, /turf/simulated/floor/plating, /area/awaymission/zoo/pirateship) "hl" = ( @@ -2514,7 +2514,7 @@ /turf/simulated/floor/tiled, /area/awaymission/zoo) "hr" = ( -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, /turf/simulated/floor/plating, /area/awaymission/zoo/pirateship) "hs" = ( @@ -2532,8 +2532,8 @@ /obj/item/stack/medical/bruise_pack, /obj/item/stack/medical/bruise_pack, /obj/item/stack/medical/bruise_pack, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, /turf/simulated/shuttle/floor/darkred, /area/awaymission/zoo/syndieship) "hu" = ( @@ -2659,10 +2659,10 @@ /area/awaymission/zoo/syndieship) "hK" = ( /obj/structure/closet, -/obj/item/weapon/reagent_containers/food/snacks/liquidfood, -/obj/item/weapon/reagent_containers/food/snacks/liquidfood, -/obj/item/weapon/reagent_containers/food/snacks/liquidfood, -/obj/item/weapon/reagent_containers/food/snacks/liquidfood, +/obj/item/reagent_containers/food/snacks/liquidfood, +/obj/item/reagent_containers/food/snacks/liquidfood, +/obj/item/reagent_containers/food/snacks/liquidfood, +/obj/item/reagent_containers/food/snacks/liquidfood, /obj/machinery/light{ dir = 4 }, @@ -2670,10 +2670,10 @@ /area/awaymission/zoo/syndieship) "hL" = ( /obj/structure/closet, -/obj/item/weapon/reagent_containers/food/snacks/tastybread, -/obj/item/weapon/reagent_containers/food/snacks/tastybread, -/obj/item/weapon/reagent_containers/food/snacks/tastybread, -/obj/item/weapon/reagent_containers/food/snacks/tastybread, +/obj/item/reagent_containers/food/snacks/tastybread, +/obj/item/reagent_containers/food/snacks/tastybread, +/obj/item/reagent_containers/food/snacks/tastybread, +/obj/item/reagent_containers/food/snacks/tastybread, /turf/simulated/shuttle/floor/darkred, /area/awaymission/zoo/syndieship) "hM" = ( @@ -2693,7 +2693,7 @@ /turf/simulated/shuttle/floor/darkred, /area/awaymission/zoo/syndieship) "hO" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; @@ -2755,7 +2755,7 @@ /obj/machinery/vending/assist{ contraband = null; name = "AntagCorpVend"; - products = list(/obj/item/device/assembly/prox_sensor = 5, /obj/item/device/assembly/signaler = 4, /obj/item/device/assembly/infra = 4, /obj/item/device/assembly/prox_sensor = 4, /obj/item/weapon/handcuffs = 8, /obj/item/device/flash = 4, /obj/item/weapon/cartridge/signal = 4, /obj/item/clothing/glasses/sunglasses = 4) + products = list(/obj/item/assembly/prox_sensor = 5, /obj/item/assembly/signaler = 4, /obj/item/assembly/infra = 4, /obj/item/assembly/prox_sensor = 4, /obj/item/handcuffs = 8, /obj/item/flash = 4, /obj/item/cartridge/signal = 4, /obj/item/clothing/glasses/sunglasses = 4) }, /obj/machinery/light{ dir = 4 @@ -2780,7 +2780,7 @@ /obj/machinery/vending/cigarette{ name = "hacked cigarette machine"; prices = list(); - products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) + products = list(/obj/item/storage/fancy/cigarettes = 10, /obj/item/storage/box/matches = 10, /obj/item/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) }, /turf/simulated/shuttle/floor/darkred, /area/awaymission/zoo/syndieship) @@ -2809,18 +2809,18 @@ /area/awaymission/zoo/syndieship) "id" = ( /obj/structure/table/standard, -/obj/item/weapon/material/knife{ +/obj/item/material/knife{ pixel_x = -6 }, -/obj/item/weapon/reagent_containers/syringe/drugs{ +/obj/item/reagent_containers/syringe/drugs{ pixel_x = 3; pixel_y = -1 }, -/obj/item/weapon/reagent_containers/syringe/drugs{ +/obj/item/reagent_containers/syringe/drugs{ pixel_x = 3; pixel_y = 4 }, -/obj/item/weapon/reagent_containers/syringe/drugs{ +/obj/item/reagent_containers/syringe/drugs{ pixel_x = 3; pixel_y = 9 }, @@ -2856,9 +2856,9 @@ /obj/structure/closet{ name = "custodial" }, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/mop, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/glass/bucket, +/obj/item/mop, +/obj/item/reagent_containers/spray/cleaner, /turf/simulated/shuttle/floor/darkred, /area/awaymission/zoo/syndieship) "ij" = ( @@ -2899,8 +2899,8 @@ /area/awaymission/zoo/syndieship) "ip" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /turf/simulated/shuttle/floor/darkred, /area/awaymission/zoo/syndieship) "iq" = ( @@ -2910,18 +2910,18 @@ req_access = list(150) }, /obj/item/bodybag, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/reagent_containers/glass/bottle/antitoxin{ +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/glass/bottle/antitoxin{ pixel_x = -4; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline{ +/obj/item/reagent_containers/glass/bottle/inaprovaline{ pixel_x = 4; pixel_y = 7 }, -/obj/item/weapon/reagent_containers/syringe, +/obj/item/reagent_containers/syringe, /obj/machinery/light{ dir = 4 }, @@ -3024,7 +3024,7 @@ /turf/simulated/shuttle/floor/darkred, /area/awaymission/zoo/syndieship) "iA" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/shuttle/floor/darkred, /area/awaymission/zoo/syndieship) "iB" = ( @@ -3099,7 +3099,7 @@ /area/awaymission/zoo/syndieship) "iF" = ( /obj/structure/table/rack, -/obj/item/device/multitool, +/obj/item/multitool, /obj/machinery/light{ dir = 8 }, @@ -3110,9 +3110,9 @@ dir = 1 }, /obj/structure/table/standard, -/obj/item/weapon/surgical/surgicaldrill, -/obj/item/weapon/surgical/cautery, -/obj/item/weapon/surgical/retractor, +/obj/item/surgical/surgicaldrill, +/obj/item/surgical/cautery, +/obj/item/surgical/retractor, /obj/item/stack/nanopaste, /turf/simulated/shuttle/floor/darkred, /area/awaymission/zoo/syndieship) @@ -3121,12 +3121,12 @@ dir = 1 }, /obj/structure/table/standard, -/obj/item/weapon/surgical/circular_saw, -/obj/item/weapon/surgical/FixOVein{ +/obj/item/surgical/circular_saw, +/obj/item/surgical/FixOVein{ pixel_x = -6; pixel_y = 1 }, -/obj/item/weapon/surgical/hemostat, +/obj/item/surgical/hemostat, /turf/simulated/shuttle/floor/darkred, /area/awaymission/zoo/syndieship) "iI" = ( @@ -3134,21 +3134,21 @@ /obj/structure/window/reinforced{ dir = 8 }, -/obj/item/weapon/storage/firstaid/toxin{ +/obj/item/storage/firstaid/toxin{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ pixel_x = 1 }, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/fire{ pixel_x = 1 }, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /turf/simulated/shuttle/floor/darkred, /area/awaymission/zoo/syndieship) "iJ" = ( @@ -3159,7 +3159,7 @@ /turf/simulated/shuttle/floor/darkred, /area/awaymission/zoo/syndieship) "iK" = ( -/obj/item/weapon/weldingtool, +/obj/item/weldingtool, /obj/machinery/light{ dir = 8 }, @@ -3208,13 +3208,13 @@ pixel_x = 32; req_access = list(150) }, -/obj/item/weapon/tank/anesthetic, +/obj/item/tank/anesthetic, /obj/item/clothing/mask/breath/medical, /obj/item/clothing/mask/surgical, /obj/item/clothing/gloves/sterile, -/obj/item/weapon/reagent_containers/syringe, -/obj/item/weapon/reagent_containers/glass/bottle/stoxin, -/obj/item/weapon/reagent_containers/glass/bottle/stoxin, +/obj/item/reagent_containers/syringe, +/obj/item/reagent_containers/glass/bottle/stoxin, +/obj/item/reagent_containers/glass/bottle/stoxin, /turf/simulated/shuttle/floor/darkred, /area/awaymission/zoo/syndieship) "iQ" = ( @@ -3222,7 +3222,7 @@ /turf/simulated/shuttle/floor/darkred, /area/awaymission/zoo/syndieship) "iR" = ( -/obj/item/weapon/tool/crowbar, +/obj/item/tool/crowbar, /turf/simulated/shuttle/floor/darkred, /area/awaymission/zoo/syndieship) "iS" = ( @@ -3241,9 +3241,9 @@ /area/awaymission/zoo/syndieship) "iV" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/scalpel, -/obj/item/weapon/surgical/bonesetter, -/obj/item/weapon/surgical/bonegel{ +/obj/item/surgical/scalpel, +/obj/item/surgical/bonesetter, +/obj/item/surgical/bonegel{ pixel_x = 4; pixel_y = 3 }, @@ -3990,7 +3990,7 @@ /area/awaymission/zoo) "kY" = ( /obj/structure/table/marble, -/obj/item/weapon/pen/multi, +/obj/item/pen/multi, /turf/simulated/floor/holofloor/lino, /area/awaymission/zoo) "kZ" = ( @@ -4008,7 +4008,7 @@ /obj/effect/floor_decal/spline/fancy/wood{ dir = 5 }, -/obj/item/weapon/coin/gold, +/obj/item/coin/gold, /turf/simulated/floor/beach/water{ icon_state = "seadeep" }, @@ -4093,7 +4093,7 @@ /area/awaymission/zoo) "lq" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/fancy/crayons, +/obj/item/storage/fancy/crayons, /turf/simulated/floor/holofloor/carpet, /area/awaymission/zoo) "lr" = ( @@ -4115,18 +4115,18 @@ /area/awaymission/zoo) "lu" = ( /obj/structure/table/rack, -/obj/item/device/camera_film, +/obj/item/camera_film, /turf/simulated/floor/holofloor/carpet, /area/awaymission/zoo) "lv" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/photo_album, +/obj/item/storage/photo_album, /turf/simulated/floor/holofloor/carpet, /area/awaymission/zoo) "lw" = ( /obj/structure/table/rack, -/obj/item/device/camera_film, -/obj/item/device/camera, +/obj/item/camera_film, +/obj/item/camera, /turf/simulated/floor/holofloor/carpet, /area/awaymission/zoo) "lx" = ( @@ -4197,7 +4197,7 @@ }, /area/awaymission/zoo) "lG" = ( -/obj/item/weapon/coin/silver, +/obj/item/coin/silver, /turf/simulated/floor/beach/water{ icon_state = "seadeep" }, @@ -4260,32 +4260,32 @@ /area/awaymission/zoo) "lR" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/wallet/poly, +/obj/item/storage/wallet/poly, /turf/simulated/floor/holofloor/carpet, /area/awaymission/zoo) "lS" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/pill_bottle/dice_nerd, +/obj/item/storage/pill_bottle/dice_nerd, /turf/simulated/floor/holofloor/carpet, /area/awaymission/zoo) "lT" = ( /obj/structure/table/rack, -/obj/item/weapon/beach_ball, +/obj/item/beach_ball, /turf/simulated/floor/holofloor/carpet, /area/awaymission/zoo) "lU" = ( /obj/structure/table/rack, -/obj/item/weapon/soap/deluxe, +/obj/item/soap/deluxe, /turf/simulated/floor/holofloor/carpet, /area/awaymission/zoo) "lV" = ( /obj/structure/table/rack, -/obj/item/device/binoculars, +/obj/item/binoculars, /turf/simulated/floor/holofloor/carpet, /area/awaymission/zoo) "lW" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/backpack/clown, +/obj/item/storage/backpack/clown, /obj/item/clothing/shoes/rainbow, /obj/item/clothing/under/color/rainbow, /obj/item/clothing/gloves/rainbow, @@ -4990,12 +4990,12 @@ /area/awaymission/zoo) "nM" = ( /obj/structure/table/reinforced, -/obj/item/weapon/pen/blue, -/obj/item/weapon/pen/red{ +/obj/item/pen/blue, +/obj/item/pen/red{ pixel_x = -5; pixel_y = -1 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, @@ -5003,18 +5003,18 @@ /area/awaymission/zoo) "nN" = ( /obj/structure/table/reinforced, -/obj/item/weapon/folder{ +/obj/item/folder{ pixel_x = -4 }, -/obj/item/weapon/folder/red{ +/obj/item/folder/red{ pixel_y = 3 }, -/obj/item/weapon/folder/blue{ +/obj/item/folder/blue{ pixel_x = 5 }, -/obj/item/weapon/folder/yellow, -/obj/item/weapon/stamp/internalaffairs, -/obj/item/weapon/stamp/denied{ +/obj/item/folder/yellow, +/obj/item/stamp/internalaffairs, +/obj/item/stamp/denied{ pixel_x = 4; pixel_y = -2 }, @@ -5022,7 +5022,7 @@ /area/awaymission/zoo) "nO" = ( /obj/structure/table/reinforced, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/lino, /area/awaymission/zoo) "nP" = ( @@ -6136,7 +6136,7 @@ /turf/simulated/floor/plating, /area/awaymission/zoo) "qP" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/plating, /area/awaymission/zoo) "qQ" = ( @@ -6159,16 +6159,16 @@ /area/awaymission/zoo) "qU" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /turf/simulated/floor/plating, /area/awaymission/zoo) "qV" = ( /obj/structure/table/rack{ dir = 1 }, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /obj/item/clothing/head/hardhat/red, -/obj/item/device/flashlight, +/obj/item/flashlight, /turf/simulated/floor/plating, /area/awaymission/zoo) "qW" = ( @@ -8177,11 +8177,11 @@ /turf/simulated/floor/tiled/white, /area/awaymission/zoo) "vL" = ( -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = -2; pixel_y = 4 }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = -2; pixel_y = 4 }, @@ -8191,34 +8191,34 @@ /obj/item/bodybag/cryobag{ pixel_x = 5 }, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ layer = 2.8; pixel_x = 4; pixel_y = 6 }, -/obj/item/weapon/storage/box/masks, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/masks, +/obj/item/storage/box/gloves{ pixel_x = 3; pixel_y = 4 }, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/toxin, +/obj/item/storage/firstaid/fire{ layer = 2.9; pixel_x = 2; pixel_y = 3 }, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ pixel_x = -2 }, -/obj/item/weapon/reagent_containers/blood/empty, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/empty, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /obj/structure/closet/medical_wall{ pixel_y = 32 }, -/obj/item/weapon/storage/firstaid/combat, +/obj/item/storage/firstaid/combat, /turf/simulated/floor/tiled/white, /area/awaymission/zoo) "vM" = ( @@ -8253,26 +8253,26 @@ /obj/structure/table/standard, /obj/item/clothing/gloves/sterile, /obj/item/clothing/mask/surgical, -/obj/item/weapon/surgical/retractor{ +/obj/item/surgical/retractor{ pixel_y = 6 }, -/obj/item/weapon/surgical/scalpel, -/obj/item/weapon/surgical/surgicaldrill, -/obj/item/weapon/surgical/circular_saw, +/obj/item/surgical/scalpel, +/obj/item/surgical/surgicaldrill, +/obj/item/surgical/circular_saw, /obj/item/stack/nanopaste, -/obj/item/weapon/surgical/hemostat{ +/obj/item/surgical/hemostat{ pixel_y = 4 }, -/obj/item/weapon/surgical/cautery{ +/obj/item/surgical/cautery{ pixel_y = 4 }, -/obj/item/weapon/surgical/FixOVein{ +/obj/item/surgical/FixOVein{ pixel_x = -6; pixel_y = 1 }, /obj/item/stack/medical/advanced/bruise_pack, -/obj/item/weapon/surgical/bonesetter, -/obj/item/weapon/surgical/bonegel{ +/obj/item/surgical/bonesetter, +/obj/item/surgical/bonegel{ pixel_x = 4; pixel_y = 3 }, @@ -8301,7 +8301,7 @@ /area/awaymission/zoo) "vY" = ( /obj/structure/table/standard, -/obj/item/weapon/paper/zoo/pirate/haveyouseen, +/obj/item/paper/zoo/pirate/haveyouseen, /turf/simulated/floor/tiled/dark, /area/awaymission/zoo) "vZ" = ( @@ -8447,7 +8447,7 @@ /area/awaymission/zoo) "ww" = ( /obj/structure/table/standard, -/obj/item/weapon/paper/zoo/pirate/warning, +/obj/item/paper/zoo/pirate/warning, /turf/simulated/floor/tiled/dark, /area/awaymission/zoo) "wx" = ( @@ -8589,17 +8589,17 @@ /area/awaymission/zoo) "wW" = ( /obj/structure/filingcabinet/filingcabinet, -/obj/item/weapon/paper/zoo, -/obj/item/weapon/paper/zoo, -/obj/item/weapon/paper/zoo, +/obj/item/paper/zoo, +/obj/item/paper/zoo, +/obj/item/paper/zoo, /turf/simulated/floor/tiled/dark, /area/awaymission/zoo) "wX" = ( /obj/structure/filingcabinet/filingcabinet, -/obj/item/weapon/paper/zoo, -/obj/item/weapon/paper/zoo, -/obj/item/weapon/paper/zoo, -/obj/item/weapon/paper/zoo/pirate/nebula, +/obj/item/paper/zoo, +/obj/item/paper/zoo, +/obj/item/paper/zoo, +/obj/item/paper/zoo/pirate/nebula, /turf/simulated/floor/tiled/dark, /area/awaymission/zoo) "wY" = ( @@ -8629,9 +8629,9 @@ "xc" = ( /obj/structure/closet/crate/solar, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/cell/crap, -/obj/item/weapon/cell/crap, -/obj/item/weapon/cell/crap, +/obj/item/cell/crap, +/obj/item/cell/crap, +/obj/item/cell/crap, /turf/simulated/floor, /area/awaymission/zoo) "xd" = ( diff --git a/maps/gateway_vr/zoo_b.dmm b/maps/gateway_vr/zoo_b.dmm index 0dfcbcb6475..90313731947 100644 --- a/maps/gateway_vr/zoo_b.dmm +++ b/maps/gateway_vr/zoo_b.dmm @@ -15,20 +15,20 @@ /obj/effect/floor_decal/spline/fancy/wood{ dir = 5 }, -/obj/item/weapon/coin/gold, +/obj/item/coin/gold, /turf/simulated/floor/beach/water{ icon_state = "seadeep" }, /area/awaymission/zoo) "ah" = ( /obj/structure/table/reinforced, -/obj/item/weapon/material/knife/butch, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, -/obj/item/weapon/reagent_containers/food/snacks/xenomeat, -/obj/item/weapon/reagent_containers/food/snacks/xenomeat, -/obj/item/weapon/reagent_containers/food/snacks/xenomeat, -/obj/item/weapon/reagent_containers/food/snacks/xenomeat, -/obj/item/weapon/reagent_containers/food/snacks/xenomeat, +/obj/item/material/knife/butch, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/reagent_containers/food/snacks/xenomeat, +/obj/item/reagent_containers/food/snacks/xenomeat, +/obj/item/reagent_containers/food/snacks/xenomeat, +/obj/item/reagent_containers/food/snacks/xenomeat, +/obj/item/reagent_containers/food/snacks/xenomeat, /obj/effect/floor_decal/corner/blue/diagonal, /turf/simulated/floor/tiled/white, /area/awaymission/zoo/pirateship) @@ -109,7 +109,7 @@ /area/awaymission/zoo) "aC" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box, +/obj/item/storage/box, /obj/machinery/light/small{ dir = 1 }, @@ -235,7 +235,7 @@ /turf/simulated/shuttle/floor/darkred, /area/awaymission/zoo/syndieship) "bD" = ( -/obj/item/weapon/stool, +/obj/item/stool, /turf/simulated/floor/plating, /area/awaymission/zoo/pirateship) "bF" = ( @@ -406,9 +406,9 @@ /area/awaymission/zoo/pirateship) "de" = ( /obj/structure/table/woodentable, -/obj/item/weapon/spacecash/c500, -/obj/item/weapon/spacecash/c100, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/spacecash/c500, +/obj/item/spacecash/c100, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, /turf/simulated/floor/wood, /area/awaymission/zoo/pirateship) "dj" = ( @@ -430,10 +430,10 @@ /area/awaymission/zoo) "dt" = ( /obj/structure/closet, -/obj/item/weapon/reagent_containers/food/snacks/tastybread, -/obj/item/weapon/reagent_containers/food/snacks/tastybread, -/obj/item/weapon/reagent_containers/food/snacks/tastybread, -/obj/item/weapon/reagent_containers/food/snacks/tastybread, +/obj/item/reagent_containers/food/snacks/tastybread, +/obj/item/reagent_containers/food/snacks/tastybread, +/obj/item/reagent_containers/food/snacks/tastybread, +/obj/item/reagent_containers/food/snacks/tastybread, /turf/simulated/shuttle/floor/darkred, /area/awaymission/zoo/syndieship) "dw" = ( @@ -562,9 +562,9 @@ /obj/structure/table/rack{ dir = 1 }, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /obj/item/clothing/head/hardhat/red, -/obj/item/device/flashlight, +/obj/item/flashlight, /turf/simulated/floor/plating, /area/awaymission/zoo) "ey" = ( @@ -790,7 +790,7 @@ /turf/space, /area/awaymission/zoo/syndieship) "fV" = ( -/obj/item/device/multitool, +/obj/item/multitool, /turf/simulated/floor/reinforced, /area/awaymission/zoo/pirateship) "fW" = ( @@ -798,11 +798,11 @@ /area/awaymission/zoo/syndieship) "fY" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 8 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /turf/simulated/shuttle/floor/darkred, @@ -972,12 +972,12 @@ /turf/simulated/floor/plating, /area/awaymission/zoo/pirateship) "hx" = ( -/obj/item/weapon/storage/box/matches, -/obj/item/weapon/storage/fancy/cigarettes/dromedaryco, +/obj/item/storage/box/matches, +/obj/item/storage/fancy/cigarettes/dromedaryco, /turf/simulated/floor/plating, /area/awaymission/zoo/pirateship) "hy" = ( -/obj/item/weapon/coin/silver, +/obj/item/coin/silver, /turf/simulated/floor/beach/water{ icon_state = "seadeep" }, @@ -1123,7 +1123,7 @@ }, /area/awaymission/zoo) "iy" = ( -/obj/item/weapon/storage/box, +/obj/item/storage/box, /turf/simulated/floor/plating, /area/awaymission/zoo/pirateship) "iE" = ( @@ -1201,7 +1201,7 @@ /turf/simulated/floor/holofloor/carpet, /area/awaymission/zoo) "jc" = ( -/obj/item/weapon/reagent_containers/food/snacks/hugemushroomslice, +/obj/item/reagent_containers/food/snacks/hugemushroomslice, /obj/effect/floor_decal/corner/red/diagonal, /turf/simulated/floor/tiled, /area/awaymission/zoo/pirateship) @@ -1300,7 +1300,7 @@ dir = 4; id = "meatConvey2" }, -/obj/item/weapon/material/knife, +/obj/item/material/knife, /turf/simulated/shuttle/plating, /area/awaymission/zoo/pirateship) "kc" = ( @@ -1360,7 +1360,7 @@ }, /area/awaymission/zoo) "ky" = ( -/obj/item/weapon/tool/crowbar, +/obj/item/tool/crowbar, /turf/simulated/floor/tiled/white, /area/awaymission/zoo/pirateship) "kC" = ( @@ -1421,7 +1421,7 @@ /turf/simulated/floor/lino, /area/awaymission/zoo) "lv" = ( -/obj/item/weapon/cell/high, +/obj/item/cell/high, /turf/simulated/floor/tiled, /area/awaymission/zoo/pirateship) "lw" = ( @@ -1430,7 +1430,7 @@ /area/awaymission/zoo/syndieship) "lB" = ( /obj/structure/table/reinforced, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/lino, /area/awaymission/zoo) "lH" = ( @@ -1549,7 +1549,7 @@ /area/awaymission/zoo/pirateship) "nj" = ( /obj/structure/closet/crate/freezer, -/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, /obj/effect/floor_decal/industrial/warning{ dir = 1 }, @@ -1569,18 +1569,18 @@ /area/awaymission/zoo) "no" = ( /obj/structure/table/reinforced, -/obj/item/weapon/folder{ +/obj/item/folder{ pixel_x = -4 }, -/obj/item/weapon/folder/red{ +/obj/item/folder/red{ pixel_y = 3 }, -/obj/item/weapon/folder/blue{ +/obj/item/folder/blue{ pixel_x = 5 }, -/obj/item/weapon/folder/yellow, -/obj/item/weapon/stamp/internalaffairs, -/obj/item/weapon/stamp/denied{ +/obj/item/folder/yellow, +/obj/item/stamp/internalaffairs, +/obj/item/stamp/denied{ pixel_x = 4; pixel_y = -2 }, @@ -1588,7 +1588,7 @@ /area/awaymission/zoo) "nr" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/pill_bottle/dice_nerd, +/obj/item/storage/pill_bottle/dice_nerd, /turf/simulated/floor/holofloor/carpet, /area/awaymission/zoo) "ns" = ( @@ -1649,7 +1649,7 @@ /turf/simulated/floor/tiled, /area/awaymission/zoo/pirateship) "nS" = ( -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, /turf/simulated/floor/tiled, /area/awaymission/zoo/pirateship) "nT" = ( @@ -1715,7 +1715,7 @@ }, /area/awaymission/zoo) "oq" = ( -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /obj/effect/floor_decal/corner/red/diagonal, /turf/simulated/floor/tiled, /area/awaymission/zoo/pirateship) @@ -1725,7 +1725,7 @@ /turf/simulated/shuttle/floor/darkred, /area/awaymission/zoo/syndieship) "oA" = ( -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /turf/simulated/floor/tiled/freezer, /area/awaymission/zoo/pirateship) "oE" = ( @@ -1750,7 +1750,7 @@ /area/awaymission/zoo/pirateship) "oJ" = ( /obj/structure/table/rack, -/obj/item/device/multitool, +/obj/item/multitool, /obj/machinery/light{ dir = 8 }, @@ -1773,7 +1773,7 @@ /obj/machinery/vending/cigarette{ name = "hacked cigarette machine"; prices = list(); - products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) + products = list(/obj/item/storage/fancy/cigarettes = 10, /obj/item/storage/box/matches = 10, /obj/item/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) }, /turf/simulated/shuttle/floor/darkred, /area/awaymission/zoo/syndieship) @@ -1792,7 +1792,7 @@ /turf/space, /area/awaymission/zoo/pirateship) "pa" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; @@ -1903,8 +1903,8 @@ /obj/item/stack/medical/bruise_pack, /obj/item/stack/medical/bruise_pack, /obj/item/stack/medical/bruise_pack, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, /turf/simulated/shuttle/floor/darkred, /area/awaymission/zoo/syndieship) "pX" = ( @@ -1916,7 +1916,7 @@ /area/awaymission/zoo/pirateship) "qb" = ( /obj/structure/table/rack, -/obj/item/weapon/tank/oxygen/yellow, +/obj/item/tank/oxygen/yellow, /obj/item/clothing/suit/space/emergency, /obj/item/clothing/head/helmet/space/emergency, /obj/effect/floor_decal/industrial/warning{ @@ -2059,8 +2059,8 @@ /area/awaymission/zoo) "rw" = ( /obj/structure/closet/crate/freezer, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, /turf/simulated/floor/plating, /area/awaymission/zoo/pirateship) "rz" = ( @@ -2068,7 +2068,7 @@ /area/awaymission/zoo) "rA" = ( /obj/structure/table/rack, -/obj/item/device/binoculars, +/obj/item/binoculars, /turf/simulated/floor/holofloor/carpet, /area/awaymission/zoo) "rF" = ( @@ -2089,7 +2089,7 @@ /obj/machinery/porta_turret{ dir = 8; emagged = 1; - installation = /obj/item/weapon/gun/energy/lasercannon + installation = /obj/item/gun/energy/lasercannon }, /turf/simulated/floor/reinforced, /area/awaymission/zoo/pirateship) @@ -2138,14 +2138,14 @@ /turf/simulated/floor/holofloor/carpet, /area/awaymission/zoo) "sd" = ( -/obj/item/weapon/weldingtool, +/obj/item/weldingtool, /obj/machinery/light{ dir = 8 }, /turf/simulated/shuttle/floor/darkred, /area/awaymission/zoo/syndieship) "sh" = ( -/obj/item/weapon/hand_labeler, +/obj/item/hand_labeler, /turf/simulated/floor/plating, /area/awaymission/zoo/pirateship) "so" = ( @@ -2173,14 +2173,14 @@ /area/awaymission/zoo) "sz" = ( /obj/structure/closet/crate, -/obj/item/weapon/spacecash/c10, -/obj/item/weapon/spacecash/c200, +/obj/item/spacecash/c10, +/obj/item/spacecash/c200, /turf/simulated/floor/tiled/steel, /area/awaymission/zoo/pirateship) "sB" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /turf/simulated/shuttle/floor/darkred, /area/awaymission/zoo/syndieship) "sI" = ( @@ -2264,7 +2264,7 @@ /area/awaymission/zoo) "tr" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /turf/simulated/floor/tiled/steel, /area/awaymission/zoo/pirateship) "tx" = ( @@ -2295,8 +2295,8 @@ /area/awaymission/zoo/pirateship) "tK" = ( /obj/structure/table/rack, -/obj/item/device/camera_film, -/obj/item/device/camera, +/obj/item/camera_film, +/obj/item/camera, /turf/simulated/floor/holofloor/carpet, /area/awaymission/zoo) "tM" = ( @@ -2305,18 +2305,18 @@ /area/awaymission/zoo) "tN" = ( /obj/structure/table/standard, -/obj/item/weapon/material/knife{ +/obj/item/material/knife{ pixel_x = -6 }, -/obj/item/weapon/reagent_containers/syringe/drugs{ +/obj/item/reagent_containers/syringe/drugs{ pixel_x = 3; pixel_y = -1 }, -/obj/item/weapon/reagent_containers/syringe/drugs{ +/obj/item/reagent_containers/syringe/drugs{ pixel_x = 3; pixel_y = 4 }, -/obj/item/weapon/reagent_containers/syringe/drugs{ +/obj/item/reagent_containers/syringe/drugs{ pixel_x = 3; pixel_y = 9 }, @@ -2331,7 +2331,7 @@ /area/awaymission/zoo) "tR" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/wallet/poly, +/obj/item/storage/wallet/poly, /turf/simulated/floor/holofloor/carpet, /area/awaymission/zoo) "tU" = ( @@ -2344,8 +2344,8 @@ /area/awaymission/zoo) "tX" = ( /obj/structure/closet/crate/freezer, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, /obj/effect/floor_decal/industrial/warning{ dir = 1 }, @@ -2448,7 +2448,7 @@ /turf/simulated/shuttle/floor/darkred, /area/awaymission/zoo/syndieship) "uA" = ( -/obj/item/weapon/storage/box/syringes, +/obj/item/storage/box/syringes, /turf/simulated/floor/plating, /area/awaymission/zoo/pirateship) "uC" = ( @@ -2557,7 +2557,7 @@ /turf/simulated/floor/plating, /area/awaymission/zoo/pirateship) "vj" = ( -/obj/item/weapon/stool, +/obj/item/stool, /obj/effect/floor_decal/corner/red/diagonal, /turf/simulated/floor/tiled, /area/awaymission/zoo/pirateship) @@ -2608,7 +2608,7 @@ /area/awaymission/zoo/pirateship) "wa" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, /obj/effect/floor_decal/corner/red/diagonal, /turf/simulated/floor/tiled, /area/awaymission/zoo/pirateship) @@ -2716,7 +2716,7 @@ /area/awaymission/zoo) "xA" = ( /obj/structure/table/marble, -/obj/item/weapon/pen/multi, +/obj/item/pen/multi, /turf/simulated/floor/holofloor/lino, /area/awaymission/zoo) "xB" = ( @@ -2735,7 +2735,7 @@ }, /area/awaymission/zoo) "xL" = ( -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, /obj/effect/floor_decal/corner/red/diagonal, /turf/simulated/floor/tiled, /area/awaymission/zoo/pirateship) @@ -2780,7 +2780,7 @@ /area/awaymission/zoo) "yn" = ( /obj/structure/closet/crate/freezer, -/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, /turf/simulated/floor/tiled/freezer, /area/awaymission/zoo/pirateship) "yp" = ( @@ -2846,16 +2846,16 @@ /area/awaymission/zoo) "yR" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, /obj/effect/floor_decal/corner/blue/diagonal, /turf/simulated/floor/tiled/white, /area/awaymission/zoo/pirateship) "yU" = ( /obj/structure/closet, -/obj/item/weapon/reagent_containers/food/snacks/liquidfood, -/obj/item/weapon/reagent_containers/food/snacks/liquidfood, -/obj/item/weapon/reagent_containers/food/snacks/liquidfood, -/obj/item/weapon/reagent_containers/food/snacks/liquidfood, +/obj/item/reagent_containers/food/snacks/liquidfood, +/obj/item/reagent_containers/food/snacks/liquidfood, +/obj/item/reagent_containers/food/snacks/liquidfood, +/obj/item/reagent_containers/food/snacks/liquidfood, /obj/machinery/light{ dir = 4 }, @@ -2930,7 +2930,7 @@ /turf/simulated/floor/tiled, /area/awaymission/zoo/pirateship) "zv" = ( -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, /turf/simulated/floor/plating, /area/awaymission/zoo/pirateship) "zx" = ( @@ -2966,21 +2966,21 @@ /obj/structure/window/reinforced{ dir = 8 }, -/obj/item/weapon/storage/firstaid/toxin{ +/obj/item/storage/firstaid/toxin{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ pixel_x = 1 }, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/fire{ pixel_x = 1 }, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /turf/simulated/shuttle/floor/darkred, /area/awaymission/zoo/syndieship) "zJ" = ( @@ -3097,7 +3097,7 @@ /turf/simulated/floor/grass, /area/awaymission/zoo) "Bi" = ( -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /turf/simulated/floor/plating, /area/awaymission/zoo/pirateship) "Bk" = ( @@ -3149,7 +3149,7 @@ /area/awaymission/zoo/pirateship) "By" = ( /obj/structure/table/rack, -/obj/item/weapon/beach_ball, +/obj/item/beach_ball, /turf/simulated/floor/holofloor/carpet, /area/awaymission/zoo) "BC" = ( @@ -3207,7 +3207,7 @@ /turf/simulated/floor/plating, /area/awaymission/zoo) "BS" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/shuttle/floor/darkred, /area/awaymission/zoo/syndieship) "Cc" = ( @@ -3226,7 +3226,7 @@ /area/awaymission/zoo) "Cj" = ( /obj/structure/table/rack, -/obj/item/weapon/cell/high, +/obj/item/cell/high, /obj/effect/floor_decal/industrial/warning{ dir = 8 }, @@ -3240,7 +3240,7 @@ /obj/structure/window/reinforced{ dir = 8 }, -/obj/item/weapon/reagent_containers/food/snacks/xenomeat, +/obj/item/reagent_containers/food/snacks/xenomeat, /turf/simulated/floor/plating, /area/awaymission/zoo/pirateship) "Cp" = ( @@ -3261,15 +3261,15 @@ /area/awaymission/zoo) "Cx" = ( /obj/structure/closet/crate/freezer, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/xenomeat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/xenomeat, /turf/simulated/floor/tiled/white, /area/awaymission/zoo/pirateship) "Cy" = ( /obj/structure/table/reinforced, -/obj/item/weapon/pen/red, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/pen/red, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, /turf/simulated/floor/tiled/steel, /area/awaymission/zoo/pirateship) "Cz" = ( @@ -3307,26 +3307,26 @@ /obj/structure/table/standard, /obj/item/clothing/gloves/sterile, /obj/item/clothing/mask/surgical, -/obj/item/weapon/surgical/retractor{ +/obj/item/surgical/retractor{ pixel_y = 6 }, -/obj/item/weapon/surgical/scalpel, -/obj/item/weapon/surgical/surgicaldrill, -/obj/item/weapon/surgical/circular_saw, +/obj/item/surgical/scalpel, +/obj/item/surgical/surgicaldrill, +/obj/item/surgical/circular_saw, /obj/item/stack/nanopaste, -/obj/item/weapon/surgical/hemostat{ +/obj/item/surgical/hemostat{ pixel_y = 4 }, -/obj/item/weapon/surgical/cautery{ +/obj/item/surgical/cautery{ pixel_y = 4 }, -/obj/item/weapon/surgical/FixOVein{ +/obj/item/surgical/FixOVein{ pixel_x = -6; pixel_y = 1 }, /obj/item/stack/medical/advanced/bruise_pack, -/obj/item/weapon/surgical/bonesetter, -/obj/item/weapon/surgical/bonegel{ +/obj/item/surgical/bonesetter, +/obj/item/surgical/bonegel{ pixel_x = 4; pixel_y = 3 }, @@ -3334,19 +3334,19 @@ /area/awaymission/zoo) "CO" = ( /obj/structure/table/reinforced, -/obj/item/weapon/tool/screwdriver, -/obj/item/weapon/tool/screwdriver, -/obj/item/weapon/paper{ +/obj/item/tool/screwdriver, +/obj/item/tool/screwdriver, +/obj/item/paper{ info = "The next person who takes one of my screwdrivers gets stabbed with one. They are MINE. - Love, Madsen"; name = "scribbled note" }, -/obj/item/weapon/tool/screwdriver, +/obj/item/tool/screwdriver, /obj/effect/floor_decal/corner/red/diagonal, /turf/simulated/floor/tiled, /area/awaymission/zoo/pirateship) "CR" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/photo_album, +/obj/item/storage/photo_album, /turf/simulated/floor/holofloor/carpet, /area/awaymission/zoo) "CS" = ( @@ -3465,11 +3465,11 @@ /turf/simulated/floor/plating, /area/awaymission/zoo) "DX" = ( -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = -2; pixel_y = 4 }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = -2; pixel_y = 4 }, @@ -3479,34 +3479,34 @@ /obj/item/bodybag/cryobag{ pixel_x = 5 }, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ layer = 2.8; pixel_x = 4; pixel_y = 6 }, -/obj/item/weapon/storage/box/masks, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/masks, +/obj/item/storage/box/gloves{ pixel_x = 3; pixel_y = 4 }, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/toxin, +/obj/item/storage/firstaid/fire{ layer = 2.9; pixel_x = 2; pixel_y = 3 }, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ pixel_x = -2 }, -/obj/item/weapon/reagent_containers/blood/empty, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/empty, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /obj/structure/closet/medical_wall{ pixel_y = 32 }, -/obj/item/weapon/storage/firstaid/combat, +/obj/item/storage/firstaid/combat, /turf/simulated/floor/tiled/white, /area/awaymission/zoo) "Ea" = ( @@ -3523,7 +3523,7 @@ }, /area/awaymission/zoo) "Ei" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; @@ -3752,7 +3752,7 @@ /area/awaymission/zoo) "FS" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /turf/simulated/floor/plating, /area/awaymission/zoo) "FV" = ( @@ -3782,12 +3782,12 @@ /area/awaymission/zoo) "FY" = ( /obj/structure/table/reinforced, -/obj/item/weapon/pen/blue, -/obj/item/weapon/pen/red{ +/obj/item/pen/blue, +/obj/item/pen/red{ pixel_x = -5; pixel_y = -1 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, @@ -3866,14 +3866,14 @@ /area/awaymission/zoo) "GF" = ( /obj/structure/table/rack, -/obj/item/weapon/soap/deluxe, +/obj/item/soap/deluxe, /turf/simulated/floor/holofloor/carpet, /area/awaymission/zoo) "GI" = ( /obj/machinery/vending/assist{ contraband = null; name = "AntagCorpVend"; - products = list(/obj/item/device/assembly/prox_sensor = 5, /obj/item/device/assembly/signaler = 4, /obj/item/device/assembly/infra = 4, /obj/item/device/assembly/prox_sensor = 4, /obj/item/weapon/handcuffs = 8, /obj/item/device/flash = 4, /obj/item/weapon/cartridge/signal = 4, /obj/item/clothing/glasses/sunglasses = 4) + products = list(/obj/item/assembly/prox_sensor = 5, /obj/item/assembly/signaler = 4, /obj/item/assembly/infra = 4, /obj/item/assembly/prox_sensor = 4, /obj/item/handcuffs = 8, /obj/item/flash = 4, /obj/item/cartridge/signal = 4, /obj/item/clothing/glasses/sunglasses = 4) }, /obj/machinery/light{ dir = 4 @@ -3916,7 +3916,7 @@ /obj/structure/window/reinforced{ dir = 1 }, -/obj/item/weapon/reagent_containers/food/snacks/xenomeat, +/obj/item/reagent_containers/food/snacks/xenomeat, /turf/simulated/floor/plating, /area/awaymission/zoo/pirateship) "Ho" = ( @@ -4035,7 +4035,7 @@ /area/awaymission/zoo) "HX" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 2; pixel_y = 3 }, @@ -4075,7 +4075,7 @@ /turf/simulated/floor/tiled, /area/awaymission/zoo) "Im" = ( -/obj/item/weapon/reagent_containers/food/snacks/hugemushroomslice, +/obj/item/reagent_containers/food/snacks/hugemushroomslice, /turf/simulated/floor/tiled, /area/awaymission/zoo/pirateship) "Io" = ( @@ -4167,12 +4167,12 @@ dir = 1 }, /obj/structure/table/standard, -/obj/item/weapon/surgical/circular_saw, -/obj/item/weapon/surgical/FixOVein{ +/obj/item/surgical/circular_saw, +/obj/item/surgical/FixOVein{ pixel_x = -6; pixel_y = 1 }, -/obj/item/weapon/surgical/hemostat, +/obj/item/surgical/hemostat, /turf/simulated/shuttle/floor/darkred, /area/awaymission/zoo/syndieship) "Ju" = ( @@ -4201,12 +4201,12 @@ /area/awaymission/zoo) "JD" = ( /obj/structure/table/rack, -/obj/item/device/camera_film, +/obj/item/camera_film, /turf/simulated/floor/holofloor/carpet, /area/awaymission/zoo) "JH" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/fancy/crayons, +/obj/item/storage/fancy/crayons, /turf/simulated/floor/holofloor/carpet, /area/awaymission/zoo) "JI" = ( @@ -4262,7 +4262,7 @@ }, /area/awaymission/zoo) "Ku" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/plating, /area/awaymission/zoo) "Kw" = ( @@ -4334,9 +4334,9 @@ /area/awaymission/zoo) "Lr" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/scalpel, -/obj/item/weapon/surgical/bonesetter, -/obj/item/weapon/surgical/bonegel{ +/obj/item/surgical/scalpel, +/obj/item/surgical/bonesetter, +/obj/item/surgical/bonegel{ pixel_x = 4; pixel_y = 3 }, @@ -4351,8 +4351,8 @@ /turf/simulated/floor/tiled, /area/awaymission/zoo/pirateship) "Ly" = ( -/obj/item/weapon/handcuffs, -/obj/item/weapon/handcuffs, +/obj/item/handcuffs, +/obj/item/handcuffs, /obj/structure/closet/crate, /turf/simulated/floor/plating, /area/awaymission/zoo/pirateship) @@ -4592,7 +4592,7 @@ /area/awaymission/zoo/pirateship) "NI" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet/yellow, +/obj/item/bedsheet/yellow, /turf/simulated/floor/wood, /area/awaymission/zoo/pirateship) "NS" = ( @@ -4708,7 +4708,7 @@ /area/awaymission/zoo) "OP" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/lights, +/obj/item/storage/box/lights, /obj/effect/floor_decal/industrial/warning{ dir = 8 }, @@ -4737,16 +4737,16 @@ /obj/item/stack/material/glass{ amount = 15 }, -/obj/item/weapon/cell{ +/obj/item/cell{ charge = 100; maxcharge = 15000 }, /turf/simulated/shuttle/floor/darkred, /area/awaymission/zoo/syndieship) "OZ" = ( -/obj/item/weapon/surgical/scalpel, +/obj/item/surgical/scalpel, /obj/structure/closet/crate, -/obj/item/weapon/tank/anesthetic, +/obj/item/tank/anesthetic, /turf/simulated/floor/plating, /area/awaymission/zoo/pirateship) "Pa" = ( @@ -4757,7 +4757,7 @@ /area/awaymission/zoo/syndieship) "Pc" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper/zoo/pirate/volk, +/obj/item/paper/zoo/pirate/volk, /turf/simulated/floor/carpet, /area/awaymission/zoo/pirateship) "Pd" = ( @@ -4775,7 +4775,7 @@ /turf/simulated/floor/tiled, /area/awaymission/zoo/pirateship) "Pp" = ( -/obj/item/weapon/material/knife, +/obj/item/material/knife, /obj/effect/floor_decal/corner/red/diagonal, /turf/simulated/floor/tiled, /area/awaymission/zoo/pirateship) @@ -4822,7 +4822,7 @@ /area/awaymission/zoo/pirateship) "Pw" = ( /obj/structure/table/reinforced, -/obj/item/weapon/material/knife, +/obj/item/material/knife, /obj/effect/floor_decal/corner/red/diagonal, /turf/simulated/floor/tiled, /area/awaymission/zoo/pirateship) @@ -4837,12 +4837,12 @@ /area/awaymission/zoo) "Pz" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/weapon/reagent_containers/food/snacks/xenomeat, +/obj/item/reagent_containers/food/snacks/xenomeat, /turf/simulated/floor/plating, /area/awaymission/zoo/pirateship) "PB" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "DEAR DAIRY: So we was doing our typpical route when the captain says we've been picking up weird signals on some backwatter planet. Madsen wanted to stay on course but he ain't the captain, so we went out of the way to check it out. There was lots of rocks on the way, but we got to the planet fine. Found a big fancy camp with nobody around and this big metal donut thing with NT stamps all over it right in the middle. Case of beer too. Captain reckons we can pass it off to some buyer in the Syndicate. Ingram says it's bad luck and that someone is going to come look for it but it sounds like better money than selling bad meat to jerky companies."; name = "Old Diary" }, @@ -4923,11 +4923,11 @@ /turf/simulated/floor/tiled/white, /area/awaymission/zoo) "Qy" = ( -/obj/item/weapon/reagent_containers/food/snacks/xenomeat, +/obj/item/reagent_containers/food/snacks/xenomeat, /turf/simulated/floor/plating, /area/awaymission/zoo/pirateship) "QD" = ( -/obj/item/weapon/mop, +/obj/item/mop, /turf/simulated/floor/tiled/freezer, /area/awaymission/zoo/pirateship) "QK" = ( @@ -5008,7 +5008,7 @@ }, /area/awaymission/zoo) "Rj" = ( -/obj/item/weapon/stool, +/obj/item/stool, /turf/simulated/floor/tiled/steel, /area/awaymission/zoo/pirateship) "Rk" = ( @@ -5221,7 +5221,7 @@ /area/awaymission/zoo/pirateship) "Td" = ( /obj/structure/table/reinforced, -/obj/item/weapon/packageWrap, +/obj/item/packageWrap, /obj/effect/floor_decal/industrial/warning{ dir = 1 }, @@ -5311,18 +5311,18 @@ req_access = list(150) }, /obj/item/bodybag, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/reagent_containers/glass/bottle/antitoxin{ +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/glass/bottle/antitoxin{ pixel_x = -4; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline{ +/obj/item/reagent_containers/glass/bottle/inaprovaline{ pixel_x = 4; pixel_y = 7 }, -/obj/item/weapon/reagent_containers/syringe, +/obj/item/reagent_containers/syringe, /obj/machinery/light{ dir = 4 }, @@ -5339,7 +5339,7 @@ /area/awaymission/zoo/syndieship) "Un" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/backpack/clown, +/obj/item/storage/backpack/clown, /obj/item/clothing/shoes/rainbow, /obj/item/clothing/under/color/rainbow, /obj/item/clothing/gloves/rainbow, @@ -5364,11 +5364,11 @@ /obj/structure/closet/secure_closet/freezer/meat{ opened = 1 }, -/obj/item/weapon/reagent_containers/food/snacks/xenomeat, -/obj/item/weapon/reagent_containers/food/snacks/xenomeat, -/obj/item/weapon/reagent_containers/food/snacks/xenomeat, -/obj/item/weapon/reagent_containers/food/snacks/xenomeat, -/obj/item/weapon/reagent_containers/food/snacks/xenomeat, +/obj/item/reagent_containers/food/snacks/xenomeat, +/obj/item/reagent_containers/food/snacks/xenomeat, +/obj/item/reagent_containers/food/snacks/xenomeat, +/obj/item/reagent_containers/food/snacks/xenomeat, +/obj/item/reagent_containers/food/snacks/xenomeat, /turf/simulated/floor/tiled/white, /area/awaymission/zoo/pirateship) "Ux" = ( @@ -5437,7 +5437,7 @@ /area/awaymission/zoo) "UT" = ( /obj/structure/closet/crate, -/obj/item/weapon/spacecash/c10, +/obj/item/spacecash/c10, /turf/simulated/floor/tiled/steel, /area/awaymission/zoo/pirateship) "UV" = ( @@ -5465,7 +5465,7 @@ base_state = "right"; icon_state = "right" }, -/obj/item/weapon/reagent_containers/food/snacks/xenomeat, +/obj/item/reagent_containers/food/snacks/xenomeat, /turf/simulated/floor/plating, /area/awaymission/zoo/pirateship) "Vh" = ( @@ -5491,7 +5491,7 @@ /area/awaymission/zoo/pirateship) "Vj" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, /turf/simulated/floor/carpet, /area/awaymission/zoo/pirateship) "Vk" = ( @@ -5565,7 +5565,7 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/material/knife, +/obj/item/material/knife, /turf/simulated/floor/plating, /area/awaymission/zoo/pirateship) "VX" = ( @@ -5614,7 +5614,7 @@ /turf/simulated/shuttle/floor/darkred, /area/awaymission/zoo/syndieship) "Wl" = ( -/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, /turf/simulated/floor/tiled/freezer, /area/awaymission/zoo/pirateship) "Wn" = ( @@ -5700,7 +5700,7 @@ /area/awaymission/zoo/pirateship) "WV" = ( /obj/structure/table/rack, -/obj/item/weapon/tank/oxygen/yellow, +/obj/item/tank/oxygen/yellow, /obj/item/clothing/suit/space/emergency, /obj/item/clothing/head/helmet/space/emergency, /obj/effect/floor_decal/industrial/warning, @@ -5708,7 +5708,7 @@ /area/awaymission/zoo/pirateship) "WY" = ( /obj/structure/closet/crate, -/obj/item/weapon/spacecash/c1000, +/obj/item/spacecash/c1000, /turf/simulated/floor/tiled/steel, /area/awaymission/zoo/pirateship) "WZ" = ( @@ -5764,7 +5764,7 @@ /turf/simulated/shuttle/floor/darkred, /area/awaymission/zoo/syndieship) "Xv" = ( -/obj/item/weapon/stool, +/obj/item/stool, /turf/simulated/floor/carpet, /area/awaymission/zoo/pirateship) "Xz" = ( @@ -5855,9 +5855,9 @@ dir = 1 }, /obj/structure/table/standard, -/obj/item/weapon/surgical/surgicaldrill, -/obj/item/weapon/surgical/cautery, -/obj/item/weapon/surgical/retractor, +/obj/item/surgical/surgicaldrill, +/obj/item/surgical/cautery, +/obj/item/surgical/retractor, /obj/item/stack/nanopaste, /turf/simulated/shuttle/floor/darkred, /area/awaymission/zoo/syndieship) @@ -5902,8 +5902,8 @@ /area/awaymission/zoo/pirateship) "YM" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, -/obj/item/weapon/storage/wallet/random, +/obj/item/bedsheet, +/obj/item/storage/wallet/random, /turf/simulated/floor/tiled/steel, /area/awaymission/zoo/pirateship) "YO" = ( @@ -5914,9 +5914,9 @@ /obj/structure/closet{ name = "custodial" }, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/mop, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/glass/bucket, +/obj/item/mop, +/obj/item/reagent_containers/spray/cleaner, /turf/simulated/shuttle/floor/darkred, /area/awaymission/zoo/syndieship) "YR" = ( @@ -5942,7 +5942,7 @@ /area/awaymission/zoo/pirateship) "YW" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, /obj/effect/floor_decal/industrial/warning{ dir = 8 }, @@ -5955,7 +5955,7 @@ /turf/simulated/floor/tiled, /area/awaymission/zoo) "Za" = ( -/obj/item/weapon/tool/crowbar, +/obj/item/tool/crowbar, /turf/simulated/shuttle/floor/darkred, /area/awaymission/zoo/syndieship) "Ze" = ( @@ -6081,13 +6081,13 @@ pixel_x = 32; req_access = list(150) }, -/obj/item/weapon/tank/anesthetic, +/obj/item/tank/anesthetic, /obj/item/clothing/mask/breath/medical, /obj/item/clothing/mask/surgical, /obj/item/clothing/gloves/sterile, -/obj/item/weapon/reagent_containers/syringe, -/obj/item/weapon/reagent_containers/glass/bottle/stoxin, -/obj/item/weapon/reagent_containers/glass/bottle/stoxin, +/obj/item/reagent_containers/syringe, +/obj/item/reagent_containers/glass/bottle/stoxin, +/obj/item/reagent_containers/glass/bottle/stoxin, /turf/simulated/shuttle/floor/darkred, /area/awaymission/zoo/syndieship) diff --git a/maps/groundbase/gb-centcomm.dmm b/maps/groundbase/gb-centcomm.dmm index 699b29e099a..e63c6dfaef5 100644 --- a/maps/groundbase/gb-centcomm.dmm +++ b/maps/groundbase/gb-centcomm.dmm @@ -52,11 +52,11 @@ /area/centcom/specops) "al" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/firstaid/o2, +/obj/item/storage/firstaid/o2, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "am" = ( @@ -124,12 +124,12 @@ /area/centcom/terminal) "aC" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/syringe/inaprovaline, -/obj/item/weapon/reagent_containers/syringe/inaprovaline{ +/obj/item/reagent_containers/syringe/inaprovaline, +/obj/item/reagent_containers/syringe/inaprovaline{ pixel_x = -2; pixel_y = 5 }, -/obj/item/weapon/reagent_containers/syringe/inaprovaline{ +/obj/item/reagent_containers/syringe/inaprovaline{ pixel_y = 10 }, /obj/effect/floor_decal/borderfloor, @@ -149,7 +149,7 @@ /area/shuttle/ccboat) "aF" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/belt/utility, +/obj/item/storage/belt/utility, /obj/item/clothing/gloves/sterile/latex, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 @@ -161,10 +161,10 @@ /area/centcom/control) "aG" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/gun/compact, -/obj/item/weapon/gun/energy/gun/compact, -/obj/item/device/flash, -/obj/item/device/flash, +/obj/item/gun/energy/gun/compact, +/obj/item/gun/energy/gun/compact, +/obj/item/flash, +/obj/item/flash, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -196,12 +196,12 @@ /area/centcom/evac) "aL" = ( /obj/structure/table/reinforced, -/obj/item/device/pda/ert, -/obj/item/device/pda/ert, -/obj/item/device/pda/ert, -/obj/item/device/pda/ert, -/obj/item/device/pda/ert, -/obj/item/device/pda/ert, +/obj/item/pda/ert, +/obj/item/pda/ert, +/obj/item/pda/ert, +/obj/item/pda/ert, +/obj/item/pda/ert, +/obj/item/pda/ert, /obj/effect/floor_decal/corner/blue{ dir = 5 }, @@ -239,10 +239,10 @@ /obj/item/clothing/head/helmet/ert/security, /obj/item/clothing/head/helmet/ert/security, /obj/item/clothing/head/helmet/ert/security, -/obj/item/weapon/storage/backpack/ert/security, -/obj/item/weapon/storage/backpack/ert/security, -/obj/item/weapon/storage/backpack/ert/security, -/obj/item/weapon/storage/backpack/ert/security, +/obj/item/storage/backpack/ert/security, +/obj/item/storage/backpack/ert/security, +/obj/item/storage/backpack/ert/security, +/obj/item/storage/backpack/ert/security, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -257,7 +257,7 @@ /obj/effect/floor_decal/corner/blue/border{ dir = 9 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; frequency = 1475; name = "Station Intercom (Security)"; @@ -269,11 +269,11 @@ }) "aT" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/machinery/button/remote/blast_door{ id = "TelelockdownC"; name = "Teleporter Entrance Lockdown"; @@ -496,8 +496,8 @@ /area/centcom/specops) "bB" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/donkpockets, -/obj/item/weapon/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, /obj/effect/floor_decal/borderfloorblack{ dir = 8 }, @@ -568,11 +568,11 @@ /area/centcom/specops) "bW" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "bY" = ( @@ -586,7 +586,7 @@ /turf/simulated/floor/tiled, /area/centcom) "ca" = ( -/obj/item/device/taperecorder, +/obj/item/taperecorder, /obj/structure/table/reinforced, /obj/effect/floor_decal/borderfloorblack{ dir = 10 @@ -683,17 +683,17 @@ /area/shuttle/escape) "cq" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "cs" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/fire{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/firstaid/fire, +/obj/item/storage/firstaid/fire, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "ct" = ( @@ -710,10 +710,10 @@ /area/centcom/terminal) "cv" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/gun/compact, -/obj/item/weapon/gun/energy/gun/compact, -/obj/item/device/flash, -/obj/item/device/flash, +/obj/item/gun/energy/gun/compact, +/obj/item/gun/energy/gun/compact, +/obj/item/flash, +/obj/item/flash, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "cw" = ( @@ -740,9 +740,9 @@ pixel_y = 26 }, /obj/structure/table/reinforced, -/obj/item/weapon/stamp/ward, -/obj/item/weapon/stamp/denied, -/obj/item/device/binoculars, +/obj/item/stamp/ward, +/obj/item/stamp/denied, +/obj/item/binoculars, /obj/effect/floor_decal/borderfloorblack{ dir = 1 }, @@ -788,7 +788,7 @@ /area/centcom/security) "cM" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/pastatomato, +/obj/item/reagent_containers/food/snacks/pastatomato, /turf/simulated/floor/wood, /area/centcom/restaurant) "cN" = ( @@ -863,19 +863,19 @@ /turf/simulated/floor/tiled/dark, /area/centcom/security) "cZ" = ( -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 3 }, @@ -885,7 +885,7 @@ }, /area/tdome/tdomeobserve) "dc" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /turf/simulated/floor/wood, @@ -928,7 +928,7 @@ /turf/simulated/floor/tiled/eris/dark/cargo, /area/shuttle/ccboat) "dj" = ( -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -941,8 +941,8 @@ /area/centcom/main_hall) "dn" = ( /obj/structure/table/rack, -/obj/item/device/defib_kit/compact/combat/loaded, -/obj/item/device/defib_kit/compact/combat/loaded, +/obj/item/defib_kit/compact/combat/loaded, +/obj/item/defib_kit/compact/combat/loaded, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "do" = ( @@ -960,11 +960,11 @@ dir = 8; pixel_x = 16 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -1; pixel_y = 5 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled, /area/centcom/command) "dt" = ( @@ -994,8 +994,8 @@ /area/centcom/command) "dx" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/launcher/rocket, -/obj/item/weapon/gun/launcher/rocket, +/obj/item/gun/launcher/rocket, +/obj/item/gun/launcher/rocket, /obj/item/ammo_casing/rocket, /obj/item/ammo_casing/rocket, /obj/item/ammo_casing/rocket, @@ -1028,11 +1028,11 @@ /obj/effect/floor_decal/borderfloor{ dir = 1 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -1; pixel_y = 5 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled, /area/centcom/command) "dF" = ( @@ -1061,8 +1061,8 @@ dir = 1 }, /obj/structure/table/rack, -/obj/item/weapon/gun/energy/ionrifle, -/obj/item/weapon/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled{ icon_state = "dark" @@ -1127,10 +1127,10 @@ /area/centcom/medical) "dV" = ( /obj/structure/table/reinforced, -/obj/item/device/healthanalyzer/phasic, -/obj/item/device/healthanalyzer/phasic, -/obj/item/device/healthanalyzer/phasic, -/obj/item/device/healthanalyzer/phasic, +/obj/item/healthanalyzer/phasic, +/obj/item/healthanalyzer/phasic, +/obj/item/healthanalyzer/phasic, +/obj/item/healthanalyzer/phasic, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "dX" = ( @@ -1142,8 +1142,8 @@ /obj/item/clothing/shoes/leg_guard/riot, /obj/item/clothing/suit/armor/riot/alt, /obj/item/clothing/head/helmet/riot, -/obj/item/weapon/shield/riot, -/obj/item/weapon/melee/baton/loaded, +/obj/item/shield/riot, +/obj/item/melee/baton/loaded, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/dark, /area/centcom/security) @@ -1217,11 +1217,11 @@ }) "el" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/shotgun/pump, -/obj/item/weapon/gun/projectile/shotgun/pump, -/obj/item/weapon/gun/projectile/shotgun/pump, -/obj/item/weapon/gun/projectile/shotgun/pump, -/obj/item/weapon/gun/projectile/shotgun/pump, +/obj/item/gun/projectile/shotgun/pump, +/obj/item/gun/projectile/shotgun/pump, +/obj/item/gun/projectile/shotgun/pump, +/obj/item/gun/projectile/shotgun/pump, +/obj/item/gun/projectile/shotgun/pump, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/dark, /area/centcom/security) @@ -1240,12 +1240,12 @@ /area/centcom/evac) "ep" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/circular_saw, -/obj/item/weapon/surgical/scalpel{ +/obj/item/surgical/circular_saw, +/obj/item/surgical/scalpel{ pixel_y = 12 }, -/obj/item/weapon/surgical/hemostat, -/obj/item/weapon/surgical/retractor, +/obj/item/surgical/hemostat, +/obj/item/surgical/retractor, /obj/effect/floor_decal/industrial/warning{ dir = 1 }, @@ -1352,32 +1352,32 @@ /area/centcom/medical) "eI" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 3 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = -4 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8; pixel_y = 12 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = 12 }, @@ -1409,7 +1409,7 @@ /turf/simulated/floor/tiled/dark, /area/centcom/security) "eM" = ( -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 2; pixel_y = 6 }, @@ -1426,11 +1426,11 @@ /area/centcom/main_hall) "eQ" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen/blue, +/obj/item/pen/blue, /turf/simulated/floor/tiled, /area/centcom/control) "eS" = ( @@ -1495,7 +1495,7 @@ "fe" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/projectile/heavysniper, +/obj/item/gun/projectile/heavysniper, /turf/simulated/floor/tiled/dark, /area/centcom/security) "fg" = ( @@ -1558,8 +1558,8 @@ /area/centcom/main_hall) "fl" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/firstaid/adv, -/obj/item/weapon/storage/firstaid/adv, +/obj/item/storage/firstaid/adv, +/obj/item/storage/firstaid/adv, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled/white, @@ -1629,7 +1629,7 @@ /obj/structure/bed/chair/bay/shuttle{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_x = -32; pixel_y = 24 @@ -1661,10 +1661,10 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/gun/projectile/p92x, -/obj/item/weapon/gun/projectile/p92x, -/obj/item/weapon/gun/projectile/p92x, -/obj/item/weapon/gun/projectile/p92x, +/obj/item/gun/projectile/p92x, +/obj/item/gun/projectile/p92x, +/obj/item/gun/projectile/p92x, +/obj/item/gun/projectile/p92x, /obj/item/ammo_magazine/m9mm/large/preban, /obj/item/ammo_magazine/m9mm/large/preban, /obj/item/ammo_magazine/m9mm/large/preban, @@ -1752,9 +1752,9 @@ /area/centcom/medical) "ga" = ( /obj/structure/table/reinforced, -/obj/item/device/aicard, -/obj/item/weapon/pinpointer/advpinpointer, -/obj/item/weapon/stamp/centcomm, +/obj/item/aicard, +/obj/item/pinpointer/advpinpointer, +/obj/item/stamp/centcomm, /turf/simulated/floor/wood, /area/centcom/specops) "gc" = ( @@ -1782,8 +1782,8 @@ /area/shuttle/escape) "gi" = ( /obj/structure/table/reinforced, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/device/taperecorder, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/taperecorder, /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/blue/border, /turf/simulated/floor/tiled/dark, @@ -1866,11 +1866,11 @@ /area/centcom/living) "gt" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled, /area/centcom/control) "gw" = ( @@ -1903,7 +1903,7 @@ /area/centcom/security) "gB" = ( /obj/structure/table/reinforced, -/obj/item/weapon/gun/energy/gun/nuclear, +/obj/item/gun/energy/gun/nuclear, /turf/simulated/floor/wood, /area/centcom/specops) "gD" = ( @@ -2042,7 +2042,7 @@ /area/centcom/bar) "hd" = ( /obj/structure/bed/chair, -/obj/item/weapon/handcuffs, +/obj/item/handcuffs, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -2061,10 +2061,10 @@ /area/centcom/security) "hg" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/pillbottles, -/obj/item/weapon/storage/box/gloves, -/obj/item/weapon/storage/box/beakers, -/obj/item/weapon/storage/box/autoinjectors, +/obj/item/storage/box/pillbottles, +/obj/item/storage/box/gloves, +/obj/item/storage/box/beakers, +/obj/item/storage/box/autoinjectors, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "hh" = ( @@ -2113,10 +2113,10 @@ /obj/item/clothing/head/helmet/ert/engineer, /obj/item/clothing/head/helmet/ert/engineer, /obj/item/clothing/head/helmet/ert/engineer, -/obj/item/weapon/storage/backpack/ert/engineer, -/obj/item/weapon/storage/backpack/ert/engineer, -/obj/item/weapon/storage/backpack/ert/engineer, -/obj/item/weapon/storage/backpack/ert/engineer, +/obj/item/storage/backpack/ert/engineer, +/obj/item/storage/backpack/ert/engineer, +/obj/item/storage/backpack/ert/engineer, +/obj/item/storage/backpack/ert/engineer, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -2157,14 +2157,14 @@ /area/centcom/terminal) "hw" = ( /obj/structure/table/rack, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "hz" = ( @@ -2176,10 +2176,10 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, +/obj/item/gun/energy/gun, +/obj/item/gun/energy/gun, +/obj/item/gun/energy/gun, +/obj/item/gun/energy/gun, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -2200,15 +2200,15 @@ dir = 4 }, /obj/structure/table/marble, -/obj/item/weapon/book/manual/chef_recipes, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/book/manual/chef_recipes, +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -3 }, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 3 }, -/obj/item/weapon/material/kitchen/rollingpin, -/obj/item/weapon/material/knife/butch, +/obj/item/material/kitchen/rollingpin, +/obj/item/material/knife/butch, /turf/simulated/floor/tiled/white, /area/centcom/control) "hF" = ( @@ -2234,8 +2234,8 @@ /area/tdome/tdome1) "hI" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/launcher/grenade, -/obj/item/weapon/gun/launcher/grenade, +/obj/item/gun/launcher/grenade, +/obj/item/gun/launcher/grenade, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "hJ" = ( @@ -2265,7 +2265,7 @@ /turf/simulated/floor/lino, /area/centcom/restaurant) "hT" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/borderfloor{ dir = 8 }, @@ -2397,7 +2397,7 @@ req_access = list(63); req_one_access = list(1) }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, @@ -2412,15 +2412,15 @@ /area/centcom) "iv" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = 5 }, -/obj/item/weapon/pen/multi, +/obj/item/pen/multi, /turf/simulated/floor/tiled, /area/centcom/control) "iw" = ( /obj/structure/table/reinforced, -/obj/item/device/camera, +/obj/item/camera, /obj/effect/floor_decal/borderfloor{ dir = 10 }, @@ -2508,17 +2508,17 @@ /area/centcom/medical) "iP" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, +/obj/item/gun/energy/laser, +/obj/item/gun/energy/laser, +/obj/item/gun/energy/laser, +/obj/item/gun/energy/laser, +/obj/item/gun/energy/laser, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/dark, /area/centcom/security) "iR" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/heavysniper, +/obj/item/gun/projectile/heavysniper, /obj/item/ammo_magazine/ammo_box/b145, /obj/item/ammo_magazine/ammo_box/b145, /turf/simulated/floor/tiled/dark, @@ -2638,7 +2638,7 @@ name = "\improper CentCom Residential Security" }) "js" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/corner/yellow/diagonal, /obj/effect/floor_decal/corner/blue/diagonal{ dir = 4 @@ -2653,12 +2653,12 @@ /obj/item/clothing/shoes/magboots, /obj/item/clothing/shoes/magboots, /obj/item/clothing/shoes/magboots, -/obj/item/weapon/storage/box, -/obj/item/weapon/storage/box, -/obj/item/weapon/storage/box, -/obj/item/weapon/storage/box, -/obj/item/weapon/storage/box, -/obj/item/weapon/storage/box, +/obj/item/storage/box, +/obj/item/storage/box, +/obj/item/storage/box, +/obj/item/storage/box, +/obj/item/storage/box, +/obj/item/storage/box, /obj/effect/floor_decal/industrial/outline/blue, /turf/simulated/floor/tiled{ icon_state = "dark" @@ -2683,8 +2683,8 @@ /area/centcom/specops) "jy" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/xray, -/obj/item/weapon/gun/energy/xray, +/obj/item/gun/energy/xray, +/obj/item/gun/energy/xray, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "jA" = ( @@ -2712,8 +2712,8 @@ dir = 10 }, /obj/structure/table/reinforced, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/manual/security_space_law, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/wiki/security_space_law, /turf/simulated/floor/tiled/dark, /area/centcom/security{ name = "\improper CentCom Security Arrivals" @@ -2894,9 +2894,9 @@ /area/centcom) "ki" = ( /obj/structure/table/rack, -/obj/item/weapon/rig/ert/engineer, -/obj/item/weapon/rig/ert/engineer, -/obj/item/weapon/rig/ert/engineer, +/obj/item/rig/ert/engineer, +/obj/item/rig/ert/engineer, +/obj/item/rig/ert/engineer, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -2910,7 +2910,7 @@ /turf/unsimulated/floor/steel, /area/tdome/tdomeobserve) "ko" = ( -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -6 }, /obj/structure/table/standard, @@ -2953,14 +2953,14 @@ /area/centcom/terminal) "kA" = ( /obj/machinery/chemical_dispenser/ert, -/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, /obj/structure/table/reinforced, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "kB" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/box/bodybags, -/obj/item/weapon/storage/box/bodybags, +/obj/item/storage/box/bodybags, +/obj/item/storage/box/bodybags, /obj/effect/floor_decal/steeldecal/steel_decals9{ dir = 1 }, @@ -3013,10 +3013,10 @@ /area/centcom/terminal) "kM" = ( /obj/structure/table/rack, -/obj/item/weapon/extinguisher/mini, -/obj/item/weapon/extinguisher/mini, -/obj/item/weapon/extinguisher/mini, -/obj/item/weapon/extinguisher/mini, +/obj/item/extinguisher/mini, +/obj/item/extinguisher/mini, +/obj/item/extinguisher/mini, +/obj/item/extinguisher/mini, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "kN" = ( @@ -3051,8 +3051,8 @@ "kR" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/projectile/automatic/z8, -/obj/item/weapon/gun/projectile/automatic/z8, +/obj/item/gun/projectile/automatic/z8, +/obj/item/gun/projectile/automatic/z8, /turf/simulated/floor/tiled/dark, /area/centcom/security) "kT" = ( @@ -3073,7 +3073,7 @@ /obj/effect/floor_decal/borderfloorwhite/corner2, /obj/effect/floor_decal/corner/paleblue/bordercorner2, /obj/structure/table/glass, -/obj/item/weapon/storage/firstaid/o2, +/obj/item/storage/firstaid/o2, /turf/simulated/floor/tiled/white, /area/centcom/medical) "kV" = ( @@ -3085,15 +3085,15 @@ "kW" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -2; pixel_y = -2 }, @@ -3101,7 +3101,7 @@ /area/centcom/security) "kY" = ( /obj/structure/table/glass, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -1; pixel_y = 3 }, @@ -3115,11 +3115,11 @@ /area/centcom/terminal) "la" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/dark, /area/centcom/security) @@ -3180,8 +3180,8 @@ /area/centcom/terminal/tramfluff) "li" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/lasercannon, -/obj/item/weapon/gun/energy/lasercannon, +/obj/item/gun/energy/lasercannon, +/obj/item/gun/energy/lasercannon, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "lj" = ( @@ -3198,8 +3198,8 @@ /obj/item/ammo_magazine/m545, /obj/item/ammo_magazine/m545, /obj/item/ammo_magazine/m545, -/obj/item/weapon/gun/projectile/automatic/sts35, -/obj/item/weapon/gun/projectile/automatic/sts35, +/obj/item/gun/projectile/automatic/sts35, +/obj/item/gun/projectile/automatic/sts35, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -3217,7 +3217,7 @@ "ll" = ( /obj/effect/floor_decal/industrial/outline/grey, /obj/structure/closet/secure_closet/nanotrasen_warden, -/obj/item/weapon/storage/box/handcuffs, +/obj/item/storage/box/handcuffs, /turf/simulated/floor/tiled/dark, /area/centcom/security) "lm" = ( @@ -3244,12 +3244,12 @@ dir = 4 }, /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the 'Space' from Space Cleaner and written in Chemistry. Scrawled on the back is, 'Okay, whoever filled this with polytrinic acid, it was only funny the first time. It was hard enough replacing the CMO's first cat!'"; name = "Chemistry Cleaner" }, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; @@ -3285,15 +3285,15 @@ /area/centcom/command) "lv" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/handcuffs{ +/obj/item/storage/box/handcuffs{ pixel_x = 8; pixel_y = 6 }, -/obj/item/weapon/storage/box/chemimp{ +/obj/item/storage/box/chemimp{ pixel_x = 4; pixel_y = 3 }, -/obj/item/weapon/storage/box/trackimp, +/obj/item/storage/box/trackimp, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/dark, /area/centcom/security) @@ -3301,7 +3301,7 @@ /obj/structure/table/rack, /obj/item/clothing/under/color/green, /obj/item/clothing/shoes/brown, -/obj/item/weapon/melee/energy/axe, +/obj/item/melee/energy/axe, /turf/unsimulated/floor/techfloor_grid, /area/tdome/tdome1) "ly" = ( @@ -3310,7 +3310,7 @@ /obj/item/clothing/shoes/brown, /obj/item/clothing/suit/armor/vest, /obj/item/clothing/head/helmet/swat, -/obj/item/weapon/gun/energy/laser, +/obj/item/gun/energy/laser, /turf/unsimulated/floor/techfloor_grid, /area/tdome/tdome1) "lA" = ( @@ -3334,11 +3334,11 @@ dir = 1; pixel_y = -16 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -1; pixel_y = 5 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled, /area/centcom/command) "lD" = ( @@ -3360,7 +3360,7 @@ /turf/unsimulated/floor/techfloor_grid, /area/tdome/tdome1) "lK" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/orange/border, /turf/simulated/floor/tiled/dark, @@ -3397,7 +3397,7 @@ pixel_y = 30 }, /obj/structure/table/reinforced, -/obj/item/weapon/gun/projectile/shotgun/pump/combat{ +/obj/item/gun/projectile/shotgun/pump/combat{ name = "Discipline" }, /obj/effect/floor_decal/borderfloorblack{ @@ -3471,8 +3471,8 @@ dir = 8 }, /obj/machinery/computer/transhuman/resleeving, -/obj/item/weapon/book/manual/resleeving, -/obj/item/weapon/storage/box/backup_kit, +/obj/item/book/manual/resleeving, +/obj/item/storage/box/backup_kit, /turf/simulated/floor/tiled, /area/centcom/control) "mi" = ( @@ -3483,26 +3483,26 @@ dir = 10 }, /obj/structure/table/reinforced, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/gun/energy/taser, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, +/obj/item/gun/energy/taser, /turf/simulated/floor/tiled/dark, /area/centcom/security{ name = "\improper CentCom Security Arrivals" }) "mj" = ( /obj/structure/table/rack, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/melee/energy/sword/blue, -/obj/item/weapon/melee/energy/sword/blue, -/obj/item/weapon/melee/energy/sword/blue, -/obj/item/weapon/melee/energy/sword/blue, -/obj/item/weapon/melee/energy/sword/blue, +/obj/item/melee/energy/sword/blue, +/obj/item/melee/energy/sword/blue, +/obj/item/melee/energy/sword/blue, +/obj/item/melee/energy/sword/blue, +/obj/item/melee/energy/sword/blue, /turf/simulated/floor/tiled/dark, /area/centcom/security) "ml" = ( @@ -3547,8 +3547,8 @@ /area/centcom/control) "mv" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/bonesetter, -/obj/item/weapon/surgical/bonegel, +/obj/item/surgical/bonesetter, +/obj/item/surgical/bonegel, /obj/effect/floor_decal/borderfloorwhite{ dir = 8 }, @@ -3627,7 +3627,7 @@ /area/centcom/specops) "mJ" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/meatballspagetti, +/obj/item/reagent_containers/food/snacks/meatballspagetti, /turf/simulated/floor/wood, /area/centcom/restaurant) "mL" = ( @@ -3757,12 +3757,12 @@ /area/centcom/terminal) "na" = ( /obj/structure/closet/crate/medical, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "nd" = ( @@ -3809,7 +3809,7 @@ /obj/effect/floor_decal/industrial/warning{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 27 @@ -3850,7 +3850,7 @@ /area/centcom/bar) "nr" = ( /obj/structure/table/reinforced, -/obj/item/weapon/folder/red, +/obj/item/folder/red, /turf/simulated/floor/tiled, /area/centcom/security) "nv" = ( @@ -3860,7 +3860,7 @@ /area/centcom/control) "nw" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /obj/effect/floor_decal/borderfloorblack{ dir = 9 }, @@ -3937,15 +3937,15 @@ }) "nJ" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/glass/bottle/biomass{ +/obj/item/reagent_containers/glass/bottle/biomass{ pixel_x = -4; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/glass/bottle/biomass{ +/obj/item/reagent_containers/glass/bottle/biomass{ pixel_x = -3; pixel_y = -2 }, -/obj/item/weapon/reagent_containers/glass/bottle/biomass{ +/obj/item/reagent_containers/glass/bottle/biomass{ pixel_x = 3; pixel_y = 5 }, @@ -3979,21 +3979,21 @@ /area/centcom) "nO" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/pulse_rifle, -/obj/item/weapon/gun/energy/pulse_rifle, -/obj/item/weapon/gun/energy/pulse_rifle, -/obj/item/weapon/gun/energy/pulse_rifle, -/obj/item/weapon/gun/energy/pulse_rifle, +/obj/item/gun/energy/pulse_rifle, +/obj/item/gun/energy/pulse_rifle, +/obj/item/gun/energy/pulse_rifle, +/obj/item/gun/energy/pulse_rifle, +/obj/item/gun/energy/pulse_rifle, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "nP" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "nQ" = ( @@ -4015,7 +4015,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/device/megaphone, +/obj/item/megaphone, /turf/simulated/floor/carpet, /area/centcom/command) "nV" = ( @@ -4047,12 +4047,12 @@ }, /area/centcom/terminal) "nZ" = ( -/obj/item/weapon/stock_parts/console_screen, +/obj/item/stock_parts/console_screen, /obj/structure/table/standard, -/obj/item/weapon/stock_parts/console_screen, -/obj/item/weapon/stock_parts/console_screen, -/obj/item/weapon/stock_parts/matter_bin, -/obj/item/weapon/stock_parts/matter_bin, +/obj/item/stock_parts/console_screen, +/obj/item/stock_parts/console_screen, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/matter_bin, /obj/machinery/recharger, /obj/effect/floor_decal/borderfloorwhite{ dir = 5 @@ -4201,9 +4201,9 @@ /turf/simulated/floor/tiled/dark, /area/centcom/security) "ow" = ( -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, /obj/structure/table/standard, /turf/unsimulated/floor/steel, /area/tdome/tdomeobserve) @@ -4402,7 +4402,7 @@ /area/centcom/security) "pe" = ( /obj/structure/table/reinforced, -/obj/item/weapon/book/manual/security_space_law, +/obj/item/book/manual/wiki/security_space_law, /turf/simulated/floor/tiled, /area/centcom/security) "pg" = ( @@ -4454,11 +4454,11 @@ req_access = list(63); req_one_access = list(1) }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/effect/floor_decal/borderfloor{ dir = 8 }, @@ -4523,7 +4523,7 @@ "px" = ( /obj/structure/table/standard, /obj/machinery/recharger, -/obj/item/weapon/book/codex, +/obj/item/book/codex, /obj/machinery/recharger/wallcharger{ pixel_x = 4; pixel_y = 26 @@ -4544,7 +4544,7 @@ /area/centcom/control) "pB" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/green, +/obj/item/bedsheet/green, /obj/effect/floor_decal/borderfloorwhite{ dir = 6 }, @@ -4603,12 +4603,12 @@ /turf/simulated/floor/tiled, /area/centcom/terminal/tramfluff) "pJ" = ( -/obj/item/weapon/storage/box/syringes{ +/obj/item/storage/box/syringes{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/box/beakers, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/storage/box/beakers, +/obj/item/reagent_containers/dropper, /obj/structure/table/glass, /obj/structure/reagent_dispensers/virusfood{ pixel_y = 28 @@ -4645,12 +4645,12 @@ /area/centcom/terminal/tramfluff) "pQ" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/frags, -/obj/item/weapon/storage/box/frags, -/obj/item/weapon/storage/box/teargas, -/obj/item/weapon/storage/box/teargas, -/obj/item/weapon/storage/box/empslite, -/obj/item/weapon/storage/box/empslite, +/obj/item/storage/box/frags, +/obj/item/storage/box/frags, +/obj/item/storage/box/teargas, +/obj/item/storage/box/teargas, +/obj/item/storage/box/empslite, +/obj/item/storage/box/empslite, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "pR" = ( @@ -4751,9 +4751,9 @@ /area/centcom/control) "qd" = ( /obj/structure/table/steel, -/obj/item/weapon/autopsy_scanner, -/obj/item/weapon/surgical/scalpel, -/obj/item/weapon/surgical/cautery, +/obj/item/autopsy_scanner, +/obj/item/surgical/scalpel, +/obj/item/surgical/cautery, /obj/effect/floor_decal/steeldecal/steel_decals9, /obj/effect/floor_decal/steeldecal/steel_decals9{ dir = 8 @@ -4783,7 +4783,7 @@ /area/centcom/security) "qg" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/bottle/space_mountain_wind, +/obj/item/reagent_containers/food/drinks/bottle/space_mountain_wind, /turf/simulated/floor/lino, /area/centcom/restaurant) "qi" = ( @@ -4865,17 +4865,17 @@ /turf/simulated/floor/tiled/white, /area/centcom/control) "qz" = ( -/obj/item/weapon/circuitboard/aiupload, -/obj/item/weapon/circuitboard/borgupload, -/obj/item/weapon/circuitboard/smes, -/obj/item/weapon/aiModule/nanotrasen, -/obj/item/weapon/aiModule/reset, -/obj/item/weapon/aiModule/freeformcore, -/obj/item/weapon/aiModule/protectStation, -/obj/item/weapon/aiModule/quarantine, -/obj/item/weapon/aiModule/paladin, -/obj/item/weapon/aiModule/robocop, -/obj/item/weapon/aiModule/safeguard, +/obj/item/circuitboard/aiupload, +/obj/item/circuitboard/borgupload, +/obj/item/circuitboard/smes, +/obj/item/aiModule/nanotrasen, +/obj/item/aiModule/reset, +/obj/item/aiModule/freeformcore, +/obj/item/aiModule/protectStation, +/obj/item/aiModule/quarantine, +/obj/item/aiModule/paladin, +/obj/item/aiModule/robocop, +/obj/item/aiModule/safeguard, /obj/structure/table/steel_reinforced, /turf/simulated/floor/tiled{ icon_state = "dark" @@ -4888,7 +4888,7 @@ "qB" = ( /obj/structure/table/rack, /obj/structure/window/reinforced, -/obj/item/weapon/gun/projectile/automatic/advanced_smg, +/obj/item/gun/projectile/automatic/advanced_smg, /obj/item/ammo_magazine/m9mmAdvanced, /obj/item/ammo_magazine/m9mmAdvanced, /obj/item/ammo_magazine/m9mmAdvanced, @@ -4923,7 +4923,7 @@ /area/centcom/security) "qG" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /obj/effect/floor_decal/borderfloorblack{ dir = 6 }, @@ -4946,12 +4946,12 @@ /area/centcom/bathroom) "qK" = ( /obj/structure/table/reinforced, -/obj/item/device/megaphone, -/obj/item/device/megaphone, -/obj/item/device/megaphone, -/obj/item/device/megaphone, -/obj/item/device/megaphone, -/obj/item/device/megaphone, +/obj/item/megaphone, +/obj/item/megaphone, +/obj/item/megaphone, +/obj/item/megaphone, +/obj/item/megaphone, +/obj/item/megaphone, /obj/effect/floor_decal/corner/blue{ dir = 5 }, @@ -4980,7 +4980,7 @@ /obj/structure/bed/chair/office/dark{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; frequency = 1475; name = "Station Intercom (Security)"; @@ -5080,25 +5080,25 @@ /area/centcom/command) "rg" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = 8; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = -8; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = 8; pixel_y = 4 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_y = 4 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = -8; pixel_y = 4 }, @@ -5176,7 +5176,7 @@ /area/centcom/terminal/tramfluff) "ru" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/bodybags{ +/obj/item/storage/box/bodybags{ pixel_x = -1; pixel_y = -2 }, @@ -5200,9 +5200,9 @@ /area/centcom/terminal) "rz" = ( /obj/structure/table/reinforced, -/obj/item/weapon/stamp/centcomm, -/obj/item/weapon/pen, -/obj/item/weapon/paper_bin{ +/obj/item/stamp/centcomm, +/obj/item/pen, +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, @@ -5366,11 +5366,11 @@ req_access = list(63); req_one_access = list(1) }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/effect/floor_decal/borderfloorblack{ dir = 9 }, @@ -5389,7 +5389,7 @@ /area/centcom/security) "sa" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/ids, +/obj/item/storage/box/ids, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/blue/border, /turf/simulated/floor/tiled, @@ -5397,26 +5397,26 @@ "sd" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/energy/gun/burst, -/obj/item/weapon/gun/energy/gun/burst, +/obj/item/gun/energy/gun/burst, +/obj/item/gun/energy/gun/burst, /turf/simulated/floor/tiled/dark, /area/centcom/security) "sf" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/adv, -/obj/item/weapon/storage/firstaid/fire, -/obj/item/weapon/storage/firstaid/o2, -/obj/item/weapon/storage/firstaid/toxin, +/obj/item/storage/firstaid/adv, +/obj/item/storage/firstaid/fire, +/obj/item/storage/firstaid/o2, +/obj/item/storage/firstaid/toxin, /turf/simulated/shuttle/floor/white, /area/centcom/terminal) "sg" = ( /obj/structure/table/standard, -/obj/item/device/taperecorder, -/obj/item/device/megaphone, -/obj/item/weapon/packageWrap, -/obj/item/weapon/storage/box, -/obj/item/weapon/hand_labeler, -/obj/item/device/universal_translator, +/obj/item/taperecorder, +/obj/item/megaphone, +/obj/item/packageWrap, +/obj/item/storage/box, +/obj/item/hand_labeler, +/obj/item/universal_translator, /obj/effect/floor_decal/borderfloor{ dir = 1 }, @@ -5474,7 +5474,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/folder/blue_captain, +/obj/item/folder/blue_captain, /turf/simulated/floor/carpet, /area/centcom/command) "sq" = ( @@ -5523,7 +5523,7 @@ /area/centcom/control) "sz" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/captain, +/obj/item/bedsheet/captain, /turf/simulated/floor/carpet, /area/centcom/control) "sB" = ( @@ -5559,8 +5559,8 @@ /area/centcom/terminal) "sK" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /obj/effect/floor_decal/borderfloorwhite{ dir = 10 }, @@ -5639,12 +5639,12 @@ dir = 4 }, /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/folder/red_hos, -/obj/item/weapon/pen/multi, +/obj/item/folder/red_hos, +/obj/item/pen/multi, /turf/simulated/floor/tiled/dark, /area/centcom/command) "ta" = ( @@ -5712,7 +5712,7 @@ "tl" = ( /obj/structure/table/standard, /obj/machinery/chemical_dispenser/bar_soft/full, -/obj/item/weapon/storage/box/glasses/square, +/obj/item/storage/box/glasses/square, /obj/effect/floor_decal/borderfloor{ dir = 9 }, @@ -5773,9 +5773,9 @@ /area/centcom/bathroom) "ty" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/donkpockets, -/obj/item/weapon/storage/box/donkpockets, -/obj/item/weapon/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/blue/border, /turf/simulated/floor/tiled/dark, @@ -5819,15 +5819,15 @@ dir = 4 }, /obj/structure/table/marble, -/obj/item/weapon/book/manual/chef_recipes, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/book/manual/chef_recipes, +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -3 }, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 3 }, -/obj/item/weapon/material/kitchen/rollingpin, -/obj/item/weapon/material/knife/butch, +/obj/item/material/kitchen/rollingpin, +/obj/item/material/knife/butch, /turf/simulated/floor/tiled/white, /area/centcom/bar) "tI" = ( @@ -5856,7 +5856,7 @@ /turf/simulated/floor/tiled, /area/centcom) "tM" = ( -/obj/item/device/camera, +/obj/item/camera, /turf/unsimulated/floor/steel, /area/tdome/tdomeobserve) "tN" = ( @@ -5874,8 +5874,8 @@ /area/centcom/security) "tP" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/automatic/z8, -/obj/item/weapon/gun/projectile/automatic/z8, +/obj/item/gun/projectile/automatic/z8, +/obj/item/gun/projectile/automatic/z8, /obj/item/ammo_magazine/m762, /obj/item/ammo_magazine/m762, /obj/item/ammo_magazine/m762, @@ -5902,7 +5902,7 @@ "tU" = ( /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/green/border, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /turf/simulated/floor/tiled/white, @@ -6003,11 +6003,11 @@ /area/centcom/main_hall) "uq" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, -/obj/item/weapon/flame/lighter/zippo, -/obj/item/weapon/storage/fancy/cigarettes, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/flame/lighter/zippo, +/obj/item/storage/fancy/cigarettes, /turf/unsimulated/floor/steel, /area/tdome/tdomeobserve) "ur" = ( @@ -6019,7 +6019,7 @@ /area/tdome/tdomeadmin) "ut" = ( /obj/structure/closet/wardrobe/robotics_black, -/obj/item/device/radio/headset/headset_sci{ +/obj/item/radio/headset/headset_sci{ pixel_x = -3 }, /turf/simulated/floor/tiled, @@ -6032,12 +6032,12 @@ /obj/item/taperoll/police, /obj/item/taperoll/police, /obj/item/taperoll/police, -/obj/item/device/flash, -/obj/item/device/flash, -/obj/item/device/flash, -/obj/item/device/flash, -/obj/item/device/flash, -/obj/item/device/flash, +/obj/item/flash, +/obj/item/flash, +/obj/item/flash, +/obj/item/flash, +/obj/item/flash, +/obj/item/flash, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -6063,7 +6063,7 @@ /area/centcom/security) "uz" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/green, +/obj/item/bedsheet/green, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/green/border, /turf/simulated/floor/tiled/white, @@ -6090,7 +6090,7 @@ /turf/simulated/floor/tiled/dark, /area/centcom/security) "uD" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/structure/reagent_dispensers/peppertank{ pixel_x = 30 }, @@ -6156,11 +6156,11 @@ /area/centcom/evac) "uO" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/automatic/battlerifle, -/obj/item/weapon/gun/projectile/automatic/battlerifle, -/obj/item/weapon/gun/projectile/automatic/battlerifle, -/obj/item/weapon/gun/projectile/automatic/battlerifle, -/obj/item/weapon/gun/projectile/automatic/battlerifle, +/obj/item/gun/projectile/automatic/battlerifle, +/obj/item/gun/projectile/automatic/battlerifle, +/obj/item/gun/projectile/automatic/battlerifle, +/obj/item/gun/projectile/automatic/battlerifle, +/obj/item/gun/projectile/automatic/battlerifle, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/dark, /area/centcom/security) @@ -6187,14 +6187,14 @@ /obj/item/clothing/shoes/boots/tactical, /obj/item/clothing/suit/armor/tactical, /obj/item/clothing/under/tactical, -/obj/item/weapon/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, /obj/structure/closet{ desc = "It's a storage unit for standard-issue attire."; name = "tactical equipment" }, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, -/obj/item/weapon/storage/backpack/satchel/sec, +/obj/item/storage/backpack/dufflebag/syndie/ammo, +/obj/item/storage/backpack/satchel/sec, /turf/simulated/floor/tiled/dark, /area/centcom/security) "uV" = ( @@ -6243,13 +6243,13 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_x = -2; pixel_y = -1 }, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/storage/belt/utility, -/obj/item/weapon/storage/toolbox/electrical{ +/obj/item/tool/crowbar, +/obj/item/storage/belt/utility, +/obj/item/storage/toolbox/electrical{ pixel_x = 1; pixel_y = 6 }, @@ -6257,10 +6257,10 @@ /area/centcom/control) "vh" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/circular_saw{ +/obj/item/surgical/circular_saw{ pixel_y = 8 }, -/obj/item/weapon/surgical/scalpel, +/obj/item/surgical/scalpel, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 }, @@ -6301,24 +6301,24 @@ /area/centcom/security) "vo" = ( /obj/structure/table/reinforced, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -6343,8 +6343,8 @@ /obj/item/clothing/shoes/leg_guard/riot, /obj/item/clothing/suit/armor/riot/alt, /obj/item/clothing/head/helmet/riot, -/obj/item/weapon/shield/riot, -/obj/item/weapon/melee/baton/loaded, +/obj/item/shield/riot, +/obj/item/melee/baton/loaded, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/dark, /area/centcom/security) @@ -6477,7 +6477,7 @@ /area/centcom/security) "vT" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/ashtray/glass, +/obj/item/material/ashtray/glass, /turf/simulated/floor/carpet, /area/centcom/restaurant) "vU" = ( @@ -6511,9 +6511,9 @@ /area/centcom/command) "vY" = ( /obj/structure/table/reinforced, -/obj/item/device/pda/ert, -/obj/item/device/perfect_tele, -/obj/item/weapon/hand_tele, +/obj/item/pda/ert, +/obj/item/perfect_tele, +/obj/item/hand_tele, /turf/simulated/floor/wood, /area/centcom/specops) "vZ" = ( @@ -6528,11 +6528,11 @@ req_access = list(63); req_one_access = list(1) }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/machinery/button/remote/blast_door{ id = "FrontlockC"; name = "Colony Entrance Lockdown"; @@ -6594,38 +6594,38 @@ "wg" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, -/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, -/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, -/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, +/obj/item/storage/backpack/dufflebag/syndie/ammo, +/obj/item/storage/backpack/dufflebag/syndie/ammo, +/obj/item/storage/backpack/dufflebag/syndie/ammo, +/obj/item/storage/backpack/dufflebag/syndie/ammo, /turf/simulated/floor/tiled/dark, /area/centcom/security) "wk" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) +/obj/item/storage/box/survival/comp{ + starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) +/obj/item/storage/box/survival/comp{ + starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) +/obj/item/storage/box/survival/comp{ + starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) +/obj/item/storage/box/survival/comp{ + starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) +/obj/item/storage/box/survival/comp{ + starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) +/obj/item/storage/box/survival/comp{ + starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, /turf/simulated/floor/tiled{ icon_state = "dark" }, /area/centcom/specops) "wl" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled/dark, /area/centcom/medical) "wm" = ( @@ -6638,10 +6638,10 @@ /obj/item/clothing/head/helmet/ert/medical, /obj/item/clothing/head/helmet/ert/medical, /obj/item/clothing/head/helmet/ert/medical, -/obj/item/weapon/storage/backpack/ert/medical, -/obj/item/weapon/storage/backpack/ert/medical, -/obj/item/weapon/storage/backpack/ert/medical, -/obj/item/weapon/storage/backpack/ert/medical, +/obj/item/storage/backpack/ert/medical, +/obj/item/storage/backpack/ert/medical, +/obj/item/storage/backpack/ert/medical, +/obj/item/storage/backpack/ert/medical, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "wo" = ( @@ -6677,14 +6677,14 @@ "wu" = ( /obj/effect/floor_decal/industrial/outline, /obj/structure/closet/secure_closet/nanotrasen_security, -/obj/item/weapon/storage/box/handcuffs, +/obj/item/storage/box/handcuffs, /turf/simulated/floor/tiled/dark, /area/centcom/security) "wy" = ( /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /obj/structure/table/glass, -/obj/item/weapon/storage/firstaid/fire, +/obj/item/storage/firstaid/fire, /turf/simulated/floor/tiled/white, /area/centcom/medical) "wB" = ( @@ -6737,13 +6737,13 @@ /obj/effect/floor_decal/corner/paleblue/border{ dir = 8 }, -/obj/item/weapon/backup_implanter{ +/obj/item/backup_implanter{ pixel_y = -8 }, -/obj/item/weapon/backup_implanter{ +/obj/item/backup_implanter{ pixel_y = 8 }, -/obj/item/weapon/backup_implanter, +/obj/item/backup_implanter, /turf/simulated/floor/tiled/white, /area/centcom/medical) "wO" = ( @@ -6786,12 +6786,12 @@ /area/centcom/control) "wR" = ( /obj/structure/table/standard, -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/capacitor, -/obj/item/weapon/stock_parts/capacitor, -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/micro_laser, -/obj/item/weapon/stock_parts/micro_laser, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/capacitor, +/obj/item/stock_parts/capacitor, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/micro_laser, +/obj/item/stock_parts/micro_laser, /obj/effect/floor_decal/borderfloorwhite{ dir = 4 }, @@ -6805,13 +6805,13 @@ /turf/simulated/floor/tiled, /area/centcom/security) "wU" = ( -/obj/item/weapon/gun/energy/sizegun, +/obj/item/gun/energy/sizegun, /turf/simulated/floor/tiled{ icon_state = "dark" }, /area/centcom/control) "wV" = ( -/obj/item/device/perfect_tele_beacon/stationary{ +/obj/item/perfect_tele_beacon/stationary{ tele_name = "CentCom"; tele_network = "centcom" }, @@ -6873,11 +6873,11 @@ /area/centcom/command) "xh" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/bodybags{ +/obj/item/storage/box/bodybags{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/box/bodybags, +/obj/item/storage/box/bodybags, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "xj" = ( @@ -6906,9 +6906,9 @@ /area/centcom/medical) "xo" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/flashbangs, -/obj/item/weapon/storage/box/flashbangs, -/obj/item/weapon/storage/box/emps{ +/obj/item/storage/box/flashbangs, +/obj/item/storage/box/flashbangs, +/obj/item/storage/box/emps{ pixel_x = 4; pixel_y = 4 }, @@ -6918,8 +6918,8 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/storage/box/smokes, -/obj/item/weapon/storage/box/smokes, +/obj/item/storage/box/smokes, +/obj/item/storage/box/smokes, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled{ icon_state = "dark" @@ -6929,7 +6929,7 @@ /obj/item/modular_computer/console/preset/command{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ broadcasting = 1; dir = 4; frequency = 1443; @@ -6943,30 +6943,30 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/folder/white_cmo, +/obj/item/folder/white_cmo, /turf/simulated/floor/carpet, /area/centcom/command) "xs" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = 8; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = -8; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = 8; pixel_y = 4 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_y = 4 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = -8; pixel_y = 4 }, @@ -6997,16 +6997,16 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/folder/red_hos, +/obj/item/folder/red_hos, /turf/simulated/floor/carpet, /area/centcom/command) "xy" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/cheeseburger{ +/obj/item/reagent_containers/food/snacks/cheeseburger{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/reagent_containers/food/snacks/cheeseburger, +/obj/item/reagent_containers/food/snacks/cheeseburger, /turf/simulated/floor/wood, /area/centcom/restaurant) "xz" = ( @@ -7056,11 +7056,11 @@ }) "xH" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/shotgun/pump/USDF, -/obj/item/weapon/gun/projectile/shotgun/pump/USDF, -/obj/item/weapon/gun/projectile/shotgun/pump/USDF, -/obj/item/weapon/gun/projectile/shotgun/pump/USDF, -/obj/item/weapon/gun/projectile/shotgun/pump/USDF, +/obj/item/gun/projectile/shotgun/pump/USDF, +/obj/item/gun/projectile/shotgun/pump/USDF, +/obj/item/gun/projectile/shotgun/pump/USDF, +/obj/item/gun/projectile/shotgun/pump/USDF, +/obj/item/gun/projectile/shotgun/pump/USDF, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/dark, /area/centcom/security) @@ -7089,11 +7089,11 @@ /area/centcom/terminal) "xO" = ( /obj/structure/table/rack, -/obj/item/weapon/rig/ert/assetprotection, -/obj/item/weapon/rig/ert/assetprotection, -/obj/item/weapon/rig/ert/assetprotection, -/obj/item/weapon/rig/ert/assetprotection, -/obj/item/weapon/rig/ert/assetprotection, +/obj/item/rig/ert/assetprotection, +/obj/item/rig/ert/assetprotection, +/obj/item/rig/ert/assetprotection, +/obj/item/rig/ert/assetprotection, +/obj/item/rig/ert/assetprotection, /obj/item/clothing/glasses/thermal, /obj/item/clothing/glasses/thermal, /obj/item/clothing/glasses/thermal, @@ -7166,13 +7166,13 @@ /turf/simulated/floor/tiled/white, /area/centcom/control) "yc" = ( -/obj/item/weapon/folder/white, +/obj/item/folder/white, /obj/structure/table/standard, -/obj/item/weapon/disk/tech_disk, -/obj/item/weapon/disk/tech_disk, -/obj/item/weapon/disk/design_disk, -/obj/item/weapon/disk/design_disk, -/obj/item/weapon/reagent_containers/dropper{ +/obj/item/disk/tech_disk, +/obj/item/disk/tech_disk, +/obj/item/disk/design_disk, +/obj/item/disk/design_disk, +/obj/item/reagent_containers/dropper{ pixel_y = -4 }, /obj/effect/floor_decal/borderfloorwhite{ @@ -7219,7 +7219,7 @@ /area/centcom/security) "yh" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/ashtray/glass, +/obj/item/material/ashtray/glass, /obj/machinery/camera/network/crescent{ dir = 4 }, @@ -7293,7 +7293,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/storage/briefcase{ +/obj/item/storage/briefcase{ pixel_x = 3; pixel_y = 5 }, @@ -7332,11 +7332,11 @@ dir = 8 }, /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/blood/OPlus{ +/obj/item/reagent_containers/blood/OPlus{ pixel_x = 4; pixel_y = 2 }, -/obj/item/weapon/reagent_containers/blood/OMinus{ +/obj/item/reagent_containers/blood/OMinus{ pixel_x = -5; pixel_y = -1 }, @@ -7366,7 +7366,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 3 }, /turf/simulated/floor/carpet, @@ -7384,14 +7384,14 @@ /area/centcom/specops) "yG" = ( /obj/structure/table/rack, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, /obj/effect/floor_decal/industrial/outline/blue, /turf/simulated/floor/tiled{ icon_state = "dark" @@ -7526,7 +7526,7 @@ /area/shuttle/ccboat) "zj" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/kitsuneudon, +/obj/item/reagent_containers/food/snacks/kitsuneudon, /turf/simulated/floor/wood, /area/centcom/restaurant) "zl" = ( @@ -7627,19 +7627,19 @@ /obj/item/stack/material/glass/reinforced{ amount = 50 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 3 }, @@ -7657,7 +7657,7 @@ "zt" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/projectile/automatic/l6_saw, +/obj/item/gun/projectile/automatic/l6_saw, /turf/simulated/floor/tiled/dark, /area/centcom/security) "zu" = ( @@ -7668,7 +7668,7 @@ /obj/effect/floor_decal/corner/paleblue/border{ dir = 4 }, -/obj/item/device/healthanalyzer/phasic, +/obj/item/healthanalyzer/phasic, /turf/simulated/floor/tiled/white, /area/centcom/medical) "zv" = ( @@ -7698,7 +7698,7 @@ /obj/item/clothing/mask/gas, /obj/item/clothing/mask/gas, /obj/effect/floor_decal/industrial/outline/blue, -/obj/item/weapon/storage/box/traumainjectors, +/obj/item/storage/box/traumainjectors, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -7717,8 +7717,8 @@ /area/centcom/main_hall) "zD" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/secure/briefcase/nsfw_pack_hybrid_combat, -/obj/item/weapon/storage/secure/briefcase/nsfw_pack_hybrid_combat, +/obj/item/storage/secure/briefcase/nsfw_pack_hybrid_combat, +/obj/item/storage/secure/briefcase/nsfw_pack_hybrid_combat, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "zF" = ( @@ -7772,7 +7772,7 @@ "zR" = ( /obj/structure/table/standard, /obj/machinery/recharger, -/obj/item/device/flash, +/obj/item/flash, /turf/simulated/floor/tiled, /area/centcom/control) "zS" = ( @@ -7798,8 +7798,8 @@ "zV" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/energy/sniperrifle, -/obj/item/weapon/gun/energy/sniperrifle, +/obj/item/gun/energy/sniperrifle, +/obj/item/gun/energy/sniperrifle, /turf/simulated/floor/tiled/dark, /area/centcom/security) "zW" = ( @@ -7817,13 +7817,13 @@ "Aa" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/shield/riot, -/obj/item/weapon/shield/riot, -/obj/item/weapon/shield/riot, -/obj/item/weapon/shield/riot, -/obj/item/weapon/shield/riot, -/obj/item/weapon/shield/riot, -/obj/item/weapon/shield/riot, +/obj/item/shield/riot, +/obj/item/shield/riot, +/obj/item/shield/riot, +/obj/item/shield/riot, +/obj/item/shield/riot, +/obj/item/shield/riot, +/obj/item/shield/riot, /turf/simulated/floor/tiled/dark, /area/centcom/security) "Ac" = ( @@ -7835,11 +7835,11 @@ /area/centcom/evac) "Ad" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/automatic/wt550/lethal, -/obj/item/weapon/gun/projectile/automatic/wt550/lethal, -/obj/item/weapon/gun/projectile/automatic/wt550/lethal, -/obj/item/weapon/gun/projectile/automatic/wt550/lethal, -/obj/item/weapon/gun/projectile/automatic/wt550/lethal, +/obj/item/gun/projectile/automatic/wt550/lethal, +/obj/item/gun/projectile/automatic/wt550/lethal, +/obj/item/gun/projectile/automatic/wt550/lethal, +/obj/item/gun/projectile/automatic/wt550/lethal, +/obj/item/gun/projectile/automatic/wt550/lethal, /obj/effect/floor_decal/industrial/outline/yellow, /obj/machinery/camera/network/crescent, /turf/simulated/floor/tiled/dark, @@ -7883,11 +7883,11 @@ dir = 6 }, /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/flask/barflask{ +/obj/item/reagent_containers/food/drinks/flask/barflask{ pixel_x = -4; pixel_y = 8 }, -/obj/item/device/taperecorder, +/obj/item/taperecorder, /turf/simulated/floor/tiled/dark, /area/centcom/command) "An" = ( @@ -7959,7 +7959,7 @@ /area/centcom) "AA" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/bottle/grenadine, +/obj/item/reagent_containers/food/drinks/bottle/grenadine, /turf/simulated/floor/lino, /area/centcom/restaurant) "AB" = ( @@ -8071,7 +8071,7 @@ /area/centcom/terminal) "AX" = ( /obj/structure/table/rack, -/obj/item/weapon/rig/ert, +/obj/item/rig/ert, /obj/item/clothing/accessory/storage/black_vest, /turf/simulated/floor/wood, /area/centcom/specops) @@ -8143,20 +8143,20 @@ /area/centcom/terminal) "Bs" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/frags, +/obj/item/storage/box/frags, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/dark, /area/centcom/security) "Bu" = ( /obj/structure/table/standard, /obj/machinery/recharger, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/device/radio/intercom{ +/obj/item/reagent_containers/spray/cleaner, +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 27 }, -/obj/item/weapon/storage/box/donut, +/obj/item/storage/box/donut, /obj/effect/floor_decal/borderfloor{ dir = 1 }, @@ -8294,9 +8294,9 @@ /area/centcom/medical) "BR" = ( /obj/structure/table/reinforced, -/obj/item/device/binoculars, -/obj/item/device/survivalcapsule, -/obj/item/device/survivalcapsule, +/obj/item/binoculars, +/obj/item/survivalcapsule, +/obj/item/survivalcapsule, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -8354,7 +8354,7 @@ /area/centcom/control) "Cc" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/toastedsandwich{ +/obj/item/reagent_containers/food/snacks/toastedsandwich{ pixel_y = 10 }, /turf/simulated/floor/lino, @@ -8377,8 +8377,8 @@ /area/centcom/security) "Cr" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/gun/burst, -/obj/item/weapon/gun/energy/gun/burst, +/obj/item/gun/energy/gun/burst, +/obj/item/gun/energy/gun/burst, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "Ct" = ( @@ -8433,7 +8433,7 @@ /area/shuttle/centcom/ccbay) "Cz" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/lasagna, +/obj/item/reagent_containers/food/snacks/lasagna, /turf/simulated/floor/wood, /area/centcom/restaurant) "CA" = ( @@ -8478,59 +8478,59 @@ /obj/structure/closet{ name = "robotics parts" }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, -/obj/item/device/assembly/prox_sensor{ +/obj/item/assembly/prox_sensor{ pixel_x = -8; pixel_y = 4 }, -/obj/item/device/assembly/prox_sensor{ +/obj/item/assembly/prox_sensor{ pixel_x = -8; pixel_y = 4 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ empty = 1; name = "First-Aid (empty)" }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ empty = 1; name = "First-Aid (empty)" }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ empty = 1; name = "First-Aid (empty)" }, -/obj/item/device/healthanalyzer, -/obj/item/device/healthanalyzer, -/obj/item/device/healthanalyzer, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, +/obj/item/healthanalyzer, +/obj/item/healthanalyzer, +/obj/item/healthanalyzer, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, /obj/item/stack/cable_coil, /obj/item/stack/cable_coil, /turf/simulated/floor/tiled, @@ -8572,7 +8572,7 @@ /area/centcom/main_hall) "CT" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /obj/effect/floor_decal/borderfloorblack{ dir = 10 }, @@ -8657,7 +8657,7 @@ /area/centcom/specops) "Dh" = ( /obj/structure/table/standard, -/obj/item/weapon/soap, +/obj/item/soap, /obj/effect/floor_decal/borderfloorwhite{ dir = 10 }, @@ -8699,7 +8699,7 @@ /area/centcom/medical) "Dp" = ( /obj/structure/table/reinforced, -/obj/item/weapon/folder/red_hos, +/obj/item/folder/red_hos, /turf/simulated/floor/tiled, /area/centcom/security) "Ds" = ( @@ -8731,11 +8731,11 @@ /area/centcom/terminal/tramfluff) "Dy" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/ionrifle, -/obj/item/weapon/gun/energy/ionrifle, -/obj/item/weapon/gun/energy/ionrifle, -/obj/item/weapon/gun/energy/ionrifle, -/obj/item/weapon/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle, /obj/effect/floor_decal/industrial/outline/yellow, /obj/machinery/camera/network/crescent, /turf/simulated/floor/tiled/dark, @@ -8749,11 +8749,11 @@ /area/centcom/specops) "DA" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/combat{ +/obj/item/storage/firstaid/combat{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/firstaid/combat, +/obj/item/storage/firstaid/combat, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "DB" = ( @@ -8788,12 +8788,12 @@ /obj/item/clothing/gloves/yellow, /obj/item/clothing/gloves/yellow, /obj/item/clothing/gloves/yellow, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/weapon/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -8839,13 +8839,13 @@ "DP" = ( /obj/structure/closet/crate/medical, /obj/item/stack/nanopaste/advanced, -/obj/item/weapon/tank/anesthetic, +/obj/item/tank/anesthetic, /obj/item/clothing/mask/breath/medical, /obj/item/clothing/mask/surgical, /obj/item/clothing/mask/surgical, /obj/item/stack/nanopaste/advanced, /obj/item/stack/nanopaste/advanced, -/obj/item/weapon/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "DQ" = ( @@ -8904,16 +8904,16 @@ /area/centcom/bathroom) "Ec" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{ +/obj/item/reagent_containers/glass/beaker/cryoxadone{ pixel_x = 5; pixel_y = 5 }, -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone, -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{ +/obj/item/reagent_containers/glass/beaker/cryoxadone, +/obj/item/reagent_containers/glass/beaker/cryoxadone{ pixel_x = 7; pixel_y = 1 }, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /obj/effect/floor_decal/borderfloorwhite{ dir = 9 }, @@ -8947,22 +8947,22 @@ dir = 1 }, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/energy/stunrevolver, -/obj/item/weapon/gun/energy/stunrevolver, -/obj/item/weapon/gun/energy/stunrevolver, -/obj/item/weapon/gun/energy/stunrevolver, +/obj/item/gun/energy/stunrevolver, +/obj/item/gun/energy/stunrevolver, +/obj/item/gun/energy/stunrevolver, +/obj/item/gun/energy/stunrevolver, /turf/simulated/floor/tiled{ icon_state = "dark" }, /area/centcom/specops) "Ej" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "Em" = ( @@ -8975,9 +8975,9 @@ dir = 9 }, /obj/structure/closet/secure_closet/nanotrasen_security, -/obj/item/weapon/storage/box/handcuffs, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/shield/riot, +/obj/item/storage/box/handcuffs, +/obj/item/gun/energy/gun, +/obj/item/shield/riot, /turf/simulated/floor/tiled/dark, /area/centcom/security{ name = "\improper CentCom Security Arrivals" @@ -9001,7 +9001,7 @@ /area/centcom/security) "Eq" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/bigbiteburger, +/obj/item/reagent_containers/food/snacks/bigbiteburger, /turf/simulated/floor/wood, /area/centcom/restaurant) "Es" = ( @@ -9016,9 +9016,9 @@ /obj/structure/table/rack{ dir = 4 }, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, /obj/item/clothing/shoes/magboots, /obj/item/clothing/shoes/magboots, /obj/item/clothing/shoes/magboots, @@ -9087,11 +9087,11 @@ /area/centcom/security) "EI" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/handcuffs{ +/obj/item/storage/box/handcuffs{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/box/handcuffs, +/obj/item/storage/box/handcuffs, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -9138,8 +9138,8 @@ /turf/simulated/floor/tiled, /area/centcom/living) "EV" = ( -/obj/item/weapon/storage/box/evidence, -/obj/item/weapon/folder/red, +/obj/item/storage/box/evidence, +/obj/item/folder/red, /obj/structure/table/reinforced, /obj/effect/floor_decal/borderfloorblack{ dir = 8 @@ -9157,8 +9157,8 @@ /area/centcom/security) "EX" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/hotdog, -/obj/item/weapon/reagent_containers/food/snacks/hotdog{ +/obj/item/reagent_containers/food/snacks/hotdog, +/obj/item/reagent_containers/food/snacks/hotdog{ pixel_x = -5; pixel_y = -3 }, @@ -9166,32 +9166,32 @@ /area/centcom/restaurant) "EY" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 3 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = -4 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8; pixel_y = 12 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = 12 }, @@ -9246,8 +9246,8 @@ /area/centcom/specops) "Ff" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/hemostat, -/obj/item/weapon/surgical/cautery, +/obj/item/surgical/hemostat, +/obj/item/surgical/cautery, /obj/effect/floor_decal/borderfloorwhite{ dir = 9 }, @@ -9332,7 +9332,7 @@ /area/centcom/specops) "Fr" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/green, +/obj/item/bedsheet/green, /obj/effect/floor_decal/borderfloorwhite{ dir = 5 }, @@ -9347,7 +9347,7 @@ /area/shuttle/centcom/ccbay) "Fy" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cola, +/obj/item/reagent_containers/food/drinks/bottle/cola, /turf/simulated/floor/lino, /area/centcom/restaurant) "Fz" = ( @@ -9389,7 +9389,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -2; pixel_y = 2 }, @@ -9403,12 +9403,12 @@ }) "FK" = ( /obj/structure/table/rack, -/obj/item/weapon/rig/ert/security, -/obj/item/weapon/rig/ert/security, -/obj/item/weapon/rig/ert/security, -/obj/item/weapon/rig/ert/security, -/obj/item/weapon/rig/ert/security, -/obj/item/weapon/rig/ert/security, +/obj/item/rig/ert/security, +/obj/item/rig/ert/security, +/obj/item/rig/ert/security, +/obj/item/rig/ert/security, +/obj/item/rig/ert/security, +/obj/item/rig/ert/security, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -9447,7 +9447,7 @@ /turf/simulated/floor/tiled, /area/centcom/security) "FV" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; frequency = 1475; name = "Station Intercom (Security)"; @@ -9477,15 +9477,15 @@ /area/centcom/security) "FX" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/surgicaldrill, -/obj/item/weapon/autopsy_scanner, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/surgical/surgicaldrill, +/obj/item/autopsy_scanner, +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/surgical/FixOVein, +/obj/item/surgical/FixOVein, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 }, @@ -9565,13 +9565,13 @@ /area/tdome/tdomeadmin) "Gl" = ( /obj/structure/table/reinforced, -/obj/item/device/taperecorder, +/obj/item/taperecorder, /turf/simulated/floor/tiled/dark, /area/centcom/security) "Gr" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/automatic/l6_saw, -/obj/item/weapon/gun/projectile/automatic/l6_saw, +/obj/item/gun/projectile/automatic/l6_saw, +/obj/item/gun/projectile/automatic/l6_saw, /obj/item/ammo_magazine/m545saw, /obj/item/ammo_magazine/m545saw, /obj/item/ammo_magazine/m545saw, @@ -9585,8 +9585,8 @@ "Gs" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/energy/lasercannon, -/obj/item/weapon/gun/energy/lasercannon, +/obj/item/gun/energy/lasercannon, +/obj/item/gun/energy/lasercannon, /turf/simulated/floor/tiled/dark, /area/centcom/security) "Gu" = ( @@ -9605,7 +9605,7 @@ /obj/effect/floor_decal/corner/blue/border{ dir = 9 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; frequency = 1475; name = "Station Intercom (Security)"; @@ -9623,7 +9623,7 @@ dir = 1 }, /obj/structure/table/woodentable, -/obj/item/weapon/storage/box/handcuffs, +/obj/item/storage/box/handcuffs, /turf/simulated/floor/tiled/dark, /area/centcom/command) "GA" = ( @@ -9651,8 +9651,8 @@ "GD" = ( /obj/structure/table/rack, /obj/structure/window/reinforced, -/obj/item/weapon/gun/projectile/revolver/detective45, -/obj/item/weapon/gun/projectile/revolver/detective45, +/obj/item/gun/projectile/revolver/detective45, +/obj/item/gun/projectile/revolver/detective45, /obj/item/ammo_magazine/s45, /obj/item/ammo_magazine/s45, /obj/item/ammo_magazine/s45, @@ -9797,10 +9797,10 @@ /area/centcom/specops) "Hb" = ( /obj/structure/table/standard, -/obj/item/weapon/hand_labeler, -/obj/item/weapon/pen, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, +/obj/item/hand_labeler, +/obj/item/pen, +/obj/item/packageWrap, +/obj/item/packageWrap, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 }, @@ -9815,7 +9815,7 @@ /area/centcom/evac) "Hd" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/meatballsoup, +/obj/item/reagent_containers/food/snacks/meatballsoup, /turf/simulated/floor/wood, /area/centcom/restaurant) "Hf" = ( @@ -9884,7 +9884,7 @@ /area/centcom/security) "Hu" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = 10; pixel_y = 12 }, @@ -9912,7 +9912,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/carpet, /area/centcom/command) "Hz" = ( @@ -9943,7 +9943,7 @@ dir = 1 }, /obj/structure/table/glass, -/obj/item/weapon/storage/box/monkeycubes, +/obj/item/storage/box/monkeycubes, /obj/effect/floor_decal/borderfloorwhite{ dir = 5 }, @@ -9990,9 +9990,9 @@ dir = 1 }, /obj/structure/table/rack, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, +/obj/item/gun/energy/laser, +/obj/item/gun/energy/laser, +/obj/item/gun/energy/laser, /obj/effect/floor_decal/industrial/outline/yellow, /obj/structure/window/reinforced{ dir = 4 @@ -10005,9 +10005,9 @@ /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/blue/border, /obj/structure/closet/secure_closet/nanotrasen_security, -/obj/item/weapon/storage/box/handcuffs, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/shield/riot, +/obj/item/storage/box/handcuffs, +/obj/item/gun/energy/gun, +/obj/item/shield/riot, /turf/simulated/floor/tiled/dark, /area/centcom/security{ name = "\improper CentCom Security Arrivals" @@ -10062,7 +10062,7 @@ /turf/simulated/floor/tiled/freezer, /area/centcom/security) "HR" = ( -/obj/item/weapon/melee/baton/cattleprod, +/obj/item/melee/baton/cattleprod, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -10122,7 +10122,7 @@ /turf/simulated/floor/tiled/white, /area/centcom/bathroom) "Id" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /turf/simulated/floor/tiled/white, @@ -10172,8 +10172,8 @@ /area/centcom/terminal/tramfluff) "Il" = ( /obj/structure/table/reinforced, -/obj/item/device/camera, -/obj/item/weapon/storage/box/ids, +/obj/item/camera, +/obj/item/storage/box/ids, /obj/effect/floor_decal/borderfloorblack{ dir = 6 }, @@ -10193,24 +10193,24 @@ /obj/structure/reagent_dispensers/peppertank{ pixel_x = 30 }, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, /obj/machinery/recharger/wallcharger{ pixel_x = 4; pixel_y = 26 @@ -10290,8 +10290,8 @@ /area/centcom/main_hall) "IB" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/cups, -/obj/item/weapon/storage/box/cups, +/obj/item/storage/box/cups, +/obj/item/storage/box/cups, /obj/effect/floor_decal/borderfloorwhite{ dir = 4 }, @@ -10301,7 +10301,7 @@ /turf/simulated/floor/tiled/white, /area/centcom/medical) "IC" = ( -/obj/item/device/camera{ +/obj/item/camera{ desc = "A one use - polaroid camera. 30 photos left."; name = "detectives camera"; pictures_left = 30; @@ -10344,7 +10344,7 @@ /area/centcom/living) "IG" = ( /obj/structure/table/reinforced, -/obj/item/weapon/book/manual/security_space_law, +/obj/item/book/manual/wiki/security_space_law, /obj/effect/floor_decal/borderfloor{ dir = 8 }, @@ -10360,11 +10360,11 @@ /turf/simulated/floor/wood, /area/centcom/specops) "II" = ( -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/gloves{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/box/masks, +/obj/item/storage/box/masks, /obj/structure/table/glass, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 @@ -10397,8 +10397,8 @@ "IN" = ( /obj/structure/table/rack, /obj/item/clothing/suit/armor/riot, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/shield/riot, +/obj/item/melee/baton/loaded, +/obj/item/shield/riot, /obj/item/clothing/head/helmet/riot, /obj/effect/floor_decal/borderfloorblack{ dir = 1 @@ -10411,7 +10411,7 @@ "IO" = ( /obj/effect/floor_decal/industrial/outline/yellow, /obj/structure/table/rack, -/obj/item/weapon/gun/energy/gun/nuclear, +/obj/item/gun/energy/gun/nuclear, /turf/simulated/floor/tiled/dark, /area/centcom/security) "IP" = ( @@ -10420,8 +10420,8 @@ /obj/item/clothing/shoes/brown, /obj/item/clothing/suit/armor/tdome/green, /obj/item/clothing/head/helmet/thunderdome, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/energy/sword/green, +/obj/item/melee/baton/loaded, +/obj/item/melee/energy/sword/green, /turf/unsimulated/floor/techfloor_grid, /area/tdome/tdome1) "IR" = ( @@ -10435,8 +10435,8 @@ /obj/item/clothing/shoes/brown, /obj/item/clothing/suit/armor/tdome/red, /obj/item/clothing/head/helmet/thunderdome, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/energy/sword/red, +/obj/item/melee/baton/loaded, +/obj/item/melee/energy/sword/red, /turf/unsimulated/floor/techfloor_grid, /area/tdome/tdome1) "IU" = ( @@ -10490,11 +10490,11 @@ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/stock_parts/scanning_module{ +/obj/item/stock_parts/scanning_module{ pixel_x = 2; pixel_y = 3 }, -/obj/item/weapon/stock_parts/scanning_module, +/obj/item/stock_parts/scanning_module, /obj/machinery/light{ dir = 4 }, @@ -10509,7 +10509,7 @@ /area/centcom/control) "Jf" = ( /obj/structure/table/reinforced, -/obj/item/weapon/card/id/gold/captain/spare, +/obj/item/card/id/gold/captain/spare, /turf/simulated/floor/tiled, /area/centcom/control) "Ji" = ( @@ -10520,7 +10520,7 @@ /area/centcom/terminal) "Jj" = ( /obj/machinery/r_n_d/circuit_imprinter, -/obj/item/weapon/reagent_containers/glass/beaker/sulphuric, +/obj/item/reagent_containers/glass/beaker/sulphuric, /turf/simulated/floor/tiled/white, /area/centcom/control) "Jl" = ( @@ -10563,12 +10563,12 @@ /obj/item/clothing/glasses/welding/superior, /obj/structure/table/steel_reinforced, /obj/item/clothing/glasses/welding/superior, -/obj/item/weapon/grenade/chem_grenade/metalfoam, -/obj/item/weapon/grenade/chem_grenade/metalfoam, -/obj/item/weapon/grenade/chem_grenade/metalfoam, -/obj/item/weapon/grenade/chem_grenade/metalfoam, -/obj/item/weapon/grenade/chem_grenade/metalfoam, -/obj/item/weapon/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -10646,7 +10646,7 @@ /area/centcom/bar) "JE" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/secure/briefcase/nsfw_pack_hybrid, +/obj/item/storage/secure/briefcase/nsfw_pack_hybrid, /turf/simulated/floor/wood, /area/centcom/specops) "JG" = ( @@ -10660,7 +10660,7 @@ /area/centcom/security) "JH" = ( /obj/structure/table/standard, -/obj/item/device/healthanalyzer, +/obj/item/healthanalyzer, /obj/item/stack/medical/bruise_pack{ pixel_x = -4; pixel_y = 3 @@ -10764,8 +10764,8 @@ /obj/item/ammo_magazine/m545, /obj/item/ammo_magazine/m545, /obj/item/ammo_magazine/m545, -/obj/item/weapon/gun/projectile/automatic/sts35, -/obj/item/weapon/gun/projectile/automatic/sts35, +/obj/item/gun/projectile/automatic/sts35, +/obj/item/gun/projectile/automatic/sts35, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -10915,11 +10915,11 @@ /area/centcom/security) "Ky" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/automatic/bullpup, -/obj/item/weapon/gun/projectile/automatic/bullpup, -/obj/item/weapon/gun/projectile/automatic/bullpup, -/obj/item/weapon/gun/projectile/automatic/bullpup, -/obj/item/weapon/gun/projectile/automatic/bullpup, +/obj/item/gun/projectile/automatic/bullpup, +/obj/item/gun/projectile/automatic/bullpup, +/obj/item/gun/projectile/automatic/bullpup, +/obj/item/gun/projectile/automatic/bullpup, +/obj/item/gun/projectile/automatic/bullpup, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/dark, /area/centcom/security) @@ -11067,7 +11067,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 4 }, @@ -11098,41 +11098,41 @@ "Ld" = ( /obj/structure/table/standard, /obj/machinery/recharger, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon{ pixel_x = -2; pixel_y = -2 }, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -2; pixel_y = -2 }, @@ -11147,8 +11147,8 @@ /area/centcom/specops) "Lh" = ( /obj/structure/table/standard, -/obj/item/device/mmi/digital/posibrain, -/obj/item/device/robotanalyzer, +/obj/item/mmi/digital/posibrain, +/obj/item/robotanalyzer, /turf/simulated/floor/tiled, /area/centcom/control) "Li" = ( @@ -11243,7 +11243,7 @@ /turf/simulated/floor, /area/centcom/restaurant) "Lu" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled, /area/centcom/security) "Lv" = ( @@ -11383,12 +11383,12 @@ /obj/machinery/vending/cigarette{ name = "hacked cigarette machine"; prices = list(); - products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) + products = list(/obj/item/storage/fancy/cigarettes = 10, /obj/item/storage/box/matches = 10, /obj/item/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) }, /turf/simulated/floor/wood, /area/centcom/specops) "LS" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ broadcasting = 1; dir = 1; frequency = 1443; @@ -11447,17 +11447,17 @@ }, /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/energy/gun/nuclear, -/obj/item/weapon/gun/energy/gun/nuclear, -/obj/item/weapon/gun/energy/gun/nuclear, -/obj/item/weapon/gun/energy/gun/nuclear, +/obj/item/gun/energy/gun/nuclear, +/obj/item/gun/energy/gun/nuclear, +/obj/item/gun/energy/gun/nuclear, +/obj/item/gun/energy/gun/nuclear, /turf/simulated/floor/tiled{ icon_state = "dark" }, /area/centcom/specops) "Mf" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/roastbeef, +/obj/item/reagent_containers/food/snacks/roastbeef, /turf/simulated/floor/wood, /area/centcom/restaurant) "Mg" = ( @@ -11489,9 +11489,9 @@ /area/centcom/living) "Mj" = ( /obj/structure/table/rack, -/obj/item/weapon/rig/ert/medical, -/obj/item/weapon/rig/ert/medical, -/obj/item/weapon/rig/ert/medical, +/obj/item/rig/ert/medical, +/obj/item/rig/ert/medical, +/obj/item/rig/ert/medical, /obj/item/clothing/accessory/storage/white_vest, /obj/item/clothing/accessory/storage/white_vest, /obj/item/clothing/accessory/storage/white_vest, @@ -11508,32 +11508,32 @@ /area/centcom/specops) "Mk" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 3 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = -4 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8; pixel_y = 12 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = 12 }, @@ -11546,7 +11546,7 @@ /turf/simulated/floor/reinforced, /area/centcom) "Mm" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; frequency = 1475; name = "Station Intercom (Security)"; @@ -11608,11 +11608,11 @@ /area/centcom) "Mv" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/syringes{ +/obj/item/storage/box/syringes{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/box/syringes, +/obj/item/storage/box/syringes, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "Mx" = ( @@ -11623,18 +11623,18 @@ dir = 1 }, /obj/structure/table/woodentable, -/obj/item/device/radio/off, -/obj/item/device/megaphone, +/obj/item/radio/off, +/obj/item/megaphone, /obj/machinery/camera/network/crescent, /turf/simulated/floor/tiled/dark, /area/centcom/command) "My" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/automatic/p90, -/obj/item/weapon/gun/projectile/automatic/p90, -/obj/item/weapon/gun/projectile/automatic/p90, -/obj/item/weapon/gun/projectile/automatic/p90, -/obj/item/weapon/gun/projectile/automatic/p90, +/obj/item/gun/projectile/automatic/p90, +/obj/item/gun/projectile/automatic/p90, +/obj/item/gun/projectile/automatic/p90, +/obj/item/gun/projectile/automatic/p90, +/obj/item/gun/projectile/automatic/p90, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/dark, /area/centcom/security) @@ -11651,7 +11651,7 @@ /area/centcom/evac) "MC" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/handcuffs, +/obj/item/storage/box/handcuffs, /turf/simulated/floor/tiled, /area/centcom/security) "MD" = ( @@ -11669,28 +11669,28 @@ pixel_x = -32; req_access = list(29) }, -/obj/item/weapon/tank/anesthetic, -/obj/item/weapon/tank/anesthetic, -/obj/item/weapon/tank/anesthetic, +/obj/item/tank/anesthetic, +/obj/item/tank/anesthetic, +/obj/item/tank/anesthetic, /obj/item/clothing/mask/breath/medical, /obj/item/clothing/mask/breath/medical, /obj/item/clothing/mask/breath/medical, -/obj/item/weapon/storage/box/gloves, -/obj/item/device/defib_kit/jumper_kit, +/obj/item/storage/box/gloves, +/obj/item/defib_kit/jumper_kit, /turf/simulated/floor/tiled{ icon_state = "white" }, /area/centcom/control) "MH" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/flashbangs, -/obj/item/weapon/handcuffs, -/obj/item/device/flash, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/gun/energy/stunrevolver, +/obj/item/storage/box/flashbangs, +/obj/item/handcuffs, +/obj/item/flash, +/obj/item/melee/baton/loaded, +/obj/item/storage/belt/security/tactical, +/obj/item/gun/energy/stunrevolver, /obj/item/clothing/glasses/sunglasses/sechud/tactical, -/obj/item/weapon/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, /turf/simulated/floor/wood, /area/centcom/specops) "MI" = ( @@ -11786,7 +11786,7 @@ /area/centcom/specops) "MW" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /turf/simulated/floor/tiled, /area/centcom/bathroom) "MX" = ( @@ -11933,8 +11933,8 @@ dir = 1 }, /obj/machinery/camera/network/crescent, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, /turf/simulated/floor/tiled/white, /area/centcom/medical) "Nw" = ( @@ -11945,7 +11945,7 @@ dir = 1 }, /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/ids, +/obj/item/storage/box/ids, /turf/simulated/floor/tiled, /area/centcom/command) "Nz" = ( @@ -12130,7 +12130,7 @@ /area/centcom/control) "Oh" = ( /obj/structure/table/reinforced, -/obj/item/weapon/gun/energy/taser, +/obj/item/gun/energy/taser, /obj/machinery/recharger/wallcharger{ pixel_x = 4; pixel_y = 26 @@ -12141,11 +12141,11 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/folder/blue_hop, +/obj/item/folder/blue_hop, /turf/simulated/floor/carpet, /area/centcom/command) "Ol" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled, /area/centcom/bathroom) "On" = ( @@ -12153,7 +12153,7 @@ /obj/effect/floor_decal/industrial/warning{ dir = 4 }, -/obj/item/weapon/book/manual/robotics_cyborgs{ +/obj/item/book/manual/robotics_cyborgs{ pixel_x = 2; pixel_y = 5 }, @@ -12189,7 +12189,7 @@ req_access = list(101) }, /obj/structure/table/reinforced, -/obj/item/device/pda/captain, +/obj/item/pda/captain, /turf/simulated/floor/tiled, /area/centcom/control) "Os" = ( @@ -12224,13 +12224,13 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/folder/white_rd, +/obj/item/folder/white_rd, /turf/simulated/floor/carpet, /area/centcom/command) "OA" = ( /obj/structure/table/reinforced, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/gun/energy/taser, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/gun/energy/taser, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/blue/border, /turf/simulated/floor/tiled, @@ -12284,8 +12284,8 @@ dir = 5 }, /obj/structure/table/reinforced, -/obj/item/device/camera, -/obj/item/weapon/storage/box/ids, +/obj/item/camera, +/obj/item/storage/box/ids, /turf/simulated/floor/tiled/dark, /area/centcom/security{ name = "\improper CentCom Security Arrivals" @@ -12293,8 +12293,8 @@ "OI" = ( /obj/structure/table/rack, /obj/item/clothing/suit/armor/riot, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/shield/riot, +/obj/item/melee/baton/loaded, +/obj/item/shield/riot, /obj/item/clothing/head/helmet/riot, /obj/effect/floor_decal/borderfloorblack{ dir = 9 @@ -12373,7 +12373,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/folder/yellow_ce, +/obj/item/folder/yellow_ce, /turf/simulated/floor/carpet, /area/centcom/command) "OW" = ( @@ -12399,9 +12399,9 @@ /area/centcom/command) "Pa" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /obj/effect/floor_decal/borderfloorwhite{ dir = 8 }, @@ -12414,28 +12414,28 @@ /obj/effect/floor_decal/corner/paleblue/bordercorner2{ dir = 8 }, -/obj/item/weapon/reagent_containers/blood/OPlus{ +/obj/item/reagent_containers/blood/OPlus{ pixel_x = 4; pixel_y = 2 }, -/obj/item/weapon/reagent_containers/blood/OPlus{ +/obj/item/reagent_containers/blood/OPlus{ pixel_x = 4; pixel_y = 2 }, -/obj/item/weapon/reagent_containers/blood/OPlus{ +/obj/item/reagent_containers/blood/OPlus{ pixel_x = 4; pixel_y = 2 }, -/obj/item/device/healthanalyzer/phasic, +/obj/item/healthanalyzer/phasic, /turf/simulated/floor/tiled/white, /area/centcom/medical) "Pb" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/firstaid/adv, +/obj/item/storage/firstaid/adv, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "Pd" = ( @@ -12447,7 +12447,7 @@ /area/centcom/bathroom) "Pf" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/meatsteak, +/obj/item/reagent_containers/food/snacks/meatsteak, /turf/simulated/floor/wood, /area/centcom/restaurant) "Pg" = ( @@ -12485,7 +12485,7 @@ /area/centcom/specops) "Pn" = ( /obj/structure/table/glass, -/obj/item/device/defib_kit/compact/loaded, +/obj/item/defib_kit/compact/loaded, /turf/simulated/floor/tiled/white, /area/centcom/medical) "Po" = ( @@ -12592,8 +12592,8 @@ "PG" = ( /obj/structure/table/rack, /obj/item/clothing/suit/armor/riot, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/shield/riot, +/obj/item/melee/baton/loaded, +/obj/item/shield/riot, /obj/item/clothing/head/helmet/riot, /obj/effect/floor_decal/borderfloorblack{ dir = 5 @@ -12687,8 +12687,8 @@ /area/centcom/control) "PS" = ( /obj/structure/table/reinforced, -/obj/item/weapon/material/minihoe, -/obj/item/device/analyzer/plant_analyzer, +/obj/item/material/minihoe, +/obj/item/analyzer/plant_analyzer, /obj/effect/floor_decal/borderfloorblack{ dir = 1 }, @@ -12702,7 +12702,7 @@ /obj/item/bodybag/cryobag{ pixel_x = 6 }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = 5; pixel_y = 5 }, @@ -12788,20 +12788,20 @@ /area/centcom/security) "Qg" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, /turf/simulated/floor/tiled{ icon_state = "dark" }, /area/centcom/specops) "Qi" = ( /obj/structure/table/reinforced, -/obj/item/device/camera, -/obj/item/weapon/storage/box/ids, +/obj/item/camera, +/obj/item/storage/box/ids, /obj/effect/floor_decal/borderfloorblack{ dir = 8 }, @@ -12849,13 +12849,13 @@ /area/centcom/terminal) "Qp" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/fries, +/obj/item/reagent_containers/food/snacks/fries, /turf/simulated/floor/wood, /area/centcom/restaurant) "Qq" = ( /obj/structure/table/woodentable, -/obj/item/weapon/flame/lighter/zippo, -/obj/item/weapon/storage/fancy/cigarettes, +/obj/item/flame/lighter/zippo, +/obj/item/storage/fancy/cigarettes, /turf/simulated/floor/carpet, /area/centcom/restaurant) "Qr" = ( @@ -12893,8 +12893,8 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/gun/energy/ionrifle/pistol, -/obj/item/weapon/gun/energy/ionrifle/pistol, +/obj/item/gun/energy/ionrifle/pistol, +/obj/item/gun/energy/ionrifle/pistol, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -12920,19 +12920,19 @@ /obj/item/clothing/shoes/boots/tactical, /obj/item/clothing/suit/armor/tactical, /obj/item/clothing/under/tactical, -/obj/item/weapon/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, /obj/structure/closet{ desc = "It's a storage unit for standard-issue attire."; name = "tactical equipment" }, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/weapon/storage/backpack/dufflebag/syndie/med, -/obj/item/weapon/storage/backpack/satchel/sec, +/obj/item/storage/backpack/dufflebag/syndie/med, +/obj/item/storage/backpack/satchel/sec, /turf/simulated/floor/tiled/dark, /area/centcom/security) "QA" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/green, +/obj/item/bedsheet/green, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 }, @@ -12954,17 +12954,17 @@ /area/centcom/security) "QF" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/empslite{ +/obj/item/storage/box/empslite{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/box/flashbangs{ +/obj/item/storage/box/flashbangs{ pixel_x = -2; pixel_y = -2 }, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/weapon/storage/box/empslite, -/obj/item/weapon/storage/box/flashbangs{ +/obj/item/storage/box/empslite, +/obj/item/storage/box/flashbangs{ pixel_x = -2; pixel_y = -2 }, @@ -13127,7 +13127,7 @@ /obj/item/clothing/shoes/brown, /obj/item/clothing/suit/armor/vest, /obj/item/clothing/head/helmet/swat, -/obj/item/weapon/gun/energy/laser, +/obj/item/gun/energy/laser, /turf/unsimulated/floor/techfloor_grid, /area/tdome/tdome1) "Rb" = ( @@ -13136,17 +13136,17 @@ /area/centcom/control) "Rc" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/seccarts{ +/obj/item/storage/box/seccarts{ pixel_x = 3; pixel_y = 2 }, -/obj/item/weapon/storage/box/handcuffs, -/obj/item/weapon/storage/box/flashbangs{ +/obj/item/storage/box/handcuffs, +/obj/item/storage/box/flashbangs{ pixel_x = -2; pixel_y = -2 }, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -13182,7 +13182,7 @@ /turf/simulated/floor/tiled/dark, /area/centcom/security) "Rh" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/corner/yellow/diagonal, /obj/effect/floor_decal/corner/blue/diagonal{ dir = 4 @@ -13198,11 +13198,11 @@ /area/centcom/control) "Rk" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/toxin{ +/obj/item/storage/firstaid/toxin{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/firstaid/toxin, +/obj/item/storage/firstaid/toxin, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "Rl" = ( @@ -13302,23 +13302,23 @@ /area/centcom/control) "Ry" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/food/drinks/flask/barflask, -/obj/item/weapon/reagent_containers/glass/rag, -/obj/item/weapon/reagent_containers/food/drinks/flask/vacuumflask, +/obj/item/reagent_containers/food/drinks/flask/barflask, +/obj/item/reagent_containers/glass/rag, +/obj/item/reagent_containers/food/drinks/flask/vacuumflask, /turf/simulated/floor/lino, /area/centcom/restaurant) "Rz" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/energy/ionrifle/pistol, -/obj/item/weapon/gun/energy/ionrifle/pistol, +/obj/item/gun/energy/ionrifle/pistol, +/obj/item/gun/energy/ionrifle/pistol, /turf/simulated/floor/tiled/dark, /area/centcom/security) "RA" = ( /turf/simulated/wall/rshull, /area/shuttle/ccboat) "RB" = ( -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, /obj/structure/table/standard, /obj/effect/floor_decal/corner/yellow/diagonal, /obj/effect/floor_decal/corner/blue/diagonal{ @@ -13351,8 +13351,8 @@ dir = 8 }, /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/donkpockets, -/obj/item/weapon/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, /turf/simulated/floor/tiled/dark, /area/centcom/security{ name = "\improper CentCom Security Arrivals" @@ -13521,18 +13521,18 @@ "Sh" = ( /obj/structure/table/reinforced, /obj/effect/floor_decal/industrial/outline/blue, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -13540,8 +13540,8 @@ "Si" = ( /obj/structure/table/standard, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/weapon/storage/box/teargas, -/obj/item/weapon/storage/box/teargas, +/obj/item/storage/box/teargas, +/obj/item/storage/box/teargas, /turf/simulated/floor/tiled/dark, /area/centcom/security) "Sk" = ( @@ -13560,7 +13560,7 @@ dir = 1 }, /obj/structure/table/rack, -/obj/item/weapon/gun/energy/netgun, +/obj/item/gun/energy/netgun, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled{ icon_state = "dark" @@ -13643,7 +13643,7 @@ /area/centcom/main_hall) "Sz" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/grilledcheese, +/obj/item/reagent_containers/food/snacks/grilledcheese, /turf/simulated/floor/wood, /area/centcom/restaurant) "SA" = ( @@ -13699,7 +13699,7 @@ "SR" = ( /obj/structure/table/standard, /obj/item/stack/medical/advanced/bruise_pack, -/obj/item/weapon/surgical/retractor, +/obj/item/surgical/retractor, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 }, @@ -13819,7 +13819,7 @@ /area/centcom/medical) "Tk" = ( /obj/structure/table/standard, -/obj/item/weapon/soap, +/obj/item/soap, /obj/effect/floor_decal/borderfloorwhite{ dir = 10 }, @@ -13827,26 +13827,26 @@ /area/centcom/bathroom) "Tm" = ( /obj/structure/table/reinforced, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -13862,17 +13862,17 @@ /area/centcom/command) "Tw" = ( /obj/structure/table/glass, -/obj/item/device/healthanalyzer/phasic, +/obj/item/healthanalyzer/phasic, /turf/simulated/floor/tiled/white, /area/centcom/medical) "Tx" = ( /obj/structure/table/standard, /obj/effect/floor_decal/borderfloor, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -1; pixel_y = 5 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled, /area/centcom/command) "Ty" = ( @@ -13907,14 +13907,14 @@ req_access = list(63); req_one_access = list(1) }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled, /area/centcom/command) "TF" = ( /obj/structure/table/rack, /obj/item/clothing/under/color/red, /obj/item/clothing/shoes/brown, -/obj/item/weapon/melee/energy/axe, +/obj/item/melee/energy/axe, /turf/unsimulated/floor/techfloor_grid, /area/tdome/tdome1) "TG" = ( @@ -13932,10 +13932,10 @@ }, /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/gun/energy/taser, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -13994,11 +13994,11 @@ /area/centcom/control) "TU" = ( /obj/structure/table/standard, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, @@ -14058,7 +14058,7 @@ /obj/structure/table/rack, /obj/item/clothing/suit/armor/vest/ert/command, /obj/item/clothing/head/helmet/ert/command, -/obj/item/weapon/storage/backpack/ert/commander, +/obj/item/storage/backpack/ert/commander, /turf/simulated/floor/wood, /area/centcom/specops) "Uf" = ( @@ -14070,13 +14070,13 @@ /area/centcom/command) "Ug" = ( /obj/structure/table/woodentable, -/obj/item/weapon/stamp/hos, +/obj/item/stamp/hos, /turf/simulated/floor/tiled/dark, /area/centcom/command) "Ui" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /turf/simulated/floor/tiled/dark, /area/centcom/security) "Uj" = ( @@ -14101,7 +14101,7 @@ /area/centcom) "Uq" = ( /obj/structure/table/standard, -/obj/item/device/mmi, +/obj/item/mmi, /turf/simulated/floor/tiled, /area/centcom/control) "Us" = ( @@ -14120,9 +14120,9 @@ /area/centcom/control) "Uu" = ( /obj/structure/table/standard, -/obj/item/weapon/hand_labeler, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/glass/beaker/sulphuric, +/obj/item/hand_labeler, +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/sulphuric, /turf/simulated/floor/tiled, /area/centcom/control) "Uw" = ( @@ -14164,29 +14164,29 @@ "UD" = ( /obj/structure/table/rack, /obj/structure/window/reinforced, -/obj/item/weapon/gun/energy/sniperrifle, +/obj/item/gun/energy/sniperrifle, /turf/simulated/floor/tiled{ icon_state = "dark" }, /area/centcom/specops) "UE" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/automatic/pdw, -/obj/item/weapon/gun/projectile/automatic/pdw, -/obj/item/weapon/gun/projectile/automatic/pdw, -/obj/item/weapon/gun/projectile/automatic/pdw, -/obj/item/weapon/gun/projectile/automatic/pdw, +/obj/item/gun/projectile/automatic/pdw, +/obj/item/gun/projectile/automatic/pdw, +/obj/item/gun/projectile/automatic/pdw, +/obj/item/gun/projectile/automatic/pdw, +/obj/item/gun/projectile/automatic/pdw, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/dark, /area/centcom/security) "UH" = ( /obj/structure/table/reinforced, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/screwdriver, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/screwdriver, -/obj/item/weapon/tool/wrench, +/obj/item/tool/crowbar, +/obj/item/tool/screwdriver, +/obj/item/tool/wrench, +/obj/item/tool/crowbar, +/obj/item/tool/screwdriver, +/obj/item/tool/wrench, /obj/effect/floor_decal/industrial/outline/blue, /turf/simulated/floor/tiled{ icon_state = "dark" @@ -14197,7 +14197,7 @@ /obj/item/clothing/accessory/holster/hip, /obj/item/ammo_magazine/m44, /obj/item/ammo_magazine/m44, -/obj/item/weapon/gun/projectile/deagle, +/obj/item/gun/projectile/deagle, /turf/simulated/floor/wood, /area/centcom/specops) "UJ" = ( @@ -14262,8 +14262,8 @@ "UP" = ( /obj/structure/table/rack, /obj/structure/window/reinforced, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -14281,7 +14281,7 @@ /obj/effect/floor_decal/corner/blue/bordercorner2{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; frequency = 1475; name = "Station Intercom (Security)"; @@ -14343,10 +14343,10 @@ /area/centcom/main_hall) "UY" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/smes_coil, -/obj/item/weapon/smes_coil, -/obj/item/device/t_scanner/advanced, -/obj/item/device/t_scanner/advanced, +/obj/item/smes_coil, +/obj/item/smes_coil, +/obj/item/t_scanner/advanced, +/obj/item/t_scanner/advanced, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -14376,9 +14376,9 @@ "Ve" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, +/obj/item/gun/energy/gun, +/obj/item/gun/energy/gun, +/obj/item/gun/energy/gun, /turf/simulated/floor/tiled/dark, /area/centcom/security) "Vf" = ( @@ -14398,17 +14398,17 @@ /area/centcom/bathroom) "Vi" = ( /obj/structure/table/rack, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/melee/energy/sword/blue, -/obj/item/weapon/melee/energy/sword/blue, -/obj/item/weapon/melee/energy/sword/blue, -/obj/item/weapon/melee/energy/sword/blue, -/obj/item/weapon/melee/energy/sword/blue, +/obj/item/melee/energy/sword/blue, +/obj/item/melee/energy/sword/blue, +/obj/item/melee/energy/sword/blue, +/obj/item/melee/energy/sword/blue, +/obj/item/melee/energy/sword/blue, /obj/effect/floor_decal/industrial/outline/yellow, /obj/structure/window/reinforced{ dir = 1 @@ -14440,18 +14440,18 @@ /area/centcom/control) "Vn" = ( /obj/structure/table/reinforced, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -14463,7 +14463,7 @@ /area/centcom/terminal/tramfluff) "Vq" = ( /obj/structure/table/standard, -/obj/item/weapon/soap, +/obj/item/soap, /obj/effect/floor_decal/borderfloorwhite{ dir = 9 }, @@ -14510,7 +14510,7 @@ /obj/effect/floor_decal/corner/blue/bordercorner2{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; frequency = 1475; name = "Station Intercom (Security)"; @@ -14537,7 +14537,7 @@ /obj/structure/reagent_dispensers/acid{ pixel_y = -30 }, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_x = -2; pixel_y = -1 }, @@ -14621,7 +14621,7 @@ /area/centcom/security) "VT" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /obj/machinery/camera/network/crescent, /obj/effect/floor_decal/borderfloorblack{ dir = 5 @@ -14873,8 +14873,8 @@ /area/centcom/medical) "WL" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/pill_bottle/dice, -/obj/item/weapon/deck/cards, +/obj/item/storage/pill_bottle/dice, +/obj/item/deck/cards, /turf/simulated/floor/tiled/dark, /area/centcom/security) "WM" = ( @@ -14920,7 +14920,7 @@ /turf/simulated/floor/tiled/white, /area/centcom/medical) "WZ" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/wood, /area/centcom/specops) "Xa" = ( @@ -14931,11 +14931,11 @@ /area/centcom/main_hall) "Xc" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/machinery/door/window/brigdoor{ dir = 2 }, @@ -15010,12 +15010,12 @@ /area/centcom/terminal/tramfluff) "Xo" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/hypospray, -/obj/item/weapon/reagent_containers/hypospray, -/obj/item/weapon/reagent_containers/hypospray, -/obj/item/weapon/reagent_containers/hypospray, -/obj/item/weapon/reagent_containers/hypospray, -/obj/item/weapon/reagent_containers/hypospray, +/obj/item/reagent_containers/hypospray, +/obj/item/reagent_containers/hypospray, +/obj/item/reagent_containers/hypospray, +/obj/item/reagent_containers/hypospray, +/obj/item/reagent_containers/hypospray, +/obj/item/reagent_containers/hypospray, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "Xp" = ( @@ -15090,7 +15090,7 @@ name = "\improper CentCom Residential Security" }) "Xy" = ( -/obj/item/weapon/paper{ +/obj/item/paper{ info = "You're not supposed to be here."; name = "unnerving letter" }, @@ -15151,7 +15151,7 @@ /turf/simulated/floor/lino, /area/centcom/command) "XJ" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/lino, /area/centcom/restaurant) "XK" = ( @@ -15186,7 +15186,7 @@ /area/centcom/terminal) "XR" = ( /obj/structure/table/reinforced, -/obj/item/weapon/book/manual/security_space_law, +/obj/item/book/manual/wiki/security_space_law, /turf/simulated/floor/tiled/dark, /area/centcom/security) "XT" = ( @@ -15284,9 +15284,9 @@ /area/centcom/specops) "Yp" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/pill_bottle/blood_regen, -/obj/item/weapon/storage/pill_bottle/blood_regen, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/fitnessflask/glucose, +/obj/item/storage/pill_bottle/blood_regen, +/obj/item/storage/pill_bottle/blood_regen, +/obj/item/reagent_containers/food/drinks/drinkingglass/fitnessflask/glucose, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "Yq" = ( @@ -15337,7 +15337,7 @@ "Yy" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/energy/xray, +/obj/item/gun/energy/xray, /turf/simulated/floor/tiled/dark, /area/centcom/security) "YA" = ( @@ -15406,8 +15406,8 @@ "YM" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/energy/netgun, -/obj/item/weapon/gun/energy/netgun, +/obj/item/gun/energy/netgun, +/obj/item/gun/energy/netgun, /turf/simulated/floor/tiled/dark, /area/centcom/security) "YQ" = ( @@ -15424,18 +15424,18 @@ /area/centcom/security) "YX" = ( /obj/structure/table/reinforced, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -15558,7 +15558,7 @@ dir = 6 }, /obj/structure/table/glass, -/obj/item/weapon/storage/box/syringes, +/obj/item/storage/box/syringes, /turf/simulated/floor/tiled/white, /area/centcom/medical) "Zu" = ( @@ -15604,16 +15604,16 @@ /area/centcom/holding) "ZA" = ( /obj/structure/table/steel, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = -6 }, -/obj/item/device/camera{ +/obj/item/camera{ name = "Autopsy Camera"; pixel_x = -2; pixel_y = 7 }, -/obj/item/weapon/pen/red, -/obj/item/weapon/pen/blue{ +/obj/item/pen/red, +/obj/item/pen/blue{ pixel_x = 3; pixel_y = -5 }, @@ -15632,9 +15632,9 @@ /area/centcom/bar) "ZC" = ( /obj/structure/table/reinforced, -/obj/item/device/megaphone, -/obj/item/weapon/storage/box/trackimp, -/obj/item/weapon/storage/box/cdeathalarm_kit, +/obj/item/megaphone, +/obj/item/storage/box/trackimp, +/obj/item/storage/box/cdeathalarm_kit, /turf/simulated/floor/wood, /area/centcom/specops) "ZD" = ( @@ -15709,19 +15709,19 @@ /obj/effect/floor_decal/borderfloor{ dir = 1 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -1; pixel_y = 5 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/machinery/camera/network/crescent, /turf/simulated/floor/tiled, /area/centcom/command) "ZU" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/clotting, -/obj/item/weapon/storage/firstaid/bonemed, -/obj/item/weapon/storage/pill_bottle/sleevingcure/full, +/obj/item/storage/firstaid/clotting, +/obj/item/storage/firstaid/bonemed, +/obj/item/storage/pill_bottle/sleevingcure/full, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "ZW" = ( diff --git a/maps/groundbase/gb-misc.dmm b/maps/groundbase/gb-misc.dmm index 4909eeea2cd..efbbcf5a278 100644 --- a/maps/groundbase/gb-misc.dmm +++ b/maps/groundbase/gb-misc.dmm @@ -758,24 +758,24 @@ /area/unknown/dorm1) "cq" = ( /obj/machinery/smartfridge/survival_pod, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/towel/random, +/obj/item/towel/random, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm1) "cr" = ( @@ -848,24 +848,24 @@ /area/unknown/dorm2) "cD" = ( /obj/machinery/smartfridge/survival_pod, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/towel/random, +/obj/item/towel/random, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm2) "cE" = ( @@ -881,24 +881,24 @@ /area/unknown/dorm3) "cH" = ( /obj/machinery/smartfridge/survival_pod, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/towel/random, +/obj/item/towel/random, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm3) "cI" = ( @@ -930,7 +930,7 @@ /turf/simulated/shuttle/floor/alien, /area/unknown/dorm1) "cO" = ( -/obj/item/device/perfect_tele_beacon/stationary{ +/obj/item/perfect_tele_beacon/stationary{ tele_name = "Unknown"; tele_network = "unkone" }, @@ -984,7 +984,7 @@ /turf/simulated/floor/holofloor/carpet, /area/holodeck/source_courtroom) "cV" = ( -/obj/item/weapon/bedsheet/rddouble, +/obj/item/bedsheet/rddouble, /obj/structure/bed/double/padded, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm1) @@ -993,14 +993,14 @@ /turf/simulated/shuttle/floor/alien, /area/unknown/dorm2) "cX" = ( -/obj/item/device/perfect_tele_beacon/stationary{ +/obj/item/perfect_tele_beacon/stationary{ tele_name = "Unknown"; tele_network = "unktwo" }, /turf/simulated/shuttle/floor/alienplating, /area/unknown/dorm2) "cY" = ( -/obj/item/weapon/bedsheet/rddouble, +/obj/item/bedsheet/rddouble, /obj/structure/bed/double/padded, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm2) @@ -1016,14 +1016,14 @@ /turf/simulated/floor/holofloor/grass, /area/holodeck/source_picnicarea) "db" = ( -/obj/item/device/perfect_tele_beacon/stationary{ +/obj/item/perfect_tele_beacon/stationary{ tele_name = "Unknown"; tele_network = "unkthree" }, /turf/simulated/shuttle/floor/alienplating, /area/unknown/dorm3) "dc" = ( -/obj/item/weapon/bedsheet/rddouble, +/obj/item/bedsheet/rddouble, /obj/structure/bed/double/padded, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm3) @@ -1310,7 +1310,7 @@ /obj/item/clothing/head/helmet/thunderdome, /obj/item/clothing/suit/armor/tdome/red, /obj/item/clothing/under/color/red, -/obj/item/weapon/holo/esword/red, +/obj/item/holo/esword/red, /obj/effect/floor_decal/corner/red{ dir = 5 }, @@ -1539,7 +1539,7 @@ /turf/simulated/floor/holofloor/tiled/dark, /area/holodeck/source_meetinghall) "eM" = ( -/obj/item/weapon/beach_ball, +/obj/item/beach_ball, /turf/simulated/floor/holofloor/beach/sand, /area/holodeck/source_beach) "eN" = ( @@ -1632,7 +1632,7 @@ /turf/simulated/floor/holofloor/tiled, /area/holodeck/source_basketball) "fa" = ( -/obj/item/weapon/beach_ball/holoball, +/obj/item/beach_ball/holoball, /obj/effect/floor_decal/corner/red{ dir = 10 }, @@ -1645,7 +1645,7 @@ /turf/simulated/floor/holofloor/tiled, /area/holodeck/source_basketball) "fc" = ( -/obj/item/weapon/inflatable_duck, +/obj/item/inflatable_duck, /turf/simulated/floor/holofloor/beach/sand, /area/holodeck/source_beach) "fd" = ( @@ -1692,7 +1692,7 @@ /turf/simulated/floor/holofloor/tiled/dark, /area/holodeck/source_gym) "fm" = ( -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/structure/bed/padded, /obj/structure/curtain/open/privacy, /turf/simulated/floor/holofloor/tiled{ @@ -1865,7 +1865,7 @@ /area/unknown/dorm6) "fN" = ( /obj/structure/table/woodentable/holotable, -/obj/item/weapon/dice/d8, +/obj/item/dice/d8, /turf/simulated/floor/holofloor/wood, /area/holodeck/source_game_room) "fO" = ( @@ -1933,7 +1933,7 @@ /obj/item/clothing/head/helmet/thunderdome, /obj/item/clothing/suit/armor/tdome/green, /obj/item/clothing/under/color/green, -/obj/item/weapon/holo/esword/green, +/obj/item/holo/esword/green, /obj/effect/floor_decal/corner/green{ dir = 10 }, @@ -2022,21 +2022,21 @@ /area/beach) "gm" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/snacks/chips, +/obj/item/reagent_containers/food/snacks/chips, /turf/unsimulated/beach/sand, /area/beach) "gn" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, /turf/unsimulated/beach/sand, /area/beach) "go" = ( -/obj/item/weapon/beach_ball, +/obj/item/beach_ball, /turf/unsimulated/beach/sand, /area/beach) "gp" = ( @@ -2118,24 +2118,24 @@ /area/unknown/dorm4) "gE" = ( /obj/machinery/smartfridge/survival_pod, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/towel/random, +/obj/item/towel/random, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm4) "gF" = ( @@ -2151,24 +2151,24 @@ /area/unknown/dorm5) "gI" = ( /obj/machinery/smartfridge/survival_pod, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/towel/random, +/obj/item/towel/random, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm5) "gJ" = ( @@ -2184,24 +2184,24 @@ /area/unknown/dorm6) "gM" = ( /obj/machinery/smartfridge/survival_pod, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/towel/random, +/obj/item/towel/random, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm6) "gN" = ( @@ -2230,7 +2230,7 @@ /turf/simulated/shuttle/floor/alien, /area/unknown/dorm4) "gT" = ( -/obj/item/device/perfect_tele_beacon/stationary{ +/obj/item/perfect_tele_beacon/stationary{ tele_name = "Unknown"; tele_network = "unkfour" }, @@ -2238,7 +2238,7 @@ /area/unknown/dorm4) "gU" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/hopdouble, +/obj/item/bedsheet/hopdouble, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm4) "gV" = ( @@ -2246,7 +2246,7 @@ /turf/simulated/shuttle/floor/alien, /area/unknown/dorm5) "gW" = ( -/obj/item/device/perfect_tele_beacon/stationary{ +/obj/item/perfect_tele_beacon/stationary{ tele_name = "Unknown"; tele_network = "unkfive" }, @@ -2254,7 +2254,7 @@ /area/unknown/dorm5) "gX" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/hopdouble, +/obj/item/bedsheet/hopdouble, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm5) "gY" = ( @@ -2262,7 +2262,7 @@ /turf/simulated/shuttle/floor/alien, /area/unknown/dorm6) "gZ" = ( -/obj/item/device/perfect_tele_beacon/stationary{ +/obj/item/perfect_tele_beacon/stationary{ tele_name = "Unknown"; tele_network = "unksix" }, @@ -2270,7 +2270,7 @@ /area/unknown/dorm6) "ha" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/hopdouble, +/obj/item/bedsheet/hopdouble, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm6) "hb" = ( @@ -2497,7 +2497,7 @@ /area/space) "ml" = ( /obj/structure/table/holotable, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /obj/effect/floor_decal/corner/paleblue{ dir = 5 }, @@ -2537,8 +2537,8 @@ /area/holodeck/source_gym) "ov" = ( /obj/structure/table/woodentable/holotable, -/obj/item/weapon/dice/d12, -/obj/item/weapon/dice/d10, +/obj/item/dice/d12, +/obj/item/dice/d10, /turf/simulated/floor/holofloor/wood, /area/holodeck/source_game_room) "oJ" = ( @@ -2609,7 +2609,7 @@ /turf/simulated/floor/holofloor/bmarble, /area/holodeck/source_chess) "rD" = ( -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/structure/bed/padded, /obj/structure/curtain/open/privacy, /obj/effect/floor_decal/corner/paleblue{ @@ -2638,7 +2638,7 @@ /turf/unsimulated/wall, /area/ai_multicam_room) "tR" = ( -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/structure/bed/padded, /obj/structure/curtain/open/privacy, /obj/effect/floor_decal/corner/paleblue/full{ @@ -2766,8 +2766,8 @@ /area/holodeck/source_patient_ward) "BR" = ( /obj/structure/table/woodentable/holotable, -/obj/item/weapon/dice/d100, -/obj/item/weapon/dice/d20, +/obj/item/dice/d100, +/obj/item/dice/d20, /turf/simulated/floor/holofloor/wood, /area/holodeck/source_game_room) "BU" = ( @@ -2824,7 +2824,7 @@ /turf/simulated/floor/holofloor/wood, /area/holodeck/source_chess) "Eq" = ( -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/structure/bed/padded, /obj/structure/curtain/open/privacy, /obj/effect/floor_decal/corner/paleblue{ @@ -2913,7 +2913,7 @@ }, /area/holodeck/source_patient_ward) "Lt" = ( -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/structure/bed/padded, /obj/structure/curtain/open/privacy, /obj/effect/floor_decal/corner/paleblue/full{ @@ -2946,8 +2946,8 @@ /area/holodeck/source_gym) "Nj" = ( /obj/structure/table/woodentable/holotable, -/obj/item/weapon/dice, -/obj/item/weapon/dice/d4, +/obj/item/dice, +/obj/item/dice/d4, /turf/simulated/floor/holofloor/wood, /area/holodeck/source_game_room) "NT" = ( @@ -3009,7 +3009,7 @@ /turf/simulated/floor/holofloor/carpet, /area/holodeck/source_game_room) "SJ" = ( -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/structure/bed/padded, /obj/structure/curtain/open/privacy, /obj/effect/floor_decal/corner/paleblue{ diff --git a/maps/groundbase/gb-z1.dmm b/maps/groundbase/gb-z1.dmm index 408bfb22a30..9cd2c0d3307 100644 --- a/maps/groundbase/gb-z1.dmm +++ b/maps/groundbase/gb-z1.dmm @@ -114,12 +114,12 @@ /area/groundbase/civilian/gateway) "ap" = ( /obj/structure/closet/secure_closet/security, -/obj/item/device/holowarrant, +/obj/item/holowarrant, /obj/machinery/light_switch{ dir = 8; pixel_x = 30 }, -/obj/item/device/ticket_printer, +/obj/item/ticket_printer, /turf/simulated/floor/tiled/dark, /area/groundbase/security/equipment) "aq" = ( @@ -599,19 +599,19 @@ /area/groundbase/level1/westspur) "bw" = ( /obj/structure/closet/toolcloset, -/obj/item/weapon/pickaxe, -/obj/item/weapon/chainsaw, -/obj/item/weapon/shovel, +/obj/item/pickaxe, +/obj/item/chainsaw, +/obj/item/shovel, /turf/simulated/floor/tiled, /area/groundbase/engineering/workshop) "bx" = ( /obj/structure/table/reinforced, -/obj/item/device/floor_painter, -/obj/item/device/t_scanner, -/obj/item/device/multitool{ +/obj/item/floor_painter, +/obj/item/t_scanner, +/obj/item/multitool{ pixel_x = 5 }, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, /obj/machinery/power/apc{ dir = 8 }, @@ -692,12 +692,12 @@ /area/groundbase/engineering/ce) "bG" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/gun/projectile/shotgun/pump{ +/obj/item/gun/projectile/shotgun/pump{ ammo_type = /obj/item/ammo_casing/a12g/pellet; pixel_x = 1; pixel_y = 4 }, -/obj/item/weapon/gun/projectile/shotgun/pump{ +/obj/item/gun/projectile/shotgun/pump{ ammo_type = /obj/item/ammo_casing/a12g/pellet; pixel_x = 2; pixel_y = -6 @@ -734,7 +734,7 @@ /area/groundbase/command/tcomms/chamber) "bL" = ( /obj/machinery/vending/loadout/accessory, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 24 @@ -812,7 +812,7 @@ dir = 8 }, /obj/structure/table/glass, -/obj/item/weapon/cane, +/obj/item/cane, /turf/simulated/floor/tiled/white, /area/groundbase/medical/office) "bT" = ( @@ -864,11 +864,11 @@ /area/groundbase/civilian/apparel) "bZ" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/clown{ +/obj/item/flashlight/lamp/clown{ pixel_x = -4; pixel_y = 6 }, -/obj/item/weapon/bikehorn{ +/obj/item/bikehorn{ pixel_x = -2; pixel_y = 11 }, @@ -953,20 +953,20 @@ /area/groundbase/level1/southeastspur) "cl" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ name = "human repair kit"; pixel_x = -9; pixel_y = 9 }, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ pixel_x = -9; pixel_y = 1 }, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/fire{ pixel_x = 6; pixel_y = 9 }, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/fire{ pixel_x = 6; pixel_y = 1 }, @@ -982,8 +982,8 @@ /area/groundbase/command/tcomms/chamber) "cn" = ( /obj/structure/table/reinforced, -/obj/item/device/retail_scanner/security, -/obj/item/device/radio{ +/obj/item/retail_scanner/security, +/obj/item/radio{ pixel_x = -4 }, /obj/machinery/atmospherics/unary/vent_pump/on{ @@ -1063,9 +1063,9 @@ }, /area/groundbase/command/tcomms/chamber) "cu" = ( -/obj/item/weapon/storage/secure/briefcase/ml3m_pack_med, +/obj/item/storage/secure/briefcase/ml3m_pack_med, /obj/structure/table/reinforced, -/obj/item/weapon/storage/secure/briefcase/ml3m_pack_med, +/obj/item/storage/secure/briefcase/ml3m_pack_med, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /turf/simulated/floor/tiled/white, /area/groundbase/medical/equipment) @@ -1249,7 +1249,7 @@ /area/groundbase/cargo/mining) "cQ" = ( /obj/structure/table/standard, -/obj/item/weapon/aiModule/nanotrasen, +/obj/item/aiModule/nanotrasen, /obj/machinery/power/apc{ dir = 1 }, @@ -1283,13 +1283,13 @@ /turf/simulated/floor/tiled/dark, /area/groundbase/civilian/bar) "cU" = ( -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/matter_bin, -/obj/item/weapon/stock_parts/matter_bin, -/obj/item/weapon/stock_parts/manipulator, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/manipulator, /obj/structure/table/rack/steel, -/obj/item/weapon/stock_parts/console_screen, -/obj/item/weapon/circuitboard/autolathe, +/obj/item/stock_parts/console_screen, +/obj/item/circuitboard/autolathe, /turf/simulated/floor/tiled, /area/groundbase/engineering/techstorage) "cV" = ( @@ -1307,32 +1307,32 @@ /area/groundbase/civilian/clown) "cW" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/circuitboard/mech_recharger{ +/obj/item/circuitboard/mech_recharger{ pixel_x = -4; pixel_y = 4 }, -/obj/item/weapon/circuitboard/cell_charger{ +/obj/item/circuitboard/cell_charger{ pixel_x = -3; pixel_y = 3 }, -/obj/item/weapon/circuitboard/recharger{ +/obj/item/circuitboard/recharger{ pixel_x = -2; pixel_y = 2 }, -/obj/item/weapon/circuitboard/recharge_station{ +/obj/item/circuitboard/recharge_station{ pixel_x = -1; pixel_y = 1 }, -/obj/item/weapon/circuitboard/arcade/battle, -/obj/item/weapon/circuitboard/arcade/clawmachine{ +/obj/item/circuitboard/arcade/battle, +/obj/item/circuitboard/arcade/clawmachine{ pixel_x = 1; pixel_y = -1 }, -/obj/item/weapon/circuitboard/arcade/orion_trail{ +/obj/item/circuitboard/arcade/orion_trail{ pixel_x = 2; pixel_y = -2 }, -/obj/item/weapon/circuitboard/jukebox{ +/obj/item/circuitboard/jukebox{ pixel_x = 3; pixel_y = -3 }, @@ -1444,7 +1444,7 @@ "dj" = ( /obj/structure/table/marble, /obj/machinery/chemical_dispenser/bar_soft/full, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -1481,8 +1481,8 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 1 }, -/obj/item/device/ticket_printer, -/obj/item/device/ticket_printer, +/obj/item/ticket_printer, +/obj/item/ticket_printer, /turf/simulated/floor/tiled/dark, /area/groundbase/security/briefing) "do" = ( @@ -1618,32 +1618,32 @@ /area/maintenance/groundbase/level1/nwtunnel) "dD" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/circuitboard/grinder{ +/obj/item/circuitboard/grinder{ pixel_x = -4; pixel_y = 4 }, -/obj/item/weapon/circuitboard/grill{ +/obj/item/circuitboard/grill{ pixel_x = -3; pixel_y = 3 }, -/obj/item/weapon/circuitboard/fryer{ +/obj/item/circuitboard/fryer{ pixel_x = -2; pixel_y = 2 }, -/obj/item/weapon/circuitboard/oven{ +/obj/item/circuitboard/oven{ pixel_x = -1; pixel_y = 1 }, -/obj/item/weapon/circuitboard/microwave, -/obj/item/weapon/circuitboard/cerealmaker{ +/obj/item/circuitboard/microwave, +/obj/item/circuitboard/cerealmaker{ pixel_x = 1; pixel_y = -1 }, -/obj/item/weapon/circuitboard/candymachine{ +/obj/item/circuitboard/candymachine{ pixel_x = 2; pixel_y = -2 }, -/obj/item/weapon/circuitboard/biogenerator{ +/obj/item/circuitboard/biogenerator{ pixel_x = 3; pixel_y = -3 }, @@ -1711,14 +1711,14 @@ /area/groundbase/engineering/eva) "dJ" = ( /obj/structure/table/reinforced, -/obj/item/device/gps/engineering{ +/obj/item/gps/engineering{ pixel_x = 3; pixel_y = 6 }, -/obj/item/device/gps/engineering{ +/obj/item/gps/engineering{ pixel_y = 3 }, -/obj/item/device/gps/engineering{ +/obj/item/gps/engineering{ pixel_x = -3 }, /obj/machinery/atmospherics/unary/vent_scrubber/on, @@ -1820,6 +1820,15 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, +/obj/structure/closet/walllocker_double/hydrant/south, +/obj/item/hand_labeler, +/obj/item/storage/box/glasses/coffeecup, +/obj/item/storage/box/glasses/coffeecup, +/obj/item/storage/box/glasses/coffeecup, +/obj/item/storage/box/glasses/coffeecup, +/obj/item/storage/box/glasses/coffeecup_tall, +/obj/item/storage/box/glasses/coffeecup_grande, +/obj/item/storage/box/glasses/coffeecup_venti, /turf/simulated/floor/lino, /area/groundbase/civilian/cafe) "dW" = ( @@ -1859,7 +1868,7 @@ /turf/simulated/floor/tiled/white, /area/groundbase/medical/or2) "ea" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled, /area/groundbase/engineering/techstorage) "eb" = ( @@ -1892,22 +1901,22 @@ /turf/simulated/floor/tiled, /area/groundbase/cargo/mining) "ee" = ( -/obj/item/weapon/shovel, -/obj/item/weapon/shovel, -/obj/item/weapon/shovel, -/obj/item/weapon/shovel, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/pickaxe, -/obj/item/weapon/pickaxe, -/obj/item/weapon/pickaxe, -/obj/item/weapon/pickaxe, +/obj/item/shovel, +/obj/item/shovel, +/obj/item/shovel, +/obj/item/shovel, +/obj/item/tool/wrench, +/obj/item/tool/wrench, +/obj/item/tool/wrench, +/obj/item/tool/wrench, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/pickaxe, +/obj/item/pickaxe, +/obj/item/pickaxe, +/obj/item/pickaxe, /obj/structure/closet/walllocker_double/cargo/east, /turf/simulated/floor/tiled, /area/groundbase/cargo/mining) @@ -1963,12 +1972,12 @@ /area/maintenance/groundbase/level1/swtunnel) "ej" = ( /obj/structure/table/steel, -/obj/item/weapon/module/power_control, -/obj/item/weapon/airlock_electronics, -/obj/item/weapon/module/power_control, -/obj/item/weapon/airlock_electronics, -/obj/item/device/aicard, -/obj/item/weapon/aiModule/reset, +/obj/item/module/power_control, +/obj/item/airlock_electronics, +/obj/item/module/power_control, +/obj/item/airlock_electronics, +/obj/item/aicard, +/obj/item/aiModule/reset, /obj/machinery/light, /turf/simulated/floor/tiled, /area/groundbase/engineering/techstorage) @@ -2687,12 +2696,12 @@ "fQ" = ( /obj/structure/table/steel_reinforced, /obj/machinery/atmospherics/unary/vent_pump/on, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /turf/simulated/floor/carpet/bcarpet, /area/groundbase/security/briefing) "fR" = ( /obj/structure/table/glass, -/obj/item/device/healthanalyzer, +/obj/item/healthanalyzer, /obj/item/clothing/accessory/stethoscope, /obj/machinery/light{ dir = 8 @@ -2718,24 +2727,24 @@ /area/groundbase/engineering/lobby) "fU" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/circuitboard/powermonitor{ +/obj/item/circuitboard/powermonitor{ pixel_x = -3; pixel_y = 3 }, -/obj/item/weapon/circuitboard/stationalert_engineering{ +/obj/item/circuitboard/stationalert_engineering{ pixel_x = -2; pixel_y = 2 }, -/obj/item/weapon/circuitboard/atmos_alert{ +/obj/item/circuitboard/atmos_alert{ pixel_x = -1; pixel_y = 1 }, -/obj/item/weapon/circuitboard/rcon_console, -/obj/item/weapon/circuitboard/atmoscontrol{ +/obj/item/circuitboard/rcon_console, +/obj/item/circuitboard/atmoscontrol{ pixel_x = 1; pixel_y = -1 }, -/obj/item/weapon/circuitboard/drone_control{ +/obj/item/circuitboard/drone_control{ pixel_x = 2; pixel_y = -2 }, @@ -2748,10 +2757,10 @@ /turf/simulated/floor/tiled, /area/groundbase/engineering/techstorage) "fV" = ( -/obj/item/weapon/storage/pill_bottle/dice, -/obj/item/weapon/storage/pill_bottle/dice, -/obj/item/weapon/storage/pill_bottle/dice_nerd, -/obj/item/weapon/storage/pill_bottle/dice_nerd, +/obj/item/storage/pill_bottle/dice, +/obj/item/storage/pill_bottle/dice, +/obj/item/storage/pill_bottle/dice_nerd, +/obj/item/storage/pill_bottle/dice_nerd, /obj/structure/closet/walllocker_double/misc_civ{ pixel_y = 28 }, @@ -2866,7 +2875,7 @@ /area/maintenance/groundbase/substation/secsci) "gj" = ( /obj/structure/table/standard, -/obj/item/weapon/phone, +/obj/item/phone, /turf/simulated/floor/bluegrid, /area/groundbase/command/ai/robot) "gk" = ( @@ -3039,7 +3048,7 @@ /area/groundbase/security/halls) "gD" = ( /obj/structure/table/standard, -/obj/item/device/healthanalyzer, +/obj/item/healthanalyzer, /obj/machinery/light{ dir = 4 }, @@ -3305,7 +3314,7 @@ /area/groundbase/security/equipment) "hj" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/hand_labeler, +/obj/item/hand_labeler, /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/carpet, /area/groundbase/security/detective) @@ -3333,10 +3342,10 @@ /turf/simulated/floor/outdoors/sidewalk, /area/groundbase/level1/centsquare) "hm" = ( -/obj/item/weapon/deck/cah, -/obj/item/weapon/deck/cah/black, -/obj/item/weapon/deck/cards, -/obj/item/weapon/deck/wizoff, +/obj/item/deck/cah, +/obj/item/deck/cah/black, +/obj/item/deck/cards, +/obj/item/deck/wizoff, /obj/structure/closet/walllocker_double/misc_civ{ pixel_y = 28 }, @@ -3375,9 +3384,9 @@ /area/groundbase/civilian/cafe) "hs" = ( /obj/structure/table/woodentable, -/obj/item/weapon/folder/red_hos, -/obj/item/weapon/stamp/hos, -/obj/item/device/flashlight/lamp/green{ +/obj/item/folder/red_hos, +/obj/item/stamp/hos, +/obj/item/flashlight/lamp/green{ pixel_x = -14; pixel_y = 4 }, @@ -3641,10 +3650,10 @@ /area/maintenance/groundbase/trashpit) "ic" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/gun/energy/gun{ +/obj/item/gun/energy/gun{ pixel_y = 7 }, -/obj/item/weapon/gun/energy/gun{ +/obj/item/gun/energy/gun{ pixel_y = -5 }, /turf/simulated/floor/tiled/dark, @@ -3654,12 +3663,12 @@ /obj/machinery/recharger{ pixel_y = 4 }, -/obj/item/device/radio/off, -/obj/item/weapon/reagent_containers/food/drinks/flask/barflask{ +/obj/item/radio/off, +/obj/item/reagent_containers/food/drinks/flask/barflask{ pixel_x = -9; pixel_y = -2 }, -/obj/item/device/taperecorder{ +/obj/item/taperecorder{ pixel_x = 10 }, /obj/machinery/atmospherics/unary/vent_scrubber/on{ @@ -3673,9 +3682,9 @@ /area/groundbase/security/hos) "ie" = ( /obj/structure/table/reinforced, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/hand_labeler, +/obj/item/tool/crowbar, +/obj/item/tool/wrench, +/obj/item/hand_labeler, /obj/machinery/light_switch{ dir = 8; pixel_x = 30 @@ -3718,14 +3727,14 @@ /area/groundbase/security/lobby) "ik" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 6 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_y = 3 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = -3 }, /obj/machinery/camera/network/engineering, @@ -3757,7 +3766,7 @@ /turf/simulated/floor/tiled/techmaint, /area/groundbase/engineering/atmos) "ip" = ( -/obj/item/weapon/stool/baystool/padded{ +/obj/item/stool/baystool/padded{ dir = 8 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -3773,8 +3782,8 @@ /obj/item/bodybag/cryobag, /obj/random/medical/lite, /obj/random/medical/lite, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /turf/simulated/floor/tiled, /area/groundbase/engineering/eva) "ir" = ( @@ -3849,13 +3858,13 @@ /area/groundbase/medical/resleeving) "iB" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; pixel_y = 2 }, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 8; pixel_x = -24 }, @@ -3866,19 +3875,19 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/circuitboard/transhuman_resleever{ +/obj/item/circuitboard/transhuman_resleever{ pixel_x = -3; pixel_y = 3 }, -/obj/item/weapon/circuitboard/circuit_imprinter{ +/obj/item/circuitboard/circuit_imprinter{ pixel_x = -1; pixel_y = 1 }, -/obj/item/weapon/circuitboard/aiupload{ +/obj/item/circuitboard/aiupload{ pixel_x = 1; pixel_y = -1 }, -/obj/item/weapon/circuitboard/borgupload{ +/obj/item/circuitboard/borgupload{ pixel_x = 3; pixel_y = -3 }, @@ -3892,11 +3901,11 @@ /obj/structure/closet{ name = "Forensics Gear" }, -/obj/item/weapon/storage/box/gloves, -/obj/item/weapon/storage/box/evidence, -/obj/item/weapon/storage/box/bodybags, -/obj/item/weapon/storage/briefcase/crimekit, -/obj/item/weapon/storage/briefcase/crimekit, +/obj/item/storage/box/gloves, +/obj/item/storage/box/evidence, +/obj/item/storage/box/bodybags, +/obj/item/storage/briefcase/crimekit, +/obj/item/storage/briefcase/crimekit, /obj/machinery/firealarm{ dir = 4 }, @@ -3905,7 +3914,7 @@ "iE" = ( /obj/structure/table/bench/padded, /obj/effect/landmark/start/entertainer, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -4085,10 +4094,10 @@ /area/maintenance/groundbase/level1/netunnel) "iZ" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/storage/box/trackimp{ +/obj/item/storage/box/trackimp{ pixel_y = -4 }, -/obj/item/weapon/storage/box/trackimp{ +/obj/item/storage/box/trackimp{ pixel_x = 5; pixel_y = 1 }, @@ -4222,15 +4231,15 @@ /turf/simulated/floor/lino, /area/groundbase/civilian/bar) "jp" = ( -/obj/item/weapon/storage/box/gloves, -/obj/item/weapon/reagent_containers/syringe, -/obj/item/device/mass_spectrometer/adv, -/obj/item/weapon/reagent_containers/spray/luminol, -/obj/item/device/reagent_scanner, -/obj/item/device/uv_light, -/obj/item/weapon/forensics/sample_kit/powder, -/obj/item/weapon/forensics/sample_kit, -/obj/item/weapon/storage/box/swabs{ +/obj/item/storage/box/gloves, +/obj/item/reagent_containers/syringe, +/obj/item/mass_spectrometer/adv, +/obj/item/reagent_containers/spray/luminol, +/obj/item/reagent_scanner, +/obj/item/uv_light, +/obj/item/forensics/sample_kit/powder, +/obj/item/forensics/sample_kit, +/obj/item/storage/box/swabs{ layer = 5 }, /obj/structure/table/steel_reinforced, @@ -4244,16 +4253,16 @@ /area/groundbase/security/detective) "jq" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_y = -2 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_y = -8 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_y = 4 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_y = 11 }, /turf/simulated/floor/tiled/dark, @@ -4313,16 +4322,16 @@ icon_state = "crate"; name = "Grenade Crate" }, -/obj/item/weapon/grenade/chem_grenade, -/obj/item/weapon/grenade/chem_grenade, -/obj/item/weapon/grenade/chem_grenade, -/obj/item/device/assembly/timer, -/obj/item/device/assembly/timer, -/obj/item/device/assembly/timer, -/obj/item/device/assembly/igniter, -/obj/item/device/assembly/igniter, -/obj/item/device/assembly/igniter, -/obj/item/weapon/tool/screwdriver, +/obj/item/grenade/chem_grenade, +/obj/item/grenade/chem_grenade, +/obj/item/grenade/chem_grenade, +/obj/item/assembly/timer, +/obj/item/assembly/timer, +/obj/item/assembly/timer, +/obj/item/assembly/igniter, +/obj/item/assembly/igniter, +/obj/item/assembly/igniter, +/obj/item/tool/screwdriver, /obj/structure/table/reinforced, /obj/machinery/light{ dir = 4 @@ -4385,7 +4394,7 @@ /turf/simulated/floor/outdoors/grass/seasonal/notrees_nomobs_lowsnow, /area/groundbase/level1/centsquare) "jE" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 24 @@ -4509,7 +4518,7 @@ }, /area/maintenance/groundbase/level1/nwtunnel) "jV" = ( -/obj/item/weapon/stool/baystool/padded{ +/obj/item/stool/baystool/padded{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -4525,14 +4534,14 @@ /area/groundbase/civilian/gateway) "jX" = ( /obj/structure/closet/secure_closet/security, -/obj/item/device/holowarrant, +/obj/item/holowarrant, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, /obj/machinery/light{ dir = 8 }, -/obj/item/device/ticket_printer, +/obj/item/ticket_printer, /turf/simulated/floor/tiled/dark, /area/groundbase/security/equipment) "jY" = ( @@ -4596,11 +4605,11 @@ /area/groundbase/command/tcomms/chamber) "kg" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_x = -2; pixel_y = -1 }, -/obj/item/device/multitool, +/obj/item/multitool, /turf/simulated/floor/tiled, /area/groundbase/civilian/gateway) "kh" = ( @@ -4624,9 +4633,9 @@ /area/groundbase/engineering/atmos) "kk" = ( /obj/structure/table/reinforced, -/obj/item/weapon/tool/crowbar, +/obj/item/tool/crowbar, /obj/item/clothing/gloves/black, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /obj/machinery/firealarm{ dir = 8 }, @@ -4645,11 +4654,11 @@ /area/maintenance/groundbase/level1/swtunnel) "km" = ( /obj/structure/table/steel, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_x = 11; pixel_y = 3 }, @@ -4920,8 +4929,8 @@ /area/groundbase/civilian/gateway) "kL" = ( /obj/structure/table/glass, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /turf/simulated/floor/tiled/white, /area/groundbase/medical/office) "kM" = ( @@ -4937,10 +4946,10 @@ /obj/item/clothing/suit/space/void/security, /obj/item/clothing/mask/breath, /obj/item/clothing/head/helmet/space/void/security, -/obj/item/device/gps/security{ +/obj/item/gps/security{ pixel_y = 3 }, -/obj/item/device/gps/security{ +/obj/item/gps/security{ pixel_x = -3 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -5132,7 +5141,7 @@ /obj/structure/curtain/black{ color = "#361447" }, -/obj/item/weapon/bedsheet/clowndouble, +/obj/item/bedsheet/clowndouble, /obj/structure/bed/double/padded, /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/carpet/gaycarpet, @@ -5164,40 +5173,40 @@ /turf/simulated/floor/bluegrid, /area/groundbase/command/ai/chamber) "lk" = ( -/obj/item/weapon/pipe_dispenser, -/obj/item/device/pipe_painter, -/obj/item/weapon/stock_parts/console_screen, -/obj/item/weapon/stock_parts/scanning_module, -/obj/item/weapon/stock_parts/scanning_module, -/obj/item/weapon/stock_parts/capacitor, -/obj/item/weapon/stock_parts/capacitor, -/obj/item/weapon/stock_parts/micro_laser, -/obj/item/weapon/stock_parts/matter_bin, -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/storage/toolbox/electrical{ +/obj/item/pipe_dispenser, +/obj/item/pipe_painter, +/obj/item/stock_parts/console_screen, +/obj/item/stock_parts/scanning_module, +/obj/item/stock_parts/scanning_module, +/obj/item/stock_parts/capacitor, +/obj/item/stock_parts/capacitor, +/obj/item/stock_parts/micro_laser, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/manipulator, +/obj/item/storage/toolbox/electrical{ pixel_x = 1; pixel_y = -1 }, /obj/item/clothing/gloves/yellow, -/obj/item/device/multitool, -/obj/item/weapon/computer_hardware/hard_drive/portable, -/obj/item/weapon/computer_hardware/hard_drive/portable, -/obj/item/weapon/computer_hardware/nano_printer, -/obj/item/weapon/computer_hardware/tesla_link, -/obj/item/weapon/computer_hardware/processor_unit/small, -/obj/item/weapon/computer_hardware/processor_unit, -/obj/item/weapon/computer_hardware/processor_unit, -/obj/item/weapon/computer_hardware/processor_unit, -/obj/item/weapon/computer_hardware/network_card/wired, -/obj/item/weapon/computer_hardware/network_card, -/obj/item/weapon/computer_hardware/network_card, -/obj/item/weapon/computer_hardware/hard_drive/micro, -/obj/item/weapon/computer_hardware/hard_drive, -/obj/item/weapon/computer_hardware/hard_drive, -/obj/item/weapon/computer_hardware/battery_module/nano, -/obj/item/weapon/computer_hardware/battery_module, -/obj/item/weapon/computer_hardware/battery_module, +/obj/item/multitool, +/obj/item/computer_hardware/hard_drive/portable, +/obj/item/computer_hardware/hard_drive/portable, +/obj/item/computer_hardware/nano_printer, +/obj/item/computer_hardware/tesla_link, +/obj/item/computer_hardware/processor_unit/small, +/obj/item/computer_hardware/processor_unit, +/obj/item/computer_hardware/processor_unit, +/obj/item/computer_hardware/processor_unit, +/obj/item/computer_hardware/network_card/wired, +/obj/item/computer_hardware/network_card, +/obj/item/computer_hardware/network_card, +/obj/item/computer_hardware/hard_drive/micro, +/obj/item/computer_hardware/hard_drive, +/obj/item/computer_hardware/hard_drive, +/obj/item/computer_hardware/battery_module/nano, +/obj/item/computer_hardware/battery_module, +/obj/item/computer_hardware/battery_module, /obj/structure/closet/walllocker_double/engineering/west, /turf/simulated/floor/tiled, /area/groundbase/engineering/techstorage) @@ -5347,12 +5356,12 @@ dir = 1 }, /obj/structure/bookcase, -/obj/item/weapon/book/manual/standard_operating_procedure, -/obj/item/weapon/book/manual/standard_operating_procedure, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/manual/command_guide, -/obj/item/weapon/book/manual/command_guide, +/obj/item/book/manual/standard_operating_procedure, +/obj/item/book/manual/standard_operating_procedure, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/command_guide, +/obj/item/book/manual/command_guide, /obj/effect/floor_decal/spline/plain{ dir = 1 }, @@ -5459,7 +5468,7 @@ /turf/simulated/floor/tiled/techfloor/grid, /area/groundbase/command/tcomms/chamber) "lN" = ( -/obj/item/weapon/stool/baystool/padded{ +/obj/item/stool/baystool/padded{ dir = 4 }, /obj/structure/cable/yellow{ @@ -5545,8 +5554,8 @@ /area/groundbase/security/equipment) "lX" = ( /obj/structure/closet/secure_closet/medical3, -/obj/item/weapon/soap/nanotrasen, -/obj/item/weapon/storage/belt/medical, +/obj/item/soap/nanotrasen, +/obj/item/storage/belt/medical, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, @@ -5814,12 +5823,12 @@ name = "sample weapon permit"; owner = 1 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen/multi, -/obj/item/device/megaphone, +/obj/item/pen/multi, +/obj/item/megaphone, /obj/item/clothing/accessory/permit/gun, /obj/item/clothing/accessory/permit/gun, /obj/item/clothing/accessory/permit/gun, @@ -5874,9 +5883,13 @@ /obj/random/mug, /obj/random/mug, /obj/random/mug, -/obj/item/weapon/reagent_containers/food/drinks/shaker{ - pixel_x = 5; - pixel_y = 6 +/obj/item/reagent_containers/food/drinks/shaker{ + pixel_x = -7; + pixel_y = 18 + }, +/obj/machinery/chemical_dispenser/bar_syrup/full{ + dir = 8; + pixel_x = 7 }, /turf/simulated/floor/lino, /area/groundbase/civilian/cafe) @@ -5948,12 +5961,12 @@ /turf/simulated/floor/tiled/dark, /area/groundbase/security/lobby) "mU" = ( -/obj/item/weapon/storage/box/nifsofts_mining, +/obj/item/storage/box/nifsofts_mining, /obj/structure/table/reinforced, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, -/obj/item/device/personal_shield_generator/belt/mining/loaded, +/obj/item/personal_shield_generator/belt/mining/loaded, /turf/simulated/floor/tiled, /area/groundbase/cargo/mining) "mV" = ( @@ -5962,13 +5975,13 @@ /area/groundbase/civilian/apparel) "mW" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; pixel_y = 2 }, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 8; pixel_x = -24 }, @@ -6033,8 +6046,8 @@ pixel_y = 4 }, /obj/item/clothing/glasses/welding/superior, -/obj/item/device/flashlight/lamp, -/obj/item/weapon/stamp/ce, +/obj/item/flashlight/lamp, +/obj/item/stamp/ce, /turf/simulated/floor/carpet/oracarpet, /area/groundbase/engineering/ce) "nf" = ( @@ -6067,11 +6080,11 @@ dir = 8; layer = 2.6 }, -/obj/item/weapon/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 8 }, -/obj/item/device/personal_shield_generator/security/loaded, +/obj/item/personal_shield_generator/security/loaded, /turf/simulated/floor/tiled/dark, /area/groundbase/security/equipment) "nk" = ( @@ -6122,24 +6135,24 @@ /area/groundbase/engineering/atmos/monitoring) "np" = ( /obj/structure/table/steel, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/holowarrant, -/obj/item/device/holowarrant, -/obj/item/device/holowarrant, -/obj/item/device/holowarrant, -/obj/item/device/retail_scanner/security, -/obj/item/device/retail_scanner/security, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/holowarrant, +/obj/item/holowarrant, +/obj/item/holowarrant, +/obj/item/holowarrant, +/obj/item/retail_scanner/security, +/obj/item/retail_scanner/security, /obj/item/clothing/accessory/badge/holo/cord, /obj/item/clothing/accessory/badge/holo/cord, /obj/item/clothing/accessory/badge/holo, @@ -6254,7 +6267,7 @@ pixel_x = -8; pixel_y = -4 }, -/obj/item/weapon/storage/lockbox, +/obj/item/storage/lockbox, /turf/simulated/floor/tiled/dark, /area/groundbase/security/equipment) "nB" = ( @@ -6279,13 +6292,13 @@ /turf/simulated/floor/plating, /area/groundbase/engineering/storage) "nE" = ( -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, -/obj/item/weapon/cell/high{ +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, @@ -6299,11 +6312,11 @@ /area/groundbase/security/equipment) "nF" = ( /obj/structure/table/reinforced, -/obj/item/weapon/rcd, -/obj/item/weapon/rcd_ammo, -/obj/item/weapon/rcd_ammo, -/obj/item/weapon/rcd_ammo, -/obj/item/weapon/rcd_ammo, +/obj/item/rcd, +/obj/item/rcd_ammo, +/obj/item/rcd_ammo, +/obj/item/rcd_ammo, +/obj/item/rcd_ammo, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, @@ -6311,19 +6324,19 @@ /area/groundbase/engineering/ce) "nG" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/toxin{ +/obj/item/storage/firstaid/toxin{ pixel_x = -9; pixel_y = 10 }, -/obj/item/weapon/storage/firstaid/toxin{ +/obj/item/storage/firstaid/toxin{ pixel_x = -9; pixel_y = 1 }, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ pixel_x = 6; pixel_y = 10 }, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ pixel_x = 6; pixel_y = 1 }, @@ -6346,8 +6359,8 @@ /area/holodeck_control) "nJ" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/surgery, -/obj/item/device/radio/intercom{ +/obj/item/storage/firstaid/surgery, +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -6524,7 +6537,7 @@ /turf/simulated/floor, /area/maintenance/groundbase/substation/secsci) "oe" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/structure/cable/yellow{ icon_state = "1-2" }, @@ -6574,12 +6587,12 @@ /area/groundbase/security/halls) "ol" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_y = 5 }, -/obj/item/weapon/storage/toolbox/electrical, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/device/radio/intercom{ +/obj/item/storage/toolbox/electrical, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -6608,8 +6621,8 @@ }, /obj/structure/table/rack, /obj/item/clothing/shoes/magboots, -/obj/item/device/suit_cooling_unit, -/obj/item/weapon/tank/oxygen, +/obj/item/suit_cooling_unit, +/obj/item/tank/oxygen, /obj/machinery/door/window/brigdoor/eastleft{ name = "Protosuit Storage"; req_access = list(58) @@ -6659,7 +6672,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 24 @@ -6677,7 +6690,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, -/obj/item/device/tape, +/obj/item/tape, /turf/simulated/floor/wood, /area/groundbase/civilian/entrepreneur/meeting) "ox" = ( @@ -6734,7 +6747,7 @@ /area/groundbase/engineering/engine) "oC" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle, /turf/simulated/floor/tiled/dark, /area/groundbase/security/armory) "oD" = ( @@ -6742,7 +6755,7 @@ dir = 8 }, /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/machinery/light{ dir = 4 }, @@ -6822,7 +6835,7 @@ }, /area/maintenance/groundbase/level1/nwtunnel) "oK" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -6895,7 +6908,7 @@ /area/groundbase/level1/northspur) "oT" = ( /obj/structure/table/standard, -/obj/item/device/healthanalyzer, +/obj/item/healthanalyzer, /obj/machinery/light{ dir = 4 }, @@ -6919,7 +6932,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 8 }, -/obj/item/weapon/bananapeel, +/obj/item/bananapeel, /turf/simulated/floor/bmarble, /area/groundbase/civilian/clown) "oV" = ( @@ -6957,8 +6970,8 @@ dir = 8; layer = 2.6 }, -/obj/item/weapon/tank/jetpack/carbondioxide, -/obj/item/weapon/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, /obj/structure/window/reinforced{ dir = 4 }, @@ -7012,7 +7025,7 @@ /obj/structure/table/reinforced, /obj/random/powercell, /obj/random/tech_supply, -/obj/item/device/t_scanner, +/obj/item/t_scanner, /turf/simulated/floor/tiled, /area/groundbase/engineering/workshop) "pg" = ( @@ -7303,10 +7316,10 @@ /area/groundbase/engineering/engine) "pT" = ( /obj/structure/table/reinforced, -/obj/item/weapon/tank/jetpack/carbondioxide, -/obj/item/weapon/tank/jetpack/carbondioxide, -/obj/item/weapon/tank/jetpack/carbondioxide, -/obj/item/weapon/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, @@ -7398,11 +7411,11 @@ "qg" = ( /obj/structure/table/reinforced, /obj/machinery/cell_charger, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, @@ -7414,9 +7427,9 @@ pixel_x = 3; pixel_y = -7 }, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/item/radio/off, /turf/simulated/floor/tiled, /area/groundbase/civilian/gateway) "qi" = ( @@ -7526,7 +7539,7 @@ /area/groundbase/level1/centsquare) "qv" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/box/evidence, +/obj/item/storage/box/evidence, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, @@ -7544,8 +7557,8 @@ /area/groundbase/civilian/bar) "qx" = ( /obj/structure/table/reinforced, -/obj/item/weapon/stamp/internalaffairs, -/obj/item/weapon/stamp/denied{ +/obj/item/stamp/internalaffairs, +/obj/item/stamp/denied{ pixel_x = 4; pixel_y = -2 }, @@ -7581,7 +7594,7 @@ /turf/simulated/floor/tiled, /area/groundbase/engineering/techstorage) "qC" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 24 @@ -7599,8 +7612,8 @@ /obj/machinery/cell_charger{ pixel_y = 7 }, -/obj/item/weapon/cell/super, -/obj/item/weapon/cell/super, +/obj/item/cell/super, +/obj/item/cell/super, /turf/simulated/floor/tiled, /area/groundbase/cargo/mining) "qG" = ( @@ -7669,11 +7682,11 @@ /area/groundbase/level1/northspur) "qQ" = ( /obj/structure/closet/secure_closet/security, -/obj/item/device/holowarrant, +/obj/item/holowarrant, /obj/machinery/camera/network/security{ dir = 4 }, -/obj/item/device/ticket_printer, +/obj/item/ticket_printer, /turf/simulated/floor/tiled/dark, /area/groundbase/security/equipment) "qR" = ( @@ -7699,7 +7712,7 @@ /area/groundbase/cargo/mining) "qV" = ( /obj/structure/table/hardwoodtable, -/obj/item/weapon/reagent_containers/glass/rag, +/obj/item/reagent_containers/glass/rag, /obj/machinery/alarm{ dir = 8 }, @@ -7712,7 +7725,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/flask/vacuumflask{ +/obj/item/reagent_containers/food/drinks/flask/vacuumflask{ pixel_x = -9; pixel_y = 5 }, @@ -7720,14 +7733,14 @@ /area/groundbase/civilian/cafe) "qY" = ( /obj/structure/closet/crate, -/obj/item/weapon/circuitboard/smes, -/obj/item/weapon/circuitboard/smes, -/obj/item/weapon/smes_coil, -/obj/item/weapon/smes_coil, -/obj/item/weapon/smes_coil/super_capacity, -/obj/item/weapon/smes_coil/super_capacity, -/obj/item/weapon/smes_coil/super_io, -/obj/item/weapon/smes_coil/super_io, +/obj/item/circuitboard/smes, +/obj/item/circuitboard/smes, +/obj/item/smes_coil, +/obj/item/smes_coil, +/obj/item/smes_coil/super_capacity, +/obj/item/smes_coil/super_capacity, +/obj/item/smes_coil/super_io, +/obj/item/smes_coil/super_io, /obj/machinery/alarm{ dir = 4 }, @@ -7738,9 +7751,9 @@ /area/groundbase/engineering/storage) "qZ" = ( /obj/structure/table/reinforced, -/obj/item/device/retail_scanner/medical, -/obj/item/weapon/storage/box/body_record_disk, -/obj/item/weapon/storage/box/nifsofts_medical, +/obj/item/retail_scanner/medical, +/obj/item/storage/box/body_record_disk, +/obj/item/storage/box/nifsofts_medical, /turf/simulated/floor/tiled/white, /area/groundbase/medical/equipment) "ra" = ( @@ -7797,12 +7810,12 @@ dir = 1 }, /obj/structure/bookcase, -/obj/item/weapon/book/manual/standard_operating_procedure, -/obj/item/weapon/book/manual/standard_operating_procedure, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/manual/command_guide, -/obj/item/weapon/book/manual/command_guide, +/obj/item/book/manual/standard_operating_procedure, +/obj/item/book/manual/standard_operating_procedure, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/command_guide, +/obj/item/book/manual/command_guide, /obj/effect/floor_decal/spline/plain{ dir = 1 }, @@ -7851,28 +7864,28 @@ /area/groundbase/level1/westspur) "rj" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/circuitboard/rdserver{ +/obj/item/circuitboard/rdserver{ pixel_x = -3; pixel_y = 3 }, -/obj/item/weapon/circuitboard/protolathe{ +/obj/item/circuitboard/protolathe{ pixel_x = -2; pixel_y = 2 }, -/obj/item/weapon/circuitboard/destructive_analyzer{ +/obj/item/circuitboard/destructive_analyzer{ pixel_x = -1; pixel_y = 1 }, -/obj/item/weapon/circuitboard/rdconsole, -/obj/item/weapon/circuitboard/autolathe{ +/obj/item/circuitboard/rdconsole, +/obj/item/circuitboard/autolathe{ pixel_x = 1; pixel_y = -1 }, -/obj/item/weapon/circuitboard/mechfab{ +/obj/item/circuitboard/mechfab{ pixel_x = 2; pixel_y = -2 }, -/obj/item/weapon/circuitboard/prosthetics{ +/obj/item/circuitboard/prosthetics{ pixel_x = 3; pixel_y = -3 }, @@ -8011,18 +8024,18 @@ /area/groundbase/command/ai/hall) "rA" = ( /obj/structure/table/reinforced, -/obj/item/weapon/folder{ +/obj/item/folder{ pixel_x = -4 }, -/obj/item/weapon/folder/blue{ +/obj/item/folder/blue{ pixel_x = 5 }, -/obj/item/weapon/folder/red{ +/obj/item/folder/red{ pixel_y = 3 }, -/obj/item/weapon/folder/yellow, -/obj/item/weapon/clipboard, -/obj/item/weapon/storage/briefcase{ +/obj/item/folder/yellow, +/obj/item/clipboard, +/obj/item/storage/briefcase{ pixel_x = -2; pixel_y = -5 }, @@ -8255,14 +8268,14 @@ /obj/item/clothing/accessory/stethoscope, /obj/item/clothing/accessory/stethoscope, /obj/item/clothing/accessory/stethoscope, -/obj/item/weapon/storage/box/syringes{ +/obj/item/storage/box/syringes{ pixel_y = 9 }, -/obj/item/weapon/storage/box/syringes{ +/obj/item/storage/box/syringes{ pixel_y = 9 }, /obj/random/medical, -/obj/item/weapon/storage/box/beakers{ +/obj/item/storage/box/beakers{ pixel_x = 14; pixel_y = 10 }, @@ -8276,17 +8289,17 @@ /obj/structure/closet/walllocker_double/misc_civ/south{ name = "vanity" }, -/obj/item/weapon/reagent_containers/glass/bottle/essential_oil, -/obj/item/weapon/entrepreneur/crystal, -/obj/item/weapon/entrepreneur/crystal, -/obj/item/weapon/entrepreneur/crystal, -/obj/item/weapon/entrepreneur/crystal, -/obj/item/weapon/entrepreneur/crystal, -/obj/item/weapon/makeover, -/obj/item/weapon/lipstick/random, -/obj/item/weapon/lipstick/random, -/obj/item/weapon/nailpolish_remover, -/obj/item/weapon/nailpolish, +/obj/item/reagent_containers/glass/bottle/essential_oil, +/obj/item/entrepreneur/crystal, +/obj/item/entrepreneur/crystal, +/obj/item/entrepreneur/crystal, +/obj/item/entrepreneur/crystal, +/obj/item/entrepreneur/crystal, +/obj/item/makeover, +/obj/item/lipstick/random, +/obj/item/lipstick/random, +/obj/item/nailpolish_remover, +/obj/item/nailpolish, /turf/simulated/floor/tiled/white, /area/groundbase/civilian/entrepreneur/session) "sj" = ( @@ -8329,7 +8342,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 }, -/obj/item/weapon/storage/box/nifsofts_security, +/obj/item/storage/box/nifsofts_security, /turf/simulated/floor/tiled/dark, /area/groundbase/security/equipment) "so" = ( @@ -8421,8 +8434,8 @@ dir = 1 }, /obj/structure/closet/crate/freezer, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /obj/structure/sink{ dir = 4; pixel_x = 11 @@ -8458,7 +8471,7 @@ /area/groundbase/security/briefing) "sC" = ( /obj/structure/table/reinforced, -/obj/item/device/retail_scanner/engineering, +/obj/item/retail_scanner/engineering, /obj/machinery/atmospherics/pipe/simple/hidden/black{ dir = 4 }, @@ -8495,10 +8508,10 @@ /area/groundbase/civilian/arrivals) "sJ" = ( /obj/structure/table/rack, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, @@ -8561,7 +8574,7 @@ /obj/machinery/light{ dir = 4 }, -/obj/item/weapon/hand_labeler, +/obj/item/hand_labeler, /turf/simulated/floor/tiled, /area/groundbase/civilian/toolstorage) "sQ" = ( @@ -8820,11 +8833,11 @@ /turf/simulated/floor, /area/groundbase/cargo/mining) "tw" = ( -/obj/item/weapon/book/manual/security_space_law, +/obj/item/book/manual/wiki/security_space_law, /obj/item/gunbox/warden, /obj/structure/closet/secure_closet/warden, -/obj/item/device/ticket_printer, -/obj/item/weapon/gun/energy/sizegun, +/obj/item/ticket_printer, +/obj/item/gun/energy/sizegun, /turf/simulated/floor/tiled/dark, /area/groundbase/security/warden) "tx" = ( @@ -8875,7 +8888,7 @@ dir = 8 }, /obj/structure/table/steel, -/obj/item/weapon/gun/energy/laser/practice, +/obj/item/gun/energy/laser/practice, /obj/machinery/alarm{ dir = 1 }, @@ -8999,10 +9012,10 @@ /obj/structure/closet/walllocker_double/misc_civ/north{ name = "streamer equipment" }, -/obj/item/device/tvcamera/streamer, -/obj/item/device/camera/selfie, -/obj/item/device/camera_film, -/obj/item/device/camera_film, +/obj/item/tvcamera/streamer, +/obj/item/camera/selfie, +/obj/item/camera_film, +/obj/item/camera_film, /turf/simulated/floor/wood, /area/groundbase/civilian/entrepreneur) "tR" = ( @@ -9013,11 +9026,11 @@ /area/groundbase/civilian/entrepreneur/session) "tS" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/gun/energy/laser{ +/obj/item/gun/energy/laser{ pixel_x = -1; pixel_y = 2 }, -/obj/item/weapon/gun/energy/laser{ +/obj/item/gun/energy/laser{ pixel_x = -1; pixel_y = -11 }, @@ -9055,15 +9068,15 @@ /area/groundbase/engineering/engine) "tY" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 7 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_x = 1; pixel_y = 8 }, -/obj/item/weapon/storage/box/donut, +/obj/item/storage/box/donut, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, @@ -9126,11 +9139,11 @@ /area/groundbase/civilian/mensrestroom) "uf" = ( /obj/structure/table/standard, -/obj/item/weapon/stock_parts/subspace/sub_filter, -/obj/item/weapon/stock_parts/subspace/sub_filter, -/obj/item/weapon/stock_parts/subspace/sub_filter, -/obj/item/weapon/stock_parts/subspace/sub_filter, -/obj/item/weapon/stock_parts/subspace/sub_filter, +/obj/item/stock_parts/subspace/sub_filter, +/obj/item/stock_parts/subspace/sub_filter, +/obj/item/stock_parts/subspace/sub_filter, +/obj/item/stock_parts/subspace/sub_filter, +/obj/item/stock_parts/subspace/sub_filter, /obj/machinery/light/no_nightshift, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -9315,11 +9328,11 @@ /turf/simulated/floor/tiled/dark, /area/groundbase/civilian/gateway) "uA" = ( -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = 7 }, /obj/structure/table/steel, -/obj/item/weapon/pen, +/obj/item/pen, /obj/machinery/recharger{ pixel_y = 4 }, @@ -9839,14 +9852,14 @@ /area/groundbase/security/lobby) "vR" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/folder/red, -/obj/item/weapon/folder/blue{ +/obj/item/folder/red, +/obj/item/folder/blue{ pixel_y = -3 }, -/obj/item/weapon/folder/yellow{ +/obj/item/folder/yellow{ pixel_y = -5 }, -/obj/item/weapon/hand_labeler, +/obj/item/hand_labeler, /turf/simulated/floor/carpet, /area/groundbase/security/detective) "vT" = ( @@ -9945,12 +9958,12 @@ /area/groundbase/medical/or2) "wf" = ( /obj/structure/table/reinforced, -/obj/item/device/glasses_kit, -/obj/item/weapon/storage/box/rxglasses{ +/obj/item/glasses_kit, +/obj/item/storage/box/rxglasses{ pixel_x = 7; pixel_y = 7 }, -/obj/item/weapon/storage/box/rxglasses, +/obj/item/storage/box/rxglasses, /turf/simulated/floor/tiled/white, /area/groundbase/medical/equipment) "wg" = ( @@ -10177,36 +10190,36 @@ /turf/simulated/floor/wood, /area/groundbase/civilian/entrepreneur) "wI" = ( -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = -4; pixel_y = 4 }, -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = 4; pixel_y = -6 }, -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = -4; pixel_y = -6 }, /obj/structure/table/rack/shelf, -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = -4; pixel_y = 4 }, -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = 4; pixel_y = -6 }, -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = -4; pixel_y = -6 }, @@ -10256,7 +10269,7 @@ /area/maintenance/groundbase/substation/aiciv) "wN" = ( /obj/structure/table/reinforced, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_y = 7 }, /obj/machinery/atmospherics/unary/vent_scrubber/on{ @@ -10266,8 +10279,8 @@ /area/groundbase/security/iaa1) "wO" = ( /obj/structure/closet/secure_closet/medical3, -/obj/item/weapon/soap/nanotrasen, -/obj/item/weapon/storage/belt/medical, +/obj/item/soap/nanotrasen, +/obj/item/storage/belt/medical, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 8 }, @@ -10291,28 +10304,28 @@ /area/maintenance/groundbase/substation/aiciv) "wS" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/circuitboard/sleeper{ +/obj/item/circuitboard/sleeper{ pixel_x = -3; pixel_y = 3 }, -/obj/item/weapon/circuitboard/sleeper_console{ +/obj/item/circuitboard/sleeper_console{ pixel_x = -2; pixel_y = 2 }, -/obj/item/weapon/circuitboard/body_scanner{ +/obj/item/circuitboard/body_scanner{ pixel_x = -1; pixel_y = 1 }, -/obj/item/weapon/circuitboard/scanner_console, -/obj/item/weapon/circuitboard/grinder{ +/obj/item/circuitboard/scanner_console, +/obj/item/circuitboard/grinder{ pixel_x = 1; pixel_y = -1 }, -/obj/item/weapon/circuitboard/bioprinter{ +/obj/item/circuitboard/bioprinter{ pixel_x = 2; pixel_y = -2 }, -/obj/item/weapon/circuitboard/chem_master{ +/obj/item/circuitboard/chem_master{ pixel_x = 3; pixel_y = -3 }, @@ -10378,7 +10391,7 @@ }, /area/maintenance/groundbase/level1/swtunnel) "wY" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 24 @@ -10424,11 +10437,11 @@ /area/groundbase/command/tcomms/storage) "xd" = ( /obj/structure/table/standard, -/obj/item/weapon/aiModule/consuming_eradicator, -/obj/item/weapon/aiModule/guard_dog, -/obj/item/weapon/aiModule/pleasurebot, -/obj/item/weapon/aiModule/protective_shell, -/obj/item/weapon/aiModule/scientific_pursuer, +/obj/item/aiModule/consuming_eradicator, +/obj/item/aiModule/guard_dog, +/obj/item/aiModule/pleasurebot, +/obj/item/aiModule/protective_shell, +/obj/item/aiModule/scientific_pursuer, /obj/machinery/light, /turf/simulated/floor/bluegrid, /area/groundbase/command/ai/storage) @@ -10497,7 +10510,7 @@ /obj/effect/floor_decal/spline/fancy/wood{ dir = 1 }, -/obj/item/weapon/clipboard, +/obj/item/clipboard, /turf/simulated/floor/carpet/purcarpet, /area/groundbase/civilian/entrepreneur) "xm" = ( @@ -10507,23 +10520,23 @@ /area/groundbase/engineering/atmos) "xn" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/glass/bottle/biomass{ +/obj/item/reagent_containers/glass/bottle/biomass{ pixel_x = -4; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/glass/bottle/biomass{ +/obj/item/reagent_containers/glass/bottle/biomass{ pixel_x = -7; pixel_y = 4 }, -/obj/item/weapon/reagent_containers/glass/bottle/biomass{ +/obj/item/reagent_containers/glass/bottle/biomass{ pixel_x = 6; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/glass/bottle/biomass{ +/obj/item/reagent_containers/glass/bottle/biomass{ pixel_x = 4; pixel_y = 6 }, -/obj/item/device/flashlight/pen{ +/obj/item/flashlight/pen{ pixel_x = -3; pixel_y = -3 }, @@ -10545,7 +10558,7 @@ /obj/item/clothing/mask/breath, /obj/item/clothing/shoes/magboots, /obj/item/clothing/head/helmet/space/void/mining, -/obj/item/weapon/mining_scanner, +/obj/item/mining_scanner, /obj/structure/cable/yellow{ icon_state = "4-8" }, @@ -10584,7 +10597,7 @@ /area/groundbase/security/warden) "xr" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/donut, +/obj/item/storage/box/donut, /obj/machinery/camera/network/security, /turf/simulated/floor/tiled/dark, /area/groundbase/security/lobby) @@ -10645,8 +10658,8 @@ /area/groundbase/command/tcomms/foyer) "xy" = ( /obj/structure/table/standard, -/obj/item/weapon/stock_parts/subspace/transmitter, -/obj/item/weapon/stock_parts/subspace/transmitter, +/obj/item/stock_parts/subspace/transmitter, +/obj/item/stock_parts/subspace/transmitter, /obj/machinery/light, /turf/simulated/floor/tiled/techmaint, /area/groundbase/command/tcomms/storage) @@ -10683,8 +10696,8 @@ /area/groundbase/civilian/toolstorage) "xC" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/surgery, -/obj/item/device/radio/intercom{ +/obj/item/storage/firstaid/surgery, +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -10800,7 +10813,7 @@ }, /area/groundbase/level1/eastspur) "xR" = ( -/obj/item/weapon/stool/baystool/padded{ +/obj/item/stool/baystool/padded{ dir = 4 }, /turf/simulated/floor/wood, @@ -11044,17 +11057,17 @@ pixel_x = -32; pixel_y = 32 }, -/obj/item/device/radio/intercom/locked/ai_private{ +/obj/item/radio/intercom/locked/ai_private{ dir = 4; pixel_x = 32 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ broadcasting = 1; dir = 8; name = "Common Channel"; pixel_x = -21 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -11122,11 +11135,11 @@ /area/groundbase/civilian/womensrestroom) "yD" = ( /obj/structure/table/standard, -/obj/item/weapon/aiModule/oxygen, -/obj/item/weapon/aiModule/oneHuman, -/obj/item/weapon/aiModule/purge, -/obj/item/weapon/aiModule/antimov, -/obj/item/weapon/aiModule/teleporterOffline, +/obj/item/aiModule/oxygen, +/obj/item/aiModule/oneHuman, +/obj/item/aiModule/purge, +/obj/item/aiModule/antimov, +/obj/item/aiModule/teleporterOffline, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, @@ -11191,7 +11204,7 @@ /area/groundbase/engineering/lobby) "yL" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_y = 8 }, /turf/simulated/floor/carpet, @@ -11235,16 +11248,16 @@ /area/groundbase/engineering/atmos) "yS" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -18; pixel_y = 7 }, -/obj/item/weapon/pen/blue{ +/obj/item/pen/blue{ pixel_x = 2; pixel_y = 3 }, -/obj/item/weapon/pen, -/obj/item/weapon/pen/blade/red{ +/obj/item/pen, +/obj/item/pen/blade/red{ pixel_x = -2; pixel_y = -2 }, @@ -11483,7 +11496,7 @@ /area/groundbase/engineering/workshop) "zw" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 8; pixel_x = -24 }, @@ -11515,8 +11528,8 @@ "zB" = ( /obj/structure/table/reinforced, /obj/machinery/recharger, -/obj/item/weapon/cell/device, -/obj/item/weapon/cell/device, +/obj/item/cell/device, +/obj/item/cell/device, /obj/structure/cable{ icon_state = "1-4" }, @@ -11572,11 +11585,11 @@ /area/groundbase/medical/or1) "zH" = ( /obj/structure/table/standard, -/obj/item/weapon/aiModule/asimov, -/obj/item/weapon/aiModule/freeformcore, -/obj/item/weapon/aiModule/corp, -/obj/item/weapon/aiModule/paladin, -/obj/item/weapon/aiModule/robocop, +/obj/item/aiModule/asimov, +/obj/item/aiModule/freeformcore, +/obj/item/aiModule/corp, +/obj/item/aiModule/paladin, +/obj/item/aiModule/robocop, /obj/machinery/light_switch{ dir = 4; pixel_x = -30 @@ -11723,7 +11736,7 @@ /area/groundbase/security/lobby) "zY" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/toolbox/electrical{ +/obj/item/storage/toolbox/electrical{ pixel_x = 1; pixel_y = -1 }, @@ -11808,10 +11821,10 @@ /area/groundbase/cargo/mining) "Aj" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = 7 }, -/obj/item/weapon/pen/blue{ +/obj/item/pen/blue{ pixel_y = 8 }, /turf/simulated/floor/tiled/dark, @@ -11849,8 +11862,8 @@ /area/groundbase/engineering/lobby) "An" = ( /obj/structure/table/rack/shelf, -/obj/item/device/cataloguer, -/obj/item/device/cataloguer, +/obj/item/cataloguer, +/obj/item/cataloguer, /turf/simulated/floor/tiled, /area/groundbase/civilian/gateway) "Ao" = ( @@ -11896,14 +11909,14 @@ /area/groundbase/security/equipment) "At" = ( /obj/structure/closet/secure_closet/security, -/obj/item/device/holowarrant, +/obj/item/holowarrant, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, /obj/machinery/light{ dir = 4 }, -/obj/item/device/ticket_printer, +/obj/item/ticket_printer, /turf/simulated/floor/tiled/dark, /area/groundbase/security/equipment) "Au" = ( @@ -12160,7 +12173,7 @@ pixel_x = 7; pixel_y = 5 }, -/obj/item/weapon/reagent_containers/glass/rag{ +/obj/item/reagent_containers/glass/rag{ pixel_x = -5; pixel_y = 17 }, @@ -12349,7 +12362,7 @@ /turf/simulated/floor/outdoors/sidewalk, /area/groundbase/level1/centsquare) "Bw" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, /turf/simulated/floor/tiled/dark, @@ -12453,18 +12466,18 @@ /area/groundbase/cargo/mining) "BH" = ( /obj/structure/table/reinforced, -/obj/item/device/radio/off{ +/obj/item/radio/off{ pixel_y = 6 }, -/obj/item/device/radio/off{ +/obj/item/radio/off{ pixel_x = -6; pixel_y = 4 }, -/obj/item/device/radio/off{ +/obj/item/radio/off{ pixel_x = 6; pixel_y = 4 }, -/obj/item/device/radio/off, +/obj/item/radio/off, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, @@ -12675,14 +12688,14 @@ /area/groundbase/cargo/mining) "Ck" = ( /obj/structure/table/standard, -/obj/item/device/defib_kit/loaded, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/defib_kit/loaded, +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; pixel_y = 2 }, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 4; pixel_x = 24 }, @@ -12704,11 +12717,11 @@ /area/groundbase/engineering/lobby) "Cn" = ( /obj/structure/closet/secure_closet/security, -/obj/item/device/holowarrant, +/obj/item/holowarrant, /obj/machinery/firealarm{ dir = 4 }, -/obj/item/device/ticket_printer, +/obj/item/ticket_printer, /turf/simulated/floor/tiled/dark, /area/groundbase/security/equipment) "Co" = ( @@ -12717,7 +12730,7 @@ department = "Head of Security"; pixel_y = 6 }, -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ dir = 1; pixel_y = 24 }, @@ -12828,8 +12841,8 @@ /area/maintenance/groundbase/substation/secsci) "CA" = ( /obj/structure/bookcase, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/manual/security_space_law, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/wiki/security_space_law, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, @@ -12851,8 +12864,8 @@ /area/groundbase/level1/eastspur) "CG" = ( /obj/structure/table/reinforced, -/obj/item/weapon/stamp/internalaffairs, -/obj/item/weapon/stamp/denied{ +/obj/item/stamp/internalaffairs, +/obj/item/stamp/denied{ pixel_x = 4; pixel_y = -2 }, @@ -12956,7 +12969,7 @@ /area/groundbase/security/halle) "CT" = ( /obj/structure/table/standard, -/obj/item/device/healthanalyzer, +/obj/item/healthanalyzer, /obj/machinery/light{ dir = 8 }, @@ -13241,9 +13254,9 @@ /area/groundbase/civilian/mensrestroom) "DC" = ( /obj/structure/bookcase, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/manual/standard_operating_procedure, -/obj/item/weapon/book/manual/command_guide, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/standard_operating_procedure, +/obj/item/book/manual/command_guide, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, @@ -13459,11 +13472,11 @@ /area/groundbase/engineering/eva) "Ea" = ( /obj/structure/table/steel, -/obj/item/weapon/folder/red{ +/obj/item/folder/red{ pixel_x = 2; pixel_y = 4 }, -/obj/item/weapon/folder/red, +/obj/item/folder/red, /turf/simulated/floor/tiled, /area/groundbase/security/processing) "Eb" = ( @@ -13520,14 +13533,14 @@ /turf/simulated/floor/outdoors/sidewalk/side, /area/groundbase/level1/sw) "Ek" = ( -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 6 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_y = 3 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = -3 }, /obj/structure/table/reinforced, @@ -13575,12 +13588,12 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/circuitboard/crew{ +/obj/item/circuitboard/crew{ pixel_x = -3; pixel_y = 3 }, -/obj/item/weapon/circuitboard/card, -/obj/item/weapon/circuitboard/communications{ +/obj/item/circuitboard/card, +/obj/item/circuitboard/communications{ pixel_x = 3; pixel_y = -3 }, @@ -13646,7 +13659,7 @@ /area/groundbase/civilian/entrepreneur) "Ex" = ( /obj/structure/table/standard, -/obj/item/weapon/aiModule/reset, +/obj/item/aiModule/reset, /obj/machinery/firealarm, /turf/simulated/floor/bluegrid, /area/groundbase/command/ai/storage) @@ -13732,7 +13745,7 @@ }, /area/maintenance/groundbase/level1/nwtunnel) "EL" = ( -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ dir = 1; pixel_y = 24 }, @@ -13840,15 +13853,15 @@ /turf/simulated/floor/tiled/dark, /area/groundbase/security/equipment) "EY" = ( -/obj/item/weapon/surgical/cautery, +/obj/item/surgical/cautery, /obj/structure/table/standard, -/obj/item/weapon/autopsy_scanner, -/obj/item/weapon/surgical/scalpel, +/obj/item/autopsy_scanner, +/obj/item/surgical/scalpel, /turf/simulated/floor/tiled/white, /area/groundbase/medical/morgue) "EZ" = ( /obj/structure/table/reinforced, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_y = 7 }, /obj/machinery/atmospherics/unary/vent_scrubber/on{ @@ -13874,7 +13887,7 @@ layer = 2.9 }, /obj/item/clothing/mask/breath, -/obj/item/weapon/rig/eva/equipped, +/obj/item/rig/eva/equipped, /obj/machinery/door/window/brigdoor{ req_access = list(11,24) }, @@ -14083,13 +14096,13 @@ dir = 8 }, /obj/structure/table/steel, -/obj/item/weapon/gun/energy/laser/practice, +/obj/item/gun/energy/laser/practice, /obj/item/clothing/ears/earmuffs, /obj/item/clothing/glasses/goggles, /turf/simulated/floor/tiled/dark, /area/security/range) "FB" = ( -/obj/item/weapon/stool/baystool/padded{ +/obj/item/stool/baystool/padded{ dir = 1 }, /obj/structure/cable/yellow{ @@ -14177,7 +14190,7 @@ "FM" = ( /obj/structure/table/hardwoodtable, /obj/effect/floor_decal/spline/fancy/wood, -/obj/item/weapon/clipboard, +/obj/item/clipboard, /turf/simulated/floor/carpet/purcarpet, /area/groundbase/civilian/entrepreneur) "FN" = ( @@ -14297,7 +14310,7 @@ /turf/simulated/floor/tiled/white, /area/groundbase/civilian/mensrestroom) "Ga" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 24 @@ -14312,7 +14325,7 @@ "Gd" = ( /obj/structure/table/hardwoodtable, /obj/machinery/atmospherics/unary/vent_scrubber/on, -/obj/item/weapon/paper_bin, +/obj/item/paper_bin, /obj/effect/floor_decal/spline/fancy/wood{ dir = 9 }, @@ -14487,7 +14500,7 @@ "Gw" = ( /obj/structure/table/reinforced, /obj/random/toolbox, -/obj/item/device/geiger, +/obj/item/geiger, /turf/simulated/floor/tiled, /area/groundbase/engineering/workshop) "Gx" = ( @@ -14523,17 +14536,17 @@ /turf/simulated/floor/reinforced, /area/groundbase/civilian/toolstorage) "GC" = ( -/obj/item/weapon/circuitboard/telecomms/processor, -/obj/item/weapon/circuitboard/telecomms/processor, -/obj/item/weapon/circuitboard/telecomms/receiver, -/obj/item/weapon/circuitboard/telecomms/server, -/obj/item/weapon/circuitboard/telecomms/server, -/obj/item/weapon/circuitboard/telecomms/bus, -/obj/item/weapon/circuitboard/telecomms/bus, -/obj/item/weapon/circuitboard/telecomms/broadcaster, -/obj/item/weapon/circuitboard/telecomms/exonet_node, -/obj/item/weapon/circuitboard/ntnet_relay, -/obj/item/weapon/circuitboard/telecomms/relay, +/obj/item/circuitboard/telecomms/processor, +/obj/item/circuitboard/telecomms/processor, +/obj/item/circuitboard/telecomms/receiver, +/obj/item/circuitboard/telecomms/server, +/obj/item/circuitboard/telecomms/server, +/obj/item/circuitboard/telecomms/bus, +/obj/item/circuitboard/telecomms/bus, +/obj/item/circuitboard/telecomms/broadcaster, +/obj/item/circuitboard/telecomms/exonet_node, +/obj/item/circuitboard/ntnet_relay, +/obj/item/circuitboard/telecomms/relay, /obj/structure/table/standard, /turf/simulated/floor/tiled/techmaint, /area/groundbase/command/tcomms/storage) @@ -14543,13 +14556,13 @@ /obj/random/tetheraid, /obj/item/clothing/gloves/sterile/nitrile, /obj/item/clothing/gloves/sterile/nitrile, -/obj/item/weapon/storage/belt/medical, -/obj/item/weapon/storage/belt/medical, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/belt/medical, +/obj/item/storage/belt/medical, +/obj/item/storage/firstaid/regular{ pixel_x = 5; pixel_y = 8 }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = 5; pixel_y = 8 }, @@ -14860,9 +14873,9 @@ /area/groundbase/engineering/atmos) "Hs" = ( /obj/structure/table/standard, -/obj/item/weapon/stock_parts/subspace/ansible, -/obj/item/weapon/stock_parts/subspace/ansible, -/obj/item/weapon/stock_parts/subspace/ansible, +/obj/item/stock_parts/subspace/ansible, +/obj/item/stock_parts/subspace/ansible, +/obj/item/stock_parts/subspace/ansible, /obj/machinery/alarm, /turf/simulated/floor/tiled/techmaint, /area/groundbase/command/tcomms/storage) @@ -14887,9 +14900,9 @@ /area/maintenance/groundbase/level1/nwtunnel) "Hu" = ( /obj/structure/table/standard, -/obj/item/weapon/stock_parts/subspace/amplifier, -/obj/item/weapon/stock_parts/subspace/amplifier, -/obj/item/weapon/stock_parts/subspace/amplifier, +/obj/item/stock_parts/subspace/amplifier, +/obj/item/stock_parts/subspace/amplifier, +/obj/item/stock_parts/subspace/amplifier, /turf/simulated/floor/tiled/techmaint, /area/groundbase/command/tcomms/storage) "Hv" = ( @@ -14901,7 +14914,7 @@ icon_state = "0-4" }, /obj/random/paicard, -/obj/item/device/ticket_printer, +/obj/item/ticket_printer, /turf/simulated/floor/tiled/dark, /area/groundbase/security/hos) "Hw" = ( @@ -14959,11 +14972,11 @@ /area/groundbase/civilian/bar) "HC" = ( /obj/structure/table/reinforced, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = 4; pixel_y = 4 }, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = -4 }, /obj/machinery/power/apc{ @@ -15211,13 +15224,13 @@ /turf/simulated/floor/tiled, /area/groundbase/security/processing) "Ie" = ( -/obj/item/weapon/material/fishing_rod/modern, -/obj/item/weapon/material/fishing_rod/modern, -/obj/item/weapon/material/fishing_rod/modern, -/obj/item/weapon/material/fishing_rod/modern, +/obj/item/material/fishing_rod/modern, +/obj/item/material/fishing_rod/modern, +/obj/item/material/fishing_rod/modern, +/obj/item/material/fishing_rod/modern, /obj/random/fishing_junk, -/obj/item/weapon/material/fishing_net, -/obj/item/weapon/material/fishing_net, +/obj/item/material/fishing_net, +/obj/item/material/fishing_net, /obj/item/clothing/head/fishing, /obj/structure/table/rack, /obj/item/stack/cable_coil/random, @@ -15261,16 +15274,16 @@ /area/groundbase/civilian/gameroom) "Ij" = ( /obj/structure/table/standard, -/obj/item/weapon/stock_parts/subspace/analyzer, -/obj/item/weapon/stock_parts/subspace/analyzer, -/obj/item/weapon/stock_parts/subspace/analyzer, +/obj/item/stock_parts/subspace/analyzer, +/obj/item/stock_parts/subspace/analyzer, +/obj/item/stock_parts/subspace/analyzer, /turf/simulated/floor/tiled/techmaint, /area/groundbase/command/tcomms/storage) "Ik" = ( /obj/structure/bed/chair{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -15310,14 +15323,14 @@ /area/groundbase/civilian/entrepreneur) "Ir" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/gun/energy/ionrifle/pistol, +/obj/item/gun/energy/ionrifle/pistol, /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/tiled/dark, /area/groundbase/security/armory) "Is" = ( /obj/machinery/vending/loadout/uniform, /obj/machinery/atmospherics/unary/vent_scrubber/on, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 24 @@ -15354,18 +15367,18 @@ /area/groundbase/command/ai/robot) "Iw" = ( /obj/structure/table/reinforced, -/obj/item/weapon/folder{ +/obj/item/folder{ pixel_x = -4 }, -/obj/item/weapon/folder/blue{ +/obj/item/folder/blue{ pixel_x = 5 }, -/obj/item/weapon/folder/red{ +/obj/item/folder/red{ pixel_y = 3 }, -/obj/item/weapon/folder/yellow, -/obj/item/weapon/clipboard, -/obj/item/weapon/storage/briefcase{ +/obj/item/folder/yellow, +/obj/item/clipboard, +/obj/item/storage/briefcase{ pixel_x = -2; pixel_y = -5 }, @@ -15390,8 +15403,8 @@ /area/groundbase/level1/centsquare) "Iz" = ( /obj/structure/table/reinforced, -/obj/item/device/megaphone, -/obj/item/device/radio{ +/obj/item/megaphone, +/obj/item/radio{ pixel_x = -4 }, /turf/simulated/floor/tiled, @@ -15417,7 +15430,7 @@ /area/groundbase/command/ai/chamber) "IC" = ( /obj/structure/table/standard, -/obj/item/weapon/aiModule/freeform, +/obj/item/aiModule/freeform, /obj/machinery/alarm, /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/bluegrid, @@ -15440,7 +15453,7 @@ dir = 8; pixel_x = -6 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -15590,8 +15603,8 @@ /area/groundbase/level1/sw) "IW" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/surgery, -/obj/item/device/radio/intercom{ +/obj/item/storage/firstaid/surgery, +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 24 @@ -15697,8 +15710,8 @@ /turf/simulated/floor/tiled/dark, /area/groundbase/civilian/bar) "Jk" = ( -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, /obj/structure/table/reinforced, /obj/structure/sign/painting/library_secure{ pixel_y = -30 @@ -15729,17 +15742,17 @@ /area/groundbase/command/ai/upload) "Jp" = ( /obj/structure/table/reinforced, -/obj/item/weapon/clipboard, -/obj/item/weapon/folder/red, -/obj/item/weapon/paper_bin{ +/obj/item/clipboard, +/obj/item/folder/red, +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/stamp/ward, -/obj/item/weapon/stamp/denied{ +/obj/item/stamp/ward, +/obj/item/stamp/denied{ pixel_x = 5 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/machinery/alarm, /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/tiled/dark, @@ -15821,7 +15834,7 @@ /obj/machinery/computer/secure_data{ dir = 4 }, -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ dir = 8; pixel_x = -24 }, @@ -15849,7 +15862,7 @@ /turf/simulated/floor/tiled/white, /area/groundbase/civilian/bar) "JE" = ( -/obj/item/weapon/stool/baystool/padded{ +/obj/item/stool/baystool/padded{ dir = 8 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -15908,14 +15921,14 @@ /obj/structure/closet{ name = "meeting room closet" }, -/obj/item/weapon/entrepreneur/emf, -/obj/item/weapon/entrepreneur/spirit_board, -/obj/item/weapon/entrepreneur/crystal_ball, -/obj/item/weapon/entrepreneur/horoscope, -/obj/item/weapon/entrepreneur/magnifying_glass, -/obj/item/device/camera, -/obj/item/device/taperecorder, -/obj/item/device/tape, +/obj/item/entrepreneur/emf, +/obj/item/entrepreneur/spirit_board, +/obj/item/entrepreneur/crystal_ball, +/obj/item/entrepreneur/horoscope, +/obj/item/entrepreneur/magnifying_glass, +/obj/item/camera, +/obj/item/taperecorder, +/obj/item/tape, /obj/item/sticky_pad/random, /turf/simulated/floor/wood, /area/groundbase/civilian/entrepreneur/meeting) @@ -15944,12 +15957,12 @@ /area/groundbase/security/lobby) "JO" = ( /obj/structure/closet/lawcloset, -/obj/item/weapon/storage/secure/briefcase, -/obj/item/device/tape/random, -/obj/item/device/tape/random, -/obj/item/device/taperecorder, -/obj/item/device/camera_film, -/obj/item/device/camera, +/obj/item/storage/secure/briefcase, +/obj/item/rectape/random, +/obj/item/rectape/random, +/obj/item/taperecorder, +/obj/item/camera_film, +/obj/item/camera, /turf/simulated/floor/tiled/dark, /area/groundbase/security/iaa1) "JP" = ( @@ -15998,23 +16011,23 @@ /obj/item/clothing/shoes/leg_guard/riot, /obj/item/clothing/suit/armor/riot/alt, /obj/item/clothing/head/helmet/riot, -/obj/item/weapon/shield/riot, +/obj/item/shield/riot, /obj/item/clothing/gloves/arm_guard/riot, /obj/item/clothing/shoes/leg_guard/riot, /obj/item/clothing/suit/armor/riot/alt, /obj/item/clothing/head/helmet/riot, -/obj/item/weapon/shield/riot, +/obj/item/shield/riot, /turf/simulated/floor/tiled/dark, /area/groundbase/security/armory) "JV" = ( /obj/structure/closet/walllocker_double/misc_civ/south{ name = "dentistry tools" }, -/obj/item/device/flashlight/pen, -/obj/item/weapon/entrepreneur/dentist_mirror, -/obj/item/weapon/entrepreneur/dentist_probe, -/obj/item/weapon/entrepreneur/dentist_scaler, -/obj/item/weapon/entrepreneur/dentist_sickle, +/obj/item/flashlight/pen, +/obj/item/entrepreneur/dentist_mirror, +/obj/item/entrepreneur/dentist_probe, +/obj/item/entrepreneur/dentist_scaler, +/obj/item/entrepreneur/dentist_sickle, /obj/machinery/light_switch{ dir = 4; pixel_x = -30 @@ -16095,8 +16108,8 @@ /area/groundbase/level1/centsquare) "Kb" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/belt/utility, -/obj/item/weapon/storage/belt/utility, +/obj/item/storage/belt/utility, +/obj/item/storage/belt/utility, /obj/item/stack/cable_coil{ pixel_x = 3; pixel_y = 3 @@ -16105,7 +16118,7 @@ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/box/nifsofts_engineering, +/obj/item/storage/box/nifsofts_engineering, /obj/machinery/alarm{ dir = 4 }, @@ -16141,16 +16154,16 @@ "Ke" = ( /obj/structure/table/reinforced, /obj/machinery/cell_charger, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/cell/high{ +/obj/item/tool/wrench, +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, @@ -16192,10 +16205,10 @@ /area/holodeck_control) "Kj" = ( /obj/structure/table/steel, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 3 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -3; pixel_y = 8 }, @@ -16209,30 +16222,30 @@ /obj/structure/closet/walllocker_double/misc_civ/west{ name = "Office Supplies" }, -/obj/item/weapon/folder, -/obj/item/weapon/folder, -/obj/item/weapon/folder, -/obj/item/weapon/folder, -/obj/item/weapon/folder, -/obj/item/weapon/pen, -/obj/item/weapon/pen, -/obj/item/weapon/pen, -/obj/item/weapon/pen, -/obj/item/weapon/stamp/accepted, -/obj/item/weapon/stamp/denied, -/obj/item/weapon/tape_roll, -/obj/item/weapon/tape_roll, +/obj/item/folder, +/obj/item/folder, +/obj/item/folder, +/obj/item/folder, +/obj/item/folder, +/obj/item/pen, +/obj/item/pen, +/obj/item/pen, +/obj/item/pen, +/obj/item/stamp/accepted, +/obj/item/stamp/denied, +/obj/item/tape_roll, +/obj/item/tape_roll, /obj/item/sticky_pad/random, /turf/simulated/floor/wood, /area/groundbase/civilian/entrepreneur) "Kl" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/circuitboard/algae_farm{ +/obj/item/circuitboard/algae_farm{ pixel_x = -3; pixel_y = 3 }, -/obj/item/weapon/circuitboard/unary_atmos/heater, -/obj/item/weapon/circuitboard/unary_atmos/cooler{ +/obj/item/circuitboard/unary_atmos/heater, +/obj/item/circuitboard/unary_atmos/cooler{ pixel_x = 3; pixel_y = -3 }, @@ -16370,7 +16383,7 @@ /obj/structure/table/reinforced, /obj/random/tech_supply, /obj/random/tech_supply, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, @@ -16432,9 +16445,9 @@ /area/maintenance/groundbase/level1/stunnel) "KK" = ( /obj/structure/table/standard, -/obj/item/weapon/stock_parts/subspace/crystal, -/obj/item/weapon/stock_parts/subspace/crystal, -/obj/item/weapon/stock_parts/subspace/crystal, +/obj/item/stock_parts/subspace/crystal, +/obj/item/stock_parts/subspace/crystal, +/obj/item/stock_parts/subspace/crystal, /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/tiled/techmaint, /area/groundbase/command/tcomms/storage) @@ -16588,7 +16601,7 @@ dir = 1 }, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, -/obj/item/weapon/hand_labeler, +/obj/item/hand_labeler, /turf/simulated/floor/tiled/dark, /area/groundbase/security/briefing) "Le" = ( @@ -16694,7 +16707,7 @@ "Lp" = ( /obj/structure/table/bench/padded, /obj/effect/landmark/start/entertainer, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 24 @@ -16840,7 +16853,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /turf/simulated/floor/wood, /area/groundbase/civilian/entrepreneur/meeting) "LF" = ( @@ -17055,16 +17068,16 @@ /area/groundbase/engineering/eva) "Mg" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/box/holowarrants, -/obj/item/weapon/storage/box/flashbangs{ +/obj/item/storage/box/holowarrants, +/obj/item/storage/box/flashbangs{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/storage/box/handcuffs{ +/obj/item/storage/box/handcuffs{ pixel_x = 6; pixel_y = -2 }, -/obj/item/weapon/storage/box/evidence, +/obj/item/storage/box/evidence, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, @@ -17299,14 +17312,14 @@ /area/groundbase/civilian/apparel) "MJ" = ( /obj/structure/table/standard, -/obj/item/device/defib_kit/loaded, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/defib_kit/loaded, +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; pixel_y = 2 }, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 4; pixel_x = 24 }, @@ -17338,15 +17351,15 @@ /area/groundbase/medical/resleeving) "MR" = ( /obj/structure/closet/secure_closet/security, -/obj/item/device/holowarrant, +/obj/item/holowarrant, /obj/machinery/power/apc{ dir = 8 }, /obj/structure/cable/yellow{ icon_state = "0-4" }, -/obj/item/device/ticket_printer, -/obj/item/device/radio/intercom{ +/obj/item/ticket_printer, +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -17386,7 +17399,7 @@ /turf/simulated/floor/tiled, /area/groundbase/civilian/gateway) "MW" = ( -/obj/item/weapon/stool/baystool/padded{ +/obj/item/stool/baystool/padded{ dir = 8 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -17440,8 +17453,8 @@ /area/groundbase/engineering/atmos) "Nc" = ( /obj/structure/table/reinforced, -/obj/item/device/assembly/signaler, -/obj/item/device/assembly/signaler, +/obj/item/assembly/signaler, +/obj/item/assembly/signaler, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, @@ -17484,7 +17497,7 @@ /area/security/range) "Ng" = ( /obj/structure/table/marble, -/obj/item/device/retail_scanner/civilian{ +/obj/item/retail_scanner/civilian{ pixel_x = -8 }, /obj/machinery/button/remote/blast_door{ @@ -17493,11 +17506,11 @@ pixel_x = -3; pixel_y = 26 }, -/obj/item/weapon/reagent_containers/food/drinks/shaker{ +/obj/item/reagent_containers/food/drinks/shaker{ pixel_x = -10; pixel_y = 11 }, -/obj/item/weapon/reagent_containers/glass/rag{ +/obj/item/reagent_containers/glass/rag{ pixel_x = -9 }, /obj/structure/sink/countertop{ @@ -17632,7 +17645,7 @@ /obj/item/clothing/mask/breath, /obj/item/clothing/shoes/magboots, /obj/item/clothing/head/helmet/space/void/mining, -/obj/item/weapon/mining_scanner, +/obj/item/mining_scanner, /turf/simulated/floor/tiled, /area/groundbase/cargo/mining) "Nz" = ( @@ -17919,23 +17932,23 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/tank/oxygen, -/obj/item/device/suit_cooling_unit, +/obj/item/tank/oxygen, +/obj/item/suit_cooling_unit, /obj/item/clothing/shoes/magboots, /obj/item/clothing/mask/breath, /obj/item/clothing/suit/space/void/exploration, /obj/item/clothing/suit/space/void/exploration, /obj/item/clothing/head/helmet/space/void/exploration, /obj/item/clothing/head/helmet/space/void/exploration, -/obj/item/device/bluespaceradio/groundbase_prelinked, +/obj/item/bluespaceradio/groundbase_prelinked, /obj/machinery/door/window/brigdoor/eastright{ req_access = list(43) }, -/obj/item/device/mapping_unit, -/obj/item/device/cataloguer, -/obj/item/device/cataloguer, -/obj/item/device/cataloguer/compact, -/obj/item/device/cataloguer/compact, +/obj/item/mapping_unit, +/obj/item/cataloguer, +/obj/item/cataloguer, +/obj/item/cataloguer/compact, +/obj/item/cataloguer/compact, /turf/simulated/floor/tiled/dark, /area/groundbase/civilian/gateway) "Oj" = ( @@ -18041,12 +18054,12 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/circuitboard/robotics{ +/obj/item/circuitboard/robotics{ pixel_x = -3; pixel_y = 3 }, -/obj/item/weapon/circuitboard/mecha_control, -/obj/item/weapon/circuitboard/aifixer{ +/obj/item/circuitboard/mecha_control, +/obj/item/circuitboard/aifixer{ pixel_x = 3; pixel_y = -3 }, @@ -18079,7 +18092,7 @@ /obj/item/clothing/mask/breath, /obj/item/clothing/shoes/magboots, /obj/item/clothing/head/helmet/space/void/mining, -/obj/item/weapon/mining_scanner, +/obj/item/mining_scanner, /obj/machinery/camera/network/mining{ dir = 4 }, @@ -18357,19 +18370,19 @@ pixel_x = -5; pixel_y = 4 }, -/obj/item/device/gps{ +/obj/item/gps{ pixel_x = -6; pixel_y = -4 }, -/obj/item/device/gps{ +/obj/item/gps{ pixel_x = -6; pixel_y = -4 }, -/obj/item/device/gps{ +/obj/item/gps{ pixel_x = 6; pixel_y = -4 }, -/obj/item/device/gps{ +/obj/item/gps{ pixel_x = 6; pixel_y = -4 }, @@ -18520,7 +18533,7 @@ /area/groundbase/civilian/cafe) "PJ" = ( /obj/structure/table/standard, -/obj/item/device/healthanalyzer, +/obj/item/healthanalyzer, /obj/machinery/light{ dir = 8 }, @@ -18756,7 +18769,7 @@ /area/security/range) "Qs" = ( /obj/structure/table/hardwoodtable, -/obj/item/weapon/paper_bin, +/obj/item/paper_bin, /obj/effect/floor_decal/spline/fancy/wood{ dir = 1 }, @@ -18896,8 +18909,8 @@ /area/groundbase/civilian/entrepreneur/session) "QH" = ( /obj/structure/table/reinforced, -/obj/item/device/sleevemate, -/obj/item/device/denecrotizer/medical, +/obj/item/sleevemate, +/obj/item/denecrotizer/medical, /obj/item/bodybag/cryobag, /obj/item/bodybag/cryobag, /turf/simulated/floor/tiled/white, @@ -18954,7 +18967,7 @@ "QO" = ( /obj/structure/table/reinforced, /obj/item/clothing/head/welding, -/obj/item/weapon/storage/belt/utility, +/obj/item/storage/belt/utility, /turf/simulated/floor/tiled, /area/groundbase/civilian/gateway) "QP" = ( @@ -18972,7 +18985,7 @@ /turf/simulated/floor/outdoors/sidewalk/side, /area/maintenance/groundbase/level1/nwtunnel) "QS" = ( -/obj/item/weapon/stool/baystool/padded{ +/obj/item/stool/baystool/padded{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -19217,7 +19230,7 @@ /turf/simulated/floor, /area/maintenance/groundbase/substation/medcargo) "Rw" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 24 @@ -19244,14 +19257,14 @@ /area/groundbase/level1/centsquare) "Ry" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 6 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_y = 3 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = -3 }, /turf/simulated/floor/tiled, @@ -19398,7 +19411,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, -/obj/item/weapon/paper_bin, +/obj/item/paper_bin, /obj/effect/floor_decal/spline/fancy/wood{ dir = 10 }, @@ -19588,19 +19601,19 @@ /area/groundbase/engineering/eva) "Sm" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/circuitboard/body_designer{ +/obj/item/circuitboard/body_designer{ pixel_x = -3; pixel_y = 3 }, -/obj/item/weapon/circuitboard/resleeving_control{ +/obj/item/circuitboard/resleeving_control{ pixel_x = -1; pixel_y = 1 }, -/obj/item/weapon/circuitboard/transhuman_clonepod{ +/obj/item/circuitboard/transhuman_clonepod{ pixel_x = 1; pixel_y = -1 }, -/obj/item/weapon/circuitboard/transhuman_synthprinter{ +/obj/item/circuitboard/transhuman_synthprinter{ pixel_x = 3; pixel_y = -3 }, @@ -19635,9 +19648,9 @@ /area/groundbase/engineering/eva) "Sr" = ( /obj/structure/table/steel, -/obj/item/device/taperecorder, -/obj/item/device/retail_scanner/security, -/obj/item/device/camera, +/obj/item/taperecorder, +/obj/item/retail_scanner/security, +/obj/item/camera, /obj/machinery/newscaster/security_unit{ pixel_y = -29 }, @@ -19827,7 +19840,7 @@ /area/groundbase/security/halls) "SL" = ( /obj/structure/table/hardwoodtable, -/obj/item/weapon/paper_bin, +/obj/item/paper_bin, /obj/effect/floor_decal/spline/fancy/wood, /obj/machinery/alarm{ dir = 8 @@ -20021,12 +20034,12 @@ /area/groundbase/engineering/engine) "Tj" = ( /obj/structure/closet/lawcloset, -/obj/item/weapon/storage/secure/briefcase, -/obj/item/device/tape/random, -/obj/item/device/tape/random, -/obj/item/device/taperecorder, -/obj/item/device/camera_film, -/obj/item/device/camera, +/obj/item/storage/secure/briefcase, +/obj/item/rectape/random, +/obj/item/rectape/random, +/obj/item/taperecorder, +/obj/item/camera_film, +/obj/item/camera, /turf/simulated/floor/tiled/dark, /area/groundbase/security/iaa2) "Tk" = ( @@ -20059,7 +20072,7 @@ departmentType = 2; pixel_y = 30 }, -/obj/item/weapon/gun/energy/mouseray/medical, +/obj/item/gun/energy/mouseray/medical, /turf/simulated/floor/tiled/white, /area/groundbase/medical/equipment) "To" = ( @@ -20092,8 +20105,8 @@ /area/groundbase/command/ai/foyer) "Tq" = ( /obj/machinery/recharger, -/obj/item/weapon/storage/box/syringegun, -/obj/item/weapon/gun/launcher/syringe, +/obj/item/storage/box/syringegun, +/obj/item/gun/launcher/syringe, /obj/structure/table/reinforced, /obj/machinery/camera/network/medbay{ dir = 8 @@ -20161,7 +20174,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/item/weapon/storage/box/nifsofts_engineering, +/obj/item/storage/box/nifsofts_engineering, /turf/simulated/floor/tiled, /area/groundbase/engineering/workshop) "Tz" = ( @@ -20170,7 +20183,7 @@ layer = 2.9 }, /obj/item/clothing/mask/breath, -/obj/item/weapon/rig/ce/equipped, +/obj/item/rig/ce/equipped, /obj/machinery/power/apc{ dir = 4 }, @@ -20193,28 +20206,28 @@ /area/groundbase/security/processing) "TD" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/circuitboard/skills{ +/obj/item/circuitboard/skills{ pixel_x = -3; pixel_y = 3 }, -/obj/item/weapon/circuitboard/med_data{ +/obj/item/circuitboard/med_data{ pixel_x = -2; pixel_y = 2 }, -/obj/item/weapon/circuitboard/secure_data{ +/obj/item/circuitboard/secure_data{ pixel_x = -1; pixel_y = 1 }, -/obj/item/weapon/circuitboard/security, -/obj/item/weapon/circuitboard/security/engineering{ +/obj/item/circuitboard/security, +/obj/item/circuitboard/security/engineering{ pixel_x = 1; pixel_y = -1 }, -/obj/item/weapon/circuitboard/security/mining{ +/obj/item/circuitboard/security/mining{ pixel_x = 2; pixel_y = -2 }, -/obj/item/weapon/circuitboard/stationalert_security{ +/obj/item/circuitboard/stationalert_security{ pixel_x = 3; pixel_y = -3 }, @@ -20292,12 +20305,12 @@ /area/groundbase/level1/centsquare) "TL" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/stock_parts/matter_bin, -/obj/item/weapon/stock_parts/matter_bin, -/obj/item/weapon/stock_parts/matter_bin, -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/console_screen, -/obj/item/weapon/circuitboard/partslathe, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/console_screen, +/obj/item/circuitboard/partslathe, /turf/simulated/floor/tiled, /area/groundbase/engineering/techstorage) "TM" = ( @@ -20341,7 +20354,7 @@ /turf/simulated/floor/bluegrid, /area/groundbase/command/ai/robot) "TR" = ( -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ dir = 8; pixel_x = -24 }, @@ -20375,7 +20388,7 @@ /area/maintenance/groundbase/substation/secsci) "TU" = ( /obj/structure/table/steel, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 }, @@ -20533,20 +20546,20 @@ /obj/structure/closet/walllocker_double/misc_civ/north{ name = "office equipment" }, -/obj/item/weapon/storage/briefcase{ +/obj/item/storage/briefcase{ pixel_x = -2; pixel_y = -5 }, -/obj/item/weapon/storage/briefcase{ +/obj/item/storage/briefcase{ pixel_x = -2; pixel_y = -5 }, -/obj/item/weapon/storage/briefcase{ +/obj/item/storage/briefcase{ pixel_x = -2; pixel_y = -5 }, -/obj/item/weapon/storage/toolbox/brass, -/obj/item/device/measuring_tape, +/obj/item/storage/toolbox/brass, +/obj/item/measuring_tape, /turf/simulated/floor/wood, /area/groundbase/civilian/entrepreneur) "Up" = ( @@ -20557,17 +20570,17 @@ /area/groundbase/engineering/atmos) "Uq" = ( /obj/structure/table/rack/steel, -/obj/item/device/slime_scanner, -/obj/item/device/sleevemate, -/obj/item/device/robotanalyzer, -/obj/item/device/reagent_scanner, -/obj/item/device/healthanalyzer, -/obj/item/device/geiger, -/obj/item/device/analyzer/plant_analyzer, -/obj/item/device/analyzer, -/obj/item/device/t_scanner, -/obj/item/weapon/circuitboard/machine/reg_c, -/obj/item/weapon/circuitboard/machine/reg_c, +/obj/item/slime_scanner, +/obj/item/sleevemate, +/obj/item/robotanalyzer, +/obj/item/reagent_scanner, +/obj/item/healthanalyzer, +/obj/item/geiger, +/obj/item/analyzer/plant_analyzer, +/obj/item/analyzer, +/obj/item/t_scanner, +/obj/item/circuitboard/machine/reg_c, +/obj/item/circuitboard/machine/reg_c, /obj/machinery/camera/network/engineering{ dir = 4 }, @@ -20672,9 +20685,9 @@ /area/groundbase/civilian/apparel) "UH" = ( /obj/structure/table/standard, -/obj/item/weapon/stock_parts/subspace/treatment, -/obj/item/weapon/stock_parts/subspace/treatment, -/obj/item/weapon/stock_parts/subspace/treatment, +/obj/item/stock_parts/subspace/treatment, +/obj/item/stock_parts/subspace/treatment, +/obj/item/stock_parts/subspace/treatment, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, @@ -20715,7 +20728,7 @@ "UN" = ( /obj/structure/table/woodentable, /obj/item/toy/figure/clown, -/obj/item/weapon/pen/crayon/marker/rainbow, +/obj/item/pen/crayon/marker/rainbow, /obj/machinery/firealarm{ dir = 1 }, @@ -20776,10 +20789,10 @@ name = "session equipment" }, /obj/item/roller/massage, -/obj/item/weapon/bedsheet/pillow/exercise, -/obj/item/weapon/bedsheet/pillow/exercise, -/obj/item/weapon/entrepreneur/dumbbell, -/obj/item/weapon/entrepreneur/dumbbell, +/obj/item/bedsheet/pillow/exercise, +/obj/item/bedsheet/pillow/exercise, +/obj/item/entrepreneur/dumbbell, +/obj/item/entrepreneur/dumbbell, /obj/item/clothing/under/pants/yogapants, /turf/simulated/floor/tiled/white, /area/groundbase/civilian/entrepreneur/session) @@ -20909,9 +20922,9 @@ /turf/simulated/wall, /area/groundbase/medical/resleeving) "Vl" = ( -/obj/item/weapon/book/manual/rotary_electric_generator, +/obj/item/book/manual/rotary_electric_generator, /obj/structure/table/reinforced, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 24 @@ -21031,16 +21044,16 @@ /area/groundbase/engineering/lobby) "Vz" = ( /obj/structure/table/standard, -/obj/item/weapon/stock_parts/micro_laser, -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/capacitor, -/obj/item/weapon/stock_parts/micro_laser/high, -/obj/item/weapon/stock_parts/micro_laser/high, -/obj/item/weapon/stock_parts/micro_laser/high, -/obj/item/weapon/stock_parts/micro_laser/high, +/obj/item/stock_parts/micro_laser, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/capacitor, +/obj/item/stock_parts/micro_laser/high, +/obj/item/stock_parts/micro_laser/high, +/obj/item/stock_parts/micro_laser/high, +/obj/item/stock_parts/micro_laser/high, /turf/simulated/floor/tiled/techmaint, /area/groundbase/command/tcomms/storage) "VA" = ( @@ -21107,7 +21120,7 @@ /area/groundbase/civilian/womensrestroom) "VH" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/item/weapon/stool/baystool/padded{ +/obj/item/stool/baystool/padded{ dir = 1 }, /turf/simulated/floor/wood, @@ -21210,11 +21223,11 @@ /turf/simulated/floor/outdoors/newdirt, /area/groundbase/level1/southeastspur) "VU" = ( -/obj/item/weapon/storage/box/bodybags, -/obj/item/weapon/storage/box/bodybags, +/obj/item/storage/box/bodybags, +/obj/item/storage/box/bodybags, /obj/structure/table/standard, -/obj/item/device/camera, -/obj/item/device/sleevemate, +/obj/item/camera, +/obj/item/sleevemate, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, @@ -21238,8 +21251,8 @@ /area/groundbase/level1/westspur) "VX" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/surgery, -/obj/item/device/radio/intercom{ +/obj/item/storage/firstaid/surgery, +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 24 @@ -21248,7 +21261,7 @@ /area/groundbase/medical/or2) "VY" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /obj/effect/floor_decal/milspec/color/orange/half{ dir = 4 }, @@ -21299,7 +21312,7 @@ /turf/simulated/floor/tiled/dark, /area/groundbase/security/armory) "Wg" = ( -/obj/item/weapon/stool/baystool/padded{ +/obj/item/stool/baystool/padded{ dir = 1 }, /turf/simulated/floor/wood, @@ -21509,7 +21522,7 @@ /obj/structure/cable/yellow{ icon_state = "1-8" }, -/obj/item/weapon/stool/baystool/padded{ +/obj/item/stool/baystool/padded{ dir = 4 }, /turf/simulated/floor/wood, @@ -21594,10 +21607,10 @@ /area/groundbase/civilian/gameroom) "WN" = ( /obj/structure/table/rack, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, /obj/machinery/firealarm{ dir = 4 }, @@ -21676,8 +21689,8 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/tank/oxygen, -/obj/item/device/suit_cooling_unit, +/obj/item/tank/oxygen, +/obj/item/suit_cooling_unit, /obj/item/clothing/shoes/magboots, /obj/item/clothing/mask/breath, /obj/item/clothing/suit/space/void/expedition_medical, @@ -21721,7 +21734,7 @@ /turf/simulated/floor/tiled/techfloor/grid, /area/groundbase/command/ai/upload) "Xc" = ( -/obj/item/weapon/stool/baystool/padded{ +/obj/item/stool/baystool/padded{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -21753,7 +21766,7 @@ /turf/simulated/floor/tiled/dark, /area/groundbase/security/hos) "Xg" = ( -/obj/item/weapon/stool/baystool/padded{ +/obj/item/stool/baystool/padded{ dir = 1 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -21835,16 +21848,16 @@ /area/groundbase/engineering/lobby) "Xo" = ( /obj/structure/table/steel, -/obj/item/device/integrated_circuit_printer, -/obj/item/device/integrated_electronics/debugger{ +/obj/item/integrated_circuit_printer, +/obj/item/integrated_electronics/debugger{ pixel_x = -5 }, -/obj/item/device/integrated_electronics/wirer{ +/obj/item/integrated_electronics/wirer{ pixel_x = 5 }, /obj/random/tech_supply/component/nofail, -/obj/item/device/flash, -/obj/item/device/flash, +/obj/item/flash, +/obj/item/flash, /obj/random/tech_supply/component/nofail, /obj/random/tech_supply/component/nofail, /obj/random/tech_supply/component/nofail, @@ -21906,7 +21919,7 @@ /area/groundbase/engineering/lobby) "Xu" = ( /obj/structure/table/bench/padded, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/tiled/dark, @@ -21921,7 +21934,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -22041,7 +22054,7 @@ "XM" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/glass/bottle/essential_oil, +/obj/item/reagent_containers/glass/bottle/essential_oil, /turf/simulated/floor/tiled/white, /area/groundbase/civilian/entrepreneur/session) "XN" = ( @@ -22141,16 +22154,16 @@ /area/groundbase/civilian/gameroom) "Yb" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 18; pixel_y = 7 }, -/obj/item/weapon/pen/blue{ +/obj/item/pen/blue{ pixel_x = 2; pixel_y = 3 }, -/obj/item/weapon/pen, -/obj/item/weapon/pen/blade/red{ +/obj/item/pen, +/obj/item/pen/blade/red{ pixel_x = -2; pixel_y = -2 }, @@ -22187,7 +22200,7 @@ /turf/simulated/floor/outdoors/sidewalk/side, /area/groundbase/level1/westspur) "Yg" = ( -/obj/item/weapon/stool/baystool/padded{ +/obj/item/stool/baystool/padded{ dir = 1 }, /obj/structure/sign/painting/library_secure{ @@ -22245,7 +22258,7 @@ /area/groundbase/level1/northspur) "Yn" = ( /obj/structure/bed/chair/office/dark, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 24 @@ -22265,8 +22278,8 @@ dir = 1 }, /obj/structure/closet/crate/freezer, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /obj/structure/sink{ dir = 4; pixel_x = 11 @@ -22338,7 +22351,7 @@ }, /area/maintenance/groundbase/level1/stunnel) "Yx" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -22464,16 +22477,16 @@ /area/groundbase/level1/westspur) "YN" = ( /obj/structure/closet/secure_closet/detective, -/obj/item/weapon/reagent_containers/spray/pepper, -/obj/item/weapon/gun/energy/taser, -/obj/item/device/camera{ +/obj/item/reagent_containers/spray/pepper, +/obj/item/gun/energy/taser, +/obj/item/camera{ desc = "A one use - polaroid camera. 30 photos left."; name = "detectives camera"; pictures_left = 30; pixel_x = 2; pixel_y = 3 }, -/obj/item/device/ticket_printer, +/obj/item/ticket_printer, /turf/simulated/floor/tiled/dark, /area/groundbase/security/detective) "YO" = ( @@ -22631,12 +22644,12 @@ dir = 1 }, /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/folder/yellow_ce, -/obj/item/weapon/pen/multi, +/obj/item/folder/yellow_ce, +/obj/item/pen/multi, /obj/machinery/light{ dir = 4 }, @@ -22734,12 +22747,12 @@ /obj/structure/closet/crate{ name = "Camera Assembly Crate" }, -/obj/item/weapon/camera_assembly, -/obj/item/weapon/camera_assembly, -/obj/item/weapon/camera_assembly, -/obj/item/weapon/camera_assembly, -/obj/item/weapon/camera_assembly, -/obj/item/weapon/camera_assembly, +/obj/item/camera_assembly, +/obj/item/camera_assembly, +/obj/item/camera_assembly, +/obj/item/camera_assembly, +/obj/item/camera_assembly, +/obj/item/camera_assembly, /obj/machinery/light, /turf/simulated/floor/bluegrid, /area/groundbase/command/ai/robot) diff --git a/maps/groundbase/gb-z2.dmm b/maps/groundbase/gb-z2.dmm index 254efd5cfe2..ac234c68285 100644 --- a/maps/groundbase/gb-z2.dmm +++ b/maps/groundbase/gb-z2.dmm @@ -109,8 +109,8 @@ /area/groundbase/science/robotics) "am" = ( /obj/item/toy/figure/mime, -/obj/item/weapon/pen/crayon/marker/mime, -/obj/item/weapon/pen/crayon/mime, +/obj/item/pen/crayon/marker/mime, +/obj/item/pen/crayon/mime, /obj/structure/table/standard, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -158,7 +158,7 @@ "ar" = ( /obj/machinery/light, /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /turf/simulated/floor/wood, /area/groundbase/dorms/room3) "as" = ( @@ -216,19 +216,19 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, +/obj/item/packageWrap, +/obj/item/packageWrap, +/obj/item/packageWrap, +/obj/item/packageWrap, +/obj/item/packageWrap, +/obj/item/packageWrap, /obj/structure/closet/walllocker_double/cargo/west, /turf/simulated/floor/tiled, /area/groundbase/cargo/office) "ax" = ( /obj/structure/closet/secure_closet/personal, -/obj/item/weapon/towel/random, -/obj/item/weapon/storage/backpack, +/obj/item/towel/random, +/obj/item/storage/backpack, /turf/simulated/floor/wood, /area/groundbase/dorms/room7) "ay" = ( @@ -287,20 +287,20 @@ /turf/simulated/floor/tiled/dark, /area/groundbase/dorms) "aG" = ( -/obj/item/device/camera{ +/obj/item/camera{ pixel_x = 3; pixel_y = -4 }, -/obj/item/device/camera, -/obj/item/device/camera_film{ +/obj/item/camera, +/obj/item/camera_film{ pixel_x = 2; pixel_y = 2 }, -/obj/item/device/camera_film{ +/obj/item/camera_film{ pixel_x = -2; pixel_y = -2 }, -/obj/item/device/taperecorder, +/obj/item/taperecorder, /obj/structure/closet/walllocker_double/misc_civ{ dir = 8; pixel_x = -28 @@ -312,11 +312,6 @@ /area/groundbase/level2/nw) "aH" = ( /obj/structure/table/glass, -/obj/item/device/antibody_scanner, -/obj/item/device/antibody_scanner{ - pixel_x = 2; - pixel_y = 2 - }, /turf/simulated/floor/tiled/white, /area/medical/virology) "aI" = ( @@ -361,31 +356,31 @@ }, /area/groundbase/level2/nw) "aL" = ( -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, -/obj/item/weapon/tape_roll, -/obj/item/weapon/tape_roll, -/obj/item/weapon/storage/box{ +/obj/item/packageWrap, +/obj/item/packageWrap, +/obj/item/tape_roll, +/obj/item/tape_roll, +/obj/item/storage/box{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/box{ +/obj/item/storage/box{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/box{ +/obj/item/storage/box{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/box{ +/obj/item/storage/box{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/box{ +/obj/item/storage/box{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/box{ +/obj/item/storage/box{ pixel_x = 3; pixel_y = 3 }, @@ -460,15 +455,15 @@ /area/rnd/xenobiology) "aR" = ( /obj/structure/table/reinforced, -/obj/item/weapon/folder/red{ +/obj/item/folder/red{ pixel_y = 4 }, -/obj/item/weapon/folder/blue, -/obj/item/weapon/pen, -/obj/item/weapon/paper_bin{ +/obj/item/folder/blue, +/obj/item/pen, +/obj/item/paper_bin{ pixel_y = 7 }, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = 2; pixel_y = 3 }, @@ -510,10 +505,10 @@ /area/groundbase/science/xenobot) "aV" = ( /obj/structure/table/woodentable, -/obj/item/device/taperecorder, -/obj/item/device/tape/random, -/obj/item/device/camera, -/obj/item/device/retail_scanner/civilian, +/obj/item/taperecorder, +/obj/item/rectape/random, +/obj/item/camera, +/obj/item/retail_scanner/civilian, /obj/machinery/firealarm{ dir = 4 }, @@ -614,7 +609,7 @@ /area/groundbase/level2/nw) "be" = ( /obj/structure/table/fancyblack, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, @@ -685,12 +680,12 @@ /turf/simulated/floor/carpet/geo, /area/groundbase/civilian/kitchen/backroom) "bm" = ( -/obj/item/weapon/storage/fancy/crayons, -/obj/item/weapon/storage/fancy/crayons, -/obj/item/weapon/storage/fancy/crayons, -/obj/item/weapon/storage/fancy/crayons, -/obj/item/weapon/storage/fancy/crayons, -/obj/item/weapon/storage/fancy/crayons, +/obj/item/storage/fancy/crayons, +/obj/item/storage/fancy/crayons, +/obj/item/storage/fancy/crayons, +/obj/item/storage/fancy/crayons, +/obj/item/storage/fancy/crayons, +/obj/item/storage/fancy/crayons, /obj/structure/closet/walllocker_double/misc_civ{ dir = 4; pixel_x = 28 @@ -714,7 +709,7 @@ /turf/simulated/floor/tiled/steel_ridged, /area/groundbase/dorms/bathroom) "bo" = ( -/obj/item/weapon/bedsheet/green, +/obj/item/bedsheet/green, /obj/structure/bed/padded, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -789,13 +784,13 @@ /area/groundbase/medical/psych) "bw" = ( /obj/effect/floor_decal/industrial/warning, -/obj/item/device/defib_kit/jumper_kit, -/obj/item/weapon/storage/box/gloves, -/obj/item/weapon/storage/box/bodybags{ +/obj/item/defib_kit/jumper_kit, +/obj/item/storage/box/gloves, +/obj/item/storage/box/bodybags{ pixel_x = -3; pixel_y = -2 }, -/obj/item/weapon/book/manual/robotics_cyborgs, +/obj/item/book/manual/robotics_cyborgs, /obj/structure/closet/walllocker_double/science/east, /turf/simulated/floor/tiled, /area/groundbase/science/robotics) @@ -847,7 +842,7 @@ /turf/simulated/floor/tiled, /area/groundbase/science/xenobot/storage) "bC" = ( -/obj/item/weapon/book/manual/virology, +/obj/item/book/manual/virology, /obj/structure/table/glass, /turf/simulated/floor/tiled/white, /area/medical/virology) @@ -886,15 +881,15 @@ /turf/simulated/floor/tiled/white, /area/groundbase/medical/Chemistry) "bH" = ( -/obj/item/weapon/circuitboard/aicore{ +/obj/item/circuitboard/aicore{ pixel_x = -2; pixel_y = 4 }, -/obj/item/weapon/circuitboard/teleporter, +/obj/item/circuitboard/teleporter, /obj/random/paicard{ pixel_x = 4 }, -/obj/item/device/taperecorder{ +/obj/item/taperecorder{ pixel_x = -3 }, /obj/structure/closet/walllocker_double/command/rd{ @@ -949,7 +944,7 @@ "bP" = ( /obj/item/clothing/glasses/omnihud/all, /obj/structure/closet/secure_closet/captains, -/obj/item/weapon/disk/nuclear{ +/obj/item/disk/nuclear{ name = "authentication disk" }, /obj/machinery/light/small{ @@ -1040,12 +1035,12 @@ /area/groundbase/dorms) "cf" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/folder/blue, -/obj/item/device/flashlight/lamp/green{ +/obj/item/folder/blue, +/obj/item/flashlight/lamp/green{ pixel_x = -13; pixel_y = 7 }, @@ -1336,7 +1331,7 @@ /area/rnd/xenobiology) "cZ" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /turf/simulated/floor/tiled, /area/groundbase/cargo/office) "da" = ( @@ -1362,8 +1357,8 @@ /area/groundbase/science/robotics) "df" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/bottle/holywater, -/obj/item/weapon/nullrod, +/obj/item/reagent_containers/food/drinks/bottle/holywater, +/obj/item/nullrod, /obj/structure/noticeboard{ pixel_y = 32 }, @@ -1399,7 +1394,7 @@ /area/groundbase/civilian/kitchen) "dj" = ( /obj/structure/table/fancyblack, -/obj/item/weapon/book/manual/security_space_law, +/obj/item/book/manual/wiki/security_space_law, /obj/effect/landmark{ name = "lightsout" }, @@ -1482,10 +1477,10 @@ /area/groundbase/science/circuits) "dv" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/belt/utility, -/obj/item/device/multitool, +/obj/item/storage/belt/utility, +/obj/item/multitool, /obj/fiftyspawner/steel, -/obj/item/weapon/storage/belt/utility, +/obj/item/storage/belt/utility, /obj/machinery/alarm{ dir = 4 }, @@ -1528,8 +1523,8 @@ dir = 8 }, /obj/structure/closet/secure_closet/personal, -/obj/item/weapon/towel/random, -/obj/item/weapon/storage/backpack, +/obj/item/towel/random, +/obj/item/storage/backpack, /turf/simulated/floor/wood, /area/groundbase/dorms/room5) "dE" = ( @@ -1565,13 +1560,13 @@ /area/groundbase/command/hop) "dL" = ( /obj/structure/table/woodentable, -/obj/item/weapon/melee/chainofcommand, -/obj/item/weapon/coin/phoron{ +/obj/item/melee/chainofcommand, +/obj/item/coin/phoron{ desc = "The face of the coin shows a portrait of the explorer who discovered the Virgo-Erigone system. The back depicts a Zodiac symbol that represents Virgo."; name = "limited edition phoron coin" }, -/obj/item/weapon/folder/blue_captain, -/obj/item/weapon/stamp/captain, +/obj/item/folder/blue_captain, +/obj/item/stamp/captain, /obj/machinery/alarm{ dir = 4 }, @@ -1694,19 +1689,19 @@ /area/groundbase/science/server) "eg" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/folder/blue_hop, -/obj/item/weapon/pen/multi{ +/obj/item/folder/blue_hop, +/obj/item/pen/multi{ pixel_x = -2; pixel_y = 9 }, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, -/obj/item/weapon/storage/box/PDAs, +/obj/item/storage/box/PDAs, /turf/simulated/floor/tiled, /area/groundbase/command/hop) "ei" = ( @@ -1759,14 +1754,14 @@ /area/groundbase/cargo/office) "eo" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/dropper, -/obj/item/weapon/reagent_containers/glass/beaker{ +/obj/item/reagent_containers/dropper, +/obj/item/reagent_containers/glass/beaker{ pixel_x = 5 }, -/obj/item/weapon/reagent_containers/food/condiment/enzyme{ +/obj/item/reagent_containers/food/condiment/enzyme{ layer = 5 }, -/obj/item/weapon/reagent_containers/food/condiment/enzyme{ +/obj/item/reagent_containers/food/condiment/enzyme{ layer = 5 }, /obj/machinery/atmospherics/unary/vent_scrubber/on{ @@ -1776,7 +1771,7 @@ /area/groundbase/civilian/kitchen) "ep" = ( /obj/structure/table/standard, -/obj/item/weapon/book/manual/cook_guide, +/obj/item/book/manual/cook_guide, /obj/machinery/camera/network/civilian{ dir = 4 }, @@ -2032,11 +2027,11 @@ /area/groundbase/level2/se) "fa" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/gloves{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/box/masks, +/obj/item/storage/box/masks, /turf/simulated/floor/tiled/white, /area/medical/virology) "fb" = ( @@ -2066,7 +2061,7 @@ /area/groundbase/science/server) "fe" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = 1; pixel_y = 5 }, @@ -2120,6 +2115,12 @@ icon_state = "2-8" }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/button/remote/airlock/release{ + dir = 8; + pixel_y = -7; + pixel_x = 27; + id = "dorm5" + }, /turf/simulated/floor/wood, /area/groundbase/dorms/room5) "fn" = ( @@ -2222,11 +2223,11 @@ /area/groundbase/civilian/library) "fF" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{ +/obj/item/reagent_containers/glass/beaker/cryoxadone{ pixel_x = -5; pixel_y = 10 }, -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{ +/obj/item/reagent_containers/glass/beaker/cryoxadone{ pixel_x = 6; pixel_y = 2 }, @@ -2468,11 +2469,11 @@ /area/groundbase/level2/nw) "gq" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -2; pixel_y = 8 }, -/obj/item/weapon/pen/blue{ +/obj/item/pen/blue{ pixel_x = 2; pixel_y = 1 }, @@ -2503,11 +2504,11 @@ /area/groundbase/cargo/office) "gv" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/beakers{ +/obj/item/storage/box/beakers{ name = "box of measuring cups"; pixel_x = 2; pixel_y = 3; - starts_with = list(/obj/item/weapon/reagent_containers/glass/beaker/measuring_cup = 7) + starts_with = list(/obj/item/reagent_containers/glass/beaker/measuring_cup = 7) }, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -2641,6 +2642,12 @@ icon_state = "2-4" }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/button/remote/airlock/release{ + dir = 4; + pixel_y = -7; + pixel_x = -27; + id = "dorm4" + }, /turf/simulated/floor/wood, /area/groundbase/dorms/room4) "gQ" = ( @@ -2674,7 +2681,7 @@ /obj/structure/bed/chair/comfy/blue{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -2693,8 +2700,8 @@ /area/groundbase/dorms/room7) "gX" = ( /obj/structure/table/standard, -/obj/item/weapon/clipboard, -/obj/item/weapon/stamp/qm, +/obj/item/clipboard, +/obj/item/stamp/qm, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, @@ -2752,8 +2759,8 @@ /area/groundbase/science/circuits) "hi" = ( /obj/structure/table/standard, -/obj/item/weapon/material/knife/butch, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/knife/butch, +/obj/item/material/kitchen/rollingpin, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, @@ -2951,7 +2958,7 @@ /turf/simulated/floor/outdoors/sidewalk/slab, /area/groundbase/level2/nw) "hJ" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /obj/machinery/atmospherics/unary/vent_scrubber/on{ @@ -2977,7 +2984,7 @@ /obj/machinery/firealarm{ dir = 4 }, -/obj/item/device/retail_scanner/medical, +/obj/item/retail_scanner/medical, /turf/simulated/floor/tiled/white, /area/groundbase/medical/lobby) "hL" = ( @@ -3237,11 +3244,11 @@ /area/groundbase/level2/southeastspur) "iy" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = -5; pixel_y = 4 }, -/obj/item/weapon/folder/white, +/obj/item/folder/white, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, @@ -3480,7 +3487,7 @@ /turf/simulated/floor/tiled/steel_ridged, /area/groundbase/dorms/room1) "jc" = ( -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /obj/structure/bed/double/padded, /turf/simulated/floor/wood, /area/groundbase/dorms/room8) @@ -3536,17 +3543,17 @@ /area/groundbase/medical/lobby) "jm" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = 7 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/machinery/light/small{ dir = 4 }, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, -/obj/item/device/retail_scanner/civilian, +/obj/item/retail_scanner/civilian, /turf/simulated/floor/carpet, /area/groundbase/civilian/library) "jn" = ( @@ -3827,12 +3834,7 @@ }, /turf/simulated/floor/outdoors/sidewalk/slab, /area/groundbase/level2/nw) -"kb" = ( -/obj/machinery/disease2/diseaseanalyser, -/turf/simulated/floor/tiled/white, -/area/medical/virology) "kc" = ( -/obj/machinery/disease2/incubator, /obj/structure/reagent_dispensers/virusfood{ pixel_y = 27 }, @@ -3954,7 +3956,7 @@ /area/groundbase/science/server) "kv" = ( /obj/structure/closet/secure_closet/quartermaster, -/obj/item/weapon/storage/backpack/dufflebag, +/obj/item/storage/backpack/dufflebag, /turf/simulated/floor/wood, /area/groundbase/cargo/qm) "ky" = ( @@ -4086,12 +4088,12 @@ /area/groundbase/level2/nw) "kT" = ( /obj/structure/table/glass, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/device/megaphone, -/obj/item/weapon/paper/monitorkey, +/obj/item/megaphone, +/obj/item/paper/monitorkey, /turf/simulated/floor/tiled, /area/groundbase/science/rd) "kU" = ( @@ -4200,7 +4202,7 @@ /area/medical/virology) "lj" = ( /obj/structure/table/glass, -/obj/item/device/radio{ +/obj/item/radio{ anchored = 1; canhear_range = 7; frequency = 1487; @@ -4689,7 +4691,7 @@ /turf/simulated/wall, /area/groundbase/medical/lobby) "mw" = ( -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /obj/structure/bed/double/padded, /turf/simulated/floor/wood, /area/groundbase/dorms/room7) @@ -4701,7 +4703,7 @@ /area/groundbase/science/hall) "my" = ( /obj/structure/table/steel, -/obj/item/device/integrated_circuit_printer, +/obj/item/integrated_circuit_printer, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 }, @@ -4836,11 +4838,11 @@ /turf/simulated/floor/tiled/white, /area/groundbase/dorms/room1) "mW" = ( -/obj/item/weapon/storage/box/botanydisk, +/obj/item/storage/box/botanydisk, /obj/structure/table/glass, -/obj/item/weapon/storage/box/botanydisk, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/material/minihoe, +/obj/item/storage/box/botanydisk, +/obj/item/reagent_containers/glass/bucket, +/obj/item/material/minihoe, /turf/simulated/floor/tiled, /area/groundbase/science/xenobot) "mX" = ( @@ -4954,7 +4956,7 @@ /turf/simulated/floor/tiled/eris/cafe, /area/groundbase/civilian/kitchen) "nt" = ( -/obj/item/weapon/stamp/rd, +/obj/item/stamp/rd, /turf/simulated/floor/tiled, /area/groundbase/science/rd) "nv" = ( @@ -4968,9 +4970,7 @@ /turf/simulated/floor/tiled, /area/groundbase/science/hall) "nx" = ( -/obj/machinery/computer/diseasesplicer{ - dir = 1 - }, +/obj/machinery/computer/pandemic, /turf/simulated/floor/tiled/white, /area/medical/virology) "ny" = ( @@ -4981,7 +4981,7 @@ /area/groundbase/civilian/hydroponics) "nz" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_y = 12 }, /turf/simulated/floor/carpet, @@ -5107,9 +5107,9 @@ /area/groundbase/science/xenobot) "nW" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/dropper, -/obj/item/device/radio/intercom{ +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/dropper, +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -5144,8 +5144,8 @@ /area/groundbase/cargo/office) "ob" = ( /obj/structure/table/standard, -/obj/item/device/retail_scanner/civilian, -/obj/item/device/multitool, +/obj/item/retail_scanner/civilian, +/obj/item/multitool, /turf/simulated/floor/tiled, /area/groundbase/civilian/hydroponics) "od" = ( @@ -5402,8 +5402,8 @@ /area/groundbase/command/captain) "oR" = ( /obj/structure/table/standard, -/obj/item/weapon/folder/yellow, -/obj/item/weapon/pen/red{ +/obj/item/folder/yellow, +/obj/item/pen/red{ pixel_x = 2; pixel_y = 6 }, @@ -5502,7 +5502,7 @@ /turf/simulated/floor/tiled/white, /area/groundbase/medical/Chemistry) "ph" = ( -/obj/item/weapon/reagent_containers/glass/beaker/sulphuric, +/obj/item/reagent_containers/glass/beaker/sulphuric, /obj/machinery/r_n_d/circuit_imprinter{ dir = 1 }, @@ -5518,7 +5518,7 @@ /area/groundbase/medical/psych) "pj" = ( /obj/structure/table/fancyblack, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled/dark, /area/groundbase/command/meeting) "pk" = ( @@ -5541,7 +5541,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/item/device/retail_scanner/command, +/obj/item/retail_scanner/command, /turf/simulated/floor/tiled/dark, /area/groundbase/command/meeting) "pn" = ( @@ -5663,14 +5663,14 @@ /area/groundbase/cargo/bay) "pC" = ( /obj/structure/bookcase, -/obj/item/weapon/book/manual/anomaly_spectroscopy, -/obj/item/weapon/book/manual/anomaly_testing, -/obj/item/weapon/book/manual/materials_chemistry_analysis, -/obj/item/weapon/book/manual/resleeving, -/obj/item/weapon/book/manual/standard_operating_procedure, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/manual/command_guide, -/obj/item/weapon/book/manual, +/obj/item/book/manual/anomaly_spectroscopy, +/obj/item/book/manual/anomaly_testing, +/obj/item/book/manual/materials_chemistry_analysis, +/obj/item/book/manual/resleeving, +/obj/item/book/manual/standard_operating_procedure, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/command_guide, +/obj/item/book/manual, /obj/machinery/atmospherics/unary/vent_pump/on, /obj/machinery/light{ dir = 1 @@ -5887,8 +5887,8 @@ }, /obj/machinery/light, /obj/structure/closet/secure_closet/personal, -/obj/item/weapon/towel/random, -/obj/item/weapon/storage/backpack, +/obj/item/towel/random, +/obj/item/storage/backpack, /turf/simulated/floor/wood, /area/groundbase/dorms/room2) "qg" = ( @@ -5998,46 +5998,46 @@ /obj/structure/bookcase{ name = "bookcase (Reference)" }, -/obj/item/weapon/book/bundle/custom_library/reference/ThermodynamicReactionsandResearch, -/obj/item/weapon/book/bundle/custom_library/reference/fbpandprostheticmaintenance, -/obj/item/weapon/book/bundle/custom_library/reference/recyclingprocedures, -/obj/item/weapon/book/custom_library/reference/fistfulofd6splayersguide, -/obj/item/weapon/book/custom_library/reference/securityguidelines, -/obj/item/weapon/book/custom_library/reference/spacesurvivalguidedespressurization, -/obj/item/weapon/book/manual/anomaly_spectroscopy, -/obj/item/weapon/book/manual/anomaly_testing, -/obj/item/weapon/book/manual/atmospipes, -/obj/item/weapon/book/manual/bar_guide, -/obj/item/weapon/book/manual/barman_recipes, -/obj/item/weapon/book/manual/casino, -/obj/item/weapon/book/manual/chef_recipes, -/obj/item/weapon/book/manual/command_guide, -/obj/item/weapon/book/manual/cook_guide, -/obj/item/weapon/book/manual/detective, -/obj/item/weapon/book/manual/engineering_construction, -/obj/item/weapon/book/manual/engineering_guide, -/obj/item/weapon/book/manual/engineering_hacking, -/obj/item/weapon/book/manual/engineering_particle_accelerator, -/obj/item/weapon/book/manual/engineering_singularity_safety, -/obj/item/weapon/book/manual/evaguide, -/obj/item/weapon/book/manual/excavation, -/obj/item/weapon/book/manual/hydroponics_pod_people, -/obj/item/weapon/book/manual/mass_spectrometry, -/obj/item/weapon/book/manual/materials_chemistry_analysis, -/obj/item/weapon/book/manual/medical_cloning, -/obj/item/weapon/book/manual/medical_diagnostics_manual, -/obj/item/weapon/book/manual/research_and_development, -/obj/item/weapon/book/manual/resleeving, -/obj/item/weapon/book/manual/ripley_build_and_repair, -/obj/item/weapon/book/manual/robotics_cyborgs, -/obj/item/weapon/book/manual/rust_engine, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/manual/standard_operating_procedure, -/obj/item/weapon/book/manual/stasis, -/obj/item/weapon/book/manual/supermatter_engine, -/obj/item/weapon/book/manual/tesla_engine, -/obj/item/weapon/book/manual/virology, -/obj/item/weapon/book/manual/rotary_electric_generator, +/obj/item/book/bundle/custom_library/reference/ThermodynamicReactionsandResearch, +/obj/item/book/bundle/custom_library/reference/fbpandprostheticmaintenance, +/obj/item/book/bundle/custom_library/reference/recyclingprocedures, +/obj/item/book/custom_library/reference/fistfulofd6splayersguide, +/obj/item/book/custom_library/reference/securityguidelines, +/obj/item/book/custom_library/reference/spacesurvivalguidedespressurization, +/obj/item/book/manual/anomaly_spectroscopy, +/obj/item/book/manual/anomaly_testing, +/obj/item/book/manual/atmospipes, +/obj/item/book/manual/bar_guide, +/obj/item/book/manual/barman_recipes, +/obj/item/book/manual/casino, +/obj/item/book/manual/chef_recipes, +/obj/item/book/manual/command_guide, +/obj/item/book/manual/cook_guide, +/obj/item/book/manual/detective, +/obj/item/book/manual/wiki/engineering_construction, +/obj/item/book/manual/wiki/engineering_guide, +/obj/item/book/manual/wiki/engineering_hacking, +/obj/item/book/manual/engineering_particle_accelerator, +/obj/item/book/manual/engineering_singularity_safety, +/obj/item/book/manual/evaguide, +/obj/item/book/manual/excavation, +/obj/item/book/manual/hydroponics_pod_people, +/obj/item/book/manual/mass_spectrometry, +/obj/item/book/manual/materials_chemistry_analysis, +/obj/item/book/manual/medical_cloning, +/obj/item/book/manual/wiki/medical_diagnostics_manual, +/obj/item/book/manual/research_and_development, +/obj/item/book/manual/resleeving, +/obj/item/book/manual/ripley_build_and_repair, +/obj/item/book/manual/robotics_cyborgs, +/obj/item/book/manual/rust_engine, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/standard_operating_procedure, +/obj/item/book/manual/stasis, +/obj/item/book/manual/supermatter_engine, +/obj/item/book/manual/tesla_engine, +/obj/item/book/manual/virology, +/obj/item/book/manual/rotary_electric_generator, /turf/simulated/floor/wood, /area/groundbase/civilian/library) "qy" = ( @@ -6090,6 +6090,12 @@ icon_state = "2-4" }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/button/remote/airlock/release{ + dir = 4; + pixel_y = -7; + pixel_x = -27; + id = "dorm6" + }, /turf/simulated/floor/wood, /area/groundbase/dorms/room6) "qG" = ( @@ -6149,16 +6155,16 @@ "qQ" = ( /obj/structure/closet/chefcloset, /obj/item/glass_jar, -/obj/item/device/retail_scanner/civilian, -/obj/item/weapon/soap/nanotrasen, -/obj/item/device/destTagger{ +/obj/item/retail_scanner/civilian, +/obj/item/soap/nanotrasen, +/obj/item/destTagger{ pixel_x = 4; pixel_y = 3 }, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, -/obj/item/weapon/tool/wrench, +/obj/item/packageWrap, +/obj/item/packageWrap, +/obj/item/packageWrap, +/obj/item/tool/wrench, /turf/simulated/floor/tiled/eris/cafe, /area/groundbase/civilian/kitchen) "qS" = ( @@ -6275,10 +6281,10 @@ /area/groundbase/science/rnd) "ri" = ( /obj/structure/table/steel, -/obj/item/device/integrated_electronics/debugger{ +/obj/item/integrated_electronics/debugger{ pixel_x = -5 }, -/obj/item/device/integrated_electronics/wirer{ +/obj/item/integrated_electronics/wirer{ pixel_x = 5 }, /obj/machinery/firealarm, @@ -6327,11 +6333,11 @@ /area/groundbase/level2/nw) "rp" = ( /obj/structure/closet/wardrobe/chaplain_black, -/obj/item/weapon/storage/fancy/crayons, -/obj/item/weapon/flame/candle/candelabra, -/obj/item/weapon/flame/candle/candelabra, -/obj/item/weapon/flame/candle/candelabra, -/obj/item/weapon/flame/candle/candelabra, +/obj/item/storage/fancy/crayons, +/obj/item/flame/candle/candelabra, +/obj/item/flame/candle/candelabra, +/obj/item/flame/candle/candelabra, +/obj/item/flame/candle/candelabra, /obj/machinery/light_switch{ dir = 1; pixel_y = -30 @@ -6370,13 +6376,13 @@ /area/groundbase/civilian/kitchen) "ru" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/folder/red, -/obj/item/weapon/folder/blue, -/obj/item/weapon/pen/multi{ +/obj/item/folder/red, +/obj/item/folder/blue, +/obj/item/pen/multi{ pixel_x = -2; pixel_y = 9 }, @@ -6475,8 +6481,8 @@ /area/groundbase/science/rnd) "rI" = ( /obj/structure/table/standard, -/obj/item/weapon/book/manual/resleeving, -/obj/item/weapon/storage/box/backup_kit, +/obj/item/book/manual/resleeving, +/obj/item/storage/box/backup_kit, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, @@ -6582,8 +6588,8 @@ /area/rnd/xenobiology) "rX" = ( /obj/structure/closet/secure_closet/personal, -/obj/item/weapon/towel/random, -/obj/item/weapon/storage/backpack, +/obj/item/towel/random, +/obj/item/storage/backpack, /turf/simulated/floor/wood, /area/groundbase/dorms/room8) "rZ" = ( @@ -6592,8 +6598,8 @@ /area/groundbase/medical/Chemistry) "sb" = ( /obj/structure/mopbucket, -/obj/item/weapon/mop, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/mop, +/obj/item/reagent_containers/glass/bucket, /obj/machinery/alarm{ dir = 4 }, @@ -6617,9 +6623,9 @@ /turf/simulated/floor/tiled/dark, /area/groundbase/civilian/bar) "se" = ( -/obj/item/device/aicard, +/obj/item/aicard, /obj/structure/table/reinforced, -/obj/item/device/multitool, +/obj/item/multitool, /obj/machinery/button/remote/blast_door{ dir = 8; id = "bridge blast"; @@ -6635,8 +6641,8 @@ /area/rnd/xenobiology) "sh" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/gloves, -/obj/item/weapon/storage/box/masks, +/obj/item/storage/box/gloves, +/obj/item/storage/box/masks, /turf/simulated/floor/tiled/white, /area/groundbase/medical/triage) "si" = ( @@ -6670,7 +6676,7 @@ "so" = ( /obj/machinery/alarm, /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /turf/simulated/floor/wood, /area/groundbase/dorms/room2) "sp" = ( @@ -6999,10 +7005,15 @@ /turf/simulated/floor/tiled/eris/cafe, /area/groundbase/civilian/kitchen) "tk" = ( -/obj/machinery/disease2/isolator, /obj/machinery/light{ dir = 1 }, +/obj/structure/closet/crate/medical, +/obj/item/reagent_containers/glass/bottle/culture/cold{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/item/reagent_containers/glass/bottle/culture/flu, /turf/simulated/floor/tiled/white, /area/medical/virology) "tm" = ( @@ -7135,7 +7146,7 @@ /turf/simulated/floor/tiled/dark, /area/groundbase/science/rnd) "tJ" = ( -/obj/item/weapon/folder/blue, +/obj/item/folder/blue, /obj/structure/table/fancyblack, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 @@ -7238,11 +7249,11 @@ /area/groundbase/civilian/kitchen) "tX" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/donut, -/obj/item/weapon/book/manual/standard_operating_procedure, -/obj/item/weapon/book/manual/command_guide, -/obj/item/device/radio, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/box/donut, +/obj/item/book/manual/standard_operating_procedure, +/obj/item/book/manual/command_guide, +/obj/item/radio, +/obj/item/storage/firstaid/regular, /obj/machinery/power/apc{ dir = 4 }, @@ -7288,6 +7299,12 @@ icon_state = "2-8" }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/button/remote/airlock/release{ + dir = 8; + pixel_y = -7; + pixel_x = 27; + id = "dorm3" + }, /turf/simulated/floor/wood, /area/groundbase/dorms/room3) "uf" = ( @@ -7509,8 +7526,8 @@ /area/medical/virology) "uK" = ( /obj/structure/table/standard, -/obj/item/weapon/tape_roll, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/tape_roll, +/obj/item/storage/firstaid/regular{ pixel_x = 6; pixel_y = -5 }, @@ -7590,22 +7607,22 @@ /turf/simulated/floor/outdoors/sidewalk/slab, /area/groundbase/level2/northspur) "uU" = ( -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/spacespice, -/obj/item/weapon/reagent_containers/food/condiment/spacespice, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/spacespice, +/obj/item/reagent_containers/food/condiment/spacespice, +/obj/item/reagent_containers/food/condiment/carton/sugar, +/obj/item/reagent_containers/food/condiment/carton/sugar, +/obj/item/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/small/peppermill, +/obj/item/reagent_containers/food/condiment/small/peppermill, /obj/structure/closet, /obj/random/donkpocketbox, /turf/simulated/floor/tiled/eris/cafe, @@ -7794,16 +7811,16 @@ /area/groundbase/cargo/qm) "vF" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_x = 2; pixel_y = 3 }, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_x = -2; pixel_y = -1 }, /obj/item/clothing/glasses/welding, -/obj/item/weapon/storage/belt/utility, +/obj/item/storage/belt/utility, /obj/machinery/atmospherics/unary/vent_pump/on, /obj/machinery/camera/network/research, /turf/simulated/floor/tiled, @@ -7832,8 +7849,8 @@ /area/groundbase/civilian/library) "vK" = ( /obj/structure/closet/secure_closet/personal, -/obj/item/weapon/towel/random, -/obj/item/weapon/storage/backpack, +/obj/item/towel/random, +/obj/item/storage/backpack, /obj/machinery/firealarm{ dir = 4 }, @@ -7867,10 +7884,10 @@ "vP" = ( /obj/machinery/door/firedoor, /obj/structure/table/glass, -/obj/item/weapon/backup_implanter, -/obj/item/weapon/backup_implanter, -/obj/item/weapon/backup_implanter, -/obj/item/weapon/backup_implanter, +/obj/item/backup_implanter, +/obj/item/backup_implanter, +/obj/item/backup_implanter, +/obj/item/backup_implanter, /obj/machinery/door/window/southleft{ dir = 8; req_access = list(5) @@ -7884,23 +7901,23 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, -/obj/item/weapon/book/bundle/custom_library/fiction/apurrrrfectman, -/obj/item/weapon/book/bundle/custom_library/fiction/beyondthedoor, -/obj/item/weapon/book/bundle/custom_library/fiction/chroniclesofmargatavol1, -/obj/item/weapon/book/bundle/custom_library/fiction/coldmountain, -/obj/item/weapon/book/bundle/custom_library/fiction/ghostship, -/obj/item/weapon/book/bundle/custom_library/fiction/manfromsnowyriver, -/obj/item/weapon/book/bundle/custom_library/fiction/metalglen, -/obj/item/weapon/book/bundle/custom_library/fiction/poemsforarainyday, -/obj/item/weapon/book/bundle/custom_library/fiction/raissue142, -/obj/item/weapon/book/bundle/custom_library/fiction/raissue147, -/obj/item/weapon/book/bundle/custom_library/fiction/silence, -/obj/item/weapon/book/bundle/custom_library/fiction/taleoftherainbowcat, -/obj/item/weapon/book/custom_library/fiction/blacksmithandkinglybloke, -/obj/item/weapon/book/custom_library/fiction/irishairmanforseesdeath, -/obj/item/weapon/book/custom_library/fiction/myrock, -/obj/item/weapon/book/custom_library/fiction/starsandsometimesfallingones, -/obj/item/weapon/book/custom_library/fiction/truelovehathmyheart, +/obj/item/book/bundle/custom_library/fiction/apurrrrfectman, +/obj/item/book/bundle/custom_library/fiction/beyondthedoor, +/obj/item/book/bundle/custom_library/fiction/chroniclesofmargatavol1, +/obj/item/book/bundle/custom_library/fiction/coldmountain, +/obj/item/book/bundle/custom_library/fiction/ghostship, +/obj/item/book/bundle/custom_library/fiction/manfromsnowyriver, +/obj/item/book/bundle/custom_library/fiction/metalglen, +/obj/item/book/bundle/custom_library/fiction/poemsforarainyday, +/obj/item/book/bundle/custom_library/fiction/raissue142, +/obj/item/book/bundle/custom_library/fiction/raissue147, +/obj/item/book/bundle/custom_library/fiction/silence, +/obj/item/book/bundle/custom_library/fiction/taleoftherainbowcat, +/obj/item/book/custom_library/fiction/blacksmithandkinglybloke, +/obj/item/book/custom_library/fiction/irishairmanforseesdeath, +/obj/item/book/custom_library/fiction/myrock, +/obj/item/book/custom_library/fiction/starsandsometimesfallingones, +/obj/item/book/custom_library/fiction/truelovehathmyheart, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, @@ -7908,8 +7925,8 @@ /area/groundbase/civilian/library) "vS" = ( /obj/structure/mopbucket, -/obj/item/weapon/mop, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/mop, +/obj/item/reagent_containers/glass/bucket, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, @@ -7928,7 +7945,7 @@ /area/groundbase/medical/Chemistry) "vV" = ( /obj/structure/reagent_dispensers/watertank, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /obj/machinery/newscaster{ pixel_y = 28 }, @@ -8007,7 +8024,7 @@ /turf/simulated/floor/wood, /area/groundbase/civilian/library) "wh" = ( -/obj/item/weapon/folder/red, +/obj/item/folder/red, /obj/structure/table/fancyblack, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -8169,10 +8186,10 @@ /area/groundbase/civilian/chapel) "wI" = ( /obj/structure/table/steel, -/obj/item/device/integrated_electronics/debugger{ +/obj/item/integrated_electronics/debugger{ pixel_x = -5 }, -/obj/item/device/integrated_electronics/wirer{ +/obj/item/integrated_electronics/wirer{ pixel_x = 5 }, /obj/machinery/light, @@ -8750,10 +8767,10 @@ /area/groundbase/cargo/office) "yt" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = 7 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/wood, @@ -8762,7 +8779,7 @@ /obj/machinery/computer/message_monitor{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -8996,7 +9013,7 @@ /obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/item/device/retail_scanner/cargo, +/obj/item/retail_scanner/cargo, /turf/simulated/floor/tiled, /area/groundbase/cargo/office) "zg" = ( @@ -9124,7 +9141,7 @@ /area/groundbase/medical/triage) "zG" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp{ +/obj/item/flashlight/lamp{ pixel_x = 2; pixel_y = 7 }, @@ -9136,7 +9153,7 @@ /area/groundbase/civilian/chapel/office) "zH" = ( /obj/structure/reagent_dispensers/watertank, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /obj/machinery/camera/network/research/xenobio{ dir = 1 }, @@ -9175,7 +9192,7 @@ /area/groundbase/civilian/kitchen) "zK" = ( /obj/machinery/door/firedoor, -/obj/item/weapon/folder/white, +/obj/item/folder/white, /obj/structure/table/reinforced, /obj/machinery/door/window/brigdoor/westright{ dir = 4; @@ -9183,11 +9200,11 @@ req_access = list(7); req_one_access = list(47) }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -1; pixel_y = 4 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/machinery/door/blast/angled_shutter/open{ dir = 4; id = "rndshutters"; @@ -9315,12 +9332,11 @@ /area/groundbase/command/meeting) "Ag" = ( /obj/structure/table/glass, -/obj/item/weapon/book/manual/virology, -/obj/item/device/antibody_scanner, -/obj/item/weapon/reagent_containers/glass/beaker, -/obj/item/weapon/paper_bin, -/obj/item/weapon/folder/white, -/obj/item/weapon/pen, +/obj/item/book/manual/virology, +/obj/item/reagent_containers/glass/beaker, +/obj/item/paper_bin, +/obj/item/folder/white, +/obj/item/pen, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, @@ -9523,73 +9539,73 @@ /obj/structure/closet{ name = "robotics equipment" }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ empty = 1; name = "First-Aid (empty)" }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ empty = 1; name = "First-Aid (empty)" }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ empty = 1; name = "First-Aid (empty)" }, -/obj/item/device/healthanalyzer, -/obj/item/device/healthanalyzer, -/obj/item/device/healthanalyzer, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, +/obj/item/healthanalyzer, +/obj/item/healthanalyzer, +/obj/item/healthanalyzer, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, /obj/item/stack/cable_coil, /obj/item/stack/cable_coil, -/obj/item/device/assembly/prox_sensor{ +/obj/item/assembly/prox_sensor{ pixel_x = -8; pixel_y = 4 }, -/obj/item/device/assembly/prox_sensor{ +/obj/item/assembly/prox_sensor{ pixel_x = -8; pixel_y = 4 }, /obj/item/clothing/glasses/omnihud/rnd, -/obj/item/weapon/storage/toolbox/electrical{ +/obj/item/storage/toolbox/electrical{ pixel_x = 1; pixel_y = 6 }, -/obj/item/weapon/storage/belt/utility, -/obj/item/device/multitool{ +/obj/item/storage/belt/utility, +/obj/item/multitool{ pixel_x = 3 }, -/obj/item/weapon/storage/toolbox/mechanical, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, +/obj/item/tool/crowbar, +/obj/item/storage/toolbox/mechanical, /obj/item/clothing/glasses/welding, /obj/item/clothing/glasses/welding, /obj/item/clothing/head/welding{ @@ -9629,7 +9645,7 @@ "AX" = ( /obj/structure/table/woodentable, /obj/random/coin/sometimes, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = 1; pixel_y = 5 }, @@ -9831,7 +9847,7 @@ "BC" = ( /obj/machinery/light, /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /turf/simulated/floor/wood, /area/groundbase/dorms/room4) "BD" = ( @@ -9932,13 +9948,13 @@ /area/groundbase/dorms/bathroom) "BV" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = 4 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, -/obj/item/weapon/clipboard, +/obj/item/clipboard, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, @@ -10159,8 +10175,8 @@ /turf/simulated/wall/r_wall, /area/groundbase/dorms/room5) "CC" = ( -/obj/item/weapon/storage/briefcase, -/obj/item/weapon/storage/briefcase, +/obj/item/storage/briefcase, +/obj/item/storage/briefcase, /obj/structure/table/rack, /obj/machinery/light/small, /turf/simulated/floor/carpet, @@ -10375,11 +10391,11 @@ /obj/effect/floor_decal/industrial/warning{ dir = 1 }, -/obj/item/weapon/storage/firstaid/surgery, -/obj/item/device/robotanalyzer, -/obj/item/device/mmi/digital/posibrain, -/obj/item/device/mmi, -/obj/item/weapon/paper{ +/obj/item/storage/firstaid/surgery, +/obj/item/robotanalyzer, +/obj/item/mmi/digital/posibrain, +/obj/item/mmi, +/obj/item/paper{ desc = ""; info = "Stop installing NIFs in here you clods! Unless it's on a synth. Otherwise, STOP DOING IT! You're killing people! -Management"; name = "note to science staff" @@ -10414,7 +10430,7 @@ /area/groundbase/dorms/room1) "Dm" = ( /obj/structure/table/standard, -/obj/item/device/retail_scanner/science, +/obj/item/retail_scanner/science, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, @@ -10533,7 +10549,7 @@ /area/groundbase/command/hop) "DD" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /turf/simulated/floor/tiled, /area/rnd/xenobiology) "DE" = ( @@ -10651,7 +10667,7 @@ "DP" = ( /obj/machinery/light, /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /turf/simulated/floor/wood, /area/groundbase/dorms/room5) "DQ" = ( @@ -10661,7 +10677,7 @@ /turf/simulated/floor/tiled/white, /area/groundbase/medical/triage) "DR" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/effect/landmark/start/librarian, @@ -10684,13 +10700,13 @@ /area/groundbase/civilian/bar) "DV" = ( /obj/structure/table/rack, -/obj/item/weapon/tank/jetpack/oxygen, +/obj/item/tank/jetpack/oxygen, /obj/item/clothing/mask/gas, /obj/structure/window/reinforced, /obj/structure/window/reinforced{ dir = 1 }, -/obj/item/weapon/card/id/gold/captain/spare, +/obj/item/card/id/gold/captain/spare, /obj/machinery/door/window/brigdoor/westright{ dir = 4; name = "Colony Director's Storage"; @@ -10761,12 +10777,12 @@ /obj/structure/bookcase{ name = "bookcase (Non-Fiction)" }, -/obj/item/weapon/book/bundle/custom_library/nonfiction/riseandfallofpersianempire, -/obj/item/weapon/book/bundle/custom_library/nonfiction/skrelliancastesystem, -/obj/item/weapon/book/bundle/custom_library/nonfiction/viabilityofcorporategov, -/obj/item/weapon/book/custom_library/nonfiction/freesirisailightbulbs, +/obj/item/book/bundle/custom_library/nonfiction/riseandfallofpersianempire, +/obj/item/book/bundle/custom_library/nonfiction/skrelliancastesystem, +/obj/item/book/bundle/custom_library/nonfiction/viabilityofcorporategov, +/obj/item/book/custom_library/nonfiction/freesirisailightbulbs, /obj/machinery/atmospherics/unary/vent_scrubber/on, -/obj/item/weapon/book/manual/synthetic_life, +/obj/item/book/manual/synthetic_life, /turf/simulated/floor/wood, /area/groundbase/civilian/library) "Ee" = ( @@ -10845,7 +10861,7 @@ /area/groundbase/cargo/office) "Eo" = ( /obj/machinery/firealarm, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /obj/structure/table/standard, /turf/simulated/floor/tiled, /area/groundbase/civilian/hydroponics) @@ -10868,7 +10884,7 @@ /area/groundbase/civilian/kitchen) "Et" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/box/cups, +/obj/item/storage/box/cups, /turf/simulated/floor/tiled/dark, /area/groundbase/command/meeting) "Eu" = ( @@ -10924,7 +10940,7 @@ "EC" = ( /obj/machinery/alarm, /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /turf/simulated/floor/wood, /area/groundbase/dorms/room1) "ED" = ( @@ -11000,15 +11016,15 @@ /area/groundbase/level2/ne) "EQ" = ( /obj/structure/closet/walllocker_double/cargo/north, -/obj/item/weapon/cartridge/quartermaster{ +/obj/item/cartridge/quartermaster{ pixel_x = 6; pixel_y = 5 }, -/obj/item/weapon/cartridge/quartermaster{ +/obj/item/cartridge/quartermaster{ pixel_x = -4; pixel_y = 7 }, -/obj/item/weapon/cartridge/quartermaster, +/obj/item/cartridge/quartermaster, /turf/simulated/floor/wood, /area/groundbase/cargo/qm) "ET" = ( @@ -11229,25 +11245,25 @@ /turf/simulated/floor/tiled/dark, /area/groundbase/science/robotics) "FB" = ( -/obj/item/weapon/storage/fancy/vials, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/storage/lockbox/vials, -/obj/item/weapon/reagent_containers/dropper, -/obj/item/weapon/storage/box/syringes{ +/obj/item/storage/fancy/vials, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/storage/lockbox/vials, +/obj/item/reagent_containers/dropper, +/obj/item/storage/box/syringes{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/box/beakers, -/obj/item/weapon/storage/box/masks, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/beakers, +/obj/item/storage/box/masks, +/obj/item/storage/box/gloves{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /obj/structure/closet/walllocker_double/medical/east, -/obj/item/weapon/hand_labeler, -/obj/item/weapon/storage/box/monkeycubes/wolpincubes, +/obj/item/hand_labeler, +/obj/item/storage/box/monkeycubes/wolpincubes, /turf/simulated/floor/tiled/white, /area/medical/virology) "FC" = ( @@ -11285,7 +11301,7 @@ /obj/structure/table/standard, /obj/item/clothing/head/soft, /obj/item/clothing/head/soft, -/obj/item/weapon/stamp{ +/obj/item/stamp{ pixel_x = -3; pixel_y = 3 }, @@ -11461,7 +11477,7 @@ /area/groundbase/dorms/room5) "Gi" = ( /obj/structure/reagent_dispensers/watertank, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /obj/machinery/light, /turf/simulated/floor/tiled, /area/groundbase/science/xenobot) @@ -11489,7 +11505,7 @@ /area/groundbase/civilian/bar/upper) "Gm" = ( /obj/structure/table/woodentable, -/obj/item/device/taperecorder, +/obj/item/taperecorder, /turf/simulated/floor/carpet, /area/groundbase/civilian/library) "Gn" = ( @@ -11590,13 +11606,13 @@ /area/groundbase/command/bridge) "Gx" = ( /obj/structure/table/reinforced, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = -10; pixel_y = 3 }, -/obj/item/weapon/clipboard, -/obj/item/weapon/stamp/hop, -/obj/item/weapon/paper/dockingcodes, +/obj/item/clipboard, +/obj/item/stamp/hop, +/obj/item/paper/dockingcodes, /turf/simulated/floor/carpet, /area/groundbase/command/hop) "Gy" = ( @@ -11654,13 +11670,13 @@ /area/groundbase/science/xenobot) "GJ" = ( /obj/structure/table/steel, -/obj/item/device/integrated_circuit_printer, +/obj/item/integrated_circuit_printer, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, /area/groundbase/science/circuits) "GK" = ( /obj/machinery/r_n_d/circuit_imprinter, -/obj/item/weapon/reagent_containers/glass/beaker/sulphuric, +/obj/item/reagent_containers/glass/beaker/sulphuric, /obj/machinery/light{ dir = 1 }, @@ -11778,9 +11794,9 @@ /area/groundbase/level2/nw) "Ha" = ( /obj/structure/table/steel, -/obj/item/device/multitool, +/obj/item/multitool, /obj/item/clothing/glasses/welding, -/obj/item/weapon/weldingtool, +/obj/item/weldingtool, /turf/simulated/floor/tiled, /area/rnd/xenobiology) "Hb" = ( @@ -11789,7 +11805,7 @@ /turf/simulated/floor/tiled, /area/groundbase/science/robotics) "Hc" = ( -/obj/item/weapon/bedsheet/captain, +/obj/item/bedsheet/captain, /obj/structure/bed/padded, /obj/machinery/alarm, /obj/machinery/atmospherics/unary/vent_scrubber/on, @@ -12030,7 +12046,7 @@ "HJ" = ( /obj/structure/table/standard, /obj/machinery/recharger, -/obj/item/weapon/hand_labeler, +/obj/item/hand_labeler, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, @@ -12061,9 +12077,9 @@ /area/groundbase/level2/sw) "HR" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/dropper, -/obj/item/device/radio/intercom{ +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/dropper, +/obj/item/radio/intercom{ pixel_y = -24 }, /obj/machinery/atmospherics/unary/vent_pump/on{ @@ -12222,7 +12238,7 @@ /turf/simulated/floor/outdoors/newdirt, /area/groundbase/level2/ne) "Il" = ( -/obj/item/weapon/bedsheet/mimedouble, +/obj/item/bedsheet/mimedouble, /obj/structure/bed/double/padded, /obj/structure/curtain/black, /obj/machinery/atmospherics/unary/vent_pump/on, @@ -12818,7 +12834,7 @@ /area/groundbase/cargo/bay) "JO" = ( /obj/structure/table/standard, -/obj/item/device/retail_scanner/civilian, +/obj/item/retail_scanner/civilian, /obj/machinery/light{ dir = 8 }, @@ -12882,11 +12898,11 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/device/megaphone, +/obj/item/megaphone, /turf/simulated/floor/wood, /area/groundbase/cargo/qm) "JX" = ( @@ -12903,7 +12919,7 @@ dir = 2; icon_state = "pipe-c" }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /turf/simulated/floor/tiled, @@ -12985,7 +13001,7 @@ /obj/item/honey_frame, /obj/item/honey_frame, /obj/item/honey_frame, -/obj/item/weapon/tool/crowbar, +/obj/item/tool/crowbar, /obj/item/bee_smoker, /obj/item/beehive_assembly, /obj/structure/closet/crate/hydroponics{ @@ -13140,9 +13156,9 @@ /area/groundbase/cargo/qm) "KD" = ( /obj/structure/bookcase, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/manual/standard_operating_procedure, -/obj/item/weapon/book/manual/command_guide, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/standard_operating_procedure, +/obj/item/book/manual/command_guide, /turf/simulated/floor/wood, /area/groundbase/command/captain) "KE" = ( @@ -13196,8 +13212,8 @@ /area/groundbase/civilian/hydroponics) "KO" = ( /obj/structure/mopbucket, -/obj/item/weapon/mop, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/mop, +/obj/item/reagent_containers/glass/bucket, /turf/simulated/floor/tiled, /area/groundbase/civilian/janitor) "KP" = ( @@ -13316,7 +13332,7 @@ /area/groundbase/cargo/office) "Lk" = ( /obj/structure/table/steel, -/obj/item/device/electronic_assembly/large/default, +/obj/item/electronic_assembly/large/default, /turf/simulated/floor/tiled, /area/groundbase/science/circuits) "Lm" = ( @@ -13340,7 +13356,7 @@ /area/groundbase/cargo/office) "Lo" = ( /obj/structure/table/reinforced, -/obj/item/device/robotanalyzer, +/obj/item/robotanalyzer, /obj/structure/extinguisher_cabinet{ dir = 8; pixel_x = 30 @@ -13364,7 +13380,7 @@ /turf/simulated/floor/outdoors/newdirt, /area/groundbase/level2/ne) "Ls" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -13390,6 +13406,11 @@ /obj/structure/bed/chair/sofa/corp/left{ dir = 4 }, +/obj/machinery/button/remote/airlock/release{ + pixel_y = 27; + pixel_x = 7; + id = "dorm8" + }, /turf/simulated/floor/wood, /area/groundbase/dorms/room8) "Lu" = ( @@ -13454,12 +13475,12 @@ /area/groundbase/dorms/room5) "LD" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/snacks/mint, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/snacks/mint, +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 3; pixel_y = 13 }, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -1; pixel_y = 10 }, @@ -13469,13 +13490,13 @@ /turf/simulated/floor/tiled/eris/cafe, /area/groundbase/civilian/kitchen) "LE" = ( -/obj/item/weapon/storage/box/monkeycubes, -/obj/item/weapon/storage/box/monkeycubes, -/obj/item/weapon/storage/box/monkeycubes, -/obj/item/weapon/storage/box/monkeycubes, -/obj/item/weapon/storage/box/monkeycubes, -/obj/item/weapon/storage/box/beakers, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/storage/box/monkeycubes, +/obj/item/storage/box/monkeycubes, +/obj/item/storage/box/monkeycubes, +/obj/item/storage/box/monkeycubes, +/obj/item/storage/box/monkeycubes, +/obj/item/storage/box/beakers, +/obj/item/reagent_containers/spray/cleaner, /obj/structure/table/steel, /turf/simulated/floor/tiled, /area/rnd/xenobiology) @@ -13579,8 +13600,8 @@ /area/groundbase/level2/nw) "LU" = ( /obj/structure/table/glass, -/obj/item/weapon/folder/white_rd, -/obj/item/weapon/stamp/rd, +/obj/item/folder/white_rd, +/obj/item/stamp/rd, /turf/simulated/floor/tiled, /area/groundbase/science/rd) "LV" = ( @@ -13676,14 +13697,14 @@ /area/groundbase/medical/triage) "Mi" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the 'Space' from Space Cleaner and written in Chemistry. Scrawled on the back is, 'Okay, whoever filled this with polytrinic acid, it was only funny the first time. It was hard enough replacing the CMO's first cat!'"; name = "Chemistry Cleaner" }, -/obj/item/weapon/hand_labeler, -/obj/item/weapon/packageWrap, -/obj/item/device/mass_spectrometer/adv, -/obj/item/device/mass_spectrometer/adv, +/obj/item/hand_labeler, +/obj/item/packageWrap, +/obj/item/mass_spectrometer/adv, +/obj/item/mass_spectrometer/adv, /obj/item/clothing/glasses/science, /obj/item/clothing/glasses/science, /obj/machinery/alarm{ @@ -13819,7 +13840,7 @@ /obj/machinery/computer/med_data/laptop{ dir = 8 }, -/obj/item/device/radio{ +/obj/item/radio{ anchored = 1; canhear_range = 7; frequency = 1487; @@ -13841,7 +13862,7 @@ /area/groundbase/science/robotics) "Mz" = ( /obj/structure/table/steel, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, /obj/machinery/camera/network/research/xenobio{ dir = 1 }, @@ -13942,15 +13963,15 @@ /area/groundbase/science/robotics) "MQ" = ( /obj/structure/table/standard, -/obj/item/weapon/folder/yellow, -/obj/item/weapon/stamp/denied{ +/obj/item/folder/yellow, +/obj/item/stamp/denied{ pixel_x = 4; pixel_y = -2 }, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, -/obj/item/weapon/stamp/accepted, +/obj/item/stamp/accepted, /obj/structure/cable/yellow{ icon_state = "1-2" }, @@ -13958,10 +13979,10 @@ /area/groundbase/cargo/office) "MR" = ( /obj/structure/table/standard, -/obj/item/weapon/hand_labeler, -/obj/item/weapon/pen, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, +/obj/item/hand_labeler, +/obj/item/pen, +/obj/item/packageWrap, +/obj/item/packageWrap, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, @@ -14579,7 +14600,7 @@ "OD" = ( /obj/structure/table/reinforced, /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the 'Space' from Space Cleaner and written in Chemistry. Scrawled on the back is, 'Okay, whoever filled this with polytrinic acid, it was only funny the first time. It was hard enough replacing the CMO's first cat!'"; name = "Chemistry Cleaner" }, @@ -14685,8 +14706,8 @@ dir = 8 }, /obj/structure/closet/secure_closet/personal, -/obj/item/weapon/towel/random, -/obj/item/weapon/storage/backpack, +/obj/item/towel/random, +/obj/item/storage/backpack, /turf/simulated/floor/wood, /area/groundbase/dorms/room3) "OS" = ( @@ -14822,8 +14843,8 @@ departmentType = 2; pixel_y = 30 }, -/obj/item/device/healthanalyzer/guide, -/obj/item/device/healthanalyzer/guide, +/obj/item/healthanalyzer/guide, +/obj/item/healthanalyzer/guide, /obj/structure/table/glass, /turf/simulated/floor/tiled/white, /area/groundbase/medical/triage) @@ -14987,9 +15008,9 @@ desc = "There appears to be a shrine to WGW at the back..."; name = "Forbidden Knowledge" }, -/obj/item/weapon/book/manual/engineering_hacking, -/obj/item/weapon/book/manual/nuclear, -/obj/item/weapon/book/custom_library/fiction/woodysgotwood, +/obj/item/book/manual/wiki/engineering_hacking, +/obj/item/book/manual/nuclear, +/obj/item/book/custom_library/fiction/woodysgotwood, /obj/machinery/light/small{ dir = 1 }, @@ -15037,6 +15058,12 @@ /obj/structure/bed/chair/sofa/corp/left{ dir = 8 }, +/obj/machinery/button/remote/airlock/release{ + dir = 8; + pixel_y = -7; + pixel_x = 27; + id = "dorm1" + }, /turf/simulated/floor/wood, /area/groundbase/dorms/room1) "PU" = ( @@ -15133,11 +15160,11 @@ /obj/structure/bookcase{ name = "bookcase (Religious)" }, -/obj/item/weapon/book/bundle/custom_library/religious/zoroastrianism, -/obj/item/weapon/book/custom_library/religious/feastofkubera, -/obj/item/weapon/book/custom_library/religious/storyoflordganesha, -/obj/item/weapon/book/custom_library/religious/sungoddessofkorea, -/obj/item/weapon/book/custom_library/religious/wayofbleedingswan, +/obj/item/book/bundle/custom_library/religious/zoroastrianism, +/obj/item/book/custom_library/religious/feastofkubera, +/obj/item/book/custom_library/religious/storyoflordganesha, +/obj/item/book/custom_library/religious/sungoddessofkorea, +/obj/item/book/custom_library/religious/wayofbleedingswan, /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/wood, /area/groundbase/civilian/library) @@ -15368,6 +15395,11 @@ /obj/structure/bed/chair/sofa/corp/right{ dir = 8 }, +/obj/machinery/button/remote/airlock/release{ + pixel_y = 27; + pixel_x = -7; + id = "dorm7" + }, /turf/simulated/floor/wood, /area/groundbase/dorms/room7) "QP" = ( @@ -15460,9 +15492,9 @@ /area/groundbase/science/xenobot/storage) "Rd" = ( /obj/structure/table/reinforced, -/obj/item/device/megaphone, -/obj/item/weapon/book/manual/command_guide, -/obj/item/weapon/book/manual/standard_operating_procedure, +/obj/item/megaphone, +/obj/item/book/manual/command_guide, +/obj/item/book/manual/standard_operating_procedure, /obj/machinery/light{ dir = 1 }, @@ -15605,7 +15637,7 @@ /obj/machinery/recharger{ pixel_y = 4 }, -/obj/item/device/perfect_tele{ +/obj/item/perfect_tele{ desc = "Seems absurd, doesn't it? Yet, here we are. Generally considered dangerous contraband unless the user has permission from Central Command. This one is the Site Manager's, and they are authorized to use it."; name = "manager's translocator" }, @@ -15635,10 +15667,10 @@ /turf/simulated/floor/tiled, /area/groundbase/science/xenobot/storage) "RC" = ( -/obj/item/weapon/gun/projectile/shotgun/doublebarrel{ +/obj/item/gun/projectile/shotgun/doublebarrel{ name = "chef's double-barreled shotgun" }, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "This permit signifies that the Chef is permitted to posess this firearm in the bar, and ONLY the bar. Failure to adhere to this permit will result in confiscation of the weapon and possibly arrest."; name = "Shotgun permit" }, @@ -15810,7 +15842,7 @@ /area/groundbase/science/xenobot) "Sb" = ( /obj/structure/table/steel, -/obj/item/device/electronic_assembly/large/default, +/obj/item/electronic_assembly/large/default, /obj/machinery/light{ dir = 1 }, @@ -15818,8 +15850,8 @@ /area/groundbase/science/circuits) "Sc" = ( /obj/structure/table/woodentable, -/obj/item/device/tvcamera, -/obj/item/device/radio/intercom{ +/obj/item/tvcamera, +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -15886,11 +15918,11 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 8 }, -/obj/item/device/destTagger, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, +/obj/item/destTagger, +/obj/item/packageWrap, +/obj/item/packageWrap, +/obj/item/packageWrap, +/obj/item/packageWrap, /turf/simulated/floor/tiled, /area/groundbase/cargo/office) "Sm" = ( @@ -15992,7 +16024,7 @@ /obj/machinery/computer/communications{ dir = 4 }, -/obj/item/weapon/storage/secure/safe{ +/obj/item/storage/secure/safe{ pixel_x = -24 }, /turf/simulated/floor/carpet/blucarpet, @@ -16075,7 +16107,7 @@ /turf/simulated/floor/tiled/steel_ridged, /area/groundbase/medical/triage) "SM" = ( -/obj/item/weapon/bedsheet/green, +/obj/item/bedsheet/green, /obj/structure/bed/padded, /obj/machinery/atmospherics/unary/vent_pump/on, /obj/effect/landmark{ @@ -16582,7 +16614,7 @@ /area/groundbase/medical/Chemistry) "Uv" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/box/syringes, +/obj/item/storage/box/syringes, /obj/machinery/light, /turf/simulated/floor/tiled, /area/rnd/xenobiology) @@ -16610,7 +16642,7 @@ "UA" = ( /obj/structure/table/glass, /obj/machinery/recharger, -/obj/item/device/defib_kit/loaded, +/obj/item/defib_kit/loaded, /turf/simulated/floor/tiled/white, /area/groundbase/medical/triage) "UB" = ( @@ -16673,11 +16705,11 @@ /area/groundbase/level2/ne) "UK" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/beakers{ +/obj/item/storage/box/beakers{ pixel_x = -2; pixel_y = 10 }, -/obj/item/weapon/storage/box/syringes{ +/obj/item/storage/box/syringes{ pixel_x = 5; pixel_y = 2 }, @@ -16696,8 +16728,8 @@ /area/groundbase/cargo/office) "UN" = ( /obj/structure/closet/secure_closet/personal, -/obj/item/weapon/towel/random, -/obj/item/weapon/storage/backpack, +/obj/item/towel/random, +/obj/item/storage/backpack, /obj/machinery/firealarm{ dir = 4 }, @@ -16945,6 +16977,12 @@ /obj/structure/bed/chair/sofa/corp/right{ dir = 4 }, +/obj/machinery/button/remote/airlock/release{ + dir = 4; + pixel_y = -7; + pixel_x = -27; + id = "dorm2" + }, /turf/simulated/floor/wood, /area/groundbase/dorms/room2) "Vz" = ( @@ -17002,13 +17040,13 @@ /area/groundbase/medical/lobby) "VE" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/photo_album{ +/obj/item/storage/photo_album{ pixel_y = -10 }, -/obj/item/weapon/reagent_containers/food/drinks/flask{ +/obj/item/reagent_containers/food/drinks/flask{ pixel_x = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/bottle/carnoth, +/obj/item/reagent_containers/food/drinks/bottle/carnoth, /turf/simulated/floor/wood, /area/groundbase/command/captainq) "VG" = ( @@ -17028,8 +17066,8 @@ /area/groundbase/civilian/kitchen) "VI" = ( /obj/structure/table/steel, -/obj/item/device/slime_scanner, -/obj/item/device/slime_scanner, +/obj/item/slime_scanner, +/obj/item/slime_scanner, /turf/simulated/floor/tiled, /area/rnd/xenobiology) "VJ" = ( @@ -17314,7 +17352,7 @@ /area/groundbase/medical/triage) "Wy" = ( /obj/structure/closet/secure_closet/RD, -/obj/item/device/aicard, +/obj/item/aicard, /obj/item/clothing/glasses/omnihud/rnd, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 @@ -17345,7 +17383,7 @@ /area/groundbase/civilian/library) "WA" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = 1; pixel_y = 5 }, @@ -17404,10 +17442,10 @@ /area/groundbase/dorms/room5) "WM" = ( /obj/structure/table/steel, -/obj/item/weapon/melee/baton/slime/loaded, -/obj/item/weapon/melee/baton/slime/loaded, -/obj/item/weapon/gun/energy/taser/xeno, -/obj/item/weapon/gun/energy/taser/xeno, +/obj/item/melee/baton/slime/loaded, +/obj/item/melee/baton/slime/loaded, +/obj/item/gun/energy/taser/xeno, +/obj/item/gun/energy/taser/xeno, /obj/machinery/recharger/wallcharger{ pixel_x = 32 }, @@ -17418,7 +17456,7 @@ /turf/simulated/floor/tiled, /area/rnd/xenobiology) "WN" = ( -/obj/item/weapon/bedsheet/green, +/obj/item/bedsheet/green, /obj/structure/bed/padded, /turf/simulated/floor/tiled/white, /area/medical/virology) @@ -17431,7 +17469,7 @@ /area/groundbase/civilian/chapel) "WP" = ( /obj/structure/reagent_dispensers/watertank, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /turf/simulated/floor/tiled, /area/groundbase/civilian/hydroponics) "WQ" = ( @@ -17441,7 +17479,7 @@ /turf/simulated/floor/tiled/white, /area/groundbase/medical/lobby) "WR" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/lino{ edge_blending_priority = 0.1 }, @@ -17500,7 +17538,7 @@ /area/groundbase/dorms/bathroom) "Xc" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the 'Space' from Space Cleaner and written in Chemistry. Scrawled on the back is, 'Okay, whoever filled this with polytrinic acid, it was only funny the first time. It was hard enough replacing the CMO's first cat!'"; name = "Chemistry Cleaner" }, @@ -17566,10 +17604,10 @@ /turf/simulated/floor/tiled, /area/groundbase/science/hall) "Xn" = ( -/obj/item/weapon/rig/hazmat/equipped, +/obj/item/rig/hazmat/equipped, /obj/structure/table/rack, /obj/item/clothing/glasses/welding/superior, -/obj/item/weapon/cartridge/signal/science, +/obj/item/cartridge/signal/science, /turf/simulated/floor/tiled, /area/groundbase/science/rd) "Xp" = ( @@ -17713,12 +17751,12 @@ /turf/simulated/floor/tiled/steel_ridged, /area/groundbase/command/bridge) "XO" = ( -/obj/item/device/radio/headset/headset_med, -/obj/item/weapon/storage/box/syringes, -/obj/item/weapon/storage/fancy/vials, -/obj/item/weapon/storage/fancy/vials, -/obj/item/weapon/storage/box/pillbottles, -/obj/item/weapon/storage/box/pillbottles, +/obj/item/radio/headset/headset_med, +/obj/item/storage/box/syringes, +/obj/item/storage/fancy/vials, +/obj/item/storage/fancy/vials, +/obj/item/storage/box/pillbottles, +/obj/item/storage/box/pillbottles, /obj/structure/closet/wardrobe/chemistry_white, /obj/machinery/light{ dir = 1 @@ -17770,12 +17808,12 @@ pixel_x = 30 }, /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/clipboard, -/obj/item/weapon/pen/red{ +/obj/item/clipboard, +/obj/item/pen/red{ pixel_x = 2; pixel_y = 6 }, @@ -17789,11 +17827,11 @@ /area/groundbase/science/rd) "Yb" = ( /obj/structure/table/standard, -/obj/item/weapon/disk/tech_disk, -/obj/item/weapon/disk/tech_disk, -/obj/item/weapon/disk/design_disk, -/obj/item/weapon/disk/design_disk, -/obj/item/weapon/reagent_containers/dropper{ +/obj/item/disk/tech_disk, +/obj/item/disk/tech_disk, +/obj/item/disk/design_disk, +/obj/item/disk/design_disk, +/obj/item/reagent_containers/dropper{ pixel_y = -4 }, /obj/item/clothing/glasses/omnihud/rnd, @@ -17957,8 +17995,8 @@ }, /obj/machinery/light, /obj/structure/closet/secure_closet/personal, -/obj/item/weapon/towel/random, -/obj/item/weapon/storage/backpack, +/obj/item/towel/random, +/obj/item/storage/backpack, /turf/simulated/floor/wood, /area/groundbase/dorms/room1) "Yz" = ( @@ -18089,16 +18127,16 @@ /area/groundbase/civilian/hydroponics/out) "YX" = ( /obj/structure/table/steel, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/soap/nanotrasen, -/obj/item/weapon/soap/nanotrasen, -/obj/item/weapon/soap/nanotrasen, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/soap/nanotrasen, +/obj/item/soap/nanotrasen, +/obj/item/soap/nanotrasen, /turf/simulated/floor/tiled, /area/groundbase/civilian/janitor) "YZ" = ( @@ -18113,7 +18151,7 @@ "Za" = ( /obj/machinery/light, /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /turf/simulated/floor/wood, /area/groundbase/dorms/room6) "Zb" = ( @@ -18140,10 +18178,6 @@ /obj/structure/closet/secure_closet/personal/patient, /turf/simulated/floor/tiled/white, /area/medical/virology) -"Zd" = ( -/obj/machinery/computer/centrifuge, -/turf/simulated/floor/tiled/white, -/area/medical/virology) "Ze" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -18258,7 +18292,7 @@ /obj/machinery/recharger{ pixel_y = 5 }, -/obj/item/weapon/hand_labeler, +/obj/item/hand_labeler, /turf/simulated/floor/wood, /area/groundbase/civilian/library) "Zw" = ( @@ -18329,7 +18363,7 @@ /area/groundbase/level2/ne) "ZF" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/gloves{ pixel_y = 4 }, /obj/machinery/camera/network/research/xenobio{ @@ -18423,7 +18457,7 @@ /obj/machinery/computer/skills{ dir = 8 }, -/obj/item/weapon/paper/dockingcodes, +/obj/item/paper/dockingcodes, /turf/simulated/floor/carpet/blucarpet, /area/groundbase/command/captain) "ZT" = ( @@ -36289,8 +36323,8 @@ QA pe lj RW -Zd -kb +cG +cG aZ mb pe @@ -36431,7 +36465,7 @@ pe pe tk OH -cG +nx Qr cG xf @@ -36576,7 +36610,7 @@ OH aH bC cG -nx +cG pe fk UH diff --git a/maps/groundbase/gb-z3.dmm b/maps/groundbase/gb-z3.dmm index 3a6ffa54373..99416b3b972 100644 --- a/maps/groundbase/gb-z3.dmm +++ b/maps/groundbase/gb-z3.dmm @@ -26,17 +26,17 @@ /obj/structure/cable/cyan{ icon_state = "1-8" }, -/obj/item/weapon/tank/phoron, -/obj/item/weapon/tank/phoron, -/obj/item/weapon/tool/crowbar/red, +/obj/item/tank/phoron, +/obj/item/tank/phoron, +/obj/item/tool/crowbar/red, /obj/structure/closet/walllocker_double/engineering/east, /turf/simulated/floor, /area/shuttle/groundbase/exploration) "ak" = ( /obj/structure/table/glass, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/paper_bin, +/obj/item/pen, +/obj/item/radio/intercom/department/medbay{ dir = 1; pixel_y = 24 }, @@ -50,25 +50,25 @@ /turf/simulated/floor/carpet, /area/groundbase/medical/cmo) "aN" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, /turf/simulated/floor/wmarble, /area/groundbase/civilian/kitchen) "aQ" = ( /obj/structure/table/glass, -/obj/item/weapon/folder/white_cmo, -/obj/item/weapon/stamp/cmo, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/folder/white_cmo, +/obj/item/stamp/cmo, +/obj/item/paper_bin, +/obj/item/pen, /turf/simulated/floor/carpet, /area/groundbase/medical/cmo) "bf" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/toolbox/mechanical, -/obj/item/device/multitool, -/obj/item/device/gps/medical, -/obj/item/device/radio, +/obj/item/storage/toolbox/mechanical, +/obj/item/multitool, +/obj/item/gps/medical, +/obj/item/radio, /turf/simulated/floor/tiled/white, /area/groundbase/medical/paramedic) "bk" = ( @@ -78,7 +78,7 @@ /area/groundbase/cargo/office) "bm" = ( /obj/structure/table/steel, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/tiled/milspec, /area/groundbase/civilian/pilot) "bM" = ( @@ -262,7 +262,7 @@ /area/groundbase/medical/paramedic) "ey" = ( /obj/structure/table/rack, -/obj/item/device/suit_cooling_unit{ +/obj/item/suit_cooling_unit{ pixel_y = -5 }, /turf/simulated/floor/tiled/white, @@ -626,8 +626,8 @@ /area/groundbase/level3/ne) "kE" = ( /obj/structure/table/glass, -/obj/item/weapon/clipboard, -/obj/item/device/radio/intercom{ +/obj/item/clipboard, +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -824,14 +824,14 @@ /area/groundbase/medical/patient3) "nC" = ( /obj/structure/closet/secure_closet/CMO, -/obj/item/weapon/storage/belt/medical, -/obj/item/device/flashlight/pen, +/obj/item/storage/belt/medical, +/obj/item/flashlight/pen, /obj/item/clothing/accessory/stethoscope, /obj/item/clothing/glasses/hud/health, -/obj/item/device/defib_kit/compact/combat/loaded, -/obj/item/weapon/cmo_disk_holder, -/obj/item/weapon/storage/secure/briefcase/ml3m_pack_cmo, -/obj/item/weapon/storage/mrebag/pill/sleevingcure, +/obj/item/defib_kit/compact/combat/loaded, +/obj/item/cmo_disk_holder, +/obj/item/storage/secure/briefcase/ml3m_pack_cmo, +/obj/item/storage/mrebag/pill/sleevingcure, /obj/structure/sign/painting/library_secure{ pixel_x = 30 }, @@ -959,9 +959,9 @@ /area/groundbase/medical/cmo) "oX" = ( /obj/structure/table/glass, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/paper_bin, +/obj/item/pen, +/obj/item/radio/intercom/department/medbay{ dir = 1; pixel_y = 24 }, @@ -969,7 +969,7 @@ /turf/simulated/floor/tiled/white, /area/groundbase/medical/patient4) "pa" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/wmarble, /area/groundbase/civilian/kitchen) "pd" = ( @@ -1125,7 +1125,7 @@ /area/shuttle/groundbase/exploration) "ro" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/machinery/alarm{ dir = 1 }, @@ -1407,8 +1407,8 @@ /area/groundbase/level3/escapepad) "wu" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/tank/oxygen, -/obj/item/device/suit_cooling_unit, +/obj/item/tank/oxygen, +/obj/item/suit_cooling_unit, /obj/item/clothing/shoes/magboots, /obj/item/clothing/suit/space/void/pilot, /obj/item/clothing/head/helmet/space/void/pilot, @@ -1628,14 +1628,14 @@ name = "misc equipment cabinet"; pixel_x = -32 }, -/obj/item/weapon/storage/box/nifsofts_pilot, -/obj/item/device/multitool/station_buffered, +/obj/item/storage/box/nifsofts_pilot, +/obj/item/multitool/station_buffered, /obj/structure/table/steel, /turf/simulated/floor/tiled, /area/groundbase/civilian/pilot) "zL" = ( /obj/structure/table/rack, -/obj/item/device/defib_kit/compact/loaded, +/obj/item/defib_kit/compact/loaded, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 }, @@ -1667,7 +1667,7 @@ /area/groundbase/level3/escapepad) "Aa" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/machinery/alarm{ dir = 1 }, @@ -1695,7 +1695,7 @@ /area/groundbase/medical/patient2) "AY" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/cosmosdouble{ +/obj/item/bedsheet/cosmosdouble{ icon_state = "dobulesheetcosmos" }, /turf/simulated/floor/wood, @@ -1794,7 +1794,7 @@ /area/groundbase/civilian/kitchen) "Cv" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/machinery/alarm{ dir = 1 }, @@ -1816,7 +1816,7 @@ /turf/simulated/floor/tiled, /area/shuttle/groundbase/exploration) "CS" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/outdoors/sidewalk/slab{ @@ -1909,7 +1909,7 @@ /area/groundbase/medical/uhallway) "DQ" = ( /obj/structure/table/rack, -/obj/item/device/suit_cooling_unit{ +/obj/item/suit_cooling_unit{ pixel_y = -5 }, /obj/machinery/camera/network/medbay, @@ -2021,8 +2021,8 @@ /area/groundbase/level3/nw) "Fb" = ( /obj/structure/table/glass, -/obj/item/weapon/clipboard, -/obj/item/device/radio/intercom{ +/obj/item/clipboard, +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -2051,7 +2051,7 @@ /turf/simulated/floor/wood, /area/groundbase/dorms/bathroom) "Fr" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /turf/simulated/floor/wmarble, @@ -2086,8 +2086,8 @@ /area/groundbase/civilian/kitchen) "FV" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/tank/oxygen, -/obj/item/device/suit_cooling_unit, +/obj/item/tank/oxygen, +/obj/item/suit_cooling_unit, /obj/item/clothing/shoes/magboots, /obj/item/clothing/suit/space/void/pilot, /obj/item/clothing/head/helmet/space/void/pilot, @@ -2215,7 +2215,7 @@ /area/groundbase/level3/escapepad) "Io" = ( /obj/structure/table/rack, -/obj/item/weapon/rig/medical/equipped, +/obj/item/rig/medical/equipped, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/white, /area/groundbase/medical/paramedic) @@ -2234,8 +2234,8 @@ /area/shuttle/groundbase/exploration) "ID" = ( /obj/structure/table/glass, -/obj/item/weapon/clipboard, -/obj/item/device/radio/intercom{ +/obj/item/clipboard, +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -2405,8 +2405,8 @@ /area/groundbase/level3/sw) "Lw" = ( /obj/structure/table/glass, -/obj/item/weapon/clipboard, -/obj/item/device/radio/intercom{ +/obj/item/clipboard, +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -2598,10 +2598,10 @@ /area/shuttle/groundbase/exploration) "Ok" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/toolbox/mechanical, -/obj/item/device/multitool, -/obj/item/device/gps/medical, -/obj/item/device/radio, +/obj/item/storage/toolbox/mechanical, +/obj/item/multitool, +/obj/item/gps/medical, +/obj/item/radio, /obj/machinery/alarm, /turf/simulated/floor/tiled/white, /area/groundbase/medical/paramedic) @@ -2634,7 +2634,7 @@ /turf/simulated/open, /area/groundbase/dorms/bathroom) "Pd" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/tiled{ @@ -2982,9 +2982,9 @@ /area/groundbase/medical/uhallway) "ST" = ( /obj/structure/table/glass, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/paper_bin, +/obj/item/pen, +/obj/item/radio/intercom/department/medbay{ dir = 1; pixel_y = 24 }, @@ -3016,9 +3016,9 @@ /area/groundbase/civilian/pilot) "Tv" = ( /obj/structure/table/glass, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/paper_bin, +/obj/item/pen, +/obj/item/radio/intercom/department/medbay{ dir = 1; pixel_y = 24 }, @@ -3234,7 +3234,7 @@ /area/groundbase/civilian/kitchen) "XB" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/machinery/alarm{ dir = 1 }, @@ -3338,7 +3338,7 @@ /area/groundbase/unexplored/outdoors) "Zp" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, diff --git a/maps/groundbase/groundbase.dm b/maps/groundbase/groundbase.dm index 1bdb846c528..58f01c51d34 100644 --- a/maps/groundbase/groundbase.dm +++ b/maps/groundbase/groundbase.dm @@ -12,7 +12,7 @@ #include "..\offmap_vr\common_offmaps.dm" #include "..\~map_system\maps_vr.dm" - #if !AWAY_MISSION_TEST //Don't include these for just testing away missions + #ifndef AWAY_MISSION_TEST //Don't include these for just testing away missions #include "gb-z1.dmm" #include "gb-z2.dmm" #include "gb-z3.dmm" @@ -24,4 +24,4 @@ #warn A map has already been included, ignoring Groundbase -#endif \ No newline at end of file +#endif diff --git a/maps/groundbase/groundbase_areas.dm b/maps/groundbase/groundbase_areas.dm index 4831ef87502..a32e5727c1a 100644 --- a/maps/groundbase/groundbase_areas.dm +++ b/maps/groundbase/groundbase_areas.dm @@ -359,18 +359,21 @@ icon_state = "grewhisqu" ambience = AMBIENCE_FOREBODING lightswitch = 0 + /area/groundbase/civilian/arrivals name = "Arrivals" lightswitch = 1 - forbid_events = TRUE - forbid_singulo = TRUE + flags = AREA_FORBID_EVENTS | AREA_FORBID_SINGULO + /area/groundbase/civilian/toolstorage name = "Tool Storage" lightswitch = 1 + /area/groundbase/civilian/bar name = "Bar" sound_env = LARGE_ENCLOSED lightswitch = 1 + /area/groundbase/civilian/bar/upper name = "Bar Balcony" base_turf = /turf/simulated/open/virgo3c @@ -379,14 +382,17 @@ name = "Cafe" sound_env = SMALL_SOFTFLOOR lightswitch = 1 + /area/groundbase/civilian/hydroponics name = "Hydroponics" lightswitch = 1 + /area/groundbase/civilian/hydroponics/out name = "Hydroponics Animal Pen" /area/groundbase/civilian/kitchen name = "Kitchen" lightswitch = 1 + /area/groundbase/civilian/kitchen/freezer name = "Kitchen Freezer" /area/groundbase/civilian/kitchen/backroom @@ -420,14 +426,15 @@ sound_env = SMALL_SOFTFLOOR /area/groundbase/civilian/mensrestroom name = "Men's Restroom" + flags = AREA_FORBID_EVENTS sound_env = SOUND_ENVIRONMENT_BATHROOM lightswitch = 1 - forbid_events = TRUE + /area/groundbase/civilian/womensrestroom name = "Women's Restroom" + flags = AREA_FORBID_EVENTS sound_env = SOUND_ENVIRONMENT_BATHROOM lightswitch = 1 - forbid_events = TRUE /area/groundbase/civilian/entrepreneur name = "\improper Shared Office" @@ -456,13 +463,7 @@ holomap_color = HOLOMAP_AREACOLOR_DORMS icon_state = "grawhisqu" ambience = AMBIENCE_GENERIC - flags = RAD_SHIELDED| BLUE_SHIELDED |AREA_FLAG_IS_NOT_PERSISTENT - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE - forbid_events = TRUE - forbid_singulo = TRUE + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_FLAG_IS_NOT_PERSISTENT | AREA_FORBID_EVENTS | AREA_FORBID_SINGULO | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/groundbase/dorms/bathroom name = "Dormitory Bathroom" diff --git a/maps/groundbase/groundbase_defines.dm b/maps/groundbase/groundbase_defines.dm index 412e2bd01df..f449a7c0398 100644 --- a/maps/groundbase/groundbase_defines.dm +++ b/maps/groundbase/groundbase_defines.dm @@ -404,7 +404,7 @@ /datum/map_template/gb_lateload/gb_centcom name = "Groundbase - Central Command" desc = "Central Command lives here!" - mappath = 'gb-centcomm.dmm' + mappath = "maps/groundbase/gb-centcomm.dmm" associated_map_datum = /datum/map_z_level/gb_lateload/gb_centcom @@ -420,7 +420,7 @@ /datum/map_template/gb_lateload/gb_misc name = "Groundbase - Misc" desc = "Misc areas, like some transit areas, holodecks, merc area." - mappath = 'gb-misc.dmm' + mappath = "maps/groundbase/gb-misc.dmm" associated_map_datum = /datum/map_z_level/gb_lateload/misc @@ -433,7 +433,7 @@ /datum/map_template/gb_lateload/mining name = "V3c Underground" desc = "The caves underneath the survace of Virgo 3C" - mappath = 'maps/groundbase/gb-mining.dmm' + mappath = "maps/groundbase/gb-mining.dmm" associated_map_datum = /datum/map_z_level/gb_lateload/mining @@ -453,7 +453,7 @@ /datum/map_template/common_lateload/away_aerostat name = "Remmi Aerostat - Z1 Aerostat" desc = "The Virgo 2 Aerostat away mission." - mappath = 'maps/expedition_vr/aerostat/aerostat.dmm' + mappath = "maps/expedition_vr/aerostat/aerostat.dmm" associated_map_datum = /datum/map_z_level/common_lateload/away_aerostat //////////////////////////////////////////////////////////////////////// @@ -508,28 +508,28 @@ /datum/map_template/gb_lateload/wilds/north/type1 name = "Northern Wilds 1" desc = "Wilderness" - mappath = 'maps/groundbase/northwilds/northwilds1.dmm' + mappath = "maps/groundbase/northwilds/northwilds1.dmm" associated_map_datum = /datum/map_z_level/gb_lateload/gb_north_wilds /datum/map_template/gb_lateload/wilds/north/type2 name = "Northern Wilds 2" desc = "Wilderness" - mappath = 'maps/groundbase/northwilds/northwilds2.dmm' + mappath = "maps/groundbase/northwilds/northwilds2.dmm" associated_map_datum = /datum/map_z_level/gb_lateload/gb_north_wilds /datum/map_template/gb_lateload/wilds/south/type1 name = "Southern Wilds 1" desc = "Wilderness" - mappath = 'maps/groundbase/southwilds/southwilds1.dmm' + mappath = "maps/groundbase/southwilds/southwilds1.dmm" associated_map_datum = /datum/map_z_level/gb_lateload/gb_south_wilds /datum/map_template/gb_lateload/wilds/south/type2 name = "Southern Wilds 2" desc = "Wilderness" - mappath = 'maps/groundbase/southwilds/southwilds2.dmm' + mappath = "maps/groundbase/southwilds/southwilds2.dmm" associated_map_datum = /datum/map_z_level/gb_lateload/gb_south_wilds /datum/map_template/gb_lateload/wilds/south/type3 name = "Southern Wilds 3" desc = "Wilderness" - mappath = 'maps/groundbase/southwilds/southwilds3.dmm' + mappath = "maps/groundbase/southwilds/southwilds3.dmm" associated_map_datum = /datum/map_z_level/gb_lateload/gb_south_wilds /datum/map_template/gb_lateload/wilds/south/type3/on_map_loaded(z) . = ..() @@ -541,23 +541,23 @@ /datum/map_template/gb_lateload/wilds/east/type1 name = "Eastern Wilds 1" desc = "Wilderness" - mappath = 'maps/groundbase/eastwilds/eastwilds1.dmm' + mappath = "maps/groundbase/eastwilds/eastwilds1.dmm" associated_map_datum = /datum/map_z_level/gb_lateload/gb_east_wilds /datum/map_template/gb_lateload/wilds/east/type2 name = "Eastern Wilds 2" desc = "Wilderness" - mappath = 'maps/groundbase/eastwilds/eastwilds2.dmm' + mappath = "maps/groundbase/eastwilds/eastwilds2.dmm" associated_map_datum = /datum/map_z_level/gb_lateload/gb_east_wilds /datum/map_template/gb_lateload/wilds/west/type1 name = "Western Wilds 1" desc = "Wilderness" - mappath = 'maps/groundbase/westwilds/westwilds1.dmm' + mappath = "maps/groundbase/westwilds/westwilds1.dmm" associated_map_datum = /datum/map_z_level/gb_lateload/gb_west_wilds /datum/map_template/gb_lateload/wilds/west/type2 name = "Western Wilds 2" desc = "Wilderness" - mappath = 'maps/groundbase/westwilds/westwilds2.dmm' + mappath = "maps/groundbase/westwilds/westwilds2.dmm" associated_map_datum = /datum/map_z_level/gb_lateload/gb_west_wilds /* diff --git a/maps/groundbase/groundbase_events.dm b/maps/groundbase/groundbase_events.dm index 905ce89875f..e12d41100dd 100644 --- a/maps/groundbase/groundbase_events.dm +++ b/maps/groundbase/groundbase_events.dm @@ -70,6 +70,7 @@ new /datum/event_meta(EVENT_LEVEL_MODERATE, "Drone Pod Drop", /datum/event/drone_pod_drop, 40, list(ASSIGNMENT_SCIENTIST = 40), 1), new /datum/event_meta(EVENT_LEVEL_MODERATE, "Morph Spawn", /datum/event/morph_spawn, 75, list(ASSIGNMENT_ANY = 5), 0), new /datum/event_meta(EVENT_LEVEL_MODERATE, "Maintenance Predator", /datum/event/maintenance_predator, 100, list(ASSIGNMENT_ANY = 5), 0), + new /datum/event_meta(EVENT_LEVEL_MODERATE, "Maintenance Lurker", /datum/event/maintenance_lurker, 100, list(ASSIGNMENT_ANY = 5), 0), new /datum/event_meta(EVENT_LEVEL_MODERATE, "Roaming Wildlife", /datum/event/roaming_wildlife, 20, list(ASSIGNMENT_SECURITY = 20, ASSIGNMENT_MEDICAL = 5), min_jobs = list(ASSIGNMENT_SECURITY = 2)), ) add_disabled_events(list( diff --git a/maps/groundbase/groundbase_poi_stuff.dm b/maps/groundbase/groundbase_poi_stuff.dm index 2089827d31f..6b4584c4485 100644 --- a/maps/groundbase/groundbase_poi_stuff.dm +++ b/maps/groundbase/groundbase_poi_stuff.dm @@ -1,4 +1,4 @@ -#if MAP_TEST +#ifdef MAP_TEST #include "pois/outdoors1.dmm" #include "pois/outdoors2.dmm" #include "pois/outdoors3.dmm" @@ -218,730 +218,730 @@ /datum/map_template/groundbase/outdoor name = "Outdoors1" desc = "POIs for outdoors!" - mappath = 'pois/outdoors1.dmm' + mappath = "maps/groundbase/pois/outdoors1.dmm" cost = 10 allow_duplicates = TRUE /datum/map_template/groundbase/outdoor/thing2 name = "Outdoors2" - mappath = 'pois/outdoors2.dmm' + mappath = "maps/groundbase/pois/outdoors2.dmm" allow_duplicates = FALSE /datum/map_template/groundbase/outdoor/thing3 name = "Outdoors3" - mappath = 'pois/outdoors3.dmm' + mappath = "maps/groundbase/pois/outdoors3.dmm" allow_duplicates = FALSE /datum/map_template/groundbase/outdoor/thing4 name = "Outdoors4" - mappath = 'pois/outdoors4.dmm' + mappath = "maps/groundbase/pois/outdoors4.dmm" /datum/map_template/groundbase/outdoor/thing5 name = "Outdoors5" - mappath = 'pois/outdoors5.dmm' + mappath = "maps/groundbase/pois/outdoors5.dmm" /datum/map_template/groundbase/outdoor/thing6 name = "Outdoors6" - mappath = 'pois/outdoors6.dmm' + mappath = "maps/groundbase/pois/outdoors6.dmm" /datum/map_template/groundbase/outdoor/thing7 name = "Outdoors7" - mappath = 'pois/outdoors7.dmm' + mappath = "maps/groundbase/pois/outdoors7.dmm" /datum/map_template/groundbase/outdoor/thing8 name = "Outdoors8" - mappath = 'pois/outdoors8.dmm' + mappath = "maps/groundbase/pois/outdoors8.dmm" allow_duplicates = FALSE /datum/map_template/groundbase/outdoor/thing9 name = "Outdoors9" - mappath = 'pois/outdoors9.dmm' + mappath = "maps/groundbase/pois/outdoors9.dmm" /datum/map_template/groundbase/outdoor/thing10 name = "Outdoors10" - mappath = 'pois/outdoors10.dmm' + mappath = "maps/groundbase/pois/outdoors10.dmm" /datum/map_template/groundbase/outdoor/thing11 name = "Outdoors11" - mappath = 'pois/outdoors11.dmm' + mappath = "maps/groundbase/pois/outdoors11.dmm" /datum/map_template/groundbase/outdoor/thing12 name = "Outdoors12" - mappath = 'pois/outdoors12.dmm' + mappath = "maps/groundbase/pois/outdoors12.dmm" /datum/map_template/groundbase/outdoor/thing13 name = "Outdoors13" - mappath = 'pois/outdoors13.dmm' + mappath = "maps/groundbase/pois/outdoors13.dmm" allow_duplicates = FALSE /datum/map_template/groundbase/outdoor/thing14 name = "Outdoors14" - mappath = 'pois/outdoors14.dmm' + mappath = "maps/groundbase/pois/outdoors14.dmm" /datum/map_template/groundbase/outdoor/thing15 name = "Outdoors15" - mappath = 'pois/outdoors15.dmm' + mappath = "maps/groundbase/pois/outdoors15.dmm" allow_duplicates = FALSE /datum/map_template/groundbase/outdoor/thing16 name = "Outdoors16" - mappath = 'pois/outdoors16.dmm' + mappath = "maps/groundbase/pois/outdoors16.dmm" allow_duplicates = FALSE /datum/map_template/groundbase/maintcaves/cave name = "Cave 1" desc = "POIs for caves!" - mappath = 'pois/cave1.dmm' + mappath = "maps/groundbase/pois/cave1.dmm" cost = 1 allow_duplicates = FALSE /datum/map_template/groundbase/maintcaves/cave/cave2 name = "Cave 2" - mappath = 'pois/cave2.dmm' + mappath = "maps/groundbase/pois/cave2.dmm" /datum/map_template/groundbase/maintcaves/cave/cave3 name = "Cave 3" - mappath = 'pois/cave3.dmm' + mappath = "maps/groundbase/pois/cave3.dmm" /datum/map_template/groundbase/maintcaves/cave/cave4 name = "Cave 4" - mappath = 'pois/cave4.dmm' + mappath = "maps/groundbase/pois/cave4.dmm" /datum/map_template/groundbase/maintcaves/cave/cave5 name = "Cave 5" - mappath = 'pois/cave5.dmm' + mappath = "maps/groundbase/pois/cave5.dmm" /datum/map_template/groundbase/maintcaves/cave/cave6 name = "Cave 6" - mappath = 'pois/cave6.dmm' + mappath = "maps/groundbase/pois/cave6.dmm" /datum/map_template/groundbase/maintcaves/cave/cave7 name = "Cave 7" - mappath = 'pois/cave7.dmm' + mappath = "maps/groundbase/pois/cave7.dmm" /datum/map_template/groundbase/maintcaves/cave/cave8 name = "Cave 8" - mappath = 'pois/cave8.dmm' + mappath = "maps/groundbase/pois/cave8.dmm" /datum/map_template/groundbase/maintcaves/cave/cave9 name = "Cave 9" - mappath = 'pois/cave9.dmm' + mappath = "maps/groundbase/pois/cave9.dmm" /datum/map_template/groundbase/maintcaves/cave/cave10 name = "Cave 10" - mappath = 'pois/cave10.dmm' + mappath = "maps/groundbase/pois/cave10.dmm" /datum/map_template/groundbase/maintcaves/cave/cave11 name = "Cave 11" - mappath = 'pois/cave11.dmm' + mappath = "maps/groundbase/pois/cave11.dmm" cost = 5 /datum/map_template/groundbase/maintcaves/cave/cave12 name = "Cave 12" - mappath = 'pois/cave12.dmm' + mappath = "maps/groundbase/pois/cave12.dmm" cost = 5 /datum/map_template/groundbase/maintcaves/cave/cave13 name = "Cave 13" - mappath = 'pois/cave13.dmm' + mappath = "maps/groundbase/pois/cave13.dmm" /datum/map_template/groundbase/maintcaves/cave/cave14 name = "Cave 14" - mappath = 'pois/cave14.dmm' + mappath = "maps/groundbase/pois/cave14.dmm" /datum/map_template/groundbase/maintcaves/cave/cave15 name = "Cave 15" - mappath = 'pois/cave15.dmm' + mappath = "maps/groundbase/pois/cave15.dmm" /datum/map_template/groundbase/maintcaves/cave/cave16 name = "Cave 16" - mappath = 'pois/cave16.dmm' + mappath = "maps/groundbase/pois/cave16.dmm" /datum/map_template/groundbase/maintcaves/cave/cave17 name = "Cave 17" - mappath = 'pois/cave17.dmm' + mappath = "maps/groundbase/pois/cave17.dmm" /datum/map_template/groundbase/maintcaves/cave/cave18 name = "Cave 18" - mappath = 'pois/cave18.dmm' + mappath = "maps/groundbase/pois/cave18.dmm" /datum/map_template/groundbase/maintcaves/cave/cave19 name = "Cave 19" - mappath = 'pois/cave19.dmm' + mappath = "maps/groundbase/pois/cave19.dmm" /datum/map_template/groundbase/maintcaves/cave/cave20 name = "Cave 20" - mappath = 'pois/cave20.dmm' + mappath = "maps/groundbase/pois/cave20.dmm" /datum/map_template/groundbase/maintcaves/cave/cave21 name = "Cave 21" - mappath = 'pois/cave21.dmm' + mappath = "maps/groundbase/pois/cave21.dmm" /datum/map_template/groundbase/maintcaves/cave/cave22 name = "Cave 22" - mappath = 'pois/cave22.dmm' + mappath = "maps/groundbase/pois/cave22.dmm" /datum/map_template/groundbase/maintcaves/cave/cave23 name = "Cave 23" - mappath = 'pois/cave23.dmm' + mappath = "maps/groundbase/pois/cave23.dmm" /datum/map_template/groundbase/maintcaves/cave/cave24 name = "Cave 24" - mappath = 'pois/cave24.dmm' + mappath = "maps/groundbase/pois/cave24.dmm" /datum/map_template/groundbase/maintcaves/cave/cave25 name = "Cave 25" - mappath = 'pois/cave25.dmm' + mappath = "maps/groundbase/pois/cave25.dmm" /datum/map_template/groundbase/maintcaves/cave/cave26 name = "Cave 26" - mappath = 'pois/cave26.dmm' + mappath = "maps/groundbase/pois/cave26.dmm" /datum/map_template/groundbase/maintcaves/cave/cave27 name = "Cave 27" - mappath = 'pois/cave27.dmm' + mappath = "maps/groundbase/pois/cave27.dmm" /datum/map_template/groundbase/maintcaves/cave/cave28 name = "Cave 28" - mappath = 'pois/cave28.dmm' + mappath = "maps/groundbase/pois/cave28.dmm" /datum/map_template/groundbase/maintcaves/cave/cave29 name = "Cave 29" - mappath = 'pois/cave29.dmm' + mappath = "maps/groundbase/pois/cave29.dmm" /datum/map_template/groundbase/maintcaves/cave/cave30 name = "Cave 30" - mappath = 'pois/cave30.dmm' + mappath = "maps/groundbase/pois/cave30.dmm" /datum/map_template/groundbase/maintcaves/cave/cave31 name = "Cave 31" - mappath = 'pois/cave31.dmm' + mappath = "maps/groundbase/pois/cave31.dmm" /datum/map_template/groundbase/maintcaves/cave/cave32 name = "Cave 32" - mappath = 'pois/cave32.dmm' + mappath = "maps/groundbase/pois/cave32.dmm" /datum/map_template/groundbase/maintcaves/cave/cave33 name = "Cave 33" - mappath = 'pois/cave33.dmm' + mappath = "maps/groundbase/pois/cave33.dmm" /datum/map_template/groundbase/maintcaves/cave/cave34 name = "Cave 34" - mappath = 'pois/cave34.dmm' + mappath = "maps/groundbase/pois/cave34.dmm" /datum/map_template/groundbase/maintcaves/cave/cave35 name = "Cave 35" - mappath = 'pois/cave35.dmm' + mappath = "maps/groundbase/pois/cave35.dmm" /datum/map_template/groundbase/maintcaves/cave/cave36 name = "Cave 36" - mappath = 'pois/cave36.dmm' + mappath = "maps/groundbase/pois/cave36.dmm" /datum/map_template/groundbase/maintcaves/cave/cave37 name = "Cave 37" - mappath = 'pois/cave37.dmm' + mappath = "maps/groundbase/pois/cave37.dmm" /datum/map_template/groundbase/maintcaves/cave/cave38 name = "Cave 38" - mappath = 'pois/cave38.dmm' + mappath = "maps/groundbase/pois/cave38.dmm" /datum/map_template/groundbase/maintcaves/cave/cave39 name = "Cave 39" - mappath = 'pois/cave39.dmm' + mappath = "maps/groundbase/pois/cave39.dmm" /datum/map_template/groundbase/maintcaves/cave/cave40 name = "Cave 40" - mappath = 'pois/cave40.dmm' + mappath = "maps/groundbase/pois/cave40.dmm" /datum/map_template/groundbase/maintcaves/cave/cave41 name = "Cave 41" - mappath = 'pois/cave41.dmm' + mappath = "maps/groundbase/pois/cave41.dmm" /datum/map_template/groundbase/maintcaves/cave/cave42 name = "Cave 42" - mappath = 'pois/cave42.dmm' + mappath = "maps/groundbase/pois/cave42.dmm" /datum/map_template/groundbase/maintcaves/cave/cave43 name = "Cave 43" - mappath = 'pois/cave43.dmm' + mappath = "maps/groundbase/pois/cave43.dmm" /datum/map_template/groundbase/maintcaves/cave/cave44 name = "Cave 44" - mappath = 'pois/cave44.dmm' + mappath = "maps/groundbase/pois/cave44.dmm" /datum/map_template/groundbase/maintcaves/cave/cave45 name = "Cave 45" - mappath = 'pois/cave45.dmm' + mappath = "maps/groundbase/pois/cave45.dmm" /datum/map_template/groundbase/maintcaves/cave/cave46 name = "Cave 46" - mappath = 'pois/cave46.dmm' + mappath = "maps/groundbase/pois/cave46.dmm" /datum/map_template/groundbase/maintcaves/cave/cave47 name = "Cave 47" - mappath = 'pois/cave47.dmm' + mappath = "maps/groundbase/pois/cave47.dmm" /datum/map_template/groundbase/maintcaves/cave/cave48 name = "Cave 48" - mappath = 'pois/cave48.dmm' + mappath = "maps/groundbase/pois/cave48.dmm" /datum/map_template/groundbase/maintcaves/cave/cave49 name = "Cave 49" - mappath = 'pois/cave49.dmm' + mappath = "maps/groundbase/pois/cave49.dmm" /datum/map_template/groundbase/maintcaves/cave/cave50 name = "Cave 50" - mappath = 'pois/cave50.dmm' + mappath = "maps/groundbase/pois/cave50.dmm" /datum/map_template/groundbase/maintcaves/cave/cave51 name = "Cave 51" - mappath = 'pois/cave51.dmm' + mappath = "maps/groundbase/pois/cave51.dmm" /datum/map_template/groundbase/maintcaves/cave/cave52 name = "Cave 52" - mappath = 'pois/cave52.dmm' + mappath = "maps/groundbase/pois/cave52.dmm" /datum/map_template/groundbase/maintcaves/cave/cave53 name = "Cave 53" - mappath = 'pois/cave53.dmm' + mappath = "maps/groundbase/pois/cave53.dmm" /datum/map_template/groundbase/maintcaves/cave/cave54 name = "Cave 54" - mappath = 'pois/cave54.dmm' + mappath = "maps/groundbase/pois/cave54.dmm" /datum/map_template/groundbase/maintcaves/caveb name = "Cave 1b" - mappath = 'pois/cave1b.dmm' + mappath = "maps/groundbase/pois/cave1b.dmm" cost = 3 allow_duplicates = FALSE /datum/map_template/groundbase/maintcaves/caveb/cave2 name = "Cave 2b" - mappath = 'pois/cave2b.dmm' + mappath = "maps/groundbase/pois/cave2b.dmm" /datum/map_template/groundbase/maintcaves/caveb/cave3 name = "Cave 3b" - mappath = 'pois/cave3b.dmm' + mappath = "maps/groundbase/pois/cave3b.dmm" /datum/map_template/groundbase/maintcaves/caveb/cave4 name = "Cave 4b" - mappath = 'pois/cave4b.dmm' + mappath = "maps/groundbase/pois/cave4b.dmm" /datum/map_template/groundbase/maintcaves/caveb/cave5 name = "Cave 5b" - mappath = 'pois/cave5b.dmm' + mappath = "maps/groundbase/pois/cave5b.dmm" /datum/map_template/groundbase/maintcaves/caveb/cave6 name = "Cave 6b" - mappath = 'pois/cave6b.dmm' + mappath = "maps/groundbase/pois/cave6b.dmm" /datum/map_template/groundbase/maintcaves/caveb/cave7 name = "Cave 7b" - mappath = 'pois/cave7b.dmm' + mappath = "maps/groundbase/pois/cave7b.dmm" /datum/map_template/groundbase/maintcaves/caveb/cave8 name = "Cave 8b" - mappath = 'pois/cave8b.dmm' + mappath = "maps/groundbase/pois/cave8b.dmm" /datum/map_template/groundbase/maintcaves/caveb/cave9 name = "Cave 9b" - mappath = 'pois/cave9b.dmm' + mappath = "maps/groundbase/pois/cave9b.dmm" /datum/map_template/groundbase/maintcaves/caveb/cave10 name = "Cave 10b" - mappath = 'pois/cave10b.dmm' + mappath = "maps/groundbase/pois/cave10b.dmm" /datum/map_template/groundbase/maintcaves/caveb/cave11 name = "Cave 11b" - mappath = 'pois/cave11b.dmm' + mappath = "maps/groundbase/pois/cave11b.dmm" /datum/map_template/groundbase/maintcaves/caveb/cave12 name = "Cave 12b" - mappath = 'pois/cave12b.dmm' + mappath = "maps/groundbase/pois/cave12b.dmm" /datum/map_template/groundbase/maintcaves/caveb/cave13 name = "Cave 13b" - mappath = 'pois/cave13b.dmm' + mappath = "maps/groundbase/pois/cave13b.dmm" /datum/map_template/groundbase/maintcaves/caveb/cave14 name = "Cave 14b" - mappath = 'pois/cave14b.dmm' + mappath = "maps/groundbase/pois/cave14b.dmm" /datum/map_template/groundbase/maintcaves/caveb/cave15 name = "Cave 15b" - mappath = 'pois/cave15b.dmm' + mappath = "maps/groundbase/pois/cave15b.dmm" /datum/map_template/groundbase/maintcaves/caveb/cave16 name = "Cave 16b" - mappath = 'pois/cave16b.dmm' + mappath = "maps/groundbase/pois/cave16b.dmm" /datum/map_template/groundbase/maintcaves/caveb/cave17 name = "Cave 17b" - mappath = 'pois/cave17b.dmm' + mappath = "maps/groundbase/pois/cave17b.dmm" /datum/map_template/groundbase/maintcaves/caveb/cave18 name = "Cave 18b" - mappath = 'pois/cave18b.dmm' + mappath = "maps/groundbase/pois/cave18b.dmm" /datum/map_template/groundbase/maintcaves/caveb/cave19 name = "Cave 19b" - mappath = 'pois/cave19b.dmm' + mappath = "maps/groundbase/pois/cave19b.dmm" /datum/map_template/groundbase/maintcaves/caveb/cave20 name = "Cave 20b" - mappath = 'pois/cave20b.dmm' + mappath = "maps/groundbase/pois/cave20b.dmm" /datum/map_template/groundbase/maintcaves/caveb/cave21 name = "Cave 21b" - mappath = 'pois/cave21b.dmm' + mappath = "maps/groundbase/pois/cave21b.dmm" /datum/map_template/groundbase/maintcaves/caveb/cave22 name = "Cave 22b" - mappath = 'pois/cave22b.dmm' + mappath = "maps/groundbase/pois/cave22b.dmm" /datum/map_template/groundbase/maintcaves/caveb/cave23 name = "Cave 23b" - mappath = 'pois/cave23b.dmm' + mappath = "maps/groundbase/pois/cave23b.dmm" /datum/map_template/groundbase/maintcaves/caveb/cave24 name = "Cave 24b" - mappath = 'pois/cave24b.dmm' + mappath = "maps/groundbase/pois/cave24b.dmm" /datum/map_template/groundbase/maintcaves/caveb/cave25 name = "Cave 25b" - mappath = 'pois/cave25b.dmm' + mappath = "maps/groundbase/pois/cave25b.dmm" /datum/map_template/groundbase/maintcaves/caveb/cave26 name = "Cave 26b" - mappath = 'pois/cave26b.dmm' + mappath = "maps/groundbase/pois/cave26b.dmm" /datum/map_template/groundbase/maintcaves/caveb/cave27 name = "Cave 27b" - mappath = 'pois/cave27b.dmm' + mappath = "maps/groundbase/pois/cave27b.dmm" /datum/map_template/groundbase/maintcaves/caveb/cave28 name = "Cave 28b" - mappath = 'pois/cave28b.dmm' + mappath = "maps/groundbase/pois/cave28b.dmm" /datum/map_template/groundbase/maintcaves/caveb/cave29 name = "Cave 29b" - mappath = 'pois/cave29b.dmm' + mappath = "maps/groundbase/pois/cave29b.dmm" /datum/map_template/groundbase/maintcaves/caveb/cave30 name = "Cave 30b" - mappath = 'pois/cave30b.dmm' + mappath = "maps/groundbase/pois/cave30b.dmm" /datum/map_template/groundbase/maintcaves/caveb/cave31 name = "Cave 31b" - mappath = 'pois/cave31b.dmm' + mappath = "maps/groundbase/pois/cave31b.dmm" /datum/map_template/groundbase/maintcaves/caveb/cave32 name = "Cave 32b" - mappath = 'pois/cave32b.dmm' + mappath = "maps/groundbase/pois/cave32b.dmm" /datum/map_template/groundbase/maintcaves/caveb/cave33 name = "Cave 33b" - mappath = 'pois/cave33b.dmm' + mappath = "maps/groundbase/pois/cave33b.dmm" /datum/map_template/groundbase/maintcaves/caveb/cave34 name = "Cave 34b" - mappath = 'pois/cave34b.dmm' + mappath = "maps/groundbase/pois/cave34b.dmm" /datum/map_template/groundbase/maintcaves/caveb/cave35 name = "Cave 35b" - mappath = 'pois/cave35b.dmm' + mappath = "maps/groundbase/pois/cave35b.dmm" /datum/map_template/groundbase/maintcaves/caveb/cave36 name = "Cave 36b" - mappath = 'pois/cave36b.dmm' + mappath = "maps/groundbase/pois/cave36b.dmm" /datum/map_template/groundbase/maintcaves/caveb/cave37 name = "Cave 37b" - mappath = 'pois/cave37b.dmm' + mappath = "maps/groundbase/pois/cave37b.dmm" /datum/map_template/groundbase/maintcaves/caveb/cave38 name = "Cave 38b" - mappath = 'pois/cave38b.dmm' + mappath = "maps/groundbase/pois/cave38b.dmm" /datum/map_template/groundbase/maintcaves/caveb/cave39 name = "Cave 39b" - mappath = 'pois/cave39b.dmm' + mappath = "maps/groundbase/pois/cave39b.dmm" /datum/map_template/groundbase/maintcaves/caveb/cave40 name = "Cave 40b" - mappath = 'pois/cave40b.dmm' + mappath = "maps/groundbase/pois/cave40b.dmm" /datum/map_template/groundbase/maintcaves/caveb/cave41 name = "Cave 41b" - mappath = 'pois/cave41b.dmm' + mappath = "maps/groundbase/pois/cave41b.dmm" /datum/map_template/groundbase/maintcaves/caveb/cave42 name = "Cave 42b" - mappath = 'pois/cave42b.dmm' + mappath = "maps/groundbase/pois/cave42b.dmm" /datum/map_template/groundbase/maintcaves/caveb/cave43 name = "Cave 43b" - mappath = 'pois/cave43b.dmm' + mappath = "maps/groundbase/pois/cave43b.dmm" /datum/map_template/groundbase/maintcaves/caveb/cave44 name = "Cave 44b" - mappath = 'pois/cave44b.dmm' + mappath = "maps/groundbase/pois/cave44b.dmm" /datum/map_template/groundbase/maintcaves/caveb/cave45 name = "Cave 45b" - mappath = 'pois/cave45b.dmm' + mappath = "maps/groundbase/pois/cave45b.dmm" /datum/map_template/groundbase/maintcaves/caveb/cave46 name = "Cave 46b" - mappath = 'pois/cave46b.dmm' + mappath = "maps/groundbase/pois/cave46b.dmm" /datum/map_template/groundbase/maintcaves/caveb/cave47 name = "Cave 47b" - mappath = 'pois/cave47b.dmm' + mappath = "maps/groundbase/pois/cave47b.dmm" /datum/map_template/groundbase/maintcaves/caveb/cave48 name = "Cave 48b" - mappath = 'pois/cave48b.dmm' + mappath = "maps/groundbase/pois/cave48b.dmm" /datum/map_template/groundbase/maintcaves/caveb/cave49 name = "Cave 49" - mappath = 'pois/cave49b.dmm' + mappath = "maps/groundbase/pois/cave49b.dmm" /datum/map_template/groundbase/maintcaves/cavec name = "Cave 1c" - mappath = 'pois/cave1c.dmm' + mappath = "maps/groundbase/pois/cave1c.dmm" cost = 3 allow_duplicates = FALSE /datum/map_template/groundbase/maintcaves/cavec/cave2 name = "Cave 2c" - mappath = 'pois/cave2c.dmm' + mappath = "maps/groundbase/pois/cave2c.dmm" /datum/map_template/groundbase/maintcaves/cavec/cave3 name = "Cave 3c" - mappath = 'pois/cave3c.dmm' + mappath = "maps/groundbase/pois/cave3c.dmm" /datum/map_template/groundbase/maintcaves/cavec/cave4 name = "Cave 4c" - mappath = 'pois/cave4c.dmm' + mappath = "maps/groundbase/pois/cave4c.dmm" /datum/map_template/groundbase/maintcaves/cavec/cave5 name = "Cave 5c" - mappath = 'pois/cave5c.dmm' + mappath = "maps/groundbase/pois/cave5c.dmm" /datum/map_template/groundbase/maintcaves/cavec/cave6 name = "Cave 6c" - mappath = 'pois/cave6c.dmm' + mappath = "maps/groundbase/pois/cave6c.dmm" /datum/map_template/groundbase/maintcaves/cavec/cave7 name = "Cave 7c" - mappath = 'pois/cave7c.dmm' + mappath = "maps/groundbase/pois/cave7c.dmm" /datum/map_template/groundbase/maintcaves/cavec/cave8 name = "Cave 8c" - mappath = 'pois/cave8c.dmm' + mappath = "maps/groundbase/pois/cave8c.dmm" /datum/map_template/groundbase/maintcaves/cavec/cave9 name = "Cave 9c" - mappath = 'pois/cave9c.dmm' + mappath = "maps/groundbase/pois/cave9c.dmm" /datum/map_template/groundbase/maintcaves/cavec/cave10 name = "Cave 10c" - mappath = 'pois/cave10c.dmm' + mappath = "maps/groundbase/pois/cave10c.dmm" /datum/map_template/groundbase/maintcaves/cavec/cave11 name = "Cave 11c" - mappath = 'pois/cave11c.dmm' + mappath = "maps/groundbase/pois/cave11c.dmm" /datum/map_template/groundbase/maintcaves/cavec/cave12 name = "Cave 12c" - mappath = 'pois/cave12c.dmm' + mappath = "maps/groundbase/pois/cave12c.dmm" /datum/map_template/groundbase/maintcaves/cavec/cave13 name = "Cave 13c" - mappath = 'pois/cave13c.dmm' + mappath = "maps/groundbase/pois/cave13c.dmm" /datum/map_template/groundbase/maintcaves/cavec/cave14 name = "Cave 14c" - mappath = 'pois/cave14c.dmm' + mappath = "maps/groundbase/pois/cave14c.dmm" /datum/map_template/groundbase/maintcaves/cavec/cave15 name = "Cave 15c" - mappath = 'pois/cave15c.dmm' + mappath = "maps/groundbase/pois/cave15c.dmm" /datum/map_template/groundbase/maintcaves/cavec/cave16 name = "Cave 16c" - mappath = 'pois/cave16c.dmm' + mappath = "maps/groundbase/pois/cave16c.dmm" /datum/map_template/groundbase/maintcaves/cavec/cave17 name = "Cave 17c" - mappath = 'pois/cave17c.dmm' + mappath = "maps/groundbase/pois/cave17c.dmm" /datum/map_template/groundbase/maintcaves/cavec/cave18 name = "Cave 18c" - mappath = 'pois/cave18c.dmm' + mappath = "maps/groundbase/pois/cave18c.dmm" /datum/map_template/groundbase/maintcaves/cavec/cave19 name = "Cave 19c" - mappath = 'pois/cave19c.dmm' + mappath = "maps/groundbase/pois/cave19c.dmm" /datum/map_template/groundbase/maintcaves/cavec/cave20 name = "Cave 20c" - mappath = 'pois/cave20c.dmm' + mappath = "maps/groundbase/pois/cave20c.dmm" /datum/map_template/groundbase/maintcaves/cavec/cave21 name = "Cave 21c" - mappath = 'pois/cave21c.dmm' + mappath = "maps/groundbase/pois/cave21c.dmm" /datum/map_template/groundbase/maintcaves/cavec/cave22 name = "Cave 22c" - mappath = 'pois/cave22c.dmm' + mappath = "maps/groundbase/pois/cave22c.dmm" /datum/map_template/groundbase/maintcaves/cavec/cave23 name = "Cave 23c" - mappath = 'pois/cave23c.dmm' + mappath = "maps/groundbase/pois/cave23c.dmm" /datum/map_template/groundbase/maintcaves/cavec/cave24 name = "Cave 24c" - mappath = 'pois/cave24c.dmm' + mappath = "maps/groundbase/pois/cave24c.dmm" /datum/map_template/groundbase/maintcaves/cavec/cave25 name = "Cave 25c" - mappath = 'pois/cave25c.dmm' + mappath = "maps/groundbase/pois/cave25c.dmm" /datum/map_template/groundbase/maintcaves/cavec/cave26 name = "Cave 26c" - mappath = 'pois/cave26c.dmm' + mappath = "maps/groundbase/pois/cave26c.dmm" /datum/map_template/groundbase/maintcaves/cavec/cave27 name = "Cave 27c" - mappath = 'pois/cave27c.dmm' + mappath = "maps/groundbase/pois/cave27c.dmm" /datum/map_template/groundbase/maintcaves/cavec/cave28 name = "Cave 28c" - mappath = 'pois/cave28c.dmm' + mappath = "maps/groundbase/pois/cave28c.dmm" /datum/map_template/groundbase/maintcaves/cavec/cave29 name = "Cave 29c" - mappath = 'pois/cave29c.dmm' + mappath = "maps/groundbase/pois/cave29c.dmm" /datum/map_template/groundbase/maintcaves/cavec/cave30 name = "Cave 30c" - mappath = 'pois/cave30c.dmm' + mappath = "maps/groundbase/pois/cave30c.dmm" /datum/map_template/groundbase/maintcaves/cavec/cave31 name = "Cave 31c" - mappath = 'pois/cave31c.dmm' + mappath = "maps/groundbase/pois/cave31c.dmm" /datum/map_template/groundbase/maintcaves/cavec/cave32 name = "Cave 32c" - mappath = 'pois/cave32c.dmm' + mappath = "maps/groundbase/pois/cave32c.dmm" /datum/map_template/groundbase/maintcaves/cavec/cave33 name = "Cave 33c" - mappath = 'pois/cave33c.dmm' + mappath = "maps/groundbase/pois/cave33c.dmm" /datum/map_template/groundbase/maintcaves/cavec/cave34 name = "Cave 34c" - mappath = 'pois/cave34c.dmm' + mappath = "maps/groundbase/pois/cave34c.dmm" /datum/map_template/groundbase/maintcaves/cavec/cave35 name = "Cave 35c" - mappath = 'pois/cave35c.dmm' + mappath = "maps/groundbase/pois/cave35c.dmm" /datum/map_template/groundbase/maintcaves/cavec/cave36 name = "Cave 36c" - mappath = 'pois/cave36c.dmm' + mappath = "maps/groundbase/pois/cave36c.dmm" /datum/map_template/groundbase/maintcaves/cavec/cave37 name = "Cave 37c" - mappath = 'pois/cave37c.dmm' + mappath = "maps/groundbase/pois/cave37c.dmm" /datum/map_template/groundbase/maintcaves/cavec/cave38 name = "Cave 38c" - mappath = 'pois/cave38c.dmm' + mappath = "maps/groundbase/pois/cave38c.dmm" /datum/map_template/groundbase/maintcaves/cavec/cave39 name = "Cave 39c" - mappath = 'pois/cave39c.dmm' + mappath = "maps/groundbase/pois/cave39c.dmm" /datum/map_template/groundbase/maintcaves/cavec/cave40 name = "Cave 40c" - mappath = 'pois/cave40c.dmm' + mappath = "maps/groundbase/pois/cave40c.dmm" /datum/map_template/groundbase/maintcaves/cavec/cave41 name = "Cave 41c" - mappath = 'pois/cave41c.dmm' + mappath = "maps/groundbase/pois/cave41c.dmm" /datum/map_template/groundbase/maintcaves/cavec/cave42 name = "Cave 42c" - mappath = 'pois/cave42c.dmm' + mappath = "maps/groundbase/pois/cave42c.dmm" /datum/map_template/groundbase/maintcaves/cavec/cave43 name = "Cave 43c" - mappath = 'pois/cave43c.dmm' + mappath = "maps/groundbase/pois/cave43c.dmm" /datum/map_template/groundbase/maintcaves/cavec/cave44 name = "Cave 44c" - mappath = 'pois/cave44c.dmm' + mappath = "maps/groundbase/pois/cave44c.dmm" /datum/map_template/groundbase/maintcaves/cavec/cave45 name = "Cave 45c" - mappath = 'pois/cave45c.dmm' + mappath = "maps/groundbase/pois/cave45c.dmm" /datum/map_template/groundbase/maintcaves/cavec/cave46 name = "Cave 46c" - mappath = 'pois/cave46c.dmm' + mappath = "maps/groundbase/pois/cave46c.dmm" /datum/map_template/groundbase/maintcaves/cavec/cave47 name = "Cave 47c" - mappath = 'pois/cave47c.dmm' + mappath = "maps/groundbase/pois/cave47c.dmm" /datum/map_template/groundbase/maintcaves/cavec/cave48 name = "Cave 48c" - mappath = 'pois/cave48c.dmm' + mappath = "maps/groundbase/pois/cave48c.dmm" /datum/map_template/groundbase/maintcaves/cavec/cave49 name = "Cave 49" - mappath = 'pois/cave49c.dmm' + mappath = "maps/groundbase/pois/cave49c.dmm" /datum/map_template/groundbase/maintcaves/cavething name = "Cavething 1" - mappath = 'pois/cavething1.dmm' + mappath = "maps/groundbase/pois/cavething1.dmm" cost = 10 allow_duplicates = TRUE /datum/map_template/groundbase/maintcaves/cavething/thing2 name = "Cavething 2" - mappath = 'pois/cavething2.dmm' + mappath = "maps/groundbase/pois/cavething2.dmm" /datum/map_template/groundbase/maintcaves/cavething/thing3 name = "Cavething 3" - mappath = 'pois/cavething3.dmm' + mappath = "maps/groundbase/pois/cavething3.dmm" /datum/map_template/groundbase/maintcaves/cavething/thing4 name = "Cavething 4" - mappath = 'pois/cavething4.dmm' + mappath = "maps/groundbase/pois/cavething4.dmm" /datum/map_template/groundbase/maintcaves/cavething/thing5 name = "Cavething 5" - mappath = 'pois/cavething5.dmm' + mappath = "maps/groundbase/pois/cavething5.dmm" /datum/map_template/groundbase/maintcaves/cavething/thing6 name = "Cavething 6" - mappath = 'pois/cavething6.dmm' + mappath = "maps/groundbase/pois/cavething6.dmm" /datum/map_template/groundbase/maintcaves/cavething/thing7 name = "Cavething 7" - mappath = 'pois/cavething7.dmm' + mappath = "maps/groundbase/pois/cavething7.dmm" cost = 25 allow_duplicates = FALSE /datum/map_template/groundbase/maintcaves/cavething/thing8 name = "Cavething 8" - mappath = 'pois/cavething8.dmm' + mappath = "maps/groundbase/pois/cavething8.dmm" /datum/map_template/groundbase/maintcaves/cavething/thing9 name = "Cavething 9" - mappath = 'pois/cavething9.dmm' + mappath = "maps/groundbase/pois/cavething9.dmm" cost = 25 allow_duplicates = FALSE /datum/map_template/groundbase/maintcaves/cavething/thing10 name = "Cavething 10" - mappath = 'pois/cavething10.dmm' + mappath = "maps/groundbase/pois/cavething10.dmm" /datum/map_template/groundbase/maintcaves/cavething/thing11 name = "Cavething 11" - mappath = 'pois/cavething11.dmm' + mappath = "maps/groundbase/pois/cavething11.dmm" /datum/map_template/groundbase/maintcaves/cavething/thing12 name = "Cavething 12" - mappath = 'pois/cavething12.dmm' + mappath = "maps/groundbase/pois/cavething12.dmm" /datum/map_template/groundbase/maintcaves/cavething/thing13 name = "Cavething 13" - mappath = 'pois/cavething13.dmm' + mappath = "maps/groundbase/pois/cavething13.dmm" cost = 3 allow_duplicates = FALSE /datum/map_template/groundbase/maintcaves/cavething/thing14 name = "Cavething 14" - mappath = 'pois/cavething14.dmm' + mappath = "maps/groundbase/pois/cavething14.dmm" cost = 3 allow_duplicates = FALSE @@ -997,79 +997,79 @@ /datum/map_template/groundbase/wildvillage/square/square1 name = "square building 1" - mappath = 'southwilds/villagepois/square1.dmm' + mappath = "maps/groundbase/southwilds/villagepois/square1.dmm" /area/submap/groundbase/poi/wildvillage/square/square1 /datum/map_template/groundbase/wildvillage/square/square2 name = "square building 2" - mappath = 'southwilds/villagepois/square2.dmm' + mappath = "maps/groundbase/southwilds/villagepois/square2.dmm" /area/submap/groundbase/poi/wildvillage/square/square2 /datum/map_template/groundbase/wildvillage/square/square3 name = "square building 3" - mappath = 'southwilds/villagepois/square3.dmm' + mappath = "maps/groundbase/southwilds/villagepois/square3.dmm" /area/submap/groundbase/poi/wildvillage/square/square3 /datum/map_template/groundbase/wildvillage/square/square4 name = "square building 4" - mappath = 'southwilds/villagepois/square4.dmm' + mappath = "maps/groundbase/southwilds/villagepois/square4.dmm" /area/submap/groundbase/poi/wildvillage/square/square4 /datum/map_template/groundbase/wildvillage/square/square5 name = "square building 5" - mappath = 'southwilds/villagepois/square5.dmm' + mappath = "maps/groundbase/southwilds/villagepois/square5.dmm" /area/submap/groundbase/poi/wildvillage/square/square5 /datum/map_template/groundbase/wildvillage/square/square6 name = "square building 6" - mappath = 'southwilds/villagepois/square6.dmm' + mappath = "maps/groundbase/southwilds/villagepois/square6.dmm" /area/submap/groundbase/poi/wildvillage/square/square6 /datum/map_template/groundbase/wildvillage/square/square7 name = "square building 7" - mappath = 'southwilds/villagepois/square7.dmm' + mappath = "maps/groundbase/southwilds/villagepois/square7.dmm" /area/submap/groundbase/poi/wildvillage/square/square7 /datum/map_template/groundbase/wildvillage/square/square8 name = "square building 8" - mappath = 'southwilds/villagepois/square8.dmm' + mappath = "maps/groundbase/southwilds/villagepois/square8.dmm" /area/submap/groundbase/poi/wildvillage/square/square8 /datum/map_template/groundbase/wildvillage/square/square9 name = "square building 9" - mappath = 'southwilds/villagepois/square9.dmm' + mappath = "maps/groundbase/southwilds/villagepois/square9.dmm" /area/submap/groundbase/poi/wildvillage/square/square9 /datum/map_template/groundbase/wildvillage/square/square10 name = "square building 10" - mappath = 'southwilds/villagepois/square10.dmm' + mappath = "maps/groundbase/southwilds/villagepois/square10.dmm" /area/submap/groundbase/poi/wildvillage/square/square10 /datum/map_template/groundbase/wildvillage/square/square11 name = "square building 11" - mappath = 'southwilds/villagepois/square11.dmm' + mappath = "maps/groundbase/southwilds/villagepois/square11.dmm" /area/submap/groundbase/poi/wildvillage/square/square11 /datum/map_template/groundbase/wildvillage/square/square12 name = "square building 12" - mappath = 'southwilds/villagepois/square12.dmm' + mappath = "maps/groundbase/southwilds/villagepois/square12.dmm" /area/submap/groundbase/poi/wildvillage/square/square12 /datum/map_template/groundbase/wildvillage/wide/wide1 name = "wide building 1" - mappath = 'southwilds/villagepois/wide1.dmm' + mappath = "maps/groundbase/southwilds/villagepois/wide1.dmm" /area/submap/groundbase/poi/wildvillage/wide/wide1 /datum/map_template/groundbase/wildvillage/wide/wide2 name = "wide building 2" - mappath = 'southwilds/villagepois/wide2.dmm' + mappath = "maps/groundbase/southwilds/villagepois/wide2.dmm" /area/submap/groundbase/poi/wildvillage/wide/wide2 /datum/map_template/groundbase/wildvillage/wide/wide3 name = "wide building 3" - mappath = 'southwilds/villagepois/wide3.dmm' + mappath = "maps/groundbase/southwilds/villagepois/wide3.dmm" /area/submap/groundbase/poi/wildvillage/wide/wide3 /datum/map_template/groundbase/wildvillage/wide/wide4 name = "wide building 4" - mappath = 'southwilds/villagepois/wide4.dmm' + mappath = "maps/groundbase/southwilds/villagepois/wide4.dmm" /area/submap/groundbase/poi/wildvillage/wide/wide4 /datum/map_template/groundbase/wildvillage/wide/wide5 name = "wide building 5" - mappath = 'southwilds/villagepois/wide5.dmm' + mappath = "maps/groundbase/southwilds/villagepois/wide5.dmm" /area/submap/groundbase/poi/wildvillage/wide/wide5 /datum/map_template/groundbase/wildvillage/wide/wide6 name = "wide building 6" - mappath = 'southwilds/villagepois/wide6.dmm' + mappath = "maps/groundbase/southwilds/villagepois/wide6.dmm" /area/submap/groundbase/poi/wildvillage/wide/wide6 -/obj/item/weapon/paper/wide6 +/obj/item/paper/wide6 name = "\improper hand written letter" info = {"It is hard for me to write this out, and I hope you will be back soon, but I fear that by the time you return I will already be gone. I will try my best to hold on, but even as I write this, I can feel myself slipping.

      I know that you all do not believe me but I really can see them, just beyond the walls, and they're even closer now than they were before. I can see them even when I close my eyes. Seven golden eyes watch me, and I can feel their heat pouring into me. As they come closer, I can feel myself being tugged in. Like I'm a little lost moon being tugged into the embrace of a passing star.

      It still doesn't hurt. It's getting hard to see anything else, and I can't move anymore. I feel like everything is going to be okay. If you see seven eyes, don't be afraid. Just promise you'll come find me, okay?

      @@ -1077,17 +1077,17 @@ /datum/map_template/groundbase/wildvillage/long/long1 name = "long building 1" - mappath = 'southwilds/villagepois/long1.dmm' + mappath = "maps/groundbase/southwilds/villagepois/long1.dmm" /area/submap/groundbase/poi/wildvillage/long/long1 /datum/map_template/groundbase/wildvillage/long/long2 name = "long building 2" - mappath = 'southwilds/villagepois/long2.dmm' + mappath = "maps/groundbase/southwilds/villagepois/long2.dmm" /area/submap/groundbase/poi/wildvillage/long/long2 /datum/map_template/groundbase/wildvillage/long/long3 name = "wide building 3" - mappath = 'southwilds/villagepois/long3.dmm' + mappath = "maps/groundbase/southwilds/villagepois/long3.dmm" /area/submap/groundbase/poi/wildvillage/long/long3 /datum/map_template/groundbase/wildvillage/long/long4 name = "wide building 4" - mappath = 'southwilds/villagepois/long4.dmm' + mappath = "maps/groundbase/southwilds/villagepois/long4.dmm" /area/submap/groundbase/poi/wildvillage/long/long4 diff --git a/maps/groundbase/groundbase_telecomms.dm b/maps/groundbase/groundbase_telecomms.dm index da91ca9b95a..7e77d02d1f1 100644 --- a/maps/groundbase/groundbase_telecomms.dm +++ b/maps/groundbase/groundbase_telecomms.dm @@ -76,18 +76,18 @@ num2text(EXP_FREQ) = list(access_explorer) ) -/obj/item/device/multitool/station_buffered +/obj/item/multitool/station_buffered name = "pre-linked multitool (Rascal's Pass hub)" desc = "This multitool has already been linked to the groundbase telecomms hub and can be used to configure one (1) relay." -/obj/item/device/multitool/station_buffered/Initialize() +/obj/item/multitool/station_buffered/Initialize() . = ..() buffer = locate(/obj/machinery/telecomms/hub/preset/groundbase) -/obj/item/device/bluespaceradio/groundbase_prelinked +/obj/item/bluespaceradio/groundbase_prelinked name = "bluespace radio (Rascal's Pass)" - handset = /obj/item/device/radio/bluespacehandset/linked/groundbase_prelinked + handset = /obj/item/radio/bluespacehandset/linked/groundbase_prelinked -/obj/item/device/radio/bluespacehandset/linked/groundbase_prelinked +/obj/item/radio/bluespacehandset/linked/groundbase_prelinked bs_tx_preload_id = "groundbase_rx" //Transmit to a receiver bs_rx_preload_id = "groundbase_tx" //Recveive from a transmitter diff --git a/maps/groundbase/pois/cavething7.dmm b/maps/groundbase/pois/cavething7.dmm index 85c2a8016c9..47548a80c68 100644 --- a/maps/groundbase/pois/cavething7.dmm +++ b/maps/groundbase/pois/cavething7.dmm @@ -42,7 +42,7 @@ /obj/random/tool, /obj/random/tool, /obj/random/tool, -/obj/item/weapon/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery, /turf/simulated/floor{ edge_blending_priority = -1; outdoors = 0 @@ -50,7 +50,7 @@ /area/maintenance/groundbase/poi/caves) "Y" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/healthanalyzer, +/obj/item/healthanalyzer, /turf/simulated/floor{ edge_blending_priority = -1; outdoors = 0 diff --git a/maps/groundbase/pois/outdoors10.dmm b/maps/groundbase/pois/outdoors10.dmm index 7a3967ee262..cbf5137b597 100644 --- a/maps/groundbase/pois/outdoors10.dmm +++ b/maps/groundbase/pois/outdoors10.dmm @@ -13,7 +13,7 @@ /area/submap/groundbase/poi/outdoor/cabin5) "g" = ( /obj/structure/table/standard, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = 1; pixel_y = 5 }, @@ -55,7 +55,7 @@ /area/submap/groundbase/poi/outdoor/cabin5) "J" = ( /obj/structure/table/glass, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = 1; pixel_y = 5 }, diff --git a/maps/groundbase/pois/outdoors16.dmm b/maps/groundbase/pois/outdoors16.dmm index c613a41c915..81f946d4523 100644 --- a/maps/groundbase/pois/outdoors16.dmm +++ b/maps/groundbase/pois/outdoors16.dmm @@ -1,10 +1,10 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "a" = ( -/obj/item/weapon/reagent_containers/food/snacks/chip/nacho/cheese, +/obj/item/reagent_containers/food/snacks/chip/nacho/cheese, /turf/simulated/floor/outdoors/grass/seasonal/nomobs, /area/template_noop) "b" = ( -/obj/item/weapon/reagent_containers/food/snacks/chip/nacho/salsa, +/obj/item/reagent_containers/food/snacks/chip/nacho/salsa, /turf/simulated/floor/outdoors/grass/seasonal/nomobs, /area/template_noop) "c" = ( @@ -18,11 +18,11 @@ folded_desc = "A worn picnic blanket with a rough texture. One could swear it seems to be covered in strange, otter-like fur"; name = "weathered picnic blanket" }, -/obj/item/weapon/storage/toolbox/lunchbox/cat/filled{ +/obj/item/storage/toolbox/lunchbox/cat/filled{ pixel_x = 6; pixel_y = 9 }, -/obj/item/weapon/reagent_containers/food/snacks/fruitsalad, +/obj/item/reagent_containers/food/snacks/fruitsalad, /turf/simulated/floor/outdoors/grass/seasonal/notrees_nomobs_nosnow, /area/template_noop) "h" = ( @@ -37,7 +37,7 @@ "i" = ( /obj/structure/table/wooden_reinforced, /obj/random/pizzabox, -/obj/item/weapon/storage/toolbox/lunchbox/mars/filled{ +/obj/item/storage/toolbox/lunchbox/mars/filled{ pixel_x = -7; pixel_y = 11 }, @@ -65,7 +65,7 @@ newdesc = "A wild catslug enjoying the simpler things in life: a picnic!"; newname = list("happy catslug", "rotund catslug", "anxious catslug", "angry Catslug", "content Catslug", "sad catslug") }, -/obj/item/weapon/ore/diamond{ +/obj/item/ore/diamond{ name = "porl" }, /turf/simulated/floor/outdoors/grass/seasonal/notrees_nomobs_nosnow, @@ -91,7 +91,7 @@ newdesc = "A wild catslug enjoying the simpler things in life: a picnic!"; newname = list("happy catslug", "rotund catslug", "anxious catslug", "angry Catslug", "content Catslug", "sad catslug") }, -/obj/item/weapon/material/twohanded/spear/foam{ +/obj/item/material/twohanded/spear/foam{ desc = "The only way you can hunt things with this is by tickling them to death."; name = "squishy foam spear" }, @@ -111,7 +111,7 @@ /area/template_noop) "N" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/storage/toolbox/lunchbox/heart/filled{ +/obj/item/storage/toolbox/lunchbox/heart/filled{ pixel_x = -4; pixel_y = -6 }, @@ -133,7 +133,7 @@ /area/template_noop) "S" = ( /obj/structure/table/bench/wooden, -/obj/item/weapon/towel/random, +/obj/item/towel/random, /obj/random/mob/wildscugs{ newdesc = "A wild catslug enjoying the simpler things in life: a picnic!"; newname = list("happy catslug", "rotund catslug", "anxious catslug", "angry Catslug", "content Catslug", "sad catslug") diff --git a/maps/groundbase/pois/outdoors4.dmm b/maps/groundbase/pois/outdoors4.dmm index 71122a524e3..92ccb147b00 100644 --- a/maps/groundbase/pois/outdoors4.dmm +++ b/maps/groundbase/pois/outdoors4.dmm @@ -8,7 +8,7 @@ "h" = ( /obj/structure/table/standard, /obj/random/maintenance/misc, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = 1; pixel_y = 5 }, @@ -16,7 +16,7 @@ /area/submap/groundbase/poi/outdoor/cabin1) "i" = ( /obj/structure/table/standard, -/obj/item/device/flashlight/lamp{ +/obj/item/flashlight/lamp{ pixel_x = 2; pixel_y = 7 }, diff --git a/maps/groundbase/pois/outdoors5.dmm b/maps/groundbase/pois/outdoors5.dmm index 9a52c008bc5..4d914e114c0 100644 --- a/maps/groundbase/pois/outdoors5.dmm +++ b/maps/groundbase/pois/outdoors5.dmm @@ -12,7 +12,7 @@ "g" = ( /obj/structure/table/standard, /obj/random/maintenance/misc, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = 1; pixel_y = 5 }, @@ -43,7 +43,7 @@ /area/submap/groundbase/poi/outdoor/cabin2) "G" = ( /obj/structure/table/standard, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = 1; pixel_y = 5 }, diff --git a/maps/groundbase/pois/outdoors6.dmm b/maps/groundbase/pois/outdoors6.dmm index 688e4a91c82..2087bb2c383 100644 --- a/maps/groundbase/pois/outdoors6.dmm +++ b/maps/groundbase/pois/outdoors6.dmm @@ -32,7 +32,7 @@ /area/submap/groundbase/poi/outdoor/cabin3) "r" = ( /obj/structure/table/standard, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = 1; pixel_y = 5 }, diff --git a/maps/groundbase/pois/outdoors9.dmm b/maps/groundbase/pois/outdoors9.dmm index 8412f0de74f..9073a3f0b9d 100644 --- a/maps/groundbase/pois/outdoors9.dmm +++ b/maps/groundbase/pois/outdoors9.dmm @@ -45,7 +45,7 @@ /area/submap/groundbase/poi/outdoor/cabin4) "Q" = ( /obj/structure/table/glass, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = 1; pixel_y = 5 }, diff --git a/maps/groundbase/pois/template.dmm b/maps/groundbase/pois/template.dmm index 37250a89c7d..1a4b7e9a14a 100644 --- a/maps/groundbase/pois/template.dmm +++ b/maps/groundbase/pois/template.dmm @@ -10,7 +10,7 @@ /area/template_noop) "am" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/healthanalyzer, +/obj/item/healthanalyzer, /turf/simulated/floor{ edge_blending_priority = -1; outdoors = 0 @@ -138,7 +138,7 @@ /area/submap/groundbase/poi/outdoor/cabin2) "fp" = ( /obj/structure/table/standard, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = 1; pixel_y = 5 }, @@ -457,7 +457,7 @@ "wa" = ( /obj/structure/table/standard, /obj/random/maintenance/misc, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = 1; pixel_y = 5 }, @@ -485,7 +485,7 @@ /area/submap/groundbase/poi/outdoor/cabin1) "xr" = ( /obj/structure/table/standard, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = 1; pixel_y = 5 }, @@ -516,7 +516,7 @@ /obj/random/tool, /obj/random/tool, /obj/random/tool, -/obj/item/weapon/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery, /turf/simulated/floor{ edge_blending_priority = -1; outdoors = 0 @@ -594,7 +594,7 @@ /area/submap/groundbase/poi/outdoor/cabin5) "DG" = ( /obj/structure/table/standard, -/obj/item/device/flashlight/lamp{ +/obj/item/flashlight/lamp{ pixel_x = 2; pixel_y = 7 }, @@ -723,7 +723,7 @@ /turf/template_noop, /area/template_noop) "IT" = ( -/obj/item/weapon/flame/lighter/random, +/obj/item/flame/lighter/random, /turf/template_noop, /area/template_noop) "JD" = ( @@ -732,7 +732,7 @@ /area/template_noop) "Kr" = ( /obj/structure/table/glass, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = 1; pixel_y = 5 }, @@ -798,7 +798,7 @@ /area/submap/groundbase/poi/outdoor/cabin4) "NI" = ( /obj/structure/table/glass, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = 1; pixel_y = 5 }, @@ -826,7 +826,7 @@ "PK" = ( /obj/structure/table/standard, /obj/random/maintenance/misc, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = 1; pixel_y = 5 }, @@ -995,7 +995,7 @@ /area/template_noop) "Yk" = ( /obj/structure/table/standard, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = 1; pixel_y = 5 }, @@ -1017,7 +1017,7 @@ }, /area/maintenance/groundbase/poi/caves) "YI" = ( -/obj/item/weapon/storage/wallet/random, +/obj/item/storage/wallet/random, /turf/template_noop, /area/template_noop) "YX" = ( diff --git a/maps/groundbase/southwilds/villagepois/long4.dmm b/maps/groundbase/southwilds/villagepois/long4.dmm index e5753ec40f7..05a1c97ff18 100644 --- a/maps/groundbase/southwilds/villagepois/long4.dmm +++ b/maps/groundbase/southwilds/villagepois/long4.dmm @@ -4,7 +4,7 @@ /turf/template_noop, /area/submap/groundbase/poi/wildvillage) "j" = ( -/obj/item/weapon/beach_ball/dodgeball, +/obj/item/beach_ball/dodgeball, /turf/simulated/floor/outdoors/newdirt, /area/submap/groundbase/poi/wildvillage/long/long4) "s" = ( diff --git a/maps/groundbase/southwilds/villagepois/square1.dmm b/maps/groundbase/southwilds/villagepois/square1.dmm index f65801d62dd..552a2517b9c 100644 --- a/maps/groundbase/southwilds/villagepois/square1.dmm +++ b/maps/groundbase/southwilds/villagepois/square1.dmm @@ -29,7 +29,7 @@ /area/submap/groundbase/poi/wildvillage) "f" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /obj/structure/curtain/open/bed{ color = "#5e0c1d" }, @@ -154,7 +154,7 @@ /area/submap/groundbase/poi/wildvillage/square/square1) "S" = ( /obj/structure/table/standard, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /turf/simulated/floor/carpet, /area/submap/groundbase/poi/wildvillage/square/square1) "V" = ( @@ -169,7 +169,7 @@ /area/submap/groundbase/poi/wildvillage/square/square1) "Y" = ( /obj/structure/table/standard, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_y = 8 }, /turf/simulated/floor/wood, diff --git a/maps/groundbase/southwilds/villagepois/square12.dmm b/maps/groundbase/southwilds/villagepois/square12.dmm index 8a9eb8a9f52..ae911579919 100644 --- a/maps/groundbase/southwilds/villagepois/square12.dmm +++ b/maps/groundbase/southwilds/villagepois/square12.dmm @@ -45,7 +45,7 @@ /area/submap/groundbase/poi/wildvillage/square/square12) "h" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /obj/structure/curtain/open/bed{ color = "#5e0c1d" }, @@ -170,7 +170,7 @@ /area/submap/groundbase/poi/wildvillage/square/square12) "G" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /obj/structure/curtain/open/bed{ color = "#5e0c1d" }, @@ -198,7 +198,7 @@ /obj/structure/table/glass, /obj/random/maintenance/misc, /obj/random/maintenance/misc, -/obj/item/device/flashlight/lamp{ +/obj/item/flashlight/lamp{ pixel_x = 2; pixel_y = 7 }, diff --git a/maps/groundbase/southwilds/villagepois/square2.dmm b/maps/groundbase/southwilds/villagepois/square2.dmm index 9ccc33902c9..579c8c91f6d 100644 --- a/maps/groundbase/southwilds/villagepois/square2.dmm +++ b/maps/groundbase/southwilds/villagepois/square2.dmm @@ -6,7 +6,7 @@ /obj/structure/table/standard, /obj/random/maintenance/misc, /obj/random/maintenance/misc, -/obj/item/device/flashlight/lamp{ +/obj/item/flashlight/lamp{ pixel_x = 2; pixel_y = 7 }, @@ -35,7 +35,7 @@ /obj/structure/table/standard, /obj/random/maintenance/misc, /obj/random/maintenance/misc, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_y = 8 }, /turf/simulated/floor/carpet, @@ -65,7 +65,7 @@ /area/submap/groundbase/poi/wildvillage/square/square2) "q" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /obj/structure/curtain/open/bed{ color = "#5e0c1d" }, diff --git a/maps/groundbase/southwilds/villagepois/square3.dmm b/maps/groundbase/southwilds/villagepois/square3.dmm index 96d616076aa..9b713c70aea 100644 --- a/maps/groundbase/southwilds/villagepois/square3.dmm +++ b/maps/groundbase/southwilds/villagepois/square3.dmm @@ -106,7 +106,7 @@ /obj/structure/table/standard, /obj/random/maintenance/misc, /obj/random/maintenance/misc, -/obj/item/device/flashlight/lamp{ +/obj/item/flashlight/lamp{ pixel_x = 2; pixel_y = 7 }, @@ -114,7 +114,7 @@ /area/submap/groundbase/poi/wildvillage/square/square3) "M" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /obj/structure/curtain/open/bed{ color = "#5e0c1d" }, @@ -128,7 +128,7 @@ /obj/machinery/light/small{ dir = 4 }, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_y = 8 }, /turf/simulated/floor/wood, diff --git a/maps/groundbase/southwilds/villagepois/square4.dmm b/maps/groundbase/southwilds/villagepois/square4.dmm index f7ab0eb5add..80298db2bd1 100644 --- a/maps/groundbase/southwilds/villagepois/square4.dmm +++ b/maps/groundbase/southwilds/villagepois/square4.dmm @@ -104,7 +104,7 @@ "w" = ( /obj/structure/table/steel, /obj/random/maintenance/misc, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_y = 8 }, /turf/simulated/floor/wood, @@ -133,7 +133,7 @@ /area/submap/groundbase/poi/wildvillage/square/square4) "A" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /obj/structure/curtain/open/bed{ color = "#5e0c1d" }, @@ -230,7 +230,7 @@ /area/submap/groundbase/poi/wildvillage/square/square4) "R" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /obj/structure/curtain/open/bed{ color = "#4287f5" }, diff --git a/maps/groundbase/southwilds/villagepois/square5.dmm b/maps/groundbase/southwilds/villagepois/square5.dmm index 80ab202b9b2..901206a8a7c 100644 --- a/maps/groundbase/southwilds/villagepois/square5.dmm +++ b/maps/groundbase/southwilds/villagepois/square5.dmm @@ -54,11 +54,11 @@ /turf/simulated/floor/outdoors/grass/seasonal/notrees_nomobs_lowsnow, /area/submap/groundbase/poi/wildvillage/square/square5) "T" = ( -/obj/item/weapon/material/minihoe, +/obj/item/material/minihoe, /turf/simulated/floor/outdoors/grass/seasonal/notrees_nomobs_lowsnow, /area/submap/groundbase/poi/wildvillage/square/square5) "V" = ( -/obj/item/weapon/reagent_containers/glass/bucket/wood, +/obj/item/reagent_containers/glass/bucket/wood, /turf/simulated/floor/outdoors/grass/seasonal/notrees_nomobs_lowsnow, /area/submap/groundbase/poi/wildvillage/square/square5) diff --git a/maps/groundbase/southwilds/villagepois/square6.dmm b/maps/groundbase/southwilds/villagepois/square6.dmm index f6c81ec8c53..41a3ab70e71 100644 --- a/maps/groundbase/southwilds/villagepois/square6.dmm +++ b/maps/groundbase/southwilds/villagepois/square6.dmm @@ -37,7 +37,7 @@ /turf/simulated/floor/outdoors/grass/seasonal/notrees_nomobs_lowsnow, /area/submap/groundbase/poi/wildvillage/square/square6) "A" = ( -/obj/item/weapon/material/minihoe, +/obj/item/material/minihoe, /turf/simulated/floor/outdoors/grass/seasonal/notrees_nomobs_lowsnow, /area/submap/groundbase/poi/wildvillage/square/square6) "E" = ( @@ -58,7 +58,7 @@ /turf/simulated/floor/outdoors/grass/seasonal/notrees_nomobs_lowsnow, /area/submap/groundbase/poi/wildvillage/square/square6) "Y" = ( -/obj/item/weapon/reagent_containers/glass/bucket/wood, +/obj/item/reagent_containers/glass/bucket/wood, /turf/simulated/floor/outdoors/grass/seasonal/notrees_nomobs_lowsnow, /area/submap/groundbase/poi/wildvillage/square/square6) "Z" = ( diff --git a/maps/groundbase/southwilds/villagepois/square7.dmm b/maps/groundbase/southwilds/villagepois/square7.dmm index f0697e0a253..0ca6e64f530 100644 --- a/maps/groundbase/southwilds/villagepois/square7.dmm +++ b/maps/groundbase/southwilds/villagepois/square7.dmm @@ -25,7 +25,7 @@ /area/submap/groundbase/poi/wildvillage/square/square7) "k" = ( /obj/structure/table/standard, -/obj/item/weapon/book/manual/cook_guide, +/obj/item/book/manual/cook_guide, /turf/simulated/floor/tiled/eris/cafe, /area/submap/groundbase/poi/wildvillage/square/square7) "m" = ( @@ -44,16 +44,16 @@ dir = 8 }, /obj/structure/table/standard, -/obj/item/weapon/storage/box/beakers{ +/obj/item/storage/box/beakers{ name = "box of measuring cups"; pixel_x = 2; pixel_y = 3; - starts_with = list(/obj/item/weapon/reagent_containers/glass/beaker/measuring_cup = 7) + starts_with = list(/obj/item/reagent_containers/glass/beaker/measuring_cup = 7) }, /turf/simulated/floor/tiled/eris/cafe, /area/submap/groundbase/poi/wildvillage/square/square7) "r" = ( -/obj/item/weapon/stool/baystool/padded{ +/obj/item/stool/baystool/padded{ dir = 1 }, /turf/simulated/floor/lino, @@ -107,7 +107,7 @@ /area/submap/groundbase/poi/wildvillage/square/square7) "D" = ( /obj/structure/table/standard, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/kitchen/rollingpin, /turf/simulated/floor/tiled/eris/cafe, /area/submap/groundbase/poi/wildvillage/square/square7) "E" = ( @@ -119,22 +119,22 @@ /turf/simulated/floor/tiled/eris/cafe, /area/submap/groundbase/poi/wildvillage/square/square7) "G" = ( -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/spacespice, -/obj/item/weapon/reagent_containers/food/condiment/spacespice, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/spacespice, +/obj/item/reagent_containers/food/condiment/spacespice, +/obj/item/reagent_containers/food/condiment/carton/sugar, +/obj/item/reagent_containers/food/condiment/carton/sugar, +/obj/item/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/small/peppermill, +/obj/item/reagent_containers/food/condiment/small/peppermill, /obj/structure/closet, /obj/random/donkpocketbox, /obj/machinery/light{ @@ -147,7 +147,7 @@ dir = 4 }, /obj/structure/table/standard, -/obj/item/weapon/material/knife/butch, +/obj/item/material/knife/butch, /turf/simulated/floor/tiled/eris/cafe, /area/submap/groundbase/poi/wildvillage/square/square7) "J" = ( diff --git a/maps/groundbase/southwilds/villagepois/square9.dmm b/maps/groundbase/southwilds/villagepois/square9.dmm index 33ced322ae3..cbb02214214 100644 --- a/maps/groundbase/southwilds/villagepois/square9.dmm +++ b/maps/groundbase/southwilds/villagepois/square9.dmm @@ -30,7 +30,7 @@ /obj/random/maintenance/misc, /obj/random/maintenance/misc, /obj/random/maintenance/misc, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_y = 8 }, /turf/simulated/floor/wood, @@ -174,7 +174,7 @@ /obj/structure/table/standard, /obj/random/maintenance/misc, /obj/random/maintenance/misc, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_y = 8 }, /turf/simulated/floor/carpet, @@ -198,7 +198,7 @@ /area/submap/groundbase/poi/wildvillage/square/square9) "U" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /obj/structure/curtain/open/bed{ color = "#5e0c1d" }, diff --git a/maps/groundbase/southwilds/villagepois/wide1.dmm b/maps/groundbase/southwilds/villagepois/wide1.dmm index 61060d7d64e..d54412ec272 100644 --- a/maps/groundbase/southwilds/villagepois/wide1.dmm +++ b/maps/groundbase/southwilds/villagepois/wide1.dmm @@ -72,7 +72,7 @@ /area/submap/groundbase/poi/wildvillage/wide/wide1) "p" = ( /obj/structure/table/standard, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_y = 8 }, /turf/simulated/floor/carpet/sblucarpet, @@ -89,7 +89,7 @@ /area/submap/groundbase/poi/wildvillage/wide/wide1) "s" = ( /obj/structure/table/standard, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_y = 8 }, /turf/simulated/floor/wood, @@ -198,7 +198,7 @@ /area/submap/groundbase/poi/wildvillage/wide/wide1) "N" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /obj/structure/curtain/open/bed{ color = "#5e0c1d" }, diff --git a/maps/groundbase/southwilds/villagepois/wide2.dmm b/maps/groundbase/southwilds/villagepois/wide2.dmm index 9322e2c9cf0..0db6a161e0d 100644 --- a/maps/groundbase/southwilds/villagepois/wide2.dmm +++ b/maps/groundbase/southwilds/villagepois/wide2.dmm @@ -125,7 +125,7 @@ /area/submap/groundbase/poi/wildvillage/wide/wide2) "A" = ( /obj/structure/table/standard, -/obj/item/device/flashlight/lamp{ +/obj/item/flashlight/lamp{ pixel_x = 2; pixel_y = 7 }, @@ -144,7 +144,7 @@ /area/submap/groundbase/poi/wildvillage/wide/wide2) "C" = ( /obj/structure/table/standard, -/obj/item/device/flashlight/lamp{ +/obj/item/flashlight/lamp{ pixel_x = 2; pixel_y = 7 }, @@ -262,7 +262,7 @@ /area/submap/groundbase/poi/wildvillage/wide/wide2) "Z" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /obj/structure/curtain/open/bed{ color = "#5e0c1d" }, diff --git a/maps/groundbase/southwilds/villagepois/wide3.dmm b/maps/groundbase/southwilds/villagepois/wide3.dmm index 63220d97a93..4614fba78ba 100644 --- a/maps/groundbase/southwilds/villagepois/wide3.dmm +++ b/maps/groundbase/southwilds/villagepois/wide3.dmm @@ -104,7 +104,7 @@ /area/submap/groundbase/poi/wildvillage/wide/wide3) "r" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /obj/structure/curtain/open/bed{ color = "#4287f5" }, @@ -237,7 +237,7 @@ /area/submap/groundbase/poi/wildvillage/wide/wide3) "N" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /obj/random/plushie, /obj/structure/curtain/open/bed{ color = "#5e0c1d" diff --git a/maps/groundbase/southwilds/villagepois/wide4.dmm b/maps/groundbase/southwilds/villagepois/wide4.dmm index 112ab24fd7c..83cb62de6a4 100644 --- a/maps/groundbase/southwilds/villagepois/wide4.dmm +++ b/maps/groundbase/southwilds/villagepois/wide4.dmm @@ -45,7 +45,7 @@ /area/submap/groundbase/poi/wildvillage/wide/wide4) "i" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /obj/random/plushie, /obj/structure/curtain/open/bed, /turf/simulated/floor/carpet/bcarpet, @@ -63,7 +63,7 @@ /obj/machinery/light{ dir = 1 }, -/obj/item/weapon/handcuffs/fuzzy, +/obj/item/handcuffs/fuzzy, /turf/simulated/floor/wmarble, /area/submap/groundbase/poi/wildvillage/wide/wide4) "m" = ( diff --git a/maps/groundbase/southwilds/villagepois/wide5.dmm b/maps/groundbase/southwilds/villagepois/wide5.dmm index 3a4ad205624..c2b8d047c42 100644 --- a/maps/groundbase/southwilds/villagepois/wide5.dmm +++ b/maps/groundbase/southwilds/villagepois/wide5.dmm @@ -52,7 +52,7 @@ /area/submap/groundbase/poi/wildvillage/wide/wide5) "i" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/rainbowdouble, +/obj/item/bedsheet/rainbowdouble, /obj/structure/curtain/open/bed, /obj/machinery/button/windowtint{ id = "village_wide5_bedroom"; @@ -145,7 +145,7 @@ /area/submap/groundbase/poi/wildvillage/wide/wide5) "w" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/rainbowdouble, +/obj/item/bedsheet/rainbowdouble, /obj/random/plushie, /obj/structure/curtain/open/bed{ color = "#5e0c1d" @@ -160,7 +160,7 @@ /area/submap/groundbase/poi/wildvillage/wide/wide5) "z" = ( /obj/structure/table/standard, -/obj/item/device/flashlight/lamp{ +/obj/item/flashlight/lamp{ pixel_x = 2; pixel_y = 7 }, @@ -274,7 +274,7 @@ dir = 8 }, /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = 21 }, /turf/simulated/floor/wmarble, @@ -292,7 +292,7 @@ /area/submap/groundbase/poi/wildvillage/wide/wide5) "W" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/rainbowdouble, +/obj/item/bedsheet/rainbowdouble, /obj/structure/curtain/open/bed{ color = "#4287f5" }, @@ -316,7 +316,7 @@ dir = 8 }, /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -2; pixel_y = -15 }, diff --git a/maps/groundbase/southwilds/villagepois/wide6.dmm b/maps/groundbase/southwilds/villagepois/wide6.dmm index 42c40b89346..52d998b71bc 100644 --- a/maps/groundbase/southwilds/villagepois/wide6.dmm +++ b/maps/groundbase/southwilds/villagepois/wide6.dmm @@ -50,10 +50,10 @@ /area/submap/groundbase/poi/wildvillage/wide/wide6) "m" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/double, +/obj/item/bedsheet/double, /obj/random/plushie, /obj/structure/curtain/open/privacy, -/obj/item/weapon/paper/wide6, +/obj/item/paper/wide6, /turf/simulated/floor/tiled/white, /area/submap/groundbase/poi/wildvillage/wide/wide6) "n" = ( @@ -111,7 +111,7 @@ /obj/structure/bed/chair/sofa/blue{ dir = 4 }, -/obj/item/weapon/bedsheet/ian, +/obj/item/bedsheet/ian, /turf/simulated/floor/wood, /area/submap/groundbase/poi/wildvillage/wide/wide6) "z" = ( @@ -153,18 +153,18 @@ /area/submap/groundbase/poi/wildvillage/wide/wide6) "K" = ( /obj/structure/bookcase, -/obj/item/weapon/book/bundle/custom_library/fiction/apurrrrfectman, -/obj/item/weapon/book/bundle/custom_library/fiction/beyondthedoor, -/obj/item/weapon/book/bundle/custom_library/fiction/chroniclesofmargatavol1, -/obj/item/weapon/book/bundle/custom_library/fiction/coldmountain, -/obj/item/weapon/book/bundle/custom_library/fiction/ghostship, -/obj/item/weapon/book/bundle/custom_library/fiction/manfromsnowyriver, -/obj/item/weapon/book/bundle/custom_library/fiction/metalglen, -/obj/item/weapon/book/bundle/custom_library/fiction/poemsforarainyday, -/obj/item/weapon/book/bundle/custom_library/fiction/raissue142, -/obj/item/weapon/book/bundle/custom_library/fiction/raissue147, -/obj/item/weapon/book/bundle/custom_library/fiction/silence, -/obj/item/weapon/book/bundle/custom_library/fiction/taleoftherainbowcat, +/obj/item/book/bundle/custom_library/fiction/apurrrrfectman, +/obj/item/book/bundle/custom_library/fiction/beyondthedoor, +/obj/item/book/bundle/custom_library/fiction/chroniclesofmargatavol1, +/obj/item/book/bundle/custom_library/fiction/coldmountain, +/obj/item/book/bundle/custom_library/fiction/ghostship, +/obj/item/book/bundle/custom_library/fiction/manfromsnowyriver, +/obj/item/book/bundle/custom_library/fiction/metalglen, +/obj/item/book/bundle/custom_library/fiction/poemsforarainyday, +/obj/item/book/bundle/custom_library/fiction/raissue142, +/obj/item/book/bundle/custom_library/fiction/raissue147, +/obj/item/book/bundle/custom_library/fiction/silence, +/obj/item/book/bundle/custom_library/fiction/taleoftherainbowcat, /turf/simulated/floor/tiled/white, /area/submap/groundbase/poi/wildvillage/wide/wide6) "L" = ( diff --git a/maps/groundbase/westwilds/westwilds template.dmm b/maps/groundbase/westwilds/westwilds template.dmm index 4b8292828ae..2813d8700b0 100644 --- a/maps/groundbase/westwilds/westwilds template.dmm +++ b/maps/groundbase/westwilds/westwilds template.dmm @@ -5,12 +5,12 @@ /obj/effect/floor_decal/corner/purple{ dir = 5 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24; req_access = list() }, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /turf/simulated/floor/tiled/white, /area/groundbase/science/outpost/toxins_mixing) "ab" = ( @@ -255,7 +255,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/black{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /obj/machinery/pipedispenser, @@ -447,7 +447,7 @@ /area/submap/groundbase/wilderness/west) "ea" = ( /obj/structure/bed/pod, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /obj/machinery/light_switch{ dir = 4; pixel_x = 22 @@ -667,7 +667,7 @@ /area/shuttle/axolotl_engineering) "gx" = ( /obj/structure/bed/pod, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /obj/machinery/alarm/alarms_hidden{ dir = 8; pixel_x = 26 @@ -706,7 +706,7 @@ /turf/simulated/floor/tiled, /area/groundbase/science/outpost/toxins_lab) "gU" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24; req_access = list() @@ -741,7 +741,7 @@ "gZ" = ( /obj/structure/table/standard, /obj/item/stack/nanopaste, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /obj/structure/window/reinforced{ dir = 4 }, @@ -994,8 +994,8 @@ /area/groundbase/science/outpost) "jj" = ( /obj/structure/table/rack, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, /turf/simulated/floor/tiled, /area/groundbase/science/outpost) "js" = ( @@ -1075,18 +1075,18 @@ /obj/structure/railing/grey{ dir = 8 }, -/obj/item/weapon/tank/phoron/pressurized, -/obj/item/weapon/tank/phoron/pressurized, +/obj/item/tank/phoron/pressurized, +/obj/item/tank/phoron/pressurized, /obj/structure/closet/walllocker{ dir = 1; name = "Spare Fuel"; pixel_y = -32 }, -/obj/item/weapon/tool/crowbar/red, +/obj/item/tool/crowbar/red, /obj/item/stack/material/tritium{ amount = 25 }, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /turf/simulated/floor/tiled/techfloor, /area/shuttle/axolotl_engineering) "jS" = ( @@ -1948,7 +1948,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24; req_access = list() @@ -2103,7 +2103,7 @@ pixel_x = -26; pixel_y = -8 }, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled/white, /area/groundbase/science/outpost/toxins_mixing) "sw" = ( @@ -2286,8 +2286,8 @@ /turf/simulated/floor/tiled/white, /area/groundbase/science/outpost/toxing_gasworks) "uk" = ( -/obj/item/device/suit_cooling_unit, -/obj/item/weapon/tank/air, +/obj/item/suit_cooling_unit, +/obj/item/tank/air, /obj/structure/railing/grey{ dir = 8 }, @@ -2385,7 +2385,7 @@ /area/groundbase/science/outpost/anomaly_lab) "uI" = ( /obj/structure/table/standard, -/obj/item/device/multitool, +/obj/item/multitool, /turf/simulated/floor/tiled, /area/groundbase/science/outpost/anomaly_lab) "uT" = ( @@ -2697,16 +2697,16 @@ "xj" = ( /obj/structure/table/standard, /obj/machinery/light, -/obj/item/weapon/storage/box/beakers, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/storage/box/beakers, +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/dropper, /turf/simulated/floor/tiled/dark, /area/groundbase/science/outpost/anomaly_lab) "xn" = ( /obj/machinery/vending/phoronresearch{ dir = 8; name = "Toximate 2556"; - products = list(/obj/item/device/transfer_valve = 3, /obj/item/device/assembly/timer = 6, /obj/item/device/assembly/signaler = 6, /obj/item/device/assembly/prox_sensor = 6, /obj/item/device/assembly/igniter = 12) + products = list(/obj/item/transfer_valve = 3, /obj/item/assembly/timer = 6, /obj/item/assembly/signaler = 6, /obj/item/assembly/prox_sensor = 6, /obj/item/assembly/igniter = 12) }, /turf/simulated/floor/tiled, /area/groundbase/science/outpost/toxins_lab) @@ -2821,8 +2821,8 @@ /area/groundbase/science/outpost/substation) "yw" = ( /obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/storage/box/donkpockets, -/obj/item/weapon/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, /obj/random/snack, /obj/random/snack, /obj/random/snack, @@ -3262,8 +3262,8 @@ /turf/simulated/floor/outdoors/newdirt, /area/groundbase/science/outpost/toxins_mixing) "BY" = ( -/obj/item/device/suit_cooling_unit, -/obj/item/weapon/tank/air, +/obj/item/suit_cooling_unit, +/obj/item/tank/air, /obj/structure/railing/grey{ dir = 8 }, @@ -3311,8 +3311,8 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, -/obj/item/weapon/tool/screwdriver, -/obj/item/device/assembly_holder/timer_igniter, +/obj/item/tool/screwdriver, +/obj/item/assembly_holder/timer_igniter, /obj/machinery/camera/network/research_outpost{ dir = 4 }, @@ -3376,7 +3376,7 @@ /turf/simulated/floor/tiled/techfloor, /area/shuttle/axolotl) "Dn" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /obj/machinery/atmospherics/unary/vent_pump/on{ @@ -3437,7 +3437,7 @@ /area/groundbase/engineering/solarshed) "DN" = ( /obj/structure/table/standard, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /obj/machinery/vending/wallmed1{ pixel_x = 30 }, @@ -3488,8 +3488,8 @@ /turf/simulated/floor/tiled, /area/groundbase/science/outpost/toxins_storage) "Ej" = ( -/obj/item/device/suit_cooling_unit, -/obj/item/weapon/tank/air, +/obj/item/suit_cooling_unit, +/obj/item/tank/air, /obj/structure/handrail{ dir = 1 }, @@ -3734,11 +3734,11 @@ /area/groundbase/science/outpost/toxing_gasworks) "Gg" = ( /obj/structure/table/steel, -/obj/item/device/measuring_tape, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/storage/excavation, +/obj/item/measuring_tape, +/obj/item/tool/wrench, +/obj/item/storage/excavation, /obj/item/stack/flag/yellow, -/obj/item/weapon/pickaxe, +/obj/item/pickaxe, /turf/simulated/floor/tiled, /area/groundbase/science/outpost) "Gh" = ( @@ -3775,8 +3775,8 @@ /area/groundbase/science/outpost/toxins_mixing) "Gq" = ( /obj/structure/table/standard, -/obj/item/weapon/folder/white, -/obj/item/weapon/pen/fountain, +/obj/item/folder/white, +/obj/item/pen/fountain, /obj/machinery/light{ dir = 8 }, @@ -4395,17 +4395,17 @@ /area/groundbase/science/outpost/atmos) "Lg" = ( /obj/structure/table/standard, -/obj/item/weapon/tool/screwdriver, -/obj/item/weapon/anobattery{ +/obj/item/tool/screwdriver, +/obj/item/anobattery{ pixel_x = 5; pixel_y = 2 }, -/obj/item/weapon/anobattery, -/obj/item/weapon/anobattery{ +/obj/item/anobattery, +/obj/item/anobattery{ pixel_x = -4; pixel_y = 3 }, -/obj/item/weapon/anobattery{ +/obj/item/anobattery{ pixel_x = -5; pixel_y = -3 }, @@ -4476,8 +4476,8 @@ /obj/item/clothing/suit/space/anomaly, /obj/item/clothing/head/helmet/space/anomaly, /obj/item/clothing/mask/breath, -/obj/item/weapon/storage/belt/archaeology, -/obj/item/weapon/melee/umbrella/random, +/obj/item/storage/belt/archaeology, +/obj/item/melee/umbrella/random, /obj/machinery/alarm{ dir = 1 }, @@ -4651,7 +4651,7 @@ /area/shuttle/axolotl) "NG" = ( /obj/structure/table/standard, -/obj/item/weapon/tank/phoron, +/obj/item/tank/phoron, /obj/machinery/requests_console/preset/research{ pixel_x = -30 }, @@ -4968,7 +4968,7 @@ /area/shuttle/axolotl) "Qi" = ( /obj/structure/bed/pod, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /obj/machinery/alarm/alarms_hidden{ dir = 8; pixel_x = 26 @@ -4977,11 +4977,11 @@ /area/shuttle/axolotl_q2) "Qm" = ( /obj/structure/table/standard, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/anodevice{ +/obj/item/tool/crowbar, +/obj/item/anodevice{ pixel_x = -2 }, -/obj/item/weapon/anodevice{ +/obj/item/anodevice{ pixel_x = 1 }, /obj/structure/window/reinforced{ @@ -5060,7 +5060,7 @@ /area/shuttle/axolotl) "QY" = ( /obj/structure/bed/pod, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /obj/machinery/light_switch{ dir = 4; pixel_x = 22 @@ -5201,7 +5201,7 @@ }, /obj/item/stack/cable_coil, /obj/item/stack/cable_coil, -/obj/item/weapon/tool/wirecutters, +/obj/item/tool/wirecutters, /turf/simulated/floor/tiled, /area/groundbase/science/outpost/toxins_lab) "Sb" = ( @@ -5221,11 +5221,11 @@ }, /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/structure/table/standard, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /obj/machinery/camera/network/research_outpost{ dir = 8 }, -/obj/item/device/analyzer, +/obj/item/analyzer, /turf/simulated/floor/tiled/white, /area/groundbase/science/outpost/toxins_mixing) "Sh" = ( @@ -5297,8 +5297,8 @@ /turf/simulated/floor, /area/groundbase/science/outpost/atmos) "ST" = ( -/obj/item/device/suit_cooling_unit, -/obj/item/weapon/tank/air, +/obj/item/suit_cooling_unit, +/obj/item/tank/air, /obj/structure/handrail, /obj/machinery/atmospherics/unary/vent_pump/on, /obj/structure/closet/walllocker_double/north{ @@ -5334,7 +5334,7 @@ dir = 4 }, /obj/structure/table/standard, -/obj/item/weapon/weldingtool, +/obj/item/weldingtool, /obj/item/clothing/glasses/welding, /turf/simulated/floor/tiled, /area/groundbase/science/outpost/toxins_lab) @@ -5452,8 +5452,8 @@ /obj/item/clothing/suit/space/anomaly, /obj/item/clothing/head/helmet/space/anomaly, /obj/item/clothing/mask/breath, -/obj/item/weapon/storage/belt/archaeology, -/obj/item/weapon/melee/umbrella/random, +/obj/item/storage/belt/archaeology, +/obj/item/melee/umbrella/random, /turf/simulated/floor/tiled, /area/groundbase/science/outpost) "UL" = ( @@ -5478,11 +5478,11 @@ /area/shuttle/axolotl) "Vf" = ( /obj/structure/table/steel, -/obj/item/device/measuring_tape, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/storage/excavation, +/obj/item/measuring_tape, +/obj/item/tool/wrench, +/obj/item/storage/excavation, /obj/item/stack/flag/yellow, -/obj/item/weapon/pickaxe, +/obj/item/pickaxe, /obj/machinery/light, /turf/simulated/floor/tiled, /area/groundbase/science/outpost) @@ -5922,11 +5922,11 @@ /area/groundbase/science/outpost/toxing_gasworks) "YW" = ( /obj/structure/table/standard, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/anodevice{ +/obj/item/tool/crowbar, +/obj/item/anodevice{ pixel_x = -2 }, -/obj/item/weapon/anodevice{ +/obj/item/anodevice{ pixel_x = 1 }, /obj/structure/window/reinforced{ diff --git a/maps/groundbase/westwilds/westwilds1.dmm b/maps/groundbase/westwilds/westwilds1.dmm index 98db54c3970..187eb7aa939 100644 --- a/maps/groundbase/westwilds/westwilds1.dmm +++ b/maps/groundbase/westwilds/westwilds1.dmm @@ -121,11 +121,11 @@ }, /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/structure/table/standard, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /obj/machinery/camera/network/research_outpost{ dir = 8 }, -/obj/item/device/analyzer, +/obj/item/analyzer, /turf/simulated/floor/tiled/white, /area/groundbase/science/outpost/toxins_mixing) "bs" = ( @@ -318,7 +318,7 @@ /turf/simulated/floor/tiled, /area/groundbase/science/outpost) "cK" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /obj/machinery/atmospherics/unary/vent_pump/on{ @@ -400,8 +400,8 @@ /turf/simulated/floor, /area/groundbase/engineering/solarshed) "df" = ( -/obj/item/device/suit_cooling_unit, -/obj/item/weapon/tank/air, +/obj/item/suit_cooling_unit, +/obj/item/tank/air, /obj/structure/handrail{ dir = 1 }, @@ -431,7 +431,7 @@ pixel_x = 7; pixel_y = 5 }, -/obj/item/weapon/reagent_containers/glass/bucket{ +/obj/item/reagent_containers/glass/bucket{ pixel_x = -3 }, /turf/simulated/floor/tiled/monotile, @@ -962,7 +962,7 @@ /area/groundbase/science/outpost/atmos) "hv" = ( /obj/structure/bed/pod, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /obj/machinery/alarm/alarms_hidden{ dir = 8; pixel_x = 26; @@ -1499,11 +1499,11 @@ /area/shuttle/axolotl_engineering) "mx" = ( /obj/structure/table/standard, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/anodevice{ +/obj/item/tool/crowbar, +/obj/item/anodevice{ pixel_x = -2 }, -/obj/item/weapon/anodevice{ +/obj/item/anodevice{ pixel_x = 1 }, /obj/structure/window/reinforced{ @@ -1650,8 +1650,8 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, -/obj/item/weapon/tool/screwdriver, -/obj/item/device/assembly_holder/timer_igniter, +/obj/item/tool/screwdriver, +/obj/item/assembly_holder/timer_igniter, /obj/machinery/camera/network/research_outpost{ dir = 4 }, @@ -1770,7 +1770,7 @@ dir = 4 }, /obj/structure/table/standard, -/obj/item/weapon/weldingtool, +/obj/item/weldingtool, /obj/item/clothing/glasses/welding, /turf/simulated/floor/tiled, /area/groundbase/science/outpost/toxins_lab) @@ -2055,7 +2055,7 @@ /area/groundbase/science/outpost/toxins_lab) "sf" = ( /obj/structure/bed/pod, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /obj/machinery/light_switch{ dir = 4; pixel_x = 22 @@ -2189,17 +2189,17 @@ /area/shuttle/axolotl) "sS" = ( /obj/structure/table/standard, -/obj/item/weapon/tool/screwdriver, -/obj/item/weapon/anobattery{ +/obj/item/tool/screwdriver, +/obj/item/anobattery{ pixel_x = 5; pixel_y = 2 }, -/obj/item/weapon/anobattery, -/obj/item/weapon/anobattery{ +/obj/item/anobattery, +/obj/item/anobattery{ pixel_x = -4; pixel_y = 3 }, -/obj/item/weapon/anobattery{ +/obj/item/anobattery{ pixel_x = -5; pixel_y = -3 }, @@ -2508,7 +2508,7 @@ /obj/machinery/vending/phoronresearch{ dir = 8; name = "Toximate 2556"; - products = list(/obj/item/device/transfer_valve = 3, /obj/item/device/assembly/timer = 6, /obj/item/device/assembly/signaler = 6, /obj/item/device/assembly/prox_sensor = 6, /obj/item/device/assembly/igniter = 12) + products = list(/obj/item/transfer_valve = 3, /obj/item/assembly/timer = 6, /obj/item/assembly/signaler = 6, /obj/item/assembly/prox_sensor = 6, /obj/item/assembly/igniter = 12) }, /turf/simulated/floor/tiled, /area/groundbase/science/outpost/toxins_lab) @@ -2629,18 +2629,18 @@ /obj/structure/railing/grey{ dir = 8 }, -/obj/item/weapon/tank/phoron/pressurized, -/obj/item/weapon/tank/phoron/pressurized, +/obj/item/tank/phoron/pressurized, +/obj/item/tank/phoron/pressurized, /obj/structure/closet/walllocker{ dir = 1; name = "Spare Fuel"; pixel_y = -32 }, -/obj/item/weapon/tool/crowbar/red, +/obj/item/tool/crowbar/red, /obj/item/stack/material/tritium{ amount = 25 }, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /obj/item/stack/material/tritium{ amount = 25 }, @@ -2950,7 +2950,7 @@ /area/shuttle/axolotl_engineering) "yZ" = ( /obj/structure/table/standard, -/obj/item/device/multitool, +/obj/item/multitool, /turf/simulated/floor/tiled, /area/groundbase/science/outpost/anomaly_lab) "za" = ( @@ -2967,7 +2967,7 @@ /area/shuttle/axolotl_engineering) "zc" = ( /obj/structure/bed/pod, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /obj/machinery/light_switch{ dir = 4; pixel_x = 22 @@ -3082,9 +3082,9 @@ "zX" = ( /obj/structure/table/standard, /obj/machinery/light, -/obj/item/weapon/storage/box/beakers, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/storage/box/beakers, +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/dropper, /turf/simulated/floor/tiled/dark, /area/groundbase/science/outpost/anomaly_lab) "Ah" = ( @@ -3169,8 +3169,8 @@ /area/groundbase/engineering/solarshed) "AJ" = ( /obj/structure/table/rack, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, /turf/simulated/floor/tiled, /area/groundbase/science/outpost) "AK" = ( @@ -3228,7 +3228,7 @@ /area/groundbase/science/outpost/atmos) "Bh" = ( /obj/structure/table/standard, -/obj/item/weapon/tank/phoron, +/obj/item/tank/phoron, /obj/machinery/requests_console/preset/research{ pixel_x = -30 }, @@ -3350,11 +3350,11 @@ /area/shuttle/axolotl) "BQ" = ( /obj/structure/table/steel, -/obj/item/device/measuring_tape, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/storage/excavation, +/obj/item/measuring_tape, +/obj/item/tool/wrench, +/obj/item/storage/excavation, /obj/item/stack/flag/yellow, -/obj/item/weapon/pickaxe, +/obj/item/pickaxe, /obj/machinery/light, /turf/simulated/floor/tiled, /area/groundbase/science/outpost) @@ -3468,11 +3468,11 @@ /area/shuttle/axolotl_engineering) "Dj" = ( /obj/structure/table/steel, -/obj/item/device/measuring_tape, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/storage/excavation, +/obj/item/measuring_tape, +/obj/item/tool/wrench, +/obj/item/storage/excavation, /obj/item/stack/flag/yellow, -/obj/item/weapon/pickaxe, +/obj/item/pickaxe, /turf/simulated/floor/tiled, /area/groundbase/science/outpost) "Dk" = ( @@ -4049,8 +4049,8 @@ /area/groundbase/science/outpost/toxing_gasworks) "HN" = ( /obj/structure/table/standard, -/obj/item/weapon/folder/white, -/obj/item/weapon/pen/fountain, +/obj/item/folder/white, +/obj/item/pen/fountain, /obj/machinery/light{ dir = 8 }, @@ -4270,7 +4270,7 @@ pixel_x = -26; pixel_y = -8 }, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled/white, /area/groundbase/science/outpost/toxins_mixing) "IZ" = ( @@ -4281,8 +4281,8 @@ /turf/simulated/floor/tiled, /area/groundbase/science/outpost/toxins_lab) "Jc" = ( -/obj/item/device/suit_cooling_unit, -/obj/item/weapon/tank/air, +/obj/item/suit_cooling_unit, +/obj/item/tank/air, /obj/structure/handrail, /obj/machinery/atmospherics/unary/vent_pump/on, /obj/structure/closet/walllocker_double/north{ @@ -4572,8 +4572,8 @@ /area/submap/groundbase/wilderness/west) "KK" = ( /obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/storage/box/donkpockets, -/obj/item/weapon/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, /obj/random/snack, /obj/random/snack, /obj/random/snack, @@ -4752,8 +4752,8 @@ /turf/simulated/floor, /area/groundbase/engineering/solarshed) "Me" = ( -/obj/item/device/suit_cooling_unit, -/obj/item/weapon/tank/air, +/obj/item/suit_cooling_unit, +/obj/item/tank/air, /obj/structure/railing/grey{ dir = 8 }, @@ -4832,8 +4832,8 @@ /obj/item/clothing/suit/space/anomaly, /obj/item/clothing/head/helmet/space/anomaly, /obj/item/clothing/mask/breath, -/obj/item/weapon/storage/belt/archaeology, -/obj/item/weapon/melee/umbrella/random, +/obj/item/storage/belt/archaeology, +/obj/item/melee/umbrella/random, /turf/simulated/floor/tiled, /area/groundbase/science/outpost) "MY" = ( @@ -5381,7 +5381,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24; req_access = list() @@ -5399,8 +5399,8 @@ /obj/item/clothing/suit/space/anomaly, /obj/item/clothing/head/helmet/space/anomaly, /obj/item/clothing/mask/breath, -/obj/item/weapon/storage/belt/archaeology, -/obj/item/weapon/melee/umbrella/random, +/obj/item/storage/belt/archaeology, +/obj/item/melee/umbrella/random, /obj/machinery/alarm{ dir = 1 }, @@ -5433,7 +5433,7 @@ /area/shuttle/axolotl_engineering) "RW" = ( /obj/structure/bed/pod, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /obj/machinery/alarm/alarms_hidden{ dir = 8; pixel_x = 26; @@ -5537,7 +5537,7 @@ }, /obj/item/stack/cable_coil, /obj/item/stack/cable_coil, -/obj/item/weapon/tool/wirecutters, +/obj/item/tool/wirecutters, /turf/simulated/floor/tiled, /area/groundbase/science/outpost/toxins_lab) "SW" = ( @@ -5620,7 +5620,7 @@ /turf/simulated/wall, /area/submap/groundbase/wilderness/west) "TC" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24; req_access = list() @@ -5773,7 +5773,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/black{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /obj/machinery/pipedispenser, @@ -5810,12 +5810,12 @@ /obj/effect/floor_decal/corner/purple{ dir = 5 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24; req_access = list() }, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /turf/simulated/floor/tiled/white, /area/groundbase/science/outpost/toxins_mixing) "VA" = ( @@ -5858,8 +5858,8 @@ /turf/simulated/floor/tiled/white, /area/groundbase/science/outpost/toxing_gasworks) "VR" = ( -/obj/item/device/suit_cooling_unit, -/obj/item/weapon/tank/air, +/obj/item/suit_cooling_unit, +/obj/item/tank/air, /obj/structure/railing/grey{ dir = 8 }, @@ -6076,11 +6076,11 @@ /area/groundbase/science/outpost/toxins_hallway) "XD" = ( /obj/structure/table/standard, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/anodevice{ +/obj/item/tool/crowbar, +/obj/item/anodevice{ pixel_x = -2 }, -/obj/item/weapon/anodevice{ +/obj/item/anodevice{ pixel_x = 1 }, /obj/structure/window/reinforced{ diff --git a/maps/groundbase/westwilds/westwilds2.dmm b/maps/groundbase/westwilds/westwilds2.dmm index 6e706981172..62094d097fc 100644 --- a/maps/groundbase/westwilds/westwilds2.dmm +++ b/maps/groundbase/westwilds/westwilds2.dmm @@ -5,12 +5,12 @@ /obj/effect/floor_decal/corner/purple{ dir = 5 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24; req_access = list() }, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /turf/simulated/floor/tiled/white, /area/groundbase/science/outpost/toxins_mixing) "ab" = ( @@ -309,7 +309,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/black{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /obj/machinery/pipedispenser, @@ -817,7 +817,7 @@ /turf/simulated/floor/tiled, /area/groundbase/science/outpost/toxins_lab) "gU" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24; req_access = list() @@ -1127,8 +1127,8 @@ /area/groundbase/science/outpost) "jj" = ( /obj/structure/table/rack, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, /turf/simulated/floor/tiled, /area/groundbase/science/outpost) "jn" = ( @@ -2052,8 +2052,8 @@ /turf/simulated/floor/tiled, /area/groundbase/science/outpost) "qm" = ( -/obj/item/device/suit_cooling_unit, -/obj/item/weapon/tank/air, +/obj/item/suit_cooling_unit, +/obj/item/tank/air, /obj/structure/railing/grey{ dir = 8 }, @@ -2117,7 +2117,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24; req_access = list() @@ -2327,7 +2327,7 @@ pixel_x = -26; pixel_y = -8 }, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled/white, /area/groundbase/science/outpost/toxins_mixing) "sw" = ( @@ -2422,8 +2422,8 @@ /turf/simulated/floor/tiled, /area/groundbase/science/outpost/toxins_lab) "tg" = ( -/obj/item/device/suit_cooling_unit, -/obj/item/weapon/tank/air, +/obj/item/suit_cooling_unit, +/obj/item/tank/air, /obj/structure/handrail{ dir = 1 }, @@ -2667,7 +2667,7 @@ pixel_x = 5; pixel_y = 5 }, -/obj/item/weapon/reagent_containers/glass/bucket{ +/obj/item/reagent_containers/glass/bucket{ pixel_x = -6 }, /turf/simulated/floor/tiled/monotile, @@ -2699,7 +2699,7 @@ /area/groundbase/science/outpost/anomaly_lab) "uI" = ( /obj/structure/table/standard, -/obj/item/device/multitool, +/obj/item/multitool, /turf/simulated/floor/tiled, /area/groundbase/science/outpost/anomaly_lab) "uL" = ( @@ -2976,8 +2976,8 @@ /turf/simulated/floor/plating, /area/shuttle/axolotl_engineering) "wP" = ( -/obj/item/device/suit_cooling_unit, -/obj/item/weapon/tank/air, +/obj/item/suit_cooling_unit, +/obj/item/tank/air, /obj/structure/handrail, /obj/machinery/atmospherics/unary/vent_pump/on, /obj/structure/closet/walllocker_double/north{ @@ -3031,16 +3031,16 @@ "xj" = ( /obj/structure/table/standard, /obj/machinery/light, -/obj/item/weapon/storage/box/beakers, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/storage/box/beakers, +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/dropper, /turf/simulated/floor/tiled/dark, /area/groundbase/science/outpost/anomaly_lab) "xn" = ( /obj/machinery/vending/phoronresearch{ dir = 8; name = "Toximate 2556"; - products = list(/obj/item/device/transfer_valve = 3, /obj/item/device/assembly/timer = 6, /obj/item/device/assembly/signaler = 6, /obj/item/device/assembly/prox_sensor = 6, /obj/item/device/assembly/igniter = 12) + products = list(/obj/item/transfer_valve = 3, /obj/item/assembly/timer = 6, /obj/item/assembly/signaler = 6, /obj/item/assembly/prox_sensor = 6, /obj/item/assembly/igniter = 12) }, /turf/simulated/floor/tiled, /area/groundbase/science/outpost/toxins_lab) @@ -3195,7 +3195,7 @@ /area/groundbase/science/outpost/substation) "yu" = ( /obj/structure/bed/pod, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /obj/machinery/light_switch{ dir = 4; pixel_x = 22 @@ -3709,8 +3709,8 @@ /area/groundbase/science/outpost/toxins_mixing) "BU" = ( /obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/storage/box/donkpockets, -/obj/item/weapon/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, /obj/random/snack, /obj/random/snack, /obj/random/snack, @@ -3762,8 +3762,8 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, -/obj/item/weapon/tool/screwdriver, -/obj/item/device/assembly_holder/timer_igniter, +/obj/item/tool/screwdriver, +/obj/item/assembly_holder/timer_igniter, /obj/machinery/camera/network/research_outpost{ dir = 4 }, @@ -3858,7 +3858,7 @@ }, /area/submap/groundbase/wilderness/west) "Dn" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /obj/machinery/atmospherics/unary/vent_pump/on{ @@ -4113,7 +4113,7 @@ /area/groundbase/science/outpost/toxing_gasworks) "Fo" = ( /obj/structure/bed/pod, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /obj/machinery/alarm/alarms_hidden{ dir = 8; pixel_x = 26; @@ -4234,11 +4234,11 @@ /area/groundbase/science/outpost/toxing_gasworks) "Gg" = ( /obj/structure/table/steel, -/obj/item/device/measuring_tape, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/storage/excavation, +/obj/item/measuring_tape, +/obj/item/tool/wrench, +/obj/item/storage/excavation, /obj/item/stack/flag/yellow, -/obj/item/weapon/pickaxe, +/obj/item/pickaxe, /turf/simulated/floor/tiled, /area/groundbase/science/outpost) "Gl" = ( @@ -4261,8 +4261,8 @@ /area/groundbase/science/outpost/toxins_mixing) "Gq" = ( /obj/structure/table/standard, -/obj/item/weapon/folder/white, -/obj/item/weapon/pen/fountain, +/obj/item/folder/white, +/obj/item/pen/fountain, /obj/machinery/light{ dir = 8 }, @@ -4799,7 +4799,7 @@ /area/groundbase/science/outpost/anomaly_lab) "KP" = ( /obj/structure/bed/pod, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /obj/machinery/alarm/alarms_hidden{ dir = 8; pixel_x = 26; @@ -4828,17 +4828,17 @@ /area/groundbase/science/outpost/atmos) "Lg" = ( /obj/structure/table/standard, -/obj/item/weapon/tool/screwdriver, -/obj/item/weapon/anobattery{ +/obj/item/tool/screwdriver, +/obj/item/anobattery{ pixel_x = 5; pixel_y = 2 }, -/obj/item/weapon/anobattery, -/obj/item/weapon/anobattery{ +/obj/item/anobattery, +/obj/item/anobattery{ pixel_x = -4; pixel_y = 3 }, -/obj/item/weapon/anobattery{ +/obj/item/anobattery{ pixel_x = -5; pixel_y = -3 }, @@ -4926,8 +4926,8 @@ /obj/item/clothing/suit/space/anomaly, /obj/item/clothing/head/helmet/space/anomaly, /obj/item/clothing/mask/breath, -/obj/item/weapon/storage/belt/archaeology, -/obj/item/weapon/melee/umbrella/random, +/obj/item/storage/belt/archaeology, +/obj/item/melee/umbrella/random, /obj/machinery/alarm{ dir = 1 }, @@ -5083,7 +5083,7 @@ /area/submap/groundbase/wilderness/west) "NG" = ( /obj/structure/table/standard, -/obj/item/weapon/tank/phoron, +/obj/item/tank/phoron, /obj/machinery/requests_console/preset/research{ pixel_x = -30 }, @@ -5363,7 +5363,7 @@ /area/groundbase/science/outpost/toxins_mixing) "PX" = ( /obj/structure/bed/pod, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /obj/machinery/light_switch{ dir = 4; pixel_x = 22 @@ -5406,11 +5406,11 @@ /area/shuttle/axolotl_galley) "Qm" = ( /obj/structure/table/standard, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/anodevice{ +/obj/item/tool/crowbar, +/obj/item/anodevice{ pixel_x = -2 }, -/obj/item/weapon/anodevice{ +/obj/item/anodevice{ pixel_x = 1 }, /obj/structure/window/reinforced{ @@ -5559,7 +5559,7 @@ }, /obj/item/stack/cable_coil, /obj/item/stack/cable_coil, -/obj/item/weapon/tool/wirecutters, +/obj/item/tool/wirecutters, /turf/simulated/floor/tiled, /area/groundbase/science/outpost/toxins_lab) "Sb" = ( @@ -5579,11 +5579,11 @@ }, /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/structure/table/standard, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /obj/machinery/camera/network/research_outpost{ dir = 8 }, -/obj/item/device/analyzer, +/obj/item/analyzer, /turf/simulated/floor/tiled/white, /area/groundbase/science/outpost/toxins_mixing) "Sh" = ( @@ -5704,7 +5704,7 @@ dir = 4 }, /obj/structure/table/standard, -/obj/item/weapon/weldingtool, +/obj/item/weldingtool, /obj/item/clothing/glasses/welding, /turf/simulated/floor/tiled, /area/groundbase/science/outpost/toxins_lab) @@ -5772,8 +5772,8 @@ /obj/item/clothing/suit/space/anomaly, /obj/item/clothing/head/helmet/space/anomaly, /obj/item/clothing/mask/breath, -/obj/item/weapon/storage/belt/archaeology, -/obj/item/weapon/melee/umbrella/random, +/obj/item/storage/belt/archaeology, +/obj/item/melee/umbrella/random, /turf/simulated/floor/tiled, /area/groundbase/science/outpost) "UL" = ( @@ -5796,11 +5796,11 @@ /area/shuttle/axolotl) "Vf" = ( /obj/structure/table/steel, -/obj/item/device/measuring_tape, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/storage/excavation, +/obj/item/measuring_tape, +/obj/item/tool/wrench, +/obj/item/storage/excavation, /obj/item/stack/flag/yellow, -/obj/item/weapon/pickaxe, +/obj/item/pickaxe, /obj/machinery/light, /turf/simulated/floor/tiled, /area/groundbase/science/outpost) @@ -5852,21 +5852,21 @@ /obj/structure/railing/grey{ dir = 8 }, -/obj/item/weapon/tank/phoron/pressurized, -/obj/item/weapon/tank/phoron/pressurized, +/obj/item/tank/phoron/pressurized, +/obj/item/tank/phoron/pressurized, /obj/structure/closet/walllocker{ dir = 1; name = "Spare Fuel"; pixel_y = -32 }, -/obj/item/weapon/tool/crowbar/red, +/obj/item/tool/crowbar/red, /obj/item/stack/material/tritium{ amount = 25 }, /obj/structure/cable{ icon_state = "1-8" }, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /obj/item/stack/material/tritium{ amount = 25 }, @@ -6231,11 +6231,11 @@ /area/groundbase/science/outpost/toxing_gasworks) "YW" = ( /obj/structure/table/standard, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/anodevice{ +/obj/item/tool/crowbar, +/obj/item/anodevice{ pixel_x = -2 }, -/obj/item/weapon/anodevice{ +/obj/item/anodevice{ pixel_x = 1 }, /obj/structure/window/reinforced{ @@ -6256,8 +6256,8 @@ /turf/simulated/floor/tiled/techfloor, /area/shuttle/axolotl_cockpit) "Zb" = ( -/obj/item/device/suit_cooling_unit, -/obj/item/weapon/tank/air, +/obj/item/suit_cooling_unit, +/obj/item/tank/air, /obj/structure/railing/grey{ dir = 8 }, diff --git a/maps/northern_star/job/outfits.dm b/maps/northern_star/job/outfits.dm index 7d07d0d1f3f..0aed9698933 100644 --- a/maps/northern_star/job/outfits.dm +++ b/maps/northern_star/job/outfits.dm @@ -1,6 +1,6 @@ //Job Outfits /decl/hierarchy/outfit/job/assistant/resident - name = OUTFIT_JOB_NAME("Resident") - id_pda_assignment = "Resident" - uniform = /obj/item/clothing/under/color/white \ No newline at end of file + name = OUTFIT_JOB_NAME(JOB_ALT_RESIDENT) + id_pda_assignment = JOB_ALT_RESIDENT + uniform = /obj/item/clothing/under/color/white diff --git a/maps/northern_star/northern_star_jobs.dm b/maps/northern_star/northern_star_jobs.dm index 57fba6a0340..e3852a90b6c 100644 --- a/maps/northern_star/northern_star_jobs.dm +++ b/maps/northern_star/northern_star_jobs.dm @@ -1,9 +1,9 @@ // Overrides the alt titles. /datum/job/assistant alt_titles = list( - "Technical Assistant", - "Medical Intern", - "Research Assistant", - "Visitor" = /decl/hierarchy/outfit/job/assistant/visitor, - "Resident" = /decl/hierarchy/outfit/job/assistant/resident - ) \ No newline at end of file + JOB_ALT_TECHNICAL_ASSISTANT, + JOB_ALT_MEDICAL_INTERN, + JOB_ALT_RESEARCH_ASSISTANT, + JOB_ALT_VISITOR = /decl/hierarchy/outfit/job/assistant/visitor, + JOB_ALT_RESIDENT = /decl/hierarchy/outfit/job/assistant/resident + ) diff --git a/maps/northern_star/polaris-1.dmm b/maps/northern_star/polaris-1.dmm index 20014442707..d97edbdb9bb 100644 --- a/maps/northern_star/polaris-1.dmm +++ b/maps/northern_star/polaris-1.dmm @@ -18,14 +18,14 @@ "aar" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/airless,/area/mine/unexplored/upper_level) "aas" = (/obj/effect/decal/cleanable/blood/oil/streak{amount = 0},/turf/simulated/floor/airless,/area/mine/unexplored/upper_level) "aat" = (/obj/structure/table/rack,/turf/simulated/floor/airless,/area/mine/unexplored/upper_level) -"aau" = (/obj/structure/table/rack{dir = 1},/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/device/flashlight,/turf/simulated/floor/airless,/area/mine/unexplored/upper_level) +"aau" = (/obj/structure/table/rack{dir = 1},/obj/item/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/flashlight,/turf/simulated/floor/airless,/area/mine/unexplored/upper_level) "aav" = (/obj/effect/decal/cleanable/generic,/turf/simulated/floor/airless,/area/mine/unexplored/upper_level) "aaw" = (/turf/simulated/mineral/ignore_mapgen,/area/mine/unexplored/upper_level) "aax" = (/turf/simulated/wall,/area/maintenance/locker) "aay" = (/obj/structure/grille,/obj/structure/lattice,/turf/space,/area/space) "aaz" = (/obj/structure/grille/broken,/obj/structure/lattice,/turf/space,/area/space) "aaA" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/airless,/area/mine/unexplored/upper_level) -"aaB" = (/obj/item/weapon/pickaxe/drill,/turf/simulated/floor,/area/maintenance/locker) +"aaB" = (/obj/item/pickaxe/drill,/turf/simulated/floor,/area/maintenance/locker) "aaC" = (/obj/structure/closet/emcloset,/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor/airless,/area/mine/unexplored/upper_level) "aaD" = (/obj/structure/door_assembly/door_assembly_mai,/turf/simulated/floor/airless,/area/mine/unexplored/upper_level) "aaE" = (/obj/random/contraband,/obj/random/maintenance/security,/obj/random/maintenance/security,/obj/random/contraband,/turf/simulated/floor,/area/maintenance/locker) @@ -64,7 +64,7 @@ "abl" = (/obj/structure/closet/crate,/obj/random/action_figure,/obj/random/action_figure,/obj/random/action_figure,/obj/random/action_figure,/obj/random/maintenance/clean,/obj/random/toy,/turf/simulated/floor,/area/maintenance/library) "abm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) "abn" = (/obj/structure/cable/yellow,/obj/machinery/power/solar_control{id = "auxsolareast"; name = "Fore Starboard Solar Control"; track = 0},/turf/simulated/floor,/area/maintenance/auxsolarstarboard) -"abo" = (/obj/item/weapon/stool,/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/item/stack/cable_coil/yellow,/obj/item/stack/cable_coil/yellow,/turf/simulated/floor,/area/maintenance/auxsolarstarboard) +"abo" = (/obj/item/stool,/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/item/stack/cable_coil/yellow,/obj/item/stack/cable_coil/yellow,/turf/simulated/floor,/area/maintenance/auxsolarstarboard) "abp" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/camera/network/engineering{c_tag = "ENG - Solar Fore Starboard"; dir = 1},/turf/simulated/floor,/area/maintenance/auxsolarstarboard) "abq" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/maintenance/library) "abr" = (/turf/simulated/floor,/area/maintenance/library) @@ -107,8 +107,8 @@ "acc" = (/obj/structure/lattice,/obj/structure/grille,/turf/space,/area/space) "acd" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor,/area/maintenance/library) "ace" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/library) -"acf" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/lights/mixed,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/library) -"acg" = (/obj/structure/table/rack{dir = 1},/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/device/flashlight,/turf/simulated/floor/plating,/area/maintenance/library) +"acf" = (/obj/structure/table/rack,/obj/item/storage/box/lights/mixed,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/library) +"acg" = (/obj/structure/table/rack{dir = 1},/obj/item/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/flashlight,/turf/simulated/floor/plating,/area/maintenance/library) "ach" = (/obj/effect/decal/cleanable/generic,/turf/simulated/floor/plating,/area/maintenance/library) "aci" = (/obj/machinery/floodlight,/turf/simulated/floor,/area/maintenance/library) "acj" = (/obj/machinery/cryopod{dir = 4},/turf/simulated/shuttle/floor,/area/shuttle/cryo/station) @@ -137,13 +137,13 @@ "acG" = (/turf/simulated/floor/wood,/area/library_conference_room) "acH" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/library_conference_room) "acI" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/wood,/area/library_conference_room) -"acJ" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/packageWrap,/turf/simulated/floor/wood,/area/library_conference_room) +"acJ" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/structure/table/woodentable,/obj/item/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/packageWrap,/turf/simulated/floor/wood,/area/library_conference_room) "acK" = (/turf/simulated/wall,/area/library) "acL" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor,/area/maintenance/library) "acM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor,/area/maintenance/library) "acN" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/airless,/area/shuttle/cryo/station) -"acO" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/light,/obj/structure/closet/emcloset,/obj/item/weapon/storage/toolbox/emergency,/turf/simulated/shuttle/floor,/area/shuttle/cryo/station) -"acP" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/closet/emcloset,/obj/machinery/light,/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/storage/toolbox/emergency,/turf/simulated/shuttle/floor,/area/shuttle/cryo/station) +"acO" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/light,/obj/structure/closet/emcloset,/obj/item/storage/toolbox/emergency,/turf/simulated/shuttle/floor,/area/shuttle/cryo/station) +"acP" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/closet/emcloset,/obj/machinery/light,/obj/item/storage/toolbox/emergency,/obj/item/storage/toolbox/emergency,/turf/simulated/shuttle/floor,/area/shuttle/cryo/station) "acQ" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless,/area/shuttle/cryo/station) "acR" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor,/area/maintenance/locker) "acS" = (/turf/simulated/wall,/area/chapel/chapel_morgue) @@ -168,15 +168,15 @@ "adl" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/newscaster{pixel_x = -30},/turf/simulated/floor/wood,/area/library_conference_room) "adm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/library_conference_room) "adn" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/library_conference_room) -"ado" = (/obj/structure/table/woodentable,/obj/item/weapon/folder/yellow,/obj/item/weapon/pen,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/library_conference_room) -"adp" = (/obj/structure/table/woodentable,/obj/item/weapon/tape_roll,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/library_conference_room) +"ado" = (/obj/structure/table/woodentable,/obj/item/folder/yellow,/obj/item/pen,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/library_conference_room) +"adp" = (/obj/structure/table/woodentable,/obj/item/tape_roll,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/library_conference_room) "adq" = (/obj/structure/table/woodentable,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/library_conference_room) "adr" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/wood,/area/library_conference_room) "ads" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/library_conference_room) -"adt" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 26},/turf/simulated/floor/wood,/area/library_conference_room) +"adt" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 26},/turf/simulated/floor/wood,/area/library_conference_room) "adu" = (/obj/machinery/door/airlock/glass{frequency = null; id_tag = "cryostorage_shuttle_berth_hatch"; name = "Cryogenic Storage"},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/civilian_hallway_fore) "adv" = (/obj/machinery/door/airlock/glass{name = "Cryogenic Storage"},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/civilian_hallway_fore) -"adw" = (/obj/item/weapon/storage/toolbox/syndicate,/obj/structure/closet,/obj/random/contraband,/obj/random/maintenance/clean,/obj/random/maintenance/cargo,/turf/simulated/floor,/area/maintenance/locker) +"adw" = (/obj/item/storage/toolbox/syndicate,/obj/structure/closet,/obj/random/contraband,/obj/random/maintenance/clean,/obj/random/maintenance/cargo,/turf/simulated/floor,/area/maintenance/locker) "adx" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor,/area/maintenance/locker) "ady" = (/obj/structure/morgue,/turf/simulated/floor/tiled/dark,/area/chapel/chapel_morgue) "adz" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/library) @@ -184,9 +184,9 @@ "adB" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/wood,/area/library_conference_room) "adC" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/wood,/area/library_conference_room) "adD" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/wood,/area/library_conference_room) -"adE" = (/obj/structure/table/woodentable,/obj/item/weapon/dice/d20,/obj/item/weapon/dice,/turf/simulated/floor/wood,/area/library_conference_room) -"adF" = (/obj/structure/table/woodentable,/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/wood,/area/library_conference_room) -"adG" = (/obj/structure/table/woodentable,/obj/item/weapon/deck/cards,/turf/simulated/floor/wood,/area/library_conference_room) +"adE" = (/obj/structure/table/woodentable,/obj/item/dice/d20,/obj/item/dice,/turf/simulated/floor/wood,/area/library_conference_room) +"adF" = (/obj/structure/table/woodentable,/obj/item/book/codex/lore/vir,/turf/simulated/floor/wood,/area/library_conference_room) +"adG" = (/obj/structure/table/woodentable,/obj/item/deck/cards,/turf/simulated/floor/wood,/area/library_conference_room) "adH" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/library_conference_room) "adI" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/wood,/area/library_conference_room) "adJ" = (/turf/simulated/wall,/area/hallway/secondary/civilian_hallway_fore) @@ -225,14 +225,14 @@ "aeq" = (/obj/machinery/atmospherics/valve{dir = 4},/obj/effect/decal/cleanable/spiderling_remains,/turf/simulated/floor,/area/maintenance/library) "aer" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/turf/simulated/floor/plating,/area/maintenance/library) "aes" = (/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/maintenance/library) -"aet" = (/obj/structure/closet,/obj/item/device/flashlight,/obj/effect/decal/cleanable/cobweb2,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/library) +"aet" = (/obj/structure/closet,/obj/item/flashlight,/obj/effect/decal/cleanable/cobweb2,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/library) "aeu" = (/obj/structure/sign/directions/engineering{dir = 2; pixel_y = 32; pixel_z = -8},/obj/structure/sign/directions/security{dir = 2; pixel_y = 32},/obj/structure/sign/directions/cargo{dir = 2; pixel_y = 32; pixel_z = 8},/obj/structure/extinguisher_cabinet{pixel_x = -27; pixel_y = 1},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/civilian_hallway_fore) "aev" = (/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_fore) "aew" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_fore) "aex" = (/obj/structure/sign/directions/science{dir = 2; pixel_y = 32; pixel_z = -8},/obj/structure/sign/directions/medical{dir = 2; pixel_y = 32},/obj/structure/sign/directions/evac{pixel_y = 32; pixel_z = 8},/obj/machinery/camera/network/northern_star{c_tag = "Hall - Civilian Primary Fore 1"; dir = 9},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/civilian_hallway_fore) "aey" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/maintenance/locker) "aez" = (/obj/item/stack/material/glass/reinforced,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/maintenance/locker) -"aeA" = (/obj/item/weapon/material/shard{icon_state = "medium"},/obj/item/stack/rods,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/maintenance/locker) +"aeA" = (/obj/item/material/shard{icon_state = "medium"},/obj/item/stack/rods,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/maintenance/locker) "aeB" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/maintenance/locker) "aeC" = (/obj/structure/flora/pottedplant{icon_state = "plant-06"; pixel_y = 8},/obj/structure/table/woodentable,/turf/simulated/floor/lino,/area/chapel/office) "aeD" = (/obj/machinery/newscaster{pixel_y = 32},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for shutters."; id = "chapel"; name = "Chapel Office Shutters"; pixel_x = -24; pixel_y = 26},/turf/simulated/floor/lino,/area/chapel/office) @@ -246,7 +246,7 @@ "aeL" = (/obj/structure/shuttle/window,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/escape_pod1/station) "aeM" = (/turf/simulated/shuttle/wall,/area/shuttle/escape_pod2/station) "aeN" = (/obj/structure/shuttle/window,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/escape_pod2/station) -"aeO" = (/obj/structure/table/rack,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/clothing/glasses/sunglasses,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/library) +"aeO" = (/obj/structure/table/rack,/obj/item/flashlight,/obj/item/flashlight,/obj/item/clothing/glasses/sunglasses,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/library) "aeP" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Library Meeting Room"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/wood,/area/library_conference_room) "aeQ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/library_conference_room) "aeR" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/library_conference_room) @@ -268,7 +268,7 @@ "afh" = (/obj/structure/bed/chair,/obj/effect/landmark/start{name = "Chaplain"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/lino,/area/chapel/office) "afi" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/lino,/area/chapel/office) "afj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/lino,/area/chapel/office) -"afk" = (/obj/structure/table/woodentable,/obj/item/weapon/nullrod,/obj/item/weapon/reagent_containers/food/drinks/bottle/holywater,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/lino,/area/chapel/office) +"afk" = (/obj/structure/table/woodentable,/obj/item/nullrod,/obj/item/reagent_containers/food/drinks/bottle/holywater,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/lino,/area/chapel/office) "afl" = (/obj/structure/table/rack,/obj/item/clothing/glasses/sunglasses,/obj/item/clothing/suit/storage/hazardvest,/turf/simulated/floor/plating,/area/maintenance/locker) "afm" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/maintenance/locker) "afn" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark,/area/chapel/chapel_morgue) @@ -284,7 +284,7 @@ "afx" = (/obj/structure/bookcase{name = "bookcase (Adult)"},/turf/simulated/floor/wood,/area/library) "afy" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/wood,/area/library) "afz" = (/obj/structure/bed/chair/comfy/black{dir = 4},/turf/simulated/floor/carpet,/area/library) -"afA" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/obj/machinery/camera/network/civilian{c_tag = "CIV - Library Fore"; dir = 2},/turf/simulated/floor/carpet,/area/library) +"afA" = (/obj/structure/table/woodentable,/obj/item/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/obj/machinery/camera/network/civilian{c_tag = "CIV - Library Fore"; dir = 2},/turf/simulated/floor/carpet,/area/library) "afB" = (/obj/structure/bed/chair/comfy/black{dir = 8},/turf/simulated/floor/carpet,/area/library) "afC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/library) "afD" = (/obj/structure/bookcase{name = "bookcase (Non-Fiction)"},/turf/simulated/floor/wood,/area/library) @@ -296,12 +296,12 @@ "afJ" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_fore) "afK" = (/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/civilian_hallway_fore) "afL" = (/turf/simulated/wall,/area/chapel/main) -"afM" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp{pixel_y = 10},/obj/machinery/camera/network/civilian{c_tag = "CIV - Chapel Office"; dir = 4},/turf/simulated/floor/lino,/area/chapel/office) -"afN" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen/blue{pixel_x = 5; pixel_y = 5},/turf/simulated/floor/lino,/area/chapel/office) -"afO" = (/obj/structure/table/woodentable,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/weapon/storage/fancy/markers,/turf/simulated/floor/lino,/area/chapel/office) +"afM" = (/obj/structure/table/woodentable,/obj/item/flashlight/lamp{pixel_y = 10},/obj/machinery/camera/network/civilian{c_tag = "CIV - Chapel Office"; dir = 4},/turf/simulated/floor/lino,/area/chapel/office) +"afN" = (/obj/structure/table/woodentable,/obj/item/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/pen/blue{pixel_x = 5; pixel_y = 5},/turf/simulated/floor/lino,/area/chapel/office) +"afO" = (/obj/structure/table/woodentable,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/storage/fancy/markers,/turf/simulated/floor/lino,/area/chapel/office) "afP" = (/turf/simulated/floor/lino,/area/chapel/office) "afQ" = (/obj/structure/closet/wardrobe/chaplain_black,/obj/machinery/light{dir = 4},/turf/simulated/floor/lino,/area/chapel/office) -"afR" = (/obj/machinery/light/small{dir = 8},/obj/item/weapon/storage/bible,/obj/structure/table/rack,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/clean,/turf/simulated/floor,/area/maintenance/locker) +"afR" = (/obj/machinery/light/small{dir = 8},/obj/item/storage/bible,/obj/structure/table/rack,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/clean,/turf/simulated/floor,/area/maintenance/locker) "afS" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/maintenance/locker) "afT" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/turf/simulated/floor/tiled/dark,/area/chapel/chapel_morgue) "afU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/dark,/area/chapel/chapel_morgue) @@ -326,15 +326,15 @@ "agn" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_fore) "ago" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_fore) "agp" = (/obj/structure/disposalpipe/segment,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_fore) -"agq" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/obj/machinery/light/small{dir = 1},/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; frequency = 1480; name = "Confessional Intercom"; pixel_x = 0; pixel_y = 27},/turf/simulated/floor/tiled/dark,/area/chapel/main) +"agq" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/obj/machinery/light/small{dir = 1},/obj/item/radio/intercom{broadcasting = 1; dir = 1; frequency = 1480; name = "Confessional Intercom"; pixel_x = 0; pixel_y = 27},/turf/simulated/floor/tiled/dark,/area/chapel/main) "agr" = (/obj/structure/grille,/obj/structure/window/reinforced/tinted{dir = 1},/obj/structure/window/reinforced/tinted,/obj/structure/window/reinforced/tinted{dir = 4; icon_state = "twindow"},/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"},/turf/simulated/floor/plating,/area/chapel/main) -"ags" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/light/small{dir = 1},/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; frequency = 1480; name = "Confessional Intercom"; pixel_x = 0; pixel_y = 27},/turf/simulated/floor/tiled/dark,/area/chapel/main) +"ags" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/light/small{dir = 1},/obj/item/radio/intercom{broadcasting = 1; dir = 1; frequency = 1480; name = "Confessional Intercom"; pixel_x = 0; pixel_y = 27},/turf/simulated/floor/tiled/dark,/area/chapel/main) "agt" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor/lino,/area/chapel/office) "agu" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/lino,/area/chapel/office) "agv" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/lino,/area/chapel/office) "agw" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/lino,/area/chapel/office) -"agx" = (/obj/structure/closet/wardrobe/grey,/obj/item/weapon/storage/backpack,/obj/item/weapon/storage/backpack,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/locker) -"agy" = (/obj/effect/decal/cleanable/dirt,/obj/item/weapon/cigbutt,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/maintenance/locker) +"agx" = (/obj/structure/closet/wardrobe/grey,/obj/item/storage/backpack,/obj/item/storage/backpack,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/locker) +"agy" = (/obj/effect/decal/cleanable/dirt,/obj/item/cigbutt,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/maintenance/locker) "agz" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/maintenance/locker) "agA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/dark,/area/chapel/chapel_morgue) "agB" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/light,/turf/simulated/floor/tiled/dark,/area/chapel/chapel_morgue) @@ -344,17 +344,17 @@ "agF" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/security/detectives_office) "agG" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/security/detectives_office) "agH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/security/detectives_office) -"agI" = (/obj/structure/table/reinforced,/obj/item/device/mass_spectrometer/adv,/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/item/device/reagent_scanner,/obj/item/weapon/reagent_containers/syringe,/turf/simulated/floor/tiled/white,/area/security/detectives_office) +"agI" = (/obj/structure/table/reinforced,/obj/item/mass_spectrometer/adv,/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/item/reagent_scanner,/obj/item/reagent_containers/syringe,/turf/simulated/floor/tiled/white,/area/security/detectives_office) "agJ" = (/obj/machinery/dnaforensics,/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled/white,/area/security/detectives_office) "agK" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/cable/green,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/security/detectives_office) -"agL" = (/obj/structure/closet/wardrobe/grey,/obj/item/weapon/storage/backpack,/obj/item/weapon/storage/backpack,/obj/random/maintenance/security,/obj/random/maintenance/security,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/security_starboard) -"agM" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/oxygen,/obj/item/weapon/storage/belt/utility,/obj/item/clothing/mask/breath,/obj/random/maintenance/security,/obj/random/maintenance/security,/obj/random/maintenance/security,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/security_starboard) -"agN" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/extinguisher,/turf/simulated/floor/plating,/area/maintenance/security_starboard) +"agL" = (/obj/structure/closet/wardrobe/grey,/obj/item/storage/backpack,/obj/item/storage/backpack,/obj/random/maintenance/security,/obj/random/maintenance/security,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/security_starboard) +"agM" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/tank/oxygen,/obj/item/storage/belt/utility,/obj/item/clothing/mask/breath,/obj/random/maintenance/security,/obj/random/maintenance/security,/obj/random/maintenance/security,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/security_starboard) +"agN" = (/obj/structure/table/standard,/obj/item/storage/box/lights/mixed,/obj/item/storage/box/lights/mixed,/obj/item/extinguisher,/turf/simulated/floor/plating,/area/maintenance/security_starboard) "agO" = (/obj/structure/mirror{pixel_y = 25},/turf/simulated/floor,/area/maintenance/security_starboard) "agP" = (/turf/simulated/floor,/area/maintenance/security_starboard) -"agQ" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/mime,/obj/item/weapon/pen/crayon/mime,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor,/area/maintenance/security_starboard) -"agR" = (/obj/structure/bed/chair{dir = 1},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/obj/structure/closet/walllocker/emerglocker{pixel_x = -28},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod1/station) -"agS" = (/obj/structure/bed/chair{dir = 1},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/obj/structure/closet/walllocker/emerglocker{pixel_x = -28},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod2/station) +"agQ" = (/obj/structure/bed/padded,/obj/item/bedsheet/mime,/obj/item/pen/crayon/mime,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor,/area/maintenance/security_starboard) +"agR" = (/obj/structure/bed/chair{dir = 1},/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/obj/structure/closet/walllocker/emerglocker{pixel_x = -28},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod1/station) +"agS" = (/obj/structure/bed/chair{dir = 1},/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/obj/structure/closet/walllocker/emerglocker{pixel_x = -28},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod2/station) "agT" = (/obj/structure/bookcase{name = "bookcase (Fiction)"},/turf/simulated/floor/wood,/area/library) "agU" = (/turf/simulated/floor/carpet,/area/library) "agV" = (/obj/structure/bed/chair/comfy/brown{dir = 8},/turf/simulated/floor/carpet,/area/library) @@ -372,19 +372,19 @@ "ahh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock{name = "Chapel Office"; req_access = list(27)},/turf/simulated/floor/lino,/area/chapel/office) "ahi" = (/obj/machinery/door/airlock/maintenance{name = "Chapel Maintenance"; req_one_access = list(12,22)},/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/maintenance/locker) "ahj" = (/obj/machinery/door/airlock{name = "Chapel Backroom"; req_access = list(27)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/turf/simulated/floor/tiled/dark,/area/chapel/chapel_morgue) -"ahk" = (/obj/structure/table/woodentable,/obj/item/device/flash,/obj/item/weapon/handcuffs,/obj/item/weapon/storage/fancy/cigarettes/dromedaryco,/obj/item/device/radio/intercom{broadcasting = 0; dir = 4; frequency = 1475; icon_state = "intercom"; listening = 1; name = "Station Intercom (Security)"; pixel_x = -21; pixel_y = 0},/turf/simulated/floor/lino,/area/security/detectives_office) -"ahl" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green,/obj/machinery/light{dir = 1},/turf/simulated/floor/lino,/area/security/detectives_office) -"ahm" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/secure/safe{pixel_x = 6; pixel_y = 28},/obj/item/weapon/storage/photo_album{pixel_y = -10},/obj/item/device/camera_film,/obj/item/device/camera{desc = "A one use - polaroid camera. 30 photos left."; name = "detectives camera"; pictures_left = 30; pixel_x = 2; pixel_y = 3},/turf/simulated/floor/lino,/area/security/detectives_office) -"ahn" = (/obj/structure/bookcase,/turf/simulated/floor/lino,/area/security/detectives_office) -"aho" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/secure/safe{pixel_x = 6; pixel_y = 28},/obj/item/weapon/storage/photo_album{pixel_y = -10},/obj/item/device/camera_film,/obj/item/device/camera{name = "detectives camera"; desc = "A one use - polaroid camera. 30 photos left."; pixel_x = 0; pixel_y = 0; pictures_left = 30},/turf/simulated/floor/lino,/area/security/detectives_office) -"ahp" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green,/obj/machinery/light{dir = 1},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/lino,/area/security/detectives_office) -"ahq" = (/obj/structure/table/woodentable,/obj/item/device/flash,/obj/item/weapon/handcuffs,/obj/item/weapon/storage/fancy/cigarettes/dromedaryco,/obj/item/device/radio/intercom{broadcasting = 0; dir = 4; frequency = 1475; icon_state = "intercom"; listening = 1; name = "Station Intercom (Security)"; pixel_x = 21; pixel_y = 0},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/lino,/area/security/detectives_office) +"ahk" = (/obj/structure/table/woodentable,/obj/item/flash,/obj/item/handcuffs,/obj/item/storage/fancy/cigarettes/dromedaryco,/obj/item/radio/intercom{broadcasting = 0; dir = 4; frequency = 1475; icon_state = "intercom"; listening = 1; name = "Station Intercom (Security)"; pixel_x = -21; pixel_y = 0},/turf/simulated/floor/lino,/area/security/detectives_office) +"ahl" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table/woodentable,/obj/item/flashlight/lamp/green,/obj/machinery/light{dir = 1},/turf/simulated/floor/lino,/area/security/detectives_office) +"ahm" = (/obj/structure/table/woodentable,/obj/item/storage/secure/safe{pixel_x = 6; pixel_y = 28},/obj/item/storage/photo_album{pixel_y = -10},/obj/item/camera_film,/obj/item/camera{desc = "A one use - polaroid camera. 30 photos left."; name = "detectives camera"; pictures_left = 30; pixel_x = 2; pixel_y = 3},/turf/simulated/floor/lino,/area/security/detectives_office) +"ahn" = (/obj/structure/bookcase,/obj/item/book/codex/corp_regs,/turf/simulated/floor/lino,/area/security/detectives_office) +"aho" = (/obj/structure/table/woodentable,/obj/item/storage/secure/safe{pixel_x = 6; pixel_y = 28},/obj/item/storage/photo_album{pixel_y = -10},/obj/item/camera_film,/obj/item/camera{name = "detectives camera"; desc = "A one use - polaroid camera. 30 photos left."; pixel_x = 0; pixel_y = 0; pictures_left = 30},/turf/simulated/floor/lino,/area/security/detectives_office) +"ahp" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table/woodentable,/obj/item/flashlight/lamp/green,/obj/machinery/light{dir = 1},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/lino,/area/security/detectives_office) +"ahq" = (/obj/structure/table/woodentable,/obj/item/flash,/obj/item/handcuffs,/obj/item/storage/fancy/cigarettes/dromedaryco,/obj/item/radio/intercom{broadcasting = 0; dir = 4; frequency = 1475; icon_state = "intercom"; listening = 1; name = "Station Intercom (Security)"; pixel_x = 21; pixel_y = 0},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/lino,/area/security/detectives_office) "ahr" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/wall/r_wall,/area/security/detectives_office) -"ahs" = (/obj/structure/table/rack,/obj/item/weapon/storage/briefcase/crimekit,/obj/structure/window/reinforced{dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/weapon/storage/briefcase/crimekit,/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) -"aht" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/swabs{layer = 5},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/item/weapon/folder/red,/obj/item/weapon/folder/blue{pixel_y = -3},/obj/item/weapon/folder/yellow{pixel_y = -5},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) +"ahs" = (/obj/structure/table/rack,/obj/item/storage/briefcase/crimekit,/obj/structure/window/reinforced{dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/storage/briefcase/crimekit,/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) +"aht" = (/obj/structure/table/reinforced,/obj/item/storage/box/swabs{layer = 5},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/item/folder/red,/obj/item/folder/blue{pixel_y = -3},/obj/item/folder/yellow{pixel_y = -5},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) "ahu" = (/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) -"ahv" = (/obj/structure/table/reinforced,/obj/item/weapon/forensics/sample_kit/powder,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) -"ahw" = (/obj/structure/table/reinforced,/obj/item/weapon/forensics/sample_kit,/obj/item/device/radio/intercom{broadcasting = 0; dir = 4; frequency = 1475; icon_state = "intercom"; listening = 1; name = "Station Intercom (Security)"; pixel_x = 21; pixel_y = 0},/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) +"ahv" = (/obj/structure/table/reinforced,/obj/item/forensics/sample_kit/powder,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) +"ahw" = (/obj/structure/table/reinforced,/obj/item/forensics/sample_kit,/obj/item/radio/intercom{broadcasting = 0; dir = 4; frequency = 1475; icon_state = "intercom"; listening = 1; name = "Station Intercom (Security)"; pixel_x = 21; pixel_y = 0},/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) "ahx" = (/obj/structure/table/steel,/turf/simulated/floor,/area/maintenance/security_starboard) "ahy" = (/obj/structure/shuttle/engine/propulsion/burst,/turf/simulated/shuttle/wall,/area/shuttle/escape_pod1/station) "ahz" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_1_hatch"; locked = 1; name = "Escape Pod 1 Hatch"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod1/station) @@ -425,14 +425,14 @@ "aii" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/airless{icon_state = "asteroidplating2"},/area/maintenance/chapel) "aij" = (/obj/machinery/computer/security/wooden_tv,/turf/simulated/floor/lino,/area/security/detectives_office) "aik" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Detective"},/turf/simulated/floor/carpet,/area/security/detectives_office) -"ail" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/table/woodentable,/obj/item/device/taperecorder{pixel_x = -4; pixel_y = 2},/turf/simulated/floor/carpet,/area/security/detectives_office) -"aim" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/weapon/stool/padded,/turf/simulated/floor/carpet,/area/security/detectives_office) +"ail" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/table/woodentable,/obj/item/taperecorder{pixel_x = -4; pixel_y = 2},/turf/simulated/floor/carpet,/area/security/detectives_office) +"aim" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/stool/padded,/turf/simulated/floor/carpet,/area/security/detectives_office) "ain" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/carpet,/area/security/detectives_office) -"aio" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/table/woodentable,/obj/item/device/taperecorder{pixel_x = -4; pixel_y = 2},/turf/simulated/floor/carpet,/area/security/detectives_office) +"aio" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/table/woodentable,/obj/item/taperecorder{pixel_x = -4; pixel_y = 2},/turf/simulated/floor/carpet,/area/security/detectives_office) "aip" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/effect/landmark/start{name = "Detective"},/turf/simulated/floor/carpet,/area/security/detectives_office) "aiq" = (/obj/structure/table/reinforced,/obj/machinery/computer/med_data/laptop,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) "air" = (/turf/simulated/floor/tiled/white,/area/security/detectives_office) -"ais" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/white,/area/security/detectives_office) +"ais" = (/obj/item/stool/padded,/turf/simulated/floor/tiled/white,/area/security/detectives_office) "ait" = (/obj/machinery/computer/secure_data/detective_computer,/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) "aiu" = (/obj/machinery/light/small{dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor,/area/maintenance/security_starboard) "aiv" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor,/area/maintenance/security_starboard) @@ -448,9 +448,9 @@ "aiF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/secondary/escape/fore_escape_pod_hallway) "aiG" = (/turf/simulated/wall,/area/hallway/secondary/escape/fore_escape_pod_hallway) "aiH" = (/obj/structure/bookcase{name = "bookcase (Religious)"},/turf/simulated/floor/wood,/area/library) -"aiI" = (/obj/structure/table/woodentable,/obj/item/weapon/pen/blue{pixel_x = -5; pixel_y = -1},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = 3},/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/carpet,/area/library) -"aiJ" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet,/area/library) -"aiK" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/turf/simulated/floor/carpet,/area/library) +"aiI" = (/obj/structure/table/woodentable,/obj/item/pen/blue{pixel_x = -5; pixel_y = -1},/obj/item/pen/red{pixel_x = -1; pixel_y = 3},/obj/item/book/codex/lore/vir,/turf/simulated/floor/carpet,/area/library) +"aiJ" = (/obj/structure/table/woodentable,/obj/item/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet,/area/library) +"aiK" = (/obj/structure/table/woodentable,/obj/item/paper_bin{pixel_x = 1; pixel_y = 9},/turf/simulated/floor/carpet,/area/library) "aiL" = (/turf/simulated/floor/wood,/area/library) "aiM" = (/obj/structure/bed/chair/office/dark{dir = 4},/turf/simulated/floor/wood,/area/library) "aiN" = (/obj/machinery/librarypubliccomp,/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/library) @@ -480,15 +480,15 @@ "ajl" = (/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "chapel_maint_sensor"; pixel_x = 0; pixel_y = 25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "chapel_maint_pump"},/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/floor,/area/maintenance/chapel) "ajm" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "chapel_maint_outer"; locked = 1; name = "Chapel Maintenance EVA External Access"; req_access = list(13)},/turf/simulated/floor,/area/maintenance/chapel) "ajn" = (/turf/simulated/floor/airless{icon_state = "asteroidplating2"},/area/mine/explored/upper_level) -"ajo" = (/obj/structure/closet/secure_closet/detective,/obj/item/weapon/reagent_containers/spray/pepper,/turf/simulated/floor/lino,/area/security/detectives_office) +"ajo" = (/obj/structure/closet/secure_closet/detective,/obj/item/reagent_containers/spray/pepper,/turf/simulated/floor/lino,/area/security/detectives_office) "ajp" = (/turf/simulated/floor/carpet,/area/security/detectives_office) -"ajq" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/item/clothing/glasses/sunglasses,/turf/simulated/floor/carpet,/area/security/detectives_office) +"ajq" = (/obj/structure/table/woodentable,/obj/item/paper_bin,/obj/item/pen,/obj/item/clothing/glasses/sunglasses,/turf/simulated/floor/carpet,/area/security/detectives_office) "ajr" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/turf/simulated/floor/carpet,/area/security/detectives_office) "ajs" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/carpet,/area/security/detectives_office) "ajt" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/machinery/microscope,/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) "aju" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled/white,/area/security/detectives_office) "ajv" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/white,/area/security/detectives_office) -"ajw" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/spray/luminol,/obj/item/device/uv_light,/obj/item/clothing/gloves/sterile/latex,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) +"ajw" = (/obj/structure/table/reinforced,/obj/item/reagent_containers/spray/luminol,/obj/item/uv_light,/obj/item/clothing/gloves/sterile/latex,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) "ajx" = (/obj/machinery/door/airlock/glass_external{icon_state = "door_locked"; locked = 1; name = "Escape Pod"},/turf/simulated/floor,/area/maintenance/security_starboard) "ajy" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_1_berth_hatch"; locked = 1; name = "Escape Pod 1"; req_access = list(13)},/turf/simulated/floor/plating,/area/hallway/secondary/escape/fore_escape_pod_hallway) "ajz" = (/obj/structure/sign/pods,/turf/simulated/wall,/area/hallway/secondary/escape/fore_escape_pod_hallway) @@ -500,8 +500,8 @@ "ajF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/landmark{name = "lightsout"},/turf/simulated/floor/carpet,/area/library) "ajG" = (/obj/structure/bed/chair/comfy/green{dir = 8},/turf/simulated/floor/carpet,/area/library) "ajH" = (/obj/machinery/space_heater,/turf/simulated/floor,/area/storage/emergency_storage/emergency4) -"ajI" = (/obj/structure/table/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/storage/emergency_storage/emergency4) -"ajJ" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/oxygen,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/extinguisher,/obj/machinery/alarm{dir = 8; pixel_x = 25; pixel_y = 0},/turf/simulated/floor/plating,/area/storage/emergency_storage/emergency4) +"ajI" = (/obj/structure/table/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/storage/emergency_storage/emergency4) +"ajJ" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/tank/oxygen,/obj/item/tank/oxygen,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/flashlight,/obj/item/flashlight,/obj/item/storage/box/lights/mixed,/obj/item/extinguisher,/obj/machinery/alarm{dir = 8; pixel_x = 25; pixel_y = 0},/turf/simulated/floor/plating,/area/storage/emergency_storage/emergency4) "ajK" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_fore) "ajL" = (/obj/structure/disposalpipe/segment,/obj/structure/extinguisher_cabinet{pixel_x = 25; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_fore) "ajM" = (/obj/machinery/camera/network/civilian{c_tag = "CIV - Chapel Port"; dir = 4},/turf/simulated/floor/tiled/dark,/area/chapel/main) @@ -540,17 +540,17 @@ "akt" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/fore_escape_pod_hallway) "aku" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "escape_pod_1_berth"; pixel_x = -25; pixel_y = 30; tag_door = "escape_pod_1_berth_hatch"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/fore_escape_pod_hallway) "akv" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/fore_escape_pod_hallway) -"akw" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 22},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/fore_escape_pod_hallway) +"akw" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 22},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/fore_escape_pod_hallway) "akx" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "escape_pod_2_berth"; pixel_x = -25; pixel_y = 30; tag_door = "escape_pod_2_berth_hatch"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/fore_escape_pod_hallway) "aky" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/fore_escape_pod_hallway) "akz" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/fore_escape_pod_hallway) "akA" = (/obj/structure/disposalpipe/junction{dir = 1; icon_state = "pipe-j2"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/fore_escape_pod_hallway) "akB" = (/turf/simulated/floor/tiled/dark,/area/hallway/secondary/escape/fore_escape_pod_hallway) -"akC" = (/obj/structure/bed/chair/comfy/black,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/carpet,/area/library) +"akC" = (/obj/structure/bed/chair/comfy/black,/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/carpet,/area/library) "akD" = (/obj/structure/bed/chair/comfy/black,/turf/simulated/floor/carpet,/area/library) "akE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet,/area/library) -"akF" = (/obj/structure/table/woodentable,/obj/item/device/camera_film,/obj/item/device/camera_film,/turf/simulated/floor/wood,/area/library) -"akG" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/turf/simulated/floor/wood,/area/library) +"akF" = (/obj/structure/table/woodentable,/obj/item/camera_film,/obj/item/camera_film,/turf/simulated/floor/wood,/area/library) +"akG" = (/obj/structure/table/woodentable,/obj/item/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/turf/simulated/floor/wood,/area/library) "akH" = (/obj/machinery/newscaster{pixel_x = 30},/obj/machinery/door/window/northright{name = "Library Desk Door"; req_access = list(37)},/turf/simulated/floor/wood,/area/library) "akI" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/storage/emergency_storage/emergency4) "akJ" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/storage/emergency_storage/emergency4) @@ -559,16 +559,16 @@ "akM" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_fore) "akN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_fore) "akO" = (/obj/structure/disposalpipe/segment,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_fore) -"akP" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/dark,/area/chapel/main) -"akQ" = (/obj/effect/floor_decal/chapel{icon_state = "chapel"; dir = 1},/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/dark,/area/chapel/main) -"akR" = (/obj/effect/floor_decal/chapel{icon_state = "chapel"; dir = 4},/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/dark,/area/chapel/main) +"akP" = (/obj/item/stool/padded,/turf/simulated/floor/tiled/dark,/area/chapel/main) +"akQ" = (/obj/effect/floor_decal/chapel{icon_state = "chapel"; dir = 1},/obj/item/stool/padded,/turf/simulated/floor/tiled/dark,/area/chapel/main) +"akR" = (/obj/effect/floor_decal/chapel{icon_state = "chapel"; dir = 4},/obj/item/stool/padded,/turf/simulated/floor/tiled/dark,/area/chapel/main) "akS" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/dark,/area/chapel/main) "akT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet,/area/chapel/main) "akU" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark,/area/chapel/main) "akV" = (/obj/machinery/door/airlock/maintenance{name = "Chapel Maintenance"; req_one_access = list(12,22)},/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/maintenance/chapel) -"akW" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/structure/closet/wardrobe/detective,/turf/simulated/floor/lino,/area/security/detectives_office) +"akW" = (/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/structure/closet/wardrobe/detective,/turf/simulated/floor/lino,/area/security/detectives_office) "akX" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/lino,/area/security/detectives_office) -"akY" = (/obj/structure/table/rack,/obj/item/weapon/storage/briefcase{pixel_x = -2; pixel_y = -5},/obj/item/weapon/storage/briefcase{pixel_x = 3; pixel_y = 0},/obj/machinery/light,/turf/simulated/floor/lino,/area/security/detectives_office) +"akY" = (/obj/structure/table/rack,/obj/item/storage/briefcase{pixel_x = -2; pixel_y = -5},/obj/item/storage/briefcase{pixel_x = 3; pixel_y = 0},/obj/machinery/light,/turf/simulated/floor/lino,/area/security/detectives_office) "akZ" = (/turf/simulated/floor/lino,/area/security/detectives_office) "ala" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/lino,/area/security/detectives_office) "alb" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/camera/network/security{c_tag = "SEC - Detective Office"; dir = 1},/obj/structure/disposalpipe/segment,/obj/structure/flora/pottedplant{icon_state = "plant-10"},/turf/simulated/floor/lino,/area/security/detectives_office) @@ -577,7 +577,7 @@ "ale" = (/obj/structure/noticeboard{pixel_y = -30},/turf/simulated/floor/lino,/area/security/detectives_office) "alf" = (/obj/machinery/door/window/westleft{name = "Forensics Area"; req_access = list(4)},/obj/machinery/newscaster{pixel_x = 0; pixel_y = -28},/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) "alg" = (/obj/machinery/light,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) -"alh" = (/obj/machinery/status_display{pixel_x = 0; pixel_y = -32},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/closet{name = "Evidence Closet"},/obj/item/weapon/storage/box/gloves,/obj/item/weapon/storage/box/evidence,/obj/item/weapon/storage/box/bodybags,/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) +"alh" = (/obj/machinery/status_display{pixel_x = 0; pixel_y = -32},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/closet{name = "Evidence Closet"},/obj/item/storage/box/gloves,/obj/item/storage/box/evidence,/obj/item/storage/box/bodybags,/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) "ali" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) "alj" = (/obj/machinery/light,/obj/machinery/chem_master,/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) "alk" = (/obj/machinery/camera/network/security{c_tag = "SEC - Forensic Office"; dir = 8},/obj/machinery/photocopier,/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) @@ -592,10 +592,10 @@ "alt" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/fore_escape_pod_hallway) "alu" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/fore_escape_pod_hallway) "alv" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/hallway/secondary/escape/fore_escape_pod_hallway) -"alw" = (/obj/structure/table/woodentable,/obj/item/weapon/paper,/obj/item/weapon/pen,/obj/machinery/newscaster{pixel_x = -30},/turf/simulated/floor/carpet,/area/library) -"alx" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/carpet,/area/library) +"alw" = (/obj/structure/table/woodentable,/obj/item/paper,/obj/item/pen,/obj/machinery/newscaster{pixel_x = -30},/turf/simulated/floor/carpet,/area/library) +"alx" = (/obj/structure/table/woodentable,/obj/item/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/obj/item/book/codex/lore/vir,/turf/simulated/floor/carpet,/area/library) "aly" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced/polarized{dir = 1; id = "library_window_tint"},/obj/structure/window/reinforced/polarized{dir = 2; id = "library_window_tint"},/obj/structure/window/reinforced/polarized{dir = 4; id = "library_window_tint"},/obj/structure/window/reinforced/polarized{dir = 8; id = "library_window_tint"},/turf/simulated/floor/plating,/area/library) -"alz" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/briefcase{pixel_x = -2; pixel_y = -5},/obj/item/weapon/storage/briefcase{pixel_x = 3; pixel_y = 0},/obj/machinery/camera/network/civilian{c_tag = "CIV - Library Office"; dir = 2},/turf/simulated/floor/carpet,/area/library) +"alz" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/storage/briefcase{pixel_x = -2; pixel_y = -5},/obj/item/storage/briefcase{pixel_x = 3; pixel_y = 0},/obj/machinery/camera/network/civilian{c_tag = "CIV - Library Office"; dir = 2},/turf/simulated/floor/carpet,/area/library) "alA" = (/obj/structure/bookcase{name = "Forbidden Knowledge"},/turf/simulated/floor/carpet,/area/library) "alB" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor,/area/storage/emergency_storage/emergency4) "alC" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor,/area/storage/emergency_storage/emergency4) @@ -634,11 +634,11 @@ "amj" = (/obj/structure/bed/chair/comfy/black{dir = 1},/turf/simulated/floor/carpet,/area/library) "amk" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/wood,/area/library) "aml" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/library) -"amm" = (/obj/structure/table/woodentable,/obj/item/weapon/pen/red{pixel_x = 2; pixel_y = 6},/obj/item/weapon/pen/blue{pixel_x = 5; pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/library) +"amm" = (/obj/structure/table/woodentable,/obj/item/pen/red{pixel_x = 2; pixel_y = 6},/obj/item/pen/blue{pixel_x = 5; pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/library) "amn" = (/obj/machinery/door/morgue{dir = 2; name = "Private Study"; req_access = list(37)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/library) "amo" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/carpet,/area/library) "amp" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/library) -"amq" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 22},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/carpet,/area/library) +"amq" = (/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 22},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/carpet,/area/library) "amr" = (/turf/simulated/wall,/area/medical/first_aid_station_starboard) "ams" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_fore) "amt" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_fore) @@ -646,7 +646,7 @@ "amv" = (/turf/simulated/floor,/area/maintenance/chapel) "amw" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/maintenance/chapel) "amx" = (/turf/simulated/wall/r_wall,/area/security/interrogation) -"amy" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/floor_decal/corner/red{dir = 5},/obj/item/device/radio/intercom{broadcasting = 0; frequency = 1475; icon_state = "intercom"; listening = 1; name = "Station Intercom (Security)"; pixel_x = 0; pixel_y = 21},/turf/simulated/floor/tiled,/area/security/brig) +"amy" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/floor_decal/corner/red{dir = 5},/obj/item/radio/intercom{broadcasting = 0; frequency = 1475; icon_state = "intercom"; listening = 1; name = "Station Intercom (Security)"; pixel_x = 0; pixel_y = 21},/turf/simulated/floor/tiled,/area/security/brig) "amz" = (/obj/effect/floor_decal/corner/red{dir = 5},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled,/area/security/brig) "amA" = (/obj/effect/floor_decal/corner/red{dir = 5},/turf/simulated/floor/tiled,/area/security/brig) "amB" = (/obj/effect/floor_decal/corner/red{dir = 1},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/security/brig) @@ -661,33 +661,33 @@ "amK" = (/obj/effect/floor_decal/corner/red{dir = 5},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/security/main) "amL" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/corner/red{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/security/main) "amM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/security/main) -"amN" = (/obj/effect/floor_decal/corner/red{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/segment,/obj/structure/table/standard,/obj/machinery/chemical_dispenser/bar_soft/full,/obj/item/weapon/storage/box/glasses/square,/turf/simulated/floor/tiled,/area/security/main) +"amN" = (/obj/effect/floor_decal/corner/red{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/segment,/obj/structure/table/standard,/obj/machinery/chemical_dispenser/bar_soft/full,/obj/item/storage/box/glasses/square,/turf/simulated/floor/tiled,/area/security/main) "amO" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/red{dir = 5},/obj/machinery/recharger,/turf/simulated/floor/tiled,/area/security/main) -"amP" = (/obj/structure/table/standard,/obj/machinery/recharger,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/effect/floor_decal/corner/red{dir = 5},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/item/weapon/storage/box/donut,/turf/simulated/floor/tiled,/area/security/main) +"amP" = (/obj/structure/table/standard,/obj/machinery/recharger,/obj/item/reagent_containers/spray/cleaner,/obj/effect/floor_decal/corner/red{dir = 5},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/item/storage/box/donut,/turf/simulated/floor/tiled,/area/security/main) "amQ" = (/obj/effect/floor_decal/corner/red{dir = 5},/obj/machinery/photocopier,/turf/simulated/floor/tiled,/area/security/main) "amR" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/effect/floor_decal/corner/red{dir = 5},/turf/simulated/floor/tiled,/area/security/main) "amS" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/security/security_lockerroom) "amT" = (/obj/structure/closet/secure_closet/security,/obj/effect/floor_decal/industrial/outline/yellow,/obj/item/clothing/glasses/hud/security,/turf/simulated/floor/tiled,/area/security/security_lockerroom) "amU" = (/obj/structure/closet/secure_closet/security,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/effect/floor_decal/industrial/outline/yellow,/obj/item/clothing/glasses/hud/security,/turf/simulated/floor/tiled,/area/security/security_lockerroom) "amV" = (/obj/structure/closet/secure_closet/security,/obj/machinery/light{dir = 1},/obj/effect/floor_decal/industrial/outline/yellow,/obj/item/clothing/glasses/hud/security,/turf/simulated/floor/tiled,/area/security/security_lockerroom) -"amW" = (/obj/structure/closet/wardrobe/red,/obj/effect/floor_decal/corner/red/full{dir = 8},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/security/security_lockerroom) -"amX" = (/obj/structure/table/standard,/obj/item/device/taperecorder{pixel_y = 0},/obj/item/device/megaphone,/obj/item/weapon/packageWrap,/obj/item/weapon/storage/box,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/effect/floor_decal/corner/red/full{dir = 1},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/item/weapon/hand_labeler,/turf/simulated/floor/tiled,/area/security/security_lockerroom) +"amW" = (/obj/structure/closet/wardrobe/red,/obj/effect/floor_decal/corner/red/full{dir = 8},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/security/security_lockerroom) +"amX" = (/obj/structure/table/standard,/obj/item/taperecorder{pixel_y = 0},/obj/item/megaphone,/obj/item/packageWrap,/obj/item/storage/box,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/effect/floor_decal/corner/red/full{dir = 1},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/item/hand_labeler,/turf/simulated/floor/tiled,/area/security/security_lockerroom) "amY" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{pixel_x = -28},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/freezer,/area/security/security_bathroom) "amZ" = (/obj/structure/undies_wardrobe,/turf/simulated/floor/tiled/freezer,/area/security/security_bathroom) -"ana" = (/obj/structure/table/standard,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/item/weapon/soap/nanotrasen,/obj/item/weapon/soap/nanotrasen,/turf/simulated/floor/tiled/freezer,/area/security/security_bathroom) +"ana" = (/obj/structure/table/standard,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/item/soap/nanotrasen,/obj/item/soap/nanotrasen,/turf/simulated/floor/tiled/freezer,/area/security/security_bathroom) "anb" = (/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"},/obj/structure/urinal{pixel_y = 32},/turf/simulated/floor/tiled/freezer,/area/security/security_bathroom) "anc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/maintenance/security_starboard) -"and" = (/obj/item/clothing/gloves/rainbow,/obj/item/clothing/head/soft/rainbow,/obj/item/clothing/shoes/rainbow,/obj/item/clothing/under/color/rainbow,/obj/item/weapon/bedsheet/rainbow,/obj/item/weapon/pen/crayon/rainbow,/turf/simulated/floor,/area/maintenance/security_starboard) +"and" = (/obj/item/clothing/gloves/rainbow,/obj/item/clothing/head/soft/rainbow,/obj/item/clothing/shoes/rainbow,/obj/item/clothing/under/color/rainbow,/obj/item/bedsheet/rainbow,/obj/item/pen/crayon/rainbow,/turf/simulated/floor,/area/maintenance/security_starboard) "ane" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/fore_escape_pod_hallway) "anf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/fore_escape_pod_hallway) "ang" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/hallway/secondary/escape/fore_escape_pod_hallway) "anh" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/wood,/area/library) "ani" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/wood,/area/library) "anj" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/library) -"ank" = (/obj/structure/table/woodentable,/obj/item/device/taperecorder,/turf/simulated/floor/wood,/area/library) +"ank" = (/obj/structure/table/woodentable,/obj/item/taperecorder,/turf/simulated/floor/wood,/area/library) "anl" = (/obj/machinery/button/windowtint{id = "library_window_tint"; pixel_x = 26; pixel_y = -26},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet,/area/library) "anm" = (/obj/structure/bed/chair/comfy/brown,/obj/effect/landmark/start{name = "Librarian"},/turf/simulated/floor/carpet,/area/library) -"ann" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/alarm{dir = 8; pixel_x = 25; pixel_y = 0},/obj/structure/table/woodentable,/obj/item/device/tvcamera,/turf/simulated/floor/carpet,/area/library) +"ann" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/alarm{dir = 8; pixel_x = 25; pixel_y = 0},/obj/structure/table/woodentable,/obj/item/tvcamera,/turf/simulated/floor/carpet,/area/library) "ano" = (/obj/machinery/sleeper{dir = 8},/obj/effect/floor_decal/corner/paleblue/full{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station_starboard) "anp" = (/obj/machinery/sleep_console,/obj/effect/floor_decal/corner/paleblue{dir = 5},/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station_starboard) "anq" = (/obj/effect/floor_decal/corner/paleblue/full{dir = 1},/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = 28},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station_starboard) @@ -701,7 +701,7 @@ "any" = (/turf/simulated/wall,/area/vacant/vacant_site) "anz" = (/obj/machinery/smartfridge/drinks,/turf/simulated/floor/wood,/area/vacant/vacant_site) "anA" = (/obj/structure/table/reinforced,/obj/machinery/reagentgrinder,/turf/simulated/floor,/area/vacant/vacant_site) -"anB" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/light/small{dir = 8},/obj/item/device/radio/intercom/interrogation{dir = 1; pixel_y = 22},/turf/simulated/floor/tiled,/area/security/interrogation) +"anB" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/light/small{dir = 8},/obj/item/radio/intercom/interrogation{dir = 1; pixel_y = 22},/turf/simulated/floor/tiled,/area/security/interrogation) "anC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled,/area/security/interrogation) "anD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/security{name = "Interrogation Observation"; req_access = list(63)},/turf/simulated/floor/tiled,/area/security/interrogation) "anE" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/tiled,/area/security/brig) @@ -731,7 +731,7 @@ "aoc" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{pixel_x = -28},/turf/simulated/floor/tiled/freezer,/area/security/security_bathroom) "aod" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/freezer,/area/security/security_bathroom) "aoe" = (/turf/simulated/floor/tiled/freezer,/area/security/security_bathroom) -"aof" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/turf/simulated/floor/tiled/freezer,/area/security/security_bathroom) +"aof" = (/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/turf/simulated/floor/tiled/freezer,/area/security/security_bathroom) "aog" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/fore_escape_pod_hallway) "aoh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/secondary/escape/fore_escape_pod_hallway) "aoi" = (/obj/machinery/vending/coffee,/turf/simulated/floor/wood,/area/library) @@ -741,29 +741,29 @@ "aom" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/wood,/area/library) "aon" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/library) "aoo" = (/obj/machinery/light,/turf/simulated/floor/wood,/area/library) -"aop" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/turf/simulated/floor/wood,/area/library) +"aop" = (/obj/structure/table/woodentable,/obj/item/paper_bin{pixel_x = 1; pixel_y = 9},/turf/simulated/floor/wood,/area/library) "aoq" = (/obj/machinery/librarycomp{pixel_y = 0},/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/library) "aor" = (/obj/machinery/libraryscanner,/turf/simulated/floor/wood,/area/library) -"aos" = (/obj/structure/table/woodentable,/obj/item/device/taperecorder{pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/newscaster{pixel_x = 0; pixel_y = -28},/obj/item/device/retail_scanner/civilian{icon_state = "retail_idle"; dir = 1},/obj/item/device/camera,/obj/item/device/tape,/turf/simulated/floor/carpet,/area/library) -"aot" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen/invisible,/obj/item/clothing/under/suit_jacket/red,/obj/machinery/light,/obj/item/weapon/barcodescanner,/turf/simulated/floor/carpet,/area/library) -"aou" = (/obj/structure/table/rack,/obj/item/weapon/storage/firstaid/adv,/obj/item/bodybag/cryobag,/obj/item/weapon/tool/crowbar,/obj/effect/floor_decal/corner/paleblue/full{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/sign/poster{pixel_y = 32},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station_starboard) +"aos" = (/obj/structure/table/woodentable,/obj/item/taperecorder{pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/newscaster{pixel_x = 0; pixel_y = -28},/obj/item/retail_scanner/civilian{icon_state = "retail_idle"; dir = 1},/obj/item/camera,/obj/item/rectape,/turf/simulated/floor/carpet,/area/library) +"aot" = (/obj/structure/table/woodentable,/obj/item/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/pen/invisible,/obj/item/clothing/under/suit_jacket/red,/obj/machinery/light,/obj/item/barcodescanner,/turf/simulated/floor/carpet,/area/library) +"aou" = (/obj/structure/table/rack,/obj/item/storage/firstaid/adv,/obj/item/bodybag/cryobag,/obj/item/tool/crowbar,/obj/effect/floor_decal/corner/paleblue/full{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/sign/poster{pixel_y = 32},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station_starboard) "aov" = (/obj/effect/floor_decal/corner/paleblue{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station_starboard) "aow" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station_starboard) "aox" = (/obj/effect/floor_decal/corner/paleblue{dir = 6},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station_starboard) "aoy" = (/obj/machinery/door/airlock/glass_medical{name = "First-Aid Station"; req_one_access = list(5,10,63)},/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station_starboard) "aoz" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_fore) "aoA" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_fore) -"aoB" = (/obj/structure/table/glass,/obj/machinery/status_display{pixel_x = 32; pixel_y = 0},/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/civilian_hallway_fore) -"aoC" = (/obj/effect/floor_decal/chapel{icon_state = "chapel"; dir = 8},/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/dark,/area/chapel/main) -"aoD" = (/obj/effect/floor_decal/chapel,/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/dark,/area/chapel/main) -"aoE" = (/obj/effect/floor_decal/chapel{icon_state = "chapel"; dir = 8},/obj/item/weapon/stool/padded,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/dark,/area/chapel/main) +"aoB" = (/obj/structure/table/glass,/obj/machinery/status_display{pixel_x = 32; pixel_y = 0},/obj/item/book/codex/lore/vir,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/civilian_hallway_fore) +"aoC" = (/obj/effect/floor_decal/chapel{icon_state = "chapel"; dir = 8},/obj/item/stool/padded,/turf/simulated/floor/tiled/dark,/area/chapel/main) +"aoD" = (/obj/effect/floor_decal/chapel,/obj/item/stool/padded,/turf/simulated/floor/tiled/dark,/area/chapel/main) +"aoE" = (/obj/effect/floor_decal/chapel{icon_state = "chapel"; dir = 8},/obj/item/stool/padded,/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/dark,/area/chapel/main) "aoF" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor,/area/vacant/vacant_site) "aoG" = (/turf/simulated/floor/wood,/area/vacant/vacant_site) "aoH" = (/obj/random/drinkbottle,/obj/structure/closet/crate,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/drinkbottle,/turf/simulated/floor/wood,/area/vacant/vacant_site) "aoI" = (/obj/structure/table,/obj/item/stack/material/steel{amount = 2},/obj/random/maintenance/engineering,/turf/simulated/floor,/area/vacant/vacant_site) "aoJ" = (/obj/item/stack/material/wood{amount = 24},/turf/simulated/floor/wood,/area/vacant/vacant_site) "aoK" = (/obj/item/stack/tile/wood,/turf/simulated/floor,/area/vacant/vacant_site) -"aoL" = (/obj/machinery/camera/network/security{c_tag = "SEC - Interrogation Observation"; dir = 4},/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/folder/red,/obj/item/weapon/pen,/obj/item/device/radio/intercom{broadcasting = 0; dir = 8; frequency = 1475; icon_state = "intercom"; listening = 1; name = "Station Intercom (Security)"; pixel_x = -21; pixel_y = 0},/turf/simulated/floor/tiled,/area/security/interrogation) +"aoL" = (/obj/machinery/camera/network/security{c_tag = "SEC - Interrogation Observation"; dir = 4},/obj/structure/table/standard,/obj/item/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/folder/red,/obj/item/pen,/obj/item/radio/intercom{broadcasting = 0; dir = 8; frequency = 1475; icon_state = "intercom"; listening = 1; name = "Station Intercom (Security)"; pixel_x = -21; pixel_y = 0},/turf/simulated/floor/tiled,/area/security/interrogation) "aoM" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/computer/security/telescreen{layer = 4; name = "Observation Screen"; network = list("Interrogation"); pixel_x = 0; pixel_y = -34},/obj/structure/bed/chair,/turf/simulated/floor/tiled,/area/security/interrogation) "aoN" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/bed/chair,/turf/simulated/floor/tiled,/area/security/interrogation) "aoO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/corner/red{dir = 8},/turf/simulated/floor/tiled,/area/security/brig) @@ -779,13 +779,13 @@ "aoY" = (/obj/structure/grille,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/window/reinforced/polarized{dir = 1},/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/crew_quarters/heads/hos) "aoZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/corner/red{dir = 8},/obj/machinery/newscaster{pixel_x = -31; pixel_y = 0},/turf/simulated/floor/tiled,/area/security/main) "apa" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/landmark/start{name = "Security Officer"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/security/main) -"apb" = (/obj/structure/table/standard,/obj/item/weapon/folder/red,/obj/item/clothing/glasses/hud/security,/turf/simulated/floor/tiled,/area/security/main) -"apc" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/security/main) +"apb" = (/obj/structure/table/standard,/obj/item/folder/red,/obj/item/clothing/glasses/hud/security,/turf/simulated/floor/tiled,/area/security/main) +"apc" = (/obj/structure/table/standard,/obj/item/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/pen,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/security/main) "apd" = (/obj/structure/bed/chair/office/dark{dir = 8},/turf/simulated/floor/tiled,/area/security/main) "ape" = (/turf/simulated/floor/tiled,/area/security/main) -"apf" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/camera/network/security{c_tag = "SEC - Locker Room"; dir = 4},/turf/simulated/floor/tiled/red,/area/security/security_lockerroom) -"apg" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/red,/area/security/security_lockerroom) -"aph" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled/red,/area/security/security_lockerroom) +"apf" = (/obj/item/stool/padded,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/camera/network/security{c_tag = "SEC - Locker Room"; dir = 4},/turf/simulated/floor/tiled/red,/area/security/security_lockerroom) +"apg" = (/obj/item/stool/padded,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/red,/area/security/security_lockerroom) +"aph" = (/obj/item/stool/padded,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled/red,/area/security/security_lockerroom) "api" = (/obj/effect/floor_decal/corner/red{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled,/area/security/security_lockerroom) "apj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/security/security_lockerroom) "apk" = (/obj/machinery/door/airlock{name = "Security Restroom"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/freezer,/area/security/security_lockerroom) @@ -797,8 +797,8 @@ "apq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/library) "apr" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/library) "aps" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/library) -"apt" = (/obj/structure/table/glass,/obj/item/weapon/storage/firstaid/regular,/obj/effect/floor_decal/corner/paleblue{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/newscaster{pixel_x = -31; pixel_y = 0},/obj/random/medical/lite,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station_starboard) -"apu" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station_starboard) +"apt" = (/obj/structure/table/glass,/obj/item/storage/firstaid/regular,/obj/effect/floor_decal/corner/paleblue{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/newscaster{pixel_x = -31; pixel_y = 0},/obj/random/medical/lite,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station_starboard) +"apu" = (/obj/item/stool/padded,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station_starboard) "apv" = (/obj/effect/floor_decal/corner/paleblue{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station_starboard) "apw" = (/obj/structure/bed/roller,/obj/effect/floor_decal/corner/paleblue/full{dir = 4},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green,/obj/machinery/light_switch{pixel_x = 12; pixel_y = -24},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station_starboard) "apx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/first_aid_station_starboard) @@ -811,18 +811,18 @@ "apE" = (/obj/machinery/door/airlock/glass{name = "Chapel"},/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled/dark,/area/chapel/main) "apF" = (/obj/structure/disposalpipe/segment,/obj/item/stack/tile/wood,/turf/simulated/floor,/area/vacant/vacant_site) "apG" = (/obj/structure/table/reinforced,/obj/item/stack/tile/wood,/turf/simulated/floor/wood,/area/vacant/vacant_site) -"apH" = (/obj/structure/table/reinforced,/obj/item/device/flashlight,/turf/simulated/floor/wood,/area/vacant/vacant_site) -"apI" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/drinks/glass2/square{pixel_x = 4; pixel_y = 5},/obj/item/weapon/reagent_containers/food/drinks/glass2/square,/turf/simulated/floor/wood,/area/vacant/vacant_site) +"apH" = (/obj/structure/table/reinforced,/obj/item/flashlight,/turf/simulated/floor/wood,/area/vacant/vacant_site) +"apI" = (/obj/structure/table/reinforced,/obj/item/reagent_containers/food/drinks/glass2/square{pixel_x = 4; pixel_y = 5},/obj/item/reagent_containers/food/drinks/glass2/square,/turf/simulated/floor/wood,/area/vacant/vacant_site) "apJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor,/area/maintenance/chapel) "apK" = (/turf/simulated/wall/r_wall,/area/security/security_equiptment_storage) "apL" = (/obj/structure/window/reinforced/tinted{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced/tinted,/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/security/interrogation) "apM" = (/obj/structure/window/reinforced/tinted{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced/tinted,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/security/interrogation) "apN" = (/obj/structure/window/reinforced/tinted{dir = 1},/obj/structure/window/reinforced/tinted{dir = 4; icon_state = "twindow"},/obj/structure/grille,/obj/structure/window/reinforced/tinted,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/security/interrogation) -"apO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/corner/red{dir = 9},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/security/brig) +"apO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/corner/red{dir = 9},/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/security/brig) "apP" = (/obj/effect/floor_decal/corner/red{dir = 6},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled,/area/security/brig) "apQ" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark,/area/security/evidence_storage) "apR" = (/obj/structure/closet{name = "Evidence Closet"},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/evidence_storage) -"apS" = (/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/obj/machinery/requests_console{announcementConsole = 1; department = "Head of Security's Desk"; departmentType = 5; name = "Head of Security RC"; pixel_x = 0; pixel_y = 30},/obj/structure/table/woodentable,/obj/machinery/recharger{pixel_y = 4},/obj/item/weapon/reagent_containers/food/drinks/flask/barflask{pixel_x = -4; pixel_y = 8},/obj/item/device/taperecorder{pixel_y = 0},/obj/item/device/megaphone,/obj/item/device/radio/off,/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/hos) +"apS" = (/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/obj/machinery/requests_console{announcementConsole = 1; department = "Head of Security's Desk"; departmentType = 5; name = "Head of Security RC"; pixel_x = 0; pixel_y = 30},/obj/structure/table/woodentable,/obj/machinery/recharger{pixel_y = 4},/obj/item/reagent_containers/food/drinks/flask/barflask{pixel_x = -4; pixel_y = 8},/obj/item/taperecorder{pixel_y = 0},/obj/item/megaphone,/obj/item/radio/off,/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/hos) "apT" = (/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/hos) "apU" = (/turf/simulated/floor/carpet,/area/crew_quarters/heads/hos) "apV" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/carpet,/area/crew_quarters/heads/hos) @@ -830,8 +830,8 @@ "apX" = (/obj/structure/grille,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/window/reinforced/polarized{dir = 1},/obj/structure/window/reinforced/polarized{dir = 8},/obj/structure/window/reinforced/polarized{dir = 4},/turf/simulated/floor/plating,/area/crew_quarters/heads/hos) "apY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/corner/red{dir = 9},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/security/main) "apZ" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/landmark/start{name = "Security Officer"},/obj/structure/disposalpipe/sortjunction/flipped{dir = 1; name = "HoS Office"; sortType = "HoS Office"},/turf/simulated/floor/tiled,/area/security/main) -"aqa" = (/obj/structure/table/standard,/obj/item/weapon/folder/red,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/security/main) -"aqb" = (/obj/structure/table/standard,/obj/item/weapon/folder/red,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/security/main) +"aqa" = (/obj/structure/table/standard,/obj/item/folder/red,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/security/main) +"aqb" = (/obj/structure/table/standard,/obj/item/folder/red,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/security/main) "aqc" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/landmark/start{name = "Security Officer"},/turf/simulated/floor/tiled,/area/security/main) "aqd" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/security/main) "aqe" = (/obj/machinery/door/airlock/security{name = "Security Locker Room"; req_access = list(1)},/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/security/security_lockerroom) @@ -847,9 +847,9 @@ "aqo" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Library"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/library) "aqp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/library) "aqq" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Library"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/library) -"aqr" = (/obj/structure/table/glass,/obj/item/device/radio{anchored = 1; broadcasting = 0; canhear_range = 1; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Medical Emergency Phone"},/obj/effect/floor_decal/corner/paleblue/full,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station_starboard) -"aqs" = (/obj/structure/table/glass,/obj/item/weapon/storage/toolbox/emergency,/obj/item/device/radio{frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link"},/obj/effect/floor_decal/corner/paleblue{dir = 10},/obj/machinery/camera/network/medbay{c_tag = "MED - FA Station Starboard"; dir = 1},/obj/machinery/recharger,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station_starboard) -"aqt" = (/obj/effect/floor_decal/corner/paleblue/full{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/table/glass,/obj/item/device/defib_kit/loaded,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station_starboard) +"aqr" = (/obj/structure/table/glass,/obj/item/radio{anchored = 1; broadcasting = 0; canhear_range = 1; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Medical Emergency Phone"},/obj/effect/floor_decal/corner/paleblue/full,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station_starboard) +"aqs" = (/obj/structure/table/glass,/obj/item/storage/toolbox/emergency,/obj/item/radio{frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link"},/obj/effect/floor_decal/corner/paleblue{dir = 10},/obj/machinery/camera/network/medbay{c_tag = "MED - FA Station Starboard"; dir = 1},/obj/machinery/recharger,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station_starboard) +"aqt" = (/obj/effect/floor_decal/corner/paleblue/full{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/table/glass,/obj/item/defib_kit/loaded,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station_starboard) "aqu" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_fore) "aqv" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_fore) "aqw" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_fore) @@ -858,13 +858,13 @@ "aqz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/chapel_hallway) "aqA" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/hallway/secondary/chapel_hallway) "aqB" = (/turf/simulated/floor,/area/vacant/vacant_site) -"aqC" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/wood,/area/vacant/vacant_site) +"aqC" = (/obj/item/stool/padded,/turf/simulated/floor/wood,/area/vacant/vacant_site) "aqD" = (/obj/machinery/flasher/portable,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) "aqE" = (/obj/machinery/flasher/portable,/obj/machinery/camera/network/security{c_tag = "Armoury"},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) "aqF" = (/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) -"aqG" = (/obj/item/device/radio/intercom{broadcasting = 0; dir = 1; frequency = 1475; icon_state = "intercom"; listening = 1; name = "Station Intercom (Security)"; pixel_x = 0; pixel_y = 21},/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) +"aqG" = (/obj/item/radio/intercom{broadcasting = 0; dir = 1; frequency = 1475; icon_state = "intercom"; listening = 1; name = "Station Intercom (Security)"; pixel_x = 0; pixel_y = 21},/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) "aqH" = (/obj/structure/table/rack,/obj/item/clothing/mask/gas{pixel_x = 3; pixel_y = 3},/obj/item/clothing/mask/gas{pixel_x = 3; pixel_y = 3},/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas{pixel_x = -3; pixel_y = -3},/obj/item/clothing/mask/gas{pixel_x = -3; pixel_y = -3},/obj/effect/floor_decal/industrial/outline/yellow,/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = 28},/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) -"aqI" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/seccarts{pixel_x = 3; pixel_y = 2},/obj/item/weapon/storage/box/handcuffs,/obj/item/weapon/storage/box/flashbangs{pixel_x = -2; pixel_y = -2},/obj/effect/floor_decal/industrial/outline/yellow,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) +"aqI" = (/obj/structure/table/rack,/obj/item/storage/box/seccarts{pixel_x = 3; pixel_y = 2},/obj/item/storage/box/handcuffs,/obj/item/storage/box/flashbangs{pixel_x = -2; pixel_y = -2},/obj/effect/floor_decal/industrial/outline/yellow,/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) "aqJ" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/camera/network/interrogation{c_tag = "INT - Interrogation"},/turf/simulated/floor/tiled/dark,/area/security/interrogation) "aqK" = (/obj/structure/bed/chair,/turf/simulated/floor/tiled/dark,/area/security/interrogation) "aqL" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor/tiled/dark,/area/security/interrogation) @@ -873,7 +873,7 @@ "aqO" = (/obj/structure/closet{name = "Evidence Closet"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/evidence_storage) "aqP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled/dark,/area/security/evidence_storage) "aqQ" = (/obj/structure/closet{name = "Evidence Closet"},/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/evidence_storage) -"aqR" = (/obj/machinery/newscaster/security_unit{pixel_x = -30},/obj/machinery/camera/network/security{c_tag = "SEC - HoS' Office"; dir = 4},/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/folder/red_hos,/obj/item/weapon/pen/multi,/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/hos) +"aqR" = (/obj/machinery/newscaster/security_unit{pixel_x = -30},/obj/machinery/camera/network/security{c_tag = "SEC - HoS' Office"; dir = 4},/obj/structure/table/woodentable,/obj/item/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/folder/red_hos,/obj/item/pen/multi,/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/hos) "aqS" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/hos) "aqT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/carpet,/area/crew_quarters/heads/hos) "aqU" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/bed/chair,/turf/simulated/floor/carpet,/area/crew_quarters/heads/hos) @@ -881,13 +881,13 @@ "aqW" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/hos) "aqX" = (/obj/structure/grille,/obj/structure/cable/green,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 8},/obj/structure/window/reinforced/polarized{dir = 4},/turf/simulated/floor/plating,/area/crew_quarters/heads/hos) "aqY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/corner/red{dir = 9},/turf/simulated/floor/tiled,/area/security/main) -"aqZ" = (/obj/structure/table/standard,/obj/item/weapon/folder/red,/turf/simulated/floor/tiled,/area/security/main) +"aqZ" = (/obj/structure/table/standard,/obj/item/folder/red,/turf/simulated/floor/tiled,/area/security/main) "ara" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/effect/landmark/start{name = "Security Officer"},/turf/simulated/floor/tiled,/area/security/main) "arb" = (/obj/effect/floor_decal/corner/red,/obj/machinery/camera/network/security{c_tag = "SEC - Briefing"; dir = 8},/turf/simulated/floor/tiled,/area/security/main) "arc" = (/obj/structure/closet/secure_closet/security,/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/floor_decal/industrial/outline/yellow,/obj/item/clothing/glasses/hud/security,/turf/simulated/floor/tiled,/area/security/security_lockerroom) "ard" = (/obj/structure/closet/secure_closet/security,/obj/machinery/light,/obj/effect/floor_decal/industrial/outline/yellow,/obj/item/clothing/glasses/hud/security,/turf/simulated/floor/tiled,/area/security/security_lockerroom) "are" = (/obj/structure/table/standard,/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = -28},/obj/item/clothing/accessory/badge/holo,/obj/item/clothing/accessory/badge/holo,/obj/item/clothing/accessory/badge/holo/cord,/obj/effect/floor_decal/corner/red/full,/turf/simulated/floor/tiled,/area/security/security_lockerroom) -"arf" = (/obj/structure/table/standard,/obj/structure/reagent_dispensers/peppertank{pixel_x = 30},/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = -28},/obj/effect/floor_decal/corner/red/full{dir = 4},/obj/item/device/radio,/obj/item/device/radio,/obj/item/device/radio,/obj/item/device/radio,/obj/item/device/radio,/obj/item/device/radio,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/weapon/tool/crowbar,/obj/item/weapon/tool/crowbar,/obj/item/weapon/tool/crowbar,/obj/item/weapon/tool/crowbar,/obj/item/weapon/tool/crowbar,/obj/item/weapon/tool/crowbar,/turf/simulated/floor/tiled,/area/security/security_lockerroom) +"arf" = (/obj/structure/table/standard,/obj/structure/reagent_dispensers/peppertank{pixel_x = 30},/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = -28},/obj/effect/floor_decal/corner/red/full{dir = 4},/obj/item/radio,/obj/item/radio,/obj/item/radio,/obj/item/radio,/obj/item/radio,/obj/item/radio,/obj/item/flashlight,/obj/item/flashlight,/obj/item/flashlight,/obj/item/flashlight,/obj/item/flashlight,/obj/item/flashlight,/obj/item/tool/crowbar,/obj/item/tool/crowbar,/obj/item/tool/crowbar,/obj/item/tool/crowbar,/obj/item/tool/crowbar,/obj/item/tool/crowbar,/turf/simulated/floor/tiled,/area/security/security_lockerroom) "arg" = (/obj/structure/curtain/open/shower/security,/obj/machinery/shower{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/window/northleft{name = "Shower"; req_access = list()},/turf/simulated/floor/tiled/freezer,/area/security/security_bathroom) "arh" = (/obj/structure/curtain/open/shower/security,/obj/machinery/shower{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/northright{dir = 1; name = "Shower"; req_access = list()},/turf/simulated/floor/tiled/freezer,/area/security/security_bathroom) "ari" = (/obj/structure/toilet{dir = 1},/obj/machinery/light/small{brightness_color = "#DA0205"; brightness_power = 1; brightness_range = 5},/turf/simulated/floor/tiled/freezer,/area/security/security_bathroom) @@ -914,27 +914,27 @@ "arD" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/secondary/chapel_hallway) "arE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/secondary/chapel_hallway) "arF" = (/obj/structure/table/woodentable,/obj/effect/decal/cleanable/dirt,/obj/item/frame,/turf/simulated/floor,/area/vacant/vacant_site) -"arG" = (/obj/effect/decal/cleanable/dirt,/obj/item/weapon/cigbutt/cigarbutt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/maintenance/chapel) +"arG" = (/obj/effect/decal/cleanable/dirt,/obj/item/cigbutt/cigarbutt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/maintenance/chapel) "arH" = (/turf/simulated/wall/r_wall,/area/security/armoury) "arI" = (/obj/machinery/flasher/portable,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/window/reinforced,/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) "arJ" = (/obj/structure/window/reinforced,/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) -"arK" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/light/small{dir = 8},/obj/item/device/radio/intercom/interrogation{dir = 8; pixel_x = -22},/turf/simulated/floor/tiled/dark,/area/security/interrogation) -"arL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/table/standard,/obj/item/device/flashlight/lamp,/obj/item/device/taperecorder,/turf/simulated/floor/tiled/dark,/area/security/interrogation) +"arK" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/light/small{dir = 8},/obj/item/radio/intercom/interrogation{dir = 8; pixel_x = -22},/turf/simulated/floor/tiled/dark,/area/security/interrogation) +"arL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/table/standard,/obj/item/flashlight/lamp,/obj/item/taperecorder,/turf/simulated/floor/tiled/dark,/area/security/interrogation) "arM" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/dark,/area/security/interrogation) "arN" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/security{name = "Interrogation"; req_access = list(63)},/turf/simulated/floor/tiled/dark,/area/security/interrogation) "arO" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/security/brig) "arP" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/camera/network/security{c_tag = "SEC - Brig Fore Hallway 2"; dir = 8},/turf/simulated/floor/tiled,/area/security/brig) "arQ" = (/turf/simulated/floor/tiled/dark,/area/security/evidence_storage) -"arR" = (/obj/structure/closet{name = "Evidence Closet"},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/evidence_storage) -"arS" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/structure/table/woodentable,/obj/machinery/photocopier/faxmachine{department = "Head of Security"},/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/hos) +"arR" = (/obj/structure/closet{name = "Evidence Closet"},/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/evidence_storage) +"arS" = (/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/structure/table/woodentable,/obj/machinery/photocopier/faxmachine{department = "Head of Security"},/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/hos) "arT" = (/obj/machinery/hologram/holopad,/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/hos) -"arU" = (/obj/structure/table/woodentable,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/flashlight/lamp/green{dir = 2; pixel_x = 10; pixel_y = 12},/turf/simulated/floor/carpet,/area/crew_quarters/heads/hos) -"arV" = (/obj/structure/table/woodentable,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/item/weapon/stamp/hos,/turf/simulated/floor/carpet,/area/crew_quarters/heads/hos) +"arU" = (/obj/structure/table/woodentable,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/flashlight/lamp/green{dir = 2; pixel_x = 10; pixel_y = 12},/turf/simulated/floor/carpet,/area/crew_quarters/heads/hos) +"arV" = (/obj/structure/table/woodentable,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/item/stamp/hos,/turf/simulated/floor/carpet,/area/crew_quarters/heads/hos) "arW" = (/obj/structure/table/woodentable,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/computer/skills{pixel_y = 4},/turf/simulated/floor/carpet,/area/crew_quarters/heads/hos) "arX" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/hos) "arY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/corner/red{dir = 9},/obj/structure/noticeboard{pixel_x = -32},/turf/simulated/floor/tiled,/area/security/main) "arZ" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/security/main) -"asa" = (/obj/structure/table/standard,/turf/simulated/floor/tiled,/area/security/main) +"asa" = (/obj/structure/table/standard,/obj/item/book/codex/corp_regs,/turf/simulated/floor/tiled,/area/security/main) "asb" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/security/main) "asc" = (/turf/simulated/wall/r_wall,/area/security/security_lockerroom) "asd" = (/turf/simulated/wall/r_wall,/area/security/security_bathroom) @@ -944,7 +944,7 @@ "ash" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_aft) "asi" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_aft) "asj" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/glass{name = "Civilian Hallway Access"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_aft) -"ask" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_aft) +"ask" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_aft) "asl" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_aft) "asm" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_aft) "asn" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_aft) @@ -954,7 +954,7 @@ "asr" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_aft) "ass" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/alarm{pixel_y = 22},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_aft) "ast" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_aft) -"asu" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_aft) +"asu" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_aft) "asv" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/camera/network/northern_star{c_tag = "Hall - Civilian Aft Starboard 1"; dir = 2},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_aft) "asw" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_aft) "asx" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_aft) @@ -982,8 +982,8 @@ "asT" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/corner/red{dir = 8},/turf/simulated/floor/tiled,/area/security/brig) "asU" = (/obj/structure/filingcabinet/filingcabinet,/obj/machinery/light_switch{pixel_x = 0; pixel_y = -26},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/dark,/area/security/evidence_storage) "asV" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/dark,/area/security/evidence_storage) -"asW" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/table/standard,/obj/machinery/camera/network/security{c_tag = "SEC - Evidence Storage"; dir = 8},/obj/item/weapon/storage/laundry_basket,/turf/simulated/floor/tiled/dark,/area/security/evidence_storage) -"asX" = (/obj/machinery/photocopier,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/item/weapon/storage/secure/safe{pixel_x = 5; pixel_y = -28},/obj/machinery/keycard_auth{pixel_x = -26},/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/hos) +"asW" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/table/standard,/obj/machinery/camera/network/security{c_tag = "SEC - Evidence Storage"; dir = 8},/obj/item/storage/laundry_basket,/turf/simulated/floor/tiled/dark,/area/security/evidence_storage) +"asX" = (/obj/machinery/photocopier,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/item/storage/secure/safe{pixel_x = 5; pixel_y = -28},/obj/machinery/keycard_auth{pixel_x = -26},/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/hos) "asY" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green,/obj/machinery/light_switch{pixel_x = -12; pixel_y = -24},/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/hos) "asZ" = (/obj/structure/bed/chair/comfy/black{dir = 1},/obj/effect/landmark/start{name = "Head of Security"},/obj/machinery/button/remote/airlock{id = "HoSdoor"; name = "Office Door"; pixel_x = -36; pixel_y = 29},/obj/machinery/button/windowtint{pixel_x = -26; pixel_y = 30; req_access = list(58)},/obj/machinery/button/remote/blast_door{id = "security_lockdown"; name = "Brig Lockdown"; pixel_x = -36; pixel_y = 39; req_access = list(2)},/turf/simulated/floor/carpet,/area/crew_quarters/heads/hos) "ata" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/hos) @@ -993,7 +993,7 @@ "ate" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/security/main) "atf" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/security/main) "atg" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled,/area/security/main) -"ath" = (/obj/effect/floor_decal/corner/red{dir = 6},/obj/item/device/radio/intercom{broadcasting = 0; dir = 4; frequency = 1475; icon_state = "intercom"; listening = 1; name = "Station Intercom (Security)"; pixel_x = 21; pixel_y = 0},/turf/simulated/floor/tiled,/area/security/main) +"ath" = (/obj/effect/floor_decal/corner/red{dir = 6},/obj/item/radio/intercom{broadcasting = 0; dir = 4; frequency = 1475; icon_state = "intercom"; listening = 1; name = "Station Intercom (Security)"; pixel_x = 21; pixel_y = 0},/turf/simulated/floor/tiled,/area/security/main) "ati" = (/turf/simulated/wall/r_wall,/area/security/security_cell_hallway) "atj" = (/obj/machinery/cryopod,/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled/white,/area/security/security_cell_hallway) "atk" = (/obj/machinery/camera/network/security{c_tag = "SEC - Solitary Confinement 1"},/obj/structure/cryofeed,/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/tiled/white,/area/security/security_cell_hallway) @@ -1033,7 +1033,7 @@ "atS" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/chapel_hallway) "atT" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/vacant/vacant_site) "atU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/vacant/vacant_site) -"atV" = (/obj/effect/decal/cleanable/dirt,/obj/item/weapon/cigbutt/cigarbutt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/vacant/vacant_site) +"atV" = (/obj/effect/decal/cleanable/dirt,/obj/item/cigbutt/cigarbutt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/vacant/vacant_site) "atW" = (/obj/structure/table/gamblingtable,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/vacant/vacant_site) "atX" = (/obj/structure/table/gamblingtable,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/random/toy,/turf/simulated/floor/wood,/area/vacant/vacant_site) "atY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor,/area/vacant/vacant_site) @@ -1054,7 +1054,7 @@ "aun" = (/obj/machinery/door/airlock/security{name = "Evidence Storage"; req_access = list(1)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/dark,/area/security/security_processing) "auo" = (/obj/machinery/computer/security,/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/hos) "aup" = (/obj/machinery/computer/secure_data,/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/hos) -"auq" = (/obj/structure/filingcabinet,/obj/item/device/radio/intercom{broadcasting = 0; dir = 2; frequency = 1475; icon_state = "intercom"; listening = 1; name = "Station Intercom (Security)"; pixel_x = 0; pixel_y = -21},/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/hos) +"auq" = (/obj/structure/filingcabinet,/obj/item/radio/intercom{broadcasting = 0; dir = 2; frequency = 1475; icon_state = "intercom"; listening = 1; name = "Station Intercom (Security)"; pixel_x = 0; pixel_y = -21},/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/hos) "aur" = (/obj/structure/closet/secure_closet/hos,/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/hos) "aus" = (/obj/structure/grille,/obj/structure/cable/green,/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 8},/obj/structure/window/reinforced/polarized{dir = 4},/turf/simulated/floor/plating,/area/crew_quarters/heads/hos) "aut" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/security/main) @@ -1062,18 +1062,18 @@ "auv" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled,/area/security/main) "auw" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/effect/floor_decal/corner/red{dir = 6},/turf/simulated/floor/tiled,/area/security/main) "aux" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/corner/red/full{dir = 8},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"auy" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/structure/table/standard,/obj/item/weapon/paper,/obj/item/weapon/pen,/obj/effect/floor_decal/corner/red/full{dir = 1},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"auz" = (/obj/machinery/light/small{dir = 8},/obj/structure/table/standard,/obj/item/weapon/paper,/obj/item/weapon/pen,/obj/effect/floor_decal/corner/red/full{dir = 8},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"auy" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/structure/table/standard,/obj/item/paper,/obj/item/pen,/obj/effect/floor_decal/corner/red/full{dir = 1},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"auz" = (/obj/machinery/light/small{dir = 8},/obj/structure/table/standard,/obj/item/paper,/obj/item/pen,/obj/effect/floor_decal/corner/red/full{dir = 8},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) "auA" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/corner/red/full{dir = 1},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"auB" = (/obj/item/weapon/stool,/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/camera/network/security{c_tag = "SEC - Riot Control"; dir = 4},/turf/simulated/floor,/area/security/riot_control) +"auB" = (/obj/item/stool,/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/camera/network/security{c_tag = "SEC - Riot Control"; dir = 4},/turf/simulated/floor,/area/security/riot_control) "auC" = (/obj/machinery/atmospherics/valve,/turf/simulated/floor,/area/security/riot_control) "auD" = (/turf/simulated/floor,/area/security/riot_control) -"auE" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor,/area/security/riot_control) +"auE" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor,/area/security/riot_control) "auF" = (/obj/machinery/door/airlock/atmos{name = "Riot Control Maintenance"; req_access = newlist(); req_one_access = list(2,12,24)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/security/riot_control) "auG" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "security_lockdown"; name = "Security Blast Door"; opacity = 0},/turf/simulated/floor,/area/maintenance/security_starboard) "auH" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor,/area/maintenance/security_starboard) "auI" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor,/area/maintenance/security_starboard) -"auJ" = (/obj/structure/closet,/obj/item/clothing/glasses/welding,/obj/item/weapon/weldingtool,/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/security,/obj/random/maintenance/security,/turf/simulated/floor/plating,/area/maintenance/security_starboard) +"auJ" = (/obj/structure/closet,/obj/item/clothing/glasses/welding,/obj/item/weldingtool,/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/security,/obj/random/maintenance/security,/turf/simulated/floor/plating,/area/maintenance/security_starboard) "auK" = (/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/civilian_hallway_aft) "auL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_aft) "auM" = (/obj/machinery/door/airlock/glass{name = "Civilian Hallway Access"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_aft) @@ -1103,9 +1103,9 @@ "avk" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/wood,/area/vacant/vacant_site) "avl" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood,/area/vacant/vacant_site) "avm" = (/obj/structure/table/gamblingtable,/turf/simulated/floor/wood,/area/vacant/vacant_site) -"avn" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/table/gamblingtable,/obj/effect/decal/cleanable/dirt,/obj/item/weapon/deck/cards,/turf/simulated/floor,/area/vacant/vacant_site) +"avn" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/table/gamblingtable,/obj/effect/decal/cleanable/dirt,/obj/item/deck/cards,/turf/simulated/floor,/area/vacant/vacant_site) "avo" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/maintenance/chapel) -"avp" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/item/weapon/gun/energy/gun{pixel_x = 3; pixel_y = 3},/obj/item/weapon/gun/energy/gun,/obj/effect/floor_decal/corner/blue/full{dir = 8},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/light{dir = 8},/obj/machinery/door/window/brigdoor/eastleft{name = "Energy"},/turf/simulated/floor/tiled/dark,/area/security/armoury) +"avp" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/item/gun/energy/gun{pixel_x = 3; pixel_y = 3},/obj/item/gun/energy/gun,/obj/effect/floor_decal/corner/blue/full{dir = 8},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/light{dir = 8},/obj/machinery/door/window/brigdoor/eastleft{name = "Energy"},/turf/simulated/floor/tiled/dark,/area/security/armoury) "avq" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/dark,/area/security/armoury) "avr" = (/turf/simulated/floor/tiled/dark,/area/security/armoury) "avs" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/dark,/area/security/armoury) @@ -1113,17 +1113,17 @@ "avu" = (/obj/structure/closet/bombclosetsecurity,/obj/effect/floor_decal/industrial/outline/yellow,/obj/structure/window/reinforced,/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) "avv" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/security/security_equiptment_storage) "avw" = (/obj/machinery/computer/prisoner,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/dark,/area/security/warden) -"avx" = (/obj/structure/filingcabinet/chestdrawer,/obj/effect/floor_decal/industrial/outline/grey,/obj/item/device/radio/intercom{broadcasting = 0; dir = 1; frequency = 1475; icon_state = "intercom"; listening = 1; name = "Station Intercom (Security)"; pixel_x = 0; pixel_y = 21},/turf/simulated/floor/tiled/dark,/area/security/warden) -"avy" = (/obj/structure/table/reinforced,/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = 26},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/camera/network/security{c_tag = "SEC - Warden's Office"},/obj/item/weapon/tool/crowbar,/obj/item/device/radio/off,/obj/item/weapon/tool/wrench,/obj/item/device/retail_scanner/security,/turf/simulated/floor/tiled/dark,/area/security/warden) +"avx" = (/obj/structure/filingcabinet/chestdrawer,/obj/effect/floor_decal/industrial/outline/grey,/obj/item/radio/intercom{broadcasting = 0; dir = 1; frequency = 1475; icon_state = "intercom"; listening = 1; name = "Station Intercom (Security)"; pixel_x = 0; pixel_y = 21},/turf/simulated/floor/tiled/dark,/area/security/warden) +"avy" = (/obj/structure/table/reinforced,/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = 26},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/camera/network/security{c_tag = "SEC - Warden's Office"},/obj/item/tool/crowbar,/obj/item/radio/off,/obj/item/tool/wrench,/obj/item/retail_scanner/security,/turf/simulated/floor/tiled/dark,/area/security/warden) "avz" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/light_switch{pixel_x = 14; pixel_y = 24},/obj/machinery/photocopier,/turf/simulated/floor/tiled/dark,/area/security/warden) "avA" = (/obj/machinery/newscaster/security_unit{pixel_x = 0; pixel_y = 30},/obj/structure/table/reinforced,/obj/machinery/photocopier/faxmachine{department = "Warden's Office"},/turf/simulated/floor/tiled/dark,/area/security/warden) -"avB" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/folder/red,/obj/item/weapon/pen,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/dark,/area/security/warden) +"avB" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/table/reinforced,/obj/item/clipboard,/obj/item/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/folder/red,/obj/item/pen,/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/dark,/area/security/warden) "avC" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/corner/red{dir = 9},/turf/simulated/floor/tiled,/area/security/brig) "avD" = (/obj/effect/floor_decal/corner/red{dir = 6},/turf/simulated/floor/tiled,/area/security/brig) "avE" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/security/security_processing) -"avF" = (/obj/structure/table/standard,/obj/item/weapon/folder/red,/obj/item/weapon/folder/red{pixel_x = 2; pixel_y = 4},/obj/item/weapon/hand_labeler,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/effect/floor_decal/corner/red/full{dir = 8},/turf/simulated/floor/tiled,/area/security/security_processing) +"avF" = (/obj/structure/table/standard,/obj/item/folder/red,/obj/item/folder/red{pixel_x = 2; pixel_y = 4},/obj/item/hand_labeler,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/effect/floor_decal/corner/red/full{dir = 8},/turf/simulated/floor/tiled,/area/security/security_processing) "avG" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/corner/red{dir = 1},/turf/simulated/floor/tiled,/area/security/security_processing) -"avH" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/security/security_processing) +"avH" = (/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/security/security_processing) "avI" = (/obj/effect/floor_decal/corner/red{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/security/security_processing) "avJ" = (/obj/structure/extinguisher_cabinet{pixel_x = 25; pixel_y = 0},/obj/effect/floor_decal/corner/red/full{dir = 1},/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled,/area/security/security_processing) "avK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_security{name = "Briefing Room"; req_access = list(1)},/turf/simulated/floor/tiled,/area/security/main) @@ -1138,11 +1138,11 @@ "avT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/effect/floor_decal/corner/red{dir = 4},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) "avU" = (/obj/machinery/computer/area_atmos/area,/turf/simulated/floor,/area/security/riot_control) "avV" = (/obj/machinery/atmospherics/binary/pump,/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/security/riot_control) -"avW" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/portable_atmospherics/powered/scrubber,/obj/item/weapon/tool/wrench,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/security/riot_control) +"avW" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/portable_atmospherics/powered/scrubber,/obj/item/tool/wrench,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/security/riot_control) "avX" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor,/area/maintenance/security_starboard) "avY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/maintenance/security_starboard) "avZ" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor,/area/maintenance/security_starboard) -"awa" = (/obj/structure/sign/directions/cargo{dir = 2; pixel_x = -32; pixel_z = 8},/obj/structure/sign/directions/medical{dir = 2; pixel_x = -32},/obj/structure/sign/directions/engineering{dir = 2; pixel_x = -32; pixel_z = -8},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/civilian_hallway_aft) +"awa" = (/obj/structure/sign/directions/cargo{dir = 2; pixel_x = -32; pixel_z = 8},/obj/structure/sign/directions/medical{dir = 2; pixel_x = -32},/obj/structure/sign/directions/engineering{dir = 2; pixel_x = -32; pixel_z = -8},/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/civilian_hallway_aft) "awb" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/civilian_hallway_aft) "awc" = (/obj/structure/flora/pottedplant{icon_state = "plant-22"},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/civilian_hallway_aft) "awd" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/civilian_hallway_aft) @@ -1150,35 +1150,35 @@ "awf" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/secondary/civilian_hallway_aft) "awg" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/secondary/civilian_hallway_aft) "awh" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/sign/directions/engineering{dir = 2; pixel_y = -32; pixel_z = 8},/obj/structure/sign/directions/security{dir = 2; pixel_y = -32},/obj/structure/sign/directions/cargo{dir = 2; pixel_y = -32; pixel_z = -8},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/civilian_hallway_aft) -"awi" = (/obj/structure/sign/directions/science{dir = 2; pixel_y = -32; pixel_z = 8},/obj/structure/sign/directions/medical{dir = 2; pixel_y = -32},/obj/structure/sign/directions/evac{pixel_y = -32; pixel_z = -8},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 26},/obj/structure/flora/pottedplant{icon_state = "plant-22"},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/civilian_hallway_aft) +"awi" = (/obj/structure/sign/directions/science{dir = 2; pixel_y = -32; pixel_z = 8},/obj/structure/sign/directions/medical{dir = 2; pixel_y = -32},/obj/structure/sign/directions/evac{pixel_y = -32; pixel_z = -8},/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 26},/obj/structure/flora/pottedplant{icon_state = "plant-22"},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/civilian_hallway_aft) "awj" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green,/turf/simulated/floor/wood,/area/vacant/vacant_site) "awk" = (/obj/structure/bed/chair/comfy/brown{dir = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood,/area/vacant/vacant_site) "awl" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/effect/decal/cleanable/dirt,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/turf/simulated/floor,/area/maintenance/chapel) "awm" = (/obj/effect/floor_decal/industrial/warning,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/maintenance/chapel) -"awn" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 2; health = 1e+006},/obj/item/weapon/gun/energy/ionrifle{pixel_y = -3},/obj/item/weapon/gun/energy/ionrifle{pixel_x = -2; pixel_y = -5},/obj/effect/floor_decal/corner/blue/full,/obj/machinery/door/window/brigdoor/eastright{name = "Energy"},/turf/simulated/floor/tiled/dark,/area/security/armoury) +"awn" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 2; health = 1e+006},/obj/item/gun/energy/ionrifle{pixel_y = -3},/obj/item/gun/energy/ionrifle{pixel_x = -2; pixel_y = -5},/obj/effect/floor_decal/corner/blue/full,/obj/machinery/door/window/brigdoor/eastright{name = "Energy"},/turf/simulated/floor/tiled/dark,/area/security/armoury) "awo" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/security/armoury) "awp" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled/dark,/area/security/armoury) "awq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark,/area/security/armoury) -"awr" = (/obj/structure/sign/securearea{name = "\improper ARMORY"; pixel_x = -32; pixel_y = 0},/obj/structure/window/reinforced{dir = 1},/obj/structure/table/rack,/obj/effect/floor_decal/industrial/outline/yellow,/obj/item/weapon/gun/energy/taser,/obj/item/weapon/gun/energy/taser,/obj/item/weapon/gun/energy/taser,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) -"aws" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table/rack,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/reagent_containers/spray/pepper,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) +"awr" = (/obj/structure/sign/securearea{name = "\improper ARMORY"; pixel_x = -32; pixel_y = 0},/obj/structure/window/reinforced{dir = 1},/obj/structure/table/rack,/obj/effect/floor_decal/industrial/outline/yellow,/obj/item/gun/energy/taser,/obj/item/gun/energy/taser,/obj/item/gun/energy/taser,/obj/item/gun/energy/stunrevolver,/obj/item/gun/energy/stunrevolver,/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) +"aws" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table/rack,/obj/item/reagent_containers/spray/pepper,/obj/item/reagent_containers/spray/pepper,/obj/item/reagent_containers/spray/pepper,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) "awt" = (/obj/structure/closet/l3closet/security,/obj/effect/floor_decal/industrial/outline/yellow,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) "awu" = (/obj/structure/closet/l3closet/security,/obj/effect/floor_decal/industrial/outline/yellow,/obj/structure/window/reinforced{dir = 1},/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/camera/network/security{c_tag = "SEC - Equipment Storage"; dir = 9},/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) "awv" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/security/security_equiptment_storage) "aww" = (/turf/simulated/floor/tiled/dark,/area/security/warden) "awx" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/dark,/area/security/warden) "awy" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/machinery/button/remote/blast_door{id = "security_lockdown"; name = "Brig Lockdown"; pixel_x = 36; pixel_y = 18; req_access = list(2)},/obj/machinery/button/remote/blast_door{id = "brigobs"; name = "Observation Shutters"; pixel_x = 24; pixel_y = 18; req_access = list(2)},/turf/simulated/floor/tiled/dark,/area/security/warden) -"awz" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/table/reinforced,/obj/item/weapon/material/ashtray/glass,/obj/structure/window/reinforced,/obj/item/weapon/stamp/denied{pixel_x = 5},/obj/item/weapon/stamp/ward,/turf/simulated/floor/tiled/dark,/area/security/warden) +"awz" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/table/reinforced,/obj/item/material/ashtray/glass,/obj/structure/window/reinforced,/obj/item/book/codex/corp_regs,/obj/item/stamp/denied{pixel_x = 5},/obj/item/stamp/ward,/turf/simulated/floor/tiled/dark,/area/security/warden) "awA" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/effect/floor_decal/corner/red{dir = 1},/turf/simulated/floor/tiled,/area/security/brig) "awB" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/corner/red{dir = 4},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled,/area/security/brig) "awC" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/security/security_processing) -"awD" = (/obj/structure/table/standard,/obj/item/device/taperecorder,/obj/effect/floor_decal/corner/red{dir = 1},/turf/simulated/floor/tiled,/area/security/security_processing) +"awD" = (/obj/structure/table/standard,/obj/item/taperecorder,/obj/effect/floor_decal/corner/red{dir = 1},/turf/simulated/floor/tiled,/area/security/security_processing) "awE" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/security/security_processing) -"awF" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp,/turf/simulated/floor/tiled,/area/security/security_processing) +"awF" = (/obj/structure/table/standard,/obj/item/flashlight/lamp,/turf/simulated/floor/tiled,/area/security/security_processing) "awG" = (/obj/structure/bed/chair,/turf/simulated/floor/tiled,/area/security/security_processing) -"awH" = (/obj/effect/floor_decal/corner/red{dir = 4},/obj/item/device/radio/intercom{broadcasting = 0; dir = 4; frequency = 1475; icon_state = "intercom"; listening = 1; name = "Station Intercom (Security)"; pixel_x = 21; pixel_y = 0},/turf/simulated/floor/tiled,/area/security/security_processing) -"awI" = (/obj/structure/table/standard,/obj/item/device/healthanalyzer,/obj/item/stack/medical/bruise_pack{pixel_x = -4; pixel_y = 3},/obj/item/stack/medical/bruise_pack{pixel_x = 10},/obj/item/stack/medical/ointment{pixel_y = 10},/obj/machinery/alarm{pixel_y = 22},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/random/medical/lite,/turf/simulated/floor/tiled/white,/area/security/security_aid_station) -"awJ" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/syringe/inaprovaline,/obj/item/weapon/reagent_containers/syringe/inaprovaline{pixel_x = -2; pixel_y = 5},/obj/item/weapon/reagent_containers/syringe/inaprovaline{pixel_y = 10},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 14; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled/white,/area/security/security_aid_station) -"awK" = (/obj/structure/table/standard,/obj/item/bodybag/cryobag{pixel_x = 6},/obj/item/weapon/storage/firstaid/regular{pixel_x = 5; pixel_y = 5},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/white,/area/security/security_aid_station) +"awH" = (/obj/effect/floor_decal/corner/red{dir = 4},/obj/item/radio/intercom{broadcasting = 0; dir = 4; frequency = 1475; icon_state = "intercom"; listening = 1; name = "Station Intercom (Security)"; pixel_x = 21; pixel_y = 0},/turf/simulated/floor/tiled,/area/security/security_processing) +"awI" = (/obj/structure/table/standard,/obj/item/healthanalyzer,/obj/item/stack/medical/bruise_pack{pixel_x = -4; pixel_y = 3},/obj/item/stack/medical/bruise_pack{pixel_x = 10},/obj/item/stack/medical/ointment{pixel_y = 10},/obj/machinery/alarm{pixel_y = 22},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/random/medical/lite,/turf/simulated/floor/tiled/white,/area/security/security_aid_station) +"awJ" = (/obj/structure/table/standard,/obj/item/reagent_containers/syringe/inaprovaline,/obj/item/reagent_containers/syringe/inaprovaline{pixel_x = -2; pixel_y = 5},/obj/item/reagent_containers/syringe/inaprovaline{pixel_y = 10},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 14; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled/white,/area/security/security_aid_station) +"awK" = (/obj/structure/table/standard,/obj/item/bodybag/cryobag{pixel_x = 6},/obj/item/storage/firstaid/regular{pixel_x = 5; pixel_y = 5},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/white,/area/security/security_aid_station) "awL" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/security/security_aid_station) "awM" = (/obj/machinery/vending/coffee,/obj/effect/floor_decal/corner/red/full{dir = 8},/turf/simulated/floor/tiled,/area/security/brig) "awN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/security/brig) @@ -1192,7 +1192,7 @@ "awV" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/structure/plushie/beepsky,/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/maintenance/security_starboard) "awW" = (/obj/item/tape/atmos,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor,/area/maintenance/security_starboard) "awX" = (/obj/random/obstruction,/turf/simulated/floor,/area/maintenance/security_starboard) -"awY" = (/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris,/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris,/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris,/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris,/turf/simulated/floor,/area/maintenance/security_starboard) +"awY" = (/obj/item/reagent_containers/food/snacks/grown/ambrosiavulgaris,/obj/item/reagent_containers/food/snacks/grown/ambrosiavulgaris,/obj/item/reagent_containers/food/snacks/grown/ambrosiavulgaris,/obj/item/reagent_containers/food/snacks/grown/ambrosiavulgaris,/turf/simulated/floor,/area/maintenance/security_starboard) "awZ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/glass{name = "Civilian Hallway Access"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_aft) "axa" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass{name = "Civilian Hallway Access"},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_aft) "axb" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/glass{name = "Civilian Hallway Access"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_aft) @@ -1203,7 +1203,7 @@ "axg" = (/obj/machinery/door/airlock/glass{name = "Recreation Area"},/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) "axh" = (/obj/machinery/door/airlock/glass{name = "Recreation Area"},/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) "axi" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/maintenance/chapel) -"axj" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 2; health = 1e+006},/obj/item/weapon/gun/projectile/shotgun/pump{pixel_x = -3; pixel_y = 3},/obj/item/weapon/gun/projectile/shotgun/pump,/obj/effect/floor_decal/corner/green/full,/obj/machinery/door/window/brigdoor/eastright{name = "Ballistics"},/turf/simulated/floor/tiled/dark,/area/security/armoury) +"axj" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 2; health = 1e+006},/obj/item/gun/projectile/shotgun/pump{pixel_x = -3; pixel_y = 3},/obj/item/gun/projectile/shotgun/pump,/obj/effect/floor_decal/corner/green/full,/obj/machinery/door/window/brigdoor/eastright{name = "Ballistics"},/turf/simulated/floor/tiled/dark,/area/security/armoury) "axk" = (/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = -30},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/armoury) "axl" = (/obj/machinery/door/airlock/highsecurity{name = "Secure Armoury Section"; req_access = list(3)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/dark,/area/security/armoury) "axm" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) @@ -1217,7 +1217,7 @@ "axu" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled/dark,/area/security/warden) "axv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/dark,/area/security/warden) "axw" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/dark,/area/security/warden) -"axx" = (/obj/structure/table/reinforced,/obj/item/weapon/hand_labeler,/obj/machinery/door/window/brigdoor/eastleft{name = "Warden's Desk"; req_access = list(1)},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/door/window/westright{name = "Warden's Desk"; req_access = list(3)},/turf/simulated/floor/tiled/dark,/area/security/warden) +"axx" = (/obj/structure/table/reinforced,/obj/item/hand_labeler,/obj/machinery/door/window/brigdoor/eastleft{name = "Warden's Desk"; req_access = list(1)},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/door/window/westright{name = "Warden's Desk"; req_access = list(3)},/turf/simulated/floor/tiled/dark,/area/security/warden) "axy" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/security/brig) "axz" = (/turf/simulated/floor/tiled,/area/security/brig) "axA" = (/obj/machinery/door/airlock/glass_security{name = "Security Processing"; req_access = list(1)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/security/security_processing) @@ -1244,7 +1244,7 @@ "axV" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/corner/red{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden{icon_state = "intact"; dir = 4},/obj/machinery/computer/cryopod{density = 0; layer = 3.3; pixel_y = 32},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) "axW" = (/obj/machinery/atmospherics/pipe/simple/hidden{icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/security/security_cell_hallway) "axX" = (/obj/effect/floor_decal/corner/red{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"axY" = (/obj/effect/floor_decal/corner/red{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden{icon_state = "intact"; dir = 4},/obj/item/device/radio/intercom{broadcasting = 0; dir = 1; frequency = 1475; icon_state = "intercom"; listening = 1; name = "Station Intercom (Security)"; pixel_x = 0; pixel_y = 21},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"axY" = (/obj/effect/floor_decal/corner/red{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden{icon_state = "intact"; dir = 4},/obj/item/radio/intercom{broadcasting = 0; dir = 1; frequency = 1475; icon_state = "intercom"; listening = 1; name = "Station Intercom (Security)"; pixel_x = 0; pixel_y = 21},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) "axZ" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) "aya" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_fore) "ayb" = (/obj/structure/plasticflaps{opacity = 1},/obj/machinery/navbeacon/delivery/west{location = "Security"},/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/industrial/loading{icon_state = "loadingarea"; dir = 8},/turf/simulated/floor/plating,/area/security/security_cell_hallway) @@ -1259,12 +1259,12 @@ "ayk" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) "ayl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) "aym" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) -"ayn" = (/obj/structure/disposalpipe/segment,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 26},/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) +"ayn" = (/obj/structure/disposalpipe/segment,/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 26},/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) "ayo" = (/turf/simulated/wall,/area/maintenance/pool) "ayp" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/maintenance/pool) -"ayq" = (/obj/structure/closet/crate,/obj/item/weapon/tank/emergency/oxygen/engi,/obj/item/weapon/tank/emergency/oxygen/double,/obj/effect/decal/cleanable/cobweb2,/obj/effect/landmark{name = "blobstart"},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/pool) +"ayq" = (/obj/structure/closet/crate,/obj/item/tank/emergency/oxygen/engi,/obj/item/tank/emergency/oxygen/double,/obj/effect/decal/cleanable/cobweb2,/obj/effect/landmark{name = "blobstart"},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/pool) "ayr" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 2; health = 1e+006},/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/corner/red/full,/obj/item/ammo_magazine/m9mmt/rubber,/obj/item/ammo_magazine/m9mmt/rubber,/obj/item/ammo_magazine/m9mmt/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/machinery/door/window/brigdoor/northleft{name = "Ammo"; req_access = list(2)},/obj/item/ammo_magazine/s45/rubber,/obj/item/ammo_magazine/s45/rubber,/turf/simulated/floor/tiled/dark,/area/security/armoury) -"ays" = (/obj/structure/window/reinforced{dir = 2; health = 1e+006},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/window/brigdoor/northright{name = "Ammo"},/obj/structure/table/rack,/obj/effect/floor_decal/corner/red/full{dir = 4},/obj/item/weapon/storage/box/flashshells,/obj/item/weapon/storage/box/beanbags,/obj/item/weapon/storage/box/beanbags,/obj/item/weapon/storage/box/stunshells,/obj/item/weapon/storage/box/stunshells,/turf/simulated/floor/tiled/dark,/area/security/armoury) +"ays" = (/obj/structure/window/reinforced{dir = 2; health = 1e+006},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/window/brigdoor/northright{name = "Ammo"},/obj/structure/table/rack,/obj/effect/floor_decal/corner/red/full{dir = 4},/obj/item/storage/box/flashshells,/obj/item/storage/box/beanbags,/obj/item/storage/box/beanbags,/obj/item/storage/box/stunshells,/obj/item/storage/box/stunshells,/turf/simulated/floor/tiled/dark,/area/security/armoury) "ayt" = (/obj/machinery/camera/network/security{c_tag = "SEC - Secure Armory Fore"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark,/area/security/armoury) "ayu" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) "ayv" = (/obj/machinery/light,/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) @@ -1281,7 +1281,7 @@ "ayG" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled,/area/security/security_processing) "ayH" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled,/area/security/security_processing) "ayI" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/security/security_processing) -"ayJ" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/table/standard,/obj/item/weapon/storage/box/evidence,/obj/machinery/light_switch{pixel_x = 36; pixel_y = 0},/obj/effect/floor_decal/corner/red,/turf/simulated/floor/tiled,/area/security/security_processing) +"ayJ" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/table/standard,/obj/item/storage/box/evidence,/obj/machinery/light_switch{pixel_x = 36; pixel_y = 0},/obj/effect/floor_decal/corner/red,/turf/simulated/floor/tiled,/area/security/security_processing) "ayK" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/camera/network/security{c_tag = "SEC - Medical Station"; dir = 4},/turf/simulated/floor/tiled/white,/area/security/security_aid_station) "ayL" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/security/security_aid_station) "ayM" = (/obj/structure/bed/roller,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled/white,/area/security/security_aid_station) @@ -1289,11 +1289,11 @@ "ayO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/security/brig) "ayP" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/security/brig) "ayQ" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_security{name = "Security Cells"; req_access = list(1)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"ayR" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"ayR" = (/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) "ayS" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) "ayT" = (/obj/machinery/button/remote/blast_door{id = "Cell 1"; name = "Cell 1 Door"; pixel_x = -1; pixel_y = -28; req_access = list(2)},/obj/effect/floor_decal/corner/red,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/junction{dir = 8; icon_state = "pipe-j2"},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) "ayU" = (/obj/machinery/door_timer/cell_3{id = "Cell 1"; name = "Cell 1"; pixel_y = -32},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/corner/red{dir = 10},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"ayV" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/corner/red{dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"ayV" = (/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/corner/red{dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) "ayW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) "ayX" = (/obj/machinery/button/remote/blast_door{id = "Cell 2"; name = "Cell 2 Door"; pixel_x = -1; pixel_y = -28; req_access = list(2)},/obj/effect/floor_decal/corner/red,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera/network/security{c_tag = "SEC - Cell Hallway"; dir = 1},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) "ayY" = (/obj/machinery/door_timer/cell_3{id = "Cell 2"; name = "Cell 2"; pixel_y = -32},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/corner/red{dir = 10},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) @@ -1318,17 +1318,17 @@ "azr" = (/turf/simulated/wall,/area/crew_quarters/pool) "azs" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/maintenance/pool) "azt" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/maintenance/pool) -"azu" = (/obj/structure/table/rack,/obj/effect/floor_decal/corner/red/full{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/item/clothing/gloves/arm_guard/riot,/obj/item/clothing/shoes/leg_guard/riot,/obj/item/clothing/suit/armor/riot/alt,/obj/item/clothing/head/helmet/riot,/obj/item/weapon/shield/riot,/obj/item/weapon/melee/baton/loaded,/obj/machinery/door/window/brigdoor/eastleft{name = "Riot Armor"},/turf/simulated/floor/tiled/dark,/area/security/armoury) +"azu" = (/obj/structure/table/rack,/obj/effect/floor_decal/corner/red/full{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/item/clothing/gloves/arm_guard/riot,/obj/item/clothing/shoes/leg_guard/riot,/obj/item/clothing/suit/armor/riot/alt,/obj/item/clothing/head/helmet/riot,/obj/item/shield/riot,/obj/item/melee/baton/loaded,/obj/machinery/door/window/brigdoor/eastleft{name = "Riot Armor"},/turf/simulated/floor/tiled/dark,/area/security/armoury) "azv" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/tiled/dark,/area/security/armoury) -"azw" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/empslite{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/box/flashbangs{pixel_x = -2; pixel_y = -2},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/armoury) -"azx" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/handcuffs{pixel_x = 8; pixel_y = 6},/obj/item/weapon/storage/box/chemimp{pixel_x = 4; pixel_y = 3},/obj/item/weapon/storage/box/trackimp,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/armoury) +"azw" = (/obj/structure/table/standard,/obj/item/storage/box/empslite{pixel_x = 2; pixel_y = 2},/obj/item/storage/box/flashbangs{pixel_x = -2; pixel_y = -2},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/armoury) +"azx" = (/obj/structure/table/standard,/obj/item/storage/box/handcuffs{pixel_x = 8; pixel_y = 6},/obj/item/storage/box/chemimp{pixel_x = 4; pixel_y = 3},/obj/item/storage/box/trackimp,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/armoury) "azy" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/armoury) "azz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 8},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/security/security_equiptment_storage) "azA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/security_equiptment_storage) "azB" = (/obj/machinery/door/airlock/security{name = "Equipment Storage"; req_access = list(2)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) "azC" = (/turf/simulated/wall,/area/security/security_equiptment_storage) "azD" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/window/brigdoor/northleft{name = "Weapons locker"; req_access = list(2)},/obj/effect/floor_decal/industrial/outline/yellow,/obj/structure/window/reinforced{dir = 4},/obj/item/clothing/suit/storage/vest/heavy/officer,/obj/item/clothing/suit/storage/vest/heavy/officer,/obj/item/clothing/suit/storage/vest/heavy/officer,/obj/item/clothing/suit/storage/vest/heavy/officer,/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) -"azE" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/table/rack,/obj/machinery/door/window/brigdoor/northleft{name = "Weapons locker"; req_access = list(2)},/obj/effect/floor_decal/industrial/outline/yellow,/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/gun/projectile/colt/detective,/obj/item/weapon/gun/projectile/colt/detective,/obj/item/weapon/gun/projectile/colt/detective,/obj/item/weapon/gun/projectile/colt/detective,/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) +"azE" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/table/rack,/obj/machinery/door/window/brigdoor/northleft{name = "Weapons locker"; req_access = list(2)},/obj/effect/floor_decal/industrial/outline/yellow,/obj/structure/window/reinforced{dir = 8},/obj/item/gun/projectile/colt/detective,/obj/item/gun/projectile/colt/detective,/obj/item/gun/projectile/colt/detective,/obj/item/gun/projectile/colt/detective,/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) "azF" = (/obj/machinery/disposal,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/disposalpipe/trunk,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/warden) "azG" = (/obj/structure/closet/secure_closet/warden,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/warden) "azH" = (/obj/machinery/computer/secure_data,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/warden) @@ -1340,8 +1340,8 @@ "azN" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/computer/secure_data,/obj/effect/floor_decal/corner/red/full,/turf/simulated/floor/tiled,/area/security/security_processing) "azO" = (/obj/effect/floor_decal/corner/red{dir = 8},/obj/machinery/light,/turf/simulated/floor/tiled,/area/security/security_processing) "azP" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/security/security_processing) -"azQ" = (/obj/structure/table/standard,/obj/item/device/camera,/obj/effect/floor_decal/corner/red,/turf/simulated/floor/tiled,/area/security/security_processing) -"azR" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/machinery/newscaster{pixel_x = 26; pixel_y = 1},/obj/effect/floor_decal/corner/red/full{dir = 4},/turf/simulated/floor/tiled,/area/security/security_processing) +"azQ" = (/obj/structure/table/standard,/obj/item/camera,/obj/effect/floor_decal/corner/red,/turf/simulated/floor/tiled,/area/security/security_processing) +"azR" = (/obj/structure/table/standard,/obj/item/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/pen,/obj/machinery/newscaster{pixel_x = 26; pixel_y = 1},/obj/effect/floor_decal/corner/red/full{dir = 4},/turf/simulated/floor/tiled,/area/security/security_processing) "azS" = (/obj/machinery/door/airlock/glass_security{name = "Security Medical"; req_access = newlist()},/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/security/security_aid_station) "azT" = (/turf/simulated/wall,/area/security/security_aid_station) "azU" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/corner/red{dir = 9},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/security/brig) @@ -1359,10 +1359,10 @@ "aAg" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/security_starboard) "aAh" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor/plating,/area/maintenance/security_starboard) "aAi" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/maintenance/security_starboard) -"aAj" = (/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor,/area/maintenance/security_starboard) +"aAj" = (/obj/item/reagent_containers/glass/bucket,/turf/simulated/floor,/area/maintenance/security_starboard) "aAk" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/closet/l3closet/janitor,/turf/simulated/floor/tiled,/area/janitor) -"aAl" = (/obj/structure/table/steel,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor/tiled,/area/janitor) -"aAm" = (/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/machinery/requests_console{department = "Janitorial"; departmentType = 1; pixel_y = 28},/obj/item/weapon/reagent_containers/spray/cleaner,/obj/structure/table/steel,/obj/item/weapon/storage/box/mousetraps,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor/tiled,/area/janitor) +"aAl" = (/obj/structure/table/steel,/obj/item/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/pen,/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor/tiled,/area/janitor) +"aAm" = (/obj/item/grenade/chem_grenade/cleaner,/obj/item/grenade/chem_grenade/cleaner,/obj/item/grenade/chem_grenade/cleaner,/obj/machinery/requests_console{department = "Janitorial"; departmentType = 1; pixel_y = 28},/obj/item/reagent_containers/spray/cleaner,/obj/structure/table/steel,/obj/item/storage/box/mousetraps,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/item/storage/box/lights/mixed,/obj/item/storage/box/lights/mixed,/obj/item/reagent_containers/spray/cleaner,/turf/simulated/floor/tiled,/area/janitor) "aAn" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_aft) "aAo" = (/turf/simulated/wall,/area/lawoffice) "aAp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/crew_quarters/recreation_area_hallway) @@ -1371,27 +1371,27 @@ "aAs" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) "aAt" = (/obj/structure/disposalpipe/segment,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) "aAu" = (/obj/structure/flora/pottedplant{icon_state = "plant-22"},/turf/simulated/floor/carpet,/area/crew_quarters/recreation_area) -"aAv" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/carpet,/area/crew_quarters/recreation_area) +"aAv" = (/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/carpet,/area/crew_quarters/recreation_area) "aAw" = (/obj/machinery/computer/arcade,/turf/simulated/floor/carpet,/area/crew_quarters/recreation_area) "aAx" = (/obj/structure/table/woodentable,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/recharger{pixel_y = 0},/turf/simulated/floor/carpet,/area/crew_quarters/recreation_area) -"aAy" = (/obj/structure/table/woodentable,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/item/device/paicard,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/carpet,/area/crew_quarters/recreation_area) -"aAz" = (/obj/structure/table/woodentable,/obj/item/weapon/coin/silver,/obj/machinery/ai_status_display{pixel_y = 32},/obj/machinery/camera/network/civilian{c_tag = "CIV - Recreation Area Fore"; dir = 2},/obj/item/clothing/glasses/threedglasses,/turf/simulated/floor/carpet,/area/crew_quarters/recreation_area) +"aAy" = (/obj/structure/table/woodentable,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/item/paicard,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/carpet,/area/crew_quarters/recreation_area) +"aAz" = (/obj/structure/table/woodentable,/obj/item/coin/silver,/obj/machinery/ai_status_display{pixel_y = 32},/obj/machinery/camera/network/civilian{c_tag = "CIV - Recreation Area Fore"; dir = 2},/obj/item/clothing/glasses/threedglasses,/turf/simulated/floor/carpet,/area/crew_quarters/recreation_area) "aAA" = (/obj/machinery/computer/arcade/orion_trail,/turf/simulated/floor/carpet,/area/crew_quarters/recreation_area) "aAB" = (/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/carpet,/area/crew_quarters/recreation_area) "aAC" = (/obj/structure/closet/athletic_mixed,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/pool) -"aAD" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/pool) +"aAD" = (/obj/item/stool/padded,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/pool) "aAE" = (/obj/structure/table/glass,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/pool) -"aAF" = (/obj/item/weapon/stool/padded,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/pool) +"aAF" = (/obj/item/stool/padded,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/pool) "aAG" = (/obj/structure/closet/secure_closet/personal,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/pool) "aAH" = (/obj/structure/closet/secure_closet/personal,/obj/machinery/camera/network/civilian{c_tag = "CIV - Pool Fore"; dir = 2},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/pool) -"aAI" = (/obj/item/weapon/stool/padded,/obj/machinery/ai_status_display{pixel_y = 32},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/pool) +"aAI" = (/obj/item/stool/padded,/obj/machinery/ai_status_display{pixel_y = 32},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/pool) "aAJ" = (/obj/structure/table/glass,/obj/item/inflatable{pixel_x = 6; pixel_y = 6},/obj/item/inflatable{pixel_x = 2; pixel_y = 2},/obj/item/inflatable{pixel_x = -2; pixel_y = -3},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/pool) "aAK" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/maintenance/pool) "aAL" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor,/area/maintenance/pool) -"aAM" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/brigdoor/eastright{name = "Riot Armor"},/obj/item/clothing/gloves/arm_guard/riot,/obj/item/clothing/shoes/leg_guard/riot,/obj/item/clothing/suit/armor/riot/alt,/obj/item/clothing/head/helmet/riot,/obj/item/weapon/shield/riot,/obj/item/weapon/melee/baton/loaded,/obj/effect/floor_decal/corner/red/full,/obj/structure/window/reinforced,/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aAM" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/brigdoor/eastright{name = "Riot Armor"},/obj/item/clothing/gloves/arm_guard/riot,/obj/item/clothing/shoes/leg_guard/riot,/obj/item/clothing/suit/armor/riot/alt,/obj/item/clothing/head/helmet/riot,/obj/item/shield/riot,/obj/item/melee/baton/loaded,/obj/effect/floor_decal/corner/red/full,/obj/structure/window/reinforced,/turf/simulated/floor/tiled/dark,/area/security/armoury) "aAN" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/dark,/area/security/armoury) "aAO" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark,/area/security/armoury) -"aAP" = (/obj/item/weapon/stool,/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aAP" = (/obj/item/stool,/turf/simulated/floor/tiled/dark,/area/security/armoury) "aAQ" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/security/armoury) "aAR" = (/obj/machinery/door/blast/regular{id = "Armoury"; name = "Emergency Access"},/turf/simulated/floor/tiled,/area/security/armoury) "aAS" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/floor/tiled,/area/security/brig) @@ -1426,13 +1426,13 @@ "aBv" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor,/area/maintenance/security_starboard) "aBw" = (/obj/machinery/atmospherics/valve,/turf/simulated/floor,/area/maintenance/security_starboard) "aBx" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor,/area/maintenance/security_starboard) -"aBy" = (/obj/machinery/status_display{pixel_x = 0; pixel_y = 32},/obj/structure/closet/jcloset,/obj/item/weapon/soap/nanotrasen,/turf/simulated/floor/tiled,/area/janitor) +"aBy" = (/obj/machinery/status_display{pixel_x = 0; pixel_y = 32},/obj/structure/closet/jcloset,/obj/item/soap/nanotrasen,/turf/simulated/floor/tiled,/area/janitor) "aBz" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/janitor) -"aBA" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/item/weapon/stool/padded,/obj/effect/landmark/start{name = "Janitor"},/turf/simulated/floor/tiled,/area/janitor) -"aBB" = (/obj/item/weapon/stool/padded,/obj/effect/landmark/start{name = "Janitor"},/turf/simulated/floor/tiled,/area/janitor) +"aBA" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/item/stool/padded,/obj/effect/landmark/start{name = "Janitor"},/turf/simulated/floor/tiled,/area/janitor) +"aBB" = (/obj/item/stool/padded,/obj/effect/landmark/start{name = "Janitor"},/turf/simulated/floor/tiled,/area/janitor) "aBC" = (/obj/machinery/door/window/westright{name = "Janitoral Desk"; req_access = list(26)},/obj/structure/table/reinforced,/obj/machinery/door/window/eastleft{name = "Janitorial Desk"},/obj/structure/noticeboard{pixel_y = 27},/obj/machinery/door/blast/shutters{dir = 4; id = "janitor_blast"; layer = 3.1; name = "Janitorial Shutters"},/turf/simulated/floor/tiled,/area/janitor) "aBD" = (/obj/structure/disposalpipe/segment,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_aft) -"aBE" = (/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/obj/item/weapon/clipboard,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/dark,/area/lawoffice) +"aBE" = (/obj/structure/table/reinforced,/obj/item/clipboard,/obj/item/clipboard,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/dark,/area/lawoffice) "aBF" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/tiled/dark,/area/lawoffice) "aBG" = (/obj/structure/filingcabinet/chestdrawer,/turf/simulated/floor/tiled/dark,/area/lawoffice) "aBH" = (/turf/simulated/wall,/area/holodeck_control) @@ -1446,14 +1446,14 @@ "aBP" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) "aBQ" = (/obj/structure/reagent_dispensers/water_cooler/full,/turf/simulated/floor/carpet,/area/crew_quarters/recreation_area) "aBR" = (/turf/simulated/floor/carpet,/area/crew_quarters/recreation_area) -"aBS" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/carpet,/area/crew_quarters/recreation_area) +"aBS" = (/obj/item/stool/padded,/turf/simulated/floor/carpet,/area/crew_quarters/recreation_area) "aBT" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/carpet,/area/crew_quarters/recreation_area) "aBU" = (/obj/structure/closet/lasertag/blue,/turf/simulated/floor/carpet,/area/crew_quarters/recreation_area) "aBV" = (/turf/simulated/floor/tiled/freezer,/area/crew_quarters/pool) "aBW" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/pool) "aBX" = (/obj/structure/extinguisher_cabinet{pixel_x = 25; pixel_y = 0},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/pool) "aBY" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor,/area/maintenance/pool) -"aBZ" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 8},/obj/item/clothing/gloves/arm_guard/riot,/obj/item/clothing/shoes/leg_guard/riot,/obj/item/clothing/suit/armor/riot/alt,/obj/item/clothing/head/helmet/riot,/obj/item/weapon/shield/riot,/obj/item/weapon/melee/baton/loaded,/obj/effect/floor_decal/corner/red/full{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/machinery/door/window/brigdoor/eastleft{name = "Riot Armor"},/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aBZ" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 8},/obj/item/clothing/gloves/arm_guard/riot,/obj/item/clothing/shoes/leg_guard/riot,/obj/item/clothing/suit/armor/riot/alt,/obj/item/clothing/head/helmet/riot,/obj/item/shield/riot,/obj/item/melee/baton/loaded,/obj/effect/floor_decal/corner/red/full{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/machinery/door/window/brigdoor/eastleft{name = "Riot Armor"},/turf/simulated/floor/tiled/dark,/area/security/armoury) "aCa" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled/dark,/area/security/armoury) "aCb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark,/area/security/armoury) "aCc" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled/dark,/area/security/armoury) @@ -1499,23 +1499,23 @@ "aCQ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/machinery/meter,/turf/simulated/floor,/area/maintenance/security_starboard) "aCR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/maintenance/security_starboard) "aCS" = (/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor,/area/maintenance/security_starboard) -"aCT" = (/obj/structure/closet/jcloset,/obj/machinery/alarm{pixel_y = 22},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/item/weapon/soap/nanotrasen,/turf/simulated/floor/tiled,/area/janitor) +"aCT" = (/obj/structure/closet/jcloset,/obj/machinery/alarm{pixel_y = 22},/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/item/soap/nanotrasen,/turf/simulated/floor/tiled,/area/janitor) "aCU" = (/turf/simulated/floor/tiled,/area/janitor) "aCV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/janitor) "aCW" = (/obj/machinery/light_switch{pixel_x = 34; pixel_y = 1},/obj/machinery/button/remote/blast_door{id = "janitor_blast"; name = "Privacy Shutters"; pixel_x = 26; pixel_y = 0},/obj/machinery/camera/network/civilian{c_tag = "CIV - Custodial Closet"; dir = 9},/turf/simulated/floor/tiled,/area/janitor) "aCX" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera/network/northern_star{c_tag = "Hall - Civilian Primary Aft 2"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_aft) -"aCY" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/dark,/area/lawoffice) +"aCY" = (/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/dark,/area/lawoffice) "aCZ" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark,/area/lawoffice) -"aDa" = (/obj/structure/table/reinforced,/obj/item/device/flashlight/lamp,/turf/simulated/floor/tiled/dark,/area/lawoffice) +"aDa" = (/obj/structure/table/reinforced,/obj/item/flashlight/lamp,/turf/simulated/floor/tiled/dark,/area/lawoffice) "aDb" = (/obj/machinery/newscaster{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled/dark,/area/lawoffice) "aDc" = (/obj/structure/table/standard,/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/holodeck_control) "aDd" = (/turf/simulated/floor/reinforced{name = "Holodeck Projector Floor"},/area/holodeck/alphadeck) "aDe" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/holodeck_control) -"aDf" = (/obj/structure/table/glass,/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) +"aDf" = (/obj/structure/table/glass,/obj/item/book/codex/lore/vir,/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) "aDg" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) "aDh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) "aDi" = (/obj/structure/disposalpipe/segment,/obj/machinery/newscaster{pixel_x = 30},/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) -"aDj" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/box/cups,/obj/machinery/light{dir = 8},/turf/simulated/floor/carpet,/area/crew_quarters/recreation_area) +"aDj" = (/obj/structure/table/woodentable,/obj/item/storage/box/cups,/obj/machinery/light{dir = 8},/turf/simulated/floor/carpet,/area/crew_quarters/recreation_area) "aDk" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/carpet,/area/crew_quarters/recreation_area) "aDl" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/turf/simulated/floor/carpet,/area/crew_quarters/recreation_area) "aDm" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/carpet,/area/crew_quarters/recreation_area) @@ -1527,7 +1527,7 @@ "aDs" = (/obj/random/obstruction,/turf/simulated/floor,/area/maintenance/pool) "aDt" = (/obj/item/clothing/gloves/boxing/blue,/turf/simulated/floor,/area/maintenance/pool) "aDu" = (/turf/simulated/floor,/area/maintenance/pool) -"aDv" = (/obj/structure/table/rack,/obj/effect/floor_decal/corner/red/full,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 2; health = 1e+006},/obj/machinery/door/window/brigdoor/eastright{name = "Riot Armor"},/obj/item/clothing/gloves/arm_guard/riot,/obj/item/clothing/shoes/leg_guard/riot,/obj/item/clothing/suit/armor/riot/alt,/obj/item/clothing/head/helmet/riot,/obj/item/weapon/shield/riot,/obj/item/weapon/melee/baton/loaded,/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aDv" = (/obj/structure/table/rack,/obj/effect/floor_decal/corner/red/full,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 2; health = 1e+006},/obj/machinery/door/window/brigdoor/eastright{name = "Riot Armor"},/obj/item/clothing/gloves/arm_guard/riot,/obj/item/clothing/shoes/leg_guard/riot,/obj/item/clothing/suit/armor/riot/alt,/obj/item/clothing/head/helmet/riot,/obj/item/shield/riot,/obj/item/melee/baton/loaded,/turf/simulated/floor/tiled/dark,/area/security/armoury) "aDw" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled/dark,/area/security/armoury) "aDx" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/tiled/dark,/area/security/armoury) "aDy" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/dark,/area/security/armoury) @@ -1536,7 +1536,7 @@ "aDB" = (/obj/machinery/door/blast/regular{id = "Armoury"; name = "Emergency Access"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/security/armoury) "aDC" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/button/remote/blast_door{id = "Armoury"; name = "Emergency Access"; pixel_x = 0; pixel_y = -28; req_access = list(3)},/turf/simulated/floor/tiled,/area/security/brig) "aDD" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -32},/turf/simulated/floor/tiled,/area/security/brig) -"aDE" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/corner/red,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/security/brig) +"aDE" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/corner/red,/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/security/brig) "aDF" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/corner/red{dir = 10},/obj/machinery/light,/turf/simulated/floor/tiled,/area/security/brig) "aDG" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/corner/red{dir = 8},/obj/machinery/camera/network/security{c_tag = "SEC - Brig Port"; dir = 1},/turf/simulated/floor/tiled,/area/security/brig) "aDH" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/security/brig) @@ -1553,7 +1553,7 @@ "aDS" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/computer/guestpass{pixel_x = 0; pixel_y = -30},/turf/simulated/floor/tiled,/area/security/brig) "aDT" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/security/brig) "aDU" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/corner/red,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/security/brig) -"aDV" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/corner/red{dir = 10},/obj/structure/disposalpipe/segment{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/security/brig) +"aDV" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/corner/red{dir = 10},/obj/structure/disposalpipe/segment{dir = 4},/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/security/brig) "aDW" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/glass,/obj/effect/floor_decal/corner/red{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/security/brig) "aDX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/security/brig) "aDY" = (/obj/machinery/button/remote/airlock{id = "visitdoor"; name = "Visitation Access"; pixel_y = -28},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/security/brig) @@ -1579,13 +1579,13 @@ "aEs" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "lawyer_blast"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/lawoffice) "aEt" = (/turf/simulated/floor/tiled/dark,/area/lawoffice) "aEu" = (/obj/structure/bed/chair{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark,/area/lawoffice) -"aEv" = (/obj/structure/table/reinforced,/obj/item/weapon/folder{pixel_x = -4},/obj/item/weapon/folder/red{pixel_y = 3},/obj/item/weapon/folder/blue{pixel_x = 5},/obj/item/weapon/folder/yellow,/obj/item/weapon/stamp/internalaffairs,/obj/item/weapon/stamp/denied{pixel_x = 4; pixel_y = -2},/turf/simulated/floor/tiled/dark,/area/lawoffice) +"aEv" = (/obj/structure/table/reinforced,/obj/item/folder{pixel_x = -4},/obj/item/folder/red{pixel_y = 3},/obj/item/folder/blue{pixel_x = 5},/obj/item/folder/yellow,/obj/item/stamp/internalaffairs,/obj/item/stamp/denied{pixel_x = 4; pixel_y = -2},/turf/simulated/floor/tiled/dark,/area/lawoffice) "aEw" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/effect/landmark/start{name = "Internal Affairs Agent"},/turf/simulated/floor/tiled/dark,/area/lawoffice) "aEx" = (/obj/structure/extinguisher_cabinet{pixel_x = 25; pixel_y = 0},/obj/structure/table/reinforced,/obj/machinery/computer/skills,/turf/simulated/floor/tiled/dark,/area/lawoffice) "aEy" = (/obj/structure/table/standard,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/tiled,/area/holodeck_control) "aEz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/holodeck_control) -"aEA" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/light{dir = 8},/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) -"aEB" = (/obj/structure/disposalpipe/segment,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) +"aEA" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/light{dir = 8},/obj/item/stool/padded,/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) +"aEB" = (/obj/structure/disposalpipe/segment,/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) "aEC" = (/obj/machinery/vending/cola,/turf/simulated/floor/carpet,/area/crew_quarters/recreation_area) "aED" = (/obj/structure/bed/chair/office/dark{dir = 4},/turf/simulated/floor/carpet,/area/crew_quarters/recreation_area) "aEE" = (/obj/structure/table/woodentable,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet,/area/crew_quarters/recreation_area) @@ -1603,11 +1603,11 @@ "aEQ" = (/obj/item/clothing/head/cone,/turf/simulated/floor,/area/maintenance/pool) "aER" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor,/area/maintenance/pool) "aES" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor,/area/maintenance/pool) -"aET" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/mask/breath,/obj/item/clothing/suit/space/void/security,/obj/item/clothing/head/helmet/space/void/security,/obj/item/device/suit_cooling_unit,/obj/item/weapon/tank/oxygen,/obj/structure/window/reinforced{dir = 2; health = 1e+006},/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/corner/white{icon_state = "corner_white"; dir = 1},/obj/effect/floor_decal/corner/blue{dir = 8},/obj/machinery/door/window/brigdoor/eastright{name = "EVA Suit"},/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aET" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/mask/breath,/obj/item/clothing/suit/space/void/security,/obj/item/clothing/head/helmet/space/void/security,/obj/item/suit_cooling_unit,/obj/item/tank/oxygen,/obj/structure/window/reinforced{dir = 2; health = 1e+006},/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/corner/white{icon_state = "corner_white"; dir = 1},/obj/effect/floor_decal/corner/blue{dir = 8},/obj/machinery/door/window/brigdoor/eastright{name = "EVA Suit"},/turf/simulated/floor/tiled/dark,/area/security/armoury) "aEU" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark,/area/security/armoury) "aEV" = (/obj/structure/table/rack,/obj/item/clothing/glasses/sunglasses/sechud/tactical,/obj/item/clothing/glasses/sunglasses/sechud/tactical,/obj/item/clothing/glasses/sunglasses/sechud/tactical,/obj/item/clothing/glasses/sunglasses/sechud/tactical,/obj/item/clothing/glasses/sunglasses/sechud/tactical,/obj/item/clothing/glasses/sunglasses/sechud/tactical,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/armoury) "aEW" = (/obj/structure/table/rack,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/armoury) -"aEX" = (/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aEX" = (/obj/item/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/armoury) "aEY" = (/turf/simulated/wall/r_wall,/area/security/range) "aEZ" = (/turf/simulated/wall,/area/security/range) "aFa" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/security/range) @@ -1645,9 +1645,9 @@ "aFG" = (/obj/structure/extinguisher_cabinet{pixel_x = 25; pixel_y = 0},/obj/structure/janitorialcart,/turf/simulated/floor/tiled,/area/janitor) "aFH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "lawyer_blast"; name = "Privacy Shutters"; opacity = 0},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/lawoffice) "aFI" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark,/area/lawoffice) -"aFJ" = (/obj/structure/table/reinforced,/obj/item/weapon/pen/blue{pixel_x = -5; pixel_y = -1},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = 3},/obj/item/weapon/material/ashtray/plastic{pixel_x = 4; pixel_y = 6},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/turf/simulated/floor/tiled/dark,/area/lawoffice) +"aFJ" = (/obj/structure/table/reinforced,/obj/item/pen/blue{pixel_x = -5; pixel_y = -1},/obj/item/pen/red{pixel_x = -1; pixel_y = 3},/obj/item/material/ashtray/plastic{pixel_x = 4; pixel_y = 6},/obj/item/paper_bin{pixel_x = -3; pixel_y = 7},/turf/simulated/floor/tiled/dark,/area/lawoffice) "aFK" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/dark,/area/lawoffice) -"aFL" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) +"aFL" = (/obj/item/stool/padded,/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) "aFM" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) "aFN" = (/obj/machinery/vending/coffee,/turf/simulated/floor/carpet,/area/crew_quarters/recreation_area) "aFO" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/carpet,/area/crew_quarters/recreation_area) @@ -1669,11 +1669,11 @@ "aGe" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/security/range) "aGf" = (/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = 28},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/security/range) "aGg" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/security/range) -"aGh" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/obj/item/weapon/gun/energy/laser/practice,/turf/simulated/floor/tiled,/area/security/range) +"aGh" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/obj/item/gun/energy/laser/practice,/turf/simulated/floor/tiled,/area/security/range) "aGi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled,/area/security/range) "aGj" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/security/range) -"aGk" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/firealarm{dir = 2; pixel_y = 23},/obj/machinery/light_switch{pixel_x = 14; pixel_y = 24},/obj/item/device/radio/intercom{broadcasting = 0; dir = 4; frequency = 1475; icon_state = "intercom"; listening = 1; name = "Station Intercom (Security)"; pixel_x = 21; pixel_y = 0},/turf/simulated/floor/tiled,/area/security/range) -"aGl" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/corner/red/full{dir = 8},/obj/item/device/radio/intercom{broadcasting = 0; dir = 8; frequency = 1475; icon_state = "intercom"; listening = 1; name = "Station Intercom (Security)"; pixel_x = -21; pixel_y = 0},/turf/simulated/floor/tiled,/area/security/lobby) +"aGk" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/firealarm{dir = 2; pixel_y = 23},/obj/machinery/light_switch{pixel_x = 14; pixel_y = 24},/obj/item/radio/intercom{broadcasting = 0; dir = 4; frequency = 1475; icon_state = "intercom"; listening = 1; name = "Station Intercom (Security)"; pixel_x = 21; pixel_y = 0},/turf/simulated/floor/tiled,/area/security/range) +"aGl" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/corner/red/full{dir = 8},/obj/item/radio/intercom{broadcasting = 0; dir = 8; frequency = 1475; icon_state = "intercom"; listening = 1; name = "Station Intercom (Security)"; pixel_x = -21; pixel_y = 0},/turf/simulated/floor/tiled,/area/security/lobby) "aGm" = (/turf/simulated/floor/tiled,/area/security/lobby) "aGn" = (/obj/effect/floor_decal/corner/red/full{dir = 1},/turf/simulated/floor/tiled,/area/security/lobby) "aGo" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/security/lobby) @@ -1686,9 +1686,9 @@ "aGv" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled,/area/security/prison) "aGw" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Communal Brig Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/security/prison) "aGx" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/button/flasher{id = "permentryflash"; name = "entry flash"; pixel_x = 0; pixel_y = -34; req_access = list(2)},/obj/machinery/button/remote/airlock{id = "prisonexit"; name = "Exit Doors"; pixel_x = 6; pixel_y = -26; req_access = list(2)},/obj/machinery/button/remote/airlock{id = "prisonentry"; name = "Entry Doors"; pixel_x = -6; pixel_y = -26; req_access = list(2)},/turf/simulated/floor/tiled,/area/security/prison) -"aGy" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/computer/security/telescreen{desc = "Big Brother is watching."; layer = 3.4; name = "Brig Monitor"; network = list("Prison"); pixel_x = 32; pixel_y = -3},/obj/item/weapon/stool/padded,/obj/machinery/button/remote/blast_door{id = "brigobs"; name = "Observation Shutters"; pixel_x = 6; pixel_y = -26; req_access = list(2)},/obj/machinery/button/flasher{id = "permflash"; name = "Brig flashes"; pixel_x = -6; pixel_y = -36; req_access = list(2)},/obj/machinery/button/remote/blast_door{id = "Prison Gate"; name = "Prison Lockdown"; pixel_x = 6; pixel_y = -36; req_access = list(2)},/obj/machinery/light_switch{pixel_x = -8; pixel_y = 26},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/security/prison) +"aGy" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/computer/security/telescreen{desc = "Big Brother is watching."; layer = 3.4; name = "Brig Monitor"; network = list("Prison"); pixel_x = 32; pixel_y = -3},/obj/item/stool/padded,/obj/machinery/button/remote/blast_door{id = "brigobs"; name = "Observation Shutters"; pixel_x = 6; pixel_y = -26; req_access = list(2)},/obj/machinery/button/flasher{id = "permflash"; name = "Brig flashes"; pixel_x = -6; pixel_y = -36; req_access = list(2)},/obj/machinery/button/remote/blast_door{id = "Prison Gate"; name = "Prison Lockdown"; pixel_x = 6; pixel_y = -36; req_access = list(2)},/obj/machinery/light_switch{pixel_x = -8; pixel_y = 26},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/security/prison) "aGz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Communal Brig Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/security/prison) -"aGA" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled,/area/security/prison) +"aGA" = (/obj/item/stool/padded,/turf/simulated/floor/tiled,/area/security/prison) "aGB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled,/area/security/prison) "aGC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/security/prison) "aGD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/security/prison) @@ -1701,13 +1701,13 @@ "aGK" = (/obj/structure/window/reinforced{dir = 4},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/window/northleft{name = "Janitorial Delivery"; req_access = list(26)},/turf/simulated/floor/tiled,/area/janitor) "aGL" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/tiled,/area/janitor) "aGM" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/tiled,/area/janitor) -"aGN" = (/obj/structure/mopbucket,/obj/item/weapon/mop,/obj/item/weapon/reagent_containers/glass/bucket,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -26},/turf/simulated/floor/tiled,/area/janitor) -"aGO" = (/obj/structure/mopbucket,/obj/item/weapon/mop,/obj/item/weapon/reagent_containers/glass/bucket,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled,/area/janitor) +"aGN" = (/obj/structure/mopbucket,/obj/item/mop,/obj/item/reagent_containers/glass/bucket,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -26},/turf/simulated/floor/tiled,/area/janitor) +"aGO" = (/obj/structure/mopbucket,/obj/item/mop,/obj/item/reagent_containers/glass/bucket,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled,/area/janitor) "aGP" = (/obj/structure/janitorialcart,/turf/simulated/floor/tiled,/area/janitor) -"aGQ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_aft) +"aGQ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_aft) "aGR" = (/obj/machinery/button/remote/blast_door{id = "lawyer_blast"; name = "Privacy Shutters"; pixel_x = -26; pixel_y = 0},/obj/machinery/light_switch{pixel_x = -34; pixel_y = 0},/obj/machinery/camera/network/civilian{c_tag = "CIV - Internal Affairs"; dir = 5},/turf/simulated/floor/tiled/dark,/area/lawoffice) "aGS" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark,/area/lawoffice) -"aGT" = (/obj/item/device/taperecorder{pixel_x = -4; pixel_y = 2},/obj/item/device/camera{pixel_x = 3; pixel_y = -4},/obj/item/device/flash,/obj/item/device/flash,/obj/item/weapon/storage/secure/briefcase,/obj/structure/closet,/obj/item/weapon/storage/secure/briefcase,/obj/item/device/taperecorder{pixel_x = -4; pixel_y = 2},/obj/item/device/camera{pixel_x = 3; pixel_y = -4},/obj/machinery/status_display{pixel_x = 32; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/lawoffice) +"aGT" = (/obj/item/taperecorder{pixel_x = -4; pixel_y = 2},/obj/item/camera{pixel_x = 3; pixel_y = -4},/obj/item/flash,/obj/item/flash,/obj/item/storage/secure/briefcase,/obj/structure/closet,/obj/item/storage/secure/briefcase,/obj/item/taperecorder{pixel_x = -4; pixel_y = 2},/obj/item/camera{pixel_x = 3; pixel_y = -4},/obj/machinery/status_display{pixel_x = 32; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/lawoffice) "aGU" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/maintenance/holodeck) "aGV" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/maintenance/holodeck) "aGW" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/camera/network/civilian{c_tag = "CIV - Holodeck Control"; dir = 4},/turf/simulated/floor/tiled,/area/holodeck_control) @@ -1727,7 +1727,7 @@ "aHk" = (/obj/structure/table/standard,/obj/machinery/camera/network/security{c_tag = "SEC - Secure Armory Aft"; dir = 2},/turf/simulated/floor/tiled/dark,/area/security/tactical) "aHl" = (/obj/structure/table/standard,/turf/simulated/floor/tiled/dark,/area/security/tactical) "aHm" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/security/tactical) -"aHn" = (/obj/structure/table/standard,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/recharger,/obj/item/weapon/cell/device/weapon{pixel_x = 4; pixel_y = 4},/obj/item/weapon/cell/device/weapon{pixel_x = 2; pixel_y = 2},/obj/item/weapon/cell/device/weapon,/obj/item/weapon/cell/device/weapon{pixel_x = -2; pixel_y = -2},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/tactical) +"aHn" = (/obj/structure/table/standard,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/recharger,/obj/item/cell/device/weapon{pixel_x = 4; pixel_y = 4},/obj/item/cell/device/weapon{pixel_x = 2; pixel_y = 2},/obj/item/cell/device/weapon,/obj/item/cell/device/weapon{pixel_x = -2; pixel_y = -2},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/tactical) "aHo" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/target_stake,/turf/simulated/floor/tiled,/area/security/range) "aHp" = (/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled,/area/security/range) "aHq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/security/range) @@ -1735,7 +1735,7 @@ "aHs" = (/obj/effect/floor_decal/industrial/loading{icon_state = "loadingarea"; dir = 8},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/window/westright{name = "Range Access"; req_access = list(63)},/turf/simulated/floor/tiled,/area/security/range) "aHt" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/security/range) "aHu" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/security/range) -"aHv" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/flashbangs{pixel_x = -2; pixel_y = -2},/turf/simulated/floor/tiled,/area/security/range) +"aHv" = (/obj/structure/table/reinforced,/obj/item/storage/box/flashbangs{pixel_x = -2; pixel_y = -2},/turf/simulated/floor/tiled,/area/security/range) "aHw" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/security/lobby) "aHx" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/security/lobby) "aHy" = (/obj/machinery/computer/security,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/corner/red{dir = 9},/turf/simulated/floor/tiled,/area/security/lobby) @@ -1743,18 +1743,18 @@ "aHA" = (/obj/structure/bed/chair/office/dark,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/security/lobby) "aHB" = (/obj/machinery/computer/secure_data,/obj/effect/floor_decal/corner/red{dir = 6},/turf/simulated/floor/tiled,/area/security/lobby) "aHC" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/effect/floor_decal/corner/red/full,/turf/simulated/floor/tiled,/area/security/prison) -"aHD" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/bed/chair,/obj/effect/floor_decal/corner/red{dir = 10},/obj/item/device/radio/intercom{broadcasting = 0; dir = 4; frequency = 1475; icon_state = "intercom"; listening = 1; name = "Station Intercom (Security)"; pixel_x = 21; pixel_y = 0},/turf/simulated/floor/tiled,/area/security/prison) +"aHD" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/bed/chair,/obj/effect/floor_decal/corner/red{dir = 10},/obj/item/radio/intercom{broadcasting = 0; dir = 4; frequency = 1475; icon_state = "intercom"; listening = 1; name = "Station Intercom (Security)"; pixel_x = 21; pixel_y = 0},/turf/simulated/floor/tiled,/area/security/prison) "aHE" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/flasher{id = "permentryflash"; name = "Floor mounted flash"; pixel_x = 0},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/effect/floor_decal/industrial/outline/yellow,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled,/area/security/prison) "aHF" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera/network/prison{c_tag = "SEC - Common Brig Enterance"; dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/security/prison) "aHG" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable/green,/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Communal Brig Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/security/prison) -"aHH" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/table/steel,/obj/item/device/communicator,/obj/item/device/communicator,/obj/item/device/communicator,/obj/item/device/communicator,/obj/item/device/radio/headset,/obj/item/device/radio/headset,/obj/item/device/radio/headset,/obj/item/device/radio/headset,/turf/simulated/floor/tiled,/area/security/prison) +"aHH" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/table/steel,/obj/item/communicator,/obj/item/communicator,/obj/item/communicator,/obj/item/communicator,/obj/item/radio/headset,/obj/item/radio/headset,/obj/item/radio/headset,/obj/item/radio/headset,/turf/simulated/floor/tiled,/area/security/prison) "aHI" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/table/steel,/obj/machinery/camera/network/prison{c_tag = "SEC - Brig Observation"; dir = 1},/turf/simulated/floor/tiled,/area/security/prison) "aHJ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable/green,/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Communal Brig Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/security/prison) "aHK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/security/prison) "aHL" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/security/prison) "aHM" = (/obj/machinery/flasher{id = "permflash"; name = "Floor mounted flash"; pixel_x = 0},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/security/prison) "aHN" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/security/prison) -"aHO" = (/obj/structure/closet/crate,/obj/item/clothing/glasses/meson/prescription,/obj/item/weapon/storage/box/lights/mixed,/obj/random/maintenance/security,/obj/random/maintenance/security,/obj/random/maintenance/security,/turf/simulated/floor/plating,/area/maintenance/security_starboard) +"aHO" = (/obj/structure/closet/crate,/obj/item/clothing/glasses/meson/prescription,/obj/item/storage/box/lights/mixed,/obj/random/maintenance/security,/obj/random/maintenance/security,/obj/random/maintenance/security,/turf/simulated/floor/plating,/area/maintenance/security_starboard) "aHP" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_aft) "aHQ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_aft) "aHR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_aft) @@ -1766,7 +1766,7 @@ "aHX" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor,/area/maintenance/holodeck) "aHY" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/meter,/turf/simulated/floor,/area/maintenance/holodeck) "aHZ" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled,/area/holodeck_control) -"aIa" = (/obj/structure/table/standard,/obj/item/weapon/paper{desc = ""; info = "Brusies sustained in the holodeck can be healed simply by sleeping."; name = "Holodeck Disclaimer"},/turf/simulated/floor/tiled,/area/holodeck_control) +"aIa" = (/obj/structure/table/standard,/obj/item/paper{desc = ""; info = "Brusies sustained in the holodeck can be healed simply by sleeping."; name = "Holodeck Disclaimer"},/turf/simulated/floor/tiled,/area/holodeck_control) "aIb" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/holodeck_control) "aIc" = (/obj/machinery/door/airlock/glass{name = "Holodeck"},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/holodeck_control) "aId" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) @@ -1778,10 +1778,10 @@ "aIj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area) "aIk" = (/obj/machinery/door/airlock/glass{name = "Pool"},/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/crew_quarters/pool) "aIl" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/pool) -"aIm" = (/obj/effect/floor_decal/spline/plain{dir = 9},/obj/item/weapon/beach_ball,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/pool) +"aIm" = (/obj/effect/floor_decal/spline/plain{dir = 9},/obj/item/beach_ball,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/pool) "aIn" = (/obj/structure/closet/emcloset,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/chapel_hallway) "aIo" = (/obj/effect/floor_decal/spline/plain{dir = 5},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/pool) -"aIp" = (/obj/structure/table/glass,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/pool) +"aIp" = (/obj/structure/table/glass,/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/pool) "aIq" = (/obj/structure/table/rack,/obj/effect/floor_decal/corner/green/full{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/brigdoor/eastleft{name = "Ballistics"},/obj/random/projectile/sec,/turf/simulated/floor/tiled/dark,/area/security/tactical) "aIr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark,/area/security/tactical) "aIs" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled/dark,/area/security/tactical) @@ -1792,7 +1792,7 @@ "aIx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/security/range) "aIy" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/security/range) "aIz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning/corner,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled,/area/security/range) -"aIA" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/obj/item/weapon/gun/energy/laser/practice,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/security/range) +"aIA" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/obj/item/gun/energy/laser/practice,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/security/range) "aIB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor/tiled,/area/security/range) "aIC" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled,/area/security/range) "aID" = (/obj/structure/table/reinforced,/obj/machinery/light{dir = 4},/obj/item/ammo_magazine/m9mmt/practice,/obj/item/ammo_magazine/m9mmt/practice,/obj/item/ammo_magazine/m45/practice,/obj/item/ammo_magazine/m45/practice,/obj/item/ammo_magazine/m45/practice,/obj/item/ammo_magazine/m45/practice,/obj/item/ammo_magazine/m45/practice,/obj/item/ammo_magazine/m45/practice,/obj/item/ammo_magazine/s45/practice,/obj/item/ammo_magazine/s45/practice,/obj/item/ammo_magazine/s45/practice,/obj/item/ammo_magazine/s45/practice,/turf/simulated/floor/tiled,/area/security/range) @@ -1802,7 +1802,7 @@ "aIH" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/corner/red{dir = 6},/obj/effect/landmark{name = "lightsout"},/turf/simulated/floor/tiled,/area/security/lobby) "aII" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/security/lobby) "aIJ" = (/obj/structure/table/reinforced,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/window/brigdoor/southleft{name = "Secure Door"},/obj/effect/floor_decal/corner/red{dir = 10},/turf/simulated/floor/tiled,/area/security/lobby) -"aIK" = (/obj/structure/table/reinforced,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/window/brigdoor/southright{name = "Secure Door"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/corner/red{dir = 10},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/simulated/floor/tiled,/area/security/lobby) +"aIK" = (/obj/structure/table/reinforced,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/window/brigdoor/southright{name = "Secure Door"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/corner/red{dir = 10},/obj/item/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/pen,/turf/simulated/floor/tiled,/area/security/lobby) "aIL" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/security/lobby) "aIM" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "brigobs"; name = "Communal Brig Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/security/prison) "aIN" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Communal Brig Blast Door"; opacity = 0},/obj/structure/table/steel_reinforced,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/window/northright{name = "Visitation"; req_access = list(2)},/turf/simulated/floor/tiled,/area/security/prison) @@ -1812,20 +1812,20 @@ "aIR" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/cable/green,/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Communal Brig Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/security/prison) "aIS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled,/area/security/prison) "aIT" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/tiled,/area/security/prison) -"aIU" = (/obj/structure/table/steel,/obj/item/weapon/material/minihoe,/obj/item/device/analyzer/plant_analyzer,/obj/item/clothing/head/greenbandana,/turf/simulated/floor/tiled,/area/security/prison) +"aIU" = (/obj/structure/table/steel,/obj/item/material/minihoe,/obj/item/analyzer/plant_analyzer,/obj/item/clothing/head/greenbandana,/turf/simulated/floor/tiled,/area/security/prison) "aIV" = (/obj/machinery/vending/hydronutrients,/turf/simulated/floor/tiled,/area/security/prison) "aIW" = (/obj/machinery/seed_storage/garden,/obj/machinery/camera/network/prison{c_tag = "SEC - Common Brig Fore"; dir = 1},/turf/simulated/floor/tiled,/area/security/prison) "aIX" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor/tiled,/area/security/prison) "aIY" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/light,/turf/simulated/floor/tiled,/area/security/prison) -"aIZ" = (/obj/structure/reagent_dispensers/watertank,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor/tiled,/area/security/prison) -"aJa" = (/obj/structure/table/rack,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/weapon/storage/belt/utility,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/security,/obj/random/maintenance/security,/turf/simulated/floor/plating,/area/maintenance/security_starboard) +"aIZ" = (/obj/structure/reagent_dispensers/watertank,/obj/item/reagent_containers/glass/bucket,/turf/simulated/floor/tiled,/area/security/prison) +"aJa" = (/obj/structure/table/rack,/obj/item/storage/toolbox/mechanical,/obj/item/storage/belt/utility,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/security,/obj/random/maintenance/security,/turf/simulated/floor/plating,/area/maintenance/security_starboard) "aJb" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/maintenance/security_starboard) "aJc" = (/turf/simulated/wall,/area/storage/art) -"aJd" = (/obj/structure/table/standard,/obj/item/weapon/storage/fancy/markers,/obj/item/weapon/storage/fancy/markers,/turf/simulated/floor/tiled,/area/storage/art) -"aJe" = (/obj/structure/table/standard,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/turf/simulated/floor/tiled,/area/storage/art) -"aJf" = (/obj/structure/table/standard,/obj/item/weapon/hand_labeler,/obj/item/weapon/hand_labeler,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/turf/simulated/floor/tiled,/area/storage/art) -"aJg" = (/obj/structure/table/standard,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/obj/machinery/atmospherics/unary/vent_pump/on,/obj/item/device/taperecorder,/obj/item/device/taperecorder,/turf/simulated/floor/tiled,/area/storage/art) -"aJh" = (/obj/structure/table/standard,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/storage/art) +"aJd" = (/obj/structure/table/standard,/obj/item/storage/fancy/markers,/obj/item/storage/fancy/markers,/turf/simulated/floor/tiled,/area/storage/art) +"aJe" = (/obj/structure/table/standard,/obj/item/packageWrap,/obj/item/packageWrap,/turf/simulated/floor/tiled,/area/storage/art) +"aJf" = (/obj/structure/table/standard,/obj/item/hand_labeler,/obj/item/hand_labeler,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/turf/simulated/floor/tiled,/area/storage/art) +"aJg" = (/obj/structure/table/standard,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/obj/machinery/atmospherics/unary/vent_pump/on,/obj/item/taperecorder,/obj/item/taperecorder,/turf/simulated/floor/tiled,/area/storage/art) +"aJh" = (/obj/structure/table/standard,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/storage/art) "aJi" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/storage/art) "aJj" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green,/turf/simulated/floor/tiled/dark,/area/lawoffice) "aJk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark,/area/lawoffice) @@ -1833,7 +1833,7 @@ "aJm" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/meter,/turf/simulated/floor,/area/maintenance/holodeck) "aJn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor,/area/maintenance/holodeck) "aJo" = (/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/holodeck_control) -"aJp" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/holodeck_control) +"aJp" = (/obj/item/stool/padded,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/holodeck_control) "aJq" = (/obj/machinery/computer/HolodeckControl,/turf/simulated/floor/tiled,/area/holodeck_control) "aJr" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/holodeck_control) "aJs" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) @@ -1864,35 +1864,35 @@ "aJR" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/loading{icon_state = "loadingarea"; dir = 8},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/window/westright{name = "Range Access"; req_access = list(63)},/turf/simulated/floor/tiled,/area/security/range) "aJS" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/security/range) "aJT" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/security/range) -"aJU" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/blanks{pixel_x = 2; pixel_y = -2},/obj/item/weapon/storage/box/blanks,/turf/simulated/floor/tiled,/area/security/range) +"aJU" = (/obj/structure/table/reinforced,/obj/item/storage/box/blanks{pixel_x = 2; pixel_y = -2},/obj/item/storage/box/blanks,/turf/simulated/floor/tiled,/area/security/range) "aJV" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable/green,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/security/lobby) "aJW" = (/obj/effect/floor_decal/corner/red{dir = 9},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/security/lobby) "aJX" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/corner/red{dir = 4},/turf/simulated/floor/tiled,/area/security/lobby) "aJY" = (/obj/effect/floor_decal/corner/red{dir = 5},/turf/simulated/floor/tiled,/area/security/lobby) "aJZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/security/lobby) -"aKa" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/corner/red/full{dir = 1},/obj/structure/table/standard,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled,/area/security/lobby) +"aKa" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/corner/red/full{dir = 1},/obj/structure/table/standard,/obj/item/book/codex/corp_regs,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled,/area/security/lobby) "aKb" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "brigobs"; name = "Communal Brig Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/security/prison) -"aKc" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/table/reinforced,/obj/effect/floor_decal/corner/red/full{dir = 8},/turf/simulated/floor/tiled,/area/security/prison) +"aKc" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/table/reinforced,/obj/item/book/codex/corp_regs,/obj/effect/floor_decal/corner/red/full{dir = 8},/turf/simulated/floor/tiled,/area/security/prison) "aKd" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/structure/bed/chair{dir = 1},/obj/effect/floor_decal/corner/red{dir = 5},/obj/machinery/flasher{id = "IAflash"; pixel_x = 30; pixel_y = 0},/turf/simulated/floor/tiled,/area/security/prison) "aKe" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/security/prison) "aKf" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/security/prison) -"aKg" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/item/device/radio/intercom{desc = "Talk... listen through this."; dir = 1; name = "Station Intercom (Brig Radio)"; pixel_x = 0; pixel_y = 21; wires = 7},/turf/simulated/floor/tiled,/area/security/prison) +"aKg" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/item/radio/intercom{desc = "Talk... listen through this."; dir = 1; name = "Station Intercom (Brig Radio)"; pixel_x = 0; pixel_y = 21; wires = 7},/turf/simulated/floor/tiled,/area/security/prison) "aKh" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/computer/cryopod{density = 0; layer = 3.3; pixel_y = 32},/turf/simulated/floor/tiled,/area/security/prison) "aKi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/tiled,/area/security/prison) "aKj" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/security/prison) "aKk" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/security/prison) "aKl" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/security/prison) "aKm" = (/obj/machinery/door/airlock{name = "Brig Restroom"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/freezer,/area/security/prison) -"aKn" = (/obj/structure/table/standard,/obj/item/device/camera_film{pixel_x = -2; pixel_y = -2},/obj/item/device/camera_film{pixel_x = 2; pixel_y = 2},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/storage/art) +"aKn" = (/obj/structure/table/standard,/obj/item/camera_film{pixel_x = -2; pixel_y = -2},/obj/item/camera_film{pixel_x = 2; pixel_y = 2},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/storage/art) "aKo" = (/turf/simulated/floor/tiled,/area/storage/art) "aKp" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/storage/art) "aKq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/storage/art) "aKr" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/storage/art) "aKs" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled/dark,/area/lawoffice) -"aKt" = (/obj/structure/table/reinforced,/obj/item/weapon/pen/blue,/obj/item/weapon/pen/red{pixel_x = -5; pixel_y = -1},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/turf/simulated/floor/tiled/dark,/area/lawoffice) +"aKt" = (/obj/structure/table/reinforced,/obj/item/pen/blue,/obj/item/pen/red{pixel_x = -5; pixel_y = -1},/obj/item/paper_bin{pixel_x = -3; pixel_y = 7},/turf/simulated/floor/tiled/dark,/area/lawoffice) "aKu" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/maintenance/holodeck) "aKv" = (/obj/machinery/alarm{dir = 1; pixel_y = -25},/obj/structure/table/rack,/obj/random/maintenance/security,/obj/random/maintenance/clean,/turf/simulated/floor,/area/maintenance/holodeck) -"aKw" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/holodeck_control) +"aKw" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/holodeck_control) "aKx" = (/obj/machinery/light/small,/turf/simulated/floor/tiled,/area/holodeck_control) "aKy" = (/obj/machinery/camera/network/northern_star{c_tag = "Hall - Recreation Mid"; dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) "aKz" = (/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 2},/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) @@ -1905,7 +1905,7 @@ "aKG" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/crew_quarters/pool) "aKH" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/pool) "aKI" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/maintenance/pool) -"aKJ" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 2; health = 1e+006},/obj/item/weapon/storage/box/shotgunshells,/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/corner/green/full,/obj/item/weapon/storage/box/shotgunshells,/obj/item/weapon/storage/box/shotgunammo,/obj/item/weapon/storage/box/shotgunammo,/obj/machinery/door/window/brigdoor/northleft{name = "Ammo"; req_access = list(2)},/turf/simulated/floor/tiled/dark,/area/security/tactical) +"aKJ" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 2; health = 1e+006},/obj/item/storage/box/shotgunshells,/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/corner/green/full,/obj/item/storage/box/shotgunshells,/obj/item/storage/box/shotgunammo,/obj/item/storage/box/shotgunammo,/obj/machinery/door/window/brigdoor/northleft{name = "Ammo"; req_access = list(2)},/turf/simulated/floor/tiled/dark,/area/security/tactical) "aKK" = (/obj/effect/floor_decal/corner/green/full{dir = 4},/obj/structure/window/reinforced{dir = 2; health = 1e+006},/obj/structure/window/reinforced{dir = 4},/obj/structure/table/rack,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m9mmt,/obj/item/ammo_magazine/m9mmt,/obj/item/ammo_magazine/m9mmt,/obj/machinery/door/window/brigdoor/northright{name = "Ammo"},/obj/item/ammo_magazine/s45,/obj/item/ammo_magazine/s45,/turf/simulated/floor/tiled/dark,/area/security/tactical) "aKL" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/structure/window/reinforced,/obj/effect/floor_decal/corner/yellow/full,/obj/machinery/door/window/brigdoor/northleft{name = "Combat Armor"; req_access = list(2)},/obj/item/clothing/gloves/arm_guard/combat,/obj/item/clothing/shoes/leg_guard/combat,/obj/item/clothing/suit/armor/combat,/obj/item/clothing/head/helmet/combat,/turf/simulated/floor/tiled/dark,/area/security/tactical) "aKM" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/effect/floor_decal/corner/yellow/full{icon_state = "corner_white_full"; dir = 4},/obj/machinery/door/window/brigdoor/northright{name = "Combat Armor"},/obj/item/clothing/gloves/arm_guard/combat,/obj/item/clothing/shoes/leg_guard/combat,/obj/item/clothing/suit/armor/combat,/obj/item/clothing/head/helmet/combat,/turf/simulated/floor/tiled/dark,/area/security/tactical) @@ -1932,13 +1932,13 @@ "aLh" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/security/prison) "aLi" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/security/prison) "aLj" = (/obj/machinery/recharge_station,/turf/simulated/floor/tiled,/area/security/prison) -"aLk" = (/obj/structure/closet{name = "Prisoner's Locker"},/obj/item/weapon/flame/lighter/zippo,/obj/item/weapon/storage/fancy/cigarettes,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/security/prison) -"aLl" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/item/weapon/bedsheet/orange,/obj/structure/bed/padded,/turf/simulated/floor/tiled,/area/security/prison) +"aLk" = (/obj/structure/closet{name = "Prisoner's Locker"},/obj/item/flame/lighter/zippo,/obj/item/storage/fancy/cigarettes,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/security/prison) +"aLl" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/item/bedsheet/orange,/obj/structure/bed/padded,/turf/simulated/floor/tiled,/area/security/prison) "aLm" = (/obj/structure/closet{name = "Prisoner's Locker"},/obj/random/tech_supply,/obj/item/clothing/head/flatcap,/turf/simulated/floor/tiled,/area/security/prison) "aLn" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = 0},/obj/structure/curtain/open/shower/security,/turf/simulated/floor/tiled/freezer,/area/security/prison) "aLo" = (/turf/simulated/floor/tiled/freezer,/area/security/prison) -"aLp" = (/obj/structure/mirror{pixel_x = 30},/obj/item/weapon/soap/nanotrasen,/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled/freezer,/area/security/prison) -"aLq" = (/obj/structure/table/standard,/obj/item/device/camera,/obj/item/device/camera{pixel_x = 3; pixel_y = -4},/turf/simulated/floor/tiled,/area/storage/art) +"aLp" = (/obj/structure/mirror{pixel_x = 30},/obj/item/soap/nanotrasen,/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled/freezer,/area/security/prison) +"aLq" = (/obj/structure/table/standard,/obj/item/camera,/obj/item/camera{pixel_x = 3; pixel_y = -4},/turf/simulated/floor/tiled,/area/storage/art) "aLr" = (/obj/machinery/hologram/holopad,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/storage/art) "aLs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/storage/art) "aLt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/storage/art) @@ -1960,16 +1960,16 @@ "aLJ" = (/obj/structure/closet/crate,/obj/item/target,/obj/item/target,/obj/item/target,/obj/item/target,/obj/item/target,/turf/simulated/floor/tiled,/area/security/range) "aLK" = (/obj/machinery/light,/turf/simulated/floor/tiled,/area/security/range) "aLL" = (/obj/machinery/camera/network/security{c_tag = "SEC - Firing Range"; dir = 1},/turf/simulated/floor/tiled,/area/security/range) -"aLM" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/window/westright{name = "Range Access"; req_access = list(63)},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/item/device/radio/intercom{broadcasting = 0; frequency = 1475; icon_state = "intercom"; listening = 1; name = "Station Intercom (Security)"; pixel_x = 0; pixel_y = 21},/turf/simulated/floor/tiled,/area/security/range) +"aLM" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/window/westright{name = "Range Access"; req_access = list(63)},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/item/radio/intercom{broadcasting = 0; frequency = 1475; icon_state = "intercom"; listening = 1; name = "Station Intercom (Security)"; pixel_x = 0; pixel_y = 21},/turf/simulated/floor/tiled,/area/security/range) "aLN" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green,/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/security/range) -"aLO" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/security/range) +"aLO" = (/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/security/range) "aLP" = (/obj/structure/table/reinforced,/obj/machinery/recharger/wallcharger{pixel_x = 32; pixel_y = -4},/obj/item/clothing/glasses/sunglasses,/obj/item/clothing/glasses/sunglasses{pixel_x = 3; pixel_y = 3},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled,/area/security/range) "aLQ" = (/obj/effect/floor_decal/corner/red/full,/obj/structure/bed/chair{dir = 1},/obj/machinery/atm{pixel_y = -30},/turf/simulated/floor/tiled,/area/security/lobby) "aLR" = (/obj/structure/cable/green,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/bed/chair{dir = 1},/turf/simulated/floor/tiled,/area/security/lobby) "aLS" = (/obj/effect/floor_decal/corner/red{dir = 10},/turf/simulated/floor/tiled,/area/security/lobby) "aLT" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/tiled,/area/security/lobby) -"aLU" = (/obj/effect/floor_decal/corner/red/full{dir = 4},/obj/structure/bed/chair{dir = 1},/obj/structure/extinguisher_cabinet{pixel_x = 25; pixel_y = 0},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/security/lobby) -"aLV" = (/obj/structure/table/steel,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/vending/wallmed1{pixel_y = -32},/turf/simulated/floor/tiled,/area/security/prison) +"aLU" = (/obj/effect/floor_decal/corner/red/full{dir = 4},/obj/structure/bed/chair{dir = 1},/obj/structure/extinguisher_cabinet{pixel_x = 25; pixel_y = 0},/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/security/lobby) +"aLV" = (/obj/structure/table/steel,/obj/item/paper_bin,/obj/item/pen,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/vending/wallmed1{pixel_y = -32},/turf/simulated/floor/tiled,/area/security/prison) "aLW" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/security/prison) "aLX" = (/obj/structure/bed/chair,/turf/simulated/floor/tiled,/area/security/prison) "aLY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled,/area/security/prison) @@ -1977,17 +1977,17 @@ "aMa" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor/tiled,/area/security/prison) "aMb" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/tiled,/area/security/prison) "aMc" = (/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = 0},/obj/structure/curtain/open/shower/security,/turf/simulated/floor/tiled/freezer,/area/security/prison) -"aMd" = (/obj/structure/mopbucket,/obj/item/weapon/mop,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/freezer,/area/security/prison) +"aMd" = (/obj/structure/mopbucket,/obj/item/mop,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/freezer,/area/security/prison) "aMe" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/tiled,/area/storage/art) "aMf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/storage/art) "aMg" = (/obj/machinery/camera/network/civilian{c_tag = "CIV - Art Storage"; dir = 8},/turf/simulated/floor/tiled,/area/storage/art) "aMh" = (/obj/machinery/firealarm{dir = 4; pixel_x = 26},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_aft) "aMi" = (/obj/machinery/newscaster{pixel_x = 0; pixel_y = -30},/turf/simulated/floor/tiled/dark,/area/lawoffice) -"aMj" = (/obj/structure/table/standard,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/item/weapon/soap/nanotrasen,/turf/simulated/floor/tiled,/area/holodeck_control) -"aMk" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/light{dir = 8},/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) +"aMj" = (/obj/structure/table/standard,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/item/soap/nanotrasen,/turf/simulated/floor/tiled,/area/holodeck_control) +"aMk" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/light{dir = 8},/obj/item/stool/padded,/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) "aMl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) "aMm" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) -"aMn" = (/obj/item/weapon/soap/nanotrasen,/obj/item/weapon/soap/nanotrasen,/obj/structure/table/standard,/obj/random/soap,/obj/item/clothing/under/bathrobe,/obj/item/clothing/under/bathrobe,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/recreation_area_restroom) +"aMn" = (/obj/item/soap/nanotrasen,/obj/item/soap/nanotrasen,/obj/structure/table/standard,/obj/random/soap,/obj/item/clothing/under/bathrobe,/obj/item/clothing/under/bathrobe,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/recreation_area_restroom) "aMo" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/recreation_area_restroom) "aMp" = (/obj/structure/mirror{pixel_x = 28},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/recreation_area_restroom) "aMq" = (/obj/machinery/door/airlock{name = "Unisex Showers"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/recreation_area_restroom) @@ -1996,31 +1996,31 @@ "aMt" = (/obj/effect/floor_decal/spline/plain,/turf/simulated/floor/water/pool,/area/crew_quarters/pool) "aMu" = (/obj/effect/floor_decal/spline/plain,/turf/simulated/floor/water/deep/pool,/area/crew_quarters/pool) "aMv" = (/obj/effect/floor_decal/spline/plain{dir = 6},/turf/simulated/floor/water/deep/pool,/area/crew_quarters/pool) -"aMw" = (/obj/structure/closet,/obj/item/weapon/beach_ball,/obj/random/maintenance/clean,/obj/random/maintenance/cargo,/turf/simulated/floor,/area/maintenance/pool) +"aMw" = (/obj/structure/closet,/obj/item/beach_ball,/obj/random/maintenance/clean,/obj/random/maintenance/cargo,/turf/simulated/floor,/area/maintenance/pool) "aMx" = (/turf/simulated/wall/r_wall,/area/hallway/secondary/escape/fore_port_escape_pod_hallway) "aMy" = (/turf/simulated/wall/r_wall,/area/maintenance/security_port) "aMz" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/maintenance{name = "Security Maintenance"; req_access = list(1)},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/maintenance/security_port) "aMA" = (/turf/simulated/wall/r_wall,/area/security/lobby) "aMB" = (/obj/machinery/door/airlock/glass_security{name = "Security Lobby"},/obj/machinery/door/firedoor/glass,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/security/lobby) "aMC" = (/obj/structure/table/steel,/obj/machinery/microwave,/turf/simulated/floor/tiled,/area/security/prison) -"aMD" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table/steel,/obj/item/weapon/storage/box/donkpockets,/obj/item/weapon/storage/box/donkpockets{pixel_x = -3; pixel_y = -3},/turf/simulated/floor/tiled,/area/security/prison) -"aME" = (/obj/structure/table/steel,/obj/item/weapon/dice,/obj/machinery/camera/network/prison{c_tag = "SEC - Common Brig Aft"; dir = 1},/obj/item/weapon/deck/cards,/turf/simulated/floor/tiled,/area/security/prison) -"aMF" = (/obj/structure/table/steel,/obj/item/device/taperecorder{pixel_x = -4; pixel_y = 2},/turf/simulated/floor/tiled,/area/security/prison) -"aMG" = (/obj/structure/table/steel,/obj/item/weapon/newspaper,/obj/machinery/light,/turf/simulated/floor/tiled,/area/security/prison) +"aMD" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table/steel,/obj/item/storage/box/donkpockets,/obj/item/storage/box/donkpockets{pixel_x = -3; pixel_y = -3},/turf/simulated/floor/tiled,/area/security/prison) +"aME" = (/obj/structure/table/steel,/obj/item/dice,/obj/machinery/camera/network/prison{c_tag = "SEC - Common Brig Aft"; dir = 1},/obj/item/deck/cards,/turf/simulated/floor/tiled,/area/security/prison) +"aMF" = (/obj/structure/table/steel,/obj/item/book/codex/corp_regs,/obj/item/taperecorder{pixel_x = -4; pixel_y = 2},/turf/simulated/floor/tiled,/area/security/prison) +"aMG" = (/obj/structure/table/steel,/obj/item/newspaper,/obj/machinery/light,/turf/simulated/floor/tiled,/area/security/prison) "aMH" = (/obj/machinery/cryopod,/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/tiled/white,/area/security/prison) "aMI" = (/obj/structure/cryofeed,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/white,/area/security/prison) -"aMJ" = (/obj/item/weapon/bedsheet/orange,/obj/structure/bed/padded,/turf/simulated/floor/tiled,/area/security/prison) +"aMJ" = (/obj/item/bedsheet/orange,/obj/structure/bed/padded,/turf/simulated/floor/tiled,/area/security/prison) "aMK" = (/obj/structure/closet{name = "Prisoner's Locker"},/obj/item/clothing/head/soft/orange,/obj/item/clothing/shoes/sandal,/turf/simulated/floor/tiled,/area/security/prison) -"aML" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/item/weapon/bedsheet/orange,/obj/structure/bed/padded,/turf/simulated/floor/tiled,/area/security/prison) -"aMM" = (/obj/structure/closet{name = "Prisoner's Locker"},/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe,/obj/item/clothing/suit/storage/apron/overalls,/obj/machinery/camera/network/prison{c_tag = "SEC - Brig Bedroom"; dir = 8},/turf/simulated/floor/tiled,/area/security/prison) +"aML" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/item/bedsheet/orange,/obj/structure/bed/padded,/turf/simulated/floor/tiled,/area/security/prison) +"aMM" = (/obj/structure/closet{name = "Prisoner's Locker"},/obj/item/reagent_containers/food/drinks/bottle/absinthe,/obj/item/clothing/suit/storage/apron/overalls,/obj/machinery/camera/network/prison{c_tag = "SEC - Brig Bedroom"; dir = 8},/turf/simulated/floor/tiled,/area/security/prison) "aMN" = (/obj/machinery/door/airlock{name = "Toilet"},/turf/simulated/floor/tiled/freezer,/area/security/prison) -"aMO" = (/obj/structure/table/standard,/obj/item/weapon/storage/box,/obj/item/weapon/storage/box{pixel_x = 3; pixel_y = 3},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/item/weapon/tape_roll{pixel_x = 4; pixel_y = 4},/obj/item/weapon/tape_roll,/turf/simulated/floor/tiled,/area/storage/art) -"aMP" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen/blue{pixel_x = -5; pixel_y = -1},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = 3},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/light,/turf/simulated/floor/tiled,/area/storage/art) +"aMO" = (/obj/structure/table/standard,/obj/item/storage/box,/obj/item/storage/box{pixel_x = 3; pixel_y = 3},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/item/tape_roll{pixel_x = 4; pixel_y = 4},/obj/item/tape_roll,/turf/simulated/floor/tiled,/area/storage/art) +"aMP" = (/obj/structure/table/standard,/obj/item/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/pen/blue{pixel_x = -5; pixel_y = -1},/obj/item/pen/red{pixel_x = -1; pixel_y = 3},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/light,/turf/simulated/floor/tiled,/area/storage/art) "aMQ" = (/obj/structure/table/standard,/obj/machinery/recharger,/obj/machinery/newscaster{pixel_x = 0; pixel_y = -28},/turf/simulated/floor/tiled,/area/storage/art) "aMR" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_aft) -"aMS" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/briefcase{pixel_x = -2; pixel_y = -5},/obj/item/weapon/storage/briefcase{pixel_x = 3; pixel_y = 0},/obj/machinery/light,/turf/simulated/floor/tiled/dark,/area/lawoffice) +"aMS" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/storage/briefcase{pixel_x = -2; pixel_y = -5},/obj/item/storage/briefcase{pixel_x = 3; pixel_y = 0},/obj/machinery/light,/turf/simulated/floor/tiled/dark,/area/lawoffice) "aMT" = (/obj/structure/closet/lawcloset,/turf/simulated/floor/tiled/dark,/area/lawoffice) -"aMU" = (/obj/structure/table/standard,/obj/machinery/light{dir = 8},/obj/item/weapon/soap/nanotrasen,/turf/simulated/floor/tiled,/area/holodeck_control) +"aMU" = (/obj/structure/table/standard,/obj/machinery/light{dir = 8},/obj/item/soap/nanotrasen,/turf/simulated/floor/tiled,/area/holodeck_control) "aMV" = (/obj/structure/table/glass,/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) "aMW" = (/obj/structure/disposalpipe/segment,/obj/structure/extinguisher_cabinet{pixel_x = 25; pixel_y = 0},/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) "aMX" = (/obj/machinery/recharge_station,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/recreation_area_restroom) @@ -2060,7 +2060,7 @@ "aNF" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/recreation_area_restroom) "aNG" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/pool) "aNH" = (/obj/structure/bed/chair,/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod2/station) -"aNI" = (/obj/structure/bed/chair,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod2/station) +"aNI" = (/obj/structure/bed/chair,/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod2/station) "aNJ" = (/obj/structure/bed/chair,/obj/machinery/light{dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod2/station) "aNK" = (/obj/machinery/sleep_console{dir = 4},/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod2/station) "aNL" = (/obj/machinery/sleeper{dir = 4},/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod2/station) @@ -2079,20 +2079,20 @@ "aNY" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor,/area/maintenance/security_starboard) "aNZ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/hallway/secondary/civilian_hallway_aft) "aOa" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/maintenance/holodeck) -"aOb" = (/obj/structure/closet,/obj/item/clothing/suit/storage/toggle/labcoat/genetics,/obj/item/weapon/storage/backpack/genetics,/obj/random/maintenance/clean,/obj/random/maintenance/medical,/turf/simulated/floor,/area/maintenance/holodeck) +"aOb" = (/obj/structure/closet,/obj/item/clothing/suit/storage/toggle/labcoat/genetics,/obj/item/storage/backpack/genetics,/obj/random/maintenance/clean,/obj/random/maintenance/medical,/turf/simulated/floor,/area/maintenance/holodeck) "aOc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) "aOd" = (/obj/machinery/light/small{dir = 8},/obj/structure/toilet{dir = 4},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/recreation_area_restroom) "aOe" = (/obj/machinery/door/airlock{name = "Unit 2"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/recreation_area_restroom) "aOf" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/recreation_area_restroom) "aOg" = (/obj/machinery/light,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/recreation_area_restroom) "aOh" = (/obj/machinery/washing_machine,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/recreation_area_restroom) -"aOi" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/light,/obj/item/weapon/bikehorn/rubberducky,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/recreation_area_restroom) +"aOi" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/light,/obj/item/bikehorn/rubberducky,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/recreation_area_restroom) "aOj" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/pool) "aOk" = (/obj/structure/table/glass,/obj/machinery/light,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/pool) -"aOl" = (/obj/item/weapon/stool/padded,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/pool) +"aOl" = (/obj/item/stool/padded,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/pool) "aOm" = (/obj/structure/closet/secure_closet/personal,/obj/machinery/camera/network/civilian{c_tag = "CIV - Pool Aft"; dir = 1},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/pool) -"aOn" = (/obj/item/weapon/stool/padded,/obj/machinery/ai_status_display{pixel_y = -32},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/pool) -"aOo" = (/obj/structure/table/glass,/obj/item/weapon/inflatable_duck,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/pool) +"aOn" = (/obj/item/stool/padded,/obj/machinery/ai_status_display{pixel_y = -32},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/pool) +"aOo" = (/obj/structure/table/glass,/obj/item/inflatable_duck,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/pool) "aOp" = (/obj/structure/shuttle/window,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/large_escape_pod2/station) "aOq" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod2/station) "aOr" = (/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod2/station) @@ -2117,11 +2117,11 @@ "aOK" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/primary/central_two) "aOL" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/primary/central_two) "aOM" = (/obj/machinery/camera/network/northern_star{c_tag = "Hall - Recreation Aft"; dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) -"aON" = (/obj/item/inflatable/door/torn,/obj/item/weapon/tool/screwdriver,/turf/simulated/floor,/area/maintenance/pool) +"aON" = (/obj/item/inflatable/door/torn,/obj/item/tool/screwdriver,/turf/simulated/floor,/area/maintenance/pool) "aOO" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/vending/wallmed1{layer = 3.3; name = "Emergency NanoMed"; pixel_x = -28; pixel_y = 0},/obj/structure/closet/walllocker/emerglocker{pixel_x = 0; pixel_y = -32},/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod2/station) "aOP" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod2/station) "aOQ" = (/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "large_escape_pod_2"; pixel_x = 26; pixel_y = -26; tag_door = "large_escape_pod_2_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod2/station) -"aOR" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 3},/obj/item/weapon/extinguisher,/obj/item/weapon/tool/crowbar,/obj/random/medical/lite,/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod2/station) +"aOR" = (/obj/structure/table/standard,/obj/item/storage/firstaid/fire,/obj/item/storage/firstaid/regular{pixel_x = 2; pixel_y = 3},/obj/item/extinguisher,/obj/item/tool/crowbar,/obj/random/medical/lite,/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod2/station) "aOS" = (/obj/structure/bed/chair{dir = 1},/obj/structure/closet/walllocker/emerglocker{pixel_x = 0; pixel_y = -32},/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod2/station) "aOT" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/bed/chair{dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod2/station) "aOU" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/maintenance/substation/security) @@ -2145,7 +2145,7 @@ "aPm" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/maintenance/pool) "aPn" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "large_escape_pod_2_hatch"; locked = 1; name = "Large Escape Pod Hatch 2"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod2/station) "aPo" = (/turf/space,/obj/structure/shuttle/engine/propulsion{dir = 4; icon_state = "propulsion_l"},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/large_escape_pod2/station) -"aPp" = (/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor,/area/maintenance/substation/security) +"aPp" = (/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/item/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor,/area/maintenance/substation/security) "aPq" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor,/area/maintenance/substation/security) "aPr" = (/obj/structure/cable/green,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/turf/simulated/floor,/area/maintenance/substation/security) "aPs" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor,/area/maintenance/security_port) @@ -2153,7 +2153,7 @@ "aPu" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/secondary/escape/fore_port_escape_pod_hallway) "aPv" = (/obj/structure/sign/pods{dir = 8; pixel_x = -32; pixel_y = 0},/obj/structure/sign/directions/evac{pixel_y = 32; pixel_z = 8},/obj/structure/sign/directions/medical{dir = 4; pixel_y = 32},/obj/structure/sign/directions/science{dir = 2; pixel_y = 32; pixel_z = -8},/turf/simulated/floor/tiled/dark,/area/hallway/primary/central_one) "aPw" = (/obj/structure/sign/directions/security{dir = 4; pixel_y = 32},/obj/structure/sign/directions/cargo{dir = 2; pixel_y = 32; pixel_z = 8},/obj/structure/sign/directions/engineering{dir = 2; pixel_y = 32; pixel_z = -8},/turf/simulated/floor/tiled/dark,/area/hallway/primary/central_one) -"aPx" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/dark,/area/hallway/primary/central_one) +"aPx" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/dark,/area/hallway/primary/central_one) "aPy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled,/area/hallway/primary/central_one) "aPz" = (/obj/structure/sign/directions/security{dir = 1; pixel_y = 32},/turf/simulated/floor/tiled/dark,/area/hallway/primary/central_one) "aPA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/hallway/primary/central_one) @@ -2181,7 +2181,7 @@ "aPW" = (/obj/machinery/door/airlock/glass{name = "Recreation Area"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) "aPX" = (/turf/simulated/wall,/area/storage/tools) "aPY" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/maintenance/pool) -"aPZ" = (/obj/effect/decal/cleanable/dirt,/obj/structure/closet/crate,/obj/item/weapon/reagent_containers/food/drinks/bottle/wine,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/random/drinkbottle,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/pool) +"aPZ" = (/obj/effect/decal/cleanable/dirt,/obj/structure/closet/crate,/obj/item/reagent_containers/food/drinks/bottle/wine,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/random/drinkbottle,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/pool) "aQa" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "large_escape_pod_2_berth_hatch"; locked = 1; name = "Large Escape Pod 2"; req_access = list(13)},/turf/simulated/floor,/area/hallway/secondary/escape/fore_port_escape_pod_hallway) "aQb" = (/turf/simulated/wall,/area/hallway/secondary/escape/fore_port_escape_pod_hallway) "aQc" = (/obj/machinery/computer/arcade,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/escape/fore_port_escape_pod_hallway) @@ -2203,11 +2203,11 @@ "aQs" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = 28},/turf/simulated/floor/tiled,/area/hallway/primary/central_one) "aQt" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera/network/northern_star{c_tag = "Hall - Central Primary Fore Mid 1"; dir = 2},/turf/simulated/floor/tiled,/area/hallway/primary/central_one) "aQu" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark,/area/hallway/primary/central_one) -"aQv" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/structure/disposalpipe/segment{dir = 4},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/hallway/primary/central_one) +"aQv" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/structure/disposalpipe/segment{dir = 4},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/hallway/primary/central_one) "aQw" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor/tiled,/area/hallway/primary/central_one) "aQx" = (/obj/structure/disposalpipe/junction{icon_state = "pipe-j1"; dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/central_one) "aQy" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/hallway/primary/central_one) -"aQz" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/hallway/primary/central_one) +"aQz" = (/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/hallway/primary/central_one) "aQA" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = 28},/turf/simulated/floor/tiled,/area/hallway/primary/central_one) "aQB" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/primary/central_one) "aQC" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/primary/central_two) @@ -2226,7 +2226,7 @@ "aQP" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) "aQQ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) "aQR" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera/network/northern_star{c_tag = "Hall - Recreation Aft Starboard"; dir = 2},/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) -"aQS" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) +"aQS" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) "aQT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) "aQU" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) "aQV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/storage/tools) @@ -2235,14 +2235,14 @@ "aQY" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/random/tech_supply,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/storage/tools) "aQZ" = (/obj/structure/closet/toolcloset,/turf/simulated/floor/tiled,/area/storage/tools) "aRa" = (/obj/structure/closet,/obj/item/clothing/head/ushanka,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/pool) -"aRb" = (/obj/structure/table/rack,/obj/item/weapon/flame/lighter/random,/obj/item/weapon/storage/fancy/cigarettes/dromedaryco,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/pool) +"aRb" = (/obj/structure/table/rack,/obj/item/flame/lighter/random,/obj/item/storage/fancy/cigarettes/dromedaryco,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/pool) "aRc" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/fore_port_escape_pod_hallway) "aRd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/fore_port_escape_pod_hallway) "aRe" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/fore_port_escape_pod_hallway) "aRf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "large_escape_pod_2_berth_hatch"; locked = 1; name = "Large Escape Pod 2"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/escape/fore_port_escape_pod_hallway) "aRg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "large_escape_pod_2_berth"; pixel_x = 0; pixel_y = 26; tag_door = "large_escape_pod_2_berth_hatch"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/fore_port_escape_pod_hallway) "aRh" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/fore_port_escape_pod_hallway) -"aRi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 27},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/fore_port_escape_pod_hallway) +"aRi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 27},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/fore_port_escape_pod_hallway) "aRj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/fore_port_escape_pod_hallway) "aRk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/fore_port_escape_pod_hallway) "aRl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/sign/pods{dir = 8; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/fore_port_escape_pod_hallway) @@ -2327,7 +2327,7 @@ "aSM" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light,/turf/simulated/floor/tiled,/area/hallway/secondary/escape/fore_port_escape_pod_hallway) "aSN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/fore_port_escape_pod_hallway) "aSO" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/fore_port_escape_pod_hallway) -"aSP" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/disposalpipe/segment{dir = 4},/obj/item/device/radio/intercom{layer = 4; name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/fore_port_escape_pod_hallway) +"aSP" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/disposalpipe/segment{dir = 4},/obj/item/radio/intercom{layer = 4; name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/fore_port_escape_pod_hallway) "aSQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/fore_port_escape_pod_hallway) "aSR" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/primary/central_one) "aSS" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/central_one) @@ -2343,7 +2343,7 @@ "aTc" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/tiled,/area/hallway/primary/central_one) "aTd" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/light,/turf/simulated/floor/tiled,/area/hallway/primary/central_one) "aTe" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled,/area/hallway/primary/central_one) -"aTf" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/hallway/primary/central_one) +"aTf" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/hallway/primary/central_one) "aTg" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/central_one) "aTh" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/hallway/primary/central_one) "aTi" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/central_one) @@ -2367,7 +2367,7 @@ "aTA" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/primary/central_two) "aTB" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) "aTC" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/light,/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) -"aTD" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) +"aTD" = (/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) "aTE" = (/obj/machinery/light,/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) "aTF" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) "aTG" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) @@ -2416,7 +2416,7 @@ "aUx" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/crew_quarters/recreation_area_hallway) "aUy" = (/obj/item/clothing/head/cone,/turf/simulated/floor/tiled/dark,/area/crew_quarters/recreation_area_hallway) "aUz" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = -26; pixel_y = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/tiled,/area/storage/tools) -"aUA" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/tiled,/area/storage/tools) +"aUA" = (/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/tiled,/area/storage/tools) "aUB" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/storage/tools) "aUC" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/storage/tools) "aUD" = (/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/structure/table/steel,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/recharger{pixel_y = 0},/turf/simulated/floor/tiled,/area/storage/tools) @@ -2433,7 +2433,7 @@ "aUO" = (/turf/simulated/wall,/area/gateway) "aUP" = (/obj/structure/extinguisher_cabinet{pixel_x = -27},/turf/simulated/floor/tiled/dark,/area/gateway) "aUQ" = (/turf/simulated/floor/tiled/dark,/area/gateway) -"aUR" = (/obj/structure/closet/emcloset,/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/storage/toolbox/emergency,/turf/simulated/floor/tiled/dark,/area/gateway) +"aUR" = (/obj/structure/closet/emcloset,/obj/item/storage/toolbox/emergency,/obj/item/storage/toolbox/emergency,/turf/simulated/floor/tiled/dark,/area/gateway) "aUS" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/primary/central_one) "aUT" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled,/area/hallway/primary/central_one) "aUU" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/primary/central_one) @@ -2460,8 +2460,8 @@ "aVp" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"},/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor/tiled,/area/maintenance/engineering/pumpstation) "aVq" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"},/turf/simulated/floor/tiled,/area/maintenance/engineering/pumpstation) "aVr" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan,/turf/simulated/floor/tiled,/area/maintenance/engineering/pumpstation) -"aVs" = (/obj/structure/closet,/obj/item/weapon/towel/random,/obj/item/weapon/towel/random,/obj/item/weapon/towel/random,/obj/item/weapon/towel/random,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor,/area/maintenance/pool) -"aVt" = (/obj/structure/closet,/obj/item/clothing/glasses/welding,/obj/item/weapon/weldingtool,/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/research,/obj/random/maintenance/research,/turf/simulated/floor/plating,/area/maintenance/research_shuttle) +"aVs" = (/obj/structure/closet,/obj/item/towel/random,/obj/item/towel/random,/obj/item/towel/random,/obj/item/towel/random,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor,/area/maintenance/pool) +"aVt" = (/obj/structure/closet,/obj/item/clothing/glasses/welding,/obj/item/weldingtool,/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/research,/obj/random/maintenance/research,/turf/simulated/floor/plating,/area/maintenance/research_shuttle) "aVu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/maintenance/research_shuttle) "aVv" = (/turf/simulated/wall/r_wall,/area/rnd/research_foyer_auxiliary) "aVw" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/rnd/research_foyer_auxiliary) @@ -2511,7 +2511,7 @@ "aWo" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/structure/closet/firecloset,/turf/simulated/floor/tiled,/area/maintenance/engineering/pumpstation) "aWp" = (/obj/machinery/door/airlock/maintenance{req_one_access = list(12,5)},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/maintenance/pool) "aWq" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/maintenance/research_shuttle) -"aWr" = (/obj/structure/closet/emcloset,/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor/tiled/white,/area/rnd/research_foyer_auxiliary) +"aWr" = (/obj/structure/closet/emcloset,/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor/tiled/white,/area/rnd/research_foyer_auxiliary) "aWs" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/white,/area/rnd/research_foyer_auxiliary) "aWt" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled/white,/area/rnd/research_foyer_auxiliary) "aWu" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/computer/cryopod/gateway{pixel_x = -32},/turf/simulated/floor/tiled/dark,/area/gateway) @@ -2520,7 +2520,7 @@ "aWx" = (/obj/machinery/cryopod/robot/door/gateway,/turf/simulated/floor/tiled/dark,/area/gateway) "aWy" = (/obj/machinery/gateway{dir = 4},/turf/simulated/floor/tiled/dark,/area/gateway) "aWz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark,/area/gateway) -"aWA" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 26},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled/dark,/area/gateway) +"aWA" = (/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 26},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled/dark,/area/gateway) "aWB" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/primary/central_four) "aWC" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/hallway/primary/central_four) "aWD" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/central_four) @@ -2533,14 +2533,14 @@ "aWK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/dark,/area/ai_upload_foyer) "aWL" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/structure/sign/kiddieplaque{pixel_y = 32},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor/tiled/dark,/area/ai_upload_foyer) "aWM" = (/obj/structure/bed/chair/office/light{dir = 4},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled/dark,/area/ai_cyborg_station) -"aWN" = (/obj/structure/table/standard,/obj/item/weapon/phone,/obj/machinery/light{dir = 1},/turf/simulated/floor/bluegrid,/area/ai_cyborg_station) +"aWN" = (/obj/structure/table/standard,/obj/item/phone,/obj/machinery/light{dir = 1},/turf/simulated/floor/bluegrid,/area/ai_cyborg_station) "aWO" = (/obj/machinery/computer/aifixer,/turf/simulated/floor/bluegrid,/area/ai_cyborg_station) "aWP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light/small{dir = 4},/turf/simulated/floor,/area/maintenance/central) "aWQ" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hydroponics/garden) "aWR" = (/obj/machinery/smartfridge/drying_rack,/turf/simulated/floor/grass,/area/hydroponics/garden) "aWS" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 2},/obj/machinery/seed_storage/garden,/turf/simulated/floor/grass,/area/hydroponics/garden) "aWT" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 2},/obj/machinery/vending/hydronutrients,/turf/simulated/floor/grass,/area/hydroponics/garden) -"aWU" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 6},/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/glass/bucket,/obj/machinery/light{dir = 1},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/grass,/area/hydroponics/garden) +"aWU" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 6},/obj/structure/table/woodentable,/obj/item/reagent_containers/glass/bucket,/obj/machinery/light{dir = 1},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/grass,/area/hydroponics/garden) "aWV" = (/obj/structure/sink/kitchen{pixel_y = 28},/obj/effect/floor_decal/corner/green{dir = 9},/turf/simulated/floor/tiled,/area/hydroponics/garden) "aWW" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/hydroponics/garden) "aWX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hydroponics/garden) @@ -2558,7 +2558,7 @@ "aXj" = (/obj/structure/dispenser/oxygen,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/emergency/eva) "aXk" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/machinery/door/window/southleft,/obj/item/clothing/suit/space,/obj/item/clothing/head/helmet/space,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/emergency/eva) "aXl" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/door/window/southright,/obj/item/clothing/suit/space,/obj/item/clothing/head/helmet/space,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/emergency/eva) -"aXm" = (/obj/structure/table/rack,/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/item/device/suit_cooling_unit,/obj/item/device/suit_cooling_unit,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/emergency/eva) +"aXm" = (/obj/structure/table/rack,/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/item/suit_cooling_unit,/obj/item/suit_cooling_unit,/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/emergency/eva) "aXn" = (/obj/item/stack/material/wood{amount = 24},/turf/simulated/floor,/area/ai_monitored/storage/emergency/eva) "aXo" = (/obj/item/stack/material/wood,/turf/simulated/floor,/area/ai_monitored/storage/emergency/eva) "aXp" = (/obj/machinery/newscaster{pixel_y = 32},/obj/effect/floor_decal/corner/brown/full{dir = 1},/turf/simulated/floor/tiled/white,/area/ai_monitored/storage/emergency/eva) @@ -2567,7 +2567,7 @@ "aXs" = (/obj/effect/floor_decal/corner/yellow{dir = 5},/turf/simulated/floor/tiled/white,/area/ai_monitored/storage/emergency/eva) "aXt" = (/obj/effect/floor_decal/corner/yellow{dir = 5},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/white,/area/ai_monitored/storage/emergency/eva) "aXu" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/maintenance/medbay_fore) -"aXv" = (/obj/structure/closet,/obj/item/weapon/storage/backpack,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/firstaid,/turf/simulated/floor/plating,/area/maintenance/medbay_fore) +"aXv" = (/obj/structure/closet,/obj/item/storage/backpack,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/firstaid,/turf/simulated/floor/plating,/area/maintenance/medbay_fore) "aXw" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/powered/pump/filled,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/tiled/hydro,/area/maintenance/engineering/pumpstation) "aXx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 9; icon_state = "intact"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/maintenance/engineering/pumpstation) "aXy" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/maintenance/engineering/pumpstation) @@ -2605,7 +2605,7 @@ "aYe" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/highsecurity{name = "AI Upload Access"; req_access = list(16)},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark,/area/ai_upload_foyer) "aYf" = (/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/dark,/area/ai_cyborg_station) "aYg" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/dark,/area/ai_cyborg_station) -"aYh" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled/dark,/area/ai_cyborg_station) +"aYh" = (/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled/dark,/area/ai_cyborg_station) "aYi" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/hydroponics/garden) "aYj" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/turf/simulated/floor/grass,/area/hydroponics/garden) "aYk" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 6},/turf/simulated/floor/grass,/area/hydroponics/garden) @@ -2635,7 +2635,7 @@ "aYI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/ai_monitored/storage/emergency/eva) "aYJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled/white,/area/ai_monitored/storage/emergency/eva) "aYK" = (/turf/simulated/floor/tiled/yellow,/area/ai_monitored/storage/emergency/eva) -"aYL" = (/obj/structure/table/rack{dir = 1},/obj/item/weapon/storage/toolbox/emergency,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/turf/simulated/floor/plating,/area/maintenance/medbay_fore) +"aYL" = (/obj/structure/table/rack{dir = 1},/obj/item/storage/toolbox/emergency,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/turf/simulated/floor/plating,/area/maintenance/medbay_fore) "aYM" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/tiled/hydro,/area/maintenance/engineering/pumpstation) "aYN" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/red{dir = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/maintenance/engineering/pumpstation) "aYO" = (/obj/machinery/atmospherics/pipe/simple/hidden/red{icon_state = "intact"; dir = 4},/turf/simulated/floor/tiled,/area/maintenance/engineering/pumpstation) @@ -2654,17 +2654,17 @@ "aZb" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/gateway) "aZc" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/gateway) "aZd" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/gateway) -"aZe" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/closet/emcloset,/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/storage/toolbox/emergency,/turf/simulated/floor/tiled,/area/gateway) +"aZe" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/closet/emcloset,/obj/item/storage/toolbox/emergency,/obj/item/storage/toolbox/emergency,/turf/simulated/floor/tiled,/area/gateway) "aZf" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/shuttle/plating,/area/gateway) "aZg" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/central_four) "aZh" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/primary/central_four) "aZi" = (/obj/structure/disposalpipe/junction{dir = 1; icon_state = "pipe-j2"},/turf/simulated/floor/tiled,/area/hallway/primary/central_four) "aZj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/central_four) "aZk" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled,/area/hallway/primary/central_four) -"aZl" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/dark,/area/ai_server_room) +"aZl" = (/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/dark,/area/ai_server_room) "aZm" = (/turf/simulated/floor/tiled/dark,/area/ai_server_room) "aZn" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/ai_server_room) -"aZo" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/machinery/turretid/stun{control_area = "\improper AI Upload Chamber"; name = "AI Upload turret control"; pixel_x = 6; pixel_y = -24},/obj/item/device/radio/intercom{broadcasting = 1; frequency = 1447; name = "Private AI Channel"; pixel_x = -12; pixel_y = -21},/turf/simulated/floor/tiled/dark,/area/ai_upload_foyer) +"aZo" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/machinery/turretid/stun{control_area = "\improper AI Upload Chamber"; name = "AI Upload turret control"; pixel_x = 6; pixel_y = -24},/obj/item/radio/intercom{broadcasting = 1; frequency = 1447; name = "Private AI Channel"; pixel_x = -12; pixel_y = -21},/turf/simulated/floor/tiled/dark,/area/ai_upload_foyer) "aZp" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/cyan{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/flasher{id = "AIFoyer"; pixel_x = 22; pixel_y = -36},/turf/simulated/floor/tiled/dark,/area/ai_upload_foyer) "aZq" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled/dark,/area/ai_upload_foyer) "aZr" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/ai_cyborg_station) @@ -2678,7 +2678,7 @@ "aZz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hydroponics/garden) "aZA" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled,/area/hydroponics/garden) "aZB" = (/obj/effect/floor_decal/corner/green/full{dir = 1},/turf/simulated/floor/tiled,/area/hydroponics/garden) -"aZC" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/hallway/primary/central_two) +"aZC" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/hallway/primary/central_two) "aZD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/central_two) "aZE" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/hallway/primary/central_two) "aZF" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/central_two) @@ -2700,10 +2700,10 @@ "aZV" = (/obj/machinery/atmospherics/pipe/simple/hidden/red{icon_state = "intact"; dir = 9},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 12; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor/tiled,/area/maintenance/engineering/pumpstation) "aZW" = (/obj/structure/table/steel_reinforced,/obj/machinery/cell_charger,/turf/simulated/floor/tiled,/area/maintenance/engineering/pumpstation) "aZX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/engineering/pumpstation) -"aZY" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 6},/turf/simulated/floor/tiled,/area/maintenance/engineering/pumpstation) +"aZY" = (/obj/structure/table/steel_reinforced,/obj/item/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 6},/turf/simulated/floor/tiled,/area/maintenance/engineering/pumpstation) "aZZ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/table/steel_reinforced,/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/steel{amount = 50; pixel_x = -2; pixel_y = -2},/turf/simulated/floor/tiled,/area/maintenance/engineering/pumpstation) "baa" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/research_shuttle) -"bab" = (/obj/effect/decal/cleanable/generic,/obj/item/weapon/material/shard{icon_state = "medium"},/turf/simulated/floor/plating,/area/maintenance/research_shuttle) +"bab" = (/obj/effect/decal/cleanable/generic,/obj/item/material/shard{icon_state = "medium"},/turf/simulated/floor/plating,/area/maintenance/research_shuttle) "bac" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/research{name = "Research Division Auxiliary Access"; req_access = list(47)},/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/rnd/research_foyer_auxiliary) "bad" = (/obj/machinery/lapvend,/turf/simulated/floor/tiled,/area/gateway) "bae" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/gateway) @@ -2723,7 +2723,7 @@ "bas" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/dark,/area/ai_server_room) "bat" = (/turf/simulated/wall/r_wall,/area/ai_upload) "bau" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/highsecurity{name = "AI Upload"; req_access = list(16)},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/ai_upload) -"bav" = (/obj/structure/closet/crate{name = "Camera Assembly Crate"},/obj/item/weapon/camera_assembly,/obj/item/weapon/camera_assembly,/obj/item/weapon/camera_assembly,/obj/item/weapon/camera_assembly,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/dark,/area/ai_cyborg_station) +"bav" = (/obj/structure/closet/crate{name = "Camera Assembly Crate"},/obj/item/camera_assembly,/obj/item/camera_assembly,/obj/item/camera_assembly,/obj/item/camera_assembly,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/dark,/area/ai_cyborg_station) "baw" = (/obj/machinery/recharge_station,/obj/machinery/camera/network/command{c_tag = "AI - Cyborg Station"; dir = 1},/turf/simulated/floor/bluegrid,/area/ai_cyborg_station) "bax" = (/obj/machinery/recharge_station,/turf/simulated/floor/bluegrid,/area/ai_cyborg_station) "bay" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hydroponics/garden) @@ -2732,24 +2732,24 @@ "baB" = (/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/grass,/area/hydroponics/garden) "baC" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/central_two) "baD" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/central_two) -"baE" = (/obj/structure/table/reinforced,/obj/effect/floor_decal/industrial/warning,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/structure/cable/green,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 12; pixel_y = -24},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/emergency/eva) -"baF" = (/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 6},/obj/item/weapon/storage/briefcase/inflatable{pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = -3},/obj/structure/table/reinforced,/obj/effect/floor_decal/industrial/warning,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/emergency/eva) +"baE" = (/obj/structure/table/reinforced,/obj/effect/floor_decal/industrial/warning,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/cell/high{charge = 100; maxcharge = 15000},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/cell/high{charge = 100; maxcharge = 15000},/obj/item/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/structure/cable/green,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 12; pixel_y = -24},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/emergency/eva) +"baF" = (/obj/item/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 6},/obj/item/storage/briefcase/inflatable{pixel_y = 3},/obj/item/storage/briefcase/inflatable{pixel_x = -3},/obj/structure/table/reinforced,/obj/effect/floor_decal/industrial/warning,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/emergency/eva) "baG" = (/obj/machinery/suit_storage_unit/standard_unit,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/emergency/eva) -"baH" = (/obj/structure/table/reinforced,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/industrial/warning,/obj/item/weapon/tool/crowbar/red,/obj/item/weapon/tool/crowbar/red,/obj/item/weapon/tool/crowbar/red,/obj/item/weapon/tool/crowbar/red,/obj/item/weapon/tool/crowbar/red,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/device/radio/off,/obj/item/device/radio/off,/obj/item/device/radio/off,/obj/item/device/radio/off,/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/camera/network/civilian{c_tag = "CIV - Emergency EVA"; dir = 1},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/emergency/eva) -"baI" = (/obj/structure/table/woodentable,/obj/machinery/light,/obj/effect/floor_decal/corner/brown{dir = 10},/obj/random/maintenance/engineering,/obj/item/weapon/storage/belt/utility,/turf/simulated/floor/tiled/white,/area/ai_monitored/storage/emergency/eva) +"baH" = (/obj/structure/table/reinforced,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/industrial/warning,/obj/item/tool/crowbar/red,/obj/item/tool/crowbar/red,/obj/item/tool/crowbar/red,/obj/item/tool/crowbar/red,/obj/item/tool/crowbar/red,/obj/item/flashlight,/obj/item/flashlight,/obj/item/radio/off,/obj/item/radio/off,/obj/item/radio/off,/obj/item/radio/off,/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/camera/network/civilian{c_tag = "CIV - Emergency EVA"; dir = 1},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/emergency/eva) +"baI" = (/obj/structure/table/woodentable,/obj/machinery/light,/obj/effect/floor_decal/corner/brown{dir = 10},/obj/random/maintenance/engineering,/obj/item/storage/belt/utility,/turf/simulated/floor/tiled/white,/area/ai_monitored/storage/emergency/eva) "baJ" = (/obj/effect/floor_decal/corner/brown{dir = 10},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/tiled/white,/area/ai_monitored/storage/emergency/eva) "baK" = (/obj/effect/floor_decal/corner/brown/full{dir = 4},/turf/simulated/floor/tiled/white,/area/ai_monitored/storage/emergency/eva) "baL" = (/obj/effect/floor_decal/corner/yellow/full,/obj/effect/decal/cleanable/blood/oil,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/white,/area/ai_monitored/storage/emergency/eva) -"baM" = (/obj/effect/floor_decal/corner/yellow{dir = 10},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/white,/area/ai_monitored/storage/emergency/eva) -"baN" = (/obj/effect/floor_decal/corner/yellow{dir = 10},/obj/structure/table/marble,/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/item/taperoll/engineering,/obj/item/weapon/tool/crowbar,/turf/simulated/floor/tiled/white,/area/ai_monitored/storage/emergency/eva) +"baM" = (/obj/effect/floor_decal/corner/yellow{dir = 10},/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/white,/area/ai_monitored/storage/emergency/eva) +"baN" = (/obj/effect/floor_decal/corner/yellow{dir = 10},/obj/structure/table/marble,/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/item/taperoll/engineering,/obj/item/tool/crowbar,/turf/simulated/floor/tiled/white,/area/ai_monitored/storage/emergency/eva) "baO" = (/obj/structure/table/marble,/turf/simulated/floor/tiled/yellow,/area/ai_monitored/storage/emergency/eva) "baP" = (/obj/structure/closet/crate/freezer,/turf/simulated/floor/tiled/freezer,/area/medical/surgery_storage) "baQ" = (/obj/structure/closet/crate/freezer,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled/freezer,/area/medical/surgery_storage) "baR" = (/obj/machinery/iv_drip,/turf/simulated/floor/tiled/freezer,/area/medical/surgery_storage) "baS" = (/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "medbayquar"; name = "Medbay Emergency Lockdown Shutters"; opacity = 0},/turf/simulated/floor,/area/maintenance/medbay_fore) "baT" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor,/area/maintenance/medbay_fore) -"baU" = (/obj/structure/closet/crate,/obj/item/weapon/coin/silver,/obj/effect/decal/cleanable/cobweb2{icon_state = "cobweb1"},/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/turf/simulated/floor/plating,/area/mine/unexplored/upper_level) -"baV" = (/obj/structure/closet/crate,/obj/item/clothing/shoes/boots/combat,/obj/item/weapon/tank/air,/obj/item/weapon/tank/air,/obj/item/weapon/tank/air,/obj/item/clothing/mask/gas,/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/cargo,/obj/random/maintenance/medical,/turf/simulated/floor/plating,/area/mine/unexplored/upper_level) +"baU" = (/obj/structure/closet/crate,/obj/item/coin/silver,/obj/effect/decal/cleanable/cobweb2{icon_state = "cobweb1"},/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/turf/simulated/floor/plating,/area/mine/unexplored/upper_level) +"baV" = (/obj/structure/closet/crate,/obj/item/clothing/shoes/boots/combat,/obj/item/tank/air,/obj/item/tank/air,/obj/item/tank/air,/obj/item/clothing/mask/gas,/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/cargo,/obj/random/maintenance/medical,/turf/simulated/floor/plating,/area/mine/unexplored/upper_level) "baW" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/engineering{name = "Pump Station"; req_one_access = list(11,24)},/turf/simulated/floor,/area/maintenance/medbay_fore) "baX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/research_shuttle) "baY" = (/mob/living/simple_mob/animal/passive/mouse,/turf/simulated/floor,/area/maintenance/research_shuttle) @@ -2758,7 +2758,7 @@ "bbb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/white,/area/rnd/research) "bbc" = (/obj/effect/floor_decal/corner/purple{dir = 6},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/atm{pixel_x = 28; pixel_y = 0},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/white,/area/rnd/research) "bbd" = (/turf/simulated/wall/r_wall,/area/rnd/research) -"bbe" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/table/standard,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/item/weapon/storage/fancy/cigarettes{pixel_y = 2},/obj/machinery/atm{pixel_x = 0; pixel_y = -30},/obj/item/weapon/deck/cards,/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/tiled,/area/gateway) +"bbe" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/table/standard,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/item/storage/fancy/cigarettes{pixel_y = 2},/obj/machinery/atm{pixel_x = 0; pixel_y = -30},/obj/item/deck/cards,/obj/item/book/codex/lore/vir,/turf/simulated/floor/tiled,/area/gateway) "bbf" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/gateway) "bbg" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled,/area/gateway) "bbh" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/gateway) @@ -2783,9 +2783,9 @@ "bbA" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 8},/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/grass,/area/hydroponics/garden) "bbB" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera/network/northern_star{c_tag = "Hall - Central Primary Starboard Fore 2"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/central_two) "bbC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/central_two) -"bbD" = (/obj/structure/closet/crate/medical,/obj/item/weapon/surgical/surgicaldrill,/obj/item/weapon/surgical/FixOVein,/obj/item/weapon/surgical/circular_saw,/obj/item/weapon/surgical/scalpel,/obj/item/stack/medical/advanced/bruise_pack,/obj/item/weapon/surgical/retractor,/obj/item/weapon/surgical/hemostat,/obj/item/weapon/surgical/cautery,/obj/item/weapon/surgical/bonesetter,/obj/item/weapon/surgical/bonegel,/obj/item/stack/nanopaste,/obj/item/weapon/autopsy_scanner,/obj/item/weapon/reagent_containers/spray/cleaner{desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; pixel_y = 2},/turf/simulated/floor/tiled/freezer,/area/medical/surgery_storage) +"bbD" = (/obj/structure/closet/crate/medical,/obj/item/surgical/surgicaldrill,/obj/item/surgical/FixOVein,/obj/item/surgical/circular_saw,/obj/item/surgical/scalpel,/obj/item/stack/medical/advanced/bruise_pack,/obj/item/surgical/retractor,/obj/item/surgical/hemostat,/obj/item/surgical/cautery,/obj/item/surgical/bonesetter,/obj/item/surgical/bonegel,/obj/item/stack/nanopaste,/obj/item/autopsy_scanner,/obj/item/reagent_containers/spray/cleaner{desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; pixel_y = 2},/turf/simulated/floor/tiled/freezer,/area/medical/surgery_storage) "bbE" = (/turf/simulated/floor/tiled/freezer,/area/medical/surgery_storage) -"bbF" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor/tiled/freezer,/area/medical/surgery_storage) +"bbF" = (/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor/tiled/freezer,/area/medical/surgery_storage) "bbG" = (/turf/simulated/floor,/area/mine/unexplored/upper_level) "bbH" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor,/area/maintenance/medbay_fore) "bbI" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor,/area/maintenance/medbay_fore) @@ -2793,8 +2793,8 @@ "bbK" = (/obj/effect/decal/cleanable/cobweb2,/obj/effect/decal/cleanable/cobweb2{icon_state = "spiderling"; name = "dead spider"},/turf/simulated/floor,/area/maintenance/medbay_fore) "bbL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/research_shuttle) "bbM" = (/obj/machinery/floodlight,/turf/simulated/floor,/area/rnd/research_storage) -"bbN" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/table/standard,/obj/item/device/t_scanner,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor,/area/rnd/research_storage) -"bbO" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/gloves,/obj/item/weapon/storage/toolbox/emergency,/turf/simulated/floor/plating,/area/rnd/research_storage) +"bbN" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/table/standard,/obj/item/t_scanner,/obj/item/storage/box/lights/mixed,/turf/simulated/floor,/area/rnd/research_storage) +"bbO" = (/obj/structure/table/rack,/obj/item/storage/box/gloves,/obj/item/storage/toolbox/emergency,/turf/simulated/floor/plating,/area/rnd/research_storage) "bbP" = (/turf/simulated/floor/tiled/white,/area/rnd/research) "bbQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research) "bbR" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/rnd/research) @@ -2805,7 +2805,7 @@ "bbW" = (/obj/structure/closet/l3closet/scientist,/turf/simulated/floor/tiled,/area/gateway) "bbX" = (/obj/structure/disposalpipe/segment,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled,/area/hallway/primary/central_four) "bbY" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/newscaster{pixel_x = 28; pixel_y = 1},/turf/simulated/floor/tiled,/area/hallway/primary/central_four) -"bbZ" = (/obj/structure/table/standard,/obj/item/weapon/hand_tele,/turf/simulated/floor/tiled/dark,/area/teleporter) +"bbZ" = (/obj/structure/table/standard,/obj/item/hand_tele,/turf/simulated/floor/tiled/dark,/area/teleporter) "bca" = (/obj/machinery/computer/teleporter,/turf/simulated/floor/tiled/dark,/area/teleporter) "bcb" = (/obj/machinery/teleport/station,/turf/simulated/floor/tiled/dark,/area/teleporter) "bcc" = (/obj/machinery/teleport/hub,/turf/simulated/floor/tiled/dark,/area/teleporter) @@ -2820,16 +2820,16 @@ "bcl" = (/obj/structure/table/woodentable,/obj/effect/floor_decal/corner/green{dir = 6},/turf/simulated/floor/tiled,/area/hydroponics/garden) "bcm" = (/obj/structure/disposalpipe/segment,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/tiled,/area/hallway/primary/central_two) "bcn" = (/turf/simulated/wall,/area/medical/surgeryobs) -"bco" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/cups{pixel_x = 0; pixel_y = 0},/turf/simulated/floor/tiled,/area/medical/surgeryobs) +"bco" = (/obj/structure/table/standard,/obj/item/storage/box/cups{pixel_x = 0; pixel_y = 0},/turf/simulated/floor/tiled,/area/medical/surgeryobs) "bcp" = (/obj/structure/reagent_dispensers/water_cooler/full,/obj/effect/floor_decal/corner/paleblue{dir = 2},/turf/simulated/floor/tiled,/area/medical/surgeryobs) -"bcq" = (/obj/structure/table/standard,/obj/item/weapon/surgical/hemostat,/obj/item/weapon/surgical/cautery,/obj/effect/floor_decal/corner/pink/full{dir = 8},/obj/machinery/button/remote/blast_door{id = "surgeryobs2"; name = "Privacy Shutters"; pixel_x = -26; pixel_y = 0},/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled/white,/area/medical/surgery2) -"bcr" = (/obj/structure/table/standard,/obj/item/stack/medical/advanced/bruise_pack,/obj/item/weapon/surgical/retractor,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled/white,/area/medical/surgery2) -"bcs" = (/obj/structure/table/standard,/obj/item/weapon/surgical/circular_saw{pixel_y = 8},/obj/item/weapon/surgical/scalpel,/obj/effect/floor_decal/corner/pink{dir = 5},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/white,/area/medical/surgery2) -"bct" = (/obj/structure/table/standard,/obj/item/weapon/surgical/surgicaldrill,/obj/item/weapon/autopsy_scanner,/obj/item/weapon/reagent_containers/spray/cleaner{desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; pixel_y = 2},/obj/item/weapon/surgical/FixOVein,/turf/simulated/floor/tiled/white,/area/medical/surgery2) +"bcq" = (/obj/structure/table/standard,/obj/item/surgical/hemostat,/obj/item/surgical/cautery,/obj/effect/floor_decal/corner/pink/full{dir = 8},/obj/machinery/button/remote/blast_door{id = "surgeryobs2"; name = "Privacy Shutters"; pixel_x = -26; pixel_y = 0},/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled/white,/area/medical/surgery2) +"bcr" = (/obj/structure/table/standard,/obj/item/stack/medical/advanced/bruise_pack,/obj/item/surgical/retractor,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled/white,/area/medical/surgery2) +"bcs" = (/obj/structure/table/standard,/obj/item/surgical/circular_saw{pixel_y = 8},/obj/item/surgical/scalpel,/obj/effect/floor_decal/corner/pink{dir = 5},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/white,/area/medical/surgery2) +"bct" = (/obj/structure/table/standard,/obj/item/surgical/surgicaldrill,/obj/item/autopsy_scanner,/obj/item/reagent_containers/spray/cleaner{desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; pixel_y = 2},/obj/item/surgical/FixOVein,/turf/simulated/floor/tiled/white,/area/medical/surgery2) "bcu" = (/obj/structure/closet/secure_closet/medical2,/obj/effect/floor_decal/corner/pink/full{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/surgery2) "bcv" = (/turf/simulated/wall,/area/medical/surgery2) "bcw" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/tiled/white,/area/medical/surgery_hallway) -"bcx" = (/obj/structure/table/standard,/obj/item/device/radio{anchored = 1; broadcasting = 0; canhear_range = 7; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Surgery Emergency Phone"},/obj/machinery/light{dir = 1},/obj/random/medical,/turf/simulated/floor/tiled/white,/area/medical/surgery_hallway) +"bcx" = (/obj/structure/table/standard,/obj/item/radio{anchored = 1; broadcasting = 0; canhear_range = 7; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Surgery Emergency Phone"},/obj/machinery/light{dir = 1},/obj/random/medical,/turf/simulated/floor/tiled/white,/area/medical/surgery_hallway) "bcy" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/turf/simulated/floor/tiled/freezer,/area/medical/surgery_storage) "bcz" = (/obj/machinery/door/airlock/maintenance{name = "Operating Theatre Maintenance Access"; req_access = list(45)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/freezer,/area/medical/surgery_storage) "bcA" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor,/area/maintenance/medbay_fore) @@ -2849,18 +2849,18 @@ "bcO" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/gateway) "bcP" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating,/area/hallway/primary/central_four) "bcQ" = (/obj/structure/disposalpipe/segment,/obj/machinery/camera/network/northern_star{c_tag = "Hall - Central Primary Port Fore 1"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/central_four) -"bcR" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 26},/turf/simulated/floor/tiled,/area/hallway/primary/central_four) +"bcR" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 26},/turf/simulated/floor/tiled,/area/hallway/primary/central_four) "bcS" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/extinguisher_cabinet{pixel_x = -27; pixel_y = 1},/obj/machinery/light,/turf/simulated/floor/tiled,/area/teleporter) -"bcT" = (/obj/item/weapon/stool/padded,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/teleporter) +"bcT" = (/obj/item/stool/padded,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/teleporter) "bcU" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/teleporter) "bcV" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/teleporter) -"bcW" = (/obj/structure/table/standard,/obj/item/weapon/aiModule/protectStation,/obj/machinery/light{dir = 1},/turf/simulated/floor/bluegrid,/area/ai_upload) +"bcW" = (/obj/structure/table/standard,/obj/item/aiModule/protectStation,/obj/machinery/light{dir = 1},/turf/simulated/floor/bluegrid,/area/ai_upload) "bcX" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/dark,/area/ai_upload) "bcY" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/ai_slipper{icon_state = "motion0"},/turf/simulated/floor/tiled/dark,/area/ai_upload) "bcZ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/dark,/area/ai_upload) -"bda" = (/obj/structure/table/standard,/obj/item/weapon/aiModule/reset,/obj/machinery/light{dir = 1},/turf/simulated/floor/bluegrid,/area/ai_upload) +"bda" = (/obj/structure/table/standard,/obj/item/aiModule/reset,/obj/machinery/light{dir = 1},/turf/simulated/floor/bluegrid,/area/ai_upload) "bdb" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 4},/obj/structure/flora/ausbushes/sparsegrass,/obj/structure/flora/ausbushes/brflowers,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/newscaster{pixel_x = -30},/turf/simulated/floor/grass,/area/hydroponics/garden) -"bdc" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/britcup,/obj/effect/floor_decal/corner/green{dir = 9},/turf/simulated/floor/tiled,/area/hydroponics/garden) +"bdc" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/food/drinks/britcup,/obj/effect/floor_decal/corner/green{dir = 9},/turf/simulated/floor/tiled,/area/hydroponics/garden) "bdd" = (/obj/structure/table/woodentable,/turf/simulated/floor/tiled,/area/hydroponics/garden) "bde" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/flora/ausbushes/reedbush,/turf/simulated/floor/water/pool,/area/hydroponics/garden) "bdf" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/hydroponics/garden) @@ -2875,7 +2875,7 @@ "bdo" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/tiled,/area/medical/surgeryobs) "bdp" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/effect/floor_decal/corner/paleblue{dir = 6},/turf/simulated/floor/tiled,/area/medical/surgeryobs) "bdq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "surgeryobs2"; name = "Operating Theatre Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/surgeryobs) -"bdr" = (/obj/structure/table/standard,/obj/item/weapon/surgical/bonesetter,/obj/item/weapon/surgical/bonegel,/turf/simulated/floor/tiled/white,/area/medical/surgery2) +"bdr" = (/obj/structure/table/standard,/obj/item/surgical/bonesetter,/obj/item/surgical/bonegel,/turf/simulated/floor/tiled/white,/area/medical/surgery2) "bds" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/white,/area/medical/surgery2) "bdt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/medical/surgery2) "bdu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/medical/surgery2) @@ -2903,9 +2903,9 @@ "bdQ" = (/turf/simulated/floor/tiled,/area/teleporter) "bdR" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled,/area/teleporter) "bdS" = (/obj/structure/dispenser{phorontanks = 0},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled/dark,/area/teleporter) -"bdT" = (/obj/structure/table/standard,/obj/item/weapon/aiModule/freeform,/turf/simulated/floor/bluegrid,/area/ai_upload) +"bdT" = (/obj/structure/table/standard,/obj/item/aiModule/freeform,/turf/simulated/floor/bluegrid,/area/ai_upload) "bdU" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/ai_upload) -"bdV" = (/obj/structure/table/standard,/obj/item/weapon/aiModule/nanotrasen,/turf/simulated/floor/bluegrid,/area/ai_upload) +"bdV" = (/obj/structure/table/standard,/obj/item/aiModule/nanotrasen,/turf/simulated/floor/bluegrid,/area/ai_upload) "bdW" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 4},/obj/structure/flora/ausbushes/pointybush,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/grass,/area/hydroponics/garden) "bdX" = (/obj/structure/bed/chair/wood{dir = 1},/obj/effect/floor_decal/corner/green{dir = 9},/turf/simulated/floor/tiled,/area/hydroponics/garden) "bdY" = (/obj/structure/bed/chair/wood{dir = 1},/turf/simulated/floor/tiled,/area/hydroponics/garden) @@ -2935,9 +2935,9 @@ "bew" = (/turf/simulated/wall,/area/medical/surgery_hallway) "bex" = (/turf/simulated/wall,/area/medical/exam_room) "bey" = (/turf/simulated/wall,/area/medical/cryo) -"bez" = (/obj/structure/bookcase/manuals/medical,/obj/item/weapon/book/manual/stasis,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) +"bez" = (/obj/structure/bookcase/manuals/medical,/obj/item/book/manual/stasis,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) "beA" = (/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) -"beB" = (/obj/structure/table/standard,/obj/structure/noticeboard{pixel_y = 28},/obj/item/weapon/book/manual/medical_diagnostics_manual{pixel_y = 7},/obj/item/device/radio{anchored = 1; broadcasting = 0; canhear_range = 4; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Break Room Emergency Phone"},/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/machinery/light{dir = 1},/obj/item/weapon/storage/box/glasses/square,/obj/machinery/recharger{pixel_y = 0},/obj/item/weapon/reagent_containers/food/drinks/britcup,/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) +"beB" = (/obj/structure/table/standard,/obj/structure/noticeboard{pixel_y = 28},/obj/item/book/manual/wiki/medical_diagnostics_manual{pixel_y = 7},/obj/item/radio{anchored = 1; broadcasting = 0; canhear_range = 4; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Break Room Emergency Phone"},/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/machinery/light{dir = 1},/obj/item/storage/box/glasses/square,/obj/machinery/recharger{pixel_y = 0},/obj/item/reagent_containers/food/drinks/britcup,/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) "beC" = (/obj/machinery/vending/cola,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) "beD" = (/obj/machinery/vending/coffee,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) "beE" = (/turf/simulated/wall,/area/crew_quarters/medical_restroom) @@ -2949,7 +2949,7 @@ "beK" = (/turf/simulated/wall,/area/rnd/research_storage) "beL" = (/obj/machinery/door/airlock{name = "Research Storage"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/rnd/research_storage) "beM" = (/obj/effect/floor_decal/corner/purple{dir = 9},/obj/structure/extinguisher_cabinet{pixel_x = -27},/turf/simulated/floor/tiled/white,/area/rnd/research) -"beN" = (/obj/effect/floor_decal/corner/purple{dir = 6},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 26},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera/network/research{c_tag = "SCI - Research Auxiliary Hallway"; dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research) +"beN" = (/obj/effect/floor_decal/corner/purple{dir = 6},/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 26},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera/network/research{c_tag = "SCI - Research Auxiliary Hallway"; dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research) "beO" = (/turf/simulated/wall/r_wall,/area/rnd/research_restroom) "beP" = (/obj/structure/bed/chair,/turf/simulated/floor/tiled/dark,/area/hallway/primary/central_four) "beQ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/central_four) @@ -2972,27 +2972,27 @@ "bfh" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/primary/central_two) "bfi" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/hallway/primary/central_two) "bfj" = (/obj/structure/bed/chair,/turf/simulated/floor/tiled/dark,/area/hallway/primary/central_two) -"bfk" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/medical/surgeryobs) +"bfk" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/medical/surgeryobs) "bfl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/tiled,/area/medical/surgeryobs) "bfm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "surgeryobs2"; name = "Operating Theatre Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/surgeryobs) "bfn" = (/turf/simulated/floor/tiled/white,/area/medical/surgery2) "bfo" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/surgery2) "bfp" = (/obj/machinery/door/airlock/medical{name = "Operating Theatre 2"; req_access = list(45)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/white,/area/medical/surgery2) "bfq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/medical/surgery_hallway) -"bfr" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/gloves{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/masks,/turf/simulated/floor/tiled/white,/area/medical/surgery_hallway) +"bfr" = (/obj/structure/table/standard,/obj/item/storage/box/gloves{pixel_x = 4; pixel_y = 4},/obj/item/storage/box/masks,/turf/simulated/floor/tiled/white,/area/medical/surgery_hallway) "bfs" = (/obj/structure/table/standard,/obj/machinery/computer/med_data/laptop,/obj/effect/floor_decal/corner/pink/full{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/exam_room) -"bft" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin,/obj/item/weapon/folder/white,/obj/item/weapon/pen,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/effect/floor_decal/corner/pink{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/exam_room) +"bft" = (/obj/structure/table/standard,/obj/item/paper_bin,/obj/item/folder/white,/obj/item/pen,/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/effect/floor_decal/corner/pink{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/exam_room) "bfu" = (/obj/structure/filingcabinet/medical{desc = "A large cabinet with hard copy medical records."; name = "Medical Records"},/obj/machinery/camera/network/medbay{c_tag = "MED - Examination Room"},/obj/effect/floor_decal/corner/pink{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/exam_room) "bfv" = (/obj/structure/closet/secure_closet/medical1,/obj/effect/floor_decal/corner/pink/full{dir = 1},/obj/random/medical,/turf/simulated/floor/tiled/white,/area/medical/exam_room) -"bfw" = (/obj/item/weapon/tool/wrench,/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 7; pixel_y = 1},/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = -4; pixel_y = 0},/obj/structure/table/glass,/obj/effect/floor_decal/corner/pink/full{dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/cryo) +"bfw" = (/obj/item/tool/wrench,/obj/item/reagent_containers/glass/beaker/cryoxadone{pixel_x = 7; pixel_y = 1},/obj/item/reagent_containers/glass/beaker/cryoxadone{pixel_x = -4; pixel_y = 0},/obj/structure/table/glass,/obj/effect/floor_decal/corner/pink/full{dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/cryo) "bfx" = (/obj/machinery/atmospherics/unary/cryo_cell,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/medical/cryo) "bfy" = (/obj/machinery/atmospherics/unary/freezer{dir = 2; icon_state = "freezer"},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/medical/cryo) "bfz" = (/obj/machinery/vending/snack,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) -"bfA" = (/obj/item/weapon/stool/padded,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) -"bfB" = (/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) +"bfA" = (/obj/item/stool/padded,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) +"bfB" = (/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) "bfC" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{pixel_x = -28},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/medical_restroom) "bfD" = (/obj/structure/undies_wardrobe,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/medical_restroom) -"bfE" = (/obj/structure/table/standard,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/item/weapon/soap,/obj/random/soap,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/medical_restroom) +"bfE" = (/obj/structure/table/standard,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/item/soap,/obj/random/soap,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/medical_restroom) "bfF" = (/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"},/obj/structure/urinal{pixel_y = 32},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/medical_restroom) "bfG" = (/obj/structure/bed/padded,/turf/simulated/floor/tiled/white,/area/medical/virology) "bfH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/black,/turf/simulated/floor/tiled/white,/area/medical/virology) @@ -3020,14 +3020,14 @@ "bgd" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/hallway/primary/central_four) "bge" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/command{name = "Teleport Access"; req_access = list(17)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/teleporter) "bgf" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor/tiled,/area/teleporter) -"bgg" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/hologram/holopad,/obj/item/device/radio/beacon,/turf/simulated/floor/tiled,/area/teleporter) -"bgh" = (/obj/structure/table/standard,/obj/item/weapon/aiModule/asimov,/obj/item/weapon/aiModule/freeformcore,/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Core Modules"; req_access = list(20)},/obj/item/weapon/aiModule/corp,/obj/item/weapon/aiModule/paladin,/obj/item/weapon/aiModule/robocop,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/bluegrid,/area/ai_upload) +"bgg" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/hologram/holopad,/obj/item/radio/beacon,/turf/simulated/floor/tiled,/area/teleporter) +"bgh" = (/obj/structure/table/standard,/obj/item/aiModule/asimov,/obj/item/aiModule/freeformcore,/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Core Modules"; req_access = list(20)},/obj/item/aiModule/corp,/obj/item/aiModule/paladin,/obj/item/aiModule/robocop,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/bluegrid,/area/ai_upload) "bgi" = (/obj/structure/cable/cyan,/obj/machinery/power/apc/critical{name = "south bump"; pixel_y = -24},/turf/simulated/floor/bluegrid,/area/ai_upload) "bgj" = (/obj/machinery/computer/aiupload,/turf/simulated/floor/bluegrid,/area/ai_upload) -"bgk" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/flasher{id = "AI"; pixel_x = 22; pixel_y = -24},/obj/item/device/radio/intercom/locked{frequency = 1343; locked_frequency = 1343; name = "Private AI Channel"; pixel_x = 38; pixel_y = -21},/turf/simulated/floor/bluegrid,/area/ai_upload) +"bgk" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/flasher{id = "AI"; pixel_x = 22; pixel_y = -24},/obj/item/radio/intercom/locked{frequency = 1343; locked_frequency = 1343; name = "Private AI Channel"; pixel_x = 38; pixel_y = -21},/turf/simulated/floor/bluegrid,/area/ai_upload) "bgl" = (/obj/machinery/computer/borgupload,/turf/simulated/floor/bluegrid,/area/ai_upload) "bgm" = (/obj/machinery/alarm{dir = 1; pixel_y = -25},/obj/machinery/camera/network/command{c_tag = "AI - Upload"; dir = 1},/turf/simulated/floor/bluegrid,/area/ai_upload) -"bgn" = (/obj/structure/table/standard,/obj/item/weapon/aiModule/oxygen,/obj/item/weapon/aiModule/oneHuman,/obj/machinery/door/window{base_state = "left"; dir = 8; icon_state = "left"; name = "High-Risk Modules"; req_access = list(20)},/obj/item/weapon/aiModule/purge,/obj/item/weapon/aiModule/antimov,/obj/item/weapon/aiModule/teleporterOffline,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/bluegrid,/area/ai_upload) +"bgn" = (/obj/structure/table/standard,/obj/item/aiModule/oxygen,/obj/item/aiModule/oneHuman,/obj/machinery/door/window{base_state = "left"; dir = 8; icon_state = "left"; name = "High-Risk Modules"; req_access = list(20)},/obj/item/aiModule/purge,/obj/item/aiModule/antimov,/obj/item/aiModule/teleporterOffline,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/bluegrid,/area/ai_upload) "bgo" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor,/area/maintenance/central) "bgp" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 4},/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/machinery/camera/network/civilian{c_tag = "CIV - Park Port"; dir = 4},/turf/simulated/floor/grass,/area/hydroponics/garden) "bgq" = (/obj/effect/floor_decal/spline/plain{icon_state = "spline_plain_full"; dir = 1},/obj/structure/showcase{desc = "It looks almost lifelike."; icon = 'icons/obj/statue.dmi'; icon_state = "hos"; name = "Statue"},/turf/simulated/floor/tiled,/area/hydroponics/garden) @@ -3044,12 +3044,12 @@ "bgB" = (/obj/effect/floor_decal/corner/paleblue{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = 25},/turf/simulated/floor/tiled,/area/medical/surgeryobs) "bgC" = (/obj/machinery/computer/med_data,/obj/effect/floor_decal/corner/pink/full,/turf/simulated/floor/tiled/white,/area/medical/surgery2) "bgD" = (/obj/machinery/iv_drip,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/tiled/white,/area/medical/surgery2) -"bgE" = (/obj/effect/floor_decal/corner/pink{dir = 10},/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 2; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = -21},/turf/simulated/floor/tiled/white,/area/medical/surgery2) +"bgE" = (/obj/effect/floor_decal/corner/pink{dir = 10},/obj/item/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 2; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = -21},/turf/simulated/floor/tiled/white,/area/medical/surgery2) "bgF" = (/obj/machinery/vending/wallmed1{pixel_y = -32},/obj/machinery/camera/network/medbay{c_tag = "MED - Operating Theatre 2"; dir = 1},/turf/simulated/floor/tiled/white,/area/medical/surgery2) "bgG" = (/obj/machinery/light_switch{pixel_x = 32; pixel_y = 2},/obj/effect/floor_decal/corner/pink/full{dir = 4},/obj/machinery/button/holosign{pixel_x = 24; pixel_y = 2},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/surgery2) "bgH" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/surgery_hallway) -"bgI" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/turf/simulated/floor/tiled/white,/area/medical/surgery_hallway) -"bgJ" = (/obj/structure/table/standard,/obj/item/weapon/cane,/obj/item/weapon/cane{pixel_x = -3; pixel_y = 2},/obj/item/weapon/storage/box/rxglasses,/obj/effect/floor_decal/corner/pink{dir = 9},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/obj/random/medical,/turf/simulated/floor/tiled/white,/area/medical/exam_room) +"bgI" = (/obj/structure/table/standard,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/turf/simulated/floor/tiled/white,/area/medical/surgery_hallway) +"bgJ" = (/obj/structure/table/standard,/obj/item/cane,/obj/item/cane{pixel_x = -3; pixel_y = 2},/obj/item/storage/box/rxglasses,/obj/effect/floor_decal/corner/pink{dir = 9},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/obj/random/medical,/turf/simulated/floor/tiled/white,/area/medical/exam_room) "bgK" = (/obj/structure/bed/chair/office/light{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/exam_room) "bgL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/exam_room) "bgM" = (/obj/effect/floor_decal/corner/pink{dir = 6},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 16},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/exam_room) @@ -3059,21 +3059,21 @@ "bgQ" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 9},/obj/effect/floor_decal/corner/pink{dir = 6},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/cryo) "bgR" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) "bgS" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) -"bgT" = (/obj/item/weapon/stool/padded,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) -"bgU" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/drinks/britcup,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/item/weapon/reagent_containers/food/drinks/britcup,/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) -"bgV" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/item/weapon/deck/cards,/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) -"bgW" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) +"bgT" = (/obj/item/stool/padded,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) +"bgU" = (/obj/structure/table/standard,/obj/item/reagent_containers/food/drinks/britcup,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/item/reagent_containers/food/drinks/britcup,/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) +"bgV" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/item/deck/cards,/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) +"bgW" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/item/stool/padded,/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) "bgX" = (/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera/network/medbay{c_tag = "MED - Break Room"; dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) "bgY" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/medical_restroom) "bgZ" = (/turf/simulated/floor/tiled/freezer,/area/crew_quarters/medical_restroom) -"bha" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/medical_restroom) +"bha" = (/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/medical_restroom) "bhb" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor,/area/maintenance/medbay_fore) "bhc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/maintenance/medbay_fore) -"bhd" = (/obj/item/roller,/obj/effect/floor_decal/corner/lime{dir = 10},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/white,/area/medical/virology) +"bhd" = (/obj/item/roller,/obj/effect/floor_decal/corner/lime{dir = 10},/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/white,/area/medical/virology) "bhe" = (/obj/effect/floor_decal/corner/lime{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/black,/turf/simulated/floor/tiled/white,/area/medical/virology) "bhf" = (/obj/effect/floor_decal/corner/lime{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/virology) "bhg" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/medical/virology) -"bhh" = (/obj/item/roller,/obj/effect/floor_decal/corner/lime{dir = 10},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled/white,/area/medical/virology) +"bhh" = (/obj/item/roller,/obj/effect/floor_decal/corner/lime{dir = 10},/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled/white,/area/medical/virology) "bhi" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/rnd/docking) "bhj" = (/turf/simulated/wall/r_wall,/area/rnd/docking) "bhk" = (/obj/structure/lattice,/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/mineral/floor/ignore_mapgen,/area/rnd/docking) @@ -3115,25 +3115,25 @@ "bhU" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor/tiled/dark,/area/hallway/primary/central_two) "bhV" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/light_switch{pixel_x = -36; pixel_y = 0},/turf/simulated/floor/tiled,/area/medical/surgeryobs) "bhW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/hologram/holopad,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/medical/surgeryobs) -"bhX" = (/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 4; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 21; pixel_y = 0},/turf/simulated/floor/tiled,/area/medical/surgeryobs) +"bhX" = (/obj/item/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 4; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 21; pixel_y = 0},/turf/simulated/floor/tiled,/area/medical/surgeryobs) "bhY" = (/obj/machinery/status_display,/turf/simulated/wall,/area/medical/surgery2) "bhZ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment,/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor/tiled/white,/area/medical/surgery_hallway) "bia" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/medical/surgery_hallway) -"bib" = (/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/structure/table/standard,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled/white,/area/medical/surgery_hallway) +"bib" = (/obj/item/reagent_containers/blood/empty,/obj/item/reagent_containers/blood/empty,/obj/item/reagent_containers/blood/empty,/obj/item/reagent_containers/blood/empty,/obj/item/reagent_containers/blood/empty,/obj/structure/table/standard,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled/white,/area/medical/surgery_hallway) "bic" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/pink/full,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/closet/secure_closet/medical_wall/pills{pixel_y = -32},/turf/simulated/floor/tiled/white,/area/medical/exam_room) "bid" = (/obj/effect/floor_decal/corner/pink{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/exam_room) "bie" = (/obj/structure/bed/padded,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/white,/area/medical/exam_room) "bif" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/effect/floor_decal/corner/pink{dir = 6},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled/white,/area/medical/exam_room) -"big" = (/obj/effect/floor_decal/corner/pink{dir = 9},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/white,/area/medical/cryo) +"big" = (/obj/effect/floor_decal/corner/pink{dir = 9},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/white,/area/medical/cryo) "bih" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/cryo) "bii" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/cryo) "bij" = (/obj/effect/floor_decal/corner/pink{dir = 6},/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/extinguisher_cabinet{pixel_x = 25},/turf/simulated/floor/tiled/white,/area/medical/cryo) "bik" = (/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = -25; pixel_y = 0},/obj/structure/flora/pottedplant{icon_state = "plant-22"},/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) "bil" = (/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) -"bim" = (/obj/item/weapon/stool/padded,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) -"bin" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/disposalpipe/segment,/obj/item/device/defib_kit/loaded,/obj/item/device/defib_kit/loaded,/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) -"bio" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/drinks/britcup,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/random/medical,/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) -"bip" = (/obj/item/weapon/stool/padded,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) +"bim" = (/obj/item/stool/padded,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) +"bin" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/disposalpipe/segment,/obj/item/defib_kit/loaded,/obj/item/defib_kit/loaded,/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) +"bio" = (/obj/structure/table/standard,/obj/item/reagent_containers/food/drinks/britcup,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/random/medical,/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) +"bip" = (/obj/item/stool/padded,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) "biq" = (/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) "bir" = (/obj/machinery/door/airlock/medical{name = "Rest Room"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/medical_restroom) "bis" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/medical_restroom) @@ -3172,11 +3172,11 @@ "biZ" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/primary/central_four) "bja" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/central_four) "bjb" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/primary/central_four) -"bjc" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/teleporter) +"bjc" = (/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/teleporter) "bjd" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled/dark,/area/teleporter) "bje" = (/turf/simulated/floor/tiled/dark,/area/ai) "bjf" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/bluegrid,/area/ai) -"bjg" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 4},/obj/structure/flora/ausbushes/palebush,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/grass,/area/hydroponics/garden) +"bjg" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 4},/obj/structure/flora/ausbushes/palebush,/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/grass,/area/hydroponics/garden) "bjh" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/water/pool,/area/hydroponics/garden) "bji" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 2},/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/grass,/area/hydroponics/garden) "bjj" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled,/area/hydroponics/garden) @@ -3186,35 +3186,35 @@ "bjn" = (/obj/machinery/camera/network/medbay{c_tag = "MED - Surgery Observation"; dir = 4},/turf/simulated/floor/tiled,/area/medical/surgeryobs) "bjo" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/medical/surgeryobs) "bjp" = (/obj/effect/floor_decal/corner/paleblue{dir = 2},/turf/simulated/floor/tiled,/area/medical/surgeryobs) -"bjq" = (/obj/structure/table/standard,/obj/item/weapon/surgical/hemostat,/obj/item/weapon/surgical/cautery,/obj/machinery/button/remote/blast_door{id = "surgeryobs"; name = "Privacy Shutters"; pixel_x = -26; pixel_y = 0},/obj/effect/floor_decal/corner/pink/full{dir = 8},/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled/white,/area/medical/surgery) -"bjr" = (/obj/structure/table/standard,/obj/item/stack/medical/advanced/bruise_pack,/obj/item/weapon/surgical/retractor,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled/white,/area/medical/surgery) -"bjs" = (/obj/structure/table/standard,/obj/item/weapon/surgical/circular_saw{pixel_y = 8},/obj/item/weapon/surgical/scalpel,/obj/effect/floor_decal/corner/pink{dir = 5},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/white,/area/medical/surgery) -"bjt" = (/obj/structure/table/standard,/obj/item/weapon/surgical/surgicaldrill,/obj/item/weapon/autopsy_scanner,/obj/item/weapon/reagent_containers/spray/cleaner{desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; pixel_y = 2},/obj/item/weapon/surgical/FixOVein,/turf/simulated/floor/tiled/white,/area/medical/surgery) +"bjq" = (/obj/structure/table/standard,/obj/item/surgical/hemostat,/obj/item/surgical/cautery,/obj/machinery/button/remote/blast_door{id = "surgeryobs"; name = "Privacy Shutters"; pixel_x = -26; pixel_y = 0},/obj/effect/floor_decal/corner/pink/full{dir = 8},/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled/white,/area/medical/surgery) +"bjr" = (/obj/structure/table/standard,/obj/item/stack/medical/advanced/bruise_pack,/obj/item/surgical/retractor,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled/white,/area/medical/surgery) +"bjs" = (/obj/structure/table/standard,/obj/item/surgical/circular_saw{pixel_y = 8},/obj/item/surgical/scalpel,/obj/effect/floor_decal/corner/pink{dir = 5},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/white,/area/medical/surgery) +"bjt" = (/obj/structure/table/standard,/obj/item/surgical/surgicaldrill,/obj/item/autopsy_scanner,/obj/item/reagent_containers/spray/cleaner{desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; pixel_y = 2},/obj/item/surgical/FixOVein,/turf/simulated/floor/tiled/white,/area/medical/surgery) "bju" = (/obj/structure/closet/secure_closet/medical2,/obj/effect/floor_decal/corner/pink/full{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/surgery) "bjv" = (/turf/simulated/wall,/area/medical/surgery) -"bjw" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/camera/network/medbay{c_tag = "MED - Surgery Hallway"; dir = 4},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/white,/area/medical/surgery_hallway) -"bjx" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/blood/AMinus,/obj/item/weapon/reagent_containers/blood/APlus,/obj/item/weapon/reagent_containers/blood/BMinus,/obj/item/weapon/reagent_containers/blood/BPlus,/obj/item/weapon/reagent_containers/blood/OPlus,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/tiled/white,/area/medical/surgery_hallway) +"bjw" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/camera/network/medbay{c_tag = "MED - Surgery Hallway"; dir = 4},/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/white,/area/medical/surgery_hallway) +"bjx" = (/obj/structure/table/standard,/obj/item/reagent_containers/blood/AMinus,/obj/item/reagent_containers/blood/APlus,/obj/item/reagent_containers/blood/BMinus,/obj/item/reagent_containers/blood/BPlus,/obj/item/reagent_containers/blood/OPlus,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/tiled/white,/area/medical/surgery_hallway) "bjy" = (/obj/effect/floor_decal/corner/pink{dir = 9},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/exam_room) "bjz" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/medical/exam_room) -"bjA" = (/obj/effect/floor_decal/corner/pink{dir = 6},/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 4; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 21; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/exam_room) +"bjA" = (/obj/effect/floor_decal/corner/pink{dir = 6},/obj/item/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 4; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 21; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/exam_room) "bjB" = (/obj/effect/floor_decal/corner/pink{dir = 9},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled/white,/area/medical/cryo) "bjC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/medical/cryo) "bjD" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/white,/area/medical/cryo) "bjE" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/steel,/area/medical/cryo) -"bjF" = (/obj/item/weapon/stool/padded,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 8; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = -21; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) +"bjF" = (/obj/item/stool/padded,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/item/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 8; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = -21; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) "bjG" = (/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) "bjH" = (/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/machinery/newscaster{pixel_x = 30},/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) "bjI" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/medical_restroom) "bjJ" = (/obj/machinery/door/airlock{name = "Medical Restroom"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/medical_restroom) -"bjK" = (/obj/structure/closet/crate/medical,/obj/item/weapon/reagent_containers/syringe,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/firstaid,/turf/simulated/floor,/area/maintenance/medbay_fore) -"bjL" = (/obj/item/roller,/obj/effect/floor_decal/corner/lime{dir = 6},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/white,/area/medical/virology) -"bjM" = (/obj/structure/table/glass,/obj/item/weapon/storage/box/monkeycubes,/obj/effect/floor_decal/corner/lime{dir = 1},/obj/item/weapon/extinguisher,/turf/simulated/floor/tiled/white,/area/medical/virology) +"bjK" = (/obj/structure/closet/crate/medical,/obj/item/reagent_containers/syringe,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/firstaid,/turf/simulated/floor,/area/maintenance/medbay_fore) +"bjL" = (/obj/item/roller,/obj/effect/floor_decal/corner/lime{dir = 6},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/white,/area/medical/virology) +"bjM" = (/obj/structure/table/glass,/obj/item/storage/box/monkeycubes,/obj/effect/floor_decal/corner/lime{dir = 1},/obj/item/extinguisher,/turf/simulated/floor/tiled/white,/area/medical/virology) "bjN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/black,/turf/simulated/floor/tiled/white,/area/medical/virology) "bjO" = (/obj/effect/floor_decal/corner/lime{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) -"bjP" = (/obj/item/weapon/storage/secure/safe{pixel_x = 5; pixel_y = 29},/obj/effect/floor_decal/corner/lime{dir = 5},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/camera/network/medbay{c_tag = "MED - Virology Fore"; dir = 2},/turf/simulated/floor/tiled/white,/area/medical/virology) +"bjP" = (/obj/item/storage/secure/safe{pixel_x = 5; pixel_y = 29},/obj/effect/floor_decal/corner/lime{dir = 5},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/camera/network/medbay{c_tag = "MED - Virology Fore"; dir = 2},/turf/simulated/floor/tiled/white,/area/medical/virology) "bjQ" = (/obj/effect/floor_decal/corner/lime{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/virology) "bjR" = (/obj/machinery/smartfridge/secure/virology,/obj/effect/floor_decal/corner/lime/full{dir = 1},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled/white,/area/medical/virology) -"bjS" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/green,/obj/effect/floor_decal/corner/lime/full{dir = 8},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled/white,/area/medical/virology) +"bjS" = (/obj/structure/bed/padded,/obj/item/bedsheet/green,/obj/effect/floor_decal/corner/lime/full{dir = 8},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled/white,/area/medical/virology) "bjT" = (/obj/effect/floor_decal/corner/lime{dir = 5},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/tiled/white,/area/medical/virology) "bjU" = (/turf/simulated/floor/tiled/white,/area/medical/virology) "bjV" = (/obj/machinery/washing_machine,/obj/effect/floor_decal/corner/lime/full{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/virology) @@ -3227,13 +3227,13 @@ "bkc" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/dark,/area/rnd/docking) "bkd" = (/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,47,55)},/obj/machinery/door/firedoor,/turf/simulated/floor,/area/rnd/docking) "bke" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/obj/effect/floor_decal/corner/purple{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bkf" = (/obj/effect/floor_decal/corner/purple,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 26},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bkf" = (/obj/effect/floor_decal/corner/purple,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 26},/turf/simulated/floor/tiled/white,/area/rnd/research) "bkg" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/rnd/research) "bkh" = (/obj/effect/floor_decal/corner/purple/diagonal,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research_restroom) "bki" = (/obj/effect/floor_decal/corner/purple/diagonal,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled/white,/area/rnd/research_restroom) "bkj" = (/obj/structure/closet/wardrobe/science_white,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/effect/floor_decal/corner/purple/diagonal,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research_restroom) "bkk" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/tiled/dark,/area/rnd/lab) -"bkl" = (/obj/structure/table/standard,/obj/item/weapon/storage/belt/utility,/obj/item/clothing/gloves/sterile/latex,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled/dark,/area/rnd/lab) +"bkl" = (/obj/structure/table/standard,/obj/item/storage/belt/utility,/obj/item/clothing/gloves/sterile/latex,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled/dark,/area/rnd/lab) "bkm" = (/obj/machinery/autolathe,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/dark,/area/rnd/lab) "bkn" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/shuttle/plating,/area/rnd/lab) "bko" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/shuttle/plating,/area/rnd/lab) @@ -3251,7 +3251,7 @@ "bkA" = (/obj/machinery/porta_turret/ai_defense,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled/dark,/area/ai) "bkB" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 4},/obj/structure/flora/ausbushes/sparsegrass,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/grass,/area/hydroponics/garden) "bkC" = (/obj/structure/table/woodentable,/obj/effect/floor_decal/corner/green{dir = 9},/turf/simulated/floor/tiled,/area/hydroponics/garden) -"bkD" = (/obj/structure/table/woodentable,/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/tiled,/area/hydroponics/garden) +"bkD" = (/obj/structure/table/woodentable,/obj/item/book/codex/lore/vir,/turf/simulated/floor/tiled,/area/hydroponics/garden) "bkE" = (/obj/machinery/light,/turf/simulated/floor/tiled,/area/hydroponics/garden) "bkF" = (/obj/structure/bed/chair/wood,/obj/effect/floor_decal/corner/green{dir = 6},/turf/simulated/floor/tiled,/area/hydroponics/garden) "bkG" = (/obj/effect/floor_decal/spline/fancy/wood{icon_state = "spline_fancy"; dir = 9},/obj/structure/flora/ausbushes/sunnybush,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/grass,/area/hydroponics/garden) @@ -3259,7 +3259,7 @@ "bkI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/bed/chair{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/medical/surgeryobs) "bkJ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/corner/paleblue{dir = 6},/turf/simulated/floor/tiled,/area/medical/surgeryobs) "bkK" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "surgeryobs"; name = "Operating Theatre Privacy Shutters"; opacity = 0},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/medical/surgeryobs) -"bkL" = (/obj/structure/table/standard,/obj/item/weapon/surgical/bonesetter,/obj/item/weapon/surgical/bonegel,/turf/simulated/floor/tiled/white,/area/medical/surgery) +"bkL" = (/obj/structure/table/standard,/obj/item/surgical/bonesetter,/obj/item/surgical/bonegel,/turf/simulated/floor/tiled/white,/area/medical/surgery) "bkM" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/white,/area/medical/surgery) "bkN" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/medical/surgery) "bkO" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/medical/surgery) @@ -3284,7 +3284,7 @@ "blh" = (/obj/machinery/shower{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/window/northleft{name = "Shower"; req_access = list()},/obj/structure/curtain/open/shower/medical,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/medical_restroom) "bli" = (/obj/machinery/shower{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/northright{dir = 1; name = "Shower"; req_access = list()},/obj/structure/curtain/open/shower/medical,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/medical_restroom) "blj" = (/obj/structure/toilet{dir = 1},/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/medical_restroom) -"blk" = (/obj/structure/table/rack,/obj/item/clothing/glasses/sunglasses,/obj/item/clothing/suit/storage/hazardvest,/obj/item/device/radio,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/turf/simulated/floor/plating,/area/maintenance/medbay_fore) +"blk" = (/obj/structure/table/rack,/obj/item/clothing/glasses/sunglasses,/obj/item/clothing/suit/storage/hazardvest,/obj/item/radio,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/turf/simulated/floor/plating,/area/maintenance/medbay_fore) "bll" = (/obj/structure/table/standard,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/effect/floor_decal/corner/lime{dir = 9},/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) "blm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) "bln" = (/obj/effect/floor_decal/corner/lime{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) @@ -3293,12 +3293,12 @@ "blq" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/black,/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled/white,/area/medical/virology) "blr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/black,/turf/simulated/floor/tiled/white,/area/medical/virology) "bls" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/black{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) -"blt" = (/obj/structure/table/glass,/obj/item/device/antibody_scanner{pixel_x = 2; pixel_y = 2},/obj/item/device/antibody_scanner,/obj/structure/reagent_dispensers/virusfood{pixel_x = 30},/obj/effect/floor_decal/corner/lime{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/virology) -"blu" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/green,/obj/effect/floor_decal/corner/lime{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/virology) +"blt" = (/obj/structure/table/glass,/obj/item/antibody_scanner{pixel_x = 2; pixel_y = 2},/obj/item/antibody_scanner,/obj/structure/reagent_dispensers/virusfood{pixel_x = 30},/obj/effect/floor_decal/corner/lime{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/virology) +"blu" = (/obj/structure/bed/padded,/obj/item/bedsheet/green,/obj/effect/floor_decal/corner/lime{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/virology) "blv" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) "blw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/virology) "blx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled/white,/area/medical/virology) -"bly" = (/obj/item/weapon/stool/padded,/obj/effect/floor_decal/corner/lime{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) +"bly" = (/obj/item/stool/padded,/obj/effect/floor_decal/corner/lime{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) "blz" = (/obj/structure/reagent_dispensers/water_cooler/full,/obj/effect/floor_decal/corner/lime/full{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/virology) "blA" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/shuttle/floor,/area/shuttle/research/station) "blB" = (/turf/simulated/shuttle/floor,/area/shuttle/research/station) @@ -3327,17 +3327,17 @@ "blY" = (/obj/structure/bed/chair/comfy/purp{dir = 4},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/wood,/area/rnd/research) "blZ" = (/obj/structure/table/glass,/obj/machinery/newscaster{pixel_y = 32},/obj/machinery/light{dir = 1},/turf/simulated/floor/wood,/area/rnd/research) "bma" = (/obj/structure/bed/chair/comfy/purp{dir = 8},/turf/simulated/floor/wood,/area/rnd/research) -"bmb" = (/obj/structure/table/standard,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = -12; pixel_y = -24},/obj/effect/floor_decal/corner/purple/diagonal,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/item/weapon/soap/nanotrasen,/obj/item/weapon/soap/nanotrasen,/turf/simulated/floor/tiled/white,/area/rnd/research_restroom) +"bmb" = (/obj/structure/table/standard,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = -12; pixel_y = -24},/obj/effect/floor_decal/corner/purple/diagonal,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/item/soap/nanotrasen,/obj/item/soap/nanotrasen,/turf/simulated/floor/tiled/white,/area/rnd/research_restroom) "bmc" = (/obj/effect/floor_decal/corner/purple/diagonal,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/white,/area/rnd/research_restroom) "bmd" = (/obj/structure/undies_wardrobe,/obj/effect/floor_decal/corner/purple/diagonal,/turf/simulated/floor/tiled/white,/area/rnd/research_restroom) -"bme" = (/obj/effect/floor_decal/corner/purple/full{dir = 8},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/rnd/lab) +"bme" = (/obj/effect/floor_decal/corner/purple/full{dir = 8},/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/rnd/lab) "bmf" = (/obj/effect/floor_decal/corner/purple{dir = 5},/turf/simulated/floor/tiled/white,/area/rnd/lab) "bmg" = (/obj/effect/floor_decal/corner/purple{dir = 5},/obj/machinery/camera/network/research{c_tag = "SCI - R&D Lab"},/turf/simulated/floor/tiled/white,/area/rnd/lab) "bmh" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/stack/material/glass{amount = 50; pixel_x = 3; pixel_y = 3},/obj/item/stack/material/steel{amount = 50},/obj/item/clothing/glasses/welding,/obj/effect/floor_decal/corner/purple{dir = 5},/turf/simulated/floor/tiled/white,/area/rnd/lab) -"bmi" = (/obj/structure/table/standard,/obj/item/weapon/hand_labeler,/obj/item/weapon/pen,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/effect/floor_decal/corner/purple{dir = 5},/turf/simulated/floor/tiled/white,/area/rnd/lab) -"bmj" = (/obj/item/weapon/stock_parts/console_screen,/obj/structure/table/standard,/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/stock_parts/matter_bin,/obj/item/weapon/stock_parts/matter_bin,/obj/effect/floor_decal/corner/purple/full{dir = 1},/obj/machinery/firealarm{dir = 4; layer = 3.3; pixel_x = 26},/obj/machinery/recharger{pixel_y = 0},/turf/simulated/floor/tiled/white,/area/rnd/lab) +"bmi" = (/obj/structure/table/standard,/obj/item/hand_labeler,/obj/item/pen,/obj/item/packageWrap,/obj/item/packageWrap,/obj/effect/floor_decal/corner/purple{dir = 5},/turf/simulated/floor/tiled/white,/area/rnd/lab) +"bmj" = (/obj/item/stock_parts/console_screen,/obj/structure/table/standard,/obj/item/stock_parts/console_screen,/obj/item/stock_parts/console_screen,/obj/item/stock_parts/matter_bin,/obj/item/stock_parts/matter_bin,/obj/effect/floor_decal/corner/purple/full{dir = 1},/obj/machinery/firealarm{dir = 4; layer = 3.3; pixel_x = 26},/obj/machinery/recharger{pixel_y = 0},/turf/simulated/floor/tiled/white,/area/rnd/lab) "bmk" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/tiled,/area/hallway/primary/central_four) -"bml" = (/obj/structure/closet/crate,/obj/item/weapon/tool/crowbar,/turf/simulated/floor/tiled,/area/teleporter) +"bml" = (/obj/structure/closet/crate,/obj/item/tool/crowbar,/turf/simulated/floor/tiled,/area/teleporter) "bmm" = (/obj/structure/closet/crate,/turf/simulated/floor/tiled,/area/teleporter) "bmn" = (/obj/structure/table/standard,/obj/structure/flora/pottedplant{icon_state = "plant-09"; name = "Steve"; pixel_y = 15},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled/dark,/area/ai) "bmo" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled/dark,/area/ai) @@ -3349,7 +3349,7 @@ "bmu" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/simulated/floor/tiled/dark,/area/ai) "bmv" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 8},/obj/structure/flora/ausbushes/ppflowers,/turf/simulated/floor/grass,/area/hydroponics/garden) "bmw" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/central_two) -"bmx" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/disposalpipe/segment,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 26},/turf/simulated/floor/tiled,/area/hallway/primary/central_two) +"bmx" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/disposalpipe/segment,/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 26},/turf/simulated/floor/tiled,/area/hallway/primary/central_two) "bmy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/bed/chair{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/medical/surgeryobs) "bmz" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "surgeryobs"; name = "Operating Theatre Privacy Shutters"; opacity = 0},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/medical/surgeryobs) "bmA" = (/obj/effect/floor_decal/corner/pink{dir = 9},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/surgery) @@ -3380,8 +3380,8 @@ "bmZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/black,/turf/simulated/floor/tiled/white,/area/medical/virology) "bna" = (/obj/effect/floor_decal/corner/lime,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/black,/turf/simulated/floor/tiled/white,/area/medical/virology) "bnb" = (/obj/effect/floor_decal/corner/lime{dir = 10},/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/medical/virology) -"bnc" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/white,/area/medical/virology) -"bnd" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/cups,/obj/effect/floor_decal/corner/lime{dir = 6},/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 4; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 21; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/virology) +"bnc" = (/obj/item/stool/padded,/turf/simulated/floor/tiled/white,/area/medical/virology) +"bnd" = (/obj/structure/table/standard,/obj/item/storage/box/cups,/obj/effect/floor_decal/corner/lime{dir = 6},/obj/item/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 4; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 21; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/virology) "bne" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/space) "bnf" = (/obj/machinery/computer/shuttle_control/research{name = "research elevator control console"},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/shuttle/floor,/area/shuttle/research/station) "bng" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "research_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/research/station) @@ -3400,7 +3400,7 @@ "bnt" = (/obj/machinery/newscaster{pixel_x = 0; pixel_y = -28},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/docking) "bnu" = (/obj/effect/floor_decal/corner/purple{dir = 10},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled/white,/area/rnd/docking) "bnv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/power/apc/critical{name = "south bump"; pixel_y = -24},/obj/structure/cable/green,/turf/simulated/floor/tiled/white,/area/rnd/docking) -"bnw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/item/device/radio/intercom{layer = 4; name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/white,/area/rnd/docking) +"bnw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/item/radio/intercom{layer = 4; name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/white,/area/rnd/docking) "bnx" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/corner/purple{dir = 10},/obj/machinery/camera/network/research{c_tag = "SCI - Research Dock Hallway Starboard"; dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/docking) "bny" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/rnd/docking) "bnz" = (/obj/machinery/door/airlock/glass_research{name = "Research Dock Hallway"; req_access = list(47)},/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/docking) @@ -3414,7 +3414,7 @@ "bnH" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled/white,/area/rnd/lab) "bnI" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/white,/area/rnd/lab) "bnJ" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/lab) -"bnK" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/micro_laser,/obj/item/weapon/stock_parts/micro_laser,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/effect/floor_decal/corner/purple{dir = 6},/turf/simulated/floor/tiled/white,/area/rnd/lab) +"bnK" = (/obj/structure/table/standard,/obj/item/stock_parts/manipulator,/obj/item/stock_parts/capacitor,/obj/item/stock_parts/capacitor,/obj/item/stock_parts/manipulator,/obj/item/stock_parts/micro_laser,/obj/item/stock_parts/micro_laser,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/effect/floor_decal/corner/purple{dir = 6},/turf/simulated/floor/tiled/white,/area/rnd/lab) "bnL" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled/dark,/area/ai) "bnM" = (/turf/simulated/floor/bluegrid,/area/ai) "bnN" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/bluegrid,/area/ai) @@ -3447,8 +3447,8 @@ "boo" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/medical/sleeper) "bop" = (/obj/effect/floor_decal/corner/paleblue{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/sleeper) "boq" = (/obj/machinery/recharge_station,/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"bor" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/bodybags{pixel_x = 1; pixel_y = 2},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/effect/floor_decal/corner/mauve{dir = 5},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/light_switch{pixel_x = -36; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) -"bos" = (/obj/effect/floor_decal/corner/mauve/full{dir = 1},/obj/machinery/light{dir = 1},/obj/structure/table/standard,/obj/item/weapon/storage/laundry_basket,/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) +"bor" = (/obj/structure/table/standard,/obj/item/storage/box/bodybags{pixel_x = 1; pixel_y = 2},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/effect/floor_decal/corner/mauve{dir = 5},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/light_switch{pixel_x = -36; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) +"bos" = (/obj/effect/floor_decal/corner/mauve/full{dir = 1},/obj/machinery/light{dir = 1},/obj/structure/table/standard,/obj/item/storage/laundry_basket,/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) "bot" = (/obj/structure/window/reinforced{dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/medical/genetics_cloning) "bou" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/camera/network/medbay{c_tag = "MED - Cloning"; dir = 2},/turf/simulated/floor/tiled,/area/medical/genetics_cloning) "bov" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/medical/genetics_cloning) @@ -3467,14 +3467,14 @@ "boI" = (/obj/effect/floor_decal/corner/lime{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/black{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) "boJ" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 0},/turf/simulated/wall/r_wall,/area/medical/virology) "boK" = (/obj/effect/floor_decal/corner/lime{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/virology) -"boL" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/lime{dir = 6},/obj/machinery/camera/network/medbay{c_tag = "MED - Virology Quarantine Starboard"; dir = 8},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/item/weapon/soap/nanotrasen,/turf/simulated/floor/tiled/white,/area/medical/virology) +"boL" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/lime{dir = 6},/obj/machinery/camera/network/medbay{c_tag = "MED - Virology Quarantine Starboard"; dir = 8},/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/item/soap/nanotrasen,/turf/simulated/floor/tiled/white,/area/medical/virology) "boM" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; external_pressure_bound = 140; external_pressure_bound_default = 140; icon_state = "map_vent_out"; pressure_checks = 1; pressure_checks_default = 1; use_power = 1},/obj/machinery/shield_diffuser,/turf/simulated/floor/airless,/area/maintenance/disposal) "boN" = (/obj/structure/closet/crate,/obj/random/maintenance/research,/turf/simulated/shuttle/floor,/area/shuttle/research/station) "boO" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/shuttle/plating,/area/rnd/docking) "boP" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "research_dock_pump"},/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/camera/network/research{c_tag = "SCI - Research Elevator Airlock"; dir = 1},/turf/simulated/floor/tiled,/area/rnd/docking) "boQ" = (/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "research_dock_airlock"; pixel_x = 0; pixel_y = -26; req_one_access = list(13,65); tag_airpump = "research_dock_pump"; tag_chamber_sensor = "research_dock_sensor"; tag_exterior_door = "research_dock_outer"; tag_interior_door = "research_dock_inner"},/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled,/area/rnd/docking) "boR" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = -32},/turf/simulated/shuttle/plating,/area/rnd/docking) -"boS" = (/obj/effect/floor_decal/corner/purple,/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/item/device/radio/intercom{layer = 4; name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/white,/area/rnd/docking) +"boS" = (/obj/effect/floor_decal/corner/purple,/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/item/radio/intercom{layer = 4; name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/white,/area/rnd/docking) "boT" = (/obj/machinery/light,/obj/effect/floor_decal/corner/purple{dir = 10},/turf/simulated/floor/tiled/white,/area/rnd/docking) "boU" = (/obj/structure/closet/emcloset,/obj/effect/floor_decal/corner/purple{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/docking) "boV" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/rnd/research) @@ -3491,16 +3491,16 @@ "bpg" = (/turf/simulated/floor/tiled,/area/rnd/lab) "bph" = (/obj/machinery/r_n_d/protolathe,/turf/simulated/floor/tiled,/area/rnd/lab) "bpi" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/lab) -"bpj" = (/obj/structure/table/standard,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/weapon/stock_parts/scanning_module{pixel_x = 2; pixel_y = 3},/obj/item/weapon/stock_parts/scanning_module,/obj/effect/floor_decal/corner/purple{dir = 6},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/white,/area/rnd/lab) +"bpj" = (/obj/structure/table/standard,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/stock_parts/scanning_module{pixel_x = 2; pixel_y = 3},/obj/item/stock_parts/scanning_module,/obj/effect/floor_decal/corner/purple{dir = 6},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/white,/area/rnd/lab) "bpk" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/disposalpipe/segment,/obj/machinery/camera/network/northern_star{c_tag = "Hall - Central Primary Port Fore 2"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/central_four) "bpl" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/central_four) "bpm" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled,/area/hallway/primary/central_four) -"bpn" = (/obj/effect/landmark{name = "tripai"},/obj/item/device/radio/intercom{dir = 1; listening = 0; name = "Custom Channel"; pixel_x = 0; pixel_y = 20},/obj/item/device/radio/intercom{broadcasting = 0; dir = 2; frequency = 1343; name = "Private Channel"; pixel_x = 0; pixel_y = -21},/obj/item/device/radio/intercom{broadcasting = 1; dir = 8; listening = 1; name = "Common Channel"; pixel_x = -21; pixel_y = 0},/turf/simulated/floor/bluegrid,/area/ai) +"bpn" = (/obj/effect/landmark{name = "tripai"},/obj/item/radio/intercom{dir = 1; listening = 0; name = "Custom Channel"; pixel_x = 0; pixel_y = 20},/obj/item/radio/intercom{broadcasting = 0; dir = 2; frequency = 1343; name = "Private Channel"; pixel_x = 0; pixel_y = -21},/obj/item/radio/intercom{broadcasting = 1; dir = 8; listening = 1; name = "Common Channel"; pixel_x = -21; pixel_y = 0},/turf/simulated/floor/bluegrid,/area/ai) "bpo" = (/obj/machinery/porta_turret/ai_defense,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled/dark,/area/ai) "bpp" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = null; locked = 1; name = "AI Core"; req_access = list(16)},/turf/simulated/floor/tiled/dark,/area/ai) "bpq" = (/obj/machinery/ai_slipper{icon_state = "motion0"},/obj/machinery/turretid/stun{check_synth = 1; name = "AI Chamber turret control"; pixel_x = 30; pixel_y = -24},/obj/machinery/flasher{id = "AI"; pixel_x = -24; pixel_y = -25},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the AI core maintenance door."; id = "AICore"; name = "AI Maintenance Hatch"; pixel_x = 8; pixel_y = 25; req_access = list(16)},/obj/machinery/light/small{dir = 1},/obj/machinery/camera/xray/command{c_tag = "AI - Core"; dir = 2},/turf/simulated/floor/tiled/dark,/area/ai) "bpr" = (/obj/machinery/porta_turret/ai_defense,/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled/dark,/area/ai) -"bps" = (/obj/effect/landmark{name = "tripai"},/obj/item/device/radio/intercom{dir = 1; listening = 0; name = "Custom Channel"; pixel_x = 0; pixel_y = 21},/obj/item/device/radio/intercom{broadcasting = 0; frequency = 1343; name = "Private Channel"; pixel_x = 0; pixel_y = -21},/obj/item/device/radio/intercom{broadcasting = 1; dir = 4; listening = 1; name = "Common Channel"; pixel_x = 21; pixel_y = 0},/turf/simulated/floor/bluegrid,/area/ai) +"bps" = (/obj/effect/landmark{name = "tripai"},/obj/item/radio/intercom{dir = 1; listening = 0; name = "Custom Channel"; pixel_x = 0; pixel_y = 21},/obj/item/radio/intercom{broadcasting = 0; frequency = 1343; name = "Private Channel"; pixel_x = 0; pixel_y = -21},/obj/item/radio/intercom{broadcasting = 1; dir = 4; listening = 1; name = "Common Channel"; pixel_x = 21; pixel_y = 0},/turf/simulated/floor/bluegrid,/area/ai) "bpt" = (/obj/structure/flora/ausbushes/lavendergrass,/turf/simulated/floor/grass,/area/hydroponics/garden) "bpu" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 5},/obj/structure/flora/ausbushes/sparsegrass,/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/grass,/area/hydroponics/garden) "bpv" = (/obj/effect/floor_decal/spline/fancy/wood{icon_state = "spline_fancy"; dir = 9},/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/grass,/area/hydroponics/garden) @@ -3511,7 +3511,7 @@ "bpA" = (/obj/effect/floor_decal/corner/paleblue{dir = 4},/turf/simulated/floor/tiled,/area/medical/surgeryobs) "bpB" = (/obj/machinery/computer/med_data,/obj/effect/floor_decal/corner/pink/full,/turf/simulated/floor/tiled/white,/area/medical/surgery) "bpC" = (/obj/machinery/iv_drip,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/tiled/white,/area/medical/surgery) -"bpD" = (/obj/effect/floor_decal/corner/pink{dir = 10},/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 2; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = -21},/turf/simulated/floor/tiled/white,/area/medical/surgery) +"bpD" = (/obj/effect/floor_decal/corner/pink{dir = 10},/obj/item/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 2; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = -21},/turf/simulated/floor/tiled/white,/area/medical/surgery) "bpE" = (/obj/machinery/vending/wallmed1{pixel_y = -32},/obj/machinery/camera/network/medbay{c_tag = "MED - Operating Theatre 1"; dir = 1},/turf/simulated/floor/tiled/white,/area/medical/surgery) "bpF" = (/obj/machinery/button/holosign{pixel_x = 24; pixel_y = 2},/obj/machinery/light_switch{pixel_x = 32; pixel_y = 2},/obj/effect/floor_decal/corner/pink/full{dir = 4},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/surgery) "bpG" = (/obj/structure/bed/chair/comfy/black{dir = 1},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/tiled/white,/area/medical/surgery_hallway) @@ -3543,7 +3543,7 @@ "bqg" = (/obj/effect/floor_decal/corner/lime{dir = 8},/obj/machinery/camera/network/medbay{c_tag = "MED - Virology Quarantine Port"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/black,/turf/simulated/floor/tiled/white,/area/medical/virology) "bqh" = (/obj/effect/floor_decal/corner/lime{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/black,/turf/simulated/floor/tiled/white,/area/medical/virology) "bqi" = (/obj/effect/floor_decal/corner/lime{dir = 5},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/virology) -"bqj" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/effect/floor_decal/corner/lime{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/virology) +"bqj" = (/obj/structure/table/standard,/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/effect/floor_decal/corner/lime{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/virology) "bqk" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/structure/lattice,/turf/space,/area/space) "bql" = (/obj/structure/lattice,/obj/machinery/light,/turf/simulated/mineral/floor/ignore_mapgen,/area/rnd/docking) "bqm" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/research/station) @@ -3555,29 +3555,29 @@ "bqs" = (/obj/random/junk,/turf/simulated/floor,/area/maintenance/research) "bqt" = (/turf/simulated/wall/r_wall,/area/maintenance/research) "bqu" = (/turf/simulated/wall,/area/rnd/workshop) -"bqv" = (/obj/structure/table/steel,/obj/item/weapon/storage/bag/circuits/basic,/obj/machinery/newscaster{pixel_x = -28; pixel_y = 0},/obj/effect/floor_decal/corner/green/full{dir = 8},/turf/simulated/floor/tiled/dark,/area/rnd/workshop) -"bqw" = (/obj/structure/table/steel,/obj/item/device/integrated_electronics/debugger{pixel_x = -5; pixel_y = 0},/obj/item/device/integrated_electronics/wirer{pixel_x = 5; pixel_y = 0},/obj/effect/floor_decal/corner/green{dir = 5},/turf/simulated/floor/tiled/dark,/area/rnd/workshop) -"bqx" = (/obj/structure/table/steel,/obj/item/device/electronic_assembly/large{pixel_y = 6},/obj/effect/floor_decal/corner/green{dir = 5},/turf/simulated/floor/tiled/dark,/area/rnd/workshop) +"bqv" = (/obj/structure/table/steel,/obj/item/storage/bag/circuits/basic,/obj/machinery/newscaster{pixel_x = -28; pixel_y = 0},/obj/effect/floor_decal/corner/green/full{dir = 8},/turf/simulated/floor/tiled/dark,/area/rnd/workshop) +"bqw" = (/obj/structure/table/steel,/obj/item/integrated_electronics/debugger{pixel_x = -5; pixel_y = 0},/obj/item/integrated_electronics/wirer{pixel_x = 5; pixel_y = 0},/obj/effect/floor_decal/corner/green{dir = 5},/turf/simulated/floor/tiled/dark,/area/rnd/workshop) +"bqx" = (/obj/structure/table/steel,/obj/item/electronic_assembly/large{pixel_y = 6},/obj/effect/floor_decal/corner/green{dir = 5},/turf/simulated/floor/tiled/dark,/area/rnd/workshop) "bqy" = (/obj/machinery/alarm{pixel_y = 25},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/camera/network/research{c_tag = "SCI - Workshop"; dir = 2},/obj/effect/floor_decal/corner/green{dir = 1},/turf/simulated/floor/tiled/dark,/area/rnd/workshop) "bqz" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled/dark,/area/rnd/workshop) "bqA" = (/turf/simulated/wall/r_wall,/area/rnd/workshop) "bqB" = (/obj/effect/floor_decal/corner/purple{dir = 9},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/rnd/research) "bqC" = (/obj/effect/floor_decal/corner/purple{dir = 6},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bqD" = (/obj/structure/table/glass,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/machinery/camera/network/research{c_tag = "SCI - Break Room"; dir = 4},/turf/simulated/floor/wood,/area/rnd/research) +"bqD" = (/obj/structure/table/glass,/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/machinery/camera/network/research{c_tag = "SCI - Break Room"; dir = 4},/turf/simulated/floor/wood,/area/rnd/research) "bqE" = (/obj/structure/table/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/wood,/area/rnd/research) "bqF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/rnd/research) "bqG" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/rnd/research) "bqH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research) "bqI" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bqJ" = (/obj/structure/table/standard,/obj/item/weapon/clipboard,/obj/item/weapon/clipboard,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bqJ" = (/obj/structure/table/standard,/obj/item/clipboard,/obj/item/clipboard,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/rnd/research) "bqK" = (/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = -30; pixel_y = 0},/obj/effect/floor_decal/corner/purple{dir = 9},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/rnd/lab) "bqL" = (/obj/machinery/computer/rdconsole/core,/turf/simulated/floor/tiled,/area/rnd/lab) "bqM" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled,/area/rnd/lab) -"bqN" = (/obj/machinery/r_n_d/circuit_imprinter,/obj/item/weapon/reagent_containers/glass/beaker/sulphuric,/turf/simulated/floor/tiled,/area/rnd/lab) +"bqN" = (/obj/machinery/r_n_d/circuit_imprinter,/obj/item/reagent_containers/glass/beaker/sulphuric,/turf/simulated/floor/tiled,/area/rnd/lab) "bqO" = (/obj/effect/floor_decal/corner/purple{dir = 6},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/white,/area/rnd/lab) "bqP" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor/plating,/area/rnd/lab) "bqQ" = (/obj/machinery/power/apc/super/critical{dir = 4; is_critical = 1; name = "east bump"; pixel_x = 24; pixel_y = 0},/obj/structure/cable/cyan,/turf/simulated/floor/bluegrid,/area/ai) -"bqR" = (/obj/effect/landmark/start{name = "AI"},/obj/item/device/radio/intercom{broadcasting = 1; dir = 2; listening = 1; name = "Common Channel"; pixel_y = -21},/obj/item/device/radio/intercom{dir = 8; listening = 0; name = "Custom Channel"; pixel_x = -21; pixel_y = -10},/obj/item/device/radio/intercom{broadcasting = 0; dir = 4; frequency = 1343; name = "Private Channel"; pixel_x = 21; pixel_y = -10},/obj/machinery/requests_console{department = "AI"; departmentType = 5; pixel_x = 30; pixel_y = -32},/obj/machinery/newscaster/security_unit{pixel_x = -32; pixel_y = -32},/turf/simulated/floor/bluegrid,/area/ai) +"bqR" = (/obj/effect/landmark/start{name = "AI"},/obj/item/radio/intercom{broadcasting = 1; dir = 2; listening = 1; name = "Common Channel"; pixel_y = -21},/obj/item/radio/intercom{dir = 8; listening = 0; name = "Custom Channel"; pixel_x = -21; pixel_y = -10},/obj/item/radio/intercom{broadcasting = 0; dir = 4; frequency = 1343; name = "Private Channel"; pixel_x = 21; pixel_y = -10},/obj/machinery/requests_console{department = "AI"; departmentType = 5; pixel_x = 30; pixel_y = -32},/obj/machinery/newscaster/security_unit{pixel_x = -32; pixel_y = -32},/turf/simulated/floor/bluegrid,/area/ai) "bqS" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 5},/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/grass,/area/hydroponics/garden) "bqT" = (/obj/structure/bed/chair/wood{dir = 4},/turf/simulated/floor/tiled,/area/hydroponics/garden) "bqU" = (/obj/structure/bed/chair/wood{dir = 8},/turf/simulated/floor/tiled,/area/hydroponics/garden) @@ -3609,12 +3609,12 @@ "bru" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/black,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/medical/virology) "brv" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/virology) "brw" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled/white,/area/medical/virology) -"brx" = (/obj/structure/table/glass,/obj/item/weapon/storage/lockbox/vials,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/machinery/requests_console{department = "Virology"; name = "Virology Requests Console"; pixel_x = 32},/obj/effect/floor_decal/corner/lime{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/virology) -"bry" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/green,/obj/effect/floor_decal/corner/lime{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/black,/turf/simulated/floor/tiled/white,/area/medical/virology) +"brx" = (/obj/structure/table/glass,/obj/item/storage/lockbox/vials,/obj/item/reagent_containers/syringe/antiviral,/obj/item/reagent_containers/syringe/antiviral,/obj/item/reagent_containers/syringe/antiviral,/obj/item/reagent_containers/syringe/antiviral,/obj/machinery/requests_console{department = "Virology"; name = "Virology Requests Console"; pixel_x = 32},/obj/effect/floor_decal/corner/lime{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/virology) +"bry" = (/obj/structure/bed/padded,/obj/item/bedsheet/green,/obj/effect/floor_decal/corner/lime{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/black,/turf/simulated/floor/tiled/white,/area/medical/virology) "brz" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/black{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/virology) "brA" = (/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 4},/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled/white,/area/medical/virology) "brB" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/virology) -"brC" = (/obj/item/weapon/stool/padded,/obj/effect/floor_decal/corner/lime,/turf/simulated/floor/tiled/white,/area/medical/virology) +"brC" = (/obj/item/stool/padded,/obj/effect/floor_decal/corner/lime,/turf/simulated/floor/tiled/white,/area/medical/virology) "brD" = (/obj/structure/table/standard,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/obj/effect/floor_decal/corner/lime/full{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) "brE" = (/obj/machinery/power/solar{id = "portsolar"; name = "Port Solar Array"},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/auxport) "brF" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/airless,/area/solar/auxport) @@ -3627,10 +3627,10 @@ "brM" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 6},/turf/simulated/floor/plating,/area/maintenance/disposal) "brN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 9; icon_state = "intact"},/turf/simulated/floor/plating,/area/maintenance/disposal) "brO" = (/turf/simulated/wall,/area/rnd/docking) -"brP" = (/obj/structure/table/rack,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/obj/item/clothing/glasses/meson,/obj/random/maintenance/research,/obj/random/maintenance/research,/turf/simulated/floor,/area/maintenance/research) +"brP" = (/obj/structure/table/rack,/obj/item/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/mask/gas,/obj/item/flashlight,/obj/item/clothing/glasses/meson,/obj/random/maintenance/research,/obj/random/maintenance/research,/turf/simulated/floor,/area/maintenance/research) "brQ" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/maintenance/research) "brR" = (/obj/machinery/light/small{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/maintenance/research) -"brS" = (/obj/structure/table/steel,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/effect/floor_decal/corner/green{dir = 9},/turf/simulated/floor/tiled/dark,/area/rnd/workshop) +"brS" = (/obj/structure/table/steel,/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/effect/floor_decal/corner/green{dir = 9},/turf/simulated/floor/tiled/dark,/area/rnd/workshop) "brT" = (/obj/structure/bed/chair/office/dark{dir = 8},/turf/simulated/floor/tiled/dark,/area/rnd/workshop) "brU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/dark,/area/rnd/workshop) "brV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark,/area/rnd/workshop) @@ -3667,15 +3667,15 @@ "bsA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/medical/reception) "bsB" = (/obj/item/roller,/obj/item/roller{pixel_y = 8},/obj/item/roller{pixel_y = 16},/obj/structure/table/glass,/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/obj/effect/floor_decal/corner/paleblue{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/reception) "bsC" = (/obj/structure/table/standard,/obj/structure/window/reinforced{dir = 8},/obj/machinery/computer/med_data/laptop,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/effect/floor_decal/corner/paleblue/full{dir = 8},/obj/machinery/camera/network/medbay{c_tag = "MED - Lobby Fore"; dir = 2},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/reception) -"bsD" = (/obj/machinery/photocopier,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/reception) +"bsD" = (/obj/machinery/photocopier,/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/reception) "bsE" = (/obj/structure/filingcabinet/chestdrawer{name = "Medical Forms"},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/reception) "bsF" = (/obj/structure/filingcabinet/medical{desc = "A large cabinet with hard copy medical records."; name = "Medical Records"},/obj/machinery/alarm{pixel_y = 22},/obj/effect/floor_decal/corner/paleblue/full{dir = 1},/obj/structure/extinguisher_cabinet{pixel_x = 25},/turf/simulated/floor/tiled/white,/area/medical/reception) -"bsG" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/effect/floor_decal/corner/paleblue/full{dir = 8},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) -"bsH" = (/obj/structure/table/standard,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/device/flashlight/pen,/obj/item/device/flashlight/pen,/obj/item/device/flashlight/pen,/obj/item/device/flashlight/pen,/obj/item/device/flashlight/pen,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) -"bsI" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/storage/box/syringes{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/syringes,/obj/machinery/alarm{pixel_y = 22},/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) -"bsJ" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/gloves{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/masks{pixel_y = 0},/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) -"bsK" = (/obj/structure/closet/secure_closet/medical3,/obj/effect/floor_decal/corner/paleblue{dir = 5},/obj/item/weapon/soap/nanotrasen,/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) -"bsL" = (/obj/structure/closet/secure_closet/medical3,/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/obj/effect/floor_decal/corner/paleblue/full{dir = 1},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/item/weapon/soap/nanotrasen,/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) +"bsG" = (/obj/structure/table/rack,/obj/item/storage/belt/medical,/obj/item/storage/belt/medical,/obj/item/storage/belt/medical,/obj/item/storage/belt/medical,/obj/item/storage/belt/medical,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/effect/floor_decal/corner/paleblue/full{dir = 8},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) +"bsH" = (/obj/structure/table/standard,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/flashlight/pen,/obj/item/flashlight/pen,/obj/item/flashlight/pen,/obj/item/flashlight/pen,/obj/item/flashlight/pen,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) +"bsI" = (/obj/structure/table/standard,/obj/item/storage/box/beakers,/obj/item/storage/box/syringes{pixel_x = 4; pixel_y = 4},/obj/item/storage/box/syringes,/obj/machinery/alarm{pixel_y = 22},/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) +"bsJ" = (/obj/structure/table/standard,/obj/item/storage/box/gloves{pixel_x = 4; pixel_y = 4},/obj/item/storage/box/masks{pixel_y = 0},/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) +"bsK" = (/obj/structure/closet/secure_closet/medical3,/obj/effect/floor_decal/corner/paleblue{dir = 5},/obj/item/soap/nanotrasen,/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) +"bsL" = (/obj/structure/closet/secure_closet/medical3,/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/obj/effect/floor_decal/corner/paleblue/full{dir = 1},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/item/soap/nanotrasen,/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) "bsM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/medical/medbay_primary_storage) "bsN" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/sleeper) "bsO" = (/obj/structure/disposalpipe/junction{dir = 1; icon_state = "pipe-j2"},/turf/simulated/floor/tiled/white,/area/medical/sleeper) @@ -3689,16 +3689,16 @@ "bsW" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 1; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/crew_quarters/heads/cmo) "bsX" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/shutters{density = 0; dir = 1; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/crew_quarters/heads/cmo) "bsY" = (/obj/machinery/door/airlock/command{id_tag = null; name = "CMO's Office"; req_access = list(40)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/cmo) -"bsZ" = (/obj/effect/floor_decal/corner/mauve{dir = 9},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 8; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = -21; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) +"bsZ" = (/obj/effect/floor_decal/corner/mauve{dir = 9},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/item/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 8; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = -21; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) "bta" = (/obj/structure/bed/chair/office/dark,/obj/effect/landmark/start{name = "Geneticist"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) "btb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) "btc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) "btd" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) "bte" = (/obj/effect/floor_decal/corner/mauve{dir = 6},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) -"btf" = (/obj/item/roller,/obj/effect/floor_decal/corner/lime{dir = 6},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/white,/area/medical/virology) +"btf" = (/obj/item/roller,/obj/effect/floor_decal/corner/lime{dir = 6},/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/white,/area/medical/virology) "btg" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/medical/virology) -"bth" = (/obj/structure/table/glass,/obj/item/weapon/storage/fancy/vials,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/effect/floor_decal/corner/lime/full{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) -"bti" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/green,/obj/effect/floor_decal/corner/lime/full,/obj/machinery/atmospherics/pipe/simple/hidden/black,/turf/simulated/floor/tiled/white,/area/medical/virology) +"bth" = (/obj/structure/table/glass,/obj/item/storage/fancy/vials,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/effect/floor_decal/corner/lime/full{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) +"bti" = (/obj/structure/bed/padded,/obj/item/bedsheet/green,/obj/effect/floor_decal/corner/lime/full,/obj/machinery/atmospherics/pipe/simple/hidden/black,/turf/simulated/floor/tiled/white,/area/medical/virology) "btj" = (/obj/effect/floor_decal/corner/lime{dir = 10},/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -32},/turf/simulated/floor/tiled/white,/area/medical/virology) "btk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/virology) "btl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/virology) @@ -3717,8 +3717,8 @@ "bty" = (/obj/machinery/computer/rdconsole/core,/obj/effect/floor_decal/corner/green{dir = 9},/turf/simulated/floor/tiled/dark,/area/rnd/workshop) "btz" = (/obj/structure/reagent_dispensers/acid{density = 0; pixel_x = 0; pixel_y = -30},/turf/simulated/floor/tiled/dark,/area/rnd/workshop) "btA" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/light,/obj/effect/floor_decal/corner/green,/turf/simulated/floor/tiled/dark,/area/rnd/workshop) -"btB" = (/obj/machinery/r_n_d/circuit_imprinter,/obj/item/weapon/reagent_containers/glass/beaker/sulphuric,/obj/effect/floor_decal/corner/green{dir = 10},/turf/simulated/floor/tiled/dark,/area/rnd/workshop) -"btC" = (/obj/item/stack/material/glass{amount = 50; pixel_x = 3; pixel_y = 3},/obj/structure/table/steel,/obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers,/obj/item/weapon/reagent_containers/food/drinks/cans/space_mountain_wind,/obj/effect/floor_decal/corner/green/full{dir = 4},/turf/simulated/floor/tiled/dark,/area/rnd/workshop) +"btB" = (/obj/machinery/r_n_d/circuit_imprinter,/obj/item/reagent_containers/glass/beaker/sulphuric,/obj/effect/floor_decal/corner/green{dir = 10},/turf/simulated/floor/tiled/dark,/area/rnd/workshop) +"btC" = (/obj/item/stack/material/glass{amount = 50; pixel_x = 3; pixel_y = 3},/obj/structure/table/steel,/obj/item/reagent_containers/food/snacks/cheesiehonkers,/obj/item/reagent_containers/food/drinks/cans/space_mountain_wind,/obj/effect/floor_decal/corner/green/full{dir = 4},/turf/simulated/floor/tiled/dark,/area/rnd/workshop) "btD" = (/obj/effect/floor_decal/corner/purple/full,/obj/machinery/newscaster{pixel_x = -28; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/rnd/research) "btE" = (/obj/effect/floor_decal/corner/purple{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/rnd/research) "btF" = (/obj/effect/floor_decal/corner/purple/full{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/rnd/research) @@ -3731,12 +3731,12 @@ "btM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research) "btN" = (/obj/machinery/door/airlock/glass_research{name = "Research and Development"; req_access = list(7)},/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/lab) "btO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/tiled/white,/area/rnd/lab) -"btP" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/rnd/lab) +"btP" = (/obj/item/stool/padded,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/rnd/lab) "btQ" = (/obj/effect/floor_decal/corner/purple{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/rnd/lab) "btR" = (/obj/effect/floor_decal/corner/purple{dir = 10},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled/white,/area/rnd/lab) "btS" = (/obj/effect/floor_decal/corner/purple{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/lab) "btT" = (/obj/structure/bed/chair/office/light,/obj/effect/floor_decal/corner/purple{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/landmark/start{name = "Scientist"},/turf/simulated/floor/tiled/white,/area/rnd/lab) -"btU" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/clipboard,/obj/item/weapon/folder/white,/obj/item/weapon/pen,/obj/effect/floor_decal/corner/purple/full{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/rnd/lab) +"btU" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/clipboard,/obj/item/folder/white,/obj/item/pen,/obj/effect/floor_decal/corner/purple/full{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/rnd/lab) "btV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/navbeacon/patrol{next_patrol = "CH1"; location = "CH12"},/turf/simulated/floor/tiled,/area/hallway/primary/central_four) "btW" = (/obj/machinery/porta_turret/ai_defense,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled/dark,/area/ai) "btX" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/bluegrid,/area/ai) @@ -3756,11 +3756,11 @@ "bul" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "medbayquar"; name = "Medbay Emergency Lockdown Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/reception) "bum" = (/obj/structure/bed/chair{dir = 4},/obj/effect/floor_decal/corner/paleblue{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/reception) "bun" = (/obj/effect/floor_decal/corner/paleblue{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/reception) -"buo" = (/obj/structure/table/standard,/obj/structure/window/reinforced{dir = 8},/obj/item/device/radio{anchored = 1; broadcasting = 0; canhear_range = 1; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Reception Emergency Phone"; pixel_x = -5},/obj/effect/floor_decal/corner/paleblue{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/reception) +"buo" = (/obj/structure/table/standard,/obj/structure/window/reinforced{dir = 8},/obj/item/radio{anchored = 1; broadcasting = 0; canhear_range = 1; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Reception Emergency Phone"; pixel_x = -5},/obj/effect/floor_decal/corner/paleblue{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/reception) "bup" = (/turf/simulated/floor/tiled/white,/area/medical/reception) "buq" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/white,/area/medical/reception) -"bur" = (/obj/effect/floor_decal/corner/paleblue{dir = 6},/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 4; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 21; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/reception) -"bus" = (/obj/structure/table/standard,/obj/item/roller,/obj/item/roller{pixel_y = 8},/obj/item/roller{pixel_y = 16},/obj/effect/floor_decal/corner/paleblue{dir = 9},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -22},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) +"bur" = (/obj/effect/floor_decal/corner/paleblue{dir = 6},/obj/item/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 4; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 21; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/reception) +"bus" = (/obj/structure/table/standard,/obj/item/roller,/obj/item/roller{pixel_y = 8},/obj/item/roller{pixel_y = 16},/obj/effect/floor_decal/corner/paleblue{dir = 9},/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -22},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) "but" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) "buu" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) "buv" = (/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) @@ -3786,12 +3786,12 @@ "buP" = (/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) "buQ" = (/obj/structure/closet/wardrobe/genetics_white,/obj/effect/floor_decal/corner/mauve,/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) "buR" = (/obj/structure/closet/wardrobe/medic_white,/obj/effect/floor_decal/corner/mauve/full{dir = 4},/obj/machinery/alarm{dir = 1; pixel_y = -25},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) -"buS" = (/obj/structure/table/glass,/obj/item/weapon/folder/white,/obj/item/weapon/hand_labeler,/obj/effect/floor_decal/corner/lime/full,/obj/structure/extinguisher_cabinet{pixel_x = -27},/turf/simulated/floor/tiled/white,/area/medical/virology) -"buT" = (/obj/structure/table/glass,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 8},/obj/item/device/radio{anchored = 1; broadcasting = 0; canhear_range = 7; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Virology Emergency Phone"; pixel_x = -6; pixel_y = 8},/obj/item/weapon/reagent_containers/spray/cleaner,/obj/effect/floor_decal/corner/lime{dir = 10},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/medical/virology) -"buU" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/corner/lime{dir = 8},/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/medical/virology) -"buV" = (/obj/effect/floor_decal/corner/lime,/obj/machinery/camera/network/medbay{c_tag = "MED - Virology Aft"; dir = 1},/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 2; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = -21},/turf/simulated/floor/tiled/white,/area/medical/virology) -"buW" = (/obj/structure/table/glass,/obj/item/weapon/storage/box/gloves{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/masks,/obj/effect/floor_decal/corner/lime{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/virology) -"buX" = (/obj/item/weapon/storage/box/syringes{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/beakers,/obj/item/weapon/reagent_containers/dropper,/obj/structure/table/glass,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/corner/lime/full{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) +"buS" = (/obj/structure/table/glass,/obj/item/folder/white,/obj/item/hand_labeler,/obj/effect/floor_decal/corner/lime/full,/obj/structure/extinguisher_cabinet{pixel_x = -27},/turf/simulated/floor/tiled/white,/area/medical/virology) +"buT" = (/obj/structure/table/glass,/obj/item/paper_bin{pixel_x = 1; pixel_y = 8},/obj/item/radio{anchored = 1; broadcasting = 0; canhear_range = 7; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Virology Emergency Phone"; pixel_x = -6; pixel_y = 8},/obj/item/reagent_containers/spray/cleaner,/obj/effect/floor_decal/corner/lime{dir = 10},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/medical/virology) +"buU" = (/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/corner/lime{dir = 8},/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/medical/virology) +"buV" = (/obj/effect/floor_decal/corner/lime,/obj/machinery/camera/network/medbay{c_tag = "MED - Virology Aft"; dir = 1},/obj/item/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 2; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = -21},/turf/simulated/floor/tiled/white,/area/medical/virology) +"buW" = (/obj/structure/table/glass,/obj/item/storage/box/gloves{pixel_x = 4; pixel_y = 4},/obj/item/storage/box/masks,/obj/effect/floor_decal/corner/lime{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/virology) +"buX" = (/obj/item/storage/box/syringes{pixel_x = 4; pixel_y = 4},/obj/item/storage/box/beakers,/obj/item/reagent_containers/dropper,/obj/structure/table/glass,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/corner/lime/full{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) "buY" = (/obj/machinery/atmospherics/pipe/simple/hidden/black,/turf/simulated/wall,/area/medical/virology) "buZ" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/tiled/white,/area/medical/virology) "bva" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/black,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) @@ -3815,9 +3815,9 @@ "bvs" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/rnd/research) "bvt" = (/obj/machinery/vending/snack,/turf/simulated/floor/wood,/area/rnd/research) "bvu" = (/obj/effect/floor_decal/corner/purple{dir = 9},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/rnd/research) -"bvv" = (/obj/item/weapon/folder/white,/obj/structure/table/standard,/obj/item/weapon/disk/tech_disk{pixel_x = 0; pixel_y = 0},/obj/item/weapon/disk/tech_disk{pixel_x = 0; pixel_y = 0},/obj/item/weapon/disk/design_disk,/obj/item/weapon/disk/design_disk,/obj/item/weapon/reagent_containers/dropper{pixel_y = -4},/obj/machinery/light_switch{pixel_x = 0; pixel_y = -26},/obj/effect/floor_decal/corner/purple{dir = 10},/turf/simulated/floor/tiled/white,/area/rnd/lab) -"bvw" = (/obj/structure/table/standard,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/machinery/newscaster{pixel_x = 0; pixel_y = -28},/obj/effect/floor_decal/corner/purple{dir = 10},/turf/simulated/floor/tiled/white,/area/rnd/lab) -"bvx" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = 2; pixel_y = 3},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/effect/floor_decal/corner/purple/full{dir = 4},/obj/machinery/light,/obj/structure/reagent_dispensers/acid{density = 0; pixel_x = 0; pixel_y = -30},/turf/simulated/floor/tiled/white,/area/rnd/lab) +"bvv" = (/obj/item/folder/white,/obj/structure/table/standard,/obj/item/disk/tech_disk{pixel_x = 0; pixel_y = 0},/obj/item/disk/tech_disk{pixel_x = 0; pixel_y = 0},/obj/item/disk/design_disk,/obj/item/disk/design_disk,/obj/item/reagent_containers/dropper{pixel_y = -4},/obj/machinery/light_switch{pixel_x = 0; pixel_y = -26},/obj/effect/floor_decal/corner/purple{dir = 10},/turf/simulated/floor/tiled/white,/area/rnd/lab) +"bvw" = (/obj/structure/table/standard,/obj/machinery/cell_charger,/obj/item/cell/high{charge = 100; maxcharge = 15000},/obj/item/cell/high{charge = 100; maxcharge = 15000},/obj/machinery/newscaster{pixel_x = 0; pixel_y = -28},/obj/effect/floor_decal/corner/purple{dir = 10},/turf/simulated/floor/tiled/white,/area/rnd/lab) +"bvx" = (/obj/structure/table/standard,/obj/item/storage/toolbox/mechanical{pixel_x = 2; pixel_y = 3},/obj/item/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/effect/floor_decal/corner/purple/full{dir = 4},/obj/machinery/light,/obj/structure/reagent_dispensers/acid{density = 0; pixel_x = 0; pixel_y = -30},/turf/simulated/floor/tiled/white,/area/rnd/lab) "bvy" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating,/area/rnd/lab) "bvz" = (/obj/structure/table/reinforced,/obj/machinery/door/window/northleft{name = "Research and Development Desk"; req_access = list(7)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/rnd/lab) "bvA" = (/obj/machinery/light,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled/dark,/area/ai) @@ -3834,8 +3834,8 @@ "bvL" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/obj/effect/floor_decal/corner/paleblue{dir = 4},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled/white,/area/medical/reception) "bvM" = (/obj/effect/floor_decal/corner/paleblue{dir = 1},/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) "bvN" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) -"bvO" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/adv{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/adv,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) -"bvP" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/toxin{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/toxin{pixel_x = 0; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) +"bvO" = (/obj/structure/table/standard,/obj/item/storage/firstaid/adv{pixel_x = 5; pixel_y = 5},/obj/item/storage/firstaid/adv,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) +"bvP" = (/obj/structure/table/standard,/obj/item/storage/firstaid/toxin{pixel_x = 5; pixel_y = 5},/obj/item/storage/firstaid/toxin{pixel_x = 0; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) "bvQ" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_medical{name = "Medbay Equipment"; req_access = list(5)},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) "bvR" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/medical/sleeper) "bvS" = (/obj/effect/floor_decal/corner/paleblue,/turf/simulated/floor/tiled/white,/area/medical/sleeper) @@ -3847,7 +3847,7 @@ "bvY" = (/obj/structure/table/reinforced,/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/cmo) "bvZ" = (/obj/structure/table/reinforced,/obj/machinery/computer/skills{pixel_y = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/cmo) "bwa" = (/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/cmo) -"bwb" = (/obj/structure/closet/secure_closet/CMO,/obj/effect/floor_decal/corner/paleblue{dir = 6},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/cmo) +"bwb" = (/obj/structure/closet/secure_closet/CMO,/obj/effect/floor_decal/corner/paleblue{dir = 6},/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/cmo) "bwc" = (/obj/machinery/door/airlock/medical{name = "Morgue"; req_access = list(6,5)},/obj/machinery/door/firedoor,/turf/simulated/floor/tiled,/area/medical/genetics_cloning) "bwd" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/medical/virology) "bwe" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/medical/virology) @@ -3862,7 +3862,7 @@ "bwn" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "arrivals_pump"; tag_exterior_door = "arrivals_outer"; frequency = 1379; id_tag = "arrivals_airlock"; tag_interior_door = "arrivals_inner"; pixel_x = 25; req_access = list(13); tag_chamber_sensor = "arrivals_sensor"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "arrivals_sensor"; pixel_x = 25; pixel_y = 12},/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor,/area/maintenance/research) "bwo" = (/obj/machinery/door/firedoor/border_only,/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/disposal) "bwp" = (/obj/item/trash/candy,/obj/item/trash/popcorn,/obj/machinery/button/remote/driver{id = "trash"; pixel_x = -26; pixel_y = -6},/turf/simulated/floor/plating,/area/maintenance/disposal) -"bwq" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor,/area/maintenance/disposal) +"bwq" = (/obj/item/stool/padded,/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor,/area/maintenance/disposal) "bwr" = (/obj/machinery/conveyor_switch/oneway{convdir = -1; id = "garbage"; name = "disposal coveyor"},/turf/simulated/floor,/area/maintenance/disposal) "bws" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/disposal) "bwt" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/machinery/conveyor{dir = 2; id = "garbage"},/turf/simulated/floor/plating,/area/maintenance/disposal) @@ -3881,7 +3881,7 @@ "bwG" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/rnd/research) "bwH" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/rnd/research) "bwI" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/rnd/research) -"bwJ" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bwJ" = (/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/rnd/research) "bwK" = (/turf/simulated/wall/r_wall,/area/rnd/research_foyer) "bwL" = (/obj/effect/floor_decal/corner/purple/full{dir = 8},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/tiled,/area/rnd/research_foyer) "bwM" = (/obj/effect/floor_decal/corner/purple{dir = 5},/turf/simulated/floor/tiled,/area/rnd/research_foyer) @@ -3898,13 +3898,13 @@ "bwX" = (/obj/effect/floor_decal/corner/paleblue{dir = 6},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/medical/reception) "bwY" = (/obj/structure/table/standard,/obj/structure/window/reinforced{dir = 8},/obj/machinery/button/remote/blast_door{id = "medbayrecquar"; name = "Medbay Entrance Quarantine Shutters Control"; pixel_x = -4; pixel_y = -4; req_access = list(5)},/obj/machinery/button/remote/airlock{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyer"; name = "Medbay Doors Control"; pixel_x = -4; pixel_y = 6},/obj/machinery/button/remote/airlock{desc = "A remote control switch for the medbay foyer."; id = "surgery_observation"; name = "Surgery Door Access"; pixel_x = 8; pixel_y = 0; specialfunctions = 4},/obj/effect/floor_decal/corner/paleblue{dir = 9},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/medical/reception) "bwZ" = (/obj/machinery/computer/crew,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/medical/reception) -"bxa" = (/obj/item/weapon/stool/padded,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/reception) +"bxa" = (/obj/item/stool/padded,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/reception) "bxb" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/reception) "bxc" = (/obj/machinery/door/airlock/glass_medical{name = "Medbay Equipment"; req_access = list(5)},/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) "bxd" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) "bxe" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) -"bxf" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/o2{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/o2{pixel_x = 0; pixel_y = 0},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) -"bxg" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/fire{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/fire{pixel_x = 0; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) +"bxf" = (/obj/structure/table/standard,/obj/item/storage/firstaid/o2{pixel_x = 5; pixel_y = 5},/obj/item/storage/firstaid/o2{pixel_x = 0; pixel_y = 0},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) +"bxg" = (/obj/structure/table/standard,/obj/item/storage/firstaid/fire{pixel_x = 5; pixel_y = 5},/obj/item/storage/firstaid/fire{pixel_x = 0; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) "bxh" = (/obj/structure/bed/chair/wheelchair,/obj/machinery/camera/network/medbay{c_tag = "MED - Equipment Storage"; dir = 8},/obj/effect/floor_decal/corner/paleblue,/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) "bxi" = (/obj/structure/table/glass,/obj/structure/closet/secure_closet/medical_wall/pills{pixel_x = -32},/turf/simulated/floor/tiled/white,/area/medical/sleeper) "bxj" = (/obj/effect/floor_decal/corner/paleblue{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/sleeper) @@ -3916,13 +3916,13 @@ "bxp" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/command{id_tag = "cmodoor"; name = "CMO's Office"; req_access = list(40)},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/cmo) "bxq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/cmo) "bxr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/cmo) -"bxs" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin,/obj/item/weapon/clipboard,/obj/item/weapon/stamp/cmo,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/weapon/folder/white_cmo,/obj/item/weapon/pen/multi,/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/cmo) +"bxs" = (/obj/structure/table/reinforced,/obj/item/paper_bin,/obj/item/clipboard,/obj/item/stamp/cmo,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/folder/white_cmo,/obj/item/pen/multi,/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/cmo) "bxt" = (/obj/structure/bed/chair/office/light{dir = 8},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for shutters."; id = "medbayquar"; name = "Medbay Emergency Lockdown Control"; pixel_x = -28; pixel_y = 36; req_access = list(5)},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for shutters."; id = "virologyquar"; name = "Virology Emergency Lockdown Control"; pixel_x = -28; pixel_y = 28; req_access = list(5)},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for shutters."; id = "cmooffice"; name = "CMO Privacy Shutters"; pixel_x = -38; pixel_y = 28},/obj/machinery/button/remote/airlock{desc = "A remote control switch for the CMO's office."; id = "cmodoor"; name = "CMO Office Door Control"; pixel_x = -38; pixel_y = 36},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/landmark/start{name = "Chief Medical Officer"},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/cmo) "bxu" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/cmo) -"bxv" = (/obj/structure/table/reinforced,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/effect/floor_decal/corner/paleblue{dir = 6},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/item/weapon/storage/fancy/vials{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/fancy/vials,/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/cmo) +"bxv" = (/obj/structure/table/reinforced,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/effect/floor_decal/corner/paleblue{dir = 6},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/item/storage/fancy/vials{pixel_x = 5; pixel_y = 5},/obj/item/storage/fancy/vials,/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/cmo) "bxw" = (/turf/simulated/wall,/area/medical/morgue) -"bxx" = (/obj/structure/table/steel,/obj/item/weapon/autopsy_scanner,/obj/item/weapon/surgical/scalpel,/obj/effect/floor_decal/corner/paleblue/full{dir = 8},/obj/machinery/light{dir = 1},/obj/item/weapon/surgical/cautery,/turf/simulated/floor/tiled,/area/medical/morgue) -"bxy" = (/obj/structure/table/steel,/obj/item/device/camera{name = "Autopsy Camera"; pixel_x = -2; pixel_y = 7},/obj/item/weapon/paper_bin{pixel_y = -6},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = -9},/obj/item/weapon/pen/blue{pixel_x = 3; pixel_y = -5},/obj/effect/floor_decal/corner/paleblue{dir = 5},/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 1; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = 21},/turf/simulated/floor/tiled,/area/medical/morgue) +"bxx" = (/obj/structure/table/steel,/obj/item/autopsy_scanner,/obj/item/surgical/scalpel,/obj/effect/floor_decal/corner/paleblue/full{dir = 8},/obj/machinery/light{dir = 1},/obj/item/surgical/cautery,/turf/simulated/floor/tiled,/area/medical/morgue) +"bxy" = (/obj/structure/table/steel,/obj/item/camera{name = "Autopsy Camera"; pixel_x = -2; pixel_y = 7},/obj/item/paper_bin{pixel_y = -6},/obj/item/pen/red{pixel_x = -1; pixel_y = -9},/obj/item/pen/blue{pixel_x = 3; pixel_y = -5},/obj/effect/floor_decal/corner/paleblue{dir = 5},/obj/item/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 1; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = 21},/turf/simulated/floor/tiled,/area/medical/morgue) "bxz" = (/obj/machinery/disposal,/obj/effect/floor_decal/corner/paleblue{dir = 1},/obj/structure/disposalpipe/trunk,/turf/simulated/floor/tiled,/area/medical/morgue) "bxA" = (/turf/simulated/floor/tiled,/area/medical/morgue) "bxB" = (/obj/effect/floor_decal/corner/paleblue{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/medical/morgue) @@ -3948,7 +3948,7 @@ "bxV" = (/turf/simulated/floor,/area/maintenance/disposal) "bxW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/disposal) "bxX" = (/obj/machinery/conveyor{dir = 2; id = "garbage"},/obj/machinery/alarm{dir = 8; pixel_x = 25; pixel_y = 0},/turf/simulated/floor,/area/maintenance/disposal) -"bxY" = (/obj/machinery/atmospherics/portables_connector,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/effect/floor_decal/corner/purple/full{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) +"bxY" = (/obj/machinery/atmospherics/portables_connector,/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/effect/floor_decal/corner/purple/full{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) "bxZ" = (/obj/effect/floor_decal/corner/purple{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) "bya" = (/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) "byb" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) @@ -3971,7 +3971,7 @@ "bys" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera/network/research{c_tag = "SCI - Research Hallway Starboard"; dir = 8},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/tiled/white,/area/rnd/research) "byt" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/rnd/research_foyer) "byu" = (/obj/structure/closet/firecloset,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research_foyer) -"byv" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/white,/area/rnd/research_foyer) +"byv" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/white,/area/rnd/research_foyer) "byw" = (/obj/structure/sink{pixel_y = 16},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research_foyer) "byx" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled,/area/rnd/research_foyer) "byy" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/rnd/research_foyer) @@ -3986,7 +3986,7 @@ "byH" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor,/area/maintenance/central) "byI" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor,/area/maintenance/central) "byJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/meter,/turf/simulated/floor,/area/maintenance/central) -"byK" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/structure/extinguisher_cabinet{pixel_x = -27},/turf/simulated/floor/tiled/dark,/area/hallway/primary/central_two) +"byK" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/structure/extinguisher_cabinet{pixel_x = -27},/turf/simulated/floor/tiled/dark,/area/hallway/primary/central_two) "byL" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/central_two) "byM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/central_two) "byN" = (/obj/structure/disposalpipe/sortjunction{dir = 2; icon_state = "pipe-j1s"; name = "Kitchen"; sortType = "Kitchen"},/turf/simulated/floor/tiled,/area/hallway/primary/central_two) @@ -3994,7 +3994,7 @@ "byP" = (/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "medbayquar"; name = "Medbay Emergency Lockdown Shutters"; opacity = 0},/turf/simulated/floor/tiled/dark,/area/hallway/primary/central_two) "byQ" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/white,/area/medical/reception) "byR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/medical/reception) -"byS" = (/obj/structure/table/standard,/obj/machinery/door/window/eastright{base_state = "left"; dir = 8; icon_state = "left"; name = "Medical Reception"; req_access = list(5)},/obj/item/weapon/reagent_containers/spray/cleaner{pixel_x = -5},/obj/effect/floor_decal/corner/paleblue{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/reception) +"byS" = (/obj/structure/table/standard,/obj/machinery/door/window/eastright{base_state = "left"; dir = 8; icon_state = "left"; name = "Medical Reception"; req_access = list(5)},/obj/item/reagent_containers/spray/cleaner{pixel_x = -5},/obj/effect/floor_decal/corner/paleblue{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/reception) "byT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/reception) "byU" = (/obj/effect/floor_decal/corner/paleblue{dir = 2},/obj/effect/landmark{name = "lightsout"},/turf/simulated/floor/tiled/white,/area/medical/reception) "byV" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/obj/effect/floor_decal/corner/paleblue{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) @@ -4003,7 +4003,7 @@ "byY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) "byZ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) "bza" = (/obj/structure/bed/chair/wheelchair,/obj/effect/floor_decal/corner/paleblue{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) -"bzb" = (/obj/structure/table/glass,/obj/item/weapon/reagent_containers/spray/cleaner{pixel_x = 2; pixel_y = 2},/obj/item/weapon/reagent_containers/spray/cleaner{pixel_x = -2; pixel_y = -2},/obj/item/device/defib_kit/loaded,/obj/item/device/defib_kit/loaded,/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"bzb" = (/obj/structure/table/glass,/obj/item/reagent_containers/spray/cleaner{pixel_x = 2; pixel_y = 2},/obj/item/reagent_containers/spray/cleaner{pixel_x = -2; pixel_y = -2},/obj/item/defib_kit/loaded,/obj/item/defib_kit/loaded,/turf/simulated/floor/tiled/white,/area/medical/sleeper) "bzc" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/medical/sleeper) "bzd" = (/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/sleeper) "bze" = (/obj/effect/floor_decal/corner/paleblue{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/sleeper) @@ -4012,7 +4012,7 @@ "bzh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/cmo) "bzi" = (/obj/structure/table/reinforced,/obj/machinery/computer/med_data/laptop{pixel_x = 3; pixel_y = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/cmo) "bzj" = (/obj/effect/floor_decal/corner/paleblue{dir = 2},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/cmo) -"bzk" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/medical,/obj/item/clothing/accessory/stethoscope,/obj/machinery/requests_console{announcementConsole = 1; department = "Chief Medical Officer's Desk"; departmentType = 5; name = "Chief Medical Officer RC"; pixel_x = 32; pixel_y = -2},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -26},/obj/effect/floor_decal/corner/paleblue/full{dir = 4},/obj/item/device/radio{frequency = 1487; name = "Medbay Emergency Radio Link"},/obj/item/device/megaphone,/obj/item/clothing/glasses/sunglasses/medhud,/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/cmo) +"bzk" = (/obj/structure/table/rack,/obj/item/storage/belt/medical,/obj/item/clothing/accessory/stethoscope,/obj/machinery/requests_console{announcementConsole = 1; department = "Chief Medical Officer's Desk"; departmentType = 5; name = "Chief Medical Officer RC"; pixel_x = 32; pixel_y = -2},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -26},/obj/effect/floor_decal/corner/paleblue/full{dir = 4},/obj/item/radio{frequency = 1487; name = "Medbay Emergency Radio Link"},/obj/item/megaphone,/obj/item/clothing/glasses/sunglasses/medhud,/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/cmo) "bzl" = (/obj/effect/floor_decal/corner/paleblue{dir = 9},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/medical/morgue) "bzm" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/medical/morgue) "bzn" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/medical/morgue) @@ -4024,7 +4024,7 @@ "bzt" = (/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for shutters."; id = "virologyquar"; name = "Virology Emergency Lockdown Control"; pixel_x = 0; pixel_y = -28; req_access = list(5)},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/effect/floor_decal/corner/lime,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 6},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) "bzu" = (/obj/effect/floor_decal/corner/lime{dir = 10},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera/network/medbay{c_tag = "MED - Virology Hallway"; dir = 1},/turf/simulated/floor/tiled/white,/area/medical/virology) "bzv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/corner/lime{dir = 10},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/virology) -"bzw" = (/obj/effect/floor_decal/corner/lime{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/white,/area/medical/virology) +"bzw" = (/obj/effect/floor_decal/corner/lime{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/white,/area/medical/virology) "bzx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) "bzy" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 9; icon_state = "intact"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) "bzz" = (/obj/machinery/door/airlock/medical{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "virologyq_airlock_interior"; locked = 1; name = "Virology Quarantine Airlock"; req_access = list(39)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) @@ -4044,7 +4044,7 @@ "bzN" = (/obj/structure/closet/emcloset,/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor,/area/maintenance/research) "bzO" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/light_switch{pixel_x = 12; pixel_y = -25},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/turf/simulated/floor,/area/maintenance/disposal) "bzP" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor,/area/maintenance/disposal) -"bzQ" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = 0; pixel_y = -21},/obj/machinery/light/small,/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor/plating,/area/maintenance/disposal) +"bzQ" = (/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_x = 0; pixel_y = -21},/obj/machinery/light/small,/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor/plating,/area/maintenance/disposal) "bzR" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Disposal Access"; req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/disposal) "bzS" = (/obj/machinery/conveyor{dir = 2; id = "garbage"},/turf/simulated/floor,/area/maintenance/disposal) "bzT" = (/obj/machinery/atmospherics/binary/pump,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/corner/purple{dir = 9},/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) @@ -4070,7 +4070,7 @@ "bAn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/rnd/research_foyer) "bAo" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/hologram/holopad,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/rnd/research_foyer) "bAp" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/rnd/research_foyer) -"bAq" = (/obj/machinery/door/firedoor/glass,/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/item/device/radio/beacon,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/rnd/research_foyer) +"bAq" = (/obj/machinery/door/firedoor/glass,/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/item/radio/beacon,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/rnd/research_foyer) "bAr" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark,/area/hallway/primary/central_four) "bAs" = (/obj/machinery/door/firedoor/glass,/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/central_four) "bAt" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled,/area/hallway/primary/central_four) @@ -4106,14 +4106,14 @@ "bAX" = (/obj/machinery/door/firedoor/glass,/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/reception) "bAY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/reception) "bAZ" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/reception) -"bBa" = (/obj/structure/table/standard,/obj/structure/window/reinforced{dir = 8},/obj/item/device/radio{anchored = 1; broadcasting = 0; canhear_range = 1; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Reception Emergency Phone"},/obj/effect/floor_decal/corner/paleblue{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/reception) +"bBa" = (/obj/structure/table/standard,/obj/structure/window/reinforced{dir = 8},/obj/item/radio{anchored = 1; broadcasting = 0; canhear_range = 1; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Reception Emergency Phone"},/obj/effect/floor_decal/corner/paleblue{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/reception) "bBb" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/reception) "bBc" = (/obj/effect/floor_decal/corner/paleblue{dir = 4},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/white,/area/medical/reception) -"bBd" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/glass/bottle/stoxin{pixel_x = -6; pixel_y = 10},/obj/item/weapon/reagent_containers/glass/bottle/antitoxin{pixel_x = 5; pixel_y = 5},/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline{pixel_x = 1},/obj/random/medical,/obj/effect/floor_decal/corner/paleblue/full,/obj/machinery/light{dir = 8},/obj/item/weapon/storage/firstaid/regular{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/regular,/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) -"bBe" = (/obj/structure/table/standard,/obj/item/weapon/packageWrap,/obj/item/weapon/hand_labeler,/obj/effect/floor_decal/corner/paleblue{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) +"bBd" = (/obj/structure/table/standard,/obj/item/reagent_containers/glass/bottle/stoxin{pixel_x = -6; pixel_y = 10},/obj/item/reagent_containers/glass/bottle/antitoxin{pixel_x = 5; pixel_y = 5},/obj/item/reagent_containers/glass/bottle/inaprovaline{pixel_x = 1},/obj/random/medical,/obj/effect/floor_decal/corner/paleblue/full,/obj/machinery/light{dir = 8},/obj/item/storage/firstaid/regular{pixel_x = 5; pixel_y = 5},/obj/item/storage/firstaid/regular,/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) +"bBe" = (/obj/structure/table/standard,/obj/item/packageWrap,/obj/item/hand_labeler,/obj/effect/floor_decal/corner/paleblue{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) "bBf" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) -"bBg" = (/obj/structure/table/rack,/obj/item/device/radio{frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link"; pixel_x = 2; pixel_y = 2},/obj/item/device/radio{frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link"},/obj/item/device/radio{frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link"},/obj/effect/floor_decal/corner/paleblue{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) -"bBh" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/emergency,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/effect/floor_decal/corner/paleblue{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) +"bBg" = (/obj/structure/table/rack,/obj/item/radio{frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link"; pixel_x = 2; pixel_y = 2},/obj/item/radio{frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link"},/obj/item/radio{frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link"},/obj/effect/floor_decal/corner/paleblue{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) +"bBh" = (/obj/structure/table/standard,/obj/item/storage/toolbox/emergency,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/effect/floor_decal/corner/paleblue{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) "bBi" = (/obj/machinery/vending/medical,/obj/effect/floor_decal/corner/paleblue/full{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) "bBj" = (/obj/structure/closet/secure_closet/medical1,/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/sleeper) "bBk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/medical/sleeper) @@ -4126,7 +4126,7 @@ "bBr" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/corner/paleblue{dir = 10},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/cmo) "bBs" = (/obj/structure/table/reinforced,/obj/machinery/photocopier/faxmachine{department = "CMO's Office"},/obj/effect/floor_decal/corner/paleblue{dir = 10},/obj/machinery/light,/obj/machinery/camera/network/medbay{c_tag = "MED - CMO"; dir = 1},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/cmo) "bBt" = (/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = -24},/obj/machinery/light_switch{pixel_x = -10; pixel_y = -23},/obj/effect/floor_decal/corner/paleblue{dir = 10},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/cmo) -"bBu" = (/obj/machinery/computer/crew,/obj/effect/floor_decal/corner/paleblue/full{dir = 4},/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 2; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = -21},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/cmo) +"bBu" = (/obj/machinery/computer/crew,/obj/effect/floor_decal/corner/paleblue/full{dir = 4},/obj/item/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 2; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = -21},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/cmo) "bBv" = (/obj/effect/floor_decal/corner/paleblue{dir = 9},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/medical/morgue) "bBw" = (/obj/machinery/optable,/turf/simulated/floor/tiled,/area/medical/morgue) "bBx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/medical/morgue) @@ -4157,9 +4157,9 @@ "bBW" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 10},/obj/structure/table/reinforced,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) "bBX" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) "bBY" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) -"bBZ" = (/obj/structure/table/reinforced,/obj/item/weapon/tool/wrench,/obj/item/weapon/tool/crowbar/red,/obj/item/clothing/glasses/science,/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) +"bBZ" = (/obj/structure/table/reinforced,/obj/item/tool/wrench,/obj/item/tool/crowbar/red,/obj/item/clothing/glasses/science,/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) "bCa" = (/obj/structure/table/reinforced,/obj/machinery/button/ignition{id = "Xenobio"; pixel_x = -6; pixel_y = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) -"bCb" = (/obj/machinery/computer/security/telescreen{desc = "Used to monitor the proceedings inside the test chamber."; name = "Test Chamber Monitor"; network = list("Miscellaneous Reseach"); pixel_x = 32; pixel_y = 0},/obj/item/weapon/stool/padded,/obj/effect/floor_decal/corner/purple,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) +"bCb" = (/obj/machinery/computer/security/telescreen{desc = "Used to monitor the proceedings inside the test chamber."; name = "Test Chamber Monitor"; network = list("Miscellaneous Reseach"); pixel_x = 32; pixel_y = 0},/obj/item/stool/padded,/obj/effect/floor_decal/corner/purple,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) "bCc" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/camera/network/research{c_tag = "SCI - Research Hallway Center"; dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research) "bCd" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/rnd/research) "bCe" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/rnd/research) @@ -4185,7 +4185,7 @@ "bCy" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light/small,/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor,/area/maintenance/central) "bCz" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor,/area/maintenance/central) "bCA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/central) -"bCB" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/weapon/material/shard{icon_state = "medium"},/obj/item/stack/rods,/turf/simulated/floor,/area/maintenance/central) +"bCB" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/material/shard{icon_state = "medium"},/obj/item/stack/rods,/turf/simulated/floor,/area/maintenance/central) "bCC" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/maintenance/central) "bCD" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/mob/living/simple_mob/animal/passive/mouse,/turf/simulated/floor,/area/maintenance/central) "bCE" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor,/area/maintenance/central) @@ -4202,7 +4202,7 @@ "bCP" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/maintenance/central) "bCQ" = (/obj/random/obstruction,/turf/simulated/floor,/area/maintenance/central) "bCR" = (/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/structure/closet/crate/freezer,/turf/simulated/floor,/area/maintenance/central) -"bCS" = (/obj/structure/table/rack{dir = 4},/obj/item/weapon/storage/toolbox/mechanical,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/medical,/turf/simulated/floor,/area/maintenance/central) +"bCS" = (/obj/structure/table/rack{dir = 4},/obj/item/storage/toolbox/mechanical,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/medical,/turf/simulated/floor,/area/maintenance/central) "bCT" = (/turf/simulated/wall,/area/crew_quarters/kitchen) "bCU" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/maintenance/central) "bCV" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor,/area/maintenance/central) @@ -4215,12 +4215,12 @@ "bDc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/reception) "bDd" = (/obj/effect/floor_decal/corner/paleblue{dir = 6},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/tiled/white,/area/medical/reception) "bDe" = (/obj/structure/table/standard,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/computer/med_data/laptop,/obj/effect/floor_decal/corner/paleblue/full,/turf/simulated/floor/tiled/white,/area/medical/reception) -"bDf" = (/obj/structure/table/standard,/obj/structure/window/reinforced,/obj/item/weapon/paper_bin,/obj/item/weapon/folder/white,/obj/item/weapon/pen,/obj/effect/floor_decal/corner/paleblue{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/reception) -"bDg" = (/obj/structure/table/standard,/obj/structure/window/reinforced,/obj/item/weapon/storage/box/cups,/obj/item/weapon/storage/box/cups{pixel_x = 2; pixel_y = 5},/obj/effect/floor_decal/corner/paleblue{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/reception) +"bDf" = (/obj/structure/table/standard,/obj/structure/window/reinforced,/obj/item/paper_bin,/obj/item/folder/white,/obj/item/pen,/obj/effect/floor_decal/corner/paleblue{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/reception) +"bDg" = (/obj/structure/table/standard,/obj/structure/window/reinforced,/obj/item/storage/box/cups,/obj/item/storage/box/cups{pixel_x = 2; pixel_y = 5},/obj/effect/floor_decal/corner/paleblue{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/reception) "bDh" = (/obj/machinery/door/window/southright{name = "Medical Reception"; req_access = list(5)},/obj/structure/noticeboard{pixel_x = 32; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/reception) "bDi" = (/obj/machinery/door/airlock/glass_medical{name = "Medbay Equipment"; req_access = list(5)},/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) "bDj" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/medical/medbay_primary_storage) -"bDk" = (/obj/machinery/iv_drip,/obj/structure/closet/secure_closet/medical_wall{name = "O- Blood Locker"; pixel_x = -32},/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"bDk" = (/obj/machinery/iv_drip,/obj/structure/closet/secure_closet/medical_wall{name = "O- Blood Locker"; pixel_x = -32},/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/turf/simulated/floor/tiled/white,/area/medical/sleeper) "bDl" = (/obj/effect/floor_decal/corner/paleblue{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/sleeper) "bDm" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/effect/floor_decal/corner/paleblue{dir = 4},/obj/structure/disposalpipe/segment,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/white,/area/medical/sleeper) "bDn" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/crew_quarters/heads/cmo) @@ -4235,7 +4235,7 @@ "bDw" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = 0},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor/tiled/steel,/area/medical/virology) "bDx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/auxsolarport) "bDy" = (/obj/structure/cable/yellow,/obj/machinery/power/solar_control{id = "auxsolareast"; name = "Fore Port Solar Control"; track = 0},/turf/simulated/floor,/area/maintenance/auxsolarport) -"bDz" = (/obj/item/weapon/stool,/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/item/stack/cable_coil/yellow,/obj/item/stack/cable_coil/yellow,/turf/simulated/floor,/area/maintenance/auxsolarport) +"bDz" = (/obj/item/stool,/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/item/stack/cable_coil/yellow,/obj/item/stack/cable_coil/yellow,/turf/simulated/floor,/area/maintenance/auxsolarport) "bDA" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/camera/network/engineering{c_tag = "ENG - Solar Fore Port"; dir = 1},/turf/simulated/floor,/area/maintenance/auxsolarport) "bDB" = (/obj/machinery/camera/network/engineering{c_tag = "ENG - Solar Fore Port Access"; dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor,/area/maintenance/research) "bDC" = (/obj/machinery/light/small,/turf/simulated/floor,/area/maintenance/research) @@ -4251,7 +4251,7 @@ "bDM" = (/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "misclab"; name = "Test Chamber Blast Doors"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/rnd/misc_lab) "bDN" = (/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "misclab"; name = "Test Chamber Blast Doors"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/rnd/misc_lab) "bDO" = (/obj/machinery/shieldwallgen{anchored = 1; req_access = list(47)},/obj/effect/floor_decal/corner/purple/full{dir = 4},/obj/structure/cable/green,/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) -"bDP" = (/obj/effect/floor_decal/corner/purple{dir = 9},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bDP" = (/obj/effect/floor_decal/corner/purple{dir = 9},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/white,/area/rnd/research) "bDQ" = (/obj/effect/floor_decal/corner/purple{dir = 6},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/rnd/research) "bDR" = (/turf/simulated/wall/r_wall,/area/rnd/rdoffice) "bDS" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced/polarized{dir = 1},/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 4},/obj/structure/window/reinforced/polarized{dir = 8},/turf/simulated/floor/plating,/area/rnd/rdoffice) @@ -4260,24 +4260,24 @@ "bDV" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced/polarized{dir = 1},/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 4},/turf/simulated/floor/plating,/area/rnd/rdoffice) "bDW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating,/area/assembly/robotics) "bDX" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_research{name = "Robotics Lab"; req_access = list(29,47)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"bDY" = (/obj/effect/floor_decal/corner/purple/full,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor/tiled,/area/rnd/research_foyer) +"bDY" = (/obj/effect/floor_decal/corner/purple/full,/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor/tiled,/area/rnd/research_foyer) "bDZ" = (/obj/effect/floor_decal/corner/purple{dir = 10},/turf/simulated/floor/tiled,/area/rnd/research_foyer) "bEa" = (/obj/effect/floor_decal/corner/purple/full{dir = 4},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled,/area/rnd/research_foyer) "bEb" = (/obj/structure/sign/directions/cargo{dir = 2; pixel_x = -32; pixel_z = 8},/obj/structure/sign/directions/medical{dir = 2; pixel_x = -32; pixel_y = 0},/obj/structure/sign/directions/engineering{dir = 2; pixel_x = -32; pixel_z = -8},/turf/simulated/floor/tiled/dark,/area/hallway/primary/central_four) "bEc" = (/obj/machinery/camera/network/northern_star{c_tag = "Hall - Central Primary Port Mid 1"; dir = 8},/obj/structure/extinguisher_cabinet{pixel_x = 25; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/primary/central_four) "bEd" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/hop) -"bEe" = (/obj/structure/table/rack{dir = 1},/obj/item/weapon/extinguisher,/obj/item/clothing/mask/gas,/turf/simulated/floor/plating,/area/maintenance/central) -"bEf" = (/obj/structure/closet/crate,/obj/item/weapon/reagent_containers/food/drinks/bottle/wine,/obj/random/drinkbottle,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/central) +"bEe" = (/obj/structure/table/rack{dir = 1},/obj/item/extinguisher,/obj/item/clothing/mask/gas,/turf/simulated/floor/plating,/area/maintenance/central) +"bEf" = (/obj/structure/closet/crate,/obj/item/reagent_containers/food/drinks/bottle/wine,/obj/random/drinkbottle,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/central) "bEg" = (/turf/simulated/floor/tiled,/area/maintenance/central) "bEh" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/maintenance/central) "bEi" = (/obj/machinery/light/small,/mob/living/simple_mob/animal/passive/mouse,/turf/simulated/floor/plating,/area/maintenance/central) "bEj" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/maintenance/central) "bEk" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/maintenance/central) -"bEl" = (/obj/structure/closet,/obj/item/weapon/storage/backpack,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/random/maintenance/clean,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/central) +"bEl" = (/obj/structure/closet,/obj/item/storage/backpack,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/random/maintenance/clean,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/central) "bEm" = (/obj/structure/closet/secure_closet/hydroponics,/obj/effect/floor_decal/corner/lime/full{dir = 8},/turf/simulated/floor/tiled,/area/hydroponics) "bEn" = (/obj/effect/floor_decal/corner/lime{dir = 5},/obj/structure/closet/secure_closet/hydroponics,/turf/simulated/floor/tiled,/area/hydroponics) "bEo" = (/obj/effect/floor_decal/corner/lime{dir = 5},/obj/structure/closet/secure_closet/hydroponics,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/hydroponics) -"bEp" = (/obj/machinery/alarm{pixel_y = 22},/obj/structure/closet/crate/hydroponics{desc = "All you need to start your own honey farm."; name = "beekeeping crate"},/obj/item/beehive_assembly,/obj/item/bee_smoker,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/bee_pack,/obj/item/weapon/tool/crowbar,/obj/effect/floor_decal/corner/lime/full{dir = 1},/turf/simulated/floor/tiled,/area/hydroponics) +"bEp" = (/obj/machinery/alarm{pixel_y = 22},/obj/structure/closet/crate/hydroponics{desc = "All you need to start your own honey farm."; name = "beekeeping crate"},/obj/item/beehive_assembly,/obj/item/bee_smoker,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/bee_pack,/obj/item/tool/crowbar,/obj/effect/floor_decal/corner/lime/full{dir = 1},/turf/simulated/floor/tiled,/area/hydroponics) "bEq" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{name = "Hydroponics Maintenance"; req_access = list(35)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/hydroponics) "bEr" = (/obj/machinery/navbeacon/delivery/south{location = "Hydroponics"},/obj/structure/plasticflaps{opacity = 1},/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/industrial/loading,/turf/simulated/floor/tiled,/area/hydroponics) "bEs" = (/obj/structure/kitchenspike,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/kitchen) @@ -4309,14 +4309,14 @@ "bES" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/atmospherics/portables_connector,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled,/area/medical/sleeper) "bET" = (/obj/machinery/atmospherics/unary/freezer{dir = 2; icon_state = "freezer"},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/medical/sleeper) "bEU" = (/obj/machinery/atmospherics/unary/cryo_cell,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/medical/sleeper) -"bEV" = (/obj/structure/table/steel,/obj/item/weapon/storage/box/bodybags,/obj/effect/floor_decal/corner/paleblue/full{dir = 8},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/item/weapon/storage/box/bodybags,/turf/simulated/floor/tiled,/area/medical/morgue) -"bEW" = (/obj/structure/table/steel,/obj/item/weapon/paper_bin,/obj/item/weapon/pen/blue{pixel_x = 3; pixel_y = -5},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = -9},/obj/effect/floor_decal/corner/paleblue{dir = 5},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/medical/morgue) +"bEV" = (/obj/structure/table/steel,/obj/item/storage/box/bodybags,/obj/effect/floor_decal/corner/paleblue/full{dir = 8},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/item/storage/box/bodybags,/turf/simulated/floor/tiled,/area/medical/morgue) +"bEW" = (/obj/structure/table/steel,/obj/item/paper_bin,/obj/item/pen/blue{pixel_x = 3; pixel_y = -5},/obj/item/pen/red{pixel_x = -1; pixel_y = -9},/obj/effect/floor_decal/corner/paleblue{dir = 5},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/medical/morgue) "bEX" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/corner/paleblue{dir = 1},/turf/simulated/floor/tiled,/area/medical/morgue) "bEY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/medical/morgue) "bEZ" = (/obj/structure/morgue{icon_state = "morgue1"; dir = 8},/turf/simulated/floor/tiled,/area/medical/morgue) "bFa" = (/obj/structure/morgue,/turf/simulated/floor/tiled,/area/medical/morgue) "bFb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/medical/morgue) -"bFc" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/structure/closet/l3closet/virology,/obj/machinery/power/apc{cell_type = /obj/item/weapon/cell/super; dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled/white,/area/medical/virology) +"bFc" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/structure/closet/l3closet/virology,/obj/machinery/power/apc{cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled/white,/area/medical/virology) "bFd" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/white,/area/medical/virology) "bFe" = (/obj/structure/table/steel,/obj/machinery/light_switch{pixel_x = 26; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/obj/machinery/camera/network/medbay{c_tag = "MED - Virology Airlock"; dir = 8},/obj/random/medical,/turf/simulated/floor/tiled/white,/area/medical/virology) "bFf" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/airless,/area/solar/auxport) @@ -4335,21 +4335,21 @@ "bFs" = (/obj/machinery/disposal,/obj/effect/floor_decal/corner/purple{dir = 9},/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/rdoffice) "bFt" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/tiled/white,/area/rnd/rdoffice) "bFu" = (/obj/effect/floor_decal/corner/purple{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/rdoffice) -"bFv" = (/obj/structure/table/standard,/obj/item/device/taperecorder{pixel_x = -3},/obj/item/device/paicard{pixel_x = 4},/obj/item/weapon/circuitboard/teleporter,/obj/item/weapon/circuitboard/aicore{pixel_x = -2; pixel_y = 4},/obj/effect/floor_decal/corner/purple/full{dir = 1},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/turf/simulated/floor/tiled/white,/area/rnd/rdoffice) -"bFw" = (/obj/effect/floor_decal/corner/pink{dir = 4},/obj/structure/closet/wardrobe/robotics_black,/obj/item/device/radio/headset/headset_sci{pixel_x = -3},/obj/item/device/radio/headset/headset_sci{pixel_x = -3},/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"bFv" = (/obj/structure/table/standard,/obj/item/taperecorder{pixel_x = -3},/obj/item/paicard{pixel_x = 4},/obj/item/circuitboard/teleporter,/obj/item/circuitboard/aicore{pixel_x = -2; pixel_y = 4},/obj/effect/floor_decal/corner/purple/full{dir = 1},/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/turf/simulated/floor/tiled/white,/area/rnd/rdoffice) +"bFw" = (/obj/effect/floor_decal/corner/pink{dir = 4},/obj/structure/closet/wardrobe/robotics_black,/obj/item/radio/headset/headset_sci{pixel_x = -3},/obj/item/radio/headset/headset_sci{pixel_x = -3},/turf/simulated/floor/tiled/white,/area/assembly/robotics) "bFx" = (/obj/effect/floor_decal/corner/pink{dir = 5},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/assembly/robotics) "bFy" = (/obj/effect/floor_decal/corner/pink{dir = 1},/turf/simulated/floor/tiled/white,/area/assembly/robotics) "bFz" = (/obj/machinery/autolathe,/turf/simulated/floor/tiled/white,/area/assembly/robotics) "bFA" = (/obj/machinery/computer/rdconsole/robotics,/obj/machinery/alarm{pixel_y = 25},/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"bFB" = (/obj/item/weapon/book/manual/robotics_cyborgs{pixel_x = 2; pixel_y = 5},/obj/machinery/requests_console{department = "Robotics"; departmentType = 2; name = "Robotics RC"; pixel_y = 30},/obj/machinery/light{dir = 1},/obj/structure/table/standard{name = "plastic table frame"},/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"bFB" = (/obj/item/book/manual/robotics_cyborgs{pixel_x = 2; pixel_y = 5},/obj/machinery/requests_console{department = "Robotics"; departmentType = 2; name = "Robotics RC"; pixel_y = 30},/obj/machinery/light{dir = 1},/obj/structure/table/standard{name = "plastic table frame"},/turf/simulated/floor/tiled/white,/area/assembly/robotics) "bFC" = (/obj/machinery/r_n_d/circuit_imprinter,/turf/simulated/floor/tiled/white,/area/assembly/robotics) "bFD" = (/turf/simulated/wall/r_wall,/area/assembly/robotics) -"bFE" = (/obj/structure/table/reinforced,/obj/machinery/door/window/southright{name = "Robotics Desk"; req_access = list(29)},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/folder/white,/obj/item/weapon/pen,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/assembly/robotics) -"bFF" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/hallway/primary/central_four) +"bFE" = (/obj/structure/table/reinforced,/obj/machinery/door/window/southright{name = "Robotics Desk"; req_access = list(29)},/obj/item/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/folder/white,/obj/item/pen,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/assembly/robotics) +"bFF" = (/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/hallway/primary/central_four) "bFG" = (/obj/effect/floor_decal/industrial/loading{icon_state = "loadingarea"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/central_four) "bFH" = (/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/hallway/primary/central_four) "bFI" = (/obj/structure/table/reinforced,/obj/machinery/computer/skills,/obj/effect/floor_decal/corner/blue/full{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/heads/hop) -"bFJ" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/effect/floor_decal/corner/blue{dir = 5},/obj/machinery/computer/guestpass{pixel_x = 0; pixel_y = 30},/obj/item/weapon/folder/blue_hop,/obj/item/weapon/pen,/turf/simulated/floor/tiled,/area/crew_quarters/heads/hop) +"bFJ" = (/obj/structure/table/reinforced,/obj/item/paper_bin{pixel_x = -3; pixel_y = 7},/obj/effect/floor_decal/corner/blue{dir = 5},/obj/machinery/computer/guestpass{pixel_x = 0; pixel_y = 30},/obj/item/folder/blue_hop,/obj/item/pen,/turf/simulated/floor/tiled,/area/crew_quarters/heads/hop) "bFK" = (/obj/structure/filingcabinet/chestdrawer,/obj/effect/floor_decal/corner/blue{dir = 5},/obj/machinery/newscaster/security_unit{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled,/area/crew_quarters/heads/hop) "bFL" = (/obj/machinery/account_database,/obj/effect/floor_decal/corner/blue/full{dir = 1},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/crew_quarters/heads/hop) "bFM" = (/obj/effect/floor_decal/industrial/loading,/obj/machinery/door/firedoor/border_only,/obj/structure/plasticflaps{opacity = 1},/obj/machinery/navbeacon/delivery/south{location = "Command"},/turf/simulated/floor/tiled,/area/bridge_hallway) @@ -4367,7 +4367,7 @@ "bFY" = (/obj/effect/floor_decal/corner/lime{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/turf/simulated/floor/tiled,/area/hydroponics) "bFZ" = (/obj/effect/floor_decal/corner/lime/full{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/hydroponics) "bGa" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/window/reinforced,/obj/machinery/door/window/westright{name = "Hydroponics Delivery"; req_access = list(35)},/turf/simulated/floor/tiled,/area/hydroponics) -"bGb" = (/obj/structure/closet/chefcloset,/obj/item/glass_jar,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/item/device/retail_scanner/civilian,/obj/item/weapon/soap/nanotrasen,/obj/item/device/destTagger{pixel_x = 4; pixel_y = 3},/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"bGb" = (/obj/structure/closet/chefcloset,/obj/item/glass_jar,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/item/retail_scanner/civilian,/obj/item/soap/nanotrasen,/obj/item/destTagger{pixel_x = 4; pixel_y = 3},/obj/item/packageWrap,/obj/item/packageWrap,/obj/item/packageWrap,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "bGc" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "bGd" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/closet/secure_closet/freezer/meat,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "bGe" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/kitchen) @@ -4403,11 +4403,11 @@ "bGI" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/medical/morgue) "bGJ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/medical/morgue) "bGK" = (/obj/machinery/light/small{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/maintenance/medbay_fore) -"bGL" = (/obj/structure/closet,/obj/item/device/flashlight,/obj/effect/decal/cleanable/cobweb2,/obj/item/weapon/storage/backpack/satchel/vir,/obj/item/weapon/storage/backpack/virology,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/turf/simulated/floor/plating,/area/maintenance/medbay_fore) +"bGL" = (/obj/structure/closet,/obj/item/flashlight,/obj/effect/decal/cleanable/cobweb2,/obj/item/storage/backpack/satchel/vir,/obj/item/storage/backpack/virology,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/turf/simulated/floor/plating,/area/maintenance/medbay_fore) "bGM" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/structure/closet/l3closet/virology,/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/medical/virology) "bGN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/medical/virology) "bGO" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/virology) -"bGP" = (/obj/structure/closet/crate,/obj/item/weapon/tank/emergency/oxygen/engi,/obj/item/weapon/tank/emergency/oxygen/double,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/research) +"bGP" = (/obj/structure/closet/crate,/obj/item/tank/emergency/oxygen/engi,/obj/item/tank/emergency/oxygen/double,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/research) "bGQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/obj/machinery/meter,/turf/simulated/floor,/area/maintenance/research) "bGR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/maintenance/research) "bGS" = (/obj/structure/table/standard,/turf/simulated/floor/reinforced,/area/rnd/misc_lab) @@ -4424,9 +4424,9 @@ "bHd" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/tiled/white,/area/assembly/robotics) "bHe" = (/turf/simulated/floor/tiled/white,/area/assembly/robotics) "bHf" = (/obj/structure/bed/chair/office/light{dir = 1},/obj/effect/landmark/start{name = "Roboticist"},/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"bHg" = (/obj/effect/floor_decal/corner/pink{dir = 4},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/table/standard,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/item/weapon/hand_labeler,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/item/weapon/reagent_containers/glass/beaker/sulphuric,/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"bHh" = (/obj/effect/floor_decal/corner/pink{dir = 5},/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/recharger{pixel_y = 0},/obj/item/device/flash,/obj/item/device/flash,/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"bHi" = (/obj/item/weapon/stool/padded,/obj/effect/floor_decal/corner/pink{dir = 5},/obj/effect/landmark/start{name = "Roboticist"},/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"bHg" = (/obj/effect/floor_decal/corner/pink{dir = 4},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/table/standard,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/item/hand_labeler,/obj/item/reagent_containers/glass/beaker/large,/obj/item/reagent_containers/glass/beaker/sulphuric,/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"bHh" = (/obj/effect/floor_decal/corner/pink{dir = 5},/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/recharger{pixel_y = 0},/obj/item/flash,/obj/item/flash,/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"bHi" = (/obj/item/stool/padded,/obj/effect/floor_decal/corner/pink{dir = 5},/obj/effect/landmark/start{name = "Roboticist"},/turf/simulated/floor/tiled/white,/area/assembly/robotics) "bHj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/closet{name = "materials"},/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/glass{amount = 50; pixel_x = -2; pixel_y = 2},/obj/item/stack/material/glass{amount = 50; pixel_x = -2; pixel_y = 2},/obj/item/stack/material/glass{amount = 50; pixel_x = -2; pixel_y = 2},/obj/item/stack/material/glass{amount = 50; pixel_x = -2; pixel_y = 2},/obj/item/stack/material/plasteel{amount = 10},/turf/simulated/floor/tiled/white,/area/assembly/robotics) "bHk" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor/plating,/area/assembly/robotics) "bHl" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/hallway/primary/central_four) @@ -4437,11 +4437,11 @@ "bHq" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/crew_quarters/heads/hop) "bHr" = (/obj/effect/floor_decal/corner/blue{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/crew_quarters/heads/hop) "bHs" = (/obj/effect/floor_decal/corner/blue{dir = 5},/obj/machinery/requests_console{announcementConsole = 1; department = "Bridge"; departmentType = 5; name = "Bridge RC"; pixel_y = 28},/turf/simulated/floor/tiled,/area/crew_quarters/heads/hop) -"bHt" = (/obj/structure/table/reinforced,/obj/item/weapon/packageWrap,/obj/item/weapon/hand_labeler,/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = 30},/obj/effect/floor_decal/corner/blue{dir = 5},/turf/simulated/floor/tiled,/area/crew_quarters/heads/hop) +"bHt" = (/obj/structure/table/reinforced,/obj/item/packageWrap,/obj/item/hand_labeler,/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = 30},/obj/effect/floor_decal/corner/blue{dir = 5},/turf/simulated/floor/tiled,/area/crew_quarters/heads/hop) "bHu" = (/obj/structure/table/reinforced,/obj/machinery/photocopier/faxmachine{department = "Head of Personnel's Office"},/obj/effect/floor_decal/corner/blue/full{dir = 1},/obj/machinery/ai_status_display{pixel_x = 32; pixel_y = 0},/turf/simulated/floor/tiled,/area/crew_quarters/heads/hop) "bHv" = (/obj/effect/floor_decal/corner/blue{dir = 9},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/window/southleft{base_state = "left"; dir = 2; icon_state = "left"; name = "Command Delivery"; req_access = list(19)},/turf/simulated/floor/tiled,/area/bridge_hallway) "bHw" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/tiled,/area/bridge_hallway) -"bHx" = (/obj/effect/floor_decal/corner/blue{dir = 6},/obj/structure/table/standard,/obj/item/weapon/storage/box/cups,/turf/simulated/floor/tiled,/area/bridge_hallway) +"bHx" = (/obj/effect/floor_decal/corner/blue{dir = 6},/obj/structure/table/standard,/obj/item/storage/box/cups,/turf/simulated/floor/tiled,/area/bridge_hallway) "bHy" = (/obj/machinery/cell_charger,/obj/structure/table/steel,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/substation/command) "bHz" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor,/area/maintenance/substation/command) "bHA" = (/obj/machinery/power/breakerbox/activated{RCon_tag = "Command Substation Bypass"},/turf/simulated/floor,/area/maintenance/substation/command) @@ -4457,7 +4457,7 @@ "bHK" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/closet/secure_closet/freezer/kitchen,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "bHL" = (/obj/structure/closet/crate/freezer,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/kitchen) "bHM" = (/obj/structure/closet/secure_closet/freezer/meat,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/light,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/kitchen) -"bHN" = (/obj/machinery/camera/network/civilian{c_tag = "CIV - Kitchen Cold Room"; dir = 1},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/kitchen) +"bHN" = (/obj/machinery/camera/network/civilian{c_tag = "CIV - Kitchen Cold Room"; dir = 1},/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/kitchen) "bHO" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/kitchen) "bHP" = (/turf/simulated/floor/tiled/freezer,/area/crew_quarters/kitchen) "bHQ" = (/obj/machinery/gibber,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/kitchen) @@ -4475,7 +4475,7 @@ "bIc" = (/obj/effect/floor_decal/corner/paleblue{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/sleeper) "bId" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/medical/sleeper) "bIe" = (/obj/structure/sign/goldenplaque{desc = "Done No Harm."; name = "Best Doctor 2552"; pixel_y = -32},/obj/effect/floor_decal/corner/paleblue,/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"bIf" = (/obj/effect/floor_decal/corner/paleblue{dir = 10},/obj/machinery/camera/network/medbay{c_tag = "MED - Diagnostics Aft"; dir = 1},/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 2; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = -21},/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"bIf" = (/obj/effect/floor_decal/corner/paleblue{dir = 10},/obj/machinery/camera/network/medbay{c_tag = "MED - Diagnostics Aft"; dir = 1},/obj/item/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 2; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = -21},/turf/simulated/floor/tiled/white,/area/medical/sleeper) "bIg" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/effect/floor_decal/corner/paleblue{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/sleeper) "bIh" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/corner/paleblue{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/sleeper) "bIi" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/corner/paleblue{dir = 10},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/tiled/white,/area/medical/sleeper) @@ -4495,22 +4495,22 @@ "bIw" = (/obj/structure/morgue{icon_state = "morgue1"; dir = 8},/obj/effect/floor_decal/corner/paleblue/full{dir = 4},/turf/simulated/floor/tiled,/area/medical/morgue) "bIx" = (/obj/machinery/door/airlock/medical{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "virology_airlock_exterior"; locked = 1; name = "Virology Exterior Airlock"; req_access = list(39)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "virology_airlock_control"; name = "Virology Access Button"; pixel_x = -24; pixel_y = 0; req_access = list(39)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/black,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/medical/virology) "bIy" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/wall/r_wall,/area/medical/virology) -"bIz" = (/obj/structure/table/rack,/obj/item/weapon/extinguisher,/obj/item/weapon/storage/belt/utility,/obj/item/clothing/mask/gas,/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/obj/random/maintenance/research,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/research) -"bIA" = (/obj/structure/table/standard,/obj/structure/table/standard,/obj/item/stack/cable_coil,/obj/item/device/multitool,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/machinery/sparker{id = "Xenobio"; pixel_x = -25},/turf/simulated/floor/reinforced,/area/rnd/misc_lab) +"bIz" = (/obj/structure/table/rack,/obj/item/extinguisher,/obj/item/storage/belt/utility,/obj/item/clothing/mask/gas,/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/obj/random/maintenance/research,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/research) +"bIA" = (/obj/structure/table/standard,/obj/structure/table/standard,/obj/item/stack/cable_coil,/obj/item/multitool,/obj/machinery/cell_charger,/obj/item/cell/high{charge = 100; maxcharge = 15000},/obj/item/cell/high{charge = 100; maxcharge = 15000},/obj/machinery/sparker{id = "Xenobio"; pixel_x = -25},/turf/simulated/floor/reinforced,/area/rnd/misc_lab) "bIB" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 5},/turf/simulated/floor/reinforced,/area/rnd/misc_lab) "bIC" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 8; frequency = 1441; icon_state = "map_injector"; id = "n2_in"; use_power = 1},/turf/simulated/floor/reinforced,/area/rnd/misc_lab) "bID" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/rnd/research) "bIE" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/rnd/research) "bIF" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/rnd/research) "bIG" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced/polarized{dir = 8},/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 4},/turf/simulated/floor/plating,/area/rnd/rdoffice) -"bIH" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/purple{dir = 9},/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/device/megaphone,/obj/item/weapon/paper/monitorkey,/obj/item/weapon/pen/multi,/turf/simulated/floor/tiled/white,/area/rnd/rdoffice) -"bII" = (/obj/structure/table/standard,/obj/item/weapon/stamp/rd{pixel_x = 3; pixel_y = -2},/obj/item/weapon/reagent_containers/food/drinks/jar,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/item/weapon/folder/white_rd,/turf/simulated/floor/tiled/white,/area/rnd/rdoffice) +"bIH" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/purple{dir = 9},/obj/item/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/megaphone,/obj/item/paper/monitorkey,/obj/item/pen/multi,/turf/simulated/floor/tiled/white,/area/rnd/rdoffice) +"bII" = (/obj/structure/table/standard,/obj/item/stamp/rd{pixel_x = 3; pixel_y = -2},/obj/item/reagent_containers/food/drinks/jar,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/item/folder/white_rd,/turf/simulated/floor/tiled/white,/area/rnd/rdoffice) "bIJ" = (/obj/structure/table/standard,/obj/machinery/computer/skills,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/rnd/rdoffice) "bIK" = (/obj/effect/floor_decal/corner/purple{dir = 6},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{pixel_x = 36; pixel_y = 0},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled/white,/area/rnd/rdoffice) "bIL" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table/standard,/obj/machinery/computer/med_data/laptop,/turf/simulated/floor/tiled/white,/area/assembly/robotics) "bIM" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/assembly/robotics) "bIN" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"bIO" = (/obj/structure/closet{name = "robotics parts"},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5},/obj/item/weapon/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/weapon/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/weapon/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/device/healthanalyzer,/obj/item/device/healthanalyzer,/obj/item/device/healthanalyzer,/obj/effect/floor_decal/corner/pink{dir = 6},/obj/item/device/flash/synthetic,/obj/item/device/flash/synthetic,/obj/item/device/flash/synthetic,/obj/item/device/flash/synthetic,/obj/item/device/flash/synthetic,/obj/item/device/flash/synthetic,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil,/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"bIO" = (/obj/structure/closet{name = "robotics parts"},/obj/item/cell/high{charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5},/obj/item/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/cell/high{charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5},/obj/item/cell/high{charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5},/obj/item/cell/high{charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5},/obj/item/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/healthanalyzer,/obj/item/healthanalyzer,/obj/item/healthanalyzer,/obj/effect/floor_decal/corner/pink{dir = 6},/obj/item/flash/synthetic,/obj/item/flash/synthetic,/obj/item/flash/synthetic,/obj/item/flash/synthetic,/obj/item/flash/synthetic,/obj/item/flash/synthetic,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil,/turf/simulated/floor/tiled/white,/area/assembly/robotics) "bIP" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor/plating,/area/assembly/robotics) "bIQ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/hallway/primary/central_four) "bIR" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/hallway/primary/central_four) @@ -4528,7 +4528,7 @@ "bJd" = (/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Command"},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor,/area/maintenance/substation/command) "bJe" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/central) "bJf" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/maintenance/central) -"bJg" = (/obj/effect/floor_decal/corner/lime{dir = 9},/obj/structure/reagent_dispensers/watertank,/obj/item/weapon/reagent_containers/glass/bucket,/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/hydroponics) +"bJg" = (/obj/effect/floor_decal/corner/lime{dir = 9},/obj/structure/reagent_dispensers/watertank,/obj/item/reagent_containers/glass/bucket,/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/hydroponics) "bJh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/hydroponics) "bJi" = (/obj/effect/floor_decal/corner/lime{dir = 6},/turf/simulated/floor/tiled,/area/hydroponics) "bJj" = (/obj/machinery/door/airlock/glass{name = "Hydroponics"; req_access = list(28)},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled/white,/area/hydroponics) @@ -4542,8 +4542,8 @@ "bJr" = (/obj/effect/floor_decal/corner/paleblue{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/reception) "bJs" = (/obj/effect/floor_decal/corner/paleblue{dir = 10},/obj/machinery/camera/network/medbay{c_tag = "MED - Lobby Aft"; dir = 1},/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/medical/reception) "bJt" = (/obj/effect/floor_decal/corner/paleblue{dir = 10},/obj/machinery/newscaster{pixel_y = -30},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/reception) -"bJu" = (/obj/item/weapon/storage/box/cups{pixel_x = 0; pixel_y = 0},/obj/structure/table/standard,/obj/effect/floor_decal/corner/paleblue{dir = 10},/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 2; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = -21},/turf/simulated/floor/tiled/white,/area/medical/reception) -"bJv" = (/obj/structure/reagent_dispensers/water_cooler/full,/obj/effect/floor_decal/corner/paleblue{dir = 10},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled/white,/area/medical/reception) +"bJu" = (/obj/item/storage/box/cups{pixel_x = 0; pixel_y = 0},/obj/structure/table/standard,/obj/effect/floor_decal/corner/paleblue{dir = 10},/obj/item/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 2; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = -21},/turf/simulated/floor/tiled/white,/area/medical/reception) +"bJv" = (/obj/structure/reagent_dispensers/water_cooler/full,/obj/effect/floor_decal/corner/paleblue{dir = 10},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled/white,/area/medical/reception) "bJw" = (/turf/simulated/wall,/area/medical/medbay_emt_bay) "bJx" = (/obj/machinery/door/airlock/multi_tile/glass{id_tag = "MedbayFoyerPort"; req_access = list(5)},/obj/machinery/door/firedoor/glass,/obj/effect/floor_decal/corner/pink{dir = 9},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) "bJy" = (/obj/machinery/door/firedoor/glass,/obj/effect/floor_decal/corner/pink{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) @@ -4570,21 +4570,21 @@ "bJT" = (/turf/simulated/wall/r_wall,/area/quartermaster/miningdock) "bJU" = (/obj/structure/lattice,/obj/machinery/light{dir = 8},/turf/simulated/mineral/floor/ignore_mapgen,/area/quartermaster/miningdock) "bJV" = (/obj/structure/lattice,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/mineral/floor/ignore_mapgen,/area/quartermaster/miningdock) -"bJW" = (/obj/structure/table/rack,/obj/item/weapon/extinguisher,/obj/item/weapon/storage/belt/utility,/obj/item/clothing/mask/gas,/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/mob/living/simple_mob/animal/passive/mouse,/turf/simulated/floor/plating,/area/maintenance/research) -"bJX" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/oxygen,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/extinguisher,/obj/random/maintenance/research,/obj/random/maintenance/research,/turf/simulated/floor/plating,/area/maintenance/research) -"bJY" = (/obj/structure/table/standard,/obj/item/device/assembly/igniter,/turf/simulated/floor/reinforced,/area/rnd/misc_lab) +"bJW" = (/obj/structure/table/rack,/obj/item/extinguisher,/obj/item/storage/belt/utility,/obj/item/clothing/mask/gas,/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/mob/living/simple_mob/animal/passive/mouse,/turf/simulated/floor/plating,/area/maintenance/research) +"bJX" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/tank/oxygen,/obj/item/tank/oxygen,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/flashlight,/obj/item/flashlight,/obj/item/storage/box/lights/mixed,/obj/item/extinguisher,/obj/random/maintenance/research,/obj/random/maintenance/research,/turf/simulated/floor/plating,/area/maintenance/research) +"bJY" = (/obj/structure/table/standard,/obj/item/assembly/igniter,/turf/simulated/floor/reinforced,/area/rnd/misc_lab) "bJZ" = (/obj/structure/reagent_dispensers/watertank,/obj/machinery/light,/turf/simulated/floor/reinforced,/area/rnd/misc_lab) "bKa" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/reinforced,/area/rnd/misc_lab) -"bKb" = (/obj/item/device/radio/intercom{layer = 4; name = "Station Intercom (General)"; pixel_y = -27},/obj/machinery/camera/network/research{c_tag = "Research - Miscellaneous Test Chamber"; dir = 1; network = list("Research","Miscellaneous Reseach")},/turf/simulated/floor/reinforced,/area/rnd/misc_lab) +"bKb" = (/obj/item/radio/intercom{layer = 4; name = "Station Intercom (General)"; pixel_y = -27},/obj/machinery/camera/network/research{c_tag = "Research - Miscellaneous Test Chamber"; dir = 1; network = list("Research","Miscellaneous Reseach")},/turf/simulated/floor/reinforced,/area/rnd/misc_lab) "bKc" = (/obj/machinery/light,/turf/simulated/floor/reinforced,/area/rnd/misc_lab) "bKd" = (/obj/effect/floor_decal/corner/purple{dir = 9},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/rnd/research) "bKe" = (/obj/machinery/computer/security/telescreen{desc = "Used for watching the RD's goons from the safety of his office."; name = "Research Monitor"; network = list("Research","Toxins Test Area","Robots","Anomaly Isolation","Research Outpost"); pixel_x = -32; pixel_y = -4},/obj/structure/table/standard,/obj/machinery/photocopier/faxmachine{department = "Research Director's Office"},/obj/effect/floor_decal/corner/purple{dir = 9},/turf/simulated/floor/tiled/white,/area/rnd/rdoffice) "bKf" = (/obj/structure/bed/chair/office/light{dir = 1},/obj/effect/landmark/start{name = "Research Director"},/obj/machinery/button/remote/blast_door{id = "Biohazard"; name = "Biohazard Shutter Control"; pixel_x = -38; pixel_y = 13; req_access = list(47)},/obj/machinery/button/remote/airlock{desc = "A remote control-switch for the cargo doors."; id = "researchdoor"; name = "Research door control"; pixel_x = -27; pixel_y = 13; req_access = list(30)},/obj/machinery/button/windowtint{pixel_x = -26; pixel_y = 21},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/rnd/rdoffice) "bKg" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled/white,/area/rnd/rdoffice) "bKh" = (/obj/effect/floor_decal/corner/purple{dir = 6},/turf/simulated/floor/tiled/white,/area/rnd/rdoffice) -"bKi" = (/obj/structure/table/standard,/obj/item/weapon/cartridge/signal/science,/obj/item/weapon/cartridge/signal/science{pixel_x = -4; pixel_y = 2},/obj/item/weapon/cartridge/signal/science{pixel_x = 4; pixel_y = 6},/obj/item/clothing/glasses/welding/superior,/obj/machinery/requests_console{announcementConsole = 1; department = "Research Director's Desk"; departmentType = 5; name = "Research Director RC"; pixel_x = 30; pixel_y = -2},/turf/simulated/floor/tiled/dark,/area/rnd/rdoffice) -"bKj" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/item/weapon/pen/red,/obj/item/weapon/pen/blue,/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"bKk" = (/obj/structure/disposalpipe/segment,/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"bKi" = (/obj/structure/table/standard,/obj/item/cartridge/signal/science,/obj/item/cartridge/signal/science{pixel_x = -4; pixel_y = 2},/obj/item/cartridge/signal/science{pixel_x = 4; pixel_y = 6},/obj/item/clothing/glasses/welding/superior,/obj/machinery/requests_console{announcementConsole = 1; department = "Research Director's Desk"; departmentType = 5; name = "Research Director RC"; pixel_x = 30; pixel_y = -2},/turf/simulated/floor/tiled/dark,/area/rnd/rdoffice) +"bKj" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table/standard,/obj/item/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/pen,/obj/item/pen/red,/obj/item/pen/blue,/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"bKk" = (/obj/structure/disposalpipe/segment,/obj/item/stool/padded,/turf/simulated/floor/tiled/white,/area/assembly/robotics) "bKl" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/white,/area/assembly/robotics) "bKm" = (/obj/effect/floor_decal/corner/pink{dir = 6},/obj/structure/closet{name = "welding equipment"},/obj/item/clothing/head/welding{pixel_x = -3; pixel_y = 5},/obj/item/clothing/head/welding{pixel_x = -3; pixel_y = 5},/obj/item/clothing/glasses/welding,/obj/item/clothing/glasses/welding,/turf/simulated/floor/tiled/white,/area/assembly/robotics) "bKn" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/central_four) @@ -4603,18 +4603,18 @@ "bKA" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/maintenance/substation/command) "bKB" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/sensor{name = "Powernet Sensor - Command Subgrid"; name_tag = "Command Subgrid"},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/machinery/light/small,/turf/simulated/floor,/area/maintenance/substation/command) "bKC" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor,/area/maintenance/substation/command) -"bKD" = (/obj/effect/floor_decal/corner/lime{dir = 9},/obj/item/weapon/stool/padded,/obj/effect/landmark/start{name = "Gardener"},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/hydroponics) +"bKD" = (/obj/effect/floor_decal/corner/lime{dir = 9},/obj/item/stool/padded,/obj/effect/landmark/start{name = "Gardener"},/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/hydroponics) "bKE" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled,/area/hydroponics) "bKF" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/hydroponics) "bKG" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hydroponics) "bKH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/hydroponics) "bKI" = (/obj/effect/floor_decal/corner/lime{dir = 6},/obj/machinery/biogenerator,/turf/simulated/floor/tiled,/area/hydroponics) "bKJ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hydroponics) -"bKK" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/table/marble,/obj/item/weapon/book/manual/chef_recipes,/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{pixel_x = -3; pixel_y = 0},/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{pixel_x = 3},/obj/machinery/camera/network/civilian{c_tag = "CIV - Kitchen Port"; dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"bKK" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/table/marble,/obj/item/book/manual/chef_recipes,/obj/item/reagent_containers/food/condiment/small/saltshaker{pixel_x = -3; pixel_y = 0},/obj/item/reagent_containers/food/condiment/small/peppermill{pixel_x = 3},/obj/machinery/camera/network/civilian{c_tag = "CIV - Kitchen Port"; dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "bKL" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = 28},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "bKM" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/appliance/cooker/fryer,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "bKN" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/appliance/cooker/grill,/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"bKO" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/closet/secure_closet/freezer/fridge,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"bKO" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/closet/secure_closet/freezer/fridge,/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "bKP" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "bKQ" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/sink/kitchen{pixel_y = 28},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "bKR" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/appliance/cooker/oven,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) @@ -4635,7 +4635,7 @@ "bLg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/wood,/area/medical/psych) "bLh" = (/obj/structure/bookcase,/turf/simulated/floor/wood,/area/medical/psych) "bLi" = (/obj/effect/floor_decal/corner/pink/full{dir = 8},/obj/machinery/iv_drip,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = -25; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/patient_a) -"bLj" = (/obj/effect/floor_decal/corner/pink{dir = 5},/obj/structure/bed/padded,/obj/item/weapon/bedsheet/medical,/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor/tiled/white,/area/medical/patient_a) +"bLj" = (/obj/effect/floor_decal/corner/pink{dir = 5},/obj/structure/bed/padded,/obj/item/bedsheet/medical,/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor/tiled/white,/area/medical/patient_a) "bLk" = (/obj/effect/floor_decal/corner/pink{dir = 5},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = 36},/obj/machinery/button/windowtint{id = "pr1_window_tint"; pixel_y = 26},/turf/simulated/floor/tiled/white,/area/medical/patient_a) "bLl" = (/obj/structure/window/reinforced/polarized{dir = 1; id = "pr1_window_tint"},/obj/structure/grille,/obj/machinery/door/firedoor,/obj/structure/window/reinforced/polarized{dir = 2; id = "pr1_window_tint"},/obj/structure/window/reinforced/polarized{dir = 4; id = "pr1_window_tint"},/obj/structure/window/reinforced/polarized{dir = 8; id = "pr1_window_tint"},/turf/simulated/floor,/area/medical/patient_a) "bLm" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/medical/patient_wing) @@ -4643,7 +4643,7 @@ "bLo" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/patient_wing) "bLp" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/white,/area/medical/patient_wing) "bLq" = (/obj/structure/bed/chair/comfy/teal{dir = 4},/obj/effect/floor_decal/corner/paleblue{dir = 4},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) -"bLr" = (/obj/structure/table/glass,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/effect/floor_decal/corner/paleblue{dir = 5},/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 1; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = 21},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) +"bLr" = (/obj/structure/table/glass,/obj/item/reagent_containers/spray/cleaner,/obj/effect/floor_decal/corner/paleblue{dir = 5},/obj/item/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 1; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = 21},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) "bLs" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/structure/bed/chair/comfy/teal{dir = 8},/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) "bLt" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) "bLu" = (/obj/effect/floor_decal/corner/paleblue{dir = 5},/obj/machinery/alarm{pixel_y = 22},/obj/structure/table/glass,/obj/item/roller,/obj/item/roller{pixel_y = 8},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) @@ -4658,7 +4658,7 @@ "bLD" = (/obj/effect/floor_decal/corner/lime{dir = 6},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled,/area/medical/virologyaccess) "bLE" = (/obj/structure/sign/biohazard,/turf/simulated/wall/r_wall,/area/medical/virologyaccess) "bLF" = (/obj/effect/floor_decal/corner/paleblue{dir = 9},/turf/simulated/floor/tiled,/area/medical/virologyaccess) -"bLG" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/medical/virologyaccess) +"bLG" = (/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/medical/virologyaccess) "bLH" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/medical/virologyaccess) "bLI" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/tiled,/area/medical/virologyaccess) "bLJ" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled,/area/medical/virologyaccess) @@ -4669,7 +4669,7 @@ "bLO" = (/turf/simulated/shuttle/wall{hard_corner = 1},/area/shuttle/mining/station) "bLP" = (/turf/simulated/shuttle/wall,/area/shuttle/mining/station) "bLQ" = (/obj/structure/shuttle/window,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/mining/station) -"bLR" = (/obj/structure/closet/crate,/obj/item/device/multitool,/obj/item/device/multitool,/obj/item/device/assembly/prox_sensor,/obj/item/device/flashlight,/obj/item/weapon/storage/backpack,/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/research) +"bLR" = (/obj/structure/closet/crate,/obj/item/multitool,/obj/item/multitool,/obj/item/assembly/prox_sensor,/obj/item/flashlight,/obj/item/storage/backpack,/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/research) "bLS" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor,/area/maintenance/research) "bLT" = (/obj/effect/floor_decal/corner/purple/full{dir = 8},/obj/machinery/vending/cigarette,/turf/simulated/floor/tiled/white,/area/rnd/research) "bLU" = (/obj/effect/floor_decal/corner/purple{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/rnd/research) @@ -4677,34 +4677,34 @@ "bLW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/rnd/rdoffice) "bLX" = (/turf/simulated/floor/tiled/white,/area/rnd/rdoffice) "bLY" = (/turf/simulated/floor/tiled/dark,/area/rnd/rdoffice) -"bLZ" = (/obj/structure/reagent_dispensers/acid{density = 0; pixel_x = -32},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/camera/network/research{c_tag = "SCI - Robotics Port"; dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/table/standard,/obj/item/device/mmi,/obj/item/device/mmi,/obj/item/device/mmi,/obj/item/weapon/storage/box/bodybags{pixel_x = -1; pixel_y = -2},/turf/simulated/floor/tiled,/area/assembly/robotics) +"bLZ" = (/obj/structure/reagent_dispensers/acid{density = 0; pixel_x = -32},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/camera/network/research{c_tag = "SCI - Robotics Port"; dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/table/standard,/obj/item/mmi,/obj/item/mmi,/obj/item/mmi,/obj/item/storage/box/bodybags{pixel_x = -1; pixel_y = -2},/turf/simulated/floor/tiled,/area/assembly/robotics) "bMa" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/assembly/robotics) "bMb" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/assembly/robotics) "bMc" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/mecha_part_fabricator,/turf/simulated/floor/tiled,/area/assembly/robotics) "bMd" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/mecha_part_fabricator/pros,/turf/simulated/floor/tiled,/area/assembly/robotics) -"bMe" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/table/standard,/obj/item/device/robotanalyzer,/obj/item/device/robotanalyzer,/obj/item/device/mmi/digital/robot,/turf/simulated/floor/tiled,/area/assembly/robotics) +"bMe" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/table/standard,/obj/item/robotanalyzer,/obj/item/robotanalyzer,/obj/item/mmi/digital/robot,/turf/simulated/floor/tiled,/area/assembly/robotics) "bMf" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/assembly/robotics) "bMg" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/assembly/robotics) -"bMh" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/toolbox/mechanical,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/effect/floor_decal/corner/pink{dir = 6},/obj/item/weapon/storage/toolbox/mechanical,/obj/item/device/multitool{pixel_x = 3},/obj/item/device/multitool{pixel_x = 3},/obj/item/weapon/tool/crowbar,/obj/item/weapon/tool/crowbar,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = 6},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = 6},/turf/simulated/floor/tiled,/area/assembly/robotics) +"bMh" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/storage/toolbox/mechanical,/obj/item/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/effect/floor_decal/corner/pink{dir = 6},/obj/item/storage/toolbox/mechanical,/obj/item/multitool{pixel_x = 3},/obj/item/multitool{pixel_x = 3},/obj/item/tool/crowbar,/obj/item/tool/crowbar,/obj/item/storage/belt/utility,/obj/item/storage/belt/utility,/obj/item/storage/toolbox/electrical{pixel_x = 1; pixel_y = 6},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/item/storage/toolbox/electrical{pixel_x = 1; pixel_y = 6},/turf/simulated/floor/tiled,/area/assembly/robotics) "bMi" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor/plating,/area/assembly/robotics) "bMj" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/central_four) "bMk" = (/obj/structure/closet/secure_closet/hop2,/obj/effect/floor_decal/corner/blue{dir = 9},/turf/simulated/floor/tiled,/area/crew_quarters/heads/hop) -"bMl" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/folder/blue,/obj/item/weapon/folder/red,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/item/weapon/pen/multi,/turf/simulated/floor/carpet,/area/crew_quarters/heads/hop) -"bMm" = (/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/obj/item/weapon/stamp/hop,/turf/simulated/floor/carpet,/area/crew_quarters/heads/hop) -"bMn" = (/obj/structure/table/reinforced,/obj/item/device/megaphone,/turf/simulated/floor/carpet,/area/crew_quarters/heads/hop) +"bMl" = (/obj/structure/table/reinforced,/obj/item/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/folder/blue,/obj/item/folder/red,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/item/pen/multi,/turf/simulated/floor/carpet,/area/crew_quarters/heads/hop) +"bMm" = (/obj/structure/table/reinforced,/obj/item/clipboard,/obj/item/stamp/hop,/turf/simulated/floor/carpet,/area/crew_quarters/heads/hop) +"bMn" = (/obj/structure/table/reinforced,/obj/item/megaphone,/turf/simulated/floor/carpet,/area/crew_quarters/heads/hop) "bMo" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/carpet,/area/crew_quarters/heads/hop) "bMp" = (/obj/effect/floor_decal/corner/blue,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled,/area/crew_quarters/heads/hop) "bMq" = (/obj/effect/floor_decal/corner/blue{dir = 8},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/bridge_hallway) "bMr" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/bridge_hallway) "bMs" = (/obj/effect/floor_decal/corner/blue,/obj/structure/reagent_dispensers/water_cooler/full,/turf/simulated/floor/tiled,/area/bridge_hallway) "bMt" = (/turf/simulated/wall/r_wall,/area/crew_quarters/captain) -"bMu" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/effect/floor_decal/corner/lime/full,/obj/item/weapon/material/knife/machete/hatchet,/obj/item/weapon/material/minihoe,/obj/item/weapon/material/minihoe,/obj/item/weapon/material/knife/machete/hatchet,/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -32},/turf/simulated/floor/tiled,/area/hydroponics) -"bMv" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/effect/floor_decal/corner/lime{dir = 10},/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/reagent_containers/glass/bucket,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -26},/turf/simulated/floor/tiled,/area/hydroponics) +"bMu" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/effect/floor_decal/corner/lime/full,/obj/item/material/knife/machete/hatchet,/obj/item/material/minihoe,/obj/item/material/minihoe,/obj/item/material/knife/machete/hatchet,/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -32},/turf/simulated/floor/tiled,/area/hydroponics) +"bMv" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/effect/floor_decal/corner/lime{dir = 10},/obj/item/reagent_containers/glass/bucket,/obj/item/reagent_containers/glass/bucket,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -26},/turf/simulated/floor/tiled,/area/hydroponics) "bMw" = (/obj/machinery/smartfridge/drying_rack,/obj/effect/floor_decal/corner/lime{dir = 10},/turf/simulated/floor/tiled,/area/hydroponics) "bMx" = (/obj/machinery/honey_extractor,/obj/effect/floor_decal/corner/lime{dir = 10},/obj/machinery/camera/network/civilian{c_tag = "CIV - Hydroponics"; dir = 1},/turf/simulated/floor/tiled,/area/hydroponics) "bMy" = (/obj/machinery/seed_storage/garden,/obj/effect/floor_decal/corner/lime{dir = 10},/turf/simulated/floor/tiled,/area/hydroponics) "bMz" = (/obj/machinery/vending/hydronutrients,/obj/effect/floor_decal/corner/lime{dir = 10},/turf/simulated/floor/tiled,/area/hydroponics) -"bMA" = (/obj/effect/floor_decal/corner/lime{dir = 8},/obj/item/weapon/stool/padded,/obj/effect/landmark/start{name = "Gardener"},/turf/simulated/floor/tiled,/area/hydroponics) +"bMA" = (/obj/effect/floor_decal/corner/lime{dir = 8},/obj/item/stool/padded,/obj/effect/landmark/start{name = "Gardener"},/turf/simulated/floor/tiled,/area/hydroponics) "bMB" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/hydroponics) "bMC" = (/obj/effect/floor_decal/corner/lime{dir = 6},/obj/machinery/seed_extractor,/turf/simulated/floor/tiled,/area/hydroponics) "bMD" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hydroponics) @@ -4718,15 +4718,15 @@ "bML" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "bMM" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/appliance/mixer/candy,/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "bMN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/crew_quarters/kitchen) -"bMO" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/hallway/primary/central_two) +"bMO" = (/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/hallway/primary/central_two) "bMP" = (/obj/structure/extinguisher_cabinet{pixel_x = 25},/turf/simulated/floor/tiled,/area/hallway/primary/central_two) "bMQ" = (/obj/structure/table/reinforced,/obj/machinery/reagentgrinder,/obj/structure/extinguisher_cabinet{pixel_x = -27},/obj/effect/floor_decal/corner/beige/full{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/chemistry) "bMR" = (/turf/simulated/floor/tiled/white,/area/medical/chemistry) "bMS" = (/obj/effect/floor_decal/corner/beige{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/chemistry) "bMT" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/corner/beige{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/chemistry) "bMU" = (/obj/effect/floor_decal/corner/beige{dir = 5},/obj/structure/sink{dir = 2; icon_state = "sink"; pixel_x = 0; pixel_y = 26},/turf/simulated/floor/tiled/white,/area/medical/chemistry) -"bMV" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/tool/screwdriver,/obj/effect/floor_decal/corner/beige{dir = 5},/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 1; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = 21},/turf/simulated/floor/tiled/white,/area/medical/chemistry) -"bMW" = (/obj/machinery/button/remote/blast_door{id = "chemwindow"; name = "Pharmacy Windows Shutter Control"; pixel_x = 0; pixel_y = 24; pixel_z = 0},/obj/machinery/light_switch{pixel_x = 12; pixel_y = 25},/obj/effect/floor_decal/corner/beige{dir = 5},/obj/structure/table/reinforced,/obj/item/weapon/packageWrap,/obj/item/weapon/hand_labeler,/obj/item/weapon/reagent_containers/spray/cleaner{desc = "Someone has crossed out the 'Space' from Space Cleaner and written in Chemistry. Scrawled on the back is, 'Okay, whoever filled this with polytrinic acid, it was only funny the first time. It was hard enough replacing the CMO's first cat!'"; name = "Chemistry Cleaner"},/turf/simulated/floor/tiled/white,/area/medical/chemistry) +"bMV" = (/obj/structure/table/reinforced,/obj/item/storage/box/syringes,/obj/item/tool/screwdriver,/obj/effect/floor_decal/corner/beige{dir = 5},/obj/item/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 1; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = 21},/turf/simulated/floor/tiled/white,/area/medical/chemistry) +"bMW" = (/obj/machinery/button/remote/blast_door{id = "chemwindow"; name = "Pharmacy Windows Shutter Control"; pixel_x = 0; pixel_y = 24; pixel_z = 0},/obj/machinery/light_switch{pixel_x = 12; pixel_y = 25},/obj/effect/floor_decal/corner/beige{dir = 5},/obj/structure/table/reinforced,/obj/item/packageWrap,/obj/item/hand_labeler,/obj/item/reagent_containers/spray/cleaner{desc = "Someone has crossed out the 'Space' from Space Cleaner and written in Chemistry. Scrawled on the back is, 'Okay, whoever filled this with polytrinic acid, it was only funny the first time. It was hard enough replacing the CMO's first cat!'"; name = "Chemistry Cleaner"},/turf/simulated/floor/tiled/white,/area/medical/chemistry) "bMX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/medical/chemistry) "bMY" = (/obj/effect/floor_decal/corner/pink{dir = 10},/obj/structure/closet/secure_closet/paramedic,/obj/random/medical,/obj/random/medical,/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) "bMZ" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled/steel,/area/medical/medbay_emt_bay) @@ -4795,28 +4795,28 @@ "bOk" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/assembly/robotics) "bOl" = (/obj/structure/reagent_dispensers/fueltank,/obj/effect/floor_decal/corner/pink{dir = 6},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled,/area/assembly/robotics) "bOm" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/hallway/primary/central_four) -"bOn" = (/obj/effect/floor_decal/corner/blue{dir = 1},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/crew_quarters/heads/hop) +"bOn" = (/obj/effect/floor_decal/corner/blue{dir = 1},/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/crew_quarters/heads/hop) "bOo" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/carpet,/area/crew_quarters/heads/hop) "bOp" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor/carpet,/area/crew_quarters/heads/hop) "bOq" = (/obj/effect/floor_decal/corner/blue{dir = 6},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/tiled,/area/crew_quarters/heads/hop) "bOr" = (/obj/effect/floor_decal/corner/blue{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/bridge_hallway) "bOs" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/bridge_hallway) "bOt" = (/obj/effect/floor_decal/corner/blue{dir = 6},/obj/machinery/vending/cola,/turf/simulated/floor/tiled,/area/bridge_hallway) -"bOu" = (/obj/structure/table/woodentable,/obj/item/device/camera,/obj/item/weapon/storage/photo_album{pixel_y = -10},/turf/simulated/floor/carpet,/area/crew_quarters/captain) -"bOv" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green,/obj/machinery/alarm{pixel_y = 23},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/carpet,/area/crew_quarters/captain) -"bOw" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/captain,/obj/machinery/light{dir = 1},/turf/simulated/floor/carpet,/area/crew_quarters/captain) -"bOx" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/structure/closet/wardrobe/captain,/turf/simulated/floor/carpet,/area/crew_quarters/captain) -"bOy" = (/obj/item/weapon/soap/deluxe,/obj/item/weapon/bikehorn/rubberducky,/obj/machinery/shower{pixel_y = 2},/obj/machinery/door/window/southright{name = "Shower"},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/captain) +"bOu" = (/obj/structure/table/woodentable,/obj/item/camera,/obj/item/storage/photo_album{pixel_y = -10},/turf/simulated/floor/carpet,/area/crew_quarters/captain) +"bOv" = (/obj/structure/table/woodentable,/obj/item/flashlight/lamp/green,/obj/machinery/alarm{pixel_y = 23},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/carpet,/area/crew_quarters/captain) +"bOw" = (/obj/structure/bed/padded,/obj/item/bedsheet/captain,/obj/machinery/light{dir = 1},/turf/simulated/floor/carpet,/area/crew_quarters/captain) +"bOx" = (/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/structure/closet/wardrobe/captain,/turf/simulated/floor/carpet,/area/crew_quarters/captain) +"bOy" = (/obj/item/soap/deluxe,/obj/item/bikehorn/rubberducky,/obj/machinery/shower{pixel_y = 2},/obj/machinery/door/window/southright{name = "Shower"},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/captain) "bOz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hydroponics) "bOA" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Hydroponics"; req_access = newlist(); req_one_access = list(35,28)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/hydroponics) "bOB" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hydroponics) "bOC" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hydroponics) "bOD" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "bOE" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/icecream_vat,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"bOF" = (/obj/structure/table/marble,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/item/weapon/reagent_containers/food/snacks/mint,/obj/item/weapon/reagent_containers/food/condiment/enzyme{layer = 5},/obj/item/weapon/packageWrap,/obj/item/weapon/reagent_containers/dropper,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"bOF" = (/obj/structure/table/marble,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/item/reagent_containers/food/snacks/mint,/obj/item/reagent_containers/food/condiment/enzyme{layer = 5},/obj/item/packageWrap,/obj/item/reagent_containers/dropper,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "bOG" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/table/marble,/obj/machinery/chemical_dispenser/bar_soft/full,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"bOH" = (/obj/structure/table/marble,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/reagent_containers/glass/beaker{pixel_x = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"bOI" = (/obj/structure/table/marble,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/item/weapon/material/knife/butch,/obj/item/weapon/material/kitchen/rollingpin,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"bOH" = (/obj/structure/table/marble,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/reagent_containers/glass/beaker{pixel_x = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"bOI" = (/obj/structure/table/marble,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/item/material/knife/butch,/obj/item/material/kitchen/rollingpin,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "bOJ" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/appliance/mixer/cereal,/obj/machinery/camera/network/civilian{c_tag = "CIV - Kitchen Starboard"; dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "bOK" = (/obj/item/stack/material/phoron,/obj/item/stack/material/phoron,/obj/item/stack/material/phoron,/obj/item/stack/material/phoron,/obj/item/stack/material/phoron,/obj/structure/table/reinforced,/obj/machinery/button/remote/blast_door{id = "chemcounter"; name = "Pharmacy Counter Lockdown Control"; pixel_y = 14},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/effect/floor_decal/corner/beige{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/chemistry) "bOL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/chemistry) @@ -4834,10 +4834,10 @@ "bOX" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/structure/fireaxecabinet{pixel_x = 32; pixel_y = 0},/turf/simulated/floor/tiled/steel,/area/medical/medbay_emt_bay) "bOY" = (/obj/structure/bed/psych,/turf/simulated/floor/carpet/blue,/area/medical/psych) "bOZ" = (/turf/simulated/floor/carpet/blue,/area/medical/psych) -"bPa" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green,/turf/simulated/floor/carpet/blue,/area/medical/psych) -"bPb" = (/obj/structure/table/woodentable,/obj/machinery/computer/med_data/laptop,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/carpet/blue,/area/medical/psych) -"bPc" = (/obj/effect/floor_decal/corner/pink/full,/obj/machinery/computer/med_data/laptop,/obj/structure/table/glass,/obj/machinery/light,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/white,/area/medical/patient_a) -"bPd" = (/obj/effect/floor_decal/corner/pink{dir = 10},/obj/structure/table/glass,/obj/item/weapon/paper_bin,/obj/item/weapon/clipboard,/obj/item/weapon/pen,/turf/simulated/floor/tiled/white,/area/medical/patient_a) +"bPa" = (/obj/structure/table/woodentable,/obj/item/flashlight/lamp/green,/turf/simulated/floor/carpet/blue,/area/medical/psych) +"bPb" = (/obj/structure/table/woodentable,/obj/machinery/computer/med_data/laptop,/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/carpet/blue,/area/medical/psych) +"bPc" = (/obj/effect/floor_decal/corner/pink/full,/obj/machinery/computer/med_data/laptop,/obj/structure/table/glass,/obj/machinery/light,/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/white,/area/medical/patient_a) +"bPd" = (/obj/effect/floor_decal/corner/pink{dir = 10},/obj/structure/table/glass,/obj/item/paper_bin,/obj/item/clipboard,/obj/item/pen,/turf/simulated/floor/tiled/white,/area/medical/patient_a) "bPe" = (/obj/effect/floor_decal/corner/pink{dir = 10},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/closet/secure_closet/personal/patient,/turf/simulated/floor/tiled/white,/area/medical/patient_a) "bPf" = (/obj/effect/floor_decal/corner/pink{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) "bPg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/corner/pink,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) @@ -4855,7 +4855,7 @@ "bPs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/medical/virologyaccess) "bPt" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = -32},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/camera/network/medbay{c_tag = "MED - Virology Access"; dir = 1},/turf/simulated/floor/tiled,/area/medical/virologyaccess) "bPu" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/corner/lime{dir = 6},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled,/area/medical/virologyaccess) -"bPv" = (/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 2; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = -21},/turf/simulated/floor/tiled,/area/medical/virologyaccess) +"bPv" = (/obj/item/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 2; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = -21},/turf/simulated/floor/tiled,/area/medical/virologyaccess) "bPw" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green,/turf/simulated/floor/tiled,/area/medical/virologyaccess) "bPx" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/camera/network/medbay{c_tag = "MED - Virology Access Hallway"; dir = 1},/obj/machinery/alarm{dir = 1; pixel_y = -25},/turf/simulated/floor/tiled,/area/medical/virologyaccess) "bPy" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/medical/virologyaccess) @@ -4887,9 +4887,9 @@ "bPY" = (/obj/machinery/computer/robotics,/obj/effect/floor_decal/corner/purple{dir = 10},/turf/simulated/floor/tiled/white,/area/rnd/rdoffice) "bPZ" = (/obj/machinery/computer/mecha,/obj/effect/floor_decal/corner/purple{dir = 10},/obj/machinery/ai_status_display{pixel_y = -32},/obj/machinery/camera/network/research{c_tag = "SCI - RD's Office"; dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/rdoffice) "bQa" = (/obj/effect/floor_decal/corner/purple/full{dir = 4},/obj/machinery/alarm{dir = 1; pixel_y = -22},/mob/living/simple_mob/slime/xenobio/rainbow/kendrick,/turf/simulated/floor/tiled/white,/area/rnd/rdoffice) -"bQb" = (/obj/structure/table/rack,/obj/item/weapon/rig/hazmat/equipped,/obj/structure/extinguisher_cabinet{pixel_x = 25; pixel_y = 0},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/tiled/dark,/area/rnd/rdoffice) +"bQb" = (/obj/structure/table/rack,/obj/item/rig/hazmat/equipped,/obj/structure/extinguisher_cabinet{pixel_x = 25; pixel_y = 0},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/tiled/dark,/area/rnd/rdoffice) "bQc" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor/tiled,/area/assembly/robotics) -"bQd" = (/obj/structure/table/standard,/obj/machinery/cell_charger,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/corner/pink{dir = 4},/turf/simulated/floor/tiled,/area/assembly/robotics) +"bQd" = (/obj/structure/table/standard,/obj/machinery/cell_charger,/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/corner/pink{dir = 4},/turf/simulated/floor/tiled,/area/assembly/robotics) "bQe" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/hallway/primary/central_four) "bQf" = (/obj/effect/floor_decal/industrial/loading{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/central_four) "bQg" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/central_four) @@ -4903,7 +4903,7 @@ "bQo" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/effect/floor_decal/corner/blue{dir = 6},/turf/simulated/floor/tiled,/area/crew_quarters/heads/hop) "bQp" = (/obj/effect/floor_decal/corner/blue{dir = 9},/obj/structure/extinguisher_cabinet{pixel_x = -27},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/camera/network/command{c_tag = "COM - Bridge Hallway"; dir = 4},/turf/simulated/floor/tiled,/area/bridge_hallway) "bQq" = (/obj/effect/floor_decal/corner/blue{dir = 6},/obj/machinery/vending/snack,/turf/simulated/floor/tiled,/area/bridge_hallway) -"bQr" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/box/matches,/obj/item/clothing/mask/smokable/cigarette/cigar,/obj/item/weapon/reagent_containers/food/drinks/flask{pixel_x = 8},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/carpet,/area/crew_quarters/captain) +"bQr" = (/obj/structure/table/woodentable,/obj/item/storage/box/matches,/obj/item/clothing/mask/smokable/cigarette/cigar,/obj/item/reagent_containers/food/drinks/flask{pixel_x = 8},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/carpet,/area/crew_quarters/captain) "bQs" = (/obj/structure/bed/chair/comfy/brown{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet,/area/crew_quarters/captain) "bQt" = (/turf/simulated/floor/carpet,/area/crew_quarters/captain) "bQu" = (/obj/machinery/door/airlock{name = "Private Restroom"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/captain) @@ -4911,9 +4911,9 @@ "bQw" = (/obj/structure/toilet{dir = 8},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/captain) "bQx" = (/obj/machinery/navbeacon/delivery/east{location = "Bar"},/obj/structure/plasticflaps{opacity = 1},/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/industrial/loading{icon_state = "loadingarea"; dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/bar) "bQy" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/window/southleft,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/bar) -"bQz" = (/obj/structure/closet/secure_closet/bar{req_access = list(25)},/obj/item/weapon/storage/secure/safe{pixel_z = 30},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/wood,/area/crew_quarters/bar) +"bQz" = (/obj/structure/closet/secure_closet/bar{req_access = list(25)},/obj/item/storage/secure/safe{pixel_z = 30},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/wood,/area/crew_quarters/bar) "bQA" = (/obj/structure/reagent_dispensers/beerkeg,/obj/machinery/camera/network/civilian{c_tag = "CIV - Bar Storage"; dir = 2},/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"bQB" = (/obj/structure/closet/gmcloset{name = "formal wardrobe"},/obj/item/glass_jar,/obj/item/device/retail_scanner/civilian,/obj/item/device/retail_scanner/civilian,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"bQB" = (/obj/structure/closet/gmcloset{name = "formal wardrobe"},/obj/item/glass_jar,/obj/item/retail_scanner/civilian,/obj/item/retail_scanner/civilian,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/wood,/area/crew_quarters/bar) "bQC" = (/turf/simulated/wall,/area/crew_quarters/bar) "bQD" = (/obj/machinery/computer/arcade,/turf/simulated/floor/wood,/area/crew_quarters/bar) "bQE" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/wood,/area/crew_quarters/bar) @@ -4933,15 +4933,15 @@ "bQS" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/chemistry) "bQT" = (/obj/machinery/chem_master,/turf/simulated/floor/tiled/white,/area/medical/chemistry) "bQU" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/medical/chemistry) -"bQV" = (/obj/structure/closet/secure_closet/chemical,/obj/item/device/radio/headset/headset_med,/obj/effect/floor_decal/corner/beige,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/white,/area/medical/chemistry) +"bQV" = (/obj/structure/closet/secure_closet/chemical,/obj/item/radio/headset/headset_med,/obj/effect/floor_decal/corner/beige,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/white,/area/medical/chemistry) "bQW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/medical/chemistry) -"bQX" = (/obj/item/weapon/stool/padded,/obj/effect/landmark/start{name = "Paramedic"},/obj/effect/floor_decal/corner/pink{dir = 5},/obj/machinery/camera/network/medbay{c_tag = "MED - EMT Bay"; dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) +"bQX" = (/obj/item/stool/padded,/obj/effect/landmark/start{name = "Paramedic"},/obj/effect/floor_decal/corner/pink{dir = 5},/obj/machinery/camera/network/medbay{c_tag = "MED - EMT Bay"; dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) "bQY" = (/obj/effect/floor_decal/corner/pink{dir = 9},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) "bQZ" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/corner/pink{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) "bRa" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) "bRb" = (/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) -"bRc" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/table/rack,/obj/machinery/door/window/westright{name = "EVA Suit Storage"; req_access = list(5)},/obj/item/device/suit_cooling_unit,/turf/simulated/floor/tiled/dark,/area/medical/medbay_emt_bay) -"bRd" = (/obj/structure/bed/chair/comfy/brown{dir = 1},/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 8; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = -21; pixel_y = 0},/turf/simulated/floor/carpet/blue,/area/medical/psych) +"bRc" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/table/rack,/obj/machinery/door/window/westright{name = "EVA Suit Storage"; req_access = list(5)},/obj/item/suit_cooling_unit,/turf/simulated/floor/tiled/dark,/area/medical/medbay_emt_bay) +"bRd" = (/obj/structure/bed/chair/comfy/brown{dir = 1},/obj/item/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 8; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = -21; pixel_y = 0},/turf/simulated/floor/carpet/blue,/area/medical/psych) "bRe" = (/obj/structure/table/woodentable,/turf/simulated/floor/carpet/blue,/area/medical/psych) "bRf" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/machinery/light_switch{pixel_x = -25; pixel_y = 8},/obj/machinery/button/windowtint{id = "psyco_tint"; pixel_x = -25},/obj/machinery/button/remote/airlock{desc = "A remote control-switch for the office door."; id = "mentaldoor"; name = "office door control"; pixel_x = -34; pixel_y = 7},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/landmark/start{name = "Psychiatrist"},/turf/simulated/floor/carpet/blue,/area/medical/psych) "bRg" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/floor_decal/corner/pink{dir = 9},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) @@ -4960,7 +4960,7 @@ "bRt" = (/obj/structure/ore_box,/obj/machinery/light{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor_yellow"},/area/shuttle/mining/station) "bRu" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "mining_shuttle"; pixel_x = 25; pixel_y = -8; req_one_access = list(13,48); tag_door = "mining_shuttle_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/mining/station) "bRv" = (/obj/structure/table/rack,/obj/item/clothing/mask/gas,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/research) -"bRw" = (/obj/effect/decal/cleanable/generic,/obj/item/weapon/material/shard{icon_state = "medium"},/turf/simulated/floor/plating,/area/maintenance/research) +"bRw" = (/obj/effect/decal/cleanable/generic,/obj/item/material/shard{icon_state = "medium"},/turf/simulated/floor/plating,/area/maintenance/research) "bRx" = (/turf/simulated/wall/r_wall,/area/rnd/xenobiology/xenoflora_storage) "bRy" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor/plating,/area/rnd/xenobiology/xenoflora_storage) "bRz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor/plating,/area/rnd/xenobiology/xenoflora_storage) @@ -4973,13 +4973,13 @@ "bRG" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/rnd/xenobiology/xenoflora) "bRH" = (/obj/effect/floor_decal/corner/white{dir = 5},/obj/machinery/door/airlock/glass_research{name = "Xenoflora Research"; req_access = list(55)},/obj/machinery/door/firedoor/glass,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/hydro,/area/rnd/xenobiology/xenoflora) "bRI" = (/obj/structure/sign/biohazard,/turf/simulated/wall/r_wall,/area/rnd/xenobiology/xenoflora) -"bRJ" = (/obj/structure/table/standard,/obj/item/weapon/surgical/circular_saw,/obj/item/weapon/surgical/scalpel{pixel_y = 12},/obj/item/weapon/surgical/hemostat,/obj/item/weapon/surgical/retractor,/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"bRJ" = (/obj/structure/table/standard,/obj/item/surgical/circular_saw,/obj/item/surgical/scalpel{pixel_y = 12},/obj/item/surgical/hemostat,/obj/item/surgical/retractor,/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/tiled/white,/area/assembly/robotics) "bRK" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/white,/area/assembly/robotics) "bRL" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"bRM" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/structure/table/standard,/obj/item/stack/cable_coil,/obj/item/weapon/weldingtool/hugetank,/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"bRM" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/structure/table/standard,/obj/item/stack/cable_coil,/obj/item/weldingtool/hugetank,/turf/simulated/floor/tiled/white,/area/assembly/robotics) "bRN" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled/white,/area/assembly/robotics) "bRO" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"bRP" = (/obj/structure/table/standard,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/camera/network/research{c_tag = "SCI - Robotics Starboard"; dir = 8},/obj/item/device/defib_kit/jumper_kit/loaded,/obj/item/device/defib_kit/jumper_kit/loaded,/turf/simulated/floor/tiled,/area/assembly/robotics) +"bRP" = (/obj/structure/table/standard,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/camera/network/research{c_tag = "SCI - Robotics Starboard"; dir = 8},/obj/item/defib_kit/jumper_kit/loaded,/obj/item/defib_kit/jumper_kit/loaded,/turf/simulated/floor/tiled,/area/assembly/robotics) "bRQ" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/hallway/primary/central_four) "bRR" = (/obj/machinery/door/airlock/command{name = "Head of Personnel"; req_access = list(57)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/wood,/area/crew_quarters/heads/hop) "bRS" = (/obj/effect/floor_decal/corner/blue{dir = 9},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/bridge_hallway) @@ -4997,7 +4997,7 @@ "bSe" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar) "bSf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/wood,/area/crew_quarters/bar) "bSg" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/sign/securearea{desc = "Under the painting a plaque reads: 'While the meat grinder may not have spared you, fear not. Not one part of you has gone to waste... You were delicious.'"; icon_state = "monkey_painting"; name = "Mr. Deempisi portrait"; pixel_x = 28; pixel_y = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"bSh" = (/obj/item/weapon/stool/padded,/obj/machinery/light{dir = 8},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"bSh" = (/obj/item/stool/padded,/obj/machinery/light{dir = 8},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/wood,/area/crew_quarters/bar) "bSi" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/wood,/area/crew_quarters/bar) "bSj" = (/obj/effect/floor_decal/spline/plain{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) "bSk" = (/obj/structure/flora/pottedplant{icon_state = "plant-01"},/turf/simulated/floor/tiled,/area/crew_quarters/cafeteria) @@ -5010,35 +5010,35 @@ "bSr" = (/obj/structure/table/glass,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/machinery/newscaster{pixel_x = 30},/turf/simulated/floor/tiled/dark,/area/hallway/primary/central_two) "bSs" = (/obj/machinery/chemical_dispenser/full,/obj/effect/floor_decal/corner/beige{dir = 9},/obj/structure/table/reinforced,/turf/simulated/floor/tiled/white,/area/medical/chemistry) "bSt" = (/obj/structure/bed/chair/office/dark,/obj/effect/landmark/start{name = "Chemist"},/turf/simulated/floor/tiled/white,/area/medical/chemistry) -"bSu" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/reagent_containers/dropper,/turf/simulated/floor/tiled/white,/area/medical/chemistry) +"bSu" = (/obj/structure/table/reinforced,/obj/item/storage/box/beakers,/obj/item/reagent_containers/dropper,/turf/simulated/floor/tiled/white,/area/medical/chemistry) "bSv" = (/obj/machinery/chemical_dispenser/full,/obj/structure/table/reinforced,/turf/simulated/floor/tiled/white,/area/medical/chemistry) -"bSw" = (/obj/structure/closet/secure_closet/medical1,/obj/item/weapon/storage/box/pillbottles,/obj/effect/floor_decal/corner/beige{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/chemistry) +"bSw" = (/obj/structure/closet/secure_closet/medical1,/obj/item/storage/box/pillbottles,/obj/effect/floor_decal/corner/beige{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/chemistry) "bSx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/medical/chemistry) -"bSy" = (/obj/structure/table/steel,/obj/item/device/multitool,/obj/machinery/light{dir = 8},/obj/item/weapon/deck/cards,/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) +"bSy" = (/obj/structure/table/steel,/obj/item/multitool,/obj/machinery/light{dir = 8},/obj/item/deck/cards,/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) "bSz" = (/obj/effect/floor_decal/corner/pink{dir = 9},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) "bSA" = (/obj/effect/floor_decal/corner/pink{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) "bSB" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) "bSC" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) -"bSD" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/table/rack,/obj/machinery/door/window/westleft{name = "EVA Suit Storage"; req_access = list(5)},/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/medical,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/medical,/obj/item/weapon/tank/oxygen,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/dark,/area/medical/medbay_emt_bay) -"bSE" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/item/toy/plushie/therapy/blue,/turf/simulated/floor/carpet/blue,/area/medical/psych) +"bSD" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/table/rack,/obj/machinery/door/window/westleft{name = "EVA Suit Storage"; req_access = list(5)},/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/medical,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/medical,/obj/item/tank/oxygen,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/dark,/area/medical/medbay_emt_bay) +"bSE" = (/obj/structure/table/woodentable,/obj/item/paper_bin,/obj/item/pen,/obj/item/toy/plushie/therapy/blue,/turf/simulated/floor/carpet/blue,/area/medical/psych) "bSF" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/carpet/blue,/area/medical/psych) "bSG" = (/obj/machinery/camera/network/medbay{c_tag = "MED - Mental Health"; dir = 1},/obj/machinery/light,/turf/simulated/floor/carpet/blue,/area/medical/psych) "bSH" = (/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0},/turf/simulated/floor/carpet/blue,/area/medical/psych) "bSI" = (/turf/simulated/wall,/area/medical/patient_c) "bSJ" = (/obj/effect/floor_decal/corner/pink/full{dir = 8},/obj/machinery/iv_drip,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = -25; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/patient_c) -"bSK" = (/obj/effect/floor_decal/corner/pink{dir = 5},/obj/structure/bed/padded,/obj/item/weapon/bedsheet/medical,/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor/tiled/white,/area/medical/patient_c) +"bSK" = (/obj/effect/floor_decal/corner/pink{dir = 5},/obj/structure/bed/padded,/obj/item/bedsheet/medical,/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor/tiled/white,/area/medical/patient_c) "bSL" = (/obj/effect/floor_decal/corner/pink{dir = 5},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = 36},/obj/machinery/button/windowtint{id = "pr3_window_tint"; pixel_y = 26},/turf/simulated/floor/tiled/white,/area/medical/patient_c) "bSM" = (/obj/structure/window/reinforced/polarized{dir = 8; id = "pr3_window_tint"},/obj/structure/window/reinforced/polarized{dir = 4; id = "pr3_window_tint"},/obj/structure/window/reinforced/polarized{dir = 2; id = "pr3_window_tint"},/obj/structure/window/reinforced/polarized{dir = 1; id = "pr3_window_tint"},/obj/structure/grille,/obj/machinery/door/firedoor,/turf/simulated/floor,/area/medical/patient_c) "bSN" = (/obj/effect/floor_decal/corner/pink{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) "bSO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/corner/pink{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) "bSP" = (/obj/structure/window/reinforced/polarized{dir = 1; id = "pr2_window_tint"},/obj/structure/grille,/obj/machinery/door/firedoor,/obj/structure/window/reinforced/polarized{dir = 2; id = "pr2_window_tint"},/obj/structure/window/reinforced/polarized{dir = 4; id = "pr2_window_tint"},/obj/structure/window/reinforced/polarized{dir = 8; id = "pr2_window_tint"},/turf/simulated/floor,/area/medical/patient_b) "bSQ" = (/obj/machinery/button/windowtint{id = "pr2_window_tint"; pixel_y = 26},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = 36},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/corner/pink{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/patient_b) -"bSR" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/medical,/obj/effect/floor_decal/corner/pink{dir = 5},/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor/tiled/white,/area/medical/patient_b) +"bSR" = (/obj/structure/bed/padded,/obj/item/bedsheet/medical,/obj/effect/floor_decal/corner/pink{dir = 5},/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor/tiled/white,/area/medical/patient_b) "bSS" = (/obj/machinery/iv_drip,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/effect/floor_decal/corner/pink/full{dir = 1},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/patient_b) "bST" = (/obj/structure/bed/chair/wheelchair,/turf/simulated/floor/tiled/dark,/area/medical/biostorage) "bSU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/dark,/area/medical/biostorage) "bSV" = (/obj/machinery/iv_drip,/turf/simulated/floor/tiled/dark,/area/medical/biostorage) -"bSW" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/structure/closet/l3closet/medical,/turf/simulated/floor/tiled/dark,/area/medical/biostorage) +"bSW" = (/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/structure/closet/l3closet/medical,/turf/simulated/floor/tiled/dark,/area/medical/biostorage) "bSX" = (/obj/structure/closet/l3closet/medical,/turf/simulated/floor/tiled/dark,/area/medical/biostorage) "bSY" = (/obj/structure/bedsheetbin,/obj/structure/table/steel,/obj/random/firstaid,/obj/random/firstaid,/turf/simulated/floor/tiled/dark,/area/medical/biostorage) "bSZ" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/floodlight,/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor,/area/maintenance/medbay_aft) @@ -5049,7 +5049,7 @@ "bTe" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/medical_escape_pod_hallway) "bTf" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/hallway/secondary/escape/medical_escape_pod_hallway) "bTg" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "mining_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = list(13)},/turf/simulated/floor,/area/shuttle/mining/station) -"bTh" = (/obj/structure/table/standard,/obj/item/weapon/hand_labeler,/obj/effect/floor_decal/corner/green/full{dir = 8},/obj/machinery/alarm{pixel_y = 22},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/xenobiology/xenoflora_storage) +"bTh" = (/obj/structure/table/standard,/obj/item/hand_labeler,/obj/effect/floor_decal/corner/green/full{dir = 8},/obj/machinery/alarm{pixel_y = 22},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/xenobiology/xenoflora_storage) "bTi" = (/obj/structure/closet/secure_closet/hydroponics{req_access = list(47)},/obj/effect/floor_decal/corner/green{dir = 5},/turf/simulated/floor/tiled/white,/area/rnd/xenobiology/xenoflora_storage) "bTj" = (/obj/structure/closet/secure_closet/hydroponics{req_access = list(47)},/obj/effect/floor_decal/corner/green{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor/tiled/white,/area/rnd/xenobiology/xenoflora_storage) "bTk" = (/obj/machinery/smartfridge/drying_rack,/obj/effect/floor_decal/corner/green/full{dir = 1},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/xenobiology/xenoflora_storage) @@ -5060,15 +5060,15 @@ "bTp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/camera/network/research{c_tag = "SCI - Xenoflora"; dir = 2},/turf/simulated/floor/tiled/hydro,/area/rnd/xenobiology/xenoflora) "bTq" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/hydro,/area/rnd/xenobiology/xenoflora) "bTr" = (/obj/effect/floor_decal/corner/green{dir = 9},/turf/simulated/floor/tiled/white,/area/rnd/xenobiology/xenoflora) -"bTs" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/light{dir = 1},/obj/item/weapon/tool/wrench,/turf/simulated/floor/tiled/white,/area/rnd/xenobiology/xenoflora) +"bTs" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/light{dir = 1},/obj/item/tool/wrench,/turf/simulated/floor/tiled/white,/area/rnd/xenobiology/xenoflora) "bTt" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/biogenerator,/turf/simulated/floor/tiled/white,/area/rnd/xenobiology/xenoflora) "bTu" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/seed_extractor,/turf/simulated/floor/tiled/white,/area/rnd/xenobiology/xenoflora) "bTv" = (/obj/machinery/reagentgrinder,/obj/structure/table/glass,/turf/simulated/floor/tiled/white,/area/rnd/xenobiology/xenoflora) -"bTw" = (/obj/effect/floor_decal/corner/green{dir = 6},/obj/structure/table/glass,/obj/item/weapon/storage/box/beakers{pixel_x = 2; pixel_y = 2},/turf/simulated/floor/tiled/white,/area/rnd/xenobiology/xenoflora) -"bTx" = (/obj/structure/table/standard,/obj/machinery/light,/obj/structure/closet/secure_closet/medical_wall{name = "anesthetic closet"; pixel_x = -32; req_access = list(29)},/obj/item/weapon/tank/anesthetic,/obj/item/weapon/tank/anesthetic,/obj/item/weapon/tank/anesthetic,/obj/item/clothing/mask/breath/medical,/obj/item/clothing/mask/breath/medical,/obj/item/clothing/mask/breath/medical,/obj/item/weapon/storage/box/gloves,/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"bTw" = (/obj/effect/floor_decal/corner/green{dir = 6},/obj/structure/table/glass,/obj/item/storage/box/beakers{pixel_x = 2; pixel_y = 2},/turf/simulated/floor/tiled/white,/area/rnd/xenobiology/xenoflora) +"bTx" = (/obj/structure/table/standard,/obj/machinery/light,/obj/structure/closet/secure_closet/medical_wall{name = "anesthetic closet"; pixel_x = -32; req_access = list(29)},/obj/item/tank/anesthetic,/obj/item/tank/anesthetic,/obj/item/tank/anesthetic,/obj/item/clothing/mask/breath/medical,/obj/item/clothing/mask/breath/medical,/obj/item/clothing/mask/breath/medical,/obj/item/storage/box/gloves,/turf/simulated/floor/tiled/white,/area/assembly/robotics) "bTy" = (/obj/machinery/optable{name = "Robotics Operating Table"},/turf/simulated/floor/tiled/white,/area/assembly/robotics) "bTz" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/computer/operating{name = "Robotics Operating Computer"},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"bTA" = (/obj/structure/table/standard,/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/item/weapon/tool/screwdriver,/obj/item/weapon/tool/crowbar,/obj/item/weapon/surgical/circular_saw,/obj/item/weapon/surgical/hemostat,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"bTA" = (/obj/structure/table/standard,/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/item/tool/screwdriver,/obj/item/tool/crowbar,/obj/item/surgical/circular_saw,/obj/item/surgical/hemostat,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/tiled/white,/area/assembly/robotics) "bTB" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/light,/obj/machinery/computer/operating{name = "Robotics Operating Computer"},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/tiled/white,/area/assembly/robotics) "bTC" = (/obj/structure/table/standard,/obj/machinery/newscaster{pixel_x = 28; pixel_y = 1},/obj/machinery/cell_charger,/turf/simulated/floor/tiled,/area/assembly/robotics) "bTD" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/hallway/primary/central_four) @@ -5078,42 +5078,42 @@ "bTH" = (/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor/wood,/area/bridge/meeting_room) "bTI" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/camera/network/command{c_tag = "COM - Conference Room"},/obj/machinery/light{dir = 1},/turf/simulated/floor/wood,/area/bridge/meeting_room) "bTJ" = (/turf/simulated/floor/wood,/area/bridge/meeting_room) -"bTK" = (/obj/structure/table/woodentable,/obj/item/device/retail_scanner/command{icon_state = "retail_idle"; dir = 4},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"bTK" = (/obj/structure/table/woodentable,/obj/item/retail_scanner/command{icon_state = "retail_idle"; dir = 4},/turf/simulated/floor/wood,/area/bridge/meeting_room) "bTL" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/table/woodentable,/obj/machinery/photocopier/faxmachine{department = "Bridge"},/obj/machinery/light_switch{pixel_x = 36; pixel_y = 0},/turf/simulated/floor/wood,/area/bridge/meeting_room) "bTM" = (/obj/effect/floor_decal/corner/blue{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled,/area/bridge_hallway) "bTN" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/corner/blue{dir = 6},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled,/area/bridge_hallway) "bTO" = (/turf/simulated/wall/r_wall,/area/bridge_hallway) "bTP" = (/obj/machinery/door/airlock/command{name = "Colony Director's Quarters"; req_access = list(20)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor,/turf/simulated/floor/carpet,/area/crew_quarters/captain) -"bTQ" = (/obj/structure/table/woodentable,/obj/machinery/reagentgrinder,/obj/item/weapon/reagent_containers/food/drinks/shaker,/obj/item/weapon/packageWrap,/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = -22},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"bTR" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/box/beanbags,/obj/item/weapon/gun/projectile/shotgun/doublebarrel,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/light,/turf/simulated/floor/wood,/area/crew_quarters/bar) +"bTQ" = (/obj/structure/table/woodentable,/obj/machinery/reagentgrinder,/obj/item/reagent_containers/food/drinks/shaker,/obj/item/packageWrap,/obj/item/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = -22},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"bTR" = (/obj/structure/table/woodentable,/obj/item/storage/box/beanbags,/obj/item/gun/projectile/shotgun/doublebarrel,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/light,/turf/simulated/floor/wood,/area/crew_quarters/bar) "bTS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/crew_quarters/bar) "bTT" = (/obj/machinery/vending/coffee,/turf/simulated/floor/wood,/area/crew_quarters/bar) "bTU" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) "bTV" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) "bTW" = (/obj/effect/floor_decal/spline/plain{dir = 4},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/wood,/area/crew_quarters/bar) "bTX" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/cafeteria) -"bTY" = (/obj/structure/table/standard,/obj/item/weapon/material/kitchen/utensil/fork,/obj/item/weapon/material/kitchen/utensil/spoon{pixel_x = 2},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/camera/network/civilian{c_tag = "CIV - Cafeteria Fore"; dir = 2},/turf/simulated/floor/tiled/neutral,/area/crew_quarters/cafeteria) +"bTY" = (/obj/structure/table/standard,/obj/item/material/kitchen/utensil/fork,/obj/item/material/kitchen/utensil/spoon{pixel_x = 2},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/camera/network/civilian{c_tag = "CIV - Cafeteria Fore"; dir = 2},/turf/simulated/floor/tiled/neutral,/area/crew_quarters/cafeteria) "bTZ" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/cafeteria) "bUa" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/neutral,/area/crew_quarters/cafeteria) "bUb" = (/obj/structure/table/marble,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/item/clothing/head/cakehat,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) "bUc" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"bUd" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"bUe" = (/obj/structure/table/marble,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/item/weapon/reagent_containers/food/snacks/pie,/obj/machinery/light{dir = 1},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"bUd" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/item/stool/padded,/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"bUe" = (/obj/structure/table/marble,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/item/reagent_containers/food/snacks/pie,/obj/machinery/light{dir = 1},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) "bUf" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/crew_quarters/cafeteria) -"bUg" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/structure/flora/pottedplant{icon_state = "plant-22"},/turf/simulated/floor/tiled/dark,/area/hallway/primary/central_two) -"bUh" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/dropper,/obj/effect/floor_decal/corner/beige/full,/turf/simulated/floor/tiled/white,/area/medical/chemistry) -"bUi" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/effect/floor_decal/corner/beige{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/chemistry) -"bUj" = (/obj/structure/table/reinforced,/obj/item/device/mass_spectrometer/adv,/obj/item/clothing/glasses/science,/obj/item/clothing/glasses/science,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/corner/beige{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/chemistry) -"bUk" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/effect/floor_decal/corner/beige{dir = 10},/obj/machinery/camera/network/medbay{c_tag = "MED - Chemistry"; dir = 1},/turf/simulated/floor/tiled/white,/area/medical/chemistry) -"bUl" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/dropper,/obj/effect/floor_decal/corner/beige{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/chemistry) +"bUg" = (/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/structure/flora/pottedplant{icon_state = "plant-22"},/turf/simulated/floor/tiled/dark,/area/hallway/primary/central_two) +"bUh" = (/obj/structure/table/reinforced,/obj/item/reagent_containers/dropper,/obj/effect/floor_decal/corner/beige/full,/turf/simulated/floor/tiled/white,/area/medical/chemistry) +"bUi" = (/obj/structure/table/reinforced,/obj/item/reagent_containers/glass/beaker/large,/obj/effect/floor_decal/corner/beige{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/chemistry) +"bUj" = (/obj/structure/table/reinforced,/obj/item/mass_spectrometer/adv,/obj/item/clothing/glasses/science,/obj/item/clothing/glasses/science,/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/corner/beige{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/chemistry) +"bUk" = (/obj/structure/table/reinforced,/obj/item/reagent_containers/glass/beaker/large,/obj/effect/floor_decal/corner/beige{dir = 10},/obj/machinery/camera/network/medbay{c_tag = "MED - Chemistry"; dir = 1},/turf/simulated/floor/tiled/white,/area/medical/chemistry) +"bUl" = (/obj/structure/table/reinforced,/obj/item/reagent_containers/dropper,/obj/effect/floor_decal/corner/beige{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/chemistry) "bUm" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/effect/floor_decal/corner/beige{dir = 10},/obj/structure/cable/green,/turf/simulated/floor/tiled/white,/area/medical/chemistry) "bUn" = (/obj/structure/closet/wardrobe/chemistry_white,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/effect/floor_decal/corner/beige/full{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/chemistry) "bUo" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/medical/chemistry) -"bUp" = (/obj/item/weapon/stool/padded,/obj/effect/landmark/start{name = "Paramedic"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) +"bUp" = (/obj/item/stool/padded,/obj/effect/landmark/start{name = "Paramedic"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) "bUq" = (/obj/effect/floor_decal/corner/pink{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) "bUr" = (/obj/effect/floor_decal/corner/pink{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) "bUs" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green,/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) -"bUt" = (/obj/structure/table/rack,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/window/westright{name = "EVA Suit Storage"; req_access = newlist(); req_one_access = list(5,18)},/obj/item/weapon/rig/medical/equipped,/turf/simulated/floor/tiled/dark,/area/medical/medbay_emt_bay) +"bUt" = (/obj/structure/table/rack,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/window/westright{name = "EVA Suit Storage"; req_access = newlist(); req_one_access = list(5,18)},/obj/item/rig/medical/equipped,/turf/simulated/floor/tiled/dark,/area/medical/medbay_emt_bay) "bUu" = (/obj/effect/floor_decal/corner/pink{dir = 9},/obj/structure/bed/chair/office/light,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/camera/network/medbay{c_tag = "MED - Patient Room C"; dir = 4},/turf/simulated/floor/tiled/white,/area/medical/patient_c) "bUv" = (/obj/machinery/hologram/holopad,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/medical/patient_c) "bUw" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/medical/patient_c) @@ -5157,7 +5157,7 @@ "bVi" = (/obj/effect/floor_decal/corner/green{dir = 10},/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 9},/obj/machinery/meter,/turf/simulated/floor/tiled/white,/area/rnd/xenobiology/xenoflora) "bVj" = (/obj/effect/floor_decal/corner/green{dir = 10},/turf/simulated/floor/tiled/white,/area/rnd/xenobiology/xenoflora) "bVk" = (/obj/effect/floor_decal/corner/green{dir = 10},/obj/structure/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Xenobiologist"},/turf/simulated/floor/tiled/white,/area/rnd/xenobiology/xenoflora) -"bVl" = (/obj/effect/floor_decal/corner/green/full{dir = 4},/obj/structure/table/glass,/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = 30; pixel_y = 0},/obj/item/weapon/storage/box/botanydisk,/turf/simulated/floor/tiled/white,/area/rnd/xenobiology/xenoflora) +"bVl" = (/obj/effect/floor_decal/corner/green/full{dir = 4},/obj/structure/table/glass,/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = 30; pixel_y = 0},/obj/item/storage/box/botanydisk,/turf/simulated/floor/tiled/white,/area/rnd/xenobiology/xenoflora) "bVm" = (/turf/simulated/wall/r_wall,/area/assembly/chargebay) "bVn" = (/turf/simulated/wall,/area/assembly/chargebay) "bVo" = (/obj/machinery/ai_status_display{pixel_x = 0; pixel_y = 0},/turf/simulated/wall,/area/assembly/chargebay) @@ -5176,46 +5176,46 @@ "bVB" = (/obj/structure/flora/pottedplant{icon_state = "plant-10"},/obj/structure/extinguisher_cabinet{pixel_x = -27},/turf/simulated/floor/wood,/area/crew_quarters/captain) "bVC" = (/obj/machinery/ai_status_display{pixel_y = 32},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/captain) "bVD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bVE" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/secure/safe{pixel_x = 5; pixel_y = 28},/obj/machinery/recharger{pixel_y = 4},/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bVF" = (/obj/machinery/computer/card,/obj/item/weapon/card/id/gold/captain/spare,/turf/simulated/floor/wood,/area/crew_quarters/captain) +"bVE" = (/obj/structure/table/woodentable,/obj/item/storage/secure/safe{pixel_x = 5; pixel_y = 28},/obj/machinery/recharger{pixel_y = 4},/turf/simulated/floor/wood,/area/crew_quarters/captain) +"bVF" = (/obj/machinery/computer/card,/obj/item/card/id/gold/captain/spare,/turf/simulated/floor/wood,/area/crew_quarters/captain) "bVG" = (/obj/machinery/computer/communications,/obj/machinery/status_display{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/wood,/area/crew_quarters/captain) "bVH" = (/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = 24},/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bVI" = (/obj/structure/table/rack,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/clothing/mask/gas,/obj/item/clothing/suit/armor/captain,/obj/item/clothing/head/helmet/space/capspace,/obj/machinery/newscaster/security_unit{pixel_x = 32; pixel_y = 0},/turf/simulated/floor/wood,/area/crew_quarters/captain) +"bVI" = (/obj/structure/table/rack,/obj/item/tank/jetpack/oxygen,/obj/item/clothing/mask/gas,/obj/item/clothing/suit/armor/captain,/obj/item/clothing/head/helmet/space/capspace,/obj/machinery/newscaster/security_unit{pixel_x = 32; pixel_y = 0},/turf/simulated/floor/wood,/area/crew_quarters/captain) "bVJ" = (/obj/structure/closet/crate,/obj/random/drinkbottle,/obj/random/drinkbottle,/obj/random/maintenance/clean,/turf/simulated/floor,/area/maintenance/central) "bVK" = (/obj/machinery/door/airlock{name = "Bar Backroom"; req_access = list(25)},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/crew_quarters/bar) "bVL" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/wood,/area/crew_quarters/bar) "bVM" = (/turf/simulated/floor/wood,/area/crew_quarters/bar) "bVN" = (/obj/effect/floor_decal/spline/plain{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/crew_quarters/bar) "bVO" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/tiled/neutral,/area/crew_quarters/cafeteria) -"bVP" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{pixel_x = -3; pixel_y = 0},/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{pixel_x = 3},/turf/simulated/floor/tiled,/area/crew_quarters/cafeteria) +"bVP" = (/obj/structure/table/standard,/obj/item/reagent_containers/food/condiment/small/saltshaker{pixel_x = -3; pixel_y = 0},/obj/item/reagent_containers/food/condiment/small/peppermill{pixel_x = 3},/turf/simulated/floor/tiled,/area/crew_quarters/cafeteria) "bVQ" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/tiled/neutral,/area/crew_quarters/cafeteria) "bVR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/crew_quarters/cafeteria) -"bVS" = (/obj/structure/table/marble,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"bVT" = (/obj/structure/table/marble,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/item/weapon/material/kitchen/utensil/spoon{pixel_x = 2},/obj/item/weapon/material/kitchen/utensil/fork,/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"bVS" = (/obj/structure/table/marble,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/item/paper_bin,/obj/item/pen,/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"bVT" = (/obj/structure/table/marble,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/item/material/kitchen/utensil/spoon{pixel_x = 2},/obj/item/material/kitchen/utensil/fork,/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) "bVU" = (/obj/structure/table/marble,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) "bVV" = (/obj/structure/table/marble,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/cash_register/civilian{icon_state = "register_idle"; dir = 1},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) "bVW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/crew_quarters/cafeteria) "bVX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/central_two) "bVY" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "chemwindow"; name = "Chemistry Window Shutters"; opacity = 0},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/medical/chemistry) "bVZ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "chemwindow"; name = "Chemistry Window Shutters"; opacity = 0},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/medical/chemistry) -"bWa" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 2; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = -21},/obj/structure/closet/secure_closet/medical1,/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) +"bWa" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/item/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 2; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = -21},/obj/structure/closet/secure_closet/medical1,/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) "bWb" = (/obj/effect/floor_decal/corner/pink{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) "bWc" = (/obj/effect/floor_decal/corner/pink{dir = 6},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) -"bWd" = (/obj/structure/table/rack,/obj/item/weapon/tool/crowbar,/obj/item/weapon/tool/crowbar,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/roller,/obj/item/roller,/obj/item/roller,/obj/structure/sign/poster{pixel_x = 0; pixel_y = -32},/obj/item/device/radio{frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link"},/obj/item/device/radio{frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link"},/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) -"bWe" = (/obj/effect/floor_decal/corner/pink/full,/obj/machinery/computer/med_data/laptop,/obj/structure/table/glass,/obj/machinery/light,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/white,/area/medical/patient_c) -"bWf" = (/obj/effect/floor_decal/corner/pink{dir = 10},/obj/structure/table/glass,/obj/item/weapon/paper_bin,/obj/item/weapon/clipboard,/obj/item/weapon/pen,/turf/simulated/floor/tiled/white,/area/medical/patient_c) +"bWd" = (/obj/structure/table/rack,/obj/item/tool/crowbar,/obj/item/tool/crowbar,/obj/item/storage/toolbox/mechanical,/obj/item/roller,/obj/item/roller,/obj/item/roller,/obj/structure/sign/poster{pixel_x = 0; pixel_y = -32},/obj/item/radio{frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link"},/obj/item/radio{frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link"},/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) +"bWe" = (/obj/effect/floor_decal/corner/pink/full,/obj/machinery/computer/med_data/laptop,/obj/structure/table/glass,/obj/machinery/light,/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/white,/area/medical/patient_c) +"bWf" = (/obj/effect/floor_decal/corner/pink{dir = 10},/obj/structure/table/glass,/obj/item/paper_bin,/obj/item/clipboard,/obj/item/pen,/turf/simulated/floor/tiled/white,/area/medical/patient_c) "bWg" = (/obj/effect/floor_decal/corner/pink{dir = 10},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/closet/secure_closet/personal/patient,/turf/simulated/floor/tiled/white,/area/medical/patient_c) "bWh" = (/obj/effect/floor_decal/corner/pink{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) "bWi" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/corner/pink,/turf/simulated/floor/tiled/white,/area/medical/patient_wing) "bWj" = (/obj/effect/floor_decal/corner/pink{dir = 10},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/closet/secure_closet/personal/patient,/turf/simulated/floor/tiled/white,/area/medical/patient_b) -"bWk" = (/obj/effect/floor_decal/corner/pink{dir = 10},/obj/structure/table/glass,/obj/item/weapon/paper_bin,/obj/item/weapon/clipboard,/obj/item/weapon/pen,/turf/simulated/floor/tiled/white,/area/medical/patient_b) -"bWl" = (/obj/machinery/computer/med_data/laptop,/obj/structure/table/glass,/obj/effect/floor_decal/corner/pink/full{dir = 4},/obj/machinery/light,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled/white,/area/medical/patient_b) -"bWm" = (/obj/item/weapon/gun/launcher/syringe,/obj/item/weapon/storage/box/syringegun,/obj/structure/table/steel,/obj/machinery/light{dir = 8},/obj/random/medical,/turf/simulated/floor/tiled/dark,/area/medical/biostorage) -"bWn" = (/obj/item/weapon/storage/box/lights/mixed,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/structure/table/steel,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green,/obj/item/device/radio{frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link"},/turf/simulated/floor/tiled/dark,/area/medical/biostorage) -"bWo" = (/obj/structure/closet/crate{icon_state = "crateopen"; name = "Grenade Crate"; opened = 1},/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/device/assembly/igniter,/obj/item/device/assembly/igniter,/obj/item/device/assembly/igniter,/obj/item/device/assembly/timer,/obj/item/device/assembly/timer,/obj/item/device/assembly/timer,/turf/simulated/floor/tiled/dark,/area/medical/biostorage) -"bWp" = (/obj/structure/table/rack,/obj/item/clothing/suit/radiation,/obj/item/clothing/head/radiation,/obj/item/weapon/storage/toolbox/emergency,/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 2; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = -21},/obj/item/weapon/storage/box/lights/mixed,/obj/item/device/defib_kit/loaded,/obj/item/device/defib_kit/loaded,/turf/simulated/floor/tiled/dark,/area/medical/biostorage) -"bWq" = (/obj/item/weapon/cane,/obj/item/weapon/cane{pixel_x = -3; pixel_y = 2},/obj/item/weapon/cane{pixel_x = -6; pixel_y = 4},/obj/structure/table/steel,/obj/item/weapon/storage/box/gloves{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/rxglasses,/turf/simulated/floor/tiled/dark,/area/medical/biostorage) -"bWr" = (/obj/item/weapon/storage/box/cdeathalarm_kit,/obj/item/bodybag/cryobag{pixel_x = -3},/obj/item/bodybag/cryobag{pixel_x = -3},/obj/structure/table/steel,/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -32},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/dark,/area/medical/biostorage) +"bWk" = (/obj/effect/floor_decal/corner/pink{dir = 10},/obj/structure/table/glass,/obj/item/paper_bin,/obj/item/clipboard,/obj/item/pen,/turf/simulated/floor/tiled/white,/area/medical/patient_b) +"bWl" = (/obj/machinery/computer/med_data/laptop,/obj/structure/table/glass,/obj/effect/floor_decal/corner/pink/full{dir = 4},/obj/machinery/light,/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled/white,/area/medical/patient_b) +"bWm" = (/obj/item/gun/launcher/syringe,/obj/item/storage/box/syringegun,/obj/structure/table/steel,/obj/machinery/light{dir = 8},/obj/random/medical,/turf/simulated/floor/tiled/dark,/area/medical/biostorage) +"bWn" = (/obj/item/storage/box/lights/mixed,/obj/item/flashlight,/obj/item/flashlight,/obj/structure/table/steel,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green,/obj/item/radio{frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link"},/turf/simulated/floor/tiled/dark,/area/medical/biostorage) +"bWo" = (/obj/structure/closet/crate{icon_state = "crateopen"; name = "Grenade Crate"; opened = 1},/obj/item/grenade/chem_grenade,/obj/item/grenade/chem_grenade,/obj/item/grenade/chem_grenade,/obj/item/grenade/chem_grenade,/obj/item/assembly/igniter,/obj/item/assembly/igniter,/obj/item/assembly/igniter,/obj/item/assembly/timer,/obj/item/assembly/timer,/obj/item/assembly/timer,/turf/simulated/floor/tiled/dark,/area/medical/biostorage) +"bWp" = (/obj/structure/table/rack,/obj/item/clothing/suit/radiation,/obj/item/clothing/head/radiation,/obj/item/storage/toolbox/emergency,/obj/item/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 2; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = -21},/obj/item/storage/box/lights/mixed,/obj/item/defib_kit/loaded,/obj/item/defib_kit/loaded,/turf/simulated/floor/tiled/dark,/area/medical/biostorage) +"bWq" = (/obj/item/cane,/obj/item/cane{pixel_x = -3; pixel_y = 2},/obj/item/cane{pixel_x = -6; pixel_y = 4},/obj/structure/table/steel,/obj/item/storage/box/gloves{pixel_x = 4; pixel_y = 4},/obj/item/storage/box/rxglasses,/turf/simulated/floor/tiled/dark,/area/medical/biostorage) +"bWr" = (/obj/item/storage/box/cdeathalarm_kit,/obj/item/bodybag/cryobag{pixel_x = -3},/obj/item/bodybag/cryobag{pixel_x = -3},/obj/structure/table/steel,/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -32},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/dark,/area/medical/biostorage) "bWs" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/maintenance/medbay_aft) "bWt" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/meter,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/maintenance/medbay_aft) "bWu" = (/obj/machinery/door/airlock/engineering{name = "Medbay Substation"; req_one_access = list(11,24,5)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor,/turf/simulated/floor,/area/maintenance/substation/medical) @@ -5255,40 +5255,40 @@ "bXc" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/hallway/primary/central_four) "bXd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "heads_meeting"; name = "Meeting Room Window Shutters"; opacity = 0},/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/bridge/meeting_room) "bXe" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/bed/chair/comfy/black{dir = 4},/turf/simulated/floor/carpet,/area/bridge/meeting_room) -"bXf" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/table/woodentable,/obj/item/weapon/folder/red,/turf/simulated/floor/carpet,/area/bridge/meeting_room) -"bXg" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/table/woodentable,/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/carpet,/area/bridge/meeting_room) +"bXf" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/table/woodentable,/obj/item/folder/red,/turf/simulated/floor/carpet,/area/bridge/meeting_room) +"bXg" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/table/woodentable,/obj/item/book/codex/corp_regs,/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/carpet,/area/bridge/meeting_room) "bXh" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/bed/chair/comfy/black{dir = 8},/turf/simulated/floor/carpet,/area/bridge/meeting_room) "bXi" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"bXj" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/table/woodentable,/obj/item/weapon/storage/box/donut,/turf/simulated/floor/wood,/area/bridge/meeting_room) +"bXj" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/table/woodentable,/obj/item/storage/box/donut,/turf/simulated/floor/wood,/area/bridge/meeting_room) "bXk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/button/windowtint{id = "meet_window_tint"; pixel_x = 36; pixel_y = 0},/obj/machinery/keycard_auth{pixel_x = 24; pixel_y = 0},/turf/simulated/floor/wood,/area/bridge/meeting_room) "bXl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/bridge_hallway) "bXm" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/corner/blue{dir = 6},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/bridge_hallway) "bXn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "cap_office"; name = "Captain's Shutters"; opacity = 0},/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/bridge_hallway) "bXo" = (/obj/structure/bed/chair/comfy/brown,/turf/simulated/floor/carpet,/area/crew_quarters/captain) "bXp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bXq" = (/obj/structure/table/woodentable,/obj/item/weapon/melee/chainofcommand,/obj/machinery/button/remote/airlock{desc = "A remote control switch for the Starboard Bridge Doors."; id = "sbridgedoor"; name = "Starboard Bridge Door Control"; pixel_x = 4; pixel_y = -6},/obj/machinery/button/remote/airlock{desc = "A remote control switch for the captain's office."; id = "captaindoor"; name = "Office Door Control"; pixel_x = 4; pixel_y = 6},/turf/simulated/floor/wood,/area/crew_quarters/captain) +"bXq" = (/obj/structure/table/woodentable,/obj/item/melee/chainofcommand,/obj/machinery/button/remote/airlock{desc = "A remote control switch for the Starboard Bridge Doors."; id = "sbridgedoor"; name = "Starboard Bridge Door Control"; pixel_x = 4; pixel_y = -6},/obj/machinery/button/remote/airlock{desc = "A remote control switch for the captain's office."; id = "captaindoor"; name = "Office Door Control"; pixel_x = 4; pixel_y = 6},/turf/simulated/floor/wood,/area/crew_quarters/captain) "bXr" = (/obj/structure/bed/chair/comfy/brown{dir = 1},/obj/effect/landmark/start{name = "Colony Director"},/turf/simulated/floor/wood,/area/crew_quarters/captain) "bXs" = (/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bXt" = (/obj/item/device/radio/intercom{broadcasting = 0; dir = 4; listening = 1; name = "Colony Director's Intercom"; pixel_x = 21; pixel_y = 0},/obj/structure/table/woodentable,/obj/item/weapon/folder/blue_captain,/turf/simulated/floor/wood,/area/crew_quarters/captain) +"bXt" = (/obj/item/radio/intercom{broadcasting = 0; dir = 4; listening = 1; name = "Colony Director's Intercom"; pixel_x = 21; pixel_y = 0},/obj/structure/table/woodentable,/obj/item/folder/blue_captain,/turf/simulated/floor/wood,/area/crew_quarters/captain) "bXu" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/central) "bXv" = (/obj/machinery/smartfridge/drinks,/turf/simulated/floor/lino,/area/crew_quarters/bar) "bXw" = (/obj/effect/landmark/start{name = "Bartender"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/light{dir = 1},/turf/simulated/floor/lino,/area/crew_quarters/bar) "bXx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/mob/living/carbon/human/monkey/punpun,/turf/simulated/floor/lino,/area/crew_quarters/bar) "bXy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor/lino,/area/crew_quarters/bar) "bXz" = (/obj/structure/table/reinforced,/obj/machinery/door/blast/shutters{dir = 4; id = "bar"; layer = 3.1; name = "Bar Shutters"},/turf/simulated/floor/lino,/area/crew_quarters/bar) -"bXA" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/wood,/area/crew_quarters/bar) +"bXA" = (/obj/item/stool/padded,/turf/simulated/floor/wood,/area/crew_quarters/bar) "bXB" = (/obj/structure/table/standard,/turf/simulated/floor/tiled/neutral,/area/crew_quarters/cafeteria) "bXC" = (/obj/structure/bed/chair{dir = 8},/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor/tiled,/area/crew_quarters/cafeteria) -"bXD" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled,/area/crew_quarters/cafeteria) -"bXE" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/neutral,/area/crew_quarters/cafeteria) -"bXF" = (/obj/item/weapon/stool/padded,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled,/area/crew_quarters/cafeteria) +"bXD" = (/obj/item/stool/padded,/turf/simulated/floor/tiled,/area/crew_quarters/cafeteria) +"bXE" = (/obj/item/stool/padded,/turf/simulated/floor/tiled/neutral,/area/crew_quarters/cafeteria) +"bXF" = (/obj/item/stool/padded,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled,/area/crew_quarters/cafeteria) "bXG" = (/turf/simulated/wall,/area/crew_quarters/cafeteria) "bXH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/primary/central_two) "bXI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/primary/central_two) "bXJ" = (/obj/machinery/door/airlock/multi_tile/glass{id_tag = "MedbayFoyerPort"; req_access = list(5)},/obj/machinery/door/firedoor/glass,/obj/effect/floor_decal/corner/pink{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) "bXK" = (/obj/machinery/door/firedoor/glass,/obj/effect/floor_decal/corner/pink{dir = 6},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) -"bXL" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/corner/pink{dir = 9},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) -"bXM" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/corner/pink{dir = 6},/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 4; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 21; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) +"bXL" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/corner/pink{dir = 9},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) +"bXM" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/corner/pink{dir = 6},/obj/item/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 4; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 21; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) "bXN" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/maintenance/medbay_aft) "bXO" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_x = 32; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/visible/universal,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor,/area/maintenance/medbay_aft) "bXP" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green,/turf/simulated/floor/tiled,/area/hallway/secondary/escape/medical_escape_pod_hallway) @@ -5299,7 +5299,7 @@ "bXU" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/steel,/area/quartermaster/miningdock) "bXV" = (/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "mining_dock_airlock"; pixel_x = -6; pixel_y = -25; req_one_access = list(13,48); tag_airpump = "mining_dock_pump"; tag_chamber_sensor = "mining_dock_sensor"; tag_exterior_door = "mining_dock_outer"; tag_interior_door = "mining_dock_inner"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "mining_dock_sensor"; pixel_x = 6; pixel_y = -24},/obj/structure/closet/emcloset,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"},/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled/steel,/area/quartermaster/miningdock) "bXW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,47)},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/maintenance/research) -"bXX" = (/obj/effect/floor_decal/corner/green/full,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/machinery/camera/network/research{c_tag = "SCI - Xenoflora Storage"; dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/xenobiology/xenoflora_storage) +"bXX" = (/obj/effect/floor_decal/corner/green/full,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/machinery/camera/network/research{c_tag = "SCI - Xenoflora Storage"; dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/xenobiology/xenoflora_storage) "bXY" = (/obj/machinery/atmospherics/unary/freezer{dir = 2; icon_state = "freezer"},/obj/effect/floor_decal/corner/green{dir = 10},/turf/simulated/floor/tiled/white,/area/rnd/xenobiology/xenoflora_storage) "bXZ" = (/obj/machinery/atmospherics/unary/heater{dir = 2; icon_state = "heater"},/obj/effect/floor_decal/corner/green{dir = 10},/turf/simulated/floor/tiled/white,/area/rnd/xenobiology/xenoflora_storage) "bYa" = (/obj/machinery/atmospherics/portables_connector,/obj/effect/floor_decal/corner/green/full{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/xenobiology/xenoflora_storage) @@ -5318,22 +5318,22 @@ "bYn" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/hallway/primary/central_four) "bYo" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "heads_meeting"; name = "Meeting Room Window Shutters"; opacity = 0},/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/bridge/meeting_room) "bYp" = (/obj/structure/bed/chair/comfy/black{dir = 4},/turf/simulated/floor/carpet,/area/bridge/meeting_room) -"bYq" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/simulated/floor/carpet,/area/bridge/meeting_room) -"bYr" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table/woodentable,/obj/item/weapon/folder/blue,/turf/simulated/floor/carpet,/area/bridge/meeting_room) +"bYq" = (/obj/structure/table/woodentable,/obj/item/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/pen,/turf/simulated/floor/carpet,/area/bridge/meeting_room) +"bYr" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table/woodentable,/obj/item/folder/blue,/turf/simulated/floor/carpet,/area/bridge/meeting_room) "bYs" = (/obj/structure/bed/chair/comfy/black{dir = 8},/turf/simulated/floor/carpet,/area/bridge/meeting_room) -"bYt" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/item/weapon/pen/red{pixel_y = 5},/obj/item/weapon/pen/blue{pixel_y = -5},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"bYt" = (/obj/structure/table/woodentable,/obj/item/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/pen,/obj/item/pen/red{pixel_y = 5},/obj/item/pen/blue{pixel_y = -5},/turf/simulated/floor/wood,/area/bridge/meeting_room) "bYu" = (/obj/structure/bed/chair/comfy/black{dir = 8},/turf/simulated/floor/wood,/area/bridge/meeting_room) "bYv" = (/obj/structure/grille,/obj/structure/window/reinforced/polarized{dir = 2; id = "meet_window_tint"},/obj/structure/window/reinforced/polarized{dir = 8; id = "meet_window_tint"},/obj/structure/window/reinforced/polarized{dir = 4; id = "meet_window_tint"},/obj/structure/window/reinforced/polarized{dir = 1; id = "meet_window_tint"},/turf/simulated/floor,/area/bridge/meeting_room) "bYw" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/corner/blue{dir = 6},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/bridge_hallway) "bYx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "cap_office"; name = "Captain's Shutters"; opacity = 0},/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/bridge_hallway) -"bYy" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/box/donut,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/carpet,/area/crew_quarters/captain) -"bYz" = (/obj/structure/table/woodentable,/obj/item/device/taperecorder,/turf/simulated/floor/carpet,/area/crew_quarters/captain) +"bYy" = (/obj/structure/table/woodentable,/obj/item/storage/box/donut,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/carpet,/area/crew_quarters/captain) +"bYz" = (/obj/structure/table/woodentable,/obj/item/book/codex/corp_regs,/obj/item/taperecorder,/turf/simulated/floor/carpet,/area/crew_quarters/captain) "bYA" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bYB" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green,/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bYC" = (/obj/structure/table/woodentable,/obj/item/weapon/stamp/captain,/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bYD" = (/obj/structure/table/woodentable,/obj/machinery/computer/skills,/obj/item/weapon/hand_tele,/turf/simulated/floor/wood,/area/crew_quarters/captain) +"bYB" = (/obj/structure/table/woodentable,/obj/item/flashlight/lamp/green,/turf/simulated/floor/wood,/area/crew_quarters/captain) +"bYC" = (/obj/structure/table/woodentable,/obj/item/stamp/captain,/turf/simulated/floor/wood,/area/crew_quarters/captain) +"bYD" = (/obj/structure/table/woodentable,/obj/machinery/computer/skills,/obj/item/hand_tele,/turf/simulated/floor/wood,/area/crew_quarters/captain) "bYE" = (/obj/machinery/door/window/southright{name = "Captain's Desk Door"; req_access = list(20)},/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bYF" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/folder/blue,/obj/item/device/megaphone,/obj/machinery/requests_console{announcementConsole = 1; department = "Colony Director's Desk"; departmentType = 5; name = "Station Administrator RC"; pixel_x = 30; pixel_y = 0},/obj/structure/window/reinforced,/obj/item/weapon/pen/multi,/turf/simulated/floor/wood,/area/crew_quarters/captain) +"bYF" = (/obj/structure/table/woodentable,/obj/item/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/folder/blue,/obj/item/megaphone,/obj/machinery/requests_console{announcementConsole = 1; department = "Colony Director's Desk"; departmentType = 5; name = "Station Administrator RC"; pixel_x = 30; pixel_y = 0},/obj/structure/window/reinforced,/obj/item/pen/multi,/turf/simulated/floor/wood,/area/crew_quarters/captain) "bYG" = (/obj/machinery/floodlight,/turf/simulated/floor,/area/maintenance/central) "bYH" = (/obj/machinery/vending/boozeomat,/obj/machinery/status_display{pixel_x = -32; pixel_y = 0},/turf/simulated/floor/lino,/area/crew_quarters/bar) "bYI" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/lino,/area/crew_quarters/bar) @@ -5355,12 +5355,12 @@ "bYY" = (/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "medbayquar"; name = "Medbay Emergency Lockdown Shutters"; opacity = 0},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/medical_emergency_hallway) "bYZ" = (/turf/simulated/wall,/area/medical/patient_e) "bZa" = (/obj/effect/floor_decal/corner/pink/full{dir = 8},/obj/machinery/iv_drip,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = -25; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/patient_e) -"bZb" = (/obj/effect/floor_decal/corner/pink{dir = 5},/obj/structure/bed/padded,/obj/item/weapon/bedsheet/medical,/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor/tiled/white,/area/medical/patient_e) +"bZb" = (/obj/effect/floor_decal/corner/pink{dir = 5},/obj/structure/bed/padded,/obj/item/bedsheet/medical,/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor/tiled/white,/area/medical/patient_e) "bZc" = (/obj/effect/floor_decal/corner/pink{dir = 5},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = 36},/obj/machinery/button/windowtint{id = "pr5_window_tint"; pixel_y = 26},/turf/simulated/floor/tiled/white,/area/medical/patient_e) "bZd" = (/obj/structure/window/reinforced/polarized{dir = 1; id = "pr5_window_tint"},/obj/structure/grille,/obj/machinery/door/firedoor,/obj/structure/window/reinforced/polarized{dir = 2; id = "pr5_window_tint"},/obj/structure/window/reinforced/polarized{dir = 4; id = "pr5_window_tint"},/obj/structure/window/reinforced/polarized{dir = 8; id = "pr5_window_tint"},/turf/simulated/floor,/area/medical/patient_e) "bZe" = (/obj/structure/window/reinforced/polarized{dir = 1; id = "pr4_window_tint"},/obj/structure/grille,/obj/machinery/door/firedoor,/obj/structure/window/reinforced/polarized{dir = 2; id = "pr4_window_tint"},/obj/structure/window/reinforced/polarized{dir = 4; id = "pr4_window_tint"},/obj/structure/window/reinforced/polarized{dir = 8; id = "pr4_window_tint"},/turf/simulated/floor,/area/medical/patient_d) "bZf" = (/obj/machinery/button/windowtint{id = "pr4_window_tint"; pixel_y = 26},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = 36},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/corner/pink{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/patient_d) -"bZg" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/medical,/obj/effect/floor_decal/corner/pink{dir = 5},/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor/tiled/white,/area/medical/patient_d) +"bZg" = (/obj/structure/bed/padded,/obj/item/bedsheet/medical,/obj/effect/floor_decal/corner/pink{dir = 5},/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor/tiled/white,/area/medical/patient_d) "bZh" = (/obj/machinery/iv_drip,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/effect/floor_decal/corner/pink/full{dir = 1},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/patient_d) "bZi" = (/turf/simulated/wall,/area/medical/patient_d) "bZj" = (/turf/simulated/wall,/area/maintenance/medbay_aft) @@ -5370,7 +5370,7 @@ "bZn" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating,/area/maintenance/medbay_aft) "bZo" = (/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "large_escape_pod_1_berth"; pixel_x = -26; pixel_y = 0; tag_door = "large_escape_pod_1_berth_hatch"},/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/medical_escape_pod_hallway) "bZp" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/secondary/escape/medical_escape_pod_hallway) -"bZq" = (/obj/structure/closet/emcloset,/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/item/device/radio{frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link"},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/medical_escape_pod_hallway) +"bZq" = (/obj/structure/closet/emcloset,/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/item/radio{frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link"},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/medical_escape_pod_hallway) "bZr" = (/turf/simulated/wall,/area/quartermaster/miningdock) "bZs" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/quartermaster/miningdock) "bZt" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "mining_dock_inner"; locked = 1; name = "Mining Dock Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/quartermaster/miningdock) @@ -5387,8 +5387,8 @@ "bZE" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/tiled/hydro,/area/rnd/xenobiology/xenoflora) "bZF" = (/obj/effect/floor_decal/corner/green/full{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/xenobiology/xenoflora) "bZG" = (/obj/effect/floor_decal/corner/green{dir = 5},/obj/structure/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Xenobiologist"},/turf/simulated/floor/tiled/white,/area/rnd/xenobiology/xenoflora) -"bZH" = (/obj/effect/floor_decal/corner/green/full{dir = 1},/obj/structure/table/glass,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/obj/machinery/newscaster{pixel_x = 28; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/rnd/xenobiology/xenoflora) -"bZI" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/machinery/camera/network/research{c_tag = "SCI - Mech Bay Port"; dir = 4},/turf/simulated/floor/tiled,/area/assembly/chargebay) +"bZH" = (/obj/effect/floor_decal/corner/green/full{dir = 1},/obj/structure/table/glass,/obj/item/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/pen,/obj/machinery/newscaster{pixel_x = 28; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/rnd/xenobiology/xenoflora) +"bZI" = (/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/machinery/camera/network/research{c_tag = "SCI - Mech Bay Port"; dir = 4},/turf/simulated/floor/tiled,/area/assembly/chargebay) "bZJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled,/area/assembly/chargebay) "bZK" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/assembly/chargebay) "bZL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/assembly/chargebay) @@ -5454,11 +5454,11 @@ "caT" = (/obj/machinery/light,/turf/simulated/floor/tiled/hydro,/area/rnd/xenobiology/xenoflora_storage) "caU" = (/turf/simulated/floor/tiled/hydro,/area/rnd/xenobiology/xenoflora_storage) "caV" = (/obj/machinery/atmospherics/portables_connector,/turf/simulated/floor/tiled/hydro,/area/rnd/xenobiology/xenoflora_storage) -"caW" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/light,/turf/simulated/floor/tiled/hydro,/area/rnd/xenobiology/xenoflora_storage) -"caX" = (/obj/effect/floor_decal/corner/green{dir = 9},/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -32},/obj/structure/table/standard,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/storage/box/gloves{pixel_x = 4; pixel_y = 4},/turf/simulated/floor/tiled/white,/area/rnd/xenobiology/xenoflora) -"caY" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/item/device/radio/intercom{layer = 4; name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/white,/area/rnd/xenobiology/xenoflora) +"caW" = (/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/light,/turf/simulated/floor/tiled/hydro,/area/rnd/xenobiology/xenoflora_storage) +"caX" = (/obj/effect/floor_decal/corner/green{dir = 9},/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -32},/obj/structure/table/standard,/obj/item/storage/box/syringes,/obj/item/storage/box/gloves{pixel_x = 4; pixel_y = 4},/turf/simulated/floor/tiled/white,/area/rnd/xenobiology/xenoflora) +"caY" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/item/radio/intercom{layer = 4; name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/white,/area/rnd/xenobiology/xenoflora) "caZ" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/rnd/xenobiology/xenoflora) -"cba" = (/obj/structure/reagent_dispensers/watertank,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor/tiled/white,/area/rnd/xenobiology/xenoflora) +"cba" = (/obj/structure/reagent_dispensers/watertank,/obj/item/reagent_containers/glass/bucket,/turf/simulated/floor/tiled/white,/area/rnd/xenobiology/xenoflora) "cbb" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/effect/floor_decal/corner/green{dir = 6},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/turf/simulated/floor/tiled/white,/area/rnd/xenobiology/xenoflora) "cbc" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/hydro,/area/rnd/xenobiology/xenoflora) "cbd" = (/obj/machinery/light,/turf/simulated/floor/tiled/hydro,/area/rnd/xenobiology/xenoflora) @@ -5466,8 +5466,8 @@ "cbf" = (/obj/machinery/seed_storage/xenobotany,/turf/simulated/floor/tiled/white,/area/rnd/xenobiology/xenoflora) "cbg" = (/obj/machinery/vending/hydronutrients{categories = 3},/turf/simulated/floor/tiled/white,/area/rnd/xenobiology/xenoflora) "cbh" = (/obj/machinery/smartfridge,/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/rnd/xenobiology/xenoflora) -"cbi" = (/obj/structure/table/glass,/obj/item/weapon/tape_roll,/obj/item/device/analyzer/plant_analyzer,/turf/simulated/floor/tiled/white,/area/rnd/xenobiology/xenoflora) -"cbj" = (/obj/effect/floor_decal/corner/green{dir = 6},/obj/structure/table/glass,/obj/item/weapon/clipboard,/obj/item/weapon/folder/white,/turf/simulated/floor/tiled/white,/area/rnd/xenobiology/xenoflora) +"cbi" = (/obj/structure/table/glass,/obj/item/tape_roll,/obj/item/analyzer/plant_analyzer,/turf/simulated/floor/tiled/white,/area/rnd/xenobiology/xenoflora) +"cbj" = (/obj/effect/floor_decal/corner/green{dir = 6},/obj/structure/table/glass,/obj/item/clipboard,/obj/item/folder/white,/turf/simulated/floor/tiled/white,/area/rnd/xenobiology/xenoflora) "cbk" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled,/area/assembly/chargebay) "cbl" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/assembly/chargebay) "cbm" = (/obj/machinery/computer/cryopod/robot{pixel_x = 30; pixel_y = 0},/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/camera/network/research{c_tag = "SCI - Mech Bay Starboard"; dir = 8},/turf/simulated/floor/tiled,/area/assembly/chargebay) @@ -5488,13 +5488,13 @@ "cbB" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera/network/command{c_tag = "COM - Captain's Office"; dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/captain) "cbC" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/captain) "cbD" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/wood,/area/crew_quarters/captain) -"cbE" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/wood,/area/crew_quarters/captain) -"cbF" = (/obj/structure/table/reinforced,/obj/item/weapon/book/manual/barman_recipes,/obj/item/clothing/head/that{pixel_x = 4; pixel_y = 6},/obj/item/weapon/tool/screwdriver,/obj/item/weapon/flame/lighter/zippo,/obj/machinery/light_switch{pixel_x = -36; pixel_y = 0},/obj/machinery/button/remote/blast_door{id = "bar"; name = "Bar Shutters"; pixel_x = -26; pixel_y = 0},/turf/simulated/floor/lino,/area/crew_quarters/bar) +"cbE" = (/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/wood,/area/crew_quarters/captain) +"cbF" = (/obj/structure/table/reinforced,/obj/item/book/manual/barman_recipes,/obj/item/clothing/head/that{pixel_x = 4; pixel_y = 6},/obj/item/tool/screwdriver,/obj/item/flame/lighter/zippo,/obj/machinery/light_switch{pixel_x = -36; pixel_y = 0},/obj/machinery/button/remote/blast_door{id = "bar"; name = "Bar Shutters"; pixel_x = -26; pixel_y = 0},/turf/simulated/floor/lino,/area/crew_quarters/bar) "cbG" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/lino,/area/crew_quarters/bar) -"cbH" = (/obj/item/weapon/stool/padded,/obj/effect/landmark/start{name = "Bartender"},/turf/simulated/floor/lino,/area/crew_quarters/bar) +"cbH" = (/obj/item/stool/padded,/obj/effect/landmark/start{name = "Bartender"},/turf/simulated/floor/lino,/area/crew_quarters/bar) "cbI" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled/neutral,/area/crew_quarters/cafeteria) "cbJ" = (/obj/structure/bed/chair{dir = 4},/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor/tiled,/area/crew_quarters/cafeteria) -"cbK" = (/obj/structure/table/standard,/obj/item/weapon/material/kitchen/utensil/fork,/obj/item/weapon/material/kitchen/utensil/spoon{pixel_x = 2},/turf/simulated/floor/tiled,/area/crew_quarters/cafeteria) +"cbK" = (/obj/structure/table/standard,/obj/item/material/kitchen/utensil/fork,/obj/item/material/kitchen/utensil/spoon{pixel_x = 2},/turf/simulated/floor/tiled,/area/crew_quarters/cafeteria) "cbL" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/neutral,/area/crew_quarters/cafeteria) "cbM" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/crew_quarters/cafeteria) "cbN" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled,/area/hallway/primary/central_two) @@ -5504,14 +5504,14 @@ "cbR" = (/obj/effect/decal/cleanable/cobweb2{icon_state = "cobweb1"},/obj/effect/decal/cleanable/cobweb2{icon_state = "spiderling"; name = "dead spider"},/turf/simulated/floor,/area/maintenance/medbay_aft) "cbS" = (/turf/simulated/floor,/area/maintenance/medbay_aft) "cbT" = (/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor,/area/maintenance/medbay_aft) -"cbU" = (/obj/effect/floor_decal/corner/pink/full,/obj/machinery/computer/med_data/laptop,/obj/structure/table/glass,/obj/machinery/light,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/white,/area/medical/patient_e) -"cbV" = (/obj/effect/floor_decal/corner/pink{dir = 10},/obj/structure/table/glass,/obj/item/weapon/paper_bin,/obj/item/weapon/clipboard,/obj/item/weapon/pen,/turf/simulated/floor/tiled/white,/area/medical/patient_e) +"cbU" = (/obj/effect/floor_decal/corner/pink/full,/obj/machinery/computer/med_data/laptop,/obj/structure/table/glass,/obj/machinery/light,/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/white,/area/medical/patient_e) +"cbV" = (/obj/effect/floor_decal/corner/pink{dir = 10},/obj/structure/table/glass,/obj/item/paper_bin,/obj/item/clipboard,/obj/item/pen,/turf/simulated/floor/tiled/white,/area/medical/patient_e) "cbW" = (/obj/effect/floor_decal/corner/pink{dir = 10},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/closet/secure_closet/personal/patient,/turf/simulated/floor/tiled/white,/area/medical/patient_e) "cbX" = (/turf/simulated/floor/tiled/white,/area/medical/patient_wing) "cbY" = (/obj/effect/floor_decal/corner/pink,/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -32},/obj/machinery/light,/obj/machinery/camera/network/medbay{c_tag = "MED - Patient Hallway Aft"; dir = 1},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) "cbZ" = (/obj/effect/floor_decal/corner/pink{dir = 10},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/closet/secure_closet/personal/patient,/turf/simulated/floor/tiled/white,/area/medical/patient_d) -"cca" = (/obj/effect/floor_decal/corner/pink{dir = 10},/obj/structure/table/glass,/obj/item/weapon/paper_bin,/obj/item/weapon/clipboard,/obj/item/weapon/pen,/turf/simulated/floor/tiled/white,/area/medical/patient_d) -"ccb" = (/obj/machinery/computer/med_data/laptop,/obj/structure/table/glass,/obj/effect/floor_decal/corner/pink/full{dir = 4},/obj/machinery/light,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled/white,/area/medical/patient_d) +"cca" = (/obj/effect/floor_decal/corner/pink{dir = 10},/obj/structure/table/glass,/obj/item/paper_bin,/obj/item/clipboard,/obj/item/pen,/turf/simulated/floor/tiled/white,/area/medical/patient_d) +"ccb" = (/obj/machinery/computer/med_data/laptop,/obj/structure/table/glass,/obj/effect/floor_decal/corner/pink/full{dir = 4},/obj/machinery/light,/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled/white,/area/medical/patient_d) "ccc" = (/obj/machinery/light{dir = 8},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/medical_escape_pod_hallway) "ccd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/medical_escape_pod_hallway) "cce" = (/obj/structure/closet/emcloset,/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/medical_escape_pod_hallway) @@ -5539,7 +5539,7 @@ "ccA" = (/obj/structure/table/woodentable,/obj/machinery/photocopier/faxmachine{department = "Captain's Office"},/turf/simulated/floor/wood,/area/crew_quarters/captain) "ccB" = (/turf/simulated/wall,/area/crew_quarters/captain) "ccC" = (/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/maintenance/central) -"ccD" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced,/obj/item/weapon/reagent_containers/food/drinks/flask/barflask,/obj/item/weapon/reagent_containers/glass/rag,/obj/item/weapon/reagent_containers/food/drinks/flask/vacuumflask,/obj/structure/extinguisher_cabinet{pixel_x = -27},/turf/simulated/floor/lino,/area/crew_quarters/bar) +"ccD" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced,/obj/item/reagent_containers/food/drinks/flask/barflask,/obj/item/reagent_containers/glass/rag,/obj/item/reagent_containers/food/drinks/flask/vacuumflask,/obj/structure/extinguisher_cabinet{pixel_x = -27},/turf/simulated/floor/lino,/area/crew_quarters/bar) "ccE" = (/obj/machinery/door/window/southleft{name = "Bar"; req_access = list(25)},/obj/structure/disposalpipe/segment,/turf/simulated/floor/lino,/area/crew_quarters/bar) "ccF" = (/obj/structure/table/reinforced,/obj/machinery/door/blast/shutters{dir = 2; id = "bar"; layer = 3.1; name = "Bar Shutters"},/turf/simulated/floor/lino,/area/crew_quarters/bar) "ccG" = (/obj/structure/flora/pottedplant{icon_state = "plant-01"},/turf/simulated/floor/tiled,/area/crew_quarters/bar) @@ -5548,13 +5548,13 @@ "ccJ" = (/obj/machinery/vending/snack,/turf/simulated/floor/tiled/neutral,/area/crew_quarters/cafeteria) "ccK" = (/obj/machinery/atm{pixel_x = 0; pixel_y = -32},/turf/simulated/floor/tiled,/area/crew_quarters/cafeteria) "ccL" = (/obj/structure/bed/chair{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -32},/turf/simulated/floor/tiled/neutral,/area/crew_quarters/cafeteria) -"ccM" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{pixel_x = -3; pixel_y = 0},/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{pixel_x = 3},/obj/machinery/camera/network/civilian{c_tag = "CIV - Cafeteria Aft"; dir = 1},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/tiled,/area/crew_quarters/cafeteria) -"ccN" = (/obj/structure/table/standard,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = -32},/obj/machinery/light,/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/tiled/neutral,/area/crew_quarters/cafeteria) +"ccM" = (/obj/structure/table/standard,/obj/item/reagent_containers/food/condiment/small/saltshaker{pixel_x = -3; pixel_y = 0},/obj/item/reagent_containers/food/condiment/small/peppermill{pixel_x = 3},/obj/machinery/camera/network/civilian{c_tag = "CIV - Cafeteria Aft"; dir = 1},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/tiled,/area/crew_quarters/cafeteria) +"ccN" = (/obj/structure/table/standard,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = -32},/obj/machinery/light,/obj/item/book/codex/lore/vir,/turf/simulated/floor/tiled/neutral,/area/crew_quarters/cafeteria) "ccO" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/neutral,/area/crew_quarters/cafeteria) "ccP" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/newscaster{pixel_x = 0; pixel_y = -28},/turf/simulated/floor/tiled,/area/crew_quarters/cafeteria) "ccQ" = (/obj/machinery/light{dir = 8},/obj/effect/floor_decal/corner/pink{dir = 9},/turf/simulated/floor/tiled,/area/hallway/secondary/medical_emergency_hallway) "ccR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/corner/pink{dir = 6},/obj/structure/extinguisher_cabinet{pixel_x = 25},/turf/simulated/floor/tiled,/area/hallway/secondary/medical_emergency_hallway) -"ccS" = (/obj/effect/decal/cleanable/vomit,/obj/item/weapon/stool/padded,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor,/area/maintenance/medbay_aft) +"ccS" = (/obj/effect/decal/cleanable/vomit,/obj/item/stool/padded,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor,/area/maintenance/medbay_aft) "ccT" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{name = "Medbay Patient Wing Maintenance Access"; req_access = list(5)},/turf/simulated/floor/plating,/area/medical/patient_wing) "ccU" = (/turf/simulated/wall,/area/medical/patient_wing) "ccV" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/medical_escape_pod_hallway) @@ -5591,7 +5591,7 @@ "cdA" = (/obj/effect/floor_decal/corner/blue{dir = 1},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/camera/network/command{c_tag = "COM - Bridge Starboard"},/turf/simulated/floor/tiled,/area/bridge) "cdB" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/bridge) "cdC" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/corner/blue{dir = 4},/obj/machinery/button/remote/blast_door{id = "bridge blast"; name = "Bridge Blastdoors"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/tiled,/area/bridge) -"cdD" = (/obj/structure/fireaxecabinet{pixel_y = 32},/obj/structure/table/reinforced,/obj/item/weapon/storage/box/lights/mixed,/obj/item/device/multitool,/obj/item/weapon/storage/toolbox/mechanical,/obj/effect/floor_decal/corner/blue/full{dir = 1},/obj/machinery/requests_console{announcementConsole = 1; department = "Bridge"; departmentType = 5; name = "Bridge RC"; pixel_x = 30; pixel_y = -3},/turf/simulated/floor/tiled,/area/bridge) +"cdD" = (/obj/structure/fireaxecabinet{pixel_y = 32},/obj/structure/table/reinforced,/obj/item/storage/box/lights/mixed,/obj/item/multitool,/obj/item/storage/toolbox/mechanical,/obj/effect/floor_decal/corner/blue/full{dir = 1},/obj/machinery/requests_console{announcementConsole = 1; department = "Bridge"; departmentType = 5; name = "Bridge RC"; pixel_x = 30; pixel_y = -3},/turf/simulated/floor/tiled,/area/bridge) "cdE" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/dark,/area/hallway/primary/central_three) "cdF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark,/area/hallway/primary/central_three) "cdG" = (/turf/simulated/floor/tiled/dark,/area/hallway/primary/central_three) @@ -5606,10 +5606,10 @@ "cdP" = (/obj/machinery/newscaster{pixel_x = 30},/turf/simulated/floor/tiled,/area/hallway/primary/central_two) "cdQ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/secondary/medical_emergency_hallway) "cdR" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/floor_decal/corner/pink{dir = 9},/turf/simulated/floor/tiled,/area/hallway/secondary/medical_emergency_hallway) -"cdS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 26},/obj/effect/floor_decal/corner/pink{dir = 6},/turf/simulated/floor/tiled,/area/hallway/secondary/medical_emergency_hallway) +"cdS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 26},/obj/effect/floor_decal/corner/pink{dir = 6},/turf/simulated/floor/tiled,/area/hallway/secondary/medical_emergency_hallway) "cdT" = (/obj/item/clothing/head/cone,/turf/simulated/floor,/area/maintenance/medbay_aft) -"cdU" = (/obj/item/weapon/broken_bottle,/turf/simulated/floor,/area/maintenance/medbay_aft) -"cdV" = (/obj/structure/table/woodentable,/obj/item/weapon/material/ashtray/plastic,/obj/item/weapon/cigbutt/cigarbutt,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor,/area/maintenance/medbay_aft) +"cdU" = (/obj/item/broken_bottle,/turf/simulated/floor,/area/maintenance/medbay_aft) +"cdV" = (/obj/structure/table/woodentable,/obj/item/material/ashtray/plastic,/obj/item/cigbutt/cigarbutt,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor,/area/maintenance/medbay_aft) "cdW" = (/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "medbayquar"; name = "Medbay Emergency Lockdown Shutters"; opacity = 0},/turf/simulated/floor,/area/maintenance/medbay_aft) "cdX" = (/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "medbayquar"; name = "Medbay Emergency Lockdown Shutters"; opacity = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/maintenance/medbay_aft) "cdY" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "large_escape_pod_1_berth_hatch"; locked = 1; name = "Large Escape Pod 1"; req_access = list(13)},/turf/simulated/floor,/area/hallway/secondary/escape/medical_escape_pod_hallway) @@ -5642,7 +5642,7 @@ "cez" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/central_three) "ceA" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/hallway/primary/central_three) "ceB" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/central_three) -"ceC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/hallway/primary/central_three) +"ceC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/hallway/primary/central_three) "ceD" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/bar) "ceE" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) "ceF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/wood,/area/crew_quarters/bar) @@ -5675,9 +5675,9 @@ "cfg" = (/obj/effect/floor_decal/corner/brown{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/quartermaster/miningdock) "cfh" = (/obj/machinery/hologram/holopad,/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/quartermaster/miningdock) "cfi" = (/obj/effect/floor_decal/corner/brown{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/miningdock) -"cfj" = (/obj/structure/table/steel,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_x = 0; pixel_y = 28},/obj/effect/floor_decal/corner/brown{dir = 5},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/miningdock) -"cfk" = (/obj/structure/table/steel,/obj/item/weapon/folder/yellow,/obj/item/weapon/pen,/obj/effect/floor_decal/corner/brown{dir = 5},/obj/machinery/light{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/miningdock) -"cfl" = (/obj/effect/floor_decal/corner/brown{dir = 5},/obj/item/weapon/stool,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/landmark/start{name = "Shaft Miner"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/miningdock) +"cfj" = (/obj/structure/table/steel,/obj/item/paper_bin{pixel_x = 1; pixel_y = 9},/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_x = 0; pixel_y = 28},/obj/effect/floor_decal/corner/brown{dir = 5},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/miningdock) +"cfk" = (/obj/structure/table/steel,/obj/item/folder/yellow,/obj/item/pen,/obj/effect/floor_decal/corner/brown{dir = 5},/obj/machinery/light{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/miningdock) +"cfl" = (/obj/effect/floor_decal/corner/brown{dir = 5},/obj/item/stool,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/landmark/start{name = "Shaft Miner"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/miningdock) "cfm" = (/obj/machinery/firealarm{pixel_y = 26},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/miningdock) "cfn" = (/obj/machinery/door/airlock/maintenance{name = "Mining Maintenance"; req_access = list(50)},/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/quartermaster/miningdock) "cfo" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/sortjunction/untagged{dir = 4},/turf/simulated/floor,/area/maintenance/cargo) @@ -5724,7 +5724,7 @@ "cgd" = (/obj/machinery/floor_light{anchored = 1},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor,/area/crew_quarters/bar) "cge" = (/obj/machinery/door/airlock{name = "Unit 2"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/barrestroom) "cgf" = (/obj/machinery/door/airlock{name = "Unit 1"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/barrestroom) -"cgg" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/barrestroom) +"cgg" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/barrestroom) "cgh" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/mirror{pixel_x = 28},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/barrestroom) "cgi" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/primary/central_two) "cgj" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/hallway/primary/central_two) @@ -5734,12 +5734,12 @@ "cgn" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/medical_emergency_hallway) "cgo" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/medical_emergency_hallway) "cgp" = (/obj/structure/closet/emcloset,/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/medical_emergency_hallway) -"cgq" = (/obj/structure/closet,/obj/item/clothing/glasses/welding,/obj/item/weapon/weldingtool,/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/clean,/obj/random/maintenance/engineering,/turf/simulated/floor/plating,/area/maintenance/medbay_aft) +"cgq" = (/obj/structure/closet,/obj/item/clothing/glasses/welding,/obj/item/weldingtool,/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/clean,/obj/random/maintenance/engineering,/turf/simulated/floor/plating,/area/maintenance/medbay_aft) "cgr" = (/obj/machinery/space_heater,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/medbay_aft) "cgs" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor,/area/maintenance/medbay_aft) "cgt" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/maintenance/medbay_aft) "cgu" = (/turf/simulated/floor/plating,/area/maintenance/medbay_aft) -"cgv" = (/obj/structure/closet/crate,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/obj/item/weapon/tool/crowbar,/obj/item/weapon/tool/wirecutters,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/turf/simulated/floor,/area/maintenance/medbay_aft) +"cgv" = (/obj/structure/closet/crate,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/obj/item/tool/crowbar,/obj/item/tool/wirecutters,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/turf/simulated/floor,/area/maintenance/medbay_aft) "cgw" = (/turf/space,/obj/structure/shuttle/engine/propulsion{dir = 8},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/large_escape_pod1/station) "cgx" = (/obj/structure/shuttle/engine/heater{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/airless,/area/shuttle/large_escape_pod1/station) "cgy" = (/obj/machinery/atmospherics/unary/cryo_cell{layer = 3.3},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod1/station) @@ -5748,7 +5748,7 @@ "cgB" = (/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "large_escape_pod_1"; pixel_x = -26; pixel_y = 26; tag_door = "large_escape_pod_1_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod1/station) "cgC" = (/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod1/station) "cgD" = (/obj/structure/bed/chair,/obj/machinery/light{dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod1/station) -"cgE" = (/obj/structure/bed/chair,/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 1; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = 21},/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod1/station) +"cgE" = (/obj/structure/bed/chair,/obj/item/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 1; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = 21},/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod1/station) "cgF" = (/obj/structure/bed/chair,/obj/machinery/vending/wallmed1{layer = 3.3; name = "Emergency NanoMed"; pixel_x = 28; pixel_y = 0},/obj/structure/closet/walllocker/emerglocker{pixel_x = 0; pixel_y = 32},/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod1/station) "cgG" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled/steel,/area/quartermaster/miningdock) "cgH" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/steel,/area/quartermaster/miningdock) @@ -5792,9 +5792,9 @@ "cht" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/bar) "chu" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/newscaster{pixel_x = 0; pixel_y = -28},/turf/simulated/floor/wood,/area/crew_quarters/bar) "chv" = (/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"chw" = (/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{pixel_x = 2; pixel_y = 6},/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{pixel_x = -2; pixel_y = 4},/obj/item/weapon/flame/candle,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light,/turf/simulated/floor/wood,/area/crew_quarters/bar) +"chw" = (/obj/item/reagent_containers/food/condiment/small/peppermill{pixel_x = 2; pixel_y = 6},/obj/structure/table/woodentable,/obj/item/reagent_containers/food/condiment/small/saltshaker{pixel_x = -2; pixel_y = 4},/obj/item/flame/candle,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light,/turf/simulated/floor/wood,/area/crew_quarters/bar) "chx" = (/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"chy" = (/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{pixel_x = 2; pixel_y = 6},/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{pixel_x = -2; pixel_y = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/item/device/flashlight/lamp/green,/turf/simulated/floor/wood,/area/crew_quarters/bar) +"chy" = (/obj/item/reagent_containers/food/condiment/small/peppermill{pixel_x = 2; pixel_y = 6},/obj/structure/table/woodentable,/obj/item/reagent_containers/food/condiment/small/saltshaker{pixel_x = -2; pixel_y = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/item/flashlight/lamp/green,/turf/simulated/floor/wood,/area/crew_quarters/bar) "chz" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/media/jukebox,/turf/simulated/floor/wood,/area/crew_quarters/bar) "chA" = (/obj/machinery/floor_light{anchored = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor,/area/crew_quarters/bar) "chB" = (/obj/machinery/camera/network/civilian{c_tag = "CIV - Bar Aft Starboard"; dir = 8},/obj/machinery/floor_light{anchored = 1},/turf/simulated/floor,/area/crew_quarters/bar) @@ -5820,7 +5820,7 @@ "chV" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod1/station) "chW" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod1/station) "chX" = (/obj/structure/shuttle/window,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/large_escape_pod1/station) -"chY" = (/obj/effect/floor_decal/corner/brown/full,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/tiled/steel,/area/quartermaster/miningdock) +"chY" = (/obj/effect/floor_decal/corner/brown/full,/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/tiled/steel,/area/quartermaster/miningdock) "chZ" = (/obj/effect/floor_decal/corner/brown{dir = 8},/turf/simulated/floor/tiled/steel,/area/quartermaster/miningdock) "cia" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/miningdock) "cib" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/miningdock) @@ -5828,7 +5828,7 @@ "cid" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/miningdock) "cie" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/effect/landmark/start{name = "Shaft Miner"},/turf/simulated/floor/tiled,/area/quartermaster/miningdock) "cif" = (/obj/effect/floor_decal/corner/brown,/turf/simulated/floor/tiled,/area/quartermaster/miningdock) -"cig" = (/obj/item/weapon/pickaxe{pixel_x = 5},/obj/item/weapon/shovel{pixel_x = -5},/obj/structure/table/rack{dir = 1},/obj/effect/floor_decal/corner/brown/full{dir = 4},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/ai_status_display{pixel_y = -32},/turf/simulated/floor/tiled,/area/quartermaster/miningdock) +"cig" = (/obj/item/pickaxe{pixel_x = 5},/obj/item/shovel{pixel_x = -5},/obj/structure/table/rack{dir = 1},/obj/effect/floor_decal/corner/brown/full{dir = 4},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/ai_status_display{pixel_y = -32},/turf/simulated/floor/tiled,/area/quartermaster/miningdock) "cih" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Delivery Office Maintenance"; req_access = list(50)},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/quartermaster/delivery) "cii" = (/turf/simulated/wall,/area/quartermaster/delivery) "cij" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall,/area/quartermaster/delivery) @@ -5847,21 +5847,21 @@ "ciw" = (/obj/machinery/power/breakerbox/activated{RCon_tag = "Research Substation Bypass"},/turf/simulated/floor,/area/maintenance/substation/research) "cix" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/hallway/primary/central_four) "ciy" = (/obj/structure/closet/emcloset,/obj/effect/floor_decal/corner/blue/full,/turf/simulated/floor/tiled,/area/bridge) -"ciz" = (/obj/structure/table/reinforced,/obj/item/device/flashlight,/obj/item/device/flashlight{pixel_x = 2; pixel_y = 2},/obj/effect/floor_decal/corner/blue{dir = 10},/turf/simulated/floor/tiled,/area/bridge) -"ciA" = (/obj/structure/table/reinforced,/obj/item/device/radio,/obj/item/device/radio{pixel_x = 2; pixel_y = 3},/obj/structure/window/reinforced{dir = 4},/obj/effect/floor_decal/corner/blue/full{dir = 4},/obj/machinery/light,/turf/simulated/floor/tiled,/area/bridge) +"ciz" = (/obj/structure/table/reinforced,/obj/item/flashlight,/obj/item/flashlight{pixel_x = 2; pixel_y = 2},/obj/effect/floor_decal/corner/blue{dir = 10},/turf/simulated/floor/tiled,/area/bridge) +"ciA" = (/obj/structure/table/reinforced,/obj/item/radio,/obj/item/radio{pixel_x = 2; pixel_y = 3},/obj/structure/window/reinforced{dir = 4},/obj/effect/floor_decal/corner/blue/full{dir = 4},/obj/machinery/light,/turf/simulated/floor/tiled,/area/bridge) "ciB" = (/obj/machinery/computer/secure_data,/obj/effect/floor_decal/corner/red/full,/turf/simulated/floor/tiled,/area/bridge) "ciC" = (/obj/machinery/computer/security,/obj/effect/floor_decal/corner/red/full{dir = 4},/turf/simulated/floor/tiled,/area/bridge) -"ciD" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/secure/briefcase,/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/corner/blue/full,/turf/simulated/floor/tiled,/area/bridge) -"ciE" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/PDAs{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/ids,/obj/structure/window/reinforced{dir = 4},/obj/effect/floor_decal/corner/blue/full{dir = 4},/obj/machinery/light,/turf/simulated/floor/tiled,/area/bridge) +"ciD" = (/obj/structure/table/reinforced,/obj/item/storage/secure/briefcase,/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/corner/blue/full,/turf/simulated/floor/tiled,/area/bridge) +"ciE" = (/obj/structure/table/reinforced,/obj/item/storage/box/PDAs{pixel_x = 4; pixel_y = 4},/obj/item/storage/box/ids,/obj/structure/window/reinforced{dir = 4},/obj/effect/floor_decal/corner/blue/full{dir = 4},/obj/machinery/light,/turf/simulated/floor/tiled,/area/bridge) "ciF" = (/obj/machinery/computer/card,/obj/effect/floor_decal/corner/blue/full,/turf/simulated/floor/tiled,/area/bridge) "ciG" = (/obj/machinery/computer/communications,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/corner/blue/full{dir = 4},/turf/simulated/floor/tiled,/area/bridge) -"ciH" = (/obj/structure/table/reinforced,/obj/item/device/flash,/obj/item/device/flash,/obj/item/device/aicard,/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/corner/blue/full,/obj/machinery/light,/turf/simulated/floor/tiled,/area/bridge) +"ciH" = (/obj/structure/table/reinforced,/obj/item/flash,/obj/item/flash,/obj/item/aicard,/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/corner/blue/full,/obj/machinery/light,/turf/simulated/floor/tiled,/area/bridge) "ciI" = (/obj/structure/table/reinforced,/obj/machinery/recharger{pixel_y = 0},/obj/structure/window/reinforced{dir = 4},/obj/effect/floor_decal/corner/blue/full{dir = 4},/turf/simulated/floor/tiled,/area/bridge) "ciJ" = (/obj/machinery/computer/crew,/obj/effect/floor_decal/corner/white/full,/turf/simulated/floor/tiled,/area/bridge) "ciK" = (/obj/machinery/computer/med_data,/obj/effect/floor_decal/corner/white/full{icon_state = "corner_white_full"; dir = 4},/turf/simulated/floor/tiled,/area/bridge) -"ciL" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin,/obj/item/weapon/folder/red,/obj/item/weapon/folder/blue,/obj/item/weapon/pen,/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/corner/blue/full,/obj/machinery/light,/turf/simulated/floor/tiled,/area/bridge) -"ciM" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/firstaid/regular,/obj/effect/floor_decal/corner/blue{dir = 10},/turf/simulated/floor/tiled,/area/bridge) -"ciN" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/donut,/obj/effect/floor_decal/corner/blue/full{dir = 4},/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = -24},/turf/simulated/floor/tiled,/area/bridge) +"ciL" = (/obj/structure/table/reinforced,/obj/item/paper_bin,/obj/item/folder/red,/obj/item/folder/blue,/obj/item/pen,/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/corner/blue/full,/obj/machinery/light,/turf/simulated/floor/tiled,/area/bridge) +"ciM" = (/obj/structure/table/reinforced,/obj/item/storage/firstaid/regular,/obj/effect/floor_decal/corner/blue{dir = 10},/turf/simulated/floor/tiled,/area/bridge) +"ciN" = (/obj/structure/table/reinforced,/obj/item/storage/box/donut,/obj/effect/floor_decal/corner/blue/full{dir = 4},/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = -24},/turf/simulated/floor/tiled,/area/bridge) "ciO" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/hallway/primary/central_three) "ciP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/hallway/primary/central_three) "ciQ" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/hallway/primary/central_three) @@ -5884,14 +5884,14 @@ "cjh" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor,/area/maintenance/medbay_aft) "cji" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor,/area/maintenance/medbay_aft) "cjj" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/maintenance/medbay_aft) -"cjk" = (/obj/structure/table/rack,/obj/item/clothing/glasses/sunglasses,/obj/item/clothing/suit/storage/hazardvest,/obj/item/weapon/storage/box/lights/mixed,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/turf/simulated/floor/plating,/area/maintenance/medbay_aft) +"cjk" = (/obj/structure/table/rack,/obj/item/clothing/glasses/sunglasses,/obj/item/clothing/suit/storage/hazardvest,/obj/item/storage/box/lights/mixed,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/turf/simulated/floor/plating,/area/maintenance/medbay_aft) "cjl" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/oxygen/prechilled,/obj/machinery/light,/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod1/station) -"cjm" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = -4; pixel_y = 0},/obj/item/weapon/tool/wrench,/obj/random/medical/lite,/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod1/station) -"cjn" = (/obj/structure/closet/crate/medical,/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/weapon/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/obj/item/weapon/storage/box/masks{pixel_x = 0; pixel_y = 0},/obj/item/weapon/storage/box/gloves{pixel_x = 3; pixel_y = 4},/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/fire{layer = 2.9; pixel_x = 2; pixel_y = 3},/obj/item/weapon/storage/firstaid/adv{pixel_x = -2},/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod1/station) +"cjm" = (/obj/structure/table/standard,/obj/item/reagent_containers/glass/beaker/cryoxadone{pixel_x = -4; pixel_y = 0},/obj/item/tool/wrench,/obj/random/medical/lite,/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod1/station) +"cjn" = (/obj/structure/closet/crate/medical,/obj/item/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/obj/item/storage/box/masks{pixel_x = 0; pixel_y = 0},/obj/item/storage/box/gloves{pixel_x = 3; pixel_y = 4},/obj/item/storage/firstaid/toxin,/obj/item/storage/firstaid/fire{layer = 2.9; pixel_x = 2; pixel_y = 3},/obj/item/storage/firstaid/adv{pixel_x = -2},/obj/item/reagent_containers/blood/empty,/obj/item/reagent_containers/blood/empty,/obj/item/reagent_containers/blood/empty,/obj/item/reagent_containers/blood/empty,/obj/item/reagent_containers/blood/empty,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod1/station) "cjo" = (/obj/machinery/sleeper{dir = 8},/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod1/station) "cjp" = (/obj/machinery/sleep_console,/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod1/station) "cjq" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/light,/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod1/station) -"cjr" = (/obj/structure/bed/chair{dir = 1},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod1/station) +"cjr" = (/obj/structure/bed/chair{dir = 1},/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod1/station) "cjs" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod1/station) "cjt" = (/turf/simulated/wall,/area/quartermaster/office) "cju" = (/obj/structure/reagent_dispensers/fueltank,/obj/effect/floor_decal/corner/brown/full,/turf/simulated/floor/tiled,/area/quartermaster/miningdock) @@ -5899,7 +5899,7 @@ "cjw" = (/obj/effect/floor_decal/corner/brown{dir = 8},/obj/machinery/camera/network/cargo{c_tag = "CRG - Mining Dock"; dir = 1; name = "security camera"},/turf/simulated/floor/tiled,/area/quartermaster/miningdock) "cjx" = (/obj/structure/closet/secure_closet/miner,/obj/effect/floor_decal/corner/brown,/turf/simulated/floor/tiled,/area/quartermaster/miningdock) "cjy" = (/obj/structure/closet/secure_closet/miner,/obj/effect/floor_decal/corner/brown{dir = 10},/turf/simulated/floor/tiled,/area/quartermaster/miningdock) -"cjz" = (/obj/structure/table/rack{dir = 1},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/item/weapon/storage/belt/utility,/obj/effect/floor_decal/corner/brown/full{dir = 4},/obj/machinery/newscaster{pixel_x = 0; pixel_y = -28},/turf/simulated/floor/tiled,/area/quartermaster/miningdock) +"cjz" = (/obj/structure/table/rack{dir = 1},/obj/item/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/item/storage/belt/utility,/obj/effect/floor_decal/corner/brown/full{dir = 4},/obj/machinery/newscaster{pixel_x = 0; pixel_y = -28},/turf/simulated/floor/tiled,/area/quartermaster/miningdock) "cjA" = (/obj/structure/extinguisher_cabinet{pixel_x = 25; pixel_y = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/quartermaster/delivery) "cjB" = (/obj/machinery/disposal/deliveryChute,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor,/area/quartermaster/delivery) "cjC" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/engineering{name = "Cargo Substation"; req_one_access = list(11,24,50)},/obj/machinery/door/firedoor,/turf/simulated/floor,/area/maintenance/substation/cargo) @@ -5907,12 +5907,12 @@ "cjE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/engineering{name = "Cargo Substation"; req_one_access = list(11,24,50)},/obj/machinery/door/firedoor,/turf/simulated/floor,/area/maintenance/substation/cargo) "cjF" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall,/area/maintenance/substation/cargo) "cjG" = (/obj/effect/decal/cleanable/generic,/obj/structure/table/rack,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/cargo) -"cjH" = (/obj/item/weapon/material/shard{icon_state = "medium"},/turf/simulated/floor,/area/maintenance/cargo) +"cjH" = (/obj/item/material/shard{icon_state = "medium"},/turf/simulated/floor,/area/maintenance/cargo) "cjI" = (/turf/simulated/floor,/area/maintenance/cargo) "cjJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/maintenance/cargo) -"cjK" = (/obj/structure/closet/crate,/obj/item/weapon/tank/emergency/oxygen/engi,/obj/item/weapon/tank/emergency/oxygen/double,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/cargo) +"cjK" = (/obj/structure/closet/crate,/obj/item/tank/emergency/oxygen/engi,/obj/item/tank/emergency/oxygen/double,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/cargo) "cjL" = (/obj/structure/closet/emcloset,/turf/simulated/floor,/area/maintenance/cargo) -"cjM" = (/obj/structure/table/rack,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/obj/item/clothing/glasses/meson,/obj/random/maintenance/cargo,/turf/simulated/floor,/area/maintenance/cargo) +"cjM" = (/obj/structure/table/rack,/obj/item/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/mask/gas,/obj/item/flashlight,/obj/item/clothing/glasses/meson,/obj/random/maintenance/cargo,/turf/simulated/floor,/area/maintenance/cargo) "cjN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/maintenance/cargo) "cjO" = (/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{dir = 8; icon_state = "map"},/obj/machinery/meter,/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor,/area/maintenance/cargo) "cjP" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 10; icon_state = "intact"},/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor,/area/maintenance/cargo) @@ -5930,7 +5930,7 @@ "ckb" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/central_three) "ckc" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/primary/central_three) "ckd" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/hallway/primary/central_two) -"cke" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 26},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/dark,/area/hallway/primary/central_two) +"cke" = (/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 26},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/dark,/area/hallway/primary/central_two) "ckf" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/secondary/medical_emergency_hallway) "ckg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/secondary/medical_emergency_hallway) "ckh" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/secondary/medical_emergency_hallway) @@ -5940,21 +5940,21 @@ "ckl" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/quartermaster/miningdock) "ckm" = (/obj/machinery/door/airlock/mining{id_tag = "cargodoor"; name = "Mining Dock"; req_access = list(50)},/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/quartermaster/miningdock) "ckn" = (/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/quartermaster/delivery) -"cko" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/quartermaster/delivery) +"cko" = (/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/quartermaster/delivery) "ckp" = (/obj/machinery/conveyor{dir = 1; id = "packageSort1"},/turf/simulated/floor,/area/quartermaster/delivery) "ckq" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/maintenance/substation/cargo) "ckr" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor,/area/maintenance/substation/cargo) "cks" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor,/area/maintenance/substation/cargo) "ckt" = (/turf/simulated/wall,/area/storage/primary) "cku" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/storage/primary) -"ckv" = (/obj/structure/closet/crate,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/cargo) +"ckv" = (/obj/structure/closet/crate,/obj/item/clothing/mask/gas,/obj/item/flashlight,/obj/item/flashlight,/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/cargo) "ckw" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 1; start_pressure = 740},/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor,/area/maintenance/cargo) "ckx" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 1; start_pressure = 740},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor,/area/maintenance/cargo) -"cky" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/obj/item/device/multitool,/obj/item/clothing/glasses/meson,/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/storage/tech) -"ckz" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/obj/item/clothing/gloves/yellow,/obj/item/device/t_scanner,/obj/item/clothing/glasses/meson,/obj/item/device/multitool,/turf/simulated/floor/plating,/area/storage/tech) -"ckA" = (/obj/item/device/flashlight{pixel_x = 1; pixel_y = 5},/obj/item/device/flashlight{pixel_x = 1; pixel_y = 5},/obj/item/device/flash,/obj/item/device/flash,/obj/structure/table/steel,/obj/machinery/camera/network/engineering{c_tag = "ENG - Technical Storage"; dir = 2},/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/plating,/area/storage/tech) -"ckB" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/device/analyzer/plant_analyzer,/obj/item/device/healthanalyzer,/obj/item/device/analyzer,/obj/item/device/analyzer,/turf/simulated/floor/plating,/area/storage/tech) -"ckC" = (/obj/machinery/status_display{layer = 4; pixel_x = 32; pixel_y = 0},/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/stock_parts/matter_bin,/obj/item/weapon/stock_parts/matter_bin,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/circuitboard/autolathe,/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/storage/tech) +"cky" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/obj/item/multitool,/obj/item/clothing/glasses/meson,/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/storage/tech) +"ckz" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/obj/item/clothing/gloves/yellow,/obj/item/t_scanner,/obj/item/clothing/glasses/meson,/obj/item/multitool,/turf/simulated/floor/plating,/area/storage/tech) +"ckA" = (/obj/item/flashlight{pixel_x = 1; pixel_y = 5},/obj/item/flashlight{pixel_x = 1; pixel_y = 5},/obj/item/flash,/obj/item/flash,/obj/structure/table/steel,/obj/machinery/camera/network/engineering{c_tag = "ENG - Technical Storage"; dir = 2},/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/plating,/area/storage/tech) +"ckB" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/analyzer/plant_analyzer,/obj/item/healthanalyzer,/obj/item/analyzer,/obj/item/analyzer,/turf/simulated/floor/plating,/area/storage/tech) +"ckC" = (/obj/machinery/status_display{layer = 4; pixel_x = 32; pixel_y = 0},/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/stock_parts/matter_bin,/obj/item/stock_parts/matter_bin,/obj/item/stock_parts/manipulator,/obj/item/stock_parts/console_screen,/obj/item/circuitboard/autolathe,/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/storage/tech) "ckD" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/primary/central_four) "ckE" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 32},/turf/simulated/mineral/floor/ignore_mapgen,/area/mine/explored/upper_level) "ckF" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/hallway/primary/central_three) @@ -5966,7 +5966,7 @@ "ckL" = (/obj/effect/floor_decal/corner/brown/full{dir = 8},/obj/machinery/status_display/supply_display{pixel_y = 32},/turf/simulated/floor/tiled,/area/quartermaster/office) "ckM" = (/obj/effect/floor_decal/corner/brown{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/office) "ckN" = (/turf/simulated/floor/tiled,/area/quartermaster/office) -"ckO" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/quartermaster/office) +"ckO" = (/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/quartermaster/office) "ckP" = (/obj/machinery/door/airlock/glass_mining{id_tag = "cargodoor"; name = "Cargo Office"; req_access = list(50)},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/quartermaster/office) "ckQ" = (/obj/effect/floor_decal/corner/brown{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/quartermaster/miningdock) "ckR" = (/obj/effect/floor_decal/corner/brown{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/miningdock) @@ -5986,14 +5986,14 @@ "clf" = (/obj/structure/table/standard,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/requests_console{department = "Tool Storage"; departmentType = 0; pixel_y = 30},/turf/simulated/floor/tiled,/area/storage/primary) "clg" = (/obj/machinery/camera/network/civilian{c_tag = "CIV - Primary Tool Storage"; dir = 2},/turf/simulated/floor/tiled,/area/storage/primary) "clh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/storage/primary) -"cli" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/storage/primary) +"cli" = (/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/storage/primary) "clj" = (/obj/structure/table/standard,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/tiled,/area/storage/primary) "clk" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/storage/tech) "cll" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/storage/tech) "clm" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/storage/tech) -"cln" = (/obj/item/weapon/module/power_control,/obj/item/weapon/airlock_electronics,/obj/structure/table/steel,/turf/simulated/floor/plating,/area/storage/tech) +"cln" = (/obj/item/module/power_control,/obj/item/airlock_electronics,/obj/structure/table/steel,/turf/simulated/floor/plating,/area/storage/tech) "clo" = (/turf/simulated/floor,/area/storage/tech) -"clp" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/structure/sign/directions/security{dir = 1; pixel_x = -32; pixel_y = 0},/obj/structure/sign/directions/science{dir = 1; pixel_x = -32; pixel_z = -8},/obj/structure/sign/directions/evac{dir = 4; pixel_x = -32; pixel_z = 8},/obj/machinery/camera/network/northern_star{c_tag = "Hall - Central Primary Port Aft 2"; dir = 4},/turf/simulated/floor/tiled/dark,/area/hallway/primary/central_four) +"clp" = (/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/structure/sign/directions/security{dir = 1; pixel_x = -32; pixel_y = 0},/obj/structure/sign/directions/science{dir = 1; pixel_x = -32; pixel_z = -8},/obj/structure/sign/directions/evac{dir = 4; pixel_x = -32; pixel_z = 8},/obj/machinery/camera/network/northern_star{c_tag = "Hall - Central Primary Port Aft 2"; dir = 4},/turf/simulated/floor/tiled/dark,/area/hallway/primary/central_four) "clq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/primary/central_three) "clr" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/primary/central_three) "cls" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/primary/central_three) @@ -6019,25 +6019,25 @@ "clM" = (/turf/simulated/floor/tiled,/area/quartermaster/delivery) "clN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/quartermaster/delivery) "clO" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/delivery) -"clP" = (/obj/item/weapon/stool,/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/floor/tiled,/area/quartermaster/delivery) +"clP" = (/obj/item/stool,/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/floor/tiled,/area/quartermaster/delivery) "clQ" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green,/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/power/sensor{name = "Powernet Sensor - Cargo Subgrid"; name_tag = "Cargo Subgrid"},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor,/area/maintenance/substation/cargo) "clR" = (/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Cargo"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/maintenance/substation/cargo) "clS" = (/obj/machinery/power/breakerbox/activated{RCon_tag = "Cargo Substation Bypass"},/turf/simulated/floor/plating,/area/maintenance/substation/cargo) "clT" = (/obj/structure/table/standard,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/storage/primary) "clU" = (/turf/simulated/floor/tiled,/area/storage/primary) -"clV" = (/obj/item/weapon/stool,/obj/effect/landmark/start{name = "Assistant"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/storage/primary) +"clV" = (/obj/item/stool,/obj/effect/landmark/start{name = "Assistant"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/storage/primary) "clW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/storage/primary) "clX" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/storage/primary) "clY" = (/obj/machinery/lapvend,/turf/simulated/floor/tiled,/area/storage/primary) "clZ" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/storage/tech) -"cma" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/borgupload{pixel_x = -1; pixel_y = 1},/obj/item/weapon/circuitboard/aiupload{pixel_x = 2; pixel_y = -2},/turf/simulated/floor/tiled/dark,/area/storage/tech) +"cma" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/circuitboard/borgupload{pixel_x = -1; pixel_y = 1},/obj/item/circuitboard/aiupload{pixel_x = 2; pixel_y = -2},/turf/simulated/floor/tiled/dark,/area/storage/tech) "cmb" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/machinery/camera/network/engineering{c_tag = "ENG - Secure Technical Storage"; dir = 2},/turf/simulated/floor/tiled/dark,/area/storage/tech) "cmc" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"},/turf/simulated/wall/r_wall,/area/storage/tech) -"cmd" = (/obj/item/device/aicard,/obj/item/weapon/aiModule/reset,/obj/structure/table/steel,/turf/simulated/floor/plating,/area/storage/tech) +"cmd" = (/obj/item/aicard,/obj/item/aiModule/reset,/obj/structure/table/steel,/turf/simulated/floor/plating,/area/storage/tech) "cme" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor,/area/storage/tech) -"cmf" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/cloning{pixel_x = 0},/obj/item/weapon/circuitboard/clonescanner,/obj/item/weapon/circuitboard/clonepod,/obj/item/weapon/circuitboard/scan_consolenew,/obj/item/weapon/circuitboard/med_data{pixel_x = 3; pixel_y = -3},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/storage/tech) +"cmf" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/circuitboard/cloning{pixel_x = 0},/obj/item/circuitboard/clonescanner,/obj/item/circuitboard/clonepod,/obj/item/circuitboard/scan_consolenew,/obj/item/circuitboard/med_data{pixel_x = 3; pixel_y = -3},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/storage/tech) "cmg" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor,/area/storage/tech) -"cmh" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/rdconsole,/obj/item/weapon/circuitboard/destructive_analyzer,/obj/item/weapon/circuitboard/protolathe,/obj/item/weapon/circuitboard/rdserver{pixel_x = 3; pixel_y = -3},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/storage/tech) +"cmh" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/circuitboard/rdconsole,/obj/item/circuitboard/destructive_analyzer,/obj/item/circuitboard/protolathe,/obj/item/circuitboard/rdserver{pixel_x = 3; pixel_y = -3},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/storage/tech) "cmi" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor,/area/storage/tech) "cmj" = (/obj/machinery/requests_console{department = "Tech storage"; pixel_x = 28; pixel_y = 0},/turf/simulated/floor,/area/storage/tech) "cmk" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/hallway/primary/central_four) @@ -6052,12 +6052,12 @@ "cmt" = (/obj/machinery/camera/network/northern_star{c_tag = "Hall - Central Primary Aft Port 2"; dir = 2},/turf/simulated/floor/tiled,/area/hallway/primary/central_three) "cmu" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/hallway/primary/central_three) "cmv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/tiled,/area/hallway/primary/central_three) -"cmw" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/hallway/primary/central_three) +"cmw" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/hallway/primary/central_three) "cmx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/primary/central_three) "cmy" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/hallway/primary/central_three) "cmz" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/hallway/primary/central_three) "cmA" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/hallway/primary/central_three) -"cmB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/hallway/primary/central_three) +"cmB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/hallway/primary/central_three) "cmC" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled,/area/hallway/primary/central_three) "cmD" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/central_three) "cmE" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/hallway/primary/central_three) @@ -6068,17 +6068,17 @@ "cmJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/central_three) "cmK" = (/obj/structure/flora/pottedplant{icon_state = "plant-01"},/turf/simulated/floor/tiled/dark,/area/hallway/primary/central_three) "cmL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/primary/central_three) -"cmM" = (/obj/structure/safe,/obj/item/clothing/under/color/yellow,/obj/item/key,/obj/item/toy/katana,/obj/item/weapon/melee/chainofcommand,/obj/item/weapon/disk/nuclear{name = "authentication disk"},/obj/item/weapon/moneybag/vault,/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) +"cmM" = (/obj/structure/safe,/obj/item/clothing/under/color/yellow,/obj/item/key,/obj/item/toy/katana,/obj/item/melee/chainofcommand,/obj/item/disk/nuclear{name = "authentication disk"},/obj/item/moneybag/vault,/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) "cmN" = (/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) "cmO" = (/obj/effect/landmark{name = "blobstart"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) "cmP" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) "cmQ" = (/obj/structure/filingcabinet/security{name = "Security Records"},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) -"cmR" = (/obj/structure/table/standard,/obj/item/weapon/material/ashtray/glass,/obj/effect/floor_decal/corner/brown{dir = 9},/obj/machinery/newscaster{pixel_x = -28; pixel_y = 0},/obj/item/weapon/deck/cards,/turf/simulated/floor/tiled,/area/quartermaster/office) +"cmR" = (/obj/structure/table/standard,/obj/item/material/ashtray/glass,/obj/effect/floor_decal/corner/brown{dir = 9},/obj/machinery/newscaster{pixel_x = -28; pixel_y = 0},/obj/item/deck/cards,/turf/simulated/floor/tiled,/area/quartermaster/office) "cmS" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/quartermaster/office) -"cmT" = (/obj/item/weapon/stamp/denied{pixel_x = 4; pixel_y = -2},/obj/structure/table/standard,/obj/effect/floor_decal/corner/brown,/obj/item/weapon/stamp/cargo,/turf/simulated/floor/tiled,/area/quartermaster/office) +"cmT" = (/obj/item/stamp/denied{pixel_x = 4; pixel_y = -2},/obj/structure/table/standard,/obj/effect/floor_decal/corner/brown,/obj/item/stamp/cargo,/turf/simulated/floor/tiled,/area/quartermaster/office) "cmU" = (/obj/structure/sign/poster{pixel_x = 0; pixel_y = 0},/turf/simulated/wall,/area/quartermaster/office) "cmV" = (/obj/machinery/door/airlock/glass_mining{id_tag = "cargodoor"; name = "Cargo Office"; req_access = list(50)},/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/quartermaster/miningdock) -"cmW" = (/obj/structure/table/steel,/obj/item/weapon/storage/box,/obj/item/weapon/storage/box,/obj/effect/floor_decal/corner/brown{dir = 8},/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/turf/simulated/floor/tiled,/area/quartermaster/delivery) +"cmW" = (/obj/structure/table/steel,/obj/item/storage/box,/obj/item/storage/box,/obj/effect/floor_decal/corner/brown{dir = 8},/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/turf/simulated/floor/tiled,/area/quartermaster/delivery) "cmX" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/quartermaster/delivery) "cmY" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/quartermaster/delivery) "cmZ" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/delivery) @@ -6089,13 +6089,13 @@ "cne" = (/turf/simulated/wall,/area/storage/emergency_storage/emergency6) "cnf" = (/turf/simulated/wall,/area/medical/first_aid_station) "cng" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/storage/tech) -"cnh" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/crew{pixel_x = -1; pixel_y = 1},/obj/item/weapon/circuitboard/card{pixel_x = 2; pixel_y = -2},/obj/item/weapon/circuitboard/communications{pixel_x = 5; pixel_y = -5},/obj/machinery/light/small{dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/dark,/area/storage/tech) +"cnh" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/circuitboard/crew{pixel_x = -1; pixel_y = 1},/obj/item/circuitboard/card{pixel_x = 2; pixel_y = -2},/obj/item/circuitboard/communications{pixel_x = 5; pixel_y = -5},/obj/machinery/light/small{dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/dark,/area/storage/tech) "cni" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/dark,/area/storage/tech) "cnj" = (/obj/machinery/door/airlock/highsecurity{name = "Secure Tech Storage"; req_access = list(19,23)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/storage/tech) "cnk" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/storage/tech) -"cnl" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/secure_data{pixel_x = -2; pixel_y = 2},/obj/item/weapon/circuitboard/security{pixel_x = 1; pixel_y = -1},/obj/item/weapon/circuitboard/skills{pixel_x = 4; pixel_y = -3},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/storage/tech) +"cnl" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/circuitboard/secure_data{pixel_x = -2; pixel_y = 2},/obj/item/circuitboard/security{pixel_x = 1; pixel_y = -1},/obj/item/circuitboard/skills{pixel_x = 4; pixel_y = -3},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/storage/tech) "cnm" = (/obj/machinery/hologram/holopad,/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/storage/tech) -"cnn" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/security/mining,/obj/item/weapon/circuitboard/autolathe{pixel_x = 3; pixel_y = -3},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/storage/tech) +"cnn" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/circuitboard/security/mining,/obj/item/circuitboard/autolathe{pixel_x = 3; pixel_y = -3},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/storage/tech) "cno" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/storage/tech) "cnp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/navbeacon/patrol{next_patrol = "CH11"; location = "CH10"},/turf/simulated/floor/tiled,/area/hallway/primary/central_four) "cnq" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled,/area/hallway/primary/central_four) @@ -6118,7 +6118,7 @@ "cnH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/navbeacon/patrol{next_patrol = "CH8"; location = "CH7"},/turf/simulated/floor/tiled,/area/hallway/primary/central_three) "cnI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/hallway/primary/central_three) "cnJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/central_three) -"cnK" = (/obj/machinery/camera/network/northern_star{c_tag = "Hall - Central Primary Aft Starboard 3"; dir = 8},/obj/structure/table/glass,/obj/item/weapon/dice,/turf/simulated/floor/tiled/dark,/area/hallway/primary/central_three) +"cnK" = (/obj/machinery/camera/network/northern_star{c_tag = "Hall - Central Primary Aft Starboard 3"; dir = 8},/obj/structure/table/glass,/obj/item/dice,/turf/simulated/floor/tiled/dark,/area/hallway/primary/central_three) "cnL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/primary/central_three) "cnM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) "cnN" = (/obj/structure/filingcabinet/medical{desc = "A large cabinet with hard copy medical records."; name = "Medical Records"},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) @@ -6126,14 +6126,14 @@ "cnP" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/office) "cnQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled,/area/quartermaster/office) "cnR" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/quartermaster/office) -"cnS" = (/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/clipboard,/obj/item/weapon/pen/red{pixel_x = 2; pixel_y = 6},/obj/structure/table/standard,/obj/effect/floor_decal/corner/brown{dir = 6},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/office) +"cnS" = (/obj/item/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/clipboard,/obj/item/pen/red{pixel_x = 2; pixel_y = 6},/obj/structure/table/standard,/obj/effect/floor_decal/corner/brown{dir = 6},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/office) "cnT" = (/obj/machinery/computer/supplycomp,/turf/simulated/floor/tiled,/area/quartermaster/foyer) "cnU" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/flora/pottedplant,/turf/simulated/floor/tiled,/area/quartermaster/foyer) "cnV" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/quartermaster/foyer) "cnW" = (/obj/effect/floor_decal/corner/brown{dir = 4},/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/tiled,/area/quartermaster/foyer) "cnX" = (/obj/structure/bed/chair{dir = 8},/obj/effect/floor_decal/corner/brown/full{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/foyer) "cnY" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/quartermaster/delivery) -"cnZ" = (/obj/structure/table/steel,/obj/item/weapon/wrapping_paper,/obj/item/weapon/wrapping_paper,/obj/item/weapon/wrapping_paper,/obj/item/device/destTagger{pixel_x = 4; pixel_y = 3},/obj/effect/floor_decal/corner/brown{dir = 9},/obj/machinery/camera/network/cargo{c_tag = "CRG - Delivery Office"; dir = 4; name = "security camera"},/turf/simulated/floor/tiled,/area/quartermaster/delivery) +"cnZ" = (/obj/structure/table/steel,/obj/item/wrapping_paper,/obj/item/wrapping_paper,/obj/item/wrapping_paper,/obj/item/destTagger{pixel_x = 4; pixel_y = 3},/obj/effect/floor_decal/corner/brown{dir = 9},/obj/machinery/camera/network/cargo{c_tag = "CRG - Delivery Office"; dir = 4; name = "security camera"},/turf/simulated/floor/tiled,/area/quartermaster/delivery) "coa" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/delivery) "cob" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled,/area/quartermaster/delivery) "coc" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/quartermaster/delivery) @@ -6142,20 +6142,20 @@ "cof" = (/obj/structure/table/standard,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/obj/machinery/cell_charger,/turf/simulated/floor/tiled,/area/storage/primary) "cog" = (/obj/machinery/vending/tool,/turf/simulated/floor/tiled,/area/storage/primary) "coh" = (/obj/machinery/floodlight,/turf/simulated/floor,/area/storage/emergency_storage/emergency6) -"coi" = (/obj/structure/table/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/plating,/area/storage/emergency_storage/emergency6) +"coi" = (/obj/structure/table/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/plating,/area/storage/emergency_storage/emergency6) "coj" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/plating,/area/storage/emergency_storage/emergency6) -"cok" = (/obj/structure/closet/wardrobe/grey,/obj/item/weapon/storage/backpack,/obj/item/weapon/storage/backpack,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/cargo) -"col" = (/obj/structure/table/rack,/obj/item/bodybag/cryobag,/obj/effect/floor_decal/corner/paleblue/full{dir = 8},/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/storage/firstaid/regular,/obj/random/medical/lite,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station) +"cok" = (/obj/structure/closet/wardrobe/grey,/obj/item/storage/backpack,/obj/item/storage/backpack,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/cargo) +"col" = (/obj/structure/table/rack,/obj/item/bodybag/cryobag,/obj/effect/floor_decal/corner/paleblue/full{dir = 8},/obj/item/storage/toolbox/emergency,/obj/item/storage/firstaid/regular,/obj/random/medical/lite,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station) "com" = (/obj/machinery/sleep_console{dir = 4},/obj/machinery/alarm{pixel_y = 23},/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station) "con" = (/obj/machinery/sleeper{dir = 4},/obj/effect/floor_decal/corner/paleblue/full{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station) -"coo" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/robotics{pixel_x = -2; pixel_y = 2},/obj/item/weapon/circuitboard/mecha_control{pixel_x = 1; pixel_y = -1},/turf/simulated/floor/tiled/dark,/area/storage/tech) +"coo" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/circuitboard/robotics{pixel_x = -2; pixel_y = 2},/obj/item/circuitboard/mecha_control{pixel_x = 1; pixel_y = -1},/turf/simulated/floor/tiled/dark,/area/storage/tech) "cop" = (/turf/simulated/floor/tiled/dark,/area/storage/tech) "coq" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/storage/tech) -"cor" = (/obj/structure/table/steel,/obj/item/device/integrated_electronics/debugger{pixel_x = -5; pixel_y = 0},/obj/item/device/integrated_electronics/wirer{pixel_x = 5; pixel_y = 0},/turf/simulated/floor/plating,/area/storage/tech) -"cos" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/powermonitor{pixel_x = -2; pixel_y = 2},/obj/item/weapon/circuitboard/stationalert_engineering{pixel_x = 1; pixel_y = -1},/obj/item/weapon/circuitboard/security/engineering,/obj/item/weapon/circuitboard/atmos_alert{pixel_x = 3; pixel_y = -3},/turf/simulated/floor/plating,/area/storage/tech) +"cor" = (/obj/structure/table/steel,/obj/item/integrated_electronics/debugger{pixel_x = -5; pixel_y = 0},/obj/item/integrated_electronics/wirer{pixel_x = 5; pixel_y = 0},/turf/simulated/floor/plating,/area/storage/tech) +"cos" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/circuitboard/powermonitor{pixel_x = -2; pixel_y = 2},/obj/item/circuitboard/stationalert_engineering{pixel_x = 1; pixel_y = -1},/obj/item/circuitboard/security/engineering,/obj/item/circuitboard/atmos_alert{pixel_x = 3; pixel_y = -3},/turf/simulated/floor/plating,/area/storage/tech) "cot" = (/obj/effect/landmark{name = "blobstart"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/storage/tech) -"cou" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/arcade,/obj/item/weapon/circuitboard/message_monitor{pixel_x = 3; pixel_y = -3},/turf/simulated/floor/plating,/area/storage/tech) -"cov" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/unary_atmos/heater,/obj/item/weapon/circuitboard/unary_atmos/cooler{pixel_x = 3; pixel_y = -3},/turf/simulated/floor/plating,/area/storage/tech) +"cou" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/circuitboard/arcade,/obj/item/circuitboard/message_monitor{pixel_x = 3; pixel_y = -3},/turf/simulated/floor/plating,/area/storage/tech) +"cov" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/circuitboard/unary_atmos/heater,/obj/item/circuitboard/unary_atmos/cooler{pixel_x = 3; pixel_y = -3},/turf/simulated/floor/plating,/area/storage/tech) "cow" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/primary/central_four) "cox" = (/obj/machinery/light,/turf/simulated/floor/tiled,/area/hallway/primary/central_three) "coy" = (/obj/machinery/newscaster{pixel_x = 0; pixel_y = -28},/turf/simulated/floor/tiled,/area/hallway/primary/central_three) @@ -6187,7 +6187,7 @@ "coY" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/mob/living/simple_mob/animal/passive/mouse/brown/Tom,/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) "coZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) "cpa" = (/obj/machinery/camera/network/command{c_tag = "COM - Vault"; dir = 9},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) -"cpb" = (/obj/structure/closet/crate,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/turf/simulated/floor/plating,/area/maintenance/medbay_aft) +"cpb" = (/obj/structure/closet/crate,/obj/item/clothing/mask/gas,/obj/item/flashlight,/obj/item/flashlight,/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/turf/simulated/floor/plating,/area/maintenance/medbay_aft) "cpc" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/obj/effect/floor_decal/corner/brown{dir = 9},/turf/simulated/floor/tiled,/area/quartermaster/office) "cpd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/office) "cpe" = (/obj/structure/disposalpipe/sortjunction/flipped{dir = 1; sortType = "Cargo Bay"; name = "Cargo Bay"},/turf/simulated/floor/tiled,/area/quartermaster/office) @@ -6198,13 +6198,13 @@ "cpj" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/quartermaster/foyer) "cpk" = (/obj/structure/bed/chair{dir = 8},/obj/effect/floor_decal/corner/brown{dir = 6},/turf/simulated/floor/tiled,/area/quartermaster/foyer) "cpl" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/quartermaster/delivery) -"cpm" = (/obj/structure/table/steel,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/effect/floor_decal/corner/brown{dir = 9},/obj/item/weapon/material/butterfly/boxcutter,/turf/simulated/floor/tiled,/area/quartermaster/delivery) +"cpm" = (/obj/structure/table/steel,/obj/item/packageWrap,/obj/item/packageWrap,/obj/item/packageWrap,/obj/item/packageWrap,/obj/item/packageWrap,/obj/effect/floor_decal/corner/brown{dir = 9},/obj/item/material/butterfly/boxcutter,/turf/simulated/floor/tiled,/area/quartermaster/delivery) "cpn" = (/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_x = 30; pixel_y = -1},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/delivery) "cpo" = (/obj/machinery/conveyor{dir = 1; id = "packageSort1"},/obj/structure/plasticflaps/mining,/turf/simulated/floor/plating,/area/quartermaster/delivery) "cpp" = (/obj/structure/table/standard,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/newscaster{pixel_x = -30},/turf/simulated/floor/tiled,/area/storage/primary) "cpq" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/storage/primary) "cpr" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/storage/primary) -"cps" = (/obj/item/weapon/stool,/obj/effect/landmark/start{name = "Assistant"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/storage/primary) +"cps" = (/obj/item/stool,/obj/effect/landmark/start{name = "Assistant"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/storage/primary) "cpt" = (/obj/structure/table/standard,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/storage/primary) "cpu" = (/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/turf/simulated/floor,/area/storage/emergency_storage/emergency6) "cpv" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/storage/emergency_storage/emergency6) @@ -6213,14 +6213,14 @@ "cpy" = (/obj/structure/extinguisher_cabinet{pixel_x = -27},/obj/effect/floor_decal/corner/paleblue/full,/obj/machinery/light,/obj/structure/bed/roller,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station) "cpz" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/floor_decal/corner/paleblue{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station) "cpA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/effect/floor_decal/corner/paleblue{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station) -"cpB" = (/obj/structure/bed/chair/office/light,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/corner/paleblue/full{dir = 1},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/newscaster{pixel_x = 28; pixel_y = 1},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station) +"cpB" = (/obj/structure/bed/chair/office/light,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/corner/paleblue/full{dir = 1},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/newscaster{pixel_x = 28; pixel_y = 1},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station) "cpC" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/storage/tech) "cpD" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/storage/tech) -"cpE" = (/obj/structure/table/steel,/obj/item/weapon/storage/bag/circuits/basic,/turf/simulated/floor/plating,/area/storage/tech) +"cpE" = (/obj/structure/table/steel,/obj/item/storage/bag/circuits/basic,/turf/simulated/floor/plating,/area/storage/tech) "cpF" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/storage/tech) -"cpG" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/matter_bin,/obj/item/weapon/stock_parts/matter_bin,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/capacitor,/turf/simulated/floor/plating,/area/storage/tech) +"cpG" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/stock_parts/manipulator,/obj/item/stock_parts/matter_bin,/obj/item/stock_parts/matter_bin,/obj/item/stock_parts/capacitor,/obj/item/stock_parts/capacitor,/turf/simulated/floor/plating,/area/storage/tech) "cpH" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/structure/sign/directions/engineering{dir = 2; pixel_x = -32; pixel_z = -8},/obj/structure/sign/directions/medical{dir = 4; pixel_x = -32; pixel_y = 0},/obj/structure/sign/directions/cargo{dir = 2; pixel_x = -32; pixel_z = 8},/turf/simulated/floor/tiled/dark,/area/hallway/primary/central_four) -"cpI" = (/obj/machinery/newscaster{pixel_x = 28; pixel_y = 1},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/dark,/area/hallway/primary/central_four) +"cpI" = (/obj/machinery/newscaster{pixel_x = 28; pixel_y = 1},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/dark,/area/hallway/primary/central_four) "cpJ" = (/turf/simulated/wall,/area/crew_quarters/sleep/elevator) "cpK" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/crew_quarters/sleep/elevator) "cpL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/crew_quarters/sleep/elevator) @@ -6230,15 +6230,15 @@ "cpP" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/crew_quarters/sleep/elevator) "cpQ" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable,/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/dark,/area/hallway/primary/central_three) "cpR" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/central_three) -"cpS" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 26},/turf/simulated/floor/tiled/dark,/area/hallway/primary/central_three) +"cpS" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 26},/turf/simulated/floor/tiled/dark,/area/hallway/primary/central_three) "cpT" = (/obj/machinery/door/airlock/glass{name = "Construction Area"; req_access = list(32)},/turf/simulated/floor/plating,/area/hallway/primary/central_three) "cpU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/hallway/primary/central_three) "cpV" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/dark,/area/hallway/primary/central_three) -"cpW" = (/obj/structure/sign/directions/medical{dir = 1; pixel_x = 32; pixel_y = 0},/obj/structure/sign/directions/cargo{dir = 8; pixel_x = 32; pixel_z = 8},/obj/structure/sign/directions/engineering{dir = 8; pixel_x = 32; pixel_z = -8},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/dark,/area/hallway/primary/central_three) -"cpX" = (/obj/item/weapon/coin/silver{pixel_x = 7; pixel_y = 12},/obj/item/weapon/coin/silver{pixel_x = 12; pixel_y = 7},/obj/item/weapon/coin/silver{pixel_x = 4; pixel_y = 8},/obj/item/weapon/coin/silver{pixel_x = -6; pixel_y = 5},/obj/item/weapon/coin/silver{pixel_x = 5; pixel_y = -8},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/structure/closet/crate/secure{name = "Silver Crate"; req_access = list(19)},/obj/item/weapon/coin/silver{pixel_x = 4; pixel_y = 8},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) +"cpW" = (/obj/structure/sign/directions/medical{dir = 1; pixel_x = 32; pixel_y = 0},/obj/structure/sign/directions/cargo{dir = 8; pixel_x = 32; pixel_z = 8},/obj/structure/sign/directions/engineering{dir = 8; pixel_x = 32; pixel_z = -8},/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/dark,/area/hallway/primary/central_three) +"cpX" = (/obj/item/coin/silver{pixel_x = 7; pixel_y = 12},/obj/item/coin/silver{pixel_x = 12; pixel_y = 7},/obj/item/coin/silver{pixel_x = 4; pixel_y = 8},/obj/item/coin/silver{pixel_x = -6; pixel_y = 5},/obj/item/coin/silver{pixel_x = 5; pixel_y = -8},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/structure/closet/crate/secure{name = "Silver Crate"; req_access = list(19)},/obj/item/coin/silver{pixel_x = 4; pixel_y = 8},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) "cpY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) -"cpZ" = (/obj/item/weapon/coin/gold,/obj/item/weapon/coin/gold,/obj/item/weapon/coin/gold,/obj/item/weapon/coin/gold,/obj/item/weapon/coin/gold,/obj/item/weapon/coin/gold,/obj/structure/closet/crate/secure{name = "Gold Crate"; req_access = list(19)},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) -"cqa" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/oxygen,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/extinguisher,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/turf/simulated/floor/plating,/area/maintenance/medbay_aft) +"cpZ" = (/obj/item/coin/gold,/obj/item/coin/gold,/obj/item/coin/gold,/obj/item/coin/gold,/obj/item/coin/gold,/obj/item/coin/gold,/obj/structure/closet/crate/secure{name = "Gold Crate"; req_access = list(19)},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) +"cqa" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/tank/oxygen,/obj/item/tank/oxygen,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/flashlight,/obj/item/flashlight,/obj/item/storage/box/lights/mixed,/obj/item/extinguisher,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/turf/simulated/floor/plating,/area/maintenance/medbay_aft) "cqb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor,/area/maintenance/medbay_aft) "cqc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/maintenance/medbay_aft) "cqd" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor,/area/maintenance/medbay_aft) @@ -6255,7 +6255,7 @@ "cqo" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/foyer) "cqp" = (/obj/structure/bed/chair{dir = 8},/obj/effect/floor_decal/corner/brown{dir = 6},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/foyer) "cqq" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/quartermaster/delivery) -"cqr" = (/obj/structure/table/steel,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/effect/floor_decal/corner/brown/full,/turf/simulated/floor/tiled,/area/quartermaster/delivery) +"cqr" = (/obj/structure/table/steel,/obj/item/paper_bin{pixel_x = -3; pixel_y = 7},/obj/effect/floor_decal/corner/brown/full,/turf/simulated/floor/tiled,/area/quartermaster/delivery) "cqs" = (/obj/structure/bed/chair,/obj/effect/landmark/start{name = "Cargo Technician"},/obj/effect/floor_decal/corner/brown{dir = 10},/turf/simulated/floor/tiled,/area/quartermaster/delivery) "cqt" = (/obj/structure/filingcabinet/filingcabinet,/obj/effect/floor_decal/corner/brown{dir = 8},/obj/machinery/light,/turf/simulated/floor/tiled,/area/quartermaster/delivery) "cqu" = (/obj/structure/cable/green,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/disposalpipe/segment,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/turf/simulated/floor/tiled,/area/quartermaster/delivery) @@ -6267,19 +6267,19 @@ "cqA" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/storage/primary) "cqB" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/storage/primary) "cqC" = (/obj/machinery/disposal,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -26},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/tiled,/area/storage/primary) -"cqD" = (/obj/structure/table/standard,/obj/item/device/t_scanner,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/storage/emergency_storage/emergency6) +"cqD" = (/obj/structure/table/standard,/obj/item/t_scanner,/obj/item/storage/box/lights/mixed,/obj/item/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/storage/emergency_storage/emergency6) "cqE" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/storage/emergency_storage/emergency6) "cqF" = (/turf/simulated/wall,/area/hallway/primary/port) "cqG" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/maintenance/cargo) "cqH" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/camera/network/medbay{c_tag = "MED - FA Station Port"; dir = 1},/obj/machinery/light_switch{pixel_x = -36; pixel_y = 0},/obj/effect/floor_decal/corner/paleblue{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station) "cqI" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station) -"cqJ" = (/obj/structure/table/reinforced,/obj/effect/floor_decal/corner/paleblue{dir = 6},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0},/obj/machinery/recharger,/obj/item/device/radio{frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link"},/obj/item/device/defib_kit/loaded,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station) -"cqK" = (/obj/machinery/cell_charger{pixel_y = 5},/obj/item/device/multitool,/obj/structure/table/steel,/turf/simulated/floor/plating,/area/storage/tech) -"cqL" = (/obj/machinery/light/small,/obj/structure/table/steel,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/stack/cable_coil,/obj/item/stack/cable_coil,/turf/simulated/floor,/area/storage/tech) +"cqJ" = (/obj/structure/table/reinforced,/obj/effect/floor_decal/corner/paleblue{dir = 6},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0},/obj/machinery/recharger,/obj/item/radio{frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link"},/obj/item/defib_kit/loaded,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station) +"cqK" = (/obj/machinery/cell_charger{pixel_y = 5},/obj/item/multitool,/obj/structure/table/steel,/turf/simulated/floor/plating,/area/storage/tech) +"cqL" = (/obj/machinery/light/small,/obj/structure/table/steel,/obj/item/cell/high{charge = 100; maxcharge = 15000},/obj/item/stack/cable_coil,/obj/item/stack/cable_coil,/turf/simulated/floor,/area/storage/tech) "cqM" = (/obj/machinery/light_switch{pixel_x = 0; pixel_y = -26},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor,/area/storage/tech) "cqN" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/storage/tech) "cqO" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor,/area/storage/tech) -"cqP" = (/obj/item/device/radio/intercom{layer = 4; name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/light/small,/turf/simulated/floor,/area/storage/tech) +"cqP" = (/obj/item/radio/intercom{layer = 4; name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/light/small,/turf/simulated/floor,/area/storage/tech) "cqQ" = (/obj/machinery/vending/assist,/turf/simulated/floor,/area/storage/tech) "cqR" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/primary/central_four) "cqS" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/central_four) @@ -6291,7 +6291,7 @@ "cqY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/sleep/elevator) "cqZ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/sleep/elevator) "cra" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/crew_quarters/sleep/elevator) -"crb" = (/obj/machinery/newscaster{pixel_y = 32},/obj/machinery/firealarm{dir = 4; pixel_x = 26},/obj/structure/table/glass,/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/tiled,/area/crew_quarters/sleep/elevator) +"crb" = (/obj/machinery/newscaster{pixel_y = 32},/obj/machinery/firealarm{dir = 4; pixel_x = 26},/obj/structure/table/glass,/obj/item/book/codex/lore/vir,/turf/simulated/floor/tiled,/area/crew_quarters/sleep/elevator) "crc" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/primary/central_three) "crd" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/central_three) "cre" = (/turf/simulated/wall,/area/vacant/vacant_shop) @@ -6300,15 +6300,15 @@ "crh" = (/obj/structure/table/rack{dir = 4},/turf/simulated/floor/tiled,/area/vacant/vacant_shop) "cri" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/primary/central_three) "crj" = (/obj/machinery/door/firedoor/glass,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/hallway/primary/central_three) -"crk" = (/obj/structure/closet/crate,/obj/item/stack/material/silver,/obj/item/stack/material/silver,/obj/item/stack/material/silver,/obj/item/stack/material/gold,/obj/item/stack/material/gold,/obj/item/stack/material/gold,/obj/item/weapon/storage/belt/champion,/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) -"crl" = (/obj/structure/closet/secure_closet/freezer/money,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/item/weapon/storage/secure/briefcase/money{desc = "An sleek tidy briefcase."; name = "secure briefcase"},/obj/structure/cable,/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) +"crk" = (/obj/structure/closet/crate,/obj/item/stack/material/silver,/obj/item/stack/material/silver,/obj/item/stack/material/silver,/obj/item/stack/material/gold,/obj/item/stack/material/gold,/obj/item/stack/material/gold,/obj/item/storage/belt/champion,/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) +"crl" = (/obj/structure/closet/secure_closet/freezer/money,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/item/storage/secure/briefcase/money{desc = "An sleek tidy briefcase."; name = "secure briefcase"},/obj/structure/cable,/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) "crm" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) "crn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/maintenance/medbay_aft) "cro" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/maintenance/medbay_aft) "crp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor,/area/maintenance/medbay_aft) "crq" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/maintenance/medbay_aft) "crr" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/maintenance/medbay_aft) -"crs" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/brown{dir = 9},/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/obj/fiftyspawner/steel,/obj/fiftyspawner/glass,/obj/item/device/multitool,/turf/simulated/floor/tiled,/area/quartermaster/office) +"crs" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/brown{dir = 9},/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/obj/fiftyspawner/steel,/obj/fiftyspawner/glass,/obj/item/multitool,/turf/simulated/floor/tiled,/area/quartermaster/office) "crt" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/office) "cru" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/office) "crv" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/quartermaster/office) @@ -6318,7 +6318,7 @@ "crz" = (/obj/machinery/hologram/holopad,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/landmark{name = "lightsout"},/turf/simulated/floor/tiled,/area/quartermaster/foyer) "crA" = (/obj/structure/bed/chair{dir = 8},/obj/effect/floor_decal/corner/brown{dir = 4},/obj/machinery/firealarm{dir = 4; pixel_x = 26},/turf/simulated/floor/tiled,/area/quartermaster/foyer) "crB" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/quartermaster/delivery) -"crC" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/folder/yellow,/obj/item/weapon/pen{pixel_x = 4; pixel_y = 4},/obj/machinery/door/window/northright{name = "Mailing Room"; req_access = list(50)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/quartermaster/delivery) +"crC" = (/obj/structure/table/steel_reinforced,/obj/item/folder/yellow,/obj/item/pen{pixel_x = 4; pixel_y = 4},/obj/machinery/door/window/northright{name = "Mailing Room"; req_access = list(50)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/quartermaster/delivery) "crD" = (/obj/machinery/door/airlock/glass_mining{name = "Delivery Office"; req_access = list(50)},/obj/machinery/door/firedoor/glass,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/quartermaster/delivery) "crE" = (/obj/structure/sign/poster{pixel_x = 0; pixel_y = 0},/turf/simulated/wall,/area/quartermaster/delivery) "crF" = (/turf/simulated/wall,/area/hallway/secondary/cargo_hallway) @@ -6346,7 +6346,7 @@ "csb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled,/area/crew_quarters/sleep/elevator) "csc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/computer/cryopod/dorms{pixel_y = -30},/turf/simulated/floor/tiled,/area/crew_quarters/sleep/elevator) "csd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/effect/landmark{name = "JoinLateElevator"},/turf/simulated/floor/tiled,/area/crew_quarters/sleep/elevator) -"cse" = (/obj/item/device/radio/beacon,/obj/effect/landmark{name = "JoinLateElevator"},/turf/simulated/floor/tiled,/area/crew_quarters/sleep/elevator) +"cse" = (/obj/item/radio/beacon,/obj/effect/landmark{name = "JoinLateElevator"},/turf/simulated/floor/tiled,/area/crew_quarters/sleep/elevator) "csf" = (/obj/effect/landmark{name = "JoinLateElevator"},/turf/simulated/floor/tiled,/area/crew_quarters/sleep/elevator) "csg" = (/obj/machinery/computer/cryopod/dorms{pixel_y = -30},/turf/simulated/floor/tiled,/area/crew_quarters/sleep/elevator) "csh" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/sleep/elevator) @@ -6362,7 +6362,7 @@ "csr" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/central_three) "css" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/maintenance/medbay_aft) "cst" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/maintenance/medbay_aft) -"csu" = (/obj/structure/table/standard,/obj/item/weapon/folder/yellow,/obj/effect/floor_decal/corner/brown{dir = 9},/obj/machinery/firealarm{dir = 8; pixel_x = -26},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/office) +"csu" = (/obj/structure/table/standard,/obj/item/folder/yellow,/obj/effect/floor_decal/corner/brown{dir = 9},/obj/machinery/firealarm{dir = 8; pixel_x = -26},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/office) "csv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled,/area/quartermaster/office) "csw" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/quartermaster/office) "csx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/quartermaster/office) @@ -6377,7 +6377,7 @@ "csG" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/hallway/secondary/cargo_hallway) "csH" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera/network/northern_star{c_tag = "Hall - Cargo Hallway Port"; dir = 2},/turf/simulated/floor/tiled,/area/hallway/secondary/cargo_hallway) "csI" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/alarm{pixel_y = 23},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/hallway/secondary/cargo_hallway) -"csJ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/effect/floor_decal/corner/brown{dir = 5},/obj/structure/sign/directions/cargo{dir = 8; pixel_y = 32; pixel_z = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/cargo_hallway) +"csJ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/effect/floor_decal/corner/brown{dir = 5},/obj/structure/sign/directions/cargo{dir = 8; pixel_y = 32; pixel_z = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/cargo_hallway) "csK" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = 28},/turf/simulated/floor/tiled,/area/hallway/secondary/cargo_hallway) "csL" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/secondary/cargo_hallway) "csM" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor/tiled,/area/hallway/secondary/cargo_hallway) @@ -6410,7 +6410,7 @@ "ctn" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/alarm{pixel_y = 23},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/port) "cto" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/primary/port) "ctp" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/port) -"ctq" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/hallway/primary/port) +"ctq" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/hallway/primary/port) "ctr" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/port) "cts" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/port) "ctt" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/hallway/primary/port) @@ -6427,7 +6427,7 @@ "ctE" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway) "ctF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway) "ctG" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/vacant/vacant_shop) -"ctH" = (/obj/structure/table/rack{dir = 4},/obj/item/weapon/storage/toolbox/mechanical,/obj/random/maintenance/engineering,/turf/simulated/floor/tiled,/area/vacant/vacant_shop) +"ctH" = (/obj/structure/table/rack{dir = 4},/obj/item/storage/toolbox/mechanical,/obj/random/maintenance/engineering,/turf/simulated/floor/tiled,/area/vacant/vacant_shop) "ctI" = (/turf/simulated/wall,/area/crew_quarters/coffee_shop) "ctJ" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced/polarized{dir = 2; id = "coffee"},/obj/structure/window/reinforced/polarized{dir = 8; id = "coffee"},/obj/structure/window/reinforced/polarized{dir = 1; id = "coffee"},/turf/simulated/floor/plating,/area/crew_quarters/coffee_shop) "ctK" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced/polarized{dir = 4; id = "coffee"},/obj/structure/window/reinforced/polarized{dir = 2; id = "coffee"},/obj/structure/window/reinforced/polarized{dir = 1; id = "coffee"},/turf/simulated/floor/plating,/area/crew_quarters/coffee_shop) @@ -6442,7 +6442,7 @@ "ctT" = (/turf/simulated/wall,/area/crew_quarters/sleep/vistor_room_11) "ctU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/maintenance/medbay_aft) "ctV" = (/turf/simulated/wall,/area/crew_quarters/sleep/vistor_room_12) -"ctW" = (/obj/structure/table/standard,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/storage/belt/utility,/obj/effect/floor_decal/corner/brown{dir = 9},/obj/structure/extinguisher_cabinet{pixel_x = -27; pixel_y = 1},/turf/simulated/floor/tiled,/area/quartermaster/office) +"ctW" = (/obj/structure/table/standard,/obj/item/storage/belt/utility,/obj/item/storage/belt/utility,/obj/effect/floor_decal/corner/brown{dir = 9},/obj/structure/extinguisher_cabinet{pixel_x = -27; pixel_y = 1},/turf/simulated/floor/tiled,/area/quartermaster/office) "ctX" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/quartermaster/office) "ctY" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/junction{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/office) "ctZ" = (/obj/machinery/door/airlock/glass_mining{id_tag = "cargodoor"; name = "Cargo Office"; req_access = list(50)},/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/office) @@ -6487,10 +6487,10 @@ "cuM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/secondary/docking_hallway) "cuN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/secondary/docking_hallway) "cuO" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/vacant/vacant_shop) -"cuP" = (/obj/item/weapon/tool/crowbar,/turf/simulated/floor/tiled,/area/vacant/vacant_shop) +"cuP" = (/obj/item/tool/crowbar,/turf/simulated/floor/tiled,/area/vacant/vacant_shop) "cuQ" = (/obj/machinery/alarm{dir = 8; pixel_x = 25; pixel_y = 0},/turf/simulated/floor/tiled,/area/vacant/vacant_shop) -"cuR" = (/obj/structure/table/marble,/obj/item/weapon/reagent_containers/food/drinks/cup{pixel_x = 8; pixel_y = 8},/obj/item/weapon/reagent_containers/food/drinks/cup{pixel_x = -4; pixel_y = 8},/obj/item/weapon/reagent_containers/food/drinks/cup{pixel_x = 8; pixel_y = -4},/obj/item/weapon/reagent_containers/food/drinks/cup{pixel_x = -4; pixel_y = -4},/obj/item/weapon/reagent_containers/food/drinks/cup{pixel_x = 8},/obj/item/weapon/reagent_containers/food/drinks/cup{pixel_x = -4},/obj/item/weapon/reagent_containers/food/drinks/cup{pixel_x = 8; pixel_y = 12},/obj/item/weapon/reagent_containers/food/drinks/cup{pixel_x = -4; pixel_y = 12},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled/yellow,/area/crew_quarters/coffee_shop) -"cuS" = (/obj/structure/table/marble,/obj/item/weapon/reagent_containers/food/drinks/glass2/square{pixel_x = 8; pixel_y = 8},/obj/item/weapon/reagent_containers/food/drinks/glass2/square{pixel_x = 0; pixel_y = 8},/obj/item/weapon/reagent_containers/food/drinks/glass2/square{pixel_x = -8; pixel_y = 8},/obj/item/weapon/reagent_containers/food/drinks/glass2/square{pixel_x = 8; pixel_y = 4},/obj/item/weapon/reagent_containers/food/drinks/glass2/square{pixel_x = 0; pixel_y = 4},/obj/item/weapon/reagent_containers/food/drinks/glass2/square{pixel_x = -8; pixel_y = 4},/obj/machinery/camera/network/civilian{c_tag = "CIV - Cafe Back Room"; dir = 2},/turf/simulated/floor/tiled/yellow,/area/crew_quarters/coffee_shop) +"cuR" = (/obj/structure/table/marble,/obj/item/reagent_containers/food/drinks/cup{pixel_x = 8; pixel_y = 8},/obj/item/reagent_containers/food/drinks/cup{pixel_x = -4; pixel_y = 8},/obj/item/reagent_containers/food/drinks/cup{pixel_x = 8; pixel_y = -4},/obj/item/reagent_containers/food/drinks/cup{pixel_x = -4; pixel_y = -4},/obj/item/reagent_containers/food/drinks/cup{pixel_x = 8},/obj/item/reagent_containers/food/drinks/cup{pixel_x = -4},/obj/item/reagent_containers/food/drinks/cup{pixel_x = 8; pixel_y = 12},/obj/item/reagent_containers/food/drinks/cup{pixel_x = -4; pixel_y = 12},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled/yellow,/area/crew_quarters/coffee_shop) +"cuS" = (/obj/structure/table/marble,/obj/item/reagent_containers/food/drinks/glass2/square{pixel_x = 8; pixel_y = 8},/obj/item/reagent_containers/food/drinks/glass2/square{pixel_x = 0; pixel_y = 8},/obj/item/reagent_containers/food/drinks/glass2/square{pixel_x = -8; pixel_y = 8},/obj/item/reagent_containers/food/drinks/glass2/square{pixel_x = 8; pixel_y = 4},/obj/item/reagent_containers/food/drinks/glass2/square{pixel_x = 0; pixel_y = 4},/obj/item/reagent_containers/food/drinks/glass2/square{pixel_x = -8; pixel_y = 4},/obj/machinery/camera/network/civilian{c_tag = "CIV - Cafe Back Room"; dir = 2},/turf/simulated/floor/tiled/yellow,/area/crew_quarters/coffee_shop) "cuT" = (/obj/structure/table/marble,/obj/machinery/chemical_dispenser/bar_coffee/full,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/yellow,/area/crew_quarters/coffee_shop) "cuU" = (/obj/structure/sink/kitchen{pixel_y = 28},/obj/machinery/button/remote/blast_door{id = "coffeeshop"; name = "Cafe Shutters"; pixel_x = 26; pixel_y = 0},/obj/machinery/light_switch{pixel_x = 34; pixel_y = 4},/obj/machinery/button/windowtint{id = "coffee"; pixel_x = 34; pixel_y = -4},/turf/simulated/floor/tiled/yellow,/area/crew_quarters/coffee_shop) "cuV" = (/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/docking_hallway2) @@ -6503,25 +6503,25 @@ "cvc" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/tiled/dark,/area/crew_quarters/locker) "cvd" = (/obj/structure/curtain/open/shower,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/window/southright{name = "Shower"},/obj/machinery/shower{pixel_y = 3},/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_5) "cve" = (/obj/structure/toilet,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_5) -"cvf" = (/obj/structure/table/standard,/obj/item/weapon/soap/nanotrasen,/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_5) +"cvf" = (/obj/structure/table/standard,/obj/item/soap/nanotrasen,/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_5) "cvg" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/tiled,/area/hallway/primary/central_one) "cvh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) -"cvi" = (/obj/structure/table/standard,/obj/item/weapon/soap/nanotrasen,/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_6) +"cvi" = (/obj/structure/table/standard,/obj/item/soap/nanotrasen,/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_6) "cvj" = (/obj/structure/toilet,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_6) "cvk" = (/obj/structure/curtain/open/shower,/obj/machinery/door/window/southright{name = "Shower"},/obj/structure/window/reinforced{dir = 8},/obj/machinery/shower{pixel_y = 3},/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_6) "cvl" = (/obj/structure/curtain/open/shower,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/window/southright{name = "Shower"},/obj/machinery/shower{pixel_y = 3},/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_11) "cvm" = (/obj/structure/toilet,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_11) -"cvn" = (/obj/structure/table/standard,/obj/item/weapon/soap/nanotrasen,/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_11) +"cvn" = (/obj/structure/table/standard,/obj/item/soap/nanotrasen,/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_11) "cvo" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) "cvp" = (/obj/structure/table/glass,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled/dark,/area/hallway/primary/central_four) -"cvq" = (/obj/structure/table/standard,/obj/item/weapon/soap/nanotrasen,/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_12) +"cvq" = (/obj/structure/table/standard,/obj/item/soap/nanotrasen,/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_12) "cvr" = (/obj/structure/toilet,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_12) "cvs" = (/obj/structure/curtain/open/shower,/obj/machinery/door/window/southright{name = "Shower"},/obj/structure/window/reinforced{dir = 8},/obj/machinery/shower{pixel_y = 3},/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_12) -"cvt" = (/obj/structure/table/standard,/obj/item/weapon/tape_roll,/obj/item/weapon/storage/firstaid/regular{pixel_x = 6; pixel_y = -5},/obj/effect/floor_decal/corner/brown/full,/turf/simulated/floor/tiled,/area/quartermaster/office) -"cvu" = (/obj/structure/table/standard,/obj/item/weapon/hand_labeler,/obj/effect/floor_decal/corner/brown{dir = 10},/obj/machinery/recharger,/turf/simulated/floor/tiled,/area/quartermaster/office) -"cvv" = (/obj/structure/table/standard,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = -12; pixel_y = -24},/obj/effect/floor_decal/corner/brown{dir = 8},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/item/device/retail_scanner/civilian{icon_state = "retail_idle"; dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/office) +"cvt" = (/obj/structure/table/standard,/obj/item/tape_roll,/obj/item/storage/firstaid/regular{pixel_x = 6; pixel_y = -5},/obj/effect/floor_decal/corner/brown/full,/turf/simulated/floor/tiled,/area/quartermaster/office) +"cvu" = (/obj/structure/table/standard,/obj/item/hand_labeler,/obj/effect/floor_decal/corner/brown{dir = 10},/obj/machinery/recharger,/turf/simulated/floor/tiled,/area/quartermaster/office) +"cvv" = (/obj/structure/table/standard,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = -12; pixel_y = -24},/obj/effect/floor_decal/corner/brown{dir = 8},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/item/retail_scanner/civilian{icon_state = "retail_idle"; dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/office) "cvw" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/quartermaster/office) -"cvx" = (/obj/effect/floor_decal/corner/brown{dir = 10},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/machinery/newscaster{pixel_x = 0; pixel_y = -28},/obj/structure/flora/pottedplant,/turf/simulated/floor/tiled,/area/quartermaster/foyer) +"cvx" = (/obj/effect/floor_decal/corner/brown{dir = 10},/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/machinery/newscaster{pixel_x = 0; pixel_y = -28},/obj/structure/flora/pottedplant,/turf/simulated/floor/tiled,/area/quartermaster/foyer) "cvy" = (/obj/effect/floor_decal/corner/brown{dir = 10},/obj/machinery/status_display/supply_display{pixel_y = -32},/turf/simulated/floor/tiled,/area/quartermaster/foyer) "cvz" = (/obj/machinery/computer/guestpass{pixel_y = -28},/obj/effect/floor_decal/corner/brown{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/light,/turf/simulated/floor/tiled,/area/quartermaster/foyer) "cvA" = (/obj/effect/floor_decal/corner/brown{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/foyer) @@ -6552,7 +6552,7 @@ "cvZ" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/port) "cwa" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/primary/port) "cwb" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor/tiled,/area/hallway/primary/port) -"cwc" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/hallway/primary/port) +"cwc" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/hallway/primary/port) "cwd" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light,/turf/simulated/floor/tiled,/area/hallway/primary/port) "cwe" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/port) "cwf" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/port) @@ -6587,7 +6587,7 @@ "cwI" = (/obj/machinery/vending/snack,/turf/simulated/floor/tiled,/area/crew_quarters/locker) "cwJ" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/tiled,/area/crew_quarters/locker) "cwK" = (/obj/structure/closet/secure_closet/personal,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_5) -"cwL" = (/obj/structure/bed/double/padded,/obj/item/weapon/bedsheet/browndouble,/obj/machinery/newscaster{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_5) +"cwL" = (/obj/structure/bed/double/padded,/obj/item/bedsheet/browndouble,/obj/machinery/newscaster{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_5) "cwM" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_5) "cwN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_5) "cwO" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/mirror{pixel_x = 28},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_5) @@ -6597,9 +6597,9 @@ "cwS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_6) "cwT" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_6) "cwU" = (/obj/structure/closet/secure_closet/personal,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_6) -"cwV" = (/obj/machinery/newscaster{pixel_x = 0; pixel_y = 32},/obj/structure/bed/double/padded,/obj/item/weapon/bedsheet/browndouble,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_6) +"cwV" = (/obj/machinery/newscaster{pixel_x = 0; pixel_y = 32},/obj/structure/bed/double/padded,/obj/item/bedsheet/browndouble,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_6) "cwW" = (/obj/structure/closet/secure_closet/personal,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_11) -"cwX" = (/obj/machinery/newscaster{pixel_x = 0; pixel_y = 32},/obj/structure/bed/double/padded,/obj/item/weapon/bedsheet/browndouble,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_11) +"cwX" = (/obj/machinery/newscaster{pixel_x = 0; pixel_y = 32},/obj/structure/bed/double/padded,/obj/item/bedsheet/browndouble,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_11) "cwY" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_11) "cwZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_11) "cxa" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/mirror{pixel_x = 28},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_11) @@ -6609,7 +6609,7 @@ "cxe" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_12) "cxf" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_12) "cxg" = (/obj/structure/closet/secure_closet/personal,/obj/item/clothing/head/kitty,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_12) -"cxh" = (/obj/machinery/newscaster{pixel_x = 0; pixel_y = 32},/obj/structure/bed/double/padded,/obj/item/weapon/bedsheet/browndouble,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_12) +"cxh" = (/obj/machinery/newscaster{pixel_x = 0; pixel_y = 32},/obj/structure/bed/double/padded,/obj/item/bedsheet/browndouble,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_12) "cxi" = (/turf/simulated/wall,/area/quartermaster/storage) "cxj" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/quartermaster/storage) "cxk" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/quartermaster/storage) @@ -6624,25 +6624,25 @@ "cxt" = (/obj/machinery/vending/cola,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/cargo_hallway) "cxu" = (/obj/machinery/vending/snack,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/cargo_hallway) "cxv" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/cargo_hallway) -"cxw" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/camera/network/northern_star{c_tag = "Hall - Port Primary 1"; dir = 4},/turf/simulated/floor/tiled/dark,/area/hallway/primary/port) +"cxw" = (/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/camera/network/northern_star{c_tag = "Hall - Port Primary 1"; dir = 4},/turf/simulated/floor/tiled/dark,/area/hallway/primary/port) "cxx" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/hallway/primary/port) "cxy" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/hallway/primary/port) "cxz" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/dark,/area/hallway/primary/port) "cxA" = (/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -32},/obj/machinery/camera/network/northern_star{c_tag = "Hall - Port Primary 3"; dir = 4},/turf/simulated/floor/tiled/dark,/area/hallway/primary/port) "cxB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/hallway/primary/port) "cxC" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled/dark,/area/hallway/primary/port) -"cxD" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 26},/turf/simulated/floor/tiled/dark,/area/hallway/primary/port) +"cxD" = (/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 26},/turf/simulated/floor/tiled/dark,/area/hallway/primary/port) "cxE" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/crew_quarters/sleep/elevator) "cxF" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/dark,/area/crew_quarters/sleep/elevator) "cxG" = (/turf/simulated/shuttle/wall/dark/hard_corner,/area/crew_quarters/sleep/elevator) "cxH" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled/dark,/area/crew_quarters/sleep/elevator) -"cxI" = (/obj/machinery/camera/network/northern_star{c_tag = "HALL - Dock Hallway Fore"; dir = 4},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway) +"cxI" = (/obj/machinery/camera/network/northern_star{c_tag = "HALL - Dock Hallway Fore"; dir = 4},/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway) "cxJ" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway) "cxK" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/vacant/vacant_shop) "cxL" = (/obj/item/frame/light,/turf/simulated/floor/tiled,/area/vacant/vacant_shop) -"cxM" = (/obj/structure/table/marble,/obj/item/weapon/hand_labeler,/obj/item/weapon/reagent_containers/food/condiment/small/sugar,/obj/item/weapon/reagent_containers/food/drinks/britcup,/obj/item/weapon/reagent_containers/food/drinks/britcup,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/item/weapon/reagent_containers/food/drinks/teapot,/turf/simulated/floor/tiled/yellow,/area/crew_quarters/coffee_shop) -"cxN" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) -"cxO" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) +"cxM" = (/obj/structure/table/marble,/obj/item/hand_labeler,/obj/item/reagent_containers/food/condiment/small/sugar,/obj/item/reagent_containers/food/drinks/britcup,/obj/item/reagent_containers/food/drinks/britcup,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/item/reagent_containers/food/drinks/teapot,/turf/simulated/floor/tiled/yellow,/area/crew_quarters/coffee_shop) +"cxN" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) +"cxO" = (/obj/item/stool/padded,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) "cxP" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) "cxQ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) "cxR" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced/polarized{dir = 2; id = "coffee"},/obj/structure/window/reinforced/polarized{dir = 4; id = "coffee"},/obj/structure/window/reinforced/polarized{dir = 8; id = "coffee"},/obj/structure/window/reinforced/polarized{dir = 1; id = "coffee"},/turf/simulated/floor/plating,/area/crew_quarters/coffee_shop) @@ -6650,10 +6650,10 @@ "cxT" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) "cxU" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) "cxV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/disposalpipe/junction{dir = 1; icon_state = "pipe-j2"},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) -"cxW" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) -"cxX" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/crew_quarters/locker) +"cxW" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) +"cxX" = (/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/crew_quarters/locker) "cxY" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/crew_quarters/locker) -"cxZ" = (/obj/structure/closet/secure_closet/personal,/obj/item/weapon/storage/backpack/dufflebag,/turf/simulated/floor/tiled,/area/crew_quarters/locker) +"cxZ" = (/obj/structure/closet/secure_closet/personal,/obj/item/storage/backpack/dufflebag,/turf/simulated/floor/tiled,/area/crew_quarters/locker) "cya" = (/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_5) "cyb" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_5) "cyc" = (/obj/machinery/door/airlock{name = "Restroom"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_5) @@ -6674,8 +6674,8 @@ "cyr" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/quartermaster/storage) "cys" = (/obj/structure/closet/emcloset,/obj/machinery/status_display/supply_display{pixel_y = 32},/turf/simulated/floor/tiled,/area/quartermaster/storage) "cyt" = (/obj/structure/closet/emcloset,/turf/simulated/floor/tiled,/area/quartermaster/storage) -"cyu" = (/obj/structure/closet/secure_closet/cargotech,/obj/item/weapon/storage/backpack/dufflebag,/obj/item/weapon/stamp/cargo,/turf/simulated/floor/tiled,/area/quartermaster/storage) -"cyv" = (/obj/structure/closet/secure_closet/cargotech,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/item/weapon/stamp/cargo,/turf/simulated/floor/tiled,/area/quartermaster/storage) +"cyu" = (/obj/structure/closet/secure_closet/cargotech,/obj/item/storage/backpack/dufflebag,/obj/item/stamp/cargo,/turf/simulated/floor/tiled,/area/quartermaster/storage) +"cyv" = (/obj/structure/closet/secure_closet/cargotech,/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/item/stamp/cargo,/turf/simulated/floor/tiled,/area/quartermaster/storage) "cyw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/quartermaster/storage) "cyx" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/quartermaster/storage) "cyy" = (/obj/machinery/navbeacon/delivery/south{location = "QM #3"},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/quartermaster/storage) @@ -6684,7 +6684,7 @@ "cyB" = (/obj/machinery/status_display/supply_display,/turf/simulated/wall,/area/quartermaster/qm) "cyC" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/tiled,/area/quartermaster/qm) "cyD" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/quartermaster/qm) -"cyE" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/device/megaphone,/turf/simulated/floor/tiled,/area/quartermaster/qm) +"cyE" = (/obj/structure/table/standard,/obj/item/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/megaphone,/turf/simulated/floor/tiled,/area/quartermaster/qm) "cyF" = (/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_x = -32; pixel_y = 30},/turf/simulated/floor/tiled,/area/quartermaster/qm) "cyG" = (/obj/structure/filingcabinet,/turf/simulated/floor/tiled,/area/quartermaster/qm) "cyH" = (/turf/simulated/wall,/area/hallway/secondary/engineering_hallway) @@ -6701,7 +6701,7 @@ "cyS" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/dark,/area/crew_quarters/sleep/elevator) "cyT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled/dark,/area/crew_quarters/sleep/elevator) "cyU" = (/obj/machinery/camera/network/civilian{c_tag = "CIV - Residential Elevator Starboard"; dir = 8},/turf/simulated/floor/tiled/dark,/area/crew_quarters/sleep/elevator) -"cyV" = (/obj/item/frame,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/tiled,/area/vacant/vacant_shop) +"cyV" = (/obj/item/frame,/obj/item/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/tiled,/area/vacant/vacant_shop) "cyW" = (/obj/item/stack/cable_coil/green,/turf/simulated/floor/tiled,/area/vacant/vacant_shop) "cyX" = (/obj/structure/table/marble,/obj/machinery/door/blast/shutters{dir = 2; id = "coffeeshop"; layer = 3.1; name = "Cafe Shutters"},/obj/machinery/cash_register/civilian{icon_state = "register_idle"; dir = 1},/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) "cyY" = (/obj/structure/table/marble,/obj/machinery/door/blast/shutters{dir = 2; id = "coffeeshop"; layer = 3.1; name = "Cafe Shutters"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) @@ -6715,7 +6715,7 @@ "czg" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/locker) "czh" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/locker) "czi" = (/obj/structure/table/standard,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/locker) -"czj" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/crew_quarters/locker) +"czj" = (/obj/structure/table/standard,/obj/item/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/crew_quarters/locker) "czk" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/locker) "czl" = (/obj/structure/closet/secure_closet/personal,/turf/simulated/floor/tiled,/area/crew_quarters/locker) "czm" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_5) @@ -6723,12 +6723,12 @@ "czo" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_5) "czp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_5) "czq" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_5) -"czr" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/junction{icon_state = "pipe-j1"; dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_5) +"czr" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/junction{icon_state = "pipe-j1"; dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_5) "czs" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock{name = "Room 5"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_5) "czt" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) "czu" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/junction{dir = 1},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) "czv" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock{name = "Room 6"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_6) -"czw" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/junction{dir = 8; icon_state = "pipe-j2"},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_6) +"czw" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/junction{dir = 8; icon_state = "pipe-j2"},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_6) "czx" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_6) "czy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_6) "czz" = (/obj/machinery/alarm{pixel_y = 22},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_6) @@ -6739,12 +6739,12 @@ "czE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_11) "czF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_11) "czG" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_11) -"czH" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/junction{dir = 8; icon_state = "pipe-j2"},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_11) +"czH" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/junction{dir = 8; icon_state = "pipe-j2"},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_11) "czI" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock{name = "Room 11"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_11) "czJ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) "czK" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) "czL" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock{name = "Room 12"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_12) -"czM" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_12) +"czM" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_12) "czN" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_12) "czO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_12) "czP" = (/obj/machinery/alarm{pixel_y = 22},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_12) @@ -6756,7 +6756,7 @@ "czV" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/turf/simulated/floor/tiled,/area/quartermaster/storage) "czW" = (/obj/structure/bed/chair{dir = 4},/obj/structure/disposalpipe/segment,/obj/machinery/camera/network/cargo{c_tag = "CRG - Quartermaster"; dir = 4; name = "security camera"},/turf/simulated/floor/tiled,/area/quartermaster/qm) "czX" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled,/area/quartermaster/qm) -"czY" = (/obj/structure/table/standard,/obj/item/weapon/folder/yellow,/obj/item/weapon/pen{pixel_x = 4; pixel_y = 4},/obj/item/weapon/pen/red{pixel_x = 2; pixel_y = 6},/turf/simulated/floor/tiled,/area/quartermaster/qm) +"czY" = (/obj/structure/table/standard,/obj/item/folder/yellow,/obj/item/pen{pixel_x = 4; pixel_y = 4},/obj/item/pen/red{pixel_x = 2; pixel_y = 6},/turf/simulated/floor/tiled,/area/quartermaster/qm) "czZ" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/effect/landmark/start{name = "Quartermaster"},/turf/simulated/floor/tiled,/area/quartermaster/qm) "cAa" = (/obj/machinery/computer/supplycomp/control,/turf/simulated/floor/tiled,/area/quartermaster/qm) "cAb" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor,/area/maintenance/apmaint) @@ -6775,13 +6775,13 @@ "cAo" = (/obj/machinery/door/airlock/glass_command{name = "E.V.A."; req_one_access = list(18)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) "cAp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/ai_monitored/storage/eva) "cAq" = (/obj/machinery/door/airlock/glass_command{name = "E.V.A."; req_one_access = list(18)},/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) -"cAr" = (/obj/structure/closet/emcloset,/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/storage/toolbox/emergency,/turf/simulated/floor/tiled/dark,/area/crew_quarters/sleep/elevator) +"cAr" = (/obj/structure/closet/emcloset,/obj/item/storage/toolbox/emergency,/obj/item/storage/toolbox/emergency,/turf/simulated/floor/tiled/dark,/area/crew_quarters/sleep/elevator) "cAs" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled/dark,/area/crew_quarters/sleep/elevator) "cAt" = (/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -32},/turf/simulated/floor/tiled/dark,/area/crew_quarters/sleep/elevator) "cAu" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark,/area/crew_quarters/sleep/elevator) "cAv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark,/area/crew_quarters/sleep/elevator) "cAw" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/dark,/area/crew_quarters/sleep/elevator) -"cAx" = (/obj/structure/closet/emcloset,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/storage/toolbox/emergency,/turf/simulated/floor/tiled/dark,/area/crew_quarters/sleep/elevator) +"cAx" = (/obj/structure/closet/emcloset,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/item/storage/toolbox/emergency,/obj/item/storage/toolbox/emergency,/turf/simulated/floor/tiled/dark,/area/crew_quarters/sleep/elevator) "cAy" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/disposalpipe/segment,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway) "cAz" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway) "cAA" = (/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/structure/closet/crate,/turf/simulated/floor/tiled,/area/vacant/vacant_shop) @@ -6791,7 +6791,7 @@ "cAE" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/tiled,/area/vacant/vacant_shop) "cAF" = (/obj/effect/floor_decal/corner/brown/full{dir = 8},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = 32},/obj/structure/flora/pottedplant{icon_state = "plant-01"},/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) "cAG" = (/obj/effect/floor_decal/corner/brown{dir = 5},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) -"cAH" = (/obj/effect/floor_decal/corner/brown{dir = 5},/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) +"cAH" = (/obj/effect/floor_decal/corner/brown{dir = 5},/obj/item/stool/padded,/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) "cAI" = (/obj/effect/floor_decal/corner/brown{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) "cAJ" = (/obj/effect/floor_decal/corner/brown{dir = 5},/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) "cAK" = (/obj/effect/floor_decal/corner/brown{dir = 5},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) @@ -6799,14 +6799,14 @@ "cAM" = (/obj/effect/floor_decal/corner/brown{dir = 6},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/newscaster{pixel_x = 28; pixel_y = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) "cAN" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) "cAO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) -"cAP" = (/obj/item/weapon/stool/padded,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/crew_quarters/locker) -"cAQ" = (/obj/structure/table/standard,/obj/item/weapon/coin/silver,/turf/simulated/floor/tiled,/area/crew_quarters/locker) -"cAR" = (/obj/structure/table/standard,/obj/item/weapon/tape_roll,/turf/simulated/floor/tiled,/area/crew_quarters/locker) -"cAS" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled,/area/crew_quarters/locker) +"cAP" = (/obj/item/stool/padded,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/crew_quarters/locker) +"cAQ" = (/obj/structure/table/standard,/obj/item/coin/silver,/turf/simulated/floor/tiled,/area/crew_quarters/locker) +"cAR" = (/obj/structure/table/standard,/obj/item/tape_roll,/turf/simulated/floor/tiled,/area/crew_quarters/locker) +"cAS" = (/obj/item/stool/padded,/turf/simulated/floor/tiled,/area/crew_quarters/locker) "cAT" = (/obj/structure/bed/chair/comfy/beige{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_5) "cAU" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = -32},/obj/structure/table/standard,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_5) "cAV" = (/obj/structure/bed/chair/comfy/beige{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_5) -"cAW" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 2},/obj/machinery/light,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_5) +"cAW" = (/obj/structure/table/standard,/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 2},/obj/machinery/light,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_5) "cAX" = (/obj/structure/table/standard,/obj/machinery/microwave,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_5) "cAY" = (/obj/structure/cable/green,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/disposalpipe/segment,/obj/machinery/light_switch{pixel_x = -12; pixel_y = -24},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_5) "cAZ" = (/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/disposal,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_5) @@ -6815,14 +6815,14 @@ "cBc" = (/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/disposal,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_6) "cBd" = (/obj/structure/cable/green,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/disposalpipe/segment,/obj/machinery/light_switch{pixel_x = -12; pixel_y = -24},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_6) "cBe" = (/obj/structure/table/standard,/obj/machinery/microwave,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_6) -"cBf" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 2},/obj/machinery/light,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_6) +"cBf" = (/obj/structure/table/standard,/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 2},/obj/machinery/light,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_6) "cBg" = (/obj/structure/bed/chair/comfy/beige{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_6) "cBh" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_6) "cBi" = (/obj/structure/bed/chair/comfy/beige{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_6) "cBj" = (/obj/structure/bed/chair/comfy/beige{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_11) "cBk" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_11) "cBl" = (/obj/structure/bed/chair/comfy/beige{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_11) -"cBm" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 2},/obj/machinery/light,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_11) +"cBm" = (/obj/structure/table/standard,/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 2},/obj/machinery/light,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_11) "cBn" = (/obj/structure/table/standard,/obj/machinery/microwave,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_11) "cBo" = (/obj/structure/cable/green,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/disposalpipe/segment,/obj/machinery/light_switch{pixel_x = -12; pixel_y = -24},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_11) "cBp" = (/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/disposal,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_11) @@ -6832,7 +6832,7 @@ "cBt" = (/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/disposal,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_12) "cBu" = (/obj/structure/cable/green,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = -12; pixel_y = -24},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_12) "cBv" = (/obj/structure/table/standard,/obj/machinery/microwave,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_12) -"cBw" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 2},/obj/machinery/light,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_12) +"cBw" = (/obj/structure/table/standard,/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 2},/obj/machinery/light,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_12) "cBx" = (/obj/structure/bed/chair/comfy/beige{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_12) "cBy" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_12) "cBz" = (/obj/structure/bed/chair/comfy/beige{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_12) @@ -6848,7 +6848,7 @@ "cBJ" = (/obj/machinery/door/airlock/glass_mining{name = "Quartermaster"; req_access = list(41)},/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/qm) "cBK" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/quartermaster/qm) "cBL" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/quartermaster/qm) -"cBM" = (/obj/structure/table/standard,/obj/item/weapon/clipboard,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/weapon/stamp/qm,/turf/simulated/floor/tiled,/area/quartermaster/qm) +"cBM" = (/obj/structure/table/standard,/obj/item/clipboard,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/stamp/qm,/turf/simulated/floor/tiled,/area/quartermaster/qm) "cBN" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/quartermaster/qm) "cBO" = (/obj/machinery/computer/security/mining,/turf/simulated/floor/tiled,/area/quartermaster/qm) "cBP" = (/turf/simulated/floor,/area/maintenance/apmaint) @@ -6882,9 +6882,9 @@ "cCr" = (/obj/effect/floor_decal/corner/brown{dir = 6},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) "cCs" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/crew_quarters/coffee_shop) "cCt" = (/obj/machinery/camera/network/civilian{c_tag = "Civ - Locker Room"; dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/locker) -"cCu" = (/obj/item/weapon/stool/padded,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled,/area/crew_quarters/locker) +"cCu" = (/obj/item/stool/padded,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled,/area/crew_quarters/locker) "cCv" = (/obj/structure/table/standard,/obj/item/clothing/head/soft/grey{pixel_x = -2; pixel_y = 3},/turf/simulated/floor/tiled,/area/crew_quarters/locker) -"cCw" = (/obj/structure/table/standard,/obj/item/weapon/storage/laundry_basket,/turf/simulated/floor/tiled,/area/crew_quarters/locker) +"cCw" = (/obj/structure/table/standard,/obj/item/storage/laundry_basket,/turf/simulated/floor/tiled,/area/crew_quarters/locker) "cCx" = (/obj/machinery/lapvend,/turf/simulated/floor/tiled,/area/crew_quarters/locker) "cCy" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall,/area/crew_quarters/sleep/vistor_room_5) "cCz" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/corner/white{dir = 8},/obj/effect/floor_decal/corner/blue{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) @@ -6911,9 +6911,9 @@ "cCU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor,/area/maintenance/apmaint) "cCV" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor,/area/maintenance/apmaint) "cCW" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/light/small{dir = 4},/turf/simulated/floor,/area/maintenance/apmaint) -"cCX" = (/obj/structure/closet,/obj/item/clothing/glasses/welding,/obj/item/weapon/weldingtool,/obj/effect/decal/cleanable/dirt,/obj/item/clothing/shoes/boots/workboots,/obj/random/maintenance/engineering,/obj/random/maintenance/cargo,/obj/random/maintenance/engineering,/turf/simulated/floor/plating,/area/maintenance/apmaint) +"cCX" = (/obj/structure/closet,/obj/item/clothing/glasses/welding,/obj/item/weldingtool,/obj/effect/decal/cleanable/dirt,/obj/item/clothing/shoes/boots/workboots,/obj/random/maintenance/engineering,/obj/random/maintenance/cargo,/obj/random/maintenance/engineering,/turf/simulated/floor/plating,/area/maintenance/apmaint) "cCY" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/turf/simulated/floor,/area/maintenance/apmaint) -"cCZ" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/machinery/camera/network/northern_star{c_tag = "Hall - Engineering Primary Fore"; dir = 1},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/engineering_hallway) +"cCZ" = (/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/machinery/camera/network/northern_star{c_tag = "Hall - Engineering Primary Fore"; dir = 1},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/engineering_hallway) "cDa" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/engineering_hallway) "cDb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/engineering_hallway) "cDc" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/hallway/secondary/engineering_hallway) @@ -6939,7 +6939,7 @@ "cDw" = (/turf/simulated/wall,/area/maintenance/arrivals) "cDx" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/maintenance/arrivals) "cDy" = (/obj/structure/bed/chair/wood{dir = 4},/obj/effect/floor_decal/corner/brown{dir = 9},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) -"cDz" = (/obj/structure/table/woodentable,/obj/effect/floor_decal/corner/yellow{dir = 9},/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) +"cDz" = (/obj/structure/table/woodentable,/obj/effect/floor_decal/corner/yellow{dir = 9},/obj/item/book/codex/lore/vir,/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) "cDA" = (/obj/structure/bed/chair/wood{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) "cDB" = (/obj/effect/floor_decal/corner/yellow{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) "cDC" = (/obj/effect/floor_decal/corner/yellow{dir = 6},/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) @@ -6953,7 +6953,7 @@ "cDK" = (/obj/machinery/door/airlock/glass{name = "Locker Room"},/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/locker) "cDL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/locker) "cDM" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/crew_quarters/locker) -"cDN" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/locker) +"cDN" = (/obj/structure/table/standard,/obj/item/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/locker) "cDO" = (/obj/structure/table/standard,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/locker) "cDP" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/locker) "cDQ" = (/turf/simulated/wall,/area/crew_quarters/sleep/vistor_room_3) @@ -6961,11 +6961,11 @@ "cDS" = (/obj/structure/table/standard,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_3) "cDT" = (/obj/structure/curtain/open/shower,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/window/southright{name = "Shower"},/obj/machinery/shower{pixel_y = 3},/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_3) "cDU" = (/obj/structure/toilet,/obj/machinery/light{dir = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_3) -"cDV" = (/obj/structure/table/standard,/obj/item/weapon/soap/nanotrasen,/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_3) +"cDV" = (/obj/structure/table/standard,/obj/item/soap/nanotrasen,/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_3) "cDW" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/corner/white{dir = 8},/obj/effect/floor_decal/corner/blue{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) "cDX" = (/obj/effect/floor_decal/corner/white{dir = 4},/obj/effect/floor_decal/corner/blue,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) "cDY" = (/turf/simulated/wall,/area/crew_quarters/sleep/vistor_room_4) -"cDZ" = (/obj/structure/table/standard,/obj/item/weapon/soap/nanotrasen,/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_4) +"cDZ" = (/obj/structure/table/standard,/obj/item/soap/nanotrasen,/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_4) "cEa" = (/obj/structure/toilet,/obj/machinery/light{dir = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_4) "cEb" = (/obj/structure/curtain/open/shower,/obj/machinery/door/window/southright{name = "Shower"},/obj/structure/window/reinforced{dir = 8},/obj/machinery/shower{pixel_y = 3},/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_4) "cEc" = (/obj/structure/closet/secure_closet/personal,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_4) @@ -6975,11 +6975,11 @@ "cEg" = (/turf/simulated/wall,/area/crew_quarters/sleep/vistor_room_9) "cEh" = (/obj/structure/curtain/open/shower,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/window/southright{name = "Shower"},/obj/machinery/shower{pixel_y = 3},/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_9) "cEi" = (/obj/structure/toilet,/obj/machinery/light{dir = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_9) -"cEj" = (/obj/structure/table/standard,/obj/item/weapon/soap/nanotrasen,/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_9) +"cEj" = (/obj/structure/table/standard,/obj/item/soap/nanotrasen,/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_9) "cEk" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/corner/white{dir = 8},/obj/effect/floor_decal/corner/blue{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) "cEl" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/corner/white{dir = 4},/obj/effect/floor_decal/corner/blue,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) "cEm" = (/turf/simulated/wall,/area/crew_quarters/sleep/vistor_room_10) -"cEn" = (/obj/structure/table/standard,/obj/item/weapon/soap/nanotrasen,/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_10) +"cEn" = (/obj/structure/table/standard,/obj/item/soap/nanotrasen,/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_10) "cEo" = (/obj/structure/toilet,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_10) "cEp" = (/obj/structure/curtain/open/shower,/obj/machinery/door/window/southright{name = "Shower"},/obj/structure/window/reinforced{dir = 8},/obj/machinery/shower{pixel_y = 3},/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_10) "cEq" = (/obj/structure/closet/secure_closet/personal,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_10) @@ -6992,10 +6992,10 @@ "cEx" = (/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/quartermaster/storage) "cEy" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/vehicle/train/engine,/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/storage) "cEz" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/quartermaster/qm) -"cEA" = (/obj/structure/closet,/obj/item/weapon/storage/backpack/dufflebag,/turf/simulated/floor/tiled,/area/quartermaster/qm) +"cEA" = (/obj/structure/closet,/obj/item/storage/backpack/dufflebag,/turf/simulated/floor/tiled,/area/quartermaster/qm) "cEB" = (/obj/structure/closet/secure_closet/quartermaster,/turf/simulated/floor/tiled,/area/quartermaster/qm) -"cEC" = (/obj/structure/table/standard,/obj/item/weapon/coin/silver{pixel_x = -3; pixel_y = 3},/obj/item/weapon/coin/silver,/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/light,/turf/simulated/floor/tiled,/area/quartermaster/qm) -"cED" = (/obj/structure/table/standard,/obj/item/weapon/cartridge/quartermaster{pixel_x = 6; pixel_y = 5},/obj/item/weapon/cartridge/quartermaster,/obj/item/weapon/cartridge/quartermaster{pixel_x = -4; pixel_y = 7},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled,/area/quartermaster/qm) +"cEC" = (/obj/structure/table/standard,/obj/item/coin/silver{pixel_x = -3; pixel_y = 3},/obj/item/coin/silver,/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/light,/turf/simulated/floor/tiled,/area/quartermaster/qm) +"cED" = (/obj/structure/table/standard,/obj/item/cartridge/quartermaster{pixel_x = 6; pixel_y = 5},/obj/item/cartridge/quartermaster,/obj/item/cartridge/quartermaster{pixel_x = -4; pixel_y = 7},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled,/area/quartermaster/qm) "cEE" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/maintenance/apmaint) "cEF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/maintenance/apmaint) "cEG" = (/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "englockdown"; name = "Engineering Lockdown"; opacity = 0},/turf/simulated/floor,/area/maintenance/apmaint) @@ -7015,18 +7015,18 @@ "cEU" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway) "cEV" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway) "cEW" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway) -"cEX" = (/obj/structure/bed/chair/wood{dir = 4},/obj/effect/floor_decal/corner/brown{dir = 9},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) -"cEY" = (/obj/structure/table/woodentable,/obj/effect/floor_decal/corner/yellow{dir = 9},/obj/item/weapon/reagent_containers/food/condiment/small/sugar,/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) +"cEX" = (/obj/structure/bed/chair/wood{dir = 4},/obj/effect/floor_decal/corner/brown{dir = 9},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) +"cEY" = (/obj/structure/table/woodentable,/obj/effect/floor_decal/corner/yellow{dir = 9},/obj/item/reagent_containers/food/condiment/small/sugar,/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) "cEZ" = (/obj/structure/bed/chair/wood{dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) "cFa" = (/obj/effect/floor_decal/corner/yellow{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) "cFb" = (/obj/effect/floor_decal/corner/yellow{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) "cFc" = (/obj/structure/bed/chair/wood{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) -"cFd" = (/obj/structure/table/woodentable,/obj/effect/floor_decal/corner/yellow{dir = 6},/obj/item/weapon/reagent_containers/food/condiment/small/sugar,/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) +"cFd" = (/obj/structure/table/woodentable,/obj/effect/floor_decal/corner/yellow{dir = 6},/obj/item/reagent_containers/food/condiment/small/sugar,/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) "cFe" = (/obj/structure/bed/chair/wood{dir = 8},/obj/effect/floor_decal/corner/brown{dir = 6},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) "cFf" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/crew_quarters/coffee_shop) "cFg" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36; pixel_y = 0},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled,/area/crew_quarters/locker) "cFh" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/crew_quarters/locker) -"cFi" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/brown,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_3) +"cFi" = (/obj/structure/bed/padded,/obj/item/bedsheet/brown,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_3) "cFj" = (/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_3) "cFk" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_3) "cFl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_3) @@ -7035,9 +7035,9 @@ "cFo" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/mirror{pixel_x = -28},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_4) "cFp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_4) "cFq" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_4) -"cFr" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/brown,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_4) +"cFr" = (/obj/structure/bed/padded,/obj/item/bedsheet/brown,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_4) "cFs" = (/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_4) -"cFt" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/brown,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_9) +"cFt" = (/obj/structure/bed/padded,/obj/item/bedsheet/brown,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_9) "cFu" = (/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_9) "cFv" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_9) "cFw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_9) @@ -7046,7 +7046,7 @@ "cFz" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/mirror{pixel_x = -28},/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_10) "cFA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_10) "cFB" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_10) -"cFC" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/brown,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_10) +"cFC" = (/obj/structure/bed/padded,/obj/item/bedsheet/brown,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_10) "cFD" = (/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_10) "cFE" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/quartermaster/storage) "cFF" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/quartermaster/storage) @@ -7063,7 +7063,7 @@ "cFQ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) "cFR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) "cFS" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) -"cFT" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = 25; pixel_y = 0},/obj/structure/table/rack,/obj/item/device/suit_cooling_unit,/obj/item/device/suit_cooling_unit,/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) +"cFT" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = 25; pixel_y = 0},/obj/structure/table/rack,/obj/item/suit_cooling_unit,/obj/item/suit_cooling_unit,/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) "cFU" = (/obj/effect/floor_decal/corner/red{dir = 5},/obj/structure/closet/secure_closet/security,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/security/checkpoint2) "cFV" = (/obj/effect/floor_decal/corner/red{dir = 5},/obj/structure/closet/wardrobe/red,/turf/simulated/floor/tiled,/area/security/checkpoint2) "cFW" = (/turf/simulated/floor/tiled/dark,/area/hallway/secondary/docking_hallway) @@ -7106,7 +7106,7 @@ "cGH" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/vehicle/train/trolley,/obj/machinery/camera/network/cargo{c_tag = "CRG - Cargo Bay Starboard"; dir = 8; name = "security camera"},/turf/simulated/floor/tiled,/area/quartermaster/storage) "cGI" = (/turf/simulated/wall,/area/quartermaster/warehouse) "cGJ" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/effect/decal/cleanable/cobweb,/obj/effect/floor_decal/corner/brown/full{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/warehouse) -"cGK" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/module/power_control,/obj/item/weapon/cell{maxcharge = 2000},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/tiled/steel,/area/quartermaster/warehouse) +"cGK" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/module/power_control,/obj/item/cell{maxcharge = 2000},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/tiled/steel,/area/quartermaster/warehouse) "cGL" = (/obj/machinery/light/small{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/warehouse) "cGM" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/effect/floor_decal/corner/brown{dir = 5},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light_switch{pixel_x = -12; pixel_y = 24},/turf/simulated/floor/tiled,/area/quartermaster/warehouse) "cGN" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/warehouse) @@ -7118,20 +7118,20 @@ "cGT" = (/turf/simulated/floor/tiled/yellow,/area/engineering/locker_room) "cGU" = (/obj/structure/closet/secure_closet/atmos_personal,/turf/simulated/floor/tiled/yellow,/area/engineering/locker_room) "cGV" = (/turf/simulated/wall,/area/crew_quarters/sleep/engi_wash) -"cGW" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor/tiled,/area/hallway/secondary/engineering_hallway) +"cGW" = (/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor/tiled,/area/hallway/secondary/engineering_hallway) "cGX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/secondary/engineering_hallway) "cGY" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/hallway/secondary/engineering_hallway) "cGZ" = (/turf/simulated/wall,/area/construction) "cHa" = (/obj/machinery/door/airlock/maintenance{req_one_access = list(11,24)},/turf/simulated/floor,/area/construction) -"cHb" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/clothing/mask/breath,/obj/item/weapon/rig/eva/equipped,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) +"cHb" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/clothing/mask/breath,/obj/item/rig/eva/equipped,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) "cHc" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/atmos,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/atmos,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) "cHd" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) "cHe" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) "cHf" = (/obj/structure/table/reinforced,/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) "cHg" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) -"cHh" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/weapon/tank/jetpack/carbondioxide,/obj/item/clothing/suit/space/skrell/white,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/skrell/white,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) +"cHh" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/tank/jetpack/carbondioxide,/obj/item/clothing/suit/space/skrell/white,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/skrell/white,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) "cHi" = (/obj/machinery/door/firedoor/border_only,/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/ai_monitored/storage/eva) -"cHj" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/jetpack/carbondioxide,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/skrell/black,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/skrell/black,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) +"cHj" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/tank/jetpack/carbondioxide,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/skrell/black,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/skrell/black,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) "cHk" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor,/area/maintenance/evahallway) "cHl" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/maintenance/evahallway) "cHm" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/maintenance/evahallway) @@ -7152,12 +7152,12 @@ "cHB" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/maintenance/arrivals) "cHC" = (/turf/simulated/floor,/area/maintenance/arrivals) "cHD" = (/obj/structure/bed/chair/wood{dir = 4},/obj/effect/floor_decal/corner/brown/full,/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) -"cHE" = (/obj/structure/table/woodentable,/obj/effect/floor_decal/corner/brown{dir = 10},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = -32},/obj/item/weapon/reagent_containers/food/condiment/small/sugar,/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) +"cHE" = (/obj/structure/table/woodentable,/obj/effect/floor_decal/corner/brown{dir = 10},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = -32},/obj/item/reagent_containers/food/condiment/small/sugar,/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) "cHF" = (/obj/structure/bed/chair/wood{dir = 8},/obj/effect/floor_decal/corner/brown{dir = 10},/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) "cHG" = (/obj/effect/floor_decal/corner/brown{dir = 10},/obj/machinery/media/jukebox,/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) "cHH" = (/obj/effect/floor_decal/corner/brown{dir = 10},/obj/machinery/disposal,/obj/machinery/camera/network/civilian{c_tag = "CIV - Cafe"; dir = 1},/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) "cHI" = (/obj/structure/bed/chair/wood{dir = 4},/obj/effect/floor_decal/corner/brown{dir = 10},/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -32},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) -"cHJ" = (/obj/structure/table/woodentable,/obj/effect/floor_decal/corner/brown{dir = 10},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = -32},/obj/item/weapon/reagent_containers/food/condiment/small/sugar,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) +"cHJ" = (/obj/structure/table/woodentable,/obj/effect/floor_decal/corner/brown{dir = 10},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = -32},/obj/item/reagent_containers/food/condiment/small/sugar,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) "cHK" = (/obj/structure/bed/chair/wood{dir = 8},/obj/effect/floor_decal/corner/brown/full{dir = 4},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) "cHL" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/extinguisher_cabinet{pixel_x = -27},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) "cHM" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/tiled,/area/crew_quarters/locker) @@ -7169,12 +7169,12 @@ "cHS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_3) "cHT" = (/obj/machinery/alarm{pixel_y = 22},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_3) "cHU" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/disposalpipe/junction{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_3) -"cHV" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_3) +"cHV" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_3) "cHW" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock{name = "Room 3"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_3) "cHX" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) "cHY" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) "cHZ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock{name = "Room 4"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_4) -"cIa" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/junction{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_4) +"cIa" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/junction{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_4) "cIb" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_4) "cIc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_4) "cId" = (/obj/machinery/alarm{pixel_y = 22},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_4) @@ -7185,12 +7185,12 @@ "cIi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_9) "cIj" = (/obj/machinery/alarm{pixel_y = 22},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_9) "cIk" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 2},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_9) -"cIl" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_9) +"cIl" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_9) "cIm" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock{name = "Room 9"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_9) "cIn" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) "cIo" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) "cIp" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock{name = "Room 10"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_10) -"cIq" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_10) +"cIq" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_10) "cIr" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_10) "cIs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_10) "cIt" = (/obj/machinery/alarm{pixel_y = 22},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_10) @@ -7219,10 +7219,10 @@ "cIQ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/camera/network/northern_star{c_tag = "Hall - Engineering Primary Aft"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/engineering_hallway) "cIR" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/secondary/engineering_hallway) "cIS" = (/obj/structure/disposalpipe/segment,/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/engineering_hallway) -"cIT" = (/obj/structure/table/steel,/obj/item/clothing/gloves/black,/obj/item/device/multitool{pixel_x = 5},/obj/random/tech_supply,/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/construction) +"cIT" = (/obj/structure/table/steel,/obj/item/clothing/gloves/black,/obj/item/multitool{pixel_x = 5},/obj/random/tech_supply,/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/construction) "cIU" = (/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/construction) "cIV" = (/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/maintenance/engineering,/turf/simulated/floor,/area/construction) -"cIW" = (/obj/structure/table/steel,/obj/item/weapon/tank/emergency/oxygen/engi,/obj/random/tech_supply,/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor,/area/construction) +"cIW" = (/obj/structure/table/steel,/obj/item/tank/emergency/oxygen/engi,/obj/random/tech_supply,/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor,/area/construction) "cIX" = (/turf/simulated/floor,/area/construction) "cIY" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/construction) "cIZ" = (/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hardsuits"; req_one_access = list(11,24)},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) @@ -7258,21 +7258,21 @@ "cJD" = (/obj/structure/bed/chair/comfy/beige{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_3) "cJE" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_3) "cJF" = (/obj/structure/bed/chair/comfy/beige{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_3) -"cJG" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 2},/obj/machinery/light,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_3) +"cJG" = (/obj/structure/table/standard,/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 2},/obj/machinery/light,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_3) "cJH" = (/obj/structure/table/standard,/obj/machinery/microwave,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_3) "cJI" = (/obj/structure/cable/green,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/disposalpipe/segment,/obj/machinery/light_switch{pixel_x = -12; pixel_y = -24},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_3) "cJJ" = (/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/disposal,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_3) "cJK" = (/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/disposal,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_4) "cJL" = (/obj/structure/cable/green,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/disposalpipe/segment,/obj/machinery/light_switch{pixel_x = -12; pixel_y = -24},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_4) "cJM" = (/obj/structure/table/standard,/obj/machinery/microwave,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_4) -"cJN" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 2},/obj/machinery/light,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_4) +"cJN" = (/obj/structure/table/standard,/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 2},/obj/machinery/light,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_4) "cJO" = (/obj/structure/bed/chair/comfy/beige{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_4) "cJP" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_4) "cJQ" = (/obj/structure/bed/chair/comfy/beige{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_4) "cJR" = (/obj/structure/bed/chair/comfy/beige{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_9) "cJS" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_9) "cJT" = (/obj/structure/bed/chair/comfy/beige{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_9) -"cJU" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 2},/obj/machinery/light,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_9) +"cJU" = (/obj/structure/table/standard,/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 2},/obj/machinery/light,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_9) "cJV" = (/obj/structure/table/standard,/obj/machinery/microwave,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_9) "cJW" = (/obj/structure/cable/green,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/disposalpipe/segment,/obj/machinery/light_switch{pixel_x = -12; pixel_y = -24},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_9) "cJX" = (/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/disposal,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_9) @@ -7280,7 +7280,7 @@ "cJZ" = (/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/disposal,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_10) "cKa" = (/obj/structure/cable/green,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = -12; pixel_y = -24},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_10) "cKb" = (/obj/structure/table/standard,/obj/machinery/microwave,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_10) -"cKc" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 2},/obj/machinery/light,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_10) +"cKc" = (/obj/structure/table/standard,/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 2},/obj/machinery/light,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_10) "cKd" = (/obj/structure/bed/chair/comfy/beige{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_10) "cKe" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_10) "cKf" = (/obj/structure/bed/chair/comfy/beige{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_10) @@ -7310,11 +7310,11 @@ "cKD" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/corner/yellow{dir = 6},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/hallway/secondary/engineering_hallway) "cKE" = (/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/maintenance/engineering,/turf/simulated/floor/tiled,/area/construction) "cKF" = (/turf/simulated/floor/tiled,/area/construction) -"cKG" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/table/reinforced,/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) +"cKG" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/table/reinforced,/obj/item/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) "cKH" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) "cKI" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_command{name = "Skrellian Hardsuits"; req_one_access = list(18)},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) "cKJ" = (/obj/structure/table/reinforced,/obj/item/stack/material/plasteel{amount = 10},/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/steel{amount = 50},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/camera/network/security{c_tag = "EVA Northeast"; dir = 8},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) -"cKK" = (/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 6},/obj/item/weapon/storage/briefcase/inflatable{pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = -3},/obj/structure/table/reinforced,/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) +"cKK" = (/obj/item/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 6},/obj/item/storage/briefcase/inflatable{pixel_y = 3},/obj/item/storage/briefcase/inflatable{pixel_x = -3},/obj/structure/table/reinforced,/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) "cKL" = (/obj/machinery/suit_storage_unit/standard_unit,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) "cKM" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/evahallway) "cKN" = (/obj/effect/floor_decal/corner/red{dir = 9},/obj/machinery/computer/secure_data,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/tiled,/area/security/checkpoint2) @@ -7332,12 +7332,12 @@ "cKZ" = (/obj/structure/bookcase,/turf/simulated/floor/wood,/area/crew_quarters/longue_area) "cLa" = (/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor/wood,/area/crew_quarters/longue_area) "cLb" = (/obj/structure/bed/chair/comfy/black{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/turf/simulated/floor/carpet,/area/crew_quarters/longue_area) -"cLc" = (/obj/structure/table/woodentable,/obj/item/weapon/material/ashtray/glass,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = 32},/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/carpet,/area/crew_quarters/longue_area) +"cLc" = (/obj/structure/table/woodentable,/obj/item/material/ashtray/glass,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = 32},/obj/item/book/codex/lore/vir,/turf/simulated/floor/carpet,/area/crew_quarters/longue_area) "cLd" = (/obj/structure/bed/chair/comfy/black{dir = 8},/turf/simulated/floor/carpet,/area/crew_quarters/longue_area) "cLe" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/wood,/area/crew_quarters/longue_area) "cLf" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/crew_quarters/longue_area) "cLg" = (/obj/structure/flora/pottedplant{icon_state = "plant-10"},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/docking_hallway2) -"cLh" = (/obj/structure/table/standard,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/item/weapon/soap,/obj/random/soap,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/locker/locker_toilet) +"cLh" = (/obj/structure/table/standard,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/item/soap,/obj/random/soap,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/locker/locker_toilet) "cLi" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/locker/locker_toilet) "cLj" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/locker/locker_toilet) "cLk" = (/obj/machinery/door/airlock{name = "Unit 1"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/locker/locker_toilet) @@ -7369,10 +7369,10 @@ "cLK" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/construction) "cLL" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor,/area/construction) "cLM" = (/obj/machinery/suit_cycler/security,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) -"cLN" = (/obj/structure/table/reinforced,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/device/radio/off,/obj/item/device/radio/off,/obj/item/device/radio/off,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) +"cLN" = (/obj/structure/table/reinforced,/obj/machinery/cell_charger,/obj/item/cell/high{charge = 100; maxcharge = 15000},/obj/item/cell/high{charge = 100; maxcharge = 15000},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/radio/off,/obj/item/radio/off,/obj/item/radio/off,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) "cLO" = (/obj/machinery/door/firedoor/border_only,/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/ai_monitored/storage/eva) "cLP" = (/obj/machinery/door/firedoor/border_only,/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/ai_monitored/storage/eva) -"cLQ" = (/obj/effect/floor_decal/corner/red{dir = 9},/obj/machinery/computer/card,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor/tiled,/area/security/checkpoint2) +"cLQ" = (/obj/effect/floor_decal/corner/red{dir = 9},/obj/machinery/computer/card,/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor/tiled,/area/security/checkpoint2) "cLR" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/security/checkpoint2) "cLS" = (/obj/effect/floor_decal/corner/red{dir = 6},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/bed/chair/office/dark{dir = 4},/obj/machinery/button/remote/airlock{id = "security_checkpoint"; name = "Door Bolt Control"; pixel_x = 6; pixel_y = -28; req_access = list(1); specialfunctions = 4},/obj/machinery/button/remote/airlock{id = "security_bar"; name = "Bar Door Bolt Control"; pixel_x = -6; pixel_y = -28; req_access = list(1); specialfunctions = 4},/turf/simulated/floor/tiled,/area/security/checkpoint2) "cLT" = (/obj/machinery/door/firedoor/glass,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/window/brigdoor/westleft{name = "Security Checkpoint"; req_access = list(1)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/table/reinforced,/turf/simulated/floor/tiled,/area/security/checkpoint2) @@ -7390,7 +7390,7 @@ "cMf" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor,/area/crew_quarters/longue_area) "cMg" = (/turf/simulated/floor/wood,/area/crew_quarters/longue_area) "cMh" = (/obj/structure/bed/chair/comfy/black{dir = 4},/turf/simulated/floor/carpet,/area/crew_quarters/longue_area) -"cMi" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/carpet,/area/crew_quarters/longue_area) +"cMi" = (/obj/structure/table/woodentable,/obj/item/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/carpet,/area/crew_quarters/longue_area) "cMj" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/wood,/area/crew_quarters/longue_area) "cMk" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/crew_quarters/longue_area) "cMl" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) @@ -7402,21 +7402,21 @@ "cMr" = (/turf/simulated/wall,/area/crew_quarters/sleep/vistor_room_1) "cMs" = (/obj/structure/curtain/open/shower,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/window/southright{name = "Shower"},/obj/machinery/shower{pixel_y = 3},/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_1) "cMt" = (/obj/structure/toilet,/obj/machinery/light{dir = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_1) -"cMu" = (/obj/structure/table/standard,/obj/item/weapon/soap/nanotrasen,/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_1) +"cMu" = (/obj/structure/table/standard,/obj/item/soap/nanotrasen,/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_1) "cMv" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/corner/white{dir = 8},/obj/effect/floor_decal/corner/blue{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) "cMw" = (/obj/effect/floor_decal/corner/white{dir = 4},/obj/effect/floor_decal/corner/blue,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) "cMx" = (/turf/simulated/wall,/area/crew_quarters/sleep/vistor_room_2) -"cMy" = (/obj/structure/table/standard,/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/item/weapon/soap/nanotrasen,/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_2) +"cMy" = (/obj/structure/table/standard,/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/item/soap/nanotrasen,/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_2) "cMz" = (/obj/structure/toilet,/obj/machinery/light{dir = 1},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_2) "cMA" = (/obj/structure/curtain/open/shower,/obj/machinery/door/window/southright{name = "Shower"},/obj/structure/window/reinforced{dir = 8},/obj/machinery/shower{pixel_y = 3},/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_2) "cMB" = (/turf/simulated/wall,/area/crew_quarters/sleep/vistor_room_7) "cMC" = (/obj/structure/curtain/open/shower,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/window/southright{name = "Shower"},/obj/machinery/shower{pixel_y = 3},/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_7) "cMD" = (/obj/structure/toilet,/obj/machinery/light{dir = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_7) -"cME" = (/obj/structure/table/standard,/obj/item/weapon/soap/nanotrasen,/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_7) +"cME" = (/obj/structure/table/standard,/obj/item/soap/nanotrasen,/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_7) "cMF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/corner/white{dir = 8},/obj/effect/floor_decal/corner/blue{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) "cMG" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/corner/white{dir = 4},/obj/effect/floor_decal/corner/blue,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) "cMH" = (/turf/simulated/wall,/area/crew_quarters/sleep/vistor_room_8) -"cMI" = (/obj/structure/table/standard,/obj/item/weapon/soap/nanotrasen,/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_8) +"cMI" = (/obj/structure/table/standard,/obj/item/soap/nanotrasen,/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_8) "cMJ" = (/obj/structure/toilet,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_8) "cMK" = (/obj/structure/curtain/open/shower,/obj/machinery/door/window/southright{name = "Shower"},/obj/structure/window/reinforced{dir = 8},/obj/machinery/shower{pixel_y = 3},/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_8) "cML" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/quartermaster/storage) @@ -7438,11 +7438,11 @@ "cNb" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{pixel_x = -28; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/sleep/engi_wash) "cNc" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/sleep/engi_wash) "cNd" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/table/standard,/obj/machinery/light_switch{pixel_x = 12; pixel_y = 24},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/sleep/engi_wash) -"cNe" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/structure/undies_wardrobe,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/sleep/engi_wash) +"cNe" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/structure/undies_wardrobe,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/sleep/engi_wash) "cNf" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/secondary/engineering_hallway) "cNg" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/secondary/engineering_hallway) "cNh" = (/obj/effect/floor_decal/industrial/warning,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/hallway/secondary/engineering_hallway) -"cNi" = (/obj/effect/decal/cleanable/blood/oil/streak{amount = 0},/obj/item/weapon/tool/wirecutters,/turf/simulated/floor/tiled,/area/construction) +"cNi" = (/obj/effect/decal/cleanable/blood/oil/streak{amount = 0},/obj/item/tool/wirecutters,/turf/simulated/floor/tiled,/area/construction) "cNj" = (/obj/machinery/suit_cycler/medical,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) "cNk" = (/obj/machinery/door/airlock/glass_command{name = "E.V.A. Cycler Access"; req_one_access = list(18)},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) "cNl" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) @@ -7451,7 +7451,7 @@ "cNo" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_command{name = "E.V.A."; req_one_access = list(18)},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) "cNp" = (/obj/effect/floor_decal/corner/red{dir = 9},/obj/machinery/computer/security,/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/tiled,/area/security/checkpoint2) "cNq" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled,/area/security/checkpoint2) -"cNr" = (/obj/effect/floor_decal/corner/red{dir = 6},/obj/structure/table/reinforced,/obj/item/weapon/pen,/turf/simulated/floor/tiled,/area/security/checkpoint2) +"cNr" = (/obj/effect/floor_decal/corner/red{dir = 6},/obj/structure/table/reinforced,/obj/item/pen,/turf/simulated/floor/tiled,/area/security/checkpoint2) "cNs" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway) "cNt" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/docking_hallway) "cNu" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway) @@ -7486,9 +7486,9 @@ "cNX" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/mirror{pixel_x = -28},/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_8) "cNY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_8) "cNZ" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_8) -"cOa" = (/obj/structure/table/standard,/obj/item/clothing/head/soft,/obj/item/weapon/stamp{pixel_x = -3; pixel_y = 3},/obj/item/clothing/head/soft,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"cOa" = (/obj/structure/table/standard,/obj/item/clothing/head/soft,/obj/item/stamp{pixel_x = -3; pixel_y = 3},/obj/item/clothing/head/soft,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/tiled,/area/quartermaster/storage) "cOb" = (/obj/structure/table/standard,/obj/machinery/cell_charger,/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_x = 0; pixel_y = -30},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"cOc" = (/obj/structure/table/standard,/obj/item/weapon/hand_labeler,/obj/item/weapon/stamp{pixel_x = -3; pixel_y = 3},/obj/item/weapon/hand_labeler,/turf/simulated/floor/tiled,/area/quartermaster/storage) +"cOc" = (/obj/structure/table/standard,/obj/item/hand_labeler,/obj/item/stamp{pixel_x = -3; pixel_y = 3},/obj/item/hand_labeler,/turf/simulated/floor/tiled,/area/quartermaster/storage) "cOd" = (/obj/machinery/status_display/supply_display,/turf/simulated/wall,/area/quartermaster/warehouse) "cOe" = (/obj/structure/closet/crate/medical,/obj/effect/floor_decal/corner/brown/full,/turf/simulated/floor/tiled,/area/quartermaster/warehouse) "cOf" = (/turf/simulated/floor/tiled/steel,/area/quartermaster/warehouse) @@ -7499,7 +7499,7 @@ "cOk" = (/obj/machinery/power/breakerbox/activated{RCon_tag = "Atmos Substation Bypass"},/turf/simulated/floor,/area/engineering/atmos/storage) "cOl" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/engineering/atmos/storage) "cOm" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/atmos/storage) -"cOn" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/item/weapon/tank/oxygen/yellow,/obj/item/weapon/tank/oxygen/yellow,/turf/simulated/floor,/area/engineering/atmos/storage) +"cOn" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/item/tank/oxygen/yellow,/obj/item/tank/oxygen/yellow,/turf/simulated/floor,/area/engineering/atmos/storage) "cOo" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/tiled/yellow,/area/engineering/locker_room) "cOp" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/yellow,/area/engineering/locker_room) "cOq" = (/obj/machinery/door/airlock/engineering{name = "Engineering Washroom"; req_one_access = list(10)},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/freezer,/area/engineering/locker_room) @@ -7513,18 +7513,18 @@ "cOy" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor,/area/construction) "cOz" = (/obj/machinery/suit_cycler/engineering,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) "cOA" = (/obj/machinery/door/firedoor/border_only,/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/ai_monitored/storage/eva) -"cOB" = (/obj/structure/table/reinforced,/obj/item/clothing/head/welding,/obj/item/weapon/storage/belt/utility,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/camera/network/command{c_tag = "EVA - Aft"; dir = 4},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) +"cOB" = (/obj/structure/table/reinforced,/obj/item/clothing/head/welding,/obj/item/storage/belt/utility,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/camera/network/command{c_tag = "EVA - Aft"; dir = 4},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) "cOC" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) "cOD" = (/obj/structure/table/reinforced,/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/rods{amount = 50},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) "cOE" = (/obj/effect/floor_decal/corner/red/full,/obj/structure/filingcabinet/chestdrawer,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled,/area/security/checkpoint2) "cOF" = (/obj/effect/floor_decal/corner/red{dir = 10},/obj/machinery/light,/turf/simulated/floor/tiled,/area/security/checkpoint2) -"cOG" = (/obj/effect/floor_decal/corner/red/full{dir = 4},/obj/structure/table/reinforced,/obj/item/weapon/tool/crowbar,/obj/item/device/flash,/obj/machinery/camera/network/security{c_tag = "SEC - Arrival Checkpoint"; dir = 1},/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/turf/simulated/floor/tiled,/area/security/checkpoint2) +"cOG" = (/obj/effect/floor_decal/corner/red/full{dir = 4},/obj/structure/table/reinforced,/obj/item/tool/crowbar,/obj/item/flash,/obj/machinery/camera/network/security{c_tag = "SEC - Arrival Checkpoint"; dir = 1},/obj/item/paper_bin{pixel_x = 1; pixel_y = 9},/turf/simulated/floor/tiled,/area/security/checkpoint2) "cOH" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway) "cOI" = (/obj/effect/floor_decal/industrial/loading{icon_state = "loadingarea"; dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway) "cOJ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway) "cOK" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway) "cOL" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway) -"cOM" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 26},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/docking_hallway) +"cOM" = (/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 26},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/docking_hallway) "cON" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor,/area/maintenance/substation/dock) "cOO" = (/obj/machinery/power/breakerbox/activated{RCon_tag = "Dock Substation Bypass"},/turf/simulated/floor/plating,/area/maintenance/substation/dock) "cOP" = (/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Dock"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/maintenance/substation/dock) @@ -7540,25 +7540,25 @@ "cOZ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) "cPa" = (/obj/structure/undies_wardrobe,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/locker/locker_toilet) "cPb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/locker/locker_toilet) -"cPc" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 22},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/locker/locker_toilet) +"cPc" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 22},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/locker/locker_toilet) "cPd" = (/obj/structure/table/standard,/obj/machinery/newscaster{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_1) -"cPe" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/brown,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_1) +"cPe" = (/obj/structure/bed/padded,/obj/item/bedsheet/brown,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_1) "cPf" = (/obj/structure/closet/secure_closet/personal,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_1) "cPg" = (/obj/machinery/door/airlock{name = "Restroom"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_1) "cPh" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/corner/blue{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/camera/network/civilian{c_tag = "CIV - Visitor Room Hall AP"; dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) "cPi" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall,/area/crew_quarters/sleep/vistor_room_2) "cPj" = (/obj/machinery/door/airlock{name = "Restroom"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_2) "cPk" = (/obj/structure/closet/secure_closet/personal,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_2) -"cPl" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/brown,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_2) +"cPl" = (/obj/structure/bed/padded,/obj/item/bedsheet/brown,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_2) "cPm" = (/obj/structure/table/standard,/obj/machinery/newscaster{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_2) "cPn" = (/obj/structure/table/standard,/obj/machinery/newscaster{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_7) -"cPo" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/brown,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_7) +"cPo" = (/obj/structure/bed/padded,/obj/item/bedsheet/brown,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_7) "cPp" = (/obj/structure/closet/secure_closet/personal,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_7) "cPq" = (/obj/machinery/door/airlock{name = "Restroom"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_7) "cPr" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/corner/white{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/camera/network/civilian{c_tag = "CIV - Visitor Room Hall AS"; dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) "cPs" = (/obj/machinery/door/airlock{name = "Restroom"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/vistor_room_8) "cPt" = (/obj/structure/closet/secure_closet/personal,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_8) -"cPu" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/brown,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_8) +"cPu" = (/obj/structure/bed/padded,/obj/item/bedsheet/brown,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_8) "cPv" = (/obj/structure/table/standard,/obj/machinery/newscaster{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_8) "cPw" = (/obj/machinery/power/smes/buildable{charge = 2e+006; RCon_tag = "Substation - Atmospherics"},/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/obj/structure/cable/cyan,/turf/simulated/floor,/area/engineering/atmos/storage) "cPx" = (/obj/machinery/power/terminal{dir = 8},/obj/structure/cable,/turf/simulated/floor,/area/engineering/atmos/storage) @@ -7566,8 +7566,8 @@ "cPz" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/turf/simulated/floor,/area/engineering/atmos/storage) "cPA" = (/turf/simulated/wall/r_wall,/area/engineering/atmos/monitoring) "cPB" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = -36; pixel_y = 0},/turf/simulated/floor/tiled/yellow,/area/engineering/locker_room) -"cPC" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/firstaid/regular,/obj/item/bodybag/cryobag{pixel_x = 6},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/random/medical/lite,/turf/simulated/floor/tiled/yellow,/area/engineering/locker_room) -"cPD" = (/obj/structure/table/standard,/obj/structure/bedsheetbin,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/item/weapon/soap/nanotrasen,/obj/random/soap,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/sleep/engi_wash) +"cPC" = (/obj/structure/table/reinforced,/obj/item/storage/firstaid/regular,/obj/item/bodybag/cryobag{pixel_x = 6},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/random/medical/lite,/turf/simulated/floor/tiled/yellow,/area/engineering/locker_room) +"cPD" = (/obj/structure/table/standard,/obj/structure/bedsheetbin,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/item/soap/nanotrasen,/obj/random/soap,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/sleep/engi_wash) "cPE" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/sleep/engi_wash) "cPF" = (/obj/machinery/shower{dir = 1},/obj/machinery/door/window/northleft{name = "Shower"; req_access = list()},/obj/structure/curtain/open/shower/engineering,/obj/structure/window/basic{dir = 8},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/sleep/engi_wash) "cPG" = (/obj/machinery/shower{dir = 1},/obj/machinery/door/window/northright{dir = 1; name = "Shower"; req_access = list()},/obj/structure/curtain/open/shower/engineering,/obj/structure/window/basic{dir = 8},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/sleep/engi_wash) @@ -7576,11 +7576,11 @@ "cPJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass{name = "Engineering Access"},/turf/simulated/floor/tiled,/area/engineering/foyer) "cPK" = (/obj/machinery/door/airlock/glass{name = "Engineering Access"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/foyer) "cPL" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor,/area/construction) -"cPM" = (/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/construction) -"cPN" = (/obj/item/device/flashlight,/turf/simulated/floor,/area/construction) +"cPM" = (/obj/item/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/construction) +"cPN" = (/obj/item/flashlight,/turf/simulated/floor,/area/construction) "cPO" = (/turf/simulated/wall/r_wall,/area/construction) "cPP" = (/obj/machinery/suit_cycler/mining,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) -"cPQ" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/table/reinforced,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/item/device/multitool,/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) +"cPQ" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/table/reinforced,/obj/item/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/item/multitool,/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) "cPR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) "cPS" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) "cPT" = (/obj/machinery/door/firedoor/border_only,/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/ai_monitored/storage/eva) @@ -7591,8 +7591,8 @@ "cPY" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/glass{name = "Dock"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/docking_lounge) "cPZ" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass{name = "Dock"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/docking_lounge) "cQa" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/glass{name = "Dock"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/docking_lounge) -"cQb" = (/obj/structure/table/woodentable,/obj/item/weapon/pen/blue{pixel_x = -5; pixel_y = -1},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = 3},/obj/item/weapon/pen,/obj/item/weapon/paper,/turf/simulated/floor/wood,/area/crew_quarters/longue_area) -"cQc" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/device/taperecorder,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -26},/turf/simulated/floor/wood,/area/crew_quarters/longue_area) +"cQb" = (/obj/structure/table/woodentable,/obj/item/pen/blue{pixel_x = -5; pixel_y = -1},/obj/item/pen/red{pixel_x = -1; pixel_y = 3},/obj/item/pen,/obj/item/paper,/turf/simulated/floor/wood,/area/crew_quarters/longue_area) +"cQc" = (/obj/structure/table/woodentable,/obj/item/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/taperecorder,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -26},/turf/simulated/floor/wood,/area/crew_quarters/longue_area) "cQd" = (/obj/structure/bed/chair/comfy/black{dir = 4},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/carpet,/area/crew_quarters/longue_area) "cQe" = (/obj/machinery/camera/network/civilian{c_tag = "CIV - Lounge"; dir = 1},/turf/simulated/floor/carpet,/area/crew_quarters/longue_area) "cQf" = (/obj/structure/bed/chair/comfy/black{dir = 8},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 12; pixel_y = -24},/obj/structure/cable/green,/turf/simulated/floor/carpet,/area/crew_quarters/longue_area) @@ -7604,10 +7604,10 @@ "cQl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_1) "cQm" = (/obj/machinery/alarm{pixel_y = 22},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_1) "cQn" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_1) -"cQo" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_1) +"cQo" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_1) "cQp" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock{name = "Room 1"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_1) "cQq" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock{name = "Room 2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_2) -"cQr" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/junction{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_2) +"cQr" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/junction{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_2) "cQs" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_2) "cQt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_2) "cQu" = (/obj/machinery/alarm{pixel_y = 22},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_2) @@ -7618,10 +7618,10 @@ "cQz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_7) "cQA" = (/obj/machinery/alarm{pixel_y = 22},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_7) "cQB" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 2},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_7) -"cQC" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_7) +"cQC" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_7) "cQD" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock{name = "Room 7"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_7) "cQE" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock{name = "Room 8"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_8) -"cQF" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_8) +"cQF" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_8) "cQG" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_8) "cQH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_8) "cQI" = (/obj/machinery/alarm{pixel_y = 22},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_8) @@ -7645,7 +7645,7 @@ "cRa" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/engineering/foyer) "cRb" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/engineering/foyer) "cRc" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/chief) -"cRd" = (/obj/structure/table/reinforced,/obj/item/device/assembly/signaler,/obj/item/device/assembly/signaler,/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) +"cRd" = (/obj/structure/table/reinforced,/obj/item/assembly/signaler,/obj/item/assembly/signaler,/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) "cRe" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) "cRf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) "cRg" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/structure/cable/green,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 12; pixel_y = -24},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) @@ -7675,14 +7675,14 @@ "cRE" = (/obj/structure/bed/chair/comfy/beige{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_1) "cRF" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_1) "cRG" = (/obj/structure/bed/chair/comfy/beige{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_1) -"cRH" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 2},/obj/machinery/light,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_1) +"cRH" = (/obj/structure/table/standard,/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 2},/obj/machinery/light,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_1) "cRI" = (/obj/structure/table/standard,/obj/machinery/microwave,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_1) "cRJ" = (/obj/structure/cable/green,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = -12; pixel_y = -24},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_1) "cRK" = (/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/disposal,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_1) "cRL" = (/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/disposal,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_2) "cRM" = (/obj/structure/cable/green,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/light_switch{pixel_x = -12; pixel_y = -24},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_2) "cRN" = (/obj/structure/table/standard,/obj/machinery/microwave,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_2) -"cRO" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 2},/obj/machinery/light,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_2) +"cRO" = (/obj/structure/table/standard,/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 2},/obj/machinery/light,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_2) "cRP" = (/obj/structure/bed/chair/comfy/beige{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_2) "cRQ" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_2) "cRR" = (/obj/structure/bed/chair/comfy/beige{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_2) @@ -7690,7 +7690,7 @@ "cRT" = (/obj/structure/bed/chair/comfy/beige{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_7) "cRU" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = -32},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_7) "cRV" = (/obj/structure/bed/chair/comfy/beige{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_7) -"cRW" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 2},/obj/machinery/light,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_7) +"cRW" = (/obj/structure/table/standard,/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 2},/obj/machinery/light,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_7) "cRX" = (/obj/structure/table/standard,/obj/machinery/microwave,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_7) "cRY" = (/obj/structure/cable/green,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/light_switch{pixel_x = -12; pixel_y = -24},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_7) "cRZ" = (/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/disposal,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_7) @@ -7699,7 +7699,7 @@ "cSc" = (/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/disposal,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_8) "cSd" = (/obj/structure/cable/green,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = -12; pixel_y = -24},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_8) "cSe" = (/obj/structure/table/standard,/obj/machinery/microwave,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_8) -"cSf" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 2},/obj/machinery/light,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_8) +"cSf" = (/obj/structure/table/standard,/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 2},/obj/machinery/light,/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_8) "cSg" = (/obj/structure/bed/chair/comfy/beige{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_8) "cSh" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_8) "cSi" = (/obj/structure/bed/chair/comfy/beige{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/sleep/vistor_room_8) @@ -7715,9 +7715,9 @@ "cSs" = (/turf/simulated/wall/r_wall,/area/engineering/break_room) "cSt" = (/turf/simulated/wall,/area/engineering/break_room) "cSu" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/machinery/newscaster{pixel_x = -28; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/engineering/break_room) -"cSv" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/woodentable,/obj/item/weapon/book/manual/engineering_construction,/obj/item/weapon/book/manual/evaguide{pixel_x = -2; pixel_y = 7},/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/tiled,/area/engineering/break_room) -"cSw" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/woodentable,/obj/item/weapon/dice,/obj/structure/noticeboard{pixel_x = 0; pixel_y = 27},/obj/item/weapon/deck/cards,/turf/simulated/floor/tiled,/area/engineering/break_room) -"cSx" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/woodentable,/obj/item/weapon/book/manual/engineering_guide{pixel_x = 3; pixel_y = 2},/obj/item/weapon/book/manual/atmospipes,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = -12; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled,/area/engineering/break_room) +"cSv" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/woodentable,/obj/item/book/manual/wiki/engineering_construction,/obj/item/book/manual/evaguide{pixel_x = -2; pixel_y = 7},/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/tiled,/area/engineering/break_room) +"cSw" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/woodentable,/obj/item/dice,/obj/structure/noticeboard{pixel_x = 0; pixel_y = 27},/obj/item/deck/cards,/turf/simulated/floor/tiled,/area/engineering/break_room) +"cSx" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/woodentable,/obj/item/book/manual/wiki/engineering_guide{pixel_x = 3; pixel_y = 2},/obj/item/book/manual/atmospipes,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = -12; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled,/area/engineering/break_room) "cSy" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/engineering/break_room) "cSz" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/bookcase/manuals/engineering,/turf/simulated/floor/tiled,/area/engineering/break_room) "cSA" = (/obj/machinery/atm{pixel_y = 28},/obj/machinery/newscaster{pixel_x = -31; pixel_y = 0},/obj/effect/floor_decal/corner/yellow/diagonal,/turf/simulated/floor/tiled,/area/engineering/foyer) @@ -7728,7 +7728,7 @@ "cSF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "ceoffice"; name = "CE Office Privacy Shutters"; opacity = 0},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/crew_quarters/heads/chief) "cSG" = (/obj/machinery/computer/atmos_alert,/obj/effect/floor_decal/corner/blue/full{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/heads/chief) "cSH" = (/obj/machinery/computer/station_alert/all,/turf/simulated/floor/tiled,/area/crew_quarters/heads/chief) -"cSI" = (/obj/structure/table/reinforced,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/machinery/light{dir = 1},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 27},/turf/simulated/floor/tiled,/area/crew_quarters/heads/chief) +"cSI" = (/obj/structure/table/reinforced,/obj/item/cell/high{charge = 100; maxcharge = 15000},/obj/item/cell/high{charge = 100; maxcharge = 15000},/obj/machinery/light{dir = 1},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 27},/turf/simulated/floor/tiled,/area/crew_quarters/heads/chief) "cSJ" = (/obj/structure/closet/secure_closet/engineering_chief,/obj/effect/floor_decal/corner/blue/full{dir = 1},/turf/simulated/floor/tiled,/area/crew_quarters/heads/chief) "cSK" = (/obj/machinery/button/remote/driver{id = "enginecore"; name = "Emergency Core Eject"; pixel_x = 0; pixel_y = 21},/obj/structure/window/basic,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/chief) "cSL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/maintenance/engineering) @@ -7761,14 +7761,14 @@ "cTm" = (/turf/simulated/floor/tiled,/area/hallway/secondary/entry/starboard) "cTn" = (/obj/structure/flora/pottedplant{icon_state = "plant-22"},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/starboard) "cTo" = (/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = 0},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/locker/locker_toilet) -"cTp" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/obj/item/weapon/bikehorn/rubberducky,/obj/machinery/light,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/locker/locker_toilet) -"cTq" = (/obj/item/weapon/handcuffs/cable/pink{desc = "Looks fluffy and comfy. Could be used to tie something up."; name = "Fuzzy Cuffs"},/obj/item/latexballon,/turf/simulated/floor,/area/crew_quarters/locker/locker_toilet) +"cTp" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/obj/item/bikehorn/rubberducky,/obj/machinery/light,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/locker/locker_toilet) +"cTq" = (/obj/item/handcuffs/cable/pink{desc = "Looks fluffy and comfy. Could be used to tie something up."; name = "Fuzzy Cuffs"},/obj/item/latexballon,/turf/simulated/floor,/area/crew_quarters/locker/locker_toilet) "cTr" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/corner/white{dir = 4},/obj/effect/floor_decal/corner/blue,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) "cTs" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/structure/lattice,/turf/simulated/mineral/floor/ignore_mapgen,/area/mine/explored/upper_level) "cTt" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/structure/lattice,/turf/simulated/mineral/floor/ignore_mapgen,/area/mine/explored/upper_level) -"cTu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/table/standard,/obj/machinery/requests_console{department = "Atmospherics"; departmentType = 3; name = "Atmos RC"; pixel_x = 0; pixel_y = 28},/obj/item/device/t_scanner,/obj/item/device/multitool{pixel_x = 5},/obj/item/device/radio/headset/headset_eng,/obj/item/weapon/cartridge/atmos,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/item/clothing/ears/earmuffs,/obj/item/clothing/ears/earmuffs,/obj/item/weapon/cartridge/atmos,/obj/item/device/pipe_painter,/turf/simulated/floor/tiled,/area/engineering/atmos) -"cTv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/table/standard,/obj/structure/fireaxecabinet{pixel_y = 32},/obj/machinery/cell_charger,/obj/item/weapon/tool/wrench,/turf/simulated/floor/tiled,/area/engineering/atmos) -"cTw" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/table/standard,/obj/machinery/newscaster{pixel_y = 30},/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/clothing/gloves/black,/obj/item/clothing/gloves/black,/obj/item/weapon/storage/belt/utility/atmostech,/obj/item/weapon/storage/belt/utility/atmostech,/obj/machinery/camera/network/engineering{c_tag = "ENG - Atmospherics Fore Starboard"; dir = 2},/turf/simulated/floor/tiled,/area/engineering/atmos) +"cTu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/table/standard,/obj/machinery/requests_console{department = "Atmospherics"; departmentType = 3; name = "Atmos RC"; pixel_x = 0; pixel_y = 28},/obj/item/t_scanner,/obj/item/multitool{pixel_x = 5},/obj/item/radio/headset/headset_eng,/obj/item/cartridge/atmos,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/item/clothing/ears/earmuffs,/obj/item/clothing/ears/earmuffs,/obj/item/cartridge/atmos,/obj/item/pipe_painter,/turf/simulated/floor/tiled,/area/engineering/atmos) +"cTv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/table/standard,/obj/structure/fireaxecabinet{pixel_y = 32},/obj/machinery/cell_charger,/obj/item/tool/wrench,/turf/simulated/floor/tiled,/area/engineering/atmos) +"cTw" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/table/standard,/obj/machinery/newscaster{pixel_y = 30},/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/clothing/gloves/black,/obj/item/clothing/gloves/black,/obj/item/storage/belt/utility/atmostech,/obj/item/storage/belt/utility/atmostech,/obj/machinery/camera/network/engineering{c_tag = "ENG - Atmospherics Fore Starboard"; dir = 2},/turf/simulated/floor/tiled,/area/engineering/atmos) "cTx" = (/obj/effect/decal/warning_stripes,/obj/machinery/atmospherics/pipe/manifold4w/visible/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/visible/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/atmos) "cTy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/atmos) "cTz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/glass_atmos{name = "Atmospherics Monitoring Room"; req_access = list(24)},/obj/machinery/door/firedoor/border_only,/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) @@ -7786,10 +7786,10 @@ "cTL" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/effect/floor_decal/corner/yellow,/turf/simulated/floor/tiled,/area/engineering/foyer) "cTM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "ceoffice"; name = "CE Office Privacy Shutters"; opacity = 0},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/crew_quarters/heads/chief) "cTN" = (/turf/simulated/floor/tiled,/area/crew_quarters/heads/chief) -"cTO" = (/obj/structure/table/reinforced,/obj/item/weapon/stamp/ce,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/flame/lighter/zippo,/obj/item/device/megaphone,/obj/item/weapon/folder/yellow_ce,/obj/item/weapon/pen/multi,/turf/simulated/floor/tiled,/area/crew_quarters/heads/chief) +"cTO" = (/obj/structure/table/reinforced,/obj/item/stamp/ce,/obj/item/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/flame/lighter/zippo,/obj/item/megaphone,/obj/item/folder/yellow_ce,/obj/item/pen/multi,/turf/simulated/floor/tiled,/area/crew_quarters/heads/chief) "cTP" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/crew_quarters/heads/chief) "cTQ" = (/obj/machinery/computer/security/telescreen{desc = "Used to monitor the engine room."; layer = 3.3; name = "Engine Monitor"; network = list("Engine"); pixel_x = 0; pixel_y = 28},/turf/simulated/floor/tiled,/area/crew_quarters/heads/chief) -"cTR" = (/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = 24},/obj/machinery/button/remote/airlock{desc = "A remote control-switch for the engine core airlock hatch bolts."; id = "engine_access_hatch"; name = "Engine Hatch Bolt Control"; pixel_x = -6; pixel_y = 32; req_access = newlist(); specialfunctions = 4},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for engine core."; id = "EngineVent"; name = "Engine Ventillatory Control"; pixel_x = 6; pixel_y = 32; req_access = newlist()},/obj/structure/table/reinforced,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd,/obj/machinery/newscaster{layer = 3.3; pixel_x = 27; pixel_y = 0},/obj/effect/floor_decal/corner/blue/full{dir = 1},/turf/simulated/floor/tiled,/area/crew_quarters/heads/chief) +"cTR" = (/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = 24},/obj/machinery/button/remote/airlock{desc = "A remote control-switch for the engine core airlock hatch bolts."; id = "engine_access_hatch"; name = "Engine Hatch Bolt Control"; pixel_x = -6; pixel_y = 32; req_access = newlist(); specialfunctions = 4},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for engine core."; id = "EngineVent"; name = "Engine Ventillatory Control"; pixel_x = 6; pixel_y = 32; req_access = newlist()},/obj/structure/table/reinforced,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd,/obj/machinery/newscaster{layer = 3.3; pixel_x = 27; pixel_y = 0},/obj/effect/floor_decal/corner/blue/full{dir = 1},/turf/simulated/floor/tiled,/area/crew_quarters/heads/chief) "cTS" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/meter,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small{dir = 8},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/maintenance/engineering) "cTT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/maintenance/engineering) "cTU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor,/area/maintenance/evahallway) @@ -7820,8 +7820,8 @@ "cUt" = (/obj/machinery/vending/snack,/obj/effect/floor_decal/corner/white{dir = 4},/obj/effect/floor_decal/corner/blue{dir = 1},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_dining) "cUu" = (/obj/machinery/vending/cigarette,/obj/effect/floor_decal/corner/white{dir = 4},/obj/effect/floor_decal/corner/blue{dir = 1},/obj/machinery/camera/network/civilian{c_tag = "CIV - Visitor's Dinning"; dir = 2},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_dining) "cUv" = (/obj/structure/reagent_dispensers/water_cooler/full,/obj/effect/floor_decal/corner/white{dir = 4},/obj/effect/floor_decal/corner/blue{dir = 1},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_dining) -"cUw" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/cups,/obj/effect/floor_decal/corner/white{dir = 4},/obj/effect/floor_decal/corner/blue{dir = 1},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_dining) -"cUx" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/effect/floor_decal/corner/white{dir = 4},/obj/effect/floor_decal/corner/blue{dir = 1},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_dining) +"cUw" = (/obj/structure/table/standard,/obj/item/storage/box/cups,/obj/effect/floor_decal/corner/white{dir = 4},/obj/effect/floor_decal/corner/blue{dir = 1},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_dining) +"cUx" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/effect/floor_decal/corner/white{dir = 4},/obj/effect/floor_decal/corner/blue{dir = 1},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_dining) "cUy" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) "cUz" = (/obj/machinery/door/firedoor/glass,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) "cUA" = (/turf/simulated/wall,/area/crew_quarters/visitor_lodging) @@ -7831,15 +7831,15 @@ "cUE" = (/obj/effect/floor_decal/corner/white{dir = 4},/obj/effect/floor_decal/corner/blue{dir = 1},/obj/machinery/atm{pixel_y = 30},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) "cUF" = (/obj/effect/floor_decal/corner/white{dir = 4},/obj/effect/floor_decal/corner/blue{dir = 1},/obj/machinery/camera/network/civilian{c_tag = "CIV - Visitor's Lodging"; dir = 2},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) "cUG" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/bed/chair/office/dark,/obj/effect/floor_decal/corner/white{dir = 4},/obj/effect/floor_decal/corner/blue{dir = 1},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) -"cUH" = (/obj/effect/floor_decal/corner/white{dir = 4},/obj/effect/floor_decal/corner/blue{dir = 1},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) +"cUH" = (/obj/effect/floor_decal/corner/white{dir = 4},/obj/effect/floor_decal/corner/blue{dir = 1},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) "cUI" = (/obj/effect/floor_decal/corner/white{dir = 4},/obj/effect/floor_decal/corner/blue{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) "cUJ" = (/obj/effect/floor_decal/corner/white{dir = 4},/obj/effect/floor_decal/corner/blue/diagonal,/obj/structure/flora/pottedplant{icon_state = "plant-22"},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) "cUK" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) "cUL" = (/turf/simulated/wall,/area/crew_quarters/visitor_laundry) -"cUM" = (/obj/machinery/washing_machine,/obj/effect/floor_decal/corner/blue{dir = 1},/obj/effect/floor_decal/corner/white{dir = 4},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_laundry) +"cUM" = (/obj/machinery/washing_machine,/obj/effect/floor_decal/corner/blue{dir = 1},/obj/effect/floor_decal/corner/white{dir = 4},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_laundry) "cUN" = (/obj/machinery/washing_machine,/obj/effect/floor_decal/corner/blue{dir = 1},/obj/effect/floor_decal/corner/white{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_laundry) "cUO" = (/obj/effect/floor_decal/corner/blue{dir = 1},/obj/effect/floor_decal/corner/white{dir = 4},/obj/structure/undies_wardrobe,/turf/simulated/floor/tiled,/area/crew_quarters/visitor_laundry) -"cUP" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/blue{dir = 1},/obj/effect/floor_decal/corner/white{dir = 4},/obj/machinery/camera/network/civilian{c_tag = "CIV - Visitor's Dinning"; dir = 2},/obj/item/weapon/storage/laundry_basket,/turf/simulated/floor/tiled,/area/crew_quarters/visitor_laundry) +"cUP" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/blue{dir = 1},/obj/effect/floor_decal/corner/white{dir = 4},/obj/machinery/camera/network/civilian{c_tag = "CIV - Visitor's Dinning"; dir = 2},/obj/item/storage/laundry_basket,/turf/simulated/floor/tiled,/area/crew_quarters/visitor_laundry) "cUQ" = (/obj/machinery/recharge_station,/obj/effect/floor_decal/corner/blue{dir = 1},/obj/effect/floor_decal/corner/white{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_laundry) "cUR" = (/obj/structure/closet/wardrobe/pjs,/obj/effect/floor_decal/corner/blue{dir = 1},/obj/effect/floor_decal/corner/white{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_laundry) "cUS" = (/obj/structure/closet/wardrobe/pjs,/obj/effect/floor_decal/corner/blue/diagonal,/obj/effect/floor_decal/corner/white{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_laundry) @@ -7874,13 +7874,13 @@ "cVv" = (/obj/structure/bed/chair/office/light{dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for shutters."; id = "ceoffice"; name = "Chief Engineer Privacy Shutters"; pixel_x = -26; pixel_y = 18; req_access = list(56)},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/landmark/start{name = "Chief Engineer"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/tiled,/area/crew_quarters/heads/chief) "cVw" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/heads/chief) "cVx" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/crew_quarters/heads/chief) -"cVy" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/clothing/mask/breath,/obj/item/weapon/rig/ce/equipped,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/heads/chief) +"cVy" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/clothing/mask/breath,/obj/item/rig/ce/equipped,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/heads/chief) "cVz" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/maintenance/engineering) "cVA" = (/obj/structure/table/rack{dir = 1},/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/turf/simulated/floor,/area/maintenance/evahallway) "cVB" = (/obj/structure/closet/crate,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor,/area/maintenance/evahallway) "cVC" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/maintenance/evahallway) "cVD" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor,/area/maintenance/evahallway) -"cVE" = (/obj/structure/closet/crate,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/binary/pump/on,/obj/random/maintenance/clean,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/evahallway) +"cVE" = (/obj/structure/closet/crate,/obj/item/clothing/mask/gas,/obj/item/flashlight,/obj/item/flashlight,/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/binary/pump/on,/obj/random/maintenance/clean,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/evahallway) "cVF" = (/obj/structure/bed/chair,/turf/simulated/floor/carpet,/area/hallway/secondary/entry/docking_lounge) "cVG" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/lino,/area/hallway/secondary/entry/docking_lounge) "cVH" = (/obj/structure/bed/chair,/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor/carpet,/area/hallway/secondary/entry/docking_lounge) @@ -7906,10 +7906,10 @@ "cWb" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) "cWc" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) "cWd" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/table/reinforced,/obj/machinery/recharger,/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) -"cWe" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/table/reinforced,/obj/item/weapon/hand_labeler,/obj/item/device/communicator,/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) -"cWf" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table/reinforced,/obj/item/weapon/folder,/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) -"cWg" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/table/reinforced,/obj/item/device/paicard,/obj/item/clothing/head/soft/grey,/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) -"cWh" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/table/reinforced,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) +"cWe" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/table/reinforced,/obj/item/hand_labeler,/obj/item/communicator,/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) +"cWf" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table/reinforced,/obj/item/folder,/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) +"cWg" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/table/reinforced,/obj/item/paicard,/obj/item/clothing/head/soft/grey,/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) +"cWh" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/table/reinforced,/obj/item/paper_bin,/obj/item/pen,/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) "cWi" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) "cWj" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) "cWk" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) @@ -7938,8 +7938,8 @@ "cWH" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) "cWI" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/machinery/vending/cigarette,/turf/simulated/floor/tiled,/area/engineering/break_room) "cWJ" = (/obj/structure/bed/chair/comfy/brown{dir = 4},/obj/effect/landmark/start{name = "Station Engineer"},/turf/simulated/floor/carpet,/area/engineering/break_room) -"cWK" = (/obj/structure/table/woodentable,/obj/item/weapon/book/manual/supermatter_engine{pixel_x = -3},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/carpet,/area/engineering/break_room) -"cWL" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/carpet,/area/engineering/break_room) +"cWK" = (/obj/structure/table/woodentable,/obj/item/book/manual/supermatter_engine{pixel_x = -3},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/carpet,/area/engineering/break_room) +"cWL" = (/obj/structure/table/woodentable,/obj/item/paper_bin{pixel_x = -3; pixel_y = 7},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/carpet,/area/engineering/break_room) "cWM" = (/obj/structure/bed/chair/comfy/brown{dir = 8},/obj/effect/landmark/start{name = "Station Engineer"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/carpet,/area/engineering/break_room) "cWN" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_engineeringatmos{name = "Engineering Break Room"; req_one_access = list(10)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/engineering/break_room) "cWO" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/corner/yellow{dir = 8},/turf/simulated/floor/tiled,/area/engineering/foyer) @@ -7950,7 +7950,7 @@ "cWT" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "ceoffice"; name = "CE Office Privacy Shutters"; opacity = 0},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/crew_quarters/heads/chief) "cWU" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/crew_quarters/heads/chief) "cWV" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled,/area/crew_quarters/heads/chief) -"cWW" = (/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/obj/item/clothing/glasses/meson{pixel_y = 4},/obj/item/clothing/glasses/welding/superior,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/book/manual/supermatter_engine,/turf/simulated/floor/tiled,/area/crew_quarters/heads/chief) +"cWW" = (/obj/structure/table/reinforced,/obj/item/clipboard,/obj/item/clothing/glasses/meson{pixel_y = 4},/obj/item/clothing/glasses/welding/superior,/obj/item/storage/fancy/cigarettes,/obj/item/book/manual/supermatter_engine,/turf/simulated/floor/tiled,/area/crew_quarters/heads/chief) "cWX" = (/obj/structure/table/reinforced,/obj/machinery/computer/skills,/turf/simulated/floor/tiled,/area/crew_quarters/heads/chief) "cWY" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/crew_quarters/heads/chief) "cWZ" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/crew_quarters/heads/chief) @@ -7960,9 +7960,9 @@ "cXd" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"},/turf/simulated/floor,/area/maintenance/evahallway) "cXe" = (/obj/structure/table/glass,/turf/simulated/floor/carpet,/area/hallway/secondary/entry/docking_lounge) "cXf" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/lino,/area/hallway/secondary/entry/docking_lounge) -"cXg" = (/obj/structure/table/glass,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/turf/simulated/floor/carpet,/area/hallway/secondary/entry/docking_lounge) +"cXg" = (/obj/structure/table/glass,/obj/item/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/turf/simulated/floor/carpet,/area/hallway/secondary/entry/docking_lounge) "cXh" = (/obj/structure/table/glass,/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/docking_lounge) -"cXi" = (/obj/structure/table/glass,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/docking_lounge) +"cXi" = (/obj/structure/table/glass,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/item/book/codex/lore/vir,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/docking_lounge) "cXj" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"},/turf/simulated/floor,/area/maintenance/arrivals) "cXk" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/maintenance/arrivals) "cXl" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/secondary/entry/starboard) @@ -7990,7 +7990,7 @@ "cXH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_laundry) "cXI" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_laundry) "cXJ" = (/turf/simulated/floor/tiled,/area/crew_quarters/visitor_laundry) -"cXK" = (/obj/structure/closet/crate,/obj/item/weapon/bedsheet/orange,/obj/item/weapon/bedsheet/orange,/obj/item/weapon/bedsheet/yellow,/obj/item/weapon/bedsheet/purple,/obj/item/weapon/bedsheet/red,/obj/item/weapon/bedsheet/brown,/obj/item/weapon/bedsheet/green,/obj/effect/floor_decal/corner/white/diagonal{icon_state = "corner_white_diagonal"; dir = 4},/obj/effect/floor_decal/corner/blue,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green,/obj/machinery/light_switch{pixel_x = -12; pixel_y = -24},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_laundry) +"cXK" = (/obj/structure/closet/crate,/obj/item/bedsheet/orange,/obj/item/bedsheet/orange,/obj/item/bedsheet/yellow,/obj/item/bedsheet/purple,/obj/item/bedsheet/red,/obj/item/bedsheet/brown,/obj/item/bedsheet/green,/obj/effect/floor_decal/corner/white/diagonal{icon_state = "corner_white_diagonal"; dir = 4},/obj/effect/floor_decal/corner/blue,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green,/obj/machinery/light_switch{pixel_x = -12; pixel_y = -24},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_laundry) "cXL" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor,/area/engineering/atmos) "cXM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/engineering/atmos) "cXN" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled,/area/engineering/atmos) @@ -8005,12 +8005,12 @@ "cXW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/engineering/atmos/monitoring) "cXX" = (/obj/machinery/computer/security/engineering,/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) "cXY" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) -"cXZ" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) +"cXZ" = (/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) "cYa" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/reinforced,/obj/machinery/chemical_dispenser/bar_soft/full,/obj/machinery/camera/network/engineering{c_tag = "ENG - Break Room"; dir = 4},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/tiled,/area/engineering/break_room) "cYb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/carpet,/area/engineering/break_room) "cYc" = (/obj/structure/bed/chair/comfy/brown{dir = 4},/obj/effect/landmark/start{name = "Station Engineer"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/engineering/break_room) -"cYd" = (/obj/structure/table/woodentable,/obj/item/weapon/folder/yellow,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/carpet,/area/engineering/break_room) -"cYe" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/snacks/chips,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/engineering/break_room) +"cYd" = (/obj/structure/table/woodentable,/obj/item/folder/yellow,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/carpet,/area/engineering/break_room) +"cYe" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/food/snacks/chips,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/engineering/break_room) "cYf" = (/obj/structure/bed/chair/comfy/brown{dir = 8},/obj/effect/landmark/start{name = "Station Engineer"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/engineering/break_room) "cYg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/engineering/break_room) "cYh" = (/obj/machinery/door/airlock/glass_engineeringatmos{name = "Engineering Break Room"; req_one_access = list(10)},/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/engineering/break_room) @@ -8025,7 +8025,7 @@ "cYq" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/extinguisher_cabinet{pixel_x = 25},/obj/effect/floor_decal/corner/blue/full{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/heads/chief) "cYr" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/maintenance/evahallway) "cYs" = (/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor/plating,/area/maintenance/evahallway) -"cYt" = (/obj/structure/bed/chair{dir = 1},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor/carpet,/area/hallway/secondary/entry/docking_lounge) +"cYt" = (/obj/structure/bed/chair{dir = 1},/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor/carpet,/area/hallway/secondary/entry/docking_lounge) "cYu" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor/carpet,/area/hallway/secondary/entry/docking_lounge) "cYv" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/lino,/area/hallway/secondary/entry/docking_lounge) "cYw" = (/obj/structure/bed/chair{dir = 1},/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor/carpet,/area/hallway/secondary/entry/docking_lounge) @@ -8033,19 +8033,19 @@ "cYy" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/docking_lounge) "cYz" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/docking_lounge) "cYA" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/lino,/area/hallway/secondary/entry/docking_lounge) -"cYB" = (/obj/structure/bed/chair{dir = 1},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/turf/simulated/floor/carpet,/area/hallway/secondary/entry/docking_lounge) +"cYB" = (/obj/structure/bed/chair{dir = 1},/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/turf/simulated/floor/carpet,/area/hallway/secondary/entry/docking_lounge) "cYC" = (/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/atmospherics/portables_connector{dir = 4},/turf/simulated/floor/plating,/area/maintenance/arrivals) "cYD" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/maintenance/arrivals) "cYE" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/secondary/entry/starboard) -"cYF" = (/obj/structure/table/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/plating,/area/storage/emergency_storage/emergency5) +"cYF" = (/obj/structure/table/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/plating,/area/storage/emergency_storage/emergency5) "cYG" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/plating,/area/storage/emergency_storage/emergency5) "cYH" = (/obj/structure/bed/chair{dir = 4},/obj/effect/floor_decal/corner/white{dir = 8},/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled,/area/crew_quarters/visitor_dining) "cYI" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/white{dir = 8},/obj/effect/floor_decal/corner/blue,/turf/simulated/floor/tiled,/area/crew_quarters/visitor_dining) "cYJ" = (/obj/structure/bed/chair{dir = 8},/obj/effect/floor_decal/corner/white{dir = 8},/obj/effect/floor_decal/corner/blue,/obj/machinery/light,/turf/simulated/floor/tiled,/area/crew_quarters/visitor_dining) "cYK" = (/obj/structure/bed/chair{dir = 4},/obj/effect/floor_decal/corner/white{dir = 8},/obj/effect/floor_decal/corner/blue,/turf/simulated/floor/tiled,/area/crew_quarters/visitor_dining) -"cYL" = (/obj/structure/table/standard,/obj/item/weapon/coin/silver,/obj/effect/floor_decal/corner/white{dir = 8},/obj/effect/floor_decal/corner/blue,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_dining) +"cYL" = (/obj/structure/table/standard,/obj/item/coin/silver,/obj/effect/floor_decal/corner/white{dir = 8},/obj/effect/floor_decal/corner/blue,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_dining) "cYM" = (/obj/structure/bed/chair{dir = 8},/obj/effect/floor_decal/corner/white{dir = 8},/obj/effect/floor_decal/corner/blue,/turf/simulated/floor/tiled,/area/crew_quarters/visitor_dining) -"cYN" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/blue/diagonal,/obj/effect/floor_decal/corner/white{dir = 8},/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) +"cYN" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/blue/diagonal,/obj/effect/floor_decal/corner/white{dir = 8},/obj/item/book/codex/lore/vir,/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) "cYO" = (/obj/structure/bed/chair{dir = 1},/obj/effect/floor_decal/corner/blue,/obj/effect/floor_decal/corner/white{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) "cYP" = (/obj/structure/bed/chair{dir = 1},/obj/effect/floor_decal/corner/blue,/obj/effect/floor_decal/corner/white{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) "cYQ" = (/obj/effect/floor_decal/corner/blue,/obj/effect/floor_decal/corner/white{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) @@ -8056,7 +8056,7 @@ "cYV" = (/obj/effect/floor_decal/corner/blue,/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) "cYW" = (/obj/effect/floor_decal/corner/blue,/obj/effect/floor_decal/corner/white{dir = 8},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) "cYX" = (/obj/structure/bed/chair{dir = 1},/obj/effect/floor_decal/corner/blue,/obj/effect/floor_decal/corner/white{dir = 8},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) -"cYY" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/blue,/obj/effect/floor_decal/corner/white/diagonal{icon_state = "corner_white_diagonal"; dir = 4},/obj/item/device/communicator,/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) +"cYY" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/blue,/obj/effect/floor_decal/corner/white/diagonal{icon_state = "corner_white_diagonal"; dir = 4},/obj/item/communicator,/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) "cYZ" = (/obj/structure/closet/wardrobe/suit,/obj/effect/floor_decal/corner/blue,/obj/effect/floor_decal/corner/white{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_laundry) "cZa" = (/obj/structure/closet/wardrobe/xenos,/obj/effect/floor_decal/corner/blue,/obj/effect/floor_decal/corner/white{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_laundry) "cZb" = (/obj/structure/closet/wardrobe/mixed,/obj/effect/floor_decal/corner/blue,/obj/effect/floor_decal/corner/white{dir = 8},/obj/item/clothing/accessory/storage/knifeharness,/turf/simulated/floor/tiled,/area/crew_quarters/visitor_laundry) @@ -8076,7 +8076,7 @@ "cZp" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/atmos) "cZq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/engineering/atmos/monitoring) "cZr" = (/obj/machinery/door/airlock/glass_atmos{name = "Atmospherics Monitoring Room"; req_access = list(24)},/obj/machinery/door/firedoor/border_only,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) -"cZs" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/reinforced,/obj/machinery/microwave,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -22},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/engineering/break_room) +"cZs" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/reinforced,/obj/machinery/microwave,/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -22},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/engineering/break_room) "cZt" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/carpet,/area/engineering/break_room) "cZu" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/carpet,/area/engineering/break_room) "cZv" = (/obj/structure/bed/chair/comfy/brown{dir = 1},/obj/effect/landmark/start{name = "Station Engineer"},/turf/simulated/floor/carpet,/area/engineering/break_room) @@ -8123,21 +8123,21 @@ "dak" = (/obj/machinery/atmospherics/binary/pump{dir = 2; name = "Transit to Waste"},/turf/simulated/floor/tiled,/area/engineering/atmos) "dal" = (/obj/machinery/atmospherics/binary/pump/on{name = "Scrubber to Waste"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/engineering/atmos) "dam" = (/obj/machinery/atmospherics/binary/pump/on{dir = 1; name = "Air to Supply"},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"dan" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) +"dan" = (/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) "dao" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/engineering/atmos) "dap" = (/obj/machinery/pipedispenser,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/tiled,/area/engineering/atmos) "daq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/break_room) -"dar" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/reinforced,/obj/item/weapon/storage/box/glasses/square,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 2},/turf/simulated/floor/tiled,/area/engineering/break_room) +"dar" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/reinforced,/obj/item/storage/box/glasses/square,/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 2},/turf/simulated/floor/tiled,/area/engineering/break_room) "das" = (/obj/structure/bed/chair/office/dark,/turf/simulated/floor/carpet,/area/engineering/break_room) "dat" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/effect/floor_decal/corner/white{icon_state = "corner_white"; dir = 1},/obj/effect/floor_decal/corner/blue{dir = 8},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/tiled,/area/engineering/foyer) "dau" = (/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/engineering/foyer) -"dav" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen/blue{pixel_x = 4; pixel_y = 4},/obj/item/weapon/pen/red,/obj/effect/floor_decal/corner/yellow{dir = 4},/turf/simulated/floor/tiled,/area/engineering/foyer) -"daw" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/table/reinforced,/obj/item/weapon/packageWrap,/obj/item/weapon/hand_labeler,/obj/effect/floor_decal/corner/yellow{dir = 1},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/turf/simulated/floor/tiled,/area/engineering/foyer) +"dav" = (/obj/structure/table/reinforced,/obj/item/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/pen/blue{pixel_x = 4; pixel_y = 4},/obj/item/pen/red,/obj/effect/floor_decal/corner/yellow{dir = 4},/turf/simulated/floor/tiled,/area/engineering/foyer) +"daw" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/table/reinforced,/obj/item/packageWrap,/obj/item/hand_labeler,/obj/effect/floor_decal/corner/yellow{dir = 1},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/turf/simulated/floor/tiled,/area/engineering/foyer) "dax" = (/obj/machinery/computer/station_alert,/obj/effect/floor_decal/corner/yellow/full{dir = 1},/turf/simulated/floor/tiled,/area/engineering/foyer) "day" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/engineering/engineering_monitoring) "daz" = (/obj/machinery/computer/power_monitor,/obj/effect/floor_decal/corner/yellow/full{icon_state = "corner_white_full"; dir = 8},/turf/simulated/floor/tiled,/area/engineering/engineering_monitoring) "daA" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/effect/landmark/start{name = "Station Engineer"},/turf/simulated/floor/tiled,/area/engineering/engineering_monitoring) -"daB" = (/obj/structure/table/reinforced,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/machinery/alarm{pixel_y = 25},/obj/effect/floor_decal/corner/yellow{dir = 5},/obj/machinery/button/remote/blast_door{id = "atmoslockdown"; name = "Atmospherics Lockdown"; pixel_x = 6; pixel_y = -12; req_access = newlist(); req_one_access = list(10,24)},/obj/machinery/button/remote/blast_door{id = "englockdown"; name = "Engineering Lockdown"; pixel_x = -6; pixel_y = -12; req_access = list(10)},/turf/simulated/floor/tiled,/area/engineering/engineering_monitoring) +"daB" = (/obj/structure/table/reinforced,/obj/item/flashlight,/obj/item/flashlight,/obj/machinery/alarm{pixel_y = 25},/obj/effect/floor_decal/corner/yellow{dir = 5},/obj/machinery/button/remote/blast_door{id = "atmoslockdown"; name = "Atmospherics Lockdown"; pixel_x = 6; pixel_y = -12; req_access = newlist(); req_one_access = list(10,24)},/obj/machinery/button/remote/blast_door{id = "englockdown"; name = "Engineering Lockdown"; pixel_x = -6; pixel_y = -12; req_access = list(10)},/turf/simulated/floor/tiled,/area/engineering/engineering_monitoring) "daC" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Atmospheric Technician"},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/light_switch{pixel_x = -12; pixel_y = 24},/turf/simulated/floor/tiled,/area/engineering/engineering_monitoring) "daD" = (/obj/machinery/computer/atmoscontrol,/obj/effect/floor_decal/corner/yellow/full{dir = 1},/turf/simulated/floor/tiled,/area/engineering/engineering_monitoring) "daE" = (/turf/simulated/wall/r_wall,/area/engineering/engineering_monitoring) @@ -8149,7 +8149,7 @@ "daK" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/lino,/area/hallway/secondary/entry/docking_lounge) "daL" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/maintenance/arrivals) "daM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/starboard) -"daN" = (/obj/structure/table/standard,/obj/item/device/t_scanner,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/storage/emergency_storage/emergency5) +"daN" = (/obj/structure/table/standard,/obj/item/t_scanner,/obj/item/storage/box/lights/mixed,/obj/item/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/storage/emergency_storage/emergency5) "daO" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/storage/emergency_storage/emergency5) "daP" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/crew_quarters/visitor_lodging) "daQ" = (/obj/machinery/door/airlock/glass,/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) @@ -8184,7 +8184,7 @@ "dbt" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/effect/floor_decal/corner/red{dir = 9},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/tiled,/area/engineering/foyer) "dbu" = (/obj/machinery/atmospherics/pipe/simple/hidden/red{dir = 10; icon_state = "intact"},/turf/simulated/floor/tiled,/area/engineering/foyer) "dbv" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/landmark{name = "lightsout"},/turf/simulated/floor/tiled,/area/engineering/foyer) -"dbw" = (/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/obj/item/weapon/tape_roll,/turf/simulated/floor/tiled,/area/engineering/foyer) +"dbw" = (/obj/structure/table/reinforced,/obj/item/clipboard,/obj/item/tape_roll,/turf/simulated/floor/tiled,/area/engineering/foyer) "dbx" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/engineering/foyer) "dby" = (/obj/structure/bed/chair/office/dark{dir = 1},/turf/simulated/floor/tiled,/area/engineering/foyer) "dbz" = (/obj/machinery/computer/station_alert,/turf/simulated/floor/tiled,/area/engineering/engineering_monitoring) @@ -8236,7 +8236,7 @@ "dct" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/effect/floor_decal/corner/red{dir = 9},/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/tiled,/area/engineering/foyer) "dcu" = (/obj/machinery/atmospherics/pipe/manifold/hidden/red{dir = 4},/turf/simulated/floor/tiled,/area/engineering/foyer) "dcv" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/engineering/foyer) -"dcw" = (/obj/structure/table/reinforced,/obj/item/weapon/folder/yellow,/turf/simulated/floor/tiled,/area/engineering/foyer) +"dcw" = (/obj/structure/table/reinforced,/obj/item/folder/yellow,/turf/simulated/floor/tiled,/area/engineering/foyer) "dcx" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/bed/chair/office/dark{dir = 8},/turf/simulated/floor/tiled,/area/engineering/foyer) "dcy" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/effect/floor_decal/corner/yellow{dir = 6},/turf/simulated/floor/tiled,/area/engineering/foyer) "dcz" = (/obj/machinery/computer/rcon,/obj/effect/floor_decal/corner/yellow{dir = 9},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/engineering/engineering_monitoring) @@ -8278,7 +8278,7 @@ "ddj" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/starboard) "ddk" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/starboard) "ddl" = (/turf/simulated/floor/tiled,/area/vacant/vacant_site2) -"ddm" = (/obj/machinery/alarm{pixel_y = 23},/obj/item/weapon/camera_assembly,/turf/simulated/floor/tiled,/area/vacant/vacant_site2) +"ddm" = (/obj/machinery/alarm{pixel_y = 23},/obj/item/camera_assembly,/turf/simulated/floor/tiled,/area/vacant/vacant_site2) "ddn" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/vacant/vacant_site2) "ddo" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/vacant/vacant_site2) "ddp" = (/obj/structure/closet/crate,/obj/item/stack/material/steel{amount = 50},/obj/item/stack/rods,/turf/simulated/floor/tiled,/area/vacant/vacant_site2) @@ -8317,7 +8317,7 @@ "ddW" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/hallway/secondary/escape/dock_escape_pod_hallway_port) "ddX" = (/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "escape_pod_6_berth"; pixel_x = 25; pixel_y = -30; tag_door = "escape_pod_6_berth_hatch"},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/secondary/escape/dock_escape_pod_hallway_port) "ddY" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/dock_escape_pod_hallway_port) -"ddZ" = (/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = -28},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/dock_escape_pod_hallway_port) +"ddZ" = (/obj/item/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = -28},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/dock_escape_pod_hallway_port) "dea" = (/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "escape_pod_5_berth"; pixel_x = 25; pixel_y = -30; tag_door = "escape_pod_5_berth_hatch"},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/secondary/escape/dock_escape_pod_hallway_port) "deb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/dock_escape_pod_hallway_port) "dec" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/dock_escape_pod_hallway_port) @@ -8328,7 +8328,7 @@ "deh" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/port) "dei" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/camera/network/northern_star{c_tag = "DOCK - Hallway Port 1"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/port) "dej" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/port) -"dek" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/port) +"dek" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/port) "del" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/port) "dem" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/sign/directions/medical{dir = 4; pixel_y = 32},/obj/structure/sign/directions/science{dir = 4; pixel_y = 32; pixel_z = -8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/port) "den" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/port) @@ -8441,7 +8441,7 @@ "dgq" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/vacant/vacant_site2) "dgr" = (/obj/structure/table/standard,/obj/item/clothing/head/soft/grey{pixel_x = -2; pixel_y = 3},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/vacant/vacant_site2) "dgs" = (/obj/structure/table/standard,/obj/structure/disposalpipe/segment,/obj/item/frame,/turf/simulated/floor/tiled,/area/vacant/vacant_site2) -"dgt" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled,/area/vacant/vacant_site2) +"dgt" = (/obj/item/stool/padded,/turf/simulated/floor/tiled,/area/vacant/vacant_site2) "dgu" = (/obj/item/stack/tile/floor,/turf/simulated/floor,/area/vacant/vacant_site2) "dgv" = (/obj/machinery/light/small{dir = 8},/obj/machinery/camera/network/engineering{c_tag = "Atmos Tank - Oxygen"; dir = 4},/turf/simulated/floor/reinforced/oxygen,/area/engineering/atmos) "dgw" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/reinforced/oxygen,/area/engineering/atmos) @@ -8473,9 +8473,9 @@ "dgW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/engineering/engine_eva) "dgX" = (/obj/machinery/door/airlock/glass_engineeringatmos{name = "Engineering EVA Storage"; req_one_access = list(11,24)},/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/engineering/engine_eva) "dgY" = (/obj/machinery/door/airlock/glass_engineeringatmos{name = "Engineering EVA Storage"; req_one_access = list(11,24)},/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/engineering/engine_eva) -"dgZ" = (/obj/structure/table/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/engineering) +"dgZ" = (/obj/structure/table/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/engineering) "dha" = (/turf/simulated/floor/plating,/area/maintenance/engineering) -"dhb" = (/obj/item/device/t_scanner,/obj/structure/table/steel,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plating,/area/maintenance/engineering) +"dhb" = (/obj/item/t_scanner,/obj/structure/table/steel,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plating,/area/maintenance/engineering) "dhc" = (/obj/machinery/light/small{dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor,/area/hallway/secondary/escape/dock_escape_pod_hallway_port) "dhd" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor,/area/hallway/secondary/escape/dock_escape_pod_hallway_port) "dhe" = (/obj/structure/closet/emcloset,/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor,/area/hallway/secondary/escape/dock_escape_pod_hallway_port) @@ -8500,11 +8500,11 @@ "dhx" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden{icon_state = "intact"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/port) "dhy" = (/obj/machinery/light,/obj/machinery/embedded_controller/radio/docking_port_multi{child_names_txt = "Airlock One;Airlock Two;Airlock Three;Airlock Four"; child_tags_txt = "escape_dock_north_airlock;escape_dock_south_airlock;escape_dock_snorth_airlock;escape_dock_ssouth_airlock"; frequency = 1380; id_tag = "escape_dock"; pixel_x = 0; pixel_y = -25; req_one_access = list(13)},/obj/machinery/atmospherics/pipe/simple/hidden{icon_state = "intact"; dir = 4},/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/port) "dhz" = (/obj/machinery/atmospherics/pipe/simple/hidden{icon_state = "intact"; dir = 4},/obj/machinery/camera/network/northern_star{c_tag = "DOCK - Hallway Port 4"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/port) -"dhA" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/atmospherics/pipe/simple/hidden{icon_state = "intact"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/port) +"dhA" = (/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/atmospherics/pipe/simple/hidden{icon_state = "intact"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/port) "dhB" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/hidden{icon_state = "intact"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/port) "dhC" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/port) "dhD" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/light,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/port) -"dhE" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/starboard) +"dhE" = (/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/starboard) "dhF" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/camera/network/northern_star{c_tag = "DOCK - Hallway Mid 2"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/starboard) "dhG" = (/obj/machinery/light,/obj/machinery/embedded_controller/radio/docking_port_multi{child_names_txt = "Airlock One;Airlock Two"; child_tags_txt = "arrivals_dock_north_airlock;arrivals_dock_south_airlock"; frequency = 1380; id_tag = "arrivals_dock"; pixel_x = 0; pixel_y = -25; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/starboard) "dhH" = (/obj/structure/cable/green,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/starboard) @@ -8517,10 +8517,10 @@ "dhO" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/starboard) "dhP" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/item/clothing/head/cone,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/starboard) "dhQ" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/vacant/vacant_site2) -"dhR" = (/obj/item/weapon/stool/padded,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/vacant/vacant_site2) +"dhR" = (/obj/item/stool/padded,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/vacant/vacant_site2) "dhS" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/vacant/vacant_site2) -"dhT" = (/obj/structure/table/standard,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/weapon/weldingtool,/turf/simulated/floor/tiled,/area/vacant/vacant_site2) -"dhU" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/vacant/vacant_site2) +"dhT" = (/obj/structure/table/standard,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/weldingtool,/turf/simulated/floor/tiled,/area/vacant/vacant_site2) +"dhU" = (/obj/structure/table/standard,/obj/item/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/vacant/vacant_site2) "dhV" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1441; icon_state = "map_vent_in"; id_tag = "o2_out"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0; use_power = 1},/turf/simulated/floor/reinforced/oxygen,/area/engineering/atmos) "dhW" = (/obj/structure/grille,/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible/green{icon_state = "intact"; dir = 4},/turf/simulated/wall/r_wall,/area/engineering/atmos) "dhX" = (/obj/machinery/atmospherics/pipe/simple/visible/green{icon_state = "intact"; dir = 4},/obj/structure/lattice,/turf/simulated/mineral/floor/ignore_mapgen,/area/mine/explored/upper_level) @@ -8557,11 +8557,11 @@ "diC" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/tiled,/area/engineering/engine_eva) "diD" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/engineering/engine_eva) "diE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/engineering/engine_eva) -"diF" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/tank/jetpack/carbondioxide,/obj/machinery/door/window/southleft{name = "Jetpack Storage"; req_access = newlist(); req_one_access = list(11,24)},/turf/simulated/floor/tiled,/area/engineering/engine_eva) -"diG" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/tank/jetpack/carbondioxide,/obj/machinery/door/window/southright{name = "Jetpack Storage"; req_one_access = list(11,24)},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/engineering/engine_eva) -"diH" = (/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable,/obj/structure/table/steel_reinforced,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/item/device/suit_cooling_unit,/obj/item/device/suit_cooling_unit,/turf/simulated/floor/tiled,/area/engineering/engine_eva) +"diF" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced{dir = 8},/obj/item/tank/jetpack/carbondioxide,/obj/machinery/door/window/southleft{name = "Jetpack Storage"; req_access = newlist(); req_one_access = list(11,24)},/turf/simulated/floor/tiled,/area/engineering/engine_eva) +"diG" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced{dir = 4},/obj/item/tank/jetpack/carbondioxide,/obj/machinery/door/window/southright{name = "Jetpack Storage"; req_one_access = list(11,24)},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/engineering/engine_eva) +"diH" = (/obj/item/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/storage/briefcase/inflatable,/obj/structure/table/steel_reinforced,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/item/suit_cooling_unit,/obj/item/suit_cooling_unit,/turf/simulated/floor/tiled,/area/engineering/engine_eva) "diI" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,47)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/maintenance/engineering) -"diJ" = (/obj/structure/closet,/obj/item/weapon/lipstick/purple,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/engineering) +"diJ" = (/obj/structure/closet,/obj/item/lipstick/purple,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/engineering) "diK" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/engineering) "diL" = (/obj/structure/shuttle/engine/propulsion/burst{dir = 1},/turf/simulated/shuttle/wall,/area/shuttle/escape_pod6/station) "diM" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_6_hatch"; locked = 1; name = "Escape Pod Hatch 6"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod6/station) @@ -8591,7 +8591,7 @@ "djk" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/airlock/glass{name = "Dock"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D4) "djl" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/glass{name = "Dock"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D4) "djm" = (/turf/simulated/wall,/area/hallway/secondary/entry/D4) -"djn" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/vacant/vacant_site2) +"djn" = (/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/vacant/vacant_site2) "djo" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/vacant/vacant_site2) "djp" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/vacant/vacant_site2) "djq" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/vacant/vacant_site2) @@ -8617,14 +8617,14 @@ "djK" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled,/area/engineering/engine_eva) "djL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/engineering/engine_eva) "djM" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/engineering/engine_eva) -"djN" = (/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 6},/obj/item/weapon/storage/briefcase/inflatable{pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = -3; pixel_y = 0},/obj/structure/table/steel_reinforced,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/turf/simulated/floor/tiled,/area/engineering/engine_eva) +"djN" = (/obj/item/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 6},/obj/item/storage/briefcase/inflatable{pixel_y = 3},/obj/item/storage/briefcase/inflatable{pixel_x = -3; pixel_y = 0},/obj/structure/table/steel_reinforced,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/turf/simulated/floor/tiled,/area/engineering/engine_eva) "djO" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/engineering) "djP" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/engineering) "djQ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/engineering) "djR" = (/turf/simulated/shuttle/wall,/area/shuttle/escape_pod6/station) -"djS" = (/obj/structure/bed/chair,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/structure/closet/walllocker/emerglocker{pixel_x = 28},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod6/station) +"djS" = (/obj/structure/bed/chair,/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/structure/closet/walllocker/emerglocker{pixel_x = 28},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod6/station) "djT" = (/turf/simulated/shuttle/wall,/area/shuttle/escape_pod5/station) -"djU" = (/obj/structure/bed/chair,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/structure/closet/walllocker/emerglocker{pixel_x = 28},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod5/station) +"djU" = (/obj/structure/bed/chair,/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/structure/closet/walllocker/emerglocker{pixel_x = 28},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod5/station) "djV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) "djW" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) "djX" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) @@ -8637,7 +8637,7 @@ "dke" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) "dkf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) "dkg" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dkh" = (/obj/structure/table/standard,/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dkh" = (/obj/structure/table/standard,/obj/item/book/codex/lore/vir,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) "dki" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) "dkj" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/table/standard,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) "dkk" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) @@ -8818,7 +8818,7 @@ "dnD" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/maintenance/substation/engineering) "dnE" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor,/area/maintenance/substation/engineering) "dnF" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor,/area/maintenance/substation/engineering) -"dnG" = (/obj/structure/table/steel,/obj/item/weapon/paper{info = "The big blue box recently installed in here is a 'grid checker' which will shut off the power if a dangerous power spike from the engine erupts into the powernet. Shutting everything down protects everything from electrical damage, however the outages can be disruptive to colony operations, so it is designed to restore power after a somewhat significant delay, up to ten minutes or so. The grid checker can be manually hacked in order to end the outage sooner. To do that, you must cut three specific wires which do not cause a red light to shine, then pulse a fourth wire. Electrical protection is highly recommended when doing maintenance on the grid checker."; name = "grid checker info"},/obj/random/maintenance/engineering,/turf/simulated/floor,/area/maintenance/engineering) +"dnG" = (/obj/structure/table/steel,/obj/item/paper{info = "The big blue box recently installed in here is a 'grid checker' which will shut off the power if a dangerous power spike from the engine erupts into the powernet. Shutting everything down protects everything from electrical damage, however the outages can be disruptive to colony operations, so it is designed to restore power after a somewhat significant delay, up to ten minutes or so. The grid checker can be manually hacked in order to end the outage sooner. To do that, you must cut three specific wires which do not cause a red light to shine, then pulse a fourth wire. Electrical protection is highly recommended when doing maintenance on the grid checker."; name = "grid checker info"},/obj/random/maintenance/engineering,/turf/simulated/floor,/area/maintenance/engineering) "dnH" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall,/area/maintenance/engineering) "dnI" = (/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "englockdown"; name = "Engineering Lockdown"; opacity = 0},/turf/simulated/floor,/area/maintenance/engineering) "dnJ" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor,/area/maintenance/engineering) @@ -8860,9 +8860,9 @@ "dot" = (/obj/effect/floor_decal/corner/white/diagonal{icon_state = "corner_white_diagonal"; dir = 4},/obj/effect/floor_decal/corner/red,/obj/machinery/atmospherics/binary/pump{dir = 1; name = "N2O to Transit"},/turf/simulated/floor/tiled,/area/engineering/atmos) "dou" = (/obj/machinery/atmospherics/binary/pump{dir = 1; name = "N2O to Connector"},/turf/simulated/floor/tiled,/area/engineering/atmos) "dov" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"dow" = (/obj/structure/closet/toolcloset,/obj/item/device/flashlight,/turf/simulated/floor/tiled,/area/engineering/workshop) +"dow" = (/obj/structure/closet/toolcloset,/obj/item/flashlight,/turf/simulated/floor/tiled,/area/engineering/workshop) "dox" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/item/stack/material/plasteel{amount = 10},/obj/item/stack/material/plasteel{amount = 10},/obj/item/stack/material/plasteel{amount = 10},/obj/item/stack/material/plastic{amount = 50},/obj/item/stack/material/plastic{amount = 50},/turf/simulated/floor/tiled,/area/engineering/workshop) -"doy" = (/obj/structure/table/reinforced,/obj/item/device/radio/off{pixel_y = 6},/obj/item/device/radio/off{pixel_x = 6; pixel_y = 4},/obj/item/device/radio/off{pixel_x = -6; pixel_y = 4},/obj/item/device/radio/off,/obj/structure/extinguisher_cabinet{pixel_x = 25},/turf/simulated/floor/tiled,/area/engineering/workshop) +"doy" = (/obj/structure/table/reinforced,/obj/item/radio/off{pixel_y = 6},/obj/item/radio/off{pixel_x = 6; pixel_y = 4},/obj/item/radio/off{pixel_x = -6; pixel_y = 4},/obj/item/radio/off,/obj/structure/extinguisher_cabinet{pixel_x = 25},/turf/simulated/floor/tiled,/area/engineering/workshop) "doz" = (/obj/structure/disposalpipe/segment,/obj/machinery/firealarm{dir = 8; pixel_x = -26},/turf/simulated/floor/tiled,/area/engineering) "doA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/engineering) "doB" = (/obj/structure/table/standard,/obj/random/tech_supply,/turf/simulated/floor/tiled,/area/engineering) @@ -8892,14 +8892,14 @@ "doZ" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 9; icon_state = "intact"},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor,/area/engineering/atmos) "dpa" = (/turf/simulated/wall/r_wall,/area/maintenance/atmos_control) "dpb" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/atmos{name = "Atmospherics Maintenance"; req_access = list(24)},/turf/simulated/floor,/area/maintenance/atmos_control) -"dpc" = (/obj/structure/closet/toolcloset,/obj/item/device/flashlight,/obj/machinery/light,/turf/simulated/floor/tiled,/area/engineering/workshop) +"dpc" = (/obj/structure/closet/toolcloset,/obj/item/flashlight,/obj/machinery/light,/turf/simulated/floor/tiled,/area/engineering/workshop) "dpd" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled,/area/engineering/workshop) -"dpe" = (/obj/structure/table/reinforced,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/device/flashlight,/obj/item/weapon/tool/wrench,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/tiled,/area/engineering/workshop) -"dpf" = (/obj/item/weapon/storage/toolbox/mechanical{pixel_y = 5},/obj/item/weapon/storage/toolbox/mechanical{pixel_y = 5},/obj/item/weapon/storage/toolbox/electrical,/obj/structure/window/reinforced{dir = 4},/obj/structure/table/reinforced,/obj/machinery/newscaster{pixel_x = 0; pixel_y = -30},/turf/simulated/floor/tiled,/area/engineering/workshop) -"dpg" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/item/stack/rods{amount = 50},/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/cell/high,/obj/item/stack/material/glass/phoronrglass{amount = 20},/obj/item/weapon/pickaxe,/obj/item/weapon/pickaxe,/turf/simulated/floor/tiled,/area/engineering/workshop) -"dph" = (/obj/structure/table/reinforced,/obj/item/device/floor_painter,/obj/item/device/multitool{pixel_x = 5},/obj/item/device/t_scanner,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/machinery/requests_console{announcementConsole = 0; department = "Engineering"; departmentType = 3; name = "Engineering RC"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/tiled,/area/engineering/workshop) -"dpi" = (/obj/structure/cable/green,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/table/reinforced,/obj/item/weapon/tool/crowbar,/obj/item/clothing/gloves/black,/obj/item/weapon/storage/box/lights/mixed,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/workshop) -"dpj" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/storage/belt/utility,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/machinery/light,/turf/simulated/floor/tiled,/area/engineering/workshop) +"dpe" = (/obj/structure/table/reinforced,/obj/machinery/cell_charger,/obj/item/cell/high{charge = 100; maxcharge = 15000},/obj/item/flashlight,/obj/item/tool/wrench,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/tiled,/area/engineering/workshop) +"dpf" = (/obj/item/storage/toolbox/mechanical{pixel_y = 5},/obj/item/storage/toolbox/mechanical{pixel_y = 5},/obj/item/storage/toolbox/electrical,/obj/structure/window/reinforced{dir = 4},/obj/structure/table/reinforced,/obj/machinery/newscaster{pixel_x = 0; pixel_y = -30},/turf/simulated/floor/tiled,/area/engineering/workshop) +"dpg" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/item/stack/rods{amount = 50},/obj/item/airlock_electronics,/obj/item/airlock_electronics,/obj/item/cell/high,/obj/item/stack/material/glass/phoronrglass{amount = 20},/obj/item/pickaxe,/obj/item/pickaxe,/turf/simulated/floor/tiled,/area/engineering/workshop) +"dph" = (/obj/structure/table/reinforced,/obj/item/floor_painter,/obj/item/multitool{pixel_x = 5},/obj/item/t_scanner,/obj/item/reagent_containers/spray/cleaner,/obj/machinery/requests_console{announcementConsole = 0; department = "Engineering"; departmentType = 3; name = "Engineering RC"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/tiled,/area/engineering/workshop) +"dpi" = (/obj/structure/cable/green,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/table/reinforced,/obj/item/tool/crowbar,/obj/item/clothing/gloves/black,/obj/item/storage/box/lights/mixed,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/workshop) +"dpj" = (/obj/structure/table/reinforced,/obj/item/storage/belt/utility,/obj/item/storage/belt/utility,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/machinery/light,/turf/simulated/floor/tiled,/area/engineering/workshop) "dpk" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green,/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/power/sensor{name = "Powernet Sensor - Engineering Subgrid"; name_tag = "Engineering Subgrid"},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor,/area/maintenance/substation/engineering) "dpl" = (/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Engineering"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/maintenance/substation/engineering) "dpm" = (/obj/machinery/power/breakerbox/activated{RCon_tag = "Engineering Substation Bypass"},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) @@ -8911,22 +8911,22 @@ "dps" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) "dpt" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) "dpu" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) -"dpv" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dpv" = (/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) "dpw" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) "dpx" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) "dpy" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) "dpz" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) "dpA" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) "dpB" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dpC" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 28},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dpD" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dpC" = (/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 28},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dpD" = (/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) "dpE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) "dpF" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) "dpG" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) "dpH" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D4) "dpI" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D4) "dpJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D4) -"dpK" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 28},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D4) +"dpK" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 28},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D4) "dpL" = (/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = 0},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/freezer,/area/vacant/vacant_site2) "dpM" = (/obj/machinery/atmospherics/pipe/simple/visible/red{icon_state = "intact"; dir = 6},/obj/structure/lattice,/turf/simulated/mineral/floor/ignore_mapgen,/area/mine/explored/upper_level) "dpN" = (/obj/machinery/atmospherics/pipe/simple/visible/red{icon_state = "intact"; dir = 4},/turf/simulated/mineral/floor/ignore_mapgen,/area/mine/explored/upper_level) @@ -8946,7 +8946,7 @@ "dqb" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/structure/lattice,/turf/space,/area/space) "dqc" = (/obj/structure/grille,/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible/red,/turf/simulated/wall/r_wall,/area/engineering/atmos) "dqd" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/sign/nosmoking_1{pixel_x = -32},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor,/area/maintenance/atmos_control) -"dqe" = (/obj/structure/closet/crate,/obj/item/weapon/deck/tarot,/obj/item/weapon/coin/gold,/obj/item/weapon/storage/fancy/cigarettes/dromedaryco,/obj/item/weapon/flame/lighter/zippo,/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/turf/simulated/floor,/area/maintenance/atmos_control) +"dqe" = (/obj/structure/closet/crate,/obj/item/deck/tarot,/obj/item/coin/gold,/obj/item/storage/fancy/cigarettes/dromedaryco,/obj/item/flame/lighter/zippo,/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/turf/simulated/floor,/area/maintenance/atmos_control) "dqf" = (/turf/simulated/wall/r_wall,/area/engineering/drone_fabrication) "dqg" = (/obj/machinery/cryopod/robot{dir = 4},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) "dqh" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor,/area/engineering/drone_fabrication) @@ -8954,7 +8954,7 @@ "dqj" = (/obj/machinery/computer/cryopod/robot{pixel_y = 30},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/camera/network/engineering{c_tag = "ENG - Drone Fabrication"; dir = 2},/obj/structure/bed/chair,/obj/machinery/light{dir = 1},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) "dqk" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) "dql" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/ai_status_display{layer = 4; pixel_y = 32},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/turf/simulated/floor,/area/engineering/drone_fabrication) -"dqm" = (/obj/item/weapon/storage/toolbox/electrical,/obj/structure/table/steel,/turf/simulated/floor,/area/engineering/drone_fabrication) +"dqm" = (/obj/item/storage/toolbox/electrical,/obj/structure/table/steel,/turf/simulated/floor,/area/engineering/drone_fabrication) "dqn" = (/turf/simulated/wall,/area/engineering/drone_fabrication) "dqo" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering) "dqp" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/engineering) @@ -8968,7 +8968,7 @@ "dqx" = (/obj/machinery/shieldgen,/obj/effect/decal/cleanable/dirt,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/engineering/storage) "dqy" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) "dqz" = (/obj/structure/table/standard,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dqA" = (/obj/structure/table/standard,/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dqA" = (/obj/structure/table/standard,/obj/item/book/codex/lore/vir,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) "dqB" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; external_pressure_bound = 140; external_pressure_bound_default = 140; icon_state = "map_vent_out"; pressure_checks = 1; pressure_checks_default = 1; use_power = 1},/obj/machinery/shield_diffuser,/turf/simulated/floor/airless,/area/engineering/atmos) "dqC" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 1; frequency = 1441; icon_state = "map_injector"; id = "co2_in"; use_power = 1; pixel_y = 1},/turf/simulated/floor/reinforced/carbon_dioxide,/area/engineering/atmos) "dqD" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "co2_sensor"},/turf/simulated/floor/reinforced/carbon_dioxide,/area/engineering/atmos) @@ -8980,7 +8980,7 @@ "dqJ" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "n2o_sensor"},/turf/simulated/floor/reinforced/n20,/area/engineering/atmos) "dqK" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1441; icon_state = "map_vent_in"; id_tag = "n2o_out"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; use_power = 1; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0},/turf/simulated/floor/reinforced/n20,/area/engineering/atmos) "dqL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/maintenance/atmos_control) -"dqM" = (/obj/item/weapon/stool/padded,/turf/simulated/floor,/area/maintenance/atmos_control) +"dqM" = (/obj/item/stool/padded,/turf/simulated/floor,/area/maintenance/atmos_control) "dqN" = (/obj/machinery/recharge_station,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) "dqO" = (/obj/effect/landmark{name = "JoinLateCyborg"},/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) "dqP" = (/obj/machinery/computer/drone_control,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) @@ -9053,7 +9053,7 @@ "dse" = (/turf/simulated/floor,/area/engineering/storage) "dsf" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/engineering/storage) "dsg" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor,/area/engineering/storage) -"dsh" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 28},/obj/machinery/space_heater,/turf/simulated/floor,/area/engineering/storage) +"dsh" = (/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 28},/obj/machinery/space_heater,/turf/simulated/floor,/area/engineering/storage) "dsi" = (/obj/structure/closet/wardrobe/black,/obj/item/clothing/shoes/boots/combat,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/turf/simulated/floor,/area/maintenance/engineering) "dsj" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/engineering) "dsk" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/engineering) @@ -9141,14 +9141,14 @@ "dtO" = (/obj/machinery/vending/coffee,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D4) "dtP" = (/obj/item/clothing/head/cone,/turf/simulated/floor,/area/maintenance/atmos_control) "dtQ" = (/obj/machinery/drone_fabricator/derelict,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"dtR" = (/obj/item/weapon/storage/box/matches,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/deck/cards,/obj/structure/table/steel,/obj/random/maintenance/engineering,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"dtR" = (/obj/item/storage/box/matches,/obj/item/storage/fancy/cigarettes,/obj/item/deck/cards,/obj/structure/table/steel,/obj/random/maintenance/engineering,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) "dtS" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera/network/engineering{c_tag = "ENG - Hallway Aft"; dir = 8},/turf/simulated/floor/tiled,/area/engineering) "dtT" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green,/obj/machinery/light_switch{pixel_x = -38; pixel_y = 0},/obj/structure/closet/crate/radiation,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/meson,/turf/simulated/floor,/area/engineering/storage) "dtU" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/floodlight,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/engineering/storage) "dtV" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/power/emitter,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/engineering/storage) "dtW" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/power/emitter,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/engineering/storage) "dtX" = (/obj/machinery/power/port_gen/pacman{anchored = 1},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/engineering/storage) -"dtY" = (/obj/structure/closet/crate,/obj/item/weapon/circuitboard/smes,/obj/item/weapon/circuitboard/smes,/obj/item/weapon/smes_coil,/obj/item/weapon/smes_coil,/obj/item/weapon/smes_coil/super_capacity,/obj/item/weapon/smes_coil/super_capacity,/obj/item/weapon/smes_coil/super_io,/obj/item/weapon/smes_coil/super_io,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/plating,/area/engineering/storage) +"dtY" = (/obj/structure/closet/crate,/obj/item/circuitboard/smes,/obj/item/circuitboard/smes,/obj/item/smes_coil,/obj/item/smes_coil,/obj/item/smes_coil/super_capacity,/obj/item/smes_coil/super_capacity,/obj/item/smes_coil/super_io,/obj/item/smes_coil/super_io,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/plating,/area/engineering/storage) "dtZ" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor,/area/engineering/storage) "dua" = (/obj/effect/decal/cleanable/dirt,/obj/structure/dispenser{oxygentanks = 0},/turf/simulated/floor,/area/engineering/storage) "dub" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/maintenance/engineering) @@ -9196,13 +9196,13 @@ "duR" = (/obj/machinery/atmospherics/portables_connector,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/tiled,/area/engineering/aft_hallway) "duS" = (/obj/machinery/computer/shuttle_control/engineering{name = "engineering elevator control console"},/turf/simulated/floor/tiled,/area/engineering/aft_hallway) "duT" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/engineering/aft_hallway) -"duU" = (/obj/structure/table/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/engineering/aft_hallway) +"duU" = (/obj/structure/table/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/engineering/aft_hallway) "duV" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled,/area/engineering/aft_hallway) "duW" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/aft_hallway) "duX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/engineering/aft_hallway) "duY" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/engineering/aft_hallway) "duZ" = (/turf/simulated/floor/tiled,/area/engineering/aft_hallway) -"dva" = (/obj/structure/table/steel,/obj/item/weapon/book/manual/engineering_singularity_safety,/turf/simulated/floor,/area/maintenance/engineering) +"dva" = (/obj/structure/table/steel,/obj/item/book/manual/engineering_singularity_safety,/turf/simulated/floor,/area/maintenance/engineering) "dvb" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) "dvc" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) "dvd" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D4) @@ -9219,7 +9219,7 @@ "dvo" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/camera/network/engineering{c_tag = "ENG - Solar Aft Port Access"; dir = 4},/turf/simulated/floor/tiled,/area/engineering/aft_hallway) "dvp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/engineering/aft_hallway) "dvq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/engineering/aft_hallway) -"dvr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/engineering/aft_hallway) +"dvr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/engineering/aft_hallway) "dvs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/tiled,/area/engineering/aft_hallway) "dvt" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/engineering/aft_hallway) "dvu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/engineering/aft_hallway) @@ -9364,20 +9364,20 @@ "dyd" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor/tiled/steel,/area/engineering/engine_waste) "dye" = (/obj/effect/floor_decal/industrial/warning,/obj/structure/closet/radiation,/obj/item/clothing/glasses/meson,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/camera/network/engine{c_tag = "ENG - Waste Handling"},/turf/simulated/floor/tiled,/area/engineering/engine_waste) "dyf" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light_switch{pixel_x = -38; pixel_y = 0},/turf/simulated/floor/tiled,/area/engineering/engine_smes) -"dyg" = (/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/device/multitool{pixel_x = 5},/obj/item/clothing/gloves/yellow,/obj/structure/table/steel,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/engineering/engine_smes) +"dyg" = (/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/multitool{pixel_x = 5},/obj/item/clothing/gloves/yellow,/obj/structure/table/steel,/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/engineering/engine_smes) "dyh" = (/turf/simulated/wall/r_wall,/area/engineering/engine_monitoring) "dyi" = (/obj/structure/table/standard,/obj/machinery/microwave{pixel_x = -2; pixel_y = 5},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) -"dyj" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) +"dyj" = (/obj/structure/table/standard,/obj/item/storage/box/donkpockets,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) "dyk" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) "dyl" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/ai_status_display{layer = 4; pixel_y = 32},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) -"dym" = (/obj/structure/closet/radiation,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 28},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) +"dym" = (/obj/structure/closet/radiation,/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 28},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) "dyn" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/alarm{pixel_y = 22},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled,/area/engineering/engine_airlock) "dyo" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/engineering/engine_airlock) "dyp" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/closet/radiation,/obj/item/clothing/glasses/meson,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/camera/network/engine{c_tag = "ENG - Engine Access"},/turf/simulated/floor/tiled,/area/engineering/engine_airlock) "dyq" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/camera/network/engineering{c_tag = "ENG - Hallway Port"; dir = 4},/turf/simulated/floor/tiled,/area/engineering/aft_hallway) "dyr" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/engineering/aft_hallway) "dys" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor/tiled,/area/engineering/aft_hallway) -"dyt" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dyt" = (/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) "dyu" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) "dyv" = (/obj/machinery/atmospherics/pipe/simple/hidden{icon_state = "intact"; dir = 4},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "escape_dock_south_airlock"; name = "interior access button"; pixel_x = 26; pixel_y = -26; req_one_access = list(13)},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) "dyw" = (/obj/machinery/atmospherics/pipe/simple/hidden{icon_state = "intact"; dir = 4},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_south_inner"; locked = 1; name = "Docking Port Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) @@ -9435,7 +9435,7 @@ "dzw" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/sensor{name = "Powernet Sensor - Master Grid"; name_tag = "Master"},/turf/simulated/floor,/area/engineering/engine_waste) "dzx" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{pixel_x = 38; pixel_y = 0},/turf/simulated/floor,/area/engineering/engine_waste) "dzy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled,/area/engineering/engine_smes) -"dzz" = (/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/lights/mixed,/obj/structure/table/steel,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/engineering/engine_smes) +"dzz" = (/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/storage/box/lights/mixed,/obj/structure/table/steel,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/engineering/engine_smes) "dzA" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) "dzB" = (/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) "dzC" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) @@ -9462,7 +9462,7 @@ "dzX" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/hallway/secondary/escape/dock_escape_pod_hallway_starboard) "dzY" = (/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "escape_pod_4_berth"; pixel_x = 25; pixel_y = -30; tag_door = "escape_pod_4_berth_hatch"},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/secondary/escape/dock_escape_pod_hallway_starboard) "dzZ" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/dock_escape_pod_hallway_starboard) -"dAa" = (/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = -28},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/dock_escape_pod_hallway_starboard) +"dAa" = (/obj/item/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = -28},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/dock_escape_pod_hallway_starboard) "dAb" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/dock_escape_pod_hallway_starboard) "dAc" = (/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "escape_pod_3_berth"; pixel_x = 25; pixel_y = -30; tag_door = "escape_pod_3_berth_hatch"},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/secondary/escape/dock_escape_pod_hallway_starboard) "dAd" = (/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/hallway/secondary/escape/dock_escape_pod_hallway_starboard) @@ -9475,7 +9475,7 @@ "dAk" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "eng_port_outer"; locked = 1; name = "Engineering Port External Access"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/engineering/aft_hallway) "dAl" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/engineering/aft_hallway) "dAm" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "engineering_dock_outer"; locked = 1; name = "Engineering Dock Airlock"; req_access = list(13)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "engineering_dock_airlock"; name = "exterior access button"; pixel_x = -28; pixel_y = -8; req_one_access = list(13,11,24)},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/shield_diffuser,/turf/simulated/floor/tiled/dark,/area/engineering/aft_hallway) -"dAn" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor,/area/engineering/engine_waste) +"dAn" = (/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor,/area/engineering/engine_waste) "dAo" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/engineering/engine_waste) "dAp" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/engineering/engine_waste) "dAq" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/airlock/maintenance_hatch{name = "SMES Access"; req_access = list(11)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/engineering/engine_smes) @@ -9518,7 +9518,7 @@ "dBb" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/effect/floor_decal/industrial/outline/yellow,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor,/area/engineering/engine_waste) "dBc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/tiled,/area/engineering/engine_smes) "dBd" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/camera/network/engine{c_tag = "ENG - SMES Room"; dir = 8},/turf/simulated/floor/tiled,/area/engineering/engine_smes) -"dBe" = (/obj/structure/table/reinforced,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/camera/network/engine{c_tag = "ENG - Monitoring Room"; dir = 4},/obj/item/weapon/book/manual/supermatter_engine,/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) +"dBe" = (/obj/structure/table/reinforced,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/camera/network/engine{c_tag = "ENG - Monitoring Room"; dir = 4},/obj/item/book/manual/supermatter_engine,/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) "dBf" = (/obj/structure/bed/chair/office/dark,/obj/effect/landmark/start{name = "Station Engineer"},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) "dBg" = (/obj/structure/table/reinforced,/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineBlast"; name = "Engine Monitoring Room Blast Doors"; pixel_x = 0; pixel_y = -3; req_access = list(10)},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the engine charging port."; id = "SupermatterPort"; name = "Reactor Blast Doors"; pixel_x = -6; pixel_y = 7; req_access = list(10)},/obj/machinery/button/remote/emitter{desc = "A remote control-switch for the engine emitter."; id = "EngineEmitter"; name = "Engine Emitter"; pixel_x = 6; pixel_y = 7; req_access = list(10)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) "dBh" = (/obj/structure/table/reinforced,/obj/machinery/light_switch{pixel_x = 27},/obj/item/clothing/ears/earmuffs,/obj/item/clothing/ears/earmuffs,/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) @@ -9539,7 +9539,7 @@ "dBw" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) "dBx" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D4) "dBy" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D4) -"dBz" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 28},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D4) +"dBz" = (/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 28},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D4) "dBA" = (/obj/machinery/light/small{dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor,/area/shuttle/escape_pod4/station) "dBB" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor,/area/shuttle/escape_pod4/station) "dBC" = (/obj/structure/closet/emcloset,/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor,/area/shuttle/escape_pod4/station) @@ -9564,7 +9564,7 @@ "dBV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/computer/power_monitor,/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) "dBW" = (/obj/machinery/computer/security/engineering,/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) "dBX" = (/obj/machinery/computer/station_alert,/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) -"dBY" = (/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "eng_al_c_snsr"; pixel_x = -25; pixel_y = 0},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "engine_airlock_pump"},/turf/simulated/floor/plating,/area/engineering/engine_airlock) +"dBY" = (/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "eng_al_c_snsr"; pixel_x = -25; pixel_y = 0},/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "engine_airlock_pump"},/turf/simulated/floor/plating,/area/engineering/engine_airlock) "dBZ" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/engineering/engine_airlock) "dCa" = (/obj/machinery/light/small{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "engine_airlock_pump"},/turf/simulated/floor/plating,/area/engineering/engine_airlock) "dCb" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "eng_starboard_airlock"; pixel_x = -25; req_access = list(13); req_one_access = null; tag_airpump = "eng_starboard_pump"; tag_chamber_sensor = "eng_starboard_sensor"; tag_exterior_door = "eng_starboard_outer"; tag_interior_door = "eng_starboard_inner"},/obj/machinery/light/small,/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled,/area/engineering/aft_hallway) @@ -9609,10 +9609,10 @@ "dCO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D4) "dCP" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D4) "dCQ" = (/turf/simulated/shuttle/wall,/area/shuttle/escape_pod4/station) -"dCR" = (/obj/structure/bed/chair,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/structure/closet/walllocker/emerglocker{pixel_x = 28},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod4/station) +"dCR" = (/obj/structure/bed/chair,/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/structure/closet/walllocker/emerglocker{pixel_x = 28},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod4/station) "dCS" = (/turf/simulated/shuttle/wall,/area/shuttle/escape_pod3/station) -"dCT" = (/obj/structure/bed/chair,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/structure/closet/walllocker/emerglocker{pixel_x = 28},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod3/station) -"dCU" = (/obj/item/weapon/stool,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/camera/network/engineering{c_tag = "ENG - Solar Aft Starboard"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) +"dCT" = (/obj/structure/bed/chair,/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/structure/closet/walllocker/emerglocker{pixel_x = 28},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod3/station) +"dCU" = (/obj/item/stool,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/camera/network/engineering{c_tag = "ENG - Solar Aft Starboard"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "dCV" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "dCW" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/machinery/light/small{dir = 4},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "dCX" = (/obj/effect/landmark{name = "carpspawn"},/turf/space,/area/syndicate_station/southwest) @@ -9766,7 +9766,7 @@ "dFP" = (/obj/machinery/atmospherics/portables_connector,/obj/effect/floor_decal/industrial/outline/blue,/obj/machinery/portable_atmospherics/canister/empty,/obj/effect/engine_setup/empty_canister,/turf/simulated/floor,/area/engineering/engine_room) "dFQ" = (/obj/machinery/atmospherics/pipe/cap/visible,/turf/simulated/floor,/area/engineering/engine_room) "dFR" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/plating,/area/engineering/engine_room) -"dFS" = (/obj/machinery/light,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/engineering/engine_room) +"dFS" = (/obj/machinery/light,/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/engineering/engine_room) "dFT" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/plating,/area/engineering/engine_room) "dFU" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/engineering/engine_room) "dFV" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 6},/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/plating,/area/engineering/engine_room) @@ -9865,13 +9865,13 @@ "dHK" = (/turf/space,/area/skipjack_station/southeast_solars) "dHL" = (/turf/space,/area/syndicate_station/south) "dHM" = (/obj/machinery/power/tracker,/obj/structure/cable/yellow,/turf/simulated/floor/airless,/area/solar/starboard) -"dHN" = (/obj/item/weapon/broken_bottle,/turf/simulated/floor,/area/vacant/vacant_site) -"dHO" = (/obj/structure/table/gamblingtable,/obj/item/weapon/reagent_containers/food/condiment/enzyme,/turf/simulated/floor/wood,/area/vacant/vacant_site) +"dHN" = (/obj/item/broken_bottle,/turf/simulated/floor,/area/vacant/vacant_site) +"dHO" = (/obj/structure/table/gamblingtable,/obj/item/reagent_containers/food/condiment/enzyme,/turf/simulated/floor/wood,/area/vacant/vacant_site) "dHP" = (/obj/effect/floor_decal/corner/white{dir = 8},/obj/effect/floor_decal/corner/blue{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/closet/emcloset,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) "dHQ" = (/obj/effect/floor_decal/corner/white{dir = 4},/obj/effect/floor_decal/corner/blue,/obj/structure/closet/emcloset,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) -"dHR" = (/obj/item/weapon/rig/breacher,/obj/item/clothing/mask/breath,/obj/machinery/suit_storage_unit/standard_unit,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) +"dHR" = (/obj/item/rig/breacher,/obj/item/clothing/mask/breath,/obj/machinery/suit_storage_unit/standard_unit,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) "dHS" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/light,/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging) -"dHT" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/item/clothing/mask/breath,/obj/item/weapon/rig/breacher,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) +"dHT" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/item/clothing/mask/breath,/obj/item/rig/breacher,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -10175,4 +10175,3 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa "} - diff --git a/maps/northern_star/polaris-2.dmm b/maps/northern_star/polaris-2.dmm index da441e02046..06010d3baa6 100644 --- a/maps/northern_star/polaris-2.dmm +++ b/maps/northern_star/polaris-2.dmm @@ -140,7 +140,7 @@ "cJ" = (/obj/structure/holostool,/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt) "cK" = (/obj/structure/holostool,/obj/structure/window/reinforced/holowindow{dir = 4},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt) "cL" = (/obj/structure/table/holotable,/obj/machinery/readybutton{pixel_y = 0},/obj/effect/floor_decal/corner/red/full{dir = 8},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt) -"cM" = (/obj/structure/table/holotable,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/under/color/red,/obj/item/weapon/holo/esword/red,/obj/effect/floor_decal/corner/red{dir = 5},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt) +"cM" = (/obj/structure/table/holotable,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/under/color/red,/obj/item/holo/esword/red,/obj/effect/floor_decal/corner/red{dir = 5},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt) "cN" = (/obj/structure/table/holotable,/obj/effect/floor_decal/corner/red/full{dir = 1},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt) "cO" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove,/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_boxingcourt) "cP" = (/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_boxingcourt) @@ -169,7 +169,7 @@ "dm" = (/obj/structure/flora/tree/dead,/turf/simulated/floor/holofloor/snow,/area/holodeck/source_snowfield) "dn" = (/turf/simulated/floor/holofloor/lino,/area/holodeck/source_meetinghall) "do" = (/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_meetinghall) -"dp" = (/obj/item/weapon/beach_ball,/turf/simulated/floor/holofloor/beach/sand,/area/holodeck/source_beach) +"dp" = (/obj/item/beach_ball,/turf/simulated/floor/holofloor/beach/sand,/area/holodeck/source_beach) "dq" = (/obj/structure/window/reinforced/holowindow{dir = 4},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_boxingcourt) "dr" = (/obj/effect/floor_decal/corner/red/full{dir = 8},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_boxingcourt) "ds" = (/obj/effect/floor_decal/corner/red{dir = 5},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_boxingcourt) @@ -182,9 +182,9 @@ "dz" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 5},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_meetinghall) "dA" = (/obj/effect/floor_decal/corner/red/full,/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball) "dB" = (/obj/effect/floor_decal/corner/red{dir = 10},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball) -"dC" = (/obj/item/weapon/beach_ball/holoball,/obj/effect/floor_decal/corner/red{dir = 10},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball) +"dC" = (/obj/item/beach_ball/holoball,/obj/effect/floor_decal/corner/red{dir = 10},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball) "dD" = (/obj/effect/floor_decal/corner/red/full{dir = 4},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball) -"dE" = (/obj/item/weapon/inflatable_duck,/turf/simulated/floor/holofloor/beach/sand,/area/holodeck/source_beach) +"dE" = (/obj/item/inflatable_duck,/turf/simulated/floor/holofloor/beach/sand,/area/holodeck/source_beach) "dF" = (/obj/structure/window/reinforced/holowindow/disappearing,/obj/effect/floor_decal/corner/red/full,/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt) "dG" = (/obj/structure/window/reinforced/holowindow/disappearing,/obj/effect/floor_decal/corner/red{dir = 10},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt) "dH" = (/obj/structure/window/reinforced/holowindow/disappearing,/obj/effect/floor_decal/corner/red/full{dir = 4},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt) @@ -225,7 +225,7 @@ "eq" = (/obj/structure/holohoop{dir = 1},/obj/effect/floor_decal/corner/green{dir = 10},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball) "er" = (/obj/effect/floor_decal/corner/green/full{dir = 4},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball) "es" = (/obj/structure/table/holotable,/obj/effect/floor_decal/corner/green/full,/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt) -"et" = (/obj/structure/table/holotable,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/under/color/green,/obj/item/weapon/holo/esword/green,/obj/effect/floor_decal/corner/green{dir = 10},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt) +"et" = (/obj/structure/table/holotable,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/under/color/green,/obj/item/holo/esword/green,/obj/effect/floor_decal/corner/green{dir = 10},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt) "eu" = (/obj/structure/table/holotable,/obj/machinery/readybutton{pixel_y = 0},/obj/effect/floor_decal/corner/green/full{dir = 4},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt) "ev" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove{icon_state = "boxinggreen"; item_state = "boxinggreen"},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_boxingcourt) "ew" = (/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/wall,/area/space) @@ -242,9 +242,9 @@ "eH" = (/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership{name = "\improper Trader Base"}) "eI" = (/obj/structure/closet/wardrobe/yellow,/turf/unsimulated/floor{icon_state = "steel"},/area/syndicate_mothership{name = "\improper Trader Base"}) "eJ" = (/obj/structure/closet/wardrobe/suit,/turf/unsimulated/floor{icon_state = "steel"},/area/syndicate_mothership{name = "\improper Trader Base"}) -"eK" = (/obj/item/weapon/stool/padded,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership{name = "\improper Trader Base"}) +"eK" = (/obj/item/stool/padded,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership{name = "\improper Trader Base"}) "eL" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/syndicate_mothership{name = "\improper Trader Base"}) -"eM" = (/obj/item/weapon/stool/padded,/turf/unsimulated/floor{icon_state = "steel"},/area/syndicate_mothership{name = "\improper Trader Base"}) +"eM" = (/obj/item/stool/padded,/turf/unsimulated/floor{icon_state = "steel"},/area/syndicate_mothership{name = "\improper Trader Base"}) "eN" = (/obj/structure/closet/wardrobe/mixed,/turf/unsimulated/floor{icon_state = "steel"},/area/syndicate_mothership{name = "\improper Trader Base"}) "eO" = (/obj/structure/closet/wardrobe/xenos,/turf/unsimulated/floor{icon_state = "steel"},/area/syndicate_mothership{name = "\improper Trader Base"}) "eP" = (/obj/effect/landmark{name = "Trader"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership{name = "\improper Trader Base"}) @@ -260,9 +260,9 @@ "eZ" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "arrivals_shuttle"; pixel_x = 0; pixel_y = 25; req_one_access = list(13); tag_door = "arrivals_shuttle_hatch"},/turf/simulated/shuttle/floor{icon_state = "floor_red"},/area/shuttle/arrival/pre_game) "fa" = (/turf/simulated/shuttle/floor{icon_state = "floor_red"},/area/shuttle/arrival/pre_game) "fb" = (/turf/simulated/shuttle/wall/dark,/area/shuttle/syndicate_elite/mothership) -"fc" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 1},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/syndicate_elite/mothership) -"fd" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 1},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/syndicate_elite/mothership) -"fe" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"; dir = 4},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/trade/centcom) +"fc" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"; dir = 1},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/syndicate_elite/mothership) +"fd" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 1},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/syndicate_elite/mothership) +"fe" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 1},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/syndicate_elite/mothership) "ff" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{pixel_x = -28},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership{name = "\improper Trader Base"}) "fg" = (/obj/structure/curtain/open/shower,/obj/machinery/shower{pixel_y = 3},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership{name = "\improper Trader Base"}) "fh" = (/obj/machinery/computer/shuttle_control/arrivals,/turf/simulated/shuttle/floor{icon_state = "floor_red"},/area/shuttle/arrival/pre_game) @@ -270,7 +270,7 @@ "fj" = (/obj/structure/table/steel,/obj/structure/flora/pottedplant{icon_state = "plant-09"; name = "Dave"; pixel_y = 15},/turf/simulated/shuttle/floor{icon_state = "floor_red"},/area/shuttle/arrival/pre_game) "fk" = (/obj/machinery/light,/obj/structure/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor_red"},/area/shuttle/arrival/pre_game) "fl" = (/obj/structure/window/reinforced,/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 1},/turf/simulated/floor/airless,/area/shuttle/syndicate_elite/mothership) -"fm" = (/obj/structure/table/standard,/obj/item/weapon/soap/deluxe,/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership{name = "\improper Trader Base"}) +"fm" = (/obj/structure/table/standard,/obj/item/soap/deluxe,/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership{name = "\improper Trader Base"}) "fn" = (/obj/structure/undies_wardrobe,/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership{name = "\improper Trader Base"}) "fo" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north,/area/space) "fp" = (/obj/machinery/status_display,/turf/simulated/shuttle/wall,/area/shuttle/arrival/pre_game) @@ -279,7 +279,7 @@ "fs" = (/obj/machinery/ai_status_display,/turf/simulated/shuttle/wall,/area/shuttle/arrival/pre_game) "ft" = (/obj/effect/landmark{name = "Syndicate-Commando-Bomb"},/turf/simulated/shuttle/floor/red,/area/shuttle/syndicate_elite/mothership) "fu" = (/mob/living/silicon/decoy{icon_state = "ai-malf"; name = "GLaDOS"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/control) -"fv" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; frequency = 1213; listening = 1; name = "Syndicate Ops Intercom"; pixel_y = 0; subspace_transmission = 1; syndie = 1},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"fv" = (/obj/item/radio/intercom{broadcasting = 1; dir = 1; frequency = 1213; listening = 1; name = "Syndicate Ops Intercom"; pixel_y = 0; subspace_transmission = 1; syndie = 1},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "fw" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north,/area/space) "fx" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north,/area/space) "fy" = (/turf/space/transit/north,/area/syndicate_station/transit) @@ -300,7 +300,7 @@ "fN" = (/turf/space,/area/syndicate_mothership/elite_squad) "fO" = (/turf/simulated/shuttle/wall/dark/no_join,/area/syndicate_mothership/elite_squad) "fP" = (/obj/machinery/computer/pod{id = "syndicate_elite"; name = "Hull Door Control"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad) -"fQ" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; frequency = 1213; listening = 0; name = "Syndicate Ops Intercom"; pixel_y = 28; subspace_transmission = 1; syndie = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad) +"fQ" = (/obj/item/radio/intercom{broadcasting = 1; dir = 1; frequency = 1213; listening = 0; name = "Syndicate Ops Intercom"; pixel_y = 28; subspace_transmission = 1; syndie = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad) "fR" = (/obj/effect/landmark{name = "Syndicate-Commando"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad) "fS" = (/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad) "fT" = (/obj/machinery/mech_recharger,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad) @@ -308,8 +308,8 @@ "fV" = (/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "fW" = (/turf/space/transit/north,/area/skipjack_station/transit) "fX" = (/obj/structure/bed/chair,/obj/effect/landmark{name = "JoinLate"},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor_white"},/area/shuttle/arrival/pre_game) -"fY" = (/obj/structure/bed/chair,/obj/effect/landmark{name = "JoinLate"},/obj/structure/window/reinforced{dir = 1},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/shuttle/floor{icon_state = "floor_white"},/area/shuttle/arrival/pre_game) -"fZ" = (/obj/structure/bed/chair,/obj/effect/landmark{name = "JoinLate"},/obj/structure/window/reinforced{dir = 1},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 26},/turf/simulated/shuttle/floor{icon_state = "floor_white"},/area/shuttle/arrival/pre_game) +"fY" = (/obj/structure/bed/chair,/obj/effect/landmark{name = "JoinLate"},/obj/structure/window/reinforced{dir = 1},/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/shuttle/floor{icon_state = "floor_white"},/area/shuttle/arrival/pre_game) +"fZ" = (/obj/structure/bed/chair,/obj/effect/landmark{name = "JoinLate"},/obj/structure/window/reinforced{dir = 1},/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 26},/turf/simulated/shuttle/floor{icon_state = "floor_white"},/area/shuttle/arrival/pre_game) "ga" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/syndicate_mothership/elite_squad) "gb" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "trade_shuttle_bay_door"; locked = 1},/turf/unsimulated/floor{icon_state = "steel"},/area/syndicate_mothership{name = "\improper Trader Base"}) "gc" = (/turf/simulated/shuttle/floor{icon_state = "floor_white"},/area/shuttle/arrival/pre_game) @@ -330,16 +330,16 @@ "gr" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "trade_shuttle"; pixel_x = -25; pixel_y = 0; req_one_access = list(101); tag_door = "trade_shuttle_hatch"},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "gs" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "gt" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/turf/simulated/shuttle/plating/airless,/area/shuttle/trade/centcom) -"gu" = (/turf/space,/obj/structure/shuttle/engine/propulsion{dir = 4},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/trade/centcom) +"gu" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"; dir = 4},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/trade/centcom) "gv" = (/turf/space/transit/north,/area/shuttle/escape_pod2/transit) "gw" = (/turf/space/transit/north,/area/shuttle/escape_pod1/transit) "gx" = (/obj/structure/table/standard,/turf/simulated/shuttle/floor{icon_state = "floor_white"},/area/shuttle/arrival/pre_game) "gy" = (/obj/machinery/hologram/holopad,/obj/effect/landmark{name = "Observer-Start"},/turf/simulated/shuttle/floor,/area/shuttle/arrival/pre_game) -"gz" = (/obj/structure/table/standard,/obj/item/weapon/book/codex/lore/vir,/turf/simulated/shuttle/floor{icon_state = "floor_white"},/area/shuttle/arrival/pre_game) +"gz" = (/obj/structure/table/standard,/obj/item/book/codex/lore/vir,/turf/simulated/shuttle/floor{icon_state = "floor_white"},/area/shuttle/arrival/pre_game) "gA" = (/obj/machinery/computer/pod{id = "syndicate_elite"; name = "Hull Door Control"},/turf/simulated/shuttle/floor/red,/area/shuttle/syndicate_elite/mothership) "gB" = (/obj/machinery/computer/syndicate_elite_shuttle,/turf/simulated/shuttle/floor/red,/area/shuttle/syndicate_elite/mothership) "gC" = (/obj/structure/closet/cabinet,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) -"gD" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/rd,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) +"gD" = (/obj/structure/bed/padded,/obj/item/bedsheet/rd,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "gE" = (/obj/structure/table/standard,/obj/machinery/chemical_dispenser/bar_alc/full,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "gF" = (/obj/structure/table/standard,/obj/machinery/microwave,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "gG" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/carpet,/area/shuttle/trade/centcom) @@ -356,26 +356,26 @@ "gR" = (/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "gS" = (/obj/machinery/door/airlock/silver{name = "Sleeping"},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "gT" = (/turf/simulated/floor/carpet,/area/shuttle/trade/centcom) -"gU" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets,/turf/simulated/floor/carpet,/area/shuttle/trade/centcom) +"gU" = (/obj/structure/table/standard,/obj/item/storage/box/donkpockets,/turf/simulated/floor/carpet,/area/shuttle/trade/centcom) "gV" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/carpet,/area/shuttle/trade/centcom) "gW" = (/obj/machinery/atm{pixel_x = -32},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "gX" = (/obj/machinery/suit_cycler/syndicate,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "gY" = (/obj/machinery/bodyscanner{dir = 8},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "gZ" = (/obj/machinery/body_scanconsole,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) -"ha" = (/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/weapon/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/obj/item/weapon/storage/box/masks{pixel_x = 0; pixel_y = 0},/obj/item/weapon/storage/box/gloves{pixel_x = 3; pixel_y = 4},/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/fire{layer = 2.9; pixel_x = 2; pixel_y = 3},/obj/item/weapon/storage/firstaid/adv{pixel_x = -2},/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/structure/closet/medical_wall{pixel_y = 32},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) +"ha" = (/obj/item/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/obj/item/storage/box/masks{pixel_x = 0; pixel_y = 0},/obj/item/storage/box/gloves{pixel_x = 3; pixel_y = 4},/obj/item/storage/firstaid/toxin,/obj/item/storage/firstaid/fire{layer = 2.9; pixel_x = 2; pixel_y = 3},/obj/item/storage/firstaid/adv{pixel_x = -2},/obj/item/reagent_containers/blood/empty,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/structure/closet/medical_wall{pixel_y = 32},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "hb" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "hc" = (/turf/space,/area/syndicate_mothership) "hd" = (/turf/simulated/floor/airless,/area/shuttle/syndicate_elite/mothership) "he" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "tradestarshutters"; name = "Blast Shutters"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating,/area/shuttle/trade/centcom) "hf" = (/obj/structure/closet/wardrobe/pjs,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) -"hg" = (/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/weapon/pen{pixel_y = 4},/obj/machinery/light,/obj/structure/table/glass,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) -"hh" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/hos,/obj/structure/sign/poster{pixel_y = -32},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) +"hg" = (/obj/item/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/pen{pixel_y = 4},/obj/machinery/light,/obj/structure/table/glass,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) +"hh" = (/obj/structure/bed/padded,/obj/item/bedsheet/hos,/obj/structure/sign/poster{pixel_y = -32},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "hi" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/carpet,/area/shuttle/trade/centcom) -"hj" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/glasses/square,/turf/simulated/floor/carpet,/area/shuttle/trade/centcom) +"hj" = (/obj/structure/table/standard,/obj/item/storage/box/glasses/square,/turf/simulated/floor/carpet,/area/shuttle/trade/centcom) "hk" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32},/turf/simulated/floor/carpet,/area/shuttle/trade/centcom) -"hl" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/inflatable_duck,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) +"hl" = (/obj/structure/table/steel_reinforced,/obj/item/inflatable_duck,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "hm" = (/obj/structure/table/steel_reinforced,/obj/item/stack/material/mhydrogen,/obj/item/stack/material/diamond,/obj/item/stack/material/sandstone,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) -"hn" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/rig/internalaffairs,/obj/item/clothing/head/helmet/space/void/wizard,/obj/item/clothing/suit/space/void/wizard,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) +"hn" = (/obj/structure/table/steel_reinforced,/obj/item/rig/internalaffairs,/obj/item/clothing/head/helmet/space/void/wizard,/obj/item/clothing/suit/space/void/wizard,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "ho" = (/obj/structure/table/steel_reinforced,/obj/random/tool,/obj/random/tool,/obj/random/tool,/obj/random/tool,/obj/random/tool,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "hp" = (/obj/structure/table/steel_reinforced,/obj/random/toolbox,/obj/random/toolbox,/obj/random/toolbox,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "hq" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating,/area/shuttle/trade/centcom) @@ -385,15 +385,15 @@ "hu" = (/obj/machinery/optable,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "hv" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 4},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/trade/centcom) "hw" = (/obj/structure/bed/chair{dir = 1},/obj/effect/landmark{name = "JoinLate"},/obj/structure/window/reinforced,/turf/simulated/shuttle/floor{icon_state = "floor_white"},/area/shuttle/arrival/pre_game) -"hx" = (/obj/structure/bed/chair{dir = 1},/obj/effect/landmark{name = "JoinLate"},/obj/structure/window/reinforced,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/shuttle/floor{icon_state = "floor_white"},/area/shuttle/arrival/pre_game) -"hy" = (/obj/structure/bed/chair{dir = 1},/obj/effect/landmark{name = "JoinLate"},/obj/structure/window/reinforced,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 26},/turf/simulated/shuttle/floor{icon_state = "floor_white"},/area/shuttle/arrival/pre_game) +"hx" = (/obj/structure/bed/chair{dir = 1},/obj/effect/landmark{name = "JoinLate"},/obj/structure/window/reinforced,/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/shuttle/floor{icon_state = "floor_white"},/area/shuttle/arrival/pre_game) +"hy" = (/obj/structure/bed/chair{dir = 1},/obj/effect/landmark{name = "JoinLate"},/obj/structure/window/reinforced,/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 26},/turf/simulated/shuttle/floor{icon_state = "floor_white"},/area/shuttle/arrival/pre_game) "hz" = (/obj/structure/closet/walllocker/emerglocker{pixel_y = -32},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "hA" = (/obj/machinery/button/remote/blast_door{id = "tradestarshutters"; name = "remote shutter control"; pixel_x = 30; req_access = list(160)},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "hB" = (/obj/structure/table/steel_reinforced,/obj/random/firstaid,/obj/random/firstaid,/obj/random/firstaid,/obj/random/firstaid,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "hC" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "hD" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "hE" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) -"hF" = (/obj/structure/table/steel_reinforced,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/item/weapon/weldpack,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) +"hF" = (/obj/structure/table/steel_reinforced,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/item/weldpack,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "hG" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating,/area/shuttle/trade/centcom) "hH" = (/obj/vehicle/train/trolley,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "hI" = (/obj/machinery/light,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) @@ -401,11 +401,11 @@ "hK" = (/obj/machinery/door/airlock/multi_tile/glass{dir = 4; req_access = list(160)},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "hL" = (/obj/structure/table/steel_reinforced,/obj/random/medical,/obj/random/medical,/obj/random/medical,/obj/random/medical,/obj/structure/window/reinforced,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "hM" = (/obj/machinery/door/window/southleft{name = "Cargo Hold"; req_access = list(160)},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) -"hN" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/coin/uranium,/obj/item/weapon/coin/silver,/obj/item/weapon/coin/platinum,/obj/item/weapon/coin/phoron,/obj/item/weapon/coin/iron,/obj/item/weapon/coin/gold,/obj/item/weapon/coin/diamond,/obj/structure/window/reinforced,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) +"hN" = (/obj/structure/table/steel_reinforced,/obj/item/coin/uranium,/obj/item/coin/silver,/obj/item/coin/platinum,/obj/item/coin/phoron,/obj/item/coin/iron,/obj/item/coin/gold,/obj/item/coin/diamond,/obj/structure/window/reinforced,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "hO" = (/obj/machinery/door/window/southright{name = "Cargo Hold"; req_access = list(160)},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) -"hP" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/cell/high,/obj/item/weapon/cell/high,/obj/item/weapon/cell/hyper,/obj/item/weapon/cell/potato,/obj/structure/window/reinforced,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) +"hP" = (/obj/structure/table/steel_reinforced,/obj/item/cell/high,/obj/item/cell/high,/obj/item/cell/hyper,/obj/item/cell/potato,/obj/structure/window/reinforced,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "hQ" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating,/area/shuttle/trade/centcom) -"hR" = (/obj/structure/table/standard,/obj/item/clothing/gloves/sterile/latex,/obj/item/clothing/mask/surgical,/obj/item/weapon/surgical/retractor{pixel_x = 0; pixel_y = 6},/obj/item/weapon/surgical/scalpel,/obj/item/weapon/surgical/surgicaldrill,/obj/item/weapon/surgical/circular_saw,/obj/item/stack/nanopaste,/obj/item/weapon/surgical/hemostat{pixel_y = 4},/obj/item/weapon/surgical/cautery{pixel_y = 4},/obj/item/weapon/surgical/FixOVein{pixel_x = -6; pixel_y = 1},/obj/item/stack/medical/advanced/bruise_pack,/obj/item/weapon/surgical/bonesetter,/obj/item/weapon/surgical/bonegel{pixel_x = 4; pixel_y = 3},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) +"hR" = (/obj/structure/table/standard,/obj/item/clothing/gloves/sterile/latex,/obj/item/clothing/mask/surgical,/obj/item/surgical/retractor{pixel_x = 0; pixel_y = 6},/obj/item/surgical/scalpel,/obj/item/surgical/surgicaldrill,/obj/item/surgical/circular_saw,/obj/item/stack/nanopaste,/obj/item/surgical/hemostat{pixel_y = 4},/obj/item/surgical/cautery{pixel_y = 4},/obj/item/surgical/FixOVein{pixel_x = -6; pixel_y = 1},/obj/item/stack/medical/advanced/bruise_pack,/obj/item/surgical/bonesetter,/obj/item/surgical/bonegel{pixel_x = 4; pixel_y = 3},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "hS" = (/obj/machinery/iv_drip,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "hT" = (/obj/machinery/vending/snack,/turf/simulated/shuttle/floor{icon_state = "floor_white"},/area/shuttle/arrival/pre_game) "hU" = (/obj/machinery/vending/cigarette,/turf/simulated/shuttle/floor{icon_state = "floor_white"},/area/shuttle/arrival/pre_game) @@ -425,7 +425,7 @@ "ii" = (/obj/structure/flora/grass/brown,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership) "ij" = (/obj/structure/flora/tree/pine,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership) "ik" = (/obj/structure/flora/grass/both,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership) -"il" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/weapon/pen{pixel_y = 4},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) +"il" = (/obj/structure/table/steel_reinforced,/obj/item/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/pen{pixel_y = 4},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "im" = (/obj/structure/table/steel_reinforced,/obj/machinery/newscaster{pixel_x = 32},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "in" = (/obj/structure/toilet,/obj/machinery/light/small{dir = 1},/turf/simulated/shuttle/floor/white,/area/shuttle/trade/centcom) "io" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/machinery/light/small,/turf/simulated/shuttle/floor/white,/area/shuttle/trade/centcom) @@ -434,7 +434,7 @@ "ir" = (/obj/machinery/vending/snack{name = "hacked Getmore Chocolate Corp"; prices = list()},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "is" = (/obj/structure/window/reinforced,/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating,/area/shuttle/trade/centcom) "it" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) -"iu" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/grass/both,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership) +"iu" = (/turf/space,/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/arrival/pre_game) "iv" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/airless,/area/shuttle/arrival/pre_game) "iw" = (/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "tradebridgeshutters"; name = "Blast Shutters"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/shuttle/trade/centcom) "ix" = (/obj/structure/frame/computer,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) @@ -442,11 +442,11 @@ "iz" = (/obj/machinery/door/airlock/silver{name = "Toilet"},/turf/simulated/shuttle/floor/white,/area/shuttle/trade/centcom) "iA" = (/obj/machinery/door/airlock/silver{name = "Restroom"},/turf/simulated/shuttle/floor/white,/area/shuttle/trade/centcom) "iB" = (/obj/structure/undies_wardrobe,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) -"iC" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; prices = list(); products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2)},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) +"iC" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; prices = list(); products = list(/obj/item/storage/fancy/cigarettes = 10, /obj/item/storage/box/matches = 10, /obj/item/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2)},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "iD" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/structure/largecrate/animal/cat,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "iE" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/largecrate/animal/cow,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "iF" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/closet/crate/freezer/rations,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) -"iG" = (/obj/structure/table/rack,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/item/device/kit/paint/ripley/death,/obj/item/device/kit/paint/ripley/flames_blue,/obj/item/device/kit/paint/ripley/flames_red,/obj/item/device/kit/paint/ripley,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) +"iG" = (/obj/structure/table/rack,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/item/kit/paint/ripley/death,/obj/item/kit/paint/ripley/flames_blue,/obj/item/kit/paint/ripley/flames_red,/obj/item/kit/paint/ripley,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "iH" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/closet/crate/secure/loot,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "iI" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/largecrate/hoverpod,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "iJ" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/mecha/working/ripley/mining,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) @@ -461,17 +461,17 @@ "iS" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/structure/largecrate/animal/corgi,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "iT" = (/obj/effect/floor_decal/industrial/warning,/obj/structure/largecrate/animal/corgi,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "iU" = (/obj/effect/floor_decal/industrial/warning,/obj/structure/closet/crate/internals,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) -"iV" = (/obj/structure/table/rack,/obj/effect/floor_decal/industrial/warning,/obj/item/device/kit/paint/gygax/darkgygax,/obj/item/device/kit/paint/gygax/recitence,/obj/item/device/kit/paint/durand,/obj/item/device/kit/paint/durand/phazon,/obj/item/device/kit/paint/durand/seraph,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) +"iV" = (/obj/structure/table/rack,/obj/effect/floor_decal/industrial/warning,/obj/item/kit/paint/gygax/darkgygax,/obj/item/kit/paint/gygax/recitence,/obj/item/kit/paint/durand,/obj/item/kit/paint/durand/phazon,/obj/item/kit/paint/durand/seraph,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "iW" = (/obj/effect/floor_decal/industrial/warning,/obj/structure/closet/crate/secure/loot,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "iX" = (/obj/effect/floor_decal/industrial/warning,/obj/structure/largecrate/hoverpod,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "iY" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/mecha/working/ripley/firefighter,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "iZ" = (/obj/machinery/door/window/westleft{name = "Storefront"; req_access = list(160)},/obj/structure/window/reinforced,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "trade"; name = "Shop Shutters"; opacity = 0},/obj/structure/table/marble,/turf/simulated/shuttle/floor/darkred,/area/shuttle/trade/centcom) "ja" = (/obj/machinery/computer/arcade/battle,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "jb" = (/obj/structure/table/steel_reinforced,/obj/machinery/button/remote/blast_door{id = "tradebridgeshutters"; name = "remote shutter control"; pixel_x = 30; req_access = list(150)},/obj/structure/flora/pottedplant{icon_state = "plant-09"; name = "Esteban"; pixel_y = 8},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) -"jc" = (/obj/machinery/vending/assist{contraband = null; name = "Old Vending Machine"; products = list(/obj/item/device/assembly/prox_sensor = 5, /obj/item/device/assembly/signaler = 4, /obj/item/device/assembly/infra = 4, /obj/item/device/assembly/prox_sensor = 4, /obj/item/weapon/handcuffs = 8, /obj/item/device/flash = 4, /obj/item/weapon/cartridge/signal = 4, /obj/item/clothing/glasses/sunglasses = 4)},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) -"jd" = (/obj/structure/closet{name = "custodial"},/obj/item/weapon/reagent_containers/spray/cleaner,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/mop,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) +"jc" = (/obj/machinery/vending/assist{contraband = null; name = "Old Vending Machine"; products = list(/obj/item/assembly/prox_sensor = 5, /obj/item/assembly/signaler = 4, /obj/item/assembly/infra = 4, /obj/item/assembly/prox_sensor = 4, /obj/item/handcuffs = 8, /obj/item/flash = 4, /obj/item/cartridge/signal = 4, /obj/item/clothing/glasses/sunglasses = 4)},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) +"jd" = (/obj/structure/closet{name = "custodial"},/obj/item/reagent_containers/spray/cleaner,/obj/item/reagent_containers/glass/bucket,/obj/item/mop,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "je" = (/obj/machinery/vending/sovietsoda,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) -"jf" = (/obj/machinery/light,/obj/structure/table/standard,/obj/item/weapon/soap,/obj/item/weapon/towel{color = "#0000FF"},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) +"jf" = (/obj/machinery/light,/obj/structure/table/standard,/obj/item/soap,/obj/item/towel{color = "#0000FF"},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "jg" = (/obj/structure/sign/poster{pixel_y = -32},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "jh" = (/obj/machinery/door/airlock/multi_tile/glass{dir = 2; req_access = list(160)},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "ji" = (/obj/machinery/door/window/westleft{name = "Storefront"; req_access = list(160)},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) @@ -480,7 +480,7 @@ "jl" = (/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "tradebridgeshutters"; name = "Blast Shutters"; opacity = 0},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/shuttle/trade/centcom) "jm" = (/obj/machinery/vending/boozeomat{req_access = null},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "jn" = (/obj/structure/table/standard,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) -"jo" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) +"jo" = (/obj/structure/table/standard,/obj/item/storage/toolbox/mechanical,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "jp" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership) "jq" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table/steel_reinforced,/obj/item/poster,/obj/item/poster,/obj/item/poster,/obj/item/poster,/obj/item/poster,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "jr" = (/obj/machinery/door/window/northleft{name = "Cargo Hold"; req_access = list(160)},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) @@ -495,7 +495,7 @@ "jA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "syndieshutters"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_mothership) "jB" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "syndieshutters"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_mothership) "jC" = (/obj/machinery/button/remote/blast_door{id = "tradeportshutters"; name = "remote shutter control"; pixel_x = 30; req_access = list(160)},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) -"jD" = (/obj/structure/table/steel_reinforced,/obj/random/contraband,/obj/random/contraband,/obj/random/contraband,/obj/random/contraband,/obj/random/contraband,/obj/random/contraband,/obj/item/weapon/bikehorn,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) +"jD" = (/obj/structure/table/steel_reinforced,/obj/random/contraband,/obj/random/contraband,/obj/random/contraband,/obj/random/contraband,/obj/random/contraband,/obj/random/contraband,/obj/item/bikehorn,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "jE" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "jF" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "jG" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) @@ -504,16 +504,16 @@ "jJ" = (/obj/machinery/door/airlock/glass_engineering{name = "Engineering"; req_access = list(160)},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "jK" = (/turf/simulated/shuttle/floor/red,/area/syndicate_mothership) "jL" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership) -"jM" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/tree/pine,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership) -"jN" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/grass/brown,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 4},/area/syndicate_mothership) +"jM" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/grass/both,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership) +"jN" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/tree/pine,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership) "jO" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "tradeportshutters"; name = "Blast Shutters"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/shuttle/trade/centcom) -"jP" = (/obj/structure/closet/wardrobe/captain,/obj/item/weapon/gun/projectile/revolver/mateba,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) +"jP" = (/obj/structure/closet/wardrobe/captain,/obj/item/gun/projectile/revolver/mateba,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "jQ" = (/obj/machinery/light{dir = 1},/obj/structure/bookcase,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "jR" = (/obj/structure/bed/chair/comfy/black,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "jS" = (/obj/structure/bed/chair/office/dark,/turf/simulated/floor/carpet,/area/shuttle/trade/centcom) "jT" = (/obj/machinery/photocopier,/turf/simulated/floor/carpet,/area/shuttle/trade/centcom) "jU" = (/obj/structure/table/steel_reinforced,/obj/random/action_figure,/obj/random/action_figure,/obj/random/action_figure,/obj/random/action_figure,/obj/random/action_figure,/obj/random/action_figure,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) -"jV" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/lipstick/black,/obj/item/weapon/lipstick/jade,/obj/item/weapon/lipstick/purple,/obj/item/weapon/lipstick,/obj/item/weapon/lipstick/random,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) +"jV" = (/obj/structure/table/steel_reinforced,/obj/item/lipstick/black,/obj/item/lipstick/jade,/obj/item/lipstick/purple,/obj/item/lipstick,/obj/item/lipstick/random,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "jW" = (/obj/structure/table/steel_reinforced,/obj/item/clothing/accessory/holster/hip,/obj/item/clothing/accessory/holster/armpit,/obj/item/clothing/accessory/holster/armpit,/obj/item/clothing/accessory/holster/hip,/obj/item/clothing/accessory/storage/white_vest,/obj/item/clothing/accessory/storage/white_vest,/obj/item/clothing/accessory/storage/webbing,/obj/item/clothing/accessory/storage/webbing,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/scarf/white,/obj/item/clothing/accessory/scarf/lightblue,/obj/item/clothing/accessory/scarf/red,/obj/item/clothing/accessory/scarf/purple,/obj/item/clothing/accessory/armband/science,/obj/item/clothing/accessory/armband/med,/obj/item/clothing/accessory/armband/engine,/obj/item/clothing/accessory/armband/cargo,/obj/item/clothing/accessory/armband,/obj/item/clothing/accessory/medal/nobel_science,/obj/item/clothing/accessory/medal/silver,/obj/item/clothing/accessory/medal/gold,/obj/item/clothing/accessory/medal/bronze_heart,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "jX" = (/obj/structure/table/steel_reinforced,/obj/item/clothing/under/cheongsam,/obj/item/clothing/under/hosformalmale,/obj/item/clothing/under/hosformalfem,/obj/item/clothing/under/harness,/obj/item/clothing/under/gladiator,/obj/item/clothing/under/ert,/obj/item/clothing/under/schoolgirl,/obj/item/clothing/under/redcoat,/obj/item/clothing/under/sexymime,/obj/item/clothing/under/sexyclown,/obj/item/clothing/under/soviet,/obj/item/clothing/under/space,/obj/item/clothing/under/swimsuit/stripper/mankini,/obj/item/clothing/under/suit_jacket/female,/obj/item/clothing/under/rank/psych/turtleneck,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/under/syndicate/tacticool,/obj/item/clothing/under/syndicate/tacticool,/obj/item/clothing/under/dress/sailordress,/obj/item/clothing/under/dress/redeveninggown,/obj/item/clothing/under/dress/dress_saloon,/obj/item/clothing/under/dress/blacktango,/obj/item/clothing/under/dress/blacktango/alt,/obj/item/clothing/under/dress/dress_orange,/obj/item/clothing/under/dress/maid/janitor,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "jY" = (/obj/structure/table/steel_reinforced,/obj/item/clothing/suit/hgpirate,/obj/item/clothing/suit/imperium_monk,/obj/item/clothing/suit/leathercoat,/obj/item/clothing/suit/justice,/obj/item/clothing/suit/justice,/obj/item/clothing/suit/justice,/obj/item/clothing/suit/justice,/obj/item/clothing/suit/justice,/obj/item/clothing/suit/pirate,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) @@ -528,9 +528,9 @@ "kh" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 4},/area/syndicate_mothership) "ki" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "tradeportshutters"; name = "Blast Shutters"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/shuttle/trade/centcom) "kj" = (/obj/machinery/door/airlock/command{name = "Captain's Quarters"; req_access = list(160)},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) -"kk" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/weapon/pen{pixel_y = 4},/turf/simulated/floor/carpet,/area/shuttle/trade/centcom) +"kk" = (/obj/structure/table/woodentable,/obj/item/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/pen{pixel_y = 4},/turf/simulated/floor/carpet,/area/shuttle/trade/centcom) "kl" = (/obj/structure/table/woodentable,/turf/simulated/floor/carpet,/area/shuttle/trade/centcom) -"km" = (/obj/structure/table/woodentable,/obj/item/device/laptop,/turf/simulated/floor/carpet,/area/shuttle/trade/centcom) +"km" = (/obj/structure/table/woodentable,/obj/item/laptop,/turf/simulated/floor/carpet,/area/shuttle/trade/centcom) "kn" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "tradeportshutters"; name = "Blast Shutters"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/shuttle/trade/centcom) "ko" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "tradeportshutters"; name = "Blast Shutters"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/shuttle/trade/centcom) "kp" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "tradeportshutters"; name = "Blast Shutters"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/shuttle/trade/centcom) @@ -544,9 +544,9 @@ "kx" = (/obj/structure/sign/double/map/left{pixel_y = 32},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "ky" = (/obj/structure/sign/double/map/right{pixel_y = 32},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "kz" = (/obj/structure/table/standard,/obj/machinery/microwave,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"kA" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"kA" = (/obj/structure/table/standard,/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "kB" = (/obj/structure/sink/kitchen{pixel_y = 28},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"kC" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/captain,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) +"kC" = (/obj/structure/bed/padded,/obj/item/bedsheet/captain,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "kD" = (/obj/structure/table/glass,/obj/machinery/computer3/wall_comp/telescreen/entertainment{pixel_y = -35},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "kE" = (/obj/structure/filingcabinet/filingcabinet,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "kF" = (/obj/machinery/light,/turf/simulated/floor/carpet,/area/shuttle/trade/centcom) @@ -556,7 +556,7 @@ "kJ" = (/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_locked"; id_tag = "trade2_shuttle_inner"; locked = 1; name = "Ship Hatch"; req_access = list(13)},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "kK" = (/obj/machinery/vending/engivend,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "kL" = (/obj/machinery/vending/tool,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) -"kM" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/grass/brown,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership) +"kM" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/grass/brown,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 4},/area/syndicate_mothership) "kN" = (/obj/structure/bed/chair/comfy/black,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "kO" = (/obj/machinery/door/airlock/centcom{name = "Kitchen"; opacity = 1; req_access = list(150)},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "kP" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1331; id_tag = "trade2_vent"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1331; id_tag = "trade2_control"; pixel_x = -24; req_access = list(150); tag_airpump = "trade2_vent"; tag_chamber_sensor = "trade2_sensor"; tag_exterior_door = "trade2_shuttle_outer"; tag_interior_door = "trade2_shuttle_inner"},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) @@ -565,12 +565,12 @@ "kS" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 6},/area/syndicate_mothership) "kT" = (/turf/unsimulated/wall/fakeglass,/area/syndicate_mothership) "kU" = (/obj/structure/bed/chair/comfy/black{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"kV" = (/obj/structure/table/standard,/obj/item/weapon/folder,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"kV" = (/obj/structure/table/standard,/obj/item/folder,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "kW" = (/obj/structure/bed/chair/comfy/black{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "kX" = (/obj/structure/closet/crate/freezer,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "kY" = (/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_locked"; id_tag = "trade2_shuttle_outer"; locked = 1; name = "Ship Hatch"; req_access = list(13)},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "kZ" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1331; master_tag = "trade2_control"; pixel_x = 24; req_one_access = list(150)},/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_locked"; id_tag = "trade2_shuttle_outer"; locked = 1; name = "Ship Hatch"; req_access = list(13)},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) -"la" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"la" = (/obj/structure/table/standard,/obj/item/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/pen,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "lb" = (/obj/machinery/door/airlock/external{req_access = list(150)},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "lc" = (/obj/machinery/door/airlock/centcom{name = "Restroom"; opacity = 1; req_access = list(150)},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) "ld" = (/obj/structure/urinal{pixel_y = 32},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) @@ -582,9 +582,9 @@ "lj" = (/obj/machinery/door/airlock/centcom{name = "Barracks"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) "lk" = (/obj/structure/mopbucket,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) "ll" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'FOURTH WALL'."; name = "\improper FOURTH WALL"; pixel_x = -32},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership) -"lm" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/bush,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership) +"lm" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/grass/brown,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership) "ln" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{dir = 1; icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership) -"lo" = (/obj/structure/bed,/obj/item/weapon/bedsheet/red,/turf/simulated/floor/wood,/area/syndicate_mothership) +"lo" = (/obj/structure/bed,/obj/item/bedsheet/red,/turf/simulated/floor/wood,/area/syndicate_mothership) "lp" = (/turf/simulated/floor/wood,/area/syndicate_mothership) "lq" = (/turf/unsimulated/wall/fakeglass{dir = 1; icon_state = "fakewindows"},/area/syndicate_mothership) "lr" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 10},/area/syndicate_mothership) @@ -596,13 +596,13 @@ "lx" = (/turf/simulated/shuttle/wall,/area/syndicate_mothership{name = "\improper Ninja Base"}) "ly" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/syndicate_mothership{name = "\improper Ninja Base"}) "lz" = (/turf/simulated/shuttle/wall{dir = 2; icon_state = "diagonalWall3"},/area/syndicate_mothership{name = "\improper Ninja Base"}) -"lA" = (/obj/item/weapon/paper{info = "Some stuff is missing..."; name = "Insert alien artifacts here."},/turf/unsimulated/floor{icon_state = "dark"},/area/alien) +"lA" = (/obj/item/paper{info = "Some stuff is missing..."; name = "Insert alien artifacts here."},/turf/unsimulated/floor{icon_state = "dark"},/area/alien) "lB" = (/obj/machinery/door/airlock/hatch,/turf/unsimulated/floor{icon_state = "dark"},/area/alien) "lC" = (/obj/structure/table/steel_reinforced,/obj/item/clothing/mask/balaclava/tactical,/obj/item/clothing/mask/balaclava,/turf/simulated/shuttle/floor{icon_state = "floor_red"},/area/syndicate_mothership{name = "\improper Ninja Base"}) "lD" = (/obj/structure/table/steel_reinforced,/obj/structure/mirror,/turf/simulated/shuttle/floor{icon_state = "floor_red"},/area/syndicate_mothership{name = "\improper Ninja Base"}) "lE" = (/obj/structure/undies_wardrobe,/turf/simulated/shuttle/floor{icon_state = "floor_red"},/area/syndicate_mothership{name = "\improper Ninja Base"}) "lF" = (/obj/structure/closet/acloset,/turf/unsimulated/floor{icon_state = "dark"},/area/alien) -"lG" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"},/turf/simulated/shuttle/plating/airless/carry,/area/syndicate_mothership) +"lG" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/bush,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership) "lH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating,/area/syndicate_mothership{name = "\improper Ninja Base"}) "lI" = (/obj/structure/bed/chair{dir = 1},/obj/effect/landmark{name = "ninjastart"},/turf/simulated/shuttle/floor{icon_state = "floor_red"},/area/syndicate_mothership{name = "\improper Ninja Base"}) "lJ" = (/turf/simulated/shuttle/floor{icon_state = "floor_red"},/area/syndicate_mothership{name = "\improper Ninja Base"}) @@ -610,9 +610,9 @@ "lL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating,/area/syndicate_mothership{name = "\improper Ninja Base"}) "lM" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/airless,/area/syndicate_mothership) "lN" = (/obj/structure/bed/alien,/turf/unsimulated/floor{icon_state = "dark"},/area/alien) -"lO" = (/turf/space,/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/plating/airless/carry,/area/syndicate_mothership) -"lP" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"},/turf/simulated/shuttle/plating/airless/carry,/area/syndicate_mothership) -"lQ" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "burst_l"; dir = 8},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/specops/centcom) +"lO" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"},/turf/simulated/shuttle/plating/airless/carry,/area/syndicate_mothership) +"lP" = (/turf/space,/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/plating/airless/carry,/area/syndicate_mothership) +"lQ" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"},/turf/simulated/shuttle/plating/airless/carry,/area/syndicate_mothership) "lR" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating,/area/syndicate_mothership{name = "\improper Ninja Base"}) "lS" = (/obj/machinery/teleport/station,/turf/simulated/shuttle/floor{icon_state = "floor_red"},/area/syndicate_mothership{name = "\improper Ninja Base"}) "lT" = (/obj/machinery/computer/teleporter,/turf/simulated/shuttle/floor{icon_state = "floor_red"},/area/syndicate_mothership{name = "\improper Ninja Base"}) @@ -631,14 +631,14 @@ "mg" = (/obj/machinery/teleport/station,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "mh" = (/obj/machinery/teleport/hub,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "mi" = (/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"mj" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"mk" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/gun/energy/gun/nuclear,/obj/item/weapon/gun/energy/gun/nuclear,/obj/item/weapon/gun/energy/gun/nuclear,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"ml" = (/obj/structure/table/rack,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"mm" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/gun/energy/ionrifle,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"mn" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/rack,/obj/item/weapon/gun/projectile/automatic/wt550,/obj/item/weapon/gun/projectile/automatic/wt550,/obj/item/weapon/gun/projectile/automatic/wt550,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"mj" = (/obj/structure/table/rack,/obj/item/gun/energy/gun,/obj/item/gun/energy/gun,/obj/item/gun/energy/gun,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"mk" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 4},/obj/item/gun/energy/gun/nuclear,/obj/item/gun/energy/gun/nuclear,/obj/item/gun/energy/gun/nuclear,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"ml" = (/obj/structure/table/rack,/obj/item/plastique,/obj/item/plastique,/obj/item/plastique,/obj/item/plastique,/obj/item/plastique,/obj/item/plastique,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"mm" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 4},/obj/item/gun/energy/ionrifle,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"mn" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/rack,/obj/item/gun/projectile/automatic/wt550,/obj/item/gun/projectile/automatic/wt550,/obj/item/gun/projectile/automatic/wt550,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "mo" = (/obj/structure/table/rack,/obj/item/ammo_magazine/m9mmt,/obj/item/ammo_magazine/m9mmt,/obj/item/ammo_magazine/m9mmt,/obj/item/ammo_magazine/m9mmt,/obj/item/ammo_magazine/m9mmt,/obj/item/ammo_magazine/m9mmt,/obj/item/ammo_magazine/m9mmt,/obj/item/ammo_magazine/m9mmt,/obj/item/ammo_magazine/m9mmt,/obj/item/ammo_magazine/m9mmt/rubber,/obj/item/ammo_magazine/m9mmt/rubber,/obj/item/ammo_magazine/m9mmt/rubber,/obj/item/ammo_magazine/m9mmt/rubber,/obj/item/ammo_magazine/m9mmt/rubber,/obj/item/ammo_magazine/m9mmt/rubber,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"mp" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/gun/launcher/grenade,/obj/item/weapon/gun/launcher/grenade,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"mq" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/storage/box/emps{pixel_x = 4; pixel_y = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/storage/box/frags,/obj/item/weapon/storage/box/smokes,/obj/item/weapon/storage/box/smokes,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"mp" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 8},/obj/item/gun/launcher/grenade,/obj/item/gun/launcher/grenade,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"mq" = (/obj/structure/table/rack,/obj/item/storage/box/flashbangs,/obj/item/storage/box/flashbangs,/obj/item/storage/box/emps{pixel_x = 4; pixel_y = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/item/storage/box/frags,/obj/item/storage/box/smokes,/obj/item/storage/box/smokes,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "mr" = (/obj/machinery/vending/security,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "ms" = (/obj/structure/table/rack,/obj/item/rig_module/device/rcd,/obj/item/rig_module/device/rcd,/obj/item/rig_module/device/plasmacutter,/obj/item/rig_module/device/plasmacutter,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "mt" = (/obj/structure/table/rack,/obj/item/rig_module/chem_dispenser/combat,/obj/item/rig_module/chem_dispenser/combat,/obj/item/rig_module/chem_dispenser/injector,/obj/item/rig_module/chem_dispenser/injector,/obj/item/rig_module/device/healthscanner,/obj/item/rig_module/device/healthscanner,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) @@ -647,60 +647,60 @@ "mw" = (/obj/structure/sign/securearea,/turf/simulated/shuttle/wall/dark/hard_corner,/area/centcom/specops) "mx" = (/obj/machinery/door/airlock/centcom,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "my" = (/obj/structure/table/rack,/obj/item/ammo_magazine/m762,/obj/item/ammo_magazine/m762,/obj/item/ammo_magazine/m762,/obj/item/ammo_magazine/m762,/obj/item/ammo_magazine/m762,/obj/item/ammo_magazine/m762,/obj/item/ammo_magazine/m762,/obj/item/ammo_magazine/m762,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"mz" = (/obj/structure/table/rack,/obj/item/weapon/gun/projectile/automatic/z8,/obj/item/weapon/gun/projectile/automatic/z8,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"mA" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/sniperrifle,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"mB" = (/obj/structure/table/rack,/obj/item/ammo_magazine/m9mmp90,/obj/item/ammo_magazine/m9mmp90,/obj/item/ammo_magazine/m9mmp90,/obj/item/ammo_magazine/m9mmp90,/obj/item/weapon/gun/projectile/automatic/p90,/obj/item/weapon/gun/projectile/automatic/p90,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"mC" = (/obj/structure/table/rack,/obj/item/ammo_magazine/m545saw,/obj/item/ammo_magazine/m545saw,/obj/item/ammo_magazine/m545saw,/obj/item/ammo_magazine/m545saw,/obj/item/weapon/gun/projectile/automatic/l6_saw,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"mz" = (/obj/structure/table/rack,/obj/item/gun/projectile/automatic/z8,/obj/item/gun/projectile/automatic/z8,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"mA" = (/obj/structure/table/rack,/obj/item/gun/energy/sniperrifle,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"mB" = (/obj/structure/table/rack,/obj/item/ammo_magazine/m9mmp90,/obj/item/ammo_magazine/m9mmp90,/obj/item/ammo_magazine/m9mmp90,/obj/item/ammo_magazine/m9mmp90,/obj/item/gun/projectile/automatic/p90,/obj/item/gun/projectile/automatic/p90,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"mC" = (/obj/structure/table/rack,/obj/item/ammo_magazine/m545saw,/obj/item/ammo_magazine/m545saw,/obj/item/ammo_magazine/m545saw,/obj/item/ammo_magazine/m545saw,/obj/item/gun/projectile/automatic/l6_saw,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "mD" = (/obj/effect/wingrille_spawn/reinforced/crescent,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) -"mE" = (/obj/structure/closet/crate,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/weapon/storage/box,/obj/item/weapon/storage/box,/obj/item/weapon/storage/box,/obj/item/weapon/storage/box,/obj/item/weapon/storage/box,/obj/item/weapon/storage/box,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"mE" = (/obj/structure/closet/crate,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/storage/box,/obj/item/storage/box,/obj/item/storage/box,/obj/item/storage/box,/obj/item/storage/box,/obj/item/storage/box,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "mF" = (/obj/machinery/autolathe{desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; hacked = 1; name = "Unlocked Autolathe"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"mG" = (/obj/structure/table/reinforced,/obj/item/device/megaphone,/obj/item/weapon/storage/box/trackimp,/obj/item/weapon/storage/box/cdeathalarm_kit,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"mH" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert/command,/obj/item/clothing/head/helmet/ert/command,/obj/item/weapon/storage/backpack/ert/commander,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"mG" = (/obj/structure/table/reinforced,/obj/item/megaphone,/obj/item/storage/box/trackimp,/obj/item/storage/box/cdeathalarm_kit,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"mH" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert/command,/obj/item/clothing/head/helmet/ert/command,/obj/item/storage/backpack/ert/commander,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "mI" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "mJ" = (/obj/structure/grille,/obj/structure/lattice,/turf/space,/area/space) "mK" = (/obj/structure/lattice,/turf/space,/area/space) -"mL" = (/obj/structure/table/reinforced,/obj/item/weapon/cell/device/weapon,/obj/item/weapon/cell/device/weapon,/obj/item/weapon/cell/device/weapon,/obj/item/weapon/cell/device/weapon,/obj/item/weapon/cell/device/weapon,/obj/item/weapon/cell/device/weapon,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"mM" = (/obj/structure/table/reinforced,/obj/item/weapon/tool/crowbar,/obj/item/weapon/tool/screwdriver,/obj/item/weapon/tool/wrench,/obj/item/weapon/tool/crowbar,/obj/item/weapon/tool/screwdriver,/obj/item/weapon/tool/wrench,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"mL" = (/obj/structure/table/reinforced,/obj/item/cell/device/weapon,/obj/item/cell/device/weapon,/obj/item/cell/device/weapon,/obj/item/cell/device/weapon,/obj/item/cell/device/weapon,/obj/item/cell/device/weapon,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"mM" = (/obj/structure/table/reinforced,/obj/item/tool/crowbar,/obj/item/tool/screwdriver,/obj/item/tool/wrench,/obj/item/tool/crowbar,/obj/item/tool/screwdriver,/obj/item/tool/wrench,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "mN" = (/obj/effect/floor_decal/corner/green{dir = 6},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "mO" = (/obj/effect/floor_decal/corner/blue{dir = 9},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"mP" = (/obj/structure/table/reinforced,/obj/item/device/aicard,/obj/item/weapon/pinpointer/advpinpointer,/obj/item/weapon/stamp/centcomm,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"mP" = (/obj/structure/table/reinforced,/obj/item/aicard,/obj/item/pinpointer/advpinpointer,/obj/item/stamp/centcomm,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "mQ" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"mR" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/device/flash,/obj/item/device/flash,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"mS" = (/obj/structure/table/rack,/obj/item/device/lightreplacer,/obj/item/device/lightreplacer,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"mR" = (/obj/structure/table/rack,/obj/item/gun/energy/stunrevolver,/obj/item/gun/energy/stunrevolver,/obj/item/flash,/obj/item/flash,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"mS" = (/obj/structure/table/rack,/obj/item/lightreplacer,/obj/item/lightreplacer,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "mT" = (/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) "mU" = (/obj/machinery/camera/network/ert{c_tag = "Assault Armor North"},/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) -"mV" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; frequency = 1441; listening = 0; name = "Spec Ops Intercom"; pixel_y = 28},/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) -"mW" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/item/weapon/storage/box/shotgunshells,/obj/item/weapon/storage/box/shotgunshells,/obj/item/weapon/storage/box/shotgunammo,/obj/item/weapon/storage/box/shotgunammo,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"mX" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/item/weapon/gun/projectile/shotgun/pump/combat,/obj/item/weapon/gun/projectile/shotgun/pump/combat,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"mY" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/item/weapon/gun/projectile/automatic/z8,/obj/item/weapon/gun/projectile/automatic/z8,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"mV" = (/obj/item/radio/intercom{broadcasting = 1; dir = 1; frequency = 1441; listening = 0; name = "Spec Ops Intercom"; pixel_y = 28},/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) +"mW" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/item/storage/box/shotgunshells,/obj/item/storage/box/shotgunshells,/obj/item/storage/box/shotgunammo,/obj/item/storage/box/shotgunammo,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"mX" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/item/gun/projectile/shotgun/pump/combat,/obj/item/gun/projectile/shotgun/pump/combat,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"mY" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/item/gun/projectile/automatic/z8,/obj/item/gun/projectile/automatic/z8,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "mZ" = (/obj/structure/table/rack,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/item/ammo_magazine/m762,/obj/item/ammo_magazine/m762,/obj/item/ammo_magazine/m762,/obj/item/ammo_magazine/m762,/obj/item/ammo_magazine/m762,/obj/item/ammo_magazine/m762,/obj/item/ammo_magazine/m762,/obj/item/ammo_magazine/m762,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "na" = (/obj/machinery/deployable/barrier,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"nb" = (/obj/structure/table/reinforced,/obj/item/device/pda/ert,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"nb" = (/obj/structure/table/reinforced,/obj/item/pda/ert,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "nc" = (/obj/effect/floor_decal/corner/purple{dir = 9},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "nd" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/specops) "ne" = (/turf/unsimulated/wall{icon = 'icons/misc/title.dmi'; icon_state = "title"},/area) "nf" = (/turf/unsimulated/wall,/area/centcom/specops) "ng" = (/obj/machinery/mech_recharger,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) "nh" = (/obj/mecha/combat/gygax/dark,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) -"ni" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/flashshells,/obj/item/weapon/storage/box/flashshells,/obj/item/weapon/storage/box/stunshells,/obj/item/weapon/storage/box/stunshells,/obj/item/weapon/storage/box/beanbags,/obj/item/weapon/storage/box/beanbags,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"nj" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/handcuffs{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/handcuffs,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"nk" = (/obj/structure/table/reinforced,/obj/item/weapon/material/knife/tacknife/combatknife,/obj/item/weapon/material/knife/tacknife/combatknife,/obj/item/weapon/material/knife/tacknife/combatknife,/obj/item/weapon/material/knife/tacknife/combatknife,/obj/item/weapon/material/knife/tacknife/combatknife,/obj/item/weapon/material/knife/tacknife/combatknife,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/baton/loaded,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"nl" = (/obj/structure/table/reinforced,/obj/item/weapon/tool/wrench,/obj/item/weapon/storage/box,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"ni" = (/obj/structure/table/reinforced,/obj/item/storage/box/flashshells,/obj/item/storage/box/flashshells,/obj/item/storage/box/stunshells,/obj/item/storage/box/stunshells,/obj/item/storage/box/beanbags,/obj/item/storage/box/beanbags,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"nj" = (/obj/structure/table/reinforced,/obj/item/storage/box/handcuffs{pixel_x = 3; pixel_y = 3},/obj/item/storage/box/handcuffs,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"nk" = (/obj/structure/table/reinforced,/obj/item/material/knife/tacknife/combatknife,/obj/item/material/knife/tacknife/combatknife,/obj/item/material/knife/tacknife/combatknife,/obj/item/material/knife/tacknife/combatknife,/obj/item/material/knife/tacknife/combatknife,/obj/item/material/knife/tacknife/combatknife,/obj/item/melee/baton/loaded,/obj/item/melee/baton/loaded,/obj/item/melee/baton/loaded,/obj/item/melee/baton/loaded,/obj/item/melee/baton/loaded,/obj/item/melee/baton/loaded,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"nl" = (/obj/structure/table/reinforced,/obj/item/tool/wrench,/obj/item/storage/box,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "nm" = (/obj/structure/table/rack,/obj/item/rig_module/device/drill,/obj/item/rig_module/device/drill,/obj/item/rig_module/maneuvering_jets,/obj/item/rig_module/maneuvering_jets,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "nn" = (/obj/structure/table/rack,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/mounted/taser,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "no" = (/obj/structure/table/rack,/obj/item/rig_module/grenade_launcher,/obj/item/rig_module/grenade_launcher,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"np" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/handcuffs,/obj/item/device/flash,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/storage/belt/security/tactical,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/clothing/glasses/sunglasses/sechud/tactical,/obj/item/weapon/material/knife/tacknife/combatknife,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"nq" = (/obj/structure/table/rack,/obj/item/weapon/rig/ert,/obj/item/clothing/accessory/storage/black_vest,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"nr" = (/obj/structure/table/reinforced,/obj/item/weapon/gun/energy/gun/nuclear,/obj/item/weapon/hand_tele,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"ns" = (/obj/structure/table/rack,/obj/item/weapon/storage/backpack/security,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/shoes/galoshes,/obj/item/clothing/head/bio_hood/janitor,/obj/item/clothing/suit/bio_suit/janitor,/obj/item/clothing/gloves/purple,/obj/item/clothing/glasses/science,/obj/item/weapon/storage/backpack/security,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/shoes/galoshes,/obj/item/clothing/head/bio_hood/janitor,/obj/item/clothing/suit/bio_suit/janitor,/obj/item/clothing/gloves/purple,/obj/item/clothing/glasses/science,/obj/item/weapon/reagent_containers/spray/cleaner{pixel_x = 6; pixel_y = 3},/obj/item/weapon/reagent_containers/spray/cleaner{pixel_x = 6; pixel_y = 3},/obj/item/weapon/reagent_containers/spray/plantbgone,/obj/item/weapon/reagent_containers/spray/plantbgone,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"nt" = (/obj/item/weapon/mop,/obj/structure/mopbucket,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"nu" = (/obj/structure/reagent_dispensers/watertank,/obj/item/weapon/reagent_containers/glass/bucket{amount_per_transfer_from_this = 50},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"np" = (/obj/structure/table/reinforced,/obj/item/storage/box/flashbangs,/obj/item/handcuffs,/obj/item/flash,/obj/item/melee/baton/loaded,/obj/item/storage/belt/security/tactical,/obj/item/gun/energy/stunrevolver,/obj/item/clothing/glasses/sunglasses/sechud/tactical,/obj/item/material/knife/tacknife/combatknife,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"nq" = (/obj/structure/table/rack,/obj/item/rig/ert,/obj/item/clothing/accessory/storage/black_vest,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"nr" = (/obj/structure/table/reinforced,/obj/item/gun/energy/gun/nuclear,/obj/item/hand_tele,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"ns" = (/obj/structure/table/rack,/obj/item/storage/backpack/security,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/shoes/galoshes,/obj/item/clothing/head/bio_hood/janitor,/obj/item/clothing/suit/bio_suit/janitor,/obj/item/clothing/gloves/purple,/obj/item/clothing/glasses/science,/obj/item/storage/backpack/security,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/shoes/galoshes,/obj/item/clothing/head/bio_hood/janitor,/obj/item/clothing/suit/bio_suit/janitor,/obj/item/clothing/gloves/purple,/obj/item/clothing/glasses/science,/obj/item/reagent_containers/spray/cleaner{pixel_x = 6; pixel_y = 3},/obj/item/reagent_containers/spray/cleaner{pixel_x = 6; pixel_y = 3},/obj/item/reagent_containers/spray/plantbgone,/obj/item/reagent_containers/spray/plantbgone,/obj/item/storage/box/lights/mixed,/obj/item/storage/box/lights/mixed,/obj/item/grenade/chem_grenade/cleaner,/obj/item/grenade/chem_grenade/cleaner,/obj/item/grenade/chem_grenade/cleaner,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"nt" = (/obj/item/mop,/obj/structure/mopbucket,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"nu" = (/obj/structure/reagent_dispensers/watertank,/obj/item/reagent_containers/glass/bucket{amount_per_transfer_from_this = 50},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "nv" = (/obj/structure/lattice,/obj/structure/grille,/turf/space,/area/space) "nw" = (/obj/effect/landmark{name = "Marauder Exit"},/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) "nx" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "ASSAULT3"; name = "Launch Bay #3"; p_open = 0},/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) "ny" = (/obj/machinery/mass_driver{dir = 8; id = "ASSAULT3"; name = "gravpult"},/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) "nz" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/weapon/energy/ion,/obj/item/mecha_parts/mecha_equipment/weapon/energy/taser,/obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster,/obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) -"nA" = (/obj/structure/table/rack,/obj/item/taperoll/police,/obj/item/taperoll/police,/obj/item/taperoll/police,/obj/item/taperoll/police,/obj/item/taperoll/police,/obj/item/taperoll/police,/obj/item/device/flash,/obj/item/device/flash,/obj/item/device/flash,/obj/item/device/flash,/obj/item/device/flash,/obj/item/device/flash,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"nA" = (/obj/structure/table/rack,/obj/item/taperoll/police,/obj/item/taperoll/police,/obj/item/taperoll/police,/obj/item/taperoll/police,/obj/item/taperoll/police,/obj/item/taperoll/police,/obj/item/flash,/obj/item/flash,/obj/item/flash,/obj/item/flash,/obj/item/flash,/obj/item/flash,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "nB" = (/obj/structure/curtain/open/shower,/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = 0},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/specops) "nC" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/specops) "nD" = (/obj/machinery/shower{icon_state = "shower"; dir = 8},/obj/structure/curtain/open/shower,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/specops) @@ -711,58 +711,58 @@ "nI" = (/obj/structure/table/rack,/obj/item/clothing/accessory/holster/hip,/obj/item/clothing/accessory/holster/hip,/obj/item/clothing/accessory/holster/hip,/obj/item/clothing/accessory/holster/hip,/obj/item/clothing/accessory/holster/hip,/obj/item/clothing/accessory/holster/hip,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "nJ" = (/obj/structure/table/rack,/obj/item/clothing/accessory/holster/armpit,/obj/item/clothing/accessory/holster/armpit,/obj/item/clothing/accessory/holster/armpit,/obj/item/clothing/accessory/holster/armpit,/obj/item/clothing/accessory/holster/armpit,/obj/item/clothing/accessory/holster/armpit,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "nK" = (/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = 32},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"nL" = (/obj/structure/table/reinforced,/obj/item/weapon/tool/crowbar,/obj/item/weapon/tool/screwdriver,/obj/item/weapon/tool/wrench,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"nL" = (/obj/structure/table/reinforced,/obj/item/tool/crowbar,/obj/item/tool/screwdriver,/obj/item/tool/wrench,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "nM" = (/obj/machinery/porta_turret{anchored = 0; check_records = 0; enabled = 0; req_one_access = list(103); use_power = 0},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "nN" = (/obj/machinery/vending/snack{name = "hacked Getmore Chocolate Corp"; prices = list()},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "nO" = (/obj/structure/closet/wardrobe/ert,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "nP" = (/obj/structure/undies_wardrobe,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "nQ" = (/obj/structure/urinal{pixel_y = 32},/obj/structure/window/reinforced/tinted{dir = 4; icon_state = "twindow"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/specops) "nR" = (/obj/structure/urinal{pixel_y = 32},/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/specops) -"nS" = (/obj/item/weapon/bikehorn/rubberducky,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/specops) -"nT" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp{pixel_x = 4; pixel_y = 8},/obj/item/clothing/glasses/sunglasses/prescription,/obj/item/clothing/glasses/sunglasses/prescription,/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_mothership) -"nU" = (/obj/structure/table/standard,/obj/item/device/radio/headset/syndicate/alt,/obj/item/device/radio/headset/syndicate/alt,/obj/item/device/radio/headset/syndicate/alt,/obj/item/device/radio/headset/syndicate/alt,/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_mothership) -"nV" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/weapon/pen{pixel_y = 4},/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_mothership) +"nS" = (/obj/item/bikehorn/rubberducky,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/specops) +"nT" = (/obj/structure/table/standard,/obj/item/flashlight/lamp{pixel_x = 4; pixel_y = 8},/obj/item/clothing/glasses/sunglasses/prescription,/obj/item/clothing/glasses/sunglasses/prescription,/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_mothership) +"nU" = (/obj/structure/table/standard,/obj/item/radio/headset/syndicate/alt,/obj/item/radio/headset/syndicate/alt,/obj/item/radio/headset/syndicate/alt,/obj/item/radio/headset/syndicate/alt,/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_mothership) +"nV" = (/obj/structure/table/standard,/obj/item/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/pen{pixel_y = 4},/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_mothership) "nW" = (/obj/mecha/medical/odysseus/loaded,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) "nX" = (/obj/machinery/recharge_station,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) "nY" = (/obj/structure/table/rack,/obj/item/ammo_casing/rocket,/obj/item/ammo_casing/rocket,/obj/item/ammo_casing/rocket,/obj/item/ammo_casing/rocket,/obj/item/ammo_casing/rocket,/obj/item/ammo_casing/rocket,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"nZ" = (/obj/structure/table/rack,/obj/item/weapon/gun/launcher/rocket,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"oa" = (/obj/structure/table/rack,/obj/item/weapon/rig/ert/assetprotection,/obj/item/weapon/rig/ert/assetprotection,/obj/item/weapon/rig/ert/assetprotection,/obj/item/weapon/rig/ert/assetprotection,/obj/item/weapon/rig/ert/assetprotection,/obj/item/weapon/rig/ert/assetprotection,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"ob" = (/obj/structure/table/rack,/obj/item/weapon/melee/energy/sword/blue,/obj/item/weapon/melee/energy/sword/blue,/obj/item/weapon/melee/energy/sword/blue,/obj/item/weapon/melee/energy/sword/blue,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"oc" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/xray,/obj/item/weapon/gun/energy/xray,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"od" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/laser,/obj/item/weapon/gun/energy/laser,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"nZ" = (/obj/structure/table/rack,/obj/item/gun/launcher/rocket,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"oa" = (/obj/structure/table/rack,/obj/item/rig/ert/assetprotection,/obj/item/rig/ert/assetprotection,/obj/item/rig/ert/assetprotection,/obj/item/rig/ert/assetprotection,/obj/item/rig/ert/assetprotection,/obj/item/rig/ert/assetprotection,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"ob" = (/obj/structure/table/rack,/obj/item/melee/energy/sword/blue,/obj/item/melee/energy/sword/blue,/obj/item/melee/energy/sword/blue,/obj/item/melee/energy/sword/blue,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"oc" = (/obj/structure/table/rack,/obj/item/gun/energy/xray,/obj/item/gun/energy/xray,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"od" = (/obj/structure/table/rack,/obj/item/gun/energy/laser,/obj/item/gun/energy/laser,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "oe" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/item/ammo_magazine/m45/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/item/ammo_magazine/m45/flash,/obj/item/ammo_magazine/m45/flash,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"of" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/item/weapon/gun/projectile/sec,/obj/item/weapon/gun/projectile/sec,/obj/item/weapon/gun/projectile/sec,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"og" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/belt/security/tactical,/obj/item/weapon/storage/belt/security/tactical,/obj/item/weapon/storage/belt/security/tactical,/obj/item/weapon/storage/belt/security/tactical,/obj/item/weapon/storage/belt/security/tactical,/obj/item/weapon/storage/belt/security/tactical,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"of" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/item/gun/projectile/sec,/obj/item/gun/projectile/sec,/obj/item/gun/projectile/sec,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"og" = (/obj/structure/table/reinforced,/obj/item/storage/belt/security/tactical,/obj/item/storage/belt/security/tactical,/obj/item/storage/belt/security/tactical,/obj/item/storage/belt/security/tactical,/obj/item/storage/belt/security/tactical,/obj/item/storage/belt/security/tactical,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "oh" = (/obj/structure/table/reinforced,/obj/item/clothing/glasses/sunglasses/sechud/tactical,/obj/item/clothing/glasses/sunglasses/sechud/tactical,/obj/item/clothing/glasses/sunglasses/sechud/tactical,/obj/item/clothing/glasses/sunglasses/sechud/tactical,/obj/item/clothing/glasses/sunglasses/sechud/tactical,/obj/item/clothing/glasses/sunglasses/sechud/tactical,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"oi" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/weapon/storage/backpack/ert/security,/obj/item/weapon/storage/backpack/ert/security,/obj/item/weapon/storage/backpack/ert/security,/obj/item/weapon/storage/backpack/ert/security,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"oj" = (/obj/structure/table/rack,/obj/item/weapon/rig/ert/security,/obj/item/weapon/rig/ert/security,/obj/item/weapon/rig/ert/security,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"oi" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/storage/backpack/ert/security,/obj/item/storage/backpack/ert/security,/obj/item/storage/backpack/ert/security,/obj/item/storage/backpack/ert/security,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"oj" = (/obj/structure/table/rack,/obj/item/rig/ert/security,/obj/item/rig/ert/security,/obj/item/rig/ert/security,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "ok" = (/obj/structure/table/rack,/obj/item/rig_module/mounted,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"ol" = (/obj/structure/table/reinforced,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"ol" = (/obj/structure/table/reinforced,/obj/item/megaphone,/obj/item/megaphone,/obj/item/megaphone,/obj/item/megaphone,/obj/item/megaphone,/obj/item/megaphone,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "om" = (/obj/effect/landmark{name = "Response Team"},/obj/effect/landmark{name = "Commando"},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) "on" = (/obj/structure/curtain/open/shower,/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = 0},/obj/structure/window/reinforced/tinted,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/specops) "oo" = (/obj/machinery/shower{icon_state = "shower"; dir = 8},/obj/structure/curtain/open/shower,/obj/structure/window/reinforced/tinted,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/specops) -"op" = (/obj/item/weapon/bedsheet/hos,/obj/structure/bed/padded,/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_mothership) +"op" = (/obj/item/bedsheet/hos,/obj/structure/bed/padded,/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_mothership) "oq" = (/obj/effect/landmark{name = "Syndicate-Spawn"},/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_mothership) "or" = (/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_mothership) "os" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "ASSAULT2"; name = "Launch Bay #2"; p_open = 0},/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) "ot" = (/obj/machinery/mass_driver{dir = 8; id = "ASSAULT2"; name = "gravpult"},/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) "ou" = (/obj/effect/floor_decal/corner/red{dir = 10},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"ov" = (/obj/structure/table/reinforced,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"ow" = (/obj/item/weapon/stool/padded,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"ov" = (/obj/structure/table/reinforced,/obj/item/pda/ert,/obj/item/pda/ert,/obj/item/pda/ert,/obj/item/pda/ert,/obj/item/pda/ert,/obj/item/pda/ert,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"ow" = (/obj/item/stool/padded,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "ox" = (/obj/machinery/door/airlock,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/specops) "oy" = (/obj/mecha/working/ripley/firefighter,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) "oz" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/door/airlock/centcom{name = "Special Operations"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "oA" = (/obj/structure/sign/securearea{name = "\improper ARMORY"; pixel_y = 32},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"oB" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; frequency = 1441; listening = 0; name = "Spec Ops Intercom"; pixel_y = 28},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"oB" = (/obj/item/radio/intercom{broadcasting = 1; dir = 1; frequency = 1441; listening = 0; name = "Spec Ops Intercom"; pixel_y = 28},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "oC" = (/obj/structure/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"oD" = (/obj/structure/table/reinforced,/obj/item/weapon/tool/crowbar,/obj/item/weapon/tool/screwdriver,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"oE" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/donut,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"oD" = (/obj/structure/table/reinforced,/obj/item/tool/crowbar,/obj/item/tool/screwdriver,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"oE" = (/obj/structure/table/reinforced,/obj/item/storage/box/donut,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "oF" = (/obj/structure/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "oG" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "ASSAULT1"; name = "Launch Bay #1"; p_open = 0},/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) "oH" = (/obj/machinery/mass_driver{dir = 8; id = "ASSAULT1"; name = "gravpult"},/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) "oI" = (/obj/structure/sign/securearea{name = "ENGINEERING ACCESS"; pixel_y = -32},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "oJ" = (/obj/structure/sign/redcross{pixel_y = -32},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"oK" = (/obj/structure/table/reinforced,/obj/item/weapon/stamp/centcomm,/obj/item/weapon/pen,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"oK" = (/obj/structure/table/reinforced,/obj/item/stamp/centcomm,/obj/item/pen,/obj/item/paper_bin{pixel_x = 1; pixel_y = 9},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "oL" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{pixel_x = -28},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/specops) "oM" = (/obj/machinery/door/airlock{name = "Unit 1"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/specops) "oN" = (/obj/machinery/door/airlock{name = "Unit 2"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/specops) @@ -772,47 +772,47 @@ "oR" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/centcom/specops) "oS" = (/obj/effect/floor_decal/corner/white{dir = 5},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "oT" = (/obj/structure/table/reinforced,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"oU" = (/obj/structure/table/reinforced,/obj/item/weapon/tool/crowbar,/obj/item/weapon/tool/crowbar,/obj/item/weapon/tool/crowbar,/obj/item/weapon/tool/crowbar,/obj/item/weapon/tool/crowbar,/obj/item/weapon/tool/crowbar,/obj/item/device/radio/off,/obj/item/device/radio/off,/obj/item/device/radio/off,/obj/item/device/radio/off,/obj/item/device/radio/off,/obj/item/device/radio/off,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/device/flashlight,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"oV" = (/obj/structure/table/reinforced,/obj/item/device/paicard,/obj/item/device/paicard,/obj/item/device/paicard,/obj/item/device/paicard,/obj/item/device/paicard,/obj/item/device/paicard,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"oU" = (/obj/structure/table/reinforced,/obj/item/tool/crowbar,/obj/item/tool/crowbar,/obj/item/tool/crowbar,/obj/item/tool/crowbar,/obj/item/tool/crowbar,/obj/item/tool/crowbar,/obj/item/radio/off,/obj/item/radio/off,/obj/item/radio/off,/obj/item/radio/off,/obj/item/radio/off,/obj/item/radio/off,/obj/item/flashlight,/obj/item/flashlight,/obj/item/flashlight,/obj/item/flashlight,/obj/item/flashlight,/obj/item/flashlight,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"oV" = (/obj/structure/table/reinforced,/obj/item/paicard,/obj/item/paicard,/obj/item/paicard,/obj/item/paicard,/obj/item/paicard,/obj/item/paicard,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "oW" = (/obj/machinery/cell_charger,/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"oX" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; prices = list(); products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2)},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"oX" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; prices = list(); products = list(/obj/item/storage/fancy/cigarettes = 10, /obj/item/storage/box/matches = 10, /obj/item/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2)},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "oY" = (/obj/machinery/vending/cola{name = "hacked Robust Softdrinks"; prices = list()},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "oZ" = (/obj/structure/toilet{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/specops) "pa" = (/obj/structure/undies_wardrobe,/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_mothership) -"pb" = (/obj/structure/table/standard,/obj/item/device/pda/syndicate,/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_mothership) +"pb" = (/obj/structure/table/standard,/obj/item/pda/syndicate,/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_mothership) "pc" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "ASSAULT0"; name = "Launch Bay #0"; p_open = 0},/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) "pd" = (/obj/machinery/mass_driver{dir = 8; id = "ASSAULT0"; name = "gravpult"},/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) "pe" = (/obj/item/mecha_parts/mecha_equipment/teleporter,/obj/item/mecha_parts/mecha_tracking,/obj/item/mecha_parts/mecha_tracking,/obj/item/mecha_parts/mecha_tracking,/obj/item/mecha_parts/mecha_tracking,/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) "pf" = (/obj/machinery/vending/assist,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"pg" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert/engineer,/obj/item/clothing/suit/armor/vest/ert/engineer,/obj/item/clothing/suit/armor/vest/ert/engineer,/obj/item/clothing/suit/armor/vest/ert/engineer,/obj/item/clothing/head/helmet/ert/engineer,/obj/item/clothing/head/helmet/ert/engineer,/obj/item/clothing/head/helmet/ert/engineer,/obj/item/clothing/head/helmet/ert/engineer,/obj/item/weapon/storage/backpack/ert/engineer,/obj/item/weapon/storage/backpack/ert/engineer,/obj/item/weapon/storage/backpack/ert/engineer,/obj/item/weapon/storage/backpack/ert/engineer,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"ph" = (/obj/structure/table/rack,/obj/item/weapon/rig/ert/engineer,/obj/item/weapon/rig/ert/engineer,/obj/item/weapon/rig/ert/engineer,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"pg" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert/engineer,/obj/item/clothing/suit/armor/vest/ert/engineer,/obj/item/clothing/suit/armor/vest/ert/engineer,/obj/item/clothing/suit/armor/vest/ert/engineer,/obj/item/clothing/head/helmet/ert/engineer,/obj/item/clothing/head/helmet/ert/engineer,/obj/item/clothing/head/helmet/ert/engineer,/obj/item/clothing/head/helmet/ert/engineer,/obj/item/storage/backpack/ert/engineer,/obj/item/storage/backpack/ert/engineer,/obj/item/storage/backpack/ert/engineer,/obj/item/storage/backpack/ert/engineer,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"ph" = (/obj/structure/table/rack,/obj/item/rig/ert/engineer,/obj/item/rig/ert/engineer,/obj/item/rig/ert/engineer,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "pi" = (/obj/structure/closet/crate/medical,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"pj" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"pk" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"pl" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/autoinjectors,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/storage/box/gloves,/obj/item/weapon/storage/box/pillbottles,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/weapon/reagent_containers/glass/beaker/large,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"pm" = (/obj/machinery/chemical_dispenser/ert,/obj/item/weapon/reagent_containers/glass/beaker/large,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"pj" = (/obj/structure/table/reinforced,/obj/item/reagent_containers/hypospray,/obj/item/reagent_containers/hypospray,/obj/item/reagent_containers/hypospray,/obj/item/reagent_containers/hypospray,/obj/item/reagent_containers/hypospray,/obj/item/reagent_containers/hypospray,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"pk" = (/obj/structure/table/reinforced,/obj/item/reagent_containers/glass/bottle/inaprovaline,/obj/item/reagent_containers/glass/bottle/inaprovaline,/obj/item/reagent_containers/glass/bottle/inaprovaline,/obj/item/reagent_containers/glass/bottle/inaprovaline,/obj/item/reagent_containers/glass/bottle/inaprovaline,/obj/item/reagent_containers/glass/bottle/inaprovaline,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"pl" = (/obj/structure/table/reinforced,/obj/item/storage/box/autoinjectors,/obj/item/storage/box/beakers,/obj/item/storage/box/gloves,/obj/item/storage/box/pillbottles,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/reagent_containers/glass/beaker/large,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"pm" = (/obj/machinery/chemical_dispenser/ert,/obj/item/reagent_containers/glass/beaker/large,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "pn" = (/obj/machinery/chem_master,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"po" = (/obj/structure/table/rack,/obj/item/weapon/rig/ert/medical,/obj/item/weapon/rig/ert/medical,/obj/item/weapon/rig/ert/medical,/obj/item/clothing/accessory/storage/white_vest,/obj/item/clothing/accessory/storage/white_vest,/obj/item/clothing/accessory/storage/white_vest,/obj/item/clothing/accessory/storage/white_vest,/obj/item/clothing/accessory/storage/white_vest,/obj/item/clothing/accessory/storage/white_vest,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"po" = (/obj/structure/table/rack,/obj/item/rig/ert/medical,/obj/item/rig/ert/medical,/obj/item/rig/ert/medical,/obj/item/clothing/accessory/storage/white_vest,/obj/item/clothing/accessory/storage/white_vest,/obj/item/clothing/accessory/storage/white_vest,/obj/item/clothing/accessory/storage/white_vest,/obj/item/clothing/accessory/storage/white_vest,/obj/item/clothing/accessory/storage/white_vest,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "pp" = (/obj/structure/table/reinforced,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/effect/floor_decal/industrial/outline/blue,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"pq" = (/obj/structure/table/reinforced,/obj/item/weapon/cell/high,/obj/item/weapon/cell/high,/obj/item/weapon/cell/high,/obj/item/weapon/cell/high,/obj/item/weapon/cell/high,/obj/item/weapon/cell/high,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"pq" = (/obj/structure/table/reinforced,/obj/item/cell/high,/obj/item/cell/high,/obj/item/cell/high,/obj/item/cell/high,/obj/item/cell/high,/obj/item/cell/high,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "pr" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/syndicate_mothership) "ps" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/syndicate_mothership) "pt" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/syndicate_mothership) "pu" = (/obj/machinery/door/airlock/centcom{name = "Barracks"; opacity = 1; req_access = list(150)},/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_mothership) "pv" = (/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/obj/item/mecha_parts/mecha_equipment/repair_droid,/obj/item/mecha_parts/mecha_equipment/repair_droid,/obj/item/mecha_parts/mecha_equipment/repair_droid,/obj/item/mecha_parts/mecha_equipment/repair_droid,/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) "pw" = (/obj/machinery/vending/tool,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"px" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/device/flash,/obj/item/device/flash,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"py" = (/obj/item/weapon/stool/padded,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"pz" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert/medical,/obj/item/clothing/suit/armor/vest/ert/medical,/obj/item/clothing/suit/armor/vest/ert/medical,/obj/item/clothing/suit/armor/vest/ert/medical,/obj/item/clothing/head/helmet/ert/medical,/obj/item/clothing/head/helmet/ert/medical,/obj/item/clothing/head/helmet/ert/medical,/obj/item/clothing/head/helmet/ert/medical,/obj/item/weapon/storage/backpack/ert/medical,/obj/item/weapon/storage/backpack/ert/medical,/obj/item/weapon/storage/backpack/ert/medical,/obj/item/weapon/storage/backpack/ert/medical,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"px" = (/obj/structure/table/rack,/obj/item/gun/energy/stunrevolver,/obj/item/gun/energy/stunrevolver,/obj/item/flash,/obj/item/flash,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"py" = (/obj/item/stool/padded,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"pz" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert/medical,/obj/item/clothing/suit/armor/vest/ert/medical,/obj/item/clothing/suit/armor/vest/ert/medical,/obj/item/clothing/suit/armor/vest/ert/medical,/obj/item/clothing/head/helmet/ert/medical,/obj/item/clothing/head/helmet/ert/medical,/obj/item/clothing/head/helmet/ert/medical,/obj/item/clothing/head/helmet/ert/medical,/obj/item/storage/backpack/ert/medical,/obj/item/storage/backpack/ert/medical,/obj/item/storage/backpack/ert/medical,/obj/item/storage/backpack/ert/medical,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "pA" = (/obj/structure/table/rack,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/effect/floor_decal/industrial/outline/blue,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"pB" = (/obj/structure/table/rack,/obj/item/weapon/tank/emergency/oxygen/double,/obj/item/weapon/tank/emergency/oxygen/double,/obj/item/weapon/tank/emergency/oxygen/double,/obj/item/weapon/tank/emergency/oxygen/double,/obj/item/weapon/tank/emergency/oxygen/double,/obj/item/weapon/tank/emergency/oxygen/double,/obj/item/weapon/tank/emergency/oxygen/double,/obj/item/weapon/tank/emergency/oxygen/double,/obj/effect/floor_decal/industrial/outline/blue,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"pB" = (/obj/structure/table/rack,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/effect/floor_decal/industrial/outline/blue,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "pC" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/effect/floor_decal/industrial/outline/blue,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "pD" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "specops_centcom_dock"; name = "docking port controller"; pixel_x = 0; pixel_y = -25; req_one_access = list(103); tag_door = "specops_centcom_dock_door"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "pE" = (/obj/structure/closet/secure_closet/bar{req_access = list(25)},/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/obj/effect/floor_decal/corner/red/diagonal,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/specops) "pF" = (/obj/structure/reagent_dispensers/beerkeg,/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/obj/effect/floor_decal/corner/red/diagonal,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/specops) "pG" = (/obj/machinery/vending/boozeomat,/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/obj/effect/floor_decal/corner/red/diagonal,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/specops) "pH" = (/obj/structure/table/marble,/obj/machinery/chemical_dispenser/bar_soft/full,/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/obj/effect/floor_decal/corner/red/diagonal,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/specops) -"pI" = (/obj/structure/table/marble,/obj/item/weapon/storage/box/glasses/square,/obj/item/weapon/storage/box/glasses/square,/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/obj/effect/floor_decal/corner/red/diagonal,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/specops) +"pI" = (/obj/structure/table/marble,/obj/item/storage/box/glasses/square,/obj/item/storage/box/glasses/square,/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/obj/effect/floor_decal/corner/red/diagonal,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/specops) "pJ" = (/obj/structure/kitchenspike,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/specops) "pK" = (/obj/machinery/gibber,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/specops) "pL" = (/turf/simulated/shuttle/wall/dark,/area/syndicate_station/start) @@ -825,7 +825,7 @@ "pS" = (/obj/structure/sign/double/map/left{pixel_y = 32},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership) "pT" = (/obj/machinery/vending/snack{name = "hacked Getmore Chocolate Corp"; prices = list()},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership) "pU" = (/obj/structure/table/standard,/obj/machinery/chemical_dispenser/bar_soft/full,/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) -"pV" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/glasses/square{pixel_x = 1; pixel_y = 4},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) +"pV" = (/obj/structure/table/standard,/obj/item/storage/box/glasses/square{pixel_x = 1; pixel_y = 4},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) "pW" = (/obj/structure/sink/kitchen{pixel_y = 28},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) "pX" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) "pY" = (/obj/effect/landmark{name = "Nuclear-Code"},/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/syndicate_mothership) @@ -833,11 +833,11 @@ "qa" = (/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/syndicate_mothership) "qb" = (/obj/machinery/camera/network/ert{c_tag = "Assault Armor South"; dir = 1},/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) "qc" = (/obj/item/mecha_parts/mecha_equipment/tool/drill/diamonddrill,/obj/item/mecha_parts/mecha_equipment/tool/cable_layer,/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) -"qd" = (/obj/item/mecha_parts/mecha_equipment/tool/extinguisher,/obj/item/mecha_parts/mecha_equipment/tool/rcd,/obj/item/weapon/pickaxe/diamonddrill,/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) +"qd" = (/obj/item/mecha_parts/mecha_equipment/tool/extinguisher,/obj/item/mecha_parts/mecha_equipment/tool/rcd,/obj/item/pickaxe/diamonddrill,/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) "qe" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp,/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp,/obj/item/mecha_parts/mecha_equipment/tool/passenger,/obj/item/mecha_parts/mecha_equipment/tool/passenger,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) "qf" = (/obj/machinery/vending/engivend,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"qg" = (/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/steel{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/material/steel{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/material/steel{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/material/steel{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"qh" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/storage/box,/obj/item/weapon/storage/box,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"qg" = (/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/steel{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/material/steel{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/material/steel{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/material/steel{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"qh" = (/obj/structure/table/steel_reinforced,/obj/item/storage/box,/obj/item/storage/box,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "qi" = (/obj/machinery/pipedispenser/orderable,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "qj" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "specops_centcom_dock_door"; locked = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "qk" = (/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/obj/effect/floor_decal/corner/red/diagonal,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/specops) @@ -853,36 +853,36 @@ "qu" = (/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) "qv" = (/obj/structure/table/reinforced,/obj/machinery/microwave{pixel_x = -1; pixel_y = 8},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) "qw" = (/obj/machinery/vending/engineering,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"qx" = (/obj/item/weapon/circuitboard/aiupload,/obj/item/weapon/circuitboard/borgupload,/obj/item/weapon/circuitboard/smes,/obj/item/weapon/aiModule/nanotrasen,/obj/item/weapon/aiModule/reset,/obj/item/weapon/aiModule/freeformcore,/obj/item/weapon/aiModule/protectStation,/obj/item/weapon/aiModule/quarantine,/obj/item/weapon/aiModule/paladin,/obj/item/weapon/aiModule/robocop,/obj/item/weapon/aiModule/safeguard,/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"qy" = (/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/obj/structure/table/steel_reinforced,/obj/item/clothing/glasses/welding/superior,/obj/item/weapon/grenade/chem_grenade/metalfoam,/obj/item/weapon/grenade/chem_grenade/metalfoam,/obj/item/weapon/grenade/chem_grenade/metalfoam,/obj/item/weapon/grenade/chem_grenade/metalfoam,/obj/item/weapon/grenade/chem_grenade/metalfoam,/obj/item/weapon/grenade/chem_grenade/metalfoam,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"qx" = (/obj/item/circuitboard/aiupload,/obj/item/circuitboard/borgupload,/obj/item/circuitboard/smes,/obj/item/aiModule/nanotrasen,/obj/item/aiModule/reset,/obj/item/aiModule/freeformcore,/obj/item/aiModule/protectStation,/obj/item/aiModule/quarantine,/obj/item/aiModule/paladin,/obj/item/aiModule/robocop,/obj/item/aiModule/safeguard,/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"qy" = (/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/obj/structure/table/steel_reinforced,/obj/item/clothing/glasses/welding/superior,/obj/item/grenade/chem_grenade/metalfoam,/obj/item/grenade/chem_grenade/metalfoam,/obj/item/grenade/chem_grenade/metalfoam,/obj/item/grenade/chem_grenade/metalfoam,/obj/item/grenade/chem_grenade/metalfoam,/obj/item/grenade/chem_grenade/metalfoam,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "qz" = (/obj/machinery/pipedispenser/disposal/orderable,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"qA" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/syringes{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/box/syringes,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"qA" = (/obj/structure/table/reinforced,/obj/item/storage/box/syringes{pixel_x = 2; pixel_y = 2},/obj/item/storage/box/syringes,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "qB" = (/obj/structure/table/reinforced,/obj/item/clothing/glasses/hud/health{pixel_x = 4; pixel_y = 4},/obj/item/clothing/glasses/hud/health{pixel_x = 2; pixel_y = 2},/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"qC" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"qD" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/device/flash,/obj/item/device/flash,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"qE" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 8},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/specops/centcom) +"qC" = (/obj/structure/table/reinforced,/obj/item/storage/box,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"qD" = (/obj/structure/table/rack,/obj/item/gun/energy/stunrevolver,/obj/item/gun/energy/stunrevolver,/obj/item/flash,/obj/item/flash,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"qE" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "burst_l"; dir = 8},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/specops/centcom) "qF" = (/turf/simulated/shuttle/wall/dark{join_group = "shuttle_ert"},/area/shuttle/specops/centcom) "qG" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "specops_shuttle_port_hatch"; locked = 1; name = "Port Docking Hatch"; req_access = list(13)},/turf/unsimulated/floor{icon_state = "dark"},/area/shuttle/specops/centcom) -"qH" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/drinks/shaker,/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/obj/effect/floor_decal/corner/red/diagonal,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/specops) +"qH" = (/obj/structure/table/standard,/obj/item/reagent_containers/food/drinks/shaker,/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/obj/effect/floor_decal/corner/red/diagonal,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/specops) "qI" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/obj/effect/floor_decal/corner/red/diagonal,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/specops) "qJ" = (/obj/machinery/door/airlock/freezer,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/specops) "qK" = (/obj/structure/table/standard,/obj/machinery/microwave{pixel_x = -1; pixel_y = 2},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "qL" = (/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "qM" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "qN" = (/obj/structure/bed/chair/comfy/black{dir = 4},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership) -"qO" = (/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen{pixel_y = 4},/obj/structure/table/glass,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership) -"qP" = (/obj/item/weapon/folder{pixel_y = 2},/obj/structure/table/glass,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership) +"qO" = (/obj/item/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/pen{pixel_y = 4},/obj/structure/table/glass,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership) +"qP" = (/obj/item/folder{pixel_y = 2},/obj/structure/table/glass,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership) "qQ" = (/obj/structure/bed/chair/comfy/black{dir = 8},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership) -"qR" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) +"qR" = (/obj/structure/table/reinforced,/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) "qS" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/green,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/green,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "qT" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/blue,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/blue,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"qU" = (/obj/structure/table/steel_reinforced,/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/obj/item/weapon/storage/belt/utility/full,/obj/item/weapon/storage/belt/utility/full,/obj/item/weapon/storage/belt/utility/full,/obj/item/weapon/storage/belt/utility/full,/obj/item/weapon/storage/belt/utility/full,/obj/item/weapon/storage/belt/utility/full,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"qU" = (/obj/structure/table/steel_reinforced,/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/obj/item/storage/belt/utility/full,/obj/item/storage/belt/utility/full,/obj/item/storage/belt/utility/full,/obj/item/storage/belt/utility/full,/obj/item/storage/belt/utility/full,/obj/item/storage/belt/utility/full,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "qV" = (/obj/structure/table/steel_reinforced,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/meson,/obj/item/taperoll/engineering,/obj/item/taperoll/engineering,/obj/item/taperoll/engineering,/obj/item/taperoll/engineering,/obj/item/taperoll/engineering,/obj/item/taperoll/engineering,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"qW" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/pill_bottle/tramadol,/obj/item/weapon/storage/pill_bottle/tramadol,/obj/item/weapon/storage/pill_bottle/tramadol,/obj/item/weapon/storage/pill_bottle/dylovene,/obj/item/weapon/storage/pill_bottle/dylovene,/obj/item/weapon/storage/pill_bottle/dylovene,/obj/item/weapon/storage/pill_bottle/dermaline,/obj/item/weapon/storage/pill_bottle/dermaline,/obj/item/weapon/storage/pill_bottle/dermaline,/obj/item/weapon/storage/pill_bottle/spaceacillin,/obj/item/weapon/storage/pill_bottle/dexalin_plus,/obj/item/weapon/storage/pill_bottle/dexalin_plus,/obj/item/weapon/storage/pill_bottle/dexalin_plus,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"qX" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/bodybags{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/box/bodybags,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"qY" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/belt/medical/emt,/obj/item/weapon/storage/belt/medical/emt,/obj/item/weapon/storage/belt/medical/emt,/obj/item/weapon/storage/belt/medical/emt,/obj/item/weapon/storage/belt/medical/emt,/obj/item/weapon/storage/belt/medical/emt,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"qZ" = (/obj/structure/closet/crate/medical,/obj/item/weapon/surgical/circular_saw,/obj/item/weapon/surgical/surgicaldrill,/obj/item/weapon/surgical/bonegel{pixel_x = 4; pixel_y = 3},/obj/item/weapon/surgical/bonesetter,/obj/item/weapon/surgical/scalpel,/obj/item/weapon/surgical/retractor{pixel_x = 0; pixel_y = 6},/obj/item/weapon/surgical/hemostat{pixel_y = 4},/obj/item/weapon/surgical/cautery{pixel_y = 4},/obj/item/weapon/surgical/FixOVein{pixel_x = -6; pixel_y = 1},/obj/item/stack/nanopaste,/obj/item/weapon/tank/anesthetic,/obj/item/clothing/mask/breath/medical,/obj/item/clothing/mask/surgical,/obj/item/clothing/mask/surgical,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"ra" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "burst_r"; dir = 8},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/specops/centcom) +"qW" = (/obj/structure/table/reinforced,/obj/item/storage/pill_bottle/tramadol,/obj/item/storage/pill_bottle/tramadol,/obj/item/storage/pill_bottle/tramadol,/obj/item/storage/pill_bottle/dylovene,/obj/item/storage/pill_bottle/dylovene,/obj/item/storage/pill_bottle/dylovene,/obj/item/storage/pill_bottle/dermaline,/obj/item/storage/pill_bottle/dermaline,/obj/item/storage/pill_bottle/dermaline,/obj/item/storage/pill_bottle/spaceacillin,/obj/item/storage/pill_bottle/dexalin_plus,/obj/item/storage/pill_bottle/dexalin_plus,/obj/item/storage/pill_bottle/dexalin_plus,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"qX" = (/obj/structure/table/reinforced,/obj/item/storage/box/bodybags{pixel_x = 2; pixel_y = 2},/obj/item/storage/box/bodybags,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"qY" = (/obj/structure/table/reinforced,/obj/item/storage/belt/medical/emt,/obj/item/storage/belt/medical/emt,/obj/item/storage/belt/medical/emt,/obj/item/storage/belt/medical/emt,/obj/item/storage/belt/medical/emt,/obj/item/storage/belt/medical/emt,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"qZ" = (/obj/structure/closet/crate/medical,/obj/item/surgical/circular_saw,/obj/item/surgical/surgicaldrill,/obj/item/surgical/bonegel{pixel_x = 4; pixel_y = 3},/obj/item/surgical/bonesetter,/obj/item/surgical/scalpel,/obj/item/surgical/retractor{pixel_x = 0; pixel_y = 6},/obj/item/surgical/hemostat{pixel_y = 4},/obj/item/surgical/cautery{pixel_y = 4},/obj/item/surgical/FixOVein{pixel_x = -6; pixel_y = 1},/obj/item/stack/nanopaste,/obj/item/tank/anesthetic,/obj/item/clothing/mask/breath/medical,/obj/item/clothing/mask/surgical,/obj/item/clothing/mask/surgical,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"ra" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 8},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/specops/centcom) "rb" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 8},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/shuttle/plating/airless,/area/shuttle/specops/centcom) "rc" = (/obj/structure/bed/chair,/turf/simulated/shuttle/floor{icon_state = "floor_red"},/area/shuttle/specops/centcom) "rd" = (/obj/machinery/computer/security/telescreen{desc = ""; name = "Spec. Ops. Monitor"; network = list("NETWORK_ERT"); pixel_y = 30},/obj/machinery/computer/shuttle_control/specops,/turf/simulated/shuttle/floor{icon_state = "floor_red"},/area/shuttle/specops/centcom) @@ -892,16 +892,16 @@ "rh" = (/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = 32},/turf/simulated/shuttle/floor{icon_state = "floor_red"},/area/shuttle/specops/centcom) "ri" = (/turf/simulated/shuttle/wall/dark{hard_corner = 1; join_group = "shuttle_ert"},/area/shuttle/specops/centcom) "rj" = (/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/obj/effect/floor_decal/corner/red/diagonal,/obj/machinery/door/airlock/glass,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/specops) -"rk" = (/obj/item/weapon/stool/padded,/obj/effect/floor_decal/corner/red/diagonal,/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/specops) -"rl" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets{pixel_x = 2; pixel_y = 3},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) +"rk" = (/obj/item/stool/padded,/obj/effect/floor_decal/corner/red/diagonal,/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/specops) +"rl" = (/obj/structure/table/standard,/obj/item/storage/box/donkpockets{pixel_x = 2; pixel_y = 3},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "rm" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "rn" = (/obj/structure/frame/computer,/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "ro" = (/obj/structure/bed/chair/comfy/black{dir = 1},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership) "rp" = (/obj/machinery/vending/cola{name = "hacked Robust Softdrinks"; prices = list()},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership) "rq" = (/obj/structure/closet/secure_closet/freezer/kitchen{req_access = list(150)},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) "rr" = (/obj/structure/reagent_dispensers/beerkeg/fakenuke,/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) -"rs" = (/obj/structure/table/reinforced,/obj/item/weapon/tray{pixel_y = 5},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) -"rt" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka{pixel_x = 3; pixel_y = 12},/obj/item/weapon/reagent_containers/food/drinks/bottle/wine{pixel_x = -1; pixel_y = 8},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) +"rs" = (/obj/structure/table/reinforced,/obj/item/tray{pixel_y = 5},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) +"rt" = (/obj/structure/table/reinforced,/obj/item/reagent_containers/food/drinks/bottle/vodka{pixel_x = 3; pixel_y = 12},/obj/item/reagent_containers/food/drinks/bottle/wine{pixel_x = -1; pixel_y = 8},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) "ru" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/med,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/med,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "rv" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/orange,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/orange,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "rw" = (/obj/machinery/iv_drip,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) @@ -910,18 +910,18 @@ "rz" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "specops_shuttle_fore"; name = "forward docking hatch controller"; pixel_x = 0; pixel_y = -25; tag_door = "specops_shuttle_fore_hatch"},/turf/simulated/shuttle/floor{icon_state = "floor_red"},/area/shuttle/specops/centcom) "rA" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "specops_shuttle_fore_hatch"; locked = 1; name = "Forward Docking Hatch"; req_access = list(13)},/turf/simulated/shuttle/plating,/area/shuttle/specops/centcom) "rB" = (/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/obj/effect/floor_decal/corner/red/diagonal,/mob/living/simple_mob/animal/passive/dog/corgi/puppy{name = "Bockscar"},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/specops) -"rC" = (/obj/structure/table/standard,/obj/item/stack/material/glass{amount = 15},/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) -"rD" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; pixel_y = -32; subspace_transmission = 1; syndie = 1},/obj/machinery/light,/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) -"rE" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/weapon/pen{pixel_y = 4},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) -"rF" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; prices = list(); products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2)},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership) +"rC" = (/obj/structure/table/standard,/obj/item/stack/material/glass{amount = 15},/obj/item/cell{charge = 100; maxcharge = 15000},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) +"rD" = (/obj/item/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; pixel_y = -32; subspace_transmission = 1; syndie = 1},/obj/machinery/light,/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) +"rE" = (/obj/structure/table/standard,/obj/item/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/pen{pixel_y = 4},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) +"rF" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; prices = list(); products = list(/obj/item/storage/fancy/cigarettes = 10, /obj/item/storage/box/matches = 10, /obj/item/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2)},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership) "rG" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/engie,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/engie,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "rH" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/red,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "rI" = (/obj/machinery/computer/prisoner{name = "Implant Management"},/turf/simulated/shuttle/floor{icon_state = "floor_red"},/area/shuttle/specops/centcom) -"rJ" = (/obj/machinery/computer/communications,/obj/item/device/radio/intercom{broadcasting = 0; dir = 1; frequency = 1443; listening = 1; name = "Spec Ops Intercom"; pixel_y = -28},/turf/simulated/shuttle/floor{icon_state = "floor_red"},/area/shuttle/specops/centcom) +"rJ" = (/obj/machinery/computer/communications,/obj/item/radio/intercom{broadcasting = 0; dir = 1; frequency = 1443; listening = 1; name = "Spec Ops Intercom"; pixel_y = -28},/turf/simulated/shuttle/floor{icon_state = "floor_red"},/area/shuttle/specops/centcom) "rK" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor_red"},/area/shuttle/specops/centcom) "rL" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor_red"},/area/shuttle/specops/centcom) -"rM" = (/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/obj/effect/floor_decal/corner/red/diagonal,/obj/item/weapon/stool/padded,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/specops) -"rN" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/material/kitchen/rollingpin,/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/obj/effect/floor_decal/corner/red/diagonal,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/specops) +"rM" = (/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/obj/effect/floor_decal/corner/red/diagonal,/obj/item/stool/padded,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/specops) +"rN" = (/obj/structure/table/standard,/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/material/kitchen/rollingpin,/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/obj/effect/floor_decal/corner/red/diagonal,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/specops) "rO" = (/turf/unsimulated/wall,/area/centcom/command) "rP" = (/turf/unsimulated/wall{desc = "That looks like it doesn't open easily."; dir = 8; icon = 'icons/obj/doors/rapid_pdoor.dmi'; icon_state = "pdoor1"; name = "Shuttle Bay Blast Door"},/area/centcom/command) "rQ" = (/turf/simulated/shuttle/wall/dark/hard_corner,/area/syndicate_station/start) @@ -929,7 +929,7 @@ "rS" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/syndicate_mothership) "rT" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/syndicate_mothership) "rU" = (/obj/machinery/shower{pixel_y = 32},/obj/structure/window/basic{dir = 8},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) -"rV" = (/obj/machinery/shower{pixel_y = 32},/obj/item/weapon/soap/syndie,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) +"rV" = (/obj/machinery/shower{pixel_y = 32},/obj/item/soap/syndie,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) "rW" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "rX" = (/obj/structure/table/rack,/obj/item/clothing/mask/balaclava/tactical,/obj/item/clothing/mask/balaclava/tactical,/obj/item/clothing/mask/balaclava/tactical,/obj/item/clothing/mask/balaclava/tactical,/obj/item/clothing/mask/balaclava/tactical,/obj/item/clothing/mask/balaclava/tactical,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "rY" = (/obj/machinery/shieldgen,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) @@ -939,25 +939,25 @@ "sc" = (/obj/machinery/shieldwallgen,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "sd" = (/obj/machinery/power/emitter,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "se" = (/obj/structure/table/reinforced,/obj/item/roller,/obj/item/roller,/obj/item/roller,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"sf" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/firstaid/fire{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/firstaid/fire,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"sg" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/firstaid/toxin{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/firstaid/toxin,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"sh" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/firstaid/adv{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/firstaid/adv,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"si" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/firstaid/o2{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/firstaid/o2,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"sj" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/firstaid/regular,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"sk" = (/obj/structure/table/reinforced,/obj/item/device/defib_kit/compact/combat/loaded,/obj/item/device/defib_kit/compact/combat/loaded,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"sl" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"sm" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 8},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/administration/centcom) +"sf" = (/obj/structure/table/reinforced,/obj/item/storage/firstaid/fire{pixel_x = 2; pixel_y = 2},/obj/item/storage/firstaid/fire,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"sg" = (/obj/structure/table/reinforced,/obj/item/storage/firstaid/toxin{pixel_x = 2; pixel_y = 2},/obj/item/storage/firstaid/toxin,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"sh" = (/obj/structure/table/reinforced,/obj/item/storage/firstaid/adv{pixel_x = 2; pixel_y = 2},/obj/item/storage/firstaid/adv,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"si" = (/obj/structure/table/reinforced,/obj/item/storage/firstaid/o2{pixel_x = 2; pixel_y = 2},/obj/item/storage/firstaid/o2,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"sj" = (/obj/structure/table/reinforced,/obj/item/storage/firstaid/regular{pixel_x = 2; pixel_y = 2},/obj/item/storage/firstaid/regular,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"sk" = (/obj/structure/table/reinforced,/obj/item/defib_kit/compact/combat/loaded,/obj/item/defib_kit/compact/combat/loaded,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"sl" = (/obj/structure/table/reinforced,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"sm" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "burst_r"; dir = 8},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/specops/centcom) "sn" = (/obj/machinery/vending/dinnerware,/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/obj/effect/floor_decal/corner/red/diagonal,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/specops) "so" = (/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/obj/effect/floor_decal/corner/red/diagonal,/obj/machinery/computer/arcade/orion_trail,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/specops) "sp" = (/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/obj/effect/floor_decal/corner/red/diagonal,/obj/machinery/computer/arcade,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/specops) -"sq" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/food/condiment/enzyme,/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/obj/effect/floor_decal/corner/red/diagonal,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/specops) +"sq" = (/obj/structure/table/standard,/obj/item/reagent_containers/glass/beaker,/obj/item/reagent_containers/food/condiment/enzyme,/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/obj/effect/floor_decal/corner/red/diagonal,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/specops) "sr" = (/obj/structure/table/standard,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/obj/effect/floor_decal/corner/red/diagonal,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/specops) "ss" = (/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/command) -"st" = (/obj/structure/closet/secure_closet/medical_wall{pixel_x = -32; pixel_y = 0; req_access = list(150)},/obj/item/stack/medical/splint,/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/obj/item/weapon/storage/belt/medical/emt,/obj/item/weapon/storage/belt/medical/emt,/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) +"st" = (/obj/structure/closet/secure_closet/medical_wall{pixel_x = -32; pixel_y = 0; req_access = list(150)},/obj/item/stack/medical/splint,/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/obj/item/storage/belt/medical/emt,/obj/item/storage/belt/medical/emt,/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "su" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "sv" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "sw" = (/obj/structure/closet/hydrant{pixel_y = 32},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) -"sx" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/security,/obj/item/weapon/storage/belt/security,/obj/item/ammo_magazine/m9mm/flash,/obj/item/weapon/gun/projectile/pistol/flash,/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) +"sx" = (/obj/structure/table/rack,/obj/item/storage/belt/security,/obj/item/storage/belt/security,/obj/item/ammo_magazine/m9mm/flash,/obj/item/gun/projectile/pistol/flash,/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "sy" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/syndicate_mothership) "sz" = (/obj/machinery/door/airlock/centcom{name = "Bathroom"; opacity = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) "sA" = (/obj/machinery/shower{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) @@ -977,16 +977,16 @@ "sO" = (/turf/simulated/shuttle/wall/dark,/area/shuttle/administration/centcom) "sP" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "admin_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = list(13)},/turf/simulated/floor/plating,/area/shuttle/administration/centcom) "sQ" = (/obj/machinery/recharger/wallcharger{pixel_x = -25},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) -"sR" = (/obj/structure/closet,/obj/item/weapon/reagent_containers/food/snacks/liquidfood,/obj/item/weapon/reagent_containers/food/snacks/liquidfood,/obj/item/weapon/reagent_containers/food/snacks/liquidfood,/obj/item/weapon/reagent_containers/food/snacks/liquidfood,/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) +"sR" = (/obj/structure/closet,/obj/item/reagent_containers/food/snacks/liquidfood,/obj/item/reagent_containers/food/snacks/liquidfood,/obj/item/reagent_containers/food/snacks/liquidfood,/obj/item/reagent_containers/food/snacks/liquidfood,/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "sS" = (/obj/structure/lattice,/obj/structure/grille,/obj/structure/lattice,/turf/space,/area/space) -"sT" = (/obj/structure/table/rack,/obj/machinery/recharger/wallcharger{pixel_x = 5; pixel_y = 32},/obj/item/weapon/material/knife/tacknife/combatknife,/obj/item/weapon/material/knife/tacknife/combatknife,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"sU" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/ionrifle,/obj/machinery/recharger/wallcharger{pixel_x = 5; pixel_y = 32},/obj/item/weapon/gun/energy/ionrifle,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"sV" = (/obj/structure/table/rack,/obj/item/weapon/tool/crowbar/red,/obj/item/weapon/tool/crowbar/red,/obj/item/weapon/tool/crowbar/red,/obj/item/weapon/tool/crowbar/red,/obj/item/weapon/tool/crowbar/red,/obj/item/weapon/tool/crowbar/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"sW" = (/obj/structure/table/rack,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"sX" = (/obj/structure/table/rack,/obj/item/device/flashlight/maglight,/obj/item/device/flashlight/maglight,/obj/item/device/flashlight/maglight,/obj/item/device/flashlight/maglight,/obj/item/device/flashlight/maglight,/obj/item/device/flashlight/maglight,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"sY" = (/obj/structure/table/rack,/obj/item/device/camera_film,/obj/item/device/camera_film,/obj/item/device/camera_film,/obj/item/device/camera_film,/obj/item/device/camera_film,/obj/item/device/camera_film,/obj/item/device/camera,/obj/item/device/camera,/obj/item/device/camera,/obj/item/device/camera,/obj/item/device/camera,/obj/item/device/camera,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"sZ" = (/obj/structure/table/rack,/obj/item/ammo_magazine/m10mm,/obj/item/ammo_magazine/m10mm,/obj/item/ammo_magazine/m10mm,/obj/item/ammo_magazine/m10mm,/obj/item/ammo_magazine/m10mm,/obj/item/ammo_magazine/m10mm,/obj/item/weapon/gun/projectile/automatic/c20r,/obj/item/weapon/gun/projectile/automatic/c20r,/obj/item/weapon/gun/projectile/automatic/c20r,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"ta" = (/obj/structure/table/rack,/obj/item/ammo_magazine/m545,/obj/item/ammo_magazine/m545,/obj/item/ammo_magazine/m545,/obj/item/ammo_magazine/m545,/obj/item/weapon/gun/projectile/automatic/sts35,/obj/item/weapon/gun/projectile/automatic/sts35,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"sT" = (/obj/structure/table/rack,/obj/machinery/recharger/wallcharger{pixel_x = 5; pixel_y = 32},/obj/item/material/knife/tacknife/combatknife,/obj/item/material/knife/tacknife/combatknife,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"sU" = (/obj/structure/table/rack,/obj/item/gun/energy/ionrifle,/obj/machinery/recharger/wallcharger{pixel_x = 5; pixel_y = 32},/obj/item/gun/energy/ionrifle,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"sV" = (/obj/structure/table/rack,/obj/item/tool/crowbar/red,/obj/item/tool/crowbar/red,/obj/item/tool/crowbar/red,/obj/item/tool/crowbar/red,/obj/item/tool/crowbar/red,/obj/item/tool/crowbar/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"sW" = (/obj/structure/table/rack,/obj/item/megaphone,/obj/item/megaphone,/obj/item/megaphone,/obj/item/megaphone,/obj/item/megaphone,/obj/item/megaphone,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"sX" = (/obj/structure/table/rack,/obj/item/flashlight/maglight,/obj/item/flashlight/maglight,/obj/item/flashlight/maglight,/obj/item/flashlight/maglight,/obj/item/flashlight/maglight,/obj/item/flashlight/maglight,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"sY" = (/obj/structure/table/rack,/obj/item/camera_film,/obj/item/camera_film,/obj/item/camera_film,/obj/item/camera_film,/obj/item/camera_film,/obj/item/camera_film,/obj/item/camera,/obj/item/camera,/obj/item/camera,/obj/item/camera,/obj/item/camera,/obj/item/camera,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"sZ" = (/obj/structure/table/rack,/obj/item/ammo_magazine/m10mm,/obj/item/ammo_magazine/m10mm,/obj/item/ammo_magazine/m10mm,/obj/item/ammo_magazine/m10mm,/obj/item/ammo_magazine/m10mm,/obj/item/ammo_magazine/m10mm,/obj/item/gun/projectile/automatic/c20r,/obj/item/gun/projectile/automatic/c20r,/obj/item/gun/projectile/automatic/c20r,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"ta" = (/obj/structure/table/rack,/obj/item/ammo_magazine/m545,/obj/item/ammo_magazine/m545,/obj/item/ammo_magazine/m545,/obj/item/ammo_magazine/m545,/obj/item/gun/projectile/automatic/sts35,/obj/item/gun/projectile/automatic/sts35,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "tb" = (/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/specops) "tc" = (/obj/machinery/vending/boozeomat,/turf/simulated/shuttle/wall/dark,/area/shuttle/administration/centcom) "td" = (/obj/machinery/vending/coffee,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) @@ -994,17 +994,17 @@ "tf" = (/obj/machinery/microwave,/obj/structure/table/reinforced,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) "tg" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "admin_shuttle"; pixel_x = -25; pixel_y = 0; req_one_access = list(101); tag_door = "admin_shuttle_hatch"},/turf/simulated/floor/plating,/area/shuttle/administration/centcom) "th" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/plating,/area/shuttle/administration/centcom) -"ti" = (/obj/item/device/multitool,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/structure/table/reinforced,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) -"tj" = (/obj/item/weapon/storage/toolbox/mechanical,/obj/structure/table/reinforced,/obj/machinery/light{dir = 1},/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) +"ti" = (/obj/item/multitool,/obj/item/reagent_containers/spray/cleaner,/obj/structure/table/reinforced,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) +"tj" = (/obj/item/storage/toolbox/mechanical,/obj/structure/table/reinforced,/obj/machinery/light{dir = 1},/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) "tk" = (/obj/machinery/computer/card,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/command) "tl" = (/obj/structure/bed/chair/office/dark{dir = 8},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/command) "tm" = (/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/command) "tn" = (/obj/structure/sign/poster{poster_type = "/decl/poster/bay_50"; pixel_x = -32},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) -"to" = (/obj/structure/closet,/obj/item/weapon/reagent_containers/food/snacks/tastybread,/obj/item/weapon/reagent_containers/food/snacks/tastybread,/obj/item/weapon/reagent_containers/food/snacks/tastybread,/obj/item/weapon/reagent_containers/food/snacks/tastybread,/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) +"to" = (/obj/structure/closet,/obj/item/reagent_containers/food/snacks/tastybread,/obj/item/reagent_containers/food/snacks/tastybread,/obj/item/reagent_containers/food/snacks/tastybread,/obj/item/reagent_containers/food/snacks/tastybread,/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "tp" = (/obj/structure/window/reinforced,/obj/structure/lattice,/turf/space,/area/space) "tq" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1331; id_tag = "merc_base"; pixel_x = -25; pixel_y = -5},/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/syndicate_mothership) -"tr" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/handcuffs{pixel_x = 4; pixel_y = 2},/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/storage/box/smokes,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"ts" = (/obj/structure/table/rack,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"tr" = (/obj/structure/table/rack,/obj/item/storage/box/handcuffs{pixel_x = 4; pixel_y = 2},/obj/item/storage/box/flashbangs,/obj/item/storage/box/smokes,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"ts" = (/obj/structure/table/rack,/obj/item/pinpointer/nukeop,/obj/item/pinpointer/nukeop,/obj/item/pinpointer/nukeop,/obj/item/pinpointer/nukeop,/obj/item/pinpointer/nukeop,/obj/item/pinpointer/nukeop,/obj/item/shield/energy,/obj/item/shield/energy,/obj/item/shield/energy,/obj/item/shield/energy,/obj/item/shield/energy,/obj/item/shield/energy,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "tt" = (/obj/machinery/suit_cycler/syndicate{locked = 0},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "tu" = (/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) "tv" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access = list(101)},/turf/simulated/floor/plating,/area/shuttle/administration/centcom) @@ -1013,8 +1013,8 @@ "ty" = (/obj/machinery/computer/card/centcom,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/command) "tz" = (/obj/structure/toilet{dir = 4},/turf/simulated/shuttle/floor/black,/area/syndicate_station/start) "tA" = (/obj/machinery/flasher{id = "syndieflash"; pixel_x = 0; pixel_y = 28},/obj/machinery/light/small{dir = 1},/turf/simulated/shuttle/floor/black,/area/syndicate_station/start) -"tB" = (/obj/item/device/radio/electropack,/turf/simulated/shuttle/floor/black,/area/syndicate_station/start) -"tC" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 0; pixel_y = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) +"tB" = (/obj/item/radio/electropack,/turf/simulated/shuttle/floor/black,/area/syndicate_station/start) +"tC" = (/obj/item/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 0; pixel_y = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "tD" = (/obj/structure/closet/walllocker/emerglocker{pixel_x = 28},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "tE" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1331; id_tag = "merc_shuttle_pump"},/obj/machinery/button/remote/blast_door{id = "smindicate"; name = "ship lockdown control"; pixel_x = -25},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "tF" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "merc_shuttle_sensor"; pixel_x = 8; pixel_y = 25},/obj/machinery/light/small{dir = 1},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) @@ -1027,8 +1027,8 @@ "tM" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "tN" = (/obj/machinery/door/window/northright,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) "tO" = (/obj/structure/table/reinforced,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) -"tP" = (/obj/item/weapon/flame/lighter/zippo,/obj/structure/table/reinforced,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) -"tQ" = (/obj/item/weapon/storage/fancy/cigarettes,/obj/structure/table/reinforced,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) +"tP" = (/obj/item/flame/lighter/zippo,/obj/structure/table/reinforced,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) +"tQ" = (/obj/item/storage/fancy/cigarettes,/obj/structure/table/reinforced,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) "tR" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) "tS" = (/obj/machinery/door/airlock/glass,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) "tT" = (/obj/item/stack/material/glass{amount = 50},/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) @@ -1036,7 +1036,7 @@ "tV" = (/obj/machinery/door/airlock/centcom{name = "Administrative Office"; opacity = 1; req_access = list(108)},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/command) "tW" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/syndicate_station/start) "tX" = (/turf/simulated/shuttle/floor/black,/area/syndicate_station/start) -"tY" = (/obj/item/weapon/cigbutt,/turf/simulated/shuttle/floor/black,/area/syndicate_station/start) +"tY" = (/obj/item/cigbutt,/turf/simulated/shuttle/floor/black,/area/syndicate_station/start) "tZ" = (/obj/machinery/door/window{dir = 2; name = "Seating"; req_access = list(150)},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "ua" = (/obj/machinery/door/window{name = "Seating"; icon_state = "right"; dir = 2; req_access = list(150)},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "ub" = (/obj/structure/flora/pottedplant{icon_state = "plant-10"},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) @@ -1044,22 +1044,22 @@ "ud" = (/obj/machinery/atmospherics/pipe/manifold4w/visible,/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "ue" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "merc_shuttle_pump"},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "uf" = (/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"ug" = (/obj/structure/table/rack,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/weapon/tank/jetpack/oxygen,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"uh" = (/obj/structure/table/rack,/obj/item/weapon/tank/jetpack/carbondioxide,/obj/item/weapon/tank/jetpack/carbondioxide,/obj/item/weapon/tank/jetpack/carbondioxide,/obj/item/weapon/tank/jetpack/carbondioxide,/obj/item/weapon/tank/jetpack/carbondioxide,/obj/item/weapon/tank/jetpack/carbondioxide,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"ug" = (/obj/structure/table/rack,/obj/item/tank/jetpack/oxygen,/obj/item/tank/jetpack/oxygen,/obj/item/tank/jetpack/oxygen,/obj/item/tank/jetpack/oxygen,/obj/item/tank/jetpack/oxygen,/obj/item/tank/jetpack/oxygen,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"uh" = (/obj/structure/table/rack,/obj/item/tank/jetpack/carbondioxide,/obj/item/tank/jetpack/carbondioxide,/obj/item/tank/jetpack/carbondioxide,/obj/item/tank/jetpack/carbondioxide,/obj/item/tank/jetpack/carbondioxide,/obj/item/tank/jetpack/carbondioxide,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "ui" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"uj" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"; dir = 8},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/administration/centcom) +"uj" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 8},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/administration/centcom) "uk" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating/airless,/area/shuttle/administration/centcom) "ul" = (/obj/machinery/vending/snack,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) -"um" = (/obj/item/weapon/stool,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) +"um" = (/obj/item/stool,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) "un" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) "uo" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) "up" = (/obj/machinery/recharge_station,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) "uq" = (/obj/machinery/robotic_fabricator,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) "ur" = (/obj/machinery/autolathe{desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; hacked = 1; name = "Thunderdome Autolathe"},/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) "us" = (/obj/structure/dispenser,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) -"ut" = (/obj/machinery/door/window{dir = 1; name = "Cell"; req_access = list(150)},/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; pixel_x = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) +"ut" = (/obj/machinery/door/window{dir = 1; name = "Cell"; req_access = list(150)},/obj/item/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; pixel_x = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "uu" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) -"uv" = (/obj/machinery/vending/assist{contraband = null; name = "AntagCorpVend"; products = list(/obj/item/device/assembly/prox_sensor = 5, /obj/item/device/assembly/signaler = 4, /obj/item/device/assembly/infra = 4, /obj/item/device/assembly/prox_sensor = 4, /obj/item/weapon/handcuffs = 8, /obj/item/device/flash = 4, /obj/item/weapon/cartridge/signal = 4, /obj/item/clothing/glasses/sunglasses = 4)},/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) +"uv" = (/obj/machinery/vending/assist{contraband = null; name = "AntagCorpVend"; products = list(/obj/item/assembly/prox_sensor = 5, /obj/item/assembly/signaler = 4, /obj/item/assembly/infra = 4, /obj/item/assembly/prox_sensor = 4, /obj/item/handcuffs = 8, /obj/item/flash = 4, /obj/item/cartridge/signal = 4, /obj/item/clothing/glasses/sunglasses = 4)},/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "uw" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating,/area/syndicate_station/start) "ux" = (/obj/machinery/door/airlock/external{frequency = 1331; id_tag = "merc_shuttle_inner"; name = "Ship External Access"; req_access = list(0)},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "uy" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/lattice,/turf/space,/area/space) @@ -1067,16 +1067,16 @@ "uA" = (/obj/structure/table/rack,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "uB" = (/obj/structure/table/rack,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "uC" = (/obj/structure/table/rack,/obj/item/clothing/accessory/storage/white_vest,/obj/item/clothing/accessory/storage/white_vest,/obj/item/clothing/accessory/storage/white_vest,/obj/item/clothing/accessory/storage/white_vest,/obj/item/clothing/accessory/storage/white_vest,/obj/item/clothing/accessory/storage/white_vest,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"uD" = (/obj/structure/table/rack,/obj/item/device/binoculars,/obj/item/device/binoculars,/obj/item/device/binoculars,/obj/item/device/binoculars,/obj/item/device/binoculars,/obj/item/device/binoculars,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"uE" = (/obj/structure/table/rack,/obj/item/device/flashlight/flare,/obj/item/device/flashlight/flare,/obj/item/device/flashlight/flare,/obj/item/device/flashlight/flare,/obj/item/device/flashlight/flare,/obj/item/device/flashlight/flare,/obj/item/device/flashlight/flare,/obj/item/device/flashlight/flare,/obj/item/device/flashlight/flare,/obj/item/device/flashlight/flare,/obj/item/device/flashlight/flare,/obj/item/device/flashlight/flare,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"uF" = (/obj/structure/table/rack,/obj/item/device/radio,/obj/item/device/radio,/obj/item/device/radio,/obj/item/device/radio,/obj/item/device/radio,/obj/item/device/radio,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"uG" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/obj/machinery/recharger/wallcharger{pixel_x = 5; pixel_y = -32},/obj/item/weapon/cell/device/weapon,/obj/item/weapon/cell/device/weapon,/obj/item/weapon/cell/device/weapon,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"uH" = (/obj/structure/table/rack,/obj/item/weapon/tank/emergency/oxygen/double,/obj/item/weapon/tank/emergency/oxygen/double,/obj/item/weapon/tank/emergency/oxygen/double,/obj/item/weapon/tank/emergency/oxygen/double,/obj/item/weapon/tank/emergency/oxygen/double,/obj/item/weapon/tank/emergency/oxygen/double,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"uD" = (/obj/structure/table/rack,/obj/item/binoculars,/obj/item/binoculars,/obj/item/binoculars,/obj/item/binoculars,/obj/item/binoculars,/obj/item/binoculars,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"uE" = (/obj/structure/table/rack,/obj/item/flashlight/flare,/obj/item/flashlight/flare,/obj/item/flashlight/flare,/obj/item/flashlight/flare,/obj/item/flashlight/flare,/obj/item/flashlight/flare,/obj/item/flashlight/flare,/obj/item/flashlight/flare,/obj/item/flashlight/flare,/obj/item/flashlight/flare,/obj/item/flashlight/flare,/obj/item/flashlight/flare,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"uF" = (/obj/structure/table/rack,/obj/item/radio,/obj/item/radio,/obj/item/radio,/obj/item/radio,/obj/item/radio,/obj/item/radio,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"uG" = (/obj/structure/table/rack,/obj/item/gun/energy/gun,/obj/item/gun/energy/gun,/obj/item/gun/energy/gun,/obj/machinery/recharger/wallcharger{pixel_x = 5; pixel_y = -32},/obj/item/cell/device/weapon,/obj/item/cell/device/weapon,/obj/item/cell/device/weapon,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"uH" = (/obj/structure/table/rack,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "uI" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"; dir = 8},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/administration/centcom) -"uJ" = (/obj/structure/closet/cabinet{name = "Clothing Storage"},/obj/item/weapon/storage/box/syndie_kit/chameleon,/obj/item/weapon/stamp/chameleon,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/command) +"uJ" = (/obj/structure/closet/cabinet{name = "Clothing Storage"},/obj/item/storage/box/syndie_kit/chameleon,/obj/item/stamp/chameleon,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/command) "uK" = (/obj/structure/table/woodentable{dir = 5},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/command) -"uL" = (/obj/structure/closet/cabinet,/obj/item/weapon/card/id/centcom,/obj/item/weapon/card/id/syndicate,/obj/item/weapon/card/id,/obj/item/weapon/card/id/gold,/obj/item/weapon/card/id/silver,/obj/item/device/pda/captain,/obj/item/device/pda/ert,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/command) -"uM" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; prices = list(); products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2)},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) +"uL" = (/obj/structure/closet/cabinet,/obj/item/card/id/centcom,/obj/item/card/id/syndicate,/obj/item/card/id,/obj/item/card/id/gold,/obj/item/card/id/silver,/obj/item/pda/captain,/obj/item/pda/ert,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/command) +"uM" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; prices = list(); products = list(/obj/item/storage/fancy/cigarettes = 10, /obj/item/storage/box/matches = 10, /obj/item/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2)},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "uN" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/button/flasher{id = "syndieflash"; name = "Flasher"; pixel_x = 27; pixel_y = 0},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "uO" = (/obj/machinery/button/remote/blast_door{id = "smindicate"; name = "ship lockdown control"; pixel_x = -25},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "uP" = (/mob/living/simple_mob/animal/passive/cat/kitten{name = "Enola"},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) @@ -1089,7 +1089,7 @@ "uW" = (/obj/machinery/computer/communications,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) "uX" = (/obj/effect/wingrille_spawn/reinforced/crescent,/turf/simulated/shuttle/plating,/area/shuttle/administration/centcom) "uY" = (/turf/unsimulated/wall,/area/centcom/suppy) -"uZ" = (/obj/structure/table/standard,/obj/item/weapon/material/knife{pixel_x = -6},/obj/item/weapon/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = -1},/obj/item/weapon/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = 4},/obj/item/weapon/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = 9},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) +"uZ" = (/obj/structure/table/standard,/obj/item/material/knife{pixel_x = -6},/obj/item/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = -1},/obj/item/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = 4},/obj/item/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = 9},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "va" = (/obj/machinery/door/window{dir = 4; name = "Brig"; req_access = list(150)},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "vb" = (/obj/machinery/door/window{base_state = "right"; dir = 8; icon_state = "right"; name = "Preparation"; req_access = list(150)},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "vc" = (/obj/structure/closet/syndicate/suit{name = "suit closet"},/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) @@ -1097,10 +1097,10 @@ "ve" = (/obj/structure/bed/chair/comfy/black{dir = 4},/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) "vf" = (/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/suppy) "vg" = (/turf/unsimulated/wall{desc = "That looks like it doesn't open easily."; icon = 'icons/obj/doors/rapid_pdoor.dmi'; icon_state = "pdoor1"; name = "Shuttle Bay Blast Door"},/area/centcom/suppy) -"vh" = (/obj/structure/closet{name = "custodial"},/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/mop,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) +"vh" = (/obj/structure/closet{name = "custodial"},/obj/item/reagent_containers/glass/bucket,/obj/item/mop,/obj/item/reagent_containers/spray/cleaner,/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "vi" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Brig"; req_access = list(150)},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "vj" = (/obj/machinery/door/window{base_state = "left"; dir = 8; icon_state = "left"; name = "Preparation"; req_access = list(150)},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) -"vk" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/syndicate{pixel_x = -1; pixel_y = 3},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) +"vk" = (/obj/structure/table/standard,/obj/item/storage/toolbox/syndicate{pixel_x = -1; pixel_y = 3},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "vl" = (/obj/machinery/dna_scannernew,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) "vm" = (/obj/machinery/computer/cloning,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) "vn" = (/obj/machinery/clonepod,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) @@ -1111,14 +1111,14 @@ "vs" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/machinery/sleeper{dir = 8},/turf/simulated/shuttle/floor/white,/area/syndicate_station/start) "vt" = (/obj/machinery/sleep_console,/turf/simulated/shuttle/floor/white,/area/syndicate_station/start) "vu" = (/obj/structure/sign/nosmoking_1{pixel_y = 32},/turf/simulated/shuttle/floor/white,/area/syndicate_station/start) -"vv" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/turf/simulated/shuttle/floor/white,/area/syndicate_station/start) -"vw" = (/obj/structure/table/standard,/obj/structure/closet/secure_closet/medical_wall{pixel_y = 32; req_access = list(150)},/obj/item/bodybag,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/glass/bottle/antitoxin{pixel_x = -4; pixel_y = 8},/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline{pixel_x = 4; pixel_y = 7},/obj/item/weapon/reagent_containers/syringe,/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor/white,/area/syndicate_station/start) -"vx" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; pixel_x = -32; subspace_transmission = 1; syndie = 1},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) +"vv" = (/obj/structure/table/standard,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/turf/simulated/shuttle/floor/white,/area/syndicate_station/start) +"vw" = (/obj/structure/table/standard,/obj/structure/closet/secure_closet/medical_wall{pixel_y = 32; req_access = list(150)},/obj/item/bodybag,/obj/item/reagent_containers/syringe/antiviral,/obj/item/reagent_containers/syringe/antiviral,/obj/item/reagent_containers/syringe/antiviral,/obj/item/reagent_containers/glass/bottle/antitoxin{pixel_x = -4; pixel_y = 8},/obj/item/reagent_containers/glass/bottle/inaprovaline{pixel_x = 4; pixel_y = 7},/obj/item/reagent_containers/syringe,/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor/white,/area/syndicate_station/start) +"vx" = (/obj/item/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; pixel_x = -32; subspace_transmission = 1; syndie = 1},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "vy" = (/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) -"vz" = (/obj/structure/table/standard,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/signaler{pixel_y = 2},/obj/item/clothing/glasses/night,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) -"vA" = (/obj/structure/table/standard,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/signaler{pixel_y = 2},/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) -"vB" = (/obj/structure/table/standard,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) -"vC" = (/obj/structure/table/standard,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/clothing/glasses/night,/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) +"vz" = (/obj/structure/table/standard,/obj/item/clothing/gloves/yellow,/obj/item/assembly/signaler{pixel_y = 2},/obj/item/clothing/glasses/night,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) +"vA" = (/obj/structure/table/standard,/obj/item/clothing/gloves/yellow,/obj/item/assembly/signaler{pixel_y = 2},/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) +"vB" = (/obj/structure/table/standard,/obj/item/clothing/gloves/yellow,/obj/item/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) +"vC" = (/obj/structure/table/standard,/obj/item/clothing/gloves/yellow,/obj/item/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/clothing/glasses/night,/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "vD" = (/obj/effect/wingrille_spawn/reinforced/crescent,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/terminal) "vE" = (/turf/unsimulated/wall,/area/centcom/terminal) "vF" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "CREED"; name = "Ready Room"; p_open = 0},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/terminal) @@ -1132,11 +1132,11 @@ "vN" = (/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor,/area/supply/dock) "vO" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "syndieshutters_infirmary"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) "vP" = (/turf/simulated/shuttle/floor/white,/area/syndicate_station/start) -"vQ" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; pixel_x = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) -"vR" = (/obj/structure/table/standard,/obj/item/weapon/tool/screwdriver,/obj/effect/spawner/newbomb/timer/syndicate,/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) +"vQ" = (/obj/item/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; pixel_x = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) +"vR" = (/obj/structure/table/standard,/obj/item/tool/screwdriver,/obj/effect/spawner/newbomb/timer/syndicate,/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "vS" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "syndieshutters_workshop"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) -"vT" = (/obj/structure/table/rack,/obj/item/device/suit_cooling_unit,/obj/item/device/suit_cooling_unit,/obj/item/device/suit_cooling_unit,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"vU" = (/obj/structure/table/rack,/obj/item/weapon/rig/merc/empty,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"vT" = (/obj/structure/table/rack,/obj/item/suit_cooling_unit,/obj/item/suit_cooling_unit,/obj/item/suit_cooling_unit,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"vU" = (/obj/structure/table/rack,/obj/item/rig/merc/empty,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "vV" = (/obj/structure/flora/ausbushes/brflowers,/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/centcom/terminal) "vW" = (/obj/structure/flora/ausbushes/ppflowers,/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/centcom/terminal) "vX" = (/obj/machinery/porta_turret/crescent,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/terminal) @@ -1146,9 +1146,9 @@ "wb" = (/obj/machinery/door/airlock/external,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) "wc" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "admin_shuttle_bay_door"; locked = 1},/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/command) "wd" = (/obj/machinery/door/window/northright{icon_state = "right"; dir = 2},/obj/machinery/light{dir = 8},/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) -"we" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/surgery,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) +"we" = (/obj/structure/table/standard,/obj/item/storage/firstaid/surgery,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) "wf" = (/obj/structure/table/standard,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) -"wg" = (/obj/structure/table/standard,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/item/weapon/reagent_containers/glass/beaker/large,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) +"wg" = (/obj/structure/table/standard,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/item/reagent_containers/glass/beaker/large,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) "wh" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/turf/simulated/shuttle/floor,/area/supply/dock) "wi" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "supply_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = list(13)},/turf/simulated/shuttle/plating,/area/supply/dock) "wj" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "syndieshutters_infirmary"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) @@ -1156,52 +1156,52 @@ "wl" = (/obj/machinery/body_scanconsole,/turf/simulated/shuttle/floor/white,/area/syndicate_station/start) "wm" = (/obj/machinery/door/window{dir = 4; name = "Infirmary"; req_access = list(150)},/turf/simulated/shuttle/floor/white,/area/syndicate_station/start) "wn" = (/obj/machinery/door/window/westright{name = "Tool Storage"; req_access = list(150)},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) -"wo" = (/obj/item/weapon/stool/padded,/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) -"wp" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/frags,/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) +"wo" = (/obj/item/stool/padded,/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) +"wp" = (/obj/structure/table/standard,/obj/item/storage/box/frags,/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "wq" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "syndieshutters_workshop"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) "wr" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/turf/unsimulated/wall,/area/centcom/terminal) "ws" = (/obj/machinery/door/airlock/centcom{name = "Special Operations"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) -"wt" = (/obj/machinery/light{dir = 8},/obj/structure/bed/padded,/obj/item/weapon/bedsheet/hos,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) +"wt" = (/obj/machinery/light{dir = 8},/obj/structure/bed/padded,/obj/item/bedsheet/hos,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) "wu" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "supply_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/supply/dock) "wv" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "syndieshutters_infirmary"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) "ww" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Infirmary"; req_access = list(150)},/turf/simulated/shuttle/floor/white,/area/syndicate_station/start) "wx" = (/obj/machinery/door/window{dir = 8; name = "Tool Storage"; req_access = list(150)},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) -"wy" = (/obj/structure/table/standard,/obj/item/device/aicard,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) +"wy" = (/obj/structure/table/standard,/obj/item/aicard,/obj/item/plastique,/obj/item/plastique,/obj/item/plastique,/obj/item/plastique,/obj/item/plastique,/obj/item/plastique,/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "wz" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "syndieshutters_workshop"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) "wA" = (/obj/machinery/vending/medical,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) "wB" = (/obj/machinery/chem_master,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) "wC" = (/obj/machinery/chemical_dispenser/ert,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) "wD" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "supply_shuttle"; pixel_x = 25; pixel_y = 0; req_one_access = list(13,31); tag_door = "supply_shuttle_hatch"},/turf/simulated/shuttle/floor,/area/supply/dock) "wE" = (/obj/machinery/button/remote/blast_door{id = "syndieshutters_infirmary"; name = "remote shutter control"; pixel_x = -25},/turf/simulated/shuttle/floor/white,/area/syndicate_station/start) -"wF" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor/white,/area/syndicate_station/start) +"wF" = (/obj/item/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor/white,/area/syndicate_station/start) "wG" = (/obj/machinery/door/window{dir = 1; name = "Secure Storage"; req_access = list(150)},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) -"wH" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/utility/full,/obj/item/device/multitool,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) -"wI" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/utility/full,/obj/item/device/multitool,/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) +"wH" = (/obj/structure/table/rack,/obj/item/storage/belt/utility/full,/obj/item/multitool,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) +"wI" = (/obj/structure/table/rack,/obj/item/storage/belt/utility/full,/obj/item/multitool,/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "wJ" = (/obj/machinery/button/remote/blast_door{id = "syndieshutters_telebay"; name = "remote shutter control"; pixel_x = 0; pixel_y = -25; req_access = list(150)},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "wK" = (/obj/machinery/button/remote/blast_door{id = "syndieshutters_workshop"; name = "remote shutter control"; pixel_x = 25},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "wL" = (/turf/unsimulated/wall,/area/centcom/security) "wM" = (/obj/machinery/door/airlock/centcom{name = "Administrative Office"; opacity = 1; req_access = list(108)},/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/centcom/command) "wN" = (/obj/effect/floor_decal/corner/yellow/diagonal,/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) -"wO" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/captain,/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet{dir = 9},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/command) +"wO" = (/obj/structure/bed/padded,/obj/item/bedsheet/captain,/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet{dir = 9},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/command) "wP" = (/obj/structure/table/standard,/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 5},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/command) -"wQ" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table/standard,/obj/item/weapon/surgical/surgicaldrill,/obj/item/weapon/surgical/cautery,/obj/item/weapon/surgical/retractor,/obj/item/stack/nanopaste,/turf/simulated/shuttle/floor/white,/area/syndicate_station/start) +"wQ" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table/standard,/obj/item/surgical/surgicaldrill,/obj/item/surgical/cautery,/obj/item/surgical/retractor,/obj/item/stack/nanopaste,/turf/simulated/shuttle/floor/white,/area/syndicate_station/start) "wR" = (/obj/machinery/door/window{dir = 1; name = "Surgery"; req_access = list(150)},/turf/simulated/shuttle/floor/white,/area/syndicate_station/start) -"wS" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table/standard,/obj/item/weapon/surgical/circular_saw,/obj/item/weapon/surgical/FixOVein{pixel_x = -6; pixel_y = 1},/obj/item/weapon/surgical/hemostat,/turf/simulated/shuttle/floor/white,/area/syndicate_station/start) -"wT" = (/obj/structure/table/standard,/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/storage/firstaid/toxin{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/firstaid/adv{pixel_x = 1},/obj/item/weapon/storage/firstaid/fire{pixel_x = 1},/obj/item/weapon/storage/firstaid/o2{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/firstaid/regular,/turf/simulated/shuttle/floor/white,/area/syndicate_station/start) -"wU" = (/obj/structure/table/standard,/obj/item/roller,/obj/item/roller,/obj/item/roller,/obj/item/device/defib_kit/compact/combat/loaded,/turf/simulated/shuttle/floor/white,/area/syndicate_station/start) -"wV" = (/obj/item/weapon/weldingtool,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) +"wS" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table/standard,/obj/item/surgical/circular_saw,/obj/item/surgical/FixOVein{pixel_x = -6; pixel_y = 1},/obj/item/surgical/hemostat,/turf/simulated/shuttle/floor/white,/area/syndicate_station/start) +"wT" = (/obj/structure/table/standard,/obj/structure/window/reinforced{dir = 8},/obj/item/storage/firstaid/toxin{pixel_x = 3; pixel_y = 3},/obj/item/storage/firstaid/adv{pixel_x = 1},/obj/item/storage/firstaid/fire{pixel_x = 1},/obj/item/storage/firstaid/o2{pixel_x = 3; pixel_y = 3},/obj/item/storage/firstaid/regular,/turf/simulated/shuttle/floor/white,/area/syndicate_station/start) +"wU" = (/obj/structure/table/standard,/obj/item/roller,/obj/item/roller,/obj/item/roller,/obj/item/defib_kit/compact/combat/loaded,/turf/simulated/shuttle/floor/white,/area/syndicate_station/start) +"wV" = (/obj/item/weldingtool,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "wW" = (/obj/structure/sign/securearea{name = "\improper CAUTION"; pixel_x = 32},/obj/machinery/light{dir = 4},/obj/structure/mopbucket,/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "wX" = (/obj/machinery/telecomms/allinone{intercept = 1},/obj/machinery/door/window/northright{name = "Telecoms Mainframe"; req_access = list(150)},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "wY" = (/obj/machinery/door/blast/regular{id = "syndieshutters_telebay"; name = "Outer Airlock"},/turf/simulated/shuttle/plating,/area/syndicate_station/start) "wZ" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/effect/floor_decal/corner/orange/full{dir = 8},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "xa" = (/obj/effect/floor_decal/corner/orange{dir = 5},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "xb" = (/obj/effect/wingrille_spawn/reinforced/crescent,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/security) -"xc" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/orange,/obj/effect/floor_decal/corner/orange{dir = 5},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) +"xc" = (/obj/structure/bed/padded,/obj/item/bedsheet/orange,/obj/effect/floor_decal/corner/orange{dir = 5},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "xd" = (/obj/structure/closet{name = "Prisoner's Locker"},/obj/effect/floor_decal/corner/orange{dir = 5},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) -"xe" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/orange,/obj/effect/floor_decal/corner/orange/full{dir = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) +"xe" = (/obj/structure/bed/padded,/obj/item/bedsheet/orange,/obj/effect/floor_decal/corner/orange/full{dir = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "xf" = (/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/centcom/command) "xg" = (/obj/machinery/computer/security/telescreen{name = "Spec. Ops. Monitor"; network = list("ERT")},/obj/structure/table/woodentable{dir = 5},/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/centcom/command) -"xh" = (/obj/machinery/computer/card/centcom,/obj/item/weapon/card/id/centcom,/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/centcom/command) +"xh" = (/obj/machinery/computer/card/centcom,/obj/item/card/id/centcom,/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/centcom/command) "xi" = (/obj/machinery/vending/cola,/obj/effect/floor_decal/corner/yellow/diagonal,/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) "xj" = (/obj/machinery/vending/cigarette,/obj/effect/floor_decal/corner/yellow/diagonal,/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) "xk" = (/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/command) @@ -1210,9 +1210,9 @@ "xn" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/turf/simulated/shuttle/floor,/area/supply/dock) "xo" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "supply_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = list(13)},/turf/simulated/shuttle/plating,/area/supply/dock) "xp" = (/obj/machinery/light/small{dir = 8},/turf/simulated/shuttle/floor/white,/area/syndicate_station/start) -"xq" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/closet/secure_closet/medical_wall{pixel_x = 32; pixel_y = 0; req_access = list(150)},/obj/item/weapon/tank/anesthetic,/obj/item/clothing/mask/breath/medical,/obj/item/clothing/mask/surgical,/obj/item/clothing/gloves/sterile/latex,/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/turf/simulated/shuttle/floor/white,/area/syndicate_station/start) +"xq" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/closet/secure_closet/medical_wall{pixel_x = 32; pixel_y = 0; req_access = list(150)},/obj/item/tank/anesthetic,/obj/item/clothing/mask/breath/medical,/obj/item/clothing/mask/surgical,/obj/item/clothing/gloves/sterile/latex,/obj/item/reagent_containers/syringe,/obj/item/reagent_containers/glass/bottle/stoxin,/obj/item/reagent_containers/glass/bottle/stoxin,/turf/simulated/shuttle/floor/white,/area/syndicate_station/start) "xr" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) -"xs" = (/obj/item/weapon/tool/crowbar,/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) +"xs" = (/obj/item/tool/crowbar,/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "xt" = (/obj/machinery/light/small{dir = 8},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "xu" = (/obj/structure/sign/nosmoking_2{pixel_x = 32},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "xv" = (/obj/machinery/door/airlock/external,/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/terminal) @@ -1224,9 +1224,9 @@ "xB" = (/obj/machinery/door/airlock/glass{name = "Brig Dormitories"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "xC" = (/obj/effect/floor_decal/corner/orange{dir = 6},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "xD" = (/obj/machinery/telecomms/relay/preset/centcom,/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/centcom/command) -"xE" = (/obj/item/weapon/stool/padded,/obj/effect/floor_decal/corner/yellow/diagonal,/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) -"xF" = (/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{pixel_x = 2; pixel_y = 6},/obj/structure/table/standard,/obj/effect/floor_decal/corner/yellow/diagonal,/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) -"xG" = (/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/structure/table/standard,/obj/effect/floor_decal/corner/yellow/diagonal,/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) +"xE" = (/obj/item/stool/padded,/obj/effect/floor_decal/corner/yellow/diagonal,/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) +"xF" = (/obj/item/reagent_containers/food/condiment/small/peppermill{pixel_x = 2; pixel_y = 6},/obj/structure/table/standard,/obj/effect/floor_decal/corner/yellow/diagonal,/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) +"xG" = (/obj/item/reagent_containers/food/drinks/cans/cola,/obj/structure/table/standard,/obj/effect/floor_decal/corner/yellow/diagonal,/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) "xH" = (/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet{dir = 9},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/command) "xI" = (/obj/structure/bed/chair/comfy/teal,/obj/effect/floor_decal/carpet{dir = 1},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/command) "xJ" = (/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 5},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/command) @@ -1234,38 +1234,38 @@ "xL" = (/obj/structure/closet/secure_closet/personal,/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 6},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/command) "xM" = (/obj/machinery/iv_drip,/turf/simulated/shuttle/floor/white,/area/syndicate_station/start) "xN" = (/obj/machinery/optable,/turf/simulated/shuttle/floor/white,/area/syndicate_station/start) -"xO" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/obj/structure/table/standard,/obj/item/weapon/surgical/scalpel,/obj/item/weapon/surgical/bonesetter,/obj/item/weapon/surgical/bonegel{pixel_x = 4; pixel_y = 3},/obj/item/stack/medical/advanced/bruise_pack,/turf/simulated/shuttle/floor/white,/area/syndicate_station/start) +"xO" = (/obj/item/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/obj/structure/table/standard,/obj/item/surgical/scalpel,/obj/item/surgical/bonesetter,/obj/item/surgical/bonegel{pixel_x = 4; pixel_y = 3},/obj/item/stack/medical/advanced/bruise_pack,/turf/simulated/shuttle/floor/white,/area/syndicate_station/start) "xP" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating/airless,/area/syndicate_station/start) "xQ" = (/obj/machinery/teleport/station,/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "xR" = (/obj/machinery/teleport/hub,/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "xS" = (/obj/structure/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) -"xT" = (/obj/structure/table/reinforced,/obj/item/device/taperecorder,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) -"xU" = (/turf/space,/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/plating/airless/carry,/area/syndicate_station/start) +"xT" = (/obj/structure/table/reinforced,/obj/item/taperecorder,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) +"xU" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "xV" = (/obj/structure/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "xW" = (/obj/effect/floor_decal/corner/orange,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) -"xX" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/orange,/obj/effect/floor_decal/corner/orange{dir = 10},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) +"xX" = (/obj/structure/bed/padded,/obj/item/bedsheet/orange,/obj/effect/floor_decal/corner/orange{dir = 10},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "xY" = (/obj/structure/closet{name = "Prisoner's Locker"},/obj/effect/floor_decal/corner/orange{dir = 10},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) -"xZ" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/orange,/obj/effect/floor_decal/corner/orange/full{dir = 4},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) -"ya" = (/obj/structure/table/rack,/obj/item/weapon/storage/secure/briefcase,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/flame/lighter/zippo,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/storage/backpack/satchel,/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/centcom/command) +"xZ" = (/obj/structure/bed/padded,/obj/item/bedsheet/orange,/obj/effect/floor_decal/corner/orange/full{dir = 4},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) +"ya" = (/obj/structure/table/rack,/obj/item/storage/secure/briefcase,/obj/item/storage/fancy/cigarettes,/obj/item/flame/lighter/zippo,/obj/item/storage/belt/utility,/obj/item/storage/backpack/satchel,/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/centcom/command) "yb" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/yellow/diagonal,/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) "yc" = (/obj/structure/bed/chair/comfy/teal{dir = 4},/obj/effect/floor_decal/carpet{dir = 8},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/command) -"yd" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/bananapeel,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/command) +"yd" = (/obj/structure/table/woodentable{dir = 5},/obj/item/bananapeel,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/command) "ye" = (/obj/structure/bed/chair/comfy/teal{dir = 8},/obj/effect/floor_decal/carpet{dir = 4},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/command) "yf" = (/obj/machinery/door/airlock/centcom{name = "Living Quarters"; opacity = 1; req_access = list(105)},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/command) -"yg" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"},/turf/simulated/shuttle/plating/airless/carry,/area/syndicate_station/start) -"yh" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "burst_l"},/turf/simulated/shuttle/plating/airless/carry{icon_state = "platform"; dir = 1},/area/supply/dock) -"yi" = (/turf/space,/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/plating/airless/carry{icon_state = "platform"; dir = 1},/area/supply/dock) +"yg" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"},/turf/simulated/shuttle/plating/airless/carry,/area/syndicate_station/start) +"yh" = (/turf/space,/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/plating/airless/carry,/area/syndicate_station/start) +"yi" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"},/turf/simulated/shuttle/plating/airless/carry,/area/syndicate_station/start) "yj" = (/obj/structure/table/woodentable{dir = 5},/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/centcom/command) "yk" = (/obj/structure/device/piano{dir = 4},/obj/effect/floor_decal/corner/yellow/diagonal,/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) "yl" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "mining_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"},/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/command) "ym" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/airless,/area/supply/dock) -"yn" = (/obj/structure/table/reinforced,/obj/item/weapon/material/minihoe,/obj/item/device/analyzer/plant_analyzer,/obj/effect/floor_decal/corner/orange{dir = 9},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) -"yo" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) -"yp" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/pill_bottle/dice,/obj/item/weapon/deck/cards,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) +"yn" = (/obj/structure/table/reinforced,/obj/item/material/minihoe,/obj/item/analyzer/plant_analyzer,/obj/effect/floor_decal/corner/orange{dir = 9},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) +"yo" = (/obj/structure/table/reinforced,/obj/item/book/codex/corp_regs,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) +"yp" = (/obj/structure/table/reinforced,/obj/item/storage/pill_bottle/dice,/obj/item/deck/cards,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "yq" = (/obj/effect/floor_decal/corner/orange{dir = 4},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "yr" = (/obj/structure/table/woodentable{dir = 10},/obj/machinery/button/remote/blast_door{name = "Spec Ops Ready Room"; pixel_y = 15; req_access = list(11); id = "CREED"},/obj/machinery/button/remote/blast_door{name = "Mech Storage"; icon_state = "doorctrl0"; pixel_y = 0; req_access = list(11); id = "ASSAULT"},/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/centcom/command) "ys" = (/obj/structure/bed/chair/office/dark{dir = 1},/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/centcom/command) -"yt" = (/obj/machinery/computer/pod{id = "NTrasen"; name = "Hull Door Control"},/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; frequency = 1441; name = "Spec Ops Intercom"; pixel_y = 28},/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/centcom/command) +"yt" = (/obj/machinery/computer/pod{id = "NTrasen"; name = "Hull Door Control"},/obj/item/radio/intercom{broadcasting = 1; dir = 1; frequency = 1441; name = "Spec Ops Intercom"; pixel_y = 28},/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/centcom/command) "yu" = (/obj/machinery/door/airlock/centcom{name = "Courthouse"; opacity = 1},/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/command) "yv" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "burst_l"},/turf/simulated/shuttle/plating/airless/carry{icon_state = "platform"; dir = 1},/area/supply/dock) "yw" = (/turf/space,/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/plating/airless/carry{icon_state = "platform"; dir = 1},/area/supply/dock) @@ -1273,13 +1273,13 @@ "yy" = (/obj/structure/table/reinforced,/obj/item/clothing/head/greenbandana,/obj/effect/floor_decal/corner/orange{dir = 9},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "yz" = (/obj/structure/bed/chair{dir = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "yA" = (/obj/structure/closet/secure_closet/hos,/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/centcom/command) -"yB" = (/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{pixel_x = -6},/obj/structure/table/standard,/obj/effect/floor_decal/corner/yellow/diagonal,/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) +"yB" = (/obj/item/reagent_containers/food/condiment/small/saltshaker{pixel_x = -6},/obj/structure/table/standard,/obj/effect/floor_decal/corner/yellow/diagonal,/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) "yC" = (/obj/machinery/vending/hydronutrients,/obj/effect/floor_decal/corner/orange/full,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "yD" = (/obj/machinery/vending/hydroseeds,/obj/effect/floor_decal/corner/orange{dir = 10},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "yE" = (/obj/effect/floor_decal/corner/orange{dir = 10},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "yF" = (/obj/effect/floor_decal/corner/orange{dir = 8},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "yG" = (/turf/unsimulated/wall,/area/centcom/restaurant) -"yH" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/storage/briefcase,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/command) +"yH" = (/obj/structure/table/woodentable{dir = 5},/obj/item/storage/briefcase,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/command) "yI" = (/obj/structure/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) "yJ" = (/obj/machinery/computer/secure_data,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) "yK" = (/obj/machinery/computer/med_data,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) @@ -1289,7 +1289,7 @@ "yO" = (/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) "yP" = (/turf/unsimulated/floor{icon_state = "steel"},/area/space) "yQ" = (/obj/effect/floor_decal/corner/orange{dir = 9},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) -"yR" = (/obj/item/weapon/stool/padded,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) +"yR" = (/obj/item/stool/padded,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "yS" = (/obj/machinery/computer/arcade/orion_trail,/obj/effect/floor_decal/corner/orange{dir = 6},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "yT" = (/obj/structure/kitchenspike,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/restaurant) "yU" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/restaurant) @@ -1297,52 +1297,52 @@ "yW" = (/obj/machinery/vending/dinnerware,/obj/effect/floor_decal/corner/white/diagonal,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/restaurant) "yX" = (/obj/effect/floor_decal/corner/white/diagonal,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/restaurant) "yY" = (/obj/structure/table/marble,/obj/machinery/chemical_dispenser/bar_soft/full,/obj/effect/floor_decal/corner/white/diagonal,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/restaurant) -"yZ" = (/obj/structure/table/marble,/obj/item/weapon/storage/box/glasses/square,/obj/item/weapon/storage/box/glasses/square,/obj/effect/floor_decal/corner/white/diagonal,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/restaurant) +"yZ" = (/obj/structure/table/marble,/obj/item/storage/box/glasses/square,/obj/item/storage/box/glasses/square,/obj/effect/floor_decal/corner/white/diagonal,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/restaurant) "za" = (/obj/structure/bed/chair/comfy/teal{dir = 1},/obj/effect/floor_decal/carpet,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/command) "zb" = (/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 6},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/command) "zc" = (/obj/machinery/computer/security,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) "zd" = (/obj/machinery/computer/crew,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) -"ze" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; frequency = 1443; listening = 0; name = "Spec Ops Intercom"; pixel_y = 28},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) +"ze" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/item/radio/intercom{broadcasting = 1; dir = 1; frequency = 1443; listening = 0; name = "Spec Ops Intercom"; pixel_y = 28},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) "zf" = (/obj/machinery/door/window{dir = 2; name = "AI Core Door"; req_access = list(109)},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) "zg" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) "zh" = (/obj/structure/closet/wardrobe/orange,/obj/effect/floor_decal/corner/orange/full{dir = 8},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "zi" = (/obj/structure/closet/wardrobe/orange,/obj/effect/floor_decal/corner/orange{dir = 5},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "zj" = (/obj/effect/floor_decal/corner/orange{dir = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) -"zk" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/donkpockets,/obj/item/weapon/storage/box/donkpockets,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 30},/obj/effect/floor_decal/corner/orange{dir = 6},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) -"zl" = (/obj/item/device/camera{desc = "A one use - polaroid camera. 30 photos left."; name = "detectives camera"; pictures_left = 30; pixel_x = 2; pixel_y = 3},/obj/effect/floor_decal/corner/red/full{dir = 8},/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) -"zm" = (/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/effect/floor_decal/corner/red{dir = 5},/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) +"zk" = (/obj/structure/table/reinforced,/obj/item/storage/box/donkpockets,/obj/item/storage/box/donkpockets,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 30},/obj/effect/floor_decal/corner/orange{dir = 6},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) +"zl" = (/obj/item/camera{desc = "A one use - polaroid camera. 30 photos left."; name = "detectives camera"; pictures_left = 30; pixel_x = 2; pixel_y = 3},/obj/effect/floor_decal/corner/red/full{dir = 8},/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) +"zm" = (/obj/item/paper_bin,/obj/item/pen,/obj/effect/floor_decal/corner/red{dir = 5},/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "zn" = (/obj/structure/table/reinforced,/obj/effect/floor_decal/corner/red{dir = 5},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "zo" = (/obj/structure/closet{name = "Evidence Closet"},/obj/effect/floor_decal/corner/red/full{dir = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "zp" = (/obj/machinery/chem_master/condimaster{name = "CondiMaster Neo"; pixel_x = -5},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/restaurant) "zq" = (/obj/structure/table/marble,/obj/effect/floor_decal/corner/white/diagonal,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/restaurant) -"zr" = (/obj/item/weapon/stool/padded,/obj/effect/floor_decal/corner/white/diagonal,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/restaurant) +"zr" = (/obj/item/stool/padded,/obj/effect/floor_decal/corner/white/diagonal,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/restaurant) "zs" = (/obj/structure/filingcabinet/filingcabinet,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) "zt" = (/obj/machinery/door/airlock/glass_security{name = "Spaceport Security Airlock"; req_access = list(63)},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "zu" = (/obj/structure/table/reinforced,/obj/machinery/microwave,/obj/effect/floor_decal/corner/orange{dir = 6},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) -"zv" = (/obj/item/weapon/storage/box/evidence,/obj/item/weapon/folder/red,/obj/effect/floor_decal/corner/red{dir = 9},/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) +"zv" = (/obj/item/storage/box/evidence,/obj/item/folder/red,/obj/effect/floor_decal/corner/red{dir = 9},/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "zw" = (/obj/effect/floor_decal/corner/red{dir = 6},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "zx" = (/obj/machinery/door/airlock/freezer,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/restaurant) -"zy" = (/obj/structure/table/marble,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/material/kitchen/rollingpin,/obj/effect/floor_decal/corner/white/diagonal,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/restaurant) +"zy" = (/obj/structure/table/marble,/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/material/kitchen/rollingpin,/obj/effect/floor_decal/corner/white/diagonal,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/restaurant) "zz" = (/obj/structure/bed/chair{dir = 4},/obj/effect/floor_decal/corner/white/diagonal,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/restaurant) "zA" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/white/diagonal,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/restaurant) "zB" = (/obj/structure/bed/chair{dir = 8},/obj/effect/floor_decal/corner/white/diagonal,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/restaurant) "zC" = (/obj/machinery/door/airlock/centcom{name = "Bridge"; opacity = 1; req_access = list(109)},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) -"zD" = (/obj/structure/table/reinforced,/obj/item/device/pda/captain,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) -"zE" = (/obj/structure/table/reinforced,/obj/item/weapon/card/id/gold/captain/spare,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) +"zD" = (/obj/structure/table/reinforced,/obj/item/pda/captain,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) +"zE" = (/obj/structure/table/reinforced,/obj/item/card/id/gold/captain/spare,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) "zF" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) "zG" = (/obj/structure/table/reinforced,/obj/machinery/recharger{pixel_y = 4},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) "zH" = (/turf/simulated/shuttle/wall,/area/shuttle/transport1/centcom) "zI" = (/obj/structure/grille,/obj/structure/shuttle/window,/turf/simulated/shuttle/plating,/area/shuttle/transport1/centcom) -"zJ" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"; dir = 4},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/transport1/centcom) +"zJ" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "burst_r"; dir = 4},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/transport1/centcom) "zK" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "centcom_shuttle_bay"; name = "shuttle bay controller"; pixel_x = -24; pixel_y = 0; tag_door = "centcom_shuttle_bay_door"},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/terminal) "zL" = (/obj/machinery/computer/arcade/battle,/obj/effect/floor_decal/corner/orange{dir = 10},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) -"zM" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/effect/floor_decal/corner/orange{dir = 10},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) +"zM" = (/obj/structure/table/reinforced,/obj/item/paper_bin,/obj/item/pen,/obj/effect/floor_decal/corner/orange{dir = 10},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "zN" = (/obj/structure/table/reinforced,/obj/machinery/newscaster{layer = 3.3; pixel_x = 27; pixel_y = 0},/obj/effect/floor_decal/corner/orange/full{dir = 4},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) -"zO" = (/obj/item/device/taperecorder,/obj/effect/floor_decal/corner/red/full,/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) +"zO" = (/obj/item/taperecorder,/obj/effect/floor_decal/corner/red/full,/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "zP" = (/obj/effect/floor_decal/corner/red{dir = 8},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "zQ" = (/obj/structure/closet/secure_closet/freezer/meat,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/restaurant) "zR" = (/obj/structure/table/standard,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/obj/effect/floor_decal/corner/white/diagonal,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/restaurant) -"zS" = (/obj/structure/table/marble,/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/food/condiment/enzyme,/obj/effect/floor_decal/corner/white/diagonal,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/restaurant) +"zS" = (/obj/structure/table/marble,/obj/item/reagent_containers/glass/beaker,/obj/item/reagent_containers/food/condiment/enzyme,/obj/effect/floor_decal/corner/white/diagonal,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/restaurant) "zT" = (/obj/machinery/door/airlock/centcom{name = "Teleporter Bay"; opacity = 1; req_access = list(107)},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) "zU" = (/obj/structure/bed/chair,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) "zV" = (/obj/machinery/computer/shuttle_control{req_access = list(101); shuttle_tag = "Centcom"},/obj/machinery/light{dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) @@ -1350,13 +1350,13 @@ "zX" = (/obj/structure/bed/chair,/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) "zY" = (/obj/structure/bed/chair,/obj/machinery/light{dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) "zZ" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating/airless,/area/shuttle/transport1/centcom) -"Aa" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "burst_l"; dir = 4},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/transport1/centcom) +"Aa" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 4},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/transport1/centcom) "Ab" = (/obj/effect/floor_decal/corner/red{dir = 9},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "Ac" = (/obj/effect/floor_decal/corner/red,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "Ad" = (/obj/effect/floor_decal/corner/red/full{dir = 4},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "Ae" = (/obj/structure/closet/secure_closet/bar,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/restaurant) "Af" = (/obj/structure/table/marble,/obj/effect/floor_decal/corner/white/diagonal,/obj/machinery/cash_register/civilian{icon_state = "register_idle"; dir = 8},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/restaurant) -"Ag" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/white/diagonal,/obj/item/weapon/reagent_containers/food/condiment/small/peppermill,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/restaurant) +"Ag" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/white/diagonal,/obj/item/reagent_containers/food/condiment/small/peppermill,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/restaurant) "Ah" = (/obj/machinery/computer/supplycomp/control,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) "Ai" = (/obj/machinery/button/remote/blast_door{id = "crescent_checkpoint_access"; name = "Crescent Checkpoint Access"; pixel_x = -6; pixel_y = -24; req_access = list(101)},/obj/machinery/button/remote/blast_door{id = "crescent_thunderdome"; name = "Thunderdome Access"; pixel_x = 6; pixel_y = -24; req_access = list(101)},/obj/machinery/button/remote/blast_door{id = "crescent_vip_shuttle"; name = "VIP Shuttle Access"; pixel_x = 6; pixel_y = -34; req_access = list(101)},/obj/machinery/turretid{pixel_x = 28; pixel_y = -28; req_access = list(101)},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) "Aj" = (/obj/machinery/computer/shuttle_control{req_access = list(101); shuttle_tag = "Centcom"},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) @@ -1370,7 +1370,7 @@ "Ar" = (/obj/effect/floor_decal/corner/red{dir = 5},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "As" = (/obj/effect/floor_decal/corner/red/full{dir = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "At" = (/obj/machinery/door/airlock/glass_security{name = "Security Processing"; req_access = list(1)},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) -"Au" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/white/diagonal,/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/restaurant) +"Au" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/white/diagonal,/obj/item/reagent_containers/food/condiment/small/saltshaker,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/restaurant) "Av" = (/obj/machinery/door/airlock/centcom{name = "Maintenance Access"; opacity = 1; req_access = list(106)},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) "Aw" = (/obj/machinery/computer/robotics,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) "Ax" = (/turf/unsimulated/wall,/area/centcom/main_hall) @@ -1379,9 +1379,9 @@ "AA" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) "AB" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/light,/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) "AC" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating/airless,/area/shuttle/transport1/centcom) -"AD" = (/turf/space,/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/escape/centcom) +"AD" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"; dir = 4},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/transport1/centcom) "AE" = (/obj/effect/floor_decal/corner/red{dir = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) -"AF" = (/obj/item/weapon/stool/padded,/obj/effect/floor_decal/corner/red{dir = 5},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) +"AF" = (/obj/item/stool/padded,/obj/effect/floor_decal/corner/red{dir = 5},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "AG" = (/obj/machinery/computer/secure_data,/obj/effect/floor_decal/corner/red/full{dir = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "AH" = (/obj/machinery/telecomms/receiver/preset_cent,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) "AI" = (/obj/machinery/telecomms/bus/preset_cent,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) @@ -1410,7 +1410,7 @@ "Bf" = (/obj/machinery/gateway/centerstation,/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/centcom/main_hall) "Bg" = (/obj/machinery/gateway{dir = 4},/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/centcom/main_hall) "Bh" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space,/area/space) -"Bi" = (/obj/structure/table/reinforced,/obj/item/weapon/folder/red,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) +"Bi" = (/obj/structure/table/reinforced,/obj/item/folder/red,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "Bj" = (/obj/machinery/turretid{pixel_x = -28; pixel_y = -28; req_access = list(101)},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/main_hall) "Bk" = (/obj/structure/bed/chair/office/dark,/obj/machinery/button/remote/blast_door{desc = "A remote control switch for port-side blast doors."; id = "CentComPort"; name = "Security Doors"; pixel_x = -12; pixel_y = -25; req_access = list(101)},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/main_hall) "Bl" = (/obj/machinery/computer/secure_data,/obj/machinery/camera/network/crescent{c_tag = "Crescent Arrivals North"; dir = 8},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/main_hall) @@ -1427,7 +1427,7 @@ "Bw" = (/obj/machinery/r_n_d/server/centcom,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) "Bx" = (/obj/machinery/door/blast/regular{id = "CentComPort"; name = "Security Doors"},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) "By" = (/obj/structure/table/reinforced,/obj/machinery/computer/skills,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/main_hall) -"Bz" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/main_hall) +"Bz" = (/obj/structure/table/reinforced,/obj/item/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/pen,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/main_hall) "BA" = (/obj/machinery/computer/teleporter,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) "BB" = (/obj/machinery/teleport/station,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) "BC" = (/obj/machinery/teleport/hub,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) @@ -1445,17 +1445,17 @@ "BO" = (/obj/effect/floor_decal/corner/white,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/terminal) "BP" = (/obj/effect/floor_decal/corner/white{dir = 5},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/terminal) "BQ" = (/obj/effect/floor_decal/corner/white{dir = 8},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/terminal) -"BR" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/window/brigdoor{dir = 4; name = "Weapons locker"},/obj/structure/table/rack,/obj/item/clothing/suit/armor/riot,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/shield/riot,/obj/item/clothing/head/helmet/riot,/obj/effect/floor_decal/corner/red{dir = 9},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) +"BR" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/window/brigdoor{dir = 4; name = "Weapons locker"},/obj/structure/table/rack,/obj/item/clothing/suit/armor/riot,/obj/item/melee/baton/loaded,/obj/item/shield/riot,/obj/item/clothing/head/helmet/riot,/obj/effect/floor_decal/corner/red{dir = 9},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "BS" = (/obj/structure/closet/secure_closet/security,/obj/effect/floor_decal/corner/red{dir = 6},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "BT" = (/obj/structure/bed/chair,/turf/simulated/shuttle/floor,/area/centcom/tram) "BU" = (/obj/structure/bed/chair,/obj/structure/closet/walllocker/emerglocker{pixel_x = 0; pixel_y = 28},/turf/simulated/shuttle/floor,/area/centcom/tram) "BV" = (/turf/simulated/shuttle/floor,/area/centcom/tram) -"BW" = (/obj/structure/bed/chair,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 0; pixel_y = 26},/turf/simulated/shuttle/floor,/area/centcom/tram) +"BW" = (/obj/structure/bed/chair,/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 0; pixel_y = 26},/turf/simulated/shuttle/floor,/area/centcom/tram) "BX" = (/obj/effect/floor_decal/spline/plain,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/tram) "BY" = (/obj/effect/floor_decal/corner/white{dir = 6; icon_state = "corner_white"},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/terminal) "BZ" = (/obj/effect/floor_decal/corner/white/diagonal{icon_state = "corner_white_diagonal"; dir = 4},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/terminal) "Ca" = (/obj/effect/floor_decal/corner/white{dir = 4},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/terminal) -"Cb" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/brigdoor{dir = 4; name = "Weapons locker"},/obj/structure/table/rack,/obj/item/clothing/suit/armor/riot,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/shield/riot,/obj/item/clothing/head/helmet/riot,/obj/structure/window/reinforced,/obj/effect/floor_decal/corner/red{dir = 9},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) +"Cb" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/brigdoor{dir = 4; name = "Weapons locker"},/obj/structure/table/rack,/obj/item/clothing/suit/armor/riot,/obj/item/melee/baton/loaded,/obj/item/shield/riot,/obj/item/clothing/head/helmet/riot,/obj/structure/window/reinforced,/obj/effect/floor_decal/corner/red{dir = 9},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "Cc" = (/obj/machinery/porta_turret/crescent,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/main_hall) "Cd" = (/obj/machinery/porta_turret/crescent,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/main_hall) "Ce" = (/obj/structure/grille,/obj/structure/window/shuttle{icon_state = "window2"},/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/tram) @@ -1464,7 +1464,7 @@ "Ch" = (/obj/effect/floor_decal/spline/plain{dir = 1},/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/tram) "Ci" = (/obj/effect/floor_decal/corner/white{icon_state = "corner_white"; dir = 1},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/terminal) "Cj" = (/obj/machinery/computer/card,/obj/effect/floor_decal/corner/red{dir = 6},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) -"Ck" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/brigdoor{dir = 4; name = "Weapons locker"},/obj/structure/table/rack,/obj/item/clothing/suit/armor/riot,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/shield/riot,/obj/item/clothing/head/helmet/riot,/obj/structure/window/reinforced{dir = 1},/obj/effect/floor_decal/corner/red{dir = 9},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) +"Ck" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/brigdoor{dir = 4; name = "Weapons locker"},/obj/structure/table/rack,/obj/item/clothing/suit/armor/riot,/obj/item/melee/baton/loaded,/obj/item/shield/riot,/obj/item/clothing/head/helmet/riot,/obj/structure/window/reinforced{dir = 1},/obj/effect/floor_decal/corner/red{dir = 9},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "Cl" = (/obj/effect/wingrille_spawn/reinforced/crescent,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/restaurant) "Cm" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/machinery/door/airlock/glass,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/restaurant) "Cn" = (/obj/structure/flora/grass/brown,/obj/effect/floor_decal/spline/fancy/wood{icon_state = "spline_fancy"; dir = 9},/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/centcom/main_hall) @@ -1482,7 +1482,7 @@ "Cz" = (/obj/structure/table/standard,/obj/structure/flora/pottedplant{icon_state = "plant-06"; pixel_y = 8},/obj/effect/floor_decal/corner/red{dir = 8},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "CA" = (/obj/structure/bed/chair/office/dark,/obj/machinery/button/remote/blast_door{desc = "A remote control switch for port-side blast doors."; id = "CentComPort"; name = "Security Doors"; pixel_x = -12; pixel_y = -25; req_access = list(101)},/obj/effect/floor_decal/corner/red,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "CB" = (/obj/machinery/computer/secure_data,/obj/machinery/camera/network/crescent{c_tag = "Crescent Arrivals North"; dir = 8},/obj/effect/floor_decal/corner/red/full{dir = 4},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) -"CC" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/brigdoor{dir = 4; name = "Weapons locker"},/obj/structure/table/rack,/obj/item/clothing/suit/armor/riot,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/shield/riot,/obj/item/clothing/head/helmet/riot,/obj/structure/window/reinforced,/obj/effect/floor_decal/corner/red/full,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) +"CC" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/brigdoor{dir = 4; name = "Weapons locker"},/obj/structure/table/rack,/obj/item/clothing/suit/armor/riot,/obj/item/melee/baton/loaded,/obj/item/shield/riot,/obj/item/clothing/head/helmet/riot,/obj/structure/window/reinforced,/obj/effect/floor_decal/corner/red/full,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "CD" = (/obj/structure/closet/secure_closet/security,/obj/effect/floor_decal/corner/red/full{dir = 4},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "CE" = (/obj/structure/flora/ausbushes/fernybush,/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/centcom/main_hall) "CF" = (/obj/structure/flora/ausbushes/brflowers,/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/centcom/main_hall) @@ -1499,10 +1499,10 @@ "CQ" = (/obj/machinery/computer/card,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/tram) "CR" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/shuttle/floor,/area/centcom/tram) "CS" = (/obj/structure/bed/chair{dir = 1},/obj/structure/closet/walllocker/emerglocker{pixel_x = 0; pixel_y = -30},/turf/simulated/shuttle/floor,/area/centcom/tram) -"CT" = (/obj/structure/bed/chair{dir = 1},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 0; pixel_y = -30},/turf/simulated/shuttle/floor,/area/centcom/tram) +"CT" = (/obj/structure/bed/chair{dir = 1},/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 0; pixel_y = -30},/turf/simulated/shuttle/floor,/area/centcom/tram) "CU" = (/obj/structure/table/woodentable{dir = 5},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/terminal) "CV" = (/obj/structure/table/reinforced,/obj/machinery/computer/skills,/obj/structure/window/reinforced{dir = 2; health = 1e+006},/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/corner/red/full,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) -"CW" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/obj/machinery/door/window/southright{name = "Arrivals Processing"; req_access = list(101)},/obj/structure/window/reinforced{dir = 4},/obj/effect/floor_decal/corner/red/full{dir = 4},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) +"CW" = (/obj/structure/table/reinforced,/obj/item/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/pen,/obj/machinery/door/window/southright{name = "Arrivals Processing"; req_access = list(101)},/obj/structure/window/reinforced{dir = 4},/obj/effect/floor_decal/corner/red/full{dir = 4},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "CX" = (/obj/structure/flora/ausbushes/brflowers,/obj/effect/floor_decal/spline/fancy/wood{icon_state = "spline_fancy"; dir = 9},/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/centcom/main_hall) "CY" = (/obj/structure/flora/ausbushes/ppflowers,/obj/effect/floor_decal/spline/fancy/wood{dir = 6},/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/centcom/main_hall) "CZ" = (/obj/structure/flora/ausbushes/ppflowers,/obj/effect/floor_decal/spline/fancy/wood{icon_state = "spline_fancy"; dir = 10},/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/centcom/main_hall) @@ -1517,17 +1517,17 @@ "Di" = (/obj/structure/bed/chair{dir = 8},/obj/effect/floor_decal/spline/plain,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/terminal) "Dj" = (/obj/structure/table/woodentable{dir = 5},/obj/structure/flora/pottedplant{pixel_y = 8},/obj/effect/floor_decal/spline/plain,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/terminal) "Dk" = (/obj/structure/bed/chair{dir = 4},/obj/effect/floor_decal/spline/plain,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/terminal) -"Dl" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/terminal) +"Dl" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/item/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/pen,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/terminal) "Dm" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "CentComPortWest"; name = "Security Doors"; opacity = 0},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/main_hall) "Dn" = (/obj/structure/flora/ausbushes/ppflowers,/obj/effect/floor_decal/spline/fancy/wood/cee,/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/centcom/main_hall) "Do" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/beach/sand{icon_state = "seashallow"},/area/centcom/main_hall) "Dp" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/beach/sand{icon_state = "seashallow"},/area/centcom/main_hall) "Dq" = (/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/beach/sand{icon_state = "seashallow"},/area/centcom/main_hall) "Dr" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced,/obj/machinery/computer/skills,/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/tram) -"Ds" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/obj/machinery/door/window/southright{name = "Arrivals Processing"; req_access = list(101)},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/tram) +"Ds" = (/obj/structure/table/reinforced,/obj/item/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/pen,/obj/machinery/door/window/southright{name = "Arrivals Processing"; req_access = list(101)},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/tram) "Dt" = (/obj/machinery/door/airlock/external,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/tram) "Du" = (/obj/structure/bed/chair/office/light{dir = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/terminal) -"Dv" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/terminal) +"Dv" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/table/reinforced,/obj/item/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/pen,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/terminal) "Dw" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/machinery/computer/skills,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/terminal) "Dx" = (/obj/machinery/turretid{pixel_x = 28; pixel_y = -28; req_access = list(101)},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/terminal) "Dy" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/terminal) @@ -1547,7 +1547,7 @@ "DM" = (/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/beach/sand{icon_state = "seashallow"},/area/centcom/main_hall) "DN" = (/obj/structure/bed/chair/office/light,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/terminal) "DO" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/terminal) -"DP" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/terminal) +"DP" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/table/reinforced,/obj/item/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/pen,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/terminal) "DQ" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/beach/sand{icon_state = "seashallow"},/area/centcom/main_hall) "DR" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/unsimulated/beach/sand{icon_state = "seashallow"},/area/centcom/main_hall) "DS" = (/obj/machinery/door/window/southleft,/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/terminal) @@ -1559,7 +1559,7 @@ "DY" = (/obj/structure/table/woodentable{dir = 5},/obj/structure/flora/pottedplant{pixel_y = 8},/obj/effect/floor_decal/spline/plain{dir = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/terminal) "DZ" = (/obj/structure/bed/chair{dir = 4},/obj/effect/floor_decal/spline/plain{dir = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/terminal) "Ea" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/structure/window/reinforced,/obj/machinery/computer/skills,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/terminal) -"Eb" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/table/reinforced,/obj/structure/window/reinforced,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/terminal) +"Eb" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/table/reinforced,/obj/structure/window/reinforced,/obj/item/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/pen,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/terminal) "Ec" = (/obj/structure/flora/ausbushes/ppflowers,/obj/effect/floor_decal/spline/fancy/wood/cee{dir = 1},/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/centcom/main_hall) "Ed" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/beach/sand{icon_state = "seashallow"},/area/centcom/main_hall) "Ee" = (/obj/structure/window/reinforced,/turf/unsimulated/beach/sand{icon_state = "seashallow"},/area/centcom/main_hall) @@ -1596,8 +1596,8 @@ "EJ" = (/obj/effect/floor_decal/corner/white{dir = 9; icon_state = "corner_white"},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/terminal) "EK" = (/obj/effect/floor_decal/corner/green{dir = 6},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "EL" = (/obj/effect/floor_decal/corner/beige{dir = 9},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"EM" = (/obj/item/weapon/stool/padded,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"EN" = (/obj/machinery/chemical_dispenser/ert,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/effect/floor_decal/corner/beige{dir = 6},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"EM" = (/obj/item/stool/padded,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"EN" = (/obj/machinery/chemical_dispenser/ert,/obj/item/reagent_containers/glass/beaker/large,/obj/effect/floor_decal/corner/beige{dir = 6},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "EO" = (/turf/unsimulated/wall,/area/centcom/bar) "EP" = (/obj/effect/wingrille_spawn/reinforced/crescent,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/bar) "EQ" = (/obj/machinery/door/airlock/glass,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) @@ -1609,7 +1609,7 @@ "EW" = (/obj/structure/bed/chair{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/effect/floor_decal/corner/green{dir = 6},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "EX" = (/obj/structure/bed/chair{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/corner/green{dir = 9},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "EY" = (/obj/structure/closet/secure_closet/chemical,/obj/effect/floor_decal/corner/beige{dir = 9},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"EZ" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/effect/floor_decal/corner/beige{dir = 6},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"EZ" = (/obj/structure/table/standard,/obj/item/reagent_containers/glass/beaker/large,/obj/item/reagent_containers/glass/beaker/large,/obj/effect/floor_decal/corner/beige{dir = 6},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "Fa" = (/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) "Fb" = (/obj/structure/table/woodentable{dir = 5},/obj/structure/flora/pottedplant{pixel_y = 8},/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) "Fc" = (/obj/structure/table/steel,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bathroom) @@ -1625,33 +1625,33 @@ "Fm" = (/obj/machinery/computer/med_data,/turf/simulated/shuttle/floor/white,/area/shuttle/escape/centcom) "Fn" = (/obj/effect/floor_decal/corner/green{dir = 8},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "Fo" = (/obj/structure/closet/secure_closet/medical1,/obj/effect/floor_decal/corner/beige{dir = 9},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"Fp" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/extinguisher,/obj/machinery/camera/network/crescent{c_tag = "Shuttle Bridge West"},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) +"Fp" = (/obj/structure/table/standard,/obj/item/storage/firstaid/fire,/obj/item/extinguisher,/obj/machinery/camera/network/crescent{c_tag = "Shuttle Bridge West"},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) "Fq" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) "Fr" = (/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"Fs" = (/obj/machinery/status_display{pixel_y = 30},/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/toxin,/obj/machinery/camera/network/crescent{c_tag = "Shuttle Bridge East"},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) +"Fs" = (/obj/machinery/status_display{pixel_y = 30},/obj/structure/table/standard,/obj/item/storage/firstaid/toxin,/obj/machinery/camera/network/crescent{c_tag = "Shuttle Bridge East"},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) "Ft" = (/obj/effect/floor_decal/corner/green{dir = 9},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "Fu" = (/obj/structure/closet/secure_closet/medical1,/obj/effect/floor_decal/corner/beige/full,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "Fv" = (/obj/effect/floor_decal/corner/beige{dir = 8},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "Fw" = (/obj/effect/floor_decal/corner/beige,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "Fx" = (/obj/machinery/chem_master,/obj/effect/floor_decal/corner/beige/full{dir = 4},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"Fy" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/amanita_pie,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) +"Fy" = (/obj/structure/table/woodentable{dir = 5},/obj/item/reagent_containers/food/snacks/amanita_pie,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) "Fz" = (/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 4},/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) "FA" = (/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 8},/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) -"FB" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/bigbiteburger,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) -"FC" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/slice/carrotcake/filled,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) -"FD" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/stew,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) -"FE" = (/obj/item/weapon/stool/padded,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bathroom) +"FB" = (/obj/structure/table/woodentable{dir = 5},/obj/item/reagent_containers/food/snacks/bigbiteburger,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) +"FC" = (/obj/structure/table/woodentable{dir = 5},/obj/item/reagent_containers/food/snacks/slice/carrotcake/filled,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) +"FD" = (/obj/structure/table/woodentable{dir = 5},/obj/item/reagent_containers/food/snacks/stew,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) +"FE" = (/obj/item/stool/padded,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bathroom) "FF" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "escape_shuttle"; pixel_x = 0; pixel_y = -25; req_one_access = list(13); tag_door = "escape_shuttle_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) "FG" = (/obj/machinery/hologram/holopad,/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) "FH" = (/obj/machinery/light,/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) "FI" = (/obj/effect/floor_decal/corner/beige{dir = 6},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"FJ" = (/obj/structure/closet/secure_closet/medical_wall{name = "Pill Cabinet"},/obj/item/weapon/storage/pill_bottle/antitox,/obj/item/weapon/storage/pill_bottle/tramadol,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/inaprovaline,/turf/unsimulated/wall,/area/centcom/medical) -"FK" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/boiledrice,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) -"FL" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/beetsoup,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) -"FM" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/stuffing,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) -"FN" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/soylenviridians,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) +"FJ" = (/obj/structure/closet/secure_closet/medical_wall{name = "Pill Cabinet"},/obj/item/storage/pill_bottle/antitox,/obj/item/storage/pill_bottle/tramadol,/obj/item/reagent_containers/syringe/antiviral,/obj/item/reagent_containers/syringe/antiviral,/obj/item/reagent_containers/syringe/inaprovaline,/turf/unsimulated/wall,/area/centcom/medical) +"FK" = (/obj/structure/table/woodentable{dir = 5},/obj/item/reagent_containers/food/snacks/boiledrice,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) +"FL" = (/obj/structure/table/woodentable{dir = 5},/obj/item/reagent_containers/food/snacks/beetsoup,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) +"FM" = (/obj/structure/table/woodentable{dir = 5},/obj/item/reagent_containers/food/snacks/stuffing,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) +"FN" = (/obj/structure/table/woodentable{dir = 5},/obj/item/reagent_containers/food/snacks/soylenviridians,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) "FO" = (/obj/structure/table/standard,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = -30},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/main_hall) -"FP" = (/obj/item/weapon/stool/padded,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/main_hall) +"FP" = (/obj/item/stool/padded,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/main_hall) "FQ" = (/obj/structure/table/standard,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 30},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/main_hall) "FR" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) "FS" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/shuttle/floor/white,/area/shuttle/escape/centcom) @@ -1672,23 +1672,23 @@ "Gh" = (/obj/structure/table/glass,/obj/structure/window/reinforced{dir = 1},/obj/effect/floor_decal/corner/green{dir = 5},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "Gi" = (/obj/structure/table/glass,/obj/machinery/computer/med_data/laptop,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/effect/floor_decal/corner/green/full{dir = 1},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "Gj" = (/obj/structure/closet/secure_closet/medical3,/obj/effect/floor_decal/corner/green{dir = 6},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"Gk" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/bloodsoup,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) -"Gl" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/tofukabob,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) -"Gm" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/poppypretzel,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) -"Gn" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/slice/orangecake/filled,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) +"Gk" = (/obj/structure/table/woodentable{dir = 5},/obj/item/reagent_containers/food/snacks/bloodsoup,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) +"Gl" = (/obj/structure/table/woodentable{dir = 5},/obj/item/reagent_containers/food/snacks/tofukabob,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) +"Gm" = (/obj/structure/table/woodentable{dir = 5},/obj/item/reagent_containers/food/snacks/poppypretzel,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) +"Gn" = (/obj/structure/table/woodentable{dir = 5},/obj/item/reagent_containers/food/snacks/slice/orangecake/filled,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) "Go" = (/obj/machinery/atm{pixel_x = -30},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/main_hall) "Gp" = (/obj/machinery/atm{pixel_x = 30},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/main_hall) "Gq" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/shuttle/floor/red,/area/shuttle/escape/centcom) "Gr" = (/obj/machinery/status_display{pixel_y = 30},/obj/machinery/camera/network/crescent{c_tag = "Shuttle Cell"},/turf/simulated/shuttle/floor/red,/area/shuttle/escape/centcom) -"Gs" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 30},/obj/structure/bed/chair{dir = 8},/obj/machinery/light/small{dir = 1},/turf/simulated/shuttle/floor/red,/area/shuttle/escape/centcom) +"Gs" = (/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 30},/obj/structure/bed/chair{dir = 8},/obj/machinery/light/small{dir = 1},/turf/simulated/shuttle/floor/red,/area/shuttle/escape/centcom) "Gt" = (/obj/machinery/computer/crew,/obj/effect/floor_decal/corner/green{dir = 4},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "Gu" = (/obj/structure/bed/chair/office/light{dir = 1},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "Gv" = (/obj/machinery/computer/med_data,/obj/effect/floor_decal/corner/green{dir = 5},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "Gw" = (/obj/machinery/iv_drip,/obj/effect/floor_decal/corner/green{dir = 6},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"Gx" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/spesslaw,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) -"Gy" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/candiedapple,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) -"Gz" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/mushroomsoup,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) -"GA" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/meatsteak,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) +"Gx" = (/obj/structure/table/woodentable{dir = 5},/obj/item/reagent_containers/food/snacks/spesslaw,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) +"Gy" = (/obj/structure/table/woodentable{dir = 5},/obj/item/reagent_containers/food/snacks/candiedapple,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) +"Gz" = (/obj/structure/table/woodentable{dir = 5},/obj/item/reagent_containers/food/snacks/mushroomsoup,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) +"GA" = (/obj/structure/table/woodentable{dir = 5},/obj/item/reagent_containers/food/snacks/meatsteak,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) "GB" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/bathroom) "GC" = (/obj/structure/sink{pixel_y = 16},/obj/structure/mirror{pixel_y = 32},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/bathroom) "GD" = (/obj/structure/window/reinforced/tinted{dir = 4; icon_state = "twindow"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/bathroom) @@ -1698,9 +1698,9 @@ "GH" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/shuttle/floor/red,/area/shuttle/escape/centcom) "GI" = (/obj/machinery/hologram/holopad,/turf/simulated/shuttle/floor/red,/area/shuttle/escape/centcom) "GJ" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/shuttle/floor/red,/area/shuttle/escape/centcom) -"GK" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/medical,/obj/effect/floor_decal/corner/green{dir = 6},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"GK" = (/obj/structure/bed/padded,/obj/item/bedsheet/medical,/obj/effect/floor_decal/corner/green{dir = 6},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "GL" = (/turf/simulated/shuttle/floor/red,/area/shuttle/escape/centcom) -"GM" = (/obj/item/weapon/stool/padded,/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/bar) +"GM" = (/obj/item/stool/padded,/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/bar) "GN" = (/turf/unsimulated/wall,/area/tdome) "GO" = (/obj/effect/wingrille_spawn/reinforced/crescent,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/tdome) "GP" = (/obj/machinery/door/airlock/centcom{name = "Thunderdome"; opacity = 1; req_access = list(101)},/obj/machinery/door/blast/regular{id = "crescent_thunderdome"; name = "Thunderdome"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) @@ -1710,12 +1710,12 @@ "GT" = (/obj/machinery/door/airlock{name = "Unit 4"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/bathroom) "GU" = (/obj/machinery/door/airlock{name = "Unit 5"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/bathroom) "GV" = (/obj/machinery/door/airlock{name = "Unit 6"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/bathroom) -"GW" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 3},/obj/item/weapon/extinguisher,/obj/item/weapon/tool/crowbar,/turf/simulated/shuttle/floor/white,/area/shuttle/escape/centcom) +"GW" = (/obj/structure/table/standard,/obj/item/storage/firstaid/fire,/obj/item/storage/firstaid/regular{pixel_x = 2; pixel_y = 3},/obj/item/extinguisher,/obj/item/tool/crowbar,/turf/simulated/shuttle/floor/white,/area/shuttle/escape/centcom) "GX" = (/obj/machinery/door/airlock/glass_security{name = "Escape Shuttle Cell"; req_access = list(1)},/turf/simulated/shuttle/floor/red,/area/shuttle/escape/centcom) -"GY" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/flame/lighter/zippo,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/material/ashtray/bronze{pixel_x = -1; pixel_y = 1},/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) -"GZ" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/flame/lighter/zippo,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/material/ashtray/bronze{pixel_x = -1; pixel_y = 1},/obj/machinery/camera/network/crescent{c_tag = "Crescent Bar East"; dir = 4},/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) +"GY" = (/obj/structure/table/woodentable{dir = 5},/obj/item/flame/lighter/zippo,/obj/item/storage/fancy/cigarettes,/obj/item/material/ashtray/bronze{pixel_x = -1; pixel_y = 1},/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) +"GZ" = (/obj/structure/table/woodentable{dir = 5},/obj/item/flame/lighter/zippo,/obj/item/storage/fancy/cigarettes,/obj/item/material/ashtray/bronze{pixel_x = -1; pixel_y = 1},/obj/machinery/camera/network/crescent{c_tag = "Crescent Bar East"; dir = 4},/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) "Ha" = (/turf/unsimulated/floor{icon_state = "wood"},/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/bar) -"Hb" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/drinks/glass2/square,/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/bar) +"Hb" = (/obj/structure/table/woodentable{dir = 5},/obj/item/reagent_containers/food/drinks/glass2/square,/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/bar) "Hc" = (/obj/structure/table/woodentable{dir = 5},/obj/machinery/cash_register/civilian,/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/bar) "Hd" = (/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) "He" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) @@ -1727,8 +1727,8 @@ "Hk" = (/obj/machinery/camera/network/crescent{c_tag = "Shuttle Center"},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) "Hl" = (/obj/machinery/vending/medical,/turf/unsimulated/wall,/area/centcom/medical) "Hm" = (/obj/machinery/vending/medical,/obj/effect/floor_decal/corner/green{dir = 10},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"Hn" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/blood/AMinus,/obj/item/weapon/reagent_containers/blood/APlus,/obj/item/weapon/reagent_containers/blood/BMinus,/obj/item/weapon/reagent_containers/blood/BPlus,/obj/item/weapon/reagent_containers/blood/OPlus,/obj/effect/floor_decal/corner/green{dir = 10},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"Ho" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/effect/floor_decal/corner/green/full{dir = 4},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"Hn" = (/obj/structure/table/standard,/obj/item/reagent_containers/blood/AMinus,/obj/item/reagent_containers/blood/APlus,/obj/item/reagent_containers/blood/BMinus,/obj/item/reagent_containers/blood/BPlus,/obj/item/reagent_containers/blood/OPlus,/obj/effect/floor_decal/corner/green{dir = 10},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"Ho" = (/obj/structure/table/standard,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/effect/floor_decal/corner/green/full{dir = 4},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "Hp" = (/obj/structure/bed/chair/comfy/brown,/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 9},/turf/unsimulated/floor{dir = 2; icon_state = "carpet"},/area/centcom/bar) "Hq" = (/obj/structure/bed/chair/comfy/brown,/obj/effect/floor_decal/carpet{dir = 1},/turf/unsimulated/floor{dir = 2; icon_state = "carpet"},/area/centcom/bar) "Hr" = (/obj/structure/bed/chair/comfy/brown,/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 5},/turf/unsimulated/floor{dir = 2; icon_state = "carpet"},/area/centcom/bar) @@ -1750,9 +1750,9 @@ "HH" = (/obj/effect/floor_decal/carpet{dir = 4},/turf/unsimulated/floor{dir = 2; icon_state = "carpet"},/area/centcom/bar) "HI" = (/obj/structure/curtain/open/shower,/obj/machinery/shower,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/bathroom) "HJ" = (/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/bathroom) -"HK" = (/obj/structure/bed/chair{dir = 4},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/machinery/camera/network/crescent{c_tag = "Shuttle West"; dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor/white,/area/shuttle/escape/centcom) +"HK" = (/obj/structure/bed/chair{dir = 4},/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/machinery/camera/network/crescent{c_tag = "Shuttle West"; dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor/white,/area/shuttle/escape/centcom) "HL" = (/obj/structure/bed/chair{dir = 8},/obj/structure/closet/walllocker/emerglocker{pixel_x = 28},/obj/machinery/camera/network/crescent{c_tag = "Shuttle East"; dir = 8},/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor/white,/area/shuttle/escape/centcom) -"HM" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/adv,/obj/item/weapon/storage/firstaid/adv,/obj/effect/floor_decal/corner/green{dir = 6},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"HM" = (/obj/structure/table/standard,/obj/item/storage/firstaid/adv,/obj/item/storage/firstaid/adv,/obj/effect/floor_decal/corner/green{dir = 6},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "HN" = (/obj/effect/floor_decal/corner/blue{dir = 4},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "HO" = (/obj/machinery/atmospherics/unary/cryo_cell,/obj/effect/floor_decal/corner/blue{dir = 5},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "HP" = (/obj/machinery/atmospherics/unary/cryo_cell,/obj/effect/floor_decal/corner/blue/full{dir = 1},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) @@ -1760,30 +1760,30 @@ "HR" = (/obj/structure/bed/chair/comfy/brown{dir = 1},/obj/effect/floor_decal/carpet,/turf/unsimulated/floor{dir = 2; icon_state = "carpet"},/area/centcom/bar) "HS" = (/obj/structure/bed/chair/comfy/brown{dir = 1},/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 6},/turf/unsimulated/floor{dir = 2; icon_state = "carpet"},/area/centcom/bar) "HT" = (/obj/structure/closet/secure_closet/bar{req_access = list(25)},/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/bar) -"HU" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/book/manual/barman_recipes,/obj/item/weapon/reagent_containers/glass/rag,/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/bar) +"HU" = (/obj/structure/table/woodentable{dir = 5},/obj/item/book/manual/barman_recipes,/obj/item/reagent_containers/glass/rag,/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/bar) "HV" = (/obj/structure/table/woodentable{dir = 5},/obj/machinery/chemical_dispenser/bar_alc/full,/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/bar) "HW" = (/obj/structure/table/woodentable{dir = 5},/obj/machinery/chemical_dispenser/bar_soft/full,/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/bar) "HX" = (/obj/machinery/porta_turret/crescent,/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/tram) "HY" = (/obj/machinery/sleeper{dir = 8},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "HZ" = (/obj/machinery/sleep_console,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"Ia" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/fire,/obj/effect/floor_decal/corner/green{dir = 6},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"Ia" = (/obj/structure/table/standard,/obj/item/storage/firstaid/fire,/obj/item/storage/firstaid/fire,/obj/effect/floor_decal/corner/green{dir = 6},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "Ib" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "Ic" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "Id" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"},/obj/effect/floor_decal/corner/blue{dir = 6},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "Ie" = (/obj/structure/curtain/open/shower,/obj/machinery/shower{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/bathroom) "If" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "centcom_dock"; name = "docking port controller"; pixel_x = 25; pixel_y = 0; req_one_access = list(13); tag_door = "centcom_dock_airlock"},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/terminal) "Ig" = (/obj/machinery/iv_drip,/obj/effect/floor_decal/corner/green{dir = 9},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"Ih" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/toxin,/obj/effect/floor_decal/corner/green{dir = 6},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"Ih" = (/obj/structure/table/standard,/obj/item/storage/firstaid/toxin,/obj/item/storage/firstaid/toxin,/obj/effect/floor_decal/corner/green{dir = 6},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "Ii" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "Ij" = (/obj/structure/morgue,/obj/effect/floor_decal/corner/blue/full{dir = 8},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "Ik" = (/obj/effect/floor_decal/corner/blue{dir = 5},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "Il" = (/obj/structure/morgue{icon_state = "morgue1"; dir = 8},/obj/effect/floor_decal/corner/blue/full{dir = 1},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "Im" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access = list(101)},/obj/machinery/door/blast/regular{id = "crescent_thunderdome"; name = "Thunderdome"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) -"In" = (/obj/structure/bed/roller,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/structure/closet/secure_closet/medical_wall{name = "O- Blood Locker"; pixel_x = -32},/obj/effect/floor_decal/corner/green{dir = 9},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"In" = (/obj/structure/bed/roller,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/structure/closet/secure_closet/medical_wall{name = "O- Blood Locker"; pixel_x = -32},/obj/effect/floor_decal/corner/green{dir = 9},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "Io" = (/obj/machinery/bodyscanner{dir = 8},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "Ip" = (/obj/machinery/body_scanconsole,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"Iq" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/o2,/obj/item/weapon/storage/firstaid/o2,/obj/effect/floor_decal/corner/green{dir = 6},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"Ir" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 5; pixel_y = 5},/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 0; pixel_y = 0},/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 7; pixel_y = 1},/obj/item/weapon/tool/wrench,/obj/effect/floor_decal/corner/blue/full,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"Iq" = (/obj/structure/table/standard,/obj/item/storage/firstaid/o2,/obj/item/storage/firstaid/o2,/obj/effect/floor_decal/corner/green{dir = 6},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"Ir" = (/obj/structure/table/standard,/obj/item/reagent_containers/glass/beaker/cryoxadone{pixel_x = 5; pixel_y = 5},/obj/item/reagent_containers/glass/beaker/cryoxadone{pixel_x = 0; pixel_y = 0},/obj/item/reagent_containers/glass/beaker/cryoxadone{pixel_x = 7; pixel_y = 1},/obj/item/tool/wrench,/obj/effect/floor_decal/corner/blue/full,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "Is" = (/obj/effect/floor_decal/corner/blue{dir = 8},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "It" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/oxygen/prechilled,/obj/effect/floor_decal/corner/blue,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "Iu" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/oxygen/prechilled,/obj/effect/floor_decal/corner/blue/full{dir = 4},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) @@ -1791,8 +1791,8 @@ "Iw" = (/obj/structure/morgue{icon_state = "morgue1"; dir = 8},/obj/effect/floor_decal/corner/blue{dir = 6},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "Ix" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access = list(101)},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) "Iy" = (/obj/structure/bed/chair{dir = 4},/obj/structure/closet/walllocker/emerglocker{pixel_x = -28},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor/white,/area/shuttle/escape/centcom) -"Iz" = (/obj/structure/bed/chair{dir = 8},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 26},/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor/white,/area/shuttle/escape/centcom) -"IA" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/firstaid/regular,/obj/effect/floor_decal/corner/green{dir = 6},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"Iz" = (/obj/structure/bed/chair{dir = 8},/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 26},/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor/white,/area/shuttle/escape/centcom) +"IA" = (/obj/structure/table/standard,/obj/item/storage/firstaid/regular,/obj/item/storage/firstaid/regular,/obj/effect/floor_decal/corner/green{dir = 6},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "IB" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = "GeneticsDoor"; name = "Cloning Laboratory"; req_access = list(66)},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "IC" = (/obj/structure/closet/secure_closet/bar,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) "ID" = (/turf/unsimulated/floor{icon_state = "white"},/area/tdome) @@ -1802,11 +1802,11 @@ "IH" = (/obj/machinery/door/airlock/medical{name = "Virology Access"; req_access = list(5)},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "II" = (/obj/effect/floor_decal/corner/blue/full{dir = 8},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "IJ" = (/obj/effect/floor_decal/corner/blue{dir = 1},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"IK" = (/obj/structure/closet/crate/freezer,/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,/obj/effect/floor_decal/corner/blue{dir = 5},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"IK" = (/obj/structure/closet/crate/freezer,/obj/item/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/reagent_containers/food/snacks/meat/syntiflesh,/obj/effect/floor_decal/corner/blue{dir = 5},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "IL" = (/obj/structure/filingcabinet/chestdrawer{desc = "A large drawer filled with autopsy reports."; name = "Autopsy Reports"},/obj/effect/floor_decal/corner/blue{dir = 6},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "IM" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeobserve) -"IN" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer,/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer,/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer,/obj/item/weapon/flame/lighter/zippo,/obj/item/weapon/storage/fancy/cigarettes,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeobserve) -"IO" = (/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeobserve) +"IN" = (/obj/structure/table/standard,/obj/item/reagent_containers/food/drinks/bottle/small/beer,/obj/item/reagent_containers/food/drinks/bottle/small/beer,/obj/item/reagent_containers/food/drinks/bottle/small/beer,/obj/item/flame/lighter/zippo,/obj/item/storage/fancy/cigarettes,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeobserve) +"IO" = (/obj/item/reagent_containers/food/drinks/cans/cola,/obj/item/reagent_containers/food/drinks/cans/cola,/obj/item/reagent_containers/food/drinks/cans/cola,/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeobserve) "IP" = (/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeobserve) "IQ" = (/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeobserve) "IR" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeobserve) @@ -1816,7 +1816,7 @@ "IV" = (/obj/structure/closet/l3closet/virology,/obj/item/clothing/mask/gas,/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "IW" = (/obj/machinery/door/airlock/medical{name = "Morgue"; req_access = list(6,5)},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "IX" = (/obj/machinery/optable,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"IY" = (/obj/item/device/camera{name = "Autopsy Camera"; pixel_x = -2; pixel_y = 7},/obj/item/weapon/paper_bin{pixel_y = -6},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = -9},/obj/item/weapon/pen/blue{pixel_x = 3; pixel_y = -5},/obj/structure/table/standard,/obj/effect/floor_decal/corner/blue{dir = 6},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"IY" = (/obj/item/camera{name = "Autopsy Camera"; pixel_x = -2; pixel_y = 7},/obj/item/paper_bin{pixel_y = -6},/obj/item/pen/red{pixel_x = -1; pixel_y = -9},/obj/item/pen/blue{pixel_x = 3; pixel_y = -5},/obj/structure/table/standard,/obj/effect/floor_decal/corner/blue{dir = 6},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "IZ" = (/obj/structure/closet/secure_closet/freezer/meat,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) "Ja" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) "Jb" = (/obj/structure/bed/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeobserve) @@ -1834,23 +1834,23 @@ "Jn" = (/obj/machinery/computer/cloning,/obj/effect/floor_decal/corner/blue{dir = 10},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "Jo" = (/obj/machinery/dna_scannernew,/obj/effect/floor_decal/corner/blue{dir = 10},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "Jp" = (/obj/structure/closet/wardrobe/white,/obj/effect/floor_decal/corner/blue{dir = 10},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"Jq" = (/obj/structure/table/standard,/obj/item/weapon/book/manual/medical_cloning,/obj/effect/floor_decal/corner/blue{dir = 10},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"Jr" = (/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/storage/box/bodybags,/obj/structure/table/standard,/obj/effect/floor_decal/corner/blue{dir = 10},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"Jq" = (/obj/structure/table/standard,/obj/item/book/manual/medical_cloning,/obj/effect/floor_decal/corner/blue{dir = 10},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"Jr" = (/obj/item/storage/box/bodybags,/obj/item/storage/box/bodybags,/obj/structure/table/standard,/obj/effect/floor_decal/corner/blue{dir = 10},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "Js" = (/obj/effect/floor_decal/corner/blue{dir = 10},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"Jt" = (/obj/item/weapon/autopsy_scanner,/obj/item/weapon/surgical/scalpel,/obj/structure/table/standard,/obj/effect/floor_decal/corner/blue/full{dir = 4},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"Ju" = (/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) +"Jt" = (/obj/item/autopsy_scanner,/obj/item/surgical/scalpel,/obj/structure/table/standard,/obj/effect/floor_decal/corner/blue/full{dir = 4},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"Ju" = (/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) "Jv" = (/obj/structure/table/standard,/obj/machinery/microwave,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) "Jw" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) "Jx" = (/obj/machinery/computer/security/telescreen,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeobserve) -"Jy" = (/obj/item/device/camera,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeobserve) +"Jy" = (/obj/item/camera,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeobserve) "Jz" = (/obj/structure/disposalpipe/segment,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeobserve) "JA" = (/obj/structure/closet/walllocker/emerglocker{pixel_x = -28},/turf/simulated/shuttle/floor/yellow,/area/shuttle/escape/centcom) "JB" = (/obj/structure/closet/hydrant{pixel_x = 30; pixel_y = 0},/turf/simulated/shuttle/floor/yellow,/area/shuttle/escape/centcom) "JC" = (/obj/machinery/atmospherics/unary/cryo_cell{layer = 3.3},/turf/simulated/shuttle/floor/white,/area/shuttle/escape/centcom) "JD" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/oxygen/prechilled,/turf/simulated/shuttle/floor/white,/area/shuttle/escape/centcom) "JE" = (/turf/simulated/shuttle/floor/white,/area/shuttle/escape/centcom) -"JF" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = -4; pixel_y = 0},/obj/item/weapon/tool/wrench,/turf/simulated/shuttle/floor/white,/area/shuttle/escape/centcom) -"JG" = (/obj/structure/closet/crate/medical,/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/weapon/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/obj/item/weapon/storage/box/masks{pixel_x = 0; pixel_y = 0},/obj/item/weapon/storage/box/gloves{pixel_x = 3; pixel_y = 4},/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/fire{layer = 2.9; pixel_x = 2; pixel_y = 3},/obj/item/weapon/storage/firstaid/adv{pixel_x = -2},/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/turf/simulated/shuttle/floor/white,/area/shuttle/escape/centcom) +"JF" = (/obj/structure/table/standard,/obj/item/reagent_containers/glass/beaker/cryoxadone{pixel_x = -4; pixel_y = 0},/obj/item/tool/wrench,/turf/simulated/shuttle/floor/white,/area/shuttle/escape/centcom) +"JG" = (/obj/structure/closet/crate/medical,/obj/item/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/obj/item/storage/box/masks{pixel_x = 0; pixel_y = 0},/obj/item/storage/box/gloves{pixel_x = 3; pixel_y = 4},/obj/item/storage/firstaid/toxin,/obj/item/storage/firstaid/fire{layer = 2.9; pixel_x = 2; pixel_y = 3},/obj/item/storage/firstaid/adv{pixel_x = -2},/obj/item/reagent_containers/blood/empty,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/turf/simulated/shuttle/floor/white,/area/shuttle/escape/centcom) "JH" = (/obj/structure/closet/hydrant{pixel_x = -30; pixel_y = 0},/turf/simulated/shuttle/floor/yellow,/area/shuttle/escape/centcom) "JI" = (/obj/structure/closet/walllocker/emerglocker{pixel_x = 28},/turf/simulated/shuttle/floor/yellow,/area/shuttle/escape/centcom) "JJ" = (/obj/effect/floor_decal/corner/pink,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) @@ -1865,27 +1865,27 @@ "JS" = (/obj/machinery/vending/wallmed1{layer = 3.3; name = "Emergency NanoMed"; pixel_x = 28; pixel_y = 0},/obj/structure/bed/chair{dir = 8},/turf/simulated/shuttle/floor/white,/area/shuttle/escape/centcom) "JT" = (/obj/machinery/door/airlock/medical{name = "Operating Theatre"; req_access = list(45)},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "JU" = (/obj/machinery/disease2/incubator,/obj/effect/floor_decal/corner/green/full{dir = 8},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"JV" = (/obj/item/weapon/storage/box/syringes{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/beakers,/obj/item/weapon/reagent_containers/dropper,/obj/structure/table/glass,/obj/structure/reagent_dispensers/virusfood{pixel_x = 0; pixel_y = 28},/obj/effect/floor_decal/corner/green{dir = 5},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"JV" = (/obj/item/storage/box/syringes{pixel_x = 4; pixel_y = 4},/obj/item/storage/box/beakers,/obj/item/reagent_containers/dropper,/obj/structure/table/glass,/obj/structure/reagent_dispensers/virusfood{pixel_x = 0; pixel_y = 28},/obj/effect/floor_decal/corner/green{dir = 5},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "JW" = (/obj/machinery/disease2/isolator,/obj/effect/floor_decal/corner/green/full{dir = 1},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "JX" = (/obj/effect/floor_decal/corner/green/full{dir = 8},/obj/machinery/computer/arcade/orion_trail,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"JY" = (/obj/effect/floor_decal/corner/green{dir = 5},/obj/item/weapon/stool/padded,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"JZ" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/green,/obj/effect/floor_decal/corner/green{dir = 5},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"Ka" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/green,/obj/effect/floor_decal/corner/green/full{dir = 1},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"Kb" = (/obj/structure/table/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/weapon/melee/energy/axe,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) +"JY" = (/obj/effect/floor_decal/corner/green{dir = 5},/obj/item/stool/padded,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"JZ" = (/obj/structure/bed/padded,/obj/item/bedsheet/green,/obj/effect/floor_decal/corner/green{dir = 5},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"Ka" = (/obj/structure/bed/padded,/obj/item/bedsheet/green,/obj/effect/floor_decal/corner/green/full{dir = 1},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"Kb" = (/obj/structure/table/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/melee/energy/axe,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) "Kc" = (/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/obj/effect/wingrille_spawn/reinforced/crescent,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) "Kd" = (/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/obj/structure/disposalpipe/segment,/obj/effect/wingrille_spawn/reinforced/crescent,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) -"Ke" = (/obj/structure/table/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/weapon/melee/energy/axe,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) +"Ke" = (/obj/structure/table/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/melee/energy/axe,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) "Kf" = (/obj/structure/closet/crate/freezer/rations,/obj/machinery/camera/network/crescent{c_tag = "Shuttle West Storage"; dir = 4},/turf/simulated/shuttle/floor/yellow,/area/shuttle/escape/centcom) "Kg" = (/obj/structure/closet/crate/freezer/rations,/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor/yellow,/area/shuttle/escape/centcom) "Kh" = (/obj/machinery/iv_drip,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor/white,/area/shuttle/escape/centcom) "Ki" = (/obj/machinery/hologram/holopad,/turf/simulated/shuttle/floor/white,/area/shuttle/escape/centcom) "Kj" = (/obj/structure/bed/roller,/turf/simulated/shuttle/floor/white,/area/shuttle/escape/centcom) -"Kk" = (/obj/structure/bed/roller,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 26},/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor/white,/area/shuttle/escape/centcom) +"Kk" = (/obj/structure/bed/roller,/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 26},/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor/white,/area/shuttle/escape/centcom) "Kl" = (/obj/machinery/recharge_station,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor/yellow,/area/shuttle/escape/centcom) "Km" = (/obj/machinery/recharge_station,/obj/machinery/camera/network/crescent{c_tag = "Shuttle East Storage"; dir = 8},/turf/simulated/shuttle/floor/yellow,/area/shuttle/escape/centcom) -"Kn" = (/obj/structure/table/standard,/obj/item/weapon/surgical/FixOVein{pixel_x = -6; pixel_y = 1},/obj/item/stack/medical/advanced/bruise_pack,/obj/effect/floor_decal/corner/pink{dir = 9},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"Ko" = (/obj/structure/table/standard,/obj/item/weapon/surgical/retractor{pixel_x = 0; pixel_y = 6},/obj/item/weapon/surgical/scalpel,/obj/effect/floor_decal/corner/pink{dir = 5},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"Kp" = (/obj/structure/table/standard,/obj/item/weapon/surgical/surgicaldrill,/obj/item/weapon/surgical/circular_saw,/obj/effect/floor_decal/corner/pink/full{dir = 1},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"Kn" = (/obj/structure/table/standard,/obj/item/surgical/FixOVein{pixel_x = -6; pixel_y = 1},/obj/item/stack/medical/advanced/bruise_pack,/obj/effect/floor_decal/corner/pink{dir = 9},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"Ko" = (/obj/structure/table/standard,/obj/item/surgical/retractor{pixel_x = 0; pixel_y = 6},/obj/item/surgical/scalpel,/obj/effect/floor_decal/corner/pink{dir = 5},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"Kp" = (/obj/structure/table/standard,/obj/item/surgical/surgicaldrill,/obj/item/surgical/circular_saw,/obj/effect/floor_decal/corner/pink/full{dir = 1},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "Kq" = (/obj/machinery/door/blast/regular{id = "thunderdomeaxe"; name = "Axe Supply"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) "Kr" = (/obj/machinery/igniter,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) "Ks" = (/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) @@ -1895,21 +1895,21 @@ "Kw" = (/obj/machinery/sleep_console,/turf/simulated/shuttle/floor/white,/area/shuttle/escape/centcom) "Kx" = (/obj/machinery/sleep_console{dir = 4},/turf/simulated/shuttle/floor/white,/area/shuttle/escape/centcom) "Ky" = (/obj/machinery/sleeper{dir = 4},/turf/simulated/shuttle/floor/white,/area/shuttle/escape/centcom) -"Kz" = (/obj/structure/table/standard,/obj/item/weapon/surgical/cautery{pixel_y = 4},/obj/item/weapon/surgical/hemostat{pixel_y = 4},/obj/item/stack/nanopaste,/obj/effect/floor_decal/corner/pink{dir = 9},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"Kz" = (/obj/structure/table/standard,/obj/item/surgical/cautery{pixel_y = 4},/obj/item/surgical/hemostat{pixel_y = 4},/obj/item/stack/nanopaste,/obj/effect/floor_decal/corner/pink{dir = 9},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "KA" = (/obj/effect/floor_decal/corner/pink{dir = 6},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "KB" = (/obj/machinery/door/airlock/glass_medical{name = "Virology Laboratory"},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"KC" = (/obj/structure/table/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/head/helmet/thunderdome,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/energy/sword/red,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) +"KC" = (/obj/structure/table/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/head/helmet/thunderdome,/obj/item/melee/baton/loaded,/obj/item/melee/energy/sword/red,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) "KD" = (/obj/machinery/door/blast/regular{id = "thunderdomegen"; name = "General Supply"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) "KE" = (/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome/tdome2) "KF" = (/obj/machinery/door/blast/regular{id = "thunderdome"; name = "Thunderdome Blast Door"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) "KG" = (/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome/tdome1) -"KH" = (/obj/structure/table/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/head/helmet/thunderdome,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/energy/sword/green,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) -"KI" = (/turf/space,/obj/structure/shuttle/engine/propulsion{dir = 8},/turf/simulated/shuttle/plating/airless/carry,/area/centcom/evac) -"KJ" = (/obj/structure/table/standard,/obj/item/weapon/surgical/bonesetter,/obj/item/weapon/surgical/bonegel{pixel_x = 4; pixel_y = 3},/obj/effect/floor_decal/corner/pink{dir = 9},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"KH" = (/obj/structure/table/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/head/helmet/thunderdome,/obj/item/melee/baton/loaded,/obj/item/melee/energy/sword/green,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) +"KI" = (/turf/space,/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/escape/centcom) +"KJ" = (/obj/structure/table/standard,/obj/item/surgical/bonesetter,/obj/item/surgical/bonegel{pixel_x = 4; pixel_y = 3},/obj/effect/floor_decal/corner/pink{dir = 9},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "KK" = (/obj/machinery/computer/operating,/obj/effect/floor_decal/corner/pink{dir = 6},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "KL" = (/obj/machinery/computer/centrifuge,/obj/effect/floor_decal/corner/green{dir = 9},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "KM" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/corner/green/full{dir = 8},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"KN" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table/glass,/obj/item/weapon/storage/box/monkeycubes,/obj/effect/floor_decal/corner/green/full{dir = 1},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"KN" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table/glass,/obj/item/storage/box/monkeycubes,/obj/effect/floor_decal/corner/green/full{dir = 1},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "KO" = (/obj/machinery/recharger{pixel_y = 4},/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome/tdome2) "KP" = (/obj/machinery/recharger{pixel_y = 4},/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome/tdome1) "KQ" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 28},/obj/effect/floor_decal/corner/pink{dir = 6},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) @@ -1920,18 +1920,18 @@ "KV" = (/obj/machinery/vending/snack,/obj/effect/floor_decal/corner/green/full,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "KW" = (/obj/machinery/vending/coffee,/obj/effect/floor_decal/corner/green{dir = 10},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "KX" = (/obj/machinery/computer/arcade,/obj/effect/floor_decal/corner/green{dir = 10},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"KY" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/green,/obj/effect/floor_decal/corner/green{dir = 10},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"KZ" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/green,/obj/effect/floor_decal/corner/green/full{dir = 4},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"KY" = (/obj/structure/bed/padded,/obj/item/bedsheet/green,/obj/effect/floor_decal/corner/green{dir = 10},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"KZ" = (/obj/structure/bed/padded,/obj/item/bedsheet/green,/obj/effect/floor_decal/corner/green/full{dir = 4},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "La" = (/obj/effect/landmark{name = "tdome2"},/obj/machinery/camera/network/thunder{c_tag = "Thunderdome - Red Team"; invisibility = 101},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome/tdome2) "Lb" = (/obj/machinery/flasher{id = "flash"; name = "Thunderdome Flash"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) "Lc" = (/obj/effect/landmark{name = "tdome1"},/obj/machinery/camera/network/thunder{c_tag = "Green Team"; invisibility = 101},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome/tdome1) "Ld" = (/obj/structure/closet/secure_closet/medical2,/obj/effect/floor_decal/corner/pink/full,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "Le" = (/obj/machinery/iv_drip,/obj/effect/floor_decal/corner/pink{dir = 10},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "Lf" = (/obj/effect/floor_decal/corner/pink{dir = 10},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"Lg" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/blood/OPlus{pixel_x = 4; pixel_y = 2},/obj/item/weapon/reagent_containers/blood/OPlus{pixel_x = 4; pixel_y = 2},/obj/item/weapon/reagent_containers/blood/OMinus{pixel_x = -5; pixel_y = -1},/obj/item/weapon/reagent_containers/blood/OMinus{pixel_x = -5; pixel_y = -1},/obj/effect/floor_decal/corner/pink{dir = 10},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"Lh" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/gloves{pixel_x = 3; pixel_y = 4},/obj/item/weapon/storage/box/masks,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/effect/floor_decal/corner/pink/full{dir = 4},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"Lg" = (/obj/structure/table/standard,/obj/item/reagent_containers/blood/OPlus{pixel_x = 4; pixel_y = 2},/obj/item/reagent_containers/blood/OPlus{pixel_x = 4; pixel_y = 2},/obj/item/reagent_containers/blood/OMinus{pixel_x = -5; pixel_y = -1},/obj/item/reagent_containers/blood/OMinus{pixel_x = -5; pixel_y = -1},/obj/effect/floor_decal/corner/pink{dir = 10},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"Lh" = (/obj/structure/table/standard,/obj/item/storage/box/gloves{pixel_x = 3; pixel_y = 4},/obj/item/storage/box/masks,/obj/item/reagent_containers/spray/cleaner,/obj/effect/floor_decal/corner/pink/full{dir = 4},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "Li" = (/obj/structure/table/glass,/obj/machinery/computer/med_data/laptop,/obj/effect/floor_decal/corner/green/full,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"Lj" = (/obj/item/weapon/storage/box/gloves{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/masks,/obj/structure/table/glass,/obj/effect/floor_decal/corner/green{dir = 10},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"Lj" = (/obj/item/storage/box/gloves{pixel_x = 4; pixel_y = 4},/obj/item/storage/box/masks,/obj/structure/table/glass,/obj/effect/floor_decal/corner/green{dir = 10},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "Lk" = (/obj/machinery/disease2/diseaseanalyser,/obj/effect/floor_decal/corner/green{dir = 10},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "Ll" = (/obj/machinery/computer/diseasesplicer,/obj/effect/floor_decal/corner/green/full{dir = 4},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "Lm" = (/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/corner/green/full,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) @@ -1943,34 +1943,34 @@ "Ls" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) "Lt" = (/obj/machinery/door/airlock/command{name = "Thunderdome Administration"; req_access = list(102)},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) "Lu" = (/obj/machinery/door/blast/regular{id = "thunderdomehea"; name = "Heavy Supply"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) -"Lv" = (/obj/structure/table/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/weapon/gun/energy/laser,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) +"Lv" = (/obj/structure/table/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/gun/energy/laser,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) "Lw" = (/obj/machinery/door/airlock/command{name = "Thunderdome Administration"; req_access = list(102)},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) "Lx" = (/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/obj/machinery/atmospherics/pipe/simple/visible,/obj/effect/wingrille_spawn/reinforced/crescent,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) -"Ly" = (/obj/structure/table/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/weapon/gun/energy/laser,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) +"Ly" = (/obj/structure/table/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/gun/energy/laser,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) "Lz" = (/obj/machinery/door/airlock/centcom{name = "Special Operations"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/terminal) "LA" = (/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) "LB" = (/obj/structure/bed/chair{dir = 1},/obj/effect/landmark{name = "tdomeadmin"},/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) -"LC" = (/obj/item/weapon/extinguisher,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) +"LC" = (/obj/item/extinguisher,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) "LD" = (/obj/machinery/atmospherics/valve,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) "LE" = (/obj/structure/bed/chair{dir = 1},/obj/structure/disposalpipe/segment,/obj/effect/landmark{name = "tdomeadmin"},/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) "LF" = (/obj/machinery/computer/security/telescreen,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) "LG" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/nitrous_oxide{pixel_x = 1},/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) -"LH" = (/obj/item/weapon/tool/wrench,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) +"LH" = (/obj/item/tool/wrench,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) "LI" = (/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/disposal,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) "LJ" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access = list(101)},/turf/unsimulated/floor{icon_state = "lino"},/area/tdome) "LK" = (/obj/structure/bed/chair,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) "LL" = (/obj/structure/table/standard,/obj/machinery/recharger{pixel_y = 4},/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) -"LM" = (/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) +"LM" = (/obj/item/grenade/chem_grenade/cleaner,/obj/item/grenade/chem_grenade/cleaner,/obj/item/grenade/chem_grenade/cleaner,/obj/item/grenade/chem_grenade/cleaner,/obj/item/grenade/chem_grenade/cleaner,/obj/item/grenade/chem_grenade/cleaner,/obj/item/grenade/chem_grenade/cleaner,/obj/item/grenade/chem_grenade/cleaner,/obj/item/grenade/chem_grenade/cleaner,/obj/item/grenade/chem_grenade/cleaner,/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) "LN" = (/obj/machinery/computer/pod{id = "thunderdomeaxe"; name = "Thunderdome Axe Supply"},/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) "LO" = (/obj/machinery/computer/pod{id = "thunderdomegen"; name = "Thunderdome General Supply"},/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) "LP" = (/obj/machinery/computer/pod{id = "thunderdomehea"; name = "Thunderdome Heavy Supply"},/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) "LQ" = (/obj/machinery/computer/pod{id = "thunderdome"; name = "Thunderdome Blast Door Control"},/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) "LR" = (/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) "LS" = (/obj/structure/table/standard,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) -"LT" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/handcuffs,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) +"LT" = (/obj/structure/table/standard,/obj/item/storage/box/handcuffs,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) "LU" = (/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) -"LV" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/electrical,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) -"LW" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/mechanical,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) +"LV" = (/obj/structure/table/standard,/obj/item/storage/toolbox/electrical,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) +"LW" = (/obj/structure/table/standard,/obj/item/storage/toolbox/mechanical,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) "LX" = (/turf/unsimulated/beach/sand{density = 1; opacity = 1},/area/beach) "LY" = (/turf/unsimulated/beach/sand,/area/beach) "LZ" = (/obj/structure/signpost,/turf/unsimulated/beach/sand,/area/beach) @@ -1994,12 +1994,12 @@ "Mr" = (/obj/machinery/dna_scannernew,/turf/simulated/shuttle/floor/white,/area/centcom/evac) "Ms" = (/obj/machinery/atmospherics/unary/cryo_cell{layer = 3.3},/turf/simulated/shuttle/floor/white,/area/centcom/evac) "Mt" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/oxygen/prechilled,/turf/simulated/shuttle/floor/white,/area/centcom/evac) -"Mu" = (/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = -4; pixel_y = 0},/obj/item/weapon/tool/wrench,/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone,/turf/simulated/shuttle/floor/white,/area/centcom/evac) -"Mv" = (/obj/structure/closet/crate/medical,/obj/item/weapon/surgical/circular_saw,/obj/item/weapon/surgical/surgicaldrill,/obj/item/weapon/surgical/bonegel{pixel_x = 4; pixel_y = 3},/obj/item/weapon/surgical/bonesetter,/obj/item/weapon/surgical/scalpel,/obj/item/weapon/surgical/retractor{pixel_x = 0; pixel_y = 6},/obj/item/weapon/surgical/hemostat{pixel_y = 4},/obj/item/weapon/surgical/cautery{pixel_y = 4},/obj/item/weapon/surgical/FixOVein{pixel_x = -6; pixel_y = 1},/obj/item/stack/nanopaste,/obj/item/weapon/tank/anesthetic,/obj/item/clothing/mask/breath/medical,/obj/item/clothing/mask/surgical,/obj/item/clothing/mask/surgical,/turf/simulated/shuttle/floor/white,/area/centcom/evac) -"Mw" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/snacks/chips,/turf/unsimulated/beach/sand,/area/beach) -"Mx" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/turf/unsimulated/beach/sand,/area/beach) -"My" = (/obj/item/weapon/beach_ball,/turf/unsimulated/beach/sand,/area/beach) -"Mz" = (/turf/space,/obj/structure/shuttle/engine/propulsion{dir = 8; icon_state = "propulsion_r"},/turf/simulated/shuttle/plating/airless/carry,/area/centcom/evac) +"Mu" = (/obj/item/reagent_containers/glass/beaker/cryoxadone{pixel_x = -4; pixel_y = 0},/obj/item/tool/wrench,/obj/structure/table/reinforced,/obj/item/reagent_containers/glass/beaker/cryoxadone,/turf/simulated/shuttle/floor/white,/area/centcom/evac) +"Mv" = (/obj/structure/closet/crate/medical,/obj/item/surgical/circular_saw,/obj/item/surgical/surgicaldrill,/obj/item/surgical/bonegel{pixel_x = 4; pixel_y = 3},/obj/item/surgical/bonesetter,/obj/item/surgical/scalpel,/obj/item/surgical/retractor{pixel_x = 0; pixel_y = 6},/obj/item/surgical/hemostat{pixel_y = 4},/obj/item/surgical/cautery{pixel_y = 4},/obj/item/surgical/FixOVein{pixel_x = -6; pixel_y = 1},/obj/item/stack/nanopaste,/obj/item/tank/anesthetic,/obj/item/clothing/mask/breath/medical,/obj/item/clothing/mask/surgical,/obj/item/clothing/mask/surgical,/turf/simulated/shuttle/floor/white,/area/centcom/evac) +"Mw" = (/obj/structure/table/standard,/obj/item/reagent_containers/food/snacks/chips,/turf/unsimulated/beach/sand,/area/beach) +"Mx" = (/obj/structure/table/standard,/obj/item/reagent_containers/food/drinks/cans/cola,/obj/item/reagent_containers/food/drinks/cans/cola,/obj/item/reagent_containers/food/drinks/cans/cola,/obj/item/reagent_containers/food/drinks/cans/cola,/obj/item/reagent_containers/food/drinks/cans/cola,/obj/item/reagent_containers/food/drinks/cans/cola,/turf/unsimulated/beach/sand,/area/beach) +"My" = (/obj/item/beach_ball,/turf/unsimulated/beach/sand,/area/beach) +"Mz" = (/turf/space,/obj/structure/shuttle/engine/propulsion{dir = 8; icon_state = "propulsion_l"},/turf/simulated/shuttle/plating/airless/carry,/area/centcom/evac) "MA" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating/airless,/area/centcom/evac) "MB" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/shuttle/plating,/area/centcom/evac) "MC" = (/obj/machinery/vending/engineering,/turf/simulated/shuttle/plating,/area/centcom/evac) @@ -2012,21 +2012,21 @@ "MJ" = (/obj/machinery/atmospherics/pipe/manifold/visible,/turf/simulated/shuttle/floor/white,/area/centcom/evac) "MK" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 9},/turf/simulated/shuttle/floor/white,/area/centcom/evac) "ML" = (/obj/machinery/computer/operating,/turf/simulated/shuttle/floor/white,/area/centcom/evac) -"MM" = (/turf/space,/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/plating/airless/carry,/area/skipjack_station/start) +"MM" = (/turf/space,/obj/structure/shuttle/engine/propulsion{dir = 8},/turf/simulated/shuttle/plating/airless/carry,/area/centcom/evac) "MN" = (/obj/structure/closet/emcloset,/turf/simulated/shuttle/floor/yellow,/area/centcom/evac) "MO" = (/turf/simulated/shuttle/floor/yellow,/area/centcom/evac) "MP" = (/obj/machinery/bodyscanner{dir = 8},/turf/simulated/shuttle/floor/white,/area/centcom/evac) "MQ" = (/obj/machinery/body_scanconsole,/turf/simulated/shuttle/floor/white,/area/centcom/evac) "MR" = (/obj/machinery/optable,/turf/simulated/shuttle/floor/white,/area/centcom/evac) "MS" = (/turf/simulated/shuttle/floor,/area/centcom/evac) -"MT" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/toxin{pixel_x = -2; pixel_y = 4},/obj/item/weapon/storage/firstaid/toxin,/turf/simulated/shuttle/floor/white,/area/centcom/evac) -"MU" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/fire{pixel_x = -2; pixel_y = 4},/turf/simulated/shuttle/floor/white,/area/centcom/evac) -"MV" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 0},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/turf/simulated/shuttle/floor/white,/area/centcom/evac) +"MT" = (/obj/structure/table/standard,/obj/item/storage/firstaid/toxin{pixel_x = -2; pixel_y = 4},/obj/item/storage/firstaid/toxin,/turf/simulated/shuttle/floor/white,/area/centcom/evac) +"MU" = (/obj/structure/table/standard,/obj/item/storage/firstaid/fire,/obj/item/storage/firstaid/fire{pixel_x = -2; pixel_y = 4},/turf/simulated/shuttle/floor/white,/area/centcom/evac) +"MV" = (/obj/structure/table/standard,/obj/item/storage/firstaid/regular{pixel_x = 2; pixel_y = 0},/obj/item/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/turf/simulated/shuttle/floor/white,/area/centcom/evac) "MW" = (/obj/machinery/computer/crew,/turf/simulated/shuttle/floor/white,/area/centcom/evac) "MX" = (/obj/machinery/sleeper{dir = 8},/turf/simulated/shuttle/floor/white,/area/centcom/evac) "MY" = (/obj/machinery/sleep_console,/turf/simulated/shuttle/floor/white,/area/centcom/evac) -"MZ" = (/obj/structure/closet/crate/freezer,/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,/turf/simulated/shuttle/floor/white,/area/centcom/evac) -"Na" = (/obj/structure/closet/crate/medical,/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/weapon/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/obj/item/weapon/storage/box/masks{pixel_x = 0; pixel_y = 0},/obj/item/weapon/storage/box/gloves{pixel_x = 3; pixel_y = 4},/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/fire{layer = 2.9; pixel_x = 2; pixel_y = 3},/obj/item/weapon/storage/firstaid/adv{pixel_x = -2},/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/turf/simulated/shuttle/floor/white,/area/centcom/evac) +"MZ" = (/obj/structure/closet/crate/freezer,/obj/item/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/reagent_containers/food/snacks/meat/syntiflesh,/turf/simulated/shuttle/floor/white,/area/centcom/evac) +"Na" = (/obj/structure/closet/crate/medical,/obj/item/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/obj/item/storage/box/masks{pixel_x = 0; pixel_y = 0},/obj/item/storage/box/gloves{pixel_x = 3; pixel_y = 4},/obj/item/storage/firstaid/toxin,/obj/item/storage/firstaid/fire{layer = 2.9; pixel_x = 2; pixel_y = 3},/obj/item/storage/firstaid/adv{pixel_x = -2},/obj/item/reagent_containers/blood/empty,/obj/item/reagent_containers/blood/empty,/turf/simulated/shuttle/floor/white,/area/centcom/evac) "Nb" = (/obj/structure/table/standard,/turf/simulated/shuttle/floor/white,/area/centcom/evac) "Nc" = (/obj/structure/morgue{icon_state = "morgue1"; dir = 8},/turf/simulated/shuttle/floor/white,/area/centcom/evac) "Nd" = (/obj/structure/bed/chair,/obj/effect/landmark{name = "endgame_exit"},/obj/item/toy/plushie/mouse{desc = "A plushie of a small fuzzy rodent."; name = "Woodrat"},/turf/unsimulated/beach/sand,/area/beach) @@ -2043,9 +2043,9 @@ "No" = (/obj/machinery/vending/cigarette,/turf/simulated/shuttle/floor/yellow,/area/centcom/evac) "Np" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "large_escape_pod_2_recovery"; pixel_x = -25; pixel_y = 25; req_one_access = list(13); tag_door = "large_escape_pod_2_recovery_hatch"},/turf/simulated/shuttle/floor/yellow,/area/centcom/evac) "Nq" = (/obj/structure/bed/roller,/turf/simulated/shuttle/floor/white,/area/centcom/evac) -"Nr" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/turf/simulated/shuttle/floor/white,/area/centcom/evac) +"Nr" = (/obj/structure/table/reinforced,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/turf/simulated/shuttle/floor/white,/area/centcom/evac) "Ns" = (/obj/machinery/iv_drip,/turf/simulated/shuttle/floor/white,/area/centcom/evac) -"Nt" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/bodybags{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/box/bodybags,/turf/simulated/shuttle/floor/white,/area/centcom/evac) +"Nt" = (/obj/structure/table/reinforced,/obj/item/storage/box/bodybags{pixel_x = 2; pixel_y = 2},/obj/item/storage/box/bodybags,/turf/simulated/shuttle/floor/white,/area/centcom/evac) "Nu" = (/turf/unsimulated/floor{icon_state = "sandwater"},/area/beach) "Nv" = (/turf/unsimulated/wall{desc = "That looks like it doesn't open easily."; icon = 'icons/obj/doors/rapid_pdoor.dmi'; icon_state = "pdoor1"; name = "Shuttle Bay Blast Door"},/area/centcom/evac) "Nw" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "escape_pod_1_recovery"; pixel_x = -25; pixel_y = 25; req_one_access = list(13); tag_door = "escape_pod_1_recovery_hatch"},/turf/simulated/shuttle/floor/yellow,/area/centcom/evac) @@ -2058,7 +2058,7 @@ "ND" = (/obj/machinery/door/airlock/glass,/turf/simulated/shuttle/floor{icon_state = "floor_yellow"},/area/centcom/evac) "NE" = (/obj/machinery/computer/communications,/turf/simulated/shuttle/floor/black,/area/centcom/evac) "NF" = (/turf/simulated/shuttle/floor/black,/area/centcom/evac) -"NG" = (/obj/structure/table/standard,/obj/item/device/radio/off,/obj/item/weapon/paper_bin,/turf/simulated/shuttle/floor/black,/area/centcom/evac) +"NG" = (/obj/structure/table/standard,/obj/item/radio/off,/obj/item/paper_bin,/turf/simulated/shuttle/floor/black,/area/centcom/evac) "NH" = (/turf/unsimulated/beach/coastline{density = 1; opacity = 1},/area/beach) "NI" = (/turf/unsimulated/beach/coastline,/area/beach) "NJ" = (/obj/machinery/door/airlock/glass,/turf/simulated/shuttle/floor/yellow,/area/centcom/evac) @@ -2072,7 +2072,7 @@ "NR" = (/obj/structure/table/standard,/turf/simulated/shuttle/floor,/area/centcom/evac) "NS" = (/turf/simulated/shuttle/floor{icon_state = "floor_yellow"},/area/centcom/evac) "NT" = (/obj/machinery/door/airlock/hatch{name = "Cockpit"; req_access = list(109)},/turf/simulated/shuttle/floor{icon_state = "floor_yellow"},/area/centcom/evac) -"NU" = (/obj/structure/table/standard,/obj/item/weapon/storage/lockbox,/turf/simulated/shuttle/floor/black,/area/centcom/evac) +"NU" = (/obj/structure/table/standard,/obj/item/storage/lockbox,/turf/simulated/shuttle/floor/black,/area/centcom/evac) "NV" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/shuttle/floor,/area/centcom/evac) "NW" = (/obj/structure/bed/chair,/turf/simulated/shuttle/floor/black,/area/centcom/evac) "NX" = (/obj/machinery/computer/station_alert,/turf/simulated/shuttle/floor/black,/area/centcom/evac) @@ -2082,7 +2082,7 @@ "Ob" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "escape_pod_3_recovery"; pixel_x = -25; pixel_y = -25; req_one_access = list(13); tag_door = "escape_pod_3_recovery_hatch"},/turf/simulated/shuttle/floor/yellow,/area/centcom/evac) "Oc" = (/obj/machinery/door/airlock/glass_security{name = "Security Processing"; req_access = list(1)},/turf/simulated/shuttle/floor/yellow,/area/centcom/evac) "Od" = (/obj/machinery/computer/crew,/turf/simulated/shuttle/floor/black,/area/centcom/evac) -"Oe" = (/obj/structure/table/standard,/obj/item/weapon/clipboard,/obj/item/weapon/pen,/obj/item/weapon/stamp/captain,/turf/simulated/shuttle/floor/black,/area/centcom/evac) +"Oe" = (/obj/structure/table/standard,/obj/item/clipboard,/obj/item/pen,/obj/item/stamp/captain,/turf/simulated/shuttle/floor/black,/area/centcom/evac) "Of" = (/turf/unsimulated/wall,/area/syndicate_mothership{name = "\improper Raider Base"}) "Og" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_6_recovery_hatch"; locked = 1; name = "Recovery Shuttle Dock 6"; req_access = list(13)},/turf/simulated/shuttle/floor/yellow,/area/centcom/evac) "Oh" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_5_recovery_hatch"; locked = 1; name = "Recovery Shuttle Dock 5"; req_access = list(13)},/turf/simulated/shuttle/floor/yellow,/area/centcom/evac) @@ -2092,10 +2092,10 @@ "Ol" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "large_escape_pod_1_recovery"; pixel_x = -25; pixel_y = -25; req_one_access = list(13); tag_door = "large_escape_pod_1_recovery_hatch"},/turf/simulated/shuttle/floor/yellow,/area/centcom/evac) "Om" = (/obj/structure/table/rack,/turf/simulated/shuttle/floor{icon_state = "floor_red"},/area/centcom/evac) "On" = (/obj/machinery/computer/card,/turf/simulated/shuttle/floor{icon_state = "floor_red"},/area/centcom/evac) -"Oo" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/turf/simulated/shuttle/floor{icon_state = "floor_red"},/area/centcom/evac) +"Oo" = (/obj/structure/table/reinforced,/obj/item/paper_bin,/obj/item/pen,/turf/simulated/shuttle/floor{icon_state = "floor_red"},/area/centcom/evac) "Op" = (/turf/simulated/shuttle/floor{icon_state = "floor_red"},/area/centcom/evac) "Oq" = (/obj/machinery/computer/secure_data,/turf/simulated/shuttle/floor{icon_state = "floor_red"},/area/centcom/evac) -"Or" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/medical,/turf/simulated/shuttle/floor,/area/centcom/evac) +"Or" = (/obj/structure/bed/padded,/obj/item/bedsheet/medical,/turf/simulated/shuttle/floor,/area/centcom/evac) "Os" = (/turf/simulated/mineral,/area/syndicate_mothership{name = "\improper Raider Base"}) "Ot" = (/obj/effect/landmark{name = "voxstart"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership{name = "\improper Raider Base"}) "Ou" = (/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership{name = "\improper Raider Base"}) @@ -2109,7 +2109,7 @@ "OC" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor_red"},/area/centcom/evac) "OD" = (/obj/structure/closet/secure_closet/personal/patient,/turf/simulated/shuttle/floor,/area/centcom/evac) "OE" = (/obj/structure/table/standard,/obj/structure/bedsheetbin,/turf/simulated/shuttle/floor,/area/centcom/evac) -"OF" = (/obj/item/weapon/bedsheet/orange,/obj/structure/bed/padded,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership{name = "\improper Raider Base"}) +"OF" = (/obj/item/bedsheet/orange,/obj/structure/bed/padded,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership{name = "\improper Raider Base"}) "OG" = (/turf/simulated/shuttle/plating,/area/shuttle/large_escape_pod1/centcom) "OH" = (/obj/structure/closet/secure_closet/security,/turf/simulated/shuttle/floor{icon_state = "floor_red"},/area/centcom/evac) "OI" = (/obj/structure/closet{name = "Evidence Closet"},/turf/simulated/shuttle/floor{icon_state = "floor_red"},/area/centcom/evac) @@ -2118,23 +2118,23 @@ "OL" = (/obj/machinery/door/airlock/glass_security{name = "Escape Shuttle Cell"; req_access = list(1)},/turf/simulated/shuttle/floor{icon_state = "floor_red"},/area/centcom/evac) "OM" = (/turf/unsimulated/floor{icon_state = "asteroid"},/area/syndicate_mothership{name = "\improper Raider Base"}) "ON" = (/obj/structure/table/standard,/turf/simulated/shuttle/floor/yellow,/area/centcom/evac) -"OO" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/orange,/turf/simulated/shuttle/floor{icon_state = "floor_red"},/area/centcom/evac) -"OP" = (/obj/item/weapon/tray{pixel_y = 5},/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership{name = "\improper Raider Base"}) -"OQ" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/glasses/square{pixel_x = 1; pixel_y = 4},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership{name = "\improper Raider Base"}) +"OO" = (/obj/structure/bed/padded,/obj/item/bedsheet/orange,/turf/simulated/shuttle/floor{icon_state = "floor_red"},/area/centcom/evac) +"OP" = (/obj/item/tray{pixel_y = 5},/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership{name = "\improper Raider Base"}) +"OQ" = (/obj/structure/table/standard,/obj/item/storage/box/glasses/square{pixel_x = 1; pixel_y = 4},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership{name = "\improper Raider Base"}) "OR" = (/obj/machinery/portable_atmospherics/powered/pump,/turf/simulated/shuttle/plating,/area/centcom/evac) "OS" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/shuttle/plating,/area/centcom/evac) -"OT" = (/obj/structure/reagent_dispensers/watertank,/obj/item/weapon/reagent_containers/glass/bucket{amount_per_transfer_from_this = 50},/turf/simulated/shuttle/floor,/area/centcom/evac) -"OU" = (/obj/item/weapon/mop,/obj/structure/mopbucket,/turf/simulated/shuttle/floor,/area/centcom/evac) -"OV" = (/obj/structure/table/rack,/obj/item/weapon/reagent_containers/spray/cleaner{pixel_x = 6; pixel_y = 3},/obj/item/clothing/accessory/storage/brown_vest,/turf/simulated/shuttle/floor,/area/centcom/evac) +"OT" = (/obj/structure/reagent_dispensers/watertank,/obj/item/reagent_containers/glass/bucket{amount_per_transfer_from_this = 50},/turf/simulated/shuttle/floor,/area/centcom/evac) +"OU" = (/obj/item/mop,/obj/structure/mopbucket,/turf/simulated/shuttle/floor,/area/centcom/evac) +"OV" = (/obj/structure/table/rack,/obj/item/reagent_containers/spray/cleaner{pixel_x = 6; pixel_y = 3},/obj/item/clothing/accessory/storage/brown_vest,/turf/simulated/shuttle/floor,/area/centcom/evac) "OW" = (/obj/structure/grille,/obj/structure/window/shuttle{icon_state = "window4"},/turf/simulated/shuttle/plating,/area/centcom/evac) "OX" = (/obj/structure/grille,/obj/structure/window/shuttle{icon_state = "window8"},/turf/simulated/shuttle/plating,/area/centcom/evac) "OY" = (/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership{name = "\improper Raider Base"}) "OZ" = (/obj/structure/table/standard,/obj/machinery/chemical_dispenser/bar_soft/full,/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership{name = "\improper Raider Base"}) -"Pa" = (/obj/item/weapon/bedsheet/orange,/obj/effect/decal/cleanable/cobweb2{icon_state = "cobweb1"},/obj/structure/bed/padded,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership{name = "\improper Raider Base"}) +"Pa" = (/obj/item/bedsheet/orange,/obj/effect/decal/cleanable/cobweb2{icon_state = "cobweb1"},/obj/structure/bed/padded,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership{name = "\improper Raider Base"}) "Pb" = (/obj/machinery/microwave{pixel_x = -1; pixel_y = 8},/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership{name = "\improper Raider Base"}) "Pc" = (/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership{name = "\improper Raider Base"}) "Pd" = (/obj/structure/closet/secure_closet/freezer/kitchen,/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership{name = "\improper Raider Base"}) -"Pe" = (/obj/structure/urinal{pixel_y = 32},/obj/item/weapon/soap/syndie,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership{name = "\improper Raider Base"}) +"Pe" = (/obj/structure/urinal{pixel_y = 32},/obj/item/soap/syndie,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership{name = "\improper Raider Base"}) "Pf" = (/obj/structure/urinal{pixel_y = 32},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership{name = "\improper Raider Base"}) "Pg" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership{name = "\improper Raider Base"}) "Ph" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership{name = "\improper Raider Base"}) @@ -2147,7 +2147,7 @@ "Po" = (/obj/item/clothing/mask/gas/swat{desc = "A close-fitting mask clearly not made for a human face."; name = "\improper alien mask"},/turf/unsimulated/floor{icon_state = "asteroid"},/area/syndicate_mothership{name = "\improper Raider Base"}) "Pp" = (/obj/structure/table/rack,/turf/unsimulated/floor{icon_state = "asteroid"},/area/syndicate_mothership{name = "\improper Raider Base"}) "Pq" = (/obj/item/xenos_claw,/turf/unsimulated/floor{icon_state = "asteroid"},/area/syndicate_mothership{name = "\improper Raider Base"}) -"Pr" = (/obj/structure/table/rack,/obj/item/weapon/gun/launcher/spikethrower,/turf/unsimulated/floor{icon_state = "asteroid"},/area/syndicate_mothership{name = "\improper Raider Base"}) +"Pr" = (/obj/structure/table/rack,/obj/item/gun/launcher/spikethrower,/turf/unsimulated/floor{icon_state = "asteroid"},/area/syndicate_mothership{name = "\improper Raider Base"}) "Ps" = (/obj/machinery/shower{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership{name = "\improper Raider Base"}) "Pt" = (/obj/item/pizzabox/meat,/turf/unsimulated/floor{icon_state = "asteroid"},/area/syndicate_mothership{name = "\improper Raider Base"}) "Pu" = (/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership{name = "\improper Raider Base"}) @@ -2155,7 +2155,7 @@ "Pw" = (/obj/effect/decal/cleanable/cobweb2,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership{name = "\improper Raider Base"}) "Px" = (/obj/structure/table/rack,/obj/item/clothing/glasses/thermal/plain/monocle,/turf/unsimulated/floor{icon_state = "asteroid"},/area/syndicate_mothership{name = "\improper Raider Base"}) "Py" = (/obj/effect/landmark{name = "voxstart"},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership{name = "\improper Raider Base"}) -"Pz" = (/obj/item/weapon/tank/nitrogen,/turf/unsimulated/floor{icon_state = "asteroid"},/area/syndicate_mothership{name = "\improper Raider Base"}) +"Pz" = (/obj/item/tank/nitrogen,/turf/unsimulated/floor{icon_state = "asteroid"},/area/syndicate_mothership{name = "\improper Raider Base"}) "PA" = (/obj/item/organ/internal/stack,/turf/unsimulated/floor{icon_state = "asteroid"},/area/syndicate_mothership{name = "\improper Raider Base"}) "PB" = (/obj/structure/bed/chair,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership{name = "\improper Raider Base"}) "PC" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership{name = "\improper Raider Base"}) @@ -2165,7 +2165,7 @@ "PG" = (/obj/machinery/computer/station_alert,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership{name = "\improper Raider Base"}) "PH" = (/obj/machinery/suit_cycler/syndicate{locked = 0},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership{name = "\improper Raider Base"}) "PI" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space,/area/space) -"PJ" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/item/weapon/tank/nitrogen,/turf/unsimulated/floor{icon_state = "asteroid"},/area/syndicate_mothership{name = "\improper Raider Base"}) +"PJ" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/item/tank/nitrogen,/turf/unsimulated/floor{icon_state = "asteroid"},/area/syndicate_mothership{name = "\improper Raider Base"}) "PK" = (/obj/item/clothing/head/philosopher_wig,/turf/unsimulated/floor{icon_state = "asteroid"},/area/syndicate_mothership{name = "\improper Raider Base"}) "PL" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 4},/turf/space,/area/syndicate_mothership{name = "\improper Raider Base"}) "PM" = (/obj/machinery/door/airlock/external{req_access = list(150)},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership{name = "\improper Raider Base"}) @@ -2175,15 +2175,15 @@ "PQ" = (/turf/simulated/shuttle/wall/dark/hard_corner,/area/wizard_station) "PR" = (/obj/effect/wingrille_spawn/reinforced/crescent,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/wizard_station) "PS" = (/obj/machinery/chemical_dispenser/bar_soft/full,/obj/structure/table/marble,/turf/unsimulated/floor{icon_state = "white"},/area/wizard_station) -"PT" = (/obj/item/weapon/reagent_containers/food/drinks/bottle/pwine{pixel_x = -4; pixel_y = 10},/obj/structure/table/marble,/turf/unsimulated/floor{icon_state = "white"},/area/wizard_station) +"PT" = (/obj/item/reagent_containers/food/drinks/bottle/pwine{pixel_x = -4; pixel_y = 10},/obj/structure/table/marble,/turf/unsimulated/floor{icon_state = "white"},/area/wizard_station) "PU" = (/obj/structure/sink/kitchen{pixel_y = 28},/turf/unsimulated/floor{icon_state = "white"},/area/wizard_station) "PV" = (/turf/simulated/shuttle/wall/dark,/area/skipjack_station/start) "PW" = (/obj/machinery/computer/arcade/battle,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) "PX" = (/obj/machinery/computer/arcade/orion_trail,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) "PY" = (/obj/machinery/microwave{pixel_x = -1; pixel_y = 8},/obj/structure/table/marble,/turf/unsimulated/floor{icon_state = "white"},/area/wizard_station) "PZ" = (/turf/unsimulated/floor{icon_state = "white"},/area/wizard_station) -"Qa" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{on = 0; pixel_x = -3; pixel_y = 8},/obj/item/toy/figure/ninja,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station) -"Qb" = (/obj/structure/bed,/obj/item/weapon/bedsheet/rd,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station) +"Qa" = (/obj/structure/table/woodentable,/obj/item/flashlight/lamp/green{on = 0; pixel_x = -3; pixel_y = 8},/obj/item/toy/figure/ninja,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station) +"Qb" = (/obj/structure/bed,/obj/item/bedsheet/rd,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station) "Qc" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1331; master_tag = "vox_west_control"; req_one_access = list(150)},/turf/simulated/shuttle/wall/dark,/area/skipjack_station/start) "Qd" = (/obj/machinery/door/airlock/hatch{frequency = 1331; icon_state = "door_closed"; id_tag = "vox_northwest_lock"; locked = 0; req_access = list(150)},/turf/simulated/shuttle/plating,/area/skipjack_station/start) "Qe" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{id = "skipjackshutters"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/plating,/area/skipjack_station/start) @@ -2194,10 +2194,10 @@ "Qj" = (/obj/structure/bed/chair/wood/wings,/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = 30},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) "Qk" = (/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) "Ql" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"Qm" = (/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/structure/table/marble,/turf/unsimulated/floor{icon_state = "white"},/area/wizard_station) +"Qm" = (/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/structure/table/marble,/turf/unsimulated/floor{icon_state = "white"},/area/wizard_station) "Qn" = (/obj/structure/mirror{pixel_x = -28},/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station) "Qo" = (/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station) -"Qp" = (/obj/structure/table/woodentable,/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/obj/item/weapon/ore/slag{desc = "Well at least Arthur doesn't have to share now..."; name = "pet rock"},/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station) +"Qp" = (/obj/structure/table/woodentable,/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/obj/item/ore/slag{desc = "Well at least Arthur doesn't have to share now..."; name = "pet rock"},/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station) "Qq" = (/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = 30},/obj/structure/bedsheetbin,/obj/structure/table/woodentable,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station) "Qr" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{frequency = 1331; id_tag = "vox_west_vent"},/turf/simulated/shuttle/plating,/area/skipjack_station/start) "Qs" = (/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "vox_west_sensor"; pixel_x = 25},/turf/simulated/shuttle/plating,/area/skipjack_station/start) @@ -2207,12 +2207,12 @@ "Qw" = (/obj/machinery/button/remote/blast_door{id = "skipjackshutters"; name = "remote shutter control"; req_access = list(150)},/turf/simulated/shuttle/wall/dark,/area/skipjack_station/start) "Qx" = (/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "vox_east_sensor"; pixel_x = -25},/turf/simulated/shuttle/plating,/area/skipjack_station/start) "Qy" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{frequency = 1331; id_tag = "vox_east_vent"},/turf/simulated/shuttle/plating,/area/skipjack_station/start) -"Qz" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Subversive Intercom"; pixel_x = -32; subspace_transmission = 1; syndie = 1},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"QA" = (/obj/structure/table/woodentable,/obj/item/device/radio/headset,/obj/item/weapon/spacecash/c500,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"Qz" = (/obj/structure/table/woodentable,/obj/item/paper_bin,/obj/item/pen,/obj/item/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Subversive Intercom"; pixel_x = -32; subspace_transmission = 1; syndie = 1},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"QA" = (/obj/structure/table/woodentable,/obj/item/radio/headset,/obj/item/spacecash/c500,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) "QB" = (/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 8},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"QC" = (/obj/item/weapon/reagent_containers/food/snacks/spellburger{pixel_y = 8},/obj/structure/table/marble,/turf/unsimulated/floor{icon_state = "white"},/area/wizard_station) +"QC" = (/obj/item/reagent_containers/food/snacks/spellburger{pixel_y = 8},/obj/structure/table/marble,/turf/unsimulated/floor{icon_state = "white"},/area/wizard_station) "QD" = (/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) -"QE" = (/obj/structure/undies_wardrobe,/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Subversive Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) +"QE" = (/obj/structure/undies_wardrobe,/obj/item/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Subversive Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) "QF" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/obj/machinery/meter,/turf/simulated/shuttle/plating,/area/skipjack_station/start) "QG" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "vox_west_vent"; tag_exterior_door = "vox_northwest_lock"; frequency = 1331; id_tag = "vox_west_control"; tag_interior_door = "vox_southwest_lock"; pixel_x = 24; req_access = list(150); tag_chamber_sensor = "vox_west_sensor"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "vox_west_vent"},/obj/machinery/light/small,/turf/simulated/shuttle/plating,/area/skipjack_station/start) "QH" = (/obj/machinery/light/small{dir = 8},/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) @@ -2222,33 +2222,33 @@ "QL" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "vox_east_vent"; tag_exterior_door = "vox_northeast_lock"; frequency = 1331; id_tag = "vox_east_control"; tag_interior_door = "vox_southeast_lock"; pixel_x = -24; req_access = list(150); tag_chamber_sensor = "vox_east_sensor"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1331; id_tag = "vox_east_vent"},/obj/machinery/light/small,/turf/simulated/shuttle/plating,/area/skipjack_station/start) "QM" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 4},/obj/machinery/meter,/turf/simulated/shuttle/plating,/area/skipjack_station/start) "QN" = (/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 4},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"QO" = (/obj/structure/table/woodentable,/obj/item/device/paicard,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"QP" = (/obj/structure/table/woodentable,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"QO" = (/obj/structure/table/woodentable,/obj/item/paicard,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"QP" = (/obj/structure/table/woodentable,/obj/item/book/codex/corp_regs,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) "QQ" = (/obj/machinery/door/airlock/hatch,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) "QR" = (/obj/machinery/door/airlock/hatch,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) -"QS" = (/obj/item/weapon/antag_spawner/technomancer_apprentice,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) -"QT" = (/obj/structure/table/woodentable,/obj/item/clothing/shoes/boots/workboots,/obj/item/clothing/under/technomancer,/obj/item/clothing/head/technomancer,/obj/item/weapon/storage/box/syndie_kit/chameleon,/obj/item/weapon/storage/box/syndie_kit/chameleon,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) +"QS" = (/obj/item/antag_spawner/technomancer_apprentice,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) +"QT" = (/obj/structure/table/woodentable,/obj/item/clothing/shoes/boots/workboots,/obj/item/clothing/under/technomancer,/obj/item/clothing/head/technomancer,/obj/item/storage/box/syndie_kit/chameleon,/obj/item/storage/box/syndie_kit/chameleon,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) "QU" = (/obj/machinery/door/airlock/hatch{frequency = 1331; icon_state = "door_closed"; id_tag = "vox_southwest_lock"; locked = 0; req_access = list(150)},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/shuttle/plating,/area/skipjack_station/start) -"QV" = (/obj/structure/table/rack,/obj/item/weapon/rig/industrial,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) +"QV" = (/obj/structure/table/rack,/obj/item/rig/industrial,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) "QW" = (/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) -"QX" = (/obj/structure/table/rack,/obj/item/weapon/rig/light/hacker,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) +"QX" = (/obj/structure/table/rack,/obj/item/rig/light/hacker,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) "QY" = (/obj/machinery/door/airlock/hatch{frequency = 1331; icon_state = "door_closed"; id_tag = "vox_southeast_lock"; locked = 0; req_access = list(150)},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/shuttle/plating,/area/skipjack_station/start) "QZ" = (/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 1},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) "Ra" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/wizard_station) "Rb" = (/obj/machinery/vending/hydroseeds,/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/wizard_station) -"Rc" = (/obj/structure/closet/cabinet,/obj/item/clothing/suit/wizrobe/magusblue,/obj/item/clothing/head/wizard/magus,/obj/item/weapon/staff,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) +"Rc" = (/obj/structure/closet/cabinet,/obj/item/clothing/suit/wizrobe/magusblue,/obj/item/clothing/head/wizard/magus,/obj/item/staff,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "Rd" = (/obj/effect/landmark/start{name = "wizard"},/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) -"Re" = (/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) +"Re" = (/obj/item/reagent_containers/food/snacks/cheesewedge,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) "Rf" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1331; master_tag = "vox_west_control"; pixel_x = -22; req_one_access = list(150)},/turf/simulated/shuttle/plating,/area/skipjack_station/start) -"Rg" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/ionrifle,/obj/item/weapon/material/harpoon,/obj/item/clothing/suit/space/void/merc,/obj/item/clothing/head/helmet/space/void/merc,/obj/item/clothing/head/helmet/space/void/engineering,/obj/item/clothing/suit/space/void/engineering,/obj/item/weapon/tank/oxygen,/obj/item/weapon/tank/oxygen,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/weapon/rig/light/stealth,/turf/simulated/shuttle/plating,/area/skipjack_station/start) +"Rg" = (/obj/structure/table/rack,/obj/item/gun/energy/ionrifle,/obj/item/material/harpoon,/obj/item/clothing/suit/space/void/merc,/obj/item/clothing/head/helmet/space/void/merc,/obj/item/clothing/head/helmet/space/void/engineering,/obj/item/clothing/suit/space/void/engineering,/obj/item/tank/oxygen,/obj/item/tank/oxygen,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/rig/light/stealth,/turf/simulated/shuttle/plating,/area/skipjack_station/start) "Rh" = (/obj/machinery/microwave{pixel_x = -1; pixel_y = 8},/obj/structure/table/steel,/turf/simulated/shuttle/plating,/area/skipjack_station/start) -"Ri" = (/obj/item/seeds/potatoseed,/obj/item/seeds/potatoseed,/obj/item/seeds/ambrosiavulgarisseed,/obj/item/weapon/material/minihoe,/obj/item/weapon/beartrap,/obj/structure/table/steel,/turf/simulated/shuttle/plating,/area/skipjack_station/start) +"Ri" = (/obj/item/seeds/potatoseed,/obj/item/seeds/potatoseed,/obj/item/seeds/ambrosiavulgarisseed,/obj/item/material/minihoe,/obj/item/beartrap,/obj/structure/table/steel,/turf/simulated/shuttle/plating,/area/skipjack_station/start) "Rj" = (/obj/machinery/vending/hydroseeds,/turf/simulated/shuttle/plating,/area/skipjack_station/start) -"Rk" = (/obj/structure/table/rack,/obj/item/weapon/melee/energy/sword/pirate,/obj/item/clothing/suit/space/pirate,/obj/item/clothing/suit/space/pirate,/obj/item/weapon/tank/oxygen,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) -"Rl" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/utility/full,/obj/item/weapon/storage/belt/utility/full,/obj/item/device/multitool,/obj/item/device/multitool,/obj/item/clothing/shoes/magboots,/turf/simulated/shuttle/plating,/area/skipjack_station/start) +"Rk" = (/obj/structure/table/rack,/obj/item/melee/energy/sword/pirate,/obj/item/clothing/suit/space/pirate,/obj/item/clothing/suit/space/pirate,/obj/item/tank/oxygen,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) +"Rl" = (/obj/structure/table/rack,/obj/item/storage/belt/utility/full,/obj/item/storage/belt/utility/full,/obj/item/multitool,/obj/item/multitool,/obj/item/clothing/shoes/magboots,/turf/simulated/shuttle/plating,/area/skipjack_station/start) "Rm" = (/obj/machinery/washing_machine,/turf/simulated/shuttle/plating,/area/skipjack_station/start) -"Rn" = (/obj/structure/table/standard,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/flame/lighter/zippo,/obj/item/clothing/gloves/yellow,/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/weapon/card/emag,/turf/simulated/shuttle/plating,/area/skipjack_station/start) -"Ro" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/sniperrifle,/obj/item/clothing/suit/space/void/mining,/obj/item/clothing/head/helmet/space/void/mining,/obj/item/clothing/head/helmet/space/void/atmos,/obj/item/clothing/suit/space/void/atmos,/obj/item/weapon/tank/oxygen,/obj/item/weapon/tank/oxygen,/turf/simulated/shuttle/plating,/area/skipjack_station/start) +"Rn" = (/obj/structure/table/standard,/obj/item/storage/fancy/cigarettes,/obj/item/flame/lighter/zippo,/obj/item/clothing/gloves/yellow,/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/card/emag,/turf/simulated/shuttle/plating,/area/skipjack_station/start) +"Ro" = (/obj/structure/table/rack,/obj/item/gun/energy/sniperrifle,/obj/item/clothing/suit/space/void/mining,/obj/item/clothing/head/helmet/space/void/mining,/obj/item/clothing/head/helmet/space/void/atmos,/obj/item/clothing/suit/space/void/atmos,/obj/item/tank/oxygen,/obj/item/tank/oxygen,/turf/simulated/shuttle/plating,/area/skipjack_station/start) "Rp" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1331; master_tag = "vox_east_control"; pixel_x = 22; req_access = list(150)},/turf/simulated/shuttle/plating,/area/skipjack_station/start) "Rq" = (/obj/structure/table/woodentable,/obj/machinery/librarycomp{pixel_y = 6},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) "Rr" = (/obj/machinery/media/jukebox,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) @@ -2265,24 +2265,24 @@ "RC" = (/obj/machinery/photocopier,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) "RD" = (/obj/structure/bookcase,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) "RE" = (/obj/structure/flora/pottedplant{icon_state = "plant-08"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"RF" = (/obj/structure/closet/cabinet,/obj/item/clothing/shoes/sandal/marisa{desc = "A set of fancy shoes that are as functional as they are comfortable."; name = "Gentlemans Shoes"},/obj/item/clothing/under/gentlesuit,/obj/item/clothing/suit/wizrobe/gentlecoat,/obj/item/clothing/head/wizard/cap,/obj/item/weapon/staff/gentcane,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) -"RG" = (/obj/structure/closet/cabinet,/obj/item/clothing/suit/wizrobe/magusred,/obj/item/clothing/head/wizard/magus,/obj/item/weapon/staff,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) -"RH" = (/obj/structure/closet/cabinet,/obj/item/clothing/suit/wizrobe/marisa,/obj/item/clothing/shoes/sandal/marisa,/obj/item/clothing/head/wizard/marisa,/obj/item/weapon/staff/broom,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) -"RI" = (/obj/structure/closet/cabinet,/obj/item/clothing/suit/wizrobe/red,/obj/item/clothing/shoes/sandal,/obj/item/clothing/head/wizard/red,/obj/item/weapon/staff,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) +"RF" = (/obj/structure/closet/cabinet,/obj/item/clothing/shoes/sandal/marisa{desc = "A set of fancy shoes that are as functional as they are comfortable."; name = "Gentlemans Shoes"},/obj/item/clothing/under/gentlesuit,/obj/item/clothing/suit/wizrobe/gentlecoat,/obj/item/clothing/head/wizard/cap,/obj/item/staff/gentcane,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) +"RG" = (/obj/structure/closet/cabinet,/obj/item/clothing/suit/wizrobe/magusred,/obj/item/clothing/head/wizard/magus,/obj/item/staff,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) +"RH" = (/obj/structure/closet/cabinet,/obj/item/clothing/suit/wizrobe/marisa,/obj/item/clothing/shoes/sandal/marisa,/obj/item/clothing/head/wizard/marisa,/obj/item/staff/broom,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) +"RI" = (/obj/structure/closet/cabinet,/obj/item/clothing/suit/wizrobe/red,/obj/item/clothing/shoes/sandal,/obj/item/clothing/head/wizard/red,/obj/item/staff,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "RJ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{id = "skipjackshutters"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/plating,/area/skipjack_station/start) "RK" = (/obj/item/robot_parts/l_leg,/turf/simulated/shuttle/plating,/area/skipjack_station/start) "RL" = (/obj/machinery/the_singularitygen,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "RM" = (/obj/machinery/crystal,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) "RN" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) -"RO" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/arrow/quill,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) -"RP" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/stock_parts/matter_bin/super,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) +"RO" = (/obj/structure/table/steel_reinforced,/obj/item/arrow/quill,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) +"RP" = (/obj/structure/table/steel_reinforced,/obj/item/stock_parts/matter_bin/super,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "RQ" = (/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/wizard_station) "RR" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{id = "skipjackshutters"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/plating,/area/skipjack_station/start) "RS" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/shuttle/plating,/area/skipjack_station/start) "RT" = (/obj/machinery/floodlight,/turf/simulated/shuttle/plating,/area/skipjack_station/start) -"RU" = (/obj/item/device/suit_cooling_unit,/turf/simulated/shuttle/plating,/area/skipjack_station/start) -"RV" = (/obj/structure/table/rack,/obj/item/weapon/gun/launcher/crossbow,/obj/item/stack/rods{amount = 10},/obj/machinery/light/small{dir = 8},/obj/item/weapon/beartrap,/obj/item/weapon/beartrap,/obj/item/weapon/beartrap,/obj/item/weapon/beartrap,/obj/item/weapon/beartrap,/obj/item/weapon/beartrap,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) -"RW" = (/obj/structure/table/rack,/obj/item/weapon/grenade/empgrenade,/obj/item/weapon/grenade/flashbang,/obj/item/weapon/grenade/spawnergrenade/manhacks,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) +"RU" = (/obj/item/suit_cooling_unit,/turf/simulated/shuttle/plating,/area/skipjack_station/start) +"RV" = (/obj/structure/table/rack,/obj/item/gun/launcher/crossbow,/obj/item/stack/rods{amount = 10},/obj/machinery/light/small{dir = 8},/obj/item/beartrap,/obj/item/beartrap,/obj/item/beartrap,/obj/item/beartrap,/obj/item/beartrap,/obj/item/beartrap,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) +"RW" = (/obj/structure/table/rack,/obj/item/grenade/empgrenade,/obj/item/grenade/flashbang,/obj/item/grenade/spawnergrenade/manhacks,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) "RX" = (/obj/structure/table/steel,/obj/machinery/recharger,/obj/machinery/light/small{dir = 4},/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) "RY" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/shuttle/plating,/area/skipjack_station/start) "RZ" = (/obj/item/robot_parts/robot_suit,/obj/item/robot_parts/r_leg,/obj/item/robot_parts/r_arm,/turf/simulated/shuttle/plating,/area/skipjack_station/start) @@ -2292,7 +2292,7 @@ "Sd" = (/obj/machinery/computer/message_monitor,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "Se" = (/obj/machinery/computer/security,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "Sf" = (/obj/structure/table/steel_reinforced,/obj/item/stack/telecrystal,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) -"Sg" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) +"Sg" = (/obj/item/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/obj/item/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "Sh" = (/obj/structure/table/steel_reinforced,/obj/item/clothing/head/philosopher_wig,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) "Si" = (/obj/structure/flora/pottedplant{icon_state = "plant-04"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "Sj" = (/obj/structure/sign/electricshock,/turf/simulated/shuttle/wall/dark/hard_corner,/area/wizard_station) @@ -2302,8 +2302,8 @@ "Sn" = (/obj/structure/table/steel,/obj/item/clothing/glasses/regular,/obj/item/clothing/glasses/regular,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) "So" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/light/small{dir = 4},/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) "Sp" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/shuttle/plating,/area/skipjack_station/start) -"Sq" = (/obj/item/weapon/tool/wrench,/obj/item/weapon/mop,/turf/simulated/shuttle/plating,/area/skipjack_station/start) -"Sr" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/item/weapon/tool/crowbar,/obj/item/device/suit_cooling_unit,/turf/simulated/shuttle/plating,/area/skipjack_station/start) +"Sq" = (/obj/item/tool/wrench,/obj/item/mop,/turf/simulated/shuttle/plating,/area/skipjack_station/start) +"Sr" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/item/tool/crowbar,/obj/item/suit_cooling_unit,/turf/simulated/shuttle/plating,/area/skipjack_station/start) "Ss" = (/obj/machinery/computer/shuttle,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) "St" = (/obj/structure/bed/chair/comfy/brown{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) "Su" = (/obj/machinery/door/airlock/maintenance_hatch,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/wizard_station) @@ -2311,67 +2311,68 @@ "Sw" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/shuttle/plating,/area/skipjack_station/start) "Sx" = (/obj/machinery/light/small{dir = 1},/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) "Sy" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) -"Sz" = (/obj/structure/table/steel,/obj/item/weapon/deck/cards,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) +"Sz" = (/obj/structure/table/steel,/obj/item/deck/cards,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) "SA" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) "SB" = (/obj/machinery/bodyscanner{dir = 8},/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) "SC" = (/obj/machinery/light/small{dir = 1},/obj/machinery/body_scanconsole,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) "SD" = (/obj/structure/toilet{dir = 4},/turf/simulated/shuttle/plating,/area/skipjack_station/start) -"SE" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/item/weapon/tank/nitrogen,/turf/simulated/shuttle/plating,/area/skipjack_station/start) +"SE" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/item/tank/nitrogen,/turf/simulated/shuttle/plating,/area/skipjack_station/start) "SF" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/tank/air{dir = 1; start_pressure = 740},/turf/simulated/shuttle/plating,/area/skipjack_station/start) "SG" = (/obj/machinery/computer/crew,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) "SH" = (/obj/machinery/computer/power_monitor,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) -"SI" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Subversive Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/obj/machinery/computer/station_alert/all,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) -"SJ" = (/obj/structure/table/steel_reinforced,/obj/item/device/mmi/radio_enabled,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) -"SK" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/material/knife/ritual,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) -"SL" = (/obj/structure/flora/pottedplant{icon_state = "plant-03"},/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Subversive Intercom"; pixel_x = -32; subspace_transmission = 1; syndie = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) +"SI" = (/obj/item/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Subversive Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/obj/machinery/computer/station_alert/all,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) +"SJ" = (/obj/structure/table/steel_reinforced,/obj/item/mmi/radio_enabled,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) +"SK" = (/obj/structure/table/steel_reinforced,/obj/item/material/knife/ritual,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) +"SL" = (/obj/structure/flora/pottedplant{icon_state = "plant-03"},/obj/item/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Subversive Intercom"; pixel_x = -32; subspace_transmission = 1; syndie = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "SM" = (/obj/structure/reagent_dispensers/watertank,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/wizard_station) "SN" = (/obj/machinery/power/port_gen/pacman,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/wizard_station) "SO" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating/airless,/area/skipjack_station/start) "SP" = (/obj/structure/table/steel,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) "SQ" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) "SR" = (/obj/structure/table/steel_reinforced,/obj/item/xenos_claw,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) -"SS" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/coin/diamond,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) +"SS" = (/obj/structure/table/steel_reinforced,/obj/item/coin/diamond,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) "ST" = (/obj/structure/table/steel_reinforced,/obj/item/broken_device,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) "SU" = (/obj/structure/table/steel_reinforced,/obj/item/organ/internal/stack,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "SV" = (/obj/machinery/floodlight,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/wizard_station) -"SX" = (/obj/structure/table/standard,/obj/item/weapon/handcuffs/legcuffs,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) -"SY" = (/obj/structure/table/standard,/obj/item/weapon/deck/cards,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) +"SW" = (/turf/space,/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/plating/airless/carry,/area/skipjack_station/start) +"SX" = (/obj/structure/table/standard,/obj/item/handcuffs/legcuffs,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) +"SY" = (/obj/structure/table/standard,/obj/item/deck/cards,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) "SZ" = (/obj/machinery/light/small,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) -"Ta" = (/obj/structure/table/standard,/obj/item/weapon/surgical/circular_saw{pixel_y = 8},/obj/item/weapon/surgical/hemostat,/obj/item/weapon/surgical/scalpel,/obj/item/stack/medical/advanced/bruise_pack,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) +"Ta" = (/obj/structure/table/standard,/obj/item/surgical/circular_saw{pixel_y = 8},/obj/item/surgical/hemostat,/obj/item/surgical/scalpel,/obj/item/stack/medical/advanced/bruise_pack,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) "Tb" = (/obj/machinery/mecha_part_fabricator,/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "Tc" = (/obj/structure/table/steel_reinforced,/obj/machinery/cell_charger,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) -"Td" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/book/manual/ripley_build_and_repair,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) -"Te" = (/obj/item/device/suit_cooling_unit,/obj/structure/table/steel_reinforced,/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = 30},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) +"Td" = (/obj/structure/table/steel_reinforced,/obj/item/book/manual/ripley_build_and_repair,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) +"Te" = (/obj/item/suit_cooling_unit,/obj/structure/table/steel_reinforced,/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = 30},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "Tf" = (/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = 30},/obj/item/target,/obj/effect/floor_decal/industrial/outline/yellow,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "Tg" = (/obj/item/target/syndicate,/obj/effect/floor_decal/industrial/outline/yellow,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "Th" = (/obj/structure/table/steel_reinforced,/obj/item/toy/sword,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) -"Ti" = (/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/obj/structure/table/steel_reinforced,/obj/item/weapon/gun/energy/laser/practice,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) +"Ti" = (/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/obj/structure/table/steel_reinforced,/obj/item/gun/energy/laser/practice,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "Tj" = (/obj/machinery/optable,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) -"Tk" = (/obj/structure/table/standard,/obj/item/weapon/surgical/cautery,/obj/item/weapon/surgical/retractor,/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/obj/item/weapon/reagent_containers/syringe,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) +"Tk" = (/obj/structure/table/standard,/obj/item/surgical/cautery,/obj/item/surgical/retractor,/obj/item/reagent_containers/glass/bottle/stoxin,/obj/item/reagent_containers/glass/bottle/stoxin,/obj/item/reagent_containers/syringe,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) "Tl" = (/obj/machinery/recharge_station,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) -"Tm" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/book/manual/engineering_hacking,/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Subversive Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) +"Tm" = (/obj/structure/table/steel_reinforced,/obj/item/book/manual/wiki/engineering_hacking,/obj/item/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Subversive Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "Tn" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "To" = (/obj/effect/floor_decal/industrial/warning,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) "Tp" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) -"Tq" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Subversive Intercom"; pixel_x = -32; subspace_transmission = 1; syndie = 1},/obj/item/target,/obj/effect/floor_decal/industrial/outline/yellow,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) -"Tr" = (/obj/item/weapon/bedsheet/rainbow,/obj/structure/bed/padded,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) -"Ts" = (/obj/item/weapon/bedsheet/hos,/obj/structure/bed/padded,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) -"Tt" = (/obj/structure/table/standard,/obj/item/weapon/surgical/bonesetter,/obj/item/weapon/surgical/bonegel,/obj/item/weapon/surgical/FixOVein,/obj/item/stack/nanopaste,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) +"Tq" = (/obj/item/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Subversive Intercom"; pixel_x = -32; subspace_transmission = 1; syndie = 1},/obj/item/target,/obj/effect/floor_decal/industrial/outline/yellow,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) +"Tr" = (/obj/item/bedsheet/rainbow,/obj/structure/bed/padded,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) +"Ts" = (/obj/item/bedsheet/hos,/obj/structure/bed/padded,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) +"Tt" = (/obj/structure/table/standard,/obj/item/surgical/bonesetter,/obj/item/surgical/bonegel,/obj/item/surgical/FixOVein,/obj/item/stack/nanopaste,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) "Tu" = (/obj/item/robot_parts/r_arm,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/wizard_station) "Tv" = (/obj/item/robot_parts/l_leg,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/wizard_station) -"Tw" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/book/manual/robotics_cyborgs,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) +"Tw" = (/obj/structure/table/steel_reinforced,/obj/item/book/manual/robotics_cyborgs,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "Tx" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "Ty" = (/obj/machinery/power/emitter{anchored = 1; desc = "It is a heavy duty industrial laser used in a very non-industrial way."; name = "teleport defender"},/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) "Tz" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "TA" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/wizard_station) "TB" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/wizard_station) "TC" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/wizard_station) -"TD" = (/obj/item/weapon/stool/padded,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) +"TD" = (/obj/item/stool/padded,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) "TE" = (/obj/structure/toilet{dir = 4},/obj/machinery/light/small{dir = 8},/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) -"TF" = (/obj/item/weapon/bedsheet/orange,/obj/structure/bed/padded,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) -"TG" = (/obj/item/weapon/bedsheet/green,/obj/machinery/light/small{dir = 4},/obj/structure/bed/padded,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) -"TH" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/device/defib_kit/compact/combat/loaded,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) -"TI" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/adv{pixel_x = 1},/obj/item/weapon/storage/firstaid/toxin{pixel_x = 3; pixel_y = 3},/obj/machinery/light/small{dir = 4},/obj/structure/closet/secure_closet/medical_wall{pixel_x = 32; pixel_y = 0; req_access = list(150)},/obj/item/weapon/storage/firstaid/fire{pixel_x = 1},/obj/item/weapon/storage/firstaid/o2{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/firstaid/regular,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) +"TF" = (/obj/item/bedsheet/orange,/obj/structure/bed/padded,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) +"TG" = (/obj/item/bedsheet/green,/obj/machinery/light/small{dir = 4},/obj/structure/bed/padded,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) +"TH" = (/obj/structure/table/standard,/obj/item/reagent_containers/syringe/antiviral,/obj/item/reagent_containers/syringe/antiviral,/obj/item/defib_kit/compact/combat/loaded,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) +"TI" = (/obj/structure/table/standard,/obj/item/storage/firstaid/adv{pixel_x = 1},/obj/item/storage/firstaid/toxin{pixel_x = 3; pixel_y = 3},/obj/machinery/light/small{dir = 4},/obj/structure/closet/secure_closet/medical_wall{pixel_x = 32; pixel_y = 0; req_access = list(150)},/obj/item/storage/firstaid/fire{pixel_x = 1},/obj/item/storage/firstaid/o2{pixel_x = 3; pixel_y = 3},/obj/item/storage/firstaid/regular,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) "TJ" = (/obj/item/robot_parts/r_leg,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/wizard_station) "TK" = (/obj/item/robot_parts/chest,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/wizard_station) "TL" = (/obj/item/robot_parts/l_arm,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/wizard_station) @@ -2380,9 +2381,9 @@ "TO" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/wizard_station) "TP" = (/obj/structure/target_stake,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/wizard_station) "TQ" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/wizard_station) -"TR" = (/obj/item/weapon/bedsheet/rd,/obj/structure/bed/padded,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) +"TR" = (/obj/item/bedsheet/rd,/obj/structure/bed/padded,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) "TS" = (/obj/item/pizzabox/meat,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) -"TT" = (/obj/item/weapon/bedsheet/clown,/obj/structure/bed/padded,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) +"TT" = (/obj/item/bedsheet/clown,/obj/structure/bed/padded,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) "TU" = (/obj/structure/AIcore,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/wizard_station) "TV" = (/obj/structure/flora/pottedplant{icon_state = "plant-20"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "TW" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/wizard_station) @@ -2390,9 +2391,9 @@ "TY" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/wizard_station) "TZ" = (/obj/effect/decal/mecha_wreckage/phazon,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/wizard_station) "Ua" = (/obj/item/robot_parts/head,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/wizard_station) -"Ub" = (/obj/item/weapon/firstaid_arm_assembly,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) -"Uc" = (/obj/item/weapon/bucket_sensor,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) -"Ud" = (/obj/item/weapon/farmbot_arm_assembly,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) +"Ub" = (/obj/item/firstaid_arm_assembly,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) +"Uc" = (/obj/item/bucket_sensor,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) +"Ud" = (/obj/item/farmbot_arm_assembly,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "Ue" = (/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "Uf" = (/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) "Ug" = (/obj/machinery/computer/teleporter,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) @@ -2453,16 +2454,16 @@ aaajajajajajajajajajajajajajajajajajajajajajajajajajajaaafafafajaaajajajajfofyfy aaajajajajajajajajajajajajajajajajajajajajajajajajajajaaafafafajaaajajajfwfofyfyfyfyfyfyfyfyfyfyfyfyfyfyfyfofwajajajaaajajajaaajajajajajajfwfwfwfwfwfWfWfWfWfWfWfWfWfWfWfWfWfWfwfwfwfwfwajajajajajajajaaajaaajajajajajajajajajajajajajajajajajajajajajajajajajaaafafafafafafafafafafafafafafafafhVihihihihihihihihihihihihihihihiiihihihihihikihijikihijihhVafafafafafafafafafafafafafafafafafafafafafafafafgkjkjlgkgkgkgkgkgkgkgijmgRgRgRgRhIgRgRgRgRgkgkiagRgigkjnjogkgkgkgkafafafafafafafafafafafafafafafafafafafafafafafaf aaajajajajajajajajajajajajajajajajajajajajajajajajajajaaafafafajaaajajajfwfyfyfyfyfyfyfyfyfyfyfyfyfyfyfyfyfyfwajajajaaajajajaaajajajajajajajajajajfwfWfWfWfWfWfWfWfWfWfWfWfWfWfwajajajajajajajajajajajaaajaaajajajajajajajajajajajajajajajajajajajajajajajajajaaafafafafafafafafafafafafafafafafhVihihihihihihjpjpjpjpjpjpjpihihihihihihihijihihiMikihihihhVafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafgkgkgkhKgRgkgijqjrjsjtjuhqjvhsgRjwgigkgkgkgRjxgkgkafafafafafafafafafafafafafafafafafafafafafafaf aaajajajajajajajajajajajajajajajajajajajajajajajajajajaaafafafajaaajajajfwfyfyfyfyfyfyfyfyfyfyfyfyfyfyfyfyfyfwajajajaaajajajaaajajajajajajajajajajfwfWfWfWfWfWfWfWfWfWfWfWfWfWfwajajajajajajajajajajajaaajaaajajajajajajajajajajajajajajajajajajajajajajajajajaaafafafafafafafafafafafafafafafafhVihihihihihjyjyjzjAjAjAjBjyjyihihihihiMihihiiihiiihijihijhVafafafafafafafafafafafafafafafafafafafafafafafafafafafafafgkgkgkgkgkgRjwgRgRjCgkjDjEjFjGjHhGjIhshsgRjJgRhZgRgRgRgkgkgkafafafafafafafafafafafafafafafafafafafafafaf -aaajbqfxfxfobqajbqfxfxfobqajajbqfxfxfobqajbqfxfxfobqajaaafafafajaaajajajfwfyfyfyfyfyfyfyfyfyfyfyfyfyfyfyfyfyfwajajajaaajajajaaajajajajajajajajajajfwfWfWfWfWfWfWfWfWfWfWfWfWfWfwajajajajajajajajajajajaaajaaajajajajajajajajajajajajajajajajajajajajajajajajajaaafafafafafafafafafafafafafafafafhVihihihihihjyjKjKjKjKjKjKjKjyjLihihjpjpjpjpjpjpjpjpiujMjphVafafafafafafafafafafafafafafafafafafafafafafafafafafafafafjOjPjQjRgkgRgRgTjSjTgkjUjVjWjXjYhQjZhshsgRjJgRgRgRgRgRgkgtfeafafafafafafafafafafafafafafafafafafafafafaf -aaajbqkakakabqajbqkbkbkbbqajajbqkckckcbqajbqkdkdkdbqajaaafafafajaaajajajfwfyfyfyfyfyfyfyfyfyfyfyfyfyfyfyfyfyfwajajajaaajajajaaajajajajajajajajajajfwfwfwfWfWfWfWfWfWfWfWfWfwfwfwajajajajajajajajajajajaaajaaajajajajajajajajajajajajajajajajajajajajajajajajajaaafafafafafafafafafafafafafafafafhVihihihihihjyjKjKjKjKjKjKjKjyjLihkekfkgkgkhhVhVhVhVhVhVhVhVafafafafafafafafafafafafafafafafafafafafafafafafafafafafafkigRgRgRkjgRgRkkklkmgkgkknkokpgkgkkqkrksgRgkktkukvgRhbgkgtguafafafafafafafafafafafafafafafafafafafafafaf -aaajbqkakakabqajbqkbkbkbbqajajbqkckckcbqajbqkdkdkdbqajaaafafafajaaajajajfwfyfyfyfyfyfyfyfyfyfyfyfyfyfyfyfyfyfwajajajaaajajajaaajajajajajajajajajajajajfwfwfWfWfWfWfWfWfWfwfwajajajajajajajajajajajajajaaajaaajajajajajajajajajajajajajajajajajajajajajajajajajaaafafafafafafafafafafafafafafafafhVihihihihihjyjKjKjKjKjKjKjKjyjLiMkekwfVfVfVkxkyhVkzkAkBhVafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafgkgikCkDgkkEgRkFkGkHgkgkafafafgkgkgikIkJgigkknkpgkkKkLgkgtguafafafafafafafafafafafafafafafafafafafafafaf -aaajbqkakakabqajbqkbkbkbbqajajbqkckckcbqajbqkdkdkdbqajaaafafafajaaajajajfwfyfyfyfyfyfyfyfyfyfyfyfyfyfyfyfyfyfwajajajaaajajajaaajajajajajajajajajajajajajfwfwfwfwfwfwfwfwfwajajajajajajajajajajajajajajaaajaaajajajajajajajajajajajajajajajajajajajajajajajajajaaafafafafafafafafafafafafafafafafhVihihihihihjyjyjyjyjKjyjyjyjyihihjNkwfVfVkNfVfVkOfVfVfVhVafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafgkgkgkgkgkgkknkokpgkafafafafafgkgkkPkQgkgkafafgkgkgkgkgtgLafafafafafafafafafafafafafafafafafafafafafaf +aaajbqfxfxfobqajbqfxfxfobqajajbqfxfxfobqajbqfxfxfobqajaaafafafajaaajajajfwfyfyfyfyfyfyfyfyfyfyfyfyfyfyfyfyfyfwajajajaaajajajaaajajajajajajajajajajfwfWfWfWfWfWfWfWfWfWfWfWfWfWfwajajajajajajajajajajajaaajaaajajajajajajajajajajajajajajajajajajajajajajajajajaaafafafafafafafafafafafafafafafafhVihihihihihjyjKjKjKjKjKjKjKjyjLihihjpjpjpjpjpjpjpjpjMjNjphVafafafafafafafafafafafafafafafafafafafafafafafafafafafafafjOjPjQjRgkgRgRgTjSjTgkjUjVjWjXjYhQjZhshsgRjJgRgRgRgRgRgkgtguafafafafafafafafafafafafafafafafafafafafafaf +aaajbqkakakabqajbqkbkbkbbqajajbqkckckcbqajbqkdkdkdbqajaaafafafajaaajajajfwfyfyfyfyfyfyfyfyfyfyfyfyfyfyfyfyfyfwajajajaaajajajaaajajajajajajajajajajfwfwfwfWfWfWfWfWfWfWfWfWfwfwfwajajajajajajajajajajajaaajaaajajajajajajajajajajajajajajajajajajajajajajajajajaaafafafafafafafafafafafafafafafafhVihihihihihjyjKjKjKjKjKjKjKjyjLihkekfkgkgkhhVhVhVhVhVhVhVhVafafafafafafafafafafafafafafafafafafafafafafafafafafafafafkigRgRgRkjgRgRkkklkmgkgkknkokpgkgkkqkrksgRgkktkukvgRhbgkgtgLafafafafafafafafafafafafafafafafafafafafafaf +aaajbqkakakabqajbqkbkbkbbqajajbqkckckcbqajbqkdkdkdbqajaaafafafajaaajajajfwfyfyfyfyfyfyfyfyfyfyfyfyfyfyfyfyfyfwajajajaaajajajaaajajajajajajajajajajajajfwfwfWfWfWfWfWfWfWfwfwajajajajajajajajajajajajajaaajaaajajajajajajajajajajajajajajajajajajajajajajajajajaaafafafafafafafafafafafafafafafafhVihihihihihjyjKjKjKjKjKjKjKjyjLiMkekwfVfVfVkxkyhVkzkAkBhVafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafgkgikCkDgkkEgRkFkGkHgkgkafafafgkgkgikIkJgigkknkpgkkKkLgkgtgLafafafafafafafafafafafafafafafafafafafafafaf +aaajbqkakakabqajbqkbkbkbbqajajbqkckckcbqajbqkdkdkdbqajaaafafafajaaajajajfwfyfyfyfyfyfyfyfyfyfyfyfyfyfyfyfyfyfwajajajaaajajajaaajajajajajajajajajajajajajfwfwfwfwfwfwfwfwfwajajajajajajajajajajajajajajaaajaaajajajajajajajajajajajajajajajajajajajajajajajajajaaafafafafafafafafafafafafafafafafhVihihihihihjyjyjyjyjKjyjyjyjyihihkMkwfVfVkNfVfVkOfVfVfVhVafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafgkgkgkgkgkgkknkokpgkafafafafafgkgkkPkQgkgkafafgkgkgkgkgthvafafafafafafafafafafafafafafafafafafafafafaf aaajbqkakakabqajbqkbkbkbbqajajbqkckckcbqajbqkdkdkdbqajaaafafafajaaajajajbpfyfyfyfyfyfyfyfyfyfyfyfyfyfyfyfyfybpajajajaaajajajaaajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaaajaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafafafafafafafafafafafafafafafafhVihihihihihihihjyjKjKjKjykRjpjpjpkSkTfVkUkVkWfVhVfVkXkXhVafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafgikYkZgiafafafafgkgkgkgkgkafafafafafafafafafafafafafafafafafafafafafaf aaajbqkakakabqajbqkbkbkbbqajajbqkckckcbqajbqkdkdkdbqajaaafafafajaaajajajfofyfyfyfyfyfyfyfyfyfyfyfyfyfyfyfyfyfoajajajaaajajajaaajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaaajafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafhVihihihihihihihjyjKjKjKjykfkgkgkgkhhVfVkUlakWfVhVhVhVhVahafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf aaajbqbqbqbqbqajbqbqbqbqbqajajbqbqbqbqbqajbqbqbqbqbqajaaafafafajaaajajajfofyfyfyfyfyfofyfyfyfyfyfofyfyfyfyfyfoajajajaaajajajaaajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaaajafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafhVihihjyjyjyjyjyjyjKjKjKjykwfVfVfVfVlbfVfVfVfVfVlcldldlehVafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf aaajajajajajajajajajajajajajajajajajajajajajajajajajajaaafafafajaaajajajfofyfyfyfyfyfofyfyfyfyfyfofyfyfyfyfyfoajajajaaajajajaaajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaaajafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafhVihihjyjKjKjKjKjyjKjKjKjykTfVlfkgkhhVfVfVfVfVfVhVlelelghVafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf aaajajajajajajajajajajajajajajajajajajajajajajajajajajaaafafafajaaajajajfofyfyfyfyfyfofofofofofofofyfyfyfyfyfoajajajaaajajajaaajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaaajafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafhVihihjyjKjKjKjKjyjKjKjKjyjylhjyjylihVhVhVhVhVljhVlklelghVafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajajajajaaajajajfofofofofofofoajajajajajfofofofofofofoajajajaaajajajaaajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaaajafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafhVllihjyjKjKjKjKjyjyjKjyjyjKjKjKjykMlnlihVlolplphVhVhVhVhVafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajajajajaaajajajfofofofofofofoajajajajajfofofofofofofoajajajaaajajajaaajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaaajafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafhVllihjyjKjKjKjKjyjyjKjyjyjKjKjKjylmlnlihVlolplphVhVhVhVhVafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf ajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaaajajajajajajajajajajajajajajajajajajajajajajajajajaaajajajaaajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaaajafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafhVihihjyjKjKjKjKjKjKjKjKjKjKjKjKjyjLihkelqlolplphVafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf ajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajajajaaajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaaajafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafhVihihjyjKjKjKjKjKjKjKjKjKjKjKjKjylrihkekwlolplphVafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf ajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafhVihjyjyjyjyjyjyjyjKjKjKjyjyjyjyjyjyjykekTlolplphVafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf @@ -2509,32 +2510,32 @@ afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafmDtbtbmDafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafrOsssssssssOtctdtetfsOtgthsOtitjsOsOsOsOssssssrOtktltmtmtmrOafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafafpLpLpLpLpLtnsurmqLtopLpLpLpLpLtptphVtqqaqaqahVtrtsfVfVfVfVfVfVfVfVfVfVfVfVfVtthVmc afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafmDtbtbmDafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafrOsssssssOsOtutututusOtvtvsOtututwtxsOsOsOssssrOtytmtmtmtmrOafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafafpLtztAtBpLtCqLqLtDrQrQtEtFtGtHtItJtIqaqaqaqatKfVfVfVfVfVfVqafVtLfVfVfVfVfVfVtMhVmc afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafmDtbtbmDafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafrOsssssOsOsOtNtOtPtQsOtRtutStututututTtUsOsssstVtmtmtmtmtmrOafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafmcmcafafafaftWtXtYtXpLrQtZuapLpLubucuduetHtIuftIqaqaqaqahVuguhfVfVfVfVfVfVfVfVfVfVfVfVfVuihVmc -afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafmDtbtbmDafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafrOsssssmukultuumumumsOtutusOunuoupuqurussOssssrOtmtmtmtmtmrOafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafmcmcmcafafafafpLpLtWutpLpLuuqLuvpLpLuwuxuwpLuyuyhVuzpsrThVhVhVhVuAuBuCuDuEuFfVfVfVfVuGuGuHhVhVmc -afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafnftbtbnfafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafrOssssujuktutututututStutusOsOsOsOsOsOsOsOssssrOuJuKtmuKuLrOafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafmcmcmcmcafafafafpLuMqLqLuNpLuOuPqLpLuQuRuSuTpLmKafmKafafafafmcmchVhVhVhVhVhVhVsLuUuUsLhVhVhVhVmcmc +afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafmDtbtbmDafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafrOssssujukultuumumumsOtutusOunuoupuqurussOssssrOtmtmtmtmtmrOafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafmcmcmcafafafafpLpLtWutpLpLuuqLuvpLpLuwuxuwpLuyuyhVuzpsrThVhVhVhVuAuBuCuDuEuFfVfVfVfVuGuGuHhVhVmc +afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafnftbtbnfafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafrOssssuIuktutututututStutusOsOsOsOsOsOsOsOssssrOuJuKtmuKuLrOafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafmcmcmcmcafafafafpLuMqLqLuNpLuOuPqLpLuQuRuSuTpLmKafmKafafafafmcmchVhVhVhVhVhVhVsLuUuUsLhVhVhVhVmcmc afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafmDtbtbmDafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafrOsssssOsOtututuuVtusOtututuuWuXssssssssssssssuYuYuYuYuYuYuYuYuYuYuYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafmcmcmcmcafafafafpLuZqLqLqLvaqLqLqLvbqLqLqLvcpLnvnvnvnvafafafafmcmcmcmcmcmcmchVvdfVfVvdhVmcmcmcmcmc afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafmDtbtbmDafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafrOsssssssOsOsOsOsOsOsOtRtuvetuuXssssssssssssssuYvfvfvfvfvfvfvfvfvfvgafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafmcmcmcmcmcafafafafpLvhqLqLqLviqLqLqLvjqLqLqLvkpLafafafafafafafafafmcmcmcmcmcmchVvdfVfVvdhVmcmcmcmcmc afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafmDtbtbmDafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafrOsssssOsOvlvmvnvlvosOtututuvpuXssssssssssssssuYvfvqvqvqvqvqvqvqvfvgafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafmcmcmcmcafafafafpLpLpLpLpLpLrQqLqLqLrQpLpLpLpLpLpLafafafafafmJafmKmcmcmcmcmcmchVvdfVfVvdhVmcmcmcmcmc -afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafmDtbtbmDafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafrOrOrOrOrOsssssmuktutututututStutusOsOsOsOsOsOsOsOssssuYvfvqvrvrvrvrvrvqvfvgafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafmcmcmcmcafafafafpLvsvtvuvvvwpLvxqLvypLvzvAvAvBvCpLafafafafafmJmKmcmcmcmcmcmcmchVvdfVfVvdhVmcmcmcmcmc -afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvDvDvDvDvDafafafafafafafafafafafafafafafafafvDvDvDvDvDafafafafafafafafafafafafafafafafafafvDvDvDvDvDvEvEvEvEvDvDvDvDvEvFvFvErOvGvGrOrOvGvGrOrOvGvGvGvGrOrOrOrOvGvGvGvGrOrOrOrOvGvGrOrOrOrOrOrOvHvHvIrOssssujukvJtutututusOtututututusOtuvKvLsOssssuYvfvqvMvrvrvrvNvqvfvgafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafmcmcmcafafafafafvOvPvPvPvPvPpLqLqLqLpLvQqLqLqLvRvSafafafafafnEafmcmcmcmcmcmcmchVhVvTvUhVhVmcmcmcmcmc +afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafmDtbtbmDafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafrOrOrOrOrOssssujuktutututututStutusOsOsOsOsOsOsOsOssssuYvfvqvrvrvrvrvrvqvfvgafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafmcmcmcmcafafafafpLvsvtvuvvvwpLvxqLvypLvzvAvAvBvCpLafafafafafmJmKmcmcmcmcmcmcmchVvdfVfVvdhVmcmcmcmcmc +afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvDvDvDvDvDafafafafafafafafafafafafafafafafafvDvDvDvDvDafafafafafafafafafafafafafafafafafafvDvDvDvDvDvEvEvEvEvDvDvDvDvEvFvFvErOvGvGrOrOvGvGrOrOvGvGvGvGrOrOrOrOvGvGvGvGrOrOrOrOvGvGrOrOrOrOrOrOvHvHvIrOssssuIukvJtutututusOtututututusOtuvKvLsOssssuYvfvqvMvrvrvrvNvqvfvgafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafmcmcmcafafafafafvOvPvPvPvPvPpLqLqLqLpLvQqLqLqLvRvSafafafafafnEafmcmcmcmcmcmcmchVhVvTvUhVhVmcmcmcmcmc afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvDvVvWvVvDafafafafafafafafafafafafafafafafafvDvVvVvVvDafafafafafafafafafafafafafafafafafvDvDvXvYvYvYvYvYvYvYvYvYvYvYvYvYvYvZvGvHvHvHvHvHvHvGvHvHvHvHvHvHwavHvHvHvHvHvHvHvHwavHvHvHwbvHvHvHvHvHvHvHvHwcsssssOsOsOwdwewfwgsOtRwfwfwftutStututusOssssuYvfvqvrvrwhwhwhwivfvgafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafmcmcafafafafafafwjwkwlvPvPvPwmqLqLqLwnqLqLqLwowpwqafafafafafmJmKmKmcmcmcmcmcmcmchVhVhVhVmcmcmcmcmcmc afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafwrvDvDvDwrafafafafafafafafafafafafafafafafafwrvDvDvDwrvEvEvEvEwrafafafafafafafafafafafafvDvYvYvYvYvYvYvYvYvYvYvYvYvYvYvYvYvYwsvHvHvHvHvHvHwsvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHwbvHvHvHvHvHvHvHvHwcsssssssOsOtutututusOtuwfwfwftusOwtsOsOsOssssuYvfvqvrvrvrvrvrwuvfvgafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafwvvPvPvPvPvPwwqLqLqLwxqLqLqLqLwywzafafafafafmJafafmKmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmc afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvEvYvYvYvEmKmKmKmKafafafafafafafafafmKmKmKmKvEvYvYvYvEmKmKmKmKmKmKmKmKmKmKmKmKmKmKmKmKafvDvYvYvYvYvYvYvYvYvYvYvYvYvYvYvYvYvYwsvHvHvHvHvHvHwsvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHrOrOrOrOrOrOrOrOrOrOsssssssssOsOwAwBwCsOtututututusOsOsOsOssssssuYvfvqvrvrvrvrwDvqvfvgafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafpLwEvPvPvPwFrQuwwGuwpLwHwIwJqLwKpLafafafafafafafafafmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmc afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvEvYvYvYvEafafafmKmKmKmKmKmKmKmKmKmKmKafafafvEvYvYvYvEmKafafafafafafafafafafafafafafmKmKvEvYvYvYwLwLwLwLwLwLwLwLwLwLwLwLwLwLwLwLvGvGwMvGvGrOvGvGvGvGvGwNwNvGvGrOrOvGvGvGvGrOrOvHvHrOwOwPrOwOwPrOwOwPrOsssssssssssOsOsOsOsOsOsOsOsOsOsOsOssssssssssuYvfvqvrvrvrvrvrwuvfvgafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafpLwQwRwSwTwUpLwVqLwWpLwXrQpLwYpLpLafafafafafafafmJafmKmcmcmcmcmcmcmcmcmcmcmcmcmcmcmc afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvDvYvYvYvDvDvDafafafafafafafafafafafafafvDvDvDvYvYvYvDafafafafafafafafafafafafafafafvDvDvDvYvYvYwLwZxaxaxaxaxaxaxaxaxaxbxcxdxewLxfxfxfxgxhrOwNwNwNwNwNwNwNxixjrOxkxkxkxkxkxkrOvHvHrOxlxmrOxlxmrOxlxmrOssssssssssssssssssssssssssssssssssssssssssssuYvfvqvrvrxnxnxnxovfvgafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafpLxpvPxqrQpLpLxrqLxspLpLpLxtqLxupLafafafafafafafmJmKmKmcmcmcmcmcmcmcmcmcmcmcmcmcmcmc afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvDvYvYvYxvxwxxafafafafafafafafafafafafafxxxwxvvYvYvYvDafafafafafafafafafafafafafafafxxxwxvvYvYvYwLxyxzxzxzxAxAxzxzxzxzxBxzxzxCwLxDxfxfxfxfrOwNxExFxGxEwNwNwNwNrOxkxHxIxIxJxkvGvHvHrOxKxLrOxKxLrOxKxLrOssssssssssssssssssssssssssssssssssssssssssssuYvfvqvMvrvrvrvNvqvfvgafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafpLxMxNxOpLafpLxPxPxPpLafpLqqxQxRpLafafafafafafafmJafmKafmcmcmcmcmcmcmcmcmcmcmcmcmcmc -afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvDvYvYvYxvxwxxafafafafafafafafafafafafafxxxwxvvYvYvYvDafafafafafafafafafafafafafafafxxxwxxvYvYvYwLxyxzxzxSxTyoxVxzxzxWxbxXxYxZwLyaxfxfxfxfrOwNxEybybxEwNwNwNwNrOxkycuKydyexkvGvHvHrOyfrOrOyfrOrOyfrOrOrOrOrOrOrOrOrOrOrOrOrOrOrOrOrOrOrOrOrOrOrOrOuYvfvqvqvrvrvrvqvqvfvgafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafpLxPxPxPpLafpLuIxUygpLafpLxPxPxPpLafafafafafafafmJmKmKmKmKmKmcmcmcmcmcmcmcmcmcmcmcmc -afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvDvYvYvYvDvDvDafafafafafafafafafafafafafvDvDvDvYvYvYvDafafafafafafafafafafafafafafafvDvDvDvYvYvYwLxyxzxzxSyoyoxVxzxzxCwLwLwLwLwLyjyjyjxfxfrOwNwNwNwNwNwNwNykxErOxkycuKuKyexkrOvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHylssssylvgvfvqvqymymymvqvqvfvgafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafmcmcafafafpLuIxUygpLafafafafafafafpLuIxUygpLafafafafafafafmJafmKafmKafafmcmcmcmcmcmcmcmcmcmcmc -afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvEvYvYvYvEafafafafafafafafafafafafafafafafafvEvYvYvYvEmKafafafafafafafafafafafafafafmKmKvEvYvYvYwLynxzxzxSyoypxVxzxzyqxbxcxdxewLyrysytxfxfrOwNxEybxGxEwNwNwNwNrOxkycuKuKyexkyuvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHylssssylvgvfvfyhyiyiyiyvvfvfvgafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafmcmcmcafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafmcmcmcmcmcmcmcmcmcmcmc +afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvDvYvYvYxvxwxxafafafafafafafafafafafafafxxxwxvvYvYvYvDafafafafafafafafafafafafafafafxxxwxxvYvYvYwLxyxzxzxSxTxUxVxzxzxWxbxXxYxZwLyaxfxfxfxfrOwNxEybybxEwNwNwNwNrOxkycuKydyexkvGvHvHrOyfrOrOyfrOrOyfrOrOrOrOrOrOrOrOrOrOrOrOrOrOrOrOrOrOrOrOrOrOrOrOuYvfvqvqvrvrvrvqvqvfvgafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafpLxPxPxPpLafpLygyhyipLafpLxPxPxPpLafafafafafafafmJmKmKmKmKmKmcmcmcmcmcmcmcmcmcmcmcmc +afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvDvYvYvYvDvDvDafafafafafafafafafafafafafvDvDvDvYvYvYvDafafafafafafafafafafafafafafafvDvDvDvYvYvYwLxyxzxzxSxUxUxVxzxzxCwLwLwLwLwLyjyjyjxfxfrOwNwNwNwNwNwNwNykxErOxkycuKuKyexkrOvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHylssssylvgvfvqvqymymymvqvqvfvgafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafmcmcafafafpLygyhyipLafafafafafafafpLygyhyipLafafafafafafafmJafmKafmKafafmcmcmcmcmcmcmcmcmcmcmc +afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvEvYvYvYvEafafafafafafafafafafafafafafafafafvEvYvYvYvEmKafafafafafafafafafafafafafafmKmKvEvYvYvYwLynxzxzxSyoypxVxzxzyqxbxcxdxewLyrysytxfxfrOwNxEybxGxEwNwNwNwNrOxkycuKuKyexkyuvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHylssssylvgvfvfyvywywywyxvfvfvgafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafmcmcmcafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafmcmcmcmcmcmcmcmcmcmcmc afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvEvYvYvYvEmKmKmKmKmKmKmKmKmKmKmKmKmKmKmKmKmKvEvYvYvYvEmKmKmKmKmKmKmKmKmKmKmKmKmKmKmKmKafvDvYvYvYwLyyxzxzxzyzyzxzxzxzxzxBxzxzxCwLyAxfxfxfxfrOwNxEybyBxEwNwNwNwNrOxkycuKuKyexkrOvHvHrOvGvGvGvGvGvGvGvGvGrOrOrOrOrOrOrOrOrOrOrOrOvHvHrOrOrOrOrOrOrOrOuYvfvfvfvfvfvfvfvfvfvgafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafmcmcafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafmcmcmcmcmcmcmcmcmcmcmc afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvEvYvYvYvEafafafafafafafafafafafafafafafafafvEvYvYvYvEvEvEvEvEwrafafafafafafafafafafafafvDvYvYvYwLyCyDyEyFxzxzxzxWyEyExbxXxYxZyGyGyGyGyGyGyGyGyGyGyGyGyGyGyGyGrOxkycuKyHyexkvGvHvHrOvHyIyJyKyLvHyMyNyOrOyPyPyPyPyPyPyPyPyPyPrOvHvHrOafafafafafafafuYuYuYuYuYuYuYuYuYuYuYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafmcmcmcmcmcmcmcmcmcmcmc afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvDvYvYvYvDvDvDafafafafafafafafafafafafafvDvDvDvYvYvYvEmKafafafafafafafafafafafafafafafafvEvYvYvYwLwLwLwLyQxzxzyRySwLwLwLwLwLwLyGyTyUyVyGyWyXyXyXyXyXyXyXyXyYyZrOxkxKzazazbxkvGvHvHvGvHyIzczdyLvHzezfzgrOyPyPyPyPyPyPyPyPyPyPrOvHvHrOafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafmcmcmcmcmcmcmcmcmcmcmc afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvDvYvYvYxvxwxxafafafafafafafafafafafafafxxxwxvvYvYvYvEmKafafafafafafafafafafafafafafafafvDvYvYvYwLzhzixbzjxzxzxzzkwLzlzmznznzoyGyTyUzpyGyXyXyXyXzqzryXyXyXyXyXrOxkxkxkxkxkxkrOvHvHvGvHvHvHvHvHvHvHvHzsrOrOrOrOrOrOrOrOrOyPyPrOvHvHrOafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafmcmcmcmcmcmcmcmcmcmc -afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvDvYvYvYxvxwxxafafafafafafafafafafafafafxxxwxvvYvYvYvEvEvEvEvEwrmKmKmKmKmKmKmKmKmKmKmKafvDvYvYvYwLyQxzztxzxzxzyRzuwLzvxSyoxVzwyGyUyUyUzxyXyXzyyXzqzryXzzzAzByXrOrOvGvGvGvGrOrOvHvHzCvHvHvHvHzDzEzFvHvHrOvHvHvHvHvHvHzGrOyPyPrOvHvHrOafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafmcmcmcmcmcmcmcmcmc -afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvDvYvYvYvDvDvDafafafafafafafafafafafafafvDvDvDvYvYvYvEmKafafzHzHzHzHzHzHzIzIzIzHzHywmKmKvEzKvYvYwLzjxzztxWyEzLzMzNwLzOzPyoxzzwyGyUyUzQyGzRyXzSyXzqzryXzzzAzByXyGvHvHvHvHvHvHvHvHvHvGvHvHvHvHzFzFzGvHvHzTvHzUvHvHzUvHzFrOyPyPrOvHvHrOafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafmcmcmcmcmcmcmcmc -afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvEvYvYvYvEafafafafafafafafafafafafafafafafafvEvYvYvYvDafafzHzHzVzWzHzXzYzXzXzXzYzZyxvDvDvDvYvYvYwLztztxbxbxbxbxbxbwLxbAbxzAcAdyGAeyUzQyGzRyXyXyXAfzryXzzAgzByXyGvHvHvHvHvHvHvHvHvHvGAhyLvHvHvHvHvHAivHrOzcAjAkzFAlvHzsrOyPyPrOvHvHrOafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafmcmcmcmcmcmcmc +afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvDvYvYvYxvxwxxafafafafafafafafafafafafafxxxwxvvYvYvYvEvEvEvEvEwrmKmKmKmKmKmKmKmKmKmKmKafvDvYvYvYwLyQxzztxzxzxzyRzuwLzvxSxUxVzwyGyUyUyUzxyXyXzyyXzqzryXzzzAzByXrOrOvGvGvGvGrOrOvHvHzCvHvHvHvHzDzEzFvHvHrOvHvHvHvHvHvHzGrOyPyPrOvHvHrOafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafmcmcmcmcmcmcmcmcmc +afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvDvYvYvYvDvDvDafafafafafafafafafafafafafvDvDvDvYvYvYvEmKafafzHzHzHzHzHzHzIzIzIzHzHzJmKmKvEzKvYvYwLzjxzztxWyEzLzMzNwLzOzPxUxzzwyGyUyUzQyGzRyXzSyXzqzryXzzzAzByXyGvHvHvHvHvHvHvHvHvHvGvHvHvHvHzFzFzGvHvHzTvHzUvHvHzUvHzFrOyPyPrOvHvHrOafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafmcmcmcmcmcmcmcmc +afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvEvYvYvYvEafafafafafafafafafafafafafafafafafvEvYvYvYvDafafzHzHzVzWzHzXzYzXzXzXzYzZAavDvDvDvYvYvYwLztztxbxbxbxbxbxbwLxbAbxzAcAdyGAeyUzQyGzRyXyXyXAfzryXzzAgzByXyGvHvHvHvHvHvHvHvHvHvGAhyLvHvHvHvHvHAivHrOzcAjAkzFAlvHzsrOyPyPrOvHvHrOafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafmcmcmcmcmcmcmc afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvEvYvYvYvEafafafafafafafafafafafafafafafafafvEvYvYvYvDafafzIzWAmzWAnzWzWzWzWzWzWzWAoApxwApvYvYvYwLzPxzAqArArArArArAsxbxbAtxbxbyGyGyGyGyGzqzqzqzqzqzryXzzAuzByXyGvGvGAvvGvGrOwavHvHrOAwyLvHvHvHvHvHrOrOrOrOvGvGvGvGvGrOrOAxAxrOvHvHrOafafafafAyAyAyAyAyAyAyAyAyAyAyAyAyAyAyAyAyAyafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafmcmcafafafafafafafafafafafafafmcmcmcmcmcmc -afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvEvYvYvYvEmKmKmKafafafafafafafafafafafmKmKmKvEvYvYvYvDafafzHzHAzzWzHAAABAAAAAAABACzJvDvDvDvYvYvYwLAbxzxzxzxzxzxzxzAqArAExzAqAFAGyGyXyXyXzrzrzrzrzryXyXyXyXyXyXyGAHAIvHAJAKrOALAMANAxAxAOAxrOvGAPvGrOAQAQAQARASATAUAVAQAQAQAxwavHvHrOafafafAyAyAWAWAWAWAWAWAXAXAXAWAWAWAWAXAXAXAYafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafmcmcmcmcafafafafafafafafafafafafafmcmcmcmcmc -afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvDvYvYvYvDafafmKafafafafafafafafafafafmKafafvDvYvYvYvEmKafafzHzHzHzHzHzHzIzIzIzHzHAamKmKvEvYvYvYwLAbxzxzyRyRyRyRyRxzxzxzxzxzyRBayGBbyXyXyXyXyXyXyXyXyXyXyXyXBbyGvHvHvHvHvHrOvHvHvHBcAQAQBdrOvHvHvHrOAQAQAQARBeBfBgAVAQAQAQAxvHvHvHrOafafafAyAWAWAWAWAWAWAWAWAWAWAWAWAWAWAWAWAWAYafafafafafafafafafafafafafafafafafafafafafafafafafafafBhafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafmcmcmcmcmcafafafafafafafafafafafafafmcmcmcmcmc +afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvEvYvYvYvEmKmKmKafafafafafafafafafafafmKmKmKvEvYvYvYvDafafzHzHAzzWzHAAABAAAAAAABACADvDvDvDvYvYvYwLAbxzxzxzxzxzxzxzAqArAExzAqAFAGyGyXyXyXzrzrzrzrzryXyXyXyXyXyXyGAHAIvHAJAKrOALAMANAxAxAOAxrOvGAPvGrOAQAQAQARASATAUAVAQAQAQAxwavHvHrOafafafAyAyAWAWAWAWAWAWAXAXAXAWAWAWAWAXAXAXAYafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafmcmcmcmcafafafafafafafafafafafafafmcmcmcmcmc +afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvDvYvYvYvDafafmKafafafafafafafafafafafmKafafvDvYvYvYvEmKafafzHzHzHzHzHzHzIzIzIzHzHAZmKmKvEvYvYvYwLAbxzxzyRyRyRyRyRxzxzxzxzxzyRBayGBbyXyXyXyXyXyXyXyXyXyXyXyXBbyGvHvHvHvHvHrOvHvHvHBcAQAQBdrOvHvHvHrOAQAQAQARBeBfBgAVAQAQAQAxvHvHvHrOafafafAyAWAWAWAWAWAWAWAWAWAWAWAWAWAWAWAWAWAYafafafafafafafafafafafafafafafafafafafafafafafafafafafBhafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafmcmcmcmcmcafafafafafafafafafafafafafmcmcmcmcmc afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvDvYvYvYvDafafmKafafafafafafafafafafafmKafafvDvYvYvYvEvEvEvEvEwrmKmKmKmKmKmKmKmKmKmKmKafvDvYvYvYwLAbxzxzBiBiBiBiBixzxzxzxzxzxzzwyGzAyXzzzAzAzByXyXzzzAzAzByXzAyGvHvHvHvHvHrOvHvHvHBcBjBkBlrOvHvHvHrOAQAQAQBmBnBoBpBqAQAQAQAxvHvHvHrOafafafAyAWAWAWAWAWAWAWAWAWAWAWAWAWAWAWAWAWAYafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafmcmcmcmcmcmcafafafafafafafafafafafafafmcmcmcmc afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvDvYvYvYvDafafmKafafafafafafafafafafafmKafafvDvYvYvYvEmKafafafafafafafafafafafafafafafafvDvYvYvYwLAbxzxzyoxzxzxzyoxzAcBrzPxzxzzwyGBsyXzzAuAgzByXyXzzAuAgzByXBsyGvHBtBuBvBwrOvGBxvGAxByBzAxrOBABBBCrOAQAQAQAQAQAQAQAQAQAQAQAxvHvHvHrOafafafAyAWAWAWBDAyAyAyAYAYAYAyBEBEAyAYAYAYAyAyAyAyAYAYAYAyAyAYAYAYAyafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafmcmcmcmcmcmcmcafafafafafafafafafafafafafafmcmc afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvEBFBFBFvEvEafmKafafafafafafafafafafafmKafvEvEBFBFBFvEvEafafafafafafafafafafafafafafafvEvEBFBFBFwLAbxzAczPxzxzAcBrzPzwwLwLBGBGwLyGBbyXyXyXyXyXyXyXyXyXyXyXyXBbyGBHrOrOrOrOrOAQAQAQAxBcBcAxrOrOrOrOrOAQAQAQAQAQAQAQAQAQAQAQAxvHvHvHrOafafafAyBIAWAWAyAyBJBJBKBJBKBJBLBLBJBKBJBKBJBJBMBMBMBMBMBMBMBMBMBMAyafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafmcmcmcmcmcmcmcmcmcafafafafafafafafafafafafafafmc @@ -2575,8 +2576,8 @@ afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvEvYvYvYvEafafaf afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvEvYvYvYvEmKmKmKmKafafafafafafafafafmKmKmKmKvEvYvYvYvEmKmKEUJPJPEUJRJQJEJEJSEUJPJPEUmKmKvEvYvYvYEhEhJTEhEjEjEhEhIHEhEhJUJVJWEjJXJYHzJZJZKaGNHeHeGNGNKbKbKbKbKbGNKcKcKcKcKcKcKcKcKcKcKcKcKcKdKcGNKeKeKeKeKeGNHeHeHeGNafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafwrvDvDvDwrafafafafafafafafafafafafafafafafafwrvDvDvDwrafafEUKfKgEUKhJEKiKjKkEUKlKmEUafafwrvYvYvYEhKnEuJhKoKpEhFtEuEvHzEyEuEvEjEyEuEuEuEuEKGNHeGNGNGNKqKqKqKqKqGNKrKsKsKsKsKsKsKsKsKsKsKsKsKtKrGNKqKqKqKqKqGNGNGNHeGNafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvDvVvWvVvDafafafafafafafafafafafafafafafafafvDvVvVvVvDafafEUKuKuEUKvKwJEKxKyEUKuKuEUafafvDvYvYvYEhKzEuEuEuKAEhFtEuEuEzFYEuEuKBEuEuEuEuEuEKGNHeGNKCKDKEKEKEKEKEKFKsKsKsKsKsKsKsKsKsKsKsKsKsKtKsKFKGKGKGKGKGKDKHGNHeGNafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf -afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvDvDvDvDvDafafafafafafafafafafafafafafafafafvDvDvDvDvDafafEUADADEUEUKuKuKuEUEUADADEUafafvDvYvYvYEhKJEuEuIXKKEhKLEuEuEKKMEuKNEjFnEuEMEuEuEKGNHeGNKCKDKEKOKEKOKEKFKsKsKsKsKsKsKsKsKsKsKsKsKsKtKsKFKGKPKGKPKGKDKHGNHeGNafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf -afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafEUADADADEUafafafafafafvEvYvYvYEhJgEuEuEuKQEhKREuEuKSKTEuKUEjKVKWKXKYKYKZGNHeGNKCKDKEKELaKEKEKFKsKsKsKsKsKsKsLbKsKsKsKsKsKtKsKFKGKGLcKGKGKDKHGNHeGNafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf +afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvDvDvDvDvDafafafafafafafafafafafafafafafafafvDvDvDvDvDafafEUKIKIEUEUKuKuKuEUEUKIKIEUafafvDvYvYvYEhKJEuEuIXKKEhKLEuEuEKKMEuKNEjFnEuEMEuEuEKGNHeGNKCKDKEKOKEKOKEKFKsKsKsKsKsKsKsKsKsKsKsKsKsKtKsKFKGKPKGKPKGKDKHGNHeGNafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf +afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafEUKIKIKIEUafafafafafafvEvYvYvYEhJgEuEuEuKQEhKREuEuKSKTEuKUEjKVKWKXKYKYKZGNHeGNKCKDKEKELaKEKEKFKsKsKsKsKsKsKsLbKsKsKsKsKsKtKsKFKGKGLcKGKGKDKHGNHeGNafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvDvYvYvYEhLdLeLfLgLhEhLiLjLkLlLmFYIGEhEhEhEhEhEhEhGNHeGNKCKDKEKEKEKEKEKFKsKsKsKsKsKsLnLoLnKsKsKsKsKtKsKFKGKGKGKGKGKDKHGNHeGNafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvDvYvYvYEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhafafafafafafGNHeGNKCKDKEKOKEKOKEKFKsKsKsKsKsKsLpLqLrKsKsKsKsKtKsKFKGKPKGKPKGKDKHGNHeGNafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvDvYvYvYvYvYvYvYvYvYvYvYvYvYvYvYvYvYvEafafafafafafGNHeGNHeKDKEKEKEKEKEKFKsKsKsKsKsKsKsLsKsKsKsKsKsKtKsKFKGKGKGKGKGKDHeGNHeGNafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf @@ -2594,11 +2595,11 @@ afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafMeMeMeMeMeMeMeafafafafafafafafafafafafafafafafvDvYvYvDafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafahLXLYLYLYLYLYMgMgLYLYLYLYLYLYLYLYLYLYLYLYLXah afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafMeMeMeMeMeMeMeMeMeafMhMiMiMiMiMiMiMiMiMiMiMiMiMhvDvYvYvDMhMhMhMhMhMhMhMhMhMhafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafahLXLYLYLYLYMgMjMkMgLYLYLYLYLYLYLYLYLYLYLYLXah afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafMhMhMhMhMhMlMiMiMiMlMiMiMiMlMmMeMeMeMeMeMeMeMeMeMmMhMnMoMoMoMoMoMoMoMoMoMoMoMhvEvFvFvEMhMpMqMrMsMsMtMuMvMhMhafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafahLXLYLYLYLYMgMwMxMgLYLYMfLYMyLYLYLYLYLYLYLXah -afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafAZMAMnMBMCMhMDMDMDMhMEMEMEMhMmMFMFMFMFMFMFMFMFMFMmMhMoMoMoMoMoMoMoMoMoMoMoMoMhMhMGMGMhMhMHMHMHMIMJMKMHMHMLMhafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafahLXLYLYLYLYLYMgMgLYLYLYLYLYLYLYLYLYLYLYLYLXah -afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafKIMAMnMnMnMhMDMDMDMhMEMEMEMhMmMFMFMFMFMFMFMFMFMFMmMhMoMoMoMoMoMoMoMoMoMoMoMoMhMNMOMOMNMhMPMQMHMHMHMHMHMHMRMhafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafahLXLYLYMdLYLYLYLYLYLYLYLYLYLYLYLYLYMbLYLYLXah -afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafKIMAMnMnMnMhMDMDMDMhMEMEMEMhMmMFMFMFMFMFMFMFMFMFMmMhMoMoMoMoMoMoMoMoMoMoMoMoMhMOMSMSMOMhMHMHMHMTMUMVMHMHMWMhMhMhMhafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafahLXLYLYMfMdLYLYLYLYLYLYLYLYLYLYLYLYMdLYLYLXah -afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafKIMAMnMnMnMhMDMDMDMhMEMEMEMhMmMFMFMFMFMFMFMFMFMFMmMhMnMoMoMoMoMoMoMoMoMoMoMoMhMOMSMSMOMhMXMYMHMZNaNbMHMHMHMHMHNcMhafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafahLXLYLYLYLYLYLYLYNdLYNeLYNeLYNfLYLYLYLYLYLXah -afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafMzMAMnMnMnMhMDMDMDMhMEMEMEMhMmMFMFMFMFMFMFMFMFMFMmMhMhMhMhMhMhNhNhMhMhMhMhMhMhMOMSMSMOMhNiMHMHMHMHMHMHMHMHMHMHNcMhafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafahLXLYLYLYNjLYLYLYLYLYLYLYLYLYLYLYLYLYLYLYLXah +afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafMzMAMnMBMCMhMDMDMDMhMEMEMEMhMmMFMFMFMFMFMFMFMFMFMmMhMoMoMoMoMoMoMoMoMoMoMoMoMhMhMGMGMhMhMHMHMHMIMJMKMHMHMLMhafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafahLXLYLYLYLYLYMgMgLYLYLYLYLYLYLYLYLYLYLYLYLXah +afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafMMMAMnMnMnMhMDMDMDMhMEMEMEMhMmMFMFMFMFMFMFMFMFMFMmMhMoMoMoMoMoMoMoMoMoMoMoMoMhMNMOMOMNMhMPMQMHMHMHMHMHMHMRMhafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafahLXLYLYMdLYLYLYLYLYLYLYLYLYLYLYLYLYMbLYLYLXah +afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafMMMAMnMnMnMhMDMDMDMhMEMEMEMhMmMFMFMFMFMFMFMFMFMFMmMhMoMoMoMoMoMoMoMoMoMoMoMoMhMOMSMSMOMhMHMHMHMTMUMVMHMHMWMhMhMhMhafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafahLXLYLYMfMdLYLYLYLYLYLYLYLYLYLYLYLYMdLYLYLXah +afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafMMMAMnMnMnMhMDMDMDMhMEMEMEMhMmMFMFMFMFMFMFMFMFMFMmMhMnMoMoMoMoMoMoMoMoMoMoMoMhMOMSMSMOMhMXMYMHMZNaNbMHMHMHMHMHNcMhafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafahLXLYLYLYLYLYLYLYNdLYNeLYNeLYNfLYLYLYLYLYLXah +afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafNgMAMnMnMnMhMDMDMDMhMEMEMEMhMmMFMFMFMFMFMFMFMFMFMmMhMhMhMhMhMhNhNhMhMhMhMhMhMhMOMSMSMOMhNiMHMHMHMHMHMHMHMHMHMHNcMhafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafahLXLYLYLYNjLYLYLYLYLYLYLYLYLYLYLYLYLYLYLYLXah afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafMhMhMhMhNkMhMhMhNlMhMhMhNmMhMhMhMhMhMhMhNnMhMhMhMhMhMhNoMOMOMOMONpMOMOMOMOMOMNMhMOMSMSMOMhMXMYMHMHNqNqNrNsNsNtMhMhMhMhMhafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafahLXNuNuNuNuNuNuNuNuNuNuNuNuNuNuNuNuNuNuNuLXah afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafNvMNMOMOMOMOMOMONwMOMOMONxMOMOMOMOMOMOMONyMOMONzNANBMhMOMSMSMSMSMSMSMSMSMSMSMOMhMOMSMSMOMlNCNCNDNDNCNCNCMhMhMhMhNENFNGNCafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafahNHNINININININININININININININININININININHah afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafNvMOMSMSMSMSMSMSMSMSMSMSMSMSMSMSMSMSMSMSMSMSMSMSMSMONJMOMSNKNKNKNKNKNKNKNKMSMONJMOMSMSMONJMOMOMOMOMOMOMOMOMOMONCNLNMNNNCafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafahNONPNPNPNPNPNPNPNPNPNPNPNPNPNPNPNPNPNPNPNOah @@ -2638,13 +2639,13 @@ ahmcmcmcafafafafafafafafafafRRRSRxRTRURxPVRVRWQWQWQWQWRXPVRxRYRxRZRwRRafafafaflY ahmcmcmcafafafafafafafafafafSlRSRxRxPVRzPVPVPVSmSnSoPVPVPVRzPVSpSqSrSlafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafPIafafPRSsQDStQDQDQDQDQRRNQDPQQDRNQRQDQDQDQDSuRQRQPRafafPIafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf ahmcmcmcafafafafafafafafafPVPVSvSwSwPVQWSxQWRJSySzSARJSBSCQWPVSDSESFPVPVafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafPIafafPRSGQDRNRNQDSHSIPQSJRNQDRNSKPQSLRNQDRNPQSMSNPRafafPIafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf ahmcmcmcafafafafmcmcafafafPVPVSOSOPVPVQWQWQWRRSySPSARRQWQWSQPVPVSOSOPVPVafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafPIafafPQQDPQPQPQQRPQPQPQSRSSRNSTSUPQPQPQQRPQPQPQSVPQafafPIafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf -ahmcmcmcafafafafmcmcafafafafPVMMMMPVPVSXSYQWSlSZQWSZSlQWQWTaPVPVMMMMPVafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafPIafafPQPQPQTbTcQDTdTePQPQPQQRPQPQPQTfTgQDThTiPQPQPQafafPIafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf +ahmcmcmcafafafafmcmcafafafafPVSWSWPVPVSXSYQWSlSZQWSZSlQWQWTaPVPVSWSWPVafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafPIafafPQPQPQTbTcQDTdTePQPQPQQRPQPQPQTfTgQDThTiPQPQPQafafPIafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf ahmcmcmcafafafafmcmcafafafafafafafafPVQWQWQWPVPVRzPVPVTjQWTkPVafafafafafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafPIafafafPRTlQDQDQDQDQDTmPQTnToTpPQTqQDQDQDQDQDQDPRafafafPIafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf ahmcmcmcafafafafafafafafafafafafafafPVQWQWSQPVTrQWTsPVQWQWTtPVafafafafafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafPIafafafPQPQRQTuRQTvQDTwPQTxTyTzPQTgQDTATBTCTDPQPQafafafPIafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf ahmcmcmcmcafafafafafafafafafafafafafPVPVTEQWPVTFQWTGPVTHTIPVPVafafafafafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafPIafafafafPQRQTJTKTLQDQDQRTMQDTNQRQDQDTOTPTQTDPQafafafafPIafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf ahmcmcmcmcmcafafafafafafafafafafafafPVPVPVPVPVTRTSTTPVPVPVPVPVafafafafafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafPIafafafafPQPQTURQRQQDTVPQTxQDTzPQRNQDTWTXTYPQPQafafafafPIafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf ahmcmcmcmcmcafafafafmcmcafafafafafafafafPVPVSOSOSOSOSOPVPVafafafafafafafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafPIafafafafafPQPQTZUaQDUbPQPQQRPQPQRNQDTDTDPQPQafafafafafPIafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf -ahmcmcmcmcmcafafafafmcmcmcafafafafafafafafPVMMMMMMMMMMPVafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafPIafafafafafafPQPQPQUcUdPQQDQDQDPQUeUfPQPQPQafafafafafafPIafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf +ahmcmcmcmcmcafafafafmcmcmcafafafafafafafafPVSWSWSWSWSWPVafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafPIafafafafafafPQPQPQUcUdPQQDQDQDPQUeUfPQPQPQafafafafafafPIafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf ahmcmcmcmcmcafafafafmcmcmcafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafPIafafafafafafafafPQPRPQPQUgUhUiPQPQPRPQafafafafafafafafPIafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf ahmcmcmcmcmcafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafPIafafafafafafafafafafPQPQPQPRPQPQPQafafafafafafafafafafPIafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf ahmcmcmcafafafafafafafafafafmcmcafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafPIafafafafafafafafafafafafafafafafafafafafafafafafafafafPIafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf diff --git a/maps/northern_star/polaris-3.dmm b/maps/northern_star/polaris-3.dmm index d74448f8d3c..a485982abcf 100644 --- a/maps/northern_star/polaris-3.dmm +++ b/maps/northern_star/polaris-3.dmm @@ -4,15 +4,15 @@ "ad" = (/obj/machinery/sleep_console,/turf/simulated/shuttle/floor/white,/area/derelict/ship) "ae" = (/obj/machinery/light{dir = 1},/obj/machinery/sleeper{dir = 8},/obj/effect/decal/remains/human,/turf/simulated/shuttle/floor/white,/area/derelict/ship) "af" = (/obj/machinery/computer/med_data,/turf/simulated/shuttle/floor/white,/area/derelict/ship) -"ag" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/regular{pixel_x = 6; pixel_y = -5},/turf/simulated/shuttle/floor/white,/area/derelict/ship) -"ah" = (/obj/item/weapon/surgical/scalpel,/turf/simulated/shuttle/floor/white,/area/derelict/ship) +"ag" = (/obj/structure/table/standard,/obj/item/storage/firstaid/regular{pixel_x = 6; pixel_y = -5},/turf/simulated/shuttle/floor/white,/area/derelict/ship) +"ah" = (/obj/item/surgical/scalpel,/turf/simulated/shuttle/floor/white,/area/derelict/ship) "ai" = (/obj/structure/frame/computer,/turf/simulated/shuttle/floor/white,/area/derelict/ship) "aj" = (/obj/machinery/door/airlock/glass{name = "Hibernation Pods"},/turf/simulated/shuttle/floor/white,/area/derelict/ship) "ak" = (/obj/structure/shuttle/engine/propulsion{icon_state = "burst_r"; dir = 4},/turf/space,/area/derelict/ship) "al" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/shuttle/floor/white,/area/derelict/ship) "am" = (/obj/structure/table/standard,/turf/simulated/shuttle/floor/white,/area/derelict/ship) -"an" = (/obj/item/device/multitool,/turf/simulated/shuttle/floor/white,/area/derelict/ship) -"ao" = (/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/turf/simulated/shuttle/floor/white,/area/derelict/ship) +"an" = (/obj/item/multitool,/turf/simulated/shuttle/floor/white,/area/derelict/ship) +"ao" = (/obj/item/cell{charge = 100; maxcharge = 15000},/turf/simulated/shuttle/floor/white,/area/derelict/ship) "ap" = (/obj/structure/table/standard,/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor/white,/area/derelict/ship) "aq" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless,/area/derelict/ship) "ar" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 4},/turf/space,/area/derelict/ship) @@ -20,39 +20,39 @@ "at" = (/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/shuttle/floor/white,/area/derelict/ship) "au" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/shuttle/floor/white,/area/derelict/ship) "av" = (/turf/simulated/shuttle/plating,/area/derelict/ship) -"aw" = (/obj/item/weapon/bedsheet,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/bed/padded,/turf/simulated/shuttle/floor/white,/area/derelict/ship) +"aw" = (/obj/item/bedsheet,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/bed/padded,/turf/simulated/shuttle/floor/white,/area/derelict/ship) "ax" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/derelict/ship) "ay" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/derelict/ship) "az" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/derelict/ship) "aA" = (/obj/machinery/door/window,/turf/simulated/shuttle/floor/white,/area/derelict/ship) "aB" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/shuttle/floor/white,/area/derelict/ship) -"aC" = (/obj/structure/table/standard,/obj/item/weapon/gun/energy/retro,/turf/simulated/shuttle/floor/white,/area/derelict/ship) -"aD" = (/obj/structure/table/standard,/obj/item/weapon/tank/oxygen,/turf/simulated/shuttle/floor/white,/area/derelict/ship) +"aC" = (/obj/structure/table/standard,/obj/item/gun/energy/retro,/turf/simulated/shuttle/floor/white,/area/derelict/ship) +"aD" = (/obj/structure/table/standard,/obj/item/tank/oxygen,/turf/simulated/shuttle/floor/white,/area/derelict/ship) "aE" = (/obj/machinery/light/small{dir = 8},/turf/simulated/shuttle/floor/white,/area/derelict/ship) "aF" = (/obj/machinery/light{dir = 1},/turf/simulated/shuttle/floor/white,/area/derelict/ship) "aG" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/floor/plating,/area/derelict/ship) -"aH" = (/obj/structure/table/standard,/obj/item/device/analyzer,/turf/simulated/shuttle/floor/white,/area/derelict/ship) +"aH" = (/obj/structure/table/standard,/obj/item/analyzer,/turf/simulated/shuttle/floor/white,/area/derelict/ship) "aI" = (/obj/structure/shuttle/engine/propulsion{ icon_state = "burst_l"; dir = 4},/turf/space,/area/derelict/ship) "aJ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating,/area/derelict/ship) "aK" = (/obj/structure/bed/chair{dir = 8},/obj/effect/decal/remains/human,/turf/simulated/shuttle/floor/white,/area/derelict/ship) "aL" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/shuttle/floor/white,/area/derelict/ship) "aM" = (/obj/machinery/door/airlock/glass,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"aN" = (/obj/item/weapon/bedsheet,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/bed/padded,/turf/simulated/shuttle/floor/white,/area/derelict/ship) +"aN" = (/obj/item/bedsheet,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/bed/padded,/turf/simulated/shuttle/floor/white,/area/derelict/ship) "aO" = (/obj/machinery/door/window/northright,/obj/effect/decal/remains/human,/turf/simulated/shuttle/floor/white,/area/derelict/ship) "aP" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating,/area/derelict/ship) "aQ" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/shuttle/floor/white,/area/derelict/ship) "aR" = (/obj/structure/table,/turf/simulated/shuttle/floor/white,/area/derelict/ship) "aS" = (/obj/machinery/light_switch{pixel_x = 27},/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor/white,/area/derelict/ship) "aT" = (/obj/structure/lattice,/turf/space,/area/space) -"aU" = (/obj/item/weapon/material/shard{icon_state = "medium"},/turf/simulated/shuttle/floor/white,/area/derelict/ship) +"aU" = (/obj/item/material/shard{icon_state = "medium"},/turf/simulated/shuttle/floor/white,/area/derelict/ship) "aV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating,/area/derelict/ship) "aW" = (/obj/structure/bed/chair,/turf/simulated/shuttle/floor/white,/area/derelict/ship) -"aX" = (/obj/item/weapon/material/shard,/obj/structure/bed/chair,/turf/simulated/shuttle/floor/white,/area/derelict/ship) +"aX" = (/obj/item/material/shard,/obj/structure/bed/chair,/turf/simulated/shuttle/floor/white,/area/derelict/ship) "aY" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/derelict/ship) "aZ" = (/obj/structure/cable,/obj/structure/frame/computer,/obj/item/stack/cable_coil/cut,/turf/simulated/shuttle/floor/white,/area/derelict/ship) "ba" = (/obj/structure/cable,/obj/structure/frame/computer,/turf/simulated/shuttle/floor/white,/area/derelict/ship) -"bb" = (/obj/structure/table/rack,/obj/item/weapon/tank/emergency/oxygen,/obj/item/weapon/tank/emergency/oxygen,/obj/item/weapon/tank/emergency/oxygen,/obj/item/weapon/tank/emergency/oxygen,/turf/simulated/shuttle/floor/white,/area/derelict/ship) -"bc" = (/obj/structure/table/rack,/obj/item/weapon/storage/toolbox/syndicate,/turf/simulated/shuttle/floor/white,/area/derelict/ship) +"bb" = (/obj/structure/table/rack,/obj/item/tank/emergency/oxygen,/obj/item/tank/emergency/oxygen,/obj/item/tank/emergency/oxygen,/obj/item/tank/emergency/oxygen,/turf/simulated/shuttle/floor/white,/area/derelict/ship) +"bc" = (/obj/structure/table/rack,/obj/item/storage/toolbox/syndicate,/turf/simulated/shuttle/floor/white,/area/derelict/ship) "bd" = (/obj/machinery/power/solar,/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/tcomsat) "be" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/syndicate,/obj/item/clothing/head/helmet/space/syndicate,/obj/item/clothing/mask/breath,/turf/simulated/shuttle/floor/white,/area/derelict/ship) "bf" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/shuttle/floor/white,/area/derelict/ship) @@ -77,8 +77,8 @@ "by" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/tcomsat) "bz" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless,/area/tcomsat) "bA" = (/obj/structure/disposaloutlet{dir = 4},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/airless,/area/tcomsat) -"bB" = (/obj/structure/table/standard,/obj/item/device/radio/off,/turf/simulated/shuttle/floor/white,/area/derelict/ship) -"bC" = (/obj/structure/table/standard,/obj/item/weapon/tool/screwdriver,/obj/machinery/light,/turf/simulated/shuttle/floor/white,/area/derelict/ship) +"bB" = (/obj/structure/table/standard,/obj/item/radio/off,/turf/simulated/shuttle/floor/white,/area/derelict/ship) +"bC" = (/obj/structure/table/standard,/obj/item/tool/screwdriver,/obj/machinery/light,/turf/simulated/shuttle/floor/white,/area/derelict/ship) "bN" = (/obj/item/trash/cheesie,/turf/space,/area/space) "bO" = (/obj/machinery/door/blast/regular{id = "oldship_gun"; name = "Pod Bay Door"},/turf/simulated/shuttle/plating,/area/derelict/ship) "bP" = (/obj/machinery/mass_driver{dir = 8; icon_state = "mass_driver"; id = "oldship_gun"},/turf/simulated/shuttle/plating,/area/derelict/ship) @@ -105,12 +105,12 @@ "cs" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/valve/digital/open{dir = 4; name = "Mixed Air Outlet Valve"},/turf/simulated/floor/plating,/area/tcomsat) "ct" = (/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{dir = 1; icon_state = "map"},/obj/machinery/meter,/obj/machinery/firealarm{dir = 2; layer = 3.3; pixel_x = 0; pixel_y = 26},/turf/simulated/floor/plating,/area/tcomsat) "cu" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating,/area/tcomsat) -"cv" = (/obj/item/weapon/bedsheet/green,/obj/structure/bed/padded,/turf/simulated/floor/tiled,/area/tcommsat/computer) +"cv" = (/obj/item/bedsheet/green,/obj/structure/bed/padded,/turf/simulated/floor/tiled,/area/tcommsat/computer) "cw" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/tcommsat/computer) -"cx" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/purple,/turf/simulated/floor/tiled,/area/tcommsat/computer) +"cx" = (/obj/structure/bed/padded,/obj/item/bedsheet/purple,/turf/simulated/floor/tiled,/area/tcommsat/computer) "cy" = (/obj/machinery/camera/network/telecom{c_tag = "Telecoms Lounge"},/turf/simulated/floor/tiled,/area/tcommsat/computer) -"cz" = (/obj/item/weapon/bedsheet/brown,/obj/structure/bed/padded,/turf/simulated/floor/tiled,/area/tcommsat/computer) -"cA" = (/obj/item/weapon/bedsheet/red,/obj/structure/bed/padded,/turf/simulated/floor/tiled,/area/tcommsat/computer) +"cz" = (/obj/item/bedsheet/brown,/obj/structure/bed/padded,/turf/simulated/floor/tiled,/area/tcommsat/computer) +"cA" = (/obj/item/bedsheet/red,/obj/structure/bed/padded,/turf/simulated/floor/tiled,/area/tcommsat/computer) "cB" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/tiled/dark,/area/tcommsat/computer) "cC" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 4},/turf/space,/area/tcomsat) "cD" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/plating,/area/tcomsat) @@ -119,14 +119,14 @@ "cG" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 5; icon_state = "intact"},/turf/simulated/floor/plating,/area/tcomsat) "cH" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating,/area/tcomsat) "cI" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 8},/turf/space,/area/tcomsat) -"cJ" = (/obj/structure/table/standard,/obj/item/weapon/folder/yellow,/obj/item/weapon/folder/yellow,/obj/machinery/light{dir = 1},/obj/machinery/camera/network/telecom{c_tag = "Telecoms Main Computer Room"},/obj/machinery/firealarm{dir = 2; layer = 3.3; pixel_x = 0; pixel_y = 26},/turf/simulated/floor/tiled/dark,/area/tcommsat/computer) +"cJ" = (/obj/structure/table/standard,/obj/item/folder/yellow,/obj/item/folder/yellow,/obj/machinery/light{dir = 1},/obj/machinery/camera/network/telecom{c_tag = "Telecoms Main Computer Room"},/obj/machinery/firealarm{dir = 2; layer = 3.3; pixel_x = 0; pixel_y = 26},/turf/simulated/floor/tiled/dark,/area/tcommsat/computer) "cK" = (/obj/structure/filingcabinet,/turf/simulated/floor/tiled/dark,/area/tcommsat/computer) "cL" = (/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor/tiled/dark,/area/tcommsat/computer) -"cM" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin,/obj/item/weapon/pen/blue{pixel_x = -3; pixel_y = 2},/turf/simulated/floor/tiled/dark,/area/tcommsat/computer) +"cM" = (/obj/structure/table/standard,/obj/item/paper_bin,/obj/item/pen/blue{pixel_x = -3; pixel_y = 2},/turf/simulated/floor/tiled/dark,/area/tcommsat/computer) "cN" = (/turf/simulated/floor/tiled,/area/tcommsat/computer) -"cO" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp,/turf/simulated/floor/tiled/dark,/area/tcommsat/computer) -"cP" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = -29; pixel_y = 0},/turf/simulated/floor/tiled,/area/tcommsat/computer) -"cQ" = (/obj/machinery/computer/telecomms/monitor{network = "tcommsat"},/obj/item/device/radio/intercom{name = "General Listening Channel"; pixel_x = 28; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/tcommsat/computer) +"cO" = (/obj/structure/table/standard,/obj/item/flashlight/lamp,/turf/simulated/floor/tiled/dark,/area/tcommsat/computer) +"cP" = (/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_x = -29; pixel_y = 0},/turf/simulated/floor/tiled,/area/tcommsat/computer) +"cQ" = (/obj/machinery/computer/telecomms/monitor{network = "tcommsat"},/obj/item/radio/intercom{name = "General Listening Channel"; pixel_x = 28; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/tcommsat/computer) "cR" = (/obj/structure/window/reinforced{dir = 4},/turf/space,/area/tcomsat) "cS" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/plating,/area/tcomsat) "cT" = (/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/plating,/area/tcomsat) @@ -134,12 +134,12 @@ "cV" = (/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/tcomsat) "cW" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/closet,/turf/simulated/floor/plating,/area/tcomsat) "cX" = (/obj/structure/window/reinforced{dir = 8},/turf/space,/area/tcomsat) -"cY" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"},/turf/simulated/floor/tiled,/area/tcommsat/computer) +"cY" = (/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"},/turf/simulated/floor/tiled,/area/tcommsat/computer) "cZ" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4; icon_state = "intact"},/turf/simulated/floor/tiled,/area/tcommsat/computer) "da" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4; icon_state = "intact"},/turf/simulated/floor/tiled,/area/tcommsat/computer) "db" = (/obj/machinery/atmospherics/pipe/simple/hidden{ icon_state = "intact"; dir = 4},/turf/simulated/floor/tiled,/area/tcommsat/computer) "dc" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"},/turf/simulated/floor/tiled,/area/tcommsat/computer) -"dd" = (/obj/item/weapon/bedsheet/orange,/obj/machinery/light{dir = 8},/obj/structure/bed/padded,/turf/simulated/floor/tiled,/area/tcommsat/computer) +"dd" = (/obj/item/bedsheet/orange,/obj/machinery/light{dir = 8},/obj/structure/bed/padded,/turf/simulated/floor/tiled,/area/tcommsat/computer) "de" = (/obj/machinery/firealarm{dir = 4; pixel_x = 26},/turf/simulated/floor/tiled,/area/tcommsat/computer) "df" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/lattice,/turf/space,/area/tcomsat) "dg" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/lattice,/turf/space,/area/tcomsat) @@ -157,7 +157,7 @@ "ds" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/tiled,/area/tcommsat/computer) "dt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled,/area/tcommsat/computer) "du" = (/obj/structure/bed/chair{dir = 8},/obj/structure/sign/deathsposal{pixel_x = 32},/turf/simulated/floor/tiled,/area/tcommsat/computer) -"dv" = (/obj/structure/table/standard,/obj/item/weapon/storage/fancy/cigarettes,/turf/simulated/floor/tiled,/area/tcommsat/computer) +"dv" = (/obj/structure/table/standard,/obj/item/storage/fancy/cigarettes,/turf/simulated/floor/tiled,/area/tcommsat/computer) "dw" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/tiled,/area/tcomsat) "dx" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/tcomsat) "dy" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/tcomsat) @@ -171,7 +171,7 @@ "dG" = (/turf/simulated/wall/r_wall,/area/tcommsat/chamber) "dH" = (/obj/machinery/vending/cola,/turf/simulated/floor/tiled,/area/tcommsat/computer) "dI" = (/obj/machinery/vending/snack,/turf/simulated/floor/tiled,/area/tcommsat/computer) -"dJ" = (/obj/item/weapon/cigbutt,/obj/machinery/light,/turf/simulated/floor/tiled,/area/tcommsat/computer) +"dJ" = (/obj/item/cigbutt,/obj/machinery/light,/turf/simulated/floor/tiled,/area/tcommsat/computer) "dK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/tcommsat/computer) "dL" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/tiled,/area/tcommsat/computer) "dM" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor/tiled,/area/tcommsat/computer) @@ -184,7 +184,7 @@ "dT" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/space,/area/tcomsat) "dU" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/lattice,/obj/machinery/light,/turf/space,/area/tcomsat) "dV" = (/obj/structure/window/reinforced{dir = 1},/turf/space,/area/tcomsat) -"dW" = (/obj/machinery/light{dir = 8},/obj/structure/table/standard,/obj/item/device/multitool,/obj/structure/sign/electricshock{pixel_x = -32},/turf/simulated/floor/tiled/dark,/area/tcommsat/computer) +"dW" = (/obj/machinery/light{dir = 8},/obj/structure/table/standard,/obj/item/multitool,/obj/structure/sign/electricshock{pixel_x = -32},/turf/simulated/floor/tiled/dark,/area/tcommsat/computer) "dX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/dark,/area/tcommsat/computer) "dY" = (/obj/machinery/atmospherics/unary/freezer{dir = 2; icon_state = "freezer_1"; set_temperature = 73; use_power = 1},/turf/simulated/floor/tiled/dark,/area/tcommsat/computer) "dZ" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"},/obj/machinery/airlock_sensor/airlock_exterior{frequency = 1381; id_tag = "server_access_ex_sensor"; master_tag = "server_access_airlock"; pixel_x = 25; pixel_y = 22},/turf/simulated/floor/tiled,/area/tcommsat/computer) @@ -230,13 +230,13 @@ "eN" = (/obj/machinery/telecomms/server/presets/service,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) "eO" = (/obj/machinery/telecomms/server/presets/supply,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) "eP" = (/obj/machinery/telecomms/server/presets/unused,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"eQ" = (/obj/structure/table/rack,/obj/item/weapon/circuitboard/telecomms/processor,/obj/item/weapon/circuitboard/telecomms/processor,/obj/item/weapon/circuitboard/telecomms/receiver,/obj/item/weapon/circuitboard/telecomms/server,/obj/item/weapon/circuitboard/telecomms/server,/obj/item/weapon/circuitboard/telecomms/bus,/obj/item/weapon/circuitboard/telecomms/bus,/obj/item/weapon/circuitboard/telecomms/broadcaster,/obj/item/weapon/circuitboard/telecomms/exonet_node,/turf/simulated/floor,/area/tcomsat) +"eQ" = (/obj/structure/table/rack,/obj/item/circuitboard/telecomms/processor,/obj/item/circuitboard/telecomms/processor,/obj/item/circuitboard/telecomms/receiver,/obj/item/circuitboard/telecomms/server,/obj/item/circuitboard/telecomms/server,/obj/item/circuitboard/telecomms/bus,/obj/item/circuitboard/telecomms/bus,/obj/item/circuitboard/telecomms/broadcaster,/obj/item/circuitboard/telecomms/exonet_node,/turf/simulated/floor,/area/tcomsat) "eR" = (/obj/machinery/telecomms/server/presets/common,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) "eS" = (/obj/machinery/telecomms/server/presets/engineering,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) "eT" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/space,/area/tcomsat) "eU" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor/tiled,/area/tcomsat) "eV" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/tcomsat) -"eW" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/micro_laser,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/micro_laser/high,/obj/item/weapon/stock_parts/micro_laser/high,/obj/item/weapon/stock_parts/micro_laser/high,/obj/item/weapon/stock_parts/micro_laser/high,/turf/simulated/floor,/area/tcomsat) +"eW" = (/obj/structure/table/standard,/obj/item/stock_parts/micro_laser,/obj/item/stock_parts/manipulator,/obj/item/stock_parts/manipulator,/obj/item/stock_parts/manipulator,/obj/item/stock_parts/manipulator,/obj/item/stock_parts/capacitor,/obj/item/stock_parts/micro_laser/high,/obj/item/stock_parts/micro_laser/high,/obj/item/stock_parts/micro_laser/high,/obj/item/stock_parts/micro_laser/high,/turf/simulated/floor,/area/tcomsat) "eX" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/camera/network/telecom{c_tag = "Telecoms Storage"},/turf/simulated/floor,/area/tcomsat) "eY" = (/obj/machinery/teleport/hub,/turf/simulated/floor/tiled/dark,/area/tcommsat/entrance) "eZ" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/camera/network/telecom{c_tag = "Telecoms West Wing Central"; dir = 8},/turf/space,/area/tcomsat) @@ -244,8 +244,8 @@ "fb" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/lattice,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/space,/area/tcomsat) "fc" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/tcomsat) "fd" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/space,/area/tcomsat) -"fe" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/subspace/analyzer,/obj/item/weapon/stock_parts/subspace/analyzer,/obj/item/weapon/stock_parts/subspace/analyzer,/obj/machinery/firealarm{dir = 4; pixel_x = 26},/turf/simulated/floor,/area/tcomsat) -"ff" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/subspace/treatment,/obj/item/weapon/stock_parts/subspace/treatment,/obj/item/weapon/stock_parts/subspace/treatment,/turf/simulated/floor,/area/tcomsat) +"fe" = (/obj/structure/table/standard,/obj/item/stock_parts/subspace/analyzer,/obj/item/stock_parts/subspace/analyzer,/obj/item/stock_parts/subspace/analyzer,/obj/machinery/firealarm{dir = 4; pixel_x = 26},/turf/simulated/floor,/area/tcomsat) +"ff" = (/obj/structure/table/standard,/obj/item/stock_parts/subspace/treatment,/obj/item/stock_parts/subspace/treatment,/obj/item/stock_parts/subspace/treatment,/turf/simulated/floor,/area/tcomsat) "fg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/tcomsat) "fh" = (/obj/machinery/telecomms/hub/preset,/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) "fi" = (/obj/machinery/teleport/station,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/airless,/area/AIsattele) @@ -266,7 +266,7 @@ "fx" = (/obj/machinery/telecomms/receiver/preset_right,/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) "fy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/tcomsat) "fz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor,/area/tcomsat) -"fA" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/subspace/amplifier,/obj/item/weapon/stock_parts/subspace/amplifier,/obj/item/weapon/stock_parts/subspace/amplifier,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = 29; pixel_y = 0},/obj/machinery/light/small{dir = 4},/turf/simulated/floor,/area/tcomsat) +"fA" = (/obj/structure/table/standard,/obj/item/stock_parts/subspace/amplifier,/obj/item/stock_parts/subspace/amplifier,/obj/item/stock_parts/subspace/amplifier,/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_x = 29; pixel_y = 0},/obj/machinery/light/small{dir = 4},/turf/simulated/floor,/area/tcomsat) "fB" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'LETHAL TURRETS'. Enter at your own risk!"; name = "LETHAL TURRETS"; pixel_x = -32; pixel_y = 0},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/tiled/dark,/area/tcomfoyer) "fC" = (/obj/machinery/turretid/lethal{ailock = 1; check_synth = 1; control_area = "\improper Telecoms Satellite"; desc = "A firewall prevents AIs from interacting with this device."; name = "Telecoms lethal turret control"; pixel_y = 29; req_access = list(61)},/obj/machinery/camera/network/telecom{c_tag = "Telecoms Foyer"},/turf/simulated/floor/tiled/dark,/area/tcomsat) "fD" = (/obj/machinery/telecomms/processor/preset_one,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) @@ -276,12 +276,12 @@ "fH" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/space,/area/tcomsat) "fI" = (/obj/machinery/door/airlock/maintenance_hatch{name = "Telecoms Storage"; req_access = list(61)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/firedoor,/turf/simulated/floor/tiled,/area/tcomsat) "fJ" = (/turf/simulated/floor,/area/tcomsat) -"fK" = (/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor,/area/tcomsat) +"fK" = (/obj/item/storage/toolbox/mechanical,/turf/simulated/floor,/area/tcomsat) "fL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/tcomsat) -"fM" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/subspace/ansible,/obj/item/weapon/stock_parts/subspace/ansible,/obj/item/weapon/stock_parts/subspace/ansible,/obj/machinery/alarm{dir = 8; pixel_x = 25; pixel_y = 0},/turf/simulated/floor,/area/tcomsat) -"fN" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/subspace/transmitter,/obj/item/weapon/stock_parts/subspace/transmitter,/turf/simulated/floor,/area/tcomsat) -"fO" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/subspace/sub_filter,/obj/item/weapon/stock_parts/subspace/sub_filter,/obj/item/weapon/stock_parts/subspace/sub_filter,/obj/item/weapon/stock_parts/subspace/sub_filter,/obj/item/weapon/stock_parts/subspace/sub_filter,/turf/simulated/floor,/area/tcomsat) -"fP" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/subspace/crystal,/obj/item/weapon/stock_parts/subspace/crystal,/obj/item/weapon/stock_parts/subspace/crystal,/turf/simulated/floor,/area/tcomsat) +"fM" = (/obj/structure/table/standard,/obj/item/stock_parts/subspace/ansible,/obj/item/stock_parts/subspace/ansible,/obj/item/stock_parts/subspace/ansible,/obj/machinery/alarm{dir = 8; pixel_x = 25; pixel_y = 0},/turf/simulated/floor,/area/tcomsat) +"fN" = (/obj/structure/table/standard,/obj/item/stock_parts/subspace/transmitter,/obj/item/stock_parts/subspace/transmitter,/turf/simulated/floor,/area/tcomsat) +"fO" = (/obj/structure/table/standard,/obj/item/stock_parts/subspace/sub_filter,/obj/item/stock_parts/subspace/sub_filter,/obj/item/stock_parts/subspace/sub_filter,/obj/item/stock_parts/subspace/sub_filter,/obj/item/stock_parts/subspace/sub_filter,/turf/simulated/floor,/area/tcomsat) +"fP" = (/obj/structure/table/standard,/obj/item/stock_parts/subspace/crystal,/obj/item/stock_parts/subspace/crystal,/obj/item/stock_parts/subspace/crystal,/turf/simulated/floor,/area/tcomsat) "fQ" = (/obj/machinery/telecomms/server/presets/medical,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) "fR" = (/obj/machinery/telecomms/server/presets/science,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) "fS" = (/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 9},/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) @@ -321,7 +321,7 @@ "gA" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/tcomfoyer) "gB" = (/turf/simulated/wall/r_wall,/area/tcommsat/entrance) "gC" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'LETHAL TURRETS'. Enter at your own risk!"; name = "LETHAL TURRETS"; pixel_x = -32; pixel_y = 0},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/tiled/dark,/area/tcomfoyer) -"gD" = (/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/tiled,/area/tcomfoyer) +"gD" = (/obj/item/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/tiled,/area/tcomfoyer) "gE" = (/turf/simulated/floor/tiled,/area/tcommsat/entrance) "gG" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/tcommsat/entrance) "gI" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/hatch{name = "Telecoms Satellite"; req_access = list(61)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor,/turf/simulated/floor/tiled,/area/tcomfoyer) @@ -370,18 +370,18 @@ "hB" = (/obj/structure/sign/electricshock,/turf/simulated/wall/r_wall,/area/tcommsat/powercontrol) "hC" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor/tiled/dark,/area/tcommsat/entrance) "hD" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/tiled/dark,/area/tcommsat/entrance) -"hE" = (/obj/item/weapon/cell,/turf/simulated/floor/tiled/dark,/area/tcommsat/entrance) +"hE" = (/obj/item/cell,/turf/simulated/floor/tiled/dark,/area/tcommsat/entrance) "hH" = (/obj/structure/closet/malf/suits,/turf/simulated/floor/tiled/dark,/area/tcommsat/entrance) "hI" = (/obj/machinery/door/airlock/hatch{name = "Power Control"; req_access = list(61)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/tcommsat/powercontrol) -"hJ" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/tcommsat/entrance) +"hJ" = (/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/tcommsat/entrance) "hM" = (/turf/space,/area/syndicate_station/commssat) "hN" = (/turf/simulated/wall/r_wall,/area/AIsattele) "hQ" = (/turf/simulated/floor/airless,/area/AIsattele) -"hR" = (/obj/item/weapon/material/shard{icon_state = "medium"},/turf/simulated/floor/airless,/area/AIsattele) +"hR" = (/obj/item/material/shard{icon_state = "medium"},/turf/simulated/floor/airless,/area/AIsattele) "hS" = (/obj/structure/cable,/turf/simulated/floor/airless,/area/AIsattele) "hT" = (/obj/structure/table/rack,/obj/item/clothing/gloves/yellow,/turf/simulated/floor/airless,/area/AIsattele) "hU" = (/obj/structure/girder,/turf/simulated/floor/airless,/area/AIsattele) -"hV" = (/obj/item/weapon/cell,/turf/simulated/floor/airless,/area/AIsattele) +"hV" = (/obj/item/cell,/turf/simulated/floor/airless,/area/AIsattele) "hW" = (/obj/structure/grille/broken,/turf/simulated/floor/airless,/area/AIsattele) "hX" = (/turf/space,/area/AIsattele) "hY" = (/obj/structure/table,/turf/simulated/floor/airless,/area/AIsattele) @@ -389,13 +389,13 @@ "ia" = (/obj/structure/closet,/turf/simulated/floor/airless,/area/AIsattele) "ib" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/airless,/area/AIsattele) "ic" = (/obj/structure/grille/broken,/turf/space,/area/AIsattele) -"id" = (/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/turf/simulated/floor/airless,/area/AIsattele) +"id" = (/obj/item/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/turf/simulated/floor/airless,/area/AIsattele) "ie" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/table/standard,/obj/machinery/cell_charger,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/plating,/area/tcommsat/powercontrol) "if" = (/obj/structure/closet/crate,/obj/item/clothing/glasses/night,/turf/simulated/floor/tiled/dark,/area/tcommsat/entrance) -"ig" = (/obj/structure/closet/crate,/obj/item/device/aicard,/obj/item/device/multitool,/obj/machinery/camera/network/telecom{c_tag = "Telecoms Entrance South"; dir = 1},/turf/simulated/floor/tiled/dark,/area/tcommsat/entrance) +"ig" = (/obj/structure/closet/crate,/obj/item/aicard,/obj/item/multitool,/obj/machinery/camera/network/telecom{c_tag = "Telecoms Entrance South"; dir = 1},/turf/simulated/floor/tiled/dark,/area/tcommsat/entrance) "ih" = (/obj/machinery/light{dir = 4},/obj/structure/closet/emcloset,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/tiled/dark,/area/tcommsat/entrance) "ij" = (/obj/machinery/computer/teleporter,/turf/simulated/floor/tiled/dark,/area/tcommsat/entrance) -"im" = (/obj/item/weapon/circuitboard/teleporter,/turf/space,/area/space) +"im" = (/obj/item/circuitboard/teleporter,/turf/space,/area/space) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/maps/northern_star/polaris-4.dmm b/maps/northern_star/polaris-4.dmm index f16d1ee23d2..d1350723a6b 100644 --- a/maps/northern_star/polaris-4.dmm +++ b/maps/northern_star/polaris-4.dmm @@ -6,7 +6,7 @@ "af" = (/turf/simulated/floor/airless,/area/mine/explored) "ag" = (/obj/machinery/door/airlock/glass_command{name = "Bridge"; req_access = list(19)},/turf/simulated/floor/airless,/area/mine/explored) "ah" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/mine/explored) -"ai" = (/obj/item/weapon/circuitboard/teleporter,/turf/simulated/floor/airless,/area/mine/explored) +"ai" = (/obj/item/circuitboard/teleporter,/turf/simulated/floor/airless,/area/mine/explored) "aj" = (/obj/structure/girder,/turf/simulated/mineral/floor/ignore_mapgen,/area/mine/explored) "ak" = (/obj/structure/frame/computer,/turf/simulated/floor/airless,/area/mine/explored) "al" = (/obj/machinery/teleport/station,/turf/simulated/floor/airless,/area/mine/explored) @@ -16,20 +16,20 @@ "ap" = (/obj/machinery/optable,/turf/simulated/floor/tiled/white/airless,/area/mine/explored) "aq" = (/turf/simulated/floor/airless{icon_state = "asteroidplating2"},/area/mine/explored) "ar" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/mine/unexplored) -"as" = (/obj/item/weapon/ore,/turf/simulated/mineral/floor/ignore_mapgen,/area/mine/unexplored) +"as" = (/obj/item/ore,/turf/simulated/mineral/floor/ignore_mapgen,/area/mine/unexplored) "at" = (/obj/structure/girder,/turf/simulated/floor/airless,/area/wreck/main) "au" = (/turf/simulated/wall/skipjack,/area/wreck/main) "av" = (/turf/simulated/floor/airless,/area/wreck/main) "aw" = (/obj/effect/floor_decal/asteroid,/turf/simulated/mineral/floor/ignore_mapgen,/area/mine/unexplored) "ax" = (/obj/item/stack/material/steel,/turf/simulated/floor/airless,/area/wreck/main) "ay" = (/obj/item/stack/rods,/turf/simulated/floor/airless,/area/wreck/main) -"az" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/stack/rods,/turf/simulated/floor/airless,/area/wreck/main) -"aA" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/surgical/scalpel/laser3,/turf/simulated/floor/tiled/airless,/area/wreck/main) -"aB" = (/obj/item/weapon/surgical/circular_saw,/turf/simulated/floor/tiled/airless,/area/wreck/main) +"az" = (/obj/structure/table/steel_reinforced,/obj/item/reagent_containers/syringe/antiviral,/obj/item/stack/rods,/turf/simulated/floor/airless,/area/wreck/main) +"aA" = (/obj/structure/table/steel_reinforced,/obj/item/surgical/scalpel/laser3,/turf/simulated/floor/tiled/airless,/area/wreck/main) +"aB" = (/obj/item/surgical/circular_saw,/turf/simulated/floor/tiled/airless,/area/wreck/main) "aC" = (/obj/structure/table/steel_reinforced,/turf/simulated/floor/airless,/area/wreck/main) "aD" = (/obj/structure/table/steel_reinforced,/turf/simulated/floor/tiled/airless,/area/wreck/main) "aE" = (/obj/effect/decal/mecha_wreckage/phazon,/turf/simulated/floor/airless,/area/wreck/main) -"aF" = (/obj/item/weapon/ore,/turf/simulated/floor/airless,/area/wreck/main) +"aF" = (/obj/item/ore,/turf/simulated/floor/airless,/area/wreck/main) "aG" = (/turf/simulated/shuttle/wall,/area/wreck/main) "aH" = (/obj/machinery/door/airlock/hatch,/turf/simulated/floor/airless,/area/wreck/main) "aI" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor/tiled/white/airless,/area/wreck/main) @@ -37,44 +37,44 @@ "aK" = (/turf/simulated/floor/tiled/airless,/area/wreck/main) "aL" = (/obj/effect/floor_decal/asteroid,/obj/effect/decal/cleanable/molten_item,/turf/simulated/mineral/floor/ignore_mapgen,/area/mine/unexplored) "aM" = (/obj/effect/decal/mecha_wreckage/gygax/dark,/turf/simulated/floor/airless,/area/wreck/main) -"aN" = (/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/airless,/area/wreck/main) +"aN" = (/obj/item/storage/toolbox/mechanical,/turf/simulated/floor/airless,/area/wreck/main) "aO" = (/obj/structure/table/rack,/turf/simulated/floor/airless,/area/wreck/main) "aP" = (/obj/structure/table/rack,/obj/item/stack/cable_coil/yellow,/turf/simulated/floor/airless,/area/wreck/main) "aQ" = (/obj/effect/decal/cleanable/blood/gibs/robot/down,/turf/simulated/floor/airless,/area/wreck/main) "aR" = (/obj/machinery/optable,/obj/effect/decal/remains/xeno,/obj/effect/decal/cleanable/blood/xeno,/turf/simulated/floor/tiled/white/airless,/area/wreck/main) -"aS" = (/obj/item/weapon/material/shard/shrapnel,/turf/simulated/floor/airless,/area/wreck/main) +"aS" = (/obj/item/material/shard/shrapnel,/turf/simulated/floor/airless,/area/wreck/main) "aT" = (/obj/structure/table/rack,/turf/simulated/floor/tiled/airless,/area/wreck/main) "aU" = (/obj/machinery/door/airlock/glass_medical{name = "Medbay"; req_one_access = list(65,5)},/turf/simulated/floor/tiled/white/airless,/area/mine/explored) "aV" = (/obj/effect/decal/cleanable/blood/xeno,/turf/simulated/floor/tiled/white/airless,/area/wreck/main) -"aW" = (/obj/item/weapon/ore,/obj/item/stack/rods,/turf/simulated/floor/airless,/area/wreck/main) +"aW" = (/obj/item/ore,/obj/item/stack/rods,/turf/simulated/floor/airless,/area/wreck/main) "aX" = (/obj/effect/overlay/wallrot,/turf/simulated/wall/skipjack,/area/wreck/main) "aY" = (/obj/machinery/door/airlock/hatch,/turf/simulated/floor/tiled/white/airless,/area/wreck/main) "aZ" = (/obj/structure/window/phoronreinforced,/turf/simulated/floor/tiled/airless,/area/wreck/main) -"ba" = (/obj/item/device/flashlight/flare,/turf/simulated/floor/tiled/airless,/area/wreck/main) -"bb" = (/obj/item/stack/material/wood,/obj/item/stack/material/wood,/obj/structure/ore_box,/obj/item/weapon/ore/iron,/obj/item/weapon/ore/iron,/obj/item/weapon/ore/iron,/turf/simulated/floor/airless,/area/wreck/main) +"ba" = (/obj/item/flashlight/flare,/turf/simulated/floor/tiled/airless,/area/wreck/main) +"bb" = (/obj/item/stack/material/wood,/obj/item/stack/material/wood,/obj/structure/ore_box,/obj/item/ore/iron,/obj/item/ore/iron,/obj/item/ore/iron,/turf/simulated/floor/airless,/area/wreck/main) "bc" = (/obj/item/clothing/head/helmet/space/deathsquad,/obj/structure/table/rack,/obj/effect/decal/cleanable/molten_item,/turf/simulated/floor/tiled/airless,/area/wreck/main) "bd" = (/obj/structure/grille,/turf/simulated/floor/airless{icon_state = "white"},/area/mine/explored) "be" = (/obj/machinery/crystal,/obj/structure/window/phoronreinforced{ icon_state = "phoronrwindow"; dir = 1},/obj/structure/window/phoronreinforced{ icon_state = "phoronrwindow"; dir = 4},/obj/structure/window/phoronreinforced,/obj/effect/decal/cleanable/liquid_fuel/flamethrower_fuel,/turf/simulated/floor/reinforced/phoron,/area/wreck/main) "bf" = (/obj/machinery/compressor{dir = 4},/obj/structure/window/phoronreinforced,/obj/structure/window/phoronreinforced{ icon_state = "phoronrwindow"; dir = 8},/obj/structure/window/phoronreinforced{ icon_state = "phoronrwindow"; dir = 1},/turf/simulated/floor/reinforced/phoron,/area/wreck/main) -"bg" = (/obj/item/device/gps,/turf/simulated/floor/tiled/airless,/area/wreck/main) +"bg" = (/obj/item/gps,/turf/simulated/floor/tiled/airless,/area/wreck/main) "bh" = (/obj/structure/ore_box,/turf/simulated/floor/airless,/area/wreck/main) -"bi" = (/obj/item/weapon/circuitboard/broken,/turf/simulated/floor/tiled/airless,/area/wreck/main) +"bi" = (/obj/item/circuitboard/broken,/turf/simulated/floor/tiled/airless,/area/wreck/main) "bj" = (/obj/structure/closet/acloset,/turf/simulated/floor/tiled/airless,/area/wreck/main) -"bk" = (/obj/item/weapon/ore,/turf/simulated/floor/tiled/white/airless,/area/wreck/main) +"bk" = (/obj/item/ore,/turf/simulated/floor/tiled/white/airless,/area/wreck/main) "bl" = (/obj/structure/bed,/turf/simulated/floor/tiled/white/airless,/area/wreck/main) "bm" = (/obj/item/clothing/under/color/pink,/obj/structure/table/steel_reinforced,/turf/simulated/floor/tiled/white/airless,/area/wreck/main) -"bn" = (/obj/structure/table/rack,/obj/item/weapon/tank/jetpack/void,/obj/item/clothing/suit/space/syndicate/green,/obj/item/clothing/head/helmet/space/syndicate/green,/turf/simulated/floor/tiled/airless,/area/wreck/main) +"bn" = (/obj/structure/table/rack,/obj/item/tank/jetpack/void,/obj/item/clothing/suit/space/syndicate/green,/obj/item/clothing/head/helmet/space/syndicate/green,/turf/simulated/floor/tiled/airless,/area/wreck/main) "bo" = (/obj/effect/wingrille_spawn/phoron,/turf/simulated/floor/tiled/airless,/area/wreck/main) -"bp" = (/obj/structure/table/rack,/obj/item/weapon/material/shard/shrapnel,/turf/simulated/floor/tiled/airless,/area/wreck/main) +"bp" = (/obj/structure/table/rack,/obj/item/material/shard/shrapnel,/turf/simulated/floor/tiled/airless,/area/wreck/main) "bq" = (/obj/item/broken_device,/obj/structure/bed/chair{dir = 8},/obj/effect/decal/remains/robot,/turf/simulated/floor/tiled/airless,/area/wreck/main) "br" = (/obj/effect/decal/cleanable/blood/oil/streak,/turf/simulated/floor/tiled/airless,/area/wreck/main) -"bs" = (/obj/item/weapon/tank/oxygen/yellow,/turf/simulated/floor/tiled/airless,/area/wreck/main) +"bs" = (/obj/item/tank/oxygen/yellow,/turf/simulated/floor/tiled/airless,/area/wreck/main) "bt" = (/obj/effect/decal/cleanable/blood/gibs/robot/down,/turf/simulated/floor/tiled/airless,/area/wreck/main) "bu" = (/obj/structure/bed/chair/comfy/brown{dir = 8},/turf/simulated/floor/tiled/airless,/area/wreck/main) "bv" = (/obj/effect/decal/cleanable/vomit,/turf/simulated/floor/tiled/airless,/area/wreck/main) "bw" = (/obj/structure/AIcore,/turf/simulated/floor/tiled/airless,/area/wreck/main) -"bx" = (/obj/item/frame/apc,/obj/item/weapon/module/power_control,/obj/item/weapon/material/shard/shrapnel,/turf/simulated/floor/tiled/white/airless,/area/wreck/main) -"by" = (/obj/item/device/flashlight/glowstick,/turf/simulated/floor/tiled/airless,/area/wreck/main) +"bx" = (/obj/item/frame/apc,/obj/item/module/power_control,/obj/item/material/shard/shrapnel,/turf/simulated/floor/tiled/white/airless,/area/wreck/main) +"by" = (/obj/item/flashlight/glowstick,/turf/simulated/floor/tiled/airless,/area/wreck/main) "bz" = (/obj/machinery/door/airlock/hatch,/turf/simulated/floor/tiled/airless,/area/wreck/main) "bA" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/tiled/airless,/area/wreck/main) "bB" = (/obj/item/robot_parts/head,/turf/simulated/floor/tiled/airless,/area/wreck/main) @@ -96,11 +96,11 @@ "bU" = (/obj/structure/table/rack,/obj/item/clothing/glasses/welding,/turf/simulated/floor/tiled/airless,/area/wreck/main) "bV" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/airless,/area/wreck/main) "bW" = (/obj/item/frame/light,/turf/simulated/floor/airless,/area/wreck/main) -"bX" = (/obj/effect/decal/mecha_wreckage/mauler,/obj/item/weapon/material/shard/shrapnel,/turf/simulated/floor/airless,/area/wreck/main) +"bX" = (/obj/effect/decal/mecha_wreckage/mauler,/obj/item/material/shard/shrapnel,/turf/simulated/floor/airless,/area/wreck/main) "bY" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/airless,/area/wreck/main) "bZ" = (/obj/item/stack/material/steel,/obj/item/stack/rods,/turf/simulated/floor/airless,/area/wreck/main) -"ca" = (/obj/structure/table/rack,/obj/item/weapon/storage/toolbox/syndicate,/turf/simulated/floor/airless,/area/wreck/main) -"cb" = (/obj/item/weapon/circuitboard/teleporter,/turf/simulated/floor/tiled/white/airless,/area/wreck/main) +"ca" = (/obj/structure/table/rack,/obj/item/storage/toolbox/syndicate,/turf/simulated/floor/airless,/area/wreck/main) +"cb" = (/obj/item/circuitboard/teleporter,/turf/simulated/floor/tiled/white/airless,/area/wreck/main) "cc" = (/obj/machinery/teleport/station,/turf/simulated/floor/tiled/airless,/area/wreck/main) "cd" = (/obj/structure/frame/computer,/turf/simulated/floor/tiled/airless,/area/wreck/main) "ce" = (/obj/machinery/teleport/hub,/turf/simulated/floor/tiled/airless,/area/wreck/main) @@ -112,12 +112,12 @@ "cp" = (/turf/simulated/floor/airless{icon_state = "asteroidplating2"},/area/outpost/abandoned) "cq" = (/turf/simulated/wall/r_wall,/area/outpost/abandoned) "cr" = (/turf/simulated/floor/airless,/area/outpost/abandoned) -"cs" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/item/weapon/material/shard,/obj/item/weapon/material/shard{icon_state = "medium"},/turf/simulated/floor/airless,/area/outpost/abandoned) +"cs" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/item/material/shard,/obj/item/material/shard{icon_state = "medium"},/turf/simulated/floor/airless,/area/outpost/abandoned) "ct" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/outpost/abandoned) "cu" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/outpost/abandoned) "cv" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/outpost/abandoned) "cw" = (/turf/simulated/floor,/area/outpost/abandoned) -"cx" = (/obj/item/weapon/material/shard/shrapnel,/turf/simulated/floor/airless,/area/outpost/abandoned) +"cx" = (/obj/item/material/shard/shrapnel,/turf/simulated/floor/airless,/area/outpost/abandoned) "cy" = (/turf/simulated/floor/tiled,/area/outpost/abandoned) "cz" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/outpost/abandoned) "cA" = (/obj/machinery/door/airlock/external,/turf/simulated/floor,/area/outpost/abandoned) @@ -152,7 +152,7 @@ "dd" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/outpost/abandoned) "de" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/outpost/abandoned) "df" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/outpost/abandoned) -"dg" = (/obj/structure/table/rack,/obj/item/weapon/pickaxe,/obj/item/weapon/pickaxe,/obj/item/weapon/pickaxe,/obj/item/weapon/pickaxe,/turf/simulated/floor,/area/outpost/abandoned) +"dg" = (/obj/structure/table/rack,/obj/item/pickaxe,/obj/item/pickaxe,/obj/item/pickaxe,/obj/item/pickaxe,/turf/simulated/floor,/area/outpost/abandoned) "dh" = (/obj/structure/table/rack,/turf/simulated/floor/tiled,/area/outpost/abandoned) "di" = (/obj/structure/table/rack,/obj/random/tech_supply,/obj/item/stack/cable_coil/yellow,/turf/simulated/floor/tiled,/area/outpost/abandoned) "dj" = (/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -28},/obj/machinery/atmospherics/pipe/simple/visible/cyan{ icon_state = "intact"; dir = 5},/turf/simulated/floor,/area/outpost/abandoned) @@ -189,7 +189,7 @@ "dO" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/outpost/abandoned) "dP" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/tiled,/area/outpost/abandoned) "dQ" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/outpost/abandoned) -"dR" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/item/frame/apc,/obj/item/weapon/module/power_control,/turf/simulated/floor,/area/outpost/abandoned) +"dR" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/item/frame/apc,/obj/item/module/power_control,/turf/simulated/floor,/area/outpost/abandoned) "dS" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/buildable,/turf/simulated/floor,/area/outpost/abandoned) "dT" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'COMPRESSED GAS'."; name = "COMPRESSED GAS"; pixel_x = -32; pixel_y = 0},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor,/area/outpost/abandoned) "dU" = (/obj/machinery/atmospherics/pipe/simple/visible/blue,/obj/machinery/atmospherics/pipe/simple/visible/red{ icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/outpost/abandoned) @@ -219,7 +219,7 @@ "es" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/simulated/floor/tiled,/area/outpost/abandoned) "et" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/outpost/abandoned) "eu" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/outpost/abandoned) -"ev" = (/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_x = 0; pixel_y = -28},/turf/simulated/floor/tiled,/area/outpost/abandoned) +"ev" = (/obj/item/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_x = 0; pixel_y = -28},/turf/simulated/floor/tiled,/area/outpost/abandoned) "ew" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled,/area/outpost/abandoned) "ex" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor,/area/outpost/abandoned) "ey" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/outpost/abandoned) @@ -238,7 +238,7 @@ "eL" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/outpost/abandoned) "eM" = (/obj/structure/frame/computer,/turf/simulated/floor/tiled,/area/outpost/abandoned) "eN" = (/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/machinery/alarm{frequency = 1439; pixel_y = 22},/turf/simulated/floor/tiled,/area/outpost/abandoned) -"eO" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/orange,/turf/simulated/floor/tiled,/area/outpost/abandoned) +"eO" = (/obj/structure/bed/padded,/obj/item/bedsheet/orange,/turf/simulated/floor/tiled,/area/outpost/abandoned) "eP" = (/obj/structure/toilet{dir = 4},/turf/simulated/floor/tiled,/area/outpost/abandoned) "eQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/outpost/abandoned) "eR" = (/obj/structure/bed/chair/office/dark{dir = 1},/turf/simulated/floor/tiled,/area/outpost/abandoned) @@ -276,16 +276,16 @@ "fx" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/outpost/abandoned) "fy" = (/obj/structure/lattice,/turf/simulated/mineral/floor/ignore_mapgen,/area/mine/explored) "fz" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/outpost/abandoned) -"fA" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/motor,/turf/simulated/floor/tiled,/area/outpost/abandoned) +"fA" = (/obj/structure/table/standard,/obj/item/stock_parts/motor,/turf/simulated/floor/tiled,/area/outpost/abandoned) "fB" = (/obj/structure/table/standard,/turf/simulated/floor/tiled,/area/outpost/abandoned) "fC" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/outpost/abandoned) "fD" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/outpost/abandoned) -"fE" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/regular,/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -28},/turf/simulated/floor/tiled,/area/outpost/abandoned) +"fE" = (/obj/structure/table/standard,/obj/item/storage/firstaid/regular,/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -28},/turf/simulated/floor/tiled,/area/outpost/abandoned) "fF" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/outpost/abandoned) "fG" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/outpost/abandoned) "fH" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/outpost/abandoned) "fI" = (/obj/structure/lattice,/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/simulated/mineral/floor/ignore_mapgen,/area/mine/explored) -"fJ" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/item/weapon/material/shard{icon_state = "medium"},/turf/simulated/floor/airless,/area/outpost/abandoned) +"fJ" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/item/material/shard{icon_state = "medium"},/turf/simulated/floor/airless,/area/outpost/abandoned) "fK" = (/obj/structure/closet/emcloset,/turf/simulated/floor,/area/outpost/abandoned) "fL" = (/obj/structure/grille,/turf/space,/area/space) "fM" = (/obj/structure/lattice,/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/space,/area/space) diff --git a/maps/northern_star/polaris-5.dmm b/maps/northern_star/polaris-5.dmm index 99ebb9b1f0a..ab9dd887b5b 100644 --- a/maps/northern_star/polaris-5.dmm +++ b/maps/northern_star/polaris-5.dmm @@ -16,12 +16,12 @@ "ap" = (/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/dark,/area/outpost/research/mixing) "aq" = (/obj/structure/closet/hydrant{pixel_x = -32},/turf/simulated/floor/plating,/area/outpost/research/hallway/toxins_hallway) "ar" = (/turf/simulated/floor/plating,/area/outpost/research/hallway/toxins_hallway) -"as" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/oxygen,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/extinguisher,/obj/machinery/alarm{dir = 8; pixel_x = 25; pixel_y = 0},/turf/simulated/floor/plating,/area/outpost/research/hallway/toxins_hallway) +"as" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/tank/oxygen,/obj/item/tank/oxygen,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/flashlight,/obj/item/flashlight,/obj/item/storage/box/lights/mixed,/obj/item/extinguisher,/obj/machinery/alarm{dir = 8; pixel_x = 25; pixel_y = 0},/turf/simulated/floor/plating,/area/outpost/research/hallway/toxins_hallway) "at" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/outpost/research/tox_store) "au" = (/turf/simulated/floor/tiled/airless,/area/outpost/research/test_area) "av" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless,/area/outpost/research/test_area) "aw" = (/obj/structure/dispenser,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/white,/area/outpost/research/mixing) -"ax" = (/obj/structure/table/standard,/obj/item/weapon/tool/wrench,/obj/item/weapon/tool/screwdriver{pixel_y = 10},/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = 30},/obj/item/weapon/tool/crowbar,/turf/simulated/floor/tiled/white,/area/outpost/research/mixing) +"ax" = (/obj/structure/table/standard,/obj/item/tool/wrench,/obj/item/tool/screwdriver{pixel_y = 10},/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = 30},/obj/item/tool/crowbar,/turf/simulated/floor/tiled/white,/area/outpost/research/mixing) "ay" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/white,/area/outpost/research/mixing) "az" = (/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = 30; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/outpost/research/mixing) "aA" = (/turf/simulated/wall,/area/outpost/research/hallway/toxins_hallway) @@ -32,17 +32,17 @@ "aF" = (/obj/machinery/light{dir = 1},/obj/machinery/camera/network/research{c_tag = "Research - Toxins Test Chamber North"; network = list("Research","Toxins Test Area")},/turf/simulated/floor/tiled/airless,/area/outpost/research/test_area) "aG" = (/obj/structure/grille,/obj/structure/window/phoronreinforced{ icon_state = "phoronrwindow"; dir = 8},/obj/structure/window/phoronreinforced{ icon_state = "phoronrwindow"; dir = 1},/turf/simulated/floor/plating,/area/outpost/research/mixing) "aH" = (/obj/structure/grille,/obj/structure/window/phoronreinforced{ icon_state = "phoronrwindow"; dir = 1},/obj/structure/window/phoronreinforced{ icon_state = "phoronrwindow"; dir = 4},/obj/structure/window/phoronreinforced,/turf/simulated/floor/plating,/area/outpost/research/mixing) -"aI" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/powered/pump,/obj/effect/floor_decal/industrial/outline/yellow,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/white,/area/outpost/research/mixing) +"aI" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/powered/pump,/obj/effect/floor_decal/industrial/outline/yellow,/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/white,/area/outpost/research/mixing) "aJ" = (/turf/simulated/floor/tiled/white,/area/outpost/research/mixing) "aK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/outpost/research/mixing) "aL" = (/obj/structure/grille,/obj/structure/window/phoronreinforced{ icon_state = "phoronrwindow"; dir = 8},/obj/structure/window/phoronreinforced{ icon_state = "phoronrwindow"; dir = 1},/obj/structure/window/phoronreinforced{ icon_state = "phoronrwindow"; dir = 4},/turf/simulated/floor/plating,/area/outpost/research/mixing) "aM" = (/obj/machinery/portable_atmospherics/powered/pump,/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/corner/purple{dir = 9},/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled/white,/area/outpost/research/hallway/toxins_hallway) "aN" = (/turf/simulated/floor/tiled/white,/area/outpost/research/hallway/toxins_hallway) -"aO" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/white,/area/outpost/research/hallway/toxins_hallway) +"aO" = (/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/white,/area/outpost/research/hallway/toxins_hallway) "aP" = (/obj/machinery/door/airlock/research{name = "Toxins Storage"; req_access = list(8)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/outpost/research/tox_store) "aQ" = (/turf/simulated/floor/tiled,/area/outpost/research/tox_store) "aR" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/outpost/research/tox_store) -"aS" = (/obj/machinery/alarm{pixel_y = 23},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled,/area/outpost/research/tox_store) +"aS" = (/obj/machinery/alarm{pixel_y = 23},/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled,/area/outpost/research/tox_store) "aT" = (/obj/structure/grille,/obj/structure/window/phoronreinforced{ icon_state = "phoronrwindow"; dir = 8},/obj/structure/window/phoronreinforced{ icon_state = "phoronrwindow"; dir = 4},/obj/structure/window/phoronreinforced,/turf/simulated/floor/plating,/area/outpost/research/mixing) "aU" = (/obj/machinery/atmospherics/portables_connector,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/white,/area/outpost/research/mixing) "aV" = (/obj/machinery/atmospherics/pipe/manifold/visible/red{ icon_state = "map"; dir = 8},/turf/simulated/floor/tiled/white,/area/outpost/research/mixing) @@ -140,7 +140,7 @@ "cJ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/outpost/research/hallway/toxins_hallway) "cK" = (/obj/effect/floor_decal/corner/purple{dir = 5},/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled/white,/area/outpost/research/hallway/toxins_hallway) "cL" = (/obj/machinery/alarm{pixel_y = 23},/obj/effect/floor_decal/corner/purple{dir = 5},/turf/simulated/floor/tiled/white,/area/outpost/research/hallway/toxins_hallway) -"cM" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Toxins Starboard"; dir = 8},/obj/effect/floor_decal/industrial/warning/corner,/obj/effect/floor_decal/corner/purple{dir = 5},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled/white,/area/outpost/research/hallway/toxins_hallway) +"cM" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Toxins Starboard"; dir = 8},/obj/effect/floor_decal/industrial/warning/corner,/obj/effect/floor_decal/corner/purple{dir = 5},/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled/white,/area/outpost/research/hallway/toxins_hallway) "cN" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/structure/disposaloutlet{dir = 1},/obj/structure/disposalpipe/trunk,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8; health = 1e+006},/turf/simulated/floor/airless,/area/outpost/research/toxins_launch) "cO" = (/obj/machinery/door/window/southright{name = "Toxins Launcher"; req_access = list(8)},/obj/machinery/door/window/southright{dir = 1; name = "Toxins Launcher"; req_access = list(8)},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/outpost/research/toxins_launch) "cP" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/outpost/research/toxins_launch) @@ -198,7 +198,7 @@ "dP" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/corner/purple{dir = 8},/turf/simulated/floor/tiled/white,/area/outpost/research/hallway/toxins_hallway) "dQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/outpost/research/hallway/toxins_hallway) "dR" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/corner/purple,/turf/simulated/floor/tiled/white,/area/outpost/research/hallway/toxins_hallway) -"dS" = (/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/light,/obj/effect/floor_decal/corner/purple/full{dir = 4},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled/white,/area/outpost/research/hallway/toxins_hallway) +"dS" = (/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/light,/obj/effect/floor_decal/corner/purple/full{dir = 4},/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled/white,/area/outpost/research/hallway/toxins_hallway) "dT" = (/turf/simulated/wall/r_wall,/area/outpost/research/toxins_misc_lab) "dU" = (/obj/machinery/door/airlock/research{name = "Toxins Misc Lab"; req_access = list(8)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/outpost/research/toxins_misc_lab) "dV" = (/obj/machinery/disposal,/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = -30; pixel_y = 0},/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/tiled,/area/outpost/research/toxins_launch) @@ -219,8 +219,8 @@ "ek" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Toxins Lab Aft"; dir = 8},/turf/simulated/floor/tiled,/area/outpost/research/mixing) "el" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/outpost/research/hallway/toxins_hallway) "em" = (/obj/effect/floor_decal/corner/purple{dir = 6},/turf/simulated/floor/tiled/white,/area/outpost/research/hallway/toxins_hallway) -"en" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 5},/obj/item/weapon/clipboard,/obj/item/weapon/pen,/obj/machinery/alarm{pixel_y = 23},/obj/machinery/newscaster{layer = 3.3; pixel_x = -30; pixel_y = 0},/turf/simulated/floor/tiled,/area/outpost/research/toxins_misc_lab) -"eo" = (/obj/structure/table/standard,/obj/item/weapon/folder,/obj/item/clothing/glasses/science,/obj/machinery/light_switch{pixel_y = 28},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Toxins Misc Lab"; dir = 2},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/outpost/research/toxins_misc_lab) +"en" = (/obj/structure/table/standard,/obj/item/paper_bin{pixel_x = -2; pixel_y = 5},/obj/item/clipboard,/obj/item/pen,/obj/machinery/alarm{pixel_y = 23},/obj/machinery/newscaster{layer = 3.3; pixel_x = -30; pixel_y = 0},/turf/simulated/floor/tiled,/area/outpost/research/toxins_misc_lab) +"eo" = (/obj/structure/table/standard,/obj/item/folder,/obj/item/clothing/glasses/science,/obj/machinery/light_switch{pixel_y = 28},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Toxins Misc Lab"; dir = 2},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/outpost/research/toxins_misc_lab) "ep" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/outpost/research/toxins_misc_lab) "eq" = (/obj/machinery/light/small{dir = 8; pixel_x = 0},/turf/simulated/mineral/floor/ignore_mapgen,/area/mine/explored) "er" = (/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/airless{icon_state = "asteroidplating2"},/area/mine/explored) @@ -251,7 +251,7 @@ "eQ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/corner/purple{dir = 9},/turf/simulated/floor/tiled/white,/area/outpost/research/hallway/toxins_hallway) "eR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/outpost/research/hallway/toxins_hallway) "eS" = (/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Toxins Aft"; dir = 8},/obj/effect/floor_decal/corner/purple{dir = 6},/turf/simulated/floor/tiled/white,/area/outpost/research/hallway/toxins_hallway) -"eT" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets,/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/tiled,/area/outpost/research/toxins_misc_lab) +"eT" = (/obj/structure/table/standard,/obj/item/storage/box/donkpockets,/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/tiled,/area/outpost/research/toxins_misc_lab) "eU" = (/turf/simulated/floor/tiled,/area/outpost/research/toxins_misc_lab) "eV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled,/area/outpost/research/toxins_misc_lab) "eW" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/outpost/research/toxins_misc_lab) @@ -259,7 +259,7 @@ "eY" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/effect/floor_decal/corner/purple{dir = 9},/turf/simulated/floor/tiled/white,/area/outpost/research/hallway/toxins_hallway) "eZ" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/effect/floor_decal/corner/purple{dir = 6},/turf/simulated/floor/tiled/white,/area/outpost/research/hallway/toxins_hallway) "fa" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/outpost/research/toxins_misc_lab) -"fb" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/purple,/turf/simulated/floor/tiled,/area/outpost/research/toxins_misc_lab) +"fb" = (/obj/structure/bed/padded,/obj/item/bedsheet/purple,/turf/simulated/floor/tiled,/area/outpost/research/toxins_misc_lab) "fc" = (/turf/simulated/floor/tiled/steel,/area/outpost/research/toxins_misc_lab) "fd" = (/turf/simulated/floor/plating,/area/outpost/research/toxins_misc_lab) "fe" = (/obj/structure/closet,/obj/item/clothing/accessory/armband/science,/turf/simulated/floor/tiled,/area/outpost/research/toxins_misc_lab) @@ -278,24 +278,24 @@ "fr" = (/turf/simulated/floor/reinforced,/area/outpost/research/xenobiology) "fs" = (/obj/structure/disposaloutlet{dir = 8},/obj/structure/disposalpipe/trunk,/turf/simulated/floor/reinforced,/area/outpost/research/xenobiology) "ft" = (/turf/simulated/wall,/area/outpost/research/xenobiology) -"fu" = (/obj/structure/table/rack,/obj/item/weapon/storage/toolbox/emergency,/obj/item/clothing/accessory/armband/science,/obj/item/clothing/glasses/science,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/item/device/suit_cooling_unit,/turf/simulated/floor/plating,/area/outpost/research/hallway/toxins_hallway) +"fu" = (/obj/structure/table/rack,/obj/item/storage/toolbox/emergency,/obj/item/clothing/accessory/armband/science,/obj/item/clothing/glasses/science,/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/item/suit_cooling_unit,/turf/simulated/floor/plating,/area/outpost/research/hallway/toxins_hallway) "fv" = (/obj/structure/closet/wardrobe/science_white,/turf/simulated/floor/plating,/area/outpost/research/hallway/toxins_hallway) "fw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/research{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "toxins_airlock_interior"; locked = 1; name = "Toxins Internal Airlock"; req_access = list(7)},/turf/simulated/floor/tiled/white,/area/outpost/research/hallway/toxins_hallway) "fx" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 6},/obj/machinery/light,/turf/simulated/floor/plating,/area/outpost/research/toxins_misc_lab) -"fy" = (/obj/machinery/atmospherics/pipe/manifold/visible/purple{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/plating,/area/outpost/research/toxins_misc_lab) +"fy" = (/obj/machinery/atmospherics/pipe/manifold/visible/purple{dir = 4},/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/plating,/area/outpost/research/toxins_misc_lab) "fz" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple,/turf/simulated/wall/r_wall,/area/outpost/research/toxins_misc_lab) "fA" = (/mob/living/simple_mob/slime/xenobio,/turf/simulated/floor/reinforced,/area/outpost/research/xenobiology) "fB" = (/obj/structure/disposalpipe/segment,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/reinforced,/area/outpost/research/xenobiology) "fC" = (/obj/machinery/portable_atmospherics/canister,/turf/simulated/floor/plating,/area/outpost/research/hallway/toxins_hallway) -"fD" = (/obj/structure/closet/emcloset,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/white,/area/outpost/research/hallway/toxins_hallway) +"fD" = (/obj/structure/closet/emcloset,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/white,/area/outpost/research/hallway/toxins_hallway) "fE" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "toxins_airlock_control"; name = "Toxins Access Button"; pixel_x = 26; pixel_y = 26; req_access = list(7)},/turf/simulated/floor/tiled/white,/area/outpost/research/hallway/toxins_hallway) "fF" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Toxins Access"; dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/floor/tiled/white,/area/outpost/research/hallway/toxins_hallway) -"fG" = (/obj/item/weapon/tool/wrench,/obj/structure/table/steel,/turf/simulated/floor/tiled/dark,/area/outpost/research/toxins_misc_lab) +"fG" = (/obj/item/tool/wrench,/obj/structure/table/steel,/turf/simulated/floor/tiled/dark,/area/outpost/research/toxins_misc_lab) "fH" = (/obj/machinery/pipedispenser,/turf/simulated/floor/tiled/dark,/area/outpost/research/toxins_misc_lab) "fI" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction,/turf/simulated/mineral/floor/ignore_mapgen,/area/mine/explored) "fJ" = (/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/dark,/area/outpost/research/xenobiology) "fK" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/reinforced,/area/outpost/research/xenobiology) -"fL" = (/obj/structure/table/standard,/obj/item/weapon/weldingtool,/obj/item/clothing/head/welding,/turf/simulated/floor/tiled/dark,/area/outpost/research/xenobiology) +"fL" = (/obj/structure/table/standard,/obj/item/weldingtool,/obj/item/clothing/head/welding,/turf/simulated/floor/tiled/dark,/area/outpost/research/xenobiology) "fM" = (/obj/structure/closet/firecloset,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled/white,/area/outpost/research/hallway/toxins_hallway) "fN" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/outpost/research/hallway/toxins_hallway) "fO" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled/white,/area/outpost/research/hallway/toxins_hallway) @@ -323,7 +323,7 @@ "gk" = (/obj/structure/table/reinforced,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning,/obj/machinery/button/remote/blast_door{id = "xenobio2"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology) "gl" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology) "gm" = (/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenobiology Fore Starboard"; dir = 2},/obj/machinery/light{dir = 1},/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled,/area/outpost/research/xenobiology) -"gn" = (/obj/structure/table/standard,/obj/item/clothing/suit/storage/hooded/wintercoat/science,/obj/item/clothing/suit/storage/hooded/wintercoat/science,/obj/item/weapon/storage/firstaid,/turf/simulated/floor/tiled/dark,/area/outpost/research/xenobiology) +"gn" = (/obj/structure/table/standard,/obj/item/clothing/suit/storage/hooded/wintercoat/science,/obj/item/clothing/suit/storage/hooded/wintercoat/science,/obj/item/storage/firstaid,/turf/simulated/floor/tiled/dark,/area/outpost/research/xenobiology) "go" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/airless,/area/mine/explored) "gp" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/light/small{dir = 1},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/tiled,/area/outpost/research/hallway/catwalk) "gq" = (/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/outpost/research/hallway/catwalk) @@ -410,11 +410,11 @@ "hT" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology) "hU" = (/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled,/area/outpost/research/xenobiology) "hV" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/table/standard,/obj/machinery/reagentgrinder,/obj/item/stack/material/phoron,/obj/item/stack/material/phoron,/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology) -"hW" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/beakers{pixel_x = 2; pixel_y = 2},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology) +"hW" = (/obj/structure/table/standard,/obj/item/storage/box/beakers{pixel_x = 2; pixel_y = 2},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology) "hX" = (/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled,/area/outpost/research/xenobiology) "hY" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology) "hZ" = (/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/outpost/research/xenobiology) -"ia" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/machinery/button/remote/blast_door{desc = "It controls blast doors, remotely."; id = "xenobiodivid"; name = "Divider Switch"; pixel_x = 38; pixel_y = 0; req_access = list(55)},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled,/area/outpost/research/xenobiology) +"ia" = (/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/machinery/button/remote/blast_door{desc = "It controls blast doors, remotely."; id = "xenobiodivid"; name = "Divider Switch"; pixel_x = 38; pixel_y = 0; req_access = list(55)},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled,/area/outpost/research/xenobiology) "ib" = (/obj/machinery/door/blast/regular{id = "xenobiodivid"},/turf/simulated/floor/reinforced,/area/outpost/research/xenobiology) "ic" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 4},/turf/space,/area/space) "id" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/landmark{name = "bluespacerift"},/turf/simulated/floor/tiled,/area/outpost/research/hallway/catwalk) @@ -425,10 +425,10 @@ "ii" = (/obj/structure/window/reinforced,/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/light/small{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/tiled,/area/outpost/research/hallway/catwalk) "ij" = (/obj/structure/closet/emcloset,/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology) "ik" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenobiology Access"; dir = 1},/obj/structure/closet/l3closet/scientist,/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology) -"il" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/structure/closet/l3closet/scientist,/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology) -"im" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped,/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology) -"in" = (/obj/structure/table/standard,/obj/item/clothing/gloves/sterile/latex,/obj/item/weapon/hand_labeler,/obj/item/device/slime_scanner,/obj/item/device/slime_scanner,/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology) -"io" = (/obj/structure/table/standard,/obj/item/glass_jar,/obj/item/glass_jar,/obj/item/weapon/storage/box/syringes,/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology) +"il" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/structure/closet/l3closet/scientist,/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology) +"im" = (/obj/structure/table/standard,/obj/item/storage/box/monkeycubes,/obj/item/storage/box/monkeycubes,/obj/item/storage/box/monkeycubes,/obj/item/storage/box/monkeycubes,/obj/item/reagent_containers/food/snacks/monkeycube/wrapped,/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology) +"in" = (/obj/structure/table/standard,/obj/item/clothing/gloves/sterile/latex,/obj/item/hand_labeler,/obj/item/slime_scanner,/obj/item/slime_scanner,/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology) +"io" = (/obj/structure/table/standard,/obj/item/glass_jar,/obj/item/glass_jar,/obj/item/storage/box/syringes,/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology) "ip" = (/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/outpost/research/xenobiology) "iq" = (/obj/structure/table/reinforced,/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/button/remote/blast_door{id = "xenobio4"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/obj/structure/window/reinforced,/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology) "ir" = (/obj/structure/grille,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio4"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/outpost/research/xenobiology) @@ -446,7 +446,7 @@ "iD" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/outpost/research/hallway/catwalk) "iE" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/outpost/research/hallway/catwalk) "iF" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/lattice,/turf/simulated/mineral/floor/ignore_mapgen,/area/mine/explored) -"iG" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 5},/obj/item/weapon/pen/blue{pixel_x = -5; pixel_y = -1},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = 3},/turf/simulated/floor/tiled/dark,/area/outpost/research/xenobiology) +"iG" = (/obj/structure/table/standard,/obj/item/paper_bin{pixel_x = -2; pixel_y = 5},/obj/item/pen/blue{pixel_x = -5; pixel_y = -1},/obj/item/pen/red{pixel_x = -1; pixel_y = 3},/turf/simulated/floor/tiled/dark,/area/outpost/research/xenobiology) "iH" = (/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = 0; pixel_y = 30},/turf/simulated/floor/tiled,/area/outpost/research/xenobiology) "iI" = (/obj/machinery/light{dir = 1},/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = -7; pixel_y = 32},/turf/simulated/floor/tiled,/area/outpost/research/xenobiology) "iJ" = (/obj/machinery/chemical_dispenser/full{density = 1},/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology) @@ -460,14 +460,14 @@ "iR" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light/small,/turf/simulated/floor/reinforced,/area/outpost/research/xenobiology) "iS" = (/obj/structure/disposaloutlet{dir = 1},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/reinforced,/area/outpost/research/xenobiology) "iT" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/outpost/research/hallway/catwalk) -"iU" = (/obj/structure/table/standard,/obj/item/weapon/clipboard,/obj/item/weapon/folder,/obj/item/weapon/pen,/obj/item/weapon/melee/baton/slime/loaded,/obj/item/weapon/gun/energy/taser/xeno,/turf/simulated/floor/tiled/dark,/area/outpost/research/xenobiology) +"iU" = (/obj/structure/table/standard,/obj/item/clipboard,/obj/item/folder,/obj/item/pen,/obj/item/melee/baton/slime/loaded,/obj/item/gun/energy/taser/xeno,/turf/simulated/floor/tiled/dark,/area/outpost/research/xenobiology) "iV" = (/obj/structure/bed/chair/office/light{dir = 1},/turf/simulated/floor/tiled,/area/outpost/research/xenobiology) "iW" = (/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology) "iX" = (/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/outpost/research/xenobiology) "iY" = (/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/outpost/research/xenobiology) "iZ" = (/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology) "ja" = (/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/outpost/research/xenobiology) -"jb" = (/obj/structure/table/standard,/obj/item/weapon/folder/red{pixel_y = 3},/obj/item/weapon/folder/blue{pixel_x = 5},/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor/tiled,/area/outpost/research/xenobiology) +"jb" = (/obj/structure/table/standard,/obj/item/folder/red{pixel_y = 3},/obj/item/folder/blue{pixel_x = 5},/obj/item/reagent_containers/spray/cleaner,/turf/simulated/floor/tiled,/area/outpost/research/xenobiology) "jc" = (/obj/structure/bed/chair/office/light,/turf/simulated/floor/tiled,/area/outpost/research/xenobiology) "jd" = (/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenobiology Aft Port"; dir = 1},/obj/structure/cable/blue,/turf/simulated/floor/tiled,/area/outpost/research/xenobiology) "je" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology) @@ -480,7 +480,7 @@ "jl" = (/obj/structure/table/steel,/obj/item/clothing/glasses/science,/turf/simulated/floor/tiled/dark,/area/outpost/research/xenobiology) "jm" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/tiled,/area/outpost/research/hallway/catwalk) "jn" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/outpost/research/hallway/catwalk) -"jo" = (/obj/structure/table/standard,/obj/item/weapon/melee/baton/slime/loaded,/obj/item/weapon/gun/energy/taser/xeno,/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology) +"jo" = (/obj/structure/table/standard,/obj/item/melee/baton/slime/loaded,/obj/item/gun/energy/taser/xeno,/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology) "jp" = (/obj/item/clothing/shoes/galoshes,/obj/item/clothing/shoes/galoshes,/turf/simulated/floor/tiled,/area/outpost/research/xenobiology) "jq" = (/obj/structure/grille,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio6"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/disposalpipe/segment,/obj/structure/cable/blue,/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/outpost/research/xenobiology) "jr" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio6"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/window/brigdoor/southright{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/reinforced,/area/outpost/research/xenobiology) @@ -489,7 +489,7 @@ "ju" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio5"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/window/brigdoor/southright{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/reinforced,/area/outpost/research/xenobiology) "jv" = (/obj/structure/grille,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio5"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable/blue,/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/outpost/research/xenobiology) "jw" = (/obj/structure/extinguisher_cabinet{pixel_x = 25; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology) -"jx" = (/obj/structure/reagent_dispensers/watertank,/obj/item/weapon/extinguisher,/obj/item/weapon/extinguisher,/turf/simulated/floor/tiled/dark,/area/outpost/research/xenobiology) +"jx" = (/obj/structure/reagent_dispensers/watertank,/obj/item/extinguisher,/obj/item/extinguisher,/turf/simulated/floor/tiled/dark,/area/outpost/research/xenobiology) "jy" = (/obj/structure/closet,/obj/item/toy/figure/scientist,/obj/item/clothing/accessory/armband/science,/turf/simulated/floor/tiled/dark,/area/outpost/research/xenobiology) "jz" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/outpost/research/hallway/catwalk) "jA" = (/obj/machinery/light/small{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/reinforced,/area/outpost/research/xenobiology) @@ -520,8 +520,8 @@ "jZ" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/closet/crate,/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled/dark,/area/outpost/research/longtermstorage) "ka" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/table/rack,/turf/simulated/floor/tiled/dark,/area/outpost/research/longtermstorage) "kb" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/outpost/research/medical) -"kc" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/regular{pixel_x = 3; pixel_y = 4},/obj/item/weapon/storage/firstaid/toxin,/turf/simulated/floor/tiled/white,/area/outpost/research/medical) -"kd" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/o2{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/firstaid/fire,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/tiled/white,/area/outpost/research/medical) +"kc" = (/obj/structure/table/standard,/obj/item/storage/firstaid/regular{pixel_x = 3; pixel_y = 4},/obj/item/storage/firstaid/toxin,/turf/simulated/floor/tiled/white,/area/outpost/research/medical) +"kd" = (/obj/structure/table/standard,/obj/item/storage/firstaid/o2{pixel_x = 2; pixel_y = 2},/obj/item/storage/firstaid/fire,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/tiled/white,/area/outpost/research/medical) "ke" = (/obj/structure/sign/greencross,/turf/simulated/wall,/area/outpost/research/medical) "kf" = (/obj/effect/floor_decal/corner/purple{dir = 9},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled/white,/area/outpost/research/dock) "kg" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/outpost/research/dock) @@ -535,7 +535,7 @@ "ko" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled/dark,/area/outpost/research/longtermstorage) "kp" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/dark,/area/outpost/research/longtermstorage) "kq" = (/turf/simulated/wall,/area/outpost/research/tempstorage) -"kr" = (/obj/structure/table/steel,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/weapon/storage/toolbox/emergency{pixel_x = 5; pixel_y = 5},/turf/simulated/floor/tiled/dark,/area/outpost/research/tempstorage) +"kr" = (/obj/structure/table/steel,/obj/item/storage/toolbox/mechanical,/obj/item/storage/toolbox/emergency{pixel_x = 5; pixel_y = 5},/turf/simulated/floor/tiled/dark,/area/outpost/research/tempstorage) "ks" = (/turf/simulated/wall,/area/mine/explored) "kt" = (/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled/white,/area/outpost/research/medical) "ku" = (/obj/machinery/light{dir = 1},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/outpost/research/medical) @@ -550,7 +550,7 @@ "kD" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/outpost/research/dorms) "kE" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/outpost/research/dorms) "kF" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/outpost/research/dorms) -"kG" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets,/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/wood,/area/outpost/research/dorms) +"kG" = (/obj/structure/table/standard,/obj/item/storage/box/donkpockets,/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/wood,/area/outpost/research/dorms) "kH" = (/obj/structure/table/standard,/obj/machinery/microwave,/turf/simulated/floor/wood,/area/outpost/research/dorms) "kI" = (/obj/structure/closet/wardrobe/science_white,/turf/simulated/floor/wood,/area/outpost/research/dorms) "kJ" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled/dark,/area/outpost/research/longtermstorage) @@ -613,7 +613,7 @@ "lO" = (/obj/structure/undies_wardrobe,/turf/simulated/floor/wood,/area/outpost/research/dorms) "lP" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/structure/sign/nosmoking_2{pixel_x = -32; pixel_y = 0},/turf/simulated/floor/tiled,/area/outpost/research/longtermstorage) "lQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark,/area/outpost/research/longtermstorage) -"lR" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled/dark,/area/outpost/research/longtermstorage) +"lR" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled/dark,/area/outpost/research/longtermstorage) "lS" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled,/area/outpost/research/tempstorage) "lT" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/outpost/research/tempstorage) "lU" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled,/area/outpost/research/tempstorage) @@ -630,8 +630,8 @@ "mf" = (/obj/structure/reagent_dispensers/water_cooler/full,/turf/simulated/floor/wood,/area/outpost/research/dorms) "mg" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/wood,/area/outpost/research/dorms) "mh" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/wood,/area/outpost/research/dorms) -"mi" = (/obj/structure/table/glass,/obj/item/weapon/tape_roll,/turf/simulated/floor/wood,/area/outpost/research/dorms) -"mj" = (/obj/structure/table/glass,/obj/item/weapon/hand_labeler,/turf/simulated/floor/wood,/area/outpost/research/dorms) +"mi" = (/obj/structure/table/glass,/obj/item/tape_roll,/turf/simulated/floor/wood,/area/outpost/research/dorms) +"mj" = (/obj/structure/table/glass,/obj/item/hand_labeler,/turf/simulated/floor/wood,/area/outpost/research/dorms) "mk" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/wood,/area/outpost/research/dorms) "ml" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/wood,/area/outpost/research/dorms) "mm" = (/obj/machinery/door/airlock{name = "Room 1"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/outpost/research/dorms) @@ -661,12 +661,12 @@ "mK" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/outpost/research/dock) "mL" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_research{name = "Outpost Primary Access"; req_access = list(47)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/outpost/research/dock) "mM" = (/obj/structure/bookcase/manuals/xenoarchaeology,/turf/simulated/floor/wood,/area/outpost/research/dorms) -"mN" = (/obj/structure/table/glass,/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 5},/obj/item/weapon/clipboard,/obj/item/weapon/pen,/obj/item/device/taperecorder,/turf/simulated/floor/wood,/area/outpost/research/dorms) -"mO" = (/obj/structure/table/glass,/obj/item/weapon/folder,/obj/item/weapon/stamp,/turf/simulated/floor/wood,/area/outpost/research/dorms) +"mN" = (/obj/structure/table/glass,/obj/item/paper_bin{pixel_x = -2; pixel_y = 5},/obj/item/clipboard,/obj/item/pen,/obj/item/taperecorder,/turf/simulated/floor/wood,/area/outpost/research/dorms) +"mO" = (/obj/structure/table/glass,/obj/item/folder,/obj/item/stamp,/turf/simulated/floor/wood,/area/outpost/research/dorms) "mP" = (/obj/machinery/status_display{layer = 4; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/wood,/area/outpost/research/dorms) "mQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/carpet/blue,/area/outpost/research/dorms) -"mR" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/carpet/blue,/area/outpost/research/dorms) -"mS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/freezer,/area/outpost/research/dorms) +"mR" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/carpet/blue,/area/outpost/research/dorms) +"mS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/freezer,/area/outpost/research/dorms) "mT" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/light/small{dir = 1},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor/tiled/freezer,/area/outpost/research/dorms) "mU" = (/obj/machinery/shower{pixel_y = 3},/obj/structure/curtain/open/shower,/obj/machinery/door/window/westright{name = "Shower"},/turf/simulated/floor/tiled/freezer,/area/outpost/research/dorms) "mV" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall,/area/outpost/research/longtermstorage) @@ -680,13 +680,13 @@ "nd" = (/obj/machinery/conveyor{dir = 4; id = "anotempload"},/turf/simulated/floor/airless{icon_state = "asteroidplating2"},/area/outpost/research/tempstorage) "ne" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/shuttle/research/outpost) "nf" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"},/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled/white,/area/outpost/research/dock) -"ng" = (/obj/structure/table/standard,/obj/item/weapon/material/ashtray/glass,/obj/item/weapon/reagent_containers/food/drinks/coffee,/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/outpost/research/dock) +"ng" = (/obj/structure/table/standard,/obj/item/material/ashtray/glass,/obj/item/reagent_containers/food/drinks/coffee,/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/outpost/research/dock) "nh" = (/obj/effect/floor_decal/corner/purple{dir = 9},/turf/simulated/floor/tiled/white,/area/outpost/research/dock) "ni" = (/obj/effect/floor_decal/corner/purple{dir = 6},/turf/simulated/floor/tiled/white,/area/outpost/research/dock) -"nj" = (/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = -27},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/wood,/area/outpost/research/dorms) -"nk" = (/obj/structure/table/glass,/obj/item/weapon/storage/box/cups,/obj/item/weapon/storage/box/glasses/square{pixel_x = 1; pixel_y = 4},/obj/machinery/light,/turf/simulated/floor/wood,/area/outpost/research/dorms) -"nl" = (/obj/structure/table/glass,/obj/item/device/camera_film{pixel_x = 2; pixel_y = 2},/obj/item/device/camera,/turf/simulated/floor/wood,/area/outpost/research/dorms) -"nm" = (/obj/item/weapon/bedsheet/purple,/obj/structure/bed/padded,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/carpet/blue,/area/outpost/research/dorms) +"nj" = (/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = -27},/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/wood,/area/outpost/research/dorms) +"nk" = (/obj/structure/table/glass,/obj/item/storage/box/cups,/obj/item/storage/box/glasses/square{pixel_x = 1; pixel_y = 4},/obj/machinery/light,/turf/simulated/floor/wood,/area/outpost/research/dorms) +"nl" = (/obj/structure/table/glass,/obj/item/camera_film{pixel_x = 2; pixel_y = 2},/obj/item/camera,/turf/simulated/floor/wood,/area/outpost/research/dorms) +"nm" = (/obj/item/bedsheet/purple,/obj/structure/bed/padded,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/carpet/blue,/area/outpost/research/dorms) "nn" = (/obj/structure/table/standard,/obj/machinery/alarm{dir = 1; pixel_y = -25},/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/carpet/blue,/area/outpost/research/dorms) "no" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{pixel_x = -28},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled/freezer,/area/outpost/research/dorms) "np" = (/obj/structure/toilet{dir = 1},/turf/simulated/floor/tiled/freezer,/area/outpost/research/dorms) @@ -694,7 +694,7 @@ "nr" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/corner/purple/full{dir = 8},/turf/simulated/floor/tiled,/area/outpost/research/hallway/starboard) "ns" = (/obj/effect/floor_decal/corner/purple{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/outpost/research/hallway/starboard) "nt" = (/obj/effect/floor_decal/corner/purple/full{dir = 1},/turf/simulated/floor/tiled,/area/outpost/research/hallway/starboard) -"nu" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/outpost/research/tempstorage) +"nu" = (/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/outpost/research/tempstorage) "nv" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled,/area/outpost/research/tempstorage) "nw" = (/obj/effect/floor_decal/corner/purple,/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/outpost/research/tempstorage) "nx" = (/obj/effect/floor_decal/corner/purple{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/tiled,/area/outpost/research/tempstorage) @@ -716,7 +716,7 @@ "nN" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/corner/purple{dir = 1},/turf/simulated/floor/tiled,/area/outpost/research/hallway/starboard) "nO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/outpost/research/hallway/starboard) "nP" = (/obj/effect/floor_decal/corner/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/outpost/research/hallway/starboard) -"nQ" = (/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/item/weapon/cell/high,/obj/effect/floor_decal/corner/purple/full{dir = 1},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/tiled,/area/outpost/research/hallway/starboard) +"nQ" = (/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/item/cell/high,/obj/effect/floor_decal/corner/purple/full{dir = 1},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/tiled,/area/outpost/research/hallway/starboard) "nR" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/outpost/research/tempstorage) "nS" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/research{name = "Temporary Storage"; req_access = list(65)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/outpost/research/tempstorage) "nT" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/outpost/research/tempstorage) @@ -729,7 +729,7 @@ "oa" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"},/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "research_outpost_dock"; pixel_x = 0; pixel_y = 30; req_one_access = list(13,48); tag_airpump = "research_outpost_pump"; tag_chamber_sensor = "research_outpost_sensor"; tag_exterior_door = "research_outpost_outer"; tag_interior_door = "research_outpost_inner"},/turf/simulated/floor/tiled,/area/outpost/research/dock) "ob" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/simulated/floor/tiled/white,/area/outpost/research/dock) "oc" = (/obj/machinery/computer/guestpass{pixel_x = 0; pixel_y = 30},/turf/simulated/floor/tiled/white,/area/outpost/research/dock) -"od" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/white,/area/outpost/research/dock) +"od" = (/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/white,/area/outpost/research/dock) "oe" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/white,/area/outpost/research/dock) "of" = (/obj/effect/floor_decal/corner/purple{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled/white,/area/outpost/research/dock) "og" = (/obj/effect/floor_decal/corner/purple{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/white,/area/outpost/research/dock) @@ -743,7 +743,7 @@ "oo" = (/obj/machinery/shower{pixel_y = 3},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/tiled/freezer,/area/outpost/research/hallway/mid) "op" = (/turf/simulated/wall/r_wall,/area/outpost/research/hallway/mid) "oq" = (/obj/machinery/portable_atmospherics/canister/air,/obj/effect/floor_decal/corner/purple{dir = 5},/turf/simulated/floor/tiled/white,/area/outpost/research/hallway/mid) -"or" = (/obj/machinery/portable_atmospherics/canister/air,/obj/effect/floor_decal/corner/purple{dir = 5},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/white,/area/outpost/research/hallway/mid) +"or" = (/obj/machinery/portable_atmospherics/canister/air,/obj/effect/floor_decal/corner/purple{dir = 5},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/white,/area/outpost/research/hallway/mid) "os" = (/obj/machinery/portable_atmospherics/powered/scrubber,/obj/effect/floor_decal/corner/purple{dir = 5},/turf/simulated/floor/tiled/white,/area/outpost/research/hallway/mid) "ot" = (/obj/machinery/portable_atmospherics/powered/scrubber,/obj/effect/floor_decal/corner/purple{dir = 5},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/white,/area/outpost/research/hallway/mid) "ou" = (/obj/effect/floor_decal/corner/purple{dir = 5},/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/space_heater,/turf/simulated/floor/tiled/white,/area/outpost/research/hallway/mid) @@ -754,7 +754,7 @@ "oz" = (/obj/effect/floor_decal/corner/purple{dir = 10},/turf/simulated/floor/tiled,/area/outpost/research/hallway/starboard) "oA" = (/obj/effect/floor_decal/corner/purple{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/outpost/research/hallway/starboard) "oB" = (/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/outpost/research/hallway/starboard) -"oC" = (/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Hallway Starboard 2"},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/outpost/research/hallway/starboard) +"oC" = (/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Hallway Starboard 2"},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/outpost/research/hallway/starboard) "oD" = (/obj/effect/floor_decal/corner/purple{dir = 4},/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/outpost/research/hallway/starboard) "oE" = (/obj/effect/floor_decal/corner/purple{dir = 1},/turf/simulated/floor/tiled,/area/outpost/research/hallway/starboard) "oF" = (/obj/machinery/atmospherics/binary/pump/on,/obj/effect/floor_decal/industrial/outline/yellow,/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/outpost/research/hallway/starboard) @@ -817,7 +817,7 @@ "pK" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/outpost/research/dock) "pL" = (/obj/structure/closet/secure_closet/xenoarchaeologist{req_access = list(47)},/obj/effect/floor_decal/corner/purple{dir = 10},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/tiled/white,/area/outpost/research/hallway/mid) "pM" = (/obj/structure/closet/secure_closet/xenoarchaeologist{req_access = list(47)},/obj/effect/floor_decal/corner/purple{dir = 10},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/tiled/white,/area/outpost/research/hallway/mid) -"pN" = (/obj/structure/closet/secure_closet/xenoarchaeologist{req_access = list(47)},/obj/effect/floor_decal/corner/purple{dir = 10},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Hallway Mid 1"; dir = 1},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/white,/area/outpost/research/hallway/mid) +"pN" = (/obj/structure/closet/secure_closet/xenoarchaeologist{req_access = list(47)},/obj/effect/floor_decal/corner/purple{dir = 10},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Hallway Mid 1"; dir = 1},/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/white,/area/outpost/research/hallway/mid) "pO" = (/obj/structure/table/rack,/obj/item/clothing/suit/bio_suit/anomaly,/obj/item/clothing/head/bio_hood/anomaly,/obj/item/clothing/mask/breath,/obj/item/clothing/glasses/science,/obj/item/clothing/gloves/sterile/latex,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/white,/area/outpost/research/hallway/mid) "pP" = (/obj/structure/table/rack,/obj/item/clothing/suit/bio_suit/anomaly,/obj/item/clothing/head/bio_hood/anomaly,/obj/item/clothing/mask/breath,/obj/item/clothing/glasses/science,/obj/item/clothing/gloves/sterile/latex,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/sign/nosmoking_2{pixel_x = 32; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/outpost/research/hallway/mid) "pQ" = (/obj/effect/floor_decal/corner/purple{dir = 8},/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/white,/area/outpost/research/hallway/mid) @@ -827,7 +827,7 @@ "pU" = (/obj/effect/floor_decal/corner/purple{dir = 10},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/outpost/research/hallway/mid) "pV" = (/obj/effect/floor_decal/corner/purple{dir = 8},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/outpost/research/hallway/mid) "pW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/outpost/research/hallway/mid) -"pX" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/outpost/research/hallway/starboard) +"pX" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/outpost/research/hallway/starboard) "pY" = (/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/outpost/research/hallway/starboard) "pZ" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/corner/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/outpost/research/hallway/starboard) "qa" = (/obj/effect/floor_decal/corner/purple{dir = 5},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled,/area/outpost/research/hallway/starboard) @@ -875,14 +875,14 @@ "qQ" = (/obj/effect/floor_decal/corner/beige{dir = 5},/turf/simulated/floor/tiled/white,/area/outpost/research/analysis) "qR" = (/obj/structure/sign/nosmoking_2{pixel_y = 32},/obj/effect/floor_decal/corner/beige{dir = 1},/turf/simulated/floor/tiled/white,/area/outpost/research/analysis) "qS" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/white,/area/outpost/research/analysis) -"qT" = (/obj/effect/floor_decal/corner/beige{dir = 6},/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/white,/area/outpost/research/analysis) +"qT" = (/obj/effect/floor_decal/corner/beige{dir = 6},/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/white,/area/outpost/research/analysis) "qU" = (/obj/effect/floor_decal/corner/purple/full,/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/white,/area/outpost/research/dock) "qV" = (/obj/effect/floor_decal/corner/purple{dir = 10},/turf/simulated/floor/tiled/white,/area/outpost/research/dock) "qW" = (/obj/effect/floor_decal/corner/purple/full{dir = 4},/obj/machinery/recharge_station,/turf/simulated/floor/tiled/white,/area/outpost/research/dock) "qX" = (/obj/machinery/artifact_analyser,/turf/simulated/floor/tiled/white,/area/outpost/research/anomaly) "qY" = (/obj/machinery/artifact_scanpad,/turf/simulated/floor/tiled/white,/area/outpost/research/anomaly) -"qZ" = (/obj/structure/table/rack,/obj/item/clothing/head/welding,/obj/item/weapon/weldingtool,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/white,/area/outpost/research/anomaly) -"ra" = (/obj/structure/table/standard,/obj/machinery/cell_charger,/obj/item/weapon/tool/screwdriver{pixel_y = 15},/obj/item/weapon/melee/baton/loaded,/turf/simulated/floor/tiled/white,/area/outpost/research/anomaly) +"qZ" = (/obj/structure/table/rack,/obj/item/clothing/head/welding,/obj/item/weldingtool,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/white,/area/outpost/research/anomaly) +"ra" = (/obj/structure/table/standard,/obj/machinery/cell_charger,/obj/item/tool/screwdriver{pixel_y = 15},/obj/item/melee/baton/loaded,/turf/simulated/floor/tiled/white,/area/outpost/research/anomaly) "rb" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/outpost/research/anomaly) "rc" = (/obj/machinery/conveyor{dir = 4; id = "anom"},/turf/simulated/floor/plating,/area/outpost/research/anomaly) "rd" = (/obj/machinery/conveyor{dir = 4; id = "anom"},/obj/structure/plasticflaps/mining,/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/outpost/research/anomaly) @@ -891,25 +891,25 @@ "rg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/outpost/research/anomaly) "rh" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/outpost/research/anomaly) "ri" = (/obj/machinery/artifact_harvester,/turf/simulated/floor/bluegrid,/area/outpost/research/anomaly) -"rj" = (/obj/item/weapon/anodevice{pixel_x = 3; pixel_y = 3},/obj/item/weapon/anodevice,/obj/structure/table/steel,/obj/machinery/light{dir = 1},/obj/structure/sign/nosmoking_2{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled/white,/area/outpost/research/anomaly) -"rk" = (/obj/item/weapon/anobattery{pixel_x = -6; pixel_y = 2},/obj/item/weapon/anobattery{pixel_x = -2; pixel_y = -2},/obj/item/weapon/anobattery{pixel_x = 2; pixel_y = 2},/obj/item/weapon/anobattery{pixel_x = 6; pixel_y = 6},/obj/structure/table/steel,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/white,/area/outpost/research/anomaly) +"rj" = (/obj/item/anodevice{pixel_x = 3; pixel_y = 3},/obj/item/anodevice,/obj/structure/table/steel,/obj/machinery/light{dir = 1},/obj/structure/sign/nosmoking_2{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled/white,/area/outpost/research/anomaly) +"rk" = (/obj/item/anobattery{pixel_x = -6; pixel_y = 2},/obj/item/anobattery{pixel_x = -2; pixel_y = -2},/obj/item/anobattery{pixel_x = 2; pixel_y = 2},/obj/item/anobattery{pixel_x = 6; pixel_y = 6},/obj/structure/table/steel,/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/white,/area/outpost/research/anomaly) "rl" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/corner/purple/full,/turf/simulated/floor/tiled,/area/outpost/research/hallway/starboard) "rm" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/corner/purple{dir = 10},/turf/simulated/floor/tiled,/area/outpost/research/hallway/starboard) "rn" = (/obj/effect/floor_decal/corner/purple/full{dir = 4},/turf/simulated/floor/tiled,/area/outpost/research/hallway/starboard) "ro" = (/obj/machinery/suspension_gen,/obj/effect/floor_decal/corner/purple/full{dir = 8},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Expedition Prep"},/turf/simulated/floor/tiled,/area/outpost/research/eva) -"rp" = (/obj/machinery/suspension_gen,/obj/effect/floor_decal/corner/purple{dir = 1},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/outpost/research/eva) +"rp" = (/obj/machinery/suspension_gen,/obj/effect/floor_decal/corner/purple{dir = 1},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/outpost/research/eva) "rq" = (/turf/simulated/floor/tiled,/area/outpost/research/eva) "rr" = (/obj/effect/floor_decal/corner/purple{dir = 6},/turf/simulated/floor/tiled,/area/outpost/research/eva) -"rs" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/archaeology,/obj/item/clothing/suit/space/anomaly,/obj/item/clothing/head/helmet/space/anomaly,/obj/item/clothing/mask/breath,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/window/westright,/turf/simulated/floor/tiled/dark,/area/outpost/research/eva) +"rs" = (/obj/structure/table/rack,/obj/item/storage/belt/archaeology,/obj/item/clothing/suit/space/anomaly,/obj/item/clothing/head/helmet/space/anomaly,/obj/item/clothing/mask/breath,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/window/westright,/turf/simulated/floor/tiled/dark,/area/outpost/research/eva) "rt" = (/obj/structure/sign/science{desc = "A warning sign which reads 'SCIENCE!'. It has fine print below it reading 'May or may not contain spiders'."},/turf/simulated/wall/r_wall,/area/outpost/research/eva) "ru" = (/obj/machinery/chem_master,/obj/effect/floor_decal/corner/beige/full,/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/outpost/research/analysis) -"rv" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/white,/area/outpost/research/analysis) +"rv" = (/obj/item/stool/padded,/turf/simulated/floor/tiled/white,/area/outpost/research/analysis) "rw" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled/white,/area/outpost/research/analysis) -"rx" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/outpost/research/analysis) +"rx" = (/obj/item/stool/padded,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/outpost/research/analysis) "ry" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/tiled/white,/area/outpost/research/analysis) "rz" = (/obj/effect/floor_decal/corner/beige{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/outpost/research/analysis) "rA" = (/obj/structure/table/glass,/obj/effect/floor_decal/corner/beige/full{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/alarm{dir = 8; pixel_x = 25; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/outpost/research/analysis) -"rB" = (/obj/structure/table/standard,/obj/item/weapon/flame/lighter/random,/obj/item/weapon/tool/crowbar,/obj/machinery/newscaster{layer = 3.3; pixel_x = -30; pixel_y = 0},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/white,/area/outpost/research/anomaly) +"rB" = (/obj/structure/table/standard,/obj/item/flame/lighter/random,/obj/item/tool/crowbar,/obj/machinery/newscaster{layer = 3.3; pixel_x = -30; pixel_y = 0},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/white,/area/outpost/research/anomaly) "rC" = (/turf/simulated/floor/tiled/white,/area/outpost/research/anomaly) "rD" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled,/area/outpost/research/anomaly) "rE" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/outpost/research/anomaly) @@ -921,20 +921,20 @@ "rK" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled/white,/area/outpost/research/anomaly) "rL" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/outpost/research/eva) "rM" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/outpost/research/eva) -"rN" = (/obj/effect/floor_decal/corner/purple/full{dir = 8},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/obj/structure/table/steel,/obj/item/device/suit_cooling_unit,/turf/simulated/floor/tiled,/area/outpost/research/eva) +"rN" = (/obj/effect/floor_decal/corner/purple/full{dir = 8},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/obj/structure/table/steel,/obj/item/suit_cooling_unit,/turf/simulated/floor/tiled,/area/outpost/research/eva) "rO" = (/obj/effect/floor_decal/corner/purple{dir = 1},/turf/simulated/floor/tiled,/area/outpost/research/eva) "rP" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/outpost/research/eva) -"rQ" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/archaeology,/obj/item/clothing/suit/space/anomaly,/obj/item/clothing/head/helmet/space/anomaly,/obj/item/clothing/mask/breath,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/window/westleft,/turf/simulated/floor/tiled/dark,/area/outpost/research/eva) -"rR" = (/obj/structure/table/glass,/obj/structure/window/reinforced,/obj/item/weapon/storage/box/beakers{pixel_x = 2; pixel_y = 2},/obj/effect/floor_decal/corner/beige/full,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/outpost/research/analysis) -"rS" = (/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/item/weapon/reagent_containers/dropper{pixel_y = -4},/obj/structure/table/glass,/obj/structure/window/reinforced,/obj/effect/floor_decal/corner/beige{dir = 10},/turf/simulated/floor/tiled/white,/area/outpost/research/analysis) -"rT" = (/obj/item/weapon/reagent_containers/glass/bottle/toxin,/obj/item/weapon/reagent_containers/glass/beaker/sulphuric{name = "beaker 'sulphuric acid'"},/obj/structure/table/glass,/obj/structure/window/reinforced,/obj/effect/floor_decal/corner/beige{dir = 10},/turf/simulated/floor/tiled/white,/area/outpost/research/analysis) +"rQ" = (/obj/structure/table/rack,/obj/item/storage/belt/archaeology,/obj/item/clothing/suit/space/anomaly,/obj/item/clothing/head/helmet/space/anomaly,/obj/item/clothing/mask/breath,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/window/westleft,/turf/simulated/floor/tiled/dark,/area/outpost/research/eva) +"rR" = (/obj/structure/table/glass,/obj/structure/window/reinforced,/obj/item/storage/box/beakers{pixel_x = 2; pixel_y = 2},/obj/effect/floor_decal/corner/beige/full,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/outpost/research/analysis) +"rS" = (/obj/item/reagent_containers/glass/beaker/large,/obj/item/reagent_containers/dropper{pixel_y = -4},/obj/structure/table/glass,/obj/structure/window/reinforced,/obj/effect/floor_decal/corner/beige{dir = 10},/turf/simulated/floor/tiled/white,/area/outpost/research/analysis) +"rT" = (/obj/item/reagent_containers/glass/bottle/toxin,/obj/item/reagent_containers/glass/beaker/sulphuric{name = "beaker 'sulphuric acid'"},/obj/structure/table/glass,/obj/structure/window/reinforced,/obj/effect/floor_decal/corner/beige{dir = 10},/turf/simulated/floor/tiled/white,/area/outpost/research/analysis) "rU" = (/obj/structure/table/glass,/obj/structure/window/reinforced,/obj/effect/floor_decal/corner/beige{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/outpost/research/analysis) "rV" = (/obj/machinery/door/window/southright{name = "Spectrometry Lab"; req_access = list(65)},/obj/effect/floor_decal/corner/beige{dir = 10},/turf/simulated/floor/tiled/white,/area/outpost/research/analysis) "rW" = (/obj/machinery/reagentgrinder,/obj/structure/table/glass,/obj/structure/window/reinforced,/obj/effect/floor_decal/corner/beige/full{dir = 4},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Sample Preparation"; dir = 8},/obj/machinery/status_display{layer = 4; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/outpost/research/analysis) "rX" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/outpost/research/anomaly) "rY" = (/obj/machinery/atmospherics/omni/atmos_filter{tag_east = 1; tag_south = 2; tag_west = 3},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/outpost/research/anomaly) "rZ" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/outpost/research/anomaly) -"sa" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/dropper{pixel_y = -4},/obj/effect/floor_decal/industrial/warning,/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Anomalous Materials Port"; dir = 4},/obj/machinery/status_display{layer = 4; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/outpost/research/anomaly) +"sa" = (/obj/structure/table/standard,/obj/item/reagent_containers/dropper{pixel_y = -4},/obj/effect/floor_decal/industrial/warning,/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Anomalous Materials Port"; dir = 4},/obj/machinery/status_display{layer = 4; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/outpost/research/anomaly) "sb" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/white,/area/outpost/research/anomaly) "sc" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/outpost/research/anomaly) "sd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/outpost/research/anomaly) @@ -943,17 +943,17 @@ "sg" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/outpost/research/anomaly) "sh" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/outpost/research/anomaly) "si" = (/obj/effect/floor_decal/industrial/warning,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Anomalous Materials Starboard"; dir = 8},/turf/simulated/floor/tiled/white,/area/outpost/research/anomaly) -"sj" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/corner/purple/full{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/structure/table/standard,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/turf/simulated/floor/tiled,/area/outpost/research/eva) +"sj" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/corner/purple/full{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/structure/table/standard,/obj/item/storage/box/monkeycubes,/obj/item/storage/box/monkeycubes,/turf/simulated/floor/tiled,/area/outpost/research/eva) "sk" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/outpost/research/eva) "sl" = (/obj/effect/floor_decal/corner/purple/full{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/table/standard,/turf/simulated/floor/tiled,/area/outpost/research/eva) "sm" = (/obj/effect/floor_decal/corner/purple{dir = 1},/obj/machinery/light{dir = 8},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/outpost/research/eva) -"sn" = (/obj/item/weapon/storage/excavation,/obj/item/weapon/pickaxe,/obj/item/weapon/tool/wrench,/obj/item/device/measuring_tape,/obj/item/stack/flag/yellow,/obj/structure/table/steel,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/outpost/research/eva) -"so" = (/obj/item/weapon/storage/excavation,/obj/item/weapon/pickaxe,/obj/item/weapon/tool/wrench,/obj/item/device/measuring_tape,/obj/item/stack/flag/yellow,/obj/structure/table/steel,/turf/simulated/floor/tiled,/area/outpost/research/eva) +"sn" = (/obj/item/storage/excavation,/obj/item/pickaxe,/obj/item/tool/wrench,/obj/item/measuring_tape,/obj/item/stack/flag/yellow,/obj/structure/table/steel,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/outpost/research/eva) +"so" = (/obj/item/storage/excavation,/obj/item/pickaxe,/obj/item/tool/wrench,/obj/item/measuring_tape,/obj/item/stack/flag/yellow,/obj/structure/table/steel,/turf/simulated/floor/tiled,/area/outpost/research/eva) "sp" = (/obj/structure/dispenser/oxygen,/obj/effect/floor_decal/corner/purple{dir = 6},/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/tiled,/area/outpost/research/eva) "sq" = (/obj/machinery/light/small,/turf/simulated/mineral/floor/ignore_mapgen,/area/mine/explored) "sr" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/outpost/research/analysis) "ss" = (/obj/item/stack/nanopaste,/obj/item/stack/nanopaste,/obj/item/stack/nanopaste,/obj/structure/table/standard,/turf/simulated/floor/tiled/dark,/area/outpost/research/analysis) -"st" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/dark,/area/outpost/research/analysis) +"st" = (/obj/item/stool/padded,/turf/simulated/floor/tiled/dark,/area/outpost/research/analysis) "su" = (/obj/effect/floor_decal/corner/lime{dir = 9},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled/white,/area/outpost/research/analysis) "sv" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled/white,/area/outpost/research/analysis) "sw" = (/obj/effect/floor_decal/corner/lime{dir = 6},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/outpost/research/analysis) @@ -966,11 +966,11 @@ "sD" = (/turf/simulated/floor/tiled,/area/outpost/research/anomaly) "sE" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 6},/turf/simulated/floor/tiled,/area/outpost/research/anomaly) "sF" = (/obj/machinery/atmospherics/binary/pump{dir = 4},/turf/simulated/floor/tiled,/area/outpost/research/anomaly) -"sG" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/obj/structure/table/standard,/obj/item/device/flashlight/lamp,/turf/simulated/floor/tiled,/area/outpost/research/anomaly) -"sH" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin,/obj/item/weapon/tape_roll,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled,/area/outpost/research/anomaly) +"sG" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/obj/structure/table/standard,/obj/item/flashlight/lamp,/turf/simulated/floor/tiled,/area/outpost/research/anomaly) +"sH" = (/obj/structure/table/standard,/obj/item/paper_bin,/obj/item/tape_roll,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled,/area/outpost/research/anomaly) "sI" = (/obj/structure/table/standard,/obj/machinery/computer/atmoscontrol/laptop{monitored_alarm_ids = list("isolation_one","isolation_two","isolation_three"); req_one_access = list(47,24,11)},/turf/simulated/floor/tiled,/area/outpost/research/anomaly) "sJ" = (/obj/structure/table/standard,/obj/item/clothing/gloves/sterile/latex,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled,/area/outpost/research/anomaly) -"sK" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/obj/structure/table/standard,/obj/item/weapon/folder,/obj/item/device/camera,/obj/item/weapon/pen,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/outpost/research/anomaly) +"sK" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/obj/structure/table/standard,/obj/item/folder,/obj/item/camera,/obj/item/pen,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/outpost/research/anomaly) "sL" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{ icon_state = "map"; dir = 1},/turf/simulated/floor/tiled,/area/outpost/research/anomaly) "sM" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/outpost/research/anomaly) "sN" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/industrial/warning,/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/outpost/research/anomaly) @@ -987,7 +987,7 @@ "sY" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/outpost/research/eva) "sZ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/outpost/research/analysis) "ta" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/outpost/research/analysis) -"tb" = (/obj/item/weapon/reagent_containers/glass/bucket,/obj/structure/table/standard,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/tiled/dark,/area/outpost/research/analysis) +"tb" = (/obj/item/reagent_containers/glass/bucket,/obj/structure/table/standard,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/tiled/dark,/area/outpost/research/analysis) "tc" = (/obj/effect/floor_decal/corner/lime{dir = 9},/turf/simulated/floor/tiled/white,/area/outpost/research/analysis) "td" = (/turf/simulated/floor/tiled/white,/area/outpost/research/analysis) "te" = (/obj/effect/floor_decal/corner/lime{dir = 6},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/white,/area/outpost/research/analysis) @@ -1003,7 +1003,7 @@ "to" = (/obj/machinery/atmospherics/binary/pump{dir = 8},/turf/simulated/floor/tiled,/area/outpost/research/anomaly) "tp" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/outpost/research/anomaly) "tq" = (/obj/machinery/conveyor{dir = 2; id = "anolongstorage2"},/turf/simulated/floor,/area/outpost/research/anomaly) -"tr" = (/obj/effect/floor_decal/corner/purple{dir = 9},/obj/effect/floor_decal/industrial/warning/corner,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/outpost/research/eva) +"tr" = (/obj/effect/floor_decal/corner/purple{dir = 9},/obj/effect/floor_decal/industrial/warning/corner,/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/outpost/research/eva) "ts" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/outpost/research/eva) "tt" = (/obj/effect/floor_decal/corner/purple{dir = 6},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Expedition Prep Access"; dir = 8},/turf/simulated/floor/tiled,/area/outpost/research/eva) "tu" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/outpost/research/eva) @@ -1087,14 +1087,14 @@ "uU" = (/turf/simulated/wall/r_wall,/area/outpost/research/power) "uV" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/grille,/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/outpost/research/power) "uW" = (/obj/machinery/light/small{dir = 8},/turf/simulated/mineral/floor/ignore_mapgen,/area/mine/explored) -"uX" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp,/turf/simulated/floor/tiled/dark,/area/outpost/research/isolation_a) +"uX" = (/obj/structure/table/standard,/obj/item/flashlight/lamp,/turf/simulated/floor/tiled/dark,/area/outpost/research/isolation_a) "uY" = (/obj/machinery/artifact_scanpad,/turf/simulated/floor/tiled/dark,/area/outpost/research/isolation_a) "uZ" = (/obj/machinery/artifact_analyser,/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled/dark,/area/outpost/research/isolation_a) -"va" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp,/turf/simulated/floor/tiled/dark,/area/outpost/research/isolation_b) +"va" = (/obj/structure/table/standard,/obj/item/flashlight/lamp,/turf/simulated/floor/tiled/dark,/area/outpost/research/isolation_b) "vb" = (/obj/machinery/artifact_scanpad,/turf/simulated/floor/tiled/dark,/area/outpost/research/isolation_b) "vc" = (/obj/machinery/artifact_analyser,/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled/dark,/area/outpost/research/isolation_b) "vd" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor/tiled/dark,/area/outpost/research/isolation_c) -"ve" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp,/turf/simulated/floor/tiled/dark,/area/outpost/research/isolation_c) +"ve" = (/obj/structure/table/standard,/obj/item/flashlight/lamp,/turf/simulated/floor/tiled/dark,/area/outpost/research/isolation_c) "vf" = (/obj/structure/bed,/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled/dark,/area/outpost/research/isolation_c) "vg" = (/obj/machinery/atmospherics/pipe/simple/visible/supply,/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless{icon_state = "asteroidplating2"},/area/mine/explored) "vh" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/airless{icon_state = "asteroidplating2"},/area/mine/explored) @@ -1148,12 +1148,12 @@ "wd" = (/turf/simulated/floor/tiled,/area/outpost/mining_main/north_hall) "we" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "mining_outpost_pump"},/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled/steel,/area/outpost/mining_main/north_hall) "wf" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/outpost/mining_main/north_hall) -"wg" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer{pixel_x = 2; pixel_y = 3},/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer{pixel_x = 5},/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer,/turf/simulated/floor/tiled/dark,/area/outpost/mining_main/break_room) +"wg" = (/obj/structure/table/standard,/obj/item/reagent_containers/food/drinks/bottle/small/beer{pixel_x = 2; pixel_y = 3},/obj/item/reagent_containers/food/drinks/bottle/small/beer{pixel_x = 5},/obj/item/reagent_containers/food/drinks/bottle/small/beer,/turf/simulated/floor/tiled/dark,/area/outpost/mining_main/break_room) "wh" = (/obj/structure/bed/chair{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/outpost/mining_main/break_room) "wi" = (/obj/structure/table/standard,/turf/simulated/floor/wood,/area/outpost/mining_main/break_room) "wj" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/wood,/area/outpost/mining_main/break_room) "wk" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/wood,/area/outpost/mining_main/break_room) -"wl" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/firstaid/toxin,/obj/effect/floor_decal/corner/paleblue/full{dir = 8},/turf/simulated/floor/tiled/white,/area/outpost/mining_main/medbay) +"wl" = (/obj/structure/table/standard,/obj/item/storage/firstaid/regular,/obj/item/storage/firstaid/toxin,/obj/effect/floor_decal/corner/paleblue/full{dir = 8},/turf/simulated/floor/tiled/white,/area/outpost/mining_main/medbay) "wm" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled/white,/area/outpost/mining_main/medbay) "wn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/outpost/mining_main/medbay) "wo" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled/white,/area/outpost/mining_main/medbay) @@ -1167,7 +1167,7 @@ "ww" = (/obj/structure/flora/pottedplant{icon_state = "plant-06"; pixel_y = 8},/turf/simulated/floor/tiled/dark,/area/outpost/mining_main/break_room) "wx" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/wood,/area/outpost/mining_main/break_room) "wy" = (/obj/structure/bed/chair{dir = 4},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/outpost/mining_main/break_room) -"wz" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/wood,/area/outpost/mining_main/break_room) +"wz" = (/obj/structure/table/standard,/obj/item/reagent_containers/food/drinks/bottle/small/beer,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/wood,/area/outpost/mining_main/break_room) "wA" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/outpost/mining_main/break_room) "wB" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/wood,/area/outpost/mining_main/break_room) "wC" = (/obj/structure/table/standard,/obj/machinery/microwave{pixel_y = 6},/turf/simulated/floor/tiled/dark,/area/outpost/mining_main/break_room) @@ -1178,19 +1178,19 @@ "wH" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning/dust{ icon_state = "warning_dust"; dir = 1},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/mine/explored) "wI" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning/dust{ icon_state = "warning_dust"; dir = 1},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/mine/explored) "wJ" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/effect/floor_decal/industrial/warning/dust{ icon_state = "warning_dust"; dir = 1},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/mine/explored) -"wK" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/o2{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/firstaid/fire,/obj/effect/floor_decal/corner/paleblue/full,/turf/simulated/floor/tiled/white,/area/outpost/mining_main/medbay) +"wK" = (/obj/structure/table/standard,/obj/item/storage/firstaid/o2{pixel_x = 2; pixel_y = 2},/obj/item/storage/firstaid/fire,/obj/effect/floor_decal/corner/paleblue/full,/turf/simulated/floor/tiled/white,/area/outpost/mining_main/medbay) "wL" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled/white,/area/outpost/mining_main/medbay) "wM" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/outpost/mining_main/medbay) "wN" = (/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/outpost/mining_main/medbay) "wO" = (/obj/machinery/camera/network/mining{c_tag = "OPM - Mining Medical"; dir = 1},/turf/simulated/floor/tiled/white,/area/outpost/mining_main/medbay) -"wP" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/machinery/computer/crew,/turf/simulated/floor/tiled/white,/area/outpost/mining_main/medbay) +"wP" = (/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/machinery/computer/crew,/turf/simulated/floor/tiled/white,/area/outpost/mining_main/medbay) "wQ" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled,/area/outpost/mining_main/north_hall) "wR" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "mining_outpost_airlock"; name = "interior access button"; pixel_x = -30; pixel_y = 25; req_one_access = list(13,48)},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/outpost/mining_main/north_hall) "wS" = (/obj/machinery/computer/shuttle_control/mining,/obj/machinery/camera/network/mining{c_tag = "OPM - Mining Elevator Airlock"; dir = 8},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled,/area/outpost/mining_main/north_hall) -"wT" = (/obj/machinery/newscaster{pixel_x = 0; pixel_y = -30},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/wood,/area/outpost/mining_main/break_room) +"wT" = (/obj/machinery/newscaster{pixel_x = 0; pixel_y = -30},/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/wood,/area/outpost/mining_main/break_room) "wU" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/outpost/mining_main/break_room) "wV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/outpost/mining_main/break_room) -"wW" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/tiled/dark,/area/outpost/mining_main/break_room) +"wW" = (/obj/structure/table/standard,/obj/item/storage/box/donkpockets,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/tiled/dark,/area/outpost/mining_main/break_room) "wX" = (/obj/effect/floor_decal/industrial/warning/dust{ icon_state = "warning_dust"; dir = 8},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/mine/explored) "wY" = (/turf/simulated/wall,/area/outpost/engineering/mining/hallway) "wZ" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/grille,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/outpost/engineering/mining/hallway) @@ -1264,7 +1264,7 @@ "yp" = (/obj/machinery/atmospherics/pipe/tank/carbon_dioxide,/turf/simulated/floor/plating,/area/outpost/engineering/mining/atmospherics) "yq" = (/obj/machinery/atmospherics/pipe/tank/air,/turf/simulated/floor/plating,/area/outpost/engineering/mining/atmospherics) "yr" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/outpost/mining_main/north_hall) -"ys" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/oxygen,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/extinguisher,/turf/simulated/floor/plating,/area/outpost/mining_main/north_hall) +"ys" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/tank/oxygen,/obj/item/tank/oxygen,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/flashlight,/obj/item/flashlight,/obj/item/storage/box/lights/mixed,/obj/item/extinguisher,/turf/simulated/floor/plating,/area/outpost/mining_main/north_hall) "yt" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/effect/floor_decal/corner/brown,/turf/simulated/floor/tiled,/area/outpost/mining_main/north_hall) "yu" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/light,/obj/effect/floor_decal/corner/brown{dir = 10},/turf/simulated/floor/tiled,/area/outpost/mining_main/north_hall) "yv" = (/obj/machinery/portable_atmospherics/canister/air,/obj/effect/floor_decal/corner/brown{dir = 10},/turf/simulated/floor/tiled,/area/outpost/mining_main/north_hall) @@ -1298,7 +1298,7 @@ "yX" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{ icon_state = "map"; dir = 4},/turf/simulated/floor/plating,/area/outpost/engineering/mining/atmospherics) "yY" = (/turf/simulated/wall/r_wall,/area/outpost/mining_main/dorms) "yZ" = (/turf/simulated/wall,/area/outpost/mining_main/dorms) -"za" = (/obj/effect/floor_decal/corner/brown/full,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/outpost/mining_main/north_hall) +"za" = (/obj/effect/floor_decal/corner/brown/full,/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/outpost/mining_main/north_hall) "zb" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/outpost/mining_main/north_hall) "zc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/landmark{name = "bluespacerift"},/turf/simulated/floor/tiled,/area/outpost/mining_main/north_hall) "zd" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/outpost/mining_main/north_hall) @@ -1325,8 +1325,8 @@ "zy" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 1},/turf/simulated/floor/plating,/area/outpost/engineering/mining/atmospherics) "zz" = (/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/freezer,/area/outpost/mining_main/dorms) "zA" = (/obj/structure/mirror{pixel_x = 30; pixel_y = -2},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/freezer,/area/outpost/mining_main/dorms) -"zB" = (/obj/item/weapon/bedsheet/brown,/obj/structure/bed/padded,/turf/simulated/floor/carpet,/area/outpost/mining_main/dorms) -"zC" = (/obj/structure/table/standard,/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/carpet,/area/outpost/mining_main/dorms) +"zB" = (/obj/item/bedsheet/brown,/obj/structure/bed/padded,/turf/simulated/floor/carpet,/area/outpost/mining_main/dorms) +"zC" = (/obj/structure/table/standard,/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/carpet,/area/outpost/mining_main/dorms) "zD" = (/obj/structure/undies_wardrobe,/turf/simulated/floor/tiled,/area/outpost/mining_main/dorms) "zE" = (/obj/machinery/door/airlock/glass_mining{name = "Mining Outpost Airlock"; req_access = list(48)},/obj/machinery/door/firedoor/glass,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/outpost/mining_main/north_hall) "zF" = (/obj/machinery/door/airlock/glass_mining{name = "Mining Outpost Airlock"; req_access = list(48)},/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/outpost/mining_main/north_hall) @@ -1349,22 +1349,22 @@ "zW" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/machinery/camera/network/engineering_outpost{c_tag = "ENG - Outpost Mining Main"; dir = 8},/obj/machinery/status_display{layer = 4; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/tiled,/area/outpost/engineering/mining/hallway) "zX" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/extinguisher_cabinet{pixel_x = 7; pixel_y = -32},/turf/simulated/floor/plating,/area/outpost/engineering/mining/atmospherics) "zY" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/plating,/area/outpost/engineering/mining/atmospherics) -"zZ" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/plating,/area/outpost/engineering/mining/atmospherics) +"zZ" = (/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/plating,/area/outpost/engineering/mining/atmospherics) "Aa" = (/obj/machinery/portable_atmospherics/canister/air,/obj/machinery/light/small,/turf/simulated/floor/plating,/area/outpost/engineering/mining/atmospherics) "Ab" = (/obj/machinery/portable_atmospherics/canister/air,/obj/machinery/camera/network/engineering_outpost{c_tag = "ENG - Outpost Mining Atmospherics"; dir = 1},/turf/simulated/floor/plating,/area/outpost/engineering/mining/atmospherics) "Ac" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/outpost/engineering/mining/atmospherics) "Ad" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 1; start_pressure = 740},/turf/simulated/floor/plating,/area/outpost/engineering/mining/atmospherics) "Ae" = (/obj/structure/toilet{dir = 4},/obj/machinery/light/small,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/freezer,/area/outpost/mining_main/dorms) -"Af" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled/freezer,/area/outpost/mining_main/dorms) +"Af" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled/freezer,/area/outpost/mining_main/dorms) "Ag" = (/obj/machinery/light/small,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/carpet,/area/outpost/mining_main/dorms) "Ah" = (/obj/machinery/button/remote/airlock{id = "miningdorm2"; name = "Door Bolt Control"; pixel_x = 25; pixel_y = 0; specialfunctions = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/carpet,/area/outpost/mining_main/dorms) "Ai" = (/turf/simulated/floor/tiled,/area/outpost/mining_main/dorms) -"Aj" = (/obj/structure/table/steel,/obj/item/weapon/cell/high,/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/tiled,/area/outpost/mining_main/dorms) +"Aj" = (/obj/structure/table/steel,/obj/item/cell/high,/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/tiled,/area/outpost/mining_main/dorms) "Ak" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/outpost/mining_main/dorms) "Al" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/outpost/mining_main/dorms) "Am" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/outpost/mining_main/dorms) -"An" = (/obj/structure/disposalpipe/segment,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled,/area/outpost/mining_main/dorms) -"Ao" = (/obj/machinery/alarm{pixel_y = 24},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/dark,/area/outpost/mining_main/refinery) +"An" = (/obj/structure/disposalpipe/segment,/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled,/area/outpost/mining_main/dorms) +"Ao" = (/obj/machinery/alarm{pixel_y = 24},/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/dark,/area/outpost/mining_main/refinery) "Ap" = (/turf/simulated/floor/tiled/dark,/area/outpost/mining_main/refinery) "Aq" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/outpost/mining_main/refinery) "Ar" = (/obj/machinery/conveyor{dir = 2; id = "mining_internal"},/turf/simulated/floor/tiled/dark,/area/outpost/mining_main/refinery) @@ -1398,7 +1398,7 @@ "AT" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/outpost/engineering/mining/hallway) "AU" = (/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/outpost/engineering/mining/hallway) "AV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/dispenser/oxygen,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/outpost/engineering/mining/hallway) -"AW" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled,/area/outpost/engineering/mining/hallway) +"AW" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled,/area/outpost/engineering/mining/hallway) "AX" = (/turf/simulated/wall,/area/outpost/engineering/mining/power) "AY" = (/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/outpost/engineering/mining/power) "AZ" = (/obj/machinery/power/smes/buildable/outpost_substation{charge = 500000; input_attempt = 1; input_level = 150000; output_level = 150000; RCon_tag = "Outpost - Mining Engineering"},/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/outpost/engineering/mining/power) @@ -1422,7 +1422,7 @@ "Br" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/grille,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/outpost/mining_main/refinery) "Bs" = (/obj/machinery/mineral/input,/turf/simulated/floor/tiled/dark,/area/outpost/mining_main/refinery) "Bt" = (/turf/simulated/floor/tiled/asteroid_steel/airless,/area/outpost/mining_main/refinery) -"Bu" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/dark,/area/outpost/engineering/mining/telecomms) +"Bu" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/dark,/area/outpost/engineering/mining/telecomms) "Bv" = (/obj/machinery/alarm{dir = 1; pixel_y = -25},/obj/machinery/firealarm{dir = 4; layer = 3.3; pixel_x = 26},/turf/simulated/floor/tiled/dark,/area/outpost/engineering/mining/telecomms) "Bw" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/engineering{name = "Generator Room"; req_one_access = list(10,48,65)},/turf/simulated/floor/plating,/area/outpost/engineering/mining/power) "Bx" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/grille,/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/outpost/engineering/mining/power) @@ -1433,7 +1433,7 @@ "BC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light,/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/tiled,/area/outpost/mining_main/dorms) "BD" = (/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -30},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/outpost/mining_main/dorms) "BE" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor/tiled,/area/outpost/mining_main/dorms) -"BF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/outpost/mining_main/dorms) +"BF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/outpost/mining_main/dorms) "BG" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/outpost/mining_main/dorms) "BH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/outpost/mining_main/dorms) "BI" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/outpost/mining_main/dorms) @@ -1450,7 +1450,7 @@ "BT" = (/obj/machinery/mining/brace,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/outpost/mining_main/refinery) "BU" = (/obj/machinery/mining/drill,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/outpost/mining_main/refinery) "BV" = (/obj/effect/floor_decal/industrial/warning/dust{ icon_state = "warning_dust"; dir = 4},/obj/machinery/mining/brace,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/outpost/mining_main/refinery) -"BW" = (/obj/machinery/cell_charger,/obj/structure/table/steel,/obj/machinery/camera/network/engineering_outpost{c_tag = "ENG - Outpost Mining Power Port"; dir = 2},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/plating,/area/outpost/engineering/mining/power) +"BW" = (/obj/machinery/cell_charger,/obj/structure/table/steel,/obj/machinery/camera/network/engineering_outpost{c_tag = "ENG - Outpost Mining Power Port"; dir = 2},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/plating,/area/outpost/engineering/mining/power) "BX" = (/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/plating,/area/outpost/engineering/mining/power) "BY" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/plating,/area/outpost/engineering/mining/power) "BZ" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/plating,/area/outpost/engineering/mining/power) @@ -1470,7 +1470,7 @@ "Cn" = (/obj/structure/closet/crate,/turf/simulated/floor/tiled,/area/outpost/mining_main/refinery) "Co" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/tiled,/area/outpost/mining_main/refinery) "Cp" = (/obj/machinery/conveyor{dir = 2; id = "mining_internal"},/obj/machinery/mineral/output,/turf/simulated/floor/tiled/dark,/area/outpost/mining_main/refinery) -"Cq" = (/obj/structure/table/steel,/obj/item/weapon/tool/screwdriver,/obj/item/weapon/tool/crowbar,/obj/item/weapon/tool/wrench,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/outpost/mining_main/refinery) +"Cq" = (/obj/structure/table/steel,/obj/item/tool/screwdriver,/obj/item/tool/crowbar,/obj/item/tool/wrench,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/outpost/mining_main/refinery) "Cr" = (/obj/structure/closet/crate,/obj/item/stack/material/phoron{amount = 50},/obj/item/stack/material/phoron{amount = 50},/obj/item/stack/material/phoron{amount = 50},/turf/simulated/floor/plating,/area/outpost/engineering/mining/power) "Cs" = (/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/structure/cable/yellow,/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/machinery/power/sensor{long_range = 1; name_tag = "Asteroid Main Grid"},/turf/simulated/floor/plating,/area/outpost/engineering/mining/power) "Ct" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/outpost/engineering/mining/power) @@ -1485,13 +1485,13 @@ "CC" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/outpost/mining_main/refinery) "CD" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/outpost/mining_main/refinery) "CE" = (/obj/machinery/mineral/stacking_unit_console,/turf/simulated/wall/r_wall,/area/outpost/mining_main/refinery) -"CF" = (/obj/structure/table/steel,/obj/item/weapon/cell/high,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/outpost/mining_main/refinery) -"CG" = (/obj/structure/table/steel,/obj/item/weapon/storage/toolbox/mechanical,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/outpost/engineering/mining/power) +"CF" = (/obj/structure/table/steel,/obj/item/cell/high,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/outpost/mining_main/refinery) +"CG" = (/obj/structure/table/steel,/obj/item/storage/toolbox/mechanical,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/outpost/engineering/mining/power) "CH" = (/obj/machinery/power/smes/buildable{charge = 1.5e+007; cur_coils = 3; input_attempt = 1; input_level = 750000; input_level_max = 750000; output_level = 750000; output_level_max = 750000; RCon_tag = "Outpost - Main Power Unit 1"},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/outpost/engineering/mining/power) "CI" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/outpost/engineering/mining/power) "CJ" = (/obj/machinery/power/smes/buildable{charge = 1.5e+007; cur_coils = 3; input_attempt = 1; input_level = 750000; input_level_max = 750000; output_level = 750000; output_level_max = 750000; RCon_tag = "Outpost - Main Power Unit 2"},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/outpost/engineering/mining/power) "CK" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/outpost/engineering/mining/power) -"CL" = (/obj/structure/table/standard,/obj/machinery/alarm{dir = 1; pixel_y = -25},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/carpet,/area/outpost/mining_main/dorms) +"CL" = (/obj/structure/table/standard,/obj/machinery/alarm{dir = 1; pixel_y = -25},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/carpet,/area/outpost/mining_main/dorms) "CM" = (/obj/machinery/washing_machine,/turf/simulated/floor/tiled/dark,/area/outpost/mining_main/dorms) "CN" = (/obj/machinery/firealarm{dir = 8; pixel_x = -26},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/outpost/mining_main/dorms) "CO" = (/obj/structure/disposalpipe/segment,/obj/machinery/status_display{layer = 4; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/tiled,/area/outpost/mining_main/dorms) @@ -1522,14 +1522,14 @@ "Dn" = (/obj/machinery/door/airlock/glass_mining{name = "Mining Outpost Airlock"; req_access = list(48)},/obj/machinery/door/firedoor/glass,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/outpost/mining_main/south_hall) "Do" = (/obj/machinery/door/airlock/glass_mining{name = "Mining Outpost Airlock"; req_access = list(48)},/obj/machinery/door/firedoor/glass,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/outpost/mining_main/south_hall) "Dp" = (/obj/machinery/door/airlock/glass_mining{name = "Mining Outpost Airlock"; req_access = list(48)},/obj/machinery/door/firedoor/glass,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/outpost/mining_main/south_hall) -"Dq" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/void/mining,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/mining,/obj/item/weapon/mining_scanner,/turf/simulated/floor/tiled,/area/outpost/mining_main/eva) -"Dr" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/void/mining,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/mining,/obj/item/weapon/mining_scanner,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/outpost/mining_main/eva) +"Dq" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/void/mining,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/mining,/obj/item/mining_scanner,/turf/simulated/floor/tiled,/area/outpost/mining_main/eva) +"Dr" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/void/mining,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/mining,/obj/item/mining_scanner,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/outpost/mining_main/eva) "Ds" = (/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/machinery/atmospherics/portables_connector,/turf/simulated/floor/tiled,/area/outpost/mining_main/eva) "Dt" = (/obj/structure/grille,/obj/machinery/door/firedoor,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/outpost/mining_main/eva) "Du" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1377; id_tag = "mvent"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1377; id_tag = "mcontrol"; pixel_x = 0; pixel_y = 28; tag_airpump = "mvent"; tag_chamber_sensor = "msensor"; tag_exterior_door = "mext"; tag_interior_door = "mint"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled,/area/outpost/mining_main/eva) "Dv" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1377; id_tag = "mvent"},/obj/machinery/airlock_sensor{frequency = 1377; id_tag = "msensor"; pixel_x = 0; pixel_y = 26},/turf/simulated/floor/tiled,/area/outpost/mining_main/eva) "Dw" = (/turf/simulated/floor/tiled/dark,/area/outpost/mining_main/storage) -"Dx" = (/obj/structure/table/rack,/obj/item/clothing/mask/breath,/obj/item/weapon/mining_scanner,/obj/machinery/alarm{pixel_y = 22},/obj/item/weapon/rig/industrial/equipped,/turf/simulated/floor/tiled/dark,/area/outpost/mining_main/storage) +"Dx" = (/obj/structure/table/rack,/obj/item/clothing/mask/breath,/obj/item/mining_scanner,/obj/machinery/alarm{pixel_y = 22},/obj/item/rig/industrial/equipped,/turf/simulated/floor/tiled/dark,/area/outpost/mining_main/storage) "Dy" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/outpost/mining_main/storage) "Dz" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/outpost/mining_main/south_hall) "DA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/outpost/mining_main/south_hall) @@ -1561,8 +1561,8 @@ "Ea" = (/turf/simulated/floor/tiled,/area/outpost/mining_main/eva) "Eb" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1377; id_tag = "mvent"},/turf/simulated/floor/tiled,/area/outpost/mining_main/eva) "Ec" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1377; id_tag = "mvent"},/obj/machinery/camera/network/mining{c_tag = "OPM - Mining Airlock"; dir = 8},/turf/simulated/floor/tiled,/area/outpost/mining_main/eva) -"Ed" = (/obj/structure/table/steel,/obj/item/device/suit_cooling_unit,/obj/item/device/suit_cooling_unit,/turf/simulated/floor/tiled/dark,/area/outpost/mining_main/storage) -"Ee" = (/obj/structure/table/steel,/obj/item/weapon/pickaxe,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/dark,/area/outpost/mining_main/storage) +"Ed" = (/obj/structure/table/steel,/obj/item/suit_cooling_unit,/obj/item/suit_cooling_unit,/turf/simulated/floor/tiled/dark,/area/outpost/mining_main/storage) +"Ee" = (/obj/structure/table/steel,/obj/item/pickaxe,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/dark,/area/outpost/mining_main/storage) "Ef" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark,/area/outpost/mining_main/storage) "Eg" = (/obj/machinery/door/airlock/mining{name = "Mining Station Storage"; req_access = list(48)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark,/area/outpost/mining_main/storage) "Eh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/outpost/mining_main/south_hall) @@ -1575,7 +1575,7 @@ "Eo" = (/obj/machinery/suit_cycler/mining,/turf/simulated/floor/tiled,/area/outpost/mining_main/eva) "Ep" = (/obj/structure/grille,/obj/machinery/door/firedoor,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/outpost/mining_main/eva) "Eq" = (/obj/structure/grille,/obj/machinery/door/firedoor,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/outpost/mining_main/eva) -"Er" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/dark,/area/outpost/mining_main/storage) +"Er" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/dark,/area/outpost/mining_main/storage) "Es" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/dark,/area/outpost/mining_main/storage) "Et" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/dark,/area/outpost/mining_main/storage) "Eu" = (/obj/machinery/door/airlock/mining{name = "Mining Station Storage"; req_access = list(48)},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/dark,/area/outpost/mining_main/storage) @@ -1585,21 +1585,21 @@ "Ey" = (/obj/machinery/door/airlock/glass_mining{name = "Mining Station EVA"; req_access = list(54)},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/outpost/mining_main/eva) "Ez" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/outpost/mining_main/eva) "EA" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/outpost/mining_main/eva) -"EB" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/outpost/mining_main/eva) -"EC" = (/obj/structure/table/rack,/obj/item/weapon/pickaxe,/obj/item/weapon/tool/wrench,/obj/item/weapon/tool/crowbar,/obj/item/weapon/shovel,/obj/machinery/light,/turf/simulated/floor/tiled/dark,/area/outpost/mining_main/storage) -"ED" = (/obj/structure/table/rack,/obj/item/weapon/pickaxe,/obj/item/weapon/tool/wrench,/obj/item/weapon/tool/crowbar,/obj/item/weapon/shovel,/turf/simulated/floor/tiled/dark,/area/outpost/mining_main/storage) +"EB" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/outpost/mining_main/eva) +"EC" = (/obj/structure/table/rack,/obj/item/pickaxe,/obj/item/tool/wrench,/obj/item/tool/crowbar,/obj/item/shovel,/obj/machinery/light,/turf/simulated/floor/tiled/dark,/area/outpost/mining_main/storage) +"ED" = (/obj/structure/table/rack,/obj/item/pickaxe,/obj/item/tool/wrench,/obj/item/tool/crowbar,/obj/item/shovel,/turf/simulated/floor/tiled/dark,/area/outpost/mining_main/storage) "EE" = (/turf/simulated/wall,/area/outpost/mining_main/storage) -"EF" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/camera/network/mining{c_tag = "OPM - Mining Hallway Aft"; dir = 4},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/outpost/mining_main/south_hall) +"EF" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/camera/network/mining{c_tag = "OPM - Mining Hallway Aft"; dir = 4},/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/outpost/mining_main/south_hall) "EG" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled,/area/outpost/mining_main/south_hall) "EH" = (/obj/structure/disposalpipe/segment,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/blue,/turf/simulated/floor/tiled,/area/outpost/mining_main/south_hall) -"EI" = (/obj/item/weapon/tool/crowbar,/obj/item/weapon/tool/wrench,/obj/item/weapon/storage/toolbox/mechanical,/obj/structure/table/steel,/obj/machinery/light,/turf/simulated/floor/tiled,/area/outpost/mining_main/eva) +"EI" = (/obj/item/tool/crowbar,/obj/item/tool/wrench,/obj/item/storage/toolbox/mechanical,/obj/structure/table/steel,/obj/machinery/light,/turf/simulated/floor/tiled,/area/outpost/mining_main/eva) "EJ" = (/obj/item/stack/flag/green{pixel_x = -4; pixel_y = 0},/obj/item/stack/flag/red,/obj/item/stack/flag/yellow{pixel_x = 4},/obj/structure/table/steel,/turf/simulated/floor/tiled,/area/outpost/mining_main/eva) "EK" = (/obj/structure/reagent_dispensers/fueltank,/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/tiled/dark,/area/outpost/mining_main/storage) "EL" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/tiled/dark,/area/outpost/mining_main/storage) "EM" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -20},/turf/simulated/floor/tiled,/area/outpost/mining_main/south_hall) "EN" = (/turf/simulated/floor/tiled,/area/outpost/mining_main/south_hall) -"EO" = (/obj/item/weapon/storage/backpack/satchel,/obj/structure/table/steel,/turf/simulated/floor/tiled,/area/outpost/mining_main/eva) -"EP" = (/obj/item/weapon/storage/belt/utility,/obj/item/weapon/pickaxe,/obj/structure/table/steel,/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/tiled,/area/outpost/mining_main/eva) +"EO" = (/obj/item/storage/backpack/satchel,/obj/structure/table/steel,/turf/simulated/floor/tiled,/area/outpost/mining_main/eva) +"EP" = (/obj/item/storage/belt/utility,/obj/item/pickaxe,/obj/structure/table/steel,/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/tiled,/area/outpost/mining_main/eva) "EQ" = (/turf/simulated/floor,/area/outpost/mining_main/south_hall) "ER" = (/obj/machinery/mech_recharger,/obj/machinery/light,/turf/simulated/floor/plating,/area/outpost/mining_main/south_hall) "ES" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/outpost/mining_main/south_hall) @@ -1607,9 +1607,9 @@ "EU" = (/turf/simulated/wall,/area/outpost/mining_main/south_hall) "EV" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall/r_wall,/area/outpost/mining_main/south_hall) "EW" = (/obj/structure/disposaloutlet,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/airless{icon_state = "asteroidplating2"},/area/mine/explored) -"EX" = (/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris,/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris,/turf/simulated/floor/airless{icon_state = "asteroidplating2"},/area/mine/explored) +"EX" = (/obj/item/reagent_containers/food/snacks/grown/ambrosiavulgaris,/obj/item/reagent_containers/food/snacks/grown/ambrosiavulgaris,/turf/simulated/floor/airless{icon_state = "asteroidplating2"},/area/mine/explored) "EY" = (/obj/machinery/light/small{dir = 4},/turf/simulated/mineral/floor/ignore_mapgen,/area/mine/explored) -"EZ" = (/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/libertycap,/turf/simulated/floor/airless{icon_state = "asteroidplating2"},/area/mine/explored) +"EZ" = (/obj/item/reagent_containers/food/snacks/grown/mushroom/libertycap,/turf/simulated/floor/airless{icon_state = "asteroidplating2"},/area/mine/explored) "Fa" = (/turf/simulated/wall,/area/mine/unexplored) "Fb" = (/turf/space,/area/skipjack_station/mining) "Fc" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/airless{icon_state = "asteroidplating2"},/area/mine/explored) @@ -1626,8 +1626,8 @@ "Fn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/outpost/engineering/hallway) "Fo" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/outpost/engineering/hallway) "Fp" = (/turf/simulated/wall/r_wall,/area/outpost/engineering/storage) -"Fq" = (/obj/machinery/cell_charger,/obj/structure/table/steel,/obj/structure/cable,/obj/item/frame/apc,/obj/item/weapon/module/power_control,/turf/simulated/floor/airless{icon_state = "asteroidplating2"},/area/mine/explored) -"Fr" = (/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/structure/table/steel,/turf/simulated/floor/airless{icon_state = "asteroidplating2"},/area/mine/explored) +"Fq" = (/obj/machinery/cell_charger,/obj/structure/table/steel,/obj/structure/cable,/obj/item/frame/apc,/obj/item/module/power_control,/turf/simulated/floor/airless{icon_state = "asteroidplating2"},/area/mine/explored) +"Fr" = (/obj/item/cell/high{charge = 100; maxcharge = 15000},/obj/structure/table/steel,/turf/simulated/floor/airless{icon_state = "asteroidplating2"},/area/mine/explored) "Fs" = (/turf/simulated/wall/r_wall,/area/outpost/engineering/kitchen) "Ft" = (/obj/structure/table/steel,/obj/effect/floor_decal/industrial/warning/dust,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/mine/explored) "Fu" = (/obj/effect/floor_decal/industrial/warning/dust,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/outpost/engineering/kitchen) @@ -1685,10 +1685,10 @@ "Gu" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/outpost/engineering/hallway) "Gv" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/outpost/engineering/hallway) "Gw" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/outpost/engineering/hallway) -"Gx" = (/obj/structure/table/rack,/obj/item/weapon/pickaxe,/obj/item/weapon/pickaxe,/obj/item/weapon/pickaxe,/obj/item/weapon/pickaxe,/turf/simulated/floor/tiled,/area/outpost/engineering/storage) +"Gx" = (/obj/structure/table/rack,/obj/item/pickaxe,/obj/item/pickaxe,/obj/item/pickaxe,/obj/item/pickaxe,/turf/simulated/floor/tiled,/area/outpost/engineering/storage) "Gy" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled,/area/outpost/engineering/storage) -"Gz" = (/obj/structure/table/rack,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/item/stack/cable_coil/yellow,/obj/item/stack/cable_coil,/obj/item/weapon/module/power_control,/obj/item/weapon/module/power_control,/obj/item/clothing/gloves/yellow,/turf/simulated/floor/tiled,/area/outpost/engineering/storage) -"GA" = (/obj/structure/table/rack,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/item/stack/cable_coil/yellow,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/tiled,/area/outpost/engineering/storage) +"Gz" = (/obj/structure/table/rack,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/item/stack/cable_coil/yellow,/obj/item/stack/cable_coil,/obj/item/module/power_control,/obj/item/module/power_control,/obj/item/clothing/gloves/yellow,/turf/simulated/floor/tiled,/area/outpost/engineering/storage) +"GA" = (/obj/structure/table/rack,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/item/stack/cable_coil/yellow,/obj/item/storage/box/lights/mixed,/turf/simulated/floor/tiled,/area/outpost/engineering/storage) "GB" = (/obj/structure/dispenser/oxygen,/turf/simulated/floor/tiled,/area/outpost/engineering/storage) "GC" = (/obj/effect/floor_decal/industrial/warning/dust{ icon_state = "warning_dust"; dir = 4},/obj/machinery/light/small,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/outpost/engineering/kitchen) "GD" = (/obj/effect/floor_decal/industrial/warning/dust{ icon_state = "warning_dust"; dir = 8},/obj/machinery/light/small,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/outpost/engineering/kitchen) @@ -1701,7 +1701,7 @@ "GK" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/outpost/engineering/hallway) "GL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/outpost/engineering/hallway) "GM" = (/obj/item/stack/material/plasteel{amount = 10},/obj/item/stack/material/wood{amount = 30},/obj/item/stack/material/plastic{amount = 10},/obj/structure/table/steel,/obj/machinery/light,/turf/simulated/floor/tiled,/area/outpost/engineering/storage) -"GN" = (/obj/structure/table/rack,/obj/item/clothing/head/helmet/space/void/engineering,/obj/item/clothing/suit/space/void/engineering,/obj/item/clothing/shoes/magboots,/obj/machinery/firealarm{dir = 4; layer = 3.3; pixel_x = 26},/obj/item/weapon/storage/briefcase/inflatable,/turf/simulated/floor/tiled,/area/outpost/engineering/storage) +"GN" = (/obj/structure/table/rack,/obj/item/clothing/head/helmet/space/void/engineering,/obj/item/clothing/suit/space/void/engineering,/obj/item/clothing/shoes/magboots,/obj/machinery/firealarm{dir = 4; layer = 3.3; pixel_x = 26},/obj/item/storage/briefcase/inflatable,/turf/simulated/floor/tiled,/area/outpost/engineering/storage) "GO" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor,/area/outpost/engineering/atmospherics) "GP" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plating,/area/outpost/engineering/atmospherics) "GQ" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/outpost/engineering/hallway) @@ -1776,7 +1776,7 @@ "Ih" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/outpost/engineering/hallway) "Ii" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/outpost/engineering/hallway) "Ij" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/outpost/engineering/hallway) -"Ik" = (/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_x = 0; pixel_y = -28},/turf/simulated/floor/tiled,/area/outpost/engineering/hallway) +"Ik" = (/obj/item/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_x = 0; pixel_y = -28},/turf/simulated/floor/tiled,/area/outpost/engineering/hallway) "Il" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/camera/network/engineering_outpost{c_tag = "ENG - Outpost Hallway East"; dir = 1},/turf/simulated/floor/tiled,/area/outpost/engineering/hallway) "Im" = (/turf/simulated/floor/tiled,/area/outpost/engineering/solars) "In" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/light,/turf/simulated/floor/tiled,/area/outpost/engineering/solars) @@ -1801,7 +1801,7 @@ "IG" = (/obj/machinery/computer/station_alert,/turf/simulated/floor/tiled,/area/outpost/engineering/rest) "IH" = (/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/machinery/alarm{frequency = 1439; pixel_y = 22},/turf/simulated/floor/tiled,/area/outpost/engineering/rest) "II" = (/turf/simulated/floor/tiled,/area/outpost/engineering/rest) -"IJ" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/orange,/turf/simulated/floor/tiled,/area/outpost/engineering/rest) +"IJ" = (/obj/structure/bed/padded,/obj/item/bedsheet/orange,/turf/simulated/floor/tiled,/area/outpost/engineering/rest) "IK" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -20},/turf/simulated/floor/tiled,/area/outpost/engineering/solars) "IL" = (/obj/structure/toilet{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled,/area/outpost/engineering/kitchen) "IM" = (/obj/machinery/door/airlock/engineering{name = "Restrooms"; req_access = list(10)},/turf/simulated/floor/tiled,/area/outpost/engineering/kitchen) @@ -1816,7 +1816,7 @@ "IV" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 4; icon_state = "intact"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/outpost/engineering/solars) "IW" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/tiled,/area/outpost/engineering/solars) "IX" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/tiled,/area/outpost/engineering/kitchen) -"IY" = (/obj/structure/table/standard,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer,/turf/simulated/floor/tiled,/area/outpost/engineering/kitchen) +"IY" = (/obj/structure/table/standard,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/reagent_containers/food/drinks/bottle/small/beer,/turf/simulated/floor/tiled,/area/outpost/engineering/kitchen) "IZ" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/tiled,/area/outpost/engineering/kitchen) "Ja" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor/tiled,/area/outpost/engineering/kitchen) "Jb" = (/obj/machinery/computer/shuttle_control/engineering,/turf/simulated/floor/tiled,/area/outpost/engineering/hallway) @@ -1838,7 +1838,7 @@ "Jr" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/outpost/engineering/rest) "Js" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/outpost/engineering/rest) "Jt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled,/area/outpost/engineering/rest) -"Ju" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/tiled,/area/outpost/engineering/rest) +"Ju" = (/obj/structure/table/standard,/obj/item/flashlight/lamp,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/tiled,/area/outpost/engineering/rest) "Jv" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "eoutpost_solar_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = -25; req_access = list(10)},/turf/simulated/floor/tiled,/area/outpost/engineering/solars) "Jw" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/outpost/engineering/solars) "Jx" = (/obj/machinery/power/solar_control,/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled,/area/outpost/engineering/solars) @@ -1854,11 +1854,11 @@ "JH" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/outpost/engineering/solars) "JI" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/outpost/engineering/solars) "JJ" = (/obj/structure/table/standard,/obj/machinery/microwave,/turf/simulated/floor/tiled,/area/outpost/engineering/kitchen) -"JK" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets,/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -28},/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer,/turf/simulated/floor/tiled,/area/outpost/engineering/kitchen) +"JK" = (/obj/structure/table/standard,/obj/item/storage/box/donkpockets,/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -28},/obj/item/reagent_containers/food/drinks/bottle/small/beer,/turf/simulated/floor/tiled,/area/outpost/engineering/kitchen) "JL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/outpost/engineering/hallway) "JM" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/outpost/engineering/hallway) "JN" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "edock_inner"; locked = 1; name = "Engineering Dock Airlock"},/turf/simulated/floor/tiled,/area/outpost/engineering/hallway) -"JO" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/o2{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/firstaid/regular,/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -28},/obj/item/roller,/turf/simulated/floor/tiled,/area/outpost/engineering/rest) +"JO" = (/obj/structure/table/standard,/obj/item/storage/firstaid/o2{pixel_x = 4; pixel_y = 4},/obj/item/storage/firstaid/regular,/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -28},/obj/item/roller,/turf/simulated/floor/tiled,/area/outpost/engineering/rest) "JP" = (/obj/machinery/computer/crew,/turf/simulated/floor/tiled,/area/outpost/engineering/rest) "JQ" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/outpost/engineering/solars) "JR" = (/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{dir = 8; icon_state = "map"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/outpost/engineering/solars) diff --git a/maps/offmap_vr/common_offmaps.dm b/maps/offmap_vr/common_offmaps.dm index 7d97d7b9263..8bb776fe709 100644 --- a/maps/offmap_vr/common_offmaps.dm +++ b/maps/offmap_vr/common_offmaps.dm @@ -1,5 +1,5 @@ /// Away Missions -#if AWAY_MISSION_TEST +#ifdef AWAY_MISSION_TEST #include "../expedition_vr/beach/beach.dmm" #include "../expedition_vr/beach/cave.dmm" #include "../expedition_vr/alienship/alienship.dmm" @@ -13,7 +13,7 @@ /datum/map_template/common_lateload/away_beach name = "Desert Planet - Z1 Beach" desc = "The beach away mission." - mappath = 'maps/expedition_vr/beach/beach.dmm' + mappath = "maps/expedition_vr/beach/beach.dmm" associated_map_datum = /datum/map_z_level/common_lateload/away_beach /datum/map_z_level/common_lateload/away_beach @@ -24,7 +24,7 @@ /datum/map_template/common_lateload/away_beach_cave name = "Desert Planet - Z2 Cave" desc = "The beach away mission's cave." - mappath = 'maps/expedition_vr/beach/cave.dmm' + mappath = "maps/expedition_vr/beach/cave.dmm" associated_map_datum = /datum/map_z_level/common_lateload/away_beach_cave /datum/map_template/common_lateload/away_beach_cave/on_map_loaded(z) @@ -49,7 +49,7 @@ /datum/map_template/common_lateload/away_alienship name = "Alien Ship - Z1 Ship" desc = "The alien ship away mission." - mappath = 'maps/expedition_vr/alienship/alienship.dmm' + mappath = "maps/expedition_vr/alienship/alienship.dmm" associated_map_datum = /datum/map_z_level/common_lateload/away_alienship /datum/map_z_level/common_lateload/away_alienship @@ -63,7 +63,7 @@ /datum/map_template/common_lateload/away_aerostat_surface name = "Remmi Aerostat - Z2 Surface" desc = "The surface from the Virgo 2 Aerostat." - mappath = 'maps/expedition_vr/aerostat/surface_yw.dmm' //YW Edit - _yw surface + mappath = "maps/expedition_vr/aerostat/surface_yw.dmm" //YW Edit - _yw surface associated_map_datum = /datum/map_z_level/common_lateload/away_aerostat_surface /datum/map_template/common_lateload/away_aerostat_surface/on_map_loaded(z) @@ -85,7 +85,7 @@ /datum/map_template/common_lateload/away_debrisfield name = "Debris Field - Z1 Space" desc = "The Virgo 3 Debris Field away mission." - mappath = 'maps/expedition_vr/space/debrisfield_yw.dmm' //YW Edit - _yw debris field + mappath = "maps/expedition_vr/space/debrisfield_yw.dmm" //YW Edit - _yw debris field associated_map_datum = /datum/map_z_level/common_lateload/away_debrisfield /datum/map_template/common_lateload/away_debrisfield/on_map_loaded(z) @@ -100,7 +100,7 @@ /datum/map_template/common_lateload/away_fueldepot name = "Fuel Depot - Z1 Space" desc = "An unmanned fuel depot floating in space." - mappath = 'maps/expedition_vr/space/fueldepot.dmm' + mappath = "maps/expedition_vr/space/fueldepot.dmm" associated_map_datum = /datum/map_z_level/common_lateload/away_fueldepot /datum/map_z_level/common_lateload/away_fueldepot @@ -130,71 +130,71 @@ /datum/map_template/common_lateload/gateway/snow_outpost name = "Snow Outpost" desc = "Big snowy area with various outposts." - mappath = 'maps/gateway_vr/snow_outpost.dmm' + mappath = "maps/gateway_vr/snow_outpost.dmm" associated_map_datum = /datum/map_z_level/common_lateload/gateway_destination */ #include "../gateway_vr/zoo.dm" /datum/map_template/common_lateload/gateway/zoo name = "Gateway - Zoo" desc = "Gigantic space zoo" - mappath = 'maps/gateway_vr/zoo_b.dmm' + mappath = "maps/gateway_vr/zoo_b.dmm" #include "../gateway_vr/carpfarm.dm" /datum/map_template/common_lateload/gateway/carpfarm name = "Gateway - Carp Farm" desc = "Asteroid base surrounded by carp" - mappath = 'maps/gateway_vr/carpfarm.dmm' + mappath = "maps/gateway_vr/carpfarm.dmm" #include "../gateway_vr/snowfield.dm" /datum/map_template/common_lateload/gateway/snowfield name = "Gateway - Snow Field" desc = "An old base in middle of snowy wasteland" - mappath = 'maps/gateway_vr/snowfield.dmm' + mappath = "maps/gateway_vr/snowfield.dmm" #include "../gateway_vr/listeningpost.dm" /datum/map_template/common_lateload/gateway/listeningpost name = "Gateway - Listening Post" desc = "Asteroid-bound mercenary listening post" - mappath = 'maps/gateway_vr/listeningpost.dmm' + mappath = "maps/gateway_vr/listeningpost.dmm" #include "../gateway_vr/variable/honlethhighlands.dm" /datum/map_template/common_lateload/gateway/honlethhighlands_a name = "Gateway - Honleth Highlands A" desc = "The cold surface of some planet." - mappath = 'maps/gateway_vr/variable/honlethhighlands_a.dmm' + mappath = "maps/gateway_vr/variable/honlethhighlands_a.dmm" /datum/map_template/common_lateload/gateway/honlethhighlands_b name = "Gateway - Honleth Highlands B" desc = "The cold surface of some planet." - mappath = 'maps/gateway_vr/variable/honlethhighlands_b.dmm' + mappath = "maps/gateway_vr/variable/honlethhighlands_b.dmm" #include "../gateway_vr/variable/arynthilake.dm" /datum/map_template/common_lateload/gateway/arynthilake name = "Gateway - Arynthi Lake A" desc = "A grassy surface with some abandoned structures." - mappath = 'maps/gateway_vr/variable/arynthilake_a.dmm' + mappath = "maps/gateway_vr/variable/arynthilake_a.dmm" /datum/map_template/common_lateload/gateway/arynthilakeunderground name = "Gateway - Arynthi Lake Underground A" desc = "A grassy surface with some abandoned structures." - mappath = 'maps/gateway_vr/variable/arynthilakeunderground_a.dmm' + mappath = "maps/gateway_vr/variable/arynthilakeunderground_a.dmm" /datum/map_template/common_lateload/gateway/arynthilake_b name = "Gateway - Arynthi Lake B" desc = "A grassy surface with some abandoned structures." - mappath = 'maps/gateway_vr/variable/arynthilake_b.dmm' + mappath = "maps/gateway_vr/variable/arynthilake_b.dmm" /datum/map_template/common_lateload/gateway/arynthilakeunderground_b name = "Gateway - Arynthi Lake Underground B" desc = "A grassy surface with some abandoned structures." - mappath = 'maps/gateway_vr/variable/arynthilakeunderground_b.dmm' + mappath = "maps/gateway_vr/variable/arynthilakeunderground_b.dmm" #include "../gateway_vr/wildwest.dm" /datum/map_template/common_lateload/gateway/wildwest name = "Gateway - Wild West" desc = "A classic." - mappath = 'maps/gateway_vr/wildwest.dmm' + mappath = "maps/gateway_vr/wildwest.dmm" #include "../gateway_vr/lucky_7.dm" @@ -214,7 +214,7 @@ /datum/map_template/common_lateload/om_adventure/grasscave name = "Grass Cave" desc = "Looks like a cave with some grass in it." - mappath = 'maps/om_adventure/grasscave.dmm' + mappath = "maps/om_adventure/grasscave.dmm" associated_map_datum = /datum/map_z_level/common_lateload/om_adventure_destination /datum/map_template/common_lateload/om_adventure/grasscave/on_map_loaded(z) @@ -226,6 +226,29 @@ ////////////////////////////////////////////////////////////////////////////////////// +#ifdef AWAY_MISSION_TEST +#include "../redgate/falls/falls.dmm" +#include "../redgate/abandonedisland.dmm" +#include "../redgate/cybercity.dmm" +#include "../redgate/darkadventure.dmm" +#include "../redgate/eggnogtown.dmm" +#include "../redgate/eggnogtownunderground.dmm" +#include "../redgate/facility.dmm" +#include "../redgate/fantasy_dungeon.dmm" +#include "../redgate/fantasy.dmm" +#include "../redgate/hotsprings.dmm" +#include "../redgate/innland.dmm" +#include "../redgate/islands_underwater.dmm" +#include "../redgate/islands.dmm" +#include "../redgate/jungle_underground.dmm" +#include "../redgate/jungle.dmm" +#include "../redgate/laserdome.dmm" +#include "../redgate/stardog.dmm" +#include "../redgate/teppiranch.dmm" +#include "../redgate/train_upper.dmm" +#include "../redgate/train.dmm" +#endif + /datum/map_template/common_lateload/redgate name = "Redgate Submap" desc = "Please do not use this." @@ -246,58 +269,58 @@ /datum/map_template/common_lateload/redgate/teppi_ranch name = "Redgate - Teppi Ranch" desc = "An abandoned teppi ranch!" - mappath = 'maps/redgate/teppiranch.dmm' + mappath = "maps/redgate/teppiranch.dmm" /datum/map_template/common_lateload/redgate/innland name = "Redgate - Innland" desc = "Caves and grass and a tavern, woah!" - mappath = 'maps/redgate/innland.dmm' + mappath = "maps/redgate/innland.dmm" /datum/map_template/common_lateload/redgate/abandonedisland name = "Redgate - Abandoned Island" desc = "It seems like it used to be people here!" - mappath = 'maps/redgate/abandonedisland.dmm' + mappath = "maps/redgate/abandonedisland.dmm" /datum/map_template/common_lateload/redgate/darkadventure name = "Redgate - Dark Adventure" desc = "This place seems broken!" - mappath = 'maps/redgate/darkadventure.dmm' + mappath = "maps/redgate/darkadventure.dmm" /datum/map_template/common_lateload/redgate/stardog name = "Redgate - Star Dog" desc = "That's a big dog!" - mappath = 'maps/redgate/stardog.dmm' + mappath = "maps/redgate/stardog.dmm" #include "../redgate/eggnogtown.dm" /datum/map_template/common_lateload/redgate/eggnogtown name = "Redgate - Eggnog Town" desc = "A comfortable snowy town." - mappath = 'maps/redgate/eggnogtown.dmm' + mappath = "maps/redgate/eggnogtown.dmm" /datum/map_template/common_lateload/redgate/eggnogtownunderground name = "Redgate - Eggnog Town Underground" desc = "A comfortable snowy town." - mappath = 'maps/redgate/eggnogtownunderground.dmm' + mappath = "maps/redgate/eggnogtownunderground.dmm" /datum/map_template/common_lateload/redgate/hotsprings name = "Redgate - Hotsprings" desc = "This place is rather cosy for somewhere so abandoned!" - mappath = 'maps/redgate/hotsprings.dmm' + mappath = "maps/redgate/hotsprings.dmm" /datum/map_template/common_lateload/redgate/cybercity name = "Redgate - Rain City" desc = "A strange city on lockdown." - mappath = 'maps/redgate/cybercity.dmm' + mappath = "maps/redgate/cybercity.dmm" /datum/map_template/common_lateload/redgate/islands name = "Redgate - Islands" desc = "A series of islands out in the ocean." - mappath = 'maps/redgate/islands.dmm' + mappath = "maps/redgate/islands.dmm" /datum/map_template/common_lateload/redgate/islands_underwater name = "Redgate - Islands Underwater" desc = "A series of islands out in the ocean." - mappath = 'maps/redgate/islands_underwater.dmm' + mappath = "maps/redgate/islands_underwater.dmm" /obj/effect/landmark/map_data/islands height = 2 @@ -305,12 +328,12 @@ /datum/map_template/common_lateload/redgate/train name = "Redgate - Moving Train" desc = "A long train travelling to who-knows-where." - mappath = 'maps/redgate/train.dmm' + mappath = "maps/redgate/train.dmm" /datum/map_template/common_lateload/redgate/train_upper name = "Redgate - Moving Train Upper Level" desc = "A long train travelling to who-knows-where." - mappath = 'maps/redgate/train_upper.dmm' + mappath = "maps/redgate/train_upper.dmm" /obj/effect/landmark/map_data/train height = 2 @@ -318,12 +341,12 @@ /datum/map_template/common_lateload/redgate/fantasy name = "Redgate - Fantasy Town" desc = "A fantasy town full of low tech stuff." - mappath = 'maps/redgate/fantasy.dmm' + mappath = "maps/redgate/fantasy.dmm" /datum/map_template/common_lateload/redgate/fantasy_dungeon name = "Redgate - Fantasy Dungeon" desc = "A fantasy dungeon with lots of monsters and loot." - mappath = 'maps/redgate/fantasy_dungeon.dmm' + mappath = "maps/redgate/fantasy_dungeon.dmm" /obj/effect/landmark/map_data/fantasy height = 2 @@ -331,22 +354,22 @@ /datum/map_template/common_lateload/redgate/laserdome name = "Redgate - Laserdome" desc = "A large orbital station with recreational facilities, namely a pair of laser tag arenas." - mappath = 'maps/redgate/laserdome.dmm' + mappath = "maps/redgate/laserdome.dmm" /datum/map_template/common_lateload/redgate/falls name = "Redgate - Cascading Falls" desc = "A world made up almost entirely of water, sprinkled with obscure marble structures." - mappath = 'maps/redgate/falls/falls.dmm' + mappath = "maps/redgate/falls/falls.dmm" /datum/map_template/common_lateload/redgate/jungle name = "Redgate - Jungle" desc = "A fantasy town full of low tech stuff." - mappath = 'maps/redgate/jungle.dmm' + mappath = "maps/redgate/jungle.dmm" /datum/map_template/common_lateload/redgate/jungle_underground name = "Redgate - Jungle Underground" desc = "A fantasy dungeon with lots of monsters and loot." - mappath = 'maps/redgate/jungle_underground.dmm' + mappath = "maps/redgate/jungle_underground.dmm" /obj/effect/landmark/map_data/jungle height = 2 @@ -354,18 +377,18 @@ /datum/map_template/common_lateload/redgate/facility name = "Redgate - Facility" desc = "A facility full of unusual experiments." - mappath = 'maps/redgate/facility.dmm' + mappath = "maps/redgate/facility.dmm" ////////////////////////////////////////////////////////////////////////////////////// // Admin-use z-levels for loading whenever an admin feels like -#if AWAY_MISSION_TEST +#ifdef AWAY_MISSION_TEST #include "../submaps/admin_use_vr/spa.dmm" #endif #include "../submaps/admin_use_vr/fun.dm" /datum/map_template/common_lateload/fun/spa name = "Space Spa" desc = "A pleasant spa located in a spaceship." - mappath = 'maps/submaps/admin_use_vr/spa.dmm' + mappath = "maps/submaps/admin_use_vr/spa.dmm" associated_map_datum = /datum/map_z_level/common_lateload/fun/spa @@ -530,7 +553,7 @@ icon = 'icons/mob/vore_shadekin.dmi' icon_state = "spawner" - faction = "shadekin" + faction = FACTION_SHADEKIN prob_spawn = 1 prob_fall = 1 //guard = 10 //Don't wander too far, to stay alive. @@ -548,42 +571,42 @@ /datum/map_template/admin_use/ert name = "Special Area - ERT" desc = "It's the ERT ship! Lorge." - mappath = 'maps/submaps/admin_use_vr/ert.dmm' + mappath = "maps/submaps/admin_use_vr/ert.dmm" /datum/map_template/admin_use/trader name = "Special Area - Trader" desc = "Big trader ship." - mappath = 'maps/submaps/admin_use_vr/tradeship.dmm' + mappath = "maps/submaps/admin_use_vr/tradeship.dmm" /datum/map_template/admin_use/salamander_trader name = "Special Area - Salamander Trader" desc = "Modest trader ship." - mappath = 'maps/submaps/admin_use_vr/salamander_trader.dmm' + mappath = "maps/submaps/admin_use_vr/salamander_trader.dmm" /datum/map_template/admin_use/mercenary name = "Special Area - Merc Ship" desc = "Prepare tae be boarded, arr!" - mappath = 'maps/submaps/admin_use_vr/kk_mercship.dmm' + mappath = "maps/submaps/admin_use_vr/kk_mercship.dmm" /datum/map_template/admin_use/skipjack name = "Special Area - Skipjack Base" desc = "Stinky!" - mappath = 'maps/submaps/admin_use_vr/skipjack.dmm' + mappath = "maps/submaps/admin_use_vr/skipjack.dmm" /datum/map_template/admin_use/thunderdome name = "Special Area - Thunderdome" desc = "Thunderrrrdomeee" - mappath = 'maps/submaps/admin_use_vr/thunderdome.dmm' + mappath = "maps/submaps/admin_use_vr/thunderdome.dmm" /datum/map_template/admin_use/wizardbase name = "Special Area - Wizard Base" desc = "Wingardium Levosia" - mappath = 'maps/submaps/admin_use_vr/wizard.dmm' + mappath = "maps/submaps/admin_use_vr/wizard.dmm" /datum/map_template/admin_use/dojo name = "Special Area - Ninja Dojo" desc = "Sneaky" - mappath = 'maps/submaps/admin_use_vr/dojo.dmm' + mappath = "maps/submaps/admin_use_vr/dojo.dmm" ////////////////////////////////////////////////////////////////////////////// //Overmap ship spawns @@ -594,7 +617,6 @@ #include "../offmap_vr/om_ships/aro2.dm" #include "../offmap_vr/om_ships/aro3.dm" #include "../offmap_vr/om_ships/bearcat.dm" -#include "../offmap_vr/om_ships/cruiser.dm" #include "../offmap_vr/om_ships/vespa.dm" #include "../offmap_vr/om_ships/generic_shuttle.dm" #include "../offmap_vr/om_ships/salamander.dm" @@ -611,21 +633,20 @@ ////////////////////////////////////////////////////////////////////////////// //Capsule deployed ships #include "../offmap_vr/om_ships/shelter_5.dm" -#include "../offmap_vr/om_ships/shelter_6.dm" ////////////////////////////////////////////////////////////////////////////// //Offmap Spawn Locations #include "../offmap_vr/talon/talon_v2.dm" #include "../offmap_vr/talon/talon_v2_areas.dm" -#if MAP_TEST +#ifdef MAP_TEST #include "../offmap_vr/talon/talon_v2.dmm" #endif /datum/map_template/common_lateload/offmap/talon_v2 name = "Offmap Ship - Talon V2" desc = "Offmap spawn ship, the Talon." - mappath = 'maps/offmap_vr/talon/talon_v2.dmm' + mappath = "maps/offmap_vr/talon/talon_v2.dmm" associated_map_datum = /datum/map_z_level/common_lateload/talon_v2 /datum/map_z_level/common_lateload/talon_v2 diff --git a/maps/offmap_vr/om_ships/abductor.dm b/maps/offmap_vr/om_ships/abductor.dm index d8d23f295ea..cdfacaad708 100644 --- a/maps/offmap_vr/om_ships/abductor.dm +++ b/maps/offmap_vr/om_ships/abductor.dm @@ -1,5 +1,5 @@ // Compile in the map for CI testing if we're testing compileability of all the maps -#if MAP_TEST +#ifdef MAP_TEST #include "abductor.dmm" #endif @@ -7,7 +7,7 @@ /datum/map_template/om_ships/abductor name = "OM Ship - Abductor Ship (New Z)" desc = "A ship for spooky aliens to kidnap farmers and unfortunate spacemen." - mappath = 'abductor.dmm' + mappath = "maps/offmap_vr/om_ships/abductor.dmm" /area/abductor requires_power = 0 @@ -41,7 +41,7 @@ fore_dir = NORTH known = FALSE -/obj/item/weapon/paper/alien/abductor +/obj/item/paper/alien/abductor name = "Read Me" info = {"((Just to state the obvious here, but make sure you're reading OOC notes and all that. This role does not give you any special protections from the rules. Only abduct people who seem like they'd be cool with it.))

      @@ -71,7 +71,7 @@ You will find a dispenser within the room you started in which contains some bas /obj/machinery/porta_turret/alien/abductor name = "anti-personnel turret" - installation = /obj/item/weapon/gun/energy/gun/taser + installation = /obj/item/gun/energy/gun/taser lethal = FALSE health = 500 // Sturdier turrets, non-lethal, for capturing people alive maxhealth = 500 @@ -79,10 +79,9 @@ You will find a dispenser within the room you started in which contains some bas /obj/machinery/porta_turret/alien/abductor/ion name = "anti-personnel turret" - installation = /obj/item/weapon/gun/energy/ionrifle/weak + installation = /obj/item/gun/energy/ionrifle/weak lethal = TRUE /obj/machinery/power/rtg/abductor/built/abductor name = "Void Core" power_gen = 5000000 - diff --git a/maps/offmap_vr/om_ships/abductor.dmm b/maps/offmap_vr/om_ships/abductor.dmm index 5083af6250a..541936afd26 100644 --- a/maps/offmap_vr/om_ships/abductor.dmm +++ b/maps/offmap_vr/om_ships/abductor.dmm @@ -23,18 +23,18 @@ /area/abductor/interior) "dN" = ( /obj/structure/closet/alien, -/obj/item/weapon/storage/firstaid/combat, -/obj/item/weapon/storage/firstaid/combat, -/obj/item/weapon/storage/firstaid/clotting, -/obj/item/weapon/storage/firstaid/clotting, -/obj/item/weapon/storage/firstaid/bonemed, -/obj/item/weapon/storage/firstaid/bonemed, -/obj/item/weapon/storage/firstaid/adv, -/obj/item/weapon/storage/firstaid/adv, -/obj/item/weapon/storage/firstaid, -/obj/item/weapon/storage/firstaid, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/toxin, +/obj/item/storage/firstaid/combat, +/obj/item/storage/firstaid/combat, +/obj/item/storage/firstaid/clotting, +/obj/item/storage/firstaid/clotting, +/obj/item/storage/firstaid/bonemed, +/obj/item/storage/firstaid/bonemed, +/obj/item/storage/firstaid/adv, +/obj/item/storage/firstaid/adv, +/obj/item/storage/firstaid, +/obj/item/storage/firstaid, +/obj/item/storage/firstaid/toxin, +/obj/item/storage/firstaid/toxin, /turf/simulated/shuttle/floor/alienplating, /area/abductor/interior) "ed" = ( @@ -68,26 +68,26 @@ /area/abductor/exterior) "fw" = ( /obj/structure/table/alien, -/obj/item/device/radio_jammer/admin, -/obj/item/device/radio_jammer/admin, +/obj/item/radio_jammer/admin, +/obj/item/radio_jammer/admin, /turf/simulated/shuttle/floor/alienplating, /area/abductor/interior) "fz" = ( /obj/structure/table/alien, -/obj/item/weapon/implanter, -/obj/item/weapon/implanter, -/obj/item/weapon/implant/freedom, -/obj/item/weapon/implant/adrenalin, -/obj/item/weapon/implant/sizecontrol, -/obj/item/weapon/implant/sizecontrol, +/obj/item/implanter, +/obj/item/implanter, +/obj/item/implant/freedom, +/obj/item/implant/adrenalin, +/obj/item/implant/sizecontrol, +/obj/item/implant/sizecontrol, /turf/simulated/shuttle/floor/alienplating, /area/abductor/interior) "fQ" = ( -/obj/item/weapon/storage/box/flashbangs, -/obj/item/weapon/storage/box/teargas, -/obj/item/weapon/grenade/flashbang/clusterbang, -/obj/item/weapon/grenade/flashbang/clusterbang, -/obj/item/weapon/storage/box/metalfoam, +/obj/item/storage/box/flashbangs, +/obj/item/storage/box/teargas, +/obj/item/grenade/flashbang/clusterbang, +/obj/item/grenade/flashbang/clusterbang, +/obj/item/storage/box/metalfoam, /obj/item/clothing/mask/gas/wwii, /obj/item/clothing/mask/gas, /obj/structure/closet/alien, @@ -126,7 +126,7 @@ /turf/simulated/shuttle/floor/alienplating, /area/abductor/exterior) "iH" = ( -/obj/item/weapon/paper/alien/abductor, +/obj/item/paper/alien/abductor, /obj/structure/table/alien, /turf/simulated/shuttle/floor/alienplating, /area/abductor/interior) @@ -175,8 +175,8 @@ /obj/structure/table/alien, /obj/item/clothing/mask/gas/voice, /obj/item/clothing/mask/gas/voice, -/obj/item/device/universal_translator/ear, -/obj/item/device/universal_translator/ear, +/obj/item/universal_translator/ear, +/obj/item/universal_translator/ear, /turf/simulated/shuttle/floor/alienplating, /area/abductor/interior) "nw" = ( @@ -206,15 +206,15 @@ /area/abductor/interior) "pa" = ( /obj/structure/closet/alien, -/obj/item/device/sleevemate, -/obj/item/device/flash, -/obj/item/weapon/storage/firstaid/toxin, +/obj/item/sleevemate, +/obj/item/flash, +/obj/item/storage/firstaid/toxin, /turf/simulated/shuttle/floor/alien, /area/abductor/interior) "pc" = ( /obj/structure/table/alien, -/obj/item/weapon/gun/energy/netgun, -/obj/item/weapon/gun/energy/netgun, +/obj/item/gun/energy/netgun, +/obj/item/gun/energy/netgun, /turf/simulated/shuttle/floor/alienplating, /area/abductor/interior) "pB" = ( @@ -273,14 +273,14 @@ /area/abductor/interior) "rB" = ( /obj/structure/table/alien, -/obj/item/device/perfect_tele/alien, -/obj/item/device/perfect_tele/alien, +/obj/item/perfect_tele/alien, +/obj/item/perfect_tele/alien, /turf/simulated/shuttle/floor/alienplating, /area/abductor/interior) "rL" = ( /obj/structure/table/alien, -/obj/item/weapon/storage/belt/utility/alien/full, -/obj/item/weapon/storage/belt/utility/alien/full, +/obj/item/storage/belt/utility/alien/full, +/obj/item/storage/belt/utility/alien/full, /turf/simulated/shuttle/floor/alienplating, /area/abductor/interior) "rP" = ( @@ -307,9 +307,9 @@ /area/abductor/interior) "td" = ( /obj/structure/table/alien, -/obj/item/weapon/storage/box/handcuffs, -/obj/item/weapon/storage/box/handcuffs, -/obj/item/device/sleevemate, +/obj/item/storage/box/handcuffs, +/obj/item/storage/box/handcuffs, +/obj/item/sleevemate, /turf/simulated/shuttle/floor/alienplating, /area/abductor/interior) "tl" = ( @@ -317,8 +317,8 @@ /area/abductor/exterior) "tI" = ( /obj/structure/table/alien, -/obj/item/weapon/reagent_containers/hypospray, -/obj/item/weapon/reagent_containers/hypospray, +/obj/item/reagent_containers/hypospray, +/obj/item/reagent_containers/hypospray, /turf/simulated/shuttle/floor/alienplating, /area/abductor/interior) "tQ" = ( @@ -361,14 +361,14 @@ pixel_y = 32 }, /obj/item/clothing/shoes/magboots, -/obj/item/weapon/gun/energy/gun/taser, -/obj/item/device/flash, +/obj/item/gun/energy/gun/taser, +/obj/item/flash, /turf/simulated/shuttle/floor/alienplating, /area/abductor/interior) "vS" = ( /obj/structure/table/alien, -/obj/item/weapon/storage/belt/medical/alien, -/obj/item/weapon/storage/belt/medical/alien, +/obj/item/storage/belt/medical/alien, +/obj/item/storage/belt/medical/alien, /turf/simulated/shuttle/floor/alienplating, /area/abductor/interior) "wk" = ( @@ -408,8 +408,8 @@ dir = 1; pixel_y = -32 }, -/obj/item/weapon/gun/energy/gun/taser, -/obj/item/device/flash, +/obj/item/gun/energy/gun/taser, +/obj/item/flash, /turf/simulated/shuttle/floor/alienplating, /area/abductor/interior) "yB" = ( @@ -441,24 +441,24 @@ /area/abductor/interior) "AZ" = ( /obj/structure/table/alien, -/obj/item/weapon/gun/energy/medigun, -/obj/item/weapon/gun/energy/medigun, -/obj/item/weapon/cell/infinite, -/obj/item/weapon/cell/infinite, +/obj/item/gun/energy/medigun, +/obj/item/gun/energy/medigun, +/obj/item/cell/infinite, +/obj/item/cell/infinite, /turf/simulated/shuttle/floor/alienplating, /area/abductor/interior) "Bv" = ( /obj/structure/table/alien, -/obj/item/weapon/reagent_containers/glass/bottle/adminordrazine, -/obj/item/weapon/reagent_containers/glass/bottle/adminordrazine, -/obj/item/weapon/reagent_containers/glass/bottle/adminordrazine, -/obj/item/weapon/reagent_containers/glass/bottle/adminordrazine, +/obj/item/reagent_containers/glass/bottle/adminordrazine, +/obj/item/reagent_containers/glass/bottle/adminordrazine, +/obj/item/reagent_containers/glass/bottle/adminordrazine, +/obj/item/reagent_containers/glass/bottle/adminordrazine, /turf/simulated/shuttle/floor/alienplating, /area/abductor/interior) "DG" = ( /obj/structure/table/alien, -/obj/item/weapon/bluespace_harpoon, -/obj/item/weapon/bluespace_harpoon, +/obj/item/bluespace_harpoon, +/obj/item/bluespace_harpoon, /turf/simulated/shuttle/floor/alienplating, /area/abductor/interior) "DI" = ( @@ -478,8 +478,8 @@ pixel_x = 32 }, /obj/item/clothing/shoes/magboots, -/obj/item/weapon/gun/energy/gun/taser, -/obj/item/device/flash, +/obj/item/gun/energy/gun/taser, +/obj/item/flash, /turf/simulated/shuttle/floor/alienplating, /area/abductor/interior) "Fl" = ( @@ -487,22 +487,22 @@ /turf/simulated/shuttle/floor/alienplating, /area/abductor/interior) "Fq" = ( -/obj/item/weapon/bikehorn, +/obj/item/bikehorn, /obj/item/toy/bosunwhistle, -/obj/item/weapon/storage/bible, -/obj/item/weapon/storage/photo_album, -/obj/item/weapon/storage/trinketbox, -/obj/item/weapon/storage/briefcase/clutch, -/obj/item/weapon/storage/wallet/random, -/obj/item/weapon/storage/wallet/womens, -/obj/item/weapon/bananapeel, -/obj/item/device/taperecorder, -/obj/item/device/camera, -/obj/item/device/binoculars, -/obj/item/device/binoculars/spyglass, -/obj/item/device/laser_pointer/red, -/obj/item/device/healthanalyzer, -/obj/item/weapon/stamp/chameleon, +/obj/item/storage/bible, +/obj/item/storage/photo_album, +/obj/item/storage/trinketbox, +/obj/item/storage/briefcase/clutch, +/obj/item/storage/wallet/random, +/obj/item/storage/wallet/womens, +/obj/item/bananapeel, +/obj/item/taperecorder, +/obj/item/camera, +/obj/item/binoculars, +/obj/item/binoculars/spyglass, +/obj/item/laser_pointer/red, +/obj/item/healthanalyzer, +/obj/item/stamp/chameleon, /obj/structure/closet/alien, /turf/simulated/shuttle/floor/alienplating, /area/abductor/interior) @@ -554,10 +554,10 @@ /obj/item/clothing/mask/muzzle/tape, /obj/item/clothing/mask/muzzle/tape, /obj/item/clothing/mask/muzzle/tape, -/obj/item/weapon/tape_roll, -/obj/item/weapon/tape_roll, -/obj/item/weapon/tape_roll, -/obj/item/weapon/tape_roll, +/obj/item/tape_roll, +/obj/item/tape_roll, +/obj/item/tape_roll, +/obj/item/tape_roll, /turf/simulated/shuttle/floor/alienplating, /area/abductor/interior) "Ji" = ( @@ -614,8 +614,8 @@ /area/space) "KW" = ( /obj/structure/table/alien, -/obj/item/weapon/storage/box/beakers, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/storage/box/beakers, +/obj/item/reagent_containers/dropper, /turf/simulated/shuttle/floor/alienplating, /area/abductor/interior) "Lg" = ( @@ -663,8 +663,8 @@ /area/abductor/interior) "Nq" = ( /obj/structure/table/alien, -/obj/item/weapon/melee/baton, -/obj/item/weapon/melee/baton, +/obj/item/melee/baton, +/obj/item/melee/baton, /turf/simulated/shuttle/floor/alienplating, /area/abductor/interior) "ND" = ( @@ -677,8 +677,8 @@ /area/abductor/interior) "Ov" = ( /obj/structure/table/alien, -/obj/item/weapon/gun/energy/sickshot, -/obj/item/weapon/gun/energy/sickshot, +/obj/item/gun/energy/sickshot, +/obj/item/gun/energy/sickshot, /turf/simulated/shuttle/floor/alienplating, /area/abductor/interior) "Oz" = ( @@ -727,8 +727,8 @@ pixel_x = -32 }, /obj/item/clothing/shoes/magboots, -/obj/item/weapon/gun/energy/gun/taser, -/obj/item/device/flash, +/obj/item/gun/energy/gun/taser, +/obj/item/flash, /turf/simulated/shuttle/floor/alienplating, /area/abductor/interior) "QI" = ( @@ -833,7 +833,7 @@ /area/abductor/interior) "Wl" = ( /obj/structure/table/alien, -/obj/item/weapon/storage/box/gloves, +/obj/item/storage/box/gloves, /turf/simulated/shuttle/floor/alienplating, /area/abductor/interior) "WB" = ( @@ -924,8 +924,8 @@ /obj/item/ammo_magazine/cell_mag/advanced, /obj/item/ammo_magazine/cell_mag/advanced, /obj/item/ammo_magazine/cell_mag/advanced, -/obj/item/weapon/gun/projectile/cell_loaded, -/obj/item/weapon/gun/projectile/cell_loaded, +/obj/item/gun/projectile/cell_loaded, +/obj/item/gun/projectile/cell_loaded, /turf/simulated/shuttle/floor/alienplating, /area/abductor/interior) "Zk" = ( diff --git a/maps/offmap_vr/om_ships/aro.dm b/maps/offmap_vr/om_ships/aro.dm index c4c464442fa..b6f7dfa3de6 100644 --- a/maps/offmap_vr/om_ships/aro.dm +++ b/maps/offmap_vr/om_ships/aro.dm @@ -1,5 +1,5 @@ // Compile in the map for CI testing if we're testing compileability of all the maps -#if MAP_TEST +#ifdef MAP_TEST #include "aro.dmm" #endif @@ -7,7 +7,7 @@ /datum/map_template/om_ships/aro name = "OM Ship - Aronai (New Z)" desc = "It's Aronai! As a spaceship." - mappath = 'aro.dmm' + mappath = "maps/offmap_vr/om_ships/aro.dmm" // The shuttle's area(s) /area/ship/aro diff --git a/maps/offmap_vr/om_ships/aro.dmm b/maps/offmap_vr/om_ships/aro.dmm index 5991b169e98..18e07a2001a 100644 --- a/maps/offmap_vr/om_ships/aro.dmm +++ b/maps/offmap_vr/om_ships/aro.dmm @@ -548,8 +548,8 @@ /area/ship/aro/recreation) "bs" = ( /obj/structure/table/standard, -/obj/item/weapon/material/knife/butch, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/knife/butch, +/obj/item/material/kitchen/rollingpin, /obj/effect/floor_decal/borderfloorwhite{ dir = 6 }, @@ -584,7 +584,7 @@ /area/ship/aro/centralarea) "bz" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery, /obj/machinery/alarm/alarms_hidden{ pixel_y = 25 }, @@ -626,7 +626,7 @@ /area/ship/aro/centralarea) "bF" = ( /obj/structure/table/standard, -/obj/item/weapon/tank/anesthetic, +/obj/item/tank/anesthetic, /obj/item/clothing/mask/breath/medical, /obj/machinery/light{ dir = 8 @@ -704,7 +704,7 @@ /turf/simulated/floor/tiled/white, /area/ship/aro/centralarea) "bQ" = ( -/obj/item/device/healthanalyzer/advanced, +/obj/item/healthanalyzer/advanced, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 }, @@ -739,11 +739,11 @@ /turf/simulated/floor/tiled/techmaint, /area/ship/aro/centralarea) "bT" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled/techmaint, /area/ship/aro/centralarea) "bU" = ( -/obj/item/weapon/storage/toolbox/syndicate, +/obj/item/storage/toolbox/syndicate, /obj/structure/table/alien/blue, /turf/simulated/floor/tiled/techmaint, /area/ship/aro/centralarea) @@ -1006,11 +1006,11 @@ /turf/simulated/floor/tiled/white, /area/ship/aro/centralarea) "cB" = ( -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = -2; pixel_y = 4 }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = -2; pixel_y = 4 }, @@ -1020,34 +1020,34 @@ /obj/item/bodybag/cryobag{ pixel_x = 5 }, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ layer = 2.8; pixel_x = 4; pixel_y = 6 }, -/obj/item/weapon/storage/box/masks, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/masks, +/obj/item/storage/box/gloves{ pixel_x = 3; pixel_y = 4 }, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/toxin, +/obj/item/storage/firstaid/fire{ layer = 2.9; pixel_x = 2; pixel_y = 3 }, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ pixel_x = -2 }, -/obj/item/weapon/reagent_containers/blood/empty, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/empty, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /obj/structure/closet/medical_wall{ pixel_y = -32 }, -/obj/item/weapon/storage/box/body_record_disk, +/obj/item/storage/box/body_record_disk, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/borderfloorwhite/corner2{ dir = 9 @@ -1551,8 +1551,8 @@ /area/ship/aro/centralarea) "dD" = ( /obj/structure/table/rack, -/obj/item/device/suit_cooling_unit, -/obj/item/weapon/tank/air, +/obj/item/suit_cooling_unit, +/obj/item/tank/air, /turf/simulated/floor/tiled/techfloor, /area/ship/aro/centralarea) "dE" = ( @@ -1596,10 +1596,10 @@ /obj/structure/closet{ name = "custodial" }, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/mop, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/glass/bucket, +/obj/item/mop, +/obj/item/storage/box/lights/mixed, /obj/machinery/light/small{ dir = 8 }, @@ -2157,7 +2157,7 @@ /turf/simulated/floor/wood, /area/ship/aro/midshipshangars) "eX" = ( -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /obj/structure/table/alien/blue, /obj/machinery/atmospherics/unary/vent_pump/on, /obj/machinery/alarm/alarms_hidden{ @@ -2215,7 +2215,7 @@ /turf/simulated/shuttle/floor/alienplating/blue, /area/ship/aro/midshipshangars) "ff" = ( -/obj/item/weapon/bedsheet/captaindouble, +/obj/item/bedsheet/captaindouble, /obj/structure/bed/double, /turf/simulated/floor/wood, /area/ship/aro/midshipshangars) @@ -2408,7 +2408,7 @@ /turf/simulated/floor/wood, /area/ship/aro/midshipshangars) "fA" = ( -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /obj/structure/table/alien/blue, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -3016,8 +3016,8 @@ /area/ship/aro/centralarea) "si" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/rig/robotics, -/obj/item/weapon/cell/high, +/obj/item/rig/robotics, +/obj/item/cell/high, /turf/simulated/floor/tiled/techfloor, /area/ship/aro/centralarea) "sl" = ( @@ -3079,8 +3079,8 @@ /area/ship/aro/midshipshangars) "CT" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/technomancer_core/universal, -/obj/item/weapon/technomancer_catalog/universal, +/obj/item/technomancer_core/universal, +/obj/item/technomancer_catalog/universal, /turf/simulated/floor/tiled/techfloor, /area/ship/aro/centralarea) "GH" = ( diff --git a/maps/offmap_vr/om_ships/aro2.dm b/maps/offmap_vr/om_ships/aro2.dm index d42ef4d6bbe..9b50527bda3 100644 --- a/maps/offmap_vr/om_ships/aro2.dm +++ b/maps/offmap_vr/om_ships/aro2.dm @@ -1,5 +1,5 @@ // Compile in the map for CI testing if we're testing compileability of all the maps -#if MAP_TEST +#ifdef MAP_TEST #include "aro2.dmm" #endif @@ -7,7 +7,7 @@ /datum/map_template/om_ships/aro2 name = "OM Ship - Aronai 2.0 (New Z)" desc = "It's Aronai! As a spaceship." - mappath = 'aro2.dmm' + mappath = "maps/offmap_vr/om_ships/aro2.dmm" /area/aro2 requires_power = 1 @@ -100,4 +100,4 @@ docking_controller_tag = "aroboat2_docker" shuttle_area = /area/shuttle/aroboat2 fuel_consumption = 0 - defer_initialisation = TRUE \ No newline at end of file + defer_initialisation = TRUE diff --git a/maps/offmap_vr/om_ships/aro2.dmm b/maps/offmap_vr/om_ships/aro2.dmm index f8fdcb70111..d39bc855e86 100644 --- a/maps/offmap_vr/om_ships/aro2.dmm +++ b/maps/offmap_vr/om_ships/aro2.dmm @@ -83,7 +83,7 @@ icon_state = "0-2" }, /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -24 @@ -104,7 +104,7 @@ /area/aro2/room1) "aE" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/bluedouble, +/obj/item/bedsheet/bluedouble, /turf/simulated/floor/carpet/blue, /area/aro2/room1) "aI" = ( @@ -257,7 +257,7 @@ /area/aro2/room2) "bB" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/bluedouble, +/obj/item/bedsheet/bluedouble, /turf/simulated/floor/carpet/gaycarpet, /area/aro2/room2) "bC" = ( @@ -386,7 +386,7 @@ icon_state = "0-2" }, /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -24 @@ -404,7 +404,7 @@ /area/aro2/room3) "cF" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/bluedouble, +/obj/item/bedsheet/bluedouble, /turf/simulated/floor/carpet/purcarpet, /area/aro2/room3) "cG" = ( @@ -742,7 +742,7 @@ pixel_y = 23 }, /obj/structure/table/steel, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/floor/tiled/eris/dark/gray_perforated, /area/aro2/airarea) "fm" = ( @@ -1346,7 +1346,7 @@ icon_state = "0-2" }, /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -24 @@ -1585,7 +1585,7 @@ icon_state = "0-2" }, /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -24 @@ -1882,7 +1882,7 @@ /obj/structure/table/steel, /obj/structure/cable/cyan, /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -24 @@ -1917,11 +1917,11 @@ /area/aro2/airarea) "sB" = ( /obj/structure/table/steel, -/obj/item/weapon/magnetic_ammo/pistol/khi{ +/obj/item/magnetic_ammo/pistol/khi{ pixel_x = 5; pixel_y = 2 }, -/obj/item/weapon/magnetic_ammo/pistol/khi{ +/obj/item/magnetic_ammo/pistol/khi{ pixel_x = -3; pixel_y = 5 }, @@ -2266,7 +2266,7 @@ /area/aro2/boatdeck) "wM" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/storage/toolbox/syndicate, +/obj/item/storage/toolbox/syndicate, /turf/simulated/floor/tiled/eris/techmaint_perforated, /area/aro2/starboardbay) "wS" = ( @@ -2378,7 +2378,7 @@ dir = 8 }, /obj/structure/table/steel, -/obj/item/weapon/inducer/hybrid, +/obj/item/inducer/hybrid, /turf/simulated/floor/tiled/eris/techmaint_perforated, /area/aro2/surfluid) "yw" = ( @@ -2431,13 +2431,13 @@ /obj/structure/closet/secure_closet/freezer/fridge{ starts_with = null }, -/obj/item/weapon/reagent_containers/food/snacks/generalschicken, -/obj/item/weapon/storage/box/wings, -/obj/item/weapon/reagent_containers/food/snacks/kitsuneudon, -/obj/item/weapon/reagent_containers/food/snacks/fries, -/obj/item/weapon/reagent_containers/food/snacks/grilledcheese, -/obj/item/weapon/reagent_containers/food/snacks/jellysandwich, -/obj/item/weapon/reagent_containers/food/snacks/enchiladas, +/obj/item/reagent_containers/food/snacks/generalschicken, +/obj/item/storage/box/wings, +/obj/item/reagent_containers/food/snacks/kitsuneudon, +/obj/item/reagent_containers/food/snacks/fries, +/obj/item/reagent_containers/food/snacks/grilledcheese, +/obj/item/reagent_containers/food/snacks/jellysandwich, +/obj/item/reagent_containers/food/snacks/enchiladas, /turf/simulated/floor/tiled/eris/techmaint_perforated, /area/aro2/dining) "yY" = ( @@ -3159,7 +3159,7 @@ /area/aro2/airarea) "HT" = ( /obj/structure/table/steel, -/obj/item/device/perfect_tele/alien, +/obj/item/perfect_tele/alien, /turf/simulated/floor/tiled/eris/dark/cargo, /area/shuttle/aroboat2) "Ib" = ( @@ -3515,7 +3515,7 @@ /area/shuttle/aroboat2) "Lv" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/box/metalfoam, +/obj/item/storage/box/metalfoam, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, @@ -3689,7 +3689,7 @@ dir = 4 }, /obj/structure/table/steel, -/obj/item/device/sleevemate, +/obj/item/sleevemate, /turf/simulated/floor/tiled/eris/techmaint_perforated, /area/aro2/surfluid) "NQ" = ( @@ -4217,7 +4217,7 @@ /area/space) "TT" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/storage/toolbox/syndicate, +/obj/item/storage/toolbox/syndicate, /turf/simulated/floor/tiled/eris/techmaint_perforated, /area/aro2/portbay) "TU" = ( @@ -4282,7 +4282,7 @@ /area/aro2/boatdeck) "Vg" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical, /turf/simulated/floor/tiled/eris/dark/gray_perforated, /area/aro2/powerarea) "Vm" = ( diff --git a/maps/offmap_vr/om_ships/aro3.dm b/maps/offmap_vr/om_ships/aro3.dm index 791a53a642b..3cb4bfdc4fc 100644 --- a/maps/offmap_vr/om_ships/aro3.dm +++ b/maps/offmap_vr/om_ships/aro3.dm @@ -1,5 +1,5 @@ // Compile in the map for CI testing if we're testing compileability of all the maps -#if MAP_TEST +#ifdef MAP_TEST #include "aro3.dmm" #endif @@ -7,7 +7,7 @@ /datum/map_template/om_ships/aro3 name = "OM Ship - Aronai 3.0 (New Z)" desc = "It's Aronai! As a spaceship." - mappath = 'aro3.dmm' + mappath = "maps/offmap_vr/om_ships/aro3.dmm" /area/aro3 requires_power = 1 diff --git a/maps/offmap_vr/om_ships/aro3.dmm b/maps/offmap_vr/om_ships/aro3.dmm index 1cef8ee3e52..db87ae36368 100644 --- a/maps/offmap_vr/om_ships/aro3.dmm +++ b/maps/offmap_vr/om_ships/aro3.dmm @@ -412,7 +412,7 @@ /area/aro3/function) "cn" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/box/metalfoam, +/obj/item/storage/box/metalfoam, /turf/simulated/floor/tiled/milspec, /area/aro3/atmos) "cr" = ( @@ -443,7 +443,7 @@ dir = 8 }, /obj/structure/table/glass, -/obj/item/weapon/storage/box/metalfoam, +/obj/item/storage/box/metalfoam, /obj/effect/floor_decal/milspec/color/blue/half{ dir = 9 }, @@ -489,7 +489,7 @@ /area/aro3/atmos) "cL" = ( /obj/structure/table/marble, -/obj/item/weapon/material/knife/butch, +/obj/item/material/knife/butch, /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/tiled/eris/cafe, /area/aro3/kitchen) @@ -581,10 +581,10 @@ /area/space) "dp" = ( /obj/structure/table/fancyblack, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -3 }, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 3 }, /obj/machinery/atmospherics/unary/vent_pump/on{ @@ -769,7 +769,7 @@ /turf/simulated/floor/tiled/eris/steel/bar_dance, /area/aro3/bar) "en" = ( -/obj/item/weapon/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/food/condiment/enzyme, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 8 @@ -836,7 +836,7 @@ /area/aro3/suite_starboard_wc) "eL" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, @@ -1185,8 +1185,8 @@ /area/aro3/flight_deck) "hb" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/reagent_containers/spray/sterilizine, +/obj/item/storage/box/lights/mixed, +/obj/item/reagent_containers/spray/sterilizine, /obj/effect/floor_decal/milspec/monotile, /turf/simulated/floor/tiled/milspec, /area/aro3/hallway_port) @@ -1226,13 +1226,13 @@ /obj/structure/closet/crate{ name = "qpad parts" }, -/obj/item/weapon/bluespace_crystal, -/obj/item/weapon/stock_parts/capacitor/hyper, -/obj/item/weapon/stock_parts/manipulator/hyper, +/obj/item/bluespace_crystal, +/obj/item/stock_parts/capacitor/hyper, +/obj/item/stock_parts/manipulator/hyper, /obj/item/stack/cable_coil{ amount = 15 }, -/obj/item/weapon/circuitboard/quantumpad, +/obj/item/circuitboard/quantumpad, /obj/item/stack/material/steel{ amount = 20 }, @@ -1249,7 +1249,7 @@ /area/aro3/suite_starboard_wc) "hw" = ( /obj/structure/table/glass, -/obj/item/device/sleevemate, +/obj/item/sleevemate, /obj/effect/floor_decal/milspec_sterile/green/corner{ dir = 1 }, @@ -1469,7 +1469,7 @@ /area/aro3/hallway_port) "iP" = ( /obj/structure/table/steel, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/carpet/blucarpet, /area/aro3/bunkrooms) "iQ" = ( @@ -1570,10 +1570,10 @@ /area/aro3/park) "jx" = ( /obj/structure/closet/crate/medical/blood, -/obj/item/weapon/reagent_containers/blood/prelabeled/OMinus, -/obj/item/weapon/reagent_containers/blood/prelabeled/OMinus, -/obj/item/weapon/reagent_containers/blood/prelabeled/OMinus, -/obj/item/weapon/reagent_containers/blood/prelabeled/OMinus, +/obj/item/reagent_containers/blood/prelabeled/OMinus, +/obj/item/reagent_containers/blood/prelabeled/OMinus, +/obj/item/reagent_containers/blood/prelabeled/OMinus, +/obj/item/reagent_containers/blood/prelabeled/OMinus, /turf/simulated/floor/tiled/techmaint, /area/aro3/medical) "jy" = ( @@ -1797,7 +1797,7 @@ /area/aro3/medical) "kI" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/toolbox/electrical{ +/obj/item/storage/toolbox/electrical{ pixel_x = 1; pixel_y = 6 }, @@ -1889,7 +1889,7 @@ /turf/simulated/floor/plating/eris/under/airless, /area/space) "lo" = ( -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/structure/bed/padded, /turf/simulated/floor/carpet/oracarpet, /area/aro3/bunkrooms) @@ -2299,10 +2299,10 @@ /area/aro3/suite_starboard) "nW" = ( /obj/structure/table/fancyblack, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -3 }, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 3 }, /obj/machinery/atmospherics/unary/vent_scrubber/on{ @@ -2342,7 +2342,7 @@ /area/aro3/bar) "on" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/firstaid/combat, +/obj/item/storage/firstaid/combat, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, @@ -2581,7 +2581,7 @@ /area/aro3/power) "px" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /obj/effect/floor_decal/milspec/monotile, /turf/simulated/floor/tiled/milspec, /area/aro3/workshop) @@ -2596,7 +2596,7 @@ /area/aro3/workshop) "pH" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/structure/curtain/open/privacy, /obj/effect/floor_decal/milspec_sterile/green/corner, /turf/simulated/floor/tiled/milspec/sterile, @@ -2655,7 +2655,7 @@ /area/aro3/hallway_bunkrooms) "qk" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical, /turf/simulated/floor/tiled/milspec, /area/aro3/atmos) "qm" = ( @@ -2843,7 +2843,7 @@ /area/aro3/function) "rA" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/belt/utility, +/obj/item/storage/belt/utility, /obj/effect/floor_decal/milspec/monotile, /turf/simulated/floor/tiled/milspec, /area/aro3/workshop) @@ -3179,7 +3179,7 @@ /area/aro3/power) "tL" = ( /obj/structure/table/glass, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "I guess you can use this body while I'm in another one, but I'll charge you for anything you blow up or steal! -Aro" }, /obj/effect/floor_decal/milspec/color/blue/half{ @@ -3226,7 +3226,7 @@ /area/aro3/repair_bay) "ug" = ( /obj/structure/table/steel, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/carpet/oracarpet, /area/aro3/bunkrooms) "uE" = ( @@ -3401,7 +3401,7 @@ /area/aro3/workshop) "vL" = ( /obj/structure/table/marble, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/kitchen/rollingpin, /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/tiled/eris/cafe, /area/aro3/kitchen) @@ -3430,7 +3430,7 @@ /area/aro3/eva_hall) "vQ" = ( /obj/structure/table/steel, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/carpet/purcarpet, /area/aro3/bunkrooms) "vT" = ( @@ -3503,7 +3503,7 @@ /area/aro3/function) "wl" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/structure/curtain/open/privacy, /obj/effect/floor_decal/milspec_sterile/green/corner{ dir = 4 @@ -4123,7 +4123,7 @@ /area/aro3/repair_bay) "zB" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/device/nif/authentic, +/obj/item/nif/authentic, /turf/simulated/floor/tiled/techmaint, /area/aro3/medical) "zD" = ( @@ -4813,7 +4813,7 @@ /area/aro3/atmos) "Er" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/box/metalfoam, +/obj/item/storage/box/metalfoam, /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/effect/floor_decal/milspec/monotile, /turf/simulated/floor/tiled/milspec, @@ -4961,7 +4961,7 @@ /area/aro3/function) "Ff" = ( /obj/structure/table/glass, -/obj/item/device/defib_kit/loaded, +/obj/item/defib_kit/loaded, /obj/effect/floor_decal/milspec_sterile/green/corner, /turf/simulated/floor/tiled/milspec/sterile, /area/aro3/medical) @@ -4978,7 +4978,7 @@ /area/aro3/eva_hall) "Fl" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/bluedouble, +/obj/item/bedsheet/bluedouble, /turf/simulated/floor/carpet/turcarpet, /area/aro3/suite_starboard) "Fn" = ( @@ -5047,8 +5047,8 @@ /area/aro3/eva_hall) "FH" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/blood/prelabeled/OMinus, -/obj/item/weapon/reagent_containers/blood/empty, +/obj/item/reagent_containers/blood/prelabeled/OMinus, +/obj/item/reagent_containers/blood/empty, /obj/machinery/firealarm/angled/hidden{ dir = 8 }, @@ -5097,7 +5097,7 @@ /turf/simulated/floor/plating/eris/under, /area/aro3/atmos) "Go" = ( -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/structure/bed/padded, /turf/simulated/floor/carpet/blucarpet, /area/aro3/bunkrooms) @@ -5131,7 +5131,7 @@ dir = 1; pixel_y = -24 }, -/obj/item/device/uav/loaded{ +/obj/item/uav/loaded{ nickname = "FoxBot Beta" }, /turf/simulated/floor/tiled/milspec, @@ -5168,7 +5168,7 @@ /area/aro3/medical) "GG" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/device/sleevemate, +/obj/item/sleevemate, /turf/simulated/floor/tiled/techmaint, /area/aro3/medical) "GI" = ( @@ -5177,9 +5177,9 @@ /area/aro3/surfluid) "GV" = ( /obj/structure/closet/crate/medical, -/obj/item/weapon/storage/firstaid/surgery, -/obj/item/weapon/storage/firstaid/combat, -/obj/item/weapon/storage/firstaid/adv, +/obj/item/storage/firstaid/surgery, +/obj/item/storage/firstaid/combat, +/obj/item/storage/firstaid/adv, /turf/simulated/floor/tiled/techmaint, /area/aro3/medical) "Hb" = ( @@ -6145,7 +6145,7 @@ /area/aro3/atmos) "NV" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, @@ -6284,7 +6284,7 @@ /area/space) "ON" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical, /turf/simulated/floor/tiled/milspec, /area/aro3/power) "OP" = ( @@ -6366,7 +6366,7 @@ /area/aro3/power) "Pu" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/bluedouble, +/obj/item/bedsheet/bluedouble, /turf/simulated/floor/carpet/turcarpet, /area/aro3/suite_port) "Pw" = ( @@ -6801,9 +6801,9 @@ /obj/machinery/light{ dir = 4 }, -/obj/item/weapon/inducer/hybrid, -/obj/item/device/perfect_tele/alien/bluefo, -/obj/item/device/mapping_unit, +/obj/item/inducer/hybrid, +/obj/item/perfect_tele/alien/bluefo, +/obj/item/mapping_unit, /turf/simulated/floor/tiled/milspec, /area/aro3/repair_bay) "Ta" = ( @@ -7123,7 +7123,7 @@ /area/aro3/park) "Vl" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/firstaid/adv, +/obj/item/storage/firstaid/adv, /obj/effect/floor_decal/milspec_sterile/green/corner{ dir = 4 }, @@ -7208,7 +7208,7 @@ /area/aro3/hallway_starboard) "Wg" = ( /obj/structure/table/steel, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/carpet/turcarpet, /area/aro3/suite_port) "Wk" = ( @@ -7333,7 +7333,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals10{ dir = 8 }, -/obj/item/device/healthanalyzer/phasic, +/obj/item/healthanalyzer/phasic, /turf/simulated/floor/tiled/milspec/sterile, /area/aro3/medical) "Xj" = ( @@ -7556,7 +7556,7 @@ /area/aro3/surfluid) "YN" = ( /obj/structure/table/steel, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/carpet/turcarpet, /area/aro3/suite_starboard) "YQ" = ( @@ -7718,7 +7718,7 @@ /area/aro3/suite_starboard) "ZM" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, @@ -7738,7 +7738,7 @@ /turf/simulated/floor/tiled/milspec, /area/aro3/surfluid) "ZO" = ( -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/structure/bed/padded, /turf/simulated/floor/carpet/purcarpet, /area/aro3/bunkrooms) diff --git a/maps/offmap_vr/om_ships/bearcat.dm b/maps/offmap_vr/om_ships/bearcat.dm index 69cb39e81f2..f3e3253de95 100644 --- a/maps/offmap_vr/om_ships/bearcat.dm +++ b/maps/offmap_vr/om_ships/bearcat.dm @@ -1,5 +1,5 @@ // Compile in the map for CI testing if we're testing compileability of all the maps -#if MAP_TEST +#ifdef MAP_TEST #include "bearcat.dmm" #endif @@ -7,7 +7,7 @@ /datum/map_template/om_ships/bearcat name = "OM Ship - Bearcat (New Z)" desc = "An old salvage ship, abandoned but seemingly intact." - mappath = 'bearcat.dmm' + mappath = "maps/offmap_vr/om_ships/bearcat.dmm" // The 'shuttle' /datum/shuttle/autodock/overmap/bearcat @@ -199,4 +199,4 @@ /area/shuttle/bearcat/comms name = "\improper Bearcat Communications Relay" icon_state = "tcomsatcham" - music = list('sound/ambience/signal.ogg') \ No newline at end of file + music = list('sound/ambience/signal.ogg') diff --git a/maps/offmap_vr/om_ships/bearcat.dmm b/maps/offmap_vr/om_ships/bearcat.dmm index 25c74eb6d4c..aa1c6ca1e61 100644 --- a/maps/offmap_vr/om_ships/bearcat.dmm +++ b/maps/offmap_vr/om_ships/bearcat.dmm @@ -182,7 +182,7 @@ dir = 8; icon_state = "tube1" }, -/obj/item/weapon/gun/energy/stunrevolver, +/obj/item/gun/energy/stunrevolver, /obj/structure/closet/cabinet, /obj/item/clothing/suit/space/void/refurb/officer, /obj/item/clothing/head/helmet/space/void/refurb/officer, @@ -201,13 +201,13 @@ /turf/simulated/floor/bluegrid, /area/shuttle/bearcat/comms) "aB" = ( -/obj/item/weapon/bedsheet/captain, +/obj/item/bedsheet/captain, /obj/structure/bed/pod, /turf/simulated/floor/wood, /area/shuttle/bearcat/command_captain) "aC" = ( -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /obj/structure/table/woodentable, /obj/machinery/light_switch{ pixel_y = 25 @@ -247,7 +247,7 @@ /obj/structure/handrail{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -22 }, /turf/simulated/floor/tiled/techmaint, @@ -329,7 +329,7 @@ icon_state = "1-4" }, /obj/item/ammo_magazine/ammo_box/b12g/beanbag, -/obj/item/weapon/gun/projectile/shotgun/pump/combat{ +/obj/item/gun/projectile/shotgun/pump/combat{ desc = "When words don't strike hard enough."; name = "Solid Argument" }, @@ -339,7 +339,7 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -22 }, /turf/simulated/floor/wood, @@ -389,16 +389,16 @@ /area/shuttle/bearcat/dock_central) "aT" = ( /obj/structure/closet/crate, -/obj/item/weapon/tank/jetpack/oxygen, -/obj/item/weapon/tank/jetpack/oxygen, +/obj/item/tank/jetpack/oxygen, +/obj/item/tank/jetpack/oxygen, /obj/item/clothing/shoes/magboots, /obj/item/clothing/shoes/magboots, /obj/item/clothing/suit/space/void/refurb/engineering, /obj/item/clothing/suit/space/void/refurb/engineering, /obj/item/clothing/head/helmet/space/void/refurb/engineering, /obj/item/clothing/head/helmet/space/void/refurb/engineering, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/weapon/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, /turf/simulated/floor/tiled/techfloor, /area/shuttle/bearcat/dock_port) "aU" = ( @@ -874,7 +874,7 @@ dir = 4; icon_state = "shower" }, -/obj/item/weapon/soap, +/obj/item/soap, /obj/machinery/light{ dir = 1 }, @@ -974,7 +974,7 @@ /turf/simulated/floor/tiled/techfloor, /area/shuttle/bearcat/crew_dorms) "cv" = ( -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /obj/structure/bed, /obj/structure/closet/walllocker/emerglocker/north, /turf/simulated/floor/tiled/techfloor, @@ -1095,7 +1095,7 @@ /turf/simulated/floor/tiled/techfloor, /area/shuttle/bearcat/crew_dorms) "cK" = ( -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /obj/structure/bed, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 @@ -1160,16 +1160,16 @@ /area/shuttle/bearcat/maintenance_engine) "cS" = ( /obj/structure/closet/crate, -/obj/item/weapon/tank/jetpack/oxygen, -/obj/item/weapon/tank/jetpack/oxygen, +/obj/item/tank/jetpack/oxygen, +/obj/item/tank/jetpack/oxygen, /obj/item/clothing/shoes/magboots, /obj/item/clothing/shoes/magboots, /obj/item/clothing/suit/space/void/refurb/engineering, /obj/item/clothing/suit/space/void/refurb/engineering, /obj/item/clothing/head/helmet/space/void/refurb/engineering, /obj/item/clothing/head/helmet/space/void/refurb/engineering, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/weapon/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, /turf/simulated/floor/tiled/techfloor, /area/shuttle/bearcat/dock_starboard) "cT" = ( @@ -1210,7 +1210,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -22 }, /obj/machinery/light, @@ -1244,7 +1244,7 @@ /area/shuttle/bearcat/crew_corridors) "db" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_x = -32 }, /obj/structure/cable{ @@ -1256,7 +1256,7 @@ /turf/simulated/floor/tiled/techfloor, /area/shuttle/bearcat/crew_dorms) "dc" = ( -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /obj/structure/bed, /turf/simulated/floor/tiled/techfloor, /area/shuttle/bearcat/crew_dorms) @@ -1299,7 +1299,7 @@ /area/shuttle/bearcat/crew_dorms) "dh" = ( /obj/structure/closet/walllocker/emerglocker/south, -/obj/item/weapon/bedsheet/green, +/obj/item/bedsheet/green, /obj/structure/bed, /turf/simulated/floor/tiled/techfloor, /area/shuttle/bearcat/crew_dorms) @@ -1349,7 +1349,7 @@ /area/shuttle/bearcat/crew_kitchen) "dq" = ( /obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, /obj/machinery/light{ dir = 4 }, @@ -1368,7 +1368,7 @@ /turf/simulated/floor/tiled/techfloor, /area/shuttle/bearcat/cargo) "dt" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 22 }, @@ -1513,7 +1513,7 @@ /area/shuttle/bearcat/crew_medbay) "dK" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/effect/decal/cleanable/blood, /obj/structure/closet/walllocker/emerglocker/east, /turf/simulated/floor/tiled/techfloor, @@ -1684,10 +1684,10 @@ /area/shuttle/bearcat/crew_medbay) "ec" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/pill_bottle/kelotane, -/obj/item/weapon/storage/box/syringes, +/obj/item/storage/pill_bottle/kelotane, +/obj/item/storage/box/syringes, /obj/structure/cable, -/obj/item/weapon/storage/firstaid, +/obj/item/storage/firstaid, /obj/machinery/power/apc/alarms_hidden{ dir = 8; icon_state = "apc0" @@ -1832,9 +1832,9 @@ /area/shuttle/bearcat/crew_corridors) "ex" = ( /obj/structure/table/standard, -/obj/item/device/healthanalyzer, -/obj/item/weapon/storage/pill_bottle/kelotane, -/obj/item/weapon/storage/pill_bottle/antitox, +/obj/item/healthanalyzer, +/obj/item/storage/pill_bottle/kelotane, +/obj/item/storage/pill_bottle/antitox, /obj/machinery/light_switch{ pixel_x = -25 }, @@ -1971,7 +1971,7 @@ /obj/structure/handrail{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -22 }, /turf/simulated/floor/tiled/techfloor, @@ -1987,7 +1987,7 @@ /obj/machinery/light{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 22 }, @@ -2018,13 +2018,13 @@ /area/shuttle/bearcat/crew_corridors) "eV" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox/electrical, -/obj/item/weapon/storage/toolbox/electrical{ +/obj/item/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical{ pixel_x = 7; pixel_y = 4 }, -/obj/item/device/t_scanner, -/obj/item/weapon/cell/high, +/obj/item/t_scanner, +/obj/item/cell/high, /obj/machinery/light_switch{ pixel_y = 25 }, @@ -2055,7 +2055,7 @@ /obj/fiftyspawner/steel, /obj/fiftyspawner/rods, /obj/fiftyspawner/rglass, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 22 }, @@ -2063,11 +2063,11 @@ /area/shuttle/bearcat/maintenance_storage) "eZ" = ( /obj/structure/table/standard, -/obj/item/weapon/tank/jetpack/oxygen, +/obj/item/tank/jetpack/oxygen, /obj/item/clothing/shoes/magboots, /obj/item/clothing/suit/space/void/refurb/engineering, /obj/item/clothing/head/helmet/space/void/refurb/engineering, -/obj/item/weapon/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, /turf/simulated/floor/tiled/techfloor, /area/shuttle/bearcat/maintenance_storage) "fa" = ( @@ -2084,7 +2084,7 @@ /area/shuttle/bearcat/crew_corridors) "fb" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/structure/closet/walllocker/emerglocker/east, /turf/simulated/floor/tiled/techfloor, /area/shuttle/bearcat/crew_medbay) @@ -2118,13 +2118,13 @@ /area/shuttle/bearcat/crew_corridors) "fh" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_x = 5; pixel_y = -7 }, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /obj/item/clothing/head/welding, -/obj/item/device/analyzer, +/obj/item/analyzer, /obj/machinery/light_switch{ pixel_x = -25 }, @@ -2159,7 +2159,7 @@ /area/shuttle/bearcat/maintenance_storage) "fm" = ( /obj/structure/table/standard, -/obj/item/weapon/tank/jetpack/oxygen, +/obj/item/tank/jetpack/oxygen, /obj/item/clothing/shoes/magboots, /obj/item/clothing/suit/space/void/refurb/engineering, /obj/item/clothing/head/helmet/space/void/refurb/engineering, @@ -2168,7 +2168,7 @@ icon_state = "alarm0"; pixel_x = 26 }, -/obj/item/weapon/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, /turf/simulated/floor/tiled/techfloor, /area/shuttle/bearcat/maintenance_storage) "fn" = ( @@ -2279,7 +2279,7 @@ /obj/structure/closet/walllocker/emerglocker/east, /obj/effect/decal/cleanable/cobweb2, /obj/machinery/washing_machine, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 22 }, @@ -2297,10 +2297,10 @@ /area/shuttle/bearcat/crew_corridors) "fA" = ( /obj/structure/table/standard, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/weapon/storage/box/lights/bulbs, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/storage/box/lights/bulbs, +/obj/item/storage/box/lights/mixed, /obj/structure/cable, /obj/machinery/alarm/alarms_hidden{ dir = 4; @@ -2309,7 +2309,7 @@ }, /obj/machinery/power/apc/alarms_hidden, /obj/item/clothing/head/welding, -/obj/item/device/radio, +/obj/item/radio, /turf/simulated/floor/tiled/techfloor, /area/shuttle/bearcat/maintenance_storage) "fB" = ( @@ -2459,8 +2459,8 @@ /area/shuttle/bearcat/unused2) "fR" = ( /obj/structure/table/reinforced, -/obj/item/device/flashlight/lamp, -/obj/item/weapon/spacecash/c1000, +/obj/item/flashlight/lamp, +/obj/item/spacecash/c1000, /turf/simulated/floor/tiled/techfloor, /area/shuttle/bearcat/unused2) "fS" = ( @@ -2584,7 +2584,7 @@ /area/shuttle/bearcat/unused2) "gg" = ( /obj/machinery/light/small, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -22 }, /turf/simulated/floor/tiled/techfloor, @@ -2679,7 +2679,7 @@ /obj/machinery/light/small{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 22 }, @@ -2728,15 +2728,15 @@ /area/shuttle/bearcat/maintenance_power) "gx" = ( /obj/structure/table/standard, -/obj/item/device/flashlight, -/obj/item/weapon/storage/toolbox/electrical{ +/obj/item/flashlight, +/obj/item/storage/toolbox/electrical{ pixel_x = 7; pixel_y = 4 }, /obj/machinery/light_switch{ pixel_y = 25 }, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /obj/machinery/light/small{ dir = 1 }, @@ -2747,7 +2747,7 @@ /obj/item/stack/material/uranium{ amount = 10 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 22 }, @@ -2911,7 +2911,7 @@ /obj/structure/handrail{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -22 }, /turf/simulated/floor/plating, @@ -2949,8 +2949,8 @@ /obj/structure/closet/crate{ dir = 8 }, -/obj/item/weapon/tank/phoron, -/obj/item/weapon/tank/phoron, +/obj/item/tank/phoron, +/obj/item/tank/phoron, /turf/simulated/floor/tiled/techfloor, /area/shuttle/bearcat/maintenance_enginecontrol) "gS" = ( @@ -3209,7 +3209,7 @@ /turf/simulated/wall/rshull, /area/shuttle/bearcat/maintenance_engine_pod_starboard) "in" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -22 }, /turf/simulated/floor/tiled/techfloor, @@ -3289,7 +3289,7 @@ /area/shuttle/bearcat/dock_port) "nx" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/structure/closet/walllocker/emerglocker/south, /turf/simulated/floor/tiled/techfloor, /area/shuttle/bearcat/crew_medbay) @@ -3323,7 +3323,7 @@ /turf/simulated/floor/airless, /area/shuttle/bearcat/command) "sP" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -22 }, /obj/structure/closet/walllocker/emerglocker/east, @@ -3356,7 +3356,7 @@ /turf/simulated/floor/tiled/techfloor, /area/shuttle/bearcat/dock_starboard) "Bo" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -22 }, /turf/simulated/floor/tiled/techfloor, @@ -3508,7 +3508,7 @@ /obj/structure/bed/chair/bay/comfy/black{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -22 }, /turf/simulated/floor/tiled/techfloor, diff --git a/maps/offmap_vr/om_ships/cruiser.dm b/maps/offmap_vr/om_ships/cruiser.dm deleted file mode 100644 index ab47fc272e9..00000000000 --- a/maps/offmap_vr/om_ships/cruiser.dm +++ /dev/null @@ -1,142 +0,0 @@ -// Compile in the map for CI testing if we're testing compileability of all the maps -#if MAP_TEST -#include "cruiser.dmm" -#endif - -//////// Mothership areas //////// -/area/mothership - requires_power = 1 - flags = RAD_SHIELDED - base_turf = /turf/space - icon_state = "blue2" - -/area/mothership/breakroom - name = "Daedalus - Breakroom" - -/area/mothership/hydroponics - name = "Daedalus - Hydroponics" - -/area/mothership/kitchen - name = "Daedalus - Kitchen" - -/area/mothership/eva - name = "Daedalus - EVA" - -/area/mothership/bathroom1 - name = "Daedalus - Bathroom 1" - -/area/mothership/bathroom2 - name = "Daedalus - Bathroom 2" - -/area/mothership/dorm1 - name = "Daedalus - Dorm 1" - -/area/mothership/dorm2 - name = "Daedalus - Dorm 2" - -/area/mothership/dorm3 - name = "Daedalus - Dorm 3" - -/area/mothership/dorm4 - name = "Daedalus - Dorm 4" - -/area/mothership/dorm5 - name = "Daedalus - Dorm 5" - -/area/mothership/dorm6 - name = "Daedalus - Dorm 6" - -/area/mothership/chemistry - name = "Daedalus - Chemistry" - -/area/mothership/surgery - name = "Daedalus - Surgery" - -/area/mothership/vault - name = "Daedalus - Vault" - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/mothership/teleporter - name = "Daedalus - Teleporter Room" - -/area/mothership/security - name = "Daedalus - Security Equipment" - -/area/mothership/treatment - name = "Daedalus - Treatment Center" - -/area/mothership/medical - name = "Daedalus - Medical Equipment" - -/area/mothership/resleeving - name = "Daedalus - Resleeving" - -/area/mothership/morgue - name = "Daedalus - Morgue" - -/area/mothership/rnd - name = "Daedalus - Research" - -/area/mothership/robotics - name = "Daedalus - Robotics" - -/area/mothership/sechallway - name = "Daedalus - Security Hallway" - -/area/mothership/processing - name = "Daedalus - Processing" - -/area/mothership/warden - name = "Daedalus - Warden" - -/area/mothership/armory - name = "Daedalus - Armory" - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/mothership/bridge - name = "Daedalus - Bridge" - -/area/mothership/holodeck - name = "Daedalus - Holodeck Controls" -/area/mothership/holodeck/holo - name = "Daedalus - Holodeck" - icon_state = "dk_yellow" - -/area/mothership/cryotube - name = "Daedalus - Cryo chamber" - -/area/mothership/engineering - name = "Daedalus - Engineering" - -/area/mothership/hallway - name = "Daedalus - Main Hallway" - -/area/mothership/telecomms1 - name = "Daedalus - Hangar 1" - has_gravity = 0 - -/area/mothership/telecomms2 - name = "Daedalus - Hangar 2" - has_gravity = 0 - -/datum/map_template/om_ships/cruiser - name = "OM Ship - Daedalus (New Z)" - desc = "A large NT cruiser." - mappath = 'cruiser.dmm' - -/obj/effect/overmap/visitable/ship/cruiser - name = "NDV Daedalus" - icon_state = "oberth_destroyer_g" - desc = "Spacefaring vessel. NanoTrasen IFF detected." - scanner_desc = @{"[i]Registration[/i]: NDV Daedalus -[i]Class[/i]: Light Cruiser -[i]Transponder[/i]: Transmitting (MIL), NanoTrasen IFF -[b]Notice[/b]: Military vessel, do not approach"} - vessel_mass = 15000 - vessel_size = SHIP_SIZE_LARGE - initial_generic_waypoints = list("cruiser_fore", "cruiser_aft", "cruiser_port", "cruiser_starboard", "ws_port_dock_1", "ws_port_dock_2", "ws_starboard_dock_1", "ws_starboard_dock_2") - - skybox_icon = 'cruiser.dmi' //Art by Gwyvern, see ATTRIBUTIONS.md - skybox_icon_state = "skybox" - skybox_pixel_x = 370 - skybox_pixel_y = 370 diff --git a/maps/offmap_vr/om_ships/cruiser.dmi b/maps/offmap_vr/om_ships/cruiser.dmi deleted file mode 100644 index 6a383f4c12e..00000000000 Binary files a/maps/offmap_vr/om_ships/cruiser.dmi and /dev/null differ diff --git a/maps/offmap_vr/om_ships/cruiser.dmm b/maps/offmap_vr/om_ships/cruiser.dmm deleted file mode 100644 index 33197df48bb..00000000000 --- a/maps/offmap_vr/om_ships/cruiser.dmm +++ /dev/null @@ -1,29869 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"aa" = ( -/turf/space, -/area/space) -"ac" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/machinery/door/blast/regular{ - density = 0; - destroy_hits = 1000; - dir = 4; - icon_state = "pdoor0"; - id = "ship-lounge"; - name = "Shuttle Blast Doors"; - opacity = 0 - }, -/obj/machinery/door/firedoor/glass, -/obj/structure/window/reinforced, -/turf/simulated/floor/plating, -/area/mothership/breakroom) -"ad" = ( -/obj/machinery/door/airlock/external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "ws_dock_8_outer"; - locked = 1; - req_one_access = list(101) - }, -/obj/machinery/access_button{ - command = "cycle_exterior"; - frequency = 1380; - master_tag = "ws_dock_8"; - name = "exterior access button"; - pixel_x = -26; - pixel_y = 5; - req_one_access = list(101) - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/breakroom) -"af" = ( -/obj/effect/shuttle_landmark{ - base_area = /area/space; - base_turf = /turf/space; - flags = 2; - landmark_tag = "cruiser_fore"; - name = "Vessel fore" - }, -/turf/space, -/area/space) -"ah" = ( -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/breakroom) -"ai" = ( -/obj/machinery/atmospherics/unary/vent_pump/high_volume{ - frequency = 1380; - id_tag = "ws_dock_8_pump" - }, -/obj/machinery/light/small{ - dir = 4; - pixel_y = 0 - }, -/obj/machinery/embedded_controller/radio/airlock/docking_port{ - frequency = 1380; - id_tag = "ws_dock_8"; - pixel_x = -32; - req_one_access = list(101); - tag_airpump = "ws_dock_8_pump"; - tag_chamber_sensor = "ws_dock_8_sensor"; - tag_exterior_door = "ws_dock_8_outer"; - tag_interior_door = "ws_dock_8_inner" - }, -/obj/machinery/airlock_sensor{ - frequency = 1380; - id_tag = "ws_dock_8_sensor"; - pixel_x = 25; - pixel_y = 0 - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/breakroom) -"aj" = ( -/obj/effect/floor_decal/spline/fancy/wood, -/obj/machinery/light{ - dir = 8; - icon_state = "tube1" - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/breakroom) -"ak" = ( -/obj/effect/floor_decal/spline/fancy/wood, -/obj/structure/bed/chair/comfy/black{ - dir = 1 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/breakroom) -"al" = ( -/obj/effect/floor_decal/spline/fancy/wood, -/obj/machinery/light{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/breakroom) -"am" = ( -/obj/machinery/atmospherics/unary/vent_pump/high_volume{ - frequency = 1380; - id_tag = "ws_dock_1_pump" - }, -/obj/machinery/light/small{ - dir = 8; - pixel_x = 0 - }, -/obj/machinery/airlock_sensor{ - frequency = 1380; - id_tag = "ws_dock_1_sensor"; - pixel_x = -25; - pixel_y = 0 - }, -/obj/machinery/embedded_controller/radio/airlock/docking_port{ - frequency = 1380; - id_tag = "ws_dock_1"; - pixel_x = 32; - req_one_access = list(101); - tag_airpump = "ws_dock_1_pump"; - tag_chamber_sensor = "ws_dock_1_sensor"; - tag_exterior_door = "ws_dock_1_outer"; - tag_interior_door = "ws_dock_1_inner" - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/breakroom) -"an" = ( -/obj/machinery/atmospherics/pipe/simple/hidden, -/obj/machinery/door/airlock/external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "ws_dock_8_inner"; - locked = 1; - req_one_access = list(101) - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/breakroom) -"ao" = ( -/turf/simulated/floor/wood, -/area/mothership/breakroom) -"ap" = ( -/obj/machinery/firealarm{ - dir = 2; - layer = 3.3; - pixel_x = 4; - pixel_y = 26 - }, -/turf/simulated/floor/wood, -/area/mothership/breakroom) -"aq" = ( -/obj/machinery/status_display{ - pixel_y = 29 - }, -/turf/simulated/floor/carpet/blue, -/area/mothership/breakroom) -"ar" = ( -/turf/simulated/floor/carpet/blue, -/area/mothership/breakroom) -"as" = ( -/obj/machinery/alarm{ - pixel_y = 22 - }, -/turf/simulated/floor/wood, -/area/mothership/breakroom) -"at" = ( -/obj/machinery/media/jukebox, -/turf/simulated/floor/wood, -/area/mothership/breakroom) -"au" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/door/blast/regular{ - density = 0; - destroy_hits = 1000; - dir = 1; - icon_state = "pdoor0"; - id = "ship-lounge"; - name = "Shuttle Blast Doors"; - opacity = 0 - }, -/obj/machinery/door/firedoor/glass, -/obj/structure/window/reinforced{ - dir = 4 - }, -/turf/simulated/floor/plating, -/area/mothership/breakroom) -"av" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/simulated/floor/wood, -/area/mothership/breakroom) -"aw" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/simulated/floor/wood, -/area/mothership/breakroom) -"ax" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/carpet/blue, -/area/mothership/breakroom) -"ay" = ( -/obj/structure/bed/chair/wood{ - dir = 4; - icon_state = "wooden_chair" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 10 - }, -/turf/simulated/floor/carpet/blue, -/area/mothership/breakroom) -"az" = ( -/obj/structure/table/woodentable, -/turf/simulated/floor/carpet/blue, -/area/mothership/breakroom) -"aA" = ( -/obj/structure/bed/chair/wood{ - dir = 8; - icon_state = "wooden_chair" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 6 - }, -/turf/simulated/floor/carpet/blue, -/area/mothership/breakroom) -"aB" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/simulated/floor/wood, -/area/mothership/breakroom) -"aC" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/machinery/door/blast/regular{ - density = 0; - destroy_hits = 1000; - dir = 1; - icon_state = "pdoor0"; - id = "ship-lounge"; - name = "Shuttle Blast Doors"; - opacity = 0 - }, -/obj/machinery/door/firedoor/glass, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/simulated/floor/plating, -/area/mothership/breakroom) -"aD" = ( -/obj/structure/bed/chair/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 10; - icon_state = "intact" - }, -/turf/simulated/floor/carpet/blue, -/area/mothership/breakroom) -"aE" = ( -/obj/structure/table/woodentable, -/obj/item/weapon/book/codex, -/turf/simulated/floor/carpet/blue, -/area/mothership/breakroom) -"aF" = ( -/obj/structure/bed/chair/wood{ - dir = 8; - icon_state = "wooden_chair" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 6 - }, -/turf/simulated/floor/carpet/blue, -/area/mothership/breakroom) -"aG" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 - }, -/turf/simulated/floor/wood, -/area/mothership/breakroom) -"aH" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor/carpet/blue, -/area/mothership/breakroom) -"aI" = ( -/obj/structure/bed/chair/wood{ - dir = 4; - icon_state = "wooden_chair" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/carpet/blue, -/area/mothership/breakroom) -"aJ" = ( -/obj/structure/bed/chair/wood{ - dir = 8; - icon_state = "wooden_chair" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/carpet/blue, -/area/mothership/breakroom) -"aK" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 8 - }, -/turf/simulated/floor/wood, -/area/mothership/breakroom) -"aL" = ( -/obj/machinery/vending/coffee{ - dir = 1 - }, -/turf/simulated/floor/wood, -/area/mothership/breakroom) -"aM" = ( -/obj/machinery/vending/fitness{ - dir = 1 - }, -/turf/simulated/floor/wood, -/area/mothership/breakroom) -"aN" = ( -/obj/machinery/vending/cola{ - dir = 1 - }, -/turf/simulated/floor/wood, -/area/mothership/breakroom) -"aO" = ( -/obj/machinery/vending/snack{ - dir = 1 - }, -/turf/simulated/floor/wood, -/area/mothership/breakroom) -"aP" = ( -/obj/machinery/vending/sovietsoda{ - dir = 1 - }, -/turf/simulated/floor/wood, -/area/mothership/breakroom) -"aQ" = ( -/obj/structure/closet/crate/freezer/rations, -/obj/random/mre, -/obj/random/mre, -/obj/random/mre, -/obj/random/mre, -/obj/random/mre, -/obj/random/mre, -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 2; - name = "south bump"; - pixel_y = -28; - req_access = list(67) - }, -/obj/structure/cable/cyan{ - icon_state = "0-4" - }, -/turf/simulated/floor/wood, -/area/mothership/breakroom) -"aR" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/light, -/obj/machinery/button/remote/blast_door{ - id = "ship-lounge"; - name = "Blast Doors Controls"; - pixel_y = -28 - }, -/turf/simulated/floor/carpet/blue, -/area/mothership/breakroom) -"aS" = ( -/obj/structure/cable/cyan{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/carpet/blue, -/area/mothership/breakroom) -"aT" = ( -/obj/machinery/vending/boozeomat{ - density = 0; - pixel_x = 0; - pixel_y = -32 - }, -/turf/simulated/floor/carpet/blue, -/area/mothership/breakroom) -"aU" = ( -/obj/machinery/vending/food/arojoan{ - density = 0; - pixel_x = 0; - pixel_y = -32 - }, -/turf/simulated/floor/carpet/blue, -/area/mothership/breakroom) -"aV" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/carpet/blue, -/area/mothership/breakroom) -"aW" = ( -/obj/machinery/light, -/turf/simulated/floor/carpet/blue, -/area/mothership/breakroom) -"aX" = ( -/obj/machinery/vending/dinnerware{ - dir = 1 - }, -/turf/simulated/floor/wood, -/area/mothership/breakroom) -"aY" = ( -/obj/structure/table/steel_reinforced, -/obj/machinery/chemical_dispenser/bar_alc/full, -/turf/simulated/floor/wood, -/area/mothership/breakroom) -"aZ" = ( -/obj/structure/table/steel_reinforced, -/obj/machinery/chemical_dispenser/bar_soft/full, -/turf/simulated/floor/wood, -/area/mothership/breakroom) -"ba" = ( -/obj/structure/table/steel_reinforced, -/obj/machinery/chemical_dispenser/bar_coffee/full, -/turf/simulated/floor/wood, -/area/mothership/breakroom) -"bb" = ( -/obj/structure/closet/crate/bin, -/turf/simulated/floor/wood, -/area/mothership/breakroom) -"bc" = ( -/obj/machinery/porta_turret/industrial/military, -/turf/simulated/floor/reinforced/airless{ - name = "outer hull" - }, -/area/mothership/bridge) -"bd" = ( -/turf/simulated/wall/rpshull, -/area/mothership/hydroponics) -"bf" = ( -/obj/effect/floor_decal/spline/fancy/wood{ - dir = 1 - }, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden, -/obj/machinery/door/airlock, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/hydroponics) -"bg" = ( -/obj/effect/floor_decal/spline/fancy/wood{ - dir = 1 - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden, -/obj/machinery/door/airlock, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/hydroponics) -"bh" = ( -/obj/structure/sign/department/bar, -/turf/simulated/wall/rpshull, -/area/mothership/kitchen) -"bi" = ( -/turf/simulated/wall/rpshull, -/area/mothership/kitchen) -"bj" = ( -/obj/machinery/door/window/northleft, -/obj/machinery/door/window/southleft, -/obj/structure/table/steel_reinforced, -/obj/effect/floor_decal/spline/fancy/wood{ - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/kitchen) -"bl" = ( -/obj/machinery/biogenerator, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/hydroponics) -"bm" = ( -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/structure/table/steel_reinforced, -/obj/item/weapon/material/minihoe, -/obj/item/weapon/material/minihoe, -/obj/item/weapon/material/knife, -/obj/item/weapon/material/knife, -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 1; - name = "north bump"; - pixel_x = 0; - pixel_y = 28 - }, -/obj/structure/cable/cyan{ - icon_state = "0-2" - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/hydroponics) -"bn" = ( -/obj/machinery/portable_atmospherics/hydroponics, -/obj/machinery/firealarm{ - dir = 2; - layer = 3.3; - pixel_x = 4; - pixel_y = 26 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/hydroponics) -"bo" = ( -/obj/machinery/portable_atmospherics/hydroponics, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/hydroponics) -"bp" = ( -/obj/machinery/portable_atmospherics/hydroponics, -/obj/machinery/light{ - dir = 1 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/hydroponics) -"bq" = ( -/obj/structure/sink/kitchen, -/turf/simulated/wall/rpshull, -/area/mothership/hydroponics) -"br" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 5; - icon_state = "intact" - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/hydroponics) -"bs" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden{ - dir = 1; - icon_state = "map" - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/hydroponics) -"bt" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/hydroponics) -"bu" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 9; - pixel_y = 0 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 9; - icon_state = "intact" - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/hydroponics) -"bv" = ( -/obj/structure/sink/kitchen, -/turf/simulated/wall/rpshull, -/area/mothership/kitchen) -"bw" = ( -/obj/machinery/chem_master/condimaster, -/turf/simulated/floor/tiled/white, -/area/mothership/kitchen) -"bx" = ( -/obj/structure/table/steel_reinforced, -/obj/machinery/microwave, -/obj/machinery/light{ - dir = 1 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/kitchen) -"by" = ( -/turf/simulated/floor/tiled/white, -/area/mothership/kitchen) -"bz" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ - pixel_x = 3 - }, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ - pixel_x = -3; - pixel_y = 0 - }, -/obj/machinery/alarm{ - pixel_y = 22 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/kitchen) -"bA" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/book/manual/chef_recipes, -/obj/item/weapon/reagent_containers/food/condiment/enzyme{ - layer = 5 - }, -/obj/item/weapon/reagent_containers/food/condiment/enzyme{ - layer = 5 - }, -/obj/item/weapon/material/knife/butch, -/obj/item/weapon/material/kitchen/rollingpin, -/obj/machinery/firealarm{ - dir = 2; - layer = 3.3; - pixel_x = 4; - pixel_y = 26 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/kitchen) -"bB" = ( -/obj/structure/table/steel_reinforced, -/obj/machinery/reagentgrinder, -/obj/item/weapon/storage/box/beakers, -/obj/machinery/button/remote/blast_door{ - id = "ship-kitchen"; - name = "Blast Doors Controls"; - pixel_y = 28 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/kitchen) -"bC" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/door/blast/regular{ - density = 0; - destroy_hits = 1000; - dir = 1; - icon_state = "pdoor0"; - id = "ship-hydroponics"; - name = "Shuttle Blast Doors"; - opacity = 0 - }, -/obj/machinery/door/firedoor/glass, -/obj/structure/window/reinforced{ - dir = 4 - }, -/turf/simulated/floor/plating, -/area/mothership/hydroponics) -"bD" = ( -/obj/machinery/seed_storage/xenobotany{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/hydroponics) -"bE" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/hydroponics) -"bF" = ( -/obj/structure/cable/cyan{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/hydroponics) -"bG" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/hydroponics) -"bH" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/hydroponics) -"bI" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/structure/cable/cyan{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/hydroponics) -"bJ" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/hydroponics) -"bK" = ( -/obj/structure/cable/cyan{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/hydroponics) -"bL" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/hydroponics) -"bM" = ( -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/kitchen) -"bN" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/kitchen) -"bO" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/kitchen) -"bP" = ( -/obj/structure/closet/secure_closet/freezer/meat, -/turf/simulated/floor/tiled/white, -/area/mothership/kitchen) -"bQ" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/machinery/door/blast/regular{ - density = 0; - destroy_hits = 1000; - dir = 1; - icon_state = "pdoor0"; - id = "ship-kitchen"; - name = "Shuttle Blast Doors"; - opacity = 0 - }, -/obj/machinery/door/firedoor/glass, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/simulated/floor/plating, -/area/mothership/kitchen) -"bR" = ( -/obj/machinery/vending/hydronutrients{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/hydroponics) -"bS" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/hydroponics) -"bT" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/hydroponics) -"bU" = ( -/obj/machinery/door/airlock/multi_tile/metal{ - dir = 2 - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/hydroponics) -"bV" = ( -/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/hydroponics) -"bW" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/structure/cable/cyan{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/hydroponics) -"bX" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/hydroponics) -"bY" = ( -/obj/machinery/door/airlock/multi_tile/metal{ - dir = 2 - }, -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/kitchen) -"bZ" = ( -/obj/structure/cable/cyan{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/kitchen) -"ca" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/kitchen) -"cb" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 8 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/kitchen) -"cc" = ( -/obj/structure/closet/secure_closet/freezer/fridge, -/turf/simulated/floor/tiled/white, -/area/mothership/kitchen) -"cd" = ( -/obj/machinery/seed_extractor, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/hydroponics) -"ce" = ( -/obj/structure/reagent_dispensers/watertank, -/obj/machinery/light, -/obj/machinery/alarm{ - dir = 1; - icon_state = "alarm0"; - pixel_y = -22 - }, -/obj/machinery/button/remote/blast_door{ - id = "ship-hydroponics"; - name = "Blast Doors Controls"; - pixel_x = 20; - pixel_y = -28 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/hydroponics) -"cf" = ( -/obj/machinery/alarm{ - dir = 4; - pixel_x = -23; - pixel_y = 0 - }, -/obj/structure/closet/crate/bin, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/hydroponics) -"cg" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/hydroponics) -"ch" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4; - icon_state = "intact-scrubbers" - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/hydroponics) -"ci" = ( -/obj/machinery/light, -/obj/machinery/firealarm{ - dir = 1; - pixel_x = 0; - pixel_y = -25 - }, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/hydroponics) -"cj" = ( -/obj/machinery/smartfridge, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/kitchen) -"ck" = ( -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 2; - name = "south bump"; - pixel_y = -28; - req_access = list(67) - }, -/obj/structure/cable/cyan, -/turf/simulated/floor/tiled/white, -/area/mothership/kitchen) -"cl" = ( -/obj/machinery/appliance/mixer/cereal, -/obj/effect/floor_decal/industrial/warning/dust{ - dir = 9 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/kitchen) -"cm" = ( -/obj/machinery/appliance/cooker/fryer, -/obj/structure/table/steel_reinforced, -/obj/effect/floor_decal/industrial/warning/dust{ - dir = 1 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/kitchen) -"cn" = ( -/obj/machinery/appliance/cooker/oven, -/obj/structure/table/steel_reinforced, -/obj/effect/floor_decal/industrial/warning/dust{ - dir = 1 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/kitchen) -"co" = ( -/obj/machinery/appliance/cooker/grill, -/obj/structure/table/steel_reinforced, -/obj/effect/floor_decal/industrial/warning/dust{ - dir = 1 - }, -/obj/machinery/light, -/turf/simulated/floor/tiled/white, -/area/mothership/kitchen) -"cp" = ( -/obj/machinery/appliance/mixer/candy, -/obj/effect/floor_decal/industrial/warning/dust{ - dir = 1 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/kitchen) -"cq" = ( -/turf/simulated/floor/reinforced/airless{ - name = "outer hull" - }, -/area/mothership/bridge) -"cr" = ( -/turf/simulated/wall/rpshull, -/area/mothership/eva) -"cw" = ( -/obj/item/clothing/suit/space/void/security/alt, -/obj/item/clothing/head/helmet/space/void/security/alt, -/obj/item/weapon/tank/oxygen, -/obj/item/clothing/shoes/magboots, -/obj/item/clothing/mask/breath, -/obj/machinery/alarm{ - pixel_y = 22 - }, -/obj/structure/table/rack/shelf/steel, -/obj/item/weapon/tank/jetpack/oxygen, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/eva) -"cx" = ( -/obj/item/clothing/suit/space/void/atmos, -/obj/item/clothing/head/helmet/space/void/atmos, -/obj/item/weapon/tank/oxygen/red, -/obj/item/clothing/shoes/magboots, -/obj/item/clothing/mask/breath, -/obj/structure/table/rack/shelf/steel, -/obj/item/weapon/tank/jetpack/oxygen, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/eva) -"cy" = ( -/obj/item/clothing/suit/space/void/medical/alt, -/obj/item/clothing/head/helmet/space/void/medical/emt, -/obj/item/weapon/tank/oxygen, -/obj/item/clothing/shoes/magboots, -/obj/item/clothing/mask/breath, -/obj/structure/table/rack/shelf/steel, -/obj/item/weapon/tank/jetpack/oxygen, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/eva) -"cz" = ( -/obj/machinery/suit_cycler, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/eva) -"cA" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/toolbox/syndicate/powertools, -/obj/item/device/multitool, -/obj/machinery/light{ - dir = 1 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/eva) -"cB" = ( -/obj/structure/table/steel_reinforced, -/obj/fiftyspawner/steel, -/obj/fiftyspawner/steel, -/obj/fiftyspawner/steel, -/obj/machinery/alarm{ - pixel_y = 22 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/eva) -"cC" = ( -/obj/machinery/status_display{ - pixel_y = 29 - }, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/eva) -"cD" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/eva) -"cE" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/eva) -"cF" = ( -/obj/machinery/status_display{ - pixel_y = 29 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/eva) -"cG" = ( -/obj/structure/table/steel_reinforced, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/machinery/firealarm{ - dir = 2; - layer = 3.3; - pixel_x = 4; - pixel_y = 26 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/eva) -"cH" = ( -/obj/machinery/door/airlock/external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "ws_dock_7_outer"; - locked = 1; - req_one_access = list(101) - }, -/obj/machinery/access_button{ - command = "cycle_exterior"; - frequency = 1380; - master_tag = "ws_dock_7"; - name = "exterior access button"; - pixel_x = -5; - pixel_y = 26; - req_one_access = list(101) - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/eva) -"cI" = ( -/obj/machinery/atmospherics/unary/vent_pump/high_volume{ - dir = 4; - frequency = 1380; - id_tag = "ws_dock_7_pump" - }, -/obj/machinery/light/small, -/obj/machinery/airlock_sensor{ - frequency = 1380; - id_tag = "ws_dock_7_sensor"; - pixel_x = 0; - pixel_y = -25 - }, -/obj/machinery/embedded_controller/radio/airlock/docking_port{ - frequency = 1380; - id_tag = "ws_dock_7"; - pixel_y = 32; - req_one_access = list(101); - tag_airpump = "ws_dock_7_pump"; - tag_chamber_sensor = "ws_dock_7_sensor"; - tag_exterior_door = "ws_dock_7_outer"; - tag_interior_door = "ws_dock_7_inner" - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/eva) -"cJ" = ( -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/obj/machinery/door/airlock/external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "ws_dock_7_inner"; - locked = 1; - req_one_access = list(101) - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/eva) -"cK" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/obj/machinery/access_button{ - command = "cycle_interior"; - frequency = 1380; - master_tag = "ws_dock_7"; - name = "interior access button"; - pixel_x = -28; - pixel_y = -26; - req_one_access = list(101) - }, -/obj/effect/floor_decal/industrial/warning{ - dir = 8 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/eva) -"cL" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/eva) -"cM" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/eva) -"cN" = ( -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/obj/machinery/door/airlock/maintenance, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/eva) -"cO" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/eva) -"cP" = ( -/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/manifold4w/hidden, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/eva) -"cQ" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/eva) -"cR" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/eva) -"cS" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/obj/machinery/access_button{ - command = "cycle_interior"; - frequency = 1380; - master_tag = "ws_dock_2"; - name = "interior access button"; - pixel_x = 28; - pixel_y = -26; - req_one_access = list(101) - }, -/obj/effect/floor_decal/industrial/warning{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/eva) -"cT" = ( -/obj/machinery/atmospherics/unary/vent_pump/high_volume{ - dir = 8; - frequency = 1380; - id_tag = "ws_dock_2_pump" - }, -/obj/machinery/light/small, -/obj/machinery/embedded_controller/radio/airlock/docking_port{ - frequency = 1380; - id_tag = "ws_dock_2"; - pixel_y = 32; - req_one_access = list(101); - tag_airpump = "ws_dock_2_pump"; - tag_chamber_sensor = "ws_dock_2_sensor"; - tag_exterior_door = "ws_dock_2_outer"; - tag_interior_door = "ws_dock_2_inner" - }, -/obj/machinery/airlock_sensor{ - frequency = 1380; - id_tag = "ws_dock_2_sensor"; - pixel_x = 0; - pixel_y = -25 - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/eva) -"cU" = ( -/obj/item/clothing/suit/space/void/security/alt, -/obj/item/clothing/head/helmet/space/void/security/alt, -/obj/item/weapon/tank/oxygen, -/obj/item/clothing/shoes/magboots, -/obj/item/clothing/mask/breath, -/obj/structure/table/rack/shelf/steel, -/obj/item/weapon/tank/jetpack/oxygen, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/eva) -"cV" = ( -/obj/item/clothing/suit/space/void/engineering/salvage, -/obj/item/clothing/head/helmet/space/void/engineering/salvage, -/obj/item/weapon/tank/oxygen/red, -/obj/item/clothing/shoes/magboots, -/obj/item/clothing/mask/breath, -/obj/machinery/light, -/obj/structure/table/rack/shelf/steel, -/obj/item/weapon/tank/jetpack/oxygen, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/eva) -"cW" = ( -/obj/item/clothing/suit/space/void/exploration, -/obj/item/clothing/head/helmet/space/void/exploration, -/obj/item/weapon/tank/oxygen, -/obj/item/clothing/shoes/magboots, -/obj/item/clothing/mask/breath, -/obj/machinery/firealarm{ - dir = 1; - pixel_x = 0; - pixel_y = -25 - }, -/obj/structure/table/rack/shelf/steel, -/obj/item/weapon/tank/jetpack/oxygen, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/eva) -"cX" = ( -/obj/structure/dispenser/oxygen{ - oxygentanks = 40 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/eva) -"cY" = ( -/obj/machinery/portable_atmospherics/canister/oxygen, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/eva) -"cZ" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/briefcase/inflatable, -/obj/item/weapon/storage/briefcase/inflatable, -/obj/item/weapon/storage/briefcase/inflatable, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/eva) -"da" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/eva) -"db" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/eva) -"dc" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/structure/cable/cyan{ - icon_state = "2-4" - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/eva) -"dd" = ( -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 2; - name = "south bump"; - pixel_y = -28; - req_access = list(67) - }, -/obj/structure/cable/cyan{ - icon_state = "0-8" - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/eva) -"de" = ( -/obj/structure/sign/department/eva, -/turf/simulated/wall/rpshull, -/area/mothership/eva) -"df" = ( -/turf/simulated/wall/rpshull, -/area/mothership/bathroom1) -"dg" = ( -/obj/machinery/recharge_station, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/bathroom1) -"dh" = ( -/obj/structure/sink{ - pixel_y = 32 - }, -/obj/structure/cable/cyan{ - icon_state = "2-4" - }, -/obj/machinery/firealarm{ - dir = 2; - layer = 3.3; - pixel_x = 4; - pixel_y = 26 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 6 - }, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/bathroom1) -"di" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/door/airlock, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/bathroom1) -"dj" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"dk" = ( -/obj/structure/cable/cyan{ - icon_state = "2-8" - }, -/obj/structure/cable/cyan{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 6 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"dl" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"dm" = ( -/obj/structure/cable/cyan{ - icon_state = "2-8" - }, -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/manifold/hidden, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"dn" = ( -/obj/structure/cable/cyan{ - icon_state = "1-4" - }, -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"do" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/door/airlock, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/bathroom2) -"dp" = ( -/obj/structure/sink{ - pixel_y = 32 - }, -/obj/structure/cable/cyan{ - icon_state = "2-8" - }, -/obj/machinery/firealarm{ - dir = 2; - layer = 3.3; - pixel_x = 4; - pixel_y = 26 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 10 - }, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/bathroom2) -"dq" = ( -/obj/machinery/recharge_station, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/bathroom2) -"dr" = ( -/turf/simulated/wall/rpshull, -/area/mothership/bathroom2) -"dt" = ( -/obj/machinery/shower{ - dir = 4; - icon_state = "shower"; - pixel_x = 2; - pixel_y = 0 - }, -/obj/machinery/door/window/survival_pod, -/obj/effect/floor_decal/steeldecal/steel_decals10{ - dir = 1 - }, -/obj/structure/curtain/open/shower, -/turf/simulated/floor/tiled/white, -/area/mothership/bathroom1) -"du" = ( -/obj/machinery/alarm{ - alarm_id = "pen_nine"; - breach_detection = 0; - dir = 1; - icon_state = "alarm0"; - pixel_y = -22 - }, -/obj/machinery/light/small, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/bathroom1) -"dv" = ( -/obj/structure/toilet{ - dir = 1 - }, -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 2; - name = "south bump"; - pixel_y = -28; - req_access = list(67) - }, -/obj/structure/cable/cyan, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 1 - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/bathroom1) -"dw" = ( -/obj/machinery/status_display{ - pixel_x = -32; - pixel_y = 0 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"dx" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden, -/obj/machinery/porta_turret/industrial/teleport_defense{ - auto_repair = 1; - check_access = 0; - check_weapons = 1; - name = "anti-boarding turret"; - req_one_access = list(101) - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"dy" = ( -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"dz" = ( -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"dA" = ( -/obj/machinery/light, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"dB" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"dC" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"dD" = ( -/obj/machinery/alarm{ - alarm_id = "pen_nine"; - breach_detection = 0; - dir = 1; - icon_state = "alarm0"; - pixel_y = -22 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"dE" = ( -/obj/machinery/status_display{ - pixel_x = 32; - pixel_y = 0 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"dG" = ( -/obj/structure/toilet{ - dir = 1 - }, -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 2; - name = "south bump"; - pixel_y = -28; - req_access = list(67) - }, -/obj/structure/cable/cyan, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 1 - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/bathroom2) -"dH" = ( -/obj/machinery/alarm{ - alarm_id = "pen_nine"; - breach_detection = 0; - dir = 1; - icon_state = "alarm0"; - pixel_y = -22 - }, -/obj/machinery/light/small, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/bathroom2) -"dI" = ( -/obj/machinery/door/window/survival_pod{ - dir = 8 - }, -/obj/machinery/shower{ - dir = 8; - icon_state = "shower"; - pixel_x = 2; - pixel_y = 0 - }, -/obj/effect/floor_decal/steeldecal/steel_decals10{ - dir = 4 - }, -/obj/structure/curtain/open/shower, -/turf/simulated/floor/tiled/white, -/area/mothership/bathroom2) -"dJ" = ( -/turf/simulated/wall/rpshull, -/area/mothership/surgery) -"dK" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/machinery/door/blast/regular{ - density = 0; - destroy_hits = 1000; - dir = 4; - icon_state = "pdoor0"; - id = "ship-med-surgery"; - name = "Shuttle Blast Doors"; - opacity = 0 - }, -/obj/machinery/door/firedoor/glass, -/obj/structure/window/reinforced, -/turf/simulated/floor/plating, -/area/mothership/surgery) -"dL" = ( -/turf/simulated/wall/rpshull, -/area/mothership/dorm1) -"dN" = ( -/obj/machinery/light{ - dir = 8; - icon_state = "tube1" - }, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"dO" = ( -/turf/simulated/wall/rpshull, -/area/mothership/teleporter) -"dQ" = ( -/obj/machinery/door/airlock/multi_tile/metal, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/teleporter) -"dR" = ( -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/teleporter) -"dS" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"dT" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"dU" = ( -/turf/simulated/wall/rpshull, -/area/mothership/dorm2) -"dV" = ( -/turf/simulated/wall/rpshull, -/area/mothership/security) -"dW" = ( -/obj/structure/closet/crate/medical, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu13, -/turf/simulated/floor/tiled/white, -/area/mothership/surgery) -"dX" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 4 - }, -/obj/machinery/alarm{ - pixel_y = 22 - }, -/obj/machinery/light{ - dir = 1 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/surgery) -"dY" = ( -/obj/structure/closet/secure_closet/medical2, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 10 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/surgery) -"dZ" = ( -/obj/structure/closet/secure_closet/personal, -/turf/simulated/floor/wood, -/area/mothership/dorm1) -"ea" = ( -/obj/structure/table/woodentable, -/obj/item/modular_computer/laptop/preset/custom_loadout/elite, -/obj/machinery/status_display{ - pixel_y = 29 - }, -/turf/simulated/floor/wood, -/area/mothership/dorm1) -"eb" = ( -/obj/structure/closet/wardrobe/ert, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) - }, -/obj/machinery/atmospherics/unary/vent_scrubber/on, -/obj/item/weapon/storage/box/survival/space, -/obj/item/weapon/storage/toolbox/emergency, -/turf/simulated/floor/wood, -/area/mothership/dorm1) -"ec" = ( -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/teleporter) -"ed" = ( -/obj/structure/cable/cyan{ - icon_state = "0-4" - }, -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 1; - name = "north bump"; - pixel_x = 0; - pixel_y = 28 - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/teleporter) -"ee" = ( -/obj/structure/cable/cyan{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/structure/cable/cyan{ - icon_state = "1-4" - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/teleporter) -"ef" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/teleporter) -"eg" = ( -/obj/machinery/firealarm{ - dir = 2; - layer = 3.3; - pixel_x = 4; - pixel_y = 26 - }, -/obj/structure/cable/cyan{ - icon_state = "2-8" - }, -/obj/effect/floor_decal/industrial/warning/corner, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/teleporter) -"eh" = ( -/obj/effect/floor_decal/industrial/warning{ - dir = 1; - icon_state = "warning" - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/teleporter) -"ei" = ( -/obj/structure/closet/wardrobe/ert, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) - }, -/obj/machinery/atmospherics/unary/vent_scrubber/on, -/obj/item/weapon/storage/box/survival/space, -/obj/item/weapon/storage/toolbox/emergency, -/turf/simulated/floor/wood, -/area/mothership/dorm2) -"ej" = ( -/obj/structure/table/woodentable, -/obj/item/modular_computer/laptop/preset/custom_loadout/elite, -/obj/machinery/status_display{ - pixel_y = 29 - }, -/turf/simulated/floor/wood, -/area/mothership/dorm2) -"ek" = ( -/obj/structure/closet/secure_closet/personal, -/turf/simulated/floor/wood, -/area/mothership/dorm2) -"el" = ( -/obj/structure/table/rack/shelf/steel, -/obj/machinery/light/small{ - dir = 8; - pixel_x = 0 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/security) -"em" = ( -/obj/machinery/vending/security, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/security) -"en" = ( -/obj/item/clothing/head/helmet/solgov, -/obj/item/clothing/head/helmet/solgov, -/obj/item/clothing/head/helmet/solgov, -/obj/item/clothing/head/helmet/solgov, -/obj/machinery/light/small{ - dir = 4; - pixel_y = 0 - }, -/obj/structure/table/rack/shelf/steel, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/security) -"eo" = ( -/obj/structure/closet/crate/medical, -/obj/item/stack/nanopaste/advanced, -/obj/item/stack/nanopaste/advanced, -/obj/item/stack/nanopaste/advanced, -/obj/item/stack/nanopaste/advanced, -/obj/item/stack/nanopaste/advanced, -/obj/item/stack/nanopaste/advanced, -/obj/item/stack/nanopaste/advanced, -/obj/item/stack/nanopaste/advanced, -/obj/item/stack/nanopaste/advanced, -/obj/item/stack/nanopaste/advanced, -/obj/item/device/mmi/digital/posibrain, -/obj/item/device/mmi, -/obj/item/weapon/book/manual/robotics_cyborgs, -/obj/item/device/robotanalyzer, -/obj/item/weapon/storage/toolbox/syndicate/powertools, -/obj/item/weapon/reagent_containers/spray/cleaner{ - desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; - name = "Surgery Cleaner"; - pixel_x = 2; - pixel_y = 2 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/surgery) -"ep" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 - }, -/obj/machinery/button/remote/blast_door{ - id = "ship-med-surgery"; - name = "Blast Doors Controls"; - pixel_y = -28 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/surgery) -"eq" = ( -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 26 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/white, -/area/mothership/surgery) -"er" = ( -/obj/item/weapon/bedsheet/captaindouble, -/obj/structure/bed/double/padded, -/obj/machinery/firealarm{ - dir = 8; - pixel_x = -24 - }, -/obj/machinery/button/remote/airlock{ - id = "ship-dorm1-door"; - name = "Dorm 1 Lock"; - pixel_x = 6; - pixel_y = -26; - specialfunctions = 4 - }, -/obj/structure/curtain/open/bed, -/turf/simulated/floor/wood, -/area/mothership/dorm1) -"es" = ( -/obj/structure/bed/chair/office/dark{ - dir = 1 - }, -/obj/machinery/alarm{ - alarm_id = "pen_nine"; - breach_detection = 0; - dir = 1; - icon_state = "alarm0"; - pixel_y = -22 - }, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 - }, -/obj/machinery/light/small, -/turf/simulated/floor/wood, -/area/mothership/dorm1) -"et" = ( -/obj/structure/cable/cyan{ - icon_state = "0-4" - }, -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 2; - name = "south bump"; - pixel_y = -28; - req_access = list(67) - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 5 - }, -/turf/simulated/floor/wood, -/area/mothership/dorm1) -"eu" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/door/airlock{ - id_tag = "ship-dorm1-door" - }, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/dorm1) -"ev" = ( -/obj/structure/cable/cyan{ - icon_state = "2-8" - }, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"ew" = ( -/obj/machinery/light{ - dir = 8; - icon_state = "tube1"; - pixel_y = 0 - }, -/obj/effect/floor_decal/industrial/warning, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/teleporter) -"ex" = ( -/obj/effect/floor_decal/industrial/warning, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/teleporter) -"ey" = ( -/obj/effect/floor_decal/industrial/warning, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 1 - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/teleporter) -"ez" = ( -/obj/effect/floor_decal/industrial/warning, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/teleporter) -"eA" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/effect/floor_decal/industrial/hatch/yellow, -/obj/structure/cable/cyan{ - icon_state = "0-8" - }, -/obj/machinery/power/shield_generator/charged{ - field_radius = 49; - initial_shield_modes = 2113; - target_radius = 49 - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/teleporter) -"eB" = ( -/obj/structure/cable/cyan{ - icon_state = "2-4" - }, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"eC" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/door/airlock{ - id_tag = "ship-dorm2-door" - }, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/dorm2) -"eD" = ( -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 2; - name = "south bump"; - pixel_y = -28; - req_access = list(67) - }, -/obj/structure/cable/cyan{ - icon_state = "0-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 9 - }, -/turf/simulated/floor/wood, -/area/mothership/dorm2) -"eE" = ( -/obj/structure/bed/chair/office/dark{ - dir = 1 - }, -/obj/machinery/light/small, -/obj/machinery/alarm{ - alarm_id = "pen_nine"; - breach_detection = 0; - dir = 1; - icon_state = "alarm0"; - pixel_y = -22 - }, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 8 - }, -/turf/simulated/floor/wood, -/area/mothership/dorm2) -"eF" = ( -/obj/item/weapon/bedsheet/captaindouble, -/obj/structure/bed/double/padded, -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 26 - }, -/obj/machinery/button/remote/airlock{ - id = "ship-dorm2-door"; - name = "Dorm 2 Lock"; - pixel_x = -6; - pixel_y = -26; - specialfunctions = 4 - }, -/obj/structure/curtain/open/bed, -/turf/simulated/floor/wood, -/area/mothership/dorm2) -"eG" = ( -/obj/structure/table/rack/shelf/steel, -/obj/item/weapon/storage/box/flashbangs{ - pixel_x = -2; - pixel_y = -2 - }, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/machinery/alarm{ - dir = 4; - pixel_x = -23; - pixel_y = 0 - }, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 4 - }, -/obj/item/clothing/accessory/storage/pouches/large/blue, -/obj/item/clothing/accessory/storage/pouches/large/blue, -/obj/item/clothing/accessory/storage/pouches/large/blue, -/obj/item/clothing/accessory/storage/pouches/large/blue, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/security) -"eH" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 10 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/security) -"eI" = ( -/obj/item/clothing/suit/armor/pcarrier/blue/sol, -/obj/item/clothing/suit/armor/pcarrier/blue/sol, -/obj/item/clothing/suit/armor/pcarrier/blue/sol, -/obj/item/clothing/suit/armor/pcarrier/blue/sol, -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 26 - }, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 8 - }, -/obj/structure/table/rack/shelf/steel, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/security) -"eJ" = ( -/obj/machinery/door/airlock/medical, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/surgery) -"eK" = ( -/turf/simulated/wall/rpshull, -/area/mothership/chemistry) -"eM" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/alarm{ - alarm_id = "anomaly_testing"; - breach_detection = 0; - dir = 8; - frequency = 1439; - pixel_x = 22; - pixel_y = 0; - report_danger_level = 0 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"eN" = ( -/obj/effect/floor_decal/industrial/hatch/yellow, -/obj/machinery/teleport/hub, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/teleporter) -"eO" = ( -/obj/machinery/teleport/station, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/teleporter) -"eP" = ( -/obj/machinery/computer/teleporter{ - dir = 1 - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/teleporter) -"eQ" = ( -/obj/effect/floor_decal/industrial/hatch/yellow, -/obj/item/device/perfect_tele_beacon/stationary{ - tele_name = "Daedalus"; - tele_network = "centcom" - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/teleporter) -"eR" = ( -/obj/effect/floor_decal/industrial/warning{ - dir = 8; - icon_state = "warning" - }, -/obj/machinery/alarm{ - alarm_id = "pen_nine"; - breach_detection = 0; - dir = 1; - icon_state = "alarm0"; - pixel_y = -22 - }, -/obj/effect/floor_decal/industrial/warning/corner{ - dir = 4 - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/teleporter) -"eU" = ( -/obj/machinery/door/firedoor/glass, -/obj/machinery/door/airlock/security, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/security) -"eV" = ( -/obj/machinery/oxygen_pump/anesthetic, -/turf/simulated/wall/rpshull, -/area/mothership/surgery) -"eW" = ( -/obj/structure/medical_stand, -/obj/machinery/alarm{ - pixel_y = 22 - }, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/surgery) -"eX" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/surgery) -"eY" = ( -/obj/machinery/chemical_dispenser/full, -/turf/simulated/floor/tiled/white, -/area/mothership/chemistry) -"eZ" = ( -/obj/machinery/chem_master, -/turf/simulated/floor/tiled/white, -/area/mothership/chemistry) -"fa" = ( -/obj/machinery/chemical_dispenser/ert, -/turf/simulated/floor/tiled/white, -/area/mothership/chemistry) -"fb" = ( -/obj/structure/closet/hydrant{ - pixel_x = -32 - }, -/obj/item/clothing/suit/fire/firefighter, -/obj/item/clothing/mask/gas, -/obj/item/device/flashlight, -/obj/item/weapon/tank/oxygen/red, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/extinguisher, -/obj/item/weapon/extinguisher, -/obj/item/clothing/head/hardhat/red, -/obj/item/weapon/storage/toolbox/emergency, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"fc" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"fd" = ( -/turf/simulated/wall/rpshull, -/area/mothership/vault) -"fe" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/light{ - dir = 8; - icon_state = "tube1" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"ff" = ( -/obj/structure/closet/hydrant{ - pixel_x = 32 - }, -/obj/item/clothing/suit/fire/firefighter, -/obj/item/clothing/mask/gas, -/obj/item/device/flashlight, -/obj/item/weapon/tank/oxygen/red, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/extinguisher, -/obj/item/weapon/extinguisher, -/obj/item/clothing/head/hardhat/red, -/obj/item/weapon/storage/toolbox/emergency, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"fg" = ( -/obj/structure/table/rack/shelf/steel, -/obj/item/weapon/storage/lockbox, -/obj/item/clothing/mask/gas{ - pixel_x = -3; - pixel_y = -3 - }, -/obj/item/clothing/mask/gas{ - pixel_x = -3; - pixel_y = -3 - }, -/obj/item/clothing/mask/gas{ - pixel_x = -3; - pixel_y = -3 - }, -/obj/item/clothing/glasses/hud/security, -/obj/item/clothing/glasses/hud/security, -/obj/item/clothing/glasses/hud/security, -/obj/item/clothing/glasses/hud/security, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/security) -"fh" = ( -/obj/item/clothing/accessory/storage/black_vest, -/obj/item/clothing/accessory/storage/black_vest, -/obj/item/clothing/accessory/storage/black_vest, -/obj/item/clothing/accessory/storage/black_vest, -/obj/item/clothing/accessory/storage/black_drop_pouches, -/obj/item/clothing/accessory/storage/black_drop_pouches, -/obj/item/clothing/accessory/storage/black_drop_pouches, -/obj/item/clothing/accessory/storage/black_drop_pouches, -/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, -/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, -/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, -/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, -/obj/structure/table/rack/shelf/steel, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/security) -"fi" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/security) -"fj" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/table/bench/steel, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/security) -"fk" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/table/bench/steel, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/security) -"fl" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/security) -"fm" = ( -/obj/item/device/holowarrant, -/obj/structure/closet/secure_closet/nanotrasen_security, -/obj/machinery/light{ - dir = 4; - icon_state = "tube1" - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/security) -"fo" = ( -/obj/machinery/optable, -/turf/simulated/floor/tiled/white, -/area/mothership/surgery) -"fp" = ( -/turf/simulated/floor/tiled/white, -/area/mothership/surgery) -"fq" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/white, -/area/mothership/surgery) -"fr" = ( -/obj/structure/table/steel_reinforced, -/obj/fiftyspawner/phoron, -/obj/machinery/reagentgrinder, -/turf/simulated/floor/tiled/white, -/area/mothership/chemistry) -"fs" = ( -/obj/structure/bed/chair/office/dark{ - dir = 1 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/chemistry) -"ft" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/dropper, -/turf/simulated/floor/tiled/white, -/area/mothership/chemistry) -"fu" = ( -/obj/structure/sign/department/chem, -/turf/simulated/wall/rpshull, -/area/mothership/chemistry) -"fv" = ( -/obj/machinery/light/small{ - dir = 1; - icon_state = "bulb1" - }, -/obj/structure/closet/radiation, -/obj/fiftyspawner/uranium, -/obj/fiftyspawner/uranium, -/obj/fiftyspawner/uranium, -/obj/fiftyspawner/uranium, -/obj/fiftyspawner/uranium, -/obj/fiftyspawner/uranium, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/vault) -"fx" = ( -/obj/machinery/alarm{ - pixel_y = 22; - target_temperature = 274.15 - }, -/obj/machinery/power/port_gen/pacman/super/potato{ - sheets = 100 - }, -/obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 0 - }, -/obj/effect/floor_decal/industrial/hatch/yellow, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/vault) -"fy" = ( -/obj/machinery/light/small{ - dir = 4; - pixel_y = 0 - }, -/obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 0 - }, -/obj/machinery/power/port_gen/pacman/super/potato{ - sheets = 100 - }, -/obj/effect/floor_decal/industrial/hatch/yellow, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/vault) -"fA" = ( -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 1; - name = "north bump"; - pixel_x = 0; - pixel_y = 28 - }, -/obj/structure/cable/cyan{ - icon_state = "0-2" - }, -/obj/machinery/light/small{ - dir = 1; - icon_state = "bulb1" - }, -/obj/structure/closet/radiation, -/obj/fiftyspawner/uranium, -/obj/fiftyspawner/uranium, -/obj/fiftyspawner/uranium, -/obj/fiftyspawner/uranium, -/obj/fiftyspawner/uranium, -/obj/fiftyspawner/uranium, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/vault) -"fB" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/alarm{ - dir = 4; - icon_state = "alarm0"; - pixel_x = -22 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"fC" = ( -/obj/machinery/firealarm{ - dir = 8; - pixel_x = -24 - }, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/security) -"fD" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/security) -"fE" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/table/bench/steel, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/security) -"fF" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/table/bench/steel, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/security) -"fG" = ( -/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/security) -"fH" = ( -/obj/item/device/holowarrant, -/obj/structure/closet/secure_closet/nanotrasen_security, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 8 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/security) -"fJ" = ( -/obj/machinery/computer/operating{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/surgery) -"fK" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/surgery) -"fL" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/structure/sink{ - dir = 4; - icon_state = "sink"; - pixel_x = 12; - pixel_y = 8 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/surgery) -"fM" = ( -/obj/machinery/light{ - dir = 8; - icon_state = "tube1" - }, -/obj/machinery/atmospherics/unary/vent_scrubber/on, -/obj/structure/table/steel_reinforced, -/obj/machinery/chemical_dispenser/biochemistry/full, -/turf/simulated/floor/tiled/white, -/area/mothership/chemistry) -"fN" = ( -/turf/simulated/floor/tiled/white, -/area/mothership/chemistry) -"fO" = ( -/obj/machinery/atmospherics/unary/vent_pump/on, -/turf/simulated/floor/tiled/white, -/area/mothership/chemistry) -"fP" = ( -/obj/structure/table/steel_reinforced, -/obj/machinery/door/window/westleft, -/obj/machinery/door/window/eastright, -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/chemistry) -"fQ" = ( -/obj/structure/cable/cyan{ - icon_state = "1-4" - }, -/obj/structure/cable/cyan{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 8 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"fR" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/door/airlock/engineering, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/vault) -"fS" = ( -/obj/structure/cable/cyan{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/power/terminal, -/obj/effect/floor_decal/industrial/warning{ - dir = 4; - icon_state = "warning" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/vault) -"fT" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/effect/floor_decal/industrial/warning{ - dir = 4; - icon_state = "warning" - }, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/vault) -"fU" = ( -/obj/structure/cable/cyan{ - icon_state = "2-4" - }, -/obj/structure/cable/cyan{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/power/terminal, -/obj/effect/floor_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/vault) -"fV" = ( -/obj/structure/cable/cyan{ - icon_state = "2-8" - }, -/obj/structure/cable/cyan{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"fW" = ( -/obj/structure/table/rack/shelf/steel, -/obj/item/weapon/storage/box/evidence, -/obj/item/weapon/storage/box/handcuffs{ - pixel_x = 6; - pixel_y = -2 - }, -/obj/machinery/alarm{ - dir = 4; - pixel_x = -23; - pixel_y = 0 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/security) -"fX" = ( -/obj/structure/table/rack/shelf/steel, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/security) -"fY" = ( -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/security) -"fZ" = ( -/obj/structure/table/bench/steel, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/security) -"ga" = ( -/obj/item/device/holowarrant, -/obj/structure/closet/secure_closet/nanotrasen_security, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/security) -"gb" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/firstaid/surgery, -/obj/item/weapon/reagent_containers/spray/cleaner{ - desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; - name = "Surgery Cleaner"; - pixel_x = 2; - pixel_y = 2 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/surgery) -"gc" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/box/gloves, -/obj/machinery/firealarm{ - dir = 1; - pixel_x = 0; - pixel_y = -25 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/surgery) -"gd" = ( -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 4; - name = "east bump"; - pixel_x = 24 - }, -/obj/structure/cable/cyan{ - icon_state = "0-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/white, -/area/mothership/surgery) -"ge" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/box/pillbottles, -/obj/item/weapon/storage/box/pillbottles, -/obj/item/weapon/storage/box/beakers, -/obj/item/weapon/storage/box/syringes, -/obj/item/weapon/storage/box/syringes, -/obj/item/weapon/tool/screwdriver, -/obj/item/weapon/storage/box/pillbottles, -/obj/item/weapon/storage/box/pillbottles, -/obj/machinery/alarm{ - dir = 4; - pixel_x = -23; - pixel_y = 0 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 5 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/chemistry) -"gf" = ( -/obj/structure/closet/crate/bin, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/chemistry) -"gg" = ( -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 4; - name = "east bump"; - pixel_x = 24 - }, -/obj/structure/cable/cyan{ - icon_state = "0-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 10 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/chemistry) -"gh" = ( -/obj/machinery/power/smes/buildable{ - capacity = 2e+007; - charge = 2e+007; - cur_coils = 4; - input_attempt = 1; - input_level = 1e+006; - output_level = 1e+006 - }, -/obj/structure/cable/cyan, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/vault) -"gj" = ( -/obj/machinery/light/small{ - dir = 8; - pixel_x = 0 - }, -/obj/structure/cable, -/obj/machinery/power/port_gen/pacman/super/potato{ - sheets = 100 - }, -/obj/effect/floor_decal/industrial/hatch/yellow, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/vault) -"gk" = ( -/obj/machinery/firealarm{ - dir = 1; - pixel_x = 0; - pixel_y = -25 - }, -/obj/structure/cable, -/obj/machinery/power/port_gen/pacman/super/potato{ - sheets = 100 - }, -/obj/effect/floor_decal/industrial/hatch/yellow, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/vault) -"gn" = ( -/obj/structure/closet/secure_closet/explorer, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/security) -"go" = ( -/obj/structure/closet/secure_closet/nanotrasen_commander, -/obj/item/weapon/storage/secure/briefcase/nsfw_pack_hos, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/security) -"gp" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/machinery/door/blast/regular{ - density = 0; - destroy_hits = 1000; - dir = 1; - icon_state = "pdoor0"; - id = "ship-sec-equip"; - name = "Shuttle Blast Doors"; - opacity = 0 - }, -/obj/machinery/door/firedoor/glass, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/simulated/floor/plating, -/area/mothership/security) -"gq" = ( -/obj/structure/sign/department/operational, -/turf/simulated/wall/rpshull, -/area/mothership/surgery) -"gs" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/medical, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/surgery) -"gt" = ( -/obj/machinery/smartfridge, -/turf/simulated/floor/plating, -/area/mothership/chemistry) -"gu" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/medical, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/chemistry) -"gv" = ( -/obj/structure/sign/department/medbay, -/turf/simulated/wall/rpshull, -/area/mothership/chemistry) -"gw" = ( -/obj/machinery/light{ - dir = 8; - icon_state = "tube1" - }, -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"gy" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"gz" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/security) -"gB" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/security) -"gC" = ( -/obj/machinery/recharger, -/obj/structure/table/steel_reinforced, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/security) -"gD" = ( -/obj/structure/table/steel_reinforced, -/obj/machinery/cell_charger, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/security) -"gE" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/security) -"gF" = ( -/obj/structure/closet/secure_closet/detective, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/security) -"gG" = ( -/turf/simulated/wall/rpshull, -/area/mothership/treatment) -"gH" = ( -/obj/machinery/vending/blood, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"gI" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/button/remote/blast_door{ - id = "ship-med-treatment"; - name = "Blast Doors Controls"; - pixel_y = 28 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"gJ" = ( -/obj/structure/cable/cyan{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"gK" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/firealarm{ - dir = 2; - layer = 3.3; - pixel_x = 4; - pixel_y = 26 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"gL" = ( -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 1; - name = "north bump"; - pixel_x = 0; - pixel_y = 28 - }, -/obj/structure/cable/cyan{ - icon_state = "0-8" - }, -/obj/structure/cable/cyan{ - icon_state = "0-4" - }, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"gM" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"gN" = ( -/obj/structure/cable/cyan{ - icon_state = "1-4" - }, -/obj/structure/cable/cyan{ - icon_state = "2-4" - }, -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"gO" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/treatment) -"gP" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"gQ" = ( -/obj/structure/cable/cyan{ - icon_state = "1-8" - }, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden, -/obj/machinery/porta_turret/industrial/teleport_defense{ - auto_repair = 1; - check_access = 0; - check_weapons = 1; - name = "anti-boarding turret"; - req_one_access = list(101) - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"gR" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"gT" = ( -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/security) -"gU" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/door/blast/regular{ - density = 0; - destroy_hits = 1000; - dir = 1; - icon_state = "pdoor0"; - id = "ship-med-treatment"; - name = "Shuttle Blast Doors"; - opacity = 0 - }, -/obj/machinery/door/firedoor/glass, -/obj/structure/window/reinforced{ - dir = 4 - }, -/turf/simulated/floor/plating, -/area/mothership/treatment) -"gV" = ( -/obj/structure/closet/crate/freezer, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"gW" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"gX" = ( -/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 8 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"gY" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"gZ" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"ha" = ( -/obj/machinery/door/airlock/multi_tile/metal{ - dir = 2; - req_one_access = list(5) - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/treatment) -"hb" = ( -/obj/machinery/status_display{ - pixel_y = -29 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"hc" = ( -/obj/structure/cable/cyan{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 5; - icon_state = "intact" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"hd" = ( -/obj/structure/cable/cyan{ - icon_state = "2-8" - }, -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/structure/cable/cyan{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden{ - dir = 1; - icon_state = "map" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"he" = ( -/obj/structure/cable/cyan{ - icon_state = "1-8" - }, -/obj/structure/cable/cyan{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"hf" = ( -/obj/machinery/status_display{ - pixel_y = -29 - }, -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"hg" = ( -/obj/machinery/door/airlock/multi_tile/metal{ - dir = 2; - req_one_access = list(1) - }, -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/security) -"hh" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/structure/cable/cyan{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 1 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/security) -"hi" = ( -/obj/structure/cable/cyan{ - icon_state = "0-8" - }, -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 2; - name = "south bump"; - pixel_y = -28; - req_access = list(67) - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/structure/closet/secure_closet/pathfinder, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/security) -"hj" = ( -/obj/structure/closet/bombcloset/double, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/light, -/obj/machinery/recharger/wallcharger{ - pixel_x = 3; - pixel_y = -29 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/security) -"hk" = ( -/obj/structure/closet/wardrobe/red, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/recharger/wallcharger{ - pixel_x = 3; - pixel_y = -29 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/security) -"hl" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 1 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/security) -"hm" = ( -/obj/structure/table/steel_reinforced, -/obj/item/device/retail_scanner/security, -/obj/item/device/retail_scanner/security, -/obj/structure/reagent_dispensers/peppertank{ - pixel_x = 0; - pixel_y = -30 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 9 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/security) -"hn" = ( -/obj/structure/table/steel_reinforced, -/obj/item/clothing/accessory/badge/holo/cord, -/obj/item/clothing/accessory/badge/holo/cord, -/obj/item/clothing/accessory/badge/holo/cord, -/obj/item/clothing/accessory/badge/holo/cord, -/obj/item/clothing/accessory/badge/holo, -/obj/item/clothing/accessory/badge/holo, -/obj/item/clothing/accessory/badge/holo, -/obj/item/clothing/accessory/badge/holo, -/obj/machinery/button/remote/blast_door{ - id = "ship-sec-equip"; - name = "Blast Doors Controls"; - pixel_y = -28 - }, -/obj/machinery/light{ - dir = 4; - icon_state = "tube1" - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/security) -"ho" = ( -/obj/structure/filingcabinet/chestdrawer{ - name = "Scan Records" - }, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"hp" = ( -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"hq" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"hr" = ( -/obj/machinery/bodyscanner{ - dir = 8 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"hs" = ( -/obj/machinery/body_scanconsole, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"ht" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/light{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"hu" = ( -/turf/simulated/wall/rpshull, -/area/mothership/dorm3) -"hw" = ( -/turf/simulated/wall/rpshull, -/area/mothership/dorm4) -"hy" = ( -/turf/simulated/wall/rpshull, -/area/mothership/sechallway) -"hA" = ( -/obj/machinery/door/airlock/security, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/sechallway) -"hD" = ( -/obj/machinery/door/airlock/security, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/processing) -"hE" = ( -/obj/structure/table/steel_reinforced, -/obj/machinery/recharger, -/obj/item/weapon/tool/screwdriver, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"hF" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"hG" = ( -/obj/machinery/atmospherics/unary/cryo_cell, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"hH" = ( -/obj/item/weapon/bedsheet/captaindouble, -/obj/structure/bed/double/padded, -/obj/machinery/firealarm{ - dir = 8; - pixel_x = -24 - }, -/obj/machinery/button/remote/airlock{ - id = "ship-dorm3-door"; - name = "Dorm 3 Lock"; - pixel_x = 6; - pixel_y = 26; - specialfunctions = 4 - }, -/obj/structure/curtain/open/bed, -/turf/simulated/floor/wood, -/area/mothership/dorm3) -"hI" = ( -/obj/structure/bed/chair/office/dark, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 - }, -/obj/machinery/alarm{ - pixel_y = 22 - }, -/obj/machinery/light/small{ - dir = 1 - }, -/turf/simulated/floor/wood, -/area/mothership/dorm3) -"hJ" = ( -/obj/structure/cable/cyan{ - icon_state = "0-4" - }, -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 1; - name = "north bump"; - pixel_x = 0; - pixel_y = 28 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 6 - }, -/turf/simulated/floor/wood, -/area/mothership/dorm3) -"hK" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/door/airlock{ - id_tag = "ship-dorm3-door" - }, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/dorm3) -"hL" = ( -/obj/structure/cable/cyan{ - icon_state = "1-8" - }, -/obj/structure/cable/cyan{ - icon_state = "1-4" - }, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"hM" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/door/airlock{ - id_tag = "ship-dorm4-door" - }, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/dorm4) -"hN" = ( -/obj/structure/cable/cyan{ - icon_state = "0-8" - }, -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 1; - name = "north bump"; - pixel_x = 0; - pixel_y = 28 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 10 - }, -/turf/simulated/floor/wood, -/area/mothership/dorm4) -"hO" = ( -/obj/structure/bed/chair/office/dark, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 8 - }, -/obj/machinery/alarm{ - pixel_y = 22 - }, -/obj/machinery/light/small{ - dir = 1 - }, -/turf/simulated/floor/wood, -/area/mothership/dorm4) -"hP" = ( -/obj/item/weapon/bedsheet/captaindouble, -/obj/structure/bed/double/padded, -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 26 - }, -/obj/machinery/button/remote/airlock{ - id = "ship-dorm4-door"; - name = "Dorm 4 Lock"; - pixel_x = -6; - pixel_y = 26; - specialfunctions = 4 - }, -/obj/structure/curtain/open/bed, -/turf/simulated/floor/wood, -/area/mothership/dorm4) -"hQ" = ( -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/sechallway) -"hR" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/sechallway) -"hS" = ( -/obj/structure/closet/crate/bin, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/processing) -"hT" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/folder/red{ - pixel_x = 2; - pixel_y = 4 - }, -/obj/item/weapon/folder/red, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/processing) -"hU" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/processing) -"hV" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/box/evidence, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 8 - }, -/obj/machinery/light{ - dir = 1 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/processing) -"hW" = ( -/obj/structure/filingcabinet/chestdrawer, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/processing) -"hX" = ( -/obj/structure/table/steel_reinforced, -/obj/item/device/defib_kit/compact/combat/loaded, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"hY" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"hZ" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"ia" = ( -/obj/machinery/sleep_console{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"ib" = ( -/obj/machinery/sleeper{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"ic" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 6 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"id" = ( -/obj/structure/table/steel_reinforced, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 9; - icon_state = "intact" - }, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"ie" = ( -/obj/structure/closet/secure_closet/personal, -/turf/simulated/floor/wood, -/area/mothership/dorm3) -"if" = ( -/obj/structure/table/woodentable, -/obj/item/modular_computer/laptop/preset/custom_loadout/elite, -/obj/machinery/status_display{ - pixel_y = -29 - }, -/turf/simulated/floor/wood, -/area/mothership/dorm3) -"ig" = ( -/obj/structure/closet/wardrobe/ert, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) - }, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 1 - }, -/obj/item/weapon/storage/box/survival/space, -/obj/item/weapon/storage/toolbox/emergency, -/turf/simulated/floor/wood, -/area/mothership/dorm3) -"ih" = ( -/obj/structure/closet/wardrobe/ert, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) - }, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 1 - }, -/obj/item/weapon/storage/box/survival/space, -/obj/item/weapon/storage/toolbox/emergency, -/turf/simulated/floor/wood, -/area/mothership/dorm4) -"ii" = ( -/obj/structure/table/woodentable, -/obj/item/modular_computer/laptop/preset/custom_loadout/elite, -/obj/machinery/status_display{ - pixel_y = -29 - }, -/turf/simulated/floor/wood, -/area/mothership/dorm4) -"ij" = ( -/obj/structure/closet/secure_closet/personal, -/turf/simulated/floor/wood, -/area/mothership/dorm4) -"ik" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/light{ - dir = 4; - icon_state = "tube1" - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/sechallway) -"il" = ( -/obj/structure/sign/department/interrogation, -/turf/simulated/wall/rpshull, -/area/mothership/processing) -"im" = ( -/obj/structure/table/steel_reinforced, -/obj/item/device/camera, -/obj/item/device/retail_scanner/security, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/processing) -"in" = ( -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/processing) -"io" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/processing) -"ip" = ( -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 26 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/processing) -"iq" = ( -/obj/structure/closet/crate/bin, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"ir" = ( -/obj/machinery/light, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"is" = ( -/obj/machinery/alarm{ - dir = 1; - pixel_y = -22 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"it" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"iu" = ( -/obj/structure/sink{ - dir = 4; - icon_state = "sink"; - pixel_x = 12; - pixel_y = 8 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"iv" = ( -/turf/simulated/wall/rpshull, -/area/mothership/morgue) -"iw" = ( -/turf/simulated/wall/rpshull, -/area/mothership/engineering) -"ix" = ( -/obj/machinery/door_timer/cell_1{ - id = "Cell M1"; - pixel_x = -32 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/sechallway) -"iy" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/structure/cable/cyan{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 8 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/sechallway) -"iz" = ( -/obj/machinery/door/airlock/security, -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/processing) -"iA" = ( -/obj/structure/cable/cyan{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/processing) -"iB" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/processing) -"iC" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/processing) -"iD" = ( -/obj/structure/table/steel_reinforced, -/obj/item/device/flashlight/lamp, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/processing) -"iE" = ( -/obj/machinery/alarm{ - alarm_id = "anomaly_testing"; - breach_detection = 0; - dir = 8; - frequency = 1439; - pixel_x = 22; - pixel_y = 0; - report_danger_level = 0 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/processing) -"iG" = ( -/obj/machinery/door/airlock/medical, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/treatment) -"iH" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/medical, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/treatment) -"iI" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/box/bodybags, -/obj/item/weapon/storage/box/bodybags{ - pixel_x = 2; - pixel_y = 2 - }, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/morgue) -"iJ" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/morgue) -"iK" = ( -/obj/structure/morgue{ - dir = 8 - }, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/morgue) -"iL" = ( -/obj/machinery/alarm{ - pixel_y = 22 - }, -/obj/structure/table/steel_reinforced, -/obj/effect/floor_decal/corner/lightorange{ - dir = 5; - icon_state = "corner_white" - }, -/obj/effect/floor_decal/borderfloor/shifted{ - dir = 1; - icon_state = "borderfloor_shifted" - }, -/obj/effect/floor_decal/corner/lightorange/border/shifted{ - dir = 1; - icon_state = "bordercolor_shifted" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/sechallway) -"iM" = ( -/obj/structure/bed/padded, -/obj/item/weapon/bedsheet, -/obj/effect/floor_decal/corner/lightorange{ - dir = 5; - icon_state = "corner_white" - }, -/obj/effect/floor_decal/borderfloor/shifted{ - dir = 1; - icon_state = "borderfloor_shifted" - }, -/obj/effect/floor_decal/corner/lightorange/border/shifted{ - dir = 1; - icon_state = "bordercolor_shifted" - }, -/obj/machinery/light/small{ - dir = 1; - icon_state = "bulb1" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/sechallway) -"iN" = ( -/obj/structure/closet/secure_closet/brig{ - id = "Cell M1" - }, -/obj/effect/floor_decal/corner/lightorange{ - dir = 5; - icon_state = "corner_white" - }, -/obj/effect/floor_decal/borderfloor/shifted{ - dir = 1; - icon_state = "borderfloor_shifted" - }, -/obj/effect/floor_decal/corner/lightorange/border/shifted{ - dir = 1; - icon_state = "bordercolor_shifted" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/sechallway) -"iO" = ( -/obj/machinery/door/firedoor/glass, -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/machinery/door/blast/regular{ - density = 0; - dir = 1; - icon_state = "pdoor0"; - id = "ship-sec-cell1"; - name = "Security Blast Doors"; - opacity = 0 - }, -/obj/structure/cable/cyan{ - icon_state = "0-4" - }, -/turf/simulated/floor/plating, -/area/mothership/sechallway) -"iP" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/sechallway) -"iQ" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/structure/cable/cyan{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/sechallway) -"iR" = ( -/obj/structure/bed/chair{ - dir = 4 - }, -/obj/machinery/power/apc{ - alarms_hidden = 1; - cell_type = /obj/item/weapon/cell/super; - dir = 8; - name = "west bump"; - pixel_x = -28 - }, -/obj/structure/cable/cyan, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/processing) -"iS" = ( -/obj/structure/bed/chair{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 8 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/processing) -"iT" = ( -/obj/structure/table/steel_reinforced, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/processing) -"iU" = ( -/obj/structure/bed/chair/office/dark{ - dir = 8 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/processing) -"iV" = ( -/turf/simulated/wall/rpshull, -/area/mothership/resleeving) -"iW" = ( -/obj/machinery/computer/transhuman/resleeving{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"iX" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/computer/id_restorer{ - pixel_y = 28 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"iY" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"iZ" = ( -/obj/structure/table/steel_reinforced, -/obj/machinery/alarm{ - pixel_y = 22 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"ja" = ( -/obj/machinery/atmospherics/unary/cryo_cell, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"jb" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/reagent_containers/glass/bottle/biomass, -/obj/item/weapon/reagent_containers/glass/bottle/biomass, -/obj/item/weapon/reagent_containers/glass/bottle/biomass, -/obj/item/weapon/reagent_containers/glass/bottle/biomass, -/obj/item/weapon/reagent_containers/glass/bottle/biomass, -/obj/item/weapon/reagent_containers/glass/bottle/biomass, -/obj/item/weapon/reagent_containers/glass/bottle/biomass, -/obj/item/weapon/reagent_containers/glass/bottle/biomass, -/obj/machinery/light{ - dir = 1 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"jc" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"jd" = ( -/obj/machinery/vending/medical, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"jf" = ( -/obj/machinery/power/apc{ - alarms_hidden = 1; - cell_type = /obj/item/weapon/cell/super; - dir = 8; - name = "west bump"; - pixel_x = -28 - }, -/obj/structure/cable/cyan{ - icon_state = "0-2" - }, -/obj/machinery/atmospherics/unary/vent_pump/on, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/morgue) -"jg" = ( -/turf/simulated/floor/tiled/techfloor, -/area/mothership/morgue) -"jh" = ( -/obj/machinery/camera/network/ert{ - dir = 1 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/sechallway) -"ji" = ( -/obj/machinery/door/firedoor/glass, -/obj/effect/floor_decal/industrial/hatch/yellow, -/obj/machinery/door/window/brigdoor/southleft{ - dir = 4; - id = "Cell M1"; - name = "Cell 1"; - req_access = list(2) - }, -/obj/machinery/door/blast/regular{ - density = 0; - dir = 1; - icon_state = "pdoor0"; - id = "ship-sec-cell1"; - name = "Security Blast Doors"; - opacity = 0 - }, -/turf/simulated/floor/tiled/dark, -/area/mothership/sechallway) -"jj" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/alarm{ - alarm_id = "anomaly_testing"; - breach_detection = 0; - dir = 8; - frequency = 1439; - pixel_x = 22; - pixel_y = 0; - report_danger_level = 0 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/sechallway) -"jk" = ( -/obj/structure/bed/chair{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/processing) -"jl" = ( -/obj/machinery/light, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/processing) -"jm" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/weapon/pen, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/processing) -"jn" = ( -/obj/machinery/computer/secure_data{ - dir = 1 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/processing) -"jp" = ( -/obj/machinery/computer/transhuman/designer{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"jq" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"jr" = ( -/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 8 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"js" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"jt" = ( -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 5; - icon_state = "intact" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"ju" = ( -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"jv" = ( -/obj/structure/cable/cyan{ - icon_state = "1-4" - }, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden{ - dir = 4; - icon_state = "map" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"jw" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"jx" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/door/airlock/medical, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/morgue) -"jy" = ( -/obj/structure/cable/cyan{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 9; - pixel_y = 0 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 10 - }, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/morgue) -"jz" = ( -/obj/structure/closet/walllocker{ - name = "Janitor Locker"; - pixel_x = 32 - }, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/mop, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/soap/nanotrasen, -/obj/item/weapon/soap/deluxe, -/obj/item/weapon/soap, -/obj/item/weapon/rig/ert/janitor, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"jA" = ( -/obj/machinery/door_timer/cell_2{ - id = "Cell M2"; - pixel_x = -32 - }, -/obj/machinery/light{ - dir = 8; - icon_state = "tube1"; - pixel_y = 0 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/sechallway) -"jB" = ( -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 4; - name = "east bump"; - pixel_x = 24 - }, -/obj/structure/cable/cyan{ - icon_state = "0-2" - }, -/obj/structure/cable/cyan, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/sechallway) -"jC" = ( -/turf/simulated/wall/rpshull, -/area/mothership/warden) -"jE" = ( -/obj/machinery/door/airlock/security, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/warden) -"jF" = ( -/obj/effect/shuttle_landmark{ - base_area = /area/space; - base_turf = /turf/space; - flags = 2; - landmark_tag = "cruiser_port"; - name = "Vessel port" - }, -/turf/space, -/area/space) -"jG" = ( -/obj/machinery/vending/loadout/uniform, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"jH" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"jI" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"jJ" = ( -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"jK" = ( -/obj/structure/cable/cyan{ - icon_state = "1-4" - }, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"jL" = ( -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 4; - name = "east bump"; - pixel_x = 24 - }, -/obj/structure/cable/cyan{ - icon_state = "0-8" - }, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"jM" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/morgue) -"jN" = ( -/obj/machinery/alarm{ - pixel_y = 22 - }, -/obj/structure/table/steel_reinforced, -/obj/effect/floor_decal/borderfloor/shifted{ - dir = 1; - icon_state = "borderfloor_shifted" - }, -/obj/effect/floor_decal/corner/lightorange{ - dir = 5; - icon_state = "corner_white" - }, -/obj/effect/floor_decal/corner/lightorange/border/shifted{ - dir = 1; - icon_state = "bordercolor_shifted" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/sechallway) -"jO" = ( -/obj/structure/bed/padded, -/obj/item/weapon/bedsheet, -/obj/effect/floor_decal/borderfloor/shifted{ - dir = 1; - icon_state = "borderfloor_shifted" - }, -/obj/effect/floor_decal/corner/lightorange{ - dir = 5; - icon_state = "corner_white" - }, -/obj/effect/floor_decal/corner/lightorange/border/shifted{ - dir = 1; - icon_state = "bordercolor_shifted" - }, -/obj/machinery/light/small{ - dir = 1; - icon_state = "bulb1" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/sechallway) -"jP" = ( -/obj/structure/closet/secure_closet/brig{ - id = "Cell M2" - }, -/obj/effect/floor_decal/borderfloor/shifted{ - dir = 1; - icon_state = "borderfloor_shifted" - }, -/obj/effect/floor_decal/corner/lightorange{ - dir = 5; - icon_state = "corner_white" - }, -/obj/effect/floor_decal/corner/lightorange/border/shifted{ - dir = 1; - icon_state = "bordercolor_shifted" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/sechallway) -"jQ" = ( -/obj/machinery/door/firedoor/glass, -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/machinery/door/blast/regular{ - density = 0; - dir = 1; - icon_state = "pdoor0"; - id = "ship-sec-cell2"; - name = "Security Blast Doors"; - opacity = 0 - }, -/obj/structure/cable/cyan{ - icon_state = "0-4" - }, -/turf/simulated/floor/plating, -/area/mothership/sechallway) -"jR" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/structure/cable/cyan{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 26 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/sechallway) -"jS" = ( -/obj/machinery/photocopier, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/warden) -"jT" = ( -/obj/machinery/firealarm{ - dir = 2; - layer = 3.3; - pixel_x = 4; - pixel_y = 26 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/warden) -"jU" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/warden) -"jV" = ( -/obj/structure/table/steel_reinforced, -/obj/machinery/alarm{ - pixel_y = 22 - }, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 8 - }, -/obj/machinery/light{ - dir = 1 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/warden) -"jW" = ( -/obj/structure/closet/crate/bin, -/obj/machinery/button/remote/blast_door{ - dir = 4; - id = "ship-sec-cell1"; - name = "Cell 1 Blast Doors"; - pixel_x = 28; - pixel_y = 6; - req_one_access = list(2) - }, -/obj/machinery/button/remote/blast_door{ - dir = 4; - id = "ship-sec-cell2"; - name = "Cell 2 Blast Doors"; - pixel_x = 28; - pixel_y = -6; - req_one_access = list(2) - }, -/obj/machinery/button/remote/blast_door{ - id = "ship-sec-warden"; - name = "Blast Doors Controls"; - pixel_y = 28 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/warden) -"jX" = ( -/obj/machinery/organ_printer/flesh, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"jY" = ( -/obj/item/weapon/storage/firstaid/regular{ - pixel_x = -2; - pixel_y = 4 - }, -/obj/item/bodybag/cryobag{ - pixel_x = 5 - }, -/obj/item/bodybag/cryobag{ - pixel_x = 5 - }, -/obj/item/weapon/storage/firstaid/o2{ - layer = 2.8; - pixel_x = 4; - pixel_y = 6 - }, -/obj/item/weapon/storage/box/masks{ - pixel_x = 0; - pixel_y = 0 - }, -/obj/item/weapon/storage/box/gloves{ - pixel_x = 3; - pixel_y = 4 - }, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/fire{ - layer = 2.9; - pixel_x = 2; - pixel_y = 3 - }, -/obj/item/weapon/storage/firstaid/adv{ - pixel_x = -2 - }, -/obj/item/weapon/reagent_containers/blood/empty, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/structure/closet/medical_wall{ - pixel_y = -32 - }, -/obj/item/weapon/storage/box/body_record_disk, -/obj/item/weapon/storage/firstaid/clotting, -/obj/item/weapon/storage/firstaid/bonemed, -/obj/item/weapon/storage/firstaid/adv{ - pixel_x = -2 - }, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/fitnessflask/glucose, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/fitnessflask/glucose, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"jZ" = ( -/obj/machinery/transhuman/synthprinter, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"ka" = ( -/obj/machinery/clonepod/transhuman/full, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"kb" = ( -/obj/machinery/transhuman/resleever, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"kc" = ( -/obj/structure/closet/crate/bin, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"kd" = ( -/obj/structure/sign/department/morgue, -/turf/simulated/wall/rpshull, -/area/mothership/morgue) -"ke" = ( -/obj/structure/table/steel_reinforced, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/morgue) -"kf" = ( -/obj/machinery/light/small, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/morgue) -"kg" = ( -/obj/machinery/door/firedoor/glass, -/obj/effect/floor_decal/industrial/hatch/yellow, -/obj/machinery/door/window/brigdoor/southleft{ - dir = 4; - id = "Cell M2"; - name = "Cell 2"; - req_access = list(2) - }, -/obj/machinery/door/blast/regular{ - density = 0; - dir = 1; - icon_state = "pdoor0"; - id = "ship-sec-cell2"; - name = "Security Blast Doors"; - opacity = 0 - }, -/turf/simulated/floor/tiled/dark, -/area/mothership/sechallway) -"kh" = ( -/obj/structure/filingcabinet/chestdrawer, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/warden) -"ki" = ( -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/warden) -"kj" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/warden) -"kk" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/machinery/door/blast/regular{ - density = 0; - destroy_hits = 1000; - dir = 1; - icon_state = "pdoor0"; - id = "ship-sec-warden"; - name = "Shuttle Blast Doors"; - opacity = 0 - }, -/obj/machinery/door/firedoor/glass, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/simulated/floor/plating, -/area/mothership/warden) -"kl" = ( -/turf/simulated/wall/rpshull, -/area/mothership/medical) -"km" = ( -/obj/machinery/door/airlock/medical, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/medical) -"kn" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/medical, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/medical) -"ko" = ( -/obj/structure/cable/cyan{ - icon_state = "1-4" - }, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 8 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/sechallway) -"kp" = ( -/obj/machinery/door/airlock/security, -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/warden) -"kq" = ( -/obj/structure/cable/cyan{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/warden) -"kr" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/warden) -"ks" = ( -/obj/structure/bed/chair{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 9; - pixel_y = 0 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/warden) -"kt" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/stamp/ward, -/obj/item/weapon/stamp/denied{ - pixel_x = 5 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/warden) -"ku" = ( -/obj/structure/bed/chair/office/dark{ - dir = 8 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/warden) -"kv" = ( -/obj/machinery/vending/medical, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"kw" = ( -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"kx" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"ky" = ( -/obj/item/weapon/storage/firstaid/adv{ - pixel_x = 2; - pixel_y = 2 - }, -/obj/item/weapon/storage/firstaid/adv, -/obj/structure/table/steel_reinforced, -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/alarm{ - pixel_y = 22 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"kz" = ( -/obj/item/weapon/storage/firstaid/toxin{ - pixel_x = 2; - pixel_y = 2 - }, -/obj/item/weapon/storage/firstaid/toxin, -/obj/structure/table/steel_reinforced, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"kA" = ( -/obj/item/weapon/storage/firstaid/combat{ - pixel_x = 2; - pixel_y = 2 - }, -/obj/item/weapon/storage/firstaid/combat, -/obj/structure/table/steel_reinforced, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"kB" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden{ - dir = 8; - icon_state = "map" - }, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"kC" = ( -/obj/machinery/atmospherics/unary/freezer{ - dir = 8 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"kD" = ( -/obj/structure/closet/secure_closet/personal, -/turf/simulated/floor/wood, -/area/mothership/dorm5) -"kE" = ( -/obj/structure/table/woodentable, -/obj/item/modular_computer/laptop/preset/custom_loadout/elite, -/obj/machinery/status_display{ - pixel_y = 29 - }, -/turf/simulated/floor/wood, -/area/mothership/dorm5) -"kF" = ( -/obj/structure/closet/wardrobe/ert, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) - }, -/obj/machinery/atmospherics/unary/vent_scrubber/on, -/obj/item/weapon/storage/box/survival/space, -/obj/item/weapon/storage/toolbox/emergency, -/turf/simulated/floor/wood, -/area/mothership/dorm5) -"kG" = ( -/turf/simulated/wall/rpshull, -/area/mothership/dorm5) -"kH" = ( -/turf/simulated/wall/rpshull, -/area/mothership/dorm6) -"kI" = ( -/obj/structure/closet/wardrobe/ert, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) - }, -/obj/machinery/atmospherics/unary/vent_scrubber/on, -/obj/item/weapon/storage/box/survival/space, -/obj/item/weapon/storage/toolbox/emergency, -/turf/simulated/floor/wood, -/area/mothership/dorm6) -"kJ" = ( -/obj/structure/table/woodentable, -/obj/item/modular_computer/laptop/preset/custom_loadout/elite, -/obj/machinery/status_display{ - pixel_y = 29 - }, -/turf/simulated/floor/wood, -/area/mothership/dorm6) -"kK" = ( -/obj/structure/closet/secure_closet/personal, -/turf/simulated/floor/wood, -/area/mothership/dorm6) -"kL" = ( -/obj/item/weapon/gun/projectile/shotgun/pump/combat{ - ammo_type = /obj/item/ammo_casing/a12g/beanbag; - desc = "Built for close quarters combat, the Hesphaistos Industries KS-40 is widely regarded as a weapon of choice for repelling boarders. This one has 'Property of the Warden' inscribed on the stock."; - name = "warden's shotgun" - }, -/obj/item/weapon/book/manual/security_space_law, -/obj/structure/closet/secure_closet/nanotrasen_warden, -/obj/machinery/power/apc{ - alarms_hidden = 1; - cell_type = /obj/item/weapon/cell/super; - dir = 8; - name = "west bump"; - pixel_x = -28 - }, -/obj/structure/cable/cyan, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/warden) -"kM" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 5 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/warden) -"kN" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/weapon/clipboard, -/obj/item/weapon/folder/red, -/obj/item/weapon/pen, -/obj/item/device/radio{ - pixel_x = -4 - }, -/obj/item/weapon/hand_labeler, -/obj/item/weapon/tool/wrench, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/warden) -"kO" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/door/blast/regular{ - density = 0; - destroy_hits = 1000; - dir = 1; - icon_state = "pdoor0"; - id = "ship-med-equip"; - name = "Shuttle Blast Doors"; - opacity = 0 - }, -/obj/machinery/door/firedoor/glass, -/obj/structure/window/reinforced{ - dir = 4 - }, -/turf/simulated/floor/plating, -/area/mothership/medical) -"kP" = ( -/obj/structure/closet/secure_closet/medical3, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"kQ" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"kR" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"kS" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 5; - icon_state = "intact" - }, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"kT" = ( -/obj/machinery/atmospherics/portables_connector{ - dir = 8 - }, -/obj/machinery/portable_atmospherics/canister/oxygen/prechilled, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"kU" = ( -/obj/item/weapon/bedsheet/captaindouble, -/obj/structure/bed/double/padded, -/obj/machinery/firealarm{ - dir = 8; - pixel_x = -24 - }, -/obj/machinery/button/remote/airlock{ - id = "ship-dorm5-door"; - name = "Dorm 5 Lock"; - pixel_x = 6; - pixel_y = -26; - specialfunctions = 4 - }, -/obj/structure/curtain/open/bed, -/turf/simulated/floor/wood, -/area/mothership/dorm5) -"kV" = ( -/obj/structure/bed/chair/office/dark{ - dir = 1 - }, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 - }, -/obj/machinery/alarm{ - dir = 1; - pixel_y = -22 - }, -/obj/machinery/light/small, -/turf/simulated/floor/wood, -/area/mothership/dorm5) -"kW" = ( -/obj/structure/cable/cyan{ - icon_state = "0-4" - }, -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 2; - name = "south bump"; - pixel_y = -28; - req_access = list(67) - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 5 - }, -/turf/simulated/floor/wood, -/area/mothership/dorm5) -"kX" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/door/airlock{ - id_tag = "ship-dorm5-door" - }, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/dorm5) -"kY" = ( -/obj/structure/cable/cyan{ - icon_state = "1-4" - }, -/obj/structure/cable/cyan{ - icon_state = "1-8" - }, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"kZ" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/door/airlock{ - id_tag = "ship-dorm6-door" - }, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/dorm6) -"la" = ( -/obj/structure/cable/cyan{ - icon_state = "0-8" - }, -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 2; - name = "south bump"; - pixel_y = -28; - req_access = list(67) - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 9 - }, -/turf/simulated/floor/wood, -/area/mothership/dorm6) -"lb" = ( -/obj/structure/bed/chair/office/dark{ - dir = 1 - }, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 8 - }, -/obj/machinery/alarm{ - dir = 1; - pixel_y = -22 - }, -/obj/machinery/light/small, -/turf/simulated/floor/wood, -/area/mothership/dorm6) -"lc" = ( -/obj/item/weapon/bedsheet/captaindouble, -/obj/structure/bed/double/padded, -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 26 - }, -/obj/machinery/button/remote/airlock{ - id = "ship-dorm6-door"; - name = "Dorm 6 Lock"; - pixel_x = -6; - pixel_y = -26; - specialfunctions = 4 - }, -/obj/structure/curtain/open/bed, -/turf/simulated/floor/wood, -/area/mothership/dorm6) -"ld" = ( -/obj/structure/table/steel_reinforced, -/obj/item/device/retail_scanner/security, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/warden) -"le" = ( -/obj/structure/table/steel_reinforced, -/obj/machinery/light, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/warden) -"lf" = ( -/obj/machinery/computer/secure_data{ - dir = 1 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/warden) -"lg" = ( -/obj/machinery/computer/prisoner{ - dir = 1 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/warden) -"lh" = ( -/obj/structure/closet/secure_closet/CMO, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"li" = ( -/obj/item/weapon/storage/firstaid/fire{ - pixel_x = 2; - pixel_y = 2 - }, -/obj/item/weapon/storage/firstaid/fire, -/obj/structure/table/steel_reinforced, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"lj" = ( -/obj/item/weapon/storage/firstaid/o2{ - pixel_x = 2; - pixel_y = 2 - }, -/obj/item/weapon/storage/firstaid/o2, -/obj/structure/table/steel_reinforced, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"lk" = ( -/obj/item/weapon/storage/firstaid/regular{ - pixel_x = 2; - pixel_y = 2 - }, -/obj/item/weapon/storage/firstaid/regular, -/obj/structure/table/steel_reinforced, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"ll" = ( -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 4; - name = "east bump"; - pixel_x = 24 - }, -/obj/structure/cable/cyan{ - icon_state = "0-2" - }, -/obj/structure/cable/cyan, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"lo" = ( -/obj/structure/sign/department/armory, -/turf/simulated/wall/rpshull, -/area/mothership/armory) -"lp" = ( -/obj/machinery/door/airlock/highsecurity{ - req_one_access = list(103) - }, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/armory) -"lq" = ( -/turf/simulated/wall/rpshull, -/area/mothership/armory) -"ls" = ( -/obj/machinery/door/airlock/highsecurity{ - req_one_access = list(103) - }, -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/armory) -"lt" = ( -/obj/structure/closet/secure_closet/sar, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"lu" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"lv" = ( -/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 8 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"lw" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"lx" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/structure/cable/cyan{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"ly" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/medical) -"lz" = ( -/obj/structure/cable/cyan{ - icon_state = "2-4" - }, -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 6 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"lA" = ( -/obj/structure/cable/cyan{ - icon_state = "2-8" - }, -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 10; - icon_state = "intact" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"lB" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/door/blast/regular{ - destroy_hits = 100; - id = "ship-armory"; - name = "Armory" - }, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/armory) -"lC" = ( -/obj/structure/cable/cyan{ - icon_state = "2-8" - }, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"lD" = ( -/obj/item/ammo_magazine/m9mm/large/preban, -/obj/item/ammo_magazine/m9mm/large/preban, -/obj/item/ammo_magazine/m9mm/large/preban, -/obj/item/ammo_magazine/m9mm/large/preban, -/obj/item/ammo_magazine/m9mm/large/preban, -/obj/item/ammo_magazine/m9mm/large/preban, -/obj/item/ammo_magazine/m9mm/large/preban, -/obj/item/ammo_magazine/m9mm/large/preban, -/obj/item/weapon/gun/projectile/p92x, -/obj/item/weapon/gun/projectile/p92x, -/obj/item/weapon/gun/projectile/p92x, -/obj/item/weapon/gun/projectile/p92x, -/obj/structure/closet/secure_closet/guncabinet{ - req_one_access = list(103) - }, -/obj/machinery/light{ - dir = 1 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"lE" = ( -/obj/item/ammo_magazine/m9mm/compact, -/obj/item/ammo_magazine/m9mm/compact, -/obj/item/ammo_magazine/m9mm/compact, -/obj/item/ammo_magazine/m9mm/compact, -/obj/item/ammo_magazine/m9mm/compact, -/obj/item/ammo_magazine/m9mm/compact, -/obj/item/ammo_magazine/m9mm/compact/flash, -/obj/item/ammo_magazine/m9mm/compact/flash, -/obj/item/ammo_magazine/m9mm/compact/flash, -/obj/item/ammo_magazine/m9mm/compact/rubber, -/obj/item/ammo_magazine/m9mm/compact/rubber, -/obj/item/ammo_magazine/m9mm/compact/rubber, -/obj/item/ammo_magazine/m9mm/compact/practice, -/obj/item/ammo_magazine/m9mm/compact/practice, -/obj/item/ammo_magazine/m9mm/compact/practice, -/obj/item/weapon/gun/projectile/pistol, -/obj/item/weapon/gun/projectile/pistol, -/obj/item/weapon/gun/projectile/pistol, -/obj/structure/closet/secure_closet/guncabinet{ - req_one_access = list(103) - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"lF" = ( -/obj/item/weapon/gun/energy/locked/frontier/carbine/unlocked, -/obj/item/weapon/gun/energy/locked/frontier/carbine/unlocked, -/obj/item/weapon/gun/energy/locked/frontier/carbine/unlocked, -/obj/item/weapon/gun/energy/locked/frontier/carbine/unlocked, -/obj/item/weapon/gun/energy/locked/frontier/holdout/unlocked, -/obj/item/weapon/gun/energy/locked/frontier/holdout/unlocked, -/obj/item/weapon/gun/energy/locked/frontier/holdout/unlocked, -/obj/item/weapon/gun/energy/locked/frontier/holdout/unlocked, -/obj/structure/closet/secure_closet/guncabinet{ - req_one_access = list(103) - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"lG" = ( -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"lH" = ( -/obj/machinery/vending/nifsoft_shop{ - categories = 111; - emagged = 1; - name = "Hacked NIFSoft Shop"; - prices = list() - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"lI" = ( -/obj/structure/table/steel_reinforced, -/obj/machinery/cell_charger, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"lJ" = ( -/obj/machinery/disposal, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"lK" = ( -/obj/machinery/button/remote/blast_door{ - id = "ship-med-equip"; - name = "Blast Doors Controls"; - pixel_y = -28 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"lL" = ( -/obj/item/clothing/accessory/storage/white_vest, -/obj/item/clothing/accessory/storage/white_vest, -/obj/item/clothing/accessory/storage/white_vest, -/obj/item/clothing/accessory/storage/white_vest, -/obj/item/clothing/accessory/storage/white_drop_pouches, -/obj/item/clothing/accessory/storage/white_drop_pouches, -/obj/item/clothing/accessory/storage/white_drop_pouches, -/obj/item/clothing/accessory/storage/white_drop_pouches, -/obj/item/weapon/storage/backpack/dufflebag/syndie/med, -/obj/item/weapon/storage/backpack/dufflebag/syndie/med, -/obj/structure/table/rack/shelf/steel, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"lM" = ( -/obj/item/device/healthanalyzer/phasic, -/obj/item/device/healthanalyzer/phasic, -/obj/item/device/healthanalyzer/phasic, -/obj/item/device/healthanalyzer/phasic, -/obj/item/weapon/reagent_containers/hypospray, -/obj/item/weapon/reagent_containers/hypospray, -/obj/item/weapon/reagent_containers/hypospray, -/obj/item/weapon/reagent_containers/hypospray, -/obj/structure/table/rack/shelf/steel, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"lN" = ( -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/device/defib_kit/compact/combat/loaded, -/obj/item/device/defib_kit/compact/combat/loaded, -/obj/structure/table/rack/shelf/steel, -/obj/machinery/light, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"lO" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"lP" = ( -/obj/machinery/door/airlock/multi_tile/metal{ - dir = 2 - }, -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/medical) -"lQ" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/hidden, -/obj/machinery/porta_turret/industrial/teleport_defense{ - auto_repair = 1; - check_access = 0; - check_weapons = 1; - name = "anti-boarding turret"; - req_one_access = list(101) - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"lR" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"lS" = ( -/obj/machinery/door/airlock/multi_tile/metal/mait{ - dir = 2; - req_one_access = list(103) - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/door/blast/regular{ - destroy_hits = 100; - id = "ship-armory"; - name = "Armory" - }, -/obj/machinery/button/remote/blast_door{ - id = "ship-armory"; - name = "Blast Doors Controls"; - pixel_x = 0; - pixel_y = -28 - }, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/armory) -"lT" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"lU" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"lV" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"lW" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"lX" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/screwdriver, -/obj/item/weapon/tool/wrench, -/obj/machinery/light{ - dir = 4; - icon_state = "tube1" - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"lY" = ( -/obj/machinery/door/airlock/research, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/medical) -"lZ" = ( -/obj/machinery/door/airlock/research, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/medical) -"ma" = ( -/obj/structure/sign/department/medbay, -/turf/simulated/wall/rpshull, -/area/mothership/medical) -"mb" = ( -/turf/simulated/wall/rpshull, -/area/mothership/bridge) -"md" = ( -/obj/item/ammo_magazine/ammo_box/b12g/flash, -/obj/item/ammo_magazine/ammo_box/b12g/flash, -/obj/item/ammo_magazine/ammo_box/b12g/stunshell, -/obj/item/ammo_magazine/ammo_box/b12g/stunshell, -/obj/item/ammo_magazine/ammo_box/b12g/beanbag, -/obj/item/ammo_magazine/ammo_box/b12g/beanbag, -/obj/item/weapon/storage/box/empshells/large, -/obj/item/weapon/storage/box/empshells/large, -/obj/item/ammo_magazine/ammo_box/b12g, -/obj/item/ammo_magazine/ammo_box/b12g, -/obj/item/ammo_magazine/ammo_box/b12g, -/obj/item/ammo_magazine/ammo_box/b12g, -/obj/item/ammo_magazine/ammo_box/b12g/pellet, -/obj/item/ammo_magazine/ammo_box/b12g/pellet, -/obj/item/ammo_magazine/ammo_box/b12g/pellet, -/obj/item/ammo_magazine/ammo_box/b12g/pellet, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, -/obj/structure/closet/secure_closet/guncabinet{ - req_one_access = list(103) - }, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"me" = ( -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/energy/sword, -/obj/item/weapon/melee/energy/sword, -/obj/item/weapon/melee/energy/sword, -/obj/item/weapon/melee/energy/sword, -/obj/item/weapon/melee/energy/sword, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/material/knife/tacknife/survival, -/obj/item/weapon/material/knife/tacknife/survival, -/obj/item/weapon/material/knife/tacknife/survival, -/obj/item/weapon/material/knife/tacknife/survival, -/obj/item/weapon/material/knife/tacknife/survival, -/obj/item/weapon/material/knife/machete, -/obj/item/weapon/material/knife/machete, -/obj/item/weapon/material/knife/machete, -/obj/item/clothing/accessory/holster/machete, -/obj/item/clothing/accessory/holster/machete, -/obj/item/clothing/accessory/holster/machete, -/obj/structure/table/rack/shelf/steel, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"mf" = ( -/obj/structure/closet/crate/secure/weapon{ - req_one_access = list(108) - }, -/obj/item/weapon/storage/box/frags, -/obj/item/weapon/storage/box/frags, -/obj/item/weapon/storage/box/teargas, -/obj/item/weapon/storage/box/teargas, -/obj/item/weapon/storage/box/empslite, -/obj/item/weapon/storage/box/empslite, -/obj/item/weapon/storage/box/smokes, -/obj/item/weapon/storage/box/smokes, -/obj/item/weapon/storage/box/flashbangs, -/obj/item/weapon/storage/box/flashbangs, -/obj/item/weapon/gun/launcher/grenade, -/obj/item/weapon/gun/launcher/grenade, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"mg" = ( -/obj/item/rig_module/grenade_launcher/smoke, -/obj/item/rig_module/cleaner_launcher, -/obj/item/rig_module/grenade_launcher, -/obj/structure/table/rack/shelf/steel, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"mh" = ( -/obj/item/rig_module/vision/multi, -/obj/structure/table/rack/shelf/steel, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"mi" = ( -/turf/simulated/wall/rpshull, -/area/mothership/rnd) -"mj" = ( -/obj/machinery/r_n_d/destructive_analyzer, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/rnd) -"mk" = ( -/obj/machinery/computer/rdconsole/core, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/rnd) -"ml" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/rnd) -"mm" = ( -/obj/machinery/mecha_part_fabricator/pros, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/rnd) -"mn" = ( -/obj/machinery/autolathe{ - desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; - hacked = 1; - name = "Centcom Autolathe" - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/rnd) -"mo" = ( -/obj/machinery/mecha_part_fabricator, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/rnd) -"mp" = ( -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 4; - name = "east bump"; - pixel_x = 24 - }, -/obj/structure/cable/cyan, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/rnd) -"mq" = ( -/obj/machinery/status_display{ - pixel_y = 29 - }, -/obj/machinery/computer/card/centcom, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/bridge) -"mr" = ( -/obj/machinery/pointdefense_control{ - id_tag = "warship_pd" - }, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/bridge) -"ms" = ( -/obj/machinery/computer/ship/helm, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/bridge) -"mu" = ( -/obj/item/ammo_magazine/m545/ap, -/obj/item/ammo_magazine/m545/ap, -/obj/item/ammo_magazine/m545/ap, -/obj/item/ammo_magazine/m545/ap, -/obj/item/ammo_magazine/m545/ap, -/obj/item/ammo_magazine/m545/ap, -/obj/item/ammo_magazine/m545/ap, -/obj/item/ammo_magazine/m545/ap, -/obj/item/ammo_magazine/m545, -/obj/item/ammo_magazine/m545, -/obj/item/ammo_magazine/m545, -/obj/item/ammo_magazine/m545, -/obj/item/ammo_magazine/m545, -/obj/item/ammo_magazine/m545, -/obj/item/ammo_magazine/m545, -/obj/item/ammo_magazine/m545, -/obj/item/weapon/gun/projectile/automatic/sts35, -/obj/item/weapon/gun/projectile/automatic/sts35, -/obj/item/weapon/gun/projectile/automatic/sts35, -/obj/item/weapon/gun/projectile/automatic/sts35, -/obj/structure/closet/secure_closet/guncabinet{ - req_one_access = list(103) - }, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"mv" = ( -/obj/item/clothing/suit/armor/vest/ert/command, -/obj/item/clothing/head/helmet/ert/command, -/obj/item/weapon/storage/backpack/ert/commander, -/obj/structure/table/rack/shelf/steel, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"mw" = ( -/obj/structure/closet/crate/secure/weapon{ - req_one_access = list(108) - }, -/obj/item/weapon/rig/ert/assetprotection, -/obj/item/weapon/rig/ert/assetprotection, -/obj/item/clothing/glasses/thermal, -/obj/item/clothing/glasses/thermal, -/obj/item/clothing/suit/armor/pcarrier/merc, -/obj/item/clothing/suit/armor/pcarrier/merc, -/obj/item/clothing/head/helmet/merc, -/obj/item/clothing/head/helmet/merc, -/obj/item/weapon/storage/box/syndie_kit/combat_armor, -/obj/item/weapon/storage/box/syndie_kit/combat_armor, -/obj/item/weapon/storage/box/syndie_kit/combat_armor, -/obj/item/weapon/storage/box/syndie_kit/combat_armor, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"mx" = ( -/obj/item/rig_module/mounted, -/obj/item/rig_module/mounted, -/obj/structure/table/rack/shelf/steel, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"my" = ( -/obj/structure/table/rack/steel, -/obj/machinery/door/window/survival_pod{ - dir = 8; - req_one_access = list(103) - }, -/obj/structure/window/reinforced/survival_pod{ - dir = 1 - }, -/obj/item/weapon/rig/ert, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"mz" = ( -/obj/structure/reagent_dispensers/acid{ - density = 0; - pixel_x = -30; - pixel_y = 0 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/rnd) -"mA" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/rnd) -"mB" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/rnd) -"mC" = ( -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/rnd) -"mD" = ( -/obj/structure/table/steel_reinforced, -/obj/machinery/door/window/westleft, -/obj/machinery/door/window/eastright, -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/rnd) -"mE" = ( -/obj/machinery/light{ - dir = 8; - icon_state = "tube1" - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/bridge) -"mG" = ( -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/bridge) -"mH" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/bridge) -"mI" = ( -/obj/item/ammo_magazine/m9mmp90, -/obj/item/ammo_magazine/m9mmp90, -/obj/item/ammo_magazine/m9mmp90, -/obj/item/ammo_magazine/m9mmp90, -/obj/item/ammo_magazine/m9mmp90, -/obj/item/ammo_magazine/m9mmp90, -/obj/item/ammo_magazine/m9mmp90, -/obj/item/ammo_magazine/m9mmp90, -/obj/item/weapon/gun/projectile/automatic/p90, -/obj/item/weapon/gun/projectile/automatic/p90, -/obj/item/ammo_magazine/m9mmt/flash, -/obj/item/ammo_magazine/m9mmt/flash, -/obj/item/ammo_magazine/m9mmt/flash, -/obj/item/ammo_magazine/m9mmt/flash, -/obj/item/ammo_magazine/m9mmt/rubber, -/obj/item/ammo_magazine/m9mmt/rubber, -/obj/item/ammo_magazine/m9mmt/rubber, -/obj/item/ammo_magazine/m9mmt/rubber, -/obj/structure/closet/secure_closet/guncabinet{ - req_one_access = list(103) - }, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"mJ" = ( -/obj/item/clothing/suit/armor/vest/ert/security, -/obj/item/clothing/suit/armor/vest/ert/security, -/obj/item/clothing/suit/armor/vest/ert/security, -/obj/item/clothing/head/helmet/ert/security, -/obj/item/clothing/head/helmet/ert/security, -/obj/item/clothing/head/helmet/ert/security, -/obj/item/weapon/storage/backpack/ert/security, -/obj/item/weapon/storage/backpack/ert/security, -/obj/item/weapon/storage/backpack/ert/security, -/obj/structure/table/rack/shelf/steel, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"mK" = ( -/obj/structure/closet/crate/secure/weapon{ - req_one_access = list(108) - }, -/obj/item/weapon/gun/projectile/automatic/l6_saw, -/obj/item/weapon/gun/projectile/automatic/l6_saw, -/obj/item/ammo_magazine/m545saw, -/obj/item/ammo_magazine/m545saw, -/obj/item/ammo_magazine/m545saw, -/obj/item/ammo_magazine/m545saw, -/obj/item/ammo_magazine/m545saw/ap, -/obj/item/ammo_magazine/m545saw/ap, -/obj/item/ammo_magazine/m545saw/ap, -/obj/item/ammo_magazine/m545saw/ap, -/obj/item/ammo_magazine/m545saw/ap, -/obj/item/ammo_magazine/m545saw/ap, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"mL" = ( -/obj/item/rig_module/mounted/egun, -/obj/item/rig_module/mounted/egun, -/obj/item/rig_module/mounted/egun, -/obj/item/rig_module/mounted/egun, -/obj/structure/table/rack/shelf/steel, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"mM" = ( -/obj/structure/table/rack/steel, -/obj/machinery/door/window/survival_pod{ - dir = 8; - req_one_access = list(103) - }, -/obj/item/weapon/rig/ert/security, -/obj/item/weapon/rig/ert/security, -/obj/item/weapon/rig/ert/security, -/obj/item/weapon/rig/ert/security, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"mO" = ( -/obj/machinery/r_n_d/circuit_imprinter, -/obj/item/weapon/reagent_containers/glass/beaker/sulphuric, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/rnd) -"mP" = ( -/obj/machinery/r_n_d/protolathe, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/rnd) -"mQ" = ( -/obj/structure/table/steel_reinforced, -/obj/machinery/cell_charger, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/rnd) -"mR" = ( -/obj/structure/table/steel_reinforced, -/obj/machinery/recharger, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/rnd) -"mS" = ( -/obj/structure/closet{ - name = "materials" - }, -/obj/fiftyspawner/diamond, -/obj/fiftyspawner/gold, -/obj/fiftyspawner/phoron, -/obj/fiftyspawner/plasteel, -/obj/fiftyspawner/plastic, -/obj/fiftyspawner/osmium, -/obj/fiftyspawner/silver, -/obj/fiftyspawner/steel, -/obj/fiftyspawner/steel, -/obj/fiftyspawner/steel, -/obj/fiftyspawner/steel, -/obj/fiftyspawner/uranium, -/obj/fiftyspawner/glass, -/obj/fiftyspawner/glass, -/obj/fiftyspawner/glass, -/obj/fiftyspawner/durasteel, -/obj/machinery/light{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/rnd) -"mT" = ( -/obj/structure/sign/department/rnd, -/turf/simulated/wall/rpshull, -/area/mothership/rnd) -"mU" = ( -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 4; - name = "east bump"; - pixel_x = 24 - }, -/obj/structure/cable/cyan, -/obj/structure/cable/cyan{ - icon_state = "0-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"mV" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 6 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/bridge) -"mW" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/bridge) -"mX" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/bridge) -"mY" = ( -/obj/structure/cable/cyan{ - icon_state = "0-2" - }, -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 4; - name = "east bump"; - pixel_x = 24 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 10 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/bridge) -"mZ" = ( -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/structure/closet/secure_closet/guncabinet{ - req_one_access = list(103) - }, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"na" = ( -/obj/item/clothing/suit/armor/vest/ert/engineer, -/obj/item/clothing/suit/armor/vest/ert/engineer, -/obj/item/clothing/head/helmet/ert/engineer, -/obj/item/clothing/head/helmet/ert/engineer, -/obj/item/weapon/storage/backpack/ert/engineer, -/obj/item/weapon/storage/backpack/ert/engineer, -/obj/structure/table/rack/shelf/steel, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"nb" = ( -/obj/structure/closet/crate/secure/weapon{ - req_one_access = list(108) - }, -/obj/item/weapon/gun/energy/pulse_rifle, -/obj/item/weapon/gun/energy/pulse_rifle, -/obj/item/weapon/gun/energy/pulse_rifle, -/obj/item/weapon/gun/energy/pulse_rifle, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/gun/energy/gun/protector, -/obj/item/weapon/gun/energy/gun/protector, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"nc" = ( -/obj/item/rig_module/device/anomaly_scanner, -/obj/item/rig_module/device/anomaly_scanner, -/obj/item/rig_module/device/rcd, -/obj/item/rig_module/device/rcd, -/obj/structure/table/rack/shelf/steel, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"nd" = ( -/obj/structure/table/rack/steel, -/obj/machinery/door/window/survival_pod{ - dir = 8; - req_one_access = list(103) - }, -/obj/item/weapon/rig/ert/engineer, -/obj/item/weapon/rig/ert/engineer, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"nf" = ( -/obj/machinery/vending/robotics, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/rnd) -"ng" = ( -/obj/machinery/vending/cart, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/rnd) -"nh" = ( -/obj/structure/closet/secure_closet/RD, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/rnd) -"ni" = ( -/obj/structure/closet/secure_closet/scientist, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/rnd) -"nj" = ( -/obj/structure/closet{ - name = "mechanical equipment" - }, -/obj/item/weapon/storage/toolbox/syndicate/powertools, -/obj/item/weapon/storage/toolbox/syndicate/powertools, -/obj/item/clothing/head/welding{ - pixel_x = -3; - pixel_y = 5 - }, -/obj/item/clothing/head/welding{ - pixel_x = -3; - pixel_y = 5 - }, -/obj/item/clothing/glasses/welding, -/obj/item/clothing/glasses/welding, -/obj/item/weapon/storage/belt/utility, -/obj/item/device/multitool{ - pixel_x = 3 - }, -/obj/item/stack/cable_coil, -/obj/item/stack/cable_coil, -/obj/item/stack/cable_coil, -/obj/item/stack/cable_coil, -/obj/item/device/assembly/prox_sensor{ - pixel_x = -8; - pixel_y = 4 - }, -/obj/item/device/assembly/prox_sensor{ - pixel_x = -8; - pixel_y = 4 - }, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, -/obj/item/device/healthanalyzer, -/obj/item/device/healthanalyzer, -/obj/item/weapon/storage/firstaid/regular{ - empty = 1; - name = "First-Aid (empty)" - }, -/obj/item/weapon/storage/firstaid/regular{ - empty = 1; - name = "First-Aid (empty)" - }, -/obj/item/weapon/cell/high{ - charge = 100; - maxcharge = 15000; - pixel_x = 5; - pixel_y = -5 - }, -/obj/item/weapon/cell/high{ - charge = 100; - maxcharge = 15000; - pixel_x = 5; - pixel_y = -5 - }, -/obj/item/weapon/cell/high{ - charge = 100; - maxcharge = 15000; - pixel_x = 5; - pixel_y = -5 - }, -/obj/item/weapon/cell/high{ - charge = 100; - maxcharge = 15000; - pixel_x = 5; - pixel_y = -5 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/rnd) -"nl" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"nm" = ( -/obj/machinery/door/airlock/command{ - req_one_access = list(101) - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/bridge) -"nn" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 9 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/bridge) -"no" = ( -/obj/structure/bed/chair/bay/shuttle{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/bridge) -"np" = ( -/obj/item/modular_computer/console/preset/ert{ - dir = 8 - }, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/bridge) -"nq" = ( -/obj/item/modular_computer/console/preset/ert{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/bridge) -"nr" = ( -/obj/structure/bed/chair/bay/shuttle{ - dir = 8 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/bridge) -"ns" = ( -/obj/structure/cable/cyan{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 5 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/bridge) -"nt" = ( -/obj/machinery/door/airlock/command{ - req_one_access = list(101) - }, -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/bridge) -"nu" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/structure/cable/cyan{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"nv" = ( -/obj/item/weapon/gun/energy/gun/nuclear, -/obj/item/weapon/gun/energy/gun/nuclear, -/obj/item/weapon/gun/energy/gun/nuclear, -/obj/item/weapon/gun/energy/gun/nuclear, -/obj/structure/closet/secure_closet/guncabinet{ - req_one_access = list(103) - }, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"nw" = ( -/obj/item/clothing/suit/armor/vest/ert/medical, -/obj/item/clothing/suit/armor/vest/ert/medical, -/obj/item/clothing/head/helmet/ert/medical, -/obj/item/clothing/head/helmet/ert/medical, -/obj/item/weapon/storage/backpack/ert/medical, -/obj/item/weapon/storage/backpack/ert/medical, -/obj/structure/table/rack/shelf/steel, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"nx" = ( -/obj/structure/closet/crate/secure/weapon{ - req_one_access = list(108) - }, -/obj/item/weapon/gun/projectile/automatic/z8, -/obj/item/weapon/gun/projectile/automatic/z8, -/obj/item/weapon/gun/projectile/heavysniper, -/obj/item/ammo_magazine/ammo_box/b145, -/obj/item/ammo_magazine/ammo_box/b145, -/obj/item/ammo_magazine/m762, -/obj/item/ammo_magazine/m762, -/obj/item/ammo_magazine/m762, -/obj/item/ammo_magazine/m762, -/obj/item/ammo_magazine/m762/ap, -/obj/item/ammo_magazine/m762/ap, -/obj/item/ammo_magazine/m762/ap, -/obj/item/ammo_magazine/m762/ap, -/obj/item/ammo_magazine/m762/ap, -/obj/item/ammo_magazine/m762/ap, -/obj/item/ammo_magazine/ammo_box/b145, -/obj/item/ammo_magazine/ammo_box/b145, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"ny" = ( -/obj/item/rig_module/device/healthscanner, -/obj/item/rig_module/device/healthscanner, -/obj/item/rig_module/sprinter, -/obj/item/rig_module/sprinter, -/obj/item/rig_module/sprinter, -/obj/item/rig_module/sprinter, -/obj/structure/table/rack/shelf/steel, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"nz" = ( -/obj/structure/table/rack/steel, -/obj/machinery/door/window/survival_pod{ - dir = 8; - req_one_access = list(103) - }, -/obj/structure/window/reinforced/survival_pod, -/obj/item/weapon/rig/ert/medical, -/obj/item/weapon/rig/ert/medical, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"nA" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/rnd) -"nB" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/rnd) -"nC" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/rnd) -"nD" = ( -/obj/machinery/door/airlock/research, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/rnd) -"nE" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"nF" = ( -/obj/structure/sign/department/bridge, -/turf/simulated/wall/rpshull, -/area/mothership/bridge) -"nG" = ( -/obj/machinery/computer/communications{ - dir = 8 - }, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/bridge) -"nH" = ( -/obj/machinery/computer/message_monitor{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/bridge) -"nI" = ( -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/structure/closet/secure_closet/guncabinet{ - req_one_access = list(103) - }, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"nJ" = ( -/obj/item/clothing/glasses/graviton, -/obj/item/clothing/glasses/graviton, -/obj/item/clothing/glasses/graviton, -/obj/item/clothing/glasses/night, -/obj/item/clothing/glasses/night, -/obj/item/clothing/glasses/night, -/obj/item/clothing/glasses/night, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/clothing/mask/gas/explorer, -/obj/item/clothing/mask/gas/explorer, -/obj/item/clothing/mask/gas/explorer, -/obj/item/clothing/mask/gas/explorer, -/obj/item/clothing/mask/gas/explorer, -/obj/item/clothing/mask/breath, -/obj/item/clothing/mask/breath, -/obj/item/clothing/mask/breath, -/obj/item/clothing/mask/breath, -/obj/item/clothing/mask/breath, -/obj/structure/table/rack/shelf/steel, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"nK" = ( -/obj/structure/closet/crate/secure/weapon{ - req_one_access = list(108) - }, -/obj/item/weapon/storage/secure/briefcase/nsfw_pack_hybrid, -/obj/item/weapon/storage/secure/briefcase/nsfw_pack_hybrid_combat, -/obj/item/weapon/gun/energy/ionrifle/pistol, -/obj/item/weapon/gun/energy/ionrifle/pistol, -/obj/item/weapon/gun/energy/ionrifle, -/obj/item/weapon/gun/energy/ionrifle, -/obj/item/weapon/gun/energy/netgun, -/obj/item/weapon/gun/energy/xray, -/obj/item/weapon/gun/energy/xray, -/obj/item/weapon/gun/energy/gun/burst, -/obj/item/weapon/gun/energy/gun/burst, -/obj/item/weapon/gun/energy/sniperrifle, -/obj/item/weapon/gun/energy/sniperrifle, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"nL" = ( -/obj/item/rig_module/rescue_pharm, -/obj/item/rig_module/rescue_pharm, -/obj/item/rig_module/chem_dispenser/injector, -/obj/item/rig_module/chem_dispenser/injector, -/obj/item/rig_module/chem_dispenser/combat, -/obj/item/rig_module/chem_dispenser/combat, -/obj/structure/table/rack/shelf/steel, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"nM" = ( -/obj/item/rig_module/device/drill, -/obj/item/rig_module/device/drill, -/obj/item/rig_module/device/plasmacutter, -/obj/item/rig_module/device/plasmacutter, -/obj/item/rig_module/device/orescanner, -/obj/item/rig_module/device/orescanner, -/obj/structure/table/rack/shelf/steel, -/obj/machinery/light{ - dir = 4; - icon_state = "tube1" - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"nN" = ( -/obj/structure/closet/crate/bin, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/rnd) -"nO" = ( -/obj/item/device/defib_kit/jumper_kit, -/obj/structure/table/steel_reinforced, -/obj/item/device/robotanalyzer, -/obj/machinery/light, -/obj/machinery/alarm{ - dir = 1; - pixel_y = -22 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/rnd) -"nP" = ( -/obj/effect/floor_decal/industrial/warning, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/rnd) -"nQ" = ( -/obj/effect/floor_decal/industrial/warning, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/rnd) -"nR" = ( -/obj/structure/closet/wardrobe/science_white, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/rnd) -"nS" = ( -/obj/structure/closet/wardrobe/robotics_black, -/obj/machinery/firealarm{ - dir = 1; - pixel_x = 0; - pixel_y = -25 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/rnd) -"nT" = ( -/obj/machinery/computer/supplycomp{ - dir = 8 - }, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/bridge) -"nU" = ( -/obj/machinery/computer/robotics{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/bridge) -"nV" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/structure/cable/cyan{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"nW" = ( -/obj/machinery/door/airlock/highsecurity{ - req_one_access = list(103) - }, -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/armory) -"nX" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/structure/cable/cyan{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"nY" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/light, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"nZ" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/firealarm{ - dir = 1; - pixel_x = 0; - pixel_y = -25 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"oa" = ( -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 2; - name = "south bump"; - pixel_y = -28; - req_access = list(67) - }, -/obj/structure/cable/cyan{ - icon_state = "0-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"ob" = ( -/obj/machinery/alarm{ - dir = 1; - pixel_y = -22 - }, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"oc" = ( -/obj/structure/reagent_dispensers/peppertank{ - pixel_x = 0; - pixel_y = -30 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"od" = ( -/obj/machinery/vending/security, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/armory) -"oe" = ( -/obj/machinery/door/blast/regular{ - dir = 4; - id = "ship-mechbay"; - name = "Mech Bay" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/rnd) -"of" = ( -/obj/machinery/door/blast/regular{ - dir = 4; - id = "ship-mechbay"; - name = "Mech Bay" - }, -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/rnd) -"og" = ( -/obj/machinery/door/blast/regular{ - dir = 4; - id = "ship-mechbay"; - name = "Mech Bay" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/button/remote/blast_door{ - id = "ship-mechbay"; - name = "Mech Bay Controls"; - pixel_x = 28 - }, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/rnd) -"oh" = ( -/obj/structure/fireaxecabinet{ - pixel_y = -32 - }, -/obj/machinery/turretid/stun{ - check_access = 0; - check_records = 0; - check_weapons = 1; - control_area = /area/mothership/hallway; - name = "anti-boarding turret controls"; - pixel_x = -32; - req_access = list(101) - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/bridge) -"oi" = ( -/obj/machinery/firealarm{ - dir = 1; - pixel_x = 0; - pixel_y = -25 - }, -/obj/structure/bed/chair/bay/shuttle{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/bridge) -"oj" = ( -/obj/machinery/alarm{ - dir = 1; - pixel_y = -22 - }, -/obj/structure/bed/chair/bay/shuttle{ - dir = 8 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/bridge) -"ok" = ( -/obj/machinery/turretid/lethal{ - ailock = 1; - check_synth = 0; - check_weapons = 1; - control_area = /area/mothership/bridge; - name = "defense turret controls"; - pixel_x = 32; - req_access = list(101) - }, -/obj/structure/panic_button{ - pixel_y = -32 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/bridge) -"ol" = ( -/turf/simulated/wall/rpshull, -/area/mothership/holodeck) -"om" = ( -/turf/simulated/wall/rpshull, -/area/mothership/robotics) -"on" = ( -/obj/structure/closet/toolcloset, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/robotics) -"oo" = ( -/obj/machinery/recharge_station, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/robotics) -"op" = ( -/obj/effect/floor_decal/industrial/warning{ - dir = 1; - icon_state = "warning" - }, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/robotics) -"oq" = ( -/obj/machinery/mech_recharger, -/obj/effect/floor_decal/industrial/warning{ - dir = 1; - icon_state = "warning" - }, -/turf/simulated/floor/bluegrid, -/area/mothership/robotics) -"or" = ( -/obj/effect/floor_decal/industrial/warning{ - dir = 1; - icon_state = "warning" - }, -/turf/simulated/floor/bluegrid, -/area/mothership/robotics) -"os" = ( -/obj/machinery/mech_recharger, -/obj/structure/ghost_pod/manual/lost_drone/dogborg, -/turf/simulated/floor/bluegrid, -/area/mothership/robotics) -"ot" = ( -/obj/structure/ghost_pod/manual/lost_drone/dogborg, -/obj/effect/floor_decal/industrial/warning{ - dir = 4; - icon_state = "warning" - }, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/robotics) -"ou" = ( -/obj/machinery/door/blast/regular{ - id = "ship-mechbay-inner"; - name = "Mech Bay" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/button/remote/blast_door{ - id = "ship-mechbay-inner"; - name = "Mech Bay Controls"; - pixel_x = 0; - pixel_y = 28 - }, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/robotics) -"ov" = ( -/obj/effect/floor_decal/industrial/warning{ - dir = 8; - icon_state = "warning" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"ox" = ( -/obj/machinery/alarm{ - dir = 4; - pixel_x = -23; - pixel_y = 0 - }, -/obj/structure/closet/crate/bin, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/holodeck) -"oy" = ( -/obj/effect/floor_decal/spline/plain{ - dir = 4 - }, -/obj/machinery/status_display{ - pixel_y = 32 - }, -/obj/machinery/computer/HolodeckControl/holodorm/warship, -/obj/machinery/light{ - dir = 1 - }, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/holodeck) -"oz" = ( -/turf/simulated/floor/reinforced{ - name = "Holodeck Projector Floor" - }, -/area/mothership/holodeck/holo) -"oA" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/machinery/door/blast/regular{ - density = 0; - destroy_hits = 1000; - dir = 1; - icon_state = "pdoor0"; - id = "ship-holodeck"; - name = "Shuttle Blast Doors"; - opacity = 0 - }, -/obj/machinery/door/firedoor/glass, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/simulated/floor/plating, -/area/mothership/holodeck) -"oB" = ( -/obj/machinery/light{ - dir = 8; - icon_state = "tube1" - }, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/robotics) -"oC" = ( -/turf/simulated/floor/tiled/techfloor, -/area/mothership/robotics) -"oD" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/robotics) -"oE" = ( -/turf/simulated/floor/bluegrid, -/area/mothership/robotics) -"oF" = ( -/obj/effect/floor_decal/industrial/warning{ - dir = 4; - icon_state = "warning" - }, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/robotics) -"oG" = ( -/obj/machinery/door/blast/regular{ - id = "ship-mechbay-inner"; - name = "Mech Bay" - }, -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/robotics) -"oH" = ( -/obj/structure/cable/cyan{ - icon_state = "1-4" - }, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden{ - dir = 8; - icon_state = "map" - }, -/obj/machinery/porta_turret/industrial/teleport_defense{ - auto_repair = 1; - check_access = 0; - check_weapons = 1; - name = "anti-boarding turret"; - req_one_access = list(101) - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"oI" = ( -/obj/structure/cable/cyan{ - icon_state = "1-8" - }, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden{ - dir = 4; - icon_state = "map" - }, -/obj/machinery/porta_turret/industrial/teleport_defense{ - auto_repair = 1; - check_access = 0; - check_weapons = 1; - name = "anti-boarding turret"; - req_one_access = list(101) - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"oJ" = ( -/obj/machinery/button/remote/airlock{ - id = "ship-holodeck-door"; - name = "Holodeck Lock"; - pixel_x = -26; - pixel_y = -6; - specialfunctions = 4 - }, -/obj/machinery/button/remote/blast_door{ - dir = 8; - id = "ship-holodeck"; - name = "Blast Door Controls"; - pixel_x = -28; - pixel_y = 6 - }, -/obj/machinery/atmospherics/unary/vent_pump/on, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/holodeck) -"oK" = ( -/obj/effect/floor_decal/spline/plain{ - dir = 4 - }, -/obj/machinery/atmospherics/unary/vent_scrubber/on, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/holodeck) -"oL" = ( -/obj/structure/reagent_dispensers/fueltank, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/robotics) -"oM" = ( -/obj/machinery/cryopod/robot, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/robotics) -"oN" = ( -/obj/machinery/computer/cryopod/robot{ - dir = 1; - pixel_y = -28 - }, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/robotics) -"oO" = ( -/obj/machinery/mech_recharger, -/obj/machinery/firealarm{ - dir = 1; - pixel_x = 0; - pixel_y = -25 - }, -/turf/simulated/floor/bluegrid, -/area/mothership/robotics) -"oP" = ( -/obj/machinery/light, -/turf/simulated/floor/bluegrid, -/area/mothership/robotics) -"oQ" = ( -/obj/machinery/mech_recharger, -/obj/machinery/alarm{ - dir = 1; - pixel_y = -22 - }, -/turf/simulated/floor/bluegrid, -/area/mothership/robotics) -"oR" = ( -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 2; - name = "south bump"; - pixel_y = -28 - }, -/obj/structure/cable/cyan{ - icon_state = "0-4" - }, -/obj/effect/floor_decal/industrial/warning{ - dir = 4; - icon_state = "warning" - }, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/robotics) -"oS" = ( -/obj/machinery/door/blast/regular{ - id = "ship-mechbay-inner"; - name = "Mech Bay" - }, -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/robotics) -"oT" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/effect/floor_decal/industrial/warning{ - dir = 8; - icon_state = "warning" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"oU" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/structure/cable/cyan{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"oV" = ( -/obj/structure/table/steel_reinforced, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"oW" = ( -/obj/structure/bed/chair/comfy/black{ - dir = 8 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"oX" = ( -/obj/machinery/vending/fitness{ - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"oY" = ( -/obj/machinery/vending/coffee{ - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"oZ" = ( -/obj/structure/bed/chair/comfy/black{ - dir = 4 - }, -/obj/machinery/alarm{ - alarm_id = "pen_nine"; - breach_detection = 0; - dir = 1; - icon_state = "alarm0"; - pixel_y = -22 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"pa" = ( -/obj/structure/cable/cyan{ - icon_state = "1-4" - }, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"pb" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/door/airlock, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/holodeck) -"pc" = ( -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 2; - name = "south bump"; - pixel_y = -28; - req_access = list(67) - }, -/obj/structure/cable/cyan{ - icon_state = "0-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 9; - pixel_y = 0 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/holodeck) -"pd" = ( -/obj/effect/floor_decal/spline/plain{ - dir = 4 - }, -/obj/machinery/firealarm{ - dir = 1; - pixel_x = 0; - pixel_y = -24 - }, -/obj/structure/closet/secure_closet/personal, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 9 - }, -/obj/item/weapon/storage/box/survival/space, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/holodeck) -"pe" = ( -/turf/simulated/wall/rpshull, -/area/mothership/telecomms1) -"pk" = ( -/turf/simulated/wall/rpshull, -/area/mothership/cryotube) -"pr" = ( -/obj/machinery/door/airlock/external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "ws_dock_6_outer"; - locked = 1; - req_one_access = list(101) - }, -/obj/machinery/access_button{ - command = "cycle_exterior"; - frequency = 1380; - master_tag = "ws_dock_6"; - name = "exterior access button"; - pixel_x = -5; - pixel_y = -26; - req_one_access = list(101) - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/telecomms1) -"ps" = ( -/obj/machinery/atmospherics/unary/vent_pump/high_volume{ - dir = 4; - frequency = 1380; - id_tag = "ws_dock_6_pump" - }, -/obj/machinery/light/small{ - dir = 1; - icon_state = "bulb1" - }, -/obj/machinery/airlock_sensor{ - frequency = 1380; - id_tag = "ws_dock_6_sensor"; - pixel_x = 0; - pixel_y = 25 - }, -/obj/machinery/embedded_controller/radio/airlock/docking_port{ - frequency = 1380; - id_tag = "ws_dock_6"; - pixel_y = -32; - req_one_access = list(101); - tag_airpump = "ws_dock_6_pump"; - tag_chamber_sensor = "ws_dock_6_sensor"; - tag_exterior_door = "ws_dock_6_outer"; - tag_interior_door = "ws_dock_6_inner" - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/telecomms1) -"pt" = ( -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 9; - icon_state = "intact" - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/obj/machinery/door/airlock/external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "ws_dock_6_inner"; - locked = 1; - req_one_access = list(101) - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/telecomms1) -"pu" = ( -/obj/machinery/firealarm{ - dir = 2; - layer = 3.3; - pixel_x = 4; - pixel_y = 26 - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 10; - icon_state = "intact" - }, -/obj/machinery/access_button{ - command = "cycle_interior"; - frequency = 1380; - master_tag = "ws_dock_6"; - name = "interior access button"; - pixel_x = -28; - pixel_y = 26; - req_one_access = list(101) - }, -/obj/effect/floor_decal/industrial/warning{ - dir = 8 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/telecomms1) -"pv" = ( -/obj/machinery/telecomms/receiver/preset_cent, -/turf/simulated/floor/greengrid, -/area/mothership/telecomms1) -"px" = ( -/obj/machinery/telecomms/broadcaster/preset_cent, -/turf/simulated/floor/greengrid, -/area/mothership/telecomms1) -"py" = ( -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 1; - name = "north bump"; - pixel_x = 0; - pixel_y = 24 - }, -/obj/structure/cable/cyan{ - icon_state = "0-4" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 6 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/telecomms1) -"pz" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/telecomms1) -"pA" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/telecomms1) -"pB" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/door/airlock/highsecurity{ - req_one_access = list(101) - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/telecomms1) -"pC" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/structure/cable/cyan{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 9; - pixel_y = 0 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden{ - dir = 4; - icon_state = "map" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"pE" = ( -/obj/machinery/vending/loadout/accessory, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/cryotube) -"pF" = ( -/obj/machinery/vending/loadout/clothing, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/cryotube) -"pG" = ( -/obj/machinery/vending/loadout/overwear, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/cryotube) -"pH" = ( -/obj/machinery/vending/loadout/uniform, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/cryotube) -"pI" = ( -/obj/machinery/vending/loadout/costume, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/cryotube) -"pJ" = ( -/obj/machinery/vending/loadout/loadout_misc, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/cryotube) -"pK" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/door/airlock/highsecurity{ - req_one_access = list(101) - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/telecomms2) -"pL" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/telecomms2) -"pM" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/telecomms2) -"pN" = ( -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 1; - name = "north bump"; - pixel_x = 0; - pixel_y = 24 - }, -/obj/structure/cable/cyan{ - icon_state = "0-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 10; - icon_state = "intact" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/telecomms2) -"pO" = ( -/obj/machinery/telecomms/allinone, -/turf/simulated/floor/greengrid, -/area/mothership/telecomms2) -"pP" = ( -/obj/machinery/account_database{ - name = "CentComm Accounts database" - }, -/turf/simulated/floor/greengrid, -/area/mothership/telecomms2) -"pQ" = ( -/obj/machinery/ntnet_relay, -/turf/simulated/floor/greengrid, -/area/mothership/telecomms2) -"pR" = ( -/obj/machinery/firealarm{ - dir = 2; - layer = 3.3; - pixel_x = 4; - pixel_y = 26 - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 6 - }, -/obj/machinery/access_button{ - command = "cycle_interior"; - frequency = 1380; - master_tag = "ws_dock_3"; - name = "interior access button"; - pixel_x = 28; - pixel_y = 26; - req_one_access = list(101) - }, -/obj/effect/floor_decal/industrial/warning{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/telecomms2) -"pS" = ( -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/obj/machinery/door/airlock/external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "ws_dock_3_inner"; - locked = 1; - req_one_access = list(101) - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/telecomms2) -"pT" = ( -/obj/machinery/atmospherics/unary/vent_pump/high_volume{ - dir = 8; - frequency = 1380; - id_tag = "ws_dock_3_pump" - }, -/obj/machinery/light/small{ - dir = 1; - icon_state = "bulb1" - }, -/obj/machinery/airlock_sensor{ - frequency = 1380; - id_tag = "ws_dock_3_sensor"; - pixel_x = 0; - pixel_y = 25 - }, -/obj/machinery/embedded_controller/radio/airlock/docking_port{ - frequency = 1380; - id_tag = "ws_dock_3"; - pixel_y = -32; - req_one_access = list(101); - tag_airpump = "ws_dock_3_pump"; - tag_chamber_sensor = "ws_dock_3_sensor"; - tag_exterior_door = "ws_dock_3_outer"; - tag_interior_door = "ws_dock_3_inner" - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/telecomms2) -"pU" = ( -/obj/machinery/door/airlock/external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "ws_dock_3_outer"; - locked = 1; - req_one_access = list(101) - }, -/obj/machinery/access_button{ - command = "cycle_exterior"; - frequency = 1380; - master_tag = "ws_dock_3"; - name = "exterior access button"; - pixel_x = 5; - pixel_y = -26; - req_one_access = list(101) - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/telecomms2) -"pW" = ( -/obj/machinery/alarm{ - dir = 4; - pixel_x = -23; - pixel_y = 0 - }, -/obj/machinery/light{ - dir = 8; - icon_state = "tube1"; - pixel_y = 0 - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 5; - icon_state = "intact" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/telecomms1) -"pX" = ( -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/telecomms1) -"pY" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 9; - icon_state = "intact" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/telecomms1) -"pZ" = ( -/obj/machinery/telecomms/hub/preset_cent, -/turf/simulated/floor/greengrid, -/area/mothership/telecomms1) -"qb" = ( -/obj/structure/sign/department/telecoms, -/turf/simulated/wall/rpshull, -/area/mothership/telecomms1) -"qc" = ( -/obj/structure/closet/crate/bin, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"qd" = ( -/obj/structure/cable/cyan{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"qe" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/door/airlock, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/cryotube) -"qf" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/cryotube) -"qg" = ( -/obj/structure/cable/cyan{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/cryotube) -"qh" = ( -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/cryotube) -"qi" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/cryotube) -"qj" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/cryotube) -"qk" = ( -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/door/airlock, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/cryotube) -"ql" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"qm" = ( -/obj/structure/sign/department/telecoms, -/turf/simulated/wall/rpshull, -/area/mothership/telecomms2) -"qn" = ( -/obj/machinery/computer/rdservercontrol{ - badmin = 1; - dir = 1; - name = "Master RnD Server Controller" - }, -/turf/simulated/floor/greengrid, -/area/mothership/telecomms2) -"qo" = ( -/obj/machinery/r_n_d/server/centcom, -/turf/simulated/floor/greengrid, -/area/mothership/telecomms2) -"qp" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 5; - icon_state = "intact" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/telecomms2) -"qq" = ( -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/telecomms2) -"qr" = ( -/obj/machinery/alarm{ - alarm_id = "anomaly_testing"; - breach_detection = 0; - dir = 8; - frequency = 1439; - pixel_x = 22; - pixel_y = 0; - report_danger_level = 0 - }, -/obj/machinery/light{ - dir = 4; - icon_state = "tube1" - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 9; - icon_state = "intact" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/telecomms2) -"qs" = ( -/turf/simulated/wall/rpshull, -/area/mothership/telecomms2) -"qt" = ( -/obj/machinery/telecomms/bus/preset_cent, -/turf/simulated/floor/greengrid, -/area/mothership/telecomms1) -"qv" = ( -/obj/machinery/telecomms/processor/preset_cent, -/turf/simulated/floor/greengrid, -/area/mothership/telecomms1) -"qw" = ( -/obj/effect/floor_decal/techfloor/orange{ - dir = 10; - icon_state = "techfloororange_edges" - }, -/obj/effect/floor_decal/corner_techfloor_grid{ - dir = 4 - }, -/obj/machinery/mech_recharger{ - icon = 'icons/turf/shuttle_alien_blue.dmi' - }, -/obj/mecha/combat/fighter/gunpod/loaded, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/telecomms1) -"qB" = ( -/obj/structure/sign/department/eng, -/turf/simulated/wall/rpshull, -/area/mothership/engineering) -"qC" = ( -/obj/machinery/door/airlock/engineeringatmos, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/engineering) -"qD" = ( -/obj/structure/undies_wardrobe, -/obj/machinery/light{ - dir = 8; - icon_state = "tube1"; - pixel_y = 0 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/cryotube) -"qE" = ( -/obj/effect/floor_decal/techfloor{ - dir = 9 - }, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/cryotube) -"qF" = ( -/obj/effect/floor_decal/techfloor{ - dir = 1 - }, -/obj/machinery/washing_machine, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/cryotube) -"qG" = ( -/obj/effect/floor_decal/techfloor{ - dir = 5 - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/cryotube) -"qH" = ( -/obj/machinery/vending/loadout/gadget, -/obj/machinery/light{ - dir = 4; - icon_state = "tube1" - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/cryotube) -"qI" = ( -/obj/machinery/door/airlock/engineeringatmos, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/engineering) -"qR" = ( -/obj/machinery/atmospherics/portables_connector{ - dir = 4 - }, -/obj/effect/floor_decal/industrial/outline, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/telecomms1) -"qT" = ( -/obj/machinery/atmospherics/pipe/tank/air{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"qU" = ( -/obj/machinery/atmospherics/pipe/simple/visible{ - dir = 4 - }, -/obj/machinery/power/thermoregulator, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"qV" = ( -/obj/machinery/atmospherics/pipe/simple/visible{ - dir = 4 - }, -/obj/machinery/meter, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"qW" = ( -/obj/machinery/atmospherics/pipe/manifold/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/visible/scrubbers, -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 26 - }, -/obj/machinery/light{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"qX" = ( -/obj/machinery/gear_painter, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/cryotube) -"qY" = ( -/obj/effect/floor_decal/techfloor{ - dir = 8 - }, -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 2; - name = "south bump"; - pixel_y = -28; - req_access = list(67) - }, -/obj/structure/cable/cyan, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/cryotube) -"qZ" = ( -/obj/machinery/cryopod, -/obj/machinery/alarm{ - dir = 1; - pixel_y = -22 - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/cryotube) -"ra" = ( -/obj/machinery/cryopod{ - dir = 4 - }, -/obj/machinery/firealarm{ - dir = 1; - pixel_x = 0; - pixel_y = -25 - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/cryotube) -"rb" = ( -/obj/machinery/computer/cryopod{ - pixel_y = -32 - }, -/obj/effect/floor_decal/techfloor{ - dir = 4 - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/cryotube) -"rc" = ( -/obj/machinery/vending/loadout, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/cryotube) -"rd" = ( -/obj/machinery/atmospherics/pipe/simple/visible/scrubbers, -/obj/machinery/atmospherics/pipe/simple/visible/supply, -/obj/structure/cable/cyan{ - icon_state = "1-4" - }, -/obj/machinery/alarm{ - dir = 4; - pixel_x = -23; - pixel_y = 0 - }, -/obj/machinery/light{ - dir = 8; - icon_state = "tube1" - }, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"re" = ( -/obj/structure/table/steel_reinforced, -/obj/machinery/recharger, -/obj/structure/cable/cyan{ - icon_state = "0-8" - }, -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 1; - name = "north bump"; - pixel_x = 0; - pixel_y = 24 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"rf" = ( -/obj/structure/table/steel_reinforced, -/obj/machinery/computer/skills, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"rg" = ( -/obj/structure/closet/crate/bin, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"rh" = ( -/obj/effect/floor_decal/techfloor/orange{ - dir = 8 - }, -/obj/effect/floor_decal/corner_techfloor_grid{ - dir = 6; - icon_state = "corner_techfloor_grid" - }, -/obj/machinery/mech_recharger{ - icon = 'icons/turf/shuttle_alien_blue.dmi' - }, -/obj/mecha/combat/fighter/gunpod/loaded, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/telecomms2) -"ri" = ( -/obj/effect/shuttle_landmark{ - base_area = /area/space; - base_turf = /turf/space; - flags = 2; - landmark_tag = "cruiser_starboard"; - name = "Vessel starboard" - }, -/turf/space, -/area/space) -"rj" = ( -/obj/effect/floor_decal/techfloor/orange{ - dir = 8 - }, -/obj/effect/floor_decal/corner_techfloor_grid{ - dir = 6; - icon_state = "corner_techfloor_grid" - }, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/telecomms1) -"rk" = ( -/obj/machinery/atmospherics/pipe/manifold/visible/cyan{ - dir = 1 - }, -/obj/structure/closet/emcloset/legacy, -/obj/item/weapon/storage/box/survival/space, -/obj/item/weapon/storage/box/survival/space, -/obj/item/weapon/storage/box/survival/space, -/obj/item/weapon/storage/box/survival/space, -/obj/item/weapon/storage/box/survival/space, -/obj/item/weapon/storage/box/survival/space, -/obj/item/weapon/storage/box/syndie_kit/space, -/obj/item/weapon/storage/box/syndie_kit/space, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"rl" = ( -/obj/machinery/atmospherics/binary/passive_gate{ - dir = 4; - icon_state = "on"; - unlocked = 1 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"rm" = ( -/obj/machinery/atmospherics/pipe/simple/visible/universal, -/obj/machinery/atmospherics/pipe/simple/visible{ - dir = 9 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"rn" = ( -/obj/machinery/atmospherics/pipe/simple/visible/scrubbers, -/obj/machinery/atmospherics/pipe/simple/visible/supply, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"ro" = ( -/obj/structure/table/steel_reinforced, -/turf/simulated/floor/carpet/oracarpet, -/area/mothership/engineering) -"rp" = ( -/obj/structure/bed/chair/office/dark{ - dir = 8 - }, -/turf/simulated/floor/carpet/oracarpet, -/area/mothership/engineering) -"rq" = ( -/obj/machinery/computer/station_alert/all{ - dir = 8; - icon_state = "computer" - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"rt" = ( -/obj/effect/floor_decal/techfloor/orange{ - dir = 8 - }, -/obj/effect/floor_decal/corner_techfloor_grid{ - dir = 6; - icon_state = "corner_techfloor_grid" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/purple{ - dir = 4 - }, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/telecomms1) -"ru" = ( -/obj/machinery/atmospherics/pipe/manifold4w/visible/cyan, -/obj/machinery/meter, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"rv" = ( -/obj/machinery/atmospherics/binary/pump/on{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"rw" = ( -/obj/machinery/atmospherics/pipe/simple/visible/universal{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/visible/red, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"rx" = ( -/obj/machinery/atmospherics/pipe/simple/visible/supply{ - dir = 4; - icon_state = "intact-supply" - }, -/obj/machinery/portable_atmospherics/powered/pump/filled, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"ry" = ( -/obj/machinery/atmospherics/pipe/simple/visible/supply{ - dir = 4; - icon_state = "intact-supply" - }, -/obj/machinery/space_heater, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"rz" = ( -/obj/machinery/atmospherics/pipe/simple/visible/supply{ - dir = 4; - icon_state = "intact-supply" - }, -/obj/machinery/pipedispenser/disposal/orderable, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"rA" = ( -/obj/machinery/atmospherics/pipe/simple/visible/supply{ - dir = 4; - icon_state = "intact-supply" - }, -/obj/machinery/pipedispenser/orderable, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"rB" = ( -/obj/machinery/atmospherics/pipe/simple/visible/supply{ - dir = 4; - icon_state = "intact-supply" - }, -/obj/machinery/portable_atmospherics/powered/scrubber, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"rC" = ( -/obj/machinery/atmospherics/pipe/simple/visible/supply{ - dir = 4; - icon_state = "intact-supply" - }, -/obj/structure/closet/secure_closet/engineering_personal, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"rD" = ( -/obj/machinery/atmospherics/pipe/manifold/visible/supply{ - dir = 1; - icon_state = "map-supply" - }, -/obj/structure/closet/secure_closet/engineering_personal, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"rE" = ( -/obj/machinery/atmospherics/pipe/simple/visible/scrubbers, -/obj/machinery/atmospherics/pipe/simple/visible/supply{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"rF" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/weapon/pen/multi, -/obj/item/weapon/folder/yellow_ce, -/turf/simulated/floor/carpet/oracarpet, -/area/mothership/engineering) -"rG" = ( -/turf/simulated/floor/carpet/oracarpet, -/area/mothership/engineering) -"rH" = ( -/obj/item/modular_computer/console/preset/mercenary{ - dir = 8 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"rK" = ( -/obj/machinery/atmospherics/portables_connector{ - dir = 4 - }, -/obj/machinery/portable_atmospherics/canister/empty/nitrogen, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"rL" = ( -/obj/machinery/atmospherics/pipe/simple/visible/yellow{ - dir = 8; - icon_state = "intact" - }, -/obj/machinery/atmospherics/binary/pump/high_power/on{ - dir = 1 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"rM" = ( -/obj/machinery/atmospherics/pipe/manifold/visible/yellow{ - dir = 1 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"rN" = ( -/obj/machinery/atmospherics/omni/atmos_filter{ - tag_east = 2; - tag_north = 1; - tag_south = 3; - tag_west = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"rO" = ( -/obj/machinery/atmospherics/tvalve/digital/mirrored{ - dir = 8; - name = "Filter Bypass" - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"rP" = ( -/obj/machinery/atmospherics/trinary/atmos_filter{ - dir = 4; - filter_type = 0; - filtered_out = list("phoron") - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"rQ" = ( -/obj/machinery/atmospherics/trinary/atmos_filter{ - dir = 4; - filter_type = 3; - filtered_out = list("carbon_dioxide") - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"rR" = ( -/obj/machinery/atmospherics/trinary/atmos_filter{ - dir = 4; - filter_type = 4; - filtered_out = list("sleeping_agent") - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"rS" = ( -/obj/machinery/atmospherics/pipe/simple/visible/black{ - dir = 10 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"rT" = ( -/obj/machinery/atmospherics/pipe/simple/visible/red{ - dir = 6 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"rU" = ( -/obj/machinery/atmospherics/pipe/manifold/visible/red{ - dir = 1; - icon_state = "map" - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"rV" = ( -/obj/machinery/atmospherics/pipe/simple/visible/universal{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/visible/supply, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"rW" = ( -/obj/machinery/atmospherics/pipe/manifold/visible/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 5; - icon_state = "intact" - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"rX" = ( -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"rY" = ( -/obj/structure/closet/secure_closet/engineering_chief, -/obj/item/weapon/rcd, -/obj/item/weapon/rcd_ammo, -/obj/item/weapon/rcd_ammo, -/obj/item/weapon/rcd_ammo, -/obj/item/weapon/rcd_ammo, -/obj/item/weapon/rcd_ammo, -/obj/item/weapon/rcd_ammo, -/obj/item/weapon/rcd_ammo, -/obj/item/weapon/rcd_ammo, -/obj/item/weapon/rig/ce/equipped, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 10; - icon_state = "intact" - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"rZ" = ( -/obj/effect/floor_decal/techfloor/orange{ - dir = 10; - icon_state = "techfloororange_edges" - }, -/obj/effect/floor_decal/corner_techfloor_grid{ - dir = 4 - }, -/obj/machinery/mech_recharger{ - icon = 'icons/turf/shuttle_alien_blue.dmi' - }, -/obj/mecha/combat/fighter/gunpod/loaded, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/telecomms2) -"sb" = ( -/obj/machinery/light{ - dir = 8; - icon_state = "tube1" - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"sc" = ( -/obj/machinery/atmospherics/pipe/simple/visible/cyan{ - dir = 5 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"sd" = ( -/obj/machinery/atmospherics/trinary/mixer{ - dir = 8; - node1_concentration = 0.21; - node2_concentration = 0.79 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"se" = ( -/obj/machinery/atmospherics/pipe/manifold/visible/yellow, -/obj/machinery/meter, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"sf" = ( -/obj/machinery/atmospherics/portables_connector{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/visible/black{ - dir = 5 - }, -/obj/machinery/portable_atmospherics/canister/empty/oxygen, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"sg" = ( -/obj/machinery/atmospherics/portables_connector{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/visible/black{ - dir = 4 - }, -/obj/machinery/portable_atmospherics/canister/empty/phoron, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"sh" = ( -/obj/machinery/atmospherics/portables_connector{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/visible/black{ - dir = 4 - }, -/obj/machinery/portable_atmospherics/canister/empty/carbon_dioxide, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"si" = ( -/obj/machinery/atmospherics/portables_connector{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/visible/black{ - dir = 4 - }, -/obj/machinery/portable_atmospherics/canister/empty/nitrous_oxide, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"sj" = ( -/obj/machinery/atmospherics/pipe/manifold/visible/black{ - dir = 4; - icon_state = "map" - }, -/obj/machinery/meter, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"sk" = ( -/obj/machinery/atmospherics/unary/freezer{ - dir = 1; - icon_state = "freezer"; - use_power = 0 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"sl" = ( -/obj/machinery/atmospherics/unary/heater{ - dir = 1; - icon_state = "heater"; - use_power = 0 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"sm" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 1 - }, -/obj/structure/closet/secure_closet/engineering_electrical, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"sn" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 1 - }, -/obj/structure/closet/secure_closet/engineering_welding, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"so" = ( -/obj/structure/closet/radiation, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"sp" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"sq" = ( -/obj/machinery/door/blast/regular{ - destroy_hits = 1000; - dir = 4; - id = "ship-dronehangar1"; - name = "Drone Hangar" - }, -/obj/machinery/door/firedoor/glass, -/obj/structure/fans/hardlight, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/telecomms2) -"sr" = ( -/obj/structure/closet/hydrant{ - pixel_x = -32 - }, -/obj/item/clothing/suit/fire/firefighter, -/obj/item/clothing/mask/gas, -/obj/item/device/flashlight, -/obj/item/weapon/tank/oxygen/red, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/extinguisher, -/obj/item/weapon/extinguisher, -/obj/item/clothing/head/hardhat/red, -/obj/item/weapon/storage/toolbox/emergency, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 6 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"ss" = ( -/obj/machinery/vending/assist{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"st" = ( -/obj/structure/particle_accelerator/end_cap{ - anchored = 1 - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"su" = ( -/obj/item/stack/material/glass{ - amount = 50 - }, -/obj/item/stack/material/glass{ - amount = 50 - }, -/obj/item/stack/material/glass{ - amount = 50 - }, -/obj/item/stack/material/glass{ - amount = 50 - }, -/obj/item/stack/material/steel{ - amount = 50; - pixel_x = 2; - pixel_y = 2 - }, -/obj/item/stack/material/steel{ - amount = 50; - pixel_x = 2; - pixel_y = 2 - }, -/obj/item/stack/material/steel{ - amount = 50; - pixel_x = 2; - pixel_y = 2 - }, -/obj/item/stack/material/steel{ - amount = 50; - pixel_x = 2; - pixel_y = 2 - }, -/obj/item/stack/material/plasteel{ - amount = 50 - }, -/obj/item/stack/material/plasteel{ - amount = 50 - }, -/obj/item/stack/material/plasteel{ - amount = 50 - }, -/obj/item/stack/material/plasteel{ - amount = 50 - }, -/obj/item/stack/material/glass/reinforced{ - amount = 50 - }, -/obj/item/stack/material/glass/reinforced{ - amount = 50 - }, -/obj/item/stack/material/glass/reinforced{ - amount = 50 - }, -/obj/item/weapon/storage/briefcase/inflatable{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/weapon/storage/briefcase/inflatable{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/weapon/storage/briefcase/inflatable{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/weapon/storage/briefcase/inflatable{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/stack/rods, -/obj/item/stack/rods, -/obj/item/stack/material/glass/phoronglass, -/obj/item/stack/material/glass/phoronglass, -/obj/item/stack/rods, -/obj/item/stack/rods, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/obj/structure/closet{ - name = "materials" - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"sv" = ( -/obj/machinery/atmospherics/pipe/simple/visible/black, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"sw" = ( -/obj/machinery/vending/engivend{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"sx" = ( -/obj/structure/closet/hydrant{ - pixel_x = 32 - }, -/obj/item/clothing/suit/fire/firefighter, -/obj/item/clothing/mask/gas, -/obj/item/device/flashlight, -/obj/item/weapon/tank/oxygen/red, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/extinguisher, -/obj/item/weapon/extinguisher, -/obj/item/clothing/head/hardhat/red, -/obj/item/weapon/storage/toolbox/emergency, -/obj/machinery/atmospherics/pipe/manifold/hidden{ - dir = 4; - icon_state = "map" - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"sy" = ( -/obj/machinery/vending/engineering{ - dir = 8 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"sz" = ( -/obj/structure/particle_accelerator/fuel_chamber{ - anchored = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"sA" = ( -/obj/structure/bed/pod, -/obj/item/weapon/bedsheet/ce, -/obj/structure/curtain/open/bed, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"sB" = ( -/obj/machinery/atmospherics/binary/pump/on{ - dir = 2; - target_pressure = 200 - }, -/obj/machinery/light, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"sC" = ( -/obj/machinery/vending/tool{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"sD" = ( -/obj/machinery/atmospherics/pipe/simple/hidden, -/obj/machinery/door/airlock/external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "ws_dock_5_inner"; - locked = 1; - req_one_access = list(101) - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/engineering) -"sE" = ( -/obj/structure/particle_accelerator/power_box{ - anchored = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"sF" = ( -/obj/machinery/atmospherics/pipe/simple/visible/black, -/turf/simulated/wall/rpshull, -/area/mothership/engineering) -"sG" = ( -/obj/machinery/atmospherics/pipe/simple/hidden, -/obj/machinery/door/airlock/external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "ws_dock_4_inner"; - locked = 1; - req_one_access = list(101) - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/engineering) -"sH" = ( -/obj/machinery/atmospherics/unary/vent_pump/high_volume{ - dir = 1; - frequency = 1380; - id_tag = "ws_dock_5_pump" - }, -/obj/machinery/light/small{ - dir = 4; - pixel_y = 0 - }, -/obj/machinery/airlock_sensor{ - frequency = 1380; - id_tag = "ws_dock_5_sensor"; - pixel_x = 25; - pixel_y = 0 - }, -/obj/machinery/embedded_controller/radio/airlock/docking_port{ - frequency = 1380; - id_tag = "ws_dock_5"; - pixel_x = -32; - req_one_access = list(101); - tag_airpump = "ws_dock_5_pump"; - tag_chamber_sensor = "ws_dock_5_sensor"; - tag_exterior_door = "ws_dock_5_outer"; - tag_interior_door = "ws_dock_5_inner" - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/engineering) -"sI" = ( -/obj/structure/shuttle/engine/heater, -/obj/structure/window/phoronreinforced{ - dir = 1 - }, -/turf/simulated/floor/reinforced/airless, -/area/mothership/engineering) -"sK" = ( -/obj/machinery/atmospherics/unary/vent_pump/high_volume{ - dir = 1; - frequency = 1380; - id_tag = "ws_dock_4_pump" - }, -/obj/machinery/light/small{ - dir = 8; - pixel_x = 0 - }, -/obj/machinery/airlock_sensor{ - frequency = 1380; - id_tag = "ws_dock_4_sensor"; - pixel_x = -25; - pixel_y = 0 - }, -/obj/machinery/embedded_controller/radio/airlock/docking_port{ - frequency = 1380; - id_tag = "ws_dock_4"; - pixel_x = 32; - req_one_access = list(101); - tag_airpump = "ws_dock_4_pump"; - tag_chamber_sensor = "ws_dock_4_sensor"; - tag_exterior_door = "ws_dock_4_outer"; - tag_interior_door = "ws_dock_4_inner" - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/engineering) -"sL" = ( -/obj/machinery/door/airlock/external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "ws_dock_5_outer"; - locked = 1; - req_one_access = list(101) - }, -/obj/machinery/access_button{ - command = "cycle_exterior"; - frequency = 1380; - master_tag = "ws_dock_5"; - name = "exterior access button"; - pixel_x = -26; - pixel_y = -5; - req_one_access = list(101) - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/engineering) -"sN" = ( -/obj/effect/shuttle_landmark{ - base_area = /area/space; - base_turf = /turf/space; - docking_controller = "ws_dock_6"; - landmark_tag = "ws_port_dock_2"; - name = "Cruiser Dock P2" - }, -/turf/space, -/area/space) -"sO" = ( -/obj/effect/shuttle_landmark{ - base_area = /area/space; - base_turf = /turf/space; - docking_controller = "ws_dock_3"; - landmark_tag = "ws_starboard_dock_2"; - name = "Cruiser Dock S2" - }, -/turf/space, -/area/space) -"sP" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 1 - }, -/turf/simulated/floor/reinforced/airless{ - name = "outer hull" - }, -/area/mothership/bridge) -"sQ" = ( -/obj/effect/shuttle_landmark{ - base_area = /area/space; - base_turf = /turf/space; - flags = 2; - landmark_tag = "cruiser_aft"; - name = "Vessel aft" - }, -/turf/space, -/area/space) -"tb" = ( -/obj/effect/floor_decal/techfloor/orange{ - dir = 5; - icon_state = "techfloororange_edges" - }, -/obj/effect/floor_decal/corner_techfloor_grid{ - dir = 8 - }, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/telecomms2) -"tl" = ( -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 26 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"ts" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"tA" = ( -/obj/machinery/firealarm{ - dir = 8; - pixel_x = -24 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"tG" = ( -/turf/simulated/wall/rpshull, -/area/mothership/breakroom) -"tK" = ( -/obj/item/modular_computer/console/preset/mercenary{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/bridge) -"tW" = ( -/obj/mecha/combat/fighter/gunpod/loaded, -/obj/machinery/atmospherics/portables_connector{ - dir = 8 - }, -/obj/effect/floor_decal/industrial/outline, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/telecomms2) -"tZ" = ( -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 5; - icon_state = "intact" - }, -/turf/simulated/floor/wood, -/area/mothership/breakroom) -"uh" = ( -/obj/machinery/power/pointdefense{ - id_tag = "warship_pd" - }, -/turf/simulated/floor/reinforced/airless{ - name = "outer hull" - }, -/area/mothership/bridge) -"uI" = ( -/obj/structure/bed/chair/bay/shuttle{ - dir = 1 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/bridge) -"uN" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"uS" = ( -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/obj/machinery/door/airlock/external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "ws_dock_2_inner"; - locked = 1; - req_one_access = list(101) - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/eva) -"vb" = ( -/turf/simulated/floor/reinforced/airless{ - name = "outer hull" - }, -/area/mothership/telecomms1) -"vi" = ( -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/reinforced, -/area/mothership/telecomms2) -"vD" = ( -/obj/mecha/combat/fighter/gunpod/loaded, -/obj/machinery/atmospherics/portables_connector{ - dir = 8 - }, -/obj/effect/floor_decal/industrial/outline, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/telecomms1) -"wm" = ( -/obj/effect/floor_decal/techfloor/orange{ - dir = 6; - icon_state = "techfloororange_edges" - }, -/obj/effect/floor_decal/corner_techfloor_grid{ - dir = 1 - }, -/obj/machinery/mech_recharger{ - icon = 'icons/turf/shuttle_alien_blue.dmi' - }, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/telecomms2) -"wA" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"wO" = ( -/obj/machinery/atmospherics/pipe/manifold4w/hidden, -/turf/simulated/floor/reinforced, -/area/mothership/telecomms1) -"wT" = ( -/obj/machinery/computer/ship/sensors, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/bridge) -"xm" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"xn" = ( -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"xE" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 1 - }, -/obj/machinery/firealarm{ - dir = 2; - layer = 3.3; - pixel_x = 4; - pixel_y = 26 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"xS" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden, -/obj/machinery/alarm{ - alarm_id = "anomaly_testing"; - breach_detection = 0; - dir = 8; - frequency = 1439; - pixel_x = 22; - pixel_y = 0; - report_danger_level = 0 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"yi" = ( -/obj/machinery/atmospherics/pipe/simple/hidden, -/obj/machinery/door/airlock/external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "ws_dock_1_inner"; - locked = 1; - req_one_access = list(101) - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/breakroom) -"yr" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 8 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"yE" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/vault{ - req_one_access = list(101) - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/vault) -"yG" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden, -/obj/machinery/alarm{ - dir = 4; - icon_state = "alarm0"; - pixel_x = -22 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"yW" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 8 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"zd" = ( -/obj/machinery/computer/timeclock{ - pixel_y = 28 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"zv" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"zE" = ( -/obj/machinery/atmospherics/pipe/simple/hidden, -/obj/machinery/access_button{ - command = "cycle_interior"; - frequency = 1380; - master_tag = "ws_dock_4"; - name = "interior access button"; - pixel_x = -28; - pixel_y = -26; - req_one_access = list(101) - }, -/obj/effect/floor_decal/industrial/warning, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"Am" = ( -/obj/machinery/atmospherics/pipe/simple/hidden, -/obj/machinery/access_button{ - command = "cycle_interior"; - frequency = 1380; - master_tag = "ws_dock_5"; - name = "interior access button"; - pixel_x = 28; - pixel_y = -26; - req_one_access = list(101) - }, -/obj/effect/floor_decal/industrial/warning, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/engineering) -"AL" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden, -/obj/machinery/button/remote/blast_door{ - id = "ship-dronehangar2"; - name = "Drone Hangar Controls"; - pixel_x = 0; - pixel_y = -28; - req_one_access = list(101) - }, -/turf/simulated/floor/reinforced, -/area/mothership/telecomms1) -"AP" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"Bd" = ( -/obj/machinery/atmospherics/pipe/simple/hidden, -/obj/machinery/meter, -/turf/simulated/floor/reinforced, -/area/mothership/telecomms2) -"BQ" = ( -/obj/effect/floor_decal/techfloor/orange{ - dir = 8 - }, -/obj/effect/floor_decal/corner_techfloor_grid{ - dir = 6; - icon_state = "corner_techfloor_grid" - }, -/obj/machinery/mech_recharger{ - icon = 'icons/turf/shuttle_alien_blue.dmi' - }, -/obj/mecha/combat/fighter/gunpod/loaded, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/telecomms1) -"Ch" = ( -/obj/effect/floor_decal/techfloor/orange{ - dir = 6; - icon_state = "techfloororange_edges" - }, -/obj/effect/floor_decal/corner_techfloor_grid{ - dir = 1 - }, -/obj/machinery/mech_recharger{ - icon = 'icons/turf/shuttle_alien_blue.dmi' - }, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/telecomms1) -"Ct" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/eva) -"Df" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/effect/floor_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/vault) -"Do" = ( -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/turf/simulated/floor/wood, -/area/mothership/breakroom) -"DG" = ( -/obj/effect/floor_decal/industrial/warning{ - dir = 8; - icon_state = "warning" - }, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"DX" = ( -/obj/effect/floor_decal/techfloor/orange{ - dir = 5; - icon_state = "techfloororange_edges" - }, -/obj/effect/floor_decal/corner_techfloor_grid{ - dir = 8 - }, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/telecomms1) -"Ep" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/obj/machinery/computer/guestpass{ - pixel_y = 28 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"Ex" = ( -/obj/effect/floor_decal/industrial/warning{ - dir = 1; - icon_state = "warning" - }, -/turf/simulated/floor/reinforced/airless{ - name = "outer hull" - }, -/area/mothership/bridge) -"Ez" = ( -/obj/effect/floor_decal/techfloor/orange{ - dir = 4 - }, -/obj/effect/floor_decal/corner_techfloor_grid{ - dir = 9 - }, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/telecomms2) -"EG" = ( -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 9; - icon_state = "intact" - }, -/turf/simulated/floor/wood, -/area/mothership/breakroom) -"EK" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"EP" = ( -/obj/effect/overmap/visitable/ship/cruiser, -/turf/space, -/area/space) -"EQ" = ( -/obj/effect/floor_decal/industrial/outline, -/obj/mecha/combat/fighter/gunpod/loaded, -/obj/machinery/atmospherics/portables_connector{ - dir = 8 - }, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/telecomms1) -"EV" = ( -/obj/effect/floor_decal/techfloor/orange{ - dir = 8 - }, -/obj/effect/floor_decal/corner_techfloor_grid{ - dir = 6; - icon_state = "corner_techfloor_grid" - }, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/telecomms2) -"FC" = ( -/obj/machinery/ion_engine, -/turf/space, -/area/mothership/engineering) -"FQ" = ( -/obj/machinery/computer/timeclock{ - pixel_y = -28 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"FW" = ( -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/turf/simulated/floor/carpet/blue, -/area/mothership/breakroom) -"FY" = ( -/obj/machinery/door/airlock/multi_tile/metal, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/eva) -"Ge" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden{ - dir = 1; - icon_state = "map" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/telecomms1) -"Gi" = ( -/obj/machinery/atmospherics/pipe/simple/hidden, -/obj/machinery/access_button{ - command = "cycle_interior"; - frequency = 1380; - master_tag = "ws_dock_8"; - name = "interior access button"; - pixel_x = 28; - pixel_y = 26; - req_one_access = list(101) - }, -/obj/effect/floor_decal/industrial/warning{ - dir = 1; - icon_state = "warning" - }, -/turf/simulated/floor/wood, -/area/mothership/breakroom) -"GT" = ( -/obj/effect/floor_decal/techfloor/orange{ - dir = 8 - }, -/obj/effect/floor_decal/corner_techfloor_grid{ - dir = 6; - icon_state = "corner_techfloor_grid" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/purple{ - dir = 4 - }, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/telecomms2) -"Hl" = ( -/obj/effect/floor_decal/industrial/warning/corner{ - dir = 8 - }, -/obj/effect/floor_decal/industrial/warning{ - dir = 4; - icon_state = "warning" - }, -/obj/structure/cable/cyan{ - icon_state = "1-4" - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/teleporter) -"Hs" = ( -/obj/effect/floor_decal/techfloor/orange{ - dir = 4 - }, -/obj/effect/floor_decal/corner_techfloor_grid{ - dir = 9 - }, -/obj/machinery/mech_recharger{ - icon = 'icons/turf/shuttle_alien_blue.dmi' - }, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/telecomms2) -"HG" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 8 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"JJ" = ( -/obj/machinery/alarm{ - alarm_id = "pen_nine"; - breach_detection = 0; - dir = 1; - icon_state = "alarm0"; - pixel_y = -22 - }, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"Kc" = ( -/obj/structure/table/steel_reinforced, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"Kd" = ( -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/reinforced, -/area/mothership/telecomms1) -"Kr" = ( -/obj/structure/cable/cyan{ - icon_state = "1-8" - }, -/obj/structure/cable/cyan{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 9; - icon_state = "intact" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"KA" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden, -/obj/machinery/button/remote/blast_door{ - id = "ship-dronehangar1"; - name = "Drone Hangar Controls"; - pixel_x = 0; - pixel_y = -28; - req_one_access = list(101) - }, -/turf/simulated/floor/reinforced, -/area/mothership/telecomms2) -"KO" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply, -/obj/machinery/alarm{ - dir = 1; - icon_state = "alarm0"; - pixel_y = -22 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"MI" = ( -/obj/effect/floor_decal/industrial/outline, -/obj/mecha/combat/fighter/gunpod/loaded, -/obj/machinery/atmospherics/portables_connector{ - dir = 8 - }, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/telecomms2) -"On" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"Ox" = ( -/obj/effect/floor_decal/techfloor/orange{ - dir = 9; - icon_state = "techfloororange_edges" - }, -/obj/effect/floor_decal/corner_techfloor_grid, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/telecomms1) -"OC" = ( -/obj/machinery/atmospherics/portables_connector{ - dir = 4 - }, -/obj/effect/floor_decal/industrial/outline, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/telecomms2) -"Pi" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/atmospherics/unary/vent_pump/on, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"PC" = ( -/obj/machinery/atmospherics/pipe/simple/hidden, -/obj/machinery/access_button{ - command = "cycle_interior"; - frequency = 1380; - master_tag = "ws_dock_1"; - name = "interior access button"; - pixel_x = -28; - pixel_y = 26; - req_one_access = list(101) - }, -/obj/effect/floor_decal/industrial/warning{ - dir = 1; - icon_state = "warning" - }, -/turf/simulated/floor/wood, -/area/mothership/breakroom) -"PT" = ( -/obj/machinery/door/airlock/external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "ws_dock_4_outer"; - locked = 1; - req_one_access = list(101) - }, -/obj/machinery/access_button{ - command = "cycle_exterior"; - frequency = 1380; - master_tag = "ws_dock_4"; - name = "exterior access button"; - pixel_x = 26; - pixel_y = -5; - req_one_access = list(101) - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/engineering) -"QF" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/keycard_auth{ - pixel_x = 28 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/bridge) -"QH" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 1 - }, -/obj/machinery/firealarm{ - dir = 2; - layer = 3.3; - pixel_x = 4; - pixel_y = 26 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"QI" = ( -/obj/effect/shuttle_landmark{ - base_area = /area/space; - base_turf = /turf/space; - docking_controller = "ws_dock_2"; - landmark_tag = "ws_starboard_dock_1"; - name = "Cruiser Dock S1" - }, -/turf/space, -/area/space) -"QU" = ( -/obj/effect/shuttle_landmark{ - base_area = /area/space; - base_turf = /turf/space; - docking_controller = "ws_dock_7"; - landmark_tag = "ws_port_dock_1"; - name = "Cruiser Dock P1" - }, -/turf/space, -/area/space) -"RE" = ( -/obj/effect/floor_decal/techfloor/orange{ - dir = 4 - }, -/obj/effect/floor_decal/corner_techfloor_grid{ - dir = 9 - }, -/obj/machinery/mech_recharger{ - icon = 'icons/turf/shuttle_alien_blue.dmi' - }, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/telecomms1) -"RP" = ( -/obj/machinery/light{ - dir = 8; - icon_state = "tube1" - }, -/obj/machinery/firealarm{ - dir = 8; - pixel_x = -24 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"RS" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 8 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"Sa" = ( -/obj/machinery/telecomms/relay/preset/centcom, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/bridge) -"Sj" = ( -/obj/machinery/atmospherics/pipe/manifold4w/hidden, -/turf/simulated/floor/reinforced, -/area/mothership/telecomms2) -"Su" = ( -/obj/machinery/shipsensors{ - dir = 1; - health = 1000; - heat_reduction = 4.5; - max_health = 1000; - name = "military sensors suite" - }, -/turf/simulated/floor/reinforced/airless{ - name = "outer hull" - }, -/area/mothership/bridge) -"Sx" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 8 - }, -/obj/machinery/alarm{ - dir = 4; - icon_state = "alarm0"; - pixel_x = -22 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"Sz" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden{ - dir = 1; - icon_state = "map" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/telecomms2) -"SE" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/structure/cable/cyan{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden{ - dir = 8; - icon_state = "map" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"SM" = ( -/obj/machinery/door/airlock/external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "ws_dock_1_outer"; - locked = 1; - req_one_access = list(101) - }, -/obj/machinery/access_button{ - command = "cycle_exterior"; - frequency = 1380; - master_tag = "ws_dock_1"; - name = "exterior access button"; - pixel_x = 26; - pixel_y = 5; - req_one_access = list(101) - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/breakroom) -"SV" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"Td" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 8 - }, -/obj/machinery/firealarm{ - dir = 8; - pixel_x = -24 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"Tg" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"Tr" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/vault{ - req_one_access = list(101) - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/vault) -"TE" = ( -/turf/simulated/wall/rpshull, -/area/mothership/processing) -"TK" = ( -/obj/effect/floor_decal/techfloor/orange{ - dir = 9; - icon_state = "techfloororange_edges" - }, -/obj/effect/floor_decal/corner_techfloor_grid, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/telecomms2) -"Ux" = ( -/obj/machinery/light{ - dir = 8; - icon_state = "tube1" - }, -/obj/machinery/keycard_auth{ - pixel_x = -28 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/bridge) -"UD" = ( -/obj/machinery/atmospherics/pipe/simple/hidden, -/obj/machinery/meter, -/turf/simulated/floor/reinforced, -/area/mothership/telecomms1) -"Vb" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/door/airlock/engineering, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/vault) -"Wi" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"WE" = ( -/obj/machinery/door/blast/regular{ - destroy_hits = 1000; - dir = 4; - id = "ship-dronehangar2"; - name = "Drone Hangar" - }, -/obj/machinery/door/firedoor/glass, -/obj/structure/fans/hardlight, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/telecomms1) -"WN" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/machinery/door/blast/regular{ - density = 0; - destroy_hits = 1000; - dir = 4; - icon_state = "pdoor0"; - id = "ship-lounge"; - name = "Shuttle Blast Doors"; - opacity = 0 - }, -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor/plating, -/area/mothership/breakroom) -"Xh" = ( -/obj/item/modular_computer/console/preset/mercenary{ - dir = 8 - }, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/bridge) -"Xy" = ( -/obj/machinery/status_display{ - pixel_y = 29 - }, -/obj/machinery/computer/ship/engines, -/turf/simulated/floor/tiled/steel_ridged, -/area/mothership/bridge) -"XQ" = ( -/obj/effect/floor_decal/techfloor/orange{ - dir = 4 - }, -/obj/effect/floor_decal/corner_techfloor_grid{ - dir = 9 - }, -/turf/simulated/floor/tiled/techfloor, -/area/mothership/telecomms1) -"Yt" = ( -/obj/machinery/light, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"Yv" = ( -/obj/structure/bed/chair/comfy/black{ - dir = 8 - }, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"YP" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"ZL" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/obj/machinery/firealarm{ - dir = 2; - layer = 3.3; - pixel_x = 4; - pixel_y = 26 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"ZS" = ( -/obj/machinery/door/airlock/external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "ws_dock_2_outer"; - locked = 1; - req_one_access = list(101) - }, -/obj/machinery/access_button{ - command = "cycle_exterior"; - frequency = 1380; - master_tag = "ws_dock_2"; - name = "exterior access button"; - pixel_x = 5; - pixel_y = 26; - req_one_access = list(101) - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/eva) -"ZZ" = ( -/obj/structure/cable/cyan{ - icon_state = "2-8" - }, -/obj/structure/cable/cyan{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 10; - icon_state = "intact" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) - -(1,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(2,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -EP -aa -"} -(3,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(4,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(5,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(6,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(7,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(8,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(9,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(10,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(11,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(12,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(13,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(14,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(15,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(16,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(17,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(18,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(19,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(20,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(21,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -jF -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(22,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(23,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(24,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(25,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(26,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(27,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(28,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(29,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(30,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(31,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(32,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(33,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(34,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(35,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(36,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(37,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(38,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(39,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(40,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(41,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(42,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(43,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(44,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(45,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(46,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(47,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(48,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(49,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(50,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(51,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(52,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -sN -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(53,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(54,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -pe -pr -pe -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(55,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -bc -cq -cq -uh -cq -cq -bc -cq -cq -uh -cq -cq -bc -cq -cq -uh -cq -cq -bc -cq -cq -uh -cq -cq -bc -cq -cq -uh -cq -cq -bc -mi -om -om -om -pe -ps -pe -bc -vb -vb -uh -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(56,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -gG -gU -gU -gU -gU -gG -gG -iV -iV -iV -iV -kl -kl -kO -kO -kO -kl -kl -mi -mi -mi -mi -mi -mi -mi -on -oB -oL -pe -pt -pe -pe -pe -pe -pe -pe -pe -bc -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(57,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -QU -aa -aa -aa -aa -dJ -dW -eo -dJ -eV -fo -fJ -gb -gq -gH -gV -ho -hE -hX -iq -gG -iW -jp -jG -jX -kl -kv -kP -lh -lt -lJ -kl -mj -mz -mO -nf -mC -nN -mi -oo -oC -oM -pe -pu -pW -Ox -BQ -rj -rt -qw -WE -Ex -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(58,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -dX -ep -dJ -eW -fp -fK -gc -dJ -gI -gW -hp -hp -hY -ir -gG -iX -jq -jH -jY -kl -kw -kQ -kw -lu -lK -kl -mk -mA -mP -ng -nA -nO -mi -oo -oC -oM -pe -pv -pX -DX -qR -XQ -XQ -qR -WE -Ex -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(59,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -cr -cH -cr -aa -aa -aa -dK -dY -eq -eJ -eX -fq -fL -gd -gs -gJ -gX -hq -hq -hZ -hq -iG -iY -jr -jI -iY -km -kx -kR -kx -lv -kx -lY -ml -mB -ml -ml -nB -nP -oe -op -oD -oN -pe -qt -Ge -UD -wO -Kd -Kd -AL -pe -uh -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(60,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -bc -Su -bd -bC -bC -bd -uh -cr -cI -cr -bc -df -df -dJ -dJ -dJ -eK -eK -eK -eK -eK -eK -gK -gY -hr -hp -ia -hp -gG -iZ -js -jJ -jZ -kl -ky -kw -li -lw -lL -kl -mm -mC -mQ -nh -nC -nQ -of -oq -oE -oO -pe -px -pX -Ox -EQ -rj -rj -vD -WE -Ex -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(61,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -uh -tG -au -au -au -tG -bd -bd -bD -bR -bi -cr -cr -cJ -cr -cr -df -dt -dL -dZ -er -eK -eY -fr -fM -ge -eK -gL -gY -hs -hp -ib -hp -gG -ja -jt -jJ -ka -kl -kz -kw -lj -lw -lM -kl -mn -mC -mR -ni -nC -nQ -og -or -oE -oP -pe -py -pY -DX -RE -XQ -XQ -Ch -WE -Ex -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(62,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -tG -tG -tG -ao -ao -ao -aL -bd -bl -bE -bS -cd -cr -cw -cK -cU -cr -dg -du -dL -ea -es -eK -eZ -fs -fN -gf -gt -gM -gY -hp -hp -hp -is -gG -jb -ju -jJ -kb -kl -kA -kw -lk -lw -lN -kl -mo -mC -mC -mC -nC -nR -mi -os -oE -oQ -pe -pz -pZ -iw -iw -iw -iw -iw -iw -iw -iw -iw -iw -iw -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(63,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -ad -ai -an -Gi -tZ -ao -aM -bd -bm -bF -bT -ce -cr -cx -cL -cV -cr -dh -dv -dL -eb -et -eK -fa -ft -fO -gg -gu -gN -gZ -ht -hF -ic -it -iH -jc -jv -jK -jc -kn -kB -kS -ll -lx -lO -lZ -mp -mC -mS -nj -nC -nS -mi -ot -oF -oR -pe -pA -qv -iw -qT -qT -qT -rK -sb -sr -Am -sD -sH -sL -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(64,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -tG -tG -tG -av -Do -ao -aN -bd -bn -bG -bT -bo -cr -cy -cM -cW -cr -di -df -dL -dL -eu -eK -eK -fu -fP -eK -gv -gO -ha -gG -hG -id -iu -gG -jd -jw -jL -kc -kl -kC -kT -kl -ly -lP -ma -mi -mD -mT -mi -nD -mi -mi -ou -oG -oS -pe -pB -qb -iw -qU -rk -ru -rL -sc -ss -sy -iw -iw -iw -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(65,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -bc -tG -tG -ao -ao -Do -ao -aO -bd -bo -bG -bT -bo -cr -cr -cN -cr -cr -dj -dw -dN -AP -dj -tA -fb -dz -dz -dz -gw -gP -hb -gG -gG -gG -gG -gG -iv -jx -iv -kd -iv -kl -kl -kl -dj -dz -gw -dz -dz -dz -fb -lR -RP -AP -DG -ov -oT -dz -EK -qc -qB -qV -rl -rv -rM -sd -st -sz -sE -sI -FC -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(66,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -cq -tG -tG -ap -ao -Do -ao -aP -bd -bp -bG -bT -bo -cr -cz -cO -cX -cr -dk -dx -uN -xm -ev -eM -fc -Wi -fQ -Wi -dS -gQ -hc -hu -hH -ie -iv -iI -jf -jy -jM -ke -iv -kD -kU -kG -lz -dx -dS -Wi -Wi -mU -nl -nE -xS -xm -uN -oH -oU -fc -pC -qd -qC -qW -rm -rw -rN -se -st -sz -sE -sI -FC -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(67,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -uh -WN -ac -ao -aw -Do -aG -aQ -bd -bo -bG -bT -bo -cr -cA -cO -cY -cr -dl -dy -dO -dO -dO -dO -fd -fd -fR -fd -fd -dz -EK -hu -hI -if -iv -iJ -jg -jg -jg -kf -iv -kE -kV -kG -EK -dz -mb -mb -mb -mb -nm -nF -mb -mb -mb -dl -dy -pk -pk -qe -pk -pk -pk -rx -rO -sf -st -sz -sE -sI -FC -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(68,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -tG -tG -tG -tG -aq -ax -FW -aH -aR -bd -bq -bH -bU -bd -cr -cB -cO -cZ -cr -Ep -dz -dO -ec -ew -eN -fd -fv -fS -gh -fd -On -zv -hu -hJ -ig -iv -iK -iK -iK -iK -iK -iv -kF -kW -kG -YP -ts -mb -mq -Ux -mV -nn -mG -mE -oh -mb -EK -oV -pk -pE -qf -qD -qX -pk -ry -rP -sg -st -sz -sE -sI -FC -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(69,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -WN -ac -ah -aj -ar -ay -aD -aI -aS -bf -br -bI -bT -cf -cr -cC -cO -da -de -EK -dA -dO -ed -ex -eO -fd -fd -Tr -fd -fd -Pi -KO -hu -hK -hu -iv -iv -iv -iv -iv -iv -iv -kG -kX -kG -xE -Yt -mb -mr -uI -mW -no -no -no -oi -mb -EK -oW -pk -pF -qg -qE -qY -pk -rz -rQ -sh -st -sz -sE -sI -FC -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(70,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -af -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -WN -ac -ah -ak -ar -az -aE -az -aT -bd -bs -bJ -bV -cg -FY -cD -cP -db -FY -dm -dB -dQ -ee -ey -eP -fd -fx -Df -gj -fd -zd -hd -dS -hL -Wi -Wi -Wi -Td -fe -Sx -Wi -Wi -Wi -kY -dS -he -dD -mb -ms -mG -uI -np -nG -nT -Xh -mb -Ep -oX -pk -pG -qh -qF -qZ -pk -rA -rR -si -su -sA -iw -cq -cq -bc -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -sQ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(71,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -WN -ac -ah -ak -ar -az -az -az -aU -bd -bt -bK -bW -ch -Ct -cE -cQ -dc -Ct -dn -dC -dR -ef -ez -eQ -fd -fy -fT -gk -fd -dz -EK -dy -dj -gy -ff -dz -RS -jz -Tg -dz -ff -gy -dj -dy -EK -FQ -mb -wT -mG -uI -nq -nH -nU -tK -mb -EK -oY -pk -pH -qh -qF -ra -pk -rB -rS -sj -sv -sB -sF -sP -cq -bc -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(72,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -WN -ac -ah -al -ar -aA -aF -aJ -aV -bg -bu -bL -bX -ci -cr -cF -cO -dd -cr -EK -dA -dO -eg -Hl -eR -fd -fd -yE -fd -fd -gR -EK -hw -hM -hw -hy -hy -hy -hy -hy -hy -hy -kH -kZ -kH -EK -dA -mb -Sa -uI -mX -nr -nr -nr -oj -mb -ZL -oZ -pk -pI -qi -qG -rb -pk -rB -rT -sk -st -sz -sE -sI -FC -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(73,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -tG -tG -tG -tG -aq -ax -FW -aH -aW -bh -bv -bM -bY -cj -cr -cG -cO -cZ -cr -QH -JJ -dO -ex -eA -eh -fd -fA -fU -gh -fd -dz -EK -hw -hN -ih -hy -iL -hQ -hy -jN -hQ -hy -kI -la -kH -EK -dz -mb -Xy -QF -mY -ns -mG -mH -ok -mb -YP -Kc -pk -pJ -qj -qH -rc -pk -rC -rU -sl -st -sz -sE -sI -FC -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(74,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -uh -WN -ac -ao -aB -Do -aK -aX -bi -bw -bN -bZ -ck -cr -cA -cO -cY -cr -SV -wA -dO -dO -dO -dO -fd -fd -Vb -fd -fd -dy -dl -hw -hO -ii -hy -iM -jh -hy -jO -jh -hy -kJ -lb -kH -dl -dy -mb -mb -mb -mb -nt -nF -mb -mb -mb -SV -Yv -pk -pk -qk -pk -pk -pk -rD -rV -sm -st -sz -sE -sI -FC -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(75,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -cq -tG -tG -as -ao -Do -ao -aY -bi -bx -bN -ca -cl -cr -cz -cO -cX -cr -ZZ -dx -dS -Wi -eB -Wi -fe -fB -fV -HG -yW -dx -Kr -hw -hP -ij -hy -iN -hQ -hy -jP -hQ -hy -kK -lc -kH -lA -lQ -yW -HG -yG -Wi -nu -Wi -nV -Wi -dS -oI -pa -fe -SE -ql -qI -rd -rn -rE -rW -sn -st -sz -sE -sI -FC -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(76,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -bc -tG -tG -at -ao -Do -ao -ao -bj -by -bN -ca -cm -cr -cr -cN -cr -cr -dj -dE -dT -dz -dj -dz -ff -tl -dz -Tg -yr -dz -hf -hy -hy -hy -iw -iO -ji -hy -jQ -kg -iw -hy -hy -hy -gP -lR -yr -Tg -tl -dz -ff -gy -dj -dz -dy -dz -dj -dz -EK -qc -iw -re -ro -rF -xn -so -st -sz -sE -sI -FC -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(77,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -tG -tG -tG -av -Do -ao -aZ -bi -bz -bN -ca -cn -cr -cy -cR -cW -cr -do -dr -dU -dU -eC -dV -dV -dV -dV -dV -dV -gT -hg -hy -hQ -hQ -ix -iP -hQ -jA -iP -hQ -hQ -hQ -hQ -lo -lB -lS -lq -lo -lq -lq -lq -lo -nW -ol -ol -ol -pb -qs -pK -qm -iw -rf -rp -rG -xn -rX -sw -sC -iw -iw -iw -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(78,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -SM -am -yi -PC -EG -ao -ba -bi -bA -bN -ca -co -cr -cx -cL -cV -cr -dp -dG -dU -ei -eD -dV -fg -fC -fW -gn -gz -fY -hh -hA -hR -ik -iy -iQ -jj -jB -jR -hR -ko -ik -hR -lp -lC -lT -md -mu -mI -mZ -nv -nI -nX -lq -ox -oJ -pc -qs -pL -qn -iw -rg -rq -rH -rY -sp -sx -zE -sG -sK -PT -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(79,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -tG -tG -tG -ao -ao -ao -bb -bi -bB -bO -cb -cp -cr -cw -cS -cU -cr -dq -dH -dU -ej -eE -dV -fh -fD -fX -gn -gB -fY -hi -TE -TE -il -iz -TE -TE -jC -jC -jC -kp -jC -jC -lq -lD -lU -lG -lG -lG -lG -lG -lG -nY -lq -oy -oK -pd -qs -pM -qo -iw -iw -iw -iw -iw -iw -iw -iw -iw -iw -iw -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(80,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -uh -tG -aC -aC -aC -tG -bi -bi -bP -cc -bi -cr -cr -uS -cr -cr -dr -dI -dU -ek -eF -dV -fi -fD -fY -fY -gB -fY -hj -TE -hS -im -iA -iR -jk -jC -jS -kh -kq -kL -ld -lq -lE -lV -me -mv -mJ -na -nw -nJ -nZ -lq -oz -oz -oz -qs -pN -qp -TK -rh -EV -GT -rZ -sq -Ex -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(81,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -bc -cq -bi -bQ -bQ -bi -uh -cr -cT -cr -bc -dr -dr -dV -dV -dV -dV -fj -fE -fZ -fY -gC -fY -hk -TE -hT -in -iB -in -jl -jC -jT -ki -kr -ki -le -lq -lF -lV -mf -mw -mK -nb -nx -nK -oa -lq -oz -oz -oz -qs -pO -qq -tb -OC -Ez -Ez -OC -sq -Ex -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(82,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -cr -ZS -cr -aa -aa -aa -dV -el -eG -dV -fk -fF -fZ -fY -gD -fY -hl -hD -hU -io -iC -iS -io -jE -jU -kj -ks -kM -ki -ls -lG -lW -mg -mx -mL -nc -ny -nL -ob -lq -oz -oz -oz -qs -pP -Sz -Bd -Sj -vi -vi -KA -qs -uh -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(83,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dV -em -eH -eU -fl -fG -fl -fl -gE -fl -hm -TE -hV -in -iD -iT -jm -jC -jV -ki -kt -kN -lf -lq -lH -lG -lG -lG -lG -lG -lG -lG -oc -lq -oz -oz -oz -qs -pQ -qq -TK -MI -EV -EV -tW -sq -Ex -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(84,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -QI -aa -aa -aa -aa -dV -en -eI -dV -fm -fH -ga -go -gF -fY -hn -TE -hW -ip -iE -iU -jn -jC -jW -ki -ku -ki -lg -lq -lI -lX -mh -my -mM -nd -nz -nM -od -lq -oz -oz -oz -qs -pR -qr -tb -Hs -Ez -Ez -wm -sq -Ex -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(85,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dV -dV -dV -dV -dV -dV -dV -gp -gp -gp -dV -TE -TE -TE -TE -TE -TE -jC -jC -kk -kk -kk -jC -lq -lq -lq -lq -lq -lq -lq -lq -lq -lq -lq -oz -oz -oz -qs -pS -qs -qs -qs -qs -qs -qs -qs -bc -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(86,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -bc -cq -cq -uh -cq -cq -bc -cq -cq -uh -cq -cq -bc -cq -cq -uh -cq -cq -bc -cq -cq -uh -cq -cq -bc -cq -cq -uh -cq -cq -bc -lq -oA -oA -oA -qs -pT -qs -bc -cq -cq -uh -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(87,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -qs -pU -qs -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(88,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(89,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -sO -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(90,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(91,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(92,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(93,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(94,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(95,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(96,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(97,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(98,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(99,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(100,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(101,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(102,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(103,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(104,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(105,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(106,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(107,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(108,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(109,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(110,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(111,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(112,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(113,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(114,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(115,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(116,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(117,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -ri -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(118,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(119,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(120,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(121,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(122,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(123,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(124,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(125,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(126,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(127,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(128,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(129,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(130,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(131,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(132,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(133,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(134,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(135,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(136,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(137,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(138,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(139,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(140,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} diff --git a/maps/offmap_vr/om_ships/curashuttle.dm b/maps/offmap_vr/om_ships/curashuttle.dm index e2a44154e6e..49024cdf8ce 100644 --- a/maps/offmap_vr/om_ships/curashuttle.dm +++ b/maps/offmap_vr/om_ships/curashuttle.dm @@ -1,5 +1,5 @@ // Compile in the map for CI testing if we're testing compileability of all the maps -#if MAP_TEST +#ifdef MAP_TEST #include "curashuttle.dmm" #endif @@ -7,7 +7,7 @@ /datum/map_template/om_ships/curabiturmedical name = "OM Ship - Curabitur Rescue Shuttle (new Z)" desc = "A small corporate rescue shuttle." - mappath = 'curashuttle.dmm' + mappath = "maps/offmap_vr/om_ships/curashuttle.dmm" annihilate = TRUE // The shuttle's area(s) @@ -63,4 +63,4 @@ [b]Notice[/b]: Small private vessel"} vessel_mass = 2000 vessel_size = SHIP_SIZE_TINY - shuttle = "Cura" \ No newline at end of file + shuttle = "Cura" diff --git a/maps/offmap_vr/om_ships/curashuttle.dmm b/maps/offmap_vr/om_ships/curashuttle.dmm index 6ea0a0df556..3d4887fed2a 100644 --- a/maps/offmap_vr/om_ships/curashuttle.dmm +++ b/maps/offmap_vr/om_ships/curashuttle.dmm @@ -115,11 +115,11 @@ pixel_x = 24 }, /obj/structure/table/darkglass, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 8; pixel_y = -2 }, -/obj/item/weapon/pen/fountain, +/obj/item/pen/fountain, /obj/machinery/photocopier/faxmachine{ department = "Curabitur Rescue Service"; name = "curabitur fax machine"; @@ -132,10 +132,10 @@ /turf/simulated/wall/rdshull, /area/shuttle/curabitur/curashuttle/cockpit) "ar" = ( -/obj/item/weapon/storage/firstaid/surgery, -/obj/item/weapon/surgical/scalpel/manager, -/obj/item/weapon/surgical/scalpel/ripper, -/obj/item/weapon/surgical/circular_saw/manager, +/obj/item/storage/firstaid/surgery, +/obj/item/surgical/scalpel/manager, +/obj/item/surgical/scalpel/ripper, +/obj/item/surgical/circular_saw/manager, /obj/item/stack/nanopaste/advanced, /obj/item/stack/nanopaste/advanced, /obj/structure/table/standard, @@ -146,8 +146,8 @@ /area/shuttle/curabitur/curashuttle/med) "at" = ( /obj/structure/closet/crate/large, -/obj/item/weapon/gun/projectile/multi_cannon, -/obj/item/weapon/gun/projectile/multi_cannon, +/obj/item/gun/projectile/multi_cannon, +/obj/item/gun/projectile/multi_cannon, /obj/item/ammo_casing/macrobattery/buff, /obj/item/ammo_casing/macrobattery/buff, /obj/item/ammo_casing/macrobattery/detox, @@ -196,7 +196,7 @@ /turf/simulated/floor/carpet/bcarpet, /area/shuttle/curabitur/curashuttle/cockpit) "ay" = ( -/obj/item/weapon/bedsheet/bluedouble, +/obj/item/bedsheet/bluedouble, /obj/structure/bed/double/padded, /obj/structure/curtain/open/bed, /turf/simulated/floor/carpet/bcarpet, @@ -205,26 +205,26 @@ /turf/simulated/wall/rpshull, /area/shuttle/curabitur/curashuttle/med) "aA" = ( -/obj/item/weapon/storage/firstaid/adv, -/obj/item/weapon/storage/firstaid/fire, -/obj/item/weapon/storage/firstaid/o2, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/pill_bottle/spaceacillin, +/obj/item/storage/firstaid/adv, +/obj/item/storage/firstaid/fire, +/obj/item/storage/firstaid/o2, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/toxin, +/obj/item/storage/pill_bottle/spaceacillin, /obj/structure/table/standard, -/obj/item/device/healthanalyzer/advanced, -/obj/item/device/healthanalyzer/advanced, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/healthanalyzer/advanced, +/obj/item/healthanalyzer/advanced, +/obj/item/reagent_containers/spray/cleaner, /turf/simulated/floor/tiled/white, /area/shuttle/curabitur/curashuttle/med) "aB" = ( -/obj/item/weapon/surgical/scalpel/alien, -/obj/item/weapon/surgical/retractor/alien, -/obj/item/weapon/surgical/hemostat/alien, -/obj/item/weapon/surgical/circular_saw/alien, -/obj/item/weapon/surgical/cautery/alien, -/obj/item/weapon/surgical/FixOVein/alien, -/obj/item/weapon/surgical/surgicaldrill/alien, +/obj/item/surgical/scalpel/alien, +/obj/item/surgical/retractor/alien, +/obj/item/surgical/hemostat/alien, +/obj/item/surgical/circular_saw/alien, +/obj/item/surgical/cautery/alien, +/obj/item/surgical/FixOVein/alien, +/obj/item/surgical/surgicaldrill/alien, /obj/structure/table/standard, /obj/machinery/recharger{ pixel_x = -8; @@ -241,12 +241,12 @@ /turf/simulated/floor/tiled/white, /area/shuttle/curabitur/curashuttle/med) "aD" = ( -/obj/item/weapon/storage/backpack/dufflebag/syndie/med, -/obj/item/weapon/storage/belt/medical, -/obj/item/weapon/storage/belt/medical, -/obj/item/weapon/storage/belt/medical, +/obj/item/storage/backpack/dufflebag/syndie/med, +/obj/item/storage/belt/medical, +/obj/item/storage/belt/medical, +/obj/item/storage/belt/medical, /obj/structure/table/rack, -/obj/item/weapon/storage/backpack/dufflebag/syndie/med, +/obj/item/storage/backpack/dufflebag/syndie/med, /turf/simulated/floor/tiled/white, /area/shuttle/curabitur/curashuttle/med) "aE" = ( @@ -295,36 +295,36 @@ /turf/simulated/floor/carpet/bcarpet, /area/shuttle/curabitur/curashuttle/cockpit) "aH" = ( -/obj/item/weapon/storage/secure/safe{ +/obj/item/storage/secure/safe{ pixel_x = 31 }, -/obj/item/weapon/gun/projectile/automatic/mini_uzi, -/obj/item/weapon/card/id/syndicate{ +/obj/item/gun/projectile/automatic/mini_uzi, +/obj/item/card/id/syndicate{ access = list(616); assignment = "Curabitur Contractor"; origin_tech = newlist() }, -/obj/item/weapon/card/id/syndicate{ +/obj/item/card/id/syndicate{ access = list(616); assignment = "Curabitur Contractor"; origin_tech = newlist() }, -/obj/item/weapon/spacecash/c1000, -/obj/item/weapon/spacecash/c1000, -/obj/item/weapon/spacecash/c1000, -/obj/item/weapon/spacecash/c1000, -/obj/item/weapon/spacecash/c1000, -/obj/item/weapon/spacecash/c1000, -/obj/item/weapon/spacecash/c1000, -/obj/item/weapon/spacecash/c1000, -/obj/item/weapon/spacecash/c1000, -/obj/item/weapon/spacecash/c1000, -/obj/item/weapon/spacecash/c1000, -/obj/item/weapon/spacecash/c1000, -/obj/item/weapon/spacecash/c1000, -/obj/item/weapon/spacecash/c1000, -/obj/item/weapon/spacecash/c1000, -/obj/item/weapon/spacecash/c1000, +/obj/item/spacecash/c1000, +/obj/item/spacecash/c1000, +/obj/item/spacecash/c1000, +/obj/item/spacecash/c1000, +/obj/item/spacecash/c1000, +/obj/item/spacecash/c1000, +/obj/item/spacecash/c1000, +/obj/item/spacecash/c1000, +/obj/item/spacecash/c1000, +/obj/item/spacecash/c1000, +/obj/item/spacecash/c1000, +/obj/item/spacecash/c1000, +/obj/item/spacecash/c1000, +/obj/item/spacecash/c1000, +/obj/item/spacecash/c1000, +/obj/item/spacecash/c1000, /turf/simulated/floor/carpet/bcarpet, /area/shuttle/curabitur/curashuttle/cockpit) "aI" = ( @@ -346,10 +346,10 @@ /obj/item/stack/cable_coil, /obj/item/stack/cable_coil, /obj/item/stack/cable_coil, -/obj/item/device/robotanalyzer, -/obj/item/device/robotanalyzer, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/robotanalyzer, +/obj/item/robotanalyzer, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/dropper, /turf/simulated/floor/tiled/white, /area/shuttle/curabitur/curashuttle/med) "aL" = ( @@ -363,10 +363,10 @@ /area/shuttle/curabitur/curashuttle/med) "aM" = ( /obj/structure/table/rack, -/obj/item/device/defib_kit/jumper_kit/loaded, -/obj/item/device/defib_kit/compact/combat/loaded, -/obj/item/device/defib_kit/compact/combat/loaded, -/obj/item/device/mmi/radio_enabled{ +/obj/item/defib_kit/jumper_kit/loaded, +/obj/item/defib_kit/compact/combat/loaded, +/obj/item/defib_kit/compact/combat/loaded, +/obj/item/mmi/radio_enabled{ req_access = newlist() }, /obj/machinery/light{ @@ -390,7 +390,7 @@ /obj/item/clothing/accessory/storage/white_drop_pouches, /obj/item/clothing/accessory/holster/machete, /obj/item/clothing/accessory/holster/hip, -/obj/item/weapon/material/knife/machete, +/obj/item/material/knife/machete, /obj/item/clothing/accessory/storage/white_drop_pouches, /obj/item/clothing/accessory/storage/white_drop_pouches, /turf/simulated/floor/carpet/bcarpet, @@ -446,9 +446,9 @@ /obj/structure/table/rack, /obj/item/wheelchair, /obj/item/wheelchair, -/obj/item/weapon/cane/crutch, -/obj/item/weapon/cane/crutch, -/obj/item/weapon/cane/white/collapsible, +/obj/item/cane/crutch, +/obj/item/cane/crutch, +/obj/item/cane/white/collapsible, /obj/item/clothing/accessory/stethoscope, /turf/simulated/floor/tiled/white, /area/shuttle/curabitur/curashuttle/med) @@ -497,16 +497,16 @@ }, /obj/structure/table/standard, /obj/fiftyspawner/steel, -/obj/item/weapon/storage/toolbox/syndicate/powertools, +/obj/item/storage/toolbox/syndicate/powertools, /obj/item/stack/nanopaste/advanced, /obj/item/stack/cable_coil, /obj/item/stack/cable_coil, /obj/item/stack/cable_coil, -/obj/item/device/multitool, -/obj/item/weapon/storage/box/metalfoam, +/obj/item/multitool, +/obj/item/storage/box/metalfoam, /obj/item/bodybag/cryobag/robobag, /obj/item/bodybag/cryobag/robobag, -/obj/item/weapon/storage/belt/utility, +/obj/item/storage/belt/utility, /obj/structure/panic_button{ pixel_y = 32 }, @@ -569,7 +569,7 @@ pixel_x = 2; pixel_y = 8 }, -/obj/item/device/gps/medical, +/obj/item/gps/medical, /turf/simulated/floor/tiled, /area/shuttle/curabitur/curashuttle/med) "bg" = ( @@ -581,9 +581,9 @@ /turf/simulated/floor/tiled, /area/shuttle/curabitur/curashuttle/med) "bh" = ( -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, /obj/structure/table/rack, /obj/item/clothing/head/helmet/space/void/medical, /obj/item/clothing/head/helmet/space/void/medical, @@ -591,23 +591,23 @@ /obj/item/clothing/suit/space/void/medical, /obj/item/clothing/suit/space/void/medical, /obj/item/clothing/suit/space/void/medical, -/obj/item/weapon/tank/air, -/obj/item/weapon/tank/air, -/obj/item/weapon/tank/air, -/obj/item/weapon/tank/jetpack/carbondioxide, -/obj/item/weapon/tank/jetpack/carbondioxide, -/obj/item/weapon/tank/jetpack/carbondioxide, -/obj/item/weapon/tank/emergency/oxygen/engi, -/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/tank/air, +/obj/item/tank/air, +/obj/item/tank/air, +/obj/item/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, +/obj/item/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, /obj/item/clothing/mask/breath, /obj/item/clothing/mask/breath, /obj/item/clothing/mask/breath, /obj/item/clothing/shoes/magboots, /obj/item/clothing/shoes/magboots, /obj/item/clothing/shoes/magboots, -/obj/item/device/gps/medical, -/obj/item/device/gps/medical, -/obj/item/device/gps/medical, +/obj/item/gps/medical, +/obj/item/gps/medical, +/obj/item/gps/medical, /turf/simulated/floor/tiled, /area/shuttle/curabitur/curashuttle/med) "bi" = ( @@ -703,21 +703,21 @@ "bu" = ( /obj/structure/table/darkglass, /obj/machinery/atmospherics/pipe/vent, -/obj/item/weapon/reagent_containers/food/snacks/bagelsunflower, -/obj/item/weapon/reagent_containers/food/snacks/applepie, -/obj/item/weapon/reagent_containers/food/snacks/carrotfries, -/obj/item/weapon/reagent_containers/food/snacks/cube/nutriment, -/obj/item/weapon/reagent_containers/food/snacks/cube/protein, -/obj/item/weapon/reagent_containers/food/snacks/cube/protein, -/obj/item/weapon/reagent_containers/food/snacks/cube/protein, -/obj/item/weapon/reagent_containers/food/snacks/cracker, +/obj/item/reagent_containers/food/snacks/bagelsunflower, +/obj/item/reagent_containers/food/snacks/applepie, +/obj/item/reagent_containers/food/snacks/carrotfries, +/obj/item/reagent_containers/food/snacks/cube/nutriment, +/obj/item/reagent_containers/food/snacks/cube/protein, +/obj/item/reagent_containers/food/snacks/cube/protein, +/obj/item/reagent_containers/food/snacks/cube/protein, +/obj/item/reagent_containers/food/snacks/cracker, /turf/simulated/floor/carpet/sblucarpet, /area/shuttle/curabitur/curashuttle/med) "bv" = ( /obj/structure/table/darkglass, -/obj/item/weapon/reagent_containers/food/snacks/bangersandmash, -/obj/item/weapon/reagent_containers/food/snacks/candiedapple, -/obj/item/weapon/reagent_containers/food/snacks/chickenwing, +/obj/item/reagent_containers/food/snacks/bangersandmash, +/obj/item/reagent_containers/food/snacks/candiedapple, +/obj/item/reagent_containers/food/snacks/chickenwing, /turf/simulated/floor/carpet/sblucarpet, /area/shuttle/curabitur/curashuttle/med) "bw" = ( @@ -751,10 +751,10 @@ /area/shuttle/curabitur/curashuttle/med) "bB" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/bag/chemistry, -/obj/item/weapon/storage/box/pillbottles, -/obj/item/weapon/reagent_containers/dropper, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/storage/bag/chemistry, +/obj/item/storage/box/pillbottles, +/obj/item/reagent_containers/dropper, +/obj/item/reagent_containers/dropper, /obj/structure/cable{ icon_state = "0-4" }, @@ -773,8 +773,8 @@ pixel_y = -31 }, /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/glass/beaker/bluespace, -/obj/item/weapon/reagent_containers/glass/beaker/bluespace, +/obj/item/reagent_containers/glass/beaker/bluespace, +/obj/item/reagent_containers/glass/beaker/bluespace, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, @@ -1071,8 +1071,8 @@ /area/shuttle/curabitur/curashuttle/hangar) "ca" = ( /obj/structure/table/standard, -/obj/item/device/survivalcapsule, -/obj/item/device/survivalcapsule, +/obj/item/survivalcapsule, +/obj/item/survivalcapsule, /obj/item/clothing/gloves/sterile/nitrile, /obj/item/clothing/gloves/sterile/nitrile, /obj/item/clothing/suit/surgicalapron, @@ -1080,19 +1080,19 @@ /area/shuttle/curabitur/curashuttle/med) "cb" = ( /obj/structure/closet/crate/medical, -/obj/item/weapon/surgical/scalpel/manager, -/obj/item/weapon/surgical/scalpel/manager, -/obj/item/weapon/surgical/circular_saw/manager, -/obj/item/weapon/surgical/circular_saw/manager, +/obj/item/surgical/scalpel/manager, +/obj/item/surgical/scalpel/manager, +/obj/item/surgical/circular_saw/manager, +/obj/item/surgical/circular_saw/manager, /obj/item/stack/nanopaste/advanced, /obj/item/stack/nanopaste/advanced, -/obj/item/device/defib_kit/compact/combat/loaded, -/obj/item/device/defib_kit/compact/combat/loaded, -/obj/item/device/healthanalyzer/advanced, -/obj/item/weapon/storage/backpack/dufflebag/syndie/med, -/obj/item/weapon/surgical/bone_clamp, -/obj/item/weapon/surgical/bone_clamp, -/obj/item/weapon/surgical/scalpel/ripper, +/obj/item/defib_kit/compact/combat/loaded, +/obj/item/defib_kit/compact/combat/loaded, +/obj/item/healthanalyzer/advanced, +/obj/item/storage/backpack/dufflebag/syndie/med, +/obj/item/surgical/bone_clamp, +/obj/item/surgical/bone_clamp, +/obj/item/surgical/scalpel/ripper, /obj/machinery/firealarm{ pixel_y = 24 }, @@ -1321,17 +1321,17 @@ icon_state = "2-8" }, /obj/structure/table/standard, -/obj/item/device/flashlight/flare, -/obj/item/device/flashlight/flare, -/obj/item/device/flashlight/flare, +/obj/item/flashlight/flare, +/obj/item/flashlight/flare, +/obj/item/flashlight/flare, /obj/machinery/cell_charger{ pixel_x = -3; pixel_y = 13 }, -/obj/item/weapon/cell/high, -/obj/item/weapon/cell/high, -/obj/item/weapon/storage/briefcase/inflatable, -/obj/item/weapon/storage/briefcase/inflatable, +/obj/item/cell/high, +/obj/item/cell/high, +/obj/item/storage/briefcase/inflatable, +/obj/item/storage/briefcase/inflatable, /turf/simulated/floor/tiled/techfloor/grid, /area/shuttle/curabitur/curashuttle/hangar) "cG" = ( diff --git a/maps/offmap_vr/om_ships/gecko_cr.dmm b/maps/offmap_vr/om_ships/gecko_cr.dmm index defc551901e..d8ee6d4b87c 100644 --- a/maps/offmap_vr/om_ships/gecko_cr.dmm +++ b/maps/offmap_vr/om_ships/gecko_cr.dmm @@ -79,7 +79,7 @@ /area/shuttle/gecko_cr_cockpit) "bL" = ( /obj/structure/bed/pod, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /turf/simulated/floor/tiled/techfloor, /area/shuttle/gecko_cr_cockpit) "bN" = ( @@ -94,7 +94,7 @@ dir = 8 }, /obj/structure/closet/crate, -/obj/item/weapon/tank/air, +/obj/item/tank/air, /obj/item/clothing/suit/space/void/refurb/marine, /obj/item/clothing/head/helmet/space/void/refurb/marine, /turf/simulated/floor/tiled/techfloor, @@ -127,7 +127,7 @@ dir = 8 }, /obj/structure/bed/pod, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /turf/simulated/floor/tiled/techfloor, /area/shuttle/gecko_cr_cockpit) "dh" = ( @@ -157,8 +157,8 @@ "dO" = ( /obj/effect/floor_decal/industrial/warning, /obj/structure/closet/crate/engineering/electrical, -/obj/item/weapon/tank/oxygen/yellow, -/obj/item/weapon/tank/oxygen/yellow, +/obj/item/tank/oxygen/yellow, +/obj/item/tank/oxygen/yellow, /obj/item/clothing/suit/space/void/refurb/engineering, /obj/item/clothing/suit/space/void/refurb/engineering, /obj/item/clothing/head/helmet/space/void/refurb/engineering, @@ -632,11 +632,11 @@ /obj/structure/closet/crate{ dir = 1 }, -/obj/item/weapon/tank/air, +/obj/item/tank/air, /obj/item/clothing/suit/space/void/refurb, /obj/item/clothing/head/helmet/space/void/refurb, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/weapon/tank/air, +/obj/item/tank/air, /obj/item/clothing/suit/space/void/refurb, /obj/item/clothing/head/helmet/space/void/refurb, /turf/simulated/floor/tiled/techfloor, @@ -1079,7 +1079,7 @@ dir = 8 }, /obj/structure/bed/pod, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /obj/machinery/alarm/alarms_hidden{ pixel_y = 26 }, @@ -1125,7 +1125,7 @@ dir = 4 }, /obj/structure/closet/crate, -/obj/item/weapon/tank/air, +/obj/item/tank/air, /obj/item/clothing/suit/space/void/refurb/marine, /obj/item/clothing/head/helmet/space/void/refurb/marine, /obj/structure/sign/directions/bridge{ @@ -1209,11 +1209,11 @@ /obj/structure/closet/crate{ dir = 1 }, -/obj/item/weapon/tank/air, +/obj/item/tank/air, /obj/item/clothing/suit/space/void/refurb, /obj/item/clothing/head/helmet/space/void/refurb, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/weapon/tank/air, +/obj/item/tank/air, /obj/item/clothing/suit/space/void/refurb, /obj/item/clothing/head/helmet/space/void/refurb, /turf/simulated/floor/tiled/techfloor, @@ -1249,16 +1249,16 @@ /turf/simulated/floor/plating, /area/shuttle/gecko_cr) "xT" = ( -/obj/item/weapon/tank/phoron/pressurized, -/obj/item/weapon/tank/phoron/pressurized, -/obj/item/weapon/tank/phoron/pressurized, +/obj/item/tank/phoron/pressurized, +/obj/item/tank/phoron/pressurized, +/obj/item/tank/phoron/pressurized, /obj/structure/fuel_port/heavy{ pixel_y = 28 }, /obj/structure/closet/crate{ dir = 2 }, -/obj/item/weapon/tool/crowbar/red, +/obj/item/tool/crowbar/red, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/techfloor, /area/shuttle/gecko_cr_engineering) @@ -1708,12 +1708,12 @@ /obj/structure/closet/crate{ dir = 1 }, -/obj/item/weapon/tank/air, +/obj/item/tank/air, /obj/item/clothing/suit/space/void/refurb, /obj/item/clothing/head/helmet/space/void/refurb, /obj/machinery/light, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/weapon/tank/air, +/obj/item/tank/air, /obj/item/clothing/suit/space/void/refurb, /obj/item/clothing/head/helmet/space/void/refurb, /turf/simulated/floor/tiled/techfloor, @@ -1733,8 +1733,8 @@ dir = 4 }, /obj/structure/closet/crate, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, /turf/simulated/floor/tiled/techfloor, /area/shuttle/gecko_cr_cockpit) "FL" = ( @@ -1856,8 +1856,8 @@ dir = 8 }, /obj/structure/closet/crate, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, /turf/simulated/floor/tiled/techfloor, /area/shuttle/gecko_cr_cockpit) "HI" = ( @@ -2405,13 +2405,13 @@ "PI" = ( /obj/effect/floor_decal/industrial/warning, /obj/structure/closet/crate/engineering, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /obj/structure/cable{ d1 = 4; d2 = 8; icon_state = "4-8" }, -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/techfloor, /area/shuttle/gecko_cr_engineering) @@ -2513,11 +2513,11 @@ /obj/structure/closet/crate{ dir = 1 }, -/obj/item/weapon/tank/air, +/obj/item/tank/air, /obj/item/clothing/suit/space/void/refurb/pilot, /obj/item/clothing/head/helmet/space/void/refurb/pilot, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/weapon/tank/air, +/obj/item/tank/air, /obj/item/clothing/suit/space/void/refurb/pilot, /obj/item/clothing/head/helmet/space/void/refurb/pilot, /turf/simulated/floor/tiled/techfloor, @@ -2659,7 +2659,7 @@ pixel_x = 27 }, /obj/structure/bed/pod, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /turf/simulated/floor/tiled/techfloor, /area/shuttle/gecko_cr_cockpit) "Tx" = ( @@ -2924,7 +2924,7 @@ dir = 8 }, /obj/structure/table/steel, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /obj/item/stack/material/tritium{ amount = 25 }, diff --git a/maps/offmap_vr/om_ships/gecko_cr_wreck.dmm b/maps/offmap_vr/om_ships/gecko_cr_wreck.dmm index bc77ee4563b..c392ed08a72 100644 --- a/maps/offmap_vr/om_ships/gecko_cr_wreck.dmm +++ b/maps/offmap_vr/om_ships/gecko_cr_wreck.dmm @@ -76,7 +76,7 @@ /area/shuttle/gecko_cr_cockpit_wreck) "bL" = ( /obj/structure/bed/pod, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /turf/simulated/floor/tiled/techfloor, /area/shuttle/gecko_cr_cockpit_wreck) "bN" = ( @@ -91,7 +91,7 @@ dir = 8 }, /obj/structure/closet/crate, -/obj/item/weapon/tank/air, +/obj/item/tank/air, /obj/item/clothing/suit/space/void/refurb/marine, /obj/item/clothing/head/helmet/space/void/refurb/marine, /turf/simulated/floor/tiled/techfloor, @@ -118,7 +118,7 @@ }, /obj/machinery/light, /obj/structure/bed/pod, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /turf/simulated/floor/tiled/techfloor, /area/shuttle/gecko_cr_cockpit_wreck) "dh" = ( @@ -144,7 +144,7 @@ "dO" = ( /obj/effect/floor_decal/industrial/warning, /obj/structure/closet/crate/engineering/electrical, -/obj/item/weapon/tank/oxygen/yellow, +/obj/item/tank/oxygen/yellow, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/techfloor{ nitrogen = 0; @@ -454,7 +454,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 }, -/obj/item/weapon/material/shard/shrapnel, +/obj/item/material/shard/shrapnel, /obj/random/empty_or_lootable_crate, /turf/simulated/floor/reinforced/airless, /area/shuttle/gecko_cr_wreck) @@ -504,7 +504,7 @@ /area/shuttle/gecko_cr_cockpit_wreck) "kF" = ( /obj/structure/catwalk, -/obj/item/weapon/material/shard/shrapnel, +/obj/item/material/shard/shrapnel, /turf/simulated/floor/airless, /area/shuttle/gecko_cr_engineering_wreck) "kI" = ( @@ -619,7 +619,7 @@ /obj/structure/closet/crate{ dir = 1 }, -/obj/item/weapon/tank/air, +/obj/item/tank/air, /obj/item/clothing/suit/space/void/refurb, /obj/item/clothing/head/helmet/space/void/refurb, /obj/effect/floor_decal/industrial/outline/grey, @@ -1003,7 +1003,7 @@ dir = 1 }, /obj/structure/railing/grey, -/obj/item/weapon/material/shard/shrapnel, +/obj/item/material/shard/shrapnel, /turf/simulated/floor/airless, /area/shuttle/gecko_cr_wreck) "tD" = ( @@ -1062,7 +1062,7 @@ dir = 8 }, /obj/structure/bed/pod, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /obj/machinery/alarm/alarms_hidden{ pixel_y = 26 }, @@ -1171,7 +1171,7 @@ /obj/structure/closet/crate{ dir = 1 }, -/obj/item/weapon/tank/air, +/obj/item/tank/air, /obj/item/clothing/suit/space/void/refurb, /obj/item/clothing/head/helmet/space/void/refurb, /obj/effect/floor_decal/industrial/outline/grey, @@ -1205,7 +1205,7 @@ /turf/simulated/floor/airless, /area/shuttle/gecko_cr_wreck) "xo" = ( -/obj/item/weapon/material/shard/shrapnel, +/obj/item/material/shard/shrapnel, /turf/template_noop, /area/shuttle/gecko_cr_cockpit_wreck) "xT" = ( @@ -1606,7 +1606,7 @@ /area/shuttle/gecko_cr_wreck) "Ff" = ( /obj/structure/lattice, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/template_noop, /area/shuttle/gecko_cr_engineering_wreck) "Fq" = ( @@ -1680,7 +1680,7 @@ /turf/simulated/floor/plating, /area/shuttle/gecko_cr_engineering_wreck) "FV" = ( -/obj/item/weapon/material/shard/shrapnel, +/obj/item/material/shard/shrapnel, /turf/template_noop, /area/template_noop) "FX" = ( @@ -1757,7 +1757,7 @@ dir = 8 }, /obj/structure/closet/crate, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, /turf/simulated/floor/tiled/techfloor, /area/shuttle/gecko_cr_cockpit_wreck) "HI" = ( @@ -1776,7 +1776,7 @@ /area/shuttle/gecko_cr_cockpit_wreck) "HK" = ( /obj/structure/closet/walllocker/emerglocker/north, -/obj/item/weapon/material/shard/shrapnel, +/obj/item/material/shard/shrapnel, /turf/simulated/floor/airless, /area/shuttle/gecko_cr_wreck) "Id" = ( @@ -1871,7 +1871,7 @@ dir = 1; pixel_y = -26 }, -/obj/item/weapon/material/shard/shrapnel, +/obj/item/material/shard/shrapnel, /turf/simulated/floor/reinforced/airless, /area/shuttle/gecko_cr_wreck) "Kn" = ( @@ -2174,7 +2174,7 @@ /turf/simulated/floor/reinforced/airless, /area/shuttle/gecko_cr_wreck) "Oz" = ( -/obj/item/weapon/material/shard/shrapnel, +/obj/item/material/shard/shrapnel, /turf/template_noop, /area/shuttle/gecko_cr_wreck) "OA" = ( @@ -2221,7 +2221,7 @@ /turf/simulated/floor/reinforced/airless, /area/shuttle/gecko_cr_wreck) "OU" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/template_noop, /area/template_noop) "OX" = ( @@ -2322,7 +2322,7 @@ "PI" = ( /obj/effect/floor_decal/industrial/warning, /obj/structure/closet/crate/engineering, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /obj/structure/cable{ d1 = 4; d2 = 8; @@ -2351,7 +2351,7 @@ /turf/simulated/floor/airless, /area/shuttle/gecko_cr_cockpit_wreck) "PW" = ( -/obj/item/weapon/material/shard/shrapnel, +/obj/item/material/shard/shrapnel, /turf/template_noop, /area/shuttle/gecko_cr_engineering_wreck) "Ql" = ( @@ -2565,7 +2565,7 @@ pixel_x = 27 }, /obj/structure/bed/pod, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /turf/simulated/floor/tiled/techfloor, /area/shuttle/gecko_cr_cockpit_wreck) "Tx" = ( @@ -2628,7 +2628,7 @@ }, /area/shuttle/gecko_cr_engineering_wreck) "UY" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/airless, /area/shuttle/gecko_cr_engineering_wreck) "Va" = ( @@ -2832,7 +2832,7 @@ dir = 8 }, /obj/structure/table/steel, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /obj/machinery/light{ dir = 4 }, diff --git a/maps/offmap_vr/om_ships/gecko_sh.dmm b/maps/offmap_vr/om_ships/gecko_sh.dmm index 54d6ef5da21..2a7a483965f 100644 --- a/maps/offmap_vr/om_ships/gecko_sh.dmm +++ b/maps/offmap_vr/om_ships/gecko_sh.dmm @@ -98,7 +98,7 @@ /area/shuttle/gecko_sh_engineering) "bL" = ( /obj/structure/bed/pod, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /turf/simulated/floor/tiled/techfloor, /area/shuttle/gecko_sh) "bN" = ( @@ -112,8 +112,8 @@ /obj/structure/window/basic{ dir = 8 }, -/obj/item/weapon/tank/air, -/obj/item/weapon/tank/air, +/obj/item/tank/air, +/obj/item/tank/air, /obj/item/clothing/suit/space/emergency, /obj/item/clothing/suit/space/emergency, /obj/item/clothing/head/helmet/space/emergency, @@ -174,12 +174,12 @@ }, /obj/machinery/light, /obj/structure/bed/pod, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /turf/simulated/floor/tiled/techfloor, /area/shuttle/gecko_sh) "cY" = ( /obj/structure/bed/pod, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, @@ -199,8 +199,8 @@ /area/shuttle/gecko_sh) "dO" = ( /obj/effect/floor_decal/industrial/warning, -/obj/item/weapon/tank/oxygen/yellow, -/obj/item/weapon/tank/oxygen/yellow, +/obj/item/tank/oxygen/yellow, +/obj/item/tank/oxygen/yellow, /obj/item/clothing/suit/space/void/refurb/engineering, /obj/item/clothing/suit/space/void/refurb/engineering, /obj/item/clothing/head/helmet/space/void/refurb/engineering, @@ -619,7 +619,7 @@ /obj/structure/closet/crate{ dir = 1 }, -/obj/item/weapon/tank/air, +/obj/item/tank/air, /obj/item/clothing/suit/space/void/refurb, /obj/item/clothing/head/helmet/space/void/refurb, /obj/effect/floor_decal/industrial/outline/grey, @@ -1054,8 +1054,8 @@ /obj/structure/window/basic{ dir = 4 }, -/obj/item/weapon/tank/air, -/obj/item/weapon/tank/air, +/obj/item/tank/air, +/obj/item/tank/air, /obj/item/clothing/suit/space/emergency, /obj/item/clothing/suit/space/emergency, /obj/item/clothing/head/helmet/space/emergency, @@ -1106,7 +1106,7 @@ /obj/structure/closet/crate{ dir = 1 }, -/obj/item/weapon/tank/air, +/obj/item/tank/air, /obj/item/clothing/suit/space/void/refurb, /obj/item/clothing/head/helmet/space/void/refurb, /obj/effect/floor_decal/industrial/outline/grey, @@ -1150,16 +1150,16 @@ /turf/simulated/floor/tiled/techfloor, /area/shuttle/gecko_sh_engineering) "xT" = ( -/obj/item/weapon/tank/phoron/pressurized, -/obj/item/weapon/tank/phoron/pressurized, -/obj/item/weapon/tank/phoron/pressurized, +/obj/item/tank/phoron/pressurized, +/obj/item/tank/phoron/pressurized, +/obj/item/tank/phoron/pressurized, /obj/structure/fuel_port/heavy{ pixel_y = 28 }, /obj/structure/closet/crate{ dir = 2 }, -/obj/item/weapon/tool/crowbar/red, +/obj/item/tool/crowbar/red, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/techfloor, /area/shuttle/gecko_sh_engineering) @@ -1537,8 +1537,8 @@ /obj/structure/window/basic{ dir = 4 }, -/obj/item/weapon/tank/air, -/obj/item/weapon/tank/air, +/obj/item/tank/air, +/obj/item/tank/air, /obj/item/clothing/suit/space/emergency, /obj/item/clothing/suit/space/emergency, /obj/item/clothing/head/helmet/space/emergency, @@ -1661,7 +1661,7 @@ /obj/structure/closet/crate{ dir = 1 }, -/obj/item/weapon/tank/air, +/obj/item/tank/air, /obj/item/clothing/suit/space/void/refurb, /obj/item/clothing/head/helmet/space/void/refurb, /obj/machinery/light, @@ -1688,8 +1688,8 @@ /obj/structure/window/basic{ dir = 4 }, -/obj/item/weapon/tank/air, -/obj/item/weapon/tank/air, +/obj/item/tank/air, +/obj/item/tank/air, /obj/item/clothing/suit/space/emergency, /obj/item/clothing/suit/space/emergency, /obj/item/clothing/head/helmet/space/emergency, @@ -1733,8 +1733,8 @@ /obj/structure/window/basic{ dir = 8 }, -/obj/item/weapon/tank/air, -/obj/item/weapon/tank/air, +/obj/item/tank/air, +/obj/item/tank/air, /obj/item/clothing/suit/space/emergency, /obj/item/clothing/suit/space/emergency, /obj/item/clothing/head/helmet/space/emergency, @@ -1782,8 +1782,8 @@ /obj/structure/window/basic{ dir = 8 }, -/obj/item/weapon/tank/air, -/obj/item/weapon/tank/air, +/obj/item/tank/air, +/obj/item/tank/air, /obj/item/clothing/suit/space/emergency, /obj/item/clothing/suit/space/emergency, /obj/item/clothing/head/helmet/space/emergency, @@ -2180,13 +2180,13 @@ "PI" = ( /obj/effect/floor_decal/industrial/warning, /obj/structure/closet/crate/engineering, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /obj/structure/cable{ d1 = 4; d2 = 8; icon_state = "4-8" }, -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/techfloor, /area/shuttle/gecko_sh_engineering) @@ -2213,8 +2213,8 @@ /obj/structure/window/basic{ dir = 8 }, -/obj/item/weapon/tank/air, -/obj/item/weapon/tank/air, +/obj/item/tank/air, +/obj/item/tank/air, /obj/item/clothing/suit/space/emergency, /obj/item/clothing/suit/space/emergency, /obj/item/clothing/head/helmet/space/emergency, @@ -2240,10 +2240,10 @@ /obj/structure/closet/crate{ dir = 1 }, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, /turf/simulated/floor/tiled/techfloor, /area/shuttle/gecko_sh_engineering) "Qx" = ( @@ -2275,11 +2275,11 @@ /turf/simulated/floor/plating, /area/shuttle/gecko_sh_engineering) "Rh" = ( -/obj/item/weapon/tank/air, +/obj/item/tank/air, /obj/item/clothing/suit/space/void/refurb/pilot, /obj/item/clothing/head/helmet/space/void/refurb/pilot, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/weapon/tank/air, +/obj/item/tank/air, /obj/item/clothing/suit/space/void/refurb/pilot, /obj/item/clothing/head/helmet/space/void/refurb/pilot, /obj/structure/closet/crate/aether{ @@ -2411,7 +2411,7 @@ pixel_x = 27 }, /obj/structure/bed/pod, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /turf/simulated/floor/tiled/techfloor, /area/shuttle/gecko_sh) "Tx" = ( @@ -2618,7 +2618,7 @@ dir = 8 }, /obj/structure/table/steel, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /obj/item/stack/material/tritium{ amount = 25 }, @@ -2717,8 +2717,8 @@ /obj/structure/window/basic{ dir = 4 }, -/obj/item/weapon/tank/air, -/obj/item/weapon/tank/air, +/obj/item/tank/air, +/obj/item/tank/air, /obj/item/clothing/suit/space/emergency, /obj/item/clothing/suit/space/emergency, /obj/item/clothing/head/helmet/space/emergency, diff --git a/maps/offmap_vr/om_ships/geckos.dm b/maps/offmap_vr/om_ships/geckos.dm index d2041254144..e2641ebf687 100644 --- a/maps/offmap_vr/om_ships/geckos.dm +++ b/maps/offmap_vr/om_ships/geckos.dm @@ -1,5 +1,5 @@ // Compile in the map for CI testing if we're testing compileability of all the maps -#if MAP_TEST +#ifdef MAP_TEST #include "gecko_sh.dmm" #include "gecko_cr.dmm" #endif @@ -8,19 +8,19 @@ /datum/map_template/om_ships/gecko_stationhopper name = "OM Ship - Gecko Stationhopper (new Z)" desc = "A medium personnel transport shuttle." - mappath = 'gecko_sh.dmm' + mappath = "maps/offmap_vr/om_ships/gecko_sh.dmm" annihilate = TRUE /datum/map_template/om_ships/gecko_cargohauler name = "OM Ship - Gecko Cargo Hauler (new Z)" desc = "A medium supply transport shuttle." - mappath = 'gecko_cr.dmm' + mappath = "maps/offmap_vr/om_ships/gecko_cr.dmm" annihilate = TRUE /datum/map_template/om_ships/gecko_cargohauler_wreck name = "OM Ship - Wrecked Gecko Cargo Hauler (new Z)" desc = "A wrecked medium supply transport shuttle." - mappath = 'gecko_cr_wreck.dmm' + mappath = "maps/offmap_vr/om_ships/gecko_cr_wreck.dmm" annihilate = TRUE // The shuttle's area(s) diff --git a/maps/offmap_vr/om_ships/generic_shuttle.dm b/maps/offmap_vr/om_ships/generic_shuttle.dm index 65cfb4b4ccd..cb09b1eb8e3 100644 --- a/maps/offmap_vr/om_ships/generic_shuttle.dm +++ b/maps/offmap_vr/om_ships/generic_shuttle.dm @@ -1,5 +1,5 @@ // Compile in the map for CI testing if we're testing compileability of all the maps -#if MAP_TEST +#ifdef MAP_TEST #include "generic_shuttle.dmm" #endif @@ -7,7 +7,7 @@ /datum/map_template/om_ships/hybrid name = "OM Ship - Generic Shuttle" desc = "A small privately-owned vessel." - mappath = 'generic_shuttle.dmm' + mappath = "maps/offmap_vr/om_ships/generic_shuttle.dmm" annihilate = TRUE // The shuttle's area(s) @@ -52,4 +52,4 @@ [b]Notice[/b]: Small private vessel"} vessel_mass = 1000 vessel_size = SHIP_SIZE_TINY - shuttle = "Private Vessel" \ No newline at end of file + shuttle = "Private Vessel" diff --git a/maps/offmap_vr/om_ships/generic_shuttle.dmm b/maps/offmap_vr/om_ships/generic_shuttle.dmm index 47bc5e154d5..aaf77338040 100644 --- a/maps/offmap_vr/om_ships/generic_shuttle.dmm +++ b/maps/offmap_vr/om_ships/generic_shuttle.dmm @@ -19,7 +19,7 @@ /area/shuttle/generic_shuttle/gen) "af" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/machinery/button/remote/blast_door{ id = "generic_dorm1_blast"; name = "Blast Doors Controls"; @@ -683,7 +683,7 @@ dir = 6 }, /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /obj/fiftyspawner/steel, /turf/simulated/floor/plating, /area/shuttle/generic_shuttle/eng) @@ -812,7 +812,7 @@ dir = 8 }, /obj/structure/table/standard, -/obj/item/weapon/storage/box/metalfoam, +/obj/item/storage/box/metalfoam, /turf/simulated/floor/plating, /area/shuttle/generic_shuttle/eng) "bM" = ( @@ -925,7 +925,7 @@ /area/shuttle/generic_shuttle/gen) "tg" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /turf/simulated/floor/wood, /area/shuttle/generic_shuttle/gen) "Ue" = ( diff --git a/maps/offmap_vr/om_ships/hybridshuttle.dm b/maps/offmap_vr/om_ships/hybridshuttle.dm index c35c9af2907..3fba1efbdb2 100644 --- a/maps/offmap_vr/om_ships/hybridshuttle.dm +++ b/maps/offmap_vr/om_ships/hybridshuttle.dm @@ -1,5 +1,5 @@ // Compile in the map for CI testing if we're testing compileability of all the maps -#if MAP_TEST +#ifdef MAP_TEST #include "hybridshuttle.dmm" #endif @@ -7,7 +7,7 @@ /datum/map_template/om_ships/hybrid name = "OM Ship - Hybrid Shuttle" desc = "A prototype human/alien tech hybrid shuttle." - mappath = 'hybridshuttle.dmm' + mappath = "maps/offmap_vr/om_ships/hybridshuttle.dmm" annihilate = TRUE // The shuttle's area(s) @@ -49,4 +49,4 @@ [b]Notice[/b]: Experimental vessel"} vessel_mass = 3000 vessel_size = SHIP_SIZE_SMALL - shuttle = "XN-29 Prototype Shuttle" \ No newline at end of file + shuttle = "XN-29 Prototype Shuttle" diff --git a/maps/offmap_vr/om_ships/hybridshuttle.dmm b/maps/offmap_vr/om_ships/hybridshuttle.dmm index 7b896361a48..813f41d697a 100644 --- a/maps/offmap_vr/om_ships/hybridshuttle.dmm +++ b/maps/offmap_vr/om_ships/hybridshuttle.dmm @@ -40,10 +40,10 @@ /obj/item/clothing/mask/breath, /obj/item/clothing/mask/breath, /obj/item/clothing/mask/breath, -/obj/item/weapon/tank/emergency/oxygen/engi, -/obj/item/weapon/tank/emergency/oxygen/engi, -/obj/item/weapon/tank/emergency/oxygen/engi, -/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, /obj/item/clothing/suit/space/emergency, /obj/item/clothing/suit/space/emergency, /obj/item/clothing/suit/space/emergency, @@ -86,7 +86,7 @@ /obj/structure/bed/alien{ icon = 'icons/obj/abductor_vr.dmi' }, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /turf/simulated/floor/tiled/techfloor, /area/shuttle/blue_fo) "an" = ( @@ -227,7 +227,7 @@ /area/shuttle/blue_fo) "aF" = ( /obj/effect/map_effect/perma_light/brighter, -/obj/item/device/perfect_tele_beacon/stationary{ +/obj/item/perfect_tele_beacon/stationary{ icon_state = "beacon"; tele_name = "Hybrid Shuttle"; tele_network = "hybridshuttle" @@ -402,11 +402,11 @@ dir = 1 }, /obj/structure/table/alien/blue, -/obj/item/device/perfect_tele/alien/bluefo{ +/obj/item/perfect_tele/alien/bluefo{ pixel_x = 6; pixel_y = 3 }, -/obj/item/device/perfect_tele/alien/bluefo{ +/obj/item/perfect_tele/alien/bluefo{ pixel_x = -6; pixel_y = 3 }, @@ -463,11 +463,11 @@ /area/shuttle/blue_fo) "bg" = ( /obj/structure/table/alien/blue, -/obj/item/device/perfect_tele/alien/bluefo{ +/obj/item/perfect_tele/alien/bluefo{ pixel_x = -6; pixel_y = 3 }, -/obj/item/device/perfect_tele/alien/bluefo{ +/obj/item/perfect_tele/alien/bluefo{ pixel_x = 6; pixel_y = 3 }, diff --git a/maps/offmap_vr/om_ships/itglight.dm b/maps/offmap_vr/om_ships/itglight.dm index e0ce61cb625..0c158a33cf0 100644 --- a/maps/offmap_vr/om_ships/itglight.dm +++ b/maps/offmap_vr/om_ships/itglight.dm @@ -1,5 +1,5 @@ // Compile in the map for CI testing if we're testing compileability of all the maps -#if MAP_TEST +#ifdef MAP_TEST #include "itglight.dmm" #endif @@ -7,7 +7,7 @@ /datum/map_template/om_ships/itglight name = "OM Ship - ITG Dauntless (New Z)" desc = "A small, well armed interstellar cargo ship!!" - mappath = 'itglight.dmm' + mappath = "maps/offmap_vr/om_ships/itglight.dmm" /area/itglight requires_power = 1 @@ -136,7 +136,7 @@ department = "ITG Dauntless" desc = "The ship's fax machine! It's a safe assumption that most of the departments listed aren't on your ship, since the ship only has one." -/obj/item/weapon/paper/Dauntless +/obj/item/paper/Dauntless name = "Notes about Dauntless" info = {"Welcome to the Ironcrest Transport Group

      ITG Dauntless

      @@ -149,4 +149,4 @@ She has six point defense turrets, but her armor is thin, and she hasn't got any fancy shields.
      She's not a combat ship, and she demands a competent pilot to treat her right.

      Also d1a2 is best port, just saying.

      - Also the ship is 150 meters long and 92 meters wide, in case that is ever relevent."} \ No newline at end of file + Also the ship is 150 meters long and 92 meters wide, in case that is ever relevent."} diff --git a/maps/offmap_vr/om_ships/itglight.dmm b/maps/offmap_vr/om_ships/itglight.dmm index 611f5508f41..95ee0d28fa9 100644 --- a/maps/offmap_vr/om_ships/itglight.dmm +++ b/maps/offmap_vr/om_ships/itglight.dmm @@ -56,7 +56,7 @@ /area/itglight/readyroom) "af" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/card/id/event/accessset/itg/crew/captain, +/obj/item/card/id/event/accessset/itg/crew/captain, /obj/machinery/computer/ship/navigation/telescreen{ pixel_y = -32 }, @@ -76,9 +76,9 @@ /obj/item/clothing/under/utility/grey, /obj/item/clothing/shoes/boots/winter, /obj/item/clothing/shoes/boots/duty, -/obj/item/device/communicator, -/obj/item/weapon/storage/backpack/messenger/hyd, -/obj/item/device/radio/headset{ +/obj/item/communicator, +/obj/item/storage/backpack/messenger/hyd, +/obj/item/radio/headset{ adhoc_fallback = 1; desc = "An updated, modular intercom that fits over the head. Takes encryption keys, also works as a shortwave radio."; name = "dauntless headset" @@ -88,7 +88,7 @@ /obj/item/clothing/suit/chef/classic, /obj/item/clothing/head/chefhat, /obj/item/clothing/suit/storage/solgov/service/army/service, -/obj/item/weapon/card/id/event/accessset/itg/crew/service, +/obj/item/card/id/event/accessset/itg/crew/service, /turf/simulated/floor/tiled/eris/steel/brown_platform, /area/itglight/metingroom) "ah" = ( @@ -105,9 +105,9 @@ /obj/item/clothing/under/utility/grey, /obj/item/clothing/shoes/boots/winter, /obj/item/clothing/shoes/boots/duty, -/obj/item/device/communicator, -/obj/item/weapon/storage/backpack/messenger/engi, -/obj/item/device/radio/headset{ +/obj/item/communicator, +/obj/item/storage/backpack/messenger/engi, +/obj/item/radio/headset{ adhoc_fallback = 1; desc = "An updated, modular intercom that fits over the head. Takes encryption keys, also works as a shortwave radio."; name = "dauntless headset" @@ -115,7 +115,7 @@ /obj/item/clothing/suit/storage/hooded/wintercoat/engineering, /obj/item/taperoll/engineering, /obj/item/clothing/suit/storage/solgov/service/army/engineering, -/obj/item/weapon/card/id/event/accessset/itg/crew/engineer, +/obj/item/card/id/event/accessset/itg/crew/engineer, /turf/simulated/floor/tiled/eris/steel/brown_platform, /area/itglight/metingroom) "ai" = ( @@ -132,16 +132,16 @@ /obj/item/clothing/under/utility/grey, /obj/item/clothing/shoes/boots/winter, /obj/item/clothing/shoes/boots/duty, -/obj/item/device/communicator, -/obj/item/weapon/storage/backpack/messenger/med, -/obj/item/device/radio/headset{ +/obj/item/communicator, +/obj/item/storage/backpack/messenger/med, +/obj/item/radio/headset{ adhoc_fallback = 1; desc = "An updated, modular intercom that fits over the head. Takes encryption keys, also works as a shortwave radio."; name = "dauntless headset" }, /obj/item/clothing/suit/storage/hooded/wintercoat/medical, /obj/item/clothing/suit/storage/solgov/service/army/medical, -/obj/item/weapon/card/id/event/accessset/itg/crew/medical, +/obj/item/card/id/event/accessset/itg/crew/medical, /turf/simulated/floor/tiled/eris/steel/brown_platform, /area/itglight/metingroom) "aj" = ( @@ -158,9 +158,9 @@ /obj/item/clothing/under/utility/grey, /obj/item/clothing/shoes/boots/winter, /obj/item/clothing/shoes/boots/duty, -/obj/item/device/communicator, -/obj/item/weapon/storage/backpack/messenger/sec, -/obj/item/device/radio/headset{ +/obj/item/communicator, +/obj/item/storage/backpack/messenger/sec, +/obj/item/radio/headset{ adhoc_fallback = 1; desc = "An updated, modular intercom that fits over the head. Takes encryption keys, also works as a shortwave radio."; name = "dauntless headset" @@ -168,13 +168,13 @@ /obj/item/clothing/suit/storage/hooded/wintercoat/security, /obj/item/clothing/suit/storage/trench, /obj/item/clothing/suit/storage/solgov/service/army/security, -/obj/item/weapon/card/id/event/accessset/itg/crew/security, +/obj/item/card/id/event/accessset/itg/crew/security, /obj/item/clothing/accessory/holster/hip, /turf/simulated/floor/tiled/eris/steel/brown_platform, /area/itglight/metingroom) "ak" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /obj/structure/curtain{ color = "#2e1604" }, @@ -184,11 +184,11 @@ /obj/structure/closet/autolok_wall{ pixel_x = -24 }, -/obj/item/device/radio, +/obj/item/radio, /obj/structure/bed/chair/bay/chair/padded/brown{ dir = 4 }, -/obj/item/device/flash, +/obj/item/flash, /turf/simulated/floor/tiled/eris/dark/monofloor, /area/itglight/cockpit) "as" = ( @@ -431,10 +431,10 @@ /obj/structure/cable/pink{ icon_state = "4-8" }, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -3 }, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 3 }, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ @@ -473,7 +473,7 @@ "cp" = ( /obj/machinery/power/apc/angled{ alarms_hidden = 1; - cell_type = /obj/item/weapon/cell/hyper; + cell_type = /obj/item/cell/hyper; dir = 4; pixel_x = 25 }, @@ -481,7 +481,7 @@ icon_state = "0-8" }, /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /turf/simulated/floor/carpet/turcarpet, /area/itglight/crew4) "cv" = ( @@ -496,10 +496,10 @@ /area/itglight/shuttlebay) "cx" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -3 }, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 3 }, /obj/machinery/light{ @@ -526,7 +526,7 @@ }, /obj/machinery/power/apc/angled{ alarms_hidden = 1; - cell_type = /obj/item/weapon/cell/hyper; + cell_type = /obj/item/cell/hyper; pixel_y = -25 }, /obj/structure/cable/pink, @@ -588,13 +588,13 @@ dir = 1; pixel_y = -23 }, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, -/obj/item/weapon/pen/blade/blue{ +/obj/item/paper_bin, +/obj/item/pen, +/obj/item/pen/blade/blue{ pixel_x = 4; pixel_y = 3 }, -/obj/item/weapon/pen/blade/red{ +/obj/item/pen/blade/red{ pixel_x = -4; pixel_y = -3 }, @@ -637,7 +637,7 @@ /obj/structure/bed/chair/bay/chair/padded/brown{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 25 }, @@ -679,17 +679,17 @@ dir = 8 }, /obj/structure/table/woodentable, -/obj/item/weapon/storage/mre/random, +/obj/item/storage/mre/random, /obj/random/plushie, /obj/random/contraband/nofail, /obj/random/drinksoft, -/obj/item/device/radio, +/obj/item/radio, /turf/simulated/floor/carpet/turcarpet, /area/itglight/crew1) "ed" = ( /obj/machinery/power/apc/angled{ alarms_hidden = 1; - cell_type = /obj/item/weapon/cell/hyper; + cell_type = /obj/item/cell/hyper; pixel_y = -25 }, /obj/structure/cable/pink, @@ -793,15 +793,15 @@ /area/itglight/kitchen) "eI" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/material/kitchen/rollingpin, -/obj/item/weapon/book/manual/chef_recipes, -/obj/item/weapon/reagent_containers/food/condiment/enzyme{ +/obj/item/material/kitchen/rollingpin, +/obj/item/book/manual/chef_recipes, +/obj/item/reagent_containers/food/condiment/enzyme{ layer = 5 }, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /turf/simulated/floor/tiled/eris/cafe, /area/itglight/kitchen) "eJ" = ( @@ -837,7 +837,7 @@ "eW" = ( /obj/structure/table/rack/shelf/steel, /obj/machinery/atmospherics/unary/vent_pump/on, -/obj/item/weapon/rig/eva, +/obj/item/rig/eva, /turf/simulated/floor/tiled/eris/steel/gray_platform, /area/itglight/starboardhighsec) "eZ" = ( @@ -864,7 +864,7 @@ /area/itglight/cockpit) "fc" = ( /obj/machinery/chem_master, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -25 }, @@ -898,8 +898,8 @@ }, /obj/item/clothing/under/rank/medical/scrubs, /obj/item/clothing/under/rank/medical/scrubs, -/obj/item/weapon/storage/belt/medical, -/obj/item/weapon/storage/belt/medical, +/obj/item/storage/belt/medical, +/obj/item/storage/belt/medical, /obj/item/clothing/suit/storage/toggle/labcoat, /obj/item/clothing/suit/storage/toggle/labcoat, /turf/simulated/floor/tiled/eris/white/cargo, @@ -1008,7 +1008,7 @@ icon_state = "4-8" }, /obj/structure/table/wooden_reinforced, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, @@ -1064,7 +1064,7 @@ /area/itglight/captain) "gS" = ( /obj/structure/bed/chair/sofa/right/brown, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 25 }, @@ -1122,7 +1122,7 @@ "hk" = ( /obj/structure/table/steel_reinforced, /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/item/weapon/paper/Dauntless, +/obj/item/paper/Dauntless, /turf/simulated/floor/tiled/eris/dark/monofloor, /area/itglight/cockpit) "hm" = ( @@ -1331,11 +1331,11 @@ dir = 8 }, /obj/structure/table/woodentable, -/obj/item/weapon/storage/mre/random, +/obj/item/storage/mre/random, /obj/random/plushie, /obj/random/contraband/nofail, /obj/random/drinksoft, -/obj/item/device/radio, +/obj/item/radio, /turf/simulated/floor/carpet/turcarpet, /area/itglight/crew2) "iq" = ( @@ -1473,24 +1473,24 @@ /area/itglight/shuttlebay) "jg" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/storage/box/flashbangs, -/obj/item/weapon/storage/box/metalfoam, -/obj/item/device/flash, -/obj/item/device/flash, -/obj/item/device/flash, -/obj/item/device/flash, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/gun/energy/taser, -/obj/item/device/assembly/prox_sensor, +/obj/item/storage/box/flashbangs, +/obj/item/storage/box/metalfoam, +/obj/item/flash, +/obj/item/flash, +/obj/item/flash, +/obj/item/flash, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, +/obj/item/assembly/prox_sensor, /obj/item/clothing/suit/armor/vest, /obj/item/clothing/suit/armor/vest, /obj/item/clothing/suit/armor/vest, /obj/item/clothing/suit/armor/vest, /obj/item/clothing/suit/armor/vest, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -25 }, @@ -1504,11 +1504,11 @@ /obj/structure/closet/autolok_wall{ pixel_x = 24 }, -/obj/item/device/radio, +/obj/item/radio, /obj/structure/bed/chair/bay/chair/padded/brown{ dir = 8 }, -/obj/item/device/flash, +/obj/item/flash, /turf/simulated/floor/tiled/eris/dark/monofloor, /area/itglight/cockpit) "jo" = ( @@ -1529,8 +1529,8 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 8 }, -/obj/item/weapon/tank/jetpack/oxygen, -/obj/item/weapon/tank/jetpack/oxygen, +/obj/item/tank/jetpack/oxygen, +/obj/item/tank/jetpack/oxygen, /obj/structure/table/rack/steel, /turf/simulated/floor/tiled/eris/steel/gray_platform, /area/itglight/starboardhighsec) @@ -1539,7 +1539,7 @@ /obj/machinery/photocopier/faxmachine/itglight, /obj/machinery/power/apc/angled{ alarms_hidden = 1; - cell_type = /obj/item/weapon/cell/hyper; + cell_type = /obj/item/cell/hyper; dir = 8; nightshift_setting = 3; pixel_x = -25 @@ -1555,7 +1555,7 @@ /area/itglight/kitchen) "jG" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -25 }, @@ -1566,10 +1566,10 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, /turf/simulated/floor/tiled/eris/steel/gray_platform, /area/itglight/starboardhighsec) "jQ" = ( @@ -1610,7 +1610,7 @@ /area/itglight/cockpit) "ko" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 25 }, @@ -1633,8 +1633,8 @@ /turf/simulated/floor/tiled/eris/dark/monofloor, /area/itglight/cockpit) "ky" = ( -/obj/item/device/radio, -/obj/item/device/flash, +/obj/item/radio, +/obj/item/flash, /obj/structure/bed/chair/bay/shuttle{ dir = 1 }, @@ -1695,7 +1695,7 @@ "kU" = ( /obj/machinery/power/apc/angled{ alarms_hidden = 1; - cell_type = /obj/item/weapon/cell/hyper; + cell_type = /obj/item/cell/hyper; dir = 4; pixel_x = 25 }, @@ -1725,7 +1725,7 @@ "lh" = ( /obj/machinery/power/apc/angled{ alarms_hidden = 1; - cell_type = /obj/item/weapon/cell/hyper; + cell_type = /obj/item/cell/hyper; dir = 4; pixel_x = 25 }, @@ -1821,43 +1821,43 @@ /turf/simulated/floor, /area/itglight/portengi) "lO" = ( -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/small/sugar, -/obj/item/weapon/reagent_containers/food/condiment/small/sugar, -/obj/item/weapon/reagent_containers/food/condiment/small/sugar, -/obj/item/weapon/reagent_containers/food/condiment/small/sugar, -/obj/item/weapon/reagent_containers/food/condiment/spacespice, -/obj/item/weapon/reagent_containers/food/condiment/spacespice, -/obj/item/weapon/reagent_containers/food/condiment/spacespice, -/obj/item/weapon/reagent_containers/food/condiment/spacespice, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/material/knife/butch, -/obj/item/weapon/material/minihoe, -/obj/item/weapon/material/knife/machete/hatchet, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/small/sugar, +/obj/item/reagent_containers/food/condiment/small/sugar, +/obj/item/reagent_containers/food/condiment/small/sugar, +/obj/item/reagent_containers/food/condiment/small/sugar, +/obj/item/reagent_containers/food/condiment/spacespice, +/obj/item/reagent_containers/food/condiment/spacespice, +/obj/item/reagent_containers/food/condiment/spacespice, +/obj/item/reagent_containers/food/condiment/spacespice, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/material/knife/butch, +/obj/item/material/minihoe, +/obj/item/material/knife/machete/hatchet, /obj/random/drinkbottle, /obj/random/drinkbottle, /obj/random/drinkbottle, /obj/structure/closet, /obj/item/robot_parts/l_arm, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/device/analyzer/plant_analyzer, -/obj/item/device/analyzer/plant_analyzer, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/glass/bucket, +/obj/item/analyzer/plant_analyzer, +/obj/item/analyzer/plant_analyzer, +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 3 }, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -3 }, /turf/simulated/floor/tiled/eris/cafe, @@ -1889,7 +1889,7 @@ /area/itglight/portengi) "mf" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/box/sinpockets, +/obj/item/storage/box/sinpockets, /turf/simulated/floor/tiled/eris/steel/gray_platform, /area/itglight/metingroom) "mg" = ( @@ -1971,7 +1971,7 @@ "mZ" = ( /obj/machinery/power/apc/angled{ alarms_hidden = 1; - cell_type = /obj/item/weapon/cell/hyper; + cell_type = /obj/item/cell/hyper; dir = 8; nightshift_setting = 3; pixel_x = -25 @@ -2057,10 +2057,10 @@ dir = 8 }, /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/storage/briefcase/inflatable, -/obj/item/weapon/storage/briefcase/inflatable, -/obj/item/weapon/storage/briefcase/inflatable, -/obj/item/weapon/storage/briefcase/inflatable, +/obj/item/storage/briefcase/inflatable, +/obj/item/storage/briefcase/inflatable, +/obj/item/storage/briefcase/inflatable, +/obj/item/storage/briefcase/inflatable, /turf/simulated/floor/tiled/eris/steel/gray_platform, /area/itglight/starboardhighsec) "nH" = ( @@ -2294,7 +2294,7 @@ }, /obj/machinery/power/apc/angled{ alarms_hidden = 1; - cell_type = /obj/item/weapon/cell/hyper; + cell_type = /obj/item/cell/hyper; dir = 8; nightshift_setting = 3; pixel_x = -25 @@ -2372,7 +2372,7 @@ "pL" = ( /obj/machinery/power/apc/angled{ alarms_hidden = 1; - cell_type = /obj/item/weapon/cell/hyper; + cell_type = /obj/item/cell/hyper; dir = 4; pixel_x = 25 }, @@ -2510,59 +2510,59 @@ /obj/structure/cable/pink{ icon_state = "4-8" }, -/obj/item/weapon/stool/baystool/padded{ +/obj/item/stool/baystool/padded{ dir = 8 }, /turf/simulated/floor/tiled/eris/cafe, /area/itglight/kitchen) "qW" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/device/radio/headset{ +/obj/item/radio/headset{ adhoc_fallback = 1; desc = "An updated, modular intercom that fits over the head. Takes encryption keys, also works as a shortwave radio."; name = "dauntless headset" }, -/obj/item/device/radio/headset{ +/obj/item/radio/headset{ adhoc_fallback = 1; desc = "An updated, modular intercom that fits over the head. Takes encryption keys, also works as a shortwave radio."; name = "dauntless headset" }, -/obj/item/device/radio/headset{ +/obj/item/radio/headset{ adhoc_fallback = 1; desc = "An updated, modular intercom that fits over the head. Takes encryption keys, also works as a shortwave radio."; name = "dauntless headset" }, -/obj/item/device/radio/headset{ +/obj/item/radio/headset{ adhoc_fallback = 1; desc = "An updated, modular intercom that fits over the head. Takes encryption keys, also works as a shortwave radio."; name = "dauntless headset" }, -/obj/item/device/radio/headset{ +/obj/item/radio/headset{ adhoc_fallback = 1; desc = "An updated, modular intercom that fits over the head. Takes encryption keys, also works as a shortwave radio."; name = "dauntless headset" }, -/obj/item/device/radio/headset{ +/obj/item/radio/headset{ adhoc_fallback = 1; desc = "An updated, modular intercom that fits over the head. Takes encryption keys, also works as a shortwave radio."; name = "dauntless headset" }, -/obj/item/device/radio/headset{ +/obj/item/radio/headset{ adhoc_fallback = 1; desc = "An updated, modular intercom that fits over the head. Takes encryption keys, also works as a shortwave radio."; name = "dauntless headset" }, -/obj/item/device/radio/headset{ +/obj/item/radio/headset{ adhoc_fallback = 1; desc = "An updated, modular intercom that fits over the head. Takes encryption keys, also works as a shortwave radio."; name = "dauntless headset" }, -/obj/item/device/radio/headset{ +/obj/item/radio/headset{ adhoc_fallback = 1; desc = "An updated, modular intercom that fits over the head. Takes encryption keys, also works as a shortwave radio."; name = "dauntless headset" }, -/obj/item/device/radio/headset{ +/obj/item/radio/headset{ adhoc_fallback = 1; desc = "An updated, modular intercom that fits over the head. Takes encryption keys, also works as a shortwave radio."; name = "dauntless headset" @@ -2700,7 +2700,7 @@ }, /obj/machinery/power/apc/angled{ alarms_hidden = 1; - cell_type = /obj/item/weapon/cell/hyper; + cell_type = /obj/item/cell/hyper; dir = 4; pixel_x = 25 }, @@ -2815,10 +2815,10 @@ pixel_x = -16; pixel_y = 30 }, -/obj/item/weapon/storage/box/masks, -/obj/item/weapon/storage/box/gloves, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/storage/box/masks, +/obj/item/storage/box/gloves, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /turf/simulated/floor/tiled/eris/white/techfloor_grid, /area/itglight/medbay) "tz" = ( @@ -3014,13 +3014,13 @@ "vr" = ( /obj/structure/table/rack/shelf/steel, /obj/machinery/atmospherics/unary/vent_scrubber/on, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/device/lightreplacer, -/obj/item/device/lightreplacer, +/obj/item/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, +/obj/item/lightreplacer, +/obj/item/lightreplacer, /turf/simulated/floor/tiled/eris/steel/gray_platform, /area/itglight/starboardhighsec) "vy" = ( @@ -3088,7 +3088,7 @@ /turf/simulated/floor/tiled/eris/steel/gray_platform, /area/itglight/porthighsec) "wm" = ( -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /obj/structure/curtain/black, /obj/structure/bed/padded, /obj/machinery/atmospherics/unary/vent_scrubber/on{ @@ -3121,7 +3121,7 @@ /turf/simulated/floor/tiled/eris/steel/gray_platform, /area/itglight/starboardcargo) "ww" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 25 }, @@ -3131,7 +3131,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -25 }, @@ -3160,7 +3160,7 @@ /obj/structure/cable/pink{ icon_state = "2-8" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 25 }, @@ -3316,7 +3316,7 @@ /obj/structure/handrail{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 25 }, @@ -3334,31 +3334,31 @@ /obj/structure/closet/secure_closet/personal{ req_access = list(778) }, -/obj/item/device/radio, +/obj/item/radio, /obj/random/drinksoft, /obj/random/contraband/nofail, /obj/random/plushie, -/obj/item/weapon/storage/mre/random, +/obj/item/storage/mre/random, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, /obj/item/clothing/suit/space/void/captain, /obj/item/clothing/head/helmet/space/void/captain, -/obj/item/weapon/card/id/event/accessset/itg/crew, -/obj/item/weapon/card/id/event/accessset/itg/crew, -/obj/item/weapon/card/id/event/accessset/itg/crew, -/obj/item/weapon/card/id/event/accessset/itg/crew, -/obj/item/weapon/card/id/event/accessset/itg/crew, -/obj/item/weapon/card/id/event/accessset/itg/crew/passengerliason, -/obj/item/weapon/card/id/event/accessset/itg/crew/pilot, -/obj/item/weapon/card/id/event/accessset/itg/crew/research, -/obj/item/weapon/card/id/event/accessset/itg/crew/research, -/obj/item/weapon/card/id/event/accessset/itg/crew/security, -/obj/item/weapon/card/id/event/accessset/itg/crew/service, -/obj/item/weapon/card/id/event/accessset/itg/crew/engineer, -/obj/item/weapon/card/id/event/accessset/itg/crew/engineer, -/obj/item/weapon/card/id/event/accessset/itg/crew/medical, -/obj/item/weapon/card/id/event/accessset/itg/crew/medical, +/obj/item/card/id/event/accessset/itg/crew, +/obj/item/card/id/event/accessset/itg/crew, +/obj/item/card/id/event/accessset/itg/crew, +/obj/item/card/id/event/accessset/itg/crew, +/obj/item/card/id/event/accessset/itg/crew, +/obj/item/card/id/event/accessset/itg/crew/passengerliason, +/obj/item/card/id/event/accessset/itg/crew/pilot, +/obj/item/card/id/event/accessset/itg/crew/research, +/obj/item/card/id/event/accessset/itg/crew/research, +/obj/item/card/id/event/accessset/itg/crew/security, +/obj/item/card/id/event/accessset/itg/crew/service, +/obj/item/card/id/event/accessset/itg/crew/engineer, +/obj/item/card/id/event/accessset/itg/crew/engineer, +/obj/item/card/id/event/accessset/itg/crew/medical, +/obj/item/card/id/event/accessset/itg/crew/medical, /obj/item/clothing/suit/storage/hooded/wintercoat/cargo{ name = "dauntless winter coat" }, @@ -3367,10 +3367,10 @@ name = "captain's coat" }, /obj/item/clothing/suit/storage/solgov/service/army/command, -/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar, -/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar, -/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar, -/obj/item/weapon/gun/energy/taser, +/obj/item/reagent_containers/food/snacks/candy/proteinbar, +/obj/item/reagent_containers/food/snacks/candy/proteinbar, +/obj/item/reagent_containers/food/snacks/candy/proteinbar, +/obj/item/gun/energy/taser, /obj/item/clothing/accessory/holster/hip, /turf/simulated/floor/carpet/sblucarpet, /area/itglight/captain) @@ -3386,7 +3386,7 @@ "xE" = ( /obj/machinery/power/apc/angled{ alarms_hidden = 1; - cell_type = /obj/item/weapon/cell/hyper; + cell_type = /obj/item/cell/hyper; dir = 1; pixel_y = 25 }, @@ -3593,7 +3593,7 @@ "yY" = ( /obj/machinery/power/apc/angled{ alarms_hidden = 1; - cell_type = /obj/item/weapon/cell/hyper; + cell_type = /obj/item/cell/hyper; dir = 1; pixel_y = 25 }, @@ -3713,7 +3713,7 @@ "zL" = ( /obj/machinery/power/apc/angled{ alarms_hidden = 1; - cell_type = /obj/item/weapon/cell/hyper; + cell_type = /obj/item/cell/hyper; dir = 4; nightshift_setting = 3; pixel_x = 25 @@ -3835,16 +3835,16 @@ /area/itglight/passengersleeping) "AH" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/surgery, -/obj/item/device/healthanalyzer, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/storage/firstaid/surgery, +/obj/item/healthanalyzer, +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; pixel_y = 2 }, -/obj/item/device/defib_kit/loaded, -/obj/item/device/robotanalyzer{ +/obj/item/defib_kit/loaded, +/obj/item/robotanalyzer{ pixel_y = -8 }, /obj/item/stack/nanopaste/advanced, @@ -3853,7 +3853,7 @@ "AJ" = ( /obj/machinery/power/apc/angled{ alarms_hidden = 1; - cell_type = /obj/item/weapon/cell/hyper; + cell_type = /obj/item/cell/hyper; dir = 1; pixel_y = 25 }, @@ -3916,7 +3916,7 @@ }, /obj/machinery/power/apc/angled{ alarms_hidden = 1; - cell_type = /obj/item/weapon/cell/hyper; + cell_type = /obj/item/cell/hyper; dir = 4; pixel_x = 25 }, @@ -4012,17 +4012,17 @@ dir = 8 }, /obj/structure/table/woodentable, -/obj/item/weapon/storage/mre/random, +/obj/item/storage/mre/random, /obj/random/plushie, /obj/random/contraband/nofail, /obj/random/drinksoft, -/obj/item/device/radio, +/obj/item/radio, /turf/simulated/floor/carpet/turcarpet, /area/itglight/crew4) "BU" = ( /obj/machinery/power/apc/angled{ alarms_hidden = 1; - cell_type = /obj/item/weapon/cell/hyper; + cell_type = /obj/item/cell/hyper; dir = 4; pixel_x = 25 }, @@ -4030,7 +4030,7 @@ icon_state = "0-8" }, /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /turf/simulated/floor/carpet/turcarpet, /area/itglight/crew1) "BW" = ( @@ -4102,8 +4102,8 @@ /turf/simulated/floor, /area/itglight/portdocking) "Ct" = ( -/obj/item/weapon/stool/baystool/padded, -/obj/item/device/radio/intercom{ +/obj/item/stool/baystool/padded, +/obj/item/radio/intercom{ dir = 1; pixel_y = 25 }, @@ -4266,11 +4266,11 @@ dir = 8 }, /obj/structure/table/woodentable, -/obj/item/weapon/storage/mre/random, +/obj/item/storage/mre/random, /obj/random/plushie, /obj/random/contraband/nofail, /obj/random/drinksoft, -/obj/item/device/radio, +/obj/item/radio, /turf/simulated/floor/carpet/turcarpet, /area/itglight/crew3) "Dy" = ( @@ -4795,23 +4795,23 @@ /area/shuttle/itglightshuttle) "Gm" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/glass/bottle/biomass{ +/obj/item/reagent_containers/glass/bottle/biomass{ pixel_x = -4; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/glass/bottle/biomass{ +/obj/item/reagent_containers/glass/bottle/biomass{ pixel_x = 6; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/glass/bottle/biomass{ +/obj/item/reagent_containers/glass/bottle/biomass{ pixel_x = -7; pixel_y = 4 }, -/obj/item/weapon/reagent_containers/glass/bottle/biomass{ +/obj/item/reagent_containers/glass/bottle/biomass{ pixel_x = 4; pixel_y = 6 }, -/obj/item/device/flashlight/pen{ +/obj/item/flashlight/pen{ pixel_x = -3; pixel_y = -3 }, @@ -4836,15 +4836,15 @@ /obj/item/bodybag/cryobag, /obj/item/bodybag/cryobag, /obj/item/bodybag/cryobag, -/obj/item/weapon/storage/firstaid/adv, -/obj/item/weapon/storage/firstaid/adv, -/obj/item/weapon/storage/firstaid/clotting, -/obj/item/weapon/storage/firstaid/fire, -/obj/item/weapon/storage/firstaid/fire, -/obj/item/weapon/storage/firstaid/o2, -/obj/item/weapon/storage/firstaid/o2, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/toxin, +/obj/item/storage/firstaid/adv, +/obj/item/storage/firstaid/adv, +/obj/item/storage/firstaid/clotting, +/obj/item/storage/firstaid/fire, +/obj/item/storage/firstaid/fire, +/obj/item/storage/firstaid/o2, +/obj/item/storage/firstaid/o2, +/obj/item/storage/firstaid/toxin, +/obj/item/storage/firstaid/toxin, /obj/item/stack/medical/advanced/bruise_pack, /obj/item/stack/medical/advanced/bruise_pack, /obj/item/stack/medical/advanced/bruise_pack, @@ -5189,7 +5189,7 @@ "IM" = ( /obj/machinery/power/apc/angled{ alarms_hidden = 1; - cell_type = /obj/item/weapon/cell/hyper; + cell_type = /obj/item/cell/hyper; dir = 4; pixel_x = 25 }, @@ -5235,7 +5235,7 @@ "Jc" = ( /obj/machinery/power/apc/angled{ alarms_hidden = 1; - cell_type = /obj/item/weapon/cell/hyper; + cell_type = /obj/item/cell/hyper; dir = 1; nightshift_setting = 3; pixel_y = 25 @@ -5378,7 +5378,7 @@ "JR" = ( /obj/machinery/power/apc/angled{ alarms_hidden = 1; - cell_type = /obj/item/weapon/cell/hyper; + cell_type = /obj/item/cell/hyper; dir = 4; pixel_x = 25 }, @@ -5386,7 +5386,7 @@ icon_state = "0-8" }, /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /turf/simulated/floor/carpet/turcarpet, /area/itglight/crew3) "JT" = ( @@ -5432,7 +5432,7 @@ "Kh" = ( /obj/machinery/power/apc/angled{ alarms_hidden = 1; - cell_type = /obj/item/weapon/cell/hyper; + cell_type = /obj/item/cell/hyper; dir = 1; nightshift_setting = 3; pixel_y = 25 @@ -5490,7 +5490,7 @@ "KB" = ( /obj/machinery/power/apc/angled{ alarms_hidden = 1; - cell_type = /obj/item/weapon/cell/hyper; + cell_type = /obj/item/cell/hyper; dir = 4; nightshift_setting = 3; pixel_x = 25 @@ -5683,7 +5683,7 @@ "Mk" = ( /obj/machinery/power/apc/angled{ alarms_hidden = 1; - cell_type = /obj/item/weapon/cell/hyper; + cell_type = /obj/item/cell/hyper; dir = 4; pixel_x = 25 }, @@ -5691,7 +5691,7 @@ icon_state = "0-8" }, /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /turf/simulated/floor/carpet/turcarpet, /area/itglight/crew2) "Ml" = ( @@ -5711,12 +5711,12 @@ /area/itglight/common) "Mm" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/tiled/monotile, /area/itglight/lockers) @@ -5977,7 +5977,7 @@ "NY" = ( /obj/machinery/power/apc/angled{ alarms_hidden = 1; - cell_type = /obj/item/weapon/cell/hyper; + cell_type = /obj/item/cell/hyper; dir = 4; pixel_x = 25 }, @@ -5993,7 +5993,7 @@ }, /obj/machinery/power/apc/angled{ alarms_hidden = 1; - cell_type = /obj/item/weapon/cell/hyper; + cell_type = /obj/item/cell/hyper; dir = 1; pixel_y = 25 }, @@ -6012,7 +6012,7 @@ /turf/simulated/floor/tiled/eris/steel/brown_platform, /area/itglight/afthall) "Oi" = ( -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /obj/structure/curtain/black, /obj/structure/bed/padded, /obj/machinery/atmospherics/unary/vent_pump/on{ @@ -6297,7 +6297,7 @@ /turf/simulated/floor/airless, /area/itglight/starboardsolars) "PO" = ( -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /obj/structure/curtain/black, /obj/structure/bed/padded, /obj/machinery/alarm/angled/hidden{ @@ -6334,7 +6334,7 @@ }, /obj/machinery/power/apc/angled{ alarms_hidden = 1; - cell_type = /obj/item/weapon/cell/hyper; + cell_type = /obj/item/cell/hyper; dir = 1; pixel_y = 25 }, @@ -6446,7 +6446,7 @@ "QR" = ( /obj/structure/closet/secure_closet/personal, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/item/device/radio, +/obj/item/radio, /turf/simulated/floor/tiled/monotile, /area/itglight/lockers) "QW" = ( @@ -6467,12 +6467,12 @@ /area/itglight/medbay) "Ra" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/khcrystal, -/obj/item/weapon/storage/box/khcrystal, -/obj/item/weapon/storage/box/khcrystal, -/obj/item/weapon/storage/box/khcrystal, -/obj/item/weapon/storage/box/khcrystal, -/obj/item/device/sleevemate, +/obj/item/storage/box/khcrystal, +/obj/item/storage/box/khcrystal, +/obj/item/storage/box/khcrystal, +/obj/item/storage/box/khcrystal, +/obj/item/storage/box/khcrystal, +/obj/item/sleevemate, /turf/simulated/floor/tiled/eris/white/cargo, /area/itglight/medbay) "Rb" = ( @@ -6708,13 +6708,13 @@ dir = 8 }, /obj/machinery/recharger, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -25 }, /turf/simulated/floor/tiled/eris/steel/brown_platform, /area/itglight/common) "SL" = ( -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /obj/structure/curtain/black, /obj/structure/bed/padded, /turf/simulated/floor/tiled/dark, @@ -6746,7 +6746,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, -/obj/item/device/radio, +/obj/item/radio, /obj/machinery/alarm/angled/hidden{ dir = 8; pixel_x = 26 @@ -6783,7 +6783,7 @@ /turf/simulated/floor, /area/itglight/portengi) "Tm" = ( -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /obj/structure/curtain/black, /obj/structure/bed/padded, /obj/machinery/atmospherics/unary/vent_pump/on{ @@ -6962,13 +6962,13 @@ /area/itglight/portengi) "UY" = ( /obj/structure/table/glass, -/obj/item/device/sleevemate, -/obj/item/weapon/book/manual/resleeving, -/obj/item/weapon/storage/box/khcrystal, -/obj/item/weapon/storage/box/khcrystal, -/obj/item/weapon/storage/box/khcrystal, -/obj/item/weapon/storage/box/khcrystal, -/obj/item/weapon/storage/box/khcrystal, +/obj/item/sleevemate, +/obj/item/book/manual/resleeving, +/obj/item/storage/box/khcrystal, +/obj/item/storage/box/khcrystal, +/obj/item/storage/box/khcrystal, +/obj/item/storage/box/khcrystal, +/obj/item/storage/box/khcrystal, /turf/simulated/floor/tiled/eris/white/cargo, /area/itglight/medbay) "UZ" = ( @@ -6989,7 +6989,7 @@ "Ve" = ( /obj/structure/closet/secure_closet/personal, /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/item/device/radio, +/obj/item/radio, /turf/simulated/floor/tiled/monotile, /area/itglight/lockers) "Vi" = ( @@ -7024,7 +7024,7 @@ /turf/simulated/floor, /area/itglight/starboardengi) "Vt" = ( -/obj/item/weapon/stool/baystool/padded{ +/obj/item/stool/baystool/padded{ dir = 1 }, /turf/simulated/floor/tiled/eris/cafe, @@ -7097,13 +7097,13 @@ /area/itglight/afthall) "VK" = ( /obj/structure/table/standard, -/obj/item/weapon/bikehorn/rubberducky, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/bikehorn/rubberducky, +/obj/item/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, /turf/simulated/floor/tiled/white, /area/itglight/showers) "VM" = ( @@ -7165,9 +7165,9 @@ /area/itglight/starboardsolars) "Wh" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/dropper, -/obj/item/weapon/storage/box/beakers, +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/dropper, +/obj/item/storage/box/beakers, /obj/item/stack/material/phoron, /obj/item/stack/material/phoron, /obj/item/stack/material/phoron, @@ -7194,7 +7194,7 @@ /turf/simulated/floor/tiled/dark, /area/itglight/passengersleeping) "WC" = ( -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /obj/structure/curtain/black, /obj/structure/bed/padded, /obj/machinery/atmospherics/unary/vent_scrubber/on{ @@ -7226,7 +7226,7 @@ /obj/random/plushie, /obj/machinery/power/apc/angled{ alarms_hidden = 1; - cell_type = /obj/item/weapon/cell/hyper; + cell_type = /obj/item/cell/hyper; pixel_y = -25 }, /obj/structure/cable/pink, @@ -7241,7 +7241,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, -/obj/item/device/radio, +/obj/item/radio, /turf/simulated/floor/tiled/monotile, /area/itglight/lockers) "WP" = ( @@ -7314,7 +7314,7 @@ "Xl" = ( /obj/machinery/power/apc/angled{ alarms_hidden = 1; - cell_type = /obj/item/weapon/cell/hyper; + cell_type = /obj/item/cell/hyper; dir = 8; pixel_x = -25 }, @@ -7727,7 +7727,7 @@ /turf/simulated/floor/tiled/eris/cafe, /area/itglight/kitchen) "Zp" = ( -/obj/item/weapon/stool/baystool/padded{ +/obj/item/stool/baystool/padded{ dir = 8 }, /turf/simulated/floor/tiled/eris/cafe, @@ -7783,11 +7783,11 @@ pixel_x = -32; pixel_y = 27 }, -/obj/item/weapon/storage/bag/chemistry, +/obj/item/storage/bag/chemistry, /obj/item/clothing/under/rank/chemist, /obj/item/clothing/suit/storage/toggle/labcoat/chemist, -/obj/item/weapon/storage/box/pillbottles, -/obj/item/weapon/storage/box/beakers, +/obj/item/storage/box/pillbottles, +/obj/item/storage/box/beakers, /turf/simulated/floor/tiled/eris/white/cargo, /area/itglight/medbay) "ZL" = ( diff --git a/maps/offmap_vr/om_ships/lunaship.dm b/maps/offmap_vr/om_ships/lunaship.dm index 26ff0e54eb9..c5cd9428555 100644 --- a/maps/offmap_vr/om_ships/lunaship.dm +++ b/maps/offmap_vr/om_ships/lunaship.dm @@ -1,5 +1,5 @@ // Compile in the map for CI testing if we're testing compileability of all the maps -#if MAP_TEST +#ifdef MAP_TEST #include "lunaship.dmm" #endif @@ -7,7 +7,7 @@ /datum/map_template/om_ships/lunaship name = "OM Ship - LUNA" desc = "It's LUNA! As a spaceship." - mappath = 'lunaship.dmm' + mappath = "maps/offmap_vr/om_ships/lunaship.dmm" /area/lunaship requires_power = 1 @@ -97,4 +97,4 @@ vessel_size = SHIP_SIZE_SMALL initial_generic_waypoints = list("luna_near_fore_port", "luna_near_fore_star", "luna_near_aft_port", "luna_near_aft_star", "luna_near_fore", "luna_wing_port", "luna_wing_star", "luna_near_aft") fore_dir = NORTH - known = FALSE \ No newline at end of file + known = FALSE diff --git a/maps/offmap_vr/om_ships/lunaship.dmm b/maps/offmap_vr/om_ships/lunaship.dmm index 663215fbf00..c21ccbee426 100644 --- a/maps/offmap_vr/om_ships/lunaship.dmm +++ b/maps/offmap_vr/om_ships/lunaship.dmm @@ -20,11 +20,11 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, -/obj/item/device/perfect_tele/alien{ +/obj/item/perfect_tele/alien{ desc = "An enhanced device that allows one to teleport people and objects across large distances."; name = "advanced translocator" }, -/obj/item/weapon/card/id/event/polymorphic/altcard{ +/obj/item/card/id/event/polymorphic/altcard{ access = list(777) }, /obj/structure/table/hardwoodtable, @@ -689,11 +689,11 @@ /area/lunaship/medical) "kM" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/firstaid/adv, +/obj/item/storage/firstaid/adv, /obj/structure/closet/walllocker/medical/west, -/obj/item/weapon/storage/firstaid/fire, -/obj/item/weapon/storage/firstaid/o2, -/obj/item/weapon/storage/firstaid/toxin, +/obj/item/storage/firstaid/fire, +/obj/item/storage/firstaid/o2, +/obj/item/storage/firstaid/toxin, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, @@ -712,7 +712,7 @@ /turf/simulated/floor/reinforced/airless, /area/space) "kZ" = ( -/obj/item/device/radio/beacon, +/obj/item/radio/beacon, /turf/simulated/floor/tiled/milspec/raised{ name = "computer corium plating" }, @@ -805,9 +805,9 @@ dir = 4 }, /obj/structure/closet/walllocker_double/east, -/obj/item/device/lightreplacer, -/obj/item/weapon/storage/belt/utility/chief/full, -/obj/item/weapon/storage/belt/utility/chief/full{ +/obj/item/lightreplacer, +/obj/item/storage/belt/utility/chief/full, +/obj/item/storage/belt/utility/chief/full{ pixel_y = 5 }, /obj/item/clothing/gloves/yellow, @@ -1093,8 +1093,8 @@ dir = 4; pixel_x = -26 }, -/obj/item/weapon/implanter, -/obj/item/weapon/implant/organ/limbaugment/upperarm/blade, +/obj/item/implanter, +/obj/item/implant/organ/limbaugment/upperarm/blade, /obj/structure/table/hardwoodtable, /turf/simulated/floor/wood, /area/lunaship/office) @@ -1138,10 +1138,10 @@ dir = 6 }, /obj/structure/table/steel, -/obj/item/weapon/storage/toolbox/electrical{ +/obj/item/storage/toolbox/electrical{ pixel_y = 5 }, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/floor/tiled/milspec, /area/lunaship/robotics_bay) "qI" = ( @@ -1252,12 +1252,12 @@ dir = 1 }, /obj/structure/table/glass, -/obj/item/device/paicard/sleevecard, -/obj/item/device/paicard/sleevecard, -/obj/item/device/sleevemate{ +/obj/item/paicard/sleevecard, +/obj/item/paicard/sleevecard, +/obj/item/sleevemate{ pixel_y = -5 }, -/obj/item/device/sleevemate, +/obj/item/sleevemate, /obj/machinery/light{ dir = 8; icon_state = "tube1" @@ -1367,13 +1367,13 @@ /turf/simulated/floor/tiled/milspec, /area/lunaship/robotics_bay) "sZ" = ( -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /obj/effect/floor_decal/milspec_sterile/green/corner{ dir = 4 }, /obj/structure/closet/walllocker/medical/east, -/obj/item/weapon/soap/nanotrasen, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, +/obj/item/soap/nanotrasen, /obj/machinery/light, /turf/simulated/floor/tiled/milspec/sterile, /area/lunaship/medical) @@ -1632,9 +1632,9 @@ /area/lunaship/robotics_bay) "wK" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/firstaid/combat, -/obj/item/weapon/storage/firstaid/bonemed, -/obj/item/weapon/storage/firstaid/clotting, +/obj/item/storage/firstaid/combat, +/obj/item/storage/firstaid/bonemed, +/obj/item/storage/firstaid/clotting, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, @@ -1881,9 +1881,9 @@ /obj/item/clothing/gloves/sterile/nitrile, /obj/item/clothing/gloves/sterile/nitrile, /obj/item/clothing/gloves/sterile/nitrile, -/obj/item/weapon/storage/belt/medical, -/obj/item/weapon/storage/belt/medical, -/obj/item/weapon/storage/belt/medical, +/obj/item/storage/belt/medical, +/obj/item/storage/belt/medical, +/obj/item/storage/belt/medical, /turf/simulated/floor/tiled/milspec/sterile, /area/lunaship/medical) "zB" = ( @@ -2013,7 +2013,7 @@ /area/lunaship/hallway_port) "AS" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/bluedouble, +/obj/item/bedsheet/bluedouble, /turf/simulated/floor/wood, /area/lunaship/office) "AT" = ( @@ -2225,7 +2225,7 @@ /obj/structure/reagent_dispensers/acid{ pixel_x = 32 }, -/obj/item/weapon/reagent_containers/glass/beaker/sulphuric, +/obj/item/reagent_containers/glass/beaker/sulphuric, /turf/simulated/floor/tiled/milspec, /area/lunaship/robotics_bay) "EK" = ( @@ -2424,7 +2424,7 @@ /turf/simulated/floor/tiled/milspec, /area/lunaship/hallway_port) "HC" = ( -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /obj/structure/table/hardwoodtable, /turf/simulated/floor/wood, /area/lunaship/office) @@ -2456,8 +2456,8 @@ /obj/machinery/computer/ship/navigation/telescreen{ pixel_y = 23 }, -/obj/item/weapon/gun/energy/locked/frontier/carbine, -/obj/item/weapon/gun/energy/locked/frontier/unlocked, +/obj/item/gun/energy/locked/frontier/carbine, +/obj/item/gun/energy/locked/frontier/unlocked, /turf/simulated/floor/wood, /area/lunaship/office) "Ia" = ( @@ -2473,9 +2473,9 @@ /turf/simulated/floor/tiled/milspec, /area/lunaship/hallway_starboard) "Ih" = ( -/obj/item/device/defib_kit/jumper_kit, +/obj/item/defib_kit/jumper_kit, /obj/structure/table/steel, -/obj/item/weapon/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery, /obj/structure/closet/walllocker_double/east, /obj/effect/floor_decal/milspec/color/black/half{ dir = 6 @@ -2668,13 +2668,13 @@ light_color = "#00AAFF" }, /obj/structure/table/darkglass, -/obj/item/device/juke_remote, -/obj/item/device/juke_remote, -/obj/item/device/juke_remote, -/obj/item/device/juke_remote, -/obj/item/device/juke_remote, -/obj/item/device/juke_remote, -/obj/item/device/juke_remote, +/obj/item/juke_remote, +/obj/item/juke_remote, +/obj/item/juke_remote, +/obj/item/juke_remote, +/obj/item/juke_remote, +/obj/item/juke_remote, +/obj/item/juke_remote, /obj/structure/closet/walllocker_double/east, /turf/simulated/floor/tiled/eris/steel/bar_dance, /area/lunaship/bar) @@ -2790,18 +2790,18 @@ /area/lunaship/engineering) "NS" = ( /obj/structure/closet/walllocker_double/east, -/obj/item/device/nif/protean, -/obj/item/device/nif/protean, -/obj/item/device/nif/protean, +/obj/item/nif/protean, +/obj/item/nif/protean, +/obj/item/nif/protean, /obj/item/organ/internal/nano/orchestrator, /obj/item/organ/internal/nano/orchestrator, /obj/item/organ/internal/nano/orchestrator, /obj/item/organ/internal/nano/refactory, /obj/item/organ/internal/nano/refactory, /obj/item/organ/internal/nano/refactory, -/obj/item/device/mmi/digital/posibrain/nano, -/obj/item/device/mmi/digital/posibrain/nano, -/obj/item/device/mmi/digital/posibrain/nano, +/obj/item/mmi/digital/posibrain/nano, +/obj/item/mmi/digital/posibrain/nano, +/obj/item/mmi/digital/posibrain/nano, /turf/simulated/floor/wood, /area/lunaship/office) "Oa" = ( @@ -2838,57 +2838,57 @@ /area/lunaship/office) "OG" = ( /obj/structure/closet/wardrobe, -/obj/item/weapon/stock_parts/capacitor/omni, -/obj/item/weapon/stock_parts/capacitor/omni, -/obj/item/weapon/stock_parts/capacitor/omni, -/obj/item/weapon/stock_parts/capacitor/omni, -/obj/item/weapon/stock_parts/capacitor/omni, -/obj/item/weapon/stock_parts/manipulator/omni, -/obj/item/weapon/stock_parts/manipulator/omni, -/obj/item/weapon/stock_parts/manipulator/omni, -/obj/item/weapon/stock_parts/manipulator/omni, -/obj/item/weapon/stock_parts/manipulator/omni, -/obj/item/weapon/stock_parts/matter_bin/omni, -/obj/item/weapon/stock_parts/matter_bin/omni, -/obj/item/weapon/stock_parts/matter_bin/omni, -/obj/item/weapon/stock_parts/matter_bin/omni, -/obj/item/weapon/stock_parts/matter_bin/omni, -/obj/item/weapon/stock_parts/scanning_module/omni, -/obj/item/weapon/stock_parts/scanning_module/omni, -/obj/item/weapon/stock_parts/scanning_module/omni, -/obj/item/weapon/stock_parts/scanning_module/omni, -/obj/item/weapon/stock_parts/scanning_module/omni, -/obj/item/weapon/stock_parts/micro_laser/omni, -/obj/item/weapon/stock_parts/micro_laser/omni, -/obj/item/weapon/stock_parts/micro_laser/omni, -/obj/item/weapon/stock_parts/micro_laser/omni, -/obj/item/weapon/stock_parts/micro_laser/omni, -/obj/item/weapon/stock_parts/capacitor/omni, -/obj/item/weapon/stock_parts/capacitor/omni, -/obj/item/weapon/stock_parts/capacitor/omni, -/obj/item/weapon/stock_parts/capacitor/omni, -/obj/item/weapon/stock_parts/capacitor/omni, -/obj/item/weapon/stock_parts/manipulator/omni, -/obj/item/weapon/stock_parts/manipulator/omni, -/obj/item/weapon/stock_parts/manipulator/omni, -/obj/item/weapon/stock_parts/manipulator/omni, -/obj/item/weapon/stock_parts/manipulator/omni, -/obj/item/weapon/stock_parts/matter_bin/omni, -/obj/item/weapon/stock_parts/matter_bin/omni, -/obj/item/weapon/stock_parts/matter_bin/omni, -/obj/item/weapon/stock_parts/matter_bin/omni, -/obj/item/weapon/stock_parts/matter_bin/omni, -/obj/item/weapon/stock_parts/micro_laser/omni, -/obj/item/weapon/stock_parts/micro_laser/omni, -/obj/item/weapon/stock_parts/micro_laser/omni, -/obj/item/weapon/stock_parts/micro_laser/omni, -/obj/item/weapon/stock_parts/micro_laser/omni, -/obj/item/weapon/stock_parts/scanning_module/omni, -/obj/item/weapon/stock_parts/scanning_module/omni, -/obj/item/weapon/stock_parts/scanning_module/omni, -/obj/item/weapon/stock_parts/scanning_module/omni, -/obj/item/weapon/stock_parts/scanning_module/omni, -/obj/item/weapon/storage/part_replacer/adv/discount_bluespace, +/obj/item/stock_parts/capacitor/omni, +/obj/item/stock_parts/capacitor/omni, +/obj/item/stock_parts/capacitor/omni, +/obj/item/stock_parts/capacitor/omni, +/obj/item/stock_parts/capacitor/omni, +/obj/item/stock_parts/manipulator/omni, +/obj/item/stock_parts/manipulator/omni, +/obj/item/stock_parts/manipulator/omni, +/obj/item/stock_parts/manipulator/omni, +/obj/item/stock_parts/manipulator/omni, +/obj/item/stock_parts/matter_bin/omni, +/obj/item/stock_parts/matter_bin/omni, +/obj/item/stock_parts/matter_bin/omni, +/obj/item/stock_parts/matter_bin/omni, +/obj/item/stock_parts/matter_bin/omni, +/obj/item/stock_parts/scanning_module/omni, +/obj/item/stock_parts/scanning_module/omni, +/obj/item/stock_parts/scanning_module/omni, +/obj/item/stock_parts/scanning_module/omni, +/obj/item/stock_parts/scanning_module/omni, +/obj/item/stock_parts/micro_laser/omni, +/obj/item/stock_parts/micro_laser/omni, +/obj/item/stock_parts/micro_laser/omni, +/obj/item/stock_parts/micro_laser/omni, +/obj/item/stock_parts/micro_laser/omni, +/obj/item/stock_parts/capacitor/omni, +/obj/item/stock_parts/capacitor/omni, +/obj/item/stock_parts/capacitor/omni, +/obj/item/stock_parts/capacitor/omni, +/obj/item/stock_parts/capacitor/omni, +/obj/item/stock_parts/manipulator/omni, +/obj/item/stock_parts/manipulator/omni, +/obj/item/stock_parts/manipulator/omni, +/obj/item/stock_parts/manipulator/omni, +/obj/item/stock_parts/manipulator/omni, +/obj/item/stock_parts/matter_bin/omni, +/obj/item/stock_parts/matter_bin/omni, +/obj/item/stock_parts/matter_bin/omni, +/obj/item/stock_parts/matter_bin/omni, +/obj/item/stock_parts/matter_bin/omni, +/obj/item/stock_parts/micro_laser/omni, +/obj/item/stock_parts/micro_laser/omni, +/obj/item/stock_parts/micro_laser/omni, +/obj/item/stock_parts/micro_laser/omni, +/obj/item/stock_parts/micro_laser/omni, +/obj/item/stock_parts/scanning_module/omni, +/obj/item/stock_parts/scanning_module/omni, +/obj/item/stock_parts/scanning_module/omni, +/obj/item/stock_parts/scanning_module/omni, +/obj/item/stock_parts/scanning_module/omni, +/obj/item/storage/part_replacer/adv/discount_bluespace, /turf/simulated/floor/wood, /area/lunaship/office) "OH" = ( @@ -3258,32 +3258,32 @@ pixel_y = 5 }, /obj/structure/closet/walllocker_double/west, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/spoon{ +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/spoon{ pixel_x = 5 }, -/obj/item/weapon/material/kitchen/utensil/spoon{ +/obj/item/material/kitchen/utensil/spoon{ pixel_x = 5 }, -/obj/item/weapon/material/kitchen/utensil/spoon{ +/obj/item/material/kitchen/utensil/spoon{ pixel_x = 5 }, -/obj/item/weapon/material/kitchen/utensil/spoon{ +/obj/item/material/kitchen/utensil/spoon{ pixel_x = 5 }, -/obj/item/weapon/material/knife{ +/obj/item/material/knife{ pixel_x = -3 }, -/obj/item/weapon/material/knife{ +/obj/item/material/knife{ pixel_x = -3 }, -/obj/item/weapon/material/knife{ +/obj/item/material/knife{ pixel_x = -3 }, -/obj/item/weapon/material/knife{ +/obj/item/material/knife{ pixel_x = -3 }, /obj/machinery/disposal/wall{ @@ -3304,10 +3304,10 @@ /area/lunaship/park) "UK" = ( /obj/structure/table/glass, -/obj/item/device/healthanalyzer/advanced{ +/obj/item/healthanalyzer/advanced{ pixel_x = -5 }, -/obj/item/device/healthanalyzer/advanced{ +/obj/item/healthanalyzer/advanced{ pixel_x = -5; pixel_y = -5 }, @@ -3734,11 +3734,11 @@ dir = 6 }, /obj/structure/closet/walllocker_double/east, -/obj/item/device/radio/beacon, -/obj/item/device/radio/beacon, -/obj/item/device/radio/beacon, -/obj/item/device/multitool, -/obj/item/device/multitool, +/obj/item/radio/beacon, +/obj/item/radio/beacon, +/obj/item/radio/beacon, +/obj/item/multitool, +/obj/item/multitool, /obj/structure/table/darkglass, /turf/simulated/floor/tiled/milspec/raised{ name = "computer corium plating" diff --git a/maps/offmap_vr/om_ships/mackerel_hc.dmm b/maps/offmap_vr/om_ships/mackerel_hc.dmm index b6ac45ce8f8..7a9aa92b3d1 100644 --- a/maps/offmap_vr/om_ships/mackerel_hc.dmm +++ b/maps/offmap_vr/om_ships/mackerel_hc.dmm @@ -326,14 +326,14 @@ /area/shuttle/mackerel_hc) "we" = ( /obj/structure/closet/crate/engineering, -/obj/item/weapon/storage/toolbox/mechanical, -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/mechanical, +/obj/item/storage/toolbox/electrical, /turf/simulated/floor/tiled/techfloor, /area/shuttle/mackerel_hc) "wv" = ( /obj/structure/closet/crate/engineering/electrical, -/obj/item/weapon/tank/phoron, -/obj/item/weapon/tank/phoron, +/obj/item/tank/phoron, +/obj/item/tank/phoron, /turf/simulated/floor/tiled/techfloor, /area/shuttle/mackerel_hc) "wF" = ( diff --git a/maps/offmap_vr/om_ships/mackerel_hc_skel.dmm b/maps/offmap_vr/om_ships/mackerel_hc_skel.dmm index bed6a058f6d..f45a3c710a6 100644 --- a/maps/offmap_vr/om_ships/mackerel_hc_skel.dmm +++ b/maps/offmap_vr/om_ships/mackerel_hc_skel.dmm @@ -452,8 +452,8 @@ /area/shuttle/mackerel_hc_skel_cockpit) "we" = ( /obj/structure/closet/crate/engineering, -/obj/item/weapon/storage/toolbox/mechanical, -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/mechanical, +/obj/item/storage/toolbox/electrical, /turf/simulated/floor/tiled/techfloor, /area/shuttle/mackerel_hc_skel_eng) "wF" = ( @@ -583,8 +583,8 @@ /obj/structure/fuel_port{ pixel_y = -26 }, -/obj/item/weapon/tank/phoron, -/obj/item/weapon/tank/phoron, +/obj/item/tank/phoron, +/obj/item/tank/phoron, /obj/structure/closet/crate/engineering, /turf/simulated/floor/tiled/techfloor, /area/shuttle/mackerel_hc_skel_eng) diff --git a/maps/offmap_vr/om_ships/mackerel_lc.dmm b/maps/offmap_vr/om_ships/mackerel_lc.dmm index 0b4124d9904..8ba38fef0ec 100644 --- a/maps/offmap_vr/om_ships/mackerel_lc.dmm +++ b/maps/offmap_vr/om_ships/mackerel_lc.dmm @@ -212,8 +212,8 @@ /area/shuttle/mackerel_lc) "nD" = ( /obj/structure/closet/crate/engineering/electrical, -/obj/item/weapon/tank/phoron, -/obj/item/weapon/tank/phoron, +/obj/item/tank/phoron, +/obj/item/tank/phoron, /turf/simulated/floor/tiled/techfloor, /area/shuttle/mackerel_lc) "oe" = ( @@ -319,8 +319,8 @@ /area/shuttle/mackerel_lc) "ue" = ( /obj/structure/closet/crate/engineering, -/obj/item/weapon/storage/toolbox/mechanical, -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/mechanical, +/obj/item/storage/toolbox/electrical, /turf/simulated/floor/tiled/techfloor, /area/shuttle/mackerel_lc) "ug" = ( diff --git a/maps/offmap_vr/om_ships/mackerel_lc_wreck.dmm b/maps/offmap_vr/om_ships/mackerel_lc_wreck.dmm index 3376a5100b9..45922c0e19c 100644 --- a/maps/offmap_vr/om_ships/mackerel_lc_wreck.dmm +++ b/maps/offmap_vr/om_ships/mackerel_lc_wreck.dmm @@ -22,7 +22,7 @@ /obj/structure/window/reinforced{ dir = 1 }, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/airless, /area/shuttle/mackerel_lc_wreck) "bw" = ( @@ -69,13 +69,13 @@ /area/shuttle/mackerel_lc_wreck) "cv" = ( /obj/machinery/computer/shuttle_control/explore/mackerel_lc_wreck, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/tiled/techmaint/airless, /area/shuttle/mackerel_lc_wreck) "cD" = ( /obj/effect/floor_decal/industrial/warning, -/obj/item/weapon/material/shard/shrapnel, -/obj/item/weapon/material/shard/shrapnel, +/obj/item/material/shard/shrapnel, +/obj/item/material/shard/shrapnel, /turf/simulated/floor/tiled/techmaint/airless, /area/shuttle/mackerel_lc_wreck) "dG" = ( @@ -93,8 +93,8 @@ /obj/structure/bed/chair/bay/shuttle{ dir = 1 }, -/obj/item/weapon/material/shard, -/obj/item/weapon/material/shard/shrapnel, +/obj/item/material/shard, +/obj/item/material/shard/shrapnel, /turf/simulated/floor/tiled/techmaint/airless, /area/shuttle/mackerel_lc_wreck) "ju" = ( @@ -134,7 +134,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/closet/walllocker/emerglocker/west, /obj/effect/floor_decal/industrial/warning/corner, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /obj/machinery/light/flicker, /turf/simulated/floor/tiled/techmaint/airless, /area/shuttle/mackerel_lc_wreck) @@ -161,8 +161,8 @@ /obj/effect/floor_decal/industrial/warning/corner{ dir = 8 }, -/obj/item/weapon/tank/oxygen, -/obj/item/weapon/material/shard, +/obj/item/tank/oxygen, +/obj/item/material/shard, /obj/machinery/light, /turf/simulated/floor/tiled/techmaint/airless, /area/shuttle/mackerel_lc_wreck) @@ -203,7 +203,7 @@ /area/shuttle/mackerel_lc_wreck) "nD" = ( /obj/structure/closet/crate/engineering/electrical, -/obj/item/weapon/tank/phoron, +/obj/item/tank/phoron, /turf/simulated/floor/tiled/techfloor, /area/shuttle/mackerel_lc_wreck) "oe" = ( @@ -285,8 +285,8 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/material/shard, -/obj/item/weapon/material/shard, +/obj/item/material/shard, +/obj/item/material/shard, /turf/simulated/floor/airless, /area/shuttle/mackerel_lc_wreck) "sg" = ( @@ -331,9 +331,9 @@ /area/shuttle/mackerel_lc_wreck) "ue" = ( /obj/structure/closet/crate/engineering, -/obj/item/weapon/storage/toolbox/mechanical, -/obj/item/weapon/storage/toolbox/electrical, -/obj/item/weapon/module/power_control, +/obj/item/storage/toolbox/mechanical, +/obj/item/storage/toolbox/electrical, +/obj/item/module/power_control, /turf/simulated/floor/tiled/techfloor, /area/shuttle/mackerel_lc_wreck) "ug" = ( @@ -436,7 +436,7 @@ /turf/simulated/floor/tiled/techmaint, /area/shuttle/mackerel_lc_wreck) "BB" = ( -/obj/item/weapon/material/shard/shrapnel, +/obj/item/material/shard/shrapnel, /turf/template_noop, /area/template_noop) "BN" = ( @@ -666,7 +666,7 @@ /area/shuttle/mackerel_lc_wreck) "Ly" = ( /obj/machinery/atmospherics/unary/vent_pump/on, -/obj/item/weapon/material/shard/shrapnel, +/obj/item/material/shard/shrapnel, /turf/simulated/floor/tiled/techmaint/airless, /area/shuttle/mackerel_lc_wreck) "LU" = ( @@ -808,7 +808,7 @@ /turf/simulated/floor/tiled/techfloor, /area/shuttle/mackerel_lc_wreck) "TC" = ( -/obj/item/weapon/material/shard/shrapnel, +/obj/item/material/shard/shrapnel, /turf/template_noop, /area/shuttle/mackerel_lc_wreck) "UY" = ( @@ -873,7 +873,7 @@ /area/shuttle/mackerel_lc_wreck) "WN" = ( /obj/structure/grille/broken, -/obj/item/weapon/material/shard/shrapnel, +/obj/item/material/shard/shrapnel, /turf/template_noop, /area/shuttle/mackerel_lc_wreck) "WP" = ( diff --git a/maps/offmap_vr/om_ships/mackerel_sh.dmm b/maps/offmap_vr/om_ships/mackerel_sh.dmm index 5bf3e2df896..50eb5335bfb 100644 --- a/maps/offmap_vr/om_ships/mackerel_sh.dmm +++ b/maps/offmap_vr/om_ships/mackerel_sh.dmm @@ -215,8 +215,8 @@ /area/shuttle/mackerel_sh) "nD" = ( /obj/structure/closet/crate/engineering/electrical, -/obj/item/weapon/tank/phoron, -/obj/item/weapon/tank/phoron, +/obj/item/tank/phoron, +/obj/item/tank/phoron, /turf/simulated/floor/tiled/techfloor, /area/shuttle/mackerel_sh) "oe" = ( @@ -329,8 +329,8 @@ /area/shuttle/mackerel_sh) "ue" = ( /obj/structure/closet/crate/engineering, -/obj/item/weapon/storage/toolbox/mechanical, -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/mechanical, +/obj/item/storage/toolbox/electrical, /turf/simulated/floor/tiled/techfloor, /area/shuttle/mackerel_sh) "ug" = ( diff --git a/maps/offmap_vr/om_ships/mackerels.dm b/maps/offmap_vr/om_ships/mackerels.dm index 22309b8163d..28f0a2076b4 100644 --- a/maps/offmap_vr/om_ships/mackerels.dm +++ b/maps/offmap_vr/om_ships/mackerels.dm @@ -1,5 +1,5 @@ // Compile in the map for CI testing if we're testing compileability of all the maps -#if MAP_TEST +#ifdef MAP_TEST #include "mackerel_sh.dmm" #include "mackerel_lc.dmm" #include "mackerel_lc_wreck.dmm" @@ -11,31 +11,31 @@ /datum/map_template/om_ships/mackerel_stationhopper name = "OM Ship - Mackerel Stationhopper (new Z)" desc = "A small personnel transport shuttle." - mappath = 'mackerel_sh.dmm' + mappath = "maps/offmap_vr/om_ships/mackerel_sh.dmm" annihilate = TRUE /datum/map_template/om_ships/mackerel_lightcargo name = "OM Ship - Mackerel Light Cargo (new Z)" desc = "A small light cargo transport shuttle." - mappath = 'mackerel_lc.dmm' + mappath = "maps/offmap_vr/om_ships/mackerel_lc.dmm" annihilate = TRUE /datum/map_template/om_ships/mackerel_heavycargo name = "OM Ship - Mackerel Heavy Cargo (new Z)" desc = "A small secure cargo transport shuttle." - mappath = 'mackerel_hc.dmm' + mappath = "maps/offmap_vr/om_ships/mackerel_hc.dmm" annihilate = TRUE /datum/map_template/om_ships/mackerel_heavycargo_skel name = "OM Ship - Mackerel Heavy Cargo Spartanized (new Z)" desc = "A small heavy cargo transport shuttle." - mappath = 'mackerel_hc_skel.dmm' + mappath = "maps/offmap_vr/om_ships/mackerel_hc_skel.dmm" annihilate = TRUE /datum/map_template/om_ships/mackerel_lightcargo_wreck name = "OM Ship - Mackerel Light Cargo Wreck (new Z)" desc = "A small light cargo transport shuttle, struck by... something. Ouch." - mappath = 'mackerel_lc_wreck.dmm' + mappath = "maps/offmap_vr/om_ships/mackerel_lc_wreck.dmm" annihilate = TRUE // The shuttle's area(s) diff --git a/maps/offmap_vr/om_ships/mercenarybase.dm b/maps/offmap_vr/om_ships/mercenarybase.dm index 4db51b0b4e5..772a4c6c808 100644 --- a/maps/offmap_vr/om_ships/mercenarybase.dm +++ b/maps/offmap_vr/om_ships/mercenarybase.dm @@ -1,5 +1,5 @@ // Compile in the map for CI testing if we're testing compileability of all the maps -#if MAP_TEST +#ifdef MAP_TEST #include "mercenarybase.dmm" #endif @@ -44,4 +44,4 @@ /area/mercbase/dock name = "\improper Mercenary Base Boat Dock" /area/mercbase/cafeteria - name = "\improper Mercenary Base Boat Cafeteria" \ No newline at end of file + name = "\improper Mercenary Base Boat Cafeteria" diff --git a/maps/offmap_vr/om_ships/mercenarybase.dmm b/maps/offmap_vr/om_ships/mercenarybase.dmm index 42b6a45289a..0513b4daf1f 100644 --- a/maps/offmap_vr/om_ships/mercenarybase.dmm +++ b/maps/offmap_vr/om_ships/mercenarybase.dmm @@ -1048,11 +1048,11 @@ /obj/item/clothing/glasses/sunglasses/aviator, /obj/item/clothing/accessory/permit/gun, /obj/item/clothing/accessory/holster/leg, -/obj/item/device/flashlight/maglight, -/obj/item/device/flash, -/obj/item/device/gps/syndie, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/backpack/dufflebag/syndie, +/obj/item/flashlight/maglight, +/obj/item/flash, +/obj/item/gps/syndie, +/obj/item/storage/belt/security/tactical, +/obj/item/storage/backpack/dufflebag/syndie, /obj/item/clothing/accessory/storage/black_vest, /obj/item/clothing/accessory/storage/black_drop_pouches, /turf/simulated/floor/tiled/dark, @@ -1274,11 +1274,11 @@ /obj/item/clothing/glasses/sunglasses/aviator, /obj/item/clothing/accessory/permit/gun, /obj/item/clothing/accessory/holster/leg, -/obj/item/device/flashlight/maglight, -/obj/item/device/flash, -/obj/item/device/gps/syndie, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/backpack/dufflebag/syndie, +/obj/item/flashlight/maglight, +/obj/item/flash, +/obj/item/gps/syndie, +/obj/item/storage/belt/security/tactical, +/obj/item/storage/backpack/dufflebag/syndie, /obj/item/clothing/accessory/storage/black_vest, /obj/item/clothing/accessory/storage/black_drop_pouches, /turf/simulated/floor/tiled/dark, @@ -2374,11 +2374,11 @@ /obj/item/clothing/glasses/sunglasses/aviator, /obj/item/clothing/accessory/permit/gun, /obj/item/clothing/accessory/holster/leg, -/obj/item/device/flashlight/maglight, -/obj/item/device/flash, -/obj/item/device/gps/syndie, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/backpack/dufflebag/syndie, +/obj/item/flashlight/maglight, +/obj/item/flash, +/obj/item/gps/syndie, +/obj/item/storage/belt/security/tactical, +/obj/item/storage/backpack/dufflebag/syndie, /obj/item/clothing/accessory/storage/black_vest, /obj/item/clothing/accessory/storage/black_drop_pouches, /turf/simulated/floor/tiled/dark, @@ -2588,7 +2588,7 @@ /obj/machinery/power/terminal, /obj/structure/cable, /obj/structure/table/reinforced, -/obj/item/device/healthanalyzer/advanced, +/obj/item/healthanalyzer/advanced, /turf/simulated/floor/tiled/dark, /area/mercbase/medical) "lD" = ( @@ -2689,9 +2689,9 @@ /area/mercbase/eqroom) "lO" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/combat, -/obj/item/weapon/storage/firstaid/combat, -/obj/item/weapon/storage/firstaid/combat, +/obj/item/storage/firstaid/combat, +/obj/item/storage/firstaid/combat, +/obj/item/storage/firstaid/combat, /turf/simulated/floor/tiled/dark, /area/mercbase/medical) "lP" = ( @@ -2721,8 +2721,8 @@ /obj/item/clothing/accessory/armor/armguards/merc, /obj/item/clothing/accessory/armor/legguards/merc, /obj/item/clothing/head/helmet/merc, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/grenade/flashbang, +/obj/item/gun/energy/gun, +/obj/item/grenade/flashbang, /turf/simulated/floor/tiled/dark, /area/mercbase/eqroom) "lR" = ( @@ -2764,8 +2764,8 @@ /obj/item/clothing/accessory/armor/armguards/merc, /obj/item/clothing/accessory/armor/legguards/merc, /obj/item/clothing/head/helmet/merc, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/grenade/flashbang, +/obj/item/gun/energy/gun, +/obj/item/grenade/flashbang, /turf/simulated/floor/tiled/dark, /area/mercbase/eqroom) "lT" = ( @@ -2777,7 +2777,7 @@ /area/mercbase/eqroom) "lU" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/toolbox/syndicate, +/obj/item/storage/toolbox/syndicate, /turf/simulated/floor/tiled/dark, /area/mercbase/engineering) "lV" = ( @@ -2822,7 +2822,7 @@ /area/mercbase/barracks) "ma" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery, /turf/simulated/floor/tiled/dark, /area/mercbase/medicalOR) "mb" = ( @@ -3481,7 +3481,7 @@ /area/mercbase/roid) "nS" = ( /obj/structure/table/standard, -/obj/item/weapon/soap/syndie, +/obj/item/soap/syndie, /turf/simulated/floor/tiled/dark, /area/mercbase/roid) "nT" = ( @@ -3614,8 +3614,8 @@ /obj/item/clothing/accessory/armor/armguards/merc, /obj/item/clothing/accessory/armor/legguards/merc, /obj/item/clothing/head/helmet/merc, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/grenade/flashbang, +/obj/item/gun/energy/gun, +/obj/item/grenade/flashbang, /turf/simulated/floor/tiled/dark, /area/mercbase/eqroom) "oo" = ( @@ -3630,12 +3630,12 @@ /turf/simulated/floor/tiled/dark, /area/mercbase/medicalstorage) "oq" = ( -/obj/item/weapon/gun/projectile/automatic/bullpup, -/obj/item/weapon/gun/projectile/automatic/bullpup, -/obj/item/weapon/gun/projectile/automatic/bullpup, -/obj/item/weapon/gun/projectile/automatic/p90, -/obj/item/weapon/gun/projectile/automatic/p90, -/obj/item/weapon/gun/projectile/automatic/p90, +/obj/item/gun/projectile/automatic/bullpup, +/obj/item/gun/projectile/automatic/bullpup, +/obj/item/gun/projectile/automatic/bullpup, +/obj/item/gun/projectile/automatic/p90, +/obj/item/gun/projectile/automatic/p90, +/obj/item/gun/projectile/automatic/p90, /obj/structure/closet/secure_closet/guncabinet{ req_one_access = list(150) }, @@ -3655,22 +3655,22 @@ /obj/item/clothing/accessory/armor/armguards/merc, /obj/item/clothing/accessory/armor/legguards/merc, /obj/item/clothing/head/helmet/merc, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/grenade/flashbang, +/obj/item/gun/energy/gun, +/obj/item/grenade/flashbang, /turf/simulated/floor/tiled/dark, /area/mercbase/eqroom) "os" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical, /turf/simulated/floor/tiled/dark, /area/mercbase/engineering) "ot" = ( -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, +/obj/item/gun/energy/laser, +/obj/item/gun/energy/laser, +/obj/item/gun/energy/laser, +/obj/item/gun/energy/laser, +/obj/item/gun/energy/laser, +/obj/item/gun/energy/laser, /obj/structure/closet/secure_closet/guncabinet{ req_one_access = list(150) }, @@ -3681,7 +3681,7 @@ /obj/structure/closet/hydrant{ pixel_w = -32 }, -/obj/item/weapon/storage/toolbox/syndicate, +/obj/item/storage/toolbox/syndicate, /turf/simulated/floor/tiled/dark, /area/mercbase/engineering) "ov" = ( @@ -3690,11 +3690,11 @@ /area/mercbase/medicalOR) "ow" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/firstaid/clotting, -/obj/item/weapon/storage/firstaid/clotting, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/clotting, +/obj/item/storage/firstaid/clotting, /turf/simulated/floor/tiled/dark, /area/mercbase/medicalstorage) "ox" = ( diff --git a/maps/offmap_vr/om_ships/mercship.dm b/maps/offmap_vr/om_ships/mercship.dm index 8e035c26118..9b96af5d137 100644 --- a/maps/offmap_vr/om_ships/mercship.dm +++ b/maps/offmap_vr/om_ships/mercship.dm @@ -1,5 +1,5 @@ // Compile in the map for CI testing if we're testing compileability of all the maps -#if MAP_TEST +#ifdef MAP_TEST #include "mercship.dmm" #endif @@ -8,7 +8,7 @@ /datum/map_template/om_ships/syndicatecarrier name = "OM Ship - Generic Cruiser (New Z)" desc = "Mercenary Ship." - mappath = 'mercship.dmm' + mappath = "maps/offmap_vr/om_ships/mercship.dmm" // The ship's area(s) /area/ship/mercenary @@ -105,4 +105,4 @@ docking_controller_tag = "mercboat_docker" shuttle_area = /area/shuttle/mercboat fuel_consumption = 0 - defer_initialisation = TRUE \ No newline at end of file + defer_initialisation = TRUE diff --git a/maps/offmap_vr/om_ships/mercship.dmm b/maps/offmap_vr/om_ships/mercship.dmm index 11d041f6087..7b9653df4bd 100644 --- a/maps/offmap_vr/om_ships/mercship.dmm +++ b/maps/offmap_vr/om_ships/mercship.dmm @@ -421,10 +421,10 @@ /obj/effect/floor_decal/borderfloorblack{ dir = 1 }, -/obj/item/device/flashlight/maglight, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/backpack/dufflebag/syndie, -/obj/item/weapon/gun/projectile/silenced, +/obj/item/flashlight/maglight, +/obj/item/storage/belt/security/tactical, +/obj/item/storage/backpack/dufflebag/syndie, +/obj/item/gun/projectile/silenced, /turf/simulated/floor/tiled/dark, /area/ship/mercenary/barracks) "aT" = ( @@ -745,7 +745,7 @@ /obj/effect/floor_decal/borderfloorblack{ dir = 9 }, -/obj/item/weapon/storage/toolbox/syndicate, +/obj/item/storage/toolbox/syndicate, /turf/simulated/floor/tiled/dark, /area/ship/mercenary/med1) "bB" = ( @@ -842,10 +842,10 @@ /obj/effect/floor_decal/borderfloorblack{ dir = 1 }, -/obj/item/device/flashlight/maglight, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/backpack/dufflebag/syndie, -/obj/item/weapon/gun/projectile/silenced, +/obj/item/flashlight/maglight, +/obj/item/storage/belt/security/tactical, +/obj/item/storage/backpack/dufflebag/syndie, +/obj/item/gun/projectile/silenced, /turf/simulated/floor/tiled/dark, /area/ship/mercenary/barracks) "bJ" = ( @@ -941,10 +941,10 @@ /obj/effect/floor_decal/borderfloorblack{ dir = 5 }, -/obj/item/device/flashlight/maglight, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/backpack/dufflebag/syndie, -/obj/item/weapon/gun/projectile/silenced, +/obj/item/flashlight/maglight, +/obj/item/storage/belt/security/tactical, +/obj/item/storage/backpack/dufflebag/syndie, +/obj/item/gun/projectile/silenced, /turf/simulated/floor/tiled/dark, /area/ship/mercenary/barracks) "bR" = ( @@ -1023,7 +1023,7 @@ /obj/effect/floor_decal/borderfloorblack{ dir = 1 }, -/obj/item/weapon/storage/secure/briefcase, +/obj/item/storage/secure/briefcase, /obj/machinery/alarm{ pixel_y = 30 }, @@ -1118,9 +1118,9 @@ /obj/effect/floor_decal/borderfloorblack{ dir = 1 }, -/obj/item/weapon/storage/belt/utility, -/obj/item/weapon/storage/belt/utility, -/obj/item/weapon/storage/belt/utility, +/obj/item/storage/belt/utility, +/obj/item/storage/belt/utility, +/obj/item/storage/belt/utility, /turf/simulated/floor/tiled/dark, /area/ship/mercenary/med1) "cf" = ( @@ -1412,7 +1412,7 @@ /obj/effect/floor_decal/borderfloorblack{ dir = 5 }, -/obj/item/weapon/storage/secure/briefcase, +/obj/item/storage/secure/briefcase, /turf/simulated/floor/tiled/dark, /area/ship/mercenary/med1) "cE" = ( @@ -1425,7 +1425,7 @@ /obj/effect/floor_decal/borderfloorblack{ dir = 8 }, -/obj/item/weapon/storage/toolbox/syndicate, +/obj/item/storage/toolbox/syndicate, /turf/simulated/floor/tiled/dark, /area/ship/mercenary/med1) "cF" = ( @@ -2554,9 +2554,9 @@ /obj/effect/floor_decal/borderfloorblack{ dir = 5 }, -/obj/item/weapon/storage/firstaid/combat, -/obj/item/weapon/storage/firstaid/combat, -/obj/item/weapon/storage/firstaid/combat, +/obj/item/storage/firstaid/combat, +/obj/item/storage/firstaid/combat, +/obj/item/storage/firstaid/combat, /turf/simulated/floor/tiled/white, /area/ship/mercenary/armoury) "eH" = ( @@ -2598,7 +2598,7 @@ /obj/effect/floor_decal/borderfloorblack{ dir = 4 }, -/obj/item/weapon/storage/secure/briefcase, +/obj/item/storage/secure/briefcase, /turf/simulated/floor/tiled/dark, /area/ship/mercenary/med1) "eL" = ( @@ -2841,8 +2841,8 @@ /obj/effect/floor_decal/borderfloorblack{ dir = 8 }, -/obj/item/weapon/storage/belt/medical, -/obj/item/weapon/storage/belt/medical, +/obj/item/storage/belt/medical, +/obj/item/storage/belt/medical, /turf/simulated/floor/tiled/white, /area/ship/mercenary/fighter) "fc" = ( @@ -3835,7 +3835,7 @@ /obj/effect/floor_decal/borderfloorblack{ dir = 10 }, -/obj/item/weapon/storage/toolbox/syndicate, +/obj/item/storage/toolbox/syndicate, /turf/simulated/floor/tiled/dark, /area/ship/mercenary/med1) "gL" = ( @@ -4114,7 +4114,7 @@ /obj/effect/floor_decal/borderfloorblack{ dir = 4 }, -/obj/item/weapon/storage/box/freezer, +/obj/item/storage/box/freezer, /turf/simulated/floor/tiled/white, /area/ship/mercenary/fighter) "hk" = ( @@ -4332,7 +4332,7 @@ /obj/effect/floor_decal/borderfloorblack{ dir = 6 }, -/obj/item/weapon/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery, /turf/simulated/floor/tiled/white, /area/ship/mercenary/fighter) "hH" = ( @@ -4340,7 +4340,7 @@ /obj/effect/floor_decal/borderfloorblack{ dir = 10 }, -/obj/item/weapon/storage/box/bodybags, +/obj/item/storage/box/bodybags, /turf/simulated/floor/tiled/white, /area/ship/mercenary/fighter) "hI" = ( diff --git a/maps/offmap_vr/om_ships/salamander.dm b/maps/offmap_vr/om_ships/salamander.dm index 21a68ca5e66..b55061c27d3 100644 --- a/maps/offmap_vr/om_ships/salamander.dm +++ b/maps/offmap_vr/om_ships/salamander.dm @@ -1,5 +1,5 @@ // Compile in the map for CI testing if we're testing compileability of all the maps -#if MAP_TEST +#ifdef MAP_TEST #include "salamander.dmm" #endif @@ -7,14 +7,14 @@ /datum/map_template/om_ships/salamander name = "OM Ship - Salamander Corvette" desc = "A medium multirole spacecraft." - mappath = 'salamander.dmm' + mappath = "maps/offmap_vr/om_ships/salamander.dmm" annihilate = TRUE // Map template for spawning the shuttle /datum/map_template/om_ships/salamander_wreck name = "OM Ship - Salamander Corvette Wreckage" desc = "A medium multirole spacecraft, or at least what's left of it." - mappath = 'salamander_wreck.dmm' + mappath = "maps/offmap_vr/om_ships/salamander_wreck.dmm" annihilate = TRUE // The shuttle's area(s) @@ -189,7 +189,7 @@ shuttle = "Salamander Wreckage" known = FALSE -/obj/item/weapon/paper/unity_notice +/obj/item/paper/unity_notice name = "hastily-scrawled missive" info = {"The writing on this scrap of paper is barely legible. Whoever wrote it was clearly in a hurry.
      \
      \ @@ -207,4 +207,4 @@ stay safe out there and always double check who you sign with
      \
      \ rest of the cargo is covered by insurance anyway, so help yourself/ves i guess
      \
      \ --M"} \ No newline at end of file +-M"} diff --git a/maps/offmap_vr/om_ships/salamander.dmm b/maps/offmap_vr/om_ships/salamander.dmm index a90d410ccf2..2db4c7fff4b 100644 --- a/maps/offmap_vr/om_ships/salamander.dmm +++ b/maps/offmap_vr/om_ships/salamander.dmm @@ -321,7 +321,7 @@ /area/shuttle/salamander_engineering) "fu" = ( /obj/structure/bed/pod, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /obj/machinery/light_switch{ dir = 4; pixel_x = 22 @@ -388,8 +388,8 @@ /turf/simulated/floor/tiled/techmaint, /area/shuttle/salamander) "fZ" = ( -/obj/item/device/suit_cooling_unit, -/obj/item/weapon/tank/air, +/obj/item/suit_cooling_unit, +/obj/item/tank/air, /obj/item/clothing/suit/space/void/refurb, /obj/item/clothing/head/helmet/space/void/refurb, /obj/structure/handrail, @@ -877,14 +877,14 @@ /obj/structure/railing/grey{ dir = 8 }, -/obj/item/weapon/tank/phoron/pressurized, -/obj/item/weapon/tank/phoron/pressurized, +/obj/item/tank/phoron/pressurized, +/obj/item/tank/phoron/pressurized, /obj/structure/closet/walllocker{ dir = 1; name = "Spare Fuel"; pixel_y = -32 }, -/obj/item/weapon/tool/crowbar/red, +/obj/item/tool/crowbar/red, /obj/item/stack/material/tritium{ amount = 25 }, @@ -1035,8 +1035,8 @@ /area/shuttle/salamander) "oi" = ( /obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/storage/box/donkpockets, -/obj/item/weapon/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, /obj/random/snack, /obj/random/snack, /obj/random/snack, @@ -1062,7 +1062,7 @@ /area/shuttle/salamander_cockpit) "oF" = ( /obj/structure/bed/pod, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /obj/machinery/light_switch{ dir = 4; pixel_x = 22 @@ -1553,8 +1553,8 @@ /turf/simulated/floor/plating, /area/shuttle/salamander_cockpit) "IL" = ( -/obj/item/device/suit_cooling_unit, -/obj/item/weapon/tank/air, +/obj/item/suit_cooling_unit, +/obj/item/tank/air, /obj/item/clothing/suit/space/void/refurb, /obj/item/clothing/head/helmet/space/void/refurb, /obj/structure/handrail{ @@ -1800,7 +1800,7 @@ /area/shuttle/salamander_q1) "Rm" = ( /obj/structure/bed/pod, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /obj/machinery/alarm/alarms_hidden{ dir = 8; pixel_x = 26 @@ -1810,7 +1810,7 @@ /area/shuttle/salamander_q1) "RO" = ( /obj/structure/bed/pod, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /obj/machinery/alarm/alarms_hidden{ dir = 8; pixel_x = 26 @@ -1875,8 +1875,8 @@ /turf/simulated/wall/shull, /area/shuttle/salamander_head) "Tl" = ( -/obj/item/device/suit_cooling_unit, -/obj/item/weapon/tank/air, +/obj/item/suit_cooling_unit, +/obj/item/tank/air, /obj/item/clothing/suit/space/void/refurb, /obj/item/clothing/head/helmet/space/void/refurb, /obj/structure/railing/grey{ @@ -1999,8 +1999,8 @@ /turf/simulated/floor/plating, /area/shuttle/salamander) "Xc" = ( -/obj/item/device/suit_cooling_unit, -/obj/item/weapon/tank/air, +/obj/item/suit_cooling_unit, +/obj/item/tank/air, /obj/item/clothing/suit/space/void/refurb, /obj/item/clothing/head/helmet/space/void/refurb, /obj/structure/railing/grey{ diff --git a/maps/offmap_vr/om_ships/salamander_wreck.dmm b/maps/offmap_vr/om_ships/salamander_wreck.dmm index 304059ed837..ef15ffdf54f 100644 --- a/maps/offmap_vr/om_ships/salamander_wreck.dmm +++ b/maps/offmap_vr/om_ships/salamander_wreck.dmm @@ -514,7 +514,7 @@ /obj/machinery/light{ dir = 1 }, -/obj/item/weapon/circuitboard/smes, +/obj/item/circuitboard/smes, /obj/structure/closet/walllocker_double/north{ name = "Uniform Locker" }, @@ -910,7 +910,7 @@ name = "Spare Fuel"; pixel_y = -32 }, -/obj/item/weapon/tool/crowbar/red, +/obj/item/tool/crowbar/red, /obj/machinery/light, /turf/simulated/floor/tiled/techfloor{ nitrogen = 0; @@ -965,7 +965,7 @@ dir = 1 }, /obj/random/empty_or_lootable_crate, -/obj/item/weapon/smes_coil, +/obj/item/smes_coil, /obj/structure/closet/walllocker_double/south{ name = "Storage Locker" }, @@ -1048,8 +1048,8 @@ /area/shuttle/salamander_wreck) "oi" = ( /obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/storage/box/donkpockets, -/obj/item/weapon/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, /obj/random/snack, /obj/random/snack, /obj/random/snack, @@ -1078,7 +1078,7 @@ /area/shuttle/salamander_wreck_cockpit) "oF" = ( /obj/structure/bed/pod, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /obj/machinery/light_switch{ dir = 4; pixel_x = 22 @@ -1318,7 +1318,7 @@ /area/shuttle/salamander_wreck_galley) "vt" = ( /obj/structure/bed/pod, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /obj/machinery/alarm/alarms_hidden{ dir = 8; pixel_x = 26 @@ -1355,7 +1355,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/item/weapon/tank/phoron/pressurized, +/obj/item/tank/phoron/pressurized, /obj/structure/closet/walllocker_double/south{ name = "Uniform Locker" }, @@ -1415,7 +1415,7 @@ /area/shuttle/salamander_wreck_engineering) "AK" = ( /obj/structure/bed/pod, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /obj/machinery/light_switch{ dir = 4; pixel_x = 22 @@ -1830,7 +1830,7 @@ }, /obj/structure/handrail, /obj/random/empty_or_lootable_crate, -/obj/item/weapon/smes_coil, +/obj/item/smes_coil, /obj/structure/closet/walllocker_double/north{ name = "Storage Locker" }, @@ -1841,7 +1841,7 @@ /area/shuttle/salamander_wreck) "RO" = ( /obj/structure/bed/pod, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /obj/machinery/alarm/alarms_hidden{ dir = 8; pixel_x = 26 @@ -1886,7 +1886,7 @@ "Sp" = ( /obj/structure/table/steel, /obj/machinery/light, -/obj/item/weapon/paper/unity_notice, +/obj/item/paper/unity_notice, /turf/simulated/floor/tiled/techfloor{ nitrogen = 0; oxygen = 0 @@ -1908,7 +1908,7 @@ /obj/machinery/light/flicker{ dir = 1 }, -/obj/item/weapon/smes_coil, +/obj/item/smes_coil, /turf/simulated/floor/tiled/techfloor{ nitrogen = 0; oxygen = 0 diff --git a/maps/offmap_vr/om_ships/screebarge.dm b/maps/offmap_vr/om_ships/screebarge.dm index 08d43902690..dcc665e66fb 100644 --- a/maps/offmap_vr/om_ships/screebarge.dm +++ b/maps/offmap_vr/om_ships/screebarge.dm @@ -1,5 +1,5 @@ // Compile in the map for CI testing if we're testing compileability of all the maps -#if MAP_TEST +#ifdef MAP_TEST #include "screebarge.dmm" #endif @@ -7,7 +7,7 @@ /datum/map_template/om_ships/screebarge name = "OM Ship - Battle Barge" desc = "The BATTLE BARGE." - mappath = 'screebarge.dmm' + mappath = "maps/offmap_vr/om_ships/screebarge.dmm" annihilate = TRUE // The shuttle's area(s) @@ -50,4 +50,4 @@ desc = "Some sort of makeshift battle barge. Appears to be armed." vessel_mass = 3000 vessel_size = SHIP_SIZE_SMALL - shuttle = "Battle Barge" \ No newline at end of file + shuttle = "Battle Barge" diff --git a/maps/offmap_vr/om_ships/screebarge.dmm b/maps/offmap_vr/om_ships/screebarge.dmm index 21e85fded39..c729c128b1f 100644 --- a/maps/offmap_vr/om_ships/screebarge.dmm +++ b/maps/offmap_vr/om_ships/screebarge.dmm @@ -396,11 +396,11 @@ /area/shuttle/screebarge/mid) "bc" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = -2; pixel_y = -2 }, diff --git a/maps/offmap_vr/om_ships/sdf_corvette.dmm b/maps/offmap_vr/om_ships/sdf_corvette.dmm index 1ac822457be..744f6803ecd 100644 --- a/maps/offmap_vr/om_ships/sdf_corvette.dmm +++ b/maps/offmap_vr/om_ships/sdf_corvette.dmm @@ -8,7 +8,7 @@ /obj/structure/closet/walllocker_double/emergency_engi/north, /obj/fiftyspawner/steel/hull, /obj/fiftyspawner/rglass, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/floor/tiled/techfloor, /area/shuttle/sdf_corvette) "bn" = ( @@ -63,7 +63,7 @@ dir = 4 }, /obj/effect/map_helper/airlock/atmos/chamber_pump, -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical, /obj/structure/closet/walllocker_double/emergency_engi/north, /obj/machinery/button/remote/airlock{ dir = 4; @@ -675,11 +675,11 @@ /obj/effect/floor_decal/industrial/warning/corner{ dir = 4 }, -/obj/item/weapon/storage/firstaid{ +/obj/item/storage/firstaid{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ pixel_x = -2; pixel_y = -2 }, diff --git a/maps/offmap_vr/om_ships/sdf_corvette_wreck.dmm b/maps/offmap_vr/om_ships/sdf_corvette_wreck.dmm index bbc9b83fc93..abac085b9a4 100644 --- a/maps/offmap_vr/om_ships/sdf_corvette_wreck.dmm +++ b/maps/offmap_vr/om_ships/sdf_corvette_wreck.dmm @@ -8,7 +8,7 @@ /obj/structure/closet/walllocker_double/emergency_engi/north, /obj/fiftyspawner/steel/hull, /obj/fiftyspawner/rglass, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/floor/tiled/techfloor{ nitrogen = 0; oxygen = 0 @@ -30,7 +30,7 @@ dir = 10 }, /obj/item/trash/material/circuit, -/obj/item/weapon/material/shard/shrapnel, +/obj/item/material/shard/shrapnel, /turf/simulated/floor/tiled/techfloor{ nitrogen = 0; oxygen = 0 @@ -50,7 +50,7 @@ /obj/machinery/airlock_sensor/airlock_interior{ pixel_y = -24 }, -/obj/item/weapon/material/shard/shrapnel, +/obj/item/material/shard/shrapnel, /turf/simulated/floor/tiled/techfloor{ nitrogen = 0; oxygen = 0 @@ -79,7 +79,7 @@ dir = 4 }, /obj/effect/map_helper/airlock/atmos/chamber_pump, -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical, /obj/structure/closet/walllocker_double/emergency_engi/north, /obj/machinery/button/remote/airlock{ dir = 4; @@ -102,7 +102,7 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 8 }, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/tiled/techfloor{ nitrogen = 0; oxygen = 0 @@ -116,7 +116,7 @@ id = "sdfc_wreck_cockpitshutters"; name = "Blast Shield" }, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/airless, /area/shuttle/sdf_corvette_wreck) "eT" = ( @@ -200,7 +200,7 @@ icon_state = "2-4" }, /obj/machinery/atmospherics/unary/vent_scrubber, -/obj/item/weapon/gun/energy/gun/compact{ +/obj/item/gun/energy/gun/compact{ random_start_ammo = 1 }, /turf/simulated/floor/tiled/techfloor{ @@ -213,7 +213,7 @@ dir = 8 }, /obj/effect/map_helper/airlock/atmos/chamber_pump, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /obj/machinery/light{ dir = 1 }, @@ -236,7 +236,7 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 8 }, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/tiled/techfloor{ nitrogen = 0; oxygen = 0 @@ -318,8 +318,8 @@ dir = 1; pixel_y = -26 }, -/obj/item/weapon/material/shard/shrapnel, -/obj/item/weapon/material/shard, +/obj/item/material/shard/shrapnel, +/obj/item/material/shard, /turf/simulated/floor/tiled/techfloor{ nitrogen = 0; oxygen = 0 @@ -342,7 +342,7 @@ pixel_x = 26 }, /obj/effect/decal/cleanable/blood, -/obj/item/weapon/material/shard/shrapnel, +/obj/item/material/shard/shrapnel, /turf/simulated/floor/tiled/techfloor{ nitrogen = 0; oxygen = 0 @@ -413,7 +413,7 @@ dir = 4 }, /obj/effect/map_helper/airlock/atmos/pump_out_internal, -/obj/item/weapon/material/shard/shrapnel, +/obj/item/material/shard/shrapnel, /turf/simulated/floor/tiled/techfloor{ nitrogen = 0; oxygen = 0 @@ -425,7 +425,7 @@ d2 = 8; icon_state = "4-8" }, -/obj/item/weapon/material/shard/shrapnel, +/obj/item/material/shard/shrapnel, /turf/simulated/floor/tiled/techfloor{ nitrogen = 0; oxygen = 0 @@ -477,7 +477,7 @@ icon_state = "1-2" }, /obj/effect/landmark/corpse/vintage/marine, -/obj/item/weapon/gun/energy/laser/old{ +/obj/item/gun/energy/laser/old{ random_start_ammo = 1 }, /turf/simulated/floor/tiled/techfloor{ @@ -569,7 +569,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/effect/decal/cleanable/blood, -/obj/item/weapon/gun/energy/laser/old{ +/obj/item/gun/energy/laser/old{ random_start_ammo = 1 }, /turf/simulated/floor/tiled/techfloor{ @@ -597,7 +597,7 @@ dir = 1; pixel_y = -28 }, -/obj/item/device/gps/on{ +/obj/item/gps/on{ gps_tag = "SDF Beacon" }, /obj/machinery/light, @@ -635,7 +635,7 @@ name = "Blast Shields Control"; pixel_y = 24 }, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/tiled/techfloor{ nitrogen = 0; oxygen = 0 @@ -659,8 +659,8 @@ /obj/effect/floor_decal/industrial/warning{ dir = 4 }, -/obj/item/weapon/material/shard/shrapnel, -/obj/item/weapon/material/shard/shrapnel, +/obj/item/material/shard/shrapnel, +/obj/item/material/shard/shrapnel, /turf/simulated/floor/airless, /area/shuttle/sdf_corvette_wreck) "EN" = ( @@ -672,7 +672,7 @@ pixel_y = 21 }, /obj/effect/map_helper/airlock/sensor/chamber_sensor, -/obj/item/weapon/gun/energy/gun/compact{ +/obj/item/gun/energy/gun/compact{ random_start_ammo = 1 }, /turf/simulated/floor/tiled/techfloor{ @@ -696,7 +696,7 @@ /turf/simulated/wall/rshull, /area/shuttle/sdf_corvette_wreck) "Gc" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/template_noop, /area/space) "Hb" = ( @@ -763,8 +763,8 @@ dir = 1; pixel_y = -28 }, -/obj/item/weapon/material/shard/shrapnel, -/obj/item/weapon/gun/energy/laser/old{ +/obj/item/material/shard/shrapnel, +/obj/item/gun/energy/laser/old{ random_start_ammo = 1 }, /turf/simulated/floor/tiled/techfloor{ @@ -804,7 +804,7 @@ /turf/template_noop, /area/space) "Lj" = ( -/obj/item/weapon/material/shard/shrapnel, +/obj/item/material/shard/shrapnel, /turf/template_noop, /area/space) "Ly" = ( @@ -831,11 +831,11 @@ /obj/effect/floor_decal/industrial/warning/corner{ dir = 4 }, -/obj/item/weapon/storage/firstaid{ +/obj/item/storage/firstaid{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ pixel_x = -2; pixel_y = -2 }, @@ -874,7 +874,7 @@ icon_state = "2-8" }, /obj/structure/closet/walllocker/emerglocker/north, -/obj/item/weapon/material/shard/shrapnel, +/obj/item/material/shard/shrapnel, /obj/machinery/light{ dir = 1 }, @@ -942,7 +942,7 @@ /area/shuttle/sdf_corvette_wreck) "Rb" = ( /obj/machinery/computer/shuttle_control/explore/sdf_corvette_wreck, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/tiled/techfloor{ nitrogen = 0; oxygen = 0 @@ -966,7 +966,7 @@ d2 = 8; icon_state = "0-8" }, -/obj/item/weapon/material/shard/shrapnel, +/obj/item/material/shard/shrapnel, /obj/item/frame/apc, /turf/simulated/floor/tiled/techfloor{ nitrogen = 0; @@ -979,7 +979,7 @@ }, /obj/effect/floor_decal/industrial/hatch/yellow, /obj/structure/closet/walllocker/emerglocker/south, -/obj/item/weapon/gun/energy/laser/old{ +/obj/item/gun/energy/laser/old{ random_start_ammo = 1 }, /turf/simulated/floor/tiled/techfloor{ @@ -1052,7 +1052,7 @@ pixel_x = -30 }, /obj/structure/lattice, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/template_noop, /area/shuttle/sdf_corvette_wreck) diff --git a/maps/offmap_vr/om_ships/sdf_corvettes.dm b/maps/offmap_vr/om_ships/sdf_corvettes.dm index dad30351670..7050f59a302 100644 --- a/maps/offmap_vr/om_ships/sdf_corvettes.dm +++ b/maps/offmap_vr/om_ships/sdf_corvettes.dm @@ -1,5 +1,5 @@ // Compile in the map for CI testing if we're testing compileability of all the maps -#if MAP_TEST +#ifdef MAP_TEST #include "sdf_corvette.dmm" #include "sdf_corvette_wreck.dmm" #include "sdf_cutter.dmm" @@ -9,19 +9,19 @@ /datum/map_template/om_ships/sdf_corvette name = "OM Ship - SDF Corvette (new Z)" desc = "A small SDF patrol corvette." - mappath = 'sdf_corvette.dmm' + mappath = "maps/offmap_vr/om_ships/sdf_corvette.dmm" annihilate = TRUE /datum/map_template/om_ships/sdf_corvette_wreck name = "OM Ship - SDF Corvette Wreck (new Z)" desc = "A small SD patrol corvette. It seems to have had a bad day." - mappath = 'sdf_corvette_wreck.dmm' + mappath = "maps/offmap_vr/om_ships/sdf_corvette_wreck.dmm" annihilate = TRUE /datum/map_template/om_ships/sdf_corvette name = "OM Ship - SDF Cutter (new Z)" desc = "A small SDF cutter, outfitted with an ORB/OFD." - mappath = 'sdf_cutter.dmm' + mappath = "maps/offmap_vr/om_ships/sdf_cutter.dmm" annihilate = TRUE // The shuttle's area(s) diff --git a/maps/offmap_vr/om_ships/shelter_5.dm b/maps/offmap_vr/om_ships/shelter_5.dm index e23a6814c1b..b25c9e7b283 100644 --- a/maps/offmap_vr/om_ships/shelter_5.dm +++ b/maps/offmap_vr/om_ships/shelter_5.dm @@ -1,5 +1,5 @@ // Compile in the map for CI testing if we're testing compileability of all the maps -#if MAP_TEST +#ifdef MAP_TEST #include "shelter_5.dmm" #endif @@ -7,7 +7,7 @@ /datum/map_template/om_ships/escapepod name = "OM Ship - Escape Pod" desc = "An escape pod." - mappath = 'shelter_5.dmm' + mappath = "maps/offmap_vr/om_ships/shelter_5.dmm" annihilate = TRUE // The shuttle's area(s) diff --git a/maps/offmap_vr/om_ships/shelter_5.dmm b/maps/offmap_vr/om_ships/shelter_5.dmm index 7055a4dee35..9aa78944201 100644 --- a/maps/offmap_vr/om_ships/shelter_5.dmm +++ b/maps/offmap_vr/om_ships/shelter_5.dmm @@ -26,35 +26,35 @@ /area/shuttle/deployable/escapepod) "e" = ( /obj/machinery/smartfridge/survival_pod, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu13, -/obj/item/device/fbp_backup_cell, -/obj/item/device/fbp_backup_cell, -/obj/item/device/fbp_backup_cell, -/obj/item/device/fbp_backup_cell, -/obj/item/device/fbp_backup_cell, -/obj/item/weapon/storage/pill_bottle/dice, -/obj/item/weapon/storage/firstaid/fire, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/o2, -/obj/item/weapon/storage/firstaid/adv, -/obj/item/weapon/storage/box/survival/space, -/obj/item/weapon/storage/box/survival/space, -/obj/item/weapon/storage/box/survival/space, -/obj/item/weapon/storage/box/survival/space, -/obj/item/device/gps, -/obj/item/weapon/tank/emergency/oxygen/engi, -/obj/item/weapon/tank/emergency/oxygen/engi, -/obj/item/weapon/tank/emergency/oxygen/engi, -/obj/item/weapon/tank/emergency/oxygen/engi, -/obj/item/weapon/storage/toolbox/emergency, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu13, +/obj/item/fbp_backup_cell, +/obj/item/fbp_backup_cell, +/obj/item/fbp_backup_cell, +/obj/item/fbp_backup_cell, +/obj/item/fbp_backup_cell, +/obj/item/storage/pill_bottle/dice, +/obj/item/storage/firstaid/fire, +/obj/item/storage/firstaid/toxin, +/obj/item/storage/firstaid/o2, +/obj/item/storage/firstaid/adv, +/obj/item/storage/box/survival/space, +/obj/item/storage/box/survival/space, +/obj/item/storage/box/survival/space, +/obj/item/storage/box/survival/space, +/obj/item/gps, +/obj/item/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, +/obj/item/storage/toolbox/emergency, /obj/effect/floor_decal/techfloor{ dir = 1 }, diff --git a/maps/offmap_vr/om_ships/shelter_6.dm b/maps/offmap_vr/om_ships/shelter_6.dm deleted file mode 100644 index 40ff4cdaebb..00000000000 --- a/maps/offmap_vr/om_ships/shelter_6.dm +++ /dev/null @@ -1,52 +0,0 @@ -// Compile in the map for CI testing if we're testing compileability of all the maps -#if MAP_TEST -#include "shelter_6.dmm" -#endif - -// Map template for spawning the shuttle -/datum/map_template/om_ships/tabiranth - name = "OM Ship - Tabiranth" - desc = "A prototype deployable assault shuttle." - mappath = 'shelter_6.dmm' - annihilate = TRUE - -// The shuttle's area(s) -/area/shuttle/tabiranth - name = "\improper Tabiranth" - icon_state = "blue-red2" - flags = RAD_SHIELDED | BLUE_SHIELDED - requires_power = 1 - -// The shuttle's 'shuttle' computer -/obj/machinery/computer/shuttle_control/explore/tabiranth - name = "short jump console" - shuttle_tag = "NDV Tabiranth" - req_one_access = list(access_cent_general) - -// A shuttle lateloader landmark -/obj/effect/shuttle_landmark/shuttle_initializer/tabiranth - name = "Origin - Tabiranth" - base_area = /area/space - base_turf = /turf/space - landmark_tag = "omship_spawn_tabiranth" - shuttle_type = /datum/shuttle/autodock/overmap/tabiranth - -// The 'shuttle' -/datum/shuttle/autodock/overmap/tabiranth - name = "NDV Tabiranth" - current_location = "omship_spawn_tabiranth" - docking_controller_tag = "tabiranth_docker" - shuttle_area = /area/shuttle/tabiranth - fuel_consumption = 0 - defer_initialisation = TRUE //We're not loaded until an admin does it - -// The 'ship' -/obj/effect/overmap/visitable/ship/landable/tabiranth - name = "Experimental Dropship" - scanner_desc = @{"[i]Registration[/i]: UNKNOWN -[i]Class[/i]: Assault Dropship -[i]Transponder[/i]: Transmitting (MIL), NanoTrasen -[b]Notice[/b]: Experimental vessel"} - vessel_mass = 3000 - vessel_size = SHIP_SIZE_SMALL - shuttle = "NDV Tabiranth" diff --git a/maps/offmap_vr/om_ships/shelter_6.dmm b/maps/offmap_vr/om_ships/shelter_6.dmm deleted file mode 100644 index a1d0fe56338..00000000000 --- a/maps/offmap_vr/om_ships/shelter_6.dmm +++ /dev/null @@ -1,2095 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"aa" = ( -/obj/machinery/porta_turret/industrial/military, -/turf/simulated/floor/reinforced/airless{ - name = "outer hull" - }, -/area/shuttle/tabiranth) -"ab" = ( -/obj/machinery/power/pointdefense{ - id_tag = "tabiranth_pd" - }, -/turf/simulated/floor/reinforced/airless{ - name = "outer hull" - }, -/area/shuttle/tabiranth) -"ac" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - hard_corner = 1; - icon_state = "void-hc"; - name = "small craft wall hc"; - stripe_color = "#45b3d8" - }, -/area/shuttle/tabiranth) -"ad" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/shuttle/tabiranth) -"ae" = ( -/obj/machinery/smartfridge/survival_pod, -/obj/item/clothing/suit/armor/vest/ert/command, -/obj/item/clothing/head/helmet/ert/command, -/obj/item/clothing/suit/armor/vest/ert/engineer, -/obj/item/clothing/suit/armor/vest/ert/engineer, -/obj/item/clothing/head/helmet/ert/engineer, -/obj/item/clothing/head/helmet/ert/engineer, -/obj/item/clothing/suit/armor/vest/ert/medical, -/obj/item/clothing/suit/armor/vest/ert/medical, -/obj/item/clothing/head/helmet/ert/medical, -/obj/item/clothing/head/helmet/ert/medical, -/obj/item/clothing/suit/armor/vest/ert/security, -/obj/item/clothing/suit/armor/vest/ert/security, -/obj/item/clothing/suit/armor/vest/ert/security, -/obj/item/clothing/suit/armor/vest/ert/security, -/obj/item/clothing/head/helmet/ert/security, -/obj/item/clothing/head/helmet/ert/security, -/obj/item/clothing/head/helmet/ert/security, -/obj/item/clothing/head/helmet/ert/security, -/obj/item/clothing/suit/armor/pcarrier/merc, -/obj/item/clothing/suit/armor/pcarrier/merc, -/obj/item/clothing/suit/armor/pcarrier/merc, -/obj/item/clothing/suit/armor/pcarrier/merc, -/obj/item/clothing/head/helmet/merc, -/obj/item/clothing/head/helmet/merc, -/obj/item/clothing/head/helmet/merc, -/obj/item/clothing/head/helmet/merc, -/obj/item/clothing/suit/armor/pcarrier/blue/sol, -/obj/item/clothing/suit/armor/pcarrier/blue/sol, -/obj/item/clothing/suit/armor/pcarrier/blue/sol, -/obj/item/clothing/suit/armor/pcarrier/blue/sol, -/obj/item/clothing/head/helmet/solgov, -/obj/item/clothing/head/helmet/solgov, -/obj/item/clothing/head/helmet/solgov, -/obj/item/clothing/head/helmet/solgov, -/obj/item/clothing/accessory/storage/pouches/large/blue, -/obj/item/clothing/accessory/storage/pouches/large/blue, -/obj/item/clothing/accessory/storage/pouches/large/blue, -/obj/item/clothing/accessory/storage/pouches/large/blue, -/obj/item/weapon/storage/box/syndie_kit/combat_armor, -/obj/item/weapon/storage/box/syndie_kit/combat_armor, -/obj/item/weapon/storage/box/syndie_kit/combat_armor, -/obj/item/weapon/storage/box/syndie_kit/combat_armor, -/obj/item/clothing/accessory/holster/machete, -/obj/item/clothing/accessory/holster/machete, -/obj/item/clothing/accessory/holster/machete, -/obj/item/clothing/accessory/holster/machete, -/obj/item/weapon/material/knife/machete, -/obj/item/weapon/material/knife/machete, -/obj/item/weapon/material/knife/machete, -/obj/item/weapon/material/knife/machete, -/obj/item/clothing/accessory/storage/bluespace, -/obj/item/clothing/accessory/storage/bluespace, -/obj/item/clothing/accessory/storage/bluespace, -/obj/item/clothing/accessory/storage/bluespace, -/obj/item/clothing/accessory/storage/bluespace, -/obj/item/clothing/accessory/storage/bluespace, -/obj/item/weapon/melee/energy/sword, -/obj/item/weapon/melee/energy/sword, -/obj/item/weapon/melee/energy/sword, -/obj/item/weapon/melee/energy/sword, -/obj/item/weapon/melee/energy/sword, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/rig/ert, -/obj/item/weapon/rig/ert/engineer, -/obj/item/weapon/rig/ert/engineer, -/obj/item/weapon/rig/ert/medical, -/obj/item/weapon/rig/ert/medical, -/obj/item/weapon/rig/ert/security, -/obj/item/weapon/rig/ert/security, -/obj/item/weapon/rig/ert/security, -/obj/item/weapon/rig/ert/security, -/obj/item/rig_module/vision/multi, -/obj/item/rig_module/device/drill, -/obj/item/rig_module/device/drill, -/obj/item/rig_module/device/plasmacutter, -/obj/item/rig_module/device/plasmacutter, -/obj/item/rig_module/device/orescanner, -/obj/item/rig_module/device/orescanner, -/obj/item/rig_module/rescue_pharm, -/obj/item/rig_module/rescue_pharm, -/obj/item/rig_module/chem_dispenser/injector, -/obj/item/rig_module/chem_dispenser/injector, -/obj/item/rig_module/chem_dispenser/combat, -/obj/item/rig_module/chem_dispenser/combat, -/obj/item/rig_module/device/healthscanner, -/obj/item/rig_module/device/healthscanner, -/obj/item/rig_module/sprinter, -/obj/item/rig_module/sprinter, -/obj/item/rig_module/sprinter, -/obj/item/rig_module/sprinter, -/obj/item/rig_module/device/anomaly_scanner, -/obj/item/rig_module/device/anomaly_scanner, -/obj/item/rig_module/device/rcd, -/obj/item/rig_module/device/rcd, -/obj/item/rig_module/mounted/egun, -/obj/item/rig_module/mounted/egun, -/obj/item/rig_module/mounted/egun, -/obj/item/rig_module/mounted/egun, -/obj/item/rig_module/mounted, -/obj/item/rig_module/mounted, -/obj/item/rig_module/grenade_launcher/smoke, -/obj/item/rig_module/cleaner_launcher, -/obj/item/rig_module/grenade_launcher, -/obj/item/weapon/storage/box/handcuffs, -/obj/item/weapon/storage/box/handcuffs, -/obj/item/weapon/storage/box/holobadge, -/obj/item/weapon/storage/box/holowarrants, -/obj/item/weapon/storage/box/flare, -/obj/item/weapon/storage/box/flare, -/obj/item/weapon/storage/box/flare, -/obj/item/weapon/storage/box/flare, -/obj/item/weapon/storage/box/metalfoam, -/obj/item/weapon/storage/box/metalfoam, -/obj/item/weapon/storage/box/metalfoam, -/obj/item/weapon/storage/box/metalfoam, -/obj/item/clothing/shoes/magboots/adv, -/obj/item/clothing/shoes/magboots/adv, -/obj/item/clothing/shoes/magboots/adv, -/obj/item/clothing/shoes/magboots/adv, -/obj/item/clothing/shoes/magboots/adv, -/obj/item/clothing/shoes/magboots/adv, -/obj/item/weapon/tank/oxygen, -/obj/item/weapon/tank/oxygen, -/obj/item/weapon/tank/oxygen, -/obj/item/weapon/tank/oxygen, -/obj/item/weapon/tank/oxygen, -/obj/item/weapon/tank/oxygen, -/obj/item/weapon/tank/oxygen, -/obj/item/weapon/tank/oxygen, -/obj/item/weapon/tank/oxygen, -/obj/item/weapon/tank/oxygen, -/obj/item/weapon/tank/vox, -/obj/item/weapon/tank/vox, -/obj/item/weapon/tank/vox, -/obj/item/weapon/tank/vox, -/obj/item/weapon/tank/jetpack/oxygen, -/obj/item/weapon/tank/jetpack/oxygen, -/obj/item/weapon/tank/jetpack/oxygen, -/obj/item/weapon/tank/jetpack/oxygen, -/obj/item/weapon/tank/jetpack/oxygen, -/obj/item/weapon/tank/jetpack/oxygen, -/obj/item/clothing/suit/space/void/pilot, -/obj/item/clothing/suit/space/void/pilot, -/obj/item/clothing/head/helmet/space/void/pilot, -/obj/item/clothing/head/helmet/space/void/pilot, -/obj/item/weapon/storage/briefcase/inflatable, -/obj/item/weapon/storage/briefcase/inflatable, -/obj/item/weapon/storage/briefcase/inflatable, -/obj/item/weapon/storage/briefcase/inflatable, -/obj/item/weapon/storage/briefcase/inflatable, -/obj/item/weapon/storage/briefcase/inflatable, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/clothing/suit/space/void/responseteam/command, -/obj/item/clothing/suit/space/void/responseteam/engineer, -/obj/item/clothing/suit/space/void/responseteam/engineer, -/obj/item/clothing/suit/space/void/responseteam/medical, -/obj/item/clothing/suit/space/void/responseteam/medical, -/obj/item/clothing/suit/space/void/responseteam/security, -/obj/item/clothing/suit/space/void/responseteam/security, -/obj/item/clothing/suit/space/void/responseteam/security, -/obj/item/clothing/suit/space/void/responseteam/security, -/obj/item/weapon/grenade/spawnergrenade/casino/fighter/baron, -/obj/item/weapon/grenade/spawnergrenade/casino/fighter/baron, -/obj/item/weapon/grenade/spawnergrenade/casino/fighter/baron, -/obj/item/weapon/grenade/spawnergrenade/casino/fighter/baron, -/turf/simulated/floor/reinforced, -/area/shuttle/tabiranth) -"af" = ( -/obj/machinery/portable_atmospherics/powered/scrubber/huge/stationary{ - desc = "A large machine releasing a constant gust of air."; - icon = 'icons/obj/survival_pod.dmi'; - icon_state = "fans"; - name = "enviornmental regulation system" - }, -/turf/simulated/floor/reinforced, -/area/shuttle/tabiranth) -"ag" = ( -/obj/machinery/smartfridge/survival_pod, -/obj/item/weapon/gun/energy/sniperrifle, -/obj/item/weapon/gun/energy/sniperrifle, -/obj/item/weapon/gun/energy/gun/burst, -/obj/item/weapon/gun/energy/gun/burst, -/obj/item/weapon/gun/energy/xray, -/obj/item/weapon/gun/energy/xray, -/obj/item/weapon/gun/energy/netgun, -/obj/item/weapon/gun/energy/ionrifle, -/obj/item/weapon/gun/energy/ionrifle, -/obj/item/weapon/gun/energy/ionrifle/pistol, -/obj/item/weapon/gun/energy/ionrifle/pistol, -/obj/item/weapon/storage/secure/briefcase/nsfw_pack_hybrid_combat, -/obj/item/weapon/storage/secure/briefcase/nsfw_pack_hybrid, -/obj/item/weapon/gun/launcher/grenade, -/obj/item/weapon/gun/launcher/grenade, -/obj/item/weapon/storage/box/flashbangs, -/obj/item/weapon/storage/box/flashbangs, -/obj/item/weapon/storage/box/smokes, -/obj/item/weapon/storage/box/smokes, -/obj/item/weapon/storage/box/empslite, -/obj/item/weapon/storage/box/empslite, -/obj/item/weapon/storage/box/teargas, -/obj/item/weapon/storage/box/teargas, -/obj/item/weapon/storage/box/frags, -/obj/item/weapon/storage/box/frags, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun/nuclear, -/obj/item/weapon/gun/energy/gun/nuclear, -/obj/item/weapon/gun/energy/gun/nuclear, -/obj/item/weapon/gun/energy/gun/nuclear, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/projectile/automatic/p90, -/obj/item/weapon/gun/projectile/automatic/p90, -/obj/item/ammo_magazine/m9mmp90, -/obj/item/ammo_magazine/m9mmp90, -/obj/item/ammo_magazine/m9mmp90, -/obj/item/ammo_magazine/m9mmp90, -/obj/item/ammo_magazine/m9mmp90, -/obj/item/ammo_magazine/m9mmp90, -/obj/item/ammo_magazine/m9mmp90, -/obj/item/ammo_magazine/m9mmp90, -/obj/item/ammo_magazine/m9mmt/flash, -/obj/item/ammo_magazine/m9mmt/flash, -/obj/item/ammo_magazine/m9mmt/flash, -/obj/item/ammo_magazine/m9mmt/flash, -/obj/item/ammo_magazine/m9mmt/rubber, -/obj/item/ammo_magazine/m9mmt/rubber, -/obj/item/ammo_magazine/m9mmt/rubber, -/obj/item/ammo_magazine/m9mmt/rubber, -/obj/item/weapon/gun/projectile/automatic/sts35, -/obj/item/weapon/gun/projectile/automatic/sts35, -/obj/item/weapon/gun/projectile/automatic/sts35, -/obj/item/weapon/gun/projectile/automatic/sts35, -/obj/item/ammo_magazine/m545/ap, -/obj/item/ammo_magazine/m545/ap, -/obj/item/ammo_magazine/m545/ap, -/obj/item/ammo_magazine/m545/ap, -/obj/item/ammo_magazine/m545/ap, -/obj/item/ammo_magazine/m545/ap, -/obj/item/ammo_magazine/m545/ap, -/obj/item/ammo_magazine/m545/ap, -/obj/item/ammo_magazine/m545/ap, -/obj/item/ammo_magazine/m545/ap, -/obj/item/ammo_magazine/m545/ap, -/obj/item/ammo_magazine/m545/ap, -/obj/item/ammo_magazine/m545, -/obj/item/ammo_magazine/m545, -/obj/item/ammo_magazine/m545, -/obj/item/ammo_magazine/m545, -/obj/item/ammo_magazine/m545, -/obj/item/ammo_magazine/m545, -/obj/item/ammo_magazine/m545, -/obj/item/ammo_magazine/m545, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, -/obj/item/ammo_magazine/ammo_box/b12g/pellet, -/obj/item/ammo_magazine/ammo_box/b12g/pellet, -/obj/item/ammo_magazine/ammo_box/b12g/pellet, -/obj/item/ammo_magazine/ammo_box/b12g/pellet, -/obj/item/ammo_magazine/ammo_box/b12g, -/obj/item/ammo_magazine/ammo_box/b12g, -/obj/item/ammo_magazine/ammo_box/b12g, -/obj/item/ammo_magazine/ammo_box/b12g, -/obj/item/ammo_magazine/ammo_box/b12g/emp, -/obj/item/ammo_magazine/ammo_box/b12g/emp, -/obj/item/ammo_magazine/ammo_box/b12g/beanbag, -/obj/item/ammo_magazine/ammo_box/b12g/beanbag, -/obj/item/ammo_magazine/ammo_box/b12g/stunshell, -/obj/item/ammo_magazine/ammo_box/b12g/stunshell, -/obj/item/ammo_magazine/ammo_box/b12g/flash, -/obj/item/ammo_magazine/ammo_box/b12g/flash, -/obj/item/ammo_magazine/ammo_box/b12g/flechette, -/obj/item/ammo_magazine/ammo_box/b12g/flechette, -/obj/item/weapon/gun/energy/locked/frontier/carbine/unlocked, -/obj/item/weapon/gun/energy/locked/frontier/carbine/unlocked, -/obj/item/weapon/gun/energy/locked/frontier/carbine/unlocked, -/obj/item/weapon/gun/energy/locked/frontier/carbine/unlocked, -/obj/item/weapon/gun/energy/locked/frontier/rifle/unlocked, -/obj/item/weapon/storage/box/weapon_cells, -/obj/item/weapon/storage/box/weapon_cells, -/obj/item/weapon/storage/box/weapon_cells, -/obj/item/weapon/storage/box/weapon_cells, -/obj/item/weapon/storage/box/weapon_cells, -/obj/item/weapon/storage/box/weapon_cells, -/obj/item/weapon/storage/box/weapon_cells, -/obj/item/weapon/storage/box/weapon_cells, -/obj/item/weapon/storage/box/weapon_cells, -/obj/item/weapon/storage/box/weapon_cells, -/turf/simulated/floor/reinforced, -/area/shuttle/tabiranth) -"ah" = ( -/obj/structure/fans/hardlight{ - explosion_resistance = 100 - }, -/obj/machinery/door/blast/regular{ - destroy_hits = 1000; - explosion_resistance = 200; - id = "tabi-hangar1" - }, -/obj/effect/floor_decal/industrial/danger/full, -/turf/simulated/floor/reinforced{ - explosion_resistance = 200 - }, -/area/shuttle/tabiranth) -"ai" = ( -/obj/effect/floor_decal/industrial/hatch/yellow, -/turf/simulated/floor/reinforced, -/area/shuttle/tabiranth) -"aj" = ( -/obj/effect/floor_decal/industrial/hatch/yellow, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 6 - }, -/obj/machinery/light{ - dir = 1 - }, -/turf/simulated/floor/reinforced, -/area/shuttle/tabiranth) -"ak" = ( -/obj/machinery/atmospherics/binary/pump{ - dir = 8 - }, -/obj/effect/floor_decal/industrial/warning{ - icon_state = "warning"; - dir = 8 - }, -/obj/machinery/button/remote/blast_door{ - id = "tabi-hangar1"; - pixel_x = -26; - pixel_y = 26 - }, -/turf/simulated/floor/reinforced, -/area/shuttle/tabiranth) -"al" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden{ - dir = 1; - icon_state = "map" - }, -/obj/machinery/suit_cycler{ - density = 0; - layer = 2.2 - }, -/turf/simulated/floor/reinforced, -/area/shuttle/tabiranth) -"am" = ( -/obj/machinery/atmospherics/binary/pump{ - dir = 4 - }, -/obj/effect/floor_decal/industrial/warning{ - icon_state = "warning"; - dir = 4 - }, -/obj/machinery/button/remote/blast_door{ - id = "tabi-hangar2"; - pixel_x = 26; - pixel_y = 26 - }, -/turf/simulated/floor/reinforced, -/area/shuttle/tabiranth) -"an" = ( -/obj/effect/floor_decal/industrial/hatch/yellow, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/obj/machinery/light{ - dir = 1 - }, -/turf/simulated/floor/reinforced, -/area/shuttle/tabiranth) -"ao" = ( -/obj/effect/floor_decal/industrial/hatch/yellow, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 10; - icon_state = "intact" - }, -/turf/simulated/floor/reinforced, -/area/shuttle/tabiranth) -"ap" = ( -/obj/machinery/power/shield_generator/charged{ - density = 0; - field_radius = 9; - initial_shield_modes = 2113; - layer = 2.45; - plane = -44 - }, -/obj/structure/cable/cyan{ - icon_state = "0-2" - }, -/obj/effect/catwalk_plated/white, -/turf/simulated/floor/bluegrid, -/area/shuttle/tabiranth) -"aq" = ( -/obj/effect/floor_decal/industrial/outline, -/obj/machinery/atmospherics/portables_connector{ - dir = 1 - }, -/turf/simulated/floor/reinforced, -/area/shuttle/tabiranth) -"ar" = ( -/obj/structure/bed/chair/bay/shuttle{ - dir = 4 - }, -/obj/effect/floor_decal/industrial/warning{ - icon_state = "warning"; - dir = 8 - }, -/turf/simulated/floor/reinforced, -/area/shuttle/tabiranth) -"as" = ( -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/reinforced, -/area/shuttle/tabiranth) -"at" = ( -/obj/structure/bed/chair/bay/shuttle{ - dir = 8 - }, -/obj/effect/floor_decal/industrial/warning{ - icon_state = "warning"; - dir = 4 - }, -/turf/simulated/floor/reinforced, -/area/shuttle/tabiranth) -"au" = ( -/obj/machinery/autolathe{ - desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; - hacked = 1; - mat_efficiency = 0.5; - name = "Centcom Autolathe" - }, -/turf/simulated/floor/bluegrid, -/area/shuttle/tabiranth) -"av" = ( -/obj/machinery/mech_recharger, -/obj/effect/floor_decal/techfloor, -/obj/effect/floor_decal/techfloor{ - dir = 1 - }, -/turf/simulated/floor/reinforced, -/area/shuttle/tabiranth) -"aw" = ( -/obj/structure/bed/chair/bay/shuttle{ - dir = 4 - }, -/turf/simulated/floor/reinforced, -/area/shuttle/tabiranth) -"ax" = ( -/obj/structure/bed/chair/bay/shuttle{ - dir = 8 - }, -/turf/simulated/floor/reinforced, -/area/shuttle/tabiranth) -"ay" = ( -/obj/structure/fans/hardlight{ - explosion_resistance = 100 - }, -/obj/machinery/door/blast/regular{ - destroy_hits = 1000; - explosion_resistance = 200; - id = "tabi-hangar2" - }, -/obj/effect/floor_decal/industrial/danger/full, -/turf/simulated/floor/reinforced{ - explosion_resistance = 200 - }, -/area/shuttle/tabiranth) -"aB" = ( -/obj/machinery/portable_atmospherics/canister/oxygen{ - start_pressure = 15000 - }, -/obj/machinery/mech_recharger, -/obj/effect/floor_decal/techfloor{ - dir = 1 - }, -/obj/effect/floor_decal/techfloor, -/turf/simulated/floor/reinforced, -/area/shuttle/tabiranth) -"aC" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/telecomms/relay{ - density = 0; - layer = 2.45; - plane = -44 - }, -/obj/effect/catwalk_plated/white, -/turf/simulated/floor/bluegrid, -/area/shuttle/tabiranth) -"aD" = ( -/obj/machinery/atmospherics/portables_connector, -/obj/machinery/portable_atmospherics/canister/air{ - start_pressure = 15000 - }, -/obj/machinery/light{ - dir = 8; - icon_state = "tube1" - }, -/turf/simulated/floor/reinforced, -/area/shuttle/tabiranth) -"aE" = ( -/obj/machinery/atmospherics/portables_connector, -/obj/machinery/portable_atmospherics/canister/air{ - start_pressure = 15000 - }, -/obj/machinery/light{ - dir = 4 - }, -/turf/simulated/floor/reinforced, -/area/shuttle/tabiranth) -"aF" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden, -/obj/structure/handrail{ - dir = 1 - }, -/obj/effect/floor_decal/industrial/warning{ - icon_state = "warning"; - dir = 8 - }, -/obj/machinery/recharger/wallcharger{ - pixel_y = -32 - }, -/turf/simulated/floor/reinforced, -/area/shuttle/tabiranth) -"aG" = ( -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/obj/structure/closet/walllocker{ - name = "Janitor Locker"; - pixel_y = -32 - }, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/mop, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/soap/nanotrasen, -/obj/item/weapon/soap/deluxe, -/obj/item/weapon/soap, -/obj/item/weapon/rig/ert/janitor, -/turf/simulated/floor/reinforced, -/area/shuttle/tabiranth) -"aH" = ( -/obj/structure/fans/hardlight{ - explosion_resistance = 100 - }, -/obj/machinery/door/airlock/alien/blue/locked{ - explosion_resistance = 200; - req_one_access = list(101) - }, -/obj/machinery/access_button{ - command = "cycle_exterior"; - frequency = 1380; - master_tag = "tabiranth_airlock"; - name = "exterior access button"; - pixel_x = -5; - pixel_y = -26 - }, -/obj/effect/map_helper/airlock/door/ext_door, -/obj/effect/floor_decal/industrial/danger/full, -/turf/simulated/floor/reinforced, -/area/shuttle/tabiranth) -"aI" = ( -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/obj/structure/closet/walllocker{ - name = "Internals Locker"; - pixel_y = -32 - }, -/obj/item/weapon/storage/box/survival/space, -/obj/item/weapon/storage/box/survival/space, -/obj/item/weapon/storage/box/survival/space, -/obj/item/weapon/storage/box/survival/space, -/obj/item/weapon/storage/box/survival/space, -/obj/item/weapon/storage/box/survival/space, -/obj/item/weapon/storage/box/survival/space, -/obj/item/weapon/storage/box/survival/space, -/obj/item/weapon/storage/toolbox/emergency, -/obj/item/weapon/storage/toolbox/emergency, -/obj/item/weapon/storage/toolbox/emergency, -/obj/item/weapon/storage/toolbox/emergency, -/obj/fiftyspawner/steel, -/obj/fiftyspawner/steel, -/obj/fiftyspawner/steel, -/obj/fiftyspawner/steel, -/obj/fiftyspawner/steel, -/obj/fiftyspawner/steel, -/obj/fiftyspawner/steel, -/obj/fiftyspawner/steel, -/obj/fiftyspawner/glass, -/obj/fiftyspawner/glass, -/obj/fiftyspawner/glass, -/obj/fiftyspawner/glass, -/obj/item/weapon/storage/belt/utility/full, -/turf/simulated/floor/reinforced, -/area/shuttle/tabiranth) -"aJ" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden, -/obj/structure/handrail{ - dir = 1 - }, -/obj/effect/floor_decal/industrial/warning{ - icon_state = "warning"; - dir = 4 - }, -/obj/machinery/recharger/wallcharger{ - pixel_y = -32 - }, -/turf/simulated/floor/reinforced, -/area/shuttle/tabiranth) -"aK" = ( -/obj/machinery/atmospherics/unary/vent_pump/high_volume{ - dir = 4; - frequency = 1380 - }, -/obj/machinery/embedded_controller/radio/airlock/docking_port{ - frequency = 1380; - id_tag = "tabiranth_airlock"; - pixel_y = -32; - req_one_access = list(101) - }, -/obj/machinery/airlock_sensor{ - frequency = 1380; - pixel_y = 25 - }, -/obj/effect/map_helper/airlock/atmos/chamber_pump, -/obj/effect/map_helper/airlock/sensor/chamber_sensor, -/obj/machinery/light/small{ - icon_state = "bulb1"; - dir = 1 - }, -/obj/structure/handrail{ - dir = 1 - }, -/turf/simulated/floor/reinforced, -/area/shuttle/tabiranth) -"aL" = ( -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/obj/structure/fans/hardlight{ - explosion_resistance = 100 - }, -/obj/machinery/door/airlock/alien/blue/locked{ - explosion_resistance = 200; - req_one_access = list(101) - }, -/obj/machinery/access_button{ - command = "cycle_interior"; - frequency = 1380; - master_tag = "tabiranth_airlock"; - pixel_x = 5; - pixel_y = 26 - }, -/obj/effect/map_helper/airlock/door/int_door, -/obj/effect/floor_decal/industrial/danger/full, -/turf/simulated/floor/reinforced, -/area/shuttle/tabiranth) -"aM" = ( -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/obj/structure/fans/hardlight{ - explosion_resistance = 100 - }, -/obj/machinery/door/airlock/alien/blue/locked{ - explosion_resistance = 200; - req_one_access = list(101) - }, -/obj/machinery/access_button{ - command = "cycle_interior"; - frequency = 1380; - master_tag = "tabiranth_docker"; - pixel_x = -5; - pixel_y = 26 - }, -/obj/effect/map_helper/airlock/door/int_door, -/obj/effect/floor_decal/industrial/danger/full, -/turf/simulated/floor/reinforced, -/area/shuttle/tabiranth) -"aN" = ( -/obj/machinery/sleeper/survival_pod, -/turf/simulated/floor/tiled/white, -/area/shuttle/tabiranth) -"aO" = ( -/obj/machinery/atmospherics/unary/vent_pump/high_volume{ - dir = 8; - frequency = 1380 - }, -/obj/machinery/light/small{ - icon_state = "bulb1"; - dir = 1 - }, -/obj/machinery/airlock_sensor{ - frequency = 1380; - pixel_y = 25 - }, -/obj/machinery/embedded_controller/radio/airlock/docking_port{ - frequency = 1380; - id_tag = "tabiranth_docker"; - pixel_y = -32; - req_one_access = list(101) - }, -/obj/effect/shuttle_landmark/shuttle_initializer/tabiranth, -/obj/effect/overmap/visitable/ship/landable/tabiranth, -/obj/effect/map_helper/airlock/sensor/chamber_sensor, -/obj/effect/map_helper/airlock/atmos/chamber_pump, -/obj/structure/handrail{ - dir = 1 - }, -/turf/simulated/floor/reinforced, -/area/shuttle/tabiranth) -"aP" = ( -/obj/machinery/telecomms/allinone, -/turf/simulated/floor/bluegrid, -/area/shuttle/tabiranth) -"aQ" = ( -/obj/structure/bed/pod, -/obj/item/weapon/bedsheet/rd, -/turf/simulated/floor/tiled/techmaint, -/area/shuttle/tabiranth) -"aR" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden, -/obj/machinery/meter, -/turf/simulated/floor/reinforced, -/area/shuttle/tabiranth) -"aS" = ( -/obj/machinery/smartfridge/survival_pod, -/obj/item/weapon/storage/firstaid/clotting, -/obj/item/weapon/storage/firstaid/bonemed, -/obj/item/weapon/storage/firstaid/combat, -/obj/item/weapon/storage/firstaid/combat, -/obj/item/weapon/storage/firstaid/adv, -/obj/item/weapon/storage/firstaid/adv, -/obj/item/weapon/storage/firstaid/adv, -/obj/item/weapon/storage/firstaid/adv, -/obj/item/weapon/storage/firstaid/adv, -/obj/item/weapon/storage/firstaid/adv, -/obj/item/weapon/storage/firstaid/adv, -/obj/item/weapon/storage/firstaid/adv, -/obj/item/weapon/storage/firstaid/fire, -/obj/item/weapon/storage/firstaid/fire, -/obj/item/weapon/storage/firstaid/fire, -/obj/item/weapon/storage/firstaid/fire, -/obj/item/weapon/storage/firstaid/o2, -/obj/item/weapon/storage/firstaid/o2, -/obj/item/weapon/storage/firstaid/o2, -/obj/item/weapon/storage/firstaid/o2, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/firstaid/surgery, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/device/defib_kit/compact/combat/loaded, -/obj/item/device/defib_kit/compact/combat/loaded, -/obj/item/weapon/storage/box/masks, -/obj/item/weapon/storage/box/gloves, -/obj/item/weapon/storage/box/freezer, -/obj/item/weapon/storage/box/bodybags, -/obj/item/weapon/storage/box/beakers, -/obj/item/weapon/storage/box/PDAs, -/obj/item/weapon/storage/box/ids, -/obj/item/weapon/storage/box/pillbottles, -/obj/item/weapon/storage/box/pillbottles, -/obj/item/weapon/storage/box/syringes, -/obj/item/weapon/storage/box/syringes, -/obj/item/weapon/storage/quickdraw/syringe_case, -/obj/item/weapon/storage/quickdraw/syringe_case, -/obj/item/weapon/storage/quickdraw/syringe_case, -/obj/item/weapon/storage/quickdraw/syringe_case, -/obj/item/weapon/reagent_containers/hypospray, -/obj/item/weapon/reagent_containers/hypospray, -/obj/item/weapon/reagent_containers/hypospray, -/obj/item/weapon/reagent_containers/hypospray, -/obj/item/stack/nanopaste/advanced, -/obj/item/stack/nanopaste/advanced, -/obj/item/stack/nanopaste/advanced, -/obj/item/stack/nanopaste/advanced, -/obj/item/stack/nanopaste/advanced, -/obj/item/stack/nanopaste/advanced, -/obj/item/stack/nanopaste/advanced, -/obj/item/stack/nanopaste/advanced, -/obj/item/stack/nanopaste/advanced, -/obj/item/stack/nanopaste/advanced, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/fitnessflask/glucose, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/fitnessflask/glucose, -/obj/item/device/healthanalyzer/phasic, -/obj/item/device/healthanalyzer/phasic, -/obj/item/device/healthanalyzer/phasic, -/obj/item/device/healthanalyzer/phasic, -/obj/item/device/denecrotizer/medical, -/obj/item/device/denecrotizer/medical, -/obj/item/bodybag/cryobag, -/obj/item/bodybag/cryobag, -/obj/item/bodybag/cryobag, -/obj/item/bodybag/cryobag, -/obj/item/bodybag/cryobag, -/obj/item/bodybag/cryobag, -/obj/item/bodybag/cryobag, -/obj/item/bodybag/cryobag, -/obj/item/bodybag/cryobag, -/obj/item/bodybag/cryobag, -/obj/item/bodybag/cryobag, -/obj/item/bodybag/cryobag, -/obj/item/bodybag/cryobag, -/obj/item/bodybag/cryobag, -/obj/item/bodybag/cryobag, -/obj/item/bodybag/cryobag, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/glass/beaker/noreact, -/obj/item/weapon/reagent_containers/glass/beaker/noreact, -/obj/item/weapon/reagent_containers/glass/beaker/bluespace, -/obj/item/weapon/reagent_containers/glass/beaker/bluespace, -/obj/item/weapon/reagent_containers/glass/beaker/bluespace, -/obj/item/weapon/reagent_containers/glass/beaker/bluespace, -/obj/item/weapon/reagent_containers/dropper, -/obj/item/weapon/reagent_containers/dropper, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/fitnessflask/proteinshake, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/fitnessflask/proteinshake, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/fitnessflask/proteinshake, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/fitnessflask/proteinshake, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/fitnessflask/proteinshake, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/fitnessflask/proteinshake, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/fitnessflask/proteinshake, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/fitnessflask/proteinshake, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/fitnessflask/proteinshake, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/fitnessflask/proteinshake, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/fitnessflask/proteinshake, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/fitnessflask/proteinshake, -/turf/simulated/floor/tiled/white, -/area/shuttle/tabiranth) -"aT" = ( -/obj/structure/fans/hardlight{ - explosion_resistance = 100 - }, -/obj/machinery/door/airlock/alien/blue/locked{ - explosion_resistance = 200; - req_one_access = list(101) - }, -/obj/effect/map_helper/airlock/door/ext_door, -/obj/machinery/access_button{ - command = "cycle_exterior"; - frequency = 1380; - master_tag = "tabiranth_docker"; - name = "exterior access button"; - pixel_x = 5; - pixel_y = -26 - }, -/obj/effect/floor_decal/industrial/danger/full, -/turf/simulated/floor/reinforced, -/area/shuttle/tabiranth) -"aU" = ( -/obj/machinery/chemical_dispenser/ert/specialops, -/obj/structure/table/survival_pod, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/turf/simulated/floor/tiled/white, -/area/shuttle/tabiranth) -"aV" = ( -/obj/machinery/chem_master, -/turf/simulated/floor/tiled/white, -/area/shuttle/tabiranth) -"aW" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/structure/cable/cyan{ - icon_state = "2-8" - }, -/turf/simulated/floor/tiled/white, -/area/shuttle/tabiranth) -"aX" = ( -/obj/machinery/power/apc{ - alarms_hidden = 1; - cell_type = /obj/item/weapon/cell/super; - dir = 8; - name = "west bump"; - pixel_x = -28 - }, -/obj/structure/cable/cyan{ - icon_state = "0-4" - }, -/turf/simulated/floor/tiled/white, -/area/shuttle/tabiranth) -"aY" = ( -/obj/machinery/ntnet_relay{ - density = 0; - layer = 2.45; - plane = -44 - }, -/obj/effect/catwalk_plated/white, -/turf/simulated/floor/bluegrid, -/area/shuttle/tabiranth) -"aZ" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/turf/simulated/floor/tiled/white, -/area/shuttle/tabiranth) -"ba" = ( -/turf/template_noop, -/area/template_noop) -"bb" = ( -/obj/machinery/sleeper{ - dir = 8 - }, -/obj/machinery/light, -/turf/simulated/floor/tiled/white, -/area/shuttle/tabiranth) -"bc" = ( -/obj/machinery/sleep_console{ - dir = 8 - }, -/turf/simulated/floor/tiled/white, -/area/shuttle/tabiranth) -"bd" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/item/device/perfect_tele_beacon/stationary{ - tele_name = "Tabiranth"; - tele_network = "centcom" - }, -/obj/effect/floor_decal/industrial/hatch, -/turf/simulated/floor/tiled/white, -/area/shuttle/tabiranth) -"be" = ( -/obj/machinery/body_scanconsole{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/shuttle/tabiranth) -"bf" = ( -/obj/machinery/bodyscanner{ - dir = 4 - }, -/obj/machinery/light, -/turf/simulated/floor/tiled/white, -/area/shuttle/tabiranth) -"bg" = ( -/turf/simulated/floor/tiled/white, -/area/shuttle/tabiranth) -"bh" = ( -/obj/effect/floor_decal/industrial/warning, -/obj/machinery/door/airlock/alien/blue{ - req_one_access = list(101) - }, -/turf/simulated/floor/tiled/steel_ridged, -/area/shuttle/tabiranth) -"bi" = ( -/obj/structure/handrail{ - dir = 4 - }, -/obj/machinery/recharge_station{ - density = 0; - layer = 2.45; - plane = -44 - }, -/obj/effect/catwalk_plated/white, -/turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/tabiranth) -"bj" = ( -/obj/structure/handrail{ - dir = 8 - }, -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/shuttle/tabiranth) -"bk" = ( -/obj/effect/floor_decal/techfloor{ - dir = 5 - }, -/obj/structure/closet/secure_closet/wall{ - anchored = 1; - density = 0; - pixel_x = 32; - req_access = list(101) - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/tabiranth) -"bl" = ( -/obj/machinery/power/smes/buildable/hybrid{ - cur_coils = 4; - input_level = 500000; - output_level = 500000; - recharge_rate = 40000 - }, -/obj/structure/cable/cyan{ - icon_state = "0-4" - }, -/turf/simulated/floor/tiled/techmaint, -/area/shuttle/tabiranth) -"bm" = ( -/obj/structure/cable/cyan{ - icon_state = "1-8" - }, -/obj/machinery/power/terminal{ - dir = 8 - }, -/turf/simulated/floor/tiled/techmaint, -/area/shuttle/tabiranth) -"bn" = ( -/obj/machinery/pointdefense_control{ - id_tag = "tabiranth_pd" - }, -/turf/simulated/floor/tiled/techmaint, -/area/shuttle/tabiranth) -"bo" = ( -/obj/structure/closet/medical_wall{ - pixel_x = -32 - }, -/obj/item/weapon/reagent_containers/blood/prelabeled/OMinus, -/obj/item/weapon/reagent_containers/blood/prelabeled/OMinus, -/obj/item/weapon/reagent_containers/blood/prelabeled/OMinus, -/obj/item/weapon/reagent_containers/blood/prelabeled/OMinus, -/obj/item/weapon/reagent_containers/blood/prelabeled/OMinus, -/obj/item/weapon/reagent_containers/blood/prelabeled/OMinus, -/obj/item/weapon/reagent_containers/blood/prelabeled/OMinus, -/obj/item/weapon/reagent_containers/blood/prelabeled/OMinus, -/obj/item/weapon/storage/box/gloves, -/obj/item/weapon/storage/firstaid/surgery, -/obj/item/weapon/reagent_containers/spray/cleaner{ - desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; - name = "Surgery Cleaner"; - pixel_x = 2; - pixel_y = 2 - }, -/obj/item/weapon/reagent_containers/spray/cleaner{ - desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; - name = "Surgery Cleaner"; - pixel_x = 2; - pixel_y = 2 - }, -/obj/item/device/mmi/digital/posibrain, -/obj/item/device/mmi, -/obj/item/weapon/book/manual/robotics_cyborgs, -/obj/item/device/robotanalyzer, -/obj/item/weapon/tank/anesthetic, -/obj/item/weapon/tank/anesthetic, -/obj/item/weapon/tank/anesthetic, -/obj/item/clothing/mask/breath/medical, -/obj/item/clothing/mask/breath/medical, -/obj/item/clothing/mask/breath/medical, -/obj/item/weapon/storage/belt/utility/chief/full, -/obj/item/stack/cable_coil/alien, -/obj/item/stack/nanopaste, -/obj/item/stack/nanopaste, -/obj/item/stack/nanopaste, -/obj/item/device/defib_kit/jumper_kit/loaded, -/obj/item/device/defib_kit/compact/loaded, -/turf/simulated/floor/tiled/white, -/area/shuttle/tabiranth) -"bp" = ( -/obj/machinery/computer/operating{ - dir = 8 - }, -/turf/simulated/floor/tiled/white, -/area/shuttle/tabiranth) -"bq" = ( -/obj/machinery/mineral/equipment_vendor, -/obj/effect/floor_decal/techfloor{ - dir = 8 - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/tabiranth) -"br" = ( -/obj/effect/floor_decal/techfloor{ - dir = 4 - }, -/obj/machinery/light/small{ - dir = 4; - pixel_y = 0 - }, -/obj/machinery/atm, -/turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/tabiranth) -"bs" = ( -/obj/structure/table/survival_pod, -/obj/machinery/turretid{ - control_area = /area/shuttle/tabiranth; - pixel_x = -32; - req_access = list(101) - }, -/obj/machinery/light/small{ - dir = 8; - pixel_x = 0 - }, -/obj/machinery/recharger, -/obj/item/modular_computer/laptop/preset/custom_loadout/elite, -/turf/simulated/floor/tiled/techmaint, -/area/shuttle/tabiranth) -"bt" = ( -/obj/structure/handrail{ - dir = 8 - }, -/turf/simulated/floor/reinforced/airless{ - name = "outer hull" - }, -/area/shuttle/tabiranth) -"bu" = ( -/obj/machinery/computer/ship/engines{ - dir = 8; - icon_state = "computer" - }, -/obj/machinery/light/small{ - dir = 4; - pixel_y = 0 - }, -/turf/simulated/floor/tiled/techmaint, -/area/shuttle/tabiranth) -"bv" = ( -/obj/structure/medical_stand, -/obj/machinery/light{ - dir = 8; - icon_state = "tube1" - }, -/turf/simulated/floor/tiled/white, -/area/shuttle/tabiranth) -"bw" = ( -/obj/machinery/optable, -/obj/machinery/oxygen_pump/anesthetic{ - pixel_x = 32 - }, -/turf/simulated/floor/tiled/white, -/area/shuttle/tabiranth) -"bx" = ( -/obj/machinery/mineral/equipment_vendor/survey, -/obj/effect/floor_decal/techfloor{ - dir = 10 - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/tabiranth) -"by" = ( -/obj/machinery/syndicate_beacon/virgo{ - charges = 10; - density = 0 - }, -/obj/effect/floor_decal/techfloor{ - icon_state = "techfloor_edges"; - dir = 6 - }, -/obj/machinery/vending/nifsoft_shop{ - categories = 111; - emagged = 1; - name = "Hacked NIFSoft Shop"; - prices = list() - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/tabiranth) -"bz" = ( -/obj/machinery/computer/ship/sensors{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/shuttle/tabiranth) -"bA" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/alien/blue{ - req_one_access = list(108) - }, -/turf/simulated/floor/tiled/steel_ridged, -/area/shuttle/tabiranth) -"bB" = ( -/obj/machinery/computer/shuttle_control/explore/tabiranth{ - dir = 8 - }, -/turf/simulated/floor/tiled/techmaint, -/area/shuttle/tabiranth) -"bC" = ( -/obj/machinery/organ_printer/flesh/full, -/obj/structure/sink/kitchen{ - icon_state = "sink_alt"; - dir = 4; - pixel_x = -13 - }, -/turf/simulated/floor/tiled/white, -/area/shuttle/tabiranth) -"bD" = ( -/obj/item/weapon/storage/firstaid/surgery, -/obj/item/weapon/reagent_containers/spray/cleaner{ - desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; - name = "Surgery Cleaner"; - pixel_x = 2; - pixel_y = 2 - }, -/obj/structure/table/survival_pod, -/turf/simulated/floor/tiled/white, -/area/shuttle/tabiranth) -"bE" = ( -/obj/structure/shuttle/engine/heater, -/obj/structure/window/phoronreinforced{ - dir = 1 - }, -/turf/simulated/floor/reinforced/airless, -/area/shuttle/tabiranth) -"bF" = ( -/obj/machinery/computer/ship/helm{ - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/shuttle/tabiranth) -"bG" = ( -/obj/machinery/ion_engine{ - generated_thrust = 5 - }, -/turf/simulated/floor/reinforced/airless, -/area/shuttle/tabiranth) -"bH" = ( -/obj/structure/closet/hydrant{ - pixel_x = 32 - }, -/obj/item/clothing/suit/fire/firefighter, -/obj/item/clothing/mask/gas, -/obj/item/device/flashlight, -/obj/item/weapon/tank/oxygen/red, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/extinguisher, -/obj/item/weapon/extinguisher, -/obj/item/weapon/extinguisher, -/obj/item/weapon/extinguisher, -/obj/item/clothing/head/hardhat/red, -/obj/item/weapon/storage/toolbox/emergency, -/turf/simulated/floor/tiled/white, -/area/shuttle/tabiranth) -"bI" = ( -/obj/structure/bed/chair/bay/shuttle, -/obj/machinery/button/remote/blast_door{ - id = "tabi-vault"; - name = "Vault Blast Door Controls"; - pixel_x = 26; - pixel_y = -26; - req_one_access = list(108) - }, -/turf/simulated/floor/tiled/techmaint, -/area/shuttle/tabiranth) -"bJ" = ( -/obj/machinery/smartfridge/survival_pod, -/obj/item/clothing/under/ert, -/obj/item/clothing/under/ert, -/obj/item/clothing/under/ert, -/obj/item/clothing/under/ert, -/obj/item/clothing/under/ert, -/obj/item/clothing/under/ert, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) - }, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) - }, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) - }, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) - }, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) - }, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) - }, -/obj/item/device/perfect_tele, -/obj/item/weapon/storage/belt/utility/chief/full, -/obj/item/weapon/storage/belt/utility/chief/full, -/obj/item/weapon/storage/belt/utility/chief/full, -/obj/item/weapon/storage/belt/utility/chief/full, -/obj/item/clothing/gloves/heavy_engineer, -/obj/item/clothing/gloves/heavy_engineer, -/obj/item/clothing/gloves/heavy_engineer, -/obj/item/clothing/gloves/heavy_engineer, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/explorer/pathfinder, -/obj/item/weapon/storage/belt/explorer/pathfinder, -/obj/item/weapon/storage/belt/explorer/pathfinder, -/obj/item/weapon/storage/belt/explorer/pathfinder, -/obj/item/weapon/storage/backpack/ert/commander, -/obj/item/weapon/storage/backpack/ert/engineer, -/obj/item/weapon/storage/backpack/ert/engineer, -/obj/item/weapon/storage/backpack/ert/medical, -/obj/item/weapon/storage/backpack/ert/medical, -/obj/item/weapon/storage/backpack/ert/security, -/obj/item/weapon/storage/backpack/ert/security, -/obj/item/weapon/storage/backpack/ert/security, -/obj/item/weapon/storage/backpack/ert/security, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/gun/energy/locked/frontier/holdout/unlocked, -/obj/item/weapon/gun/energy/locked/frontier/holdout/unlocked, -/obj/item/weapon/gun/energy/locked/frontier/holdout/unlocked, -/obj/item/weapon/gun/energy/locked/frontier/holdout/unlocked, -/obj/item/weapon/gun/energy/locked/frontier/holdout/unlocked, -/obj/item/weapon/gun/energy/locked/frontier/holdout/unlocked, -/obj/item/weapon/gun/projectile/pistol, -/obj/item/weapon/gun/projectile/pistol, -/obj/item/weapon/gun/projectile/pistol, -/obj/item/ammo_magazine/m9mm/compact, -/obj/item/ammo_magazine/m9mm/compact, -/obj/item/ammo_magazine/m9mm/compact, -/obj/item/ammo_magazine/m9mm/compact, -/obj/item/ammo_magazine/m9mm/compact, -/obj/item/ammo_magazine/m9mm/compact, -/obj/item/ammo_magazine/m9mm/compact/flash, -/obj/item/ammo_magazine/m9mm/compact/flash, -/obj/item/ammo_magazine/m9mm/compact/flash, -/obj/item/ammo_magazine/m9mm/compact/rubber, -/obj/item/ammo_magazine/m9mm/compact/rubber, -/obj/item/ammo_magazine/m9mm/compact/rubber, -/obj/item/ammo_magazine/m9mm/compact/practice, -/obj/item/ammo_magazine/m9mm/compact/practice, -/obj/item/ammo_magazine/m9mm/compact/practice, -/obj/item/clothing/glasses/thermal, -/obj/item/clothing/glasses/thermal, -/obj/item/clothing/glasses/graviton, -/obj/item/clothing/glasses/graviton, -/obj/item/clothing/glasses/graviton, -/obj/item/clothing/glasses/graviton, -/obj/item/clothing/glasses/graviton, -/obj/item/clothing/glasses/graviton, -/obj/item/clothing/glasses/night, -/obj/item/clothing/glasses/night, -/obj/item/clothing/glasses/night, -/obj/item/clothing/glasses/night, -/obj/item/device/binoculars, -/obj/item/device/binoculars, -/obj/item/device/binoculars, -/obj/item/device/binoculars, -/obj/item/clothing/gloves/watch/survival, -/obj/item/clothing/gloves/watch/survival, -/obj/item/clothing/gloves/watch/survival, -/obj/item/clothing/gloves/watch/survival, -/obj/item/device/mapping_unit/ert, -/obj/item/device/holomap_beacon/ert, -/obj/item/device/holomap_beacon/ert, -/obj/item/device/holomap_beacon/ert, -/obj/item/device/holomap_beacon/ert, -/obj/item/clothing/mask/gas/half, -/obj/item/clothing/mask/gas/half, -/obj/item/clothing/mask/gas/half, -/obj/item/clothing/mask/gas/half, -/obj/item/clothing/mask/gas/half, -/obj/item/clothing/mask/gas/half, -/obj/item/clothing/mask/gas/half, -/obj/item/clothing/mask/gas/half, -/obj/item/modular_computer/laptop/preset/custom_loadout/elite, -/obj/item/modular_computer/laptop/preset/custom_loadout/elite, -/obj/item/modular_computer/laptop/preset/custom_loadout/elite, -/obj/item/modular_computer/laptop/preset/custom_loadout/elite, -/obj/item/modular_computer/laptop/preset/custom_loadout/elite, -/obj/item/modular_computer/laptop/preset/custom_loadout/elite, -/obj/item/modular_computer/tablet/preset/custom_loadout/elite, -/obj/item/modular_computer/tablet/preset/custom_loadout/elite, -/obj/item/modular_computer/tablet/preset/custom_loadout/elite, -/obj/item/modular_computer/tablet/preset/custom_loadout/elite, -/obj/item/modular_computer/tablet/preset/custom_loadout/elite, -/obj/item/modular_computer/tablet/preset/custom_loadout/elite, -/obj/item/device/survivalcapsule, -/obj/item/device/survivalcapsule, -/obj/item/device/survivalcapsule, -/obj/item/device/survivalcapsule, -/obj/item/device/survivalcapsule, -/obj/item/device/survivalcapsule, -/obj/item/device/survivalcapsule, -/obj/item/device/survivalcapsule, -/obj/item/device/survivalcapsule, -/obj/item/device/survivalcapsule, -/obj/item/device/survivalcapsule, -/obj/item/device/survivalcapsule, -/obj/item/device/survivalcapsule, -/obj/item/device/survivalcapsule, -/obj/item/device/survivalcapsule, -/obj/item/device/survivalcapsule, -/obj/item/device/survivalcapsule, -/obj/item/device/survivalcapsule, -/obj/item/device/survivalcapsule, -/obj/item/device/survivalcapsule, -/obj/item/device/survivalcapsule/luxury, -/obj/item/device/survivalcapsule/luxury, -/obj/item/device/survivalcapsule/luxury, -/obj/item/device/survivalcapsule/luxury, -/obj/item/device/survivalcapsule/luxury, -/obj/item/device/survivalcapsule/luxury, -/obj/item/device/survivalcapsule/luxury, -/obj/item/device/survivalcapsule/luxury, -/obj/item/device/survivalcapsule/luxurybar, -/obj/item/device/survivalcapsule/luxurybar, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/turf/simulated/floor/tiled/white, -/area/shuttle/tabiranth) -"bK" = ( -/obj/structure/handrail{ - dir = 8 - }, -/obj/machinery/recharge_station{ - density = 0; - layer = 2.45; - plane = -44 - }, -/obj/effect/catwalk_plated/white, -/turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/tabiranth) -"bL" = ( -/obj/machinery/shipsensors{ - dir = 1; - health = 1000; - heat_reduction = 4.5; - max_health = 1000; - name = "military sensors suite" - }, -/obj/effect/floor_decal/industrial/danger/full, -/turf/simulated/floor/reinforced/airless{ - name = "outer hull" - }, -/area/shuttle/tabiranth) -"bM" = ( -/obj/machinery/door/airlock/alien/blue{ - req_one_access = list(108) - }, -/obj/machinery/door/blast/regular{ - destroy_hits = 100; - dir = 4; - id = "tabi-vault"; - name = "Vault" - }, -/obj/effect/floor_decal/industrial/warning{ - dir = 1 - }, -/turf/simulated/floor/tiled/steel_ridged, -/area/shuttle/tabiranth) -"bN" = ( -/obj/machinery/door/airlock/alien/blue{ - req_one_access = list(101) - }, -/obj/effect/floor_decal/industrial/warning{ - dir = 1 - }, -/turf/simulated/floor/tiled/steel_ridged, -/area/shuttle/tabiranth) -"bO" = ( -/obj/machinery/mech_recharger{ - icon = 'icons/turf/shuttle_alien_blue.dmi' - }, -/obj/mecha/combat/fighter/baron/loaded, -/turf/simulated/floor/reinforced, -/area/shuttle/tabiranth) -"bP" = ( -/obj/machinery/smartfridge/survival_pod, -/obj/item/clothing/suit/space/void/merc/fire, -/obj/item/clothing/head/helmet/space/void/merc/fire, -/obj/item/clothing/suit/space/void/merc, -/obj/item/clothing/suit/space/void/merc, -/obj/item/clothing/head/helmet/space/void/merc, -/obj/item/clothing/head/helmet/space/void/merc, -/obj/item/clothing/suit/space/void/merc/odst, -/obj/item/clothing/suit/space/void/merc/odst, -/obj/item/clothing/head/helmet/space/void/merc/odst, -/obj/item/clothing/head/helmet/space/void/merc/odst, -/obj/item/clothing/suit/space/void/security/fluff/hos, -/obj/item/clothing/head/helmet/space/void/security/fluff/hos, -/obj/item/clothing/head/helmet/space/void/captain, -/obj/item/clothing/suit/space/void/captain, -/obj/item/clothing/head/helmet/space/void/refurb/officer, -/obj/item/clothing/suit/space/void/refurb/officer, -/obj/item/device/survivalcapsule/popcabin, -/obj/item/device/survivalcapsule/popcabin, -/obj/item/weapon/tank/oxygen/yellow, -/obj/item/weapon/tank/oxygen/yellow, -/obj/item/weapon/tank/oxygen/yellow, -/obj/item/weapon/tank/oxygen/yellow, -/obj/item/weapon/tank/vox, -/obj/item/weapon/tank/vox, -/obj/item/weapon/tank/vox, -/obj/item/weapon/tank/vox, -/obj/item/rig_module/chem_dispenser/injector/advanced, -/obj/item/rig_module/vision/multi, -/obj/item/weapon/rig/military/equipped, -/obj/item/weapon/rig/pmc/commander, -/obj/item/weapon/rig/pmc/medical, -/obj/item/weapon/rig/pmc/engineer, -/obj/item/weapon/rig/pmc/security, -/obj/item/weapon/rig/pmc/security, -/obj/item/weapon/rig/light/ninja, -/obj/item/weapon/gun/energy/modular/cannon, -/obj/item/weapon/gun/energy/modular/carbine, -/obj/item/weapon/gun/energy/modular/pistol, -/obj/item/weapon/gun/energy/medigun, -/obj/item/weapon/gun/energy/captain, -/obj/item/weapon/material/knife/machete/deluxe{ - default_material = "durasteel" - }, -/obj/item/clothing/accessory/holster/machete, -/obj/item/weapon/storage/firstaid/combat, -/obj/item/weapon/storage/firstaid/combat, -/obj/item/weapon/storage/toolbox/syndicate/powertools, -/obj/item/weapon/storage/toolbox/syndicate/powertools, -/obj/item/weapon/storage/box/syndie_kit/demolitions_super_heavy{ - name = "Super Heavy Demolitions kit" - }, -/obj/item/weapon/storage/box/syndie_kit/demolitions_heavy{ - name = "Heavy Demolitions kit" - }, -/obj/item/weapon/storage/box/syndie_kit/demolitions_heavy{ - name = "Heavy Demolitions kit" - }, -/obj/item/weapon/storage/box/syndie_kit/demolitions_heavy{ - name = "Heavy Demolitions kit" - }, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/cell/device/weapon/recharge/alien, -/obj/item/weapon/cell/device/weapon/recharge/alien, -/obj/item/weapon/cell/device/weapon/recharge/alien, -/obj/item/weapon/cell/device/weapon/recharge/alien, -/obj/item/weapon/cell/device/weapon/recharge/alien, -/obj/item/weapon/cell/device/weapon/recharge/alien, -/obj/item/weapon/storage/secure/briefcase/nsfw_pack_hybrid_combat, -/obj/item/weapon/storage/secure/briefcase/nsfw_pack_hybrid, -/obj/item/ammo_casing/microbattery/medical/corpse_mend, -/obj/item/ammo_casing/microbattery/medical/corpse_mend, -/obj/item/weapon/cell/slime{ - description_info = "This 'cell' holds a max charge of 20k and self recharges over time."; - icon = 'icons/obj/power.dmi'; - icon_state = "icell"; - maxcharge = 20000; - name = "slime core cell" - }, -/obj/item/weapon/cell/slime{ - description_info = "This 'cell' holds a max charge of 20k and self recharges over time."; - icon = 'icons/obj/power.dmi'; - icon_state = "icell"; - maxcharge = 20000; - name = "slime core cell" - }, -/obj/item/weapon/cell/slime{ - description_info = "This 'cell' holds a max charge of 20k and self recharges over time."; - icon = 'icons/obj/power.dmi'; - icon_state = "icell"; - maxcharge = 20000; - name = "slime core cell" - }, -/obj/item/weapon/cell/slime{ - description_info = "This 'cell' holds a max charge of 20k and self recharges over time."; - icon = 'icons/obj/power.dmi'; - icon_state = "icell"; - maxcharge = 20000; - name = "slime core cell" - }, -/obj/item/slime_extract/pink, -/obj/item/slime_extract/pink, -/obj/item/slime_extract/pink, -/obj/item/slime_extract/pink, -/obj/item/slime_extract/pink, -/obj/item/slime_extract/pink, -/obj/item/slime_extract/pink, -/obj/item/slime_extract/pink, -/obj/item/slime_extract/pink, -/obj/item/slime_extract/pink, -/obj/item/slime_extract/pink, -/obj/item/slime_extract/pink, -/obj/item/slime_extract/pink, -/obj/item/slime_extract/pink, -/obj/item/weapon/deadringer, -/obj/item/weapon/deadringer, -/obj/item/stack/telecrystal{ - amount = 240 - }, -/obj/item/stack/telecrystal{ - amount = 240 - }, -/obj/item/stack/telecrystal{ - amount = 240 - }, -/obj/item/stack/telecrystal{ - amount = 240 - }, -/obj/item/stack/telecrystal{ - amount = 240 - }, -/obj/item/stack/telecrystal{ - amount = 240 - }, -/obj/item/stack/telecrystal{ - amount = 240 - }, -/obj/item/stack/telecrystal{ - amount = 240 - }, -/obj/item/stack/telecrystal{ - amount = 240 - }, -/obj/item/stack/telecrystal{ - amount = 240 - }, -/obj/item/weapon/card/mining_point_card{ - mine_points = 50000 - }, -/obj/item/weapon/card/mining_point_card{ - mine_points = 50000 - }, -/obj/item/weapon/card/mining_point_card{ - mine_points = 50000 - }, -/obj/item/weapon/card/mining_point_card{ - mine_points = 50000 - }, -/obj/item/weapon/card/mining_point_card{ - mine_points = 50000 - }, -/obj/item/weapon/card/mining_point_card{ - mine_points = 50000 - }, -/obj/item/weapon/card/mining_point_card/survey{ - name = "survey point card"; - survey_points = 5000 - }, -/obj/item/weapon/card/mining_point_card/survey{ - name = "survey point card"; - survey_points = 5000 - }, -/obj/item/weapon/card/mining_point_card/survey{ - name = "survey point card"; - survey_points = 5000 - }, -/obj/item/weapon/card/mining_point_card/survey{ - name = "survey point card"; - survey_points = 5000 - }, -/obj/item/weapon/card/mining_point_card/survey{ - name = "survey point card"; - survey_points = 5000 - }, -/obj/item/weapon/card/mining_point_card/survey{ - name = "survey point card"; - survey_points = 5000 - }, -/obj/item/device/survivalcapsule/military, -/obj/item/device/survivalcapsule/military, -/obj/item/device/survivalcapsule/escapepod, -/obj/item/weapon/technomancer_catalog/universal, -/obj/item/weapon/technomancer_core/universal, -/obj/item/weapon/storage/secure/briefcase/money{ - desc = "An sleek tidy briefcase."; - name = "secure briefcase" - }, -/obj/item/weapon/storage/secure/briefcase/money{ - desc = "An sleek tidy briefcase."; - name = "secure briefcase" - }, -/obj/item/weapon/storage/secure/briefcase/money{ - desc = "An sleek tidy briefcase."; - name = "secure briefcase" - }, -/obj/item/weapon/storage/secure/briefcase/money{ - desc = "An sleek tidy briefcase."; - name = "secure briefcase" - }, -/obj/item/weapon/storage/secure/briefcase/money{ - desc = "An sleek tidy briefcase."; - name = "secure briefcase" - }, -/obj/item/weapon/storage/secure/briefcase/money{ - desc = "An sleek tidy briefcase."; - name = "secure briefcase" - }, -/obj/item/device/radio/uplink, -/obj/item/device/radio/uplink, -/obj/item/device/spaceflare, -/obj/item/device/spaceflare, -/obj/item/device/healthanalyzer/phasic, -/obj/item/device/bluespaceradio/tether_prelinked, -/obj/item/weapon/cat_box, -/obj/item/weapon/cat_box, -/obj/item/weapon/cat_box/black, -/obj/item/weapon/cat_box/black, -/obj/item/weapon/disposable_teleporter, -/obj/item/weapon/hand_tele, -/obj/item/weapon/storage/belt, -/obj/item/weapon/storage/belt/medical/alien, -/obj/item/weapon/storage/belt/utility/alien, -/obj/item/weapon/storage/belt/holding, -/obj/item/weapon/rig/ert/assetprotection, -/obj/item/weapon/rig/ert/assetprotection, -/obj/item/weapon/gun/energy/pulse_rifle, -/obj/item/weapon/gun/energy/pulse_rifle, -/obj/item/weapon/gun/energy/pulse_rifle, -/obj/item/weapon/gun/energy/pulse_rifle, -/obj/item/weapon/gun/projectile/automatic/l6_saw, -/obj/item/weapon/gun/projectile/automatic/l6_saw, -/obj/item/ammo_magazine/m545saw, -/obj/item/ammo_magazine/m545saw, -/obj/item/ammo_magazine/m545saw, -/obj/item/ammo_magazine/m545saw, -/obj/item/ammo_magazine/m545saw/ap, -/obj/item/ammo_magazine/m545saw/ap, -/obj/item/ammo_magazine/m545saw/ap, -/obj/item/ammo_magazine/m545saw/ap, -/obj/item/ammo_magazine/m545saw/ap, -/obj/item/ammo_magazine/m545saw/ap, -/obj/item/weapon/gun/projectile/automatic/z8, -/obj/item/weapon/gun/projectile/automatic/z8, -/obj/item/weapon/gun/projectile/heavysniper, -/obj/item/ammo_magazine/ammo_box/b145, -/obj/item/ammo_magazine/ammo_box/b145, -/obj/item/ammo_magazine/m762, -/obj/item/ammo_magazine/m762, -/obj/item/ammo_magazine/m762, -/obj/item/ammo_magazine/m762, -/obj/item/ammo_magazine/m762/ap, -/obj/item/ammo_magazine/m762/ap, -/obj/item/ammo_magazine/m762/ap, -/obj/item/ammo_magazine/m762/ap, -/obj/item/ammo_magazine/m762/ap, -/obj/item/ammo_magazine/m762/ap, -/obj/item/ammo_magazine/ammo_box/b145, -/obj/item/ammo_magazine/ammo_box/b145, -/obj/item/weapon/cell/infinite, -/obj/item/device/nif/authentic, -/obj/item/modular_computer/laptop/preset/custom_loadout/hybrid, -/obj/item/modular_computer/laptop/preset/custom_loadout/hybrid, -/obj/item/modular_computer/tablet/preset/custom_loadout/hybrid, -/obj/item/device/perfect_tele/alien, -/obj/item/device/perfect_tele/frontier/staff, -/obj/item/weapon/inducer/hybrid, -/obj/item/weapon/cell/device/weapon/recharge/alien/hybrid, -/obj/item/weapon/cell/device/weapon/recharge/alien/hybrid, -/obj/item/weapon/cell/device/weapon/recharge/alien/hybrid, -/obj/item/weapon/cell/device/weapon/recharge/alien/hybrid, -/obj/item/weapon/circuitboard/machine/abductor/core/hybrid, -/obj/item/weapon/circuitboard/machine/abductor/core/hybrid, -/obj/item/weapon/gun/magnetic/railgun/automatic, -/obj/item/weapon/gun/magnetic/railgun/automatic, -/obj/item/weapon/grenade/spawnergrenade/casino, -/obj/item/weapon/grenade/spawnergrenade/casino/penguin, -/obj/item/weapon/grenade/spawnergrenade/casino/chicken, -/obj/item/weapon/grenade/spawnergrenade/casino/cow, -/obj/item/weapon/grenade/spawnergrenade/casino/corgi, -/obj/item/weapon/grenade/spawnergrenade/casino/fox, -/obj/item/weapon/grenade/spawnergrenade/casino/fennec, -/obj/item/weapon/grenade/spawnergrenade/casino/snake, -/obj/item/weapon/grenade/spawnergrenade/casino/redpanda, -/obj/item/weapon/grenade/spawnergrenade/casino/snake, -/obj/item/weapon/grenade/spawnergrenade/casino/otie, -/obj/item/weapon/grenade/spawnergrenade/casino/goldcrest, -/obj/item/weapon/grenade/spawnergrenade/casino/gygax, -/obj/item/weapon/grenade/spawnergrenade/casino/gygax/mining, -/obj/item/weapon/grenade/spawnergrenade/casino/gygax/firefighter, -/obj/item/weapon/grenade/spawnergrenade/casino/gygax/Odysseus, -/obj/item/weapon/grenade/spawnergrenade/casino/gygax/shuttlepod, -/obj/item/weapon/grenade/spawnergrenade/casino/fighter/gunpod, -/obj/item/weapon/grenade/spawnergrenade/casino/fighter/baron, -/obj/item/weapon/grenade/spawnergrenade/casino/fighter/scoralis, -/obj/item/weapon/grenade/spawnergrenade/casino/fighter/allure, -/obj/item/weapon/grenade/spawnergrenade/casino/fighter/pinnace, -/obj/item/weapon/bluespace_harpoon, -/obj/item/weapon/stock_parts/scanning_module/hyper, -/obj/item/device/cataloguer/compact/pathfinder, -/obj/item/capture_crystal/basic, -/obj/item/capture_crystal/basic, -/obj/item/capture_crystal/basic, -/obj/item/capture_crystal/basic, -/obj/item/capture_crystal/great, -/obj/item/capture_crystal/great, -/obj/item/capture_crystal/ultra, -/obj/item/capture_crystal/ultra, -/obj/item/device/denecrotizer, -/obj/item/device/denecrotizer, -/obj/effect/floor_decal/industrial/loading, -/obj/effect/floor_decal/techfloor{ - dir = 9 - }, -/turf/simulated/floor/tiled/techmaint, -/area/shuttle/tabiranth) - -(1,1,1) = {" -ba -ba -ba -ba -aa -ac -aH -ac -bt -ab -aa -ac -ad -ad -ad -ad -ba -"} -(2,1,1) = {" -aa -ac -ah -ah -ad -ad -aK -ad -ad -ad -ad -ac -bP -bq -bx -ad -aa -"} -(3,1,1) = {" -ab -ad -ai -bO -au -ac -aL -ad -aN -aX -bi -bM -bk -br -by -ac -ab -"} -(4,1,1) = {" -ac -ac -aj -aq -av -aD -aF -ad -bJ -aC -bb -ac -ad -ad -ac -bE -bG -"} -(5,1,1) = {" -ad -ae -ak -ar -aw -aw -aG -ad -aU -aZ -bc -ad -bl -bs -bz -ac -ac -"} -(6,1,1) = {" -ad -af -al -as -as -as -aR -bh -ap -aW -bd -bA -bm -aQ -bI -bF -ad -"} -(7,1,1) = {" -ad -ag -am -at -ax -ax -aI -bj -aV -bg -be -ad -bn -bu -bB -ac -ac -"} -(8,1,1) = {" -ac -ac -an -bO -aB -aE -aJ -ad -aS -aY -bf -ac -ad -ad -ac -bE -bG -"} -(9,1,1) = {" -ab -ad -ao -aq -aP -ac -aM -ad -aN -bH -bK -bN -bo -bv -bC -ac -ab -"} -(10,1,1) = {" -aa -ac -ay -ay -ad -ad -aO -ad -ad -ad -ad -ac -bp -bw -bD -ad -aa -"} -(11,1,1) = {" -ba -ba -ba -ba -aa -ac -aT -ac -bL -ab -aa -ac -ad -ad -ad -ad -ba -"} diff --git a/maps/offmap_vr/om_ships/vespa.dm b/maps/offmap_vr/om_ships/vespa.dm index b6a2b1b963c..f4b936a612b 100644 --- a/maps/offmap_vr/om_ships/vespa.dm +++ b/maps/offmap_vr/om_ships/vespa.dm @@ -1,5 +1,5 @@ // Compile in the map for CI testing if we're testing compileability of all the maps -#if MAP_TEST +#ifdef MAP_TEST #include "vespa.dmm" #endif @@ -7,7 +7,7 @@ /datum/map_template/om_ships/vespa name = "OM Ship - Vespa (New Z)" desc = "The Vespa, a Hephaestus Industries vessel." - mappath = 'vespa.dmm' + mappath = "maps/offmap_vr/om_ships/vespa.dmm" // The shuttle's area(s) /area/ship/expe @@ -159,4 +159,4 @@ //docking_controller_tag = "vespaboat_docker" //shuttle_area = /area/shuttle/vespaboat //fuel_consumption = 0 - //defer_initialisation = TRUE \ No newline at end of file + //defer_initialisation = TRUE diff --git a/maps/offmap_vr/om_ships/vespa.dmm b/maps/offmap_vr/om_ships/vespa.dmm index 5a1393ff78b..4c6b5928905 100644 --- a/maps/offmap_vr/om_ships/vespa.dmm +++ b/maps/offmap_vr/om_ships/vespa.dmm @@ -671,7 +671,7 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/item/weapon/handcuffs/fuzzy, +/obj/item/handcuffs/fuzzy, /turf/simulated/floor, /area/ship/expe/maintenancerim) "bM" = ( @@ -968,7 +968,7 @@ pixel_y = 22 }, /obj/structure/table/woodentable, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /turf/simulated/floor/tiled/techfloor, /area/ship/expe/cabin1) "cD" = ( @@ -1116,7 +1116,7 @@ pixel_y = 22 }, /obj/structure/table/woodentable, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /turf/simulated/floor/tiled/techfloor, /area/ship/expe/cabin6) "cS" = ( @@ -1323,7 +1323,7 @@ /turf/simulated/floor, /area/ship/expe/maintenance2) "dn" = ( -/obj/item/weapon/handcuffs/fuzzy, +/obj/item/handcuffs/fuzzy, /obj/machinery/atmospherics/pipe/simple/hidden/aux{ dir = 9; icon_state = "intact-aux" @@ -1344,7 +1344,7 @@ /obj/structure/table/rack, /obj/item/clothing/suit/space/void/medical, /obj/item/clothing/head/helmet/space/void/medical, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, /obj/item/clothing/shoes/magboots, /turf/simulated/floor/tiled/techfloor, /area/ship/expe/hangarcontrol) @@ -1369,7 +1369,7 @@ /obj/structure/table/rack, /obj/item/clothing/head/helmet/space/void/security, /obj/item/clothing/suit/space/void/security, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, /obj/item/clothing/shoes/magboots, /turf/simulated/floor/tiled/techfloor, /area/ship/expe/hangarcontrol) @@ -1389,7 +1389,7 @@ dir = 4 }, /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/double, +/obj/item/bedsheet/double, /turf/simulated/floor/tiled/techfloor, /area/ship/expe/cabin1) "dy" = ( @@ -1417,7 +1417,7 @@ dir = 4 }, /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/double, +/obj/item/bedsheet/double, /turf/simulated/floor/tiled/techfloor, /area/ship/expe/cabin2) "dB" = ( @@ -1445,7 +1445,7 @@ dir = 4 }, /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/double, +/obj/item/bedsheet/double, /turf/simulated/floor/tiled/techfloor, /area/ship/expe/cabin3) "dE" = ( @@ -1473,7 +1473,7 @@ dir = 4 }, /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/double, +/obj/item/bedsheet/double, /turf/simulated/floor/tiled/techfloor, /area/ship/expe/cabin4) "dH" = ( @@ -1501,7 +1501,7 @@ dir = 4 }, /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/double, +/obj/item/bedsheet/double, /turf/simulated/floor/tiled/techfloor, /area/ship/expe/cabin5) "dK" = ( @@ -1529,7 +1529,7 @@ dir = 4 }, /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/double, +/obj/item/bedsheet/double, /turf/simulated/floor/tiled/techfloor, /area/ship/expe/cabin6) "dN" = ( @@ -1557,7 +1557,7 @@ dir = 4 }, /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/double, +/obj/item/bedsheet/double, /turf/simulated/floor/tiled/techfloor, /area/ship/expe/cabin7) "dQ" = ( @@ -1585,7 +1585,7 @@ dir = 4 }, /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/double, +/obj/item/bedsheet/double, /turf/simulated/floor/tiled/techfloor, /area/ship/expe/cabin8) "dT" = ( @@ -1613,7 +1613,7 @@ dir = 4 }, /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/double, +/obj/item/bedsheet/double, /turf/simulated/floor/tiled/techfloor, /area/ship/expe/cabin9) "dW" = ( @@ -2468,7 +2468,7 @@ /obj/item/clothing/head/helmet/space/void/pilot, /obj/item/clothing/head/helmet/space/void/pilot, /obj/item/clothing/head/helmet/space/void/pilot, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, /obj/item/clothing/shoes/magboots, /turf/simulated/floor/tiled/techfloor, /area/ship/expe/hangarcontrol) @@ -2486,7 +2486,7 @@ /obj/item/clothing/head/helmet/space/void/exploration, /obj/item/clothing/head/helmet/space/void/exploration, /obj/item/clothing/head/helmet/space/void/exploration, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, /obj/item/clothing/shoes/magboots, /turf/simulated/floor/tiled/techfloor, /area/ship/expe/hangarcontrol) @@ -3416,7 +3416,7 @@ /obj/item/clothing/suit/space/void/engineering, /obj/item/clothing/head/helmet/space/void/engineering, /obj/item/clothing/head/helmet/space/void/engineering, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, /obj/item/clothing/shoes/magboots, /turf/simulated/floor/tiled/techfloor, /area/ship/expe/hangarcontrol) @@ -3426,7 +3426,7 @@ /obj/item/clothing/suit/space/void/atmos, /obj/item/clothing/head/helmet/space/void/atmos, /obj/item/clothing/head/helmet/space/void/atmos, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, /obj/item/clothing/shoes/magboots, /turf/simulated/floor/tiled/techfloor, /area/ship/expe/hangarcontrol) @@ -4206,8 +4206,8 @@ dir = 9; icon_state = "bordercolor" }, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/gun/energy/taser, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, /turf/simulated/floor/tiled/techfloor, /area/ship/expe/seceq) "iF" = ( @@ -4330,9 +4330,9 @@ /area/ship/expe/secmain) "iM" = ( /obj/structure/closet/secure_closet, -/obj/item/weapon/handcuffs, -/obj/item/weapon/handcuffs, -/obj/item/weapon/storage/backpack/satchel/sec, +/obj/item/handcuffs, +/obj/item/handcuffs, +/obj/item/storage/backpack/satchel/sec, /obj/effect/floor_decal/borderfloorblack{ dir = 1; icon_state = "borderfloor_black" @@ -4351,10 +4351,10 @@ /obj/item/clothing/accessory/storage/black_drop_pouches, /obj/item/clothing/accessory/storage/black_vest, /obj/item/clothing/accessory/badge/corporate_tag/hephaestus, -/obj/item/device/flashlight/maglight, -/obj/item/device/megaphone, -/obj/item/device/radio, -/obj/item/weapon/melee/baton, +/obj/item/flashlight/maglight, +/obj/item/megaphone, +/obj/item/radio, +/obj/item/melee/baton, /turf/simulated/floor/tiled/techfloor, /area/ship/expe/secmain) "iN" = ( @@ -4553,7 +4553,7 @@ icon_state = "bordercolor" }, /obj/structure/table/reinforced, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /turf/simulated/floor/tiled/white, /area/ship/expe/medicalmain) "jc" = ( @@ -4581,8 +4581,8 @@ dir = 9; icon_state = "bordercolor" }, -/obj/item/weapon/storage/firstaid/o2, -/obj/item/weapon/storage/firstaid/o2, +/obj/item/storage/firstaid/o2, +/obj/item/storage/firstaid/o2, /turf/simulated/floor/tiled/white, /area/ship/expe/medicaleq) "jf" = ( @@ -4596,9 +4596,9 @@ dir = 1; icon_state = "bordercolor" }, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /turf/simulated/floor/tiled/white, /area/ship/expe/medicaleq) "jg" = ( @@ -4615,9 +4615,9 @@ dir = 1; icon_state = "bordercolor" }, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/toxin, +/obj/item/storage/firstaid/toxin, +/obj/item/storage/firstaid/toxin, +/obj/item/storage/firstaid/toxin, /turf/simulated/floor/tiled/white, /area/ship/expe/medicaleq) "jh" = ( @@ -4632,9 +4632,9 @@ icon_state = "bordercolor" }, /obj/structure/closet/crate, -/obj/item/weapon/storage/box/bloodpacks, -/obj/item/weapon/storage/box/backup_kit, -/obj/item/weapon/storage/box/gloves, +/obj/item/storage/box/bloodpacks, +/obj/item/storage/box/backup_kit, +/obj/item/storage/box/gloves, /turf/simulated/floor/tiled/white, /area/ship/expe/medicaleq) "ji" = ( @@ -5075,8 +5075,8 @@ dir = 8; icon_state = "bordercolor" }, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, +/obj/item/gun/energy/gun, +/obj/item/gun/energy/gun, /turf/simulated/floor/tiled/techfloor, /area/ship/expe/seceq) "ke" = ( @@ -5319,8 +5319,8 @@ dir = 8; icon_state = "bordercolor" }, -/obj/item/weapon/storage/firstaid/fire, -/obj/item/weapon/storage/firstaid/fire, +/obj/item/storage/firstaid/fire, +/obj/item/storage/firstaid/fire, /turf/simulated/floor/tiled/white, /area/ship/expe/medicaleq) "kB" = ( @@ -5725,7 +5725,7 @@ /area/ship/expe/hangar) "lo" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/storage/box/holobadge, +/obj/item/storage/box/holobadge, /obj/effect/floor_decal/borderfloorblack{ dir = 8; icon_state = "borderfloor_black" @@ -5738,14 +5738,14 @@ /area/ship/expe/seceq) "lp" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/storage/box/flashbangs, -/obj/item/weapon/storage/box/flashbangs, +/obj/item/storage/box/flashbangs, +/obj/item/storage/box/flashbangs, /turf/simulated/floor/tiled/techfloor, /area/ship/expe/seceq) "lq" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/storage/box/handcuffs, -/obj/item/weapon/storage/box/handcuffs, +/obj/item/storage/box/handcuffs, +/obj/item/storage/box/handcuffs, /obj/effect/floor_decal/borderfloorblack{ dir = 4; icon_state = "borderfloor_black" @@ -5890,8 +5890,8 @@ dir = 8; icon_state = "bordercolor" }, -/obj/item/weapon/storage/firstaid/adv, -/obj/item/weapon/storage/firstaid/adv, +/obj/item/storage/firstaid/adv, +/obj/item/storage/firstaid/adv, /obj/machinery/light{ dir = 8; icon_state = "tube1"; @@ -5915,7 +5915,7 @@ icon_state = "bordercolor" }, /obj/structure/table/reinforced, -/obj/item/weapon/soap/syndie, +/obj/item/soap/syndie, /turf/simulated/floor/tiled/white, /area/ship/expe/medicaleq) "lI" = ( @@ -6411,7 +6411,7 @@ dir = 4; icon_state = "bordercolor" }, -/obj/item/weapon/storage/box/pillbottles, +/obj/item/storage/box/pillbottles, /turf/simulated/floor/tiled/white, /area/ship/expe/medicalchem) "mz" = ( @@ -6580,7 +6580,7 @@ icon_state = "bordercolor" }, /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/cdeathalarm_kit, +/obj/item/storage/box/cdeathalarm_kit, /turf/simulated/floor/tiled/white, /area/ship/expe/medicaleq) "mK" = ( @@ -7221,7 +7221,7 @@ dir = 4; icon_state = "bordercolor" }, -/obj/item/weapon/storage/box/syringes, +/obj/item/storage/box/syringes, /turf/simulated/floor/tiled/white, /area/ship/expe/medicalchem) "nS" = ( @@ -7943,9 +7943,9 @@ /area/ship/expe/medicalchem) "pc" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/dropper, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/dropper, +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, /turf/simulated/floor/tiled/white, /area/ship/expe/medicalchem) "pd" = ( @@ -8272,8 +8272,8 @@ icon_state = "bordercolor" }, /obj/structure/closet, -/obj/item/weapon/cell/high, -/obj/item/weapon/cell/high, +/obj/item/cell/high, +/obj/item/cell/high, /turf/simulated/floor/tiled/techfloor, /area/ship/expe/expedition) "pL" = ( @@ -8286,10 +8286,10 @@ icon_state = "bordercolor" }, /obj/structure/closet, -/obj/item/device/flashlight/maglight, -/obj/item/device/flashlight/maglight, -/obj/item/device/flashlight/maglight, -/obj/item/device/flashlight/maglight, +/obj/item/flashlight/maglight, +/obj/item/flashlight/maglight, +/obj/item/flashlight/maglight, +/obj/item/flashlight/maglight, /turf/simulated/floor/tiled/techfloor, /area/ship/expe/expedition) "pM" = ( @@ -8313,9 +8313,9 @@ icon_state = "bordercolor" }, /obj/structure/table/rack/shelf, -/obj/item/device/geiger, -/obj/item/device/geiger, -/obj/item/device/geiger, +/obj/item/geiger, +/obj/item/geiger, +/obj/item/geiger, /turf/simulated/floor/tiled/techfloor, /area/ship/expe/expedition) "pO" = ( @@ -8328,11 +8328,11 @@ icon_state = "bordercolor" }, /obj/structure/table/rack/shelf, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, /turf/simulated/floor/tiled/techfloor, /area/ship/expe/expedition) "pP" = ( @@ -8557,7 +8557,7 @@ /area/ship/expe/seclobby2) "qc" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/red/border, /turf/simulated/floor/tiled/techfloor, @@ -8572,8 +8572,8 @@ dir = 1; icon_state = "bordercolor" }, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /turf/simulated/floor/tiled/techfloor, /area/ship/expe/secmain) "qe" = ( @@ -8596,8 +8596,8 @@ dir = 10; icon_state = "bordercolor" }, -/obj/item/weapon/storage/box/beakers, -/obj/item/weapon/storage/box/beakers, +/obj/item/storage/box/beakers, +/obj/item/storage/box/beakers, /turf/simulated/floor/tiled/white, /area/ship/expe/medicalchem) "qh" = ( @@ -8632,7 +8632,7 @@ dir = 6; icon_state = "bordercolor" }, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, /turf/simulated/floor/tiled/white, /area/ship/expe/medicalchem) "qk" = ( @@ -8665,9 +8665,9 @@ /obj/structure/table/reinforced, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, -/obj/item/weapon/storage/box/gloves, -/obj/item/weapon/storage/box/masks, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/storage/box/gloves, +/obj/item/storage/box/masks, +/obj/item/reagent_containers/spray/cleaner, /obj/machinery/light, /turf/simulated/floor/tiled/white, /area/ship/expe/medicalmain) @@ -8685,7 +8685,7 @@ /obj/structure/table/reinforced, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, -/obj/item/weapon/storage/quickdraw/syringe_case, +/obj/item/storage/quickdraw/syringe_case, /obj/machinery/light, /turf/simulated/floor/tiled/white, /area/ship/expe/medicalmain) @@ -9122,7 +9122,7 @@ dir = 1; icon_state = "bordercolor" }, -/obj/item/weapon/folder/red, +/obj/item/folder/red, /turf/simulated/floor/tiled/techfloor, /area/ship/expe/secmain) "rk" = ( @@ -9206,8 +9206,8 @@ /area/ship/expe/medical1) "rx" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/toolbox/mechanical, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /obj/effect/floor_decal/borderfloorblack{ dir = 10; icon_state = "borderfloor_black" @@ -9220,8 +9220,8 @@ /area/ship/expe/engineeringequipment) "ry" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/toolbox/electrical, -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical, /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/yellow/border, /turf/simulated/floor/tiled/techfloor, @@ -9869,7 +9869,7 @@ dir = 9; icon_state = "bordercolor" }, -/obj/item/weapon/storage/box/freezer, +/obj/item/storage/box/freezer, /turf/simulated/floor/tiled/white, /area/ship/expe/medicalsur) "sF" = ( @@ -9946,7 +9946,7 @@ dir = 5; icon_state = "bordercolor" }, -/obj/item/weapon/storage/box/freezer, +/obj/item/storage/box/freezer, /turf/simulated/floor/tiled/white, /area/ship/expe/medicalsur) "sJ" = ( @@ -10148,7 +10148,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/table/steel_reinforced, -/obj/item/weapon/paper_bin, +/obj/item/paper_bin, /turf/simulated/floor/tiled/techfloor, /area/ship/expe/expedition) "tq" = ( @@ -10157,7 +10157,7 @@ icon_state = "intact-supply" }, /obj/structure/table/steel_reinforced, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled/techfloor, /area/ship/expe/expedition) "tr" = ( @@ -10166,7 +10166,7 @@ icon_state = "intact-supply" }, /obj/structure/table/steel_reinforced, -/obj/item/weapon/folder/white, +/obj/item/folder/white, /turf/simulated/floor/tiled/techfloor, /area/ship/expe/expedition) "ts" = ( @@ -10175,7 +10175,7 @@ icon_state = "intact-supply" }, /obj/structure/table/steel_reinforced, -/obj/item/device/universal_translator, +/obj/item/universal_translator, /turf/simulated/floor/tiled/techfloor, /area/ship/expe/expedition) "tt" = ( @@ -10311,7 +10311,7 @@ icon_state = "bordercolor" }, /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery, /turf/simulated/floor/tiled/white, /area/ship/expe/medicalsur) "tJ" = ( @@ -10319,7 +10319,7 @@ /area/ship/expe/medicalsur) "tK" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/spray/sterilizine, +/obj/item/reagent_containers/spray/sterilizine, /turf/simulated/floor/tiled/white, /area/ship/expe/medicalsur) "tL" = ( @@ -10332,7 +10332,7 @@ dir = 4; icon_state = "bordercolor" }, -/obj/item/weapon/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery, /turf/simulated/floor/tiled/white, /area/ship/expe/medicalsur) "tM" = ( @@ -10758,7 +10758,7 @@ /area/ship/expe/expedition) "uy" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/folder/blue, +/obj/item/folder/blue, /turf/simulated/floor/tiled/techfloor, /area/ship/expe/expedition) "uz" = ( @@ -10767,7 +10767,7 @@ /area/ship/expe/expedition) "uA" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/universal_translator, +/obj/item/universal_translator, /turf/simulated/floor/tiled/techfloor, /area/ship/expe/expedition) "uB" = ( @@ -11199,7 +11199,7 @@ /area/ship/expe/captqua) "vx" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/captaindouble, +/obj/item/bedsheet/captaindouble, /obj/effect/floor_decal/corner/blue/border{ dir = 6; icon_state = "bordercolor" @@ -11361,9 +11361,9 @@ icon_state = "bordercolor" }, /obj/structure/table/rack/shelf, -/obj/item/device/gps/explorer, -/obj/item/device/gps/explorer, -/obj/item/device/gps/explorer, +/obj/item/gps/explorer, +/obj/item/gps/explorer, +/obj/item/gps/explorer, /turf/simulated/floor/tiled/techfloor, /area/ship/expe/expedition) "vZ" = ( @@ -11666,14 +11666,14 @@ /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/purple/border, /obj/structure/table/steel_reinforced, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled/techfloor, /area/ship/expe/expedition) "wE" = ( /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/purple/border, /obj/structure/table/steel_reinforced, -/obj/item/weapon/folder/red, +/obj/item/folder/red, /turf/simulated/floor/tiled/techfloor, /area/ship/expe/expedition) "wF" = ( @@ -11714,9 +11714,9 @@ icon_state = "bordercolor" }, /obj/structure/table/rack/shelf, -/obj/item/device/gps/explorer, -/obj/item/device/gps/explorer, -/obj/item/device/gps/explorer, +/obj/item/gps/explorer, +/obj/item/gps/explorer, +/obj/item/gps/explorer, /turf/simulated/floor/tiled/techfloor, /area/ship/expe/expedition) "wK" = ( @@ -12233,15 +12233,15 @@ icon_state = "1-2" }, /obj/structure/table/steel_reinforced, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /turf/simulated/floor/tiled/techfloor, /area/ship/expe/bridge) "yQ" = ( /obj/structure/closet/secure_closet, -/obj/item/weapon/handcuffs, -/obj/item/weapon/handcuffs, -/obj/item/weapon/storage/backpack/satchel/sec, +/obj/item/handcuffs, +/obj/item/handcuffs, +/obj/item/storage/backpack/satchel/sec, /obj/effect/floor_decal/borderfloorblack{ dir = 1; icon_state = "borderfloor_black" @@ -12260,16 +12260,16 @@ /obj/item/clothing/accessory/storage/black_drop_pouches, /obj/item/clothing/accessory/storage/black_vest, /obj/item/clothing/accessory/badge/corporate_tag/hephaestus, -/obj/item/device/flashlight/maglight, -/obj/item/device/radio, -/obj/item/weapon/melee/baton, +/obj/item/flashlight/maglight, +/obj/item/radio, +/obj/item/melee/baton, /turf/simulated/floor/tiled/techfloor, /area/ship/expe/secmain) "yR" = ( /obj/structure/table/reinforced, /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/red/border, -/obj/item/weapon/folder, +/obj/item/folder, /turf/simulated/floor/tiled/techfloor, /area/ship/expe/seclobby2) "yS" = ( @@ -12278,7 +12278,7 @@ /obj/machinery/door/window/northright, /obj/effect/floor_decal/borderfloorblack/full, /obj/effect/floor_decal/corner/red/borderfull, -/obj/item/weapon/deskbell, +/obj/item/deskbell, /turf/simulated/floor/tiled/techfloor, /area/ship/expe/seclobby) diff --git a/maps/offmap_vr/talon/talon_v2.dm b/maps/offmap_vr/talon/talon_v2.dm index 5e31a8ce742..73db3be4737 100644 --- a/maps/offmap_vr/talon/talon_v2.dm +++ b/maps/offmap_vr/talon/talon_v2.dm @@ -11,7 +11,7 @@ var/global/list/latejoin_talon = list() /datum/spawnpoint/talon display_name = "ITV Talon Cryo" - restrict_job = list("Talon Captain", "Talon Pilot", "Talon Engineer", "Talon Doctor", "Talon Guard", "Talon Miner") + restrict_job = list(JOB_TALON_CAPTAIN, JOB_TALON_PILOT, JOB_TALON_ENGINEER, JOB_TALON_DOCTOR, JOB_TALON_GUARD, JOB_TALON_MINER) msg = "has come out of cryostasis" announce_channel = "Talon" @@ -144,7 +144,7 @@ var/global/list/latejoin_talon = list() /obj/machinery/telecomms/allinone/talon freq_listening = list(PUB_FREQ, TALON_FREQ) -/obj/item/weapon/paper/talon_shields +/obj/item/paper/talon_shields name = "to whatever asshole" info = {"to whatever asshole keeps resetting the shield generator,
      \ please stop fucking around before you get us all killed. thanks.
      \ @@ -159,7 +159,7 @@ good luck
      \
      \ Harry Townes"} -/obj/item/weapon/paper/talon_power +/obj/item/paper/talon_power name = "new power setup" info = {"to whoever's saddled with running this rustbucket this week,
      \ good news! you may have noticed the entire ship was replaced pretty much overnight.
      \ @@ -179,7 +179,7 @@ alternately maybe you can trade some off those nanotrasen corpos down on 3B. atm
      \ p.s. speaking of shit that's bad for your health for the love of fuck do not smoke in the main engineering compartments, and definitely don't smoke in the engine rooms! if the ass-end of the ship ends up blown off because you went for a smoke break in a room full of crazy-flammable phoron they'll stick your reconstituted atoms so far in debt-prison you won't see daylight for a century."} -/obj/item/weapon/paper/talon_doctor +/obj/item/paper/talon_doctor name = "new medical bay" info = {"to whoever's stuck babysitting everyone's booboos,
      \ good news! you may have noticed the entire ship was replaced pretty much overnight.
      \ @@ -190,7 +190,7 @@ whatever. enjoy the change of scenery. or don't.
      \
      \ Harry Townes"} -/obj/item/weapon/paper/talon_guard +/obj/item/paper/talon_guard name = "new brig" info = {"to whoever's stuck enforcing some semblance of order on this hulk,
      \ good news! you may have noticed the entire ship was replaced pretty much overnight.
      \ @@ -203,7 +203,7 @@ so stay sharp eh?
      \
      \ Harry Townes"} -/obj/item/weapon/paper/talon_captain +/obj/item/paper/talon_captain name = "storage space" info = {"to whoever's stuck at the helm of this farce of an operation,
      \ good news! you may have noticed the entire ship was replaced pretty much overnight.
      \ @@ -214,7 +214,7 @@ have fun!
      \
      \ Harry Townes"} -/obj/item/weapon/paper/talon_pilot +/obj/item/paper/talon_pilot name = "new shuttle" info = {"to whoever's stuck flying this ungreased beast,
      \ good news! you may have noticed the entire ship was replaced pretty much overnight.
      \ @@ -231,7 +231,7 @@ speaking of, if some dumbass does take it and fly off solo then get themselves k
      \ Harry Townes"} -/obj/item/weapon/paper/talon_cannon +/obj/item/paper/talon_cannon name = "ITV Talon OFD Console" info = {"to whoever's got the itchiest trigger finger,
      \ as a reward for recent good performance, the lads upstairs have seen fit to have our ship retrofitted with an Obstruction Field Disperser. This fancy bit of hardware can be used to, well, 'disperse' 'obstructions'. asteroids or carp shoals in the way? no problem! load her up and fire! range is pretty short though.
      \ @@ -244,7 +244,7 @@ oh, and it's not a weapon. don't try to shoot other ships with it or anything, i
      \ Harry Townes"} -/obj/item/weapon/paper/talon_escape_pod +/obj/item/paper/talon_escape_pod name = "ITV Talon Escape Pod" info = {"to whoever's stuck bailing out,
      \ after some extensive retrofits to comply with starfaring vessel regulations, our lovely little ship has been outfitted with a proper escape pod, which you are now standing in if you are reading this paper! congratulations!
      \ @@ -271,16 +271,16 @@ personally I recommend using the ship's boat if you need to evacuate, but if you /mob/living/silicon/robot/drone/talon foreign_droid = TRUE - idcard_type = /obj/item/weapon/card/id/synthetic/talon + idcard_type = /obj/item/card/id/synthetic/talon -/obj/item/weapon/card/id/synthetic/talon +/obj/item/card/id/synthetic/talon name = "\improper Talon synthetic ID" desc = "Access module for Talon synthetics" icon_state = "id-robot" item_state = "tdgreen" assignment = "Talon synthetic" -/obj/item/weapon/card/id/synthetic/talon/Initialize() +/obj/item/card/id/synthetic/talon/Initialize() . = ..() access = list(access_talon, access_synth) @@ -297,7 +297,7 @@ personally I recommend using the ship's boat if you need to evacuate, but if you req_one_access = list(access_talon) /obj/machinery/power/apc/talon/hyper - cell_type = /obj/item/weapon/cell/hyper + cell_type = /obj/item/cell/hyper /obj/machinery/alarm/talon req_access = list() @@ -356,17 +356,17 @@ personally I recommend using the ship's boat if you need to evacuate, but if you /obj/item/clothing/suit/space/void/mining/talon name = "talon miner's voidsuit" -/obj/item/device/gps/command/taloncap +/obj/item/gps/command/taloncap gps_tag = "TALC" -/obj/item/device/gps/security/talonguard +/obj/item/gps/security/talonguard gps_tag = "TALG" -/obj/item/device/gps/medical/talonmed +/obj/item/gps/medical/talonmed gps_tag = "TALM" -/obj/item/device/gps/engineering/taloneng +/obj/item/gps/engineering/taloneng gps_tag = "TALE" -/obj/item/device/gps/explorer/talonpilot +/obj/item/gps/explorer/talonpilot gps_tag = "TALP" -/obj/item/device/gps/mining/talonminer +/obj/item/gps/mining/talonminer gps_tag = "TALM" /obj/structure/closet/secure_closet/talon_captain @@ -375,16 +375,16 @@ personally I recommend using the ship's boat if you need to evacuate, but if you closet_appearance = /decl/closet_appearance/secure_closet/talon/captain starts_with = list( - /obj/item/weapon/storage/backpack/dufflebag/captain, + /obj/item/storage/backpack/dufflebag/captain, /obj/item/clothing/suit/storage/vest, - /obj/item/weapon/melee/telebaton, - /obj/item/device/flash, - /obj/item/device/radio/headset/talon, + /obj/item/melee/telebaton, + /obj/item/flash, + /obj/item/radio/headset/talon, /obj/item/clothing/head/helmet/space/void/refurb/officer/talon, /obj/item/clothing/suit/space/void/refurb/officer/talon, - /obj/item/weapon/tank/oxygen, - /obj/item/device/suit_cooling_unit, - /obj/item/device/gps/command/taloncap + /obj/item/tank/oxygen, + /obj/item/suit_cooling_unit, + /obj/item/gps/command/taloncap ) /obj/structure/closet/secure_closet/talon_guard @@ -397,21 +397,21 @@ personally I recommend using the ship's boat if you need to evacuate, but if you /obj/item/clothing/under/utility, /obj/item/clothing/shoes/boots/jackboots, /obj/item/clothing/shoes/boots/jackboots/toeless, - /obj/item/weapon/handcuffs = 2, - /obj/item/weapon/gun/energy/stunrevolver, + /obj/item/handcuffs = 2, + /obj/item/gun/energy/stunrevolver, /obj/item/clothing/accessory/armor/tag/sec, - /obj/item/device/flash, - /obj/item/device/flashlight/maglight, + /obj/item/flash, + /obj/item/flashlight/maglight, /obj/item/clothing/glasses/sunglasses, - /obj/item/weapon/storage/belt/security, - /obj/item/device/radio/headset/talon, + /obj/item/storage/belt/security, + /obj/item/radio/headset/talon, /obj/item/clothing/accessory/solgov/department/security/army, /obj/item/clothing/head/helmet/space/void/refurb/marine/talon, /obj/item/clothing/suit/space/void/refurb/marine/talon, - /obj/item/weapon/tank/oxygen, - /obj/item/device/suit_cooling_unit, - /obj/item/device/gps/security/talonguard, - /obj/item/weapon/melee/baton + /obj/item/tank/oxygen, + /obj/item/suit_cooling_unit, + /obj/item/gps/security/talonguard, + /obj/item/melee/baton ) /obj/structure/closet/secure_closet/talon_doctor @@ -426,12 +426,12 @@ personally I recommend using the ship's boat if you need to evacuate, but if you /obj/item/clothing/suit/storage/toggle/labcoat/modern, /obj/item/clothing/suit/storage/toggle/fr_jacket, /obj/item/clothing/shoes/white, - /obj/item/device/radio/headset/talon, + /obj/item/radio/headset/talon, /obj/item/clothing/head/helmet/space/void/refurb/medical/alt/talon, /obj/item/clothing/suit/space/void/refurb/medical/talon, - /obj/item/weapon/tank/oxygen, - /obj/item/device/suit_cooling_unit, - /obj/item/device/gps/medical/talonmed + /obj/item/tank/oxygen, + /obj/item/suit_cooling_unit, + /obj/item/gps/medical/talonmed ) /obj/structure/closet/secure_closet/talon_engineer @@ -441,19 +441,19 @@ personally I recommend using the ship's boat if you need to evacuate, but if you starts_with = list( /obj/item/clothing/accessory/storage/brown_vest, - /obj/item/device/flashlight, - /obj/item/weapon/extinguisher, + /obj/item/flashlight, + /obj/item/extinguisher, /obj/item/clamp, - /obj/item/device/radio/headset/talon, + /obj/item/radio/headset/talon, /obj/item/clothing/suit/storage/hazardvest, /obj/item/clothing/mask/gas, /obj/item/taperoll/atmos, - /obj/item/weapon/tank/emergency/oxygen/engi, + /obj/item/tank/emergency/oxygen/engi, /obj/item/clothing/head/helmet/space/void/refurb/engineering/talon, /obj/item/clothing/suit/space/void/refurb/engineering/talon, - /obj/item/weapon/tank/oxygen, - /obj/item/device/suit_cooling_unit, - /obj/item/device/gps/engineering/taloneng + /obj/item/tank/oxygen, + /obj/item/suit_cooling_unit, + /obj/item/gps/engineering/taloneng ) /obj/structure/closet/secure_closet/talon_pilot @@ -462,25 +462,25 @@ personally I recommend using the ship's boat if you need to evacuate, but if you closet_appearance = /decl/closet_appearance/secure_closet/talon/pilot starts_with = list( - /obj/item/weapon/material/knife/tacknife/survival, + /obj/item/material/knife/tacknife/survival, /obj/item/clothing/head/pilot, /obj/item/clothing/under/rank/pilot1, /obj/item/clothing/suit/storage/toggle/bomber/pilot, /obj/item/clothing/gloves/fingerless, - /obj/item/weapon/reagent_containers/food/snacks/liquidfood, - /obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, - /obj/item/device/radio, + /obj/item/reagent_containers/food/snacks/liquidfood, + /obj/item/reagent_containers/food/drinks/cans/waterbottle, + /obj/item/radio, /obj/item/clothing/under/utility/blue, /obj/item/clothing/accessory/solgov/specialty/pilot, /obj/item/clothing/shoes/boots/jackboots, /obj/item/clothing/shoes/boots/jackboots/toeless, - /obj/item/device/radio/headset/talon, - /obj/item/device/flashlight/color/orange, + /obj/item/radio/headset/talon, + /obj/item/flashlight/color/orange, /obj/item/clothing/head/helmet/space/void/refurb/pilot/talon, /obj/item/clothing/suit/space/void/refurb/pilot/talon, - /obj/item/weapon/tank/oxygen, - /obj/item/device/suit_cooling_unit, - /obj/item/device/gps/explorer/talonpilot + /obj/item/tank/oxygen, + /obj/item/suit_cooling_unit, + /obj/item/gps/explorer/talonpilot ) /obj/structure/closet/secure_closet/talon_miner @@ -489,19 +489,19 @@ personally I recommend using the ship's boat if you need to evacuate, but if you closet_appearance = /decl/closet_appearance/secure_closet/talon/miner starts_with = list( - /obj/item/device/radio/headset/talon, + /obj/item/radio/headset/talon, /obj/item/clothing/head/helmet/space/void/refurb/mining/talon, /obj/item/clothing/suit/space/void/refurb/mining/talon, - /obj/item/weapon/tank/oxygen, - /obj/item/device/suit_cooling_unit, - /obj/item/device/gps/mining/talonminer, + /obj/item/tank/oxygen, + /obj/item/suit_cooling_unit, + /obj/item/gps/mining/talonminer, /obj/item/clothing/gloves/black, - /obj/item/device/analyzer, - /obj/item/weapon/storage/bag/ore, - /obj/item/device/flashlight/lantern, - /obj/item/weapon/shovel, - /obj/item/weapon/pickaxe, - /obj/item/weapon/mining_scanner, + /obj/item/analyzer, + /obj/item/storage/bag/ore, + /obj/item/flashlight/lantern, + /obj/item/shovel, + /obj/item/pickaxe, + /obj/item/mining_scanner, /obj/item/clothing/glasses/material, /obj/item/clothing/glasses/meson ) @@ -512,14 +512,14 @@ personally I recommend using the ship's boat if you need to evacuate, but if you icon_state = "med" product_ads = "Go save some lives!;The best stuff for your medbay.;Only the finest tools.;Natural chemicals!;This stuff saves lives.;Don't you want some?;Ping!" req_access = list(access_talon) - products = list(/obj/item/weapon/reagent_containers/glass/bottle/antitoxin = 4,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline = 4, - /obj/item/weapon/reagent_containers/glass/bottle/stoxin = 4,/obj/item/weapon/reagent_containers/glass/bottle/toxin = 4, - /obj/item/weapon/reagent_containers/syringe/antiviral = 4,/obj/item/weapon/reagent_containers/syringe = 12, - /obj/item/device/healthanalyzer = 5,/obj/item/weapon/reagent_containers/glass/beaker = 4, /obj/item/weapon/reagent_containers/dropper = 2, + products = list(/obj/item/reagent_containers/glass/bottle/antitoxin = 4,/obj/item/reagent_containers/glass/bottle/inaprovaline = 4, + /obj/item/reagent_containers/glass/bottle/stoxin = 4,/obj/item/reagent_containers/glass/bottle/toxin = 4, + /obj/item/reagent_containers/syringe/antiviral = 4,/obj/item/reagent_containers/syringe = 12, + /obj/item/healthanalyzer = 5,/obj/item/reagent_containers/glass/beaker = 4, /obj/item/reagent_containers/dropper = 2, /obj/item/stack/medical/advanced/bruise_pack = 6, /obj/item/stack/medical/advanced/ointment = 6, /obj/item/stack/medical/splint = 4, - /obj/item/weapon/storage/pill_bottle/carbon = 2, /obj/item/weapon/storage/box/khcrystal = 4, /obj/item/clothing/glasses/omnihud/med = 4, - /obj/item/device/glasses_kit = 1, /obj/item/weapon/storage/quickdraw/syringe_case = 4) - contraband = list(/obj/item/weapon/reagent_containers/pill/tox = 3,/obj/item/weapon/reagent_containers/pill/stox = 4,/obj/item/weapon/reagent_containers/pill/antitox = 6) + /obj/item/storage/pill_bottle/carbon = 2, /obj/item/storage/box/khcrystal = 4, /obj/item/clothing/glasses/omnihud/med = 4, + /obj/item/glasses_kit = 1, /obj/item/storage/quickdraw/syringe_case = 4) + contraband = list(/obj/item/reagent_containers/pill/tox = 3,/obj/item/reagent_containers/pill/stox = 4,/obj/item/reagent_containers/pill/antitox = 6) idle_power_usage = 211 //refrigerator - believe it or not, this is actually the average power consumption of a refrigerated vending machine according to NRCan. req_log_access = access_talon has_logs = 1 @@ -622,11 +622,11 @@ personally I recommend using the ship's boat if you need to evacuate, but if you /obj/item/modular_computer/console/preset/talon/install_default_hardware() ..() - processor_unit = new/obj/item/weapon/computer_hardware/processor_unit(src) - tesla_link = new/obj/item/weapon/computer_hardware/tesla_link(src) - hard_drive = new/obj/item/weapon/computer_hardware/hard_drive/super(src) - network_card = new/obj/item/weapon/computer_hardware/network_card/wired(src) - nano_printer = new/obj/item/weapon/computer_hardware/nano_printer(src) + processor_unit = new/obj/item/computer_hardware/processor_unit(src) + tesla_link = new/obj/item/computer_hardware/tesla_link(src) + hard_drive = new/obj/item/computer_hardware/hard_drive/super(src) + network_card = new/obj/item/computer_hardware/network_card/wired(src) + nano_printer = new/obj/item/computer_hardware/nano_printer(src) /obj/item/modular_computer/console/preset/talon/install_default_programs() ..() @@ -678,97 +678,97 @@ personally I recommend using the ship's boat if you need to evacuate, but if you /obj/random/multiple/ore_pile/talon/item_to_spawn() return pick( prob(10);list( - /obj/item/weapon/ore/coal, - /obj/item/weapon/ore/coal, - /obj/item/weapon/ore/coal, - /obj/item/weapon/ore/coal, - /obj/item/weapon/ore/coal, - /obj/item/weapon/ore/coal, - /obj/item/weapon/ore/coal, - /obj/item/weapon/ore/coal, - /obj/item/weapon/ore/coal, - /obj/item/weapon/ore/coal + /obj/item/ore/coal, + /obj/item/ore/coal, + /obj/item/ore/coal, + /obj/item/ore/coal, + /obj/item/ore/coal, + /obj/item/ore/coal, + /obj/item/ore/coal, + /obj/item/ore/coal, + /obj/item/ore/coal, + /obj/item/ore/coal ), prob(3);list( - /obj/item/weapon/ore/diamond, - /obj/item/weapon/ore/diamond + /obj/item/ore/diamond, + /obj/item/ore/diamond ), prob(15);list( - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/glass + /obj/item/ore/glass, + /obj/item/ore/glass, + /obj/item/ore/glass, + /obj/item/ore/glass, + /obj/item/ore/glass, + /obj/item/ore/glass, + /obj/item/ore/glass, + /obj/item/ore/glass, + /obj/item/ore/glass, + /obj/item/ore/glass, + /obj/item/ore/glass, + /obj/item/ore/glass, + /obj/item/ore/glass, + /obj/item/ore/glass, + /obj/item/ore/glass ), prob(5);list( - /obj/item/weapon/ore/gold, - /obj/item/weapon/ore/gold, - /obj/item/weapon/ore/gold, - /obj/item/weapon/ore/gold, - /obj/item/weapon/ore/gold + /obj/item/ore/gold, + /obj/item/ore/gold, + /obj/item/ore/gold, + /obj/item/ore/gold, + /obj/item/ore/gold ), prob(2);list( - /obj/item/weapon/ore/hydrogen + /obj/item/ore/hydrogen ), prob(10);list( - /obj/item/weapon/ore/iron, - /obj/item/weapon/ore/iron, - /obj/item/weapon/ore/iron, - /obj/item/weapon/ore/iron, - /obj/item/weapon/ore/iron, - /obj/item/weapon/ore/iron, - /obj/item/weapon/ore/iron, - /obj/item/weapon/ore/iron, - /obj/item/weapon/ore/iron, - /obj/item/weapon/ore/iron + /obj/item/ore/iron, + /obj/item/ore/iron, + /obj/item/ore/iron, + /obj/item/ore/iron, + /obj/item/ore/iron, + /obj/item/ore/iron, + /obj/item/ore/iron, + /obj/item/ore/iron, + /obj/item/ore/iron, + /obj/item/ore/iron ), prob(10);list( - /obj/item/weapon/ore/lead, - /obj/item/weapon/ore/lead, - /obj/item/weapon/ore/lead, - /obj/item/weapon/ore/lead, - /obj/item/weapon/ore/lead, - /obj/item/weapon/ore/lead, - /obj/item/weapon/ore/lead, - /obj/item/weapon/ore/lead, - /obj/item/weapon/ore/lead, - /obj/item/weapon/ore/lead + /obj/item/ore/lead, + /obj/item/ore/lead, + /obj/item/ore/lead, + /obj/item/ore/lead, + /obj/item/ore/lead, + /obj/item/ore/lead, + /obj/item/ore/lead, + /obj/item/ore/lead, + /obj/item/ore/lead, + /obj/item/ore/lead ), prob(5);list( - /obj/item/weapon/ore/marble, - /obj/item/weapon/ore/marble, - /obj/item/weapon/ore/marble, - /obj/item/weapon/ore/marble + /obj/item/ore/marble, + /obj/item/ore/marble, + /obj/item/ore/marble, + /obj/item/ore/marble ), prob(3);list( - /obj/item/weapon/ore/osmium, - /obj/item/weapon/ore/osmium + /obj/item/ore/osmium, + /obj/item/ore/osmium ), prob(5);list( - /obj/item/weapon/ore/phoron, - /obj/item/weapon/ore/phoron, - /obj/item/weapon/ore/phoron, - /obj/item/weapon/ore/phoron + /obj/item/ore/phoron, + /obj/item/ore/phoron, + /obj/item/ore/phoron, + /obj/item/ore/phoron ), prob(5);list( - /obj/item/weapon/ore/silver, - /obj/item/weapon/ore/silver, - /obj/item/weapon/ore/silver, - /obj/item/weapon/ore/silver + /obj/item/ore/silver, + /obj/item/ore/silver, + /obj/item/ore/silver, + /obj/item/ore/silver ), prob(3);list( - /obj/item/weapon/ore/uranium, - /obj/item/weapon/ore/uranium + /obj/item/ore/uranium, + /obj/item/ore/uranium ), ) @@ -817,11 +817,11 @@ personally I recommend using the ship's boat if you need to evacuate, but if you /obj/structure/closet/crate/freezer/centauri //CENTAURI SNACKS ), prob(10);list( - /obj/item/weapon/storage/box/donkpockets, - /obj/item/weapon/storage/box/donkpockets, - /obj/item/weapon/storage/box/donkpockets, - /obj/item/weapon/storage/box/donkpockets, - /obj/item/weapon/storage/box/donkpockets, + /obj/item/storage/box/donkpockets, + /obj/item/storage/box/donkpockets, + /obj/item/storage/box/donkpockets, + /obj/item/storage/box/donkpockets, + /obj/item/storage/box/donkpockets, /obj/structure/closet/crate/freezer/centauri //CENTAURI DONK-POCKETS ), prob(10);list( @@ -832,16 +832,16 @@ personally I recommend using the ship's boat if you need to evacuate, but if you /obj/structure/closet/crate/einstein //EINSTEIN BATTERYPACK ), prob(5);list( - /obj/item/weapon/circuitboard/smes, + /obj/item/circuitboard/smes, /obj/random/smes_coil, /obj/random/smes_coil, /obj/structure/closet/crate/focalpoint //FOCAL SMES ), prob(10);list( - /obj/item/weapon/module/power_control, + /obj/item/module/power_control, /obj/item/stack/cable_coil, /obj/item/frame/apc, - /obj/item/weapon/cell/apc, + /obj/item/cell/apc, /obj/structure/closet/crate/focalpoint //FOCAL APC ), prob(5);list( @@ -949,67 +949,67 @@ personally I recommend using the ship's boat if you need to evacuate, but if you /obj/structure/closet/crate/freezer/zenghu //ZENGHU PILLS ), prob(10);list( - /obj/item/device/toner, - /obj/item/device/toner, - /obj/item/device/toner, - /obj/item/weapon/clipboard, - /obj/item/weapon/clipboard, - /obj/item/weapon/pen/red, - /obj/item/weapon/pen/blue, - /obj/item/weapon/pen/blue, - /obj/item/device/camera_film, - /obj/item/weapon/folder/blue, - /obj/item/weapon/folder/red, - /obj/item/weapon/folder/yellow, - /obj/item/weapon/hand_labeler, - /obj/item/weapon/tape_roll, - /obj/item/weapon/paper_bin, + /obj/item/toner, + /obj/item/toner, + /obj/item/toner, + /obj/item/clipboard, + /obj/item/clipboard, + /obj/item/pen/red, + /obj/item/pen/blue, + /obj/item/pen/blue, + /obj/item/camera_film, + /obj/item/folder/blue, + /obj/item/folder/red, + /obj/item/folder/yellow, + /obj/item/hand_labeler, + /obj/item/tape_roll, + /obj/item/paper_bin, /obj/item/sticky_pad/random, /obj/structure/closet/crate/ummarcar //UMMARCAR OFFICE TRASH ), prob(5);list( - /obj/item/weapon/reagent_containers/food/snacks/unajerky, - /obj/item/weapon/reagent_containers/food/snacks/unajerky, - /obj/item/weapon/reagent_containers/food/snacks/unajerky, - /obj/item/weapon/reagent_containers/food/snacks/unajerky, - /obj/item/weapon/reagent_containers/food/snacks/unajerky, - /obj/item/weapon/reagent_containers/food/snacks/unajerky, - /obj/item/weapon/reagent_containers/food/snacks/unajerky, - /obj/item/weapon/reagent_containers/food/snacks/unajerky, + /obj/item/reagent_containers/food/snacks/unajerky, + /obj/item/reagent_containers/food/snacks/unajerky, + /obj/item/reagent_containers/food/snacks/unajerky, + /obj/item/reagent_containers/food/snacks/unajerky, + /obj/item/reagent_containers/food/snacks/unajerky, + /obj/item/reagent_containers/food/snacks/unajerky, + /obj/item/reagent_containers/food/snacks/unajerky, + /obj/item/reagent_containers/food/snacks/unajerky, /obj/structure/closet/crate/unathi //UNAJERKY ), prob(10);list( - /obj/item/weapon/reagent_containers/glass/bucket, - /obj/item/weapon/mop, + /obj/item/reagent_containers/glass/bucket, + /obj/item/mop, /obj/item/clothing/under/rank/janitor, - /obj/item/weapon/cartridge/janitor, + /obj/item/cartridge/janitor, /obj/item/clothing/gloves/black, /obj/item/clothing/head/soft/purple, - /obj/item/weapon/storage/belt/janitor, + /obj/item/storage/belt/janitor, /obj/item/clothing/shoes/galoshes, - /obj/item/weapon/storage/bag/trash, - /obj/item/device/lightreplacer, - /obj/item/weapon/reagent_containers/spray/cleaner, - /obj/item/weapon/reagent_containers/glass/rag, - /obj/item/weapon/grenade/chem_grenade/cleaner, - /obj/item/weapon/grenade/chem_grenade/cleaner, - /obj/item/weapon/grenade/chem_grenade/cleaner, + /obj/item/storage/bag/trash, + /obj/item/lightreplacer, + /obj/item/reagent_containers/spray/cleaner, + /obj/item/reagent_containers/glass/rag, + /obj/item/grenade/chem_grenade/cleaner, + /obj/item/grenade/chem_grenade/cleaner, + /obj/item/grenade/chem_grenade/cleaner, /obj/structure/closet/crate/galaksi //GALAKSI JANITOR SUPPLIES ), prob(5);list( - /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, - /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, - /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, - /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, - /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, - /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, - /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, - /obj/item/weapon/reagent_containers/food/snacks/candy/gummy, + /obj/item/reagent_containers/food/snacks/candy/gummy, + /obj/item/reagent_containers/food/snacks/candy/gummy, + /obj/item/reagent_containers/food/snacks/candy/gummy, + /obj/item/reagent_containers/food/snacks/candy/gummy, + /obj/item/reagent_containers/food/snacks/candy/gummy, + /obj/item/reagent_containers/food/snacks/candy/gummy, + /obj/item/reagent_containers/food/snacks/candy/gummy, + /obj/item/reagent_containers/food/snacks/candy/gummy, /obj/structure/closet/crate/allico //GUMMIES ), prob(2);list( - /obj/item/weapon/tank/phoron/pressurized, - /obj/item/weapon/tank/phoron/pressurized, + /obj/item/tank/phoron/pressurized, + /obj/item/tank/phoron/pressurized, /obj/structure/closet/crate/secure/phoron //HQ FUEL TANKS ) - ) \ No newline at end of file + ) diff --git a/maps/offmap_vr/talon/talon_v2.dmm b/maps/offmap_vr/talon/talon_v2.dmm index aa62de30420..f32945647bf 100644 --- a/maps/offmap_vr/talon/talon_v2.dmm +++ b/maps/offmap_vr/talon/talon_v2.dmm @@ -327,9 +327,9 @@ /area/talon_v2/engineering) "aH" = ( /obj/structure/closet/walllocker/medical/east, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/firstaid/o2, -/obj/item/weapon/extinguisher/mini, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/o2, +/obj/item/extinguisher/mini, /obj/structure/cable/yellow{ icon_state = "1-2" }, @@ -365,8 +365,8 @@ }, /obj/structure/catwalk, /obj/structure/closet/walllocker/medical/south, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/firstaid/fire, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/fire, /turf/simulated/floor/plating, /area/talon_v2/engineering) "aL" = ( @@ -485,11 +485,11 @@ /area/shuttle/talonboat) "aX" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -5; pixel_y = 2 }, -/obj/item/weapon/cell/device/weapon, +/obj/item/cell/device/weapon, /obj/item/clothing/accessory/holster/waist, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -498,7 +498,7 @@ /area/talon_v2/armory) "aY" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/gun/energy/netgun, +/obj/item/gun/energy/netgun, /turf/simulated/floor/tiled/techfloor, /area/talon_v2/armory) "aZ" = ( @@ -524,7 +524,7 @@ pixel_y = -25 }, /obj/structure/table/rack/steel, -/obj/item/device/spaceflare, +/obj/item/spaceflare, /obj/machinery/camera/network/talon{ dir = 1 }, @@ -557,11 +557,11 @@ /area/talon_v2/ofd_ops) "be" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -5; pixel_y = 2 }, -/obj/item/weapon/cell/device/weapon, +/obj/item/cell/device/weapon, /obj/item/clothing/accessory/holster/waist, /obj/machinery/light_switch{ dir = 1; @@ -616,7 +616,7 @@ /area/talon_v2/engineering/atmospherics) "bj" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/gun/energy/gun, +/obj/item/gun/energy/gun, /turf/simulated/floor/tiled/techfloor, /area/talon_v2/armory) "bn" = ( @@ -648,7 +648,7 @@ pixel_y = -28 }, /obj/structure/bed/pod, -/obj/item/weapon/bedsheet/red, +/obj/item/bedsheet/red, /turf/simulated/floor/carpet, /area/talon_v2/crew_quarters/sec_room) "br" = ( @@ -813,8 +813,8 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/firstaid/o2, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/o2, /obj/structure/closet/walllocker/medical/south, /turf/simulated/floor/tiled/techmaint, /area/talon_v2/crew_quarters/restrooms) @@ -888,9 +888,9 @@ icon_state = "4-8" }, /obj/structure/closet/walllocker/medical/south, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/firstaid/o2, -/obj/item/device/radio/off{ +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/o2, +/obj/item/radio/off{ channels = list("Talon" = 1) }, /turf/simulated/floor/tiled/techfloor, @@ -1086,10 +1086,10 @@ icon_state = "pipe-c" }, /obj/structure/closet/walllocker_double/east, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device, -/obj/item/weapon/cell/device, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device, +/obj/item/cell/device, /obj/random/maintenance/engineering, /obj/random/maintenance/engineering, /obj/structure/cable/green{ @@ -1449,8 +1449,8 @@ "ek" = ( /obj/structure/table/woodentable, /obj/item/modular_computer/tablet/preset/custom_loadout/advanced, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, @@ -1461,11 +1461,11 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, -/obj/item/weapon/paper/dockingcodes{ +/obj/item/paper/dockingcodes{ pixel_x = 5; pixel_y = -1 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/talon{ +/obj/item/reagent_containers/food/drinks/glass2/coffeemug/talon{ pixel_x = -13; pixel_y = 7 }, @@ -1475,7 +1475,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/structure/table/steel, /obj/machinery/recharger, -/obj/item/device/geiger{ +/obj/item/geiger{ pixel_x = -7 }, /obj/machinery/alarm/talon{ @@ -1699,7 +1699,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/effect/floor_decal/corner/black/diagonal, -/obj/item/weapon/stool/baystool/padded{ +/obj/item/stool/baystool/padded{ dir = 4 }, /turf/simulated/floor/tiled/white, @@ -1731,7 +1731,7 @@ }, /obj/effect/floor_decal/corner/black/diagonal, /obj/structure/table/marble, -/obj/item/device/radio/off{ +/obj/item/radio/off{ channels = list("Talon" = 1) }, /turf/simulated/floor/tiled/white, @@ -1791,8 +1791,8 @@ /area/talon_v2/engineering/star_store) "fd" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, /turf/simulated/floor/tiled/techfloor, /area/talon_v2/secure_storage) "ff" = ( @@ -1957,7 +1957,7 @@ /area/talon_v2/engineering/port_store) "fM" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/bluedouble, +/obj/item/bedsheet/bluedouble, /obj/structure/cable/green{ icon_state = "4-8" }, @@ -1975,7 +1975,7 @@ pixel_y = -24 }, /obj/structure/cable/green, -/obj/item/weapon/paper/talon_captain, +/obj/item/paper/talon_captain, /obj/structure/cable/green{ icon_state = "0-8" }, @@ -1989,7 +1989,7 @@ /obj/effect/floor_decal/industrial/warning{ dir = 5 }, -/obj/item/weapon/paper/talon_shields, +/obj/item/paper/talon_shields, /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/tiled/techfloor/grid, /area/talon_v2/engineering) @@ -2673,7 +2673,7 @@ /area/talon_v2/engineering) "ii" = ( /obj/machinery/vending/engivend{ - products = list(/obj/item/device/geiger = 4, /obj/item/clothing/glasses/meson = 2, /obj/item/device/multitool = 4, /obj/item/weapon/cell/high = 10, /obj/item/weapon/airlock_electronics = 10, /obj/item/weapon/module/power_control = 10, /obj/item/weapon/circuitboard/airalarm = 10, /obj/item/weapon/circuitboard/firealarm = 10, /obj/item/weapon/circuitboard/status_display = 2, /obj/item/weapon/circuitboard/ai_status_display = 2, /obj/item/weapon/circuitboard/newscaster = 2, /obj/item/weapon/circuitboard/holopad = 2, /obj/item/weapon/circuitboard/intercom = 4, /obj/item/weapon/circuitboard/security/telescreen/entertainment = 4, /obj/item/weapon/stock_parts/motor = 2, /obj/item/weapon/stock_parts/spring = 2, /obj/item/weapon/stock_parts/gear = 2, /obj/item/weapon/circuitboard/atm, /obj/item/weapon/circuitboard/guestpass, /obj/item/weapon/circuitboard/keycard_auth, /obj/item/weapon/circuitboard/photocopier, /obj/item/weapon/circuitboard/fax, /obj/item/weapon/circuitboard/request, /obj/item/weapon/circuitboard/microwave, /obj/item/weapon/circuitboard/washing, /obj/item/weapon/circuitboard/scanner_console, /obj/item/weapon/circuitboard/sleeper_console, /obj/item/weapon/circuitboard/body_scanner, /obj/item/weapon/circuitboard/sleeper, /obj/item/weapon/circuitboard/dna_analyzer, /obj/item/weapon/circuitboard/partslathe); + products = list(/obj/item/geiger = 4, /obj/item/clothing/glasses/meson = 2, /obj/item/multitool = 4, /obj/item/cell/high = 10, /obj/item/airlock_electronics = 10, /obj/item/module/power_control = 10, /obj/item/circuitboard/airalarm = 10, /obj/item/circuitboard/firealarm = 10, /obj/item/circuitboard/status_display = 2, /obj/item/circuitboard/ai_status_display = 2, /obj/item/circuitboard/newscaster = 2, /obj/item/circuitboard/holopad = 2, /obj/item/circuitboard/intercom = 4, /obj/item/circuitboard/security/telescreen/entertainment = 4, /obj/item/stock_parts/motor = 2, /obj/item/stock_parts/spring = 2, /obj/item/stock_parts/gear = 2, /obj/item/circuitboard/atm, /obj/item/circuitboard/guestpass, /obj/item/circuitboard/keycard_auth, /obj/item/circuitboard/photocopier, /obj/item/circuitboard/fax, /obj/item/circuitboard/request, /obj/item/circuitboard/microwave, /obj/item/circuitboard/washing, /obj/item/circuitboard/scanner_console, /obj/item/circuitboard/sleeper_console, /obj/item/circuitboard/body_scanner, /obj/item/circuitboard/sleeper, /obj/item/circuitboard/dna_analyzer, /obj/item/circuitboard/partslathe); req_access = list(301); req_log_access = 301 }, @@ -3754,8 +3754,8 @@ /area/talon_v2/engineering/atmospherics) "mg" = ( /obj/structure/mopbucket, -/obj/item/weapon/mop, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/mop, +/obj/item/reagent_containers/glass/bucket, /obj/machinery/firealarm{ dir = 1; pixel_y = -24 @@ -3975,10 +3975,10 @@ /area/talon_v2/crew_quarters/sec_room) "ng" = ( /obj/structure/closet/secure_closet/talon_guard, -/obj/item/device/radio/off{ +/obj/item/radio/off{ channels = list("Talon" = 1) }, -/obj/item/weapon/storage/box/nifsofts_security, +/obj/item/storage/box/nifsofts_security, /turf/simulated/floor/wood, /area/talon_v2/crew_quarters/sec_room) "nh" = ( @@ -4020,10 +4020,10 @@ /area/talon_v2/engineering/port_store) "nq" = ( /obj/structure/closet/secure_closet/talon_doctor, -/obj/item/device/radio/off{ +/obj/item/radio/off{ channels = list("Talon" = 1) }, -/obj/item/weapon/storage/box/nifsofts_medical, +/obj/item/storage/box/nifsofts_medical, /turf/simulated/floor/wood, /area/talon_v2/crew_quarters/med_room) "ns" = ( @@ -4259,7 +4259,7 @@ /turf/simulated/floor/tiled/techmaint, /area/talon_v2/central_hallway) "oh" = ( -/obj/item/weapon/storage/dicecup/loaded{ +/obj/item/storage/dicecup/loaded{ pixel_x = 7; pixel_y = 11 }, @@ -4268,7 +4268,7 @@ }, /obj/effect/floor_decal/corner/black/diagonal, /obj/structure/table/marble, -/obj/item/weapon/deck/cards{ +/obj/item/deck/cards{ pixel_x = 3 }, /turf/simulated/floor/tiled/white, @@ -4283,7 +4283,7 @@ /area/talon_v2/maintenance/fore_port) "ok" = ( /obj/structure/bed/pod, -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /turf/simulated/floor/carpet, /area/talon_v2/crew_quarters/mine_room) "ol" = ( @@ -4366,7 +4366,7 @@ pixel_y = -28 }, /obj/structure/bed/pod, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /turf/simulated/floor/carpet, /area/talon_v2/crew_quarters/med_room) "ow" = ( @@ -4424,7 +4424,7 @@ dir = 4; pixel_x = -22 }, -/obj/item/device/radio/off{ +/obj/item/radio/off{ channels = list("Talon" = 1) }, /turf/simulated/floor/tiled/techfloor, @@ -4454,7 +4454,7 @@ /obj/structure/table/rack/shelf/steel, /obj/random/maintenance/cargo, /obj/random/maintenance/cargo, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /turf/simulated/floor/tiled/techfloor, /area/talon_v2/gen_store) "oS" = ( @@ -4475,7 +4475,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, -/obj/item/weapon/paper/talon_doctor, +/obj/item/paper/talon_doctor, /turf/simulated/floor/carpet, /area/talon_v2/crew_quarters/med_room) "oW" = ( @@ -4700,7 +4700,7 @@ pixel_x = 22 }, /obj/structure/bed/pod, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /obj/machinery/computer/ship/navigation/telescreen{ pixel_y = -32 }, @@ -4771,11 +4771,11 @@ /area/talon_v2/crew_quarters/eng_room) "pU" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox/mechanical, -/obj/item/weapon/storage/box/mousetraps, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/glass/rag, +/obj/item/storage/toolbox/mechanical, +/obj/item/storage/box/mousetraps, +/obj/item/storage/box/lights/mixed, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/glass/rag, /obj/machinery/light_switch{ dir = 1; pixel_x = 2; @@ -5008,7 +5008,7 @@ pixel_x = -28; specialfunctions = 4 }, -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /obj/structure/bed/pod, /obj/machinery/light_switch{ dir = 1; @@ -5148,8 +5148,8 @@ /area/talon_v2/central_hallway/star) "ri" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /obj/machinery/atmospherics/unary/vent_pump/on, /obj/structure/cable/green{ icon_state = "1-2" @@ -5388,7 +5388,7 @@ pixel_y = -32 }, /obj/structure/table/steel, -/obj/item/device/radio/off{ +/obj/item/radio/off{ channels = list("Talon" = 1) }, /turf/simulated/floor/plating, @@ -5551,7 +5551,7 @@ icon_state = "1-2" }, /obj/structure/closet/walllocker_double/east, -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical, /turf/simulated/floor/plating, /area/talon_v2/engineering) "sD" = ( @@ -5882,10 +5882,10 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/closet/walllocker/medical/east, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/firstaid/o2, -/obj/item/weapon/storage/firstaid/fire, -/obj/item/device/radio/off{ +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/o2, +/obj/item/storage/firstaid/fire, +/obj/item/radio/off{ channels = list("Talon" = 1) }, /turf/simulated/floor/tiled/techmaint, @@ -6004,7 +6004,7 @@ /area/talon_v2/crew_quarters/restrooms) "ui" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet/mime, +/obj/item/bedsheet/mime, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, @@ -6076,7 +6076,7 @@ /area/space) "uv" = ( /obj/machinery/shower, -/obj/item/weapon/soap/deluxe, +/obj/item/soap/deluxe, /obj/structure/curtain, /turf/simulated/floor/tiled/white, /area/talon_v2/crew_quarters/restrooms) @@ -6218,7 +6218,7 @@ "uR" = ( /obj/structure/table/steel, /obj/machinery/cell_charger, -/obj/item/weapon/cell/apc, +/obj/item/cell/apc, /turf/simulated/floor/tiled/techfloor/grid, /area/talon_v2/engineering) "uS" = ( @@ -6788,7 +6788,7 @@ /area/talon_v2/engineering/port_store) "wS" = ( /obj/structure/closet/wardrobe/black{ - starts_with = list(/obj/item/clothing/under/color/black = 4, /obj/item/clothing/accessory/storage/black_vest = 4, /obj/item/clothing/accessory/storage/black_drop_pouches = 4, /obj/item/clothing/gloves/black = 4, /obj/item/clothing/head/soft/black = 4, /obj/item/clothing/mask/balaclava = 4, /obj/item/clothing/mask/bandana = 4, /obj/item/clothing/mask/gas/commando = 4, /obj/item/weapon/storage/backpack/messenger/black = 4, /obj/item/weapon/storage/backpack/dufflebag = 4, /obj/item/clothing/shoes/black = 4, /obj/item/clothing/shoes/boots/duty = 4) + starts_with = list(/obj/item/clothing/under/color/black = 4, /obj/item/clothing/accessory/storage/black_vest = 4, /obj/item/clothing/accessory/storage/black_drop_pouches = 4, /obj/item/clothing/gloves/black = 4, /obj/item/clothing/head/soft/black = 4, /obj/item/clothing/mask/balaclava = 4, /obj/item/clothing/mask/bandana = 4, /obj/item/clothing/mask/gas/commando = 4, /obj/item/storage/backpack/messenger/black = 4, /obj/item/storage/backpack/dufflebag = 4, /obj/item/clothing/shoes/black = 4, /obj/item/clothing/shoes/boots/duty = 4) }, /turf/simulated/floor/tiled/techfloor, /area/talon_v2/armory) @@ -6816,10 +6816,10 @@ /obj/structure/closet/crate/secure/phoron{ req_one_access = list(301) }, -/obj/item/weapon/tank/phoron/pressurized{ +/obj/item/tank/phoron/pressurized{ pixel_x = -3 }, -/obj/item/weapon/tank/phoron/pressurized{ +/obj/item/tank/phoron/pressurized{ pixel_x = 3 }, /obj/structure/cable/green{ @@ -6906,7 +6906,7 @@ /area/talon_v2/bridge) "xj" = ( /obj/machinery/vending/engineering{ - products = list(/obj/item/clothing/under/rank/chief_engineer = 4, /obj/item/clothing/under/rank/engineer = 4, /obj/item/clothing/shoes/orange = 4, /obj/item/clothing/head/hardhat = 4, /obj/item/weapon/storage/belt/utility = 4, /obj/item/clothing/glasses/meson = 4, /obj/item/clothing/gloves/yellow = 4, /obj/item/weapon/tool/screwdriver = 12, /obj/item/weapon/tool/crowbar = 12, /obj/item/weapon/tool/wirecutters = 12, /obj/item/device/multitool = 12, /obj/item/weapon/tool/wrench = 12, /obj/item/device/t_scanner = 12, /obj/item/stack/cable_coil/heavyduty = 8, /obj/item/weapon/cell = 8, /obj/item/weapon/weldingtool = 8, /obj/item/clothing/head/welding = 8, /obj/item/weapon/light/tube = 10, /obj/item/clothing/head/hardhat/red = 4, /obj/item/clothing/suit/fire = 4, /obj/item/weapon/stock_parts/scanning_module = 5, /obj/item/weapon/stock_parts/micro_laser = 5, /obj/item/weapon/stock_parts/matter_bin = 5, /obj/item/weapon/stock_parts/manipulator = 5, /obj/item/weapon/stock_parts/console_screen = 5); + products = list(/obj/item/clothing/under/rank/chief_engineer = 4, /obj/item/clothing/under/rank/engineer = 4, /obj/item/clothing/shoes/orange = 4, /obj/item/clothing/head/hardhat = 4, /obj/item/storage/belt/utility = 4, /obj/item/clothing/glasses/meson = 4, /obj/item/clothing/gloves/yellow = 4, /obj/item/tool/screwdriver = 12, /obj/item/tool/crowbar = 12, /obj/item/tool/wirecutters = 12, /obj/item/multitool = 12, /obj/item/tool/wrench = 12, /obj/item/t_scanner = 12, /obj/item/stack/cable_coil/heavyduty = 8, /obj/item/cell = 8, /obj/item/weldingtool = 8, /obj/item/clothing/head/welding = 8, /obj/item/light/tube = 10, /obj/item/clothing/head/hardhat/red = 4, /obj/item/clothing/suit/fire = 4, /obj/item/stock_parts/scanning_module = 5, /obj/item/stock_parts/micro_laser = 5, /obj/item/stock_parts/matter_bin = 5, /obj/item/stock_parts/manipulator = 5, /obj/item/stock_parts/console_screen = 5); req_access = list(301); req_log_access = 301; req_one_access = list(301) @@ -7111,8 +7111,8 @@ /area/talon_v2/secure_storage) "ya" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox/electrical, -/obj/item/weapon/pipe_dispenser, +/obj/item/storage/toolbox/electrical, +/obj/item/pipe_dispenser, /obj/machinery/light/small, /turf/simulated/floor/tiled/techfloor/grid, /area/talon_v2/engineering/star_store) @@ -7124,7 +7124,7 @@ /turf/simulated/floor/plating, /area/talon_v2/engineering/atmospherics) "yd" = ( -/obj/item/device/mass_spectrometer/adv, +/obj/item/mass_spectrometer/adv, /obj/structure/table/standard, /obj/machinery/alarm/talon{ dir = 4; @@ -7208,10 +7208,10 @@ /turf/space, /area/space) "yt" = ( -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/firstaid/o2, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/o2, /obj/structure/closet/walllocker/medical/north, -/obj/item/device/radio/off{ +/obj/item/radio/off{ channels = list("Talon" = 1) }, /turf/simulated/floor/tiled/techfloor, @@ -7234,7 +7234,7 @@ /obj/machinery/alarm/talon{ pixel_y = 24 }, -/obj/item/weapon/paper/talon_escape_pod, +/obj/item/paper/talon_escape_pod, /turf/simulated/floor/tiled/techfloor, /area/shuttle/talonpod) "yw" = ( @@ -7288,14 +7288,14 @@ /turf/simulated/floor/tiled/white, /area/talon_v2/medical) "yF" = ( -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/o2, -/obj/item/weapon/storage/firstaid/o2, -/obj/item/weapon/storage/firstaid/fire, -/obj/item/weapon/storage/firstaid/fire, -/obj/item/weapon/storage/firstaid/adv, -/obj/item/weapon/storage/firstaid/adv, +/obj/item/storage/firstaid/toxin, +/obj/item/storage/firstaid/toxin, +/obj/item/storage/firstaid/o2, +/obj/item/storage/firstaid/o2, +/obj/item/storage/firstaid/fire, +/obj/item/storage/firstaid/fire, +/obj/item/storage/firstaid/adv, +/obj/item/storage/firstaid/adv, /obj/structure/closet/walllocker_double/medical/east, /turf/simulated/floor/tiled/white, /area/talon_v2/medical) @@ -7355,8 +7355,8 @@ }, /obj/structure/table/standard, /obj/machinery/cell_charger, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/firstaid/o2, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/o2, /obj/structure/closet/walllocker/medical/north, /turf/simulated/floor/tiled/techfloor, /area/talon_v2/workroom) @@ -7386,9 +7386,9 @@ /area/talon_v2/engineering/atmospherics) "yY" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/tank/jetpack/carbondioxide, -/obj/item/weapon/tank/jetpack/carbondioxide, -/obj/item/weapon/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, @@ -7408,8 +7408,8 @@ pixel_y = 28 }, /obj/structure/table/rack/steel, -/obj/item/weapon/shovel, -/obj/item/weapon/mining_scanner, +/obj/item/shovel, +/obj/item/mining_scanner, /turf/simulated/floor/tiled/techfloor, /area/talon_v2/refining) "zd" = ( @@ -7740,8 +7740,8 @@ /area/talon_v2/crew_quarters/mine_room) "Az" = ( /obj/structure/table/rack/steel, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, /turf/simulated/floor/tiled/techfloor, /area/talon_v2/secure_storage) "AB" = ( @@ -7896,8 +7896,8 @@ /area/talon_v2/engineering) "Ba" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/device/suit_cooling_unit, -/obj/item/weapon/tank/oxygen, +/obj/item/suit_cooling_unit, +/obj/item/tank/oxygen, /turf/simulated/floor/tiled/techfloor, /area/talon_v2/secure_storage) "Bb" = ( @@ -7972,21 +7972,21 @@ /area/talon_v2/bridge) "Bt" = ( /obj/structure/table/steel, -/obj/item/device/radio/off{ +/obj/item/radio/off{ channels = list("Talon" = 1); pixel_y = 6 }, -/obj/item/device/radio/off{ +/obj/item/radio/off{ channels = list("Talon" = 1); pixel_x = -6; pixel_y = 4 }, -/obj/item/device/radio/off{ +/obj/item/radio/off{ channels = list("Talon" = 1); pixel_x = 6; pixel_y = 4 }, -/obj/item/device/radio/off{ +/obj/item/radio/off{ channels = list("Talon" = 1) }, /turf/simulated/floor/tiled/techfloor, @@ -8055,7 +8055,7 @@ /area/talon_v2/engineering/atmospherics) "BH" = ( /obj/structure/closet/wardrobe/black{ - starts_with = list(/obj/item/clothing/under/color/black = 4, /obj/item/clothing/accessory/storage/black_vest = 4, /obj/item/clothing/accessory/storage/black_drop_pouches = 4, /obj/item/clothing/gloves/black = 4, /obj/item/clothing/head/soft/black = 4, /obj/item/clothing/mask/balaclava = 4, /obj/item/clothing/mask/bandana = 4, /obj/item/clothing/mask/gas/commando = 4, /obj/item/weapon/storage/backpack/messenger/black = 4, /obj/item/weapon/storage/backpack/dufflebag = 4, /obj/item/clothing/shoes/black = 4, /obj/item/clothing/shoes/boots/duty = 4) + starts_with = list(/obj/item/clothing/under/color/black = 4, /obj/item/clothing/accessory/storage/black_vest = 4, /obj/item/clothing/accessory/storage/black_drop_pouches = 4, /obj/item/clothing/gloves/black = 4, /obj/item/clothing/head/soft/black = 4, /obj/item/clothing/mask/balaclava = 4, /obj/item/clothing/mask/bandana = 4, /obj/item/clothing/mask/gas/commando = 4, /obj/item/storage/backpack/messenger/black = 4, /obj/item/storage/backpack/dufflebag = 4, /obj/item/clothing/shoes/black = 4, /obj/item/clothing/shoes/boots/duty = 4) }, /turf/simulated/floor/tiled/techfloor, /area/talon_v2/crew_quarters/restrooms) @@ -8105,7 +8105,7 @@ /area/talon_v2/medical) "BU" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery, /obj/item/stack/nanopaste{ pixel_x = -7; pixel_y = -4 @@ -8114,7 +8114,7 @@ pixel_x = 9; pixel_y = -4 }, -/obj/item/device/robotanalyzer{ +/obj/item/robotanalyzer{ pixel_y = -8 }, /obj/machinery/light, @@ -8142,8 +8142,8 @@ /area/shuttle/talonpod) "BX" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/adv{ pixel_x = 2; pixel_y = 5 }, @@ -8170,7 +8170,7 @@ /area/talon_v2/secure_storage) "Cd" = ( /obj/structure/closet/secure_closet/talon_pilot, -/obj/item/device/radio/off{ +/obj/item/radio/off{ channels = list("Talon" = 1) }, /obj/machinery/light{ @@ -8183,7 +8183,7 @@ /obj/item/clothing/suit/space/anomaly, /obj/item/clothing/head/helmet/space/anomaly, /obj/item/clothing/mask/breath, -/obj/item/weapon/storage/belt/archaeology, +/obj/item/storage/belt/archaeology, /obj/machinery/light_switch{ pixel_y = 24 }, @@ -8217,10 +8217,10 @@ /area/talon_v2/ofd_ops) "Cy" = ( /obj/structure/table/standard, -/obj/item/device/defib_kit/jumper_kit/loaded, -/obj/item/device/defib_kit/loaded, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/device/sleevemate, +/obj/item/defib_kit/jumper_kit/loaded, +/obj/item/defib_kit/loaded, +/obj/item/storage/belt/medical/emt, +/obj/item/sleevemate, /turf/simulated/floor/tiled/white, /area/talon_v2/medical) "CA" = ( @@ -8279,7 +8279,7 @@ /turf/simulated/floor/tiled/techmaint, /area/talon_v2/maintenance/wing_port) "CF" = ( -/obj/item/weapon/storage/box/bodybags, +/obj/item/storage/box/bodybags, /obj/item/roller, /obj/item/roller{ pixel_y = 8 @@ -8319,11 +8319,11 @@ }, /obj/structure/catwalk, /obj/structure/closet/walllocker_double/west, -/obj/item/weapon/cell/apc, -/obj/item/weapon/cell/apc, +/obj/item/cell/apc, +/obj/item/cell/apc, /obj/random/maintenance/engineering, /obj/random/maintenance/engineering, -/obj/item/device/radio/off{ +/obj/item/radio/off{ channels = list("Talon" = 1) }, /obj/item/clothing/suit/radiation, @@ -8401,8 +8401,8 @@ pixel_y = -24 }, /obj/structure/table/standard, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /obj/structure/cable/green{ icon_state = "0-8" }, @@ -8611,7 +8611,7 @@ /area/talon_v2/maintenance/wing_starboard) "DZ" = ( /obj/structure/closet/secure_closet/talon_captain, -/obj/item/device/radio/off{ +/obj/item/radio/off{ channels = list("Talon" = 1) }, /turf/simulated/floor/wood, @@ -8722,8 +8722,8 @@ dir = 4 }, /obj/structure/closet/secure_closet/talon_miner, -/obj/item/weapon/storage/box/nifsofts_mining, -/obj/item/device/radio/off{ +/obj/item/storage/box/nifsofts_mining, +/obj/item/radio/off{ channels = list("Talon" = 1) }, /turf/simulated/floor/wood, @@ -8932,8 +8932,8 @@ /area/talon_v2/maintenance/aft_starboard) "Fc" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/tank/oxygen, -/obj/item/weapon/tank/oxygen, +/obj/item/tank/oxygen, +/obj/item/tank/oxygen, /turf/simulated/floor/tiled/techfloor, /area/talon_v2/secure_storage) "Fd" = ( @@ -8995,9 +8995,9 @@ dir = 4 }, /obj/structure/closet/walllocker/medical/north, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/firstaid/o2, -/obj/item/device/radio/off{ +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/o2, +/obj/item/radio/off{ channels = list("Talon" = 1) }, /turf/simulated/floor/wood, @@ -9295,7 +9295,7 @@ /obj/machinery/computer/ship/disperser{ dir = 8 }, -/obj/item/weapon/paper/talon_cannon, +/obj/item/paper/talon_cannon, /obj/machinery/alarm/talon{ pixel_y = 24 }, @@ -9588,7 +9588,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, -/obj/item/weapon/paper/talon_guard, +/obj/item/paper/talon_guard, /turf/simulated/floor/carpet, /area/talon_v2/crew_quarters/sec_room) "Hj" = ( @@ -10052,7 +10052,7 @@ "Ip" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/effect/floor_decal/corner/black/diagonal, -/obj/item/weapon/stool/baystool/padded{ +/obj/item/stool/baystool/padded{ dir = 4 }, /turf/simulated/floor/tiled/white, @@ -10126,7 +10126,7 @@ /area/talon_v2/maintenance/wing_starboard) "Ix" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/donut, +/obj/item/storage/box/donut, /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/machinery/alarm/talon{ dir = 4; @@ -10689,7 +10689,7 @@ pixel_y = 24 }, /obj/structure/table/rack/shelf/steel, -/obj/item/device/radio/off{ +/obj/item/radio/off{ channels = list("Talon" = 1); pixel_y = 6 }, @@ -10753,13 +10753,13 @@ /area/talon_v2/engineering/port_store) "KN" = ( /obj/structure/table/steel, -/obj/item/weapon/pickaxe/drill, +/obj/item/pickaxe/drill, /obj/machinery/button/remote/blast_door{ id = "talon_boat_cockpit"; pixel_x = 6; pixel_y = 28 }, -/obj/item/device/radio/off{ +/obj/item/radio/off{ channels = list("Talon" = 1) }, /obj/machinery/embedded_controller/radio/simple_docking_controller{ @@ -10881,7 +10881,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, -/obj/item/weapon/paper/talon_power, +/obj/item/paper/talon_power, /turf/simulated/floor/carpet, /area/talon_v2/crew_quarters/eng_room) "Ln" = ( @@ -11126,7 +11126,7 @@ /obj/structure/table/steel, /obj/machinery/camera/network/talon, /obj/machinery/cell_charger, -/obj/item/weapon/cell/apc, +/obj/item/cell/apc, /turf/simulated/floor/tiled/techfloor/grid, /area/talon_v2/engineering) "LO" = ( @@ -11243,9 +11243,9 @@ icon_state = "1-2" }, /obj/structure/closet/walllocker/medical/west, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/firstaid/o2, -/obj/item/device/radio/off{ +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/o2, +/obj/item/radio/off{ channels = list("Talon" = 1) }, /turf/simulated/floor/tiled/techmaint, @@ -11276,7 +11276,7 @@ pixel_x = -24 }, /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/whetstone, +/obj/item/whetstone, /turf/simulated/floor/tiled/techfloor, /area/talon_v2/armory) "Mj" = ( @@ -11660,7 +11660,7 @@ /obj/structure/handrail{ dir = 1 }, -/obj/item/weapon/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, /obj/machinery/atmospherics/pipe/simple/hidden/aux{ dir = 9 }, @@ -11668,7 +11668,7 @@ /area/shuttle/talonboat) "NB" = ( /obj/structure/closet/walllocker_double/south, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /obj/item/stack/cable_coil/green, /obj/item/stack/cable_coil/green, /obj/machinery/atmospherics/pipe/simple/hidden/fuel, @@ -11722,7 +11722,7 @@ /obj/structure/handrail{ dir = 1 }, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /obj/machinery/atmospherics/pipe/simple/hidden/aux{ dir = 5 }, @@ -12305,7 +12305,7 @@ pixel_x = 5; pixel_y = 24 }, -/obj/item/weapon/storage/backpack/dufflebag/talon, +/obj/item/storage/backpack/dufflebag/talon, /turf/simulated/floor/tiled/techfloor, /area/talon_v2/armory) "PC" = ( @@ -12445,11 +12445,11 @@ /area/talon_v2/anomaly_storage) "Qc" = ( /obj/structure/table/steel, -/obj/item/device/measuring_tape, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/storage/excavation, +/obj/item/measuring_tape, +/obj/item/tool/wrench, +/obj/item/storage/excavation, /obj/item/stack/flag/yellow, -/obj/item/weapon/pickaxe, +/obj/item/pickaxe, /turf/simulated/floor/tiled/techfloor, /area/talon_v2/anomaly_storage) "Qe" = ( @@ -13110,7 +13110,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, -/obj/item/weapon/paper/talon_pilot, +/obj/item/paper/talon_pilot, /obj/machinery/firealarm{ dir = 8; pixel_x = -24 @@ -13362,7 +13362,7 @@ /area/talon_v2/crew_quarters/eng_room) "Ti" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/handcuffs, +/obj/item/storage/box/handcuffs, /turf/simulated/floor/tiled/techfloor, /area/talon_v2/brig) "Tk" = ( @@ -14240,7 +14240,7 @@ /obj/structure/closet/secure_closet/chemical{ req_access = list(301) }, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the 'Space' from Space Cleaner and written in Chemistry. Scrawled on the back is, 'Okay, whoever filled this with polytrinic acid, it was only funny the first time. It was hard enough replacing the CMO's first cat!'"; name = "Chemistry Cleaner" }, @@ -14553,10 +14553,10 @@ /area/talon_v2/hangar) "Xh" = ( /obj/structure/closet/secure_closet/talon_engineer, -/obj/item/device/radio/off{ +/obj/item/radio/off{ channels = list("Talon" = 1) }, -/obj/item/weapon/storage/box/nifsofts_engineering, +/obj/item/storage/box/nifsofts_engineering, /turf/simulated/floor/wood, /area/talon_v2/crew_quarters/eng_room) "Xi" = ( @@ -14700,7 +14700,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/talon{ +/obj/item/reagent_containers/food/drinks/glass2/coffeemug/talon{ pixel_x = 6; pixel_y = -1 }, @@ -14758,8 +14758,8 @@ pixel_x = 28 }, /obj/structure/closet/walllocker/medical/south, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/firstaid/o2, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/o2, /turf/simulated/floor/wood, /area/talon_v2/crew_quarters/meditation) "XU" = ( @@ -14802,10 +14802,10 @@ /obj/structure/cable/green{ icon_state = "1-2" }, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/firstaid/o2, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/o2, /obj/structure/closet/walllocker/medical/east, -/obj/item/device/radio/off{ +/obj/item/radio/off{ channels = list("Talon" = 1) }, /turf/simulated/floor/tiled/techmaint, @@ -14858,8 +14858,8 @@ "Yj" = ( /obj/structure/catwalk, /obj/structure/closet/walllocker_double/west, -/obj/item/weapon/storage/toolbox/electrical, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/electrical, +/obj/item/storage/toolbox/mechanical, /obj/item/stack/cable_coil/green, /turf/simulated/floor/plating, /area/talon_v2/engineering) @@ -14871,8 +14871,8 @@ dir = 8 }, /obj/structure/table/rack/steel, -/obj/item/weapon/storage/bag/ore, -/obj/item/weapon/pickaxe/drill, +/obj/item/storage/bag/ore, +/obj/item/pickaxe/drill, /obj/item/stack/marker_beacon/thirty, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 @@ -15173,7 +15173,7 @@ dir = 6 }, /obj/effect/floor_decal/corner/black/diagonal, -/obj/item/weapon/stool/baystool/padded{ +/obj/item/stool/baystool/padded{ dir = 4 }, /turf/simulated/floor/tiled/white, @@ -15347,7 +15347,7 @@ /area/space) "ZF" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, /turf/simulated/floor/tiled/techfloor, /area/talon_v2/secure_storage) "ZH" = ( diff --git a/maps/om_adventure/grasscave.dm b/maps/om_adventure/grasscave.dm index be3a3ec2dc0..c52271f59a1 100644 --- a/maps/om_adventure/grasscave.dm +++ b/maps/om_adventure/grasscave.dm @@ -1,4 +1,4 @@ -#if MAP_TEST +#ifdef MAP_TEST #include "pois/darkstar.dmm" #include "pois/darktear1.dmm" #include "pois/darktear2.dmm" @@ -111,7 +111,7 @@ /datum/map_template/om_adventure/outdoor/darkstar name = "Darkstar" desc = "A mysterious shape!" - mappath = 'pois/darkstar.dmm' + mappath = "maps/om_adventure/pois/darkstar.dmm" cost = 5 /area/om_adventure/poi/darktear1 @@ -120,7 +120,7 @@ /datum/map_template/om_adventure/cave/darktear1 name = "darktear1" desc = "A mysterious shape!" - mappath = 'pois/darktear1.dmm' + mappath = "maps/om_adventure/pois/darktear1.dmm" cost = 5 /area/om_adventure/poi/darktear2 @@ -129,7 +129,7 @@ /datum/map_template/om_adventure/cave/darktear2 name = "darktear2" desc = "A mysterious shape!" - mappath = 'pois/darktear2.dmm' + mappath = "maps/om_adventure/pois/darktear2.dmm" cost = 5 /area/om_adventure/poi/darktear3 @@ -138,7 +138,7 @@ /datum/map_template/om_adventure/cave/darktear3 name = "darktear3" desc = "A mysterious shape!" - mappath = 'pois/darktear3.dmm' + mappath = "maps/om_adventure/pois/darktear3.dmm" cost = 5 /area/om_adventure/poi/darktear4 @@ -147,7 +147,7 @@ /datum/map_template/om_adventure/cave/darktear4 name = "darktear4" desc = "A mysterious shape!" - mappath = 'pois/darktear4.dmm' + mappath = "maps/om_adventure/pois/darktear4.dmm" cost = 5 /area/om_adventure/poi/darktear_sample @@ -156,7 +156,7 @@ /datum/map_template/om_adventure/cave/darktear_sample name = "darktear (Samples)" //1 uncommon-or-rare sample desc = "Ooh, spooky" - mappath = 'pois/darktear_sample.dmm' + mappath = "maps/om_adventure/pois/darktear_sample.dmm" cost = 5 /area/om_adventure/poi/fleshtear1 @@ -165,7 +165,7 @@ /datum/map_template/om_adventure/cave/fleshtear1 name = "fleshtear1" desc = "Wow gross!" - mappath = 'pois/fleshtear1.dmm' + mappath = "maps/om_adventure/pois/fleshtear1.dmm" cost = 5 /area/om_adventure/poi/fleshtear2 @@ -174,7 +174,7 @@ /datum/map_template/om_adventure/cave/fleshtear2 name = "fleshtear2" desc = "Wow gross!" - mappath = 'pois/fleshtear2.dmm' + mappath = "maps/om_adventure/pois/fleshtear2.dmm" cost = 5 /area/om_adventure/poi/fleshtear3 @@ -183,7 +183,7 @@ /datum/map_template/om_adventure/cave/fleshtear3 name = "fleshtear3" desc = "Wow gross!" - mappath = 'pois/fleshtear3.dmm' + mappath = "maps/om_adventure/pois/fleshtear3.dmm" cost = 5 /area/om_adventure/poi/fleshtear4 @@ -192,7 +192,7 @@ /datum/map_template/om_adventure/cave/fleshtear4 name = "fleshtear4" desc = "Wow gross!" - mappath = 'pois/fleshtear4.dmm' + mappath = "maps/om_adventure/pois/fleshtear4.dmm" cost = 5 /area/om_adventure/poi/fleshtear_samples @@ -201,7 +201,7 @@ /datum/map_template/om_adventure/cave/fleshtear_samples name = "fleshtear (Samples)" //3 common/uncommon samples desc = "Ooh, meaty" - mappath = 'pois/fleshtear_samples.dmm' + mappath = "maps/om_adventure/pois/fleshtear_samples.dmm" cost = 5 /area/om_adventure/poi/cabin1 @@ -210,7 +210,7 @@ /datum/map_template/om_adventure/outdoor/cabin1 name = "cabin1" desc = "A comfy home!" - mappath = 'pois/cabin1.dmm' + mappath = "maps/om_adventure/pois/cabin1.dmm" cost = 20 /area/om_adventure/poi/cabin2 @@ -219,7 +219,7 @@ /datum/map_template/om_adventure/outdoor/cabin2 name = "cabin2" desc = "A comfy home!" - mappath = 'pois/cabin2.dmm' + mappath = "maps/om_adventure/pois/cabin2.dmm" cost = 20 /area/om_adventure/poi/cabin3 @@ -228,7 +228,7 @@ /datum/map_template/om_adventure/outdoor/cabin3 name = "cabin3" desc = "A comfy... home?" - mappath = 'pois/cabin3.dmm' + mappath = "maps/om_adventure/pois/cabin3.dmm" cost = 10 /area/om_adventure/poi/camp @@ -237,7 +237,7 @@ /datum/map_template/om_adventure/outdoor/camp name = "Camp" desc = "A camp!" - mappath = 'pois/camp.dmm' + mappath = "maps/om_adventure/pois/camp.dmm" cost = 20 /area/om_adventure/poi/shuttlewreck1 @@ -246,7 +246,7 @@ /datum/map_template/om_adventure/outdoor/shuttlewreck1 name = "Shuttle wreck" desc = "Long abandoned!" - mappath = 'pois/shuttlewreck1.dmm' + mappath = "maps/om_adventure/pois/shuttlewreck1.dmm" cost = 5 /area/om_adventure/poi/shuttlewreck2 @@ -255,7 +255,7 @@ /datum/map_template/om_adventure/outdoor/shuttlewreck2 name = "Shuttle wreck" desc = "Long abandoned!" - mappath = 'pois/shuttlewreck2.dmm' + mappath = "maps/om_adventure/pois/shuttlewreck2.dmm" cost = 10 /area/om_adventure/poi/shuttlewreck3 @@ -264,7 +264,7 @@ /datum/map_template/om_adventure/outdoor/shuttlewreck3 name = "Shuttle wreck" desc = "Long abandoned!" - mappath = 'pois/shuttlewreck3.dmm' + mappath = "maps/om_adventure/pois/shuttlewreck3.dmm" cost = 5 /area/om_adventure/poi/shuttlewreck4 @@ -273,7 +273,7 @@ /datum/map_template/om_adventure/outdoor/shuttlewreck4 name = "Shuttle wreck" desc = "Long abandoned!" - mappath = 'pois/shuttlewreck4.dmm' + mappath = "maps/om_adventure/pois/shuttlewreck4.dmm" cost = 10 /area/om_adventure/poi/medicalcenter @@ -282,7 +282,7 @@ /datum/map_template/om_adventure/outdoor/medicalcenter name = "Medical Center" desc = "Maybe they used to heal people here." - mappath = 'pois/medicalcenter.dmm' + mappath = "maps/om_adventure/pois/medicalcenter.dmm" cost = 10 /area/om_adventure/poi/shippart1 @@ -291,7 +291,7 @@ /datum/map_template/om_adventure/outdoor/shippart1 name = "Ship Part" desc = "Something bad happened here." - mappath = 'pois/shippart1.dmm' + mappath = "maps/om_adventure/pois/shippart1.dmm" cost = 10 /area/om_adventure/poi/woodentemple @@ -300,7 +300,7 @@ /datum/map_template/om_adventure/cave/woodentemple name = "Wooden Temple" desc = "A comfy wooden temple." - mappath = 'pois/woodentemple.dmm' + mappath = "maps/om_adventure/pois/woodentemple.dmm" cost = 10 /area/om_adventure/poi/alienchamber1 @@ -309,7 +309,7 @@ /datum/map_template/om_adventure/cave/alienchamber1 name = "Alien Chamber" desc = "A mysterious alien chamber!" - mappath = 'pois/alienchamber1.dmm' + mappath = "maps/om_adventure/pois/alienchamber1.dmm" cost = 10 /area/om_adventure/poi/alienchamber2 @@ -318,7 +318,7 @@ /datum/map_template/om_adventure/cave/alienchamber2 name = "Alien Chamber" desc = "A mysterious alien chamber!" - mappath = 'pois/alienchamber2.dmm' + mappath = "maps/om_adventure/pois/alienchamber2.dmm" cost = 10 /area/om_adventure/poi/alienchamber3 @@ -327,7 +327,7 @@ /datum/map_template/om_adventure/cave/alienchamber3 name = "Alien Chamber" desc = "A mysterious alien chamber!" - mappath = 'pois/alienchamber3.dmm' + mappath = "maps/om_adventure/pois/alienchamber3.dmm" cost = 10 /area/om_adventure/poi/alienchamber4 @@ -336,7 +336,7 @@ /datum/map_template/om_adventure/cave/alienchamber4 name = "Alien Chamber" desc = "A mysterious alien chamber!" - mappath = 'pois/alienchamber4.dmm' + mappath = "maps/om_adventure/pois/alienchamber4.dmm" cost = 10 /obj/tether_away_spawner/spookyland @@ -344,7 +344,7 @@ icon = 'icons/mob/randomlandmarks.dmi' icon_state = "monster" - faction = "spookyland" + faction = FACTION_SPOOKYLAND prob_spawn = 50 prob_fall = 10 //guard = 10 //Don't wander too far, to stay alive. @@ -360,4 +360,4 @@ /mob/living/simple_mob/mechanical/infectionbot = 30, /mob/living/simple_mob/animal/passive/cat/bluespace = 1, /mob/living/simple_mob/animal/passive/dog/void_puppy = 1 - ) \ No newline at end of file + ) diff --git a/maps/om_adventure/pois/cabin1.dmm b/maps/om_adventure/pois/cabin1.dmm index 419919404e6..526b47d668c 100644 --- a/maps/om_adventure/pois/cabin1.dmm +++ b/maps/om_adventure/pois/cabin1.dmm @@ -42,7 +42,7 @@ /area/om_adventure/poi/cabin1) "k" = ( /obj/structure/table/reinforced, -/obj/item/weapon/flame/candle, +/obj/item/flame/candle, /turf/simulated/floor/bmarble, /area/om_adventure/poi/cabin1) "r" = ( @@ -61,7 +61,7 @@ /turf/simulated/floor/plating, /area/om_adventure/poi/cabin1) "v" = ( -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /obj/structure/bed/double/padded, /obj/structure/curtain/black, /turf/simulated/floor/carpet, @@ -92,7 +92,7 @@ "F" = ( /obj/structure/table/darkglass, /obj/random/awayloot/looseloot, -/obj/item/weapon/flame/candle, +/obj/item/flame/candle, /turf/simulated/floor/wood, /area/om_adventure/poi/cabin1) "G" = ( diff --git a/maps/om_adventure/pois/cabin2.dmm b/maps/om_adventure/pois/cabin2.dmm index d0d13c3951f..15027353402 100644 --- a/maps/om_adventure/pois/cabin2.dmm +++ b/maps/om_adventure/pois/cabin2.dmm @@ -83,7 +83,7 @@ /area/om_adventure/poi/cabin2) "x" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /obj/structure/curtain/black, /turf/simulated/floor/carpet, /area/om_adventure/poi/cabin2) diff --git a/maps/om_adventure/pois/camp.dmm b/maps/om_adventure/pois/camp.dmm index ced5709932e..e2810a4630c 100644 --- a/maps/om_adventure/pois/camp.dmm +++ b/maps/om_adventure/pois/camp.dmm @@ -39,7 +39,7 @@ /area/om_adventure/poi/camp) "U" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/storage/box/matches, +/obj/item/storage/box/matches, /turf/simulated/floor/outdoors/newdirt, /area/om_adventure/poi/camp) "Y" = ( diff --git a/maps/om_adventure/pois/medicalcenter.dmm b/maps/om_adventure/pois/medicalcenter.dmm index 7130db01d95..0f969aee311 100644 --- a/maps/om_adventure/pois/medicalcenter.dmm +++ b/maps/om_adventure/pois/medicalcenter.dmm @@ -12,7 +12,7 @@ /area/om_adventure/poi/medicalcenter) "m" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/structure/curtain/medical, /obj/tether_away_spawner/spookyland, /turf/simulated/floor/tiled/eris/white/orangecorner, @@ -92,7 +92,7 @@ /area/om_adventure/poi/medicalcenter) "I" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/structure/curtain/medical, /turf/simulated/floor/tiled/eris/white/orangecorner, /area/om_adventure/poi/medicalcenter) diff --git a/maps/om_adventure/pois/shippart1.dmm b/maps/om_adventure/pois/shippart1.dmm index 8fe8459aa26..b23765b2923 100644 --- a/maps/om_adventure/pois/shippart1.dmm +++ b/maps/om_adventure/pois/shippart1.dmm @@ -37,7 +37,7 @@ /turf/simulated/floor/tiled/eris/dark/techfloor, /area/om_adventure/poi/shippart1) "r" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/template_noop, /area/template_noop) "s" = ( @@ -80,7 +80,7 @@ /turf/template_noop, /area/template_noop) "M" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /obj/effect/floor_decal/rust, /turf/simulated/floor/plating/eris/under, /area/om_adventure/poi/shippart1) @@ -89,7 +89,7 @@ /turf/template_noop, /area/template_noop) "Q" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/tiled/eris/dark/monofloor, /area/om_adventure/poi/shippart1) "R" = ( @@ -97,11 +97,11 @@ /turf/simulated/floor/tiled/eris/dark/monofloor, /area/om_adventure/poi/shippart1) "T" = ( -/obj/item/weapon/material/shard/shrapnel, +/obj/item/material/shard/shrapnel, /turf/simulated/floor/weird_things/dark, /area/om_adventure/poi/shippart1) "X" = ( -/obj/item/weapon/material/shard/shrapnel, +/obj/item/material/shard/shrapnel, /turf/template_noop, /area/template_noop) "Z" = ( diff --git a/maps/om_adventure/pois/shuttlewreck2.dmm b/maps/om_adventure/pois/shuttlewreck2.dmm index 50e8e0b4831..6f8961f3c2b 100644 --- a/maps/om_adventure/pois/shuttlewreck2.dmm +++ b/maps/om_adventure/pois/shuttlewreck2.dmm @@ -136,7 +136,7 @@ /area/om_adventure/poi/shuttlewreck2) "K" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/tank/phoron, +/obj/item/tank/phoron, /obj/random/awayloot/looseloot, /turf/simulated/floor/plating, /area/om_adventure/poi/shuttlewreck2) diff --git a/maps/om_adventure/pois/shuttlewreck3.dmm b/maps/om_adventure/pois/shuttlewreck3.dmm index 005ceb21c9d..6477505b03e 100644 --- a/maps/om_adventure/pois/shuttlewreck3.dmm +++ b/maps/om_adventure/pois/shuttlewreck3.dmm @@ -17,15 +17,15 @@ /turf/simulated/shuttle/wall, /area/om_adventure/poi/shuttlewreck3) "m" = ( -/obj/item/weapon/material/shard/shrapnel, +/obj/item/material/shard/shrapnel, /turf/template_noop, /area/template_noop) "p" = ( -/obj/item/weapon/material/shard/shrapnel, +/obj/item/material/shard/shrapnel, /turf/simulated/floor/weird_things/dark, /area/om_adventure/poi/shuttlewreck3) "u" = ( -/obj/item/weapon/material/shard/shrapnel, +/obj/item/material/shard/shrapnel, /obj/random/awayloot/looseloot, /turf/simulated/shuttle/floor/white, /area/om_adventure/poi/shuttlewreck3) @@ -39,7 +39,7 @@ /area/om_adventure/poi/shuttlewreck3) "F" = ( /obj/structure/grille/broken, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/plating, /area/om_adventure/poi/shuttlewreck3) "H" = ( @@ -59,7 +59,7 @@ /turf/simulated/floor/weird_things/dark, /area/om_adventure/poi/shuttlewreck3) "Q" = ( -/obj/item/weapon/material/shard/shrapnel, +/obj/item/material/shard/shrapnel, /obj/effect/gibspawner/human, /obj/random/contraband/nofail, /turf/simulated/shuttle/floor/white, diff --git a/maps/om_adventure/pois/woodentemple.dmm b/maps/om_adventure/pois/woodentemple.dmm index d12c7fa6807..5a2939b1a6e 100644 --- a/maps/om_adventure/pois/woodentemple.dmm +++ b/maps/om_adventure/pois/woodentemple.dmm @@ -20,7 +20,7 @@ /turf/simulated/floor/outdoors/grass, /area/om_adventure/poi/woodentemple) "f" = ( -/obj/item/weapon/material/shard/shrapnel, +/obj/item/material/shard/shrapnel, /turf/simulated/floor, /area/om_adventure/poi/woodentemple) "g" = ( @@ -28,7 +28,7 @@ /turf/simulated/floor/wood, /area/om_adventure/poi/woodentemple) "j" = ( -/obj/item/weapon/material/shard/shrapnel, +/obj/item/material/shard/shrapnel, /turf/simulated/floor/wood, /area/om_adventure/poi/woodentemple) "k" = ( @@ -78,7 +78,7 @@ /turf/simulated/floor/wood, /area/om_adventure/poi/woodentemple) "C" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/wood, /area/om_adventure/poi/woodentemple) "E" = ( diff --git a/maps/overmap/bearcat/bearcat.dmm b/maps/overmap/bearcat/bearcat.dmm index 71481ed9121..c96ca1919ba 100644 --- a/maps/overmap/bearcat/bearcat.dmm +++ b/maps/overmap/bearcat/bearcat.dmm @@ -8,7 +8,7 @@ "ah" = (/obj/machinery/computer/helm,/turf/simulated/floor/bluegrid,/area/ship/scrap/command) "ai" = (/obj/machinery/computer/station_alert,/turf/simulated/floor/bluegrid,/area/ship/scrap/command) "aj" = (/obj/effect/mapinfo/ship/bearcat,/turf/space,/area) -"ak" = (/obj/structure/table/standard,/obj/machinery/light,/obj/item/device/radio,/obj/item/device/radio/intercom{pixel_y = -32},/turf/simulated/floor{ icon_state = "gcircuit"; dir = 6},/area/ship/scrap/command) +"ak" = (/obj/structure/table/standard,/obj/machinery/light,/obj/item/radio,/obj/item/radio/intercom{pixel_y = -32},/turf/simulated/floor{ icon_state = "gcircuit"; dir = 6},/area/ship/scrap/command) "al" = (/obj/structure/stool/bed/chair/comfy/teal{ icon_state = "comfychair_teal"; dir = 1},/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/obj/effect/landmark/start{name = "Captain"},/turf/simulated/floor{ icon_state = "gcircuitoff"; dir = 2},/area/ship/scrap/command) "am" = (/obj/structure/table/standard,/obj/machinery/light,/obj/machinery/newscaster{pixel_y = -32},/obj/machinery/door_control{id = "scraplock"; name = "External Lockdown"},/turf/simulated/floor{ icon_state = "gcircuit"; dir = 6},/area/ship/scrap/command) "an" = (/turf/simulated/wall/r_wall,/area/ship/scrap/command) @@ -22,9 +22,9 @@ "av" = (/turf/simulated/floor/bluegrid,/area/ship/scrap/comms) "aw" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/window/reinforced{dir = 8},/obj/machinery/power/apc{dir = 1; name = "Communications APC"},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/light_switch{pixel_x = 28},/turf/simulated/floor{ icon_state = "vault"; dir = 5},/area/ship/scrap/comms) "ax" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/power/apc{dir = 4; name = "Bridge APC"},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/atmospherics/pipe/simple{dir = 2; icon_state = "intact"; level = 1},/turf/simulated/floor{ icon_state = "neutralfull"; dir = 4},/area/ship/scrap/command) -"ay" = (/obj/machinery/light{ icon_state = "tube1"; dir = 8},/obj/item/weapon/gun/energy/stunrevolver,/obj/structure/closet/cabinet,/turf/simulated/floor{ icon_state = "cult"; dir = 2},/area/ship/scrap/command/captain) -"az" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/captain,/turf/simulated/floor{ icon_state = "cult"; dir = 2},/area/ship/scrap/command/captain) -"aA" = (/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/structure/table/woodentable,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/light_switch{pixel_y = 25},/turf/simulated/floor{ icon_state = "cult"; dir = 2},/area/ship/scrap/command/captain) +"ay" = (/obj/machinery/light{ icon_state = "tube1"; dir = 8},/obj/item/gun/energy/stunrevolver,/obj/structure/closet/cabinet,/turf/simulated/floor{ icon_state = "cult"; dir = 2},/area/ship/scrap/command/captain) +"az" = (/obj/structure/stool/bed,/obj/item/bedsheet/captain,/turf/simulated/floor{ icon_state = "cult"; dir = 2},/area/ship/scrap/command/captain) +"aA" = (/obj/item/paper_bin,/obj/item/pen,/obj/structure/table/woodentable,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/light_switch{pixel_y = 25},/turf/simulated/floor{ icon_state = "cult"; dir = 2},/area/ship/scrap/command/captain) "aB" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "scraplock"; name = "External Blast Doors"; opacity = 0},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/floor{icon_state = "white"},/area/ship/scrap/comms) "aC" = (/obj/machinery/telecomms/allinone,/turf/simulated/floor/bluegrid,/area/ship/scrap/comms) "aD" = (/obj/machinery/door/window/westleft,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; level = 2; on = 1},/turf/simulated/floor{ icon_state = "vault"; dir = 5},/area/ship/scrap/comms) @@ -35,9 +35,9 @@ "aI" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; level = 1; on = 1},/turf/simulated/floor{ icon_state = "cult"; dir = 2},/area/ship/scrap/command/captain) "aJ" = (/obj/structure/stool/bed/chair/comfy/brown,/turf/simulated/floor{ icon_state = "cult"; dir = 2},/area/ship/scrap/command/captain) "aK" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/bluegrid,/area/ship/scrap/comms) -"aL" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/window/reinforced{dir = 8},/obj/item/device/radio/intercom{pixel_y = -32},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{ icon_state = "vault"; dir = 5},/area/ship/scrap/comms) +"aL" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/window/reinforced{dir = 8},/obj/item/radio/intercom{pixel_y = -32},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{ icon_state = "vault"; dir = 5},/area/ship/scrap/comms) "aM" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple{dir = 2; icon_state = "intact"; level = 1},/turf/simulated/floor{ icon_state = "neutralfull"; dir = 4},/area/ship/scrap/command) -"aN" = (/obj/machinery/light{ icon_state = "tube1"; dir = 8},/obj/item/device/radio/intercom{pixel_x = -32},/obj/structure/table/standard,/obj/item/weapon/gun/projectile/shotgun/pump/combat{desc = "When words don't strike hard enough."; name = "Solid Argument"},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/floor{ icon_state = "cult"; dir = 2},/area/ship/scrap/command/captain) +"aN" = (/obj/machinery/light{ icon_state = "tube1"; dir = 8},/obj/item/radio/intercom{pixel_x = -32},/obj/structure/table/standard,/obj/item/gun/projectile/shotgun/pump/combat{desc = "When words don't strike hard enough."; name = "Solid Argument"},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/floor{ icon_state = "cult"; dir = 2},/area/ship/scrap/command/captain) "aO" = (/obj/structure/cable{ icon_state = "4-9"},/turf/simulated/floor{ icon_state = "cult"; dir = 2},/area/ship/scrap/command/captain) "aP" = (/obj/structure/table/woodentable,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "Captain's Quarters APC"},/turf/simulated/floor{ icon_state = "cult"; dir = 2},/area/ship/scrap/command/captain) "aQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple{dir = 2; icon_state = "intact"; level = 1},/turf/simulated/floor{ icon_state = "neutralfull"; dir = 4},/area/ship/scrap/command) @@ -73,7 +73,7 @@ "bu" = (/obj/machinery/door/airlock/external,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "scraplock"; name = "External Blast Doors"; opacity = 0},/turf/simulated/floor{ icon_state = "floorgrime"; dir = 6},/area/ship/scrap/dock) "bv" = (/turf/simulated/floor{ icon_state = "loadingareadirty2"; dir = 4},/area/ship/scrap/dock) "bw" = (/obj/machinery/light/small{ icon_state = "bulb1"; dir = 4},/turf/simulated/floor{ icon_state = "bot"; dir = 2},/area/ship/scrap/dock) -"bx" = (/obj/structure/closet/walllocker/emerglocker/south,/obj/item/device/radio/intercom{pixel_x = -32},/turf/simulated/floor{ icon_state = "neutralfull"; dir = 4},/area/ship/scrap/dock) +"bx" = (/obj/structure/closet/walllocker/emerglocker/south,/obj/item/radio/intercom{pixel_x = -32},/turf/simulated/floor{ icon_state = "neutralfull"; dir = 4},/area/ship/scrap/dock) "by" = (/obj/machinery/atmospherics/pipe/simple{ icon_state = "intact"; dir = 6; level = 2},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{ icon_state = "neutralfull"; dir = 4},/area/ship/scrap/dock) "bz" = (/obj/machinery/atmospherics/pipe/simple{ icon_state = "intact"; dir = 9; level = 2},/obj/machinery/light_switch{pixel_x = 28},/obj/machinery/light_switch{pixel_x = 28},/turf/simulated/floor{ icon_state = "neutralfull"; dir = 4},/area/ship/scrap/dock) "bA" = (/obj/machinery/light/small{ icon_state = "bulb1"; dir = 8},/turf/simulated/floor{ icon_state = "bot"; dir = 2},/area/ship/scrap/dock) @@ -82,9 +82,9 @@ "bD" = (/obj/structure/window/reinforced{dir = 1},/turf/space,/area) "bE" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 1},/turf/space,/area) "bF" = (/obj/machinery/atmospherics/pipe/simple{ icon_state = "intact"; dir = 6; level = 2},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{ icon_state = "floorgrime"; dir = 6},/area/ship/scrap/dock) -"bG" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; level = 2; on = 1},/obj/item/device/radio/intercom{pixel_y = -32},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{ icon_state = "bot"; dir = 2},/area/ship/scrap/dock) +"bG" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; level = 2; on = 1},/obj/item/radio/intercom{pixel_y = -32},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{ icon_state = "bot"; dir = 2},/area/ship/scrap/dock) "bH" = (/obj/machinery/atmospherics/pipe/simple{ icon_state = "intact"; dir = 2; level = 2},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/maintenance_hatch{name = "Hatch"; normalspeed = 0},/turf/simulated/floor,/area/ship/scrap/dock) -"bI" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; level = 2; on = 1},/obj/item/device/radio/intercom{pixel_y = -32},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -24},/turf/simulated/floor{ icon_state = "bot"; dir = 2},/area/ship/scrap/dock) +"bI" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; level = 2; on = 1},/obj/item/radio/intercom{pixel_y = -32},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -24},/turf/simulated/floor{ icon_state = "bot"; dir = 2},/area/ship/scrap/dock) "bJ" = (/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; dir = 10; pixel_x = 0; level = 2; initialize_directions = 10},/turf/simulated/floor,/area/ship/scrap/dock) "bK" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 1},/obj/machinery/light{ icon_state = "tube1"; dir = 8},/turf/space,/area/ship/scrap/dock) "bL" = (/turf/simulated/shuttle/wall{ icon_state = "swall_s"; dir = 1},/area/ship/scrap/shuttle/outgoing) @@ -107,12 +107,12 @@ "cc" = (/obj/machinery/light/small{ icon_state = "bulb1"; dir = 4},/obj/machinery/atmospherics/pipe/simple{ icon_state = "intact"; dir = 2; level = 2},/turf/simulated/floor/plating,/area/ship/scrap/crew) "cd" = (/turf/simulated/wall/r_wall,/area/ship/scrap/crew/saloon) "ce" = (/obj/machinery/atmospherics/pipe/simple{ icon_state = "intact"; dir = 2; level = 2},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/maintenance_hatch{name = "Hatch"; normalspeed = 0},/turf/simulated/floor{icon_state = "white"},/area/ship/scrap/crew/saloon) -"cf" = (/obj/machinery/light/small{ icon_state = "bulb1"; dir = 8},/obj/item/weapon/crowbar,/obj/machinery/atmospherics/pipe/simple{ icon_state = "intact"; dir = 2; level = 2},/turf/simulated/floor/plating,/area/ship/scrap/crew) +"cf" = (/obj/machinery/light/small{ icon_state = "bulb1"; dir = 8},/obj/item/crowbar,/obj/machinery/atmospherics/pipe/simple{ icon_state = "intact"; dir = 2; level = 2},/turf/simulated/floor/plating,/area/ship/scrap/crew) "cg" = (/turf/simulated/wall/r_wall,/area/ship/scrap/crew/dorms) "ch" = (/obj/structure/sign/poster,/turf/simulated/wall,/area/ship/scrap/crew/dorms) "ci" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "scraplock"; name = "External Blast Doors"; opacity = 0},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/floor{icon_state = "white"},/area/ship/scrap/crew/dorms) "cj" = (/turf/simulated/wall,/area/ship/scrap/crew/dorms) -"ck" = (/obj/structure/window/reinforced/tinted{ icon_state = "twindow"; dir = 4},/obj/machinery/shower{ icon_state = "shower"; dir = 4},/obj/structure/window/reinforced/tinted{dir = 1},/obj/item/weapon/soap,/turf/simulated/floor{ icon_state = "hydrofloor"; dir = 6},/area/ship/scrap/crew/toilets) +"ck" = (/obj/structure/window/reinforced/tinted{ icon_state = "twindow"; dir = 4},/obj/machinery/shower{ icon_state = "shower"; dir = 4},/obj/structure/window/reinforced/tinted{dir = 1},/obj/item/soap,/turf/simulated/floor{ icon_state = "hydrofloor"; dir = 6},/area/ship/scrap/crew/toilets) "cl" = (/obj/machinery/light/small{ icon_state = "bulb1"; dir = 8},/obj/structure/toilet,/obj/structure/window/reinforced/tinted{dir = 1},/obj/structure/window/reinforced/tinted{ icon_state = "twindow"; dir = 4},/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"},/obj/effect/decal/cleanable/dirt,/obj/effect/landmark/start{name = "Cargo Technician"},/turf/simulated/floor{ icon_state = "hydrofloor"; dir = 6},/area/ship/scrap/crew/toilets) "cm" = (/obj/machinery/light/small{ icon_state = "bulb1"; dir = 8},/obj/structure/mirror{pixel_y = 29},/obj/structure/sink{pixel_y = 18},/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"},/obj/structure/window/reinforced/tinted{ icon_state = "twindow"; dir = 4},/obj/structure/window/reinforced/tinted{dir = 1},/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{ icon_state = "hydrofloor"; dir = 6},/area/ship/scrap/crew/toilets) "cn" = (/obj/machinery/atmospherics/pipe/simple{ icon_state = "intact"; dir = 2; level = 2},/obj/machinery/door/airlock/maintenance_hatch{name = "Hatch"; normalspeed = 0},/turf/simulated/floor/plating,/area/ship/scrap/crew) @@ -123,7 +123,7 @@ "cs" = (/obj/structure/closet/walllocker/emerglocker/north,/turf/simulated/floor,/area/ship/scrap/crew/saloon) "ct" = (/obj/machinery/vending/coffee,/turf/simulated/floor{ icon_state = "orange"; dir = 4},/area/ship/scrap/crew/saloon) "cu" = (/obj/machinery/light/small{ icon_state = "bulb1"; dir = 8},/obj/structure/closet/wardrobe/pjs,/turf/simulated/floor{ icon_state = "floorgrime"; dir = 6},/area/ship/scrap/crew/dorms) -"cv" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/blue,/turf/simulated/floor,/area/ship/scrap/crew/dorms) +"cv" = (/obj/structure/stool/bed,/obj/item/bedsheet/blue,/turf/simulated/floor,/area/ship/scrap/crew/dorms) "cw" = (/obj/structure/closet/secure_closet/personal,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor,/area/ship/scrap/crew/dorms) "cx" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "scraplock"; name = "External Blast Doors"; opacity = 0},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/floor{icon_state = "white"},/area/ship/scrap/crew/toilets) "cy" = (/obj/machinery/door/window/westleft{base_state = "right"; dir = 4; icon_state = "right"; name = "Reception Window"; opacity = 1; req_access_txt = "0"},/obj/machinery/light/small{ icon_state = "bulb1"; dir = 8},/turf/simulated/floor{ icon_state = "hydrofloor"; dir = 6},/area/ship/scrap/crew/toilets) @@ -140,7 +140,7 @@ "cJ" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8; icon_state = "manifold"; level = 2},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/simulated/floor{ icon_state = "floorgrime"; dir = 6},/area/ship/scrap/crew) "cK" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/machinery/door/airlock/maintenance_hatch{name = "Hatch"; normalspeed = 0},/turf/simulated/floor{ icon_state = "floorgrime"; dir = 6},/area/ship/scrap/crew/dorms) "cL" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{ icon_state = "floorgrime"; dir = 6},/area/ship/scrap/crew/dorms) -"cM" = (/obj/structure/stool/bed,/obj/machinery/atmospherics/unary/vent_pump{dir = 8; level = 2; on = 1},/obj/item/weapon/bedsheet/brown,/turf/simulated/floor{ icon_state = "floorgrime"; dir = 6},/area/ship/scrap/crew/dorms) +"cM" = (/obj/structure/stool/bed,/obj/machinery/atmospherics/unary/vent_pump{dir = 8; level = 2; on = 1},/obj/item/bedsheet/brown,/turf/simulated/floor{ icon_state = "floorgrime"; dir = 6},/area/ship/scrap/crew/dorms) "cN" = (/obj/structure/closet/secure_closet/personal,/turf/simulated/floor,/area/ship/scrap/crew/dorms) "cO" = (/obj/machinery/shower{ icon_state = "shower"; dir = 4},/obj/structure/window/reinforced/tinted{ icon_state = "twindow"; dir = 4},/obj/structure/window/reinforced/tinted,/turf/simulated/floor{ icon_state = "hydrofloor"; dir = 6},/area/ship/scrap/crew/toilets) "cP" = (/obj/structure/toilet{ icon_state = "toilet00"; dir = 1},/obj/structure/window/reinforced/tinted,/obj/structure/window/reinforced/tinted{ icon_state = "twindow"; dir = 4},/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"},/obj/effect/decal/cleanable/dirt,/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor{ icon_state = "hydrofloor"; dir = 6},/area/ship/scrap/crew/toilets) @@ -150,11 +150,11 @@ "cT" = (/obj/effect/decal/cleanable/dirt,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/vending/cigarette,/turf/simulated/floor{ icon_state = "orange"; dir = 8},/area/ship/scrap/crew/saloon) "cU" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{ icon_state = "floorgrime"; dir = 6},/area/ship/scrap/crew/saloon) "cV" = (/obj/structure/stool,/obj/machinery/atmospherics/pipe/simple{ icon_state = "intact"; dir = 2; level = 2},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{ icon_state = "floorgrime"; dir = 6},/area/ship/scrap/crew/saloon) -"cW" = (/obj/machinery/light/small,/obj/structure/disposalpipe/segment{dir = 4},/obj/item/device/radio/intercom{pixel_y = -32},/turf/simulated/floor{ icon_state = "floorgrime"; dir = 6},/area/ship/scrap/crew/saloon) +"cW" = (/obj/machinery/light/small,/obj/structure/disposalpipe/segment{dir = 4},/obj/item/radio/intercom{pixel_y = -32},/turf/simulated/floor{ icon_state = "floorgrime"; dir = 6},/area/ship/scrap/crew/saloon) "cX" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/light_switch{pixel_x = 28},/turf/simulated/floor{ icon_state = "orange"; dir = 4},/area/ship/scrap/crew/saloon) "cY" = (/obj/machinery/light/small{ icon_state = "bulb1"; dir = 4},/obj/machinery/atmospherics/pipe/simple{ icon_state = "intact"; dir = 2; level = 2},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{ icon_state = "floorgrime"; dir = 6},/area/ship/scrap/crew) -"cZ" = (/obj/effect/decal/cleanable/dirt,/obj/item/device/radio/intercom{pixel_x = -32},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/ship/scrap/crew/dorms) -"da" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/orange,/turf/simulated/floor,/area/ship/scrap/crew/dorms) +"cZ" = (/obj/effect/decal/cleanable/dirt,/obj/item/radio/intercom{pixel_x = -32},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/ship/scrap/crew/dorms) +"da" = (/obj/structure/stool/bed,/obj/item/bedsheet/orange,/turf/simulated/floor,/area/ship/scrap/crew/dorms) "db" = (/turf/simulated/wall/r_wall,/area/ship/scrap/crew/kitchen) "dc" = (/turf/simulated/wall,/area/ship/scrap/crew/kitchen) "dd" = (/obj/machinery/atmospherics/pipe/simple{ icon_state = "intact"; dir = 2; level = 2},/obj/structure/disposalpipe/segment,/obj/structure/closet/walllocker/emerglocker/east,/obj/machinery/light_switch{pixel_x = -25},/turf/simulated/floor{ icon_state = "floorgrime"; dir = 6},/area/ship/scrap/crew) @@ -162,14 +162,14 @@ "df" = (/obj/machinery/atmospherics/pipe/simple{ icon_state = "intact"; dir = 2; level = 2},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/maintenance_hatch{name = "Hatch"; normalspeed = 0},/turf/simulated/floor,/area/ship/scrap/cargo) "dg" = (/obj/machinery/atmospherics/pipe/simple{ icon_state = "intact"; dir = 2; level = 2},/obj/machinery/light_switch{pixel_x = -25},/turf/simulated/floor,/area/ship/scrap/crew) "dh" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable,/obj/machinery/power/apc{name = "Dorms APC"},/obj/machinery/light_switch{pixel_x = -25},/turf/simulated/floor,/area/ship/scrap/crew/dorms) -"di" = (/obj/structure/stool/bed,/obj/structure/closet/walllocker/emerglocker/south,/obj/item/weapon/bedsheet/green,/turf/simulated/floor,/area/ship/scrap/crew/dorms) +"di" = (/obj/structure/stool/bed,/obj/structure/closet/walllocker/emerglocker/south,/obj/item/bedsheet/green,/turf/simulated/floor,/area/ship/scrap/crew/dorms) "dj" = (/obj/structure/closet/secure_closet/personal,/obj/machinery/light/small{ icon_state = "bulb1"; dir = 4},/turf/simulated/floor,/area/ship/scrap/crew/dorms) "dk" = (/obj/structure/table/standard,/obj/machinery/reagentgrinder,/turf/simulated/floor{ icon_state = "bar"; dir = 6},/area/ship/scrap/crew/kitchen) -"dl" = (/obj/machinery/processor,/obj/item/device/radio/intercom{pixel_y = 32},/turf/simulated/floor{ icon_state = "bar"; dir = 6},/area/ship/scrap/crew/kitchen) +"dl" = (/obj/machinery/processor,/obj/item/radio/intercom{pixel_y = 32},/turf/simulated/floor{ icon_state = "bar"; dir = 6},/area/ship/scrap/crew/kitchen) "dm" = (/obj/structure/closet/walllocker/emerglocker/north,/obj/structure/closet/secure_closet/freezer/fridge,/obj/machinery/light/small{ icon_state = "bulb1"; dir = 4},/turf/simulated/floor{ icon_state = "stage_bleft"; dir = 6},/area/ship/scrap/crew/kitchen) "dn" = (/obj/machinery/atmospherics/pipe/simple{ icon_state = "intact"; dir = 2; level = 2},/obj/structure/disposalpipe/segment,/obj/machinery/power/apc{dir = 4; name = "Crew Deck APC"},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor,/area/ship/scrap/crew) "do" = (/obj/structure/closet/crate,/turf/simulated/floor{ icon_state = "bot"; dir = 2},/area/ship/scrap/cargo) -"dp" = (/obj/machinery/light/small{ icon_state = "bulb1"; dir = 1},/obj/item/device/radio/intercom{pixel_y = 32},/turf/simulated/floor{ icon_state = "bot"; dir = 2},/area/ship/scrap/cargo) +"dp" = (/obj/machinery/light/small{ icon_state = "bulb1"; dir = 1},/obj/item/radio/intercom{pixel_y = 32},/turf/simulated/floor{ icon_state = "bot"; dir = 2},/area/ship/scrap/cargo) "dq" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple{ icon_state = "intact"; dir = 2; level = 2},/turf/simulated/floor{ icon_state = "floorgrime"; dir = 6},/area/ship/scrap/cargo) "dr" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{ icon_state = "bot"; dir = 2},/area/ship/scrap/cargo) "ds" = (/obj/effect/decal/cleanable/dirt,/obj/effect/landmark/start{name = "Cargo Technician"},/turf/simulated/floor{ icon_state = "bot"; dir = 2},/area/ship/scrap/cargo) @@ -191,9 +191,9 @@ "dI" = (/obj/structure/sign/redcross,/turf/simulated/wall,/area/ship/scrap/crew/medbay) "dJ" = (/obj/machinery/sleeper,/obj/structure/sign/nosmoking_2{pixel_y = 28},/turf/simulated/floor{icon_state = "white"},/area/ship/scrap/crew/medbay) "dK" = (/obj/machinery/sleep_console,/obj/machinery/light{ icon_state = "tube1"; dir = 1},/turf/simulated/floor{icon_state = "white"},/area/ship/scrap/crew/medbay) -"dL" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/medical,/obj/item/device/radio/intercom{pixel_y = 32},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "white"},/area/ship/scrap/crew/medbay) +"dL" = (/obj/structure/stool/bed,/obj/item/bedsheet/medical,/obj/item/radio/intercom{pixel_y = 32},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "white"},/area/ship/scrap/crew/medbay) "dM" = (/turf/simulated/floor{ icon_state = "wall_thermite"; dir = 6},/area/ship/scrap/maintenance/engine) -"dN" = (/obj/structure/table/standard,/obj/machinery/light/small{ icon_state = "bulb1"; dir = 8},/obj/item/weapon/storage/box/donkpockets,/turf/simulated/floor{ icon_state = "bar"; dir = 6},/area/ship/scrap/crew/kitchen) +"dN" = (/obj/structure/table/standard,/obj/machinery/light/small{ icon_state = "bulb1"; dir = 8},/obj/item/storage/box/donkpockets,/turf/simulated/floor{ icon_state = "bar"; dir = 6},/area/ship/scrap/crew/kitchen) "dO" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{ icon_state = "bar"; dir = 6},/area/ship/scrap/crew/kitchen) "dP" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; level = 2; on = 1},/obj/structure/disposalpipe/segment{ icon_state = "conpipe-c"; dir = 4},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{ icon_state = "stage_bleft"; dir = 6},/area/ship/scrap/crew/kitchen) "dQ" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/machinery/door/airlock/maintenance_hatch{name = "Hatch"; normalspeed = 0},/turf/simulated/floor,/area/ship/scrap/crew/kitchen) @@ -211,7 +211,7 @@ "ec" = (/turf/simulated/floor{icon_state = "white"},/area/ship/scrap/crew/medbay) "ed" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "scraplock"; name = "External Blast Doors"; opacity = 0},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/floor{icon_state = "white"},/area/ship/scrap/crew/medbay) "ee" = (/obj/structure/sign{ icon_state = "radiation"},/turf/simulated/wall/r_wall,/area/ship/scrap/maintenance/engine) -"ef" = (/obj/item/weapon/storage/pill_bottle/happy,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/ship/scrap/maintenance/engine) +"ef" = (/obj/item/storage/pill_bottle/happy,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/ship/scrap/maintenance/engine) "eg" = (/obj/machinery/light/small{ icon_state = "bulb1"; dir = 1},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/ship/scrap/maintenance/engine) "eh" = (/obj/machinery/door/airlock/maintenance_hatch{name = "Hatch"; normalspeed = 0},/turf/simulated/floor/plating,/area/ship/scrap/maintenance/engine) "ei" = (/turf/simulated/floor{ icon_state = "platingdmg1"; dir = 2},/area) @@ -221,15 +221,15 @@ "em" = (/obj/machinery/atmospherics/pipe/simple{ icon_state = "intact"; dir = 2; level = 2},/obj/structure/disposalpipe/segment,/turf/simulated/floor{ icon_state = "floorgrime"; dir = 6},/area/ship/scrap/crew) "en" = (/obj/machinery/light/small{ icon_state = "bulb1"; dir = 8},/obj/machinery/light_switch{pixel_x = -25},/turf/simulated/floor{ icon_state = "bot"; dir = 2},/area/ship/scrap/cargo) "eo" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable,/obj/machinery/power/apc{dir = 4; name = "Cargo Hold APC"},/turf/simulated/floor{ icon_state = "bot"; dir = 2},/area/ship/scrap/cargo) -"ep" = (/obj/structure/table/standard,/obj/item/weapon/storage/pill_bottle/kelotane,/obj/item/weapon/storage/box/syringes,/obj/structure/cable,/obj/machinery/power/apc{name = "Medical Bay APC"},/obj/machinery/light_switch{pixel_x = -25},/turf/simulated/floor{icon_state = "white"},/area/ship/scrap/crew/medbay) -"eq" = (/obj/structure/table/standard,/obj/item/weapon/storage/pill_bottle/antitox,/obj/item/weapon/storage/pill_bottle/kelotane,/obj/item/clothing/tie/stethoscope,/turf/simulated/floor{icon_state = "white"},/area/ship/scrap/crew/medbay) -"er" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid,/obj/item/device/healthanalyzer,/turf/simulated/floor{icon_state = "white"},/area/ship/scrap/crew/medbay) -"es" = (/obj/item/device/radio,/turf/simulated/floor/plating,/area) -"et" = (/obj/machinery/light/small{ icon_state = "bulb1"; dir = 1},/obj/item/weapon/coin/gold,/obj/item/weapon/coin/silver,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/ship/scrap/maintenance/engine) +"ep" = (/obj/structure/table/standard,/obj/item/storage/pill_bottle/kelotane,/obj/item/storage/box/syringes,/obj/structure/cable,/obj/machinery/power/apc{name = "Medical Bay APC"},/obj/machinery/light_switch{pixel_x = -25},/turf/simulated/floor{icon_state = "white"},/area/ship/scrap/crew/medbay) +"eq" = (/obj/structure/table/standard,/obj/item/storage/pill_bottle/antitox,/obj/item/storage/pill_bottle/kelotane,/obj/item/clothing/tie/stethoscope,/turf/simulated/floor{icon_state = "white"},/area/ship/scrap/crew/medbay) +"er" = (/obj/structure/table/standard,/obj/item/storage/firstaid,/obj/item/healthanalyzer,/turf/simulated/floor{icon_state = "white"},/area/ship/scrap/crew/medbay) +"es" = (/obj/item/radio,/turf/simulated/floor/plating,/area) +"et" = (/obj/machinery/light/small{ icon_state = "bulb1"; dir = 1},/obj/item/coin/gold,/obj/item/coin/silver,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/ship/scrap/maintenance/engine) "eu" = (/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/ship/scrap/maintenance/engine) "ev" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/ship/scrap/maintenance/engine) "ew" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/light/small{ icon_state = "bulb1"; dir = 1},/turf/simulated/floor/plating/airless,/area/ship/scrap/maintenance/engine) -"ex" = (/obj/item/weapon/screwdriver,/turf/simulated/floor/plating,/area) +"ex" = (/obj/item/screwdriver,/turf/simulated/floor/plating,/area) "ey" = (/turf/simulated/wall,/area/ship/scrap/crew/wash) "ez" = (/obj/structure/closet/crate,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/turf/simulated/floor{ icon_state = "bot"; dir = 2},/area/ship/scrap/cargo) "eA" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple{ icon_state = "intact"; dir = 2; level = 2},/turf/simulated/floor,/area/ship/scrap/cargo) @@ -242,7 +242,7 @@ "eH" = (/turf/simulated/floor{ icon_state = "platingdmg2"; dir = 2},/area) "eI" = (/turf/simulated/wall/r_wall,/area/ship/scrap/crew/wash) "eJ" = (/obj/structure/closet/wardrobe/grey,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -24},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/ship/scrap/crew/wash) -"eK" = (/obj/machinery/light/small{ icon_state = "bulb1"; dir = 1},/obj/item/device/radio/intercom{pixel_y = 32},/obj/machinery/atmospherics/pipe/simple{ icon_state = "intact"; dir = 6; level = 2},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/ship/scrap/crew/wash) +"eK" = (/obj/machinery/light/small{ icon_state = "bulb1"; dir = 1},/obj/item/radio/intercom{pixel_y = 32},/obj/machinery/atmospherics/pipe/simple{ icon_state = "intact"; dir = 6; level = 2},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/ship/scrap/crew/wash) "eL" = (/obj/structure/disposalpipe/segment{ icon_state = "conpipe-c"; dir = 4},/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/obj/machinery/power/apc{dir = 1; name = "Washroom APC"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/ship/scrap/crew/wash) "eM" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/machinery/door/airlock/maintenance_hatch{name = "Hatch"; normalspeed = 0},/turf/simulated/floor{ icon_state = "floorgrime"; dir = 6},/area/ship/scrap/crew/wash) "eN" = (/obj/machinery/atmospherics/pipe/manifold{dir = 4; icon_state = "manifold"; initialize_directions = 11; level = 2},/obj/structure/disposalpipe/segment,/obj/structure/disposalpipe/junction,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{ icon_state = "floorgrime"; dir = 6},/area/ship/scrap/crew) @@ -263,13 +263,13 @@ "fc" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1; pressure_checks = 0},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/ship/scrap/crew/wash) "fd" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{ icon_state = "pipe-t"; dir = 1},/obj/machinery/light_switch{pixel_x = 28},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/ship/scrap/crew/wash) "fe" = (/obj/machinery/light/small{ icon_state = "bulb1"; dir = 8},/obj/machinery/atmospherics/pipe/simple{ icon_state = "intact"; dir = 2; level = 2},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{ icon_state = "stage_stairs"; dir = 6},/area/ship/scrap/crew) -"ff" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/electrical,/obj/item/weapon/storage/toolbox/electrical{pixel_x = 7; pixel_y = 4},/obj/item/device/t_scanner,/obj/item/weapon/cell/high,/obj/machinery/light_switch{pixel_y = 25},/turf/simulated/floor{ icon_state = "orange"; dir = 8},/area/ship/scrap/maintenance/storage) -"fg" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/light/small{ icon_state = "bulb1"; dir = 1},/obj/item/device/radio/intercom{pixel_y = 32},/obj/machinery/vending/tool,/turf/simulated/floor,/area/ship/scrap/maintenance/storage) +"ff" = (/obj/structure/table/standard,/obj/item/storage/toolbox/electrical,/obj/item/storage/toolbox/electrical{pixel_x = 7; pixel_y = 4},/obj/item/t_scanner,/obj/item/cell/high,/obj/machinery/light_switch{pixel_y = 25},/turf/simulated/floor{ icon_state = "orange"; dir = 8},/area/ship/scrap/maintenance/storage) +"fg" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/light/small{ icon_state = "bulb1"; dir = 1},/obj/item/radio/intercom{pixel_y = 32},/obj/machinery/vending/tool,/turf/simulated/floor,/area/ship/scrap/maintenance/storage) "fh" = (/obj/machinery/atmospherics/pipe/simple{ icon_state = "intact"; dir = 2; level = 2},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{ icon_state = "stage_stairs"; dir = 6},/area/ship/scrap/maintenance/storage) "fi" = (/obj/structure/window/reinforced{dir = 8},/obj/item/stack/rods,/obj/item/stack/rods,/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/structure/table/standard,/turf/simulated/floor,/area/ship/scrap/maintenance/storage) -"fj" = (/obj/structure/table/standard,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/clothing/suit/space/rig,/obj/item/clothing/shoes/magboots,/obj/item/clothing/head/helmet/space/rig,/obj/item/clothing/mask/breath,/turf/simulated/floor{ icon_state = "orange"; dir = 4},/area/ship/scrap/maintenance/storage) +"fj" = (/obj/structure/table/standard,/obj/item/tank/jetpack/oxygen,/obj/item/clothing/suit/space/rig,/obj/item/clothing/shoes/magboots,/obj/item/clothing/head/helmet/space/rig,/obj/item/clothing/mask/breath,/turf/simulated/floor{ icon_state = "orange"; dir = 4},/area/ship/scrap/maintenance/storage) "fk" = (/obj/structure/closet/walllocker/emerglocker/west,/obj/machinery/atmospherics/pipe/simple{ icon_state = "intact"; dir = 2; level = 2},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{ icon_state = "stage_stairs"; dir = 6},/area/ship/scrap/crew) -"fl" = (/obj/effect/decal/cleanable/generic,/obj/item/device/flashlight,/turf/simulated/floor/plating,/area/ship/scrap/unused2) +"fl" = (/obj/effect/decal/cleanable/generic,/obj/item/flashlight,/turf/simulated/floor/plating,/area/ship/scrap/unused2) "fm" = (/turf/simulated/floor/plating,/area/ship/scrap/unused2) "fn" = (/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "scraplock"; name = "External Blast Doors"; opacity = 0},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/floor{icon_state = "white"},/area/ship/scrap/unused2) "fo" = (/turf/simulated/floor{ icon_state = "platingdmg3"; dir = 2},/area) @@ -277,11 +277,11 @@ "fq" = (/obj/structure/table/standard,/obj/machinery/light/small,/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/ship/scrap/crew/wash) "fr" = (/turf/simulated/floor{ icon_state = "wall_thermite"; dir = 2},/area/ship/scrap/crew/wash) "fs" = (/obj/structure/closet/walllocker/emerglocker/east,/obj/machinery/atmospherics/pipe/simple{ icon_state = "intact"; dir = 2; level = 2},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{ icon_state = "floorgrime"; dir = 6},/area/ship/scrap/crew) -"ft" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = 5; pixel_y = -7},/obj/item/weapon/storage/toolbox/mechanical,/obj/item/clothing/head/welding,/obj/item/device/analyzer,/turf/simulated/floor{ icon_state = "orange"; dir = 8},/area/ship/scrap/maintenance/storage) +"ft" = (/obj/structure/table/standard,/obj/item/storage/toolbox/mechanical{pixel_x = 5; pixel_y = -7},/obj/item/storage/toolbox/mechanical,/obj/item/clothing/head/welding,/obj/item/analyzer,/turf/simulated/floor{ icon_state = "orange"; dir = 8},/area/ship/scrap/maintenance/storage) "fu" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/stool,/turf/simulated/floor{ icon_state = "floorgrime"; dir = 6},/area/ship/scrap/maintenance/storage) "fv" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8; icon_state = "manifold"; level = 2},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/ship/scrap/maintenance/storage) "fw" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; level = 2; on = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{ icon_state = "floorgrime"; dir = 6},/area/ship/scrap/maintenance/storage) -"fx" = (/obj/structure/table/standard,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/clothing/suit/space/rig,/obj/item/clothing/shoes/magboots,/obj/item/clothing/head/helmet/space/rig,/obj/item/clothing/mask/breath,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{ icon_state = "orange"; dir = 4},/area/ship/scrap/maintenance/storage) +"fx" = (/obj/structure/table/standard,/obj/item/tank/jetpack/oxygen,/obj/item/clothing/suit/space/rig,/obj/item/clothing/shoes/magboots,/obj/item/clothing/head/helmet/space/rig,/obj/item/clothing/mask/breath,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{ icon_state = "orange"; dir = 4},/area/ship/scrap/maintenance/storage) "fy" = (/obj/machinery/light/small{ icon_state = "bulb1"; dir = 4},/obj/machinery/atmospherics/pipe/simple{ icon_state = "intact"; dir = 2; level = 2},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/ship/scrap/crew) "fz" = (/turf/simulated/floor{ icon_state = "wall_thermite"; dir = 2},/area/ship/scrap/unused2) "fA" = (/turf/simulated/wall/r_wall,/area/ship/scrap/unused1) @@ -301,8 +301,8 @@ "fO" = (/obj/machinery/alarm{pixel_y = 25},/obj/machinery/light/small{ icon_state = "bulb1"; dir = 1},/turf/simulated/floor{ icon_state = "floorgrime"; dir = 6},/area/ship/scrap/unused1) "fP" = (/obj/structure/closet/walllocker/emerglocker/east,/obj/structure/reagent_dispensers,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor{ icon_state = "floorgrime"; dir = 6},/area/ship/scrap/unused1) "fQ" = (/obj/machinery/atmospherics/pipe/simple{ icon_state = "intact"; dir = 2; level = 2},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock/maintenance_hatch{name = "Hatch"; normalspeed = 0},/turf/simulated/floor{ icon_state = "floorgrime"; dir = 6},/area/ship/scrap/maintenance) -"fR" = (/obj/structure/table/standard,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/weapon/storage/box/lights/bulbs,/obj/item/weapon/storage/box/lights/mixed,/obj/structure/cable,/obj/machinery/power/apc{name = "Tools Storage APC"},/turf/simulated/floor{ icon_state = "orange"; dir = 8},/area/ship/scrap/maintenance/storage) -"fS" = (/obj/structure/table/standard,/obj/item/clothing/head/welding,/obj/item/device/radio,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor,/area/ship/scrap/maintenance/storage) +"fR" = (/obj/structure/table/standard,/obj/item/flashlight,/obj/item/flashlight,/obj/item/storage/box/lights/bulbs,/obj/item/storage/box/lights/mixed,/obj/structure/cable,/obj/machinery/power/apc{name = "Tools Storage APC"},/turf/simulated/floor{ icon_state = "orange"; dir = 8},/area/ship/scrap/maintenance/storage) +"fS" = (/obj/structure/table/standard,/obj/item/clothing/head/welding,/obj/item/radio,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor,/area/ship/scrap/maintenance/storage) "fT" = (/obj/machinery/atmospherics/pipe/simple{ icon_state = "intact"; dir = 2; level = 2},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{ icon_state = "floorgrime"; dir = 6},/area/ship/scrap/maintenance/storage) "fU" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/light/small,/obj/effect/decal/cleanable/dirt,/obj/structure/dispenser/oxygen,/turf/simulated/floor{ icon_state = "floorgrime"; dir = 6},/area/ship/scrap/maintenance/storage) "fV" = (/obj/machinery/recharge_station,/turf/simulated/floor{ icon_state = "orange"; dir = 4},/area/ship/scrap/maintenance/storage) @@ -318,7 +318,7 @@ "gf" = (/obj/machinery/atmospherics/pipe/simple{ icon_state = "intact"; dir = 2; level = 2},/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/plating,/area/ship/scrap/maintenance) "gg" = (/obj/structure/falserwall,/turf/simulated/floor/plating,/area/ship/scrap/unused3) "gh" = (/obj/structure/stool,/turf/simulated/floor/plating,/area/ship/scrap/unused3) -"gi" = (/obj/structure/table/reinforced,/obj/item/device/flashlight/lamp,/obj/item/weapon/spacecash/c1000,/turf/simulated/floor/plating,/area/ship/scrap/unused3) +"gi" = (/obj/structure/table/reinforced,/obj/item/flashlight/lamp,/obj/item/spacecash/c1000,/turf/simulated/floor/plating,/area/ship/scrap/unused3) "gj" = (/obj/machinery/power/apc{name = "Fire Closet APC"},/obj/structure/cable,/turf/simulated/floor{ icon_state = "floorgrime"; dir = 6},/area/ship/scrap/unused1) "gk" = (/obj/structure/reagent_dispensers,/turf/simulated/floor{ icon_state = "floorgrime"; dir = 6},/area/ship/scrap/unused1) "gl" = (/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact"; level = 2},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{ icon_state = "floorgrime"; dir = 6},/area/ship/scrap/maintenance) @@ -326,7 +326,7 @@ "gn" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{ icon_state = "floorgrime"; dir = 6},/area/ship/scrap/maintenance) "go" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/turf/simulated/floor/plating,/area/ship/scrap/maintenance) "gp" = (/obj/machinery/atmospherics/pipe/manifold4w{level = 2},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 8; icon_state = "bulb1"; pixel_y = 16},/turf/simulated/floor,/area/ship/scrap/maintenance) -"gq" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/obj/machinery/light/small{ icon_state = "bulb1"; dir = 1},/obj/item/weapon/crowbar,/turf/simulated/floor/plating,/area/ship/scrap/maintenance) +"gq" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/obj/machinery/light/small{ icon_state = "bulb1"; dir = 1},/obj/item/crowbar,/turf/simulated/floor/plating,/area/ship/scrap/maintenance) "gr" = (/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact"; level = 2},/turf/simulated/floor{ icon_state = "wall_thermite"; dir = 2},/area/ship/scrap/maintenance) "gs" = (/turf/simulated/wall/r_wall,/area/ship/scrap/maintenance/atmos) "gt" = (/turf/simulated/wall,/area/ship/scrap/maintenance/atmos) @@ -341,13 +341,13 @@ "gC" = (/obj/machinery/pipedispenser,/obj/machinery/light/small{dir = 4},/obj/machinery/light_switch{pixel_y = 25},/turf/simulated/floor/plating,/area/ship/scrap/maintenance/atmos) "gD" = (/obj/machinery/power/apc{dir = 1; name = "Maintenance APC"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/disposalpipe/segment,/obj/machinery/computer/engines,/turf/simulated/floor{ icon_state = "bot"; dir = 2},/area/ship/scrap/maintenance) "gE" = (/obj/machinery/light/small{ icon_state = "bulb1"; dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/alarm{pixel_y = 32},/obj/structure/closet/secure_closet/engineering_electrical,/turf/simulated/floor{ icon_state = "bot"; dir = 2},/area/ship/scrap/maintenance) -"gF" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/item/device/radio/intercom{pixel_y = 32},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/closet/toolcloset,/turf/simulated/floor{ icon_state = "bot"; dir = 2},/area/ship/scrap/maintenance) +"gF" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/item/radio/intercom{pixel_y = 32},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/closet/toolcloset,/turf/simulated/floor{ icon_state = "bot"; dir = 2},/area/ship/scrap/maintenance) "gG" = (/obj/machinery/atmospherics/pipe/simple{ icon_state = "intact"; dir = 2; level = 2},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{ icon_state = "floorgrime"; dir = 6},/area/ship/scrap/maintenance) "gH" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/light_switch{pixel_y = 25},/obj/structure/table/standard,/obj/item/ashtray/plastic,/turf/simulated/floor{ icon_state = "floorgrime"; dir = 6},/area/ship/scrap/maintenance) "gI" = (/obj/structure/stool/bed/chair/comfy/brown,/obj/effect/landmark/start{name = "Chief Engineer"},/turf/simulated/floor{ icon_state = "floorgrime"; dir = 6},/area/ship/scrap/maintenance) "gJ" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/machinery/light/small{ icon_state = "bulb1"; dir = 1},/turf/simulated/floor{ icon_state = "floorgrime"; dir = 6},/area/ship/scrap/maintenance) "gK" = (/obj/machinery/power/port_gen/pacman/super,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/apc{dir = 1; name = "Power APC"},/turf/simulated/floor/plating,/area/ship/scrap/maintenance/power) -"gL" = (/obj/structure/table/standard,/obj/item/device/flashlight,/obj/item/weapon/storage/toolbox/electrical{pixel_x = 7; pixel_y = 4},/obj/machinery/light_switch{pixel_y = 25},/turf/simulated/floor/plating,/area/ship/scrap/maintenance/power) +"gL" = (/obj/structure/table/standard,/obj/item/flashlight,/obj/item/storage/toolbox/electrical{pixel_x = 7; pixel_y = 4},/obj/machinery/light_switch{pixel_y = 25},/turf/simulated/floor/plating,/area/ship/scrap/maintenance/power) "gM" = (/obj/structure/closet/crate,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/item/stack/sheet/mineral/uranium{amount = 50},/turf/simulated/floor/plating,/area/ship/scrap/maintenance/power) "gN" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "scraplock"; name = "External Blast Doors"; opacity = 0},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/floor{icon_state = "white"},/area/ship/scrap/maintenance/atmos) "gO" = (/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact"; level = 2},/obj/machinery/meter,/turf/simulated/floor/plating,/area/ship/scrap/maintenance/atmos) diff --git a/maps/overmap/example_sector1.dmm b/maps/overmap/example_sector1.dmm index 7e1f2d4ec09..6cbf083ee3f 100644 --- a/maps/overmap/example_sector1.dmm +++ b/maps/overmap/example_sector1.dmm @@ -13,11 +13,11 @@ "am" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/plating,/area/tcomsat) "an" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating,/area/tcomsat) "ao" = (/turf/simulated/floor/engine,/area/tcommsat/computer) -"ap" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/green,/turf/simulated/floor,/area/tcommsat/computer) +"ap" = (/obj/structure/stool/bed,/obj/item/bedsheet/green,/turf/simulated/floor,/area/tcommsat/computer) "aq" = (/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/tcommsat/computer) -"ar" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/brown,/turf/simulated/floor,/area/tcommsat/computer) +"ar" = (/obj/structure/stool/bed,/obj/item/bedsheet/brown,/turf/simulated/floor,/area/tcommsat/computer) "as" = (/obj/machinery/camera{c_tag = "Lounge"; dir = 2; network = list("Tcomsat")},/turf/simulated/floor,/area/tcommsat/computer) -"at" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/red,/turf/simulated/floor,/area/tcommsat/computer) +"at" = (/obj/structure/stool/bed,/obj/item/bedsheet/red,/turf/simulated/floor,/area/tcommsat/computer) "au" = (/turf/simulated/floor,/area/tcommsat/computer) "av" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 4},/turf/space,/area/tcomsat) "aw" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plating,/area/tcomsat) @@ -27,21 +27,21 @@ "aA" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating,/area/tcomsat) "aB" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 8},/turf/space,/area/tcomsat) "aC" = (/obj/structure/filingcabinet,/turf/simulated/floor,/area/tcommsat/computer) -"aD" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 140; on = 1; pressure_checks = 0},/obj/machinery/camera{c_tag = "Main Computer Room"; dir = 2; network = list("Tcomsat")},/obj/structure/table/standard,/obj/item/weapon/folder/yellow,/obj/item/weapon/folder/yellow,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/tcommsat/computer) -"aE" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin,/obj/item/weapon/pen/blue{pixel_x = -3; pixel_y = 2},/turf/simulated/floor,/area/tcommsat/computer) -"aF" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp,/turf/simulated/floor,/area/tcommsat/computer) -"aG" = (/obj/item/weapon/syntiflesh{name = "Cuban Pete-Meat"},/turf/simulated/floor/engine,/area/tcommsat/computer) -"aH" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = -29; pixel_y = 0},/turf/simulated/floor,/area/tcommsat/computer) +"aD" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 140; on = 1; pressure_checks = 0},/obj/machinery/camera{c_tag = "Main Computer Room"; dir = 2; network = list("Tcomsat")},/obj/structure/table/standard,/obj/item/folder/yellow,/obj/item/folder/yellow,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/tcommsat/computer) +"aE" = (/obj/structure/table/standard,/obj/item/paper_bin,/obj/item/pen/blue{pixel_x = -3; pixel_y = 2},/turf/simulated/floor,/area/tcommsat/computer) +"aF" = (/obj/structure/table/standard,/obj/item/flashlight/lamp,/turf/simulated/floor,/area/tcommsat/computer) +"aG" = (/obj/item/syntiflesh{name = "Cuban Pete-Meat"},/turf/simulated/floor/engine,/area/tcommsat/computer) +"aH" = (/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_x = -29; pixel_y = 0},/turf/simulated/floor,/area/tcommsat/computer) "aI" = (/obj/structure/window/reinforced{dir = 4},/turf/space,/area/tcomsat) "aJ" = (/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply{req_access_txt = "0"},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/tcomsat) "aK" = (/obj/machinery/atmospherics/valve/digital{pipe_color = "cyan"; icon_state = "valve1"; name = "Mixed Air Outlet Valve"; open = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/tcomsat) "aL" = (/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/tcomsat) "aM" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/closet,/turf/simulated/floor/plating,/area/tcomsat) "aN" = (/obj/structure/window/reinforced{dir = 8},/turf/space,/area/tcomsat) -"aO" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor,/area/tcommsat/computer) +"aO" = (/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor,/area/tcommsat/computer) "aP" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/turf/simulated/floor,/area/tcommsat/computer) -"aQ" = (/obj/machinery/computer/telecomms/monitor{network = "tcommsat"},/obj/item/device/radio/intercom{anyai = 1; freerange = 1; name = "General Listening Channel"; pixel_x = 28; pixel_y = 0},/turf/simulated/floor,/area/tcommsat/computer) -"aR" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/orange,/obj/machinery/light{dir = 8},/turf/simulated/floor,/area/tcommsat/computer) +"aQ" = (/obj/machinery/computer/telecomms/monitor{network = "tcommsat"},/obj/item/radio/intercom{anyai = 1; freerange = 1; name = "General Listening Channel"; pixel_x = 28; pixel_y = 0},/turf/simulated/floor,/area/tcommsat/computer) +"aR" = (/obj/structure/stool/bed,/obj/item/bedsheet/orange,/obj/machinery/light{dir = 8},/turf/simulated/floor,/area/tcommsat/computer) "aS" = (/obj/structure/lattice,/turf/space,/area) "aT" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/lattice,/turf/space,/area/tcomsat) "aU" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/lattice,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/space,/area/tcomsat) @@ -54,11 +54,11 @@ "bb" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/tcommsat/computer) "bc" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/simulated/floor,/area/tcommsat/computer) "bd" = (/obj/machinery/computer/telecomms/server{network = "tcommsat"},/turf/simulated/floor,/area/tcommsat/computer) -"be" = (/obj/item/weapon/syntiflesh{name = "Cuban Pete-Meat"},/obj/item/weapon/spacecash/c1,/turf/simulated/floor/engine,/area/tcommsat/computer) +"be" = (/obj/item/syntiflesh{name = "Cuban Pete-Meat"},/obj/item/spacecash/c1,/turf/simulated/floor/engine,/area/tcommsat/computer) "bf" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/turf/simulated/floor,/area/tcommsat/computer) "bg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor,/area/tcommsat/computer) "bh" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor,/area/tcommsat/computer) -"bi" = (/obj/structure/table/standard,/obj/item/weapon/storage/fancy/cigarettes,/turf/simulated/floor,/area/tcommsat/computer) +"bi" = (/obj/structure/table/standard,/obj/item/storage/fancy/cigarettes,/turf/simulated/floor,/area/tcommsat/computer) "bj" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor,/area/tcommsat/computer) "bk" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/tcomsat) "bl" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/tcomsat) @@ -73,7 +73,7 @@ "bu" = (/turf/simulated/wall/r_wall,/area/tcommsat/chamber) "bv" = (/obj/machinery/vending/snack,/turf/simulated/floor,/area/tcommsat/computer) "bw" = (/obj/machinery/vending/cola,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/tcommsat/computer) -"bx" = (/obj/item/weapon/cigbutt,/obj/machinery/light,/turf/simulated/floor,/area/tcommsat/computer) +"bx" = (/obj/item/cigbutt,/obj/machinery/light,/turf/simulated/floor,/area/tcommsat/computer) "by" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor,/area/tcommsat/computer) "bz" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor,/area/tcommsat/computer) "bA" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/tcommsat/computer) @@ -84,7 +84,7 @@ "bF" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/space,/area/tcomsat) "bG" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/lattice,/obj/machinery/light,/turf/space,/area/tcomsat) "bH" = (/obj/structure/window/reinforced{dir = 1},/turf/space,/area/tcomsat) -"bI" = (/obj/machinery/light{dir = 8},/obj/structure/table/standard,/obj/item/device/multitool,/obj/structure/sign/electricshock{pixel_x = -32},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor,/area/tcommsat/computer) +"bI" = (/obj/machinery/light{dir = 8},/obj/structure/table/standard,/obj/item/multitool,/obj/structure/sign/electricshock{pixel_x = -32},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor,/area/tcommsat/computer) "bJ" = (/obj/machinery/atmospherics/unary/cold_sink/freezer{current_temperature = 80; dir = 1; on = 1},/turf/simulated/floor,/area/tcommsat/computer) "bK" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/tcommsat/computer) "bL" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor,/area/tcommsat/computer) @@ -128,9 +128,9 @@ "cx" = (/obj/machinery/telecomms/server/presets/common,/turf/simulated/floor{dir = 4; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) "cy" = (/obj/machinery/telecomms/server/presets/engineering,/turf/simulated/floor{dir = 4; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) "cz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/tcomsat) -"cA" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/micro_laser,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/micro_laser/high,/obj/item/weapon/stock_parts/micro_laser/high,/obj/item/weapon/stock_parts/micro_laser/high,/obj/item/weapon/stock_parts/micro_laser/high,/turf/simulated/floor,/area/tcomsat) +"cA" = (/obj/structure/table/standard,/obj/item/stock_parts/micro_laser,/obj/item/stock_parts/manipulator,/obj/item/stock_parts/manipulator,/obj/item/stock_parts/manipulator,/obj/item/stock_parts/manipulator,/obj/item/stock_parts/capacitor,/obj/item/stock_parts/micro_laser/high,/obj/item/stock_parts/micro_laser/high,/obj/item/stock_parts/micro_laser/high,/obj/item/stock_parts/micro_laser/high,/turf/simulated/floor,/area/tcomsat) "cB" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/machinery/camera{c_tag = "Telecoms Storage"; network = list("Tcomsat")},/turf/simulated/floor,/area/tcomsat) -"cC" = (/obj/structure/rack,/obj/item/weapon/circuitboard/telecomms/processor,/obj/item/weapon/circuitboard/telecomms/processor,/obj/item/weapon/circuitboard/telecomms/receiver,/obj/item/weapon/circuitboard/telecomms/server,/obj/item/weapon/circuitboard/telecomms/server,/obj/item/weapon/circuitboard/telecomms/bus,/obj/item/weapon/circuitboard/telecomms/bus,/obj/item/weapon/circuitboard/telecomms/broadcaster,/turf/simulated/floor,/area/tcomsat) +"cC" = (/obj/structure/rack,/obj/item/circuitboard/telecomms/processor,/obj/item/circuitboard/telecomms/processor,/obj/item/circuitboard/telecomms/receiver,/obj/item/circuitboard/telecomms/server,/obj/item/circuitboard/telecomms/server,/obj/item/circuitboard/telecomms/bus,/obj/item/circuitboard/telecomms/bus,/obj/item/circuitboard/telecomms/broadcaster,/turf/simulated/floor,/area/tcomsat) "cD" = (/obj/machinery/camera{c_tag = "West Solars"; dir = 8; network = list("Tcomsat")},/turf/space,/area) "cE" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{req_access_txt = "0"},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/tcomsat) "cF" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/camera{c_tag = "West Wing Middle"; dir = 8; network = list("Tcomsat")},/turf/space,/area/tcomsat) @@ -140,9 +140,9 @@ "cJ" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/tcomsat) "cK" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/space,/area/tcomsat) "cL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/tcomsat) -"cM" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/subspace/treatment,/obj/item/weapon/stock_parts/subspace/treatment,/obj/item/weapon/stock_parts/subspace/treatment,/turf/simulated/floor,/area/tcomsat) +"cM" = (/obj/structure/table/standard,/obj/item/stock_parts/subspace/treatment,/obj/item/stock_parts/subspace/treatment,/obj/item/stock_parts/subspace/treatment,/turf/simulated/floor,/area/tcomsat) "cN" = (/turf/simulated/floor,/area/tcomsat) -"cO" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/subspace/analyzer,/obj/item/weapon/stock_parts/subspace/analyzer,/obj/item/weapon/stock_parts/subspace/analyzer,/turf/simulated/floor,/area/tcomsat) +"cO" = (/obj/structure/table/standard,/obj/item/stock_parts/subspace/analyzer,/obj/item/stock_parts/subspace/analyzer,/obj/item/stock_parts/subspace/analyzer,/turf/simulated/floor,/area/tcomsat) "cP" = (/turf/simulated/floor/plating,/area) "cQ" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 8},/obj/machinery/light{dir = 4},/turf/space,/area/tcomsat) "cR" = (/obj/structure/sign/nosmoking_2{pixel_x = -32; pixel_y = 0},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) @@ -158,7 +158,7 @@ "db" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/tcomsat) "dc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/tcomsat) "dd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/door/airlock/maintenance_hatch{name = "Telecoms Storage"; req_access_txt = "61"},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/tcomsat) -"de" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/subspace/amplifier,/obj/item/weapon/stock_parts/subspace/amplifier,/obj/item/weapon/stock_parts/subspace/amplifier,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = 29; pixel_y = 0},/obj/machinery/light/small{dir = 4},/turf/simulated/floor,/area/tcomsat) +"de" = (/obj/structure/table/standard,/obj/item/stock_parts/subspace/amplifier,/obj/item/stock_parts/subspace/amplifier,/obj/item/stock_parts/subspace/amplifier,/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_x = 29; pixel_y = 0},/obj/machinery/light/small{dir = 4},/turf/simulated/floor,/area/tcomsat) "df" = (/obj/machinery/telecomms/bus/preset_one,/turf/simulated/floor{dir = 1; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) "dg" = (/obj/machinery/telecomms/processor/preset_one,/turf/simulated/floor{dir = 1; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) "dh" = (/obj/machinery/telecomms/receiver/preset_left,/turf/simulated/floor{dir = 1; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) @@ -167,12 +167,12 @@ "dk" = (/obj/machinery/telecomms/processor/preset_three,/turf/simulated/floor{dir = 4; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) "dl" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/space,/area/tcomsat) "dm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/tcomsat) -"dn" = (/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor,/area/tcomsat) -"do" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/subspace/ansible,/obj/item/weapon/stock_parts/subspace/ansible,/obj/item/weapon/stock_parts/subspace/ansible,/turf/simulated/floor,/area/tcomsat) +"dn" = (/obj/item/storage/toolbox/mechanical,/turf/simulated/floor,/area/tcomsat) +"do" = (/obj/structure/table/standard,/obj/item/stock_parts/subspace/ansible,/obj/item/stock_parts/subspace/ansible,/obj/item/stock_parts/subspace/ansible,/turf/simulated/floor,/area/tcomsat) "dp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/tcomsat) -"dq" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/subspace/transmitter,/obj/item/weapon/stock_parts/subspace/transmitter,/turf/simulated/floor,/area/tcomsat) -"dr" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/subspace/filter,/obj/item/weapon/stock_parts/subspace/filter,/obj/item/weapon/stock_parts/subspace/filter,/obj/item/weapon/stock_parts/subspace/filter,/obj/item/weapon/stock_parts/subspace/filter,/turf/simulated/floor,/area/tcomsat) -"ds" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/subspace/crystal,/obj/item/weapon/stock_parts/subspace/crystal,/obj/item/weapon/stock_parts/subspace/crystal,/turf/simulated/floor,/area/tcomsat) +"dq" = (/obj/structure/table/standard,/obj/item/stock_parts/subspace/transmitter,/obj/item/stock_parts/subspace/transmitter,/turf/simulated/floor,/area/tcomsat) +"dr" = (/obj/structure/table/standard,/obj/item/stock_parts/subspace/filter,/obj/item/stock_parts/subspace/filter,/obj/item/stock_parts/subspace/filter,/obj/item/stock_parts/subspace/filter,/obj/item/stock_parts/subspace/filter,/turf/simulated/floor,/area/tcomsat) +"ds" = (/obj/structure/table/standard,/obj/item/stock_parts/subspace/crystal,/obj/item/stock_parts/subspace/crystal,/obj/item/stock_parts/subspace/crystal,/turf/simulated/floor,/area/tcomsat) "dt" = (/obj/machinery/telecomms/server/presets/science,/turf/simulated/floor{dir = 1; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) "du" = (/obj/machinery/telecomms/server/presets/medical,/turf/simulated/floor{dir = 1; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) "dv" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) @@ -227,7 +227,7 @@ "es" = (/obj/machinery/power/smes/magical,/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/tcommsat/entrance) "et" = (/obj/machinery/power/terminal{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/tcommsat/entrance) "eu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/sign/electricshock,/turf/simulated/wall/r_wall,/area/tcommsat/entrance) -"ev" = (/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor,/area/tcommsat/entrance) +"ev" = (/obj/item/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor,/area/tcommsat/entrance) "ew" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/tcommsat/entrance) "ex" = (/obj/machinery/turretid{ailock = 1; control_area = "\improper Telecoms Foyer"; desc = "A firewall prevents AIs from interacting with this device."; icon_state = "motion3"; lethal = 0; name = "Telecoms Foyer turret control"; pixel_y = 29; req_access = list(61)},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/tcommsat/entrance) "ey" = (/obj/structure/sign/electricshock,/turf/simulated/wall/r_wall,/area/tcommsat/entrance) @@ -258,17 +258,17 @@ "eX" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor,/area/tcommsat/entrance) "eY" = (/obj/structure/sign/vacuum,/turf/simulated/wall/r_wall,/area/tcommsat/entrance) "eZ" = (/obj/machinery/atmospherics/pipe/tank/air,/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/tcommsat/entrance) -"fa" = (/obj/item/weapon/cell,/turf/simulated/floor,/area/tcommsat/entrance) +"fa" = (/obj/item/cell,/turf/simulated/floor,/area/tcommsat/entrance) "fb" = (/obj/structure/closet/malf/suits,/turf/simulated/floor,/area/tcommsat/entrance) "fc" = (/obj/machinery/door/airlock/external{frequency = 1381; icon_state = "door_locked"; id_tag = "telecoms_outer"; locked = 1; name = "External Access"; req_access = null; req_access_txt = "10;13"},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1381; master_tag = "telecoms_airlock"; name = "interior access button"; pixel_x = -7; pixel_y = 25; req_access_txt = "13"},/turf/simulated/floor/plating,/area/tcommsat/entrance) "fd" = (/obj/machinery/camera/xray{c_tag = "External Airlock"; network = list("Tcomsat")},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1381; id_tag = "telecoms_pump"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "telecoms_pump"; tag_exterior_door = "telecoms_outer"; frequency = 1381; id_tag = "telecoms_airlock"; tag_interior_door = "telecoms_inner"; pixel_x = 0; pixel_y = -25; req_access_txt = "13"; tag_chamber_sensor = "telecoms_sensor"},/obj/machinery/airlock_sensor{frequency = 1381; id_tag = "telecoms_sensor"; pixel_x = 12; pixel_y = -25},/turf/simulated/floor/plating,/area/tcommsat/entrance) "fe" = (/obj/machinery/door/airlock/external{frequency = 1381; icon_state = "door_locked"; id_tag = "telecoms_inner"; locked = 1; name = "External Access"; req_access = null; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor/plating,/area/tcommsat/entrance) "ff" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1381; master_tag = "telecoms_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple/visible{ icon_state = "intact"; dir = 9},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/tcommsat/entrance) "fg" = (/obj/machinery/bluespace_beacon,/turf/simulated/floor,/area/tcommsat/entrance) -"fh" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = 29; pixel_y = 0},/turf/simulated/floor,/area/tcommsat/entrance) +"fh" = (/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_x = 29; pixel_y = 0},/turf/simulated/floor,/area/tcommsat/entrance) "fi" = (/obj/structure/closet/crate,/obj/item/clothing/glasses/night,/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/tcommsat/entrance) "fj" = (/turf/simulated/floor{icon_state = "warningcorner"; dir = 1},/area/tcommsat/entrance) -"fk" = (/obj/structure/closet/crate,/obj/item/device/aicard,/obj/item/device/multitool,/obj/machinery/camera{c_tag = "Entrance South"; dir = 1; network = list("Tcomsat")},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/tcommsat/entrance) +"fk" = (/obj/structure/closet/crate,/obj/item/aicard,/obj/item/multitool,/obj/machinery/camera{c_tag = "Entrance South"; dir = 1; network = list("Tcomsat")},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/tcommsat/entrance) "fl" = (/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/tcommsat/entrance) "fm" = (/obj/machinery/light{dir = 4},/obj/structure/closet/emcloset,/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/tcommsat/entrance) "fn" = (/obj/machinery/computer/teleporter,/turf/simulated/floor/plating,/area/tcommsat/entrance) diff --git a/maps/overmap/example_sector2.dmm b/maps/overmap/example_sector2.dmm index e84bc1e9da8..31bf0e38e2c 100644 --- a/maps/overmap/example_sector2.dmm +++ b/maps/overmap/example_sector2.dmm @@ -13,23 +13,23 @@ "am" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/abandoned) "an" = (/turf/simulated/floor,/area/mine/abandoned) "ao" = (/obj/structure/lattice,/turf/space,/area) -"ap" = (/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/plating,/area/mine/abandoned) +"ap" = (/obj/structure/window/reinforced{dir = 4},/obj/item/shard{icon_state = "small"},/turf/simulated/floor/plating,/area/mine/abandoned) "aq" = (/obj/item/stack/rods,/obj/structure/door_assembly/door_assembly_ext{name = "Broken External Airlock"},/turf/simulated/floor,/area/mine/abandoned) "ar" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/mine/abandoned) "as" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/mine/abandoned) "at" = (/obj/item/stack/rods,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned) "au" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned) "av" = (/turf/simulated/mineral,/area/mine/unexplored) -"aw" = (/obj/item/weapon/shard{icon_state = "medium"},/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned) +"aw" = (/obj/item/shard{icon_state = "medium"},/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned) "ax" = (/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned) "ay" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/mine/abandoned) "az" = (/turf/simulated/mineral/random,/area/mine/unexplored) -"aA" = (/obj/item/weapon/shard,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned) +"aA" = (/obj/item/shard,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned) "aB" = (/turf/simulated/wall,/area/mine/abandoned) -"aC" = (/obj/item/stack/rods,/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/shard,/turf/simulated/floor/plating,/area/mine/abandoned) +"aC" = (/obj/item/stack/rods,/obj/structure/window/reinforced{dir = 4},/obj/item/shard,/turf/simulated/floor/plating,/area/mine/abandoned) "aD" = (/obj/item/stack/rods,/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned) "aE" = (/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned) -"aF" = (/obj/structure/lattice,/obj/item/weapon/shard{icon_state = "medium"},/turf/space,/area) +"aF" = (/obj/structure/lattice,/obj/item/shard{icon_state = "medium"},/turf/space,/area) "aG" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/mine/abandoned) "aH" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned) "aI" = (/obj/effect/alien/weeds,/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned) @@ -39,7 +39,7 @@ "aM" = (/obj/effect/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned) "aN" = (/obj/effect/decal/remains/xeno,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned) "aO" = (/obj/item/stack/rods,/obj/structure/lattice,/turf/space,/area) -"aP" = (/obj/item/weapon/shard,/obj/item/stack/rods,/turf/simulated/floor/plating/airless,/area/mine/abandoned) +"aP" = (/obj/item/shard,/obj/item/stack/rods,/turf/simulated/floor/plating/airless,/area/mine/abandoned) "aQ" = (/turf/simulated/floor/plating/airless,/area/mine/abandoned) "aR" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/mine/abandoned) "aS" = (/obj/structure/table/standard,/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/mine/abandoned) @@ -49,7 +49,7 @@ "aW" = (/obj/effect/alien/weeds,/turf/simulated/floor/plating,/area/mine/abandoned) "aX" = (/obj/effect/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/plating,/area/mine/abandoned) "aY" = (/obj/item/stack/rods,/turf/simulated/floor/plating/airless,/area/mine/abandoned) -"aZ" = (/obj/item/weapon/shard{icon_state = "small"},/obj/item/clothing/suit/space/syndicate,/turf/simulated/floor/plating/airless,/area/mine/abandoned) +"aZ" = (/obj/item/shard{icon_state = "small"},/obj/item/clothing/suit/space/syndicate,/turf/simulated/floor/plating/airless,/area/mine/abandoned) "ba" = (/turf/simulated/floor/airless{icon_state = "damaged3"},/area/mine/abandoned) "bb" = (/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned) "bc" = (/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/mine/abandoned) @@ -57,14 +57,14 @@ "be" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/abandoned) "bf" = (/obj/effect/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/airless{icon_state = "damaged3"},/area/mine/abandoned) "bg" = (/obj/effect/alien/weeds{icon_state = "weeds1"},/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor/plating,/area/mine/abandoned) -"bh" = (/obj/item/weapon/shard,/obj/structure/lattice,/turf/space,/area) -"bi" = (/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/plating/airless,/area/mine/abandoned) +"bh" = (/obj/item/shard,/obj/structure/lattice,/turf/space,/area) +"bi" = (/obj/item/shard{icon_state = "small"},/turf/simulated/floor/plating/airless,/area/mine/abandoned) "bj" = (/obj/effect/gibspawner/robot,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned) "bk" = (/obj/effect/gibspawner/human,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned) "bl" = (/obj/effect/alien/weeds{icon_state = "weeds1"},/obj/effect/decal/remains/xeno,/turf/simulated/floor/plating,/area/mine/abandoned) "bm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/mine/abandoned) -"bn" = (/obj/item/weapon/shard,/turf/simulated/floor/plating/airless,/area/mine/abandoned) -"bo" = (/obj/structure/lattice,/obj/item/weapon/shard{icon_state = "small"},/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/space,/area/mine/abandoned) +"bn" = (/obj/item/shard,/turf/simulated/floor/plating/airless,/area/mine/abandoned) +"bo" = (/obj/structure/lattice,/obj/item/shard{icon_state = "small"},/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/space,/area/mine/abandoned) "bp" = (/obj/structure/lattice,/turf/space,/area/mine/abandoned) "bq" = (/obj/effect/alien/weeds,/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/mine/abandoned) "br" = (/obj/machinery/door/airlock,/turf/simulated/floor,/area/mine/abandoned) @@ -88,13 +88,13 @@ "bJ" = (/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned) "bK" = (/obj/structure/table/standard,/turf/simulated/floor/airless,/area/mine/abandoned) "bL" = (/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned) -"bM" = (/obj/item/weapon/shard,/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/mine/abandoned) -"bN" = (/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/airless,/area/mine/abandoned) +"bM" = (/obj/item/shard,/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/mine/abandoned) +"bN" = (/obj/item/shard{icon_state = "small"},/turf/simulated/floor/airless,/area/mine/abandoned) "bO" = (/obj/effect/alien/weeds,/turf/simulated/floor/airless{icon_state = "damaged3"},/area/mine/abandoned) "bP" = (/obj/machinery/hydroponics,/turf/simulated/floor{icon_state = "dark"},/area/mine/abandoned) -"bQ" = (/obj/structure/table/standard,/obj/item/weapon/paper/crumpled,/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/mine/abandoned) +"bQ" = (/obj/structure/table/standard,/obj/item/paper/crumpled,/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/mine/abandoned) "bR" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/mine/abandoned) -"bS" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating,/area/mine/abandoned) +"bS" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/item/shard{icon_state = "medium"},/turf/simulated/floor/plating,/area/mine/abandoned) "bT" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/mine/abandoned) "bU" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/abandoned) "bV" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/mine/abandoned) @@ -115,7 +115,7 @@ "ck" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/mine/abandoned) "cl" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned) "cm" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/airless{icon_state = "damaged3"},/area/mine/abandoned) -"cn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/shard,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/abandoned) +"cn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/item/shard,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/abandoned) "co" = (/obj/machinery/door/airlock/glass{name = "Glass Airlock"; req_access_txt = "0"},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/abandoned) "cp" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/mine/abandoned) "cq" = (/obj/effect/decal/remains/human,/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor,/area/mine/abandoned) @@ -123,14 +123,14 @@ "cs" = (/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/abandoned) "ct" = (/obj/structure/rack,/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/abandoned) "cu" = (/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored) -"cv" = (/obj/item/weapon/rack_parts,/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/abandoned) +"cv" = (/obj/item/rack_parts,/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/abandoned) "cw" = (/obj/structure/girder/displaced,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/abandoned) "cx" = (/obj/structure/girder,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/abandoned) "cy" = (/obj/machinery/door/airlock/external{name = "External Airlock"; req_access_txt = "0"},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/abandoned) -"cz" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/item/weapon/shard{icon_state = "small"},/obj/item/stack/rods,/turf/simulated/floor/plating,/area/mine/abandoned) +"cz" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/item/shard{icon_state = "small"},/obj/item/stack/rods,/turf/simulated/floor/plating,/area/mine/abandoned) "cA" = (/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 2},/area/mine/abandoned) -"cB" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 2},/area/mine/abandoned) -"cC" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/item/stack/rods,/obj/item/weapon/shard,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/abandoned) +"cB" = (/obj/item/shard{icon_state = "medium"},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 2},/area/mine/abandoned) +"cC" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/item/stack/rods,/obj/item/shard,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/abandoned) "cD" = (/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 10},/area/mine/unexplored) "cE" = (/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 2},/area/mine/unexplored) "cF" = (/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 6},/area/mine/unexplored) diff --git a/maps/redgate/abandonedisland.dmm b/maps/redgate/abandonedisland.dmm index cc7473627da..6bafd9a19be 100644 --- a/maps/redgate/abandonedisland.dmm +++ b/maps/redgate/abandonedisland.dmm @@ -217,14 +217,14 @@ /area/redgate/structure) "bL" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/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/simulated/floor/wood, /area/redgate/structure) "bM" = ( diff --git a/maps/redgate/cybercity.dmm b/maps/redgate/cybercity.dmm index 038324dc9b1..b5b094ca1b1 100644 --- a/maps/redgate/cybercity.dmm +++ b/maps/redgate/cybercity.dmm @@ -5,7 +5,7 @@ /area/redgate/city/science) "acv" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/mimedouble, +/obj/item/bedsheet/mimedouble, /turf/simulated/floor/carpet/bcarpet, /area/redgate/city/house3) "acN" = ( @@ -30,7 +30,7 @@ /area/redgate/city/apartments) "aex" = ( /obj/structure/table/rack, -/obj/item/weapon/towel/random, +/obj/item/towel/random, /turf/simulated/floor/tiled/neutral, /area/redgate/city/hotel) "aeE" = ( @@ -96,23 +96,23 @@ "akH" = ( /obj/structure/table/steel, /obj/item/integrated_circuit/memory/large, -/obj/item/weapon/circuitboard/sensors, +/obj/item/circuitboard/sensors, /turf/simulated/floor/tiled/dark, /area/redgate/city/workshop) "alA" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/reagent_containers/food/drinks/bottle/jager, -/obj/item/weapon/reagent_containers/food/drinks/bottle/jager, -/obj/item/weapon/reagent_containers/food/drinks/bottle/jager, -/obj/item/weapon/reagent_containers/food/drinks/bottle/jager, -/obj/item/weapon/reagent_containers/food/drinks/bottle/gin, -/obj/item/weapon/reagent_containers/food/drinks/bottle/gin, -/obj/item/weapon/reagent_containers/food/drinks/bottle/gin, -/obj/item/weapon/reagent_containers/food/drinks/bottle/gin, -/obj/item/weapon/reagent_containers/food/drinks/bottle/rum, -/obj/item/weapon/reagent_containers/food/drinks/bottle/rum, -/obj/item/weapon/reagent_containers/food/drinks/bottle/rum, -/obj/item/weapon/reagent_containers/food/drinks/bottle/rum, +/obj/item/reagent_containers/food/drinks/bottle/jager, +/obj/item/reagent_containers/food/drinks/bottle/jager, +/obj/item/reagent_containers/food/drinks/bottle/jager, +/obj/item/reagent_containers/food/drinks/bottle/jager, +/obj/item/reagent_containers/food/drinks/bottle/gin, +/obj/item/reagent_containers/food/drinks/bottle/gin, +/obj/item/reagent_containers/food/drinks/bottle/gin, +/obj/item/reagent_containers/food/drinks/bottle/gin, +/obj/item/reagent_containers/food/drinks/bottle/rum, +/obj/item/reagent_containers/food/drinks/bottle/rum, +/obj/item/reagent_containers/food/drinks/bottle/rum, +/obj/item/reagent_containers/food/drinks/bottle/rum, /turf/simulated/floor/wood/alt/tile, /area/redgate/city/gamblingden) "alF" = ( @@ -149,7 +149,7 @@ dir = 1 }, /obj/structure/table/woodentable, -/obj/item/device/tape/random, +/obj/item/rectape/random, /turf/simulated/floor/wood, /area/redgate/city/library) "anE" = ( @@ -294,7 +294,7 @@ /area/redgate/city/house13) "azU" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_y = 8 }, /turf/simulated/floor/wood, @@ -323,22 +323,22 @@ /area/redgate/city/science) "aBw" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/spacespice, -/obj/item/weapon/reagent_containers/food/condiment/spacespice, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/spacespice, +/obj/item/reagent_containers/food/condiment/spacespice, +/obj/item/reagent_containers/food/condiment/carton/sugar, +/obj/item/reagent_containers/food/condiment/carton/sugar, +/obj/item/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/small/peppermill, +/obj/item/reagent_containers/food/condiment/small/peppermill, /obj/random/donkpocketbox, /obj/structure/closet/walllocker_double/kitchen/east, /turf/simulated/floor/tiled/white, @@ -357,7 +357,7 @@ /area/redgate/city/supermarket) "aCc" = ( /obj/structure/table/fancyblack, -/obj/item/weapon/deck/tarot, +/obj/item/deck/tarot, /turf/simulated/floor/carpet/brown, /area/redgate/city/tarot) "aCP" = ( @@ -406,7 +406,7 @@ /area/redgate/city/house15) "aHa" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/captaindouble, +/obj/item/bedsheet/captaindouble, /turf/simulated/floor/carpet/purple, /area/redgate/city/cardmon) "aHi" = ( @@ -442,7 +442,7 @@ /turf/simulated/wall/tgmc/darkwall, /area/redgate/city/check1) "aIV" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /turf/simulated/floor/wood/alt/tile, @@ -467,7 +467,7 @@ /area/redgate/city/house8) "aKz" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery, /turf/simulated/floor/tiled/white, /area/redgate/city/hospital) "aLg" = ( @@ -491,31 +491,31 @@ color = "#8da4a6"; pixel_x = -5 }, -/obj/item/weapon/reagent_containers/food/drinks/metaglass/metapint, -/obj/item/weapon/reagent_containers/food/drinks/metaglass/metapint, -/obj/item/weapon/reagent_containers/food/drinks/metaglass/metapint, -/obj/item/weapon/reagent_containers/food/drinks/metaglass/metapint, -/obj/item/weapon/reagent_containers/food/drinks/metaglass/metapint, -/obj/item/weapon/reagent_containers/food/drinks/metaglass/metapint, -/obj/item/weapon/reagent_containers/food/drinks/metaglass/metapint, -/obj/item/weapon/reagent_containers/food/drinks/metaglass, -/obj/item/weapon/reagent_containers/food/drinks/metaglass, -/obj/item/weapon/reagent_containers/food/drinks/metaglass, -/obj/item/weapon/reagent_containers/food/drinks/metaglass, -/obj/item/weapon/reagent_containers/food/drinks/metaglass, -/obj/item/weapon/reagent_containers/food/drinks/metaglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/shotglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/shotglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/shotglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/shotglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/shotglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/shotglass, +/obj/item/reagent_containers/food/drinks/metaglass/metapint, +/obj/item/reagent_containers/food/drinks/metaglass/metapint, +/obj/item/reagent_containers/food/drinks/metaglass/metapint, +/obj/item/reagent_containers/food/drinks/metaglass/metapint, +/obj/item/reagent_containers/food/drinks/metaglass/metapint, +/obj/item/reagent_containers/food/drinks/metaglass/metapint, +/obj/item/reagent_containers/food/drinks/metaglass/metapint, +/obj/item/reagent_containers/food/drinks/metaglass, +/obj/item/reagent_containers/food/drinks/metaglass, +/obj/item/reagent_containers/food/drinks/metaglass, +/obj/item/reagent_containers/food/drinks/metaglass, +/obj/item/reagent_containers/food/drinks/metaglass, +/obj/item/reagent_containers/food/drinks/metaglass, +/obj/item/reagent_containers/food/drinks/drinkingglass, +/obj/item/reagent_containers/food/drinks/drinkingglass, +/obj/item/reagent_containers/food/drinks/drinkingglass, +/obj/item/reagent_containers/food/drinks/drinkingglass, +/obj/item/reagent_containers/food/drinks/drinkingglass, +/obj/item/reagent_containers/food/drinks/drinkingglass, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, /turf/simulated/floor/tiled/eris/steel/techfloor_grid, /area/redgate/city/bar1) "aMa" = ( @@ -579,7 +579,7 @@ /area/redgate/city/house8) "aQg" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet/red, +/obj/item/bedsheet/red, /turf/simulated/floor/tiled/dark, /area/redgate/city/workshop) "aQx" = ( @@ -612,8 +612,8 @@ /area/redgate/city/corporation) "aRR" = ( /obj/structure/closet/secure_closet/personal, -/obj/item/weapon/handcuffs/legcuffs/fuzzy, -/obj/item/weapon/handcuffs/fuzzy, +/obj/item/handcuffs/legcuffs/fuzzy, +/obj/item/handcuffs/fuzzy, /turf/simulated/floor/tiled/milspec, /area/redgate/city/police) "aRY" = ( @@ -659,10 +659,10 @@ /area/redgate/city/science) "aTW" = ( /obj/structure/closet, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, /obj/item/clothing/under/bathrobe, /obj/item/clothing/under/bathrobe, /obj/item/clothing/under/bathrobe, @@ -678,7 +678,7 @@ /turf/simulated/floor/wood, /area/redgate/city/spa) "aUs" = ( -/obj/item/weapon/tank/anesthetic, +/obj/item/tank/anesthetic, /turf/simulated/floor/dungeon, /area/redgate/city/doctor) "aUw" = ( @@ -740,7 +740,7 @@ /area/redgate/city/police) "aYz" = ( /obj/structure/table/woodentable, -/obj/item/device/tape/random, +/obj/item/rectape/random, /obj/machinery/light_switch{ pixel_y = 24 }, @@ -813,14 +813,14 @@ /area/redgate/city/gamblingden) "beL" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/reagent_containers/food/drinks/bottle/wine, -/obj/item/weapon/reagent_containers/food/drinks/bottle/wine, -/obj/item/weapon/reagent_containers/food/drinks/bottle/wine, -/obj/item/weapon/reagent_containers/food/drinks/bottle/wine, -/obj/item/weapon/reagent_containers/food/drinks/bottle/wine, -/obj/item/weapon/reagent_containers/food/drinks/bottle/wine, -/obj/item/weapon/reagent_containers/food/drinks/bottle/wine, -/obj/item/weapon/reagent_containers/food/drinks/bottle/wine, +/obj/item/reagent_containers/food/drinks/bottle/wine, +/obj/item/reagent_containers/food/drinks/bottle/wine, +/obj/item/reagent_containers/food/drinks/bottle/wine, +/obj/item/reagent_containers/food/drinks/bottle/wine, +/obj/item/reagent_containers/food/drinks/bottle/wine, +/obj/item/reagent_containers/food/drinks/bottle/wine, +/obj/item/reagent_containers/food/drinks/bottle/wine, +/obj/item/reagent_containers/food/drinks/bottle/wine, /obj/machinery/light{ dir = 4 }, @@ -855,10 +855,10 @@ /area/redgate/city/hospital) "bhc" = ( /obj/structure/table/rack, -/obj/item/weapon/reagent_containers/food/snacks/packaged/vendhotdog, -/obj/item/weapon/reagent_containers/food/snacks/packaged/vendhotdog, -/obj/item/weapon/reagent_containers/food/snacks/packaged/vendhotdog, -/obj/item/weapon/reagent_containers/food/snacks/packaged/vendhotdog, +/obj/item/reagent_containers/food/snacks/packaged/vendhotdog, +/obj/item/reagent_containers/food/snacks/packaged/vendhotdog, +/obj/item/reagent_containers/food/snacks/packaged/vendhotdog, +/obj/item/reagent_containers/food/snacks/packaged/vendhotdog, /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/city/supermarket) "bhX" = ( @@ -875,7 +875,7 @@ /area/redgate/city/nifshop) "biP" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/box/bodybags{ +/obj/item/storage/box/bodybags{ pixel_x = 4; pixel_y = 4 }, @@ -887,7 +887,7 @@ /area/redgate/city/hospital) "biY" = ( /obj/structure/table/reinforced, -/obj/item/device/mass_spectrometer/adv, +/obj/item/mass_spectrometer/adv, /turf/simulated/floor/tiled/white, /area/redgate/city/science) "bka" = ( @@ -950,11 +950,11 @@ /area/redgate/city/offlicense) "boo" = ( /obj/structure/table/rack, -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/city/supermarket) "bpi" = ( @@ -1064,7 +1064,7 @@ /turf/simulated/floor/wood, /area/redgate/city/apartments) "bAz" = ( -/obj/item/weapon/towel/random, +/obj/item/towel/random, /turf/simulated/floor/tiled/neutral, /area/redgate/city/house3) "bBb" = ( @@ -1160,10 +1160,10 @@ /area/redgate/city/hospital) "bGz" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/reagent_containers/food/snacks/ratpacktaco, -/obj/item/weapon/reagent_containers/food/snacks/ratpacktaco, -/obj/item/weapon/reagent_containers/food/snacks/ratpacktaco, -/obj/item/weapon/reagent_containers/food/snacks/ratpacktaco, +/obj/item/reagent_containers/food/snacks/ratpacktaco, +/obj/item/reagent_containers/food/snacks/ratpacktaco, +/obj/item/reagent_containers/food/snacks/ratpacktaco, +/obj/item/reagent_containers/food/snacks/ratpacktaco, /obj/machinery/light/small/neon/import{ pixel_y = 25 }, @@ -1202,7 +1202,7 @@ /area/redgate/city/succ) "bJy" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_y = 8 }, /turf/simulated/floor/wood, @@ -1297,7 +1297,7 @@ /turf/simulated/wall/tgmc/window/darkwall, /area/redgate/city/hotel) "bQA" = ( -/obj/item/weapon/tool/crowbar, +/obj/item/tool/crowbar, /obj/machinery/light/small{ dir = 1 }, @@ -1351,19 +1351,19 @@ /area/redgate/city/science) "bTR" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, /turf/simulated/floor/tiled/eris/cafe, /area/redgate/city/offlicense) "bUz" = ( -/obj/item/weapon/stool/baystool, +/obj/item/stool/baystool, /turf/simulated/floor/tiled/eris/steel/cyancorner, /area/redgate/city/bar1) "bUF" = ( @@ -1404,13 +1404,13 @@ /area/redgate/city/house17) "bXw" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/box/gloves, +/obj/item/storage/box/gloves, /turf/simulated/floor/tiled/white, /area/redgate/city/hospital) "bXx" = ( @@ -1494,7 +1494,7 @@ /turf/simulated/floor/tiled/white, /area/redgate/city/pharmacy) "cbl" = ( -/obj/item/weapon/handcuffs/fuzzy, +/obj/item/handcuffs/fuzzy, /turf/simulated/floor/carpet/brown, /area/redgate/city/hotel) "cbx" = ( @@ -1517,7 +1517,7 @@ /area/redgate/city/house4) "cdb" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/autoinjectors, +/obj/item/storage/box/autoinjectors, /turf/simulated/floor/wood/alt/tile, /area/redgate/city/drugden) "cdk" = ( @@ -1525,14 +1525,14 @@ /area/redgate/city/police) "cdy" = ( /obj/structure/table/rack, -/obj/item/weapon/reagent_containers/food/snacks/liquidprotein, -/obj/item/weapon/reagent_containers/food/snacks/liquidprotein, -/obj/item/weapon/reagent_containers/food/snacks/liquidprotein, +/obj/item/reagent_containers/food/snacks/liquidprotein, +/obj/item/reagent_containers/food/snacks/liquidprotein, +/obj/item/reagent_containers/food/snacks/liquidprotein, /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/city/supermarket) "cdL" = ( /obj/random/soap, -/obj/item/weapon/towel/random, +/obj/item/towel/random, /turf/simulated/floor/tiled/neutral, /area/redgate/city/house16) "cdY" = ( @@ -1560,7 +1560,7 @@ /obj/machinery/light/floortube{ dir = 8; light_color = "#ff8086"; - light_type = /obj/item/weapon/light/bulb/red; + light_type = /obj/item/light/bulb/red; name = "stripper light" }, /turf/simulated/floor/carpet/gaycarpet, @@ -1576,7 +1576,7 @@ /turf/simulated/floor/wood, /area/redgate/city/spa) "cgc" = ( -/obj/item/weapon/towel/random, +/obj/item/towel/random, /turf/simulated/floor/tiled/neutral, /area/redgate/city/house2) "cgf" = ( @@ -1628,7 +1628,7 @@ /area/redgate/city/apartments) "cly" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/staff, +/obj/item/staff, /turf/simulated/floor/tiled/eris/derelict3, /area/redgate/city/wiz) "clE" = ( @@ -1708,7 +1708,7 @@ /area/redgate/city/offlicense) "css" = ( /obj/structure/dirtybed, -/obj/item/weapon/reagent_containers/syringe/drugs, +/obj/item/reagent_containers/syringe/drugs, /turf/simulated/floor/wood/alt/tile, /area/redgate/city/drugden) "ctv" = ( @@ -1856,7 +1856,7 @@ /area/redgate/city/cafe) "cBU" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass, +/obj/item/reagent_containers/food/drinks/drinkingglass, /turf/simulated/floor/tiled/white, /area/redgate/city/house18) "cCO" = ( @@ -1983,12 +1983,12 @@ /turf/simulated/floor/wood/alt/panel, /area/redgate/city/rats) "cOh" = ( -/obj/item/weapon/storage/fancy/blackcandle_box, +/obj/item/storage/fancy/blackcandle_box, /obj/structure/closet, -/obj/item/weapon/storage/fancy/candle_box, -/obj/item/weapon/storage/fancy/whitecandle_box, -/obj/item/weapon/storage/box/matches, -/obj/item/weapon/storage/box/matches, +/obj/item/storage/fancy/candle_box, +/obj/item/storage/fancy/whitecandle_box, +/obj/item/storage/box/matches, +/obj/item/storage/box/matches, /turf/simulated/floor/wood, /area/redgate/city/tarot) "cOn" = ( @@ -2027,7 +2027,7 @@ /turf/simulated/floor/tiled/milspec, /area/redgate/city/workshop) "cRf" = ( -/obj/item/weapon/broken_bottle, +/obj/item/broken_bottle, /obj/machinery/light/small{ dir = 1 }, @@ -2035,11 +2035,11 @@ /area/redgate/city/hotel) "cRx" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 2; pixel_y = 7 }, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -1; pixel_y = 10 }, @@ -2095,12 +2095,12 @@ /obj/effect/floor_decal/borderfloorblack{ dir = 4 }, -/obj/item/weapon/surgical/surgicaldrill, +/obj/item/surgical/surgicaldrill, /turf/simulated/floor/dungeon, /area/redgate/city/doctor) "cXQ" = ( /obj/structure/table/glass, -/obj/item/device/defib_kit/loaded, +/obj/item/defib_kit/loaded, /obj/machinery/light{ dir = 1 }, @@ -2118,9 +2118,9 @@ /area/redgate/city/scughouse) "cYY" = ( /obj/structure/table/rack, -/obj/item/weapon/reagent_containers/food/snacks/liquidvitamin, -/obj/item/weapon/reagent_containers/food/snacks/liquidvitamin, -/obj/item/weapon/reagent_containers/food/snacks/liquidvitamin, +/obj/item/reagent_containers/food/snacks/liquidvitamin, +/obj/item/reagent_containers/food/snacks/liquidvitamin, +/obj/item/reagent_containers/food/snacks/liquidvitamin, /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/city/supermarket) "cZx" = ( @@ -2179,7 +2179,7 @@ /area/redgate/city/hospital) "ddc" = ( /obj/structure/table/alien, -/obj/item/weapon/deck/egy{ +/obj/item/deck/egy{ pixel_x = 15 }, /turf/simulated/shuttle/floor/alienplating/blue/half{ @@ -2197,7 +2197,7 @@ /obj/random/snack, /obj/random/snack, /obj/random/snack, -/obj/item/weapon/reagent_containers/food/snacks/truffle/random, +/obj/item/reagent_containers/food/snacks/truffle/random, /turf/simulated/floor/tiled/white, /area/redgate/city/house2) "dew" = ( @@ -2208,7 +2208,7 @@ /area/redgate/city/streets) "deD" = ( /obj/structure/table/rack/gun_rack/steel, -/obj/item/weapon/gun/energy/netgun, +/obj/item/gun/energy/netgun, /turf/simulated/floor/tiled/milspec, /area/redgate/city/police) "deF" = ( @@ -2222,11 +2222,11 @@ /area/redgate/city/science) "deJ" = ( /obj/structure/table/rack, -/obj/item/device/gps/medical{ +/obj/item/gps/medical{ pixel_y = 3 }, -/obj/item/device/gps/medical, -/obj/item/device/gps/medical{ +/obj/item/gps/medical, +/obj/item/gps/medical{ pixel_x = -3 }, /obj/structure/fireaxecabinet/empty{ @@ -2244,7 +2244,7 @@ /turf/simulated/floor/wood/alt/tile, /area/redgate/city/gamblingden) "dfT" = ( -/obj/item/weapon/reagent_containers/syringe, +/obj/item/reagent_containers/syringe, /turf/simulated/floor/tiled/neutral, /area/redgate/city/drugden) "dgh" = ( @@ -2264,7 +2264,7 @@ /area/redgate/city/altevian) "dgs" = ( /obj/structure/table/steel, -/obj/item/weapon/autopsy_scanner, +/obj/item/autopsy_scanner, /turf/simulated/floor/tiled/eris/white/bluecorner, /area/redgate/city/morgue) "dgM" = ( @@ -2293,7 +2293,7 @@ /area/redgate/city/hospital) "dhx" = ( /obj/item/clothing/under/bathrobe, -/obj/item/weapon/towel/random, +/obj/item/towel/random, /turf/simulated/floor/tiled/neutral, /area/redgate/city/house11) "diU" = ( @@ -2435,7 +2435,7 @@ /turf/simulated/floor/tiled/techfloor, /area/redgate/city/casino) "dtf" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/light{ dir = 8 }, @@ -2470,20 +2470,20 @@ "dwz" = ( /obj/structure/closet, /obj/random/maintenance/security, -/obj/item/weapon/folder/red, -/obj/item/weapon/folder/red, -/obj/item/weapon/folder/red, -/obj/item/weapon/folder/red, -/obj/item/weapon/folder/red, -/obj/item/weapon/paper, -/obj/item/weapon/paper, -/obj/item/weapon/paper, -/obj/item/weapon/paper, -/obj/item/weapon/paper, -/obj/item/weapon/paper, -/obj/item/weapon/paper, -/obj/item/weapon/paper, -/obj/item/weapon/paper, +/obj/item/folder/red, +/obj/item/folder/red, +/obj/item/folder/red, +/obj/item/folder/red, +/obj/item/folder/red, +/obj/item/paper, +/obj/item/paper, +/obj/item/paper, +/obj/item/paper, +/obj/item/paper, +/obj/item/paper, +/obj/item/paper, +/obj/item/paper, +/obj/item/paper, /turf/simulated/floor/tiled, /area/redgate/city/police) "dxq" = ( @@ -2578,7 +2578,7 @@ /area/redgate/city/spa) "dDh" = ( /obj/machinery/light/small, -/obj/item/weapon/reagent_containers/syringe, +/obj/item/reagent_containers/syringe, /turf/simulated/floor/wood/alt/tile, /area/redgate/city/drugden) "dDq" = ( @@ -2621,13 +2621,13 @@ /area/redgate/city/stripclub) "dHh" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/storage/fancy/cigarettes/killthroat, -/obj/item/weapon/storage/fancy/cigarettes/killthroat, -/obj/item/weapon/storage/fancy/cigarettes/killthroat, -/obj/item/weapon/storage/fancy/cigarettes/killthroat, -/obj/item/weapon/storage/fancy/cigarettes/killthroat, -/obj/item/weapon/storage/fancy/cigarettes/killthroat, -/obj/item/weapon/storage/fancy/cigarettes/killthroat, +/obj/item/storage/fancy/cigarettes/killthroat, +/obj/item/storage/fancy/cigarettes/killthroat, +/obj/item/storage/fancy/cigarettes/killthroat, +/obj/item/storage/fancy/cigarettes/killthroat, +/obj/item/storage/fancy/cigarettes/killthroat, +/obj/item/storage/fancy/cigarettes/killthroat, +/obj/item/storage/fancy/cigarettes/killthroat, /obj/machinery/light{ dir = 4 }, @@ -2667,20 +2667,20 @@ light_color = "#575656"; name = "dim light" }, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 3; pixel_y = 13 }, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 2; pixel_y = 7 }, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, +/obj/item/reagent_containers/food/condiment/small/peppermill, /turf/simulated/floor/wood/alt, /area/redgate/city/restaurant) "dKy" = ( /obj/structure/table/standard, -/obj/item/device/camera{ +/obj/item/camera{ pixel_x = 2; pixel_y = 3 }, @@ -2718,9 +2718,9 @@ /area/redgate/city/parkinglot) "dMu" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/matches, -/obj/item/weapon/storage/box/matches, -/obj/item/weapon/storage/box/matches, +/obj/item/storage/box/matches, +/obj/item/storage/box/matches, +/obj/item/storage/box/matches, /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/city/supermarket) "dMH" = ( @@ -2766,7 +2766,7 @@ /turf/simulated/floor/carpet/oracarpet, /area/redgate/city/house1) "dQv" = ( -/obj/item/weapon/stool/baystool/padded, +/obj/item/stool/baystool/padded, /turf/simulated/floor/wood/alt/tile, /area/redgate/city/bar2) "dQG" = ( @@ -2786,9 +2786,9 @@ /area/redgate/city/hospital) "dRm" = ( /obj/structure/bookcase, -/obj/item/weapon/book/bundle/custom_library/fiction/apurrrrfectman, -/obj/item/weapon/book/bundle/custom_library/fiction/beyondthedoor, -/obj/item/weapon/book/bundle/custom_library/fiction/chroniclesofmargatavol1, +/obj/item/book/bundle/custom_library/fiction/apurrrrfectman, +/obj/item/book/bundle/custom_library/fiction/beyondthedoor, +/obj/item/book/bundle/custom_library/fiction/chroniclesofmargatavol1, /turf/simulated/floor/wood, /area/redgate/city/library) "dRw" = ( @@ -2878,8 +2878,8 @@ /area/redgate/city/science) "dWz" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/blue, +/obj/item/paper_bin, +/obj/item/pen/blue, /turf/simulated/floor/tiled/white, /area/redgate/city/science) "dWH" = ( @@ -2897,7 +2897,7 @@ /turf/simulated/floor/wood/alt, /area/redgate/city/hotel) "dWV" = ( -/obj/item/weapon/handcuffs/legcuffs/fuzzy, +/obj/item/handcuffs/legcuffs/fuzzy, /turf/simulated/floor/carpet/brown, /area/redgate/city/hotel) "dXc" = ( @@ -3049,7 +3049,7 @@ /area/redgate/city/gym) "ehS" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/storage/pill_bottle/happy, +/obj/item/storage/pill_bottle/happy, /obj/effect/floor_decal/corner/red/border{ dir = 1 }, @@ -3167,7 +3167,7 @@ /area/redgate/city/clotheshop) "epr" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/clown, +/obj/item/bedsheet/clown, /turf/simulated/floor/wood, /area/redgate/city/apartments) "epQ" = ( @@ -3178,14 +3178,14 @@ /area/redgate/city/pool) "erI" = ( /obj/structure/closet/secure_closet/engineering_personal, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = -3 }, /turf/simulated/floor/tiled/eris/dark/orangecorner, /area/redgate/city/engine) "erQ" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /turf/simulated/floor/carpet/oracarpet, /area/redgate/city/house3) "esT" = ( @@ -3231,24 +3231,24 @@ /obj/structure/closet/walllocker{ pixel_y = 33 }, -/obj/item/weapon/deck/cah, -/obj/item/weapon/deck/cah, -/obj/item/weapon/deck/cah, -/obj/item/weapon/deck/cah, -/obj/item/weapon/deck/cah, -/obj/item/weapon/deck/cah/black, -/obj/item/weapon/deck/cah/black, -/obj/item/weapon/deck/cah/black, -/obj/item/weapon/deck/cah/black, -/obj/item/weapon/deck/cah/black, -/obj/item/weapon/deck/cah/black, -/obj/item/weapon/deck/cah, -/obj/item/weapon/deck/cah, -/obj/item/weapon/deck/cah, -/obj/item/weapon/deck/cah/black, -/obj/item/weapon/deck/cah/black, -/obj/item/weapon/deck/cah/black, -/obj/item/weapon/deck/cah/black, +/obj/item/deck/cah, +/obj/item/deck/cah, +/obj/item/deck/cah, +/obj/item/deck/cah, +/obj/item/deck/cah, +/obj/item/deck/cah/black, +/obj/item/deck/cah/black, +/obj/item/deck/cah/black, +/obj/item/deck/cah/black, +/obj/item/deck/cah/black, +/obj/item/deck/cah/black, +/obj/item/deck/cah, +/obj/item/deck/cah, +/obj/item/deck/cah, +/obj/item/deck/cah/black, +/obj/item/deck/cah/black, +/obj/item/deck/cah/black, +/obj/item/deck/cah/black, /turf/simulated/shuttle/floor/white, /area/redgate/city/cards) "ewn" = ( @@ -3260,9 +3260,9 @@ /area/redgate/city/casino) "eww" = ( /obj/structure/bookcase, -/obj/item/weapon/book/bundle/custom_library/reference/ThermodynamicReactionsandResearch, -/obj/item/weapon/book/bundle/custom_library/reference/fbpandprostheticmaintenance, -/obj/item/weapon/book/bundle/custom_library/reference/recyclingprocedures, +/obj/item/book/bundle/custom_library/reference/ThermodynamicReactionsandResearch, +/obj/item/book/bundle/custom_library/reference/fbpandprostheticmaintenance, +/obj/item/book/bundle/custom_library/reference/recyclingprocedures, /turf/simulated/floor/wood, /area/redgate/city/library) "ewA" = ( @@ -3371,11 +3371,11 @@ /area/redgate/city/clotheshop) "eEp" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 3; pixel_y = 13 }, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = 14; pixel_y = 13 }, @@ -3387,7 +3387,7 @@ /area/redgate/city/restaurant) "eEw" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/deck/cards, +/obj/item/deck/cards, /turf/simulated/floor/tiled/eris/derelict3, /area/redgate/city/wiz) "eEz" = ( @@ -3481,15 +3481,15 @@ /area/redgate/city/streets) "eKL" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -1; pixel_y = 10 }, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -3; pixel_y = 4 }, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/small/saltshaker, /turf/simulated/floor/wood/alt, /area/redgate/city/restaurant) "eKM" = ( @@ -3505,7 +3505,7 @@ /obj/structure/closet/walllocker_double/misc_civ/north, /obj/random/toy, /obj/random/plushie, -/obj/item/weapon/lipstick/random, +/obj/item/lipstick/random, /turf/simulated/floor/tiled/kafel_full/white, /area/redgate/city/gallery) "eLr" = ( @@ -3542,9 +3542,9 @@ /area/redgate/city/gym) "eMQ" = ( /obj/structure/bookcase, -/obj/item/weapon/book/custom_library/religious/feastofkubera, -/obj/item/weapon/book/custom_library/religious/storyoflordganesha, -/obj/item/weapon/book/custom_library/religious/sungoddessofkorea, +/obj/item/book/custom_library/religious/feastofkubera, +/obj/item/book/custom_library/religious/storyoflordganesha, +/obj/item/book/custom_library/religious/sungoddessofkorea, /turf/simulated/floor/wood, /area/redgate/city/library) "eNy" = ( @@ -3641,10 +3641,8 @@ /turf/simulated/floor/water/digestive_enzymes, /area/redgate/city/waterworks) "eSM" = ( -/obj/machinery/disease2/incubator, -/obj/machinery/light{ - dir = 1 - }, +/obj/structure/table/standard, +/obj/item/book/manual/virology, /turf/simulated/floor/tiled/white, /area/redgate/city/science) "eTR" = ( @@ -3749,9 +3747,9 @@ /area/redgate/city/toys) "fap" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer/meteor, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer/meteor, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer/meteor, +/obj/item/reagent_containers/food/drinks/bottle/small/beer/meteor, +/obj/item/reagent_containers/food/drinks/bottle/small/beer/meteor, +/obj/item/reagent_containers/food/drinks/bottle/small/beer/meteor, /turf/simulated/floor/carpet/brown, /area/redgate/city/hotel) "fba" = ( @@ -3766,9 +3764,9 @@ /area/redgate/city/house12) "fbr" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/fancy/chewables/tobacco/nico, -/obj/item/weapon/storage/box/fancy/chewables/tobacco/nico, -/obj/item/weapon/storage/box/fancy/chewables/tobacco/nico, +/obj/item/storage/box/fancy/chewables/tobacco/nico, +/obj/item/storage/box/fancy/chewables/tobacco/nico, +/obj/item/storage/box/fancy/chewables/tobacco/nico, /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/city/supermarket) "fcp" = ( @@ -3885,12 +3883,12 @@ /obj/structure/closet, /obj/random/contraband, /obj/random/maintenance/misc, -/obj/item/weapon/reagent_containers/syringe/drugs, +/obj/item/reagent_containers/syringe/drugs, /turf/simulated/floor/wood/alt, /area/redgate/city/stripclub) "fmA" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/pineapple, +/obj/item/reagent_containers/food/snacks/sliceable/pizza/pineapple, /turf/simulated/floor/tiled/kafel_full/blue, /area/redgate/city/pizza) "fnj" = ( @@ -3953,8 +3951,8 @@ /obj/effect/floor_decal/borderfloorblack{ dir = 1 }, -/obj/item/weapon/surgical/cautery, -/obj/item/weapon/surgical/bone_clamp, +/obj/item/surgical/cautery, +/obj/item/surgical/bone_clamp, /turf/simulated/floor/dungeon, /area/redgate/city/doctor) "fsS" = ( @@ -3975,7 +3973,7 @@ /turf/simulated/floor/tiled/eris/dark/orangecorner, /area/redgate/city/engine) "fuf" = ( -/obj/item/weapon/reagent_containers/food/snacks/old/horseburger, +/obj/item/reagent_containers/food/snacks/old/horseburger, /turf/simulated/floor/plating, /area/redgate/city/dump) "fuu" = ( @@ -4054,7 +4052,7 @@ /obj/machinery/light/floortube{ dir = 4; light_color = "#ff8086"; - light_type = /obj/item/weapon/light/bulb/red; + light_type = /obj/item/light/bulb/red; name = "stripper light" }, /turf/simulated/floor/carpet/purcarpet, @@ -4177,7 +4175,7 @@ /area/redgate/city/hospital) "fEG" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/yellow, +/obj/item/bedsheet/yellow, /turf/simulated/floor/wood, /area/redgate/city/apartments) "fEQ" = ( @@ -4195,11 +4193,11 @@ /area/redgate/city/hospital) "fEX" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -1; pixel_y = 10 }, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 3; pixel_y = 13 }, @@ -4333,7 +4331,7 @@ /obj/structure/window/basic{ dir = 8 }, -/obj/item/weapon/storage/wallet/casino, +/obj/item/storage/wallet/casino, /turf/simulated/floor/tiled/yellow, /area/redgate/city/casino) "fQX" = ( @@ -4382,7 +4380,7 @@ /area/redgate/city/hospital) "fVx" = ( /obj/structure/table/glass, -/obj/item/weapon/paper_bin, +/obj/item/paper_bin, /obj/machinery/light/small{ dir = 1 }, @@ -4429,19 +4427,19 @@ /area/redgate/city/church) "fZJ" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/firstaid/toxin{ +/obj/item/storage/firstaid/toxin{ pixel_x = -9; pixel_y = 10 }, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ pixel_x = 6; pixel_y = 10 }, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ pixel_x = -9; pixel_y = 1 }, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/fire{ pixel_x = 6; pixel_y = 1 }, @@ -4463,10 +4461,10 @@ /area/redgate/city/casino) "gbV" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/reagent_containers/food/snacks/ratpackcheese, -/obj/item/weapon/reagent_containers/food/snacks/ratpackcheese, -/obj/item/weapon/reagent_containers/food/snacks/ratpackcheese, -/obj/item/weapon/reagent_containers/food/snacks/ratpackcheese, +/obj/item/reagent_containers/food/snacks/ratpackcheese, +/obj/item/reagent_containers/food/snacks/ratpackcheese, +/obj/item/reagent_containers/food/snacks/ratpackcheese, +/obj/item/reagent_containers/food/snacks/ratpackcheese, /obj/machinery/light{ dir = 1 }, @@ -4575,13 +4573,13 @@ /area/redgate/city/clotheshop) "gjk" = ( /obj/structure/closet/walllocker_double/emergency_engi/north, -/obj/item/device/multitool, -/obj/item/weapon/storage/toolbox/brass, +/obj/item/multitool, +/obj/item/storage/toolbox/brass, /turf/simulated/floor/tiled/dark, /area/redgate/city/comms) "gjl" = ( /obj/structure/table/steel, -/obj/item/device/multitool, +/obj/item/multitool, /turf/simulated/floor/tiled/dark, /area/redgate/city/workshop) "gjG" = ( @@ -4615,7 +4613,7 @@ /area/redgate/city/science) "gmI" = ( /obj/structure/table/standard, -/obj/item/device/defib_kit/loaded, +/obj/item/defib_kit/loaded, /turf/simulated/floor/tiled/white, /area/redgate/city/hospital) "gmQ" = ( @@ -4643,7 +4641,7 @@ /obj/structure/casino_table/blackjack_m{ dir = 4 }, -/obj/item/weapon/deck/cards/casino, +/obj/item/deck/cards/casino, /turf/simulated/floor/carpet/purple, /area/redgate/city/casino) "gpj" = ( @@ -4737,11 +4735,11 @@ /area/redgate/city/storage) "gyl" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/reagent_containers/food/drinks/bottle/pwine, -/obj/item/weapon/reagent_containers/food/drinks/bottle/pwine, -/obj/item/weapon/reagent_containers/food/drinks/bottle/pwine, -/obj/item/weapon/reagent_containers/food/drinks/bottle/pwine, -/obj/item/weapon/reagent_containers/food/drinks/bottle/pwine, +/obj/item/reagent_containers/food/drinks/bottle/pwine, +/obj/item/reagent_containers/food/drinks/bottle/pwine, +/obj/item/reagent_containers/food/drinks/bottle/pwine, +/obj/item/reagent_containers/food/drinks/bottle/pwine, +/obj/item/reagent_containers/food/drinks/bottle/pwine, /turf/simulated/floor/tiled/eris/cafe, /area/redgate/city/offlicense) "gyB" = ( @@ -4802,7 +4800,7 @@ /area/redgate/city/hospital) "gEX" = ( /obj/structure/table/woodentable, -/obj/item/device/retail_scanner, +/obj/item/retail_scanner, /turf/simulated/floor/wood/alt, /area/redgate/city/stripclub) "gFk" = ( @@ -4862,25 +4860,25 @@ /area/redgate/city/house17) "gIb" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_y = 8 }, /turf/simulated/floor/carpet/blue, /area/redgate/city/stripclub) "gIf" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka, -/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka, -/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka, -/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka, -/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey, -/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey, -/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey, -/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey, -/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe, -/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe, -/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe, -/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe, +/obj/item/reagent_containers/food/drinks/bottle/vodka, +/obj/item/reagent_containers/food/drinks/bottle/vodka, +/obj/item/reagent_containers/food/drinks/bottle/vodka, +/obj/item/reagent_containers/food/drinks/bottle/vodka, +/obj/item/reagent_containers/food/drinks/bottle/whiskey, +/obj/item/reagent_containers/food/drinks/bottle/whiskey, +/obj/item/reagent_containers/food/drinks/bottle/whiskey, +/obj/item/reagent_containers/food/drinks/bottle/whiskey, +/obj/item/reagent_containers/food/drinks/bottle/absinthe, +/obj/item/reagent_containers/food/drinks/bottle/absinthe, +/obj/item/reagent_containers/food/drinks/bottle/absinthe, +/obj/item/reagent_containers/food/drinks/bottle/absinthe, /turf/simulated/floor/wood/alt/tile, /area/redgate/city/gamblingden) "gJm" = ( @@ -4909,8 +4907,8 @@ /area/redgate/city/house5) "gKj" = ( /obj/structure/table/woodentable, -/obj/item/weapon/tool/wrench/brass, -/obj/item/weapon/tool/screwdriver/brass{ +/obj/item/tool/wrench/brass, +/obj/item/tool/screwdriver/brass{ pixel_y = 5 }, /turf/simulated/floor/wood/alt, @@ -4935,12 +4933,12 @@ /obj/structure/closet/walllocker{ pixel_y = 33 }, -/obj/item/weapon/deck/egy, -/obj/item/weapon/deck/egy, -/obj/item/weapon/deck/egy, -/obj/item/weapon/deck/egy, -/obj/item/weapon/deck/egy, -/obj/item/weapon/deck/egy, +/obj/item/deck/egy, +/obj/item/deck/egy, +/obj/item/deck/egy, +/obj/item/deck/egy, +/obj/item/deck/egy, +/obj/item/deck/egy, /turf/simulated/shuttle/floor/white, /area/redgate/city/cards) "gMN" = ( @@ -4955,7 +4953,7 @@ /area/redgate/city/morgue) "gNu" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/greendouble, +/obj/item/bedsheet/greendouble, /turf/simulated/floor/carpet/green, /area/redgate/city/house17) "gNx" = ( @@ -4977,7 +4975,7 @@ /area/redgate/city/hotel) "gOW" = ( /obj/structure/closet/radiation, -/obj/item/weapon/reagent_containers/glass/beaker/vial/random/toxin, +/obj/item/reagent_containers/glass/beaker/vial/random/toxin, /turf/simulated/floor/tiled/white, /area/redgate/city/science) "gPf" = ( @@ -5004,15 +5002,15 @@ /area/redgate/city/streets) "gQo" = ( /obj/structure/closet, -/obj/item/weapon/folder/red, -/obj/item/weapon/folder/red, -/obj/item/device/tape/random, +/obj/item/folder/red, +/obj/item/folder/red, +/obj/item/rectape/random, /obj/random/powercell/device, /turf/simulated/floor/tiled/red, /area/redgate/city/corporation) "gQA" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, /turf/simulated/floor/wood/alt, /area/redgate/city/pharmacy) "gRW" = ( @@ -5055,7 +5053,7 @@ /area/redgate/city/restaurant) "gSV" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/ian, +/obj/item/bedsheet/ian, /turf/simulated/floor/wood, /area/redgate/city/apartments) "gTg" = ( @@ -5110,9 +5108,9 @@ /obj/random/contraband, /obj/random/medical/pillbottle, /obj/random/cash/huge, -/obj/item/weapon/reagent_containers/syringe/drugs, -/obj/item/weapon/reagent_containers/syringe/drugs, -/obj/item/weapon/reagent_containers/syringe/drugs, +/obj/item/reagent_containers/syringe/drugs, +/obj/item/reagent_containers/syringe/drugs, +/obj/item/reagent_containers/syringe/drugs, /obj/random/unidentified_medicine/drug_den, /turf/simulated/floor/carpet/blue, /area/redgate/city/stripclub) @@ -5143,7 +5141,7 @@ /obj/structure/closet, /obj/random/coin, /obj/random/maintenance/clean, -/obj/item/device/camera, +/obj/item/camera, /obj/item/clothing/under/librarian, /turf/simulated/floor/wood, /area/redgate/city/library) @@ -5180,8 +5178,8 @@ name = "dim light" }, /obj/structure/table/steel_reinforced, -/obj/item/weapon/surgical/scalpel, -/obj/item/weapon/surgical/circular_saw{ +/obj/item/surgical/scalpel, +/obj/item/surgical/circular_saw{ pixel_y = 7 }, /turf/simulated/floor/dungeon, @@ -5220,7 +5218,7 @@ /area/redgate/city/house8) "hag" = ( /obj/structure/closet, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = -3 }, /turf/simulated/floor/wood/alt, @@ -5271,7 +5269,7 @@ /area/redgate/city/science) "hdR" = ( /obj/structure/table/woodentable, -/obj/item/weapon/pack/cardemon, +/obj/item/pack/cardemon, /turf/simulated/floor/wood/alt/panel, /area/redgate/city/cardmon) "hea" = ( @@ -5282,14 +5280,14 @@ /area/redgate/city/streets) "heQ" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe, -/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe, -/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe, -/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe, -/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe, -/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe, -/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe, -/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe, +/obj/item/reagent_containers/food/drinks/bottle/absinthe, +/obj/item/reagent_containers/food/drinks/bottle/absinthe, +/obj/item/reagent_containers/food/drinks/bottle/absinthe, +/obj/item/reagent_containers/food/drinks/bottle/absinthe, +/obj/item/reagent_containers/food/drinks/bottle/absinthe, +/obj/item/reagent_containers/food/drinks/bottle/absinthe, +/obj/item/reagent_containers/food/drinks/bottle/absinthe, +/obj/item/reagent_containers/food/drinks/bottle/absinthe, /obj/machinery/light{ dir = 8 }, @@ -5325,7 +5323,7 @@ /area/redgate/city/cardmon) "hfF" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/hos, +/obj/item/bedsheet/hos, /turf/simulated/floor/carpet/oracarpet, /area/redgate/city/house1) "hfG" = ( @@ -5370,7 +5368,7 @@ /obj/structure/window/basic{ dir = 1 }, -/obj/item/device/retail_scanner, +/obj/item/retail_scanner, /turf/simulated/floor/tiled/white, /area/redgate/city/pharmacy) "hip" = ( @@ -5412,7 +5410,7 @@ /turf/simulated/floor/tiled/neutral, /area/redgate/city/weretiger) "hnf" = ( -/obj/item/weapon/reagent_containers/food/snacks/old/fries, +/obj/item/reagent_containers/food/snacks/old/fries, /turf/simulated/floor/wood/alt/panel, /area/redgate/city/rats) "hny" = ( @@ -5546,7 +5544,7 @@ /area/redgate/city/workshop) "hAZ" = ( /obj/structure/table/glass, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/carpet/purple, /area/redgate/city/house2) "hBj" = ( @@ -5568,15 +5566,15 @@ /area/redgate/city/pharmacy) "hBE" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/reagent_containers/food/snacks/ratveggies, -/obj/item/weapon/reagent_containers/food/snacks/ratveggies, -/obj/item/weapon/reagent_containers/food/snacks/ratveggies, -/obj/item/weapon/reagent_containers/food/snacks/ratveggies, +/obj/item/reagent_containers/food/snacks/ratveggies, +/obj/item/reagent_containers/food/snacks/ratveggies, +/obj/item/reagent_containers/food/snacks/ratveggies, +/obj/item/reagent_containers/food/snacks/ratveggies, /turf/simulated/floor/tiled/neutral, /area/redgate/city/altevian) "hCn" = ( /obj/structure/bed/chair/sofa/left/brown, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer/meteor, +/obj/item/reagent_containers/food/drinks/bottle/small/beer/meteor, /turf/simulated/floor/carpet/brown, /area/redgate/city/hotel) "hCP" = ( @@ -5611,7 +5609,7 @@ /area/redgate/city/science) "hEw" = ( /obj/structure/closet/secure_closet/personal, -/obj/item/weapon/handcuffs/legcuffs/bola, +/obj/item/handcuffs/legcuffs/bola, /obj/machinery/light/small{ dir = 8 }, @@ -5631,7 +5629,7 @@ /area/redgate/city/science) "hEQ" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/reagent_containers/syringe/drugs, +/obj/item/reagent_containers/syringe/drugs, /obj/effect/floor_decal/corner/red/border{ dir = 1 }, @@ -5646,7 +5644,7 @@ /area/redgate/city/stripclub) "hFs" = ( /obj/structure/table/woodentable, -/obj/item/device/retail_scanner, +/obj/item/retail_scanner, /turf/simulated/floor/wood/alt, /area/redgate/city/hotel) "hFF" = ( @@ -5659,7 +5657,7 @@ /area/redgate/city/hospital) "hGr" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /turf/simulated/floor/carpet/turcarpet, /area/redgate/city/house13) "hGN" = ( @@ -5672,41 +5670,41 @@ /obj/structure/closet{ name = "chips" }, -/obj/item/weapon/spacecasinocash/c1, -/obj/item/weapon/spacecasinocash/c1, -/obj/item/weapon/spacecasinocash/c1, -/obj/item/weapon/spacecasinocash/c1, -/obj/item/weapon/spacecasinocash/c1, -/obj/item/weapon/spacecasinocash/c1, -/obj/item/weapon/spacecasinocash/c1, -/obj/item/weapon/spacecasinocash/c1, -/obj/item/weapon/spacecasinocash/c1, -/obj/item/weapon/spacecasinocash/c1, -/obj/item/weapon/spacecasinocash/c1, -/obj/item/weapon/spacecasinocash/c1, -/obj/item/weapon/spacecasinocash/c1, -/obj/item/weapon/spacecasinocash/c1, -/obj/item/weapon/spacecasinocash/c1, -/obj/item/weapon/spacecasinocash/c1, -/obj/item/weapon/spacecasinocash/c10, -/obj/item/weapon/spacecasinocash/c10, -/obj/item/weapon/spacecasinocash/c10, -/obj/item/weapon/spacecasinocash/c10, -/obj/item/weapon/spacecasinocash/c10, -/obj/item/weapon/spacecasinocash/c10, -/obj/item/weapon/spacecasinocash/c10, -/obj/item/weapon/spacecasinocash/c10, -/obj/item/weapon/spacecasinocash/c10, -/obj/item/weapon/spacecasinocash/c10, -/obj/item/weapon/spacecasinocash/c10, -/obj/item/weapon/spacecasinocash/c10, -/obj/item/weapon/spacecasinocash/c10, -/obj/item/weapon/spacecasinocash/c10, -/obj/item/weapon/spacecasinocash/c100, -/obj/item/weapon/spacecasinocash/c100, -/obj/item/weapon/spacecasinocash/c100, -/obj/item/weapon/spacecasinocash/c100, -/obj/item/weapon/spacecasinocash/c100, +/obj/item/spacecasinocash/c1, +/obj/item/spacecasinocash/c1, +/obj/item/spacecasinocash/c1, +/obj/item/spacecasinocash/c1, +/obj/item/spacecasinocash/c1, +/obj/item/spacecasinocash/c1, +/obj/item/spacecasinocash/c1, +/obj/item/spacecasinocash/c1, +/obj/item/spacecasinocash/c1, +/obj/item/spacecasinocash/c1, +/obj/item/spacecasinocash/c1, +/obj/item/spacecasinocash/c1, +/obj/item/spacecasinocash/c1, +/obj/item/spacecasinocash/c1, +/obj/item/spacecasinocash/c1, +/obj/item/spacecasinocash/c1, +/obj/item/spacecasinocash/c10, +/obj/item/spacecasinocash/c10, +/obj/item/spacecasinocash/c10, +/obj/item/spacecasinocash/c10, +/obj/item/spacecasinocash/c10, +/obj/item/spacecasinocash/c10, +/obj/item/spacecasinocash/c10, +/obj/item/spacecasinocash/c10, +/obj/item/spacecasinocash/c10, +/obj/item/spacecasinocash/c10, +/obj/item/spacecasinocash/c10, +/obj/item/spacecasinocash/c10, +/obj/item/spacecasinocash/c10, +/obj/item/spacecasinocash/c10, +/obj/item/spacecasinocash/c100, +/obj/item/spacecasinocash/c100, +/obj/item/spacecasinocash/c100, +/obj/item/spacecasinocash/c100, +/obj/item/spacecasinocash/c100, /obj/item/roulette_ball/gold, /turf/simulated/floor/tiled/yellow, /area/redgate/city/casino) @@ -5754,8 +5752,8 @@ /area/redgate/city/theatre) "hMM" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/mmi, -/obj/item/device/robotanalyzer, +/obj/item/mmi, +/obj/item/robotanalyzer, /turf/simulated/floor/tiled/milspec, /area/redgate/city/ripper) "hNk" = ( @@ -5795,25 +5793,25 @@ /area/redgate/city/science) "hQh" = ( /obj/structure/table/rack, -/obj/item/weapon/reagent_containers/food/drinks/cans/bodaplus, -/obj/item/weapon/reagent_containers/food/drinks/cans/bodaplus, -/obj/item/weapon/reagent_containers/food/drinks/cans/bodaplus, -/obj/item/weapon/reagent_containers/food/drinks/cans/bodaplus, -/obj/item/weapon/reagent_containers/food/drinks/cans/bodaplus, +/obj/item/reagent_containers/food/drinks/cans/bodaplus, +/obj/item/reagent_containers/food/drinks/cans/bodaplus, +/obj/item/reagent_containers/food/drinks/cans/bodaplus, +/obj/item/reagent_containers/food/drinks/cans/bodaplus, +/obj/item/reagent_containers/food/drinks/cans/bodaplus, /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/city/supermarket) "hQZ" = ( /obj/structure/closet/secure_closet/freezer/meat, /obj/random/unidentified_medicine/drug_den, -/obj/item/weapon/reagent_containers/syringe/steroid, -/obj/item/weapon/reagent_containers/syringe/steroid, +/obj/item/reagent_containers/syringe/steroid, +/obj/item/reagent_containers/syringe/steroid, /turf/simulated/floor/wood/alt/tile, /area/redgate/city/drugden) "hRb" = ( /obj/structure/table/rack, -/obj/item/weapon/reagent_containers/food/snacks/tuna, -/obj/item/weapon/reagent_containers/food/snacks/tuna, -/obj/item/weapon/reagent_containers/food/snacks/tuna, +/obj/item/reagent_containers/food/snacks/tuna, +/obj/item/reagent_containers/food/snacks/tuna, +/obj/item/reagent_containers/food/snacks/tuna, /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/city/supermarket) "hRs" = ( @@ -5860,21 +5858,21 @@ /area/redgate/city/engine) "hSz" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/bluedouble, +/obj/item/bedsheet/bluedouble, /turf/simulated/floor/carpet/purcarpet, /area/redgate/city/house8) "hSA" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/flame/lighter/random, -/obj/item/weapon/flame/lighter/random, -/obj/item/weapon/flame/lighter/random, -/obj/item/weapon/flame/lighter/random, -/obj/item/weapon/flame/lighter/random, -/obj/item/weapon/flame/lighter/random, -/obj/item/weapon/flame/lighter/random, -/obj/item/weapon/flame/lighter/random, -/obj/item/weapon/flame/lighter/random, -/obj/item/weapon/flame/lighter/random, +/obj/item/flame/lighter/random, +/obj/item/flame/lighter/random, +/obj/item/flame/lighter/random, +/obj/item/flame/lighter/random, +/obj/item/flame/lighter/random, +/obj/item/flame/lighter/random, +/obj/item/flame/lighter/random, +/obj/item/flame/lighter/random, +/obj/item/flame/lighter/random, +/obj/item/flame/lighter/random, /turf/simulated/floor/tiled/eris/cafe, /area/redgate/city/offlicense) "hSV" = ( @@ -5954,7 +5952,7 @@ /area/redgate/city/morgue) "hYt" = ( /obj/structure/table/woodentable, -/obj/item/weapon/folder/red, +/obj/item/folder/red, /turf/simulated/floor/wood/alt, /area/redgate/city/police) "hYX" = ( @@ -6109,8 +6107,8 @@ /area/redgate/city/warehouse) "ijs" = ( /obj/structure/table/standard, -/obj/item/weapon/material/knife/butch, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/knife/butch, +/obj/item/material/kitchen/rollingpin, /turf/simulated/floor/tiled/kafel_full/blue, /area/redgate/city/pizza) "ikt" = ( @@ -6150,7 +6148,7 @@ /area/redgate/city/supermarket) "imI" = ( /obj/structure/table/alien, -/obj/item/weapon/deck/egy{ +/obj/item/deck/egy{ pixel_x = 15 }, /turf/simulated/shuttle/floor/alienplating/blue/half, @@ -6163,7 +6161,7 @@ /area/redgate/city/check1) "imS" = ( /obj/structure/table/steel, -/obj/item/device/electronic_assembly/large/default, +/obj/item/electronic_assembly/large/default, /turf/simulated/floor/tiled/dark, /area/redgate/city/workshop) "imV" = ( @@ -6246,7 +6244,7 @@ /area/redgate/city/toys) "itN" = ( /obj/structure/table/glass, -/obj/item/device/nif/bad{ +/obj/item/nif/bad{ name = "display model NIF" }, /obj/machinery/light{ @@ -6256,7 +6254,7 @@ /area/redgate/city/nifshop) "iuB" = ( /obj/structure/table/rack/gun_rack/steel, -/obj/item/weapon/reagent_containers/food/drinks/golden_cup, +/obj/item/reagent_containers/food/drinks/golden_cup, /turf/simulated/floor/tiled/techfloor, /area/redgate/city/casino) "ivG" = ( @@ -6304,8 +6302,8 @@ /area/redgate/city/laundry) "iyb" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/storage/box/beakers, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/storage/box/beakers, /turf/simulated/floor/tiled/white, /area/redgate/city/science) "iyu" = ( @@ -6323,7 +6321,7 @@ /area/redgate/city/science) "izm" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/brainzsnax, +/obj/item/storage/box/brainzsnax, /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/city/supermarket) "izw" = ( @@ -6337,7 +6335,7 @@ /area/redgate/city/house3) "iAv" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /turf/simulated/floor/carpet/bcarpet, /area/redgate/city/house3) "iAW" = ( @@ -6351,9 +6349,9 @@ /area/redgate/city/corporation) "iCg" = ( /obj/structure/bookcase, -/obj/item/weapon/book/bundle/custom_library/fiction/metalglen, -/obj/item/weapon/book/bundle/custom_library/fiction/poemsforarainyday, -/obj/item/weapon/book/bundle/custom_library/fiction/raissue142, +/obj/item/book/bundle/custom_library/fiction/metalglen, +/obj/item/book/bundle/custom_library/fiction/poemsforarainyday, +/obj/item/book/bundle/custom_library/fiction/raissue142, /turf/simulated/floor/wood, /area/redgate/city/library) "iCp" = ( @@ -6372,7 +6370,7 @@ /area/redgate/city/hospital) "iDE" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, /obj/machinery/injector_maker{ pixel_y = 21 }, @@ -6469,11 +6467,11 @@ /obj/structure/sign/painting/public{ pixel_x = -30 }, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 2; pixel_y = 7 }, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -1; pixel_y = 10 }, @@ -6601,13 +6599,13 @@ /area/redgate/city/check2) "iQt" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka, -/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka, -/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka, -/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka, -/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka, -/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka, -/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka, +/obj/item/reagent_containers/food/drinks/bottle/vodka, +/obj/item/reagent_containers/food/drinks/bottle/vodka, +/obj/item/reagent_containers/food/drinks/bottle/vodka, +/obj/item/reagent_containers/food/drinks/bottle/vodka, +/obj/item/reagent_containers/food/drinks/bottle/vodka, +/obj/item/reagent_containers/food/drinks/bottle/vodka, +/obj/item/reagent_containers/food/drinks/bottle/vodka, /turf/simulated/floor/tiled/eris/cafe, /area/redgate/city/offlicense) "iRO" = ( @@ -6664,15 +6662,15 @@ /area/redgate/city/drugden) "iUI" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/reagent_containers/food/drinks/bottle/champagne, -/obj/item/weapon/reagent_containers/food/drinks/bottle/champagne, -/obj/item/weapon/reagent_containers/food/drinks/bottle/champagne, -/obj/item/weapon/reagent_containers/food/drinks/bottle/champagne, -/obj/item/weapon/reagent_containers/food/drinks/bottle/champagne, -/obj/item/weapon/reagent_containers/food/drinks/bottle/champagne, -/obj/item/weapon/reagent_containers/food/drinks/bottle/champagne, -/obj/item/weapon/reagent_containers/food/drinks/bottle/champagne, -/obj/item/weapon/reagent_containers/food/drinks/bottle/champagne, +/obj/item/reagent_containers/food/drinks/bottle/champagne, +/obj/item/reagent_containers/food/drinks/bottle/champagne, +/obj/item/reagent_containers/food/drinks/bottle/champagne, +/obj/item/reagent_containers/food/drinks/bottle/champagne, +/obj/item/reagent_containers/food/drinks/bottle/champagne, +/obj/item/reagent_containers/food/drinks/bottle/champagne, +/obj/item/reagent_containers/food/drinks/bottle/champagne, +/obj/item/reagent_containers/food/drinks/bottle/champagne, +/obj/item/reagent_containers/food/drinks/bottle/champagne, /turf/simulated/floor/tiled/eris/cafe, /area/redgate/city/offlicense) "iVh" = ( @@ -6741,8 +6739,8 @@ /area/redgate/city/hospital) "jaC" = ( /obj/structure/closet/cabinet, -/obj/item/weapon/bone/arm, -/obj/item/weapon/bone/leg, +/obj/item/bone/arm, +/obj/item/bone/leg, /obj/item/clothing/under/pizzaguy, /obj/item/clothing/head/pizzaguy, /turf/simulated/floor/wood/alt/panel, @@ -6757,7 +6755,7 @@ /area/redgate/city/church) "jaJ" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/bluedouble, +/obj/item/bedsheet/bluedouble, /turf/simulated/floor/carpet/blue, /area/redgate/city/house16) "jbM" = ( @@ -6795,11 +6793,11 @@ /area/redgate/city/apartments) "jdC" = ( /obj/structure/table/glass, -/obj/item/weapon/disk/nifsoft/compliance, +/obj/item/disk/nifsoft/compliance, /turf/simulated/shuttle/floor, /area/redgate/city/nifshop) "jdR" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/light{ dir = 8 }, @@ -6828,10 +6826,10 @@ /area/redgate/city/apartments) "jfs" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/donut, -/obj/item/weapon/storage/box/donut, -/obj/item/weapon/storage/box/donut, -/obj/item/weapon/storage/box/donut, +/obj/item/storage/box/donut, +/obj/item/storage/box/donut, +/obj/item/storage/box/donut, +/obj/item/storage/box/donut, /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/city/supermarket) "jgR" = ( @@ -6856,10 +6854,10 @@ /area/redgate/city/corporation) "jiS" = ( /obj/structure/table/steel, -/obj/item/device/integrated_electronics/wirer{ +/obj/item/integrated_electronics/wirer{ pixel_x = 5 }, -/obj/item/device/integrated_electronics/debugger{ +/obj/item/integrated_electronics/debugger{ pixel_x = -5 }, /turf/simulated/floor/tiled/dark, @@ -6899,11 +6897,11 @@ /area/redgate/city/costumes) "jkl" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/reagent_containers/glass/bottle/biomass{ +/obj/item/reagent_containers/glass/bottle/biomass{ pixel_x = -4; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/glass/bottle/biomass{ +/obj/item/reagent_containers/glass/bottle/biomass{ pixel_x = 6; pixel_y = 8 }, @@ -6919,10 +6917,10 @@ /area/redgate/city/science) "jlg" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/reagent_containers/food/snacks/ratprotein, -/obj/item/weapon/reagent_containers/food/snacks/ratprotein, -/obj/item/weapon/reagent_containers/food/snacks/ratprotein, -/obj/item/weapon/reagent_containers/food/snacks/ratprotein, +/obj/item/reagent_containers/food/snacks/ratprotein, +/obj/item/reagent_containers/food/snacks/ratprotein, +/obj/item/reagent_containers/food/snacks/ratprotein, +/obj/item/reagent_containers/food/snacks/ratprotein, /turf/simulated/floor/tiled/neutral, /area/redgate/city/altevian) "jlA" = ( @@ -6967,10 +6965,10 @@ /area/redgate/city/wiz) "jpC" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/reagent_containers/food/snacks/ratpackramen, -/obj/item/weapon/reagent_containers/food/snacks/ratpackramen, -/obj/item/weapon/reagent_containers/food/snacks/ratpackramen, -/obj/item/weapon/reagent_containers/food/snacks/ratpackramen, +/obj/item/reagent_containers/food/snacks/ratpackramen, +/obj/item/reagent_containers/food/snacks/ratpackramen, +/obj/item/reagent_containers/food/snacks/ratpackramen, +/obj/item/reagent_containers/food/snacks/ratpackramen, /turf/simulated/floor/tiled/neutral, /area/redgate/city/altevian) "jpH" = ( @@ -6987,7 +6985,7 @@ /area/redgate/city/hospital) "jqG" = ( /obj/structure/table/standard, -/obj/item/device/retail_scanner, +/obj/item/retail_scanner, /turf/simulated/floor/tiled/monotile, /area/redgate/city/stripclub) "jqI" = ( @@ -7079,7 +7077,7 @@ /area/redgate/city/streets) "jwD" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/hop, +/obj/item/bedsheet/hop, /turf/simulated/floor/wood, /area/redgate/city/apartments) "jwI" = ( @@ -7175,7 +7173,7 @@ /area/redgate/city/doctor) "jCC" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/knife/butch, +/obj/item/material/knife/butch, /turf/simulated/floor/wood/alt, /area/redgate/city/streets) "jCN" = ( @@ -7204,7 +7202,7 @@ /area/redgate/city/stripclub) "jEC" = ( /obj/structure/table/alien, -/obj/item/weapon/gun/projectile/revolver/toy/big_iron, +/obj/item/gun/projectile/revolver/toy/big_iron, /turf/simulated/floor/carpet/retro, /area/redgate/city/toys) "jED" = ( @@ -7260,7 +7258,7 @@ /area/redgate/city/casino) "jGZ" = ( /obj/structure/closet/wardrobe/chemistry_white, -/obj/item/weapon/storage/bag/chemistry, +/obj/item/storage/bag/chemistry, /obj/item/clothing/accessory/solgov/department/research/jumper{ desc = "Insignia denoting assignment to the research department." }, @@ -7399,7 +7397,7 @@ /area/redgate/city/supermarket) "jPE" = ( /obj/structure/table/fancyblack, -/obj/item/weapon/melee/umbrella/random, +/obj/item/melee/umbrella/random, /turf/simulated/floor/carpet/bcarpet, /area/redgate/city/bar1) "jPW" = ( @@ -7422,7 +7420,7 @@ /obj/structure/window/basic{ dir = 8 }, -/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, /turf/simulated/floor/tiled/white, /area/redgate/city/pharmacy) "jQG" = ( @@ -7439,7 +7437,7 @@ /area/redgate/city/chopshop) "jRE" = ( /obj/structure/closet/l3closet/scientist, -/obj/item/weapon/reagent_containers/glass/beaker/vial/random, +/obj/item/reagent_containers/glass/beaker/vial/random, /obj/random/slimecore, /turf/simulated/floor/tiled/white, /area/redgate/city/science) @@ -7455,10 +7453,10 @@ /area/redgate/city/science) "jSC" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/handcuffs, -/obj/item/weapon/handcuffs, -/obj/item/weapon/handcuffs/legcuffs, -/obj/item/weapon/handcuffs/legcuffs, +/obj/item/handcuffs, +/obj/item/handcuffs, +/obj/item/handcuffs/legcuffs, +/obj/item/handcuffs/legcuffs, /turf/simulated/floor/tiled/milspec, /area/redgate/city/police) "jTu" = ( @@ -7496,7 +7494,7 @@ /turf/simulated/floor/tiled/white, /area/redgate/city/house17) "jVD" = ( -/obj/item/weapon/reagent_containers/food/snacks/old/taco, +/obj/item/reagent_containers/food/snacks/old/taco, /turf/simulated/floor/plating, /area/redgate/city/dump) "jVJ" = ( @@ -7578,7 +7576,7 @@ /area/redgate/city/house4) "kaY" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/glass/beaker{ +/obj/item/reagent_containers/glass/beaker{ pixel_x = 5 }, /turf/simulated/floor/tiled/kafel_full/blue, @@ -7602,7 +7600,7 @@ /area/redgate/city/waterworks) "kcE" = ( /obj/structure/table/sifwoodentable, -/obj/item/weapon/storage/box/casino/costume_plaguedoctor, +/obj/item/storage/box/casino/costume_plaguedoctor, /turf/simulated/floor/wood/alt, /area/redgate/city/costumes) "kcU" = ( @@ -7612,8 +7610,8 @@ /area/redgate/city/workshop) "kdF" = ( /obj/structure/table/steel, -/obj/item/weapon/surgical/cautery, -/obj/item/weapon/surgical/scalpel, +/obj/item/surgical/cautery, +/obj/item/surgical/scalpel, /turf/simulated/floor/tiled/eris/white/bluecorner, /area/redgate/city/morgue) "kdK" = ( @@ -7689,7 +7687,7 @@ /area/redgate/city/corporation) "khO" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/fancy/crayons, +/obj/item/storage/fancy/crayons, /turf/simulated/floor/tiled/kafel_full/white, /area/redgate/city/gallery) "kih" = ( @@ -7715,9 +7713,9 @@ /obj/effect/floor_decal/corner/lime/border{ dir = 1 }, -/obj/item/weapon/storage/pill_bottle/paracetamol, -/obj/item/weapon/storage/pill_bottle/paracetamol, -/obj/item/weapon/storage/pill_bottle/paracetamol, +/obj/item/storage/pill_bottle/paracetamol, +/obj/item/storage/pill_bottle/paracetamol, +/obj/item/storage/pill_bottle/paracetamol, /turf/simulated/floor/tiled/white, /area/redgate/city/pharmacy) "kjI" = ( @@ -7851,7 +7849,7 @@ /area/redgate/city/engine) "kpN" = ( /obj/structure/table/standard, -/obj/item/weapon/pen/fountain2, +/obj/item/pen/fountain2, /turf/simulated/floor/tiled/white, /area/redgate/city/science) "kqd" = ( @@ -7875,7 +7873,7 @@ /area/redgate/city/tarot) "kua" = ( /obj/structure/table/alien, -/obj/item/weapon/deck/egy{ +/obj/item/deck/egy{ pixel_y = -16 }, /turf/simulated/shuttle/floor/alienplating/blue/half{ @@ -7956,7 +7954,7 @@ /obj/machinery/light/floortube{ dir = 8; light_color = "#ff8086"; - light_type = /obj/item/weapon/light/bulb/red; + light_type = /obj/item/light/bulb/red; name = "stripper light" }, /turf/simulated/floor/carpet/purcarpet, @@ -8026,7 +8024,7 @@ /turf/simulated/floor/wood, /area/redgate/city/house4) "kFi" = ( -/obj/item/weapon/towel/random, +/obj/item/towel/random, /obj/random/soap_common, /turf/simulated/floor/tiled/neutral, /area/redgate/city/cardmon) @@ -8056,7 +8054,7 @@ /area/redgate/city/house14) "kHd" = ( /obj/structure/table/fancyblack, -/obj/item/weapon/flame/candle/candelabra{ +/obj/item/flame/candle/candelabra{ pixel_y = 13 }, /turf/simulated/floor/carpet/brown, @@ -8099,7 +8097,7 @@ /turf/simulated/floor/wood, /area/redgate/city/house3) "kLq" = ( -/obj/item/weapon/reagent_containers/food/snacks/old/pizza, +/obj/item/reagent_containers/food/snacks/old/pizza, /turf/simulated/floor/wood/alt/panel, /area/redgate/city/rats) "kLU" = ( @@ -8261,7 +8259,7 @@ /obj/structure/closet/crate/secure{ req_one_access = list(101) }, -/obj/item/weapon/tool/transforming/altevian, +/obj/item/tool/transforming/altevian, /obj/random/junk, /obj/random/grenade/less_lethal, /obj/item/clothing/mask/altevian_breath, @@ -8322,8 +8320,8 @@ /area/redgate/city/workshop) "kWL" = ( /obj/structure/table/glass, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/fountain9, +/obj/item/paper_bin, +/obj/item/pen/fountain9, /obj/random/mug, /turf/simulated/floor/tiled/white, /area/redgate/city/science) @@ -8375,10 +8373,10 @@ /area/redgate/city/spa) "kZm" = ( /obj/structure/table/rack, -/obj/item/weapon/reagent_containers/food/snacks/packaged/meatration, -/obj/item/weapon/reagent_containers/food/snacks/packaged/meatration, -/obj/item/weapon/reagent_containers/food/snacks/packaged/meatration, -/obj/item/weapon/reagent_containers/food/snacks/packaged/meatration, +/obj/item/reagent_containers/food/snacks/packaged/meatration, +/obj/item/reagent_containers/food/snacks/packaged/meatration, +/obj/item/reagent_containers/food/snacks/packaged/meatration, +/obj/item/reagent_containers/food/snacks/packaged/meatration, /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/city/supermarket) "kZP" = ( @@ -8405,9 +8403,9 @@ /area/redgate/city/library) "lbl" = ( /obj/structure/table/rack, -/obj/item/weapon/reagent_containers/food/snacks/liquidfood, -/obj/item/weapon/reagent_containers/food/snacks/liquidfood, -/obj/item/weapon/reagent_containers/food/snacks/liquidfood, +/obj/item/reagent_containers/food/snacks/liquidfood, +/obj/item/reagent_containers/food/snacks/liquidfood, +/obj/item/reagent_containers/food/snacks/liquidfood, /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/city/supermarket) "lbt" = ( @@ -8421,7 +8419,7 @@ /obj/machinery/light/floortube{ dir = 8; light_color = "#ff8086"; - light_type = /obj/item/weapon/light/bulb/red; + light_type = /obj/item/light/bulb/red; name = "stripper light" }, /turf/simulated/floor/carpet/gaycarpet, @@ -8474,15 +8472,15 @@ /area/redgate/city/streets) "leS" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/reagent_containers/food/drinks/bottle/whitewine, -/obj/item/weapon/reagent_containers/food/drinks/bottle/whitewine, -/obj/item/weapon/reagent_containers/food/drinks/bottle/whitewine, -/obj/item/weapon/reagent_containers/food/drinks/bottle/whitewine, -/obj/item/weapon/reagent_containers/food/drinks/bottle/whitewine, -/obj/item/weapon/reagent_containers/food/drinks/bottle/whitewine, -/obj/item/weapon/reagent_containers/food/drinks/bottle/whitewine, -/obj/item/weapon/reagent_containers/food/drinks/bottle/whitewine, -/obj/item/weapon/reagent_containers/food/drinks/bottle/whitewine, +/obj/item/reagent_containers/food/drinks/bottle/whitewine, +/obj/item/reagent_containers/food/drinks/bottle/whitewine, +/obj/item/reagent_containers/food/drinks/bottle/whitewine, +/obj/item/reagent_containers/food/drinks/bottle/whitewine, +/obj/item/reagent_containers/food/drinks/bottle/whitewine, +/obj/item/reagent_containers/food/drinks/bottle/whitewine, +/obj/item/reagent_containers/food/drinks/bottle/whitewine, +/obj/item/reagent_containers/food/drinks/bottle/whitewine, +/obj/item/reagent_containers/food/drinks/bottle/whitewine, /turf/simulated/floor/tiled/eris/cafe, /area/redgate/city/offlicense) "lfd" = ( @@ -8493,11 +8491,11 @@ /area/redgate/city/streets) "lfQ" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -1; pixel_y = 10 }, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 3; pixel_y = 13 }, @@ -8505,11 +8503,11 @@ /area/redgate/city/cafe) "lfT" = ( /obj/structure/table/rack, -/obj/item/weapon/reagent_containers/food/drinks/cans/root_beer, -/obj/item/weapon/reagent_containers/food/drinks/cans/root_beer, -/obj/item/weapon/reagent_containers/food/drinks/cans/root_beer, -/obj/item/weapon/reagent_containers/food/drinks/cans/root_beer, -/obj/item/weapon/reagent_containers/food/drinks/cans/root_beer, +/obj/item/reagent_containers/food/drinks/cans/root_beer, +/obj/item/reagent_containers/food/drinks/cans/root_beer, +/obj/item/reagent_containers/food/drinks/cans/root_beer, +/obj/item/reagent_containers/food/drinks/cans/root_beer, +/obj/item/reagent_containers/food/drinks/cans/root_beer, /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/city/supermarket) "lgF" = ( @@ -8635,7 +8633,7 @@ /area/redgate/city/hospital) "loA" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, /obj/machinery/light{ dir = 4 }, @@ -8660,7 +8658,7 @@ /area/redgate/city/casino) "lpN" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/briefcase, +/obj/item/storage/briefcase, /turf/simulated/floor/wood, /area/redgate/city/library) "lpQ" = ( @@ -8696,8 +8694,8 @@ /area/redgate/city/supermarket) "ltu" = ( /obj/structure/closet/walllocker_double/medical/north, -/obj/item/weapon/cane, -/obj/item/weapon/cane, +/obj/item/cane, +/obj/item/cane, /obj/random/maintenance/medical, /turf/simulated/floor/tiled/white, /area/redgate/city/hospital) @@ -8709,7 +8707,7 @@ /area/redgate/city/pizza) "luj" = ( /obj/structure/table/woodentable, -/obj/item/weapon/book/manual/medical_diagnostics_manual{ +/obj/item/book/manual/wiki/medical_diagnostics_manual{ pixel_y = 7 }, /turf/simulated/floor/wood, @@ -8754,10 +8752,10 @@ /area/redgate/city/pool) "lxh" = ( /obj/structure/table/rack, -/obj/item/weapon/reagent_containers/food/snacks/packaged/vendburrito, -/obj/item/weapon/reagent_containers/food/snacks/packaged/vendburrito, -/obj/item/weapon/reagent_containers/food/snacks/packaged/vendburrito, -/obj/item/weapon/reagent_containers/food/snacks/packaged/vendburrito, +/obj/item/reagent_containers/food/snacks/packaged/vendburrito, +/obj/item/reagent_containers/food/snacks/packaged/vendburrito, +/obj/item/reagent_containers/food/snacks/packaged/vendburrito, +/obj/item/reagent_containers/food/snacks/packaged/vendburrito, /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/city/supermarket) "lxv" = ( @@ -8791,7 +8789,7 @@ /area/redgate/city/dealership) "lCA" = ( /obj/structure/table/darkglass, -/obj/item/weapon/storage/belt/holding, +/obj/item/storage/belt/holding, /turf/simulated/floor/tiled/eris/dark/gray_platform, /area/redgate/city/corporation) "lCD" = ( @@ -8846,7 +8844,7 @@ /area/redgate/city/house10) "lFu" = ( /obj/structure/table/darkglass, -/obj/item/weapon/bluespace_crystal, +/obj/item/bluespace_crystal, /turf/simulated/floor/tiled/eris/dark/gray_platform, /area/redgate/city/corporation) "lFx" = ( @@ -8856,7 +8854,7 @@ /area/redgate/city/warehouse) "lFz" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /turf/simulated/floor/tiled/dark, /area/redgate/city/police) "lFH" = ( @@ -8936,7 +8934,7 @@ /area/redgate/city/theatre) "lKL" = ( /obj/structure/table/woodentable, -/obj/item/weapon/book/bundle/custom_library/fiction/metalglen, +/obj/item/book/bundle/custom_library/fiction/metalglen, /turf/simulated/floor/wood, /area/redgate/city/house18) "lKP" = ( @@ -8967,7 +8965,7 @@ "lMx" = ( /obj/structure/table/rack/shelf, /obj/random/grenade/less_lethal, -/obj/item/weapon/gun/energy/plasmastun, +/obj/item/gun/energy/plasmastun, /obj/machinery/light/small, /turf/simulated/floor/concrete, /area/redgate/city/storage) @@ -8980,18 +8978,18 @@ /obj/structure/closet/walllocker/medical/south, /obj/random/unidentified_medicine/drug_den, /obj/random/unidentified_medicine/drug_den, -/obj/item/weapon/storage/box/pillbottles, +/obj/item/storage/box/pillbottles, /obj/random/medical/pillbottle, /obj/random/medical/pillbottle, /obj/random/medical/pillbottle, /obj/random/medical/pillbottle, -/obj/item/weapon/reagent_containers/pill/vermicetol, +/obj/item/reagent_containers/pill/vermicetol, /turf/simulated/floor/wood/alt, /area/redgate/city/pharmacy) "lNn" = ( /obj/structure/table/hardwoodtable, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/fountain5, +/obj/item/paper_bin, +/obj/item/pen/fountain5, /turf/simulated/floor/carpet, /area/redgate/city/house15) "lNM" = ( @@ -9009,7 +9007,7 @@ /turf/simulated/floor/wood/alt, /area/redgate/city/toys) "lPv" = ( -/obj/item/weapon/reagent_containers/syringe, +/obj/item/reagent_containers/syringe, /turf/simulated/floor/wood/alt/tile, /area/redgate/city/drugden) "lPB" = ( @@ -9036,9 +9034,9 @@ /area/redgate/city/hotel) "lRp" = ( /obj/structure/bookcase, -/obj/item/weapon/book/manual/chef_recipes, -/obj/item/weapon/book/manual/bar_guide, -/obj/item/weapon/book/manual/barman_recipes, +/obj/item/book/manual/chef_recipes, +/obj/item/book/manual/bar_guide, +/obj/item/book/manual/barman_recipes, /turf/simulated/floor/wood, /area/redgate/city/library) "lRH" = ( @@ -9065,7 +9063,7 @@ /turf/simulated/floor/wood, /area/redgate/city/house11) "lUM" = ( -/obj/item/device/communicator/watch, +/obj/item/communicator/watch, /turf/simulated/floor/carpet/brown, /area/redgate/city/hotel) "lVa" = ( @@ -9085,7 +9083,7 @@ /turf/simulated/floor/tiled/white, /area/redgate/city/supermarket) "lXc" = ( -/obj/item/clothing/gloves/knuckledusters, +/obj/item/clothing/accessory/knuckledusters, /turf/simulated/floor/wood/alt/tile, /area/redgate/city/fightclub) "lXi" = ( @@ -9162,7 +9160,7 @@ /area/redgate/city/clotheshop) "mbT" = ( /obj/structure/table/glass, -/obj/item/weapon/paper_bin, +/obj/item/paper_bin, /turf/simulated/floor/wood/alt, /area/redgate/city/dealership) "mck" = ( @@ -9174,10 +9172,10 @@ /area/redgate/city/apartments) "mcm" = ( /obj/structure/table/reinforced, -/obj/item/device/multitool{ +/obj/item/multitool{ pixel_x = 5 }, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, /turf/simulated/floor/tiled/eris/dark/orangecorner, /area/redgate/city/engine) "mds" = ( @@ -9186,7 +9184,7 @@ /area/redgate/city/clotheshop) "mdv" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /turf/simulated/floor/carpet/blue, /area/redgate/city/house4) "mdY" = ( @@ -9225,8 +9223,8 @@ /area/redgate/city/warehouse) "mib" = ( /obj/structure/table/standard, -/obj/item/weapon/material/kitchen/rollingpin, -/obj/item/weapon/material/knife/butch, +/obj/item/material/kitchen/rollingpin, +/obj/item/material/knife/butch, /turf/simulated/floor/tiled/white, /area/redgate/city/restaurant) "mii" = ( @@ -9259,13 +9257,13 @@ /area/redgate/city/police) "mjx" = ( /obj/structure/table/reinforced, -/obj/item/device/gps/engineering{ +/obj/item/gps/engineering{ pixel_x = -3 }, -/obj/item/device/gps/engineering{ +/obj/item/gps/engineering{ pixel_y = 3 }, -/obj/item/device/gps/engineering{ +/obj/item/gps/engineering{ pixel_x = 3; pixel_y = 6 }, @@ -9286,7 +9284,7 @@ /area/redgate/city/casino) "mkj" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/hopdouble, +/obj/item/bedsheet/hopdouble, /turf/simulated/floor/carpet/blue, /area/redgate/city/house4) "mkK" = ( @@ -9294,7 +9292,7 @@ /area/redgate/city/fightclub) "mkP" = ( /obj/structure/closet/wardrobe, -/obj/item/weapon/bone/skull, +/obj/item/bone/skull, /obj/random/meat, /obj/random/meat, /obj/random/maintenance/security, @@ -9344,7 +9342,7 @@ /area/redgate/city/apartments) "moo" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/syringe, +/obj/item/reagent_containers/syringe, /turf/simulated/floor/wood/alt/tile, /area/redgate/city/drugden) "mpi" = ( @@ -9368,7 +9366,7 @@ /area/redgate/city/apartments) "mqz" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin, +/obj/item/paper_bin, /turf/simulated/floor/tiled/white, /area/redgate/city/science) "mqA" = ( @@ -9400,7 +9398,7 @@ /area/redgate/city/fightclub) "mrZ" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/lights/bulbs, +/obj/item/storage/box/lights/bulbs, /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/city/supermarket) "msj" = ( @@ -9412,10 +9410,10 @@ /area/redgate/city/science) "msF" = ( /obj/structure/table/rack, -/obj/item/weapon/reagent_containers/food/snacks/packaged/vegration, -/obj/item/weapon/reagent_containers/food/snacks/packaged/vegration, -/obj/item/weapon/reagent_containers/food/snacks/packaged/vegration, -/obj/item/weapon/reagent_containers/food/snacks/packaged/vegration, +/obj/item/reagent_containers/food/snacks/packaged/vegration, +/obj/item/reagent_containers/food/snacks/packaged/vegration, +/obj/item/reagent_containers/food/snacks/packaged/vegration, +/obj/item/reagent_containers/food/snacks/packaged/vegration, /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/city/supermarket) "msM" = ( @@ -9448,7 +9446,7 @@ /area/redgate/city/house10) "mvM" = ( /obj/structure/table/standard, -/obj/item/weapon/tape_roll{ +/obj/item/tape_roll{ pixel_x = 4; pixel_y = 4 }, @@ -9459,23 +9457,23 @@ /area/redgate/city/teppi) "mwe" = ( /obj/structure/closet/walllocker_double/kitchen/north, -/obj/item/weapon/reagent_containers/food/condiment/enzyme{ +/obj/item/reagent_containers/food/condiment/enzyme{ layer = 5 }, -/obj/item/weapon/reagent_containers/food/condiment/enzyme{ +/obj/item/reagent_containers/food/condiment/enzyme{ layer = 5 }, -/obj/item/weapon/reagent_containers/glass/beaker{ +/obj/item/reagent_containers/glass/beaker{ pixel_x = 5 }, -/obj/item/weapon/reagent_containers/dropper, -/obj/item/weapon/storage/box/beakers{ +/obj/item/reagent_containers/dropper, +/obj/item/storage/box/beakers{ name = "box of measuring cups"; pixel_x = 2; pixel_y = 3; - starts_with = list(/obj/item/weapon/reagent_containers/glass/beaker/measuring_cup=7) + starts_with = list(/obj/item/reagent_containers/glass/beaker/measuring_cup=7) }, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /obj/random/medical/lite, /turf/simulated/floor/tiled/white, /area/redgate/city/restaurant) @@ -9486,7 +9484,7 @@ /obj/structure/closet/wardrobe, /obj/random/maintenance/cargo, /obj/item/clothing/glasses/goggles, -/obj/item/clothing/gloves/ring/material/plastic, +/obj/item/clothing/accessory/ring/material/plastic, /obj/item/clothing/under/cuttop/red, /turf/simulated/floor/wood, /area/redgate/city/apartments) @@ -9524,16 +9522,16 @@ /area/redgate/city/house8) "mzz" = ( /obj/structure/table/rack/gun_rack/steel, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, /turf/simulated/floor/tiled/techfloor, /area/redgate/city/casino) "mBu" = ( @@ -9556,7 +9554,7 @@ /turf/simulated/floor/tiled/steel_ridged, /area/redgate/city/waterworks) "mEd" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, /turf/simulated/floor/wood/alt/tile, @@ -9750,7 +9748,7 @@ /area/redgate/city/gym) "mNh" = ( /obj/structure/table/woodentable, -/obj/item/device/taperecorder, +/obj/item/taperecorder, /turf/simulated/floor/wood, /area/redgate/city/library) "mNF" = ( @@ -9794,10 +9792,10 @@ /area/redgate/city/dealership) "mPN" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/snacks/popcorn, -/obj/item/weapon/reagent_containers/food/snacks/popcorn, -/obj/item/weapon/reagent_containers/food/snacks/popcorn, -/obj/item/weapon/reagent_containers/food/snacks/popcorn, +/obj/item/reagent_containers/food/snacks/popcorn, +/obj/item/reagent_containers/food/snacks/popcorn, +/obj/item/reagent_containers/food/snacks/popcorn, +/obj/item/reagent_containers/food/snacks/popcorn, /turf/simulated/floor/carpet/blue, /area/redgate/city/theatre) "mQe" = ( @@ -9835,17 +9833,17 @@ /area/redgate/city/spa) "mSf" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/purple, +/obj/item/bedsheet/purple, /turf/simulated/floor/carpet/purcarpet, /area/redgate/city/house10) "mSj" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cognac, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cognac, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cognac, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cognac, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cognac, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cognac, +/obj/item/reagent_containers/food/drinks/bottle/cognac, +/obj/item/reagent_containers/food/drinks/bottle/cognac, +/obj/item/reagent_containers/food/drinks/bottle/cognac, +/obj/item/reagent_containers/food/drinks/bottle/cognac, +/obj/item/reagent_containers/food/drinks/bottle/cognac, +/obj/item/reagent_containers/food/drinks/bottle/cognac, /turf/simulated/floor/tiled/eris/cafe, /area/redgate/city/offlicense) "mSy" = ( @@ -10004,7 +10002,7 @@ /area/redgate/city/bar2) "nfa" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/book/tome, +/obj/item/book/tome, /turf/simulated/floor/tiled/eris/derelict3, /area/redgate/city/wiz) "nfg" = ( @@ -10078,7 +10076,7 @@ /obj/effect/floor_decal/borderfloorblack{ dir = 4 }, -/obj/item/weapon/surgical/bioregen, +/obj/item/surgical/bioregen, /turf/simulated/floor/dungeon, /area/redgate/city/doctor) "njA" = ( @@ -10087,10 +10085,10 @@ /area/redgate/city/science) "nkD" = ( /obj/structure/table/rack, -/obj/item/weapon/reagent_containers/food/snacks/packaged/vendburger, -/obj/item/weapon/reagent_containers/food/snacks/packaged/vendburger, -/obj/item/weapon/reagent_containers/food/snacks/packaged/vendburger, -/obj/item/weapon/reagent_containers/food/snacks/packaged/vendburger, +/obj/item/reagent_containers/food/snacks/packaged/vendburger, +/obj/item/reagent_containers/food/snacks/packaged/vendburger, +/obj/item/reagent_containers/food/snacks/packaged/vendburger, +/obj/item/reagent_containers/food/snacks/packaged/vendburger, /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/city/supermarket) "nlQ" = ( @@ -10121,7 +10119,7 @@ /area/redgate/city/gym) "noL" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/carpet/blue, /area/redgate/city/house16) "npc" = ( @@ -10144,7 +10142,7 @@ /area/redgate/city/streets) "nqc" = ( /obj/structure/table/glass, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/carpet/purple, /area/redgate/city/cardmon) "nqu" = ( @@ -10153,7 +10151,7 @@ /area/redgate/city/doctor) "nqO" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/rainbow, +/obj/item/bedsheet/rainbow, /turf/simulated/floor/wood, /area/redgate/city/apartments) "nqT" = ( @@ -10219,7 +10217,7 @@ /area/redgate/city/altevian) "nvN" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/defib_kit/jumper_kit, +/obj/item/defib_kit/jumper_kit, /turf/simulated/floor/tiled/milspec, /area/redgate/city/ripper) "nwI" = ( @@ -10285,7 +10283,7 @@ dir = 1 }, /obj/structure/table/rack/gun_rack/steel, -/obj/item/weapon/flame/lighter/zippo/gold, +/obj/item/flame/lighter/zippo/gold, /turf/simulated/floor/tiled/techfloor, /area/redgate/city/casino) "nyv" = ( @@ -10320,7 +10318,7 @@ /area/redgate/city/waterworks) "nAC" = ( /obj/structure/table/rack, -/obj/item/device/suit_cooling_unit{ +/obj/item/suit_cooling_unit{ pixel_y = -5 }, /obj/machinery/light{ @@ -10329,7 +10327,7 @@ /turf/simulated/floor/tiled/eris/white/bluecorner, /area/redgate/city/hospital) "nBM" = ( -/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/oldpizza, +/obj/item/reagent_containers/food/snacks/sliceable/pizza/oldpizza, /turf/simulated/floor/dungeon, /area/redgate/city/pizza) "nCg" = ( @@ -10489,7 +10487,7 @@ /area/redgate/city/cardmon) "nOh" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/hos, +/obj/item/bedsheet/hos, /turf/simulated/floor/wood, /area/redgate/city/apartments) "nOE" = ( @@ -10511,7 +10509,7 @@ /obj/effect/floor_decal/borderfloorblack{ dir = 1 }, -/obj/item/device/healthanalyzer, +/obj/item/healthanalyzer, /obj/item/clothing/mask/breath/anesthetic, /turf/simulated/floor/dungeon, /area/redgate/city/doctor) @@ -10562,7 +10560,7 @@ /obj/machinery/light/small{ dir = 1 }, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/carpet/purcarpet, /area/redgate/city/church) "nSS" = ( @@ -10605,7 +10603,7 @@ /area/redgate/city/cards) "nWw" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/lights/tubes, +/obj/item/storage/box/lights/tubes, /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/city/supermarket) "nWH" = ( @@ -10628,7 +10626,7 @@ /area/redgate/city/house6) "nXR" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /turf/simulated/floor/wood, /area/redgate/city/apartments) "nYE" = ( @@ -10770,13 +10768,13 @@ /area/redgate/city/hospital) "ogW" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/hosdouble, -/obj/item/weapon/paper, +/obj/item/bedsheet/hosdouble, +/obj/item/paper, /turf/simulated/floor/carpet/brown, /area/redgate/city/hotel) "ohf" = ( /obj/structure/table/alien/blue, -/obj/item/weapon/storage/briefcase/inflatable, +/obj/item/storage/briefcase/inflatable, /obj/machinery/light{ dir = 1 }, @@ -10788,7 +10786,7 @@ /area/redgate/city/church) "ohq" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/purpledouble, +/obj/item/bedsheet/purpledouble, /turf/simulated/floor/carpet/purple, /area/redgate/city/house2) "oht" = ( @@ -10825,7 +10823,7 @@ /area/redgate/city/waterworks) "okB" = ( /obj/structure/table/woodentable, -/obj/item/weapon/book/custom_library/religious/feastofkubera, +/obj/item/book/custom_library/religious/feastofkubera, /turf/simulated/floor/wood, /area/redgate/city/house4) "okP" = ( @@ -10896,7 +10894,7 @@ /area/redgate/city/morgue) "ooo" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/ce, +/obj/item/bedsheet/ce, /turf/simulated/floor/wood, /area/redgate/city/apartments) "oov" = ( @@ -10959,7 +10957,7 @@ /area/redgate/city/workshop) "osK" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/cedouble, +/obj/item/bedsheet/cedouble, /obj/machinery/light_switch{ pixel_y = 24 }, @@ -11034,6 +11032,13 @@ /obj/structure/undies_wardrobe, /turf/simulated/floor/tiled/freezer, /area/redgate/city/laundry) +"ozN" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/prop/machine/disease_analyser, +/turf/simulated/floor/tiled/white, +/area/redgate/city/science) "ozW" = ( /obj/machinery/light{ dir = 1 @@ -11065,10 +11070,10 @@ /obj/structure/window/reinforced{ dir = 8 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = 4 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /turf/simulated/floor/tiled/dark, @@ -11109,7 +11114,7 @@ /area/redgate/city/house9) "oES" = ( /obj/structure/bed/chair/sofa/right/brown, -/obj/item/weapon/card/id/event/polymorphic/altcard, +/obj/item/card/id/event/polymorphic/altcard, /obj/item/clothing/shoes/heels, /obj/machinery/light{ dir = 1 @@ -11145,9 +11150,9 @@ /area/redgate/city/house13) "oGK" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/donut, -/obj/item/weapon/storage/box/donut, -/obj/item/weapon/storage/box/donut, +/obj/item/storage/box/donut, +/obj/item/storage/box/donut, +/obj/item/storage/box/donut, /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/city/supermarket) "oHL" = ( @@ -11182,28 +11187,28 @@ /turf/simulated/floor/wood/alt, /area/redgate/city/streets) "oJh" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, /obj/machinery/light{ @@ -11269,8 +11274,8 @@ /obj/random/medical/pillbottle, /obj/random/medical/pillbottle, /obj/random/medical/pillbottle, -/obj/item/weapon/reagent_containers/glass/beaker/vial/random, -/obj/item/weapon/reagent_containers/glass/beaker/vial/random, +/obj/item/reagent_containers/glass/beaker/vial/random, +/obj/item/reagent_containers/glass/beaker/vial/random, /turf/simulated/floor/tiled/white, /area/redgate/city/science) "oML" = ( @@ -11299,7 +11304,7 @@ /area/redgate/city/succ) "oPf" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/snacks/mint, +/obj/item/reagent_containers/food/snacks/mint, /turf/simulated/floor/tiled/eris/cafe, /area/redgate/city/offlicense) "oPT" = ( @@ -11323,7 +11328,7 @@ /area/redgate/city/police) "oQV" = ( /obj/structure/table/alien/blue, -/obj/item/device/retail_scanner, +/obj/item/retail_scanner, /turf/simulated/shuttle/floor, /area/redgate/city/nifshop) "oQW" = ( @@ -11366,7 +11371,7 @@ /area/redgate/city/apartments) "oTp" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/hosdouble, +/obj/item/bedsheet/hosdouble, /turf/simulated/floor/carpet, /area/redgate/city/house7) "oUG" = ( @@ -11376,28 +11381,28 @@ /turf/simulated/fitness, /area/redgate/city/gym) "oUL" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, /turf/simulated/floor/tiled/yellow, @@ -11434,9 +11439,9 @@ /area/redgate/city/bar1) "oXJ" = ( /obj/structure/table/rack, -/obj/item/weapon/reagent_containers/food/snacks/tastybread, -/obj/item/weapon/reagent_containers/food/snacks/tastybread, -/obj/item/weapon/reagent_containers/food/snacks/tastybread, +/obj/item/reagent_containers/food/snacks/tastybread, +/obj/item/reagent_containers/food/snacks/tastybread, +/obj/item/reagent_containers/food/snacks/tastybread, /obj/machinery/light, /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/city/supermarket) @@ -11468,7 +11473,7 @@ /area/redgate/city/morgue) "oYM" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/hosdouble, +/obj/item/bedsheet/hosdouble, /turf/simulated/floor/carpet, /area/redgate/city/house15) "oYO" = ( @@ -11477,8 +11482,8 @@ /area/redgate/city/scughouse) "oYS" = ( /obj/structure/table/glass, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/blue, +/obj/item/paper_bin, +/obj/item/pen/blue, /turf/simulated/floor/tiled/eris/cafe, /area/redgate/city/gym) "oZa" = ( @@ -11493,7 +11498,7 @@ /obj/structure/casino_table/craps{ dir = 1 }, -/obj/item/weapon/storage/pill_bottle/dice, +/obj/item/storage/pill_bottle/dice, /turf/simulated/floor/carpet/purple, /area/redgate/city/casino) "paA" = ( @@ -11521,7 +11526,7 @@ /area/redgate/city/supermarket) "pck" = ( /obj/structure/table/alien, -/obj/item/weapon/deck/egy{ +/obj/item/deck/egy{ pixel_y = -16 }, /turf/simulated/shuttle/floor/alienplating/blue/half{ @@ -11530,7 +11535,7 @@ /area/redgate/city/cards) "pcD" = ( /obj/structure/table/standard, -/obj/item/weapon/folder/white, +/obj/item/folder/white, /turf/simulated/floor/tiled/white, /area/redgate/city/science) "pcG" = ( @@ -11541,24 +11546,24 @@ /area/redgate/city/conveyors) "pdm" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/storage/fancy/cigarettes/dromedaryco, -/obj/item/weapon/storage/fancy/cigarettes/dromedaryco, -/obj/item/weapon/storage/fancy/cigarettes/dromedaryco, -/obj/item/weapon/storage/fancy/cigarettes/dromedaryco, -/obj/item/weapon/storage/fancy/cigarettes/dromedaryco, -/obj/item/weapon/storage/fancy/cigarettes/dromedaryco, +/obj/item/storage/fancy/cigarettes/dromedaryco, +/obj/item/storage/fancy/cigarettes/dromedaryco, +/obj/item/storage/fancy/cigarettes/dromedaryco, +/obj/item/storage/fancy/cigarettes/dromedaryco, +/obj/item/storage/fancy/cigarettes/dromedaryco, +/obj/item/storage/fancy/cigarettes/dromedaryco, /turf/simulated/floor/tiled/eris/cafe, /area/redgate/city/offlicense) "pdK" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/reagent_containers/food/snacks/ratpackburger, -/obj/item/weapon/reagent_containers/food/snacks/ratpackburger, -/obj/item/weapon/reagent_containers/food/snacks/ratpackburger, +/obj/item/reagent_containers/food/snacks/ratpackburger, +/obj/item/reagent_containers/food/snacks/ratpackburger, +/obj/item/reagent_containers/food/snacks/ratpackburger, /turf/simulated/floor/tiled/neutral, /area/redgate/city/altevian) "pdR" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin, +/obj/item/paper_bin, /turf/simulated/floor/wood, /area/redgate/city/laundry) "pdY" = ( @@ -11589,7 +11594,7 @@ "pfT" = ( /obj/structure/closet, /obj/random/contraband, -/obj/item/weapon/storage/secure/briefcase/money, +/obj/item/storage/secure/briefcase/money, /obj/random/forgotten_tram, /turf/simulated/floor/wood/alt, /area/redgate/city/offlicense) @@ -11629,7 +11634,7 @@ /obj/machinery/light/floortube{ dir = 8; light_color = "#ff8086"; - light_type = /obj/item/weapon/light/bulb/red; + light_type = /obj/item/light/bulb/red; name = "stripper light" }, /turf/simulated/floor/carpet/gaycarpet, @@ -11692,7 +11697,7 @@ /area/redgate/city/chopshop) "ple" = ( /obj/structure/table/standard, -/obj/item/device/healthanalyzer, +/obj/item/healthanalyzer, /turf/simulated/floor/tiled/white, /area/redgate/city/hospital) "plq" = ( @@ -11756,7 +11761,7 @@ /area/redgate/city/pool) "psl" = ( /obj/structure/table/fancyblack, -/obj/item/weapon/paper_bin, +/obj/item/paper_bin, /turf/simulated/floor/carpet/blue, /area/redgate/city/house4) "psB" = ( @@ -11805,7 +11810,7 @@ "puH" = ( /obj/structure/window/reinforced, /obj/structure/table/rack/gun_rack/steel, -/obj/item/weapon/gun/projectile/shotgun/doublebarrel/flare, +/obj/item/gun/projectile/shotgun/doublebarrel/flare, /turf/simulated/floor/tiled/milspec, /area/redgate/city/police) "pvu" = ( @@ -11866,7 +11871,7 @@ /turf/simulated/floor/tiled/neutral, /area/redgate/city/house14) "pAl" = ( -/obj/item/weapon/melee/umbrella/random, +/obj/item/melee/umbrella/random, /turf/simulated/floor/wood, /area/redgate/city/house15) "pAF" = ( @@ -11902,7 +11907,7 @@ /area/redgate/city/toys) "pCC" = ( /obj/structure/table/alien/blue, -/obj/item/weapon/storage/briefcase/inflatable, +/obj/item/storage/briefcase/inflatable, /turf/simulated/floor/tiled/kafel_full/green, /area/redgate/city/lasertag) "pCI" = ( @@ -11973,7 +11978,7 @@ /area/redgate/city/laundry) "pGW" = ( /obj/structure/table/alien, -/obj/item/weapon/aliencoin/phoron, +/obj/item/aliencoin/phoron, /turf/simulated/floor/wood/sif, /area/redgate/city/succ) "pGZ" = ( @@ -12005,12 +12010,12 @@ /area/redgate/city/house6) "pIU" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/reagent_containers/food/drinks/bottle/redeemersbrew, -/obj/item/weapon/reagent_containers/food/drinks/bottle/redeemersbrew, -/obj/item/weapon/reagent_containers/food/drinks/bottle/redeemersbrew, -/obj/item/weapon/reagent_containers/food/drinks/bottle/redeemersbrew, -/obj/item/weapon/reagent_containers/food/drinks/bottle/redeemersbrew, -/obj/item/weapon/reagent_containers/food/drinks/bottle/redeemersbrew, +/obj/item/reagent_containers/food/drinks/bottle/redeemersbrew, +/obj/item/reagent_containers/food/drinks/bottle/redeemersbrew, +/obj/item/reagent_containers/food/drinks/bottle/redeemersbrew, +/obj/item/reagent_containers/food/drinks/bottle/redeemersbrew, +/obj/item/reagent_containers/food/drinks/bottle/redeemersbrew, +/obj/item/reagent_containers/food/drinks/bottle/redeemersbrew, /turf/simulated/floor/tiled/eris/cafe, /area/redgate/city/offlicense) "pKp" = ( @@ -12020,10 +12025,10 @@ "pKK" = ( /obj/structure/table/standard, /obj/structure/window/basic, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = 4 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /turf/simulated/floor/tiled/white, @@ -12065,7 +12070,7 @@ /obj/machinery/light/floortube{ dir = 8; light_color = "#ff8086"; - light_type = /obj/item/weapon/light/bulb/red; + light_type = /obj/item/light/bulb/red; name = "stripper light" }, /turf/simulated/floor/carpet/purcarpet, @@ -12079,8 +12084,8 @@ /area/redgate/city/house1) "pNn" = ( /obj/structure/table/fancyblack, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/fountain6, +/obj/item/paper_bin, +/obj/item/pen/fountain6, /turf/simulated/floor/carpet/bcarpet, /area/redgate/city/bar1) "pNA" = ( @@ -12156,7 +12161,7 @@ /obj/effect/floor_decal/borderfloorblack{ dir = 1 }, -/obj/item/weapon/surgical/hemostat, +/obj/item/surgical/hemostat, /turf/simulated/floor/dungeon, /area/redgate/city/doctor) "pRq" = ( @@ -12207,12 +12212,12 @@ /area/redgate/city/police) "pVc" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, /turf/simulated/floor/tiled/kafel_full/blue, /area/redgate/city/pizza) "pVH" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/piratedouble, +/obj/item/bedsheet/piratedouble, /turf/simulated/floor/carpet/geo, /area/redgate/city/house18) "pVJ" = ( @@ -12234,10 +12239,10 @@ /area/redgate/city/house4) "pWC" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/pocky, -/obj/item/weapon/storage/box/pocky, -/obj/item/weapon/storage/box/pocky, -/obj/item/weapon/storage/box/pocky, +/obj/item/storage/box/pocky, +/obj/item/storage/box/pocky, +/obj/item/storage/box/pocky, +/obj/item/storage/box/pocky, /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/city/supermarket) "pWU" = ( @@ -12275,9 +12280,9 @@ /area/redgate/city/house5) "qaH" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/freezer, -/obj/item/weapon/storage/box/freezer, -/obj/item/weapon/storage/box/freezer, +/obj/item/storage/box/freezer, +/obj/item/storage/box/freezer, +/obj/item/storage/box/freezer, /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/city/supermarket) "qaR" = ( @@ -12372,7 +12377,7 @@ /turf/simulated/floor/tiled/white, /area/redgate/city/pool) "qfB" = ( -/obj/item/weapon/broken_bottle, +/obj/item/broken_bottle, /turf/simulated/floor/wood/alt/tile, /area/redgate/city/bar2) "qfY" = ( @@ -12452,7 +12457,7 @@ /obj/machinery/light{ dir = 4 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = -3 }, /turf/simulated/floor/wood/alt, @@ -12464,7 +12469,7 @@ /turf/simulated/floor/concrete, /area/redgate/city/shooting) "qlB" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /turf/simulated/floor/wood/alt/tile, @@ -12500,7 +12505,7 @@ "qmM" = ( /obj/structure/table/reinforced, /obj/random/maintenance/engineering, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/floor/tiled/eris/dark/orangecorner, /area/redgate/city/engine) "qnY" = ( @@ -12610,7 +12615,7 @@ /area/redgate/city/house3) "quX" = ( /obj/structure/table/gamblingtable, -/obj/item/weapon/deck/cards/casino, +/obj/item/deck/cards/casino, /turf/simulated/floor/carpet/purple, /area/redgate/city/casino) "qvg" = ( @@ -12619,7 +12624,7 @@ /area/redgate/city/supermarket) "qvr" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/toolbox/electrical{ +/obj/item/storage/toolbox/electrical{ pixel_x = 1; pixel_y = 6 }, @@ -12642,10 +12647,10 @@ /area/redgate/city/bar1) "qxx" = ( /obj/structure/table/glass, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = 4 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /turf/simulated/floor/tiled/white, @@ -12666,27 +12671,27 @@ /obj/structure/closet/walllocker{ pixel_y = 33 }, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/shotglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/shotglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/shotglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass, -/obj/item/weapon/reagent_containers/food/drinks/metaglass/metapint, -/obj/item/weapon/reagent_containers/food/drinks/metaglass/metapint, -/obj/item/weapon/reagent_containers/food/drinks/metaglass/metapint, -/obj/item/weapon/reagent_containers/food/drinks/metaglass/metapint, -/obj/item/weapon/reagent_containers/food/drinks/metaglass/metapint, -/obj/item/weapon/reagent_containers/food/drinks/metaglass/metapint, -/obj/item/weapon/reagent_containers/food/drinks/metaglass/metapint, -/obj/item/weapon/reagent_containers/food/drinks/metaglass/metapint, -/obj/item/weapon/reagent_containers/food/drinks/metaglass/metapint, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, +/obj/item/reagent_containers/food/drinks/drinkingglass, +/obj/item/reagent_containers/food/drinks/drinkingglass, +/obj/item/reagent_containers/food/drinks/drinkingglass, +/obj/item/reagent_containers/food/drinks/drinkingglass, +/obj/item/reagent_containers/food/drinks/drinkingglass, +/obj/item/reagent_containers/food/drinks/drinkingglass, +/obj/item/reagent_containers/food/drinks/drinkingglass, +/obj/item/reagent_containers/food/drinks/drinkingglass, +/obj/item/reagent_containers/food/drinks/drinkingglass, +/obj/item/reagent_containers/food/drinks/metaglass/metapint, +/obj/item/reagent_containers/food/drinks/metaglass/metapint, +/obj/item/reagent_containers/food/drinks/metaglass/metapint, +/obj/item/reagent_containers/food/drinks/metaglass/metapint, +/obj/item/reagent_containers/food/drinks/metaglass/metapint, +/obj/item/reagent_containers/food/drinks/metaglass/metapint, +/obj/item/reagent_containers/food/drinks/metaglass/metapint, +/obj/item/reagent_containers/food/drinks/metaglass/metapint, +/obj/item/reagent_containers/food/drinks/metaglass/metapint, /turf/simulated/floor/wood/alt, /area/redgate/city/stripclub) "qzT" = ( @@ -12703,16 +12708,16 @@ /area/redgate/city/apartments) "qBt" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /obj/random/action_figure, /turf/simulated/floor/carpet, /area/redgate/city/house15) "qBE" = ( /obj/structure/table/rack, -/obj/item/weapon/reagent_containers/food/drinks/cans/baconsoda, -/obj/item/weapon/reagent_containers/food/drinks/cans/baconsoda, -/obj/item/weapon/reagent_containers/food/drinks/cans/baconsoda, -/obj/item/weapon/reagent_containers/food/drinks/cans/baconsoda, +/obj/item/reagent_containers/food/drinks/cans/baconsoda, +/obj/item/reagent_containers/food/drinks/cans/baconsoda, +/obj/item/reagent_containers/food/drinks/cans/baconsoda, +/obj/item/reagent_containers/food/drinks/cans/baconsoda, /obj/machinery/light{ dir = 8; light_color = "#575656"; @@ -12739,7 +12744,7 @@ /turf/simulated/floor/tiled, /area/redgate/city/police) "qCR" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/wood/alt, /area/redgate/city/restaurant) "qCT" = ( @@ -12750,7 +12755,7 @@ /area/redgate/city/hotel) "qCV" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /turf/simulated/floor/wood/alt, /area/redgate/city/teppi) "qDU" = ( @@ -12762,9 +12767,9 @@ /area/redgate/city/science) "qDV" = ( /obj/structure/table/rack, -/obj/item/weapon/reagent_containers/food/condiment/ketchup, -/obj/item/weapon/reagent_containers/food/condiment/ketchup, -/obj/item/weapon/reagent_containers/food/condiment/ketchup, +/obj/item/reagent_containers/food/condiment/ketchup, +/obj/item/reagent_containers/food/condiment/ketchup, +/obj/item/reagent_containers/food/condiment/ketchup, /obj/machinery/light{ dir = 1 }, @@ -12923,7 +12928,7 @@ /area/redgate/city/waterworks) "qOv" = ( /obj/structure/table/glass, -/obj/item/device/nif/bad{ +/obj/item/nif/bad{ name = "display model NIF" }, /obj/machinery/light{ @@ -12933,7 +12938,7 @@ /area/redgate/city/nifshop) "qOA" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /turf/simulated/floor/wood, /area/redgate/city/apartments) "qOG" = ( @@ -13000,7 +13005,7 @@ /turf/simulated/floor/wood/sif, /area/redgate/city/succ) "qQU" = ( -/obj/item/weapon/melee/umbrella/random, +/obj/item/melee/umbrella/random, /turf/simulated/floor/carpet/blue, /area/redgate/city/house16) "qSg" = ( @@ -13068,7 +13073,7 @@ /area/redgate/city/restaurant) "qYM" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/purple, +/obj/item/bedsheet/purple, /turf/simulated/floor/wood, /area/redgate/city/apartments) "qYT" = ( @@ -13094,7 +13099,7 @@ /turf/simulated/wall/tgmc/darkwall, /area/redgate/city/house2) "rbd" = ( -/obj/item/weapon/melee/umbrella/random, +/obj/item/melee/umbrella/random, /turf/simulated/floor/wood, /area/redgate/city/house18) "rbl" = ( @@ -13110,7 +13115,7 @@ /area/redgate/city/streets) "rbP" = ( /obj/structure/table/glass, -/obj/item/weapon/paper_bin, +/obj/item/paper_bin, /obj/machinery/light{ dir = 1 }, @@ -13160,7 +13165,7 @@ dir = 1 }, /obj/structure/table/woodentable, -/obj/item/weapon/gun/energy/taser/disabler, +/obj/item/gun/energy/taser/disabler, /turf/simulated/floor/wood/alt/panel, /area/redgate/city/shooting) "ris" = ( @@ -13175,7 +13180,7 @@ /area/redgate/city/stripclub) "rkV" = ( /obj/structure/table/rack/gun_rack/steel, -/obj/item/weapon/gun/energy/sickshot, +/obj/item/gun/energy/sickshot, /obj/machinery/light/small{ dir = 8 }, @@ -13224,11 +13229,11 @@ /area/redgate/city/shooting) "rne" = ( /obj/structure/closet, -/obj/item/weapon/storage/box/casino/costume_wizard, +/obj/item/storage/box/casino/costume_wizard, /turf/simulated/floor/tiled/eris/derelict3, /area/redgate/city/wiz) "rni" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/wood/alt/tile, /area/redgate/city/gamblingden) "rno" = ( @@ -13296,17 +13301,17 @@ /obj/structure/closet{ name = "prize closet" }, -/obj/item/weapon/grenade/spawnergrenade/casino/chicken, -/obj/item/weapon/grenade/spawnergrenade/casino, -/obj/item/weapon/grenade/spawnergrenade/casino/corgi, -/obj/item/weapon/grenade/spawnergrenade/casino/cow, -/obj/item/weapon/grenade/spawnergrenade/casino/fennec, -/obj/item/weapon/grenade/spawnergrenade/casino/fox, -/obj/item/weapon/grenade/spawnergrenade/casino/goldcrest, -/obj/item/weapon/grenade/spawnergrenade/casino/otie, -/obj/item/weapon/grenade/spawnergrenade/casino/penguin, -/obj/item/weapon/grenade/spawnergrenade/casino/redpanda, -/obj/item/weapon/grenade/spawnergrenade/casino/snake, +/obj/item/grenade/spawnergrenade/casino/chicken, +/obj/item/grenade/spawnergrenade/casino, +/obj/item/grenade/spawnergrenade/casino/corgi, +/obj/item/grenade/spawnergrenade/casino/cow, +/obj/item/grenade/spawnergrenade/casino/fennec, +/obj/item/grenade/spawnergrenade/casino/fox, +/obj/item/grenade/spawnergrenade/casino/goldcrest, +/obj/item/grenade/spawnergrenade/casino/otie, +/obj/item/grenade/spawnergrenade/casino/penguin, +/obj/item/grenade/spawnergrenade/casino/redpanda, +/obj/item/grenade/spawnergrenade/casino/snake, /turf/simulated/floor/tiled/yellow, /area/redgate/city/casino) "rsi" = ( @@ -13331,14 +13336,14 @@ /obj/structure/closet/walllocker{ pixel_y = 33 }, -/obj/item/weapon/deck/wizoff, -/obj/item/weapon/deck/wizoff, -/obj/item/weapon/deck/wizoff, -/obj/item/weapon/deck/wizoff, -/obj/item/weapon/deck/wizoff, -/obj/item/weapon/deck/wizoff, -/obj/item/weapon/deck/wizoff, -/obj/item/weapon/deck/wizoff, +/obj/item/deck/wizoff, +/obj/item/deck/wizoff, +/obj/item/deck/wizoff, +/obj/item/deck/wizoff, +/obj/item/deck/wizoff, +/obj/item/deck/wizoff, +/obj/item/deck/wizoff, +/obj/item/deck/wizoff, /turf/simulated/shuttle/floor/white, /area/redgate/city/cards) "ruI" = ( @@ -13429,11 +13434,11 @@ /area/redgate/city/shooting) "ryX" = ( /obj/structure/closet, -/obj/item/weapon/bone/skull, -/obj/item/weapon/bone/skull/tajaran, -/obj/item/weapon/bone/skull/unathi, -/obj/item/weapon/bone/skull/unknown, -/obj/item/weapon/reagent_containers/spray/waterflower, +/obj/item/bone/skull, +/obj/item/bone/skull/tajaran, +/obj/item/bone/skull/unathi, +/obj/item/bone/skull/unknown, +/obj/item/reagent_containers/spray/waterflower, /obj/random/maintenance, /turf/simulated/floor/wood, /area/redgate/city/tarot) @@ -13455,11 +13460,11 @@ /area/redgate/city/cardmon) "rBx" = ( /obj/structure/table/standard, -/obj/item/device/camera_film{ +/obj/item/camera_film{ pixel_x = 4; pixel_y = 11 }, -/obj/item/device/camera_film{ +/obj/item/camera_film{ pixel_x = -3; pixel_y = 4 }, @@ -13807,17 +13812,17 @@ /area/redgate/city/hotel) "scK" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/hosdouble, +/obj/item/bedsheet/hosdouble, /turf/simulated/floor/carpet/brown, /area/redgate/city/hotel) "scP" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/storage/fancy/cigarettes/jerichos, -/obj/item/weapon/storage/fancy/cigarettes/jerichos, -/obj/item/weapon/storage/fancy/cigarettes/jerichos, -/obj/item/weapon/storage/fancy/cigarettes/jerichos, -/obj/item/weapon/storage/fancy/cigarettes/jerichos, -/obj/item/weapon/storage/fancy/cigarettes/jerichos, +/obj/item/storage/fancy/cigarettes/jerichos, +/obj/item/storage/fancy/cigarettes/jerichos, +/obj/item/storage/fancy/cigarettes/jerichos, +/obj/item/storage/fancy/cigarettes/jerichos, +/obj/item/storage/fancy/cigarettes/jerichos, +/obj/item/storage/fancy/cigarettes/jerichos, /turf/simulated/floor/tiled/eris/cafe, /area/redgate/city/offlicense) "scY" = ( @@ -13902,8 +13907,8 @@ /area/redgate/city/house15) "siU" = ( /obj/structure/table/glass, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/fountain8, +/obj/item/paper_bin, +/obj/item/pen/fountain8, /obj/machinery/light_switch{ pixel_y = 25 }, @@ -14087,19 +14092,19 @@ /area/redgate/city/drugden) "sst" = ( /obj/structure/closet/secure_closet/medical3, -/obj/item/device/glasses_kit, -/obj/item/weapon/storage/box/bloodpacks, -/obj/item/weapon/storage/box/autoinjectors, +/obj/item/glasses_kit, +/obj/item/storage/box/bloodpacks, +/obj/item/storage/box/autoinjectors, /turf/simulated/floor/tiled/white, /area/redgate/city/hospital) "ssv" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/storage/fancy/cigarettes/professionals, -/obj/item/weapon/storage/fancy/cigarettes/professionals, -/obj/item/weapon/storage/fancy/cigarettes/professionals, -/obj/item/weapon/storage/fancy/cigarettes/professionals, -/obj/item/weapon/storage/fancy/cigarettes/professionals, -/obj/item/weapon/storage/fancy/cigarettes/professionals, +/obj/item/storage/fancy/cigarettes/professionals, +/obj/item/storage/fancy/cigarettes/professionals, +/obj/item/storage/fancy/cigarettes/professionals, +/obj/item/storage/fancy/cigarettes/professionals, +/obj/item/storage/fancy/cigarettes/professionals, +/obj/item/storage/fancy/cigarettes/professionals, /turf/simulated/floor/tiled/eris/cafe, /area/redgate/city/offlicense) "ssJ" = ( @@ -14110,11 +14115,11 @@ /area/redgate/city/hotel) "stU" = ( /obj/structure/table/standard, -/obj/item/weapon/melee/umbrella/random, +/obj/item/melee/umbrella/random, /turf/simulated/floor/tiled/white, /area/redgate/city/house17) "suq" = ( -/obj/item/weapon/reagent_containers/food/snacks/old/hotdog, +/obj/item/reagent_containers/food/snacks/old/hotdog, /turf/simulated/floor/wood/alt/panel, /area/redgate/city/rats) "suC" = ( @@ -14230,9 +14235,9 @@ /area/redgate/city/offlicense) "szC" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/wormcan, -/obj/item/weapon/storage/box/wormcan, -/obj/item/weapon/storage/box/wormcan, +/obj/item/storage/box/wormcan, +/obj/item/storage/box/wormcan, +/obj/item/storage/box/wormcan, /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/city/supermarket) "szL" = ( @@ -14293,9 +14298,9 @@ /area/redgate/city/streets) "sFj" = ( /obj/structure/bookcase, -/obj/item/weapon/book/bundle/custom_library/nonfiction/riseandfallofpersianempire, -/obj/item/weapon/book/bundle/custom_library/nonfiction/skrelliancastesystem, -/obj/item/weapon/book/bundle/custom_library/nonfiction/viabilityofcorporategov, +/obj/item/book/bundle/custom_library/nonfiction/riseandfallofpersianempire, +/obj/item/book/bundle/custom_library/nonfiction/skrelliancastesystem, +/obj/item/book/bundle/custom_library/nonfiction/viabilityofcorporategov, /turf/simulated/floor/wood, /area/redgate/city/library) "sFv" = ( @@ -14304,9 +14309,9 @@ /area/redgate/city/workshop) "sGs" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/gum, -/obj/item/weapon/storage/box/gum, -/obj/item/weapon/storage/box/gum, +/obj/item/storage/box/gum, +/obj/item/storage/box/gum, +/obj/item/storage/box/gum, /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/city/supermarket) "sGF" = ( @@ -14361,8 +14366,8 @@ /turf/simulated/floor/tiled/neutral, /area/redgate/city/house10) "sLw" = ( -/obj/machinery/computer/centrifuge, /obj/machinery/light, +/obj/machinery/computer/pandemic, /turf/simulated/floor/tiled/white, /area/redgate/city/science) "sLB" = ( @@ -14425,8 +14430,8 @@ /area/redgate/city/house15) "sOv" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/gloves, -/obj/item/weapon/storage/box/gloves, +/obj/item/storage/box/gloves, +/obj/item/storage/box/gloves, /obj/random/maintenance/medical, /turf/simulated/floor/tiled/white, /area/redgate/city/hospital) @@ -14493,7 +14498,7 @@ /area/redgate/city/house7) "sVe" = ( /obj/structure/table/steel, -/obj/item/device/integrated_circuit_printer, +/obj/item/integrated_circuit_printer, /turf/simulated/floor/tiled/dark, /area/redgate/city/workshop) "sVm" = ( @@ -14639,52 +14644,52 @@ /area/redgate/city/library) "tcH" = ( /obj/structure/safe/floor, -/obj/item/weapon/spacecasinocash/c1, -/obj/item/weapon/spacecasinocash/c1, -/obj/item/weapon/spacecasinocash/c1, -/obj/item/weapon/spacecasinocash/c1, -/obj/item/weapon/spacecasinocash/c10, -/obj/item/weapon/spacecasinocash/c10, -/obj/item/weapon/spacecasinocash/c10, -/obj/item/weapon/spacecasinocash/c10, -/obj/item/weapon/spacecasinocash/c10, -/obj/item/weapon/spacecasinocash/c10, -/obj/item/weapon/spacecasinocash/c1, -/obj/item/weapon/spacecasinocash/c1, -/obj/item/weapon/spacecasinocash/c1, -/obj/item/weapon/spacecasinocash/c1, -/obj/item/weapon/spacecasinocash/c100, -/obj/item/weapon/spacecasinocash/c100, -/obj/item/weapon/spacecasinocash/c100, -/obj/item/weapon/spacecasinocash/c100, -/obj/item/weapon/spacecasinocash/c100, -/obj/item/weapon/spacecasinocash/c100, -/obj/item/weapon/spacecasinocash/c1000, -/obj/item/weapon/spacecasinocash/c1000, -/obj/item/weapon/spacecasinocash/c1000, -/obj/item/weapon/spacecasinocash/c1000, -/obj/item/weapon/spacecasinocash/c100, -/obj/item/weapon/spacecasinocash/c100, -/obj/item/weapon/spacecasinocash/c100, -/obj/item/weapon/spacecasinocash/c100, -/obj/item/weapon/spacecasinocash/c10, -/obj/item/weapon/spacecasinocash/c10, -/obj/item/weapon/spacecasinocash/c20, -/obj/item/weapon/spacecasinocash/c20, -/obj/item/weapon/spacecasinocash/c20, -/obj/item/weapon/spacecasinocash/c20, -/obj/item/weapon/spacecasinocash/c20, -/obj/item/weapon/spacecasinocash/c200, -/obj/item/weapon/spacecasinocash/c200, -/obj/item/weapon/spacecasinocash/c200, -/obj/item/weapon/spacecasinocash/c200, -/obj/item/weapon/spacecasinocash/c200, -/obj/item/weapon/spacecasinocash/c200, -/obj/item/weapon/spacecasinocash/c50, -/obj/item/weapon/spacecasinocash/c50, -/obj/item/weapon/spacecasinocash/c50, -/obj/item/weapon/spacecasinocash/c50, -/obj/item/weapon/casino_platinum_chip, +/obj/item/spacecasinocash/c1, +/obj/item/spacecasinocash/c1, +/obj/item/spacecasinocash/c1, +/obj/item/spacecasinocash/c1, +/obj/item/spacecasinocash/c10, +/obj/item/spacecasinocash/c10, +/obj/item/spacecasinocash/c10, +/obj/item/spacecasinocash/c10, +/obj/item/spacecasinocash/c10, +/obj/item/spacecasinocash/c10, +/obj/item/spacecasinocash/c1, +/obj/item/spacecasinocash/c1, +/obj/item/spacecasinocash/c1, +/obj/item/spacecasinocash/c1, +/obj/item/spacecasinocash/c100, +/obj/item/spacecasinocash/c100, +/obj/item/spacecasinocash/c100, +/obj/item/spacecasinocash/c100, +/obj/item/spacecasinocash/c100, +/obj/item/spacecasinocash/c100, +/obj/item/spacecasinocash/c1000, +/obj/item/spacecasinocash/c1000, +/obj/item/spacecasinocash/c1000, +/obj/item/spacecasinocash/c1000, +/obj/item/spacecasinocash/c100, +/obj/item/spacecasinocash/c100, +/obj/item/spacecasinocash/c100, +/obj/item/spacecasinocash/c100, +/obj/item/spacecasinocash/c10, +/obj/item/spacecasinocash/c10, +/obj/item/spacecasinocash/c20, +/obj/item/spacecasinocash/c20, +/obj/item/spacecasinocash/c20, +/obj/item/spacecasinocash/c20, +/obj/item/spacecasinocash/c20, +/obj/item/spacecasinocash/c200, +/obj/item/spacecasinocash/c200, +/obj/item/spacecasinocash/c200, +/obj/item/spacecasinocash/c200, +/obj/item/spacecasinocash/c200, +/obj/item/spacecasinocash/c200, +/obj/item/spacecasinocash/c50, +/obj/item/spacecasinocash/c50, +/obj/item/spacecasinocash/c50, +/obj/item/spacecasinocash/c50, +/obj/item/casino_platinum_chip, /obj/random/cash/big, /obj/random/maintenance/morestuff, /obj/item/roulette_ball/cheat/black, @@ -14705,14 +14710,14 @@ /turf/simulated/floor/tiled/neutral, /area/redgate/city/house12) "tdw" = ( -/obj/item/weapon/reagent_containers/food/drinks/shaker{ +/obj/item/reagent_containers/food/drinks/shaker{ pixel_x = -7; pixel_y = 11 }, /turf/simulated/floor/wood/alt/tile, /area/redgate/city/bar2) "tdM" = ( -/obj/item/weapon/broken_bottle, +/obj/item/broken_bottle, /turf/simulated/floor/carpet/brown, /area/redgate/city/hotel) "ten" = ( @@ -14773,7 +14778,7 @@ /area/redgate/city/pool) "tkS" = ( /obj/structure/table/woodentable, -/obj/item/weapon/tape_roll, +/obj/item/tape_roll, /turf/simulated/floor/carpet/brown, /area/redgate/city/hotel) "tkZ" = ( @@ -14848,7 +14853,7 @@ /turf/simulated/floor/wood/alt/tile, /area/redgate/city/gamblingden) "tpU" = ( -/obj/item/weapon/storage/box/donkpockets/pizza, +/obj/item/storage/box/donkpockets/pizza, /turf/simulated/floor/wood/alt/panel, /area/redgate/city/rats) "tpX" = ( @@ -14926,7 +14931,7 @@ /area/redgate/city/wiz) "tub" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /obj/item/clothing/glasses/regular, /turf/simulated/floor/carpet/green, /area/redgate/city/house17) @@ -14986,7 +14991,7 @@ /area/redgate/city/house16) "tyl" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/oldpizza, +/obj/item/reagent_containers/food/snacks/sliceable/pizza/oldpizza, /turf/simulated/floor/wood/alt/panel, /area/redgate/city/rats) "tyH" = ( @@ -14994,13 +14999,13 @@ color = "#8da4a6"; pixel_x = -5 }, -/obj/item/weapon/reagent_containers/food/drinks/metaglass, -/obj/item/weapon/reagent_containers/food/drinks/metaglass, -/obj/item/weapon/reagent_containers/food/drinks/metaglass, -/obj/item/weapon/reagent_containers/food/drinks/metaglass, -/obj/item/weapon/reagent_containers/food/drinks/metaglass, -/obj/item/weapon/reagent_containers/food/drinks/metaglass, -/obj/item/weapon/reagent_containers/food/drinks/metaglass, +/obj/item/reagent_containers/food/drinks/metaglass, +/obj/item/reagent_containers/food/drinks/metaglass, +/obj/item/reagent_containers/food/drinks/metaglass, +/obj/item/reagent_containers/food/drinks/metaglass, +/obj/item/reagent_containers/food/drinks/metaglass, +/obj/item/reagent_containers/food/drinks/metaglass, +/obj/item/reagent_containers/food/drinks/metaglass, /obj/random/mug, /obj/random/mug, /obj/random/mug, @@ -15078,10 +15083,10 @@ /area/redgate/city/rats) "tDL" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = 4 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /turf/simulated/floor/tiled/white, @@ -15097,18 +15102,18 @@ }, /obj/item/clothing/accessory/collar/casinosentientprize_fake, /obj/item/clothing/accessory/medal/gold/casino, -/obj/item/weapon/deck/cards/casino, -/obj/item/weapon/deck/cards/casino, -/obj/item/weapon/deck/cards/casino, -/obj/item/weapon/deck/cards/casino, -/obj/item/weapon/deck/cards/casino, -/obj/item/weapon/deck/cards/casino, -/obj/item/weapon/storage/pill_bottle/dice, -/obj/item/weapon/storage/pill_bottle/dice_nerd, +/obj/item/deck/cards/casino, +/obj/item/deck/cards/casino, +/obj/item/deck/cards/casino, +/obj/item/deck/cards/casino, +/obj/item/deck/cards/casino, +/obj/item/deck/cards/casino, +/obj/item/storage/pill_bottle/dice, +/obj/item/storage/pill_bottle/dice_nerd, /turf/simulated/floor/wood/alt/tile, /area/redgate/city/gamblingden) "tEB" = ( -/obj/item/weapon/towel/random, +/obj/item/towel/random, /turf/simulated/floor/tiled/neutral, /area/redgate/city/house13) "tFX" = ( @@ -15124,12 +15129,12 @@ /area/redgate/city/house18) "tGw" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/reagent_containers/food/drinks/bottle/melonliquor, -/obj/item/weapon/reagent_containers/food/drinks/bottle/melonliquor, -/obj/item/weapon/reagent_containers/food/drinks/bottle/melonliquor, -/obj/item/weapon/reagent_containers/food/drinks/bottle/melonliquor, -/obj/item/weapon/reagent_containers/food/drinks/bottle/melonliquor, -/obj/item/weapon/reagent_containers/food/drinks/bottle/melonliquor, +/obj/item/reagent_containers/food/drinks/bottle/melonliquor, +/obj/item/reagent_containers/food/drinks/bottle/melonliquor, +/obj/item/reagent_containers/food/drinks/bottle/melonliquor, +/obj/item/reagent_containers/food/drinks/bottle/melonliquor, +/obj/item/reagent_containers/food/drinks/bottle/melonliquor, +/obj/item/reagent_containers/food/drinks/bottle/melonliquor, /obj/machinery/light{ dir = 8 }, @@ -15141,12 +15146,12 @@ /area/redgate/city/chopshop) "tGz" = ( /obj/structure/table/standard, -/obj/item/weapon/paper, +/obj/item/paper, /turf/simulated/floor/tiled/white, /area/redgate/city/science) "tGJ" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/roulette_balls_fancy, +/obj/item/storage/box/roulette_balls_fancy, /turf/simulated/floor/tiled/yellow, /area/redgate/city/casino) "tHt" = ( @@ -15209,7 +15214,7 @@ /obj/item/clothing/mask/pig, /obj/random/tank, /obj/structure/closet/cabinet, -/obj/item/weapon/moneybag, +/obj/item/moneybag, /turf/simulated/floor/carpet/geo, /area/redgate/city/house18) "tKE" = ( @@ -15301,14 +15306,14 @@ /area/redgate/city/science) "tSf" = ( /obj/structure/table/darkglass, -/obj/item/weapon/reagent_containers/food/drinks/shaker, +/obj/item/reagent_containers/food/drinks/shaker, /turf/simulated/floor/tiled/eris/steel/techfloor_grid, /area/redgate/city/bar1) "tSF" = ( /turf/simulated/wall/tgmc/darkwall, /area/redgate/city/house9) "tTJ" = ( -/obj/item/weapon/inflatable_duck, +/obj/item/inflatable_duck, /turf/simulated/floor/water/deep/indoors, /area/redgate/city/pool) "tUh" = ( @@ -15503,11 +15508,11 @@ /area/redgate/city/house16) "ujz" = ( /obj/structure/table/rack, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = -1; pixel_y = -3 }, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = 2 }, /turf/simulated/floor/tiled/eris/white/bluecorner, @@ -15528,7 +15533,7 @@ /turf/simulated/floor/dungeon, /area/redgate/city/scughouse) "uky" = ( -/obj/item/weapon/towel/random, +/obj/item/towel/random, /turf/simulated/floor/tiled/neutral, /area/redgate/city/house17) "ulB" = ( @@ -15593,9 +15598,9 @@ /obj/effect/floor_decal/corner/lime/border{ dir = 5 }, -/obj/item/weapon/storage/pill_bottle/iron, -/obj/item/weapon/storage/pill_bottle/iron, -/obj/item/weapon/storage/pill_bottle/iron, +/obj/item/storage/pill_bottle/iron, +/obj/item/storage/pill_bottle/iron, +/obj/item/storage/pill_bottle/iron, /obj/machinery/light{ dir = 4 }, @@ -15633,7 +15638,7 @@ /turf/simulated/floor/tiled/white, /area/redgate/city/hospital) "uui" = ( -/obj/item/weapon/towel/random, +/obj/item/towel/random, /obj/machinery/light_switch{ pixel_y = 24 }, @@ -15654,7 +15659,7 @@ /area/redgate/city/hospital) "uwj" = ( /obj/structure/table/glass, -/obj/item/device/healthanalyzer, +/obj/item/healthanalyzer, /obj/machinery/light{ dir = 4 }, @@ -15662,11 +15667,11 @@ /area/redgate/city/hospital) "uwE" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/reagent_containers/food/drinks/bottle/kahlua, -/obj/item/weapon/reagent_containers/food/drinks/bottle/kahlua, -/obj/item/weapon/reagent_containers/food/drinks/bottle/kahlua, -/obj/item/weapon/reagent_containers/food/drinks/bottle/kahlua, -/obj/item/weapon/reagent_containers/food/drinks/bottle/kahlua, +/obj/item/reagent_containers/food/drinks/bottle/kahlua, +/obj/item/reagent_containers/food/drinks/bottle/kahlua, +/obj/item/reagent_containers/food/drinks/bottle/kahlua, +/obj/item/reagent_containers/food/drinks/bottle/kahlua, +/obj/item/reagent_containers/food/drinks/bottle/kahlua, /turf/simulated/floor/tiled/eris/cafe, /area/redgate/city/offlicense) "uxg" = ( @@ -15682,19 +15687,19 @@ /turf/simulated/floor/outdoors/sidewalk/slab/city, /area/redgate/city/streets) "uxt" = ( -/obj/item/weapon/storage/laundry_basket{ +/obj/item/storage/laundry_basket{ name = "shopping basket" }, -/obj/item/weapon/storage/laundry_basket{ +/obj/item/storage/laundry_basket{ name = "shopping basket" }, -/obj/item/weapon/storage/laundry_basket{ +/obj/item/storage/laundry_basket{ name = "shopping basket" }, -/obj/item/weapon/storage/laundry_basket{ +/obj/item/storage/laundry_basket{ name = "shopping basket" }, -/obj/item/weapon/storage/laundry_basket{ +/obj/item/storage/laundry_basket{ name = "shopping basket" }, /turf/simulated/floor/tiled/white, @@ -15769,10 +15774,10 @@ /area/redgate/city/gallery) "uDr" = ( /obj/structure/table/rack, -/obj/item/weapon/reagent_containers/food/drinks/cans/alecan, -/obj/item/weapon/reagent_containers/food/drinks/cans/alecan, -/obj/item/weapon/reagent_containers/food/drinks/cans/alecan, -/obj/item/weapon/reagent_containers/food/drinks/cans/alecan, +/obj/item/reagent_containers/food/drinks/cans/alecan, +/obj/item/reagent_containers/food/drinks/cans/alecan, +/obj/item/reagent_containers/food/drinks/cans/alecan, +/obj/item/reagent_containers/food/drinks/cans/alecan, /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/city/supermarket) "uDH" = ( @@ -15782,7 +15787,7 @@ /turf/simulated/floor/tiled/eris/bcircuit, /area/redgate/city/nifshop) "uDL" = ( -/obj/item/weapon/towel/random, +/obj/item/towel/random, /obj/machinery/light_switch{ dir = 8; pixel_x = 24; @@ -15824,12 +15829,12 @@ /obj/structure/closet{ name = "prize closet" }, -/obj/item/weapon/storage/box/casino/costume_commie, -/obj/item/weapon/storage/box/casino/costume_cowboy, -/obj/item/weapon/storage/box/casino/costume_marine, -/obj/item/weapon/storage/box/casino/costume_pirate, -/obj/item/weapon/storage/box/casino/costume_plaguedoctor, -/obj/item/weapon/storage/box/casino/costume_wizard, +/obj/item/storage/box/casino/costume_commie, +/obj/item/storage/box/casino/costume_cowboy, +/obj/item/storage/box/casino/costume_marine, +/obj/item/storage/box/casino/costume_pirate, +/obj/item/storage/box/casino/costume_plaguedoctor, +/obj/item/storage/box/casino/costume_wizard, /turf/simulated/floor/tiled/yellow, /area/redgate/city/casino) "uGR" = ( @@ -15879,7 +15884,7 @@ /area/redgate/city/gallery) "uHF" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /obj/random/tool/power, /obj/machinery/light/small, /turf/simulated/floor/tiled/milspec, @@ -15892,9 +15897,9 @@ /area/redgate/city/pool) "uIN" = ( /obj/structure/bookcase, -/obj/item/weapon/book/bundle/custom_library/fiction/raissue147, -/obj/item/weapon/book/bundle/custom_library/fiction/silence, -/obj/item/weapon/book/bundle/custom_library/fiction/taleoftherainbowcat, +/obj/item/book/bundle/custom_library/fiction/raissue147, +/obj/item/book/bundle/custom_library/fiction/silence, +/obj/item/book/bundle/custom_library/fiction/taleoftherainbowcat, /turf/simulated/floor/wood, /area/redgate/city/library) "uJn" = ( @@ -15914,8 +15919,8 @@ /area/redgate/city/house13) "uKe" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/blue, +/obj/item/paper_bin, +/obj/item/pen/blue, /turf/simulated/floor/tiled, /area/redgate/city/police) "uLj" = ( @@ -15943,7 +15948,7 @@ /turf/simulated/floor/wood/alt/parquet, /area/redgate/city/chopshop) "uMt" = ( -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer/meteor, +/obj/item/reagent_containers/food/drinks/bottle/small/beer/meteor, /turf/simulated/floor/carpet/brown, /area/redgate/city/hotel) "uMU" = ( @@ -16008,7 +16013,7 @@ /turf/simulated/floor/carpet/retro, /area/redgate/city/toys) "uPK" = ( -/obj/item/weapon/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, /turf/simulated/floor/wood/alt/tile, /area/redgate/city/fightclub) "uQh" = ( @@ -16067,7 +16072,7 @@ dir = 1 }, /obj/structure/table/rack/gun_rack/steel, -/obj/item/weapon/soap/golden_soap, +/obj/item/soap/golden_soap, /turf/simulated/floor/tiled/techfloor, /area/redgate/city/casino) "uUa" = ( @@ -16126,20 +16131,20 @@ color = "#8da4a6"; pixel_x = -5 }, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar, -/obj/item/weapon/reagent_containers/glass/beaker{ +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/sugar, +/obj/item/reagent_containers/food/condiment/carton/sugar, +/obj/item/reagent_containers/food/condiment/carton/sugar, +/obj/item/reagent_containers/food/condiment/carton/sugar, +/obj/item/reagent_containers/glass/beaker{ pixel_x = 5 }, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/reagent_containers/food/condiment/enzyme{ +/obj/item/storage/fancy/egg_box, +/obj/item/reagent_containers/food/condiment/enzyme{ layer = 5 }, /turf/simulated/floor/wood/alt, @@ -16286,7 +16291,7 @@ pixel_x = -4; pixel_y = 5 }, -/obj/item/device/healthanalyzer, +/obj/item/healthanalyzer, /turf/simulated/floor/tiled/white, /area/redgate/city/hospital) "vfl" = ( @@ -16337,7 +16342,7 @@ /area/redgate/city/stripclub) "vii" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/green, +/obj/item/bedsheet/green, /obj/machinery/light_switch{ dir = 8; pixel_x = 26; @@ -16360,11 +16365,11 @@ /area/redgate/city/house1) "vko" = ( /obj/structure/table/rack, -/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar, -/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar, -/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar, -/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar, -/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar, +/obj/item/reagent_containers/food/snacks/candy/proteinbar, +/obj/item/reagent_containers/food/snacks/candy/proteinbar, +/obj/item/reagent_containers/food/snacks/candy/proteinbar, +/obj/item/reagent_containers/food/snacks/candy/proteinbar, +/obj/item/reagent_containers/food/snacks/candy/proteinbar, /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/city/supermarket) "vkJ" = ( @@ -16376,15 +16381,15 @@ /area/redgate/city/clotheshop) "vlx" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/flame/lighter/zippo, -/obj/item/weapon/flame/lighter/zippo, -/obj/item/weapon/flame/lighter/zippo, -/obj/item/weapon/flame/lighter/zippo/skull, -/obj/item/weapon/flame/lighter/zippo, -/obj/item/weapon/flame/lighter/zippo, -/obj/item/weapon/flame/lighter/zippo/capitalist, -/obj/item/weapon/flame/lighter/zippo, -/obj/item/weapon/flame/lighter/zippo, +/obj/item/flame/lighter/zippo, +/obj/item/flame/lighter/zippo, +/obj/item/flame/lighter/zippo, +/obj/item/flame/lighter/zippo/skull, +/obj/item/flame/lighter/zippo, +/obj/item/flame/lighter/zippo, +/obj/item/flame/lighter/zippo/capitalist, +/obj/item/flame/lighter/zippo, +/obj/item/flame/lighter/zippo, /obj/machinery/light{ dir = 1 }, @@ -16392,11 +16397,11 @@ /area/redgate/city/offlicense) "vlR" = ( /obj/structure/table/rack, -/obj/item/weapon/reagent_containers/food/drinks/cans/iced_tea, -/obj/item/weapon/reagent_containers/food/drinks/cans/iced_tea, -/obj/item/weapon/reagent_containers/food/drinks/cans/iced_tea, -/obj/item/weapon/reagent_containers/food/drinks/cans/iced_tea, -/obj/item/weapon/reagent_containers/food/drinks/cans/iced_tea, +/obj/item/reagent_containers/food/drinks/cans/iced_tea, +/obj/item/reagent_containers/food/drinks/cans/iced_tea, +/obj/item/reagent_containers/food/drinks/cans/iced_tea, +/obj/item/reagent_containers/food/drinks/cans/iced_tea, +/obj/item/reagent_containers/food/drinks/cans/iced_tea, /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/city/supermarket) "vmc" = ( @@ -16427,7 +16432,7 @@ /turf/simulated/floor/tiled/white, /area/redgate/city/hospital) "vnD" = ( -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /turf/simulated/floor/tiled/dark, /area/redgate/city/workshop) "vob" = ( @@ -16451,7 +16456,7 @@ /obj/machinery/light/floortube{ dir = 4; light_color = "#ff8086"; - light_type = /obj/item/weapon/light/bulb/red; + light_type = /obj/item/light/bulb/red; name = "stripper light" }, /turf/simulated/floor/carpet/purcarpet, @@ -16462,7 +16467,7 @@ /area/redgate/city/crates) "voC" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/lights, +/obj/item/storage/box/lights, /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/city/supermarket) "voK" = ( @@ -16721,7 +16726,7 @@ /turf/simulated/floor/tiled/eris/cafe, /area/redgate/city/gym) "vIp" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, /obj/machinery/light{ @@ -16743,29 +16748,29 @@ name = "kitchen cupboard"; pixel_y = -30 }, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass, -/obj/item/weapon/reagent_containers/food/drinks/metaglass/metapint, -/obj/item/weapon/reagent_containers/food/drinks/metaglass/metapint, -/obj/item/weapon/reagent_containers/food/drinks/metaglass/metapint, -/obj/item/weapon/reagent_containers/food/drinks/metaglass/metapint, -/obj/item/weapon/reagent_containers/food/drinks/metaglass/metapint, -/obj/item/weapon/reagent_containers/food/drinks/metaglass, -/obj/item/weapon/reagent_containers/food/drinks/metaglass, -/obj/item/weapon/reagent_containers/food/drinks/metaglass, -/obj/item/weapon/reagent_containers/food/drinks/metaglass, -/obj/item/weapon/reagent_containers/food/drinks/metaglass, -/obj/item/weapon/reagent_containers/food/drinks/metaglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/shotglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/shotglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/shotglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/shotglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/shotglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/shotglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/shotglass, +/obj/item/reagent_containers/food/drinks/drinkingglass, +/obj/item/reagent_containers/food/drinks/drinkingglass, +/obj/item/reagent_containers/food/drinks/drinkingglass, +/obj/item/reagent_containers/food/drinks/drinkingglass, +/obj/item/reagent_containers/food/drinks/drinkingglass, +/obj/item/reagent_containers/food/drinks/metaglass/metapint, +/obj/item/reagent_containers/food/drinks/metaglass/metapint, +/obj/item/reagent_containers/food/drinks/metaglass/metapint, +/obj/item/reagent_containers/food/drinks/metaglass/metapint, +/obj/item/reagent_containers/food/drinks/metaglass/metapint, +/obj/item/reagent_containers/food/drinks/metaglass, +/obj/item/reagent_containers/food/drinks/metaglass, +/obj/item/reagent_containers/food/drinks/metaglass, +/obj/item/reagent_containers/food/drinks/metaglass, +/obj/item/reagent_containers/food/drinks/metaglass, +/obj/item/reagent_containers/food/drinks/metaglass, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, /turf/simulated/floor/wood/alt/tile, /area/redgate/city/gamblingden) "vJx" = ( @@ -16876,9 +16881,9 @@ /area/redgate/city/hospital) "vXn" = ( /obj/structure/bookcase, -/obj/item/weapon/book/bundle/custom_library/fiction/coldmountain, -/obj/item/weapon/book/bundle/custom_library/fiction/ghostship, -/obj/item/weapon/book/bundle/custom_library/fiction/manfromsnowyriver, +/obj/item/book/bundle/custom_library/fiction/coldmountain, +/obj/item/book/bundle/custom_library/fiction/ghostship, +/obj/item/book/bundle/custom_library/fiction/manfromsnowyriver, /turf/simulated/floor/wood, /area/redgate/city/library) "vXV" = ( @@ -16949,7 +16954,7 @@ /area/redgate/city/stripclub) "waR" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/snacks/slice/vegetablepizza, +/obj/item/reagent_containers/food/snacks/slice/vegetablepizza, /turf/simulated/floor/wood/alt, /area/redgate/city/pizza) "wbr" = ( @@ -17015,13 +17020,13 @@ /turf/simulated/floor/tiled/eris/dark/gray_platform, /area/redgate/city/engine) "wgN" = ( -/obj/machinery/disease2/diseaseanalyser, +/obj/structure/prop/machine/centrifuge, /turf/simulated/floor/tiled/white, /area/redgate/city/science) "wgO" = ( /obj/structure/table/woodentable, /obj/item/stack/cable_coil, -/obj/item/weapon/newspaper, +/obj/item/newspaper, /turf/simulated/floor/carpet/brown, /area/redgate/city/hotel) "whs" = ( @@ -17104,7 +17109,7 @@ /area/redgate/city/crates) "wma" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/buns, +/obj/item/storage/box/buns, /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/city/supermarket) "wml" = ( @@ -17151,7 +17156,7 @@ /area/redgate/city/dodgypharmacy) "wpm" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/rd, +/obj/item/bedsheet/rd, /turf/simulated/floor/carpet/retro_red, /area/redgate/city/house11) "wpA" = ( @@ -17160,7 +17165,7 @@ /area/redgate/city/clotheshop) "wpE" = ( /obj/structure/table/woodentable, -/obj/item/device/retail_scanner/civilian, +/obj/item/retail_scanner/civilian, /turf/simulated/floor/wood/alt, /area/redgate/city/restaurant) "wpN" = ( @@ -17318,7 +17323,7 @@ /obj/item/clothing/shoes/heels, /obj/random/maintenance/medical, /obj/random/maintenance/medical, -/obj/item/weapon/lipstick/random, +/obj/item/lipstick/random, /obj/structure/closet/cabinet, /turf/simulated/floor/carpet/purple, /area/redgate/city/house2) @@ -17348,7 +17353,7 @@ /turf/simulated/floor/tiled/white, /area/redgate/city/pool) "wET" = ( -/obj/item/weapon/bedsheet/cosmos, +/obj/item/bedsheet/cosmos, /obj/structure/bed/padded, /turf/simulated/floor/wood/sif, /area/redgate/city/succ) @@ -17388,7 +17393,10 @@ /turf/simulated/floor/tiled/steel_dirty, /area/redgate/city/dodgypharmacy) "wIw" = ( -/obj/machinery/computer/diseasesplicer, +/obj/structure/reagent_dispensers/virusfood{ + pixel_y = 29 + }, +/obj/structure/prop/machine/incubator, /turf/simulated/floor/tiled/white, /area/redgate/city/science) "wIy" = ( @@ -17400,7 +17408,7 @@ /area/redgate/city/chopshop) "wIE" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000; pixel_x = 5; @@ -17455,8 +17463,8 @@ /area/redgate/city/corporation) "wLD" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, /turf/simulated/floor/tiled/milspec, /area/redgate/city/ripper) "wMk" = ( @@ -17471,7 +17479,7 @@ dir = 5 }, /obj/structure/closet, -/obj/item/weapon/melee/classic_baton, +/obj/item/melee/classic_baton, /turf/simulated/floor/tiled/steel_dirty, /area/redgate/city/dodgypharmacy) "wMY" = ( @@ -17493,11 +17501,11 @@ /area/redgate/city/dealership) "wOo" = ( /obj/structure/table/rack, -/obj/item/weapon/reagent_containers/food/drinks/cans/boda, -/obj/item/weapon/reagent_containers/food/drinks/cans/boda, -/obj/item/weapon/reagent_containers/food/drinks/cans/boda, -/obj/item/weapon/reagent_containers/food/drinks/cans/boda, -/obj/item/weapon/reagent_containers/food/drinks/cans/boda, +/obj/item/reagent_containers/food/drinks/cans/boda, +/obj/item/reagent_containers/food/drinks/cans/boda, +/obj/item/reagent_containers/food/drinks/cans/boda, +/obj/item/reagent_containers/food/drinks/cans/boda, +/obj/item/reagent_containers/food/drinks/cans/boda, /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/city/supermarket) "wOJ" = ( @@ -17531,7 +17539,7 @@ /area/redgate/city/waterworks) "wRp" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /obj/machinery/light, /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/city/supermarket) @@ -17577,9 +17585,9 @@ /area/redgate/city/house13) "wUr" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/reagent_containers/food/snacks/ratpackturkey, -/obj/item/weapon/reagent_containers/food/snacks/ratpackturkey, -/obj/item/weapon/reagent_containers/food/snacks/ratpackturkey, +/obj/item/reagent_containers/food/snacks/ratpackturkey, +/obj/item/reagent_containers/food/snacks/ratpackturkey, +/obj/item/reagent_containers/food/snacks/ratpackturkey, /turf/simulated/floor/tiled/neutral, /area/redgate/city/altevian) "wUP" = ( @@ -17636,7 +17644,7 @@ /obj/machinery/door/window/eastright{ dir = 8 }, -/obj/item/weapon/book/manual/casino, +/obj/item/book/manual/casino, /turf/simulated/floor/tiled/yellow, /area/redgate/city/casino) "wXV" = ( @@ -17715,13 +17723,13 @@ /area/redgate/city/science) "xeZ" = ( /obj/structure/table/glass, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/fountain8, +/obj/item/paper_bin, +/obj/item/pen/fountain8, /turf/simulated/floor/carpet/blue, /area/redgate/city/house16) "xfo" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/metaglass/metapint, +/obj/item/reagent_containers/food/drinks/metaglass/metapint, /turf/simulated/floor/wood, /area/redgate/city/house4) "xfB" = ( @@ -17878,12 +17886,12 @@ /area/redgate/city/house18) "xrc" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey, -/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey, -/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey, -/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey, -/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey, -/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey, +/obj/item/reagent_containers/food/drinks/bottle/whiskey, +/obj/item/reagent_containers/food/drinks/bottle/whiskey, +/obj/item/reagent_containers/food/drinks/bottle/whiskey, +/obj/item/reagent_containers/food/drinks/bottle/whiskey, +/obj/item/reagent_containers/food/drinks/bottle/whiskey, +/obj/item/reagent_containers/food/drinks/bottle/whiskey, /turf/simulated/floor/tiled/eris/cafe, /area/redgate/city/offlicense) "xsl" = ( @@ -17910,9 +17918,9 @@ /area/redgate/city/lasertag) "xuh" = ( /obj/structure/bookcase, -/obj/item/weapon/book/manual/mass_spectrometry, -/obj/item/weapon/book/manual/materials_chemistry_analysis, -/obj/item/weapon/book/manual/nuclear, +/obj/item/book/manual/mass_spectrometry, +/obj/item/book/manual/materials_chemistry_analysis, +/obj/item/book/manual/nuclear, /turf/simulated/floor/wood, /area/redgate/city/library) "xul" = ( @@ -17957,7 +17965,7 @@ /turf/simulated/floor/wood, /area/redgate/city/house2) "xyk" = ( -/obj/item/device/radio/headset, +/obj/item/radio/headset, /turf/simulated/floor/carpet/brown, /area/redgate/city/hotel) "xyC" = ( @@ -17970,7 +17978,7 @@ /area/redgate/city/house13) "xzD" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /turf/simulated/floor/wood, /area/redgate/city/apartments) "xAj" = ( @@ -18125,7 +18133,7 @@ /area/redgate/city/science) "xOB" = ( /obj/structure/table/woodentable, -/obj/item/weapon/glass_extra/straw, +/obj/item/glass_extra/straw, /turf/simulated/floor/wood/alt, /area/redgate/city/stripclub) "xOC" = ( @@ -18142,8 +18150,8 @@ /area/redgate/city/doctor) "xPE" = ( /obj/structure/table/glass, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/fountain9, +/obj/item/paper_bin, +/obj/item/pen/fountain9, /turf/simulated/floor/tiled/eris/dark/brown_perforated, /area/redgate/city/dealership) "xQn" = ( @@ -18151,11 +18159,11 @@ /area/redgate/city/casino) "xQq" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/rainbow, +/obj/item/bedsheet/rainbow, /turf/simulated/floor/carpet/happy, /area/redgate/city/house14) "xQN" = ( -/obj/item/weapon/paperplane, +/obj/item/paperplane, /turf/simulated/floor/carpet/brown, /area/redgate/city/hotel) "xQU" = ( @@ -18179,7 +18187,7 @@ /area/redgate/city/warehouse) "xTc" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/structure/curtain/open/privacy, /turf/simulated/floor/tiled/white, /area/redgate/city/hospital) @@ -18282,7 +18290,7 @@ /area/redgate/city/theatre) "yaE" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{ +/obj/item/reagent_containers/glass/beaker/cryoxadone{ pixel_x = -4 }, /obj/effect/floor_decal/industrial/warning{ @@ -18303,8 +18311,8 @@ /area/redgate/city/bar1) "ybM" = ( /obj/structure/table/hardwoodtable, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/fountain2, +/obj/item/paper_bin, +/obj/item/pen/fountain2, /turf/simulated/floor/carpet/green, /area/redgate/city/house17) "ycs" = ( @@ -18336,14 +18344,14 @@ /obj/structure/closet/walllocker{ pixel_y = 33 }, -/obj/item/weapon/deck/schnapsen, -/obj/item/weapon/deck/schnapsen, -/obj/item/weapon/deck/schnapsen, -/obj/item/weapon/deck/schnapsen, -/obj/item/weapon/deck/holder, -/obj/item/weapon/deck/holder, -/obj/item/weapon/deck/holder, -/obj/item/weapon/deck/holder, +/obj/item/deck/schnapsen, +/obj/item/deck/schnapsen, +/obj/item/deck/schnapsen, +/obj/item/deck/schnapsen, +/obj/item/deck/holder, +/obj/item/deck/holder, +/obj/item/deck/holder, +/obj/item/deck/holder, /turf/simulated/shuttle/floor/white, /area/redgate/city/cards) "yfe" = ( @@ -18354,7 +18362,7 @@ /area/redgate/city/engine) "yfs" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/mimedouble, +/obj/item/bedsheet/mimedouble, /turf/simulated/floor/carpet/turcarpet, /area/redgate/city/house9) "yfD" = ( @@ -18419,7 +18427,7 @@ /turf/simulated/floor/wood/alt/tile, /area/redgate/city/bar2) "yjg" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, /turf/simulated/floor/wood/alt, @@ -23051,10 +23059,10 @@ lyJ jNE kfL rdM -eSM +ozN fpI fpI -uEa +eSM rdM btI kWt diff --git a/maps/redgate/darkadventure.dmm b/maps/redgate/darkadventure.dmm index e8abd194906..034cb6e02c9 100644 --- a/maps/redgate/darkadventure.dmm +++ b/maps/redgate/darkadventure.dmm @@ -66,7 +66,7 @@ /area/redgate/wilds) "hS" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/hopdouble, +/obj/item/bedsheet/hopdouble, /turf/simulated/floor/tiled/dark, /area/redgate/structure) "iy" = ( @@ -140,7 +140,7 @@ }, /area/redgate/wilds) "rE" = ( -/obj/item/weapon/paper, +/obj/item/paper, /turf/simulated/floor/tiled/dark, /area/redgate/structure) "si" = ( @@ -185,7 +185,7 @@ /area/redgate/structure) "xw" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper, +/obj/item/paper, /turf/simulated/floor/tiled/dark, /area/redgate/structure) "yA" = ( @@ -216,7 +216,7 @@ /area/redgate/wilds) "AU" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/purpledouble, +/obj/item/bedsheet/purpledouble, /turf/simulated/floor/tiled/dark, /area/redgate/structure) "BD" = ( @@ -231,7 +231,7 @@ /turf/simulated/floor/outdoors/grass/forest, /area/redgate/wilds) "Cg" = ( -/obj/item/weapon/paper, +/obj/item/paper, /obj/structure/table/woodentable, /turf/simulated/floor/tiled/dark, /area/redgate/structure) @@ -350,7 +350,7 @@ }, /area/redgate/wilds) "Rd" = ( -/obj/item/weapon/broken_bottle, +/obj/item/broken_bottle, /turf/simulated/floor/tiled/dark, /area/redgate/structure) "Rl" = ( diff --git a/maps/redgate/eggnogtown.dmm b/maps/redgate/eggnogtown.dmm index ca8ad82ca9d..3771a88096d 100644 --- a/maps/redgate/eggnogtown.dmm +++ b/maps/redgate/eggnogtown.dmm @@ -30,15 +30,15 @@ /area/redgate/eggnogtown/vibeout) "af" = ( /obj/structure/table/fancyblack, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -5; pixel_y = 9 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 6; pixel_y = 9 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 6; pixel_y = -1 }, @@ -84,7 +84,7 @@ /area/redgate/eggnogtown/nigloo) "am" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/purpledouble, +/obj/item/bedsheet/purpledouble, /obj/random/awayloot, /turf/simulated/mineral/floor/ignore_cavegen/cave{ temperature = 258.15 @@ -97,7 +97,7 @@ /obj/structure/noticeboard{ pixel_y = 32 }, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "Loni Nesumi's humbble abode, feel free to rest inside if the lights are out, please go change the cell in the maint room otherwise enjoy your stay and please don't take anything" }, /turf/simulated/mineral/floor/ignore_cavegen/cave{ @@ -106,13 +106,13 @@ /area/redgate/eggnogtown/loniabode) "ap" = ( /obj/structure/table/marble, -/obj/item/weapon/flame/lighter/zippo, -/obj/item/weapon/tool/screwdriver, +/obj/item/flame/lighter/zippo, +/obj/item/tool/screwdriver, /obj/item/clothing/head/that{ pixel_x = 4; pixel_y = 6 }, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, /obj/item/clothing/suit/storage/hooded/wintercoat/bar{ pixel_x = -8; pixel_y = -8 @@ -217,7 +217,7 @@ /area/redgate/eggnogtown/bar) "aD" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /turf/simulated/mineral/floor/ignore_cavegen/cave{ temperature = 258.15 }, @@ -353,7 +353,7 @@ /area/redgate/eggnogtown/bar) "aW" = ( /obj/structure/table/fancyblack, -/obj/item/device/flashlight/lantern{ +/obj/item/flashlight/lantern{ pixel_x = 3; pixel_y = 12 }, @@ -457,20 +457,20 @@ /area/redgate/eggnogtown/vibeout) "bw" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/toolbox/mechanical, -/obj/item/weapon/storage/toolbox/mechanical, -/obj/item/weapon/storage/toolbox/mechanical, -/obj/item/weapon/storage/toolbox/mechanical, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /obj/item/clothing/glasses/welding, /obj/item/clothing/glasses/welding, -/obj/item/weapon/shovel, +/obj/item/shovel, /obj/random/tool/power, -/obj/item/weapon/pickaxe/drill, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, +/obj/item/pickaxe/drill, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, /turf/simulated/floor/tiled/techmaint{ temperature = 258.15 }, @@ -528,19 +528,19 @@ /area/redgate/eggnogtown/storage) "bM" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/toolbox/mechanical, -/obj/item/weapon/storage/toolbox/mechanical, -/obj/item/weapon/storage/toolbox/mechanical, -/obj/item/weapon/storage/toolbox/mechanical, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /obj/item/clothing/glasses/welding, /obj/item/clothing/glasses/welding, -/obj/item/weapon/shovel, -/obj/item/weapon/pickaxe/drill, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, +/obj/item/shovel, +/obj/item/pickaxe/drill, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, /obj/machinery/light/small, /turf/simulated/floor/tiled/techmaint{ temperature = 258.15 @@ -548,25 +548,25 @@ /area/redgate/eggnogtown/storage) "bO" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/toolbox/mechanical, -/obj/item/weapon/storage/toolbox/mechanical, -/obj/item/weapon/storage/toolbox/mechanical, -/obj/item/weapon/storage/toolbox/mechanical, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /obj/item/clothing/glasses/welding, /obj/item/clothing/glasses/welding, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/shovel, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/shovel, /obj/random/tool/alien, -/obj/item/weapon/pickaxe/drill, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, +/obj/item/pickaxe/drill, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, /turf/simulated/floor/tiled/techmaint{ temperature = 258.15 }, @@ -630,7 +630,7 @@ /area/redgate/eggnogtown/stokeswashere) "cx" = ( /obj/structure/table/fancyblack, -/obj/item/device/flashlight/lantern{ +/obj/item/flashlight/lantern{ pixel_x = 15; pixel_y = 10 }, @@ -756,7 +756,7 @@ }, /area/redgate/eggnogtown/sigloo) "dy" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, /obj/effect/floor_decal/spline/plain{ @@ -801,12 +801,12 @@ /area/redgate/eggnogtown/visitorlounge) "dX" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/lasagna, -/obj/item/weapon/reagent_containers/food/snacks/lasagna, -/obj/item/weapon/reagent_containers/food/snacks/lasagna, -/obj/item/weapon/reagent_containers/food/snacks/lasagna, -/obj/item/weapon/reagent_containers/food/snacks/lasagna, -/obj/item/device/flashlight/lamp/green, +/obj/item/reagent_containers/food/snacks/lasagna, +/obj/item/reagent_containers/food/snacks/lasagna, +/obj/item/reagent_containers/food/snacks/lasagna, +/obj/item/reagent_containers/food/snacks/lasagna, +/obj/item/reagent_containers/food/snacks/lasagna, +/obj/item/flashlight/lamp/green, /turf/simulated/floor/wood{ temperature = 258.15 }, @@ -837,26 +837,26 @@ /area/redgate/eggnogtown/bar) "ew" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/wood{ temperature = 258.15 }, /area/redgate/eggnogtown/stokeswashere/bedroom) "ex" = ( /obj/structure/table/fancyblack, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 6; pixel_y = -1 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -5; pixel_y = -1 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 6; pixel_y = 9 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -5; pixel_y = 9 }, @@ -901,7 +901,7 @@ /area/redgate/eggnogtown/stokeswashere) "eY" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/double, +/obj/item/bedsheet/double, /turf/simulated/floor/wood{ temperature = 258.15 }, @@ -931,7 +931,7 @@ /area/redgate/eggnogtown/kitchihome/diningroom) "fj" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/iandouble, +/obj/item/bedsheet/iandouble, /obj/structure/curtain/black, /turf/simulated/floor/wood, /area/redgate/eggnogtown/visitorlounge/room2) @@ -939,7 +939,7 @@ /obj/structure/noticeboard{ pixel_x = -32 }, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "Ali's Kickass Pad of Awesomeness" }, /turf/simulated/floor/wood, @@ -994,31 +994,31 @@ /turf/simulated/floor/tiled, /area/redgate/eggnogtown/loniabode) "gk" = ( -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/small/sugar, -/obj/item/weapon/reagent_containers/food/condiment/small/sugar, -/obj/item/weapon/reagent_containers/food/condiment/small/sugar, -/obj/item/weapon/reagent_containers/food/condiment/small/sugar, -/obj/item/weapon/reagent_containers/food/condiment/spacespice, -/obj/item/weapon/reagent_containers/food/condiment/spacespice, -/obj/item/weapon/reagent_containers/food/condiment/spacespice, -/obj/item/weapon/reagent_containers/food/condiment/spacespice, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/small/sugar, +/obj/item/reagent_containers/food/condiment/small/sugar, +/obj/item/reagent_containers/food/condiment/small/sugar, +/obj/item/reagent_containers/food/condiment/small/sugar, +/obj/item/reagent_containers/food/condiment/spacespice, +/obj/item/reagent_containers/food/condiment/spacespice, +/obj/item/reagent_containers/food/condiment/spacespice, +/obj/item/reagent_containers/food/condiment/spacespice, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, /obj/structure/closet, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, +/obj/item/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/small/peppermill, /obj/machinery/alarm/alarms_hidden{ pixel_y = 21 }, @@ -1074,7 +1074,7 @@ /turf/simulated/floor/carpet/bcarpet, /area/redgate/eggnogtown/kitchihome/den) "gP" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/outdoors/newdirt{ outdoors = 0 }, @@ -1084,10 +1084,10 @@ /area/redgate/eggnogtown/eastcaveland) "gV" = ( /obj/structure/table/marble, -/obj/item/device/flashlight/lantern{ +/obj/item/flashlight/lantern{ pixel_y = 25 }, -/obj/item/weapon/storage/box/beakers, +/obj/item/storage/box/beakers, /turf/simulated/floor/tiled/eris/white/monofloor, /area/redgate/eggnogtown/kitchihome/kitchen) "hd" = ( @@ -1163,7 +1163,7 @@ }, /area/redgate/eggnogtown/cavehome) "hS" = ( -/obj/item/weapon/reagent_containers/glass/bucket/wood, +/obj/item/reagent_containers/glass/bucket/wood, /turf/simulated/floor/outdoors/grass{ outdoors = 0 }, @@ -1229,7 +1229,7 @@ /area/redgate/eggnogtown/vibeout) "jb" = ( /obj/structure/table/fancyblack, -/obj/item/device/flashlight/lantern{ +/obj/item/flashlight/lantern{ pixel_x = 3; pixel_y = 12 }, @@ -1257,7 +1257,7 @@ /turf/simulated/floor/bmarble, /area/redgate/eggnogtown/arturoswolfden) "jy" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /turf/simulated/floor/outdoors/newdirt{ @@ -1267,13 +1267,13 @@ "jB" = ( /obj/structure/table/woodentable, /obj/item/toy/plushie/black_fox, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /turf/simulated/floor/wood{ temperature = 258.15 }, /area/redgate/eggnogtown/houserhomestead) "jH" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /turf/simulated/floor/carpet/bcarpet, @@ -1358,7 +1358,7 @@ /turf/simulated/floor/wood, /area/redgate/eggnogtown/kitchihome/diningroom) "lB" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/carpet/bcarpet, /area/redgate/eggnogtown/hall/south) "lF" = ( @@ -1373,7 +1373,7 @@ /turf/simulated/floor/tiled/techmaint, /area/redgate/eggnogtown/dining/storage) "lK" = ( -/obj/item/weapon/bedsheet/yellowdouble, +/obj/item/bedsheet/yellowdouble, /obj/structure/curtain/black, /obj/structure/bed/double/padded, /turf/simulated/floor/wood, @@ -1436,7 +1436,7 @@ /area/redgate/eggnogtown/hall/north) "mt" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/ashtray, +/obj/item/material/ashtray, /obj/random/awayloot, /turf/simulated/floor/wood{ temperature = 258.15 @@ -1448,7 +1448,7 @@ /area/redgate/eggnogtown/hall/south) "mw" = ( /obj/structure/closet, -/obj/item/device/camera, +/obj/item/camera, /obj/random/maintenance, /obj/random/maintenance, /obj/random/maintenance, @@ -1499,7 +1499,7 @@ /area/redgate/eggnogtown/dining/storage) "mP" = ( /obj/structure/table/fancyblack, -/obj/item/device/flashlight/lantern{ +/obj/item/flashlight/lantern{ pixel_x = 3; pixel_y = 12 }, @@ -1563,12 +1563,12 @@ }, /area/redgate/eggnogtown) "nQ" = ( -/obj/item/weapon/material/minihoe, -/obj/item/device/analyzer/plant_analyzer, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/material/minihoe, +/obj/item/analyzer/plant_analyzer, +/obj/item/reagent_containers/glass/bucket, /obj/item/robot_parts/l_arm, -/obj/item/weapon/material/knife/machete/hatchet, -/obj/item/weapon/material/minihoe, +/obj/item/material/knife/machete/hatchet, +/obj/item/material/minihoe, /obj/structure/closet, /turf/simulated/floor/tiled/monotile, /area/redgate/eggnogtown/dining/botany) @@ -1815,8 +1815,8 @@ /area/redgate/eggnogtown/dining/botany) "rQ" = ( /obj/structure/table/standard, -/obj/item/weapon/material/kitchen/utensil/spoon, -/obj/item/weapon/material/knife, +/obj/item/material/kitchen/utensil/spoon, +/obj/item/material/knife, /turf/simulated/floor/wood{ temperature = 258.15 }, @@ -1926,7 +1926,7 @@ /turf/simulated/floor/tiled/techmaint, /area/redgate/eggnogtown/dining/storage) "tc" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, /turf/simulated/floor/outdoors/newdirt{ @@ -1965,9 +1965,9 @@ /area/redgate/eggnogtown/dining/kitchen) "tC" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/glass/rag, -/obj/item/weapon/reagent_containers/food/drinks/flask/vacuumflask, -/obj/item/weapon/book/manual/barman_recipes, +/obj/item/reagent_containers/glass/rag, +/obj/item/reagent_containers/food/drinks/flask/vacuumflask, +/obj/item/book/manual/barman_recipes, /obj/random/awayloot, /turf/simulated/floor/lino, /area/redgate/eggnogtown/bar) @@ -2050,12 +2050,12 @@ /area/redgate/eggnogtown/stokeswashere) "uX" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/material/kitchen/rollingpin, -/obj/item/weapon/book/manual/chef_recipes, -/obj/item/weapon/reagent_containers/food/condiment/enzyme{ +/obj/item/material/kitchen/rollingpin, +/obj/item/book/manual/chef_recipes, +/obj/item/reagent_containers/food/condiment/enzyme{ layer = 5 }, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /turf/simulated/floor/tiled/eris/cafe, /area/redgate/eggnogtown/dining/kitchen) "uY" = ( @@ -2087,7 +2087,7 @@ /area/redgate/eggnogtown/nigloo) "vc" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/material/knife/butch, +/obj/item/material/knife/butch, /obj/machinery/light{ dir = 1 }, @@ -2095,7 +2095,7 @@ /area/redgate/eggnogtown/dining/kitchen) "vn" = ( /obj/structure/table/standard, -/obj/item/weapon/material/ashtray, +/obj/item/material/ashtray, /turf/simulated/floor/wood, /area/redgate/eggnogtown/arturoswolfden) "vq" = ( @@ -2189,12 +2189,12 @@ /turf/simulated/floor/wood, /area/redgate/eggnogtown/dining) "wP" = ( -/obj/item/weapon/deck/cards, -/obj/item/weapon/storage/dicecup, -/obj/item/weapon/storage/pill_bottle/dice_nerd, -/obj/item/weapon/deck/cah, -/obj/item/weapon/deck/cah/black, -/obj/item/weapon/deck/tarot, +/obj/item/deck/cards, +/obj/item/storage/dicecup, +/obj/item/storage/pill_bottle/dice_nerd, +/obj/item/deck/cah, +/obj/item/deck/cah/black, +/obj/item/deck/tarot, /obj/structure/closet, /turf/simulated/floor/wood, /area/redgate/eggnogtown/hall/south) @@ -2221,7 +2221,7 @@ /area/redgate/eggnogtown/stokeswashere/bathroom) "xn" = ( /obj/structure/table/glass, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /turf/simulated/floor/carpet/bcarpet, /area/redgate/eggnogtown/loniabode) "xq" = ( @@ -2353,7 +2353,7 @@ /area/redgate/eggnogtown/dining) "zJ" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/wood{ temperature = 258.15 }, @@ -2477,7 +2477,7 @@ /area/redgate/eggnogtown/vibeout) "AZ" = ( /obj/structure/table/fancyblack, -/obj/item/device/flashlight/lantern{ +/obj/item/flashlight/lantern{ pixel_x = 3; pixel_y = 12 }, @@ -2529,7 +2529,7 @@ }, /area/redgate/eggnogtown) "BR" = ( -/obj/item/weapon/stool/baystool, +/obj/item/stool/baystool, /turf/simulated/floor/wood, /area/redgate/eggnogtown/visitorlounge) "BW" = ( @@ -2588,7 +2588,7 @@ /obj/structure/noticeboard{ pixel_x = -32 }, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "Arturo's Wolf Den" }, /turf/simulated/floor/outdoors/snow{ @@ -2619,7 +2619,7 @@ /area/redgate/eggnogtown/teshnest) "Dj" = ( /obj/structure/table/darkglass, -/obj/item/weapon/deck/cards, +/obj/item/deck/cards, /turf/simulated/floor/wood, /area/redgate/eggnogtown/visitorlounge) "DG" = ( @@ -2683,7 +2683,7 @@ /area/redgate/eggnogtown/cavehome) "Ew" = ( /obj/structure/table/marble, -/obj/item/weapon/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, /turf/simulated/floor/wood, /area/redgate/eggnogtown/loniabode) "Ey" = ( @@ -2701,12 +2701,12 @@ /area/redgate/eggnogtown/sigloo) "EC" = ( /obj/structure/table/marble, -/obj/item/weapon/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, /turf/simulated/floor/tiled/eris/white/monofloor, /area/redgate/eggnogtown/kitchihome/kitchen) "EI" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/purpledouble, +/obj/item/bedsheet/purpledouble, /turf/simulated/floor/carpet/bcarpet, /area/redgate/eggnogtown/kitchihome/bedroom) "EK" = ( @@ -2799,7 +2799,7 @@ }, /obj/fiftyspawner/log/sif, /obj/fiftyspawner/log/sif, -/obj/item/weapon/flame/lighter/random, +/obj/item/flame/lighter/random, /turf/simulated/floor/wood{ temperature = 258.15 }, @@ -2827,7 +2827,7 @@ /turf/simulated/floor/tiled/eris/cafe, /area/redgate/eggnogtown/dining/kitchen) "Gj" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, /turf/simulated/floor/carpet/bcarpet, @@ -2977,7 +2977,7 @@ /turf/simulated/floor/bmarble, /area/redgate/eggnogtown/hall) "II" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /obj/effect/floor_decal/spline/plain{ @@ -3016,11 +3016,11 @@ /area/redgate/eggnogtown/hall/south) "Jc" = ( /obj/structure/table/rack, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, /turf/simulated/floor/tiled/techmaint, /area/redgate/eggnogtown/dining/storage) "Jk" = ( @@ -3042,7 +3042,7 @@ "JE" = ( /obj/structure/table/standard, /obj/item/trash/bowl, -/obj/item/weapon/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, /turf/simulated/floor/wood{ temperature = 258.15 }, @@ -3139,7 +3139,7 @@ /obj/structure/bed/chair/sofa/left/black{ dir = 1 }, -/obj/item/weapon/card/id{ +/obj/item/card/id{ access = list(777); name = "Houser's secret hidden keycard"; registered_name = "Houser" @@ -3320,7 +3320,7 @@ "MV" = ( /obj/structure/bed/pod, /obj/structure/curtain/open/bed, -/obj/item/weapon/bedsheet/purple, +/obj/item/bedsheet/purple, /turf/simulated/floor/wood, /area/redgate/eggnogtown/visitorlounge/room1) "MZ" = ( @@ -3359,7 +3359,7 @@ /obj/structure/noticeboard{ pixel_y = 32 }, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "Houser Homestead. Private Property. Trespassers will be eaten" }, /turf/simulated/floor/beach/sand{ @@ -3570,11 +3570,11 @@ icon_state = "0-10" }, /obj/structure/cable/yellow, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "Dear Santa Talon. Please make this Christmas run with red. Because red is a real flappin nice colour. Like a strawberry. Or a cranberry river. From your biggest friendo, Xinxim! P.S. Please make those real spooky snow ghosts go away. They're scary! P.P.S. Here are some offerings to make sure I don't get haunted when I'm trying to roost!"; name = "Christmasacrifice" }, -/obj/item/weapon/tray, +/obj/item/tray, /turf/simulated/floor/plating{ temperature = 258.15 }, @@ -3604,7 +3604,7 @@ /area/redgate/eggnogtown/stokeswashere/bathroom) "PY" = ( /obj/structure/table/darkglass, -/obj/item/weapon/storage/pill_bottle/dice_nerd, +/obj/item/storage/pill_bottle/dice_nerd, /turf/simulated/floor/wood, /area/redgate/eggnogtown/visitorlounge) "Qh" = ( @@ -3652,11 +3652,11 @@ /area/redgate/eggnogtown/kitchihome/kitchen) "Rd" = ( /obj/structure/table/marble, -/obj/item/weapon/material/kitchen/rollingpin, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/yeast, -/obj/item/weapon/reagent_containers/food/condiment/spacespice, -/obj/item/weapon/reagent_containers/food/condiment/yeast, +/obj/item/material/kitchen/rollingpin, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/yeast, +/obj/item/reagent_containers/food/condiment/spacespice, +/obj/item/reagent_containers/food/condiment/yeast, /turf/simulated/floor/tiled/eris/white/monofloor, /area/redgate/eggnogtown/kitchihome/kitchen) "Ri" = ( @@ -3698,7 +3698,7 @@ /turf/simulated/floor/wood, /area/redgate/eggnogtown/visitorlounge/room2) "Sa" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /turf/simulated/floor/lino, @@ -3870,8 +3870,8 @@ /turf/simulated/floor/tiled/eris/white/monofloor, /area/redgate/eggnogtown/kitchihome/kitchen) "UK" = ( -/obj/item/weapon/material/minihoe, -/obj/item/weapon/material/knife/machete/hatchet, +/obj/item/material/minihoe, +/obj/item/material/knife/machete/hatchet, /turf/simulated/floor/outdoors/grass{ outdoors = 0 }, @@ -3891,7 +3891,7 @@ /area/redgate/eggnogtown/alipad) "US" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/iandouble, +/obj/item/bedsheet/iandouble, /turf/simulated/floor/wood{ temperature = 258.15 }, @@ -3956,7 +3956,7 @@ /area/redgate/eggnogtown/stokeswashere) "VJ" = ( /obj/structure/closet, -/obj/item/weapon/cell/hyper, +/obj/item/cell/hyper, /obj/random/maintenance, /obj/random/maintenance, /obj/random/maintenance, @@ -3978,7 +3978,7 @@ /area/redgate/eggnogtown/dining/kitchen) "Wd" = ( /obj/structure/table/marble, -/obj/item/weapon/tape_roll, +/obj/item/tape_roll, /turf/simulated/floor/wood, /area/redgate/eggnogtown/loniabode) "Wf" = ( @@ -3995,7 +3995,7 @@ /area/redgate/eggnogtown/dining) "WF" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/bluedouble, +/obj/item/bedsheet/bluedouble, /turf/simulated/floor/wood{ temperature = 258.15 }, @@ -4090,7 +4090,7 @@ "XK" = ( /obj/effect/map_effect/perma_light/gateway{ light_color = "#fc8c03"; - light_power = .5 + light_power = 0.5 }, /turf/simulated/floor/wood, /area/redgate/eggnogtown/bar) @@ -4165,7 +4165,7 @@ /turf/simulated/floor/wood, /area/redgate/eggnogtown/loniabode) "YK" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /turf/simulated/floor/carpet/bcarpet, @@ -4198,10 +4198,10 @@ /area/redgate/eggnogtown/stokeswashere) "Zl" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/condiment/ketchup, -/obj/item/weapon/reagent_containers/food/condiment/hotsauce, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, -/obj/item/weapon/reagent_containers/food/condiment/soysauce, +/obj/item/reagent_containers/food/condiment/ketchup, +/obj/item/reagent_containers/food/condiment/hotsauce, +/obj/item/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/food/condiment/soysauce, /turf/simulated/floor/tiled/eris/white/monofloor, /area/redgate/eggnogtown/kitchihome/kitchen) "Zm" = ( @@ -4214,7 +4214,7 @@ /area/redgate/eggnogtown/vibeout) "Zo" = ( /obj/structure/table/marble, -/obj/item/weapon/storage/firstaid, +/obj/item/storage/firstaid, /turf/simulated/floor/lino, /area/redgate/eggnogtown/bar) "Zr" = ( @@ -4250,10 +4250,10 @@ /area/redgate/eggnogtown/kitchihome/bedroom) "ZJ" = ( /obj/structure/table/fancyblack, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 3 }, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -3 }, /turf/simulated/floor/wood, diff --git a/maps/redgate/eggnogtownunderground.dmm b/maps/redgate/eggnogtownunderground.dmm index 7f4603d53af..bace2a9eeee 100644 --- a/maps/redgate/eggnogtownunderground.dmm +++ b/maps/redgate/eggnogtownunderground.dmm @@ -167,8 +167,8 @@ pixel_y = -26 }, /obj/random/awayloot, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, /obj/item/clothing/under/swimsuit/fluff/science, /turf/simulated/floor/bmarble{ temperature = 303.15 @@ -242,8 +242,8 @@ dir = 1; pixel_y = -26 }, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, /obj/item/clothing/under/swimsuit/fluff/engineering, /turf/simulated/floor/bmarble{ temperature = 303.15 @@ -325,8 +325,8 @@ /obj/structure/closet/walllocker{ pixel_y = 26 }, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, /obj/item/clothing/under/swimsuit/earth, /turf/simulated/floor/bmarble{ temperature = 303.15 @@ -352,8 +352,8 @@ dir = 1; pixel_y = -26 }, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, /obj/item/clothing/under/swimsuit/fluff/medical, /turf/simulated/floor/bmarble{ temperature = 303.15 @@ -392,7 +392,7 @@ /area/redgate/eggnogtown/underground) "lX" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /obj/item/toy/mecha/honk, /turf/simulated/floor/wood{ temperature = 258.15 @@ -464,7 +464,7 @@ /turf/simulated/floor/reinforced, /area/redgate/eggnogtown/telecomms) "qr" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled/dark{ temperature = 258.15 }, @@ -613,7 +613,7 @@ /area/redgate/eggnogtown/houserhomestead/basement) "vW" = ( /obj/structure/table/borosilicate, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /turf/simulated/floor/wood{ temperature = 258.15 }, @@ -701,8 +701,8 @@ /obj/structure/closet/walllocker{ pixel_y = 26 }, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, /obj/item/clothing/under/swimsuit/blue, /turf/simulated/floor/bmarble{ temperature = 303.15 @@ -727,8 +727,8 @@ "DZ" = ( /obj/structure/railing, /obj/structure/table/wooden_reinforced, -/obj/item/weapon/material/ashtray, -/obj/item/device/flashlight/lamp/green, +/obj/item/material/ashtray, +/obj/item/flashlight/lamp/green, /turf/simulated/floor/tiled/dark{ temperature = 258.15 }, @@ -777,7 +777,7 @@ /turf/simulated/wall/iron, /area/redgate/eggnogtown/houserhomestead/basement) "Hk" = ( -/obj/item/weapon/bedsheet/mimedouble, +/obj/item/bedsheet/mimedouble, /obj/structure/bed/double/padded, /turf/simulated/floor/wood{ temperature = 258.15 @@ -815,8 +815,8 @@ /area/redgate/eggnogtown/hotsprings) "Jv" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/material/ashtray, -/obj/item/device/flashlight/lamp/green, +/obj/item/material/ashtray, +/obj/item/flashlight/lamp/green, /obj/item/toy/plushie/orange_fox, /turf/simulated/floor/wood{ temperature = 258.15 @@ -948,7 +948,7 @@ }, /area/redgate/eggnogtown/hotspring) "Pb" = ( -/obj/item/weapon/bedsheet/piratedouble, +/obj/item/bedsheet/piratedouble, /obj/structure/bed/double/padded, /turf/simulated/floor/wood{ temperature = 258.15 @@ -991,7 +991,7 @@ /area/redgate/eggnogtown/telecomms) "Tx" = ( /obj/structure/table/wooden_reinforced, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /turf/simulated/floor/wood{ temperature = 258.15 }, @@ -1060,7 +1060,7 @@ /area/redgate/eggnogtown/hotspring) "Wr" = ( /obj/structure/table/borosilicate, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /turf/simulated/floor/plating/eris/under{ temperature = 258.15 }, @@ -1121,7 +1121,7 @@ /turf/simulated/floor/reinforced, /area/redgate/eggnogtown/telecomms) "YF" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled{ temperature = 258.15 }, @@ -1140,12 +1140,12 @@ /area/redgate/eggnogtown/houserhomestead/basement) "YK" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/box/glasses/mug, +/obj/item/storage/box/glasses/mug, /obj/random/drinkbottle, /obj/random/drinkbottle, /obj/random/drinkbottle, /obj/random/cigarettes, -/obj/item/weapon/book/manual/barman_recipes, +/obj/item/book/manual/barman_recipes, /turf/simulated/floor/tiled{ temperature = 258.15 }, @@ -1161,8 +1161,8 @@ pixel_y = 26 }, /obj/random/awayloot, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, /obj/item/clothing/under/swimsuit/black, /turf/simulated/floor/bmarble{ temperature = 303.15 diff --git a/maps/redgate/facility.dmm b/maps/redgate/facility.dmm index a834684bfa6..5c0259ff98e 100644 --- a/maps/redgate/facility.dmm +++ b/maps/redgate/facility.dmm @@ -37,7 +37,7 @@ /area/redgate/facility/ne) "ahj" = ( /obj/structure/table/woodentable, -/obj/item/weapon/potion_material/glamour_shard, +/obj/item/potion_material/glamour_shard, /turf/simulated/floor/wood/alt, /area/redgate/facility/ne) "ahx" = ( @@ -73,7 +73,7 @@ /area/redgate/facility/ne) "ajx" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/shield/riot, +/obj/item/shield/riot, /turf/simulated/floor/tiled/milspec, /area/redgate/facility/ne) "akB" = ( @@ -116,7 +116,7 @@ /obj/structure/window/reinforced{ dir = 1 }, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /turf/simulated/floor/grass, /area/redgate/facility/office1) "alP" = ( @@ -127,7 +127,7 @@ /area/redgate/facility/cell23) "alV" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/flash/synthetic, +/obj/item/flash/synthetic, /turf/simulated/floor/tiled/techfloor, /area/redgate/facility/ne) "aml" = ( @@ -261,7 +261,7 @@ /area/redgate/facility/ne) "atT" = ( /obj/structure/table/steel, -/obj/item/weapon/folder/red, +/obj/item/folder/red, /obj/machinery/light, /turf/simulated/floor/tiled/milspec, /area/redgate/facility/ne) @@ -612,26 +612,26 @@ /obj/machinery/light{ dir = 4 }, -/obj/item/weapon/folder/white, +/obj/item/folder/white, /turf/simulated/floor/wood/alt, /area/redgate/facility/office9) "bay" = ( /obj/structure/closet/walllocker/wooden/east, -/obj/item/weapon/reagent_containers/food/snacks/bigbiteburger, -/obj/item/weapon/reagent_containers/food/snacks/bigbiteburger, -/obj/item/weapon/reagent_containers/food/snacks/burger/bacon, -/obj/item/weapon/reagent_containers/food/snacks/burger/bacon, -/obj/item/weapon/reagent_containers/food/snacks/cheeseburger, -/obj/item/weapon/reagent_containers/food/snacks/cheeseburger, -/obj/item/weapon/reagent_containers/food/snacks/fishburger, -/obj/item/weapon/reagent_containers/food/snacks/fishburger, -/obj/item/weapon/reagent_containers/food/snacks/jellyburger, -/obj/item/weapon/reagent_containers/food/snacks/jellyburger, -/obj/item/weapon/reagent_containers/food/snacks/superbiteburger, -/obj/item/weapon/reagent_containers/food/snacks/superbiteburger, -/obj/item/weapon/reagent_containers/food/snacks/superbiteburger, -/obj/item/weapon/reagent_containers/food/snacks/bearburger, -/obj/item/weapon/reagent_containers/food/snacks/bearburger, +/obj/item/reagent_containers/food/snacks/bigbiteburger, +/obj/item/reagent_containers/food/snacks/bigbiteburger, +/obj/item/reagent_containers/food/snacks/burger/bacon, +/obj/item/reagent_containers/food/snacks/burger/bacon, +/obj/item/reagent_containers/food/snacks/cheeseburger, +/obj/item/reagent_containers/food/snacks/cheeseburger, +/obj/item/reagent_containers/food/snacks/fishburger, +/obj/item/reagent_containers/food/snacks/fishburger, +/obj/item/reagent_containers/food/snacks/jellyburger, +/obj/item/reagent_containers/food/snacks/jellyburger, +/obj/item/reagent_containers/food/snacks/superbiteburger, +/obj/item/reagent_containers/food/snacks/superbiteburger, +/obj/item/reagent_containers/food/snacks/superbiteburger, +/obj/item/reagent_containers/food/snacks/bearburger, +/obj/item/reagent_containers/food/snacks/bearburger, /turf/simulated/floor/wood/alt, /area/redgate/facility/cell4) "baM" = ( @@ -670,8 +670,8 @@ /area/redgate/facility/cell24) "bcI" = ( /obj/structure/closet/walllocker_double/science/north, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, /turf/simulated/floor/tiled/white, /area/redgate/facility/sw) "bcZ" = ( @@ -842,13 +842,13 @@ /area/redgate/facility/ne) "bpL" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_y = 8 }, /turf/simulated/floor/carpet/blue, /area/redgate/facility/office2) "bpW" = ( -/obj/item/weapon/paper, +/obj/item/paper, /turf/simulated/floor/tiled/white, /area/redgate/facility/ne) "bqd" = ( @@ -863,8 +863,8 @@ /area/redgate/facility/ne) "bqM" = ( /obj/structure/table/hardwoodtable, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/blue, +/obj/item/paper_bin, +/obj/item/pen/blue, /obj/machinery/light{ dir = 4 }, @@ -886,13 +886,13 @@ /area/redgate/facility/nw) "bua" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /turf/simulated/floor/wood/alt, /area/redgate/facility/lab5) "buD" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = 9; pixel_y = 17 }, @@ -900,7 +900,7 @@ /area/redgate/facility/nw) "buS" = ( /obj/structure/flora/ausbushes/fullgrass, -/obj/item/weapon/bone/ribs, +/obj/item/bone/ribs, /turf/simulated/floor/grass, /area/redgate/facility/cell27) "bvQ" = ( @@ -1138,7 +1138,7 @@ dir = 5 }, /obj/effect/floor_decal/transit/orange, -/obj/item/device/geiger/wall/east, +/obj/item/geiger/wall/east, /turf/simulated/floor/tiled/eris/dark/techfloor_grid, /area/redgate/facility/ne) "bKf" = ( @@ -1181,11 +1181,11 @@ /obj/effect/floor_decal/steeldecal/steel_decals10{ dir = 1 }, -/obj/item/weapon/bikehorn/rubberducky, +/obj/item/bikehorn/rubberducky, /turf/simulated/floor/tiled/white, /area/redgate/facility/nw) "bOm" = ( -/obj/item/weapon/circuitboard/fluidpump, +/obj/item/circuitboard/fluidpump, /obj/effect/floor_decal/corner/red/border, /turf/simulated/floor/tiled/white, /area/redgate/facility/cell22) @@ -1195,7 +1195,7 @@ /area/redgate/facility/nw) "bOz" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /turf/simulated/floor/wood/alt/panel, /area/redgate/facility/nw) "bOV" = ( @@ -1203,8 +1203,8 @@ /obj/effect/floor_decal/spline/plain{ dir = 4 }, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/blue, +/obj/item/paper_bin, +/obj/item/pen/blue, /turf/simulated/floor/carpet/purcarpet, /area/redgate/facility/ne) "bPs" = ( @@ -1244,7 +1244,7 @@ /turf/simulated/floor/tiled/steel, /area/redgate/facility/cell11) "bSn" = ( -/obj/item/device/geiger/wall/north, +/obj/item/geiger/wall/north, /obj/effect/floor_decal/corner/black/border{ dir = 1 }, @@ -1314,8 +1314,8 @@ /area/redgate/facility/ne) "bVf" = ( /obj/structure/table/hardwoodtable, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/blue, +/obj/item/paper_bin, +/obj/item/pen/blue, /obj/random/cigarettes, /turf/simulated/floor/wood/alt, /area/redgate/facility/ne) @@ -1330,7 +1330,7 @@ /area/redgate/facility/ne) "bVp" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/greendouble, +/obj/item/bedsheet/greendouble, /turf/simulated/floor/wood/alt/panel, /area/redgate/facility/nw) "bVI" = ( @@ -1339,12 +1339,12 @@ /area/redgate/facility/lab2) "bXd" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/orangedouble, +/obj/item/bedsheet/orangedouble, /turf/simulated/floor/wood/alt/panel, /area/redgate/facility/nw) "bXi" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/bluedouble, +/obj/item/bedsheet/bluedouble, /turf/simulated/floor/wood/alt/panel, /area/redgate/facility/nw) "bXk" = ( @@ -1450,7 +1450,7 @@ /area/redgate/facility/cell22) "ceo" = ( /obj/structure/table/steel, -/obj/item/device/integrated_electronics/detailer, +/obj/item/integrated_electronics/detailer, /turf/simulated/floor/tiled/eris/techmaint_perforated, /area/redgate/facility/sw) "ceN" = ( @@ -1515,7 +1515,7 @@ /area/redgate/facility/cell10) "cjl" = ( /obj/structure/table/glass, -/obj/item/weapon/book/manual/resleeving, +/obj/item/book/manual/resleeving, /obj/effect/floor_decal/borderfloor{ dir = 9 }, @@ -1541,7 +1541,7 @@ "cka" = ( /obj/structure/closet, /obj/item/clothing/suit/storage/toggle/labcoat, -/obj/item/weapon/melee/baton/cattleprod, +/obj/item/melee/baton/cattleprod, /obj/random/maintenance/morestuff, /turf/simulated/floor/wood/alt, /area/redgate/facility/office8) @@ -1583,7 +1583,7 @@ /area/redgate/facility/lab8) "cnr" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/gun/energy/sizegun, +/obj/item/gun/energy/sizegun, /turf/simulated/floor/wood/alt, /area/redgate/facility/lab5) "cnG" = ( @@ -1796,8 +1796,8 @@ /area/redgate/facility/ne) "cDW" = ( /obj/structure/table/hardwoodtable, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/blue, +/obj/item/paper_bin, +/obj/item/pen/blue, /turf/simulated/floor/carpet/blue2, /area/redgate/facility/ne) "cEL" = ( @@ -1854,7 +1854,7 @@ /area/redgate/facility/nw) "cHD" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/laundry_basket, +/obj/item/storage/laundry_basket, /obj/effect/floor_decal/corner/grey{ dir = 5 }, @@ -1907,7 +1907,7 @@ /turf/simulated/floor/wood/alt/panel, /area/redgate/facility/nw) "cKz" = ( -/obj/item/weapon/reagent_containers/food/snacks/sliceable/bread, +/obj/item/reagent_containers/food/snacks/sliceable/bread, /turf/simulated/floor/tiled/steel, /area/redgate/facility/ne) "cKL" = ( @@ -1961,7 +1961,7 @@ /area/redgate/facility/cell21) "cNI" = ( /obj/structure/table/glass, -/obj/item/device/sleevemate, +/obj/item/sleevemate, /obj/effect/floor_decal/borderfloor{ dir = 4 }, @@ -1985,7 +1985,7 @@ /area/redgate/facility/ne) "cPU" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/toolbox/electrical{ +/obj/item/storage/toolbox/electrical{ pixel_x = 1; pixel_y = 6 }, @@ -1999,7 +1999,7 @@ /turf/simulated/floor/tiled/techfloor, /area/redgate/facility/ne) "cQi" = ( -/obj/item/weapon/circuitboard/broken, +/obj/item/circuitboard/broken, /turf/simulated/floor/tiled/white, /area/redgate/facility/cell25) "cQv" = ( @@ -2016,7 +2016,7 @@ /turf/simulated/floor/tiled/steel_grid, /area/redgate/facility/ne) "cRi" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /obj/machinery/button/remote/airlock{ dir = 4; id = "cell_20"; @@ -2125,7 +2125,7 @@ "dcx" = ( /obj/structure/table/standard, /obj/effect/floor_decal/corner/grey/diagonal, -/obj/item/weapon/reagent_containers/glass/rag, +/obj/item/reagent_containers/glass/rag, /turf/simulated/floor/tiled/white, /area/redgate/facility/nw) "dcE" = ( @@ -2150,7 +2150,7 @@ /area/redgate/facility/ne) "dfe" = ( /obj/structure/table/glass, -/obj/item/weapon/gun/energy/mouseray/medical, +/obj/item/gun/energy/mouseray/medical, /obj/effect/floor_decal/borderfloor{ dir = 4 }, @@ -2332,47 +2332,47 @@ "dxX" = ( /obj/structure/table/standard, /obj/effect/floor_decal/corner/grey/diagonal, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = -4 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8; pixel_y = -4 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = 12 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8; pixel_y = 12 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8 }, /turf/simulated/floor/tiled/white, /area/redgate/facility/nw) "dyp" = ( /obj/structure/table/hardwoodtable, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/blue, +/obj/item/paper_bin, +/obj/item/pen/blue, /turf/simulated/floor/wood/alt, /area/redgate/facility/nw) "dyR" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /obj/machinery/light{ dir = 4 }, @@ -2380,11 +2380,11 @@ /area/redgate/facility/ne) "dzj" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/geiger{ +/obj/item/geiger{ pixel_x = 7; pixel_y = 6 }, -/obj/item/device/geiger, +/obj/item/geiger, /turf/simulated/floor/tiled/steel, /area/redgate/facility/ne) "dzk" = ( @@ -2436,10 +2436,10 @@ /area/redgate/facility/sw) "dBD" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = 4 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /turf/simulated/floor/tiled/white, @@ -2490,7 +2490,7 @@ /area/redgate/facility/nw) "dFt" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/gun/energy/taser, +/obj/item/gun/energy/taser, /turf/simulated/floor/tiled/milspec, /area/redgate/facility/ne) "dFD" = ( @@ -2527,9 +2527,9 @@ /area/redgate/facility/ne) "dHH" = ( /obj/structure/closet, -/obj/item/weapon/storage/belt/utility, -/obj/item/weapon/tool/crowbar, -/obj/item/device/multitool{ +/obj/item/storage/belt/utility, +/obj/item/tool/crowbar, +/obj/item/multitool{ pixel_x = 3 }, /obj/item/clothing/head/welding/engie, @@ -2677,15 +2677,15 @@ "dQf" = ( /obj/structure/table/standard, /obj/effect/floor_decal/corner/grey/diagonal, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = 8; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = 8; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = 8; pixel_y = 8 }, @@ -2744,7 +2744,7 @@ /area/redgate/facility/ne) "dTW" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/syringe/steroid, +/obj/item/reagent_containers/syringe/steroid, /obj/structure/closet/walllocker_double/science/north, /obj/random/maintenance/research, /obj/random/maintenance/research, @@ -2907,11 +2907,11 @@ "ehD" = ( /obj/structure/railing, /obj/structure/table/steel_reinforced, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen{ +/obj/item/paper_bin, +/obj/item/pen{ pixel_y = 4 }, -/obj/item/weapon/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, /turf/simulated/floor/tiled/steel, /area/redgate/facility/ne) "ehY" = ( @@ -2989,7 +2989,7 @@ /area/redgate/facility/nw) "eoP" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/reddouble, +/obj/item/bedsheet/reddouble, /turf/simulated/floor/wood/alt/panel, /area/redgate/facility/nw) "epk" = ( @@ -3000,7 +3000,7 @@ /area/redgate/facility/ne) "epA" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/purpledouble, +/obj/item/bedsheet/purpledouble, /turf/simulated/floor/wood/alt/panel, /area/redgate/facility/nw) "equ" = ( @@ -3010,7 +3010,7 @@ /turf/simulated/wall/tgmc/window/white/reinf, /area/redgate/facility/lab3) "erk" = ( -/obj/item/weapon/bedsheet/pillow/black, +/obj/item/bedsheet/pillow/black, /turf/simulated/floor/tiled/techfloor, /area/redgate/facility/cell9) "erx" = ( @@ -3023,7 +3023,7 @@ /area/redgate/facility/nw) "esm" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /turf/simulated/floor/wood/alt/panel, /area/redgate/facility/nw) "esq" = ( @@ -3081,7 +3081,7 @@ /area/redgate/facility/office10) "euN" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/toy/desk/newtoncradle, +/obj/item/toy/desk/newtoncradle, /turf/simulated/floor/tiled/eris/steel/gray_platform, /area/redgate/facility/ne) "evB" = ( @@ -3139,7 +3139,7 @@ /area/redgate/facility/ne) "exj" = ( /obj/structure/table/borosilicate, -/obj/item/device/radio, +/obj/item/radio, /turf/simulated/floor/tiled/steel_ridged, /area/redgate/facility/cell8) "exB" = ( @@ -3233,7 +3233,7 @@ /area/redgate/facility/nw) "eEs" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; @@ -3243,19 +3243,15 @@ /area/redgate/facility/ne) "eFb" = ( /obj/structure/flora/ausbushes/leafybush, -/obj/item/weapon/bone, +/obj/item/bone, /turf/simulated/floor/grass, /area/redgate/facility/cell27) -"eFo" = ( -/obj/machinery/computer/centrifuge, -/turf/simulated/floor/tiled/white, -/area/redgate/facility/cell20) "eGK" = ( /turf/simulated/wall/tgmc/whitewall, /area/redgate/facility/cell27) "eHZ" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/gloves{ pixel_x = 4; pixel_y = 4 }, @@ -3266,7 +3262,7 @@ /area/redgate/facility/security) "eJr" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/mmi/digital/robot, +/obj/item/mmi/digital/robot, /turf/simulated/floor/tiled/steel_grid, /area/redgate/facility/ne) "eJY" = ( @@ -3333,7 +3329,7 @@ /area/redgate/facility/se) "eNP" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/orangedouble, +/obj/item/bedsheet/orangedouble, /turf/simulated/floor, /area/redgate/facility/office3) "eOs" = ( @@ -3347,7 +3343,7 @@ "eOC" = ( /obj/structure/table/steel_reinforced, /obj/machinery/light, -/obj/item/weapon/toy/desk/fan, +/obj/item/toy/desk/fan, /turf/simulated/floor/tiled/eris/steel/gray_platform, /area/redgate/facility/ne) "eOF" = ( @@ -3392,7 +3388,7 @@ /area/redgate/facility/sw) "eSO" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/hosdouble, +/obj/item/bedsheet/hosdouble, /turf/simulated/floor/tiled/steel, /area/redgate/facility/nw) "eTa" = ( @@ -3412,8 +3408,8 @@ /area/redgate/facility/ne) "eUm" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/firstaid/surgery, -/obj/item/device/robotanalyzer, +/obj/item/storage/firstaid/surgery, +/obj/item/robotanalyzer, /obj/machinery/light{ dir = 8 }, @@ -3442,7 +3438,7 @@ /turf/simulated/floor, /area/redgate/facility/nw) "eWk" = ( -/obj/item/weapon/weldingtool/mini, +/obj/item/weldingtool/mini, /turf/simulated/floor, /area/redgate/facility/ne) "eWF" = ( @@ -3489,19 +3485,19 @@ /area/redgate/facility/nw) "fbr" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/glass/bottle/biomass{ +/obj/item/reagent_containers/glass/bottle/biomass{ pixel_x = -4; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/glass/bottle/biomass{ +/obj/item/reagent_containers/glass/bottle/biomass{ pixel_x = 6; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/glass/bottle/biomass{ +/obj/item/reagent_containers/glass/bottle/biomass{ pixel_x = -7; pixel_y = 4 }, -/obj/item/weapon/reagent_containers/glass/bottle/biomass{ +/obj/item/reagent_containers/glass/bottle/biomass{ pixel_x = 4; pixel_y = 6 }, @@ -3525,17 +3521,17 @@ /area/redgate/facility/nw) "fcq" = ( /obj/structure/closet/walllocker_double/generic_civ/west, -/obj/item/weapon/reagent_containers/food/condiment/enzyme{ +/obj/item/reagent_containers/food/condiment/enzyme{ layer = 5 }, -/obj/item/weapon/reagent_containers/food/condiment/enzyme{ +/obj/item/reagent_containers/food/condiment/enzyme{ layer = 5 }, -/obj/item/weapon/storage/box/beakers{ +/obj/item/storage/box/beakers{ name = "box of measuring cups"; pixel_x = 2; pixel_y = 3; - starts_with = list(/obj/item/weapon/reagent_containers/glass/beaker/measuring_cup = 7) + starts_with = list(/obj/item/reagent_containers/glass/beaker/measuring_cup = 7) }, /obj/effect/floor_decal/corner/grey/diagonal, /turf/simulated/floor/tiled/white, @@ -3543,16 +3539,16 @@ "fcr" = ( /obj/structure/table/hardwoodtable, /obj/structure/closet/walllocker_double/medical/south, -/obj/item/weapon/reagent_containers/food/snacks/burger/bacon, -/obj/item/weapon/reagent_containers/food/snacks/burger/bacon, -/obj/item/weapon/reagent_containers/food/snacks/burger/bacon, -/obj/item/weapon/reagent_containers/food/snacks/burger/bacon, -/obj/item/weapon/reagent_containers/food/snacks/burger/bacon, -/obj/item/weapon/reagent_containers/food/snacks/burger/bacon, -/obj/item/weapon/reagent_containers/food/snacks/burger/bacon, -/obj/item/weapon/reagent_containers/food/snacks/burger/bacon, -/obj/item/weapon/reagent_containers/food/snacks/burger/bacon, -/obj/item/weapon/reagent_containers/food/snacks/burger/bacon, +/obj/item/reagent_containers/food/snacks/burger/bacon, +/obj/item/reagent_containers/food/snacks/burger/bacon, +/obj/item/reagent_containers/food/snacks/burger/bacon, +/obj/item/reagent_containers/food/snacks/burger/bacon, +/obj/item/reagent_containers/food/snacks/burger/bacon, +/obj/item/reagent_containers/food/snacks/burger/bacon, +/obj/item/reagent_containers/food/snacks/burger/bacon, +/obj/item/reagent_containers/food/snacks/burger/bacon, +/obj/item/reagent_containers/food/snacks/burger/bacon, +/obj/item/reagent_containers/food/snacks/burger/bacon, /turf/simulated/floor/wood/alt, /area/redgate/facility/sw) "fcs" = ( @@ -3589,9 +3585,9 @@ /turf/simulated/floor/tiled/white, /area/redgate/facility/ne) "ffI" = ( -/obj/item/weapon/storage/box/bodybags, -/obj/item/weapon/storage/box/bodybags, -/obj/item/weapon/storage/box/bodybags, +/obj/item/storage/box/bodybags, +/obj/item/storage/box/bodybags, +/obj/item/storage/box/bodybags, /obj/structure/closet/walllocker_double/medical/north, /turf/simulated/floor/tiled/techfloor, /area/redgate/facility/ne) @@ -3600,18 +3596,18 @@ /area/redgate/facility/cell16) "fgB" = ( /obj/structure/table/steel, -/obj/item/weapon/card/id/keycard, +/obj/item/card/id/keycard, /turf/simulated/floor/tiled/techfloor, /area/redgate/facility/ne) "fgH" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/defib_kit/jumper_kit, +/obj/item/defib_kit/jumper_kit, /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/facility/ne) "fgM" = ( /obj/structure/table/hardwoodtable, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen{ +/obj/item/paper_bin, +/obj/item/pen{ pixel_y = 4 }, /turf/simulated/floor/wood/alt, @@ -3657,7 +3653,7 @@ "fjS" = ( /obj/structure/table/standard, /obj/effect/floor_decal/corner/grey/diagonal, -/obj/item/weapon/material/knife/butch, +/obj/item/material/knife/butch, /obj/machinery/light, /turf/simulated/floor/tiled/white, /area/redgate/facility/ne) @@ -3895,7 +3891,7 @@ /area/redgate/facility/cell10) "fAe" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/monkeycubes, +/obj/item/storage/box/monkeycubes, /obj/machinery/recharger/wallcharger{ pixel_x = 4; pixel_y = 28 @@ -3976,7 +3972,7 @@ "fFU" = ( /obj/structure/table/glass, /obj/effect/floor_decal/borderfloorwhite, -/obj/item/weapon/storage/box/gloves, +/obj/item/storage/box/gloves, /turf/simulated/floor/tiled/white, /area/redgate/facility/lab4) "fFX" = ( @@ -3995,7 +3991,7 @@ /area/redgate/facility/sw) "fGx" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin, +/obj/item/paper_bin, /turf/simulated/floor/tiled/white, /area/redgate/facility/cell4) "fHh" = ( @@ -4004,9 +4000,9 @@ /area/redgate/facility/ne) "fHH" = ( /obj/structure/table/steel, -/obj/item/weapon/autopsy_scanner, -/obj/item/weapon/surgical/scalpel, -/obj/item/weapon/surgical/cautery, +/obj/item/autopsy_scanner, +/obj/item/surgical/scalpel, +/obj/item/surgical/cautery, /obj/machinery/light/small{ dir = 4 }, @@ -4052,10 +4048,10 @@ /area/redgate/facility/cell24) "fKj" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = 4 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled/white, /area/redgate/facility/cell26) "fKl" = ( @@ -4080,10 +4076,10 @@ /area/redgate/facility/cell24) "fLK" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = 4 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /turf/simulated/floor/tiled/white, @@ -4139,12 +4135,12 @@ /area/redgate/facility/office10) "fQa" = ( /obj/structure/table/glass, -/obj/item/device/defib_kit/loaded, +/obj/item/defib_kit/loaded, /turf/simulated/floor/tiled/white, /area/redgate/facility/ne) "fQY" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery, /turf/simulated/floor/tiled/white, /area/redgate/facility/ne) "fRB" = ( @@ -4225,7 +4221,7 @@ dir = 1 }, /obj/structure/closet/walllocker_double/medical/west, -/obj/item/device/megaphone, +/obj/item/megaphone, /turf/simulated/floor/wood, /area/redgate/facility/cell2) "fVZ" = ( @@ -4253,15 +4249,15 @@ "fWP" = ( /obj/structure/table/glass, /obj/effect/floor_decal/corner/blue/border, -/obj/item/device/defib_kit/loaded, +/obj/item/defib_kit/loaded, /turf/simulated/floor/tiled/white, /area/redgate/facility/medbay) "fXP" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -3 }, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 3 }, /obj/effect/floor_decal/corner/grey/diagonal, @@ -4294,7 +4290,7 @@ /area/redgate/facility/entrance) "gbm" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/box/bodybags{ +/obj/item/storage/box/bodybags{ pixel_x = -1; pixel_y = -2 }, @@ -4302,7 +4298,7 @@ /area/redgate/facility/ne) "gbT" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/tiled/milspec, /area/redgate/facility/security) "gcd" = ( @@ -4381,7 +4377,7 @@ /area/redgate/facility/cell23) "ghT" = ( /obj/structure/table/steel, -/obj/item/device/integrated_circuit_printer, +/obj/item/integrated_circuit_printer, /turf/simulated/floor/tiled/eris/techmaint_perforated, /area/redgate/facility/sw) "giI" = ( @@ -4396,7 +4392,7 @@ dir = 8 }, /obj/structure/table/rack/steel, -/obj/item/weapon/towel/random, +/obj/item/towel/random, /obj/random/soap, /turf/simulated/floor/tiled/milspec, /area/redgate/facility/office4) @@ -4471,7 +4467,7 @@ /turf/simulated/floor/tiled/white, /area/redgate/facility/cell2) "gmR" = ( -/obj/machinery/computer/centrifuge, +/obj/structure/prop/machine/disease_analyser, /turf/simulated/floor/tiled/white, /area/redgate/facility/sw) "gmU" = ( @@ -4481,10 +4477,10 @@ /area/redgate/facility/cell4) "gnc" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_y = 3 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = -3 }, /turf/simulated/floor/tiled, @@ -4670,13 +4666,13 @@ /area/redgate/facility/cell24) "gzV" = ( /obj/structure/closet/walllocker_double/science/east, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, /turf/simulated/floor/tiled/white, /area/redgate/facility/cell24) "gAk" = ( @@ -4747,8 +4743,8 @@ /area/redgate/facility/ne) "gDT" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /obj/machinery/button/windowtint{ id = "cell_10"; pixel_x = 22 @@ -4880,7 +4876,7 @@ /area/redgate/facility/cell2) "gNW" = ( /obj/structure/grille, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/tiled/techfloor, /area/redgate/facility/cell21) "gOc" = ( @@ -4913,13 +4909,6 @@ /obj/random/forgotten_tram, /turf/simulated/floor/tiled/white, /area/redgate/facility/nw) -"gQm" = ( -/obj/machinery/disease2/isolator, -/obj/machinery/light{ - dir = 1 - }, -/turf/simulated/floor/tiled/white, -/area/redgate/facility/sw) "gQy" = ( /obj/effect/floor_decal/corner/black/border{ dir = 4 @@ -4945,7 +4934,7 @@ /area/redgate/facility/office2) "gRw" = ( /obj/structure/table/glass, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /turf/simulated/floor/tiled/white, /area/redgate/facility/lab2) "gSw" = ( @@ -4979,7 +4968,7 @@ /turf/simulated/floor/tiled, /area/redgate/facility/cell29) "gTQ" = ( -/obj/item/weapon/potion_material/glowing_gem, +/obj/item/potion_material/glowing_gem, /turf/simulated/floor/tiled/steel, /area/redgate/facility/ne) "gTY" = ( @@ -4997,7 +4986,7 @@ /obj/structure/closet, /obj/random/contraband/nofail, /obj/random/forgotten_tram, -/obj/item/weapon/card/id/keycard/green, +/obj/item/card/id/keycard/green, /turf/simulated/floor/wood/alt, /area/redgate/facility/ne) "gVH" = ( @@ -5210,7 +5199,7 @@ /area/redgate/facility/ne) "hlm" = ( /obj/structure/table/standard, -/obj/item/device/mass_spectrometer/adv, +/obj/item/mass_spectrometer/adv, /turf/simulated/floor/tiled/white, /area/redgate/facility/cell20) "hly" = ( @@ -5321,8 +5310,8 @@ /area/redgate/facility/nw) "hrF" = ( /obj/structure/table/standard, -/obj/item/weapon/material/kitchen/rollingpin, -/obj/item/weapon/material/knife/butch, +/obj/item/material/kitchen/rollingpin, +/obj/item/material/knife/butch, /obj/effect/floor_decal/corner/grey/diagonal, /turf/simulated/floor/tiled/white, /area/redgate/facility/nw) @@ -5354,14 +5343,14 @@ /obj/effect/floor_decal/spline/plain{ dir = 8 }, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/blue, +/obj/item/paper_bin, +/obj/item/pen/blue, /turf/simulated/floor/carpet/tealcarpet, /area/redgate/facility/nw) "hsx" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen{ +/obj/item/paper_bin, +/obj/item/pen{ pixel_y = 4 }, /turf/simulated/floor/tiled/white, @@ -5378,8 +5367,8 @@ /area/redgate/facility/cell23) "htQ" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/dropper, -/obj/item/weapon/reagent_containers/glass/beaker{ +/obj/item/reagent_containers/dropper, +/obj/item/reagent_containers/glass/beaker{ pixel_x = 5 }, /obj/effect/floor_decal/corner/grey/diagonal, @@ -5623,11 +5612,11 @@ /area/redgate/facility/cell27) "hLa" = ( /obj/structure/table/reinforced, -/obj/item/weapon/stamp/denied{ +/obj/item/stamp/denied{ pixel_x = 4; pixel_y = -2 }, -/obj/item/weapon/stamp/accepted, +/obj/item/stamp/accepted, /turf/simulated/floor/tiled, /area/redgate/facility/nw) "hLq" = ( @@ -5642,8 +5631,8 @@ /area/redgate/facility/cell9) "hLT" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /turf/simulated/floor/tiled/white, /area/redgate/facility/cell10) "hMK" = ( @@ -5661,13 +5650,13 @@ /obj/effect/floor_decal/spline/plain{ dir = 1 }, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/blue, +/obj/item/paper_bin, +/obj/item/pen/blue, /turf/simulated/floor/carpet/green, /area/redgate/facility/nw) "hNb" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_y = 8 }, /turf/simulated/floor/wood/alt, @@ -5678,7 +5667,7 @@ /area/redgate/facility/cell22) "hNU" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = 9; pixel_y = 17 }, @@ -5824,7 +5813,7 @@ /turf/simulated/floor/tiled/white, /area/redgate/facility/ne) "hXX" = ( -/obj/item/weapon/paper/crumpled, +/obj/item/paper/crumpled, /obj/effect/floor_decal/corner/black/border{ dir = 4 }, @@ -5838,10 +5827,10 @@ /area/redgate/facility/sw) "hYC" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/glass/bottle/dermaline, -/obj/item/weapon/reagent_containers/glass/bottle/dermaline, -/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline, -/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline, +/obj/item/reagent_containers/glass/bottle/dermaline, +/obj/item/reagent_containers/glass/bottle/dermaline, +/obj/item/reagent_containers/glass/bottle/inaprovaline, +/obj/item/reagent_containers/glass/bottle/inaprovaline, /turf/simulated/floor/wood/alt, /area/redgate/facility/office7) "hYS" = ( @@ -5960,7 +5949,7 @@ /area/redgate/facility/cell7) "igR" = ( /obj/structure/grille/broken, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/tiled/techfloor, /area/redgate/facility/cell21) "igU" = ( @@ -6223,7 +6212,7 @@ /turf/simulated/wall/tgmc/whitewall, /area/redgate/facility/lab5) "iuM" = ( -/obj/item/weapon/paper/crumpled, +/obj/item/paper/crumpled, /obj/effect/floor_decal/corner/black/border{ dir = 8 }, @@ -6234,7 +6223,7 @@ /turf/simulated/floor/tiled, /area/redgate/facility/cell29) "ivl" = ( -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = 4 }, /obj/structure/bed/chair/office/light{ @@ -6436,21 +6425,21 @@ /obj/random/snack, /obj/random/snack, /obj/random/snack, -/obj/item/weapon/reagent_containers/food/snacks/superbiteburger, -/obj/item/weapon/reagent_containers/food/snacks/superbiteburger, -/obj/item/weapon/reagent_containers/food/snacks/superbiteburger, -/obj/item/weapon/reagent_containers/food/snacks/sliceable/chocolatecake, -/obj/item/weapon/reagent_containers/food/snacks/sliceable/chocolatecake, -/obj/item/weapon/reagent_containers/food/snacks/sliceable/orangecake, -/obj/item/weapon/reagent_containers/food/snacks/sliceable/limecake, -/obj/item/weapon/reagent_containers/food/snacks/sliceable/cheesecake, -/obj/item/weapon/reagent_containers/food/snacks/pancakes, -/obj/item/weapon/reagent_containers/food/snacks/onionrings, +/obj/item/reagent_containers/food/snacks/superbiteburger, +/obj/item/reagent_containers/food/snacks/superbiteburger, +/obj/item/reagent_containers/food/snacks/superbiteburger, +/obj/item/reagent_containers/food/snacks/sliceable/chocolatecake, +/obj/item/reagent_containers/food/snacks/sliceable/chocolatecake, +/obj/item/reagent_containers/food/snacks/sliceable/orangecake, +/obj/item/reagent_containers/food/snacks/sliceable/limecake, +/obj/item/reagent_containers/food/snacks/sliceable/cheesecake, +/obj/item/reagent_containers/food/snacks/pancakes, +/obj/item/reagent_containers/food/snacks/onionrings, /turf/simulated/floor/wood/alt, /area/redgate/facility/cell1) "iKG" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/nachos, +/obj/item/reagent_containers/food/snacks/nachos, /turf/simulated/floor/wood/alt, /area/redgate/facility/cell1) "iLu" = ( @@ -6500,7 +6489,7 @@ "iQO" = ( /obj/structure/closet, /obj/random/tool/alien, -/obj/item/device/megaphone, +/obj/item/megaphone, /turf/simulated/floor/tiled/white, /area/redgate/facility/ne) "iRl" = ( @@ -6546,7 +6535,7 @@ /area/redgate/facility/se) "iTw" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/teapot, +/obj/item/reagent_containers/food/drinks/teapot, /turf/simulated/floor/wood/alt, /area/redgate/facility/office1) "iUd" = ( @@ -6584,7 +6573,7 @@ /turf/simulated/floor/tiled/white, /area/redgate/facility/sw) "iVL" = ( -/obj/item/weapon/paper, +/obj/item/paper, /obj/effect/floor_decal/corner/black/border{ dir = 4 }, @@ -6595,8 +6584,8 @@ /turf/simulated/floor/tiled/white, /area/redgate/facility/ne) "iWh" = ( -/obj/item/weapon/paper/crumpled/bloody{ - info = "Report: The Canidfelanis specimens have take a sudden disliking to the lights in their study cell. It's becoming difficult to obser +/obj/item/paper/crumpled/bloody{ + info = "Report: The Canidfelanis specimens have take a sudden disliking to the lights in their study cell. It's becoming difficult to obser" }, /obj/structure/extinguisher_cabinet{ dir = 4; @@ -6632,7 +6621,7 @@ /area/redgate/facility/ne) "iZa" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/gun/energy/sickshot, +/obj/item/gun/energy/sickshot, /turf/simulated/floor/tiled/milspec, /area/redgate/facility/security) "iZh" = ( @@ -6674,7 +6663,7 @@ /area/redgate/facility/entrance) "jcf" = ( /obj/structure/table/standard, -/obj/item/weapon/entrepreneur/emf, +/obj/item/entrepreneur/emf, /turf/simulated/floor/tiled/white, /area/redgate/facility/cell27) "jcm" = ( @@ -6689,7 +6678,7 @@ /area/redgate/facility/entrance) "jcX" = ( /obj/structure/table/glass, -/obj/item/device/healthanalyzer, +/obj/item/healthanalyzer, /turf/simulated/floor/tiled/white, /area/redgate/facility/ne) "jfC" = ( @@ -6701,7 +6690,7 @@ /area/redgate/facility/office9) "jhi" = ( /obj/structure/table/woodentable, -/obj/item/weapon/potion_base/aqua_regia, +/obj/item/potion_base/aqua_regia, /turf/simulated/floor/wood/alt, /area/redgate/facility/ne) "jhV" = ( @@ -6741,14 +6730,14 @@ /area/redgate/facility/se) "jkX" = ( /obj/structure/table/hardwoodtable, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = 4 }, -/obj/item/weapon/pen/fountain3, +/obj/item/pen/fountain3, /turf/simulated/floor/wood/alt, /area/redgate/facility/office8) "jla" = ( -/obj/item/weapon/card/id/keycard/blue, +/obj/item/card/id/keycard/blue, /turf/simulated/floor, /area/redgate/facility/nw) "jlr" = ( @@ -6780,7 +6769,7 @@ /turf/simulated/floor/tiled/white, /area/redgate/facility/ne) "jmK" = ( -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /turf/simulated/floor/tiled/white, @@ -6853,7 +6842,7 @@ /turf/simulated/floor/grass, /area/redgate/facility/cell3) "jtc" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /obj/effect/floor_decal/industrial/warning{ dir = 6 }, @@ -6865,7 +6854,7 @@ /area/redgate/facility/cell3) "jwg" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone, +/obj/item/reagent_containers/glass/beaker/cryoxadone, /turf/simulated/floor/tiled/white, /area/redgate/facility/lab1) "jws" = ( @@ -6921,7 +6910,7 @@ /area/redgate/facility/entrance) "jAJ" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/device/slow_sizegun, +/obj/item/slow_sizegun, /obj/machinery/light, /turf/simulated/floor/wood/alt, /area/redgate/facility/cell1) @@ -6964,7 +6953,7 @@ /turf/simulated/floor/wood/alt, /area/redgate/facility/office8) "jDE" = ( -/obj/item/weapon/storage/vore_egg/slimeglob{ +/obj/item/storage/vore_egg/slimeglob{ name = "sect egg clutch" }, /turf/simulated/floor/tiled/dark, @@ -7106,7 +7095,7 @@ "jOx" = ( /obj/machinery/optable, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/device/mmi/digital/posibrain, +/obj/item/mmi/digital/posibrain, /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/facility/ne) "jOG" = ( @@ -7199,7 +7188,7 @@ /turf/simulated/floor, /area/redgate/facility/nw) "jTs" = ( -/obj/item/weapon/potion_material/folded_dark, +/obj/item/potion_material/folded_dark, /turf/unsimulated/floor/dark, /area/redgate/facility/cell9) "jUm" = ( @@ -7211,7 +7200,7 @@ /area/redgate/facility/sw) "jUM" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/mmi, +/obj/item/mmi, /turf/simulated/floor/tiled/steel_grid, /area/redgate/facility/ne) "jUS" = ( @@ -7265,10 +7254,10 @@ /area/redgate/facility/nw) "jYL" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = 4 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /turf/simulated/floor/tiled/white, @@ -7292,7 +7281,7 @@ icon_scale_x = 2; icon_scale_y = 2 }, -/obj/item/weapon/bedsheet/rddouble{ +/obj/item/bedsheet/rddouble{ icon_scale_x = 2; icon_scale_y = 2 }, @@ -7377,11 +7366,11 @@ /area/redgate/facility/tram) "khn" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/gun/energy/sizegun, +/obj/item/gun/energy/sizegun, /turf/simulated/floor/tiled/techfloor, /area/redgate/facility/office2) "khA" = ( -/obj/item/weapon/bedsheet/pillow/black, +/obj/item/bedsheet/pillow/black, /turf/unsimulated/floor/dark, /area/redgate/facility/cell9) "kjk" = ( @@ -7496,8 +7485,8 @@ /area/redgate/facility/office2) "ktI" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/assembly/signaler, -/obj/item/device/assembly/signaler, +/obj/item/assembly/signaler, +/obj/item/assembly/signaler, /turf/simulated/floor/tiled/techfloor, /area/redgate/facility/office2) "ktY" = ( @@ -7570,7 +7559,7 @@ /area/redgate/facility/securitylobby) "kzP" = ( /obj/structure/table/standard, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /turf/simulated/floor/tiled/steel, /area/redgate/facility/cell11) "kzS" = ( @@ -7608,7 +7597,7 @@ /area/redgate/facility/cell6) "kCk" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_y = 8 }, /turf/simulated/floor, @@ -7654,7 +7643,7 @@ /area/redgate/facility/office2) "kGK" = ( /obj/structure/table/borosilicate, -/obj/item/device/pda, +/obj/item/pda, /turf/simulated/floor/tiled/steel_ridged, /area/redgate/facility/cell8) "kHg" = ( @@ -7687,7 +7676,7 @@ /area/redgate/facility/ne) "kKm" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/hopdouble, +/obj/item/bedsheet/hopdouble, /turf/simulated/floor/carpet/blue, /area/redgate/facility/office2) "kKp" = ( @@ -7764,8 +7753,8 @@ /area/redgate/facility/entrance) "kPd" = ( /obj/structure/table/hardwoodtable, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/blue, +/obj/item/paper_bin, +/obj/item/pen/blue, /turf/simulated/floor/carpet/oracarpet, /area/redgate/facility/ne) "kPt" = ( @@ -7796,14 +7785,14 @@ "kQT" = ( /obj/structure/table/woodentable, /obj/item/trash/plate, -/obj/item/weapon/reagent_containers/food/snacks/variable/cookie, -/obj/item/weapon/reagent_containers/food/snacks/variable/cookie, -/obj/item/weapon/reagent_containers/food/snacks/variable/cookie, -/obj/item/weapon/reagent_containers/food/snacks/variable/cookie, -/obj/item/weapon/reagent_containers/food/snacks/variable/cookie, -/obj/item/weapon/reagent_containers/food/snacks/variable/cookie, -/obj/item/weapon/reagent_containers/food/snacks/variable/cookie, -/obj/item/weapon/reagent_containers/food/snacks/variable/cookie, +/obj/item/reagent_containers/food/snacks/variable/cookie, +/obj/item/reagent_containers/food/snacks/variable/cookie, +/obj/item/reagent_containers/food/snacks/variable/cookie, +/obj/item/reagent_containers/food/snacks/variable/cookie, +/obj/item/reagent_containers/food/snacks/variable/cookie, +/obj/item/reagent_containers/food/snacks/variable/cookie, +/obj/item/reagent_containers/food/snacks/variable/cookie, +/obj/item/reagent_containers/food/snacks/variable/cookie, /turf/simulated/floor/wood/alt, /area/redgate/facility/office2) "kRs" = ( @@ -7839,13 +7828,13 @@ /area/redgate/facility/office3) "kWx" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/fountain3, +/obj/item/paper_bin, +/obj/item/pen/fountain3, /turf/simulated/floor/tiled/milspec, /area/redgate/facility/security) "kXk" = ( -/obj/item/weapon/mop, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/mop, +/obj/item/reagent_containers/glass/bucket, /turf/simulated/floor/tiled, /area/redgate/facility/office3) "kXM" = ( @@ -7876,10 +7865,10 @@ /area/redgate/facility/office10) "kZb" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = 4 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /turf/simulated/floor/tiled/white, @@ -7975,10 +7964,10 @@ /area/redgate/facility/cell23) "lhQ" = ( /obj/structure/table/standard, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, /obj/effect/floor_decal/corner/grey{ dir = 5 }, @@ -8089,7 +8078,7 @@ /area/redgate/facility/securitylobby) "lpm" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/food/snacks/packaged/scotchegg, +/obj/item/reagent_containers/food/snacks/packaged/scotchegg, /obj/machinery/atmospherics/pipe/vent{ dir = 4 }, @@ -8097,8 +8086,8 @@ /area/redgate/facility/sw) "lqI" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen{ +/obj/item/paper_bin, +/obj/item/pen{ pixel_y = 4 }, /obj/machinery/button/windowtint{ @@ -8130,8 +8119,8 @@ /area/redgate/facility/ne) "lrx" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/material/knife/butch, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/material/knife/butch, /obj/effect/floor_decal/industrial/warning, /obj/machinery/light{ dir = 8 @@ -8289,8 +8278,8 @@ /area/redgate/facility/cell13) "lEz" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen{ +/obj/item/paper_bin, +/obj/item/pen{ pixel_y = 4 }, /turf/simulated/floor/tiled/white, @@ -8304,7 +8293,7 @@ /turf/simulated/floor/wood/alt, /area/redgate/facility/office2) "lGB" = ( -/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, /turf/simulated/floor/grass, /area/redgate/facility/cell13) "lHt" = ( @@ -8467,8 +8456,8 @@ "lSA" = ( /obj/structure/closet, /obj/random/forgotten_tram, -/obj/item/weapon/folder, -/obj/item/weapon/folder, +/obj/item/folder, +/obj/item/folder, /obj/random/material/precious, /turf/simulated/floor/wood/alt, /area/redgate/facility/office9) @@ -8709,9 +8698,9 @@ /area/redgate/facility/lab5) "mkd" = ( /obj/structure/closet, -/obj/item/weapon/gun/energy/sizegun, -/obj/item/weapon/storage/fancy/vials, -/obj/item/weapon/storage/box/syringes, +/obj/item/gun/energy/sizegun, +/obj/item/storage/fancy/vials, +/obj/item/storage/box/syringes, /turf/simulated/floor/wood/alt, /area/redgate/facility/office11) "mkB" = ( @@ -8773,7 +8762,7 @@ /area/redgate/facility/lab1) "mnQ" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/box/donut, +/obj/item/storage/box/donut, /turf/simulated/floor/tiled/white, /area/redgate/facility/tram) "moY" = ( @@ -8808,13 +8797,13 @@ /obj/structure/window/plastitanium{ dir = 8 }, -/obj/item/weapon/storage/box/donut, +/obj/item/storage/box/donut, /turf/simulated/floor/tiled/milspec, /area/redgate/facility/securitylobby) "mqH" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/fountain5, +/obj/item/paper_bin, +/obj/item/pen/fountain5, /turf/simulated/floor/tiled/eris/steel/gray_platform, /area/redgate/facility/ne) "mqU" = ( @@ -8851,7 +8840,7 @@ /area/redgate/facility/office7) "mtg" = ( /obj/structure/table/steel, -/obj/item/weapon/circuitboard/telecomms/pda_multicaster, +/obj/item/circuitboard/telecomms/pda_multicaster, /turf/simulated/floor/tiled/steel, /area/redgate/facility/lab3) "mtn" = ( @@ -8890,7 +8879,7 @@ /area/redgate/facility/cell22) "mwC" = ( /obj/structure/closet/walllocker_double/security/west, -/obj/item/weapon/melee/baton/cattleprod, +/obj/item/melee/baton/cattleprod, /obj/random/maintenance/security, /obj/random/maintenance/security, /turf/simulated/floor/tiled/white, @@ -8928,10 +8917,10 @@ /area/redgate/facility/lab2) "myT" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = 4 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /turf/simulated/floor/tiled/white, @@ -8939,8 +8928,8 @@ "mza" = ( /obj/structure/table/glass, /obj/effect/floor_decal/corner/blue/border, -/obj/item/device/healthanalyzer, -/obj/item/device/healthanalyzer, +/obj/item/healthanalyzer, +/obj/item/healthanalyzer, /turf/simulated/floor/tiled/white, /area/redgate/facility/medbay) "mzf" = ( @@ -9071,21 +9060,21 @@ /area/redgate/facility/cell13) "mHR" = ( /obj/structure/table/hardwoodtable, -/obj/item/weapon/storage/fancy/vials, +/obj/item/storage/fancy/vials, /turf/simulated/floor/wood/alt, /area/redgate/facility/office11) "mHW" = ( /obj/structure/table/glass, -/obj/item/weapon/material/minihoe, +/obj/item/material/minihoe, /turf/simulated/floor/tiled/white, /area/redgate/facility/office11) "mJl" = ( /obj/structure/table/steel, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 4; pixel_y = 7 }, -/obj/item/weapon/pen/blue{ +/obj/item/pen/blue{ pixel_x = 5; pixel_y = 5 }, @@ -9124,22 +9113,22 @@ "mLn" = ( /obj/structure/closet, /obj/item/clothing/under/rank/security/corp, -/obj/item/weapon/handcuffs, +/obj/item/handcuffs, /obj/item/clothing/shoes/boots/duty, /obj/item/clothing/gloves/black, /obj/item/clothing/head/helmet/solgov/security, -/obj/item/device/ticket_printer, +/obj/item/ticket_printer, /turf/simulated/floor/tiled/milspec, /area/redgate/facility/office4) "mMd" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /turf/simulated/floor/tiled/white, /area/redgate/facility/sw) "mMr" = ( /obj/structure/closet/radiation, -/obj/item/weapon/storage/mre/random, +/obj/item/storage/mre/random, /turf/simulated/floor/tiled/steel, /area/redgate/facility/ne) "mMN" = ( @@ -9166,7 +9155,7 @@ /area/redgate/facility/office9) "mQQ" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /turf/simulated/floor/tiled/milspec, /area/redgate/facility/office4) "mRw" = ( @@ -9200,7 +9189,7 @@ /turf/simulated/floor/tiled/white, /area/redgate/facility/nw) "mST" = ( -/obj/item/weapon/inflatable_duck, +/obj/item/inflatable_duck, /turf/simulated/floor/water/pool, /area/redgate/facility/cell13) "mTa" = ( @@ -9350,10 +9339,10 @@ /area/redgate/facility/security) "nfT" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = 4 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /turf/simulated/floor/tiled/white, @@ -9374,10 +9363,10 @@ /area/redgate/facility/cell13) "nix" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = 4 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /turf/simulated/floor/tiled/white, @@ -9451,11 +9440,11 @@ /area/redgate/facility/office1) "nql" = ( /obj/structure/closet/walllocker_double/generic_civ/east, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_x = 2; pixel_y = 3 }, -/obj/item/weapon/storage/belt/utility, +/obj/item/storage/belt/utility, /obj/random/tool/power, /turf/simulated/floor/wood/alt, /area/redgate/facility/office1) @@ -9488,7 +9477,7 @@ /area/redgate/facility/security) "nsG" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/gun/energy/netgun, +/obj/item/gun/energy/netgun, /turf/simulated/floor/tiled/milspec, /area/redgate/facility/security) "nsV" = ( @@ -9519,7 +9508,7 @@ /area/redgate/facility/cell25) "nue" = ( /obj/structure/closet/crate/freezer, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /turf/simulated/floor/tiled/white, /area/redgate/facility/ne) "nun" = ( @@ -9613,11 +9602,11 @@ /area/redgate/facility/office1) "nAY" = ( /obj/structure/table/woodentable, -/obj/item/weapon/stock_parts/scanning_module{ +/obj/item/stock_parts/scanning_module{ pixel_x = 2; pixel_y = 3 }, -/obj/item/device/assembly/prox_sensor{ +/obj/item/assembly/prox_sensor{ pixel_x = -8; pixel_y = 4 }, @@ -9736,18 +9725,18 @@ /area/redgate/facility/sw) "nIW" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, /obj/effect/floor_decal/corner/grey/diagonal, -/obj/item/weapon/material/knife/butch, +/obj/item/material/knife/butch, /obj/machinery/light, /turf/simulated/floor/tiled/white, /area/redgate/facility/ne) "nJc" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/glass/bottle/antitoxin, -/obj/item/weapon/reagent_containers/glass/bottle/antitoxin, -/obj/item/weapon/reagent_containers/glass/bottle/spaceacillin, -/obj/item/weapon/reagent_containers/glass/bottle/spaceacillin, +/obj/item/reagent_containers/glass/bottle/antitoxin, +/obj/item/reagent_containers/glass/bottle/antitoxin, +/obj/item/reagent_containers/glass/bottle/spaceacillin, +/obj/item/reagent_containers/glass/bottle/spaceacillin, /obj/effect/floor_decal/spline/plain{ dir = 4 }, @@ -9885,10 +9874,10 @@ /area/redgate/facility/sw) "nTy" = ( /obj/structure/table/marble, -/obj/item/weapon/flame/candle/everburn{ +/obj/item/flame/candle/everburn{ pixel_x = 8 }, -/obj/item/weapon/flame/candle/everburn{ +/obj/item/flame/candle/everburn{ pixel_x = -8 }, /turf/simulated/floor/atoll, @@ -9905,7 +9894,7 @@ /obj/effect/floor_decal/borderfloorwhite{ dir = 5 }, -/obj/item/device/mass_spectrometer/adv, +/obj/item/mass_spectrometer/adv, /turf/simulated/floor/tiled/white, /area/redgate/facility/lab4) "nUg" = ( @@ -9958,7 +9947,7 @@ /obj/effect/floor_decal/borderfloorwhite{ dir = 6 }, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the 'Space' from Space Cleaner and written in Chemistry. Scrawled on the back is, 'Okay, whoever filled this with polytrinic acid, it was only funny the first time. It was hard enough replacing the CMO's first cat!'"; name = "Chemistry Cleaner" }, @@ -10034,7 +10023,7 @@ /area/redgate/facility/sw) "oeJ" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/green, +/obj/item/bedsheet/green, /turf/simulated/floor/tiled/white, /area/redgate/facility/sw) "oeT" = ( @@ -10054,7 +10043,7 @@ /area/redgate/facility/medbay) "ogF" = ( /obj/structure/table/reinforced, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled/white, /area/redgate/facility/cell4) "ohm" = ( @@ -10071,7 +10060,7 @@ /area/redgate/facility/cell20) "ohR" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /obj/machinery/button/windowtint{ id = "office_1"; pixel_x = -22 @@ -10098,7 +10087,7 @@ /area/redgate/facility/office5) "ojc" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/handcuffs/legcuffs/bola, +/obj/item/handcuffs/legcuffs/bola, /turf/simulated/floor/tiled/milspec, /area/redgate/facility/security) "ojh" = ( @@ -10110,7 +10099,7 @@ /area/redgate/facility/lab5) "ojx" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/box/donut, +/obj/item/storage/box/donut, /turf/simulated/floor/tiled/milspec, /area/redgate/facility/security) "ojH" = ( @@ -10133,7 +10122,7 @@ /area/redgate/facility/office3) "ols" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /turf/simulated/floor/tiled/steel, /area/redgate/facility/cell12) "olu" = ( @@ -10214,12 +10203,12 @@ /area/redgate/facility/cell15) "opZ" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/syringes, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/syringes, +/obj/item/storage/box/gloves{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/box/beakers{ +/obj/item/storage/box/beakers{ pixel_x = 2; pixel_y = 2 }, @@ -10266,23 +10255,23 @@ /obj/item/seeds/random, /obj/item/seeds/random, /obj/item/seeds/random, -/obj/item/weapon/material/minihoe, -/obj/item/device/analyzer/plant_analyzer, +/obj/item/material/minihoe, +/obj/item/analyzer/plant_analyzer, /turf/simulated/floor/grass, /area/redgate/facility/office1) "oti" = ( /obj/structure/closet, /obj/item/clothing/under/rank/security/corp, -/obj/item/weapon/handcuffs, +/obj/item/handcuffs, /obj/item/clothing/shoes/boots/duty, /obj/item/clothing/gloves/black, /obj/item/clothing/head/helmet/solgov/security, -/obj/item/device/ticket_printer, +/obj/item/ticket_printer, /turf/simulated/floor/tiled/milspec, /area/redgate/facility/office5) "otx" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/food/snacks/egg/rainbow, +/obj/item/reagent_containers/food/snacks/egg/rainbow, /turf/simulated/floor/tiled/white, /area/redgate/facility/sw) "otO" = ( @@ -10292,7 +10281,7 @@ /area/redgate/facility/office5) "otW" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /turf/simulated/floor/tiled/milspec, /area/redgate/facility/office5) "oui" = ( @@ -10402,10 +10391,10 @@ /area/redgate/facility/cell2) "oHI" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = 4 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /turf/simulated/floor/tiled/white, @@ -10479,7 +10468,7 @@ /obj/machinery/light{ dir = 8 }, -/obj/item/weapon/gun/energy/sizegun, +/obj/item/gun/energy/sizegun, /turf/simulated/floor/tiled/white, /area/redgate/facility/cell15) "oNV" = ( @@ -10505,7 +10494,7 @@ /turf/simulated/floor, /area/redgate/facility/sw) "oPv" = ( -/obj/item/weapon/paper/crumpled, +/obj/item/paper/crumpled, /turf/simulated/floor/tiled/white, /area/redgate/facility/ne) "oRY" = ( @@ -10543,7 +10532,7 @@ /obj/effect/floor_decal/corner/lightgrey{ dir = 6 }, -/obj/item/weapon/tool/crowbar/brass, +/obj/item/tool/crowbar/brass, /turf/simulated/floor/tiled/white, /area/redgate/facility/entrance) "oUz" = ( @@ -10590,7 +10579,7 @@ /area/redgate/facility/sw) "oXb" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/robotanalyzer, +/obj/item/robotanalyzer, /turf/simulated/floor/tiled/techfloor, /area/redgate/facility/cell14) "oXm" = ( @@ -10625,9 +10614,9 @@ /area/redgate/facility/sw) "oZU" = ( /obj/structure/closet/secure_closet/medical3, -/obj/item/device/glasses_kit, -/obj/item/weapon/storage/box/bloodpacks, -/obj/item/weapon/storage/box/autoinjectors, +/obj/item/glasses_kit, +/obj/item/storage/box/bloodpacks, +/obj/item/storage/box/autoinjectors, /turf/simulated/floor/tiled/white, /area/redgate/facility/medbay) "pag" = ( @@ -10645,7 +10634,7 @@ /area/redgate/facility/office2) "pbO" = ( /obj/structure/table/standard, -/obj/item/device/slime_scanner, +/obj/item/slime_scanner, /turf/simulated/floor/tiled/white, /area/redgate/facility/lab5) "pck" = ( @@ -10654,7 +10643,7 @@ /area/redgate/facility/cell27) "pcs" = ( /obj/structure/table/reinforced, -/obj/item/weapon/clipboard, +/obj/item/clipboard, /turf/simulated/floor/tiled/white, /area/redgate/facility/cell9) "pdn" = ( @@ -10825,7 +10814,7 @@ /area/redgate/facility/cell15) "prt" = ( /obj/structure/table/standard, -/obj/item/weapon/weldingtool, +/obj/item/weldingtool, /turf/simulated/floor/tiled/white, /area/redgate/facility/lab5) "prT" = ( @@ -10851,9 +10840,9 @@ /obj/effect/floor_decal/corner/blue/border, /obj/random/maintenance/medical, /obj/random/maintenance/medical, -/obj/item/weapon/cane, +/obj/item/cane, /obj/structure/closet/walllocker_double/medical/south, -/obj/item/weapon/storage/briefcase, +/obj/item/storage/briefcase, /turf/simulated/floor/tiled/white, /area/redgate/facility/medbay) "psL" = ( @@ -10924,7 +10913,7 @@ /area/redgate/facility/lab8) "pys" = ( /obj/structure/table/glass, -/obj/item/weapon/autopsy_scanner, +/obj/item/autopsy_scanner, /turf/simulated/floor/tiled/white, /area/redgate/facility/ne) "pyE" = ( @@ -11033,7 +11022,7 @@ /area/redgate/facility/sw) "pFo" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/bone/skull, +/obj/item/bone/skull, /turf/simulated/floor/tiled/steel, /area/redgate/facility/cell17) "pFq" = ( @@ -11089,7 +11078,7 @@ /area/redgate/facility/lab8) "pJE" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/masks, +/obj/item/storage/box/masks, /turf/simulated/floor/tiled/white, /area/redgate/facility/ne) "pJK" = ( @@ -11347,7 +11336,7 @@ /area/redgate/facility/lab4) "qax" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/effect/floor_decal/corner/blue/border{ dir = 9 }, @@ -11378,7 +11367,7 @@ /area/redgate/facility/office11) "qbY" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/effect/floor_decal/corner/blue/border{ dir = 5 }, @@ -11406,7 +11395,7 @@ /area/redgate/facility/office1) "qdH" = ( /obj/structure/flora/ausbushes/fullgrass, -/obj/item/weapon/bone, +/obj/item/bone, /obj/machinery/light{ dir = 4 }, @@ -11475,7 +11464,7 @@ /turf/simulated/floor/tiled/white, /area/redgate/facility/cell25) "qis" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/tiled/techfloor, /area/redgate/facility/cell22) @@ -11493,10 +11482,10 @@ /obj/structure/sign/signnew/cryogenics{ pixel_y = 32 }, -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{ +/obj/item/reagent_containers/glass/beaker/cryoxadone{ pixel_x = -4 }, -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{ +/obj/item/reagent_containers/glass/beaker/cryoxadone{ pixel_x = 7; pixel_y = 1 }, @@ -11582,10 +11571,10 @@ /area/redgate/facility/cell25) "qpO" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = 4 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /obj/machinery/button/windowtint{ @@ -11648,12 +11637,12 @@ /turf/simulated/floor/tiled/white, /area/redgate/facility/cell15) "qsU" = ( -/obj/machinery/disease2/diseaseanalyser, +/obj/structure/prop/machine/centrifuge, /turf/simulated/floor/tiled/white, /area/redgate/facility/sw) "qtt" = ( /obj/structure/window/basic, -/obj/item/weapon/storage/vore_egg/rock, +/obj/item/storage/vore_egg/rock, /turf/simulated/floor/tiled/freezer, /area/redgate/facility/sw) "qtY" = ( @@ -11798,14 +11787,14 @@ /turf/simulated/floor/water/pool, /area/redgate/facility/cell13) "qDz" = ( -/obj/item/weapon/reagent_containers/food/snacks/snackplanet/virgoprime{ +/obj/item/reagent_containers/food/snacks/snackplanet/virgoprime{ name = "Ringed planet" }, /turf/unsimulated/fake_space, /area/redgate/facility/cell15) "qEg" = ( /obj/structure/table/standard, -/obj/item/weapon/paper, +/obj/item/paper, /turf/simulated/floor/tiled/white, /area/redgate/facility/ne) "qFr" = ( @@ -11908,7 +11897,7 @@ /turf/simulated/floor/tiled/techfloor, /area/redgate/facility/cell9) "qMo" = ( -/obj/machinery/disease2/incubator, +/obj/structure/closet/l3closet/virology, /turf/simulated/floor/tiled/white, /area/redgate/facility/sw) "qNh" = ( @@ -11932,7 +11921,7 @@ /area/redgate/facility/ne) "qPj" = ( /obj/structure/window/basic, -/obj/item/weapon/storage/vore_egg/slimeglob{ +/obj/item/storage/vore_egg/slimeglob{ name = "sect egg clutch" }, /turf/simulated/floor/tiled/freezer, @@ -11950,10 +11939,10 @@ /turf/simulated/floor/tiled/white, /area/redgate/facility/sw) "qQL" = ( -/obj/machinery/computer/diseasesplicer, /obj/machinery/light{ dir = 1 }, +/obj/machinery/computer/pandemic, /turf/simulated/floor/tiled/white, /area/redgate/facility/sw) "qQY" = ( @@ -11987,7 +11976,7 @@ /area/redgate/facility/medbay) "qVa" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/effect/floor_decal/corner/blue/border{ dir = 10 }, @@ -12008,7 +11997,7 @@ /area/redgate/facility/cell3) "qXg" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/effect/floor_decal/corner/blue/border{ dir = 6 }, @@ -12032,7 +12021,7 @@ /area/redgate/facility/sw) "ram" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/glass/beaker/noreact, +/obj/item/reagent_containers/glass/beaker/noreact, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /turf/simulated/floor/tiled/white, /area/redgate/facility/lab1) @@ -12080,7 +12069,7 @@ /turf/simulated/floor/tiled/techfloor, /area/redgate/facility/cell22) "rdK" = ( -/obj/item/weapon/reagent_containers/food/snacks/snackplanet/phoron, +/obj/item/reagent_containers/food/snacks/snackplanet/phoron, /turf/unsimulated/fake_space, /area/redgate/facility/cell15) "reE" = ( @@ -12131,7 +12120,7 @@ /area/redgate/facility/sw) "rjc" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin, +/obj/item/paper_bin, /turf/simulated/floor/tiled/white, /area/redgate/facility/cell9) "rjr" = ( @@ -12170,18 +12159,18 @@ "rlN" = ( /obj/structure/table/standard, /obj/structure/closet/walllocker_double/science/north, -/obj/item/weapon/storage/box/syringes{ +/obj/item/storage/box/syringes{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/box/masks, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/masks, +/obj/item/storage/box/gloves{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/fancy/vials, -/obj/item/weapon/storage/lockbox/vials, -/obj/item/weapon/storage/box/monkeycubes, +/obj/item/storage/fancy/vials, +/obj/item/storage/lockbox/vials, +/obj/item/storage/box/monkeycubes, /turf/simulated/floor/tiled/white, /area/redgate/facility/sw) "rmF" = ( @@ -12324,11 +12313,11 @@ /obj/structure/closet{ name = "experimental tools" }, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/gun/energy/sizegun, -/obj/item/weapon/material/knife/butch, -/obj/item/weapon/handcuffs/legcuffs, -/obj/item/weapon/handcuffs, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/sizegun, +/obj/item/material/knife/butch, +/obj/item/handcuffs/legcuffs, +/obj/item/handcuffs, /obj/item/clothing/glasses/sunglasses/thinblindfold, /turf/simulated/floor/tiled/white, /area/redgate/facility/cell18) @@ -12358,7 +12347,7 @@ /turf/simulated/floor/tiled/white, /area/redgate/facility/cell4) "ryq" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /obj/item/broken_device/random, /turf/simulated/floor/tiled/white, /area/redgate/facility/cell25) @@ -12402,10 +12391,10 @@ /area/redgate/facility/nw) "rzV" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/glass/bottle/bicaridine, -/obj/item/weapon/reagent_containers/glass/bottle/bicaridine, -/obj/item/weapon/reagent_containers/glass/bottle/dexalinp, -/obj/item/weapon/reagent_containers/glass/bottle/dexalinp, +/obj/item/reagent_containers/glass/bottle/bicaridine, +/obj/item/reagent_containers/glass/bottle/bicaridine, +/obj/item/reagent_containers/glass/bottle/dexalinp, +/obj/item/reagent_containers/glass/bottle/dexalinp, /turf/simulated/floor/wood/alt, /area/redgate/facility/office7) "rBd" = ( @@ -12413,7 +12402,7 @@ /area/redgate/facility/office4) "rBl" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /turf/simulated/floor/tiled/white, /area/redgate/facility/office7) "rBs" = ( @@ -12459,7 +12448,7 @@ /area/redgate/facility/lab2) "rDt" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /turf/simulated/floor/tiled/white, /area/redgate/facility/office6) "rDZ" = ( @@ -12480,12 +12469,12 @@ /area/redgate/facility/sw) "rEw" = ( /obj/structure/table/glass, -/obj/item/weapon/material/minihoe, +/obj/item/material/minihoe, /turf/simulated/floor/tiled/white, /area/redgate/facility/lab8) "rFo" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_x = 2; pixel_y = 3 }, @@ -12504,7 +12493,7 @@ /area/redgate/facility/office3) "rHb" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/botanydisk, +/obj/item/storage/box/botanydisk, /turf/simulated/floor/tiled/white, /area/redgate/facility/lab8) "rIw" = ( @@ -12681,11 +12670,11 @@ /area/redgate/facility/ne) "rUr" = ( /obj/structure/table/reinforced, -/obj/item/device/radio/off{ +/obj/item/radio/off{ pixel_x = 6; pixel_y = 4 }, -/obj/item/device/radio/off{ +/obj/item/radio/off{ pixel_x = -6; pixel_y = 4 }, @@ -12753,18 +12742,18 @@ /area/redgate/facility/cell24) "rXr" = ( /obj/structure/closet/walllocker/wooden/west, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/reagent_containers/glass/beaker/measuring_cup, -/obj/item/weapon/reagent_containers/glass/beaker/measuring_cup, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, +/obj/item/reagent_containers/glass/beaker/measuring_cup, +/obj/item/reagent_containers/glass/beaker/measuring_cup, +/obj/item/reagent_containers/food/drinks/bottle/milk, +/obj/item/reagent_containers/food/drinks/bottle/milk, +/obj/item/reagent_containers/food/condiment/carton/sugar, +/obj/item/reagent_containers/food/condiment/carton/sugar, +/obj/item/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/food/condiment/enzyme, /turf/simulated/floor/wood/alt, /area/redgate/facility/cell4) "rXY" = ( @@ -12777,7 +12766,7 @@ /area/redgate/facility/se) "rZd" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /obj/machinery/atmospherics/pipe/vent{ dir = 1 }, @@ -12796,7 +12785,7 @@ /area/redgate/facility/cell4) "saX" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/toy/desk/officetoy, +/obj/item/toy/desk/officetoy, /turf/simulated/floor/tiled/eris/steel/gray_platform, /area/redgate/facility/ne) "sbR" = ( @@ -12987,7 +12976,7 @@ /area/redgate/facility/se) "smZ" = ( /obj/structure/grille/broken, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor, /area/redgate/facility/cell25) "snf" = ( @@ -13044,7 +13033,7 @@ /area/redgate/facility/sw) "stb" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/storage/box/monkeycubes, +/obj/item/storage/box/monkeycubes, /turf/simulated/floor/tiled/white, /area/redgate/facility/cell4) "stt" = ( @@ -13161,22 +13150,22 @@ /turf/simulated/floor/tiled/white, /area/redgate/facility/cell17) "sAu" = ( -/obj/item/weapon/bone/arm, +/obj/item/bone/arm, /turf/simulated/floor/tiled/steel, /area/redgate/facility/cell17) "sAK" = ( /obj/structure/closet, /obj/item/clothing/under/rank/security/corp, -/obj/item/weapon/handcuffs, +/obj/item/handcuffs, /obj/item/clothing/shoes/boots/duty, /obj/item/clothing/gloves/black, /obj/item/clothing/head/helmet/solgov/security, -/obj/item/device/ticket_printer, +/obj/item/ticket_printer, /turf/simulated/floor/tiled/milspec, /area/redgate/facility/office10) "sAM" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/smolebrickcase, +/obj/item/storage/smolebrickcase, /turf/simulated/floor/tiled/white, /area/redgate/facility/cell15) "sAQ" = ( @@ -13194,7 +13183,7 @@ /area/redgate/facility/se) "sCG" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/multitool{ +/obj/item/multitool{ pixel_x = 3 }, /turf/simulated/floor/tiled/techfloor, @@ -13325,7 +13314,7 @@ icon_scale_x = 3; icon_scale_y = 3 }, -/obj/item/weapon/bedsheet/hosdouble{ +/obj/item/bedsheet/hosdouble{ icon_scale_x = 3; icon_scale_y = 3 }, @@ -13346,10 +13335,10 @@ /obj/effect/floor_decal/spline/plain{ dir = 4 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = 4 }, /turf/simulated/floor/wood/alt, @@ -13405,7 +13394,7 @@ /obj/effect/floor_decal/spline/plain{ dir = 4 }, -/obj/item/weapon/gun/launcher/syringe/rapid, +/obj/item/gun/launcher/syringe/rapid, /turf/simulated/floor/wood/alt, /area/redgate/facility/office7) "sUQ" = ( @@ -13486,7 +13475,7 @@ /area/redgate/facility/medbay) "sXx" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/snacks/snackplanet/moon, +/obj/item/reagent_containers/food/snacks/snackplanet/moon, /turf/simulated/floor/tiled/white, /area/redgate/facility/cell15) "sXK" = ( @@ -13504,7 +13493,7 @@ /area/redgate/facility/cell15) "sZE" = ( /obj/structure/table/steel, -/obj/item/device/electronic_assembly/large/default, +/obj/item/electronic_assembly/large/default, /turf/simulated/floor/tiled/eris/techmaint_perforated, /area/redgate/facility/sw) "tbG" = ( @@ -13525,8 +13514,8 @@ /area/redgate/facility/sw) "tdG" = ( /obj/structure/table/hardwoodtable, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen{ +/obj/item/paper_bin, +/obj/item/pen{ pixel_y = 4 }, /turf/simulated/floor/wood/alt, @@ -13536,7 +13525,7 @@ /area/redgate/facility/cell29) "teZ" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical, /turf/simulated/floor/tiled/steel, /area/redgate/facility/lab3) "tfK" = ( @@ -13821,7 +13810,7 @@ /turf/simulated/floor/tiled/steel, /area/redgate/facility/cell11) "txD" = ( -/obj/item/weapon/bone/ribs, +/obj/item/bone/ribs, /turf/simulated/floor/tiled/steel, /area/redgate/facility/cell17) "txE" = ( @@ -13848,7 +13837,7 @@ /turf/simulated/floor/tiled/steel, /area/redgate/facility/cell17) "tAe" = ( -/obj/item/weapon/bone/skull/tajaran, +/obj/item/bone/skull/tajaran, /turf/simulated/floor/tiled/steel, /area/redgate/facility/cell17) "tAi" = ( @@ -13862,7 +13851,7 @@ /area/redgate/facility/nw) "tAu" = ( /obj/structure/table/standard, -/obj/item/weapon/gun/energy/sizegun, +/obj/item/gun/energy/sizegun, /turf/simulated/floor/tiled/white, /area/redgate/facility/cell15) "tAT" = ( @@ -13874,7 +13863,7 @@ /area/redgate/facility/cell3) "tBu" = ( /obj/structure/table/reinforced, -/obj/item/device/gps/engineering{ +/obj/item/gps/engineering{ pixel_y = 3 }, /turf/simulated/floor/tiled, @@ -13924,7 +13913,7 @@ /area/redgate/facility/entrance) "tCX" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = -9; pixel_y = 17 }, @@ -13932,7 +13921,7 @@ /area/redgate/facility/nw) "tDX" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/beakers, +/obj/item/storage/box/beakers, /turf/simulated/floor/tiled/white, /area/redgate/facility/lab5) "tEq" = ( @@ -13943,10 +13932,10 @@ /obj/effect/floor_decal/spline/plain{ dir = 1 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = 4 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /turf/simulated/floor/wood/alt, @@ -13987,7 +13976,7 @@ dir = 8 }, /obj/structure/table/rack/steel, -/obj/item/weapon/towel/random, +/obj/item/towel/random, /obj/random/soap, /turf/simulated/floor/tiled/milspec, /area/redgate/facility/office5) @@ -14037,10 +14026,10 @@ /area/redgate/facility/cell5) "tIY" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = 4 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /turf/simulated/floor/tiled/white, @@ -14224,8 +14213,8 @@ /area/redgate/facility/cell14) "uaM" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/dropper, /turf/simulated/floor/tiled/white, /area/redgate/facility/office8) "ubE" = ( @@ -14245,7 +14234,7 @@ /area/redgate/facility/sw) "uct" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/gloves, +/obj/item/storage/box/gloves, /turf/simulated/floor/tiled/white, /area/redgate/facility/lab1) "ucB" = ( @@ -14303,8 +14292,8 @@ /area/redgate/facility/office5) "ugx" = ( /obj/structure/table/standard, -/obj/item/weapon/gun/energy/taser/xeno, -/obj/item/weapon/melee/baton/slime/loaded, +/obj/item/gun/energy/taser/xeno, +/obj/item/melee/baton/slime/loaded, /turf/simulated/floor/tiled/white, /area/redgate/facility/lab5) "ugM" = ( @@ -14473,7 +14462,7 @@ /obj/structure/closet, /obj/item/clothing/suit/kimono/blue, /obj/item/clothing/shoes/sandal, -/obj/item/weapon/storage/box/matches, +/obj/item/storage/box/matches, /turf/simulated/floor/tiled/white, /area/redgate/facility/cell16) "utW" = ( @@ -14532,11 +14521,11 @@ "uxJ" = ( /obj/structure/closet, /obj/item/clothing/under/rank/security/corp, -/obj/item/weapon/handcuffs, +/obj/item/handcuffs, /obj/item/clothing/shoes/boots/duty, /obj/item/clothing/gloves/black, /obj/item/clothing/head/helmet/solgov/security, -/obj/item/device/ticket_printer, +/obj/item/ticket_printer, /turf/simulated/floor/tiled/milspec, /area/redgate/facility/security) "uxP" = ( @@ -14555,7 +14544,7 @@ /area/redgate/facility/ne) "uzu" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/syringes, +/obj/item/storage/box/syringes, /turf/simulated/floor/tiled/white, /area/redgate/facility/lab5) "uAd" = ( @@ -14709,7 +14698,7 @@ /area/redgate/facility/cell15) "uJD" = ( /obj/structure/flora/ausbushes/fullgrass, -/obj/item/weapon/bone/skull, +/obj/item/bone/skull, /turf/simulated/floor/grass, /area/redgate/facility/cell27) "uJU" = ( @@ -14774,13 +14763,8 @@ /area/redgate/facility/lab3) "uMq" = ( /obj/structure/closet/walllocker_double/science/east, -/obj/item/weapon/book/manual/virology, -/obj/item/device/antibody_scanner, -/obj/item/device/antibody_scanner, -/obj/item/weapon/reagent_containers/glass/beaker, -/obj/item/weapon/virusdish/random, -/obj/item/weapon/virusdish/random, -/obj/item/weapon/virusdish/random, +/obj/item/book/manual/virology, +/obj/item/reagent_containers/glass/beaker, /turf/simulated/floor/tiled/white, /area/redgate/facility/sw) "uNl" = ( @@ -14799,7 +14783,7 @@ /area/redgate/facility/lab1) "uNy" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery, /obj/machinery/light{ dir = 8 }, @@ -14904,7 +14888,7 @@ /turf/simulated/floor/tiled/eris/steel/gray_platform, /area/redgate/facility/ne) "uYc" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor, /area/redgate/facility/cell6) "uYg" = ( @@ -14927,8 +14911,8 @@ /area/redgate/facility/cell6) "uZl" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/dropper, /obj/effect/floor_decal/borderfloorwhite{ dir = 8 }, @@ -15047,7 +15031,7 @@ /area/redgate/facility/office11) "vjk" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/hos, +/obj/item/bedsheet/hos, /turf/simulated/floor/tiled/white, /area/redgate/facility/cell16) "vjE" = ( @@ -15060,12 +15044,12 @@ "vjP" = ( /obj/structure/table/glass, /obj/effect/floor_decal/borderfloorwhite, -/obj/item/weapon/storage/box/beakers, +/obj/item/storage/box/beakers, /turf/simulated/floor/tiled/white, /area/redgate/facility/lab4) "vjS" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/clipboard, +/obj/item/clipboard, /obj/machinery/button/remote/airlock{ id = "lab_office"; pixel_y = 25; @@ -15178,8 +15162,8 @@ /area/redgate/facility/cell29) "vqJ" = ( /obj/structure/closet/wardrobe/chemistry_white, -/obj/item/weapon/storage/box/syringes, -/obj/item/weapon/storage/box/syringes, +/obj/item/storage/box/syringes, +/obj/item/storage/box/syringes, /obj/effect/floor_decal/borderfloorwhite{ dir = 4 }, @@ -15326,7 +15310,7 @@ /turf/simulated/floor/tiled/white, /area/redgate/facility/cell5) "vCK" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/tiled/white, /area/redgate/facility/cell6) "vDA" = ( @@ -15360,7 +15344,7 @@ /turf/simulated/floor/tiled/white, /area/redgate/facility/lab4) "vFv" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /obj/effect/floor_decal/industrial/warning{ dir = 5 }, @@ -15368,7 +15352,7 @@ /area/redgate/facility/cell22) "vFG" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /turf/simulated/floor/tiled/white, /area/redgate/facility/cell7) "vGy" = ( @@ -15403,10 +15387,10 @@ /area/redgate/facility/cell17) "vIk" = ( /obj/structure/table/glass, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = 4 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled/white, /area/redgate/facility/cell7) "vIA" = ( @@ -15423,9 +15407,9 @@ /area/redgate/facility/se) "vKd" = ( /obj/structure/closet/walllocker_double/science/east, -/obj/item/weapon/folder/blue, -/obj/item/weapon/folder, -/obj/item/weapon/clipboard, +/obj/item/folder/blue, +/obj/item/folder, +/obj/item/clipboard, /turf/simulated/floor/tiled/white, /area/redgate/facility/cell7) "vKi" = ( @@ -15455,7 +15439,7 @@ /turf/simulated/floor/tiled/white, /area/redgate/facility/cell18) "vMw" = ( -/obj/item/device/geiger/wall/north, +/obj/item/geiger/wall/north, /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/facility/ne) "vMO" = ( @@ -15483,7 +15467,7 @@ /obj/random/maintenance/research, /obj/random/maintenance/research, /obj/random/toy, -/obj/item/device/camera, +/obj/item/camera, /turf/simulated/floor/tiled/white, /area/redgate/facility/cell10) "vOj" = ( @@ -15500,7 +15484,7 @@ /area/redgate/facility/security) "vPf" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /turf/simulated/floor/tiled/steel, /area/redgate/facility/cell18) "vPh" = ( @@ -15596,10 +15580,10 @@ /area/redgate/facility/cell3) "vUT" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = 4 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /turf/simulated/floor/tiled/white, @@ -15702,7 +15686,7 @@ /area/redgate/facility/cell11) "wbX" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/food/snacks/chocolateegg, +/obj/item/reagent_containers/food/snacks/chocolateegg, /turf/simulated/floor/tiled/white, /area/redgate/facility/sw) "wcy" = ( @@ -15732,7 +15716,7 @@ /area/redgate/facility/cell17) "wfv" = ( /obj/structure/closet/walllocker_double/science/north, -/obj/item/weapon/surgical/scalpel, +/obj/item/surgical/scalpel, /obj/item/clothing/gloves/sterile/nitrile, /obj/item/clothing/gloves/sterile/nitrile, /obj/item/clothing/gloves/sterile/nitrile, @@ -15788,8 +15772,8 @@ /area/redgate/facility/lab2) "wlM" = ( /obj/structure/table/borosilicate, -/obj/item/weapon/implantcase/tracking, -/obj/item/weapon/implanter, +/obj/item/implantcase/tracking, +/obj/item/implanter, /turf/simulated/floor/tiled/steel_ridged, /area/redgate/facility/cell8) "wlO" = ( @@ -15804,7 +15788,7 @@ /area/redgate/facility/cell29) "wmm" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/book/manual/robotics_manual, +/obj/item/book/manual/wiki/robotics_manual, /turf/simulated/floor/tiled/steel_grid, /area/redgate/facility/ne) "wmn" = ( @@ -15818,7 +15802,7 @@ /area/redgate/facility/lab5) "wmT" = ( /obj/structure/table/glass, -/obj/item/device/defib_kit/loaded, +/obj/item/defib_kit/loaded, /obj/effect/floor_decal/borderfloor, /turf/simulated/floor/tiled/white, /area/redgate/facility/ne) @@ -15888,7 +15872,7 @@ /area/redgate/facility/sw) "wtl" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/food/snacks/egg/green, +/obj/item/reagent_containers/food/snacks/egg/green, /turf/simulated/floor/tiled/white, /area/redgate/facility/sw) "wty" = ( @@ -15920,7 +15904,7 @@ /area/redgate/facility/ne) "wvE" = ( /obj/structure/table/darkglass, -/obj/item/weapon/bikehorn/rubberducky/grey, +/obj/item/bikehorn/rubberducky/grey, /turf/simulated/floor/tiled/steel, /area/redgate/facility/cell11) "wwn" = ( @@ -15973,12 +15957,12 @@ /area/redgate/facility/cell11) "wBd" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/glass/beaker/vial/microcillin, -/obj/item/weapon/reagent_containers/glass/beaker/vial/microcillin, -/obj/item/weapon/reagent_containers/glass/beaker/vial/macrocillin, -/obj/item/weapon/reagent_containers/glass/beaker/vial/macrocillin, -/obj/item/weapon/reagent_containers/glass/beaker/vial/normalcillin, -/obj/item/weapon/reagent_containers/glass/beaker/vial/normalcillin, +/obj/item/reagent_containers/glass/beaker/vial/microcillin, +/obj/item/reagent_containers/glass/beaker/vial/microcillin, +/obj/item/reagent_containers/glass/beaker/vial/macrocillin, +/obj/item/reagent_containers/glass/beaker/vial/macrocillin, +/obj/item/reagent_containers/glass/beaker/vial/normalcillin, +/obj/item/reagent_containers/glass/beaker/vial/normalcillin, /turf/simulated/floor/tiled/white, /area/redgate/facility/office11) "wBO" = ( @@ -15987,10 +15971,10 @@ /area/redgate/facility/cell11) "wCE" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = 4 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /turf/simulated/floor/wood/alt, @@ -16057,10 +16041,10 @@ /area/redgate/facility/nw) "wGJ" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = 4 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /turf/simulated/floor/tiled/white, @@ -16095,7 +16079,7 @@ /turf/simulated/floor/tiled/white, /area/redgate/facility/entrance) "wIG" = ( -/obj/item/weapon/reagent_containers/food/drinks/cans/bepis{ +/obj/item/reagent_containers/food/drinks/cans/bepis{ pixel_x = 13; pixel_y = 10 }, @@ -16207,10 +16191,10 @@ /area/redgate/facility/office6) "wPL" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = 4 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /turf/simulated/floor/tiled/white, @@ -16437,7 +16421,7 @@ /turf/simulated/floor/tiled/white, /area/redgate/facility/entrance) "xgW" = ( -/obj/item/weapon/paper/crumpled, +/obj/item/paper/crumpled, /obj/machinery/light/broken{ dir = 1 }, @@ -16463,10 +16447,10 @@ /area/redgate/facility/sw) "xiu" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = 4 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /turf/simulated/floor/tiled/steel, @@ -16598,8 +16582,8 @@ /area/redgate/facility/cell29) "xsN" = ( /obj/structure/table/hardwoodtable, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/blue, +/obj/item/paper_bin, +/obj/item/pen/blue, /turf/simulated/floor/wood/alt, /area/redgate/facility/ne) "xth" = ( @@ -16624,15 +16608,15 @@ icon_state = "1-8" }, /obj/structure/table/reinforced, -/obj/item/device/t_scanner/advanced, +/obj/item/t_scanner/advanced, /turf/simulated/floor/tiled/eris/dark/orangecorner, /area/redgate/facility/cell29) "xul" = ( /obj/structure/closet, -/obj/item/weapon/storage/bag/circuits/basic, +/obj/item/storage/bag/circuits/basic, /obj/item/integrated_circuit/output/led/blue, /obj/item/integrated_circuit/output/led/orange, -/obj/item/weapon/circuitboard/gyrotron, +/obj/item/circuitboard/gyrotron, /obj/fiftyspawner/steel, /turf/simulated/floor/tiled/eris/techmaint_perforated, /area/redgate/facility/sw) @@ -16701,7 +16685,7 @@ /turf/simulated/floor/tiled/white, /area/redgate/facility/cell9) "xyt" = ( -/obj/item/weapon/paper, +/obj/item/paper, /turf/simulated/floor/tiled/white, /area/redgate/facility/cell25) "xyV" = ( @@ -16767,18 +16751,18 @@ /area/redgate/facility/cell8) "xDC" = ( /obj/structure/closet/walllocker_double/science/north, -/obj/item/weapon/folder, +/obj/item/folder, /obj/random/mainttoyloot/nofail, /turf/simulated/floor/tiled/white, /area/redgate/facility/cell26) "xDR" = ( /obj/structure/table/reinforced, /obj/structure/window/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen/red{ +/obj/item/pen/red{ pixel_x = 2; pixel_y = 6 }, @@ -17122,7 +17106,7 @@ /area/redgate/facility/ne) "xYt" = ( /obj/structure/closet/walllocker_double/north, -/obj/item/weapon/entrepreneur/spirit_board, +/obj/item/entrepreneur/spirit_board, /obj/random/maintenance/research, /turf/simulated/floor/tiled/white, /area/redgate/facility/cell27) @@ -17182,10 +17166,10 @@ /area/redgate/facility/cell29) "yeR" = ( /obj/structure/table/steel, -/obj/item/device/integrated_electronics/debugger{ +/obj/item/integrated_electronics/debugger{ pixel_x = -5 }, -/obj/item/device/integrated_electronics/wirer{ +/obj/item/integrated_electronics/wirer{ pixel_x = 5 }, /turf/simulated/floor/tiled/eris/techmaint_perforated, @@ -17230,9 +17214,9 @@ /area/redgate/facility/cell26) "yhk" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, /obj/machinery/light{ dir = 4 }, @@ -17275,7 +17259,7 @@ /area/redgate/facility/se) "ykE" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/storage/box/trackimp{ +/obj/item/storage/box/trackimp{ pixel_x = 5; pixel_y = 1 }, @@ -19788,7 +19772,7 @@ pLg fPE mzU aOv -gQm +xRG vrp oWf aOv @@ -30193,7 +30177,7 @@ aKz ehw lnw sCO -eFo +ehw hgj hgj hgj diff --git a/maps/redgate/facility_items.dm b/maps/redgate/facility_items.dm index 939f5bfed12..26a42ecef73 100644 --- a/maps/redgate/facility_items.dm +++ b/maps/redgate/facility_items.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/card/id/keycard +/obj/item/card/id/keycard name = "keycard" desc = "Allows access to certain doors." icon_state = "keycard-red" @@ -6,20 +6,20 @@ light_color = "#0099ff" access = list(801) -/obj/item/weapon/card/id/keycard/update_icon() +/obj/item/card/id/keycard/update_icon() return -/obj/item/weapon/card/id/keycard/read() - to_chat(usr, "It is a red keycard, it must unlock something.") +/obj/item/card/id/keycard/read() + to_chat(usr, span_notice("It is a red keycard, it must unlock something.")) -/obj/item/weapon/card/id/keycard/attack_self(mob/living/user as mob) +/obj/item/card/id/keycard/attack_self(mob/living/user as mob) return -/obj/item/weapon/card/id/keycard/blue +/obj/item/card/id/keycard/blue icon_state = "keycard-blue" access = list(802) -/obj/item/weapon/card/id/keycard/green +/obj/item/card/id/keycard/green icon_state = "keycard-green" access = list(803) @@ -45,9 +45,9 @@ crystal = 1 user.drop_item() qdel(W) - to_chat(usr, "You insert the crystal into the receptacle.") + to_chat(usr, span_notice("You insert the crystal into the receptacle.")) else - to_chat(usr, "There isn't a slot for that.") + to_chat(usr, span_notice("There isn't a slot for that.")) /obj/machinery/crystalexperimenter name = "crystal experimenter" @@ -114,4 +114,3 @@ light_power = 1 light_color = "#ffffff" light_on = TRUE - diff --git a/maps/redgate/falls/atoll_objs.dm b/maps/redgate/falls/atoll_objs.dm index d60d7b8e0b5..340b3c034aa 100644 --- a/maps/redgate/falls/atoll_objs.dm +++ b/maps/redgate/falls/atoll_objs.dm @@ -22,7 +22,7 @@ //Escape most railing interactions besides tackling people over them /obj/structure/railing/overhang/attackby(obj/item/W) - if(!istype(W, /obj/item/weapon/grab)) + if(!istype(W, /obj/item/grab)) return return ..() diff --git a/maps/redgate/falls/falls.dmm b/maps/redgate/falls/falls.dmm index 9a422349795..3a8cfeb690b 100644 --- a/maps/redgate/falls/falls.dmm +++ b/maps/redgate/falls/falls.dmm @@ -132,7 +132,7 @@ "jO" = (/obj/effect/decal/shadow/silhouette{icon_state = "silhouette"; dir = 1},/obj/structure/railing/overhang{icon_state = "bronze_railing0"; dir = 8},/turf/simulated/floor/water/atoll,/area/gateway/atoll/falls) "jP" = (/obj/structure/canopy/edge/south,/turf/simulated/floor/water/atoll,/area/gateway/atoll/falls) "jT" = (/obj/structure/canopy/edge/north,/turf/simulated/floor/atoll,/area/gateway/atoll/falls) -"jW" = (/obj/structure/canopy/edge/south,/obj/vehicle/boat{icon_state = "boat"; dir = 8},/obj/item/weapon/oar,/turf/simulated/floor/water/atoll,/area/gateway/atoll/falls) +"jW" = (/obj/structure/canopy/edge/south,/obj/vehicle/boat{icon_state = "boat"; dir = 8},/obj/item/oar,/turf/simulated/floor/water/atoll,/area/gateway/atoll/falls) "jX" = (/obj/structure/railing/overhang/waterless,/obj/structure/railing/overhang/waterless{icon_state = "wbronze_railing0"; dir = 4},/turf/simulated/floor/water/atoll,/area/gateway/atoll/falls) "jZ" = (/obj/structure/canopy/edge/north,/obj/structure/temple,/turf/simulated/floor/water/atoll,/area/gateway/atoll/falls) "ka" = (/obj/structure/waterfall,/obj/structure/canopy_corner,/obj/effect/blocker,/turf/simulated/floor/atoll/vertical,/area/gateway/atoll/falls) @@ -234,7 +234,7 @@ "so" = (/obj/structure/railing/overhang/waterless,/obj/effect/decal/shadow/silhouette{icon_state = "silhouette"; dir = 1},/turf/simulated/floor/water/atoll,/area/gateway/atoll/falls) "sr" = (/obj/effect/decal/godray{dir = 8},/turf/simulated/floor/water/atoll,/area/gateway/atoll/falls) "sE" = (/obj/effect/decal/shadow/floor,/turf/simulated/floor/water/atoll/sunk,/area/gateway/atoll/falls) -"sH" = (/obj/vehicle/boat{icon_state = "boat"; dir = 4},/obj/item/weapon/oar,/turf/simulated/floor/water/atoll/sunk,/area/gateway/atoll/falls) +"sH" = (/obj/vehicle/boat{icon_state = "boat"; dir = 4},/obj/item/oar,/turf/simulated/floor/water/atoll/sunk,/area/gateway/atoll/falls) "sI" = (/obj/structure/aqueduct,/turf/simulated/floor/atoll,/area/gateway/atoll/falls) "sN" = (/obj/structure/waterfall,/obj/structure/railing/overhang/waterless,/obj/structure/railing/overhang/waterless{icon_state = "wbronze_railing0"; dir = 8},/turf/simulated/floor/atoll/vertical,/area/gateway/atoll/falls) "sU" = (/obj/structure/railing/overhang{icon_state = "bronze_railing0"; dir = 1},/obj/structure/railing/overhang,/obj/effect/decal/shadow/silhouette/pillar,/turf/simulated/floor/water/atoll,/area/gateway/atoll/falls) @@ -397,7 +397,7 @@ "Ej" = (/obj/structure/railing/overhang/waterless{icon_state = "wbronze_railing0"; dir = 8},/obj/structure/canopy/edge/north,/turf/simulated/floor/water/atoll,/area/gateway/atoll/falls) "Em" = (/obj/structure/railing/overhang{icon_state = "bronze_railing0"; dir = 4},/obj/structure/railing/overhang{icon_state = "bronze_railing0"; dir = 8},/obj/structure/railing/overhang{icon_state = "bronze_railing0"; dir = 1},/obj/effect/decal/shadow/silhouette/pillar,/turf/simulated/floor/water/atoll,/area/gateway/atoll/falls) "Ep" = (/obj/structure/canopy_corner{dir = 1},/obj/structure/flora/tree/atoll/mangrove,/turf/simulated/floor/water/atoll,/area/gateway/atoll/falls) -"Eq" = (/obj/structure/railing/overhang{icon_state = "bronze_railing0"; dir = 4},/obj/vehicle/boat{icon_state = "boat"; dir = 8},/obj/item/weapon/oar,/turf/simulated/floor/water/atoll,/area/gateway/atoll/falls) +"Eq" = (/obj/structure/railing/overhang{icon_state = "bronze_railing0"; dir = 4},/obj/vehicle/boat{icon_state = "boat"; dir = 8},/obj/item/oar,/turf/simulated/floor/water/atoll,/area/gateway/atoll/falls) "Er" = (/obj/structure/bed/chair/sofa/bench/marble,/obj/effect/floor_decal/atoll/bronze{dir = 1},/obj/effect/floor_decal/atoll/bronze{dir = 4},/turf/simulated/floor/atoll,/area/gateway/atoll/falls) "Et" = (/obj/structure/railing/overhang,/obj/structure/flora/tree/atoll/mangrove{dir = 1},/turf/simulated/floor/water/atoll,/area/gateway/atoll/falls) "Ev" = (/obj/effect/floor_decal/atoll/border{dir = 8},/obj/structure/aqueduct,/turf/simulated/floor/atoll,/area/gateway/atoll/falls) @@ -410,7 +410,7 @@ "EW" = (/obj/effect/floor_decal/atoll/bronze{dir = 4},/obj/effect/floor_decal/atoll/bronze,/obj/structure/bed/chair/sofa/bench/marble{dir = 4},/turf/simulated/floor/atoll,/area/gateway/atoll/falls) "EY" = (/obj/effect/blocker,/obj/structure/canopy,/obj/structure/aqueduct,/turf/simulated/floor/water/atoll,/area/gateway/atoll/falls) "Fb" = (/obj/structure/canopy/edge/north,/obj/structure/railing/overhang{icon_state = "bronze_railing0"; dir = 1},/turf/simulated/floor/water/atoll,/area/gateway/atoll/falls) -"Ff" = (/obj/vehicle/boat{icon_state = "boat"; dir = 8},/obj/item/weapon/oar,/turf/simulated/floor/water/atoll,/area/gateway/atoll/falls) +"Ff" = (/obj/vehicle/boat{icon_state = "boat"; dir = 8},/obj/item/oar,/turf/simulated/floor/water/atoll,/area/gateway/atoll/falls) "Fg" = (/obj/effect/floor_decal/atoll{dir = 8},/turf/simulated/floor/atoll,/area/gateway/atoll/falls) "Fr" = (/obj/structure/canopy,/turf/simulated/floor/water/atoll,/area/gateway/atoll/falls) "Fw" = (/obj/structure/railing/overhang{icon_state = "bronze_railing0"; dir = 1},/obj/structure/railing/overhang{icon_state = "bronze_railing0"; dir = 8},/obj/effect/decal/shadow/silhouette/pillar,/turf/simulated/floor/water/atoll,/area/gateway/atoll/falls) @@ -617,7 +617,7 @@ "UZ" = (/obj/effect/decal/shadow,/turf/simulated/floor/atoll/vertical,/area/gateway/atoll/falls) "Vc" = (/obj/effect/floor_decal/atoll/bronze{dir = 6},/obj/effect/floor_decal/atoll/border/invert{dir = 1},/turf/simulated/floor/atoll,/area/gateway/atoll/falls) "Vd" = (/obj/effect/floor_decal/atoll/bronze{dir = 4},/obj/effect/floor_decal/atoll/border{dir = 10},/turf/simulated/floor/atoll,/area/gateway/atoll/falls) -"Ve" = (/obj/structure/railing/overhang{icon_state = "bronze_railing0"; dir = 8},/obj/vehicle/boat{icon_state = "boat"; dir = 4},/obj/item/weapon/oar,/turf/simulated/floor/water/atoll,/area/gateway/atoll/falls) +"Ve" = (/obj/structure/railing/overhang{icon_state = "bronze_railing0"; dir = 8},/obj/vehicle/boat{icon_state = "boat"; dir = 4},/obj/item/oar,/turf/simulated/floor/water/atoll,/area/gateway/atoll/falls) "Vg" = (/obj/effect/blocker,/obj/structure/canopy/edge/south,/turf/simulated/floor/water/atoll,/area/gateway/atoll/falls) "Vk" = (/obj/effect/decal/shadow/floor,/obj/effect/floor_decal/atoll{dir = 8},/obj/structure/bed/chair/sofa/bench/marble{dir = 4},/turf/simulated/floor/atoll,/area/gateway/atoll/falls) "Vn" = (/obj/structure/aqueduct/pillar{dir = 4},/obj/effect/decal/shadow/silhouette{icon_state = "silhouette"; dir = 1},/turf/simulated/floor/water/atoll,/area/gateway/atoll/falls) @@ -638,10 +638,10 @@ "WK" = (/obj/effect/floor_decal/atoll/stairs,/obj/effect/decal/shadow,/turf/simulated/floor/atoll,/area/gateway/atoll/falls) "WM" = (/obj/effect/decal/shadow/floor,/obj/effect/floor_decal/atoll/border{dir = 4},/obj/effect/floor_decal/atoll/bronze{dir = 1},/turf/simulated/floor/atoll,/area/gateway/atoll/falls) "WO" = (/obj/structure/canopy_corner{dir = 8},/obj/structure/railing/overhang/waterless{icon_state = "wbronze_railing0"; dir = 8},/turf/simulated/floor/water/atoll,/area/gateway/atoll/falls) -"WP" = (/obj/structure/railing/overhang{icon_state = "bronze_railing0"; dir = 8},/obj/vehicle/boat{icon_state = "boat"; dir = 4},/obj/effect/decal/godray{dir = 1},/obj/item/weapon/oar,/turf/simulated/floor/water/atoll,/area/gateway/atoll/falls) +"WP" = (/obj/structure/railing/overhang{icon_state = "bronze_railing0"; dir = 8},/obj/vehicle/boat{icon_state = "boat"; dir = 4},/obj/effect/decal/godray{dir = 1},/obj/item/oar,/turf/simulated/floor/water/atoll,/area/gateway/atoll/falls) "WQ" = (/obj/structure/canopy_corner,/turf/simulated/floor/water/atoll,/area/gateway/atoll/falls) "WS" = (/obj/effect/floor_decal/atoll/border{dir = 6},/obj/structure/bed/chair/sofa/bench/marble{dir = 8},/turf/simulated/floor/atoll,/area/gateway/atoll/falls) -"WV" = (/obj/vehicle/boat{icon_state = "boat"; dir = 4},/obj/item/weapon/oar,/turf/simulated/floor/water/atoll,/area/gateway/atoll/falls) +"WV" = (/obj/vehicle/boat{icon_state = "boat"; dir = 4},/obj/item/oar,/turf/simulated/floor/water/atoll,/area/gateway/atoll/falls) "WW" = (/obj/effect/floor_decal/atoll/border{dir = 4},/obj/effect/floor_decal/atoll/border{dir = 8},/turf/simulated/floor/atoll,/area/gateway/atoll/falls) "WX" = (/obj/effect/floor_decal/atoll/bronze{dir = 8},/obj/effect/floor_decal/atoll/bronze,/obj/effect/floor_decal/atoll/bronze{dir = 1},/obj/structure/bed/chair/sofa/bench/marble{dir = 4},/turf/simulated/floor/atoll,/area/gateway/atoll/falls) "Xa" = (/obj/effect/floor_decal/atoll/border{dir = 10},/obj/structure/bed/chair/sofa/bench/marble{dir = 4},/turf/simulated/floor/atoll,/area/gateway/atoll/falls) diff --git a/maps/redgate/fantasy.dmm b/maps/redgate/fantasy.dmm index 789fa791626..072d62751c1 100644 --- a/maps/redgate/fantasy.dmm +++ b/maps/redgate/fantasy.dmm @@ -29,12 +29,12 @@ /area/redgate/fantasy/restaurant) "aj" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/slice/bread/filled, +/obj/item/reagent_containers/food/snacks/slice/bread/filled, /turf/simulated/floor/carpet/oracarpet, /area/redgate/fantasy/arena) "al" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/gun/launcher/crossbow/bow, +/obj/item/gun/launcher/crossbow/bow, /turf/simulated/floor/wood/alt/parquet, /area/redgate/fantasy/guardhouse) "ao" = ( @@ -45,16 +45,16 @@ /area/redgate/fantasy/church) "ap" = ( /obj/structure/closet/cabinet, -/obj/item/weapon/material/knife/butch, -/obj/item/weapon/arrow/standard, +/obj/item/material/knife/butch, +/obj/item/arrow/standard, /obj/random/potion_base, /turf/simulated/floor/wood/alt/parquet, /area/redgate/fantasy/guardhouse) "aq" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/reagent_containers/food/condiment/vinegar, -/obj/item/weapon/reagent_containers/food/condiment/vinegar, -/obj/item/weapon/reagent_containers/food/condiment/vinegar, +/obj/item/reagent_containers/food/condiment/vinegar, +/obj/item/reagent_containers/food/condiment/vinegar, +/obj/item/reagent_containers/food/condiment/vinegar, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/farmhouse) "ar" = ( @@ -63,7 +63,7 @@ /area/redgate/fantasy/tavern) "as" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /obj/machinery/light/small/torch{ dir = 4 }, @@ -78,11 +78,11 @@ /turf/simulated/floor/wood/alt/panel, /area/redgate/fantasy/castle) "ax" = ( -/obj/item/weapon/material/knife/machete/hatchet/stone, +/obj/item/material/knife/machete/hatchet/stone, /turf/simulated/floor/outdoors/grass/seasonal, /area/redgate/fantasy/druid) "aA" = ( -/obj/item/weapon/reagent_containers/glass/bottle/potion/relaxation, +/obj/item/reagent_containers/glass/bottle/potion/relaxation, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/house) "aB" = ( @@ -99,7 +99,7 @@ /area/redgate/fantasy/druid) "aE" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/twohanded/fireaxe{ +/obj/item/material/twohanded/fireaxe{ icon_state = "fireaxe_mask0"; name = "big axe" }, @@ -124,7 +124,7 @@ /area/redgate/fantasy/druid) "aQ" = ( /obj/structure/table/rack/wood, -/obj/item/weapon/shield/primitive, +/obj/item/shield/primitive, /obj/machinery/light/small/torch{ dir = 8 }, @@ -132,7 +132,7 @@ /area/redgate/fantasy/castle) "aS" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/house) "aT" = ( @@ -170,7 +170,7 @@ /area/redgate/fantasy/rogue) "bn" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/pickaxe/hand, +/obj/item/pickaxe/hand, /turf/simulated/floor/wood, /area/redgate/fantasy/mininghouse) "bo" = ( @@ -191,7 +191,7 @@ /area/redgate/fantasy/mininghouse) "bw" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/reagent_containers/food/snacks/sliceable/creamcheesebread, +/obj/item/reagent_containers/food/snacks/sliceable/creamcheesebread, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/bakery) "bx" = ( @@ -214,7 +214,7 @@ /area/redgate/fantasy/tavern) "bC" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/shield/riot{ +/obj/item/shield/riot{ color = "#A1662F" }, /turf/simulated/floor/concrete, @@ -224,7 +224,7 @@ /obj/item/clothing/head/wizard/fake/realistic, /obj/item/clothing/suit/wizrobe, /obj/item/clothing/shoes/sandal, -/obj/item/weapon/staff, +/obj/item/staff, /turf/simulated/floor/wood/alt/panel, /area/redgate/fantasy/castle) "bE" = ( @@ -267,35 +267,35 @@ /area/redgate/fantasy/blacksmith) "bT" = ( /obj/structure/table/steel, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "This is a request to our staff adventuring out into this place: Please don't bring deadly weapons back to our ships and stations. If you have to, take them straight to security or research if appropriate. Thank you."; name = "Leave weapons here!" }, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "This is a request to our staff adventuring out into this place: Please don't bring deadly weapons back to our ships and stations. If you have to, take them straight to security or research if appropriate. Thank you."; name = "Leave weapons here!" }, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "This is a request to our staff adventuring out into this place: Please don't bring deadly weapons back to our ships and stations. If you have to, take them straight to security or research if appropriate. Thank you."; name = "Leave weapons here!" }, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "This is a request to our staff adventuring out into this place: Please don't bring deadly weapons back to our ships and stations. If you have to, take them straight to security or research if appropriate. Thank you."; name = "Leave weapons here!" }, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "This is a request to our staff adventuring out into this place: Please don't bring deadly weapons back to our ships and stations. If you have to, take them straight to security or research if appropriate. Thank you."; name = "Leave weapons here!" }, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "This is a request to our staff adventuring out into this place: Please don't bring deadly weapons back to our ships and stations. If you have to, take them straight to security or research if appropriate. Thank you."; name = "Leave weapons here!" }, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "This is a request to our staff adventuring out into this place: Please don't bring deadly weapons back to our ships and stations. If you have to, take them straight to security or research if appropriate. Thank you."; name = "Leave weapons here!" }, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "This is a request to our staff adventuring out into this place: Please don't bring deadly weapons back to our ships and stations. If you have to, take them straight to security or research if appropriate. Thank you."; name = "Leave weapons here!" }, @@ -331,7 +331,7 @@ /area/redgate/fantasy/aliens) "cf" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/house) "ch" = ( @@ -352,12 +352,12 @@ /area/redgate/fantasy/castle) "cl" = ( /obj/structure/table/rack/wood, -/obj/item/weapon/material/sword/rapier, +/obj/item/material/sword/rapier, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/rogue) "co" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /turf/simulated/floor/wood, /area/redgate/fantasy/blacksmith) "cq" = ( @@ -374,11 +374,11 @@ /area/redgate/fantasy/druid) "cs" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/snacks/xenomeat, +/obj/item/reagent_containers/food/snacks/xenomeat, /turf/simulated/floor/wood, /area/redgate/fantasy/butcher) "ct" = ( -/obj/item/weapon/reagent_containers/glass/bucket/wood, +/obj/item/reagent_containers/glass/bucket/wood, /turf/simulated/floor/wood/alt/panel, /area/redgate/fantasy/house) "cu" = ( @@ -451,17 +451,17 @@ /area/redgate/fantasy/alchemist) "cS" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/meatbun, +/obj/item/reagent_containers/food/snacks/meatbun, /turf/simulated/floor/carpet/oracarpet, /area/redgate/fantasy/arena) "cT" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /turf/simulated/floor/wood/alt/panel, /area/redgate/fantasy/walls) "cU" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/pancakes, +/obj/item/reagent_containers/food/snacks/pancakes, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/bakery) "cV" = ( @@ -490,8 +490,8 @@ /area/redgate/fantasy/aliens) "df" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/reagent_containers/glass/bottle/potion/healing, -/obj/item/weapon/reagent_containers/glass/bottle/potion/healing, +/obj/item/reagent_containers/glass/bottle/potion/healing, +/obj/item/reagent_containers/glass/bottle/potion/healing, /turf/simulated/floor/wood, /area/redgate/fantasy/alchemist) "dg" = ( @@ -500,12 +500,12 @@ /area/redgate/fantasy/house) "dh" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/twohanded/baseballbat, +/obj/item/material/twohanded/baseballbat, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/house) "di" = ( /obj/structure/closet/cabinet, -/obj/item/weapon/reagent_containers/food/snacks/rawmeatball, +/obj/item/reagent_containers/food/snacks/rawmeatball, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/house) "dj" = ( @@ -518,7 +518,7 @@ /area/redgate/fantasy/aliens) "dl" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /turf/simulated/floor/wood/alt/parquet, /area/redgate/fantasy/house) "dm" = ( @@ -545,12 +545,12 @@ /area/redgate/fantasy/streets) "du" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/snacks/bearmeat, +/obj/item/reagent_containers/food/snacks/bearmeat, /turf/simulated/floor/wood, /area/redgate/fantasy/butcher) "dw" = ( /obj/structure/table/woodentable, -/obj/item/clothing/gloves/ring/material/silver, +/obj/item/clothing/accessory/ring/material/silver, /obj/structure/window/basic{ dir = 4 }, @@ -565,7 +565,7 @@ /area/redgate/fantasy/mininghouse) "dF" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/gun/launcher/crossbow/bow, +/obj/item/gun/launcher/crossbow/bow, /obj/machinery/light/small/torch{ dir = 8 }, @@ -593,7 +593,7 @@ /area/redgate/fantasy/streets) "dM" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/reagent_containers/glass/bottle/potion/fire_resist, +/obj/item/reagent_containers/glass/bottle/potion/fire_resist, /turf/simulated/floor/wood, /area/redgate/fantasy/alchemist) "dO" = ( @@ -601,7 +601,7 @@ /turf/simulated/floor/wood, /area/redgate/fantasy/blacksmith) "dQ" = ( -/obj/item/weapon/reagent_containers/glass/bucket/wood, +/obj/item/reagent_containers/glass/bucket/wood, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/gambling) "dU" = ( @@ -639,7 +639,7 @@ /area/redgate/fantasy/guardhouse) "eg" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/minihoe, +/obj/item/material/minihoe, /turf/simulated/floor/concrete, /area/redgate/fantasy/farmhouse) "ei" = ( @@ -718,12 +718,12 @@ /area/redgate/fantasy/jewler) "eE" = ( /obj/structure/table/hardwoodtable, -/obj/item/weapon/reagent_containers/food/drinks/bottle/holywater, +/obj/item/reagent_containers/food/drinks/bottle/holywater, /turf/simulated/floor/carpet/gaycarpet, /area/redgate/fantasy/castle) "eF" = ( /obj/structure/table/hardwoodtable, -/obj/item/weapon/storage/bible, +/obj/item/storage/bible, /turf/simulated/floor/concrete, /area/redgate/fantasy/paladinhouse) "eH" = ( @@ -742,18 +742,18 @@ /area/redgate/fantasy/paladinhouse) "eN" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/quicheslice/filled, +/obj/item/reagent_containers/food/snacks/quicheslice/filled, /turf/simulated/floor/carpet/oracarpet, /area/redgate/fantasy/arena) "eO" = ( /obj/structure/closet/crate/wooden, -/obj/item/weapon/firework_star/weather/confetti, +/obj/item/firework_star/weather/confetti, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/house) "eQ" = ( /obj/structure/table/woodentable, /obj/random/potion_ingredient, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "Apprentice, I have written out these instructions so that you may operate the alembic in your own time without me needing to watch over your every step.

      The alembic is simple to operate, simply activate the spontaneous heating stone beneath it to begin boiling the contents. However, the contents that you choose are critical in creating a potion of any merit, and mixing the wrong materials may create something completely useless, wasting our resources!

      You must mix two materials, and only ever two. One primary ingredient, this can be one of many materials with valuable alchemical properties. The other is a potion base, this will be essential to properly break down and transmute the ingredient into a potent potion. Once you have added the two, boil as above, and collect the distilate in a bottle. As for choosing your base, here is a short guide, but be aware that the properties of an ingredient are not always immediately apparent and some experimentation may be required:

      Alkahest is a potent solvent and particularly useful for dissolving metals.

      Aqua Regia is a heavily corrosive mixture of acids that readily dissolve most organic materials.

      Ichor is a rich ferrous fluid that binds well to minerals, it can often break down gemstones.
      "; name = "alchemy instructions" }, @@ -776,8 +776,8 @@ /area/redgate/fantasy/bard) "eT" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/reagent_containers/food/snacks/sliceable/carrotcake, -/obj/item/weapon/reagent_containers/food/snacks/sliceable/carrotcake, +/obj/item/reagent_containers/food/snacks/sliceable/carrotcake, +/obj/item/reagent_containers/food/snacks/sliceable/carrotcake, /turf/simulated/floor/wood/alt/parquet, /area/redgate/fantasy/grocery) "eV" = ( @@ -785,19 +785,19 @@ dir = 4 }, /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /turf/simulated/floor/wood/alt/panel, /area/redgate/fantasy/walls) "eW" = ( /obj/structure/table/marble, -/obj/item/weapon/flame/candle/candelabra, +/obj/item/flame/candle/candelabra, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/church) "eX" = ( /obj/structure/closet/cabinet, /obj/item/clothing/accessory/maidcorset, /obj/item/clothing/under/dress/black_corset, -/obj/item/weapon/handcuffs/cable/plantfiber, +/obj/item/handcuffs/cable/plantfiber, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/washhouse) "eY" = ( @@ -814,7 +814,7 @@ /area/redgate/fantasy/arena) "fb" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/bearmeat, +/obj/item/reagent_containers/food/snacks/bearmeat, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/barbarian) "fc" = ( @@ -822,7 +822,7 @@ /area/redgate/fantasy/farmhouse) "ff" = ( /obj/structure/table/rack/wood, -/obj/item/weapon/gun/launcher/crossbow, +/obj/item/gun/launcher/crossbow, /obj/machinery/light/small/torch{ dir = 4 }, @@ -884,7 +884,7 @@ /area/redgate/fantasy/blacksmith) "fz" = ( /obj/structure/bookcase, -/obj/item/weapon/book/custom_library/fiction/truelovehathmyheart, +/obj/item/book/custom_library/fiction/truelovehathmyheart, /turf/simulated/floor/concrete, /area/redgate/fantasy/castle) "fB" = ( @@ -912,7 +912,7 @@ /area/redgate/fantasy/castle) "fH" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/knife/butch, +/obj/item/material/knife/butch, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/farmhouse) "fJ" = ( @@ -921,7 +921,7 @@ /area/redgate/fantasy/gambling) "fL" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/purpledouble, +/obj/item/bedsheet/purpledouble, /turf/simulated/floor/carpet/purple, /area/redgate/fantasy/bard) "fM" = ( @@ -949,9 +949,9 @@ /area/redgate/fantasy/bard) "fY" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/device/flashlight/lantern, -/obj/item/device/flashlight/lantern, -/obj/item/device/flashlight/lantern, +/obj/item/flashlight/lantern, +/obj/item/flashlight/lantern, +/obj/item/flashlight/lantern, /turf/simulated/floor/wood, /area/redgate/fantasy/mininghouse) "ga" = ( @@ -1001,8 +1001,8 @@ /area/redgate/fantasy/blacksmith) "gx" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/knife/butch, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/knife/butch, +/obj/item/material/kitchen/rollingpin, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/tavern) "gz" = ( @@ -1043,7 +1043,7 @@ /area/redgate/fantasy/gambling) "gN" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/bun, +/obj/item/reagent_containers/food/snacks/bun, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/bakery) "gO" = ( @@ -1076,7 +1076,7 @@ /turf/simulated/floor/wood/alt, /area/redgate/fantasy/cafe) "ha" = ( -/obj/item/weapon/reagent_containers/glass/bucket/wood, +/obj/item/reagent_containers/glass/bucket/wood, /turf/simulated/floor/wood, /area/redgate/fantasy/paladinhouse) "hg" = ( @@ -1086,7 +1086,7 @@ /obj/structure/closet/cabinet, /obj/item/clothing/head/fancy_crown, /obj/item/clothing/suit/wizrobe/magusred, -/obj/item/weapon/material/sword/sabre{ +/obj/item/material/sword/sabre{ color = "#FFD700" }, /turf/simulated/floor/carpet, @@ -1172,7 +1172,7 @@ /area/redgate/fantasy/tavern) "hR" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/hosdouble, +/obj/item/bedsheet/hosdouble, /obj/structure/curtain{ color = "#FF0000" }, @@ -1210,7 +1210,7 @@ "hZ" = ( /obj/structure/table/rack/shelf/wood, /obj/random/soap, -/obj/item/weapon/towel/random, +/obj/item/towel/random, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/bard) "ia" = ( @@ -1219,7 +1219,7 @@ /area/redgate/fantasy/farmhouse) "ic" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/fishing_rod/built, +/obj/item/material/fishing_rod/built, /turf/simulated/floor/outdoors/grass/seasonal, /area/redgate/fantasy/streets) "id" = ( @@ -1253,7 +1253,7 @@ /area/redgate/fantasy/jewler) "in" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/towel/random, +/obj/item/towel/random, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/farmhouse) "io" = ( @@ -1298,8 +1298,8 @@ /obj/item/clothing/shoes/knight/black, /obj/item/clothing/gloves/combat/knight/brown, /obj/item/clothing/head/helmet/gladiator, -/obj/item/weapon/shield/primitive, -/obj/item/weapon/handcuffs/cable/plantfiber, +/obj/item/shield/primitive, +/obj/item/handcuffs/cable/plantfiber, /turf/simulated/floor/concrete, /area/redgate/fantasy/walls) "iD" = ( @@ -1323,7 +1323,7 @@ /area/redgate/fantasy/farmhouse) "iJ" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /turf/simulated/floor/wood/alt/panel, /area/redgate/fantasy/redgate) "iK" = ( @@ -1340,8 +1340,8 @@ /area/redgate/fantasy/gambling) "iQ" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/material/twohanded/fireaxe/foam, -/obj/item/weapon/material/twohanded/fireaxe/foam, +/obj/item/material/twohanded/fireaxe/foam, +/obj/item/material/twohanded/fireaxe/foam, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/house) "iS" = ( @@ -1353,7 +1353,7 @@ /area/redgate/fantasy/house) "iV" = ( /obj/structure/table/rack/wood, -/obj/item/weapon/material/sword/longsword, +/obj/item/material/sword/longsword, /obj/structure/prop/fantasy/pinkbanner{ pixel_y = 32 }, @@ -1385,7 +1385,7 @@ /area/redgate/fantasy/arena) "jc" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/drinks/golden_cup, +/obj/item/reagent_containers/food/drinks/golden_cup, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/church) "je" = ( @@ -1401,26 +1401,26 @@ /area/redgate/fantasy/paladinhouse) "jj" = ( /obj/structure/closet/walllocker/wooden/north, -/obj/item/weapon/material/knife/table, -/obj/item/weapon/material/knife/table, -/obj/item/weapon/material/knife/table, -/obj/item/weapon/material/knife/table, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/spoon, -/obj/item/weapon/material/kitchen/utensil/spoon, -/obj/item/weapon/material/kitchen/utensil/spoon, -/obj/item/weapon/material/kitchen/utensil/spoon, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, +/obj/item/material/knife/table, +/obj/item/material/knife/table, +/obj/item/material/knife/table, +/obj/item/material/knife/table, +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/spoon, +/obj/item/material/kitchen/utensil/spoon, +/obj/item/material/kitchen/utensil/spoon, +/obj/item/material/kitchen/utensil/spoon, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/farmhouse) "jl" = ( /obj/structure/bookcase, -/obj/item/weapon/book/bundle/custom_library/fiction/chroniclesofmargatavol1, +/obj/item/book/bundle/custom_library/fiction/chroniclesofmargatavol1, /obj/machinery/light/small/torch{ dir = 1 }, @@ -1444,7 +1444,7 @@ /area/redgate/fantasy/house) "jv" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/reagent_containers/food/snacks/sliceable/tofubread, +/obj/item/reagent_containers/food/snacks/sliceable/tofubread, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/bakery) "jw" = ( @@ -1453,7 +1453,7 @@ /area/redgate/fantasy/farmhouse) "jx" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lantern, +/obj/item/flashlight/lantern, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/jewler) "jz" = ( @@ -1466,7 +1466,7 @@ /turf/simulated/floor/tiled/techfloor, /area/redgate/fantasy/aliens) "jD" = ( -/obj/item/weapon/mop, +/obj/item/mop, /turf/simulated/floor/wood/alt/panel, /area/redgate/fantasy/castle) "jG" = ( @@ -1489,7 +1489,7 @@ /area/redgate/fantasy/tavern) "jM" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/reagent_containers/glass/rag, +/obj/item/reagent_containers/glass/rag, /turf/simulated/floor/wood/alt/panel, /area/redgate/fantasy/castle) "jO" = ( @@ -1555,7 +1555,7 @@ /area/redgate/fantasy/house) "kg" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/glass/bucket/wood, +/obj/item/reagent_containers/glass/bucket/wood, /turf/simulated/floor/concrete, /area/redgate/fantasy/walls) "ki" = ( @@ -1614,7 +1614,7 @@ /area/redgate/fantasy/castle) "kH" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/purpledouble, +/obj/item/bedsheet/purpledouble, /turf/simulated/floor/wood, /area/redgate/fantasy/alchemist) "kJ" = ( @@ -1622,12 +1622,12 @@ /obj/effect/floor_decal/spline/fancy/wood{ dir = 5 }, -/obj/item/weapon/deck/cards/casino, +/obj/item/deck/cards/casino, /turf/simulated/floor/carpet/green, /area/redgate/fantasy/gambling) "kK" = ( /obj/structure/table/woodentable, -/obj/item/weapon/pen/crayon/blue{ +/obj/item/pen/crayon/blue{ name = "chalk" }, /turf/simulated/floor/wood, @@ -1646,16 +1646,16 @@ /area/redgate/fantasy/arena) "kO" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/cafe) "kP" = ( @@ -1673,7 +1673,7 @@ /turf/simulated/floor/wood/alt/parquet, /area/redgate/fantasy/restaurant) "kU" = ( -/obj/item/weapon/reagent_containers/glass/bottle/potion/faerie, +/obj/item/reagent_containers/glass/bottle/potion/faerie, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/house) "kX" = ( @@ -1696,7 +1696,7 @@ /area/redgate/fantasy/jewler) "lb" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/kitchen/rollingpin, /turf/simulated/floor/wood/alt/parquet, /area/redgate/fantasy/restaurant) "ld" = ( @@ -1726,7 +1726,7 @@ /area/redgate/fantasy/shop) "lk" = ( /obj/structure/bookcase, -/obj/item/weapon/book/custom_library/religious/wayofbleedingswan, +/obj/item/book/custom_library/religious/wayofbleedingswan, /turf/simulated/floor/concrete, /area/redgate/fantasy/castle) "ll" = ( @@ -1780,7 +1780,7 @@ /area/redgate/fantasy/paladinhouse) "ly" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/orangedouble, +/obj/item/bedsheet/orangedouble, /obj/machinery/light/small/torch{ dir = 4 }, @@ -1793,7 +1793,7 @@ /turf/simulated/floor/wood/alt, /area/redgate/fantasy/cafe) "lC" = ( -/obj/item/weapon/reagent_containers/glass/bucket/wood, +/obj/item/reagent_containers/glass/bucket/wood, /turf/simulated/floor/concrete, /area/redgate/fantasy/guardhouse) "lF" = ( @@ -1814,7 +1814,7 @@ /obj/structure/closet/crate/wooden, /obj/item/clothing/under/primitive, /obj/item/clothing/shoes/primitive, -/obj/item/weapon/material/twohanded/staff, +/obj/item/material/twohanded/staff, /obj/item/clothing/accessory/poncho/roles/cloak{ name = "simple cloak" }, @@ -1848,7 +1848,7 @@ /area/redgate/fantasy/castle) "lR" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/flatbread, +/obj/item/reagent_containers/food/snacks/flatbread, /obj/machinery/light/small/torch{ dir = 4 }, @@ -1856,8 +1856,8 @@ /area/redgate/fantasy/bakery) "lS" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/knife/butch, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/knife/butch, +/obj/item/material/kitchen/rollingpin, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/house) "lT" = ( @@ -1878,7 +1878,7 @@ /area/redgate/fantasy/washhouse) "ma" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/shovel, +/obj/item/shovel, /turf/simulated/floor/concrete, /area/redgate/fantasy/blacksmith) "md" = ( @@ -1903,7 +1903,7 @@ /area/redgate/fantasy/butcher) "ml" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/fishing_net, +/obj/item/material/fishing_net, /turf/simulated/floor/outdoors/grass/seasonal, /area/redgate/fantasy/streets) "mm" = ( @@ -1931,7 +1931,7 @@ /area/redgate/fantasy/restaurant) "mn" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, /turf/simulated/floor/wood, /area/redgate/fantasy/butcher) "mo" = ( @@ -1941,7 +1941,7 @@ /obj/item/clothing/mask/smokable/cigarette/cigar, /obj/item/clothing/mask/smokable/cigarette/cigar, /obj/item/clothing/mask/smokable/cigarette/cigar, -/obj/item/weapon/storage/box/matches, +/obj/item/storage/box/matches, /turf/simulated/floor/wood/alt/parquet, /area/redgate/fantasy/house) "mp" = ( @@ -1950,7 +1950,7 @@ /area/redgate/fantasy/blacksmith) "mq" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/purpledouble, +/obj/item/bedsheet/purpledouble, /turf/simulated/floor/carpet/gaycarpet, /area/redgate/fantasy/castle) "ms" = ( @@ -2019,7 +2019,7 @@ /area/redgate/fantasy/paladinhouse) "mG" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/bible, +/obj/item/storage/bible, /turf/simulated/floor/concrete, /area/redgate/fantasy/paladinhouse) "mL" = ( @@ -2034,7 +2034,7 @@ /turf/simulated/floor/wood/alt/panel, /area/redgate/fantasy/ranger) "mM" = ( -/obj/item/weapon/reagent_containers/glass/bucket/wood, +/obj/item/reagent_containers/glass/bucket/wood, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/jewler) "mO" = ( @@ -2042,7 +2042,7 @@ /obj/effect/floor_decal/spline/fancy/wood{ dir = 9 }, -/obj/item/weapon/deck/cards/casino, +/obj/item/deck/cards/casino, /turf/simulated/floor/carpet/green, /area/redgate/fantasy/gambling) "mQ" = ( @@ -2058,7 +2058,7 @@ /area/redgate/fantasy/arena) "mT" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/farmhouse) "mU" = ( @@ -2067,7 +2067,7 @@ /area/redgate/fantasy/redgate) "mW" = ( /obj/structure/table/woodentable, -/obj/item/clothing/gloves/ring/material/diamond, +/obj/item/clothing/accessory/ring/material/diamond, /obj/structure/window/basic{ dir = 4 }, @@ -2092,7 +2092,7 @@ /area/redgate/fantasy/butcher) "ng" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lantern, +/obj/item/flashlight/lantern, /turf/simulated/floor/wood/alt/parquet, /area/redgate/fantasy/house) "nj" = ( @@ -2105,7 +2105,7 @@ /area/redgate/fantasy/house) "nn" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/storage/bag/ore, +/obj/item/storage/bag/ore, /turf/simulated/floor/wood, /area/redgate/fantasy/mininghouse) "nr" = ( @@ -2175,7 +2175,7 @@ /area/redgate/fantasy/house) "nJ" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/cedouble, +/obj/item/bedsheet/cedouble, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/jewler) "nK" = ( @@ -2184,18 +2184,18 @@ /area/redgate/fantasy/farmhouse) "nM" = ( /obj/structure/closet/crate/wooden, -/obj/item/weapon/material/minihoe, -/obj/item/weapon/shovel/spade, +/obj/item/material/minihoe, +/obj/item/shovel/spade, /turf/simulated/floor/wood, /area/redgate/fantasy/druid) "nN" = ( /obj/structure/table/marble, -/obj/item/weapon/surgical/scalpel, +/obj/item/surgical/scalpel, /turf/simulated/floor/concrete, /area/redgate/fantasy/churchhouse) "nP" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/reagent_containers/food/snacks/sliceable/bread, +/obj/item/reagent_containers/food/snacks/sliceable/bread, /obj/machinery/light/small/torch{ dir = 4 }, @@ -2227,7 +2227,7 @@ /turf/simulated/floor/concrete, /area/redgate/fantasy/arena) "nX" = ( -/obj/item/weapon/reagent_containers/glass/bucket/wood, +/obj/item/reagent_containers/glass/bucket/wood, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/tavern) "nY" = ( @@ -2247,8 +2247,8 @@ /area/redgate/fantasy/gambling) "od" = ( /obj/structure/closet/crate/wooden, -/obj/item/device/flashlight/lantern, -/obj/item/weapon/material/knife/tacknife/boot, +/obj/item/flashlight/lantern, +/obj/item/material/knife/tacknife/boot, /obj/random/potion_ingredient, /turf/simulated/floor/wood/alt/panel, /area/redgate/fantasy/walls) @@ -2280,15 +2280,15 @@ /area/redgate/fantasy/streets) "oq" = ( /obj/structure/closet/walllocker/wooden/north, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, /turf/simulated/floor/carpet/purcarpet, /area/redgate/fantasy/washhouse) "os" = ( @@ -2297,7 +2297,7 @@ /area/redgate/fantasy/house) "ot" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/tavern) "ou" = ( @@ -2308,13 +2308,13 @@ /area/redgate/fantasy/castle) "oz" = ( /obj/structure/closet/walllocker/wooden/north, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, /turf/simulated/floor/concrete, /area/redgate/fantasy/arena) "oA" = ( @@ -2344,7 +2344,7 @@ /area/redgate/fantasy/castle) "oH" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "Apprentice, I have written out these instructions so that you may operate the alembic in your own time without me needing to watch over your every step.

      The alembic is simple to operate, simply activate the spontaneous heating stone beneath it to begin boiling the contents. However, the contents that you choose are critical in creating a potion of any merit, and mixing the wrong materials may create something completely useless, wasting our resources!

      You must mix two materials, and only ever two. One primary ingredient, this can be one of many materials with valuable alchemical properties. The other is a potion base, this will be essential to properly break down and transmute the ingredient into a potent potion. Once you have added the two, boil as above, and collect the distilate in a bottle. As for choosing your base, here is a short guide, but be aware that the properties of an ingredient are not always immediately apparent and some experimentation may be required:

      Alkahest is a potent solvent and particularly useful for dissolving metals.

      Aqua Regia is a heavily corrosive mixture of acids that readily dissolve most organic materials.

      Ichor is a rich ferrous fluid that binds well to minerals, it can often break down gemstones.
      "; name = "alchemy instructions" }, @@ -2359,61 +2359,61 @@ /area/redgate/fantasy/aliens) "oJ" = ( /obj/structure/closet/cabinet, -/obj/item/weapon/tray, -/obj/item/weapon/tray, -/obj/item/weapon/tray, -/obj/item/weapon/material/knife{ +/obj/item/tray, +/obj/item/tray, +/obj/item/tray, +/obj/item/material/knife{ default_material = "gold" }, -/obj/item/weapon/material/knife{ +/obj/item/material/knife{ default_material = "gold" }, -/obj/item/weapon/material/knife{ +/obj/item/material/knife{ default_material = "gold" }, -/obj/item/weapon/material/knife{ +/obj/item/material/knife{ default_material = "gold" }, -/obj/item/weapon/material/knife{ +/obj/item/material/knife{ default_material = "gold" }, -/obj/item/weapon/material/knife{ +/obj/item/material/knife{ default_material = "gold" }, -/obj/item/weapon/material/kitchen/utensil/fork{ +/obj/item/material/kitchen/utensil/fork{ default_material = "gold" }, -/obj/item/weapon/material/kitchen/utensil/fork{ +/obj/item/material/kitchen/utensil/fork{ default_material = "gold" }, -/obj/item/weapon/material/kitchen/utensil/fork{ +/obj/item/material/kitchen/utensil/fork{ default_material = "gold" }, -/obj/item/weapon/material/kitchen/utensil/fork{ +/obj/item/material/kitchen/utensil/fork{ default_material = "gold" }, -/obj/item/weapon/material/kitchen/utensil/fork{ +/obj/item/material/kitchen/utensil/fork{ default_material = "gold" }, -/obj/item/weapon/material/kitchen/utensil/fork{ +/obj/item/material/kitchen/utensil/fork{ default_material = "gold" }, -/obj/item/weapon/material/kitchen/utensil/spoon{ +/obj/item/material/kitchen/utensil/spoon{ default_material = "gold" }, -/obj/item/weapon/material/kitchen/utensil/spoon{ +/obj/item/material/kitchen/utensil/spoon{ default_material = "gold" }, -/obj/item/weapon/material/kitchen/utensil/spoon{ +/obj/item/material/kitchen/utensil/spoon{ default_material = "gold" }, -/obj/item/weapon/material/kitchen/utensil/spoon{ +/obj/item/material/kitchen/utensil/spoon{ default_material = "gold" }, -/obj/item/weapon/material/kitchen/utensil/spoon{ +/obj/item/material/kitchen/utensil/spoon{ default_material = "gold" }, -/obj/item/weapon/material/kitchen/utensil/spoon{ +/obj/item/material/kitchen/utensil/spoon{ default_material = "gold" }, /turf/simulated/floor/concrete, @@ -2431,18 +2431,18 @@ /turf/simulated/floor/wood/alt, /area/redgate/fantasy/bakery) "oV" = ( -/obj/item/weapon/reagent_containers/glass/bucket/wood, +/obj/item/reagent_containers/glass/bucket/wood, /obj/machinery/light/small/torch, /turf/simulated/floor/wood/alt/parquet, /area/redgate/fantasy/house) "oW" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/berryclafoutis, +/obj/item/reagent_containers/food/snacks/berryclafoutis, /turf/simulated/floor/wood, /area/redgate/fantasy/mininghouse) "oX" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /turf/simulated/floor/wood, /area/redgate/fantasy/butcher) "pa" = ( @@ -2451,7 +2451,7 @@ /area/redgate/fantasy/bard) "pb" = ( /obj/structure/table/woodentable, -/obj/item/weapon/coin/gold, +/obj/item/coin/gold, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/jewler) "pc" = ( @@ -2473,8 +2473,8 @@ /area/redgate/fantasy/aliens) "pg" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/reagent_containers/food/snacks/sliceable/bread, -/obj/item/weapon/reagent_containers/food/snacks/sliceable/bread, +/obj/item/reagent_containers/food/snacks/sliceable/bread, +/obj/item/reagent_containers/food/snacks/sliceable/bread, /turf/simulated/floor/wood/alt/parquet, /area/redgate/fantasy/grocery) "pi" = ( @@ -2483,7 +2483,7 @@ /area/redgate/fantasy/house) "pj" = ( /obj/structure/table/woodentable, -/obj/item/weapon/shovel/spade, +/obj/item/shovel/spade, /turf/simulated/floor/concrete, /area/redgate/fantasy/farmhouse) "pl" = ( @@ -2507,7 +2507,7 @@ /area/redgate/fantasy/grocery) "pq" = ( /obj/structure/table/woodentable, -/obj/item/clothing/gloves/ring/material/gold, +/obj/item/clothing/accessory/ring/material/gold, /obj/structure/window/basic{ dir = 4 }, @@ -2555,13 +2555,13 @@ /area/redgate/fantasy/bard) "pI" = ( /obj/structure/table/woodentable, -/obj/item/weapon/potion_material/blood_ruby, +/obj/item/potion_material/blood_ruby, /turf/simulated/floor/wood, /area/redgate/fantasy/alchemist) "pJ" = ( /obj/structure/closet/cabinet, /obj/item/clothing/under/sexyclown, -/obj/item/weapon/handcuffs/cable/plantfiber, +/obj/item/handcuffs/cable/plantfiber, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/washhouse) "pK" = ( @@ -2579,7 +2579,7 @@ "pQ" = ( /obj/structure/closet/cabinet, /obj/item/clothing/under/dress/westernbustle, -/obj/item/weapon/storage/wallet, +/obj/item/storage/wallet, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/tavern) "pS" = ( @@ -2588,7 +2588,7 @@ /area/redgate/fantasy/castle) "pU" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/knife/butch, +/obj/item/material/knife/butch, /obj/machinery/light/small/torch, /turf/simulated/floor/concrete, /area/redgate/fantasy/castle) @@ -2655,7 +2655,7 @@ /area/redgate/fantasy/walls) "qm" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/knife/butch, +/obj/item/material/knife/butch, /turf/simulated/floor/wood/alt/parquet, /area/redgate/fantasy/restaurant) "qp" = ( @@ -2684,7 +2684,7 @@ /area/redgate/fantasy/bard) "qB" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/purpledouble, +/obj/item/bedsheet/purpledouble, /obj/structure/curtain{ color = "#FF0000" }, @@ -2703,7 +2703,7 @@ /turf/simulated/floor/wood/alt, /area/redgate/fantasy/shop) "qI" = ( -/obj/item/weapon/potion_material/fairy_house, +/obj/item/potion_material/fairy_house, /turf/simulated/floor/outdoors/grass/seasonal/notrees, /area/redgate/fantasy/streets) "qK" = ( @@ -2736,14 +2736,14 @@ /obj/random/meat, /obj/random/meat, /obj/random/meat, -/obj/item/weapon/reagent_containers/food/snacks/flatbread, -/obj/item/weapon/reagent_containers/food/snacks/flatbread, -/obj/item/weapon/reagent_containers/food/snacks/flatbread, -/obj/item/weapon/reagent_containers/food/snacks/flatbread, -/obj/item/weapon/reagent_containers/food/snacks/sliceable/bread, -/obj/item/weapon/reagent_containers/food/snacks/sliceable/bread, -/obj/item/weapon/reagent_containers/food/snacks/sliceable/bread, -/obj/item/weapon/reagent_containers/food/snacks/sliceable/bread, +/obj/item/reagent_containers/food/snacks/flatbread, +/obj/item/reagent_containers/food/snacks/flatbread, +/obj/item/reagent_containers/food/snacks/flatbread, +/obj/item/reagent_containers/food/snacks/flatbread, +/obj/item/reagent_containers/food/snacks/sliceable/bread, +/obj/item/reagent_containers/food/snacks/sliceable/bread, +/obj/item/reagent_containers/food/snacks/sliceable/bread, +/obj/item/reagent_containers/food/snacks/sliceable/bread, /obj/machinery/light/small/torch{ dir = 8 }, @@ -2791,7 +2791,7 @@ /area/redgate/fantasy/arena) "rg" = ( /obj/structure/closet/crate/wooden, -/obj/item/weapon/pickaxe/gold, +/obj/item/pickaxe/gold, /turf/simulated/floor/wood, /area/redgate/fantasy/mininghouse) "rh" = ( @@ -2801,7 +2801,7 @@ /area/redgate/fantasy/rogue) "ri" = ( /obj/structure/table/gamblingtable, -/obj/item/weapon/deck/cards/casino, +/obj/item/deck/cards/casino, /turf/simulated/floor/carpet/green, /area/redgate/fantasy/gambling) "rk" = ( @@ -2823,23 +2823,23 @@ /turf/simulated/floor/concrete, /area/redgate/fantasy/blacksmith) "ru" = ( -/obj/item/weapon/potion_base/aqua_regia, +/obj/item/potion_base/aqua_regia, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/house) "rv" = ( /obj/structure/closet/crate/wooden, -/obj/item/weapon/material/star/ninja, -/obj/item/weapon/material/star/ninja, -/obj/item/weapon/material/star/ninja, -/obj/item/weapon/material/star/ninja, -/obj/item/weapon/material/star/ninja, +/obj/item/material/star/ninja, +/obj/item/material/star/ninja, +/obj/item/material/star/ninja, +/obj/item/material/star/ninja, +/obj/item/material/star/ninja, /obj/item/clothing/accessory/gaiter/charcoal, /obj/item/clothing/under/shiny/catsuit, /obj/item/clothing/head/shiny_hood, /obj/item/clothing/accessory/shiny/gloves, /obj/item/clothing/accessory/shiny/socks, /obj/random/potion, -/obj/item/weapon/handcuffs/legcuffs/bola, +/obj/item/handcuffs/legcuffs/bola, /turf/simulated/floor/wood/alt/panel, /area/redgate/fantasy/house) "rx" = ( @@ -2855,7 +2855,7 @@ /turf/simulated/floor/wood/alt, /area/redgate/fantasy/house) "rz" = ( -/obj/item/weapon/reagent_containers/glass/bucket/wood, +/obj/item/reagent_containers/glass/bucket/wood, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/bakery) "rB" = ( @@ -2890,7 +2890,7 @@ /turf/simulated/floor/concrete, /area/redgate/fantasy/arena) "rL" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /obj/machinery/light/small/torch{ @@ -2906,7 +2906,7 @@ /area/redgate/fantasy/church) "rO" = ( /obj/structure/table/woodentable, -/obj/item/clothing/gloves/ring/material/wood, +/obj/item/clothing/accessory/ring/material/wood, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/jewler) "rP" = ( @@ -3003,7 +3003,7 @@ /turf/simulated/floor/wood/alt, /area/redgate/fantasy/tavern) "sq" = ( -/obj/item/weapon/reagent_containers/glass/bucket/wood, +/obj/item/reagent_containers/glass/bucket/wood, /turf/simulated/floor/wood/alt/panel, /area/redgate/fantasy/redgate) "ss" = ( @@ -3041,12 +3041,12 @@ /turf/simulated/wall/wood, /area/redgate/fantasy/aliens) "sK" = ( -/obj/item/weapon/reagent_containers/glass/bucket/wood, +/obj/item/reagent_containers/glass/bucket/wood, /turf/simulated/floor/wood/alt/parquet, /area/redgate/fantasy/restaurant) "sL" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/cafe) "sN" = ( @@ -3079,13 +3079,13 @@ /area/redgate/fantasy/guardhouse) "sZ" = ( /obj/structure/table/woodentable, -/obj/item/weapon/handcuffs, +/obj/item/handcuffs, /turf/simulated/floor/wood, /area/redgate/fantasy/paladinhouse) "tc" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/material/knife/tacknife, -/obj/item/weapon/material/knife/tacknife, +/obj/item/material/knife/tacknife, +/obj/item/material/knife/tacknife, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/rogue) "td" = ( @@ -3176,21 +3176,21 @@ /area/redgate/fantasy/grocery) "tG" = ( /obj/structure/closet/walllocker/wooden/north, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/glass_extra/straw, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/glass_extra/straw, /turf/simulated/floor/wood/alt/parquet, /area/redgate/fantasy/restaurant) "tJ" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/knife/butch, +/obj/item/material/knife/butch, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/bard) "tK" = ( @@ -3210,17 +3210,17 @@ /area/redgate/fantasy/streets) "tO" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, /obj/structure/closet/walllocker/wooden/north, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/tavern) @@ -3240,7 +3240,7 @@ dir = 1 }, /obj/structure/table/alien/blue, -/obj/item/weapon/paper/alien{ +/obj/item/paper/alien{ info = "Thus far the mission has been a success, we've managed to integrate ourselves into the local community without arousing suspicion.

      We had initially overestimated the technological level of the locals, and their initial encounters with our equipment did cause a concern. However, we were able to latch onto their superstitious beliefs in magic to explain away the abilities that we possess. To enhance this perception, we've taken to hiding our technology in more mundane looking materials, and the townsfolk appear to be content with this.
      " }, /turf/simulated/floor/tiled/milspec/sterile, @@ -3267,7 +3267,7 @@ /area/redgate/fantasy/house) "ud" = ( /obj/structure/table/hardwoodtable, -/obj/item/weapon/reagent_containers/food/drinks/golden_cup, +/obj/item/reagent_containers/food/drinks/golden_cup, /turf/simulated/floor/carpet/gaycarpet, /area/redgate/fantasy/castle) "ue" = ( @@ -3320,7 +3320,7 @@ /area/redgate/fantasy/paladinhouse) "uq" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/cookie, +/obj/item/reagent_containers/food/snacks/cookie, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/bakery) "ur" = ( @@ -3342,24 +3342,24 @@ /area/redgate/fantasy/cafe) "uu" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, /obj/structure/closet/walllocker/wooden/south, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/tavern) @@ -3370,7 +3370,7 @@ /area/redgate/fantasy/castle) "uC" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/knife/tacknife/boot, +/obj/item/material/knife/tacknife/boot, /turf/simulated/floor/wood/alt/panel, /area/redgate/fantasy/house) "uD" = ( @@ -3400,7 +3400,7 @@ /area/redgate/fantasy/tavern) "uR" = ( /obj/structure/table/rack/wood, -/obj/item/weapon/material/sword/katana, +/obj/item/material/sword/katana, /turf/simulated/floor/wood/alt/panel, /area/redgate/fantasy/castle) "uT" = ( @@ -3430,10 +3430,10 @@ /area/redgate/fantasy/mininghouse) "uZ" = ( /obj/structure/closet/cabinet, -/obj/item/device/flashlight/lantern, +/obj/item/flashlight/lantern, /obj/item/clothing/under/redpyjamas, /obj/item/clothing/under/assistantformal, -/obj/item/weapon/storage/wallet, +/obj/item/storage/wallet, /obj/item/clothing/mask/gas/plaguedoctor, /turf/simulated/floor/wood, /area/redgate/fantasy/alchemist) @@ -3442,12 +3442,12 @@ /area/redgate/fantasy/cafe) "vb" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/reagent_containers/food/snacks/sliceable/meatbread, +/obj/item/reagent_containers/food/snacks/sliceable/meatbread, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/bakery) "ve" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/cafe) "vf" = ( @@ -3465,7 +3465,7 @@ /area/redgate/fantasy/butcher) "vl" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/clothing/gloves/ring/material/silver, +/obj/item/clothing/accessory/ring/material/silver, /obj/machinery/light/small/torch{ dir = 8 }, @@ -3473,14 +3473,14 @@ /area/redgate/fantasy/jewler) "vm" = ( /obj/structure/table/rack/wood, -/obj/item/weapon/melee/chainofcommand{ +/obj/item/melee/chainofcommand{ name = "iron whip" }, /turf/simulated/floor/concrete, /area/redgate/fantasy/arena) "vn" = ( /obj/structure/bookcase, -/obj/item/weapon/book/bundle/custom_library/fiction/silence, +/obj/item/book/bundle/custom_library/fiction/silence, /turf/simulated/floor/concrete, /area/redgate/fantasy/castle) "vo" = ( @@ -3489,7 +3489,7 @@ /area/redgate/fantasy/castle) "vp" = ( /obj/structure/table/woodentable, -/obj/item/clothing/gloves/ring/material/void_opal, +/obj/item/clothing/accessory/ring/material/void_opal, /obj/structure/window/basic{ dir = 4 }, @@ -3497,8 +3497,8 @@ /area/redgate/fantasy/jewler) "vq" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/material/twohanded/spear/foam, -/obj/item/weapon/material/twohanded/spear/foam, +/obj/item/material/twohanded/spear/foam, +/obj/item/material/twohanded/spear/foam, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/house) "vt" = ( @@ -3539,7 +3539,7 @@ /area/redgate/fantasy/jewler) "vI" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper, +/obj/item/paper, /turf/simulated/floor/wood/alt/parquet, /area/redgate/fantasy/guardhouse) "vJ" = ( @@ -3588,7 +3588,7 @@ /turf/simulated/floor/carpet, /area/redgate/fantasy/castle) "vU" = ( -/obj/item/weapon/reagent_containers/glass/bucket/wood, +/obj/item/reagent_containers/glass/bucket/wood, /turf/simulated/floor/concrete, /area/redgate/fantasy/farmhouse) "vX" = ( @@ -3601,7 +3601,7 @@ /area/redgate/fantasy/washhouse) "vZ" = ( /obj/structure/bookcase, -/obj/item/weapon/book/custom_library/fiction/blacksmithandkinglybloke, +/obj/item/book/custom_library/fiction/blacksmithandkinglybloke, /obj/machinery/light/small/torch, /turf/simulated/floor/concrete, /area/redgate/fantasy/castle) @@ -3636,7 +3636,7 @@ /turf/simulated/floor/carpet, /area/redgate/fantasy/castle) "wh" = ( -/obj/item/weapon/shovel/wood, +/obj/item/shovel/wood, /turf/simulated/floor/wood, /area/redgate/fantasy/druid) "wi" = ( @@ -3658,7 +3658,7 @@ /turf/simulated/floor/wood/alt/panel, /area/redgate/fantasy/washhouse) "wq" = ( -/obj/item/weapon/reagent_containers/glass/bucket/wood, +/obj/item/reagent_containers/glass/bucket/wood, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/bard) "wr" = ( @@ -3742,7 +3742,7 @@ /area/redgate/fantasy/castle) "wX" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/barbarian) "wY" = ( @@ -3763,7 +3763,7 @@ /area/redgate/fantasy/alchemist) "xb" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/beetsoup, +/obj/item/reagent_containers/food/snacks/beetsoup, /turf/simulated/floor/wood, /area/redgate/fantasy/mininghouse) "xc" = ( @@ -3779,8 +3779,8 @@ /area/redgate/fantasy/bard) "xf" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, /obj/machinery/light/small/torch{ dir = 4 }, @@ -3836,7 +3836,7 @@ /area/redgate/fantasy/bakery) "xu" = ( /obj/structure/table/woodentable, -/obj/item/weapon/potion_material/frozen_dew, +/obj/item/potion_material/frozen_dew, /turf/simulated/floor/wood, /area/redgate/fantasy/alchemist) "xy" = ( @@ -3853,9 +3853,9 @@ /obj/item/clothing/suit/wizrobe/fake{ color = "#000000" }, -/obj/item/weapon/staff/broom, +/obj/item/staff/broom, /obj/item/clothing/shoes/sandal, -/obj/item/weapon/material/knife/stone/bone, +/obj/item/material/knife/stone/bone, /turf/simulated/floor/wood/alt/panel, /area/redgate/fantasy/redgate) "xA" = ( @@ -3930,7 +3930,7 @@ /area/redgate/fantasy/farmhouse) "xU" = ( /obj/structure/table/rack/wood, -/obj/item/weapon/material/knife/machete/hatchet/unathiknife, +/obj/item/material/knife/machete/hatchet/unathiknife, /obj/structure/prop/fantasy/pinkbanner{ pixel_y = 32 }, @@ -3944,8 +3944,8 @@ /area/redgate/fantasy/farmhouse) "xX" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, /turf/simulated/floor/wood/alt/parquet, /area/redgate/fantasy/grocery) "xY" = ( @@ -3996,7 +3996,7 @@ /obj/item/clothing/mask/smokable/cigarette/cigar, /obj/item/clothing/mask/smokable/cigarette/cigar, /obj/item/clothing/mask/smokable/cigarette/cigar, -/obj/item/weapon/storage/box/matches, +/obj/item/storage/box/matches, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/house) "yp" = ( @@ -4016,14 +4016,14 @@ /area/redgate/fantasy/cafe) "yy" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/reagent_containers/glass/bucket/wood, -/obj/item/weapon/reagent_containers/glass/bucket/wood, -/obj/item/weapon/reagent_containers/glass/bucket/wood, +/obj/item/reagent_containers/glass/bucket/wood, +/obj/item/reagent_containers/glass/bucket/wood, +/obj/item/reagent_containers/glass/bucket/wood, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/shop) "yA" = ( /obj/structure/table/hardwoodtable, -/obj/item/weapon/pen/crayon/red{ +/obj/item/pen/crayon/red{ name = "chalk" }, /turf/simulated/floor/concrete, @@ -4035,8 +4035,8 @@ /area/redgate/fantasy/churchhouse) "yC" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, /obj/machinery/light/small/torch{ dir = 8 }, @@ -4081,21 +4081,21 @@ /area/redgate/fantasy/hedgemaze) "yR" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lantern, +/obj/item/flashlight/lantern, /turf/simulated/floor/carpet/purple, /area/redgate/fantasy/bard) "yT" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/farmhouse) "yV" = ( /obj/structure/table/rack/wood, -/obj/item/weapon/material/sword/longsword, +/obj/item/material/sword/longsword, /obj/structure/prop/fantasy/redbanner{ pixel_y = 32 }, @@ -4168,7 +4168,7 @@ /area/redgate/fantasy/guardhouse) "zp" = ( /obj/structure/table/woodentable, -/obj/item/weapon/flame/candle/candelabra/everburn, +/obj/item/flame/candle/candelabra/everburn, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/cafe) "zq" = ( @@ -4181,7 +4181,7 @@ /area/redgate/fantasy/streets) "zx" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper, +/obj/item/paper, /turf/simulated/floor/wood, /area/redgate/fantasy/alchemist) "zz" = ( @@ -4216,7 +4216,7 @@ /area/redgate/fantasy/aliens) "zK" = ( /obj/structure/table/hardwoodtable, -/obj/item/weapon/reagent_containers/food/drinks/bottle/holywater, +/obj/item/reagent_containers/food/drinks/bottle/holywater, /turf/simulated/floor/concrete, /area/redgate/fantasy/paladinhouse) "zP" = ( @@ -4263,7 +4263,7 @@ /turf/simulated/floor/wood/alt/panel, /area/redgate/fantasy/castle) "Ae" = ( -/obj/item/weapon/reagent_containers/glass/bucket/wood, +/obj/item/reagent_containers/glass/bucket/wood, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/house) "Af" = ( @@ -4299,8 +4299,8 @@ /area/redgate/fantasy/churchhouse) "Ao" = ( /obj/structure/closet/crate/wooden, -/obj/item/device/flashlight/lantern, -/obj/item/weapon/material/knife/tacknife/boot, +/obj/item/flashlight/lantern, +/obj/item/material/knife/tacknife/boot, /obj/random/fantasy_item, /turf/simulated/floor/wood/alt/panel, /area/redgate/fantasy/walls) @@ -4310,13 +4310,13 @@ /area/redgate/fantasy/house) "Aq" = ( /obj/structure/closet/cabinet, -/obj/item/weapon/moneybag, -/obj/item/weapon/simple_key/dungeon, +/obj/item/moneybag, +/obj/item/simple_key/dungeon, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/house) "As" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/bun, +/obj/item/reagent_containers/food/snacks/bun, /turf/simulated/floor/wood, /area/redgate/fantasy/mininghouse) "At" = ( @@ -4324,10 +4324,10 @@ /area/redgate/fantasy/bakery) "Au" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper/crumpled, -/obj/item/weapon/paper/crumpled, -/obj/item/weapon/paper/crumpled, -/obj/item/weapon/paper/crumpled, +/obj/item/paper/crumpled, +/obj/item/paper/crumpled, +/obj/item/paper/crumpled, +/obj/item/paper/crumpled, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/farmhouse) "Av" = ( @@ -4339,7 +4339,7 @@ /turf/simulated/wall/stonelogs, /area/redgate/fantasy/churchhouse) "Az" = ( -/obj/item/weapon/reagent_containers/glass/bucket/wood, +/obj/item/reagent_containers/glass/bucket/wood, /turf/simulated/floor/wood/alt/parquet, /area/redgate/fantasy/grocery) "AA" = ( @@ -4368,7 +4368,7 @@ /turf/simulated/floor/wood/alt, /area/redgate/fantasy/farmhouse) "AL" = ( -/obj/item/weapon/shovel, +/obj/item/shovel, /turf/simulated/floor/concrete, /area/redgate/fantasy/farmhouse) "AN" = ( @@ -4378,21 +4378,21 @@ /area/redgate/fantasy/castle) "AO" = ( /obj/structure/table/woodentable, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, /turf/simulated/floor/wood/alt/panel, /area/redgate/fantasy/washhouse) "AQ" = ( /obj/structure/bookcase, -/obj/item/weapon/book/custom_library/fiction/myrock, +/obj/item/book/custom_library/fiction/myrock, /turf/simulated/floor/wood/alt/panel, /area/redgate/fantasy/redgate) "AR" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/knife/stone/wood, +/obj/item/material/knife/stone/wood, /turf/simulated/floor/wood, /area/redgate/fantasy/druid) "AS" = ( @@ -4414,12 +4414,12 @@ /area/redgate/fantasy/aliens) "AY" = ( /obj/structure/bookcase, -/obj/item/weapon/book/bundle/custom_library/fiction/manfromsnowyriver, +/obj/item/book/bundle/custom_library/fiction/manfromsnowyriver, /turf/simulated/floor/concrete, /area/redgate/fantasy/castle) "Ba" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/reagent_containers/food/snacks/sliceable/xenomeatbread, +/obj/item/reagent_containers/food/snacks/sliceable/xenomeatbread, /obj/machinery/light/small/torch{ dir = 4 }, @@ -4427,7 +4427,7 @@ /area/redgate/fantasy/bakery) "Bb" = ( /obj/structure/table/woodentable, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /turf/simulated/floor/wood, /area/redgate/fantasy/blacksmith) "Bd" = ( @@ -4459,7 +4459,7 @@ /area/redgate/fantasy/washhouse) "Bn" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/barbarian) "Bp" = ( @@ -4485,13 +4485,13 @@ /area/redgate/fantasy/house) "Bz" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/material/knife/tacknife/boot, +/obj/item/material/knife/tacknife/boot, /turf/simulated/floor/concrete, /area/redgate/fantasy/blacksmith) "BA" = ( /obj/structure/closet/crate/chest, /obj/random/fantasy_item, -/obj/item/weapon/material/sword/longsword, +/obj/item/material/sword/longsword, /obj/item/clothing/suit/armor/combat/imperial, /turf/simulated/floor/wood/alt/parquet, /area/redgate/fantasy/guardhouse) @@ -4528,7 +4528,7 @@ /area/redgate/fantasy/paladinhouse) "BN" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/greendouble, +/obj/item/bedsheet/greendouble, /turf/simulated/floor/carpet/green, /area/redgate/fantasy/house) "BQ" = ( @@ -4537,8 +4537,8 @@ /area/redgate/fantasy/restaurant) "BT" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/material/sword/foam, -/obj/item/weapon/material/sword/foam, +/obj/item/material/sword/foam, +/obj/item/material/sword/foam, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/house) "BY" = ( @@ -4546,7 +4546,7 @@ /area/redgate/fantasy/arena) "Ca" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/glass/bottle/potion, +/obj/item/reagent_containers/glass/bottle/potion, /obj/machinery/light/small/torch{ dir = 1 }, @@ -4559,16 +4559,16 @@ "Cf" = ( /obj/structure/table/woodentable, /obj/structure/closet/walllocker/wooden/south, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, /turf/simulated/floor/concrete, /area/redgate/fantasy/castle) "Cg" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/kitchen/rollingpin, /turf/simulated/floor/concrete, /area/redgate/fantasy/castle) "Ci" = ( @@ -4577,8 +4577,8 @@ /obj/item/clothing/shoes/knight/black, /obj/item/clothing/gloves/combat/knight/brown, /obj/item/clothing/head/helmet/gladiator, -/obj/item/weapon/shield/primitive, -/obj/item/weapon/handcuffs/cable/plantfiber, +/obj/item/shield/primitive, +/obj/item/handcuffs/cable/plantfiber, /turf/simulated/floor/wood/alt/parquet, /area/redgate/fantasy/guardhouse) "Ck" = ( @@ -4598,8 +4598,8 @@ /area/redgate/fantasy/blacksmith) "Cu" = ( /obj/structure/closet/crate/wooden, -/obj/item/device/flashlight/lantern, -/obj/item/weapon/material/knife/tacknife/boot, +/obj/item/flashlight/lantern, +/obj/item/material/knife/tacknife/boot, /obj/random/potion_base, /turf/simulated/floor/wood/alt/panel, /area/redgate/fantasy/walls) @@ -4652,12 +4652,12 @@ /area/redgate/fantasy/streets) "CI" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/material/knife/stone/wood, +/obj/item/material/knife/stone/wood, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/rogue) "CK" = ( /obj/structure/closet/crate/wooden, -/obj/item/weapon/material/sword/longsword, +/obj/item/material/sword/longsword, /obj/item/clothing/accessory/holster/machete/rapier/swords, /turf/simulated/floor/wood, /area/redgate/fantasy/blacksmith) @@ -4692,14 +4692,14 @@ /turf/simulated/floor/concrete, /area/redgate/fantasy/guardhouse) "CY" = ( -/obj/item/weapon/reagent_containers/glass/bucket/wood, +/obj/item/reagent_containers/glass/bucket/wood, /obj/machinery/light/small/torch{ dir = 8 }, /turf/simulated/floor/wood/alt/panel, /area/redgate/fantasy/washhouse) "Db" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/cafe) "Dc" = ( @@ -4742,22 +4742,22 @@ /turf/simulated/floor/wood, /area/redgate/fantasy/mininghouse) "Dn" = ( -/obj/item/weapon/reagent_containers/glass/bucket/wood, +/obj/item/reagent_containers/glass/bucket/wood, /turf/simulated/floor/concrete, /area/redgate/fantasy/walls) "Do" = ( /obj/structure/closet/crate/chest, /obj/item/clothing/accessory/bracelet/material/gold, /obj/item/clothing/ears/earring/dangle/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, /obj/random/potion_base, -/obj/item/weapon/picnic_blankets_carried, +/obj/item/picnic_blankets_carried, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/castle) "Dq" = ( @@ -4782,11 +4782,11 @@ /turf/simulated/floor/carpet, /area/redgate/fantasy/castle) "Dw" = ( -/obj/item/device/flashlight/lantern, +/obj/item/flashlight/lantern, /turf/simulated/floor/concrete, /area/redgate/fantasy/mininghouse) "Dz" = ( -/obj/item/weapon/reagent_containers/food/drinks/bottle/holywater, +/obj/item/reagent_containers/food/drinks/bottle/holywater, /obj/structure/table/rack/shelf/wood, /turf/simulated/floor/concrete, /area/redgate/fantasy/paladinhouse) @@ -4796,7 +4796,7 @@ /turf/simulated/floor/wood, /area/redgate/fantasy/blacksmith) "DI" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /turf/simulated/floor/wood/alt, @@ -4812,7 +4812,7 @@ dir = 5 }, /obj/structure/table/woodentable, -/obj/item/weapon/flame/candle/candelabra/everburn, +/obj/item/flame/candle/candelabra/everburn, /turf/simulated/floor/carpet/bcarpet, /area/redgate/fantasy/cafe) "DN" = ( @@ -4835,7 +4835,7 @@ /area/redgate/fantasy/redgate) "DS" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/twobread, +/obj/item/reagent_containers/food/snacks/twobread, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/bakery) "DT" = ( @@ -4847,7 +4847,7 @@ /area/redgate/fantasy/castle) "DU" = ( /obj/structure/table/woodentable, -/obj/item/weapon/tool/crowbar, +/obj/item/tool/crowbar, /turf/simulated/floor/wood/alt/panel, /area/redgate/fantasy/house) "DV" = ( @@ -4927,8 +4927,8 @@ /area/redgate/fantasy/guardhouse) "Ew" = ( /obj/structure/closet/crate/wooden, -/obj/item/device/flashlight/lantern, -/obj/item/weapon/material/knife/tacknife/boot, +/obj/item/flashlight/lantern, +/obj/item/material/knife/tacknife/boot, /obj/random/instrument, /turf/simulated/floor/wood/alt/panel, /area/redgate/fantasy/walls) @@ -4964,9 +4964,9 @@ /area/redgate/fantasy/streets) "EO" = ( /obj/structure/closet/walllocker/wooden/east, -/obj/item/weapon/potion_base/alkahest, -/obj/item/weapon/potion_base/aqua_regia, -/obj/item/weapon/potion_base/ichor, +/obj/item/potion_base/alkahest, +/obj/item/potion_base/aqua_regia, +/obj/item/potion_base/ichor, /obj/random/potion_base, /obj/random/potion_ingredient, /turf/simulated/floor/wood, @@ -4992,7 +4992,7 @@ /area/redgate/fantasy/rogue) "EY" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/double, +/obj/item/bedsheet/double, /turf/simulated/floor/wood/alt/panel, /area/redgate/fantasy/house) "Fa" = ( @@ -5009,8 +5009,8 @@ /obj/item/clothing/shoes/knight/black, /obj/item/clothing/gloves/combat/knight/brown, /obj/item/clothing/head/helmet/gladiator, -/obj/item/weapon/shield/primitive, -/obj/item/weapon/handcuffs/cable/plantfiber, +/obj/item/shield/primitive, +/obj/item/handcuffs/cable/plantfiber, /obj/machinery/light/small/torch{ dir = 4 }, @@ -5029,7 +5029,7 @@ /area/redgate/fantasy/churchhouse) "Fg" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/towel/random, +/obj/item/towel/random, /turf/simulated/floor/wood, /area/redgate/fantasy/mininghouse) "Fh" = ( @@ -5056,7 +5056,7 @@ "Fn" = ( /obj/structure/closet/cabinet, /obj/item/clothing/under/pirate, -/obj/item/weapon/reagent_containers/food/snacks/sliceable/bread, +/obj/item/reagent_containers/food/snacks/sliceable/bread, /turf/simulated/floor/wood/alt/panel, /area/redgate/fantasy/house) "Fo" = ( @@ -5076,7 +5076,7 @@ /area/redgate/fantasy/house) "Fs" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/glass/bottle/potion/relaxation, +/obj/item/reagent_containers/glass/bottle/potion/relaxation, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/house) "Fw" = ( @@ -5095,12 +5095,12 @@ /area/redgate/fantasy/church) "FB" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/pickaxe/four_pick, +/obj/item/pickaxe/four_pick, /turf/simulated/floor/wood, /area/redgate/fantasy/mininghouse) "FD" = ( /obj/structure/table/woodentable, -/obj/item/weapon/tray, +/obj/item/tray, /turf/simulated/floor/concrete, /area/redgate/fantasy/castle) "FE" = ( @@ -5126,22 +5126,22 @@ /area/redgate/fantasy/house) "FQ" = ( /obj/structure/table/woodentable, -/obj/item/clothing/gloves/knuckledusters, +/obj/item/clothing/accessory/knuckledusters, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/house) "FS" = ( /obj/structure/table/marble, -/obj/item/weapon/surgical/retractor, +/obj/item/surgical/retractor, /turf/simulated/floor/concrete, /area/redgate/fantasy/churchhouse) "FV" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/bard) "FX" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /turf/simulated/floor/wood/alt/panel, /area/redgate/fantasy/ranger) "FZ" = ( @@ -5153,7 +5153,7 @@ /area/redgate/fantasy/rogue) "Gb" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/pickaxe, +/obj/item/pickaxe, /turf/simulated/floor/wood, /area/redgate/fantasy/mininghouse) "Gc" = ( @@ -5168,12 +5168,12 @@ /area/redgate/fantasy/house) "Ge" = ( /obj/structure/closet/cabinet, -/obj/item/weapon/storage/wallet, +/obj/item/storage/wallet, /turf/simulated/floor/wood/alt/parquet, /area/redgate/fantasy/grocery) "Gf" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/roastbeef, +/obj/item/reagent_containers/food/snacks/roastbeef, /turf/simulated/floor/carpet/oracarpet, /area/redgate/fantasy/arena) "Gi" = ( @@ -5203,7 +5203,7 @@ /obj/structure/closet/cabinet, /obj/item/clothing/head/collectable/tophat, /obj/item/clothing/under/gentlesuit, -/obj/item/weapon/cane, +/obj/item/cane, /obj/item/clothing/gloves/white, /obj/item/clothing/glasses/monocle, /obj/item/clothing/shoes/dress, @@ -5221,7 +5221,7 @@ /area/redgate/fantasy/barbarian) "Gt" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/rogue) "Gu" = ( @@ -5276,7 +5276,7 @@ /turf/simulated/floor/wood/alt, /area/redgate/fantasy/rogue) "GL" = ( -/obj/item/weapon/reagent_containers/food/snacks/old/taco, +/obj/item/reagent_containers/food/snacks/old/taco, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/house) "GM" = ( @@ -5288,7 +5288,7 @@ "GP" = ( /obj/structure/closet/cabinet, /obj/item/clothing/under/dress/wench, -/obj/item/weapon/storage/wallet, +/obj/item/storage/wallet, /obj/random/potion_base, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/tavern) @@ -5308,14 +5308,14 @@ /area/redgate/fantasy/hedgemaze) "GX" = ( /obj/structure/table/woodentable, -/obj/item/weapon/bone/horn, +/obj/item/bone/horn, /turf/simulated/floor/wood/alt/panel, /area/redgate/fantasy/redgate) "Ha" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/melee/classic_baton, -/obj/item/weapon/melee/classic_baton, -/obj/item/weapon/melee/classic_baton, +/obj/item/melee/classic_baton, +/obj/item/melee/classic_baton, +/obj/item/melee/classic_baton, /turf/simulated/floor/wood/alt/parquet, /area/redgate/fantasy/guardhouse) "Hb" = ( @@ -5328,7 +5328,7 @@ /area/redgate/fantasy/house) "Hd" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/towel/random, +/obj/item/towel/random, /turf/simulated/floor/wood, /area/redgate/fantasy/paladinhouse) "He" = ( @@ -5354,7 +5354,7 @@ /turf/simulated/floor/wood/alt/panel, /area/redgate/fantasy/washhouse) "Hn" = ( -/obj/item/weapon/tool/wrench/brass, +/obj/item/tool/wrench/brass, /turf/simulated/floor/concrete, /area/redgate/fantasy/farmhouse) "Ho" = ( @@ -5370,12 +5370,12 @@ /area/redgate/fantasy/alchemist) "Hx" = ( /obj/structure/bookcase, -/obj/item/weapon/book/custom_library/fiction/myrock, +/obj/item/book/custom_library/fiction/myrock, /turf/simulated/floor/concrete, /area/redgate/fantasy/castle) "Hy" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/ore/iron, +/obj/item/ore/iron, /turf/simulated/floor/wood, /area/redgate/fantasy/mininghouse) "Hz" = ( @@ -5389,7 +5389,7 @@ /obj/effect/floor_decal/spline/fancy/wood{ dir = 4 }, -/obj/item/weapon/deck/cards/casino, +/obj/item/deck/cards/casino, /turf/simulated/floor/carpet/green, /area/redgate/fantasy/gambling) "HC" = ( @@ -5405,12 +5405,12 @@ /area/redgate/fantasy/mininghouse) "HE" = ( /obj/structure/table/woodentable, -/obj/item/weapon/book/custom_library/fiction/blacksmithandkinglybloke, +/obj/item/book/custom_library/fiction/blacksmithandkinglybloke, /turf/simulated/floor/wood, /area/redgate/fantasy/blacksmith) "HF" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/reddouble, +/obj/item/bedsheet/reddouble, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/house) "HH" = ( @@ -5467,7 +5467,7 @@ /area/redgate/fantasy/aliens) "HY" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/knife/butch, +/obj/item/material/knife/butch, /turf/simulated/floor/wood/alt/panel, /area/redgate/fantasy/ranger) "Ib" = ( @@ -5476,7 +5476,7 @@ /area/redgate/fantasy/castle) "Id" = ( /obj/structure/table/woodentable, -/obj/item/weapon/flame/candle/candelabra/everburn, +/obj/item/flame/candle/candelabra/everburn, /turf/simulated/floor/wood/alt/parquet, /area/redgate/fantasy/restaurant) "If" = ( @@ -5529,7 +5529,7 @@ /area/redgate/fantasy/house) "IC" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/box/roulette_balls_fancy, +/obj/item/storage/box/roulette_balls_fancy, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/gambling) "ID" = ( @@ -5575,21 +5575,21 @@ /area/redgate/fantasy/house) "IM" = ( /obj/structure/closet/walllocker/wooden/north, -/obj/item/weapon/material/knife/table, -/obj/item/weapon/material/knife/table, -/obj/item/weapon/material/knife/table, -/obj/item/weapon/material/knife/table, -/obj/item/weapon/material/knife/table, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/spoon, -/obj/item/weapon/material/kitchen/utensil/spoon, -/obj/item/weapon/material/kitchen/utensil/spoon, -/obj/item/weapon/material/kitchen/utensil/spoon, -/obj/item/weapon/material/kitchen/utensil/spoon, +/obj/item/material/knife/table, +/obj/item/material/knife/table, +/obj/item/material/knife/table, +/obj/item/material/knife/table, +/obj/item/material/knife/table, +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/spoon, +/obj/item/material/kitchen/utensil/spoon, +/obj/item/material/kitchen/utensil/spoon, +/obj/item/material/kitchen/utensil/spoon, +/obj/item/material/kitchen/utensil/spoon, /turf/simulated/floor/wood/alt/parquet, /area/redgate/fantasy/restaurant) "IP" = ( @@ -5628,11 +5628,11 @@ /area/redgate/fantasy/aliens) "Ja" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, /turf/simulated/floor/concrete, /area/redgate/fantasy/walls) "Jd" = ( @@ -5656,7 +5656,7 @@ /area/redgate/fantasy/house) "Jg" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /turf/simulated/floor/wood/alt/parquet, /area/redgate/fantasy/grocery) "Jh" = ( @@ -5679,12 +5679,12 @@ /obj/item/clothing/suit/storage/hooded/chaplain_hoodie, /obj/item/clothing/under/rank/chaplain, /obj/item/clothing/shoes/dress, -/obj/item/weapon/storage/bible/booze, +/obj/item/storage/bible/booze, /turf/simulated/floor/concrete, /area/redgate/fantasy/church) "Jm" = ( /obj/structure/bookcase, -/obj/item/weapon/book/custom_library/fiction/irishairmanforseesdeath, +/obj/item/book/custom_library/fiction/irishairmanforseesdeath, /turf/simulated/floor/concrete, /area/redgate/fantasy/castle) "Jn" = ( @@ -5696,8 +5696,8 @@ /area/redgate/fantasy/castle) "Jo" = ( /obj/structure/closet/crate/wooden, -/obj/item/device/flashlight/lantern, -/obj/item/weapon/material/knife/tacknife/boot, +/obj/item/flashlight/lantern, +/obj/item/material/knife/tacknife/boot, /turf/simulated/floor/wood/alt/panel, /area/redgate/fantasy/walls) "Jr" = ( @@ -5706,7 +5706,7 @@ /area/redgate/fantasy/arena) "Js" = ( /obj/structure/table/woodentable, -/obj/item/weapon/picnic_blankets_carried, +/obj/item/picnic_blankets_carried, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/house) "Jt" = ( @@ -5736,7 +5736,7 @@ /area/redgate/fantasy/guardhouse) "JD" = ( /obj/structure/table/woodentable, -/obj/item/weapon/picnic_blankets_carried, +/obj/item/picnic_blankets_carried, /turf/simulated/floor/wood, /area/redgate/fantasy/mininghouse) "JE" = ( @@ -5767,7 +5767,7 @@ /area/redgate/fantasy/walls) "JO" = ( /obj/structure/bookcase, -/obj/item/weapon/book/bundle/custom_library/fiction/ghostship, +/obj/item/book/bundle/custom_library/fiction/ghostship, /turf/simulated/floor/concrete, /area/redgate/fantasy/castle) "JP" = ( @@ -5775,7 +5775,7 @@ /obj/item/instrument/violin/golden, /obj/random/instrument, /obj/random/potion_base, -/obj/item/weapon/material/sword/rapier, +/obj/item/material/sword/rapier, /turf/simulated/floor/carpet/purple, /area/redgate/fantasy/bard) "JT" = ( @@ -5791,8 +5791,8 @@ /area/redgate/fantasy/hedgemaze) "JW" = ( /obj/structure/closet/crate/wooden, -/obj/item/device/flashlight/lantern, -/obj/item/weapon/material/knife/tacknife/boot, +/obj/item/flashlight/lantern, +/obj/item/material/knife/tacknife/boot, /obj/random/material, /turf/simulated/floor/wood/alt/panel, /area/redgate/fantasy/walls) @@ -5804,7 +5804,7 @@ /area/redgate/fantasy/house) "JY" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/reagent_containers/glass/bucket/wood, +/obj/item/reagent_containers/glass/bucket/wood, /turf/simulated/floor/wood/alt/panel, /area/redgate/fantasy/house) "JZ" = ( @@ -5813,7 +5813,7 @@ /area/redgate/fantasy/mininghouse) "Ka" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/material/sword/sabre, +/obj/item/material/sword/sabre, /turf/simulated/floor/concrete, /area/redgate/fantasy/walls) "Kb" = ( @@ -5838,7 +5838,7 @@ /turf/simulated/floor/carpet/green, /area/redgate/fantasy/house) "Ki" = ( -/obj/item/weapon/material/gravemarker, +/obj/item/material/gravemarker, /turf/simulated/floor/outdoors/grass/seasonal/notrees, /area/redgate/fantasy/streets) "Kk" = ( @@ -5849,7 +5849,7 @@ /area/redgate/fantasy/grocery) "Km" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lantern, +/obj/item/flashlight/lantern, /turf/simulated/floor/carpet/green, /area/redgate/fantasy/house) "Kq" = ( @@ -5879,7 +5879,7 @@ /area/redgate/fantasy/guardhouse) "KB" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/twohanded/staff, +/obj/item/material/twohanded/staff, /turf/simulated/floor/concrete, /area/redgate/fantasy/arena) "KE" = ( @@ -5897,7 +5897,7 @@ /turf/simulated/floor/wood/alt/panel, /area/redgate/fantasy/castle) "KK" = ( -/obj/item/weapon/reagent_containers/food/snacks/worm, +/obj/item/reagent_containers/food/snacks/worm, /turf/simulated/floor/outdoors/grass/seasonal, /area/redgate/fantasy/streets) "KM" = ( @@ -5955,7 +5955,7 @@ /area/redgate/fantasy/gambling) "Lg" = ( /obj/structure/bookcase, -/obj/item/weapon/book/custom_library/fiction/woodysgotwood, +/obj/item/book/custom_library/fiction/woodysgotwood, /turf/simulated/floor/concrete, /area/redgate/fantasy/castle) "Lh" = ( @@ -5964,7 +5964,7 @@ /area/redgate/fantasy/aliens) "Lj" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/risottoballs, +/obj/item/reagent_containers/food/snacks/risottoballs, /turf/simulated/floor/carpet/oracarpet, /area/redgate/fantasy/arena) "Lk" = ( @@ -5983,7 +5983,7 @@ /area/redgate/fantasy/castle) "Ln" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/material/sword/longsword, +/obj/item/material/sword/longsword, /turf/simulated/floor/wood/alt/parquet, /area/redgate/fantasy/guardhouse) "Lo" = ( @@ -6024,7 +6024,7 @@ /area/redgate/fantasy/bard) "Lz" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/knife/butch, +/obj/item/material/knife/butch, /turf/simulated/floor/wood, /area/redgate/fantasy/butcher) "LA" = ( @@ -6033,12 +6033,12 @@ /turf/simulated/floor/outdoors/sidewalk/slab, /area/redgate/fantasy/hedgemaze) "LE" = ( -/obj/item/weapon/reagent_containers/glass/bucket/wood, +/obj/item/reagent_containers/glass/bucket/wood, /turf/simulated/floor/concrete, /area/redgate/fantasy/castle) "LI" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper, +/obj/item/paper, /turf/simulated/floor/wood, /area/redgate/fantasy/mininghouse) "LJ" = ( @@ -6047,12 +6047,12 @@ /area/redgate/fantasy/streets) "LK" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /turf/simulated/floor/concrete, /area/redgate/fantasy/church) "LN" = ( /obj/structure/closet/crate/wooden, -/obj/item/weapon/storage/bag/ore, +/obj/item/storage/bag/ore, /turf/simulated/floor/concrete, /area/redgate/fantasy/mininghouse) "LR" = ( @@ -6104,16 +6104,16 @@ /area/redgate/fantasy/walls) "Mj" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/snacks/carpmeat/fish, +/obj/item/reagent_containers/food/snacks/carpmeat/fish, /turf/simulated/floor/wood, /area/redgate/fantasy/butcher) "Ml" = ( -/obj/item/weapon/reagent_containers/glass/bucket/wood, +/obj/item/reagent_containers/glass/bucket/wood, /turf/simulated/floor/wood, /area/redgate/fantasy/alchemist) "Mn" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /turf/simulated/floor/wood, /area/redgate/fantasy/paladinhouse) "Mo" = ( @@ -6188,7 +6188,7 @@ /turf/simulated/floor/wood, /area/redgate/fantasy/paladinhouse) "MG" = ( -/obj/item/weapon/reagent_containers/glass/bucket/wood, +/obj/item/reagent_containers/glass/bucket/wood, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/cafe) "MI" = ( @@ -6198,7 +6198,7 @@ /area/redgate/fantasy/house) "MJ" = ( /obj/structure/table/woodentable, -/obj/item/weapon/potion_material/thorny_bulb, +/obj/item/potion_material/thorny_bulb, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/house) "MK" = ( @@ -6217,7 +6217,7 @@ /area/redgate/fantasy/jewler) "MN" = ( /obj/structure/table/rack/wood, -/obj/item/weapon/material/twohanded/longsword, +/obj/item/material/twohanded/longsword, /turf/simulated/floor/wood/alt/panel, /area/redgate/fantasy/castle) "MO" = ( @@ -6251,7 +6251,7 @@ /area/redgate/fantasy/cafe) "MZ" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/glass/rag, +/obj/item/reagent_containers/glass/rag, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/tavern) "Nb" = ( @@ -6265,7 +6265,7 @@ /area/redgate/fantasy/castle) "Ne" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, /turf/simulated/floor/wood/alt/parquet, /area/redgate/fantasy/bard) "Ng" = ( @@ -6278,7 +6278,7 @@ /area/redgate/fantasy/churchhouse) "Nn" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/drinks/bottle/wine, +/obj/item/reagent_containers/food/drinks/bottle/wine, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/church) "Np" = ( @@ -6298,7 +6298,7 @@ /turf/simulated/floor/wood/alt, /area/redgate/fantasy/house) "Nw" = ( -/obj/item/weapon/material/knife/machete/hatchet/stone/bone, +/obj/item/material/knife/machete/hatchet/stone/bone, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/barbarian) "Nx" = ( @@ -6306,7 +6306,7 @@ /area/redgate/fantasy/aliens) "Ny" = ( /obj/structure/table/woodentable, -/obj/item/weapon/flame/match, +/obj/item/flame/match, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/house) "Nz" = ( @@ -6340,7 +6340,7 @@ dir = 9 }, /obj/structure/table/woodentable, -/obj/item/weapon/flame/candle/candelabra/everburn, +/obj/item/flame/candle/candelabra/everburn, /turf/simulated/floor/carpet/bcarpet, /area/redgate/fantasy/cafe) "NH" = ( @@ -6355,7 +6355,7 @@ /area/redgate/fantasy/house) "NJ" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/gun/launcher/crossbow/bow, +/obj/item/gun/launcher/crossbow/bow, /turf/simulated/floor/concrete, /area/redgate/fantasy/paladinhouse) "NL" = ( @@ -6374,7 +6374,7 @@ /turf/simulated/floor/concrete, /area/redgate/fantasy/mininghouse) "NP" = ( -/obj/item/weapon/reagent_containers/glass/bucket/wood, +/obj/item/reagent_containers/glass/bucket/wood, /turf/simulated/floor/wood, /area/redgate/fantasy/mininghouse) "NR" = ( @@ -6385,7 +6385,7 @@ /area/redgate/fantasy/restaurant) "NT" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/berrymuffin/berry, +/obj/item/reagent_containers/food/snacks/berrymuffin/berry, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/bakery) "NW" = ( @@ -6393,11 +6393,11 @@ /turf/simulated/floor/outdoors/grass/seasonal/notrees, /area/redgate/fantasy/streets) "NZ" = ( -/obj/item/weapon/reagent_containers/glass/bucket/wood, +/obj/item/reagent_containers/glass/bucket/wood, /turf/simulated/floor/wood/alt/panel, /area/redgate/fantasy/ranger) "Ob" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, /turf/simulated/floor/wood/alt, @@ -6413,7 +6413,7 @@ /area/redgate/fantasy/grocery) "Od" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/pickaxe/five_pick, +/obj/item/pickaxe/five_pick, /turf/simulated/floor/wood, /area/redgate/fantasy/mininghouse) "Of" = ( @@ -6459,17 +6459,17 @@ /area/redgate/fantasy/cafe) "Ow" = ( /obj/structure/table/woodentable, -/obj/item/weapon/bone/skull, +/obj/item/bone/skull, /turf/simulated/floor/wood/alt/panel, /area/redgate/fantasy/redgate) "Ox" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/glass/bucket/wood, +/obj/item/reagent_containers/glass/bucket/wood, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/house) "Oy" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, /turf/simulated/floor/wood/alt/parquet, /area/redgate/fantasy/guardhouse) "Oz" = ( @@ -6502,13 +6502,13 @@ /area/redgate/fantasy/rogue) "OK" = ( /obj/structure/closet/crate/chest, -/obj/item/weapon/storage/fancy/candle_box, -/obj/item/weapon/storage/fancy/candle_box, -/obj/item/weapon/storage/fancy/candle_box, -/obj/item/weapon/flame/candle/candelabra, -/obj/item/weapon/flame/candle/candelabra, -/obj/item/weapon/flame/candle/candelabra, -/obj/item/weapon/flame/candle/candelabra, +/obj/item/storage/fancy/candle_box, +/obj/item/storage/fancy/candle_box, +/obj/item/storage/fancy/candle_box, +/obj/item/flame/candle/candelabra, +/obj/item/flame/candle/candelabra, +/obj/item/flame/candle/candelabra, +/obj/item/flame/candle/candelabra, /turf/simulated/floor/concrete, /area/redgate/fantasy/castle) "OM" = ( @@ -6523,7 +6523,7 @@ /area/redgate/fantasy/restaurant) "OQ" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/material/twohanded/longsword, +/obj/item/material/twohanded/longsword, /turf/simulated/floor/concrete, /area/redgate/fantasy/paladinhouse) "OS" = ( @@ -6538,8 +6538,8 @@ /area/redgate/fantasy/mininghouse) "OU" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/brown, -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, +/obj/item/bedsheet/brown, /turf/simulated/floor/wood/alt/panel, /area/redgate/fantasy/walls) "OX" = ( @@ -6550,7 +6550,7 @@ /area/redgate/fantasy/barbarian) "OY" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/kitchen/rollingpin, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/bard) "Pa" = ( @@ -6558,7 +6558,7 @@ /area/redgate/fantasy/redgate) "Pb" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/towel/random, +/obj/item/towel/random, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/house) "Pc" = ( @@ -6582,13 +6582,13 @@ /area/redgate/fantasy/arena) "Pf" = ( /obj/structure/table/woodentable, -/obj/item/weapon/tray, +/obj/item/tray, /turf/simulated/floor/wood/alt/parquet, /area/redgate/fantasy/restaurant) "Ph" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/reagent_containers/glass/bottle/potion/antidote, -/obj/item/weapon/reagent_containers/glass/bottle/potion/antidote, +/obj/item/reagent_containers/glass/bottle/potion/antidote, +/obj/item/reagent_containers/glass/bottle/potion/antidote, /turf/simulated/floor/wood, /area/redgate/fantasy/alchemist) "Pj" = ( @@ -6609,7 +6609,7 @@ /area/redgate/fantasy/aliens) "Ps" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/shovel/wood, +/obj/item/shovel/wood, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/shop) "Pu" = ( @@ -6627,7 +6627,7 @@ /area/redgate/fantasy/paladinhouse) "Py" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/knife/machete, +/obj/item/material/knife/machete, /turf/simulated/floor/wood, /area/redgate/fantasy/paladinhouse) "Pz" = ( @@ -6643,30 +6643,30 @@ /area/redgate/fantasy/house) "PG" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, /obj/structure/closet/walllocker/wooden/south, /turf/simulated/floor/concrete, /area/redgate/fantasy/castle) "PH" = ( /obj/structure/table/rack/wood, -/obj/item/weapon/material/knife/machete/hatchet/unathiknife, +/obj/item/material/knife/machete/hatchet/unathiknife, /obj/structure/prop/fantasy/redbanner{ pixel_y = 32 }, @@ -6677,13 +6677,13 @@ dir = 4 }, /obj/structure/table/alien/blue, -/obj/item/weapon/surgical/FixOVein/alien, +/obj/item/surgical/FixOVein/alien, /turf/simulated/floor/tiled/milspec/sterile, /area/redgate/fantasy/aliens) "PJ" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/reagent_containers/food/snacks/funnelcake, -/obj/item/weapon/reagent_containers/food/snacks/funnelcake, +/obj/item/reagent_containers/food/snacks/funnelcake, +/obj/item/reagent_containers/food/snacks/funnelcake, /turf/simulated/floor/wood/alt/parquet, /area/redgate/fantasy/grocery) "PK" = ( @@ -6696,7 +6696,7 @@ /area/redgate/fantasy/rogue) "PL" = ( /obj/structure/table/gamblingtable, -/obj/item/weapon/deck/cards/casino, +/obj/item/deck/cards/casino, /turf/simulated/floor/wood/alt/panel, /area/redgate/fantasy/gambling) "PM" = ( @@ -6722,7 +6722,7 @@ /turf/simulated/floor/wood/alt/parquet, /area/redgate/fantasy/bard) "PU" = ( -/obj/item/weapon/potion_material/blood_ruby, +/obj/item/potion_material/blood_ruby, /turf/simulated/floor/wood/alt/panel, /area/redgate/fantasy/redgate) "PV" = ( @@ -6740,24 +6740,24 @@ /area/redgate/fantasy/castle) "PX" = ( /obj/structure/closet/cabinet, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/food/condiment/enzyme, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, /obj/machinery/light/small/torch{ dir = 8 }, @@ -6788,28 +6788,28 @@ "Qi" = ( /obj/structure/closet/cabinet, /obj/item/clothing/suit/storage/apron/white, -/obj/item/weapon/storage/wallet, +/obj/item/storage/wallet, /turf/simulated/floor/wood, /area/redgate/fantasy/blacksmith) "Qj" = ( /obj/structure/closet/cabinet, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/food/condiment/enzyme, /turf/simulated/floor/wood/alt/parquet, /area/redgate/fantasy/restaurant) "Qn" = ( @@ -6822,29 +6822,29 @@ /area/redgate/fantasy/house) "Qu" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/reagent_containers/food/snacks/sliceable/bananabread, +/obj/item/reagent_containers/food/snacks/sliceable/bananabread, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/bakery) "Qv" = ( /obj/structure/closet/cabinet, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/food/condiment/enzyme, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/house) "Qy" = ( @@ -6853,13 +6853,13 @@ /area/redgate/fantasy/jewler) "QA" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/meatsteak, +/obj/item/reagent_containers/food/snacks/meatsteak, /turf/simulated/floor/concrete, /area/redgate/fantasy/arena) "QF" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/device/flashlight/lantern, -/obj/item/device/flashlight/lantern, +/obj/item/flashlight/lantern, +/obj/item/flashlight/lantern, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/shop) "QL" = ( @@ -6891,14 +6891,14 @@ /area/redgate/fantasy/tavern) "QR" = ( /obj/structure/closet/cabinet, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/farmhouse) "QS" = ( @@ -6938,8 +6938,8 @@ /area/redgate/fantasy/house) "Rj" = ( /obj/structure/closet/cabinet, -/obj/item/weapon/reagent_containers/food/snacks/chocolatebar, -/obj/item/weapon/reagent_containers/food/snacks/chocolatebar, +/obj/item/reagent_containers/food/snacks/chocolatebar, +/obj/item/reagent_containers/food/snacks/chocolatebar, /obj/fruitspawner/apple, /obj/fruitspawner/apple, /obj/fruitspawner/apple, @@ -6968,7 +6968,7 @@ /area/redgate/fantasy/church) "Rp" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/croissant, +/obj/item/reagent_containers/food/snacks/croissant, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/bakery) "Rq" = ( @@ -7012,12 +7012,12 @@ /area/redgate/fantasy/walls) "RA" = ( /obj/structure/bookcase, -/obj/item/weapon/book/bundle/custom_library/fiction/coldmountain, +/obj/item/book/bundle/custom_library/fiction/coldmountain, /turf/simulated/floor/concrete, /area/redgate/fantasy/castle) "RC" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/cherrypie, +/obj/item/reagent_containers/food/snacks/cherrypie, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/bakery) "RE" = ( @@ -7029,8 +7029,8 @@ /area/redgate/fantasy/restaurant) "RF" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/reagent_containers/food/snacks/flatbread, -/obj/item/weapon/reagent_containers/food/snacks/flatbread, +/obj/item/reagent_containers/food/snacks/flatbread, +/obj/item/reagent_containers/food/snacks/flatbread, /turf/simulated/floor/wood/alt/parquet, /area/redgate/fantasy/grocery) "RG" = ( @@ -7091,7 +7091,7 @@ /turf/simulated/floor/wood/alt, /area/redgate/fantasy/castle) "RW" = ( -/obj/item/weapon/reagent_containers/glass/bucket/wood, +/obj/item/reagent_containers/glass/bucket/wood, /turf/simulated/floor/wood/alt/panel, /area/redgate/fantasy/castle) "RX" = ( @@ -7110,7 +7110,7 @@ /turf/simulated/floor/wood/alt, /area/redgate/fantasy/farmhouse) "Sj" = ( -/obj/item/weapon/ore/coal, +/obj/item/ore/coal, /turf/simulated/floor/concrete, /area/redgate/fantasy/mininghouse) "Sm" = ( @@ -7213,7 +7213,7 @@ /turf/simulated/floor/wood/alt, /area/redgate/fantasy/house) "SS" = ( -/obj/item/weapon/reagent_containers/glass/bucket/wood, +/obj/item/reagent_containers/glass/bucket/wood, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/farmhouse) "SW" = ( @@ -7310,7 +7310,7 @@ /area/redgate/fantasy/streets) "TG" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/towel/random, +/obj/item/towel/random, /turf/simulated/floor/concrete, /area/redgate/fantasy/church) "TH" = ( @@ -7323,11 +7323,11 @@ /area/redgate/fantasy/bakery) "TJ" = ( /obj/structure/closet/crate/chest, -/obj/item/weapon/storage/box/matches, -/obj/item/weapon/storage/fancy/blackcandle_box, -/obj/item/weapon/storage/fancy/candle_box, -/obj/item/weapon/storage/fancy/candle_box, -/obj/item/weapon/storage/fancy/whitecandle_box, +/obj/item/storage/box/matches, +/obj/item/storage/fancy/blackcandle_box, +/obj/item/storage/fancy/candle_box, +/obj/item/storage/fancy/candle_box, +/obj/item/storage/fancy/whitecandle_box, /obj/random/potion_ingredient, /obj/random/fantasy_item, /turf/simulated/floor/concrete, @@ -7370,7 +7370,7 @@ /area/redgate/fantasy/castle) "TR" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/snacks/meat/grubmeat, +/obj/item/reagent_containers/food/snacks/meat/grubmeat, /turf/simulated/floor/wood, /area/redgate/fantasy/butcher) "TS" = ( @@ -7379,9 +7379,9 @@ /area/redgate/fantasy/guardhouse) "TT" = ( /obj/structure/closet/cabinet, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, /obj/random/soap, /obj/random/soap, /obj/random/soap, @@ -7398,12 +7398,12 @@ "Uc" = ( /obj/structure/closet/cabinet, /obj/item/clothing/under/dress/maid/sexy, -/obj/item/weapon/handcuffs/cable/plantfiber, +/obj/item/handcuffs/cable/plantfiber, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/washhouse) "Ug" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/tavern) "Ui" = ( @@ -7416,7 +7416,7 @@ /obj/item/clothing/suit/storage/apron, /obj/item/clothing/under/dress/hightrousers, /obj/item/clothing/shoes/sandal/clogs, -/obj/item/weapon/storage/wallet, +/obj/item/storage/wallet, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/cafe) "Un" = ( @@ -7464,7 +7464,7 @@ /area/redgate/fantasy/guardhouse) "UB" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/old/horseburger, +/obj/item/reagent_containers/food/snacks/old/horseburger, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/house) "UF" = ( @@ -7527,17 +7527,17 @@ /area/redgate/fantasy/castle) "UX" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/bible, +/obj/item/storage/bible, /turf/simulated/floor/wood, /area/redgate/fantasy/paladinhouse) "UY" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/glass/bucket/wood, +/obj/item/reagent_containers/glass/bucket/wood, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/tavern) "UZ" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /obj/machinery/light/small/torch{ dir = 4 }, @@ -7545,7 +7545,7 @@ /area/redgate/fantasy/house) "Va" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /turf/simulated/floor/wood/alt/panel, /area/redgate/fantasy/house) "Ve" = ( @@ -7553,7 +7553,7 @@ /turf/simulated/floor/wood/alt, /area/redgate/fantasy/shop) "Vh" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /turf/simulated/floor/wood/alt, @@ -7577,7 +7577,7 @@ /area/redgate/fantasy/house) "Vm" = ( /obj/structure/bookcase, -/obj/item/weapon/book/bundle/custom_library/religious/zoroastrianism, +/obj/item/book/bundle/custom_library/religious/zoroastrianism, /obj/machinery/light/small/torch, /turf/simulated/floor/concrete, /area/redgate/fantasy/castle) @@ -7631,7 +7631,7 @@ /area/redgate/fantasy/ranger) "VK" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/drinks/bottle/holywater, +/obj/item/reagent_containers/food/drinks/bottle/holywater, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/church) "VL" = ( @@ -7650,7 +7650,7 @@ /turf/simulated/floor/wood/alt/panel, /area/redgate/fantasy/ranger) "VS" = ( -/obj/item/weapon/reagent_containers/glass/bucket/wood, +/obj/item/reagent_containers/glass/bucket/wood, /turf/simulated/floor/concrete, /area/redgate/fantasy/church) "VT" = ( @@ -7682,7 +7682,7 @@ /turf/simulated/floor/outdoors/sidewalk, /area/redgate/fantasy/streets) "Wa" = ( -/obj/item/weapon/melee/umbrella/random, +/obj/item/melee/umbrella/random, /turf/simulated/floor/carpet/gaycarpet, /area/redgate/fantasy/castle) "Wc" = ( @@ -7697,7 +7697,7 @@ /area/redgate/fantasy/mininghouse) "Wf" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/shop) "Wg" = ( @@ -7705,7 +7705,7 @@ /obj/effect/floor_decal/spline/fancy/wood{ dir = 8 }, -/obj/item/weapon/deck/cards/casino, +/obj/item/deck/cards/casino, /turf/simulated/floor/carpet/green, /area/redgate/fantasy/gambling) "Wj" = ( @@ -7767,17 +7767,17 @@ /area/redgate/fantasy/castle) "WC" = ( /obj/structure/closet/crate/chest, -/obj/item/weapon/gun/launcher/crossbow/bow, -/obj/item/weapon/arrow/standard, -/obj/item/weapon/arrow/standard, -/obj/item/weapon/arrow/standard, -/obj/item/weapon/arrow/standard, +/obj/item/gun/launcher/crossbow/bow, +/obj/item/arrow/standard, +/obj/item/arrow/standard, +/obj/item/arrow/standard, +/obj/item/arrow/standard, /turf/simulated/floor/wood/alt/panel, /area/redgate/fantasy/ranger) "WF" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/knife/butch, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/knife/butch, +/obj/item/material/kitchen/rollingpin, /obj/machinery/light/small/torch{ dir = 8 }, @@ -7785,7 +7785,7 @@ /area/redgate/fantasy/bakery) "WH" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/snacks/meat/chicken, +/obj/item/reagent_containers/food/snacks/meat/chicken, /turf/simulated/floor/wood, /area/redgate/fantasy/butcher) "WP" = ( @@ -7799,34 +7799,34 @@ /area/redgate/fantasy/mininghouse) "WT" = ( /obj/structure/closet/cabinet, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/picnic_blankets_carried, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/food/condiment/enzyme, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, +/obj/item/picnic_blankets_carried, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/bard) "WU" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/reagent_containers/food/snacks/bun, -/obj/item/weapon/reagent_containers/food/snacks/bun, -/obj/item/weapon/reagent_containers/food/snacks/bun, -/obj/item/weapon/reagent_containers/food/snacks/bun, -/obj/item/weapon/reagent_containers/food/snacks/bun, +/obj/item/reagent_containers/food/snacks/bun, +/obj/item/reagent_containers/food/snacks/bun, +/obj/item/reagent_containers/food/snacks/bun, +/obj/item/reagent_containers/food/snacks/bun, +/obj/item/reagent_containers/food/snacks/bun, /turf/simulated/floor/concrete, /area/redgate/fantasy/arena) "WV" = ( @@ -7836,7 +7836,7 @@ /area/redgate/fantasy/butcher) "WW" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/clothing/gloves/ring/material/gold, +/obj/item/clothing/accessory/ring/material/gold, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/jewler) "WZ" = ( @@ -7887,7 +7887,7 @@ /area/redgate/fantasy/redgate) "Xr" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/gun/launcher/crossbow/bow, +/obj/item/gun/launcher/crossbow/bow, /turf/simulated/floor/concrete, /area/redgate/fantasy/walls) "Xs" = ( @@ -7899,13 +7899,13 @@ "Xx" = ( /obj/structure/table/woodentable, /obj/structure/closet/walllocker/wooden/north, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/material/knife/tacknife/combatknife, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/material/knife/tacknife/combatknife, /obj/effect/floor_decal/spline/fancy/wood{ dir = 8 }, @@ -7942,7 +7942,7 @@ /area/redgate/fantasy/restaurant) "XF" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/towel/random, +/obj/item/towel/random, /turf/simulated/floor/wood/alt/parquet, /area/redgate/fantasy/restaurant) "XG" = ( @@ -8026,7 +8026,7 @@ /area/redgate/fantasy/castle) "Yn" = ( /obj/structure/closet/crate/chest, -/obj/item/device/slow_sizegun/magic, +/obj/item/slow_sizegun/magic, /obj/item/toy/character/wizard, /obj/machinery/light/small/torch{ dir = 4 @@ -8069,12 +8069,12 @@ /area/redgate/fantasy/castle) "Yx" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/soup/onion, +/obj/item/reagent_containers/food/snacks/soup/onion, /turf/simulated/floor/carpet/oracarpet, /area/redgate/fantasy/arena) "YC" = ( /obj/structure/bookcase, -/obj/item/weapon/book/bundle/custom_library/fiction/poemsforarainyday, +/obj/item/book/bundle/custom_library/fiction/poemsforarainyday, /turf/simulated/floor/concrete, /area/redgate/fantasy/castle) "YD" = ( @@ -8095,7 +8095,7 @@ /area/redgate/fantasy/gambling) "YO" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/meatpie, +/obj/item/reagent_containers/food/snacks/meatpie, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/bakery) "YP" = ( @@ -8116,7 +8116,7 @@ /area/redgate/fantasy/guardhouse) "YU" = ( /obj/structure/table/woodentable, -/obj/item/weapon/surgical/scalpel, +/obj/item/surgical/scalpel, /turf/simulated/floor/concrete, /area/redgate/fantasy/arena) "Za" = ( @@ -8159,7 +8159,7 @@ /turf/simulated/floor/wood/alt/panel, /area/redgate/fantasy/walls) "Zo" = ( -/obj/item/weapon/ore/coal, +/obj/item/ore/coal, /obj/machinery/light/small/torch, /turf/simulated/floor/wood, /area/redgate/fantasy/mininghouse) @@ -8218,13 +8218,13 @@ /area/redgate/fantasy/ranger) "ZD" = ( /obj/structure/bookcase, -/obj/item/weapon/book/custom_library/fiction/starsandsometimesfallingones, +/obj/item/book/custom_library/fiction/starsandsometimesfallingones, /turf/simulated/floor/wood/alt/panel, /area/redgate/fantasy/redgate) "ZE" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/ore/coal, -/obj/item/weapon/ore/coal, +/obj/item/ore/coal, +/obj/item/ore/coal, /turf/simulated/floor/wood, /area/redgate/fantasy/mininghouse) "ZH" = ( @@ -8255,12 +8255,12 @@ /area/redgate/fantasy/bard) "ZP" = ( /obj/structure/table/woodentable, -/obj/item/clothing/gloves/ring/material/iron, +/obj/item/clothing/accessory/ring/material/iron, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/jewler) "ZS" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/potion_material/golden_scale, +/obj/item/potion_material/golden_scale, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/jewler) "ZW" = ( @@ -8269,7 +8269,7 @@ /area/redgate/fantasy/rogue) "ZZ" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/toy/snowglobe/snowvillage, +/obj/item/toy/snowglobe/snowvillage, /turf/simulated/floor/wood/alt/parquet, /area/redgate/fantasy/house) diff --git a/maps/redgate/fantasy_dungeon.dmm b/maps/redgate/fantasy_dungeon.dmm index 96aef51a37d..44cc56930bf 100644 --- a/maps/redgate/fantasy_dungeon.dmm +++ b/maps/redgate/fantasy_dungeon.dmm @@ -16,7 +16,7 @@ /area/redgate/fantasy/dungeon) "az" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/caves) "aG" = ( @@ -45,7 +45,7 @@ /area/redgate/fantasy/underwater) "bp" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/bloodsoup, +/obj/item/reagent_containers/food/snacks/bloodsoup, /turf/simulated/floor/concrete, /area/redgate/fantasy/castle) "bw" = ( @@ -151,7 +151,7 @@ /turf/simulated/mineral/floor/ignore_cavegen/cave, /area/redgate/fantasy/caves) "dA" = ( -/obj/item/weapon/towel/random, +/obj/item/towel/random, /turf/simulated/floor/concrete, /area/redgate/fantasy/ratbasement) "dI" = ( @@ -180,12 +180,12 @@ /area/redgate/fantasy/mines) "ei" = ( /obj/structure/table/hardwoodtable, -/obj/item/weapon/material/knife/stone/bone, +/obj/item/material/knife/stone/bone, /turf/simulated/floor/cult, /area/redgate/fantasy/dungeon) "ep" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /turf/simulated/floor/concrete, /area/redgate/fantasy/castle) "es" = ( @@ -198,18 +198,18 @@ /area/redgate/fantasy/mines) "ev" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/coin/iron, +/obj/item/coin/iron, /turf/simulated/floor/concrete, /area/redgate/fantasy/castle) "ew" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/kitchen/utensil/spoon{ +/obj/item/material/kitchen/utensil/spoon{ default_material = "gold" }, /turf/simulated/floor/concrete, /area/redgate/fantasy/castle) "ez" = ( -/obj/item/clothing/gloves/ring/material/gold, +/obj/item/clothing/accessory/ring/material/gold, /turf/simulated/mineral/floor/ignore_cavegen/cave, /area/redgate/fantasy/caves) "eP" = ( @@ -234,7 +234,7 @@ /turf/simulated/floor/wmarble, /area/redgate/fantasy/dungeon) "fB" = ( -/obj/item/weapon/bluespace_crystal, +/obj/item/bluespace_crystal, /turf/simulated/mineral/floor/ignore_cavegen/cave, /area/redgate/fantasy/caves) "fI" = ( @@ -266,10 +266,10 @@ /obj/structure/closet/crate/chest, /obj/random/fishing_junk, /obj/random/fishing_junk, -/obj/item/weapon/reagent_containers/food/snacks/wormdeluxe, -/obj/item/weapon/reagent_containers/food/snacks/wormdeluxe, -/obj/item/weapon/reagent_containers/food/snacks/wormdeluxe, -/obj/item/weapon/reagent_containers/food/snacks/wormdeluxe, +/obj/item/reagent_containers/food/snacks/wormdeluxe, +/obj/item/reagent_containers/food/snacks/wormdeluxe, +/obj/item/reagent_containers/food/snacks/wormdeluxe, +/obj/item/reagent_containers/food/snacks/wormdeluxe, /turf/simulated/mineral/floor/ignore_cavegen/cave, /area/redgate/fantasy/mines) "fT" = ( @@ -306,12 +306,12 @@ /area/redgate/fantasy/mines) "gH" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/bikehorn/rubberducky, +/obj/item/bikehorn/rubberducky, /turf/simulated/floor/wmarble, /area/redgate/fantasy/dungeon) "gJ" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, /turf/simulated/floor/concrete, /area/redgate/fantasy/castle) "gL" = ( @@ -349,7 +349,7 @@ /turf/simulated/floor/cult, /area/redgate/fantasy/dungeon) "hY" = ( -/obj/item/weapon/reagent_containers/food/snacks/bearstew, +/obj/item/reagent_containers/food/snacks/bearstew, /turf/simulated/floor/concrete, /area/redgate/fantasy/castle) "id" = ( @@ -378,7 +378,7 @@ /area/redgate/fantasy/dungeon) "iz" = ( /obj/structure/table/hardwoodtable, -/obj/item/weapon/material/knife/machete/hatchet/stone/bone, +/obj/item/material/knife/machete/hatchet/stone/bone, /turf/simulated/floor/cult, /area/redgate/fantasy/dungeon) "iQ" = ( @@ -399,7 +399,7 @@ /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/fantasy/alienbasement) "jc" = ( -/obj/item/weapon/bone/skull, +/obj/item/bone/skull, /obj/machinery/light/small/torch{ dir = 4 }, @@ -472,9 +472,9 @@ "kE" = ( /obj/structure/closet/crate/chest, /obj/random/potion_base, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, /obj/random/fantasy_item, /turf/simulated/mineral/floor/ignore_cavegen/cave, /area/redgate/fantasy/caves) @@ -532,7 +532,7 @@ /turf/simulated/floor/water/digestive_enzymes, /area/redgate/fantasy/dungeon) "lL" = ( -/obj/item/weapon/reagent_containers/glass/bucket/wood, +/obj/item/reagent_containers/glass/bucket/wood, /turf/simulated/floor/concrete, /area/redgate/fantasy/castle) "lR" = ( @@ -719,7 +719,7 @@ /area/redgate/fantasy/dungeon) "pH" = ( /obj/structure/table/marble, -/obj/item/weapon/telecube/randomized, +/obj/item/telecube/randomized, /turf/simulated/floor/wmarble, /area/redgate/fantasy/dungeon) "pI" = ( @@ -775,7 +775,7 @@ /turf/simulated/mineral/floor/ignore_cavegen/cave, /area/redgate/fantasy/caves) "qY" = ( -/obj/item/weapon/strangerock, +/obj/item/strangerock, /turf/simulated/mineral/floor/ignore_cavegen/cave, /area/redgate/fantasy/caves) "rb" = ( @@ -829,7 +829,7 @@ /area/redgate/fantasy/caves) "sa" = ( /obj/structure/table/marble, -/obj/item/weapon/pen/crayon/red{ +/obj/item/pen/crayon/red{ name = "red chalk" }, /obj/machinery/light/small/torch{ @@ -853,7 +853,7 @@ /area/redgate/fantasy/dungeon) "sm" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/rddouble, +/obj/item/bedsheet/rddouble, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/dungeon) "sw" = ( @@ -861,7 +861,7 @@ /turf/simulated/floor/cult, /area/redgate/fantasy/dungeon) "sE" = ( -/obj/item/weapon/material/fishing_rod/modern/strong, +/obj/item/material/fishing_rod/modern/strong, /turf/simulated/mineral/floor/ignore_cavegen/cave, /area/redgate/fantasy/mines) "sG" = ( @@ -911,7 +911,7 @@ /area/redgate/fantasy/alienbasement) "tO" = ( /obj/structure/table/alien, -/obj/item/weapon/paper/alien{ +/obj/item/paper/alien{ info = "Our search for the source has brought us to this planet, and we were quickly able to locate a seepage of the anomaly in the area. We set up this base immediately beside it, so that we can best study it. However, we are growing concerned as the material continues to spread beyond it's initial sprouting point and has begun to encroach directly on our buildings.

      Our plan was to move our base further back from the site and study from a distance, but we have begun to detect lifeforms traversing the void. Yellow eyes have been seen watching from beyond the safety of the cave, disappearing and reappearing seemingly at random. We weren't aware that anything could survive this, they could hold the key to our scenario and we are requesting immediate support to research this further.
      " }, /turf/simulated/floor/tiled/techfloor, @@ -950,7 +950,7 @@ /area/redgate/fantasy/mines) "uE" = ( /obj/structure/table/alien/blue, -/obj/item/weapon/pickaxe/jackhammer, +/obj/item/pickaxe/jackhammer, /turf/simulated/floor/tiled/techfloor, /area/redgate/fantasy/alienbasement) "uJ" = ( @@ -999,7 +999,7 @@ /area/redgate/fantasy/alienbasement) "vL" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/towel/random, +/obj/item/towel/random, /turf/simulated/floor/wmarble, /area/redgate/fantasy/dungeon) "vV" = ( @@ -1097,7 +1097,7 @@ /area/redgate/fantasy/dungeon) "xI" = ( /obj/structure/table/marble, -/obj/item/weapon/surgical/bone_clamp, +/obj/item/surgical/bone_clamp, /turf/simulated/floor/wmarble, /area/redgate/fantasy/dungeon) "xK" = ( @@ -1115,8 +1115,8 @@ /area/redgate/fantasy/dungeon) "xV" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/kitchen/rollingpin, -/obj/item/weapon/material/knife/butch, +/obj/item/material/kitchen/rollingpin, +/obj/item/material/knife/butch, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/caves) "xX" = ( @@ -1154,7 +1154,7 @@ /turf/simulated/floor/wmarble, /area/redgate/fantasy/dungeon) "yJ" = ( -/obj/item/weapon/coin/gold, +/obj/item/coin/gold, /turf/simulated/mineral/floor/ignore_cavegen/cave, /area/redgate/fantasy/caves) "yM" = ( @@ -1177,7 +1177,7 @@ /area/redgate/fantasy/dungeon) "yV" = ( /obj/structure/table/alien/blue, -/obj/item/weapon/gun/energy/sickshot, +/obj/item/gun/energy/sickshot, /turf/simulated/floor/tiled/techfloor, /area/redgate/fantasy/alienbasement) "yW" = ( @@ -1186,7 +1186,7 @@ /area/redgate/fantasy/crypt) "zh" = ( /obj/structure/table/alien/blue, -/obj/item/device/gps/mining, +/obj/item/gps/mining, /turf/simulated/floor/tiled/techfloor, /area/redgate/fantasy/alienbasement) "zj" = ( @@ -1207,7 +1207,7 @@ /area/redgate/fantasy/crypt) "zB" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/reagent_containers/glass/bucket/wood, +/obj/item/reagent_containers/glass/bucket/wood, /turf/simulated/floor/concrete, /area/redgate/fantasy/castle) "zH" = ( @@ -1223,12 +1223,12 @@ /turf/simulated/floor/concrete, /area/redgate/fantasy/castle) "zV" = ( -/obj/item/weapon/fossil/skull/horned, +/obj/item/fossil/skull/horned, /turf/simulated/mineral/floor/ignore_cavegen/cave, /area/redgate/fantasy/caves) "zW" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, /obj/machinery/light/small/torch{ dir = 1 }, @@ -1270,8 +1270,8 @@ "AH" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table/marble, -/obj/item/weapon/bone/ribs, -/obj/item/weapon/bone/skull, +/obj/item/bone/ribs, +/obj/item/bone/skull, /turf/simulated/floor/bmarble, /area/redgate/fantasy/dungeon) "AM" = ( @@ -1320,7 +1320,7 @@ /area/redgate/fantasy/alienbasement) "Bs" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/sliceable/lemoncake, +/obj/item/reagent_containers/food/snacks/sliceable/lemoncake, /turf/simulated/floor/wmarble, /area/redgate/fantasy/dungeon) "BG" = ( @@ -1330,24 +1330,24 @@ /area/redgate/fantasy/dungeon) "BJ" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, /obj/structure/closet/walllocker/wooden/south, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/caves) @@ -1374,7 +1374,7 @@ /turf/simulated/floor/wmarble, /area/redgate/fantasy/dungeon) "Cc" = ( -/obj/item/weapon/bone/leg, +/obj/item/bone/leg, /turf/simulated/floor/cult, /area/redgate/fantasy/dungeon) "Ch" = ( @@ -1382,7 +1382,7 @@ /turf/simulated/floor/concrete, /area/redgate/fantasy/castle) "Cz" = ( -/obj/item/weapon/shovel, +/obj/item/shovel, /turf/simulated/mineral/floor/ignore_cavegen/cave, /area/redgate/fantasy/caves) "CD" = ( @@ -1443,7 +1443,7 @@ /area/redgate/fantasy/castle) "Dn" = ( /obj/structure/table/marble, -/obj/item/weapon/material/knife/butch, +/obj/item/material/knife/butch, /turf/simulated/floor/wmarble, /area/redgate/fantasy/dungeon) "DK" = ( @@ -1489,12 +1489,12 @@ /area/redgate/fantasy/dungeon) "Eq" = ( /obj/structure/table/alien, -/obj/item/weapon/potion_material/glowing_gem, +/obj/item/potion_material/glowing_gem, /turf/simulated/shuttle/floor/alien/blue, /area/redgate/fantasy/alienbasement) "EA" = ( /obj/structure/table/hardwoodtable, -/obj/item/weapon/storage/backpack/cultpack, +/obj/item/storage/backpack/cultpack, /obj/machinery/light/small/torch{ dir = 4 }, @@ -1512,7 +1512,7 @@ /turf/simulated/mineral/floor/ignore_cavegen/cave, /area/redgate/fantasy/mines) "EN" = ( -/obj/item/weapon/shreddedp, +/obj/item/shreddedp, /turf/simulated/floor/wmarble, /area/redgate/fantasy/dungeon) "ER" = ( @@ -1563,7 +1563,7 @@ /area/redgate/fantasy/caves) "FH" = ( /obj/structure/table/hardwoodtable, -/obj/item/weapon/melee/cultblade, +/obj/item/melee/cultblade, /turf/simulated/floor/cult, /area/redgate/fantasy/dungeon) "FR" = ( @@ -1574,16 +1574,16 @@ /area/redgate/fantasy/alienbasement) "FV" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, /turf/simulated/floor/wmarble, /area/redgate/fantasy/dungeon) "Ga" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/shaker, +/obj/item/reagent_containers/food/drinks/shaker, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/dungeon) "Gh" = ( @@ -1591,7 +1591,7 @@ /turf/simulated/floor/beach/sand/desert, /area/redgate/fantasy/caves) "Gl" = ( -/obj/item/weapon/paper/alien, +/obj/item/paper/alien, /turf/simulated/wall/tgmc/rwall, /area/redgate/fantasy/alienbasement) "Gu" = ( @@ -1626,7 +1626,7 @@ /turf/simulated/floor/cult, /area/redgate/fantasy/dungeon) "Hx" = ( -/obj/item/weapon/bone, +/obj/item/bone, /turf/simulated/floor/cult, /area/redgate/fantasy/dungeon) "Hz" = ( @@ -1664,7 +1664,7 @@ /obj/structure/bed/chair/sofa/corp/left, /obj/machinery/light/small/torch{ dir = 1; - light_type = /obj/item/weapon/light/bulb/red + light_type = /obj/item/light/bulb/red }, /turf/simulated/floor/wmarble, /area/redgate/fantasy/dungeon) @@ -1732,19 +1732,19 @@ /area/redgate/fantasy/caves) "Jo" = ( /obj/structure/closet/cabinet, -/obj/item/weapon/reagent_containers/food/snacks/flatbread, -/obj/item/weapon/reagent_containers/food/snacks/flatbread, -/obj/item/weapon/reagent_containers/food/snacks/flatbread, -/obj/item/weapon/reagent_containers/food/snacks/flatbread, -/obj/item/weapon/reagent_containers/food/snacks/flatbread, -/obj/item/weapon/reagent_containers/food/snacks/flatbread, -/obj/item/weapon/reagent_containers/food/snacks/flatbread, -/obj/item/weapon/reagent_containers/food/snacks/flatbread, +/obj/item/reagent_containers/food/snacks/flatbread, +/obj/item/reagent_containers/food/snacks/flatbread, +/obj/item/reagent_containers/food/snacks/flatbread, +/obj/item/reagent_containers/food/snacks/flatbread, +/obj/item/reagent_containers/food/snacks/flatbread, +/obj/item/reagent_containers/food/snacks/flatbread, +/obj/item/reagent_containers/food/snacks/flatbread, +/obj/item/reagent_containers/food/snacks/flatbread, /turf/simulated/floor/concrete, /area/redgate/fantasy/castle) "Jp" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/rddouble, +/obj/item/bedsheet/rddouble, /turf/simulated/floor/wmarble, /area/redgate/fantasy/dungeon) "Jq" = ( @@ -1786,7 +1786,7 @@ /area/redgate/fantasy/castle) "Kn" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/rddouble, +/obj/item/bedsheet/rddouble, /turf/simulated/floor/carpet/gaycarpet, /area/redgate/fantasy/dungeon) "Ku" = ( @@ -1798,7 +1798,7 @@ /turf/simulated/floor/tiled/techfloor, /area/redgate/fantasy/alienbasement) "Ky" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/wmarble, /area/redgate/fantasy/dungeon) "KA" = ( @@ -1864,7 +1864,7 @@ /turf/simulated/floor/wmarble, /area/redgate/fantasy/dungeon) "LH" = ( -/obj/item/weapon/potion_material/golden_scale, +/obj/item/potion_material/golden_scale, /turf/simulated/mineral/floor/ignore_cavegen/cave, /area/redgate/fantasy/caves) "LL" = ( @@ -1906,7 +1906,7 @@ /area/redgate/fantasy/alienbasement) "ME" = ( /obj/structure/table/marble, -/obj/item/weapon/material/knife/stone/bone, +/obj/item/material/knife/stone/bone, /turf/simulated/floor/wmarble, /area/redgate/fantasy/dungeon) "MO" = ( @@ -1922,8 +1922,8 @@ /area/redgate/fantasy/dungeon) "MZ" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, /turf/simulated/floor/concrete, /area/redgate/fantasy/castle) "Nq" = ( @@ -1965,9 +1965,9 @@ /area/redgate/fantasy/mines) "NN" = ( /obj/structure/table/alien, -/obj/item/weapon/reagent_containers/glass/bottle/biomass, -/obj/item/weapon/reagent_containers/glass/bottle/biomass, -/obj/item/weapon/reagent_containers/glass/bottle/biomass, +/obj/item/reagent_containers/glass/bottle/biomass, +/obj/item/reagent_containers/glass/bottle/biomass, +/obj/item/reagent_containers/glass/bottle/biomass, /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/fantasy/alienbasement) "NQ" = ( @@ -1993,7 +1993,7 @@ /turf/simulated/floor/cult, /area/redgate/fantasy/dungeon) "Of" = ( -/obj/item/weapon/fossil/plant, +/obj/item/fossil/plant, /turf/simulated/mineral/floor/ignore_cavegen/cave, /area/redgate/fantasy/caves) "Oh" = ( @@ -2028,7 +2028,7 @@ /area/redgate/fantasy/dungeon) "Pa" = ( /obj/structure/table/marble, -/obj/item/weapon/bone/leg, +/obj/item/bone/leg, /turf/simulated/floor/bmarble, /area/redgate/fantasy/dungeon) "Pb" = ( @@ -2048,7 +2048,7 @@ /area/redgate/fantasy/alienbasement) "PA" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/flatbread, +/obj/item/reagent_containers/food/snacks/flatbread, /turf/simulated/floor/concrete, /area/redgate/fantasy/castle) "PC" = ( @@ -2125,7 +2125,7 @@ /obj/structure/table/hardwoodtable, /obj/item/clothing/mask/muzzle/ballgag, /obj/item/clothing/mask/muzzle/ballgag/ringgag, -/obj/item/weapon/material/whip, +/obj/item/material/whip, /turf/simulated/floor/cult, /area/redgate/fantasy/dungeon) "RX" = ( @@ -2135,7 +2135,7 @@ /turf/simulated/floor/tiled/techfloor, /area/redgate/fantasy/alienbasement) "RZ" = ( -/obj/item/weapon/coin/gold, +/obj/item/coin/gold, /turf/simulated/mineral/floor/dirt, /area/redgate/fantasy/caves) "Sb" = ( @@ -2153,7 +2153,7 @@ /area/redgate/fantasy/dungeon) "Sk" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/snacks/bloodsoup, +/obj/item/reagent_containers/food/snacks/bloodsoup, /obj/machinery/light/small/torch{ dir = 8 }, @@ -2161,12 +2161,12 @@ /area/redgate/fantasy/dungeon) "Sn" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/snacks/bloodsoup, +/obj/item/reagent_containers/food/snacks/bloodsoup, /turf/simulated/floor/wmarble, /area/redgate/fantasy/dungeon) "Sx" = ( /obj/structure/table/marble, -/obj/item/weapon/surgical/scalpel, +/obj/item/surgical/scalpel, /turf/simulated/floor/wmarble, /area/redgate/fantasy/dungeon) "SA" = ( @@ -2175,7 +2175,7 @@ /area/redgate/fantasy/mines) "SI" = ( /obj/structure/table/hardwoodtable, -/obj/item/weapon/handcuffs/cable/plantfiber, +/obj/item/handcuffs/cable/plantfiber, /turf/simulated/floor/cult, /area/redgate/fantasy/dungeon) "SJ" = ( @@ -2184,7 +2184,7 @@ /turf/simulated/shuttle/floor/alien/blue, /area/redgate/fantasy/alienbasement) "SZ" = ( -/obj/item/weapon/potion_material/folded_dark, +/obj/item/potion_material/folded_dark, /turf/simulated/floor/weird_things/dark, /area/redgate/fantasy/dark) "Tk" = ( @@ -2218,7 +2218,7 @@ "TB" = ( /obj/machinery/light/small/torch{ dir = 1; - light_type = /obj/item/weapon/light/bulb/red + light_type = /obj/item/light/bulb/red }, /turf/simulated/floor/wmarble, /area/redgate/fantasy/dungeon) @@ -2251,9 +2251,9 @@ /area/redgate/fantasy/alienbasement) "Uc" = ( /obj/structure/table/alien/blue, -/obj/item/weapon/handcuffs, -/obj/item/weapon/handcuffs, -/obj/item/weapon/handcuffs, +/obj/item/handcuffs, +/obj/item/handcuffs, +/obj/item/handcuffs, /turf/simulated/floor/tiled/techfloor, /area/redgate/fantasy/alienbasement) "Ul" = ( @@ -2278,7 +2278,7 @@ /area/redgate/fantasy/dungeon) "UV" = ( /obj/structure/table/hardwoodtable, -/obj/item/weapon/bone/skull/unknown, +/obj/item/bone/skull/unknown, /turf/simulated/floor/cult, /area/redgate/fantasy/dungeon) "UW" = ( @@ -2292,7 +2292,7 @@ /turf/simulated/floor/tiled/techfloor, /area/redgate/fantasy/alienbasement) "Vo" = ( -/obj/item/weapon/reagent_containers/food/drinks/golden_cup, +/obj/item/reagent_containers/food/drinks/golden_cup, /turf/simulated/mineral/floor/ignore_cavegen/cave, /area/redgate/fantasy/caves) "Vq" = ( @@ -2366,8 +2366,8 @@ /area/redgate/fantasy/underwater) "WR" = ( /obj/structure/table/hardwoodtable, -/obj/item/weapon/handcuffs/legcuffs/fuzzy, -/obj/item/weapon/handcuffs/fuzzy, +/obj/item/handcuffs/legcuffs/fuzzy, +/obj/item/handcuffs/fuzzy, /obj/machinery/light/small/torch{ dir = 8 }, @@ -2384,15 +2384,15 @@ /area/redgate/fantasy/dungeon) "Xq" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/drinks/golden_cup, +/obj/item/reagent_containers/food/drinks/golden_cup, /turf/simulated/floor/wmarble, /area/redgate/fantasy/dungeon) "Xr" = ( -/obj/item/weapon/picnic_blankets_carried, +/obj/item/picnic_blankets_carried, /turf/simulated/floor/beach/sand/desert, /area/redgate/fantasy/caves) "Xt" = ( -/obj/item/weapon/material/whip, +/obj/item/material/whip, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/dungeon) "Xy" = ( @@ -2461,8 +2461,8 @@ /area/redgate/fantasy/alienbasement) "YF" = ( /obj/structure/table/marble, -/obj/item/weapon/folder/yellow, -/obj/item/weapon/pen/fountain8, +/obj/item/folder/yellow, +/obj/item/pen/fountain8, /turf/simulated/floor/wmarble, /area/redgate/fantasy/dungeon) "YP" = ( @@ -2479,9 +2479,9 @@ /area/redgate/fantasy/caves) "ZA" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, /turf/simulated/floor/concrete, /area/redgate/fantasy/castle) "ZB" = ( diff --git a/maps/redgate/fantasy_items.dm b/maps/redgate/fantasy_items.dm index 643be1e21f8..3572b195d0b 100644 --- a/maps/redgate/fantasy_items.dm +++ b/maps/redgate/fantasy_items.dm @@ -1,5 +1,5 @@ -/obj/item/device/healthanalyzer/scroll //reports all of the above, as well as name and quantity of nonmed reagents in stomach +/obj/item/healthanalyzer/scroll //reports all of the above, as well as name and quantity of nonmed reagents in stomach name = "scroll of divination" desc = "An unusual scroll that appears to report all of the details of a person's health when waved near them. Oddly, it seems to have a little metal chip up near the handles..." advscan = 3 @@ -7,40 +7,40 @@ icon_state = "health_scroll" -/obj/item/weapon/tool/crowbar/alien/magic +/obj/item/tool/crowbar/alien/magic name = "sentient crowbar" desc = "A crowbar with a green gem set in it and a green ribbon tied to it, it floats lightly by itself and appears to be able to pry on its own. It almost feels like there is some sort of anti gravity generator running in it..." catalogue_data = list(/datum/category_item/catalogue/anomalous/precursor_a/alien_crowbar) icon_state = "crowbar_sentient" -/obj/item/weapon/tool/screwdriver/alien/magic +/obj/item/tool/screwdriver/alien/magic name = "vintage screwdriver of revolving" desc = "A vintage screwdriver that spins as fast as a drill with little aid, it has a red gem on the handle. It oddly sounds like a drill too..." catalogue_data = list(/datum/category_item/catalogue/anomalous/precursor_a/alien_screwdriver) icon = 'icons/obj/abductor.dmi' icon_state = "screwdriver_old" -/obj/item/weapon/weldingtool/alien/magic +/obj/item/weldingtool/alien/magic name = "bellows of flame" desc = "A set of bellows that have a yellow gem on the spout, they emit flames when pressed. Oddly seems to have a faint phoron smell to it..." catalogue_data = list(/datum/category_item/catalogue/anomalous/precursor_a/alien_welder) icon = 'icons/obj/abductor.dmi' icon_state = "bellows" -/obj/item/weapon/tool/wirecutters/alien/magic +/obj/item/tool/wirecutters/alien/magic name = "secateurs of organisation" desc = "Extremely sharp secateurs, fitted with a glowing blue gem, said to be magically enhanced for speed. There seems to be a little whirring sound coming from beneath that gem..." icon = 'icons/obj/abductor.dmi' icon_state = "cutters_magic" -/obj/item/weapon/tool/wrench/alien/magic +/obj/item/tool/wrench/alien/magic name = "pliers of molding" desc = "A set of pliers that seems to mold to the shape of their target, housing a pink gem. Oddly seems to have a slightly slimey texture at the metal..." catalogue_data = list(/datum/category_item/catalogue/anomalous/precursor_a/alien_wrench) icon = 'icons/obj/abductor.dmi' icon_state = "pliers" -/obj/item/weapon/surgical/bone_clamp/alien/magic +/obj/item/surgical/bone_clamp/alien/magic icon = 'icons/obj/abductor.dmi' toolspeed = 0.75 icon_state = "bone_boneclamp" @@ -69,31 +69,31 @@ return // Doesn't care about material or anything else. /obj/structure/bed/bath/attackby(obj/item/I, mob/user) - if(istype(I, /obj/item/weapon/mop) || istype(I, /obj/item/weapon/soap)) //VOREStation Edit - "Allows soap and rags to be used on mopbuckets" + if(istype(I, /obj/item/mop) || istype(I, /obj/item/soap)) //VOREStation Edit - "Allows soap and rags to be used on mopbuckets" if(reagents.total_volume < 1) - to_chat(user, "\The [src] is out of water!") + to_chat(user, span_warning("\The [src] is out of water!")) else reagents.trans_to_obj(I, 5) - to_chat(user, "You wet \the [I] in \the [src].") + to_chat(user, span_notice("You wet \the [I] in \the [src].")) playsound(src, 'sound/effects/slosh.ogg', 25, 1) - if(istype(I, /obj/item/weapon/reagent_containers/glass)) + if(istype(I, /obj/item/reagent_containers/glass)) update_icon() return - else if(istype(I, /obj/item/weapon/grab)) - var/obj/item/weapon/grab/G = I + else if(istype(I, /obj/item/grab)) + var/obj/item/grab/G = I var/mob/living/affecting = G.affecting if(has_buckled_mobs()) //Handles trying to buckle someone else to a chair when someone else is on it - to_chat(user, "\The [src] already has someone buckled to it.") + to_chat(user, span_notice("\The [src] already has someone buckled to it.")) return - user.visible_message("[user] attempts to buckle [affecting] into \the [src]!") + user.visible_message(span_notice("[user] attempts to buckle [affecting] into \the [src]!")) if(do_after(user, 20, G.affecting)) affecting.loc = loc spawn(0) if(buckle_mob(affecting)) affecting.visible_message(\ - "[affecting.name] is buckled to [src] by [user.name]!",\ - "You are buckled to [src] by [user.name]!",\ - "You hear metal clanking.") + span_danger("[affecting.name] is buckled to [src] by [user.name]!"),\ + span_danger("You are buckled to [src] by [user.name]!"),\ + span_notice("You hear metal clanking.")) qdel(I) @@ -141,37 +141,37 @@ return //No lid /obj/structure/toilet/wooden/attackby(obj/item/I as obj, mob/living/user as mob) //simpler interactions - if(istype(I, /obj/item/weapon/grab)) + if(istype(I, /obj/item/grab)) user.setClickCooldown(user.get_attack_speed(I)) - var/obj/item/weapon/grab/G = I + var/obj/item/grab/G = I if(isliving(G.affecting)) var/mob/living/GM = G.affecting if(G.state>1) if(!GM.loc == get_turf(src)) - to_chat(user, "[GM.name] needs to be on the toilet.") + to_chat(user, span_notice("[GM.name] needs to be on the toilet.")) return if(open && !swirlie) - user.visible_message("[user] starts to give [GM.name] a swirlie!", "You start to give [GM.name] a swirlie!") + user.visible_message(span_danger("[user] starts to give [GM.name] a swirlie!"), span_notice("You start to give [GM.name] a swirlie!")) swirlie = GM if(do_after(user, 30, GM)) - user.visible_message("[user] gives [GM.name] a swirlie!", "You give [GM.name] a swirlie!", "You hear a toilet flushing.") + user.visible_message(span_danger("[user] gives [GM.name] a swirlie!"), span_notice("You give [GM.name] a swirlie!"), "You hear a toilet flushing.") if(!GM.internal) GM.adjustOxyLoss(5) swirlie = null else - user.visible_message("[user] slams [GM.name] into the [src]!", "You slam [GM.name] into the [src]!") + user.visible_message(span_danger("[user] slams [GM.name] into the [src]!"), span_notice("You slam [GM.name] into the [src]!")) GM.adjustBruteLoss(5) else - to_chat(user, "You need a tighter grip.") + to_chat(user, span_notice("You need a tighter grip.")) if(cistern && !istype(user,/mob/living/silicon/robot)) //STOP PUTTING YOUR MODULES IN THE TOILET. if(I.w_class > 3) - to_chat(user, "\The [I] does not fit.") + to_chat(user, span_notice("\The [I] does not fit.")) return if(w_items + I.w_class > 5) - to_chat(user, "The cistern is full.") + to_chat(user, span_notice("The cistern is full.")) return user.drop_item() I.loc = src @@ -195,7 +195,7 @@ desc = "An old fashioned cooking pot above some logs." /obj/machinery/microwave/cookingpot/start() - src.visible_message("The cooking pot starts cooking.", "You hear a fire roar.") + src.visible_message(span_notice("The cooking pot starts cooking."), span_notice("You hear a fire roar.")) src.operating = TRUE src.icon_state = "cookingpot1" SStgui.update_uis(src) @@ -217,44 +217,44 @@ if(src.broken > 0) if(src.broken == 2 && O.is_screwdriver()) // If it's broken and they're using a screwdriver user.visible_message( \ - "\The [user] starts to fix part of the cooking pot.", \ - "You start to fix part of the cooking pot." \ + span_infoplain(span_bold("\The [user]") + " starts to fix part of the cooking pot."), \ + span_notice("You start to fix part of the cooking pot.") \ ) playsound(src, O.usesound, 50, 1) if (do_after(user,20 * O.toolspeed)) user.visible_message( \ - "\The [user] fixes part of the cooking pot.", \ - "You have fixed part of the cooking pot." \ + span_infoplain(span_bold("\The [user]") + " fixes part of the cooking pot."), \ + span_notice("You have fixed part of the cooking pot.") \ ) src.broken = 1 // Fix it a bit else if(src.broken == 1 && O.is_wrench()) // If it's broken and they're doing the wrench user.visible_message( \ - "\The [user] starts to fix part of the cooking pot.", \ - "You start to fix part of the cooking pot." \ + span_infoplain(span_bold("\The [user]") + " starts to fix part of the cooking pot."), \ + span_notice("You start to fix part of the cooking pot.") \ ) if (do_after(user,20 * O.toolspeed)) user.visible_message( \ - "\The [user] fixes the cooking pot.", \ - "You have fixed the cooking pot." \ + span_infoplain(span_bold("\The [user]") + " fixes the cooking pot."), \ + span_notice("You have fixed the cooking pot.") \ ) src.icon_state = "cookingpot" src.broken = 0 // Fix it! src.dirty = 0 // just to be sure src.flags = OPENCONTAINER | NOREACT else - to_chat(user, "It's broken!") + to_chat(user, span_warning("It's broken!")) return 1 else if(src.dirty==100) // The microwave is all dirty so can't be used! - if(istype(O, /obj/item/weapon/reagent_containers/spray/cleaner) || istype(O, /obj/item/weapon/soap)) // If they're trying to clean it then let them + if(istype(O, /obj/item/reagent_containers/spray/cleaner) || istype(O, /obj/item/soap)) // If they're trying to clean it then let them user.visible_message( \ - "\The [user] starts to clean the cooking pot.", \ - "You start to clean the cooking pot." \ + span_bold("\The [user]") + "starts to clean the cooking pot.", \ + span_notice("You start to clean the cooking pot.") \ ) if (do_after(user,20)) user.visible_message( \ - "\The [user] has cleaned the cooking pot.", \ - "You have cleaned the cooking pot." \ + span_notice("\The [user] has cleaned the cooking pot."), \ + span_notice("You have cleaned the cooking pot.") \ ) src.dirty = 0 // It's clean! src.broken = 0 // just to be sure @@ -262,38 +262,38 @@ src.flags = OPENCONTAINER | NOREACT SStgui.update_uis(src) else //Otherwise bad luck!! - to_chat(user, "It's dirty!") + to_chat(user, span_warning("It's dirty!")) return 1 else if(is_type_in_list(O,acceptable_items)) var/list/workingList = cookingContents() if(workingList.len>=(max_n_of_items + circuit_item_capacity)) //Adds component_parts to the maximum number of items. changed 1 to actually just be the circuit item capacity var. - to_chat(user, "This [src] is full of ingredients, you cannot put more.") + to_chat(user, span_warning("This [src] is full of ingredients, you cannot put more.")) return 1 if(istype(O, /obj/item/stack) && O:get_amount() > 1) // This is bad, but I can't think of how to change it var/obj/item/stack/S = O new O.type (src) S.use(1) user.visible_message( \ - "\The [user] has added one of [O] to \the [src].", \ - "You add one of [O] to \the [src].") + span_notice("\The [user] has added one of [O] to \the [src]."), \ + span_notice("You add one of [O] to \the [src].")) return else // user.remove_from_mob(O) //This just causes problems so far as I can tell. -Pete - Man whoever you are, it's been years. o7 user.drop_from_inventory(O,src) user.visible_message( \ - "\The [user] has added \the [O] to \the [src].", \ - "You add \the [O] to \the [src].") + span_notice("\The [user] has added \the [O] to \the [src]."), \ + span_notice("You add \the [O] to \the [src].")) SStgui.update_uis(src) return - else if (istype(O,/obj/item/weapon/storage/bag/plants)) // There might be a better way about making plant bags dump their contents into a microwave, but it works. - var/obj/item/weapon/storage/bag/plants/bag = O + else if (istype(O,/obj/item/storage/bag/plants)) // There might be a better way about making plant bags dump their contents into a microwave, but it works. + var/obj/item/storage/bag/plants/bag = O var/failed = 1 for(var/obj/item/G in O.contents) if(!G.reagents || !G.reagents.total_volume) continue failed = 0 if(contents.len>=(max_n_of_items + component_parts.len + circuit_item_capacity)) - to_chat(user, "This [src] is full of ingredients, you cannot put more.") + to_chat(user, span_warning("This [src] is full of ingredients, you cannot put more.")) return 0 else bag.remove_from_storage(G, src) @@ -313,20 +313,20 @@ SStgui.update_uis(src) return 0 - else if(istype(O,/obj/item/weapon/reagent_containers/glass) || \ - istype(O,/obj/item/weapon/reagent_containers/food/drinks) || \ - istype(O,/obj/item/weapon/reagent_containers/food/condiment) \ + else if(istype(O,/obj/item/reagent_containers/glass) || \ + istype(O,/obj/item/reagent_containers/food/drinks) || \ + istype(O,/obj/item/reagent_containers/food/condiment) \ ) if (!O.reagents) return 1 for (var/datum/reagent/R in O.reagents.reagent_list) if (!(R.id in acceptable_reagents)) - to_chat(user, "Your [O] contains components unsuitable for cookery.") + to_chat(user, span_warning("Your [O] contains components unsuitable for cookery.")) return 1 return - else if(istype(O,/obj/item/weapon/grab)) - var/obj/item/weapon/grab/G = O - to_chat(user, "This is ridiculous. You can not fit \the [G.affecting] in this [src].") + else if(istype(O,/obj/item/grab)) + var/obj/item/grab/G = O + to_chat(user, span_warning("This is ridiculous. You can not fit \the [G.affecting] in this [src].")) return 1 else if(O.is_screwdriver()) default_deconstruction_screwdriver(user, O) @@ -336,30 +336,30 @@ return else user.visible_message( \ - "\The [user] begins [src.anchored ? "unsecuring" : "securing"] the cooking pot.", \ - "You attempt to [src.anchored ? "unsecure" : "secure"] the cooking pot." + span_notice("\The [user] begins [src.anchored ? "unsecuring" : "securing"] the cooking pot."), \ + span_notice("You attempt to [src.anchored ? "unsecure" : "secure"] the cooking pot.") ) if (do_after(user,20/O.toolspeed)) user.visible_message( \ - "\The [user] [src.anchored ? "unsecures" : "secures"] the cooking pot.", \ - "You [src.anchored ? "unsecure" : "secure"] the cooking pot." + span_notice("\The [user] [src.anchored ? "unsecures" : "secures"] the cooking pot."), \ + span_notice("You [src.anchored ? "unsecure" : "secure"] the cooking pot.") ) src.anchored = !src.anchored else - to_chat(user, "You decide not to do that.") + to_chat(user, span_notice("You decide not to do that.")) else if(default_part_replacement(user, O)) return - else if(istype(O, /obj/item/device/paicard)) + else if(istype(O, /obj/item/paicard)) if(!paicard) insertpai(user, O) else - to_chat(user, "You have no idea what you can cook with this [O].") + to_chat(user, span_warning("You have no idea what you can cook with this [O].")) ..() SStgui.update_uis(src) /obj/machinery/microwave/cookingpot/broke() src.icon_state = "cookingpotb" // Make it look all busted up and shit - src.visible_message("The cooking pot breaks!") //Let them know they're stupid + src.visible_message(span_warning("The cooking pot breaks!")) //Let them know they're stupid src.broken = 2 // Make it broken so it can't be used util fixed src.flags = null //So you can't add condiments src.operating = 0 // Turn it off again aferwards @@ -374,7 +374,7 @@ src.dirty++ src.reagents.clear_reagents() if(message) - to_chat(usr, "You dispose of the cooking pot contents.") + to_chat(usr, span_notice("You dispose of the cooking pot contents.")) SStgui.update_uis(src) /obj/machinery/microwave/cookingpot/muck_start() @@ -382,7 +382,7 @@ src.icon_state = "cookingpotbloody1" // Make it look dirty!! /obj/machinery/microwave/cookingpot/muck_finish() - src.visible_message("The cooking pot gets covered in muck!") + src.visible_message(span_warning("The cooking pot gets covered in muck!")) src.dirty = 100 // Make it dirty so it can't be used util cleaned src.flags = null //So you can't add condiments src.icon_state = "cookingpotbloody0" // Make it look dirty too @@ -401,14 +401,14 @@ //harpoon -/obj/item/weapon/bluespace_harpoon/wand +/obj/item/bluespace_harpoon/wand name = "teleportation wand" desc = "An odd wand that weighs more than it looks like it should. It has a wire protruding from it and a glass-like tip, suggesting there may be more tech behind this than magic." icon = 'icons/obj/gun_vr.dmi' icon_state = "harpoonwand-2" -/obj/item/weapon/bluespace_harpoon/wand/update_icon() +/obj/item/bluespace_harpoon/wand/update_icon() if(transforming) switch(mode) if(0) @@ -423,7 +423,7 @@ * magic orb */ -/obj/item/weapon/gun/energy/taser/magic +/obj/item/gun/energy/taser/magic name = "orb of lightning" desc = "An orb filled with electrical energy, it looks oddly like a toy plasma orb..." description_fluff = "" @@ -440,46 +440,46 @@ /obj/machinery/chemical_dispenser/kettle/full spawn_cartridges = list( - /obj/item/weapon/reagent_containers/chem_disp_cartridge/coffee, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/cafe_latte, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/soy_latte, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/hot_coco, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/milk, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/cream, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/sugar, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/tea, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/ice, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/mint, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/orange, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/lemon, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/lime, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/berry, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/greentea, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/decaf, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/chaitea, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/decafchai + /obj/item/reagent_containers/chem_disp_cartridge/coffee, + /obj/item/reagent_containers/chem_disp_cartridge/cafe_latte, + /obj/item/reagent_containers/chem_disp_cartridge/soy_latte, + /obj/item/reagent_containers/chem_disp_cartridge/hot_coco, + /obj/item/reagent_containers/chem_disp_cartridge/milk, + /obj/item/reagent_containers/chem_disp_cartridge/cream, + /obj/item/reagent_containers/chem_disp_cartridge/sugar, + /obj/item/reagent_containers/chem_disp_cartridge/tea, + /obj/item/reagent_containers/chem_disp_cartridge/ice, + /obj/item/reagent_containers/chem_disp_cartridge/mint, + /obj/item/reagent_containers/chem_disp_cartridge/orange, + /obj/item/reagent_containers/chem_disp_cartridge/lemon, + /obj/item/reagent_containers/chem_disp_cartridge/lime, + /obj/item/reagent_containers/chem_disp_cartridge/berry, + /obj/item/reagent_containers/chem_disp_cartridge/greentea, + /obj/item/reagent_containers/chem_disp_cartridge/decaf, + /obj/item/reagent_containers/chem_disp_cartridge/chaitea, + /obj/item/reagent_containers/chem_disp_cartridge/decafchai ) // teleporter -/obj/item/device/perfect_tele/magic +/obj/item/perfect_tele/magic name = "teleportation tome" desc = "A large tome that can be used to teleport to special pages that can be removed from it. The spine seems to have some sort buzzing tech inside..." icon = 'icons/obj/props/fantasy.dmi' icon_state = "teleporter" beacons_left = 3 - cell_type = /obj/item/weapon/cell/device + cell_type = /obj/item/cell/device origin_tech = list(TECH_MAGNET = 5, TECH_BLUESPACE = 5) -/obj/item/device/perfect_tele_beacon/magic +/obj/item/perfect_tele_beacon/magic name = "teleportation page" desc = "A single page from a tome, with a glowing blue symbol on it. It seems like the symbol is raised as though there were something running beneath it..." icon = 'icons/obj/props/fantasy.dmi' icon_state = "page" -/obj/item/device/perfect_tele/magic/attack_self(mob/user, var/radial_menu_anchor = src) +/obj/item/perfect_tele/magic/attack_self(mob/user, var/radial_menu_anchor = src) if(loc_network) - for(var/obj/item/device/perfect_tele_beacon/stationary/nb in GLOB.premade_tele_beacons) // YW EDIT: Glob + for(var/obj/item/perfect_tele_beacon/stationary/nb in GLOB.premade_tele_beacons) // YW EDIT: Glob if(nb.tele_network == loc_network) beacons[nb.tele_name] = nb loc_network = null //Consumed @@ -498,7 +498,7 @@ This device records all warnings given and teleport events for admin review in c else if(choice == "New Beacon") if(beacons_left <= 0) - to_chat(user, "The tome can't support any more pages!") + to_chat(user, span_warning("The tome can't support any more pages!")) return var/new_name = html_encode(tgui_input_text(user,"New pages's name (2-20 char):","[src]",null,20)) @@ -506,14 +506,14 @@ This device records all warnings given and teleport events for admin review in c return if(length(new_name) > 20 || length(new_name) < 2) - to_chat(user, "Entered name length invalid (must be longer than 2, no more than than 20).") + to_chat(user, span_warning("Entered name length invalid (must be longer than 2, no more than than 20).")) return if(new_name in beacons) - to_chat(user, "No duplicate names, please. '[new_name]' exists already.") + to_chat(user, span_warning("No duplicate names, please. '[new_name]' exists already.")) return - var/obj/item/device/perfect_tele_beacon/magic/nb = new(get_turf(src)) + var/obj/item/perfect_tele_beacon/magic/nb = new(get_turf(src)) nb.tele_name = new_name nb.tele_hand = src nb.creator = user.ckey @@ -530,7 +530,7 @@ This device records all warnings given and teleport events for admin review in c //sizegun -/obj/item/device/slow_sizegun/magic +/obj/item/slow_sizegun/magic name = "wand of growth and shrinking" desc = "A wand said to be able to shrink or grow it's targets, it's encrusted with glowing gems and a... trigger?" icon = 'icons/obj/gun_vr.dmi' @@ -547,7 +547,7 @@ This device records all warnings given and teleport events for admin review in c breakable = FALSE lock_id = "dungeon" -/obj/item/weapon/simple_key/dungeon +/obj/item/simple_key/dungeon name = "old key" desc = "A plain, old-timey key, as one might use to unlock a door." icon_state = "dungeon" diff --git a/maps/redgate/hotsprings.dmm b/maps/redgate/hotsprings.dmm index 415cba972c6..9e9ccdd1ed0 100644 --- a/maps/redgate/hotsprings.dmm +++ b/maps/redgate/hotsprings.dmm @@ -16,7 +16,7 @@ /area/redgate/hotsprings/eastcave) "be" = ( /obj/structure/table/rack/shelf, -/obj/item/device/slow_sizegun, +/obj/item/slow_sizegun, /turf/simulated/floor/tiled/steel, /area/redgate/hotsprings/outdoors) "bt" = ( @@ -112,12 +112,12 @@ /obj/item/clothing/shoes/boots/winter, /obj/structure/closet, /obj/random/firstaid, -/obj/item/device/flashlight/maglight, -/obj/item/device/flashlight/maglight, +/obj/item/flashlight/maglight, +/obj/item/flashlight/maglight, /turf/simulated/floor/tiled/steel, /area/redgate/hotsprings/redgate) "dC" = ( -/obj/item/weapon/pickaxe, +/obj/item/pickaxe, /turf/simulated/floor/outdoors/dirt{ nitrogen = 93.7835; outdoors = -1; @@ -210,8 +210,8 @@ /obj/item/clothing/shoes/boots/winter, /obj/structure/closet, /obj/random/firstaid, -/obj/item/device/flashlight/maglight, -/obj/item/device/flashlight/maglight, +/obj/item/flashlight/maglight, +/obj/item/flashlight/maglight, /turf/simulated/floor/tiled/steel, /area/redgate/hotsprings/redgate) "fS" = ( @@ -268,17 +268,17 @@ /area/redgate/hotsprings/outdoors) "hv" = ( /obj/structure/closet/crate/wooden, -/obj/item/weapon/reagent_containers/food/drinks/bottle/goldschlager, -/obj/item/weapon/reagent_containers/food/drinks/bottle/jager, -/obj/item/weapon/reagent_containers/food/drinks/bottle/peppermintschnapps, -/obj/item/weapon/reagent_containers/food/drinks/bottle/sake, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/space_mountain_wind, -/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka, -/obj/item/weapon/reagent_containers/food/drinks/bottle/wine, -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/weapon/reagent_containers/food/drinks/bottle/tequilla, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer/meteor, -/obj/item/weapon/reagent_containers/food/drinks/bottle/redeemersbrew, +/obj/item/reagent_containers/food/drinks/bottle/goldschlager, +/obj/item/reagent_containers/food/drinks/bottle/jager, +/obj/item/reagent_containers/food/drinks/bottle/peppermintschnapps, +/obj/item/reagent_containers/food/drinks/bottle/sake, +/obj/item/reagent_containers/food/drinks/bottle/small/space_mountain_wind, +/obj/item/reagent_containers/food/drinks/bottle/vodka, +/obj/item/reagent_containers/food/drinks/bottle/wine, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/bottle/tequilla, +/obj/item/reagent_containers/food/drinks/bottle/small/beer/meteor, +/obj/item/reagent_containers/food/drinks/bottle/redeemersbrew, /turf/simulated/floor/outdoors/dirt{ nitrogen = 93.7835; outdoors = -1; @@ -302,12 +302,12 @@ /area/redgate/hotsprings/house/lovercave) "hR" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/floor/tiled/steel, /area/redgate/hotsprings/outdoors) "hX" = ( /obj/structure/table/woodentable, -/obj/item/weapon/toy/snowglobe/snowvillage, +/obj/item/toy/snowglobe/snowvillage, /turf/simulated/floor/wood, /area/redgate/hotsprings/house) "ic" = ( @@ -321,11 +321,11 @@ /area/redgate/hotsprings/house/succcave) "ie" = ( /obj/structure/table/rack, -/obj/item/weapon/towel/random, +/obj/item/towel/random, /turf/simulated/floor/tiled, /area/redgate/hotsprings/house) "iE" = ( -/obj/item/weapon/paper/card/heart, +/obj/item/paper/card/heart, /turf/simulated/floor/outdoors/dirt{ nitrogen = 93.7835; outdoors = -1; @@ -338,8 +338,8 @@ /area/redgate/hotsprings/outdoors) "iK" = ( /obj/structure/table/standard, -/obj/item/weapon/material/knife/butch, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/knife/butch, +/obj/item/material/kitchen/rollingpin, /turf/simulated/floor/tiled/freezer, /area/redgate/hotsprings/house) "iV" = ( @@ -374,7 +374,7 @@ /area/redgate/hotsprings/redgate) "jK" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/rainbowdouble, +/obj/item/bedsheet/rainbowdouble, /turf/simulated/floor/wood, /area/redgate/hotsprings/house/hotspringhouse) "kf" = ( @@ -393,8 +393,8 @@ /turf/simulated/floor/carpet/gaycarpet, /area/redgate/hotsprings/house) "ko" = ( -/obj/item/weapon/stool/padded, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded, +/obj/item/stool/padded{ pixel_y = 10 }, /turf/simulated/floor/outdoors/dirt{ @@ -453,11 +453,11 @@ /area/redgate/hotsprings/westcave) "mr" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled/steel, /area/redgate/hotsprings/redgate) "ms" = ( @@ -478,7 +478,7 @@ }, /area/redgate/hotsprings/outdoors) "mA" = ( -/obj/item/weapon/bedsheet/purpledouble{ +/obj/item/bedsheet/purpledouble{ pixel_x = 4 }, /turf/simulated/floor/outdoors/dirt{ @@ -595,9 +595,9 @@ /obj/item/clothing/under/shorts/green, /obj/item/clothing/under/shorts/blue, /obj/item/clothing/under/shorts/black, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, /turf/simulated/floor/outdoors/dirt{ nitrogen = 93.7835; outdoors = -1; @@ -616,7 +616,7 @@ /turf/simulated/wall/log, /area/redgate/hotsprings/house/dorm1) "pR" = ( -/obj/item/weapon/broken_bottle, +/obj/item/broken_bottle, /turf/simulated/floor/outdoors/dirt{ nitrogen = 93.7835; outdoors = -1; @@ -630,8 +630,8 @@ /obj/item/clothing/shoes/boots/winter, /obj/structure/closet, /obj/random/firstaid, -/obj/item/device/flashlight/maglight, -/obj/item/device/flashlight/maglight, +/obj/item/flashlight/maglight, +/obj/item/flashlight/maglight, /turf/simulated/floor/tiled/steel, /area/redgate/hotsprings/redgate) "pU" = ( @@ -664,7 +664,7 @@ range = 10 }, /obj/structure/table/wooden_reinforced, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_y = 2 }, /turf/simulated/floor/carpet/sblucarpet, @@ -783,7 +783,7 @@ }, /area/redgate/hotsprings/house/hotspringhouse) "um" = ( -/obj/item/weapon/reagent_containers/food/drinks/shaker{ +/obj/item/reagent_containers/food/drinks/shaker{ pixel_x = 7; pixel_y = -5 }, @@ -832,8 +832,8 @@ /obj/item/clothing/shoes/boots/winter, /obj/structure/closet, /obj/random/firstaid, -/obj/item/device/flashlight/maglight, -/obj/item/device/flashlight/maglight, +/obj/item/flashlight/maglight, +/obj/item/flashlight/maglight, /turf/simulated/floor/tiled/steel, /area/redgate/hotsprings/redgate) "uT" = ( @@ -889,11 +889,11 @@ }, /area/redgate/hotsprings/outdoors) "vA" = ( -/obj/item/weapon/reagent_containers/food/drinks/cans/beercan{ +/obj/item/reagent_containers/food/drinks/cans/beercan{ pixel_x = 11; pixel_y = 4 }, -/obj/item/weapon/reagent_containers/food/drinks/cans/beercan, +/obj/item/reagent_containers/food/drinks/cans/beercan, /turf/simulated/floor/outdoors/dirt{ nitrogen = 93.7835; outdoors = -1; @@ -952,7 +952,7 @@ /area/redgate/hotsprings/outdoors) "wL" = ( /obj/structure/bed/double, -/obj/item/weapon/bedsheet/hopdouble, +/obj/item/bedsheet/hopdouble, /turf/simulated/floor/carpet/sblucarpet, /area/redgate/hotsprings/house/dorm1) "wX" = ( @@ -981,11 +981,11 @@ /area/redgate/hotsprings/outdoors) "xY" = ( /obj/structure/table/glass, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/folder/white, +/obj/item/folder/white, /turf/simulated/floor/tiled/steel, /area/redgate/hotsprings/redgate) "yp" = ( @@ -997,7 +997,7 @@ }, /area/redgate/hotsprings/outdoors) "yt" = ( -/obj/item/weapon/reagent_containers/food/drinks/bottle/champagne, +/obj/item/reagent_containers/food/drinks/bottle/champagne, /turf/simulated/floor/outdoors/dirt{ nitrogen = 93.7835; outdoors = -1; @@ -1085,11 +1085,11 @@ /area/redgate/hotsprings/outdoors) "zB" = ( /obj/structure/bed/double, -/obj/item/weapon/bedsheet/hopdouble, +/obj/item/bedsheet/hopdouble, /turf/simulated/floor/carpet/sblucarpet, /area/redgate/hotsprings/house/dorm2) "zI" = ( -/obj/item/weapon/storage/toolbox/lunchbox/filled, +/obj/item/storage/toolbox/lunchbox/filled, /turf/simulated/floor/outdoors/dirt{ nitrogen = 93.7835; outdoors = -1; @@ -1170,7 +1170,7 @@ /area/redgate/hotsprings/eastcave) "BM" = ( /obj/structure/table/glass, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled/steel, /area/redgate/hotsprings/redgate) "Ci" = ( @@ -1184,8 +1184,8 @@ /turf/simulated/floor/wood, /area/redgate/hotsprings/house) "CL" = ( -/obj/item/weapon/tool/screwdriver/brass, -/obj/item/weapon/tool/wrench/brass{ +/obj/item/tool/screwdriver/brass, +/obj/item/tool/wrench/brass{ pixel_x = 5; pixel_y = -5 }, @@ -1209,7 +1209,7 @@ /obj/random/mouseray, /obj/random/cash/huge, /obj/item/clothing/ears/earring/dangle/diamond, -/obj/item/clothing/gloves/ring/material/diamond, +/obj/item/clothing/accessory/ring/material/diamond, /obj/structure/closet/grave/dirthole, /obj/random/coin, /turf/simulated/floor/outdoors/dirt{ @@ -1262,9 +1262,9 @@ /area/redgate/hotsprings/outdoors) "DA" = ( /obj/structure/closet/crate/freezer, -/obj/item/weapon/storage/box/donkpockets/berry, -/obj/item/weapon/storage/box/donkpockets/berry, -/obj/item/weapon/storage/box/donkpockets/berry, +/obj/item/storage/box/donkpockets/berry, +/obj/item/storage/box/donkpockets/berry, +/obj/item/storage/box/donkpockets/berry, /turf/simulated/floor/tiled/steel, /area/redgate/hotsprings/redgate) "DD" = ( @@ -1296,7 +1296,7 @@ range = 10 }, /obj/structure/table/wooden_reinforced, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_y = 2 }, /turf/simulated/floor/carpet/sblucarpet, @@ -1334,7 +1334,7 @@ /area/redgate/hotsprings/house) "EN" = ( /obj/random/coin, -/obj/item/weapon/storage/mre, +/obj/item/storage/mre, /obj/item/trash/beans{ pixel_x = -9 }, @@ -1377,15 +1377,15 @@ }, /area/redgate/hotsprings/house/hotspringhouse) "Gb" = ( -/obj/item/weapon/bluespace_crystal{ +/obj/item/bluespace_crystal{ pixel_x = -7; pixel_y = 1 }, -/obj/item/weapon/bluespace_crystal{ +/obj/item/bluespace_crystal{ pixel_x = 6; pixel_y = 4 }, -/obj/item/weapon/bluespace_crystal, +/obj/item/bluespace_crystal, /turf/simulated/floor/outdoors/dirt{ nitrogen = 93.7835; outdoors = -1; @@ -1602,7 +1602,7 @@ /area/redgate/hotsprings/westcave) "Mr" = ( /obj/structure/table/wooden_reinforced, -/obj/item/clothing/suit/storage/snowsuit/medical, +/obj/item/clothing/head/hood/winter/snowsuit/medical, /turf/simulated/floor/carpet/sblucarpet, /area/redgate/hotsprings/house/dorm1) "ME" = ( @@ -1653,12 +1653,12 @@ /area/redgate/hotsprings/westcave) "Nw" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe, -/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe, -/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe, -/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe, -/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe, -/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe, +/obj/item/reagent_containers/food/drinks/bottle/absinthe, +/obj/item/reagent_containers/food/drinks/bottle/absinthe, +/obj/item/reagent_containers/food/drinks/bottle/absinthe, +/obj/item/reagent_containers/food/drinks/bottle/absinthe, +/obj/item/reagent_containers/food/drinks/bottle/absinthe, +/obj/item/reagent_containers/food/drinks/bottle/absinthe, /turf/simulated/floor/outdoors/dirt{ nitrogen = 93.7835; outdoors = -1; @@ -1721,7 +1721,7 @@ /turf/simulated/floor/tiled, /area/redgate/hotsprings/house) "Pt" = ( -/obj/item/clothing/suit/storage/snowsuit, +/obj/item/clothing/head/hood/winter/snowsuit, /turf/simulated/floor/outdoors/dirt{ nitrogen = 93.7835; outdoors = -1; @@ -1743,12 +1743,12 @@ /area/redgate/hotsprings/eastcave) "PX" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/reagent_containers/food/drinks/bottle/gin, -/obj/item/weapon/reagent_containers/food/drinks/bottle/gin, -/obj/item/weapon/reagent_containers/food/drinks/bottle/gin, -/obj/item/weapon/reagent_containers/food/drinks/bottle/gin, -/obj/item/weapon/reagent_containers/food/drinks/bottle/gin, -/obj/item/weapon/reagent_containers/food/drinks/bottle/gin, +/obj/item/reagent_containers/food/drinks/bottle/gin, +/obj/item/reagent_containers/food/drinks/bottle/gin, +/obj/item/reagent_containers/food/drinks/bottle/gin, +/obj/item/reagent_containers/food/drinks/bottle/gin, +/obj/item/reagent_containers/food/drinks/bottle/gin, +/obj/item/reagent_containers/food/drinks/bottle/gin, /turf/simulated/floor/outdoors/dirt{ nitrogen = 93.7835; outdoors = -1; @@ -1767,11 +1767,11 @@ /area/redgate/hotsprings/outdoors) "Qu" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/ale, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/ale, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/ale, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/ale, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/ale, +/obj/item/reagent_containers/food/drinks/bottle/small/ale, +/obj/item/reagent_containers/food/drinks/bottle/small/ale, +/obj/item/reagent_containers/food/drinks/bottle/small/ale, +/obj/item/reagent_containers/food/drinks/bottle/small/ale, +/obj/item/reagent_containers/food/drinks/bottle/small/ale, /turf/simulated/floor/outdoors/dirt{ nitrogen = 93.7835; outdoors = -1; @@ -2010,7 +2010,7 @@ /area/redgate/hotsprings/house) "Xh" = ( /obj/structure/table/woodentable, -/obj/item/clothing/suit/storage/snowsuit/security, +/obj/item/clothing/head/hood/winter/snowsuit/security, /turf/simulated/floor/wood, /area/redgate/hotsprings/house) "Xl" = ( @@ -2036,17 +2036,17 @@ /area/redgate/hotsprings/outdoors) "XD" = ( /obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, /obj/random/meat, /obj/random/meat, /obj/random/meat, @@ -2085,7 +2085,7 @@ /area/redgate/hotsprings/house) "Ym" = ( /obj/structure/table/wooden_reinforced, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_y = 2 }, /turf/simulated/floor/wood, diff --git a/maps/redgate/innland.dmm b/maps/redgate/innland.dmm index e723903268d..95300851cab 100644 --- a/maps/redgate/innland.dmm +++ b/maps/redgate/innland.dmm @@ -222,10 +222,10 @@ /area/redgate/structure/powered) "cV" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = 4 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /turf/simulated/floor/carpet/bcarpet, @@ -329,20 +329,20 @@ /area/redgate/structure/powered) "do" = ( /obj/structure/mopbucket, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/mop, +/obj/item/reagent_containers/glass/bucket, +/obj/item/mop, /turf/simulated/floor/plating, /area/redgate/structure/powered) "dp" = ( /obj/structure/table/steel, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, /obj/machinery/light/small{ dir = 4 }, @@ -362,11 +362,11 @@ /area/redgate/structure/powered) "dv" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/storage/laundry_basket, +/obj/item/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, +/obj/item/storage/laundry_basket, /turf/simulated/floor/plating, /area/redgate/structure/powered) "dA" = ( @@ -412,10 +412,10 @@ /area/redgate/structure/powered) "dE" = ( /obj/structure/table/marble, -/obj/item/weapon/book/manual/barman_recipes, -/obj/item/weapon/reagent_containers/food/drinks/flask/vacuumflask, -/obj/item/weapon/reagent_containers/glass/rag, -/obj/item/weapon/reagent_containers/glass/rag, +/obj/item/book/manual/barman_recipes, +/obj/item/reagent_containers/food/drinks/flask/vacuumflask, +/obj/item/reagent_containers/glass/rag, +/obj/item/reagent_containers/glass/rag, /obj/machinery/light{ dir = 4 }, @@ -426,10 +426,10 @@ /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 }, -/obj/item/weapon/reagent_containers/food/condiment/enzyme{ +/obj/item/reagent_containers/food/condiment/enzyme{ layer = 5 }, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/reagent_containers/dropper, /obj/structure/sign/poster, /turf/unsimulated/floor/steel{ icon_state = "white" @@ -449,22 +449,22 @@ /area/redgate/structure/powered) "dL" = ( /obj/structure/closet/crate/freezer, -/obj/item/weapon/storage/box/monkeycubes, -/obj/item/weapon/storage/box/monkeycubes/neaeracubes, -/obj/item/weapon/storage/box/monkeycubes/sarucubes, -/obj/item/weapon/storage/box/monkeycubes/sobakacubes, -/obj/item/weapon/storage/box/monkeycubes/sparracubes, -/obj/item/weapon/storage/box/monkeycubes/stokcubes, -/obj/item/weapon/storage/box/monkeycubes/wolpincubes, -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/monkeycubes, +/obj/item/storage/box/monkeycubes/neaeracubes, +/obj/item/storage/box/monkeycubes/sarucubes, +/obj/item/storage/box/monkeycubes/sobakacubes, +/obj/item/storage/box/monkeycubes/sparracubes, +/obj/item/storage/box/monkeycubes/stokcubes, +/obj/item/storage/box/monkeycubes/wolpincubes, +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 3 }, @@ -490,7 +490,7 @@ /area/redgate/wilds) "dR" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/grilledcheese, +/obj/item/reagent_containers/food/snacks/grilledcheese, /turf/unsimulated/floor/steel{ icon = 'icons/turf/floors_vr.dmi'; icon_state = "wood" @@ -529,7 +529,7 @@ /area/redgate/structure/powered) "ea" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/roastbeef, +/obj/item/reagent_containers/food/snacks/roastbeef, /turf/unsimulated/floor/steel{ icon = 'icons/turf/floors_vr.dmi'; icon_state = "wood" @@ -573,10 +573,10 @@ /area/redgate/structure/powered) "eh" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -3 }, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 3 }, /turf/unsimulated/floor/steel{ @@ -589,8 +589,8 @@ /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 }, -/obj/item/weapon/material/knife/butch, -/obj/item/weapon/reagent_containers/glass/beaker{ +/obj/item/material/knife/butch, +/obj/item/reagent_containers/glass/beaker{ pixel_x = 5 }, /turf/unsimulated/floor/steel{ @@ -613,10 +613,10 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/material/knife, -/obj/item/weapon/material/minihoe, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/material/knife, +/obj/item/material/minihoe, +/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /turf/unsimulated/floor/steel, /area/redgate/structure/powered) "el" = ( @@ -679,7 +679,7 @@ /turf/unsimulated/floor/steel, /area/redgate/structure/powered) "ev" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/spline/plain{ dir = 8 }, @@ -687,10 +687,10 @@ /area/redgate/structure/powered) "ew" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -3 }, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 3 }, /turf/simulated/floor/lino, @@ -704,7 +704,7 @@ /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 }, -/obj/item/weapon/book/manual/chef_recipes, +/obj/item/book/manual/chef_recipes, /turf/unsimulated/floor/steel{ icon_state = "white" }, @@ -718,7 +718,7 @@ /area/redgate/structure/powered) "eE" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/meatballsoup, +/obj/item/reagent_containers/food/snacks/meatballsoup, /turf/unsimulated/floor/steel{ icon = 'icons/turf/floors_vr.dmi'; icon_state = "wood" @@ -732,7 +732,7 @@ /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 }, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/kitchen/rollingpin, /turf/unsimulated/floor/steel{ icon_state = "white" }, @@ -743,7 +743,7 @@ /area/redgate/structure/powered) "eN" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/meatsteak, +/obj/item/reagent_containers/food/snacks/meatsteak, /turf/unsimulated/floor/steel{ icon = 'icons/turf/floors_vr.dmi'; icon_state = "wood" @@ -751,7 +751,7 @@ /area/redgate/structure/powered) "eO" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/glass/rag, +/obj/item/reagent_containers/glass/rag, /turf/simulated/floor/lino, /area/redgate/structure/powered) "eP" = ( @@ -804,15 +804,15 @@ /obj/effect/floor_decal/corner/grey/diagonal, /obj/structure/closet/chefcloset, /obj/item/glass_jar, -/obj/item/device/retail_scanner/civilian, -/obj/item/weapon/soap/nanotrasen, -/obj/item/device/destTagger{ +/obj/item/retail_scanner/civilian, +/obj/item/soap/nanotrasen, +/obj/item/destTagger{ pixel_x = 4; pixel_y = 3 }, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, +/obj/item/packageWrap, +/obj/item/packageWrap, +/obj/item/packageWrap, /turf/simulated/floor/tiled/white, /area/redgate/structure/powered) "eW" = ( @@ -935,10 +935,10 @@ dir = 4 }, /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 3 }, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -3 }, /obj/structure/extinguisher_cabinet{ diff --git a/maps/redgate/islands.dmm b/maps/redgate/islands.dmm index 3255403fed2..936d3a55ab5 100644 --- a/maps/redgate/islands.dmm +++ b/maps/redgate/islands.dmm @@ -5,7 +5,7 @@ /area/redgate/islands/gear) "az" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/greendouble, +/obj/item/bedsheet/greendouble, /turf/simulated/floor/carpet/green, /area/redgate/islands/dorm1) "aL" = ( @@ -13,7 +13,7 @@ /turf/simulated/floor/wood/alt, /area/redgate/islands/diningroom) "aP" = ( -/obj/item/weapon/material/shard/titaniumglass, +/obj/item/material/shard/titaniumglass, /turf/simulated/shuttle/floor/alienplating/blue, /area/redgate/islands/alienship) "bg" = ( @@ -25,12 +25,12 @@ /turf/simulated/floor/wood/alt, /area/redgate/islands/diningroom) "bo" = ( -/obj/item/weapon/circuitboard/broken, +/obj/item/circuitboard/broken, /turf/simulated/shuttle/floor/alien/blue, /area/redgate/islands/alienship) "bt" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/toy/desk/officetoy, +/obj/item/toy/desk/officetoy, /turf/simulated/floor/tiled/dark, /area/redgate/islands/control) "bv" = ( @@ -85,20 +85,20 @@ /turf/simulated/floor/tiled/dark, /area/redgate/islands/gear) "dk" = ( -/obj/item/weapon/oar, +/obj/item/oar, /turf/simulated/floor/outdoors/newdirt, /area/redgate/islands/ocean) "dr" = ( /obj/structure/table/darkglass, -/obj/item/weapon/toy/desk/newtoncradle, +/obj/item/toy/desk/newtoncradle, /turf/simulated/floor/wood/alt, /area/redgate/islands/office) "dt" = ( -/obj/item/weapon/picnic_blankets_carried, +/obj/item/picnic_blankets_carried, /turf/simulated/floor/beach/sand/desert/outdoors, /area/redgate/islands/ocean) "dD" = ( -/obj/item/weapon/bone/skull/unknown, +/obj/item/bone/skull/unknown, /turf/simulated/shuttle/floor/alien/blue, /area/redgate/islands/alienship) "dF" = ( @@ -117,8 +117,8 @@ /area/redgate/islands/kitchen) "dX" = ( /obj/structure/table/marble, -/obj/item/weapon/material/knife/butch, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/knife/butch, +/obj/item/material/kitchen/rollingpin, /turf/simulated/floor/tiled/kafel_full, /area/redgate/islands/kitchen) "ea" = ( @@ -146,7 +146,7 @@ /turf/simulated/floor/wood/alt, /area/redgate/islands/diningroom) "eG" = ( -/obj/item/weapon/beach_ball, +/obj/item/beach_ball, /turf/simulated/floor/beach/sand/desert/outdoors, /area/redgate/islands/ocean) "eH" = ( @@ -171,7 +171,7 @@ /area/redgate/islands/livingroom) "fc" = ( /obj/structure/grille, -/obj/item/weapon/material/shard/titaniumglass, +/obj/item/material/shard/titaniumglass, /turf/simulated/shuttle/floor/alien/blue, /area/redgate/islands/alienship) "fd" = ( @@ -218,7 +218,7 @@ /area/redgate/islands/dorm1) "gH" = ( /obj/structure/table/darkglass, -/obj/item/weapon/toy/desk/fan, +/obj/item/toy/desk/fan, /turf/simulated/floor/wood/alt, /area/redgate/islands/office) "gJ" = ( @@ -235,7 +235,7 @@ /area/redgate/islands/livingroom) "gT" = ( /obj/structure/salvageable/shuttle_console, -/obj/item/weapon/material/shard/titaniumglass, +/obj/item/material/shard/titaniumglass, /turf/simulated/shuttle/floor/alienplating/blue/half{ dir = 1 }, @@ -264,26 +264,26 @@ "hP" = ( /obj/structure/table/marble, /obj/structure/closet/walllocker_double/kitchen/west, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/sugar, +/obj/item/reagent_containers/food/condiment/carton/sugar, +/obj/item/reagent_containers/food/condiment/carton/sugar, +/obj/item/reagent_containers/food/condiment/carton/sugar, +/obj/item/reagent_containers/food/condiment/carton/sugar, +/obj/item/reagent_containers/food/condiment/carton/sugar, +/obj/item/reagent_containers/food/condiment/carton/sugar, /obj/machinery/light, /turf/simulated/floor/tiled/kafel_full, /area/redgate/islands/kitchen) "hS" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/toy/desk/fan, +/obj/item/toy/desk/fan, /turf/simulated/floor/tiled/dark, /area/redgate/islands/control) "hU" = ( @@ -316,8 +316,8 @@ /area/redgate/islands/oxygen) "it" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/glass/beaker/measuring_cup, -/obj/item/weapon/reagent_containers/glass/beaker/measuring_cup, +/obj/item/reagent_containers/glass/beaker/measuring_cup, +/obj/item/reagent_containers/glass/beaker/measuring_cup, /turf/simulated/floor/tiled/kafel_full, /area/redgate/islands/kitchen) "iu" = ( @@ -363,9 +363,9 @@ /area/redgate/islands/cave) "iX" = ( /obj/structure/bookcase, -/obj/item/weapon/book/bundle/custom_library/fiction/apurrrrfectman, -/obj/item/weapon/book/bundle/custom_library/fiction/beyondthedoor, -/obj/item/weapon/book/bundle/custom_library/fiction/ghostship, +/obj/item/book/bundle/custom_library/fiction/apurrrrfectman, +/obj/item/book/bundle/custom_library/fiction/beyondthedoor, +/obj/item/book/bundle/custom_library/fiction/ghostship, /turf/simulated/floor/wood/alt, /area/redgate/islands/office) "jt" = ( @@ -386,8 +386,8 @@ /area/redgate/islands/ocean) "kd" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/fountain7, +/obj/item/paper_bin, +/obj/item/pen/fountain7, /turf/simulated/floor/tiled/dark, /area/redgate/islands/control) "kf" = ( @@ -444,7 +444,7 @@ }, /area/redgate/islands/ocean) "lJ" = ( -/obj/item/weapon/material/shard/titaniumglass, +/obj/item/material/shard/titaniumglass, /obj/structure/bed/chair/bay/chair/padded/purple{ dir = 1 }, @@ -633,9 +633,9 @@ /area/redgate/islands/ocean) "qF" = ( /obj/structure/bookcase, -/obj/item/weapon/book/custom_library/fiction/blacksmithandkinglybloke, -/obj/item/weapon/book/custom_library/fiction/irishairmanforseesdeath, -/obj/item/weapon/book/custom_library/fiction/myrock, +/obj/item/book/custom_library/fiction/blacksmithandkinglybloke, +/obj/item/book/custom_library/fiction/irishairmanforseesdeath, +/obj/item/book/custom_library/fiction/myrock, /turf/simulated/floor/wood/alt, /area/redgate/islands/office) "qU" = ( @@ -666,10 +666,10 @@ /area/redgate/islands/control) "rA" = ( /obj/structure/table/gold, -/obj/item/weapon/tank/oxygen/yellow, -/obj/item/weapon/tank/oxygen/yellow, -/obj/item/weapon/tank/oxygen/yellow, -/obj/item/weapon/tank/oxygen/yellow, +/obj/item/tank/oxygen/yellow, +/obj/item/tank/oxygen/yellow, +/obj/item/tank/oxygen/yellow, +/obj/item/tank/oxygen/yellow, /turf/simulated/floor/concrete, /area/redgate/islands/oxygen) "rT" = ( @@ -703,7 +703,7 @@ /turf/simulated/floor/outdoors/grass/heavy, /area/redgate/islands/ocean) "sO" = ( -/obj/item/weapon/material/shard/titaniumglass, +/obj/item/material/shard/titaniumglass, /turf/simulated/floor/water/deep/ocean/diving, /area/redgate/islands/ocean) "sR" = ( @@ -723,7 +723,7 @@ /turf/simulated/floor/lava, /area/redgate/islands/ocean) "tA" = ( -/obj/item/weapon/oar, +/obj/item/oar, /turf/simulated/floor/beach/sand/desert/outdoors, /area/redgate/islands/ocean) "tD" = ( @@ -775,7 +775,7 @@ /area/redgate/islands/ocean) "wp" = ( /obj/structure/table/hardwoodtable, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_y = 7 }, /turf/simulated/floor/wood/alt, @@ -824,7 +824,7 @@ /area/redgate/islands/office) "xN" = ( /obj/structure/table/hardwoodtable, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_y = 7 }, /turf/simulated/floor/wood/alt, @@ -1008,7 +1008,7 @@ /area/redgate/islands/livingroom) "CT" = ( /obj/structure/table/hardwoodtable, -/obj/item/weapon/oar, +/obj/item/oar, /obj/machinery/light_switch{ dir = 8; pixel_x = 24; @@ -1024,7 +1024,7 @@ /area/redgate/islands/livingroom) "Dx" = ( /obj/structure/grille/broken, -/obj/item/weapon/material/shard/titaniumglass, +/obj/item/material/shard/titaniumglass, /turf/simulated/shuttle/floor/alien/blue, /area/redgate/islands/alienship) "DD" = ( @@ -1261,16 +1261,16 @@ /obj/structure/closet/crate{ name = "oar box" }, -/obj/item/weapon/oar, -/obj/item/weapon/oar, -/obj/item/weapon/oar, -/obj/item/weapon/oar, -/obj/item/weapon/oar, -/obj/item/weapon/oar, +/obj/item/oar, +/obj/item/oar, +/obj/item/oar, +/obj/item/oar, +/obj/item/oar, +/obj/item/oar, /turf/simulated/floor/beach/sand/desert/outdoors, /area/redgate/islands/ocean) "LC" = ( -/obj/item/weapon/oar, +/obj/item/oar, /turf/simulated/floor/tiled{ outdoors = 1 }, @@ -1339,9 +1339,9 @@ /area/redgate/islands/gear) "Ns" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/food/condiment/enzyme, /obj/machinery/light, /turf/simulated/floor/tiled/kafel_full, /area/redgate/islands/kitchen) @@ -1389,7 +1389,7 @@ /obj/structure/table/rack/shelf/steel{ pixel_y = 16 }, -/obj/item/weapon/towel/random, +/obj/item/towel/random, /obj/random/soap, /turf/simulated/floor/tiled/kafel_full/gray, /area/redgate/islands/bathroom) @@ -1447,7 +1447,7 @@ /area/redgate/islands/livingroom) "QQ" = ( /obj/structure/table/darkglass, -/obj/item/weapon/book/bundle/custom_library/fiction/taleoftherainbowcat, +/obj/item/book/bundle/custom_library/fiction/taleoftherainbowcat, /turf/simulated/floor/wood/alt, /area/redgate/islands/office) "RG" = ( @@ -1465,7 +1465,7 @@ /turf/simulated/shuttle/floor/alien/blue, /area/redgate/islands/alienship) "RP" = ( -/obj/item/weapon/oar, +/obj/item/oar, /turf/simulated/floor/water/beach, /area/redgate/islands/ocean) "RZ" = ( @@ -1474,9 +1474,9 @@ /area/redgate/islands/cave) "Si" = ( /obj/structure/bookcase, -/obj/item/weapon/book/custom_library/fiction/starsandsometimesfallingones, -/obj/item/weapon/book/custom_library/fiction/truelovehathmyheart, -/obj/item/weapon/book/custom_library/fiction/woodysgotwood, +/obj/item/book/custom_library/fiction/starsandsometimesfallingones, +/obj/item/book/custom_library/fiction/truelovehathmyheart, +/obj/item/book/custom_library/fiction/woodysgotwood, /turf/simulated/floor/wood/alt, /area/redgate/islands/office) "Sk" = ( @@ -1624,28 +1624,28 @@ /area/redgate/islands/redgate) "Xl" = ( /obj/structure/closet/cabinet, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/spoon, -/obj/item/weapon/material/kitchen/utensil/spoon, -/obj/item/weapon/material/kitchen/utensil/spoon, -/obj/item/weapon/material/kitchen/utensil/spoon, -/obj/item/weapon/material/kitchen/utensil/spoon, -/obj/item/weapon/material/kitchen/utensil/spoon, -/obj/item/weapon/material/kitchen/utensil/spoon, -/obj/item/weapon/material/kitchen/utensil/spork, -/obj/item/weapon/material/kitchen/utensil/foon, -/obj/item/weapon/material/knife, -/obj/item/weapon/material/knife, -/obj/item/weapon/material/knife, -/obj/item/weapon/material/knife, -/obj/item/weapon/material/knife, -/obj/item/weapon/material/knife, -/obj/item/weapon/material/knife, +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/spoon, +/obj/item/material/kitchen/utensil/spoon, +/obj/item/material/kitchen/utensil/spoon, +/obj/item/material/kitchen/utensil/spoon, +/obj/item/material/kitchen/utensil/spoon, +/obj/item/material/kitchen/utensil/spoon, +/obj/item/material/kitchen/utensil/spoon, +/obj/item/material/kitchen/utensil/spork, +/obj/item/material/kitchen/utensil/foon, +/obj/item/material/knife, +/obj/item/material/knife, +/obj/item/material/knife, +/obj/item/material/knife, +/obj/item/material/knife, +/obj/item/material/knife, +/obj/item/material/knife, /turf/simulated/floor/wood/alt, /area/redgate/islands/diningroom) "Xq" = ( @@ -1719,7 +1719,7 @@ /turf/simulated/floor/water/deep/ocean/diving, /area/redgate/islands/ocean) "Zg" = ( -/obj/item/weapon/melee/umbrella/random, +/obj/item/melee/umbrella/random, /turf/simulated/floor/wood/alt, /area/redgate/islands/diningroom) "ZF" = ( @@ -1739,12 +1739,12 @@ /area/redgate/islands/ocean) "ZR" = ( /obj/structure/table/hardwoodtable, -/obj/item/weapon/material/fishing_rod/modern/strong, +/obj/item/material/fishing_rod/modern/strong, /turf/simulated/floor/wood/alt, /area/redgate/islands/livingroom) "ZY" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/purpledouble, +/obj/item/bedsheet/purpledouble, /turf/simulated/floor/wood/alt, /area/redgate/islands/dorm2) diff --git a/maps/redgate/islands_underwater.dmm b/maps/redgate/islands_underwater.dmm index e76e10957f1..5f25f246f3c 100644 --- a/maps/redgate/islands_underwater.dmm +++ b/maps/redgate/islands_underwater.dmm @@ -5,7 +5,7 @@ /area/redgate/islands/ruins) "ad" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/red, +/obj/item/bedsheet/red, /turf/simulated/floor/wood/alt, /area/redgate/islands/sparerooms) "af" = ( @@ -45,12 +45,12 @@ /area/redgate/islands/sparerooms) "bi" = ( /obj/structure/table/gold, -/obj/item/weapon/material/knife/ritual, +/obj/item/material/knife/ritual, /turf/simulated/floor/water/underwater/sand, /area/redgate/islands/ruins) "bl" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/rainbow, +/obj/item/bedsheet/rainbow, /turf/simulated/floor/wood/alt, /area/redgate/islands/sparerooms) "bm" = ( @@ -64,7 +64,7 @@ }, /area/redgate/islands/ruins) "by" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /obj/machinery/light/small{ @@ -74,18 +74,18 @@ /area/redgate/islands/gambling) "bZ" = ( /obj/structure/closet/grave, -/obj/item/weapon/bone/skull, -/obj/item/weapon/bone/skull, -/obj/item/weapon/bone/skull/tajaran, -/obj/item/weapon/bone/skull/unathi, -/obj/item/weapon/bone/skull/unknown, +/obj/item/bone/skull, +/obj/item/bone/skull, +/obj/item/bone/skull/tajaran, +/obj/item/bone/skull/unathi, +/obj/item/bone/skull/unknown, /obj/item/clothing/suit/dress/solgov/fleet/sailor, /obj/random/contraband/nofail, /turf/simulated/floor/water/underwater, /area/redgate/islands/underwater) "cl" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/hop, +/obj/item/bedsheet/hop, /turf/simulated/floor/wood/alt, /area/redgate/islands/sparerooms) "cu" = ( @@ -105,49 +105,49 @@ /area/redgate/islands/bar) "cK" = ( /obj/structure/closet/walllocker_double/north, -/obj/item/weapon/spacecasinocash/c1, -/obj/item/weapon/spacecasinocash/c1, -/obj/item/weapon/spacecasinocash/c1, -/obj/item/weapon/spacecasinocash/c1, -/obj/item/weapon/spacecasinocash/c1, -/obj/item/weapon/spacecasinocash/c10, -/obj/item/weapon/spacecasinocash/c10, -/obj/item/weapon/spacecasinocash/c10, -/obj/item/weapon/spacecasinocash/c10, -/obj/item/weapon/spacecasinocash/c10, -/obj/item/weapon/spacecasinocash/c10, -/obj/item/weapon/spacecasinocash/c10, -/obj/item/weapon/spacecasinocash/c10, -/obj/item/weapon/spacecasinocash/c100, -/obj/item/weapon/spacecasinocash/c100, -/obj/item/weapon/spacecasinocash/c100, -/obj/item/weapon/spacecasinocash/c100, -/obj/item/weapon/spacecasinocash/c100, -/obj/item/weapon/spacecasinocash/c100, -/obj/item/weapon/spacecasinocash/c100, -/obj/item/weapon/spacecasinocash/c1000, -/obj/item/weapon/spacecasinocash/c1000, -/obj/item/weapon/spacecasinocash/c1000, -/obj/item/weapon/spacecasinocash/c1000, -/obj/item/weapon/spacecasinocash/c1000, -/obj/item/weapon/spacecasinocash/c1000, -/obj/item/weapon/spacecasinocash/c20, -/obj/item/weapon/spacecasinocash/c20, -/obj/item/weapon/spacecasinocash/c20, -/obj/item/weapon/spacecasinocash/c20, -/obj/item/weapon/spacecasinocash/c200, -/obj/item/weapon/spacecasinocash/c200, -/obj/item/weapon/spacecasinocash/c200, -/obj/item/weapon/spacecasinocash/c200, -/obj/item/weapon/spacecasinocash/c50, -/obj/item/weapon/spacecasinocash/c50, -/obj/item/weapon/spacecasinocash/c50, -/obj/item/weapon/spacecasinocash/c50, -/obj/item/weapon/spacecasinocash/c500, -/obj/item/weapon/spacecasinocash/c500, -/obj/item/weapon/spacecasinocash/c500, -/obj/item/weapon/spacecasinocash/c500, -/obj/item/weapon/spacecasinocash/c500, +/obj/item/spacecasinocash/c1, +/obj/item/spacecasinocash/c1, +/obj/item/spacecasinocash/c1, +/obj/item/spacecasinocash/c1, +/obj/item/spacecasinocash/c1, +/obj/item/spacecasinocash/c10, +/obj/item/spacecasinocash/c10, +/obj/item/spacecasinocash/c10, +/obj/item/spacecasinocash/c10, +/obj/item/spacecasinocash/c10, +/obj/item/spacecasinocash/c10, +/obj/item/spacecasinocash/c10, +/obj/item/spacecasinocash/c10, +/obj/item/spacecasinocash/c100, +/obj/item/spacecasinocash/c100, +/obj/item/spacecasinocash/c100, +/obj/item/spacecasinocash/c100, +/obj/item/spacecasinocash/c100, +/obj/item/spacecasinocash/c100, +/obj/item/spacecasinocash/c100, +/obj/item/spacecasinocash/c1000, +/obj/item/spacecasinocash/c1000, +/obj/item/spacecasinocash/c1000, +/obj/item/spacecasinocash/c1000, +/obj/item/spacecasinocash/c1000, +/obj/item/spacecasinocash/c1000, +/obj/item/spacecasinocash/c20, +/obj/item/spacecasinocash/c20, +/obj/item/spacecasinocash/c20, +/obj/item/spacecasinocash/c20, +/obj/item/spacecasinocash/c200, +/obj/item/spacecasinocash/c200, +/obj/item/spacecasinocash/c200, +/obj/item/spacecasinocash/c200, +/obj/item/spacecasinocash/c50, +/obj/item/spacecasinocash/c50, +/obj/item/spacecasinocash/c50, +/obj/item/spacecasinocash/c50, +/obj/item/spacecasinocash/c500, +/obj/item/spacecasinocash/c500, +/obj/item/spacecasinocash/c500, +/obj/item/spacecasinocash/c500, +/obj/item/spacecasinocash/c500, /turf/simulated/floor/wood/alt, /area/redgate/islands/gamblingbackroom) "da" = ( @@ -160,7 +160,7 @@ /turf/simulated/floor/wood/alt, /area/redgate/islands/bar) "db" = ( -/obj/item/weapon/storage/backpack/cultpack, +/obj/item/storage/backpack/cultpack, /obj/structure/grille/broken/cult, /turf/simulated/floor/water/underwater/cult, /area/redgate/islands/cult) @@ -197,14 +197,14 @@ /turf/simulated/floor/wood/alt, /area/redgate/islands/piratecave) "dT" = ( -/obj/item/weapon/casino_platinum_chip, +/obj/item/casino_platinum_chip, /turf/simulated/floor/outdoors/rocks/caves, /area/redgate/islands/piratecave) "eb" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/dicecup, -/obj/item/weapon/storage/dicecup, -/obj/item/weapon/storage/box/roulette_balls_fancy, +/obj/item/storage/dicecup, +/obj/item/storage/dicecup, +/obj/item/storage/box/roulette_balls_fancy, /turf/simulated/floor/wood/alt, /area/redgate/islands/gamblingbackroom) "eD" = ( @@ -226,8 +226,8 @@ /area/redgate/islands/underwater) "eX" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/fountain9, +/obj/item/paper_bin, +/obj/item/pen/fountain9, /turf/simulated/floor/tiled/dark, /area/redgate/islands/meeting) "eY" = ( @@ -257,7 +257,7 @@ /turf/simulated/floor/water/underwater, /area/redgate/islands/underwater) "fF" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /turf/simulated/floor/carpet/bcarpet, @@ -281,7 +281,7 @@ /area/redgate/islands/underwater) "fU" = ( /obj/structure/table/gold, -/obj/item/weapon/coin/gold, +/obj/item/coin/gold, /turf/simulated/floor/water/underwater/sand, /area/redgate/islands/ruins) "fZ" = ( @@ -425,7 +425,7 @@ /area/redgate/islands/backroom) "iT" = ( /obj/structure/table/gold, -/obj/item/weapon/gun/energy/mouseray/metamorphosis/advanced/random, +/obj/item/gun/energy/mouseray/metamorphosis/advanced/random, /turf/simulated/floor/water/underwater/sand, /area/redgate/islands/ruins) "iV" = ( @@ -456,7 +456,7 @@ /turf/simulated/floor/outdoors/rocks/caves, /area/redgate/islands/underwatercave) "jv" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /obj/machinery/light/small, @@ -536,7 +536,7 @@ /obj/structure/bed/double/padded{ color = "#FFD700" }, -/obj/item/weapon/bedsheet/yellowdouble, +/obj/item/bedsheet/yellowdouble, /turf/simulated/floor/water/underwater/sand, /area/redgate/islands/ruins) "kJ" = ( @@ -553,33 +553,33 @@ /area/redgate/islands/piratecave) "lk" = ( /obj/structure/closet/walllocker_double/kitchen/west, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass, -/obj/item/weapon/reagent_containers/food/drinks/glass2/carafe, -/obj/item/weapon/reagent_containers/food/drinks/metaglass, -/obj/item/weapon/reagent_containers/food/drinks/metaglass, -/obj/item/weapon/reagent_containers/food/drinks/metaglass, -/obj/item/weapon/reagent_containers/food/drinks/metaglass, -/obj/item/weapon/reagent_containers/food/drinks/metaglass, -/obj/item/weapon/reagent_containers/food/drinks/metaglass, -/obj/item/weapon/reagent_containers/food/drinks/metaglass/metapint, -/obj/item/weapon/reagent_containers/food/drinks/metaglass/metapint, -/obj/item/weapon/reagent_containers/food/drinks/metaglass/metapint, -/obj/item/weapon/reagent_containers/food/drinks/metaglass/metapint, -/obj/item/weapon/reagent_containers/food/drinks/metaglass/metapint, -/obj/item/weapon/reagent_containers/food/drinks/metaglass/metapint, -/obj/item/weapon/reagent_containers/food/drinks/metaglass/metapint, -/obj/item/weapon/reagent_containers/food/drinks/metaglass/metapint, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/shotglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/shotglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/shotglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/shotglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/shotglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/shotglass, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/shotglass, +/obj/item/reagent_containers/food/drinks/drinkingglass, +/obj/item/reagent_containers/food/drinks/drinkingglass, +/obj/item/reagent_containers/food/drinks/drinkingglass, +/obj/item/reagent_containers/food/drinks/drinkingglass, +/obj/item/reagent_containers/food/drinks/drinkingglass, +/obj/item/reagent_containers/food/drinks/glass2/carafe, +/obj/item/reagent_containers/food/drinks/metaglass, +/obj/item/reagent_containers/food/drinks/metaglass, +/obj/item/reagent_containers/food/drinks/metaglass, +/obj/item/reagent_containers/food/drinks/metaglass, +/obj/item/reagent_containers/food/drinks/metaglass, +/obj/item/reagent_containers/food/drinks/metaglass, +/obj/item/reagent_containers/food/drinks/metaglass/metapint, +/obj/item/reagent_containers/food/drinks/metaglass/metapint, +/obj/item/reagent_containers/food/drinks/metaglass/metapint, +/obj/item/reagent_containers/food/drinks/metaglass/metapint, +/obj/item/reagent_containers/food/drinks/metaglass/metapint, +/obj/item/reagent_containers/food/drinks/metaglass/metapint, +/obj/item/reagent_containers/food/drinks/metaglass/metapint, +/obj/item/reagent_containers/food/drinks/metaglass/metapint, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, /turf/simulated/floor/wood/alt, /area/redgate/islands/bar) "lq" = ( @@ -604,7 +604,7 @@ /area/redgate/islands/underwater) "lB" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/tank/oxygen/yellow, +/obj/item/tank/oxygen/yellow, /obj/item/clothing/mask/gas/half{ name = "diving mask" }, @@ -631,18 +631,18 @@ /area/redgate/islands/robotics) "lW" = ( /obj/structure/closet/secure_closet/personal, -/obj/item/weapon/reagent_containers/food/snacks/bigbiteburger, -/obj/item/weapon/reagent_containers/food/snacks/bigbiteburger, -/obj/item/weapon/reagent_containers/food/snacks/bigbiteburger, -/obj/item/weapon/reagent_containers/food/snacks/bigbiteburger, -/obj/item/weapon/reagent_containers/food/snacks/bigbiteburger, -/obj/item/weapon/reagent_containers/food/snacks/bigbiteburger, -/obj/item/weapon/reagent_containers/food/snacks/bigbiteburger, -/obj/item/weapon/reagent_containers/food/snacks/bigbiteburger, -/obj/item/weapon/reagent_containers/food/snacks/bigbiteburger, -/obj/item/weapon/reagent_containers/food/snacks/bigbiteburger, -/obj/item/weapon/reagent_containers/food/snacks/bigbiteburger, -/obj/item/weapon/reagent_containers/food/snacks/bigbiteburger, +/obj/item/reagent_containers/food/snacks/bigbiteburger, +/obj/item/reagent_containers/food/snacks/bigbiteburger, +/obj/item/reagent_containers/food/snacks/bigbiteburger, +/obj/item/reagent_containers/food/snacks/bigbiteburger, +/obj/item/reagent_containers/food/snacks/bigbiteburger, +/obj/item/reagent_containers/food/snacks/bigbiteburger, +/obj/item/reagent_containers/food/snacks/bigbiteburger, +/obj/item/reagent_containers/food/snacks/bigbiteburger, +/obj/item/reagent_containers/food/snacks/bigbiteburger, +/obj/item/reagent_containers/food/snacks/bigbiteburger, +/obj/item/reagent_containers/food/snacks/bigbiteburger, +/obj/item/reagent_containers/food/snacks/bigbiteburger, /obj/item/clothing/under/pants/khaki, /turf/simulated/floor/tiled/dark, /area/redgate/islands/mess) @@ -800,7 +800,7 @@ /area/redgate/islands/shower) "qb" = ( /obj/structure/table/glass, -/obj/item/weapon/newspaper, +/obj/item/newspaper, /turf/simulated/floor/tiled/dark, /area/redgate/islands/mess) "qk" = ( @@ -813,7 +813,7 @@ /area/redgate/islands/underwater) "qn" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/sword/sabre, +/obj/item/material/sword/sabre, /turf/simulated/floor/wood/alt, /area/redgate/islands/piratecave) "qo" = ( @@ -848,7 +848,7 @@ /turf/simulated/floor/water/underwater/sand, /area/redgate/islands/ruins) "qY" = ( -/obj/item/clothing/gloves/ring/material/gold, +/obj/item/clothing/accessory/ring/material/gold, /turf/simulated/floor/water/underwater/sand, /area/redgate/islands/ruins) "rk" = ( @@ -863,7 +863,7 @@ /obj/structure/table/rack{ color = "#FFD700" }, -/obj/item/weapon/soap/golden_soap, +/obj/item/soap/golden_soap, /turf/simulated/floor/water/underwater/sand, /area/redgate/islands/ruins) "rq" = ( @@ -904,7 +904,7 @@ /area/redgate/islands/ruins) "sh" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/tank/air, +/obj/item/tank/air, /obj/item/clothing/mask/gas/half{ name = "diving mask" }, @@ -919,7 +919,7 @@ /turf/simulated/floor/outdoors/rocks/caves, /area/redgate/islands/piratecave) "sF" = ( -/obj/item/weapon/reagent_containers/food/snacks/packaged/vendhotdog, +/obj/item/reagent_containers/food/snacks/packaged/vendhotdog, /turf/simulated/floor/water/underwater, /area/redgate/islands/underwater) "sH" = ( @@ -930,7 +930,7 @@ /area/redgate/islands/ruins) "sR" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/piratedouble, +/obj/item/bedsheet/piratedouble, /turf/simulated/floor/carpet/brown, /area/redgate/islands/backroom) "tb" = ( @@ -947,7 +947,7 @@ /turf/simulated/floor/wood/alt, /area/redgate/islands/bar) "ts" = ( -/obj/item/weapon/pickaxe/gold, +/obj/item/pickaxe/gold, /turf/simulated/floor/water/underwater/sand, /area/redgate/islands/ruins) "tv" = ( @@ -1004,10 +1004,10 @@ /area/redgate/islands/lavabase) "ud" = ( /obj/structure/closet, -/obj/item/weapon/folder/blue, -/obj/item/weapon/folder/blue, -/obj/item/weapon/folder/blue, -/obj/item/weapon/folder/blue, +/obj/item/folder/blue, +/obj/item/folder/blue, +/obj/item/folder/blue, +/obj/item/folder/blue, /turf/simulated/floor/tiled/dark, /area/redgate/islands/meeting) "uf" = ( @@ -1035,7 +1035,7 @@ /area/redgate/islands/robotics) "us" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_y = 7 }, /turf/simulated/floor/wood/alt, @@ -1059,7 +1059,7 @@ /turf/simulated/floor/water/underwater/sand, /area/redgate/islands/ruins) "uK" = ( -/obj/item/weapon/bluespace_crystal, +/obj/item/bluespace_crystal, /turf/simulated/floor/water/underwater, /area/redgate/islands/underwater) "uN" = ( @@ -1118,7 +1118,7 @@ /turf/simulated/floor/carpet/blue2, /area/redgate/islands/rig1) "wc" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /turf/simulated/floor/carpet/bcarpet, @@ -1152,7 +1152,7 @@ /turf/simulated/floor/tiled/dark, /area/redgate/islands/mess) "wG" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, /obj/machinery/light/small{ @@ -1168,7 +1168,7 @@ /turf/simulated/floor/greengrid, /area/redgate/islands/lavabase) "xa" = ( -/obj/item/weapon/material/twohanded/baseballbat/gold, +/obj/item/material/twohanded/baseballbat/gold, /turf/simulated/floor/water/underwater/sand, /area/redgate/islands/ruins) "xg" = ( @@ -1180,14 +1180,14 @@ /area/redgate/islands/rig2) "xm" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/carpet/blue2, /area/redgate/islands/rig1) "xz" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, /turf/simulated/floor/wood/alt, /area/redgate/islands/storeroom) "xC" = ( @@ -1218,7 +1218,7 @@ /area/redgate/islands/rig2) "yd" = ( /obj/machinery/optable, -/obj/item/device/robotanalyzer, +/obj/item/robotanalyzer, /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/islands/robotics) "yl" = ( @@ -1237,7 +1237,7 @@ /area/redgate/islands/gamblingbackroom) "yv" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/bluedouble, +/obj/item/bedsheet/bluedouble, /turf/simulated/floor/carpet/blue2, /area/redgate/islands/rig1) "yB" = ( @@ -1287,7 +1287,7 @@ /turf/simulated/wall/cult, /area/redgate/islands/cult) "zE" = ( -/obj/item/weapon/reagent_containers/food/snacks/old/hotdog, +/obj/item/reagent_containers/food/snacks/old/hotdog, /turf/simulated/floor/water/underwater, /area/redgate/islands/underwater) "zK" = ( @@ -1322,10 +1322,10 @@ /area/redgate/islands/underwater) "Ai" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/pill_bottle/dice, -/obj/item/weapon/storage/pill_bottle/dice, -/obj/item/weapon/storage/pill_bottle/dice_nerd, -/obj/item/weapon/storage/pill_bottle/dice_nerd, +/obj/item/storage/pill_bottle/dice, +/obj/item/storage/pill_bottle/dice, +/obj/item/storage/pill_bottle/dice_nerd, +/obj/item/storage/pill_bottle/dice_nerd, /obj/machinery/light/small{ dir = 8 }, @@ -1362,7 +1362,7 @@ /area/redgate/islands/ruins) "Bu" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_y = 7 }, /turf/simulated/floor/carpet/brown, @@ -1414,7 +1414,7 @@ /area/redgate/islands/underwater) "Cs" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/tank/oxygen/yellow, +/obj/item/tank/oxygen/yellow, /obj/item/clothing/mask/gas/half{ name = "diving mask" }, @@ -1444,7 +1444,7 @@ /turf/simulated/floor/water/underwater/wood, /area/redgate/islands/underwater) "CM" = ( -/obj/item/weapon/ore/gold, +/obj/item/ore/gold, /turf/simulated/floor/water/underwater/sand, /area/redgate/islands/ruins) "CN" = ( @@ -1482,7 +1482,7 @@ /turf/simulated/floor/tiled/techfloor, /area/redgate/islands/lavabase) "DF" = ( -/obj/item/weapon/material/shard/titaniumglass, +/obj/item/material/shard/titaniumglass, /turf/simulated/floor/water/underwater, /area/redgate/islands/underwater) "DJ" = ( @@ -1491,7 +1491,7 @@ /turf/simulated/floor/tiled/dark, /area/redgate/islands/mess) "DK" = ( -/obj/item/weapon/coin/gold, +/obj/item/coin/gold, /turf/simulated/floor/water/underwater/sand, /area/redgate/islands/ruins) "DM" = ( @@ -1512,7 +1512,7 @@ /turf/simulated/floor/water/underwater, /area/redgate/islands/underwater) "DW" = ( -/obj/item/weapon/reagent_containers/food/snacks/packaged/meatration, +/obj/item/reagent_containers/food/snacks/packaged/meatration, /turf/simulated/floor/outdoors/rocks/caves, /area/redgate/islands/underwatercave) "DZ" = ( @@ -1625,7 +1625,7 @@ /area/redgate/islands/underwatercave) "Gv" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/shaker, +/obj/item/reagent_containers/food/drinks/shaker, /turf/simulated/floor/wood/alt, /area/redgate/islands/bar) "Gz" = ( @@ -1641,7 +1641,7 @@ /area/redgate/islands/lavadorm) "GE" = ( /obj/structure/table/woodentable, -/obj/item/weapon/gun/projectile/pirate, +/obj/item/gun/projectile/pirate, /turf/simulated/floor/wood/alt, /area/redgate/islands/piratecave) "GL" = ( @@ -1772,7 +1772,7 @@ "KV" = ( /obj/structure/table/woodentable, /obj/item/ammo_magazine/s45/rubber, -/obj/item/weapon/gun/projectile/revolver/detective45, +/obj/item/gun/projectile/revolver/detective45, /turf/simulated/floor/wood/alt, /area/redgate/islands/backroom) "KX" = ( @@ -1789,13 +1789,13 @@ /turf/simulated/floor/water/underwater, /area/redgate/islands/underwater) "Lt" = ( -/obj/item/weapon/paper/alien, +/obj/item/paper/alien, /turf/simulated/floor/water/underwater, /area/redgate/islands/underwater) "Lu" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, /obj/random/soap, /turf/simulated/floor/tiled/old_tile, /area/redgate/islands/shower) @@ -1806,7 +1806,7 @@ pixel_y = 21 }, /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/bluedouble, +/obj/item/bedsheet/bluedouble, /obj/machinery/light_switch{ dir = 8; pixel_x = 25; @@ -1871,7 +1871,7 @@ /turf/simulated/floor/water/underwater, /area/redgate/islands/underwater) "Mq" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, /obj/effect/floor_decal/spline/plain{ @@ -1903,7 +1903,7 @@ /turf/simulated/floor/outdoors/rocks/caves, /area/redgate/islands/piratecave) "MO" = ( -/obj/item/weapon/lipstick/random, +/obj/item/lipstick/random, /turf/simulated/floor/water/underwater, /area/redgate/islands/underwater) "MU" = ( @@ -1966,7 +1966,7 @@ /area/redgate/islands/underwater) "Oz" = ( /obj/structure/table/gold, -/obj/item/weapon/ore/gold, +/obj/item/ore/gold, /turf/simulated/floor/water/underwater/sand, /area/redgate/islands/ruins) "OA" = ( @@ -2068,7 +2068,7 @@ /turf/simulated/floor/carpet/brown, /area/redgate/islands/gambling) "QF" = ( -/obj/item/weapon/handcuffs/cable/plantfiber, +/obj/item/handcuffs/cable/plantfiber, /turf/simulated/floor/wood/alt, /area/redgate/islands/piratecave) "QM" = ( @@ -2131,7 +2131,7 @@ /area/redgate/islands/underwater) "RF" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/rddouble, +/obj/item/bedsheet/rddouble, /turf/simulated/floor/carpet/purcarpet, /area/redgate/islands/lavadorm) "RJ" = ( @@ -2143,7 +2143,7 @@ /obj/item/clothing/accessory/jacket/gambler, /obj/item/clothing/under/suit_jacket/gambler, /obj/item/clothing/shoes/flats, -/obj/item/weapon/gun/energy/sickshot, +/obj/item/gun/energy/sickshot, /turf/simulated/floor/wood/alt, /area/redgate/islands/gamblingbackroom) "RR" = ( @@ -2204,7 +2204,7 @@ /turf/simulated/floor/water/underwater, /area/redgate/islands/underwater) "Su" = ( -/obj/item/weapon/aliencoin/gold, +/obj/item/aliencoin/gold, /turf/simulated/floor/water/underwater, /area/redgate/islands/underwater) "Sx" = ( @@ -2271,7 +2271,7 @@ /turf/simulated/floor/carpet/bcarpet, /area/redgate/islands/gambling) "To" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/carpet/bcarpet, /area/redgate/islands/gambling) "Tt" = ( @@ -2331,7 +2331,7 @@ /area/redgate/islands/underwatercave) "Um" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/carpet/blue2, /area/redgate/islands/rig2) "Uo" = ( @@ -2351,7 +2351,7 @@ /area/redgate/islands/underwater) "Uy" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/purple, +/obj/item/bedsheet/purple, /turf/simulated/floor/wood/alt, /area/redgate/islands/sparerooms) "UC" = ( @@ -2366,7 +2366,7 @@ /turf/simulated/floor/water/underwater, /area/redgate/islands/underwater) "UI" = ( -/obj/item/weapon/paper/sec_ticket, +/obj/item/paper/sec_ticket, /turf/simulated/floor/water/underwater, /area/redgate/islands/underwater) "UO" = ( @@ -2444,11 +2444,11 @@ /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/islands/robotics) "Wq" = ( -/obj/item/weapon/paperplane, +/obj/item/paperplane, /turf/simulated/floor/tiled/dark, /area/redgate/islands/meeting) "Wx" = ( -/obj/item/weapon/material/knife/tacknife/boot, +/obj/item/material/knife/tacknife/boot, /turf/simulated/floor/water/underwater, /area/redgate/islands/underwater) "WB" = ( @@ -2470,13 +2470,13 @@ /turf/simulated/floor/wood/alt, /area/redgate/islands/piratecave) "Xk" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /turf/simulated/floor/carpet/brown, /area/redgate/islands/gambling) "Xl" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /turf/simulated/floor/wood/alt, @@ -2495,7 +2495,7 @@ /turf/simulated/floor/tiled/eris/dark/techfloor, /area/redgate/islands/divingbay) "XI" = ( -/obj/item/weapon/tank/air, +/obj/item/tank/air, /turf/simulated/floor/outdoors/rocks/caves, /area/redgate/islands/underwatercave) "XM" = ( @@ -2505,9 +2505,9 @@ /area/redgate/islands/bar) "XS" = ( /obj/structure/table/woodentable, -/obj/item/weapon/deck/cards/casino, -/obj/item/weapon/deck/cards/casino, -/obj/item/weapon/deck/cards/casino, +/obj/item/deck/cards/casino, +/obj/item/deck/cards/casino, +/obj/item/deck/cards/casino, /turf/simulated/floor/wood/alt, /area/redgate/islands/gamblingbackroom) "XU" = ( @@ -2529,7 +2529,7 @@ /area/redgate/islands/bar) "XZ" = ( /obj/structure/table/gold, -/obj/item/weapon/reagent_containers/food/drinks/golden_cup, +/obj/item/reagent_containers/food/drinks/golden_cup, /turf/simulated/floor/water/underwater/sand, /area/redgate/islands/ruins) "Yd" = ( diff --git a/maps/redgate/jungle.dmm b/maps/redgate/jungle.dmm index 9308753680f..b8a99f781a1 100644 --- a/maps/redgate/jungle.dmm +++ b/maps/redgate/jungle.dmm @@ -5,31 +5,31 @@ /area/redgate/jungle/temple) "af" = ( /obj/structure/closet/crate/wooden, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, -/obj/item/weapon/reagent_containers/food/snacks/egg, -/obj/item/weapon/reagent_containers/food/snacks/egg, -/obj/item/weapon/reagent_containers/food/snacks/egg, -/obj/item/weapon/reagent_containers/food/snacks/egg, -/obj/item/weapon/reagent_containers/food/snacks/egg, -/obj/item/weapon/reagent_containers/food/snacks/egg, -/obj/item/weapon/reagent_containers/food/snacks/egg, -/obj/item/weapon/reagent_containers/food/snacks/egg, -/obj/item/weapon/reagent_containers/food/snacks/egg, -/obj/item/weapon/reagent_containers/food/snacks/egg, -/obj/item/weapon/reagent_containers/food/snacks/egg, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/food/snacks/egg, +/obj/item/reagent_containers/food/snacks/egg, +/obj/item/reagent_containers/food/snacks/egg, +/obj/item/reagent_containers/food/snacks/egg, +/obj/item/reagent_containers/food/snacks/egg, +/obj/item/reagent_containers/food/snacks/egg, +/obj/item/reagent_containers/food/snacks/egg, +/obj/item/reagent_containers/food/snacks/egg, +/obj/item/reagent_containers/food/snacks/egg, +/obj/item/reagent_containers/food/snacks/egg, +/obj/item/reagent_containers/food/snacks/egg, /turf/simulated/floor/wood, /area/redgate/jungle/aboveground) "ak" = ( @@ -67,25 +67,25 @@ /area/redgate/jungle/temple) "aC" = ( /obj/structure/closet/walllocker/wooden/south, -/obj/item/weapon/reagent_containers/food/drinks/bottle/kahlua, -/obj/item/weapon/reagent_containers/food/drinks/bottle/kahlua, -/obj/item/weapon/reagent_containers/food/drinks/bottle/kahlua, -/obj/item/weapon/reagent_containers/food/drinks/bottle/kahlua, -/obj/item/weapon/reagent_containers/food/drinks/bottle/kahlua, -/obj/item/weapon/reagent_containers/food/drinks/bottle/grenadine, -/obj/item/weapon/reagent_containers/food/drinks/bottle/grenadine, -/obj/item/weapon/reagent_containers/food/drinks/bottle/rum, -/obj/item/weapon/reagent_containers/food/drinks/bottle/rum, -/obj/item/weapon/reagent_containers/food/drinks/bottle/rum, -/obj/item/weapon/reagent_containers/food/drinks/bottle/rum, -/obj/item/weapon/reagent_containers/food/drinks/bottle/specialwhiskey, -/obj/item/weapon/reagent_containers/food/drinks/bottle/specialwhiskey, -/obj/item/weapon/reagent_containers/food/drinks/bottle/specialwhiskey, -/obj/item/weapon/reagent_containers/food/drinks/bottle/specialwhiskey, +/obj/item/reagent_containers/food/drinks/bottle/kahlua, +/obj/item/reagent_containers/food/drinks/bottle/kahlua, +/obj/item/reagent_containers/food/drinks/bottle/kahlua, +/obj/item/reagent_containers/food/drinks/bottle/kahlua, +/obj/item/reagent_containers/food/drinks/bottle/kahlua, +/obj/item/reagent_containers/food/drinks/bottle/grenadine, +/obj/item/reagent_containers/food/drinks/bottle/grenadine, +/obj/item/reagent_containers/food/drinks/bottle/rum, +/obj/item/reagent_containers/food/drinks/bottle/rum, +/obj/item/reagent_containers/food/drinks/bottle/rum, +/obj/item/reagent_containers/food/drinks/bottle/rum, +/obj/item/reagent_containers/food/drinks/bottle/specialwhiskey, +/obj/item/reagent_containers/food/drinks/bottle/specialwhiskey, +/obj/item/reagent_containers/food/drinks/bottle/specialwhiskey, +/obj/item/reagent_containers/food/drinks/bottle/specialwhiskey, /turf/simulated/floor/wood/alt, /area/redgate/jungle/aboveground) "aE" = ( -/obj/item/weapon/reagent_containers/food/snacks/packaged/meatration, +/obj/item/reagent_containers/food/snacks/packaged/meatration, /turf/simulated/mineral/floor/light{ nitrogen = 82.1472; oxygen = 21.8366; @@ -144,7 +144,7 @@ /obj/effect/floor_decal/atoll/border{ dir = 4 }, -/obj/item/weapon/reagent_containers/food/drinks/bottle/pwine, +/obj/item/reagent_containers/food/drinks/bottle/pwine, /turf/simulated/mineral/floor/light{ nitrogen = 82.1472; oxygen = 21.8366; @@ -208,15 +208,15 @@ /area/redgate/jungle/temple) "cq" = ( /obj/structure/closet/crate/wooden, -/obj/item/weapon/reagent_containers/food/snacks/flatbread, -/obj/item/weapon/reagent_containers/food/snacks/sliceable/bread, -/obj/item/weapon/reagent_containers/food/snacks/berrymuffin, -/obj/item/weapon/reagent_containers/food/snacks/berrymuffin, -/obj/item/weapon/reagent_containers/food/snacks/berrymuffin, -/obj/item/weapon/reagent_containers/food/snacks/berrymuffin, -/obj/item/weapon/reagent_containers/food/snacks/sausage, -/obj/item/weapon/reagent_containers/food/snacks/sausage, -/obj/item/weapon/material/knife, +/obj/item/reagent_containers/food/snacks/flatbread, +/obj/item/reagent_containers/food/snacks/sliceable/bread, +/obj/item/reagent_containers/food/snacks/berrymuffin, +/obj/item/reagent_containers/food/snacks/berrymuffin, +/obj/item/reagent_containers/food/snacks/berrymuffin, +/obj/item/reagent_containers/food/snacks/berrymuffin, +/obj/item/reagent_containers/food/snacks/sausage, +/obj/item/reagent_containers/food/snacks/sausage, +/obj/item/material/knife, /turf/simulated/floor/outdoors/grass/forest, /area/redgate/jungle/aboveground) "ct" = ( @@ -244,7 +244,7 @@ /area/redgate/jungle/temple) "cA" = ( /obj/structure/closet/crate/chest, -/obj/item/weapon/simple_key/dungeon{ +/obj/item/simple_key/dungeon{ color = "#06362e"; key_id = "silver"; name = "silver key" @@ -270,19 +270,19 @@ /area/redgate/jungle/aboveground) "cU" = ( /obj/structure/closet/crate/chest, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/potion_material/golden_scale, -/obj/item/weapon/potion_material/golden_scale, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/potion_material/golden_scale, +/obj/item/potion_material/golden_scale, /obj/item/seeds/goldappleseed, -/obj/item/weapon/potion_material/golden_grapes, +/obj/item/potion_material/golden_grapes, /obj/item/clothing/under/dress/golddress, /obj/item/clothing/under/dress/goldwrap, /obj/item/clothing/accessory/bracelet/material/gold, /turf/simulated/floor/tiled/eris/white/golden, /area/redgate/jungle/temple) "cW" = ( -/obj/item/weapon/bluespace_crystal, +/obj/item/bluespace_crystal, /turf/simulated/floor/reinforced, /area/redgate/jungle/temple) "cX" = ( @@ -309,7 +309,7 @@ /area/redgate/jungle/southcaves) "df" = ( /obj/fiftyspawner/log, -/obj/item/weapon/storage/box/matches, +/obj/item/storage/box/matches, /turf/simulated/mineral/floor/cave, /area/redgate/jungle/westcaves) "di" = ( @@ -337,7 +337,7 @@ /area/redgate/jungle/aboveground) "dz" = ( /obj/effect/floor_decal/milspec/color/purple, -/obj/item/weapon/potion_material/solid_mist, +/obj/item/potion_material/solid_mist, /turf/simulated/shuttle/floor/purple, /area/redgate/jungle/temple) "dB" = ( @@ -348,7 +348,7 @@ /area/redgate/jungle/aboveground) "dC" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/red, +/obj/item/bedsheet/red, /turf/simulated/mineral/floor/cave, /area/redgate/jungle/westcaves) "dJ" = ( @@ -425,7 +425,7 @@ /turf/simulated/floor/wood, /area/redgate/jungle/aboveground) "eK" = ( -/obj/item/weapon/picnic_blankets_carried, +/obj/item/picnic_blankets_carried, /turf/simulated/mineral/floor/cave, /area/redgate/jungle/eastcaves) "eT" = ( @@ -439,16 +439,16 @@ /area/redgate/jungle/aboveground) "eU" = ( /obj/structure/closet/crate/chest, -/obj/item/weapon/reagent_containers/food/snacks/egg/purple, -/obj/item/weapon/reagent_containers/food/snacks/egg/purple, -/obj/item/weapon/reagent_containers/food/snacks/egg/purple, -/obj/item/weapon/reagent_containers/food/snacks/egg/purple, -/obj/item/weapon/reagent_containers/food/snacks/egg/purple, -/obj/item/weapon/reagent_containers/glass/paint/purple, -/obj/item/weapon/reagent_containers/food/snacks/grub_purple, -/obj/item/weapon/reagent_containers/food/snacks/grub_purple, -/obj/item/weapon/reagent_containers/food/snacks/grub_purple, -/obj/item/weapon/pen/crayon/purple, +/obj/item/reagent_containers/food/snacks/egg/purple, +/obj/item/reagent_containers/food/snacks/egg/purple, +/obj/item/reagent_containers/food/snacks/egg/purple, +/obj/item/reagent_containers/food/snacks/egg/purple, +/obj/item/reagent_containers/food/snacks/egg/purple, +/obj/item/reagent_containers/glass/paint/purple, +/obj/item/reagent_containers/food/snacks/grub_purple, +/obj/item/reagent_containers/food/snacks/grub_purple, +/obj/item/reagent_containers/food/snacks/grub_purple, +/obj/item/pen/crayon/purple, /obj/item/toy/plushie/therapy/purple, /obj/item/clothing/under/cheongsam/purple, /obj/item/clothing/shoes/flats/purple, @@ -477,9 +477,9 @@ /obj/random/potion_base, /obj/random/potion_base, /obj/random/potion_base, -/obj/item/weapon/potion_base/alkahest, -/obj/item/weapon/potion_base/aqua_regia, -/obj/item/weapon/potion_base/ichor, +/obj/item/potion_base/alkahest, +/obj/item/potion_base/aqua_regia, +/obj/item/potion_base/ichor, /turf/simulated/floor/wood/alt, /area/redgate/jungle/aboveground) "fg" = ( @@ -488,11 +488,11 @@ /area/redgate/jungle/aboveground) "fi" = ( /obj/structure/closet/crate/wooden, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, /obj/random/potion_ingredient, /turf/simulated/mineral/floor/cave, /area/redgate/jungle/westcaves) @@ -505,31 +505,31 @@ dir = 8 }, /obj/structure/closet/walllocker/wooden/west, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/food/condiment/enzyme, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, +/obj/item/reagent_containers/food/drinks/bottle/milk, +/obj/item/reagent_containers/food/drinks/bottle/milk, +/obj/item/reagent_containers/food/drinks/bottle/milk, +/obj/item/reagent_containers/food/drinks/bottle/milk, /turf/simulated/floor/wood/alt, /area/redgate/jungle/aboveground) "fo" = ( @@ -552,15 +552,15 @@ "fK" = ( /obj/structure/closet/crate/wooden, /obj/random/fishing_junk, -/obj/item/weapon/reagent_containers/food/snacks/worm, -/obj/item/weapon/reagent_containers/food/snacks/worm, -/obj/item/weapon/reagent_containers/food/snacks/worm, -/obj/item/weapon/reagent_containers/food/snacks/worm, -/obj/item/weapon/reagent_containers/food/snacks/worm, -/obj/item/weapon/reagent_containers/food/snacks/worm, -/obj/item/weapon/reagent_containers/food/snacks/worm, -/obj/item/weapon/reagent_containers/food/snacks/worm, -/obj/item/weapon/reagent_containers/food/snacks/worm, +/obj/item/reagent_containers/food/snacks/worm, +/obj/item/reagent_containers/food/snacks/worm, +/obj/item/reagent_containers/food/snacks/worm, +/obj/item/reagent_containers/food/snacks/worm, +/obj/item/reagent_containers/food/snacks/worm, +/obj/item/reagent_containers/food/snacks/worm, +/obj/item/reagent_containers/food/snacks/worm, +/obj/item/reagent_containers/food/snacks/worm, +/obj/item/reagent_containers/food/snacks/worm, /obj/random/potion_base, /turf/simulated/floor/wood, /area/redgate/jungle/aboveground) @@ -604,7 +604,7 @@ /area/redgate/jungle/aboveground) "gm" = ( /obj/structure/flora/ausbushes/stalkybush, -/obj/item/weapon/bone/skull/tajaran, +/obj/item/bone/skull/tajaran, /turf/simulated/floor/outdoors/grass/forest, /area/redgate/jungle/aboveground) "gt" = ( @@ -651,7 +651,7 @@ /area/redgate/jungle/temple) "hg" = ( /obj/structure/table/hardwoodtable, -/obj/item/weapon/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, /turf/simulated/floor/wood, /area/redgate/jungle/aboveground) "hh" = ( @@ -678,8 +678,8 @@ /area/redgate/jungle/aboveground) "hq" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/fishing_net, -/obj/item/weapon/material/fishing_rod/modern/strong, +/obj/item/material/fishing_net, +/obj/item/material/fishing_rod/modern/strong, /turf/simulated/floor/wood, /area/redgate/jungle/aboveground) "hA" = ( @@ -746,11 +746,11 @@ /turf/simulated/floor/tiled/yellow, /area/redgate/jungle/temple) "iG" = ( -/obj/item/weapon/ore/phoron, +/obj/item/ore/phoron, /turf/simulated/floor/reinforced, /area/redgate/jungle/temple) "iI" = ( -/obj/item/weapon/pickaxe/gold, +/obj/item/pickaxe/gold, /turf/simulated/floor/tiled/eris/white/golden, /area/redgate/jungle/temple) "iJ" = ( @@ -796,7 +796,7 @@ /turf/simulated/wall/solidrock, /area/redgate/jungle/southcaves) "jd" = ( -/obj/item/weapon/bone/skull, +/obj/item/bone/skull, /turf/simulated/mineral/floor/light{ nitrogen = 82.1472; oxygen = 21.8366; @@ -831,7 +831,7 @@ /turf/simulated/floor/tiled/techfloor, /area/redgate/jungle/westcaves) "jQ" = ( -/obj/item/weapon/reagent_containers/glass/bucket/wood, +/obj/item/reagent_containers/glass/bucket/wood, /turf/simulated/floor/tiled/yellow, /area/redgate/jungle/temple) "jW" = ( @@ -937,7 +937,7 @@ /area/redgate/jungle/eastcaves) "ld" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/reddouble, +/obj/item/bedsheet/reddouble, /turf/simulated/floor/wood, /area/redgate/jungle/aboveground) "ll" = ( @@ -989,8 +989,8 @@ /area/redgate/jungle/temple) "lI" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/material/fishing_net, -/obj/item/weapon/material/fishing_net, +/obj/item/material/fishing_net, +/obj/item/material/fishing_net, /turf/simulated/mineral/floor/light{ nitrogen = 82.1472; oxygen = 21.8366; @@ -1025,7 +1025,7 @@ /area/redgate/jungle/temple) "mm" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/carpmeat, +/obj/item/reagent_containers/food/snacks/carpmeat, /turf/simulated/floor/wood, /area/redgate/jungle/aboveground) "mv" = ( @@ -1043,19 +1043,19 @@ /obj/structure/closet/crate/wooden, /obj/random/fantasy_item, /obj/random/fantasy_item, -/obj/item/weapon/gun/launcher/crossbow/bow, -/obj/item/weapon/arrow/standard, -/obj/item/weapon/arrow/standard, -/obj/item/weapon/arrow/standard, -/obj/item/weapon/arrow/standard, -/obj/item/weapon/arrow/standard, -/obj/item/weapon/arrow/standard, -/obj/item/weapon/arrow/standard, +/obj/item/gun/launcher/crossbow/bow, +/obj/item/arrow/standard, +/obj/item/arrow/standard, +/obj/item/arrow/standard, +/obj/item/arrow/standard, +/obj/item/arrow/standard, +/obj/item/arrow/standard, +/obj/item/arrow/standard, /turf/simulated/floor/wood/alt, /area/redgate/jungle/aboveground) "mz" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/sword/foam, +/obj/item/material/sword/foam, /turf/simulated/mineral/floor/light{ nitrogen = 82.1472; oxygen = 21.8366; @@ -1064,12 +1064,12 @@ /area/redgate/jungle/temple) "mH" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/brown, -/obj/item/weapon/bedsheet/pillow/white, +/obj/item/bedsheet/brown, +/obj/item/bedsheet/pillow/white, /turf/simulated/floor/wood, /area/redgate/jungle/aboveground) "mI" = ( -/obj/item/weapon/melee/shock_maul, +/obj/item/melee/shock_maul, /obj/structure/table/alien/blue, /turf/simulated/floor/reinforced, /area/redgate/jungle/temple) @@ -1082,7 +1082,7 @@ /area/redgate/jungle/southcaves) "mT" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/knife/machete/hatchet/stone, +/obj/item/material/knife/machete/hatchet/stone, /turf/simulated/mineral/floor/cave, /area/redgate/jungle/westcaves) "mX" = ( @@ -1136,7 +1136,7 @@ /area/redgate/jungle/aboveground) "nP" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/sliceable/chocolatecake, +/obj/item/reagent_containers/food/snacks/sliceable/chocolatecake, /turf/simulated/mineral/floor/light{ nitrogen = 82.1472; oxygen = 21.8366; @@ -1185,8 +1185,8 @@ /area/redgate/jungle/aboveground) "oo" = ( /obj/structure/closet/crate/wooden, -/obj/item/weapon/storage/box/matches, -/obj/item/device/slow_sizegun/magic, +/obj/item/storage/box/matches, +/obj/item/slow_sizegun/magic, /obj/random/fantasy_item, /obj/random/potion_ingredient, /turf/simulated/floor/wood, @@ -1267,7 +1267,7 @@ /obj/structure/closet/cabinet, /obj/item/clothing/under/primitive, /obj/item/clothing/shoes/primitive, -/obj/item/weapon/material/knife/stone/bone, +/obj/item/material/knife/stone/bone, /turf/simulated/floor/wood, /area/redgate/jungle/aboveground) "pt" = ( @@ -1330,7 +1330,7 @@ /area/redgate/jungle/southcaves) "pU" = ( /obj/random/tool/alien, -/obj/item/weapon/aliencoin/phoron, +/obj/item/aliencoin/phoron, /obj/item/trash/meatration, /obj/item/trash/meatration, /obj/item/trash/meatration, @@ -1340,7 +1340,7 @@ /turf/simulated/shuttle/floor, /area/redgate/jungle/aboveground) "pX" = ( -/obj/item/weapon/reagent_containers/food/snacks/xenomeat/spidermeat, +/obj/item/reagent_containers/food/snacks/xenomeat/spidermeat, /turf/simulated/mineral/floor/light{ nitrogen = 82.1472; oxygen = 21.8366; @@ -1367,7 +1367,7 @@ /area/redgate/jungle/aboveground) "qc" = ( /obj/structure/grille, -/obj/item/weapon/material/shard/titaniumglass, +/obj/item/material/shard/titaniumglass, /turf/simulated/floor/plating, /area/redgate/jungle/aboveground) "qe" = ( @@ -1376,7 +1376,7 @@ /area/redgate/jungle/aboveground) "qi" = ( /obj/structure/grille/broken, -/obj/item/weapon/material/shard/titaniumglass, +/obj/item/material/shard/titaniumglass, /turf/simulated/floor/plating, /area/redgate/jungle/aboveground) "qj" = ( @@ -1460,7 +1460,7 @@ /turf/simulated/shuttle/floor, /area/redgate/jungle/aboveground) "qU" = ( -/obj/item/weapon/bone, +/obj/item/bone, /turf/simulated/floor/outdoors/grass/forest, /area/redgate/jungle/aboveground) "qV" = ( @@ -1474,7 +1474,7 @@ /turf/simulated/floor/wmarble, /area/redgate/jungle/aboveground) "ra" = ( -/obj/item/weapon/reagent_containers/food/drinks/golden_cup, +/obj/item/reagent_containers/food/drinks/golden_cup, /obj/structure/sign/goldenplaque{ desc = "Surprisingly written in galcom, the enscryption reads: The phoron room key is stored in the sealed room closest to the lava."; name = "gold engraving"; @@ -1544,7 +1544,7 @@ /area/redgate/jungle/temple) "rJ" = ( /obj/structure/table/alien/blue, -/obj/item/weapon/pickaxe/diamonddrill, +/obj/item/pickaxe/diamonddrill, /turf/simulated/floor/bluegrid, /area/redgate/jungle/temple) "rL" = ( @@ -1559,7 +1559,7 @@ "rZ" = ( /obj/structure/closet/crate/wooden, /obj/item/instrument/musicalmoth, -/obj/item/weapon/flame/lighter/zippo/royal, +/obj/item/flame/lighter/zippo/royal, /obj/random/fantasy_item, /obj/random/potion_base, /obj/random/plushielarge, @@ -1571,7 +1571,7 @@ /area/redgate/jungle/westcaves) "sh" = ( /obj/structure/salvageable/shuttle_console, -/obj/item/weapon/material/shard/titaniumglass, +/obj/item/material/shard/titaniumglass, /turf/simulated/shuttle/floor, /area/redgate/jungle/aboveground) "sm" = ( @@ -1605,7 +1605,7 @@ /turf/simulated/shuttle/floor, /area/redgate/jungle/aboveground) "sU" = ( -/obj/item/weapon/aliencoin/phoron, +/obj/item/aliencoin/phoron, /turf/simulated/floor/weird_things/dark, /area/redgate/jungle/temple) "sX" = ( @@ -1620,7 +1620,7 @@ /area/redgate/jungle/aboveground) "ti" = ( /obj/structure/closet/coffin, -/obj/item/weapon/bone, +/obj/item/bone, /turf/simulated/mineral/floor/light{ nitrogen = 82.1472; oxygen = 21.8366; @@ -1628,7 +1628,7 @@ }, /area/redgate/jungle/temple) "tj" = ( -/obj/item/weapon/material/shard/titaniumglass, +/obj/item/material/shard/titaniumglass, /obj/structure/bed/chair/bay/chair/padded/purple{ dir = 1 }, @@ -1636,7 +1636,7 @@ /area/redgate/jungle/aboveground) "tk" = ( /obj/structure/closet/crate/nanotrasen, -/obj/item/device/gps/explorer, +/obj/item/gps/explorer, /obj/random/bluespace, /turf/simulated/mineral/floor/cave, /area/redgate/jungle/westcaves) @@ -1727,12 +1727,12 @@ /area/redgate/jungle/temple) "uM" = ( /obj/structure/closet/crate/chest, -/obj/item/weapon/simple_key/dungeon{ +/obj/item/simple_key/dungeon{ color = "#fff700"; key_id = "gold"; name = "gold key" }, -/obj/item/weapon/spellbook/oneuse/knock, +/obj/random/fantasy_item, /obj/random/fantasy_item, /turf/simulated/floor/tiled/yellow, /area/redgate/jungle/temple) @@ -1745,7 +1745,7 @@ /turf/simulated/floor/outdoors/grass/forest, /area/redgate/jungle/aboveground) "uZ" = ( -/obj/item/weapon/potion_material/folded_dark, +/obj/item/potion_material/folded_dark, /turf/simulated/floor/weird_things/dark, /area/redgate/jungle/southcaves) "vi" = ( @@ -1756,11 +1756,11 @@ /area/redgate/jungle/aboveground) "vj" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/double, +/obj/item/bedsheet/double, /turf/simulated/floor/reinforced, /area/redgate/jungle/aboveground) "vs" = ( -/obj/item/weapon/circuitboard/broken, +/obj/item/circuitboard/broken, /turf/simulated/shuttle/floor, /area/redgate/jungle/aboveground) "vv" = ( @@ -1775,7 +1775,7 @@ "vx" = ( /obj/item/clothing/head/cowboy/wide, /obj/structure/loot_pile/surface/bones, -/obj/item/weapon/melee/chainofcommand/curator_whip, +/obj/item/melee/chainofcommand/curator_whip, /turf/simulated/mineral/floor/light{ nitrogen = 82.1472; oxygen = 21.8366; @@ -1802,9 +1802,9 @@ /area/redgate/jungle/temple) "vP" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/reagent_containers/food/snacks/bearmeat, -/obj/item/weapon/reagent_containers/food/snacks/bearmeat, -/obj/item/weapon/reagent_containers/food/snacks/bearmeat, +/obj/item/reagent_containers/food/snacks/bearmeat, +/obj/item/reagent_containers/food/snacks/bearmeat, +/obj/item/reagent_containers/food/snacks/bearmeat, /turf/simulated/floor/wood/alt, /area/redgate/jungle/aboveground) "vQ" = ( @@ -1817,22 +1817,22 @@ /area/redgate/jungle/aboveground) "vU" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/backpack/parachute, +/obj/item/storage/backpack/parachute, /turf/simulated/mineral/floor/cave, /area/redgate/jungle/westcaves) "wa" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, /turf/simulated/floor/wood/alt, /area/redgate/jungle/aboveground) "wi" = ( @@ -1952,14 +1952,14 @@ /obj/item/paint_palette, /obj/item/paint_brush, /obj/item/paint_brush, -/obj/item/weapon/reagent_containers/glass/paint/black, -/obj/item/weapon/reagent_containers/glass/paint/blue, -/obj/item/weapon/reagent_containers/glass/paint/cyan, -/obj/item/weapon/reagent_containers/glass/paint/green, -/obj/item/weapon/reagent_containers/glass/paint/red, -/obj/item/weapon/reagent_containers/glass/paint/yellow, -/obj/item/weapon/reagent_containers/glass/paint/purple, -/obj/item/weapon/reagent_containers/glass/paint/orange, +/obj/item/reagent_containers/glass/paint/black, +/obj/item/reagent_containers/glass/paint/blue, +/obj/item/reagent_containers/glass/paint/cyan, +/obj/item/reagent_containers/glass/paint/green, +/obj/item/reagent_containers/glass/paint/red, +/obj/item/reagent_containers/glass/paint/yellow, +/obj/item/reagent_containers/glass/paint/purple, +/obj/item/reagent_containers/glass/paint/orange, /turf/simulated/floor/wood, /area/redgate/jungle/aboveground) "xD" = ( @@ -1976,31 +1976,31 @@ /turf/simulated/floor/outdoors/grass/forest, /area/redgate/jungle/aboveground) "xH" = ( -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, -/obj/item/weapon/reagent_containers/food/snacks/egg, -/obj/item/weapon/reagent_containers/food/snacks/egg, -/obj/item/weapon/reagent_containers/food/snacks/egg, -/obj/item/weapon/reagent_containers/food/snacks/egg, -/obj/item/weapon/reagent_containers/food/snacks/egg, -/obj/item/weapon/reagent_containers/food/snacks/egg, -/obj/item/weapon/reagent_containers/food/snacks/egg, -/obj/item/weapon/reagent_containers/food/snacks/egg, -/obj/item/weapon/reagent_containers/food/snacks/egg, -/obj/item/weapon/reagent_containers/food/snacks/egg, -/obj/item/weapon/reagent_containers/food/snacks/egg, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/flour/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/carton/sugar/rustic, +/obj/item/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/food/snacks/egg, +/obj/item/reagent_containers/food/snacks/egg, +/obj/item/reagent_containers/food/snacks/egg, +/obj/item/reagent_containers/food/snacks/egg, +/obj/item/reagent_containers/food/snacks/egg, +/obj/item/reagent_containers/food/snacks/egg, +/obj/item/reagent_containers/food/snacks/egg, +/obj/item/reagent_containers/food/snacks/egg, +/obj/item/reagent_containers/food/snacks/egg, +/obj/item/reagent_containers/food/snacks/egg, +/obj/item/reagent_containers/food/snacks/egg, /obj/structure/closet/walllocker/wooden/east, /turf/simulated/mineral/floor/light{ nitrogen = 82.1472; @@ -2051,7 +2051,7 @@ /area/redgate/jungle/aboveground) "yj" = ( /obj/structure/table/gold, -/obj/item/weapon/material/knife/ritual, +/obj/item/material/knife/ritual, /obj/random/fantasy_item/better, /turf/simulated/floor/bmarble, /area/redgate/jungle/temple) @@ -2094,10 +2094,10 @@ /area/redgate/jungle/aboveground) "yH" = ( /obj/structure/closet/walllocker/wooden/south, -/obj/item/weapon/reagent_containers/food/drinks/flask/barflask, -/obj/item/weapon/reagent_containers/food/drinks/flask/barflask, -/obj/item/weapon/reagent_containers/food/drinks/flask/barflask, -/obj/item/weapon/reagent_containers/food/drinks/flask/barflask, +/obj/item/reagent_containers/food/drinks/flask/barflask, +/obj/item/reagent_containers/food/drinks/flask/barflask, +/obj/item/reagent_containers/food/drinks/flask/barflask, +/obj/item/reagent_containers/food/drinks/flask/barflask, /turf/simulated/floor/wood/alt, /area/redgate/jungle/aboveground) "yJ" = ( @@ -2160,7 +2160,7 @@ /area/redgate/jungle/aboveground) "zr" = ( /obj/structure/table/woodentable, -/obj/item/device/healthanalyzer/scroll, +/obj/item/healthanalyzer/scroll, /obj/item/robot_parts/robot_component/diagnosis_unit, /turf/simulated/floor/reinforced, /area/redgate/jungle/aboveground) @@ -2176,7 +2176,7 @@ /area/redgate/jungle/aboveground) "zv" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/device/flashlight/lantern, +/obj/item/flashlight/lantern, /turf/simulated/mineral/floor/light{ nitrogen = 82.1472; oxygen = 21.8366; @@ -2215,7 +2215,7 @@ /area/redgate/jungle/aboveground) "zV" = ( /obj/structure/table/gold, -/obj/item/weapon/material/knife/hook, +/obj/item/material/knife/hook, /turf/simulated/floor/bmarble, /area/redgate/jungle/temple) "zX" = ( @@ -2257,8 +2257,8 @@ /area/redgate/jungle/temple) "AU" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/beartrap/hunting, -/obj/item/weapon/beartrap/hunting, +/obj/item/beartrap/hunting, +/obj/item/beartrap/hunting, /obj/machinery/light/small/torch{ dir = 4 }, @@ -2309,8 +2309,8 @@ /area/redgate/jungle/aboveground) "Bu" = ( /obj/structure/closet/crate/wooden, -/obj/item/weapon/material/twohanded/spear, -/obj/item/weapon/material/knife/machete, +/obj/item/material/twohanded/spear, +/obj/item/material/knife/machete, /obj/random/fantasy_item, /turf/simulated/mineral/floor/cave, /area/redgate/jungle/eastcaves) @@ -2350,10 +2350,10 @@ /turf/simulated/floor/wood/alt, /area/redgate/jungle/aboveground) "BS" = ( -/obj/item/weapon/ore/coal, -/obj/item/weapon/ore/coal, -/obj/item/weapon/ore/coal, -/obj/item/weapon/ore/coal, +/obj/item/ore/coal, +/obj/item/ore/coal, +/obj/item/ore/coal, +/obj/item/ore/coal, /turf/simulated/mineral/floor/light{ nitrogen = 82.1472; oxygen = 21.8366; @@ -2416,15 +2416,15 @@ /obj/structure/closet/crate/wooden, /obj/item/clothing/under/tribalwear/hunter, /obj/item/clothing/shoes/sandal, -/obj/item/weapon/gun/launcher/crossbow/bow, -/obj/item/weapon/arrow/standard, -/obj/item/weapon/arrow/standard, -/obj/item/weapon/arrow/standard, -/obj/item/weapon/arrow/standard, -/obj/item/weapon/arrow/standard, -/obj/item/weapon/arrow/standard, -/obj/item/weapon/arrow/standard, -/obj/item/weapon/arrow/standard, +/obj/item/gun/launcher/crossbow/bow, +/obj/item/arrow/standard, +/obj/item/arrow/standard, +/obj/item/arrow/standard, +/obj/item/arrow/standard, +/obj/item/arrow/standard, +/obj/item/arrow/standard, +/obj/item/arrow/standard, +/obj/item/arrow/standard, /obj/random/fantasy_item, /turf/simulated/floor/wood, /area/redgate/jungle/westcaves) @@ -2479,7 +2479,7 @@ /area/redgate/jungle/temple) "DQ" = ( /obj/structure/closet/coffin, -/obj/item/weapon/bone/ribs, +/obj/item/bone/ribs, /turf/simulated/mineral/floor/light{ nitrogen = 82.1472; oxygen = 21.8366; @@ -2495,7 +2495,7 @@ /area/redgate/jungle/aboveground) "Ei" = ( /obj/structure/table/woodentable, -/obj/item/weapon/handcuffs/cable/plantfiber, +/obj/item/handcuffs/cable/plantfiber, /turf/simulated/floor/wood, /area/redgate/jungle/aboveground) "Ej" = ( @@ -2556,8 +2556,8 @@ /area/redgate/jungle/aboveground) "EJ" = ( /obj/structure/closet/cabinet, -/obj/item/weapon/bedsheet/cosmos, -/obj/item/weapon/bedsheet/pillow/black, +/obj/item/bedsheet/cosmos, +/obj/item/bedsheet/pillow/black, /obj/item/clothing/under/tribalwear/hunter, /obj/item/clothing/shoes/tribalwear, /obj/item/clothing/head/helmet/bucket/wood, @@ -2594,11 +2594,11 @@ /area/redgate/jungle/aboveground) "Fl" = ( /obj/structure/closet/crate/wooden, -/obj/item/weapon/storage/backpack/explorer, +/obj/item/storage/backpack/explorer, /obj/item/clothing/suit/storage/toggle/labcoat/neo_ranger, /obj/item/clothing/accessory/poncho/roles/ranger/tan, /obj/item/clothing/shoes/boots/jungle, -/obj/item/weapon/material/knife/tacknife/boot, +/obj/item/material/knife/tacknife/boot, /turf/simulated/mineral/floor/light{ nitrogen = 82.1472; oxygen = 21.8366; @@ -2607,7 +2607,7 @@ /area/redgate/jungle/temple) "Fq" = ( /obj/effect/floor_decal/milspec/color/silver, -/obj/item/weapon/coin/silver, +/obj/item/coin/silver, /turf/simulated/mineral/floor/light{ nitrogen = 82.1472; oxygen = 21.8366; @@ -2616,7 +2616,7 @@ /area/redgate/jungle/temple) "Fu" = ( /obj/structure/table/alien/blue, -/obj/item/device/nif, +/obj/item/nif, /turf/simulated/floor/bluegrid, /area/redgate/jungle/temple) "Fv" = ( @@ -2625,11 +2625,11 @@ /area/redgate/jungle/southcaves) "Fx" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/gun/launcher/crossbow/bow, -/obj/item/weapon/arrow/standard, -/obj/item/weapon/arrow/standard, -/obj/item/weapon/arrow/standard, -/obj/item/weapon/arrow/standard, +/obj/item/gun/launcher/crossbow/bow, +/obj/item/arrow/standard, +/obj/item/arrow/standard, +/obj/item/arrow/standard, +/obj/item/arrow/standard, /turf/simulated/floor/wood/alt/panel, /area/redgate/jungle/aboveground) "FA" = ( @@ -2685,7 +2685,7 @@ /turf/simulated/floor/wood/alt, /area/redgate/jungle/aboveground) "FQ" = ( -/obj/item/weapon/reagent_containers/food/snacks/packaged/genration, +/obj/item/reagent_containers/food/snacks/packaged/genration, /turf/simulated/mineral/floor/light{ nitrogen = 82.1472; oxygen = 21.8366; @@ -2714,18 +2714,18 @@ /area/redgate/jungle/aboveground) "GF" = ( /obj/structure/closet/walllocker/wooden/west, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, /turf/simulated/floor/wood/alt, /area/redgate/jungle/aboveground) "GJ" = ( @@ -2747,19 +2747,19 @@ /obj/random/fantasy_item, /obj/random/potion_base, /obj/random/potion_ingredient, -/obj/item/weapon/simple_key/dungeon{ +/obj/item/simple_key/dungeon{ color = "#00fff2"; key_id = "diamond"; name = "diamond key" }, -/obj/item/weapon/coin/diamond, +/obj/item/coin/diamond, /turf/simulated/floor/tiled/yellow, /area/redgate/jungle/temple) "GP" = ( /obj/structure/table/rack/wood, /obj/item/clothing/under/tribalwear/hunter, /obj/item/clothing/shoes/tribalwear, -/obj/item/weapon/material/knife/stone/wood, +/obj/item/material/knife/stone/wood, /turf/simulated/floor/wood/alt, /area/redgate/jungle/aboveground) "GT" = ( @@ -2767,8 +2767,8 @@ /area/redgate/jungle/temple) "GV" = ( /obj/structure/table/woodentable, -/obj/item/weapon/handcuffs/cable/plantfiber, -/obj/item/weapon/handcuffs/cable/plantfiber, +/obj/item/handcuffs/cable/plantfiber, +/obj/item/handcuffs/cable/plantfiber, /turf/simulated/floor/wood, /area/redgate/jungle/westcaves) "HB" = ( @@ -2798,7 +2798,7 @@ /obj/item/stack/material/log, /obj/item/stack/material/log, /obj/item/stack/material/log, -/obj/item/weapon/storage/box/matches, +/obj/item/storage/box/matches, /obj/random/potion_ingredient, /turf/simulated/floor/wood, /area/redgate/jungle/aboveground) @@ -2861,7 +2861,7 @@ /turf/simulated/floor/outdoors/grass/forest, /area/redgate/jungle/aboveground) "IV" = ( -/obj/item/weapon/soap/golden_soap, +/obj/item/soap/golden_soap, /turf/simulated/floor/tiled/eris/white/golden, /area/redgate/jungle/temple) "IZ" = ( @@ -2878,8 +2878,8 @@ /area/redgate/jungle/aboveground) "Jd" = ( /obj/effect/floor_decal/milspec/color/silver, -/obj/item/weapon/coin/silver, -/obj/item/weapon/coin/silver, +/obj/item/coin/silver, +/obj/item/coin/silver, /turf/simulated/mineral/floor/light{ nitrogen = 82.1472; oxygen = 21.8366; @@ -2917,13 +2917,13 @@ /obj/random/fantasy_item, /obj/random/fantasy_item, /obj/fiftyspawner/iron, -/obj/item/weapon/coin/iron, -/obj/item/weapon/coin/iron, -/obj/item/weapon/coin/iron, -/obj/item/weapon/coin/iron, -/obj/item/weapon/coin/iron, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/iron, +/obj/item/coin/iron, +/obj/item/coin/iron, +/obj/item/coin/iron, +/obj/item/coin/iron, +/obj/item/coin/iron, +/obj/item/ore/iron, +/obj/item/ore/iron, /turf/simulated/mineral/floor/light{ nitrogen = 82.1472; oxygen = 21.8366; @@ -2982,7 +2982,7 @@ /area/redgate/jungle/temple) "JL" = ( /obj/structure/closet/cabinet, -/obj/item/weapon/bedsheet/pillow/orange, +/obj/item/bedsheet/pillow/orange, /obj/item/clothing/gloves/evening, /obj/item/clothing/under/wedding/floofdress, /obj/item/clothing/head/lavender_crown, @@ -2994,11 +2994,11 @@ /obj/random/fantasy_item, /obj/random/fantasy_item, /obj/random/fantasy_item/better, -/obj/item/weapon/potion_material/golden_scale, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, +/obj/item/potion_material/golden_scale, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, /obj/random/potion_ingredient, /turf/simulated/mineral/floor/cave, /area/redgate/jungle/eastcaves) @@ -3023,7 +3023,7 @@ /area/redgate/jungle/eastcaves) "Kk" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper, +/obj/item/paper, /turf/simulated/floor/wood/alt, /area/redgate/jungle/aboveground) "Kl" = ( @@ -3049,7 +3049,7 @@ /area/redgate/jungle/aboveground) "Kw" = ( /obj/structure/bed/double, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /turf/simulated/floor/wood/alt, /area/redgate/jungle/aboveground) "Kz" = ( @@ -3076,7 +3076,7 @@ /area/redgate/jungle/aboveground) "KM" = ( /obj/structure/table/woodentable, -/obj/item/weapon/soap/white_soap, +/obj/item/soap/white_soap, /turf/simulated/floor/wood/alt, /area/redgate/jungle/aboveground) "KO" = ( @@ -3094,7 +3094,7 @@ /area/redgate/jungle/temple) "KV" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/material/twohanded/spear, +/obj/item/material/twohanded/spear, /turf/simulated/floor/wood, /area/redgate/jungle/aboveground) "La" = ( @@ -3169,8 +3169,8 @@ /area/redgate/jungle/aboveground) "LM" = ( /obj/structure/table/rack/wood, -/obj/item/weapon/shield/primitive, -/obj/item/weapon/material/twohanded/spear/flint, +/obj/item/shield/primitive, +/obj/item/material/twohanded/spear/flint, /turf/simulated/mineral/floor/light{ nitrogen = 82.1472; oxygen = 21.8366; @@ -3195,12 +3195,12 @@ /turf/simulated/floor/water/deep, /area/redgate/jungle/aboveground) "Mj" = ( -/obj/item/weapon/reagent_containers/food/snacks/carpmeat/fish, -/obj/item/weapon/reagent_containers/food/snacks/carpmeat/fish, -/obj/item/weapon/reagent_containers/food/snacks/carpmeat/fish, -/obj/item/weapon/reagent_containers/food/snacks/carpmeat/fish, -/obj/item/weapon/reagent_containers/food/snacks/carpmeat/fish, -/obj/item/weapon/reagent_containers/food/snacks/carpmeat/fish, +/obj/item/reagent_containers/food/snacks/carpmeat/fish, +/obj/item/reagent_containers/food/snacks/carpmeat/fish, +/obj/item/reagent_containers/food/snacks/carpmeat/fish, +/obj/item/reagent_containers/food/snacks/carpmeat/fish, +/obj/item/reagent_containers/food/snacks/carpmeat/fish, +/obj/item/reagent_containers/food/snacks/carpmeat/fish, /obj/structure/table/woodentable, /obj/random/potion_ingredient, /turf/simulated/mineral/floor/cave, @@ -3270,24 +3270,24 @@ }, /area/redgate/jungle/temple) "MV" = ( -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, /turf/simulated/floor/tiled/eris/white/golden, /area/redgate/jungle/temple) "Nc" = ( -/obj/item/weapon/bone/skull/unknown, +/obj/item/bone/skull/unknown, /turf/simulated/floor/outdoors/grass/forest, /area/redgate/jungle/aboveground) "Ne" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/reagent_containers/glass/bottle/potion/antidote, -/obj/item/weapon/reagent_containers/glass/bottle/potion/antidote, -/obj/item/weapon/reagent_containers/glass/bottle/potion/water, -/obj/item/weapon/reagent_containers/glass/bottle/potion/water, +/obj/item/reagent_containers/glass/bottle/potion/antidote, +/obj/item/reagent_containers/glass/bottle/potion/antidote, +/obj/item/reagent_containers/glass/bottle/potion/water, +/obj/item/reagent_containers/glass/bottle/potion/water, /obj/random/potion, /obj/machinery/light/small/torch{ dir = 1 @@ -3317,7 +3317,7 @@ /turf/simulated/floor/wood/alt, /area/redgate/jungle/aboveground) "NY" = ( -/obj/item/weapon/coin/phoron, +/obj/item/coin/phoron, /obj/structure/table/alien, /turf/simulated/floor/reinforced, /area/redgate/jungle/temple) @@ -3450,8 +3450,8 @@ /area/redgate/jungle/temple) "Pf" = ( /obj/structure/table/woodentable, -/obj/item/weapon/beartrap/hunting, -/obj/item/weapon/beartrap/hunting, +/obj/item/beartrap/hunting, +/obj/item/beartrap/hunting, /turf/simulated/floor/wood/alt, /area/redgate/jungle/aboveground) "Ph" = ( @@ -3477,9 +3477,9 @@ /area/redgate/jungle/aboveground) "Pv" = ( /obj/structure/closet/walllocker/wooden/east, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cognac, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cognac, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cognac, +/obj/item/reagent_containers/food/drinks/bottle/cognac, +/obj/item/reagent_containers/food/drinks/bottle/cognac, +/obj/item/reagent_containers/food/drinks/bottle/cognac, /obj/item/clothing/suit/shrine_maiden, /obj/random/coin, /obj/random/coin, @@ -3504,7 +3504,7 @@ /turf/simulated/floor/outdoors/grass/forest, /area/redgate/jungle/aboveground) "PK" = ( -/obj/item/weapon/bedsheet/pillow, +/obj/item/bedsheet/pillow, /turf/simulated/mineral/floor/cave, /area/redgate/jungle/southcaves) "PO" = ( @@ -3513,12 +3513,12 @@ /area/redgate/jungle/eastcaves) "PS" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/reagent_containers/glass/bottle/potion/healing, -/obj/item/weapon/reagent_containers/glass/bottle/potion/healing, -/obj/item/weapon/reagent_containers/glass/bottle/potion/fire_resist, -/obj/item/weapon/reagent_containers/glass/bottle/potion/fire_resist, -/obj/item/weapon/reagent_containers/glass/bottle/potion/pain, -/obj/item/weapon/reagent_containers/glass/bottle/potion/pain, +/obj/item/reagent_containers/glass/bottle/potion/healing, +/obj/item/reagent_containers/glass/bottle/potion/healing, +/obj/item/reagent_containers/glass/bottle/potion/fire_resist, +/obj/item/reagent_containers/glass/bottle/potion/fire_resist, +/obj/item/reagent_containers/glass/bottle/potion/pain, +/obj/item/reagent_containers/glass/bottle/potion/pain, /turf/simulated/floor/wood/alt, /area/redgate/jungle/aboveground) "PW" = ( @@ -3554,20 +3554,20 @@ /area/redgate/jungle/eastcaves) "Qv" = ( /obj/structure/table/darkglass, -/obj/item/weapon/potion_material/folded_dark, +/obj/item/potion_material/folded_dark, /turf/simulated/mineral/floor/cave, /area/redgate/jungle/westcaves) "Qx" = ( /obj/effect/floor_decal/milspec/color/purple, -/obj/item/weapon/storage/vore_egg/purple, +/obj/item/storage/vore_egg/purple, /turf/simulated/shuttle/floor/purple, /area/redgate/jungle/temple) "Qz" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/handcuffs/cable/plantfiber, -/obj/item/weapon/handcuffs/cable/plantfiber, -/obj/item/weapon/handcuffs/cable/plantfiber, -/obj/item/weapon/handcuffs/cable/plantfiber, +/obj/item/handcuffs/cable/plantfiber, +/obj/item/handcuffs/cable/plantfiber, +/obj/item/handcuffs/cable/plantfiber, +/obj/item/handcuffs/cable/plantfiber, /turf/simulated/mineral/floor/light{ nitrogen = 82.1472; oxygen = 21.8366; @@ -3618,7 +3618,7 @@ /turf/simulated/floor/wood, /area/redgate/jungle/aboveground) "Rj" = ( -/obj/item/weapon/material/knife/stone/bone, +/obj/item/material/knife/stone/bone, /turf/simulated/floor/wood, /area/redgate/jungle/aboveground) "Rl" = ( @@ -3666,9 +3666,9 @@ /obj/item/trash/genration, /obj/item/trash/sweetration, /obj/item/trash/meatration, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, /obj/fruitspawner/watermelon, /turf/simulated/mineral/floor/cave, /area/redgate/jungle/westcaves) @@ -3690,8 +3690,8 @@ /area/redgate/jungle/aboveground) "RX" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, /turf/simulated/floor/wood/alt/panel, /area/redgate/jungle/aboveground) "RZ" = ( @@ -3709,7 +3709,7 @@ }, /area/redgate/jungle/temple) "Sp" = ( -/obj/item/weapon/digestion_remains/skull/akula, +/obj/item/digestion_remains/skull/akula, /turf/simulated/mineral/floor/light{ nitrogen = 82.1472; oxygen = 21.8366; @@ -3778,7 +3778,7 @@ /area/redgate/jungle/aboveground) "Tw" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/knife/stone/bone, +/obj/item/material/knife/stone/bone, /turf/simulated/floor/wood, /area/redgate/jungle/westcaves) "TA" = ( @@ -3787,12 +3787,12 @@ /area/redgate/jungle/aboveground) "TC" = ( /obj/structure/table/hardwoodtable, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, /turf/simulated/mineral/floor/light{ nitrogen = 82.1472; oxygen = 21.8366; @@ -3813,7 +3813,7 @@ /turf/simulated/mineral/floor/cave, /area/redgate/jungle/eastcaves) "TI" = ( -/obj/item/weapon/simple_key/dungeon{ +/obj/item/simple_key/dungeon{ color = "#ff00ee"; key_id = "phoron"; name = "phoron key" @@ -3839,7 +3839,7 @@ /turf/simulated/floor/wood/alt/panel, /area/redgate/jungle/aboveground) "Ui" = ( -/obj/item/weapon/bedsheet/pillow/orange, +/obj/item/bedsheet/pillow/orange, /turf/simulated/floor/wood/alt, /area/redgate/jungle/aboveground) "Uk" = ( @@ -3866,12 +3866,12 @@ /area/redgate/jungle/aboveground) "UA" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, -/obj/item/weapon/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, /turf/simulated/floor/wood/alt, /area/redgate/jungle/aboveground) "UC" = ( @@ -3910,7 +3910,7 @@ /turf/simulated/floor/outdoors/grass/forest, /area/redgate/jungle/aboveground) "UY" = ( -/obj/item/weapon/bedsheet/pillow/orange, +/obj/item/bedsheet/pillow/orange, /turf/simulated/mineral/floor/cave, /area/redgate/jungle/westcaves) "UZ" = ( @@ -3929,8 +3929,8 @@ /area/redgate/jungle/aboveground) "Ve" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/rainbowdouble, -/obj/item/weapon/bedsheet/pillow/red, +/obj/item/bedsheet/rainbowdouble, +/obj/item/bedsheet/pillow/red, /turf/simulated/floor/wood, /area/redgate/jungle/aboveground) "Vf" = ( @@ -3943,8 +3943,8 @@ /turf/simulated/floor/outdoors/grass/forest, /area/redgate/jungle/aboveground) "Vj" = ( -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, /turf/simulated/floor/tiled/eris/white/golden, /area/redgate/jungle/temple) "Vk" = ( @@ -3961,8 +3961,8 @@ /area/redgate/jungle/aboveground) "Vt" = ( /obj/structure/bed/double, -/obj/item/weapon/bedsheet/browndouble, -/obj/item/weapon/bedsheet/pillow/orange, +/obj/item/bedsheet/browndouble, +/obj/item/bedsheet/pillow/orange, /turf/simulated/floor/carpet/turcarpet, /area/redgate/jungle/temple) "VB" = ( @@ -3972,12 +3972,12 @@ /area/redgate/jungle/temple) "VN" = ( /obj/structure/table/woodentable, -/obj/item/weapon/gun/launcher/syringe, -/obj/item/weapon/reagent_containers/syringe, -/obj/item/weapon/reagent_containers/syringe, -/obj/item/weapon/reagent_containers/syringe, -/obj/item/weapon/reagent_containers/syringe, -/obj/item/weapon/reagent_containers/syringe, +/obj/item/gun/launcher/syringe, +/obj/item/reagent_containers/syringe, +/obj/item/reagent_containers/syringe, +/obj/item/reagent_containers/syringe, +/obj/item/reagent_containers/syringe, +/obj/item/reagent_containers/syringe, /turf/simulated/floor/wood/alt/panel, /area/redgate/jungle/aboveground) "VQ" = ( @@ -3987,7 +3987,7 @@ }, /area/redgate/jungle/aboveground) "VT" = ( -/obj/item/weapon/reagent_containers/glass/bucket/wood, +/obj/item/reagent_containers/glass/bucket/wood, /turf/simulated/floor/wood/alt/panel, /area/redgate/jungle/aboveground) "VY" = ( @@ -4003,8 +4003,8 @@ /area/redgate/jungle/southcaves) "Wd" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/melee/classic_baton, -/obj/item/weapon/melee/classic_baton, +/obj/item/melee/classic_baton, +/obj/item/melee/classic_baton, /turf/simulated/mineral/floor/light{ nitrogen = 82.1472; oxygen = 21.8366; @@ -4013,7 +4013,7 @@ /area/redgate/jungle/temple) "Wj" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/knife/butch, +/obj/item/material/knife/butch, /turf/simulated/floor/wood, /area/redgate/jungle/westcaves) "Wk" = ( @@ -4038,8 +4038,8 @@ /area/redgate/jungle/aboveground) "WT" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/pillow/orange, -/obj/item/weapon/bedsheet/orangedouble, +/obj/item/bedsheet/pillow/orange, +/obj/item/bedsheet/orangedouble, /turf/simulated/floor/wood/alt, /area/redgate/jungle/aboveground) "WW" = ( @@ -4067,7 +4067,7 @@ /area/redgate/jungle/temple) "Xi" = ( /obj/effect/floor_decal/milspec/color/purple, -/obj/item/weapon/potion_material/living_coral, +/obj/item/potion_material/living_coral, /turf/simulated/shuttle/floor/purple, /area/redgate/jungle/temple) "Xk" = ( @@ -4107,7 +4107,7 @@ /turf/simulated/floor/bluegrid, /area/redgate/jungle/temple) "XG" = ( -/obj/item/weapon/reagent_containers/glass/bucket/wood, +/obj/item/reagent_containers/glass/bucket/wood, /turf/simulated/floor/wood/alt, /area/redgate/jungle/aboveground) "XJ" = ( @@ -4132,18 +4132,18 @@ /area/redgate/jungle/temple) "XX" = ( /obj/structure/closet/crate/wooden, -/obj/item/device/flashlight/lantern, -/obj/item/device/flashlight/lantern, -/obj/item/device/flashlight/lantern, -/obj/item/device/flashlight/lantern, -/obj/item/device/flashlight/lantern, -/obj/item/device/flashlight/lantern, -/obj/item/device/flashlight/lantern, -/obj/item/device/flashlight/lantern, -/obj/item/weapon/storage/pouch/flares/full_flare, -/obj/item/weapon/storage/pouch/flares/full_flare, -/obj/item/weapon/storage/pouch/flares/full_flare, -/obj/item/weapon/storage/pouch/flares/full_flare, +/obj/item/flashlight/lantern, +/obj/item/flashlight/lantern, +/obj/item/flashlight/lantern, +/obj/item/flashlight/lantern, +/obj/item/flashlight/lantern, +/obj/item/flashlight/lantern, +/obj/item/flashlight/lantern, +/obj/item/flashlight/lantern, +/obj/item/storage/pouch/flares/full_flare, +/obj/item/storage/pouch/flares/full_flare, +/obj/item/storage/pouch/flares/full_flare, +/obj/item/storage/pouch/flares/full_flare, /turf/simulated/floor/wood/alt, /area/redgate/jungle/aboveground) "Ya" = ( @@ -4159,7 +4159,7 @@ /turf/simulated/floor/outdoors/grass/forest, /area/redgate/jungle/aboveground) "Yj" = ( -/obj/item/weapon/gun/energy/mouseray/metamorphosis/advanced/random, +/obj/item/gun/energy/mouseray/metamorphosis/advanced/random, /obj/structure/closet/alien, /obj/random/bluespace, /obj/random/maintenance/research, @@ -4195,7 +4195,7 @@ /area/redgate/jungle/temple) "YH" = ( /obj/structure/closet/tent/B, -/obj/item/weapon/material/twohanded/fireaxe, +/obj/item/material/twohanded/fireaxe, /obj/random/potion, /obj/random/potion_base, /obj/random/coin, @@ -4206,7 +4206,7 @@ /area/redgate/jungle/temple) "YP" = ( /obj/structure/table/hardwoodtable, -/obj/item/weapon/reagent_containers/glass/pint_mug, +/obj/item/reagent_containers/glass/pint_mug, /turf/simulated/mineral/floor/light{ nitrogen = 82.1472; oxygen = 21.8366; diff --git a/maps/redgate/jungle_underground.dmm b/maps/redgate/jungle_underground.dmm index bcf6b0a68b2..91aceb41d10 100644 --- a/maps/redgate/jungle_underground.dmm +++ b/maps/redgate/jungle_underground.dmm @@ -100,7 +100,7 @@ /area/redgate/jungle/facilityne) "bw" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/reagent_containers/food/snacks/packaged/pasty, +/obj/item/reagent_containers/food/snacks/packaged/pasty, /turf/simulated/floor, /area/redgate/jungle/facilityse) "bA" = ( @@ -138,7 +138,7 @@ /area/redgate/jungle/facilitynw) "bQ" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/toy/desk/fan, +/obj/item/toy/desk/fan, /turf/simulated/floor/carpet/blue, /area/redgate/jungle/facilityse) "bW" = ( @@ -163,7 +163,7 @@ /turf/simulated/floor, /area/redgate/jungle/facilityne) "cj" = ( -/obj/item/weapon/melee/umbrella/random, +/obj/item/melee/umbrella/random, /turf/simulated/floor, /area/redgate/jungle/facilityne) "cn" = ( @@ -246,7 +246,7 @@ /turf/simulated/floor, /area/redgate/jungle/facilitynw) "cW" = ( -/obj/item/weapon/bone/leg, +/obj/item/bone/leg, /turf/simulated/mineral/floor/ignore_cavegen{ nitrogen = 82.1472; oxygen = 21.8366; @@ -313,7 +313,7 @@ /turf/simulated/floor, /area/redgate/jungle/facilitynw) "dB" = ( -/obj/item/weapon/cell/emergency_light, +/obj/item/cell/emergency_light, /turf/simulated/floor, /area/redgate/jungle/facilitynw) "dH" = ( @@ -431,7 +431,7 @@ dir = 1 }, /obj/structure/table/rack/steel, -/obj/item/weapon/implantcase/language/eal, +/obj/item/implantcase/language/eal, /turf/simulated/floor, /area/redgate/jungle/facilityne) "eK" = ( @@ -445,7 +445,7 @@ /turf/simulated/floor/lava, /area/redgate/jungle/facilityse) "eM" = ( -/obj/item/weapon/reagent_containers/syringe/drugs, +/obj/item/reagent_containers/syringe/drugs, /turf/simulated/floor, /area/redgate/jungle/facilitynw) "eN" = ( @@ -463,7 +463,7 @@ /turf/simulated/floor, /area/redgate/jungle/facilityne) "eS" = ( -/obj/item/weapon/weldingtool/hugetank, +/obj/item/weldingtool/hugetank, /turf/simulated/floor, /area/redgate/jungle/facilitynw) "eW" = ( @@ -564,8 +564,8 @@ /area/redgate/jungle/facilitysw) "gf" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/folder, -/obj/item/weapon/pen/fountain, +/obj/item/folder, +/obj/item/pen/fountain, /turf/simulated/floor/wmarble, /area/redgate/jungle/facilityse) "gh" = ( @@ -663,19 +663,19 @@ /area/redgate/jungle/facilityne) "hw" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/toy/desk/newtoncradle, +/obj/item/toy/desk/newtoncradle, /turf/simulated/floor/carpet/blue, /area/redgate/jungle/facilityse) "hx" = ( /turf/simulated/wall, /area/redgate/jungle/facilitynw) "hy" = ( -/obj/item/weapon/bikehorn/rubberducky/red, +/obj/item/bikehorn/rubberducky/red, /turf/simulated/floor, /area/redgate/jungle/facilitynw) "hB" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/box/custardcream, +/obj/item/storage/box/custardcream, /turf/simulated/floor, /area/redgate/jungle/facilityse) "hD" = ( @@ -722,7 +722,7 @@ /turf/simulated/floor, /area/redgate/jungle/facilitynw) "iq" = ( -/obj/item/weapon/mine/stun, +/obj/item/mine/stun, /turf/simulated/floor, /area/redgate/jungle/facilitysw) "iv" = ( @@ -813,12 +813,12 @@ /turf/simulated/floor, /area/redgate/jungle/facilitynw) "jH" = ( -/obj/item/weapon/storage/vore_egg/floppy, +/obj/item/storage/vore_egg/floppy, /turf/simulated/floor, /area/redgate/jungle/facilityne) "jK" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/box/jaffacake, +/obj/item/storage/box/jaffacake, /turf/simulated/floor, /area/redgate/jungle/facilityse) "jL" = ( @@ -854,7 +854,7 @@ /turf/simulated/floor, /area/redgate/jungle/facilitynw) "kh" = ( -/obj/item/weapon/mine/stun, +/obj/item/mine/stun, /turf/simulated/floor, /area/redgate/jungle/facilityne) "kj" = ( @@ -887,13 +887,13 @@ /turf/simulated/floor, /area/redgate/jungle/facilitynw) "kS" = ( -/obj/item/weapon/bikehorn, +/obj/item/bikehorn, /turf/simulated/floor, /area/redgate/jungle/facilitynw) "kX" = ( /obj/structure/closet/walllocker_double/casino/west, -/obj/item/weapon/storage/box/roulette_balls_fancy, -/obj/item/weapon/storage/box/roulette_balls_normal, +/obj/item/storage/box/roulette_balls_fancy, +/obj/item/storage/box/roulette_balls_normal, /turf/simulated/floor/tiled/eris/white/golden, /area/redgate/jungle/facilitycasino) "kY" = ( @@ -930,7 +930,7 @@ /area/redgate/jungle/facilitybar) "lt" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/flame/lighter/random, +/obj/item/flame/lighter/random, /turf/simulated/floor, /area/redgate/jungle/facilityse) "lv" = ( @@ -959,7 +959,7 @@ /area/redgate/jungle/facilitynw) "lD" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/reagent_containers/food/snacks/packaged/sausageroll, +/obj/item/reagent_containers/food/snacks/packaged/sausageroll, /turf/simulated/floor, /area/redgate/jungle/facilityse) "lH" = ( @@ -988,7 +988,7 @@ }, /area/redgate/jungle/facilitynw) "mm" = ( -/obj/item/weapon/inducer/unloaded, +/obj/item/inducer/unloaded, /obj/structure/table/steel_reinforced, /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/jungle/facilitynw) @@ -1000,22 +1000,22 @@ /turf/simulated/floor/water/underwater, /area/redgate/jungle/underwaterswamp) "mv" = ( -/obj/item/weapon/cannonframe, +/obj/item/cannonframe, /turf/simulated/floor, /area/redgate/jungle/facilitynw) "mw" = ( -/obj/item/weapon/stool/padded, -/obj/item/weapon/stool/padded, -/obj/item/weapon/stool/padded, -/obj/item/weapon/stool/padded, -/obj/item/weapon/stool/padded, -/obj/item/weapon/stool/padded, -/obj/item/weapon/stool/padded, -/obj/item/weapon/stool/padded, -/obj/item/weapon/stool/padded, -/obj/item/weapon/stool/padded, -/obj/item/weapon/stool/padded, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, +/obj/item/stool/padded, +/obj/item/stool/padded, +/obj/item/stool/padded, +/obj/item/stool/padded, +/obj/item/stool/padded, +/obj/item/stool/padded, +/obj/item/stool/padded, +/obj/item/stool/padded, +/obj/item/stool/padded, +/obj/item/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled/eris/white/golden, /area/redgate/jungle/facilitycasino) "my" = ( @@ -1038,7 +1038,7 @@ /turf/simulated/floor/tiled/eris/white/golden, /area/redgate/jungle/facilitycasino) "mK" = ( -/obj/item/weapon/bone/arm, +/obj/item/bone/arm, /turf/simulated/mineral/floor/ignore_cavegen{ nitrogen = 82.1472; oxygen = 21.8366; @@ -1047,7 +1047,7 @@ /area/redgate/jungle/underwatercavepond) "mM" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/surgical/cautery/alien, +/obj/item/surgical/cautery/alien, /turf/simulated/floor, /area/redgate/jungle/facilitysw) "mQ" = ( @@ -1085,7 +1085,7 @@ /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/jungle/facilitysw) "nc" = ( -/obj/item/weapon/bone/horn, +/obj/item/bone/horn, /turf/simulated/floor, /area/redgate/jungle/facilitynw) "nd" = ( @@ -1098,7 +1098,7 @@ /turf/simulated/floor, /area/redgate/jungle/facilitynw) "ng" = ( -/obj/item/weapon/newspaper, +/obj/item/newspaper, /turf/simulated/floor, /area/redgate/jungle/facilitynw) "nq" = ( @@ -1152,10 +1152,10 @@ /area/redgate/jungle/facilityne) "nN" = ( /obj/structure/closet/crate/wooden, -/obj/item/weapon/bone/leg, -/obj/item/weapon/bone/arm, -/obj/item/weapon/bone/horn, -/obj/item/weapon/bone/skull/unknown, +/obj/item/bone/leg, +/obj/item/bone/arm, +/obj/item/bone/horn, +/obj/item/bone/skull/unknown, /obj/random/mug, /obj/item/clothing/accessory/bracelet/material/gold, /obj/item/clothing/ears/earring/dangle/gold, @@ -1163,8 +1163,8 @@ /area/redgate/jungle/murderroom) "nP" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/folder/blue, -/obj/item/weapon/pen/fountain4, +/obj/item/folder/blue, +/obj/item/pen/fountain4, /turf/simulated/floor/wmarble, /area/redgate/jungle/facilityse) "nZ" = ( @@ -1180,7 +1180,7 @@ /turf/simulated/floor, /area/redgate/jungle/facilitynw) "ok" = ( -/obj/item/weapon/implantcase/armblade, +/obj/item/implantcase/armblade, /turf/simulated/floor, /area/redgate/jungle/facilityse) "oo" = ( @@ -1201,10 +1201,10 @@ /area/redgate/jungle/facilitysw) "ou" = ( /obj/structure/closet/crate/wooden, -/obj/item/weapon/material/twohanded/spear/flint, -/obj/item/weapon/material/fishing_net, -/obj/item/weapon/material/fishing_net, -/obj/item/weapon/material/fishing_net, +/obj/item/material/twohanded/spear/flint, +/obj/item/material/fishing_net, +/obj/item/material/fishing_net, +/obj/item/material/fishing_net, /obj/random/fantasy_item, /obj/random/potion_ingredient, /turf/simulated/mineral/floor/ignore_cavegen{ @@ -1220,7 +1220,7 @@ /area/redgate/jungle/facilitynw) "ow" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/packageWrap, +/obj/item/packageWrap, /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/jungle/facilitynw) "oB" = ( @@ -1286,7 +1286,7 @@ /turf/simulated/floor, /area/redgate/jungle/facilitynw) "pp" = ( -/obj/item/weapon/inflatable_duck, +/obj/item/inflatable_duck, /turf/simulated/floor/water/deep/pool, /area/redgate/jungle/facilitynw) "pq" = ( @@ -1326,7 +1326,7 @@ /turf/simulated/floor, /area/redgate/jungle/facilityne) "pO" = ( -/obj/item/device/healthanalyzer/advanced, +/obj/item/healthanalyzer/advanced, /turf/simulated/floor, /area/redgate/jungle/facilityse) "pR" = ( @@ -1344,7 +1344,7 @@ /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/jungle/facilitynw) "pZ" = ( -/obj/item/weapon/cell/spike, +/obj/item/cell/spike, /turf/simulated/floor, /area/redgate/jungle/facilitynw) "ql" = ( @@ -1361,7 +1361,7 @@ /turf/simulated/floor, /area/redgate/jungle/facilityse) "qD" = ( -/obj/item/weapon/anodevice, +/obj/item/anodevice, /obj/structure/closet/tent/B, /turf/simulated/floor, /area/redgate/jungle/facilityne) @@ -1443,7 +1443,7 @@ /turf/simulated/floor, /area/redgate/jungle/facilitynw) "ry" = ( -/obj/item/weapon/bone/skull/unknown, +/obj/item/bone/skull/unknown, /turf/simulated/floor, /area/redgate/jungle/facilitysw) "rB" = ( @@ -1454,7 +1454,7 @@ /area/redgate/jungle/facilityne) "rD" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/pen/fountain8, +/obj/item/pen/fountain8, /turf/simulated/floor/wmarble, /area/redgate/jungle/facilityse) "rF" = ( @@ -1466,7 +1466,7 @@ /turf/simulated/floor, /area/redgate/jungle/facilityne) "rR" = ( -/obj/item/weapon/bone, +/obj/item/bone, /turf/simulated/floor, /area/redgate/jungle/facilitysw) "rU" = ( @@ -1490,11 +1490,11 @@ /area/redgate/jungle/facilityse) "sr" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /turf/simulated/floor, /area/redgate/jungle/facilityne) "su" = ( -/obj/item/weapon/anobattery, +/obj/item/anobattery, /obj/structure/table/steel_reinforced, /turf/simulated/floor, /area/redgate/jungle/facilitysw) @@ -1521,7 +1521,7 @@ }, /area/redgate/jungle/facilitysw) "sA" = ( -/obj/item/weapon/bone, +/obj/item/bone, /turf/simulated/floor, /area/redgate/jungle/facilityse) "sG" = ( @@ -1561,7 +1561,7 @@ }, /area/redgate/jungle/underwatercave) "tf" = ( -/obj/item/weapon/mine/stun, +/obj/item/mine/stun, /turf/simulated/floor, /area/redgate/jungle/facilitynw) "th" = ( @@ -1571,40 +1571,40 @@ /turf/simulated/floor, /area/redgate/jungle/facilitysw) "tj" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /turf/simulated/floor/tiled/eris/white/golden, @@ -1616,7 +1616,7 @@ /area/redgate/jungle/facilitynw) "tn" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor, /area/redgate/jungle/facilityse) "to" = ( @@ -1629,7 +1629,7 @@ /area/redgate/jungle/facilityne) "tF" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/flame/lighter/random, +/obj/item/flame/lighter/random, /turf/simulated/floor/reinforced, /area/redgate/jungle/facilitybar) "tL" = ( @@ -1652,7 +1652,7 @@ /area/redgate/jungle/underwatercaveswamp) "tQ" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/reagent_containers/food/snacks/packaged/scotchegg, +/obj/item/reagent_containers/food/snacks/packaged/scotchegg, /turf/simulated/floor, /area/redgate/jungle/facilityse) "tR" = ( @@ -1667,7 +1667,7 @@ /area/redgate/jungle/facilityne) "tV" = ( /obj/structure/table/gamblingtable, -/obj/item/weapon/deck/cards/casino, +/obj/item/deck/cards/casino, /turf/simulated/floor/tiled/eris/white/golden, /area/redgate/jungle/facilitycasino) "ub" = ( @@ -1751,7 +1751,7 @@ /area/redgate/jungle/facilityne) "uY" = ( /obj/structure/table/rack/gun_rack/steel, -/obj/item/weapon/gun/energy/sickshot, +/obj/item/gun/energy/sickshot, /turf/simulated/floor/reinforced, /area/redgate/jungle/facilitybar) "vd" = ( @@ -1767,7 +1767,7 @@ /turf/simulated/floor, /area/redgate/jungle/facilityne) "vq" = ( -/obj/item/weapon/folder, +/obj/item/folder, /turf/simulated/floor, /area/redgate/jungle/facilitysw) "vw" = ( @@ -1785,7 +1785,7 @@ /turf/simulated/floor, /area/redgate/jungle/facilityne) "vH" = ( -/obj/item/weapon/refill_cartridge/universal, +/obj/item/refill_cartridge/universal, /turf/simulated/floor, /area/redgate/jungle/facilitynw) "vI" = ( @@ -1795,7 +1795,7 @@ /turf/simulated/floor, /area/redgate/jungle/facilitynw) "vM" = ( -/obj/item/weapon/gun/projectile/deagle/gold, +/obj/item/gun/projectile/deagle/gold, /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/jungle/facilityse) "vS" = ( @@ -1929,7 +1929,7 @@ /area/redgate/jungle/facilityne) "xF" = ( /obj/structure/bed/nest, -/obj/item/weapon/storage/vore_egg/purple, +/obj/item/storage/vore_egg/purple, /turf/simulated/floor, /area/redgate/jungle/facilitysw) "xH" = ( @@ -1950,7 +1950,7 @@ /area/redgate/jungle/facilitynw) "xW" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/implanter/vrlanguage, +/obj/item/implanter/vrlanguage, /turf/simulated/floor, /area/redgate/jungle/facilitynw) "ya" = ( @@ -1959,7 +1959,7 @@ /area/redgate/jungle/facilitynw) "yc" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/reagent_containers/food/snacks/packaged/porkpie, +/obj/item/reagent_containers/food/snacks/packaged/porkpie, /turf/simulated/floor, /area/redgate/jungle/facilityse) "yd" = ( @@ -2035,7 +2035,7 @@ /area/redgate/jungle/facilitynw) "yS" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, /turf/simulated/floor, /area/redgate/jungle/facilitynw) "yV" = ( @@ -2115,7 +2115,7 @@ /turf/simulated/floor, /area/redgate/jungle/facilitynw) "Aa" = ( -/obj/item/weapon/storage/mre/menu12, +/obj/item/storage/mre/menu12, /turf/simulated/floor, /area/redgate/jungle/facilitynw) "Ab" = ( @@ -2128,7 +2128,7 @@ /area/redgate/jungle/facilityse) "Al" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/reagent_containers/food/snacks/old/burger, +/obj/item/reagent_containers/food/snacks/old/burger, /turf/simulated/floor, /area/redgate/jungle/facilitysw) "An" = ( @@ -2137,7 +2137,7 @@ /area/redgate/jungle/facilitysw) "Au" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/reagent_containers/glass/bottle/poppy, +/obj/item/reagent_containers/glass/bottle/poppy, /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/jungle/facilitynw) "Az" = ( @@ -2145,7 +2145,7 @@ /turf/simulated/floor, /area/redgate/jungle/facilitysw) "AA" = ( -/obj/item/weapon/grenade/confetti/party_ball, +/obj/item/grenade/confetti/party_ball, /turf/simulated/floor, /area/redgate/jungle/facilitynw) "AI" = ( @@ -2243,28 +2243,28 @@ /area/redgate/jungle/facilitysw) "BT" = ( /obj/structure/closet/walllocker_double/casino/west, -/obj/item/weapon/storage/dicecup, -/obj/item/weapon/storage/dicecup, -/obj/item/weapon/storage/dicecup, -/obj/item/weapon/storage/dicecup, -/obj/item/weapon/storage/dicecup, -/obj/item/weapon/storage/dicecup, -/obj/item/weapon/storage/dicecup, -/obj/item/weapon/storage/dicecup, -/obj/item/weapon/storage/pill_bottle/dice, -/obj/item/weapon/storage/pill_bottle/dice, -/obj/item/weapon/storage/pill_bottle/dice, -/obj/item/weapon/storage/pill_bottle/dice, -/obj/item/weapon/storage/pill_bottle/dice, -/obj/item/weapon/storage/pill_bottle/dice, -/obj/item/weapon/storage/pill_bottle/dice, -/obj/item/weapon/storage/pill_bottle/dice_nerd, -/obj/item/weapon/storage/pill_bottle/dice_nerd, -/obj/item/weapon/storage/pill_bottle/dice_nerd, -/obj/item/weapon/storage/pill_bottle/dice_nerd, -/obj/item/weapon/storage/pill_bottle/dice_nerd, -/obj/item/weapon/storage/pill_bottle/dice_nerd, -/obj/item/weapon/storage/pill_bottle/dice_nerd, +/obj/item/storage/dicecup, +/obj/item/storage/dicecup, +/obj/item/storage/dicecup, +/obj/item/storage/dicecup, +/obj/item/storage/dicecup, +/obj/item/storage/dicecup, +/obj/item/storage/dicecup, +/obj/item/storage/dicecup, +/obj/item/storage/pill_bottle/dice, +/obj/item/storage/pill_bottle/dice, +/obj/item/storage/pill_bottle/dice, +/obj/item/storage/pill_bottle/dice, +/obj/item/storage/pill_bottle/dice, +/obj/item/storage/pill_bottle/dice, +/obj/item/storage/pill_bottle/dice, +/obj/item/storage/pill_bottle/dice_nerd, +/obj/item/storage/pill_bottle/dice_nerd, +/obj/item/storage/pill_bottle/dice_nerd, +/obj/item/storage/pill_bottle/dice_nerd, +/obj/item/storage/pill_bottle/dice_nerd, +/obj/item/storage/pill_bottle/dice_nerd, +/obj/item/storage/pill_bottle/dice_nerd, /turf/simulated/floor/tiled/eris/white/golden, /area/redgate/jungle/facilitycasino) "BV" = ( @@ -2329,7 +2329,7 @@ /turf/simulated/floor/lava, /area/redgate/jungle/facilityse) "CC" = ( -/obj/item/weapon/storage/firstaid/fire, +/obj/item/storage/firstaid/fire, /turf/simulated/floor, /area/redgate/jungle/facilitysw) "CE" = ( @@ -2386,32 +2386,32 @@ /area/redgate/jungle/facilityse) "Dj" = ( /obj/structure/table/rack/shelf/wood, -/obj/item/weapon/bone/skull, +/obj/item/bone/skull, /turf/simulated/floor/wood, /area/redgate/jungle/murderroom) "Dn" = ( /obj/structure/closet/walllocker_double/casino/west, -/obj/item/weapon/deck/schnapsen, -/obj/item/weapon/deck/schnapsen, -/obj/item/weapon/deck/schnapsen, -/obj/item/weapon/deck/schnapsen, -/obj/item/weapon/deck/schnapsen, -/obj/item/weapon/deck/schnapsen, -/obj/item/weapon/deck/schnapsen, -/obj/item/weapon/deck/holder/casino, -/obj/item/weapon/deck/holder/casino, -/obj/item/weapon/deck/holder/casino, -/obj/item/weapon/deck/holder/casino, -/obj/item/weapon/deck/holder/casino, -/obj/item/weapon/deck/cards, -/obj/item/weapon/deck/cards, -/obj/item/weapon/deck/cards, -/obj/item/weapon/deck/cards, -/obj/item/weapon/deck/cards, -/obj/item/weapon/deck/cards, -/obj/item/weapon/deck/cards, -/obj/item/weapon/deck/cards, -/obj/item/weapon/deck/cards, +/obj/item/deck/schnapsen, +/obj/item/deck/schnapsen, +/obj/item/deck/schnapsen, +/obj/item/deck/schnapsen, +/obj/item/deck/schnapsen, +/obj/item/deck/schnapsen, +/obj/item/deck/schnapsen, +/obj/item/deck/holder/casino, +/obj/item/deck/holder/casino, +/obj/item/deck/holder/casino, +/obj/item/deck/holder/casino, +/obj/item/deck/holder/casino, +/obj/item/deck/cards, +/obj/item/deck/cards, +/obj/item/deck/cards, +/obj/item/deck/cards, +/obj/item/deck/cards, +/obj/item/deck/cards, +/obj/item/deck/cards, +/obj/item/deck/cards, +/obj/item/deck/cards, /turf/simulated/floor/tiled/eris/white/golden, /area/redgate/jungle/facilitycasino) "Dr" = ( @@ -2459,7 +2459,7 @@ /area/redgate/jungle/murderroom) "DP" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery, /turf/simulated/floor, /area/redgate/jungle/facilityse) "DQ" = ( @@ -2554,7 +2554,7 @@ /turf/simulated/floor, /area/redgate/jungle/facilityne) "ET" = ( -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; @@ -2633,7 +2633,7 @@ /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/jungle/facilityne) "Gc" = ( -/obj/item/weapon/reagent_containers/glass/beaker/noreact, +/obj/item/reagent_containers/glass/beaker/noreact, /turf/simulated/floor, /area/redgate/jungle/facilitynw) "Ge" = ( @@ -2643,7 +2643,7 @@ }, /area/redgate/jungle/deepforest) "Gh" = ( -/obj/item/weapon/mine/stun, +/obj/item/mine/stun, /turf/simulated/floor, /area/redgate/jungle/facilityse) "Gj" = ( @@ -2678,7 +2678,7 @@ /area/redgate/jungle/facilityne) "GF" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/toy/desk/dippingbird, +/obj/item/toy/desk/dippingbird, /turf/simulated/floor/carpet/blue, /area/redgate/jungle/facilityse) "GH" = ( @@ -2772,7 +2772,7 @@ /turf/simulated/mineral/ignore_cavegen, /area/redgate/jungle/underwaterpong) "HB" = ( -/obj/item/weapon/implanter, +/obj/item/implanter, /turf/simulated/floor, /area/redgate/jungle/facilityse) "HI" = ( @@ -2860,14 +2860,14 @@ /area/redgate/jungle/facilitybar) "IB" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/reagent_containers/food/drinks/shaker{ +/obj/item/reagent_containers/food/drinks/shaker{ pixel_x = -7; pixel_y = 11 }, /turf/simulated/floor/reinforced, /area/redgate/jungle/facilitybar) "IC" = ( -/obj/item/weapon/folder, +/obj/item/folder, /turf/simulated/floor, /area/redgate/jungle/facilityse) "ID" = ( @@ -2898,7 +2898,7 @@ /area/redgate/jungle/facilitysw) "IQ" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/box/saucer, +/obj/item/storage/box/saucer, /turf/simulated/floor, /area/redgate/jungle/facilityse) "IV" = ( @@ -2906,12 +2906,12 @@ /turf/simulated/floor, /area/redgate/jungle/facilitynw) "IW" = ( -/obj/item/weapon/implanter/compliance, +/obj/item/implanter/compliance, /turf/simulated/floor, /area/redgate/jungle/facilitynw) "Jj" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/glass/beaker/vial/random, +/obj/item/reagent_containers/glass/beaker/vial/random, /turf/simulated/floor, /area/redgate/jungle/facilityne) "Jk" = ( @@ -2932,7 +2932,7 @@ /turf/simulated/floor, /area/redgate/jungle/facilitynw) "JF" = ( -/obj/item/weapon/storage/mre/random, +/obj/item/storage/mre/random, /turf/simulated/floor, /area/redgate/jungle/facilitynw) "JG" = ( @@ -2964,7 +2964,7 @@ /area/redgate/jungle/facilityne) "JT" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox/lunchbox/filled, +/obj/item/storage/toolbox/lunchbox/filled, /turf/simulated/floor/tiled, /area/redgate/jungle/facilitynw) "JU" = ( @@ -2998,7 +2998,7 @@ /area/redgate/jungle/facilityne) "KD" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/box/shrimpsandbananas, +/obj/item/storage/box/shrimpsandbananas, /turf/simulated/floor, /area/redgate/jungle/facilityse) "KG" = ( @@ -3023,7 +3023,7 @@ /area/redgate/jungle/facilityse) "KT" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/box/bodybags, +/obj/item/storage/box/bodybags, /turf/simulated/floor, /area/redgate/jungle/facilitysw) "KX" = ( @@ -3049,7 +3049,7 @@ /turf/simulated/floor/water/underwater, /area/redgate/jungle/underwaterpong) "Lo" = ( -/obj/item/weapon/reagent_containers/glass/beaker/vial/random, +/obj/item/reagent_containers/glass/beaker/vial/random, /turf/simulated/floor, /area/redgate/jungle/facilityse) "Lv" = ( @@ -3079,7 +3079,7 @@ /obj/structure/closet/crate/bin{ anchored = 1 }, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /turf/simulated/floor, /area/redgate/jungle/facilityse) "LE" = ( @@ -3102,7 +3102,7 @@ /area/redgate/jungle/facilitysw) "LN" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/toy/desk/officetoy, +/obj/item/toy/desk/officetoy, /turf/simulated/floor, /area/redgate/jungle/facilityse) "LP" = ( @@ -3139,7 +3139,7 @@ /area/redgate/jungle/facilityne) "Mi" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/melee/chainofcommand/curator_whip, +/obj/item/melee/chainofcommand/curator_whip, /turf/simulated/floor, /area/redgate/jungle/facilitynw) "Ml" = ( @@ -3180,7 +3180,7 @@ /turf/simulated/floor, /area/redgate/jungle/facilitysw) "ME" = ( -/obj/item/device/pipe_painter, +/obj/item/pipe_painter, /turf/simulated/floor, /area/redgate/jungle/facilitynw) "MF" = ( @@ -3211,7 +3211,7 @@ /turf/simulated/floor, /area/redgate/jungle/facilitynw) "MP" = ( -/obj/item/weapon/handcuffs/legcuffs/fuzzy, +/obj/item/handcuffs/legcuffs/fuzzy, /turf/simulated/floor, /area/redgate/jungle/facilitynw) "MQ" = ( @@ -3270,7 +3270,7 @@ /area/redgate/jungle/facilitynw) "Nx" = ( /obj/structure/closet/walllocker_double/medical/north, -/obj/item/device/glasses_kit, +/obj/item/glasses_kit, /obj/random/medical/pillbottle, /obj/random/medical/pillbottle, /turf/simulated/floor, @@ -3293,7 +3293,7 @@ /area/redgate/jungle/facilityse) "NR" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/reagent_containers/glass/bottle/frostoil, +/obj/item/reagent_containers/glass/bottle/frostoil, /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/jungle/facilitynw) "NS" = ( @@ -3303,7 +3303,7 @@ /turf/simulated/floor, /area/redgate/jungle/facilitynw) "NT" = ( -/obj/item/weapon/storage/box/handcuffs/fake, +/obj/item/storage/box/handcuffs/fake, /turf/simulated/floor, /area/redgate/jungle/facilitynw) "NZ" = ( @@ -3399,7 +3399,7 @@ /turf/simulated/floor, /area/redgate/jungle/facilitysw) "OV" = ( -/obj/item/weapon/handcuffs/cable/red, +/obj/item/handcuffs/cable/red, /turf/simulated/floor, /area/redgate/jungle/facilityse) "OW" = ( @@ -3418,7 +3418,7 @@ /area/redgate/jungle/facilitysw) "Pa" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/phone, +/obj/item/phone, /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/jungle/facilitynw) "Pb" = ( @@ -3442,7 +3442,7 @@ /area/redgate/jungle/facilitynw) "Ph" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/paper_bin, +/obj/item/paper_bin, /turf/simulated/floor, /area/redgate/jungle/facilityse) "Pi" = ( @@ -3520,7 +3520,7 @@ /turf/simulated/floor, /area/redgate/jungle/facilityne) "Qa" = ( -/obj/item/weapon/bikehorn/rubberducky, +/obj/item/bikehorn/rubberducky, /turf/simulated/floor/water/deep/pool, /area/redgate/jungle/facilitynw) "Qb" = ( @@ -3540,7 +3540,7 @@ /turf/simulated/floor, /area/redgate/jungle/facilitynw) "Qj" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, /turf/simulated/floor/redgrid/animated, @@ -3564,7 +3564,7 @@ /area/redgate/jungle/facilityne) "QB" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/towel/random, +/obj/item/towel/random, /turf/simulated/floor, /area/redgate/jungle/facilityne) "QC" = ( @@ -3599,7 +3599,7 @@ /area/redgate/jungle/facilitynw) "QS" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/folder/yellow, +/obj/item/folder/yellow, /turf/simulated/floor/wmarble, /area/redgate/jungle/facilityse) "QY" = ( @@ -3740,7 +3740,7 @@ /turf/simulated/floor, /area/redgate/jungle/facilitynw) "SJ" = ( -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/jungle/facilitynw) "SP" = ( @@ -3797,7 +3797,7 @@ /turf/simulated/floor, /area/redgate/jungle/facilitysw) "Tw" = ( -/obj/item/weapon/autopsy_scanner, +/obj/item/autopsy_scanner, /turf/simulated/floor, /area/redgate/jungle/facilitysw) "TA" = ( @@ -3845,10 +3845,10 @@ /area/redgate/jungle/facilityne) "Us" = ( /obj/structure/closet, -/obj/item/device/multitool, -/obj/item/weapon/pen/multi, +/obj/item/multitool, +/obj/item/pen/multi, /obj/item/stack/cable_coil/silver, -/obj/item/weapon/tool/wirecutters/brass, +/obj/item/tool/wirecutters/brass, /obj/random/maintenance/engineering, /turf/simulated/floor, /area/redgate/jungle/facilityne) @@ -3865,7 +3865,7 @@ /obj/effect/floor_decal/industrial/danger{ dir = 4 }, -/obj/item/weapon/circuitboard/smes, +/obj/item/circuitboard/smes, /turf/simulated/floor/tiled/techfloor, /area/redgate/jungle/facilitynw) "UB" = ( @@ -3879,7 +3879,7 @@ /area/redgate/jungle/facilitybar) "UF" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/scalpel, +/obj/item/surgical/scalpel, /turf/simulated/floor, /area/redgate/jungle/facilityse) "UL" = ( @@ -3978,11 +3978,11 @@ /area/redgate/jungle/facilitysw) "VN" = ( /obj/structure/bed/double, -/obj/item/weapon/bedsheet/yellowdouble, +/obj/item/bedsheet/yellowdouble, /turf/simulated/floor/reinforced, /area/redgate/jungle/facilitybar) "VP" = ( -/obj/item/weapon/reagent_containers/food/snacks/jaffacake{ +/obj/item/reagent_containers/food/snacks/jaffacake{ bitesize = 0.1; icon_scale_x = 3; icon_scale_y = 3; @@ -4188,7 +4188,7 @@ /turf/simulated/floor/reinforced, /area/redgate/jungle/facilitybar) "YY" = ( -/obj/item/weapon/handcuffs/fuzzy, +/obj/item/handcuffs/fuzzy, /turf/simulated/floor, /area/redgate/jungle/facilitynw) "Za" = ( @@ -4197,7 +4197,7 @@ /area/redgate/jungle/facilityne) "Zb" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/reagent_containers/food/snacks/truffle/random, +/obj/item/reagent_containers/food/snacks/truffle/random, /turf/simulated/floor/redgrid/animated, /area/redgate/jungle/facilitybar) "Zc" = ( @@ -4244,7 +4244,7 @@ /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/jungle/facilityse) "ZH" = ( -/obj/item/weapon/tool/wrench/pipe, +/obj/item/tool/wrench/pipe, /turf/simulated/floor, /area/redgate/jungle/facilitynw) "ZI" = ( @@ -4256,7 +4256,7 @@ }, /area/redgate/jungle/underwatercaveswamp) "ZJ" = ( -/obj/item/weapon/bone/ribs, +/obj/item/bone/ribs, /turf/simulated/mineral/floor/ignore_cavegen{ nitrogen = 82.1472; oxygen = 21.8366; @@ -4290,7 +4290,7 @@ /area/redgate/jungle/facilitysw) "ZX" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/surgical/scalpel/alien, +/obj/item/surgical/scalpel/alien, /turf/simulated/floor, /area/redgate/jungle/facilitysw) diff --git a/maps/redgate/laserdome.dmm b/maps/redgate/laserdome.dmm index 82210f36988..e2b8b3b87d5 100644 --- a/maps/redgate/laserdome.dmm +++ b/maps/redgate/laserdome.dmm @@ -45,8 +45,14 @@ /obj/structure/closet/lasertag/red/laserdome, /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arena/ctf_prep) +"awb" = ( +/obj/structure/table/rack, +/obj/random/drinksoft, +/obj/random/desatti_snacks, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/lobby/store_1) "awn" = ( -/obj/item/weapon/bikehorn/rubberducky, +/obj/item/bikehorn/rubberducky, /turf/simulated/floor/tiled/white, /area/redgate/laserdome/lobby/showers) "ayr" = ( @@ -81,6 +87,12 @@ }, /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arena/hyperball) +"baX" = ( +/obj/effect/floor_decal/industrial/arrows/blue{ + dir = 4 + }, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/arena/hyperball) "bdI" = ( /obj/structure/table/bench/steel, /obj/effect/floor_decal/corner/blue{ @@ -101,11 +113,16 @@ /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arena/hbl_prep) "blC" = ( -/turf/simulated/floor/tiled/milspec/raised, -/area/redgate/laserdome/lobby) +/obj/structure/closet/secure_closet/freezer/fridge, +/turf/simulated/floor/tiled/eris/cafe, +/area/redgate/laserdome/lobby/restaurant) "bqk" = ( /turf/simulated/wall/tgmc/darkwall/deco3, /area/redgate/laserdome/arena/capture_the_flag) +"brx" = ( +/obj/effect/floor_decal/corner/red/full, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/lobby) "brB" = ( /obj/structure/flag_decor/blue, /turf/simulated/wall/tgmc/darkwall, @@ -116,6 +133,10 @@ }, /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arena/capture_the_flag) +"bwE" = ( +/obj/structure/bed/chair/sofa/bench/left, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/lobby) "bBP" = ( /obj/effect/floor_decal/corner/blue/diagonal, /turf/simulated/floor/tiled/milspec, @@ -124,13 +145,7 @@ /turf/simulated/wall/tgmc/darkwall/deco0, /area/redgate/laserdome/arena/hyperball) "bFM" = ( -/obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/snacks/chickenfillet, -/obj/item/weapon/reagent_containers/food/snacks/chickenfillet, -/obj/item/weapon/reagent_containers/food/snacks/chickenfillet, -/obj/item/weapon/reagent_containers/food/snacks/chickenfillet, -/obj/item/weapon/reagent_containers/food/snacks/chickenfillet, -/obj/item/weapon/reagent_containers/food/snacks/chickenfillet, +/obj/structure/closet/secure_closet/freezer/meat, /turf/simulated/floor/tiled/eris/cafe, /area/redgate/laserdome/lobby/restaurant) "bFV" = ( @@ -146,6 +161,21 @@ }, /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arena/capture_the_flag) +"bRk" = ( +/obj/structure/table/marble, +/obj/item/encryptionkey/ent, +/obj/item/encryptionkey/ent, +/obj/item/encryptionkey/ent, +/obj/item/encryptionkey/ent, +/obj/item/encryptionkey/ent, +/obj/item/encryptionkey/ent, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/lobby) +"bVo" = ( +/obj/structure/table/rack, +/obj/random/instrument, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/lobby/store_1) "bXT" = ( /obj/effect/floor_decal/corner/red{ dir = 10 @@ -182,6 +212,28 @@ }, /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arena/hyperball) +"cIt" = ( +/obj/item/clothing/shoes/black, +/obj/item/clothing/under/color/red, +/obj/item/clothing/suit/redtag, +/obj/item/clothing/gloves/red, +/obj/item/clothing/head/redtag, +/mob/living/carbon/human/dummy/mannequin/autoequip{ + autorotate = 0; + name = "Laserdome Mannequin"; + real_name = "Laserdome Mannequin" + }, +/obj/effect/floor_decal/corner/red{ + dir = 10 + }, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/lobby) +"cIU" = ( +/obj/effect/floor_decal/arrow{ + dir = 4 + }, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/lobby) "cMi" = ( /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arena/ctf_prep) @@ -192,7 +244,7 @@ /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arena/hbl_prep) "cRZ" = ( -/obj/item/weapon/stool/baystool/padded{ +/obj/item/stool/baystool/padded{ dir = 1 }, /turf/simulated/floor/tiled/milspec, @@ -200,6 +252,20 @@ "cSX" = ( /turf/simulated/wall/tgmc/window/darkwall/reinf, /area/redgate/laserdome/arena/capture_the_flag) +"cUF" = ( +/obj/effect/floor_decal/industrial/arrows/blue{ + dir = 4 + }, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/arena/capture_the_flag) +"cUN" = ( +/obj/structure/table/marble, +/obj/structure/prop/machine/random_radio{ + desc = "It looks like a radio, but all the markings are in a strange language. It's tuned to a station playing music you don't recognize."; + pixel_y = 10 + }, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/lobby) "cXB" = ( /turf/simulated/wall/tgmc/darkwall/deco0, /area/redgate/laserdome/arena/capture_the_flag) @@ -213,6 +279,22 @@ /obj/structure/flag_decor/red, /turf/simulated/wall/tgmc/darkwall, /area/redgate/laserdome/arena/hyperball) +"dbA" = ( +/obj/item/clothing/shoes/black, +/obj/item/clothing/under/color/red, +/obj/item/clothing/suit/redtag, +/obj/item/clothing/gloves/red, +/obj/item/clothing/head/redtag, +/mob/living/carbon/human/dummy/mannequin/autoequip{ + autorotate = 0; + name = "Laserdome Mannequin"; + real_name = "Laserdome Mannequin" + }, +/obj/effect/floor_decal/corner/red/full{ + dir = 1 + }, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/lobby) "dhX" = ( /turf/space, /area/redgate/laserdome/space) @@ -256,13 +338,21 @@ /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arena) "dJu" = ( -/obj/structure/closet/crate/bin, -/turf/simulated/floor/tiled/milspec, +/obj/structure/closet/crate/bin{ + anchored = 1 + }, +/turf/simulated/floor/tiled/monotile, /area/redgate/laserdome/lobby/spaceview_lounge) "dLr" = ( -/obj/structure/redgate/away, -/turf/simulated/floor/tiled/milspec/raised, -/area/redgate/laserdome/lobby) +/obj/structure/table/marble, +/obj/item/reagent_containers/food/snacks/chickenfillet, +/obj/item/reagent_containers/food/snacks/chickenfillet, +/obj/item/reagent_containers/food/snacks/chickenfillet, +/obj/item/reagent_containers/food/snacks/chickenfillet, +/obj/item/reagent_containers/food/snacks/chickenfillet, +/obj/item/reagent_containers/food/snacks/chickenfillet, +/turf/simulated/floor/tiled/eris/cafe, +/area/redgate/laserdome/lobby/restaurant) "dPZ" = ( /obj/effect/floor_decal/corner/yellow/diagonal, /turf/simulated/floor/tiled/milspec, @@ -297,13 +387,19 @@ /area/redgate/laserdome/arena/ctf_prep) "ebx" = ( /obj/structure/table/marble, -/obj/item/device/defib_kit/loaded, +/obj/item/defib_kit/loaded, /turf/simulated/floor/tiled/milspec/sterile, /area/redgate/laserdome/lobby/aid_station) "eqO" = ( /obj/machinery/chem_master/condimaster, /turf/simulated/floor/tiled/eris/cafe, /area/redgate/laserdome/lobby/restaurant) +"erC" = ( +/obj/effect/floor_decal/arrow{ + dir = 4 + }, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/lobby/spaceview_lounge) "evM" = ( /obj/effect/floor_decal/corner/blue{ dir = 1 @@ -315,16 +411,22 @@ /area/redgate/laserdome/arena/hyperball) "eAj" = ( /obj/structure/table/marble, -/obj/item/device/encryptionkey/ent, +/obj/item/encryptionkey/ent, /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/lobby/spaceview_lounge) "eCL" = ( /obj/structure/table/marble, /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/lobby/store_1) +"eJA" = ( +/obj/structure/bed/chair/sofa/bench/left{ + dir = 1 + }, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/lobby) "eND" = ( /obj/structure/hyperball_pedestal, -/obj/item/weapon/laserdome_hyperball, +/obj/item/laserdome_hyperball, /turf/simulated/floor/tiled/milspec/raised, /area/redgate/laserdome/arena/hyperball) "eSA" = ( @@ -414,12 +516,12 @@ /area/redgate/laserdome/arena/capture_the_flag) "fsP" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/snacks/cheeseburger, -/obj/item/weapon/reagent_containers/food/snacks/cheeseburger, -/obj/item/weapon/reagent_containers/food/snacks/cheeseburger, -/obj/item/weapon/reagent_containers/food/snacks/cheeseburger, -/obj/item/weapon/reagent_containers/food/snacks/cheeseburger, -/obj/item/weapon/reagent_containers/food/snacks/cheeseburger, +/obj/item/reagent_containers/food/snacks/cheeseburger, +/obj/item/reagent_containers/food/snacks/cheeseburger, +/obj/item/reagent_containers/food/snacks/cheeseburger, +/obj/item/reagent_containers/food/snacks/cheeseburger, +/obj/item/reagent_containers/food/snacks/cheeseburger, +/obj/item/reagent_containers/food/snacks/cheeseburger, /turf/simulated/floor/tiled/eris/cafe, /area/redgate/laserdome/lobby/restaurant) "fxa" = ( @@ -432,6 +534,12 @@ /obj/effect/floor_decal/corner/yellow, /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arena/hyperball) +"fAL" = ( +/obj/structure/table/marble, +/obj/item/encryptionkey/ent, +/obj/item/encryptionkey/ent, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/lobby) "fCY" = ( /obj/structure/flag_decor/blue, /turf/simulated/wall/tgmc/darkwall, @@ -486,12 +594,39 @@ }, /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arena/hyperball) +"gch" = ( +/obj/effect/floor_decal/corner/blue/full{ + dir = 1 + }, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/lobby) +"geF" = ( +/obj/structure/table/rack, +/obj/random/cigarettes, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/lobby/store_1) "ggB" = ( /obj/effect/floor_decal/corner/blue{ dir = 5 }, /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arena/capture_the_flag) +"ghx" = ( +/obj/item/clothing/shoes/black, +/obj/item/clothing/under/color/blue, +/obj/item/clothing/suit/bluetag, +/obj/item/clothing/gloves/blue, +/obj/item/clothing/head/bluetag, +/mob/living/carbon/human/dummy/mannequin/autoequip{ + autorotate = 0; + name = "Laserdome Mannequin"; + real_name = "Laserdome Mannequin" + }, +/obj/effect/floor_decal/corner/blue{ + dir = 5 + }, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/lobby) "giO" = ( /turf/simulated/wall/tgmc/darkwall, /area/redgate/laserdome/lobby/store_1) @@ -512,7 +647,7 @@ /obj/structure/window/reinforced{ dir = 1 }, -/obj/item/device/healthanalyzer/guide, +/obj/item/healthanalyzer/guide, /turf/simulated/floor/tiled/milspec/sterile, /area/redgate/laserdome/lobby/aid_station) "gEn" = ( @@ -529,6 +664,11 @@ }, /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arena/ctf_prep) +"gKd" = ( +/obj/structure/table/rack, +/obj/random/drinksoft, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/lobby/store_1) "gKy" = ( /obj/effect/floor_decal/corner/blue/full, /obj/structure/closet/lasertag/blue/laserdome, @@ -558,8 +698,8 @@ /area/redgate/laserdome/arena/ctf_prep) "gTS" = ( /obj/structure/table/marble, -/obj/item/weapon/material/knife/butch, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/knife/butch, +/obj/item/material/kitchen/rollingpin, /turf/simulated/floor/tiled/eris/cafe, /area/redgate/laserdome/lobby/restaurant) "gVl" = ( @@ -574,6 +714,10 @@ }, /turf/simulated/floor/tiled/white, /area/redgate/laserdome/lobby/showers) +"gZw" = ( +/obj/structure/flag_decor/red, +/turf/simulated/wall/tgmc/darkwall, +/area/redgate/laserdome/lobby) "had" = ( /obj/effect/floor_decal/corner/red{ dir = 6 @@ -583,6 +727,12 @@ }, /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arena/hyperball) +"haQ" = ( +/obj/effect/floor_decal/arrow{ + dir = 1 + }, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/lobby) "heF" = ( /obj/structure/flag_decor, /turf/simulated/wall/tgmc/darkwall, @@ -605,7 +755,7 @@ /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arena/ctf_prep) "hfU" = ( -/obj/item/weapon/stool/baystool/padded{ +/obj/item/stool/baystool/padded{ dir = 1 }, /turf/simulated/floor/tiled/milspec, @@ -617,6 +767,13 @@ }, /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arena/ctf_prep) +"hiN" = ( +/obj/structure/table/marble, +/obj/structure/prop/machine/biosyphon/laserdome/flagcap{ + pixel_y = 6 + }, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/arena/ctf_prep) "hnp" = ( /obj/effect/floor_decal/steeldecal/steel_decals10{ dir = 4 @@ -648,6 +805,12 @@ }, /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arena/ctf_prep) +"hxU" = ( +/obj/effect/floor_decal/corner/red{ + dir = 10 + }, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/lobby) "hBv" = ( /obj/machinery/body_scanconsole{ dir = 4 @@ -667,6 +830,12 @@ }, /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arena/hyperball) +"hPx" = ( +/obj/effect/floor_decal/corner/blue/full{ + dir = 8 + }, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/lobby) "icL" = ( /obj/effect/floor_decal/corner/red/diagonal, /obj/effect/floor_decal/corner/red/diagonal{ @@ -767,11 +936,11 @@ /area/redgate/laserdome/arena/hbl_prep) "iVw" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -1; pixel_y = 10 }, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 3; pixel_y = 13 }, @@ -811,18 +980,40 @@ /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arena/capture_the_flag) "jti" = ( -/obj/item/weapon/stool/baystool/padded, +/obj/item/stool/baystool/padded, /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/lobby/spaceview_lounge) "jCB" = ( /turf/simulated/wall/tgmc/darkwall, /area/redgate/laserdome/lobby/spaceview_lounge) +"jIH" = ( +/obj/effect/floor_decal/arrow{ + dir = 1 + }, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/arena/ctf_prep) "jKh" = ( /obj/effect/floor_decal/corner/blue{ dir = 10 }, /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arena/capture_the_flag) +"jPA" = ( +/obj/item/clothing/shoes/black, +/obj/item/clothing/under/color/blue, +/obj/item/clothing/suit/bluetag, +/obj/item/clothing/gloves/blue, +/obj/item/clothing/head/bluetag, +/mob/living/carbon/human/dummy/mannequin/autoequip{ + autorotate = 0; + name = "Laserdome Mannequin"; + real_name = "Laserdome Mannequin" + }, +/obj/effect/floor_decal/corner/blue{ + dir = 9 + }, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/lobby) "jQs" = ( /obj/effect/floor_decal/corner/yellow/full{ dir = 1 @@ -862,6 +1053,10 @@ }, /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arena/hyperball) +"kiJ" = ( +/obj/structure/table/marble, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/lobby) "klg" = ( /obj/effect/floor_decal/corner/blue{ dir = 10 @@ -871,12 +1066,26 @@ }, /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arena/capture_the_flag) +"kms" = ( +/obj/structure/table/rack, +/obj/random/drinksoft, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/lobby/store_2) +"kqL" = ( +/obj/structure/prop/machine/tgmc_console2, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/lobby) "krH" = ( /obj/effect/floor_decal/corner/red{ dir = 8 }, /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arena/hyperball) +"krQ" = ( +/obj/structure/table/rack, +/obj/random/nukies_can_legal, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/lobby/store_1) "ktn" = ( /obj/effect/floor_decal/corner/red{ dir = 6 @@ -897,6 +1106,12 @@ /obj/structure/closet/lasertag/red/laserdome, /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arena/hbl_prep) +"kEA" = ( +/obj/structure/bed/chair/sofa/bench/right{ + dir = 1 + }, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/lobby) "kFg" = ( /obj/effect/floor_decal/corner/red{ dir = 5 @@ -918,7 +1133,7 @@ /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arena/hyperball) "kKQ" = ( -/obj/item/weapon/stool/baystool/padded{ +/obj/item/stool/baystool/padded{ dir = 4 }, /turf/simulated/floor/tiled/milspec, @@ -927,6 +1142,12 @@ /obj/machinery/recharger/wallcharger, /turf/simulated/wall/tgmc/darkwall, /area/redgate/laserdome/arena/capture_the_flag) +"kPg" = ( +/obj/effect/floor_decal/corner/red{ + dir = 6 + }, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/lobby) "kRK" = ( /obj/effect/floor_decal/corner/blue{ dir = 5 @@ -948,6 +1169,12 @@ }, /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arena/capture_the_flag) +"kUV" = ( +/obj/structure/table/rack, +/obj/random/cigarettes, +/obj/random/desatti_snacks, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/lobby/store_2) "kYn" = ( /obj/effect/floor_decal/corner/red/full{ dir = 4 @@ -983,11 +1210,14 @@ /area/redgate/laserdome/arena/hbl_prep) "lgv" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/snacks/mint, +/obj/item/reagent_containers/food/snacks/mint, /turf/simulated/floor/tiled/eris/cafe, /area/redgate/laserdome/lobby/restaurant) "lpp" = ( -/obj/structure/closet/secure_closet/freezer/fridge, +/obj/structure/table/marble, +/obj/item/reagent_containers/food/snacks/fries, +/obj/item/reagent_containers/food/snacks/fries, +/obj/item/reagent_containers/food/snacks/fries, /turf/simulated/floor/tiled/eris/cafe, /area/redgate/laserdome/lobby/restaurant) "lDM" = ( @@ -1001,6 +1231,11 @@ }, /turf/simulated/floor/tiled/milspec/sterile, /area/redgate/laserdome/lobby/aid_station) +"lEw" = ( +/obj/structure/table/rack, +/obj/random/flashlight, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/lobby/store_2) "lEQ" = ( /obj/effect/floor_decal/corner/yellow{ dir = 9 @@ -1009,7 +1244,7 @@ /area/redgate/laserdome/arena/ctf_prep) "lIm" = ( /obj/structure/table/marble, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /turf/simulated/floor/tiled/milspec/sterile, /area/redgate/laserdome/lobby/aid_station) "lON" = ( @@ -1018,6 +1253,12 @@ }, /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arena/ctf_prep) +"lPM" = ( +/obj/effect/floor_decal/corner/blue{ + dir = 10 + }, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/lobby) "lRb" = ( /obj/effect/floor_decal/corner/red{ dir = 8 @@ -1062,6 +1303,12 @@ "mhi" = ( /turf/simulated/wall/tgmc/darkwall, /area/redgate/laserdome/lobby/store_2) +"mib" = ( +/obj/structure/table/rack, +/obj/random/drinksoft, +/obj/random/desatti_snacks, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/lobby/store_2) "mmm" = ( /obj/effect/floor_decal/corner/red{ dir = 10 @@ -1075,9 +1322,25 @@ /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/lobby/store_1) "myA" = ( -/obj/structure/closet/secure_closet/freezer/meat, +/obj/structure/table/marble, +/obj/random/pizzabox, +/obj/random/pizzabox, +/obj/random/pizzabox, +/obj/random/pizzabox, +/obj/item/material/knife/plastic, /turf/simulated/floor/tiled/eris/cafe, /area/redgate/laserdome/lobby/restaurant) +"mBZ" = ( +/obj/structure/table/rack, +/obj/random/instrument, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/lobby/store_2) +"mCM" = ( +/obj/effect/floor_decal/industrial/arrows/blue{ + dir = 4 + }, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/arena/hbl_prep) "mIW" = ( /obj/effect/floor_decal/corner/blue{ dir = 10 @@ -1094,6 +1357,10 @@ }, /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arena/hyperball) +"mMT" = ( +/obj/structure/flag_decor/blue, +/turf/simulated/wall/tgmc/darkwall, +/area/redgate/laserdome/lobby) "mPK" = ( /obj/effect/floor_decal/corner/blue{ dir = 9 @@ -1125,6 +1392,10 @@ /obj/structure/closet/lasertag/red/laserdome, /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arena/ctf_prep) +"njI" = ( +/obj/structure/redgate/away, +/turf/simulated/floor/tiled/milspec/raised, +/area/redgate/laserdome/lobby) "nlK" = ( /obj/effect/floor_decal/corner/blue{ dir = 5 @@ -1134,9 +1405,18 @@ }, /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arena/hyperball) +"nuz" = ( +/turf/simulated/floor/tiled/milspec/raised, +/area/redgate/laserdome/lobby) "nxb" = ( /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arena/capture_the_flag) +"nyb" = ( +/obj/effect/floor_decal/corner/red/full{ + dir = 8 + }, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/lobby) "nBo" = ( /obj/effect/floor_decal/corner/red{ dir = 5 @@ -1167,14 +1447,14 @@ /area/redgate/laserdome/arena/hyperball) "nVx" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/spacespice, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/spacespice, +/obj/item/reagent_containers/food/condiment/carton/sugar, +/obj/item/reagent_containers/food/condiment/small/peppermill, +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -3; pixel_y = 4 }, @@ -1198,7 +1478,7 @@ /turf/simulated/floor/tiled/white, /area/redgate/laserdome/lobby/showers) "obC" = ( -/obj/item/weapon/stool/baystool/padded{ +/obj/item/stool/baystool/padded{ dir = 8 }, /turf/simulated/floor/tiled/milspec, @@ -1226,13 +1506,19 @@ }, /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arena/hyperball) +"ohk" = ( +/obj/structure/bed/chair/sofa/bench/right, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/lobby) "ont" = ( -/obj/structure/closet/crate/bin, /obj/machinery/light/small/neon/generic_green{ dir = 1; pixel_y = -23 }, -/turf/simulated/floor/tiled/milspec, +/obj/structure/closet/crate/bin{ + anchored = 1 + }, +/turf/simulated/floor/tiled/monotile, /area/redgate/laserdome/lobby) "oqT" = ( /obj/effect/floor_decal/corner/blue/full{ @@ -1272,6 +1558,10 @@ }, /turf/simulated/floor/tiled/milspec/sterile, /area/redgate/laserdome/lobby/aid_station) +"oAc" = ( +/obj/structure/bed/chair/sofa/bench, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/lobby) "oHj" = ( /obj/machinery/recharger/wallcharger, /turf/simulated/wall/tgmc/darkwall, @@ -1327,36 +1617,47 @@ /obj/machinery/recharger/wallcharger, /turf/simulated/wall/tgmc/darkwall, /area/redgate/laserdome/arena/ctf_prep) +"pex" = ( +/obj/effect/floor_decal/corner/red{ + dir = 5 + }, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/lobby) "pfr" = ( -/obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/snacks/fries, -/obj/item/weapon/reagent_containers/food/snacks/fries, -/obj/item/weapon/reagent_containers/food/snacks/fries, -/obj/item/weapon/reagent_containers/food/snacks/fries, -/obj/item/weapon/reagent_containers/food/snacks/fries, -/obj/item/weapon/reagent_containers/food/snacks/fries, +/obj/machinery/door/airlock/freezer{ + name = "Restaurant Backroom" + }, /turf/simulated/floor/tiled/eris/cafe, /area/redgate/laserdome/lobby/restaurant) +"pfA" = ( +/turf/simulated/wall/tgmc/window/darkwall/reinf, +/area/redgate/laserdome/lobby) "pgz" = ( /obj/structure/table/marble, -/obj/item/weapon/storage/firstaid/toxin{ +/obj/item/storage/firstaid/toxin{ pixel_x = -9; pixel_y = 10 }, -/obj/item/weapon/storage/firstaid/toxin{ +/obj/item/storage/firstaid/toxin{ pixel_x = -9; pixel_y = 1 }, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ pixel_x = 6; pixel_y = 10 }, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ pixel_x = 6; pixel_y = 1 }, /turf/simulated/floor/tiled/milspec/sterile, /area/redgate/laserdome/lobby/aid_station) +"poL" = ( +/obj/item/stool/baystool/padded{ + dir = 4 + }, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/lobby) "ppf" = ( /obj/structure/hyperball_goal/red, /turf/simulated/floor/tiled/milspec/raised, @@ -1364,6 +1665,18 @@ "pvv" = ( /turf/simulated/wall/tgmc/window/darkwall/reinf, /area/redgate/laserdome/arena/hbl_prep) +"pyU" = ( +/obj/structure/table/rack, +/obj/random/cigarettes, +/obj/random/nukies_can_legal, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/lobby/store_1) +"pAB" = ( +/obj/effect/floor_decal/corner/blue{ + dir = 5 + }, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/lobby) "pBv" = ( /obj/effect/floor_decal/corner/blue/full{ dir = 4 @@ -1392,6 +1705,18 @@ }, /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arena/capture_the_flag) +"pVQ" = ( +/obj/structure/table/marble, +/obj/structure/prop/machine/biosyphon/laserdome{ + pixel_y = 6 + }, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/lobby) +"pXq" = ( +/obj/structure/table/rack, +/obj/random/flashlight, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/lobby/store_1) "pYa" = ( /obj/effect/floor_decal/corner/blue{ dir = 10 @@ -1440,7 +1765,7 @@ "qyt" = ( /obj/effect/floor_decal/industrial/hatch/blue, /obj/structure/flag_base/blue, -/obj/item/weapon/laserdome_flag/blue, +/obj/item/laserdome_flag/blue, /turf/simulated/floor/tiled/milspec/raised, /area/redgate/laserdome/arena/capture_the_flag) "qAG" = ( @@ -1458,6 +1783,12 @@ /obj/machinery/appliance/cooker/fryer, /turf/simulated/floor/tiled/eris/cafe, /area/redgate/laserdome/lobby/restaurant) +"qJa" = ( +/obj/effect/floor_decal/industrial/arrows/red{ + dir = 8 + }, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/arena/hyperball) "qRv" = ( /obj/effect/floor_decal/corner/red{ dir = 1 @@ -1466,7 +1797,8 @@ /area/redgate/laserdome/arena/hyperball) "qVN" = ( /obj/structure/table/rack, -/obj/item/device/encryptionkey/ent, +/obj/random/cigarettes, +/obj/random/nukies_can_legal, /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/lobby/store_2) "qWQ" = ( @@ -1481,6 +1813,12 @@ }, /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arena/capture_the_flag) +"qYD" = ( +/obj/structure/bed/chair/sofa/bench{ + dir = 1 + }, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/lobby) "raq" = ( /obj/effect/floor_decal/corner/yellow{ dir = 6 @@ -1488,8 +1826,10 @@ /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arena/capture_the_flag) "rjJ" = ( -/obj/structure/closet/crate/bin, -/turf/simulated/floor/tiled/milspec, +/obj/structure/closet/crate/bin{ + anchored = 1 + }, +/turf/simulated/floor/tiled/monotile, /area/redgate/laserdome/lobby) "rkC" = ( /obj/machinery/light/small/neon/generic_green{ @@ -1506,7 +1846,7 @@ "rnw" = ( /obj/structure/table/standard, /obj/random/soap, -/obj/item/weapon/bikehorn/rubberducky, +/obj/item/bikehorn/rubberducky, /turf/simulated/floor/tiled/white, /area/redgate/laserdome/lobby/showers) "roP" = ( @@ -1592,6 +1932,12 @@ /obj/structure/closet/crate/bin, /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arena/ctf_prep) +"sbU" = ( +/obj/effect/floor_decal/industrial/arrows/red{ + dir = 8 + }, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/arena/hbl_prep) "shp" = ( /obj/effect/floor_decal/corner/red{ dir = 10 @@ -1601,9 +1947,17 @@ /area/redgate/laserdome/arena/ctf_prep) "sox" = ( /obj/structure/table/rack, -/obj/item/device/encryptionkey/ent, +/obj/random/drinksoft, +/obj/random/drinksoft, +/obj/random/desatti_snacks, /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/lobby/store_1) +"soY" = ( +/obj/effect/floor_decal/industrial/arrows/red{ + dir = 8 + }, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/arena/ctf_prep) "suI" = ( /obj/effect/floor_decal/corner/yellow{ dir = 10 @@ -1643,13 +1997,13 @@ /obj/structure/window/reinforced{ dir = 1 }, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /turf/simulated/floor/tiled/milspec/sterile, /area/redgate/laserdome/lobby/aid_station) "sOY" = ( /obj/effect/floor_decal/industrial/hatch/red, /obj/structure/flag_base/red, -/obj/item/weapon/laserdome_flag/red, +/obj/item/laserdome_flag/red, /turf/simulated/floor/tiled/milspec/raised, /area/redgate/laserdome/arena/capture_the_flag) "sQh" = ( @@ -1658,6 +2012,22 @@ }, /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arena/hyperball) +"sRZ" = ( +/obj/item/clothing/shoes/black, +/obj/item/clothing/under/color/red, +/obj/item/clothing/suit/redtag, +/obj/item/clothing/gloves/red, +/obj/item/clothing/head/redtag, +/mob/living/carbon/human/dummy/mannequin/autoequip{ + autorotate = 0; + name = "Laserdome Mannequin"; + real_name = "Laserdome Mannequin" + }, +/obj/effect/floor_decal/corner/red{ + dir = 9 + }, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/lobby) "sSK" = ( /obj/effect/floor_decal/corner/blue/diagonal, /obj/effect/floor_decal/corner/blue/diagonal{ @@ -1674,6 +2044,10 @@ }, /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arena/hyperball) +"sWc" = ( +/obj/effect/floor_decal/arrow, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/lobby) "sXa" = ( /obj/effect/floor_decal/corner/red/full, /turf/simulated/floor/tiled/milspec, @@ -1691,7 +2065,7 @@ /obj/effect/floor_decal/corner/blue{ dir = 6 }, -/obj/item/weapon/laserdome_hyperball_prop{ +/obj/item/laserdome_hyperball_prop{ icon_state = "hyperball_red" }, /turf/simulated/floor/tiled/milspec, @@ -1768,6 +2142,12 @@ }, /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arena/hbl_prep) +"tXj" = ( +/obj/effect/floor_decal/industrial/arrows/blue{ + dir = 4 + }, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/arena/ctf_prep) "tZO" = ( /turf/simulated/wall/tgmc/darkwall, /area/redgate/laserdome/lobby/aid_station) @@ -1787,6 +2167,10 @@ }, /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arena/ctf_prep) +"udY" = ( +/obj/effect/floor_decal/arrow, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/arena/hbl_prep) "ugA" = ( /obj/structure/curtain/open/privacy{ name = "shower curtain" @@ -1840,19 +2224,19 @@ /area/redgate/laserdome/arena/capture_the_flag) "uwE" = ( /obj/structure/table/marble, -/obj/item/weapon/storage/firstaid{ +/obj/item/storage/firstaid{ pixel_x = -9; pixel_y = 10 }, -/obj/item/weapon/storage/firstaid{ +/obj/item/storage/firstaid{ pixel_x = -9; pixel_y = 1 }, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/fire{ pixel_x = 6; pixel_y = 10 }, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/fire{ pixel_x = 6; pixel_y = 1 }, @@ -1877,6 +2261,12 @@ }, /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arena/capture_the_flag) +"uCy" = ( +/obj/effect/floor_decal/corner/blue{ + dir = 6 + }, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/lobby) "uIp" = ( /obj/effect/floor_decal/corner/red/full{ dir = 8 @@ -1891,15 +2281,31 @@ name = "Laserdome Mannequin"; real_name = "Laserdome Mannequin" }, -/turf/simulated/floor/tiled/milspec, -/area/redgate/laserdome/arena/ctf_prep) -"uPT" = ( +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/arena/ctf_prep) +"uPT" = ( +/obj/effect/floor_decal/corner/blue/full{ + dir = 1 + }, +/obj/structure/closet/lasertag/blue/laserdome, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/arena/ctf_prep) +"uTh" = ( +/obj/item/clothing/shoes/black, +/obj/item/clothing/under/color/blue, +/obj/item/clothing/suit/bluetag, +/obj/item/clothing/gloves/blue, +/obj/item/clothing/head/bluetag, +/mob/living/carbon/human/dummy/mannequin/autoequip{ + autorotate = 0; + name = "Laserdome Mannequin"; + real_name = "Laserdome Mannequin" + }, /obj/effect/floor_decal/corner/blue/full{ - dir = 1 + dir = 4 }, -/obj/structure/closet/lasertag/blue/laserdome, /turf/simulated/floor/tiled/milspec, -/area/redgate/laserdome/arena/ctf_prep) +/area/redgate/laserdome/lobby) "val" = ( /obj/effect/floor_decal/corner/red{ dir = 5 @@ -1924,11 +2330,17 @@ }, /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arena/capture_the_flag) +"vid" = ( +/obj/structure/table/rack, +/obj/random/drinksoft, +/obj/random/nukies_can_legal, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/lobby/store_2) "vjW" = ( /obj/effect/floor_decal/corner/red{ dir = 9 }, -/obj/item/weapon/laserdome_hyperball_prop{ +/obj/item/laserdome_hyperball_prop{ icon_state = "hyperball_blue" }, /turf/simulated/floor/tiled/milspec, @@ -2030,6 +2442,12 @@ /obj/effect/floor_decal/corner/blue/full, /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arena/hbl_prep) +"vYY" = ( +/obj/effect/floor_decal/industrial/arrows/red{ + dir = 8 + }, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/arena/capture_the_flag) "vZq" = ( /obj/effect/floor_decal/corner/blue{ dir = 10 @@ -2053,6 +2471,13 @@ /obj/structure/table/bench/steel, /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arena/hbl_prep) +"wkd" = ( +/obj/structure/table/marble, +/obj/structure/prop/machine/biosyphon/laserdome/hyperball{ + pixel_y = 6 + }, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/arena/hbl_prep) "wkM" = ( /obj/effect/map_effect/portal/line/side_b{ dir = 8 @@ -2087,6 +2512,10 @@ /obj/structure/table/marble, /turf/simulated/floor/tiled/milspec/sterile, /area/redgate/laserdome/lobby/aid_station) +"wws" = ( +/obj/effect/floor_decal/corner/blue/full, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/lobby) "wDy" = ( /obj/effect/floor_decal/corner/blue/full{ dir = 1 @@ -2102,11 +2531,11 @@ /area/redgate/laserdome/arena/ctf_prep) "wFp" = ( /obj/structure/table/marble, -/obj/item/weapon/storage/box/beakers{ +/obj/item/storage/box/beakers{ name = "box of measuring cups"; pixel_x = 2; pixel_y = 3; - starts_with = list(/obj/item/weapon/reagent_containers/glass/beaker/measuring_cup = 7) + starts_with = list(/obj/item/reagent_containers/glass/beaker/measuring_cup = 7) }, /turf/simulated/floor/tiled/eris/cafe, /area/redgate/laserdome/lobby/restaurant) @@ -2197,9 +2626,17 @@ /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arena/capture_the_flag) "xHi" = ( -/obj/structure/closet/crate/bin, -/turf/simulated/floor/tiled/milspec, +/obj/structure/closet/crate/bin{ + anchored = 1 + }, +/turf/simulated/floor/tiled/monotile, /area/redgate/laserdome/lobby/restaurant) +"xIq" = ( +/obj/effect/floor_decal/corner/red/full{ + dir = 4 + }, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/lobby) "xIt" = ( /obj/effect/floor_decal/corner/red/diagonal{ dir = 1 @@ -2242,8 +2679,8 @@ /obj/structure/closet/secure_closet/personal, /obj/item/clothing/under/bathrobe, /obj/item/clothing/under/bathrobe, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, /turf/simulated/floor/tiled/white, /area/redgate/laserdome/lobby/showers) "ymc" = ( @@ -6248,7 +6685,7 @@ asC oes fbv evM -xPN +baX fLE wFI oes @@ -6345,7 +6782,7 @@ vkq kOV qsu aIy -nxb +cUF iyV ayr kOV @@ -7858,7 +8295,7 @@ ikl ikl ikl ikl -ikl +erC ikl ikl ikl @@ -8142,7 +8579,7 @@ ikl ikl ikl ikl -ikl +erC ikl ikl ikl @@ -8426,7 +8863,7 @@ xLH xMG xMG xMG -xMG +cIU xMG xMG xMG @@ -8710,7 +9147,7 @@ xMG xMG xMG xMG -xMG +cIU xMG xMG xMG @@ -8718,8 +9155,8 @@ rkC giO mmw sox -sox -sox +pXq +pyU mmw eCL xLH @@ -8995,7 +9432,7 @@ xMG xMG xMG xMG -xMG +cIU xMG xMG xMG @@ -9139,13 +9576,13 @@ xMG xMG xMG xMG -xMG +haQ xMG eCL mmw -sox -sox -sox +awb +geF +bVo mmw eCL xLH @@ -9263,10 +9700,10 @@ vHZ vHZ vHZ xLH -xLH -xLH -xLH -xLH +uab +uab +uab +uab uab uab wHk @@ -9279,15 +9716,15 @@ dCG dCG xMG xMG -xMG +cIU xMG xMG xMG eCL mmw -sox -sox -sox +pyU +pXq +gKd mmw eCL xLH @@ -9405,10 +9842,10 @@ vHZ vHZ vHZ xLH -xLH -xLH -xLH -xLH +uab +bFV +pPz +pPz uab coy pPz @@ -9547,10 +9984,10 @@ vHZ vHZ vHZ xLH -xLH -xLH -xLH -xLH +uab +blC +pPz +pPz uab twc pPz @@ -9563,7 +10000,7 @@ oWY dCG xMG xMG -xMG +cIU xMG xMG xMG @@ -9689,12 +10126,12 @@ vHZ vHZ vHZ xLH -xLH -xLH -xLH -xLH uab -lpp +blC +pPz +pPz +pfr +pPz pPz pPz pPz @@ -9711,9 +10148,9 @@ xMG jZT giO mmw -sox -sox -sox +krQ +gKd +awb mmw eCL xLH @@ -9831,12 +10268,12 @@ vHZ vHZ vHZ xLH -xLH -xLH -xLH -xLH uab -myA +bFM +pPz +pPz +uab +bFV pPz pPz nVx @@ -9847,7 +10284,7 @@ bFV hfU xMG xMG -xMG +cIU xMG xMG xMG @@ -9973,10 +10410,10 @@ vHZ vHZ vHZ xLH -xLH -xLH -xLH -xLH +uab +bFM +pPz +pPz uab nXX pPz @@ -10115,10 +10552,10 @@ vHZ vHZ vHZ xLH -xLH -xLH -xLH -xLH +uab +bFM +pPz +pPz uab qAM pPz @@ -10131,7 +10568,7 @@ bFV hfU xMG xMG -xMG +cIU xMG xMG wPO @@ -10257,10 +10694,10 @@ vHZ vHZ vHZ xLH -xLH -xLH -xLH -xLH +uab +dLr +pPz +pPz uab qBt pPz @@ -10399,10 +10836,10 @@ vHZ vHZ vHZ xLH -xLH -xLH -xLH -xLH +uab +fsP +pPz +pPz uab uzs pPz @@ -10415,7 +10852,7 @@ bFV hfU xMG xMG -xMG +cIU xMG xMG wPO @@ -10541,10 +10978,10 @@ vHZ vHZ vHZ xLH -xLH -xLH -xLH -xLH +uab +lpp +pPz +pPz uab gTS pPz @@ -10555,11 +10992,11 @@ pPz pPz bFV hfU +sWc xMG xMG xMG -xMG -xMG +haQ aSF rLV aSF @@ -10683,10 +11120,10 @@ xLH xLH xLH xLH -xLH -xLH -xLH -xLH +uab +lpp +pPz +pPz uab wFp pPz @@ -10699,7 +11136,7 @@ bFV hfU xMG xMG -xMG +cIU xMG xMG wPO @@ -10825,10 +11262,10 @@ xLH xLH xLH xLH -xLH -xLH -xLH -xLH +uab +myA +pPz +pPz uab eqO pPz @@ -10967,10 +11404,10 @@ xLH xLH xLH xLH -xLH -xLH -xLH -xLH +uab +myA +pPz +pPz uab lgv pPz @@ -10983,7 +11420,7 @@ bFV hfU xMG xMG -xMG +cIU xMG xMG wPO @@ -11109,15 +11546,15 @@ xLH xLH xLH xLH -xLH -xLH -xLH -xLH uab uab -fsP -pfr -bFM +uab +uab +uab +uab +uab +uab +uab uab uab uab @@ -11266,7 +11703,7 @@ rjJ xMG xMG xMG -xMG +cIU xMG xMG xMG @@ -11412,7 +11849,7 @@ xMG xMG xMG xMG -xMG +rjJ vDA vDA vDA @@ -11531,7 +11968,7 @@ xLH ymc wZd mad -cXM +sbU pCi wZd ymc @@ -11550,11 +11987,11 @@ xMG xMG xMG xMG +cIU xMG xMG xMG xMG -rjJ vDA fCY vDA @@ -11569,7 +12006,7 @@ vDA vDA jSI fhw -cMi +soY nEA jSI vDA @@ -11689,13 +12126,13 @@ akp vXs pvv xMG +eJA +ohk xMG xMG xMG -xMG -xMG -xMG -xMG +eJA +ohk xMG qnI diP @@ -11815,7 +12252,7 @@ xLH oIG whp cXM -cXM +sbU cXM uqG yet @@ -11831,13 +12268,13 @@ fxa tVf pvv xMG +qYD +oAc xMG +cIU xMG -xMG -xMG -xMG -xMG -xMG +qYD +oAc xMG qnI oVB @@ -11853,7 +12290,7 @@ vDA ngN fqR cMi -cMi +soY cMi rAb shp @@ -11973,13 +12410,13 @@ pvv pvv ymc xMG +kEA +bwE xMG xMG xMG -xMG -xMG -xMG -xMG +kEA +bwE xMG vDA qnI @@ -12117,9 +12554,9 @@ wgC xMG xMG xMG -blC -blC -blC +xMG +cIU +xMG xMG xMG xMG @@ -12241,45 +12678,45 @@ xLH oHj dSM cXM -cXM +wkd cXM uzE +udY cXM +udY cXM +udY cXM +udY cXM +udY cXM -cXM -cXM -cXM -cXM -cXM -cXM +udY uzE +sWc xMG +sWc xMG xMG -blC -dLr -blC -xMG xMG +haQ xMG +haQ dWp +jIH cMi +jIH cMi +jIH cMi +jIH cMi +jIH cMi -cMi -cMi -cMi -cMi -cMi -cMi +jIH dWp cMi -cMi +hiN cMi sbo pbF @@ -12401,9 +12838,9 @@ blf xMG xMG xMG -blC -blC -blC +xMG +cIU +xMG xMG xMG xMG @@ -12541,13 +12978,13 @@ pvv pvv ymc xMG +eJA +ohk xMG xMG xMG -xMG -xMG -xMG -xMG +eJA +ohk xMG vDA qnI @@ -12667,7 +13104,7 @@ xLH wXJ whp cXM -cXM +mCM cXM bdI fga @@ -12683,13 +13120,13 @@ vjW iJM pvv xMG +qYD +oAc xMG +cIU xMG -xMG -xMG -xMG -xMG -xMG +qYD +oAc xMG qnI uIp @@ -12705,7 +13142,7 @@ vDA wED hhi cMi -cMi +tXj cMi rAb tRw @@ -12825,13 +13262,13 @@ qba rWF pvv xMG +kEA +bwE xMG xMG xMG -xMG -xMG -xMG -xMG +kEA +bwE xMG qnI ucr @@ -12951,7 +13388,7 @@ xLH ymc vsH fbG -cXM +mCM pYa vsH ymc @@ -12970,7 +13407,7 @@ xMG xMG xMG xMG -xMG +cIU xMG xMG xMG @@ -12989,7 +13426,7 @@ vDA vDA fCY djp -cMi +tXj xVN fCY vDA @@ -13254,7 +13691,7 @@ xMG xMG xMG xMG -xMG +cIU xMG xMG xMG @@ -13262,8 +13699,8 @@ jZT mhi xaR qVN -qVN -qVN +mib +lEw xaR vIe vDA @@ -13538,7 +13975,7 @@ xMG xMG xMG xMG -xMG +cIU xMG xMG xMG @@ -13687,10 +14124,10 @@ xMG xMG vIe xaR -qVN -qVN -qVN -xaR +mBZ +vid +kms +xaR vIe xLH xLH @@ -13822,16 +14259,16 @@ xMG xMG xMG xMG -xMG +cIU xMG xMG xMG xMG vIe xaR -qVN -qVN -qVN +kms +kUV +lEw xaR vIe xLH @@ -13966,7 +14403,7 @@ xMG xMG xMG xMG -xMG +haQ xMG xMG vIe @@ -14106,7 +14543,7 @@ hGF xMG xMG xMG -xMG +cIU xMG xMG xMG @@ -14246,7 +14683,7 @@ lcP jho hGF xMG -xMG +sWc xMG xMG xMG @@ -14255,9 +14692,9 @@ xMG ont mhi xaR -qVN -qVN -qVN +kms +kUV +vid xaR vIe xLH @@ -14390,7 +14827,7 @@ hGF xMG xMG xMG -xMG +cIU xMG xMG xMG @@ -14675,7 +15112,7 @@ xMG xMG xMG xMG -xMG +cIU xMG xMG xMG @@ -14959,7 +15396,7 @@ xMG xMG xMG xMG -xMG +cIU xMG xMG xLH @@ -15099,9 +15536,9 @@ nXQ xLH xLH xLH -xLH -xLH -xLH +xMG +xMG +xMG xLH xLH xLH @@ -15241,9 +15678,9 @@ nXQ xLH xLH xLH -xLH -xLH -xLH +xMG +xMG +cIU xLH xLH xLH @@ -15383,9 +15820,9 @@ xLH xLH xLH xLH -xLH -xLH -xLH +xMG +xMG +xMG xLH xLH xLH @@ -15520,19 +15957,19 @@ xLH xLH xLH xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH +mMT +hPx +jPA +wws +pfA +xMG +xMG +cIU +pfA +nyb +sRZ +brx +gZw xLH xLH xLH @@ -15663,17 +16100,17 @@ xLH xLH xLH xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH +pAB +xMG +lPM +pfA +xMG +xMG +xMG +pfA +pex +xMG +hxU xLH xLH xLH @@ -15805,17 +16242,17 @@ xLH xLH xLH xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH +pAB +xMG +lPM +pfA +xMG +xMG +cIU +pfA +pex +xMG +hxU xLH xLH xLH @@ -15947,17 +16384,17 @@ xLH xLH xLH xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH +pAB +xMG +lPM +pfA +xMG +xMG +xMG +pfA +pex +xMG +hxU xLH xLH xLH @@ -16088,19 +16525,19 @@ xLH xLH xLH xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH +mMT +ghx +xMG +lPM +pfA +xMG +xMG +cIU +pfA +pex +xMG +cIt +gZw xLH xLH xLH @@ -16231,17 +16668,17 @@ xLH xLH xLH xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH +pAB +xMG +lPM +pfA +xMG +xMG +xMG +pfA +pex +xMG +hxU xLH xLH xLH @@ -16373,17 +16810,17 @@ xLH xLH xLH xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH +pAB +xMG +lPM +pfA +xMG +xMG +cIU +pfA +pex +xMG +hxU xLH xLH xLH @@ -16515,17 +16952,17 @@ xLH xLH xLH xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH +pAB +xMG +lPM +pfA +xMG +xMG +xMG +pfA +pex +xMG +hxU xLH xLH xLH @@ -16656,19 +17093,19 @@ xLH xLH xLH xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH +mMT +gch +uCy +uTh +pfA +xMG +xMG +cIU +pfA +dbA +kPg +xIq +gZw xLH xLH xLH @@ -16803,9 +17240,9 @@ xLH xLH xLH xLH -xLH -xLH -xLH +xMG +xMG +xMG xLH xLH xLH @@ -16943,12 +17380,12 @@ xLH xLH xLH xLH -xLH -xLH -xLH -xLH -xLH -xLH +cUN +xMG +xMG +xMG +cIU +kiJ xLH xLH xLH @@ -17085,12 +17522,12 @@ xLH xLH xLH xLH -xLH -xLH -xLH -xLH -xLH -xLH +kqL +poL +kiJ +xMG +xMG +xMG xLH xLH xLH @@ -17227,12 +17664,12 @@ xLH xLH xLH xLH -xLH -xLH -xLH -xLH -xLH -xLH +bRk +kiJ +pVQ +xMG +cIU +xMG xLH xLH xLH @@ -17370,11 +17807,11 @@ xLH xLH xLH xLH -xLH -xLH -xLH -xLH -xLH +xMG +xMG +xMG +xMG +xMG xLH xLH xLH @@ -17511,13 +17948,13 @@ xLH xLH xLH xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH +fAL +xMG +nuz +nuz +nuz +xMG +fAL xLH xLH xLH @@ -17653,13 +18090,13 @@ xLH xLH xLH xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH +fAL +xMG +nuz +njI +nuz +xMG +fAL xLH xLH xLH @@ -17795,13 +18232,13 @@ xLH xLH xLH xLH -xLH -xLH -xLH -xLH -xLH -xLH -xLH +fAL +xMG +nuz +nuz +nuz +xMG +fAL xLH xLH xLH @@ -17938,11 +18375,11 @@ xLH xLH xLH xLH -xLH -xLH -xLH -xLH -xLH +xMG +xMG +xMG +xMG +xMG xLH xLH xLH @@ -18081,9 +18518,9 @@ xLH xLH xLH xLH -xLH -xLH -xLH +fAL +fAL +fAL xLH xLH xLH @@ -18176,7 +18613,7 @@ asC oes mUp wlw -xPN +qJa aue tUV oes @@ -18273,7 +18710,7 @@ vkq kOV dxx fYj -nxb +vYY bZe uBq kOV diff --git a/maps/redgate/stardog.dmm b/maps/redgate/stardog.dmm index 6556d35a21b..711109ba9fc 100644 --- a/maps/redgate/stardog.dmm +++ b/maps/redgate/stardog.dmm @@ -226,7 +226,7 @@ /turf/simulated/floor/lino, /area/redgate/stardog/lounge) "ud" = ( -/obj/item/weapon/pickaxe/hand, +/obj/item/pickaxe/hand, /turf/simulated/floor/flesh, /area/redgate/stardog/flesh_abyss/stomach) "uQ" = ( diff --git a/maps/redgate/teppiranch.dmm b/maps/redgate/teppiranch.dmm index 6d8468b7eb7..fa0eeb4164e 100644 --- a/maps/redgate/teppiranch.dmm +++ b/maps/redgate/teppiranch.dmm @@ -112,14 +112,14 @@ /area/redgate/structure/powered/teppi_ranch) "jE" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/dropper, -/obj/item/weapon/reagent_containers/glass/beaker{ +/obj/item/reagent_containers/dropper, +/obj/item/reagent_containers/glass/beaker{ pixel_x = 5 }, -/obj/item/weapon/reagent_containers/food/condiment/enzyme{ +/obj/item/reagent_containers/food/condiment/enzyme{ layer = 5 }, -/obj/item/weapon/reagent_containers/food/condiment/enzyme{ +/obj/item/reagent_containers/food/condiment/enzyme{ layer = 5 }, /turf/simulated/floor/tiled/eris/cafe, @@ -281,7 +281,7 @@ /area/redgate/wilds) "ux" = ( /obj/structure/table/hardwoodtable, -/obj/item/weapon/reagent_containers/food/snacks/lasagna, +/obj/item/reagent_containers/food/snacks/lasagna, /turf/simulated/floor/wood, /area/redgate/structure/powered/teppi_ranch) "uP" = ( @@ -428,7 +428,7 @@ /area/redgate/structure/powered/teppi_ranch) "Fc" = ( /obj/structure/table/hardwoodtable, -/obj/item/weapon/paper/teppiranch, +/obj/item/paper/teppiranch, /turf/simulated/floor/wood, /area/redgate/structure/powered/teppi_ranch) "Gj" = ( @@ -444,8 +444,8 @@ /area/redgate/structure/powered/teppi_ranch/barn) "GF" = ( /obj/structure/table/standard, -/obj/item/weapon/material/knife/butch, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/knife/butch, +/obj/item/material/kitchen/rollingpin, /turf/simulated/floor/tiled/eris/cafe, /area/redgate/structure/powered/teppi_ranch) "GQ" = ( @@ -471,7 +471,7 @@ /area/redgate/structure/powered/teppi_ranch/barn) "Hf" = ( /obj/structure/table/standard, -/obj/item/weapon/book/manual/cook_guide, +/obj/item/book/manual/cook_guide, /turf/simulated/floor/tiled/eris/cafe, /area/redgate/structure/powered/teppi_ranch) "Ia" = ( @@ -483,7 +483,7 @@ /area/redgate/structure/powered/teppi_ranch) "IV" = ( /obj/structure/table/hardwoodtable, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /turf/simulated/floor/wood, /area/redgate/structure/powered/teppi_ranch) "Jg" = ( @@ -603,11 +603,11 @@ /area/redgate/structure/powered/teppi_ranch/barn) "NL" = ( /obj/structure/closet/chefcloset, -/obj/item/weapon/soap/nanotrasen, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, -/obj/item/weapon/tool/wrench, +/obj/item/soap/nanotrasen, +/obj/item/packageWrap, +/obj/item/packageWrap, +/obj/item/packageWrap, +/obj/item/tool/wrench, /obj/machinery/light, /turf/simulated/floor/tiled/eris/cafe, /area/redgate/structure/powered/teppi_ranch) @@ -711,22 +711,22 @@ /area/redgate/wilds) "Wa" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/spacespice, -/obj/item/weapon/reagent_containers/food/condiment/spacespice, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/spacespice, +/obj/item/reagent_containers/food/condiment/spacespice, +/obj/item/reagent_containers/food/condiment/carton/sugar, +/obj/item/reagent_containers/food/condiment/carton/sugar, +/obj/item/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/small/peppermill, +/obj/item/reagent_containers/food/condiment/small/peppermill, /obj/random/donkpocketbox, /obj/structure/closet/walllocker_double/south{ dir = 2; @@ -746,12 +746,12 @@ /area/redgate/structure/powered/teppi_ranch/barn) "WL" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/snacks/mint, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/snacks/mint, +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 3; pixel_y = 13 }, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -1; pixel_y = 10 }, @@ -771,7 +771,7 @@ /area/redgate/structure/powered/teppi_ranch/barn) "Xg" = ( /obj/structure/flora/tree/bigtree, -/obj/item/weapon/aliencoin/silver, +/obj/item/aliencoin/silver, /turf/simulated/floor/outdoors/grass/seasonal/notrees_nomobs, /area/redgate/wilds) "XA" = ( @@ -797,11 +797,11 @@ /area/redgate/structure/powered/teppi_ranch) "Zr" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/beakers{ +/obj/item/storage/box/beakers{ name = "box of measuring cups"; pixel_x = 2; pixel_y = 3; - starts_with = list(/obj/item/weapon/reagent_containers/glass/beaker/measuring_cup=7) + starts_with = list(/obj/item/reagent_containers/glass/beaker/measuring_cup=7) }, /turf/simulated/floor/tiled/eris/cafe, /area/redgate/structure/powered/teppi_ranch) diff --git a/maps/redgate/train.dmm b/maps/redgate/train.dmm index d68554155e5..e3af7942ed2 100644 --- a/maps/redgate/train.dmm +++ b/maps/redgate/train.dmm @@ -66,7 +66,7 @@ /turf/simulated/shuttle/floor/black, /area/redgate/train/tableseating) "bC" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/shuttle/floor/black, /area/redgate/train/bar) "bT" = ( @@ -150,7 +150,7 @@ /turf/simulated/floor/plating, /area/redgate/train/meeting) "dN" = ( -/obj/item/weapon/material/sword/battleaxe, +/obj/item/material/sword/battleaxe, /turf/simulated/shuttle/floor/voidcraft{ outdoors = 1 }, @@ -276,13 +276,13 @@ /obj/structure/closet/hydrant{ pixel_x = -30 }, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ layer = 2.8; pixel_x = 4; pixel_y = 6 }, -/obj/item/weapon/storage/firstaid/fire, -/obj/item/weapon/storage/firstaid/toxin, +/obj/item/storage/firstaid/fire, +/obj/item/storage/firstaid/toxin, /turf/simulated/shuttle/floor/black, /area/redgate/train/viewing) "fM" = ( @@ -539,7 +539,7 @@ }, /area/redgate/train/meeting) "le" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /turf/simulated/shuttle/floor/skipjack{ @@ -550,9 +550,9 @@ /area/redgate/train/casino) "lo" = ( /obj/structure/table/standard, -/obj/item/weapon/pen, -/obj/item/weapon/pen, -/obj/item/weapon/pen, +/obj/item/pen, +/obj/item/pen, +/obj/item/pen, /turf/simulated/shuttle/floor/black, /area/redgate/train/tableseating) "lC" = ( @@ -660,13 +660,13 @@ /obj/structure/closet/hydrant{ pixel_x = -30 }, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ layer = 2.8; pixel_x = 4; pixel_y = 6 }, -/obj/item/weapon/storage/firstaid/fire, -/obj/item/weapon/storage/firstaid/toxin, +/obj/item/storage/firstaid/fire, +/obj/item/storage/firstaid/toxin, /turf/simulated/shuttle/floor/black, /area/redgate/train/seating) "mW" = ( @@ -708,13 +708,13 @@ /obj/structure/closet/hydrant{ pixel_x = -30 }, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ layer = 2.8; pixel_x = 4; pixel_y = 6 }, -/obj/item/weapon/storage/firstaid/fire, -/obj/item/weapon/storage/firstaid/toxin, +/obj/item/storage/firstaid/fire, +/obj/item/storage/firstaid/toxin, /turf/simulated/shuttle/floor/black, /area/redgate/train/rear) "np" = ( @@ -857,13 +857,13 @@ /area/redgate/train/overboard) "pM" = ( /obj/structure/closet/walllocker_double/misc_civ/north, -/obj/item/weapon/pack/cardemon, -/obj/item/weapon/pack/cardemon, -/obj/item/weapon/pack/cardemon, -/obj/item/weapon/deck/cards, -/obj/item/weapon/deck/wizoff, -/obj/item/weapon/deck/schnapsen, -/obj/item/weapon/deck/egy, +/obj/item/pack/cardemon, +/obj/item/pack/cardemon, +/obj/item/pack/cardemon, +/obj/item/deck/cards, +/obj/item/deck/wizoff, +/obj/item/deck/schnapsen, +/obj/item/deck/egy, /turf/simulated/shuttle/floor/black, /area/redgate/train/arena) "pT" = ( @@ -879,9 +879,9 @@ /area/redgate/train/redgate) "qk" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/drinks/flask/vacuumflask, -/obj/item/weapon/flame/lighter/zippo, -/obj/item/weapon/book/manual/barman_recipes, +/obj/item/reagent_containers/food/drinks/flask/vacuumflask, +/obj/item/flame/lighter/zippo, +/obj/item/book/manual/barman_recipes, /obj/item/clothing/head/that{ pixel_x = 4; pixel_y = 6 @@ -1052,7 +1052,7 @@ /area/redgate/train/storage) "tg" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/glass/rag, +/obj/item/reagent_containers/glass/rag, /turf/simulated/shuttle/floor/skipjack{ name = "floor"; nitrogen = 82.1472; @@ -1163,7 +1163,7 @@ /turf/simulated/shuttle/floor/black, /area/redgate/train/tableseating) "vg" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/shuttle/floor/black, /area/redgate/train/tableseating) "vn" = ( @@ -1339,7 +1339,7 @@ }, /area/redgate/train/overboard) "yq" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/shuttle/floor/skipjack{ name = "floor"; nitrogen = 82.1472; @@ -2078,8 +2078,8 @@ /area/redgate/train/redgate) "Io" = ( /obj/structure/table/standard, -/obj/item/weapon/pen, -/obj/item/weapon/pen, +/obj/item/pen, +/obj/item/pen, /turf/simulated/shuttle/floor/yellow, /area/redgate/train/meeting) "Ip" = ( @@ -2162,7 +2162,7 @@ /turf/simulated/floor/outdoors/newdirt, /area/redgate/train/animals) "Kb" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, /turf/simulated/shuttle/floor/skipjack{ @@ -2326,7 +2326,7 @@ }, /area/redgate/train/meeting) "Lw" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /turf/simulated/shuttle/floor/skipjack{ @@ -2351,7 +2351,7 @@ /area/redgate/train/redgate) "LG" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin, +/obj/item/paper_bin, /turf/simulated/shuttle/floor/black, /area/redgate/train/tableseating) "LI" = ( @@ -2382,13 +2382,13 @@ /obj/structure/closet/hydrant{ pixel_x = -30 }, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ layer = 2.8; pixel_x = 4; pixel_y = 6 }, -/obj/item/weapon/storage/firstaid/fire, -/obj/item/weapon/storage/firstaid/toxin, +/obj/item/storage/firstaid/fire, +/obj/item/storage/firstaid/toxin, /turf/simulated/shuttle/floor/black, /area/redgate/train/bar) "LU" = ( @@ -2502,15 +2502,15 @@ /area/redgate/train/wood) "Or" = ( /obj/structure/closet/walllocker_double/casino/north, -/obj/item/weapon/storage/pill_bottle/dice, -/obj/item/weapon/storage/pill_bottle/dice, -/obj/item/weapon/storage/pill_bottle/dice, -/obj/item/weapon/storage/pill_bottle/dice_nerd, -/obj/item/weapon/storage/pill_bottle/dice_nerd, -/obj/item/weapon/storage/pill_bottle/dice_nerd, -/obj/item/weapon/storage/dicecup, -/obj/item/weapon/storage/dicecup, -/obj/item/weapon/storage/dicecup, +/obj/item/storage/pill_bottle/dice, +/obj/item/storage/pill_bottle/dice, +/obj/item/storage/pill_bottle/dice, +/obj/item/storage/pill_bottle/dice_nerd, +/obj/item/storage/pill_bottle/dice_nerd, +/obj/item/storage/pill_bottle/dice_nerd, +/obj/item/storage/dicecup, +/obj/item/storage/dicecup, +/obj/item/storage/dicecup, /obj/machinery/light{ dir = 8 }, @@ -2518,8 +2518,8 @@ /area/redgate/train/casino) "Os" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin, -/obj/item/weapon/paper_bin, +/obj/item/paper_bin, +/obj/item/paper_bin, /turf/simulated/shuttle/floor/white{ color = "#cccccc" }, @@ -2613,15 +2613,15 @@ /area/redgate/train/bar) "Px" = ( /obj/structure/closet/walllocker_double/casino/south, -/obj/item/weapon/storage/pill_bottle/dice, -/obj/item/weapon/storage/pill_bottle/dice, -/obj/item/weapon/storage/pill_bottle/dice, -/obj/item/weapon/storage/pill_bottle/dice_nerd, -/obj/item/weapon/storage/pill_bottle/dice_nerd, -/obj/item/weapon/storage/pill_bottle/dice_nerd, -/obj/item/weapon/storage/dicecup, -/obj/item/weapon/storage/dicecup, -/obj/item/weapon/storage/dicecup, +/obj/item/storage/pill_bottle/dice, +/obj/item/storage/pill_bottle/dice, +/obj/item/storage/pill_bottle/dice, +/obj/item/storage/pill_bottle/dice_nerd, +/obj/item/storage/pill_bottle/dice_nerd, +/obj/item/storage/pill_bottle/dice_nerd, +/obj/item/storage/dicecup, +/obj/item/storage/dicecup, +/obj/item/storage/dicecup, /obj/machinery/light{ dir = 4 }, @@ -3031,13 +3031,13 @@ /obj/structure/closet/hydrant{ pixel_x = -30 }, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ layer = 2.8; pixel_x = 4; pixel_y = 6 }, -/obj/item/weapon/storage/firstaid/fire, -/obj/item/weapon/storage/firstaid/toxin, +/obj/item/storage/firstaid/fire, +/obj/item/storage/firstaid/toxin, /turf/simulated/shuttle/floor/black, /area/redgate/train/tableseating) "VK" = ( @@ -3067,13 +3067,13 @@ /area/redgate/train/overboard) "VU" = ( /obj/structure/closet/walllocker_double/misc_civ/south, -/obj/item/weapon/pack/cardemon, -/obj/item/weapon/pack/cardemon, -/obj/item/weapon/pack/cardemon, -/obj/item/weapon/deck/cards, -/obj/item/weapon/deck/wizoff, -/obj/item/weapon/deck/schnapsen, -/obj/item/weapon/deck/egy, +/obj/item/pack/cardemon, +/obj/item/pack/cardemon, +/obj/item/pack/cardemon, +/obj/item/deck/cards, +/obj/item/deck/wizoff, +/obj/item/deck/schnapsen, +/obj/item/deck/egy, /turf/simulated/shuttle/floor/black, /area/redgate/train/arena) "Wd" = ( @@ -3095,7 +3095,7 @@ /area/redgate/train/overboard) "Wr" = ( /obj/structure/table/standard, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/shuttle/floor/black, /area/redgate/train/tableseating) "Wy" = ( @@ -3340,13 +3340,13 @@ /area/redgate/train/teppi) "ZP" = ( /obj/structure/closet/walllocker_double/casino/north, -/obj/item/weapon/deck/cards/casino, -/obj/item/weapon/deck/cards/casino, -/obj/item/weapon/deck/cards/casino, -/obj/item/weapon/deck/cards/casino, -/obj/item/weapon/deck/cards/casino, -/obj/item/weapon/deck/cards/casino, -/obj/item/weapon/storage/box/roulette_balls_fancy, +/obj/item/deck/cards/casino, +/obj/item/deck/cards/casino, +/obj/item/deck/cards/casino, +/obj/item/deck/cards/casino, +/obj/item/deck/cards/casino, +/obj/item/deck/cards/casino, +/obj/item/storage/box/roulette_balls_fancy, /obj/machinery/light{ dir = 4 }, @@ -3354,13 +3354,13 @@ /area/redgate/train/casino) "ZY" = ( /obj/structure/closet/walllocker_double/casino/south, -/obj/item/weapon/deck/cards/casino, -/obj/item/weapon/deck/cards/casino, -/obj/item/weapon/deck/cards/casino, -/obj/item/weapon/deck/cards/casino, -/obj/item/weapon/deck/cards/casino, -/obj/item/weapon/deck/cards/casino, -/obj/item/weapon/storage/box/roulette_balls_normal, +/obj/item/deck/cards/casino, +/obj/item/deck/cards/casino, +/obj/item/deck/cards/casino, +/obj/item/deck/cards/casino, +/obj/item/deck/cards/casino, +/obj/item/deck/cards/casino, +/obj/item/storage/box/roulette_balls_normal, /obj/machinery/light{ dir = 8 }, diff --git a/maps/redgate/train_upper.dmm b/maps/redgate/train_upper.dmm index 0124e721c36..56b08472297 100644 --- a/maps/redgate/train_upper.dmm +++ b/maps/redgate/train_upper.dmm @@ -21,7 +21,7 @@ /area/redgate/train/roof) "aQ" = ( /obj/structure/table/fancyblack, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = 7; pixel_y = 16 }, @@ -123,7 +123,7 @@ /area/redgate/train/gym) "cp" = ( /obj/structure/table/fancyblack, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = 7; pixel_y = 16 }, @@ -165,7 +165,7 @@ /area/redgate/train/chef) "cU" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/rddouble, +/obj/item/bedsheet/rddouble, /turf/simulated/floor/carpet/bcarpet, /area/redgate/train/dorm2) "dd" = ( @@ -187,8 +187,8 @@ /area/redgate/train/vault) "dC" = ( /obj/structure/table/darkglass, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/fountain6, +/obj/item/paper_bin, +/obj/item/pen/fountain6, /turf/simulated/shuttle/floor/white{ color = "#cccccc" }, @@ -258,7 +258,7 @@ "eD" = ( /obj/structure/table/steel_reinforced, /obj/structure/window/reinforced, -/obj/item/weapon/storage/box/donut, +/obj/item/storage/box/donut, /turf/simulated/shuttle/floor/skipjack{ name = "floor"; nitrogen = 82.1472; @@ -333,13 +333,13 @@ /obj/structure/closet/hydrant{ pixel_x = -30 }, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ layer = 2.8; pixel_x = 4; pixel_y = 6 }, -/obj/item/weapon/storage/firstaid/fire, -/obj/item/weapon/storage/firstaid/toxin, +/obj/item/storage/firstaid/fire, +/obj/item/storage/firstaid/toxin, /turf/simulated/shuttle/floor/black, /area/redgate/train/dining) "fL" = ( @@ -511,22 +511,22 @@ name = "train captain's locker"; req_access = list(900) }, -/obj/item/weapon/soap/golden_soap, -/obj/item/device/perfect_tele/frontier, -/obj/item/device/gps/command, -/obj/item/device/universal_translator, -/obj/item/device/megaphone/super, -/obj/item/device/binoculars/spyglass, +/obj/item/soap/golden_soap, +/obj/item/perfect_tele/frontier, +/obj/item/gps/command, +/obj/item/universal_translator, +/obj/item/megaphone/super, +/obj/item/binoculars/spyglass, /turf/simulated/shuttle/floor/white{ color = "#cccccc" }, /area/redgate/train/captain) "iS" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = 5 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/shuttle/floor/white, /area/redgate/train/medbay) "iZ" = ( @@ -550,7 +550,7 @@ /area/redgate/train/helipad) "jf" = ( /obj/structure/table/rack/gun_rack/steel, -/obj/item/device/slow_sizegun, +/obj/item/slow_sizegun, /turf/simulated/shuttle/floor/red, /area/redgate/train/gear) "jh" = ( @@ -647,10 +647,10 @@ /area/redgate/train/dorm4) "kV" = ( /obj/structure/closet/chefcloset, -/obj/item/device/retail_scanner/civilian, -/obj/item/weapon/storage/fancy/candle_box, -/obj/item/weapon/flame/candle/candelabra, -/obj/item/weapon/flame/candle/candelabra, +/obj/item/retail_scanner/civilian, +/obj/item/storage/fancy/candle_box, +/obj/item/flame/candle/candelabra, +/obj/item/flame/candle/candelabra, /turf/simulated/floor/wood, /area/redgate/train/chef) "kW" = ( @@ -715,8 +715,8 @@ /obj/random/firstaid, /obj/item/clothing/gloves/sterile/nitrile, /obj/item/clothing/gloves/sterile/nitrile, -/obj/item/weapon/storage/belt/medical, -/obj/item/weapon/storage/belt/medical, +/obj/item/storage/belt/medical, +/obj/item/storage/belt/medical, /obj/effect/floor_decal/corner/green/border{ dir = 4 }, @@ -742,7 +742,7 @@ /area/redgate/train/kitchen) "lB" = ( /obj/structure/table/fancyblack, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = 7; pixel_y = 16 }, @@ -802,14 +802,14 @@ /area/redgate/train/kitchen) "mF" = ( /obj/structure/closet, -/obj/item/device/flashlight/maglight, -/obj/item/device/flashlight/maglight, -/obj/item/device/flashlight/maglight, -/obj/item/device/flashlight/maglight, -/obj/item/device/flashlight/maglight, +/obj/item/flashlight/maglight, +/obj/item/flashlight/maglight, +/obj/item/flashlight/maglight, +/obj/item/flashlight/maglight, +/obj/item/flashlight/maglight, /obj/random/flashlight, -/obj/item/device/text_to_speech, -/obj/item/weapon/storage/box/matches, +/obj/item/text_to_speech, +/obj/item/storage/box/matches, /obj/random/mre, /obj/random/mre, /obj/random/mre, @@ -836,8 +836,8 @@ /area/redgate/train/vault) "mV" = ( /obj/structure/closet, -/obj/item/weapon/melee/telebaton, -/obj/item/weapon/folder/red, +/obj/item/melee/telebaton, +/obj/item/folder/red, /obj/random/maintenance/security, /obj/random/maintenance/security, /obj/machinery/light, @@ -860,7 +860,7 @@ /area/redgate/train/dining) "mY" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/rddouble, +/obj/item/bedsheet/rddouble, /turf/simulated/floor/carpet/bcarpet, /area/redgate/train/dorm1) "nc" = ( @@ -920,7 +920,7 @@ /area/redgate/train/dining) "nG" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/rddouble, +/obj/item/bedsheet/rddouble, /turf/simulated/floor/carpet/bcarpet, /area/redgate/train/dorm3) "nQ" = ( @@ -945,8 +945,8 @@ /area/redgate/train/medbay) "ol" = ( /obj/structure/table/standard, -/obj/item/weapon/material/knife/butch, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/knife/butch, +/obj/item/material/kitchen/rollingpin, /turf/simulated/floor/tiled/kafel_full, /area/redgate/train/kitchen) "or" = ( @@ -1082,7 +1082,7 @@ /area/redgate/train/helipad) "qd" = ( /obj/structure/table/fancyblack, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = 7; pixel_y = 16 }, @@ -1090,7 +1090,7 @@ /area/redgate/train/dorm5) "qe" = ( /obj/structure/table/fancyblack, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = 7; pixel_y = 16 }, @@ -1136,10 +1136,10 @@ /area/redgate/train/dining) "qO" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/handcuffs/legcuffs, -/obj/item/weapon/handcuffs/legcuffs, -/obj/item/weapon/handcuffs, -/obj/item/weapon/handcuffs, +/obj/item/handcuffs/legcuffs, +/obj/item/handcuffs/legcuffs, +/obj/item/handcuffs, +/obj/item/handcuffs, /turf/simulated/shuttle/floor/red, /area/redgate/train/gear) "qX" = ( @@ -1154,8 +1154,8 @@ /obj/item/clothing/shoes/boots/jackboots/silver, /obj/item/clothing/gloves/blue, /obj/item/clothing/glasses/hud/security/jensenshades, -/obj/item/weapon/melee/telebaton, -/obj/item/device/ticket_printer/train, +/obj/item/melee/telebaton, +/obj/item/ticket_printer/train, /obj/item/taperoll/police, /turf/simulated/shuttle/floor/skipjack{ name = "floor"; @@ -1196,7 +1196,7 @@ /area/redgate/train/dining) "rG" = ( /obj/structure/mopbucket, -/obj/item/weapon/mop, +/obj/item/mop, /obj/machinery/light{ dir = 4 }, @@ -1220,7 +1220,7 @@ /area/redgate/train/helipad) "sl" = ( /obj/structure/table/darkglass, -/obj/item/weapon/hand_labeler, +/obj/item/hand_labeler, /turf/simulated/shuttle/floor/white{ color = "#cccccc" }, @@ -1306,13 +1306,13 @@ /obj/structure/closet/hydrant{ pixel_x = -30 }, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ layer = 2.8; pixel_x = 4; pixel_y = 6 }, -/obj/item/weapon/storage/firstaid/fire, -/obj/item/weapon/storage/firstaid/toxin, +/obj/item/storage/firstaid/fire, +/obj/item/storage/firstaid/toxin, /turf/simulated/floor/wood, /area/redgate/train/sleeper2) "tF" = ( @@ -1394,7 +1394,7 @@ /turf/simulated/shuttle/floor/white, /area/redgate/train/medbay) "uN" = ( -/obj/item/weapon/inflatable_duck, +/obj/item/inflatable_duck, /turf/simulated/floor/water/deep/indoors, /area/redgate/train/pool) "uR" = ( @@ -1416,8 +1416,8 @@ /obj/item/clothing/head/shiny_hood, /obj/item/clothing/under/shiny/catsuit, /obj/item/clothing/under/shiny/leotard, -/obj/item/weapon/handcuffs/fuzzy, -/obj/item/weapon/handcuffs/legcuffs/fuzzy, +/obj/item/handcuffs/fuzzy, +/obj/item/handcuffs/legcuffs/fuzzy, /turf/simulated/floor/wood, /area/redgate/train/dorm1) "vd" = ( @@ -1593,7 +1593,7 @@ /area/redgate/train/helipad) "xP" = ( /obj/structure/table/rack/gun_rack/steel, -/obj/item/weapon/bluespace_harpoon, +/obj/item/bluespace_harpoon, /turf/simulated/shuttle/floor/red, /area/redgate/train/gear) "xS" = ( @@ -1697,21 +1697,21 @@ "zY" = ( /obj/structure/table/standard, /obj/structure/closet/walllocker_double/medical/east, -/obj/item/weapon/reagent_containers/glass/beaker{ +/obj/item/reagent_containers/glass/beaker{ pixel_x = 5 }, -/obj/item/weapon/reagent_containers/glass/beaker{ +/obj/item/reagent_containers/glass/beaker{ pixel_x = 5 }, -/obj/item/weapon/reagent_containers/food/condiment/enzyme{ +/obj/item/reagent_containers/food/condiment/enzyme{ layer = 5 }, -/obj/item/weapon/reagent_containers/food/condiment/enzyme{ +/obj/item/reagent_containers/food/condiment/enzyme{ layer = 5 }, -/obj/item/weapon/reagent_containers/dropper, -/obj/item/weapon/tray, -/obj/item/weapon/tray, +/obj/item/reagent_containers/dropper, +/obj/item/tray, +/obj/item/tray, /turf/simulated/floor/tiled/kafel_full, /area/redgate/train/kitchen) "Aa" = ( @@ -1738,21 +1738,21 @@ "AJ" = ( /obj/structure/table/standard, /obj/structure/closet/walllocker_double/kitchen/west, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar, -/obj/item/weapon/reagent_containers/food/condiment/spacespice, -/obj/item/weapon/reagent_containers/food/condiment/spacespice, -/obj/item/weapon/reagent_containers/food/condiment/spacespice, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/sugar, +/obj/item/reagent_containers/food/condiment/carton/sugar, +/obj/item/reagent_containers/food/condiment/carton/sugar, +/obj/item/reagent_containers/food/condiment/spacespice, +/obj/item/reagent_containers/food/condiment/spacespice, +/obj/item/reagent_containers/food/condiment/spacespice, +/obj/item/reagent_containers/food/condiment/small/peppermill, +/obj/item/reagent_containers/food/condiment/small/peppermill, +/obj/item/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/small/saltshaker, /turf/simulated/floor/tiled/kafel_full, /area/redgate/train/kitchen) "AQ" = ( @@ -1849,7 +1849,7 @@ /obj/machinery/vending/wallmed1/public{ pixel_x = -29 }, -/obj/item/weapon/storage/lockbox, +/obj/item/storage/lockbox, /turf/simulated/shuttle/floor/skipjack{ name = "floor"; nitrogen = 82.1472; @@ -1857,7 +1857,7 @@ }, /area/redgate/train/security) "BY" = ( -/obj/item/weapon/bikehorn/rubberducky, +/obj/item/bikehorn/rubberducky, /turf/simulated/floor/water/deep/indoors, /area/redgate/train/pool) "BZ" = ( @@ -1866,7 +1866,7 @@ /area/redgate/train/medbay) "Cg" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/rddouble, +/obj/item/bedsheet/rddouble, /turf/simulated/floor/carpet/bcarpet, /area/redgate/train/dorm4) "Ct" = ( @@ -1888,24 +1888,24 @@ /area/redgate/train/dorm1) "CQ" = ( /obj/structure/closet/walllocker_double/security/north, -/obj/item/device/gps/security{ +/obj/item/gps/security{ pixel_x = -3 }, -/obj/item/device/gps/security{ +/obj/item/gps/security{ pixel_x = -3 }, -/obj/item/device/gps/security{ +/obj/item/gps/security{ pixel_x = -3 }, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = 4; pixel_y = -4 }, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = 4; pixel_y = -4 }, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = 4; pixel_y = -4 }, @@ -1946,9 +1946,9 @@ desc = "A whistle used by the train staff. Suitable for ages 8 and up, do not swallow."; name = "train whistle" }, -/obj/item/weapon/cane, -/obj/item/weapon/cane, -/obj/item/weapon/storage/wallet/random, +/obj/item/cane, +/obj/item/cane, +/obj/item/storage/wallet/random, /turf/simulated/floor/tiled/dark, /area/redgate/train/staff) "Dm" = ( @@ -1972,7 +1972,7 @@ /area/redgate/train/dining) "DF" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/hos, +/obj/item/bedsheet/hos, /obj/structure/curtain/black, /turf/simulated/floor/tiled/dark, /area/redgate/train/staff) @@ -2005,8 +2005,8 @@ desc = "A whistle used by the train staff. Suitable for ages 8 and up, do not swallow."; name = "train whistle" }, -/obj/item/weapon/cane, -/obj/item/weapon/cane, +/obj/item/cane, +/obj/item/cane, /turf/simulated/floor/tiled/dark, /area/redgate/train/staff) "DR" = ( @@ -2020,7 +2020,7 @@ /area/redgate/train/dorm5) "Ec" = ( /obj/structure/table/standard, -/obj/item/weapon/book/manual/cook_guide, +/obj/item/book/manual/cook_guide, /obj/random/snack, /turf/simulated/floor/wood, /area/redgate/train/chef) @@ -2067,7 +2067,7 @@ /area/redgate/train/command) "EE" = ( /obj/structure/table/glass, -/obj/item/device/defib_kit/loaded, +/obj/item/defib_kit/loaded, /obj/effect/floor_decal/milspec_sterile/green, /turf/simulated/shuttle/floor/white, /area/redgate/train/medbay) @@ -2093,13 +2093,13 @@ /obj/structure/closet/hydrant{ pixel_x = -30 }, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ layer = 2.8; pixel_x = 4; pixel_y = 6 }, -/obj/item/weapon/storage/firstaid/fire, -/obj/item/weapon/storage/firstaid/toxin, +/obj/item/storage/firstaid/fire, +/obj/item/storage/firstaid/toxin, /turf/simulated/floor/wood, /area/redgate/train/sleeper1) "Fv" = ( @@ -2134,22 +2134,22 @@ /area/redgate/train/kitchen) "FV" = ( /obj/structure/closet, -/obj/item/device/ticket_printer/train, -/obj/item/device/ticket_printer/train, -/obj/item/device/ticket_printer/train, -/obj/item/device/ticket_printer/train, -/obj/item/device/ticket_printer/train, -/obj/item/device/ticket_printer/train, +/obj/item/ticket_printer/train, +/obj/item/ticket_printer/train, +/obj/item/ticket_printer/train, +/obj/item/ticket_printer/train, +/obj/item/ticket_printer/train, +/obj/item/ticket_printer/train, /obj/item/clothing/accessory/holster/hip/black, /obj/item/clothing/accessory/holster/hip/black, /obj/item/clothing/accessory/holster/hip/black, /obj/item/clothing/accessory/holster/hip/black, /obj/item/clothing/accessory/holster/hip/black, /obj/item/clothing/accessory/holster/hip/black, -/obj/item/device/laser_pointer/red, -/obj/item/device/laser_pointer/purple, -/obj/item/device/laser_pointer/green, -/obj/item/device/laser_pointer/blue, +/obj/item/laser_pointer/red, +/obj/item/laser_pointer/purple, +/obj/item/laser_pointer/green, +/obj/item/laser_pointer/blue, /turf/simulated/floor/tiled/dark, /area/redgate/train/staff) "Gj" = ( @@ -2331,9 +2331,9 @@ /area/redgate/train/dorm5) "IV" = ( /obj/structure/closet/chefcloset, -/obj/item/device/retail_scanner/civilian, -/obj/item/weapon/storage/fancy/blackcandle_box, -/obj/item/weapon/storage/fancy/whitecandle_box, +/obj/item/retail_scanner/civilian, +/obj/item/storage/fancy/blackcandle_box, +/obj/item/storage/fancy/whitecandle_box, /turf/simulated/floor/wood, /area/redgate/train/chef) "Jk" = ( @@ -2360,11 +2360,11 @@ /area/redgate/train/security) "JJ" = ( /obj/structure/closet/walllocker_double/medical/west, -/obj/item/weapon/storage/firstaid/adv, -/obj/item/weapon/storage/firstaid/fire, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/o2, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/adv, +/obj/item/storage/firstaid/fire, +/obj/item/storage/firstaid/toxin, +/obj/item/storage/firstaid/o2, +/obj/item/storage/firstaid/regular, /obj/random/firstaid, /obj/effect/floor_decal/corner/green/border{ dir = 8 @@ -2620,8 +2620,8 @@ desc = "A whistle used by the train staff. Suitable for ages 8 and up, do not swallow."; name = "train whistle" }, -/obj/item/weapon/cane, -/obj/item/weapon/cane, +/obj/item/cane, +/obj/item/cane, /obj/random/snack, /turf/simulated/floor/tiled/dark, /area/redgate/train/staff) @@ -2746,7 +2746,7 @@ /area/redgate/train/vault) "Pp" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/box/donut, +/obj/item/storage/box/donut, /turf/simulated/shuttle/floor/skipjack{ name = "floor"; nitrogen = 82.1472; @@ -2767,7 +2767,7 @@ /area/redgate/train/dorm5) "Ps" = ( /obj/structure/table/rack/gun_rack/steel, -/obj/item/weapon/gun/energy/netgun, +/obj/item/gun/energy/netgun, /turf/simulated/shuttle/floor/red, /area/redgate/train/gear) "Pv" = ( @@ -2843,7 +2843,7 @@ /obj/structure/table/rack/shelf{ color = "#FFD700" }, -/obj/item/weapon/gun/energy/mouseray/metamorphosis/advanced/random, +/obj/item/gun/energy/mouseray/metamorphosis/advanced/random, /obj/random/maintenance/research, /turf/simulated/shuttle/floor/yellow, /area/redgate/train/vault) @@ -2871,14 +2871,14 @@ /obj/structure/table/rack{ color = "#FFD700" }, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, /obj/machinery/light{ dir = 4 }, @@ -2898,7 +2898,7 @@ dir = 8; pixel_x = -13 }, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /turf/simulated/floor/tiled/dark, /area/redgate/train/staff) "Rr" = ( @@ -2919,7 +2919,7 @@ /area/redgate/train/dining) "RG" = ( /obj/structure/table/fancyblack, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = 7; pixel_y = 16 }, @@ -2941,7 +2941,7 @@ /area/redgate/train/kitchen) "RT" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/flashlight/lantern, +/obj/item/flashlight/lantern, /turf/simulated/floor/tiled/dark, /area/redgate/train/staff) "RY" = ( @@ -2990,8 +2990,8 @@ /area/redgate/train/kitchen) "Sx" = ( /obj/structure/table/darkglass, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/fountain6, +/obj/item/paper_bin, +/obj/item/pen/fountain6, /turf/simulated/shuttle/floor/white{ color = "#cccccc" }, @@ -3041,7 +3041,7 @@ /area/redgate/train/dining) "Tr" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/rddouble, +/obj/item/bedsheet/rddouble, /turf/simulated/floor/carpet/bcarpet, /area/redgate/train/dorm6) "Ts" = ( @@ -3072,7 +3072,7 @@ /area/redgate/train/gym) "Ty" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/gift, +/obj/item/gift, /turf/simulated/floor/tiled/dark, /area/redgate/train/staff) "TG" = ( @@ -3121,8 +3121,8 @@ /obj/structure/closet/cabinet, /obj/item/clothing/under/suit_jacket, /obj/item/clothing/shoes/dress, -/obj/item/clothing/gloves/ring/wedding, -/obj/item/clothing/gloves/ring/wedding, +/obj/item/clothing/accessory/ring/wedding, +/obj/item/clothing/accessory/ring/wedding, /obj/item/clothing/accessory/bowtie/black, /turf/simulated/floor/wood, /area/redgate/train/dorm6) @@ -3147,7 +3147,7 @@ /obj/structure/closet/walllocker_double/security/north{ name = "evidence cabinet" }, -/obj/item/weapon/flame/lighter/random, +/obj/item/flame/lighter/random, /obj/random/contraband/nofail, /obj/random/contraband/nofail, /obj/random/mainttoyloot/nofail, @@ -3255,7 +3255,7 @@ /area/redgate/train/security) "VU" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/captaindouble, +/obj/item/bedsheet/captaindouble, /turf/simulated/shuttle/floor/white{ color = "#cccccc" }, @@ -3275,9 +3275,9 @@ /area/redgate/train/dining) "Wk" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/melee/baton/shocker, -/obj/item/weapon/melee/baton/shocker, -/obj/item/weapon/melee/baton/shocker, +/obj/item/melee/baton/shocker, +/obj/item/melee/baton/shocker, +/obj/item/melee/baton/shocker, /turf/simulated/shuttle/floor/red, /area/redgate/train/gear) "Wn" = ( @@ -3322,10 +3322,10 @@ /area/redgate/train/kitchen) "Xk" = ( /obj/structure/closet/walllocker_double/medical/east, -/obj/item/device/retail_scanner/medical, -/obj/item/weapon/gun/energy/mouseray/medical, -/obj/item/device/denecrotizer/medical, -/obj/item/device/glasses_kit, +/obj/item/retail_scanner/medical, +/obj/item/gun/energy/mouseray/medical, +/obj/item/denecrotizer/medical, +/obj/item/glasses_kit, /obj/random/maintenance/medical, /obj/effect/floor_decal/corner/green/border{ dir = 4 @@ -3349,7 +3349,7 @@ color = "#FFD700" }, /obj/item/ammo_magazine/ammo_box/b44/rubber, -/obj/item/weapon/gun/projectile/deagle/gold, +/obj/item/gun/projectile/deagle/gold, /turf/simulated/shuttle/floor/yellow, /area/redgate/train/vault) "XP" = ( @@ -3369,7 +3369,7 @@ /area/redgate/train/kitchen) "XW" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/rddouble, +/obj/item/bedsheet/rddouble, /turf/simulated/floor/carpet/bcarpet, /area/redgate/train/dorm5) "XX" = ( @@ -3444,7 +3444,7 @@ /obj/structure/table/rack{ color = "#FFD700" }, -/obj/item/weapon/reagent_containers/food/drinks/golden_cup, +/obj/item/reagent_containers/food/drinks/golden_cup, /turf/simulated/shuttle/floor/yellow, /area/redgate/train/vault) "Zl" = ( diff --git a/maps/southern_cross/datums/supplypacks/munitions.dm b/maps/southern_cross/datums/supplypacks/munitions.dm index 0ce445ac8cf..4cce792053e 100644 --- a/maps/southern_cross/datums/supplypacks/munitions.dm +++ b/maps/southern_cross/datums/supplypacks/munitions.dm @@ -6,7 +6,7 @@ /datum/supply_pack/munitions/bolt_rifles_explorer name = "Weapons - Surplus Hunting Rifles" contains = list( - /obj/item/weapon/gun/projectile/shotgun/pump/rifle = 2, + /obj/item/gun/projectile/shotgun/pump/rifle = 2, /obj/item/ammo_magazine/clip/c762/hunter = 6 ) cost = 50 @@ -17,7 +17,7 @@ /datum/supply_pack/munitions/phase_carbines_explorer name = "Weapons - Surplus Phase Carbines" contains = list( - /obj/item/weapon/gun/energy/phasegun = 2, + /obj/item/gun/energy/phasegun = 2, ) cost = 25 containertype = /obj/structure/closet/crate/secure/ward @@ -27,7 +27,7 @@ /datum/supply_pack/munitions/phase_rifles_explorer name = "Weapons - Phase Rifles" contains = list( - /obj/item/weapon/gun/energy/phasegun/rifle = 2, + /obj/item/gun/energy/phasegun/rifle = 2, ) cost = 50 containertype = /obj/structure/closet/crate/secure/ward diff --git a/maps/southern_cross/items/encryptionkey_sc.dm b/maps/southern_cross/items/encryptionkey_sc.dm index 3e02f2fc089..7346efef359 100644 --- a/maps/southern_cross/items/encryptionkey_sc.dm +++ b/maps/southern_cross/items/encryptionkey_sc.dm @@ -1,30 +1,30 @@ -/obj/item/device/encryptionkey/pilot +/obj/item/encryptionkey/pilot name = "pilot's encryption key" icon_state = "com_cypherkey" - channels = list("Supply" = 1, "Explorer" = 1) + channels = list(CHANNEL_SUPPLY = 1, CHANNEL_EXPLORATION = 1) -/obj/item/device/encryptionkey/explorer +/obj/item/encryptionkey/explorer name = "explorer radio encryption key" icon_state = "com_cypherkey" - channels = list("Explorer" = 1, "Science" = 1) + channels = list(CHANNEL_EXPLORATION = 1, CHANNEL_SCIENCE = 1) -/obj/item/device/encryptionkey/sar +/obj/item/encryptionkey/sar name = "sar's encryption key" icon_state = "med_cypherkey" - channels = list("Medical" = 1, "Explorer" = 1) + channels = list(CHANNEL_MEDICAL = 1, CHANNEL_EXPLORATION = 1) -/obj/item/device/encryptionkey/heads/hop +/obj/item/encryptionkey/heads/hop name = "head of personnel's encryption key" icon_state = "hop_cypherkey" - channels = list("Supply" = 1, "Service" = 1, "Command" = 1, "Security" = 1, "Explorer" = 1) + channels = list(CHANNEL_SUPPLY = 1, CHANNEL_SERVICE = 1, CHANNEL_COMMAND = 1, CHANNEL_SECURITY = 1, CHANNEL_EXPLORATION = 1) -/obj/item/device/encryptionkey/heads/ai_integrated +/obj/item/encryptionkey/heads/ai_integrated name = "ai integrated encryption key" desc = "Integrated encryption key" icon_state = "cap_cypherkey" - channels = list("Command" = 1, "Security" = 1, "Engineering" = 1, "Science" = 1, "Medical" = 1, "Supply" = 1, "Service" = 1, "AI Private" = 1, "Explorer" = 1) + channels = list(CHANNEL_COMMAND = 1, CHANNEL_SECURITY = 1, CHANNEL_ENGINEERING = 1, CHANNEL_SCIENCE = 1, CHANNEL_MEDICAL = 1, CHANNEL_SUPPLY = 1, CHANNEL_SERVICE = 1, CHANNEL_AI_PRIVATE = 1, CHANNEL_EXPLORATION = 1) -/obj/item/device/encryptionkey/heads/captain +/obj/item/encryptionkey/heads/captain name = "site manager's encryption key" icon_state = "cap_cypherkey" - channels = list("Command" = 1, "Security" = 1, "Engineering" = 1, "Science" = 1, "Medical" = 1, "Supply" = 1, "Service" = 1, "Explorer" = 1) \ No newline at end of file + channels = list(CHANNEL_COMMAND = 1, CHANNEL_SECURITY = 1, CHANNEL_ENGINEERING = 1, CHANNEL_SCIENCE = 1, CHANNEL_MEDICAL = 1, CHANNEL_SUPPLY = 1, CHANNEL_SERVICE = 1, CHANNEL_EXPLORATION = 1) diff --git a/maps/southern_cross/items/headset_sc.dm b/maps/southern_cross/items/headset_sc.dm index eca7eeb27d3..9a39694ec77 100644 --- a/maps/southern_cross/items/headset_sc.dm +++ b/maps/southern_cross/items/headset_sc.dm @@ -1,35 +1,41 @@ -/obj/item/device/radio/headset/pilot +/obj/item/radio/headset/pilot name = "pilot's headset" desc = "A headset used by pilots, has access to supply and explorer channels." icon_state = "pilot_headset" adhoc_fallback = TRUE - ks2type = /obj/item/device/encryptionkey/pilot + ks2type = /obj/item/encryptionkey/pilot -/obj/item/device/radio/headset/pilot/alt +/obj/item/radio/headset/pilot/alt name = "pilot's bowman headset" desc = "A bowman headset used by pilots, has access to supply and explorer channels." icon_state = "pilot_headset_alt" + adhoc_fallback = TRUE + ks2type = /obj/item/encryptionkey/pilot -/obj/item/device/radio/headset/explorer +/obj/item/radio/headset/explorer name = "explorer's headset" desc = "Headset used by explorers for exploring. Access to the explorer channel." icon_state = "exp_headset" adhoc_fallback = TRUE - ks2type = /obj/item/device/encryptionkey/explorer + ks2type = /obj/item/encryptionkey/explorer -/obj/item/device/radio/headset/explorer/alt +/obj/item/radio/headset/explorer/alt name = "explorer's bowman headset" desc = "Bowman headset used by explorers for exploring. Access to the explorer channel." icon_state = "exp_headset_alt" + adhoc_fallback = TRUE + ks2type = /obj/item/encryptionkey/explorer -/obj/item/device/radio/headset/sar +/obj/item/radio/headset/sar name = "sar radio headset" desc = "A headset for search and rescue." icon_state = "sar_headset" adhoc_fallback = TRUE - ks2type = /obj/item/device/encryptionkey/sar + ks2type = /obj/item/encryptionkey/sar -/obj/item/device/radio/headset/sar/alt +/obj/item/radio/headset/sar/alt name = "sar radio bowman headset" desc = "A bowman headset for search and rescue." icon_state = "sar_headset_alt" + adhoc_fallback = TRUE + ks2type = /obj/item/encryptionkey/sar diff --git a/maps/southern_cross/job/outfits.dm b/maps/southern_cross/job/outfits.dm index 9fa06c2fa99..e9903f57d9f 100644 --- a/maps/southern_cross/job/outfits.dm +++ b/maps/southern_cross/job/outfits.dm @@ -10,58 +10,67 @@ Keep outfits simple. Spawn with basic uniforms and minimal gear. Gear instead go name = OUTFIT_JOB_NAME("Explorer") shoes = /obj/item/clothing/shoes/boots/winter/explorer uniform = /obj/item/clothing/under/explorer - l_ear = /obj/item/device/radio/headset/explorer id_slot = slot_wear_id pda_slot = slot_l_store - pda_type = /obj/item/device/pda/explorer //VORESTation Edit - Better Brown - id_type = /obj/item/weapon/card/id/science/explorer + pda_type = /obj/item/pda/explorer //VORESTation Edit - Better Brown + id_type = /obj/item/card/id/science/explorer id_pda_assignment = "Explorer" flags = OUTFIT_HAS_BACKPACK|OUTFIT_COMPREHENSIVE_SURVIVAL backpack_contents = list(/obj/item/clothing/accessory/permit/gun/planetside = 1) + headset = /obj/item/radio/headset/explorer + headset_alt = /obj/item/radio/headset/alt/explorer + headset_earbud = /obj/item/radio/headset/explorer + /decl/hierarchy/outfit/job/explorer2/post_equip(mob/living/carbon/human/H) ..() for(var/obj/item/clothing/accessory/permit/gun/planetside/permit in H.back.contents) permit.set_name(H.real_name) /decl/hierarchy/outfit/job/explorer2/technician - name = OUTFIT_JOB_NAME("Explorer Technician") - belt = /obj/item/weapon/storage/belt/utility/full + name = OUTFIT_JOB_NAME(JOB_ALT_EXPLORERE_TECHNICIAN) + belt = /obj/item/storage/belt/utility/full pda_slot = slot_l_store - id_pda_assignment = "Explorer Technician" + id_pda_assignment = JOB_ALT_EXPLORERE_TECHNICIAN /decl/hierarchy/outfit/job/explorer2/medic - name = OUTFIT_JOB_NAME("Explorer Medic") - l_hand = /obj/item/weapon/storage/firstaid/regular + name = OUTFIT_JOB_NAME(JOB_ALT_EXPLORER_MEDIC) + l_hand = /obj/item/storage/firstaid/regular pda_slot = slot_l_store - id_pda_assignment = "Explorer Medic" + id_pda_assignment = JOB_ALT_EXPLORER_MEDIC /decl/hierarchy/outfit/job/pilot - name = OUTFIT_JOB_NAME("Pilot") + name = OUTFIT_JOB_NAME(JOB_PILOT) shoes = /obj/item/clothing/shoes/black uniform = /obj/item/clothing/under/rank/pilot1/no_webbing suit = /obj/item/clothing/suit/storage/toggle/bomber/pilot gloves = /obj/item/clothing/gloves/fingerless glasses = /obj/item/clothing/glasses/fakesunglasses/aviator - l_ear = /obj/item/device/radio/headset/pilot/alt uniform_accessories = list(/obj/item/clothing/accessory/storage/webbing/pilot1 = 1) id_slot = slot_wear_id pda_slot = slot_belt - pda_type = /obj/item/device/pda //VOREStation Edit - Civilian - id_type = /obj/item/weapon/card/id/civilian/pilot - id_pda_assignment = "Pilot" + pda_type = /obj/item/pda //VOREStation Edit - Civilian + id_type = /obj/item/card/id/civilian/pilot + id_pda_assignment = JOB_PILOT flags = OUTFIT_HAS_BACKPACK|OUTFIT_COMPREHENSIVE_SURVIVAL + headset = /obj/item/radio/headset/pilot + headset_alt = /obj/item/radio/headset/alt/pilot + headset_earbud = /obj/item/radio/headset/pilot + /decl/hierarchy/outfit/job/medical/sar name = OUTFIT_JOB_NAME("Field Medic") //VOREStation Edit uniform = /obj/item/clothing/under/utility/blue //suit = /obj/item/clothing/suit/storage/hooded/wintercoat/medical/sar //VOREStation Edit shoes = /obj/item/clothing/shoes/boots/winter/explorer - l_ear = /obj/item/device/radio/headset/sar - l_hand = /obj/item/weapon/storage/firstaid/regular - belt = /obj/item/weapon/storage/belt/medical/emt + l_hand = /obj/item/storage/firstaid/regular + belt = /obj/item/storage/belt/medical/emt pda_slot = slot_l_store - id_type = /obj/item/weapon/card/id/medical/sar - pda_type = /obj/item/device/pda/sar //VOREStation Add + id_type = /obj/item/card/id/medical/sar + pda_type = /obj/item/pda/sar //VOREStation Add id_pda_assignment = "Field Medic" //VOREStation Edit flags = OUTFIT_HAS_BACKPACK|OUTFIT_EXTENDED_SURVIVAL|OUTFIT_COMPREHENSIVE_SURVIVAL + + headset = /obj/item/radio/headset/sar + headset_alt = /obj/item/radio/headset/alt/sar + headset_earbud = /obj/item/radio/headset/sar diff --git a/maps/southern_cross/loadout/loadout_accessories.dm b/maps/southern_cross/loadout/loadout_accessories.dm index 3febe42b2e6..9011a5c8493 100644 --- a/maps/southern_cross/loadout/loadout_accessories.dm +++ b/maps/southern_cross/loadout/loadout_accessories.dm @@ -1,34 +1,34 @@ /datum/gear/accessory/brown_vest display_name = "webbing, brown" path = /obj/item/clothing/accessory/storage/brown_vest - allowed_roles = list("Engineer","Atmospheric Technician","Chief Engineer","Security Officer","Detective","Head of Security","Warden","Paramedic","Chief Medical Officer","Medical Doctor","Search and Rescue","Explorer","Shaft Miner") + allowed_roles = list(JOB_ENGINEER,JOB_ATMOSPHERIC_TECHNICIAN,JOB_CHIEF_ENGINEER,JOB_SECURITY_OFFICER,JOB_DETECTIVE,JOB_HEAD_OF_SECURITY,JOB_WARDEN,JOB_ALT_SEARCH_AND_RESCUE,JOB_CHIEF_MEDICAL_OFFICER,JOB_MEDICAL_DOCTOR,JOB_PARAMEDIC,JOB_EXPLORER,JOB_SHAFT_MINER) /datum/gear/accessory/black_vest display_name = "webbing, black" path = /obj/item/clothing/accessory/storage/black_vest - allowed_roles = list("Engineer","Atmospheric Technician","Chief Engineer","Security Officer","Detective","Head of Security","Warden","Paramedic","Chief Medical Officer","Medical Doctor","Search and Rescue","Explorer","Shaft Miner") + allowed_roles = list(JOB_ENGINEER,JOB_ATMOSPHERIC_TECHNICIAN,JOB_CHIEF_ENGINEER,JOB_SECURITY_OFFICER,JOB_DETECTIVE,JOB_HEAD_OF_SECURITY,JOB_WARDEN,JOB_ALT_SEARCH_AND_RESCUE,JOB_CHIEF_MEDICAL_OFFICER,JOB_MEDICAL_DOCTOR,JOB_PARAMEDIC,JOB_EXPLORER,JOB_SHAFT_MINER) /datum/gear/accessory/white_vest display_name = "webbing, white" path = /obj/item/clothing/accessory/storage/white_vest - allowed_roles = list("Engineer","Atmospheric Technician","Chief Engineer","Security Officer","Detective","Head of Security","Warden","Paramedic","Chief Medical Officer","Medical Doctor","Search and Rescue","Explorer","Shaft Miner") + allowed_roles = list(JOB_ENGINEER,JOB_ATMOSPHERIC_TECHNICIAN,JOB_CHIEF_ENGINEER,JOB_SECURITY_OFFICER,JOB_DETECTIVE,JOB_HEAD_OF_SECURITY,JOB_WARDEN,JOB_ALT_SEARCH_AND_RESCUE,JOB_CHIEF_MEDICAL_OFFICER,JOB_MEDICAL_DOCTOR,JOB_PARAMEDIC,JOB_EXPLORER,JOB_SHAFT_MINER) /datum/gear/accessory/brown_drop_pouches display_name = "drop pouches, brown" path = /obj/item/clothing/accessory/storage/brown_drop_pouches - allowed_roles = list("Engineer","Atmospheric Technician","Chief Engineer","Security Officer","Detective","Head of Security","Warden","Paramedic","Chief Medical Officer","Medical Doctor","Search and Rescue","Explorer","Shaft Miner") + allowed_roles = list(JOB_ENGINEER,JOB_ATMOSPHERIC_TECHNICIAN,JOB_CHIEF_ENGINEER,JOB_SECURITY_OFFICER,JOB_DETECTIVE,JOB_HEAD_OF_SECURITY,JOB_WARDEN,JOB_ALT_SEARCH_AND_RESCUE,JOB_CHIEF_MEDICAL_OFFICER,JOB_MEDICAL_DOCTOR,JOB_PARAMEDIC,JOB_EXPLORER,JOB_SHAFT_MINER) /datum/gear/accessory/black_drop_pouches display_name = "drop pouches, black" path = /obj/item/clothing/accessory/storage/black_drop_pouches - allowed_roles = list("Engineer","Atmospheric Technician","Chief Engineer","Security Officer","Detective","Head of Security","Warden","Paramedic","Chief Medical Officer","Medical Doctor","Search and Rescue","Explorer","Shaft Miner") + allowed_roles = list(JOB_ENGINEER,JOB_ATMOSPHERIC_TECHNICIAN,JOB_CHIEF_ENGINEER,JOB_SECURITY_OFFICER,JOB_DETECTIVE,JOB_HEAD_OF_SECURITY,JOB_WARDEN,JOB_ALT_SEARCH_AND_RESCUE,JOB_CHIEF_MEDICAL_OFFICER,JOB_MEDICAL_DOCTOR,JOB_PARAMEDIC,JOB_EXPLORER,JOB_SHAFT_MINER) /datum/gear/accessory/white_drop_pouches display_name = "drop pouches, white" path = /obj/item/clothing/accessory/storage/white_drop_pouches - allowed_roles = list("Engineer","Atmospheric Technician","Chief Engineer","Security Officer","Detective","Head of Security","Warden","Paramedic","Chief Medical Officer","Medical Doctor","Search and Rescue","Explorer","Shaft Miner") + allowed_roles = list(JOB_ENGINEER,JOB_ATMOSPHERIC_TECHNICIAN,JOB_CHIEF_ENGINEER,JOB_SECURITY_OFFICER,JOB_DETECTIVE,JOB_HEAD_OF_SECURITY,JOB_WARDEN,JOB_ALT_SEARCH_AND_RESCUE,JOB_CHIEF_MEDICAL_OFFICER,JOB_MEDICAL_DOCTOR,JOB_PARAMEDIC,JOB_EXPLORER,JOB_SHAFT_MINER) /datum/gear/accessory/holster display_name = "holster selection (Security, CD, HoP)" path = /obj/item/clothing/accessory/holster - allowed_roles = list("Site Manager","Head of Personnel","Security Officer","Warden","Head of Security","Detective","Explorer") \ No newline at end of file + allowed_roles = list(JOB_SITE_MANAGER,JOB_HEAD_OF_PERSONNEL,JOB_SECURITY_OFFICER,JOB_WARDEN,JOB_HEAD_OF_SECURITY,JOB_DETECTIVE,JOB_PATHFINDER,JOB_EXPLORER) diff --git a/maps/southern_cross/loadout/loadout_head.dm b/maps/southern_cross/loadout/loadout_head.dm index bf35942c106..137f9ef8b42 100644 --- a/maps/southern_cross/loadout/loadout_head.dm +++ b/maps/southern_cross/loadout/loadout_head.dm @@ -1,4 +1,4 @@ /datum/gear/head/pilot display_name = "helmet, pilot (Pilot)" path = /obj/item/clothing/head/ompilot/alt //VOREStation Edit - allowed_roles = list("Pilot") \ No newline at end of file + allowed_roles = list(JOB_PILOT) diff --git a/maps/southern_cross/southern_cross-1.dmm b/maps/southern_cross/southern_cross-1.dmm index af26139e652..39266a83d6d 100644 --- a/maps/southern_cross/southern_cross-1.dmm +++ b/maps/southern_cross/southern_cross-1.dmm @@ -107,7 +107,7 @@ /area/hallway/primary/firstdeck/auxdockfore) "aav" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /obj/machinery/ai_status_display{ pixel_y = 32 }, @@ -276,7 +276,7 @@ "aaP" = ( /obj/structure/table/standard, /obj/machinery/recharger, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /obj/machinery/light{ dir = 8 }, @@ -284,7 +284,7 @@ /area/crew_quarters/firstdeck/gym) "aaQ" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/cups, +/obj/item/storage/box/cups, /turf/simulated/floor/holofloor/wood, /area/crew_quarters/firstdeck/gym) "aaR" = ( @@ -437,7 +437,7 @@ /obj/effect/floor_decal/borderfloor{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -557,7 +557,7 @@ /area/hallway/primary/firstdeck/auxdockfore) "abq" = ( /obj/structure/closet/emcloset, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -579,7 +579,7 @@ name = "Emergency NanoMed"; pixel_x = -28 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -605,7 +605,7 @@ name = "Emergency NanoMed"; pixel_x = -28 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -796,9 +796,9 @@ /area/storage/emergency_storage/firstdeck/fore_emergency) "abV" = ( /obj/structure/table/standard, -/obj/item/device/t_scanner, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/t_scanner, +/obj/item/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /turf/simulated/floor/plating, /area/storage/emergency_storage/firstdeck/fore_emergency) "abW" = ( @@ -997,7 +997,7 @@ /turf/simulated/floor/tiled, /area/crew_quarters/firstdeck/gym) "act" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/power/apc{ name = "south bump"; pixel_y = -24 @@ -1780,7 +1780,7 @@ d2 = 8; icon_state = "4-8" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -2350,7 +2350,7 @@ /area/construction/firstdeck/construction5) "aeO" = ( /obj/structure/reagent_dispensers/fueltank, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -2563,7 +2563,7 @@ /obj/structure/sink{ pixel_y = 16 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -2808,7 +2808,7 @@ d2 = 2; icon_state = "1-2" }, -/obj/item/weapon/toy/xmas_cracker, +/obj/item/toy/xmas_cracker, /obj/random/maintenance/cargo, /obj/random/maintenance/cargo, /obj/random/maintenance/engineering, @@ -2822,14 +2822,14 @@ dir = 4; pixel_x = -22 }, -/obj/item/device/paicard, +/obj/item/paicard, /turf/simulated/floor/plating, /area/construction/firstdeck/construction5) "afU" = ( /obj/effect/decal/cleanable/blood/oil/streak{ amount = 0 }, -/obj/item/weapon/tool/wirecutters, +/obj/item/tool/wirecutters, /turf/simulated/floor/tiled, /area/construction/firstdeck/construction5) "afV" = ( @@ -2873,7 +2873,7 @@ /turf/simulated/floor/tiled/freezer, /area/crew_quarters/toilet/firstdeck) "afZ" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -2913,11 +2913,11 @@ /obj/item/clothing/under/color/yellow, /obj/item/key, /obj/item/toy/katana, -/obj/item/weapon/melee/chainofcommand, -/obj/item/weapon/disk/nuclear{ +/obj/item/melee/chainofcommand, +/obj/item/disk/nuclear{ name = "authentication disk" }, -/obj/item/weapon/moneybag/vault, +/obj/item/moneybag/vault, /turf/simulated/floor/tiled/dark, /area/security/nuke_storage) "agd" = ( @@ -2952,11 +2952,11 @@ /turf/simulated/floor/plating, /area/maintenance/firstdeck/forestarboard) "agi" = ( -/obj/item/weapon/storage/backpack, -/obj/item/device/multitool, -/obj/item/device/multitool, -/obj/item/device/assembly/prox_sensor, -/obj/item/device/flashlight, +/obj/item/storage/backpack, +/obj/item/multitool, +/obj/item/multitool, +/obj/item/assembly/prox_sensor, +/obj/item/flashlight, /obj/random/maintenance/engineering, /obj/random/maintenance/engineering, /obj/random/maintenance/cargo, @@ -2966,8 +2966,8 @@ /area/maintenance/firstdeck/forestarboard) "agj" = ( /obj/item/clothing/mask/gas, -/obj/item/device/flashlight, -/obj/item/device/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, /obj/effect/decal/cleanable/dirt, /obj/random/maintenance/clean, /obj/random/maintenance/engineering, @@ -2978,7 +2978,7 @@ /area/maintenance/firstdeck/forestarboard) "agk" = ( /obj/structure/table/rack, -/obj/item/weapon/flame/lighter/random, +/obj/item/flame/lighter/random, /obj/random/maintenance/clean, /obj/random/cigarettes, /obj/random/maintenance/clean, @@ -3143,7 +3143,7 @@ /turf/simulated/floor/plating, /area/construction/firstdeck/construction5) "agD" = ( -/obj/item/weapon/tool/crowbar, +/obj/item/tool/crowbar, /turf/simulated/floor/tiled, /area/construction/firstdeck/construction5) "agE" = ( @@ -3174,8 +3174,8 @@ /area/crew_quarters/toilet/firstdeck) "agH" = ( /obj/structure/table/standard, -/obj/item/weapon/towel, -/obj/item/weapon/towel, +/obj/item/towel, +/obj/item/towel, /obj/random/soap, /obj/random/soap, /obj/machinery/power/apc{ @@ -3212,7 +3212,7 @@ "agL" = ( /obj/structure/closet/crate, /obj/item/stack/material/gold, -/obj/item/weapon/storage/belt/champion, +/obj/item/storage/belt/champion, /obj/item/stack/material/gold, /obj/item/stack/material/gold, /obj/item/stack/material/gold, @@ -3381,7 +3381,7 @@ /obj/machinery/light{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -3404,8 +3404,8 @@ /obj/machinery/light{ dir = 1 }, -/obj/item/device/gps, -/obj/item/device/gps{ +/obj/item/gps, +/obj/item/gps{ pixel_x = 3; pixel_y = 3 }, @@ -3457,7 +3457,7 @@ /turf/simulated/floor/tiled, /area/construction/firstdeck/construction5) "ahh" = ( -/obj/item/device/flashlight, +/obj/item/flashlight, /turf/simulated/floor/plating, /area/construction/firstdeck/construction5) "ahi" = ( @@ -3692,7 +3692,7 @@ "ahL" = ( /obj/structure/table/steel, /obj/item/clothing/gloves/black, -/obj/item/device/multitool{ +/obj/item/multitool{ pixel_x = 5 }, /obj/random/tech_supply, @@ -3714,7 +3714,7 @@ /area/construction/firstdeck/construction5) "ahO" = ( /obj/structure/table/steel, -/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, /obj/random/tech_supply, /obj/effect/landmark{ name = "blobstart" @@ -3766,23 +3766,23 @@ /turf/simulated/floor/tiled, /area/hallway/primary/firstdeck/fore) "ahW" = ( -/obj/item/weapon/coin/silver{ +/obj/item/coin/silver{ pixel_x = 7; pixel_y = 12 }, -/obj/item/weapon/coin/silver{ +/obj/item/coin/silver{ pixel_x = 12; pixel_y = 7 }, -/obj/item/weapon/coin/silver{ +/obj/item/coin/silver{ pixel_x = 4; pixel_y = 8 }, -/obj/item/weapon/coin/silver{ +/obj/item/coin/silver{ pixel_x = -6; pixel_y = 5 }, -/obj/item/weapon/coin/silver{ +/obj/item/coin/silver{ pixel_x = 5; pixel_y = -8 }, @@ -3794,7 +3794,7 @@ name = "Silver Crate"; req_access = list(19) }, -/obj/item/weapon/coin/silver{ +/obj/item/coin/silver{ pixel_x = 4; pixel_y = 8 }, @@ -3806,7 +3806,7 @@ name = "south bump"; pixel_y = -24 }, -/obj/item/weapon/storage/secure/briefcase/money{ +/obj/item/storage/secure/briefcase/money{ desc = "An sleek tidy briefcase."; name = "secure briefcase" }, @@ -3821,12 +3821,12 @@ /turf/simulated/floor/tiled/dark, /area/security/nuke_storage) "ahZ" = ( -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, /obj/structure/closet/crate/secure{ name = "Gold Crate"; req_access = list(19) @@ -4019,7 +4019,7 @@ /turf/simulated/shuttle/plating/airless/carry, /area/shuttle/large_escape_pod2/station) "aix" = ( -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /obj/structure/table/steel, /obj/random/maintenance/clean, /obj/random/maintenance/clean, @@ -4225,7 +4225,7 @@ /obj/structure/bed/chair/shuttle{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -4238,9 +4238,9 @@ /turf/simulated/shuttle/floor/black, /area/shuttle/shuttle1/start) "aiZ" = ( -/obj/item/device/t_scanner, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/t_scanner, +/obj/item/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /obj/structure/table/steel, /obj/random/maintenance/engineering, /obj/random/maintenance/clean, @@ -4451,10 +4451,10 @@ /area/maintenance/firstdeck/forestarboard) "ajz" = ( /obj/structure/table/rack, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /obj/item/clothing/head/hardhat/red, /obj/item/clothing/mask/gas, -/obj/item/device/flashlight, +/obj/item/flashlight, /obj/item/clothing/glasses/meson, /obj/random/maintenance/research, /obj/random/maintenance/research, @@ -4733,14 +4733,14 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/tank/oxygen, -/obj/item/weapon/tank/oxygen, +/obj/item/tank/oxygen, +/obj/item/tank/oxygen, /obj/item/clothing/mask/breath, /obj/item/clothing/mask/breath, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/extinguisher, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/storage/box/lights/mixed, +/obj/item/extinguisher, /obj/random/maintenance/research, /obj/random/maintenance/research, /obj/structure/catwalk, @@ -5155,7 +5155,7 @@ /obj/random/action_figure, /obj/random/maintenance/clean, /obj/random/toy, -/obj/item/weapon/toy/xmas_cracker, +/obj/item/toy/xmas_cracker, /obj/random/crate, /turf/simulated/floor, /area/maintenance/firstdeck/foreport) @@ -5595,7 +5595,7 @@ /area/shuttle/large_escape_pod2/station) "alS" = ( /obj/structure/bed/chair, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -5618,7 +5618,7 @@ /obj/machinery/sleep_console{ dir = 4 }, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ pixel_y = 21 }, /turf/simulated/shuttle/floor, @@ -5731,10 +5731,10 @@ /area/hallway/primary/firstdeck/fscenter) "amj" = ( /obj/structure/closet, -/obj/item/device/flashlight, +/obj/item/flashlight, /obj/effect/decal/cleanable/cobweb2, -/obj/item/weapon/storage/backpack/satchel/vir, -/obj/item/weapon/storage/backpack/virology, +/obj/item/storage/backpack/satchel/vir, +/obj/item/storage/backpack/virology, /obj/random/maintenance/medical, /obj/random/maintenance/medical, /obj/random/maintenance/medical, @@ -5813,7 +5813,7 @@ /turf/simulated/floor/tiled, /area/hangar/one) "amu" = ( -/obj/item/weapon/storage/bible, +/obj/item/storage/bible, /obj/structure/table/rack, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -6046,13 +6046,13 @@ /area/shuttle/large_escape_pod2/station) "amV" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/fire, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/fire, +/obj/item/storage/firstaid/regular{ pixel_x = 2; pixel_y = 3 }, -/obj/item/weapon/extinguisher, -/obj/item/weapon/tool/crowbar, +/obj/item/extinguisher, +/obj/item/tool/crowbar, /obj/random/medical/lite, /turf/simulated/shuttle/floor/white, /area/shuttle/large_escape_pod2/station) @@ -6150,8 +6150,8 @@ /area/hangar/one) "anf" = ( /obj/structure/closet/wardrobe/grey, -/obj/item/weapon/storage/backpack, -/obj/item/weapon/storage/backpack, +/obj/item/storage/backpack, +/obj/item/storage/backpack, /obj/random/maintenance/cargo, /obj/random/maintenance/cargo, /obj/random/maintenance/cargo, @@ -6549,7 +6549,7 @@ d2 = 8; icon_state = "4-8" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -6591,7 +6591,7 @@ /turf/simulated/floor/tiled/monotile, /area/hangar/one) "anP" = ( -/obj/item/weapon/storage/toolbox/syndicate, +/obj/item/storage/toolbox/syndicate, /obj/structure/closet, /obj/random/contraband, /obj/random/maintenance/clean, @@ -6695,8 +6695,8 @@ }, /area/tcomm/chamber) "aoa" = ( -/obj/item/weapon/tank/emergency/oxygen/engi, -/obj/item/weapon/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/double, /obj/random/maintenance/engineering, /obj/random/maintenance/engineering, /obj/random/maintenance/clean, @@ -6858,7 +6858,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -7370,8 +7370,8 @@ /area/rnd/research/firstdeck/hallway) "apj" = ( /obj/structure/table/rack, -/obj/item/weapon/extinguisher, -/obj/item/weapon/storage/belt/utility, +/obj/item/extinguisher, +/obj/item/storage/belt/utility, /obj/item/clothing/mask/gas, /turf/simulated/floor/plating, /area/maintenance/firstdeck/centralport) @@ -7400,8 +7400,8 @@ /area/maintenance/firstdeck/centralport) "apn" = ( /obj/structure/closet/wardrobe/grey, -/obj/item/weapon/storage/backpack, -/obj/item/weapon/storage/backpack, +/obj/item/storage/backpack, +/obj/item/storage/backpack, /obj/random/maintenance/cargo, /obj/random/maintenance/cargo, /obj/random/maintenance/cargo, @@ -7505,7 +7505,7 @@ /area/construction/firstdeck/construction1) "apw" = ( /obj/structure/table/steel, -/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, /obj/random/tech_supply, /obj/random/toolbox, /turf/simulated/floor, @@ -7555,7 +7555,7 @@ dir = 4; pixel_x = -22 }, -/obj/item/device/communicator, +/obj/item/communicator, /turf/simulated/floor/tiled, /area/hangar/onecontrol) "apE" = ( @@ -7859,10 +7859,10 @@ dir = 1 }, /obj/structure/grille/broken, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /obj/item/stack/rods, /turf/simulated/floor/plating, /area/maintenance/firstdeck/forestarboard) @@ -7946,7 +7946,7 @@ /obj/random/maintenance/clean, /obj/random/maintenance/clean, /obj/random/drinkbottle, -/obj/item/weapon/reagent_containers/food/condiment/enzyme{ +/obj/item/reagent_containers/food/condiment/enzyme{ layer = 5 }, /obj/random/crate, @@ -8055,8 +8055,8 @@ /area/maintenance/firstdeck/centralstarboard) "aqC" = ( /obj/structure/table/rack, -/obj/item/weapon/extinguisher, -/obj/item/weapon/storage/belt/utility, +/obj/item/extinguisher, +/obj/item/storage/belt/utility, /obj/item/clothing/mask/gas, /obj/structure/catwalk, /turf/simulated/floor/plating, @@ -8137,7 +8137,7 @@ d2 = 8; icon_state = "4-8" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -8515,8 +8515,8 @@ /area/tcomm/computer) "arr" = ( /obj/structure/table/standard, -/obj/item/device/flashlight/lamp, -/obj/item/device/radio/intercom{ +/obj/item/flashlight/lamp, +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -8524,11 +8524,11 @@ /area/tcomm/computer) "ars" = ( /obj/structure/table/standard, -/obj/item/weapon/folder/yellow, -/obj/item/weapon/folder/yellow, -/obj/item/device/multitool, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/blue{ +/obj/item/folder/yellow, +/obj/item/folder/yellow, +/obj/item/multitool, +/obj/item/paper_bin, +/obj/item/pen/blue{ pixel_x = -3; pixel_y = 2 }, @@ -8849,7 +8849,7 @@ "arY" = ( /obj/structure/table/steel, /obj/item/clothing/gloves/black, -/obj/item/device/multitool{ +/obj/item/multitool{ pixel_x = 5 }, /obj/random/tech_supply, @@ -8928,7 +8928,7 @@ /turf/simulated/floor/tiled, /area/hangar/onecontrol) "ash" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -9108,7 +9108,7 @@ /turf/simulated/floor/plating, /area/maintenance/firstdeck/forestarboard) "asB" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -9179,16 +9179,16 @@ /area/construction/firstdeck/construction4) "asI" = ( /obj/structure/table/reinforced, -/obj/item/device/flashlight, +/obj/item/flashlight, /turf/simulated/floor/wood, /area/construction/firstdeck/construction4) "asJ" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = 4; pixel_y = 5 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square, +/obj/item/reagent_containers/food/drinks/glass2/square, /obj/machinery/light, /turf/simulated/floor/wood, /area/construction/firstdeck/construction4) @@ -9437,16 +9437,16 @@ /area/tcomm/tcomstorage) "atq" = ( /obj/structure/table/standard, -/obj/item/weapon/stock_parts/micro_laser, -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/capacitor, -/obj/item/weapon/stock_parts/micro_laser/high, -/obj/item/weapon/stock_parts/micro_laser/high, -/obj/item/weapon/stock_parts/micro_laser/high, -/obj/item/weapon/stock_parts/micro_laser/high, +/obj/item/stock_parts/micro_laser, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/capacitor, +/obj/item/stock_parts/micro_laser/high, +/obj/item/stock_parts/micro_laser/high, +/obj/item/stock_parts/micro_laser/high, +/obj/item/stock_parts/micro_laser/high, /obj/machinery/alarm{ pixel_y = 22 }, @@ -9458,15 +9458,15 @@ /area/tcomm/tcomstorage) "ats" = ( /obj/structure/table/rack, -/obj/item/weapon/circuitboard/telecomms/processor, -/obj/item/weapon/circuitboard/telecomms/processor, -/obj/item/weapon/circuitboard/telecomms/receiver, -/obj/item/weapon/circuitboard/telecomms/server, -/obj/item/weapon/circuitboard/telecomms/server, -/obj/item/weapon/circuitboard/telecomms/bus, -/obj/item/weapon/circuitboard/telecomms/bus, -/obj/item/weapon/circuitboard/telecomms/broadcaster, -/obj/item/weapon/circuitboard/telecomms/exonet_node, +/obj/item/circuitboard/telecomms/processor, +/obj/item/circuitboard/telecomms/processor, +/obj/item/circuitboard/telecomms/receiver, +/obj/item/circuitboard/telecomms/server, +/obj/item/circuitboard/telecomms/server, +/obj/item/circuitboard/telecomms/bus, +/obj/item/circuitboard/telecomms/bus, +/obj/item/circuitboard/telecomms/broadcaster, +/obj/item/circuitboard/telecomms/exonet_node, /obj/machinery/camera/network/telecom{ c_tag = "Tcoms - Storage" }, @@ -9501,7 +9501,7 @@ "atw" = ( /obj/machinery/porta_turret/stationary, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -9836,7 +9836,7 @@ /area/hallway/primary/firstdeck/port) "auf" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -10194,9 +10194,9 @@ /area/hallway/primary/firstdeck/elevator) "auI" = ( /obj/structure/table/standard, -/obj/item/weapon/stock_parts/subspace/treatment, -/obj/item/weapon/stock_parts/subspace/treatment, -/obj/item/weapon/stock_parts/subspace/treatment, +/obj/item/stock_parts/subspace/treatment, +/obj/item/stock_parts/subspace/treatment, +/obj/item/stock_parts/subspace/treatment, /obj/machinery/light{ dir = 8 }, @@ -10208,9 +10208,9 @@ /area/tcomm/tcomstorage) "auK" = ( /obj/structure/table/standard, -/obj/item/weapon/stock_parts/subspace/analyzer, -/obj/item/weapon/stock_parts/subspace/analyzer, -/obj/item/weapon/stock_parts/subspace/analyzer, +/obj/item/stock_parts/subspace/analyzer, +/obj/item/stock_parts/subspace/analyzer, +/obj/item/stock_parts/subspace/analyzer, /turf/simulated/floor, /area/tcomm/tcomstorage) "auL" = ( @@ -10331,7 +10331,7 @@ /turf/simulated/floor/tiled, /area/hallway/primary/firstdeck/starboard) "auW" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -10859,14 +10859,14 @@ name = "defibrillator closet"; pixel_y = 31 }, -/obj/item/device/defib_kit/loaded, +/obj/item/defib_kit/loaded, /turf/simulated/floor/tiled/white, /area/medical/first_aid_station/firstdeck) "avM" = ( /obj/structure/table/steel, /obj/machinery/cell_charger, /obj/random/tech_supply, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /obj/random/powercell, /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/machinery/alarm{ @@ -10965,9 +10965,9 @@ /area/medical/first_aid_station/firstdeck) "avT" = ( /obj/structure/table/standard, -/obj/item/weapon/stock_parts/subspace/amplifier, -/obj/item/weapon/stock_parts/subspace/amplifier, -/obj/item/weapon/stock_parts/subspace/amplifier, +/obj/item/stock_parts/subspace/amplifier, +/obj/item/stock_parts/subspace/amplifier, +/obj/item/stock_parts/subspace/amplifier, /obj/structure/cable/cyan{ d2 = 4; icon_state = "0-4" @@ -11473,7 +11473,7 @@ /turf/simulated/floor/tiled, /area/hallway/primary/firstdeck/port) "awF" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -11625,7 +11625,7 @@ /turf/simulated/floor/tiled/steel_grid, /area/hallway/primary/firstdeck/port) "awV" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -11723,7 +11723,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/table/rack, -/obj/item/weapon/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, /obj/random/medical/lite, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, @@ -11739,8 +11739,8 @@ /obj/effect/floor_decal/corner/paleblue/border, /obj/item/roller, /obj/item/bodybag/cryobag, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/pill_bottle/spaceacillin, +/obj/item/storage/firstaid/regular, +/obj/item/storage/pill_bottle/spaceacillin, /turf/simulated/floor/tiled/white, /area/medical/first_aid_station/firstdeck) "axg" = ( @@ -11748,12 +11748,12 @@ dir = 1 }, /obj/structure/table/glass, -/obj/item/device/radio{ +/obj/item/radio{ frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link" }, -/obj/item/device/radio{ +/obj/item/radio{ frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link" @@ -11777,7 +11777,7 @@ /turf/simulated/floor/tiled/white, /area/medical/first_aid_station/firstdeck) "axi" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -11792,8 +11792,8 @@ dir = 1 }, /obj/structure/table/rack, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, /obj/item/roller, /obj/item/roller, /obj/effect/floor_decal/borderfloorwhite, @@ -11812,15 +11812,15 @@ /turf/simulated/floor, /area/tcomm/tcomstorage) "axl" = ( -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor, /area/tcomm/tcomstorage) "axm" = ( /obj/structure/table/standard, -/obj/item/weapon/stock_parts/subspace/ansible, -/obj/item/weapon/stock_parts/subspace/ansible, -/obj/item/weapon/stock_parts/subspace/ansible, +/obj/item/stock_parts/subspace/ansible, +/obj/item/stock_parts/subspace/ansible, +/obj/item/stock_parts/subspace/ansible, /turf/simulated/floor, /area/tcomm/tcomstorage) "axn" = ( @@ -12009,8 +12009,8 @@ }, /obj/item/roller, /obj/item/bodybag/cryobag, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/pill_bottle/spaceacillin, +/obj/item/storage/firstaid/regular, +/obj/item/storage/pill_bottle/spaceacillin, /turf/simulated/floor/tiled, /area/hallway/primary/firstdeck/starboard) "axE" = ( @@ -12309,17 +12309,17 @@ /area/hallway/primary/firstdeck/elevator) "ayo" = ( /obj/structure/table/standard, -/obj/item/weapon/stock_parts/subspace/transmitter, -/obj/item/weapon/stock_parts/subspace/transmitter, +/obj/item/stock_parts/subspace/transmitter, +/obj/item/stock_parts/subspace/transmitter, /turf/simulated/floor, /area/tcomm/tcomstorage) "ayp" = ( /obj/structure/table/standard, -/obj/item/weapon/stock_parts/subspace/sub_filter, -/obj/item/weapon/stock_parts/subspace/sub_filter, -/obj/item/weapon/stock_parts/subspace/sub_filter, -/obj/item/weapon/stock_parts/subspace/sub_filter, -/obj/item/weapon/stock_parts/subspace/sub_filter, +/obj/item/stock_parts/subspace/sub_filter, +/obj/item/stock_parts/subspace/sub_filter, +/obj/item/stock_parts/subspace/sub_filter, +/obj/item/stock_parts/subspace/sub_filter, +/obj/item/stock_parts/subspace/sub_filter, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, @@ -12327,9 +12327,9 @@ /area/tcomm/tcomstorage) "ayq" = ( /obj/structure/table/standard, -/obj/item/weapon/stock_parts/subspace/crystal, -/obj/item/weapon/stock_parts/subspace/crystal, -/obj/item/weapon/stock_parts/subspace/crystal, +/obj/item/stock_parts/subspace/crystal, +/obj/item/stock_parts/subspace/crystal, +/obj/item/stock_parts/subspace/crystal, /obj/machinery/firealarm{ dir = 1; pixel_y = -24 @@ -12542,8 +12542,8 @@ /turf/simulated/floor/plating, /area/maintenance/firstdeck/centralstarboard) "ayO" = ( -/obj/item/weapon/tank/emergency/oxygen/engi, -/obj/item/weapon/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/double, /obj/random/maintenance/cargo, /obj/random/maintenance/cargo, /obj/random/maintenance/cargo, @@ -12579,7 +12579,7 @@ /obj/effect/decal/cleanable/blood/oil/streak{ amount = 0 }, -/obj/item/weapon/tool/wirecutters, +/obj/item/tool/wirecutters, /obj/machinery/light{ dir = 1 }, @@ -12648,11 +12648,11 @@ /turf/simulated/floor/plating, /area/maintenance/firstdeck/aftport) "azd" = ( -/obj/item/device/multitool, -/obj/item/device/multitool, -/obj/item/device/assembly/prox_sensor, -/obj/item/device/flashlight, -/obj/item/weapon/storage/backpack, +/obj/item/multitool, +/obj/item/multitool, +/obj/item/assembly/prox_sensor, +/obj/item/flashlight, +/obj/item/storage/backpack, /obj/random/maintenance/cargo, /obj/random/maintenance/cargo, /obj/random/crate, @@ -12887,7 +12887,7 @@ /obj/random/maintenance/research, /obj/random/maintenance/research, /obj/random/maintenance/clean, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /turf/simulated/floor/plating, /area/maintenance/firstdeck/aftstarboard) "azD" = ( @@ -12903,7 +12903,7 @@ "azE" = ( /obj/structure/closet, /obj/item/clothing/glasses/welding, -/obj/item/weapon/weldingtool, +/obj/item/weldingtool, /obj/effect/decal/cleanable/dirt, /obj/random/maintenance/research, /obj/random/maintenance/research, @@ -12911,7 +12911,7 @@ /area/maintenance/firstdeck/aftstarboard) "azF" = ( /obj/structure/closet, -/obj/item/weapon/lipstick/purple, +/obj/item/lipstick/purple, /obj/random/maintenance/engineering, /obj/random/maintenance/engineering, /obj/random/maintenance/clean, @@ -12919,7 +12919,7 @@ /turf/simulated/floor/plating, /area/maintenance/firstdeck/aftstarboard) "azG" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -12996,8 +12996,8 @@ /area/construction/firstdeck/construction3) "azM" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/mime, -/obj/item/weapon/pen/crayon/mime, +/obj/item/bedsheet/mime, +/obj/item/pen/crayon/mime, /obj/effect/decal/cleanable/cobweb2, /turf/simulated/floor, /area/construction/firstdeck/construction3) @@ -13296,7 +13296,7 @@ /area/tcomm/entrance) "aAw" = ( /obj/structure/table/standard, -/obj/item/weapon/cell, +/obj/item/cell, /obj/structure/extinguisher_cabinet{ pixel_y = 30 }, @@ -13552,11 +13552,11 @@ "aAU" = ( /obj/structure/table/steel, /obj/machinery/cell_charger, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, @@ -13617,7 +13617,7 @@ d2 = 8; icon_state = "4-8" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -13694,7 +13694,7 @@ /turf/simulated/floor/plating, /area/maintenance/firstdeck/centralport) "aBh" = ( -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /turf/simulated/floor/plating, /area/maintenance/firstdeck/centralport) "aBi" = ( @@ -13717,7 +13717,7 @@ /obj/random/maintenance/clean, /obj/random/tech_supply, /obj/random/tech_supply, -/obj/item/weapon/airlock_electronics, +/obj/item/airlock_electronics, /obj/item/stack/cable_coil/random, /turf/simulated/floor/plating, /area/maintenance/firstdeck/centralport) @@ -13732,7 +13732,7 @@ /turf/simulated/floor/plating, /area/maintenance/firstdeck/centralport) "aBn" = ( -/obj/item/device/flashlight, +/obj/item/flashlight, /obj/random/crate, /turf/simulated/floor/plating, /area/construction/firstdeck/construction2) @@ -13994,8 +13994,8 @@ /area/hallway/primary/firstdeck/elevator) "aBL" = ( /obj/structure/table/rack, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, /obj/effect/floor_decal/industrial/warning{ dir = 1 }, @@ -14289,8 +14289,8 @@ /area/hallway/secondary/escape/firstdeck/ep_starboard2) "aCo" = ( /obj/structure/closet/wardrobe/grey, -/obj/item/weapon/storage/backpack, -/obj/item/weapon/storage/backpack, +/obj/item/storage/backpack, +/obj/item/storage/backpack, /obj/random/maintenance/cargo, /obj/random/maintenance/cargo, /obj/random/maintenance/cargo, @@ -14371,7 +14371,7 @@ /turf/simulated/floor/tiled/steel, /area/quartermaster/mininglockerroom) "aCA" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -14405,8 +14405,8 @@ dir = 8 }, /obj/item/clothing/mask/breath, -/obj/item/weapon/mining_scanner, -/obj/item/weapon/rig/industrial/equipped, +/obj/item/mining_scanner, +/obj/item/rig/industrial/equipped, /obj/machinery/door/window/southleft{ name = "Mining Suits"; req_access = list(50) @@ -14432,7 +14432,7 @@ health = 1e+006 }, /obj/item/clothing/mask/breath, -/obj/item/weapon/mining_scanner, +/obj/item/mining_scanner, /obj/item/clothing/suit/space/void/mining, /obj/item/clothing/head/helmet/space/void/mining, /obj/structure/table/rack{ @@ -14544,12 +14544,12 @@ name = "parachute crate"; req_access = list(67) }, -/obj/item/weapon/storage/backpack/parachute, -/obj/item/weapon/storage/backpack/parachute, -/obj/item/weapon/storage/backpack/parachute, -/obj/item/weapon/storage/backpack/parachute, -/obj/item/weapon/storage/backpack/parachute, -/obj/item/weapon/storage/backpack/parachute, +/obj/item/storage/backpack/parachute, +/obj/item/storage/backpack/parachute, +/obj/item/storage/backpack/parachute, +/obj/item/storage/backpack/parachute, +/obj/item/storage/backpack/parachute, +/obj/item/storage/backpack/parachute, /turf/simulated/floor/tiled/techmaint, /area/ai_monitored/storage/eva/pilot) "aCL" = ( @@ -14811,8 +14811,8 @@ /obj/structure/closet/crate, /obj/item/stack/cable_coil/random, /obj/item/stack/cable_coil/random, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/wirecutters, +/obj/item/tool/crowbar, +/obj/item/tool/wirecutters, /obj/random/maintenance/medical, /obj/random/maintenance/medical, /obj/structure/catwalk, @@ -15040,7 +15040,7 @@ "aDD" = ( /obj/structure/table/steel_reinforced, /obj/item/clothing/accessory/armband/cargo, -/obj/item/device/retail_scanner/cargo, +/obj/item/retail_scanner/cargo, /obj/machinery/requests_console{ department = "Cargo Bay"; departmentType = 2; @@ -15056,11 +15056,11 @@ /area/quartermaster/storage) "aDE" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/stamp{ +/obj/item/stamp{ pixel_x = -3; pixel_y = 3 }, -/obj/item/weapon/stamp/cargo, +/obj/item/stamp/cargo, /obj/effect/floor_decal/borderfloor{ dir = 5 }, @@ -15216,7 +15216,7 @@ /obj/structure/window/reinforced{ dir = 1 }, -/obj/item/device/paicard, +/obj/item/paicard, /obj/item/clothing/head/soft/grey, /turf/simulated/floor/tiled/dark, /area/hallway/primary/firstdeck/elevator) @@ -15231,8 +15231,8 @@ /obj/structure/window/reinforced{ dir = 1 }, -/obj/item/device/communicator, -/obj/item/weapon/hand_labeler, +/obj/item/communicator, +/obj/item/hand_labeler, /turf/simulated/floor/tiled/dark, /area/hallway/primary/firstdeck/elevator) "aDY" = ( @@ -15391,7 +15391,7 @@ /obj/effect/floor_decal/industrial/warning/corner{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -15453,7 +15453,7 @@ /area/maintenance/firstdeck/aftstarboard) "aEm" = ( /obj/structure/closet, -/obj/item/weapon/storage/backpack, +/obj/item/storage/backpack, /obj/random/maintenance/medical, /obj/random/maintenance/medical, /obj/random/maintenance/medical, @@ -15524,7 +15524,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -15774,9 +15774,9 @@ /area/quartermaster/storage) "aER" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/folder/yellow, -/obj/item/weapon/pen, -/obj/item/weapon/hand_labeler, +/obj/item/folder/yellow, +/obj/item/pen, +/obj/item/hand_labeler, /obj/effect/floor_decal/borderfloor{ dir = 4 }, @@ -15999,10 +15999,10 @@ /area/maintenance/firstdeck/aftstarboard) "aFv" = ( /obj/structure/table/rack, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /obj/item/clothing/head/hardhat/red, /obj/item/clothing/mask/gas, -/obj/item/device/flashlight, +/obj/item/flashlight, /obj/item/clothing/glasses/meson, /obj/random/maintenance/cargo, /turf/simulated/floor, @@ -16385,7 +16385,7 @@ /turf/simulated/floor/tiled, /area/hallway/primary/firstdeck/elevator) "aGn" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -16424,8 +16424,8 @@ "aGq" = ( /obj/structure/closet/crate, /obj/item/clothing/glasses/night, -/obj/item/device/aicard, -/obj/item/device/multitool, +/obj/item/aicard, +/obj/item/multitool, /turf/simulated/floor/tiled/dark, /area/tcomm/entrance) "aGr" = ( @@ -16450,7 +16450,7 @@ /obj/structure/table/rack{ dir = 1 }, -/obj/item/weapon/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, /obj/random/maintenance/medical, /obj/random/maintenance/medical, /obj/random/cash, @@ -16582,11 +16582,11 @@ /obj/structure/table/rack{ dir = 1 }, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_x = -2; pixel_y = -1 }, -/obj/item/weapon/storage/belt/utility, +/obj/item/storage/belt/utility, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, /turf/simulated/floor/tiled, @@ -16595,10 +16595,10 @@ /obj/structure/table/rack{ dir = 1 }, -/obj/item/weapon/pickaxe{ +/obj/item/pickaxe{ pixel_x = 5 }, -/obj/item/weapon/shovel{ +/obj/item/shovel{ pixel_x = -5 }, /obj/machinery/atmospherics/unary/vent_scrubber/on{ @@ -16640,7 +16640,7 @@ dir = 1; pixel_y = -22 }, -/obj/item/weapon/stool, +/obj/item/stool, /obj/effect/landmark/start{ name = "Shaft Miner" }, @@ -16650,7 +16650,7 @@ /area/quartermaster/mininglockerroom) "aGQ" = ( /obj/structure/table/steel, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, @@ -16663,8 +16663,8 @@ /area/quartermaster/mininglockerroom) "aGR" = ( /obj/structure/table/steel, -/obj/item/weapon/folder/yellow, -/obj/item/weapon/pen, +/obj/item/folder/yellow, +/obj/item/pen, /obj/machinery/requests_console{ department = "Cargo Bay"; departmentType = 2; @@ -16774,7 +16774,7 @@ /obj/machinery/light{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -16851,10 +16851,10 @@ /area/shuttle/large_escape_pod1/station) "aHo" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{ +/obj/item/reagent_containers/glass/beaker/cryoxadone{ pixel_x = -4 }, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /obj/random/medical/lite, /obj/structure/closet/walllocker/emerglocker{ pixel_y = -32 @@ -16863,11 +16863,11 @@ /area/shuttle/large_escape_pod1/station) "aHp" = ( /obj/structure/closet/crate/medical, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = -2; pixel_y = 4 }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = -2; pixel_y = 4 }, @@ -16877,30 +16877,30 @@ /obj/item/bodybag/cryobag{ pixel_x = 5 }, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ layer = 2.8; pixel_x = 4; pixel_y = 6 }, -/obj/item/weapon/storage/box/masks, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/masks, +/obj/item/storage/box/gloves{ pixel_x = 3; pixel_y = 4 }, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/toxin, +/obj/item/storage/firstaid/fire{ layer = 2.9; pixel_x = 2; pixel_y = 3 }, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ pixel_x = -2 }, -/obj/item/weapon/reagent_containers/blood/empty, -/obj/item/weapon/reagent_containers/blood/empty, -/obj/item/weapon/reagent_containers/blood/empty, -/obj/item/weapon/reagent_containers/blood/empty, -/obj/item/weapon/reagent_containers/blood/empty, +/obj/item/reagent_containers/blood/empty, +/obj/item/reagent_containers/blood/empty, +/obj/item/reagent_containers/blood/empty, +/obj/item/reagent_containers/blood/empty, +/obj/item/reagent_containers/blood/empty, /obj/machinery/light, /turf/simulated/shuttle/floor/white, /area/shuttle/large_escape_pod1/station) @@ -16912,7 +16912,7 @@ /area/shuttle/large_escape_pod1/station) "aHr" = ( /obj/machinery/sleep_console, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 1; pixel_y = -21 }, @@ -16939,7 +16939,7 @@ /obj/structure/bed/chair{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -17217,7 +17217,7 @@ /turf/simulated/floor/tiled, /area/quartermaster/storage) "aIb" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -17231,7 +17231,7 @@ /turf/simulated/floor/tiled, /area/quartermaster/storage) "aIc" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -18373,7 +18373,7 @@ /area/hallway/primary/firstdeck/ascenter) "aKd" = ( /obj/item/inflatable/door/torn, -/obj/item/weapon/tool/screwdriver, +/obj/item/tool/screwdriver, /turf/simulated/floor, /area/maintenance/firstdeck/aftstarboard) "aKe" = ( @@ -18760,9 +18760,9 @@ /turf/simulated/floor/plating, /area/storage/emergency_storage/firstdeck/as_emergency) "aKW" = ( -/obj/item/device/t_scanner, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/t_scanner, +/obj/item/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /obj/structure/table/steel, /obj/random/maintenance/engineering, /obj/random/maintenance/clean, @@ -18784,7 +18784,7 @@ /area/shuttle/shuttle2/start) "aLa" = ( /obj/structure/bed/chair/shuttle, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -19248,8 +19248,8 @@ /area/maintenance/substation/firstdeck/cargo) "aMc" = ( /obj/structure/closet/crate/hydroponics, -/obj/item/weapon/material/knife/machete/hatchet, -/obj/item/weapon/material/minihoe, +/obj/item/material/knife/machete/hatchet, +/obj/item/material/minihoe, /turf/simulated/floor/plating, /area/maintenance/firstdeck/aftport) "aMd" = ( @@ -19258,7 +19258,7 @@ /area/maintenance/firstdeck/aftport) "aMe" = ( /obj/structure/table/steel, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /obj/random/maintenance/cargo, /turf/simulated/floor/plating, /area/maintenance/firstdeck/aftport) @@ -19303,11 +19303,11 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/circuitboard/robotics{ +/obj/item/circuitboard/robotics{ pixel_x = -2; pixel_y = 2 }, -/obj/item/weapon/circuitboard/mecha_control{ +/obj/item/circuitboard/mecha_control{ pixel_x = 1; pixel_y = -1 }, @@ -19318,15 +19318,15 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/circuitboard/crew{ +/obj/item/circuitboard/crew{ pixel_x = -1; pixel_y = 1 }, -/obj/item/weapon/circuitboard/card{ +/obj/item/circuitboard/card{ pixel_x = 2; pixel_y = -2 }, -/obj/item/weapon/circuitboard/communications{ +/obj/item/circuitboard/communications{ pixel_x = 5; pixel_y = -5 }, @@ -19348,11 +19348,11 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/circuitboard/borgupload{ +/obj/item/circuitboard/borgupload{ pixel_x = -1; pixel_y = 1 }, -/obj/item/weapon/circuitboard/aiupload{ +/obj/item/circuitboard/aiupload{ pixel_x = 2; pixel_y = -2 }, @@ -19396,7 +19396,7 @@ /turf/simulated/floor/tiled/steel_dirty, /area/engineering/auxiliary_engineering) "aMs" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -19596,7 +19596,7 @@ /area/quartermaster/storage) "aMO" = ( /obj/effect/decal/cleanable/generic, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /turf/simulated/floor/plating, @@ -19793,8 +19793,8 @@ "aNl" = ( /obj/structure/table/reinforced, /obj/machinery/light, -/obj/item/device/gps, -/obj/item/device/gps{ +/obj/item/gps, +/obj/item/gps{ pixel_x = 3; pixel_y = 3 }, @@ -19807,7 +19807,7 @@ "aNn" = ( /obj/structure/table/reinforced, /obj/machinery/light, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -20043,8 +20043,8 @@ /turf/simulated/floor, /area/storage/tech) "aNJ" = ( -/obj/item/weapon/module/power_control, -/obj/item/weapon/airlock_electronics, +/obj/item/module/power_control, +/obj/item/airlock_electronics, /obj/structure/table/steel, /turf/simulated/floor/plating, /area/storage/tech) @@ -20053,14 +20053,14 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/storage/toolbox/electrical{ +/obj/item/storage/toolbox/electrical{ pixel_x = 1; pixel_y = -1 }, /obj/item/clothing/gloves/yellow, -/obj/item/device/t_scanner, +/obj/item/t_scanner, /obj/item/clothing/glasses/meson, -/obj/item/device/multitool, +/obj/item/multitool, /turf/simulated/floor/plating, /area/storage/tech) "aNL" = ( @@ -20093,30 +20093,30 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/matter_bin, -/obj/item/weapon/stock_parts/matter_bin, -/obj/item/weapon/stock_parts/capacitor, -/obj/item/weapon/stock_parts/capacitor, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/capacitor, +/obj/item/stock_parts/capacitor, /turf/simulated/floor/plating, /area/storage/tech) "aNP" = ( -/obj/item/device/aicard, -/obj/item/weapon/aiModule/reset, +/obj/item/aicard, +/obj/item/aiModule/reset, /obj/structure/table/steel, /turf/simulated/floor/plating, /area/storage/tech) "aNQ" = ( -/obj/item/device/flashlight{ +/obj/item/flashlight{ pixel_x = 1; pixel_y = 5 }, -/obj/item/device/flashlight{ +/obj/item/flashlight{ pixel_x = 1; pixel_y = 5 }, -/obj/item/device/flash, -/obj/item/device/flash, +/obj/item/flash, +/obj/item/flash, /obj/structure/table/steel, /turf/simulated/floor/plating, /area/storage/tech) @@ -20420,11 +20420,11 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/storage/toolbox/electrical{ +/obj/item/storage/toolbox/electrical{ pixel_x = 1; pixel_y = -1 }, -/obj/item/device/multitool, +/obj/item/multitool, /obj/item/clothing/glasses/meson, /turf/simulated/floor/plating, /area/storage/tech) @@ -20433,10 +20433,10 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/circuitboard/rdconsole, -/obj/item/weapon/circuitboard/destructive_analyzer, -/obj/item/weapon/circuitboard/protolathe, -/obj/item/weapon/circuitboard/rdserver{ +/obj/item/circuitboard/rdconsole, +/obj/item/circuitboard/destructive_analyzer, +/obj/item/circuitboard/protolathe, +/obj/item/circuitboard/rdserver{ pixel_x = 3; pixel_y = -3 }, @@ -20465,7 +20465,7 @@ /obj/effect/floor_decal/industrial/warning/corner{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -20477,8 +20477,8 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/circuitboard/security/mining, -/obj/item/weapon/circuitboard/autolathe{ +/obj/item/circuitboard/security/mining, +/obj/item/circuitboard/autolathe{ pixel_x = 3; pixel_y = -3 }, @@ -20489,19 +20489,19 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/stock_parts/matter_bin, -/obj/item/weapon/stock_parts/matter_bin, -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/console_screen, -/obj/item/weapon/circuitboard/autolathe, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/console_screen, +/obj/item/circuitboard/autolathe, /turf/simulated/floor, /area/storage/tech) "aOI" = ( /obj/structure/table/steel, -/obj/item/device/integrated_electronics/debugger{ +/obj/item/integrated_electronics/debugger{ pixel_x = -5 }, -/obj/item/device/integrated_electronics/wirer{ +/obj/item/integrated_electronics/wirer{ pixel_x = 5 }, /obj/machinery/requests_console{ @@ -20529,7 +20529,7 @@ /turf/simulated/floor/tiled, /area/hallway/primary/firstdeck/aft) "aOK" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -20629,7 +20629,7 @@ dir = 8 }, /obj/machinery/portable_atmospherics/canister/empty, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -20789,7 +20789,7 @@ /area/storage/tech) "aPp" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/bag/circuits/basic, +/obj/item/storage/bag/circuits/basic, /obj/machinery/firealarm{ dir = 4; pixel_x = 24 @@ -20888,7 +20888,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 6 }, @@ -21046,8 +21046,8 @@ /obj/machinery/cell_charger{ pixel_y = 5 }, -/obj/item/device/multitool, -/obj/item/weapon/cell/high{ +/obj/item/multitool, +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, @@ -21060,15 +21060,15 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/circuitboard/secure_data{ +/obj/item/circuitboard/secure_data{ pixel_x = -2; pixel_y = 2 }, -/obj/item/weapon/circuitboard/security{ +/obj/item/circuitboard/security{ pixel_x = 1; pixel_y = -1 }, -/obj/item/weapon/circuitboard/skills{ +/obj/item/circuitboard/skills{ pixel_x = 4; pixel_y = -3 }, @@ -21079,8 +21079,8 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/circuitboard/unary_atmos/heater, -/obj/item/weapon/circuitboard/unary_atmos/cooler{ +/obj/item/circuitboard/unary_atmos/heater, +/obj/item/circuitboard/unary_atmos/cooler{ pixel_x = 3; pixel_y = -3 }, @@ -21092,16 +21092,16 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/circuitboard/powermonitor{ +/obj/item/circuitboard/powermonitor{ pixel_x = -2; pixel_y = 2 }, -/obj/item/weapon/circuitboard/stationalert_engineering{ +/obj/item/circuitboard/stationalert_engineering{ pixel_x = 1; pixel_y = -1 }, -/obj/item/weapon/circuitboard/security/engineering, -/obj/item/weapon/circuitboard/atmos_alert{ +/obj/item/circuitboard/security/engineering, +/obj/item/circuitboard/atmos_alert{ pixel_x = 3; pixel_y = -3 }, @@ -21157,11 +21157,11 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/circuitboard/cloning, -/obj/item/weapon/circuitboard/clonescanner, -/obj/item/weapon/circuitboard/clonepod, -/obj/item/weapon/circuitboard/scan_consolenew, -/obj/item/weapon/circuitboard/med_data{ +/obj/item/circuitboard/cloning, +/obj/item/circuitboard/clonescanner, +/obj/item/circuitboard/clonepod, +/obj/item/circuitboard/scan_consolenew, +/obj/item/circuitboard/med_data{ pixel_x = 3; pixel_y = -3 }, @@ -21172,7 +21172,7 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/circuitboard/message_monitor{ +/obj/item/circuitboard/message_monitor{ pixel_x = 3; pixel_y = -3 }, @@ -21184,10 +21184,10 @@ dir = 8; layer = 2.9 }, -/obj/item/device/analyzer/plant_analyzer, -/obj/item/device/healthanalyzer, -/obj/item/device/analyzer, -/obj/item/device/analyzer, +/obj/item/analyzer/plant_analyzer, +/obj/item/healthanalyzer, +/obj/item/analyzer, +/obj/item/analyzer, /turf/simulated/floor/plating, /area/storage/tech) "aPX" = ( @@ -21306,7 +21306,7 @@ /area/engineering/auxiliary_engineering) "aQg" = ( /obj/item/stack/cable_coil/yellow, -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical, /turf/simulated/floor/plating, /area/engineering/auxiliary_engineering) "aQh" = ( @@ -21967,7 +21967,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -22056,7 +22056,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -22247,7 +22247,7 @@ }, /area/shuttle/escape_pod3/station) "aRL" = ( -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /obj/item/stack/cable_coil/random, /obj/machinery/light_construct, /obj/machinery/light_construct, @@ -22329,7 +22329,7 @@ name = "defibrillator closet"; pixel_x = -31 }, -/obj/item/device/defib_kit/loaded, +/obj/item/defib_kit/loaded, /turf/simulated/floor/tiled, /area/hallway/primary/firstdeck/aft) "aRU" = ( @@ -22348,8 +22348,8 @@ }, /obj/item/roller, /obj/item/bodybag/cryobag, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/pill_bottle/spaceacillin, +/obj/item/storage/firstaid/regular, +/obj/item/storage/pill_bottle/spaceacillin, /turf/simulated/floor/tiled, /area/hallway/primary/firstdeck/aft) "aRV" = ( @@ -22458,7 +22458,7 @@ /obj/structure/bed/chair{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -22534,9 +22534,9 @@ /area/hallway/secondary/escape/firstdeck/ep_aftport) "aSo" = ( /obj/structure/table/standard, -/obj/item/device/t_scanner, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/t_scanner, +/obj/item/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /turf/simulated/floor/plating, /area/storage/emergency_storage/firstdeck/aft_emergency) "aSp" = ( @@ -22675,7 +22675,7 @@ /obj/structure/bed/chair{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -22919,7 +22919,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -22965,7 +22965,7 @@ dir = 4 }, /obj/structure/closet/emcloset, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -23012,13 +23012,13 @@ /area/security/checkpoint3) "aTe" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/pen, -/obj/item/device/flash, +/obj/item/tool/crowbar, +/obj/item/pen, +/obj/item/flash, /obj/machinery/light{ dir = 8 }, @@ -23056,7 +23056,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -23195,7 +23195,7 @@ /turf/simulated/floor/tiled/monotile, /area/security/checkpoint3) "aTz" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -23299,7 +23299,7 @@ /obj/structure/bed/chair{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -23529,7 +23529,7 @@ /obj/structure/bed/chair{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -23595,7 +23595,7 @@ }, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/green/border, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -23932,7 +23932,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -24833,8 +24833,8 @@ /obj/item/clothing/shoes/leg_guard/riot, /obj/item/clothing/suit/armor/riot/alt, /obj/item/clothing/head/helmet/riot, -/obj/item/weapon/shield/riot, -/obj/item/weapon/melee/baton/loaded, +/obj/item/shield/riot, +/obj/item/melee/baton/loaded, /obj/effect/floor_decal/corner/red/full{ dir = 8 }, @@ -24855,8 +24855,8 @@ /obj/item/clothing/shoes/leg_guard/riot, /obj/item/clothing/suit/armor/riot/alt, /obj/item/clothing/head/helmet/riot, -/obj/item/weapon/shield/riot, -/obj/item/weapon/melee/baton/loaded, +/obj/item/shield/riot, +/obj/item/melee/baton/loaded, /obj/effect/floor_decal/corner/red{ dir = 5 }, @@ -24878,8 +24878,8 @@ /obj/item/clothing/mask/breath, /obj/item/clothing/suit/space/void/security, /obj/item/clothing/head/helmet/space/void/security, -/obj/item/device/suit_cooling_unit, -/obj/item/weapon/tank/oxygen, +/obj/item/suit_cooling_unit, +/obj/item/tank/oxygen, /obj/effect/floor_decal/corner/white{ dir = 1 }, @@ -24900,8 +24900,8 @@ /obj/item/clothing/shoes/leg_guard/riot, /obj/item/clothing/suit/armor/riot/alt, /obj/item/clothing/head/helmet/riot, -/obj/item/weapon/shield/riot, -/obj/item/weapon/melee/baton/loaded, +/obj/item/shield/riot, +/obj/item/melee/baton/loaded, /obj/effect/floor_decal/corner/red{ dir = 5 }, @@ -24922,8 +24922,8 @@ /obj/item/clothing/shoes/leg_guard/riot, /obj/item/clothing/suit/armor/riot/alt, /obj/item/clothing/head/helmet/riot, -/obj/item/weapon/shield/riot, -/obj/item/weapon/melee/baton/loaded, +/obj/item/shield/riot, +/obj/item/melee/baton/loaded, /obj/effect/floor_decal/corner/red/full{ dir = 1 }, @@ -25046,11 +25046,11 @@ /obj/effect/floor_decal/corner/blue/full{ dir = 8 }, -/obj/item/weapon/gun/energy/gun{ +/obj/item/gun/energy/gun{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/gun/energy/gun, +/obj/item/gun/energy/gun, /obj/machinery/door/window/brigdoor/southleft{ name = "Energy" }, @@ -25071,10 +25071,10 @@ /obj/effect/floor_decal/corner/blue{ dir = 5 }, -/obj/item/weapon/gun/energy/ionrifle{ +/obj/item/gun/energy/ionrifle{ pixel_y = -3 }, -/obj/item/weapon/gun/energy/ionrifle{ +/obj/item/gun/energy/ionrifle{ pixel_x = -2; pixel_y = -5 }, @@ -25098,11 +25098,11 @@ /obj/effect/floor_decal/corner/green/full{ dir = 1 }, -/obj/item/weapon/gun/projectile/shotgun/pump{ +/obj/item/gun/projectile/shotgun/pump{ pixel_x = -3; pixel_y = 3 }, -/obj/item/weapon/gun/projectile/shotgun/pump, +/obj/item/gun/projectile/shotgun/pump, /obj/machinery/door/window/brigdoor/southleft{ name = "Ballistics" }, @@ -25159,16 +25159,16 @@ pixel_x = -24 }, /obj/structure/table/steel, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon{ pixel_x = -2; pixel_y = -2 }, @@ -25309,12 +25309,12 @@ /area/security/prison) "aXc" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/box/donkpockets, -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets, +/obj/item/storage/box/donkpockets{ pixel_x = -3; pixel_y = -3 }, -/obj/item/weapon/storage/box/cups, +/obj/item/storage/box/cups, /obj/effect/floor_decal/industrial/warning{ dir = 1 }, @@ -25327,8 +25327,8 @@ d2 = 2; icon_state = "1-2" }, -/obj/item/weapon/material/minihoe, -/obj/item/device/analyzer/plant_analyzer, +/obj/item/material/minihoe, +/obj/item/analyzer/plant_analyzer, /obj/item/clothing/head/greenbandana, /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -25337,7 +25337,7 @@ /area/security/prison) "aXe" = ( /obj/structure/reagent_dispensers/watertank, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /obj/effect/floor_decal/industrial/warning{ dir = 1 }, @@ -25410,7 +25410,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/item/weapon/stool, +/obj/item/stool, /turf/simulated/floor/tiled/dark, /area/security/armoury) "aXp" = ( @@ -25423,12 +25423,12 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 }, -/obj/item/weapon/stool, +/obj/item/stool, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/dark, /area/security/armoury) "aXq" = ( -/obj/item/weapon/stool, +/obj/item/stool, /turf/simulated/floor/tiled/dark, /area/security/armoury) "aXr" = ( @@ -25522,18 +25522,18 @@ /area/security/security_restroom) "aXB" = ( /obj/structure/table/standard, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, /obj/machinery/recharger/wallcharger{ pixel_x = -24; pixel_y = -4 @@ -25544,7 +25544,7 @@ /obj/effect/floor_decal/corner/red/border{ dir = 9 }, -/obj/item/weapon/hand_labeler, +/obj/item/hand_labeler, /turf/simulated/floor/tiled, /area/security/security_lockerroom) "aXC" = ( @@ -25611,7 +25611,7 @@ /area/security/prison) "aXJ" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /obj/effect/floor_decal/borderfloor{ dir = 4 }, @@ -25697,11 +25697,11 @@ /area/security/armoury) "aXS" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/empslite{ +/obj/item/storage/box/empslite{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/box/flashbangs{ +/obj/item/storage/box/flashbangs{ pixel_x = -2; pixel_y = -2 }, @@ -25727,7 +25727,7 @@ /obj/item/clothing/glasses/sunglasses/sechud/tactical, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/device/binoculars{ +/obj/item/binoculars{ pixel_y = 5 }, /turf/simulated/floor/tiled/dark, @@ -25739,15 +25739,15 @@ d2 = 8; icon_state = "4-8" }, -/obj/item/weapon/storage/box/handcuffs{ +/obj/item/storage/box/handcuffs{ pixel_x = 8; pixel_y = 6 }, -/obj/item/weapon/storage/box/chemimp{ +/obj/item/storage/box/chemimp{ pixel_x = 4; pixel_y = 3 }, -/obj/item/weapon/storage/box/trackimp, +/obj/item/storage/box/trackimp, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/dark, /area/security/armoury) @@ -25845,11 +25845,11 @@ /area/security/security_restroom) "aYd" = ( /obj/structure/table/standard, -/obj/item/device/taperecorder, -/obj/item/device/tape, -/obj/item/device/megaphone, -/obj/item/weapon/packageWrap, -/obj/item/weapon/storage/box, +/obj/item/taperecorder, +/obj/item/rectape, +/obj/item/megaphone, +/obj/item/packageWrap, +/obj/item/storage/box, /obj/machinery/recharger/wallcharger{ pixel_x = -24; pixel_y = -4 @@ -25932,7 +25932,7 @@ dir = 4 }, /obj/random/cigarettes, -/obj/item/weapon/flame/lighter/zippo, +/obj/item/flame/lighter/zippo, /obj/effect/floor_decal/borderfloor{ dir = 8 }, @@ -25957,7 +25957,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe, +/obj/item/reagent_containers/food/drinks/bottle/absinthe, /obj/item/clothing/suit/storage/apron/overalls, /obj/machinery/camera/network/prison{ c_tag = "SEC - Brig Dormitories"; @@ -26004,8 +26004,8 @@ /area/security/prison) "aYs" = ( /obj/structure/mopbucket, -/obj/item/weapon/mop, -/obj/item/weapon/soap/nanotrasen, +/obj/item/mop, +/obj/item/soap/nanotrasen, /obj/machinery/light/small{ dir = 4 }, @@ -26055,11 +26055,11 @@ /obj/effect/floor_decal/corner/red/full{ dir = 1 }, -/obj/item/weapon/storage/box/flashshells, -/obj/item/weapon/storage/box/beanbags, -/obj/item/weapon/storage/box/beanbags, -/obj/item/weapon/storage/box/stunshells, -/obj/item/weapon/storage/box/stunshells, +/obj/item/storage/box/flashshells, +/obj/item/storage/box/beanbags, +/obj/item/storage/box/beanbags, +/obj/item/storage/box/stunshells, +/obj/item/storage/box/stunshells, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, @@ -26167,10 +26167,10 @@ /obj/effect/floor_decal/corner/green/full{ dir = 4 }, -/obj/item/weapon/storage/box/shotgunshells, -/obj/item/weapon/storage/box/shotgunshells, -/obj/item/weapon/storage/box/shotgunammo, -/obj/item/weapon/storage/box/shotgunammo, +/obj/item/storage/box/shotgunshells, +/obj/item/storage/box/shotgunshells, +/obj/item/storage/box/shotgunammo, +/obj/item/storage/box/shotgunammo, /obj/item/ammo_magazine/m45, /obj/item/ammo_magazine/m45, /obj/item/ammo_magazine/m45, @@ -26286,7 +26286,7 @@ /area/security/security_lockerroom) "aYO" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /obj/effect/floor_decal/borderfloor{ dir = 8 }, @@ -26317,7 +26317,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, -/obj/item/weapon/stool, +/obj/item/stool, /turf/simulated/floor/tiled, /area/security/prison) "aYS" = ( @@ -26412,7 +26412,7 @@ /area/security/armoury) "aZa" = ( /obj/effect/floor_decal/industrial/warning, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_x = 32; pixel_y = -21 @@ -26518,7 +26518,7 @@ pixel_x = 11; pixel_y = -24 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_x = 32; pixel_y = -21 @@ -26793,29 +26793,29 @@ /area/security/security_restroom) "aZH" = ( /obj/structure/table/standard, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#ff0000"; name = "red towel" }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#ff0000"; name = "red towel" }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#ff0000"; name = "red towel" }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#ff0000"; name = "red towel" }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#ff0000"; name = "red towel" }, -/obj/item/weapon/soap/nanotrasen, -/obj/item/weapon/soap/nanotrasen, -/obj/item/device/radio/intercom{ +/obj/item/soap/nanotrasen, +/obj/item/soap/nanotrasen, +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -26825,7 +26825,7 @@ /turf/simulated/floor/tiled/freezer, /area/security/security_restroom) "aZI" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -26873,7 +26873,7 @@ pixel_y = -24 }, /obj/item/clothing/glasses/hud/security, -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ dir = 8; icon_override = "secintercom"; pixel_x = 21 @@ -26929,7 +26929,7 @@ /turf/simulated/floor/tiled/airless, /area/rnd/test_area) "aZP" = ( -/obj/item/device/radio/beacon, +/obj/item/radio/beacon, /turf/simulated/floor/airless, /area/rnd/test_area) "aZQ" = ( @@ -26961,9 +26961,9 @@ /area/security/prison) "aZS" = ( /obj/structure/table/steel, -/obj/item/weapon/newspaper, -/obj/item/device/tape, -/obj/item/device/taperecorder{ +/obj/item/newspaper, +/obj/item/rectape, +/obj/item/taperecorder{ pixel_x = -4; pixel_y = 2 }, @@ -27026,8 +27026,8 @@ icon_state = "1-2" }, /obj/structure/table/steel, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /turf/simulated/floor/tiled, /area/security/prison) "aZY" = ( @@ -27337,8 +27337,8 @@ d2 = 8; icon_state = "4-8" }, -/obj/item/weapon/book/codex/corp_regs, -/obj/item/weapon/dice, +/obj/item/book/codex/corp_regs, +/obj/item/dice, /obj/effect/floor_decal/industrial/warning{ dir = 8 }, @@ -27356,7 +27356,7 @@ id = "air_in"; use_power = 1 }, -/obj/item/weapon/stool, +/obj/item/stool, /turf/simulated/floor/tiled, /area/security/prison) "baI" = ( @@ -27748,7 +27748,7 @@ /area/security/main) "bbn" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -27762,7 +27762,7 @@ /turf/simulated/floor/tiled, /area/security/main) "bbo" = ( -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ dir = 8; icon_override = "secintercom"; pixel_x = 21 @@ -27771,7 +27771,7 @@ /obj/machinery/chemical_dispenser/bar_soft/full{ dir = 8 }, -/obj/item/weapon/storage/box/glasses/square, +/obj/item/storage/box/glasses/square, /obj/effect/floor_decal/borderfloor{ dir = 4 }, @@ -27901,7 +27901,7 @@ /turf/simulated/floor/tiled, /area/security/prison) "bbB" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk... listen through this."; name = "Station Intercom (Brig Radio)"; pixel_y = -21; @@ -27979,7 +27979,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ dir = 1; pixel_y = -21 }, @@ -28028,10 +28028,10 @@ /obj/structure/window/reinforced{ dir = 8 }, -/obj/item/weapon/gun/projectile/colt/detective, -/obj/item/weapon/gun/projectile/colt/detective, -/obj/item/weapon/gun/projectile/colt/detective, -/obj/item/weapon/gun/projectile/colt/detective, +/obj/item/gun/projectile/colt/detective, +/obj/item/gun/projectile/colt/detective, +/obj/item/gun/projectile/colt/detective, +/obj/item/gun/projectile/colt/detective, /obj/structure/cable/green{ d1 = 2; d2 = 4; @@ -28085,7 +28085,7 @@ /area/security/brig) "bbP" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/laundry_basket, +/obj/item/storage/laundry_basket, /turf/simulated/floor/tiled/dark, /area/security/evidence_storage) "bbQ" = ( @@ -28115,7 +28115,7 @@ name = "Evidence Closet" }, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -28208,7 +28208,7 @@ "bca" = ( /obj/structure/table/standard, /obj/machinery/recharger, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, /obj/effect/floor_decal/borderfloor{ dir = 4 }, @@ -28516,7 +28516,7 @@ /area/security/main) "bcD" = ( /obj/structure/table/standard, -/obj/item/weapon/folder/red, +/obj/item/folder/red, /obj/item/clothing/glasses/hud/security, /obj/structure/cable/green{ d1 = 1; @@ -28529,11 +28529,11 @@ /area/security/main) "bcE" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled/red, /area/security/main) "bcF" = ( @@ -28556,7 +28556,7 @@ dir = 4 }, /obj/structure/table/standard, -/obj/item/weapon/storage/box/donut, +/obj/item/storage/box/donut, /obj/effect/floor_decal/borderfloor/corner{ dir = 4 }, @@ -28585,7 +28585,7 @@ pixel_x = -3; pixel_y = -2 }, -/obj/item/weapon/tool/screwdriver, +/obj/item/tool/screwdriver, /turf/simulated/floor/tiled, /area/security/range) "bcJ" = ( @@ -28607,7 +28607,7 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/gun/energy/laser/practice, +/obj/item/gun/energy/laser/practice, /turf/simulated/floor/tiled, /area/security/range) "bcL" = ( @@ -28615,7 +28615,7 @@ /obj/structure/window/reinforced{ dir = 1 }, -/obj/item/weapon/gun/energy/laser/practice, +/obj/item/gun/energy/laser/practice, /turf/simulated/floor/tiled, /area/security/range) "bcM" = ( @@ -28661,7 +28661,7 @@ c_tag = "SEC - Brig Cell 2"; dir = 8 }, -/obj/item/device/radio/headset, +/obj/item/radio/headset, /obj/effect/floor_decal/borderfloor{ dir = 4 }, @@ -28696,7 +28696,7 @@ c_tag = "SEC - Brig Cell 1"; dir = 8 }, -/obj/item/device/radio/headset, +/obj/item/radio/headset, /obj/effect/floor_decal/borderfloor{ dir = 4 }, @@ -28775,7 +28775,7 @@ /obj/machinery/camera/network/security{ c_tag = "SEC - Warden's Office" }, -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ pixel_y = 21 }, /turf/simulated/floor/tiled/dark, @@ -28801,15 +28801,15 @@ icon_state = "4-8" }, /obj/structure/table/steel_reinforced, -/obj/item/weapon/book/codex/corp_regs, -/obj/item/weapon/stamp/denied{ +/obj/item/book/codex/corp_regs, +/obj/item/stamp/denied{ pixel_x = 5 }, -/obj/item/weapon/stamp/ward, -/obj/item/weapon/tool/crowbar, -/obj/item/device/radio/off, -/obj/item/weapon/tool/wrench, -/obj/item/device/retail_scanner/security, +/obj/item/stamp/ward, +/obj/item/tool/crowbar, +/obj/item/radio/off, +/obj/item/tool/wrench, +/obj/item/retail_scanner/security, /obj/effect/floor_decal/industrial/outline/grey, /obj/machinery/light{ dir = 1 @@ -28882,8 +28882,8 @@ /obj/structure/extinguisher_cabinet{ pixel_y = 30 }, -/obj/item/weapon/folder/red, -/obj/item/weapon/folder/red, +/obj/item/folder/red, +/obj/item/folder/red, /obj/machinery/firealarm{ dir = 8; pixel_x = -24 @@ -28897,7 +28897,7 @@ /turf/simulated/floor/tiled, /area/security/security_processing) "bdi" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -28933,15 +28933,15 @@ /area/security/security_processing) "bdl" = ( /obj/structure/table/standard, -/obj/item/weapon/folder/red{ +/obj/item/folder/red{ pixel_x = 2; pixel_y = 4 }, -/obj/item/weapon/folder/red{ +/obj/item/folder/red{ pixel_x = 2; pixel_y = 4 }, -/obj/item/weapon/hand_labeler, +/obj/item/hand_labeler, /obj/effect/floor_decal/borderfloor{ dir = 5 }, @@ -28980,7 +28980,7 @@ /area/security/main) "bdp" = ( /obj/structure/table/standard, -/obj/item/weapon/folder/red, +/obj/item/folder/red, /obj/structure/cable/green{ d1 = 1; d2 = 2; @@ -28996,7 +28996,7 @@ /area/security/main) "bdq" = ( /obj/structure/table/standard, -/obj/item/weapon/folder/red, +/obj/item/folder/red, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, @@ -29182,7 +29182,7 @@ /turf/simulated/floor/tiled, /area/security/prison) "bdG" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -29225,13 +29225,13 @@ dir = 4; health = 1e+006 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/clipboard, -/obj/item/weapon/folder/red, -/obj/item/weapon/pen, +/obj/item/clipboard, +/obj/item/folder/red, +/obj/item/pen, /obj/machinery/door/firedoor/border_only, /turf/simulated/floor/tiled/dark, /area/security/warden) @@ -29286,7 +29286,7 @@ /area/security/security_processing) "bdS" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/evidence, +/obj/item/storage/box/evidence, /obj/effect/floor_decal/borderfloor{ dir = 4 }, @@ -29325,12 +29325,12 @@ dir = 8 }, /obj/structure/table/standard, -/obj/item/weapon/book/codex/corp_regs, +/obj/item/book/codex/corp_regs, /turf/simulated/floor/tiled/red, /area/security/main) "bdV" = ( /obj/structure/table/standard, -/obj/item/weapon/folder/red, +/obj/item/folder/red, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, @@ -29458,7 +29458,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk... listen through this."; name = "Station Intercom (Brig Radio)"; pixel_y = -21; @@ -29492,7 +29492,7 @@ /area/security/range) "bee" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/box/flashbangs{ +/obj/item/storage/box/flashbangs{ pixel_x = -2; pixel_y = -2 }, @@ -29510,8 +29510,8 @@ pixel_y = -26 }, /obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/box/blanks, -/obj/item/weapon/storage/box/blanks{ +/obj/item/storage/box/blanks, +/obj/item/storage/box/blanks{ pixel_x = 2; pixel_y = -2 }, @@ -29652,7 +29652,7 @@ name = "Visitation"; req_access = list(2) }, -/obj/item/weapon/book/codex/corp_regs, +/obj/item/book/codex/corp_regs, /obj/machinery/door/blast/regular{ density = 0; icon_state = "pdoor0"; @@ -29782,7 +29782,7 @@ /area/security/security_processing) "beA" = ( /obj/structure/table/standard, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, @@ -29793,8 +29793,8 @@ /area/security/security_processing) "beB" = ( /obj/structure/table/standard, -/obj/item/device/tape/random, -/obj/item/device/taperecorder, +/obj/item/rectape/random, +/obj/item/taperecorder, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 }, @@ -29810,11 +29810,11 @@ /area/security/security_processing) "beD" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/machinery/light{ dir = 4 }, @@ -29970,7 +29970,7 @@ /turf/simulated/floor/tiled, /area/security/security_cell_hallway) "beS" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -30024,7 +30024,7 @@ /turf/simulated/floor/tiled, /area/security/security_cell_hallway) "beV" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -30172,7 +30172,7 @@ dir = 4; health = 1e+006 }, -/obj/item/weapon/hand_labeler, +/obj/item/hand_labeler, /obj/machinery/door/firedoor/border_only, /turf/simulated/floor/tiled/dark, /area/security/warden) @@ -30217,7 +30217,7 @@ /area/security/security_processing) "bfk" = ( /obj/structure/table/standard, -/obj/item/device/camera, +/obj/item/camera, /obj/effect/floor_decal/borderfloor{ dir = 4 }, @@ -30293,12 +30293,12 @@ /area/security/main) "bfs" = ( /obj/structure/table/standard, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 }, -/obj/item/device/healthanalyzer, +/obj/item/healthanalyzer, /obj/item/stack/medical/bruise_pack{ pixel_x = -4; pixel_y = 3 @@ -30333,12 +30333,12 @@ d2 = 2; icon_state = "0-2" }, -/obj/item/weapon/reagent_containers/syringe/inaprovaline, -/obj/item/weapon/reagent_containers/syringe/inaprovaline{ +/obj/item/reagent_containers/syringe/inaprovaline, +/obj/item/reagent_containers/syringe/inaprovaline{ pixel_x = -2; pixel_y = 5 }, -/obj/item/weapon/reagent_containers/syringe/inaprovaline{ +/obj/item/reagent_containers/syringe/inaprovaline{ pixel_y = 10 }, /obj/effect/floor_decal/borderfloorwhite{ @@ -30351,7 +30351,7 @@ /area/security/aid_station) "bfu" = ( /obj/structure/table/standard, -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ dir = 8; icon_override = "secintercom"; pixel_x = 21 @@ -30359,7 +30359,7 @@ /obj/item/bodybag/cryobag{ pixel_x = 6 }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = 5; pixel_y = 5 }, @@ -30381,7 +30381,7 @@ "bfw" = ( /obj/structure/closet/bombclosetsecurity, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -30409,7 +30409,7 @@ "bfy" = ( /obj/structure/closet/l3closet/security, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ pixel_y = 21 }, /obj/machinery/camera/network/security{ @@ -30559,7 +30559,7 @@ d2 = 8; icon_state = "4-8" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -31368,12 +31368,12 @@ /area/security/aid_station) "bhb" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/seccarts{ +/obj/item/storage/box/seccarts{ pixel_x = 3; pixel_y = 2 }, -/obj/item/weapon/storage/box/handcuffs, -/obj/item/weapon/storage/box/flashbangs{ +/obj/item/storage/box/handcuffs, +/obj/item/storage/box/flashbangs{ pixel_x = -2; pixel_y = -2 }, @@ -31426,11 +31426,11 @@ /obj/structure/window/reinforced{ dir = 8 }, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/gun/energy/stunrevolver, -/obj/item/weapon/gun/energy/stunrevolver, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/stunrevolver, +/obj/item/gun/energy/stunrevolver, /obj/machinery/door/window/northleft, /turf/simulated/floor/tiled, /area/security/security_ses) @@ -31441,9 +31441,9 @@ dir = 4; health = 1e+006 }, -/obj/item/weapon/reagent_containers/spray/pepper, -/obj/item/weapon/reagent_containers/spray/pepper, -/obj/item/weapon/reagent_containers/spray/pepper, +/obj/item/reagent_containers/spray/pepper, +/obj/item/reagent_containers/spray/pepper, +/obj/item/reagent_containers/spray/pepper, /obj/machinery/door/window/northright, /turf/simulated/floor/tiled, /area/security/security_ses) @@ -31576,7 +31576,7 @@ dir = 1 }, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -32312,7 +32312,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 }, -/obj/item/weapon/stool, +/obj/item/stool, /turf/simulated/floor/plating, /area/security/riot_control) "bil" = ( @@ -32326,13 +32326,13 @@ /area/security/riot_control) "bim" = ( /obj/structure/table/steel, -/obj/item/weapon/pen, -/obj/item/weapon/paper, +/obj/item/pen, +/obj/item/paper, /obj/machinery/alarm{ dir = 4; pixel_x = -23 }, -/obj/item/device/radio/headset, +/obj/item/radio/headset, /turf/simulated/floor/tiled, /area/security/security_cell_hallway) "bin" = ( @@ -32355,26 +32355,26 @@ /area/security/security_cell_hallway) "bip" = ( /obj/structure/table/steel, -/obj/item/weapon/pen, -/obj/item/weapon/paper, +/obj/item/pen, +/obj/item/paper, /obj/machinery/alarm{ dir = 8; pixel_x = 22 }, -/obj/item/device/radio/headset, +/obj/item/radio/headset, /turf/simulated/floor/tiled, /area/security/security_cell_hallway) "biq" = ( /obj/structure/closet/secure_closet/brig, /obj/effect/floor_decal/industrial/outline/grey, /obj/machinery/light, -/obj/item/device/radio/headset, +/obj/item/radio/headset, /turf/simulated/floor/tiled/dark, /area/security/security_cell_hallway) "bir" = ( /obj/structure/closet/secure_closet/brig, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/device/radio/headset, +/obj/item/radio/headset, /turf/simulated/floor/tiled/dark, /area/security/security_cell_hallway) "bis" = ( @@ -32383,7 +32383,7 @@ /turf/simulated/floor/plating, /area/security/security_cell_hallway) "bit" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk... listen through this."; name = "Station Intercom (Brig Radio)"; pixel_y = -21; @@ -33423,7 +33423,7 @@ dir = 1 }, /obj/machinery/portable_atmospherics/powered/scrubber, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /obj/effect/floor_decal/industrial/warning{ dir = 6 }, @@ -33435,7 +33435,7 @@ "bjZ" = ( /obj/structure/table/reinforced, /obj/machinery/microscope, -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ pixel_y = 21 }, /turf/simulated/floor/tiled/freezer, @@ -33450,7 +33450,7 @@ /obj/structure/window/reinforced{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -33473,10 +33473,10 @@ pixel_x = -12; pixel_y = 24 }, -/obj/item/weapon/handcuffs, -/obj/item/weapon/storage/fancy/cigarettes/dromedaryco, -/obj/item/device/tape/random, -/obj/item/device/taperecorder{ +/obj/item/handcuffs, +/obj/item/storage/fancy/cigarettes/dromedaryco, +/obj/item/rectape/random, +/obj/item/taperecorder{ pixel_x = -4; pixel_y = 2 }, @@ -33488,7 +33488,7 @@ /area/security/detectives_office) "bkd" = ( /obj/structure/table/wooden_reinforced, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /obj/machinery/camera/network/security{ c_tag = "SEC - Detective Office" }, @@ -33520,7 +33520,7 @@ /area/security/detectives_office) "bkg" = ( /obj/structure/closet/wardrobe/detective, -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ dir = 8; icon_override = "secintercom"; pixel_x = 21 @@ -33531,7 +33531,7 @@ /turf/simulated/floor/lino, /area/security/detectives_office) "bkh" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -33561,7 +33561,7 @@ /obj/machinery/computer/secure_data{ dir = 8 }, -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ dir = 8; icon_override = "secintercom"; pixel_x = 21 @@ -33626,7 +33626,7 @@ /turf/simulated/floor/tiled, /area/security/lobby) "bkp" = ( -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ dir = 8; icon_override = "secintercom"; pixel_x = 21 @@ -33898,7 +33898,7 @@ /area/security/riot_control) "bkO" = ( /obj/structure/table/steel, -/obj/item/device/t_scanner, +/obj/item/t_scanner, /obj/random/tech_supply, /obj/random/tech_supply, /turf/simulated/floor/plating, @@ -33936,7 +33936,7 @@ /turf/simulated/floor/tiled/white, /area/security/detectives_office) "bkT" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/structure/disposalpipe/segment{ dir = 4 }, @@ -33945,14 +33945,14 @@ /area/security/detectives_office) "bkU" = ( /obj/structure/table/reinforced, -/obj/item/weapon/folder/red, -/obj/item/weapon/folder/blue{ +/obj/item/folder/red, +/obj/item/folder/blue{ pixel_y = -3 }, -/obj/item/weapon/folder/yellow{ +/obj/item/folder/yellow{ pixel_y = -5 }, -/obj/item/weapon/storage/box/swabs{ +/obj/item/storage/box/swabs{ layer = 5 }, /obj/structure/disposalpipe/segment{ @@ -33968,8 +33968,8 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/item/weapon/reagent_containers/spray/pepper, -/obj/item/device/flash, +/obj/item/reagent_containers/spray/pepper, +/obj/item/flash, /turf/simulated/floor/lino, /area/security/detectives_office) "bkW" = ( @@ -33993,7 +33993,7 @@ /turf/simulated/floor/carpet, /area/security/detectives_office) "bkY" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable/green{ @@ -34008,10 +34008,10 @@ /area/security/detectives_office) "bla" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/briefcase{ +/obj/item/storage/briefcase{ pixel_x = 3 }, -/obj/item/weapon/storage/briefcase{ +/obj/item/storage/briefcase{ pixel_x = -2; pixel_y = -5 }, @@ -34062,7 +34062,7 @@ d2 = 8; icon_state = "4-8" }, -/obj/item/weapon/book/codex/corp_regs, +/obj/item/book/codex/corp_regs, /obj/structure/disposalpipe/segment, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/red/border, @@ -34081,11 +34081,11 @@ d2 = 4; icon_state = "1-4" }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/red/border, /turf/simulated/floor/tiled, @@ -34143,7 +34143,7 @@ /area/crew_quarters/heads/sc/hos) "blm" = ( /obj/machinery/disposal, -/obj/item/weapon/storage/secure/safe{ +/obj/item/storage/secure/safe{ pixel_x = 5; pixel_y = 28 }, @@ -34272,8 +34272,8 @@ /area/lawoffice) "blv" = ( /obj/structure/table/reinforced, -/obj/item/weapon/clipboard, -/obj/item/weapon/clipboard, +/obj/item/clipboard, +/obj/item/clipboard, /obj/structure/extinguisher_cabinet{ pixel_y = 30 }, @@ -34688,8 +34688,8 @@ /area/security/detectives_office) "bmd" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/briefcase/crimekit, -/obj/item/weapon/storage/briefcase/crimekit, +/obj/item/storage/briefcase/crimekit, +/obj/item/storage/briefcase/crimekit, /turf/simulated/floor/tiled/freezer, /area/security/detectives_office) "bme" = ( @@ -34697,11 +34697,11 @@ /obj/structure/window/reinforced{ dir = 8 }, -/obj/item/weapon/storage/photo_album{ +/obj/item/storage/photo_album{ pixel_y = -10 }, -/obj/item/device/camera_film, -/obj/item/device/camera{ +/obj/item/camera_film, +/obj/item/camera{ desc = "A one use - polaroid camera. 30 photos left."; name = "detectives camera"; pictures_left = 30; @@ -34712,8 +34712,8 @@ /area/security/detectives_office) "bmf" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /obj/item/clothing/glasses/sunglasses, /turf/simulated/floor/carpet, /area/security/detectives_office) @@ -34880,7 +34880,7 @@ /area/crew_quarters/heads/sc/hos) "bmw" = ( /obj/structure/table/reinforced, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /obj/effect/floor_decal/borderfloorblack{ dir = 8 }, @@ -34891,18 +34891,18 @@ /area/lawoffice) "bmx" = ( /obj/structure/table/reinforced, -/obj/item/weapon/folder{ +/obj/item/folder{ pixel_x = -4 }, -/obj/item/weapon/folder/red{ +/obj/item/folder/red{ pixel_y = 3 }, -/obj/item/weapon/folder/blue{ +/obj/item/folder/blue{ pixel_x = 5 }, -/obj/item/weapon/folder/yellow, -/obj/item/weapon/stamp/internalaffairs, -/obj/item/weapon/stamp/denied{ +/obj/item/folder/yellow, +/obj/item/stamp/internalaffairs, +/obj/item/stamp/denied{ pixel_x = 4; pixel_y = -2 }, @@ -34910,19 +34910,19 @@ /area/lawoffice) "bmy" = ( /obj/structure/table/reinforced, -/obj/item/weapon/pen/blue{ +/obj/item/pen/blue{ pixel_x = -5; pixel_y = -1 }, -/obj/item/weapon/pen/red{ +/obj/item/pen/red{ pixel_x = -1; pixel_y = 3 }, -/obj/item/weapon/material/ashtray/plastic{ +/obj/item/material/ashtray/plastic{ pixel_x = 4; pixel_y = 6 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, @@ -35138,7 +35138,7 @@ "bmW" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -35190,9 +35190,9 @@ /obj/structure/closet{ name = "Evidence Closet" }, -/obj/item/weapon/storage/box/gloves, -/obj/item/weapon/storage/box/evidence, -/obj/item/weapon/storage/box/bodybags, +/obj/item/storage/box/gloves, +/obj/item/storage/box/evidence, +/obj/item/storage/box/bodybags, /obj/machinery/alarm{ dir = 4; pixel_x = -22 @@ -35265,7 +35265,7 @@ /turf/simulated/floor/carpet, /area/security/detectives_office) "bnj" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, @@ -35356,7 +35356,7 @@ d2 = 8; icon_state = "4-8" }, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = 10; pixel_y = 12 }, @@ -35370,8 +35370,8 @@ icon_state = "1-8" }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/item/weapon/folder/red, -/obj/item/weapon/stamp/hos, +/obj/item/folder/red, +/obj/item/stamp/hos, /obj/structure/table/reinforced, /turf/simulated/floor/carpet, /area/crew_quarters/heads/sc/hos) @@ -35386,14 +35386,14 @@ /obj/machinery/recharger{ pixel_y = 4 }, -/obj/item/weapon/reagent_containers/food/drinks/flask/barflask{ +/obj/item/reagent_containers/food/drinks/flask/barflask{ pixel_x = -4; pixel_y = 8 }, -/obj/item/device/tape/random, -/obj/item/device/taperecorder, -/obj/item/device/megaphone, -/obj/item/device/radio/off, +/obj/item/rectape/random, +/obj/item/taperecorder, +/obj/item/megaphone, +/obj/item/radio/off, /obj/machinery/light{ dir = 4 }, @@ -35634,8 +35634,8 @@ /area/security/detectives_office) "bof" = ( /obj/structure/table/wooden_reinforced, -/obj/item/device/flashlight/lamp/green, -/obj/item/device/radio/intercom{ +/obj/item/flashlight/lamp/green, +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -35763,7 +35763,7 @@ /obj/effect/floor_decal/corner/blue/border{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -35818,12 +35818,12 @@ name = "Head of Security RC"; pixel_x = 30 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/folder/red_hos, -/obj/item/weapon/pen/multi, +/obj/item/folder/red_hos, +/obj/item/pen/multi, /obj/structure/table/reinforced, /obj/effect/floor_decal/borderfloorblack{ dir = 4 @@ -35926,7 +35926,7 @@ /obj/item/honey_frame, /obj/item/honey_frame, /obj/item/bee_pack, -/obj/item/weapon/tool/crowbar, +/obj/item/tool/crowbar, /turf/simulated/floor/tiled/white, /area/rnd/xenobiology/xenoflora) "boD" = ( @@ -36168,14 +36168,14 @@ /turf/simulated/floor/tiled/white, /area/security/detectives_office) "bpf" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled/white, /area/security/detectives_office) "bpg" = ( /obj/structure/table/reinforced, -/obj/item/device/mass_spectrometer/adv, -/obj/item/device/reagent_scanner, -/obj/item/weapon/reagent_containers/syringe, +/obj/item/mass_spectrometer/adv, +/obj/item/reagent_scanner, +/obj/item/reagent_containers/syringe, /turf/simulated/floor/tiled/freezer, /area/security/detectives_office) "bph" = ( @@ -36202,10 +36202,10 @@ /area/security/detectives_office) "bpk" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/handcuffs, -/obj/item/weapon/storage/fancy/cigarettes/dromedaryco, -/obj/item/device/tape/random, -/obj/item/device/taperecorder{ +/obj/item/handcuffs, +/obj/item/storage/fancy/cigarettes/dromedaryco, +/obj/item/rectape/random, +/obj/item/taperecorder{ pixel_x = -4; pixel_y = 2 }, @@ -36245,7 +36245,7 @@ /area/security/lobby) "bpp" = ( /obj/structure/filingcabinet, -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ dir = 4; icon_override = "secintercom"; pixel_x = -21 @@ -36312,24 +36312,24 @@ /turf/simulated/floor/tiled/dark, /area/crew_quarters/heads/sc/hos) "bpu" = ( -/obj/item/device/taperecorder{ +/obj/item/taperecorder{ pixel_x = -4; pixel_y = 2 }, -/obj/item/device/camera{ +/obj/item/camera{ pixel_x = 3; pixel_y = -4 }, -/obj/item/device/flash, -/obj/item/device/flash, -/obj/item/weapon/storage/secure/briefcase, +/obj/item/flash, +/obj/item/flash, +/obj/item/storage/secure/briefcase, /obj/structure/closet, -/obj/item/weapon/storage/secure/briefcase, -/obj/item/device/taperecorder{ +/obj/item/storage/secure/briefcase, +/obj/item/taperecorder{ pixel_x = -4; pixel_y = 2 }, -/obj/item/device/camera{ +/obj/item/camera{ pixel_x = 3; pixel_y = -4 }, @@ -36422,8 +36422,8 @@ }, /obj/machinery/meter, /obj/item/clothing/mask/gas, -/obj/item/device/flashlight, -/obj/item/device/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, /obj/random/maintenance/research, /obj/random/maintenance/cargo, /obj/random/maintenance/security, @@ -36659,8 +36659,8 @@ /area/security/detectives_office) "bqc" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/spray/luminol, -/obj/item/device/uv_light, +/obj/item/reagent_containers/spray/luminol, +/obj/item/uv_light, /obj/item/clothing/gloves/sterile/latex, /obj/machinery/requests_console{ department = "Security"; @@ -36672,18 +36672,18 @@ /area/security/detectives_office) "bqd" = ( /obj/structure/table/reinforced, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk... listen through this."; name = "Station Intercom (Brig Radio)"; pixel_y = -21; wires = 7 }, -/obj/item/weapon/forensics/sample_kit, +/obj/item/forensics/sample_kit, /turf/simulated/floor/tiled/freezer, /area/security/detectives_office) "bqe" = ( /obj/structure/table/reinforced, -/obj/item/weapon/forensics/sample_kit/powder, +/obj/item/forensics/sample_kit/powder, /turf/simulated/floor/tiled/freezer, /area/security/detectives_office) "bqf" = ( @@ -36697,7 +36697,7 @@ /turf/simulated/floor/lino, /area/security/detectives_office) "bqg" = ( -/obj/item/weapon/storage/secure/safe{ +/obj/item/storage/secure/safe{ pixel_x = 5; pixel_y = -26 }, @@ -36705,16 +36705,16 @@ /area/security/detectives_office) "bqh" = ( /obj/structure/bookcase, -/obj/item/weapon/book/codex/corp_regs, +/obj/item/book/codex/corp_regs, /turf/simulated/floor/lino, /area/security/detectives_office) "bqi" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/photo_album{ +/obj/item/storage/photo_album{ pixel_y = -10 }, -/obj/item/device/camera_film, -/obj/item/device/camera{ +/obj/item/camera_film, +/obj/item/camera{ desc = "A one use - polaroid camera. 30 photos left."; name = "detectives camera"; pictures_left = 30; @@ -36726,8 +36726,8 @@ /area/security/detectives_office) "bqj" = ( /obj/structure/closet/secure_closet/detective, -/obj/item/weapon/reagent_containers/spray/pepper, -/obj/item/device/flash, +/obj/item/reagent_containers/spray/pepper, +/obj/item/flash, /turf/simulated/floor/lino, /area/security/detectives_office) "bqk" = ( @@ -36735,7 +36735,7 @@ /turf/simulated/floor/lino, /area/security/detectives_office) "bql" = ( -/obj/item/weapon/bedsheet/ian, +/obj/item/bedsheet/ian, /obj/item/clothing/suit/ianshirt, /turf/simulated/floor/plating, /area/security/lobby) @@ -36794,11 +36794,11 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/storage/briefcase{ +/obj/item/storage/briefcase{ pixel_x = -2; pixel_y = -5 }, -/obj/item/weapon/storage/briefcase{ +/obj/item/storage/briefcase{ pixel_x = 3 }, /obj/machinery/status_display{ @@ -36846,7 +36846,7 @@ /area/lawoffice) "bqw" = ( /obj/structure/table/reinforced, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/blue/border, /turf/simulated/floor/tiled/dark, @@ -36883,8 +36883,8 @@ /area/maintenance/security_starboard) "bqz" = ( /obj/structure/closet/wardrobe/grey, -/obj/item/weapon/storage/backpack, -/obj/item/weapon/storage/backpack, +/obj/item/storage/backpack, +/obj/item/storage/backpack, /obj/random/maintenance/security, /obj/random/maintenance/security, /obj/random/maintenance/clean, @@ -37028,8 +37028,8 @@ name_tag = "Atmospherics Subgrid" }, /obj/structure/table/rack, -/obj/item/weapon/tank/oxygen/yellow, -/obj/item/weapon/tank/oxygen/yellow, +/obj/item/tank/oxygen/yellow, +/obj/item/tank/oxygen/yellow, /obj/machinery/alarm{ pixel_y = 23 }, @@ -37177,7 +37177,7 @@ /area/hallway/secondary/eva_hallway) "brl" = ( /obj/structure/table/glass, -/obj/item/weapon/book/codex/lore/vir, +/obj/item/book/codex/lore/vir, /turf/simulated/floor/tiled/dark, /area/hallway/secondary/eva_hallway) "brm" = ( @@ -37308,7 +37308,7 @@ /obj/machinery/camera/network/engineering{ c_tag = "ENG - Atmospherics Central" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -37559,17 +37559,17 @@ /area/ai_monitored/storage/eva) "brZ" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/toolbox/electrical{ +/obj/item/storage/toolbox/electrical{ pixel_x = 1; pixel_y = -1 }, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_x = -2; pixel_y = -1 }, -/obj/item/device/multitool, +/obj/item/multitool, /obj/item/clothing/head/welding, -/obj/item/weapon/storage/belt/utility, +/obj/item/storage/belt/utility, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/tiled/dark, /area/ai_monitored/storage/eva) @@ -37611,10 +37611,10 @@ /area/ai_monitored/storage/eva) "bsg" = ( /obj/structure/table/rack, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, /obj/effect/floor_decal/industrial/warning, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -37624,11 +37624,11 @@ "bsh" = ( /obj/structure/table/reinforced, /obj/machinery/cell_charger, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, @@ -37640,9 +37640,9 @@ pixel_x = 3; pixel_y = -7 }, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/item/radio/off, /obj/effect/floor_decal/industrial/warning, /obj/item/stack/material/copper{ amount = 10 @@ -37720,7 +37720,7 @@ d2 = 4; icon_state = "2-4" }, -/obj/item/device/radio/beacon, +/obj/item/radio/beacon, /obj/machinery/navbeacon/patrol{ location = "SEC"; next_patrol = "CH1" @@ -39547,11 +39547,11 @@ /area/maintenance/engineering) "bvH" = ( /obj/structure/closet/crate, -/obj/item/weapon/storage/backpack, -/obj/item/device/multitool, -/obj/item/device/multitool, -/obj/item/device/assembly/prox_sensor, -/obj/item/device/flashlight, +/obj/item/storage/backpack, +/obj/item/multitool, +/obj/item/multitool, +/obj/item/assembly/prox_sensor, +/obj/item/flashlight, /obj/random/maintenance/engineering, /obj/random/maintenance/engineering, /obj/random/maintenance/cargo, @@ -39574,15 +39574,15 @@ /obj/random/maintenance/engineering, /obj/random/maintenance/engineering, /obj/random/powercell, -/obj/item/weapon/coin/silver, +/obj/item/coin/silver, /turf/simulated/floor/plating, /area/maintenance/engineering) "bvK" = ( /obj/structure/table/rack, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /obj/item/clothing/head/hardhat/red, /obj/item/clothing/mask/gas, -/obj/item/device/flashlight, +/obj/item/flashlight, /obj/item/clothing/glasses/meson, /obj/random/maintenance/cargo, /turf/simulated/floor, @@ -39615,7 +39615,7 @@ health = 1e+006 }, /obj/item/clothing/mask/breath, -/obj/item/weapon/rig/breacher, +/obj/item/rig/breacher, /obj/machinery/door/window/eastleft{ name = "E.V.A."; req_one_access = list(18) @@ -39626,14 +39626,14 @@ /turf/simulated/floor/tiled/dark, /area/ai_monitored/storage/eva) "bvO" = ( -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 6 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_y = 3 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = -3 }, /obj/structure/table/reinforced, @@ -39735,7 +39735,7 @@ /turf/simulated/wall, /area/maintenance/research) "bwa" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/landmark/start{ name = "Janitor" }, @@ -39799,20 +39799,20 @@ /turf/simulated/floor/tiled, /area/janitor) "bwe" = ( -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, /obj/machinery/requests_console{ department = "Janitorial"; departmentType = 1; pixel_y = 28 }, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, /obj/structure/table/steel, -/obj/item/weapon/storage/box/mousetraps, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/storage/box/mousetraps, +/obj/item/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, +/obj/item/reagent_containers/spray/cleaner, /obj/machinery/newscaster{ pixel_x = 30 }, @@ -39898,15 +39898,15 @@ /area/storage/auxillary) "bwj" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/box, -/obj/item/weapon/storage/box, -/obj/item/weapon/tape_roll{ +/obj/item/storage/box, +/obj/item/storage/box, +/obj/item/tape_roll{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/tape_roll, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, +/obj/item/tape_roll, +/obj/item/packageWrap, +/obj/item/packageWrap, /obj/machinery/firealarm{ dir = 4; pixel_x = 24 @@ -40010,9 +40010,9 @@ "bwt" = ( /obj/effect/floor_decal/industrial/warning/corner, /obj/structure/closet/crate/internals, -/obj/item/weapon/tank/emergency/oxygen/engi, -/obj/item/weapon/tank/emergency/oxygen/engi, -/obj/item/weapon/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/double, /obj/random/tank, /obj/random/maintenance/research, /obj/random/maintenance/research, @@ -40226,7 +40226,7 @@ pixel_y = 24 }, /obj/structure/table/steel, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "The big blue box recently installed in here is a 'grid checker' which will shut off the power if a dangerous power spike from the engine erupts into the powernet. Shutting everything down protects everything from electrical damage, however the outages can be disruptive to colony operations, so it is designed to restore power after a somewhat significant delay, up to ten minutes or so. The grid checker can be manually hacked in order to end the outage sooner. To do that, you must cut three specific wires which do not cause a red light to shine, then pulse a fourth wire. Electrical protection is highly recommended when doing maintenance on the grid checker."; name = "grid checker info" }, @@ -40414,7 +40414,7 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, /obj/item/clothing/shoes/magboots, /obj/machinery/door/window/westright{ name = "E.V.A."; @@ -40435,7 +40435,7 @@ dir = 8; layer = 2.6 }, -/obj/item/weapon/rig/eva/equipped, +/obj/item/rig/eva/equipped, /obj/machinery/door/window/westright{ name = "Engineering Hardsuits"; req_one_access = list(11,24) @@ -40561,7 +40561,7 @@ /turf/simulated/floor/tiled, /area/janitor) "bxn" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/landmark/start{ name = "Janitor" }, @@ -40569,11 +40569,11 @@ /area/janitor) "bxo" = ( /obj/structure/table/steel, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/machinery/camera/network/civilian{ c_tag = "CIV - Custodial Closet"; dir = 9 @@ -40630,16 +40630,16 @@ /area/storage/auxillary) "bxt" = ( /obj/structure/table/steel, -/obj/item/device/camera_film{ +/obj/item/camera_film{ pixel_x = 2; pixel_y = 2 }, -/obj/item/device/camera_film{ +/obj/item/camera_film{ pixel_x = -2; pixel_y = -2 }, -/obj/item/device/camera, -/obj/item/device/camera{ +/obj/item/camera, +/obj/item/camera{ pixel_x = 3; pixel_y = -4 }, @@ -41002,7 +41002,7 @@ c_tag = "ENG - Atmospherics Monitoring Room"; dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -41164,7 +41164,7 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, /obj/item/clothing/shoes/magboots, /obj/machinery/door/window/westleft{ name = "E.V.A."; @@ -41269,7 +41269,7 @@ /obj/structure/extinguisher_cabinet{ pixel_x = -28 }, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /obj/effect/floor_decal/borderfloor{ dir = 8 }, @@ -41350,15 +41350,15 @@ /area/storage/auxillary) "byF" = ( /obj/structure/table/steel, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen/blue{ +/obj/item/pen/blue{ pixel_x = -5; pixel_y = -1 }, -/obj/item/weapon/pen/red{ +/obj/item/pen/red{ pixel_x = -1; pixel_y = 3 }, @@ -41366,7 +41366,7 @@ c_tag = "CIV - Auxiliary Storage"; dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -41377,8 +41377,8 @@ /obj/effect/floor_decal/corner/yellow/border{ dir = 4 }, -/obj/item/weapon/storage/fancy/markers, -/obj/item/weapon/storage/fancy/markers, +/obj/item/storage/fancy/markers, +/obj/item/storage/fancy/markers, /turf/simulated/floor/tiled, /area/storage/auxillary) "byG" = ( @@ -41498,7 +41498,7 @@ /turf/simulated/floor/plating, /area/maintenance/research) "byU" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -41592,10 +41592,10 @@ pixel_x = 32 }, /obj/machinery/cell_charger, -/obj/item/device/multitool{ +/obj/item/multitool{ pixel_x = 5 }, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /obj/structure/disposalpipe/segment{ dir = 2; icon_state = "pipe-c" @@ -41616,8 +41616,8 @@ }, /obj/item/clothing/gloves/black, /obj/item/clothing/gloves/black, -/obj/item/weapon/storage/belt/utility/atmostech, -/obj/item/weapon/storage/belt/utility/atmostech, +/obj/item/storage/belt/utility/atmostech, +/obj/item/storage/belt/utility/atmostech, /obj/machinery/camera/network/engineering{ c_tag = "ENG - Atmospherics Aft Port"; dir = 1 @@ -41635,7 +41635,7 @@ /turf/simulated/floor/tiled, /area/engineering/atmos) "bzh" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled, /area/engineering/atmos) "bzi" = ( @@ -41730,7 +41730,7 @@ /area/maintenance/engineering) "bzt" = ( /obj/structure/closet/toolcloset, -/obj/item/device/flashlight/maglight, +/obj/item/flashlight/maglight, /turf/simulated/floor/plating, /area/maintenance/engineering) "bzu" = ( @@ -41795,7 +41795,7 @@ dir = 8; pixel_x = -24 }, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /obj/effect/floor_decal/borderfloor{ dir = 8 }, @@ -41876,8 +41876,8 @@ /area/storage/auxillary) "bzI" = ( /obj/structure/table/steel, -/obj/item/weapon/hand_labeler, -/obj/item/weapon/hand_labeler, +/obj/item/hand_labeler, +/obj/item/hand_labeler, /obj/effect/floor_decal/borderfloor{ dir = 4 }, @@ -42372,7 +42372,7 @@ dir = 1; pixel_y = -22 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -42430,7 +42430,7 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -42748,17 +42748,17 @@ /area/janitor) "bAY" = ( /obj/structure/mopbucket, -/obj/item/weapon/mop, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/mop, +/obj/item/reagent_containers/glass/bucket, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/purple/border, /turf/simulated/floor/tiled, /area/janitor) "bAZ" = ( /obj/structure/mopbucket, -/obj/item/weapon/mop, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/device/radio/intercom{ +/obj/item/mop, +/obj/item/reagent_containers/glass/bucket, +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -42807,10 +42807,10 @@ /area/storage/auxillary) "bBe" = ( /obj/structure/table/steel, -/obj/item/device/tape/random, -/obj/item/device/tape/random, -/obj/item/device/taperecorder, -/obj/item/device/taperecorder, +/obj/item/rectape/random, +/obj/item/rectape/random, +/obj/item/taperecorder, +/obj/item/taperecorder, /obj/structure/extinguisher_cabinet{ pixel_x = 28 }, @@ -42856,8 +42856,8 @@ /area/maintenance/research) "bBk" = ( /obj/structure/closet, -/obj/item/device/flashlight, -/obj/item/device/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, /obj/random/maintenance/security, /obj/random/maintenance/clean, /obj/random/maintenance/clean, @@ -43154,7 +43154,7 @@ /obj/structure/disposalpipe/trunk{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -43169,13 +43169,13 @@ name = "Atmos RC"; pixel_y = -32 }, -/obj/item/device/t_scanner, -/obj/item/device/radio/headset/headset_eng, -/obj/item/weapon/cartridge/atmos, -/obj/item/weapon/cartridge/atmos, +/obj/item/t_scanner, +/obj/item/radio/headset/headset_eng, +/obj/item/cartridge/atmos, +/obj/item/cartridge/atmos, /obj/item/clothing/ears/earmuffs, /obj/item/clothing/ears/earmuffs, -/obj/item/device/pipe_painter, +/obj/item/pipe_painter, /obj/machinery/light/spot, /turf/simulated/floor/tiled, /area/engineering/atmos) @@ -43544,8 +43544,8 @@ "bCB" = ( /obj/structure/table, /obj/item/stack/material/plastic, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/weldingtool/hugetank, +/obj/item/tool/wrench, +/obj/item/weldingtool/hugetank, /turf/simulated/floor/plating, /area/maintenance/research) "bCC" = ( @@ -43557,7 +43557,7 @@ /turf/simulated/floor/plating, /area/maintenance/research) "bCE" = ( -/obj/item/weapon/rig/hazmat/equipped, +/obj/item/rig/hazmat/equipped, /obj/structure/window/reinforced{ dir = 1 }, @@ -43644,21 +43644,21 @@ /area/crew_quarters/heads/sc/hor) "bCI" = ( /obj/structure/table/reinforced, -/obj/item/weapon/circuitboard/teleporter, -/obj/item/weapon/circuitboard/aicore{ +/obj/item/circuitboard/teleporter, +/obj/item/circuitboard/aicore{ pixel_x = -2; pixel_y = 4 }, -/obj/item/weapon/cartridge/signal/science, -/obj/item/weapon/cartridge/signal/science{ +/obj/item/cartridge/signal/science, +/obj/item/cartridge/signal/science{ pixel_x = -4; pixel_y = 2 }, -/obj/item/weapon/cartridge/signal/science{ +/obj/item/cartridge/signal/science{ pixel_x = 4; pixel_y = 6 }, -/obj/item/device/megaphone, +/obj/item/megaphone, /obj/machinery/requests_console{ announcementConsole = 1; department = "Research Director's Desk"; @@ -43694,7 +43694,7 @@ /area/rnd/research) "bCL" = ( /obj/structure/closet/secure_closet/scientist, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -43907,7 +43907,7 @@ pixel_y = 22; req_one_access = list(8,13,65) }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -44150,9 +44150,9 @@ dir = 1 }, /obj/item/clothing/suit/fire/firefighter, -/obj/item/weapon/tank/oxygen, +/obj/item/tank/oxygen, /obj/item/clothing/mask/gas, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /obj/item/clothing/head/hardhat/red, /obj/item/clothing/glasses/meson, /obj/random/maintenance/engineering, @@ -44171,8 +44171,8 @@ /area/maintenance/engineering) "bDK" = ( /obj/structure/closet/wardrobe/grey, -/obj/item/weapon/storage/backpack, -/obj/item/weapon/storage/backpack, +/obj/item/storage/backpack, +/obj/item/storage/backpack, /obj/random/maintenance/security, /obj/random/maintenance/security, /obj/random/maintenance/clean, @@ -44205,7 +44205,7 @@ /turf/simulated/floor/tiled, /area/hallway/primary/seconddeck/fscenter) "bDO" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -44410,14 +44410,14 @@ /area/crew_quarters/heads/sc/hor) "bEf" = ( /obj/structure/table/reinforced, -/obj/item/device/paicard{ +/obj/item/paicard{ pixel_x = 4 }, -/obj/item/device/tape, -/obj/item/device/taperecorder{ +/obj/item/rectape, +/obj/item/taperecorder{ pixel_x = -3 }, -/obj/item/weapon/reagent_containers/food/drinks/jar, +/obj/item/reagent_containers/food/drinks/jar, /obj/effect/floor_decal/borderfloorwhite{ dir = 4 }, @@ -44569,7 +44569,7 @@ "bEz" = ( /obj/machinery/portable_atmospherics/canister/carbon_dioxide, /obj/effect/floor_decal/industrial/hatch/yellow, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -44875,7 +44875,7 @@ /turf/simulated/floor/tiled, /area/engineering/engineer_eva) "bFc" = ( -/obj/item/weapon/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, /obj/structure/window/reinforced{ dir = 4; health = 1e+006 @@ -44912,7 +44912,7 @@ "bFe" = ( /obj/structure/closet, /obj/item/clothing/glasses/welding, -/obj/item/weapon/weldingtool, +/obj/item/weldingtool, /obj/effect/decal/cleanable/dirt, /obj/item/clothing/shoes/boots/workboots, /obj/random/maintenance/engineering, @@ -45254,7 +45254,7 @@ /obj/structure/table/steel, /obj/machinery/cell_charger, /obj/item/stack/cable_coil, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, @@ -45306,8 +45306,8 @@ /area/crew_quarters/heads/sc/hor) "bFL" = ( /obj/structure/table/reinforced, -/obj/item/weapon/folder/white_rd, -/obj/item/weapon/stamp/rd{ +/obj/item/folder/white_rd, +/obj/item/stamp/rd{ pixel_x = 3; pixel_y = -2 }, @@ -45393,12 +45393,12 @@ /area/rnd/toxins_launch) "bFV" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/pen/multi, -/obj/item/weapon/paper/monitorkey, +/obj/item/pen/multi, +/obj/item/paper/monitorkey, /obj/effect/floor_decal/borderfloorwhite{ dir = 4 }, @@ -45425,31 +45425,31 @@ /obj/machinery/light{ dir = 1 }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#800080"; name = "purple towel" }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#800080"; name = "purple towel" }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#800080"; name = "purple towel" }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#800080"; name = "purple towel" }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#800080"; name = "purple towel" }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#800080"; name = "purple towel" }, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /obj/random/soap, /obj/structure/cable/green{ d1 = 2; @@ -45471,7 +45471,7 @@ dir = 8; pixel_x = 22 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -45887,7 +45887,7 @@ /obj/effect/floor_decal/corner/green/border{ dir = 1 }, -/obj/item/weapon/bikehorn/rubberducky, +/obj/item/bikehorn/rubberducky, /turf/simulated/floor/tiled/dark, /area/rnd/workshop) "bGF" = ( @@ -46033,7 +46033,7 @@ /turf/simulated/floor/tiled, /area/engineering/engineer_eva) "bGR" = ( -/obj/item/weapon/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, /obj/structure/window/reinforced{ dir = 4; health = 1e+006 @@ -46160,7 +46160,7 @@ /turf/simulated/floor/plating, /area/storage/emergency_storage/seconddeck/fs_emergency) "bHg" = ( -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /obj/structure/table/steel, /obj/random/maintenance/clean, /obj/random/maintenance/clean, @@ -46329,18 +46329,18 @@ /area/rnd/research) "bHu" = ( /obj/structure/table/glass, -/obj/item/weapon/material/minihoe, -/obj/item/weapon/material/minihoe, -/obj/item/weapon/material/knife/machete/hatchet, -/obj/item/weapon/material/knife/machete/hatchet, +/obj/item/material/minihoe, +/obj/item/material/minihoe, +/obj/item/material/knife/machete/hatchet, +/obj/item/material/knife/machete/hatchet, /turf/simulated/floor/tiled/white, /area/rnd/xenobiology/xenoflora) "bHv" = ( /obj/structure/sink/kitchen{ pixel_y = 28 }, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /obj/machinery/atmospherics/pipe/simple/hidden/yellow, /turf/simulated/floor/tiled/white, /area/rnd/xenobiology/xenoflora) @@ -46376,7 +46376,7 @@ /area/rnd/storage) "bHz" = ( /obj/structure/closet/crate/hydroponics/exotic, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -46396,7 +46396,7 @@ /obj/machinery/atmospherics/pipe/simple/visible{ dir = 10 }, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /obj/structure/extinguisher_cabinet{ pixel_y = 30 }, @@ -46698,7 +46698,7 @@ /turf/simulated/floor/tiled/dark, /area/engineering/hallway/atmos_hallway) "bIm" = ( -/obj/item/device/t_scanner, +/obj/item/t_scanner, /obj/structure/table/steel, /obj/machinery/alarm{ dir = 8; @@ -46751,7 +46751,7 @@ /obj/machinery/computer/atmos_alert{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -46783,7 +46783,7 @@ name = "Engineering Suits"; req_access = list(11) }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -46813,15 +46813,15 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 6 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_y = 3 }, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, /turf/simulated/floor/tiled/dark, /area/engineering/engineer_eva) "bIv" = ( @@ -46889,9 +46889,9 @@ /turf/simulated/floor/plating, /area/maintenance/engineering) "bIA" = ( -/obj/item/device/t_scanner, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/t_scanner, +/obj/item/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /obj/structure/table/steel, /obj/random/maintenance/engineering, /obj/random/maintenance/clean, @@ -47095,7 +47095,7 @@ /obj/machinery/computer/mecha{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -47186,7 +47186,7 @@ /area/rnd/research) "bIY" = ( /obj/structure/table/glass, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -47376,11 +47376,11 @@ dir = 4 }, /obj/structure/table/standard, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/tool/screwdriver{ +/obj/item/tool/wrench, +/obj/item/tool/screwdriver{ pixel_y = 10 }, -/obj/item/weapon/tool/crowbar, +/obj/item/tool/crowbar, /obj/machinery/requests_console{ department = "Science"; departmentType = 2; @@ -47485,7 +47485,7 @@ dir = 1 }, /obj/structure/table/steel, -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical, /turf/simulated/floor/plating, /area/engineering/drone_fabrication) "bJD" = ( @@ -47528,7 +47528,7 @@ req_one_access = list(11,24) }, /obj/structure/table/steel, -/obj/item/weapon/storage/fancy/cigarettes, +/obj/item/storage/fancy/cigarettes, /obj/random/maintenance/engineering, /obj/random/maintenance/engineering, /obj/random/maintenance/clean, @@ -47562,14 +47562,14 @@ /area/engineering/storage) "bJL" = ( /obj/structure/closet/crate, -/obj/item/weapon/circuitboard/smes, -/obj/item/weapon/circuitboard/smes, -/obj/item/weapon/smes_coil, -/obj/item/weapon/smes_coil, -/obj/item/weapon/smes_coil/super_capacity, -/obj/item/weapon/smes_coil/super_capacity, -/obj/item/weapon/smes_coil/super_io, -/obj/item/weapon/smes_coil/super_io, +/obj/item/circuitboard/smes, +/obj/item/circuitboard/smes, +/obj/item/smes_coil, +/obj/item/smes_coil, +/obj/item/smes_coil/super_capacity, +/obj/item/smes_coil/super_capacity, +/obj/item/smes_coil/super_io, +/obj/item/smes_coil/super_io, /obj/effect/floor_decal/industrial/outline/yellow, /obj/machinery/light, /turf/simulated/floor/plating, @@ -47613,7 +47613,7 @@ /obj/structure/table/reinforced, /obj/structure/window/reinforced, /obj/machinery/recharger, -/obj/item/weapon/tape_roll, +/obj/item/tape_roll, /obj/machinery/button/remote/blast_door{ id = "englockdown"; name = "Engineering Lockdown"; @@ -47667,8 +47667,8 @@ "bJV" = ( /obj/structure/table/reinforced, /obj/structure/window/reinforced, -/obj/item/weapon/packageWrap, -/obj/item/weapon/hand_labeler, +/obj/item/packageWrap, +/obj/item/hand_labeler, /obj/machinery/button/remote/blast_door{ id = "atmoslockdown"; name = "Atmospherics Lockdown"; @@ -47695,11 +47695,11 @@ "bJX" = ( /obj/structure/table/steel_reinforced, /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 6 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_y = 3 }, /obj/item/clamp, @@ -48841,7 +48841,7 @@ d2 = 8; icon_state = "4-8" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -49340,7 +49340,7 @@ d2 = 8; icon_state = "4-8" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -49610,7 +49610,7 @@ /area/engineering/engineer_eva) "bNp" = ( /obj/structure/closet/secure_closet/engineering_personal, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -49621,7 +49621,7 @@ /area/engineering/locker_room) "bNq" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /obj/item/bodybag/cryobag{ pixel_x = 6 }, @@ -49682,7 +49682,7 @@ /obj/machinery/camera/network/second_deck{ c_tag = "Second Deck - Center Eight" }, -/obj/item/weapon/book/codex/lore/vir, +/obj/item/book/codex/lore/vir, /turf/simulated/floor/tiled/hydro, /area/hallway/primary/seconddeck/fpcenter) "bNz" = ( @@ -49826,7 +49826,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -50457,7 +50457,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -50598,7 +50598,7 @@ /turf/simulated/floor/tiled/yellow, /area/engineering/locker_room) "bPf" = ( -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /turf/simulated/floor/plating, /area/maintenance/engineering) "bPg" = ( @@ -50626,7 +50626,7 @@ "bPk" = ( /obj/structure/table/woodentable, /obj/effect/floor_decal/spline/plain, -/obj/item/device/communicator, +/obj/item/communicator, /turf/simulated/floor/tiled/hydro, /area/hallway/primary/seconddeck/fpcenter) "bPl" = ( @@ -50661,7 +50661,7 @@ /area/hallway/primary/seconddeck/fscenter) "bPo" = ( /obj/structure/table/woodentable, -/obj/item/device/paicard, +/obj/item/paicard, /obj/effect/floor_decal/spline/plain, /turf/simulated/floor/tiled/hydro, /area/hallway/primary/seconddeck/fscenter) @@ -50980,7 +50980,7 @@ /obj/effect/floor_decal/industrial/warning{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -51207,7 +51207,7 @@ "bQv" = ( /obj/machinery/disposal, /obj/effect/floor_decal/corner/white/diagonal, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -51566,13 +51566,13 @@ pixel_x = 11; pixel_y = 24 }, -/obj/item/weapon/storage/belt/utility, +/obj/item/storage/belt/utility, /obj/item/clothing/gloves/sterile/latex, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_x = 2; pixel_y = 3 }, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_x = -2; pixel_y = -1 }, @@ -51587,15 +51587,15 @@ "bRe" = ( /obj/structure/table/standard, /obj/machinery/cell_charger, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -51755,8 +51755,8 @@ /area/assembly/robotics) "bRo" = ( /obj/machinery/r_n_d/circuit_imprinter, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/device/radio/intercom{ +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -51772,21 +51772,21 @@ "bRp" = ( /obj/structure/table/standard, /obj/machinery/atmospherics/unary/vent_pump/on, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen, -/obj/item/weapon/pen/red, -/obj/item/weapon/pen/blue, +/obj/item/pen, +/obj/item/pen/red, +/obj/item/pen/blue, /obj/machinery/requests_console{ department = "Robotics"; departmentType = 2; name = "Robotics RC"; pixel_y = 30 }, -/obj/item/weapon/reagent_containers/glass/beaker/sulphuric, -/obj/item/weapon/hand_labeler, +/obj/item/reagent_containers/glass/beaker/sulphuric, +/obj/item/hand_labeler, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 }, @@ -51816,13 +51816,13 @@ pixel_y = 32; req_access = list(29) }, -/obj/item/weapon/tank/anesthetic, -/obj/item/weapon/tank/anesthetic, -/obj/item/weapon/tank/anesthetic, +/obj/item/tank/anesthetic, +/obj/item/tank/anesthetic, +/obj/item/tank/anesthetic, /obj/item/clothing/mask/breath/medical, /obj/item/clothing/mask/breath/medical, /obj/item/clothing/mask/breath/medical, -/obj/item/weapon/storage/box/gloves, +/obj/item/storage/box/gloves, /obj/effect/floor_decal/industrial/warning{ dir = 8 }, @@ -51860,7 +51860,7 @@ /area/assembly/robotics) "bRu" = ( /obj/machinery/disposal, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -51959,13 +51959,13 @@ /obj/structure/table/standard, /obj/structure/table/standard, /obj/item/stack/cable_coil, -/obj/item/device/multitool, +/obj/item/multitool, /obj/machinery/cell_charger, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, @@ -51978,7 +51978,7 @@ /area/rnd/misc_lab) "bRz" = ( /obj/structure/table/standard, -/obj/item/device/assembly/igniter, +/obj/item/assembly/igniter, /turf/simulated/floor/reinforced, /area/rnd/misc_lab) "bRA" = ( @@ -52893,9 +52893,9 @@ /area/assembly/robotics) "bTf" = ( /obj/structure/table/standard, -/obj/item/device/mmi, -/obj/item/device/mmi, -/obj/item/device/mmi, +/obj/item/mmi, +/obj/item/mmi, +/obj/item/mmi, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, @@ -52914,12 +52914,12 @@ /obj/structure/window/reinforced{ dir = 8 }, -/obj/item/weapon/surgical/circular_saw, -/obj/item/weapon/surgical/scalpel{ +/obj/item/surgical/circular_saw, +/obj/item/surgical/scalpel{ pixel_y = 12 }, -/obj/item/weapon/surgical/hemostat, -/obj/item/weapon/surgical/retractor, +/obj/item/surgical/hemostat, +/obj/item/surgical/retractor, /obj/effect/floor_decal/industrial/warning{ dir = 8 }, @@ -53055,7 +53055,7 @@ /obj/machinery/firealarm{ pixel_y = 24 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -53084,7 +53084,7 @@ /turf/simulated/floor/tiled/white, /area/rnd/research) "bTt" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -53153,7 +53153,7 @@ /turf/simulated/floor/tiled, /area/rnd/mixing) "bTA" = ( -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /turf/simulated/floor/tiled, /area/rnd/mixing) "bTB" = ( @@ -53208,7 +53208,7 @@ "bTK" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -53366,7 +53366,7 @@ /area/engineering/break_room) "bUf" = ( /obj/structure/table/woodentable, -/obj/item/weapon/book/manual/supermatter_engine{ +/obj/item/book/manual/supermatter_engine{ pixel_x = -3 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -53380,11 +53380,11 @@ /area/engineering/break_room) "bUg" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/carpet, /area/engineering/break_room) "bUh" = ( @@ -53419,33 +53419,33 @@ pixel_x = 11; pixel_y = 24 }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#FF8C00"; name = "orange towel"; pixel_x = -2; pixel_y = -4 }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#FF8C00"; name = "orange towel"; pixel_x = -2; pixel_y = -4 }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#FFD700"; name = "gold towel" }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#FFD700"; name = "gold towel" }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#00FFFF"; name = "cyan towel"; pixel_x = 2; pixel_y = 4 }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#00FFFF"; name = "cyan towel"; pixel_x = 2; @@ -53493,8 +53493,8 @@ /obj/structure/closet/crate, /obj/item/stack/cable_coil/random, /obj/item/stack/cable_coil/random, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/wirecutters, +/obj/item/tool/crowbar, +/obj/item/tool/wirecutters, /obj/random/maintenance/engineering, /obj/random/maintenance/engineering, /obj/random/maintenance/security, @@ -53717,8 +53717,8 @@ /area/maintenance/research) "bUL" = ( /obj/item/clothing/mask/gas, -/obj/item/device/flashlight, -/obj/item/device/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, /obj/effect/decal/cleanable/dirt, /obj/random/maintenance/research, /obj/random/maintenance/research, @@ -53768,7 +53768,7 @@ /area/rnd/lab) "bUT" = ( /obj/effect/floor_decal/industrial/warning/corner, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -53803,14 +53803,14 @@ /area/rnd/research) "bUW" = ( /obj/structure/closet/wardrobe/robotics_black, -/obj/item/device/radio/headset/headset_sci{ +/obj/item/radio/headset/headset_sci{ pixel_x = -3 }, -/obj/item/device/radio/headset/headset_sci{ +/obj/item/radio/headset/headset_sci{ pixel_x = -3 }, -/obj/item/device/flash, -/obj/item/device/flash, +/obj/item/flash, +/obj/item/flash, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/purple/border, /obj/effect/floor_decal/borderfloorwhite/corner2{ @@ -53872,12 +53872,12 @@ "bVe" = ( /obj/structure/table/standard, /obj/structure/window/reinforced, -/obj/item/weapon/tool/screwdriver, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/surgical/circular_saw, -/obj/item/weapon/surgical/hemostat, +/obj/item/tool/screwdriver, +/obj/item/tool/crowbar, +/obj/item/surgical/circular_saw, +/obj/item/surgical/hemostat, /obj/item/stack/cable_coil, -/obj/item/weapon/weldingtool/hugetank, +/obj/item/weldingtool/hugetank, /obj/effect/floor_decal/industrial/warning, /obj/machinery/light{ dir = 4 @@ -54146,12 +54146,12 @@ }, /obj/structure/table/steel, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/device/floor_painter, -/obj/item/device/multitool{ +/obj/item/floor_painter, +/obj/item/multitool{ pixel_x = 5 }, -/obj/item/device/t_scanner, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/t_scanner, +/obj/item/reagent_containers/spray/cleaner, /obj/random/tech_supply, /obj/random/tech_supply, /turf/simulated/floor/tiled, @@ -54174,7 +54174,7 @@ /obj/machinery/photocopier/faxmachine{ department = "Chief Engineer's Office" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -54189,11 +54189,11 @@ /area/crew_quarters/heads/sc/chief) "bVW" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/device/megaphone, +/obj/item/megaphone, /turf/simulated/floor/tiled, /area/crew_quarters/heads/sc/chief) "bVX" = ( @@ -54203,9 +54203,9 @@ d2 = 4; icon_state = "1-4" }, -/obj/item/weapon/folder/yellow_ce, -/obj/item/weapon/pen/multi, -/obj/item/weapon/stamp/ce, +/obj/item/folder/yellow_ce, +/obj/item/pen/multi, +/obj/item/stamp/ce, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, /area/crew_quarters/heads/sc/chief) @@ -54221,14 +54221,14 @@ d2 = 8; icon_state = "2-8" }, -/obj/item/weapon/clipboard, -/obj/item/weapon/book/manual/supermatter_engine, +/obj/item/clipboard, +/obj/item/book/manual/supermatter_engine, /obj/item/clothing/glasses/meson{ pixel_y = 4 }, /obj/item/clothing/glasses/welding/superior, -/obj/item/weapon/storage/fancy/cigarettes, -/obj/item/weapon/flame/lighter/zippo, +/obj/item/storage/fancy/cigarettes, +/obj/item/flame/lighter/zippo, /turf/simulated/floor/tiled, /area/crew_quarters/heads/sc/chief) "bVZ" = ( @@ -54398,7 +54398,7 @@ /area/engineering/break_room) "bWi" = ( /obj/structure/table/woodentable, -/obj/item/weapon/folder/yellow, +/obj/item/folder/yellow, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 }, @@ -54414,7 +54414,7 @@ /area/engineering/break_room) "bWj" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/chips, +/obj/item/reagent_containers/food/snacks/chips, /obj/item/tabloid, /turf/simulated/floor/carpet, /area/engineering/break_room) @@ -54504,7 +54504,7 @@ /obj/effect/floor_decal/corner/red/border{ dir = 6 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -54582,7 +54582,7 @@ /obj/effect/floor_decal/corner/purple/border{ dir = 10 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -54603,12 +54603,12 @@ /obj/random/maintenance/research, /obj/random/maintenance/research, /obj/random/maintenance/clean, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /turf/simulated/floor/plating, /area/maintenance/research) "bWK" = ( /obj/machinery/r_n_d/circuit_imprinter, -/obj/item/weapon/reagent_containers/glass/beaker/sulphuric, +/obj/item/reagent_containers/glass/beaker/sulphuric, /obj/machinery/light{ dir = 8 }, @@ -54682,9 +54682,9 @@ "bWR" = ( /obj/effect/floor_decal/industrial/outline/yellow, /obj/structure/table/steel_reinforced, -/obj/item/device/robotanalyzer, -/obj/item/device/robotanalyzer, -/obj/item/device/mmi/digital/robot, +/obj/item/robotanalyzer, +/obj/item/robotanalyzer, +/obj/item/mmi/digital/robot, /turf/simulated/floor/tiled, /area/assembly/robotics) "bWS" = ( @@ -54724,16 +54724,16 @@ /area/assembly/robotics) "bWX" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/box/bodybags{ +/obj/item/storage/box/bodybags{ pixel_x = -1; pixel_y = -2 }, -/obj/item/weapon/book/manual/robotics_cyborgs{ +/obj/item/book/manual/robotics_cyborgs{ pixel_x = 2; pixel_y = 5 }, -/obj/item/device/defib_kit/jumper_kit/loaded, -/obj/item/device/defib_kit/jumper_kit/loaded, +/obj/item/defib_kit/jumper_kit/loaded, +/obj/item/defib_kit/jumper_kit/loaded, /turf/simulated/floor/tiled/techfloor, /area/assembly/robotics) "bWY" = ( @@ -54880,7 +54880,7 @@ tag_west_con = 0.5; use_power = 0 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -54982,7 +54982,7 @@ /area/engineering/atmos/monitoring) "bXE" = ( /obj/structure/closet/toolcloset, -/obj/item/device/flashlight, +/obj/item/flashlight, /obj/structure/window/reinforced{ dir = 8 }, @@ -54993,9 +54993,9 @@ /obj/structure/table/steel_reinforced, /obj/item/clothing/gloves/black, /obj/item/clothing/gloves/black, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar/red, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar/red, +/obj/item/storage/box/lights/mixed, /turf/simulated/floor/tiled/dark, /area/engineering/workshop) "bXG" = ( @@ -55124,7 +55124,7 @@ /obj/effect/landmark{ name = "blobstart" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -55338,10 +55338,10 @@ dir = 1 }, /obj/structure/table/standard, -/obj/item/weapon/hand_labeler, -/obj/item/weapon/pen, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, +/obj/item/hand_labeler, +/obj/item/pen, +/obj/item/packageWrap, +/obj/item/packageWrap, /obj/machinery/requests_console{ department = "Science"; departmentType = 2; @@ -55559,7 +55559,7 @@ /turf/simulated/floor/plating, /area/rnd/misc_lab) "bYN" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -55689,11 +55689,11 @@ "bZk" = ( /obj/structure/table/steel_reinforced, /obj/machinery/cell_charger, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /obj/machinery/status_display{ pixel_y = -32 }, @@ -55803,11 +55803,11 @@ /area/engineering/break_room) "bZt" = ( /obj/effect/floor_decal/corner/white/diagonal, -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 2 }, -/obj/item/weapon/storage/box/glasses/square, +/obj/item/storage/box/glasses/square, /obj/machinery/newscaster{ pixel_x = 30 }, @@ -56007,7 +56007,7 @@ "bZO" = ( /obj/effect/floor_decal/industrial/outline/grey, /obj/structure/closet/crate, -/obj/item/weapon/tool/crowbar/red, +/obj/item/tool/crowbar/red, /turf/simulated/floor/tiled, /area/teleporter) "bZP" = ( @@ -56135,7 +56135,7 @@ dir = 5 }, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/device/radio/beacon, +/obj/item/radio/beacon, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/white, /area/rnd/research_foyer) @@ -56173,7 +56173,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/landmark/start{ name = "Roboticist" }, @@ -56251,7 +56251,7 @@ d2 = 8; icon_state = "0-8" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -56384,8 +56384,8 @@ /area/engineering/break_room) "caA" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/bag/circuits/basic, -/obj/item/device/radio/intercom{ +/obj/item/storage/bag/circuits/basic, +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -56409,8 +56409,8 @@ /area/hallway/secondary/seconddeck/research_medical) "caD" = ( /obj/structure/table/glass, -/obj/item/weapon/folder/white, -/obj/item/weapon/pen, +/obj/item/folder/white, +/obj/item/pen, /turf/simulated/floor/tiled/white, /area/hallway/secondary/seconddeck/research_medical) "caE" = ( @@ -56488,9 +56488,9 @@ /obj/item/stack/rods{ amount = 50 }, -/obj/item/weapon/airlock_electronics, -/obj/item/weapon/airlock_electronics, -/obj/item/weapon/cell/high, +/obj/item/airlock_electronics, +/obj/item/airlock_electronics, +/obj/item/cell/high, /obj/item/stack/material/glass/phoronrglass{ amount = 20 }, @@ -56501,13 +56501,13 @@ dir = 8 }, /obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_y = 5 }, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_y = 5 }, -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical, /obj/structure/extinguisher_cabinet{ pixel_y = -30 }, @@ -56515,8 +56515,8 @@ /area/engineering/workshop) "caU" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/belt/utility, -/obj/item/weapon/storage/belt/utility, +/obj/item/storage/belt/utility, +/obj/item/storage/belt/utility, /obj/item/stack/cable_coil{ pixel_x = 3; pixel_y = 3 @@ -56534,18 +56534,18 @@ /area/engineering/workshop) "caV" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/radio/off{ +/obj/item/radio/off{ pixel_y = 6 }, -/obj/item/device/radio/off{ +/obj/item/radio/off{ pixel_x = 6; pixel_y = 4 }, -/obj/item/device/radio/off{ +/obj/item/radio/off{ pixel_x = -6; pixel_y = 4 }, -/obj/item/device/radio/off, +/obj/item/radio/off, /turf/simulated/floor/tiled/dark, /area/engineering/workshop) "caW" = ( @@ -56573,21 +56573,21 @@ pixel_x = 12; pixel_y = -24 }, -/obj/item/weapon/rcd_ammo, -/obj/item/weapon/rcd_ammo, -/obj/item/weapon/rcd_ammo, -/obj/item/weapon/rcd_ammo, -/obj/item/weapon/rcd, +/obj/item/rcd_ammo, +/obj/item/rcd_ammo, +/obj/item/rcd_ammo, +/obj/item/rcd_ammo, +/obj/item/rcd, /obj/machinery/button/windowtint{ id = "ceoffice"; pixel_x = -12; pixel_y = -24 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, @@ -56604,7 +56604,7 @@ dir = 8 }, /obj/item/clothing/mask/breath, -/obj/item/weapon/rig/ce/equipped, +/obj/item/rig/ce/equipped, /obj/machinery/door/window/northright{ name = "Chief Engineer Suit Storage" }, @@ -56649,7 +56649,7 @@ /obj/machinery/computer/guestpass{ pixel_x = 30 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -56675,14 +56675,14 @@ pixel_x = 11; pixel_y = 24 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 }, /obj/structure/table/standard, -/obj/item/device/radio/beacon, -/obj/item/device/radio/beacon, +/obj/item/radio/beacon, +/obj/item/radio/beacon, /obj/random_multi/single_item/hand_tele, /turf/simulated/floor/tiled, /area/teleporter) @@ -56705,13 +56705,13 @@ "cbh" = ( /obj/effect/floor_decal/corner/white/diagonal, /obj/structure/table/woodentable, -/obj/item/weapon/book/manual/engineering_construction, -/obj/item/weapon/book/manual/atmospipes, -/obj/item/weapon/book/manual/engineering_guide{ +/obj/item/book/manual/wiki/engineering_construction, +/obj/item/book/manual/atmospipes, +/obj/item/book/manual/wiki/engineering_guide{ pixel_x = 3; pixel_y = 2 }, -/obj/item/weapon/book/manual/evaguide{ +/obj/item/book/manual/evaguide{ pixel_x = -2; pixel_y = 7 }, @@ -56720,8 +56720,8 @@ "cbi" = ( /obj/effect/floor_decal/corner/white/diagonal, /obj/structure/table/woodentable, -/obj/item/weapon/dice, -/obj/item/weapon/deck/cards, +/obj/item/dice, +/obj/item/deck/cards, /obj/machinery/status_display{ pixel_y = -32 }, @@ -57077,13 +57077,13 @@ /turf/simulated/floor/plating, /area/maintenance/research) "cbS" = ( -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/clipboard, -/obj/item/weapon/folder/white, -/obj/item/weapon/pen, +/obj/item/clipboard, +/obj/item/folder/white, +/obj/item/pen, /obj/machinery/newscaster{ pixel_x = -30 }, @@ -57097,12 +57097,12 @@ /turf/simulated/floor/tiled/white, /area/rnd/lab) "cbT" = ( -/obj/item/weapon/folder/white, -/obj/item/weapon/disk/tech_disk, -/obj/item/weapon/disk/tech_disk, -/obj/item/weapon/disk/design_disk, -/obj/item/weapon/disk/design_disk, -/obj/item/weapon/reagent_containers/dropper{ +/obj/item/folder/white, +/obj/item/disk/tech_disk, +/obj/item/disk/tech_disk, +/obj/item/disk/design_disk, +/obj/item/disk/design_disk, +/obj/item/reagent_containers/dropper{ pixel_y = -4 }, /obj/machinery/firealarm{ @@ -57116,13 +57116,13 @@ /area/rnd/lab) "cbU" = ( /obj/machinery/recharger, -/obj/item/weapon/stock_parts/console_screen, -/obj/item/weapon/stock_parts/console_screen, -/obj/item/weapon/stock_parts/console_screen, -/obj/item/weapon/stock_parts/matter_bin, -/obj/item/weapon/stock_parts/matter_bin, -/obj/item/weapon/stock_parts/micro_laser, -/obj/item/weapon/stock_parts/micro_laser, +/obj/item/stock_parts/console_screen, +/obj/item/stock_parts/console_screen, +/obj/item/stock_parts/console_screen, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/micro_laser, +/obj/item/stock_parts/micro_laser, /obj/machinery/ai_status_display{ pixel_y = -32 }, @@ -57132,14 +57132,14 @@ /turf/simulated/floor/tiled/white, /area/rnd/lab) "cbV" = ( -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/capacitor, -/obj/item/weapon/stock_parts/capacitor, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/capacitor, +/obj/item/stock_parts/capacitor, /obj/item/stack/cable_coil, /obj/item/stack/cable_coil, -/obj/item/weapon/stock_parts/scanning_module, -/obj/item/weapon/stock_parts/scanning_module, +/obj/item/stock_parts/scanning_module, +/obj/item/stock_parts/scanning_module, /obj/structure/extinguisher_cabinet{ pixel_y = -30 }, @@ -57239,27 +57239,27 @@ pixel_y = -30 }, /obj/machinery/recharger, -/obj/item/weapon/storage/toolbox/mechanical, -/obj/item/weapon/storage/toolbox/mechanical, -/obj/item/device/multitool{ +/obj/item/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, +/obj/item/multitool{ pixel_x = 3 }, -/obj/item/device/multitool{ +/obj/item/multitool{ pixel_x = 3 }, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/storage/belt/utility, -/obj/item/weapon/storage/belt/utility, -/obj/item/weapon/storage/toolbox/electrical{ +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/storage/belt/utility, +/obj/item/storage/belt/utility, +/obj/item/storage/toolbox/electrical{ pixel_x = 1; pixel_y = 6 }, -/obj/item/weapon/storage/toolbox/electrical{ +/obj/item/storage/toolbox/electrical{ pixel_x = 1; pixel_y = 6 }, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_x = -2; pixel_y = -1 }, @@ -57366,10 +57366,10 @@ /area/rnd/workshop) "ccq" = ( /obj/structure/table/steel, -/obj/item/device/integrated_electronics/debugger{ +/obj/item/integrated_electronics/debugger{ pixel_x = -5 }, -/obj/item/device/integrated_electronics/wirer{ +/obj/item/integrated_electronics/wirer{ pixel_x = 5 }, /obj/machinery/newscaster{ @@ -57398,8 +57398,8 @@ /area/hallway/secondary/seconddeck/research_medical) "ccu" = ( /obj/structure/table/standard, -/obj/item/weapon/soap/nanotrasen, -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/soap/nanotrasen, +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 3 }, @@ -57422,8 +57422,8 @@ /area/medical/virology) "ccw" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/monkeycubes, -/obj/item/weapon/extinguisher, +/obj/item/storage/box/monkeycubes, +/obj/item/extinguisher, /obj/effect/floor_decal/borderfloorwhite{ dir = 5 }, @@ -57548,7 +57548,7 @@ /area/engineering/hallway/engineer_hallway) "ccM" = ( /obj/structure/table/reinforced, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -57773,7 +57773,7 @@ /obj/random/maintenance/clean, /obj/random/maintenance/clean, /obj/random/maintenance/clean, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/plating, /area/maintenance/research) "cdm" = ( @@ -57884,7 +57884,7 @@ /obj/random/maintenance/research, /obj/random/maintenance/clean, /obj/item/stack/cable_coil, -/obj/item/weapon/coin/silver, +/obj/item/coin/silver, /turf/simulated/floor/plating, /area/maintenance/research_medical) "cdy" = ( @@ -57955,8 +57955,8 @@ dir = 5 }, /obj/structure/closet/crate, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/tool/crowbar/red, +/obj/item/tool/wrench, +/obj/item/tool/crowbar/red, /obj/machinery/computer/security/telescreen{ desc = "Used to monitor the proceedings inside the test chamber."; name = "Test Chamber Monitor"; @@ -57974,7 +57974,7 @@ /obj/effect/floor_decal/corner/purple/border{ dir = 8 }, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, /turf/simulated/floor/tiled/white, /area/rnd/misc_lab) "cdG" = ( @@ -57984,7 +57984,7 @@ /area/rnd/workshop) "cdH" = ( /obj/structure/table/steel, -/obj/item/device/electronic_assembly/large{ +/obj/item/electronic_assembly/large{ pixel_y = 6 }, /obj/structure/reagent_dispensers/acid{ @@ -58004,10 +58004,10 @@ /area/hallway/secondary/seconddeck/research_medical) "cdJ" = ( /obj/structure/closet, -/obj/item/device/flashlight, +/obj/item/flashlight, /obj/effect/decal/cleanable/cobweb2, -/obj/item/weapon/storage/backpack/satchel/vir, -/obj/item/weapon/storage/backpack/virology, +/obj/item/storage/backpack/satchel/vir, +/obj/item/storage/backpack/virology, /obj/random/maintenance/medical, /obj/random/maintenance/medical, /obj/random/maintenance/medical, @@ -58055,12 +58055,12 @@ /area/medical/virology) "cdP" = ( /obj/structure/bed/padded, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 }, -/obj/item/weapon/bedsheet/green, +/obj/item/bedsheet/green, /obj/effect/floor_decal/borderfloorwhite{ dir = 4 }, @@ -58097,7 +58097,7 @@ /obj/effect/floor_decal/industrial/warning{ dir = 10 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -58341,8 +58341,8 @@ /turf/simulated/floor/plating, /area/maintenance/engineering) "ceu" = ( -/obj/item/weapon/tank/emergency/oxygen/engi, -/obj/item/weapon/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/double, /obj/random/maintenance/engineering, /obj/random/maintenance/engineering, /obj/random/maintenance/engineering, @@ -58429,10 +58429,10 @@ /area/storage/emergency_storage/seconddeck/central_emergency) "ceC" = ( /obj/structure/table/steel, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/extinguisher, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/storage/box/lights/mixed, +/obj/item/extinguisher, /obj/machinery/power/apc{ dir = 1; name = "north bump"; @@ -58449,9 +58449,9 @@ dir = 1 }, /obj/item/clothing/suit/fire/firefighter, -/obj/item/weapon/tank/oxygen, +/obj/item/tank/oxygen, /obj/item/clothing/mask/gas, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /obj/item/clothing/head/hardhat/red, /obj/item/clothing/glasses/meson, /turf/simulated/floor/plating, @@ -58590,7 +58590,7 @@ /turf/simulated/floor/plating, /area/maintenance/research) "ceS" = ( -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /obj/item/stack/rods, @@ -58608,7 +58608,7 @@ "ceU" = ( /obj/structure/closet, /obj/item/clothing/glasses/welding, -/obj/item/weapon/weldingtool, +/obj/item/weldingtool, /obj/effect/decal/cleanable/dirt, /obj/random/maintenance/research, /obj/random/maintenance/research, @@ -58833,7 +58833,7 @@ /area/rnd/workshop) "cfu" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/cups, +/obj/item/storage/box/cups, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, @@ -58856,11 +58856,11 @@ /area/medical/virology) "cfw" = ( /obj/structure/table/glass, -/obj/item/device/antibody_scanner{ +/obj/item/antibody_scanner{ pixel_x = 2; pixel_y = 2 }, -/obj/item/device/antibody_scanner, +/obj/item/antibody_scanner, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, @@ -59440,7 +59440,7 @@ /obj/structure/window/reinforced, /obj/item/stack/rods, /obj/item/stack/rods, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/plating, /area/maintenance/research) "cgy" = ( @@ -59612,7 +59612,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -59660,8 +59660,8 @@ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers, -/obj/item/weapon/reagent_containers/food/drinks/cans/space_mountain_wind, +/obj/item/reagent_containers/food/snacks/cheesiehonkers, +/obj/item/reagent_containers/food/drinks/cans/space_mountain_wind, /obj/random/maintenance/research, /obj/machinery/firealarm{ dir = 1; @@ -59776,7 +59776,7 @@ /obj/machinery/light{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -60341,12 +60341,12 @@ /area/medical/virology) "cix" = ( /obj/structure/table/glass, -/obj/item/weapon/folder/white, -/obj/item/weapon/hand_labeler, +/obj/item/folder/white, +/obj/item/hand_labeler, /obj/structure/reagent_dispensers/virusfood{ pixel_x = 30 }, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ pixel_y = 21 }, /obj/effect/floor_decal/borderfloorwhite{ @@ -60749,7 +60749,7 @@ /turf/simulated/floor/tiled/steel_grid, /area/hallway/primary/seconddeck/port) "cjq" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -61626,7 +61626,7 @@ }, /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/device/radio/beacon, +/obj/item/radio/beacon, /obj/machinery/navbeacon/patrol{ location = "ENG"; next_patrol = "CH4" @@ -61716,7 +61716,7 @@ "clf" = ( /obj/structure/table/reinforced, /obj/machinery/recharger, -/obj/item/device/radio{ +/obj/item/radio{ frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link" @@ -62248,7 +62248,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/item/device/radio/beacon, +/obj/item/radio/beacon, /obj/machinery/navbeacon/patrol{ location = "MED"; next_patrol = "CH10" @@ -62628,11 +62628,11 @@ /area/medical/virology) "cmp" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/lockbox/vials, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/reagent_containers/syringe/antiviral, +/obj/item/storage/lockbox/vials, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/syringe/antiviral, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, @@ -62643,19 +62643,19 @@ /area/medical/virology) "cmq" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/fancy/vials, +/obj/item/storage/fancy/vials, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /turf/simulated/floor/tiled/white, /area/medical/virology) "cmr" = ( -/obj/item/weapon/storage/box/syringes{ +/obj/item/storage/box/syringes{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/box/beakers, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/storage/box/beakers, +/obj/item/reagent_containers/dropper, /obj/structure/table/glass, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -62664,11 +62664,11 @@ /area/medical/virology) "cms" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/gloves{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/box/masks, +/obj/item/storage/box/masks, /obj/machinery/atmospherics/pipe/simple/hidden/black, /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 @@ -63294,7 +63294,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -63673,7 +63673,7 @@ /turf/simulated/floor/tiled/white, /area/medical/virology) "cor" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled/white, /area/medical/virology) "cos" = ( @@ -63728,7 +63728,7 @@ /area/engineering/engine_monitoring) "coC" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, /obj/machinery/firealarm{ dir = 4; pixel_x = 24 @@ -63927,7 +63927,7 @@ /obj/effect/decal/cleanable/dirt, /obj/structure/table/rack, /obj/random/cigarettes, -/obj/item/weapon/flame/lighter/random, +/obj/item/flame/lighter/random, /obj/random/maintenance/clean, /obj/random/maintenance/clean, /obj/random/maintenance/clean, @@ -64103,7 +64103,7 @@ /obj/structure/table/steel, /obj/random/tech_supply, /obj/random/technology_scanner, -/obj/item/weapon/storage/bag/circuits/basic, +/obj/item/storage/bag/circuits/basic, /obj/random/tech_supply, /turf/simulated/floor/plating, /area/maintenance/research_medical) @@ -64169,7 +64169,7 @@ /area/medical/virology) "cpD" = ( /obj/structure/reagent_dispensers/watertank/high, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /obj/machinery/atmospherics/pipe/simple/hidden/yellow{ dir = 4 }, @@ -64237,11 +64237,11 @@ /area/medical/virology) "cpJ" = ( /obj/structure/table/glass, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 8 }, -/obj/item/device/radio{ +/obj/item/radio{ anchored = 1; canhear_range = 7; frequency = 1487; @@ -64251,13 +64251,13 @@ pixel_x = -6; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, /obj/machinery/requests_console{ department = "Virology"; name = "Virology Requests Console"; pixel_x = 32 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -65034,7 +65034,7 @@ /area/medical/virology) "crx" = ( /obj/structure/closet/crate/freezer, -/obj/item/weapon/virusdish/random, +/obj/item/virusdish/random, /obj/effect/floor_decal/borderfloorwhite{ dir = 4 }, @@ -65111,7 +65111,7 @@ /obj/effect/floor_decal/industrial/warning/corner{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -65300,7 +65300,7 @@ dir = 1 }, /obj/machinery/r_n_d/circuit_imprinter, -/obj/item/weapon/reagent_containers/glass/beaker/sulphuric, +/obj/item/reagent_containers/glass/beaker/sulphuric, /turf/simulated/floor/tiled/dark, /area/rnd/workshop) "crX" = ( @@ -65318,7 +65318,7 @@ /obj/structure/table/rack{ dir = 1 }, -/obj/item/weapon/storage/bag/ore, +/obj/item/storage/bag/ore, /obj/random/maintenance/cargo, /obj/random/maintenance/cargo, /obj/random/maintenance/cargo, @@ -65456,7 +65456,7 @@ /obj/random/cigarettes, /obj/random/toolbox, /obj/random/tech_supply, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -65543,8 +65543,8 @@ "csy" = ( /obj/structure/table/reinforced, /obj/machinery/recharger, -/obj/item/weapon/packageWrap, -/obj/item/weapon/hand_labeler, +/obj/item/packageWrap, +/obj/item/hand_labeler, /obj/machinery/computer/guestpass{ pixel_x = 28 }, @@ -65656,9 +65656,9 @@ dir = 1 }, /obj/item/clothing/suit/fire/firefighter, -/obj/item/weapon/tank/oxygen, +/obj/item/tank/oxygen, /obj/item/clothing/mask/gas, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /obj/item/clothing/head/hardhat/red, /obj/item/clothing/glasses/meson, /obj/machinery/alarm{ @@ -65686,16 +65686,16 @@ /area/maintenance/medbay_fore) "csP" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/device/t_scanner, +/obj/item/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, +/obj/item/t_scanner, /turf/simulated/floor/plating, /area/maintenance/medbay_fore) "csQ" = ( /obj/structure/table/rack, /obj/item/clothing/glasses/sunglasses, /obj/item/clothing/suit/storage/hazardvest, -/obj/item/device/radio, +/obj/item/radio, /obj/random/maintenance/medical, /obj/random/maintenance/medical, /obj/machinery/light/small, @@ -65707,7 +65707,7 @@ /area/maintenance/medbay_fore) "csS" = ( /obj/structure/closet, -/obj/item/weapon/storage/backpack, +/obj/item/storage/backpack, /obj/random/maintenance/medical, /obj/random/maintenance/medical, /obj/random/maintenance/medical, @@ -65807,7 +65807,7 @@ /area/medical/medbay2) "cta" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -65826,7 +65826,7 @@ /turf/simulated/floor/plating, /area/medical/genetics) "ctc" = ( -/obj/item/weapon/camera_assembly, +/obj/item/camera_assembly, /turf/simulated/floor/tiled/white, /area/medical/genetics) "ctd" = ( @@ -65986,7 +65986,7 @@ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /turf/simulated/floor/tiled, /area/engineering/engine_smes) "ctz" = ( @@ -65996,7 +65996,7 @@ icon_state = "1-4" }, /obj/structure/table/steel, -/obj/item/device/multitool{ +/obj/item/multitool{ pixel_x = 5 }, /obj/item/clothing/gloves/yellow, @@ -66335,20 +66335,20 @@ /area/crew_quarters/heads/sc/hop) "cun" = ( /obj/structure/table/reinforced, -/obj/item/weapon/clipboard, -/obj/item/weapon/stamp/hop, +/obj/item/clipboard, +/obj/item/stamp/hop, /turf/simulated/floor/carpet, /area/crew_quarters/heads/sc/hop) "cuo" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/folder/blue, -/obj/item/weapon/folder/red, -/obj/item/weapon/pen, -/obj/item/weapon/pen/multi, +/obj/item/folder/blue, +/obj/item/folder/red, +/obj/item/pen, +/obj/item/pen/multi, /obj/machinery/firealarm{ dir = 4; pixel_x = 24 @@ -66391,7 +66391,7 @@ /area/hallway/primary/seconddeck/ascenter) "cur" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /obj/effect/floor_decal/spline/plain{ dir = 8 }, @@ -66652,7 +66652,7 @@ /obj/effect/floor_decal/corner/brown/border{ dir = 9 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -66756,12 +66756,12 @@ /area/quartermaster/qm) "cvr" = ( /obj/structure/table/standard, -/obj/item/weapon/cartridge/quartermaster{ +/obj/item/cartridge/quartermaster{ pixel_x = 6; pixel_y = 5 }, -/obj/item/weapon/cartridge/quartermaster, -/obj/item/weapon/cartridge/quartermaster{ +/obj/item/cartridge/quartermaster, +/obj/item/cartridge/quartermaster{ pixel_x = -4; pixel_y = 7 }, @@ -66783,8 +66783,8 @@ /area/quartermaster/qm) "cvs" = ( /obj/structure/table/rack, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, /obj/machinery/light{ dir = 8 }, @@ -66955,7 +66955,7 @@ /area/crew_quarters/heads/sc/hop) "cvM" = ( /obj/structure/closet/secure_closet/hop, -/obj/item/device/megaphone, +/obj/item/megaphone, /obj/structure/cable/green{ d1 = 4; d2 = 8; @@ -67036,7 +67036,7 @@ /obj/machinery/firealarm{ pixel_y = 24 }, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 4; pixel_x = -21 }, @@ -67092,7 +67092,7 @@ name = "EVA Suit Storage"; req_access = list(5) }, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, /obj/structure/table/rack{ dir = 8; layer = 2.6 @@ -67122,9 +67122,9 @@ /area/medical/exam_room) "cwc" = ( /obj/structure/table/glass, -/obj/item/weapon/paper_bin, -/obj/item/weapon/folder/white, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/folder/white, +/obj/item/pen, /obj/machinery/alarm{ pixel_y = 23 }, @@ -67138,15 +67138,15 @@ /area/medical/exam_room) "cwd" = ( /obj/structure/table/glass, -/obj/item/weapon/cane, -/obj/item/weapon/cane{ +/obj/item/cane, +/obj/item/cane{ pixel_x = -3; pixel_y = 2 }, -/obj/item/weapon/storage/box/rxglasses, +/obj/item/storage/box/rxglasses, /obj/random/medical, /obj/random/firstaid, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 8; pixel_x = 21 }, @@ -67194,7 +67194,7 @@ /obj/effect/floor_decal/corner/paleblue/diagonal{ dir = 4 }, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ pixel_y = 21 }, /obj/effect/landmark/start{ @@ -67374,8 +67374,8 @@ /area/medical/chemistry) "cws" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/dropper, /obj/machinery/firealarm{ pixel_y = 24 }, @@ -67389,7 +67389,7 @@ /area/medical/chemistry) "cwt" = ( /obj/structure/table/reinforced, -/obj/item/device/mass_spectrometer/adv, +/obj/item/mass_spectrometer/adv, /obj/item/clothing/glasses/science, /obj/item/clothing/glasses/science, /obj/machinery/computer/security/telescreen/entertainment{ @@ -67409,8 +67409,8 @@ /area/medical/chemistry) "cwu" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/dropper, /obj/structure/extinguisher_cabinet{ pixel_y = 30 }, @@ -67443,11 +67443,11 @@ /area/medical/chemistry) "cwx" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ pixel_x = 5; pixel_y = 5 }, -/obj/item/weapon/storage/firstaid/adv, +/obj/item/storage/firstaid/adv, /obj/effect/floor_decal/borderfloorwhite{ dir = 9 }, @@ -67458,11 +67458,11 @@ /area/medical/medbay_primary_storage) "cwy" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ pixel_x = 5; pixel_y = 5 }, -/obj/item/weapon/storage/firstaid/o2, +/obj/item/storage/firstaid/o2, /obj/machinery/alarm{ pixel_y = 23 }, @@ -67476,11 +67476,11 @@ /area/medical/medbay_primary_storage) "cwz" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/toxin{ +/obj/item/storage/firstaid/toxin{ pixel_x = 5; pixel_y = 5 }, -/obj/item/weapon/storage/firstaid/toxin, +/obj/item/storage/firstaid/toxin, /obj/effect/floor_decal/borderfloorwhite{ dir = 5 }, @@ -67500,7 +67500,7 @@ /turf/simulated/floor/tiled/dark, /area/medical/biostorage) "cwC" = ( -/obj/item/weapon/storage/box/cdeathalarm_kit, +/obj/item/storage/box/cdeathalarm_kit, /obj/item/bodybag/cryobag{ pixel_x = -3 }, @@ -67514,28 +67514,28 @@ /turf/simulated/floor/tiled/dark, /area/medical/biostorage) "cwD" = ( -/obj/item/weapon/cane, -/obj/item/weapon/cane{ +/obj/item/cane, +/obj/item/cane{ pixel_x = -3; pixel_y = 2 }, -/obj/item/weapon/cane{ +/obj/item/cane{ pixel_x = -6; pixel_y = 4 }, /obj/structure/table/steel, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/gloves{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/box/rxglasses, +/obj/item/storage/box/rxglasses, /turf/simulated/floor/tiled/dark, /area/medical/biostorage) "cwE" = ( /turf/simulated/wall, /area/medical/biostorage) "cwF" = ( -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 4; pixel_x = -21 }, @@ -67574,7 +67574,7 @@ /turf/simulated/floor/tiled/white, /area/medical/medbay2) "cwH" = ( -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/floor/plating, /area/medical/genetics) "cwI" = ( @@ -67732,8 +67732,8 @@ req_access = list(50) }, /obj/machinery/door/firedoor/glass, -/obj/item/weapon/folder/yellow, -/obj/item/weapon/pen{ +/obj/item/folder/yellow, +/obj/item/pen{ pixel_x = 4; pixel_y = 4 }, @@ -67823,15 +67823,15 @@ pixel_x = 3; pixel_y = -7 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_x = -2; pixel_y = -1 }, @@ -67839,14 +67839,14 @@ dir = 1; pixel_y = -22 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 6 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_y = 3 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = -3 }, /turf/simulated/floor/tiled/techmaint, @@ -67854,21 +67854,21 @@ "cxw" = ( /obj/structure/table/reinforced, /obj/machinery/cell_charger, -/obj/item/weapon/tool/crowbar/red, -/obj/item/weapon/tool/crowbar/red, -/obj/item/weapon/tool/crowbar/red, -/obj/item/weapon/tool/crowbar/red, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, +/obj/item/tool/crowbar/red, +/obj/item/tool/crowbar/red, +/obj/item/tool/crowbar/red, +/obj/item/tool/crowbar/red, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/item/radio/off, /obj/machinery/camera/network/civilian{ c_tag = "CIV - Emergency EVA"; dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -68079,7 +68079,7 @@ /obj/effect/floor_decal/industrial/warning{ dir = 8 }, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/landmark/start{ name = "Paramedic" }, @@ -68117,7 +68117,7 @@ /obj/item/clothing/head/helmet/space/void/medical, /obj/item/clothing/shoes/magboots, /obj/item/clothing/suit/space/void/medical, -/obj/item/weapon/tank/oxygen, +/obj/item/tank/oxygen, /obj/structure/table/rack{ dir = 8; layer = 2.6 @@ -68190,8 +68190,8 @@ /area/medical/reception) "cyf" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/food/drinks/britcup, -/obj/item/weapon/storage/box/glasses/square, +/obj/item/reagent_containers/food/drinks/britcup, +/obj/item/storage/box/glasses/square, /obj/effect/floor_decal/corner/paleblue/diagonal{ dir = 4 }, @@ -68202,7 +68202,7 @@ /area/medical/reception) "cyg" = ( /obj/structure/table/glass, -/obj/item/weapon/deck/cards, +/obj/item/deck/cards, /obj/effect/floor_decal/corner/paleblue/diagonal{ dir = 4 }, @@ -68253,7 +68253,7 @@ /area/medical/reception) "cyj" = ( /obj/structure/table/reinforced, -/obj/item/device/radio{ +/obj/item/radio{ anchored = 1; canhear_range = 1; frequency = 1487; @@ -68403,8 +68403,8 @@ /area/medical/chemistry) "cys" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/beakers, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/storage/box/beakers, +/obj/item/reagent_containers/dropper, /turf/simulated/floor/tiled/white, /area/medical/chemistry) "cyt" = ( @@ -68431,12 +68431,12 @@ /area/medical/medbay_primary_storage) "cyw" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/fire{ pixel_x = 5; pixel_y = 5 }, -/obj/item/weapon/storage/firstaid/fire, -/obj/item/device/radio/intercom{ +/obj/item/storage/firstaid/fire, +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -68451,7 +68451,7 @@ /area/medical/medbay_primary_storage) "cyx" = ( /obj/structure/closet/l3closet/medical, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -68462,16 +68462,16 @@ /turf/simulated/floor/tiled/dark, /area/medical/biostorage) "cyz" = ( -/obj/item/weapon/grenade/chem_grenade, -/obj/item/weapon/grenade/chem_grenade, -/obj/item/weapon/grenade/chem_grenade, -/obj/item/weapon/grenade/chem_grenade, -/obj/item/device/assembly/igniter, -/obj/item/device/assembly/igniter, -/obj/item/device/assembly/igniter, -/obj/item/device/assembly/timer, -/obj/item/device/assembly/timer, -/obj/item/device/assembly/timer, +/obj/item/grenade/chem_grenade, +/obj/item/grenade/chem_grenade, +/obj/item/grenade/chem_grenade, +/obj/item/grenade/chem_grenade, +/obj/item/assembly/igniter, +/obj/item/assembly/igniter, +/obj/item/assembly/igniter, +/obj/item/assembly/timer, +/obj/item/assembly/timer, +/obj/item/assembly/timer, /obj/structure/closet/crate{ name = "Grenade Crate" }, @@ -68589,7 +68589,7 @@ /turf/simulated/floor/plating, /area/quartermaster/delivery) "cyX" = ( -/obj/item/weapon/stool, +/obj/item/stool, /obj/effect/floor_decal/industrial/warning{ dir = 8 }, @@ -68611,12 +68611,12 @@ name = "security camera" }, /obj/structure/table/steel, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/storage/box, -/obj/item/weapon/storage/box, +/obj/item/storage/box, +/obj/item/storage/box, /obj/machinery/light{ dir = 4 }, @@ -68704,26 +68704,26 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 }, -/obj/item/weapon/folder/yellow, -/obj/item/weapon/stamp/qm, +/obj/item/folder/yellow, +/obj/item/stamp/qm, /turf/simulated/floor/tiled, /area/quartermaster/qm) "czi" = ( /obj/structure/table/standard, -/obj/item/weapon/clipboard, -/obj/item/weapon/pen/multi, +/obj/item/clipboard, +/obj/item/pen/multi, /turf/simulated/floor/tiled, /area/quartermaster/qm) "czj" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, /obj/structure/extinguisher_cabinet{ pixel_x = 28 }, -/obj/item/device/megaphone, +/obj/item/megaphone, /obj/machinery/camera/network/cargo{ c_tag = "CRG - Quartermaster Office"; dir = 8; @@ -68815,7 +68815,7 @@ /area/hallway/primary/seconddeck/apcenter) "czt" = ( /obj/machinery/papershredder, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -68914,7 +68914,7 @@ /area/maintenance/medbay) "czD" = ( /obj/machinery/mech_recharger, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -68940,8 +68940,8 @@ /area/medical/medbay_emt_bay) "czG" = ( /obj/structure/table/steel, -/obj/item/device/multitool, -/obj/item/weapon/deck/cards, +/obj/item/multitool, +/obj/item/deck/cards, /obj/machinery/camera/network/medbay{ c_tag = "MED - EMT Bay"; dir = 8 @@ -68956,7 +68956,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -69004,12 +69004,12 @@ /area/medical/reception) "czL" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/food/drinks/britcup, +/obj/item/reagent_containers/food/drinks/britcup, /obj/random/medical, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ pixel_x = -5 }, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, /obj/effect/floor_decal/corner/paleblue/diagonal{ dir = 4 }, @@ -69017,7 +69017,7 @@ /area/medical/reception) "czM" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/food/drinks/britcup, +/obj/item/reagent_containers/food/drinks/britcup, /obj/effect/floor_decal/corner/paleblue/diagonal{ dir = 4 }, @@ -69030,7 +69030,7 @@ d2 = 2; icon_state = "1-2" }, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/effect/floor_decal/corner/paleblue{ @@ -69142,7 +69142,7 @@ /turf/simulated/floor/tiled/white, /area/medical/chemistry) "czW" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/borderfloorwhite{ dir = 8 }, @@ -69203,23 +69203,23 @@ /area/medical/medbay_primary_storage) "cAd" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/glass/bottle/stoxin{ +/obj/item/reagent_containers/glass/bottle/stoxin{ pixel_x = -6; pixel_y = 10 }, -/obj/item/weapon/reagent_containers/glass/bottle/antitoxin{ +/obj/item/reagent_containers/glass/bottle/antitoxin{ pixel_x = 5; pixel_y = 5 }, -/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline{ +/obj/item/reagent_containers/glass/bottle/inaprovaline{ pixel_x = 1 }, /obj/random/medical, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = 5; pixel_y = 5 }, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /obj/random/medical, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -69227,11 +69227,11 @@ /obj/machinery/light{ dir = 4 }, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/gloves{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/box/masks, +/obj/item/storage/box/masks, /obj/effect/floor_decal/borderfloorwhite{ dir = 4 }, @@ -69258,21 +69258,21 @@ /area/medical/biostorage) "cAg" = ( /obj/structure/closet/crate, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/radio{ +/obj/item/storage/box/lights/mixed, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/radio{ frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link" }, -/obj/item/device/radio{ +/obj/item/radio{ frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link" }, -/obj/item/weapon/tool/crowbar/red, -/obj/item/weapon/tool/crowbar/red, +/obj/item/tool/crowbar/red, +/obj/item/tool/crowbar/red, /turf/simulated/floor/tiled/dark, /area/medical/biostorage) "cAh" = ( @@ -69329,7 +69329,7 @@ /obj/structure/mirror{ pixel_x = -28 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -69548,7 +69548,7 @@ /area/quartermaster/qm) "cAX" = ( /obj/machinery/disposal, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -69567,8 +69567,8 @@ /turf/simulated/floor/plating, /area/maintenance/bar) "cAZ" = ( -/obj/item/weapon/tank/emergency/oxygen/engi, -/obj/item/weapon/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/double, /obj/random/maintenance/cargo, /obj/random/maintenance/cargo, /obj/random/maintenance/cargo, @@ -69629,7 +69629,7 @@ /obj/machinery/alarm{ pixel_y = 23 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -69690,7 +69690,7 @@ /obj/machinery/alarm{ pixel_y = 23 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -69724,7 +69724,7 @@ /obj/structure/fireaxecabinet{ pixel_x = -32 }, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/light{ dir = 8 }, @@ -69768,7 +69768,7 @@ req_access = newlist(); req_one_access = list(5,18) }, -/obj/item/weapon/rig/medical/equipped, +/obj/item/rig/medical/equipped, /obj/structure/window/reinforced{ dir = 1 }, @@ -69901,7 +69901,7 @@ /area/medical/reception) "cBF" = ( /obj/structure/table/reinforced, -/obj/item/device/radio{ +/obj/item/radio{ anchored = 1; canhear_range = 1; frequency = 1487; @@ -70125,7 +70125,7 @@ /area/medical/medbay2) "cBX" = ( /obj/machinery/atmospherics/unary/vent_pump/on, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ pixel_y = 21 }, /obj/effect/floor_decal/borderfloorwhite{ @@ -70189,9 +70189,9 @@ dir = 1 }, /obj/item/clothing/suit/fire/firefighter, -/obj/item/weapon/tank/oxygen, +/obj/item/tank/oxygen, /obj/item/clothing/mask/gas, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /obj/item/clothing/head/hardhat/red, /obj/item/clothing/glasses/meson, /obj/random/maintenance/engineering, @@ -70343,9 +70343,9 @@ /area/quartermaster/delivery) "cCq" = ( /obj/structure/table/steel, -/obj/item/weapon/wrapping_paper, -/obj/item/weapon/wrapping_paper, -/obj/item/weapon/wrapping_paper, +/obj/item/wrapping_paper, +/obj/item/wrapping_paper, +/obj/item/wrapping_paper, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, @@ -70361,12 +70361,12 @@ d2 = 8; icon_state = "0-8" }, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, -/obj/item/device/destTagger{ +/obj/item/packageWrap, +/obj/item/packageWrap, +/obj/item/packageWrap, +/obj/item/packageWrap, +/obj/item/packageWrap, +/obj/item/destTagger{ pixel_x = 4; pixel_y = 3 }, @@ -70431,7 +70431,7 @@ /obj/random/maintenance/engineering, /obj/random/maintenance/clean, /obj/random/tech_supply, -/obj/item/weapon/storage/mre/random, +/obj/item/storage/mre/random, /turf/simulated/floor/plating, /area/maintenance/bar) "cCx" = ( @@ -70799,15 +70799,15 @@ dir = 4 }, /obj/structure/window/reinforced, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/storage/toolbox/mechanical, -/obj/item/device/radio{ +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/storage/toolbox/mechanical, +/obj/item/radio{ frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link" }, -/obj/item/device/radio{ +/obj/item/radio{ frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link" @@ -70882,9 +70882,9 @@ /area/medical/reception) "cDj" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin, -/obj/item/weapon/folder/white, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/folder/white, +/obj/item/pen, /turf/simulated/floor/tiled/white, /area/medical/reception) "cDk" = ( @@ -70950,7 +70950,7 @@ dir = 8 }, /obj/machinery/portable_atmospherics/powered/reagent_distillery, -/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, /turf/simulated/floor/tiled/white, /area/medical/chemistry) "cDp" = ( @@ -70961,7 +70961,7 @@ /area/medical/chemistry) "cDq" = ( /obj/structure/closet/secure_closet/chemical, -/obj/item/weapon/storage/box/pillbottles, +/obj/item/storage/box/pillbottles, /obj/machinery/alarm{ dir = 8; pixel_x = 22 @@ -70972,13 +70972,13 @@ /obj/effect/floor_decal/corner/beige/border{ dir = 4 }, -/obj/item/weapon/storage/box/syringes, -/obj/item/weapon/tool/screwdriver, +/obj/item/storage/box/syringes, +/obj/item/tool/screwdriver, /turf/simulated/floor/tiled/white, /area/medical/chemistry) "cDr" = ( /obj/structure/bed/chair/wheelchair, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 4; pixel_x = -21 }, @@ -70997,7 +70997,7 @@ /area/medical/medbay_primary_storage) "cDt" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, /obj/item/bodybag/cryobag, /obj/item/bodybag/cryobag, /obj/item/bodybag/cryobag, @@ -71015,8 +71015,8 @@ /area/medical/medbay_primary_storage) "cDu" = ( /obj/structure/table/steel, -/obj/item/weapon/gun/launcher/syringe, -/obj/item/weapon/storage/box/syringegun, +/obj/item/gun/launcher/syringe, +/obj/item/storage/box/syringegun, /obj/random/medical, /obj/random/medical, /obj/structure/extinguisher_cabinet{ @@ -71031,7 +71031,7 @@ /area/medical/biostorage) "cDw" = ( /obj/structure/bed/chair/wheelchair, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 8; pixel_x = 21 }, @@ -71268,9 +71268,9 @@ /area/maintenance/central) "cDR" = ( /obj/structure/table/standard, -/obj/item/device/t_scanner, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/t_scanner, +/obj/item/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /turf/simulated/floor/plating, /area/storage/emergency_storage/seconddeck/port_emergency) "cDS" = ( @@ -71443,7 +71443,7 @@ /area/quartermaster/qm) "cEi" = ( /obj/structure/closet, -/obj/item/weapon/storage/backpack/dufflebag, +/obj/item/storage/backpack/dufflebag, /obj/machinery/firealarm{ dir = 4; pixel_x = 24 @@ -71698,8 +71698,8 @@ /area/medical/medbay) "cEI" = ( /obj/structure/bookcase/manuals/medical, -/obj/item/weapon/book/manual/stasis, -/obj/item/weapon/book/manual/medical_diagnostics_manual{ +/obj/item/book/manual/stasis, +/obj/item/book/manual/wiki/medical_diagnostics_manual{ pixel_y = 7 }, /obj/effect/floor_decal/corner/paleblue/diagonal{ @@ -71725,7 +71725,7 @@ /obj/effect/floor_decal/corner/paleblue/diagonal{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -71865,7 +71865,7 @@ "cEU" = ( /obj/machinery/reagentgrinder, /obj/structure/table/glass, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 4; pixel_x = -21 }, @@ -71926,7 +71926,7 @@ /area/medical/chemistry) "cEY" = ( /obj/structure/closet/wardrobe/chemistry_white, -/obj/item/device/radio/headset/headset_med, +/obj/item/radio/headset/headset_med, /obj/machinery/power/apc{ name = "south bump"; pixel_y = -24 @@ -71935,7 +71935,7 @@ pixel_x = 11; pixel_y = -24 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -71944,19 +71944,19 @@ d2 = 8; icon_state = "0-8" }, -/obj/item/weapon/storage/box/pillbottles, +/obj/item/storage/box/pillbottles, /obj/effect/floor_decal/borderfloorwhite{ dir = 6 }, /obj/effect/floor_decal/corner/beige/border{ dir = 6 }, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the 'Space' from Space Cleaner and written in Chemistry. Scrawled on the back is, 'Okay, whoever filled this with polytrinic acid, it was only funny the first time. It was hard enough replacing the CMO's first cat!'"; name = "Chemistry Cleaner" }, -/obj/item/weapon/hand_labeler, -/obj/item/weapon/packageWrap, +/obj/item/hand_labeler, +/obj/item/packageWrap, /turf/simulated/floor/tiled/white, /area/medical/chemistry) "cEZ" = ( @@ -72073,7 +72073,7 @@ /area/medical/medbay2) "cFi" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/food/drinks/britcup, +/obj/item/reagent_containers/food/drinks/britcup, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/white, /area/medical/medbay2) @@ -72085,37 +72085,37 @@ /area/medical/medbay2) "cFk" = ( /obj/structure/table/glass, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#FF6666"; name = "light red towel" }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#FF6666"; name = "light red towel" }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#FF6666"; name = "light red towel" }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#3fc0ea"; name = "light blue towel"; pixel_x = 2; pixel_y = 4 }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#3fc0ea"; name = "light blue towel"; pixel_x = 2; pixel_y = 4 }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#3fc0ea"; name = "light blue towel"; pixel_x = 2; pixel_y = 4 }, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /obj/machinery/power/apc{ dir = 8; name = "west bump"; @@ -72306,12 +72306,12 @@ /area/quartermaster/delivery) "cFG" = ( /obj/structure/table/standard, -/obj/item/weapon/coin/silver{ +/obj/item/coin/silver{ pixel_x = -3; pixel_y = 3 }, -/obj/item/weapon/coin/silver, -/obj/item/device/retail_scanner/civilian{ +/obj/item/coin/silver, +/obj/item/retail_scanner/civilian{ dir = 1 }, /obj/effect/floor_decal/borderfloor{ @@ -72380,7 +72380,7 @@ /obj/machinery/light{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -72597,7 +72597,7 @@ d2 = 2; icon_state = "1-2" }, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 4; pixel_x = -21 }, @@ -72836,7 +72836,7 @@ /turf/simulated/floor, /area/maintenance/disposal) "cGL" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -72964,8 +72964,8 @@ dir = 1 }, /obj/structure/table/steel, -/obj/item/device/floor_painter, -/obj/item/weapon/weldingtool, +/obj/item/floor_painter, +/obj/item/weldingtool, /turf/simulated/floor/tiled, /area/quartermaster/warehouse) "cHb" = ( @@ -72994,9 +72994,9 @@ /obj/structure/table/steel, /obj/fiftyspawner/steel, /obj/fiftyspawner/glass, -/obj/item/weapon/storage/belt/utility, -/obj/item/weapon/storage/belt/utility, -/obj/item/device/multitool, +/obj/item/storage/belt/utility, +/obj/item/storage/belt/utility, +/obj/item/multitool, /obj/machinery/camera/network/cargo{ c_tag = "CRG - Cargo Office Port"; name = "security camera" @@ -73025,12 +73025,12 @@ /area/quartermaster/office) "cHe" = ( /obj/structure/table/steel, -/obj/item/weapon/folder/yellow, -/obj/item/weapon/stamp/denied{ +/obj/item/folder/yellow, +/obj/item/stamp/denied{ pixel_x = 4; pixel_y = -2 }, -/obj/item/weapon/stamp/cargo, +/obj/item/stamp/cargo, /obj/effect/floor_decal/borderfloor/corner{ dir = 1 }, @@ -73299,7 +73299,7 @@ /obj/effect/floor_decal/spline/plain{ dir = 1 }, -/obj/item/device/communicator, +/obj/item/communicator, /turf/simulated/floor/tiled/hydro, /area/hallway/primary/seconddeck/ascenter) "cHI" = ( @@ -74053,7 +74053,7 @@ /turf/simulated/floor/tiled/white, /area/medical/medbay2) "cIA" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -74654,7 +74654,7 @@ /area/hallway/primary/seconddeck/ascenter) "cJt" = ( /obj/structure/table/woodentable, -/obj/item/weapon/book/codex/lore/vir, +/obj/item/book/codex/lore/vir, /obj/machinery/camera/network/second_deck{ c_tag = "Second Deck - Center Four"; dir = 1 @@ -74678,9 +74678,9 @@ "cJw" = ( /obj/structure/closet/crate, /obj/item/clothing/shoes/boots/combat, -/obj/item/weapon/tank/air, -/obj/item/weapon/tank/air, -/obj/item/weapon/tank/air, +/obj/item/tank/air, +/obj/item/tank/air, +/obj/item/tank/air, /obj/item/clothing/mask/gas, /obj/effect/decal/cleanable/dirt, /obj/random/maintenance/cargo, @@ -74705,7 +74705,7 @@ d2 = 2; icon_state = "1-2" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -74845,7 +74845,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 1; pixel_y = -21 }, @@ -75018,7 +75018,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -75066,7 +75066,7 @@ /turf/simulated/floor/tiled/white, /area/medical/medbay2) "cJZ" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -75189,11 +75189,11 @@ /area/medical/medical_lockerroom) "cKk" = ( /obj/structure/closet/secure_closet/medical3, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /obj/machinery/firealarm{ pixel_y = 24 }, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 8; pixel_x = 21 }, @@ -75381,8 +75381,8 @@ /area/quartermaster/lockerroom) "cKI" = ( /obj/structure/closet/secure_closet/cargotech, -/obj/item/weapon/storage/backpack/dufflebag, -/obj/item/weapon/stamp/cargo, +/obj/item/storage/backpack/dufflebag, +/obj/item/stamp/cargo, /obj/machinery/alarm{ dir = 1; pixel_y = -22 @@ -75391,7 +75391,7 @@ /area/quartermaster/lockerroom) "cKJ" = ( /obj/structure/closet/secure_closet/cargotech, -/obj/item/weapon/stamp/cargo, +/obj/item/stamp/cargo, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, @@ -75411,8 +75411,8 @@ /turf/simulated/floor/tiled/steel, /area/quartermaster/lockerroom) "cKL" = ( -/obj/item/weapon/tape_roll, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/tape_roll, +/obj/item/storage/firstaid/regular{ pixel_x = 6; pixel_y = -5 }, @@ -75422,7 +75422,7 @@ dir = 1; name = "security camera" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -75646,14 +75646,14 @@ pixel_y = -22 }, /obj/machinery/recharger, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ pixel_x = -5 }, /turf/simulated/floor/tiled/dark, /area/medical/medbay2) "cLq" = ( /obj/structure/table/glass, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 1; pixel_y = -21 }, @@ -75766,7 +75766,7 @@ /turf/simulated/floor, /area/maintenance/disposal) "cLC" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor, /area/maintenance/disposal) "cLD" = ( @@ -75777,7 +75777,7 @@ /obj/effect/floor_decal/industrial/warning{ dir = 6 }, -/obj/item/weapon/storage/bag/trash, +/obj/item/storage/bag/trash, /turf/simulated/floor, /area/maintenance/disposal) "cLE" = ( @@ -75850,7 +75850,7 @@ /turf/simulated/floor/plating, /area/maintenance/cargo) "cLN" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -76049,9 +76049,9 @@ /turf/simulated/floor/plating, /area/storage/emergency_storage/seconddeck/as_emergency) "cMj" = ( -/obj/item/device/t_scanner, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/t_scanner, +/obj/item/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /obj/structure/table/steel, /obj/random/maintenance/engineering, /obj/random/maintenance/clean, @@ -76111,7 +76111,7 @@ }, /obj/structure/table/steel, /obj/machinery/cell_charger, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, @@ -76124,7 +76124,7 @@ /area/maintenance/substation/medical) "cMo" = ( /obj/machinery/disposal, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -76180,11 +76180,11 @@ /area/crew_quarters/heads/sc/cmo) "cMs" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/fancy/vials{ +/obj/item/storage/fancy/vials{ pixel_x = 5; pixel_y = 5 }, -/obj/item/weapon/storage/fancy/vials, +/obj/item/storage/fancy/vials, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 }, @@ -76338,12 +76338,12 @@ /turf/simulated/floor/tiled/white, /area/medical/sleeper) "cMD" = ( -/obj/item/weapon/tool/wrench, -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{ +/obj/item/tool/wrench, +/obj/item/reagent_containers/glass/beaker/cryoxadone{ pixel_x = 7; pixel_y = 1 }, -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{ +/obj/item/reagent_containers/glass/beaker/cryoxadone{ pixel_x = -4 }, /obj/structure/table/glass, @@ -76386,7 +76386,7 @@ "cMJ" = ( /obj/structure/table/woodentable, /obj/item/toy/plushie/therapy/blue, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -76437,7 +76437,7 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -76629,8 +76629,8 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/module/power_control, -/obj/item/weapon/cell{ +/obj/item/module/power_control, +/obj/item/cell{ maxcharge = 2000 }, /obj/effect/floor_decal/borderfloor{ @@ -76647,8 +76647,8 @@ }, /obj/structure/table/steel, /obj/random/cigarettes, -/obj/item/weapon/flame/lighter/random, -/obj/item/weapon/deck/cards, +/obj/item/flame/lighter/random, +/obj/item/deck/cards, /obj/effect/floor_decal/borderfloor{ dir = 8 }, @@ -77168,7 +77168,7 @@ /area/medical/cryo) "cOd" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /obj/machinery/alarm{ dir = 4; pixel_x = -22 @@ -77243,17 +77243,17 @@ /area/medical/morgue) "cOl" = ( /obj/structure/table/steel, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/clipboard, -/obj/item/weapon/pen/red{ +/obj/item/clipboard, +/obj/item/pen/red{ pixel_x = 2; pixel_y = 6 }, -/obj/item/weapon/pen, -/obj/item/device/retail_scanner/civilian{ +/obj/item/pen, +/obj/item/retail_scanner/civilian{ dir = 1 }, /obj/machinery/light{ @@ -77309,7 +77309,7 @@ /area/medical/medical_lockerroom) "cOq" = ( /obj/structure/closet/secure_closet/medical3, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /obj/effect/floor_decal/borderfloorwhite{ dir = 4 }, @@ -77427,7 +77427,7 @@ /area/maintenance/substation/cargo) "cOB" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, /obj/random/medical/lite, /obj/machinery/camera/network/medbay{ c_tag = "MED - FA Station Fore"; @@ -77632,11 +77632,11 @@ /area/crew_quarters/heads/sc/cmo) "cOX" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin, -/obj/item/weapon/clipboard, -/obj/item/weapon/folder/white_cmo, -/obj/item/weapon/stamp/cmo, -/obj/item/weapon/pen/multi, +/obj/item/paper_bin, +/obj/item/clipboard, +/obj/item/folder/white_cmo, +/obj/item/stamp/cmo, +/obj/item/pen/multi, /turf/simulated/floor/tiled/white, /area/crew_quarters/heads/sc/cmo) "cOY" = ( @@ -77801,12 +77801,12 @@ /area/medical/cryo) "cPn" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, -/obj/item/weapon/clipboard, -/obj/item/weapon/folder/blue, -/obj/item/weapon/folder/red, -/obj/item/weapon/folder/blue, +/obj/item/paper_bin, +/obj/item/pen, +/obj/item/clipboard, +/obj/item/folder/blue, +/obj/item/folder/red, +/obj/item/folder/blue, /obj/machinery/light{ dir = 8 }, @@ -77864,7 +77864,7 @@ /obj/structure/bed/chair/comfy/brown{ dir = 8 }, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 1; pixel_y = -21 }, @@ -77939,8 +77939,8 @@ /area/medical/medical_lockerroom) "cPy" = ( /obj/structure/closet/wardrobe/medic_white, -/obj/item/device/flashlight/pen, -/obj/item/device/flashlight/pen, +/obj/item/flashlight/pen, +/obj/item/flashlight/pen, /obj/effect/floor_decal/borderfloorwhite{ dir = 10 }, @@ -77951,8 +77951,8 @@ /area/medical/medical_lockerroom) "cPz" = ( /obj/structure/table/glass, -/obj/item/weapon/packageWrap, -/obj/item/weapon/hand_labeler, +/obj/item/packageWrap, +/obj/item/hand_labeler, /obj/machinery/alarm{ dir = 1; pixel_y = -22 @@ -77963,11 +77963,11 @@ /area/medical/medical_lockerroom) "cPA" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/belt/medical, -/obj/item/weapon/storage/belt/medical, -/obj/item/weapon/storage/belt/medical, -/obj/item/weapon/storage/belt/medical, -/obj/item/weapon/storage/belt/medical, +/obj/item/storage/belt/medical, +/obj/item/storage/belt/medical, +/obj/item/storage/belt/medical, +/obj/item/storage/belt/medical, +/obj/item/storage/belt/medical, /obj/item/clothing/accessory/stethoscope, /obj/item/clothing/accessory/stethoscope, /obj/item/clothing/accessory/stethoscope, @@ -77978,7 +77978,7 @@ /obj/item/clothing/glasses/hud/health, /obj/item/clothing/glasses/hud/health, /obj/item/clothing/glasses/hud/health, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -78026,7 +78026,7 @@ /turf/simulated/floor, /area/maintenance/cargo) "cPE" = ( -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/floor/plating, /area/maintenance/cargo) "cPF" = ( @@ -78134,9 +78134,9 @@ dir = 1 }, /obj/item/clothing/suit/fire/firefighter, -/obj/item/weapon/tank/oxygen, +/obj/item/tank/oxygen, /obj/item/clothing/mask/gas, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /obj/item/clothing/head/hardhat/red, /obj/item/clothing/glasses/meson, /obj/random/maintenance/engineering, @@ -78163,9 +78163,9 @@ /turf/simulated/floor/plating, /area/maintenance/bar) "cPV" = ( -/obj/item/device/t_scanner, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/t_scanner, +/obj/item/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /obj/structure/table/steel, /obj/random/maintenance/clean, /obj/random/maintenance/clean, @@ -78402,7 +78402,7 @@ /area/maintenance/bar) "cQk" = ( /obj/structure/table/steel, -/obj/item/device/t_scanner, +/obj/item/t_scanner, /obj/random/tech_supply, /obj/random/tech_supply, /obj/machinery/alarm{ @@ -78413,7 +78413,7 @@ /area/maintenance/bar) "cQl" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /obj/random/maintenance/clean, /obj/random/maintenance/clean, /obj/random/maintenance/clean, @@ -78543,14 +78543,14 @@ dir = 8 }, /obj/structure/table/reinforced, -/obj/item/weapon/storage/belt/medical, +/obj/item/storage/belt/medical, /obj/item/clothing/accessory/stethoscope, /obj/item/clothing/glasses/sunglasses/medhud, -/obj/item/device/radio{ +/obj/item/radio{ frequency = 1487; name = "Medbay Emergency Radio Link" }, -/obj/item/device/megaphone, +/obj/item/megaphone, /obj/effect/floor_decal/borderfloorwhite{ dir = 4 }, @@ -78797,11 +78797,11 @@ "cQQ" = ( /obj/structure/table/steel, /obj/machinery/recharger, -/obj/item/weapon/stamp{ +/obj/item/stamp{ pixel_x = -3; pixel_y = 3 }, -/obj/item/weapon/hand_labeler, +/obj/item/hand_labeler, /turf/simulated/floor/tiled/dark, /area/quartermaster/office) "cQR" = ( @@ -78943,8 +78943,8 @@ name = "formal wardrobe" }, /obj/item/glass_jar, -/obj/item/device/retail_scanner/civilian, -/obj/item/device/retail_scanner/civilian, +/obj/item/retail_scanner/civilian, +/obj/item/retail_scanner/civilian, /obj/machinery/camera/network/civilian{ c_tag = "CIV - Bar Storage" }, @@ -78979,8 +78979,8 @@ /obj/random/maintenance/cargo, /obj/random/maintenance/cargo, /obj/random/maintenance/cargo, -/obj/item/weapon/material/knife, -/obj/item/weapon/storage/mre/random, +/obj/item/material/knife, +/obj/item/storage/mre/random, /obj/random/crate, /turf/simulated/floor/plating, /area/maintenance/bar) @@ -78991,7 +78991,7 @@ d2 = 2; icon_state = "1-2" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -79158,7 +79158,7 @@ /area/crew_quarters/heads/sc/cmo) "cRw" = ( /obj/machinery/photocopier, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 1; pixel_y = -21 }, @@ -79180,7 +79180,7 @@ /area/medical/sleeper) "cRy" = ( /obj/structure/closet/secure_closet/medical1, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 1; pixel_y = -21 }, @@ -79204,15 +79204,15 @@ /area/medical/sleeper) "cRA" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ pixel_x = -2; pixel_y = -2 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -79220,8 +79220,8 @@ c_tag = "MED - Acute"; dir = 1 }, -/obj/item/device/defib_kit/loaded, -/obj/item/device/defib_kit/loaded, +/obj/item/defib_kit/loaded, +/obj/item/defib_kit/loaded, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled/white, @@ -79307,9 +79307,9 @@ name = "O- Blood Locker"; pixel_y = -32 }, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /obj/structure/disposalpipe/segment{ dir = 4 }, @@ -79347,7 +79347,7 @@ /obj/machinery/sleep_console{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -79379,7 +79379,7 @@ d2 = 4; icon_state = "1-4" }, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 1; pixel_y = -21 }, @@ -79480,7 +79480,7 @@ /turf/simulated/floor/tiled/white, /area/medical/genetics_cloning) "cRQ" = ( -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ pixel_y = 21 }, /obj/machinery/camera/network/medbay{ @@ -79509,7 +79509,7 @@ /area/medical/genetics_cloning) "cRS" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/laundry_basket, +/obj/item/storage/laundry_basket, /obj/machinery/firealarm{ pixel_y = 24 }, @@ -79519,7 +79519,7 @@ /obj/effect/floor_decal/corner/purple/border{ dir = 1 }, -/obj/item/weapon/storage/box/bodybags, +/obj/item/storage/box/bodybags, /turf/simulated/floor/tiled/white, /area/medical/genetics_cloning) "cRT" = ( @@ -79545,8 +79545,8 @@ /area/medical/morgue) "cRV" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/box/bodybags, -/obj/item/weapon/storage/box/bodybags, +/obj/item/storage/box/bodybags, +/obj/item/storage/box/bodybags, /obj/machinery/power/apc{ dir = 4; name = "east bump"; @@ -79675,7 +79675,7 @@ /turf/simulated/floor/plating, /area/maintenance/cargo) "cSg" = ( -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /obj/item/stack/rods, @@ -80077,7 +80077,7 @@ /turf/simulated/floor/tiled/white, /area/medical/genetics_cloning) "cSW" = ( -/obj/item/weapon/stool, +/obj/item/stool, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, @@ -80198,7 +80198,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 }, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 8; pixel_x = 21 }, @@ -80416,7 +80416,7 @@ d2 = 2; icon_state = "1-2" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -80546,7 +80546,7 @@ /obj/structure/table/rack{ dir = 1 }, -/obj/item/weapon/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, /obj/random/maintenance/medical, /obj/random/maintenance/medical, /obj/random/maintenance/medical, @@ -80570,7 +80570,7 @@ /area/medical/ward) "cTT" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/machinery/newscaster{ pixel_x = -30 }, @@ -80585,7 +80585,7 @@ /area/medical/ward) "cTU" = ( /obj/structure/closet/secure_closet/personal/patient, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -80618,7 +80618,7 @@ /area/medical/ward) "cTW" = ( /obj/structure/closet/secure_closet/personal/patient, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ pixel_y = 21 }, /obj/effect/floor_decal/borderfloorwhite{ @@ -80631,7 +80631,7 @@ /area/medical/ward) "cTX" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/structure/curtain/open/privacy, /obj/effect/floor_decal/borderfloorwhite{ dir = 5 @@ -80643,11 +80643,11 @@ /area/medical/ward) "cTY" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/gloves{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/box/masks, +/obj/item/storage/box/masks, /obj/machinery/power/apc{ dir = 1; name = "north bump"; @@ -80720,7 +80720,7 @@ /area/medical/ward) "cUd" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/structure/curtain/open/privacy, /obj/effect/floor_decal/borderfloorwhite{ dir = 9 @@ -80732,7 +80732,7 @@ /area/medical/ward) "cUe" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/machinery/newscaster{ pixel_x = 30 }, @@ -80776,7 +80776,7 @@ /area/medical/genetics_cloning) "cUj" = ( /obj/structure/closet/wardrobe/medic_white, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -80789,19 +80789,19 @@ /area/medical/genetics_cloning) "cUk" = ( /obj/structure/table/steel, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = -6 }, -/obj/item/device/camera{ +/obj/item/camera{ name = "Autopsy Camera"; pixel_x = -2; pixel_y = 7 }, -/obj/item/weapon/pen/red{ +/obj/item/pen/red{ pixel_x = -1; pixel_y = -9 }, -/obj/item/weapon/pen/blue{ +/obj/item/pen/blue{ pixel_x = 3; pixel_y = -5 }, @@ -80825,9 +80825,9 @@ /area/medical/morgue) "cUm" = ( /obj/structure/table/steel, -/obj/item/weapon/autopsy_scanner, -/obj/item/weapon/surgical/scalpel, -/obj/item/weapon/surgical/cautery, +/obj/item/autopsy_scanner, +/obj/item/surgical/scalpel, +/obj/item/surgical/cautery, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, @@ -80918,7 +80918,7 @@ /turf/simulated/floor/tiled/freezer, /area/crew_quarters/kitchen) "cUx" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -81068,7 +81068,7 @@ /turf/simulated/wall, /area/crew_quarters/locker/locker_toilet) "cUO" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -81110,10 +81110,10 @@ /area/maintenance/medbay) "cUS" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/glass/rag, -/obj/item/weapon/reagent_containers/food/drinks/flask/barflask, -/obj/item/weapon/reagent_containers/food/drinks/flask/vacuumflask, -/obj/item/weapon/flame/lighter/zippo, +/obj/item/reagent_containers/glass/rag, +/obj/item/reagent_containers/food/drinks/flask/barflask, +/obj/item/reagent_containers/food/drinks/flask/vacuumflask, +/obj/item/flame/lighter/zippo, /obj/item/clothing/head/that{ pixel_x = 4; pixel_y = 6 @@ -81178,7 +81178,7 @@ /area/crew_quarters/sleep/vistor_room_1) "cVb" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /obj/machinery/computer/security/telescreen/entertainment{ icon_state = "frame"; pixel_y = 32 @@ -81295,7 +81295,7 @@ /area/medical/ward) "cVm" = ( /obj/structure/table/glass, -/obj/item/device/radio{ +/obj/item/radio{ anchored = 1; canhear_range = 7; frequency = 1487; @@ -81435,8 +81435,8 @@ /area/medical/patient_wing) "cVx" = ( /obj/structure/closet/wardrobe/grey, -/obj/item/weapon/storage/backpack, -/obj/item/weapon/storage/backpack, +/obj/item/storage/backpack, +/obj/item/storage/backpack, /obj/random/maintenance/cargo, /obj/random/maintenance/cargo, /obj/random/maintenance/cargo, @@ -81451,7 +81451,7 @@ /turf/simulated/floor/plating, /area/maintenance/cargo) "cVz" = ( -/obj/item/weapon/material/ashtray/glass, +/obj/item/material/ashtray/glass, /obj/structure/table/steel, /turf/simulated/floor/plating, /area/maintenance/cargo) @@ -81461,8 +81461,8 @@ /area/maintenance/cargo) "cVB" = ( /obj/structure/table/steel, -/obj/item/weapon/reagent_containers/food/drinks/glass2/rocks, -/obj/item/weapon/reagent_containers/food/drinks/glass2/rocks, +/obj/item/reagent_containers/food/drinks/glass2/rocks, +/obj/item/reagent_containers/food/drinks/glass2/rocks, /turf/simulated/floor/plating, /area/maintenance/cargo) "cVC" = ( @@ -81471,7 +81471,7 @@ /area/maintenance/cargo) "cVD" = ( /obj/structure/table/steel, -/obj/item/weapon/reagent_containers/food/drinks/flask/barflask, +/obj/item/reagent_containers/food/drinks/flask/barflask, /turf/simulated/floor/plating, /area/maintenance/cargo) "cVE" = ( @@ -81480,11 +81480,11 @@ pixel_y = -22 }, /obj/structure/table/steel, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/floor/plating, /area/maintenance/cargo) "cVF" = ( -/obj/item/weapon/storage/briefcase/inflatable, +/obj/item/storage/briefcase/inflatable, /turf/simulated/floor/plating, /area/maintenance/cargo) "cVG" = ( @@ -81551,8 +81551,8 @@ "cVP" = ( /obj/structure/table/woodentable, /obj/machinery/reagentgrinder, -/obj/item/weapon/reagent_containers/food/drinks/shaker, -/obj/item/weapon/packageWrap, +/obj/item/reagent_containers/food/drinks/shaker, +/obj/item/packageWrap, /obj/machinery/power/apc{ dir = 4; name = "east bump"; @@ -81571,13 +81571,13 @@ /area/crew_quarters/bar) "cVR" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/box/beanbags, -/obj/item/weapon/gun/projectile/shotgun/doublebarrel, -/obj/item/weapon/tool/screwdriver, +/obj/item/storage/box/beanbags, +/obj/item/gun/projectile/shotgun/doublebarrel, +/obj/item/tool/screwdriver, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk... listen through this."; name = "Station Intercom (Brig Radio)"; pixel_y = -21; @@ -81586,14 +81586,14 @@ /turf/simulated/floor/wood, /area/crew_quarters/bar) "cVS" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /mob/living/carbon/human/monkey/punpun, /turf/simulated/floor/lino, /area/crew_quarters/bar) "cVT" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -81669,15 +81669,15 @@ }, /obj/structure/closet/chefcloset, /obj/item/glass_jar, -/obj/item/device/retail_scanner/civilian, -/obj/item/weapon/soap/nanotrasen, -/obj/item/device/destTagger{ +/obj/item/retail_scanner/civilian, +/obj/item/soap/nanotrasen, +/obj/item/destTagger{ pixel_x = 4; pixel_y = 3 }, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, +/obj/item/packageWrap, +/obj/item/packageWrap, +/obj/item/packageWrap, /obj/item/clothing/gloves/sterile/latex, /obj/item/clothing/gloves/sterile/latex, /turf/simulated/floor/tiled/freezer, @@ -81710,7 +81710,7 @@ /area/maintenance/medbay) "cWd" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /turf/simulated/floor/carpet, /area/crew_quarters/sleep/vistor_room_1) "cWe" = ( @@ -81735,7 +81735,7 @@ /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -81762,7 +81762,7 @@ /area/crew_quarters/bar) "cWk" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /obj/machinery/computer/security/telescreen/entertainment{ icon_state = "frame"; pixel_y = 32 @@ -81790,7 +81790,7 @@ pixel_y = 30 }, /obj/structure/table/standard, -/obj/item/device/communicator, +/obj/item/communicator, /obj/machinery/light{ dir = 1 }, @@ -81798,7 +81798,7 @@ /area/crew_quarters/sleep/vistor_room_2) "cWo" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /turf/simulated/floor/carpet, /area/crew_quarters/sleep/vistor_room_2) "cWp" = ( @@ -82158,7 +82158,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -82250,7 +82250,7 @@ /area/maintenance/bar) "cWV" = ( /obj/structure/table/marble, -/obj/item/weapon/material/ashtray/glass, +/obj/item/material/ashtray/glass, /obj/machinery/door/blast/shutters{ dir = 2; id = "bar"; @@ -82267,12 +82267,12 @@ /area/crew_quarters/bar) "cWW" = ( /obj/structure/table/standard, -/obj/item/weapon/towel, -/obj/item/weapon/towel, -/obj/item/weapon/towel, -/obj/item/weapon/towel, -/obj/item/weapon/towel, -/obj/item/weapon/towel, +/obj/item/towel, +/obj/item/towel, +/obj/item/towel, +/obj/item/towel, +/obj/item/towel, +/obj/item/towel, /obj/random/soap, /obj/random/soap, /obj/machinery/power/apc{ @@ -82383,7 +82383,7 @@ name = "xeno_spawn"; pixel_x = -1 }, -/obj/item/weapon/bikehorn/rubberducky, +/obj/item/bikehorn/rubberducky, /obj/machinery/alarm{ dir = 8; pixel_x = 22 @@ -82428,7 +82428,7 @@ /turf/simulated/floor/tiled, /area/hallway/primary/seconddeck/aft) "cXj" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 }, @@ -82508,7 +82508,7 @@ /obj/effect/floor_decal/corner/brown/border{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -82629,11 +82629,11 @@ /area/rnd/research/firstdeck/hallway) "cXE" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/blood/AMinus, -/obj/item/weapon/reagent_containers/blood/APlus, -/obj/item/weapon/reagent_containers/blood/BMinus, -/obj/item/weapon/reagent_containers/blood/BPlus, -/obj/item/weapon/reagent_containers/blood/OPlus, +/obj/item/reagent_containers/blood/AMinus, +/obj/item/reagent_containers/blood/APlus, +/obj/item/reagent_containers/blood/BMinus, +/obj/item/reagent_containers/blood/BPlus, +/obj/item/reagent_containers/blood/OPlus, /obj/structure/extinguisher_cabinet{ pixel_x = -28 }, @@ -82647,25 +82647,25 @@ /area/medical/ward) "cXF" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /obj/structure/closet/secure_closet/medical_wall{ name = "O- Blood Locker"; pixel_y = -32 }, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled/white, /area/medical/ward) "cXG" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/blood/empty, -/obj/item/weapon/reagent_containers/blood/empty, -/obj/item/weapon/reagent_containers/blood/empty, -/obj/item/weapon/reagent_containers/blood/empty, -/obj/item/weapon/reagent_containers/blood/empty, +/obj/item/reagent_containers/blood/empty, +/obj/item/reagent_containers/blood/empty, +/obj/item/reagent_containers/blood/empty, +/obj/item/reagent_containers/blood/empty, +/obj/item/reagent_containers/blood/empty, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, @@ -82674,7 +82674,7 @@ /turf/simulated/floor/tiled/white, /area/medical/ward) "cXH" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/camera/network/medbay{ c_tag = "MED - Patient Ward Port"; dir = 1 @@ -82959,7 +82959,7 @@ /turf/simulated/floor/wood, /area/crew_quarters/cafeteria) "cYk" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/wood, @@ -82973,11 +82973,11 @@ /turf/simulated/floor/lino, /area/crew_quarters/bar) "cYm" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/wood, /area/crew_quarters/cafeteria) "cYn" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/structure/cable/green{ d1 = 1; @@ -82987,12 +82987,12 @@ /turf/simulated/floor/wood, /area/crew_quarters/cafeteria) "cYo" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/structure/disposalpipe/segment, /turf/simulated/floor/wood, /area/crew_quarters/cafeteria) "cYp" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/wood, /area/crew_quarters/cafeteria) @@ -83016,7 +83016,7 @@ /turf/simulated/floor/carpet, /area/crew_quarters/sleep/vistor_room_2) "cYt" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 }, @@ -83066,7 +83066,7 @@ /turf/simulated/floor/tiled/steel_grid, /area/crew_quarters/locker/locker_toilet) "cYy" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk... listen through this."; name = "Station Intercom (Brig Radio)"; pixel_y = -21; @@ -83124,7 +83124,7 @@ /turf/simulated/floor/carpet, /area/crew_quarters/sleep/vistor_room_1) "cYD" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk... listen through this."; name = "Station Intercom (Brig Radio)"; pixel_y = -21; @@ -83289,7 +83289,7 @@ dir = 1; pixel_y = -22 }, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 4; pixel_x = -21 }, @@ -83322,7 +83322,7 @@ dir = 1; pixel_y = -24 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -83519,13 +83519,13 @@ /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 }, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -3 }, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 3 }, -/obj/item/weapon/reagent_containers/food/condiment/small/sugar, +/obj/item/reagent_containers/food/condiment/small/sugar, /turf/simulated/floor/tiled/white, /area/crew_quarters/cafeteria) "cZs" = ( @@ -83556,7 +83556,7 @@ name = "defibrillator closet"; pixel_y = 31 }, -/obj/item/device/defib_kit/loaded, +/obj/item/defib_kit/loaded, /turf/simulated/floor/tiled/white, /area/medical/first_aid_station/seconddeck/aft) "cZx" = ( @@ -83612,12 +83612,12 @@ dir = 5 }, /obj/structure/table/glass, -/obj/item/device/radio{ +/obj/item/radio{ frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -83795,7 +83795,7 @@ /obj/effect/floor_decal/corner/green/bordercorner{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -83838,8 +83838,8 @@ /area/maintenance/medbay) "cZU" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/hemostat, -/obj/item/weapon/surgical/cautery, +/obj/item/surgical/hemostat, +/obj/item/surgical/cautery, /obj/machinery/status_display{ layer = 4; pixel_x = -32 @@ -83872,8 +83872,8 @@ d2 = 4; icon_state = "0-4" }, -/obj/item/weapon/surgical/bonesetter, -/obj/item/weapon/surgical/bonegel, +/obj/item/surgical/bonesetter, +/obj/item/surgical/bonegel, /obj/machinery/button/holosign{ pixel_x = -11; pixel_y = 30 @@ -83993,8 +83993,8 @@ d2 = 8; icon_state = "0-8" }, -/obj/item/weapon/surgical/bonesetter, -/obj/item/weapon/surgical/bonegel, +/obj/item/surgical/bonesetter, +/obj/item/surgical/bonegel, /obj/machinery/button/holosign{ pixel_x = -11; pixel_y = 30 @@ -84009,8 +84009,8 @@ /area/medical/surgery2) "dad" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/hemostat, -/obj/item/weapon/surgical/cautery, +/obj/item/surgical/hemostat, +/obj/item/surgical/cautery, /obj/effect/floor_decal/borderfloorwhite{ dir = 5 }, @@ -84367,7 +84367,7 @@ /turf/simulated/floor/tiled/white, /area/crew_quarters/kitchen) "daB" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, @@ -84695,7 +84695,7 @@ "daZ" = ( /obj/structure/table/standard, /obj/item/stack/medical/advanced/bruise_pack, -/obj/item/weapon/surgical/retractor, +/obj/item/surgical/retractor, /obj/machinery/alarm{ dir = 4; pixel_x = -22 @@ -84859,7 +84859,7 @@ "dbl" = ( /obj/structure/table/standard, /obj/item/stack/medical/advanced/bruise_pack, -/obj/item/weapon/surgical/retractor, +/obj/item/surgical/retractor, /obj/machinery/alarm{ dir = 8; pixel_x = 22 @@ -85041,7 +85041,7 @@ /turf/simulated/floor/plating, /area/maintenance/bar) "dbA" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 }, @@ -85065,14 +85065,14 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 }, -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/reagent_containers/glass/beaker{ +/obj/item/reagent_containers/glass/beaker{ pixel_x = 5 }, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/food/condiment/enzyme, /turf/simulated/floor/tiled/white, /area/crew_quarters/kitchen) "dbC" = ( @@ -85083,9 +85083,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/item/weapon/reagent_containers/food/snacks/mint, -/obj/item/weapon/packageWrap, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/reagent_containers/food/snacks/mint, +/obj/item/packageWrap, +/obj/item/reagent_containers/dropper, /turf/simulated/floor/tiled/white, /area/crew_quarters/kitchen) "dbD" = ( @@ -85161,8 +85161,8 @@ /obj/structure/table/rack, /obj/item/clothing/suit/radiation, /obj/item/clothing/head/radiation, -/obj/item/weapon/storage/toolbox/emergency, -/obj/item/device/defib_kit/loaded, +/obj/item/storage/toolbox/emergency, +/obj/item/defib_kit/loaded, /turf/simulated/floor/tiled/dark, /area/medical/biostorage) "dbM" = ( @@ -85343,11 +85343,11 @@ /area/crew_quarters/locker) "dca" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/circular_saw{ +/obj/item/surgical/circular_saw{ pixel_y = 8 }, -/obj/item/weapon/surgical/scalpel, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/surgical/scalpel, +/obj/item/radio/intercom/department/medbay{ dir = 4; pixel_x = -21 }, @@ -85434,11 +85434,11 @@ /area/medical/surgery2) "dck" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/circular_saw{ +/obj/item/surgical/circular_saw{ pixel_y = 8 }, -/obj/item/weapon/surgical/scalpel, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/surgical/scalpel, +/obj/item/radio/intercom/department/medbay{ dir = 8; pixel_x = 21 }, @@ -85452,19 +85452,19 @@ /area/medical/surgery2) "dcl" = ( /obj/structure/closet/crate/medical, -/obj/item/weapon/surgical/surgicaldrill, -/obj/item/weapon/surgical/FixOVein, -/obj/item/weapon/surgical/circular_saw, -/obj/item/weapon/surgical/scalpel, +/obj/item/surgical/surgicaldrill, +/obj/item/surgical/FixOVein, +/obj/item/surgical/circular_saw, +/obj/item/surgical/scalpel, /obj/item/stack/medical/advanced/bruise_pack, -/obj/item/weapon/surgical/retractor, -/obj/item/weapon/surgical/hemostat, -/obj/item/weapon/surgical/cautery, -/obj/item/weapon/surgical/bonesetter, -/obj/item/weapon/surgical/bonegel, +/obj/item/surgical/retractor, +/obj/item/surgical/hemostat, +/obj/item/surgical/cautery, +/obj/item/surgical/bonesetter, +/obj/item/surgical/bonegel, /obj/item/stack/nanopaste, -/obj/item/weapon/autopsy_scanner, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/autopsy_scanner, +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; @@ -85504,14 +85504,14 @@ /area/medical/patient_a) "dcp" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/pink/border, /turf/simulated/floor/tiled/white, /area/medical/patient_a) "dcq" = ( /obj/structure/closet/secure_closet/personal/patient, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -85533,7 +85533,7 @@ "dcr" = ( /obj/structure/table/glass, /obj/machinery/computer/med_data/laptop, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -85548,7 +85548,7 @@ /area/medical/patient_b) "dcs" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/pink/border, /turf/simulated/floor/tiled/white, @@ -85605,11 +85605,11 @@ /area/crew_quarters/cafeteria) "dcx" = ( /obj/structure/table/woodentable, -/obj/item/weapon/deck/cah{ +/obj/item/deck/cah{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/deck/cah/black{ +/obj/item/deck/cah/black{ pixel_x = -2; pixel_y = -2 }, @@ -85636,8 +85636,8 @@ /area/maintenance/central) "dcz" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/spoon{ +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/spoon{ pixel_x = 2 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -85645,8 +85645,8 @@ /area/crew_quarters/cafeteria) "dcA" = ( /obj/structure/table/woodentable, -/obj/item/weapon/book/codex/lore/vir, -/obj/item/weapon/deck/cards, +/obj/item/book/codex/lore/vir, +/obj/item/deck/cards, /turf/simulated/floor/wood, /area/crew_quarters/cafeteria) "dcB" = ( @@ -85657,8 +85657,8 @@ /area/crew_quarters/cafeteria) "dcC" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/spoon{ +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/spoon{ pixel_x = 2 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -85815,7 +85815,7 @@ }, /obj/random/maintenance/clean, /obj/random/maintenance/clean, -/obj/item/weapon/storage/mre/random, +/obj/item/storage/mre/random, /obj/random/crate, /turf/simulated/floor/plating, /area/maintenance/locker) @@ -85828,8 +85828,8 @@ }, /obj/item/roller, /obj/item/bodybag/cryobag, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/pill_bottle/spaceacillin, +/obj/item/storage/firstaid/regular, +/obj/item/storage/pill_bottle/spaceacillin, /turf/simulated/floor/tiled/white, /area/medical/first_aid_station/seconddeck/fore) "dcT" = ( @@ -85837,10 +85837,10 @@ /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 }, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -3 }, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 3 }, /turf/simulated/floor/tiled/white, @@ -85859,7 +85859,7 @@ /area/crew_quarters/kitchen) "dcW" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/snacks/pie, +/obj/item/reagent_containers/food/snacks/pie, /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 }, @@ -85888,16 +85888,16 @@ /area/crew_quarters/locker) "dda" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/surgicaldrill, -/obj/item/weapon/autopsy_scanner, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/surgical/surgicaldrill, +/obj/item/autopsy_scanner, +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/surgical/FixOVein, -/obj/item/device/radio/intercom{ +/obj/item/surgical/FixOVein, +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -85976,16 +85976,16 @@ /area/medical/surgery2) "ddj" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/surgicaldrill, -/obj/item/weapon/autopsy_scanner, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/surgical/surgicaldrill, +/obj/item/autopsy_scanner, +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/surgical/FixOVein, -/obj/item/device/radio/intercom{ +/obj/item/surgical/FixOVein, +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -86047,7 +86047,7 @@ dir = 4 }, /obj/structure/table/rack, -/obj/item/weapon/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, /obj/random/medical/lite, /obj/machinery/firealarm{ dir = 4; @@ -86098,8 +86098,8 @@ }, /obj/item/roller, /obj/item/bodybag/cryobag, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/pill_bottle/spaceacillin, +/obj/item/storage/firstaid/regular, +/obj/item/storage/pill_bottle/spaceacillin, /turf/simulated/floor/tiled/white, /area/medical/first_aid_station/seconddeck/aft) "ddx" = ( @@ -86145,7 +86145,7 @@ /area/crew_quarters/locker) "ddC" = ( /obj/structure/closet/secure_closet/personal, -/obj/item/weapon/storage/backpack/dufflebag, +/obj/item/storage/backpack/dufflebag, /turf/simulated/floor/tiled/dark, /area/crew_quarters/locker) "ddD" = ( @@ -86191,8 +86191,8 @@ dir = 5 }, /obj/structure/table/marble, -/obj/item/weapon/material/knife/butch, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/knife/butch, +/obj/item/material/kitchen/rollingpin, /turf/simulated/floor/tiled/white, /area/crew_quarters/kitchen) "ddI" = ( @@ -86203,7 +86203,7 @@ dir = 4 }, /obj/structure/table/marble, -/obj/item/weapon/book/manual/chef_recipes, +/obj/item/book/manual/chef_recipes, /turf/simulated/floor/tiled/white, /area/crew_quarters/kitchen) "ddJ" = ( @@ -86308,8 +86308,8 @@ /area/medical/surgeryobs) "ddR" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/cups, -/obj/item/device/radio/intercom{ +/obj/item/storage/box/cups, +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -86340,7 +86340,7 @@ /area/medical/surgeryobs) "ddT" = ( /obj/structure/reagent_dispensers/water_cooler/full, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 8; pixel_x = 21 }, @@ -86417,7 +86417,7 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/cyan{ dir = 4 }, -/obj/item/weapon/reagent_containers/food/drinks/flask/barflask, +/obj/item/reagent_containers/food/drinks/flask/barflask, /obj/random/powercell, /obj/random/maintenance, /obj/random/maintenance/clean, @@ -86501,7 +86501,7 @@ dir = 1; health = 1e+006 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -86668,7 +86668,7 @@ /area/crew_quarters/cafeteria) "dev" = ( /obj/machinery/vending/cola, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -86853,7 +86853,7 @@ /area/crew_quarters/cafeteria) "deK" = ( /obj/structure/table/woodentable, -/obj/item/weapon/flame/candle, +/obj/item/flame/candle, /obj/machinery/power/apc{ dir = 4; name = "east bump"; @@ -86966,7 +86966,7 @@ /turf/simulated/floor/wood, /area/crew_quarters/cafeteria) "deW" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -87134,7 +87134,7 @@ /obj/machinery/camera/network/civilian{ c_tag = "CIV - Hydroponics" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -87161,7 +87161,7 @@ /turf/simulated/floor/tiled, /area/crew_quarters/locker) "dfp" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/borderfloor{ dir = 5 }, @@ -87200,7 +87200,7 @@ name = "defibrillator closet"; pixel_y = -31 }, -/obj/item/device/defib_kit/loaded, +/obj/item/defib_kit/loaded, /turf/simulated/floor/tiled/white, /area/medical/first_aid_station/seconddeck/fore) "dfs" = ( @@ -87493,7 +87493,7 @@ /turf/simulated/floor/tiled/hydro, /area/hydroponics) "dfT" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/borderfloor/corner{ dir = 4 }, @@ -87656,7 +87656,7 @@ /area/hallway/primary/seconddeck/aft) "dgj" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_x = -2; pixel_y = -1 }, @@ -87687,7 +87687,7 @@ /obj/item/honey_frame, /obj/item/honey_frame, /obj/item/bee_pack, -/obj/item/weapon/tool/crowbar, +/obj/item/tool/crowbar, /obj/effect/floor_decal/borderfloor/corner{ dir = 8 }, @@ -87701,7 +87701,7 @@ /area/hydroponics) "dgm" = ( /obj/structure/reagent_dispensers/watertank/high, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/hydro, @@ -87732,7 +87732,7 @@ /area/hydroponics) "dgr" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/laundry_basket, +/obj/item/storage/laundry_basket, /turf/simulated/floor/tiled, /area/crew_quarters/locker) "dgs" = ( @@ -87777,20 +87777,20 @@ /area/crew_quarters/locker) "dgx" = ( /obj/structure/table/glass, -/obj/item/weapon/coin/silver, +/obj/item/coin/silver, /obj/structure/cable/green{ d1 = 1; d2 = 2; icon_state = "1-2" }, -/obj/item/weapon/deck/cards, +/obj/item/deck/cards, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, /area/crew_quarters/locker) "dgy" = ( /obj/structure/table/glass, -/obj/item/weapon/tape_roll, +/obj/item/tape_roll, /turf/simulated/floor/tiled, /area/crew_quarters/locker) "dgz" = ( @@ -87802,7 +87802,7 @@ /obj/effect/floor_decal/corner/lime/bordercorner{ dir = 1 }, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/landmark/start{ name = "Botanist" }, @@ -87812,25 +87812,25 @@ /obj/structure/table/standard, /obj/random/maintenance/clean, /obj/random/maintenance, -/obj/item/weapon/tool/crowbar, +/obj/item/tool/crowbar, /turf/simulated/floor/plating, /area/maintenance/bar) "dgB" = ( /obj/structure/table/standard, -/obj/item/weapon/material/knife/machete/hatchet, -/obj/item/weapon/material/knife/machete/hatchet, -/obj/item/weapon/material/knife/machete/hatchet, -/obj/item/weapon/material/minihoe, -/obj/item/weapon/material/minihoe, -/obj/item/weapon/material/minihoe, +/obj/item/material/knife/machete/hatchet, +/obj/item/material/knife/machete/hatchet, +/obj/item/material/knife/machete/hatchet, +/obj/item/material/minihoe, +/obj/item/material/minihoe, +/obj/item/material/minihoe, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /turf/simulated/floor/tiled/hydro, /area/hydroponics) "dgC" = ( /obj/structure/reagent_dispensers/watertank/high, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /obj/effect/floor_decal/borderfloor{ dir = 8 }, @@ -87873,7 +87873,7 @@ /obj/effect/floor_decal/corner/lime/bordercorner{ dir = 4 }, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/landmark/start{ name = "Botanist" }, @@ -87892,7 +87892,7 @@ /obj/effect/floor_decal/corner/purple/bordercorner{ dir = 4 }, -/obj/item/weapon/storage/box/gloves, +/obj/item/storage/box/gloves, /turf/simulated/floor/tiled/white, /area/rnd/research_lockerroom) "dgH" = ( @@ -88255,7 +88255,7 @@ "dhs" = ( /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/brown/bordercorner, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -88338,8 +88338,8 @@ /area/chapel/office) "dhE" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/nullrod, -/obj/item/weapon/reagent_containers/food/drinks/bottle/holywater, +/obj/item/nullrod, +/obj/item/reagent_containers/food/drinks/bottle/holywater, /obj/machinery/power/apc{ dir = 1; name = "north bump"; @@ -88362,12 +88362,12 @@ /area/chapel/office) "dhF" = ( /obj/structure/table/wooden_reinforced, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 }, -/obj/item/weapon/storage/fancy/markers, +/obj/item/storage/fancy/markers, /turf/simulated/floor/lino, /area/chapel/office) "dhG" = ( @@ -88410,7 +88410,7 @@ /turf/simulated/floor/plating, /area/maintenance/substation/civilian) "dhK" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/green/bordercorner, /turf/simulated/floor/tiled, @@ -88489,7 +88489,7 @@ }, /obj/structure/table/glass, /obj/item/clothing/head/cakehat, -/obj/item/device/communicator, +/obj/item/communicator, /turf/simulated/floor/tiled, /area/hallway/primary/seconddeck/aft) "dhS" = ( @@ -88572,8 +88572,8 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/green/border, /obj/structure/table/glass, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /obj/structure/sign/deck/second{ pixel_y = -32 }, @@ -88624,11 +88624,11 @@ d2 = 2; icon_state = "1-2" }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/pen/blue{ +/obj/item/pen/blue{ pixel_x = 5; pixel_y = 5 }, @@ -88679,7 +88679,7 @@ /turf/simulated/floor/tiled, /area/crew_quarters/locker) "din" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/borderfloor{ dir = 6 }, @@ -88853,7 +88853,7 @@ d2 = 2; icon_state = "1-2" }, -/obj/item/device/flashlight/lamp{ +/obj/item/flashlight/lamp{ pixel_y = 10 }, /turf/simulated/floor/lino, @@ -88976,7 +88976,7 @@ /area/library) "diT" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = 1; pixel_y = 5 }, @@ -88990,7 +88990,7 @@ /area/maintenance/locker) "diV" = ( /obj/structure/bookcase/bookcart, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -89022,7 +89022,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -89215,7 +89215,7 @@ /turf/simulated/wall, /area/maintenance/substation/civilian) "djr" = ( -/obj/item/weapon/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, /obj/machinery/light/small{ dir = 8 }, @@ -89294,13 +89294,13 @@ /area/chapel/main) "djB" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/folder/yellow, -/obj/item/weapon/tape_roll, -/obj/item/weapon/packageWrap, +/obj/item/folder/yellow, +/obj/item/tape_roll, +/obj/item/packageWrap, /turf/simulated/floor/wood, /area/library) "djC" = ( @@ -89445,16 +89445,16 @@ /area/library) "djQ" = ( /obj/structure/table/woodentable, -/obj/item/weapon/pen/red{ +/obj/item/pen/red{ pixel_x = 2; pixel_y = 6 }, -/obj/item/weapon/pen/blue{ +/obj/item/pen/blue{ pixel_x = 5; pixel_y = 5 }, -/obj/item/weapon/pen, -/obj/item/weapon/book/codex/lore/news, +/obj/item/pen, +/obj/item/book/codex/lore/news, /turf/simulated/floor/wood, /area/library) "djR" = ( @@ -89479,32 +89479,32 @@ /area/library) "djU" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen/invisible, -/obj/item/weapon/book/codex/lore/news, -/obj/item/device/tvcamera, +/obj/item/pen/invisible, +/obj/item/book/codex/lore/news, +/obj/item/tvcamera, /turf/simulated/floor/carpet, /area/library) "djV" = ( /obj/structure/table/woodentable, -/obj/item/device/taperecorder, -/obj/item/device/tape/random, -/obj/item/device/tape/random, -/obj/item/device/camera, +/obj/item/taperecorder, +/obj/item/rectape/random, +/obj/item/rectape/random, +/obj/item/camera, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, -/obj/item/weapon/barcodescanner, +/obj/item/barcodescanner, /turf/simulated/floor/carpet, /area/library) "djW" = ( /obj/structure/table/woodentable, -/obj/item/device/camera_film, -/obj/item/device/camera_film, -/obj/item/device/paicard, +/obj/item/camera_film, +/obj/item/camera_film, +/obj/item/paicard, /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/wood, /area/library) @@ -89606,7 +89606,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -89709,7 +89709,7 @@ /area/library) "dks" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = 1; pixel_y = 5 }, @@ -89747,8 +89747,8 @@ /area/library) "dkv" = ( /obj/structure/table/standard, -/obj/item/weapon/soap/nanotrasen, -/obj/item/weapon/paper{ +/obj/item/soap/nanotrasen, +/obj/item/paper{ desc = ""; info = "Brusies sustained in the holodeck can be healed simply by sleeping."; name = "Holodeck Disclaimer" @@ -89780,7 +89780,7 @@ /turf/simulated/floor/tiled/yellow, /area/library) "dkx" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/wood, /area/library) "dky" = ( @@ -89791,7 +89791,7 @@ /area/library) "dkz" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = 1; pixel_y = 5 }, @@ -89897,7 +89897,7 @@ d2 = 4; icon_state = "1-4" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -89996,9 +89996,9 @@ /obj/structure/table/rack{ dir = 1 }, -/obj/item/weapon/extinguisher, -/obj/item/device/flashlight, -/obj/item/device/flashlight, +/obj/item/extinguisher, +/obj/item/flashlight, +/obj/item/flashlight, /obj/random/maintenance/cargo, /obj/random/maintenance/cargo, /obj/random/maintenance/clean, @@ -90015,11 +90015,11 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, -/obj/item/weapon/storage/box/glasses/coffeecup, -/obj/item/weapon/storage/box/glasses/coffeemug, -/obj/item/weapon/storage/box/glasses/square, -/obj/item/weapon/storage/box/buns, -/obj/item/weapon/storage/box/donut, +/obj/item/storage/box/glasses/coffeecup, +/obj/item/storage/box/glasses/coffeemug, +/obj/item/storage/box/glasses/square, +/obj/item/storage/box/buns, +/obj/item/storage/box/donut, /obj/machinery/alarm{ dir = 4; pixel_x = -22 @@ -90078,8 +90078,8 @@ /area/library) "dlb" = ( /obj/structure/table/woodentable, -/obj/item/device/tape/random, -/obj/item/device/taperecorder, +/obj/item/rectape/random, +/obj/item/taperecorder, /turf/simulated/floor/wood, /area/library) "dlc" = ( @@ -90167,12 +90167,12 @@ /area/maintenance/substation/civilian) "dlh" = ( /obj/structure/table/marble, -/obj/item/weapon/hand_labeler, -/obj/item/weapon/reagent_containers/food/condiment/small/sugar, -/obj/item/device/retail_scanner/civilian{ +/obj/item/hand_labeler, +/obj/item/reagent_containers/food/condiment/small/sugar, +/obj/item/retail_scanner/civilian{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -90273,7 +90273,7 @@ /turf/simulated/floor/tiled/yellow, /area/library) "dls" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/landmark/start{ name = "Barista" }, @@ -90420,18 +90420,18 @@ /obj/machinery/camera/network/civilian{ c_tag = "CIV - Library Office" }, -/obj/item/weapon/storage/briefcase{ +/obj/item/storage/briefcase{ pixel_x = -2; pixel_y = -5 }, -/obj/item/weapon/storage/briefcase{ +/obj/item/storage/briefcase{ pixel_x = 3 }, /obj/item/clothing/under/suit_jacket/red, /obj/machinery/newscaster{ pixel_x = 30 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -90463,7 +90463,7 @@ /turf/simulated/floor/tiled/dark, /area/chapel/main) "dlK" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk... listen through this."; name = "Station Intercom (Brig Radio)"; pixel_y = -21; @@ -90727,12 +90727,12 @@ /area/library) "dmm" = ( /obj/structure/table/woodentable, -/obj/item/weapon/deck/cards, +/obj/item/deck/cards, /turf/simulated/floor/carpet, /area/library) "dmn" = ( /obj/structure/table/woodentable, -/obj/item/weapon/dice/d20, +/obj/item/dice/d20, /turf/simulated/floor/carpet, /area/library) "dmo" = ( @@ -90745,10 +90745,10 @@ /obj/structure/bookcase{ name = "bookcase (Reference)" }, -/obj/item/weapon/book/codex/lore/vir, -/obj/item/weapon/book/codex/lore/vir, -/obj/item/weapon/book/codex/lore/robutt, -/obj/item/weapon/book/codex/corp_regs, +/obj/item/book/codex/lore/vir, +/obj/item/book/codex/lore/vir, +/obj/item/book/codex/lore/robutt, +/obj/item/book/codex/corp_regs, /turf/simulated/floor/wood, /area/library) "dmq" = ( @@ -90811,7 +90811,7 @@ dir = 4 }, /obj/structure/table/woodentable, -/obj/item/weapon/storage/fancy/candle_box, +/obj/item/storage/fancy/candle_box, /obj/structure/cable/green{ d1 = 1; d2 = 2; @@ -91025,7 +91025,7 @@ /area/library) "dmW" = ( /obj/structure/table/woodentable, -/obj/item/weapon/dice, +/obj/item/dice, /turf/simulated/floor/carpet, /area/library) "dmX" = ( @@ -91328,7 +91328,7 @@ /turf/simulated/floor/plating, /area/construction/seconddeck/construction2) "dnE" = ( -/obj/item/device/radio/intercom/locked/confessional{ +/obj/item/radio/intercom/locked/confessional{ pixel_y = -21 }, /obj/structure/bed/chair{ @@ -91354,7 +91354,7 @@ /turf/simulated/floor/plating, /area/chapel/main) "dnG" = ( -/obj/item/device/radio/intercom/locked/confessional{ +/obj/item/radio/intercom/locked/confessional{ pixel_y = -21 }, /obj/structure/bed/chair{ @@ -91455,7 +91455,7 @@ /area/shuttle/cryo/station) "dnS" = ( /obj/structure/closet/emcloset, -/obj/item/weapon/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, /obj/machinery/light{ dir = 4 }, @@ -91909,7 +91909,7 @@ /turf/space, /area/shuttle/response_ship/thirddeck) "doC" = ( -/obj/item/weapon/circuitboard/firealarm, +/obj/item/circuitboard/firealarm, /turf/simulated/floor/tiled/freezer, /area/construction/seconddeck/construction2) "doD" = ( @@ -92163,7 +92163,7 @@ /turf/simulated/floor/tiled/freezer, /area/construction/seconddeck/construction2) "dpl" = ( -/obj/item/weapon/circuitboard/airalarm, +/obj/item/circuitboard/airalarm, /turf/simulated/floor/tiled/dark, /area/construction/seconddeck/construction2) "dpm" = ( @@ -92185,7 +92185,7 @@ /obj/machinery/light{ dir = 1 }, -/obj/item/weapon/camera_assembly, +/obj/item/camera_assembly, /turf/simulated/floor/plating, /area/construction/seconddeck/construction2) "dpp" = ( @@ -92597,8 +92597,8 @@ /area/construction/seconddeck/construction2) "dql" = ( /obj/structure/table/standard, -/obj/item/weapon/towel, -/obj/item/weapon/towel, +/obj/item/towel, +/obj/item/towel, /turf/simulated/floor/tiled/freezer, /area/construction/seconddeck/construction2) "dqm" = ( @@ -92612,8 +92612,8 @@ /obj/item/clothing/head/soft/rainbow, /obj/item/clothing/shoes/rainbow, /obj/item/clothing/under/color/rainbow, -/obj/item/weapon/bedsheet/rainbow, -/obj/item/weapon/pen/crayon/rainbow, +/obj/item/bedsheet/rainbow, +/obj/item/pen/crayon/rainbow, /obj/random/crate, /turf/simulated/floor, /area/construction/seconddeck/construction2) @@ -92628,7 +92628,7 @@ /turf/simulated/floor/tiled/monotile, /area/hallway/primary/seconddeck/aft) "dqp" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/plating, /area/construction/seconddeck/construction2) "dqq" = ( @@ -92636,7 +92636,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 }, -/obj/item/weapon/stool, +/obj/item/stool, /turf/simulated/floor/plating, /area/construction/seconddeck/construction2) "dqr" = ( @@ -92685,18 +92685,18 @@ /area/construction/seconddeck/construction2) "dqy" = ( /obj/structure/closet/crate/engineering, -/obj/item/weapon/bedsheet/brown, -/obj/item/weapon/coin/silver, -/obj/item/weapon/bedsheet/brown, -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, +/obj/item/coin/silver, +/obj/item/bedsheet/brown, +/obj/item/bedsheet/brown, /obj/item/stack/tile/carpet{ amount = 24 }, -/obj/item/weapon/airlock_electronics, +/obj/item/airlock_electronics, /turf/simulated/floor/tiled/dark, /area/construction/seconddeck/construction2) "dqz" = ( -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_x = -2; pixel_y = -1 }, @@ -92765,13 +92765,13 @@ /area/hallway/secondary/docking_hallway2) "dqG" = ( /obj/structure/table/woodentable, -/obj/item/weapon/book/codex/lore/vir, -/obj/item/device/paicard, +/obj/item/book/codex/lore/vir, +/obj/item/paicard, /turf/simulated/floor/carpet, /area/hallway/secondary/entry/docking_lounge) "dqH" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = 1; pixel_y = 5 }, @@ -92822,7 +92822,7 @@ /turf/simulated/floor/tiled, /area/storage/primary) "dqN" = ( -/obj/item/weapon/stool, +/obj/item/stool, /obj/effect/landmark/start{ name = "Assistant" }, @@ -92893,12 +92893,12 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 }, -/obj/item/weapon/cell/apc, +/obj/item/cell/apc, /turf/simulated/floor/plating, /area/construction/seconddeck/construction2) "dqV" = ( @@ -93167,7 +93167,7 @@ /obj/machinery/computer/secure_data{ dir = 4 }, -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ dir = 4; icon_override = "secintercom"; pixel_x = -21 @@ -93286,13 +93286,13 @@ /area/maintenance/chapel) "drD" = ( /obj/structure/closet, -/obj/item/weapon/lipstick/purple, +/obj/item/lipstick/purple, /obj/random/maintenance/engineering, /obj/random/maintenance/clean, /obj/random/maintenance/clean, /obj/random/maintenance/clean, /obj/item/clothing/glasses/sunglasses, -/obj/item/weapon/storage/bible, +/obj/item/storage/bible, /turf/simulated/floor/plating, /area/maintenance/chapel) "drE" = ( @@ -93328,7 +93328,7 @@ /area/construction/seconddeck/construction2) "drK" = ( /obj/item/frame/extinguisher_cabinet, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /turf/simulated/floor/tiled, /area/construction/seconddeck/construction2) "drL" = ( @@ -93399,19 +93399,19 @@ /area/hallway/secondary/entry/docking_lounge) "drT" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/pen/blue{ +/obj/item/pen/blue{ pixel_x = -5; pixel_y = -1 }, -/obj/item/weapon/pen/red{ +/obj/item/pen/red{ pixel_x = -1; pixel_y = 3 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/wood, /area/hallway/secondary/entry/docking_lounge) "drU" = ( @@ -93478,13 +93478,13 @@ /area/security/checkpoint2) "dsa" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/pen, -/obj/item/device/flash, +/obj/item/tool/crowbar, +/obj/item/pen, +/obj/item/flash, /obj/machinery/camera/network/security{ c_tag = "SEC - Arrival Checkpoint"; dir = 8 @@ -93504,7 +93504,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/table/gamblingtable, -/obj/item/weapon/deck/cards, +/obj/item/deck/cards, /turf/simulated/floor/plating, /area/construction/seconddeck/construction2) "dsd" = ( @@ -93604,7 +93604,7 @@ icon_state = "1-2" }, /obj/structure/door_assembly, -/obj/item/weapon/airlock_electronics, +/obj/item/airlock_electronics, /turf/simulated/floor/plating, /area/construction/seconddeck/construction2) "dsp" = ( @@ -93655,9 +93655,9 @@ /area/hallway/secondary/entry/docking_lounge) "dsu" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper, -/obj/item/device/taperecorder, -/obj/item/device/tape/random, +/obj/item/paper, +/obj/item/taperecorder, +/obj/item/rectape/random, /obj/machinery/firealarm{ dir = 4; pixel_x = 24 @@ -93696,7 +93696,7 @@ /obj/random/tech_supply, /obj/random/tech_supply, /obj/random/tech_supply, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -93759,7 +93759,7 @@ /area/security/checkpoint2) "dsB" = ( /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -93814,9 +93814,9 @@ dir = 1 }, /obj/item/clothing/suit/fire/firefighter, -/obj/item/weapon/tank/oxygen, +/obj/item/tank/oxygen, /obj/item/clothing/mask/gas, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /obj/item/clothing/head/hardhat/red, /obj/item/clothing/glasses/meson, /obj/random/maintenance/clean, @@ -93827,8 +93827,8 @@ /area/maintenance/chapel) "dsH" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/device/t_scanner, +/obj/item/storage/box/lights/mixed, +/obj/item/t_scanner, /obj/random/plushielarge, /turf/simulated/floor/plating, /area/maintenance/chapel) @@ -93853,7 +93853,7 @@ "dsL" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/item/device/radio/beacon, +/obj/item/radio/beacon, /turf/simulated/floor/tiled/monotile, /area/hallway/primary/seconddeck/aft) "dsM" = ( @@ -93885,7 +93885,7 @@ d2 = 8; icon_state = "0-8" }, -/obj/item/weapon/module/power_control, +/obj/item/module/power_control, /turf/simulated/floor/plating, /area/construction/seconddeck/construction2) "dsQ" = ( @@ -94107,7 +94107,7 @@ /turf/simulated/floor/plating, /area/construction/seconddeck/construction2) "dtq" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 }, @@ -94148,7 +94148,7 @@ /area/construction/seconddeck/construction2) "dtu" = ( /obj/structure/bed/chair, -/obj/item/weapon/handcuffs/fuzzy, +/obj/item/handcuffs/fuzzy, /obj/random/contraband, /turf/simulated/floor, /area/construction/seconddeck/construction2) @@ -94225,7 +94225,7 @@ /turf/simulated/floor/tiled, /area/hallway/primary/seconddeck/dockhallway) "dtF" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -94410,7 +94410,7 @@ /turf/simulated/floor/tiled, /area/hallway/primary/seconddeck/dockhallway) "dua" = ( -/obj/item/weapon/book/codex/lore/vir, +/obj/item/book/codex/lore/vir, /obj/structure/table/glass, /obj/effect/floor_decal/borderfloor{ dir = 1 @@ -94840,7 +94840,7 @@ /obj/machinery/ai_status_display{ pixel_y = -32 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -94901,7 +94901,7 @@ /obj/machinery/ai_status_display{ pixel_y = -32 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -95720,7 +95720,7 @@ /area/hallway/secondary/entry/D1) "dwA" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -95750,7 +95750,7 @@ /turf/simulated/floor/tiled/monotile, /area/hallway/secondary/entry/D2) "dwD" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -95760,7 +95760,7 @@ "dwE" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -96097,7 +96097,7 @@ /obj/item/stack/material/plastic{ amount = 50 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -96573,7 +96573,7 @@ "dyb" = ( /obj/structure/table/glass, /obj/machinery/recharger, -/obj/item/device/radio{ +/obj/item/radio{ frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link" @@ -96834,7 +96834,7 @@ /obj/structure/extinguisher_cabinet{ pixel_x = -28 }, -/obj/item/weapon/tool/crowbar/red, +/obj/item/tool/crowbar/red, /turf/simulated/floor/tiled, /area/hallway/secondary/entry/D2) "dyy" = ( @@ -96851,7 +96851,7 @@ pixel_x = 22 }, /obj/structure/closet/emcloset, -/obj/item/weapon/tool/crowbar/red, +/obj/item/tool/crowbar/red, /turf/simulated/floor/tiled, /area/hallway/secondary/entry/D2) "dyA" = ( @@ -97475,7 +97475,7 @@ dir = 8; pixel_x = 22 }, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled, /area/teleporter) "dzB" = ( @@ -97702,7 +97702,7 @@ /turf/simulated/floor/tiled, /area/hallway/secondary/entry/D1) "dzS" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -97711,7 +97711,7 @@ /turf/simulated/floor/tiled, /area/hallway/secondary/entry/D1) "dzT" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -97737,7 +97737,7 @@ /area/hallway/secondary/entry/D2) "dzW" = ( /obj/machinery/atmospherics/pipe/simple/hidden, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -97842,7 +97842,7 @@ /obj/effect/floor_decal/industrial/warning/corner{ dir = 8 }, -/obj/item/weapon/tool/crowbar/red, +/obj/item/tool/crowbar/red, /turf/simulated/floor/tiled, /area/hallway/secondary/entry/D2) "dAk" = ( @@ -98312,7 +98312,7 @@ /area/ai) "dBd" = ( /obj/structure/table/standard, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -98321,11 +98321,11 @@ name = "Steve"; pixel_y = 15 }, -/obj/item/device/radio/intercom/custom{ +/obj/item/radio/intercom/custom{ dir = 8; pixel_x = -21 }, -/obj/item/device/radio/intercom/private{ +/obj/item/radio/intercom/private{ dir = 4; pixel_x = 21 }, @@ -98652,7 +98652,7 @@ dir = 4 }, /obj/structure/table/rack, -/obj/item/weapon/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, /obj/random/medical/lite, /turf/simulated/floor/tiled/white, /area/medical/first_aid_station/seconddeck/port) @@ -98692,15 +98692,15 @@ /obj/effect/landmark{ name = "tripai" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 }, -/obj/item/device/radio/intercom/private{ +/obj/item/radio/intercom/private{ pixel_y = -21 }, -/obj/item/device/radio/intercom/custom{ +/obj/item/radio/intercom/custom{ dir = 1; pixel_y = 21 }, @@ -98842,16 +98842,16 @@ /obj/effect/landmark{ name = "tripai" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 }, -/obj/item/device/radio/intercom/private{ +/obj/item/radio/intercom/private{ dir = 1; pixel_y = 21 }, -/obj/item/device/radio/intercom/custom{ +/obj/item/radio/intercom/custom{ pixel_y = -21 }, /turf/simulated/floor/greengrid, @@ -98880,17 +98880,17 @@ pixel_x = -32; pixel_y = -32 }, -/obj/item/device/radio/intercom/private{ +/obj/item/radio/intercom/private{ dir = 4; pixel_x = 21; pixel_y = -10 }, -/obj/item/device/radio/intercom/custom{ +/obj/item/radio/intercom/custom{ dir = 8; pixel_x = -21; pixel_y = -10 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ broadcasting = 1; name = "Station Intercom (General)"; pixel_y = -21 @@ -99096,7 +99096,7 @@ name = "north bump"; pixel_y = 24 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -99228,7 +99228,7 @@ name = "north bump"; pixel_y = 24 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -99245,14 +99245,14 @@ }, /obj/item/stack/cable_coil/yellow, /obj/item/stack/cable_coil/yellow, -/obj/item/weapon/stool, +/obj/item/stool, /turf/simulated/floor/plating, /area/maintenance/solars/forestarboardsolar) "dCZ" = ( /obj/machinery/computer/security{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -99938,10 +99938,10 @@ /area/maintenance/thirddeck/foreport) "dEa" = ( /obj/structure/table/rack, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /obj/item/clothing/head/hardhat/red, /obj/item/clothing/mask/gas, -/obj/item/device/flashlight, +/obj/item/flashlight, /obj/item/clothing/glasses/meson, /obj/random/maintenance/cargo, /obj/effect/floor_decal/industrial/warning{ @@ -100154,8 +100154,8 @@ /area/maintenance/thirddeck/foreport) "dEz" = ( /obj/structure/table/standard, -/obj/item/weapon/aiModule/freeform, -/obj/item/weapon/aiModule/protectStation{ +/obj/item/aiModule/freeform, +/obj/item/aiModule/protectStation{ pixel_x = -3; pixel_y = 2 }, @@ -100191,7 +100191,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/item/device/radio/intercom/locked/ai_private{ +/obj/item/radio/intercom/locked/ai_private{ dir = 1; pixel_x = -36; pixel_y = 21 @@ -100216,8 +100216,8 @@ /area/ai/ai_upload) "dEG" = ( /obj/structure/table/standard, -/obj/item/weapon/aiModule/nanotrasen, -/obj/item/weapon/aiModule/reset{ +/obj/item/aiModule/nanotrasen, +/obj/item/aiModule/reset{ pixel_x = 2; pixel_y = 3 }, @@ -100438,24 +100438,24 @@ /area/maintenance/thirddeck/foreport) "dFe" = ( /obj/structure/table/standard, -/obj/item/weapon/aiModule/asimov, -/obj/item/weapon/aiModule/freeformcore, +/obj/item/aiModule/asimov, +/obj/item/aiModule/freeformcore, /obj/machinery/door/window{ base_state = "right"; icon_state = "right"; name = "Core Modules"; req_access = list(20) }, -/obj/item/weapon/aiModule/corp, -/obj/item/weapon/aiModule/paladin, -/obj/item/weapon/aiModule/robocop, +/obj/item/aiModule/corp, +/obj/item/aiModule/paladin, +/obj/item/aiModule/robocop, /obj/structure/window/reinforced{ dir = 1 }, /turf/simulated/floor/bluegrid, /area/ai/ai_upload) "dFf" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -100476,7 +100476,7 @@ /turf/simulated/floor/tiled/techfloor, /area/ai/ai_upload) "dFh" = ( -/obj/item/device/radio/intercom/locked/ai_private{ +/obj/item/radio/intercom/locked/ai_private{ dir = 4; pixel_x = 21 }, @@ -100490,16 +100490,16 @@ /area/ai/ai_upload) "dFj" = ( /obj/structure/table/standard, -/obj/item/weapon/aiModule/oxygen, -/obj/item/weapon/aiModule/oneHuman, +/obj/item/aiModule/oxygen, +/obj/item/aiModule/oneHuman, /obj/machinery/door/window{ dir = 8; name = "High-Risk Modules"; req_access = list(20) }, -/obj/item/weapon/aiModule/purge, -/obj/item/weapon/aiModule/antimov, -/obj/item/weapon/aiModule/teleporterOffline, +/obj/item/aiModule/purge, +/obj/item/aiModule/antimov, +/obj/item/aiModule/teleporterOffline, /obj/structure/window/reinforced{ dir = 1 }, @@ -100633,8 +100633,8 @@ target_pressure = 200 }, /obj/structure/table/rack, -/obj/item/weapon/storage/toolbox/mechanical, -/obj/item/weapon/storage/belt/utility, +/obj/item/storage/toolbox/mechanical, +/obj/item/storage/belt/utility, /obj/random/maintenance/security, /obj/random/maintenance/security, /obj/random/maintenance/security, @@ -100662,7 +100662,7 @@ /obj/effect/floor_decal/industrial/warning{ dir = 9 }, -/obj/item/device/radio/intercom/locked/ai_private{ +/obj/item/radio/intercom/locked/ai_private{ dir = 1; pixel_y = 21 }, @@ -100739,7 +100739,7 @@ /area/ai/ai_cyborg_station) "dFH" = ( /obj/structure/table/standard, -/obj/item/weapon/phone, +/obj/item/phone, /obj/machinery/camera/network/command{ c_tag = "AI - Cyborg Station"; dir = 8 @@ -101055,14 +101055,14 @@ /obj/structure/closet/crate{ name = "Camera Assembly Crate" }, -/obj/item/weapon/camera_assembly, -/obj/item/weapon/camera_assembly, -/obj/item/weapon/camera_assembly, -/obj/item/weapon/camera_assembly, +/obj/item/camera_assembly, +/obj/item/camera_assembly, +/obj/item/camera_assembly, +/obj/item/camera_assembly, /turf/simulated/floor/bluegrid, /area/ai/ai_server_room) "dGj" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -101130,7 +101130,7 @@ /obj/effect/landmark{ name = "JoinLateCyborg" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -101212,8 +101212,8 @@ /area/crew_quarters/heads/sc/hop/quarters) "dGD" = ( /obj/structure/table/standard, -/obj/item/device/flashlight/lamp/green, -/obj/item/device/radio/intercom{ +/obj/item/flashlight/lamp/green, +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -101313,8 +101313,8 @@ /area/crew_quarters/heads/sc/cmo/quarters) "dGR" = ( /obj/structure/table/standard, -/obj/item/device/flashlight/lamp/green, -/obj/item/device/radio/intercom{ +/obj/item/flashlight/lamp/green, +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -101326,8 +101326,8 @@ /area/crew_quarters/heads/sc/cmo/quarters) "dGT" = ( /obj/structure/table/standard, -/obj/item/device/flashlight/lamp/green, -/obj/item/device/radio/intercom{ +/obj/item/flashlight/lamp/green, +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -101370,7 +101370,7 @@ /area/maintenance/thirddeck/foreport) "dGY" = ( /obj/structure/closet, -/obj/item/weapon/storage/backpack, +/obj/item/storage/backpack, /obj/random/maintenance/clean, /obj/random/maintenance/cargo, /turf/simulated/floor/plating, @@ -101413,12 +101413,12 @@ /obj/machinery/light{ dir = 4 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/folder/blue_hop, -/obj/item/weapon/pen/multi, +/obj/item/folder/blue_hop, +/obj/item/pen/multi, /obj/machinery/computer/security/telescreen/entertainment{ icon_state = "frame"; pixel_x = 32 @@ -101549,12 +101549,12 @@ /obj/machinery/light{ dir = 4 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/folder/white_cmo, -/obj/item/weapon/pen/multi, +/obj/item/folder/white_cmo, +/obj/item/pen/multi, /obj/machinery/computer/security/telescreen/entertainment{ icon_state = "frame"; pixel_x = 32 @@ -101566,12 +101566,12 @@ /obj/machinery/light{ dir = 8 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/folder/white_rd, -/obj/item/weapon/pen/multi, +/obj/item/folder/white_rd, +/obj/item/pen/multi, /obj/machinery/computer/security/telescreen/entertainment{ icon_state = "frame"; pixel_x = -32 @@ -101612,7 +101612,7 @@ /turf/simulated/floor/carpet, /area/crew_quarters/heads/sc/hor/quarters) "dHr" = ( -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /obj/random/maintenance/security, /obj/random/maintenance/security, /obj/random/maintenance/security, @@ -101669,7 +101669,7 @@ /area/crew_quarters/heads/sc/hop/quarters) "dHw" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/hop, +/obj/item/bedsheet/hop, /obj/machinery/firealarm{ dir = 4; pixel_x = 24 @@ -101771,7 +101771,7 @@ /obj/effect/floor_decal/corner/blue/bordercorner{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -101801,7 +101801,7 @@ /area/crew_quarters/heads/sc/cmo/quarters) "dHL" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/machinery/firealarm{ dir = 4; pixel_x = 24 @@ -101810,7 +101810,7 @@ /area/crew_quarters/heads/sc/cmo/quarters) "dHM" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/rd, +/obj/item/bedsheet/rd, /obj/machinery/firealarm{ dir = 8; pixel_x = -24 @@ -103230,7 +103230,7 @@ /obj/effect/floor_decal/corner/blue/bordercorner{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -103322,7 +103322,7 @@ "dKq" = ( /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/blue/bordercorner, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -103678,7 +103678,7 @@ /obj/structure/bed/chair{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -103799,7 +103799,7 @@ pixel_x = 11; pixel_y = 24 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -103808,7 +103808,7 @@ /area/crew_quarters/heads/sc/restroom) "dLu" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/ce, +/obj/item/bedsheet/ce, /obj/machinery/firealarm{ dir = 8; pixel_x = -24 @@ -103924,7 +103924,7 @@ /area/crew_quarters/heads/sc/hos/quarters) "dLF" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/hos, +/obj/item/bedsheet/hos, /obj/machinery/firealarm{ dir = 4; pixel_x = 24 @@ -103937,7 +103937,7 @@ pixel_x = -24 }, /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/bluedouble, +/obj/item/bedsheet/bluedouble, /turf/simulated/floor/carpet/blue, /area/crew_quarters/heads/sc/bs) "dLH" = ( @@ -104018,7 +104018,7 @@ /obj/structure/bed/chair{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -104143,12 +104143,12 @@ /obj/machinery/light{ dir = 8 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/folder/yellow_ce, -/obj/item/weapon/pen/multi, +/obj/item/folder/yellow_ce, +/obj/item/pen/multi, /obj/machinery/computer/security/telescreen/entertainment{ icon_state = "frame"; pixel_x = -32 @@ -104311,12 +104311,12 @@ /obj/machinery/light{ dir = 4 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/folder/red_hos, -/obj/item/weapon/pen/multi, +/obj/item/folder/red_hos, +/obj/item/pen/multi, /obj/machinery/computer/security/telescreen/entertainment{ icon_state = "frame"; pixel_x = 32 @@ -104332,12 +104332,12 @@ pixel_x = -32 }, /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/folder/blue, -/obj/item/weapon/pen/multi, +/obj/item/folder/blue, +/obj/item/pen/multi, /turf/simulated/floor/carpet/blue, /area/crew_quarters/heads/sc/bs) "dMq" = ( @@ -104459,8 +104459,8 @@ /area/crew_quarters/heads/sc/restroom) "dMF" = ( /obj/structure/table/standard, -/obj/item/device/flashlight/lamp/green, -/obj/item/device/radio/intercom{ +/obj/item/flashlight/lamp/green, +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -104514,7 +104514,7 @@ /obj/effect/floor_decal/corner/blue/bordercorner{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -104633,8 +104633,8 @@ /area/crew_quarters/heads/sc/hos/quarters) "dMU" = ( /obj/structure/table/standard, -/obj/item/device/flashlight/lamp/green, -/obj/item/device/radio/intercom{ +/obj/item/flashlight/lamp/green, +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -104642,13 +104642,13 @@ /turf/simulated/floor/carpet, /area/crew_quarters/heads/sc/hos/quarters) "dMV" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 }, /obj/structure/table/standard, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /turf/simulated/floor/carpet/blue, /area/crew_quarters/heads/sc/bs) "dMW" = ( @@ -104795,7 +104795,7 @@ /area/hallway/primary/thirddeck/central) "dNp" = ( /obj/structure/closet, -/obj/item/weapon/storage/backpack, +/obj/item/storage/backpack, /obj/random/maintenance/medical, /obj/random/maintenance/medical, /obj/random/maintenance/medical, @@ -104957,15 +104957,15 @@ icon_state = "frame"; pixel_x = -32 }, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /turf/simulated/floor/carpet, /area/crew_quarters/heads/sc/sd) "dNM" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/storage/photo_album{ +/obj/item/storage/photo_album{ pixel_y = -10 }, -/obj/item/device/camera, +/obj/item/camera, /obj/machinery/firealarm{ pixel_y = 24 }, @@ -104973,7 +104973,7 @@ /area/crew_quarters/heads/sc/sd) "dNN" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/captain, +/obj/item/bedsheet/captain, /turf/simulated/floor/carpet, /area/crew_quarters/heads/sc/sd) "dNO" = ( @@ -105003,8 +105003,8 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, -/obj/item/weapon/soap/deluxe, -/obj/item/weapon/towel{ +/obj/item/soap/deluxe, +/obj/item/towel{ color = "#FFD700"; name = "gold towel" }, @@ -105015,7 +105015,7 @@ /area/crew_quarters/heads/sc/sd) "dNR" = ( /obj/structure/closet, -/obj/item/weapon/weldingtool, +/obj/item/weldingtool, /obj/effect/decal/cleanable/dirt, /obj/random/maintenance/clean, /obj/random/maintenance/engineering, @@ -105171,13 +105171,13 @@ "dOj" = ( /obj/structure/table/wooden_reinforced, /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/item/weapon/storage/box/matches, +/obj/item/storage/box/matches, /obj/item/clothing/mask/smokable/cigarette/cigar, -/obj/item/weapon/reagent_containers/food/drinks/flask{ +/obj/item/reagent_containers/food/drinks/flask{ pixel_x = 8 }, /obj/random_multi/single_item/captains_spare_id, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -105241,8 +105241,8 @@ /area/crew_quarters/heads/sc/sd) "dOq" = ( /obj/item/clothing/mask/gas, -/obj/item/device/flashlight, -/obj/item/device/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, /obj/effect/decal/cleanable/dirt, /obj/random/maintenance/research, /obj/random/maintenance/research, @@ -105300,8 +105300,8 @@ /area/bridge/meeting_room) "dOw" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/folder/red, -/obj/item/weapon/folder/blue{ +/obj/item/folder/red, +/obj/item/folder/blue{ pixel_x = -2; pixel_y = -2 }, @@ -105309,11 +105309,11 @@ /area/bridge/meeting_room) "dOx" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/effect/landmark{ name = "blobstart" }, @@ -105327,7 +105327,7 @@ /area/bridge/meeting_room) "dOy" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/book/codex/corp_regs, +/obj/item/book/codex/corp_regs, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, @@ -105566,7 +105566,7 @@ health = 1e+006 }, /obj/machinery/door/window/northright, -/obj/item/weapon/bikehorn/rubberducky, +/obj/item/bikehorn/rubberducky, /turf/simulated/floor/tiled/freezer, /area/crew_quarters/heads/sc/sd) "dOU" = ( @@ -105576,8 +105576,8 @@ /area/maintenance/thirddeck/aftstarboard) "dOV" = ( /obj/item/clothing/mask/gas, -/obj/item/device/flashlight, -/obj/item/device/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, /obj/effect/decal/cleanable/dirt, /obj/random/maintenance/medical, /obj/random/maintenance/medical, @@ -105777,7 +105777,7 @@ /obj/structure/disposalpipe/trunk{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -105855,7 +105855,7 @@ /area/bridge/meeting_room) "dPx" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/storage/box/donut, +/obj/item/storage/box/donut, /turf/simulated/floor/wood, /area/bridge/meeting_room) "dPy" = ( @@ -105987,7 +105987,7 @@ /obj/machinery/photocopier/faxmachine{ department = "Captain's Office" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -106070,9 +106070,9 @@ /area/bridge/meeting_room) "dPS" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/hand_labeler, -/obj/item/device/retail_scanner/command, -/obj/item/device/radio/intercom{ +/obj/item/hand_labeler, +/obj/item/retail_scanner/command, +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -106133,7 +106133,7 @@ /turf/simulated/floor/tiled, /area/bridge) "dQb" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -106183,8 +106183,8 @@ }, /obj/item/roller, /obj/item/bodybag/cryobag, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/pill_bottle/spaceacillin, +/obj/item/storage/firstaid/regular, +/obj/item/storage/pill_bottle/spaceacillin, /turf/simulated/floor/tiled, /area/bridge) "dQe" = ( @@ -106225,7 +106225,7 @@ name = "defibrillator closet"; pixel_y = 31 }, -/obj/item/device/defib_kit/loaded, +/obj/item/defib_kit/loaded, /turf/simulated/floor/tiled, /area/bridge) "dQi" = ( @@ -106241,7 +106241,7 @@ /turf/simulated/floor/tiled, /area/bridge) "dQj" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -106557,7 +106557,7 @@ "dQL" = ( /obj/structure/table/rack, /obj/structure/window/reinforced, -/obj/item/weapon/tank/jetpack/oxygen, +/obj/item/tank/jetpack/oxygen, /obj/item/clothing/mask/gas, /obj/item/clothing/suit/armor/captain, /obj/item/clothing/head/helmet/space/capspace, @@ -106588,13 +106588,13 @@ d2 = 2; icon_state = "1-2" }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/folder/blue, -/obj/item/device/megaphone, -/obj/item/weapon/pen/multi, +/obj/item/folder/blue, +/obj/item/megaphone, +/obj/item/pen/multi, /turf/simulated/floor/wood, /area/crew_quarters/heads/sc/sd) "dQO" = ( @@ -106604,17 +106604,17 @@ /area/crew_quarters/heads/sc/sd) "dQP" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/folder/blue_captain, -/obj/item/weapon/stamp/denied{ +/obj/item/folder/blue_captain, +/obj/item/stamp/denied{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/stamp/captain, +/obj/item/stamp/captain, /turf/simulated/floor/wood, /area/crew_quarters/heads/sc/sd) "dQQ" = ( /obj/structure/table/wooden_reinforced, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /obj/machinery/newscaster/security_unit{ pixel_x = 32 }, @@ -106653,7 +106653,7 @@ /area/maintenance/thirddeck/aftport) "dQU" = ( /obj/structure/closet, -/obj/item/weapon/storage/backpack, +/obj/item/storage/backpack, /obj/random/maintenance/clean, /obj/random/maintenance/cargo, /obj/random/maintenance/clean, @@ -106678,7 +106678,7 @@ /obj/machinery/keycard_auth{ pixel_y = 24 }, -/obj/item/weapon/storage/box/cups, +/obj/item/storage/box/cups, /turf/simulated/floor/wood, /area/bridge/meeting_room) "dQX" = ( @@ -106743,9 +106743,9 @@ /area/bridge) "dRe" = ( /obj/structure/table/reinforced, -/obj/item/weapon/folder/yellow, -/obj/item/device/flashlight, -/obj/item/device/flashlight{ +/obj/item/folder/yellow, +/obj/item/flashlight, +/obj/item/flashlight{ pixel_x = 2; pixel_y = 2 }, @@ -106825,9 +106825,9 @@ /area/bridge) "dRk" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/device/multitool, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/box/lights/mixed, +/obj/item/multitool, +/obj/item/storage/toolbox/mechanical, /obj/structure/window/reinforced{ dir = 4 }, @@ -106975,9 +106975,9 @@ /area/crew_quarters/heads/sc/sd) "dRv" = ( /obj/structure/table/woodentable, -/obj/item/weapon/melee/chainofcommand, -/obj/item/weapon/hand_tele, -/obj/item/device/radio/intercom{ +/obj/item/melee/chainofcommand, +/obj/item/hand_tele, +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -107049,7 +107049,7 @@ /turf/simulated/floor/wood, /area/bridge/meeting_room) "dRF" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -107115,9 +107115,9 @@ /area/crew_quarters/heads/sc/sd) "dRO" = ( /obj/structure/closet/crate/internals, -/obj/item/weapon/tank/emergency/oxygen/engi, -/obj/item/weapon/tank/emergency/oxygen/engi, -/obj/item/weapon/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/double, /obj/random/tank, /obj/random/maintenance/research, /obj/random/maintenance/research, @@ -107231,7 +107231,7 @@ d2 = 2; icon_state = "1-2" }, -/obj/item/weapon/folder/red, +/obj/item/folder/red, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/red/border, /turf/simulated/floor/tiled, @@ -107345,7 +107345,7 @@ d2 = 2; icon_state = "1-2" }, -/obj/item/weapon/folder/white, +/obj/item/folder/white, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/white/border, /turf/simulated/floor/tiled, @@ -107395,15 +107395,15 @@ /area/crew_quarters/heads/sc/sd) "dSo" = ( /obj/structure/table/woodentable, -/obj/item/weapon/book/codex/corp_regs, -/obj/item/device/tape/random, -/obj/item/device/taperecorder, +/obj/item/book/codex/corp_regs, +/obj/item/rectape/random, +/obj/item/taperecorder, /turf/simulated/floor/carpet, /area/crew_quarters/heads/sc/sd) "dSp" = ( /obj/structure/table/woodentable, /obj/machinery/recharger, -/obj/item/weapon/storage/secure/safe{ +/obj/item/storage/secure/safe{ pixel_x = 5; pixel_y = -26 }, @@ -107540,17 +107540,17 @@ /area/bridge/meeting_room) "dSH" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen/blue{ +/obj/item/pen/blue{ pixel_y = -5 }, -/obj/item/weapon/pen/red{ +/obj/item/pen/red{ pixel_y = 5 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/wood, /area/bridge/meeting_room) "dSI" = ( @@ -107563,7 +107563,7 @@ /area/bridge/meeting_room) "dSJ" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, @@ -107572,13 +107572,13 @@ d2 = 2; icon_state = "1-2" }, -/obj/item/weapon/pen/blue{ +/obj/item/pen/blue{ pixel_y = -5 }, -/obj/item/weapon/pen/red{ +/obj/item/pen/red{ pixel_y = 5 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/wood, /area/bridge/meeting_room) "dSK" = ( @@ -107645,7 +107645,7 @@ /obj/machinery/newscaster{ pixel_y = -30 }, -/obj/item/weapon/storage/secure/briefcase, +/obj/item/storage/secure/briefcase, /obj/effect/floor_decal/borderfloor{ dir = 10 }, @@ -107656,11 +107656,11 @@ /area/bridge) "dSO" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/PDAs{ +/obj/item/storage/box/PDAs{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/box/ids, +/obj/item/storage/box/ids, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/blue/border, /turf/simulated/floor/tiled, @@ -107694,10 +107694,10 @@ d2 = 2; icon_state = "1-2" }, -/obj/item/weapon/paper_bin, -/obj/item/weapon/folder/red, -/obj/item/weapon/folder/blue, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/folder/red, +/obj/item/folder/blue, +/obj/item/pen, /obj/machinery/light, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/blue/border, @@ -107723,9 +107723,9 @@ /area/bridge) "dSS" = ( /obj/structure/table/reinforced, -/obj/item/device/flash, -/obj/item/device/flash, -/obj/item/device/aicard, +/obj/item/flash, +/obj/item/flash, +/obj/item/aicard, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/blue/border, /turf/simulated/floor/tiled, @@ -107745,7 +107745,7 @@ /obj/effect/floor_decal/corner/blue/border{ dir = 6 }, -/obj/item/weapon/storage/box/donut, +/obj/item/storage/box/donut, /turf/simulated/floor/tiled, /area/bridge) "dSU" = ( @@ -107826,7 +107826,7 @@ /area/crew_quarters/heads/sc/sd) "dSZ" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/box/donut, +/obj/item/storage/box/donut, /turf/simulated/floor/carpet, /area/crew_quarters/heads/sc/sd) "dTa" = ( @@ -107849,7 +107849,7 @@ /obj/structure/table/rack, /obj/item/clothing/glasses/sunglasses, /obj/item/clothing/suit/storage/hazardvest, -/obj/item/device/radio, +/obj/item/radio, /obj/random/maintenance/medical, /obj/random/maintenance/medical, /obj/effect/floor_decal/industrial/warning{ @@ -107862,10 +107862,10 @@ /area/maintenance/thirddeck/aftstarboard) "dTd" = ( /obj/structure/table/rack, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /obj/item/clothing/head/hardhat/red, /obj/item/clothing/mask/gas, -/obj/item/device/flashlight, +/obj/item/flashlight, /obj/item/clothing/glasses/meson, /obj/random/maintenance/cargo, /obj/random/cash, @@ -108743,7 +108743,7 @@ dir = 1 }, /obj/machinery/light/small, -/obj/item/weapon/stool, +/obj/item/stool, /turf/simulated/floor/plating, /area/maintenance/solars/aftportsolar) "dUm" = ( @@ -108752,7 +108752,7 @@ name = "south bump"; pixel_y = -24 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -108823,7 +108823,7 @@ /area/maintenance/thirddeck/aftstarboard) "dUx" = ( /obj/structure/cable, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -108896,8 +108896,8 @@ /area/maintenance/thirddeck/aftport) "dUD" = ( /obj/structure/closet/wardrobe/grey, -/obj/item/weapon/storage/backpack, -/obj/item/weapon/storage/backpack, +/obj/item/storage/backpack, +/obj/item/storage/backpack, /obj/random/maintenance/cargo, /obj/random/maintenance/cargo, /obj/random/maintenance/cargo, @@ -108912,10 +108912,10 @@ /area/maintenance/thirddeck/aftport) "dUF" = ( /obj/structure/table/rack, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /obj/item/clothing/head/hardhat/red, /obj/item/clothing/mask/gas, -/obj/item/device/flashlight, +/obj/item/flashlight, /obj/item/clothing/glasses/meson, /obj/random/maintenance/cargo, /turf/simulated/floor, @@ -108924,7 +108924,7 @@ /obj/structure/table/rack{ dir = 4 }, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /obj/random/maintenance/engineering, /obj/random/maintenance/engineering, /obj/random/maintenance/engineering, @@ -109004,7 +109004,7 @@ /turf/space, /area/space) "dUP" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -109049,7 +109049,7 @@ name = "defibrillator closet"; pixel_y = -31 }, -/obj/item/device/defib_kit/loaded, +/obj/item/defib_kit/loaded, /turf/simulated/floor/tiled/white, /area/medical/first_aid_station/seconddeck/port) "dUS" = ( @@ -109068,8 +109068,8 @@ }, /obj/item/roller, /obj/item/bodybag/cryobag, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/pill_bottle/spaceacillin, +/obj/item/storage/firstaid/regular, +/obj/item/storage/pill_bottle/spaceacillin, /turf/simulated/floor/tiled/white, /area/medical/first_aid_station/seconddeck/port) "dUT" = ( @@ -109155,7 +109155,7 @@ /turf/simulated/floor/tiled/dark, /area/construction/seconddeck/construction2) "dVa" = ( -/obj/item/weapon/camera_assembly, +/obj/item/camera_assembly, /turf/simulated/floor/tiled, /area/construction/seconddeck/construction2) "dVb" = ( @@ -109179,8 +109179,8 @@ "dVd" = ( /obj/item/stack/cable_coil/random, /obj/item/stack/cable_coil/random, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/wirecutters, +/obj/item/tool/crowbar, +/obj/item/tool/wirecutters, /obj/random/maintenance/medical, /obj/random/maintenance/medical, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -109193,7 +109193,7 @@ /area/construction/seconddeck/construction2) "dVf" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet/mime, +/obj/item/bedsheet/mime, /turf/simulated/floor/plating, /area/construction/seconddeck/construction2) "dVg" = ( @@ -109410,7 +109410,7 @@ /area/rnd/xenobiology/xenoflora) "dVE" = ( /obj/structure/reagent_dispensers/watertank/high, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 }, @@ -109511,18 +109511,18 @@ /area/rnd/xenobiology/xenoflora) "dVU" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/beakers{ +/obj/item/storage/box/beakers{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/box/botanydisk, +/obj/item/storage/box/botanydisk, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 }, /obj/effect/floor_decal/corner/green/border{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -109643,11 +109643,11 @@ /area/rnd/research/firstdeck/hallway) "dWj" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/gloves{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/box/syringes, +/obj/item/storage/box/syringes, /turf/simulated/floor/tiled/white, /area/rnd/xenobiology/xenoflora) "dWk" = ( @@ -109657,9 +109657,9 @@ /area/rnd/xenobiology/xenoflora) "dWl" = ( /obj/structure/table/glass, -/obj/item/weapon/clipboard, -/obj/item/weapon/folder/white, -/obj/item/weapon/pen, +/obj/item/clipboard, +/obj/item/folder/white, +/obj/item/pen, /obj/machinery/camera/network/research{ c_tag = "SCI - Xenoflora Port"; dir = 1 @@ -109668,11 +109668,11 @@ /area/rnd/xenobiology/xenoflora) "dWm" = ( /obj/structure/table/glass, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/hand_labeler, +/obj/item/hand_labeler, /obj/machinery/light, /turf/simulated/floor/tiled/white, /area/rnd/xenobiology/xenoflora) @@ -109699,9 +109699,9 @@ /area/rnd/xenobiology/xenoflora) "dWo" = ( /obj/structure/table/glass, -/obj/item/device/analyzer/plant_analyzer, -/obj/item/weapon/tape_roll, -/obj/item/device/analyzer/plant_analyzer, +/obj/item/analyzer/plant_analyzer, +/obj/item/tape_roll, +/obj/item/analyzer/plant_analyzer, /turf/simulated/floor/tiled/white, /area/rnd/xenobiology/xenoflora) "dWp" = ( @@ -109920,7 +109920,7 @@ /obj/machinery/atmospherics/portables_connector{ dir = 1 }, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /turf/simulated/floor/tiled/white, /area/rnd/xenobiology/xenoflora_isolation) "dWR" = ( @@ -110430,7 +110430,7 @@ /area/rnd/research/firstdeck/hallway) "dXG" = ( /obj/structure/reagent_dispensers/watertank, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /turf/simulated/floor/tiled/dark, /area/rnd/research/firstdeck/hallway) "dXH" = ( @@ -110489,7 +110489,7 @@ /area/rnd/research/firstdeck/hallway) "dXP" = ( /obj/structure/table/glass, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -110677,9 +110677,9 @@ /obj/structure/table/glass, /obj/item/clothing/glasses/science, /obj/item/clothing/glasses/science, -/obj/item/weapon/weldingtool, +/obj/item/weldingtool, /obj/item/clothing/head/welding, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -110705,7 +110705,7 @@ /turf/simulated/floor/tiled, /area/rnd/xenobiology) "dYp" = ( -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /obj/structure/catwalk, /obj/structure/door_assembly/door_assembly_ext, /turf/simulated/floor/plating, @@ -110733,7 +110733,7 @@ /turf/space, /area/space) "dYs" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -110893,10 +110893,10 @@ /area/rnd/xenobiology) "dYB" = ( /obj/structure/table/glass, -/obj/item/weapon/surgical/scalpel{ +/obj/item/surgical/scalpel{ pixel_y = 12 }, -/obj/item/weapon/surgical/circular_saw, +/obj/item/surgical/circular_saw, /turf/simulated/floor/tiled/white, /area/rnd/xenobiology) "dYC" = ( @@ -110922,7 +110922,7 @@ /obj/structure/closet, /obj/item/toy/figure/scientist, /obj/item/clothing/accessory/armband/science, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /obj/item/clothing/shoes/galoshes, /obj/structure/disposalpipe/segment{ dir = 4 @@ -110940,7 +110940,7 @@ /turf/simulated/floor/airless, /area/rnd/xenobiology) "dYH" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -111069,7 +111069,7 @@ /area/rnd/xenobiology) "dYR" = ( /obj/structure/reagent_dispensers/watertank, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /obj/machinery/button/remote/blast_door{ desc = "A remote control-switch for the divider between pens."; id = "xenobioout7station"; @@ -111146,7 +111146,7 @@ /area/rnd/research/firstdeck/hallway) "dYZ" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/beakers{ +/obj/item/storage/box/beakers{ pixel_x = 2; pixel_y = 2 }, @@ -111336,10 +111336,10 @@ /area/rnd/research/firstdeck/hallway) "dZr" = ( /obj/structure/table/standard, -/obj/item/weapon/folder/red{ +/obj/item/folder/red{ pixel_y = 3 }, -/obj/item/weapon/folder/blue{ +/obj/item/folder/blue{ pixel_x = 5 }, /turf/simulated/floor/tiled, @@ -111395,8 +111395,8 @@ dir = 1; health = 1e+006 }, -/obj/item/weapon/melee/baton/slime/loaded, -/obj/item/weapon/gun/energy/taser/xeno, +/obj/item/melee/baton/slime/loaded, +/obj/item/gun/energy/taser/xeno, /turf/simulated/floor/tiled, /area/rnd/xenobiology) "dZx" = ( @@ -111491,9 +111491,9 @@ /area/rnd/research/firstdeck/hallway) "dZF" = ( /obj/structure/table/standard, -/obj/item/weapon/clipboard, -/obj/item/weapon/folder, -/obj/item/weapon/pen, +/obj/item/clipboard, +/obj/item/folder, +/obj/item/pen, /turf/simulated/floor/tiled, /area/rnd/xenobiology) "dZG" = ( @@ -111518,7 +111518,7 @@ /obj/structure/window/reinforced{ dir = 8 }, -/obj/item/weapon/storage/box/syringes, +/obj/item/storage/box/syringes, /obj/item/glass_jar, /obj/item/glass_jar, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -111606,15 +111606,15 @@ /area/rnd/xenobiology) "dZP" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -2; pixel_y = 5 }, -/obj/item/weapon/pen/blue{ +/obj/item/pen/blue{ pixel_x = -5; pixel_y = -1 }, -/obj/item/weapon/pen/red{ +/obj/item/pen/red{ pixel_x = -1; pixel_y = 3 }, @@ -111643,14 +111643,14 @@ /area/rnd/xenobiology) "dZR" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/monkeycubes, -/obj/item/weapon/storage/box/monkeycubes, -/obj/item/weapon/storage/box/monkeycubes, -/obj/item/weapon/storage/box/monkeycubes, +/obj/item/storage/box/monkeycubes, +/obj/item/storage/box/monkeycubes, +/obj/item/storage/box/monkeycubes, +/obj/item/storage/box/monkeycubes, /obj/structure/window/reinforced{ dir = 8 }, -/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped, +/obj/item/reagent_containers/food/snacks/monkeycube/wrapped, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 }, @@ -111698,7 +111698,7 @@ /turf/simulated/floor/tiled/white, /area/rnd/xenobiology) "dZV" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, @@ -111730,7 +111730,7 @@ /obj/machinery/recharger/wallcharger{ pixel_x = 36 }, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /obj/machinery/camera/network/research{ c_tag = "SCI - Xenobiology Starboard"; dir = 8 @@ -111767,7 +111767,7 @@ dir = 4; pixel_x = 5 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -111838,7 +111838,7 @@ "eae" = ( /obj/structure/table/standard, /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, /turf/simulated/floor/tiled, /area/rnd/xenobiology) "eaf" = ( @@ -111896,7 +111896,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /obj/machinery/firealarm{ dir = 8; pixel_x = -24 @@ -112023,16 +112023,16 @@ /obj/structure/table/standard, /obj/structure/window/reinforced, /obj/item/clothing/gloves/sterile/latex, -/obj/item/weapon/hand_labeler, -/obj/item/device/slime_scanner, -/obj/item/device/slime_scanner, +/obj/item/hand_labeler, +/obj/item/slime_scanner, +/obj/item/slime_scanner, /turf/simulated/floor/tiled, /area/rnd/xenobiology) "ear" = ( /obj/structure/table/standard, /obj/structure/window/reinforced, -/obj/item/weapon/melee/baton/slime/loaded, -/obj/item/weapon/gun/energy/taser/xeno, +/obj/item/melee/baton/slime/loaded, +/obj/item/gun/energy/taser/xeno, /turf/simulated/floor/tiled, /area/rnd/xenobiology) "eas" = ( @@ -112042,7 +112042,7 @@ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /turf/simulated/floor/tiled, /area/rnd/xenobiology) "eat" = ( @@ -112103,7 +112103,7 @@ /obj/effect/floor_decal/industrial/warning{ dir = 10 }, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /obj/machinery/camera/network/research{ c_tag = "SCI - Xenobiology Access"; dir = 1 @@ -112267,7 +112267,7 @@ /area/maintenance/firstdeck/centralstarboard) "eaL" = ( /obj/structure/reagent_dispensers/fueltank, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -112347,7 +112347,7 @@ /area/rnd/xenobiology) "eaR" = ( /obj/structure/reagent_dispensers/watertank, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /obj/effect/floor_decal/industrial/warning{ dir = 1 }, @@ -112523,7 +112523,7 @@ /area/rnd/xenobiology) "ebc" = ( /obj/structure/closet/firecloset/full/double, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -112589,10 +112589,10 @@ /area/security/checkpoint3) "ebl" = ( /obj/structure/table/steel, -/obj/item/device/communicator, -/obj/item/device/communicator, -/obj/item/device/radio/headset, -/obj/item/device/radio/headset, +/obj/item/communicator, +/obj/item/communicator, +/obj/item/radio/headset, +/obj/item/radio/headset, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, @@ -112716,7 +112716,7 @@ /turf/simulated/floor/tiled/white, /area/rnd/research_lockerroom) "ebv" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -112793,14 +112793,14 @@ "ebC" = ( /obj/structure/table/glass, /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen, -/obj/item/weapon/clipboard, -/obj/item/weapon/clipboard, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/pen, +/obj/item/clipboard, +/obj/item/clipboard, +/obj/item/storage/firstaid/regular{ pixel_x = 5; pixel_y = 5 }, @@ -112943,59 +112943,59 @@ /turf/simulated/floor/plating, /area/maintenance/substation/central) "ebQ" = ( -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, -/obj/item/device/assembly/prox_sensor{ +/obj/item/assembly/prox_sensor{ pixel_x = -8; pixel_y = 4 }, -/obj/item/device/assembly/prox_sensor{ +/obj/item/assembly/prox_sensor{ pixel_x = -8; pixel_y = 4 }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ empty = 1; name = "First-Aid (empty)" }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ empty = 1; name = "First-Aid (empty)" }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ empty = 1; name = "First-Aid (empty)" }, -/obj/item/device/healthanalyzer, -/obj/item/device/healthanalyzer, -/obj/item/device/healthanalyzer, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, +/obj/item/healthanalyzer, +/obj/item/healthanalyzer, +/obj/item/healthanalyzer, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, /obj/item/stack/cable_coil, /obj/item/stack/cable_coil, /obj/machinery/light, @@ -113213,7 +113213,7 @@ /turf/simulated/floor/tiled/white, /area/medical/virology) "ecg" = ( -/obj/item/weapon/storage/secure/safe{ +/obj/item/storage/secure/safe{ pixel_x = 5; pixel_y = -29 }, @@ -114130,12 +114130,12 @@ "edV" = ( /obj/structure/table/reinforced, /obj/structure/window/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen/red, -/obj/item/weapon/pen/blue{ +/obj/item/pen/red, +/obj/item/pen/blue{ pixel_x = 4; pixel_y = 4 }, @@ -114145,8 +114145,8 @@ "edW" = ( /obj/structure/table/reinforced, /obj/structure/window/reinforced, -/obj/item/weapon/clipboard, -/obj/item/weapon/folder/yellow, +/obj/item/clipboard, +/obj/item/folder/yellow, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, /area/engineering/foyer) diff --git a/maps/southern_cross/southern_cross-3.dmm b/maps/southern_cross/southern_cross-3.dmm index cc8b96536d1..53dec7725d8 100644 --- a/maps/southern_cross/southern_cross-3.dmm +++ b/maps/southern_cross/southern_cross-3.dmm @@ -201,7 +201,7 @@ }, /area/surface/outside/ocean) "aI" = ( -/obj/item/weapon/banner/nt, +/obj/item/banner/nt, /turf/simulated/floor/outdoors/snow/sif/planetuse, /area/surface/outside/plains/outpost) "aJ" = ( @@ -258,7 +258,7 @@ /area/surface/outpost/mining_main/storage) "aT" = ( /obj/structure/table/steel, -/obj/item/weapon/pickaxe, +/obj/item/pickaxe, /obj/effect/floor_decal/corner/brown{ dir = 5 }, @@ -271,7 +271,7 @@ "aU" = ( /obj/structure/table/steel, /obj/machinery/cell_charger, -/obj/item/weapon/cell/high, +/obj/item/cell/high, /obj/effect/floor_decal/corner/brown{ dir = 5 }, @@ -305,29 +305,29 @@ /area/surface/outpost/mining_main/storage) "aW" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/belt/utility, -/obj/item/weapon/pickaxe, +/obj/item/storage/belt/utility, +/obj/item/pickaxe, /obj/effect/floor_decal/corner/brown/full{ dir = 8 }, -/obj/item/device/gps/mining, -/obj/item/device/gps/mining, -/obj/item/device/gps/mining, +/obj/item/gps/mining, +/obj/item/gps/mining, +/obj/item/gps/mining, /turf/simulated/floor/tiled, /area/surface/outpost/mining_main) "aX" = ( /obj/effect/floor_decal/corner/brown{ dir = 5 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 }, /obj/structure/table/steel, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/tool/crowbar, +/obj/item/tool/wrench, +/obj/item/storage/toolbox/mechanical, /turf/simulated/floor/tiled, /area/surface/outpost/mining_main) "aY" = ( @@ -357,9 +357,9 @@ /area/surface/outpost/mining_main) "ba" = ( /obj/structure/table/steel, -/obj/item/weapon/mining_scanner, -/obj/item/weapon/mining_scanner, -/obj/item/weapon/mining_scanner, +/obj/item/mining_scanner, +/obj/item/mining_scanner, +/obj/item/mining_scanner, /obj/effect/floor_decal/corner/brown{ dir = 5 }, @@ -375,7 +375,7 @@ /obj/effect/floor_decal/corner/brown/full{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -741,10 +741,10 @@ /area/surface/outpost/mining_main/storage) "bW" = ( /obj/structure/table/rack, -/obj/item/weapon/pickaxe, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/shovel, +/obj/item/pickaxe, +/obj/item/tool/wrench, +/obj/item/tool/crowbar, +/obj/item/shovel, /obj/effect/floor_decal/corner/brown{ dir = 10 }, @@ -752,10 +752,10 @@ /area/surface/outpost/mining_main/storage) "bX" = ( /obj/structure/table/rack, -/obj/item/weapon/pickaxe, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/shovel, +/obj/item/pickaxe, +/obj/item/tool/wrench, +/obj/item/tool/crowbar, +/obj/item/shovel, /obj/effect/floor_decal/corner/brown{ dir = 10 }, @@ -855,13 +855,13 @@ /turf/simulated/floor/tiled, /area/surface/outpost/main/security) "cj" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 }, /obj/structure/table/standard, -/obj/item/weapon/book/codex/corp_regs, +/obj/item/book/codex/corp_regs, /obj/effect/floor_decal/borderfloor{ dir = 5 }, @@ -904,8 +904,8 @@ }, /obj/structure/table/glass, /obj/machinery/recharger, -/obj/item/weapon/tool/screwdriver, -/obj/item/device/defib_kit/loaded, +/obj/item/tool/screwdriver, +/obj/item/defib_kit/loaded, /obj/effect/floor_decal/borderfloorwhite{ dir = 9 }, @@ -1000,9 +1000,9 @@ /turf/simulated/floor/tiled, /area/surface/outpost/mining_main) "cA" = ( -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/tool/crowbar, +/obj/item/tool/wrench, +/obj/item/storage/toolbox/mechanical, /obj/structure/table/steel, /obj/machinery/light, /obj/effect/floor_decal/industrial/hatch/yellow, @@ -1078,7 +1078,7 @@ /turf/simulated/wall, /area/surface/outpost/main/gateway) "cL" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -1145,8 +1145,8 @@ /obj/structure/window/reinforced, /obj/structure/table/rack, /obj/item/bodybag/cryobag, -/obj/item/weapon/storage/toolbox/emergency, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/toolbox/emergency, +/obj/item/storage/firstaid/regular, /obj/random/medical/lite, /obj/effect/floor_decal/borderfloorwhite{ dir = 5 @@ -1181,13 +1181,13 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/tank/oxygen, -/obj/item/weapon/tank/oxygen, +/obj/item/tank/oxygen, +/obj/item/tank/oxygen, /obj/item/clothing/mask/breath, /obj/item/clothing/mask/breath, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/weapon/extinguisher, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/extinguisher, /obj/machinery/light/small{ dir = 4 }, @@ -1276,7 +1276,7 @@ pixel_y = 23 }, /obj/structure/table/standard, -/obj/item/weapon/storage/box/donut, +/obj/item/storage/box/donut, /obj/effect/floor_decal/borderfloor{ dir = 9 }, @@ -1380,8 +1380,8 @@ dir = 4 }, /obj/structure/table/glass, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{ +/obj/item/tool/wrench, +/obj/item/reagent_containers/glass/beaker/cryoxadone{ pixel_x = 7; pixel_y = 1 }, @@ -1432,9 +1432,9 @@ /turf/simulated/floor/plating, /area/surface/outpost/mining_main/emergencystorage) "dz" = ( -/obj/item/device/t_scanner, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/t_scanner, +/obj/item/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /obj/structure/table/steel, /obj/random/maintenance/engineering, /obj/random/maintenance/clean, @@ -2160,13 +2160,13 @@ dir = 4 }, /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/device/flash, -/obj/item/weapon/pen, -/obj/item/weapon/tool/crowbar, +/obj/item/flash, +/obj/item/pen, +/obj/item/tool/crowbar, /obj/machinery/light, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/red/border, @@ -2231,8 +2231,8 @@ /area/surface/outpost/main/gateway) "eY" = ( /obj/structure/closet/emcloset, -/obj/item/weapon/storage/toolbox/emergency, -/obj/item/weapon/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, /obj/item/clothing/suit/storage/hooded/wintercoat, /obj/machinery/light_switch{ pixel_x = 11; @@ -2269,7 +2269,7 @@ /area/surface/outpost/main/first_aid) "fb" = ( /obj/structure/table/glass, -/obj/item/weapon/tool/crowbar, +/obj/item/tool/crowbar, /obj/item/bodybag, /obj/item/bodybag/cryobag, /obj/effect/floor_decal/borderfloorwhite/corner, @@ -2282,11 +2282,11 @@ dir = 8 }, /obj/structure/table/glass, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ pixel_x = 5; pixel_y = 5 }, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ pixel_x = 0; pixel_y = 0 }, @@ -2297,11 +2297,11 @@ /area/surface/outpost/main/first_aid) "fd" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/firstaid/toxin{ +/obj/item/storage/firstaid/toxin{ pixel_x = 5; pixel_y = 5 }, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/fire{ pixel_x = 0; pixel_y = 0 }, @@ -2577,8 +2577,8 @@ name = "explorer crate"; req_access = list(43) }, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/weapon/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, /turf/simulated/floor/tiled, /area/surface/outpost/main/security) "fz" = ( @@ -2617,8 +2617,8 @@ name = "explorer crate"; req_access = list(43) }, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/pill_bottle/spaceacillin, +/obj/item/storage/firstaid/regular, +/obj/item/storage/pill_bottle/spaceacillin, /obj/item/bodybag/cryobag, /obj/item/bodybag/cryobag, /turf/simulated/floor/tiled, @@ -2887,7 +2887,7 @@ c_tag = "MO - SAR Prep"; dir = 2 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -2898,7 +2898,7 @@ /obj/structure/closet/secure_closet/medical_wall/pills{ pixel_y = 32 }, -/obj/item/weapon/storage/pill_bottle/spaceacillin, +/obj/item/storage/pill_bottle/spaceacillin, /turf/simulated/floor/tiled, /area/surface/outpost/main/first_aid) "gg" = ( @@ -3179,7 +3179,7 @@ /turf/simulated/floor/tiled, /area/surface/outpost/main/first_aid) "gG" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled, /area/surface/outpost/main/first_aid) "gH" = ( @@ -3307,7 +3307,7 @@ /obj/effect/floor_decal/industrial/warning{ dir = 10 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -3327,16 +3327,16 @@ dir = 8; layer = 2.6 }, -/obj/item/device/gps/explorer{ +/obj/item/gps/explorer{ pixel_x = -5; pixel_y = -5 }, -/obj/item/device/gps/explorer{ +/obj/item/gps/explorer{ pixel_x = -3; pixel_y = -3 }, -/obj/item/device/gps, -/obj/item/device/gps{ +/obj/item/gps, +/obj/item/gps{ pixel_x = 3; pixel_y = 3 }, @@ -3358,7 +3358,7 @@ /obj/structure/closet/secure_closet/explorer, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/green/border, -/obj/item/device/binoculars, +/obj/item/binoculars, /turf/simulated/floor/tiled, /area/surface/outpost/main/security) "he" = ( @@ -3383,7 +3383,7 @@ }, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/green/border, -/obj/item/weapon/pickaxe, +/obj/item/pickaxe, /obj/machinery/alarm{ dir = 1; pixel_y = -22 @@ -3427,10 +3427,10 @@ /area/surface/outpost/main/first_aid) "hl" = ( /obj/structure/table/steel, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/storage/toolbox/mechanical, -/obj/item/device/multitool, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/storage/toolbox/mechanical, +/obj/item/multitool, /obj/machinery/ai_status_display{ pixel_y = -32 }, @@ -3453,21 +3453,21 @@ pixel_x = 0; pixel_y = -32 }, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/empty, -/obj/item/weapon/reagent_containers/blood/empty, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/empty, +/obj/item/reagent_containers/blood/empty, /obj/machinery/iv_drip, /turf/simulated/floor/tiled, /area/surface/outpost/main/first_aid) "ho" = ( /obj/structure/closet/secure_closet/sar, /obj/machinery/light, -/obj/item/weapon/storage/box/bodybags, +/obj/item/storage/box/bodybags, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/white/border, /obj/item/roller/adv, -/obj/item/weapon/storage/pill_bottle/spaceacillin, +/obj/item/storage/pill_bottle/spaceacillin, /turf/simulated/floor/tiled, /area/surface/outpost/main/first_aid) "hp" = ( @@ -3477,7 +3477,7 @@ /obj/item/roller/adv{ pixel_y = 5 }, -/obj/item/weapon/storage/pill_bottle/spaceacillin, +/obj/item/storage/pill_bottle/spaceacillin, /turf/simulated/floor/tiled, /area/surface/outpost/main/first_aid) "hq" = ( @@ -3493,8 +3493,8 @@ /area/surface/outpost/main/first_aid) "hr" = ( /obj/structure/table/steel, -/obj/item/device/gps/medical, -/obj/item/device/gps/medical{ +/obj/item/gps/medical, +/obj/item/gps/medical{ pixel_x = 3; pixel_y = 3 }, @@ -3740,11 +3740,11 @@ pixel_x = 0; pixel_y = -32 }, -/obj/item/device/paicard, +/obj/item/paicard, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/green/border, -/obj/item/weapon/hand_labeler, -/obj/item/weapon/melee/umbrella/random, +/obj/item/hand_labeler, +/obj/item/melee/umbrella/random, /turf/simulated/floor/tiled, /area/surface/outpost/main/security) "hY" = ( @@ -3773,7 +3773,7 @@ /area/surface/outpost/main/garage) "id" = ( /obj/structure/table/steel, -/obj/item/weapon/weldpack, +/obj/item/weldpack, /turf/simulated/floor/plating, /area/surface/outpost/main/garage) "ie" = ( @@ -3807,8 +3807,8 @@ /area/surface/outpost/main/garage) "ij" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/toolbox/mechanical, -/obj/item/weapon/storage/toolbox/emergency{ +/obj/item/storage/toolbox/mechanical, +/obj/item/storage/toolbox/emergency{ pixel_x = 5; pixel_y = 5 }, @@ -3930,7 +3930,7 @@ /turf/simulated/floor/plating, /area/surface/outpost/mining_main/gen_room) "iw" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -4015,7 +4015,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -4032,7 +4032,7 @@ /obj/structure/extinguisher_cabinet{ pixel_x = -25 }, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /turf/simulated/floor/plating, /area/surface/outpost/main/garage) "iG" = ( @@ -4043,13 +4043,13 @@ /area/surface/outpost/main/garage) "iI" = ( /obj/structure/table/steel, -/obj/item/weapon/weldingtool, -/obj/item/device/floor_painter, +/obj/item/weldingtool, +/obj/item/floor_painter, /turf/simulated/floor/tiled/steel_grid, /area/surface/outpost/main/garage) "iJ" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /obj/machinery/light/small{ dir = 8; pixel_x = 0 @@ -4097,7 +4097,7 @@ /obj/machinery/atmospherics/pipe/simple/visible/universal{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -4187,7 +4187,7 @@ /area/surface/outpost/main/telecomms) "iX" = ( /obj/structure/table/standard, -/obj/item/weapon/tool/crowbar/red, +/obj/item/tool/crowbar/red, /obj/machinery/power/apc{ dir = 2; name = "south bump"; @@ -4201,7 +4201,7 @@ d2 = 4; icon_state = "0-4" }, -/obj/item/weapon/tool/crowbar/red, +/obj/item/tool/crowbar/red, /turf/simulated/floor/tiled, /area/surface/outpost/main/teleporter) "iY" = ( @@ -4209,7 +4209,7 @@ /area/surface/outpost/main/teleporter) "iZ" = ( /obj/machinery/bluespace_beacon, -/obj/item/device/radio/beacon, +/obj/item/radio/beacon, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 }, @@ -4235,7 +4235,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -4494,7 +4494,7 @@ "jA" = ( /obj/structure/table/steel, /obj/machinery/recharger, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /turf/simulated/floor/plating, /area/surface/outpost/main/gen_room) "jB" = ( @@ -5021,7 +5021,7 @@ icon_state = "4-8" }, /obj/structure/table/steel, -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical, /obj/random/tech_supply, /obj/random/tech_supply, /turf/simulated/floor/plating, @@ -5098,7 +5098,7 @@ /area/surface/outpost/main/garage) "kI" = ( /obj/item/inflatable/door/torn, -/obj/item/weapon/tool/screwdriver, +/obj/item/tool/screwdriver, /turf/simulated/floor, /area/surface/outpost/main/garage) "kJ" = ( @@ -5418,7 +5418,7 @@ /turf/simulated/floor/plating, /area/surface/outpost/main/construction_area) "ly" = ( -/obj/item/weapon/stool, +/obj/item/stool, /turf/simulated/floor/plating, /area/surface/outpost/main/construction_area) "lz" = ( @@ -5458,7 +5458,7 @@ icon_state = "alarm0"; pixel_x = -22 }, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/small/saltshaker, /obj/random/maintenance/engineering, /obj/random/maintenance/engineering, /turf/simulated/floor/plating, @@ -5468,7 +5468,7 @@ /area/surface/outpost/main/bar) "lF" = ( /obj/structure/table/marble, -/obj/item/weapon/stool, +/obj/item/stool, /turf/simulated/floor/plating, /area/surface/outpost/main/bar) "lG" = ( @@ -5503,7 +5503,7 @@ pixel_x = 24 }, /obj/item/frame/extinguisher_cabinet, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /turf/simulated/floor/plating, /area/surface/outpost/main/bar) "lJ" = ( @@ -5516,7 +5516,7 @@ /turf/simulated/floor/tiled/steel/sif/planetuse, /area/surface/outpost/main/corridor) "lL" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -5701,7 +5701,7 @@ /area/surface/outpost/main) "mf" = ( /obj/structure/closet/toolcloset, -/obj/item/device/flashlight/maglight, +/obj/item/flashlight/maglight, /turf/simulated/floor/plating, /area/surface/outpost/main/construction_area) "mg" = ( @@ -5736,7 +5736,7 @@ c_tag = "MO - Bar West"; dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -5756,7 +5756,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/plating, /area/surface/outpost/main/bar) "mn" = ( @@ -5780,7 +5780,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, -/obj/item/weapon/stock_parts/motor, +/obj/item/stock_parts/motor, /turf/simulated/floor/plating, /area/surface/outpost/main/bar) "mq" = ( @@ -5852,7 +5852,7 @@ "mz" = ( /obj/structure/table/standard, /obj/machinery/recharger, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /obj/machinery/light{ dir = 4; icon_state = "tube1" @@ -5937,7 +5937,7 @@ /turf/simulated/floor/tiled, /area/surface/outpost/main) "mH" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -5968,9 +5968,9 @@ /area/surface/outpost/main) "mK" = ( /obj/structure/closet/crate, -/obj/item/weapon/tool/crowbar/red, +/obj/item/tool/crowbar/red, /obj/item/frame/light, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /turf/simulated/floor/plating, /area/surface/outpost/main/construction_area) "mL" = ( @@ -6028,7 +6028,7 @@ /area/surface/outpost/main/bar) "mR" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, /obj/machinery/camera/network/main_outpost{ c_tag = "MO - Bar East"; dir = 8 @@ -6076,7 +6076,7 @@ /area/surface/outpost/main/gym) "mY" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /obj/machinery/alarm{ dir = 8; icon_state = "alarm0"; @@ -6119,7 +6119,7 @@ icon_state = "tube1"; pixel_x = 0 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -6305,13 +6305,13 @@ /area/surface/outpost/main/gym) "nA" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/cups, +/obj/item/storage/box/cups, /obj/machinery/computer/security/telescreen/entertainment{ icon_state = "frame"; pixel_x = 32; pixel_y = 0 }, -/obj/item/weapon/book/codex/lore/vir, +/obj/item/book/codex/lore/vir, /turf/simulated/floor/tiled, /area/surface/outpost/main/gym) "nB" = ( @@ -6363,7 +6363,7 @@ /turf/simulated/floor/plating, /area/surface/outpost/main/construction_area) "nI" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -6444,7 +6444,7 @@ /turf/simulated/floor/tiled, /area/surface/outpost/main/gym) "nS" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled, /area/surface/outpost/main/gym) "nT" = ( @@ -6476,7 +6476,7 @@ /turf/simulated/floor/tiled, /area/surface/outpost/main/gym) "nV" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/structure/cable/blue{ d2 = 8; icon_state = "0-8" @@ -6565,8 +6565,8 @@ /area/surface/outpost/main/construction_area) "og" = ( /obj/structure/table/standard, -/obj/item/device/paicard, -/obj/item/weapon/book/codex/lore/vir, +/obj/item/paicard, +/obj/item/book/codex/lore/vir, /turf/simulated/floor/tiled, /area/surface/outpost/main/dorms) "oh" = ( @@ -6610,7 +6610,7 @@ icon_state = "alarm0"; pixel_x = -22 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -7715,7 +7715,7 @@ /turf/simulated/floor/tiled/steel, /area/surface/outpost/main/dorms) "pZ" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -7744,14 +7744,14 @@ pixel_y = -25 }, /obj/structure/closet/crate, -/obj/item/weapon/bedsheet, -/obj/item/weapon/bedsheet/blue, -/obj/item/weapon/bedsheet/brown, -/obj/item/weapon/bedsheet/green, -/obj/item/weapon/bedsheet/orange, -/obj/item/weapon/bedsheet/purple, -/obj/item/weapon/bedsheet/red, -/obj/item/weapon/bedsheet/yellow, +/obj/item/bedsheet, +/obj/item/bedsheet/blue, +/obj/item/bedsheet/brown, +/obj/item/bedsheet/green, +/obj/item/bedsheet/orange, +/obj/item/bedsheet/purple, +/obj/item/bedsheet/red, +/obj/item/bedsheet/yellow, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/green/border, /obj/effect/floor_decal/borderfloor/corner2{ @@ -7922,7 +7922,7 @@ name = "Statue"; pixel_y = 2 }, -/obj/item/device/gps/internal/base, +/obj/item/gps/internal/base, /turf/simulated/floor/tiled/techfloor, /area/surface/outpost/main/corridor) "qv" = ( @@ -8012,7 +8012,7 @@ /area/surface/outpost/main) "qG" = ( /obj/structure/disposalpipe/segment, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -8083,7 +8083,7 @@ /turf/simulated/floor/tiled/freezer, /area/surface/outpost/main/restroom) "qN" = ( -/obj/item/weapon/bikehorn/rubberducky, +/obj/item/bikehorn/rubberducky, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9; pixel_y = 0 @@ -8213,9 +8213,9 @@ /turf/simulated/floor/tiled/steel_grid, /area/surface/outpost/main) "qZ" = ( -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/tool/crowbar, +/obj/item/tool/wrench, +/obj/item/storage/toolbox/mechanical, /obj/structure/table/steel, /obj/effect/floor_decal/industrial/hatch/yellow, /obj/machinery/firealarm{ @@ -8290,12 +8290,12 @@ /area/surface/outpost/main/restroom) "ri" = ( /obj/structure/table/standard, -/obj/item/weapon/towel, -/obj/item/weapon/towel, -/obj/item/weapon/towel, -/obj/item/weapon/towel, -/obj/item/weapon/towel, -/obj/item/weapon/towel, +/obj/item/towel, +/obj/item/towel, +/obj/item/towel, +/obj/item/towel, +/obj/item/towel, +/obj/item/towel, /obj/random/soap, /obj/random/soap, /obj/machinery/power/apc{ @@ -8331,7 +8331,7 @@ /area/surface/outpost/main/restroom) "rk" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/purpledouble, +/obj/item/bedsheet/purpledouble, /turf/simulated/floor/carpet/purcarpet, /area/surface/outpost/main/dorms) "rl" = ( @@ -8413,7 +8413,7 @@ /area/surface/outpost/main/dorms) "rs" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/green, +/obj/item/bedsheet/green, /obj/machinery/alarm{ frequency = 1441; pixel_y = 22 @@ -8425,7 +8425,7 @@ /area/surface/outpost/main/dorms) "rt" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/yellow, +/obj/item/bedsheet/yellow, /obj/machinery/alarm{ frequency = 1441; pixel_y = 22 @@ -8499,7 +8499,7 @@ /turf/simulated/floor/carpet/blucarpet, /area/surface/outpost/main/dorms) "rz" = ( -/obj/item/weapon/bedsheet/bluedouble, +/obj/item/bedsheet/bluedouble, /obj/structure/bed/double/padded, /turf/simulated/floor/carpet/blucarpet, /area/surface/outpost/main/dorms) @@ -8596,7 +8596,7 @@ /turf/simulated/floor/carpet/purcarpet, /area/surface/outpost/main/dorms) "rK" = ( -/obj/item/weapon/stool, +/obj/item/stool, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, @@ -8604,7 +8604,7 @@ /turf/simulated/floor/carpet/purcarpet, /area/surface/outpost/main/dorms) "rL" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -8634,8 +8634,8 @@ pixel_y = 0; specialfunctions = 4 }, -/obj/item/weapon/stool/padded, -/obj/item/device/radio/intercom{ +/obj/item/stool/padded, +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -8672,12 +8672,12 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/item/weapon/melee/umbrella/random, +/obj/item/melee/umbrella/random, /turf/simulated/floor/tiled, /area/surface/outpost/main/corridor) "rQ" = ( -/obj/item/weapon/stool/padded, -/obj/item/device/radio/intercom{ +/obj/item/stool/padded, +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -8700,7 +8700,7 @@ /turf/simulated/floor/tiled, /area/surface/outpost/main/dorms) "rS" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -8717,7 +8717,7 @@ /turf/simulated/floor/carpet/blucarpet, /area/surface/outpost/main/dorms) "rT" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, @@ -8730,7 +8730,7 @@ dir = 1; pixel_y = -25 }, -/obj/item/device/gps{ +/obj/item/gps{ pixel_x = 3; pixel_y = 3 }, @@ -8778,7 +8778,7 @@ /turf/simulated/floor/tiled/freezer, /area/surface/outpost/main/pool) "sa" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -8978,7 +8978,7 @@ /turf/simulated/floor/plating, /area/surface/outpost/main/pool) "st" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled/freezer, /area/surface/outpost/main/pool) "su" = ( @@ -9027,7 +9027,7 @@ /area/surface/outpost/main/pool) "sA" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/purple, +/obj/item/bedsheet/purple, /obj/machinery/alarm{ dir = 1; pixel_y = -25 @@ -9094,7 +9094,7 @@ /area/surface/outpost/main/dorms) "sG" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/red, +/obj/item/bedsheet/red, /obj/machinery/alarm{ frequency = 1441; pixel_y = 22 @@ -9106,7 +9106,7 @@ /area/surface/outpost/main/dorms) "sH" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/red, +/obj/item/bedsheet/red, /obj/machinery/alarm{ frequency = 1441; pixel_y = 22 @@ -9171,7 +9171,7 @@ /area/surface/outpost/main/dorms) "sM" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /obj/machinery/alarm{ dir = 1; pixel_y = -25 @@ -9205,7 +9205,7 @@ /area/surface/outpost/main/pool) "sP" = ( /obj/structure/table/glass, -/obj/item/device/paicard, +/obj/item/paicard, /turf/simulated/floor/tiled/freezer, /area/surface/outpost/main/pool) "sQ" = ( @@ -9245,7 +9245,7 @@ /area/surface/outpost/main/pool) "sX" = ( /obj/structure/table/glass, -/obj/item/weapon/inflatable_duck, +/obj/item/inflatable_duck, /turf/simulated/floor/tiled/freezer, /area/surface/outpost/main/pool) "sY" = ( @@ -9257,8 +9257,8 @@ /turf/simulated/floor/carpet/purcarpet, /area/surface/outpost/main/dorms) "sZ" = ( -/obj/item/weapon/stool/padded, -/obj/item/device/radio/intercom{ +/obj/item/stool/padded, +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -9275,8 +9275,8 @@ /turf/simulated/floor/carpet/purcarpet, /area/surface/outpost/main/dorms) "ta" = ( -/obj/item/weapon/stool/padded, -/obj/item/device/radio/intercom{ +/obj/item/stool/padded, +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -9314,8 +9314,8 @@ /turf/simulated/floor/carpet, /area/surface/outpost/main/dorms) "td" = ( -/obj/item/weapon/stool, -/obj/item/device/radio/intercom{ +/obj/item/stool, +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -9332,8 +9332,8 @@ /turf/simulated/floor/carpet, /area/surface/outpost/main/dorms) "te" = ( -/obj/item/weapon/stool/padded, -/obj/item/device/radio/intercom{ +/obj/item/stool/padded, +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -9399,7 +9399,7 @@ pixel_x = -32; pixel_y = 0 }, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/camera/network/main_outpost{ c_tag = "MO - Pool West"; dir = 4 @@ -9409,14 +9409,14 @@ "tn" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/hologram/holopad, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled/freezer, /area/surface/outpost/main/pool) "to" = ( /obj/effect/floor_decal/spline/plain{ dir = 9 }, -/obj/item/weapon/beach_ball, +/obj/item/beach_ball, /turf/simulated/floor/tiled/freezer, /area/surface/outpost/main/pool) "tp" = ( @@ -9434,7 +9434,7 @@ "tr" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/hologram/holopad, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled/freezer, /area/surface/outpost/main/pool) "ts" = ( @@ -9443,7 +9443,7 @@ pixel_x = 32; pixel_y = 0 }, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/camera/network/main_outpost{ c_tag = "MO - Pool East"; dir = 8 @@ -9472,7 +9472,7 @@ /area/surface/outpost/main/pool) "tw" = ( /obj/structure/table/glass, -/obj/item/weapon/book/codex/lore/vir, +/obj/item/book/codex/lore/vir, /obj/effect/zone_divider, /turf/simulated/floor/tiled/freezer, /area/surface/outpost/main/pool) @@ -9573,14 +9573,14 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled/freezer, /area/surface/outpost/main/pool) "tP" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled/freezer, /area/surface/outpost/main/pool) "tQ" = ( @@ -9609,8 +9609,8 @@ /area/surface/outpost/main/pool) "tV" = ( /obj/structure/closet/emcloset, -/obj/item/weapon/storage/toolbox/emergency, -/obj/item/weapon/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, /obj/item/clothing/suit/storage/hooded/wintercoat, /turf/simulated/floor/tiled/freezer, /area/surface/outpost/main/pool) @@ -9624,7 +9624,7 @@ /area/surface/outpost/main/pool) "tY" = ( /obj/machinery/light/spot, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled/freezer, /area/surface/outpost/main/pool) "tZ" = ( @@ -9634,7 +9634,7 @@ /turf/simulated/floor/tiled/freezer, /area/surface/outpost/main/pool) "ua" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -9938,7 +9938,7 @@ /turf/simulated/wall, /area/surface/outpost/research/xenoresearch) "uP" = ( -/obj/item/weapon/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, /obj/machinery/light/small{ dir = 1 }, @@ -9985,7 +9985,7 @@ /obj/machinery/light/small{ dir = 4 }, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/floor/plating, /area/surface/outpost/research/xenoresearch/smes) "uV" = ( @@ -10038,9 +10038,9 @@ /area/surface/outpost/research/xenoresearch/restroom) "va" = ( /obj/structure/table/standard, -/obj/item/weapon/towel, -/obj/item/weapon/towel, -/obj/item/weapon/towel, +/obj/item/towel, +/obj/item/towel, +/obj/item/towel, /obj/random/soap, /obj/random/soap, /obj/structure/cable/green{ @@ -10057,7 +10057,7 @@ /obj/effect/floor_decal/industrial/warning{ dir = 10 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -10101,7 +10101,7 @@ /obj/item/clothing/suit/storage/hooded/wintercoat, /obj/item/clothing/suit/storage/hooded/wintercoat, /obj/machinery/light, -/obj/item/weapon/melee/umbrella/random, +/obj/item/melee/umbrella/random, /turf/simulated/floor/tiled/steel_grid, /area/surface/outpost/main) "vh" = ( @@ -10109,11 +10109,11 @@ /obj/machinery/light{ dir = 1 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -2; pixel_y = 5 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled, /area/surface/outpost/research/xenoresearch) "vi" = ( @@ -10127,7 +10127,7 @@ dir = 4 }, /obj/machinery/light, -/obj/item/weapon/melee/umbrella/random, +/obj/item/melee/umbrella/random, /turf/simulated/floor/carpet/bcarpet, /area/surface/outpost/main/dorms) "vj" = ( @@ -10206,8 +10206,8 @@ }, /obj/structure/table/steel, /obj/machinery/cell_charger, -/obj/item/weapon/cell/high, -/obj/item/weapon/weldpack, +/obj/item/cell/high, +/obj/item/weldpack, /obj/structure/cable/green{ d1 = 1; d2 = 4; @@ -10257,7 +10257,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -10485,7 +10485,7 @@ /turf/simulated/floor/tiled, /area/surface/outpost/research/xenoresearch) "vZ" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -10770,7 +10770,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -10891,7 +10891,7 @@ d2 = 8; icon_state = "4-8" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -11466,7 +11466,7 @@ /obj/effect/floor_decal/corner/paleblue{ dir = 6 }, -/obj/item/device/radio{ +/obj/item/radio{ frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link" @@ -11558,7 +11558,7 @@ /obj/effect/floor_decal/industrial/warning{ dir = 10 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -11605,29 +11605,29 @@ /area/surface/outpost/research/xenoresearch/xenoflora) "xZ" = ( /obj/structure/table/standard, -/obj/item/weapon/folder/red{ +/obj/item/folder/red{ pixel_y = 3 }, -/obj/item/weapon/folder/blue{ +/obj/item/folder/blue{ pixel_x = 5 }, /turf/simulated/floor/plating, /area/surface/outpost/research/xenoresearch/xenobiology) "ya" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -2; pixel_y = 5 }, -/obj/item/weapon/pen/blue{ +/obj/item/pen/blue{ pixel_x = -5; pixel_y = -1 }, -/obj/item/weapon/pen/red{ +/obj/item/pen/red{ pixel_x = -1; pixel_y = 3 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -11644,7 +11644,7 @@ /turf/simulated/floor/plating, /area/surface/outpost/research/xenoresearch/xenobiology) "yc" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -11730,7 +11730,7 @@ /area/surface/outpost/research/xenoresearch/xenoflora) "yl" = ( /obj/structure/table/glass, -/obj/item/weapon/tape_roll, +/obj/item/tape_roll, /obj/machinery/firealarm{ dir = 2; pixel_y = 24 @@ -11760,11 +11760,11 @@ /area/surface/outpost/research/xenoresearch/xenoflora) "yo" = ( /obj/structure/table/glass, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/machinery/atmospherics/pipe/simple/hidden/yellow{ dir = 9; icon_state = "intact" @@ -11780,9 +11780,9 @@ pixel_x = 30; pixel_y = 0 }, -/obj/item/weapon/clipboard, -/obj/item/weapon/folder/white, -/obj/item/device/radio/intercom{ +/obj/item/clipboard, +/obj/item/folder/white, +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -11791,8 +11791,8 @@ /area/surface/outpost/research/xenoresearch/xenoflora) "yq" = ( /obj/structure/reagent_dispensers/watertank, -/obj/item/weapon/extinguisher, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, +/obj/item/extinguisher, /turf/simulated/floor/tiled/dark, /area/surface/outpost/research/xenoresearch/xenobiology) "yr" = ( @@ -11832,9 +11832,9 @@ /area/surface/outpost/research/xenoresearch/xenobiology) "yu" = ( /obj/structure/table/standard, -/obj/item/weapon/clipboard, -/obj/item/weapon/folder, -/obj/item/weapon/pen, +/obj/item/clipboard, +/obj/item/folder, +/obj/item/pen, /turf/simulated/floor/plating, /area/surface/outpost/research/xenoresearch/xenobiology) "yv" = ( @@ -12058,7 +12058,7 @@ /area/surface/outpost/research/xenoresearch/xenobiology) "yT" = ( /obj/structure/reagent_dispensers/watertank/high, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /turf/simulated/floor/tiled/hydro, /area/surface/outpost/research/xenoresearch/xenoflora) "yU" = ( @@ -12274,8 +12274,8 @@ /area/surface/outpost/research/xenoresearch/xenoflora) "zt" = ( /obj/structure/table/glass, -/obj/item/weapon/material/minihoe, -/obj/item/weapon/material/knife/machete/hatchet, +/obj/item/material/minihoe, +/obj/item/material/knife/machete/hatchet, /obj/effect/floor_decal/corner/green{ dir = 10 }, @@ -12283,8 +12283,8 @@ /area/surface/outpost/research/xenoresearch/xenoflora) "zu" = ( /obj/structure/table/glass, -/obj/item/weapon/folder/white, -/obj/item/weapon/pen, +/obj/item/folder/white, +/obj/item/pen, /obj/effect/floor_decal/corner/green/full, /turf/simulated/floor/tiled/white, /area/surface/outpost/research/xenoresearch/xenoflora) @@ -12459,7 +12459,7 @@ dir = 8 }, /obj/machinery/meter, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /turf/simulated/floor/tiled/hydro, /area/surface/outpost/research/xenoresearch/xenoflora) "zO" = ( @@ -12637,7 +12637,7 @@ /area/surface/outpost/research/xenoresearch/xenoflora) "Ah" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/beakers{ +/obj/item/storage/box/beakers{ pixel_x = 2; pixel_y = 2 }, @@ -12698,7 +12698,7 @@ /turf/simulated/floor/tiled, /area/surface/outpost/research/xenoresearch/xenobiology) "Ap" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled, /area/surface/outpost/research/xenoresearch/xenobiology) "Aq" = ( @@ -12724,7 +12724,7 @@ /area/surface/outpost/research/xenoresearch/xenobiology) "At" = ( /obj/structure/reagent_dispensers/watertank, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /obj/effect/floor_decal/industrial/warning{ dir = 8 }, @@ -12737,7 +12737,7 @@ icon_state = "tube1"; pixel_x = 0 }, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /turf/simulated/floor/tiled, /area/surface/outpost/research/xenoresearch/xenobiology) "Au" = ( @@ -12785,7 +12785,7 @@ /turf/simulated/floor/tiled/white, /area/surface/outpost/research/xenoresearch/xenoflora) "AB" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 }, @@ -13234,7 +13234,7 @@ /obj/machinery/atmospherics/portables_connector{ dir = 8 }, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /obj/machinery/light, /turf/simulated/floor/tiled/white, /area/surface/outpost/research/xenoresearch/xenoflora) @@ -13258,7 +13258,7 @@ dir = 8 }, /obj/structure/reagent_dispensers/watertank/high, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /turf/simulated/floor/tiled/white, /area/surface/outpost/research/xenoresearch/xenoflora) "BH" = ( @@ -13279,7 +13279,7 @@ /turf/simulated/floor/tiled/hydro, /area/surface/outpost/research/xenoresearch/xenoflora) "BK" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -13396,7 +13396,7 @@ /obj/structure/closet, /obj/item/toy/figure/scientist, /obj/item/clothing/accessory/armband/science, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /turf/simulated/floor/tiled/dark, /area/surface/outpost/research/xenoresearch/xenobiology) "BY" = ( @@ -13606,12 +13606,12 @@ }, /area/surface/outside/path/plains) "Cx" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, /obj/structure/reagent_dispensers/watertank, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /obj/machinery/light{ dir = 8; icon_state = "tube1" @@ -13709,7 +13709,7 @@ /area/surface/outpost/research/xenoresearch/xenobiology) "CF" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/floor/tiled, /area/surface/outpost/research/xenoresearch/xenoflora) "CG" = ( @@ -13905,7 +13905,7 @@ /turf/simulated/floor/tiled/hydro, /area/surface/outpost/research/xenoresearch/xenoflora) "Di" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -14060,7 +14060,7 @@ /turf/simulated/shuttle/floor/voidcraft/external, /area/surface/outpost/wall) "DN" = ( -/obj/item/weapon/banner/virgov, +/obj/item/banner/virgov, /turf/simulated/shuttle/floor/voidcraft/external, /area/surface/outpost/wall) "DO" = ( @@ -14068,7 +14068,7 @@ /turf/simulated/shuttle/floor/voidcraft/external, /area/surface/outpost/wall) "DP" = ( -/obj/item/weapon/banner/nt, +/obj/item/banner/nt, /turf/simulated/shuttle/floor/voidcraft/external, /area/surface/outpost/wall) "DQ" = ( diff --git a/maps/southern_cross/southern_cross-4.dmm b/maps/southern_cross/southern_cross-4.dmm index 128b6be5584..534eafc4a40 100644 --- a/maps/southern_cross/southern_cross-4.dmm +++ b/maps/southern_cross/southern_cross-4.dmm @@ -155,7 +155,7 @@ /obj/effect/floor_decal/corner/purple{ dir = 5 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -223,7 +223,7 @@ /obj/effect/floor_decal/industrial/warning{ dir = 6 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -438,10 +438,10 @@ /turf/simulated/floor/tiled, /area/surface/outpost/research/xenoarcheology/exp_prep) "bk" = ( -/obj/item/weapon/storage/excavation, -/obj/item/weapon/pickaxe, -/obj/item/weapon/tool/wrench, -/obj/item/device/measuring_tape, +/obj/item/storage/excavation, +/obj/item/pickaxe, +/obj/item/tool/wrench, +/obj/item/measuring_tape, /obj/item/stack/flag/yellow, /obj/structure/table/steel, /turf/simulated/floor/tiled, @@ -829,7 +829,7 @@ /area/surface/outpost/research/xenoarcheology/longtermstorage) "bS" = ( /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -863,10 +863,10 @@ /turf/simulated/floor/tiled, /area/surface/outpost/research/xenoarcheology/exp_prep) "bW" = ( -/obj/item/weapon/storage/excavation, -/obj/item/weapon/pickaxe, -/obj/item/weapon/tool/wrench, -/obj/item/device/measuring_tape, +/obj/item/storage/excavation, +/obj/item/pickaxe, +/obj/item/tool/wrench, +/obj/item/measuring_tape, /obj/item/stack/flag/yellow, /obj/structure/table/steel, /obj/effect/floor_decal/corner/purple{ @@ -895,7 +895,7 @@ dir = 8; health = 1e+006 }, -/obj/item/weapon/storage/belt/archaeology, +/obj/item/storage/belt/archaeology, /obj/item/clothing/suit/space/anomaly, /obj/item/clothing/head/helmet/space/anomaly, /obj/item/clothing/mask/breath, @@ -912,7 +912,7 @@ dir = 4; health = 1e+006 }, -/obj/item/weapon/storage/belt/archaeology, +/obj/item/storage/belt/archaeology, /obj/item/clothing/suit/space/anomaly, /obj/item/clothing/head/helmet/space/anomaly, /obj/item/clothing/mask/breath, @@ -922,7 +922,7 @@ /area/surface/outpost/research/xenoarcheology/exp_prep) "bZ" = ( /obj/structure/table/steel, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, /obj/machinery/power/apc{ dir = 2; name = "south bump"; @@ -933,10 +933,10 @@ pixel_y = -24 }, /obj/structure/cable/blue, -/obj/item/device/suit_cooling_unit, -/obj/item/device/gps/science, -/obj/item/device/gps/science, -/obj/item/device/gps/science, +/obj/item/suit_cooling_unit, +/obj/item/gps/science, +/obj/item/gps/science, +/obj/item/gps/science, /turf/simulated/floor/tiled/dark, /area/surface/outpost/research/xenoarcheology/exp_prep) "ca" = ( @@ -962,7 +962,7 @@ /turf/simulated/floor/tiled/white, /area/surface/outpost/research/xenoarcheology) "cd" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -1158,7 +1158,7 @@ /area/surface/outpost/research/xenoarcheology/isolation_a) "ct" = ( /obj/structure/table/standard, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/reinforced, /area/surface/outpost/research/xenoarcheology/isolation_a) "cu" = ( @@ -1201,8 +1201,8 @@ }, /obj/item/bodybag/cryobag, /obj/item/bodybag/cryobag, -/obj/item/weapon/storage/toolbox/emergency, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/toolbox/emergency, +/obj/item/storage/firstaid/regular, /obj/random/medical/lite, /obj/structure/extinguisher_cabinet{ pixel_x = 28; @@ -1225,7 +1225,7 @@ frequency = 1441; pixel_y = 22 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -1557,7 +1557,7 @@ "dj" = ( /obj/structure/table/standard, /obj/item/clothing/head/welding, -/obj/item/weapon/weldingtool, +/obj/item/weldingtool, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/white, /area/surface/outpost/research/xenoarcheology/anomaly) @@ -1566,7 +1566,7 @@ /area/surface/outpost/research/xenoarcheology/anomaly) "dl" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/dropper{ +/obj/item/reagent_containers/dropper{ pixel_y = -4 }, /obj/machinery/atmospherics/pipe/simple/hidden/yellow, @@ -1761,12 +1761,12 @@ /obj/effect/floor_decal/corner/purple{ dir = 6 }, -/obj/item/weapon/storage/box/glasses/square{ +/obj/item/storage/box/glasses/square{ pixel_x = 1; pixel_y = 4 }, -/obj/item/weapon/storage/box/cups, -/obj/item/weapon/hand_labeler, +/obj/item/storage/box/cups, +/obj/item/hand_labeler, /turf/simulated/floor/tiled/neutral, /area/surface/outpost/research/xenoarcheology) "dB" = ( @@ -1806,12 +1806,12 @@ "dG" = ( /obj/structure/table/standard, /obj/machinery/cell_charger, -/obj/item/weapon/tool/screwdriver{ +/obj/item/tool/screwdriver{ pixel_y = 15 }, -/obj/item/weapon/melee/baton/loaded, +/obj/item/melee/baton/loaded, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/item/device/multitool, +/obj/item/multitool, /turf/simulated/floor/tiled/white, /area/surface/outpost/research/xenoarcheology/anomaly) "dH" = ( @@ -1845,14 +1845,14 @@ icon_state = "warning_dust" }, /obj/machinery/cell_charger, -/obj/item/weapon/cell/high, +/obj/item/cell/high, /turf/simulated/floor/tiled/asteroid_steel, /area/surface/outpost/mining_main/cave) "dK" = ( /obj/machinery/computer/crew{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -1865,8 +1865,8 @@ }, /obj/structure/table/glass, /obj/machinery/recharger, -/obj/item/device/defib_kit/loaded, -/obj/item/device/radio{ +/obj/item/defib_kit/loaded, +/obj/item/radio{ frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link" @@ -1879,19 +1879,19 @@ /area/surface/outpost/research/xenoarcheology/medical) "dM" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/firstaid/toxin{ +/obj/item/storage/firstaid/toxin{ pixel_x = 5; pixel_y = 5 }, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/fire{ pixel_x = 0; pixel_y = 0 }, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ pixel_x = 5; pixel_y = 5 }, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ pixel_x = 0; pixel_y = 0 }, @@ -1928,15 +1928,15 @@ /obj/effect/floor_decal/corner/purple{ dir = 6 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -2; pixel_y = 5 }, -/obj/item/weapon/clipboard, -/obj/item/weapon/pen, -/obj/item/device/taperecorder, -/obj/item/weapon/folder, -/obj/item/weapon/stamp, +/obj/item/clipboard, +/obj/item/pen, +/obj/item/taperecorder, +/obj/item/folder, +/obj/item/stamp, /turf/simulated/floor/tiled/neutral, /area/surface/outpost/research/xenoarcheology) "dR" = ( @@ -1963,7 +1963,7 @@ /area/surface/outpost/research/xenoarcheology) "dU" = ( /obj/structure/table/reinforced, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /obj/structure/window/reinforced{ dir = 1 }, @@ -1985,7 +1985,7 @@ dir = 1; icon_state = "warning_dust" }, -/obj/item/weapon/cell/high, +/obj/item/cell/high, /turf/simulated/floor/tiled/asteroid_steel, /area/surface/outpost/mining_main/cave) "dW" = ( @@ -2094,7 +2094,7 @@ /turf/simulated/shuttle/floor/voidcraft/external, /area/surface/outpost/wall/checkpoint) "ei" = ( -/obj/item/weapon/banner/nt, +/obj/item/banner/nt, /turf/simulated/mineral/floor/ignore_mapgen/sif, /area/surface/cave/explored/normal) "ej" = ( @@ -2126,13 +2126,13 @@ dir = 4 }, /obj/effect/floor_decal/industrial/warning, -/obj/item/device/camera_film{ +/obj/item/camera_film{ pixel_x = 2; pixel_y = 2 }, -/obj/item/device/camera, +/obj/item/camera, /obj/machinery/recharger, -/obj/item/weapon/tape_roll, +/obj/item/tape_roll, /obj/machinery/firealarm{ dir = 4; pixel_x = 24 @@ -2236,9 +2236,9 @@ /area/surface/cave/explored/deep) "ey" = ( /obj/structure/table/steel, -/obj/item/weapon/tool/screwdriver, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/wrench, +/obj/item/tool/screwdriver, +/obj/item/tool/crowbar, +/obj/item/tool/wrench, /obj/effect/floor_decal/industrial/warning/dust{ dir = 1; icon_state = "warning_dust" @@ -2304,8 +2304,8 @@ /area/surface/outpost/research/xenoarcheology) "eG" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin, -/obj/item/device/camera, +/obj/item/paper_bin, +/obj/item/camera, /obj/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 @@ -2318,15 +2318,15 @@ /area/surface/outpost/research/xenoarcheology/anomaly) "eH" = ( /obj/structure/table/reinforced, -/obj/item/weapon/folder, -/obj/item/weapon/pen, -/obj/item/weapon/tape_roll, +/obj/item/folder, +/obj/item/pen, +/obj/item/tape_roll, /obj/structure/window/reinforced, /obj/effect/floor_decal/industrial/warning, /obj/machinery/atmospherics/pipe/simple/hidden/universal{ dir = 4 }, -/obj/item/device/geiger, +/obj/item/geiger, /turf/simulated/floor/tiled, /area/surface/outpost/research/xenoarcheology/anomaly) "eI" = ( @@ -2568,19 +2568,19 @@ /turf/simulated/floor/bluegrid, /area/surface/outpost/research/xenoarcheology/anomaly) "fe" = ( -/obj/item/weapon/anobattery{ +/obj/item/anobattery{ pixel_x = -6; pixel_y = 2 }, -/obj/item/weapon/anobattery{ +/obj/item/anobattery{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/anobattery{ +/obj/item/anobattery{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/anobattery{ +/obj/item/anobattery{ pixel_x = 6; pixel_y = 6 }, @@ -2588,11 +2588,11 @@ /turf/simulated/floor/tiled/white, /area/surface/outpost/research/xenoarcheology/anomaly) "ff" = ( -/obj/item/weapon/anodevice{ +/obj/item/anodevice{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/anodevice, +/obj/item/anodevice, /obj/structure/table/steel, /turf/simulated/floor/tiled/white, /area/surface/outpost/research/xenoarcheology/anomaly) @@ -2632,7 +2632,7 @@ /obj/effect/floor_decal/industrial/warning{ dir = 10 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -3043,7 +3043,7 @@ icon_state = "4-8" }, /obj/structure/table/steel, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /obj/structure/extinguisher_cabinet{ pixel_y = 30 }, @@ -3138,7 +3138,7 @@ c_tag = "OPR - Anomalous Materials 1"; dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -3471,15 +3471,15 @@ /area/surface/outpost/research/xenoarcheology/restroom) "gV" = ( /obj/structure/table/standard, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#800080"; name = "purple towel" }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#800080"; name = "purple towel" }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#800080"; name = "purple towel" }, @@ -3491,8 +3491,8 @@ /turf/simulated/floor/tiled/freezer, /area/surface/outpost/research/xenoarcheology/restroom) "gW" = ( -/obj/item/weapon/reagent_containers/glass/bottle/toxin, -/obj/item/weapon/reagent_containers/glass/beaker/sulphuric{ +/obj/item/reagent_containers/glass/bottle/toxin, +/obj/item/reagent_containers/glass/beaker/sulphuric{ name = "beaker 'sulphuric acid'" }, /obj/structure/table/glass, @@ -3761,7 +3761,7 @@ /turf/simulated/floor/plating, /area/surface/outpost/research/xenoarcheology/emergencystorage) "hx" = ( -/obj/item/weapon/weldpack, +/obj/item/weldpack, /obj/machinery/light/small{ dir = 4 }, @@ -3771,7 +3771,7 @@ /obj/structure/closet/toolcloset, /obj/random/maintenance/clean, /obj/random/maintenance/clean, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -3789,7 +3789,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/universal{ dir = 4 }, -/obj/item/weapon/storage/box/monkeycubes, +/obj/item/storage/box/monkeycubes, /turf/simulated/floor/tiled, /area/surface/outpost/research/xenoarcheology/anomaly) "hA" = ( @@ -3858,7 +3858,7 @@ /turf/simulated/floor/tiled/white, /area/surface/outpost/research/xenoarcheology/analysis) "hI" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, @@ -3960,7 +3960,7 @@ pixel_x = 0; pixel_y = -24 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -3969,8 +3969,8 @@ /turf/simulated/floor/tiled/white, /area/surface/outpost/research/xenoarcheology/analysis) "hW" = ( -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/dropper{ +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/dropper{ pixel_y = -4 }, /obj/structure/table/glass, @@ -3982,7 +3982,7 @@ /area/surface/outpost/research/xenoarcheology/analysis) "hX" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/beakers{ +/obj/item/storage/box/beakers{ pixel_x = 2; pixel_y = 2 }, @@ -4007,7 +4007,7 @@ /obj/item/stack/nanopaste, /obj/item/stack/nanopaste, /obj/item/stack/nanopaste, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /obj/structure/closet/crate/secure/science{ req_access = list(65) }, @@ -4027,12 +4027,12 @@ /area/surface/outpost/research/xenoarcheology/analysis) "ic" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, /obj/item/clothing/accessory/armband/science, /obj/item/clothing/glasses/science, -/obj/item/device/suit_cooling_unit, -/obj/item/weapon/extinguisher, -/obj/item/device/flashlight, +/obj/item/suit_cooling_unit, +/obj/item/extinguisher, +/obj/item/flashlight, /turf/simulated/floor/plating, /area/surface/outpost/research/xenoarcheology/emergencystorage) "id" = ( @@ -4058,8 +4058,8 @@ /area/surface/cave/explored/normal) "ih" = ( /obj/structure/table/standard, -/obj/item/weapon/flame/lighter/random, -/obj/item/weapon/tool/crowbar, +/obj/item/flame/lighter/random, +/obj/item/tool/crowbar, /obj/machinery/atmospherics/pipe/manifold/hidden/yellow{ dir = 8 }, @@ -4102,7 +4102,7 @@ /turf/simulated/floor/tiled/asteroid_steel, /area/surface/outpost/mining_main/cave) "in" = ( -/obj/item/weapon/banner/nt, +/obj/item/banner/nt, /turf/simulated/shuttle/floor/voidcraft/external, /area/surface/cave/explored/deep) "io" = ( @@ -4113,7 +4113,7 @@ /turf/simulated/floor/plating, /area/surface/outpost/research/xenoarcheology/smes) "ip" = ( -/obj/item/weapon/banner/virgov, +/obj/item/banner/virgov, /turf/simulated/shuttle/floor/voidcraft/external, /area/surface/cave/explored/deep) "iq" = ( diff --git a/maps/southern_cross/southern_cross-5.dmm b/maps/southern_cross/southern_cross-5.dmm index 11bfad0b0f6..5f88b256b9b 100644 --- a/maps/southern_cross/southern_cross-5.dmm +++ b/maps/southern_cross/southern_cross-5.dmm @@ -5,10 +5,10 @@ "ae" = (/obj/machinery/sleep_console,/turf/simulated/shuttle/floor/white,/area/derelict/ship) "af" = (/obj/structure/shuttle/engine/propulsion{icon_state = "burst_r"; dir = 4},/turf/space,/area/derelict/ship) "ag" = (/obj/machinery/computer/med_data,/turf/simulated/shuttle/floor/white,/area/derelict/ship) -"ah" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/regular{pixel_x = 6; pixel_y = -5},/turf/simulated/shuttle/floor/white,/area/derelict/ship) +"ah" = (/obj/structure/table/standard,/obj/item/storage/firstaid/regular{pixel_x = 6; pixel_y = -5},/turf/simulated/shuttle/floor/white,/area/derelict/ship) "ai" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless,/area/derelict/ship) "aj" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 4},/turf/space,/area/derelict/ship) -"ak" = (/obj/item/weapon/surgical/scalpel,/turf/simulated/shuttle/floor/white,/area/derelict/ship) +"ak" = (/obj/item/surgical/scalpel,/turf/simulated/shuttle/floor/white,/area/derelict/ship) "al" = (/turf/simulated/shuttle/plating,/area/derelict/ship) "am" = (/obj/structure/frame/computer,/turf/simulated/shuttle/floor/white,/area/derelict/ship) "an" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/derelict/ship) @@ -17,8 +17,8 @@ "aq" = (/obj/machinery/door/airlock/glass{name = "Hibernation Pods"},/turf/simulated/shuttle/floor/white,/area/derelict/ship) "ar" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/shuttle/floor/white,/area/derelict/ship) "as" = (/obj/structure/table/standard,/turf/simulated/shuttle/floor/white,/area/derelict/ship) -"at" = (/obj/item/device/multitool,/turf/simulated/shuttle/floor/white,/area/derelict/ship) -"au" = (/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/turf/simulated/shuttle/floor/white,/area/derelict/ship) +"at" = (/obj/item/multitool,/turf/simulated/shuttle/floor/white,/area/derelict/ship) +"au" = (/obj/item/cell{charge = 100; maxcharge = 15000},/turf/simulated/shuttle/floor/white,/area/derelict/ship) "av" = (/obj/machinery/door/airlock/glass,/turf/simulated/shuttle/plating,/area/derelict/ship) "aw" = (/obj/structure/shuttle/engine/propulsion{ icon_state = "burst_l"; dir = 4},/turf/space,/area/derelict/ship) "ax" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced/full,/turf/simulated/shuttle/plating,/area/derelict/ship) @@ -27,101 +27,101 @@ "aA" = (/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/shuttle/floor/white,/area/derelict/ship) "aB" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/shuttle/floor/white,/area/derelict/ship) "aC" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced/full,/turf/simulated/shuttle/plating,/area/derelict/ship) -"aD" = (/obj/item/weapon/bedsheet,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/bed/padded,/turf/simulated/shuttle/floor/white,/area/derelict/ship) +"aD" = (/obj/item/bedsheet,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/bed/padded,/turf/simulated/shuttle/floor/white,/area/derelict/ship) "aE" = (/obj/machinery/door/window,/turf/simulated/shuttle/floor/white,/area/derelict/ship) "aF" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/shuttle/floor/white,/area/derelict/ship) "aG" = (/obj/structure/lattice,/turf/space,/area/space) -"aH" = (/obj/structure/table/standard,/obj/item/weapon/gun/energy/retro,/turf/simulated/shuttle/floor/white,/area/derelict/ship) +"aH" = (/obj/structure/table/standard,/obj/item/gun/energy/retro,/turf/simulated/shuttle/floor/white,/area/derelict/ship) "aI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating,/area/derelict/ship) "aJ" = (/obj/machinery/light/small{dir = 8},/turf/simulated/shuttle/floor/white,/area/derelict/ship) -"aK" = (/obj/structure/table/standard,/obj/item/weapon/tank/oxygen,/turf/simulated/shuttle/floor/white,/area/derelict/ship) +"aK" = (/obj/structure/table/standard,/obj/item/tank/oxygen,/turf/simulated/shuttle/floor/white,/area/derelict/ship) "aL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/derelict/ship) "aM" = (/obj/machinery/light{dir = 1},/turf/simulated/shuttle/floor/white,/area/derelict/ship) -"aN" = (/obj/structure/table/standard,/obj/item/device/analyzer,/turf/simulated/shuttle/floor/white,/area/derelict/ship) +"aN" = (/obj/structure/table/standard,/obj/item/analyzer,/turf/simulated/shuttle/floor/white,/area/derelict/ship) "aO" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/shuttle/floor/white,/area/derelict/ship) -"aP" = (/obj/structure/table/standard,/obj/item/weapon/tool/screwdriver,/obj/machinery/light,/turf/simulated/shuttle/floor/white,/area/derelict/ship) +"aP" = (/obj/structure/table/standard,/obj/item/tool/screwdriver,/obj/machinery/light,/turf/simulated/shuttle/floor/white,/area/derelict/ship) "aS" = (/obj/machinery/door/window/northright,/turf/simulated/shuttle/floor/white,/area/derelict/ship) -"aT" = (/obj/item/weapon/bedsheet,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/bed/padded,/turf/simulated/shuttle/floor/white,/area/derelict/ship) +"aT" = (/obj/item/bedsheet,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/bed/padded,/turf/simulated/shuttle/floor/white,/area/derelict/ship) "aU" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/shuttle/floor/white,/area/derelict/ship) "aW" = (/obj/structure/table,/turf/simulated/shuttle/floor/white,/area/derelict/ship) "aX" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced/full,/turf/simulated/shuttle/plating,/area/derelict/ship) "aY" = (/obj/machinery/light_switch{pixel_x = 27},/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor/white,/area/derelict/ship) -"aZ" = (/obj/item/weapon/material/shard{icon_state = "medium"},/turf/simulated/shuttle/floor/white,/area/derelict/ship) -"ba" = (/obj/item/weapon/material/shard,/obj/structure/bed/chair,/turf/simulated/shuttle/floor/white,/area/derelict/ship) +"aZ" = (/obj/item/material/shard{icon_state = "medium"},/turf/simulated/shuttle/floor/white,/area/derelict/ship) +"ba" = (/obj/item/material/shard,/obj/structure/bed/chair,/turf/simulated/shuttle/floor/white,/area/derelict/ship) "bb" = (/obj/structure/bed/chair,/turf/simulated/shuttle/floor/white,/area/derelict/ship) "bc" = (/obj/structure/cable,/obj/structure/frame/computer,/turf/simulated/shuttle/floor/white,/area/derelict/ship) "bd" = (/obj/structure/cable,/obj/structure/frame/computer,/obj/item/stack/cable_coil/cut,/turf/simulated/shuttle/floor/white,/area/derelict/ship) -"be" = (/obj/structure/table/rack,/obj/item/weapon/tank/emergency/oxygen,/obj/item/weapon/tank/emergency/oxygen,/obj/item/weapon/tank/emergency/oxygen,/obj/item/weapon/tank/emergency/oxygen,/turf/simulated/shuttle/floor/white,/area/derelict/ship) +"be" = (/obj/structure/table/rack,/obj/item/tank/emergency/oxygen,/obj/item/tank/emergency/oxygen,/obj/item/tank/emergency/oxygen,/obj/item/tank/emergency/oxygen,/turf/simulated/shuttle/floor/white,/area/derelict/ship) "bf" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/syndicate,/obj/item/clothing/head/helmet/space/syndicate,/obj/item/clothing/mask/breath,/turf/simulated/shuttle/floor/white,/area/derelict/ship) -"bg" = (/obj/structure/table/rack,/obj/item/weapon/storage/toolbox/syndicate,/turf/simulated/shuttle/floor/white,/area/derelict/ship) +"bg" = (/obj/structure/table/rack,/obj/item/storage/toolbox/syndicate,/turf/simulated/shuttle/floor/white,/area/derelict/ship) "bh" = (/obj/machinery/power/apc{dir = 8; name = "west bump-derelict"; operating = 0; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/shuttle/floor/white,/area/derelict/ship) "bi" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/shuttle/floor/white,/area/derelict/ship) "bj" = (/obj/machinery/door/blast/regular{id = "oldship_gun"; name = "Pod Bay Door"},/turf/simulated/shuttle/plating,/area/derelict/ship) "bk" = (/obj/machinery/mass_driver{dir = 8; icon_state = "mass_driver"; id = "oldship_gun"},/turf/simulated/shuttle/plating,/area/derelict/ship) "bl" = (/obj/machinery/door/airlock/glass{name = "Pod Bay"},/turf/simulated/shuttle/floor/white,/area/derelict/ship) "bm" = (/obj/machinery/computer/pod{id = "oldship_gun"},/turf/simulated/shuttle/floor/white,/area/derelict/ship) -"bo" = (/obj/structure/table/standard,/obj/item/device/radio/off,/turf/simulated/shuttle/floor/white,/area/derelict/ship) +"bo" = (/obj/structure/table/standard,/obj/item/radio/off,/turf/simulated/shuttle/floor/white,/area/derelict/ship) "bp" = (/turf/simulated/mineral/vacuum,/area/mine/unexplored) "bq" = (/turf/simulated/mineral/floor/ignore_mapgen/vacuum,/area/mine/explored) -"br" = (/obj/item/weapon/ore,/turf/simulated/mineral/floor/ignore_mapgen/vacuum,/area/mine/explored) +"br" = (/obj/item/ore,/turf/simulated/mineral/floor/ignore_mapgen/vacuum,/area/mine/explored) "bs" = (/obj/structure/girder,/turf/simulated/floor/airless,/area/wreck/ufoship) "bt" = (/turf/simulated/wall/skipjack,/area/wreck/ufoship) "bu" = (/turf/simulated/floor/airless,/area/wreck/ufoship) "bv" = (/obj/effect/floor_decal/asteroid,/turf/simulated/mineral/floor/ignore_mapgen/vacuum,/area/mine/explored) "bw" = (/obj/item/stack/rods,/turf/simulated/floor/airless,/area/wreck/ufoship) "bx" = (/obj/item/stack/material/steel,/turf/simulated/floor/airless,/area/wreck/ufoship) -"by" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/stack/rods,/turf/simulated/floor/airless,/area/wreck/ufoship) -"bz" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/surgical/scalpel/laser3,/turf/simulated/floor/tiled/airless,/area/wreck/ufoship) +"by" = (/obj/structure/table/steel_reinforced,/obj/item/reagent_containers/syringe/antiviral,/obj/item/stack/rods,/turf/simulated/floor/airless,/area/wreck/ufoship) +"bz" = (/obj/structure/table/steel_reinforced,/obj/item/surgical/scalpel/laser3,/turf/simulated/floor/tiled/airless,/area/wreck/ufoship) "bA" = (/obj/structure/frame/computer,/turf/simulated/floor/tiled/airless,/area/wreck/ufoship) "bB" = (/obj/structure/table/steel_reinforced,/turf/simulated/floor/tiled/airless,/area/wreck/ufoship) "bC" = (/obj/structure/table/steel_reinforced,/turf/simulated/floor/airless,/area/wreck/ufoship) "bD" = (/obj/effect/decal/mecha_wreckage/phazon,/turf/simulated/floor/airless,/area/wreck/ufoship) -"bE" = (/obj/item/weapon/ore,/turf/simulated/floor/airless,/area/wreck/ufoship) +"bE" = (/obj/item/ore,/turf/simulated/floor/airless,/area/wreck/ufoship) "bF" = (/obj/machinery/door/airlock/hatch,/turf/simulated/floor/airless,/area/wreck/ufoship) -"bG" = (/obj/item/weapon/surgical/circular_saw,/turf/simulated/floor/tiled/airless,/area/wreck/ufoship) +"bG" = (/obj/item/surgical/circular_saw,/turf/simulated/floor/tiled/airless,/area/wreck/ufoship) "bH" = (/turf/simulated/floor/tiled/white/airless,/area/wreck/ufoship) "bI" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor/tiled/white/airless,/area/wreck/ufoship) "bJ" = (/turf/simulated/floor/tiled/airless,/area/wreck/ufoship) "bK" = (/obj/effect/floor_decal/asteroid,/obj/effect/decal/cleanable/molten_item,/turf/simulated/mineral/floor/ignore_mapgen/vacuum,/area/mine/explored) "bL" = (/obj/effect/decal/mecha_wreckage/gygax/dark,/turf/simulated/floor/airless,/area/wreck/ufoship) -"bM" = (/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/airless,/area/wreck/ufoship) +"bM" = (/obj/item/storage/toolbox/mechanical,/turf/simulated/floor/airless,/area/wreck/ufoship) "bN" = (/obj/structure/table/rack,/turf/simulated/floor/airless,/area/wreck/ufoship) "bO" = (/obj/structure/table/rack,/obj/item/stack/cable_coil/yellow,/turf/simulated/floor/airless,/area/wreck/ufoship) "bP" = (/obj/effect/decal/cleanable/blood/gibs/robot/down,/turf/simulated/floor/airless,/area/wreck/ufoship) "bQ" = (/obj/machinery/optable,/obj/effect/decal/remains/xeno,/obj/effect/decal/cleanable/blood/xeno,/turf/simulated/floor/tiled/white/airless,/area/wreck/ufoship) -"bR" = (/obj/item/weapon/material/shard/shrapnel,/turf/simulated/floor/airless,/area/wreck/ufoship) +"bR" = (/obj/item/material/shard/shrapnel,/turf/simulated/floor/airless,/area/wreck/ufoship) "bS" = (/obj/structure/table/rack,/turf/simulated/floor/tiled/airless,/area/wreck/ufoship) "bT" = (/obj/effect/decal/cleanable/blood/xeno,/turf/simulated/floor/tiled/white/airless,/area/wreck/ufoship) -"bU" = (/obj/item/weapon/ore,/obj/item/stack/rods,/turf/simulated/floor/airless,/area/wreck/ufoship) +"bU" = (/obj/item/ore,/obj/item/stack/rods,/turf/simulated/floor/airless,/area/wreck/ufoship) "bV" = (/obj/machinery/door/airlock/hatch,/turf/simulated/floor/tiled/white/airless,/area/wreck/ufoship) "bW" = (/obj/effect/overlay/wallrot,/turf/simulated/wall/skipjack,/area/wreck/ufoship) "bX" = (/obj/structure/window/phoronreinforced,/turf/simulated/floor/tiled/airless,/area/wreck/ufoship) -"bY" = (/obj/item/device/flashlight/flare,/turf/simulated/floor/tiled/airless,/area/wreck/ufoship) -"bZ" = (/obj/item/stack/material/wood,/obj/item/stack/material/wood,/obj/structure/ore_box,/obj/item/weapon/ore/iron,/obj/item/weapon/ore/iron,/obj/item/weapon/ore/iron,/turf/simulated/floor/airless,/area/wreck/ufoship) +"bY" = (/obj/item/flashlight/flare,/turf/simulated/floor/tiled/airless,/area/wreck/ufoship) +"bZ" = (/obj/item/stack/material/wood,/obj/item/stack/material/wood,/obj/structure/ore_box,/obj/item/ore/iron,/obj/item/ore/iron,/obj/item/ore/iron,/turf/simulated/floor/airless,/area/wreck/ufoship) "ca" = (/obj/item/clothing/head/helmet/space/deathsquad,/obj/structure/table/rack,/obj/effect/decal/cleanable/molten_item,/turf/simulated/floor/tiled/airless,/area/wreck/ufoship) "cb" = (/obj/machinery/compressor{dir = 4},/obj/structure/window/phoronreinforced,/obj/structure/window/phoronreinforced{ icon_state = "phoronrwindow"; dir = 8},/obj/structure/window/phoronreinforced{ icon_state = "phoronrwindow"; dir = 1},/turf/simulated/floor/reinforced/phoron,/area/wreck/ufoship) "cc" = (/obj/machinery/crystal,/obj/structure/window/phoronreinforced{ icon_state = "phoronrwindow"; dir = 1},/obj/structure/window/phoronreinforced{ icon_state = "phoronrwindow"; dir = 4},/obj/structure/window/phoronreinforced,/obj/effect/decal/cleanable/liquid_fuel/flamethrower_fuel,/turf/simulated/floor/reinforced/phoron,/area/wreck/ufoship) -"cd" = (/obj/item/device/gps,/turf/simulated/floor/tiled/airless,/area/wreck/ufoship) +"cd" = (/obj/item/gps,/turf/simulated/floor/tiled/airless,/area/wreck/ufoship) "ce" = (/obj/structure/ore_box,/turf/simulated/floor/airless,/area/wreck/ufoship) -"cf" = (/obj/item/weapon/circuitboard/broken,/turf/simulated/floor/tiled/airless,/area/wreck/ufoship) +"cf" = (/obj/item/circuitboard/broken,/turf/simulated/floor/tiled/airless,/area/wreck/ufoship) "cg" = (/obj/structure/closet/acloset,/turf/simulated/floor/tiled/airless,/area/wreck/ufoship) -"ch" = (/obj/item/weapon/ore,/turf/simulated/floor/tiled/white/airless,/area/wreck/ufoship) +"ch" = (/obj/item/ore,/turf/simulated/floor/tiled/white/airless,/area/wreck/ufoship) "ci" = (/obj/item/clothing/under/color/pink,/obj/structure/table/steel_reinforced,/turf/simulated/floor/tiled/white/airless,/area/wreck/ufoship) "cj" = (/obj/structure/bed,/turf/simulated/floor/tiled/white/airless,/area/wreck/ufoship) "ck" = (/obj/effect/wingrille_spawn/phoron,/turf/simulated/floor/tiled/airless,/area/wreck/ufoship) -"cl" = (/obj/structure/table/rack,/obj/item/weapon/tank/jetpack/void,/obj/item/clothing/suit/space/syndicate/green,/obj/item/clothing/head/helmet/space/syndicate/green,/turf/simulated/floor/tiled/airless,/area/wreck/ufoship) -"cm" = (/obj/structure/table/rack,/obj/item/weapon/material/shard/shrapnel,/turf/simulated/floor/tiled/airless,/area/wreck/ufoship) +"cl" = (/obj/structure/table/rack,/obj/item/tank/jetpack/void,/obj/item/clothing/suit/space/syndicate/green,/obj/item/clothing/head/helmet/space/syndicate/green,/turf/simulated/floor/tiled/airless,/area/wreck/ufoship) +"cm" = (/obj/structure/table/rack,/obj/item/material/shard/shrapnel,/turf/simulated/floor/tiled/airless,/area/wreck/ufoship) "cn" = (/obj/item/broken_device,/obj/structure/bed/chair{dir = 8},/obj/effect/decal/remains/robot,/turf/simulated/floor/tiled/airless,/area/wreck/ufoship) "co" = (/obj/effect/decal/cleanable/blood/oil/streak,/turf/simulated/floor/tiled/airless,/area/wreck/ufoship) -"cp" = (/obj/item/weapon/tank/oxygen/yellow,/turf/simulated/floor/tiled/airless,/area/wreck/ufoship) +"cp" = (/obj/item/tank/oxygen/yellow,/turf/simulated/floor/tiled/airless,/area/wreck/ufoship) "cq" = (/obj/effect/decal/cleanable/blood/gibs/robot/down,/turf/simulated/floor/tiled/airless,/area/wreck/ufoship) "cr" = (/obj/effect/decal/remains/human,/turf/simulated/floor/tiled/airless,/area/wreck/ufoship) "cs" = (/obj/structure/bed/chair/comfy/brown{dir = 8},/turf/simulated/floor/tiled/airless,/area/wreck/ufoship) "ct" = (/obj/effect/decal/cleanable/vomit,/turf/simulated/floor/tiled/airless,/area/wreck/ufoship) "cu" = (/obj/structure/AIcore,/turf/simulated/floor/tiled/airless,/area/wreck/ufoship) -"cv" = (/obj/item/frame/apc,/obj/item/weapon/module/power_control,/obj/item/weapon/material/shard/shrapnel,/turf/simulated/floor/tiled/white/airless,/area/wreck/ufoship) +"cv" = (/obj/item/frame/apc,/obj/item/module/power_control,/obj/item/material/shard/shrapnel,/turf/simulated/floor/tiled/white/airless,/area/wreck/ufoship) "cw" = (/turf/simulated/wall/r_wall,/area/wreck/ufoship) -"cx" = (/obj/item/device/flashlight/glowstick,/turf/simulated/floor/tiled/airless,/area/wreck/ufoship) +"cx" = (/obj/item/flashlight/glowstick,/turf/simulated/floor/tiled/airless,/area/wreck/ufoship) "cy" = (/obj/machinery/door/airlock/hatch,/turf/simulated/floor/tiled/airless,/area/wreck/ufoship) "cz" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/tiled/airless,/area/wreck/ufoship) "cA" = (/obj/item/robot_parts/head,/turf/simulated/floor/tiled/airless,/area/wreck/ufoship) @@ -134,19 +134,19 @@ "cH" = (/obj/item/stack/cable_coil/yellow,/turf/simulated/floor/airless,/area/wreck/ufoship) "cI" = (/obj/machinery/compressor{dir = 4},/obj/structure/window/phoronreinforced{ icon_state = "phoronrwindow"; dir = 8},/obj/structure/window/phoronreinforced,/obj/structure/window/phoronreinforced{ icon_state = "phoronrwindow"; dir = 1},/turf/simulated/floor/reinforced/phoron,/area/wreck/ufoship) "cJ" = (/obj/machinery/crystal,/obj/structure/window/phoronreinforced,/obj/structure/window/phoronreinforced{ icon_state = "phoronrwindow"; dir = 4},/obj/structure/window/phoronreinforced{ icon_state = "phoronrwindow"; dir = 1},/obj/effect/decal/cleanable/liquid_fuel/flamethrower_fuel,/turf/simulated/floor/reinforced/phoron,/area/wreck/ufoship) -"cK" = (/obj/item/weapon/cell/super,/turf/simulated/floor/tiled/airless,/area/wreck/ufoship) +"cK" = (/obj/item/cell/super,/turf/simulated/floor/tiled/airless,/area/wreck/ufoship) "cL" = (/obj/structure/largecrate,/turf/simulated/floor/airless,/area/wreck/ufoship) "cM" = (/obj/effect/decal/cleanable/molten_item,/turf/simulated/floor/airless,/area/wreck/ufoship) "cN" = (/obj/structure/window/phoronreinforced{ icon_state = "phoronrwindow"; dir = 1},/turf/simulated/floor/tiled/airless,/area/wreck/ufoship) "cO" = (/obj/item/stack/material/steel,/obj/item/stack/material/steel,/turf/simulated/floor/tiled/airless,/area/wreck/ufoship) "cP" = (/obj/structure/table/rack,/obj/item/clothing/glasses/welding,/turf/simulated/floor/tiled/airless,/area/wreck/ufoship) -"cQ" = (/obj/effect/decal/mecha_wreckage/mauler,/obj/item/weapon/material/shard/shrapnel,/turf/simulated/floor/airless,/area/wreck/ufoship) +"cQ" = (/obj/effect/decal/mecha_wreckage/mauler,/obj/item/material/shard/shrapnel,/turf/simulated/floor/airless,/area/wreck/ufoship) "cR" = (/obj/item/stack/material/steel,/obj/item/stack/rods,/turf/simulated/floor/airless,/area/wreck/ufoship) -"cS" = (/obj/structure/table/rack,/obj/item/weapon/storage/toolbox/syndicate,/turf/simulated/floor/airless,/area/wreck/ufoship) -"cT" = (/obj/item/weapon/circuitboard/teleporter,/turf/simulated/floor/tiled/white/airless,/area/wreck/ufoship) +"cS" = (/obj/structure/table/rack,/obj/item/storage/toolbox/syndicate,/turf/simulated/floor/airless,/area/wreck/ufoship) +"cT" = (/obj/item/circuitboard/teleporter,/turf/simulated/floor/tiled/white/airless,/area/wreck/ufoship) "cU" = (/obj/machinery/teleport/station,/turf/simulated/floor/tiled/airless,/area/wreck/ufoship) "cV" = (/obj/machinery/teleport/hub,/turf/simulated/floor/tiled/airless,/area/wreck/ufoship) -"cW" = (/obj/item/weapon/ore,/turf/space,/area/space) +"cW" = (/obj/item/ore,/turf/space,/area/space) "cX" = (/turf/simulated/shuttle/wall,/area/wreck/supplyshuttle) "cY" = (/turf/simulated/floor/airless,/area/wreck/supplyshuttle) "cZ" = (/obj/structure/largecrate/hoverpod,/turf/simulated/floor/airless,/area/wreck/supplyshuttle) diff --git a/maps/southern_cross/southern_cross-6.dmm b/maps/southern_cross/southern_cross-6.dmm index ae4e53390c2..e2314b6e01f 100644 --- a/maps/southern_cross/southern_cross-6.dmm +++ b/maps/southern_cross/southern_cross-6.dmm @@ -152,7 +152,7 @@ "cV" = (/obj/effect/floor_decal/spline/plain{dir = 4},/turf/simulated/floor/holofloor/lino,/area/holodeck/source_meetinghall) "cW" = (/turf/simulated/floor/holofloor/lino,/area/holodeck/source_meetinghall) "cX" = (/obj/effect/floor_decal/carpet{dir = 5},/obj/effect/floor_decal/carpet{dir = 6},/obj/effect/floor_decal/carpet{dir = 9},/obj/effect/floor_decal/carpet{dir = 10},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_meetinghall) -"cY" = (/obj/item/weapon/beach_ball,/turf/simulated/floor/holofloor/beach/sand,/area/holodeck/source_beach) +"cY" = (/obj/item/beach_ball,/turf/simulated/floor/holofloor/beach/sand,/area/holodeck/source_beach) "cZ" = (/obj/structure/window/reinforced/holowindow{dir = 4},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_boxingcourt) "da" = (/obj/effect/floor_decal/corner/red/full{dir = 8},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_boxingcourt) "db" = (/obj/effect/floor_decal/corner/red{dir = 5},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_boxingcourt) @@ -160,13 +160,13 @@ "dd" = (/obj/structure/window/reinforced/holowindow{dir = 8},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_boxingcourt) "de" = (/obj/structure/flora/grass/green,/turf/simulated/floor/holofloor/snow,/area/holodeck/source_snowfield) "df" = (/obj/structure/table/holotable,/obj/machinery/readybutton{pixel_y = 0},/obj/effect/floor_decal/corner/green/full{dir = 8},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt) -"dg" = (/obj/structure/table/holotable,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/under/color/green,/obj/item/clothing/suit/armor/tdome/green,/obj/item/weapon/holo/esword/green,/obj/effect/floor_decal/corner/green{dir = 5},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt) +"dg" = (/obj/structure/table/holotable,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/under/color/green,/obj/item/clothing/suit/armor/tdome/green,/obj/item/holo/esword/green,/obj/effect/floor_decal/corner/green{dir = 5},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt) "dh" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 5},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_meetinghall) "di" = (/obj/effect/floor_decal/corner/red/full,/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball) "dj" = (/obj/effect/floor_decal/corner/red{dir = 10},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball) "dk" = (/obj/effect/floor_decal/spline/plain{dir = 1},/turf/simulated/floor/holofloor/lino,/area/holodeck/source_meetinghall) "dl" = (/obj/effect/floor_decal/corner/red/full{dir = 4},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball) -"dm" = (/obj/item/weapon/inflatable_duck,/turf/simulated/floor/holofloor/beach/sand,/area/holodeck/source_beach) +"dm" = (/obj/item/inflatable_duck,/turf/simulated/floor/holofloor/beach/sand,/area/holodeck/source_beach) "dn" = (/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_meetinghall) "do" = (/obj/effect/floor_decal/spline/plain{dir = 5},/turf/simulated/floor/holofloor/lino,/area/holodeck/source_meetinghall) "dp" = (/obj/effect/floor_decal/corner/green{dir = 9},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt) @@ -204,7 +204,7 @@ "dV" = (/obj/effect/floor_decal/corner/green/full{dir = 4},/obj/structure/window/reinforced/holowindow/disappearing,/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt) "dW" = (/turf/simulated/floor/holofloor/beach/water,/area/holodeck/source_beach) "dX" = (/obj/effect/floor_decal/corner/green/full,/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball) -"dY" = (/obj/item/weapon/beach_ball/holoball,/obj/effect/floor_decal/corner/red{dir = 5},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball) +"dY" = (/obj/item/beach_ball/holoball,/obj/effect/floor_decal/corner/red{dir = 5},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball) "dZ" = (/obj/effect/floor_decal/corner/green/full{dir = 4},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball) "ea" = (/obj/effect/floor_decal/corner/green/full{dir = 1},/obj/structure/table/holotable,/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt) "eb" = (/obj/effect/floor_decal/corner/red/full{dir = 8},/obj/structure/window/reinforced/holowindow/disappearing{dir = 1},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt) @@ -216,51 +216,51 @@ "eh" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "ASSAULT"; name = "Assault Weapon Storage"; p_open = 0},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "ei" = (/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "ej" = (/obj/structure/table/rack,/obj/item/ammo_magazine/m762,/obj/item/ammo_magazine/m762,/obj/item/ammo_magazine/m762,/obj/item/ammo_magazine/m762,/obj/item/ammo_magazine/m762,/obj/item/ammo_magazine/m762,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"ek" = (/obj/structure/table/rack,/obj/item/weapon/gun/launcher/rocket,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"el" = (/obj/structure/table/rack,/obj/item/weapon/gun/projectile/automatic/z8,/obj/item/weapon/gun/projectile/automatic/z8,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"em" = (/obj/structure/table/rack,/obj/item/weapon/rig/ert/assetprotection,/obj/item/weapon/rig/ert/assetprotection,/obj/item/weapon/rig/ert/assetprotection,/obj/item/weapon/rig/ert/assetprotection,/obj/item/weapon/rig/ert/assetprotection,/obj/item/weapon/rig/ert/assetprotection,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"en" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/sniperrifle,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"eo" = (/obj/structure/table/rack,/obj/item/weapon/melee/energy/sword,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"ep" = (/obj/structure/table/rack,/obj/item/weapon/gun/projectile/automatic/l6_saw,/obj/item/ammo_magazine/m545saw,/obj/item/ammo_magazine/m545saw,/obj/item/ammo_magazine/m545saw,/obj/item/ammo_magazine/m545saw,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"eq" = (/obj/structure/table/rack,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"er" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/laser,/obj/item/weapon/gun/energy/laser,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"es" = (/obj/structure/table/rack,/obj/item/ammo_magazine/m9mmp90,/obj/item/ammo_magazine/m9mmp90,/obj/item/ammo_magazine/m9mmp90,/obj/item/ammo_magazine/m9mmp90,/obj/item/weapon/gun/projectile/automatic/p90,/obj/item/weapon/gun/projectile/automatic/p90,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"et" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/xray,/obj/item/weapon/gun/energy/xray,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"ek" = (/obj/structure/table/rack,/obj/item/gun/launcher/rocket,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"el" = (/obj/structure/table/rack,/obj/item/gun/projectile/automatic/z8,/obj/item/gun/projectile/automatic/z8,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"em" = (/obj/structure/table/rack,/obj/item/rig/ert/assetprotection,/obj/item/rig/ert/assetprotection,/obj/item/rig/ert/assetprotection,/obj/item/rig/ert/assetprotection,/obj/item/rig/ert/assetprotection,/obj/item/rig/ert/assetprotection,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"en" = (/obj/structure/table/rack,/obj/item/gun/energy/sniperrifle,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"eo" = (/obj/structure/table/rack,/obj/item/melee/energy/sword,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"ep" = (/obj/structure/table/rack,/obj/item/gun/projectile/automatic/l6_saw,/obj/item/ammo_magazine/m545saw,/obj/item/ammo_magazine/m545saw,/obj/item/ammo_magazine/m545saw,/obj/item/ammo_magazine/m545saw,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"eq" = (/obj/structure/table/rack,/obj/item/shield/energy,/obj/item/shield/energy,/obj/item/shield/energy,/obj/item/shield/energy,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"er" = (/obj/structure/table/rack,/obj/item/gun/energy/laser,/obj/item/gun/energy/laser,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"es" = (/obj/structure/table/rack,/obj/item/ammo_magazine/m9mmp90,/obj/item/ammo_magazine/m9mmp90,/obj/item/ammo_magazine/m9mmp90,/obj/item/ammo_magazine/m9mmp90,/obj/item/gun/projectile/automatic/p90,/obj/item/gun/projectile/automatic/p90,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"et" = (/obj/structure/table/rack,/obj/item/gun/energy/xray,/obj/item/gun/energy/xray,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "eu" = (/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) "ev" = (/obj/machinery/deployable/barrier,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "ew" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"ex" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"ey" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/gun/energy/ionrifle,/obj/structure/window/reinforced{dir = 1},/obj/item/weapon/gun/energy/ionrifle,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"ez" = (/obj/structure/table/reinforced,/obj/item/weapon/gun/energy/ionrifle/pistol,/obj/item/weapon/gun/energy/ionrifle/pistol,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"ex" = (/obj/structure/table/rack,/obj/item/gun/energy/gun,/obj/item/gun/energy/gun,/obj/item/gun/energy/gun,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"ey" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 4},/obj/item/gun/energy/ionrifle,/obj/structure/window/reinforced{dir = 1},/obj/item/gun/energy/ionrifle,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"ez" = (/obj/structure/table/reinforced,/obj/item/gun/energy/ionrifle/pistol,/obj/item/gun/energy/ionrifle/pistol,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "eA" = (/obj/machinery/computer/teleporter,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) "eB" = (/obj/machinery/teleport/station,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) "eC" = (/obj/machinery/teleport/hub,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) "eD" = (/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "eE" = (/obj/machinery/mech_recharger,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) "eF" = (/obj/machinery/mech_recharger,/obj/mecha/combat/gygax/dark,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) -"eG" = (/obj/structure/table/reinforced,/obj/item/weapon/cell/device/weapon,/obj/item/weapon/cell/device/weapon,/obj/item/weapon/cell/device/weapon,/obj/item/weapon/cell/device/weapon,/obj/item/weapon/cell/device/weapon,/obj/item/weapon/cell/device/weapon,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"eG" = (/obj/structure/table/reinforced,/obj/item/cell/device/weapon,/obj/item/cell/device/weapon,/obj/item/cell/device/weapon,/obj/item/cell/device/weapon,/obj/item/cell/device/weapon,/obj/item/cell/device/weapon,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "eH" = (/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "eI" = (/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) "eJ" = (/obj/structure/table/steel_reinforced,/obj/item/mecha_parts/mecha_equipment/weapon/energy/ion,/obj/item/mecha_parts/mecha_equipment/weapon/energy/taser,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) "eK" = (/obj/structure/table/steel_reinforced,/obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster,/obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) -"eL" = (/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 4},/obj/structure/table/rack,/obj/item/weapon/storage/belt/security/tactical/bandolier,/obj/item/weapon/storage/belt/security/tactical/bandolier,/obj/item/weapon/storage/belt/security/tactical/bandolier,/obj/item/weapon/storage/belt/security/tactical,/obj/item/weapon/storage/belt/security/tactical,/obj/item/weapon/storage/belt/security/tactical,/obj/item/weapon/storage/belt/security/tactical,/obj/item/weapon/storage/belt/security/tactical,/obj/item/weapon/storage/belt/security/tactical,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"eL" = (/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 4},/obj/structure/table/rack,/obj/item/storage/belt/security/tactical/bandolier,/obj/item/storage/belt/security/tactical/bandolier,/obj/item/storage/belt/security/tactical/bandolier,/obj/item/storage/belt/security/tactical,/obj/item/storage/belt/security/tactical,/obj/item/storage/belt/security/tactical,/obj/item/storage/belt/security/tactical,/obj/item/storage/belt/security/tactical,/obj/item/storage/belt/security/tactical,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "eM" = (/obj/structure/curtain/open/shower,/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = 0},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/specops) -"eN" = (/obj/item/weapon/bikehorn/rubberducky,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/specops) +"eN" = (/obj/item/bikehorn/rubberducky,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/specops) "eO" = (/obj/machinery/shower{icon_state = "shower"; dir = 8},/obj/structure/curtain/open/shower,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/specops) "eP" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "ASSAULT"; name = "Assault Armor Storage"; p_open = 0},/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) -"eQ" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/gun/launcher/grenade,/obj/item/weapon/gun/launcher/grenade,/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"eR" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/gun/energy/gun/nuclear,/obj/item/weapon/gun/energy/gun/nuclear,/obj/item/weapon/gun/energy/gun/nuclear,/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"eS" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/item/weapon/storage/box/shotgunshells,/obj/item/weapon/storage/box/shotgunshells,/obj/item/weapon/storage/box/shotgunammo,/obj/item/weapon/storage/box/shotgunammo,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"eT" = (/obj/structure/table/rack,/obj/structure/window/reinforced,/obj/item/weapon/gun/projectile/shotgun/pump/combat,/obj/item/weapon/gun/projectile/shotgun/pump/combat,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"eU" = (/obj/item/weapon/storage/box/flashshells,/obj/item/weapon/storage/box/flashshells,/obj/item/weapon/storage/box/stunshells,/obj/item/weapon/storage/box/stunshells,/obj/item/weapon/storage/box/beanbags,/obj/item/weapon/storage/box/beanbags,/obj/structure/window/reinforced,/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"eV" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/taser,/obj/item/weapon/gun/energy/taser,/obj/item/weapon/gun/energy/taser,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"eQ" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 8},/obj/item/gun/launcher/grenade,/obj/item/gun/launcher/grenade,/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"eR" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 4},/obj/item/gun/energy/gun/nuclear,/obj/item/gun/energy/gun/nuclear,/obj/item/gun/energy/gun/nuclear,/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"eS" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/item/storage/box/shotgunshells,/obj/item/storage/box/shotgunshells,/obj/item/storage/box/shotgunammo,/obj/item/storage/box/shotgunammo,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"eT" = (/obj/structure/table/rack,/obj/structure/window/reinforced,/obj/item/gun/projectile/shotgun/pump/combat,/obj/item/gun/projectile/shotgun/pump/combat,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"eU" = (/obj/item/storage/box/flashshells,/obj/item/storage/box/flashshells,/obj/item/storage/box/stunshells,/obj/item/storage/box/stunshells,/obj/item/storage/box/beanbags,/obj/item/storage/box/beanbags,/obj/structure/window/reinforced,/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"eV" = (/obj/structure/table/rack,/obj/item/gun/energy/taser,/obj/item/gun/energy/taser,/obj/item/gun/energy/taser,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "eW" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/table/rack,/obj/item/clothing/glasses/night{pixel_x = 2; pixel_y = 2},/obj/item/clothing/glasses/night{pixel_x = 2; pixel_y = 2},/obj/item/clothing/glasses/night{pixel_x = 2; pixel_y = 2},/obj/item/clothing/glasses/night{pixel_x = 2; pixel_y = 2},/obj/item/clothing/glasses/night{pixel_x = 2; pixel_y = 2},/obj/item/clothing/glasses/night{pixel_x = 2; pixel_y = 2},/obj/item/clothing/glasses/sunglasses/sechud/tactical{pixel_x = -2; pixel_y = -2},/obj/item/clothing/glasses/sunglasses/sechud/tactical{pixel_x = -2; pixel_y = -2},/obj/item/clothing/glasses/sunglasses/sechud/tactical{pixel_x = -2; pixel_y = -2},/obj/item/clothing/glasses/sunglasses/sechud/tactical{pixel_x = -2; pixel_y = -2},/obj/item/clothing/glasses/sunglasses/sechud/tactical{pixel_x = -2; pixel_y = -2},/obj/item/clothing/glasses/sunglasses/sechud/tactical{pixel_x = -2; pixel_y = -2},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "eX" = (/obj/structure/closet/wardrobe/ert,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "eY" = (/obj/machinery/vending/cola{name = "hacked Robust Softdrinks"; prices = list()},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"eZ" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; prices = list(); products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2)},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"eZ" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; prices = list(); products = list(/obj/item/storage/fancy/cigarettes = 10, /obj/item/storage/box/matches = 10, /obj/item/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2)},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "fa" = (/obj/machinery/vending/snack{name = "hacked Getmore Chocolate Corp"; prices = list()},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "fb" = (/obj/structure/undies_wardrobe,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"fc" = (/obj/structure/table/standard,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/random/soap,/obj/random/soap,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/specops) +"fc" = (/obj/structure/table/standard,/obj/item/towel,/obj/item/towel,/obj/item/towel,/obj/item/towel,/obj/random/soap,/obj/random/soap,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/specops) "fd" = (/obj/structure/urinal{pixel_y = 32},/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/specops) "fe" = (/obj/structure/curtain/open/shower,/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = 0},/obj/structure/window/reinforced/tinted,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/specops) "ff" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/specops) @@ -270,15 +270,15 @@ "fj" = (/obj/item/mecha_parts/mecha_equipment/teleporter,/obj/item/mecha_parts/mecha_tracking,/obj/item/mecha_parts/mecha_tracking,/obj/item/mecha_parts/mecha_tracking,/obj/item/mecha_parts/mecha_tracking,/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) "fk" = (/obj/item/mecha_parts/mecha_equipment/tool/sleeper,/obj/item/mecha_parts/mecha_equipment/tool/sleeper,/obj/item/mecha_parts/mecha_equipment/tool/syringe_gun,/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) "fl" = (/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/obj/item/mecha_parts/mecha_equipment/repair_droid,/obj/item/mecha_parts/mecha_equipment/repair_droid,/obj/item/mecha_parts/mecha_equipment/repair_droid,/obj/item/mecha_parts/mecha_equipment/repair_droid,/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) -"fm" = (/obj/structure/table/rack,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"fn" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/storage/box/emps{pixel_x = 4; pixel_y = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/storage/box/frags,/obj/item/weapon/storage/box/smokes,/obj/item/weapon/storage/box/smokes,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"fm" = (/obj/structure/table/rack,/obj/item/plastique,/obj/item/plastique,/obj/item/plastique,/obj/item/plastique,/obj/item/plastique,/obj/item/plastique,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"fn" = (/obj/structure/table/rack,/obj/item/storage/box/flashbangs,/obj/item/storage/box/flashbangs,/obj/item/storage/box/emps{pixel_x = 4; pixel_y = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/item/storage/box/frags,/obj/item/storage/box/smokes,/obj/item/storage/box/smokes,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "fo" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/item/ammo_magazine/m9mmt/rubber,/obj/item/ammo_magazine/m9mmt/rubber,/obj/item/ammo_magazine/m9mmt/rubber,/obj/item/ammo_magazine/m9mmt/rubber,/obj/item/ammo_magazine/m9mmt/rubber,/obj/item/ammo_magazine/m9mmt/rubber,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"fp" = (/obj/structure/table/rack,/obj/item/weapon/gun/projectile/automatic/wt550,/obj/item/weapon/gun/projectile/automatic/wt550,/obj/item/weapon/gun/projectile/automatic/wt550,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"fp" = (/obj/structure/table/rack,/obj/item/gun/projectile/automatic/wt550,/obj/item/gun/projectile/automatic/wt550,/obj/item/gun/projectile/automatic/wt550,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "fq" = (/obj/structure/table/rack,/obj/item/ammo_magazine/m9mmt,/obj/item/ammo_magazine/m9mmt,/obj/item/ammo_magazine/m9mmt,/obj/item/ammo_magazine/m9mmt,/obj/item/ammo_magazine/m9mmt,/obj/item/ammo_magazine/m9mmt,/obj/item/ammo_magazine/m9mmt,/obj/item/ammo_magazine/m9mmt,/obj/item/ammo_magazine/m9mmt,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"fr" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"fr" = (/obj/structure/table/rack,/obj/item/gun/energy/stunrevolver,/obj/item/gun/energy/stunrevolver,/obj/item/gun/energy/stunrevolver,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "fs" = (/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 4},/obj/structure/table/rack,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_drop_pouches,/obj/item/clothing/accessory/storage/black_drop_pouches,/obj/item/clothing/accessory/storage/black_drop_pouches,/obj/item/clothing/accessory/storage/black_drop_pouches,/obj/item/clothing/accessory/storage/black_drop_pouches,/obj/item/clothing/accessory/storage/black_drop_pouches,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"ft" = (/obj/structure/table/reinforced,/obj/item/weapon/shield_diffuser,/obj/item/weapon/shield_diffuser,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"fu" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/table/reinforced,/obj/item/weapon/shield_diffuser,/obj/item/weapon/shield_diffuser,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"ft" = (/obj/structure/table/reinforced,/obj/item/shield_diffuser,/obj/item/shield_diffuser,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"fu" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/table/reinforced,/obj/item/shield_diffuser,/obj/item/shield_diffuser,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "fv" = (/obj/effect/landmark{name = "Response Team"},/obj/effect/landmark{name = "Commando"},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) "fw" = (/obj/effect/landmark{name = "Commando"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "fx" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp,/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) @@ -287,12 +287,12 @@ "fA" = (/obj/machinery/door/airlock/centcom{name = "Special Operations"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/specops) "fB" = (/obj/structure/table/bench/padded,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "fC" = (/obj/machinery/door/airlock,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/specops) -"fD" = (/obj/item/mecha_parts/mecha_equipment/tool/extinguisher,/obj/item/mecha_parts/mecha_equipment/tool/rcd,/obj/item/weapon/pickaxe/diamonddrill,/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) -"fE" = (/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 4},/obj/structure/table/rack,/obj/item/weapon/rig/ert/security,/obj/item/weapon/rig/ert/security,/obj/item/weapon/rig/ert/security,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"fD" = (/obj/item/mecha_parts/mecha_equipment/tool/extinguisher,/obj/item/mecha_parts/mecha_equipment/tool/rcd,/obj/item/pickaxe/diamonddrill,/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) +"fE" = (/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 4},/obj/structure/table/rack,/obj/item/rig/ert/security,/obj/item/rig/ert/security,/obj/item/rig/ert/security,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "fF" = (/obj/structure/table/rack,/obj/item/clothing/accessory/holster/waist,/obj/item/clothing/accessory/holster/waist,/obj/item/clothing/accessory/holster/waist,/obj/item/clothing/accessory/holster/waist,/obj/item/clothing/accessory/holster/waist,/obj/item/clothing/accessory/holster/waist,/obj/effect/floor_decal/industrial/outline/blue,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "fG" = (/obj/structure/table/rack,/obj/item/clothing/accessory/holster/hip,/obj/item/clothing/accessory/holster/hip,/obj/item/clothing/accessory/holster/hip,/obj/item/clothing/accessory/holster/hip,/obj/item/clothing/accessory/holster/hip,/obj/item/clothing/accessory/holster/hip,/obj/effect/floor_decal/industrial/outline/blue,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "fH" = (/obj/structure/table/rack,/obj/item/clothing/accessory/holster/armpit,/obj/item/clothing/accessory/holster/armpit,/obj/item/clothing/accessory/holster/armpit,/obj/item/clothing/accessory/holster/armpit,/obj/item/clothing/accessory/holster/armpit,/obj/item/clothing/accessory/holster/armpit,/obj/effect/floor_decal/industrial/outline/blue,/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = 32},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"fI" = (/obj/structure/table/reinforced,/obj/item/weapon/tool/crowbar,/obj/item/weapon/tool/screwdriver,/obj/item/weapon/tool/wrench,/obj/effect/floor_decal/industrial/outline/blue,/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = 32},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"fI" = (/obj/structure/table/reinforced,/obj/item/tool/crowbar,/obj/item/tool/screwdriver,/obj/item/tool/wrench,/obj/effect/floor_decal/industrial/outline/blue,/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = 32},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "fJ" = (/obj/effect/floor_decal/industrial/outline/blue,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "fK" = (/obj/machinery/porta_turret{anchored = 0; check_records = 0; enabled = 0; req_one_access = list(103); use_power = 0},/obj/effect/floor_decal/industrial/outline/blue,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "fL" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{pixel_x = -28},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/specops) @@ -303,12 +303,12 @@ "fQ" = (/obj/mecha/medical/odysseus/loaded,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) "fR" = (/obj/item/mecha_parts/mecha_equipment/tool/drill/diamonddrill,/obj/item/mecha_parts/mecha_equipment/tool/cable_layer,/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) "fS" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/item/ammo_magazine/m45/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/item/ammo_magazine/m45/flash,/obj/item/ammo_magazine/m45/flash,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"fT" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/item/weapon/gun/projectile/sec,/obj/item/weapon/gun/projectile/sec,/obj/item/weapon/gun/projectile/sec,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"fU" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/handcuffs{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/handcuffs,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"fV" = (/obj/item/weapon/material/knife/tacknife/combatknife,/obj/item/weapon/material/knife/tacknife/combatknife,/obj/item/weapon/material/knife/tacknife/combatknife,/obj/item/weapon/material/knife/tacknife/combatknife,/obj/item/weapon/material/knife/tacknife/combatknife,/obj/item/weapon/material/knife/tacknife/combatknife,/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/reagent_containers/spray/pepper,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"fT" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/item/gun/projectile/sec,/obj/item/gun/projectile/sec,/obj/item/gun/projectile/sec,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"fU" = (/obj/structure/table/reinforced,/obj/item/storage/box/handcuffs{pixel_x = 3; pixel_y = 3},/obj/item/storage/box/handcuffs,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"fV" = (/obj/item/material/knife/tacknife/combatknife,/obj/item/material/knife/tacknife/combatknife,/obj/item/material/knife/tacknife/combatknife,/obj/item/material/knife/tacknife/combatknife,/obj/item/material/knife/tacknife/combatknife,/obj/item/material/knife/tacknife/combatknife,/obj/structure/table/reinforced,/obj/item/reagent_containers/spray/pepper,/obj/item/reagent_containers/spray/pepper,/obj/item/reagent_containers/spray/pepper,/obj/item/reagent_containers/spray/pepper,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "fW" = (/obj/machinery/vending/security,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"fX" = (/obj/structure/table/rack,/obj/item/taperoll/police,/obj/item/taperoll/police,/obj/item/taperoll/police,/obj/item/taperoll/police,/obj/item/taperoll/police,/obj/item/taperoll/police,/obj/item/device/flash,/obj/item/device/flash,/obj/item/device/flash,/obj/item/device/flash,/obj/item/device/flash,/obj/item/device/flash,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/baton/loaded,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"fY" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/table/rack,/obj/item/weapon/storage/backpack/ert/security,/obj/item/weapon/storage/backpack/ert/security,/obj/item/weapon/storage/backpack/ert/security,/obj/item/weapon/storage/backpack/ert/security,/obj/item/weapon/storage/backpack/ert/security,/obj/item/weapon/storage/backpack/ert/security,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"fX" = (/obj/structure/table/rack,/obj/item/taperoll/police,/obj/item/taperoll/police,/obj/item/taperoll/police,/obj/item/taperoll/police,/obj/item/taperoll/police,/obj/item/taperoll/police,/obj/item/flash,/obj/item/flash,/obj/item/flash,/obj/item/flash,/obj/item/flash,/obj/item/flash,/obj/item/melee/baton/loaded,/obj/item/melee/baton/loaded,/obj/item/melee/baton/loaded,/obj/item/melee/baton/loaded,/obj/item/melee/baton/loaded,/obj/item/melee/baton/loaded,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"fY" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/table/rack,/obj/item/storage/backpack/ert/security,/obj/item/storage/backpack/ert/security,/obj/item/storage/backpack/ert/security,/obj/item/storage/backpack/ert/security,/obj/item/storage/backpack/ert/security,/obj/item/storage/backpack/ert/security,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "fZ" = (/obj/structure/table/rack,/obj/item/clothing/accessory/holster/leg,/obj/item/clothing/accessory/holster/leg,/obj/item/clothing/accessory/holster/leg,/obj/item/clothing/accessory/holster/leg,/obj/item/clothing/accessory/holster/leg,/obj/item/clothing/accessory/holster/leg,/obj/effect/floor_decal/industrial/outline/blue,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "ga" = (/obj/machinery/door/airlock/centcom{icon_state = "door_locked"; locked = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "gb" = (/obj/structure/table/glass,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) @@ -321,12 +321,12 @@ "gi" = (/obj/effect/floor_decal/corner/red{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "gj" = (/obj/structure/bed/chair,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "gk" = (/obj/effect/floor_decal/corner/purple{dir = 6},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"gl" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/device/flash,/obj/item/device/flash,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"gm" = (/obj/structure/table/rack,/obj/item/device/lightreplacer,/obj/item/device/lightreplacer,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"gn" = (/obj/structure/table/reinforced,/obj/item/weapon/tool/crowbar,/obj/item/weapon/tool/screwdriver,/obj/item/weapon/tool/wrench,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"go" = (/obj/structure/table/reinforced,/obj/item/weapon/stamp/centcomm,/obj/item/weapon/pen,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"gp" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"gq" = (/obj/structure/table/reinforced,/obj/item/weapon/tool/crowbar,/obj/item/weapon/tool/crowbar,/obj/item/weapon/tool/crowbar,/obj/item/weapon/tool/crowbar,/obj/item/weapon/tool/crowbar,/obj/item/weapon/tool/crowbar,/obj/item/device/radio/off,/obj/item/device/radio/off,/obj/item/device/radio/off,/obj/item/device/radio/off,/obj/item/device/radio/off,/obj/item/device/radio/off,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/device/flashlight,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"gl" = (/obj/structure/table/rack,/obj/item/gun/energy/stunrevolver,/obj/item/gun/energy/stunrevolver,/obj/item/flash,/obj/item/flash,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"gm" = (/obj/structure/table/rack,/obj/item/lightreplacer,/obj/item/lightreplacer,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"gn" = (/obj/structure/table/reinforced,/obj/item/tool/crowbar,/obj/item/tool/screwdriver,/obj/item/tool/wrench,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"go" = (/obj/structure/table/reinforced,/obj/item/stamp/centcomm,/obj/item/pen,/obj/item/paper_bin{pixel_x = 1; pixel_y = 9},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"gp" = (/obj/structure/table/reinforced,/obj/item/storage/box,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"gq" = (/obj/structure/table/reinforced,/obj/item/tool/crowbar,/obj/item/tool/crowbar,/obj/item/tool/crowbar,/obj/item/tool/crowbar,/obj/item/tool/crowbar,/obj/item/tool/crowbar,/obj/item/radio/off,/obj/item/radio/off,/obj/item/radio/off,/obj/item/radio/off,/obj/item/radio/off,/obj/item/radio/off,/obj/item/flashlight,/obj/item/flashlight,/obj/item/flashlight,/obj/item/flashlight,/obj/item/flashlight,/obj/item/flashlight,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "gr" = (/obj/machinery/door/airlock,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "gs" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/specops) "gt" = (/obj/effect/floor_decal/corner/yellow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) @@ -336,39 +336,39 @@ "gx" = (/obj/effect/floor_decal/corner/white{dir = 10},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "gy" = (/obj/effect/floor_decal/corner/white{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "gz" = (/obj/structure/table/reinforced,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"gA" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/donut,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"gB" = (/obj/structure/table/reinforced,/obj/item/device/paicard,/obj/item/device/paicard,/obj/item/device/paicard,/obj/item/device/paicard,/obj/item/device/paicard,/obj/item/device/paicard,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"gC" = (/obj/structure/table/rack,/obj/item/weapon/storage/backpack/security,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/shoes/galoshes,/obj/item/clothing/head/bio_hood/janitor,/obj/item/clothing/suit/bio_suit/janitor,/obj/item/clothing/gloves/purple,/obj/item/clothing/glasses/science,/obj/item/weapon/storage/backpack/security,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/shoes/galoshes,/obj/item/clothing/head/bio_hood/janitor,/obj/item/clothing/suit/bio_suit/janitor,/obj/item/clothing/gloves/purple,/obj/item/clothing/glasses/science,/obj/item/weapon/reagent_containers/spray/cleaner{pixel_x = 6; pixel_y = 3},/obj/item/weapon/reagent_containers/spray/cleaner{pixel_x = 6; pixel_y = 3},/obj/item/weapon/reagent_containers/spray/plantbgone,/obj/item/weapon/reagent_containers/spray/plantbgone,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"gD" = (/obj/item/weapon/mop,/obj/structure/mopbucket,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"gE" = (/obj/structure/reagent_dispensers/watertank,/obj/item/weapon/reagent_containers/glass/bucket{amount_per_transfer_from_this = 50},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"gA" = (/obj/structure/table/reinforced,/obj/item/storage/box/donut,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"gB" = (/obj/structure/table/reinforced,/obj/item/paicard,/obj/item/paicard,/obj/item/paicard,/obj/item/paicard,/obj/item/paicard,/obj/item/paicard,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"gC" = (/obj/structure/table/rack,/obj/item/storage/backpack/security,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/shoes/galoshes,/obj/item/clothing/head/bio_hood/janitor,/obj/item/clothing/suit/bio_suit/janitor,/obj/item/clothing/gloves/purple,/obj/item/clothing/glasses/science,/obj/item/storage/backpack/security,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/shoes/galoshes,/obj/item/clothing/head/bio_hood/janitor,/obj/item/clothing/suit/bio_suit/janitor,/obj/item/clothing/gloves/purple,/obj/item/clothing/glasses/science,/obj/item/reagent_containers/spray/cleaner{pixel_x = 6; pixel_y = 3},/obj/item/reagent_containers/spray/cleaner{pixel_x = 6; pixel_y = 3},/obj/item/reagent_containers/spray/plantbgone,/obj/item/reagent_containers/spray/plantbgone,/obj/item/storage/box/lights/mixed,/obj/item/storage/box/lights/mixed,/obj/item/grenade/chem_grenade/cleaner,/obj/item/grenade/chem_grenade/cleaner,/obj/item/grenade/chem_grenade/cleaner,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"gD" = (/obj/item/mop,/obj/structure/mopbucket,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"gE" = (/obj/structure/reagent_dispensers/watertank,/obj/item/reagent_containers/glass/bucket{amount_per_transfer_from_this = 50},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "gF" = (/obj/structure/sign/greencross{desc = "White cross in a green field, you can get medical aid here."; name = "First-Aid"},/turf/simulated/shuttle/wall/dark/hard_corner,/area/centcom/specops) "gG" = (/obj/structure/bed/chair{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "gH" = (/turf/simulated/shuttle/wall/dark/no_join,/area/centcom/specops) -"gI" = (/obj/item/weapon/circuitboard/aiupload,/obj/item/weapon/circuitboard/borgupload,/obj/item/weapon/circuitboard/smes,/obj/item/weapon/aiModule/nanotrasen,/obj/item/weapon/aiModule/reset,/obj/item/weapon/aiModule/freeformcore,/obj/item/weapon/aiModule/protectStation,/obj/item/weapon/aiModule/quarantine,/obj/item/weapon/aiModule/paladin,/obj/item/weapon/aiModule/robocop,/obj/item/weapon/aiModule/safeguard,/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"gI" = (/obj/item/circuitboard/aiupload,/obj/item/circuitboard/borgupload,/obj/item/circuitboard/smes,/obj/item/aiModule/nanotrasen,/obj/item/aiModule/reset,/obj/item/aiModule/freeformcore,/obj/item/aiModule/protectStation,/obj/item/aiModule/quarantine,/obj/item/aiModule/paladin,/obj/item/aiModule/robocop,/obj/item/aiModule/safeguard,/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "gJ" = (/obj/machinery/vending/assist,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "gK" = (/obj/machinery/vending/tool,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "gL" = (/obj/machinery/vending/engivend,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "gM" = (/obj/machinery/vending/engineering,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"gN" = (/obj/structure/table/rack,/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/obj/item/weapon/grenade/chem_grenade/metalfoam,/obj/item/weapon/grenade/chem_grenade/metalfoam,/obj/item/weapon/grenade/chem_grenade/metalfoam,/obj/item/weapon/grenade/chem_grenade/metalfoam,/obj/item/weapon/grenade/chem_grenade/metalfoam,/obj/item/weapon/grenade/chem_grenade/metalfoam,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"gO" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/item/weapon/storage/backpack/ert/engineer,/obj/item/weapon/storage/backpack/ert/engineer,/obj/item/weapon/storage/backpack/ert/engineer,/obj/item/weapon/storage/backpack/ert/engineer,/obj/item/weapon/storage/backpack/ert/engineer,/obj/item/weapon/storage/backpack/ert/engineer,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"gP" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/storage/box/pillbottles,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"gQ" = (/obj/machinery/chemical_dispenser/full,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"gR" = (/obj/machinery/chem_master,/obj/item/weapon/reagent_containers/glass/beaker/large,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"gS" = (/obj/machinery/chemical_dispenser/ert,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"gN" = (/obj/structure/table/rack,/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/obj/item/grenade/chem_grenade/metalfoam,/obj/item/grenade/chem_grenade/metalfoam,/obj/item/grenade/chem_grenade/metalfoam,/obj/item/grenade/chem_grenade/metalfoam,/obj/item/grenade/chem_grenade/metalfoam,/obj/item/grenade/chem_grenade/metalfoam,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"gO" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/item/storage/backpack/ert/engineer,/obj/item/storage/backpack/ert/engineer,/obj/item/storage/backpack/ert/engineer,/obj/item/storage/backpack/ert/engineer,/obj/item/storage/backpack/ert/engineer,/obj/item/storage/backpack/ert/engineer,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"gP" = (/obj/structure/table/reinforced,/obj/item/reagent_containers/hypospray,/obj/item/reagent_containers/hypospray,/obj/item/reagent_containers/hypospray,/obj/item/reagent_containers/hypospray,/obj/item/reagent_containers/hypospray,/obj/item/reagent_containers/hypospray,/obj/item/storage/box/pillbottles,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"gQ" = (/obj/machinery/chemical_dispenser/full,/obj/item/reagent_containers/glass/beaker/large,/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"gR" = (/obj/machinery/chem_master,/obj/item/reagent_containers/glass/beaker/large,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"gS" = (/obj/machinery/chemical_dispenser/ert,/obj/item/reagent_containers/glass/beaker/large,/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "gT" = (/obj/machinery/vending/medical,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "gU" = (/obj/item/clothing/glasses/hud/health{pixel_x = 4; pixel_y = 4},/obj/item/clothing/glasses/hud/health{pixel_x = 2; pixel_y = 2},/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/structure/table/rack,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"gV" = (/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/table/rack,/obj/item/weapon/storage/backpack/ert/medical,/obj/item/weapon/storage/backpack/ert/medical,/obj/item/weapon/storage/backpack/ert/medical,/obj/item/weapon/storage/backpack/ert/medical,/obj/item/weapon/storage/backpack/ert/medical,/obj/item/weapon/storage/backpack/ert/medical,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"gW" = (/obj/structure/table/reinforced,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/effect/floor_decal/industrial/outline/blue,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"gX" = (/obj/structure/table/reinforced,/obj/item/weapon/cell/high,/obj/item/weapon/cell/high,/obj/item/weapon/cell/high,/obj/item/weapon/cell/high,/obj/item/weapon/cell/high,/obj/item/weapon/cell/high,/obj/effect/floor_decal/industrial/outline/blue,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"gV" = (/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/table/rack,/obj/item/storage/backpack/ert/medical,/obj/item/storage/backpack/ert/medical,/obj/item/storage/backpack/ert/medical,/obj/item/storage/backpack/ert/medical,/obj/item/storage/backpack/ert/medical,/obj/item/storage/backpack/ert/medical,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"gW" = (/obj/structure/table/reinforced,/obj/item/pda/ert,/obj/item/pda/ert,/obj/item/pda/ert,/obj/item/pda/ert,/obj/item/pda/ert,/obj/item/pda/ert,/obj/effect/floor_decal/industrial/outline/blue,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"gX" = (/obj/structure/table/reinforced,/obj/item/cell/high,/obj/item/cell/high,/obj/item/cell/high,/obj/item/cell/high,/obj/item/cell/high,/obj/item/cell/high,/obj/effect/floor_decal/industrial/outline/blue,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "gY" = (/obj/effect/floor_decal/corner/red/full{dir = 1},/obj/structure/window/reinforced/holowindow/disappearing{dir = 1},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt) "gZ" = (/turf/simulated/shuttle/wall/dark{join_group = "shuttle_ert"},/area/shuttle/response_ship/start) -"ha" = (/obj/structure/table/rack,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/item/weapon/rig/ert/engineer,/obj/item/weapon/rig/ert/engineer,/obj/item/weapon/rig/ert/engineer,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"ha" = (/obj/structure/table/rack,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/item/rig/ert/engineer,/obj/item/rig/ert/engineer,/obj/item/rig/ert/engineer,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "hb" = (/obj/structure/closet/crate/medical,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"hc" = (/obj/item/weapon/stool/padded,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"hd" = (/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced,/obj/structure/table/rack,/obj/item/weapon/rig/ert/medical,/obj/item/weapon/rig/ert/medical,/obj/item/weapon/rig/ert/medical,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"he" = (/obj/structure/table/reinforced,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/effect/floor_decal/industrial/outline/blue,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"hc" = (/obj/item/stool/padded,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"hd" = (/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced,/obj/structure/table/rack,/obj/item/rig/ert/medical,/obj/item/rig/ert/medical,/obj/item/rig/ert/medical,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"he" = (/obj/structure/table/reinforced,/obj/item/megaphone,/obj/item/megaphone,/obj/item/megaphone,/obj/item/megaphone,/obj/item/megaphone,/obj/item/megaphone,/obj/effect/floor_decal/industrial/outline/blue,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "hf" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/effect/floor_decal/industrial/outline/blue,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"hg" = (/obj/structure/table/rack,/obj/item/weapon/tank/emergency/oxygen/double,/obj/item/weapon/tank/emergency/oxygen/double,/obj/item/weapon/tank/emergency/oxygen/double,/obj/item/weapon/tank/emergency/oxygen/double,/obj/item/weapon/tank/emergency/oxygen/double,/obj/item/weapon/tank/emergency/oxygen/double,/obj/item/weapon/tank/emergency/oxygen/double,/obj/item/weapon/tank/emergency/oxygen/double,/obj/effect/floor_decal/industrial/outline/blue,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"hg" = (/obj/structure/table/rack,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/effect/floor_decal/industrial/outline/blue,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "hh" = (/obj/structure/closet/crate/internals{name = "Mask Crate"},/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/effect/floor_decal/industrial/outline/blue,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "hi" = (/obj/machinery/cell_charger,/obj/structure/table/reinforced,/obj/effect/floor_decal/industrial/outline/blue,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "hj" = (/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 10},/obj/effect/floor_decal/carpet{dir = 6},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_meetinghall) @@ -390,21 +390,21 @@ "hz" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "response_base_door"; locked = 1},/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) "hA" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "response_base"; name = "docking port controller"; pixel_x = 0; pixel_y = -25; req_one_access = list(103); tag_door = "response_base_door"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "hB" = (/obj/structure/reagent_dispensers/watertank,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"hC" = (/obj/structure/table/steel_reinforced,/obj/machinery/cell_charger,/obj/item/weapon/cell/high,/obj/item/weapon/cell/high,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"hD" = (/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/steel{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/material/steel{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/material/steel{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/material/steel{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"hC" = (/obj/structure/table/steel_reinforced,/obj/machinery/cell_charger,/obj/item/cell/high,/obj/item/cell/high,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"hD" = (/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/steel{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/material/steel{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/material/steel{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/material/steel{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "hE" = (/obj/machinery/pipedispenser/orderable,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "hF" = (/obj/structure/table/rack,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/item/clothing/head/helmet/ert/engineer,/obj/item/clothing/head/helmet/ert/engineer,/obj/item/clothing/head/helmet/ert/engineer,/obj/item/clothing/head/helmet/ert/engineer,/obj/item/clothing/suit/armor/vest/ert/engineer,/obj/item/clothing/suit/armor/vest/ert/engineer,/obj/item/clothing/suit/armor/vest/ert/engineer,/obj/item/clothing/suit/armor/vest/ert/engineer,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"hG" = (/obj/structure/table/reinforced,/obj/item/device/defib_kit,/obj/item/device/defib_kit,/obj/item/weapon/cell/high,/obj/item/weapon/cell/high,/obj/item/weapon/tool/screwdriver,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"hH" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/syringes{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/box/syringes,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"hG" = (/obj/structure/table/reinforced,/obj/item/defib_kit,/obj/item/defib_kit,/obj/item/cell/high,/obj/item/cell/high,/obj/item/tool/screwdriver,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"hH" = (/obj/structure/table/reinforced,/obj/item/storage/box/syringes{pixel_x = 2; pixel_y = 2},/obj/item/storage/box/syringes,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "hI" = (/obj/item/roller,/obj/item/roller{pixel_y = 8},/obj/item/roller{pixel_y = 16},/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"hJ" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/autoinjectors,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/storage/box/gloves,/obj/item/weapon/storage/box/masks,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"hJ" = (/obj/structure/table/reinforced,/obj/item/storage/box/autoinjectors,/obj/item/storage/box/beakers,/obj/item/storage/box/gloves,/obj/item/storage/box/masks,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "hK" = (/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced,/obj/structure/table/rack,/obj/item/clothing/head/helmet/ert/medical,/obj/item/clothing/head/helmet/ert/medical,/obj/item/clothing/head/helmet/ert/medical,/obj/item/clothing/head/helmet/ert/medical,/obj/item/clothing/suit/armor/vest/ert/medical,/obj/item/clothing/suit/armor/vest/ert/medical,/obj/item/clothing/suit/armor/vest/ert/medical,/obj/item/clothing/suit/armor/vest/ert/medical,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "hL" = (/obj/structure/table/rack,/obj/item/rig_module/device/rcd,/obj/item/rig_module/device/rcd,/obj/item/rig_module/device/plasmacutter,/obj/item/rig_module/device/plasmacutter,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "hM" = (/obj/structure/table/rack,/obj/item/rig_module/chem_dispenser/combat,/obj/item/rig_module/chem_dispenser/combat,/obj/item/rig_module/chem_dispenser/injector,/obj/item/rig_module/chem_dispenser/injector,/obj/item/rig_module/device/healthscanner,/obj/item/rig_module/device/healthscanner,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "hN" = (/obj/structure/table/rack,/obj/item/rig_module/mounted/egun,/obj/item/rig_module/mounted/egun,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"hO" = (/obj/structure/table/reinforced,/obj/item/device/megaphone,/obj/item/weapon/storage/box/trackimp,/obj/item/weapon/storage/box/cdeathalarm_kit,/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"hP" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert/command,/obj/item/clothing/head/helmet/ert/command,/obj/item/weapon/storage/backpack/ert/commander,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"hQ" = (/obj/structure/table/reinforced,/obj/item/device/aicard,/obj/item/weapon/stamp/centcomm,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"hO" = (/obj/structure/table/reinforced,/obj/item/megaphone,/obj/item/storage/box/trackimp,/obj/item/storage/box/cdeathalarm_kit,/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"hP" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert/command,/obj/item/clothing/head/helmet/ert/command,/obj/item/storage/backpack/ert/commander,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"hQ" = (/obj/structure/table/reinforced,/obj/item/aicard,/obj/item/stamp/centcomm,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "hR" = (/turf/unsimulated/wall,/area/ai_multicam_room) "hS" = (/obj/structure/flight_right{icon_state = "right"; dir = 4},/turf/simulated/shuttle/floor/red,/area/shuttle/response_ship/start) "hT" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/bed/chair{dir = 1},/turf/simulated/shuttle/floor/red,/area/shuttle/response_ship/start) @@ -412,21 +412,21 @@ "hV" = (/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor/red,/area/shuttle/response_ship/start) "hW" = (/obj/structure/reagent_dispensers/fueltank,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "hX" = (/obj/structure/table/steel_reinforced,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/meson,/obj/item/taperoll/engineering,/obj/item/taperoll/engineering,/obj/item/taperoll/engineering,/obj/item/taperoll/engineering,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"hY" = (/obj/structure/table/steel_reinforced,/obj/item/taperoll/atmos,/obj/item/taperoll/atmos,/obj/item/taperoll/atmos,/obj/item/weapon/pickaxe/drill,/obj/item/weapon/pickaxe/drill,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"hY" = (/obj/structure/table/steel_reinforced,/obj/item/taperoll/atmos,/obj/item/taperoll/atmos,/obj/item/taperoll/atmos,/obj/item/pickaxe/drill,/obj/item/pickaxe/drill,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "hZ" = (/obj/machinery/pipedispenser/disposal/orderable,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"ia" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/device/flash,/obj/item/device/flash,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"ib" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/pill_bottle/tramadol,/obj/item/weapon/storage/pill_bottle/tramadol,/obj/item/weapon/storage/pill_bottle/tramadol,/obj/item/weapon/storage/pill_bottle/dylovene,/obj/item/weapon/storage/pill_bottle/dylovene,/obj/item/weapon/storage/pill_bottle/dylovene,/obj/item/weapon/storage/pill_bottle/dermaline,/obj/item/weapon/storage/pill_bottle/dermaline,/obj/item/weapon/storage/pill_bottle/dermaline,/obj/item/weapon/storage/pill_bottle/spaceacillin,/obj/item/weapon/storage/pill_bottle/dexalin_plus,/obj/item/weapon/storage/pill_bottle/dexalin_plus,/obj/item/weapon/storage/pill_bottle/dexalin_plus,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"ic" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"id" = (/obj/structure/closet/crate/medical,/obj/item/weapon/surgical/circular_saw,/obj/item/weapon/surgical/surgicaldrill,/obj/item/weapon/surgical/bonegel{pixel_x = 4; pixel_y = 3},/obj/item/weapon/surgical/bonesetter,/obj/item/weapon/surgical/scalpel,/obj/item/weapon/surgical/retractor{pixel_x = 0; pixel_y = 6},/obj/item/weapon/surgical/hemostat{pixel_y = 4},/obj/item/weapon/surgical/cautery{pixel_y = 4},/obj/item/weapon/surgical/FixOVein{pixel_x = -6; pixel_y = 1},/obj/item/stack/nanopaste,/obj/item/weapon/tank/anesthetic,/obj/item/clothing/mask/breath/medical,/obj/item/clothing/mask/surgical,/obj/item/clothing/mask/surgical,/obj/item/weapon/autopsy_scanner,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"ia" = (/obj/structure/table/rack,/obj/item/gun/energy/stunrevolver,/obj/item/gun/energy/stunrevolver,/obj/item/flash,/obj/item/flash,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"ib" = (/obj/structure/table/reinforced,/obj/item/storage/pill_bottle/tramadol,/obj/item/storage/pill_bottle/tramadol,/obj/item/storage/pill_bottle/tramadol,/obj/item/storage/pill_bottle/dylovene,/obj/item/storage/pill_bottle/dylovene,/obj/item/storage/pill_bottle/dylovene,/obj/item/storage/pill_bottle/dermaline,/obj/item/storage/pill_bottle/dermaline,/obj/item/storage/pill_bottle/dermaline,/obj/item/storage/pill_bottle/spaceacillin,/obj/item/storage/pill_bottle/dexalin_plus,/obj/item/storage/pill_bottle/dexalin_plus,/obj/item/storage/pill_bottle/dexalin_plus,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"ic" = (/obj/structure/table/reinforced,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"id" = (/obj/structure/closet/crate/medical,/obj/item/surgical/circular_saw,/obj/item/surgical/surgicaldrill,/obj/item/surgical/bonegel{pixel_x = 4; pixel_y = 3},/obj/item/surgical/bonesetter,/obj/item/surgical/scalpel,/obj/item/surgical/retractor{pixel_x = 0; pixel_y = 6},/obj/item/surgical/hemostat{pixel_y = 4},/obj/item/surgical/cautery{pixel_y = 4},/obj/item/surgical/FixOVein{pixel_x = -6; pixel_y = 1},/obj/item/stack/nanopaste,/obj/item/tank/anesthetic,/obj/item/clothing/mask/breath/medical,/obj/item/clothing/mask/surgical,/obj/item/clothing/mask/surgical,/obj/item/autopsy_scanner,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "ie" = (/obj/machinery/iv_drip,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "if" = (/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"ig" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/flashbangs,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"ig" = (/obj/structure/table/reinforced,/obj/item/storage/box/flashbangs,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "ih" = (/obj/effect/floor_decal/corner/red{dir = 9},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt) -"ii" = (/obj/item/weapon/storage/box,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"ij" = (/obj/structure/table/rack,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/obj/item/weapon/storage/belt/utility/full,/obj/item/weapon/storage/belt/utility/full,/obj/item/weapon/storage/belt/utility/full,/obj/item/weapon/storage/belt/utility/full,/obj/item/weapon/storage/belt/utility/full,/obj/item/weapon/storage/belt/utility/full,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"ik" = (/obj/structure/table/rack,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical/emt,/obj/item/weapon/storage/belt/medical/emt,/obj/item/weapon/storage/belt/medical/emt,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"il" = (/obj/structure/table/reinforced,/obj/item/weapon/tool/crowbar,/obj/item/weapon/tool/screwdriver,/obj/item/weapon/tool/wrench,/obj/item/weapon/tool/crowbar,/obj/item/weapon/tool/screwdriver,/obj/item/weapon/tool/wrench,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"im" = (/obj/structure/table/reinforced,/obj/item/weapon/pinpointer/advpinpointer,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"ii" = (/obj/item/storage/box,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"ij" = (/obj/structure/table/rack,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/obj/item/storage/belt/utility/full,/obj/item/storage/belt/utility/full,/obj/item/storage/belt/utility/full,/obj/item/storage/belt/utility/full,/obj/item/storage/belt/utility/full,/obj/item/storage/belt/utility/full,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"ik" = (/obj/structure/table/rack,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/item/storage/belt/medical,/obj/item/storage/belt/medical,/obj/item/storage/belt/medical,/obj/item/storage/belt/medical/emt,/obj/item/storage/belt/medical/emt,/obj/item/storage/belt/medical/emt,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"il" = (/obj/structure/table/reinforced,/obj/item/tool/crowbar,/obj/item/tool/screwdriver,/obj/item/tool/wrench,/obj/item/tool/crowbar,/obj/item/tool/screwdriver,/obj/item/tool/wrench,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"im" = (/obj/structure/table/reinforced,/obj/item/pinpointer/advpinpointer,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "in" = (/turf/unsimulated/wall{desc = "That looks like it doesn't open easily."; dir = 8; icon = 'icons/obj/doors/rapid_pdoor.dmi'; icon_state = "pdoor1"; name = "Shuttle Bay Blast Door"},/area/centcom/specops) "io" = (/obj/machinery/shield_gen,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "ip" = (/obj/machinery/shield_gen/external,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) @@ -436,27 +436,27 @@ "it" = (/obj/machinery/portable_atmospherics/canister/air,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "iu" = (/obj/machinery/shieldwallgen,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "iv" = (/obj/machinery/shieldgen,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"iw" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/bodybags{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/box/bodybags,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"ix" = (/obj/structure/table/reinforced,/obj/item/device/pda/ert,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"iw" = (/obj/structure/table/reinforced,/obj/item/storage/box/bodybags{pixel_x = 2; pixel_y = 2},/obj/item/storage/box/bodybags,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"ix" = (/obj/structure/table/reinforced,/obj/item/pda/ert,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "iy" = (/obj/machinery/shield_capacitor,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"iz" = (/obj/item/weapon/extinguisher,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"iA" = (/obj/structure/table/reinforced,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/item/weapon/packageWrap,/obj/item/weapon/hand_labeler,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/item/weapon/reagent_containers/spray/sterilizine,/obj/item/weapon/reagent_containers/spray/sterilizine,/obj/item/device/flashlight/pen,/obj/item/device/flashlight/pen,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"iB" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/firstaid/combat{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/firstaid/combat,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"iC" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/firstaid/fire{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/firstaid/fire,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"iD" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/firstaid/toxin{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/firstaid/toxin,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"iE" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/firstaid/adv{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/firstaid/adv,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"iF" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/firstaid/o2{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/firstaid/o2,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"iG" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/firstaid/regular,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"iH" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/firstaid/clotting{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/firstaid/clotting,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"iz" = (/obj/item/extinguisher,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"iA" = (/obj/structure/table/reinforced,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/item/packageWrap,/obj/item/hand_labeler,/obj/item/reagent_containers/spray/cleaner,/obj/item/reagent_containers/spray/cleaner,/obj/item/reagent_containers/spray/sterilizine,/obj/item/reagent_containers/spray/sterilizine,/obj/item/flashlight/pen,/obj/item/flashlight/pen,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"iB" = (/obj/structure/table/reinforced,/obj/item/storage/firstaid/combat{pixel_x = 2; pixel_y = 2},/obj/item/storage/firstaid/combat,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"iC" = (/obj/structure/table/reinforced,/obj/item/storage/firstaid/fire{pixel_x = 2; pixel_y = 2},/obj/item/storage/firstaid/fire,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"iD" = (/obj/structure/table/reinforced,/obj/item/storage/firstaid/toxin{pixel_x = 2; pixel_y = 2},/obj/item/storage/firstaid/toxin,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"iE" = (/obj/structure/table/reinforced,/obj/item/storage/firstaid/adv{pixel_x = 2; pixel_y = 2},/obj/item/storage/firstaid/adv,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"iF" = (/obj/structure/table/reinforced,/obj/item/storage/firstaid/o2{pixel_x = 2; pixel_y = 2},/obj/item/storage/firstaid/o2,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"iG" = (/obj/structure/table/reinforced,/obj/item/storage/firstaid/regular{pixel_x = 2; pixel_y = 2},/obj/item/storage/firstaid/regular,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"iH" = (/obj/structure/table/reinforced,/obj/item/storage/firstaid/clotting{pixel_x = 2; pixel_y = 2},/obj/item/storage/firstaid/clotting,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "iI" = (/obj/structure/table/reinforced,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "iJ" = (/obj/structure/table/rack,/obj/item/rig_module/device/drill,/obj/item/rig_module/device/drill,/obj/item/rig_module/maneuvering_jets,/obj/item/rig_module/maneuvering_jets,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "iK" = (/obj/structure/table/rack,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/mounted/taser,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "iL" = (/obj/structure/table/rack,/obj/item/rig_module/grenade_launcher,/obj/item/rig_module/grenade_launcher,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"iM" = (/obj/structure/closet/crate,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/weapon/storage/box,/obj/item/weapon/storage/box,/obj/item/weapon/storage/box,/obj/item/weapon/storage/box,/obj/item/weapon/storage/box,/obj/item/weapon/storage/box,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"iM" = (/obj/structure/closet/crate,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/storage/box,/obj/item/storage/box,/obj/item/storage/box,/obj/item/storage/box,/obj/item/storage/box,/obj/item/storage/box,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "iN" = (/obj/machinery/autolathe{desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; hacked = 1; name = "Unlocked Autolathe"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"iO" = (/obj/structure/table/reinforced,/obj/item/weapon/handcuffs,/obj/item/device/flash,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/storage/belt/security/tactical,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/clothing/glasses/sunglasses/sechud/tactical,/obj/item/weapon/material/knife/tacknife/combatknife,/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"iP" = (/obj/structure/table/rack,/obj/item/weapon/rig/ert,/obj/item/clothing/accessory/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"iQ" = (/obj/structure/table/reinforced,/obj/item/weapon/gun/energy/gun/nuclear,/obj/item/weapon/hand_tele,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"iO" = (/obj/structure/table/reinforced,/obj/item/handcuffs,/obj/item/flash,/obj/item/melee/baton/loaded,/obj/item/storage/belt/security/tactical,/obj/item/gun/energy/stunrevolver,/obj/item/clothing/glasses/sunglasses/sechud/tactical,/obj/item/material/knife/tacknife/combatknife,/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"iP" = (/obj/structure/table/rack,/obj/item/rig/ert,/obj/item/clothing/accessory/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) +"iQ" = (/obj/structure/table/reinforced,/obj/item/gun/energy/gun/nuclear,/obj/item/hand_tele,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) "iR" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "CREED"; name = "Ready Room"; p_open = 0},/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) "iS" = (/obj/structure/sign/warning/docking_area,/turf/unsimulated/wall,/area/centcom/command) "iT" = (/obj/effect/wingrille_spawn/reinforced/crescent,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/command) @@ -487,7 +487,7 @@ "js" = (/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/command) "jt" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room) "ju" = (/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/centcom/creed) -"jv" = (/obj/structure/table/rack,/obj/item/weapon/storage/secure/briefcase,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/flame/lighter/zippo,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/storage/backpack/satchel,/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/centcom/creed) +"jv" = (/obj/structure/table/rack,/obj/item/storage/secure/briefcase,/obj/item/storage/fancy/cigarettes,/obj/item/flame/lighter/zippo,/obj/item/storage/belt/utility,/obj/item/storage/backpack/satchel,/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/centcom/creed) "jw" = (/obj/effect/shuttle_landmark/southern_cross/escape_pod1/offsite,/turf/simulated/shuttle/plating,/area/shuttle/escape_pod1/centcom) "jx" = (/obj/effect/shuttle_landmark/southern_cross/escape_pod2/offsite,/turf/simulated/shuttle/plating,/area/shuttle/escape_pod2/centcom) "jy" = (/obj/effect/floor_decal/corner/red{dir = 6},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt) @@ -501,25 +501,25 @@ "jG" = (/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 5},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/command) "jH" = (/obj/structure/table/wooden_reinforced,/obj/machinery/computer/security/telescreen{name = "Spec. Ops. Monitor"; network = list("ERT")},/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/centcom/creed) "jI" = (/obj/structure/bed/chair/office/dark,/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/centcom/creed) -"jJ" = (/obj/item/device/radio/intercom/specops{pixel_y = -21},/obj/machinery/computer/communications{dir = 1},/turf/simulated/shuttle/floor/red,/area/shuttle/response_ship/start) +"jJ" = (/obj/item/radio/intercom/specops{pixel_y = -21},/obj/machinery/computer/communications{dir = 1},/turf/simulated/shuttle/floor/red,/area/shuttle/response_ship/start) "jK" = (/obj/structure/closet/secure_closet/hos,/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/centcom/creed) "jL" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/turf/simulated/shuttle/floor,/area/shuttle/supply) "jM" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 1},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating/airless,/area/centcom/evac) "jN" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_1_recovery_hatch"; locked = 1; name = "Recovery Shuttle Dock 1"; req_access = list(13)},/turf/simulated/shuttle/floor/black,/area/centcom/evac) "jO" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_2_recovery_hatch"; locked = 1; name = "Recovery Shuttle Dock 2"; req_access = list(13)},/turf/simulated/shuttle/floor/black,/area/centcom/evac) "jP" = (/obj/machinery/door/airlock/command{name = "Thunderdome Administration"; req_access = list(102)},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) -"jQ" = (/obj/structure/table/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/head/helmet/thunderdome,/obj/item/weapon/melee/baton/loaded,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) -"jR" = (/obj/structure/closet/chefcloset,/obj/item/glass_jar,/obj/item/device/retail_scanner/civilian,/obj/item/weapon/soap/nanotrasen,/obj/item/device/destTagger{pixel_x = 4; pixel_y = 3},/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/effect/floor_decal/corner/white/diagonal,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) +"jQ" = (/obj/structure/table/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/head/helmet/thunderdome,/obj/item/melee/baton/loaded,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) +"jR" = (/obj/structure/closet/chefcloset,/obj/item/glass_jar,/obj/item/retail_scanner/civilian,/obj/item/soap/nanotrasen,/obj/item/destTagger{pixel_x = 4; pixel_y = 3},/obj/item/packageWrap,/obj/item/packageWrap,/obj/item/packageWrap,/obj/effect/floor_decal/corner/white/diagonal,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) "jS" = (/obj/effect/floor_decal/corner/white/diagonal,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) "jT" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/bar) "jU" = (/obj/structure/bed/chair/comfy/teal{dir = 4},/obj/effect/floor_decal/carpet{dir = 8},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/command) "jV" = (/obj/structure/table/woodentable{dir = 5},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/command) -"jW" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/bananapeel,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/command) +"jW" = (/obj/structure/table/woodentable{dir = 5},/obj/item/bananapeel,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/command) "jX" = (/obj/structure/bed/chair/comfy/teal{dir = 8},/obj/effect/floor_decal/carpet{dir = 4},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/command) "jY" = (/obj/structure/table/wooden_reinforced,/obj/machinery/button/remote/blast_door{name = "Spec Ops Ready Room"; pixel_y = 15; req_access = list(11); id = "CREED"},/obj/machinery/button/remote/blast_door{name = "Mech Storage"; icon_state = "doorctrl0"; pixel_y = 0; req_access = list(11); id = "ASSAULT"},/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/centcom/creed) "jZ" = (/obj/structure/table/wooden_reinforced,/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/centcom/creed) "ka" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "supply_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = list(13)},/turf/simulated/shuttle/plating,/area/shuttle/supply) -"kb" = (/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/table/rack,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/shuttle/plating,/area/centcom/evac) +"kb" = (/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/table/rack,/obj/item/reagent_containers/spray/cleaner,/turf/simulated/shuttle/plating,/area/centcom/evac) "kc" = (/obj/structure/window/reinforced{dir = 1; health = 1e+006},/turf/simulated/shuttle/plating,/area/centcom/evac) "kd" = (/obj/structure/closet/emcloset,/turf/simulated/shuttle/floor/yellow,/area/centcom/evac) "ke" = (/turf/simulated/shuttle/floor/yellow,/area/centcom/evac) @@ -528,32 +528,32 @@ "kh" = (/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/shuttle/plating,/area/centcom/evac) "ki" = (/obj/machinery/door/blast/regular{id = "thunderdomegen"; name = "General Supply"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) "kj" = (/turf/unsimulated/floor{icon_state = "asteroid"},/area/centcom/main_hall) -"kk" = (/obj/structure/mopbucket,/obj/item/weapon/mop,/turf/simulated/shuttle/plating,/area/centcom/evac) +"kk" = (/obj/structure/mopbucket,/obj/item/mop,/turf/simulated/shuttle/plating,/area/centcom/evac) "kl" = (/turf/simulated/shuttle/plating,/area/centcom/evac) "km" = (/obj/machinery/door/airlock/maintenance_hatch{req_access = list(101)},/turf/simulated/shuttle/floor/black,/area/centcom/evac) "kn" = (/turf/simulated/shuttle/floor,/area/centcom/evac) -"ko" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/medical,/turf/simulated/shuttle/floor,/area/centcom/evac) +"ko" = (/obj/structure/bed/padded,/obj/item/bedsheet/medical,/turf/simulated/shuttle/floor,/area/centcom/evac) "kp" = (/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/structure/closet/secure_closet/personal,/turf/simulated/shuttle/floor,/area/centcom/evac) "kq" = (/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/closet/secure_closet/personal,/turf/simulated/shuttle/floor,/area/centcom/evac) "kr" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/shuttle/plating,/area/centcom/evac) -"ks" = (/obj/structure/table/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/weapon/gun/energy/laser,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) +"ks" = (/obj/structure/table/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/gun/energy/laser,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) "kt" = (/obj/machinery/door/blast/regular{id = "thunderdomehea"; name = "Heavy Supply"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) "ku" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome/tdome2) "kv" = (/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome/tdome2) "kw" = (/obj/machinery/door/blast/regular{id = "thunderdomeaxe"; name = "Axe Supply"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) -"kx" = (/obj/structure/table/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/weapon/melee/energy/axe,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) +"kx" = (/obj/structure/table/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/melee/energy/axe,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) "ky" = (/obj/machinery/door/airlock/centcom{name = "Courthouse"; opacity = 1},/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/command) "kz" = (/obj/machinery/door/airlock/centcom{name = "Administrative Office"; opacity = 1; req_access = list(108)},/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/centcom/creed) "kA" = (/mob/living/simple_mob/animal/passive/dog/corgi/puppy/Bockscar,/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/centcom/creed) "kB" = (/obj/machinery/telecomms/relay/preset/centcom,/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/centcom/creed) "kC" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "supply_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/supply) "kD" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "supply_shuttle"; pixel_x = 25; pixel_y = 0; req_one_access = list(13,31); tag_door = "supply_shuttle_hatch"},/obj/effect/shuttle_landmark/southern_cross/supply_offsite,/turf/simulated/shuttle/floor,/area/shuttle/supply) -"kE" = (/obj/structure/reagent_dispensers/watertank,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/shuttle/plating,/area/centcom/evac) +"kE" = (/obj/structure/reagent_dispensers/watertank,/obj/item/reagent_containers/glass/bucket,/turf/simulated/shuttle/plating,/area/centcom/evac) "kF" = (/obj/machinery/vending/engineering,/turf/simulated/shuttle/plating,/area/centcom/evac) "kG" = (/obj/machinery/portable_atmospherics/powered/pump,/turf/simulated/shuttle/plating,/area/centcom/evac) "kH" = (/obj/structure/table/standard,/obj/machinery/recharger{pixel_y = 4},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome/tdome2) "kI" = (/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/main_hall) -"kJ" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/storage/briefcase,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/command) +"kJ" = (/obj/structure/table/woodentable{dir = 5},/obj/item/storage/briefcase,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/command) "kK" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/turf/simulated/shuttle/floor,/area/shuttle/supply) "kL" = (/turf/unsimulated/wall{desc = "That looks like it doesn't open easily."; icon = 'icons/obj/doors/rapid_pdoor.dmi'; icon_state = "pdoor1"; name = "Shuttle Bay Blast Door"},/area/centcom/evac) "kM" = (/turf/simulated/shuttle/plating,/area/shuttle/escape_pod7/centcom) @@ -591,11 +591,11 @@ "ls" = (/turf/simulated/shuttle/wall,/area/shuttle/transport1/centcom) "lt" = (/obj/structure/grille,/obj/structure/shuttle/window,/turf/simulated/shuttle/plating,/area/shuttle/transport1/centcom) "lu" = (/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/command) -"lv" = (/obj/structure/bed,/obj/item/weapon/bedsheet/orange,/turf/simulated/shuttle/plating,/area/centcom/evac) +"lv" = (/obj/structure/bed,/obj/item/bedsheet/orange,/turf/simulated/shuttle/plating,/area/centcom/evac) "lw" = (/turf/simulated/shuttle/wall/dark/no_join,/area/centcom/evac) "lx" = (/obj/structure/closet/secure_closet/security,/turf/simulated/shuttle/floor{icon_state = "floor_red"},/area/centcom/evac) "ly" = (/obj/structure/closet{name = "Evidence Closet"},/turf/simulated/shuttle/floor{icon_state = "floor_red"},/area/centcom/evac) -"lz" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/turf/simulated/shuttle/floor{icon_state = "floor_red"},/area/centcom/evac) +"lz" = (/obj/structure/table/reinforced,/obj/item/paper_bin,/obj/item/pen,/turf/simulated/shuttle/floor{icon_state = "floor_red"},/area/centcom/evac) "lA" = (/obj/structure/table/rack,/turf/simulated/shuttle/floor{icon_state = "floor_red"},/area/centcom/evac) "lB" = (/obj/structure/shuttle/window,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/centcom/evac) "lC" = (/obj/machinery/door/airlock/glass,/turf/simulated/shuttle/floor,/area/centcom/evac) @@ -620,9 +620,9 @@ "lV" = (/obj/machinery/vending/snack,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeobserve) "lW" = (/obj/structure/closet/secure_closet/freezer/meat,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/bar) "lX" = (/obj/machinery/gibber,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/bar) -"lY" = (/obj/structure/reagent_dispensers/watertank/high,/obj/item/weapon/reagent_containers/glass/bucket,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) +"lY" = (/obj/structure/reagent_dispensers/watertank/high,/obj/item/reagent_containers/glass/bucket,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) "lZ" = (/obj/machinery/door/airlock/glass,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) -"ma" = (/obj/structure/table/marble,/obj/item/weapon/reagent_containers/glass/beaker,/obj/effect/floor_decal/corner/white/diagonal,/obj/machinery/reagentgrinder,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) +"ma" = (/obj/structure/table/marble,/obj/item/reagent_containers/glass/beaker,/obj/effect/floor_decal/corner/white/diagonal,/obj/machinery/reagentgrinder,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) "mb" = (/obj/machinery/door/airlock/freezer,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/bar) "mc" = (/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/command) "md" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/command) @@ -638,14 +638,14 @@ "mn" = (/obj/effect/landmark/ai_multicam_room,/turf/unsimulated/ai_visible,/area/ai_multicam_room) "mo" = (/obj/machinery/door/airlock/glass_security{name = "Escape Shuttle Cell"; req_access = list(1)},/turf/simulated/shuttle/plating,/area/centcom/evac) "mp" = (/obj/machinery/door/airlock/glass_security{name = "Security Processing"; req_access = list(1)},/turf/simulated/shuttle/floor{icon_state = "floor_red"},/area/centcom/evac) -"mq" = (/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) -"mr" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer,/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer,/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer,/obj/item/weapon/flame/lighter/zippo,/obj/item/weapon/storage/fancy/cigarettes,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeobserve) +"mq" = (/obj/item/grenade/chem_grenade/cleaner,/obj/item/grenade/chem_grenade/cleaner,/obj/item/grenade/chem_grenade/cleaner,/obj/item/grenade/chem_grenade/cleaner,/obj/item/grenade/chem_grenade/cleaner,/obj/item/grenade/chem_grenade/cleaner,/obj/item/grenade/chem_grenade/cleaner,/obj/item/grenade/chem_grenade/cleaner,/obj/item/grenade/chem_grenade/cleaner,/obj/item/grenade/chem_grenade/cleaner,/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) +"mr" = (/obj/structure/table/standard,/obj/item/reagent_containers/food/drinks/bottle/small/beer,/obj/item/reagent_containers/food/drinks/bottle/small/beer,/obj/item/reagent_containers/food/drinks/bottle/small/beer,/obj/item/flame/lighter/zippo,/obj/item/storage/fancy/cigarettes,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeobserve) "ms" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access = list(101)},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/main_hall) -"mt" = (/obj/item/weapon/stool/padded,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) +"mt" = (/obj/item/stool/padded,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) "mu" = (/obj/machinery/biogenerator,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) "mv" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/marble,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) "mw" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/machinery/appliance/cooker/fryer,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) -"mx" = (/obj/machinery/computer/card/centcom{dir = 4},/obj/item/weapon/card/id/centcom,/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/centcom/creed) +"mx" = (/obj/machinery/computer/card/centcom{dir = 4},/obj/item/card/id/centcom,/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/centcom/creed) "my" = (/obj/structure/bed/chair{dir = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/command) "mz" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "burst_l"; dir = 8},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/response_ship/start) "mA" = (/obj/structure/shuttle/engine/heater{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/shuttle/plating/airless,/area/shuttle/transport1/centcom) @@ -669,14 +669,14 @@ "mS" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "burst_r"; dir = 8},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/response_ship/start) "mT" = (/obj/machinery/computer/pod{id = "thunderdomegen"; name = "Thunderdome General Supply"},/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) "mU" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/machinery/appliance/cooker/oven,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) -"mV" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/weapon/material/knife/machete/hatchet,/obj/item/weapon/material/knife/machete/hatchet,/obj/item/weapon/material/minihoe,/obj/item/weapon/material/minihoe,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) +"mV" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/material/knife/machete/hatchet,/obj/item/material/knife/machete/hatchet,/obj/item/material/minihoe,/obj/item/material/minihoe,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) "mW" = (/obj/machinery/smartfridge/drying_rack,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) -"mX" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/reagent_containers/glass/bucket,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) +"mX" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/reagent_containers/glass/bucket,/obj/item/reagent_containers/glass/bucket,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) "mY" = (/obj/machinery/door/airlock/centcom{name = "Maintenance Access"; opacity = 1; req_access = list(106)},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/main_hall) "mZ" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/command) "na" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "large_escape_pod_2_recovery_hatch"; locked = 1; name = "Recovery Shuttle Dock 02"; req_access = list(13)},/turf/simulated/shuttle/floor/black,/area/centcom/evac) "nb" = (/obj/machinery/computer/pod{id = "thunderdomehea"; name = "Thunderdome Heavy Supply"},/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) -"nc" = (/obj/item/weapon/tool/wrench,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) +"nc" = (/obj/item/tool/wrench,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) "nd" = (/obj/machinery/door/airlock/command{name = "Thunderdome Administration"; req_access = list(102)},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) "ne" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 6},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) "nf" = (/obj/machinery/atmospherics/pipe/vent{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) @@ -684,7 +684,7 @@ "nh" = (/obj/machinery/seed_storage/garden,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) "ni" = (/obj/machinery/honey_extractor,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) "nj" = (/obj/machinery/vending/hydronutrients,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) -"nk" = (/obj/machinery/computer/pod{dir = 8; id = "NTrasen"; name = "Hull Door Control"},/obj/item/device/radio/intercom/specops{pixel_y = -21},/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/centcom/creed) +"nk" = (/obj/machinery/computer/pod{dir = 8; id = "NTrasen"; name = "Hull Door Control"},/obj/item/radio/intercom/specops{pixel_y = -21},/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/centcom/creed) "nl" = (/obj/structure/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/command) "nm" = (/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/command) "nn" = (/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/command) @@ -714,25 +714,25 @@ "nL" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/command) "nM" = (/obj/machinery/door/airlock/external,/turf/simulated/shuttle/floor,/area/centcom/evac) "nN" = (/obj/machinery/computer/pod{id = "thunderdome"; name = "Thunderdome Blast Door Control"},/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) -"nO" = (/obj/item/weapon/extinguisher,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) +"nO" = (/obj/item/extinguisher,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) "nP" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 5},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) -"nQ" = (/obj/structure/table/marble,/obj/item/weapon/storage/box/glasses/square,/obj/item/weapon/storage/box/glasses/square,/obj/effect/floor_decal/corner/white/diagonal,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) +"nQ" = (/obj/structure/table/marble,/obj/item/storage/box/glasses/square,/obj/item/storage/box/glasses/square,/obj/effect/floor_decal/corner/white/diagonal,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) "nR" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/machinery/icecream_vat,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) "nS" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"; dir = 1},/turf/simulated/shuttle/plating/airless/carry,/area/centcom/evac) "nT" = (/obj/machinery/computer/shuttle_control/web/shuttle1,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/command) -"nU" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; frequency = 1443; listening = 0; name = "Spec Ops Intercom"; pixel_y = 22},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/command) +"nU" = (/obj/item/radio/intercom{broadcasting = 1; dir = 1; frequency = 1443; listening = 0; name = "Spec Ops Intercom"; pixel_y = 22},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/command) "nV" = (/obj/machinery/door/window{dir = 2; name = "AI Core Door"; req_access = list(109)},/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/command) "nW" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/obj/machinery/turretid{pixel_x = 0; pixel_y = 28; req_access = list(101)},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/command) "nX" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 1},/turf/simulated/shuttle/plating/airless/carry,/area/centcom/evac) "nY" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "admin_shuttle_bay"; name = "shuttle bay controller"; pixel_x = 0; pixel_y = -26; tag_door = "admin_shuttle_bay_door"},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) "nZ" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "large_escape_pod_1_recovery"; pixel_x = -25; pixel_y = -25; req_one_access = list(13); tag_door = "large_escape_pod_1_recovery_hatch"},/turf/simulated/shuttle/floor/yellow,/area/centcom/evac) "oa" = (/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) -"ob" = (/obj/structure/table/marble,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/material/kitchen/rollingpin,/obj/effect/floor_decal/corner/white/diagonal,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) +"ob" = (/obj/structure/table/marble,/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/material/kitchen/rollingpin,/obj/effect/floor_decal/corner/white/diagonal,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) "oc" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/marble,/obj/machinery/chemical_dispenser/bar_soft/full,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) -"od" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/marble,/obj/item/weapon/reagent_containers/food/condiment/enzyme,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) +"od" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/marble,/obj/item/reagent_containers/food/condiment/enzyme,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) "oe" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/machinery/appliance/mixer/cereal,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) -"of" = (/obj/structure/table/reinforced,/obj/item/weapon/card/id/gold/captain/spare,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/command) -"og" = (/obj/structure/table/reinforced,/obj/item/device/pda/captain,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/command) +"of" = (/obj/structure/table/reinforced,/obj/item/card/id/gold/captain/spare,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/command) +"og" = (/obj/structure/table/reinforced,/obj/item/pda/captain,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/command) "oh" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "admin_shuttle_bay_door"; locked = 1},/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/command) "oi" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "large_escape_pod_1_recovery_hatch"; locked = 1; name = "Recovery Shuttle Dock 01"; req_access = list(13)},/turf/simulated/shuttle/floor/black,/area/centcom/evac) "oj" = (/obj/structure/table/standard,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) @@ -746,12 +746,12 @@ "or" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/command) "os" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/command) "ot" = (/turf/simulated/shuttle/plating,/area/shuttle/cryo/centcom) -"ou" = (/obj/structure/table/standard,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/random/soap,/obj/random/soap,/turf/simulated/shuttle/floor/white,/area/centcom/evac) +"ou" = (/obj/structure/table/standard,/obj/item/towel,/obj/item/towel,/obj/item/towel,/obj/item/towel,/obj/random/soap,/obj/random/soap,/turf/simulated/shuttle/floor/white,/area/centcom/evac) "ov" = (/obj/machinery/recharge_station,/turf/simulated/shuttle/floor/white,/area/centcom/evac) "ow" = (/obj/structure/toilet,/turf/simulated/shuttle/floor/white,/area/centcom/evac) "ox" = (/turf/simulated/shuttle/plating,/area/shuttle/large_escape_pod1/centcom) -"oy" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/handcuffs,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) -"oz" = (/obj/item/weapon/stool/padded,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) +"oy" = (/obj/structure/table/standard,/obj/item/storage/box/handcuffs,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) +"oz" = (/obj/item/stool/padded,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) "oA" = (/obj/structure/flora/pottedplant,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/bar) "oB" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/machinery/door/airlock/glass,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) "oC" = (/obj/machinery/telecomms/broadcaster/preset_cent,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/main_hall) @@ -762,16 +762,16 @@ "oH" = (/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/turf/simulated/shuttle/floor/white,/area/centcom/evac) "oI" = (/obj/machinery/door/airlock{name = "Unit 1"},/turf/simulated/shuttle/floor/white,/area/centcom/evac) "oJ" = (/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) -"oK" = (/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeobserve) -"oL" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/marble,/obj/item/weapon/reagent_containers/food/snacks/spesslaw,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) -"oM" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/marble,/obj/item/weapon/reagent_containers/food/snacks/stuffing,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) +"oK" = (/obj/item/reagent_containers/food/drinks/cans/cola,/obj/item/reagent_containers/food/drinks/cans/cola,/obj/item/reagent_containers/food/drinks/cans/cola,/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeobserve) +"oL" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/marble,/obj/item/reagent_containers/food/snacks/spesslaw,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) +"oM" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/marble,/obj/item/reagent_containers/food/snacks/stuffing,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) "oN" = (/obj/machinery/telecomms/hub/preset/southerncross/centcomm,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/main_hall) "oO" = (/obj/machinery/computer/shuttle_control/centcom{dir = 8},/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) "oP" = (/obj/structure/table/reinforced,/obj/machinery/photocopier/faxmachine,/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/command) "oQ" = (/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 8},/obj/machinery/computer/supplycomp/control{dir = 4},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/command) "oR" = (/turf/simulated/shuttle/wall/dark,/area/shuttle/administration/centcom) "oS" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "admin_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = list(13)},/turf/simulated/floor/plating,/area/shuttle/administration/centcom) -"oT" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/electrical,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) +"oT" = (/obj/structure/table/standard,/obj/item/storage/toolbox/electrical,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) "oU" = (/obj/machinery/computer/robotics{dir = 8},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/command) "oV" = (/obj/machinery/vending/boozeomat,/turf/simulated/shuttle/wall/dark,/area/shuttle/administration/centcom) "oW" = (/obj/machinery/vending/coffee,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) @@ -779,12 +779,12 @@ "oY" = (/obj/machinery/microwave,/obj/structure/table/reinforced,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) "oZ" = (/turf/simulated/shuttle/wall/hard_corner,/area/shuttle/supply) "pa" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/plating,/area/shuttle/administration/centcom) -"pb" = (/obj/item/device/multitool,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/structure/table/reinforced,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) -"pc" = (/obj/item/weapon/storage/toolbox/mechanical,/obj/structure/table/reinforced,/obj/machinery/light{dir = 1},/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) +"pb" = (/obj/item/multitool,/obj/item/reagent_containers/spray/cleaner,/obj/structure/table/reinforced,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) +"pc" = (/obj/item/storage/toolbox/mechanical,/obj/structure/table/reinforced,/obj/machinery/light{dir = 1},/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) "pd" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "cryostorage_shuttle_recovery_hatch"; locked = 1; name = "Recovery Shuttle Dock Cryostorage"; req_access = list(13)},/turf/simulated/shuttle/floor/black,/area/centcom/evac) "pe" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "cryostorage_shuttle_recovery"; pixel_x = -26; pixel_y = 26; req_one_access = list(13); tag_door = "cryostorage_shuttle_recovery_hatch"},/turf/simulated/shuttle/floor,/area/centcom/evac) "pf" = (/obj/machinery/door/airlock{name = "Unisex Restrooms"},/turf/simulated/shuttle/floor,/area/centcom/evac) -"pg" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/mechanical,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) +"pg" = (/obj/structure/table/standard,/obj/item/storage/toolbox/mechanical,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) "ph" = (/obj/machinery/telecomms/receiver/preset_cent,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/main_hall) "pi" = (/obj/machinery/telecomms/bus/preset_cent,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/main_hall) "pj" = (/obj/machinery/telecomms/relay/preset/southerncross/transit,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/main_hall) @@ -795,46 +795,46 @@ "po" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access = list(101)},/turf/simulated/floor/plating,/area/shuttle/administration/centcom) "pp" = (/obj/structure/table/standard,/obj/machinery/recharger{pixel_y = 4},/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) "pq" = (/obj/machinery/cell_charger,/obj/structure/table/reinforced,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) -"pr" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/marble,/obj/item/weapon/reagent_containers/food/snacks/slice/orangecake/filled,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) -"ps" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/marble,/obj/item/weapon/reagent_containers/food/snacks/meatsteak,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) +"pr" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/marble,/obj/item/reagent_containers/food/snacks/slice/orangecake/filled,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) +"ps" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/marble,/obj/item/reagent_containers/food/snacks/meatsteak,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) "pt" = (/obj/machinery/door/window/northright,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) "pu" = (/obj/structure/table/reinforced,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) -"pv" = (/obj/item/weapon/flame/lighter/zippo,/obj/structure/table/reinforced,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) -"pw" = (/obj/item/weapon/storage/fancy/cigarettes,/obj/structure/table/reinforced,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) +"pv" = (/obj/item/flame/lighter/zippo,/obj/structure/table/reinforced,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) +"pw" = (/obj/item/storage/fancy/cigarettes,/obj/structure/table/reinforced,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) "px" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) "py" = (/obj/machinery/door/airlock/glass,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) "pz" = (/obj/item/stack/material/glass{amount = 50},/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) "pA" = (/obj/item/stack/material/steel{amount = 50},/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) "pB" = (/obj/machinery/door/airlock{name = "Unisex Showers"},/turf/simulated/shuttle/floor/white,/area/centcom/evac) -"pC" = (/obj/structure/table/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/weapon/gun/energy/laser,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) +"pC" = (/obj/structure/table/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/gun/energy/laser,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) "pD" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome/tdome1) "pE" = (/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome/tdome1) -"pF" = (/obj/structure/table/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/weapon/melee/energy/axe,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) +"pF" = (/obj/structure/table/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/melee/energy/axe,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) "pG" = (/obj/structure/table/glass,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/main_hall) -"pH" = (/obj/structure/table/standard,/obj/item/weapon/material/kitchen/utensil/fork,/obj/item/weapon/material/kitchen/utensil/spoon{pixel_x = 2},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) +"pH" = (/obj/structure/table/standard,/obj/item/material/kitchen/utensil/fork,/obj/item/material/kitchen/utensil/spoon{pixel_x = 2},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) "pI" = (/obj/structure/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/bar) "pJ" = (/obj/structure/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/bar) -"pK" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/marble,/obj/item/weapon/reagent_containers/food/snacks/soylenviridians,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) -"pL" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/item/weapon/stool/padded,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) -"pM" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/marble,/obj/item/weapon/reagent_containers/food/snacks/candiedapple,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) +"pK" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/marble,/obj/item/reagent_containers/food/snacks/soylenviridians,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) +"pL" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/item/stool/padded,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) +"pM" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/marble,/obj/item/reagent_containers/food/snacks/candiedapple,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) "pN" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) -"pO" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker,/obj/item/weapon/reagent_containers/food/condiment/small/peppermill,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/bar) +"pO" = (/obj/structure/table/standard,/obj/item/reagent_containers/food/condiment/small/saltshaker,/obj/item/reagent_containers/food/condiment/small/peppermill,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/bar) "pP" = (/turf/unsimulated/wall,/area/centcom/bar) "pQ" = (/obj/structure/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) "pR" = (/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) -"pS" = (/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 9},/obj/structure/bed/padded,/obj/item/weapon/bedsheet/captain,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) +"pS" = (/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 9},/obj/structure/bed/padded,/obj/item/bedsheet/captain,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) "pT" = (/obj/effect/floor_decal/carpet{dir = 1},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) "pU" = (/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 5},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) "pV" = (/obj/machinery/door/airlock/centcom{name = "Living Quarters"; opacity = 1; req_access = list(105)},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/living) "pW" = (/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/living) "pX" = (/turf/unsimulated/wall,/area/centcom/living) "pY" = (/obj/effect/floor_decal/corner/yellow/diagonal,/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/living) -"pZ" = (/obj/item/weapon/stool/padded,/obj/effect/floor_decal/corner/yellow/diagonal,/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/living) -"qa" = (/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{pixel_x = 2; pixel_y = 6},/obj/structure/table/standard,/obj/effect/floor_decal/corner/yellow/diagonal,/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/living) +"pZ" = (/obj/item/stool/padded,/obj/effect/floor_decal/corner/yellow/diagonal,/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/living) +"qa" = (/obj/item/reagent_containers/food/condiment/small/peppermill{pixel_x = 2; pixel_y = 6},/obj/structure/table/standard,/obj/effect/floor_decal/corner/yellow/diagonal,/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/living) "qb" = (/obj/structure/table/holotable,/obj/machinery/readybutton{pixel_y = 0},/obj/effect/floor_decal/corner/red/full,/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt) "qc" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating/airless,/area/shuttle/administration/centcom) "qd" = (/obj/machinery/vending/snack,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) -"qe" = (/obj/item/weapon/stool,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) +"qe" = (/obj/item/stool,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) "qf" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) "qg" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) "qh" = (/obj/machinery/recharge_station,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) @@ -847,35 +847,35 @@ "qo" = (/obj/machinery/door/airlock,/turf/simulated/shuttle/floor,/area/centcom/evac) "qp" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/bar) "qq" = (/obj/structure/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) -"qr" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/marble,/obj/item/weapon/reagent_containers/food/snacks/bloodsoup,/obj/item/weapon/material/kitchen/utensil/fork,/obj/item/weapon/material/kitchen/utensil/spoon{pixel_x = 2},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) +"qr" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/marble,/obj/item/reagent_containers/food/snacks/bloodsoup,/obj/item/material/kitchen/utensil/fork,/obj/item/material/kitchen/utensil/spoon{pixel_x = 2},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) "qs" = (/obj/effect/wingrille_spawn/reinforced/crescent,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/bar) -"qt" = (/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 10},/obj/structure/table/standard,/obj/item/weapon/melee/classic_baton,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) +"qt" = (/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 10},/obj/structure/table/standard,/obj/item/melee/classic_baton,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) "qu" = (/obj/effect/floor_decal/carpet,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) "qv" = (/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 6},/obj/structure/closet/secure_closet/personal,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) "qw" = (/obj/effect/wingrille_spawn/reinforced/crescent,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/living) -"qx" = (/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/structure/table/standard,/obj/effect/floor_decal/corner/yellow/diagonal,/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/living) -"qy" = (/obj/structure/table/holotable,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/under/color/red,/obj/item/clothing/suit/armor/tdome/red,/obj/item/weapon/holo/esword/red,/obj/effect/floor_decal/corner/red{dir = 10},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt) -"qz" = (/obj/item/weapon/bikehorn/rubberducky,/turf/simulated/shuttle/floor/white,/area/centcom/evac) +"qx" = (/obj/item/reagent_containers/food/drinks/cans/cola,/obj/structure/table/standard,/obj/effect/floor_decal/corner/yellow/diagonal,/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/living) +"qy" = (/obj/structure/table/holotable,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/under/color/red,/obj/item/clothing/suit/armor/tdome/red,/obj/item/holo/esword/red,/obj/effect/floor_decal/corner/red{dir = 10},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt) +"qz" = (/obj/item/bikehorn/rubberducky,/turf/simulated/shuttle/floor/white,/area/centcom/evac) "qA" = (/obj/structure/closet/secure_closet/personal,/turf/simulated/shuttle/floor,/area/centcom/evac) "qB" = (/turf/unsimulated/wall,/area/shuttle/trade) "qC" = (/obj/structure/table/standard,/obj/machinery/recharger{pixel_y = 4},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome/tdome1) -"qD" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/marble,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) -"qE" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/marble,/obj/item/weapon/reagent_containers/food/snacks/amanita_pie,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) -"qF" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/marble,/obj/item/weapon/reagent_containers/food/condiment/small/peppermill,/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{pixel_x = 4; pixel_y = -2},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) +"qD" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/marble,/obj/item/paper_bin,/obj/item/pen,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) +"qE" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/marble,/obj/item/reagent_containers/food/snacks/amanita_pie,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) +"qF" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/marble,/obj/item/reagent_containers/food/condiment/small/peppermill,/obj/item/reagent_containers/food/condiment/small/saltshaker{pixel_x = 4; pixel_y = -2},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) "qG" = (/obj/structure/bed/chair/wood/wings,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) "qH" = (/obj/machinery/light,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) "qI" = (/obj/machinery/computer/card{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor_red"},/area/centcom/evac) "qJ" = (/obj/effect/wingrille_spawn/reinforced/crescent,/turf/simulated/shuttle/plating,/area/shuttle/administration/centcom) -"qK" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/brown,/turf/unsimulated/floor{dir = 2; icon_state = "carpet"},/area/shuttle/trade) +"qK" = (/obj/structure/bed/padded,/obj/item/bedsheet/brown,/turf/unsimulated/floor{dir = 2; icon_state = "carpet"},/area/shuttle/trade) "qL" = (/obj/structure/table/standard,/turf/unsimulated/floor{dir = 2; icon_state = "carpet"},/area/shuttle/trade) "qM" = (/turf/unsimulated/floor{icon_state = "steel"},/area/shuttle/trade) -"qN" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/marble,/obj/item/weapon/reagent_containers/food/snacks/bigbiteburger,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) -"qO" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/marble,/obj/item/weapon/reagent_containers/food/snacks/stew,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) -"qP" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/marble,/obj/item/weapon/reagent_containers/food/snacks/beetsoup,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) +"qN" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/marble,/obj/item/reagent_containers/food/snacks/bigbiteburger,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) +"qO" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/marble,/obj/item/reagent_containers/food/snacks/stew,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) +"qP" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/marble,/obj/item/reagent_containers/food/snacks/beetsoup,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) "qQ" = (/obj/machinery/smartfridge,/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/bar) "qR" = (/obj/structure/table/marble,/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/bar) "qS" = (/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) -"qT" = (/obj/item/weapon/stool/padded,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/bar) +"qT" = (/obj/item/stool/padded,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/bar) "qU" = (/obj/machinery/vending/boozeomat,/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/bar) "qV" = (/obj/structure/table/marble,/obj/machinery/chemical_dispenser/bar_alc/full,/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/bar) "qW" = (/obj/structure/device/piano{dir = 4},/obj/effect/floor_decal/corner/yellow/diagonal,/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/living) @@ -884,19 +884,19 @@ "qZ" = (/turf/simulated/shuttle/plating,/area/shuttle/escape_pod6/centcom) "ra" = (/turf/unsimulated/floor{dir = 2; icon_state = "carpet"},/area/shuttle/trade) "rb" = (/obj/machinery/door/airlock/hatch{req_access = list(150)},/turf/unsimulated/floor{dir = 2; icon_state = "carpet"},/area/shuttle/trade) -"rc" = (/obj/structure/table/marble,/obj/item/weapon/reagent_containers/food/drinks/glass2/square,/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/bar) +"rc" = (/obj/structure/table/marble,/obj/item/reagent_containers/food/drinks/glass2/square,/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/bar) "rd" = (/obj/machinery/door/airlock/glass{icon_state = "door_locked"; locked = 1; name = "Arrivals Processing"},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) "re" = (/obj/structure/table/marble,/obj/machinery/chemical_dispenser/bar_soft/full,/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/bar) -"rf" = (/obj/structure/table/marble,/obj/item/weapon/book/manual/barman_recipes,/obj/item/weapon/reagent_containers/glass/rag,/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/bar) -"rg" = (/obj/structure/table/standard,/obj/item/weapon/material/kitchen/utensil/fork,/obj/item/weapon/material/kitchen/utensil/spoon{pixel_x = 2},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/bar) -"rh" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/snacks/tofukabob,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) +"rf" = (/obj/structure/table/marble,/obj/item/book/manual/barman_recipes,/obj/item/reagent_containers/glass/rag,/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/bar) +"rg" = (/obj/structure/table/standard,/obj/item/material/kitchen/utensil/fork,/obj/item/material/kitchen/utensil/spoon{pixel_x = 2},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/bar) +"rh" = (/obj/structure/table/standard,/obj/item/reagent_containers/food/snacks/tofukabob,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) "ri" = (/turf/unsimulated/wall{icon = 'icons/obj/doors/Doormaint.dmi'; icon_state = "door_closed"; name = "Sealed Door"},/area/centcom/main_hall) "rj" = (/obj/structure/table/marble,/obj/item/clothing/under/suit_jacket,/obj/item/clothing/accessory/wcoat,/obj/item/clothing/head/that{pixel_x = 4; pixel_y = 6},/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/bar) "rk" = (/obj/machinery/vending/cola,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) "rl" = (/obj/machinery/vending/snack,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) "rm" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/bar) -"rn" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/snacks/poppypretzel,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) -"ro" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/condiment/small/peppermill,/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{pixel_x = 4; pixel_y = -2},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/bar) +"rn" = (/obj/structure/table/standard,/obj/item/reagent_containers/food/snacks/poppypretzel,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) +"ro" = (/obj/structure/table/standard,/obj/item/reagent_containers/food/condiment/small/peppermill,/obj/item/reagent_containers/food/condiment/small/saltshaker{pixel_x = 4; pixel_y = -2},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/bar) "rp" = (/obj/machinery/floor_light,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/bar) "rq" = (/obj/machinery/door/airlock{name = "Unisex Restrooms"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/bar) "rr" = (/obj/effect/floor_decal/industrial/hatch/yellow,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/main_hall) @@ -910,26 +910,26 @@ "rz" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "escape_pod_4_recovery"; pixel_x = -26; pixel_y = 26; req_one_access = list(13); tag_door = "escape_pod_4_recovery_hatch"},/turf/simulated/shuttle/floor/yellow,/area/centcom/evac) "rA" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "escape_pod_6_recovery"; pixel_x = 26; pixel_y = -26; req_one_access = list(13); tag_door = "escape_pod_6_recovery_hatch"},/turf/simulated/shuttle/floor/yellow,/area/centcom/evac) "rB" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_6_recovery_hatch"; locked = 1; name = "Recovery Shuttle Dock 6"; req_access = list(13)},/turf/simulated/shuttle/floor/black,/area/centcom/evac) -"rC" = (/obj/structure/closet/secure_closet/guncabinet,/obj/item/weapon/gun/energy/gun/burst,/obj/item/weapon/gun/energy/gun/burst,/obj/item/weapon/gun/energy/ionrifle/pistol,/obj/item/weapon/gun/projectile/shotgun/pump/combat,/turf/unsimulated/floor{icon_state = "steel"},/area/shuttle/trade) -"rD" = (/obj/structure/table/standard,/obj/item/device/flash,/obj/item/device/flash,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/clothing/glasses/sunglasses/sechud/tactical,/obj/item/clothing/glasses/sunglasses,/obj/item/clothing/glasses/sunglasses,/turf/unsimulated/floor{icon_state = "steel"},/area/shuttle/trade) -"rE" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/handcuffs,/turf/unsimulated/floor{icon_state = "steel"},/area/shuttle/trade) -"rF" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/syndie_kit/chameleon,/obj/item/weapon/storage/box/syndie_kit/clerical,/turf/unsimulated/floor{icon_state = "steel"},/area/shuttle/trade) +"rC" = (/obj/structure/closet/secure_closet/guncabinet,/obj/item/gun/energy/gun/burst,/obj/item/gun/energy/gun/burst,/obj/item/gun/energy/ionrifle/pistol,/obj/item/gun/projectile/shotgun/pump/combat,/turf/unsimulated/floor{icon_state = "steel"},/area/shuttle/trade) +"rD" = (/obj/structure/table/standard,/obj/item/flash,/obj/item/flash,/obj/item/reagent_containers/spray/pepper,/obj/item/reagent_containers/spray/pepper,/obj/item/clothing/glasses/sunglasses/sechud/tactical,/obj/item/clothing/glasses/sunglasses,/obj/item/clothing/glasses/sunglasses,/turf/unsimulated/floor{icon_state = "steel"},/area/shuttle/trade) +"rE" = (/obj/structure/table/standard,/obj/item/storage/box/handcuffs,/turf/unsimulated/floor{icon_state = "steel"},/area/shuttle/trade) +"rF" = (/obj/structure/table/standard,/obj/item/storage/box/syndie_kit/chameleon,/obj/item/storage/box/syndie_kit/clerical,/turf/unsimulated/floor{icon_state = "steel"},/area/shuttle/trade) "rG" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/main_hall) "rH" = (/obj/machinery/door/airlock/glass{name = "Bar"},/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) "rI" = (/obj/machinery/floor_light,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/bar) "rJ" = (/obj/structure/sink{pixel_y = 16},/obj/structure/mirror{pixel_x = 0; pixel_y = 32},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/bar) "rK" = (/obj/structure/bed/chair,/turf/simulated/shuttle/floor,/area/centcom/evac) -"rL" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/shotgunammo/large,/obj/item/weapon/storage/box/stunshells/large,/turf/unsimulated/floor{icon_state = "steel"},/area/shuttle/trade) +"rL" = (/obj/structure/table/rack,/obj/item/storage/box/shotgunammo/large,/obj/item/storage/box/stunshells/large,/turf/unsimulated/floor{icon_state = "steel"},/area/shuttle/trade) "rM" = (/obj/structure/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "steel"},/area/shuttle/trade) "rN" = (/obj/machinery/computer/secure_data{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/command) "rO" = (/obj/structure/closet/crate,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/shuttle/trade) "rP" = (/turf/unsimulated/floor{icon_state = "dark"},/area/shuttle/trade) -"rQ" = (/obj/structure/table/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/head/helmet/thunderdome,/obj/item/weapon/melee/baton/loaded,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) +"rQ" = (/obj/structure/table/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/head/helmet/thunderdome,/obj/item/melee/baton/loaded,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) "rR" = (/obj/machinery/door/airlock/centcom{name = "Bridge Access"; opacity = 1; req_access = list(101)},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/main_hall) "rS" = (/obj/machinery/door/airlock/glass_centcom{name = "Bridge Access"; req_access = list(101)},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/main_hall) "rT" = (/obj/machinery/door/airlock{name = "Unit 2"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/bar) "rU" = (/obj/machinery/door/airlock{name = "Unit 1"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/bar) -"rV" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{pixel_x = 4; pixel_y = -2},/obj/item/weapon/reagent_containers/food/condiment/small/peppermill,/obj/item/weapon/flame/candle,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) +"rV" = (/obj/structure/table/woodentable{dir = 5},/obj/item/reagent_containers/food/condiment/small/saltshaker{pixel_x = 4; pixel_y = -2},/obj/item/reagent_containers/food/condiment/small/peppermill,/obj/item/flame/candle,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) "rW" = (/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 4},/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) "rX" = (/obj/machinery/optable,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) "rY" = (/obj/structure/table/reinforced,/obj/machinery/librarycomp,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) @@ -941,26 +941,26 @@ "se" = (/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 8},/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) "sf" = (/obj/machinery/media/jukebox,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) "sg" = (/obj/machinery/vending/cola{name = "hacked Robust Softdrinks"; prices = list()},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/living) -"sh" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; prices = list(); products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2)},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/living) -"si" = (/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{pixel_x = -6},/obj/structure/table/standard,/obj/effect/floor_decal/corner/yellow/diagonal,/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/living) +"sh" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; prices = list(); products = list(/obj/item/storage/fancy/cigarettes = 10, /obj/item/storage/box/matches = 10, /obj/item/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2)},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/living) +"si" = (/obj/item/reagent_containers/food/condiment/small/saltshaker{pixel_x = -6},/obj/structure/table/standard,/obj/effect/floor_decal/corner/yellow/diagonal,/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/living) "sj" = (/obj/machinery/door/window/northright{icon_state = "right"; dir = 2},/obj/machinery/light{dir = 8},/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) -"sk" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/surgery,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) +"sk" = (/obj/structure/table/standard,/obj/item/storage/firstaid/surgery,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) "sl" = (/obj/structure/table/standard,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) -"sm" = (/obj/structure/table/standard,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/item/weapon/reagent_containers/glass/beaker/large,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) +"sm" = (/obj/structure/table/standard,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/item/reagent_containers/glass/beaker/large,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) "sn" = (/turf/simulated/shuttle/plating,/area/shuttle/escape_pod3/centcom) "so" = (/turf/simulated/shuttle/plating,/area/shuttle/escape_pod5/centcom) "sp" = (/obj/effect/wingrille_spawn/reinforced/crescent,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/shuttle/trade) "sq" = (/obj/machinery/door/airlock/multi_tile/glass{dir = 4; req_access = list(160)},/turf/unsimulated/floor{icon_state = "steel"},/area/shuttle/trade) -"sr" = (/obj/structure/table/woodentable{dir = 5},/obj/item/device/flashlight/lamp/green,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) +"sr" = (/obj/structure/table/woodentable{dir = 5},/obj/item/flashlight/lamp/green,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar) "ss" = (/obj/machinery/floor_light,/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/bar) -"st" = (/obj/machinery/light{dir = 8},/obj/structure/bed/padded,/obj/item/weapon/bedsheet/hos,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) +"st" = (/obj/machinery/light{dir = 8},/obj/structure/bed/padded,/obj/item/bedsheet/hos,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) "su" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_3_recovery_hatch"; locked = 1; name = "Recovery Shuttle Dock 3"; req_access = list(13)},/turf/simulated/shuttle/floor/black,/area/centcom/evac) "sv" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "escape_pod_3_recovery"; pixel_x = -26; pixel_y = 26; req_one_access = list(13); tag_door = "escape_pod_3_recovery_hatch"},/turf/simulated/shuttle/floor/yellow,/area/centcom/evac) "sw" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/shuttle/floor,/area/centcom/evac) "sx" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "escape_pod_5_recovery"; pixel_x = 26; pixel_y = -26; req_one_access = list(13); tag_door = "escape_pod_5_recovery_hatch"},/turf/simulated/shuttle/floor/yellow,/area/centcom/evac) "sy" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_5_recovery_hatch"; locked = 1; name = "Recovery Shuttle Dock 5"; req_access = list(13)},/turf/simulated/shuttle/floor/black,/area/centcom/evac) "sz" = (/obj/structure/curtain/open/shower,/obj/machinery/shower{pixel_y = 3},/turf/unsimulated/floor{icon_state = "white"},/area/shuttle/trade) -"sA" = (/obj/structure/table/standard,/obj/item/weapon/soap/deluxe,/turf/unsimulated/floor{icon_state = "white"},/area/shuttle/trade) +"sA" = (/obj/structure/table/standard,/obj/item/soap/deluxe,/turf/unsimulated/floor{icon_state = "white"},/area/shuttle/trade) "sB" = (/obj/structure/table/standard,/obj/item/clothing/accessory/permit,/obj/item/clothing/accessory/permit,/obj/item/clothing/accessory/permit,/turf/unsimulated/floor{icon_state = "steel"},/area/shuttle/trade) "sC" = (/obj/structure/closet/wardrobe/white,/turf/unsimulated/floor{icon_state = "steel"},/area/shuttle/trade) "sD" = (/obj/structure/closet/wardrobe/green,/turf/unsimulated/floor{icon_state = "steel"},/area/shuttle/trade) @@ -968,7 +968,7 @@ "sF" = (/obj/machinery/button/remote/blast_door{id = "tradestationshutters"; name = "warehouse control"; pixel_x = -30; req_access = list(160)},/turf/unsimulated/floor{icon_state = "dark"},/area/shuttle/trade) "sG" = (/obj/machinery/recharge_station,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/bar) "sH" = (/obj/structure/toilet{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/bar) -"sI" = (/obj/item/weapon/stool/padded,/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/bar) +"sI" = (/obj/item/stool/padded,/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/bar) "sJ" = (/obj/machinery/vending/medical,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) "sK" = (/obj/machinery/chem_master,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) "sL" = (/obj/machinery/chemical_dispenser/ert,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) @@ -995,8 +995,8 @@ "tg" = (/obj/structure/table/rack,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/main_hall) "th" = (/obj/structure/table/reinforced,/obj/item/frame/light,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/main_hall) "ti" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/main_hall) -"tj" = (/obj/structure/table/rack,/obj/item/weapon/storage/toolbox/mechanical,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/main_hall) -"tk" = (/obj/item/weapon/tool/crowbar,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/main_hall) +"tj" = (/obj/structure/table/rack,/obj/item/storage/toolbox/mechanical,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/main_hall) +"tk" = (/obj/item/tool/crowbar,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/main_hall) "tl" = (/obj/machinery/computer/crew,/turf/simulated/shuttle/floor/white,/area/centcom/evac) "tm" = (/obj/machinery/bodyscanner{dir = 8},/turf/simulated/shuttle/floor/white,/area/centcom/evac) "tn" = (/obj/machinery/body_scanconsole,/turf/simulated/shuttle/floor/white,/area/centcom/evac) @@ -1008,7 +1008,7 @@ "tt" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/shuttle/floor/white,/area/centcom/evac) "tu" = (/obj/machinery/iv_drip,/turf/simulated/shuttle/floor/white,/area/centcom/evac) "tv" = (/obj/structure/bed/roller,/turf/simulated/shuttle/floor/white,/area/centcom/evac) -"tw" = (/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = -4; pixel_y = 0},/obj/item/weapon/tool/wrench,/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone,/turf/simulated/shuttle/floor/white,/area/centcom/evac) +"tw" = (/obj/item/reagent_containers/glass/beaker/cryoxadone{pixel_x = -4; pixel_y = 0},/obj/item/tool/wrench,/obj/structure/table/reinforced,/obj/item/reagent_containers/glass/beaker/cryoxadone,/turf/simulated/shuttle/floor/white,/area/centcom/evac) "tx" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 5},/turf/simulated/shuttle/floor/white,/area/centcom/evac) "ty" = (/obj/machinery/atmospherics/pipe/manifold/visible,/turf/simulated/shuttle/floor/white,/area/centcom/evac) "tz" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 9},/turf/simulated/shuttle/floor/white,/area/centcom/evac) @@ -1024,9 +1024,9 @@ "tJ" = (/obj/item/frame/light,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/main_hall) "tK" = (/obj/machinery/chem_master,/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "tL" = (/obj/structure/closet/secure_closet/bar{req_access = list(25)},/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/bar) -"tM" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"tN" = (/obj/machinery/chemical_dispenser/full,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/structure/table/standard,/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"tO" = (/obj/machinery/chemical_dispenser/ert,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/structure/table/standard,/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"tM" = (/obj/structure/table/standard,/obj/item/reagent_containers/glass/beaker/large,/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"tN" = (/obj/machinery/chemical_dispenser/full,/obj/item/reagent_containers/glass/beaker/large,/obj/structure/table/standard,/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"tO" = (/obj/machinery/chemical_dispenser/ert,/obj/item/reagent_containers/glass/beaker/large,/obj/structure/table/standard,/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "tP" = (/obj/structure/closet/secure_closet/medical_wall/pills{pixel_y = 32},/obj/structure/table/glass,/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "tQ" = (/obj/machinery/portable_atmospherics/canister/oxygen/prechilled,/obj/machinery/atmospherics/portables_connector,/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "tR" = (/obj/machinery/atmospherics/unary/cryo_cell,/obj/effect/floor_decal/corner/blue{dir = 5},/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) @@ -1034,17 +1034,17 @@ "tT" = (/obj/structure/toilet{dir = 1},/turf/unsimulated/floor{icon_state = "white"},/area/shuttle/trade) "tU" = (/turf/unsimulated/wall,/area/centcom/security) "tV" = (/turf/unsimulated/wall,/area/centcom/medical) -"tW" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = -30; pixel_y = 0},/obj/structure/table/standard,/obj/item/device/defib_kit,/obj/item/device/defib_kit,/obj/machinery/recharger,/obj/item/weapon/tool/screwdriver,/turf/simulated/shuttle/floor/white,/area/centcom/evac) +"tW" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = -30; pixel_y = 0},/obj/structure/table/standard,/obj/item/defib_kit,/obj/item/defib_kit,/obj/machinery/recharger,/obj/item/tool/screwdriver,/turf/simulated/shuttle/floor/white,/area/centcom/evac) "tX" = (/obj/machinery/sleeper{dir = 8},/turf/simulated/shuttle/floor/white,/area/centcom/evac) "tY" = (/obj/machinery/sleep_console,/turf/simulated/shuttle/floor/white,/area/centcom/evac) "tZ" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "trade_shuttle_bay"; name = "shuttle bay controller"; pixel_x = 25; pixel_y = 0; tag_door = "trade_shuttle_bay_door"},/turf/unsimulated/floor{icon_state = "steel"},/area/shuttle/trade) -"ua" = (/obj/structure/bed,/obj/item/weapon/bedsheet/orange,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) +"ua" = (/obj/structure/bed,/obj/item/bedsheet/orange,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) "ub" = (/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) -"uc" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/effect/floor_decal/corner/orange/full{dir = 8},/obj/item/weapon/reagent_containers/glass/bucket,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) -"ud" = (/obj/structure/table/reinforced,/obj/item/weapon/material/minihoe,/obj/item/device/analyzer/plant_analyzer,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) +"uc" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/effect/floor_decal/corner/orange/full{dir = 8},/obj/item/reagent_containers/glass/bucket,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) +"ud" = (/obj/structure/table/reinforced,/obj/item/material/minihoe,/obj/item/analyzer/plant_analyzer,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) "ue" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) "uf" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) -"ug" = (/obj/item/weapon/stool/padded,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) +"ug" = (/obj/item/stool/padded,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) "uh" = (/obj/structure/closet/secure_closet/security,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) "ui" = (/obj/structure/closet/secure_closet/security,/obj/effect/floor_decal/corner/red{dir = 5},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) "uj" = (/obj/structure/closet/secure_closet/security,/obj/effect/floor_decal/corner/red/full{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) @@ -1053,15 +1053,15 @@ "um" = (/obj/machinery/atmospherics/unary/freezer{dir = 2; icon_state = "freezer"},/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "un" = (/obj/machinery/atmospherics/unary/cryo_cell,/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "uo" = (/obj/machinery/iv_drip,/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"up" = (/obj/structure/table/glass,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"uq" = (/obj/structure/table/standard,/obj/item/weapon/surgical/hemostat,/obj/item/weapon/surgical/cautery,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"ur" = (/obj/structure/table/standard,/obj/item/stack/medical/advanced/bruise_pack,/obj/item/weapon/surgical/retractor,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"us" = (/obj/structure/table/standard,/obj/item/weapon/surgical/circular_saw{pixel_y = 8},/obj/item/weapon/surgical/scalpel,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"ut" = (/obj/structure/table/standard,/obj/item/weapon/surgical/surgicaldrill,/obj/item/weapon/autopsy_scanner,/obj/item/weapon/reagent_containers/spray/cleaner{desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; pixel_y = 2},/obj/item/weapon/surgical/FixOVein,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"uu" = (/obj/structure/closet/crate/medical,/obj/item/weapon/surgical/circular_saw,/obj/item/weapon/surgical/surgicaldrill,/obj/item/weapon/surgical/bonegel{pixel_x = 4; pixel_y = 3},/obj/item/weapon/surgical/bonesetter,/obj/item/weapon/surgical/scalpel,/obj/item/weapon/surgical/retractor{pixel_x = 0; pixel_y = 6},/obj/item/weapon/surgical/hemostat{pixel_y = 4},/obj/item/weapon/surgical/cautery{pixel_y = 4},/obj/item/weapon/surgical/FixOVein{pixel_x = -6; pixel_y = 1},/obj/item/stack/nanopaste,/obj/item/weapon/tank/anesthetic,/obj/item/clothing/mask/breath/medical,/obj/item/clothing/mask/surgical,/obj/item/clothing/mask/surgical,/turf/simulated/shuttle/floor/white,/area/centcom/evac) +"up" = (/obj/structure/table/glass,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"uq" = (/obj/structure/table/standard,/obj/item/surgical/hemostat,/obj/item/surgical/cautery,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"ur" = (/obj/structure/table/standard,/obj/item/stack/medical/advanced/bruise_pack,/obj/item/surgical/retractor,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"us" = (/obj/structure/table/standard,/obj/item/surgical/circular_saw{pixel_y = 8},/obj/item/surgical/scalpel,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"ut" = (/obj/structure/table/standard,/obj/item/surgical/surgicaldrill,/obj/item/autopsy_scanner,/obj/item/reagent_containers/spray/cleaner{desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; pixel_y = 2},/obj/item/surgical/FixOVein,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"uu" = (/obj/structure/closet/crate/medical,/obj/item/surgical/circular_saw,/obj/item/surgical/surgicaldrill,/obj/item/surgical/bonegel{pixel_x = 4; pixel_y = 3},/obj/item/surgical/bonesetter,/obj/item/surgical/scalpel,/obj/item/surgical/retractor{pixel_x = 0; pixel_y = 6},/obj/item/surgical/hemostat{pixel_y = 4},/obj/item/surgical/cautery{pixel_y = 4},/obj/item/surgical/FixOVein{pixel_x = -6; pixel_y = 1},/obj/item/stack/nanopaste,/obj/item/tank/anesthetic,/obj/item/clothing/mask/breath/medical,/obj/item/clothing/mask/surgical,/obj/item/clothing/mask/surgical,/turf/simulated/shuttle/floor/white,/area/centcom/evac) "uv" = (/obj/machinery/door/airlock/hatch{name = "Cockpit"; req_access = list(109)},/turf/simulated/shuttle/floor/black,/area/centcom/evac) -"uw" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/bodybags{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/box/bodybags,/turf/simulated/shuttle/floor/white,/area/centcom/evac) -"ux" = (/obj/structure/closet/crate/freezer,/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,/turf/simulated/shuttle/floor/white,/area/centcom/evac) +"uw" = (/obj/structure/table/reinforced,/obj/item/storage/box/bodybags{pixel_x = 2; pixel_y = 2},/obj/item/storage/box/bodybags,/turf/simulated/shuttle/floor/white,/area/centcom/evac) +"ux" = (/obj/structure/closet/crate/freezer,/obj/item/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/reagent_containers/food/snacks/meat/syntiflesh,/turf/simulated/shuttle/floor/white,/area/centcom/evac) "uy" = (/obj/machinery/clonepod,/turf/simulated/shuttle/floor/white,/area/centcom/evac) "uz" = (/obj/machinery/computer/med_data{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/command) "uA" = (/obj/machinery/dna_scannernew,/turf/simulated/shuttle/floor/white,/area/centcom/evac) @@ -1071,7 +1071,7 @@ "uE" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "uF" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "uG" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"uH" = (/obj/structure/table/standard,/obj/item/weapon/surgical/bonesetter,/obj/item/weapon/surgical/bonegel,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"uH" = (/obj/structure/table/standard,/obj/item/surgical/bonesetter,/obj/item/surgical/bonegel,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "uI" = (/obj/machinery/iv_drip,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "uJ" = (/obj/machinery/optable,/turf/simulated/shuttle/floor/white,/area/centcom/evac) "uK" = (/obj/machinery/computer/crew,/turf/simulated/shuttle/floor/black,/area/centcom/evac) @@ -1099,16 +1099,16 @@ "vg" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "vh" = (/obj/machinery/vending/wallmed1{pixel_y = -30},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "vi" = (/obj/structure/closet/secure_closet/medical2,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"vj" = (/obj/structure/closet/crate/medical,/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/weapon/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/obj/item/weapon/storage/box/masks{pixel_x = 0; pixel_y = 0},/obj/item/weapon/storage/box/gloves{pixel_x = 3; pixel_y = 4},/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/fire{layer = 2.9; pixel_x = 2; pixel_y = 3},/obj/item/weapon/storage/firstaid/adv{pixel_x = -2},/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/turf/simulated/shuttle/floor/white,/area/centcom/evac) -"vk" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 0},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/turf/simulated/shuttle/floor/white,/area/centcom/evac) -"vl" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/fire{pixel_x = -2; pixel_y = 4},/turf/simulated/shuttle/floor/white,/area/centcom/evac) -"vm" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/toxin{pixel_x = -2; pixel_y = 4},/obj/item/weapon/storage/firstaid/toxin,/turf/simulated/shuttle/floor/white,/area/centcom/evac) -"vn" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/turf/simulated/shuttle/floor/white,/area/centcom/evac) -"vo" = (/obj/structure/table/standard,/obj/item/weapon/clipboard,/obj/item/weapon/pen,/obj/item/weapon/stamp/captain,/turf/simulated/shuttle/floor/black,/area/centcom/evac) +"vj" = (/obj/structure/closet/crate/medical,/obj/item/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/obj/item/storage/box/masks{pixel_x = 0; pixel_y = 0},/obj/item/storage/box/gloves{pixel_x = 3; pixel_y = 4},/obj/item/storage/firstaid/toxin,/obj/item/storage/firstaid/fire{layer = 2.9; pixel_x = 2; pixel_y = 3},/obj/item/storage/firstaid/adv{pixel_x = -2},/obj/item/reagent_containers/blood/empty,/obj/item/reagent_containers/blood/empty,/turf/simulated/shuttle/floor/white,/area/centcom/evac) +"vk" = (/obj/structure/table/standard,/obj/item/storage/firstaid/regular{pixel_x = 2; pixel_y = 0},/obj/item/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/turf/simulated/shuttle/floor/white,/area/centcom/evac) +"vl" = (/obj/structure/table/standard,/obj/item/storage/firstaid/fire,/obj/item/storage/firstaid/fire{pixel_x = -2; pixel_y = 4},/turf/simulated/shuttle/floor/white,/area/centcom/evac) +"vm" = (/obj/structure/table/standard,/obj/item/storage/firstaid/toxin{pixel_x = -2; pixel_y = 4},/obj/item/storage/firstaid/toxin,/turf/simulated/shuttle/floor/white,/area/centcom/evac) +"vn" = (/obj/structure/table/reinforced,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/turf/simulated/shuttle/floor/white,/area/centcom/evac) +"vo" = (/obj/structure/table/standard,/obj/item/clipboard,/obj/item/pen,/obj/item/stamp/captain,/turf/simulated/shuttle/floor/black,/area/centcom/evac) "vp" = (/obj/machinery/computer/shuttle_control{dir = 4; req_access = list(101); shuttle_tag = "Centcom"},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/command) -"vq" = (/obj/structure/table/standard,/obj/item/weapon/storage/lockbox,/turf/simulated/shuttle/floor/black,/area/centcom/evac) +"vq" = (/obj/structure/table/standard,/obj/item/storage/lockbox,/turf/simulated/shuttle/floor/black,/area/centcom/evac) "vr" = (/obj/machinery/computer/shuttle_control{dir = 8; req_access = list(101); shuttle_tag = "Centcom"},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/command) -"vs" = (/obj/structure/table/standard,/obj/item/device/radio/off,/obj/item/weapon/paper_bin,/turf/simulated/shuttle/floor/black,/area/centcom/evac) +"vs" = (/obj/structure/table/standard,/obj/item/radio/off,/obj/item/paper_bin,/turf/simulated/shuttle/floor/black,/area/centcom/evac) "vt" = (/obj/structure/window/reinforced,/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "tradestarshutters"; name = "Blast Shutters"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced/full,/turf/simulated/shuttle/plating,/area/shuttle/merchant/home) "vu" = (/obj/structure/window/reinforced,/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "tradestarshutters"; name = "Blast Shutters"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced/full,/turf/simulated/shuttle/plating,/area/shuttle/merchant/home) "vv" = (/obj/structure/window/reinforced,/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "tradestarshutters"; name = "Blast Shutters"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced/full,/turf/simulated/shuttle/plating,/area/shuttle/merchant/home) @@ -1121,7 +1121,7 @@ "vC" = (/obj/structure/table/glass,/obj/machinery/reagentgrinder,/obj/effect/floor_decal/corner/paleblue{dir = 10},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "vD" = (/obj/structure/grille,/obj/structure/shuttle/window,/turf/simulated/shuttle/plating,/area/centcom/evac) "vE" = (/obj/structure/closet/cabinet,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) -"vF" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/rd,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) +"vF" = (/obj/structure/bed/padded,/obj/item/bedsheet/rd,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "vG" = (/obj/structure/table/standard,/obj/machinery/chemical_dispenser/bar_alc/full,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "vH" = (/obj/structure/table/standard,/obj/machinery/microwave,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "vI" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/carpet,/area/shuttle/merchant/home) @@ -1132,7 +1132,7 @@ "vN" = (/obj/machinery/computer/card{dir = 1},/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/command) "vO" = (/obj/structure/table/bench/steel,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) "vP" = (/obj/structure/closet/secure_closet/brig,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) -"vQ" = (/obj/structure/table/reinforced,/obj/item/weapon/book/codex/corp_regs,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) +"vQ" = (/obj/structure/table/reinforced,/obj/item/book/codex/corp_regs,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) "vR" = (/obj/machinery/door/airlock/glass_security{name = "Security Lobby"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security) "vS" = (/obj/machinery/door/airlock/glass{name = "Arrivals Processing"},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/medical) "vT" = (/obj/structure/closet/secure_closet/chemical,/obj/effect/floor_decal/corner/paleblue{dir = 10},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) @@ -1144,35 +1144,35 @@ "vZ" = (/obj/machinery/clonepod,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "wa" = (/obj/machinery/computer/cloning,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "wb" = (/obj/machinery/dna_scannernew,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"wc" = (/obj/structure/closet/crate/freezer,/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"wc" = (/obj/structure/closet/crate/freezer,/obj/item/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/reagent_containers/food/snacks/meat/syntiflesh,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "wd" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "tradestarshutters"; name = "Blast Shutters"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced/full,/turf/simulated/shuttle/plating,/area/shuttle/merchant/home) "we" = (/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "wf" = (/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "wg" = (/obj/machinery/door/airlock/silver{name = "Sleeping"},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "wh" = (/turf/simulated/floor/carpet,/area/shuttle/merchant/home) -"wi" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets,/turf/simulated/floor/carpet,/area/shuttle/merchant/home) +"wi" = (/obj/structure/table/standard,/obj/item/storage/box/donkpockets,/turf/simulated/floor/carpet,/area/shuttle/merchant/home) "wj" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/carpet,/area/shuttle/merchant/home) "wk" = (/obj/machinery/atm{pixel_x = -32},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "wl" = (/obj/machinery/suit_cycler/syndicate,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "wm" = (/obj/machinery/bodyscanner{dir = 8},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "wn" = (/obj/machinery/body_scanconsole,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) -"wo" = (/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/weapon/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/obj/item/weapon/storage/box/masks{pixel_x = 0; pixel_y = 0},/obj/item/weapon/storage/box/gloves{pixel_x = 3; pixel_y = 4},/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/fire{layer = 2.9; pixel_x = 2; pixel_y = 3},/obj/item/weapon/storage/firstaid/adv{pixel_x = -2},/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/structure/closet/medical_wall{pixel_y = 32},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) +"wo" = (/obj/item/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/obj/item/storage/box/masks{pixel_x = 0; pixel_y = 0},/obj/item/storage/box/gloves{pixel_x = 3; pixel_y = 4},/obj/item/storage/firstaid/toxin,/obj/item/storage/firstaid/fire{layer = 2.9; pixel_x = 2; pixel_y = 3},/obj/item/storage/firstaid/adv{pixel_x = -2},/obj/item/reagent_containers/blood/empty,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/structure/closet/medical_wall{pixel_y = 32},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "wp" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) -"wq" = (/obj/structure/table/reinforced,/obj/item/device/taperecorder,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) -"wr" = (/obj/structure/table/reinforced,/obj/item/weapon/book/codex/corp_regs,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) -"ws" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/pill_bottle/dice,/obj/item/weapon/deck/cards,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) +"wq" = (/obj/structure/table/reinforced,/obj/item/taperecorder,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) +"wr" = (/obj/structure/table/reinforced,/obj/item/book/codex/corp_regs,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) +"ws" = (/obj/structure/table/reinforced,/obj/item/storage/pill_bottle/dice,/obj/item/deck/cards,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) "wt" = (/obj/machinery/door/airlock/glass_security{name = "Spaceport Security Airlock"; req_access = list(63)},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) "wu" = (/obj/structure/table/bench/padded,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) "wv" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "tradestarshutters"; name = "Blast Shutters"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced/full,/turf/simulated/shuttle/plating,/area/shuttle/merchant/home) "ww" = (/obj/structure/closet/wardrobe/pjs,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) -"wx" = (/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/weapon/pen{pixel_y = 4},/obj/machinery/light,/obj/structure/table/glass,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) -"wy" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/hos,/obj/structure/sign/poster{pixel_y = -32},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) +"wx" = (/obj/item/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/pen{pixel_y = 4},/obj/machinery/light,/obj/structure/table/glass,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) +"wy" = (/obj/structure/bed/padded,/obj/item/bedsheet/hos,/obj/structure/sign/poster{pixel_y = -32},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "wz" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/carpet,/area/shuttle/merchant/home) -"wA" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/glasses/square,/turf/simulated/floor/carpet,/area/shuttle/merchant/home) +"wA" = (/obj/structure/table/standard,/obj/item/storage/box/glasses/square,/turf/simulated/floor/carpet,/area/shuttle/merchant/home) "wB" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32},/turf/simulated/floor/carpet,/area/shuttle/merchant/home) -"wC" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/inflatable_duck,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) +"wC" = (/obj/structure/table/steel_reinforced,/obj/item/inflatable_duck,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "wD" = (/obj/structure/table/steel_reinforced,/obj/item/stack/material/mhydrogen,/obj/item/stack/material/diamond,/obj/item/stack/material/sandstone,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) -"wE" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/rig/internalaffairs,/obj/item/clothing/head/helmet/space/void/wizard,/obj/item/clothing/suit/space/void/wizard,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) +"wE" = (/obj/structure/table/steel_reinforced,/obj/item/rig/internalaffairs,/obj/item/clothing/head/helmet/space/void/wizard,/obj/item/clothing/suit/space/void/wizard,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "wF" = (/obj/structure/table/steel_reinforced,/obj/random/tool,/obj/random/tool,/obj/random/tool,/obj/random/tool,/obj/random/tool,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "wG" = (/obj/structure/table/steel_reinforced,/obj/random/toolbox,/obj/random/toolbox,/obj/random/toolbox,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "wH" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating,/area/shuttle/merchant/home) @@ -1181,14 +1181,14 @@ "wK" = (/obj/machinery/door/airlock/glass_medical{name = "Medical Bay"; req_access = list(160)},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "wL" = (/obj/machinery/optable,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "wM" = (/obj/machinery/computer/communications{dir = 1},/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/command) -"wN" = (/obj/structure/table/reinforced,/obj/item/weapon/folder/red,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) +"wN" = (/obj/structure/table/reinforced,/obj/item/folder/red,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) "wO" = (/obj/structure/closet/walllocker/emerglocker{pixel_y = -32},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "wP" = (/obj/machinery/button/remote/blast_door{id = "tradestarshutters"; name = "remote shutter control"; pixel_x = 30; req_access = list(160)},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "wQ" = (/obj/structure/table/steel_reinforced,/obj/random/firstaid,/obj/random/firstaid,/obj/random/firstaid,/obj/random/firstaid,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "wR" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "wS" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "wT" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) -"wU" = (/obj/structure/table/steel_reinforced,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/item/weapon/weldpack,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) +"wU" = (/obj/structure/table/steel_reinforced,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/item/weldpack,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "wV" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating,/area/shuttle/merchant/home) "wW" = (/obj/vehicle/train/trolley,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "wX" = (/obj/machinery/light,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) @@ -1201,11 +1201,11 @@ "xe" = (/obj/machinery/door/airlock/multi_tile/glass{dir = 4; req_access = list(160)},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "xf" = (/obj/structure/table/steel_reinforced,/obj/random/medical,/obj/random/medical,/obj/random/medical,/obj/random/medical,/obj/structure/window/reinforced,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "xg" = (/obj/machinery/door/window/southleft{name = "Cargo Hold"; req_access = list(160)},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) -"xh" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/coin/uranium,/obj/item/weapon/coin/silver,/obj/item/weapon/coin/platinum,/obj/item/weapon/coin/phoron,/obj/item/weapon/coin/iron,/obj/item/weapon/coin/gold,/obj/item/weapon/coin/diamond,/obj/structure/window/reinforced,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) +"xh" = (/obj/structure/table/steel_reinforced,/obj/item/coin/uranium,/obj/item/coin/silver,/obj/item/coin/platinum,/obj/item/coin/phoron,/obj/item/coin/iron,/obj/item/coin/gold,/obj/item/coin/diamond,/obj/structure/window/reinforced,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "xi" = (/obj/machinery/door/window/southright{name = "Cargo Hold"; req_access = list(160)},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) -"xj" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/cell/high,/obj/item/weapon/cell/high,/obj/item/weapon/cell/hyper,/obj/item/weapon/cell/potato,/obj/structure/window/reinforced,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) +"xj" = (/obj/structure/table/steel_reinforced,/obj/item/cell/high,/obj/item/cell/high,/obj/item/cell/hyper,/obj/item/cell/potato,/obj/structure/window/reinforced,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "xk" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating,/area/shuttle/merchant/home) -"xl" = (/obj/structure/table/standard,/obj/item/clothing/gloves/sterile/latex,/obj/item/clothing/mask/surgical,/obj/item/weapon/surgical/retractor{pixel_x = 0; pixel_y = 6},/obj/item/weapon/surgical/scalpel,/obj/item/weapon/surgical/surgicaldrill,/obj/item/weapon/surgical/circular_saw,/obj/item/stack/nanopaste,/obj/item/weapon/surgical/hemostat{pixel_y = 4},/obj/item/weapon/surgical/cautery{pixel_y = 4},/obj/item/weapon/surgical/FixOVein{pixel_x = -6; pixel_y = 1},/obj/item/stack/medical/advanced/bruise_pack,/obj/item/weapon/surgical/bonesetter,/obj/item/weapon/surgical/bonegel{pixel_x = 4; pixel_y = 3},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) +"xl" = (/obj/structure/table/standard,/obj/item/clothing/gloves/sterile/latex,/obj/item/clothing/mask/surgical,/obj/item/surgical/retractor{pixel_x = 0; pixel_y = 6},/obj/item/surgical/scalpel,/obj/item/surgical/surgicaldrill,/obj/item/surgical/circular_saw,/obj/item/stack/nanopaste,/obj/item/surgical/hemostat{pixel_y = 4},/obj/item/surgical/cautery{pixel_y = 4},/obj/item/surgical/FixOVein{pixel_x = -6; pixel_y = 1},/obj/item/stack/medical/advanced/bruise_pack,/obj/item/surgical/bonesetter,/obj/item/surgical/bonegel{pixel_x = 4; pixel_y = 3},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "xm" = (/obj/machinery/iv_drip,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "xn" = (/obj/structure/table/glass,/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "xo" = (/obj/structure/morgue,/obj/effect/floor_decal/corner/blue{dir = 9},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) @@ -1223,7 +1223,7 @@ "xA" = (/obj/structure/closet/secure_closet/personal/patient,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "xB" = (/obj/effect/floor_decal/corner/blue{dir = 1},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "xC" = (/obj/structure/filingcabinet/chestdrawer{desc = "A large drawer filled with autopsy reports."; name = "Autopsy Reports"},/obj/effect/floor_decal/corner/blue{dir = 6},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"xD" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/weapon/pen{pixel_y = 4},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) +"xD" = (/obj/structure/table/steel_reinforced,/obj/item/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/pen{pixel_y = 4},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "xE" = (/obj/structure/table/steel_reinforced,/obj/machinery/newscaster{pixel_x = 32},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "xF" = (/obj/structure/toilet,/obj/machinery/light/small{dir = 1},/turf/simulated/shuttle/floor/white,/area/shuttle/merchant/home) "xG" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/machinery/light/small,/turf/simulated/shuttle/floor/white,/area/shuttle/merchant/home) @@ -1233,43 +1233,43 @@ "xK" = (/obj/structure/window/reinforced,/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating,/area/shuttle/merchant/home) "xL" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "xM" = (/obj/machinery/recharge_station,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) -"xN" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/donkpockets,/obj/item/weapon/storage/box/donkpockets,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 30},/obj/effect/floor_decal/corner/orange{dir = 6},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) +"xN" = (/obj/structure/table/reinforced,/obj/item/storage/box/donkpockets,/obj/item/storage/box/donkpockets,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 30},/obj/effect/floor_decal/corner/orange{dir = 6},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) "xO" = (/obj/structure/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) "xP" = (/obj/structure/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) "xQ" = (/obj/structure/bed/chair/office/light{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) "xR" = (/obj/structure/table/reinforced,/obj/machinery/door/window/brigdoor{dir = 4; name = "Security"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) "xS" = (/obj/structure/table/standard,/obj/item/roller,/obj/item/roller{pixel_y = 8},/obj/item/roller{pixel_y = 16},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "xT" = (/obj/structure/table/glass,/obj/machinery/computer/med_data/laptop,/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"xU" = (/obj/item/device/camera{name = "Autopsy Camera"; pixel_x = -2; pixel_y = 7},/obj/item/weapon/paper_bin{pixel_y = -6},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = -9},/obj/item/weapon/pen/blue{pixel_x = 3; pixel_y = -5},/obj/structure/table/standard,/obj/effect/floor_decal/corner/blue{dir = 6},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"xU" = (/obj/item/camera{name = "Autopsy Camera"; pixel_x = -2; pixel_y = 7},/obj/item/paper_bin{pixel_y = -6},/obj/item/pen/red{pixel_x = -1; pixel_y = -9},/obj/item/pen/blue{pixel_x = 3; pixel_y = -5},/obj/structure/table/standard,/obj/effect/floor_decal/corner/blue{dir = 6},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "xV" = (/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "tradebridgeshutters"; name = "Blast Shutters"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced/full,/turf/simulated/shuttle/plating,/area/shuttle/merchant/home) "xW" = (/obj/machinery/computer/rdservercontrol{badmin = 1; dir = 8; name = "Master R&D Server Controller"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/main_hall) "xX" = (/obj/machinery/light{dir = 4},/obj/structure/sign/kiddieplaque{desc = "A plaque commemorating the construction of the cargo ship Beruang."; name = "Beruang"; pixel_x = 32},/mob/living/simple_mob/animal/passive/dog/tamaskan/Spice,/turf/simulated/shuttle/floor/darkred,/area/shuttle/merchant/home) "xY" = (/obj/machinery/door/airlock/silver{name = "Toilet"},/turf/simulated/shuttle/floor/white,/area/shuttle/merchant/home) "xZ" = (/obj/machinery/door/airlock/silver{name = "Restroom"},/turf/simulated/shuttle/floor/white,/area/shuttle/merchant/home) "ya" = (/obj/structure/undies_wardrobe,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) -"yb" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; prices = list(); products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2)},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) +"yb" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; prices = list(); products = list(/obj/item/storage/fancy/cigarettes = 10, /obj/item/storage/box/matches = 10, /obj/item/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2)},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "yc" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/structure/largecrate/animal/cat,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "yd" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/largecrate/animal/cow,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "ye" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/closet/crate/freezer/rations,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) -"yf" = (/obj/structure/table/rack,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/item/device/kit/paint/ripley/death,/obj/item/device/kit/paint/ripley/flames_blue,/obj/item/device/kit/paint/ripley/flames_red,/obj/item/device/kit/paint/ripley,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) +"yf" = (/obj/structure/table/rack,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/item/kit/paint/ripley/death,/obj/item/kit/paint/ripley/flames_blue,/obj/item/kit/paint/ripley/flames_red,/obj/item/kit/paint/ripley,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "yg" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/closet/crate/secure/loot,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "yh" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/largecrate/hoverpod,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "yi" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/mecha/working/ripley/mining,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "yj" = (/obj/machinery/door/window/westright{name = "Storefront"; req_access = list(160)},/obj/structure/table/marble,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "trade"; name = "Shop Shutters"; opacity = 0},/turf/simulated/shuttle/floor/darkred,/area/shuttle/merchant/home) "yk" = (/obj/structure/bed/chair/office/dark{dir = 8},/turf/simulated/shuttle/floor/darkred,/area/shuttle/merchant/home) "yl" = (/obj/machinery/computer/arcade/battle,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) -"ym" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/effect/floor_decal/corner/orange{dir = 10},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) +"ym" = (/obj/structure/table/reinforced,/obj/item/paper_bin,/obj/item/pen,/obj/effect/floor_decal/corner/orange{dir = 10},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) "yn" = (/obj/structure/table/reinforced,/obj/machinery/microwave,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) -"yo" = (/obj/item/device/camera{desc = "A one use - polaroid camera. 30 photos left."; name = "detectives camera"; pictures_left = 30; pixel_x = 2; pixel_y = 3},/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) -"yp" = (/obj/item/weapon/storage/box/evidence,/obj/item/weapon/folder/red,/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) -"yq" = (/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) +"yo" = (/obj/item/camera{desc = "A one use - polaroid camera. 30 photos left."; name = "detectives camera"; pictures_left = 30; pixel_x = 2; pixel_y = 3},/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) +"yp" = (/obj/item/storage/box/evidence,/obj/item/folder/red,/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) +"yq" = (/obj/item/paper_bin,/obj/item/pen,/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) "yr" = (/obj/structure/closet{name = "Evidence Closet"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) "ys" = (/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/obj/structure/shuttle/engine/propulsion{icon_state = "burst_r"},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/supply) "yt" = (/obj/machinery/smartfridge/chemistry,/turf/unsimulated/wall,/area/centcom/medical) -"yu" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/medical,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"yv" = (/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/storage/box/bodybags,/obj/structure/table/standard,/obj/effect/floor_decal/corner/blue{dir = 10},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"yu" = (/obj/structure/bed/padded,/obj/item/bedsheet/medical,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"yv" = (/obj/item/storage/box/bodybags,/obj/item/storage/box/bodybags,/obj/structure/table/standard,/obj/effect/floor_decal/corner/blue{dir = 10},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "yw" = (/obj/effect/floor_decal/corner/blue{dir = 10},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"yx" = (/obj/item/weapon/autopsy_scanner,/obj/item/weapon/surgical/scalpel,/obj/structure/table/standard,/obj/effect/floor_decal/corner/blue/full{dir = 4},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"yx" = (/obj/item/autopsy_scanner,/obj/item/surgical/scalpel,/obj/structure/table/standard,/obj/effect/floor_decal/corner/blue/full{dir = 4},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "yy" = (/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "tradebridgeshutters"; name = "Blast Shutters"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced/full,/turf/simulated/shuttle/plating,/area/shuttle/merchant/home) "yz" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "burst_l"; dir = 8},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/transport1/centcom) "yA" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/shuttle/floor/darkred,/area/shuttle/merchant/home) @@ -1278,7 +1278,7 @@ "yD" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/structure/largecrate/animal/corgi,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "yE" = (/obj/effect/floor_decal/industrial/warning,/obj/structure/largecrate/animal/corgi,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "yF" = (/obj/effect/floor_decal/industrial/warning,/obj/structure/closet/crate/internals,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) -"yG" = (/obj/structure/table/rack,/obj/effect/floor_decal/industrial/warning,/obj/item/device/kit/paint/gygax/darkgygax,/obj/item/device/kit/paint/gygax/recitence,/obj/item/device/kit/paint/durand,/obj/item/device/kit/paint/durand/phazon,/obj/item/device/kit/paint/durand/seraph,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) +"yG" = (/obj/structure/table/rack,/obj/effect/floor_decal/industrial/warning,/obj/item/kit/paint/gygax/darkgygax,/obj/item/kit/paint/gygax/recitence,/obj/item/kit/paint/durand,/obj/item/kit/paint/durand/phazon,/obj/item/kit/paint/durand/seraph,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "yH" = (/obj/effect/floor_decal/industrial/warning,/obj/structure/closet/crate/secure/loot,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "yI" = (/obj/effect/floor_decal/industrial/warning,/obj/structure/largecrate/hoverpod,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "yJ" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/mecha/working/ripley/firefighter,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) @@ -1286,10 +1286,10 @@ "yL" = (/obj/machinery/door/airlock/medical,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "yM" = (/obj/machinery/computer/arcade/battle,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "yN" = (/obj/structure/table/steel_reinforced,/obj/machinery/button/remote/blast_door{id = "tradebridgeshutters"; name = "remote shutter control"; pixel_x = 30; req_access = list(150)},/obj/structure/flora/pottedplant{icon_state = "plant-09"; name = "Esteban"; pixel_y = 8},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) -"yO" = (/obj/machinery/vending/assist{contraband = null; name = "Old Vending Machine"; products = list(/obj/item/device/assembly/prox_sensor = 5, /obj/item/device/assembly/signaler = 4, /obj/item/device/assembly/infra = 4, /obj/item/device/assembly/prox_sensor = 4, /obj/item/weapon/handcuffs = 8, /obj/item/device/flash = 4, /obj/item/weapon/cartridge/signal = 4, /obj/item/clothing/glasses/sunglasses = 4)},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) -"yP" = (/obj/structure/closet{name = "custodial"},/obj/item/weapon/reagent_containers/spray/cleaner,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/mop,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) +"yO" = (/obj/machinery/vending/assist{contraband = null; name = "Old Vending Machine"; products = list(/obj/item/assembly/prox_sensor = 5, /obj/item/assembly/signaler = 4, /obj/item/assembly/infra = 4, /obj/item/assembly/prox_sensor = 4, /obj/item/handcuffs = 8, /obj/item/flash = 4, /obj/item/cartridge/signal = 4, /obj/item/clothing/glasses/sunglasses = 4)},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) +"yP" = (/obj/structure/closet{name = "custodial"},/obj/item/reagent_containers/spray/cleaner,/obj/item/reagent_containers/glass/bucket,/obj/item/mop,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "yQ" = (/obj/machinery/vending/sovietsoda,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) -"yR" = (/obj/machinery/light,/obj/structure/table/standard,/obj/item/weapon/soap,/obj/item/weapon/towel{color = "#0000FF"},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) +"yR" = (/obj/machinery/light,/obj/structure/table/standard,/obj/item/soap,/obj/item/towel{color = "#0000FF"},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "yS" = (/obj/structure/sign/poster{pixel_y = -32},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "yT" = (/obj/machinery/door/airlock/multi_tile/glass{dir = 2; req_access = list(160)},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "yU" = (/obj/machinery/door/window/westleft{name = "Storefront"; req_access = list(160)},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) @@ -1301,7 +1301,7 @@ "za" = (/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "tradebridgeshutters"; name = "Blast Shutters"; opacity = 0},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced/full,/turf/simulated/shuttle/plating,/area/shuttle/merchant/home) "zb" = (/obj/machinery/vending/boozeomat{req_access = null},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "zc" = (/obj/structure/table/standard,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) -"zd" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) +"zd" = (/obj/structure/table/standard,/obj/item/storage/toolbox/mechanical,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "ze" = (/obj/structure/table/steel_reinforced,/obj/item/clothing/under/cheongsam,/obj/item/clothing/under/hosformalmale,/obj/item/clothing/under/hosformalfem,/obj/item/clothing/under/harness,/obj/item/clothing/under/gladiator,/obj/item/clothing/under/ert,/obj/item/clothing/under/schoolgirl,/obj/item/clothing/under/redcoat,/obj/item/clothing/under/sexymime,/obj/item/clothing/under/sexyclown,/obj/item/clothing/under/soviet,/obj/item/clothing/under/space,/obj/item/clothing/under/swimsuit/stripper/mankini,/obj/item/clothing/under/suit_jacket/female,/obj/item/clothing/under/rank/psych/turtleneck,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/under/syndicate/tacticool,/obj/item/clothing/under/syndicate/tacticool,/obj/item/clothing/under/dress/sailordress,/obj/item/clothing/under/dress/redeveninggown,/obj/item/clothing/under/dress/dress_saloon,/obj/item/clothing/under/dress/blacktango,/obj/item/clothing/under/dress/blacktango/alt,/obj/item/clothing/under/dress/dress_orange,/obj/item/clothing/under/dress/maid/janitor,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "zf" = (/obj/machinery/door/airlock/glass{name = "Dock"},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/main_hall) "zg" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table/steel_reinforced,/obj/item/poster,/obj/item/poster,/obj/item/poster,/obj/item/poster,/obj/item/poster,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) @@ -1314,7 +1314,7 @@ "zn" = (/obj/machinery/autolathe{desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; hacked = 1; name = "Unlocked Autolathe"},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "zo" = (/obj/effect/wingrille_spawn/reinforced/crescent,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/terminal) "zp" = (/obj/machinery/button/remote/blast_door{id = "tradeportshutters"; name = "remote shutter control"; pixel_x = 30; req_access = list(160)},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) -"zq" = (/obj/structure/table/steel_reinforced,/obj/random/contraband,/obj/random/contraband,/obj/random/contraband,/obj/random/contraband,/obj/random/contraband,/obj/random/contraband,/obj/item/weapon/bikehorn,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) +"zq" = (/obj/structure/table/steel_reinforced,/obj/random/contraband,/obj/random/contraband,/obj/random/contraband,/obj/random/contraband,/obj/random/contraband,/obj/random/contraband,/obj/item/bikehorn,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "zr" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "zs" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "zt" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) @@ -1324,24 +1324,24 @@ "zx" = (/obj/machinery/vending/medical,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "zy" = (/obj/structure/flora/pottedplant/orientaltree,/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "zz" = (/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"zA" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/adv{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/adv,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"zB" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/toxin{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/toxin{pixel_x = 0; pixel_y = 0},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"zA" = (/obj/structure/table/standard,/obj/item/storage/firstaid/adv{pixel_x = 5; pixel_y = 5},/obj/item/storage/firstaid/adv,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"zB" = (/obj/structure/table/standard,/obj/item/storage/firstaid/toxin{pixel_x = 5; pixel_y = 5},/obj/item/storage/firstaid/toxin{pixel_x = 0; pixel_y = 0},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "zC" = (/obj/structure/bed/chair{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/effect/floor_decal/corner/paleblue{dir = 6},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "zD" = (/obj/structure/bed/chair{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/corner/paleblue{dir = 9},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"zE" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/o2{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/o2{pixel_x = 0; pixel_y = 0},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"zF" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/fire{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/fire{pixel_x = 0; pixel_y = 0},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"zG" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/emergency,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"zE" = (/obj/structure/table/standard,/obj/item/storage/firstaid/o2{pixel_x = 5; pixel_y = 5},/obj/item/storage/firstaid/o2{pixel_x = 0; pixel_y = 0},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"zF" = (/obj/structure/table/standard,/obj/item/storage/firstaid/fire{pixel_x = 5; pixel_y = 5},/obj/item/storage/firstaid/fire{pixel_x = 0; pixel_y = 0},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"zG" = (/obj/structure/table/standard,/obj/item/storage/toolbox/emergency,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "zH" = (/obj/effect/floor_decal/corner/paleblue,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "zI" = (/obj/effect/floor_decal/corner/paleblue{dir = 8},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) -"zJ" = (/obj/structure/closet/secure_closet/medical_wall{name = "O- Blood Locker"; pixel_x = 0; pixel_y = -32},/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/effect/floor_decal/corner/paleblue{dir = 10},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) +"zJ" = (/obj/structure/closet/secure_closet/medical_wall{name = "O- Blood Locker"; pixel_x = 0; pixel_y = -32},/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/effect/floor_decal/corner/paleblue{dir = 10},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "zK" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "tradeportshutters"; name = "Blast Shutters"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced/full,/turf/simulated/shuttle/plating,/area/shuttle/merchant/home) -"zL" = (/obj/structure/closet/wardrobe/captain,/obj/item/weapon/gun/projectile/revolver/mateba,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) +"zL" = (/obj/structure/closet/wardrobe/captain,/obj/item/gun/projectile/revolver/mateba,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "zM" = (/obj/machinery/light{dir = 1},/obj/structure/bookcase,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "zN" = (/obj/structure/bed/chair/comfy/black,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "zO" = (/obj/structure/bed/chair/office/dark,/turf/simulated/floor/carpet,/area/shuttle/merchant/home) "zP" = (/obj/machinery/photocopier,/turf/simulated/floor/carpet,/area/shuttle/merchant/home) "zQ" = (/obj/structure/table/steel_reinforced,/obj/random/action_figure,/obj/random/action_figure,/obj/random/action_figure,/obj/random/action_figure,/obj/random/action_figure,/obj/random/action_figure,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) -"zR" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/lipstick/black,/obj/item/weapon/lipstick/jade,/obj/item/weapon/lipstick/purple,/obj/item/weapon/lipstick,/obj/item/weapon/lipstick/random,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) +"zR" = (/obj/structure/table/steel_reinforced,/obj/item/lipstick/black,/obj/item/lipstick/jade,/obj/item/lipstick/purple,/obj/item/lipstick,/obj/item/lipstick/random,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "zS" = (/obj/structure/table/steel_reinforced,/obj/item/clothing/accessory/holster/hip,/obj/item/clothing/accessory/holster/armpit,/obj/item/clothing/accessory/holster/armpit,/obj/item/clothing/accessory/holster/hip,/obj/item/clothing/accessory/storage/white_vest,/obj/item/clothing/accessory/storage/white_vest,/obj/item/clothing/accessory/storage/webbing,/obj/item/clothing/accessory/storage/webbing,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/scarf/white,/obj/item/clothing/accessory/scarf/lightblue,/obj/item/clothing/accessory/scarf/red,/obj/item/clothing/accessory/scarf/purple,/obj/item/clothing/accessory/armband/science,/obj/item/clothing/accessory/armband/med,/obj/item/clothing/accessory/armband/engine,/obj/item/clothing/accessory/armband/cargo,/obj/item/clothing/accessory/armband,/obj/item/clothing/accessory/medal/nobel_science,/obj/item/clothing/accessory/medal/silver,/obj/item/clothing/accessory/medal/gold,/obj/item/clothing/accessory/medal/bronze_heart,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "zT" = (/obj/effect/floor_decal/corner/paleblue/full{dir = 4},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical) "zU" = (/obj/structure/table/steel_reinforced,/obj/item/clothing/suit/hgpirate,/obj/item/clothing/suit/imperium_monk,/obj/item/clothing/suit/leathercoat,/obj/item/clothing/suit/justice,/obj/item/clothing/suit/justice,/obj/item/clothing/suit/justice,/obj/item/clothing/suit/justice,/obj/item/clothing/suit/justice,/obj/item/clothing/suit/pirate,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) @@ -1363,7 +1363,7 @@ "Ak" = (/obj/structure/sign/directions/cargo{dir = 1},/obj/structure/sign/directions/security{dir = 1; pixel_y = -10},/obj/structure/sign/directions/engineering{dir = 1; pixel_y = 10},/turf/unsimulated/wall,/area/centcom/terminal) "Al" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "tradeportshutters"; name = "Blast Shutters"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced/full,/turf/simulated/shuttle/plating,/area/shuttle/merchant/home) "Am" = (/obj/machinery/door/airlock/command{name = "Captain's Quarters"; req_access = list(160)},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) -"An" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/weapon/pen{pixel_y = 4},/turf/simulated/floor/carpet,/area/shuttle/merchant/home) +"An" = (/obj/structure/table/woodentable,/obj/item/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/pen{pixel_y = 4},/turf/simulated/floor/carpet,/area/shuttle/merchant/home) "Ao" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "burst_r"; dir = 8},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/transport1/centcom) "Ap" = (/obj/structure/table/woodentable,/turf/simulated/floor/carpet,/area/shuttle/merchant/home) "Aq" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "tradeportshutters"; name = "Blast Shutters"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced/full,/turf/simulated/shuttle/plating,/area/shuttle/merchant/home) @@ -1379,7 +1379,7 @@ "AA" = (/obj/machinery/door/airlock/glass{name = "Dock"},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/terminal) "AB" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/terminal) "AC" = (/obj/effect/floor_decal/corner/white/full{dir = 4},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/terminal) -"AD" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/captain,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) +"AD" = (/obj/structure/bed/padded,/obj/item/bedsheet/captain,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "AE" = (/obj/structure/table/glass,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "AF" = (/obj/structure/filingcabinet/filingcabinet,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "AG" = (/obj/machinery/light,/turf/simulated/floor/carpet,/area/shuttle/merchant/home) @@ -1449,7 +1449,7 @@ "BS" = (/obj/structure/bed/chair/shuttle{dir = 4},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) "BT" = (/obj/machinery/computer/crew,/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) "BU" = (/obj/machinery/chemical_dispenser/bar_soft/full,/obj/structure/table/marble,/turf/unsimulated/floor{icon_state = "white"},/area/wizard_station) -"BV" = (/obj/item/weapon/reagent_containers/food/drinks/bottle/pwine{pixel_x = -4; pixel_y = 10},/obj/structure/table/marble,/turf/unsimulated/floor{icon_state = "white"},/area/wizard_station) +"BV" = (/obj/item/reagent_containers/food/drinks/bottle/pwine{pixel_x = -4; pixel_y = 10},/obj/structure/table/marble,/turf/unsimulated/floor{icon_state = "white"},/area/wizard_station) "BW" = (/obj/structure/sink/kitchen{pixel_y = 28},/turf/unsimulated/floor{icon_state = "white"},/area/wizard_station) "BX" = (/obj/machinery/door/airlock/external{icon_state = "door_locked"; locked = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/terminal) "BY" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/terminal) @@ -1460,44 +1460,44 @@ "Cd" = (/obj/machinery/computer/arcade/orion_trail,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) "Ce" = (/obj/machinery/microwave{pixel_x = -1; pixel_y = 8},/obj/structure/table/marble,/turf/unsimulated/floor{icon_state = "white"},/area/wizard_station) "Cf" = (/turf/unsimulated/floor{icon_state = "white"},/area/wizard_station) -"Cg" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{on = 0; pixel_x = -3; pixel_y = 8},/obj/item/toy/figure/ninja,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station) -"Ch" = (/obj/structure/bed,/obj/item/weapon/bedsheet/rd,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station) +"Cg" = (/obj/structure/table/woodentable,/obj/item/flashlight/lamp/green{on = 0; pixel_x = -3; pixel_y = 8},/obj/item/toy/figure/ninja,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station) +"Ch" = (/obj/structure/bed,/obj/item/bedsheet/rd,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station) "Ci" = (/obj/structure/AIcore/deactivated,/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) "Cj" = (/obj/structure/bed/chair/wood/wings,/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = 30},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) "Ck" = (/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) "Cl" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"Cm" = (/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/structure/table/marble,/turf/unsimulated/floor{icon_state = "white"},/area/wizard_station) +"Cm" = (/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/structure/table/marble,/turf/unsimulated/floor{icon_state = "white"},/area/wizard_station) "Cn" = (/obj/structure/mirror{pixel_x = -28},/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station) "Co" = (/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station) -"Cp" = (/obj/structure/table/woodentable,/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/obj/item/weapon/ore/slag{desc = "Well at least Arthur doesn't have to share now..."; name = "pet rock"},/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station) +"Cp" = (/obj/structure/table/woodentable,/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/obj/item/ore/slag{desc = "Well at least Arthur doesn't have to share now..."; name = "pet rock"},/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station) "Cq" = (/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = 30},/obj/structure/bedsheetbin,/obj/structure/table/woodentable,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station) "Cr" = (/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/terminal) "Cs" = (/obj/machinery/door/airlock/glass_command{name = "Escape Shuttle Cockpit"; req_access = list(19)},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"Ct" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Subversive Intercom"; pixel_x = -32; subspace_transmission = 1; syndie = 1},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"Cu" = (/obj/structure/table/woodentable,/obj/item/device/radio/headset,/obj/item/weapon/spacecash/c500,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"Ct" = (/obj/structure/table/woodentable,/obj/item/paper_bin,/obj/item/pen,/obj/item/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Subversive Intercom"; pixel_x = -32; subspace_transmission = 1; syndie = 1},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"Cu" = (/obj/structure/table/woodentable,/obj/item/radio/headset,/obj/item/spacecash/c500,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) "Cv" = (/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 8},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"Cw" = (/obj/item/weapon/reagent_containers/food/snacks/spellburger{pixel_y = 8},/obj/structure/table/marble,/turf/unsimulated/floor{icon_state = "white"},/area/wizard_station) +"Cw" = (/obj/item/reagent_containers/food/snacks/spellburger{pixel_y = 8},/obj/structure/table/marble,/turf/unsimulated/floor{icon_state = "white"},/area/wizard_station) "Cx" = (/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) -"Cy" = (/obj/structure/undies_wardrobe,/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Subversive Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) +"Cy" = (/obj/structure/undies_wardrobe,/obj/item/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Subversive Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) "Cz" = (/turf/simulated/shuttle/wall/no_join,/area/shuttle/escape/centcom) -"CA" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 3},/obj/item/weapon/extinguisher,/obj/item/weapon/tool/crowbar,/turf/simulated/shuttle/floor/white,/area/shuttle/escape/centcom) +"CA" = (/obj/structure/table/standard,/obj/item/storage/firstaid/fire,/obj/item/storage/firstaid/regular{pixel_x = 2; pixel_y = 3},/obj/item/extinguisher,/obj/item/tool/crowbar,/turf/simulated/shuttle/floor/white,/area/shuttle/escape/centcom) "CB" = (/obj/structure/closet/emcloset,/turf/simulated/shuttle/floor/white,/area/shuttle/escape/centcom) "CC" = (/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 4},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"CD" = (/obj/structure/table/woodentable,/obj/item/device/paicard,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"CE" = (/obj/structure/table/woodentable,/obj/item/weapon/book/codex/corp_regs,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"CD" = (/obj/structure/table/woodentable,/obj/item/paicard,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"CE" = (/obj/structure/table/woodentable,/obj/item/book/codex/corp_regs,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) "CF" = (/obj/machinery/door/airlock/hatch,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) "CG" = (/obj/machinery/door/airlock/hatch,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) -"CH" = (/obj/item/weapon/antag_spawner/technomancer_apprentice,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) -"CI" = (/obj/structure/table/woodentable,/obj/item/clothing/shoes/boots/workboots,/obj/item/clothing/under/technomancer,/obj/item/clothing/head/technomancer,/obj/item/weapon/storage/box/syndie_kit/chameleon,/obj/item/weapon/storage/box/syndie_kit/chameleon,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) +"CH" = (/obj/item/antag_spawner/technomancer_apprentice,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) +"CI" = (/obj/structure/table/woodentable,/obj/item/clothing/shoes/boots/workboots,/obj/item/clothing/under/technomancer,/obj/item/clothing/head/technomancer,/obj/item/storage/box/syndie_kit/chameleon,/obj/item/storage/box/syndie_kit/chameleon,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) "CJ" = (/obj/machinery/door/airlock/external{icon_state = "door_locked"; locked = 1},/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/terminal) "CK" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "centcom_dock_airlock"; locked = 1; name = "Arrivals Airlock"; req_access = list(13)},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/terminal) "CL" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) "CM" = (/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 1},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) "CN" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/wizard_station) "CO" = (/obj/machinery/vending/hydroseeds,/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/wizard_station) -"CP" = (/obj/structure/closet/cabinet,/obj/item/clothing/suit/wizrobe/magusblue,/obj/item/clothing/head/wizard/magus,/obj/item/weapon/staff,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) +"CP" = (/obj/structure/closet/cabinet,/obj/item/clothing/suit/wizrobe/magusblue,/obj/item/clothing/head/wizard/magus,/obj/item/staff,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "CQ" = (/obj/effect/landmark/start{name = "wizard"},/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) -"CR" = (/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) +"CR" = (/obj/item/reagent_containers/food/snacks/cheesewedge,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) "CS" = (/obj/structure/table/woodentable,/obj/machinery/librarycomp{pixel_y = 6},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) "CT" = (/obj/machinery/media/jukebox,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) "CU" = (/obj/machinery/vending/hydronutrients,/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/wizard_station) @@ -1511,17 +1511,17 @@ "Dc" = (/obj/machinery/photocopier,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) "Dd" = (/obj/structure/bookcase,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) "De" = (/obj/structure/flora/pottedplant{icon_state = "plant-08"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"Df" = (/obj/structure/closet/cabinet,/obj/item/clothing/shoes/sandal/marisa{desc = "A set of fancy shoes that are as functional as they are comfortable."; name = "Gentlemans Shoes"},/obj/item/clothing/under/gentlesuit,/obj/item/clothing/suit/wizrobe/gentlecoat,/obj/item/clothing/head/wizard/cap,/obj/item/weapon/staff/gentcane,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) -"Dg" = (/obj/structure/closet/cabinet,/obj/item/clothing/suit/wizrobe/magusred,/obj/item/clothing/head/wizard/magus,/obj/item/weapon/staff,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) -"Dh" = (/obj/structure/closet/cabinet,/obj/item/clothing/suit/wizrobe/marisa,/obj/item/clothing/shoes/sandal/marisa,/obj/item/clothing/head/wizard/marisa,/obj/item/weapon/staff/broom,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) -"Di" = (/obj/structure/closet/cabinet,/obj/item/clothing/suit/wizrobe/red,/obj/item/clothing/shoes/sandal,/obj/item/clothing/head/wizard/red,/obj/item/weapon/staff,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) +"Df" = (/obj/structure/closet/cabinet,/obj/item/clothing/shoes/sandal/marisa{desc = "A set of fancy shoes that are as functional as they are comfortable."; name = "Gentlemans Shoes"},/obj/item/clothing/under/gentlesuit,/obj/item/clothing/suit/wizrobe/gentlecoat,/obj/item/clothing/head/wizard/cap,/obj/item/staff/gentcane,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) +"Dg" = (/obj/structure/closet/cabinet,/obj/item/clothing/suit/wizrobe/magusred,/obj/item/clothing/head/wizard/magus,/obj/item/staff,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) +"Dh" = (/obj/structure/closet/cabinet,/obj/item/clothing/suit/wizrobe/marisa,/obj/item/clothing/shoes/sandal/marisa,/obj/item/clothing/head/wizard/marisa,/obj/item/staff/broom,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) +"Di" = (/obj/structure/closet/cabinet,/obj/item/clothing/suit/wizrobe/red,/obj/item/clothing/shoes/sandal,/obj/item/clothing/head/wizard/red,/obj/item/staff,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "Dj" = (/obj/structure/bed/chair/shuttle{dir = 4},/turf/simulated/shuttle/floor/white,/area/shuttle/escape/centcom) "Dk" = (/obj/structure/bed/chair/shuttle{dir = 8},/turf/simulated/shuttle/floor/white,/area/shuttle/escape/centcom) "Dl" = (/obj/machinery/the_singularitygen,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "Dm" = (/obj/machinery/crystal,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) "Dn" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) -"Do" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/arrow/quill,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) -"Dp" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/stock_parts/matter_bin/super,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) +"Do" = (/obj/structure/table/steel_reinforced,/obj/item/arrow/quill,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) +"Dp" = (/obj/structure/table/steel_reinforced,/obj/item/stock_parts/matter_bin/super,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "Dq" = (/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/wizard_station) "Dr" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "centcom_dock"; name = "docking port controller"; pixel_x = 25; pixel_y = 0; req_one_access = list(13); tag_door = "centcom_dock_airlock"},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/terminal) "Ds" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/terminal) @@ -1531,7 +1531,7 @@ "Dw" = (/obj/machinery/computer/message_monitor,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "Dx" = (/obj/structure/frame/computer,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "Dy" = (/obj/structure/table/steel_reinforced,/obj/item/stack/telecrystal,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) -"Dz" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) +"Dz" = (/obj/item/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/obj/item/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "DA" = (/obj/structure/table/steel_reinforced,/obj/item/clothing/head/philosopher_wig,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) "DB" = (/obj/structure/flora/pottedplant{icon_state = "plant-04"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "DC" = (/obj/structure/sign/electricshock,/turf/simulated/shuttle/wall/dark/hard_corner,/area/wizard_station) @@ -1542,50 +1542,50 @@ "DH" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"; dir = 8},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/administration/centcom) "DI" = (/obj/machinery/computer/secure_data{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) "DJ" = (/obj/structure/frame/computer{dir = 4},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) -"DK" = (/obj/structure/table/steel_reinforced,/obj/item/device/mmi/radio_enabled,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) -"DL" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/material/knife/ritual,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) -"DM" = (/obj/structure/flora/pottedplant{icon_state = "plant-03"},/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Subversive Intercom"; pixel_x = -32; subspace_transmission = 1; syndie = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) +"DK" = (/obj/structure/table/steel_reinforced,/obj/item/mmi/radio_enabled,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) +"DL" = (/obj/structure/table/steel_reinforced,/obj/item/material/knife/ritual,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) +"DM" = (/obj/structure/flora/pottedplant{icon_state = "plant-03"},/obj/item/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Subversive Intercom"; pixel_x = -32; subspace_transmission = 1; syndie = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "DN" = (/obj/structure/reagent_dispensers/watertank,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/wizard_station) "DO" = (/obj/machinery/power/port_gen/pacman,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/wizard_station) "DP" = (/obj/structure/table/steel_reinforced,/obj/item/xenos_claw,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) -"DQ" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/coin/diamond,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) +"DQ" = (/obj/structure/table/steel_reinforced,/obj/item/coin/diamond,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) "DR" = (/obj/structure/table/steel_reinforced,/obj/item/broken_device,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) "DS" = (/obj/structure/table/steel_reinforced,/obj/item/organ/internal/stack,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "DT" = (/obj/machinery/floodlight,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/wizard_station) "DU" = (/obj/machinery/mecha_part_fabricator,/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "DV" = (/obj/structure/table/steel_reinforced,/obj/machinery/cell_charger,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) -"DW" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/book/manual/ripley_build_and_repair,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) -"DX" = (/obj/item/device/suit_cooling_unit,/obj/structure/table/steel_reinforced,/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = 30},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) +"DW" = (/obj/structure/table/steel_reinforced,/obj/item/book/manual/ripley_build_and_repair,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) +"DX" = (/obj/item/suit_cooling_unit,/obj/structure/table/steel_reinforced,/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = 30},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "DY" = (/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = 30},/obj/item/target,/obj/effect/floor_decal/industrial/outline/yellow,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "DZ" = (/obj/item/target/syndicate,/obj/effect/floor_decal/industrial/outline/yellow,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "Ea" = (/obj/structure/table/steel_reinforced,/obj/item/toy/sword,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) -"Eb" = (/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/obj/structure/table/steel_reinforced,/obj/item/weapon/gun/energy/laser/practice,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) +"Eb" = (/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/obj/structure/table/steel_reinforced,/obj/item/gun/energy/laser/practice,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "Ec" = (/obj/machinery/door/airlock/glass_security{name = "Escape Shuttle Cell"; req_access = list(1)},/turf/simulated/shuttle/floor/red,/area/shuttle/escape/centcom) "Ed" = (/obj/machinery/door/airlock/glass_medical{name = "Escape Shuttle Infirmary"; req_access = list(5)},/turf/simulated/shuttle/floor/white,/area/shuttle/escape/centcom) "Ee" = (/obj/machinery/recharge_station,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) -"Ef" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/book/manual/engineering_hacking,/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Subversive Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) +"Ef" = (/obj/structure/table/steel_reinforced,/obj/item/book/manual/wiki/engineering_hacking,/obj/item/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Subversive Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "Eg" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "Eh" = (/obj/effect/floor_decal/industrial/warning,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) "Ei" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) -"Ej" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Subversive Intercom"; pixel_x = -32; subspace_transmission = 1; syndie = 1},/obj/item/target,/obj/effect/floor_decal/industrial/outline/yellow,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) +"Ej" = (/obj/item/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Subversive Intercom"; pixel_x = -32; subspace_transmission = 1; syndie = 1},/obj/item/target,/obj/effect/floor_decal/industrial/outline/yellow,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "Ek" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/shuttle/floor/red,/area/shuttle/escape/centcom) "El" = (/turf/simulated/shuttle/floor/red,/area/shuttle/escape/centcom) "Em" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/shuttle/floor/red,/area/shuttle/escape/centcom) "En" = (/obj/machinery/atmospherics/unary/cryo_cell{layer = 3.3},/turf/simulated/shuttle/floor/white,/area/shuttle/escape/centcom) "Eo" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/oxygen/prechilled,/turf/simulated/shuttle/floor/white,/area/shuttle/escape/centcom) "Ep" = (/turf/simulated/shuttle/floor/white,/area/shuttle/escape/centcom) -"Eq" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = -4; pixel_y = 0},/obj/item/weapon/tool/wrench,/turf/simulated/shuttle/floor/white,/area/shuttle/escape/centcom) -"Er" = (/obj/structure/closet/crate/medical,/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/weapon/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/obj/item/weapon/storage/box/masks{pixel_x = 0; pixel_y = 0},/obj/item/weapon/storage/box/gloves{pixel_x = 3; pixel_y = 4},/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/fire{layer = 2.9; pixel_x = 2; pixel_y = 3},/obj/item/weapon/storage/firstaid/adv{pixel_x = -2},/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/turf/simulated/shuttle/floor/white,/area/shuttle/escape/centcom) +"Eq" = (/obj/structure/table/standard,/obj/item/reagent_containers/glass/beaker/cryoxadone{pixel_x = -4; pixel_y = 0},/obj/item/tool/wrench,/turf/simulated/shuttle/floor/white,/area/shuttle/escape/centcom) +"Er" = (/obj/structure/closet/crate/medical,/obj/item/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/obj/item/storage/box/masks{pixel_x = 0; pixel_y = 0},/obj/item/storage/box/gloves{pixel_x = 3; pixel_y = 4},/obj/item/storage/firstaid/toxin,/obj/item/storage/firstaid/fire{layer = 2.9; pixel_x = 2; pixel_y = 3},/obj/item/storage/firstaid/adv{pixel_x = -2},/obj/item/reagent_containers/blood/empty,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/turf/simulated/shuttle/floor/white,/area/shuttle/escape/centcom) "Es" = (/obj/item/robot_parts/r_arm,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/wizard_station) "Et" = (/obj/item/robot_parts/l_leg,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/wizard_station) -"Eu" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/book/manual/robotics_cyborgs,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) +"Eu" = (/obj/structure/table/steel_reinforced,/obj/item/book/manual/robotics_cyborgs,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "Ev" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "Ew" = (/obj/machinery/power/emitter{anchored = 1; desc = "It is a heavy duty industrial laser used in a very non-industrial way."; name = "teleport defender"},/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) "Ex" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "Ey" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/wizard_station) "Ez" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/wizard_station) "EA" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/wizard_station) -"EB" = (/obj/item/weapon/stool/padded,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) +"EB" = (/obj/item/stool/padded,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) "EC" = (/obj/item/robot_parts/r_leg,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/wizard_station) "ED" = (/obj/item/robot_parts/chest,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/wizard_station) "EE" = (/obj/item/robot_parts/l_arm,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/wizard_station) @@ -1608,11 +1608,11 @@ "EV" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/airless,/area/shuttle/escape/centcom) "EW" = (/obj/effect/decal/mecha_wreckage/phazon,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/wizard_station) "EX" = (/obj/item/robot_parts/head,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/wizard_station) -"EY" = (/obj/item/weapon/firstaid_arm_assembly,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) +"EY" = (/obj/item/firstaid_arm_assembly,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "EZ" = (/obj/machinery/computer/shuttle_control/merchant{dir = 4},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "Fa" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating/airless,/area/shuttle/escape/centcom) -"Fb" = (/obj/item/weapon/bucket_sensor,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) -"Fc" = (/obj/item/weapon/farmbot_arm_assembly,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) +"Fb" = (/obj/item/bucket_sensor,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) +"Fc" = (/obj/item/farmbot_arm_assembly,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "Fd" = (/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "Fe" = (/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) "Ff" = (/obj/machinery/computer/teleporter,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) @@ -1635,8 +1635,8 @@ "Fw" = (/obj/effect/overlay/coconut,/turf/unsimulated/beach/sand,/area/beach) "Fx" = (/obj/item/target/alien,/turf/unsimulated/floor{icon = 'icons/turf/flooring/wood.dmi'; icon_state = "wood_broken2"},/area/ninja_dojo/dojo) "Fy" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/ninja_dojo/dojo) -"Fz" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/flame/candle,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/ninja_dojo/dojo) -"FA" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/material/sword/katana,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/ninja_dojo/dojo) +"Fz" = (/obj/structure/table/wooden_reinforced,/obj/item/flame/candle,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/ninja_dojo/dojo) +"FA" = (/obj/structure/table/wooden_reinforced,/obj/item/material/sword/katana,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/ninja_dojo/dojo) "FB" = (/obj/machinery/space_heater,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/ninja_dojo/dojo) "FC" = (/obj/item/target,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/ninja_dojo/dojo) "FD" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 1},/turf/simulated/shuttle/plating/airless/carry,/area/ninja_dojo/start) @@ -1672,10 +1672,10 @@ "Gh" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/shuttle/floor/voidcraft/dark,/area/ninja_dojo/start) "Gi" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/shuttle/floor/voidcraft/light,/area/ninja_dojo/start) "Gj" = (/turf/simulated/shuttle/floor/voidcraft/dark,/area/ninja_dojo/start) -"Gk" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/storage/firstaid/adv{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/combat,/turf/simulated/shuttle/floor/voidcraft/dark,/area/ninja_dojo/start) -"Gl" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/snacks/chips,/turf/unsimulated/beach/sand,/area/beach) -"Gm" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/turf/unsimulated/beach/sand,/area/beach) -"Gn" = (/obj/item/weapon/beach_ball,/turf/unsimulated/beach/sand,/area/beach) +"Gk" = (/obj/structure/table/steel_reinforced,/obj/item/storage/firstaid/adv{pixel_x = 5; pixel_y = 5},/obj/item/storage/firstaid/combat,/turf/simulated/shuttle/floor/voidcraft/dark,/area/ninja_dojo/start) +"Gl" = (/obj/structure/table/standard,/obj/item/reagent_containers/food/snacks/chips,/turf/unsimulated/beach/sand,/area/beach) +"Gm" = (/obj/structure/table/standard,/obj/item/reagent_containers/food/drinks/cans/cola,/obj/item/reagent_containers/food/drinks/cans/cola,/obj/item/reagent_containers/food/drinks/cans/cola,/obj/item/reagent_containers/food/drinks/cans/cola,/obj/item/reagent_containers/food/drinks/cans/cola,/obj/item/reagent_containers/food/drinks/cans/cola,/turf/unsimulated/beach/sand,/area/beach) +"Gn" = (/obj/item/beach_ball,/turf/unsimulated/beach/sand,/area/beach) "Go" = (/turf/unsimulated/floor{icon_state = "dark"},/area/ninja_dojo/dojo) "Gp" = (/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1331; id_tag = "ninja_shuttle"; pixel_x = 0; pixel_y = -25; req_access = list(150)},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1331; id_tag = "ninja_shuttle_pump"},/obj/machinery/button/remote/blast_door{id = "blastninja"; name = "ship lockdown control"; pixel_x = -25},/turf/simulated/shuttle/floor/voidcraft/dark,/area/ninja_dojo/start) "Gq" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/door/airlock/voidcraft/vertical{frequency = 1331; id_tag = "ninja_shuttle_inner"; name = "Ship Internal Hatch"; req_access = list(150)},/turf/simulated/shuttle/floor/voidcraft/dark,/area/ninja_dojo/start) @@ -1687,9 +1687,9 @@ "Gw" = (/obj/machinery/computer/security{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security) "Gx" = (/obj/machinery/computer/cloning{dir = 1},/turf/simulated/shuttle/floor/white,/area/centcom/evac) "Gy" = (/turf/unsimulated/floor{icon = 'icons/turf/flooring/wood.dmi'; icon_state = "wood_broken1"},/area/ninja_dojo/dojo) -"Gz" = (/obj/structure/table/steel_reinforced,/obj/item/device/paicard,/obj/item/device/pda/syndicate,/turf/simulated/shuttle/floor/voidcraft/light,/area/ninja_dojo/start) +"Gz" = (/obj/structure/table/steel_reinforced,/obj/item/paicard,/obj/item/pda/syndicate,/turf/simulated/shuttle/floor/voidcraft/light,/area/ninja_dojo/start) "GA" = (/obj/structure/bed/chair/comfy/black,/turf/simulated/shuttle/floor/voidcraft/dark,/area/ninja_dojo/start) -"GB" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/storage/toolbox/syndicate{pixel_x = -1; pixel_y = 3},/obj/machinery/button/remote/blast_door{id = "ninjawindow"; name = "remote shutter control"; pixel_x = 0; pixel_y = -25; req_access = list(150)},/turf/simulated/shuttle/floor/voidcraft/light,/area/ninja_dojo/start) +"GB" = (/obj/structure/table/steel_reinforced,/obj/item/storage/toolbox/syndicate{pixel_x = -1; pixel_y = 3},/obj/machinery/button/remote/blast_door{id = "ninjawindow"; name = "remote shutter control"; pixel_x = 0; pixel_y = -25; req_access = list(150)},/turf/simulated/shuttle/floor/voidcraft/light,/area/ninja_dojo/start) "GC" = (/obj/structure/table/bench/wooden,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/ninja_dojo/dojo) "GD" = (/obj/structure/flight_right{dir = 1},/turf/simulated/shuttle/floor/voidcraft/light,/area/ninja_dojo/start) "GE" = (/obj/machinery/computer/shuttle_control/web/ninja{icon_state = "flightcomp_center"; dir = 1},/turf/simulated/shuttle/floor/voidcraft/light,/area/ninja_dojo/start) @@ -1718,21 +1718,21 @@ "Hb" = (/obj/structure/table/wooden_reinforced,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/ninja_dojo/dojo) "Hc" = (/turf/unsimulated/wall{icon = 'icons/obj/doors/Dooruranium.dmi'; icon_state = "door_closed"; name = "Sealed Door"},/area/ninja_dojo/dojo) "Hd" = (/obj/structure/table/glass,/obj/item/clothing/mask/balaclava/tactical{pixel_x = 2; pixel_y = 2},/obj/item/clothing/mask/balaclava,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/ninja_dojo/dojo) -"He" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/snacks/fortunecookie,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/ninja_dojo/dojo) +"He" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/food/snacks/fortunecookie,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/ninja_dojo/dojo) "Hf" = (/obj/structure/table/glass,/obj/item/clothing/mask/balaclava,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/ninja_dojo/dojo) -"Hg" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/ninja_dojo/dojo) +"Hg" = (/obj/structure/bed/padded,/obj/item/bedsheet,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/ninja_dojo/dojo) "Hh" = (/obj/structure/table/glass,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/ninja_dojo/dojo) "Hi" = (/obj/structure/toilet{dir = 4},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/ninja_dojo/dojo) "Hj" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/ninja_dojo/dojo) "Hk" = (/obj/machinery/recharge_station,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/ninja_dojo/dojo) "Hl" = (/obj/structure/table/bench/wooden,/obj/effect/landmark{name = "ninjastart"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/ninja_dojo/dojo) "Hm" = (/obj/effect/landmark{name = "ninjastart"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/ninja_dojo/dojo) -"Hn" = (/obj/structure/window/reinforced/tinted{dir = 1},/obj/structure/table/glass,/obj/item/weapon/towel{color = "#FF6666"; name = "light red towel"},/obj/item/weapon/towel{color = "#FF6666"; name = "light red towel"},/obj/random/soap,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/ninja_dojo/dojo) +"Hn" = (/obj/structure/window/reinforced/tinted{dir = 1},/obj/structure/table/glass,/obj/item/towel{color = "#FF6666"; name = "light red towel"},/obj/item/towel{color = "#FF6666"; name = "light red towel"},/obj/random/soap,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/ninja_dojo/dojo) "Ho" = (/obj/machinery/recharger{pixel_y = 0},/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/ninja_dojo/dojo) -"Hp" = (/obj/structure/table/wooden_reinforced,/obj/item/device/radio/uplink,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/ninja_dojo/dojo) +"Hp" = (/obj/structure/table/wooden_reinforced,/obj/item/radio/uplink,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/ninja_dojo/dojo) "Hq" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{pixel_x = -28},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/ninja_dojo/dojo) -"Hr" = (/obj/item/weapon/rig/light/stealth,/obj/structure/table/rack,/turf/unsimulated/floor{icon_state = "dark"},/area/ninja_dojo/dojo) -"Hs" = (/obj/item/device/suit_cooling_unit,/turf/unsimulated/floor{icon_state = "dark"},/area/ninja_dojo/dojo) +"Hr" = (/obj/item/rig/light/stealth,/obj/structure/table/rack,/turf/unsimulated/floor{icon_state = "dark"},/area/ninja_dojo/dojo) +"Hs" = (/obj/item/suit_cooling_unit,/turf/unsimulated/floor{icon_state = "dark"},/area/ninja_dojo/dojo) "Ht" = (/obj/machinery/door/airlock{icon = 'icons/obj/doors/Dooruranium.dmi'},/turf/unsimulated/floor{icon_state = "white"},/area/ninja_dojo/dojo) "Hu" = (/obj/machinery/door/morgue,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/ninja_dojo/dojo) "Hv" = (/obj/structure/closet/crate,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/unsimulated/floor{icon_state = "dark"},/area/ninja_dojo/dojo) @@ -1741,7 +1741,7 @@ "Hy" = (/obj/machinery/door/morgue,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/ninja_dojo/dojo) "Hz" = (/obj/structure/table/steel_reinforced,/obj/item/rig_module/chem_dispenser/ninja,/turf/unsimulated/floor{icon_state = "dark"},/area/ninja_dojo/dojo) "HA" = (/obj/structure/bed/chair/office/dark,/turf/unsimulated/floor{icon_state = "dark"},/area/ninja_dojo/dojo) -"HB" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/storage/toolbox/syndicate{pixel_x = -1; pixel_y = 3},/obj/random/tech_supply,/turf/unsimulated/floor{icon_state = "dark"},/area/ninja_dojo/dojo) +"HB" = (/obj/structure/table/steel_reinforced,/obj/item/storage/toolbox/syndicate{pixel_x = -1; pixel_y = 3},/obj/random/tech_supply,/turf/unsimulated/floor{icon_state = "dark"},/area/ninja_dojo/dojo) "HC" = (/obj/structure/undies_wardrobe,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/ninja_dojo/dojo) "HD" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = -1},/obj/structure/curtain/open/shower/medical,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/ninja_dojo/dojo) "HE" = (/obj/structure/table/steel_reinforced,/obj/machinery/cell_charger,/obj/random/powercell,/turf/unsimulated/floor{icon_state = "dark"},/area/ninja_dojo/dojo) @@ -1749,22 +1749,22 @@ "HG" = (/obj/structure/table/steel_reinforced,/obj/item/rig_module/fabricator/energy_net,/obj/item/rig_module/vision/multi,/turf/unsimulated/floor{icon_state = "dark"},/area/ninja_dojo/dojo) "HH" = (/obj/machinery/sleeper{dir = 8},/turf/unsimulated/floor{icon_state = "white"},/area/ninja_dojo/dojo) "HI" = (/obj/machinery/sleep_console,/turf/unsimulated/floor{icon_state = "white"},/area/ninja_dojo/dojo) -"HJ" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/adv{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/adv,/turf/unsimulated/floor{icon_state = "white"},/area/ninja_dojo/dojo) +"HJ" = (/obj/structure/table/standard,/obj/item/storage/firstaid/adv{pixel_x = 5; pixel_y = 5},/obj/item/storage/firstaid/adv,/turf/unsimulated/floor{icon_state = "white"},/area/ninja_dojo/dojo) "HK" = (/turf/unsimulated/wall,/area/syndicate_station) "HL" = (/obj/machinery/space_heater,/turf/unsimulated/floor{icon = 'icons/turf/flooring/wood.dmi'; icon_state = "wood_broken3"},/area/ninja_dojo/dojo) "HM" = (/turf/unsimulated/wall,/area/syndicate_mothership/elite_squad) "HN" = (/turf/unsimulated/wall,/area/skipjack_station) "HO" = (/turf/unsimulated/wall,/area/prison/solitary) -"HP" = (/obj/structure/table/rack,/obj/item/device/camera_film,/obj/item/device/camera_film,/obj/item/device/camera_film,/obj/item/device/camera_film,/obj/item/device/camera_film,/obj/item/device/camera_film,/obj/item/device/camera,/obj/item/device/camera,/obj/item/device/camera,/obj/item/device/camera,/obj/item/device/camera,/obj/item/device/camera,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) -"HQ" = (/obj/structure/table/rack,/obj/item/weapon/storage/toolbox/emergency{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/storage/toolbox/emergency{pixel_x = -3; pixel_y = -3},/obj/item/weapon/storage/toolbox/emergency{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/storage/toolbox/emergency{pixel_x = -3; pixel_y = -3},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) -"HR" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/plasmastun,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) +"HP" = (/obj/structure/table/rack,/obj/item/camera_film,/obj/item/camera_film,/obj/item/camera_film,/obj/item/camera_film,/obj/item/camera_film,/obj/item/camera_film,/obj/item/camera,/obj/item/camera,/obj/item/camera,/obj/item/camera,/obj/item/camera,/obj/item/camera,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) +"HQ" = (/obj/structure/table/rack,/obj/item/storage/toolbox/emergency{pixel_x = 3; pixel_y = 3},/obj/item/storage/toolbox/emergency,/obj/item/storage/toolbox/emergency{pixel_x = -3; pixel_y = -3},/obj/item/storage/toolbox/emergency{pixel_x = 3; pixel_y = 3},/obj/item/storage/toolbox/emergency,/obj/item/storage/toolbox/emergency{pixel_x = -3; pixel_y = -3},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) +"HR" = (/obj/structure/table/rack,/obj/item/gun/energy/plasmastun,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) "HS" = (/obj/structure/table/rack,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) -"HT" = (/obj/structure/table/rack,/obj/machinery/recharger/wallcharger{pixel_x = 5; pixel_y = 32},/obj/item/weapon/material/knife/tacknife/combatknife,/obj/item/weapon/material/knife/tacknife/combatknife,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) -"HU" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/ionrifle,/obj/machinery/recharger/wallcharger{pixel_x = 5; pixel_y = 32},/obj/item/weapon/gun/energy/ionrifle,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) +"HT" = (/obj/structure/table/rack,/obj/machinery/recharger/wallcharger{pixel_x = 5; pixel_y = 32},/obj/item/material/knife/tacknife/combatknife,/obj/item/material/knife/tacknife/combatknife,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) +"HU" = (/obj/structure/table/rack,/obj/item/gun/energy/ionrifle,/obj/machinery/recharger/wallcharger{pixel_x = 5; pixel_y = 32},/obj/item/gun/energy/ionrifle,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) "HV" = (/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad) "HW" = (/obj/mecha/combat/marauder/mauler,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad) "HX" = (/obj/machinery/mech_recharger,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad) -"HY" = (/obj/structure/table/rack,/obj/item/weapon/gun/projectile/automatic/sts35,/obj/item/weapon/gun/projectile/automatic/sts35,/obj/item/ammo_magazine/m545,/obj/item/ammo_magazine/m545,/obj/item/ammo_magazine/m545,/obj/item/ammo_magazine/m545,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) +"HY" = (/obj/structure/table/rack,/obj/item/gun/projectile/automatic/sts35,/obj/item/gun/projectile/automatic/sts35,/obj/item/ammo_magazine/m545,/obj/item/ammo_magazine/m545,/obj/item/ammo_magazine/m545,/obj/item/ammo_magazine/m545,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) "HZ" = (/turf/simulated/shuttle/wall/dark,/area/shuttle/syndicate_elite/mothership) "Ia" = (/obj/machinery/computer/operating{dir = 4},/turf/simulated/shuttle/floor/white,/area/centcom/evac) "Ib" = (/obj/machinery/computer/shuttle{dir = 1},/turf/simulated/shuttle/floor/black,/area/centcom/evac) @@ -1773,33 +1773,33 @@ "Ie" = (/turf/simulated/mineral,/area/skipjack_station) "If" = (/turf/unsimulated/floor{icon_state = "asteroid"},/area/skipjack_station) "Ig" = (/obj/machinery/embedded_controller/radio/docking_port_multi{child_names_txt = "Airlock One;Airlock Two;Airlock Three;Airlock Four"; child_tags_txt = "escape_dock_north_airlock;escape_dock_south_airlock;escape_dock_snorth_airlock;escape_dock_ssouth_airlock"; frequency = 1380; id_tag = "escape_dock"; pixel_y = -32; req_one_access = list(13)},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/terminal) -"Ih" = (/obj/structure/table/standard,/obj/item/device/paicard,/turf/unsimulated/floor{icon_state = "steel"},/area/skipjack_station) +"Ih" = (/obj/structure/table/standard,/obj/item/paicard,/turf/unsimulated/floor{icon_state = "steel"},/area/skipjack_station) "Ii" = (/obj/effect/decal/cleanable/cobweb2{icon_state = "cobweb1"},/turf/unsimulated/floor{icon_state = "steel"},/area/skipjack_station) "Ij" = (/turf/unsimulated/floor{icon_state = "steel"},/area/skipjack_station) "Ik" = (/obj/structure/bed,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/prison/solitary) "Il" = (/obj/effect/landmark{name = "prisonwarp"},/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/prison/solitary) -"Im" = (/obj/structure/table/rack,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) +"Im" = (/obj/structure/table/rack,/obj/item/megaphone,/obj/item/megaphone,/obj/item/megaphone,/obj/item/megaphone,/obj/item/megaphone,/obj/item/megaphone,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) "In" = (/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) -"Io" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/cell/device/weapon,/obj/item/weapon/cell/device/weapon,/obj/item/weapon/cell/device/weapon,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) +"Io" = (/obj/structure/table/rack,/obj/item/gun/energy/gun,/obj/item/gun/energy/gun,/obj/item/gun/energy/gun,/obj/item/cell/device/weapon,/obj/item/cell/device/weapon,/obj/item/cell/device/weapon,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) "Ip" = (/mob/living/silicon/decoy{icon_state = "ai-malf"; name = "GLaDOS"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) "Iq" = (/obj/structure/window/reinforced,/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 1},/turf/simulated/floor/airless,/area/shuttle/syndicate_elite/mothership) "Ir" = (/obj/structure/inflatable,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/skipjack_station) -"Is" = (/obj/item/weapon/ore,/turf/unsimulated/floor{icon_state = "steel"},/area/skipjack_station) +"Is" = (/obj/item/ore,/turf/unsimulated/floor{icon_state = "steel"},/area/skipjack_station) "It" = (/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/skipjack_station) -"Iu" = (/obj/structure/table/rack,/obj/item/device/flashlight/maglight,/obj/item/device/flashlight/maglight,/obj/item/device/flashlight/maglight,/obj/item/device/flashlight/maglight,/obj/item/device/flashlight/maglight,/obj/item/device/flashlight/maglight,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) -"Iv" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/handcuffs{pixel_x = 4; pixel_y = 2},/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/storage/box/smokes,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) +"Iu" = (/obj/structure/table/rack,/obj/item/flashlight/maglight,/obj/item/flashlight/maglight,/obj/item/flashlight/maglight,/obj/item/flashlight/maglight,/obj/item/flashlight/maglight,/obj/item/flashlight/maglight,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) +"Iv" = (/obj/structure/table/rack,/obj/item/storage/box/handcuffs{pixel_x = 4; pixel_y = 2},/obj/item/storage/box/flashbangs,/obj/item/storage/box/smokes,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) "Iw" = (/obj/structure/table/rack,/obj/item/clothing/accessory/storage/white_vest,/obj/item/clothing/accessory/storage/white_vest,/obj/item/clothing/accessory/storage/white_vest,/obj/item/clothing/accessory/storage/white_vest,/obj/item/clothing/accessory/storage/white_vest,/obj/item/clothing/accessory/storage/white_vest,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) -"Ix" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; frequency = 1213; listening = 1; name = "Syndicate Ops Intercom"; pixel_y = 26; subspace_transmission = 1; syndie = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) +"Ix" = (/obj/item/radio/intercom{broadcasting = 1; dir = 1; frequency = 1213; listening = 1; name = "Syndicate Ops Intercom"; pixel_y = 26; subspace_transmission = 1; syndie = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) "Iy" = (/obj/machinery/door/airlock/glass_security{name = "Airlock"; req_access = list(150)},/obj/machinery/door/blast/regular{id = "syndicate_elite_mech_room"; name = "Mech Room Door"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad) "Iz" = (/obj/effect/wingrille_spawn/reinforced,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/syndicate_mothership/elite_squad) "IA" = (/turf/simulated/shuttle/wall/dark/no_join,/area/shuttle/syndicate_elite/mothership) "IB" = (/obj/effect/landmark{name = "Syndicate-Commando-Bomb"},/turf/simulated/shuttle/floor/skipjack,/area/shuttle/syndicate_elite/mothership) "IC" = (/obj/structure/inflatable,/turf/unsimulated/floor{icon_state = "asteroid"},/area/skipjack_station) "ID" = (/obj/machinery/door/airlock/hatch{req_access = list(150)},/turf/unsimulated/floor{icon_state = "steel"},/area/skipjack_station) -"IE" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/glasses/square{pixel_x = 1; pixel_y = 4},/turf/unsimulated/floor{icon_state = "white"},/area/skipjack_station) -"IF" = (/obj/item/weapon/tray{pixel_y = 5},/obj/structure/table/standard,/obj/item/weapon/material/knife/butch,/turf/unsimulated/floor{icon_state = "white"},/area/skipjack_station) -"IG" = (/obj/structure/table/rack,/obj/item/device/flashlight/flare,/obj/item/device/flashlight/flare,/obj/item/device/flashlight/flare,/obj/item/device/flashlight/flare,/obj/item/device/flashlight/flare,/obj/item/device/flashlight/flare,/obj/item/device/flashlight/flare,/obj/item/device/flashlight/flare,/obj/item/device/flashlight/flare,/obj/item/device/flashlight/flare,/obj/item/device/flashlight/flare,/obj/item/device/flashlight/flare,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) -"IH" = (/obj/structure/table/rack,/obj/item/device/binoculars,/obj/item/device/binoculars,/obj/item/device/binoculars,/obj/item/device/binoculars,/obj/item/device/binoculars,/obj/item/device/binoculars,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) +"IE" = (/obj/structure/table/standard,/obj/item/storage/box/glasses/square{pixel_x = 1; pixel_y = 4},/turf/unsimulated/floor{icon_state = "white"},/area/skipjack_station) +"IF" = (/obj/item/tray{pixel_y = 5},/obj/structure/table/standard,/obj/item/material/knife/butch,/turf/unsimulated/floor{icon_state = "white"},/area/skipjack_station) +"IG" = (/obj/structure/table/rack,/obj/item/flashlight/flare,/obj/item/flashlight/flare,/obj/item/flashlight/flare,/obj/item/flashlight/flare,/obj/item/flashlight/flare,/obj/item/flashlight/flare,/obj/item/flashlight/flare,/obj/item/flashlight/flare,/obj/item/flashlight/flare,/obj/item/flashlight/flare,/obj/item/flashlight/flare,/obj/item/flashlight/flare,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) +"IH" = (/obj/structure/table/rack,/obj/item/binoculars,/obj/item/binoculars,/obj/item/binoculars,/obj/item/binoculars,/obj/item/binoculars,/obj/item/binoculars,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) "II" = (/obj/structure/table/rack,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) "IJ" = (/obj/machinery/embedded_controller/radio/docking_port_multi{child_names_txt = "Airlock One;Airlock Two"; child_tags_txt = "arrivals_dock_north_airlock;arrivals_dock_south_airlock"; frequency = 1380; id_tag = "arrivals_dock"; pixel_y = -32},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/terminal) "IK" = (/obj/effect/wingrille_spawn/reinforced,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/syndicate_station) @@ -1811,23 +1811,23 @@ "IQ" = (/obj/effect/decal/cleanable/cobweb2{icon_state = "spiderling"; name = "dead spider"},/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/skipjack_station) "IR" = (/obj/structure/table/standard,/obj/machinery/chemical_dispenser/bar_soft/full,/turf/unsimulated/floor{icon_state = "white"},/area/skipjack_station) "IS" = (/turf/unsimulated/floor{icon_state = "white"},/area/skipjack_station) -"IT" = (/obj/item/weapon/ore,/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{icon_state = "white"},/area/skipjack_station) +"IT" = (/obj/item/ore,/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{icon_state = "white"},/area/skipjack_station) "IU" = (/obj/structure/table/rack,/obj/item/clothing/mask/balaclava/tactical,/obj/item/clothing/mask/balaclava/tactical,/obj/item/clothing/mask/balaclava/tactical,/obj/item/clothing/mask/balaclava/tactical,/obj/item/clothing/mask/balaclava/tactical,/obj/item/clothing/mask/balaclava/tactical,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) -"IV" = (/obj/structure/table/rack,/obj/item/weapon/pinpointer/shuttle/merc,/obj/item/weapon/pinpointer/shuttle/merc,/obj/item/weapon/pinpointer/shuttle/merc,/obj/item/weapon/pinpointer/shuttle/merc,/obj/item/weapon/pinpointer/shuttle/merc,/obj/item/weapon/pinpointer/shuttle/merc,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) +"IV" = (/obj/structure/table/rack,/obj/item/pinpointer/shuttle/merc,/obj/item/pinpointer/shuttle/merc,/obj/item/pinpointer/shuttle/merc,/obj/item/pinpointer/shuttle/merc,/obj/item/pinpointer/shuttle/merc,/obj/item/pinpointer/shuttle/merc,/obj/item/shield/energy,/obj/item/shield/energy,/obj/item/shield/energy,/obj/item/shield/energy,/obj/item/shield/energy,/obj/item/shield/energy,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) "IW" = (/obj/structure/table/rack,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) -"IX" = (/obj/structure/table/rack,/obj/item/ammo_magazine/m10mm,/obj/item/ammo_magazine/m10mm,/obj/item/ammo_magazine/m10mm,/obj/item/ammo_magazine/m10mm,/obj/item/ammo_magazine/m10mm,/obj/item/ammo_magazine/m10mm,/obj/item/weapon/gun/projectile/automatic/c20r,/obj/item/weapon/gun/projectile/automatic/c20r,/obj/item/weapon/gun/projectile/automatic/c20r,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) +"IX" = (/obj/structure/table/rack,/obj/item/ammo_magazine/m10mm,/obj/item/ammo_magazine/m10mm,/obj/item/ammo_magazine/m10mm,/obj/item/ammo_magazine/m10mm,/obj/item/ammo_magazine/m10mm,/obj/item/ammo_magazine/m10mm,/obj/item/gun/projectile/automatic/c20r,/obj/item/gun/projectile/automatic/c20r,/obj/item/gun/projectile/automatic/c20r,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) "IY" = (/turf/unsimulated/wall{desc = "That looks like it doesn't open easily."; icon = 'icons/obj/doors/rapid_pdoor.dmi'; icon_state = "pdoor1"; name = "Shuttle Bay Blast Door"},/area/syndicate_mothership/elite_squad) "IZ" = (/obj/machinery/microwave{pixel_x = -1; pixel_y = 8},/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "white"},/area/skipjack_station) -"Ja" = (/obj/item/weapon/ore,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/skipjack_station) -"Jb" = (/obj/structure/urinal{pixel_y = 32},/obj/item/weapon/soap/syndie,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/skipjack_station) +"Ja" = (/obj/item/ore,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/skipjack_station) +"Jb" = (/obj/structure/urinal{pixel_y = 32},/obj/item/soap/syndie,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/skipjack_station) "Jc" = (/obj/structure/undies_wardrobe,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/skipjack_station) "Jd" = (/obj/structure/toilet,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/skipjack_station) "Je" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/vox/carapace,/obj/item/clothing/suit/space/vox/carapace,/obj/item/clothing/head/helmet/space/vox/carapace,/obj/item/clothing/head/helmet/space/vox/carapace,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/skipjack_station) -"Jf" = (/obj/item/weapon/gun/energy/sonic,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/skipjack_station) +"Jf" = (/obj/item/gun/energy/sonic,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/skipjack_station) "Jg" = (/obj/structure/closet/crate,/obj/item/clothing/under/vox/vox_casual,/obj/item/clothing/under/vox/vox_casual,/obj/item/clothing/under/vox/vox_casual,/obj/item/clothing/under/vox/vox_robes,/obj/item/clothing/under/vox/vox_robes,/obj/item/clothing/under/vox/vox_robes,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/skipjack_station) "Jh" = (/obj/structure/closet/crate,/obj/item/clothing/accessory/storage/vox,/obj/item/clothing/accessory/storage/vox,/obj/item/clothing/accessory/storage/vox,/obj/item/clothing/accessory/storage/vox,/obj/item/clothing/accessory/storage/vox,/obj/item/clothing/accessory/storage/vox,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/skipjack_station) "Ji" = (/obj/structure/closet/crate,/obj/item/clothing/gloves/vox,/obj/item/clothing/gloves/vox,/obj/item/clothing/gloves/vox,/obj/item/clothing/gloves/vox,/obj/item/clothing/gloves/vox,/obj/item/clothing/gloves/vox,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/shoes/magboots/vox,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/skipjack_station) -"Jj" = (/obj/item/weapon/gun/launcher/spikethrower,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/skipjack_station) +"Jj" = (/obj/item/gun/launcher/spikethrower,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/skipjack_station) "Jk" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/vox/stealth,/obj/item/clothing/suit/space/vox/stealth,/obj/item/clothing/head/helmet/space/vox/stealth,/obj/item/clothing/head/helmet/space/vox/stealth,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/skipjack_station) "Jl" = (/obj/structure/table/rack,/obj/item/clothing/suit/storage/vest/heavy/merc{pixel_x = 2; pixel_y = 2},/obj/item/clothing/suit/storage/vest/heavy/merc{pixel_x = -2; pixel_y = -2},/obj/item/clothing/suit/storage/vest/heavy/merc,/obj/item/clothing/suit/storage/vest/heavy/merc,/obj/item/clothing/suit/storage/vest/heavy/merc,/obj/item/clothing/suit/storage/vest/heavy/merc,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) "Jm" = (/obj/effect/landmark{name = "Syndicate-Commando"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad) @@ -1841,20 +1841,20 @@ "Ju" = (/obj/effect/decal/cleanable/blood,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/skipjack_station) "Jv" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/vox/medic,/obj/item/clothing/suit/space/vox/medic,/obj/item/clothing/head/helmet/space/vox/medic,/obj/item/clothing/head/helmet/space/vox/medic,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/skipjack_station) "Jw" = (/obj/item/clothing/glasses/night/vox,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/skipjack_station) -"Jx" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/darkmatter,/obj/item/weapon/gun/energy/darkmatter,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/skipjack_station) +"Jx" = (/obj/structure/table/rack,/obj/item/gun/energy/darkmatter,/obj/item/gun/energy/darkmatter,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/skipjack_station) "Jy" = (/obj/machinery/door/airlock/centcom{name = "Storage"; opacity = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) "Jz" = (/obj/machinery/door/airlock/centcom{icon_state = "door_locked"; locked = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) -"JA" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/orange,/turf/unsimulated/floor{icon = 'icons/turf/flooring/wood.dmi'; icon_state = "wood_broken1"},/area/skipjack_station) +"JA" = (/obj/structure/bed/padded,/obj/item/bedsheet/orange,/turf/unsimulated/floor{icon = 'icons/turf/flooring/wood.dmi'; icon_state = "wood_broken1"},/area/skipjack_station) "JB" = (/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "wood"},/area/skipjack_station) -"JC" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/brown,/turf/unsimulated/floor{icon_state = "wood"},/area/skipjack_station) -"JD" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/green,/turf/unsimulated/floor{icon_state = "wood"},/area/skipjack_station) +"JC" = (/obj/structure/bed/padded,/obj/item/bedsheet/brown,/turf/unsimulated/floor{icon_state = "wood"},/area/skipjack_station) +"JD" = (/obj/structure/bed/padded,/obj/item/bedsheet/green,/turf/unsimulated/floor{icon_state = "wood"},/area/skipjack_station) "JE" = (/obj/structure/table/standard,/obj/effect/decal/cleanable/cobweb2,/turf/unsimulated/floor{icon_state = "wood"},/area/skipjack_station) "JF" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/unsimulated/floor{icon_state = "white"},/area/skipjack_station) "JG" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{dir = 4; pixel_x = -28; pixel_y = 0},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/skipjack_station) "JH" = (/obj/machinery/shower{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/skipjack_station) "JI" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/vox/pressure,/obj/item/clothing/suit/space/vox/pressure,/obj/item/clothing/head/helmet/space/vox/pressure,/obj/item/clothing/head/helmet/space/vox/pressure,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/skipjack_station) -"JJ" = (/obj/item/weapon/gun/energy/plasmastun,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/skipjack_station) -"JK" = (/obj/item/weapon/gun/launcher/crossbow,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/skipjack_station) +"JJ" = (/obj/item/gun/energy/plasmastun,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/skipjack_station) +"JK" = (/obj/item/gun/launcher/crossbow,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/skipjack_station) "JL" = (/obj/fiftyspawner/rods,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/skipjack_station) "JM" = (/obj/item/clothing/mask/gas/swat/vox,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/skipjack_station) "JN" = (/obj/structure/table/rack,/obj/item/clothing/mask/gas/swat/vox,/obj/item/clothing/mask/gas/swat/vox,/obj/item/clothing/mask/gas/swat/vox,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/skipjack_station) @@ -1876,7 +1876,7 @@ "Kd" = (/turf/unsimulated/wall{desc = "That looks like it doesn't open easily."; icon = 'icons/obj/doors/rapid_pdoor.dmi'; icon_state = "pdoor1"; name = "Shuttle Bay Blast Door"},/area/skipjack_station) "Ke" = (/obj/effect/landmark{name = "Syndicate-Uplink"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) "Kf" = (/obj/machinery/door/airlock/centcom{name = "Armory"; opacity = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) -"Kg" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/glasses/square{pixel_x = 1; pixel_y = 4},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_station) +"Kg" = (/obj/structure/table/standard,/obj/item/storage/box/glasses/square{pixel_x = 1; pixel_y = 4},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_station) "Kh" = (/obj/structure/table/reinforced,/obj/machinery/microwave{pixel_x = -1; pixel_y = 8},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_station) "Ki" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_station) "Kj" = (/obj/machinery/door/airlock{name = "Unit 2"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_station) @@ -1888,10 +1888,10 @@ "Kp" = (/obj/machinery/door/airlock/hatch{req_access = list(150)},/turf/unsimulated/floor{icon_state = "steel_dirty"},/area/skipjack_station) "Kq" = (/turf/unsimulated/floor{icon_state = "steel_dirty"},/area/skipjack_station) "Kr" = (/obj/item/xenos_claw,/obj/item/organ/internal/brain/vox,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/skipjack_station) -"Ks" = (/obj/item/weapon/ore,/turf/unsimulated/floor{name = "plating"; icon_state = "asteroid_dug"},/area/skipjack_station) +"Ks" = (/obj/item/ore,/turf/unsimulated/floor{name = "plating"; icon_state = "asteroid_dug"},/area/skipjack_station) "Kt" = (/obj/effect/landmark{name = "Nuclear-Bomb"},/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/syndicate_station) -"Ku" = (/obj/structure/table/reinforced,/obj/item/weapon/tray{pixel_y = 5},/obj/effect/landmark{name = "Nuclear-Code"},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_station) -"Kv" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_station) +"Ku" = (/obj/structure/table/reinforced,/obj/item/tray{pixel_y = 5},/obj/effect/landmark{name = "Nuclear-Code"},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_station) +"Kv" = (/obj/structure/table/reinforced,/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_station) "Kw" = (/obj/structure/mirror{dir = 4; pixel_x = -32; pixel_y = 0},/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_station) "Kx" = (/turf/simulated/shuttle/wall/dark/hard_corner,/area/shuttle/syndicate_elite/mothership) "Ky" = (/obj/machinery/door/airlock/external{name = "Shuttle Airlock"; req_access = list(150)},/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "syndicate_elite"; name = "Front Hull Door"; opacity = 1},/turf/simulated/shuttle/plating,/area/shuttle/syndicate_elite/mothership) @@ -1900,28 +1900,28 @@ "KB" = (/obj/machinery/door/airlock/hatch{req_access = list(150)},/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/skipjack_station) "KC" = (/obj/structure/table/rack,/obj/item/clothing/glasses/thermal/plain/monocle,/turf/unsimulated/floor{icon_state = "asteroid"},/area/skipjack_station) "KD" = (/obj/structure/table/rack,/turf/unsimulated/floor{icon_state = "asteroid"},/area/skipjack_station) -"KE" = (/obj/structure/table/rack,/obj/item/weapon/gun/launcher/spikethrower,/turf/unsimulated/floor{icon_state = "asteroid"},/area/skipjack_station) +"KE" = (/obj/structure/table/rack,/obj/item/gun/launcher/spikethrower,/turf/unsimulated/floor{icon_state = "asteroid"},/area/skipjack_station) "KF" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) "KG" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) -"KH" = (/obj/structure/table/rack,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/weapon/tank/jetpack/oxygen,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) -"KI" = (/obj/structure/table/rack,/obj/item/weapon/tank/jetpack/carbondioxide,/obj/item/weapon/tank/jetpack/carbondioxide,/obj/item/weapon/tank/jetpack/carbondioxide,/obj/item/weapon/tank/jetpack/carbondioxide,/obj/item/weapon/tank/jetpack/carbondioxide,/obj/item/weapon/tank/jetpack/carbondioxide,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) +"KH" = (/obj/structure/table/rack,/obj/item/tank/jetpack/oxygen,/obj/item/tank/jetpack/oxygen,/obj/item/tank/jetpack/oxygen,/obj/item/tank/jetpack/oxygen,/obj/item/tank/jetpack/oxygen,/obj/item/tank/jetpack/oxygen,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) +"KI" = (/obj/structure/table/rack,/obj/item/tank/jetpack/carbondioxide,/obj/item/tank/jetpack/carbondioxide,/obj/item/tank/jetpack/carbondioxide,/obj/item/tank/jetpack/carbondioxide,/obj/item/tank/jetpack/carbondioxide,/obj/item/tank/jetpack/carbondioxide,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) "KJ" = (/obj/structure/closet/secure_closet/freezer/kitchen{req_access = list(150)},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_station) -"KK" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka{pixel_x = 3; pixel_y = 12},/obj/item/weapon/reagent_containers/food/drinks/bottle/wine{pixel_x = -1; pixel_y = 8},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_station) -"KL" = (/obj/structure/table/standard,/obj/item/weapon/towel{color = "#ff0000"; name = "red towel"},/obj/item/weapon/towel{color = "#ff0000"; name = "red towel"},/obj/item/weapon/towel{color = "#ff0000"; name = "red towel"},/obj/item/weapon/towel{color = "#ff0000"; name = "red towel"},/obj/item/weapon/towel{color = "#ff0000"; name = "red towel"},/obj/item/weapon/soap/syndie,/obj/item/weapon/soap/syndie,/turf/simulated/floor/tiled/freezer,/area/syndicate_station) +"KK" = (/obj/structure/table/reinforced,/obj/item/reagent_containers/food/drinks/bottle/vodka{pixel_x = 3; pixel_y = 12},/obj/item/reagent_containers/food/drinks/bottle/wine{pixel_x = -1; pixel_y = 8},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_station) +"KL" = (/obj/structure/table/standard,/obj/item/towel{color = "#ff0000"; name = "red towel"},/obj/item/towel{color = "#ff0000"; name = "red towel"},/obj/item/towel{color = "#ff0000"; name = "red towel"},/obj/item/towel{color = "#ff0000"; name = "red towel"},/obj/item/towel{color = "#ff0000"; name = "red towel"},/obj/item/soap/syndie,/obj/item/soap/syndie,/turf/simulated/floor/tiled/freezer,/area/syndicate_station) "KM" = (/obj/machinery/door/airlock{name = "Unit 1"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_station) "KN" = (/obj/structure/toilet{dir = 8},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_station) "KO" = (/turf/simulated/floor/airless,/area/shuttle/syndicate_elite/mothership) -"KP" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/blue,/turf/unsimulated/floor{icon_state = "wood"},/area/skipjack_station) -"KQ" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/orange,/turf/unsimulated/floor{icon_state = "wood"},/area/skipjack_station) -"KR" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/hop,/turf/unsimulated/floor{icon_state = "wood"},/area/skipjack_station) -"KS" = (/obj/item/weapon/ore,/turf/unsimulated/floor{icon_state = "asteroid"},/area/skipjack_station) +"KP" = (/obj/structure/bed/padded,/obj/item/bedsheet/blue,/turf/unsimulated/floor{icon_state = "wood"},/area/skipjack_station) +"KQ" = (/obj/structure/bed/padded,/obj/item/bedsheet/orange,/turf/unsimulated/floor{icon_state = "wood"},/area/skipjack_station) +"KR" = (/obj/structure/bed/padded,/obj/item/bedsheet/hop,/turf/unsimulated/floor{icon_state = "wood"},/area/skipjack_station) +"KS" = (/obj/item/ore,/turf/unsimulated/floor{icon_state = "asteroid"},/area/skipjack_station) "KT" = (/obj/item/clothing/head/xenos,/turf/unsimulated/floor{icon_state = "asteroid"},/area/skipjack_station) "KU" = (/obj/machinery/door/airlock/centcom{name = "Suit Storage"; opacity = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) "KV" = (/obj/machinery/door/airlock/centcom{name = "Kitchen"; opacity = 1; req_access = list(150)},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_station) "KW" = (/obj/machinery/door/airlock{name = "Restroom"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_station) "KX" = (/obj/effect/wingrille_spawn/reinforced,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/skipjack_station) "KY" = (/obj/machinery/door/airlock/hatch{req_access = list(150)},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/skipjack_station) -"KZ" = (/obj/item/weapon/storage/box,/turf/unsimulated/floor{icon_state = "asteroid"},/area/skipjack_station) +"KZ" = (/obj/item/storage/box,/turf/unsimulated/floor{icon_state = "asteroid"},/area/skipjack_station) "La" = (/obj/item/clothing/mask/gas/swat{desc = "A close-fitting mask clearly not made for a human face."; name = "\improper alien mask"},/turf/unsimulated/floor{icon_state = "asteroid"},/area/skipjack_station) "Lb" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/merc,/obj/item/clothing/mask/gas/syndicate,/obj/item/clothing/head/helmet/space/void/merc,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) "Lc" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/green,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/green,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) @@ -1929,24 +1929,24 @@ "Le" = (/obj/structure/sign/scenery/map/left{pixel_y = 32},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_station) "Lf" = (/obj/structure/sign/scenery/map/right{pixel_y = 32},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_station) "Lg" = (/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_station) -"Lh" = (/obj/item/weapon/storage/box/syndie_kit/clerical,/obj/structure/table/standard,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_station) +"Lh" = (/obj/item/storage/box/syndie_kit/clerical,/obj/structure/table/standard,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_station) "Li" = (/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_station) -"Lj" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/hos,/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_station) +"Lj" = (/obj/structure/bed/padded,/obj/item/bedsheet/hos,/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_station) "Lk" = (/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/skipjack_station) "Ll" = (/obj/effect/decal/cleanable/cobweb2,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/skipjack_station) "Lm" = (/obj/machinery/suit_cycler/syndicate{locked = 0},/turf/unsimulated/floor{icon_state = "steel"},/area/skipjack_station) "Ln" = (/obj/effect/decal/cleanable/cobweb2{icon_state = "spiderling"; name = "dead spider"},/turf/unsimulated/floor{icon_state = "steel_dirty"},/area/skipjack_station) -"Lo" = (/obj/structure/table/rack,/obj/item/weapon/tank/vox,/turf/unsimulated/floor{icon_state = "asteroid"},/area/skipjack_station) +"Lo" = (/obj/structure/table/rack,/obj/item/tank/vox,/turf/unsimulated/floor{icon_state = "asteroid"},/area/skipjack_station) "Lp" = (/obj/item/pizzabox/meat,/turf/unsimulated/floor{icon_state = "asteroid"},/area/skipjack_station) -"Lq" = (/obj/structure/table/rack,/obj/item/weapon/storage/briefcase/inflatable,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) +"Lq" = (/obj/structure/table/rack,/obj/item/storage/briefcase/inflatable,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) "Lr" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/blue,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/blue,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) "Ls" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/med,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/med,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) "Lt" = (/obj/machinery/computer/communications{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) "Lu" = (/obj/structure/bed/chair/comfy/black,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_station) "Lv" = (/obj/effect/landmark{name = "Syndicate-Spawn"},/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_station) -"Lw" = (/obj/structure/table/standard,/obj/item/device/radio/headset/syndicate/alt,/obj/item/device/radio/headset/syndicate/alt,/obj/item/device/radio/headset/syndicate/alt,/obj/item/device/radio/headset/syndicate/alt,/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_station) +"Lw" = (/obj/structure/table/standard,/obj/item/radio/headset/syndicate/alt,/obj/item/radio/headset/syndicate/alt,/obj/item/radio/headset/syndicate/alt,/obj/item/radio/headset/syndicate/alt,/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_station) "Lx" = (/obj/structure/bed/chair,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/skipjack_station) -"Ly" = (/obj/item/weapon/tank/vox,/turf/unsimulated/floor{icon_state = "asteroid"},/area/skipjack_station) +"Ly" = (/obj/item/tank/vox,/turf/unsimulated/floor{icon_state = "asteroid"},/area/skipjack_station) "Lz" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/orange,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/orange,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) "LA" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/engie,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/engie,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) "LB" = (/obj/machinery/computer/shuttle{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) @@ -1955,27 +1955,27 @@ "LE" = (/obj/structure/table/glass,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_station) "LF" = (/obj/structure/bed/chair/comfy/black{dir = 8},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_station) "LG" = (/obj/machinery/door/airlock/centcom{name = "Barracks"; opacity = 1; req_access = list(150)},/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_station) -"LH" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp{pixel_x = 4; pixel_y = 8},/obj/item/clothing/glasses/sunglasses/prescription,/obj/item/clothing/glasses/sunglasses/prescription,/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_station) +"LH" = (/obj/structure/table/standard,/obj/item/flashlight/lamp{pixel_x = 4; pixel_y = 8},/obj/item/clothing/glasses/sunglasses/prescription,/obj/item/clothing/glasses/sunglasses/prescription,/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_station) "LI" = (/obj/structure/bed/chair{dir = 4},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/skipjack_station) -"LJ" = (/obj/structure/table/steel,/obj/item/device/pda/syndicate,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/skipjack_station) +"LJ" = (/obj/structure/table/steel,/obj/item/pda/syndicate,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/skipjack_station) "LK" = (/obj/structure/bed/chair{dir = 8},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/skipjack_station) -"LL" = (/obj/machinery/portable_atmospherics/canister/phoron,/obj/item/weapon/tank/vox,/turf/unsimulated/floor{icon_state = "asteroid"},/area/skipjack_station) +"LL" = (/obj/machinery/portable_atmospherics/canister/phoron,/obj/item/tank/vox,/turf/unsimulated/floor{icon_state = "asteroid"},/area/skipjack_station) "LM" = (/obj/item/clothing/head/philosopher_wig,/turf/unsimulated/floor{icon_state = "asteroid"},/area/skipjack_station) "LN" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) "LO" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/red,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) "LP" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) -"LQ" = (/obj/structure/table/glass,/obj/item/device/paicard,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) -"LR" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/weapon/pen{pixel_y = 4},/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_station) -"LS" = (/obj/structure/table/steel,/obj/item/device/radio/uplink,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/skipjack_station) -"LT" = (/obj/item/weapon/gun/launcher/pneumatic,/turf/unsimulated/floor{icon_state = "asteroid"},/area/skipjack_station) +"LQ" = (/obj/structure/table/glass,/obj/item/paicard,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) +"LR" = (/obj/structure/table/standard,/obj/item/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/pen{pixel_y = 4},/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_station) +"LS" = (/obj/structure/table/steel,/obj/item/radio/uplink,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/skipjack_station) +"LT" = (/obj/item/gun/launcher/pneumatic,/turf/unsimulated/floor{icon_state = "asteroid"},/area/skipjack_station) "LU" = (/obj/structure/bed/chair/comfy/black{dir = 1},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_station) -"LV" = (/obj/structure/table/standard,/obj/item/device/pda/syndicate,/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_station) -"LW" = (/obj/item/weapon/storage/box/syndie_kit/spy,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/skipjack_station) +"LV" = (/obj/structure/table/standard,/obj/item/pda/syndicate,/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_station) +"LW" = (/obj/item/storage/box/syndie_kit/spy,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/skipjack_station) "LX" = (/obj/structure/bed/chair{dir = 1},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/skipjack_station) "LY" = (/obj/structure/ore_box,/turf/unsimulated/floor{icon_state = "asteroid"},/area/skipjack_station) -"LZ" = (/obj/structure/table/rack,/obj/item/device/suit_cooling_unit,/obj/item/device/suit_cooling_unit,/obj/item/device/suit_cooling_unit,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) -"Ma" = (/obj/structure/table/rack,/obj/item/weapon/tank/emergency/oxygen/double,/obj/item/weapon/tank/emergency/oxygen/double,/obj/item/weapon/tank/emergency/oxygen/double,/obj/item/weapon/tank/emergency/oxygen/double,/obj/item/weapon/tank/emergency/oxygen/double,/obj/item/weapon/tank/emergency/oxygen/double,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) -"Mb" = (/obj/structure/table/rack,/obj/item/weapon/rig/merc/empty,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) +"LZ" = (/obj/structure/table/rack,/obj/item/suit_cooling_unit,/obj/item/suit_cooling_unit,/obj/item/suit_cooling_unit,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) +"Ma" = (/obj/structure/table/rack,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) +"Mb" = (/obj/structure/table/rack,/obj/item/rig/merc/empty,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) "Mc" = (/obj/machinery/suit_cycler/syndicate{locked = 0},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) "Md" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 4},/turf/space,/area/space) "Me" = (/obj/machinery/door/airlock/external{req_access = list(150)},/turf/unsimulated/floor{icon_state = "steel"},/area/skipjack_station) @@ -2014,14 +2014,14 @@ "ML" = (/obj/machinery/computer/power_monitor{dir = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "MM" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{frequency = 1331; id_tag = "vox_east_vent"},/turf/simulated/shuttle/plating,/area/skipjack_station/start) "MN" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 6},/turf/simulated/shuttle/wall/voidcraft/red,/area/syndicate_station/start) -"MO" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Subversive Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/obj/machinery/computer/station_alert/all{dir = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) +"MO" = (/obj/item/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Subversive Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/obj/machinery/computer/station_alert/all{dir = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/wizard_station) "MP" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1331; id_tag = "merc_shuttle_pump"},/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "merc_shuttle_sensor"; pixel_x = 28; pixel_y = 8},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1331; id_tag = "merc_shuttle"; pixel_x = 24; pixel_y = -2; req_access = list(150)},/turf/simulated/shuttle/floor/voidcraft/dark,/area/syndicate_station/start) "MQ" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/shuttle/wall/voidcraft/red,/area/syndicate_station/start) "MR" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 10},/turf/simulated/shuttle/wall/voidcraft/red,/area/syndicate_station/start) "MS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced/full,/turf/simulated/shuttle/plating,/area/syndicate_station/start) "MT" = (/obj/machinery/atmospherics/pipe/tank/air,/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) "MU" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) -"MV" = (/obj/machinery/recharger/wallcharger{pixel_x = -25},/obj/structure/table/steel,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) +"MV" = (/obj/machinery/recharger/wallcharger{pixel_x = -25},/obj/structure/table/steel,/obj/item/plastique,/obj/item/plastique,/obj/item/plastique,/obj/item/plastique,/obj/item/plastique,/obj/item/plastique,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) "MW" = (/obj/machinery/light{dir = 4},/obj/structure/table/rack,/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) "MX" = (/obj/effect/shuttle_landmark/southern_cross/transport1_offsite,/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) "MY" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/obj/machinery/meter,/turf/simulated/shuttle/plating,/area/skipjack_station/start) @@ -2042,7 +2042,7 @@ "Nn" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) "No" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/meter,/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) "Np" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 9},/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) -"Nq" = (/obj/machinery/recharger/wallcharger{pixel_x = -25},/obj/structure/table/steel,/obj/item/weapon/storage/box/frags,/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) +"Nq" = (/obj/machinery/recharger/wallcharger{pixel_x = -25},/obj/structure/table/steel,/obj/item/storage/box/frags,/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) "Nr" = (/obj/machinery/door/airlock/hatch{frequency = 1331; icon_state = "door_closed"; id_tag = "vox_southwest_lock"; locked = 0; req_access = list(150)},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/shuttle/plating,/area/skipjack_station/start) "Ns" = (/turf/simulated/shuttle/floor/darkred,/area/skipjack_station/start) "Nt" = (/obj/machinery/light/small{dir = 8},/obj/structure/bed/chair{dir = 1},/turf/simulated/shuttle/floor/darkred,/area/skipjack_station/start) @@ -2054,24 +2054,24 @@ "Nz" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 5},/turf/simulated/shuttle/wall/voidcraft/red,/area/syndicate_station/start) "NA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced/full,/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/shuttle/plating,/area/syndicate_station/start) "NB" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 9},/turf/simulated/shuttle/wall/voidcraft/red,/area/syndicate_station/start) -"NC" = (/obj/structure/table/steel,/obj/effect/spawner/newbomb/timer/syndicate,/obj/item/weapon/tool/screwdriver,/obj/item/device/assembly/signaler{pixel_y = 2},/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) -"ND" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) +"NC" = (/obj/structure/table/steel,/obj/effect/spawner/newbomb/timer/syndicate,/obj/item/tool/screwdriver,/obj/item/assembly/signaler{pixel_y = 2},/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) +"ND" = (/obj/item/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) "NE" = (/obj/machinery/light/small{dir = 8},/turf/simulated/shuttle/floor/voidcraft/dark,/area/syndicate_station/start) "NF" = (/obj/structure/frame/computer,/turf/simulated/shuttle/floor/voidcraft/dark,/area/syndicate_station/start) "NG" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"; dir = 4},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/merchant/home) "NH" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1331; master_tag = "vox_west_control"; pixel_x = -22; req_one_access = list(150)},/turf/simulated/shuttle/plating,/area/skipjack_station/start) -"NI" = (/obj/structure/table/rack,/obj/item/weapon/material/harpoon,/obj/item/weapon/tank/oxygen,/obj/item/weapon/tank/oxygen,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/random/rigsuit,/obj/random/multiple/voidsuit,/obj/random/multiple/voidsuit,/obj/random/energy,/turf/simulated/shuttle/plating,/area/skipjack_station/start) +"NI" = (/obj/structure/table/rack,/obj/item/material/harpoon,/obj/item/tank/oxygen,/obj/item/tank/oxygen,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/random/rigsuit,/obj/random/multiple/voidsuit,/obj/random/multiple/voidsuit,/obj/random/energy,/turf/simulated/shuttle/plating,/area/skipjack_station/start) "NJ" = (/obj/structure/table/rack,/obj/random/rigsuit,/turf/simulated/shuttle/floor/darkred,/area/skipjack_station/start) -"NK" = (/obj/structure/table/rack,/obj/item/weapon/tank/oxygen,/obj/item/weapon/tank/oxygen,/obj/random/multiple/voidsuit,/obj/random/multiple/voidsuit,/obj/random/energy,/turf/simulated/shuttle/plating,/area/skipjack_station/start) +"NK" = (/obj/structure/table/rack,/obj/item/tank/oxygen,/obj/item/tank/oxygen,/obj/random/multiple/voidsuit,/obj/random/multiple/voidsuit,/obj/random/energy,/turf/simulated/shuttle/plating,/area/skipjack_station/start) "NL" = (/obj/structure/table/rack,/obj/item/clothing/mask/breath,/obj/machinery/light/small{dir = 8},/obj/random/multiple/voidsuit,/turf/simulated/shuttle/plating,/area/skipjack_station/start) "NM" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1331; master_tag = "vox_east_control"; pixel_x = 22; req_access = list(150)},/turf/simulated/shuttle/plating,/area/skipjack_station/start) "NN" = (/obj/structure/frame/computer,/obj/machinery/light{dir = 1},/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) "NO" = (/obj/machinery/computer/security/nuclear,/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) "NP" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) -"NQ" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/security/tactical/bandolier,/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) -"NR" = (/obj/structure/table/steel,/obj/item/weapon/storage/toolbox/syndicate/powertools,/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) -"NS" = (/obj/structure/table/steel,/obj/item/weapon/gun/projectile/pistol,/obj/item/ammo_magazine/m9mm,/obj/item/weapon/gun/projectile/pistol,/obj/item/ammo_magazine/m9mm,/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) -"NT" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/security,/obj/item/weapon/storage/belt/security,/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) +"NQ" = (/obj/structure/table/rack,/obj/item/storage/belt/security/tactical/bandolier,/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) +"NR" = (/obj/structure/table/steel,/obj/item/storage/toolbox/syndicate/powertools,/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) +"NS" = (/obj/structure/table/steel,/obj/item/gun/projectile/pistol,/obj/item/ammo_magazine/m9mm,/obj/item/gun/projectile/pistol,/obj/item/ammo_magazine/m9mm,/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) +"NT" = (/obj/structure/table/rack,/obj/item/storage/belt/security,/obj/item/storage/belt/security,/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) "NU" = (/obj/machinery/suit_cycler/syndicate{locked = 0},/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) "NV" = (/obj/machinery/light,/obj/structure/closet/syndicate/suit{name = "suit closet"},/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) "NW" = (/obj/machinery/light,/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) @@ -2082,12 +2082,12 @@ "Ob" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/shuttle/plating,/area/skipjack_station/start) "Oc" = (/turf/simulated/shuttle/plating,/area/skipjack_station/start) "Od" = (/obj/machinery/microwave{pixel_x = -1; pixel_y = 8},/obj/structure/table/steel,/turf/simulated/shuttle/plating,/area/skipjack_station/start) -"Oe" = (/obj/item/seeds/potatoseed,/obj/item/seeds/potatoseed,/obj/item/seeds/ambrosiavulgarisseed,/obj/item/weapon/material/minihoe,/obj/item/weapon/beartrap,/obj/structure/table/steel,/turf/simulated/shuttle/plating,/area/skipjack_station/start) +"Oe" = (/obj/item/seeds/potatoseed,/obj/item/seeds/potatoseed,/obj/item/seeds/ambrosiavulgarisseed,/obj/item/material/minihoe,/obj/item/beartrap,/obj/structure/table/steel,/turf/simulated/shuttle/plating,/area/skipjack_station/start) "Of" = (/obj/machinery/vending/hydroseeds,/turf/simulated/shuttle/plating,/area/skipjack_station/start) -"Og" = (/obj/structure/table/rack,/obj/item/weapon/melee/energy/sword/pirate,/obj/item/clothing/suit/space/pirate,/obj/item/clothing/suit/space/pirate,/obj/item/weapon/tank/oxygen,/obj/item/weapon/pinpointer/shuttle/heist,/obj/item/weapon/pinpointer/shuttle/heist,/turf/simulated/shuttle/floor/darkred,/area/skipjack_station/start) -"Oh" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/utility/full,/obj/item/weapon/storage/belt/utility/full,/obj/item/device/multitool,/obj/item/device/multitool,/obj/item/clothing/shoes/magboots,/turf/simulated/shuttle/plating,/area/skipjack_station/start) +"Og" = (/obj/structure/table/rack,/obj/item/melee/energy/sword/pirate,/obj/item/clothing/suit/space/pirate,/obj/item/clothing/suit/space/pirate,/obj/item/tank/oxygen,/obj/item/pinpointer/shuttle/heist,/obj/item/pinpointer/shuttle/heist,/turf/simulated/shuttle/floor/darkred,/area/skipjack_station/start) +"Oh" = (/obj/structure/table/rack,/obj/item/storage/belt/utility/full,/obj/item/storage/belt/utility/full,/obj/item/multitool,/obj/item/multitool,/obj/item/clothing/shoes/magboots,/turf/simulated/shuttle/plating,/area/skipjack_station/start) "Oi" = (/obj/machinery/washing_machine,/turf/simulated/shuttle/plating,/area/skipjack_station/start) -"Oj" = (/obj/structure/table/standard,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/flame/lighter/zippo,/obj/item/clothing/gloves/yellow,/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/weapon/card/emag,/turf/simulated/shuttle/plating,/area/skipjack_station/start) +"Oj" = (/obj/structure/table/standard,/obj/item/storage/fancy/cigarettes,/obj/item/flame/lighter/zippo,/obj/item/clothing/gloves/yellow,/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/card/emag,/turf/simulated/shuttle/plating,/area/skipjack_station/start) "Ok" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "syndieshutters"; name = "Blast Shutters"; opacity = 0},/obj/structure/window/reinforced/full,/turf/simulated/shuttle/plating,/area/syndicate_station/start) "Ol" = (/obj/structure/table/steel_reinforced,/obj/machinery/button/remote/blast_door{id = "syndieshutters"; name = "remote shutter control"; req_access = list(150)},/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) "Om" = (/obj/structure/bed/chair/comfy/red{icon_state = "comfychair_preview"; dir = 1},/turf/simulated/shuttle/floor/voidcraft/light,/area/syndicate_station/start) @@ -2096,7 +2096,7 @@ "Op" = (/turf/simulated/shuttle/floor/voidcraft/light,/area/syndicate_station/start) "Oq" = (/obj/machinery/light{dir = 4},/obj/structure/bed/chair/comfy/red{icon_state = "comfychair_preview"; dir = 8},/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) "Or" = (/obj/machinery/door/airlock/voidcraft{req_access = list(150)},/turf/simulated/shuttle/floor/voidcraft/light,/area/syndicate_station/start) -"Os" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; prices = list(); products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2)},/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) +"Os" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; prices = list(); products = list(/obj/item/storage/fancy/cigarettes = 10, /obj/item/storage/box/matches = 10, /obj/item/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2)},/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) "Ot" = (/obj/machinery/teleport/hub,/turf/simulated/shuttle/floor/voidcraft/dark,/area/syndicate_station/start) "Ou" = (/obj/structure/table/rack,/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/turf/simulated/shuttle/floor/voidcraft/dark,/area/syndicate_station/start) "Ov" = (/obj/structure/table/rack,/obj/item/clothing/glasses/night,/obj/item/clothing/glasses/night,/obj/item/clothing/glasses/night,/obj/item/clothing/glasses/night,/obj/item/clothing/glasses/night,/obj/item/clothing/glasses/night,/obj/machinery/light/small{dir = 1},/turf/simulated/shuttle/floor/voidcraft/dark,/area/syndicate_station/start) @@ -2116,7 +2116,7 @@ "OJ" = (/obj/structure/bed/chair/comfy/red{icon_state = "comfychair_preview"; dir = 8},/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) "OK" = (/obj/machinery/light{dir = 1},/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) "OL" = (/obj/machinery/turretid{pixel_x = 0; pixel_y = 32; req_access = list(150)},/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) -"OM" = (/obj/structure/table/rack,/obj/item/device/aicard,/turf/simulated/shuttle/floor/voidcraft/dark,/area/syndicate_station/start) +"OM" = (/obj/structure/table/rack,/obj/item/aicard,/turf/simulated/shuttle/floor/voidcraft/dark,/area/syndicate_station/start) "ON" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space,/area/space) "OO" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{id = "skipjackshutters"; name = "Skipjack Blast Shielding"},/obj/structure/window/reinforced/full,/turf/simulated/shuttle/plating,/area/skipjack_station/start) "OP" = (/obj/item/robot_parts/l_leg,/turf/simulated/shuttle/plating,/area/skipjack_station/start) @@ -2129,16 +2129,16 @@ "OW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{id = "skipjackshutters"; name = "Skipjack Blast Shielding"},/obj/structure/window/reinforced/full,/turf/simulated/shuttle/plating,/area/skipjack_station/start) "OX" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/shuttle/plating,/area/skipjack_station/start) "OY" = (/obj/machinery/floodlight,/turf/simulated/shuttle/plating,/area/skipjack_station/start) -"OZ" = (/obj/item/device/suit_cooling_unit,/turf/simulated/shuttle/plating,/area/skipjack_station/start) -"Pa" = (/obj/structure/table/rack,/obj/item/weapon/gun/launcher/crossbow,/obj/item/stack/rods{amount = 10},/obj/machinery/light/small{dir = 8},/obj/item/weapon/beartrap,/obj/item/weapon/beartrap,/obj/item/weapon/beartrap,/obj/item/weapon/beartrap,/obj/item/weapon/beartrap,/obj/item/weapon/beartrap,/turf/simulated/shuttle/floor/darkred,/area/skipjack_station/start) -"Pb" = (/obj/structure/table/rack,/obj/item/weapon/grenade/empgrenade,/obj/item/weapon/grenade/flashbang,/obj/item/weapon/grenade/spawnergrenade/manhacks,/turf/simulated/shuttle/floor/darkred,/area/skipjack_station/start) +"OZ" = (/obj/item/suit_cooling_unit,/turf/simulated/shuttle/plating,/area/skipjack_station/start) +"Pa" = (/obj/structure/table/rack,/obj/item/gun/launcher/crossbow,/obj/item/stack/rods{amount = 10},/obj/machinery/light/small{dir = 8},/obj/item/beartrap,/obj/item/beartrap,/obj/item/beartrap,/obj/item/beartrap,/obj/item/beartrap,/obj/item/beartrap,/turf/simulated/shuttle/floor/darkred,/area/skipjack_station/start) +"Pb" = (/obj/structure/table/rack,/obj/item/grenade/empgrenade,/obj/item/grenade/flashbang,/obj/item/grenade/spawnergrenade/manhacks,/turf/simulated/shuttle/floor/darkred,/area/skipjack_station/start) "Pc" = (/obj/structure/table/steel,/obj/machinery/recharger,/obj/machinery/light/small{dir = 4},/turf/simulated/shuttle/floor/darkred,/area/skipjack_station/start) "Pd" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/shuttle/floor/darkred,/area/skipjack_station/start) "Pe" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/shuttle/plating,/area/skipjack_station/start) "Pf" = (/obj/item/robot_parts/robot_suit,/obj/item/robot_parts/r_leg,/obj/item/robot_parts/r_arm,/turf/simulated/shuttle/plating,/area/skipjack_station/start) "Pg" = (/obj/structure/flight_left{icon_state = "left"; dir = 8},/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) -"Ph" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor/voidcraft/light,/area/syndicate_station/start) -"Pi" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; pixel_x = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor/voidcraft/dark,/area/syndicate_station/start) +"Ph" = (/obj/item/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor/voidcraft/light,/area/syndicate_station/start) +"Pi" = (/obj/item/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; pixel_x = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor/voidcraft/dark,/area/syndicate_station/start) "Pj" = (/obj/machinery/recharge_station,/turf/simulated/shuttle/floor/voidcraft/dark,/area/syndicate_station/start) "Pk" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{id = "skipjackshutters"; name = "Skipjack Blast Shielding"},/obj/structure/window/reinforced/full,/turf/simulated/shuttle/plating,/area/skipjack_station/start) "Pl" = (/obj/machinery/door/airlock/hatch{req_access = list(150)},/turf/simulated/shuttle/floor/black,/area/skipjack_station/start) @@ -2147,16 +2147,16 @@ "Po" = (/obj/structure/table/steel,/obj/item/clothing/glasses/regular,/obj/item/clothing/glasses/regular,/turf/simulated/shuttle/floor/darkred,/area/skipjack_station/start) "Pp" = (/obj/machinery/door/airlock/hatch{req_access = list(150)},/turf/simulated/shuttle/floor/white,/area/skipjack_station/start) "Pq" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/shuttle/plating,/area/skipjack_station/start) -"Pr" = (/obj/item/weapon/tool/wrench,/obj/item/weapon/mop,/turf/simulated/shuttle/plating,/area/skipjack_station/start) -"Ps" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/item/weapon/tool/crowbar,/obj/item/device/suit_cooling_unit,/turf/simulated/shuttle/plating,/area/skipjack_station/start) +"Pr" = (/obj/item/tool/wrench,/obj/item/mop,/turf/simulated/shuttle/plating,/area/skipjack_station/start) +"Ps" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/item/tool/crowbar,/obj/item/suit_cooling_unit,/turf/simulated/shuttle/plating,/area/skipjack_station/start) "Pt" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "syndieshutters"; name = "Blast Shutters"; opacity = 0},/obj/structure/window/reinforced/full,/turf/simulated/shuttle/plating,/area/syndicate_station/start) "Pu" = (/obj/structure/table/steel_reinforced,/obj/machinery/recharger,/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) "Pv" = (/obj/structure/bed/chair/comfy/red,/turf/simulated/shuttle/floor/voidcraft/light,/area/syndicate_station/start) -"Pw" = (/obj/machinery/vending/assist{contraband = null; name = "AntagCorpVend"; products = list(/obj/item/device/assembly/prox_sensor = 5, /obj/item/device/assembly/signaler = 4, /obj/item/device/assembly/infra = 4, /obj/item/device/assembly/prox_sensor = 4, /obj/item/weapon/handcuffs = 8, /obj/item/device/flash = 4, /obj/item/weapon/cartridge/signal = 4, /obj/item/clothing/glasses/sunglasses = 4)},/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) +"Pw" = (/obj/machinery/vending/assist{contraband = null; name = "AntagCorpVend"; products = list(/obj/item/assembly/prox_sensor = 5, /obj/item/assembly/signaler = 4, /obj/item/assembly/infra = 4, /obj/item/assembly/prox_sensor = 4, /obj/item/handcuffs = 8, /obj/item/flash = 4, /obj/item/cartridge/signal = 4, /obj/item/clothing/glasses/sunglasses = 4)},/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) "Px" = (/obj/machinery/atmospherics/unary/cryo_cell,/turf/simulated/shuttle/floor/voidcraft/light,/area/syndicate_station/start) -"Py" = (/obj/structure/table/rack,/obj/item/weapon/storage/toolbox/syndicate{pixel_x = -1; pixel_y = 3},/turf/simulated/shuttle/floor/voidcraft/dark,/area/syndicate_station/start) -"Pz" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/utility/full,/obj/item/device/multitool,/obj/machinery/light/small,/turf/simulated/shuttle/floor/voidcraft/dark,/area/syndicate_station/start) -"PA" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/utility/full,/obj/item/device/multitool,/turf/simulated/shuttle/floor/voidcraft/dark,/area/syndicate_station/start) +"Py" = (/obj/structure/table/rack,/obj/item/storage/toolbox/syndicate{pixel_x = -1; pixel_y = 3},/turf/simulated/shuttle/floor/voidcraft/dark,/area/syndicate_station/start) +"Pz" = (/obj/structure/table/rack,/obj/item/storage/belt/utility/full,/obj/item/multitool,/obj/machinery/light/small,/turf/simulated/shuttle/floor/voidcraft/dark,/area/syndicate_station/start) +"PA" = (/obj/structure/table/rack,/obj/item/storage/belt/utility/full,/obj/item/multitool,/turf/simulated/shuttle/floor/voidcraft/dark,/area/syndicate_station/start) "PB" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/tank/air{dir = 1; start_pressure = 740},/turf/simulated/shuttle/plating,/area/skipjack_station/start) "PC" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/shuttle/plating,/area/skipjack_station/start) "PD" = (/turf/simulated/shuttle/floor/black,/area/skipjack_station/start) @@ -2164,22 +2164,22 @@ "PF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{id = "skipjackshutters"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/plating,/area/skipjack_station/start) "PG" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/shuttle/floor/darkred,/area/skipjack_station/start) "PH" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/shuttle/floor/darkred,/area/skipjack_station/start) -"PI" = (/obj/structure/table/steel,/obj/item/weapon/deck/cards,/turf/simulated/shuttle/floor/darkred,/area/skipjack_station/start) +"PI" = (/obj/structure/table/steel,/obj/item/deck/cards,/turf/simulated/shuttle/floor/darkred,/area/skipjack_station/start) "PJ" = (/obj/machinery/bodyscanner{dir = 8},/turf/simulated/shuttle/floor/white,/area/skipjack_station/start) "PK" = (/obj/machinery/light/small{dir = 1},/obj/machinery/body_scanconsole,/turf/simulated/shuttle/floor/white,/area/skipjack_station/start) "PL" = (/turf/simulated/shuttle/floor/white,/area/skipjack_station/start) "PM" = (/obj/structure/toilet{dir = 4},/turf/simulated/shuttle/plating,/area/skipjack_station/start) -"PN" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/item/weapon/tank/nitrogen,/turf/simulated/shuttle/plating,/area/skipjack_station/start) +"PN" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/item/tank/nitrogen,/turf/simulated/shuttle/plating,/area/skipjack_station/start) "PO" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/tank/air{dir = 1; start_pressure = 740},/turf/simulated/shuttle/plating,/area/skipjack_station/start) "PP" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/machinery/computer/station_alert{dir = 4},/turf/simulated/shuttle/floor/voidcraft/light,/area/ninja_dojo/start) "PQ" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/machinery/computer/security{dir = 8},/turf/simulated/shuttle/floor/voidcraft/light,/area/ninja_dojo/start) "PR" = (/obj/structure/closet/crate/freezer/rations,/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) "PS" = (/obj/item/trash/cigbutt,/turf/simulated/shuttle/floor/voidcraft/dark,/area/syndicate_station/start) "PT" = (/obj/machinery/light/small{dir = 1},/turf/simulated/shuttle/floor/voidcraft/dark,/area/syndicate_station/start) -"PU" = (/obj/machinery/light{dir = 1},/obj/structure/table/steel,/obj/item/roller,/obj/item/roller,/obj/item/roller,/obj/item/device/defib_kit/compact/combat/loaded,/turf/simulated/shuttle/floor/voidcraft/light,/area/syndicate_station/start) -"PV" = (/obj/structure/closet/secure_closet/medical_wall{pixel_y = 32; req_access = list(150)},/obj/item/bodybag,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/glass/bottle/antitoxin{pixel_x = -4; pixel_y = 8},/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline{pixel_x = 4; pixel_y = 7},/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/storage/firstaid/combat,/obj/item/weapon/storage/firstaid/clotting,/turf/simulated/shuttle/floor/voidcraft/light,/area/syndicate_station/start) +"PU" = (/obj/machinery/light{dir = 1},/obj/structure/table/steel,/obj/item/roller,/obj/item/roller,/obj/item/roller,/obj/item/defib_kit/compact/combat/loaded,/turf/simulated/shuttle/floor/voidcraft/light,/area/syndicate_station/start) +"PV" = (/obj/structure/closet/secure_closet/medical_wall{pixel_y = 32; req_access = list(150)},/obj/item/bodybag,/obj/item/reagent_containers/syringe/antiviral,/obj/item/reagent_containers/syringe/antiviral,/obj/item/reagent_containers/syringe/antiviral,/obj/item/reagent_containers/glass/bottle/antitoxin{pixel_x = -4; pixel_y = 8},/obj/item/reagent_containers/glass/bottle/inaprovaline{pixel_x = 4; pixel_y = 7},/obj/item/reagent_containers/syringe,/obj/item/storage/firstaid/combat,/obj/item/storage/firstaid/clotting,/turf/simulated/shuttle/floor/voidcraft/light,/area/syndicate_station/start) "PW" = (/obj/machinery/atmospherics/pipe/manifold/visible{icon_state = "map"; dir = 8},/turf/simulated/shuttle/floor/voidcraft/light,/area/syndicate_station/start) -"PX" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 9},/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor/voidcraft/light,/area/syndicate_station/start) +"PX" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 9},/obj/item/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor/voidcraft/light,/area/syndicate_station/start) "PY" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating/airless,/area/skipjack_station/start) "PZ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{id = "skipjackshutters"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/plating,/area/skipjack_station/start) "Qa" = (/obj/structure/table/steel,/turf/simulated/shuttle/floor/darkred,/area/skipjack_station/start) @@ -2189,61 +2189,61 @@ "Qe" = (/obj/machinery/sleeper{dir = 8},/turf/simulated/shuttle/floor/voidcraft/light,/area/syndicate_station/start) "Qf" = (/obj/machinery/sleep_console,/turf/simulated/shuttle/floor/voidcraft/light,/area/syndicate_station/start) "Qg" = (/obj/machinery/atmospherics/portables_connector{icon_state = "map_connector"; dir = 4},/obj/machinery/portable_atmospherics/canister/oxygen/prechilled,/turf/simulated/shuttle/floor/voidcraft/light,/area/syndicate_station/start) -"Qh" = (/obj/structure/table/steel,/obj/item/weapon/storage/firstaid/o2{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/firstaid/regular,/obj/machinery/atmospherics/pipe/manifold/visible,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/adv,/obj/item/weapon/storage/firstaid/clotting,/turf/simulated/shuttle/floor/voidcraft/light,/area/syndicate_station/start) +"Qh" = (/obj/structure/table/steel,/obj/item/storage/firstaid/o2{pixel_x = 3; pixel_y = 3},/obj/item/storage/firstaid/regular,/obj/machinery/atmospherics/pipe/manifold/visible,/obj/item/storage/firstaid/fire,/obj/item/storage/firstaid/toxin,/obj/item/storage/firstaid/adv,/obj/item/storage/firstaid/clotting,/turf/simulated/shuttle/floor/voidcraft/light,/area/syndicate_station/start) "Qi" = (/obj/machinery/atmospherics/unary/freezer{icon_state = "freezer_0"; dir = 8},/turf/simulated/shuttle/floor/voidcraft/light,/area/syndicate_station/start) "Qj" = (/turf/simulated/shuttle/wall/no_join{base_state = "orange"; icon = 'icons/turf/shuttle_orange.dmi'; icon_state = "orange"},/area/centcom/evac) -"Qk" = (/obj/structure/table/standard,/obj/item/weapon/handcuffs/legcuffs,/turf/simulated/shuttle/floor/black,/area/skipjack_station/start) -"Ql" = (/obj/structure/table/standard,/obj/item/weapon/deck/cards,/turf/simulated/shuttle/floor/black,/area/skipjack_station/start) +"Qk" = (/obj/structure/table/standard,/obj/item/handcuffs/legcuffs,/turf/simulated/shuttle/floor/black,/area/skipjack_station/start) +"Ql" = (/obj/structure/table/standard,/obj/item/deck/cards,/turf/simulated/shuttle/floor/black,/area/skipjack_station/start) "Qm" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{id = "skipjackshutters"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/plating,/area/skipjack_station/start) "Qn" = (/obj/machinery/light/small,/turf/simulated/shuttle/floor/darkred,/area/skipjack_station/start) -"Qo" = (/obj/structure/table/standard,/obj/item/weapon/surgical/circular_saw{pixel_y = 8},/obj/item/weapon/surgical/hemostat,/obj/item/weapon/surgical/scalpel,/obj/item/stack/medical/advanced/bruise_pack,/turf/simulated/shuttle/floor/white,/area/skipjack_station/start) +"Qo" = (/obj/structure/table/standard,/obj/item/surgical/circular_saw{pixel_y = 8},/obj/item/surgical/hemostat,/obj/item/surgical/scalpel,/obj/item/stack/medical/advanced/bruise_pack,/turf/simulated/shuttle/floor/white,/area/skipjack_station/start) "Qp" = (/obj/structure/toilet{dir = 4},/obj/machinery/flasher{id = "syndieflash"; pixel_x = -28; pixel_y = 0},/turf/simulated/shuttle/floor/voidcraft/dark,/area/syndicate_station/start) "Qq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/syndicate_station/start) -"Qr" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; pixel_x = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) +"Qr" = (/obj/item/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; pixel_x = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) "Qs" = (/obj/machinery/light{dir = 4},/obj/machinery/button/flasher{id = "syndieflash"; name = "Flasher"; pixel_x = 27; pixel_y = 0},/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) "Qt" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/window{dir = 8; name = "Surgery"; req_access = list(150)},/turf/simulated/shuttle/floor/voidcraft/light,/area/syndicate_station/start) "Qu" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/floor/voidcraft/light,/area/syndicate_station/start) -"Qv" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table/steel,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/turf/simulated/shuttle/floor/voidcraft/light,/area/syndicate_station/start) +"Qv" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table/steel,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/turf/simulated/shuttle/floor/voidcraft/light,/area/syndicate_station/start) "Qw" = (/mob/living/simple_mob/animal/passive/tindalos,/turf/simulated/shuttle/floor/black,/area/skipjack_station/start) "Qx" = (/obj/machinery/door/airlock/hatch{req_access = list(150)},/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) "Qy" = (/obj/machinery/optable,/turf/simulated/shuttle/floor/white,/area/skipjack_station/start) -"Qz" = (/obj/structure/table/standard,/obj/item/weapon/surgical/cautery,/obj/item/weapon/surgical/retractor,/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/obj/item/weapon/reagent_containers/syringe,/turf/simulated/shuttle/floor/white,/area/skipjack_station/start) -"QA" = (/obj/structure/closet{name = "custodial"},/obj/item/weapon/mop,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/shuttle/floor/voidcraft/dark,/area/syndicate_station/start) +"Qz" = (/obj/structure/table/standard,/obj/item/surgical/cautery,/obj/item/surgical/retractor,/obj/item/reagent_containers/glass/bottle/stoxin,/obj/item/reagent_containers/glass/bottle/stoxin,/obj/item/reagent_containers/syringe,/turf/simulated/shuttle/floor/white,/area/skipjack_station/start) +"QA" = (/obj/structure/closet{name = "custodial"},/obj/item/mop,/obj/item/reagent_containers/spray/cleaner,/obj/item/reagent_containers/glass/bucket,/turf/simulated/shuttle/floor/voidcraft/dark,/area/syndicate_station/start) "QB" = (/obj/structure/mopbucket,/turf/simulated/shuttle/floor/voidcraft/dark,/area/syndicate_station/start) -"QC" = (/obj/structure/table/steel,/obj/item/weapon/material/knife{pixel_x = -6},/obj/item/weapon/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = 9},/obj/item/weapon/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = 4},/obj/item/weapon/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = -1},/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) -"QD" = (/obj/item/device/radio/electropack,/obj/structure/table/steel,/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) +"QC" = (/obj/structure/table/steel,/obj/item/material/knife{pixel_x = -6},/obj/item/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = 9},/obj/item/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = 4},/obj/item/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = -1},/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) +"QD" = (/obj/item/radio/electropack,/obj/structure/table/steel,/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) "QE" = (/obj/machinery/button/remote/blast_door{id = "syndieshutters_infirmary"; name = "remote shutter control"; pixel_x = -25},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor/voidcraft/light,/area/syndicate_station/start) "QF" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/steel,/obj/item/stack/medical/advanced/bruise_pack,/obj/item/stack/nanopaste,/turf/simulated/shuttle/floor/voidcraft/light,/area/syndicate_station/start) -"QG" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/closet/secure_closet/medical_wall{pixel_x = 32; pixel_y = 0; req_access = list(150)},/obj/item/weapon/tank/anesthetic,/obj/item/clothing/mask/breath/medical,/obj/item/clothing/mask/surgical,/obj/item/clothing/gloves/sterile/latex,/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/turf/simulated/shuttle/floor/voidcraft/light,/area/syndicate_station/start) +"QG" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/closet/secure_closet/medical_wall{pixel_x = 32; pixel_y = 0; req_access = list(150)},/obj/item/tank/anesthetic,/obj/item/clothing/mask/breath/medical,/obj/item/clothing/mask/surgical,/obj/item/clothing/gloves/sterile/latex,/obj/item/reagent_containers/syringe,/obj/item/reagent_containers/glass/bottle/stoxin,/obj/item/reagent_containers/glass/bottle/stoxin,/turf/simulated/shuttle/floor/voidcraft/light,/area/syndicate_station/start) "QH" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/shuttle/floor/black,/area/skipjack_station/start) -"QI" = (/obj/item/weapon/bedsheet/rainbow,/obj/structure/bed/padded,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) +"QI" = (/obj/item/bedsheet/rainbow,/obj/structure/bed/padded,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) "QJ" = (/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) -"QK" = (/obj/item/weapon/bedsheet/hos,/obj/structure/bed/padded,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) -"QL" = (/obj/structure/table/standard,/obj/item/weapon/surgical/bonesetter,/obj/item/weapon/surgical/bonegel,/obj/item/weapon/surgical/FixOVein,/obj/item/stack/nanopaste,/turf/simulated/shuttle/floor/white,/area/skipjack_station/start) +"QK" = (/obj/item/bedsheet/hos,/obj/structure/bed/padded,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) +"QL" = (/obj/structure/table/standard,/obj/item/surgical/bonesetter,/obj/item/surgical/bonegel,/obj/item/surgical/FixOVein,/obj/item/stack/nanopaste,/turf/simulated/shuttle/floor/white,/area/skipjack_station/start) "QM" = (/obj/machinery/bodyscanner{dir = 8},/turf/simulated/shuttle/floor/voidcraft/light,/area/syndicate_station/start) "QN" = (/obj/machinery/body_scanconsole,/turf/simulated/shuttle/floor/voidcraft/light,/area/syndicate_station/start) -"QO" = (/obj/structure/table/steel,/obj/item/stack/medical/splint,/obj/item/stack/medical/splint,/obj/item/weapon/storage/belt/medical/emt,/obj/item/weapon/storage/belt/medical/emt,/turf/simulated/shuttle/floor/voidcraft/light,/area/syndicate_station/start) -"QP" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/steel,/obj/item/weapon/storage/firstaid/surgery,/turf/simulated/shuttle/floor/voidcraft/light,/area/syndicate_station/start) +"QO" = (/obj/structure/table/steel,/obj/item/stack/medical/splint,/obj/item/stack/medical/splint,/obj/item/storage/belt/medical/emt,/obj/item/storage/belt/medical/emt,/turf/simulated/shuttle/floor/voidcraft/light,/area/syndicate_station/start) +"QP" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/steel,/obj/item/storage/firstaid/surgery,/turf/simulated/shuttle/floor/voidcraft/light,/area/syndicate_station/start) "QQ" = (/obj/machinery/optable,/turf/simulated/shuttle/floor/voidcraft/light,/area/syndicate_station/start) -"QR" = (/obj/machinery/iv_drip,/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor/voidcraft/light,/area/syndicate_station/start) +"QR" = (/obj/machinery/iv_drip,/obj/item/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor/voidcraft/light,/area/syndicate_station/start) "QS" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/obj/machinery/turretid{pixel_x = 32; req_access = list(150)},/obj/machinery/turretid{pixel_x = 32; req_access = list(150)},/turf/simulated/floor/airless,/area/syndicate_station/start) "QT" = (/obj/structure/toilet{dir = 4},/obj/machinery/light/small{dir = 8},/turf/simulated/shuttle/floor/black,/area/skipjack_station/start) -"QU" = (/obj/item/weapon/bedsheet/orange,/obj/structure/bed/padded,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) -"QV" = (/obj/item/weapon/bedsheet/green,/obj/machinery/light/small{dir = 4},/obj/structure/bed/padded,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) -"QW" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/storage/firstaid/clotting,/obj/item/stack/medical/splint,/turf/simulated/shuttle/floor/white,/area/skipjack_station/start) -"QX" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/adv{pixel_x = 1},/obj/item/weapon/storage/firstaid/toxin{pixel_x = 3; pixel_y = 3},/obj/machinery/light/small{dir = 4},/obj/structure/closet/secure_closet/medical_wall{pixel_x = 32; pixel_y = 0; req_access = list(150)},/obj/item/weapon/storage/firstaid/fire{pixel_x = 1},/obj/item/weapon/storage/firstaid/o2{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/firstaid/regular,/turf/simulated/shuttle/floor/white,/area/skipjack_station/start) +"QU" = (/obj/item/bedsheet/orange,/obj/structure/bed/padded,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) +"QV" = (/obj/item/bedsheet/green,/obj/machinery/light/small{dir = 4},/obj/structure/bed/padded,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) +"QW" = (/obj/structure/table/standard,/obj/item/reagent_containers/syringe/antiviral,/obj/item/reagent_containers/syringe/antiviral,/obj/item/storage/firstaid/clotting,/obj/item/stack/medical/splint,/turf/simulated/shuttle/floor/white,/area/skipjack_station/start) +"QX" = (/obj/structure/table/standard,/obj/item/storage/firstaid/adv{pixel_x = 1},/obj/item/storage/firstaid/toxin{pixel_x = 3; pixel_y = 3},/obj/machinery/light/small{dir = 4},/obj/structure/closet/secure_closet/medical_wall{pixel_x = 32; pixel_y = 0; req_access = list(150)},/obj/item/storage/firstaid/fire{pixel_x = 1},/obj/item/storage/firstaid/o2{pixel_x = 3; pixel_y = 3},/obj/item/storage/firstaid/regular,/turf/simulated/shuttle/floor/white,/area/skipjack_station/start) "QY" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "syndieshutters_infirmary"; name = "Blast Shutters"; opacity = 0},/obj/structure/window/reinforced/full,/turf/simulated/shuttle/plating,/area/syndicate_station/start) "QZ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "syndieshutters_infirmary"; name = "Blast Shutters"; opacity = 0},/obj/structure/window/reinforced/full,/turf/simulated/shuttle/plating,/area/syndicate_station/start) "Ra" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "syndieshutters_infirmary"; name = "Blast Shutters"; opacity = 0},/obj/structure/window/reinforced/full,/turf/simulated/shuttle/plating,/area/syndicate_station/start) -"Rb" = (/obj/item/weapon/bedsheet/rd,/obj/structure/bed/padded,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) +"Rb" = (/obj/item/bedsheet/rd,/obj/structure/bed/padded,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) "Rc" = (/obj/item/pizzabox/meat,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) -"Rd" = (/obj/item/weapon/bedsheet/clown,/obj/structure/bed/padded,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) +"Rd" = (/obj/item/bedsheet/clown,/obj/structure/bed/padded,/turf/simulated/shuttle/floor/red,/area/skipjack_station/start) "Re" = (/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/space) "Rf" = (/turf/unsimulated/wall{icon = 'icons/misc/title.dmi'; icon_state = "title"},/area/space) "Rg" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/simulated/mineral,/area/space) "Rh" = (/turf/unsimulated/wall,/area/tdome/tdomeobserve) "Ri" = (/obj/machinery/door/blast/regular{id = "thunderdomeaxe"; name = "Axe Supply"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome/tdome1) -"Rj" = (/obj/structure/table/glass,/obj/item/weapon/book/codex/lore/vir,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/main_hall) +"Rj" = (/obj/structure/table/glass,/obj/item/book/codex/lore/vir,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/main_hall) "Rk" = (/obj/machinery/computer/cryopod/dorms{pixel_y = -30},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/main_hall) "Rl" = (/turf/space,/obj/structure/shuttle/engine/propulsion{dir = 4},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/merchant/home) "Rm" = (/obj/effect/forcefield{desc = "You can't get in. Heh."; invisibility = 60; layer = 1; name = "Blocker"},/turf/simulated/shuttle/floor/white,/area/centcom/main_hall) @@ -2257,7 +2257,7 @@ "Ru" = (/obj/machinery/computer/syndicate_elite_shuttle{dir = 1},/turf/simulated/shuttle/floor/skipjack,/area/shuttle/syndicate_elite/mothership) "Rv" = (/obj/machinery/vending/snack{dir = 4; name = "hacked Getmore Chocolate Corp"; prices = list()},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) "Rw" = (/obj/machinery/vending/cola{dir = 4; name = "hacked Robust Softdrinks"; prices = list()},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) -"Rx" = (/obj/machinery/vending/cigarette{dir = 4; name = "hacked cigarette machine"; prices = list(); products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2)},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) +"Rx" = (/obj/machinery/vending/cigarette{dir = 4; name = "hacked cigarette machine"; prices = list(); products = list(/obj/item/storage/fancy/cigarettes = 10, /obj/item/storage/box/matches = 10, /obj/item/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2)},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) "Ry" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"; dir = 1},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/syndicate_elite/mothership) "Rz" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 1},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/syndicate_elite/mothership) "RA" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 1},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/syndicate_elite/mothership) @@ -2336,7 +2336,7 @@ "SV" = (/turf/unsimulated/floor{icon_state = "steel_dirty"},/area/virtual_reality) "SW" = (/obj/structure/table/steel,/turf/unsimulated/floor{icon_state = "steel_dirty"},/area/virtual_reality) "SX" = (/obj/structure/table/steel,/obj/random/energy,/turf/unsimulated/floor{icon_state = "steel_dirty"},/area/virtual_reality) -"SY" = (/obj/item/weapon/gun/magic/firestaff,/turf/unsimulated/floor{icon_state = "steel_dirty"},/area/virtual_reality) +"SY" = (/obj/item/gun/magic/firestaff,/turf/unsimulated/floor{icon_state = "steel_dirty"},/area/virtual_reality) "SZ" = (/obj/random/energy,/turf/unsimulated/floor{icon_state = "steel_dirty"},/area/virtual_reality) "Ta" = (/obj/machinery/door/airlock/multi_tile/metal,/obj/machinery/door/blast/regular{id = "spawngreen"; name = "Green Team Spawn"},/turf/unsimulated/floor{icon_state = "steel_dirty"},/area/virtual_reality) "Tb" = (/obj/machinery/door/blast/regular{id = "spawngreen"; name = "Green Team Spawn"},/turf/unsimulated/floor{icon_state = "steel_dirty"},/area/virtual_reality) @@ -2602,4 +2602,3 @@ aaaaRfababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa "} - diff --git a/maps/southern_cross/southern_cross-7.dmm b/maps/southern_cross/southern_cross-7.dmm index d64bee5ed41..33f2c5110be 100644 --- a/maps/southern_cross/southern_cross-7.dmm +++ b/maps/southern_cross/southern_cross-7.dmm @@ -47,7 +47,7 @@ "aU" = (/obj/machinery/ai_status_display,/turf/simulated/shuttle/wall,/area/shuttle/arrival/pre_game) "aV" = (/turf/space/transit/east,/area/shuttle/large_escape_pod1/transit) "aW" = (/turf/simulated/shuttle/wall/hard_corner,/area/shuttle/arrival/pre_game) -"aX" = (/obj/structure/closet/emcloset,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/shuttle/floor/white,/area/shuttle/arrival/pre_game) +"aX" = (/obj/structure/closet/emcloset,/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/shuttle/floor/white,/area/shuttle/arrival/pre_game) "aY" = (/obj/machinery/light{dir = 1},/obj/structure/table/standard,/obj/random/plushie,/turf/simulated/shuttle/floor/white,/area/shuttle/arrival/pre_game) "aZ" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/shuttle/floor,/area/shuttle/arrival/pre_game) "ba" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/arrival/pre_game) @@ -73,14 +73,14 @@ "bu" = (/obj/structure/bed/chair/shuttle,/obj/structure/window/reinforced{dir = 1},/obj/effect/landmark{name = "JoinLate"},/obj/structure/closet/walllocker/emerglocker{pixel_x = -32},/turf/simulated/shuttle/floor/white,/area/shuttle/arrival/pre_game) "bv" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/floor/airless,/area/shuttle/arrival/pre_game) "bw" = (/obj/machinery/light,/turf/simulated/shuttle/floor/white,/area/shuttle/arrival/pre_game) -"bx" = (/obj/structure/table/standard,/obj/item/weapon/book/codex/lore/vir,/turf/simulated/shuttle/floor/white,/area/shuttle/arrival/pre_game) +"bx" = (/obj/structure/table/standard,/obj/item/book/codex/lore/vir,/turf/simulated/shuttle/floor/white,/area/shuttle/arrival/pre_game) "by" = (/obj/structure/table/standard,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/shuttle/floor/white,/area/shuttle/arrival/pre_game) -"bz" = (/obj/structure/table/standard,/obj/item/weapon/book/codex/corp_regs,/turf/simulated/shuttle/floor/white,/area/shuttle/arrival/pre_game) +"bz" = (/obj/structure/table/standard,/obj/item/book/codex/corp_regs,/turf/simulated/shuttle/floor/white,/area/shuttle/arrival/pre_game) "bA" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8; health = 1e+006},/turf/simulated/floor/airless,/area/shuttle/arrival/pre_game) "bB" = (/turf/space/transit/east,/area/shuttle/large_escape_pod2/transit) "bC" = (/turf/space,/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/arrival/pre_game) "bD" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating/airless,/area/shuttle/arrival/pre_game) -"bE" = (/obj/structure/closet/emcloset,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/shuttle/floor/white,/area/shuttle/arrival/pre_game) +"bE" = (/obj/structure/closet/emcloset,/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/shuttle/floor/white,/area/shuttle/arrival/pre_game) "bF" = (/obj/effect/shuttle_landmark/southern_cross/escape_pod1/transit,/turf/space/transit/north,/area/shuttle/escape_pod1/transit) "bG" = (/turf/simulated/sky/moving/north,/area/space) "bH" = (/turf/simulated/sky/north,/area/space) diff --git a/maps/southern_cross/southern_cross-8.dmm b/maps/southern_cross/southern_cross-8.dmm index cc706e90981..b747af43d13 100644 --- a/maps/southern_cross/southern_cross-8.dmm +++ b/maps/southern_cross/southern_cross-8.dmm @@ -63,17 +63,17 @@ "bk" = (/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/surface/outside/wilderness/mountains) "bl" = (/turf/simulated/shuttle/floor/voidcraft/external,/area/surface/outpost/wall/checkpoint) "bm" = (/turf/simulated/shuttle/floor/voidcraft/external,/area/surface/outside/path/wilderness) -"bn" = (/obj/item/weapon/banner/nt,/turf/simulated/shuttle/floor/voidcraft/external,/area/surface/outside/path/wilderness) +"bn" = (/obj/item/banner/nt,/turf/simulated/shuttle/floor/voidcraft/external,/area/surface/outside/path/wilderness) "bo" = (/turf/simulated/shuttle/wall/voidcraft/hard_corner,/area/surface/outpost/wall/checkpoint) "bp" = (/obj/machinery/door/airlock/voidcraft{name = "Wilderness Containment"},/turf/simulated/shuttle/floor/voidcraft/external,/area/surface/outpost/wall/checkpoint) "bq" = (/turf/simulated/shuttle/wall/voidcraft,/area/surface/outpost/wall/checkpoint) "br" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/shuttle/floor/voidcraft/external,/area/surface/outpost/wall/checkpoint) "bs" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/shuttle/floor/voidcraft/external,/area/surface/outpost/wall/checkpoint) -"bt" = (/obj/item/weapon/banner/virgov,/turf/simulated/shuttle/floor/voidcraft/external,/area/surface/outside/path/wilderness) +"bt" = (/obj/item/banner/virgov,/turf/simulated/shuttle/floor/voidcraft/external,/area/surface/outside/path/wilderness) "bu" = (/obj/effect/map_effect/portal/master/side_b/wilderness_to_caves{icon_state = "portal_side_b"; dir = 1},/turf/simulated/shuttle/floor/voidcraft/external,/area/surface/outpost/wall/checkpoint) -"bv" = (/obj/structure/closet/crate,/obj/random/powercell,/obj/item/weapon/tool/screwdriver,/turf/simulated/floor/plating/external,/area/surface/outpost/shelter) +"bv" = (/obj/structure/closet/crate,/obj/random/powercell,/obj/item/tool/screwdriver,/turf/simulated/floor/plating/external,/area/surface/outpost/shelter) "bw" = (/obj/random/junk,/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "mining_dock_1"; name = "shuttle bay controller"; pixel_x = 0; pixel_y = -26; tag_door = "mining_dock_1_door"},/turf/simulated/floor/plating/external,/area/surface/outpost/shelter) -"bx" = (/obj/item/weapon/banner/virgov,/turf/simulated/floor/plating/external,/area/surface/outpost/shelter) +"bx" = (/obj/item/banner/virgov,/turf/simulated/floor/plating/external,/area/surface/outpost/shelter) "by" = (/obj/machinery/space_heater,/turf/simulated/floor/plating/external,/area/surface/outpost/shelter) "bz" = (/obj/machinery/space_heater,/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "mining_dock_2"; name = "shuttle bay controller"; pixel_x = 0; pixel_y = -26; tag_door = "mining_dock_2_door"},/turf/simulated/floor/plating/external,/area/surface/outpost/shelter) "bA" = (/obj/effect/shuttle_landmark{docking_controller = "mining_dock_2"; landmark_tag = "shuttle2_mining"; name = "Wilderness Landing Site"},/turf/simulated/floor/outdoors/grass/sif/planetuse{tree_chance = 0},/area/shuttle/shuttle2/mining) diff --git a/maps/southern_cross/southern_cross_jobs.dm b/maps/southern_cross/southern_cross_jobs.dm index 2f379dcb2e5..deb66093b16 100644 --- a/maps/southern_cross/southern_cross_jobs.dm +++ b/maps/southern_cross/southern_cross_jobs.dm @@ -29,7 +29,7 @@ var/const/access_explorer = 43 department = "Command" head_position = 1 department_flag = ENGSEC - faction = "Station" + faction = FACTION_STATION total_positions = 1 spawn_positions = 1 supervisors = "company officials and Corporate Regulations" @@ -60,7 +60,7 @@ var/const/access_explorer = 43 flag = PILOT departments = list(DEPARTMENT_PLANET) department_flag = CIVILIAN - faction = "Station" + faction = FACTION_STATION total_positions = 2 spawn_positions = 2 supervisors = "the Head of Personnel" @@ -77,7 +77,7 @@ var/const/access_explorer = 43 flag = EXPLORER departments = list(DEPARTMENT_RESEARCH, DEPARTMENT_PLANET) department_flag = MEDSCI - faction = "Station" + faction = FACTION_STATION total_positions = 4 spawn_positions = 4 supervisors = "the Research Director" @@ -92,8 +92,8 @@ var/const/access_explorer = 43 /* alt_titles = list( - "Explorer Technician" = /decl/hierarchy/outfit/job/explorer2/technician, - "Explorer Medic" = /decl/hierarchy/outfit/job/explorer2/medic) + JOB_ALT_EXPLORERE_TECHNICIAN = /decl/hierarchy/outfit/job/explorer2/technician, + JOB_ALT_EXPLORER_MEDIC = /decl/hierarchy/outfit/job/explorer2/medic) */ /datum/job/sar @@ -101,7 +101,7 @@ var/const/access_explorer = 43 flag = SAR departments = list(DEPARTMENT_PLANET, DEPARTMENT_MEDICAL) department_flag = MEDSCI - faction = "Station" + faction = FACTION_STATION total_positions = 2 spawn_positions = 2 supervisors = "the Chief Medical Officer" @@ -112,4 +112,4 @@ var/const/access_explorer = 43 min_age_by_species = list(SPECIES_PROMETHEAN = 2) outfit_type = /decl/hierarchy/outfit/job/medical/sar - job_description = "A Search and Rescue operative recovers individuals who are injured or dead on the surface of Sif." \ No newline at end of file + job_description = "A Search and Rescue operative recovers individuals who are injured or dead on the surface of Sif." diff --git a/maps/southern_cross/southern_cross_overrides.dm b/maps/southern_cross/southern_cross_overrides.dm index 71dd04da38b..5458cb51dac 100644 --- a/maps/southern_cross/southern_cross_overrides.dm +++ b/maps/southern_cross/southern_cross_overrides.dm @@ -4,7 +4,7 @@ /mob/living/silicon/robot/platform/cargo req_access = list(access_cargo_bot) -/obj/item/weapon/card/id/platform/Initialize() +/obj/item/card/id/platform/Initialize() . = ..() access |= access_explorer access |= access_pilot diff --git a/maps/southern_cross/structures/closets/engineering.dm b/maps/southern_cross/structures/closets/engineering.dm index 278ace3e93c..fdaffb3995e 100644 --- a/maps/southern_cross/structures/closets/engineering.dm +++ b/maps/southern_cross/structures/closets/engineering.dm @@ -13,20 +13,20 @@ /obj/item/clothing/under/rank/chief_engineer/skirt, /obj/item/clothing/head/hardhat/white, /obj/item/clothing/shoes/brown, - /obj/item/weapon/cartridge/ce, - /obj/item/device/radio/headset/heads/ce, - /obj/item/device/radio/headset/heads/ce/alt, + /obj/item/cartridge/ce, + /obj/item/radio/headset/heads/ce, + /obj/item/radio/headset/heads/ce/alt, /obj/item/clothing/suit/storage/hazardvest, /obj/item/clothing/mask/gas, - /obj/item/weapon/tank/emergency/oxygen/engi, + /obj/item/tank/emergency/oxygen/engi, /obj/item/taperoll/engineering, /obj/item/clothing/suit/storage/hooded/wintercoat/engineering) /obj/structure/closet/secure_closet/engineering_chief_wardrobe/Initialize() if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack/industrial + starts_with += /obj/item/storage/backpack/industrial else - starts_with += /obj/item/weapon/storage/backpack/satchel/eng + starts_with += /obj/item/storage/backpack/satchel/eng if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack/dufflebag/eng + starts_with += /obj/item/storage/backpack/dufflebag/eng return ..() diff --git a/maps/southern_cross/structures/closets/medical.dm b/maps/southern_cross/structures/closets/medical.dm index 666b42d6173..5af03b51510 100644 --- a/maps/southern_cross/structures/closets/medical.dm +++ b/maps/southern_cross/structures/closets/medical.dm @@ -14,20 +14,20 @@ /obj/item/clothing/suit/storage/toggle/labcoat/cmo, /obj/item/clothing/suit/storage/toggle/labcoat/cmoalt, /obj/item/clothing/suit/storage/toggle/labcoat/modern/cmo, - /obj/item/weapon/cartridge/cmo, + /obj/item/cartridge/cmo, /obj/item/clothing/gloves/sterile/latex, /obj/item/clothing/shoes/brown, - /obj/item/device/radio/headset/heads/cmo, + /obj/item/radio/headset/heads/cmo, /obj/item/clothing/suit/storage/hooded/wintercoat/medical, /obj/item/clothing/shoes/white) /obj/structure/closet/secure_closet/CMO_wardrobe/Initialize() if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack/medic + starts_with += /obj/item/storage/backpack/medic else - starts_with += /obj/item/weapon/storage/backpack/satchel/med + starts_with += /obj/item/storage/backpack/satchel/med if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack/dufflebag/med + starts_with += /obj/item/storage/backpack/dufflebag/med switch(pick("blue", "green", "purple", "black", "navyblue")) if ("blue") starts_with += /obj/item/clothing/under/rank/medical/scrubs diff --git a/maps/southern_cross/structures/closets/misc.dm b/maps/southern_cross/structures/closets/misc.dm index cc1567730f9..9d65f30bb3a 100644 --- a/maps/southern_cross/structures/closets/misc.dm +++ b/maps/southern_cross/structures/closets/misc.dm @@ -5,7 +5,7 @@ req_one_access = list(access_armory,access_captain) starts_with = list( - /obj/item/weapon/gun/energy/gun = 4) + /obj/item/gun/energy/gun = 4) /obj/structure/closet/secure_closet/guncabinet/rifle @@ -14,13 +14,13 @@ starts_with = list( /obj/item/ammo_magazine/clip/c762/hunter = 9, - /obj/item/weapon/gun/projectile/shotgun/pump/rifle = 2) + /obj/item/gun/projectile/shotgun/pump/rifle = 2) /obj/structure/closet/secure_closet/guncabinet/rifle/Initialize() if(prob(85)) - starts_with += /obj/item/weapon/gun/projectile/shotgun/pump/rifle + starts_with += /obj/item/gun/projectile/shotgun/pump/rifle else - starts_with += /obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever + starts_with += /obj/item/gun/projectile/shotgun/pump/rifle/lever return ..() /obj/structure/closet/secure_closet/guncabinet/phase @@ -28,9 +28,9 @@ req_one_access = list(access_explorer,access_brig) starts_with = list( - /obj/item/weapon/gun/energy/phasegun = 2, - /obj/item/weapon/gun/energy/phasegun/pistol, - /obj/item/weapon/cell/device/weapon = 2, + /obj/item/gun/energy/phasegun = 2, + /obj/item/gun/energy/phasegun/pistol, + /obj/item/cell/device/weapon = 2, /obj/item/clothing/accessory/permit/gun/planetside) //Explorer Lockers @@ -47,27 +47,27 @@ /obj/item/clothing/mask/gas/explorer, /obj/item/clothing/shoes/boots/winter/explorer, /obj/item/clothing/gloves/black, - /obj/item/device/radio/headset/explorer, - /obj/item/device/flashlight, - /obj/item/device/gps/explorer, - /obj/item/weapon/storage/box/flare, - /obj/item/device/geiger, - /obj/item/weapon/cell/device, - /obj/item/device/radio, + /obj/item/radio/headset/explorer, + /obj/item/flashlight, + /obj/item/gps/explorer, + /obj/item/storage/box/flare, + /obj/item/geiger, + /obj/item/cell/device, + /obj/item/radio, /obj/item/stack/marker_beacon/thirty, - /obj/item/device/cataloguer + /obj/item/cataloguer ) /obj/structure/closet/secure_closet/explorer/Initialize() if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack + starts_with += /obj/item/storage/backpack else - starts_with += /obj/item/weapon/storage/backpack/satchel/norm + starts_with += /obj/item/storage/backpack/satchel/norm /* VOREStation Removal - Always give both if(prob(75)) - starts_with += /obj/item/weapon/material/knife/tacknife/survival + starts_with += /obj/item/material/knife/tacknife/survival else - starts_with += /obj/item/weapon/material/knife/machete + starts_with += /obj/item/material/knife/machete */ //VOREStation Removal End return ..() @@ -80,30 +80,30 @@ closet_appearance = /decl/closet_appearance/secure_closet/medical starts_with = list( - /obj/item/weapon/storage/backpack/dufflebag/emt, - /obj/item/weapon/storage/box/autoinjectors, - /obj/item/weapon/storage/box/syringes, - /obj/item/weapon/reagent_containers/glass/bottle/inaprovaline, - /obj/item/weapon/reagent_containers/glass/bottle/antitoxin, - /obj/item/weapon/storage/belt/medical/emt, + /obj/item/storage/backpack/dufflebag/emt, + /obj/item/storage/box/autoinjectors, + /obj/item/storage/box/syringes, + /obj/item/reagent_containers/glass/bottle/inaprovaline, + /obj/item/reagent_containers/glass/bottle/antitoxin, + /obj/item/storage/belt/medical/emt, /obj/item/clothing/mask/gas, /obj/item/clothing/suit/storage/hooded/wintercoat/medical/sar, /obj/item/clothing/shoes/boots/winter/explorer, - /obj/item/device/radio/headset/sar, - /obj/item/weapon/cartridge/medical, - /obj/item/device/flashlight, - /obj/item/weapon/tank/emergency/oxygen/engi, + /obj/item/radio/headset/sar, + /obj/item/cartridge/medical, + /obj/item/flashlight, + /obj/item/tank/emergency/oxygen/engi, /obj/item/clothing/glasses/hud/health, - /obj/item/device/healthanalyzer, - /obj/item/device/radio/off, + /obj/item/healthanalyzer, + /obj/item/radio/off, /obj/random/medical, - /obj/item/weapon/tool/crowbar, - /obj/item/weapon/extinguisher/mini, - /obj/item/weapon/storage/box/freezer, + /obj/item/tool/crowbar, + /obj/item/extinguisher/mini, + /obj/item/storage/box/freezer, /obj/item/clothing/accessory/storage/white_vest, /obj/item/taperoll/medical, - /obj/item/device/gps, - /obj/item/device/geiger, + /obj/item/gps, + /obj/item/geiger, /obj/item/bodybag/cryobag) //Pilot Locker @@ -113,27 +113,27 @@ req_access = list(access_pilot) starts_with = list( - /obj/item/weapon/storage/backpack/parachute, - /obj/item/weapon/material/knife/tacknife/survival, + /obj/item/storage/backpack/parachute, + /obj/item/material/knife/tacknife/survival, /obj/item/clothing/head/pilot, /obj/item/clothing/under/rank/pilot1, /obj/item/clothing/suit/storage/toggle/bomber/pilot, /obj/item/clothing/mask/gas/half, /obj/item/clothing/shoes/black, /obj/item/clothing/gloves/fingerless, - /obj/item/device/radio/headset/pilot/alt, - /obj/item/device/flashlight, - /obj/item/weapon/reagent_containers/food/snacks/liquidfood, - /obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, - /obj/item/weapon/storage/box/flare, - /obj/item/weapon/cell/device, - /obj/item/device/radio) + /obj/item/radio/headset/pilot/alt, + /obj/item/flashlight, + /obj/item/reagent_containers/food/snacks/liquidfood, + /obj/item/reagent_containers/food/drinks/cans/waterbottle, + /obj/item/storage/box/flare, + /obj/item/cell/device, + /obj/item/radio) /obj/structure/closet/secure_closet/pilot/Initialize() if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack + starts_with += /obj/item/storage/backpack else - starts_with += /obj/item/weapon/storage/backpack/satchel/norm + starts_with += /obj/item/storage/backpack/satchel/norm return ..() //Exotic Seeds Crate diff --git a/maps/southern_cross/structures/closets/research.dm b/maps/southern_cross/structures/closets/research.dm index 0447e9b0731..a279eeef773 100644 --- a/maps/southern_cross/structures/closets/research.dm +++ b/maps/southern_cross/structures/closets/research.dm @@ -13,8 +13,8 @@ /obj/item/clothing/under/rank/research_director/rdalt, /obj/item/clothing/under/rank/research_director/dress_rd, /obj/item/clothing/suit/storage/toggle/labcoat, - /obj/item/weapon/cartridge/rd, + /obj/item/cartridge/rd, /obj/item/clothing/shoes/white, /obj/item/clothing/shoes/laceup/brown, /obj/item/clothing/gloves/sterile/latex, - /obj/item/device/radio/headset/heads/rd) + /obj/item/radio/headset/heads/rd) diff --git a/maps/southern_cross/structures/closets/security.dm b/maps/southern_cross/structures/closets/security.dm index 2ab3f7198e8..faa07d88573 100644 --- a/maps/southern_cross/structures/closets/security.dm +++ b/maps/southern_cross/structures/closets/security.dm @@ -13,10 +13,10 @@ /obj/item/clothing/under/rank/head_of_security/corp, /obj/item/clothing/suit/storage/vest/hoscoat/jensen, /obj/item/clothing/suit/storage/vest/hoscoat, - /obj/item/weapon/cartridge/hos, - /obj/item/device/radio/headset/heads/hos, + /obj/item/cartridge/hos, + /obj/item/radio/headset/heads/hos, /obj/item/clothing/glasses/sunglasses/sechud, - /obj/item/weapon/storage/box/holobadge/hos, + /obj/item/storage/box/holobadge/hos, /obj/item/clothing/accessory/badge/holo/hos, /obj/item/clothing/accessory/holster/waist, /obj/item/clothing/head/beret/sec/corporate/hos, @@ -24,9 +24,9 @@ /obj/structure/closet/secure_closet/hos_wardrobe/Initialize() if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack/security + starts_with += /obj/item/storage/backpack/security else - starts_with += /obj/item/weapon/storage/backpack/satchel/sec + starts_with += /obj/item/storage/backpack/satchel/sec if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack/dufflebag/sec + starts_with += /obj/item/storage/backpack/dufflebag/sec return ..() diff --git a/maps/stellar_delight/ship_centcom.dmm b/maps/stellar_delight/ship_centcom.dmm index 7b676d4c91e..6a0cd19303c 100644 --- a/maps/stellar_delight/ship_centcom.dmm +++ b/maps/stellar_delight/ship_centcom.dmm @@ -4,8 +4,8 @@ /area/centcom) "ab" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/lasercannon, -/obj/item/weapon/gun/energy/lasercannon, +/obj/item/gun/energy/lasercannon, +/obj/item/gun/energy/lasercannon, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "ac" = ( @@ -24,8 +24,8 @@ /area/shuttle/ccboat) "ad" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/xray, -/obj/item/weapon/gun/energy/xray, +/obj/item/gun/energy/xray, +/obj/item/gun/energy/xray, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "ae" = ( @@ -35,13 +35,13 @@ "af" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/energy/ionrifle/pistol, -/obj/item/weapon/gun/energy/ionrifle/pistol, +/obj/item/gun/energy/ionrifle/pistol, +/obj/item/gun/energy/ionrifle/pistol, /turf/simulated/floor/tiled/dark, /area/centcom/security) "ag" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/heavysniper, +/obj/item/gun/projectile/heavysniper, /obj/item/ammo_magazine/ammo_box/b145, /obj/item/ammo_magazine/ammo_box/b145, /turf/simulated/floor/tiled/dark, @@ -51,8 +51,8 @@ /area/centcom/main_hall) "ai" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/automatic/z8, -/obj/item/weapon/gun/projectile/automatic/z8, +/obj/item/gun/projectile/automatic/z8, +/obj/item/gun/projectile/automatic/z8, /obj/item/ammo_magazine/m762, /obj/item/ammo_magazine/m762, /obj/item/ammo_magazine/m762, @@ -70,7 +70,7 @@ /area/centcom/control) "ak" = ( /obj/structure/table/reinforced, -/obj/item/weapon/folder/red, +/obj/item/folder/red, /turf/simulated/floor/tiled, /area/centcom/security) "al" = ( @@ -78,8 +78,8 @@ /area/tdome/tdomeadmin) "am" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/launcher/rocket, -/obj/item/weapon/gun/launcher/rocket, +/obj/item/gun/launcher/rocket, +/obj/item/gun/launcher/rocket, /obj/item/ammo_casing/rocket, /obj/item/ammo_casing/rocket, /obj/item/ammo_casing/rocket, @@ -153,18 +153,18 @@ /area/centcom/security) "au" = ( /obj/structure/closet/crate/medical, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "av" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/automatic/l6_saw, -/obj/item/weapon/gun/projectile/automatic/l6_saw, +/obj/item/gun/projectile/automatic/l6_saw, +/obj/item/gun/projectile/automatic/l6_saw, /obj/item/ammo_magazine/m545saw, /obj/item/ammo_magazine/m545saw, /obj/item/ammo_magazine/m545saw, @@ -188,8 +188,8 @@ /area/centcom/control) "az" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "aA" = ( @@ -201,8 +201,8 @@ dir = 1 }, /obj/structure/table/rack, -/obj/item/weapon/gun/energy/ionrifle, -/obj/item/weapon/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled{ icon_state = "dark" @@ -217,8 +217,8 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/gun/energy/ionrifle/pistol, -/obj/item/weapon/gun/energy/ionrifle/pistol, +/obj/item/gun/energy/ionrifle/pistol, +/obj/item/gun/energy/ionrifle/pistol, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -232,7 +232,7 @@ dir = 1 }, /obj/structure/table/rack, -/obj/item/weapon/gun/energy/netgun, +/obj/item/gun/energy/netgun, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled{ icon_state = "dark" @@ -300,7 +300,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/storage/briefcase{ +/obj/item/storage/briefcase{ pixel_x = 3; pixel_y = 5 }, @@ -311,9 +311,9 @@ dir = 1 }, /obj/structure/table/rack, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, +/obj/item/gun/energy/laser, +/obj/item/gun/energy/laser, +/obj/item/gun/energy/laser, /obj/effect/floor_decal/industrial/outline/yellow, /obj/structure/window/reinforced{ dir = 4 @@ -328,10 +328,10 @@ }, /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/energy/gun/nuclear, -/obj/item/weapon/gun/energy/gun/nuclear, -/obj/item/weapon/gun/energy/gun/nuclear, -/obj/item/weapon/gun/energy/gun/nuclear, +/obj/item/gun/energy/gun/nuclear, +/obj/item/gun/energy/gun/nuclear, +/obj/item/gun/energy/gun/nuclear, +/obj/item/gun/energy/gun/nuclear, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -346,10 +346,10 @@ /area/centcom/specops) "aV" = ( /obj/structure/table/rack, -/obj/item/weapon/extinguisher/mini, -/obj/item/weapon/extinguisher/mini, -/obj/item/weapon/extinguisher/mini, -/obj/item/weapon/extinguisher/mini, +/obj/item/extinguisher/mini, +/obj/item/extinguisher/mini, +/obj/item/extinguisher/mini, +/obj/item/extinguisher/mini, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "aW" = ( @@ -388,11 +388,11 @@ /area/centcom/command) "bb" = ( /obj/structure/table/rack, -/obj/item/weapon/rig/ert/assetprotection, -/obj/item/weapon/rig/ert/assetprotection, -/obj/item/weapon/rig/ert/assetprotection, -/obj/item/weapon/rig/ert/assetprotection, -/obj/item/weapon/rig/ert/assetprotection, +/obj/item/rig/ert/assetprotection, +/obj/item/rig/ert/assetprotection, +/obj/item/rig/ert/assetprotection, +/obj/item/rig/ert/assetprotection, +/obj/item/rig/ert/assetprotection, /obj/item/clothing/glasses/thermal, /obj/item/clothing/glasses/thermal, /obj/item/clothing/glasses/thermal, @@ -402,43 +402,43 @@ /area/centcom/specops) "bc" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/pill_bottle/blood_regen, -/obj/item/weapon/storage/pill_bottle/blood_regen, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/fitnessflask/glucose, +/obj/item/storage/pill_bottle/blood_regen, +/obj/item/storage/pill_bottle/blood_regen, +/obj/item/reagent_containers/food/drinks/drinkingglass/fitnessflask/glucose, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "bd" = ( /obj/structure/closet/crate/medical, /obj/item/stack/nanopaste/advanced, -/obj/item/weapon/tank/anesthetic, +/obj/item/tank/anesthetic, /obj/item/clothing/mask/breath/medical, /obj/item/clothing/mask/surgical, /obj/item/clothing/mask/surgical, /obj/item/stack/nanopaste/advanced, /obj/item/stack/nanopaste/advanced, -/obj/item/weapon/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "be" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/hypospray, -/obj/item/weapon/reagent_containers/hypospray, -/obj/item/weapon/reagent_containers/hypospray, -/obj/item/weapon/reagent_containers/hypospray, -/obj/item/weapon/reagent_containers/hypospray, -/obj/item/weapon/reagent_containers/hypospray, +/obj/item/reagent_containers/hypospray, +/obj/item/reagent_containers/hypospray, +/obj/item/reagent_containers/hypospray, +/obj/item/reagent_containers/hypospray, +/obj/item/reagent_containers/hypospray, +/obj/item/reagent_containers/hypospray, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "bf" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/clotting, -/obj/item/weapon/storage/firstaid/bonemed, -/obj/item/weapon/storage/pill_bottle/sleevingcure/full, +/obj/item/storage/firstaid/clotting, +/obj/item/storage/firstaid/bonemed, +/obj/item/storage/pill_bottle/sleevingcure/full, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "bg" = ( /obj/machinery/chemical_dispenser/ert, -/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, /obj/structure/table/reinforced, /turf/simulated/floor/tiled/dark, /area/centcom/specops) @@ -447,8 +447,8 @@ /area/centcom/living) "bi" = ( /obj/structure/table/rack, -/obj/item/device/defib_kit/compact/combat/loaded, -/obj/item/device/defib_kit/compact/combat/loaded, +/obj/item/defib_kit/compact/combat/loaded, +/obj/item/defib_kit/compact/combat/loaded, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "bj" = ( @@ -584,20 +584,20 @@ /area/shuttle/centcom/ccbay) "bJ" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/pillbottles, -/obj/item/weapon/storage/box/gloves, -/obj/item/weapon/storage/box/beakers, -/obj/item/weapon/storage/box/autoinjectors, +/obj/item/storage/box/pillbottles, +/obj/item/storage/box/gloves, +/obj/item/storage/box/beakers, +/obj/item/storage/box/autoinjectors, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "bK" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "bL" = ( @@ -618,11 +618,11 @@ /area/centcom/specops) "bM" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/fire{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/firstaid/fire, +/obj/item/storage/firstaid/fire, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "bS" = ( @@ -634,9 +634,9 @@ /area/centcom/specops) "bT" = ( /obj/structure/table/rack, -/obj/item/weapon/rig/ert/medical, -/obj/item/weapon/rig/ert/medical, -/obj/item/weapon/rig/ert/medical, +/obj/item/rig/ert/medical, +/obj/item/rig/ert/medical, +/obj/item/rig/ert/medical, /obj/item/clothing/accessory/storage/white_vest, /obj/item/clothing/accessory/storage/white_vest, /obj/item/clothing/accessory/storage/white_vest, @@ -681,7 +681,7 @@ "ca" = ( /obj/structure/table/rack, /obj/structure/window/reinforced, -/obj/item/weapon/gun/projectile/automatic/advanced_smg, +/obj/item/gun/projectile/automatic/advanced_smg, /obj/item/ammo_magazine/m9mmAdvanced, /obj/item/ammo_magazine/m9mmAdvanced, /obj/item/ammo_magazine/m9mmAdvanced, @@ -693,7 +693,7 @@ "cb" = ( /obj/structure/table/rack, /obj/structure/window/reinforced, -/obj/item/weapon/gun/energy/sniperrifle, +/obj/item/gun/energy/sniperrifle, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -711,21 +711,21 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, +/obj/item/gun/energy/gun, +/obj/item/gun/energy/gun, +/obj/item/gun/energy/gun, +/obj/item/gun/energy/gun, /turf/simulated/floor/tiled{ icon_state = "dark" }, /area/centcom/specops) "cf" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "ci" = ( @@ -756,8 +756,8 @@ /obj/item/ammo_magazine/m545, /obj/item/ammo_magazine/m545, /obj/item/ammo_magazine/m545, -/obj/item/weapon/gun/projectile/automatic/sts35, -/obj/item/weapon/gun/projectile/automatic/sts35, +/obj/item/gun/projectile/automatic/sts35, +/obj/item/gun/projectile/automatic/sts35, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -779,18 +779,18 @@ /obj/item/ammo_magazine/m545, /obj/item/ammo_magazine/m545, /obj/item/ammo_magazine/m545, -/obj/item/weapon/gun/projectile/automatic/sts35, -/obj/item/weapon/gun/projectile/automatic/sts35, +/obj/item/gun/projectile/automatic/sts35, +/obj/item/gun/projectile/automatic/sts35, /turf/simulated/floor/tiled{ icon_state = "dark" }, /area/centcom/specops) "cv" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/smes_coil, -/obj/item/weapon/smes_coil, -/obj/item/device/t_scanner/advanced, -/obj/item/device/t_scanner/advanced, +/obj/item/smes_coil, +/obj/item/smes_coil, +/obj/item/t_scanner/advanced, +/obj/item/t_scanner/advanced, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -808,33 +808,33 @@ }, /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/gun/energy/taser, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, /turf/simulated/floor/tiled{ icon_state = "dark" }, /area/centcom/specops) "cE" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) +/obj/item/storage/box/survival/comp{ + starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) +/obj/item/storage/box/survival/comp{ + starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) +/obj/item/storage/box/survival/comp{ + starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) +/obj/item/storage/box/survival/comp{ + starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) +/obj/item/storage/box/survival/comp{ + starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) +/obj/item/storage/box/survival/comp{ + starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, /turf/simulated/floor/tiled{ icon_state = "dark" @@ -908,10 +908,10 @@ /area/centcom/medical) "cL" = ( /obj/structure/table/reinforced, -/obj/item/device/healthanalyzer/phasic, -/obj/item/device/healthanalyzer/phasic, -/obj/item/device/healthanalyzer/phasic, -/obj/item/device/healthanalyzer/phasic, +/obj/item/healthanalyzer/phasic, +/obj/item/healthanalyzer/phasic, +/obj/item/healthanalyzer/phasic, +/obj/item/healthanalyzer/phasic, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "cN" = ( @@ -922,17 +922,17 @@ /area/shuttle/ccboat) "cO" = ( /obj/structure/table/rack, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/melee/energy/sword/blue, -/obj/item/weapon/melee/energy/sword/blue, -/obj/item/weapon/melee/energy/sword/blue, -/obj/item/weapon/melee/energy/sword/blue, -/obj/item/weapon/melee/energy/sword/blue, +/obj/item/melee/energy/sword/blue, +/obj/item/melee/energy/sword/blue, +/obj/item/melee/energy/sword/blue, +/obj/item/melee/energy/sword/blue, +/obj/item/melee/energy/sword/blue, /obj/effect/floor_decal/industrial/outline/yellow, /obj/structure/window/reinforced{ dir = 1 @@ -946,11 +946,11 @@ /area/centcom/specops) "cR" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/toxin{ +/obj/item/storage/firstaid/toxin{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/firstaid/toxin, +/obj/item/storage/firstaid/toxin, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "cT" = ( @@ -969,19 +969,19 @@ dir = 1 }, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/energy/stunrevolver, -/obj/item/weapon/gun/energy/stunrevolver, -/obj/item/weapon/gun/energy/stunrevolver, -/obj/item/weapon/gun/energy/stunrevolver, +/obj/item/gun/energy/stunrevolver, +/obj/item/gun/energy/stunrevolver, +/obj/item/gun/energy/stunrevolver, +/obj/item/gun/energy/stunrevolver, /turf/simulated/floor/tiled{ icon_state = "dark" }, /area/centcom/specops) "da" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/flashbangs, -/obj/item/weapon/storage/box/flashbangs, -/obj/item/weapon/storage/box/emps{ +/obj/item/storage/box/flashbangs, +/obj/item/storage/box/flashbangs, +/obj/item/storage/box/emps{ pixel_x = 4; pixel_y = 4 }, @@ -991,8 +991,8 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/storage/box/smokes, -/obj/item/weapon/storage/box/smokes, +/obj/item/storage/box/smokes, +/obj/item/storage/box/smokes, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled{ icon_state = "dark" @@ -1000,55 +1000,55 @@ /area/centcom/specops) "db" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/handcuffs{ +/obj/item/storage/box/handcuffs{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/box/handcuffs, +/obj/item/storage/box/handcuffs, /turf/simulated/floor/tiled{ icon_state = "dark" }, /area/centcom/specops) "dc" = ( /obj/structure/table/reinforced, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, /turf/simulated/floor/tiled{ icon_state = "dark" }, /area/centcom/specops) "dd" = ( /obj/structure/table/reinforced, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -1084,12 +1084,12 @@ /area/centcom) "dl" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -1098,7 +1098,7 @@ /turf/simulated/shuttle/wall, /area/centcom/terminal) "dn" = ( -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 2; pixel_y = 6 }, @@ -1111,8 +1111,8 @@ /area/centcom/control) "dr" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/gun/burst, -/obj/item/weapon/gun/energy/gun/burst, +/obj/item/gun/energy/gun/burst, +/obj/item/gun/energy/gun/burst, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "ds" = ( @@ -1127,82 +1127,82 @@ /area/centcom/specops) "du" = ( /obj/structure/table/rack, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "dv" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/gun/compact, -/obj/item/weapon/gun/energy/gun/compact, -/obj/item/device/flash, -/obj/item/device/flash, +/obj/item/gun/energy/gun/compact, +/obj/item/gun/energy/gun/compact, +/obj/item/flash, +/obj/item/flash, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "dw" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/launcher/grenade, -/obj/item/weapon/gun/launcher/grenade, +/obj/item/gun/launcher/grenade, +/obj/item/gun/launcher/grenade, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "dx" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/frags, -/obj/item/weapon/storage/box/frags, -/obj/item/weapon/storage/box/teargas, -/obj/item/weapon/storage/box/teargas, -/obj/item/weapon/storage/box/empslite, -/obj/item/weapon/storage/box/empslite, +/obj/item/storage/box/frags, +/obj/item/storage/box/frags, +/obj/item/storage/box/teargas, +/obj/item/storage/box/teargas, +/obj/item/storage/box/empslite, +/obj/item/storage/box/empslite, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "dy" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/pulse_rifle, -/obj/item/weapon/gun/energy/pulse_rifle, -/obj/item/weapon/gun/energy/pulse_rifle, -/obj/item/weapon/gun/energy/pulse_rifle, -/obj/item/weapon/gun/energy/pulse_rifle, +/obj/item/gun/energy/pulse_rifle, +/obj/item/gun/energy/pulse_rifle, +/obj/item/gun/energy/pulse_rifle, +/obj/item/gun/energy/pulse_rifle, +/obj/item/gun/energy/pulse_rifle, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "dz" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/combat{ +/obj/item/storage/firstaid/combat{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/firstaid/combat, +/obj/item/storage/firstaid/combat, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "dA" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/bodybags{ +/obj/item/storage/box/bodybags{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/box/bodybags, +/obj/item/storage/box/bodybags, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "dB" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "dC" = ( /obj/structure/table/rack, /obj/structure/window/reinforced, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -1210,8 +1210,8 @@ "dD" = ( /obj/structure/table/rack, /obj/structure/window/reinforced, -/obj/item/weapon/gun/projectile/revolver/detective45, -/obj/item/weapon/gun/projectile/revolver/detective45, +/obj/item/gun/projectile/revolver/detective45, +/obj/item/gun/projectile/revolver/detective45, /obj/item/ammo_magazine/s45, /obj/item/ammo_magazine/s45, /obj/item/ammo_magazine/s45, @@ -1250,10 +1250,10 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/gun/projectile/p92x, -/obj/item/weapon/gun/projectile/p92x, -/obj/item/weapon/gun/projectile/p92x, -/obj/item/weapon/gun/projectile/p92x, +/obj/item/gun/projectile/p92x, +/obj/item/gun/projectile/p92x, +/obj/item/gun/projectile/p92x, +/obj/item/gun/projectile/p92x, /obj/item/ammo_magazine/m9mm/large/preban, /obj/item/ammo_magazine/m9mm/large/preban, /obj/item/ammo_magazine/m9mm/large/preban, @@ -1274,11 +1274,11 @@ /area/shuttle/ccboat) "dU" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/firstaid/o2, +/obj/item/storage/firstaid/o2, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "dV" = ( @@ -1305,7 +1305,7 @@ /obj/structure/bed/chair/bay/shuttle{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_x = -32; pixel_y = 24 @@ -1333,7 +1333,7 @@ /area/centcom/control) "ef" = ( /obj/structure/bed/chair, -/obj/item/weapon/handcuffs, +/obj/item/handcuffs, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -1350,9 +1350,9 @@ /area/centcom/control) "ej" = ( /obj/structure/table/reinforced, -/obj/item/device/megaphone, -/obj/item/weapon/storage/box/trackimp, -/obj/item/weapon/storage/box/cdeathalarm_kit, +/obj/item/megaphone, +/obj/item/storage/box/trackimp, +/obj/item/storage/box/cdeathalarm_kit, /turf/simulated/floor/wood, /area/centcom/specops) "ek" = ( @@ -1363,12 +1363,12 @@ /obj/item/taperoll/police, /obj/item/taperoll/police, /obj/item/taperoll/police, -/obj/item/device/flash, -/obj/item/device/flash, -/obj/item/device/flash, -/obj/item/device/flash, -/obj/item/device/flash, -/obj/item/device/flash, +/obj/item/flash, +/obj/item/flash, +/obj/item/flash, +/obj/item/flash, +/obj/item/flash, +/obj/item/flash, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -1377,7 +1377,7 @@ /obj/structure/table/rack, /obj/item/clothing/suit/armor/vest/ert/command, /obj/item/clothing/head/helmet/ert/command, -/obj/item/weapon/storage/backpack/ert/commander, +/obj/item/storage/backpack/ert/commander, /turf/simulated/floor/wood, /area/centcom/specops) "em" = ( @@ -1385,7 +1385,7 @@ /area/centcom/control) "en" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/secure/briefcase/nsfw_pack_hybrid, +/obj/item/storage/secure/briefcase/nsfw_pack_hybrid, /turf/simulated/floor/wood, /area/centcom/specops) "ep" = ( @@ -1422,11 +1422,11 @@ /area/centcom/specops) "ex" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/firstaid/adv, +/obj/item/storage/firstaid/adv, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "ey" = ( @@ -1462,10 +1462,10 @@ /obj/item/clothing/head/helmet/ert/medical, /obj/item/clothing/head/helmet/ert/medical, /obj/item/clothing/head/helmet/ert/medical, -/obj/item/weapon/storage/backpack/ert/medical, -/obj/item/weapon/storage/backpack/ert/medical, -/obj/item/weapon/storage/backpack/ert/medical, -/obj/item/weapon/storage/backpack/ert/medical, +/obj/item/storage/backpack/ert/medical, +/obj/item/storage/backpack/ert/medical, +/obj/item/storage/backpack/ert/medical, +/obj/item/storage/backpack/ert/medical, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "eI" = ( @@ -1499,9 +1499,9 @@ /area/tdome/tdomeobserve) "eR" = ( /obj/structure/table/reinforced, -/obj/item/device/aicard, -/obj/item/weapon/pinpointer/advpinpointer, -/obj/item/weapon/stamp/centcomm, +/obj/item/aicard, +/obj/item/pinpointer/advpinpointer, +/obj/item/stamp/centcomm, /turf/simulated/floor/wood, /area/centcom/specops) "eS" = ( @@ -1516,7 +1516,7 @@ /obj/item/clothing/accessory/holster/hip, /obj/item/ammo_magazine/m44, /obj/item/ammo_magazine/m44, -/obj/item/weapon/gun/projectile/deagle, +/obj/item/gun/projectile/deagle, /turf/simulated/floor/wood, /area/centcom/specops) "eU" = ( @@ -1528,9 +1528,9 @@ /area/centcom/specops) "eV" = ( /obj/structure/table/reinforced, -/obj/item/device/pda/ert, -/obj/item/device/perfect_tele, -/obj/item/weapon/hand_tele, +/obj/item/pda/ert, +/obj/item/perfect_tele, +/obj/item/hand_tele, /turf/simulated/floor/wood, /area/centcom/specops) "eX" = ( @@ -1551,7 +1551,7 @@ name = "\improper CentCom Residential Security" }) "eZ" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/corner/yellow/diagonal, /obj/effect/floor_decal/corner/blue/diagonal{ dir = 4 @@ -1573,12 +1573,12 @@ /area/centcom) "fj" = ( /obj/structure/table/reinforced, -/obj/item/device/pda/ert, -/obj/item/device/pda/ert, -/obj/item/device/pda/ert, -/obj/item/device/pda/ert, -/obj/item/device/pda/ert, -/obj/item/device/pda/ert, +/obj/item/pda/ert, +/obj/item/pda/ert, +/obj/item/pda/ert, +/obj/item/pda/ert, +/obj/item/pda/ert, +/obj/item/pda/ert, /obj/effect/floor_decal/corner/blue{ dir = 5 }, @@ -1619,12 +1619,12 @@ /area/centcom/evac) "fs" = ( /obj/structure/table/reinforced, -/obj/item/device/megaphone, -/obj/item/device/megaphone, -/obj/item/device/megaphone, -/obj/item/device/megaphone, -/obj/item/device/megaphone, -/obj/item/device/megaphone, +/obj/item/megaphone, +/obj/item/megaphone, +/obj/item/megaphone, +/obj/item/megaphone, +/obj/item/megaphone, +/obj/item/megaphone, /obj/effect/floor_decal/corner/blue{ dir = 5 }, @@ -1719,25 +1719,25 @@ /area/centcom/specops) "fJ" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/flashbangs, -/obj/item/weapon/handcuffs, -/obj/item/device/flash, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/gun/energy/stunrevolver, +/obj/item/storage/box/flashbangs, +/obj/item/handcuffs, +/obj/item/flash, +/obj/item/melee/baton/loaded, +/obj/item/storage/belt/security/tactical, +/obj/item/gun/energy/stunrevolver, /obj/item/clothing/glasses/sunglasses/sechud/tactical, -/obj/item/weapon/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, /turf/simulated/floor/wood, /area/centcom/specops) "fL" = ( /obj/structure/table/rack, -/obj/item/weapon/rig/ert, +/obj/item/rig/ert, /obj/item/clothing/accessory/storage/black_vest, /turf/simulated/floor/wood, /area/centcom/specops) "fM" = ( /obj/structure/table/reinforced, -/obj/item/weapon/gun/energy/gun/nuclear, +/obj/item/gun/energy/gun/nuclear, /turf/simulated/floor/wood, /area/centcom/specops) "fP" = ( @@ -1749,8 +1749,8 @@ /area/centcom/main_hall) "fR" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/secure/briefcase/nsfw_pack_hybrid_combat, -/obj/item/weapon/storage/secure/briefcase/nsfw_pack_hybrid_combat, +/obj/item/storage/secure/briefcase/nsfw_pack_hybrid_combat, +/obj/item/storage/secure/briefcase/nsfw_pack_hybrid_combat, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "fS" = ( @@ -1760,17 +1760,17 @@ }, /area/centcom/specops) "fT" = ( -/obj/item/weapon/circuitboard/aiupload, -/obj/item/weapon/circuitboard/borgupload, -/obj/item/weapon/circuitboard/smes, -/obj/item/weapon/aiModule/nanotrasen, -/obj/item/weapon/aiModule/reset, -/obj/item/weapon/aiModule/freeformcore, -/obj/item/weapon/aiModule/protectStation, -/obj/item/weapon/aiModule/quarantine, -/obj/item/weapon/aiModule/paladin, -/obj/item/weapon/aiModule/robocop, -/obj/item/weapon/aiModule/safeguard, +/obj/item/circuitboard/aiupload, +/obj/item/circuitboard/borgupload, +/obj/item/circuitboard/smes, +/obj/item/aiModule/nanotrasen, +/obj/item/aiModule/reset, +/obj/item/aiModule/freeformcore, +/obj/item/aiModule/protectStation, +/obj/item/aiModule/quarantine, +/obj/item/aiModule/paladin, +/obj/item/aiModule/robocop, +/obj/item/aiModule/safeguard, /obj/structure/table/steel_reinforced, /turf/simulated/floor/tiled{ icon_state = "dark" @@ -1789,12 +1789,12 @@ /obj/item/clothing/glasses/welding/superior, /obj/structure/table/steel_reinforced, /obj/item/clothing/glasses/welding/superior, -/obj/item/weapon/grenade/chem_grenade/metalfoam, -/obj/item/weapon/grenade/chem_grenade/metalfoam, -/obj/item/weapon/grenade/chem_grenade/metalfoam, -/obj/item/weapon/grenade/chem_grenade/metalfoam, -/obj/item/weapon/grenade/chem_grenade/metalfoam, -/obj/item/weapon/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -1824,11 +1824,11 @@ /area/centcom/specops) "ga" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/syringes{ +/obj/item/storage/box/syringes{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/box/syringes, +/obj/item/storage/box/syringes, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "gb" = ( @@ -1859,31 +1859,31 @@ /obj/item/clothing/head/helmet/ert/security, /obj/item/clothing/head/helmet/ert/security, /obj/item/clothing/head/helmet/ert/security, -/obj/item/weapon/storage/backpack/ert/security, -/obj/item/weapon/storage/backpack/ert/security, -/obj/item/weapon/storage/backpack/ert/security, -/obj/item/weapon/storage/backpack/ert/security, +/obj/item/storage/backpack/ert/security, +/obj/item/storage/backpack/ert/security, +/obj/item/storage/backpack/ert/security, +/obj/item/storage/backpack/ert/security, /turf/simulated/floor/tiled{ icon_state = "dark" }, /area/centcom/specops) "gd" = ( /obj/structure/table/rack, -/obj/item/weapon/rig/ert/security, -/obj/item/weapon/rig/ert/security, -/obj/item/weapon/rig/ert/security, -/obj/item/weapon/rig/ert/security, -/obj/item/weapon/rig/ert/security, -/obj/item/weapon/rig/ert/security, +/obj/item/rig/ert/security, +/obj/item/rig/ert/security, +/obj/item/rig/ert/security, +/obj/item/rig/ert/security, +/obj/item/rig/ert/security, +/obj/item/rig/ert/security, /turf/simulated/floor/tiled{ icon_state = "dark" }, /area/centcom/specops) "ge" = ( /obj/structure/table/reinforced, -/obj/item/weapon/stamp/centcomm, -/obj/item/weapon/pen, -/obj/item/weapon/paper_bin{ +/obj/item/stamp/centcomm, +/obj/item/pen, +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, @@ -1911,7 +1911,7 @@ /obj/machinery/vending/cigarette{ name = "hacked cigarette machine"; prices = list(); - products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) + products = list(/obj/item/storage/fancy/cigarettes = 10, /obj/item/storage/box/matches = 10, /obj/item/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) }, /turf/simulated/floor/wood, /area/centcom/specops) @@ -1993,12 +1993,12 @@ /obj/item/clothing/gloves/yellow, /obj/item/clothing/gloves/yellow, /obj/item/clothing/gloves/yellow, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/weapon/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -2075,19 +2075,19 @@ /obj/item/stack/material/glass/reinforced{ amount = 50 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 3 }, @@ -2109,8 +2109,8 @@ /area/centcom/holding) "gC" = ( /obj/structure/table/reinforced, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/device/taperecorder, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/taperecorder, /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/blue/border, /turf/simulated/floor/tiled/dark, @@ -2137,8 +2137,8 @@ /obj/item/clothing/shoes/brown, /obj/item/clothing/suit/armor/tdome/green, /obj/item/clothing/head/helmet/thunderdome, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/energy/sword/green, +/obj/item/melee/baton/loaded, +/obj/item/melee/energy/sword/green, /turf/unsimulated/floor/techfloor_grid, /area/tdome/tdome1) "gR" = ( @@ -2160,13 +2160,13 @@ /obj/item/clothing/mask/gas, /obj/item/clothing/mask/gas, /obj/effect/floor_decal/industrial/outline/blue, -/obj/item/weapon/storage/box/traumainjectors, +/obj/item/storage/box/traumainjectors, /turf/simulated/floor/tiled{ icon_state = "dark" }, /area/centcom/specops) "gV" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ broadcasting = 1; dir = 1; frequency = 1443; @@ -2245,18 +2245,18 @@ "hl" = ( /obj/structure/table/reinforced, /obj/effect/floor_decal/industrial/outline/blue, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -2276,10 +2276,10 @@ /area/centcom/control) "hq" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/gun/compact, -/obj/item/weapon/gun/energy/gun/compact, -/obj/item/device/flash, -/obj/item/device/flash, +/obj/item/gun/energy/gun/compact, +/obj/item/gun/energy/gun/compact, +/obj/item/flash, +/obj/item/flash, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -2345,7 +2345,7 @@ }, /area/centcom/specops) "hE" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/wood, /area/centcom/specops) "hF" = ( @@ -2373,7 +2373,7 @@ }, /area/centcom/specops) "hH" = ( -/obj/item/device/perfect_tele_beacon/stationary{ +/obj/item/perfect_tele_beacon/stationary{ tele_name = "CentCom"; tele_network = "centcom" }, @@ -2506,7 +2506,7 @@ }, /area/centcom/control) "il" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/corner/yellow/diagonal, /obj/effect/floor_decal/corner/blue/diagonal{ dir = 4 @@ -2556,10 +2556,10 @@ /obj/item/clothing/head/helmet/ert/engineer, /obj/item/clothing/head/helmet/ert/engineer, /obj/item/clothing/head/helmet/ert/engineer, -/obj/item/weapon/storage/backpack/ert/engineer, -/obj/item/weapon/storage/backpack/ert/engineer, -/obj/item/weapon/storage/backpack/ert/engineer, -/obj/item/weapon/storage/backpack/ert/engineer, +/obj/item/storage/backpack/ert/engineer, +/obj/item/storage/backpack/ert/engineer, +/obj/item/storage/backpack/ert/engineer, +/obj/item/storage/backpack/ert/engineer, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -2572,9 +2572,9 @@ /area/centcom/terminal) "is" = ( /obj/structure/table/rack, -/obj/item/weapon/rig/ert/engineer, -/obj/item/weapon/rig/ert/engineer, -/obj/item/weapon/rig/ert/engineer, +/obj/item/rig/ert/engineer, +/obj/item/rig/ert/engineer, +/obj/item/rig/ert/engineer, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -2617,24 +2617,24 @@ /area/centcom/control) "iy" = ( /obj/structure/table/reinforced, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, /turf/simulated/floor/tiled{ icon_state = "dark" }, /area/centcom/specops) "iz" = ( -/obj/item/weapon/gun/energy/sizegun, +/obj/item/gun/energy/sizegun, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -2677,7 +2677,7 @@ /turf/simulated/floor/tiled/white, /area/centcom/control) "iL" = ( -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -2755,24 +2755,24 @@ /area/centcom/control) "ja" = ( /obj/structure/table/reinforced, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -2791,9 +2791,9 @@ /area/tdome/tdomeobserve) "jd" = ( /obj/structure/table/reinforced, -/obj/item/device/binoculars, -/obj/item/device/survivalcapsule, -/obj/item/device/survivalcapsule, +/obj/item/binoculars, +/obj/item/survivalcapsule, +/obj/item/survivalcapsule, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -2844,15 +2844,15 @@ /area/centcom/control) "jo" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/handcuffs{ +/obj/item/storage/box/handcuffs{ pixel_x = 8; pixel_y = 6 }, -/obj/item/weapon/storage/box/chemimp{ +/obj/item/storage/box/chemimp{ pixel_x = 4; pixel_y = 3 }, -/obj/item/weapon/storage/box/trackimp, +/obj/item/storage/box/trackimp, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/dark, /area/centcom/security) @@ -2868,7 +2868,7 @@ /area/centcom/control) "ju" = ( /obj/machinery/r_n_d/circuit_imprinter, -/obj/item/weapon/reagent_containers/glass/beaker/sulphuric, +/obj/item/reagent_containers/glass/beaker/sulphuric, /turf/simulated/floor/tiled/white, /area/centcom/control) "jw" = ( @@ -2877,9 +2877,9 @@ /turf/simulated/floor/plating, /area/centcom/terminal) "jx" = ( -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, /obj/structure/table/standard, /turf/unsimulated/floor/steel, /area/tdome/tdomeobserve) @@ -2926,8 +2926,8 @@ /area/tdome/tdomeadmin) "jJ" = ( /obj/structure/table/reinforced, -/obj/item/device/camera, -/obj/item/weapon/storage/box/ids, +/obj/item/camera, +/obj/item/storage/box/ids, /obj/effect/floor_decal/borderfloorblack{ dir = 6 }, @@ -3011,7 +3011,7 @@ /turf/simulated/floor/tiled, /area/centcom/control) "kh" = ( -/obj/item/weapon/melee/baton/cattleprod, +/obj/item/melee/baton/cattleprod, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -3059,13 +3059,13 @@ /turf/simulated/floor/tiled, /area/centcom/control) "kp" = ( -/obj/item/weapon/folder/white, +/obj/item/folder/white, /obj/structure/table/standard, -/obj/item/weapon/disk/tech_disk, -/obj/item/weapon/disk/tech_disk, -/obj/item/weapon/disk/design_disk, -/obj/item/weapon/disk/design_disk, -/obj/item/weapon/reagent_containers/dropper{ +/obj/item/disk/tech_disk, +/obj/item/disk/tech_disk, +/obj/item/disk/design_disk, +/obj/item/disk/design_disk, +/obj/item/reagent_containers/dropper{ pixel_y = -4 }, /obj/effect/floor_decal/borderfloorwhite{ @@ -3084,11 +3084,11 @@ /area/centcom/specops) "kr" = ( /obj/structure/table/standard, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, @@ -3163,7 +3163,7 @@ /obj/structure/reagent_dispensers/acid{ pixel_y = -30 }, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_x = -2; pixel_y = -1 }, @@ -3190,12 +3190,12 @@ /obj/item/clothing/shoes/magboots, /obj/item/clothing/shoes/magboots, /obj/item/clothing/shoes/magboots, -/obj/item/weapon/storage/box, -/obj/item/weapon/storage/box, -/obj/item/weapon/storage/box, -/obj/item/weapon/storage/box, -/obj/item/weapon/storage/box, -/obj/item/weapon/storage/box, +/obj/item/storage/box, +/obj/item/storage/box, +/obj/item/storage/box, +/obj/item/storage/box, +/obj/item/storage/box, +/obj/item/storage/box, /obj/effect/floor_decal/industrial/outline/blue, /turf/simulated/floor/tiled{ icon_state = "dark" @@ -3214,15 +3214,15 @@ /area/centcom/specops) "kP" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/glass/bottle/biomass{ +/obj/item/reagent_containers/glass/bottle/biomass{ pixel_x = -4; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/glass/bottle/biomass{ +/obj/item/reagent_containers/glass/bottle/biomass{ pixel_x = -3; pixel_y = -2 }, -/obj/item/weapon/reagent_containers/glass/bottle/biomass{ +/obj/item/reagent_containers/glass/bottle/biomass{ pixel_x = 3; pixel_y = 5 }, @@ -3273,19 +3273,19 @@ /turf/simulated/wall/rshull, /area/shuttle/ccboat) "lb" = ( -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 3 }, @@ -3317,14 +3317,14 @@ /area/centcom/specops) "lf" = ( /obj/structure/table/rack, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, /obj/effect/floor_decal/industrial/outline/blue, /turf/simulated/floor/tiled{ icon_state = "dark" @@ -3338,7 +3338,7 @@ /turf/simulated/floor/tiled/dark, /area/centcom/security) "lh" = ( -/obj/item/device/camera, +/obj/item/camera, /turf/unsimulated/floor/steel, /area/tdome/tdomeobserve) "lj" = ( @@ -3386,7 +3386,7 @@ "lw" = ( /obj/structure/table/standard, /obj/machinery/recharger, -/obj/item/device/flash, +/obj/item/flash, /turf/simulated/floor/tiled, /area/centcom/control) "lx" = ( @@ -3423,7 +3423,7 @@ /obj/effect/floor_decal/industrial/warning{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 27 @@ -3566,7 +3566,7 @@ /obj/structure/table/rack, /obj/item/clothing/under/color/red, /obj/item/clothing/shoes/brown, -/obj/item/weapon/melee/energy/axe, +/obj/item/melee/energy/axe, /turf/unsimulated/floor/techfloor_grid, /area/tdome/tdome1) "mf" = ( @@ -3581,7 +3581,7 @@ /obj/structure/table/rack, /obj/item/clothing/under/color/green, /obj/item/clothing/shoes/brown, -/obj/item/weapon/melee/energy/axe, +/obj/item/melee/energy/axe, /turf/unsimulated/floor/techfloor_grid, /area/tdome/tdome1) "mh" = ( @@ -3608,11 +3608,11 @@ /area/centcom/control) "mk" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled, /area/centcom/control) "ml" = ( @@ -3661,39 +3661,39 @@ /area/centcom/control) "mu" = ( /obj/structure/closet/wardrobe/robotics_black, -/obj/item/device/radio/headset/headset_sci{ +/obj/item/radio/headset/headset_sci{ pixel_x = -3 }, /turf/simulated/floor/tiled, /area/centcom/control) "mw" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 3 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = -4 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8; pixel_y = 12 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = 12 }, @@ -3776,7 +3776,7 @@ /area/centcom/control) "mP" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/belt/utility, +/obj/item/storage/belt/utility, /obj/item/clothing/gloves/sterile/latex, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 @@ -3800,8 +3800,8 @@ /obj/item/clothing/shoes/brown, /obj/item/clothing/suit/armor/tdome/red, /obj/item/clothing/head/helmet/thunderdome, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/energy/sword/red, +/obj/item/melee/baton/loaded, +/obj/item/melee/energy/sword/red, /turf/unsimulated/floor/techfloor_grid, /area/tdome/tdome1) "mX" = ( @@ -3852,10 +3852,10 @@ /area/centcom/control) "nf" = ( /obj/structure/table/standard, -/obj/item/weapon/hand_labeler, -/obj/item/weapon/pen, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, +/obj/item/hand_labeler, +/obj/item/pen, +/obj/item/packageWrap, +/obj/item/packageWrap, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 }, @@ -3886,11 +3886,11 @@ req_access = list(63); req_one_access = list(1) }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/effect/floor_decal/borderfloor{ dir = 8 }, @@ -3920,12 +3920,12 @@ /turf/simulated/floor/tiled, /area/centcom/terminal/tramfluff) "nB" = ( -/obj/item/weapon/stock_parts/console_screen, +/obj/item/stock_parts/console_screen, /obj/structure/table/standard, -/obj/item/weapon/stock_parts/console_screen, -/obj/item/weapon/stock_parts/console_screen, -/obj/item/weapon/stock_parts/matter_bin, -/obj/item/weapon/stock_parts/matter_bin, +/obj/item/stock_parts/console_screen, +/obj/item/stock_parts/console_screen, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/matter_bin, /obj/machinery/recharger, /obj/effect/floor_decal/borderfloorwhite{ dir = 5 @@ -4107,8 +4107,8 @@ dir = 1 }, /obj/machinery/camera/network/crescent, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, /turf/simulated/floor/tiled/white, /area/centcom/medical) "oo" = ( @@ -4149,7 +4149,7 @@ /area/centcom/medical) "os" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/bodybags{ +/obj/item/storage/box/bodybags{ pixel_x = -1; pixel_y = -2 }, @@ -4259,7 +4259,7 @@ /obj/effect/floor_decal/industrial/warning{ dir = 4 }, -/obj/item/weapon/book/manual/robotics_cyborgs{ +/obj/item/book/manual/robotics_cyborgs{ pixel_x = 2; pixel_y = 5 }, @@ -4323,7 +4323,7 @@ /obj/item/modular_computer/console/preset/command{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ broadcasting = 1; dir = 4; frequency = 1443; @@ -4489,7 +4489,7 @@ /area/centcom/medical) "qf" = ( /obj/structure/table/standard, -/obj/item/device/mmi, +/obj/item/mmi, /turf/simulated/floor/tiled, /area/centcom/control) "qg" = ( @@ -4533,7 +4533,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/folder/blue_captain, +/obj/item/folder/blue_captain, /turf/simulated/floor/carpet, /area/centcom/command) "qq" = ( @@ -4585,11 +4585,11 @@ /area/centcom/evac) "qR" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/machinery/button/remote/blast_door{ id = "TelelockdownC"; name = "Teleporter Entrance Lockdown"; @@ -4668,10 +4668,10 @@ }) "ri" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = 5 }, -/obj/item/weapon/pen/multi, +/obj/item/pen/multi, /turf/simulated/floor/tiled, /area/centcom/control) "rj" = ( @@ -4685,15 +4685,15 @@ dir = 4 }, /obj/structure/table/marble, -/obj/item/weapon/book/manual/chef_recipes, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/book/manual/chef_recipes, +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -3 }, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 3 }, -/obj/item/weapon/material/kitchen/rollingpin, -/obj/item/weapon/material/knife/butch, +/obj/item/material/kitchen/rollingpin, +/obj/item/material/knife/butch, /turf/simulated/floor/tiled/white, /area/centcom/control) "rm" = ( @@ -4751,12 +4751,12 @@ /area/shuttle/escape) "rZ" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/circular_saw, -/obj/item/weapon/surgical/scalpel{ +/obj/item/surgical/circular_saw, +/obj/item/surgical/scalpel{ pixel_y = 12 }, -/obj/item/weapon/surgical/hemostat, -/obj/item/weapon/surgical/retractor, +/obj/item/surgical/hemostat, +/obj/item/surgical/retractor, /obj/effect/floor_decal/industrial/warning{ dir = 1 }, @@ -4929,11 +4929,11 @@ /area/centcom) "sW" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/automatic/pdw, -/obj/item/weapon/gun/projectile/automatic/pdw, -/obj/item/weapon/gun/projectile/automatic/pdw, -/obj/item/weapon/gun/projectile/automatic/pdw, -/obj/item/weapon/gun/projectile/automatic/pdw, +/obj/item/gun/projectile/automatic/pdw, +/obj/item/gun/projectile/automatic/pdw, +/obj/item/gun/projectile/automatic/pdw, +/obj/item/gun/projectile/automatic/pdw, +/obj/item/gun/projectile/automatic/pdw, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/dark, /area/centcom/security) @@ -5085,14 +5085,14 @@ pixel_x = -32; req_access = list(29) }, -/obj/item/weapon/tank/anesthetic, -/obj/item/weapon/tank/anesthetic, -/obj/item/weapon/tank/anesthetic, +/obj/item/tank/anesthetic, +/obj/item/tank/anesthetic, +/obj/item/tank/anesthetic, /obj/item/clothing/mask/breath/medical, /obj/item/clothing/mask/breath/medical, /obj/item/clothing/mask/breath/medical, -/obj/item/weapon/storage/box/gloves, -/obj/item/device/defib_kit/jumper_kit, +/obj/item/storage/box/gloves, +/obj/item/defib_kit/jumper_kit, /turf/simulated/floor/tiled{ icon_state = "white" }, @@ -5260,7 +5260,7 @@ "vb" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/projectile/automatic/l6_saw, +/obj/item/gun/projectile/automatic/l6_saw, /turf/simulated/floor/tiled/dark, /area/centcom/security) "vc" = ( @@ -5300,8 +5300,8 @@ /obj/item/clothing/shoes/leg_guard/riot, /obj/item/clothing/suit/armor/riot/alt, /obj/item/clothing/head/helmet/riot, -/obj/item/weapon/shield/riot, -/obj/item/weapon/melee/baton/loaded, +/obj/item/shield/riot, +/obj/item/melee/baton/loaded, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/dark, /area/centcom/security) @@ -5460,11 +5460,11 @@ req_access = list(63); req_one_access = list(1) }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/machinery/button/remote/blast_door{ id = "FrontlockC"; name = "Colony Entrance Lockdown"; @@ -5512,23 +5512,23 @@ /obj/item/clothing/shoes/boots/tactical, /obj/item/clothing/suit/armor/tactical, /obj/item/clothing/under/tactical, -/obj/item/weapon/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, /obj/structure/closet{ desc = "It's a storage unit for standard-issue attire."; name = "tactical equipment" }, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, -/obj/item/weapon/storage/backpack/satchel/sec, +/obj/item/storage/backpack/dufflebag/syndie/ammo, +/obj/item/storage/backpack/satchel/sec, /turf/simulated/floor/tiled/dark, /area/centcom/security) "wg" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, -/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, -/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, -/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, +/obj/item/storage/backpack/dufflebag/syndie/ammo, +/obj/item/storage/backpack/dufflebag/syndie/ammo, +/obj/item/storage/backpack/dufflebag/syndie/ammo, +/obj/item/storage/backpack/dufflebag/syndie/ammo, /turf/simulated/floor/tiled/dark, /area/centcom/security) "wh" = ( @@ -5546,7 +5546,7 @@ /obj/item/clothing/shoes/brown, /obj/item/clothing/suit/armor/vest, /obj/item/clothing/head/helmet/swat, -/obj/item/weapon/gun/energy/laser, +/obj/item/gun/energy/laser, /turf/unsimulated/floor/techfloor_grid, /area/tdome/tdome1) "wj" = ( @@ -5563,7 +5563,7 @@ /obj/item/clothing/shoes/brown, /obj/item/clothing/suit/armor/vest, /obj/item/clothing/head/helmet/swat, -/obj/item/weapon/gun/energy/laser, +/obj/item/gun/energy/laser, /turf/unsimulated/floor/techfloor_grid, /area/tdome/tdome1) "wn" = ( @@ -5603,10 +5603,10 @@ /area/centcom/control) "wz" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/adv, -/obj/item/weapon/storage/firstaid/fire, -/obj/item/weapon/storage/firstaid/o2, -/obj/item/weapon/storage/firstaid/toxin, +/obj/item/storage/firstaid/adv, +/obj/item/storage/firstaid/fire, +/obj/item/storage/firstaid/o2, +/obj/item/storage/firstaid/toxin, /turf/simulated/shuttle/floor/white, /area/shuttle/escape) "wA" = ( @@ -5644,21 +5644,21 @@ /area/shuttle/ccboat) "wP" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/cheeseburger{ +/obj/item/reagent_containers/food/snacks/cheeseburger{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/reagent_containers/food/snacks/cheeseburger, +/obj/item/reagent_containers/food/snacks/cheeseburger, /turf/simulated/floor/wood, /area/centcom/restaurant) "wT" = ( /obj/structure/table/standard, -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/capacitor, -/obj/item/weapon/stock_parts/capacitor, -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/micro_laser, -/obj/item/weapon/stock_parts/micro_laser, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/capacitor, +/obj/item/stock_parts/capacitor, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/micro_laser, +/obj/item/stock_parts/micro_laser, /obj/effect/floor_decal/borderfloorwhite{ dir = 4 }, @@ -5713,7 +5713,7 @@ "xc" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/projectile/heavysniper, +/obj/item/gun/projectile/heavysniper, /turf/simulated/floor/tiled/dark, /area/centcom/security) "xe" = ( @@ -5793,8 +5793,8 @@ "xz" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/projectile/automatic/z8, -/obj/item/weapon/gun/projectile/automatic/z8, +/obj/item/gun/projectile/automatic/z8, +/obj/item/gun/projectile/automatic/z8, /turf/simulated/floor/tiled/dark, /area/centcom/security) "xB" = ( @@ -5844,7 +5844,7 @@ req_access = list(63); req_one_access = list(1) }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled, /area/centcom/command) "xQ" = ( @@ -5866,8 +5866,8 @@ /area/centcom/restaurant) "xS" = ( /obj/structure/table/standard, -/obj/item/device/mmi/digital/posibrain, -/obj/item/device/robotanalyzer, +/obj/item/mmi/digital/posibrain, +/obj/item/robotanalyzer, /turf/simulated/floor/tiled, /area/centcom/control) "xU" = ( @@ -5888,7 +5888,7 @@ /obj/effect/floor_decal/corner/blue/border{ dir = 9 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; frequency = 1475; name = "Station Intercom (Security)"; @@ -5927,7 +5927,7 @@ "yj" = ( /obj/effect/floor_decal/industrial/outline/yellow, /obj/structure/table/rack, -/obj/item/weapon/gun/energy/gun/nuclear, +/obj/item/gun/energy/gun/nuclear, /turf/simulated/floor/tiled/dark, /area/centcom/security) "yy" = ( @@ -5943,15 +5943,15 @@ /area/shuttle/escape) "yB" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/fries, +/obj/item/reagent_containers/food/snacks/fries, /turf/simulated/floor/wood, /area/centcom/restaurant) "yC" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, +/obj/item/gun/energy/gun, +/obj/item/gun/energy/gun, +/obj/item/gun/energy/gun, /turf/simulated/floor/tiled/dark, /area/centcom/security) "yD" = ( @@ -6036,25 +6036,25 @@ /area/centcom/medical) "yU" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = 8; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = -8; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = 8; pixel_y = 4 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_y = 4 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = -8; pixel_y = 4 }, @@ -6068,7 +6068,7 @@ /area/centcom/restaurant) "yX" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/green, +/obj/item/bedsheet/green, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 }, @@ -6211,11 +6211,11 @@ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/stock_parts/scanning_module{ +/obj/item/stock_parts/scanning_module{ pixel_x = 2; pixel_y = 3 }, -/obj/item/weapon/stock_parts/scanning_module, +/obj/item/stock_parts/scanning_module, /obj/machinery/light{ dir = 4 }, @@ -6246,21 +6246,21 @@ /area/centcom) "Ab" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/shotgun/pump/USDF, -/obj/item/weapon/gun/projectile/shotgun/pump/USDF, -/obj/item/weapon/gun/projectile/shotgun/pump/USDF, -/obj/item/weapon/gun/projectile/shotgun/pump/USDF, -/obj/item/weapon/gun/projectile/shotgun/pump/USDF, +/obj/item/gun/projectile/shotgun/pump/USDF, +/obj/item/gun/projectile/shotgun/pump/USDF, +/obj/item/gun/projectile/shotgun/pump/USDF, +/obj/item/gun/projectile/shotgun/pump/USDF, +/obj/item/gun/projectile/shotgun/pump/USDF, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/dark, /area/centcom/security) "Ac" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/automatic/wt550/lethal, -/obj/item/weapon/gun/projectile/automatic/wt550/lethal, -/obj/item/weapon/gun/projectile/automatic/wt550/lethal, -/obj/item/weapon/gun/projectile/automatic/wt550/lethal, -/obj/item/weapon/gun/projectile/automatic/wt550/lethal, +/obj/item/gun/projectile/automatic/wt550/lethal, +/obj/item/gun/projectile/automatic/wt550/lethal, +/obj/item/gun/projectile/automatic/wt550/lethal, +/obj/item/gun/projectile/automatic/wt550/lethal, +/obj/item/gun/projectile/automatic/wt550/lethal, /obj/effect/floor_decal/industrial/outline/yellow, /obj/machinery/camera/network/crescent, /turf/simulated/floor/tiled/dark, @@ -6305,7 +6305,7 @@ dir = 1 }, /obj/structure/table/woodentable, -/obj/item/weapon/storage/box/handcuffs, +/obj/item/storage/box/handcuffs, /turf/simulated/floor/tiled/dark, /area/centcom/command) "Ak" = ( @@ -6375,20 +6375,20 @@ /area/centcom/security) "AF" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, -/obj/item/weapon/flame/lighter/zippo, -/obj/item/weapon/storage/fancy/cigarettes, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/flame/lighter/zippo, +/obj/item/storage/fancy/cigarettes, /turf/unsimulated/floor/steel, /area/tdome/tdomeobserve) "AG" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/captain, +/obj/item/bedsheet/captain, /turf/simulated/floor/carpet, /area/centcom/control) "AH" = ( -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, /obj/structure/table/standard, /obj/effect/floor_decal/corner/yellow/diagonal, /obj/effect/floor_decal/corner/blue/diagonal{ @@ -6407,11 +6407,11 @@ /area/centcom/medical) "AJ" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen/blue, +/obj/item/pen/blue, /turf/simulated/floor/tiled, /area/centcom/control) "AK" = ( @@ -6535,11 +6535,11 @@ /area/centcom/terminal/tramfluff) "BR" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/shotgun/pump, -/obj/item/weapon/gun/projectile/shotgun/pump, -/obj/item/weapon/gun/projectile/shotgun/pump, -/obj/item/weapon/gun/projectile/shotgun/pump, -/obj/item/weapon/gun/projectile/shotgun/pump, +/obj/item/gun/projectile/shotgun/pump, +/obj/item/gun/projectile/shotgun/pump, +/obj/item/gun/projectile/shotgun/pump, +/obj/item/gun/projectile/shotgun/pump, +/obj/item/gun/projectile/shotgun/pump, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/dark, /area/centcom/security) @@ -6642,7 +6642,7 @@ /obj/effect/floor_decal/corner/blue/border{ dir = 9 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; frequency = 1475; name = "Station Intercom (Security)"; @@ -6748,7 +6748,7 @@ dir = 1 }, /obj/structure/table/glass, -/obj/item/weapon/storage/box/monkeycubes, +/obj/item/storage/box/monkeycubes, /obj/effect/floor_decal/borderfloorwhite{ dir = 5 }, @@ -6785,11 +6785,11 @@ req_access = list(63); req_one_access = list(1) }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/effect/floor_decal/borderfloorblack{ dir = 9 }, @@ -6830,7 +6830,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/carpet, /area/centcom/command) "Ds" = ( @@ -6956,7 +6956,7 @@ /turf/simulated/floor/tiled/eris/dark/cargo, /area/shuttle/ccboat) "DF" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /turf/simulated/floor/tiled/white, @@ -7023,11 +7023,11 @@ /turf/simulated/floor/tiled, /area/centcom/control) "DL" = ( -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/gloves{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/box/masks, +/obj/item/storage/box/masks, /obj/structure/table/glass, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 @@ -7043,11 +7043,11 @@ /area/shuttle/ccboat) "DO" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/automatic/bullpup, -/obj/item/weapon/gun/projectile/automatic/bullpup, -/obj/item/weapon/gun/projectile/automatic/bullpup, -/obj/item/weapon/gun/projectile/automatic/bullpup, -/obj/item/weapon/gun/projectile/automatic/bullpup, +/obj/item/gun/projectile/automatic/bullpup, +/obj/item/gun/projectile/automatic/bullpup, +/obj/item/gun/projectile/automatic/bullpup, +/obj/item/gun/projectile/automatic/bullpup, +/obj/item/gun/projectile/automatic/bullpup, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/dark, /area/centcom/security) @@ -7096,7 +7096,7 @@ /area/centcom/security) "DU" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = 10; pixel_y = 12 }, @@ -7161,7 +7161,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /obj/structure/table/glass, -/obj/item/weapon/storage/firstaid/fire, +/obj/item/storage/firstaid/fire, /turf/simulated/floor/tiled/white, /area/centcom/medical) "Ef" = ( @@ -7178,7 +7178,7 @@ "Eg" = ( /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/green/border, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /turf/simulated/floor/tiled/white, @@ -7192,18 +7192,18 @@ /area/centcom/control) "Ei" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/green, +/obj/item/bedsheet/green, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/green/border, /turf/simulated/floor/tiled/white, /area/centcom/medical) "Ek" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, +/obj/item/gun/energy/laser, +/obj/item/gun/energy/laser, +/obj/item/gun/energy/laser, +/obj/item/gun/energy/laser, +/obj/item/gun/energy/laser, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/dark, /area/centcom/security) @@ -7307,7 +7307,7 @@ req_access = list(101) }, /obj/structure/table/reinforced, -/obj/item/device/pda/captain, +/obj/item/pda/captain, /turf/simulated/floor/tiled, /area/centcom/control) "EB" = ( @@ -7373,11 +7373,11 @@ /area/centcom/medical) "EM" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/automatic/battlerifle, -/obj/item/weapon/gun/projectile/automatic/battlerifle, -/obj/item/weapon/gun/projectile/automatic/battlerifle, -/obj/item/weapon/gun/projectile/automatic/battlerifle, -/obj/item/weapon/gun/projectile/automatic/battlerifle, +/obj/item/gun/projectile/automatic/battlerifle, +/obj/item/gun/projectile/automatic/battlerifle, +/obj/item/gun/projectile/automatic/battlerifle, +/obj/item/gun/projectile/automatic/battlerifle, +/obj/item/gun/projectile/automatic/battlerifle, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/dark, /area/centcom/security) @@ -7390,12 +7390,12 @@ /area/centcom/evac) "EQ" = ( /obj/structure/table/standard, -/obj/item/device/taperecorder, -/obj/item/device/megaphone, -/obj/item/weapon/packageWrap, -/obj/item/weapon/storage/box, -/obj/item/weapon/hand_labeler, -/obj/item/device/universal_translator, +/obj/item/taperecorder, +/obj/item/megaphone, +/obj/item/packageWrap, +/obj/item/storage/box, +/obj/item/hand_labeler, +/obj/item/universal_translator, /obj/effect/floor_decal/borderfloor{ dir = 1 }, @@ -7424,12 +7424,12 @@ dir = 4 }, /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/folder/red_hos, -/obj/item/weapon/pen/multi, +/obj/item/folder/red_hos, +/obj/item/pen/multi, /turf/simulated/floor/tiled/dark, /area/centcom/command) "EV" = ( @@ -7506,8 +7506,8 @@ /obj/item/clothing/shoes/leg_guard/riot, /obj/item/clothing/suit/armor/riot/alt, /obj/item/clothing/head/helmet/riot, -/obj/item/weapon/shield/riot, -/obj/item/weapon/melee/baton/loaded, +/obj/item/shield/riot, +/obj/item/melee/baton/loaded, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/dark, /area/centcom/security) @@ -7577,7 +7577,7 @@ /area/centcom/medical) "Fv" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/meatballsoup, +/obj/item/reagent_containers/food/snacks/meatballsoup, /turf/simulated/floor/wood, /area/centcom/restaurant) "Fx" = ( @@ -7596,8 +7596,8 @@ /area/centcom/medical) "Fz" = ( /obj/structure/table/reinforced, -/obj/item/device/camera, -/obj/item/weapon/storage/box/ids, +/obj/item/camera, +/obj/item/storage/box/ids, /obj/effect/floor_decal/borderfloorblack{ dir = 8 }, @@ -7616,16 +7616,16 @@ }) "FC" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{ +/obj/item/reagent_containers/glass/beaker/cryoxadone{ pixel_x = 5; pixel_y = 5 }, -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone, -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{ +/obj/item/reagent_containers/glass/beaker/cryoxadone, +/obj/item/reagent_containers/glass/beaker/cryoxadone{ pixel_x = 7; pixel_y = 1 }, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /obj/effect/floor_decal/borderfloorwhite{ dir = 9 }, @@ -7754,7 +7754,7 @@ /area/centcom/bathroom) "FW" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/handcuffs, +/obj/item/storage/box/handcuffs, /turf/simulated/floor/tiled, /area/centcom/security) "FX" = ( @@ -7889,16 +7889,16 @@ /area/centcom/command) "Gq" = ( /obj/structure/table/steel, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = -6 }, -/obj/item/device/camera{ +/obj/item/camera{ name = "Autopsy Camera"; pixel_x = -2; pixel_y = 7 }, -/obj/item/weapon/pen/red, -/obj/item/weapon/pen/blue{ +/obj/item/pen/red, +/obj/item/pen/blue{ pixel_x = 3; pixel_y = -5 }, @@ -7918,41 +7918,41 @@ "Gs" = ( /obj/structure/table/standard, /obj/machinery/recharger, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon{ pixel_x = -2; pixel_y = -2 }, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -2; pixel_y = -2 }, @@ -8134,8 +8134,8 @@ /area/centcom) "GX" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/hemostat, -/obj/item/weapon/surgical/cautery, +/obj/item/surgical/hemostat, +/obj/item/surgical/cautery, /obj/effect/floor_decal/borderfloorwhite{ dir = 9 }, @@ -8156,7 +8156,7 @@ "Hc" = ( /obj/structure/table/standard, /obj/item/stack/medical/advanced/bruise_pack, -/obj/item/weapon/surgical/retractor, +/obj/item/surgical/retractor, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 }, @@ -8184,10 +8184,10 @@ /area/centcom/evac) "Hg" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/circular_saw{ +/obj/item/surgical/circular_saw{ pixel_y = 8 }, -/obj/item/weapon/surgical/scalpel, +/obj/item/surgical/scalpel, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 }, @@ -8231,15 +8231,15 @@ /area/tdome/tdomeadmin) "Hp" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/surgicaldrill, -/obj/item/weapon/autopsy_scanner, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/surgical/surgicaldrill, +/obj/item/autopsy_scanner, +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/surgical/FixOVein, +/obj/item/surgical/FixOVein, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 }, @@ -8444,7 +8444,7 @@ "HL" = ( /obj/structure/table/standard, /obj/machinery/chemical_dispenser/bar_soft/full, -/obj/item/weapon/storage/box/glasses/square, +/obj/item/storage/box/glasses/square, /obj/effect/floor_decal/borderfloor{ dir = 9 }, @@ -8461,19 +8461,19 @@ /area/centcom/main_hall) "HN" = ( /obj/structure/table/reinforced, -/obj/item/weapon/book/manual/security_space_law, +/obj/item/book/manual/wiki/security_space_law, /turf/simulated/floor/tiled/dark, /area/centcom/security) "HO" = ( /obj/structure/table/standard, /obj/machinery/recharger, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/device/radio/intercom{ +/obj/item/reagent_containers/spray/cleaner, +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 27 }, -/obj/item/weapon/storage/box/donut, +/obj/item/storage/box/donut, /obj/effect/floor_decal/borderfloor{ dir = 1 }, @@ -8505,8 +8505,8 @@ /area/centcom/security) "HV" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/bonesetter, -/obj/item/weapon/surgical/bonegel, +/obj/item/surgical/bonesetter, +/obj/item/surgical/bonegel, /obj/effect/floor_decal/borderfloorwhite{ dir = 8 }, @@ -8628,11 +8628,11 @@ dir = 8 }, /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/blood/OPlus{ +/obj/item/reagent_containers/blood/OPlus{ pixel_x = 4; pixel_y = 2 }, -/obj/item/weapon/reagent_containers/blood/OMinus{ +/obj/item/reagent_containers/blood/OMinus{ pixel_x = -5; pixel_y = -1 }, @@ -8660,7 +8660,7 @@ /obj/effect/floor_decal/corner/blue/bordercorner2{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; frequency = 1475; name = "Station Intercom (Security)"; @@ -8769,7 +8769,7 @@ /area/centcom/security) "IC" = ( /obj/structure/table/woodentable, -/obj/item/weapon/stamp/hos, +/obj/item/stamp/hos, /turf/simulated/floor/tiled/dark, /area/centcom/command) "IE" = ( @@ -8793,7 +8793,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/folder/red_hos, +/obj/item/folder/red_hos, /turf/simulated/floor/carpet, /area/centcom/command) "IH" = ( @@ -8803,7 +8803,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 4 }, @@ -8813,7 +8813,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/device/megaphone, +/obj/item/megaphone, /turf/simulated/floor/carpet, /area/centcom/command) "IM" = ( @@ -8824,14 +8824,14 @@ /obj/item/clothing/shoes/boots/tactical, /obj/item/clothing/suit/armor/tactical, /obj/item/clothing/under/tactical, -/obj/item/weapon/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, /obj/structure/closet{ desc = "It's a storage unit for standard-issue attire."; name = "tactical equipment" }, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/weapon/storage/backpack/dufflebag/syndie/med, -/obj/item/weapon/storage/backpack/satchel/sec, +/obj/item/storage/backpack/dufflebag/syndie/med, +/obj/item/storage/backpack/satchel/sec, /turf/simulated/floor/tiled/dark, /area/centcom/security) "IN" = ( @@ -8918,8 +8918,8 @@ "Ja" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/energy/gun/burst, -/obj/item/weapon/gun/energy/gun/burst, +/obj/item/gun/energy/gun/burst, +/obj/item/gun/energy/gun/burst, /turf/simulated/floor/tiled/dark, /area/centcom/security) "Jb" = ( @@ -8940,13 +8940,13 @@ "Jd" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/energy/lasercannon, -/obj/item/weapon/gun/energy/lasercannon, +/obj/item/gun/energy/lasercannon, +/obj/item/gun/energy/lasercannon, /turf/simulated/floor/tiled/dark, /area/centcom/security) "Je" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/green, +/obj/item/bedsheet/green, /obj/effect/floor_decal/borderfloorwhite{ dir = 5 }, @@ -9018,8 +9018,8 @@ /area/shuttle/ccboat) "Jm" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/box/bodybags, -/obj/item/weapon/storage/box/bodybags, +/obj/item/storage/box/bodybags, +/obj/item/storage/box/bodybags, /obj/effect/floor_decal/steeldecal/steel_decals9{ dir = 1 }, @@ -9043,11 +9043,11 @@ dir = 1; pixel_y = -16 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -1; pixel_y = 5 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled, /area/centcom/command) "Jp" = ( @@ -9064,8 +9064,8 @@ dir = 8 }, /obj/machinery/computer/transhuman/resleeving, -/obj/item/weapon/book/manual/resleeving, -/obj/item/weapon/storage/box/backup_kit, +/obj/item/book/manual/resleeving, +/obj/item/storage/box/backup_kit, /turf/simulated/floor/tiled, /area/centcom/control) "Jr" = ( @@ -9078,7 +9078,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/folder/white_cmo, +/obj/item/folder/white_cmo, /turf/simulated/floor/carpet, /area/centcom/command) "Jt" = ( @@ -9100,7 +9100,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -2; pixel_y = 2 }, @@ -9110,14 +9110,14 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/folder/white_rd, +/obj/item/folder/white_rd, /turf/simulated/floor/carpet, /area/centcom/command) "Jx" = ( /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 3 }, /turf/simulated/floor/carpet, @@ -9132,7 +9132,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/folder/yellow_ce, +/obj/item/folder/yellow_ce, /turf/simulated/floor/carpet, /area/centcom/command) "JD" = ( @@ -9239,7 +9239,7 @@ /area/centcom/security) "JN" = ( /obj/structure/table/reinforced, -/obj/item/weapon/folder/red_hos, +/obj/item/folder/red_hos, /turf/simulated/floor/tiled, /area/centcom/security) "JO" = ( @@ -9288,59 +9288,59 @@ /obj/structure/closet{ name = "robotics parts" }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, -/obj/item/device/assembly/prox_sensor{ +/obj/item/assembly/prox_sensor{ pixel_x = -8; pixel_y = 4 }, -/obj/item/device/assembly/prox_sensor{ +/obj/item/assembly/prox_sensor{ pixel_x = -8; pixel_y = 4 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ empty = 1; name = "First-Aid (empty)" }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ empty = 1; name = "First-Aid (empty)" }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ empty = 1; name = "First-Aid (empty)" }, -/obj/item/device/healthanalyzer, -/obj/item/device/healthanalyzer, -/obj/item/device/healthanalyzer, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, +/obj/item/healthanalyzer, +/obj/item/healthanalyzer, +/obj/item/healthanalyzer, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, /obj/item/stack/cable_coil, /obj/item/stack/cable_coil, /turf/simulated/floor/tiled, @@ -9411,9 +9411,9 @@ /area/centcom/main_hall) "Kg" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/donkpockets, -/obj/item/weapon/storage/box/donkpockets, -/obj/item/weapon/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/blue/border, /turf/simulated/floor/tiled/dark, @@ -9433,15 +9433,15 @@ dir = 4 }, /obj/structure/table/marble, -/obj/item/weapon/book/manual/chef_recipes, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/book/manual/chef_recipes, +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -3 }, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 3 }, -/obj/item/weapon/material/kitchen/rollingpin, -/obj/item/weapon/material/knife/butch, +/obj/item/material/kitchen/rollingpin, +/obj/item/material/knife/butch, /turf/simulated/floor/tiled/white, /area/centcom/bar) "Kj" = ( @@ -9518,7 +9518,7 @@ /turf/simulated/floor/tiled, /area/centcom/terminal/tramfluff) "Kp" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/borderfloor{ dir = 8 }, @@ -9567,12 +9567,12 @@ /turf/simulated/floor/tiled, /area/centcom/holding) "Kt" = ( -/obj/item/weapon/storage/box/syringes{ +/obj/item/storage/box/syringes{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/box/beakers, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/storage/box/beakers, +/obj/item/reagent_containers/dropper, /obj/structure/table/glass, /obj/structure/reagent_dispensers/virusfood{ pixel_y = 28 @@ -9630,8 +9630,8 @@ /area/centcom/security) "KD" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /obj/effect/floor_decal/borderfloorwhite{ dir = 10 }, @@ -9649,8 +9649,8 @@ /area/centcom/control) "KG" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/firstaid/adv, -/obj/item/weapon/storage/firstaid/adv, +/obj/item/storage/firstaid/adv, +/obj/item/storage/firstaid/adv, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled/white, @@ -9749,32 +9749,32 @@ /area/centcom/command) "KV" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 3 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = -4 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8; pixel_y = 12 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = 12 }, @@ -9787,25 +9787,25 @@ /area/centcom/command) "KX" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = 8; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = -8; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = 8; pixel_y = 4 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_y = 4 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = -8; pixel_y = 4 }, @@ -9813,7 +9813,7 @@ /area/centcom/command) "KZ" = ( /obj/structure/table/reinforced, -/obj/item/weapon/book/manual/security_space_law, +/obj/item/book/manual/wiki/security_space_law, /obj/effect/floor_decal/borderfloor{ dir = 8 }, @@ -9865,7 +9865,7 @@ /area/centcom/holding) "Lj" = ( /obj/structure/table/standard, -/obj/item/device/healthanalyzer, +/obj/item/healthanalyzer, /obj/item/stack/medical/bruise_pack{ pixel_x = -4; pixel_y = 3 @@ -9891,7 +9891,7 @@ /turf/simulated/floor/tiled, /area/centcom/terminal) "Ll" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled, /area/centcom/security) "Lm" = ( @@ -9920,12 +9920,12 @@ /area/centcom/security) "Lo" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/syringe/inaprovaline, -/obj/item/weapon/reagent_containers/syringe/inaprovaline{ +/obj/item/reagent_containers/syringe/inaprovaline, +/obj/item/reagent_containers/syringe/inaprovaline{ pixel_x = -2; pixel_y = 5 }, -/obj/item/weapon/reagent_containers/syringe/inaprovaline{ +/obj/item/reagent_containers/syringe/inaprovaline{ pixel_y = 10 }, /obj/effect/floor_decal/borderfloor, @@ -9944,7 +9944,7 @@ /obj/item/bodybag/cryobag{ pixel_x = 6 }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = 5; pixel_y = 5 }, @@ -9958,9 +9958,9 @@ /obj/structure/table/rack{ dir = 4 }, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, /obj/item/clothing/shoes/magboots, /obj/item/clothing/shoes/magboots, /obj/item/clothing/shoes/magboots, @@ -9992,7 +9992,7 @@ /area/centcom/restaurant) "Lw" = ( /obj/structure/table/reinforced, -/obj/item/weapon/book/manual/security_space_law, +/obj/item/book/manual/wiki/security_space_law, /turf/simulated/floor/tiled, /area/centcom/security) "Lx" = ( @@ -10058,7 +10058,7 @@ "LE" = ( /obj/structure/table/standard, /obj/machinery/recharger, -/obj/item/weapon/book/codex, +/obj/item/book/codex, /obj/machinery/recharger/wallcharger{ pixel_x = 4; pixel_y = 26 @@ -10279,7 +10279,7 @@ /area/centcom/medical) "Me" = ( /obj/structure/table/glass, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -1; pixel_y = 3 }, @@ -10297,11 +10297,11 @@ dir = 8; pixel_x = 16 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -1; pixel_y = 5 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled, /area/centcom/command) "Ml" = ( @@ -10352,7 +10352,7 @@ /area/centcom/security) "Mr" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/grilledcheese, +/obj/item/reagent_containers/food/snacks/grilledcheese, /turf/simulated/floor/wood, /area/centcom/restaurant) "Ms" = ( @@ -10492,18 +10492,18 @@ /obj/effect/floor_decal/corner/paleblue/border{ dir = 8 }, -/obj/item/weapon/backup_implanter{ +/obj/item/backup_implanter{ pixel_y = -8 }, -/obj/item/weapon/backup_implanter{ +/obj/item/backup_implanter{ pixel_y = 8 }, -/obj/item/weapon/backup_implanter, +/obj/item/backup_implanter, /turf/simulated/floor/tiled/white, /area/centcom/medical) "MJ" = ( /obj/structure/table/glass, -/obj/item/device/healthanalyzer/phasic, +/obj/item/healthanalyzer/phasic, /turf/simulated/floor/tiled/white, /area/centcom/medical) "MK" = ( @@ -10647,7 +10647,7 @@ /turf/simulated/floor/tiled/freezer, /area/centcom/bathroom) "Ne" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled/dark, /area/centcom/medical) "Nf" = ( @@ -10691,7 +10691,7 @@ /area/centcom/bathroom) "Nk" = ( /obj/structure/table/glass, -/obj/item/device/defib_kit/compact/loaded, +/obj/item/defib_kit/compact/loaded, /turf/simulated/floor/tiled/white, /area/centcom/medical) "Nl" = ( @@ -10719,8 +10719,8 @@ /area/centcom/living) "Nm" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/cups, -/obj/item/weapon/storage/box/cups, +/obj/item/storage/box/cups, +/obj/item/storage/box/cups, /obj/effect/floor_decal/borderfloorwhite{ dir = 4 }, @@ -10763,7 +10763,7 @@ /obj/effect/floor_decal/corner/blue/bordercorner2{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; frequency = 1475; name = "Station Intercom (Security)"; @@ -10803,8 +10803,8 @@ "Nt" = ( /obj/structure/table/standard, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/weapon/storage/box/teargas, -/obj/item/weapon/storage/box/teargas, +/obj/item/storage/box/teargas, +/obj/item/storage/box/teargas, /turf/simulated/floor/tiled/dark, /area/centcom/security) "Nv" = ( @@ -10812,7 +10812,7 @@ /turf/simulated/floor/tiled, /area/shuttle/centcom/ccbay) "Nw" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/structure/reagent_dispensers/peppertank{ pixel_x = 30 }, @@ -10880,7 +10880,7 @@ dir = 1 }, /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/ids, +/obj/item/storage/box/ids, /turf/simulated/floor/tiled, /area/centcom/command) "NH" = ( @@ -10961,7 +10961,7 @@ /area/centcom/security) "NP" = ( /obj/structure/table/standard, -/obj/item/weapon/soap, +/obj/item/soap, /obj/effect/floor_decal/borderfloorwhite{ dir = 10 }, @@ -10981,7 +10981,7 @@ /turf/simulated/floor/tiled/white, /area/centcom/bathroom) "NS" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; frequency = 1475; name = "Station Intercom (Security)"; @@ -11024,11 +11024,11 @@ /area/centcom/medical) "NW" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/ionrifle, -/obj/item/weapon/gun/energy/ionrifle, -/obj/item/weapon/gun/energy/ionrifle, -/obj/item/weapon/gun/energy/ionrifle, -/obj/item/weapon/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle, /obj/effect/floor_decal/industrial/outline/yellow, /obj/machinery/camera/network/crescent, /turf/simulated/floor/tiled/dark, @@ -11065,15 +11065,15 @@ "Od" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -2; pixel_y = -2 }, @@ -11169,7 +11169,7 @@ /area/centcom/bathroom) "Oq" = ( /obj/structure/table/reinforced, -/obj/item/device/camera, +/obj/item/camera, /obj/effect/floor_decal/borderfloor{ dir = 10 }, @@ -11201,8 +11201,8 @@ /area/shuttle/escape) "Ou" = ( /obj/structure/table/reinforced, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/gun/energy/taser, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/gun/energy/taser, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/blue/border, /turf/simulated/floor/tiled, @@ -11226,7 +11226,7 @@ }) "Ow" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/ids, +/obj/item/storage/box/ids, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/blue/border, /turf/simulated/floor/tiled, @@ -11279,11 +11279,11 @@ /area/centcom/terminal/tramfluff) "OE" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/machinery/door/window/brigdoor{ dir = 2 }, @@ -11419,7 +11419,7 @@ /area/centcom/bathroom) "Pf" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/meatsteak, +/obj/item/reagent_containers/food/snacks/meatsteak, /turf/simulated/floor/wood, /area/centcom/restaurant) "Pg" = ( @@ -11496,7 +11496,7 @@ }) "Pq" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /obj/effect/floor_decal/borderfloorblack{ dir = 10 }, @@ -11524,9 +11524,9 @@ /area/shuttle/escape) "Pu" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /obj/effect/floor_decal/borderfloorwhite{ dir = 8 }, @@ -11539,19 +11539,19 @@ /obj/effect/floor_decal/corner/paleblue/bordercorner2{ dir = 8 }, -/obj/item/weapon/reagent_containers/blood/OPlus{ +/obj/item/reagent_containers/blood/OPlus{ pixel_x = 4; pixel_y = 2 }, -/obj/item/weapon/reagent_containers/blood/OPlus{ +/obj/item/reagent_containers/blood/OPlus{ pixel_x = 4; pixel_y = 2 }, -/obj/item/weapon/reagent_containers/blood/OPlus{ +/obj/item/reagent_containers/blood/OPlus{ pixel_x = 4; pixel_y = 2 }, -/obj/item/device/healthanalyzer/phasic, +/obj/item/healthanalyzer/phasic, /turf/simulated/floor/tiled/white, /area/centcom/medical) "Pv" = ( @@ -11821,9 +11821,9 @@ /area/centcom/main_hall) "Qa" = ( /obj/structure/table/steel, -/obj/item/weapon/autopsy_scanner, -/obj/item/weapon/surgical/scalpel, -/obj/item/weapon/surgical/cautery, +/obj/item/autopsy_scanner, +/obj/item/surgical/scalpel, +/obj/item/surgical/cautery, /obj/effect/floor_decal/steeldecal/steel_decals9, /obj/effect/floor_decal/steeldecal/steel_decals9{ dir = 8 @@ -12033,7 +12033,7 @@ /turf/simulated/floor/tiled, /area/centcom) "QD" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled, /area/centcom/bathroom) "QE" = ( @@ -12044,7 +12044,7 @@ /area/centcom) "QF" = ( /obj/structure/table/standard, -/obj/item/weapon/soap, +/obj/item/soap, /obj/effect/floor_decal/borderfloorwhite{ dir = 9 }, @@ -12102,8 +12102,8 @@ /area/centcom/restaurant) "QW" = ( /obj/structure/table/woodentable, -/obj/item/weapon/flame/lighter/zippo, -/obj/item/weapon/storage/fancy/cigarettes, +/obj/item/flame/lighter/zippo, +/obj/item/storage/fancy/cigarettes, /turf/simulated/floor/carpet, /area/centcom/restaurant) "QX" = ( @@ -12121,8 +12121,8 @@ "QY" = ( /obj/structure/table/rack, /obj/item/clothing/suit/armor/riot, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/shield/riot, +/obj/item/melee/baton/loaded, +/obj/item/shield/riot, /obj/item/clothing/head/helmet/riot, /obj/effect/floor_decal/borderfloorblack{ dir = 9 @@ -12149,8 +12149,8 @@ "Rb" = ( /obj/structure/table/rack, /obj/item/clothing/suit/armor/riot, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/shield/riot, +/obj/item/melee/baton/loaded, +/obj/item/shield/riot, /obj/item/clothing/head/helmet/riot, /obj/effect/floor_decal/borderfloorblack{ dir = 1 @@ -12177,8 +12177,8 @@ "Rh" = ( /obj/structure/table/rack, /obj/item/clothing/suit/armor/riot, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/shield/riot, +/obj/item/melee/baton/loaded, +/obj/item/shield/riot, /obj/item/clothing/head/helmet/riot, /obj/effect/floor_decal/borderfloorblack{ dir = 5 @@ -12236,7 +12236,7 @@ pixel_y = 30 }, /obj/structure/table/reinforced, -/obj/item/weapon/gun/projectile/shotgun/pump/combat{ +/obj/item/gun/projectile/shotgun/pump/combat{ name = "Discipline" }, /obj/effect/floor_decal/borderfloorblack{ @@ -12253,9 +12253,9 @@ pixel_y = 26 }, /obj/structure/table/reinforced, -/obj/item/weapon/stamp/ward, -/obj/item/weapon/stamp/denied, -/obj/item/device/binoculars, +/obj/item/stamp/ward, +/obj/item/stamp/denied, +/obj/item/binoculars, /obj/effect/floor_decal/borderfloorblack{ dir = 1 }, @@ -12265,7 +12265,7 @@ /turf/simulated/floor/tiled/dark, /area/centcom/security) "Ro" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; frequency = 1475; name = "Station Intercom (Security)"; @@ -12556,7 +12556,7 @@ /turf/simulated/floor/tiled/white, /area/centcom/control) "RY" = ( -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -6 }, /obj/structure/table/standard, @@ -12611,8 +12611,8 @@ dir = 5 }, /obj/structure/table/reinforced, -/obj/item/device/camera, -/obj/item/weapon/storage/box/ids, +/obj/item/camera, +/obj/item/storage/box/ids, /turf/simulated/floor/tiled/dark, /area/centcom/security{ name = "\improper CentCom Security Arrivals" @@ -12644,7 +12644,7 @@ /turf/simulated/floor/tiled, /area/centcom/control) "Sj" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /turf/simulated/floor/wood, @@ -12653,7 +12653,7 @@ /obj/structure/bed/chair/office/dark{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; frequency = 1475; name = "Station Intercom (Security)"; @@ -12715,8 +12715,8 @@ dir = 10 }, /obj/structure/table/reinforced, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/manual/security_space_law, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/wiki/security_space_law, /turf/simulated/floor/tiled/dark, /area/centcom/security{ name = "\improper CentCom Security Arrivals" @@ -12747,7 +12747,7 @@ /obj/effect/floor_decal/corner/paleblue/border{ dir = 4 }, -/obj/item/device/healthanalyzer/phasic, +/obj/item/healthanalyzer/phasic, /turf/simulated/floor/tiled/white, /area/centcom/medical) "Sx" = ( @@ -12853,7 +12853,7 @@ "SN" = ( /obj/effect/floor_decal/industrial/outline, /obj/structure/closet/secure_closet/nanotrasen_security, -/obj/item/weapon/storage/box/handcuffs, +/obj/item/storage/box/handcuffs, /turf/simulated/floor/tiled/dark, /area/centcom/security) "SO" = ( @@ -12953,7 +12953,7 @@ "SW" = ( /obj/effect/floor_decal/industrial/outline/grey, /obj/structure/closet/secure_closet/nanotrasen_warden, -/obj/item/weapon/storage/box/handcuffs, +/obj/item/storage/box/handcuffs, /turf/simulated/floor/tiled/dark, /area/centcom/security) "SX" = ( @@ -12966,8 +12966,8 @@ }) "SZ" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/hotdog, -/obj/item/weapon/reagent_containers/food/snacks/hotdog{ +/obj/item/reagent_containers/food/snacks/hotdog, +/obj/item/reagent_containers/food/snacks/hotdog{ pixel_x = -5; pixel_y = -3 }, @@ -12975,7 +12975,7 @@ /area/centcom/restaurant) "Ta" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/bigbiteburger, +/obj/item/reagent_containers/food/snacks/bigbiteburger, /turf/simulated/floor/wood, /area/centcom/restaurant) "Tb" = ( @@ -13014,7 +13014,7 @@ /area/centcom/command) "Tf" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/ashtray/glass, +/obj/item/material/ashtray/glass, /obj/machinery/camera/network/crescent{ dir = 4 }, @@ -13037,7 +13037,7 @@ /area/shuttle/escape) "Ti" = ( /obj/structure/table/reinforced, -/obj/item/weapon/card/id/gold/captain/spare, +/obj/item/card/id/gold/captain/spare, /turf/simulated/floor/tiled, /area/centcom/control) "Tj" = ( @@ -13065,8 +13065,8 @@ "Tn" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/energy/sniperrifle, -/obj/item/weapon/gun/energy/sniperrifle, +/obj/item/gun/energy/sniperrifle, +/obj/item/gun/energy/sniperrifle, /turf/simulated/floor/tiled/dark, /area/centcom/security) "To" = ( @@ -13081,7 +13081,7 @@ /area/shuttle/escape) "Tq" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /turf/simulated/floor/tiled, /area/centcom/bathroom) "Tr" = ( @@ -13092,12 +13092,12 @@ dir = 4 }, /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the 'Space' from Space Cleaner and written in Chemistry. Scrawled on the back is, 'Okay, whoever filled this with polytrinic acid, it was only funny the first time. It was hard enough replacing the CMO's first cat!'"; name = "Chemistry Cleaner" }, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; @@ -13138,8 +13138,8 @@ "Tw" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/energy/netgun, -/obj/item/weapon/gun/energy/netgun, +/obj/item/gun/energy/netgun, +/obj/item/gun/energy/netgun, /turf/simulated/floor/tiled/dark, /area/centcom/security) "Tz" = ( @@ -13218,13 +13218,13 @@ "TJ" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/shield/riot, -/obj/item/weapon/shield/riot, -/obj/item/weapon/shield/riot, -/obj/item/weapon/shield/riot, -/obj/item/weapon/shield/riot, -/obj/item/weapon/shield/riot, -/obj/item/weapon/shield/riot, +/obj/item/shield/riot, +/obj/item/shield/riot, +/obj/item/shield/riot, +/obj/item/shield/riot, +/obj/item/shield/riot, +/obj/item/shield/riot, +/obj/item/shield/riot, /turf/simulated/floor/tiled/dark, /area/centcom/security) "TK" = ( @@ -13235,7 +13235,7 @@ /area/centcom/main_hall) "TL" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/ashtray/glass, +/obj/item/material/ashtray/glass, /turf/simulated/floor/carpet, /area/centcom/restaurant) "TM" = ( @@ -13453,7 +13453,7 @@ /area/centcom/evac) "Ui" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/frags, +/obj/item/storage/box/frags, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/dark, /area/centcom/security) @@ -13494,8 +13494,8 @@ dir = 8 }, /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/donkpockets, -/obj/item/weapon/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, /turf/simulated/floor/tiled/dark, /area/centcom/security{ name = "\improper CentCom Security Arrivals" @@ -13528,7 +13528,7 @@ }) "Uq" = ( /obj/structure/table/standard, -/obj/item/weapon/soap, +/obj/item/soap, /obj/effect/floor_decal/borderfloorwhite{ dir = 10 }, @@ -13572,11 +13572,11 @@ /obj/effect/floor_decal/borderfloor{ dir = 1 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -1; pixel_y = 5 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/machinery/camera/network/crescent, /turf/simulated/floor/tiled, /area/centcom/command) @@ -13588,9 +13588,9 @@ dir = 10 }, /obj/structure/table/reinforced, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/gun/energy/taser, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, +/obj/item/gun/energy/taser, /turf/simulated/floor/tiled/dark, /area/centcom/security{ name = "\improper CentCom Security Arrivals" @@ -13615,9 +13615,9 @@ /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/blue/border, /obj/structure/closet/secure_closet/nanotrasen_security, -/obj/item/weapon/storage/box/handcuffs, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/shield/riot, +/obj/item/storage/box/handcuffs, +/obj/item/gun/energy/gun, +/obj/item/shield/riot, /turf/simulated/floor/tiled/dark, /area/centcom/security{ name = "\improper CentCom Security Arrivals" @@ -13632,9 +13632,9 @@ dir = 9 }, /obj/structure/closet/secure_closet/nanotrasen_security, -/obj/item/weapon/storage/box/handcuffs, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/shield/riot, +/obj/item/storage/box/handcuffs, +/obj/item/gun/energy/gun, +/obj/item/shield/riot, /turf/simulated/floor/tiled/dark, /area/centcom/security{ name = "\improper CentCom Security Arrivals" @@ -13672,8 +13672,8 @@ /turf/simulated/floor/tiled, /area/centcom/evac) "UG" = ( -/obj/item/weapon/storage/box/evidence, -/obj/item/weapon/folder/red, +/obj/item/storage/box/evidence, +/obj/item/folder/red, /obj/structure/table/reinforced, /obj/effect/floor_decal/borderfloorblack{ dir = 8 @@ -13685,17 +13685,17 @@ /area/centcom/security) "UH" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/empslite{ +/obj/item/storage/box/empslite{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/box/flashbangs{ +/obj/item/storage/box/flashbangs{ pixel_x = -2; pixel_y = -2 }, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/weapon/storage/box/empslite, -/obj/item/weapon/storage/box/flashbangs{ +/obj/item/storage/box/empslite, +/obj/item/storage/box/flashbangs{ pixel_x = -2; pixel_y = -2 }, @@ -13703,22 +13703,22 @@ /area/centcom/security) "UJ" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /turf/simulated/floor/tiled/dark, /area/centcom/security) "UK" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/roastbeef, +/obj/item/reagent_containers/food/snacks/roastbeef, /turf/simulated/floor/wood, /area/centcom/restaurant) "UL" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/automatic/p90, -/obj/item/weapon/gun/projectile/automatic/p90, -/obj/item/weapon/gun/projectile/automatic/p90, -/obj/item/weapon/gun/projectile/automatic/p90, -/obj/item/weapon/gun/projectile/automatic/p90, +/obj/item/gun/projectile/automatic/p90, +/obj/item/gun/projectile/automatic/p90, +/obj/item/gun/projectile/automatic/p90, +/obj/item/gun/projectile/automatic/p90, +/obj/item/gun/projectile/automatic/p90, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/dark, /area/centcom/security) @@ -13750,12 +13750,12 @@ /area/centcom/restaurant) "UQ" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/pastatomato, +/obj/item/reagent_containers/food/snacks/pastatomato, /turf/simulated/floor/wood, /area/centcom/restaurant) "UR" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/meatballspagetti, +/obj/item/reagent_containers/food/snacks/meatballspagetti, /turf/simulated/floor/wood, /area/centcom/restaurant) "US" = ( @@ -13769,7 +13769,7 @@ /turf/simulated/floor/tiled, /area/centcom/evac) "UW" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/orange/border, /turf/simulated/floor/tiled/dark, @@ -13782,39 +13782,39 @@ /area/centcom/restaurant) "UY" = ( /obj/structure/table/standard, -/obj/item/weapon/hand_labeler, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/glass/beaker/sulphuric, +/obj/item/hand_labeler, +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/sulphuric, /turf/simulated/floor/tiled, /area/centcom/control) "UZ" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 3 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = -4 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8; pixel_y = 12 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = 12 }, @@ -13867,13 +13867,13 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_x = -2; pixel_y = -1 }, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/storage/belt/utility, -/obj/item/weapon/storage/toolbox/electrical{ +/obj/item/tool/crowbar, +/obj/item/storage/belt/utility, +/obj/item/storage/toolbox/electrical{ pixel_x = 1; pixel_y = 6 }, @@ -13990,8 +13990,8 @@ }) "Vv" = ( /obj/structure/table/reinforced, -/obj/item/weapon/material/minihoe, -/obj/item/device/analyzer/plant_analyzer, +/obj/item/material/minihoe, +/obj/item/analyzer/plant_analyzer, /obj/effect/floor_decal/borderfloorblack{ dir = 1 }, @@ -14008,12 +14008,12 @@ /area/shuttle/ccboat) "Vx" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/kitsuneudon, +/obj/item/reagent_containers/food/snacks/kitsuneudon, /turf/simulated/floor/wood, /area/centcom/restaurant) "Vy" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/lasagna, +/obj/item/reagent_containers/food/snacks/lasagna, /turf/simulated/floor/wood, /area/centcom/restaurant) "Vz" = ( @@ -14021,7 +14021,7 @@ /turf/simulated/floor/tiled, /area/centcom/restaurant) "VA" = ( -/obj/item/device/camera{ +/obj/item/camera{ desc = "A one use - polaroid camera. 30 photos left."; name = "detectives camera"; pictures_left = 30; @@ -14116,7 +14116,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/folder/blue_hop, +/obj/item/folder/blue_hop, /turf/simulated/floor/carpet, /area/centcom/command) "VM" = ( @@ -14137,15 +14137,15 @@ /obj/effect/floor_decal/borderfloor{ dir = 1 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -1; pixel_y = 5 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled, /area/centcom/command) "VP" = ( -/obj/item/device/taperecorder, +/obj/item/taperecorder, /obj/structure/table/reinforced, /obj/effect/floor_decal/borderfloorblack{ dir = 10 @@ -14158,11 +14158,11 @@ "VQ" = ( /obj/structure/table/standard, /obj/effect/floor_decal/borderfloor, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -1; pixel_y = 5 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled, /area/centcom/command) "VR" = ( @@ -14177,24 +14177,24 @@ /obj/structure/reagent_dispensers/peppertank{ pixel_x = 30 }, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, /obj/machinery/recharger/wallcharger{ pixel_x = 4; pixel_y = 26 @@ -14385,7 +14385,7 @@ /turf/simulated/floor/tiled, /area/centcom/security) "Wl" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/lino, /area/centcom/restaurant) "Wm" = ( @@ -14562,7 +14562,7 @@ /obj/effect/floor_decal/borderfloorwhite/corner2, /obj/effect/floor_decal/corner/paleblue/bordercorner2, /obj/structure/table/glass, -/obj/item/weapon/storage/firstaid/o2, +/obj/item/storage/firstaid/o2, /turf/simulated/floor/tiled/white, /area/centcom/medical) "WE" = ( @@ -14726,7 +14726,7 @@ req_access = list(63); req_one_access = list(1) }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, @@ -14735,17 +14735,17 @@ /area/centcom/command) "Xb" = ( /obj/structure/table/rack, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/melee/energy/sword/blue, -/obj/item/weapon/melee/energy/sword/blue, -/obj/item/weapon/melee/energy/sword/blue, -/obj/item/weapon/melee/energy/sword/blue, -/obj/item/weapon/melee/energy/sword/blue, +/obj/item/melee/energy/sword/blue, +/obj/item/melee/energy/sword/blue, +/obj/item/melee/energy/sword/blue, +/obj/item/melee/energy/sword/blue, +/obj/item/melee/energy/sword/blue, /turf/simulated/floor/tiled/dark, /area/centcom/security) "Xc" = ( @@ -14831,7 +14831,7 @@ /area/centcom) "Xr" = ( /obj/structure/table/reinforced, -/obj/item/weapon/gun/energy/taser, +/obj/item/gun/energy/taser, /obj/machinery/recharger/wallcharger{ pixel_x = 4; pixel_y = 26 @@ -14841,7 +14841,7 @@ "Xs" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/energy/xray, +/obj/item/gun/energy/xray, /turf/simulated/floor/tiled/dark, /area/centcom/security) "Xt" = ( @@ -14874,7 +14874,7 @@ /area/centcom/security) "Xx" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/bottle/grenadine, +/obj/item/reagent_containers/food/drinks/bottle/grenadine, /turf/simulated/floor/lino, /area/centcom/restaurant) "Xy" = ( @@ -14882,7 +14882,7 @@ /area/centcom/command) "Xz" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/green, +/obj/item/bedsheet/green, /obj/effect/floor_decal/borderfloorwhite{ dir = 6 }, @@ -14903,7 +14903,7 @@ /area/centcom/terminal/tramfluff) "XB" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cola, +/obj/item/reagent_containers/food/drinks/bottle/cola, /turf/simulated/floor/lino, /area/centcom/restaurant) "XD" = ( @@ -14915,12 +14915,12 @@ /area/centcom/security) "XE" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/bottle/space_mountain_wind, +/obj/item/reagent_containers/food/drinks/bottle/space_mountain_wind, /turf/simulated/floor/lino, /area/centcom/restaurant) "XF" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/toastedsandwich{ +/obj/item/reagent_containers/food/snacks/toastedsandwich{ pixel_y = 10 }, /turf/simulated/floor/lino, @@ -14933,8 +14933,8 @@ dir = 1 }, /obj/structure/table/woodentable, -/obj/item/device/radio/off, -/obj/item/device/megaphone, +/obj/item/radio/off, +/obj/item/megaphone, /obj/machinery/camera/network/crescent, /turf/simulated/floor/tiled/dark, /area/centcom/command) @@ -15011,8 +15011,8 @@ /area/centcom/security) "XU" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/donkpockets, -/obj/item/weapon/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, /obj/effect/floor_decal/borderfloorblack{ dir = 8 }, @@ -15023,7 +15023,7 @@ /area/centcom/security) "XV" = ( /obj/structure/table/reinforced, -/obj/item/device/taperecorder, +/obj/item/taperecorder, /turf/simulated/floor/tiled/dark, /area/centcom/security) "XW" = ( @@ -15074,7 +15074,7 @@ /area/centcom/terminal) "Yd" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /obj/machinery/camera/network/crescent, /obj/effect/floor_decal/borderfloorblack{ dir = 5 @@ -15158,17 +15158,17 @@ /area/centcom/restaurant) "Ys" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/seccarts{ +/obj/item/storage/box/seccarts{ pixel_x = 3; pixel_y = 2 }, -/obj/item/weapon/storage/box/handcuffs, -/obj/item/weapon/storage/box/flashbangs{ +/obj/item/storage/box/handcuffs, +/obj/item/storage/box/flashbangs{ pixel_x = -2; pixel_y = -2 }, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -15191,7 +15191,7 @@ /area/centcom/living) "Yu" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /obj/effect/floor_decal/borderfloorblack{ dir = 6 }, @@ -15214,11 +15214,11 @@ /area/centcom/security) "Yx" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/dark, /area/centcom/security) @@ -15239,7 +15239,7 @@ /area/centcom/main_hall) "Yz" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /obj/effect/floor_decal/borderfloorblack{ dir = 9 }, @@ -15327,11 +15327,11 @@ dir = 6 }, /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/flask/barflask{ +/obj/item/reagent_containers/food/drinks/flask/barflask{ pixel_x = -4; pixel_y = 8 }, -/obj/item/device/taperecorder, +/obj/item/taperecorder, /turf/simulated/floor/tiled/dark, /area/centcom/command) "YJ" = ( @@ -15360,7 +15360,7 @@ dir = 6 }, /obj/structure/table/glass, -/obj/item/weapon/storage/box/syringes, +/obj/item/storage/box/syringes, /turf/simulated/floor/tiled/white, /area/centcom/medical) "YN" = ( @@ -15481,9 +15481,9 @@ /area/centcom/bathroom) "Zh" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/food/drinks/flask/barflask, -/obj/item/weapon/reagent_containers/glass/rag, -/obj/item/weapon/reagent_containers/food/drinks/flask/vacuumflask, +/obj/item/reagent_containers/food/drinks/flask/barflask, +/obj/item/reagent_containers/glass/rag, +/obj/item/reagent_containers/food/drinks/flask/vacuumflask, /turf/simulated/floor/lino, /area/centcom/restaurant) "Zj" = ( @@ -15519,8 +15519,8 @@ /area/centcom/security) "Zp" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/pill_bottle/dice, -/obj/item/weapon/deck/cards, +/obj/item/storage/pill_bottle/dice, +/obj/item/deck/cards, /turf/simulated/floor/tiled/dark, /area/centcom/security) "Zq" = ( @@ -15638,7 +15638,7 @@ /turf/simulated/floor/tiled/dark, /area/centcom/security) "ZG" = ( -/obj/item/weapon/paper{ +/obj/item/paper{ info = "You're not supposed to be here."; name = "unnerving letter" }, @@ -15685,12 +15685,12 @@ /area/centcom/bar) "ZN" = ( /obj/structure/table/reinforced, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/screwdriver, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/screwdriver, -/obj/item/weapon/tool/wrench, +/obj/item/tool/crowbar, +/obj/item/tool/screwdriver, +/obj/item/tool/wrench, +/obj/item/tool/crowbar, +/obj/item/tool/screwdriver, +/obj/item/tool/wrench, /obj/effect/floor_decal/industrial/outline/blue, /turf/simulated/floor/tiled{ icon_state = "dark" diff --git a/maps/stellar_delight/ship_misc.dmm b/maps/stellar_delight/ship_misc.dmm index 2693ec1a859..251e171f688 100644 --- a/maps/stellar_delight/ship_misc.dmm +++ b/maps/stellar_delight/ship_misc.dmm @@ -758,24 +758,24 @@ /area/unknown/dorm1) "cq" = ( /obj/machinery/smartfridge/survival_pod, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/towel/random, +/obj/item/towel/random, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm1) "cr" = ( @@ -848,24 +848,24 @@ /area/unknown/dorm2) "cD" = ( /obj/machinery/smartfridge/survival_pod, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/towel/random, +/obj/item/towel/random, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm2) "cE" = ( @@ -881,24 +881,24 @@ /area/unknown/dorm3) "cH" = ( /obj/machinery/smartfridge/survival_pod, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/towel/random, +/obj/item/towel/random, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm3) "cI" = ( @@ -930,7 +930,7 @@ /turf/simulated/shuttle/floor/alien, /area/unknown/dorm1) "cO" = ( -/obj/item/device/perfect_tele_beacon/stationary{ +/obj/item/perfect_tele_beacon/stationary{ tele_name = "Unknown"; tele_network = "unkone" }, @@ -984,7 +984,7 @@ /turf/simulated/floor/holofloor/carpet, /area/holodeck/source_courtroom) "cV" = ( -/obj/item/weapon/bedsheet/rddouble, +/obj/item/bedsheet/rddouble, /obj/structure/bed/double/padded, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm1) @@ -993,14 +993,14 @@ /turf/simulated/shuttle/floor/alien, /area/unknown/dorm2) "cX" = ( -/obj/item/device/perfect_tele_beacon/stationary{ +/obj/item/perfect_tele_beacon/stationary{ tele_name = "Unknown"; tele_network = "unktwo" }, /turf/simulated/shuttle/floor/alienplating, /area/unknown/dorm2) "cY" = ( -/obj/item/weapon/bedsheet/rddouble, +/obj/item/bedsheet/rddouble, /obj/structure/bed/double/padded, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm2) @@ -1016,14 +1016,14 @@ /turf/simulated/floor/holofloor/grass, /area/holodeck/source_picnicarea) "db" = ( -/obj/item/device/perfect_tele_beacon/stationary{ +/obj/item/perfect_tele_beacon/stationary{ tele_name = "Unknown"; tele_network = "unkthree" }, /turf/simulated/shuttle/floor/alienplating, /area/unknown/dorm3) "dc" = ( -/obj/item/weapon/bedsheet/rddouble, +/obj/item/bedsheet/rddouble, /obj/structure/bed/double/padded, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm3) @@ -1310,7 +1310,7 @@ /obj/item/clothing/head/helmet/thunderdome, /obj/item/clothing/suit/armor/tdome/red, /obj/item/clothing/under/color/red, -/obj/item/weapon/holo/esword/red, +/obj/item/holo/esword/red, /obj/effect/floor_decal/corner/red{ dir = 5 }, @@ -1539,7 +1539,7 @@ /turf/simulated/floor/holofloor/tiled/dark, /area/holodeck/source_meetinghall) "eM" = ( -/obj/item/weapon/beach_ball, +/obj/item/beach_ball, /turf/simulated/floor/holofloor/beach/sand, /area/holodeck/source_beach) "eN" = ( @@ -1632,7 +1632,7 @@ /turf/simulated/floor/holofloor/tiled, /area/holodeck/source_basketball) "fa" = ( -/obj/item/weapon/beach_ball/holoball, +/obj/item/beach_ball/holoball, /obj/effect/floor_decal/corner/red{ dir = 10 }, @@ -1645,7 +1645,7 @@ /turf/simulated/floor/holofloor/tiled, /area/holodeck/source_basketball) "fc" = ( -/obj/item/weapon/inflatable_duck, +/obj/item/inflatable_duck, /turf/simulated/floor/holofloor/beach/sand, /area/holodeck/source_beach) "fd" = ( @@ -1696,7 +1696,7 @@ /turf/simulated/floor/holofloor/tiled/dark, /area/holodeck/source_gym) "fm" = ( -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/structure/bed/padded, /obj/structure/curtain/open/privacy, /turf/simulated/floor/holofloor/tiled{ @@ -1869,7 +1869,7 @@ /area/unknown/dorm6) "fN" = ( /obj/structure/table/woodentable/holotable, -/obj/item/weapon/dice/d8, +/obj/item/dice/d8, /turf/simulated/floor/holofloor/wood, /area/holodeck/source_game_room) "fO" = ( @@ -1937,7 +1937,7 @@ /obj/item/clothing/head/helmet/thunderdome, /obj/item/clothing/suit/armor/tdome/green, /obj/item/clothing/under/color/green, -/obj/item/weapon/holo/esword/green, +/obj/item/holo/esword/green, /obj/effect/floor_decal/corner/green{ dir = 10 }, @@ -2026,21 +2026,21 @@ /area/beach) "gm" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/snacks/chips, +/obj/item/reagent_containers/food/snacks/chips, /turf/unsimulated/beach/sand, /area/beach) "gn" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, /turf/unsimulated/beach/sand, /area/beach) "go" = ( -/obj/item/weapon/beach_ball, +/obj/item/beach_ball, /turf/unsimulated/beach/sand, /area/beach) "gp" = ( @@ -2122,24 +2122,24 @@ /area/unknown/dorm4) "gE" = ( /obj/machinery/smartfridge/survival_pod, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/towel/random, +/obj/item/towel/random, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm4) "gF" = ( @@ -2155,24 +2155,24 @@ /area/unknown/dorm5) "gI" = ( /obj/machinery/smartfridge/survival_pod, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/towel/random, +/obj/item/towel/random, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm5) "gJ" = ( @@ -2188,24 +2188,24 @@ /area/unknown/dorm6) "gM" = ( /obj/machinery/smartfridge/survival_pod, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/towel/random, +/obj/item/towel/random, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm6) "gN" = ( @@ -2234,7 +2234,7 @@ /turf/simulated/shuttle/floor/alien, /area/unknown/dorm4) "gT" = ( -/obj/item/device/perfect_tele_beacon/stationary{ +/obj/item/perfect_tele_beacon/stationary{ tele_name = "Unknown"; tele_network = "unkfour" }, @@ -2242,7 +2242,7 @@ /area/unknown/dorm4) "gU" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/hopdouble, +/obj/item/bedsheet/hopdouble, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm4) "gV" = ( @@ -2250,7 +2250,7 @@ /turf/simulated/shuttle/floor/alien, /area/unknown/dorm5) "gW" = ( -/obj/item/device/perfect_tele_beacon/stationary{ +/obj/item/perfect_tele_beacon/stationary{ tele_name = "Unknown"; tele_network = "unkfive" }, @@ -2258,7 +2258,7 @@ /area/unknown/dorm5) "gX" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/hopdouble, +/obj/item/bedsheet/hopdouble, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm5) "gY" = ( @@ -2266,7 +2266,7 @@ /turf/simulated/shuttle/floor/alien, /area/unknown/dorm6) "gZ" = ( -/obj/item/device/perfect_tele_beacon/stationary{ +/obj/item/perfect_tele_beacon/stationary{ tele_name = "Unknown"; tele_network = "unksix" }, @@ -2274,7 +2274,7 @@ /area/unknown/dorm6) "ha" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/hopdouble, +/obj/item/bedsheet/hopdouble, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm6) "hb" = ( @@ -2506,7 +2506,7 @@ /area/space) "ml" = ( /obj/structure/table/holotable, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /obj/effect/floor_decal/corner/paleblue{ dir = 5 }, @@ -2546,8 +2546,8 @@ /area/holodeck/source_gym) "ov" = ( /obj/structure/table/woodentable/holotable, -/obj/item/weapon/dice/d12, -/obj/item/weapon/dice/d10, +/obj/item/dice/d12, +/obj/item/dice/d10, /turf/simulated/floor/holofloor/wood, /area/holodeck/source_game_room) "oJ" = ( @@ -2606,7 +2606,7 @@ /turf/simulated/floor/holofloor/bmarble, /area/holodeck/source_chess) "rD" = ( -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/structure/bed/padded, /obj/structure/curtain/open/privacy, /obj/effect/floor_decal/corner/paleblue{ @@ -2635,7 +2635,7 @@ /turf/unsimulated/wall, /area/ai_multicam_room) "tR" = ( -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/structure/bed/padded, /obj/structure/curtain/open/privacy, /obj/effect/floor_decal/corner/paleblue/full{ @@ -2765,8 +2765,8 @@ /area/holodeck/source_patient_ward) "BR" = ( /obj/structure/table/woodentable/holotable, -/obj/item/weapon/dice/d100, -/obj/item/weapon/dice/d20, +/obj/item/dice/d100, +/obj/item/dice/d20, /turf/simulated/floor/holofloor/wood, /area/holodeck/source_game_room) "BU" = ( @@ -2820,7 +2820,7 @@ /turf/simulated/floor/holofloor/wood, /area/holodeck/source_chess) "Eq" = ( -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/structure/bed/padded, /obj/structure/curtain/open/privacy, /obj/effect/floor_decal/corner/paleblue{ @@ -2906,7 +2906,7 @@ }, /area/holodeck/source_patient_ward) "Lt" = ( -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/structure/bed/padded, /obj/structure/curtain/open/privacy, /obj/effect/floor_decal/corner/paleblue/full{ @@ -2942,8 +2942,8 @@ /area/holodeck/source_gym) "Nj" = ( /obj/structure/table/woodentable/holotable, -/obj/item/weapon/dice, -/obj/item/weapon/dice/d4, +/obj/item/dice, +/obj/item/dice/d4, /turf/simulated/floor/holofloor/wood, /area/holodeck/source_game_room) "NT" = ( @@ -3001,7 +3001,7 @@ /turf/simulated/floor/holofloor/carpet, /area/holodeck/source_game_room) "SJ" = ( -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/structure/bed/padded, /obj/structure/curtain/open/privacy, /obj/effect/floor_decal/corner/paleblue{ diff --git a/maps/stellar_delight/stellar_delight.dm b/maps/stellar_delight/stellar_delight.dm index a38672d4a71..91f26246b7a 100644 --- a/maps/stellar_delight/stellar_delight.dm +++ b/maps/stellar_delight/stellar_delight.dm @@ -11,7 +11,7 @@ #include "..\offmap_vr\common_offmaps.dm" #include "..\tether\tether_jobs.dm" - #if !AWAY_MISSION_TEST //Don't include these for just testing away missions + #ifndef AWAY_MISSION_TEST //Don't include these for just testing away missions #include "stellar_delight1.dmm" #include "stellar_delight2.dmm" #include "stellar_delight3.dmm" @@ -23,4 +23,4 @@ #warn A map has already been included, ignoring Tether -#endif \ No newline at end of file +#endif diff --git a/maps/stellar_delight/stellar_delight1.dmm b/maps/stellar_delight/stellar_delight1.dmm index 944baf45ec4..87e5ba518dc 100644 --- a/maps/stellar_delight/stellar_delight1.dmm +++ b/maps/stellar_delight/stellar_delight1.dmm @@ -21,7 +21,7 @@ "ac" = ( /obj/structure/table/steel_reinforced, /obj/machinery/power/apc/angled{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 1; name = "night shift APC"; nightshift_setting = 2 @@ -41,14 +41,14 @@ /area/chapel/main) "ae" = ( /obj/structure/closet/secure_closet/security, -/obj/item/device/holowarrant, +/obj/item/holowarrant, /obj/item/clothing/accessory/badge/holo/cord, /obj/item/clothing/accessory/badge/holo/cord, /obj/machinery/alarm/angled{ dir = 4 }, /obj/effect/floor_decal/milspec/color/red, -/obj/item/device/ticket_printer, +/obj/item/ticket_printer, /turf/simulated/floor/tiled/dark, /area/security/security_lockerroom) "af" = ( @@ -61,7 +61,7 @@ /obj/machinery/light{ dir = 4 }, -/obj/item/weapon/book/manual/resleeving, +/obj/item/book/manual/resleeving, /turf/simulated/floor/tiled/steel_grid, /area/assembly/robotics) "ag" = ( @@ -116,7 +116,7 @@ dir = 4 }, /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /obj/machinery/light{ dir = 1 }, @@ -218,7 +218,7 @@ color = "#42038a"; icon_state = "0-4" }, -/obj/item/weapon/storage/box/backup_kit, +/obj/item/storage/box/backup_kit, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, @@ -290,12 +290,12 @@ dir = 8; layer = 2.6 }, -/obj/item/weapon/tank/jetpack/carbondioxide, -/obj/item/weapon/tank/jetpack/carbondioxide, -/obj/item/weapon/tank/jetpack/carbondioxide, -/obj/item/weapon/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, /obj/effect/floor_decal/milspec/color/red, -/obj/item/device/personal_shield_generator/security/loaded, +/obj/item/personal_shield_generator/security/loaded, /turf/simulated/floor/tiled/dark, /area/security/tactical) "aC" = ( @@ -342,11 +342,11 @@ /obj/structure/bookcase{ name = "bookcase (Religious)" }, -/obj/item/weapon/book/bundle/custom_library/religious/zoroastrianism, -/obj/item/weapon/book/custom_library/religious/feastofkubera, -/obj/item/weapon/book/custom_library/religious/storyoflordganesha, -/obj/item/weapon/book/custom_library/religious/sungoddessofkorea, -/obj/item/weapon/book/custom_library/religious/wayofbleedingswan, +/obj/item/book/bundle/custom_library/religious/zoroastrianism, +/obj/item/book/custom_library/religious/feastofkubera, +/obj/item/book/custom_library/religious/storyoflordganesha, +/obj/item/book/custom_library/religious/sungoddessofkorea, +/obj/item/book/custom_library/religious/wayofbleedingswan, /turf/simulated/floor/wood, /area/library) "aH" = ( @@ -451,19 +451,19 @@ /area/stellardelight/deck1/starboard) "aR" = ( /obj/structure/table/glass, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, -/obj/item/weapon/clipboard, -/obj/item/weapon/folder/white, +/obj/item/paper_bin, +/obj/item/pen, +/obj/item/clipboard, +/obj/item/folder/white, /turf/simulated/floor/tiled/eris/white/bluecorner, /area/medical/exam_room) "aS" = ( /turf/simulated/wall/bay/r_wall/steel, /area/security/security_equiptment_storage) "aT" = ( -/obj/item/weapon/storage/box/nifsofts_mining, +/obj/item/storage/box/nifsofts_mining, /obj/structure/table/reinforced, -/obj/item/device/personal_shield_generator/belt/mining/loaded, +/obj/item/personal_shield_generator/belt/mining/loaded, /turf/simulated/floor/tiled/eris/steel/cargo, /area/stellardelight/deck1/miningequipment) "aU" = ( @@ -590,7 +590,6 @@ master_tag = "xenobio_airlock_control"; name = "Xenobiology Access Button"; pixel_y = -32; - req_access = null; req_one_access = list(47,55) }, /obj/machinery/door/airlock/angled_bay/standard/color{ @@ -687,8 +686,8 @@ /obj/effect/floor_decal/milspec/color/red/half{ dir = 8 }, -/obj/item/weapon/storage/box/evidence, -/obj/item/weapon/storage/box/evidence, +/obj/item/storage/box/evidence, +/obj/item/storage/box/evidence, /obj/structure/closet/walllocker_double/security/west{ name = "evidence storage cabinet" }, @@ -902,7 +901,7 @@ /area/security/armoury) "bJ" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /obj/machinery/alarm/angled{ dir = 4 }, @@ -1102,9 +1101,9 @@ /area/stellardelight/deck1/exploration) "cf" = ( /obj/structure/table/steel, -/obj/item/weapon/surgical/scalpel, -/obj/item/weapon/autopsy_scanner, -/obj/item/weapon/surgical/cautery, +/obj/item/surgical/scalpel, +/obj/item/autopsy_scanner, +/obj/item/surgical/cautery, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, @@ -1190,12 +1189,12 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/item/weapon/material/ashtray/glass, +/obj/item/material/ashtray/glass, /turf/simulated/floor/carpet/bcarpet, /area/stellardelight/deck1/starboard) "cm" = ( /obj/structure/table/reinforced, -/obj/item/weapon/forensics/sample_kit, +/obj/item/forensics/sample_kit, /obj/effect/floor_decal/milspec/color/red/half{ dir = 10 }, @@ -1299,26 +1298,26 @@ /turf/simulated/floor/tiled/steel_grid, /area/rnd/research) "cx" = ( -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_x = -2; pixel_y = -1 }, -/obj/item/device/multitool, +/obj/item/multitool, /obj/item/clothing/head/welding, -/obj/item/weapon/storage/belt/utility, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, +/obj/item/storage/belt/utility, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/item/radio/off, /obj/item/stack/cable_coil{ pixel_x = 3; pixel_y = -7 }, -/obj/item/weapon/storage/toolbox/electrical{ +/obj/item/storage/toolbox/electrical{ pixel_x = 1; pixel_y = -1 }, -/obj/item/device/assembly/signaler, -/obj/item/device/assembly/signaler, +/obj/item/assembly/signaler, +/obj/item/assembly/signaler, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, @@ -1515,14 +1514,14 @@ /area/stellardelight/deck1/oreprocessing) "cR" = ( /obj/effect/floor_decal/industrial/warning, -/obj/item/device/defib_kit/jumper_kit, -/obj/item/weapon/storage/box/gloves, -/obj/item/weapon/storage/box/bodybags{ +/obj/item/defib_kit/jumper_kit, +/obj/item/storage/box/gloves, +/obj/item/storage/box/bodybags{ pixel_x = -3; pixel_y = -2 }, -/obj/item/weapon/book/manual/robotics_manual, -/obj/item/weapon/book/manual/robotics_cyborgs, +/obj/item/book/manual/wiki/robotics_manual, +/obj/item/book/manual/robotics_cyborgs, /obj/structure/closet/walllocker_double/science/east, /turf/simulated/floor/tiled/steel_dirty, /area/assembly/robotics) @@ -1623,7 +1622,7 @@ /turf/simulated/floor/carpet, /area/stellardelight/deck1/dorms/dorm4) "dd" = ( -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 8; pixel_x = -24 }, @@ -1888,10 +1887,10 @@ /turf/simulated/floor, /area/maintenance/stellardelight/substation/medical) "dz" = ( -/obj/item/weapon/weldingtool, +/obj/item/weldingtool, /obj/item/clothing/glasses/welding, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/device/multitool, +/obj/item/storage/box/lights/mixed, +/obj/item/multitool, /obj/structure/sink/kitchen{ dir = 4; pixel_x = 11 @@ -1923,22 +1922,22 @@ /turf/simulated/floor/tiled/dark, /area/security/security_cell_hallway) "dC" = ( -/obj/item/weapon/shovel, -/obj/item/weapon/shovel, -/obj/item/weapon/shovel, -/obj/item/weapon/shovel, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/pickaxe, -/obj/item/weapon/pickaxe, -/obj/item/weapon/pickaxe, -/obj/item/weapon/pickaxe, +/obj/item/shovel, +/obj/item/shovel, +/obj/item/shovel, +/obj/item/shovel, +/obj/item/tool/wrench, +/obj/item/tool/wrench, +/obj/item/tool/wrench, +/obj/item/tool/wrench, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/pickaxe, +/obj/item/pickaxe, +/obj/item/pickaxe, +/obj/item/pickaxe, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 }, @@ -1966,10 +1965,10 @@ /turf/simulated/floor/tiled/dark, /area/security/armoury) "dE" = ( -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, /obj/structure/closet/walllocker_double/cargo/west{ name = "suit cooling units" }, @@ -2030,22 +2029,22 @@ /turf/simulated/floor/tiled/eris/steel/cargo, /area/stellardelight/deck1/miningequipment) "dM" = ( -/obj/item/weapon/storage/box/syringes, -/obj/item/weapon/storage/box/beakers, -/obj/item/weapon/storage/box/gloves, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/storage/box/syringes, +/obj/item/storage/box/beakers, +/obj/item/storage/box/gloves, +/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /obj/item/robot_parts/l_arm, -/obj/item/device/analyzer/plant_analyzer, -/obj/item/device/analyzer/plant_analyzer, -/obj/item/weapon/material/knife/machete/hatchet, -/obj/item/weapon/material/knife/machete/hatchet, -/obj/item/weapon/material/minihoe, -/obj/item/weapon/material/minihoe, +/obj/item/analyzer/plant_analyzer, +/obj/item/analyzer/plant_analyzer, +/obj/item/material/knife/machete/hatchet, +/obj/item/material/knife/machete/hatchet, +/obj/item/material/minihoe, +/obj/item/material/minihoe, /obj/item/inflatable/door, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/item/weapon/storage/box/botanydisk, -/obj/item/weapon/storage/box/botanydisk, +/obj/item/storage/box/botanydisk, +/obj/item/storage/box/botanydisk, /obj/structure/closet/walllocker_double/science/west{ name = "xenoflora supplies" }, @@ -2150,7 +2149,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -2191,11 +2190,11 @@ /area/stellardelight/deck1/oreprocessing) "dZ" = ( /obj/structure/table/standard, -/obj/item/weapon/disk/tech_disk, -/obj/item/weapon/disk/tech_disk, -/obj/item/weapon/disk/design_disk, -/obj/item/weapon/disk/design_disk, -/obj/item/weapon/reagent_containers/dropper{ +/obj/item/disk/tech_disk, +/obj/item/disk/tech_disk, +/obj/item/disk/design_disk, +/obj/item/disk/design_disk, +/obj/item/reagent_containers/dropper{ pixel_y = -4 }, /obj/item/clothing/glasses/omnihud/rnd, @@ -2250,10 +2249,10 @@ /area/security/tactical) "ef" = ( /obj/structure/table/rack, -/obj/item/device/suit_cooling_unit{ +/obj/item/suit_cooling_unit{ pixel_y = -5 }, -/obj/item/device/suit_cooling_unit{ +/obj/item/suit_cooling_unit{ pixel_y = -5 }, /obj/machinery/alarm/angled, @@ -2309,23 +2308,23 @@ /turf/simulated/wall/bay/r_wall/steel, /area/maintenance/stellardelight/deck1/portaft) "el" = ( -/obj/item/weapon/storage/box/monkeycubes, -/obj/item/weapon/storage/box/monkeycubes, -/obj/item/weapon/storage/box/monkeycubes, -/obj/item/weapon/storage/box/monkeycubes, -/obj/item/weapon/storage/box/monkeycubes, +/obj/item/storage/box/monkeycubes, +/obj/item/storage/box/monkeycubes, +/obj/item/storage/box/monkeycubes, +/obj/item/storage/box/monkeycubes, +/obj/item/storage/box/monkeycubes, /obj/structure/closet/walllocker_double/east, /obj/structure/table/reinforced, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, -/obj/item/weapon/storage/box/beakers, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/storage/box/beakers, +/obj/item/reagent_containers/spray/cleaner, /turf/simulated/floor/tiled/steel_grid, /area/rnd/xenobiology) "em" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin, +/obj/item/paper_bin, /obj/machinery/alarm/angled{ dir = 8 }, @@ -2401,18 +2400,18 @@ /obj/structure/closet/walllocker_double/misc_civ/east{ name = "supernatural supplies" }, -/obj/item/weapon/entrepreneur/spirit_board, -/obj/item/weapon/entrepreneur/emf, -/obj/item/weapon/entrepreneur/crystal_ball, -/obj/item/weapon/entrepreneur/horoscope, -/obj/item/weapon/deck/tarot, +/obj/item/entrepreneur/spirit_board, +/obj/item/entrepreneur/emf, +/obj/item/entrepreneur/crystal_ball, +/obj/item/entrepreneur/horoscope, +/obj/item/deck/tarot, /turf/simulated/floor/tiled/milspec, /area/stellardelight/deck1/entrepreneur) "ev" = ( /obj/machinery/computer/transhuman/resleeving{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -2445,7 +2444,7 @@ "ez" = ( /obj/structure/table/reinforced, /obj/item/clothing/gloves/sterile/latex, -/obj/item/weapon/reagent_containers/syringe, +/obj/item/reagent_containers/syringe, /turf/simulated/floor/tiled/white, /area/security/detectives_office) "eA" = ( @@ -2536,8 +2535,8 @@ /area/library) "eJ" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin, -/obj/item/weapon/storage/briefcase, +/obj/item/paper_bin, +/obj/item/storage/briefcase, /obj/machinery/light, /turf/simulated/floor/tiled/milspec, /area/stellardelight/deck1/entrepreneur) @@ -2584,7 +2583,7 @@ /area/stellardelight/deck1/starboard) "eO" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/structure/curtain/open/privacy, /obj/structure/sign/painting/library_secure{ pixel_y = 30 @@ -2723,9 +2722,9 @@ /turf/simulated/floor/tiled/white, /area/security/detectives_office) "fe" = ( -/obj/item/device/camera, -/obj/item/weapon/folder/yellow, -/obj/item/weapon/pen, +/obj/item/camera, +/obj/item/folder/yellow, +/obj/item/pen, /obj/structure/cable/green{ color = "#42038a"; icon_state = "1-2" @@ -2816,7 +2815,7 @@ /obj/machinery/r_n_d/circuit_imprinter{ dir = 1 }, -/obj/item/weapon/reagent_containers/glass/beaker/sulphuric, +/obj/item/reagent_containers/glass/beaker/sulphuric, /obj/machinery/light{ dir = 4 }, @@ -2889,19 +2888,19 @@ /turf/simulated/floor/tiled/eris, /area/stellardelight/deck1/researchequip) "fy" = ( -/obj/item/weapon/clipboard, -/obj/item/weapon/folder/red, -/obj/item/weapon/paper_bin{ +/obj/item/clipboard, +/obj/item/folder/red, +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/stamp/ward, -/obj/item/weapon/stamp/denied{ +/obj/item/stamp/ward, +/obj/item/stamp/denied{ pixel_x = 5 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/structure/table/steel_reinforced, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/tiled/dark, @@ -2963,10 +2962,10 @@ /area/security/security_cell_hallway) "fG" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/gps/security{ +/obj/item/gps/security{ pixel_y = 3 }, -/obj/item/device/gps/security{ +/obj/item/gps/security{ pixel_x = -3 }, /obj/effect/floor_decal/milspec/color/red, @@ -3010,7 +3009,7 @@ /area/stellardelight/deck1/resleeving) "fM" = ( /obj/structure/closet/l3closet/scientist, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -3124,7 +3123,7 @@ id = "securitylockdown" }, /obj/effect/floor_decal/milspec/color/red, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/tiled/dark, /area/security/lobby) "fV" = ( @@ -3323,6 +3322,10 @@ /obj/machinery/recharger, /turf/simulated/floor/tiled/techfloor, /area/rnd/workshop) +"gv" = ( +/mob/living/simple_mob/animal/passive/mouse/jerboa/leggy, +/turf/simulated/floor/tiled/eris/steel/cargo, +/area/stellardelight/deck1/miningequipment) "gw" = ( /obj/structure/closet/crate, /obj/random/maintenance, @@ -3361,14 +3364,14 @@ /area/maintenance/stellardelight/deck1/starboardcent) "gC" = ( /obj/structure/table/steel, -/obj/item/device/sleevemate, -/obj/item/device/camera{ +/obj/item/sleevemate, +/obj/item/camera{ name = "Autopsy Camera"; pixel_x = -2; pixel_y = 7 }, /obj/machinery/alarm/angled, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -3383,15 +3386,15 @@ /area/stellardelight/deck1/resleeving) "gE" = ( /obj/structure/closet/wardrobe/chaplain_black, -/obj/item/weapon/storage/fancy/crayons, -/obj/item/weapon/flame/candle/candelabra, -/obj/item/weapon/flame/candle/candelabra, -/obj/item/weapon/flame/candle/candelabra, -/obj/item/weapon/flame/candle/candelabra, -/obj/item/weapon/reagent_containers/food/drinks/bottle/holywater, -/obj/item/weapon/nullrod, -/obj/item/weapon/deck/tarot, -/obj/item/device/retail_scanner/civilian, +/obj/item/storage/fancy/crayons, +/obj/item/flame/candle/candelabra, +/obj/item/flame/candle/candelabra, +/obj/item/flame/candle/candelabra, +/obj/item/flame/candle/candelabra, +/obj/item/reagent_containers/food/drinks/bottle/holywater, +/obj/item/nullrod, +/obj/item/deck/tarot, +/obj/item/retail_scanner/civilian, /turf/simulated/floor/lino, /area/chapel/office) "gF" = ( @@ -3464,7 +3467,7 @@ dir = 4 }, /obj/machinery/power/apc/angled{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; req_access = list(31,5) }, @@ -3773,10 +3776,10 @@ /area/stellardelight/deck1/aft) "hu" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/gun/energy/gun{ +/obj/item/gun/energy/gun{ pixel_y = 7 }, -/obj/item/weapon/gun/energy/gun{ +/obj/item/gun/energy/gun{ pixel_y = -5 }, /obj/effect/floor_decal/milspec/color/black, @@ -3807,7 +3810,6 @@ master_tag = "xenobio_airlock_control"; name = "Xenobiology Access Button"; pixel_y = 32; - req_access = null; req_one_access = list(47,55) }, /obj/machinery/door/airlock/angled_bay/standard/color{ @@ -3870,16 +3872,16 @@ /area/stellardelight/deck1/researchserver) "hC" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_y = -2 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_y = -8 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_y = 4 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_y = 11 }, /obj/machinery/atmospherics/pipe/simple/hidden/universal{ @@ -3988,7 +3990,7 @@ /obj/structure/cable/green{ icon_state = "4-8" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -4078,9 +4080,9 @@ /area/stellardelight/deck1/starboard) "hX" = ( /obj/structure/closet/walllocker_double/engineering/west, -/obj/item/weapon/storage/briefcase/inflatable, -/obj/item/weapon/storage/briefcase/inflatable, -/obj/item/weapon/storage/briefcase/inflatable, +/obj/item/storage/briefcase/inflatable, +/obj/item/storage/briefcase/inflatable, +/obj/item/storage/briefcase/inflatable, /turf/simulated/floor/tiled/eris/white/gray_platform, /area/gateway) "hY" = ( @@ -4122,7 +4124,7 @@ dir = 8 }, /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /obj/effect/floor_decal/milspec/color/orange/half{ dir = 4 }, @@ -4372,7 +4374,7 @@ /turf/simulated/floor, /area/maintenance/stellardelight/deck1/starboardcent) "iB" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -4402,8 +4404,8 @@ /obj/structure/sign/painting/library_private{ pixel_y = -32 }, -/obj/item/weapon/storage/briefcase, -/obj/item/weapon/storage/briefcase, +/obj/item/storage/briefcase, +/obj/item/storage/briefcase, /obj/structure/table/rack, /turf/simulated/floor/wood, /area/library) @@ -4469,10 +4471,10 @@ /obj/structure/table/woodentable, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = 7 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 6 }, /obj/random/coin/sometimes, @@ -4507,7 +4509,6 @@ dir = 4; door_color = "#ffffff"; name = "maintenance access"; - req_one_access = null; stripe_color = "#5a19a8" }, /turf/simulated/floor/tiled/steel_ridged, @@ -4520,11 +4521,11 @@ /area/chapel/main) "iO" = ( /obj/structure/table/steel, -/obj/item/weapon/folder/red{ +/obj/item/folder/red{ pixel_x = 2; pixel_y = 4 }, -/obj/item/weapon/folder/red, +/obj/item/folder/red, /obj/machinery/atmospherics/unary/vent_pump/on, /obj/machinery/alarm/angled, /turf/simulated/floor/tiled/dark, @@ -4716,9 +4717,9 @@ /area/rnd/xenobiology) "jl" = ( /obj/structure/table/steel, -/obj/item/device/retail_scanner/security, -/obj/item/device/taperecorder, -/obj/item/weapon/storage/box/evidence, +/obj/item/retail_scanner/security, +/obj/item/taperecorder, +/obj/item/storage/box/evidence, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 }, @@ -4747,8 +4748,7 @@ /obj/machinery/button/crematorium{ id = "crematorium"; pixel_x = 25; - req_access = list(); - req_one_access = null + req_access = list() }, /turf/simulated/floor/tiled/dark, /area/chapel/chapel_morgue) @@ -4762,7 +4762,7 @@ /obj/structure/table/woodentable, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/item/weapon/storage/pill_bottle/dice_nerd, +/obj/item/storage/pill_bottle/dice_nerd, /turf/simulated/floor/wood, /area/library) "jr" = ( @@ -4802,18 +4802,18 @@ /area/chapel/main) "jt" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, -/obj/item/weapon/cell/high{ +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, /obj/effect/floor_decal/milspec/color/red, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -4957,7 +4957,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -4980,8 +4980,7 @@ /obj/machinery/button/remote/blast_door{ id = "librarywindowlockdown"; name = "Window Lockdown"; - pixel_y = 25; - req_access = null + pixel_y = 25 }, /turf/simulated/floor/carpet, /area/library) @@ -5058,8 +5057,8 @@ /area/stellardelight/deck1/aft) "jU" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/tank/oxygen, -/obj/item/device/suit_cooling_unit, +/obj/item/tank/oxygen, +/obj/item/suit_cooling_unit, /obj/item/clothing/shoes/magboots, /obj/item/clothing/mask/breath, /obj/item/clothing/suit/space/void/expedition_medical, @@ -5316,7 +5315,7 @@ /obj/machinery/computer/message_monitor{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -5405,7 +5404,7 @@ "kM" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/structure/closet/emcloset, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -5630,9 +5629,9 @@ /area/rnd/xenobiology) "lo" = ( /obj/structure/table/woodentable, -/obj/item/device/camera_film, -/obj/item/device/camera_film, -/obj/item/device/taperecorder, +/obj/item/camera_film, +/obj/item/camera_film, +/obj/item/taperecorder, /turf/simulated/floor/carpet, /area/library) "lp" = ( @@ -5726,7 +5725,7 @@ /obj/structure/bed/chair/backed_red{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -5787,12 +5786,16 @@ /obj/machinery/firealarm/angled, /obj/machinery/atmospherics/unary/vent_pump/on, /obj/effect/floor_decal/milspec/color/red, -/obj/item/weapon/storage/box/donut, +/obj/item/storage/box/donut, /turf/simulated/floor/tiled/dark, /area/security/lobby) "lC" = ( -/obj/item/weapon/bedsheet/bluedouble, -/obj/structure/bed/double/padded, +/obj/item/bedsheet/bluedouble{ + dir = 1 + }, +/obj/structure/bed/double/padded{ + dir = 1 + }, /obj/structure/curtain/black, /turf/simulated/floor/carpet, /area/stellardelight/deck1/dorms/dorm8) @@ -5918,8 +5921,8 @@ /area/stellardelight/deck1/shuttlebay) "lQ" = ( /obj/structure/table/steel, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, /turf/simulated/floor/tiled/monotile, /area/janitor) "lR" = ( @@ -5996,7 +5999,7 @@ /obj/machinery/computer/med_data/laptop{ dir = 4 }, -/obj/item/device/radio{ +/obj/item/radio{ anchored = 1; canhear_range = 7; frequency = 1487; @@ -6037,9 +6040,9 @@ /turf/simulated/floor/reinforced, /area/stellardelight/deck1/shuttlebay) "mc" = ( -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, /obj/structure/table/steel, /obj/structure/disposalpipe/trunk{ dir = 1 @@ -6166,23 +6169,23 @@ /obj/structure/sign/painting/library_secure{ pixel_x = -30 }, -/obj/item/weapon/book/bundle/custom_library/fiction/apurrrrfectman, -/obj/item/weapon/book/bundle/custom_library/fiction/beyondthedoor, -/obj/item/weapon/book/bundle/custom_library/fiction/chroniclesofmargatavol1, -/obj/item/weapon/book/bundle/custom_library/fiction/coldmountain, -/obj/item/weapon/book/bundle/custom_library/fiction/ghostship, -/obj/item/weapon/book/bundle/custom_library/fiction/manfromsnowyriver, -/obj/item/weapon/book/bundle/custom_library/fiction/metalglen, -/obj/item/weapon/book/bundle/custom_library/fiction/poemsforarainyday, -/obj/item/weapon/book/bundle/custom_library/fiction/raissue142, -/obj/item/weapon/book/bundle/custom_library/fiction/raissue147, -/obj/item/weapon/book/bundle/custom_library/fiction/silence, -/obj/item/weapon/book/bundle/custom_library/fiction/taleoftherainbowcat, -/obj/item/weapon/book/custom_library/fiction/blacksmithandkinglybloke, -/obj/item/weapon/book/custom_library/fiction/irishairmanforseesdeath, -/obj/item/weapon/book/custom_library/fiction/myrock, -/obj/item/weapon/book/custom_library/fiction/starsandsometimesfallingones, -/obj/item/weapon/book/custom_library/fiction/truelovehathmyheart, +/obj/item/book/bundle/custom_library/fiction/apurrrrfectman, +/obj/item/book/bundle/custom_library/fiction/beyondthedoor, +/obj/item/book/bundle/custom_library/fiction/chroniclesofmargatavol1, +/obj/item/book/bundle/custom_library/fiction/coldmountain, +/obj/item/book/bundle/custom_library/fiction/ghostship, +/obj/item/book/bundle/custom_library/fiction/manfromsnowyriver, +/obj/item/book/bundle/custom_library/fiction/metalglen, +/obj/item/book/bundle/custom_library/fiction/poemsforarainyday, +/obj/item/book/bundle/custom_library/fiction/raissue142, +/obj/item/book/bundle/custom_library/fiction/raissue147, +/obj/item/book/bundle/custom_library/fiction/silence, +/obj/item/book/bundle/custom_library/fiction/taleoftherainbowcat, +/obj/item/book/custom_library/fiction/blacksmithandkinglybloke, +/obj/item/book/custom_library/fiction/irishairmanforseesdeath, +/obj/item/book/custom_library/fiction/myrock, +/obj/item/book/custom_library/fiction/starsandsometimesfallingones, +/obj/item/book/custom_library/fiction/truelovehathmyheart, /turf/simulated/floor/wood, /area/library) "mr" = ( @@ -6241,12 +6244,12 @@ /obj/item/clothing/suit/caution, /obj/item/clothing/suit/caution, /obj/item/clothing/suit/caution, -/obj/item/device/lightreplacer, +/obj/item/lightreplacer, /obj/structure/mopbucket, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/mop, -/obj/item/weapon/storage/bag/trash, -/obj/item/weapon/soap/nanotrasen, +/obj/item/reagent_containers/glass/bucket, +/obj/item/mop, +/obj/item/storage/bag/trash, +/obj/item/soap/nanotrasen, /turf/simulated/floor/tiled/monotile, /area/janitor) "mw" = ( @@ -6383,7 +6386,7 @@ /area/stellardelight/deck1/lowermed) "mK" = ( /obj/structure/table/sifwooden_reinforced, -/obj/item/weapon/storage/box/nifsofts_pilot, +/obj/item/storage/box/nifsofts_pilot, /turf/simulated/floor/tiled/eris/steel/panels, /area/stellardelight/deck1/pilot) "mL" = ( @@ -6406,7 +6409,7 @@ pixel_y = 30 }, /obj/machinery/r_n_d/circuit_imprinter, -/obj/item/weapon/reagent_containers/glass/beaker/sulphuric, +/obj/item/reagent_containers/glass/beaker/sulphuric, /turf/simulated/floor/tiled/steel, /area/assembly/robotics) "mO" = ( @@ -6503,7 +6506,6 @@ dir = 8; door_color = "#333333"; name = "Away Mission Meeting Room"; - req_one_access = null; stripe_color = "#5a19a8" }, /turf/simulated/floor/tiled/steel_ridged, @@ -6563,13 +6565,13 @@ /obj/structure/closet/walllocker_double/misc_civ/west{ name = "personality supplies" }, -/obj/item/device/camera/selfie, -/obj/item/device/tvcamera/streamer, -/obj/item/weapon/makeover, -/obj/item/weapon/nailpolish, -/obj/item/weapon/nailpolish_remover, -/obj/item/weapon/lipstick/random, -/obj/item/weapon/lipstick/random, +/obj/item/camera/selfie, +/obj/item/tvcamera/streamer, +/obj/item/makeover, +/obj/item/nailpolish, +/obj/item/nailpolish_remover, +/obj/item/lipstick/random, +/obj/item/lipstick/random, /turf/simulated/floor/tiled/milspec, /area/stellardelight/deck1/entrepreneur) "ne" = ( @@ -6669,7 +6671,7 @@ /area/stellardelight/deck1/researchserver) "nu" = ( /obj/machinery/transhuman/synthprinter, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -6924,7 +6926,7 @@ /area/stellardelight/deck1/aft) "nV" = ( /obj/structure/table/reinforced, -/obj/item/weapon/forensics/sample_kit/powder, +/obj/item/forensics/sample_kit/powder, /turf/simulated/floor/tiled/white, /area/security/detectives_office) "nW" = ( @@ -6969,9 +6971,9 @@ /area/maintenance/stellardelight/deck1/portfore) "oa" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/hand_labeler, +/obj/item/tool/wrench, +/obj/item/tool/crowbar, +/obj/item/hand_labeler, /turf/simulated/floor/tiled/dark, /area/security/warden) "ob" = ( @@ -7207,6 +7209,12 @@ /obj/structure/closet/crate/bin{ anchored = 1 }, +/obj/machinery/button/remote/airlock/release{ + pixel_y = -22; + pixel_x = 6; + dir = 1; + id = "dorm4" + }, /turf/simulated/floor/carpet, /area/stellardelight/deck1/dorms/dorm4) "oB" = ( @@ -7312,8 +7320,8 @@ /obj/item/clothing/mask/breath, /obj/item/clothing/shoes/magboots, /obj/item/clothing/head/helmet/space/void/mining, -/obj/item/weapon/mining_scanner, -/obj/item/device/radio/intercom{ +/obj/item/mining_scanner, +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -7331,7 +7339,7 @@ /area/library) "oL" = ( /obj/structure/table/steel, -/obj/item/device/integrated_circuit_printer, +/obj/item/integrated_circuit_printer, /turf/simulated/floor/tiled/techfloor, /area/rnd/workshop) "oM" = ( @@ -7375,7 +7383,7 @@ /area/stellardelight/deck1/pilot) "oS" = ( /obj/structure/table/steel, -/obj/item/device/electronic_assembly/large/default, +/obj/item/electronic_assembly/large/default, /obj/machinery/light{ dir = 8 }, @@ -7446,7 +7454,7 @@ /area/stellardelight/deck1/resleeving) "oZ" = ( /obj/structure/table/woodentable, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled/milspec, /area/stellardelight/deck1/explobriefing) "pa" = ( @@ -7545,6 +7553,12 @@ /obj/structure/closet/crate/bin{ anchored = 1 }, +/obj/machinery/button/remote/airlock/release{ + pixel_y = -22; + pixel_x = -8; + dir = 1; + id = "dorm6" + }, /turf/simulated/floor/carpet/purcarpet, /area/stellardelight/deck1/dorms/dorm6) "pn" = ( @@ -7717,11 +7731,11 @@ /area/stellardelight/deck1/exploequipment) "pD" = ( /obj/structure/table/woodentable, -/obj/item/device/tvcamera, +/obj/item/tvcamera, /obj/structure/sign/painting/library_private{ pixel_y = -32 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -8082,7 +8096,7 @@ /obj/effect/floor_decal/milspec/color/red/half{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -8210,15 +8224,15 @@ /area/stellardelight/deck1/miningshuttle) "qI" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/box/flashbangs{ +/obj/item/storage/box/flashbangs{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/storage/box/handcuffs{ +/obj/item/storage/box/handcuffs{ pixel_x = 6; pixel_y = -2 }, -/obj/item/weapon/storage/box/evidence, +/obj/item/storage/box/evidence, /obj/machinery/alarm/angled{ dir = 4 }, @@ -8325,7 +8339,7 @@ pixel_y = 32 }, /obj/effect/catwalk_plated/dark, -/obj/item/device/radio/beacon, +/obj/item/radio/beacon, /turf/simulated/floor, /area/stellardelight/deck1/aft) "qU" = ( @@ -8365,19 +8379,19 @@ /area/prison/cell_block) "qZ" = ( /obj/structure/table/steel, -/obj/item/device/retail_scanner/security, -/obj/item/device/retail_scanner/security, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, +/obj/item/retail_scanner/security, +/obj/item/retail_scanner/security, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, /obj/effect/floor_decal/milspec/color/red, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -8428,14 +8442,14 @@ /area/stellardelight/deck1/port) "rh" = ( /obj/structure/table/steel, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 3 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -6; pixel_y = -3 }, -/obj/item/weapon/storage/box/donut, +/obj/item/storage/box/donut, /turf/simulated/floor/tiled/dark, /area/security/security_equiptment_storage) "ri" = ( @@ -8481,7 +8495,7 @@ /obj/item/clothing/mask/breath, /obj/item/clothing/shoes/magboots, /obj/item/clothing/head/helmet/space/void/mining, -/obj/item/weapon/mining_scanner, +/obj/item/mining_scanner, /obj/machinery/light{ dir = 1 }, @@ -8540,7 +8554,7 @@ /area/maintenance/stellardelight/substation/security) "rt" = ( /obj/structure/table/woodentable, -/obj/item/weapon/folder/blue, +/obj/item/folder/blue, /turf/simulated/floor/tiled/milspec, /area/stellardelight/deck1/explobriefing) "ru" = ( @@ -8569,11 +8583,11 @@ "ry" = ( /obj/machinery/door/firedoor/glass, /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -1; pixel_y = 4 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/machinery/door/blast/angled_shutter/open{ dir = 4; id = "dontlooktmyrobotpenis"; @@ -8665,7 +8679,7 @@ /obj/item/clothing/mask/breath, /obj/item/clothing/shoes/magboots, /obj/item/clothing/head/helmet/space/void/mining, -/obj/item/weapon/mining_scanner, +/obj/item/mining_scanner, /obj/structure/cable/yellow{ icon_state = "0-2" }, @@ -8799,6 +8813,11 @@ /obj/structure/closet/crate/bin{ anchored = 1 }, +/obj/machinery/button/remote/airlock/release{ + pixel_y = 24; + pixel_x = -7; + id = "dorm8" + }, /turf/simulated/floor/carpet, /area/stellardelight/deck1/dorms/dorm8) "rX" = ( @@ -8814,7 +8833,7 @@ /area/security/security_cell_hallway) "rY" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp{ +/obj/item/flashlight/lamp{ pixel_x = -14; pixel_y = 4 }, @@ -8897,16 +8916,21 @@ /turf/simulated/floor/tiled/techmaint, /area/stellardelight/deck1/starboard) "sf" = ( -/obj/machinery/disease2/isolator, /obj/machinery/light/floortube{ dir = 8; pixel_x = -6 }, /obj/machinery/alarm/angled, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, +/obj/structure/closet/crate/medical, +/obj/item/reagent_containers/glass/bottle/culture/cold{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/item/reagent_containers/glass/bottle/culture/flu, /turf/simulated/floor/tiled/eris/white/bluecorner, /area/medical/virology) "sg" = ( @@ -8941,7 +8965,7 @@ /area/rnd/xenobiology/xenoflora) "sl" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/structure/curtain/open/privacy, /obj/machinery/alarm/angled, /obj/machinery/light/small{ @@ -8990,7 +9014,7 @@ /area/assembly/robotics) "sr" = ( /obj/structure/closet/secure_closet/warden, -/obj/item/weapon/book/manual/security_space_law, +/obj/item/book/manual/wiki/security_space_law, /obj/item/gunbox/warden, /obj/machinery/power/apc/angled{ dir = 8 @@ -9001,9 +9025,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 }, -/obj/item/weapon/gun/energy/sizegun, -/obj/item/weapon/storage/box/donut, -/obj/item/device/ticket_printer, +/obj/item/gun/energy/sizegun, +/obj/item/storage/box/donut, +/obj/item/ticket_printer, /turf/simulated/floor/tiled/dark, /area/security/warden) "ss" = ( @@ -9193,14 +9217,14 @@ /area/medical/virology) "sL" = ( /obj/structure/closet/secure_closet/security, -/obj/item/device/holowarrant, +/obj/item/holowarrant, /obj/item/clothing/accessory/badge/holo/cord, /obj/item/clothing/accessory/badge/holo/cord, /obj/machinery/light{ dir = 8 }, /obj/effect/floor_decal/milspec/color/red, -/obj/item/device/ticket_printer, +/obj/item/ticket_printer, /turf/simulated/floor/tiled/dark, /area/security/security_lockerroom) "sM" = ( @@ -9378,16 +9402,16 @@ /obj/structure/closet/walllocker_double/misc_civ/north{ name = "health and wellbeing supplies" }, -/obj/item/weapon/entrepreneur/dumbbell, -/obj/item/weapon/entrepreneur/dumbbell, -/obj/item/weapon/entrepreneur/crystal, -/obj/item/weapon/entrepreneur/crystal, -/obj/item/weapon/entrepreneur/crystal, -/obj/item/weapon/entrepreneur/crystal, -/obj/item/weapon/entrepreneur/crystal, -/obj/item/weapon/reagent_containers/glass/bottle/essential_oil, -/obj/item/weapon/bedsheet/pillow/exercise, -/obj/item/weapon/bedsheet/pillow/exercise, +/obj/item/entrepreneur/dumbbell, +/obj/item/entrepreneur/dumbbell, +/obj/item/entrepreneur/crystal, +/obj/item/entrepreneur/crystal, +/obj/item/entrepreneur/crystal, +/obj/item/entrepreneur/crystal, +/obj/item/entrepreneur/crystal, +/obj/item/reagent_containers/glass/bottle/essential_oil, +/obj/item/bedsheet/pillow/exercise, +/obj/item/bedsheet/pillow/exercise, /obj/item/roller/massage, /turf/simulated/floor/tiled/milspec, /area/stellardelight/deck1/entrepreneur) @@ -9405,14 +9429,14 @@ /obj/item/clothing/shoes/leg_guard/riot, /obj/item/clothing/suit/armor/riot/alt, /obj/item/clothing/head/helmet/riot, -/obj/item/weapon/shield/riot, +/obj/item/shield/riot, /obj/item/clothing/gloves/arm_guard/riot, /obj/item/clothing/shoes/leg_guard/riot, /obj/item/clothing/suit/armor/riot/alt, /obj/item/clothing/head/helmet/riot, -/obj/item/weapon/shield/riot, +/obj/item/shield/riot, /obj/effect/floor_decal/milspec/color/black, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -9571,7 +9595,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -9663,10 +9687,10 @@ /area/maintenance/stellardelight/deck1/starboardfore) "tO" = ( /obj/structure/table/standard, -/obj/item/weapon/hand_labeler, -/obj/item/weapon/pen, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, +/obj/item/hand_labeler, +/obj/item/pen, +/obj/item/packageWrap, +/obj/item/packageWrap, /turf/simulated/floor/tiled/steel_grid, /area/rnd/research) "tP" = ( @@ -9720,8 +9744,8 @@ "tW" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin, -/obj/item/weapon/folder, +/obj/item/paper_bin, +/obj/item/folder, /turf/simulated/floor/tiled/milspec, /area/stellardelight/deck1/entrepreneur) "tX" = ( @@ -9838,7 +9862,7 @@ /obj/structure/cable/green{ icon_state = "4-8" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -9888,7 +9912,6 @@ /obj/machinery/door/airlock/angled_bay/standard/glass{ door_color = "#8c1d11"; name = "Brig"; - req_access = null; req_one_access = list(38,63); stripe_color = "#d27428" }, @@ -9925,18 +9948,18 @@ /area/stellardelight/deck1/starboard) "uy" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/gun/energy/ionrifle/pistol, +/obj/item/gun/energy/ionrifle/pistol, /obj/machinery/camera/network/security, /obj/effect/floor_decal/milspec/color/black, /turf/simulated/floor/tiled/dark, /area/security/armoury) "uz" = ( /obj/structure/table/reinforced, -/obj/item/device/slime_scanner, -/obj/item/device/slime_scanner, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/slime_scanner, +/obj/item/slime_scanner, +/obj/item/reagent_containers/spray/cleaner, /obj/machinery/light, -/obj/item/weapon/storage/box/syringes, +/obj/item/storage/box/syringes, /turf/simulated/floor/tiled/steel_grid, /area/rnd/xenobiology) "uA" = ( @@ -10340,11 +10363,11 @@ /area/stellardelight/deck1/starboard) "vs" = ( /obj/structure/table/steel, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled/dark, /area/security/security_processing) "vt" = ( @@ -10472,7 +10495,6 @@ name = "EVA Shutter"; pixel_x = -5; pixel_y = 24; - req_access = null; req_one_access = list(18,19,43,67) }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -10558,7 +10580,7 @@ /turf/simulated/floor, /area/maintenance/stellardelight/deck1/starboardcent) "vQ" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -10658,8 +10680,8 @@ /area/assembly/robotics) "we" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/box/nifsofts_security, -/obj/item/weapon/hand_labeler, +/obj/item/storage/box/nifsofts_security, +/obj/item/hand_labeler, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, @@ -10748,7 +10770,7 @@ "wq" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin, +/obj/item/paper_bin, /turf/simulated/floor/tiled/milspec, /area/stellardelight/deck1/entrepreneur) "ws" = ( @@ -10769,14 +10791,14 @@ /obj/item/clothing/shoes/magboots, /obj/item/clothing/mask/breath, /obj/item/clothing/mask/breath, -/obj/item/device/suit_cooling_unit{ +/obj/item/suit_cooling_unit{ pixel_y = -5 }, -/obj/item/device/suit_cooling_unit{ +/obj/item/suit_cooling_unit{ pixel_y = -5 }, -/obj/item/weapon/tank/oxygen, -/obj/item/weapon/tank/oxygen, +/obj/item/tank/oxygen, +/obj/item/tank/oxygen, /obj/item/clothing/suit/space/void/pilot, /obj/item/clothing/suit/space/void/pilot, /obj/item/clothing/head/helmet/space/void/pilot, @@ -10936,7 +10958,7 @@ dir = 8 }, /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /obj/machinery/light{ dir = 1 }, @@ -10985,9 +11007,6 @@ /turf/simulated/floor, /area/maintenance/stellardelight/deck1/portaft) "wR" = ( -/obj/machinery/computer/diseasesplicer{ - dir = 1 - }, /turf/simulated/floor/tiled/eris/white/bluecorner, /area/medical/virology) "wS" = ( @@ -11020,7 +11039,7 @@ /turf/simulated/floor, /area/maintenance/stellardelight/deck1/exploration) "wV" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -11111,23 +11130,23 @@ /area/stellardelight/deck1/miningequipment) "xg" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/glass/bottle/biomass{ +/obj/item/reagent_containers/glass/bottle/biomass{ pixel_x = -4; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/glass/bottle/biomass{ +/obj/item/reagent_containers/glass/bottle/biomass{ pixel_x = -7; pixel_y = 4 }, -/obj/item/weapon/reagent_containers/glass/bottle/biomass{ +/obj/item/reagent_containers/glass/bottle/biomass{ pixel_x = 6; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/glass/bottle/biomass{ +/obj/item/reagent_containers/glass/bottle/biomass{ pixel_x = 4; pixel_y = 6 }, -/obj/item/device/flashlight/pen{ +/obj/item/flashlight/pen{ pixel_x = -3; pixel_y = -3 }, @@ -11142,11 +11161,11 @@ /area/stellardelight/deck1/resleeving) "xh" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -2; pixel_y = 8 }, -/obj/item/weapon/pen/blue{ +/obj/item/pen/blue{ pixel_x = 2; pixel_y = 1 }, @@ -11178,11 +11197,11 @@ /obj/structure/closet/walllocker_double/misc_civ/south{ name = "dentistry tools" }, -/obj/item/weapon/entrepreneur/dentist_mirror, -/obj/item/weapon/entrepreneur/dentist_probe, -/obj/item/weapon/entrepreneur/dentist_scaler, -/obj/item/weapon/entrepreneur/dentist_sickle, -/obj/item/device/flashlight/pen, +/obj/item/entrepreneur/dentist_mirror, +/obj/item/entrepreneur/dentist_probe, +/obj/item/entrepreneur/dentist_scaler, +/obj/item/entrepreneur/dentist_sickle, +/obj/item/flashlight/pen, /turf/simulated/floor/tiled/milspec, /area/stellardelight/deck1/entrepreneur) "xl" = ( @@ -11272,7 +11291,7 @@ /obj/random/maintenance, /obj/random/maintenance/cargo, /obj/random/maintenance/clean, -/obj/item/weapon/disk/nifsoft/compliance, +/obj/item/disk/nifsoft/compliance, /turf/simulated/floor, /area/maintenance/stellardelight/deck1/exploration) "xx" = ( @@ -11514,8 +11533,8 @@ /area/maintenance/stellardelight/substation/security) "xX" = ( /obj/structure/table/reinforced, -/obj/item/device/uv_light, -/obj/item/weapon/reagent_containers/spray/luminol, +/obj/item/uv_light, +/obj/item/reagent_containers/spray/luminol, /turf/simulated/floor/tiled/white, /area/security/detectives_office) "xZ" = ( @@ -11560,7 +11579,7 @@ dir = 8 }, /obj/machinery/power/apc/angled{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 4; req_access = list(19,43,67,66,5) }, @@ -11591,7 +11610,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -11693,7 +11712,6 @@ dir = 4; door_color = "#ffffff"; name = "maintenance access"; - req_one_access = null; stripe_color = "#5a19a8" }, /turf/simulated/floor/tiled/steel_ridged, @@ -11701,8 +11719,8 @@ "yq" = ( /obj/structure/table/standard, /obj/machinery/recharger, -/obj/item/device/retail_scanner/science, -/obj/item/device/multitool/scioutpost, +/obj/item/retail_scanner/science, +/obj/item/multitool/scioutpost, /turf/simulated/floor/tiled/steel_grid, /area/rnd/research) "yr" = ( @@ -11889,8 +11907,8 @@ /area/stellardelight/deck1/aft) "yP" = ( /obj/structure/table/woodentable, -/obj/item/weapon/pen, -/obj/item/weapon/paper_bin{ +/obj/item/pen, +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, @@ -11938,16 +11956,16 @@ /area/maintenance/stellardelight/deck1/starboardcent) "yU" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_x = 2; pixel_y = 3 }, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_x = -2; pixel_y = -1 }, /obj/item/clothing/glasses/welding, -/obj/item/weapon/storage/belt/utility, +/obj/item/storage/belt/utility, /obj/machinery/power/apc/angled{ dir = 4 }, @@ -12125,7 +12143,7 @@ /turf/simulated/floor/tiled/eris/white/bluecorner, /area/stellardelight/deck1/paramedic) "zo" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/light_switch{ pixel_y = 25 }, @@ -12134,7 +12152,7 @@ /area/library) "zp" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, @@ -12470,13 +12488,13 @@ /obj/structure/closet/walllocker_double/misc_civ/west{ name = "investigation tools" }, -/obj/item/weapon/entrepreneur/magnifying_glass, +/obj/item/entrepreneur/magnifying_glass, /obj/item/sticky_pad/random, /obj/item/sticky_pad/random, -/obj/item/device/camera, -/obj/item/device/tape, -/obj/item/device/tape, -/obj/item/device/taperecorder, +/obj/item/camera, +/obj/item/rectape, +/obj/item/rectape, +/obj/item/taperecorder, /turf/simulated/floor/tiled/milspec, /area/stellardelight/deck1/entrepreneur) "Ab" = ( @@ -12633,8 +12651,8 @@ /area/rnd/xenobiology/xenoflora) "At" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/tank/oxygen, -/obj/item/device/suit_cooling_unit, +/obj/item/tank/oxygen, +/obj/item/suit_cooling_unit, /obj/item/clothing/shoes/magboots, /obj/item/clothing/mask/breath, /obj/item/clothing/suit/space/void/exploration, @@ -12642,9 +12660,9 @@ /obj/machinery/door/window/brigdoor/eastright{ req_access = list(43) }, -/obj/item/device/bluespaceradio/sd_prelinked, -/obj/item/device/cataloguer/compact, -/obj/item/device/cataloguer/compact, +/obj/item/bluespaceradio/sd_prelinked, +/obj/item/cataloguer/compact, +/obj/item/cataloguer/compact, /turf/simulated/floor/tiled/milspec, /area/stellardelight/deck1/exploequipment) "Au" = ( @@ -12713,7 +12731,7 @@ /area/maintenance/stellardelight/deck1/starboardcent) "AD" = ( /obj/machinery/photocopier, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -12759,11 +12777,11 @@ /obj/structure/bookcase{ name = "bookcase (Non-Fiction)" }, -/obj/item/weapon/book/bundle/custom_library/nonfiction/riseandfallofpersianempire, -/obj/item/weapon/book/bundle/custom_library/nonfiction/skrelliancastesystem, -/obj/item/weapon/book/bundle/custom_library/nonfiction/viabilityofcorporategov, -/obj/item/weapon/book/custom_library/nonfiction/freesirisailightbulbs, -/obj/item/weapon/book/manual/synthetic_life, +/obj/item/book/bundle/custom_library/nonfiction/riseandfallofpersianempire, +/obj/item/book/bundle/custom_library/nonfiction/skrelliancastesystem, +/obj/item/book/bundle/custom_library/nonfiction/viabilityofcorporategov, +/obj/item/book/custom_library/nonfiction/freesirisailightbulbs, +/obj/item/book/manual/synthetic_life, /turf/simulated/floor/wood, /area/library) "AI" = ( @@ -12798,7 +12816,7 @@ }, /obj/structure/window/reinforced, /obj/item/clothing/mask/breath, -/obj/item/weapon/rig/eva/equipped, +/obj/item/rig/eva/equipped, /obj/machinery/door/window/brigdoor/eastright{ req_access = list(11,24) }, @@ -12842,10 +12860,10 @@ /obj/structure/table/woodentable, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = 7 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/carpet, /area/library) "AO" = ( @@ -12855,8 +12873,12 @@ /turf/simulated/floor/tiled/steel_grid, /area/assembly/robotics) "AP" = ( -/obj/item/weapon/bedsheet/bluedouble, -/obj/structure/bed/double/padded, +/obj/item/bedsheet/bluedouble{ + dir = 1 + }, +/obj/structure/bed/double/padded{ + dir = 1 + }, /obj/structure/curtain/black, /turf/simulated/floor/carpet, /area/stellardelight/deck1/dorms/dorm5) @@ -12877,10 +12899,10 @@ /area/rnd/xenobiology/xenoflora_storage) "AS" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/structure/curtain/open/privacy, /obj/machinery/atmospherics/unary/vent_pump/on, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -13068,18 +13090,18 @@ /area/assembly/robotics) "Bo" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/surgery, -/obj/item/weapon/paper{ +/obj/item/storage/firstaid/surgery, +/obj/item/paper{ desc = ""; info = "Stop installing NIFs in here you clods! Unless it's on a synth. Otherwise, STOP DOING IT! You're killing people! -Management"; name = "note to science staff" }, -/obj/item/device/robotanalyzer, +/obj/item/robotanalyzer, /obj/effect/floor_decal/industrial/warning{ dir = 4 }, -/obj/item/device/mmi/digital/posibrain, -/obj/item/device/mmi, +/obj/item/mmi/digital/posibrain, +/obj/item/mmi, /turf/simulated/floor/tiled/steel_dirty, /area/assembly/robotics) "Bq" = ( @@ -13115,7 +13137,7 @@ /obj/effect/floor_decal/milspec/color/red/half{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -13134,12 +13156,12 @@ /area/rnd/research) "Bv" = ( /obj/structure/table/reinforced, -/obj/item/device/reagent_scanner, -/obj/item/device/mass_spectrometer/adv, +/obj/item/reagent_scanner, +/obj/item/mass_spectrometer/adv, /obj/effect/floor_decal/milspec/color/red/half{ dir = 6 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -13224,7 +13246,6 @@ dir = 4; door_color = "#333333"; name = "Shuttle Bay"; - req_one_access = null; stripe_color = "#5a19a8" }, /turf/simulated/floor/tiled/steel_ridged, @@ -13234,7 +13255,7 @@ dir = 8; pixel_x = -6 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -13309,7 +13330,7 @@ "BM" = ( /obj/structure/table/steel_reinforced, /obj/machinery/recharger, -/obj/item/device/ticket_printer, +/obj/item/ticket_printer, /turf/simulated/floor/tiled/dark, /area/security/security_equiptment_storage) "BN" = ( @@ -13386,7 +13407,6 @@ /turf/simulated/wall/bay/black, /area/chapel/main) "BV" = ( -/obj/machinery/disease2/incubator, /obj/structure/reagent_dispensers/virusfood{ pixel_y = 27 }, @@ -13716,12 +13736,11 @@ /area/security/warden) "CJ" = ( /obj/structure/table/glass, -/obj/item/weapon/book/manual/virology, -/obj/item/device/antibody_scanner, -/obj/item/weapon/reagent_containers/glass/beaker, -/obj/item/weapon/paper_bin, -/obj/item/weapon/folder/white, -/obj/item/weapon/pen, +/obj/item/book/manual/virology, +/obj/item/reagent_containers/glass/beaker, +/obj/item/paper_bin, +/obj/item/folder/white, +/obj/item/pen, /obj/machinery/light/floortube{ dir = 4; pixel_x = 6 @@ -13735,7 +13754,7 @@ /turf/simulated/floor/tiled/eris/white/bluecorner, /area/medical/virology) "CK" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -13771,11 +13790,11 @@ }, /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/effect/floor_decal/milspec/color/red, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = 7 }, -/obj/item/weapon/pen, -/obj/item/device/ticket_printer, +/obj/item/pen, +/obj/item/ticket_printer, /turf/simulated/floor/tiled/dark, /area/security/lobby) "CR" = ( @@ -13884,7 +13903,7 @@ /turf/simulated/floor, /area/rnd/storage) "Dc" = ( -/obj/item/weapon/bedsheet/orangedouble, +/obj/item/bedsheet/orangedouble, /obj/structure/bed/double/padded, /obj/structure/curtain/black, /turf/simulated/floor/carpet/purcarpet, @@ -13903,7 +13922,7 @@ /turf/simulated/floor/tiled/techmaint, /area/stellardelight/deck1/aft) "De" = ( -/obj/item/weapon/bedsheet/bluedouble, +/obj/item/bedsheet/bluedouble, /obj/structure/bed/double/padded, /obj/structure/curtain/black, /turf/simulated/floor/carpet, @@ -13979,7 +13998,7 @@ /area/stellardelight/deck1/exterior) "Dm" = ( /obj/structure/bed/chair/backed_red, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -14232,36 +14251,36 @@ /turf/simulated/wall/bay/red, /area/prison/cell_block) "DT" = ( -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = -4; pixel_y = 4 }, -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = 4; pixel_y = -6 }, -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = -4; pixel_y = -6 }, /obj/structure/table/rack/shelf, -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = -4; pixel_y = 4 }, -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = 4; pixel_y = -6 }, -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = -4; pixel_y = -6 }, @@ -14481,8 +14500,8 @@ /obj/structure/closet/secure_closet/personal, /obj/item/clothing/under/bathrobe, /obj/item/clothing/under/bathrobe, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, /turf/simulated/floor/tiled/white, /area/stellardelight/deck1/shower) "Ex" = ( @@ -14589,7 +14608,7 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -14620,7 +14639,7 @@ /area/stellardelight/deck1/exploequipment) "EM" = ( /obj/structure/table/rack, -/obj/item/device/defib_kit/compact/loaded, +/obj/item/defib_kit/compact/loaded, /turf/simulated/floor/tiled/eris/white/bluecorner, /area/stellardelight/deck1/paramedic) "EN" = ( @@ -14688,10 +14707,10 @@ dir = 9 }, /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = 7 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/machinery/light/small{ dir = 4 }, @@ -14754,7 +14773,7 @@ /area/stellardelight/deck1/researchequip) "Fd" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/structure/curtain/open/privacy, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -14778,8 +14797,8 @@ dir = 1 }, /obj/structure/closet/secure_closet/detective, -/obj/item/weapon/reagent_containers/spray/pepper, -/obj/item/device/camera{ +/obj/item/reagent_containers/spray/pepper, +/obj/item/camera{ desc = "A one use - polaroid camera. 30 photos left."; name = "detectives camera"; pictures_left = 30 @@ -15077,10 +15096,10 @@ /area/library) "FM" = ( /obj/structure/table/steel, -/obj/item/device/integrated_electronics/debugger{ +/obj/item/integrated_electronics/debugger{ pixel_x = -5 }, -/obj/item/device/integrated_electronics/wirer{ +/obj/item/integrated_electronics/wirer{ pixel_x = 5 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -15258,15 +15277,15 @@ /obj/structure/closet{ name = "Forensics Gear" }, -/obj/item/weapon/storage/box/gloves, -/obj/item/weapon/storage/box/evidence, -/obj/item/weapon/storage/box/bodybags, -/obj/item/weapon/storage/briefcase/crimekit, -/obj/item/weapon/storage/briefcase/crimekit, +/obj/item/storage/box/gloves, +/obj/item/storage/box/evidence, +/obj/item/storage/box/bodybags, +/obj/item/storage/briefcase/crimekit, +/obj/item/storage/briefcase/crimekit, /obj/effect/floor_decal/milspec/color/red/half{ dir = 5 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -15308,11 +15327,11 @@ /turf/simulated/floor/tiled/steel_ridged, /area/prison/cell_block) "Gn" = ( -/obj/machinery/disease2/diseaseanalyser, /obj/machinery/light/floortube{ dir = 8; pixel_x = -6 }, +/obj/machinery/computer/pandemic, /turf/simulated/floor/tiled/eris/white/bluecorner, /area/medical/virology) "Go" = ( @@ -15341,7 +15360,7 @@ /turf/simulated/wall/bay/r_wall/red, /area/security/tactical) "Gu" = ( -/obj/item/weapon/bedsheet/bluedouble, +/obj/item/bedsheet/bluedouble, /obj/structure/bed/double/padded, /obj/structure/curtain/black, /turf/simulated/floor/carpet, @@ -15357,8 +15376,8 @@ /area/maintenance/stellardelight/deck1/portcent) "Gy" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/tank/oxygen, -/obj/item/device/suit_cooling_unit, +/obj/item/tank/oxygen, +/obj/item/suit_cooling_unit, /obj/item/clothing/shoes/magboots, /obj/item/clothing/mask/breath, /obj/item/clothing/suit/space/void/expedition_medical, @@ -15419,11 +15438,11 @@ /area/maintenance/stellardelight/substation/research) "GG" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/box/bodybags{ +/obj/item/storage/box/bodybags{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/box/bodybags, +/obj/item/storage/box/bodybags, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, @@ -15608,7 +15627,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/item/device/radio/beacon, +/obj/item/radio/beacon, /turf/simulated/floor/tiled/techmaint, /area/stellardelight/deck1/fore) "Hb" = ( @@ -15622,7 +15641,6 @@ door_color = "#a6753d"; name = "Shuttle Bay"; req_access = list(31); - req_one_access = null; stripe_color = "#3b2b1a" }, /turf/simulated/floor/tiled/steel_ridged, @@ -15818,12 +15836,12 @@ /area/stellardelight/deck1/resleeving) "Hz" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/gun/projectile/shotgun/pump{ +/obj/item/gun/projectile/shotgun/pump{ ammo_type = /obj/item/ammo_casing/a12g/pellet; pixel_x = 1; pixel_y = 4 }, -/obj/item/weapon/gun/projectile/shotgun/pump{ +/obj/item/gun/projectile/shotgun/pump{ ammo_type = /obj/item/ammo_casing/a12g/pellet; pixel_x = 2; pixel_y = -6 @@ -15879,10 +15897,10 @@ /area/stellardelight/deck1/aft) "HD" = ( /obj/structure/table/reinforced, -/obj/item/weapon/gun/energy/taser/xeno, -/obj/item/weapon/gun/energy/taser/xeno, -/obj/item/weapon/melee/baton/slime/loaded, -/obj/item/weapon/melee/baton/slime/loaded, +/obj/item/gun/energy/taser/xeno, +/obj/item/gun/energy/taser/xeno, +/obj/item/melee/baton/slime/loaded, +/obj/item/melee/baton/slime/loaded, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, @@ -16003,7 +16021,7 @@ /area/stellardelight/deck1/explobriefing) "HR" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/structure/sign/painting/library_secure{ pixel_y = 30 }, @@ -16042,6 +16060,11 @@ /obj/structure/closet/crate/bin{ anchored = 1 }, +/obj/machinery/button/remote/airlock/release{ + pixel_y = 24; + pixel_x = 7; + id = "dorm1" + }, /turf/simulated/floor/carpet, /area/stellardelight/deck1/dorms/dorm1) "HY" = ( @@ -16117,73 +16140,73 @@ /obj/structure/closet{ name = "robotics equipment" }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ empty = 1; name = "First-Aid (empty)" }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ empty = 1; name = "First-Aid (empty)" }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ empty = 1; name = "First-Aid (empty)" }, -/obj/item/device/healthanalyzer, -/obj/item/device/healthanalyzer, -/obj/item/device/healthanalyzer, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, +/obj/item/healthanalyzer, +/obj/item/healthanalyzer, +/obj/item/healthanalyzer, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, /obj/item/stack/cable_coil, /obj/item/stack/cable_coil, -/obj/item/device/assembly/prox_sensor{ +/obj/item/assembly/prox_sensor{ pixel_x = -8; pixel_y = 4 }, -/obj/item/device/assembly/prox_sensor{ +/obj/item/assembly/prox_sensor{ pixel_x = -8; pixel_y = 4 }, /obj/item/clothing/glasses/omnihud/rnd, -/obj/item/weapon/storage/toolbox/electrical{ +/obj/item/storage/toolbox/electrical{ pixel_x = 1; pixel_y = 6 }, -/obj/item/weapon/storage/belt/utility, -/obj/item/device/multitool{ +/obj/item/storage/belt/utility, +/obj/item/multitool{ pixel_x = 3 }, -/obj/item/weapon/storage/toolbox/mechanical, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, +/obj/item/tool/crowbar, +/obj/item/storage/toolbox/mechanical, /obj/item/clothing/glasses/welding, /obj/item/clothing/glasses/welding, /obj/item/clothing/head/welding{ @@ -16224,19 +16247,19 @@ /obj/structure/cable/pink{ icon_state = "4-8" }, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = -4; pixel_y = -4 }, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = 4; pixel_y = -4 }, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = -4; pixel_y = 5 }, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = 4; pixel_y = 5 }, @@ -16308,14 +16331,14 @@ /area/stellardelight/deck1/starboard) "Is" = ( /obj/structure/closet/secure_closet/security, -/obj/item/device/holowarrant, +/obj/item/holowarrant, /obj/item/clothing/accessory/badge/holo/cord, /obj/item/clothing/accessory/badge/holo/cord, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, /obj/effect/floor_decal/milspec/color/red, -/obj/item/device/ticket_printer, +/obj/item/ticket_printer, /turf/simulated/floor/tiled/dark, /area/security/security_lockerroom) "Iu" = ( @@ -16371,7 +16394,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -16514,7 +16537,7 @@ /obj/machinery/r_n_d/protolathe{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -16629,13 +16652,13 @@ /area/stellardelight/deck1/starboard) "Jc" = ( /obj/structure/table/standard, -/obj/item/weapon/stock_parts/scanning_module{ +/obj/item/stock_parts/scanning_module{ pixel_x = 2; pixel_y = 3 }, -/obj/item/weapon/stock_parts/scanning_module, -/obj/item/weapon/stock_parts/capacitor, -/obj/item/weapon/stock_parts/capacitor, +/obj/item/stock_parts/scanning_module, +/obj/item/stock_parts/capacitor, +/obj/item/stock_parts/capacitor, /obj/machinery/light, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -16876,7 +16899,7 @@ /area/gateway) "JK" = ( /obj/machinery/door/firedoor, -/obj/item/weapon/folder/white, +/obj/item/folder/white, /obj/structure/table/reinforced, /obj/machinery/door/window/brigdoor/westright{ dir = 4; @@ -16884,11 +16907,11 @@ req_access = list(7); req_one_access = list(47) }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -1; pixel_y = 4 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/machinery/door/blast/angled_shutter/open{ dir = 4; id = "rndshutters"; @@ -17033,7 +17056,7 @@ /turf/simulated/floor/tiled/eris/steel/cargo, /area/stellardelight/deck1/oreprocessing) "Kc" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -17156,10 +17179,10 @@ "Kq" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /obj/structure/table/woodentable, -/obj/item/device/taperecorder, -/obj/item/device/tape/random, -/obj/item/device/camera, -/obj/item/device/retail_scanner/civilian, +/obj/item/taperecorder, +/obj/item/rectape/random, +/obj/item/camera, +/obj/item/retail_scanner/civilian, /obj/structure/sign/painting/library_private{ pixel_y = 32 }, @@ -17188,10 +17211,10 @@ /area/stellardelight/deck1/exterior) "Kt" = ( /obj/structure/table/reinforced, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, /turf/simulated/floor/tiled/eris/white/gray_platform, /area/gateway) "Ku" = ( @@ -17475,7 +17498,6 @@ /obj/machinery/door/airlock/angled_bay/standard/glass{ door_color = "#8c1d11"; name = "Brig"; - req_access = null; req_one_access = list(38,63); stripe_color = "#d27428" }, @@ -17584,8 +17606,8 @@ /area/stellardelight/deck1/starboard) "Lp" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/tank/oxygen, -/obj/item/device/suit_cooling_unit, +/obj/item/tank/oxygen, +/obj/item/suit_cooling_unit, /obj/item/clothing/shoes/magboots, /obj/item/clothing/mask/breath, /obj/item/clothing/suit/space/void/exploration, @@ -17593,9 +17615,9 @@ /obj/machinery/door/window/brigdoor/eastleft{ req_access = list(43) }, -/obj/item/device/mapping_unit, -/obj/item/device/cataloguer, -/obj/item/device/cataloguer, +/obj/item/mapping_unit, +/obj/item/cataloguer, +/obj/item/cataloguer, /turf/simulated/floor/tiled/milspec, /area/stellardelight/deck1/exploequipment) "Lq" = ( @@ -17836,7 +17858,7 @@ "LO" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/table/standard, -/obj/item/device/multitool/station_buffered{ +/obj/item/multitool/station_buffered{ pixel_y = 2 }, /turf/simulated/floor/tiled/milspec, @@ -17844,11 +17866,11 @@ "LP" = ( /obj/structure/table/standard, /obj/machinery/cell_charger, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, @@ -17939,7 +17961,6 @@ dir = 4; door_color = "#a88860"; name = "Mining Shuttle"; - req_access = null; req_one_access = list(31,5); stripe_color = "#69461a" }, @@ -17999,7 +18020,7 @@ /area/security/detectives_office) "Mf" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/structure/curtain/open/privacy, /obj/structure/cable/white{ icon_state = "0-2" @@ -18022,11 +18043,11 @@ /area/stellardelight/deck1/starboard) "Mi" = ( /obj/structure/table/standard, -/obj/item/weapon/stock_parts/matter_bin, -/obj/item/weapon/stock_parts/matter_bin, -/obj/item/weapon/stock_parts/console_screen, -/obj/item/weapon/stock_parts/console_screen, -/obj/item/weapon/stock_parts/console_screen, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/console_screen, +/obj/item/stock_parts/console_screen, +/obj/item/stock_parts/console_screen, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, @@ -18043,7 +18064,6 @@ door_color = "#2e2e2e"; fill_color = "#2e2e2e"; name = "Chapel Morgue"; - req_access = null; stripe_color = "#deaf43" }, /turf/simulated/floor/tiled/steel_ridged, @@ -18147,10 +18167,10 @@ /area/stellardelight/deck1/starboard) "My" = ( /obj/structure/table/standard, -/obj/item/weapon/stock_parts/micro_laser, -/obj/item/weapon/stock_parts/micro_laser, -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/manipulator, +/obj/item/stock_parts/micro_laser, +/obj/item/stock_parts/micro_laser, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/manipulator, /obj/machinery/camera/network/research{ dir = 4 }, @@ -18195,7 +18215,7 @@ /obj/item/clothing/mask/breath, /obj/item/clothing/shoes/magboots, /obj/item/clothing/head/helmet/space/void/mining, -/obj/item/weapon/mining_scanner, +/obj/item/mining_scanner, /turf/simulated/floor/tiled/eris/steel/cargo, /area/stellardelight/deck1/miningequipment) "MG" = ( @@ -18351,7 +18371,6 @@ door_color = "#8c1d11"; name = "maintenance access"; req_access = list(4); - req_one_access = null; stripe_color = "#8c1d11" }, /obj/structure/cable/pink{ @@ -18633,9 +18652,9 @@ /area/stellardelight/deck1/lowermed) "Nw" = ( /obj/structure/closet/walllocker_double/medical/north, -/obj/item/weapon/folder/white, -/obj/item/device/healthanalyzer, -/obj/item/weapon/cane, +/obj/item/folder/white, +/obj/item/healthanalyzer, +/obj/item/cane, /obj/item/clothing/accessory/stethoscope, /turf/simulated/floor/tiled/white, /area/medical/patient_wing) @@ -18665,7 +18684,7 @@ /turf/simulated/floor/tiled/dark, /area/chapel/main) "NC" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -18688,7 +18707,7 @@ /area/maintenance/stellardelight/deck1/exploration) "NF" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = 1; pixel_y = 5 }, @@ -18944,18 +18963,18 @@ /area/stellardelight/deck1/aft) "Ol" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/toolbox/mechanical, -/obj/item/device/multitool, -/obj/item/device/gps/medical{ +/obj/item/storage/toolbox/mechanical, +/obj/item/multitool, +/obj/item/gps/medical{ pixel_y = 3 }, -/obj/item/device/gps/medical{ +/obj/item/gps/medical{ pixel_x = -3 }, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = 2 }, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = -1; pixel_y = -3 }, @@ -19018,7 +19037,7 @@ /area/rnd/xenobiology) "Or" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -19282,7 +19301,7 @@ phorontanks = 0 }, /obj/machinery/atmospherics/unary/vent_pump/on, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -19356,7 +19375,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/lino, @@ -19545,8 +19564,8 @@ }, /obj/random/soap, /obj/random/soap, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, /obj/item/clothing/under/bathrobe, /obj/item/clothing/under/bathrobe, /obj/structure/table/standard, @@ -19573,12 +19592,12 @@ /obj/item/clothing/suit/caution, /obj/item/clothing/suit/caution, /obj/item/clothing/suit/caution, -/obj/item/device/lightreplacer, +/obj/item/lightreplacer, /obj/structure/mopbucket, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/mop, -/obj/item/weapon/storage/bag/trash, -/obj/item/weapon/soap/nanotrasen, +/obj/item/reagent_containers/glass/bucket, +/obj/item/mop, +/obj/item/storage/bag/trash, +/obj/item/soap/nanotrasen, /turf/simulated/floor/tiled/monotile, /area/janitor) "PI" = ( @@ -19622,37 +19641,37 @@ /area/security/security_cell_hallway) "PP" = ( /obj/structure/closet/crate, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, /turf/simulated/floor/tiled/eris/steel/cargo, /area/stellardelight/deck1/oreprocessing) "PQ" = ( -/obj/item/weapon/storage/fancy/vials, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/storage/lockbox/vials, -/obj/item/weapon/reagent_containers/dropper, -/obj/item/weapon/storage/box/syringes{ +/obj/item/storage/fancy/vials, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/storage/lockbox/vials, +/obj/item/reagent_containers/dropper, +/obj/item/storage/box/syringes{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/box/beakers, -/obj/item/weapon/storage/box/masks, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/beakers, +/obj/item/storage/box/masks, +/obj/item/storage/box/gloves{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /obj/structure/closet/walllocker_double/medical/east, -/obj/item/weapon/hand_labeler, +/obj/item/hand_labeler, /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 }, -/obj/item/weapon/storage/box/monkeycubes/wolpincubes, +/obj/item/storage/box/monkeycubes/wolpincubes, /turf/simulated/floor/tiled/eris/white/bluecorner, /area/medical/virology) "PR" = ( @@ -19790,14 +19809,14 @@ /area/stellardelight/deck1/port) "Qg" = ( /obj/structure/table/steel, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /obj/machinery/button/remote/blast_door{ id = "processinglockdown"; name = "Window Lockdown"; pixel_x = -5; req_access = list(1) }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -19875,7 +19894,7 @@ /area/stellardelight/deck1/fore) "Qp" = ( /obj/structure/table/glass, -/obj/item/device/healthanalyzer, +/obj/item/healthanalyzer, /obj/item/clothing/accessory/stethoscope, /turf/simulated/floor/tiled/eris/white/bluecorner, /area/medical/exam_room) @@ -20062,7 +20081,7 @@ /turf/simulated/floor, /area/stellardelight/deck1/mining) "QM" = ( -/obj/item/weapon/bedsheet/orangedouble, +/obj/item/bedsheet/orangedouble, /obj/structure/bed/double/padded, /obj/structure/curtain/black, /turf/simulated/floor/carpet/purcarpet, @@ -20076,10 +20095,10 @@ /area/stellardelight/deck1/lowermed) "QP" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/storage/box/trackimp{ +/obj/item/storage/box/trackimp{ pixel_y = -4 }, -/obj/item/weapon/storage/box/trackimp{ +/obj/item/storage/box/trackimp{ pixel_x = 5; pixel_y = 1 }, @@ -20368,12 +20387,12 @@ /obj/item/clothing/suit/caution, /obj/item/clothing/suit/caution, /obj/item/clothing/suit/caution, -/obj/item/device/lightreplacer, +/obj/item/lightreplacer, /obj/structure/mopbucket, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/mop, -/obj/item/weapon/storage/bag/trash, -/obj/item/weapon/soap/nanotrasen, +/obj/item/reagent_containers/glass/bucket, +/obj/item/mop, +/obj/item/storage/bag/trash, +/obj/item/soap/nanotrasen, /turf/simulated/floor/tiled/monotile, /area/janitor) "Rr" = ( @@ -20615,7 +20634,7 @@ /area/rnd/xenobiology) "RP" = ( /obj/structure/table/rack, -/obj/item/weapon/rig/medical/equipped, +/obj/item/rig/medical/equipped, /obj/machinery/light{ dir = 1 }, @@ -20787,9 +20806,9 @@ /area/stellardelight/deck1/exterior) "Se" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/firstaid/adv, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/adv, /obj/item/bodybag/cryobag, /obj/item/bodybag/cryobag, /obj/machinery/alarm/angled{ @@ -20859,7 +20878,7 @@ color = "#42038a"; icon_state = "0-2" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -20943,7 +20962,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -20959,7 +20978,7 @@ /turf/simulated/floor/tiled/dark, /area/security/security_lockerroom) "Sx" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -21133,6 +21152,12 @@ /obj/structure/closet/crate/bin{ anchored = 1 }, +/obj/machinery/button/remote/airlock/release{ + pixel_y = -22; + pixel_x = 6; + dir = 1; + id = "dorm3" + }, /turf/simulated/floor/carpet/purcarpet, /area/stellardelight/deck1/dorms/dorm3) "SQ" = ( @@ -21262,8 +21287,12 @@ /turf/simulated/floor, /area/maintenance/stellardelight/deck1/exploration) "Tc" = ( -/obj/item/weapon/bedsheet/orangedouble, -/obj/structure/bed/double/padded, +/obj/item/bedsheet/orangedouble{ + dir = 1 + }, +/obj/structure/bed/double/padded{ + dir = 1 + }, /obj/structure/curtain/black, /turf/simulated/floor/carpet/purcarpet, /area/stellardelight/deck1/dorms/dorm7) @@ -21272,11 +21301,11 @@ /area/maintenance/stellardelight/deck1/portcent) "Te" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/gun/energy/laser{ +/obj/item/gun/energy/laser{ pixel_x = -1; pixel_y = 2 }, -/obj/item/weapon/gun/energy/laser{ +/obj/item/gun/energy/laser{ pixel_x = -1; pixel_y = -11 }, @@ -21333,7 +21362,7 @@ /area/rnd/research) "Tk" = ( /obj/structure/bed/chair/comfy/black, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -21393,7 +21422,6 @@ /obj/machinery/door/airlock/angled_bay/standard/glass{ door_color = "#ffffff"; name = "Xenobiology"; - req_access = null; req_one_access = list(47,55); stripe_color = "#5a19a8" }, @@ -21498,19 +21526,19 @@ "TD" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/table/standard, -/obj/item/device/gps{ +/obj/item/gps{ pixel_x = 6; pixel_y = 5 }, -/obj/item/device/gps{ +/obj/item/gps{ pixel_x = -6; pixel_y = 5 }, -/obj/item/device/gps{ +/obj/item/gps{ pixel_x = -6; pixel_y = -4 }, -/obj/item/device/gps{ +/obj/item/gps{ pixel_x = 6; pixel_y = -4 }, @@ -21591,8 +21619,12 @@ /turf/simulated/floor/tiled/dark, /area/security/armoury) "TN" = ( -/obj/item/weapon/bedsheet/orangedouble, -/obj/structure/bed/double/padded, +/obj/item/bedsheet/orangedouble{ + dir = 1 + }, +/obj/structure/bed/double/padded{ + dir = 1 + }, /obj/structure/curtain/black, /turf/simulated/floor/carpet/purcarpet, /area/stellardelight/deck1/dorms/dorm6) @@ -21766,7 +21798,7 @@ pixel_x = 32 }, /obj/structure/table/bench/sifwooden/padded, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24; pixel_y = -32 @@ -21987,7 +22019,7 @@ /turf/simulated/floor/tiled, /area/rnd/storage) "Uy" = ( -/obj/item/weapon/bikehorn/rubberducky, +/obj/item/bikehorn/rubberducky, /turf/simulated/floor/tiled/steel_ridged, /area/stellardelight/deck1/shower) "Uz" = ( @@ -22002,7 +22034,7 @@ /area/rnd/research) "UB" = ( /obj/machinery/power/apc/angled{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 1; name = "night shift APC"; nightshift_setting = 2 @@ -22113,7 +22145,7 @@ /area/maintenance/stellardelight/deck1/starboardcent) "UN" = ( /obj/structure/table/steel, -/obj/item/device/electronic_assembly/large/default, +/obj/item/electronic_assembly/large/default, /obj/machinery/light{ dir = 8 }, @@ -22348,7 +22380,7 @@ }, /obj/machinery/atmospherics/unary/vent_pump/on, /obj/structure/table/woodentable, -/obj/item/weapon/book/manual/security_space_law, +/obj/item/book/manual/wiki/security_space_law, /turf/simulated/floor/tiled/milspec, /area/stellardelight/deck1/entrepreneur) "Vp" = ( @@ -22361,51 +22393,50 @@ /obj/structure/sign/painting/library_secure{ pixel_x = 30 }, -/obj/item/weapon/book/bundle/custom_library/reference/ThermodynamicReactionsandResearch, -/obj/item/weapon/book/bundle/custom_library/reference/fbpandprostheticmaintenance, -/obj/item/weapon/book/bundle/custom_library/reference/recyclingprocedures, -/obj/item/weapon/book/custom_library/reference/fistfulofd6splayersguide, -/obj/item/weapon/book/custom_library/reference/securityguidelines, -/obj/item/weapon/book/custom_library/reference/spacesurvivalguidedespressurization, -/obj/item/weapon/book/manual/anomaly_spectroscopy, -/obj/item/weapon/book/manual/anomaly_testing, -/obj/item/weapon/book/manual/atmospipes, -/obj/item/weapon/book/manual/bar_guide, -/obj/item/weapon/book/manual/barman_recipes, -/obj/item/weapon/book/manual/casino, -/obj/item/weapon/book/manual/chef_recipes, -/obj/item/weapon/book/manual/command_guide, -/obj/item/weapon/book/manual/cook_guide, -/obj/item/weapon/book/manual/detective, -/obj/item/weapon/book/manual/engineering_construction, -/obj/item/weapon/book/manual/engineering_guide, -/obj/item/weapon/book/manual/engineering_hacking, -/obj/item/weapon/book/manual/engineering_particle_accelerator, -/obj/item/weapon/book/manual/engineering_singularity_safety, -/obj/item/weapon/book/manual/evaguide, -/obj/item/weapon/book/manual/excavation, -/obj/item/weapon/book/manual/hydroponics_pod_people, -/obj/item/weapon/book/manual/mass_spectrometry, -/obj/item/weapon/book/manual/materials_chemistry_analysis, -/obj/item/weapon/book/manual/medical_cloning, -/obj/item/weapon/book/manual/medical_diagnostics_manual, -/obj/item/weapon/book/manual/research_and_development, -/obj/item/weapon/book/manual/resleeving, -/obj/item/weapon/book/manual/ripley_build_and_repair, -/obj/item/weapon/book/manual/robotics_cyborgs, -/obj/item/weapon/book/manual/robotics_manual, -/obj/item/weapon/book/manual/rust_engine, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/manual/standard_operating_procedure, -/obj/item/weapon/book/manual/stasis, -/obj/item/weapon/book/manual/supermatter_engine, -/obj/item/weapon/book/manual/tesla_engine, -/obj/item/weapon/book/manual/virology, +/obj/item/book/bundle/custom_library/reference/ThermodynamicReactionsandResearch, +/obj/item/book/bundle/custom_library/reference/fbpandprostheticmaintenance, +/obj/item/book/bundle/custom_library/reference/recyclingprocedures, +/obj/item/book/custom_library/reference/fistfulofd6splayersguide, +/obj/item/book/custom_library/reference/securityguidelines, +/obj/item/book/custom_library/reference/spacesurvivalguidedespressurization, +/obj/item/book/manual/anomaly_spectroscopy, +/obj/item/book/manual/anomaly_testing, +/obj/item/book/manual/atmospipes, +/obj/item/book/manual/bar_guide, +/obj/item/book/manual/barman_recipes, +/obj/item/book/manual/casino, +/obj/item/book/manual/chef_recipes, +/obj/item/book/manual/command_guide, +/obj/item/book/manual/cook_guide, +/obj/item/book/manual/detective, +/obj/item/book/manual/wiki/engineering_construction, +/obj/item/book/manual/wiki/engineering_guide, +/obj/item/book/manual/wiki/engineering_hacking, +/obj/item/book/manual/engineering_particle_accelerator, +/obj/item/book/manual/engineering_singularity_safety, +/obj/item/book/manual/evaguide, +/obj/item/book/manual/excavation, +/obj/item/book/manual/hydroponics_pod_people, +/obj/item/book/manual/mass_spectrometry, +/obj/item/book/manual/materials_chemistry_analysis, +/obj/item/book/manual/medical_cloning, +/obj/item/book/manual/wiki/medical_diagnostics_manual, +/obj/item/book/manual/research_and_development, +/obj/item/book/manual/resleeving, +/obj/item/book/manual/ripley_build_and_repair, +/obj/item/book/manual/robotics_cyborgs, +/obj/item/book/manual/wiki/robotics_manual, +/obj/item/book/manual/rust_engine, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/standard_operating_procedure, +/obj/item/book/manual/stasis, +/obj/item/book/manual/supermatter_engine, +/obj/item/book/manual/tesla_engine, +/obj/item/book/manual/virology, /obj/effect/landmark/vermin, /turf/simulated/floor/wood, /area/library) "Vq" = ( -/obj/machinery/computer/centrifuge, /obj/machinery/embedded_controller/radio/airlock/access_controller{ dir = 4; id_tag = "virology_airlock_control"; @@ -22475,6 +22506,11 @@ /obj/structure/closet/crate/bin{ anchored = 1 }, +/obj/machinery/button/remote/airlock/release{ + pixel_y = 24; + pixel_x = -7; + id = "dorm7" + }, /turf/simulated/floor/carpet/purcarpet, /area/stellardelight/deck1/dorms/dorm7) "Vw" = ( @@ -22509,7 +22545,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals6{ dir = 6 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -22590,14 +22626,14 @@ /area/stellardelight/deck1/mining) "VF" = ( /obj/structure/closet/secure_closet/security, -/obj/item/device/holowarrant, +/obj/item/holowarrant, /obj/item/clothing/accessory/badge/holo/cord, /obj/item/clothing/accessory/badge/holo/cord, /obj/machinery/light{ dir = 4 }, /obj/effect/floor_decal/milspec/color/red, -/obj/item/device/ticket_printer, +/obj/item/ticket_printer, /turf/simulated/floor/tiled/dark, /area/security/security_lockerroom) "VG" = ( @@ -22626,7 +22662,7 @@ pixel_x = -8; pixel_y = -4 }, -/obj/item/weapon/storage/lockbox, +/obj/item/storage/lockbox, /turf/simulated/floor/tiled/dark, /area/security/security_equiptment_storage) "VJ" = ( @@ -22760,6 +22796,11 @@ /obj/structure/closet/crate/bin{ anchored = 1 }, +/obj/machinery/button/remote/airlock/release{ + pixel_y = 24; + pixel_x = 7; + id = "dorm2" + }, /turf/simulated/floor/carpet/purcarpet, /area/stellardelight/deck1/dorms/dorm2) "Wb" = ( @@ -22813,7 +22854,7 @@ dir = 4 }, /obj/random/coin/sometimes, -/obj/item/weapon/material/ashtray/glass, +/obj/item/material/ashtray/glass, /turf/simulated/floor/carpet/bcarpet, /area/stellardelight/deck1/port) "Wg" = ( @@ -23074,19 +23115,19 @@ /area/stellardelight/deck1/exploration) "WI" = ( /obj/structure/table/rack/shelf, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = -4; pixel_y = -4 }, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = 4; pixel_y = -4 }, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = -4; pixel_y = 5 }, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = 4; pixel_y = 5 }, @@ -23135,7 +23176,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -23162,10 +23203,10 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, -/obj/item/weapon/tank/jetpack/carbondioxide, -/obj/item/weapon/tank/jetpack/carbondioxide, -/obj/item/weapon/tank/jetpack/carbondioxide, -/obj/item/weapon/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, /obj/effect/landmark/vermin, /turf/simulated/floor/tiled/eris/white/gray_platform, /area/gateway) @@ -23371,10 +23412,10 @@ /area/maintenance/stellardelight/substation/medical) "Xp" = ( /obj/structure/table/steel, -/obj/item/device/integrated_electronics/debugger{ +/obj/item/integrated_electronics/debugger{ pixel_x = -5 }, -/obj/item/device/integrated_electronics/wirer{ +/obj/item/integrated_electronics/wirer{ pixel_x = 5 }, /obj/machinery/power/apc/angled{ @@ -23516,7 +23557,7 @@ /area/stellardelight/deck1/fore) "XD" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -23591,7 +23632,7 @@ /turf/simulated/floor, /area/maintenance/stellardelight/deck1/exploration) "XN" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -23677,7 +23718,7 @@ /area/stellardelight/deck1/shuttlebay) "XX" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = 1; pixel_y = 5 }, @@ -23885,6 +23926,12 @@ /obj/structure/closet/crate/bin{ anchored = 1 }, +/obj/machinery/button/remote/airlock/release{ + pixel_y = -22; + pixel_x = -8; + dir = 1; + id = "dorm5" + }, /turf/simulated/floor/carpet, /area/stellardelight/deck1/dorms/dorm5) "Yt" = ( @@ -23961,9 +24008,9 @@ /obj/structure/sign/painting/library_private{ pixel_x = -32 }, -/obj/item/weapon/book/manual/engineering_hacking, -/obj/item/weapon/book/manual/nuclear, -/obj/item/weapon/book/custom_library/fiction/woodysgotwood, +/obj/item/book/manual/wiki/engineering_hacking, +/obj/item/book/manual/nuclear, +/obj/item/book/custom_library/fiction/woodysgotwood, /turf/simulated/floor/wood, /area/library) "YB" = ( @@ -24130,10 +24177,10 @@ /area/stellardelight/deck1/mining) "YR" = ( /obj/structure/table/glass, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = 4 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /obj/machinery/firealarm/angled{ @@ -24175,14 +24222,14 @@ /area/rnd/xenobiology) "YX" = ( /obj/structure/closet/secure_closet/security, -/obj/item/device/holowarrant, +/obj/item/holowarrant, /obj/item/clothing/accessory/badge/holo/cord, /obj/item/clothing/accessory/badge/holo/cord, /obj/machinery/firealarm/angled{ dir = 4 }, /obj/effect/floor_decal/milspec/color/red, -/obj/item/device/ticket_printer, +/obj/item/ticket_printer, /turf/simulated/floor/tiled/dark, /area/security/security_lockerroom) "YY" = ( @@ -24200,15 +24247,15 @@ dir = 1 }, /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/swabs{ +/obj/item/storage/box/swabs{ layer = 5 }, -/obj/item/weapon/hand_labeler, -/obj/item/weapon/folder/red, -/obj/item/weapon/folder/blue{ +/obj/item/hand_labeler, +/obj/item/folder/red, +/obj/item/folder/blue{ pixel_y = -3 }, -/obj/item/weapon/folder/yellow{ +/obj/item/folder/yellow{ pixel_y = -5 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -24223,14 +24270,14 @@ /area/assembly/robotics) "Zb" = ( /obj/structure/closet/secure_closet/security, -/obj/item/device/holowarrant, +/obj/item/holowarrant, /obj/item/clothing/accessory/badge/holo/cord, /obj/item/clothing/accessory/badge/holo/cord, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, /obj/effect/floor_decal/milspec/color/red, -/obj/item/device/ticket_printer, +/obj/item/ticket_printer, /turf/simulated/floor/tiled/dark, /area/security/security_lockerroom) "Zc" = ( @@ -24346,7 +24393,7 @@ name = "Privacy Shutter Control"; pixel_y = 2 }, -/obj/item/device/robotanalyzer, +/obj/item/robotanalyzer, /turf/simulated/floor/tiled/steel, /area/assembly/robotics) "Zs" = ( @@ -33722,7 +33769,7 @@ pV xf aT MG -vC +gv vi xf ww diff --git a/maps/stellar_delight/stellar_delight2.dmm b/maps/stellar_delight/stellar_delight2.dmm index 577393b28bf..a6d068408db 100644 --- a/maps/stellar_delight/stellar_delight2.dmm +++ b/maps/stellar_delight/stellar_delight2.dmm @@ -21,18 +21,9 @@ /turf/simulated/floor/tiled/eris/white/bluecorner, /area/medical/chemistry) "ae" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 8 - }, -/obj/effect/floor_decal/steeldecal/steel_decals4, -/obj/effect/floor_decal/steeldecal/steel_decals4{ - dir = 10 +/obj/machinery/requests_console/preset/cargo{ + dir = 8; + pixel_x = 30 }, /turf/simulated/floor/tiled/eris/steel/cargo, /area/quartermaster/storage) @@ -43,7 +34,7 @@ /obj/item/honey_frame, /obj/item/honey_frame, /obj/item/honey_frame, -/obj/item/weapon/tool/crowbar, +/obj/item/tool/crowbar, /obj/item/bee_smoker, /obj/item/beehive_assembly, /obj/structure/closet/crate/hydroponics{ @@ -383,7 +374,7 @@ /area/crew_quarters/bar) "aL" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -443,7 +434,7 @@ /obj/effect/floor_decal/milspec/color/green/half{ dir = 4 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, /obj/effect/landmark/start/botanist, @@ -713,7 +704,7 @@ /area/stellardelight/deck2/aftstarboard) "bs" = ( /obj/structure/table/standard, -/obj/item/device/healthanalyzer, +/obj/item/healthanalyzer, /obj/machinery/light{ dir = 8 }, @@ -737,11 +728,11 @@ /area/hydroponics) "bu" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/gloves{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/box/masks, +/obj/item/storage/box/masks, /obj/machinery/power/apc/angled{ dir = 8 }, @@ -806,7 +797,7 @@ /obj/structure/bed/chair/bay/shuttle{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/tiled/techmaint, @@ -851,7 +842,7 @@ /obj/structure/bed/chair/bay/shuttle{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/tiled/techmaint, @@ -870,28 +861,28 @@ /area/stellardelight/deck2/triage) "bK" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/circuitboard/sleeper{ +/obj/item/circuitboard/sleeper{ pixel_x = -3; pixel_y = 3 }, -/obj/item/weapon/circuitboard/sleeper_console{ +/obj/item/circuitboard/sleeper_console{ pixel_x = -2; pixel_y = 2 }, -/obj/item/weapon/circuitboard/body_scanner{ +/obj/item/circuitboard/body_scanner{ pixel_x = -1; pixel_y = 1 }, -/obj/item/weapon/circuitboard/scanner_console, -/obj/item/weapon/circuitboard/grinder{ +/obj/item/circuitboard/scanner_console, +/obj/item/circuitboard/grinder{ pixel_x = 1; pixel_y = -1 }, -/obj/item/weapon/circuitboard/bioprinter{ +/obj/item/circuitboard/bioprinter{ pixel_x = 2; pixel_y = -2 }, -/obj/item/weapon/circuitboard/chem_master{ +/obj/item/circuitboard/chem_master{ pixel_x = 3; pixel_y = -3 }, @@ -934,7 +925,7 @@ /turf/simulated/floor/tiled, /area/stellardelight/deck2/fore) "bO" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -954,14 +945,14 @@ /turf/simulated/floor, /area/maintenance/stellardelight/deck2/portfore) "bQ" = ( -/obj/structure/closet/secure_closet/quartermaster, -/obj/item/weapon/storage/backpack/dufflebag, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 1 - }, /obj/machinery/firealarm/angled{ dir = 8 }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, /turf/simulated/floor/wood, /area/quartermaster/qm) "bR" = ( @@ -1005,8 +996,8 @@ /area/quartermaster/qm) "bV" = ( /obj/structure/table/woodentable, -/obj/item/weapon/book/manual/bar_guide, -/obj/item/device/radio/intercom{ +/obj/item/book/manual/bar_guide, +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -1085,9 +1076,16 @@ /turf/simulated/floor/plating, /area/engineering/storage) "ce" = ( -/obj/machinery/vending/wardrobe/cargodrobe, -/obj/machinery/status_display/supply_display{ - pixel_y = 32 +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/effect/floor_decal/steeldecal/steel_decals4{ + dir = 4 + }, +/obj/effect/floor_decal/steeldecal/steel_decals4{ + dir = 9 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" }, /turf/simulated/floor/tiled/eris/steel/cargo, /area/quartermaster/storage) @@ -1136,7 +1134,7 @@ /area/stellardelight/deck2/aftport) "ck" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the 'Space' from Space Cleaner and written in Chemistry. Scrawled on the back is, 'Okay, whoever filled this with polytrinic acid, it was only funny the first time. It was hard enough replacing the CMO's first cat!'"; name = "Chemistry Cleaner" }, @@ -1484,11 +1482,11 @@ /turf/simulated/floor/tiled, /area/stellardelight/deck2/fore) "cZ" = ( -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = 7; pixel_y = 16 }, -/obj/item/weapon/folder/blue_captain{ +/obj/item/folder/blue_captain{ pixel_x = -6; pixel_y = 7 }, @@ -1499,8 +1497,8 @@ /obj/machinery/requests_console/preset/captain{ pixel_x = -30 }, -/obj/item/weapon/melee/chainofcommand, -/obj/item/weapon/folder/blue_captain{ +/obj/item/melee/chainofcommand, +/obj/item/folder/blue_captain{ pixel_x = -6 }, /turf/simulated/floor/carpet/blucarpet, @@ -1521,7 +1519,7 @@ /area/engineering/locker_room) "db" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "For those who didn't know yet, the big blue box in here is a 'grid checker' which will shut off the power if a dangerous power spike erupts into the powernet, shutting everything down protects everything from electrical damage, however the outages can be disruptive to ship operations, so it is designed to restore power after a somewhat significant delay, up to fifteen minutes or so. The grid checker can be manually hacked in order to end the outage sooner. To do that, you must cut three specific wires which do not cause a red light to shine, then pulse a fourth wire. Electrical protection is highly recommended when doing maintenance on the grid checker."; name = "grid checker info" }, @@ -1529,7 +1527,7 @@ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /turf/simulated/floor/plating, /area/engineering/storage) "dc" = ( @@ -1626,7 +1624,7 @@ /turf/simulated/floor/plating, /area/engineering/storage) "dm" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_x = -32; pixel_y = 24 @@ -1705,7 +1703,7 @@ /turf/simulated/floor/glass/reinforced, /area/stellardelight/deck2/fore) "dw" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/spline/plain{ dir = 1 }, @@ -1952,7 +1950,7 @@ /turf/simulated/floor/tiled, /area/stellardelight/deck2/port) "dY" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /obj/effect/landmark/start/visitor, @@ -2082,7 +2080,7 @@ /obj/effect/floor_decal/milspec/color/blue/half{ dir = 1 }, -/obj/item/device/radio/beacon, +/obj/item/radio/beacon, /turf/simulated/floor/tiled, /area/stellardelight/deck2/central) "en" = ( @@ -2160,7 +2158,7 @@ dir = 8 }, /obj/item/clothing/shoes/black, -/obj/item/device/communicator, +/obj/item/communicator, /turf/simulated/floor/tiled/dark, /area/crew_quarters/locker) "ew" = ( @@ -2237,14 +2235,14 @@ /obj/structure/table/reinforced, /obj/machinery/alarm/angled, /obj/machinery/atmospherics/unary/vent_pump/on, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 6 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_y = 3 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = -3 }, /turf/simulated/floor/tiled/eris/dark/orangecorner, @@ -2283,7 +2281,7 @@ /area/medical/chemistry) "eK" = ( /obj/structure/table/steel, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -2315,7 +2313,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals5{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -2539,7 +2537,7 @@ /obj/machinery/recharger{ pixel_y = 4 }, -/obj/item/device/perfect_tele{ +/obj/item/perfect_tele{ name = "manager's translocator" }, /obj/structure/table/darkglass, @@ -2632,20 +2630,20 @@ /turf/simulated/floor/tiled/eris/white/cargo, /area/stellardelight/deck2/triage) "fy" = ( -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/weapon/tank/emergency/oxygen/engi, -/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, /obj/item/clothing/mask/breath, /obj/item/clothing/mask/breath, /obj/structure/closet/crate/medical{ desc = "A crate full of emergency supplies to help with response and rescue operations. A logo of NanoTrasen with a checkmark is stamped on the crate."; name = "NanoTrasen Emergency Supply Crate" }, -/obj/item/weapon/storage/briefcase/inflatable, -/obj/item/weapon/storage/firstaid/adv, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/briefcase/inflatable, +/obj/item/storage/firstaid/adv, +/obj/item/storage/firstaid/regular, /obj/item/bodybag/cryobag, /obj/item/bodybag/cryobag, /turf/simulated/floor/tiled/eris/dark/monofloor, @@ -2703,13 +2701,13 @@ /turf/simulated/floor/tiled, /area/stellardelight/deck2/aftport) "fE" = ( -/obj/item/weapon/storage/pill_bottle/dice_nerd, -/obj/item/weapon/storage/pill_bottle/dice, -/obj/item/weapon/storage/dicecup, -/obj/item/weapon/deck/cah, -/obj/item/weapon/deck/cah/black, -/obj/item/weapon/deck/cards, -/obj/item/weapon/deck/cards/casino, +/obj/item/storage/pill_bottle/dice_nerd, +/obj/item/storage/pill_bottle/dice, +/obj/item/storage/dicecup, +/obj/item/deck/cah, +/obj/item/deck/cah/black, +/obj/item/deck/cards, +/obj/item/deck/cards/casino, /obj/structure/closet/walllocker_double/misc_civ/north, /turf/simulated/floor/tiled/eris/dark/cargo, /area/crew_quarters/recreation_area) @@ -2817,9 +2815,9 @@ dir = 4; pixel_x = 6 }, -/obj/item/weapon/paper/dockingcodes/sd, -/obj/item/device/radio, -/obj/item/device/radio, +/obj/item/paper/dockingcodes/sd, +/obj/item/radio, +/obj/item/radio, /obj/structure/closet/walllocker_double/command/east, /turf/simulated/floor/tiled/eris/dark/monofloor, /area/bridge) @@ -2887,10 +2885,10 @@ /obj/structure/cable/blue{ icon_state = "4-8" }, -/obj/item/weapon/book/manual/command_guide, -/obj/item/weapon/book/manual/standard_operating_procedure, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/manual/sd_guide, +/obj/item/book/manual/command_guide, +/obj/item/book/manual/standard_operating_procedure, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/sd_guide, /obj/structure/closet/walllocker_double/command/north, /turf/simulated/floor/wood, /area/crew_quarters/captain) @@ -2978,8 +2976,8 @@ /obj/structure/cable/cyan{ icon_state = "1-2" }, -/obj/item/weapon/book/manual/engineering_particle_accelerator, -/obj/item/weapon/book/manual/tesla_engine, +/obj/item/book/manual/engineering_particle_accelerator, +/obj/item/book/manual/tesla_engine, /obj/structure/closet/walllocker_double/engineering/west, /turf/simulated/floor/tiled/eris/dark/techfloor_grid, /area/engineering/engine_room) @@ -3035,12 +3033,12 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/circuitboard/robotics{ +/obj/item/circuitboard/robotics{ pixel_x = -3; pixel_y = 3 }, -/obj/item/weapon/circuitboard/mecha_control, -/obj/item/weapon/circuitboard/aifixer{ +/obj/item/circuitboard/mecha_control, +/obj/item/circuitboard/aifixer{ pixel_x = 3; pixel_y = -3 }, @@ -3163,17 +3161,17 @@ /turf/simulated/floor/reinforced/airless, /area/stellardelight/deck2/combustionworkshop) "gt" = ( -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/tape_roll, -/obj/item/weapon/storage/belt/utility, -/obj/item/device/multitool, +/obj/item/storage/box/lights/mixed, +/obj/item/tape_roll, +/obj/item/storage/belt/utility, +/obj/item/multitool, /obj/fiftyspawner/steel, /obj/structure/closet/walllocker_double/cargo/east, /turf/simulated/floor/tiled/eris/steel/cargo, /area/quartermaster/storage) "gu" = ( /obj/machinery/firealarm/angled, -/obj/item/device/defib_kit/loaded, +/obj/item/defib_kit/loaded, /obj/structure/table/reinforced, /turf/simulated/floor/tiled/eris/white/bluecorner, /area/medical/cmostore) @@ -3258,7 +3256,7 @@ /obj/structure/table/reinforced, /obj/random/powercell, /obj/random/tech_supply, -/obj/item/device/t_scanner, +/obj/item/t_scanner, /turf/simulated/floor/tiled/eris/dark/orangecorner, /area/engineering/workshop) "gE" = ( @@ -3315,8 +3313,8 @@ /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 }, -/obj/item/weapon/circuitboard/tesla_coil, -/obj/item/weapon/circuitboard/tesla_coil, +/obj/item/circuitboard/tesla_coil, +/obj/item/circuitboard/tesla_coil, /obj/structure/closet/walllocker_double/engineering/north, /turf/simulated/floor/tiled/eris/dark/orangecorner, /area/engineering/engine_eva) @@ -3355,27 +3353,23 @@ /turf/simulated/floor/tiled/techmaint, /area/engineering/atmos/storage) "gN" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 8 - }, /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 4 }, /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 9 }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/eris/steel/brown_platform, /area/quartermaster/storage) "gO" = ( /obj/structure/table/standard, -/obj/item/device/destTagger{ +/obj/item/destTagger{ pixel_x = 4; pixel_y = 3 }, -/obj/item/weapon/packageWrap, +/obj/item/packageWrap, /turf/simulated/floor/tiled/eris/steel/brown_platform, /area/quartermaster/storage) "gP" = ( @@ -3515,8 +3509,8 @@ /area/hydroponics) "hi" = ( /obj/structure/closet/walllocker_double/medical/north, -/obj/item/weapon/storage/box/body_record_disk, -/obj/item/device/retail_scanner/medical, +/obj/item/storage/box/body_record_disk, +/obj/item/retail_scanner/medical, /turf/simulated/floor/tiled/eris/white/bluecorner, /area/medical/cmostore) "hj" = ( @@ -3580,7 +3574,6 @@ /obj/machinery/door/airlock/angled_bay/standard/glass{ door_color = "#e6ab22"; name = "Engineering EVA Storage"; - req_access = null; req_one_access = list(11,24); stripe_color = "#913013" }, @@ -3787,8 +3780,8 @@ /area/maintenance/stellardelight/deck2/portfore) "hQ" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/surgery, -/obj/item/device/radio/intercom{ +/obj/item/storage/firstaid/surgery, +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 24 @@ -3846,7 +3839,7 @@ /turf/simulated/floor/tiled/eris/dark/techfloor_grid, /area/engineering/engine_room) "hY" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -4057,9 +4050,6 @@ /area/engineering/atmos/storage) "iB" = ( /obj/structure/filingcabinet/filingcabinet, -/obj/machinery/requests_console/preset/cargo{ - pixel_y = 30 - }, /turf/simulated/floor/tiled/eris/steel/brown_platform, /area/quartermaster/storage) "iC" = ( @@ -4132,7 +4122,7 @@ /obj/machinery/light{ dir = 4 }, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, /turf/simulated/floor/tiled/eris/dark/orangecorner, /area/engineering/workshop) "iJ" = ( @@ -4145,13 +4135,13 @@ /turf/simulated/floor/tiled/techfloor, /area/engineering/atmos/monitoring) "iK" = ( -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/matter_bin, -/obj/item/weapon/stock_parts/matter_bin, -/obj/item/weapon/stock_parts/manipulator, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/manipulator, /obj/structure/table/rack/steel, -/obj/item/weapon/stock_parts/console_screen, -/obj/item/weapon/circuitboard/autolathe, +/obj/item/stock_parts/console_screen, +/obj/item/circuitboard/autolathe, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, @@ -4240,7 +4230,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -4311,8 +4301,8 @@ /area/stellardelight/deck2/port) "jf" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/dropper, /obj/machinery/atmospherics/unary/vent_pump/on, /obj/machinery/injector_maker{ pixel_y = 21 @@ -4341,7 +4331,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals5{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -4365,14 +4355,14 @@ /area/stellardelight/deck2/starboard) "jm" = ( /obj/structure/table/reinforced, -/obj/item/device/gps/engineering{ +/obj/item/gps/engineering{ pixel_x = 3; pixel_y = 6 }, -/obj/item/device/gps/engineering{ +/obj/item/gps/engineering{ pixel_y = 3 }, -/obj/item/device/gps/engineering{ +/obj/item/gps/engineering{ pixel_x = -3 }, /obj/machinery/camera/network/engineering{ @@ -4433,6 +4423,20 @@ }, /turf/simulated/floor/tiled, /area/stellardelight/deck2/aftport) +"ju" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/fuel{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/turf/simulated/floor/tiled/eris/steel/cargo, +/area/quartermaster/storage) "jv" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 @@ -4554,10 +4558,10 @@ /area/stellardelight/deck2/fore) "jG" = ( /obj/structure/table/glass, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = 5 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled/eris/white/bluecorner, /area/medical/reception) "jI" = ( @@ -4734,11 +4738,11 @@ /turf/simulated/floor/tiled, /area/stellardelight/deck2/fore) "ke" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 4; pixel_x = 24 }, @@ -4837,7 +4841,7 @@ /turf/simulated/floor/tiled/techfloor, /area/engineering/atmos/monitoring) "ko" = ( -/obj/item/weapon/storage/secure/briefcase/ml3m_pack_med, +/obj/item/storage/secure/briefcase/ml3m_pack_med, /obj/structure/table/reinforced, /obj/machinery/alarm/angled{ dir = 4 @@ -4857,8 +4861,8 @@ /area/crew_quarters/recreation_area) "kq" = ( /obj/structure/closet/secure_closet/cargotech, -/obj/item/weapon/stamp/cargo, -/obj/item/weapon/storage/backpack/dufflebag, +/obj/item/stamp/cargo, +/obj/item/storage/backpack/dufflebag, /obj/machinery/light{ dir = 4 }, @@ -4878,32 +4882,32 @@ /area/stellardelight/deck2/fore) "ks" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/circuitboard/mech_recharger{ +/obj/item/circuitboard/mech_recharger{ pixel_x = -4; pixel_y = 4 }, -/obj/item/weapon/circuitboard/cell_charger{ +/obj/item/circuitboard/cell_charger{ pixel_x = -3; pixel_y = 3 }, -/obj/item/weapon/circuitboard/recharger{ +/obj/item/circuitboard/recharger{ pixel_x = -2; pixel_y = 2 }, -/obj/item/weapon/circuitboard/recharge_station{ +/obj/item/circuitboard/recharge_station{ pixel_x = -1; pixel_y = 1 }, -/obj/item/weapon/circuitboard/arcade/battle, -/obj/item/weapon/circuitboard/arcade/clawmachine{ +/obj/item/circuitboard/arcade/battle, +/obj/item/circuitboard/arcade/clawmachine{ pixel_x = 1; pixel_y = -1 }, -/obj/item/weapon/circuitboard/arcade/orion_trail{ +/obj/item/circuitboard/arcade/orion_trail{ pixel_x = 2; pixel_y = -2 }, -/obj/item/weapon/circuitboard/jukebox{ +/obj/item/circuitboard/jukebox{ pixel_x = 3; pixel_y = -3 }, @@ -4960,7 +4964,7 @@ "kA" = ( /obj/structure/table/reinforced, /obj/random/toolbox, -/obj/item/device/geiger, +/obj/item/geiger, /obj/machinery/alarm/angled{ dir = 4 }, @@ -5249,26 +5253,10 @@ /turf/simulated/floor/tiled/eris/white/bluecorner, /area/medical/reception) "le" = ( -/obj/machinery/door/firedoor/glass, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 8 - }, -/obj/machinery/door/airlock/angled_bay/standard/color{ - dir = 4; - door_color = "#a6753d"; - fill_color = "#75736f"; - name = "Quartermaster"; - req_access = list(41); - stripe_color = "#3b2b1a" - }, -/turf/simulated/floor/tiled/steel_ridged, -/area/quartermaster/qm) +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled/eris/steel/cargo, +/area/quartermaster/storage) "lf" = ( /obj/machinery/portable_atmospherics/hydroponics, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -5285,8 +5273,8 @@ "lg" = ( /obj/structure/closet/secure_closet/captains, /obj/item/clothing/glasses/omnihud/all, -/obj/item/weapon/disk/nuclear, -/obj/item/device/retail_scanner/command, +/obj/item/disk/nuclear, +/obj/item/retail_scanner/command, /turf/simulated/floor/wood, /area/crew_quarters/captain) "lh" = ( @@ -5354,7 +5342,7 @@ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/hidden/fuel, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -5370,7 +5358,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 8 }, -/obj/item/device/radio/beacon, +/obj/item/radio/beacon, /turf/simulated/floor/tiled, /area/stellardelight/deck2/aftport) "lo" = ( @@ -5444,24 +5432,24 @@ /area/stellardelight/deck2/starboard) "lw" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/circuitboard/powermonitor{ +/obj/item/circuitboard/powermonitor{ pixel_x = -3; pixel_y = 3 }, -/obj/item/weapon/circuitboard/stationalert_engineering{ +/obj/item/circuitboard/stationalert_engineering{ pixel_x = -2; pixel_y = 2 }, -/obj/item/weapon/circuitboard/atmos_alert{ +/obj/item/circuitboard/atmos_alert{ pixel_x = -1; pixel_y = 1 }, -/obj/item/weapon/circuitboard/rcon_console, -/obj/item/weapon/circuitboard/atmoscontrol{ +/obj/item/circuitboard/rcon_console, +/obj/item/circuitboard/atmoscontrol{ pixel_x = 1; pixel_y = -1 }, -/obj/item/weapon/circuitboard/drone_control{ +/obj/item/circuitboard/drone_control{ pixel_x = 2; pixel_y = -2 }, @@ -5524,7 +5512,7 @@ /obj/machinery/computer/communications{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -5613,7 +5601,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -5753,8 +5741,8 @@ dir = 8; layer = 2.6 }, -/obj/item/weapon/tank/jetpack/carbondioxide, -/obj/item/weapon/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, /turf/simulated/floor/tiled/eris/dark/orangecorner, /area/engineering/engine_eva) "lY" = ( @@ -5861,7 +5849,7 @@ "mj" = ( /obj/machinery/atmospherics/pipe/simple/hidden/universal, /obj/machinery/power/apc/angled{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 4; name = "night shift APC"; nightshift_setting = 2 @@ -6021,14 +6009,14 @@ /turf/simulated/floor/tiled/techfloor, /area/engineering/atmos/monitoring) "mE" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, /obj/structure/cable/yellow{ - icon_state = "4-8" + icon_state = "2-4" }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 + dir = 6 }, /turf/simulated/floor/wood, /area/quartermaster/qm) @@ -6051,15 +6039,15 @@ }, /obj/item/clothing/shoes/black, /obj/machinery/light, -/obj/item/device/communicator, +/obj/item/communicator, /turf/simulated/floor/tiled/dark, /area/crew_quarters/locker) "mH" = ( /obj/structure/table/steel_reinforced, /obj/machinery/atmospherics/unary/vent_scrubber/on, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/folder/red, -/obj/item/weapon/folder/blue, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/folder/red, +/obj/item/folder/blue, /obj/machinery/power/apc/angled{ dir = 8; name = "night shift APC"; @@ -6138,8 +6126,8 @@ /area/medical/psych) "mQ" = ( /obj/structure/table/standard, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, +/obj/item/packageWrap, +/obj/item/packageWrap, /obj/machinery/power/apc/angled{ dir = 1 }, @@ -6176,7 +6164,7 @@ /turf/simulated/wall/bay/steel, /area/storage/art) "mU" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -6199,24 +6187,24 @@ /area/stellardelight/deck2/fore) "mW" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/dropper, -/obj/item/device/radio/intercom{ +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/dropper, +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/tiled/eris/white/bluecorner, /area/medical/chemistry) "mX" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen/red{ +/obj/item/pen/red{ pixel_x = -1; pixel_y = 3 }, -/obj/item/weapon/pen/blue{ +/obj/item/pen/blue{ pixel_x = -5; pixel_y = -1 }, @@ -6465,7 +6453,7 @@ /obj/structure/table/standard, /obj/item/clothing/head/soft, /obj/item/clothing/head/soft, -/obj/item/weapon/stamp{ +/obj/item/stamp{ pixel_x = -3; pixel_y = 3 }, @@ -6483,8 +6471,8 @@ dir = 4 }, /obj/structure/closet/walllocker_double/medical/north, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /obj/random/medical/lite, /obj/random/medical/lite, /obj/item/bodybag/cryobag, @@ -6572,7 +6560,7 @@ /obj/effect/floor_decal/milspec/color/green/corner{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -6697,8 +6685,8 @@ /area/stellardelight/deck2/triage) "oh" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/surgery, -/obj/item/device/radio/intercom{ +/obj/item/storage/firstaid/surgery, +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -6811,7 +6799,7 @@ /obj/machinery/computer/supplycomp/control{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 24 @@ -6934,14 +6922,14 @@ /area/crew_quarters/bar) "oK" = ( /obj/structure/table/standard, -/obj/item/device/defib_kit/loaded, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/defib_kit/loaded, +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; pixel_y = 2 }, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 4; pixel_x = 24 }, @@ -7109,8 +7097,8 @@ /area/medical/cryo) "pg" = ( /obj/structure/closet/secure_closet/medical3, -/obj/item/weapon/soap/nanotrasen, -/obj/item/weapon/storage/belt/medical, +/obj/item/soap/nanotrasen, +/obj/item/storage/belt/medical, /turf/simulated/floor/tiled/eris/white/bluecorner, /area/medical/cmostore) "ph" = ( @@ -7355,7 +7343,7 @@ /area/medical/reception) "pN" = ( /obj/structure/reagent_dispensers/watertank, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /obj/machinery/light{ dir = 1 }, @@ -7397,13 +7385,13 @@ name = "formal wardrobe" }, /obj/item/glass_jar, -/obj/item/device/retail_scanner/civilian, -/obj/item/device/retail_scanner/civilian, -/obj/item/device/destTagger{ +/obj/item/retail_scanner/civilian, +/obj/item/retail_scanner/civilian, +/obj/item/destTagger{ pixel_x = 4; pixel_y = 3 }, -/obj/item/weapon/packageWrap, +/obj/item/packageWrap, /turf/simulated/floor/wood, /area/stellardelight/deck2/barbackroom) "pS" = ( @@ -7477,7 +7465,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -7518,7 +7506,7 @@ /turf/simulated/floor/tiled, /area/stellardelight/deck2/aftport) "qd" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -7575,7 +7563,7 @@ /obj/structure/window/reinforced{ dir = 1 }, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_y = -6 }, /turf/simulated/floor/tiled/eris/white/bluecorner, @@ -7655,11 +7643,11 @@ /area/engineering/storage) "qs" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/fancy/crayons, -/obj/item/weapon/storage/fancy/crayons, -/obj/item/weapon/storage/fancy/crayons, -/obj/item/weapon/storage/fancy/crayons, -/obj/item/weapon/storage/fancy/crayons, +/obj/item/storage/fancy/crayons, +/obj/item/storage/fancy/crayons, +/obj/item/storage/fancy/crayons, +/obj/item/storage/fancy/crayons, +/obj/item/storage/fancy/crayons, /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/machinery/newscaster{ pixel_y = 28 @@ -7736,28 +7724,28 @@ /area/engineering/workshop) "qA" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/circuitboard/skills{ +/obj/item/circuitboard/skills{ pixel_x = -3; pixel_y = 3 }, -/obj/item/weapon/circuitboard/med_data{ +/obj/item/circuitboard/med_data{ pixel_x = -2; pixel_y = 2 }, -/obj/item/weapon/circuitboard/secure_data{ +/obj/item/circuitboard/secure_data{ pixel_x = -1; pixel_y = 1 }, -/obj/item/weapon/circuitboard/security, -/obj/item/weapon/circuitboard/security/engineering{ +/obj/item/circuitboard/security, +/obj/item/circuitboard/security/engineering{ pixel_x = 1; pixel_y = -1 }, -/obj/item/weapon/circuitboard/security/mining{ +/obj/item/circuitboard/security/mining{ pixel_x = 2; pixel_y = -2 }, -/obj/item/weapon/circuitboard/stationalert_security{ +/obj/item/circuitboard/stationalert_security{ pixel_x = 3; pixel_y = -3 }, @@ -7866,7 +7854,7 @@ /turf/simulated/floor/plating, /area/medical/chemistry) "qS" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, /obj/effect/floor_decal/spline/plain{ @@ -7922,15 +7910,15 @@ /obj/random/tech_supply/component/nofail, /obj/random/tech_supply/component/nofail, /obj/random/tech_supply/component/nofail, -/obj/item/device/flash, -/obj/item/device/flash, -/obj/item/device/integrated_electronics/debugger{ +/obj/item/flash, +/obj/item/flash, +/obj/item/integrated_electronics/debugger{ pixel_x = -5 }, -/obj/item/device/integrated_electronics/wirer{ +/obj/item/integrated_electronics/wirer{ pixel_x = 5 }, -/obj/item/device/integrated_circuit_printer, +/obj/item/integrated_circuit_printer, /obj/structure/table/steel, /obj/machinery/alarm/angled, /turf/simulated/floor/tiled/eris/dark/techfloor_grid, @@ -8115,22 +8103,22 @@ pixel_x = -1; pixel_y = -42 }, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/spacespice, -/obj/item/weapon/reagent_containers/food/condiment/spacespice, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/spacespice, +/obj/item/reagent_containers/food/condiment/spacespice, +/obj/item/reagent_containers/food/condiment/carton/sugar, +/obj/item/reagent_containers/food/condiment/carton/sugar, +/obj/item/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/small/peppermill, +/obj/item/reagent_containers/food/condiment/small/peppermill, /obj/machinery/button/remote/blast_door{ dir = 1; id = "kitchenhallway"; @@ -8177,7 +8165,6 @@ /obj/machinery/door/airlock/angled_bay/standard/glass{ door_color = "#e6ab22"; name = "Engineering Workshop"; - req_access = null; req_one_access = list(11,24); stripe_color = "#913013" }, @@ -8194,7 +8181,7 @@ /area/storage/primary) "ry" = ( /obj/structure/table/rack, -/obj/item/weapon/tank/jetpack, +/obj/item/tank/jetpack, /obj/item/clothing/mask/gas, /obj/item/clothing/suit/space/void/captain, /obj/item/clothing/head/helmet/space/void/captain, @@ -8210,7 +8197,7 @@ /obj/structure/window/reinforced{ dir = 1 }, -/obj/item/weapon/card/id/gold/captain/spare{ +/obj/item/card/id/gold/captain/spare{ name = "\improper Captain's spare ID" }, /turf/simulated/floor/wood, @@ -8255,7 +8242,7 @@ /obj/machinery/newscaster{ pixel_y = 28 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -8323,7 +8310,7 @@ department = "Service"; pixel_y = 26 }, -/obj/item/device/retail_scanner/civilian, +/obj/item/retail_scanner/civilian, /turf/simulated/floor/tiled, /area/hydroponics) "rP" = ( @@ -8477,7 +8464,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals5{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -8496,7 +8483,7 @@ /turf/simulated/floor/tiled/steel_ridged, /area/quartermaster/storage) "sl" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -8544,7 +8531,7 @@ /turf/simulated/floor, /area/medical/chemistry) "sr" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, /obj/effect/floor_decal/spline/plain{ @@ -8797,16 +8784,16 @@ icon_state = "crate"; name = "Grenade Crate" }, -/obj/item/weapon/grenade/chem_grenade, -/obj/item/weapon/grenade/chem_grenade, -/obj/item/weapon/grenade/chem_grenade, -/obj/item/device/assembly/timer, -/obj/item/device/assembly/timer, -/obj/item/device/assembly/timer, -/obj/item/device/assembly/igniter, -/obj/item/device/assembly/igniter, -/obj/item/device/assembly/igniter, -/obj/item/weapon/tool/screwdriver, +/obj/item/grenade/chem_grenade, +/obj/item/grenade/chem_grenade, +/obj/item/grenade/chem_grenade, +/obj/item/assembly/timer, +/obj/item/assembly/timer, +/obj/item/assembly/timer, +/obj/item/assembly/igniter, +/obj/item/assembly/igniter, +/obj/item/assembly/igniter, +/obj/item/tool/screwdriver, /obj/structure/table/reinforced, /obj/machinery/light, /turf/simulated/floor/tiled/eris/white/bluecorner, @@ -8933,11 +8920,11 @@ /area/engineering/engine_eva) "tn" = ( /obj/structure/table/standard, -/obj/item/device/camera{ +/obj/item/camera{ pixel_x = -2; pixel_y = 9 }, -/obj/item/device/camera{ +/obj/item/camera{ pixel_x = 2; pixel_y = 3 }, @@ -8977,8 +8964,8 @@ /area/crew_quarters/recreation_area) "tt" = ( /obj/structure/table/standard, -/obj/item/weapon/folder/yellow, -/obj/item/weapon/pen/red{ +/obj/item/folder/yellow, +/obj/item/pen/red{ pixel_x = 2; pixel_y = 6 }, @@ -9180,21 +9167,21 @@ /turf/simulated/floor/tiled, /area/stellardelight/deck2/port) "tV" = ( -/obj/item/weapon/storage/box/nifsofts_medical{ +/obj/item/storage/box/nifsofts_medical{ pixel_x = 7; pixel_y = 7 }, -/obj/item/weapon/storage/box/nifsofts_medical, +/obj/item/storage/box/nifsofts_medical, /obj/structure/table/reinforced, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = -4; pixel_y = 4 }, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = 4; pixel_y = -4 }, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = 7; pixel_y = 8 }, @@ -9442,8 +9429,8 @@ /area/stellardelight/deck2/combustionworkshop) "uv" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/surgery, -/obj/item/device/radio/intercom{ +/obj/item/storage/firstaid/surgery, +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 24 @@ -9476,7 +9463,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -9683,11 +9670,10 @@ /turf/simulated/floor/tiled/eris/steel/brown_platform, /area/crew_quarters/bar) "uY" = ( -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/turf/simulated/floor/tiled/eris/steel/brown_platform, -/area/quartermaster/storage) +/obj/structure/closet/secure_closet/quartermaster, +/obj/item/storage/backpack/dufflebag, +/turf/simulated/floor/wood, +/area/quartermaster/qm) "uZ" = ( /obj/machinery/button/remote/blast_door{ dir = 8; @@ -9696,8 +9682,8 @@ pixel_x = 24 }, /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/glass/rag, -/obj/item/weapon/reagent_containers/food/drinks/shaker{ +/obj/item/reagent_containers/glass/rag, +/obj/item/reagent_containers/food/drinks/shaker{ pixel_x = -7; pixel_y = 11 }, @@ -9757,10 +9743,10 @@ /area/stellardelight/deck2/triage) "vf" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{ +/obj/item/reagent_containers/glass/beaker/cryoxadone{ pixel_x = -4 }, -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{ +/obj/item/reagent_containers/glass/beaker/cryoxadone{ pixel_x = 7; pixel_y = 1 }, @@ -9822,8 +9808,8 @@ "vo" = ( /obj/structure/table/reinforced, /obj/machinery/recharger, -/obj/item/weapon/cell/device, -/obj/item/weapon/cell/device, +/obj/item/cell/device, +/obj/item/cell/device, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, @@ -9880,9 +9866,6 @@ /turf/simulated/floor, /area/engineering/atmos/monitoring) "vy" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, /obj/structure/cable/yellow{ icon_state = "2-8" }, @@ -9943,16 +9926,16 @@ /area/engineering/atmos/monitoring) "vG" = ( /obj/structure/closet/walllocker_double/medical/north, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = 5; pixel_y = 8 }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = 5; pixel_y = 8 }, -/obj/item/weapon/storage/belt/medical, -/obj/item/weapon/storage/belt/medical, +/obj/item/storage/belt/medical, +/obj/item/storage/belt/medical, /obj/item/clothing/gloves/sterile/nitrile, /obj/item/clothing/gloves/sterile/nitrile, /obj/random/tetheraid, @@ -10095,12 +10078,12 @@ /turf/simulated/floor/tiled/steel_ridged, /area/stellardelight/deck2/port) "vY" = ( -/obj/item/device/radio/headset/headset_med, -/obj/item/weapon/storage/box/syringes, -/obj/item/weapon/storage/fancy/vials, -/obj/item/weapon/storage/fancy/vials, -/obj/item/weapon/storage/box/pillbottles, -/obj/item/weapon/storage/box/pillbottles, +/obj/item/radio/headset/headset_med, +/obj/item/storage/box/syringes, +/obj/item/storage/fancy/vials, +/obj/item/storage/fancy/vials, +/obj/item/storage/box/pillbottles, +/obj/item/storage/box/pillbottles, /obj/structure/closet/wardrobe/chemistry_white, /turf/simulated/floor/tiled/eris/white/bluecorner, /area/medical/chemistry) @@ -10312,8 +10295,8 @@ /area/stellardelight/deck2/port) "wC" = ( /obj/machinery/recharger, -/obj/item/weapon/storage/box/syringegun, -/obj/item/weapon/gun/launcher/syringe, +/obj/item/storage/box/syringegun, +/obj/item/gun/launcher/syringe, /obj/structure/table/reinforced, /turf/simulated/floor/tiled/eris/white/bluecorner, /area/medical/cmostore) @@ -10349,11 +10332,11 @@ /obj/machinery/computer/security/telescreen/entertainment{ pixel_y = 30 }, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -3; pixel_y = 4 }, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 2; pixel_y = 7 }, @@ -10582,10 +10565,10 @@ /turf/simulated/floor/tiled/white, /area/medical/surgery) "xk" = ( -/obj/machinery/photocopier, /obj/machinery/light{ dir = 1 }, +/obj/machinery/vending/wardrobe/cargodrobe, /turf/simulated/floor/tiled/eris/steel/cargo, /area/quartermaster/storage) "xl" = ( @@ -10660,7 +10643,7 @@ /obj/machinery/computer/skills{ pixel_x = 9 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -7; pixel_y = -2 }, @@ -10810,7 +10793,7 @@ "xJ" = ( /obj/structure/table/reinforced, /obj/machinery/chemical_dispenser/biochemistry/full, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -10920,7 +10903,7 @@ dir = 8; pixel_x = -12 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -10953,13 +10936,13 @@ /area/stellardelight/deck2/starboard) "xY" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; pixel_y = 2 }, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 8; pixel_x = -24 }, @@ -11043,14 +11026,14 @@ icon_state = "4-8" }, /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/dropper, -/obj/item/weapon/reagent_containers/glass/beaker{ +/obj/item/reagent_containers/dropper, +/obj/item/reagent_containers/glass/beaker{ pixel_x = 5 }, -/obj/item/weapon/reagent_containers/food/condiment/enzyme{ +/obj/item/reagent_containers/food/condiment/enzyme{ layer = 5 }, -/obj/item/weapon/reagent_containers/food/condiment/enzyme{ +/obj/item/reagent_containers/food/condiment/enzyme{ layer = 5 }, /turf/simulated/floor/tiled/eris/cafe, @@ -11078,7 +11061,6 @@ door_color = "#e6ab22"; name = "maintenance access"; req_access = list(11,24); - req_one_access = null; stripe_color = "#e6ab22" }, /obj/structure/cable/orange{ @@ -11386,13 +11368,13 @@ /turf/simulated/floor/tiled/white, /area/medical/surgery) "yV" = ( -/obj/item/device/sleevemate, -/obj/item/device/denecrotizer/medical, +/obj/item/sleevemate, +/obj/item/denecrotizer/medical, /obj/structure/table/reinforced, /obj/machinery/light{ dir = 4 }, -/obj/item/weapon/gun/energy/mouseray/medical, +/obj/item/gun/energy/mouseray/medical, /turf/simulated/floor/tiled/eris/white/bluecorner, /area/medical/cmostore) "yW" = ( @@ -11587,7 +11569,7 @@ dir = 4 }, /obj/machinery/power/apc/angled{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "night shift APC"; nightshift_setting = 2 @@ -11865,7 +11847,7 @@ /area/crew_quarters/locker) "Af" = ( /obj/structure/table/reinforced, -/obj/item/device/retail_scanner/engineering, +/obj/item/retail_scanner/engineering, /turf/simulated/floor/tiled/eris/dark/orangecorner, /area/engineering/workshop) "Ag" = ( @@ -11897,16 +11879,16 @@ /area/stellardelight/deck2/starboard) "Ak" = ( /obj/structure/table/standard, -/obj/item/weapon/material/knife/butch, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/knife/butch, +/obj/item/material/kitchen/rollingpin, /turf/simulated/floor/tiled/eris/cafe, /area/crew_quarters/kitchen) "Al" = ( /obj/structure/table/fancyblack, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = 5 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/carpet/sblucarpet, /area/stellardelight/deck2/briefingroom) "Am" = ( @@ -12165,11 +12147,11 @@ pixel_x = -15; pixel_y = 2 }, -/obj/item/weapon/stamp/captain{ +/obj/item/stamp/captain{ pixel_x = 10; pixel_y = 6 }, -/obj/item/weapon/coin/phoron{ +/obj/item/coin/phoron{ desc = "The face of the coin shows a portrait of the explorer who discovered the Virgo-Erigone system. The back depicts a Zodiac symbol that represents Virgo."; name = "limited edition phoron coin"; pixel_x = 11; @@ -12194,12 +12176,12 @@ /area/hydroponics) "AS" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/circuitboard/algae_farm{ +/obj/item/circuitboard/algae_farm{ pixel_x = -3; pixel_y = 3 }, -/obj/item/weapon/circuitboard/unary_atmos/heater, -/obj/item/weapon/circuitboard/unary_atmos/cooler{ +/obj/item/circuitboard/unary_atmos/heater, +/obj/item/circuitboard/unary_atmos/cooler{ pixel_x = 3; pixel_y = -3 }, @@ -12483,7 +12465,7 @@ /area/engineering/engine_eva) "BC" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -12493,7 +12475,6 @@ /obj/machinery/door/firedoor/glass, /obj/machinery/door/airlock/angled_bay/standard/glass{ door_color = "#9c9c9c"; - fill_color = null; name = "Commons"; stripe_color = "#89bd66" }, @@ -12533,8 +12514,8 @@ /area/hydroponics) "BI" = ( /obj/structure/table/standard, -/obj/item/weapon/clipboard, -/obj/item/weapon/stamp/qm, +/obj/item/clipboard, +/obj/item/stamp/qm, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/wood, /area/quartermaster/qm) @@ -12546,7 +12527,7 @@ /turf/simulated/floor/tiled/eris/steel/brown_platform, /area/crew_quarters/bar) "BK" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/hologram/holopad, /turf/simulated/floor/carpet, /area/crew_quarters/recreation_area) @@ -12558,8 +12539,8 @@ /area/stellardelight/deck2/aftport) "BM" = ( /obj/structure/table/standard, -/obj/item/weapon/folder/yellow, -/obj/item/weapon/stamp/denied{ +/obj/item/folder/yellow, +/obj/item/stamp/denied{ pixel_x = 4; pixel_y = -2 }, @@ -12568,8 +12549,15 @@ pixel_y = 6 }, /obj/machinery/camera/network/cargo, -/obj/item/device/retail_scanner/cargo, -/obj/item/weapon/stamp/accepted, +/obj/item/retail_scanner/cargo, +/obj/item/stamp/accepted, +/obj/machinery/button/remote/blast_door{ + dir = 8; + id = "cargo_desk"; + name = "Cargo Shutter Control"; + pixel_x = 24; + pixel_y = 24 + }, /turf/simulated/floor/tiled/eris/steel/brown_platform, /area/quartermaster/storage) "BN" = ( @@ -12636,7 +12624,7 @@ layer = 3.3; name = "Bar Shutters" }, -/obj/item/weapon/material/ashtray/glass, +/obj/item/material/ashtray/glass, /turf/simulated/floor/lino, /area/crew_quarters/bar) "BW" = ( @@ -12951,11 +12939,11 @@ /area/engineering/atmos/storage) "CI" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 2; pixel_y = 7 }, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -3; pixel_y = 4 }, @@ -12979,7 +12967,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, -/obj/item/weapon/toy/desk/stellardelight{ +/obj/item/toy/desk/stellardelight{ pixel_x = -11; pixel_y = -8 }, @@ -13081,11 +13069,11 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -3; pixel_y = 4 }, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 2; pixel_y = 7 }, @@ -13143,7 +13131,7 @@ /area/storage/primary) "De" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -13226,6 +13214,9 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, /turf/simulated/floor/wood, /area/quartermaster/qm) "Ds" = ( @@ -13283,23 +13274,23 @@ /area/engineering/engine_eva) "Dx" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = -5; pixel_y = 4 }, -/obj/item/weapon/clipboard, +/obj/item/clipboard, /turf/simulated/floor/carpet/blue, /area/medical/psych) "Dy" = ( /obj/structure/table/standard, -/obj/item/device/defib_kit/loaded, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/defib_kit/loaded, +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; pixel_y = 2 }, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 4; pixel_x = 24 }, @@ -13431,7 +13422,7 @@ /area/stellardelight/deck2/fore) "DO" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -13567,13 +13558,13 @@ "Ed" = ( /obj/machinery/light, /obj/structure/table/reinforced, -/obj/item/weapon/packageWrap, -/obj/item/weapon/hand_labeler, +/obj/item/packageWrap, +/obj/item/hand_labeler, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, -/obj/item/weapon/tape_roll, -/obj/item/weapon/clipboard, +/obj/item/tape_roll, +/obj/item/clipboard, /obj/machinery/recharger{ pixel_y = 4 }, @@ -13770,8 +13761,8 @@ /area/storage/primary) "Ez" = ( /obj/structure/table/woodentable, -/obj/item/weapon/gun/projectile/shotgun/doublebarrel, -/obj/item/weapon/paper{ +/obj/item/gun/projectile/shotgun/doublebarrel, +/obj/item/paper{ info = "This permit signifies that the Bartender is permitted to posess this firearm in the bar, and ONLY the bar. Failure to adhere to this permit will result in confiscation of the weapon and possibly arrest."; name = "Shotgun permit" }, @@ -13789,10 +13780,10 @@ /area/hydroponics) "EC" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = 4 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /turf/simulated/floor/carpet/blue, @@ -13865,7 +13856,7 @@ /obj/machinery/computer/crew{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -13881,7 +13872,7 @@ /area/quartermaster/storage) "EL" = ( /obj/structure/table/standard, -/obj/item/device/healthanalyzer, +/obj/item/healthanalyzer, /obj/machinery/light{ dir = 4 }, @@ -13889,18 +13880,9 @@ /turf/simulated/floor/tiled/white, /area/medical/surgery) "EM" = ( -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, /obj/machinery/light{ dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 8 - }, /turf/simulated/floor/tiled/eris/steel/brown_platform, /area/quartermaster/storage) "EN" = ( @@ -13912,7 +13894,7 @@ /area/stellardelight/deck2/fore) "EO" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/captaindouble, +/obj/item/bedsheet/captaindouble, /obj/structure/curtain/black, /obj/effect/landmark/start/captain, /turf/simulated/floor/wood, @@ -13966,7 +13948,7 @@ /turf/simulated/floor/tiled/eris/white/bluecorner, /area/stellardelight/deck2/triage) "EV" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /turf/simulated/floor/tiled/eris/steel/brown_platform, @@ -14101,9 +14083,7 @@ /obj/machinery/embedded_controller/radio/simple_docking_controller{ frequency = 1380; id_tag = "cargo_bay"; - pixel_y = 24; - req_one_access = null; - tag_door = null + pixel_y = 24 }, /obj/structure/cable{ icon_state = "4-8" @@ -14152,7 +14132,7 @@ /area/maintenance/stellardelight/deck2/portsolars) "Fq" = ( /obj/structure/table/standard, -/obj/item/device/healthanalyzer, +/obj/item/healthanalyzer, /obj/machinery/light{ dir = 8 }, @@ -14163,7 +14143,7 @@ /area/medical/surgery) "Fr" = ( /obj/structure/table/woodentable, -/obj/item/weapon/folder/white, +/obj/item/folder/white, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, @@ -14200,7 +14180,7 @@ /obj/machinery/light/floortube{ pixel_y = -6 }, -/obj/item/weapon/material/ashtray/glass, +/obj/item/material/ashtray/glass, /turf/simulated/floor/carpet, /area/crew_quarters/recreation_area) "Fx" = ( @@ -14236,7 +14216,7 @@ /turf/simulated/floor, /area/stellardelight/deck2/combustionworkshop) "Fy" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /turf/simulated/floor/tiled/eris/dark/cargo, @@ -14360,7 +14340,7 @@ /turf/simulated/floor/tiled/techfloor, /area/engineering/atmos/monitoring) "FM" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /obj/structure/disposalpipe/segment{ @@ -14370,32 +14350,32 @@ /area/crew_quarters/bar) "FN" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/circuitboard/grinder{ +/obj/item/circuitboard/grinder{ pixel_x = -4; pixel_y = 4 }, -/obj/item/weapon/circuitboard/grill{ +/obj/item/circuitboard/grill{ pixel_x = -3; pixel_y = 3 }, -/obj/item/weapon/circuitboard/fryer{ +/obj/item/circuitboard/fryer{ pixel_x = -2; pixel_y = 2 }, -/obj/item/weapon/circuitboard/oven{ +/obj/item/circuitboard/oven{ pixel_x = -1; pixel_y = 1 }, -/obj/item/weapon/circuitboard/microwave, -/obj/item/weapon/circuitboard/cerealmaker{ +/obj/item/circuitboard/microwave, +/obj/item/circuitboard/cerealmaker{ pixel_x = 1; pixel_y = -1 }, -/obj/item/weapon/circuitboard/candymachine{ +/obj/item/circuitboard/candymachine{ pixel_x = 2; pixel_y = -2 }, -/obj/item/weapon/circuitboard/biogenerator{ +/obj/item/circuitboard/biogenerator{ pixel_x = 3; pixel_y = -3 }, @@ -14555,7 +14535,7 @@ /area/stellardelight/deck2/fore) "Gc" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -14744,7 +14724,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -14979,10 +14959,10 @@ }, /obj/structure/cable/blue, /obj/structure/table/steel_reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = 5 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled/eris/dark/monofloor, /area/bridge) "GX" = ( @@ -15025,8 +15005,8 @@ /area/bridge) "Hc" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/dropper, /obj/machinery/light, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -15124,11 +15104,11 @@ icon_state = "1-2" }, /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/device/megaphone, +/obj/item/megaphone, /turf/simulated/floor/wood, /area/quartermaster/qm) "Hq" = ( @@ -15161,8 +15141,8 @@ /area/engineering/atmos/monitoring) "Ht" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/surgery, -/obj/item/device/radio/intercom{ +/obj/item/storage/firstaid/surgery, +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -15205,7 +15185,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -15240,7 +15220,7 @@ /turf/simulated/floor/tiled/steel_ridged, /area/stellardelight/deck2/port) "HA" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -15249,7 +15229,7 @@ }, /obj/structure/table/glass, /obj/machinery/recharger, -/obj/item/weapon/tool/screwdriver, +/obj/item/tool/screwdriver, /turf/simulated/floor/tiled/eris/white/cargo, /area/stellardelight/deck2/triage) "HB" = ( @@ -15279,7 +15259,7 @@ /area/stellardelight/deck2/starboard) "HE" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -15341,8 +15321,8 @@ /obj/structure/sign/poster{ dir = 8 }, -/obj/item/device/healthanalyzer/guide, -/obj/item/device/healthanalyzer/guide, +/obj/item/healthanalyzer/guide, +/obj/item/healthanalyzer/guide, /turf/simulated/floor/tiled/eris/white/bluecorner, /area/stellardelight/deck2/triage) "HN" = ( @@ -15456,19 +15436,19 @@ /obj/item/clothing/accessory/stethoscope, /obj/item/clothing/accessory/stethoscope, /obj/item/clothing/accessory/stethoscope, -/obj/item/weapon/storage/box/syringes{ +/obj/item/storage/box/syringes{ pixel_y = 9 }, -/obj/item/weapon/storage/box/syringes{ +/obj/item/storage/box/syringes{ pixel_y = 9 }, /obj/random/medical, -/obj/item/weapon/storage/box/beakers{ +/obj/item/storage/box/beakers{ pixel_x = 14; pixel_y = 10 }, /obj/structure/table/reinforced, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -15562,25 +15542,25 @@ /turf/simulated/floor/airless, /area/stellardelight/deck2/exterior) "Ij" = ( -/obj/item/weapon/computer_hardware/battery_module, -/obj/item/weapon/computer_hardware/battery_module, -/obj/item/weapon/computer_hardware/battery_module/nano, -/obj/item/weapon/computer_hardware/hard_drive, -/obj/item/weapon/computer_hardware/hard_drive, -/obj/item/weapon/computer_hardware/hard_drive/micro, -/obj/item/weapon/computer_hardware/network_card, -/obj/item/weapon/computer_hardware/network_card, -/obj/item/weapon/computer_hardware/network_card/wired, -/obj/item/weapon/computer_hardware/processor_unit, -/obj/item/weapon/computer_hardware/processor_unit, -/obj/item/weapon/computer_hardware/processor_unit/small, -/obj/item/weapon/computer_hardware/tesla_link, -/obj/item/weapon/computer_hardware/nano_printer, -/obj/item/weapon/computer_hardware/hard_drive/portable, -/obj/item/weapon/computer_hardware/hard_drive/portable, -/obj/item/device/multitool, +/obj/item/computer_hardware/battery_module, +/obj/item/computer_hardware/battery_module, +/obj/item/computer_hardware/battery_module/nano, +/obj/item/computer_hardware/hard_drive, +/obj/item/computer_hardware/hard_drive, +/obj/item/computer_hardware/hard_drive/micro, +/obj/item/computer_hardware/network_card, +/obj/item/computer_hardware/network_card, +/obj/item/computer_hardware/network_card/wired, +/obj/item/computer_hardware/processor_unit, +/obj/item/computer_hardware/processor_unit, +/obj/item/computer_hardware/processor_unit/small, +/obj/item/computer_hardware/tesla_link, +/obj/item/computer_hardware/nano_printer, +/obj/item/computer_hardware/hard_drive/portable, +/obj/item/computer_hardware/hard_drive/portable, +/obj/item/multitool, /obj/item/clothing/gloves/yellow, -/obj/item/weapon/storage/toolbox/electrical{ +/obj/item/storage/toolbox/electrical{ pixel_x = 1; pixel_y = -1 }, @@ -15640,7 +15620,7 @@ dir = 1 }, /obj/structure/table/steel_reinforced, -/obj/item/device/retail_scanner/command, +/obj/item/retail_scanner/command, /obj/effect/landmark/vermin, /turf/simulated/floor/tiled/eris/dark/monofloor, /area/bridge) @@ -15658,7 +15638,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -15974,12 +15954,12 @@ /area/medical/surgery) "Ja" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/stock_parts/matter_bin, -/obj/item/weapon/stock_parts/matter_bin, -/obj/item/weapon/stock_parts/matter_bin, -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/console_screen, -/obj/item/weapon/circuitboard/partslathe, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/console_screen, +/obj/item/circuitboard/partslathe, /turf/simulated/floor/tiled/eris/dark/techfloor_grid, /area/storage/tech) "Jb" = ( @@ -16264,7 +16244,7 @@ /obj/effect/floor_decal/milspec/color/silver/corner{ dir = 8 }, -/obj/item/device/radio/beacon, +/obj/item/radio/beacon, /turf/simulated/floor/tiled, /area/stellardelight/deck2/fore) "JM" = ( @@ -16315,7 +16295,6 @@ }, /obj/machinery/door/airlock/angled_bay/standard/glass{ door_color = "#9c9c9c"; - fill_color = null; name = "Commons"; stripe_color = "#89bd66" }, @@ -16389,7 +16368,7 @@ /area/maintenance/stellardelight/deck2/portaft) "Kc" = ( /obj/structure/reagent_dispensers/watertank, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /obj/effect/floor_decal/milspec/color/green/half, /turf/simulated/floor/tiled, /area/hydroponics) @@ -16411,7 +16390,7 @@ /area/medical/cmostore) "Kg" = ( /obj/structure/table/glass, -/obj/item/device/defib_kit/loaded, +/obj/item/defib_kit/loaded, /turf/simulated/floor/tiled/eris/white/cargo, /area/stellardelight/deck2/triage) "Kh" = ( @@ -16498,16 +16477,16 @@ /obj/structure/window/reinforced{ dir = 1 }, -/obj/item/weapon/backup_implanter{ +/obj/item/backup_implanter{ pixel_y = 9 }, -/obj/item/weapon/backup_implanter{ +/obj/item/backup_implanter{ pixel_y = 2 }, -/obj/item/weapon/backup_implanter{ +/obj/item/backup_implanter{ pixel_y = -5 }, -/obj/item/weapon/backup_implanter{ +/obj/item/backup_implanter{ pixel_y = -12 }, /obj/machinery/alarm/angled{ @@ -16546,19 +16525,19 @@ pixel_x = 4; pixel_y = 6 }, -/obj/item/weapon/tool/screwdriver, -/obj/item/weapon/reagent_containers/food/drinks/shaker{ +/obj/item/tool/screwdriver, +/obj/item/reagent_containers/food/drinks/shaker{ pixel_x = -7; pixel_y = 11 }, -/obj/item/weapon/flame/lighter/zippo{ +/obj/item/flame/lighter/zippo{ pixel_x = 2 }, /obj/item/clothing/mask/smokable/cigarette/cigar/cohiba, -/obj/item/weapon/reagent_containers/food/drinks/metaglass, -/obj/item/weapon/reagent_containers/food/drinks/metaglass, -/obj/item/weapon/reagent_containers/food/drinks/metaglass, -/obj/item/weapon/reagent_containers/food/drinks/metaglass, +/obj/item/reagent_containers/food/drinks/metaglass, +/obj/item/reagent_containers/food/drinks/metaglass, +/obj/item/reagent_containers/food/drinks/metaglass, +/obj/item/reagent_containers/food/drinks/metaglass, /obj/machinery/power/apc/angled{ dir = 4 }, @@ -16820,12 +16799,12 @@ /area/crew_quarters/recreation_area) "Lc" = ( /obj/structure/table/reinforced, -/obj/item/device/floor_painter, -/obj/item/device/t_scanner, -/obj/item/device/multitool{ +/obj/item/floor_painter, +/obj/item/t_scanner, +/obj/item/multitool{ pixel_x = 5 }, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, /obj/machinery/camera/network/engineering{ dir = 4 }, @@ -16911,14 +16890,14 @@ /area/quartermaster/storage) "Ln" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the 'Space' from Space Cleaner and written in Chemistry. Scrawled on the back is, 'Okay, whoever filled this with polytrinic acid, it was only funny the first time. It was hard enough replacing the CMO's first cat!'"; name = "Chemistry Cleaner" }, -/obj/item/weapon/hand_labeler, -/obj/item/weapon/packageWrap, -/obj/item/device/mass_spectrometer/adv, -/obj/item/device/mass_spectrometer/adv, +/obj/item/hand_labeler, +/obj/item/packageWrap, +/obj/item/mass_spectrometer/adv, +/obj/item/mass_spectrometer/adv, /obj/item/clothing/glasses/science, /obj/item/clothing/glasses/science, /turf/simulated/floor/tiled/eris/white/bluecorner, @@ -16959,8 +16938,8 @@ /area/stellardelight/deck2/fore) "Lt" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/belt/utility, -/obj/item/weapon/storage/belt/utility, +/obj/item/storage/belt/utility, +/obj/item/storage/belt/utility, /obj/item/stack/cable_coil{ pixel_x = 3; pixel_y = 3 @@ -16969,7 +16948,7 @@ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/box/nifsofts_engineering, +/obj/item/storage/box/nifsofts_engineering, /turf/simulated/floor/tiled/eris/dark/orangecorner, /area/engineering/workshop) "Lu" = ( @@ -16980,6 +16959,12 @@ req_access = list(50) }, /obj/machinery/door/firedoor/glass, +/obj/machinery/door/blast/shutters{ + id = "cargo_desk"; + layer = 3.3; + name = "Cargo Shutters"; + dir = 2 + }, /turf/simulated/floor/tiled/monotile, /area/quartermaster/storage) "Lv" = ( @@ -17052,10 +17037,10 @@ /obj/machinery/light{ dir = 1 }, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_y = 5 }, -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical, /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/tiled/eris/dark/orangecorner, /area/engineering/workshop) @@ -17064,7 +17049,7 @@ /area/quartermaster/storage) "LF" = ( /obj/structure/table/standard, -/obj/item/weapon/packageWrap, +/obj/item/packageWrap, /obj/fiftyspawner/cardboard, /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/tiled/eris/steel/brown_platform, @@ -17146,7 +17131,7 @@ /obj/effect/floor_decal/milspec/color/green/half{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -17159,15 +17144,15 @@ pixel_y = 6 }, /obj/machinery/camera/network/civilian, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -3; pixel_y = 4 }, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 2; pixel_y = 7 }, -/obj/item/weapon/material/ashtray/glass, +/obj/item/material/ashtray/glass, /turf/simulated/floor/tiled/eris/steel/brown_platform, /area/crew_quarters/bar) "LQ" = ( @@ -17254,11 +17239,11 @@ /area/stellardelight/deck2/triage) "Ma" = ( /obj/structure/table/standard, -/obj/item/device/taperecorder, +/obj/item/taperecorder, /obj/item/stack/cable_coil/random, -/obj/item/weapon/hand_labeler, +/obj/item/hand_labeler, /obj/item/stack/cable_coil/random, -/obj/item/device/floor_painter, +/obj/item/floor_painter, /obj/machinery/camera/network/civilian, /obj/effect/floor_decal/steeldecal/steel_decals5{ dir = 1 @@ -17323,28 +17308,28 @@ /area/engineering/engine_room) "Mh" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/circuitboard/rdserver{ +/obj/item/circuitboard/rdserver{ pixel_x = -3; pixel_y = 3 }, -/obj/item/weapon/circuitboard/protolathe{ +/obj/item/circuitboard/protolathe{ pixel_x = -2; pixel_y = 2 }, -/obj/item/weapon/circuitboard/destructive_analyzer{ +/obj/item/circuitboard/destructive_analyzer{ pixel_x = -1; pixel_y = 1 }, -/obj/item/weapon/circuitboard/rdconsole, -/obj/item/weapon/circuitboard/autolathe{ +/obj/item/circuitboard/rdconsole, +/obj/item/circuitboard/autolathe{ pixel_x = 1; pixel_y = -1 }, -/obj/item/weapon/circuitboard/mechfab{ +/obj/item/circuitboard/mechfab{ pixel_x = 2; pixel_y = -2 }, -/obj/item/weapon/circuitboard/prosthetics{ +/obj/item/circuitboard/prosthetics{ pixel_x = 3; pixel_y = -3 }, @@ -17490,7 +17475,7 @@ /area/engineering/locker_room) "Mw" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1 }, /obj/effect/floor_decal/milspec/color/blue/corner{ @@ -17563,7 +17548,7 @@ /obj/structure/closet/emergsuit_wall{ pixel_y = 29 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -17709,12 +17694,12 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/circuitboard/crew{ +/obj/item/circuitboard/crew{ pixel_x = -3; pixel_y = 3 }, -/obj/item/weapon/circuitboard/card, -/obj/item/weapon/circuitboard/communications{ +/obj/item/circuitboard/card, +/obj/item/circuitboard/communications{ pixel_x = 3; pixel_y = -3 }, @@ -17832,7 +17817,7 @@ /turf/simulated/floor/tiled/eris/steel/brown_platform, /area/quartermaster/storage) "Nk" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -17966,7 +17951,7 @@ dir = 1 }, /obj/effect/floor_decal/industrial/outline/red, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 24 @@ -18084,14 +18069,14 @@ /area/stellardelight/deck2/exterior) "NM" = ( /obj/structure/closet/crate, -/obj/item/weapon/circuitboard/smes, -/obj/item/weapon/circuitboard/smes, -/obj/item/weapon/smes_coil, -/obj/item/weapon/smes_coil, -/obj/item/weapon/smes_coil/super_capacity, -/obj/item/weapon/smes_coil/super_capacity, -/obj/item/weapon/smes_coil/super_io, -/obj/item/weapon/smes_coil/super_io, +/obj/item/circuitboard/smes, +/obj/item/circuitboard/smes, +/obj/item/smes_coil, +/obj/item/smes_coil, +/obj/item/smes_coil/super_capacity, +/obj/item/smes_coil/super_capacity, +/obj/item/smes_coil/super_io, +/obj/item/smes_coil/super_io, /obj/effect/floor_decal/industrial/outline/yellow, /obj/structure/cable/yellow{ icon_state = "1-2" @@ -18109,7 +18094,7 @@ dir = 8; pixel_x = 27 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24; pixel_y = 32 @@ -18243,13 +18228,13 @@ /area/stellardelight/deck2/aftport) "Oj" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; pixel_y = 2 }, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 8; pixel_x = -24 }, @@ -18307,7 +18292,7 @@ /obj/random/maintenance/medical, /obj/random/maintenance/engineering, /obj/random/maintenance, -/obj/item/weapon/disk/nifsoft/compliance, +/obj/item/disk/nifsoft/compliance, /obj/random/drinkbottle, /turf/simulated/floor, /area/maintenance/stellardelight/deck2/starboardfore) @@ -18322,7 +18307,7 @@ /area/medical/surgery2) "Oq" = ( /obj/machinery/power/apc/angled{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8 }, /obj/structure/cable/cyan{ @@ -18433,7 +18418,7 @@ /obj/machinery/camera/network/command{ dir = 10 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -18498,11 +18483,11 @@ /area/stellardelight/deck2/aftstarboard) "OO" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/beakers{ +/obj/item/storage/box/beakers{ name = "box of measuring cups"; pixel_x = 2; pixel_y = 3; - starts_with = list(/obj/item/weapon/reagent_containers/glass/beaker/measuring_cup = 7) + starts_with = list(/obj/item/reagent_containers/glass/beaker/measuring_cup = 7) }, /turf/simulated/floor/tiled/eris/cafe, /area/crew_quarters/kitchen) @@ -18645,7 +18630,7 @@ /area/engineering/atmos/monitoring) "OZ" = ( /obj/structure/closet/toolcloset, -/obj/item/weapon/pickaxe, +/obj/item/pickaxe, /turf/simulated/floor/tiled/eris/dark/orangecorner, /area/engineering/locker_room) "Pb" = ( @@ -18698,7 +18683,7 @@ icon_state = "4-8" }, /obj/structure/table/standard, -/obj/item/weapon/book/manual/cook_guide, +/obj/item/book/manual/cook_guide, /turf/simulated/floor/tiled/eris/cafe, /area/crew_quarters/kitchen) "Ph" = ( @@ -18905,6 +18890,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 8 + }, /turf/simulated/floor/wood, /area/quartermaster/qm) "PE" = ( @@ -18974,9 +18962,9 @@ icon_state = "1-2" }, /obj/structure/table/standard, -/obj/item/weapon/hand_labeler, -/obj/item/weapon/folder/yellow, -/obj/item/weapon/stamp{ +/obj/item/hand_labeler, +/obj/item/folder/yellow, +/obj/item/stamp{ pixel_x = -3; pixel_y = 3 }, @@ -19223,17 +19211,17 @@ /turf/simulated/floor/tiled/eris/dark/orangecorner, /area/engineering/engineering_monitoring) "Ql" = ( -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/matter_bin, -/obj/item/weapon/stock_parts/micro_laser, -/obj/item/weapon/stock_parts/capacitor, -/obj/item/weapon/stock_parts/capacitor, -/obj/item/weapon/stock_parts/scanning_module, -/obj/item/weapon/stock_parts/scanning_module, -/obj/item/weapon/stock_parts/console_screen, -/obj/item/device/pipe_painter, -/obj/item/weapon/pipe_dispenser, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/micro_laser, +/obj/item/stock_parts/capacitor, +/obj/item/stock_parts/capacitor, +/obj/item/stock_parts/scanning_module, +/obj/item/stock_parts/scanning_module, +/obj/item/stock_parts/console_screen, +/obj/item/pipe_painter, +/obj/item/pipe_dispenser, /obj/machinery/atmospherics/unary/vent_pump/on, /obj/structure/table/steel, /obj/machinery/camera/network/engineering, @@ -19275,16 +19263,16 @@ /area/hydroponics) "Qp" = ( /obj/structure/table/glass, -/obj/item/weapon/backup_implanter{ +/obj/item/backup_implanter{ pixel_y = 9 }, -/obj/item/weapon/backup_implanter{ +/obj/item/backup_implanter{ pixel_y = 2 }, -/obj/item/weapon/backup_implanter{ +/obj/item/backup_implanter{ pixel_y = -5 }, -/obj/item/weapon/backup_implanter{ +/obj/item/backup_implanter{ pixel_y = -12 }, /obj/structure/sign/department/operational{ @@ -19361,8 +19349,8 @@ pixel_y = 2 }, /obj/structure/closet/crate/freezer, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /turf/simulated/floor/tiled/white, /area/medical/surgery) "Qz" = ( @@ -19441,9 +19429,7 @@ tag_east_con = 0.79; tag_north = 1; tag_north_con = 0.21; - tag_south = 2; - tag_south_con = null; - tag_west_con = null + tag_south = 2 }, /turf/simulated/floor/tiled/techmaint, /area/engineering/atmos/storage) @@ -19517,7 +19503,7 @@ name = "Engineering Reception Desk"; req_access = list(10) }, -/obj/item/weapon/folder/yellow, +/obj/item/folder/yellow, /turf/simulated/floor/tiled/eris/dark/gray_platform, /area/engineering/engineering_monitoring) "QU" = ( @@ -19641,7 +19627,6 @@ /obj/machinery/door/airlock/angled_bay/standard/glass{ door_color = "#e6ab22"; name = "Engineering Monitoring Room"; - req_access = null; req_one_access = list(11,24); stripe_color = "#913013" }, @@ -19649,7 +19634,7 @@ /area/engineering/engineering_monitoring) "Rf" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/book/manual/sd_guide, +/obj/item/book/manual/sd_guide, /obj/effect/floor_decal/milspec/color/blue/half{ dir = 6 }, @@ -19657,9 +19642,9 @@ /area/bridge) "Rh" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/red, -/obj/item/weapon/pen{ +/obj/item/paper_bin, +/obj/item/pen/red, +/obj/item/pen{ pixel_x = 4; pixel_y = 4 }, @@ -19741,6 +19726,17 @@ }, /turf/simulated/floor/airless, /area/engineering/engine_room) +"Rt" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/turf/simulated/floor/tiled/eris/steel/cargo, +/area/quartermaster/storage) "Ru" = ( /turf/simulated/floor/glass/reinforced, /area/stellardelight/deck2/starboard) @@ -19867,7 +19863,7 @@ /obj/structure/cable/orange{ icon_state = "1-2" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -19890,11 +19886,16 @@ /turf/simulated/floor/tiled/techmaint, /area/engineering/atmos/storage) "RO" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" +/obj/machinery/door/firedoor/glass, +/obj/structure/window/bay/reinforced, +/obj/structure/low_wall/bay/reinforced/brown, +/obj/machinery/door/blast/shutters{ + id = "cargo_desk"; + layer = 3.3; + name = "Cargo Shutters"; + dir = 2 }, -/mob/living/simple_mob/animal/passive/mouse/jerboa/leggy, -/turf/simulated/floor/tiled/eris/steel/brown_platform, +/turf/simulated/floor, /area/quartermaster/storage) "RP" = ( /obj/structure/table/reinforced, @@ -19958,11 +19959,11 @@ /area/medical/psych) "RX" = ( /obj/structure/table/standard, -/obj/item/device/camera_film{ +/obj/item/camera_film{ pixel_x = 4; pixel_y = 11 }, -/obj/item/device/camera_film{ +/obj/item/camera_film{ pixel_x = -3; pixel_y = 4 }, @@ -20009,7 +20010,7 @@ /area/engineering/storage) "Sf" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /obj/machinery/alarm/angled, /turf/simulated/floor/tiled/eris/steel/cargo, /area/quartermaster/storage) @@ -20106,7 +20107,7 @@ /area/stellardelight/deck2/fore) "Ss" = ( /obj/structure/table/standard, -/obj/item/device/healthanalyzer, +/obj/item/healthanalyzer, /obj/machinery/light{ dir = 4 }, @@ -20230,15 +20231,15 @@ /area/crew_quarters/recreation_area) "SG" = ( /obj/structure/table/rack/steel, -/obj/item/device/slime_scanner, -/obj/item/device/sleevemate, -/obj/item/device/robotanalyzer, -/obj/item/device/reagent_scanner, -/obj/item/device/healthanalyzer, -/obj/item/device/geiger, -/obj/item/device/analyzer/plant_analyzer, -/obj/item/device/analyzer, -/obj/item/device/t_scanner, +/obj/item/slime_scanner, +/obj/item/sleevemate, +/obj/item/robotanalyzer, +/obj/item/reagent_scanner, +/obj/item/healthanalyzer, +/obj/item/geiger, +/obj/item/analyzer/plant_analyzer, +/obj/item/analyzer, +/obj/item/t_scanner, /turf/simulated/floor/tiled/eris/dark/techfloor_grid, /area/storage/tech) "SH" = ( @@ -20251,7 +20252,7 @@ /turf/simulated/floor/wood, /area/stellardelight/deck2/briefingroom) "SI" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /turf/simulated/floor/tiled/eris/dark/cargo, @@ -20467,7 +20468,7 @@ dir = 1; pixel_y = 6 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -20610,16 +20611,16 @@ /area/engineering/atmos/storage) "TB" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box{ +/obj/item/storage/box{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/box, -/obj/item/weapon/tape_roll{ +/obj/item/storage/box, +/obj/item/tape_roll{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/tape_roll, +/obj/item/tape_roll, /obj/machinery/status_display{ pixel_y = 32 }, @@ -20636,12 +20637,12 @@ /area/crew_quarters/bar) "TD" = ( /obj/structure/table/steel, -/obj/item/weapon/module/power_control, -/obj/item/weapon/airlock_electronics, -/obj/item/weapon/module/power_control, -/obj/item/weapon/airlock_electronics, -/obj/item/device/aicard, -/obj/item/weapon/aiModule/reset, +/obj/item/module/power_control, +/obj/item/airlock_electronics, +/obj/item/module/power_control, +/obj/item/airlock_electronics, +/obj/item/aicard, +/obj/item/aiModule/reset, /obj/structure/cable/orange{ icon_state = "1-4" }, @@ -20660,14 +20661,14 @@ "TG" = ( /obj/structure/table/reinforced, /obj/machinery/firealarm/angled, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 6 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_y = 3 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = -3 }, /turf/simulated/floor/tiled/eris/dark/orangecorner, @@ -20706,8 +20707,8 @@ /area/stellardelight/deck2/aftport) "TK" = ( /obj/structure/closet/secure_closet/cargotech, -/obj/item/weapon/stamp/cargo, -/obj/item/weapon/storage/backpack/dufflebag, +/obj/item/stamp/cargo, +/obj/item/storage/backpack/dufflebag, /obj/machinery/power/apc/angled{ dir = 4 }, @@ -20945,13 +20946,21 @@ /turf/simulated/floor/tiled/techfloor, /area/engineering/atmos/monitoring) "Um" = ( +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/cable/yellow{ - icon_state = "4-8" + icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/eris/steel/brown_platform, -/area/quartermaster/storage) +/obj/machinery/door/airlock/angled_bay/standard/color{ + door_color = "#a6753d"; + fill_color = "#75736f"; + name = "Quartermaster"; + req_access = list(41); + stripe_color = "#3b2b1a" + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/quartermaster/qm) "Un" = ( /obj/machinery/atmospherics/binary/pump/on{ dir = 1; @@ -20988,7 +20997,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -21240,19 +21249,19 @@ /area/engineering/engine_eva) "UV" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/circuitboard/body_designer{ +/obj/item/circuitboard/body_designer{ pixel_x = -3; pixel_y = 3 }, -/obj/item/weapon/circuitboard/resleeving_control{ +/obj/item/circuitboard/resleeving_control{ pixel_x = -1; pixel_y = 1 }, -/obj/item/weapon/circuitboard/transhuman_clonepod{ +/obj/item/circuitboard/transhuman_clonepod{ pixel_x = 1; pixel_y = -1 }, -/obj/item/weapon/circuitboard/transhuman_synthprinter{ +/obj/item/circuitboard/transhuman_synthprinter{ pixel_x = 3; pixel_y = -3 }, @@ -21414,8 +21423,8 @@ "Vp" = ( /obj/structure/table/standard, /obj/machinery/cell_charger, -/obj/item/weapon/module/power_control, -/obj/item/weapon/cell{ +/obj/item/module/power_control, +/obj/item/cell{ maxcharge = 2000 }, /turf/simulated/floor/tiled/eris/steel/cargo, @@ -21440,8 +21449,8 @@ dir = 1 }, /obj/structure/closet/crate/freezer, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /obj/structure/sink{ dir = 4; pixel_x = 11 @@ -21463,15 +21472,15 @@ icon_state = "4-8" }, /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/snacks/mint, +/obj/item/reagent_containers/food/snacks/mint, /obj/machinery/light/floortube{ pixel_y = -6 }, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 3; pixel_y = 13 }, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -1; pixel_y = 10 }, @@ -21599,16 +21608,16 @@ "VL" = ( /obj/structure/closet/chefcloset, /obj/item/glass_jar, -/obj/item/device/retail_scanner/civilian, -/obj/item/weapon/soap/nanotrasen, -/obj/item/device/destTagger{ +/obj/item/retail_scanner/civilian, +/obj/item/soap/nanotrasen, +/obj/item/destTagger{ pixel_x = 4; pixel_y = 3 }, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, -/obj/item/weapon/tool/wrench, +/obj/item/packageWrap, +/obj/item/packageWrap, +/obj/item/packageWrap, +/obj/item/tool/wrench, /obj/structure/noticeboard{ dir = 1; pixel_y = -32 @@ -21634,19 +21643,19 @@ /area/stellardelight/deck2/port) "VS" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/toxin{ +/obj/item/storage/firstaid/toxin{ pixel_x = -9; pixel_y = 10 }, -/obj/item/weapon/storage/firstaid/toxin{ +/obj/item/storage/firstaid/toxin{ pixel_x = -9; pixel_y = 1 }, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ pixel_x = 6; pixel_y = 10 }, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ pixel_x = 6; pixel_y = 1 }, @@ -21735,7 +21744,7 @@ /turf/space, /area/space) "Wc" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -21766,16 +21775,16 @@ "Wh" = ( /obj/structure/table/reinforced, /obj/machinery/cell_charger, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/cell/high{ +/obj/item/tool/wrench, +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, @@ -21966,9 +21975,7 @@ /obj/machinery/firealarm/angled{ dir = 4 }, -/obj/structure/closet/crate/bin{ - anchored = 1 - }, +/obj/machinery/photocopier, /turf/simulated/floor/tiled/eris/steel/cargo, /area/quartermaster/storage) "WF" = ( @@ -22219,9 +22226,9 @@ /area/stellardelight/deck2/fore) "Xf" = ( /obj/structure/table/reinforced, -/obj/item/weapon/tool/crowbar, +/obj/item/tool/crowbar, /obj/item/clothing/gloves/black, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /obj/machinery/light{ dir = 8 }, @@ -22292,7 +22299,7 @@ /turf/simulated/floor, /area/maintenance/stellardelight/deck2/starboardaft) "Xq" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, /obj/effect/floor_decal/spline/plain{ @@ -22362,7 +22369,7 @@ /obj/random/tech_supply, /obj/random/tech_supply, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, @@ -22373,19 +22380,19 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/circuitboard/transhuman_resleever{ +/obj/item/circuitboard/transhuman_resleever{ pixel_x = -3; pixel_y = 3 }, -/obj/item/weapon/circuitboard/circuit_imprinter{ +/obj/item/circuitboard/circuit_imprinter{ pixel_x = -1; pixel_y = 1 }, -/obj/item/weapon/circuitboard/aiupload{ +/obj/item/circuitboard/aiupload{ pixel_x = 1; pixel_y = -1 }, -/obj/item/weapon/circuitboard/borgupload{ +/obj/item/circuitboard/borgupload{ pixel_x = 3; pixel_y = -3 }, @@ -22419,20 +22426,20 @@ /area/stellardelight/deck2/starboard) "XF" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ name = "human repair kit"; pixel_x = -9; pixel_y = 9 }, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ pixel_x = -9; pixel_y = 1 }, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/fire{ pixel_x = 6; pixel_y = 9 }, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/fire{ pixel_x = 6; pixel_y = 1 }, @@ -22552,7 +22559,7 @@ /turf/simulated/floor, /area/maintenance/stellardelight/deck2/starboardaft) "XU" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, /obj/effect/floor_decal/spline/plain{ @@ -22588,15 +22595,16 @@ icon_state = "1-2" }, /obj/structure/table/standard, -/obj/item/weapon/cartridge/quartermaster{ +/obj/item/cartridge/quartermaster{ pixel_x = -4; pixel_y = 7 }, -/obj/item/weapon/cartridge/quartermaster{ +/obj/item/cartridge/quartermaster{ pixel_x = 6; pixel_y = 5 }, -/obj/item/weapon/cartridge/quartermaster, +/obj/item/cartridge/quartermaster, +/obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/wood, /area/quartermaster/qm) "XY" = ( @@ -22605,14 +22613,14 @@ /area/medical/cmostore) "XZ" = ( /obj/structure/bookcase, -/obj/item/weapon/book/manual/anomaly_spectroscopy, -/obj/item/weapon/book/manual/anomaly_testing, -/obj/item/weapon/book/manual/materials_chemistry_analysis, -/obj/item/weapon/book/manual/resleeving, -/obj/item/weapon/book/manual/standard_operating_procedure, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/manual/command_guide, -/obj/item/weapon/book/manual, +/obj/item/book/manual/anomaly_spectroscopy, +/obj/item/book/manual/anomaly_testing, +/obj/item/book/manual/materials_chemistry_analysis, +/obj/item/book/manual/resleeving, +/obj/item/book/manual/standard_operating_procedure, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/command_guide, +/obj/item/book/manual, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, @@ -22650,8 +22658,8 @@ /turf/simulated/floor/tiled/eris/dark/cargo, /area/crew_quarters/recreation_area) "Yd" = ( -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, /obj/structure/table/reinforced, /turf/simulated/floor/tiled/eris/dark/orangecorner, /area/engineering/engine_eva) @@ -22694,7 +22702,7 @@ /area/stellardelight/deck2/barbackroom) "Yj" = ( /obj/structure/table/standard, -/obj/item/device/retail_scanner/civilian, +/obj/item/retail_scanner/civilian, /turf/simulated/floor/tiled/eris/cafe, /area/crew_quarters/kitchen) "Yk" = ( @@ -22964,7 +22972,7 @@ /turf/simulated/floor/wood, /area/stellardelight/deck2/barbackroom) "YN" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -23112,18 +23120,18 @@ icon_state = "0-4" }, /obj/structure/table/reinforced, -/obj/item/device/radio/off{ +/obj/item/radio/off{ pixel_y = 6 }, -/obj/item/device/radio/off{ +/obj/item/radio/off{ pixel_x = -6; pixel_y = 4 }, -/obj/item/device/radio/off{ +/obj/item/radio/off{ pixel_x = 6; pixel_y = 4 }, -/obj/item/device/radio/off, +/obj/item/radio/off, /turf/simulated/floor/tiled/eris/dark/orangecorner, /area/engineering/locker_room) "Zh" = ( @@ -23146,14 +23154,14 @@ pixel_x = 1; pixel_y = 1 }, -/obj/item/weapon/storage/toolbox/emergency{ +/obj/item/storage/toolbox/emergency{ pixel_x = 2; pixel_y = 1 }, -/obj/item/weapon/storage/box/lights/mixed{ +/obj/item/storage/box/lights/mixed{ pixel_y = 4 }, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_x = -2; pixel_y = -2 }, @@ -23260,12 +23268,12 @@ /area/storage/art) "Zv" = ( /obj/structure/closet/walllocker_double/medical/north, -/obj/item/weapon/storage/box/rxglasses{ +/obj/item/storage/box/rxglasses{ pixel_x = 7; pixel_y = 7 }, -/obj/item/weapon/storage/box/rxglasses, -/obj/item/device/glasses_kit, +/obj/item/storage/box/rxglasses, +/obj/item/glasses_kit, /turf/simulated/floor/tiled/eris/white/bluecorner, /area/medical/cmostore) "Zw" = ( @@ -23302,7 +23310,7 @@ /turf/simulated/floor/tiled/techmaint, /area/storage/primary) "ZC" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /obj/structure/cable/green{ @@ -23409,7 +23417,7 @@ /obj/machinery/chemical_dispenser/bar_coffee/full{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /obj/machinery/light/small, @@ -23435,7 +23443,7 @@ /area/stellardelight/deck2/port) "ZR" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, @@ -23443,11 +23451,11 @@ name = "Engineering Reception Desk"; req_access = list(10) }, -/obj/item/weapon/pen/blue{ +/obj/item/pen/blue{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/pen/red, +/obj/item/pen/red, /turf/simulated/floor/tiled/eris/dark/gray_platform, /area/engineering/engineering_monitoring) "ZS" = ( @@ -33004,7 +33012,7 @@ eB OP TS XN -NN +RO ou vy mw @@ -33148,7 +33156,7 @@ zj We Lu CS -vq +zj Rh gO vq @@ -33288,9 +33296,9 @@ eB dq zj GE -NN -BM RO +BM +zj pl LF oC @@ -33432,7 +33440,7 @@ zj GE do iB -vq +zj XJ MM nz @@ -33574,7 +33582,7 @@ wH Sv sk gN -Um +bB wR wR fz @@ -33716,7 +33724,7 @@ zj DV do EM -uY +zj hS hS bW @@ -33856,7 +33864,7 @@ eB gq HZ Nj -NN +RO ae gt WE @@ -33999,7 +34007,7 @@ YY Nf Nf YY -le +YY YY YY xk @@ -34138,16 +34146,16 @@ ZF ci eB cX -ed +uY du dJ mE bQ -YY +Um ce -BO -Ui -dN +Rt +le +ju pD jQ jQ diff --git a/maps/stellar_delight/stellar_delight3.dmm b/maps/stellar_delight/stellar_delight3.dmm index 8d155584e68..2e51d9e5443 100644 --- a/maps/stellar_delight/stellar_delight3.dmm +++ b/maps/stellar_delight/stellar_delight3.dmm @@ -117,7 +117,7 @@ /obj/machinery/computer/HolodeckControl{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -150,9 +150,9 @@ /turf/simulated/floor/tiled/dark, /area/lawoffice) "au" = ( -/obj/item/weapon/book/manual/command_guide, -/obj/item/weapon/book/manual/standard_operating_procedure, -/obj/item/weapon/book/manual/security_space_law, +/obj/item/book/manual/command_guide, +/obj/item/book/manual/standard_operating_procedure, +/obj/item/book/manual/wiki/security_space_law, /obj/structure/closet/walllocker_double/command/hos{ dir = 4; pixel_x = 32 @@ -160,14 +160,14 @@ /turf/simulated/floor/tiled/dark, /area/crew_quarters/heads/hos) "av" = ( -/obj/item/device/taperecorder{ +/obj/item/taperecorder{ pixel_x = -3 }, -/obj/item/weapon/circuitboard/aicore{ +/obj/item/circuitboard/aicore{ pixel_x = -2; pixel_y = 4 }, -/obj/item/weapon/circuitboard/teleporter, +/obj/item/circuitboard/teleporter, /obj/structure/closet/walllocker_double/command/rd{ dir = 8; pixel_x = -32 @@ -181,12 +181,12 @@ /turf/simulated/floor, /area/maintenance/stellardelight/deck3/aftstarroom) "ax" = ( -/obj/item/weapon/book/manual/command_guide, -/obj/item/weapon/book/manual/command_guide, -/obj/item/weapon/book/manual/standard_operating_procedure, -/obj/item/weapon/book/manual/standard_operating_procedure, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/manual/security_space_law, +/obj/item/book/manual/command_guide, +/obj/item/book/manual/command_guide, +/obj/item/book/manual/standard_operating_procedure, +/obj/item/book/manual/standard_operating_procedure, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/wiki/security_space_law, /obj/structure/closet/walllocker_double/command/iaa{ dir = 4; pixel_x = 32 @@ -194,12 +194,12 @@ /turf/simulated/floor/tiled/dark, /area/lawoffice) "ay" = ( -/obj/item/weapon/book/manual/command_guide, -/obj/item/weapon/book/manual/command_guide, -/obj/item/weapon/book/manual/standard_operating_procedure, -/obj/item/weapon/book/manual/standard_operating_procedure, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/manual/security_space_law, +/obj/item/book/manual/command_guide, +/obj/item/book/manual/command_guide, +/obj/item/book/manual/standard_operating_procedure, +/obj/item/book/manual/standard_operating_procedure, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/wiki/security_space_law, /obj/structure/closet/walllocker_double/command/iaa{ dir = 8; pixel_x = -32 @@ -207,11 +207,11 @@ /turf/simulated/floor/tiled/dark, /area/lawoffice) "az" = ( -/obj/item/device/megaphone, -/obj/item/weapon/book/manual/standard_operating_procedure, -/obj/item/weapon/book/manual/command_guide, +/obj/item/megaphone, +/obj/item/book/manual/standard_operating_procedure, +/obj/item/book/manual/command_guide, /obj/structure/table/reinforced, -/obj/item/weapon/folder/red, +/obj/item/folder/red, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, @@ -576,7 +576,7 @@ /area/stellardelight/deck2/fore) "bJ" = ( /obj/structure/table/steel, -/obj/item/weapon/flame/candle, +/obj/item/flame/candle, /turf/simulated/floor/tiled/techfloor/grid, /area/maintenance/stellardelight/deck3/forestarrooma) "bK" = ( @@ -599,7 +599,7 @@ /area/ai_upload) "bO" = ( /obj/structure/table/darkglass, -/obj/item/weapon/clipboard, +/obj/item/clipboard, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, @@ -1000,7 +1000,7 @@ /turf/simulated/floor/airless, /area/maintenance/stellardelight/deck3/starboardcent) "dn" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -1532,38 +1532,37 @@ /turf/simulated/floor/tiled/techfloor/grid, /area/ai_server_room) "fd" = ( -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8; pixel_y = -4 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = -4 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8; pixel_y = 12 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = 12 }, /obj/structure/table/woodentable, -/obj/item/weapon/hand_labeler, /obj/machinery/alarm/angled, /obj/machinery/status_display{ pixel_x = -32 @@ -1612,8 +1611,8 @@ "fj" = ( /obj/structure/table/woodentable, /obj/item/toy/figure/clown, -/obj/item/weapon/pen/crayon/marker/rainbow, -/obj/item/weapon/pen/crayon/rainbow, +/obj/item/pen/crayon/marker/rainbow, +/obj/item/pen/crayon/rainbow, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 8 }, @@ -1736,7 +1735,7 @@ /area/stellardelight/deck3/starboarddock) "gb" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/folder/red_hos, +/obj/item/folder/red_hos, /turf/simulated/floor/carpet, /area/crew_quarters/heads/hos) "gc" = ( @@ -1775,7 +1774,7 @@ }) "gj" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/disk/nifsoft/compliance, +/obj/item/disk/nifsoft/compliance, /obj/random/contraband, /obj/random/contraband, /obj/random/contraband, @@ -1839,7 +1838,7 @@ /area/stellardelight/deck3/exterior) "gy" = ( /obj/structure/closet/secure_closet/engineering_chief, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 24 @@ -1847,7 +1846,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 8 }, -/obj/item/device/retail_scanner/engineering, +/obj/item/retail_scanner/engineering, /turf/simulated/floor/tiled, /area/crew_quarters/heads/chief) "gA" = ( @@ -1878,11 +1877,11 @@ /area/stellardelight/deck3/exterior) "gE" = ( /obj/structure/table/darkglass, -/obj/item/weapon/stamp/denied{ +/obj/item/stamp/denied{ pixel_x = 6; pixel_y = 6 }, -/obj/item/weapon/stamp/internalaffairs, +/obj/item/stamp/internalaffairs, /turf/simulated/floor/carpet/blue2, /area/lawoffice) "gG" = ( @@ -1914,7 +1913,7 @@ /turf/simulated/floor/airless, /area/stellardelight/deck3/exterior) "gL" = ( -/obj/item/weapon/bedsheet/hosdouble, +/obj/item/bedsheet/hosdouble, /obj/structure/bed/double/padded, /obj/structure/curtain/black{ color = "#631915" @@ -2441,7 +2440,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -2633,7 +2632,7 @@ /area/crew_quarters/bar) "jD" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/hopdouble, +/obj/item/bedsheet/hopdouble, /obj/structure/curtain/black, /obj/effect/landmark/start/hop, /obj/machinery/requests_console{ @@ -2738,7 +2737,7 @@ /area/stellardelight/deck2/central) "ka" = ( /obj/structure/table/darkglass, -/obj/item/weapon/storage/briefcase{ +/obj/item/storage/briefcase{ pixel_x = -2; pixel_y = -5 }, @@ -2903,8 +2902,8 @@ }, /obj/structure/closet/secure_closet/hop, /obj/item/clothing/glasses/omnihud, -/obj/item/device/retail_scanner/command, -/obj/item/weapon/storage/box/PDAs, +/obj/item/retail_scanner/command, +/obj/item/storage/box/PDAs, /turf/simulated/floor/tiled, /area/crew_quarters/heads/hop) "kO" = ( @@ -3253,7 +3252,7 @@ /area/ai_cyborg_station) "lP" = ( /obj/structure/table/woodentable, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 24 @@ -3359,7 +3358,7 @@ /area/stellardelight/deck2/central) "mh" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 1; pixel_y = 1 @@ -3724,9 +3723,9 @@ /turf/simulated/floor, /area/maintenance/stellardelight/deck3/starboardcent) "nv" = ( -/obj/item/weapon/reagent_containers/glass/bucket/wood, +/obj/item/reagent_containers/glass/bucket/wood, /obj/structure/closet/crate, -/obj/item/weapon/material/minihoe, +/obj/item/material/minihoe, /obj/item/seeds/reishimycelium, /obj/item/seeds/random, /obj/item/seeds/random, @@ -3813,7 +3812,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -3821,12 +3820,12 @@ /area/stellardelight/deck3/cafe) "nH" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = -4; pixel_y = 12 }, -/obj/item/weapon/stamp/hos, -/obj/item/weapon/book/manual/sd_guide, +/obj/item/stamp/hos, +/obj/item/book/manual/sd_guide, /turf/simulated/floor/carpet, /area/crew_quarters/heads/hos) "nL" = ( @@ -3843,7 +3842,7 @@ /obj/structure/cable/blue{ icon_state = "1-2" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -3950,8 +3949,8 @@ /obj/structure/table/alien{ name = "fancy table" }, -/obj/item/weapon/stamp/rd, -/obj/item/weapon/book/manual/sd_guide, +/obj/item/stamp/rd, +/obj/item/book/manual/sd_guide, /turf/simulated/floor/carpet/purcarpet, /area/crew_quarters/heads/hor) "op" = ( @@ -4123,17 +4122,17 @@ pixel_x = -32; pixel_y = 32 }, -/obj/item/device/radio/intercom/locked/ai_private{ +/obj/item/radio/intercom/locked/ai_private{ dir = 4; pixel_x = 32 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ broadcasting = 1; dir = 8; name = "Common Channel"; pixel_x = -21 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -4163,7 +4162,7 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -4266,7 +4265,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals5{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -4274,22 +4273,22 @@ /area/stellardelight/deck3/starboarddock) "pm" = ( /obj/structure/table/darkglass, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 24 }, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = -5; pixel_y = -5 }, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/blade/red{ +/obj/item/paper_bin, +/obj/item/pen/blade/red{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/pen, -/obj/item/weapon/pen/blue{ +/obj/item/pen, +/obj/item/pen/blue{ pixel_x = 2; pixel_y = 3 }, @@ -4362,7 +4361,7 @@ /area/maintenance/stellardelight/deck3/aftstarroom) "pA" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/cosmosdouble{ +/obj/item/bedsheet/cosmosdouble{ icon_state = "dobulesheetcosmos" }, /obj/machinery/camera/network/command, @@ -4373,7 +4372,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals5{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -4878,7 +4877,7 @@ pixel_x = 32; pixel_y = 32 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -5275,7 +5274,7 @@ /area/stellardelight/deck3/starboarddock) "sQ" = ( /obj/structure/table/standard, -/obj/item/weapon/aiModule/reset, +/obj/item/aiModule/reset, /obj/machinery/alarm{ dir = 4; pixel_x = -28 @@ -5492,19 +5491,19 @@ /area/tcommsat/chamber) "tO" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/taperecorder{ +/obj/item/taperecorder{ pixel_x = 10 }, -/obj/item/weapon/reagent_containers/food/drinks/flask/barflask{ +/obj/item/reagent_containers/food/drinks/flask/barflask{ pixel_x = -9; pixel_y = -2 }, -/obj/item/device/radio/off, +/obj/item/radio/off, /turf/simulated/floor/tiled/dark, /area/crew_quarters/heads/hos) "tQ" = ( /obj/structure/table/standard, -/obj/item/weapon/aiModule/freeform, +/obj/item/aiModule/freeform, /obj/machinery/light{ dir = 1 }, @@ -5608,7 +5607,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals5{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -5736,15 +5735,15 @@ "uM" = ( /obj/machinery/alarm/angled, /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/clown{ +/obj/item/flashlight/lamp/clown{ pixel_x = -4; pixel_y = 6 }, -/obj/item/weapon/bikehorn{ +/obj/item/bikehorn{ pixel_x = -2; pixel_y = 2 }, -/obj/item/weapon/stamp/clown{ +/obj/item/stamp/clown{ pixel_x = 6; pixel_y = 9 }, @@ -6097,11 +6096,11 @@ /area/stellardelight/deck2/port) "wd" = ( /obj/structure/table/standard, -/obj/item/weapon/aiModule/oxygen, -/obj/item/weapon/aiModule/oneHuman, -/obj/item/weapon/aiModule/purge, -/obj/item/weapon/aiModule/antimov, -/obj/item/weapon/aiModule/teleporterOffline, +/obj/item/aiModule/oxygen, +/obj/item/aiModule/oneHuman, +/obj/item/aiModule/purge, +/obj/item/aiModule/antimov, +/obj/item/aiModule/teleporterOffline, /obj/machinery/alarm/angled{ dir = 8 }, @@ -6155,11 +6154,11 @@ /area/stellardelight/deck3/starboarddock) "wo" = ( /obj/structure/table/standard, -/obj/item/weapon/aiModule/asimov, -/obj/item/weapon/aiModule/freeformcore, -/obj/item/weapon/aiModule/corp, -/obj/item/weapon/aiModule/paladin, -/obj/item/weapon/aiModule/robocop, +/obj/item/aiModule/asimov, +/obj/item/aiModule/freeformcore, +/obj/item/aiModule/corp, +/obj/item/aiModule/paladin, +/obj/item/aiModule/robocop, /obj/structure/cable/blue, /obj/machinery/power/apc/angled{ dir = 8 @@ -6231,7 +6230,7 @@ /obj/effect/floor_decal/techfloor/orange{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -6405,11 +6404,11 @@ /area/maintenance/stellardelight/deck3/portaft) "xj" = ( /obj/structure/table/standard, -/obj/item/weapon/aiModule/consuming_eradicator, -/obj/item/weapon/aiModule/guard_dog, -/obj/item/weapon/aiModule/pleasurebot, -/obj/item/weapon/aiModule/protective_shell, -/obj/item/weapon/aiModule/scientific_pursuer, +/obj/item/aiModule/consuming_eradicator, +/obj/item/aiModule/guard_dog, +/obj/item/aiModule/pleasurebot, +/obj/item/aiModule/protective_shell, +/obj/item/aiModule/scientific_pursuer, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, @@ -6800,16 +6799,16 @@ /turf/simulated/wall/bay/r_wall/blue, /area/ai_cyborg_station) "yI" = ( -/obj/item/weapon/folder{ +/obj/item/folder{ pixel_x = -4 }, -/obj/item/weapon/folder/blue{ +/obj/item/folder/blue{ pixel_x = 5 }, -/obj/item/weapon/folder/red{ +/obj/item/folder/red{ pixel_y = 3 }, -/obj/item/weapon/folder/yellow, +/obj/item/folder/yellow, /obj/structure/table/darkglass, /obj/machinery/light, /turf/simulated/floor/tiled/dark, @@ -7015,7 +7014,7 @@ /turf/simulated/floor/tiled/techfloor/grid, /area/maintenance/stellardelight/deck3/foreportroomb) "zv" = ( -/obj/item/weapon/bedsheet/rddouble, +/obj/item/bedsheet/rddouble, /obj/structure/bed/double/padded, /obj/structure/curtain/black{ color = "#361447" @@ -7074,8 +7073,8 @@ /area/stellardelight/deck3/commandhall) "zC" = ( /obj/item/toy/figure/mime, -/obj/item/weapon/pen/crayon/marker/mime, -/obj/item/weapon/pen/crayon/mime, +/obj/item/pen/crayon/marker/mime, +/obj/item/pen/crayon/mime, /obj/structure/table/woodentable, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 @@ -7191,7 +7190,7 @@ /area/crew_quarters/heads/hos) "zQ" = ( /obj/structure/table/steel, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/tiled/techfloor/grid, /area/maintenance/stellardelight/deck3/foreportrooma) "zS" = ( @@ -7260,12 +7259,12 @@ /turf/simulated/floor/tiled/techfloor/grid, /area/maintenance/stellardelight/deck3/forestarrooma) "Aj" = ( -/obj/item/device/camera, -/obj/item/device/camera_film, -/obj/item/device/taperecorder, -/obj/item/device/tape/random, -/obj/item/device/tape/random, -/obj/item/weapon/storage/secure/briefcase, +/obj/item/camera, +/obj/item/camera_film, +/obj/item/taperecorder, +/obj/item/rectape/random, +/obj/item/rectape/random, +/obj/item/storage/secure/briefcase, /obj/structure/closet/walllocker_double/east, /turf/simulated/floor/carpet/blue2, /area/lawoffice) @@ -7343,7 +7342,7 @@ /area/maintenance/stellardelight/deck3/starboardaft) "At" = ( /obj/structure/table/glass, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /turf/simulated/floor/carpet, /area/stellardelight/deck3/readingroom) "Av" = ( @@ -7374,12 +7373,12 @@ /turf/simulated/floor, /area/maintenance/stellardelight/deck3/forestarrooma) "Az" = ( -/obj/item/weapon/camera_assembly, -/obj/item/weapon/camera_assembly, -/obj/item/weapon/camera_assembly, -/obj/item/weapon/camera_assembly, -/obj/item/weapon/camera_assembly, -/obj/item/weapon/camera_assembly, +/obj/item/camera_assembly, +/obj/item/camera_assembly, +/obj/item/camera_assembly, +/obj/item/camera_assembly, +/obj/item/camera_assembly, +/obj/item/camera_assembly, /obj/structure/closet/crate{ name = "Camera Assembly Crate" }, @@ -8498,7 +8497,7 @@ /area/space) "Et" = ( /obj/structure/closet/secure_closet/hos, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 24 @@ -8540,7 +8539,7 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/rig/ce/equipped, +/obj/item/rig/ce/equipped, /obj/item/clothing/mask/breath, /obj/item/clothing/shoes/magboots/adv, /turf/simulated/floor/tiled, @@ -8930,7 +8929,7 @@ /area/maintenance/stellardelight/deck3/starboardaft) "Ge" = ( /obj/structure/table/standard, -/obj/item/weapon/aiModule/nanotrasen, +/obj/item/aiModule/nanotrasen, /obj/machinery/camera/network/command, /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/bluegrid, @@ -8967,7 +8966,7 @@ /area/ai_upload) "Gi" = ( /obj/structure/table/rack, -/obj/item/weapon/rig/hazmat/equipped, +/obj/item/rig/hazmat/equipped, /obj/machinery/light, /turf/simulated/floor/tiled/techfloor, /area/crew_quarters/heads/hor) @@ -9033,8 +9032,8 @@ /turf/simulated/floor/tiled, /area/stellardelight/deck3/aft) "GB" = ( -/obj/item/weapon/reagent_containers/food/drinks/shaker, -/obj/item/weapon/reagent_containers/glass/rag, +/obj/item/reagent_containers/food/drinks/shaker, +/obj/item/reagent_containers/glass/rag, /obj/structure/table/rack, /obj/random/donkpocketbox, /turf/simulated/floor/tiled/techfloor/grid, @@ -9072,7 +9071,7 @@ /turf/simulated/floor/airless, /area/maintenance/stellardelight/deck3/portcent) "GH" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -9131,17 +9130,17 @@ /area/ai_server_room) "GW" = ( /obj/structure/table/reinforced, -/obj/item/weapon/book/manual/supermatter_engine, -/obj/item/device/radio{ +/obj/item/book/manual/supermatter_engine, +/obj/item/radio{ pixel_x = -4 }, -/obj/item/device/megaphone, +/obj/item/megaphone, /obj/machinery/light, /turf/simulated/floor/tiled, /area/crew_quarters/heads/chief) "Ha" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/cedouble, +/obj/item/bedsheet/cedouble, /obj/structure/curtain/black{ color = "#945112" }, @@ -9215,7 +9214,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -9835,22 +9834,22 @@ /area/stellardelight/deck3/starboarddock) "Js" = ( /obj/structure/table/darkglass, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 24 }, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = 5; pixel_y = -5 }, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/blade/red{ +/obj/item/paper_bin, +/obj/item/pen/blade/red{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/pen, -/obj/item/weapon/pen/blue{ +/obj/item/pen, +/obj/item/pen/blue{ pixel_x = 2; pixel_y = 3 }, @@ -9920,19 +9919,11 @@ icon_state = "0-2" }, /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ - pixel_x = 8; - pixel_y = 8 - }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ - pixel_x = 8; - pixel_y = 8 +/obj/item/reagent_containers/glass/rag, +/obj/machinery/chemical_dispenser/bar_syrup/full{ + pixel_y = 11; + pixel_x = -1 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ - pixel_x = 8; - pixel_y = 8 - }, -/obj/item/weapon/reagent_containers/glass/rag, /turf/simulated/floor/lino, /area/stellardelight/deck3/cafe) "JJ" = ( @@ -10006,11 +9997,11 @@ /area/stellardelight/deck3/aft) "JU" = ( /obj/structure/table/reinforced, -/obj/item/weapon/rcd, -/obj/item/weapon/rcd_ammo, -/obj/item/weapon/rcd_ammo, -/obj/item/weapon/rcd_ammo, -/obj/item/weapon/rcd_ammo, +/obj/item/rcd, +/obj/item/rcd_ammo, +/obj/item/rcd_ammo, +/obj/item/rcd_ammo, +/obj/item/rcd_ammo, /turf/simulated/floor/tiled, /area/crew_quarters/heads/chief) "JW" = ( @@ -10224,8 +10215,8 @@ /obj/structure/table/alien{ name = "fancy table" }, -/obj/item/weapon/cartridge/signal/science, -/obj/item/weapon/cartridge/signal/science, +/obj/item/cartridge/signal/science, +/obj/item/cartridge/signal/science, /obj/item/clothing/glasses/welding/superior, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -10608,12 +10599,12 @@ /turf/simulated/floor, /area/maintenance/stellardelight/deck3/forestarrooma) "Mg" = ( -/obj/item/device/camera, -/obj/item/device/camera_film, -/obj/item/device/taperecorder, -/obj/item/device/tape/random, -/obj/item/device/tape/random, -/obj/item/weapon/storage/secure/briefcase, +/obj/item/camera, +/obj/item/camera_film, +/obj/item/taperecorder, +/obj/item/rectape/random, +/obj/item/rectape/random, +/obj/item/storage/secure/briefcase, /obj/structure/closet/walllocker_double/west, /turf/simulated/floor/carpet/blue2, /area/lawoffice) @@ -10645,11 +10636,11 @@ /area/stellardelight/deck2/port) "Ml" = ( /obj/structure/table/darkglass, -/obj/item/weapon/stamp/denied{ +/obj/item/stamp/denied{ pixel_x = -6; pixel_y = 6 }, -/obj/item/weapon/stamp/internalaffairs, +/obj/item/stamp/internalaffairs, /turf/simulated/floor/carpet/blue2, /area/lawoffice) "Mo" = ( @@ -10683,7 +10674,7 @@ /area/ai_cyborg_station) "Mr" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/clowndouble, +/obj/item/bedsheet/clowndouble, /obj/structure/curtain/black{ color = "#361447" }, @@ -10691,17 +10682,17 @@ /area/stellardelight/deck3/clownmimeoffice) "Ms" = ( /obj/structure/table/reinforced, -/obj/item/weapon/stamp/hop, -/obj/item/weapon/paper_bin{ +/obj/item/stamp/hop, +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen/multi, -/obj/item/device/flashlight/lamp/green{ +/obj/item/pen/multi, +/obj/item/flashlight/lamp/green{ pixel_x = 3; pixel_y = 18 }, -/obj/item/weapon/book/manual/sd_guide, +/obj/item/book/manual/sd_guide, /turf/simulated/floor/carpet, /area/crew_quarters/heads/hop) "Mu" = ( @@ -10829,8 +10820,8 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, -/obj/item/device/retail_scanner/security, -/obj/item/device/ticket_printer, +/obj/item/retail_scanner/security, +/obj/item/ticket_printer, /turf/simulated/floor/tiled/dark, /area/crew_quarters/heads/hos) "MO" = ( @@ -11142,8 +11133,8 @@ /area/stellardelight/deck3/aft) "NO" = ( /obj/structure/table/reinforced, -/obj/item/device/flashlight/lamp, -/obj/item/device/radio/intercom{ +/obj/item/flashlight/lamp, +/obj/item/radio/intercom{ dir = 1; frequency = 1357; name = "station intercom (Engineering)"; @@ -11249,7 +11240,7 @@ /turf/simulated/floor/tiled/steel_ridged, /area/stellardelight/deck3/starboarddock) "NZ" = ( -/obj/item/weapon/bedsheet/mimedouble, +/obj/item/bedsheet/mimedouble, /obj/structure/bed/double/padded, /obj/structure/curtain/black, /turf/simulated/floor/carpet/bcarpet, @@ -11362,7 +11353,7 @@ /turf/simulated/floor/carpet/purcarpet, /area/crew_quarters/heads/hor) "Ou" = ( -/obj/item/device/radio/beacon, +/obj/item/radio/beacon, /obj/effect/floor_decal/steeldecal/steel_decals5, /obj/structure/cable{ icon_state = "4-8" @@ -11410,6 +11401,13 @@ /obj/machinery/door/window{ req_one_access = list(25) }, +/obj/machinery/button/remote/blast_door{ + desc = "A remote control-switch for shutters."; + id = "cafe"; + name = "Cafe Shutters"; + pixel_y = 28; + req_one_access = list(25) + }, /turf/simulated/floor/lino, /area/stellardelight/deck3/cafe) "Oz" = ( @@ -11462,8 +11460,8 @@ dir = 8 }, /obj/item/clothing/mask/breath, -/obj/item/weapon/tank/oxygen, -/obj/item/device/suit_cooling_unit, +/obj/item/tank/oxygen, +/obj/item/suit_cooling_unit, /obj/item/clothing/shoes/magboots, /obj/item/clothing/suit/space/void/security/prototype, /obj/item/clothing/head/helmet/space/void/security/prototype, @@ -11816,12 +11814,12 @@ /area/stellardelight/deck3/commandhall) "PR" = ( /obj/structure/table/glass, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = -4; pixel_y = 12 }, -/obj/item/weapon/stamp/cmo, -/obj/item/weapon/book/manual/sd_guide, +/obj/item/stamp/cmo, +/obj/item/book/manual/sd_guide, /turf/simulated/floor/carpet/tealcarpet, /area/crew_quarters/heads/cmo) "PT" = ( @@ -12008,7 +12006,7 @@ /turf/simulated/floor/tiled/techfloor/grid, /area/ai) "QI" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -12419,7 +12417,7 @@ /area/maintenance/stellardelight/deck3/foreportrooma) "Sk" = ( /obj/structure/table/standard, -/obj/item/weapon/phone{ +/obj/item/phone{ pixel_x = 3; pixel_y = 11 }, @@ -12524,7 +12522,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals5{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -12706,7 +12704,7 @@ /obj/structure/bed/chair/office/dark{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 24 @@ -12752,7 +12750,7 @@ }, /obj/structure/disposalpipe/segment, /obj/machinery/power/apc/angled{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "night shift APC"; nightshift_setting = 2 @@ -12941,8 +12939,8 @@ /area/maintenance/stellardelight/deck3/foreportrooma) "Ud" = ( /obj/structure/table/reinforced, -/obj/item/weapon/stamp/ce, -/obj/item/weapon/book/manual/sd_guide, +/obj/item/stamp/ce, +/obj/item/book/manual/sd_guide, /turf/simulated/floor/carpet/oracarpet, /area/crew_quarters/heads/chief) "Ue" = ( @@ -13061,7 +13059,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals5{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -13091,7 +13089,7 @@ /area/maintenance/stellardelight/deck3/portfore) "UO" = ( /obj/machinery/recharge_station, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -13122,13 +13120,13 @@ /area/crew_quarters/bar) "UT" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/device/megaphone, -/obj/item/weapon/pen/multi, -/obj/item/device/radio/intercom/department/security{ +/obj/item/megaphone, +/obj/item/pen/multi, +/obj/item/radio/intercom/department/security{ dir = 1; pixel_y = 24 }, @@ -13245,7 +13243,7 @@ /obj/random/maintenance, /obj/random/maintenance, /obj/random/maintenance, -/obj/item/device/gps, +/obj/item/gps, /turf/simulated/floor, /area/maintenance/stellardelight/deck3/forestarrooma) "Vk" = ( @@ -13301,12 +13299,12 @@ dir = 1 }, /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/folder/yellow_ce, -/obj/item/weapon/pen/multi, +/obj/item/folder/yellow_ce, +/obj/item/pen/multi, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, @@ -13316,7 +13314,7 @@ /turf/simulated/floor/tiled/techfloor/grid, /area/ai) "Vt" = ( -/obj/item/device/radio/intercom/locked/ai_private{ +/obj/item/radio/intercom/locked/ai_private{ dir = 4; pixel_x = 32 }, @@ -13356,7 +13354,7 @@ /turf/simulated/floor/airless, /area/stellardelight/deck3/exterior) "VB" = ( -/obj/item/weapon/bedsheet/double, +/obj/item/bedsheet/double, /obj/structure/bed/double/padded, /obj/structure/curtain/black{ color = "#156363" @@ -13375,26 +13373,26 @@ /area/maintenance/stellardelight/deck3/foreportroomb) "VE" = ( /obj/structure/table/glass, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 1; pixel_y = 24 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 3; pixel_y = 7 }, -/obj/item/weapon/pen/multi, +/obj/item/pen/multi, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, -/obj/item/weapon/folder/white_cmo, +/obj/item/folder/white_cmo, /turf/simulated/floor/tiled/eris/white/cargo, /area/crew_quarters/heads/cmo) "VG" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -13499,7 +13497,7 @@ dir = 1; pixel_y = -32 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -13569,7 +13567,7 @@ icon_state = "1-2" }, /obj/structure/table/steel, -/obj/item/weapon/flame/candle, +/obj/item/flame/candle, /turf/simulated/floor, /area/maintenance/stellardelight/deck3/portfore) "Wt" = ( @@ -13620,7 +13618,7 @@ dir = 4 }, /obj/structure/table/steel_reinforced, -/obj/item/weapon/paper/sdshield, +/obj/item/paper/sdshield, /turf/simulated/floor, /area/stellardelight/deck2/central) "WA" = ( @@ -13710,7 +13708,7 @@ /area/lawoffice) "WQ" = ( /obj/machinery/power/apc/angled{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 4; name = "night shift APC"; nightshift_setting = 2 @@ -13751,24 +13749,24 @@ /turf/simulated/floor/tiled, /area/stellardelight/deck3/aft) "Xa" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 24 }, /obj/structure/closet/secure_closet/CMO, /obj/item/clothing/accessory/stethoscope, -/obj/item/device/flashlight/pen, -/obj/item/weapon/storage/belt/medical, +/obj/item/flashlight/pen, +/obj/item/storage/belt/medical, /obj/item/clothing/glasses/hud/health, -/obj/item/device/defib_kit/compact/combat/loaded, -/obj/item/weapon/cmo_disk_holder, -/obj/item/weapon/storage/secure/briefcase/ml3m_pack_cmo, -/obj/item/weapon/storage/mrebag/pill/sleevingcure, +/obj/item/defib_kit/compact/combat/loaded, +/obj/item/cmo_disk_holder, +/obj/item/storage/secure/briefcase/ml3m_pack_cmo, +/obj/item/storage/mrebag/pill/sleevingcure, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 8 }, -/obj/item/device/retail_scanner/medical, +/obj/item/retail_scanner/medical, /turf/simulated/floor/tiled/eris/white/cargo, /area/crew_quarters/heads/cmo) "Xb" = ( @@ -13816,7 +13814,7 @@ /obj/structure/table/alien{ name = "fancy table" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; frequency = 1351; name = "station intercom (Science)"; @@ -13825,16 +13823,16 @@ /obj/random/paicard{ pixel_x = 4 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/paper/monitorkey, -/obj/item/device/megaphone, +/obj/item/paper/monitorkey, +/obj/item/megaphone, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, -/obj/item/weapon/folder/white_rd, +/obj/item/folder/white_rd, /turf/simulated/floor/tiled/techfloor, /area/crew_quarters/heads/hor) "Xo" = ( @@ -14112,13 +14110,18 @@ /turf/simulated/floor, /area/maintenance/stellardelight/deck3/aftstarroom) "Yp" = ( -/obj/machinery/button/remote/blast_door{ - desc = "A remote control-switch for shutters."; - id = "cafe"; - name = "Cafe Shutters"; - pixel_y = 28; - req_one_access = list(25) - }, +/obj/structure/closet/walllocker_double/kitchen/north, +/obj/item/reagent_containers/food/drinks/glass2/square, +/obj/item/reagent_containers/food/drinks/glass2/square, +/obj/item/reagent_containers/food/drinks/glass2/square, +/obj/item/reagent_containers/food/drinks/glass2/square, +/obj/item/hand_labeler, +/obj/item/storage/box/glasses/coffeecup, +/obj/item/storage/box/glasses/coffeecup, +/obj/item/storage/box/glasses/coffeecup, +/obj/item/storage/box/glasses/coffeecup_tall, +/obj/item/storage/box/glasses/coffeecup_grande, +/obj/item/storage/box/glasses/coffeecup_venti, /turf/simulated/floor/lino, /area/stellardelight/deck3/cafe) "Ys" = ( @@ -14207,18 +14210,18 @@ /turf/simulated/floor, /area/maintenance/stellardelight/deck3/forestarroomb) "YC" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 24 }, /obj/structure/closet/secure_closet/RD, -/obj/item/device/aicard, +/obj/item/aicard, /obj/item/clothing/glasses/omnihud/rnd, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 8 }, -/obj/item/device/retail_scanner/science, +/obj/item/retail_scanner/science, /turf/simulated/floor/tiled/techfloor, /area/crew_quarters/heads/hor) "YD" = ( @@ -14273,12 +14276,12 @@ /area/stellardelight/deck3/aft) "YL" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/folder/blue_hop, -/obj/item/weapon/pen, +/obj/item/folder/blue_hop, +/obj/item/pen, /obj/machinery/light, /turf/simulated/floor/tiled, /area/crew_quarters/heads/hop) @@ -14525,7 +14528,7 @@ /turf/simulated/open, /area/stellardelight/deck2/starboard) "ZN" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, diff --git a/maps/stellar_delight/stellar_delight_areas.dm b/maps/stellar_delight/stellar_delight_areas.dm index 8af4a0b4b66..762cb74700a 100644 --- a/maps/stellar_delight/stellar_delight_areas.dm +++ b/maps/stellar_delight/stellar_delight_areas.dm @@ -125,13 +125,7 @@ /area/stellardelight/deck1/dorms name = "Dormitory" sound_env = SMALL_SOFTFLOOR - flags = RAD_SHIELDED| BLUE_SHIELDED |AREA_FLAG_IS_NOT_PERSISTENT - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE - forbid_events = TRUE - forbid_singulo = TRUE + flags = RAD_SHIELDED| BLUE_SHIELDED | AREA_FLAG_IS_NOT_PERSISTENT | AREA_FORBID_EVENTS | AREA_FORBID_SINGULO | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/stellardelight/deck1/dorms/dorm1 name = "Dormitory One" @@ -274,21 +268,16 @@ /area/stellardelight/deck3/transitgateway name = "Transit Gateway" - forbid_events = TRUE - forbid_singulo = TRUE + flags = AREA_FORBID_EVENTS | AREA_FORBID_SINGULO + /area/stellardelight/deck3/cryo name = "Cryogenic Storage" - forbid_events = TRUE - forbid_singulo = TRUE + flags = AREA_FORBID_EVENTS | AREA_FORBID_SINGULO /area/stellardelight/deck3/readingroom name = "Reading Rooms" sound_env = SMALL_SOFTFLOOR - flags = RAD_SHIELDED| BLUE_SHIELDED |AREA_FLAG_IS_NOT_PERSISTENT - soundproofed = TRUE - block_suit_sensors = TRUE - block_tracking = TRUE - forbid_events = TRUE + flags = RAD_SHIELDED| BLUE_SHIELDED | AREA_FLAG_IS_NOT_PERSISTENT | AREA_FORBID_EVENTS | AREA_SOUNDPROOF | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/stellardelight/deck3/portdock name = "Port Dock" diff --git a/maps/stellar_delight/stellar_delight_defines.dm b/maps/stellar_delight/stellar_delight_defines.dm index 450a72379d0..4d72693fb60 100644 --- a/maps/stellar_delight/stellar_delight_defines.dm +++ b/maps/stellar_delight/stellar_delight_defines.dm @@ -321,7 +321,7 @@ /datum/map_template/ship_lateload/ship_centcom name = "Ship - Central Command" desc = "Central Command lives here!" - mappath = 'ship_centcom.dmm' + mappath = "maps/stellar_delight/ship_centcom.dmm" associated_map_datum = /datum/map_z_level/ship_lateload/ship_centcom @@ -337,7 +337,7 @@ /datum/map_template/ship_lateload/ship_misc name = "Ship - Misc" desc = "Misc areas, like some transit areas, holodecks, merc area." - mappath = 'ship_misc.dmm' + mappath = "maps/stellar_delight/ship_misc.dmm" associated_map_datum = /datum/map_z_level/ship_lateload/misc @@ -350,7 +350,7 @@ /datum/map_template/ship_lateload/space_rocks name = "V3b Asteroid Field" desc = "Space debris is common in V3b's orbit due to the proximity of Virgo 3" - mappath = 'maps/submaps/space_rocks/space_rocks.dmm' + mappath = "maps/submaps/space_rocks/space_rocks.dmm" associated_map_datum = /datum/map_z_level/ship_lateload/space_rocks @@ -369,7 +369,7 @@ /datum/map_template/ship_lateload/overmap name = "Overmap" desc = "Overmap lives here :3" - mappath = 'overmap.dmm' + mappath = "maps/stellar_delight/overmap.dmm" associated_map_datum = /datum/map_z_level/ship_lateload/overmap @@ -382,5 +382,5 @@ /datum/map_template/common_lateload/away_aerostat name = "Remmi Aerostat - Z1 Aerostat" desc = "The Virgo 2 Aerostat away mission." - mappath = 'maps/expedition_vr/aerostat/aerostat_science_outpost.dmm' + mappath = "maps/expedition_vr/aerostat/aerostat_science_outpost.dmm" associated_map_datum = /datum/map_z_level/common_lateload/away_aerostat diff --git a/maps/stellar_delight/stellar_delight_events.dm b/maps/stellar_delight/stellar_delight_events.dm index 9511d67a048..d524b2bfcde 100644 --- a/maps/stellar_delight/stellar_delight_events.dm +++ b/maps/stellar_delight/stellar_delight_events.dm @@ -86,6 +86,7 @@ new /datum/event_meta(EVENT_LEVEL_MODERATE, "Drone Pod Drop", /datum/event/drone_pod_drop, 40, list(ASSIGNMENT_SCIENTIST = 40), 1), new /datum/event_meta(EVENT_LEVEL_MODERATE, "Morph Spawn", /datum/event/morph_spawn, 75, list(ASSIGNMENT_ANY = 5), 0), new /datum/event_meta(EVENT_LEVEL_MODERATE, "Maintenance Predator", /datum/event/maintenance_predator, 100, list(ASSIGNMENT_ANY = 5), 0), + new /datum/event_meta(EVENT_LEVEL_MODERATE, "Maintenance Lurker", /datum/event/maintenance_lurker, 100, list(ASSIGNMENT_ANY = 5), 0), ) add_disabled_events(list( new /datum/event_meta(EVENT_LEVEL_MODERATE, "Appendicitis", /datum/event/spontaneous_appendicitis, 0, list(ASSIGNMENT_MEDICAL = 30), 1), diff --git a/maps/stellar_delight/stellar_delight_shuttle_defs.dm b/maps/stellar_delight/stellar_delight_shuttle_defs.dm index c5e42b9f7dc..cbdf35b4f69 100644 --- a/maps/stellar_delight/stellar_delight_shuttle_defs.dm +++ b/maps/stellar_delight/stellar_delight_shuttle_defs.dm @@ -229,7 +229,7 @@ name = "Near Deck 3 Starboard Airlock" landmark_tag = "sd-3-120-78" -/obj/item/weapon/paper/dockingcodes/sd +/obj/item/paper/dockingcodes/sd name = "Stellar Delight Docking Codes" codes_from_z = Z_LEVEL_SHIP_LOW diff --git a/maps/stellar_delight/stellar_delight_telecomms.dm b/maps/stellar_delight/stellar_delight_telecomms.dm index f387eeec4ab..c9a73c62085 100644 --- a/maps/stellar_delight/stellar_delight_telecomms.dm +++ b/maps/stellar_delight/stellar_delight_telecomms.dm @@ -81,18 +81,18 @@ num2text(EXP_FREQ) = list(access_explorer) ) -/obj/item/device/multitool/station_buffered +/obj/item/multitool/station_buffered name = "pre-linked multitool (sd hub)" desc = "This multitool has already been linked to the SD telecomms hub and can be used to configure one (1) relay." -/obj/item/device/multitool/station_buffered/Initialize() +/obj/item/multitool/station_buffered/Initialize() . = ..() buffer = locate(/obj/machinery/telecomms/hub/preset/sd) -/obj/item/device/bluespaceradio/sd_prelinked +/obj/item/bluespaceradio/sd_prelinked name = "bluespace radio (Stellar Delight)" - handset = /obj/item/device/radio/bluespacehandset/linked/sd_prelinked + handset = /obj/item/radio/bluespacehandset/linked/sd_prelinked -/obj/item/device/radio/bluespacehandset/linked/sd_prelinked +/obj/item/radio/bluespacehandset/linked/sd_prelinked bs_tx_preload_id = "sd_rx" //Transmit to a receiver bs_rx_preload_id = "sd_tx" //Recveive from a transmitter diff --git a/maps/stellar_delight/stellar_delight_things.dm b/maps/stellar_delight/stellar_delight_things.dm index 2cdc2a0382c..d1fcaa21853 100644 --- a/maps/stellar_delight/stellar_delight_things.dm +++ b/maps/stellar_delight/stellar_delight_things.dm @@ -33,11 +33,11 @@ s.start() -/obj/item/weapon/paper/sdshield +/obj/item/paper/sdshield name = "ABOUT THE SHIELD GENERATOR" info = "

      ABOUT THE SHIELD GENERATOR



      If you're up here you are more than likely worried about hitting rocks or some other such thing. It is good to worry about such things as that is an inevitability.

      The Stellar Delight is a rather compact vessel, so a setting of 55 to the range will just barely cover her aft.

      It is recommended that you turn off all of the different protection types except multi dimensional warp and whatever it is you're worried about running into. (probably meteors (hyperkinetic)).

      With only those two and all the other default settings, the shield uses more than 6 MW to run, which is more than the ship can ordinarily produce. AS SUCH, it is also recommended that you reduce the input cap to whatever you find reasonable (being as it defaults to 1 MW, which is the entirety of the stock power supply) and activate and configure the shield BEFORE you need it.

      The shield takes some time to expand its range to the desired specifications, and on top of that, under the default low power setting, takes around 40 seconds to spool up. Once it is active, the fully charged internal capacitors will last for a few minutes before depleting fully. You can increase the passive energy use to decrease the spool up time, but it also uses the stored energy much faster, so, that is not recommended except in dire emergencies.

      So, this shield is not intended to be run indefinitely, unless you seriously beef up the ship's engine and power supply.

      Fortunately, if you've got a good pilot, you shouldn't really need the shield generator except in rare cases and only for short distances. Still, it is a good idea to configure the shield to be ready before you need it.

      Good luck out there - Budly Gregington" -/obj/item/weapon/book/manual/sd_guide +/obj/item/book/manual/sd_guide name = "Stellar Delight User's Guide" icon = 'icons/obj/library.dmi' icon_state ="newscodex" @@ -45,7 +45,7 @@ author = "Central Command" // Who wrote the thing, can be changed by pen or PC. It is not automatically assigned title = "Stellar Delight User's Guide" -/obj/item/weapon/book/manual/sd_guide/New() +/obj/item/book/manual/sd_guide/New() ..() dat = {" @@ -108,9 +108,9 @@ // ### Wall Machines On Full Windows ### // To make sure wall-mounted machines placed on full-tile windows are clickable they must be above the window // -/obj/item/device/radio/intercom +/obj/item/radio/intercom layer = ABOVE_WINDOW_LAYER -/obj/item/weapon/storage/secure/safe +/obj/item/storage/secure/safe layer = ABOVE_WINDOW_LAYER /obj/machinery/airlock_sensor layer = ABOVE_WINDOW_LAYER @@ -161,11 +161,11 @@ /obj/structure/noticeboard layer = ABOVE_WINDOW_LAYER -/obj/item/device/multitool/scioutpost +/obj/item/multitool/scioutpost name = "science outpost linked multitool" desc = "It has the data for the science outpost's quantum pad pre-loaded... assuming you didn't override it." -/obj/item/device/multitool/scioutpost/Initialize() +/obj/item/multitool/scioutpost/Initialize() . = ..() for(var/obj/machinery/power/quantumpad/scioutpost/outpost in world) connectable = outpost diff --git a/maps/submaps/_helpers.dm b/maps/submaps/_helpers.dm index 5ff6dc8eb2d..83ea7b95308 100644 --- a/maps/submaps/_helpers.dm +++ b/maps/submaps/_helpers.dm @@ -63,7 +63,7 @@ if(FS._stair_tag == _stair_tag) target = FS if(!target && mapload) - to_world("Fake stairs at [x],[y],[z] couldn't get a target!") + to_world(span_danger("Fake stairs at [x],[y],[z] couldn't get a target!")) /obj/structure/fake_stairs/Destroy() if(target) diff --git a/maps/submaps/admin_use_vr/avii_eventMapv2.dmm b/maps/submaps/admin_use_vr/avii_eventMapv2.dmm index 0fddf7b1519..1b0d6685bd0 100644 --- a/maps/submaps/admin_use_vr/avii_eventMapv2.dmm +++ b/maps/submaps/admin_use_vr/avii_eventMapv2.dmm @@ -11,7 +11,7 @@ dir = 4 }, /obj/machinery/light/small, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/tiled/techmaint, @@ -723,7 +723,7 @@ /turf/simulated/floor/plating, /area/maintenance/asmaint) "dM" = ( -/obj/item/weapon/bedsheet/bluedouble, +/obj/item/bedsheet/bluedouble, /obj/structure/bed/double/padded, /obj/structure/curtain/black, /turf/simulated/floor/carpet/bcarpet, @@ -923,7 +923,7 @@ /turf/simulated/floor/plating, /area/engineering/engine_smes) "eF" = ( -/obj/item/weapon/bedsheet/bluedouble, +/obj/item/bedsheet/bluedouble, /obj/structure/bed/double/padded, /obj/structure/curtain/black, /turf/simulated/floor/carpet/sblucarpet, @@ -1074,11 +1074,11 @@ /area/engineering/engine_smes) "fI" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ pixel_x = -9; pixel_y = 3 }, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/fire{ pixel_x = 6; pixel_y = 3 }, @@ -1118,8 +1118,8 @@ dir = 1 }, /obj/structure/table/standard, -/obj/item/weapon/circuitboard/tesla_coil, -/obj/item/weapon/circuitboard/tesla_coil, +/obj/item/circuitboard/tesla_coil, +/obj/item/circuitboard/tesla_coil, /turf/simulated/floor, /area/engineering/engine_room) "fR" = ( @@ -1138,16 +1138,16 @@ /obj/structure/closet/crate/engineering{ name = "spare SMES coils" }, -/obj/item/weapon/smes_coil, -/obj/item/weapon/smes_coil, -/obj/item/weapon/smes_coil, -/obj/item/weapon/smes_coil/super_capacity, -/obj/item/weapon/smes_coil/super_capacity, -/obj/item/weapon/smes_coil/super_capacity, -/obj/item/weapon/smes_coil/super_io, -/obj/item/weapon/smes_coil/super_io, -/obj/item/weapon/smes_coil/super_io, -/obj/item/device/geiger/wall/west{ +/obj/item/smes_coil, +/obj/item/smes_coil, +/obj/item/smes_coil, +/obj/item/smes_coil/super_capacity, +/obj/item/smes_coil/super_capacity, +/obj/item/smes_coil/super_capacity, +/obj/item/smes_coil/super_io, +/obj/item/smes_coil/super_io, +/obj/item/smes_coil/super_io, +/obj/item/geiger/wall/west{ dir = 4; pixel_x = 36 }, @@ -1166,7 +1166,7 @@ "ga" = ( /obj/structure/table/steel, /obj/item/clothing/gloves/yellow, -/obj/item/device/multitool{ +/obj/item/multitool{ pixel_x = 5 }, /obj/item/stack/cable_coil{ @@ -1390,10 +1390,10 @@ icon_state = "2-8" }, /obj/structure/table/reinforced, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, /turf/simulated/floor/tiled/techmaint, /area/engineering/engine_monitoring) "gT" = ( @@ -1407,11 +1407,11 @@ /area/medical/medbay2) "gU" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/firstaid/toxin{ +/obj/item/storage/firstaid/toxin{ pixel_x = -9; pixel_y = 3 }, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ pixel_x = 6; pixel_y = 3 }, @@ -1447,12 +1447,12 @@ }, /obj/effect/floor_decal/steeldecal/steel_decals8, /obj/structure/table/standard, -/obj/item/weapon/book/manual/tesla_engine, -/obj/item/weapon/book/manual/engineering_particle_accelerator{ +/obj/item/book/manual/tesla_engine, +/obj/item/book/manual/engineering_particle_accelerator{ pixel_x = 5; pixel_y = 5 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/tiled, @@ -1584,7 +1584,7 @@ icon_state = "0-4" }, /obj/machinery/power/apc/angled{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; name = "night shift APC"; nightshift_setting = 2 }, @@ -1793,7 +1793,7 @@ /turf/simulated/floor/tiled, /area/bridge) "iG" = ( -/obj/item/device/geiger/wall/west{ +/obj/item/geiger/wall/west{ dir = 4; pixel_x = -36 }, @@ -1902,7 +1902,7 @@ /turf/simulated/floor/tiled, /area/medical/medbay) "jf" = ( -/obj/item/weapon/bedsheet/bluedouble, +/obj/item/bedsheet/bluedouble, /obj/structure/bed/double/padded, /obj/structure/curtain/black, /turf/simulated/floor/carpet/oracarpet, @@ -2207,7 +2207,7 @@ icon_state = "0-4" }, /obj/machinery/power/apc/angled{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "night shift APC"; nightshift_setting = 2 @@ -2377,7 +2377,7 @@ /obj/machinery/r_n_d/circuit_imprinter{ dir = 1 }, -/obj/item/weapon/reagent_containers/glass/beaker/sulphuric, +/obj/item/reagent_containers/glass/beaker/sulphuric, /turf/simulated/floor/tiled/dark, /area/rnd/workshop) "lu" = ( @@ -2440,8 +2440,8 @@ /area/engineering/engine_monitoring) "lO" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/blue{ +/obj/item/paper_bin, +/obj/item/pen/blue{ pixel_x = -3; pixel_y = 2 }, @@ -2511,8 +2511,8 @@ /area/maintenance/asmaint) "mf" = ( /obj/structure/closet/crate/freezer, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /obj/structure/sink{ dir = 1 }, @@ -2770,7 +2770,7 @@ "nr" = ( /obj/structure/table/reinforced, /obj/machinery/cell_charger, -/obj/item/weapon/cell/hyper{ +/obj/item/cell/hyper{ charge = 30000 }, /obj/machinery/atmospherics/unary/vent_scrubber/on{ @@ -3028,7 +3028,7 @@ dir = 8 }, /obj/machinery/power/apc/angled{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "night shift APC"; nightshift_setting = 2 @@ -3317,7 +3317,7 @@ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, @@ -3511,23 +3511,23 @@ /area/maintenance/asmaint) "qN" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/glass/bottle/biomass{ +/obj/item/reagent_containers/glass/bottle/biomass{ pixel_x = -4; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/glass/bottle/biomass{ +/obj/item/reagent_containers/glass/bottle/biomass{ pixel_x = -7; pixel_y = 4 }, -/obj/item/weapon/reagent_containers/glass/bottle/biomass{ +/obj/item/reagent_containers/glass/bottle/biomass{ pixel_x = 6; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/glass/bottle/biomass{ +/obj/item/reagent_containers/glass/bottle/biomass{ pixel_x = 4; pixel_y = 6 }, -/obj/item/device/flashlight/pen{ +/obj/item/flashlight/pen{ pixel_x = -3; pixel_y = -3 }, @@ -3539,7 +3539,7 @@ /area/crew_quarters/locker) "qT" = ( /obj/structure/table/gamblingtable, -/obj/item/weapon/storage/pill_bottle/dice, +/obj/item/storage/pill_bottle/dice, /turf/simulated/floor/wood, /area/crew_quarters/bar) "qU" = ( @@ -3637,7 +3637,7 @@ "rm" = ( /obj/structure/cable, /obj/machinery/power/apc/angled{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; name = "night shift APC"; nightshift_setting = 2 }, @@ -3802,7 +3802,7 @@ /obj/machinery/computer/telecomms/monitor{ network = "tcommsat" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "General Listening Channel"; pixel_x = 28 }, @@ -3850,7 +3850,7 @@ }, /area/tcommsat/chamber) "sb" = ( -/obj/item/weapon/bedsheet/bluedouble, +/obj/item/bedsheet/bluedouble, /obj/structure/bed/double/padded, /obj/structure/curtain/black, /turf/simulated/floor/carpet/turcarpet, @@ -4209,7 +4209,7 @@ /area/maintenance/fore) "tK" = ( /obj/machinery/power/apc/angled{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "always night shift APC"; nightshift_setting = 3 @@ -4220,7 +4220,7 @@ /turf/simulated/floor/plating, /area/maintenance/asmaint) "tL" = ( -/obj/item/weapon/bedsheet/bluedouble, +/obj/item/bedsheet/bluedouble, /obj/structure/bed/double/padded, /obj/structure/curtain/black, /turf/simulated/floor/carpet/green, @@ -4289,7 +4289,7 @@ dir = 8; layer = 2.6 }, -/obj/item/weapon/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, /turf/simulated/floor/tiled/techmaint, /area/engineering/engine_monitoring) "tU" = ( @@ -4297,7 +4297,7 @@ icon_state = "0-8" }, /obj/machinery/power/apc/angled{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; name = "night shift APC"; nightshift_setting = 2 }, @@ -4574,7 +4574,7 @@ /area/engineering/engine_smes) "vl" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1 }, /obj/effect/floor_decal/milspec/color/blue/corner{ @@ -4652,7 +4652,7 @@ /area/maintenance/asmaint) "vH" = ( /obj/structure/table/gamblingtable, -/obj/item/weapon/storage/pill_bottle/dice_nerd, +/obj/item/storage/pill_bottle/dice_nerd, /turf/simulated/floor/wood, /area/crew_quarters/bar) "vI" = ( @@ -4868,7 +4868,7 @@ "wN" = ( /obj/structure/table/reinforced, /obj/machinery/cell_charger, -/obj/item/weapon/cell/hyper{ +/obj/item/cell/hyper{ charge = 30000 }, /obj/machinery/camera/network/research, @@ -4944,7 +4944,7 @@ /obj/machinery/camera/network/civilian{ dir = 9 }, -/obj/item/weapon/storage/part_replacer/adv/discount_bluespace, +/obj/item/storage/part_replacer/adv/discount_bluespace, /obj/structure/table/steel, /turf/simulated/floor/tiled/techmaint, /area/engineering/engine_monitoring) @@ -4993,8 +4993,8 @@ /obj/structure/closet/secure_closet/medical3{ req_access = null }, -/obj/item/weapon/soap/nanotrasen, -/obj/item/weapon/storage/belt/medical, +/obj/item/soap/nanotrasen, +/obj/item/storage/belt/medical, /turf/simulated/floor/tiled/eris/white/bluecorner, /area/medical/medbay) "xl" = ( @@ -5197,7 +5197,7 @@ /area/engineering/engine_monitoring) "yw" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/book/manual/sd_guide, +/obj/item/book/manual/sd_guide, /obj/effect/floor_decal/milspec/color/blue/half{ dir = 6 }, @@ -5303,7 +5303,7 @@ /area/engineering/engine_smes) "yX" = ( /obj/structure/table/gamblingtable, -/obj/item/weapon/deck/cards, +/obj/item/deck/cards, /turf/simulated/floor/wood, /area/crew_quarters/bar) "yY" = ( @@ -5388,7 +5388,7 @@ /area/medical/medbay) "zu" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery, /turf/simulated/floor/tiled/eris/white/cargo, /area/medical/medbay) "zy" = ( @@ -5633,7 +5633,7 @@ /turf/simulated/floor/plating, /area/maintenance/fore) "AD" = ( -/obj/item/weapon/bedsheet/bluedouble, +/obj/item/bedsheet/bluedouble, /obj/structure/bed/double/padded, /obj/structure/curtain/black, /turf/simulated/floor/carpet/purple, @@ -5806,7 +5806,7 @@ icon_state = "4-8" }, /obj/structure/table/steel, -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical, /turf/simulated/floor/tiled/techmaint, /area/engineering/engine_monitoring) "Br" = ( @@ -6169,7 +6169,7 @@ /obj/random/trash, /obj/structure/cable, /obj/machinery/power/apc/angled{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; name = "always night shift APC"; nightshift_setting = 3 }, @@ -6212,7 +6212,7 @@ /turf/simulated/floor/plating, /area/maintenance/asmaint) "Dh" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -28 @@ -6452,8 +6452,8 @@ /area/bridge) "Eq" = ( /obj/structure/table/standard, -/obj/item/weapon/folder/yellow, -/obj/item/weapon/folder/yellow, +/obj/item/folder/yellow, +/obj/item/folder/yellow, /obj/machinery/light/small{ dir = 1 }, @@ -6648,7 +6648,7 @@ pixel_x = -4; pixel_y = 5 }, -/obj/item/device/defib_kit/loaded, +/obj/item/defib_kit/loaded, /turf/simulated/floor/tiled, /turf/simulated/floor/tiled/eris/white/bluecorner, /area/medical/medbay) @@ -6925,7 +6925,7 @@ /area/hallway/primary/fore) "Gy" = ( /obj/machinery/light/small, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /obj/structure/closet/radiation, @@ -7488,38 +7488,38 @@ /obj/structure/closet/crate/engineering{ name = "capacitor storage" }, -/obj/item/weapon/stock_parts/capacitor/adv, -/obj/item/weapon/stock_parts/capacitor/adv, -/obj/item/weapon/stock_parts/capacitor/adv, -/obj/item/weapon/stock_parts/capacitor/adv, -/obj/item/weapon/stock_parts/capacitor/adv, -/obj/item/weapon/stock_parts/capacitor/adv, -/obj/item/weapon/stock_parts/capacitor/adv, -/obj/item/weapon/stock_parts/capacitor/adv, -/obj/item/weapon/stock_parts/capacitor/hyper, -/obj/item/weapon/stock_parts/capacitor/hyper, -/obj/item/weapon/stock_parts/capacitor/hyper, -/obj/item/weapon/stock_parts/capacitor/hyper, -/obj/item/weapon/stock_parts/capacitor/hyper, -/obj/item/weapon/stock_parts/capacitor/hyper, -/obj/item/weapon/stock_parts/capacitor/hyper, -/obj/item/weapon/stock_parts/capacitor/hyper, -/obj/item/weapon/stock_parts/capacitor/omni, -/obj/item/weapon/stock_parts/capacitor/omni, -/obj/item/weapon/stock_parts/capacitor/omni, -/obj/item/weapon/stock_parts/capacitor/omni, -/obj/item/weapon/stock_parts/capacitor/omni, -/obj/item/weapon/stock_parts/capacitor/omni, -/obj/item/weapon/stock_parts/capacitor/omni, -/obj/item/weapon/stock_parts/capacitor/omni, -/obj/item/weapon/stock_parts/capacitor/super, -/obj/item/weapon/stock_parts/capacitor/super, -/obj/item/weapon/stock_parts/capacitor/super, -/obj/item/weapon/stock_parts/capacitor/super, -/obj/item/weapon/stock_parts/capacitor/super, -/obj/item/weapon/stock_parts/capacitor/super, -/obj/item/weapon/stock_parts/capacitor/super, -/obj/item/weapon/stock_parts/capacitor/super, +/obj/item/stock_parts/capacitor/adv, +/obj/item/stock_parts/capacitor/adv, +/obj/item/stock_parts/capacitor/adv, +/obj/item/stock_parts/capacitor/adv, +/obj/item/stock_parts/capacitor/adv, +/obj/item/stock_parts/capacitor/adv, +/obj/item/stock_parts/capacitor/adv, +/obj/item/stock_parts/capacitor/adv, +/obj/item/stock_parts/capacitor/hyper, +/obj/item/stock_parts/capacitor/hyper, +/obj/item/stock_parts/capacitor/hyper, +/obj/item/stock_parts/capacitor/hyper, +/obj/item/stock_parts/capacitor/hyper, +/obj/item/stock_parts/capacitor/hyper, +/obj/item/stock_parts/capacitor/hyper, +/obj/item/stock_parts/capacitor/hyper, +/obj/item/stock_parts/capacitor/omni, +/obj/item/stock_parts/capacitor/omni, +/obj/item/stock_parts/capacitor/omni, +/obj/item/stock_parts/capacitor/omni, +/obj/item/stock_parts/capacitor/omni, +/obj/item/stock_parts/capacitor/omni, +/obj/item/stock_parts/capacitor/omni, +/obj/item/stock_parts/capacitor/omni, +/obj/item/stock_parts/capacitor/super, +/obj/item/stock_parts/capacitor/super, +/obj/item/stock_parts/capacitor/super, +/obj/item/stock_parts/capacitor/super, +/obj/item/stock_parts/capacitor/super, +/obj/item/stock_parts/capacitor/super, +/obj/item/stock_parts/capacitor/super, +/obj/item/stock_parts/capacitor/super, /turf/simulated/floor/tiled/techmaint, /area/engineering/engine_monitoring) "Jc" = ( @@ -7562,7 +7562,7 @@ color = "#361447" }, /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/bluedouble, +/obj/item/bedsheet/bluedouble, /turf/simulated/floor/tiled/steel_grid, /area/crew_quarters/sleep/vistor_room_1) "Jn" = ( @@ -7612,7 +7612,7 @@ /turf/simulated/floor/wood/alt/panel, /area/maintenance/dormitory) "JE" = ( -/obj/item/weapon/bedsheet/bluedouble, +/obj/item/bedsheet/bluedouble, /obj/structure/bed/double/padded, /obj/structure/curtain/black, /turf/simulated/floor/carpet, @@ -7674,7 +7674,7 @@ /turf/simulated/floor, /area/maintenance/central) "JV" = ( -/obj/item/weapon/paper{ +/obj/item/paper{ info = "Whoops, we seem to lost our Tesla... Oh well! Good thing we have backups... Right?"; name = "tesla note" }, @@ -7707,7 +7707,7 @@ /area/medical/medbay) "Kh" = ( /obj/machinery/power/apc/angled{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; name = "always night shift APC"; nightshift_setting = 3 }, @@ -7756,7 +7756,7 @@ icon_state = "0-4" }, /obj/machinery/power/apc/angled{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "night shift APC"; nightshift_setting = 2 @@ -7943,7 +7943,7 @@ anchored = 1 }, /obj/machinery/power/apc/angled{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "always night shift APC"; nightshift_setting = 3 @@ -8897,7 +8897,7 @@ dir = 10 }, /obj/machinery/power/apc/angled{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; name = "always night shift APC"; nightshift_setting = 3 }, @@ -8962,7 +8962,7 @@ dir = 8 }, /obj/structure/table/standard, -/obj/item/device/multitool, +/obj/item/multitool, /turf/simulated/floor/tiled/dark, /area/tcommsat/computer) "PJ" = ( @@ -9000,7 +9000,7 @@ anchored = 1 }, /obj/machinery/power/apc/angled{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "always night shift APC"; nightshift_setting = 3 @@ -9288,7 +9288,7 @@ dir = 8 }, /obj/item/clothing/shoes/black, -/obj/item/device/communicator, +/obj/item/communicator, /turf/simulated/floor/tiled/dark, /area/crew_quarters/locker) "QY" = ( @@ -9328,7 +9328,7 @@ dir = 1 }, /obj/machinery/power/apc/angled{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "always night shift APC"; nightshift_setting = 3 @@ -9545,7 +9545,7 @@ /area/submap/pa_room) "RU" = ( /obj/structure/table/standard, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/tiled/dark, /area/tcommsat/computer) "RX" = ( @@ -9558,16 +9558,16 @@ /area/tcommsat/chamber) "RY" = ( /obj/structure/table/glass, -/obj/item/weapon/backup_implanter{ +/obj/item/backup_implanter{ pixel_y = 9 }, -/obj/item/weapon/backup_implanter{ +/obj/item/backup_implanter{ pixel_y = 2 }, -/obj/item/weapon/backup_implanter{ +/obj/item/backup_implanter{ pixel_y = -5 }, -/obj/item/weapon/backup_implanter{ +/obj/item/backup_implanter{ pixel_y = -12 }, /turf/simulated/floor/tiled/eris/white/bluecorner, @@ -9752,7 +9752,7 @@ icon_state = "0-2" }, /obj/machinery/power/apc/angled{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "always night shift APC"; nightshift_setting = 3 @@ -9779,7 +9779,7 @@ /obj/machinery/light/small{ dir = 8 }, -/obj/item/device/geiger/wall/west{ +/obj/item/geiger/wall/west{ dir = 4; pixel_x = -36 }, @@ -10049,12 +10049,12 @@ }, /obj/structure/table/standard, /obj/item/stack/cable_coil/random, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/tool/screwdriver, +/obj/item/tool/wrench, +/obj/item/tool/screwdriver, /turf/simulated/floor, /area/engineering/engine_room) "Uz" = ( -/obj/item/device/geiger/wall/west{ +/obj/item/geiger/wall/west{ dir = 4; pixel_x = 36 }, @@ -10068,7 +10068,7 @@ /area/engineering/engine_room) "UB" = ( /obj/machinery/r_n_d/circuit_imprinter, -/obj/item/weapon/reagent_containers/glass/beaker/sulphuric, +/obj/item/reagent_containers/glass/beaker/sulphuric, /turf/simulated/floor/tiled/steel, /area/rnd/workshop) "UD" = ( @@ -10393,7 +10393,7 @@ /turf/simulated/floor/wood/alt/panel, /area/maintenance/dormitory) "Wq" = ( -/obj/item/weapon/bedsheet/bluedouble, +/obj/item/bedsheet/bluedouble, /obj/structure/bed/double/padded, /obj/structure/curtain/black, /turf/simulated/floor/carpet/blue2, @@ -10410,7 +10410,7 @@ anchored = 1 }, /obj/machinery/power/apc/angled{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "always night shift APC"; nightshift_setting = 3 @@ -10447,7 +10447,7 @@ icon_state = "0-2" }, /obj/machinery/power/apc/angled{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "night shift APC"; nightshift_setting = 2 @@ -10459,7 +10459,7 @@ color = "#361447" }, /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/bluedouble, +/obj/item/bedsheet/bluedouble, /turf/simulated/floor/tiled/steel_grid, /area/crew_quarters/sleep/vistor_room_2) "WL" = ( @@ -10470,7 +10470,7 @@ anchored = 1 }, /obj/machinery/power/apc/angled{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "always night shift APC"; nightshift_setting = 3 @@ -10517,7 +10517,7 @@ dir = 1 }, /obj/machinery/power/apc/angled{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "always night shift APC"; nightshift_setting = 3 @@ -10556,7 +10556,7 @@ }, /obj/item/clothing/shoes/black, /obj/machinery/light/small, -/obj/item/device/communicator, +/obj/item/communicator, /turf/simulated/floor/tiled/dark, /area/crew_quarters/locker) "Xg" = ( @@ -10618,12 +10618,12 @@ /area/medical/medbay2) "XC" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/cell/high{ +/obj/item/storage/box/lights/mixed, +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "The big blue box recently installed in here is a 'grid checker' which will shut off the power if a dangerous power spike from the engine erupts into the powernet. Shutting everything down protects everything from electrical damage, however the outages can be disruptive to colony operations, so it is designed to restore power after a somewhat significant delay, up to ten minutes or so. The grid checker can be manually hacked in order to end the outage sooner. To do that, you must cut three specific wires which do not cause a red light to shine, then pulse a fourth wire. Electrical protection is highly recommended when doing maintenance on the grid checker."; name = "grid checker info" }, @@ -10771,7 +10771,7 @@ /area/maintenance/aft) "Yl" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/item/weapon/bikehorn/rubberducky, +/obj/item/bikehorn/rubberducky, /obj/random/soap, /turf/simulated/floor/tiled/white, /area/crew_quarters/recreation_area_restroom{ @@ -11133,7 +11133,7 @@ /turf/simulated/floor/tiled/dark, /area/engineering/engine_room) "ZU" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/lino, /area/crew_quarters/bar) "ZW" = ( diff --git a/maps/submaps/admin_use_vr/dhael_centcom.dmm b/maps/submaps/admin_use_vr/dhael_centcom.dmm index 45557e6f33b..3fbfffd8c17 100644 --- a/maps/submaps/admin_use_vr/dhael_centcom.dmm +++ b/maps/submaps/admin_use_vr/dhael_centcom.dmm @@ -16,8 +16,8 @@ dir = 1 }, /obj/structure/table/rack, -/obj/item/weapon/gun/energy/ionrifle, -/obj/item/weapon/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle, /obj/effect/floor_decal/industrial/outline/yellow, /turf/unsimulated/floor{ icon_state = "dark" @@ -32,8 +32,8 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/gun/energy/ionrifle/pistol, -/obj/item/weapon/gun/energy/ionrifle/pistol, +/obj/item/gun/energy/ionrifle/pistol, +/obj/item/gun/energy/ionrifle/pistol, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -43,7 +43,7 @@ dir = 1 }, /obj/structure/table/rack, -/obj/item/weapon/gun/energy/netgun, +/obj/item/gun/energy/netgun, /obj/effect/floor_decal/industrial/outline/yellow, /turf/unsimulated/floor{ icon_state = "dark" @@ -54,9 +54,9 @@ dir = 1 }, /obj/structure/table/rack, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, +/obj/item/gun/energy/laser, +/obj/item/gun/energy/laser, +/obj/item/gun/energy/laser, /obj/effect/floor_decal/industrial/outline/yellow, /obj/structure/window/reinforced{ dir = 4 @@ -74,10 +74,10 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, +/obj/item/gun/energy/gun, +/obj/item/gun/energy/gun, +/obj/item/gun/energy/gun, +/obj/item/gun/energy/gun, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -88,10 +88,10 @@ }, /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/energy/gun/nuclear, -/obj/item/weapon/gun/energy/gun/nuclear, -/obj/item/weapon/gun/energy/gun/nuclear, -/obj/item/weapon/gun/energy/gun/nuclear, +/obj/item/gun/energy/gun/nuclear, +/obj/item/gun/energy/gun/nuclear, +/obj/item/gun/energy/gun/nuclear, +/obj/item/gun/energy/gun/nuclear, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -113,8 +113,8 @@ /obj/item/ammo_magazine/m545, /obj/item/ammo_magazine/m545, /obj/item/ammo_magazine/m545, -/obj/item/weapon/gun/projectile/automatic/sts35, -/obj/item/weapon/gun/projectile/automatic/sts35, +/obj/item/gun/projectile/automatic/sts35, +/obj/item/gun/projectile/automatic/sts35, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -133,8 +133,8 @@ /obj/item/ammo_magazine/m545, /obj/item/ammo_magazine/m545, /obj/item/ammo_magazine/m545, -/obj/item/weapon/gun/projectile/automatic/sts35, -/obj/item/weapon/gun/projectile/automatic/sts35, +/obj/item/gun/projectile/automatic/sts35, +/obj/item/gun/projectile/automatic/sts35, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -145,27 +145,27 @@ }, /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/gun/energy/taser, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, /turf/unsimulated/floor{ icon_state = "dark" }, /area/centcom/specops) "ay" = ( /obj/structure/table/rack, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/melee/energy/sword/blue, -/obj/item/weapon/melee/energy/sword/blue, -/obj/item/weapon/melee/energy/sword/blue, -/obj/item/weapon/melee/energy/sword/blue, -/obj/item/weapon/melee/energy/sword/blue, +/obj/item/melee/energy/sword/blue, +/obj/item/melee/energy/sword/blue, +/obj/item/melee/energy/sword/blue, +/obj/item/melee/energy/sword/blue, +/obj/item/melee/energy/sword/blue, /obj/effect/floor_decal/industrial/outline/yellow, /obj/structure/window/reinforced{ dir = 1 @@ -183,19 +183,19 @@ dir = 1 }, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/energy/stunrevolver, -/obj/item/weapon/gun/energy/stunrevolver, -/obj/item/weapon/gun/energy/stunrevolver, -/obj/item/weapon/gun/energy/stunrevolver, +/obj/item/gun/energy/stunrevolver, +/obj/item/gun/energy/stunrevolver, +/obj/item/gun/energy/stunrevolver, +/obj/item/gun/energy/stunrevolver, /turf/unsimulated/floor{ icon_state = "dark" }, /area/centcom/specops) "aA" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/flashbangs, -/obj/item/weapon/storage/box/flashbangs, -/obj/item/weapon/storage/box/emps{ +/obj/item/storage/box/flashbangs, +/obj/item/storage/box/flashbangs, +/obj/item/storage/box/emps{ pixel_x = 4; pixel_y = 4 }, @@ -205,8 +205,8 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/storage/box/smokes, -/obj/item/weapon/storage/box/smokes, +/obj/item/storage/box/smokes, +/obj/item/storage/box/smokes, /obj/effect/floor_decal/industrial/outline/yellow, /turf/unsimulated/floor{ icon_state = "dark" @@ -220,13 +220,13 @@ "aH" = ( /obj/structure/closet/crate/medical, /obj/item/stack/nanopaste/advanced, -/obj/item/weapon/tank/anesthetic, +/obj/item/tank/anesthetic, /obj/item/clothing/mask/breath/medical, /obj/item/clothing/mask/surgical, /obj/item/clothing/mask/surgical, /obj/item/stack/nanopaste/advanced, /obj/item/stack/nanopaste/advanced, -/obj/item/weapon/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -234,12 +234,12 @@ /area/centcom/specops) "aI" = ( /obj/structure/closet/crate/medical, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -247,12 +247,12 @@ /area/centcom/specops) "aJ" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/hypospray, -/obj/item/weapon/reagent_containers/hypospray, -/obj/item/weapon/reagent_containers/hypospray, -/obj/item/weapon/reagent_containers/hypospray, -/obj/item/weapon/reagent_containers/hypospray, -/obj/item/weapon/reagent_containers/hypospray, +/obj/item/reagent_containers/hypospray, +/obj/item/reagent_containers/hypospray, +/obj/item/reagent_containers/hypospray, +/obj/item/reagent_containers/hypospray, +/obj/item/reagent_containers/hypospray, +/obj/item/reagent_containers/hypospray, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -260,9 +260,9 @@ /area/centcom/specops) "aK" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/pill_bottle/iron, -/obj/item/weapon/storage/pill_bottle/iron, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/fitnessflask/glucose, +/obj/item/storage/pill_bottle/iron, +/obj/item/storage/pill_bottle/iron, +/obj/item/reagent_containers/food/drinks/drinkingglass/fitnessflask/glucose, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -270,8 +270,8 @@ /area/centcom/specops) "aL" = ( /obj/structure/table/rack, -/obj/item/device/defib_kit/compact/combat/loaded, -/obj/item/device/defib_kit/compact/combat/loaded, +/obj/item/defib_kit/compact/combat/loaded, +/obj/item/defib_kit/compact/combat/loaded, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -279,7 +279,7 @@ /area/centcom/specops) "aM" = ( /obj/machinery/chemical_dispenser/ert, -/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, /obj/structure/table/reinforced, /turf/unsimulated/floor{ icon_state = "vault"; @@ -295,11 +295,11 @@ /area/centcom/specops) "aO" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -307,10 +307,10 @@ /area/centcom/specops) "aP" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/gun/compact, -/obj/item/weapon/gun/energy/gun/compact, -/obj/item/device/flash, -/obj/item/device/flash, +/obj/item/gun/energy/gun/compact, +/obj/item/gun/energy/gun/compact, +/obj/item/flash, +/obj/item/flash, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -343,9 +343,9 @@ /area/centcom/specops) "aY" = ( /obj/structure/table/rack, -/obj/item/weapon/rig/ert/medical, -/obj/item/weapon/rig/ert/medical, -/obj/item/weapon/rig/ert/medical, +/obj/item/rig/ert/medical, +/obj/item/rig/ert/medical, +/obj/item/rig/ert/medical, /obj/item/clothing/accessory/storage/white_vest, /obj/item/clothing/accessory/storage/white_vest, /obj/item/clothing/accessory/storage/white_vest, @@ -372,8 +372,8 @@ "ba" = ( /obj/structure/table/rack, /obj/structure/window/reinforced, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -393,8 +393,8 @@ "bc" = ( /obj/structure/table/rack, /obj/structure/window/reinforced, -/obj/item/weapon/gun/projectile/revolver/detective45, -/obj/item/weapon/gun/projectile/revolver/detective45, +/obj/item/gun/projectile/revolver/detective45, +/obj/item/gun/projectile/revolver/detective45, /obj/item/ammo_magazine/s45, /obj/item/ammo_magazine/s45, /obj/item/ammo_magazine/s45, @@ -406,7 +406,7 @@ "bd" = ( /obj/structure/table/rack, /obj/structure/window/reinforced, -/obj/item/weapon/gun/projectile/automatic/advanced_smg, +/obj/item/gun/projectile/automatic/advanced_smg, /obj/item/ammo_magazine/m9mmAdvanced, /obj/item/ammo_magazine/m9mmAdvanced, /obj/item/ammo_magazine/m9mmAdvanced, @@ -418,7 +418,7 @@ "be" = ( /obj/structure/table/rack, /obj/structure/window/reinforced, -/obj/item/weapon/gun/energy/sniperrifle, +/obj/item/gun/energy/sniperrifle, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -429,10 +429,10 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/gun/projectile/p92x, -/obj/item/weapon/gun/projectile/p92x, -/obj/item/weapon/gun/projectile/p92x, -/obj/item/weapon/gun/projectile/p92x, +/obj/item/gun/projectile/p92x, +/obj/item/gun/projectile/p92x, +/obj/item/gun/projectile/p92x, +/obj/item/gun/projectile/p92x, /obj/item/ammo_magazine/m9mm/large/preban, /obj/item/ammo_magazine/m9mm/large/preban, /obj/item/ammo_magazine/m9mm/large/preban, @@ -453,12 +453,12 @@ /obj/item/taperoll/police, /obj/item/taperoll/police, /obj/item/taperoll/police, -/obj/item/device/flash, -/obj/item/device/flash, -/obj/item/device/flash, -/obj/item/device/flash, -/obj/item/device/flash, -/obj/item/device/flash, +/obj/item/flash, +/obj/item/flash, +/obj/item/flash, +/obj/item/flash, +/obj/item/flash, +/obj/item/flash, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -472,11 +472,11 @@ /area/centcom/specops) "bl" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/syringes{ +/obj/item/storage/box/syringes{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/box/syringes, +/obj/item/storage/box/syringes, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -503,10 +503,10 @@ /area/centcom/specops) "bn" = ( /obj/structure/table/reinforced, -/obj/item/device/healthanalyzer/advanced, -/obj/item/device/healthanalyzer/advanced, -/obj/item/device/healthanalyzer/advanced, -/obj/item/device/healthanalyzer/advanced, +/obj/item/healthanalyzer/advanced, +/obj/item/healthanalyzer/advanced, +/obj/item/healthanalyzer/advanced, +/obj/item/healthanalyzer/advanced, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -514,11 +514,11 @@ /area/centcom/specops) "bo" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/firstaid/adv, +/obj/item/storage/firstaid/adv, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -526,11 +526,11 @@ /area/centcom/specops) "bp" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/toxin{ +/obj/item/storage/firstaid/toxin{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/firstaid/toxin, +/obj/item/storage/firstaid/toxin, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -546,10 +546,10 @@ /obj/item/clothing/head/helmet/ert/medical, /obj/item/clothing/head/helmet/ert/medical, /obj/item/clothing/head/helmet/ert/medical, -/obj/item/weapon/storage/backpack/ert/medical, -/obj/item/weapon/storage/backpack/ert/medical, -/obj/item/weapon/storage/backpack/ert/medical, -/obj/item/weapon/storage/backpack/ert/medical, +/obj/item/storage/backpack/ert/medical, +/obj/item/storage/backpack/ert/medical, +/obj/item/storage/backpack/ert/medical, +/obj/item/storage/backpack/ert/medical, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -569,67 +569,67 @@ /area/centcom/specops) "bs" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/handcuffs{ +/obj/item/storage/box/handcuffs{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/box/handcuffs, +/obj/item/storage/box/handcuffs, /turf/unsimulated/floor{ icon_state = "dark" }, /area/centcom/specops) "bt" = ( /obj/structure/table/reinforced, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, /turf/unsimulated/floor{ icon_state = "dark" }, /area/centcom/specops) "bu" = ( /obj/structure/table/reinforced, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, /turf/unsimulated/floor{ icon_state = "dark" }, /area/centcom/specops) "bv" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -658,11 +658,11 @@ /area/centcom/specops) "bz" = ( /obj/structure/table/rack, -/obj/item/weapon/rig/ert/assetprotection, -/obj/item/weapon/rig/ert/assetprotection, -/obj/item/weapon/rig/ert/assetprotection, -/obj/item/weapon/rig/ert/assetprotection, -/obj/item/weapon/rig/ert/assetprotection, +/obj/item/rig/ert/assetprotection, +/obj/item/rig/ert/assetprotection, +/obj/item/rig/ert/assetprotection, +/obj/item/rig/ert/assetprotection, +/obj/item/rig/ert/assetprotection, /obj/item/clothing/glasses/thermal, /obj/item/clothing/glasses/thermal, /obj/item/clothing/glasses/thermal, @@ -695,11 +695,11 @@ /area/centcom/specops) "bC" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/bodybags{ +/obj/item/storage/box/bodybags{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/box/bodybags, +/obj/item/storage/box/bodybags, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -707,12 +707,12 @@ /area/centcom/specops) "bD" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -720,11 +720,11 @@ /area/centcom/specops) "bE" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/fire{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/firstaid/fire, +/obj/item/storage/firstaid/fire, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -732,11 +732,11 @@ /area/centcom/specops) "bF" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/firstaid/o2, +/obj/item/storage/firstaid/o2, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -752,22 +752,22 @@ /obj/item/clothing/head/helmet/ert/security, /obj/item/clothing/head/helmet/ert/security, /obj/item/clothing/head/helmet/ert/security, -/obj/item/weapon/storage/backpack/ert/security, -/obj/item/weapon/storage/backpack/ert/security, -/obj/item/weapon/storage/backpack/ert/security, -/obj/item/weapon/storage/backpack/ert/security, +/obj/item/storage/backpack/ert/security, +/obj/item/storage/backpack/ert/security, +/obj/item/storage/backpack/ert/security, +/obj/item/storage/backpack/ert/security, /turf/unsimulated/floor{ icon_state = "dark" }, /area/centcom/specops) "bI" = ( /obj/structure/table/rack, -/obj/item/weapon/rig/ert/security, -/obj/item/weapon/rig/ert/security, -/obj/item/weapon/rig/ert/security, -/obj/item/weapon/rig/ert/security, -/obj/item/weapon/rig/ert/security, -/obj/item/weapon/rig/ert/security, +/obj/item/rig/ert/security, +/obj/item/rig/ert/security, +/obj/item/rig/ert/security, +/obj/item/rig/ert/security, +/obj/item/rig/ert/security, +/obj/item/rig/ert/security, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -849,9 +849,9 @@ /area/centcom/specops) "bU" = ( /obj/structure/table/reinforced, -/obj/item/device/megaphone, -/obj/item/weapon/storage/box/trackimp, -/obj/item/weapon/storage/box/cdeathalarm_kit, +/obj/item/megaphone, +/obj/item/storage/box/trackimp, +/obj/item/storage/box/cdeathalarm_kit, /turf/unsimulated/floor/steel{ icon = 'icons/turf/floors_vr.dmi'; icon_state = "wood" @@ -861,7 +861,7 @@ /obj/structure/table/rack, /obj/item/clothing/suit/armor/vest/ert/command, /obj/item/clothing/head/helmet/ert/command, -/obj/item/weapon/storage/backpack/ert/commander, +/obj/item/storage/backpack/ert/commander, /turf/unsimulated/floor/steel{ icon = 'icons/turf/floors_vr.dmi'; icon_state = "wood" @@ -869,7 +869,7 @@ /area/centcom/specops) "bW" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/secure/briefcase/nsfw_pack_hybrid, +/obj/item/storage/secure/briefcase/nsfw_pack_hybrid, /turf/unsimulated/floor/steel{ icon = 'icons/turf/floors_vr.dmi'; icon_state = "wood" @@ -895,7 +895,7 @@ }, /area/centcom/specops) "bZ" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/unsimulated/floor/steel{ icon = 'icons/turf/floors_vr.dmi'; icon_state = "wood" @@ -907,9 +907,9 @@ /area/centcom/specops) "cb" = ( /obj/structure/table/reinforced, -/obj/item/device/aicard, -/obj/item/weapon/pinpointer/advpinpointer, -/obj/item/weapon/stamp/centcomm, +/obj/item/aicard, +/obj/item/pinpointer/advpinpointer, +/obj/item/stamp/centcomm, /turf/unsimulated/floor/steel{ icon = 'icons/turf/floors_vr.dmi'; icon_state = "wood" @@ -931,7 +931,7 @@ /obj/item/clothing/accessory/holster/hip, /obj/item/ammo_magazine/m44, /obj/item/ammo_magazine/m44, -/obj/item/weapon/gun/projectile/deagle, +/obj/item/gun/projectile/deagle, /turf/unsimulated/floor/steel{ icon = 'icons/turf/floors_vr.dmi'; icon_state = "wood" @@ -949,9 +949,9 @@ /area/centcom/specops) "cf" = ( /obj/structure/table/reinforced, -/obj/item/device/pda/ert, -/obj/item/device/perfect_tele, -/obj/item/weapon/hand_tele, +/obj/item/pda/ert, +/obj/item/perfect_tele, +/obj/item/hand_tele, /turf/unsimulated/floor/steel{ icon = 'icons/turf/floors_vr.dmi'; icon_state = "wood" @@ -975,12 +975,12 @@ /area/centcom/specops) "ci" = ( /obj/structure/table/reinforced, -/obj/item/device/pda/ert, -/obj/item/device/pda/ert, -/obj/item/device/pda/ert, -/obj/item/device/pda/ert, -/obj/item/device/pda/ert, -/obj/item/device/pda/ert, +/obj/item/pda/ert, +/obj/item/pda/ert, +/obj/item/pda/ert, +/obj/item/pda/ert, +/obj/item/pda/ert, +/obj/item/pda/ert, /obj/effect/floor_decal/corner/blue{ dir = 5 }, @@ -990,12 +990,12 @@ /area/centcom/specops) "cj" = ( /obj/structure/table/reinforced, -/obj/item/device/megaphone, -/obj/item/device/megaphone, -/obj/item/device/megaphone, -/obj/item/device/megaphone, -/obj/item/device/megaphone, -/obj/item/device/megaphone, +/obj/item/megaphone, +/obj/item/megaphone, +/obj/item/megaphone, +/obj/item/megaphone, +/obj/item/megaphone, +/obj/item/megaphone, /obj/effect/floor_decal/corner/blue{ dir = 5 }, @@ -1035,14 +1035,14 @@ /area/centcom/specops) "cm" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/flashbangs, -/obj/item/weapon/handcuffs, -/obj/item/device/flash, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/gun/energy/stunrevolver, +/obj/item/storage/box/flashbangs, +/obj/item/handcuffs, +/obj/item/flash, +/obj/item/melee/baton/loaded, +/obj/item/storage/belt/security/tactical, +/obj/item/gun/energy/stunrevolver, /obj/item/clothing/glasses/sunglasses/sechud/tactical, -/obj/item/weapon/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, /turf/unsimulated/floor/steel{ icon = 'icons/turf/floors_vr.dmi'; icon_state = "wood" @@ -1050,7 +1050,7 @@ /area/centcom/specops) "cn" = ( /obj/structure/table/rack, -/obj/item/weapon/rig/ert, +/obj/item/rig/ert, /obj/item/clothing/accessory/storage/black_vest, /turf/unsimulated/floor/steel{ icon = 'icons/turf/floors_vr.dmi'; @@ -1059,7 +1059,7 @@ /area/centcom/specops) "co" = ( /obj/structure/table/reinforced, -/obj/item/weapon/gun/energy/gun/nuclear, +/obj/item/gun/energy/gun/nuclear, /turf/unsimulated/floor/steel{ icon = 'icons/turf/floors_vr.dmi'; icon_state = "wood" @@ -1091,33 +1091,33 @@ /area/centcom/specops) "cr" = ( /obj/structure/table/reinforced, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, /turf/unsimulated/floor{ icon_state = "dark" }, /area/centcom/specops) "cs" = ( /obj/structure/table/reinforced, -/obj/item/weapon/stamp/centcomm, -/obj/item/weapon/pen, -/obj/item/weapon/paper_bin{ +/obj/item/stamp/centcomm, +/obj/item/pen, +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, @@ -1145,7 +1145,7 @@ /obj/machinery/vending/cigarette{ name = "hacked cigarette machine"; prices = list(); - products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) + products = list(/obj/item/storage/fancy/cigarettes = 10, /obj/item/storage/box/matches = 10, /obj/item/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) }, /turf/unsimulated/floor/steel{ icon = 'icons/turf/floors_vr.dmi'; @@ -1222,19 +1222,19 @@ /obj/item/stack/material/glass/reinforced{ amount = 50 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 3 }, @@ -1285,7 +1285,7 @@ /obj/item/clothing/mask/gas, /obj/item/clothing/mask/gas, /obj/effect/floor_decal/industrial/outline/blue, -/obj/item/weapon/storage/box/traumainjectors, +/obj/item/storage/box/traumainjectors, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -1315,17 +1315,17 @@ }, /area/centcom/specops) "cH" = ( -/obj/item/weapon/circuitboard/aiupload, -/obj/item/weapon/circuitboard/borgupload, -/obj/item/weapon/circuitboard/smes, -/obj/item/weapon/aiModule/nanotrasen, -/obj/item/weapon/aiModule/reset, -/obj/item/weapon/aiModule/freeformcore, -/obj/item/weapon/aiModule/protectStation, -/obj/item/weapon/aiModule/quarantine, -/obj/item/weapon/aiModule/paladin, -/obj/item/weapon/aiModule/robocop, -/obj/item/weapon/aiModule/safeguard, +/obj/item/circuitboard/aiupload, +/obj/item/circuitboard/borgupload, +/obj/item/circuitboard/smes, +/obj/item/aiModule/nanotrasen, +/obj/item/aiModule/reset, +/obj/item/aiModule/freeformcore, +/obj/item/aiModule/protectStation, +/obj/item/aiModule/quarantine, +/obj/item/aiModule/paladin, +/obj/item/aiModule/robocop, +/obj/item/aiModule/safeguard, /obj/structure/table/steel_reinforced, /turf/unsimulated/floor{ icon_state = "dark" @@ -1339,12 +1339,12 @@ /obj/item/clothing/glasses/welding/superior, /obj/structure/table/steel_reinforced, /obj/item/clothing/glasses/welding/superior, -/obj/item/weapon/grenade/chem_grenade/metalfoam, -/obj/item/weapon/grenade/chem_grenade/metalfoam, -/obj/item/weapon/grenade/chem_grenade/metalfoam, -/obj/item/weapon/grenade/chem_grenade/metalfoam, -/obj/item/weapon/grenade/chem_grenade/metalfoam, -/obj/item/weapon/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -1352,18 +1352,18 @@ "cM" = ( /obj/structure/table/reinforced, /obj/effect/floor_decal/industrial/outline/blue, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -1409,12 +1409,12 @@ /obj/item/clothing/gloves/yellow, /obj/item/clothing/gloves/yellow, /obj/item/clothing/gloves/yellow, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/weapon/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -1472,12 +1472,12 @@ /area/centcom/specops) "cZ" = ( /obj/structure/table/reinforced, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/screwdriver, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/screwdriver, -/obj/item/weapon/tool/wrench, +/obj/item/tool/crowbar, +/obj/item/tool/screwdriver, +/obj/item/tool/wrench, +/obj/item/tool/crowbar, +/obj/item/tool/screwdriver, +/obj/item/tool/wrench, /obj/effect/floor_decal/industrial/outline/blue, /turf/unsimulated/floor{ icon_state = "dark" @@ -1522,12 +1522,12 @@ /obj/item/clothing/shoes/magboots, /obj/item/clothing/shoes/magboots, /obj/item/clothing/shoes/magboots, -/obj/item/weapon/storage/box, -/obj/item/weapon/storage/box, -/obj/item/weapon/storage/box, -/obj/item/weapon/storage/box, -/obj/item/weapon/storage/box, -/obj/item/weapon/storage/box, +/obj/item/storage/box, +/obj/item/storage/box, +/obj/item/storage/box, +/obj/item/storage/box, +/obj/item/storage/box, +/obj/item/storage/box, /obj/effect/floor_decal/industrial/outline/blue, /turf/unsimulated/floor{ icon_state = "dark" @@ -1560,14 +1560,14 @@ /area/centcom/specops) "dh" = ( /obj/structure/table/rack, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, /obj/effect/floor_decal/industrial/outline/blue, /turf/unsimulated/floor{ icon_state = "dark" @@ -1643,10 +1643,10 @@ /obj/item/clothing/head/helmet/ert/engineer, /obj/item/clothing/head/helmet/ert/engineer, /obj/item/clothing/head/helmet/ert/engineer, -/obj/item/weapon/storage/backpack/ert/engineer, -/obj/item/weapon/storage/backpack/ert/engineer, -/obj/item/weapon/storage/backpack/ert/engineer, -/obj/item/weapon/storage/backpack/ert/engineer, +/obj/item/storage/backpack/ert/engineer, +/obj/item/storage/backpack/ert/engineer, +/obj/item/storage/backpack/ert/engineer, +/obj/item/storage/backpack/ert/engineer, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -1665,7 +1665,7 @@ }, /area/centcom/control) "dv" = ( -/obj/item/weapon/gun/energy/sizegun, +/obj/item/gun/energy/sizegun, /turf/unsimulated/floor{ dir = 2; icon_state = "dark" @@ -1682,7 +1682,7 @@ /area/centcom/control) "dy" = ( /obj/structure/bed/chair, -/obj/item/weapon/handcuffs, +/obj/item/handcuffs, /turf/unsimulated/floor{ dir = 2; icon_state = "dark" @@ -1699,7 +1699,7 @@ /turf/unsimulated/floor/steel, /area/centcom/control) "dA" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/corner/yellow/diagonal, /obj/effect/floor_decal/corner/blue/diagonal{ dir = 4 @@ -1707,7 +1707,7 @@ /turf/unsimulated/floor/steel, /area/centcom/control) "dB" = ( -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 2; pixel_y = 6 }, @@ -1719,7 +1719,7 @@ /turf/unsimulated/floor/steel, /area/centcom/control) "dC" = ( -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, /obj/structure/table/standard, /obj/effect/floor_decal/corner/yellow/diagonal, /obj/effect/floor_decal/corner/blue/diagonal{ @@ -1728,7 +1728,7 @@ /turf/unsimulated/floor/steel, /area/centcom/control) "dD" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/corner/yellow/diagonal, /obj/effect/floor_decal/corner/blue/diagonal{ dir = 4 @@ -1738,32 +1738,32 @@ /area/centcom/control) "dE" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 3 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = -4 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8; pixel_y = 12 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = 12 }, @@ -1816,7 +1816,7 @@ /area/centcom/control) "dJ" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/belt/utility, +/obj/item/storage/belt/utility, /obj/item/clothing/gloves/sterile/latex, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 @@ -1874,10 +1874,10 @@ /area/centcom/control) "dN" = ( /obj/structure/table/standard, -/obj/item/weapon/hand_labeler, -/obj/item/weapon/pen, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, +/obj/item/hand_labeler, +/obj/item/pen, +/obj/item/packageWrap, +/obj/item/packageWrap, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 }, @@ -1887,12 +1887,12 @@ /turf/simulated/floor/tiled/white, /area/centcom/control) "dO" = ( -/obj/item/weapon/stock_parts/console_screen, +/obj/item/stock_parts/console_screen, /obj/structure/table/standard, -/obj/item/weapon/stock_parts/console_screen, -/obj/item/weapon/stock_parts/console_screen, -/obj/item/weapon/stock_parts/matter_bin, -/obj/item/weapon/stock_parts/matter_bin, +/obj/item/stock_parts/console_screen, +/obj/item/stock_parts/console_screen, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/matter_bin, /obj/machinery/recharger{ pixel_y = 0 }, @@ -1929,7 +1929,7 @@ icon_state = "warning"; dir = 4 }, -/obj/item/weapon/book/manual/robotics_cyborgs{ +/obj/item/book/manual/robotics_cyborgs{ pixel_x = 2; pixel_y = 5 }, @@ -2038,12 +2038,12 @@ /area/centcom/control) "eb" = ( /obj/structure/table/standard, -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/capacitor, -/obj/item/weapon/stock_parts/capacitor, -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/micro_laser, -/obj/item/weapon/stock_parts/micro_laser, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/capacitor, +/obj/item/stock_parts/capacitor, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/micro_laser, +/obj/item/stock_parts/micro_laser, /obj/effect/floor_decal/borderfloorwhite{ dir = 4 }, @@ -2085,8 +2085,8 @@ /area/centcom/control) "eg" = ( /obj/structure/table/standard, -/obj/item/device/mmi/digital/posibrain, -/obj/item/device/robotanalyzer, +/obj/item/mmi/digital/posibrain, +/obj/item/robotanalyzer, /turf/unsimulated/floor/steel, /area/centcom/control) "eh" = ( @@ -2140,11 +2140,11 @@ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/stock_parts/scanning_module{ +/obj/item/stock_parts/scanning_module{ pixel_x = 2; pixel_y = 3 }, -/obj/item/weapon/stock_parts/scanning_module, +/obj/item/stock_parts/scanning_module, /obj/machinery/light{ dir = 4; icon_state = "tube1"; @@ -2198,7 +2198,7 @@ /area/tdome/tdomeadmin) "ev" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/captain, +/obj/item/bedsheet/captain, /obj/effect/floor_decal/carpet{ dir = 1 }, @@ -2269,7 +2269,7 @@ /area/centcom/control) "eB" = ( /obj/machinery/r_n_d/circuit_imprinter, -/obj/item/weapon/reagent_containers/glass/beaker/sulphuric, +/obj/item/reagent_containers/glass/beaker/sulphuric, /turf/unsimulated/floor/steel, /area/centcom/control) "eC" = ( @@ -2285,11 +2285,11 @@ /area/centcom/control) "eD" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen/blue, +/obj/item/pen/blue, /turf/unsimulated/floor/steel, /area/centcom/control) "eE" = ( @@ -2304,19 +2304,19 @@ /area/tdome/tdomeobserve) "eG" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, -/obj/item/weapon/flame/lighter/zippo, -/obj/item/weapon/storage/fancy/cigarettes, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/flame/lighter/zippo, +/obj/item/storage/fancy/cigarettes, /turf/unsimulated/floor{ icon_state = "lino" }, /area/tdome/tdomeobserve) "eH" = ( -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, /obj/structure/table/standard, /turf/unsimulated/floor{ icon_state = "lino" @@ -2410,14 +2410,14 @@ }, /area/centcom/control) "eT" = ( -/obj/item/weapon/melee/baton/cattleprod, +/obj/item/melee/baton/cattleprod, /turf/unsimulated/floor{ dir = 2; icon_state = "dark" }, /area/centcom/control) "eU" = ( -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -6 }, /obj/structure/table/standard, @@ -2461,13 +2461,13 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_x = -2; pixel_y = -1 }, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/storage/belt/utility, -/obj/item/weapon/storage/toolbox/electrical{ +/obj/item/tool/crowbar, +/obj/item/storage/belt/utility, +/obj/item/storage/toolbox/electrical{ pixel_x = 1; pixel_y = 6 }, @@ -2570,19 +2570,19 @@ /turf/unsimulated/floor/steel, /area/centcom/control) "fk" = ( -/obj/item/weapon/folder/white, +/obj/item/folder/white, /obj/structure/table/standard, -/obj/item/weapon/disk/tech_disk{ +/obj/item/disk/tech_disk{ pixel_x = 0; pixel_y = 0 }, -/obj/item/weapon/disk/tech_disk{ +/obj/item/disk/tech_disk{ pixel_x = 0; pixel_y = 0 }, -/obj/item/weapon/disk/design_disk, -/obj/item/weapon/disk/design_disk, -/obj/item/weapon/reagent_containers/dropper{ +/obj/item/disk/design_disk, +/obj/item/disk/design_disk, +/obj/item/reagent_containers/dropper{ pixel_y = -4 }, /obj/effect/floor_decal/borderfloorwhite{ @@ -2597,11 +2597,11 @@ /area/centcom/control) "fl" = ( /obj/structure/table/standard, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, @@ -2619,7 +2619,7 @@ pixel_x = 0; pixel_y = -30 }, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_x = -2; pixel_y = -1 }, @@ -2669,9 +2669,9 @@ /area/centcom/control) "fr" = ( /obj/structure/table/standard, -/obj/item/weapon/hand_labeler, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/glass/beaker/sulphuric, +/obj/item/hand_labeler, +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/sulphuric, /turf/unsimulated/floor/steel, /area/centcom/control) "fs" = ( @@ -2686,19 +2686,19 @@ /turf/unsimulated/floor/steel, /area/centcom/control) "ft" = ( -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 3 }, @@ -2727,7 +2727,7 @@ }, /area/tdome/tdomeobserve) "fx" = ( -/obj/item/device/camera, +/obj/item/camera, /turf/unsimulated/floor{ icon_state = "lino" }, @@ -2772,66 +2772,66 @@ /obj/machinery/recharger{ pixel_y = 0 }, -/obj/item/device/flash, +/obj/item/flash, /turf/unsimulated/floor/steel, /area/centcom/control) "fD" = ( /obj/structure/closet{ name = "robotics parts" }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, -/obj/item/device/assembly/prox_sensor{ +/obj/item/assembly/prox_sensor{ pixel_x = -8; pixel_y = 4 }, -/obj/item/device/assembly/prox_sensor{ +/obj/item/assembly/prox_sensor{ pixel_x = -8; pixel_y = 4 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ empty = 1; name = "First-Aid (empty)" }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ empty = 1; name = "First-Aid (empty)" }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ empty = 1; name = "First-Aid (empty)" }, -/obj/item/device/healthanalyzer, -/obj/item/device/healthanalyzer, -/obj/item/device/healthanalyzer, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, +/obj/item/healthanalyzer, +/obj/item/healthanalyzer, +/obj/item/healthanalyzer, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, /obj/item/stack/cable_coil, /obj/item/stack/cable_coil, /turf/unsimulated/floor/steel, @@ -2866,7 +2866,7 @@ /obj/effect/floor_decal/industrial/warning{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 27 @@ -2947,7 +2947,7 @@ /obj/structure/table/rack, /obj/item/clothing/under/color/red, /obj/item/clothing/shoes/brown, -/obj/item/weapon/melee/energy/axe, +/obj/item/melee/energy/axe, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -2964,7 +2964,7 @@ /obj/structure/table/rack, /obj/item/clothing/under/color/green, /obj/item/clothing/shoes/brown, -/obj/item/weapon/melee/energy/axe, +/obj/item/melee/energy/axe, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -3100,7 +3100,7 @@ /area/centcom/control) "ge" = ( /obj/structure/closet/wardrobe/robotics_black, -/obj/item/device/radio/headset/headset_sci{ +/obj/item/radio/headset/headset_sci{ pixel_x = -3 }, /turf/unsimulated/floor/steel, @@ -3124,8 +3124,8 @@ /obj/item/clothing/shoes/brown, /obj/item/clothing/suit/armor/tdome/red, /obj/item/clothing/head/helmet/thunderdome, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/energy/sword/red, +/obj/item/melee/baton/loaded, +/obj/item/melee/energy/sword/red, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -3175,8 +3175,8 @@ /obj/item/clothing/shoes/brown, /obj/item/clothing/suit/armor/tdome/green, /obj/item/clothing/head/helmet/thunderdome, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/energy/sword/green, +/obj/item/melee/baton/loaded, +/obj/item/melee/energy/sword/green, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -3221,7 +3221,7 @@ /area/centcom/control) "gv" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/bodybags{ +/obj/item/storage/box/bodybags{ pixel_x = -1; pixel_y = -2 }, @@ -3310,7 +3310,7 @@ /turf/unsimulated/floor/steel, /area/centcom/control) "gL" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ broadcasting = 1; dir = 1; frequency = 1443; @@ -3407,7 +3407,7 @@ /area/centcom/control) "gW" = ( /obj/structure/table/standard, -/obj/item/device/mmi, +/obj/item/mmi, /turf/unsimulated/floor/steel, /area/centcom/control) "ha" = ( @@ -3495,16 +3495,16 @@ dir = 4 }, /obj/structure/table/marble, -/obj/item/weapon/book/manual/chef_recipes, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/book/manual/chef_recipes, +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -3; pixel_y = 0 }, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 3 }, -/obj/item/weapon/material/kitchen/rollingpin, -/obj/item/weapon/material/knife/butch, +/obj/item/material/kitchen/rollingpin, +/obj/item/material/knife/butch, /turf/simulated/floor/tiled/white, /area/centcom/control) "hm" = ( @@ -3527,12 +3527,12 @@ /area/centcom/security) "hp" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/circular_saw, -/obj/item/weapon/surgical/scalpel{ +/obj/item/surgical/circular_saw, +/obj/item/surgical/scalpel{ pixel_y = 12 }, -/obj/item/weapon/surgical/hemostat, -/obj/item/weapon/surgical/retractor, +/obj/item/surgical/hemostat, +/obj/item/surgical/retractor, /obj/effect/floor_decal/industrial/warning{ dir = 1 }, @@ -3688,14 +3688,14 @@ pixel_x = -32; req_access = list(29) }, -/obj/item/weapon/tank/anesthetic, -/obj/item/weapon/tank/anesthetic, -/obj/item/weapon/tank/anesthetic, +/obj/item/tank/anesthetic, +/obj/item/tank/anesthetic, +/obj/item/tank/anesthetic, /obj/item/clothing/mask/breath/medical, /obj/item/clothing/mask/breath/medical, /obj/item/clothing/mask/breath/medical, -/obj/item/weapon/storage/box/gloves, -/obj/item/device/defib_kit/jumper_kit, +/obj/item/storage/box/gloves, +/obj/item/defib_kit/jumper_kit, /turf/unsimulated/floor/steel{ icon_state = "white" }, @@ -3729,8 +3729,8 @@ dir = 8 }, /obj/machinery/computer/transhuman/resleeving, -/obj/item/weapon/book/manual/resleeving, -/obj/item/weapon/storage/box/backup_kit, +/obj/item/book/manual/resleeving, +/obj/item/storage/box/backup_kit, /turf/unsimulated/floor/steel, /area/centcom/control) "hM" = ( @@ -3762,12 +3762,12 @@ /area/centcom/control) "hR" = ( /obj/structure/table/reinforced, -/obj/item/device/pda/captain, +/obj/item/pda/captain, /turf/unsimulated/floor/steel, /area/centcom/control) "hS" = ( /obj/structure/table/reinforced, -/obj/item/weapon/card/id/gold/captain/spare, +/obj/item/card/id/gold/captain/spare, /turf/unsimulated/floor/steel, /area/centcom/control) "hT" = ( @@ -3841,7 +3841,7 @@ "ie" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/projectile/automatic/l6_saw, +/obj/item/gun/projectile/automatic/l6_saw, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -3951,15 +3951,15 @@ /area/centcom/security) "im" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/empshells/large, -/obj/item/weapon/storage/box/empshells/large, -/obj/item/weapon/storage/box/empshells/large, -/obj/item/weapon/storage/box/empshells/large, -/obj/item/weapon/storage/box/empshells/large, -/obj/item/weapon/storage/box/empshells/large, -/obj/item/weapon/storage/box/empshells/large, -/obj/item/weapon/storage/box/empshells/large, -/obj/item/weapon/storage/box/empshells/large, +/obj/item/storage/box/empshells/large, +/obj/item/storage/box/empshells/large, +/obj/item/storage/box/empshells/large, +/obj/item/storage/box/empshells/large, +/obj/item/storage/box/empshells/large, +/obj/item/storage/box/empshells/large, +/obj/item/storage/box/empshells/large, +/obj/item/storage/box/empshells/large, +/obj/item/storage/box/empshells/large, /obj/effect/floor_decal/industrial/outline/yellow, /obj/machinery/camera/network/crescent, /turf/unsimulated/floor{ @@ -4001,17 +4001,17 @@ /area/centcom/security) "ip" = ( /obj/structure/table/rack, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/melee/energy/sword/blue, -/obj/item/weapon/melee/energy/sword/blue, -/obj/item/weapon/melee/energy/sword/blue, -/obj/item/weapon/melee/energy/sword/blue, -/obj/item/weapon/melee/energy/sword/blue, +/obj/item/melee/energy/sword/blue, +/obj/item/melee/energy/sword/blue, +/obj/item/melee/energy/sword/blue, +/obj/item/melee/energy/sword/blue, +/obj/item/melee/energy/sword/blue, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -4019,11 +4019,11 @@ /area/centcom/security) "iq" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/ionrifle, -/obj/item/weapon/gun/energy/ionrifle, -/obj/item/weapon/gun/energy/ionrifle, -/obj/item/weapon/gun/energy/ionrifle, -/obj/item/weapon/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle, /obj/effect/floor_decal/industrial/outline/yellow, /obj/machinery/camera/network/crescent, /turf/unsimulated/floor{ @@ -4033,11 +4033,11 @@ /area/centcom/security) "ir" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, +/obj/item/gun/energy/laser, +/obj/item/gun/energy/laser, +/obj/item/gun/energy/laser, +/obj/item/gun/energy/laser, +/obj/item/gun/energy/laser, /obj/effect/floor_decal/industrial/outline/yellow, /turf/unsimulated/floor{ icon_state = "vault"; @@ -4047,8 +4047,8 @@ "is" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/energy/gun/burst, -/obj/item/weapon/gun/energy/gun/burst, +/obj/item/gun/energy/gun/burst, +/obj/item/gun/energy/gun/burst, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -4057,8 +4057,8 @@ "it" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/energy/lasercannon, -/obj/item/weapon/gun/energy/lasercannon, +/obj/item/gun/energy/lasercannon, +/obj/item/gun/energy/lasercannon, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -4067,8 +4067,8 @@ "iu" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/energy/sniperrifle, -/obj/item/weapon/gun/energy/sniperrifle, +/obj/item/gun/energy/sniperrifle, +/obj/item/gun/energy/sniperrifle, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -4077,7 +4077,7 @@ "iv" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/energy/xray, +/obj/item/gun/energy/xray, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -4086,8 +4086,8 @@ "iw" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/energy/ionrifle/pistol, -/obj/item/weapon/gun/energy/ionrifle/pistol, +/obj/item/gun/energy/ionrifle/pistol, +/obj/item/gun/energy/ionrifle/pistol, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -4149,10 +4149,10 @@ "iD" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, -/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, -/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, -/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, +/obj/item/storage/backpack/dufflebag/syndie/ammo, +/obj/item/storage/backpack/dufflebag/syndie/ammo, +/obj/item/storage/backpack/dufflebag/syndie/ammo, +/obj/item/storage/backpack/dufflebag/syndie/ammo, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -4183,7 +4183,7 @@ /obj/item/clothing/shoes/brown, /obj/item/clothing/suit/armor/vest, /obj/item/clothing/head/helmet/swat, -/obj/item/weapon/gun/energy/laser, +/obj/item/gun/energy/laser, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -4195,7 +4195,7 @@ /obj/item/clothing/shoes/brown, /obj/item/clothing/suit/armor/vest, /obj/item/clothing/head/helmet/swat, -/obj/item/weapon/gun/energy/laser, +/obj/item/gun/energy/laser, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -4244,7 +4244,7 @@ "iZ" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/projectile/heavysniper, +/obj/item/gun/projectile/heavysniper, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -4326,8 +4326,8 @@ "je" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/energy/netgun, -/obj/item/weapon/gun/energy/netgun, +/obj/item/gun/energy/netgun, +/obj/item/gun/energy/netgun, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -4335,7 +4335,7 @@ /area/centcom/security) "jf" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/frags, +/obj/item/storage/box/frags, /obj/effect/floor_decal/industrial/outline/yellow, /turf/unsimulated/floor{ icon_state = "vault"; @@ -4360,13 +4360,13 @@ "jh" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/shield/riot, -/obj/item/weapon/shield/riot, -/obj/item/weapon/shield/riot, -/obj/item/weapon/shield/riot, -/obj/item/weapon/shield/riot, -/obj/item/weapon/shield/riot, -/obj/item/weapon/shield/riot, +/obj/item/shield/riot, +/obj/item/shield/riot, +/obj/item/shield/riot, +/obj/item/shield/riot, +/obj/item/shield/riot, +/obj/item/shield/riot, +/obj/item/shield/riot, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -4375,15 +4375,15 @@ "ji" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -2; pixel_y = -2 }, @@ -4411,9 +4411,9 @@ /area/centcom/evac) "js" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/clotting, -/obj/item/weapon/storage/firstaid/bonemed, -/obj/item/weapon/storage/pill_bottle/sleevingcure/full, +/obj/item/storage/firstaid/clotting, +/obj/item/storage/firstaid/bonemed, +/obj/item/storage/pill_bottle/sleevingcure/full, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -4459,8 +4459,8 @@ "jB" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/projectile/automatic/z8, -/obj/item/weapon/gun/projectile/automatic/z8, +/obj/item/gun/projectile/automatic/z8, +/obj/item/gun/projectile/automatic/z8, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -4482,7 +4482,7 @@ "jD" = ( /obj/effect/floor_decal/industrial/outline/yellow, /obj/structure/table/rack, -/obj/item/weapon/gun/energy/gun/nuclear, +/obj/item/gun/energy/gun/nuclear, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -4496,14 +4496,14 @@ /obj/item/clothing/shoes/boots/tactical, /obj/item/clothing/suit/armor/tactical, /obj/item/clothing/under/tactical, -/obj/item/weapon/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, /obj/structure/closet{ desc = "It's a storage unit for standard-issue attire."; name = "tactical equipment" }, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, -/obj/item/weapon/storage/backpack/satchel/sec, +/obj/item/storage/backpack/dufflebag/syndie/ammo, +/obj/item/storage/backpack/satchel/sec, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -4517,14 +4517,14 @@ /obj/item/clothing/shoes/boots/tactical, /obj/item/clothing/suit/armor/tactical, /obj/item/clothing/under/tactical, -/obj/item/weapon/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, /obj/structure/closet{ desc = "It's a storage unit for standard-issue attire."; name = "tactical equipment" }, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/weapon/storage/backpack/dufflebag/syndie/med, -/obj/item/weapon/storage/backpack/satchel/sec, +/obj/item/storage/backpack/dufflebag/syndie/med, +/obj/item/storage/backpack/satchel/sec, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -4533,9 +4533,9 @@ "jG" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, +/obj/item/gun/energy/gun, +/obj/item/gun/energy/gun, +/obj/item/gun/energy/gun, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -4606,7 +4606,7 @@ }, /area/centcom/medical) "jP" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 }, @@ -4631,7 +4631,7 @@ /area/centcom/medical) "jR" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/green, +/obj/item/bedsheet/green, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 }, @@ -4644,7 +4644,7 @@ /area/centcom/medical) "jS" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/green, +/obj/item/bedsheet/green, /obj/effect/floor_decal/borderfloorwhite{ dir = 5 }, @@ -4669,11 +4669,11 @@ }, /area/centcom/medical) "jU" = ( -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/gloves{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/box/masks, +/obj/item/storage/box/masks, /obj/structure/table/glass, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 @@ -4723,12 +4723,12 @@ }, /area/centcom/medical) "jY" = ( -/obj/item/weapon/storage/box/syringes{ +/obj/item/storage/box/syringes{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/box/beakers, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/storage/box/beakers, +/obj/item/reagent_containers/dropper, /obj/structure/table/glass, /obj/structure/reagent_dispensers/virusfood{ pixel_x = 0; @@ -4781,11 +4781,11 @@ /area/centcom/security) "kc" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/automatic/p90, -/obj/item/weapon/gun/projectile/automatic/p90, -/obj/item/weapon/gun/projectile/automatic/p90, -/obj/item/weapon/gun/projectile/automatic/p90, -/obj/item/weapon/gun/projectile/automatic/p90, +/obj/item/gun/projectile/automatic/p90, +/obj/item/gun/projectile/automatic/p90, +/obj/item/gun/projectile/automatic/p90, +/obj/item/gun/projectile/automatic/p90, +/obj/item/gun/projectile/automatic/p90, /obj/effect/floor_decal/industrial/outline/yellow, /turf/unsimulated/floor{ icon_state = "vault"; @@ -4794,11 +4794,11 @@ /area/centcom/security) "kd" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/automatic/bullpup, -/obj/item/weapon/gun/projectile/automatic/bullpup, -/obj/item/weapon/gun/projectile/automatic/bullpup, -/obj/item/weapon/gun/projectile/automatic/bullpup, -/obj/item/weapon/gun/projectile/automatic/bullpup, +/obj/item/gun/projectile/automatic/bullpup, +/obj/item/gun/projectile/automatic/bullpup, +/obj/item/gun/projectile/automatic/bullpup, +/obj/item/gun/projectile/automatic/bullpup, +/obj/item/gun/projectile/automatic/bullpup, /obj/effect/floor_decal/industrial/outline/yellow, /turf/unsimulated/floor{ icon_state = "vault"; @@ -4807,11 +4807,11 @@ /area/centcom/security) "ke" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/automatic/wt550/lethal, -/obj/item/weapon/gun/projectile/automatic/wt550/lethal, -/obj/item/weapon/gun/projectile/automatic/wt550/lethal, -/obj/item/weapon/gun/projectile/automatic/wt550/lethal, -/obj/item/weapon/gun/projectile/automatic/wt550/lethal, +/obj/item/gun/projectile/automatic/wt550/lethal, +/obj/item/gun/projectile/automatic/wt550/lethal, +/obj/item/gun/projectile/automatic/wt550/lethal, +/obj/item/gun/projectile/automatic/wt550/lethal, +/obj/item/gun/projectile/automatic/wt550/lethal, /obj/effect/floor_decal/industrial/outline/yellow, /obj/machinery/camera/network/crescent, /turf/unsimulated/floor{ @@ -4821,11 +4821,11 @@ /area/centcom/security) "kf" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, /obj/effect/floor_decal/industrial/outline/yellow, /turf/unsimulated/floor{ icon_state = "vault"; @@ -4894,8 +4894,8 @@ dir = 1 }, /obj/structure/table/woodentable, -/obj/item/device/radio/off, -/obj/item/device/megaphone, +/obj/item/radio/off, +/obj/item/megaphone, /obj/machinery/camera/network/crescent, /turf/unsimulated/floor{ icon_state = "vault"; @@ -4910,7 +4910,7 @@ dir = 1 }, /obj/structure/table/woodentable, -/obj/item/weapon/storage/box/handcuffs, +/obj/item/storage/box/handcuffs, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -5000,17 +5000,17 @@ /area/centcom/security) "kt" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/seccarts{ +/obj/item/storage/box/seccarts{ pixel_x = 3; pixel_y = 2 }, -/obj/item/weapon/storage/box/handcuffs, -/obj/item/weapon/storage/box/flashbangs{ +/obj/item/storage/box/handcuffs, +/obj/item/storage/box/flashbangs{ pixel_x = -2; pixel_y = -2 }, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -5137,11 +5137,11 @@ /area/centcom/security) "kH" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/shotgun/pump/USDF, -/obj/item/weapon/gun/projectile/shotgun/pump/USDF, -/obj/item/weapon/gun/projectile/shotgun/pump/USDF, -/obj/item/weapon/gun/projectile/shotgun/pump/USDF, -/obj/item/weapon/gun/projectile/shotgun/pump/USDF, +/obj/item/gun/projectile/shotgun/pump/USDF, +/obj/item/gun/projectile/shotgun/pump/USDF, +/obj/item/gun/projectile/shotgun/pump/USDF, +/obj/item/gun/projectile/shotgun/pump/USDF, +/obj/item/gun/projectile/shotgun/pump/USDF, /obj/effect/floor_decal/industrial/outline/yellow, /turf/unsimulated/floor{ icon_state = "vault"; @@ -5150,11 +5150,11 @@ /area/centcom/security) "kI" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/shotgun/pump, -/obj/item/weapon/gun/projectile/shotgun/pump, -/obj/item/weapon/gun/projectile/shotgun/pump, -/obj/item/weapon/gun/projectile/shotgun/pump, -/obj/item/weapon/gun/projectile/shotgun/pump, +/obj/item/gun/projectile/shotgun/pump, +/obj/item/gun/projectile/shotgun/pump, +/obj/item/gun/projectile/shotgun/pump, +/obj/item/gun/projectile/shotgun/pump, +/obj/item/gun/projectile/shotgun/pump, /obj/effect/floor_decal/industrial/outline/yellow, /turf/unsimulated/floor{ icon_state = "vault"; @@ -5264,7 +5264,7 @@ dir = 1 }, /obj/structure/table/glass, -/obj/item/weapon/storage/box/monkeycubes, +/obj/item/storage/box/monkeycubes, /obj/effect/floor_decal/borderfloorwhite{ dir = 5 }, @@ -5412,7 +5412,7 @@ /turf/unsimulated/floor/steel, /area/centcom/security) "lo" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/unsimulated/floor/steel{ icon_state = "white" }, @@ -5509,9 +5509,9 @@ /obj/structure/table/rack{ dir = 4 }, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, /obj/item/clothing/shoes/magboots, /obj/item/clothing/shoes/magboots, /obj/item/clothing/shoes/magboots, @@ -5529,11 +5529,11 @@ /area/centcom/security) "lw" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/automatic/battlerifle, -/obj/item/weapon/gun/projectile/automatic/battlerifle, -/obj/item/weapon/gun/projectile/automatic/battlerifle, -/obj/item/weapon/gun/projectile/automatic/battlerifle, -/obj/item/weapon/gun/projectile/automatic/battlerifle, +/obj/item/gun/projectile/automatic/battlerifle, +/obj/item/gun/projectile/automatic/battlerifle, +/obj/item/gun/projectile/automatic/battlerifle, +/obj/item/gun/projectile/automatic/battlerifle, +/obj/item/gun/projectile/automatic/battlerifle, /obj/effect/floor_decal/industrial/outline/yellow, /turf/unsimulated/floor{ icon_state = "vault"; @@ -5543,41 +5543,41 @@ "lx" = ( /obj/structure/table/standard, /obj/machinery/recharger, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon{ pixel_x = -2; pixel_y = -2 }, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -2; pixel_y = -2 }, @@ -5606,7 +5606,7 @@ /area/centcom/command) "lz" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ dir = 2; pixel_x = 10; pixel_y = 12 @@ -5621,7 +5621,7 @@ /area/centcom/command) "lA" = ( /obj/structure/table/woodentable, -/obj/item/weapon/stamp/hos, +/obj/item/stamp/hos, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -5699,7 +5699,7 @@ /area/centcom/medical) "lK" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/green, +/obj/item/bedsheet/green, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/green/border, /turf/unsimulated/floor/steel{ @@ -5708,7 +5708,7 @@ /area/centcom/medical) "lL" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/green, +/obj/item/bedsheet/green, /obj/effect/floor_decal/borderfloorwhite{ dir = 6 }, @@ -5818,11 +5818,11 @@ /area/centcom/control) "mb" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/unsimulated/floor/steel, /area/centcom/control) "mc" = ( @@ -5847,11 +5847,11 @@ /area/centcom/security) "md" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/automatic/pdw, -/obj/item/weapon/gun/projectile/automatic/pdw, -/obj/item/weapon/gun/projectile/automatic/pdw, -/obj/item/weapon/gun/projectile/automatic/pdw, -/obj/item/weapon/gun/projectile/automatic/pdw, +/obj/item/gun/projectile/automatic/pdw, +/obj/item/gun/projectile/automatic/pdw, +/obj/item/gun/projectile/automatic/pdw, +/obj/item/gun/projectile/automatic/pdw, +/obj/item/gun/projectile/automatic/pdw, /obj/effect/floor_decal/industrial/outline/yellow, /turf/unsimulated/floor{ icon_state = "vault"; @@ -5861,8 +5861,8 @@ "me" = ( /obj/structure/table/standard, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/weapon/storage/box/teargas, -/obj/item/weapon/storage/box/teargas, +/obj/item/storage/box/teargas, +/obj/item/storage/box/teargas, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -5927,12 +5927,12 @@ dir = 4 }, /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/folder/red_hos, -/obj/item/weapon/pen/multi, +/obj/item/folder/red_hos, +/obj/item/pen/multi, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -5979,8 +5979,8 @@ /obj/item/clothing/shoes/leg_guard/riot, /obj/item/clothing/suit/armor/riot/alt, /obj/item/clothing/head/helmet/riot, -/obj/item/weapon/shield/riot, -/obj/item/weapon/melee/baton/loaded, +/obj/item/shield/riot, +/obj/item/melee/baton/loaded, /obj/effect/floor_decal/industrial/outline/yellow, /turf/unsimulated/floor{ icon_state = "vault"; @@ -5989,17 +5989,17 @@ /area/centcom/security) "mq" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/empslite{ +/obj/item/storage/box/empslite{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/box/flashbangs{ +/obj/item/storage/box/flashbangs{ pixel_x = -2; pixel_y = -2 }, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/weapon/storage/box/empslite, -/obj/item/weapon/storage/box/flashbangs{ +/obj/item/storage/box/empslite, +/obj/item/storage/box/flashbangs{ pixel_x = -2; pixel_y = -2 }, @@ -6061,11 +6061,11 @@ dir = 6 }, /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/flask/barflask{ +/obj/item/reagent_containers/food/drinks/flask/barflask{ pixel_x = -4; pixel_y = 8 }, -/obj/item/device/taperecorder{ +/obj/item/taperecorder{ pixel_y = 0 }, /turf/unsimulated/floor{ @@ -6111,19 +6111,19 @@ /area/centcom/medical) "mz" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{ +/obj/item/reagent_containers/glass/beaker/cryoxadone{ pixel_x = 5; pixel_y = 5 }, -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{ +/obj/item/reagent_containers/glass/beaker/cryoxadone{ pixel_x = 0; pixel_y = 0 }, -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{ +/obj/item/reagent_containers/glass/beaker/cryoxadone{ pixel_x = 7; pixel_y = 1 }, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /obj/effect/floor_decal/borderfloorwhite{ dir = 9 }, @@ -6182,8 +6182,8 @@ /area/centcom/medical) "mD" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/box/bodybags, -/obj/item/weapon/storage/box/bodybags, +/obj/item/storage/box/bodybags, +/obj/item/storage/box/bodybags, /obj/effect/floor_decal/steeldecal/steel_decals9{ dir = 1 }, @@ -6248,8 +6248,8 @@ /obj/item/clothing/shoes/leg_guard/riot, /obj/item/clothing/suit/armor/riot/alt, /obj/item/clothing/head/helmet/riot, -/obj/item/weapon/shield/riot, -/obj/item/weapon/melee/baton/loaded, +/obj/item/shield/riot, +/obj/item/melee/baton/loaded, /obj/effect/floor_decal/industrial/outline/yellow, /turf/unsimulated/floor{ icon_state = "vault"; @@ -6258,15 +6258,15 @@ /area/centcom/security) "mJ" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/handcuffs{ +/obj/item/storage/box/handcuffs{ pixel_x = 8; pixel_y = 6 }, -/obj/item/weapon/storage/box/chemimp{ +/obj/item/storage/box/chemimp{ pixel_x = 4; pixel_y = 3 }, -/obj/item/weapon/storage/box/trackimp, +/obj/item/storage/box/trackimp, /obj/effect/floor_decal/industrial/outline/grey, /turf/unsimulated/floor{ icon_state = "vault"; @@ -6407,7 +6407,7 @@ }, /area/centcom/medical) "nb" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -6592,9 +6592,9 @@ /area/centcom/medical) "nv" = ( /obj/structure/table/steel, -/obj/item/weapon/autopsy_scanner, -/obj/item/weapon/surgical/scalpel, -/obj/item/weapon/surgical/cautery, +/obj/item/autopsy_scanner, +/obj/item/surgical/scalpel, +/obj/item/surgical/cautery, /obj/effect/floor_decal/steeldecal/steel_decals9, /obj/effect/floor_decal/steeldecal/steel_decals9{ dir = 8 @@ -6617,16 +6617,16 @@ /area/centcom/medical) "nx" = ( /obj/structure/table/steel, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = -6 }, -/obj/item/device/camera{ +/obj/item/camera{ name = "Autopsy Camera"; pixel_x = -2; pixel_y = 7 }, -/obj/item/weapon/pen/red, -/obj/item/weapon/pen/blue{ +/obj/item/pen/red, +/obj/item/pen/blue{ pixel_x = 3; pixel_y = -5 }, @@ -6784,8 +6784,8 @@ /area/centcom/security) "nP" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/hemostat, -/obj/item/weapon/surgical/cautery, +/obj/item/surgical/hemostat, +/obj/item/surgical/cautery, /obj/effect/floor_decal/borderfloorwhite{ dir = 9 }, @@ -6799,7 +6799,7 @@ "nQ" = ( /obj/structure/table/standard, /obj/item/stack/medical/advanced/bruise_pack, -/obj/item/weapon/surgical/retractor, +/obj/item/surgical/retractor, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 }, @@ -6812,10 +6812,10 @@ /area/centcom/medical) "nR" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/circular_saw{ +/obj/item/surgical/circular_saw{ pixel_y = 8 }, -/obj/item/weapon/surgical/scalpel, +/obj/item/surgical/scalpel, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 }, @@ -6829,15 +6829,15 @@ /area/centcom/medical) "nS" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/surgicaldrill, -/obj/item/weapon/autopsy_scanner, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/surgical/surgicaldrill, +/obj/item/autopsy_scanner, +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/surgical/FixOVein, +/obj/item/surgical/FixOVein, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 }, @@ -6883,7 +6883,7 @@ dir = 1 }, /obj/machinery/camera/network/crescent, -/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, /turf/unsimulated/floor/steel{ icon_state = "white" }, @@ -7029,11 +7029,11 @@ /obj/effect/floor_decal/borderfloor{ dir = 1 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -1; pixel_y = 5 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/unsimulated/floor/steel, /area/centcom/command) "oi" = ( @@ -7079,11 +7079,11 @@ /obj/effect/floor_decal/borderfloor{ dir = 1 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -1; pixel_y = 5 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/machinery/camera/network/crescent, /turf/unsimulated/floor/steel, /area/centcom/command) @@ -7234,7 +7234,7 @@ "oD" = ( /obj/structure/table/standard, /obj/machinery/chemical_dispenser/bar_soft/full, -/obj/item/weapon/storage/box/glasses/square, +/obj/item/storage/box/glasses/square, /obj/effect/floor_decal/borderfloor{ dir = 9 }, @@ -7246,7 +7246,7 @@ "oE" = ( /obj/structure/table/standard, /obj/machinery/recharger, -/obj/item/weapon/book/codex, +/obj/item/book/codex, /obj/machinery/recharger/wallcharger{ pixel_x = 4; pixel_y = 26 @@ -7262,13 +7262,13 @@ "oF" = ( /obj/structure/table/standard, /obj/machinery/recharger, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/device/radio/intercom{ +/obj/item/reagent_containers/spray/cleaner, +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 27 }, -/obj/item/weapon/storage/box/donut, +/obj/item/storage/box/donut, /obj/effect/floor_decal/borderfloor{ dir = 1 }, @@ -7318,14 +7318,14 @@ /area/centcom/security) "oK" = ( /obj/structure/table/standard, -/obj/item/device/taperecorder{ +/obj/item/taperecorder{ pixel_y = 0 }, -/obj/item/device/megaphone, -/obj/item/weapon/packageWrap, -/obj/item/weapon/storage/box, -/obj/item/weapon/hand_labeler, -/obj/item/device/universal_translator, +/obj/item/megaphone, +/obj/item/packageWrap, +/obj/item/storage/box, +/obj/item/hand_labeler, +/obj/item/universal_translator, /obj/effect/floor_decal/borderfloor{ dir = 1 }, @@ -7356,24 +7356,24 @@ /obj/structure/reagent_dispensers/peppertank{ pixel_x = 30 }, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, /obj/machinery/recharger/wallcharger{ pixel_x = 4; pixel_y = 26 @@ -7391,8 +7391,8 @@ /area/centcom/security) "oO" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/bonesetter, -/obj/item/weapon/surgical/bonegel, +/obj/item/surgical/bonesetter, +/obj/item/surgical/bonegel, /obj/effect/floor_decal/borderfloorwhite{ dir = 8 }, @@ -7572,11 +7572,11 @@ dir = 8 }, /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/blood/OPlus{ +/obj/item/reagent_containers/blood/OPlus{ pixel_x = 4; pixel_y = 2 }, -/obj/item/weapon/reagent_containers/blood/OMinus{ +/obj/item/reagent_containers/blood/OMinus{ pixel_x = -5; pixel_y = -1 }, @@ -7655,7 +7655,7 @@ /area/centcom/medical) "pp" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, /turf/unsimulated/floor/steel{ icon_state = "white" }, @@ -7743,7 +7743,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/folder/red_hos, +/obj/item/folder/red_hos, /turf/unsimulated/floor{ icon_state = "carpet"; dir = 2 @@ -7753,7 +7753,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 4 }, @@ -7766,7 +7766,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/unsimulated/floor{ icon_state = "carpet"; dir = 2 @@ -7800,7 +7800,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/folder/blue_captain, +/obj/item/folder/blue_captain, /turf/unsimulated/floor{ icon_state = "carpet"; dir = 2 @@ -7810,7 +7810,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/folder/blue_hop, +/obj/item/folder/blue_hop, /turf/unsimulated/floor{ icon_state = "carpet"; dir = 2 @@ -7820,7 +7820,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/device/megaphone, +/obj/item/megaphone, /turf/unsimulated/floor{ icon_state = "carpet"; dir = 2 @@ -7992,11 +7992,11 @@ icon_state = "borderfloor"; pixel_y = -16 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -1; pixel_y = 5 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/unsimulated/floor/steel, /area/centcom/command) "qb" = ( @@ -8019,7 +8019,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/folder/white_cmo, +/obj/item/folder/white_cmo, /turf/unsimulated/floor{ icon_state = "carpet"; dir = 2 @@ -8029,7 +8029,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -2; pixel_y = 2 }, @@ -8042,7 +8042,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/folder/white_rd, +/obj/item/folder/white_rd, /turf/unsimulated/floor{ icon_state = "carpet"; dir = 2 @@ -8052,7 +8052,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/storage/briefcase{ +/obj/item/storage/briefcase{ pixel_x = 3; pixel_y = 5 }, @@ -8065,7 +8065,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 3 }, /turf/unsimulated/floor{ @@ -8077,7 +8077,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/folder/yellow_ce, +/obj/item/folder/yellow_ce, /turf/unsimulated/floor{ icon_state = "carpet"; dir = 2 @@ -8173,7 +8173,7 @@ /area/centcom/security) "qp" = ( /obj/structure/table/reinforced, -/obj/item/weapon/folder/red_hos, +/obj/item/folder/red_hos, /turf/unsimulated/floor/steel, /area/centcom/security) "qq" = ( @@ -8248,9 +8248,9 @@ /area/centcom/medical) "qx" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /obj/effect/floor_decal/borderfloorwhite{ dir = 8 }, @@ -8263,19 +8263,19 @@ /obj/effect/floor_decal/corner/paleblue/bordercorner2{ dir = 8 }, -/obj/item/weapon/reagent_containers/blood/OPlus{ +/obj/item/reagent_containers/blood/OPlus{ pixel_x = 4; pixel_y = 2 }, -/obj/item/weapon/reagent_containers/blood/OPlus{ +/obj/item/reagent_containers/blood/OPlus{ pixel_x = 4; pixel_y = 2 }, -/obj/item/weapon/reagent_containers/blood/OPlus{ +/obj/item/reagent_containers/blood/OPlus{ pixel_x = 4; pixel_y = 2 }, -/obj/item/device/healthanalyzer/advanced, +/obj/item/healthanalyzer/advanced, /turf/unsimulated/floor/steel{ icon_state = "white" }, @@ -8288,12 +8288,12 @@ dir = 4 }, /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the 'Space' from Space Cleaner and written in Chemistry. Scrawled on the back is, 'Okay, whoever filled this with polytrinic acid, it was only funny the first time. It was hard enough replacing the CMO's first cat!'"; name = "Chemistry Cleaner" }, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; @@ -8418,7 +8418,7 @@ /area/centcom/security) "qJ" = ( /obj/structure/table/reinforced, -/obj/item/weapon/folder/red, +/obj/item/folder/red, /turf/unsimulated/floor/steel, /area/centcom/security) "qK" = ( @@ -8429,8 +8429,8 @@ /area/centcom/security) "qL" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /obj/effect/floor_decal/borderfloorwhite{ dir = 10 }, @@ -8443,8 +8443,8 @@ /area/centcom/medical) "qM" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/firstaid/adv, -/obj/item/weapon/storage/firstaid/adv, +/obj/item/storage/firstaid/adv, +/obj/item/storage/firstaid/adv, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /turf/unsimulated/floor/steel{ @@ -8494,7 +8494,7 @@ /obj/effect/floor_decal/borderfloorwhite/corner2, /obj/effect/floor_decal/corner/paleblue/bordercorner2, /obj/structure/table/glass, -/obj/item/weapon/storage/firstaid/o2, +/obj/item/storage/firstaid/o2, /turf/unsimulated/floor/steel{ icon_state = "white" }, @@ -8503,7 +8503,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /obj/structure/table/glass, -/obj/item/weapon/storage/firstaid/fire, +/obj/item/storage/firstaid/fire, /turf/unsimulated/floor/steel{ icon_state = "white" }, @@ -8516,7 +8516,7 @@ dir = 6 }, /obj/structure/table/glass, -/obj/item/weapon/storage/box/syringes, +/obj/item/storage/box/syringes, /turf/unsimulated/floor/steel{ icon_state = "white" }, @@ -8565,11 +8565,11 @@ "qZ" = ( /obj/structure/table/standard, /obj/effect/floor_decal/borderfloor, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -1; pixel_y = 5 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/unsimulated/floor/steel, /area/centcom/command) "ra" = ( @@ -8584,32 +8584,32 @@ /area/centcom/command) "rb" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 3 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = -4 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8; pixel_y = 12 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = 12 }, @@ -8626,27 +8626,27 @@ /area/centcom/command) "rd" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = 8; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = 0; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = -8; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = 8; pixel_y = 4 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = 0; pixel_y = 4 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = -8; pixel_y = 4 }, @@ -8682,7 +8682,7 @@ /area/centcom/holding) "rh" = ( /obj/structure/table/standard, -/obj/item/device/healthanalyzer, +/obj/item/healthanalyzer, /obj/item/stack/medical/bruise_pack{ pixel_x = -4; pixel_y = 3 @@ -8700,12 +8700,12 @@ /area/centcom/holding) "ri" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/syringe/inaprovaline, -/obj/item/weapon/reagent_containers/syringe/inaprovaline{ +/obj/item/reagent_containers/syringe/inaprovaline, +/obj/item/reagent_containers/syringe/inaprovaline{ pixel_x = -2; pixel_y = 5 }, -/obj/item/weapon/reagent_containers/syringe/inaprovaline{ +/obj/item/reagent_containers/syringe/inaprovaline{ pixel_y = 10 }, /obj/effect/floor_decal/borderfloor, @@ -8717,7 +8717,7 @@ /obj/item/bodybag/cryobag{ pixel_x = 6 }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = 5; pixel_y = 5 }, @@ -8737,12 +8737,12 @@ /area/centcom/holding) "rl" = ( /obj/structure/table/reinforced, -/obj/item/weapon/book/manual/security_space_law, +/obj/item/book/manual/wiki/security_space_law, /turf/unsimulated/floor/steel, /area/centcom/security) "rm" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/handcuffs, +/obj/item/storage/box/handcuffs, /turf/unsimulated/floor/steel, /area/centcom/security) "rn" = ( @@ -9015,7 +9015,7 @@ }, /area/centcom/bathroom) "sb" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/unsimulated/floor{ icon_state = "steel" }, @@ -9095,7 +9095,7 @@ /area/centcom/medical) "sm" = ( /obj/structure/table/glass, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -1; pixel_y = 3 }, @@ -9111,7 +9111,7 @@ /obj/effect/floor_decal/corner/paleblue/border{ dir = 4 }, -/obj/item/device/healthanalyzer/advanced, +/obj/item/healthanalyzer/advanced, /turf/unsimulated/floor/steel{ icon_state = "white" }, @@ -9136,11 +9136,11 @@ icon_state = "borderfloor"; pixel_x = 16 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -1; pixel_y = 5 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/unsimulated/floor/steel, /area/centcom/command) "sr" = ( @@ -9238,13 +9238,13 @@ /obj/effect/floor_decal/corner/paleblue/border{ dir = 8 }, -/obj/item/weapon/backup_implanter{ +/obj/item/backup_implanter{ pixel_y = -8 }, -/obj/item/weapon/backup_implanter{ +/obj/item/backup_implanter{ pixel_y = 8 }, -/obj/item/weapon/backup_implanter, +/obj/item/backup_implanter, /turf/unsimulated/floor/steel{ icon_state = "white" }, @@ -9419,8 +9419,8 @@ /area/centcom/terminal) "sZ" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/cups, -/obj/item/weapon/storage/box/cups, +/obj/item/storage/box/cups, +/obj/item/storage/box/cups, /obj/effect/floor_decal/borderfloorwhite{ dir = 4 }, @@ -9455,7 +9455,7 @@ /obj/effect/floor_decal/corner/blue/bordercorner2{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ broadcasting = 0; dir = 1; frequency = 1475; @@ -9569,7 +9569,7 @@ /turf/unsimulated/floor/steel, /area/centcom/security) "ti" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/borderfloor{ dir = 8 }, @@ -9582,11 +9582,11 @@ /turf/unsimulated/floor/steel, /area/centcom/security) "tj" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/unsimulated/floor/steel, /area/centcom/security) "tk" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/structure/reagent_dispensers/peppertank{ pixel_x = 30 }, @@ -9663,11 +9663,11 @@ req_access = list(63); req_one_access = list(1) }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/effect/floor_decal/borderfloor{ dir = 8 }, @@ -9682,7 +9682,7 @@ /area/centcom/security) "tu" = ( /obj/structure/table/reinforced, -/obj/item/weapon/book/manual/security_space_law, +/obj/item/book/manual/wiki/security_space_law, /obj/effect/floor_decal/borderfloor{ dir = 8 }, @@ -9848,7 +9848,7 @@ /area/centcom/bathroom) "tM" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /turf/unsimulated/floor{ icon_state = "steel" }, @@ -9894,7 +9894,7 @@ /area/centcom/bathroom) "tR" = ( /obj/structure/table/reinforced, -/obj/item/device/camera, +/obj/item/camera, /obj/effect/floor_decal/borderfloor{ dir = 10 }, @@ -9913,15 +9913,15 @@ /area/centcom/security) "tT" = ( /obj/structure/table/reinforced, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/gun/energy/taser, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/gun/energy/taser, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/blue/border, /turf/unsimulated/floor/steel, /area/centcom/security) "tU" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/ids, +/obj/item/storage/box/ids, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/blue/border, /turf/unsimulated/floor/steel, @@ -9954,11 +9954,11 @@ /area/centcom/security) "tX" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/machinery/door/window/brigdoor{ icon_state = "leftsecure"; dir = 2 @@ -10587,11 +10587,11 @@ req_access = list(63); req_one_access = list(1) }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/machinery/button/remote/blast_door{ id = "FrontlockC"; name = "Colony Entrance Lockdown"; @@ -10788,8 +10788,8 @@ /obj/effect/floor_decal/carpet{ dir = 9 }, -/obj/item/weapon/flame/lighter/zippo, -/obj/item/weapon/storage/fancy/cigarettes, +/obj/item/flame/lighter/zippo, +/obj/item/storage/fancy/cigarettes, /turf/unsimulated/floor{ dir = 2; icon_state = "carpet" @@ -10800,8 +10800,8 @@ /obj/effect/floor_decal/carpet{ dir = 1 }, -/obj/item/weapon/flame/lighter/zippo, -/obj/item/weapon/storage/fancy/cigarettes, +/obj/item/flame/lighter/zippo, +/obj/item/storage/fancy/cigarettes, /turf/unsimulated/floor{ dir = 2; icon_state = "carpet" @@ -10818,8 +10818,8 @@ /obj/effect/floor_decal/carpet{ dir = 5 }, -/obj/item/weapon/flame/lighter/zippo, -/obj/item/weapon/storage/fancy/cigarettes, +/obj/item/flame/lighter/zippo, +/obj/item/storage/fancy/cigarettes, /turf/unsimulated/floor{ dir = 2; icon_state = "carpet" @@ -10828,8 +10828,8 @@ "vS" = ( /obj/structure/table/rack, /obj/item/clothing/suit/armor/riot, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/shield/riot, +/obj/item/melee/baton/loaded, +/obj/item/shield/riot, /obj/item/clothing/head/helmet/riot, /obj/effect/floor_decal/borderfloorblack{ dir = 9 @@ -10845,8 +10845,8 @@ "vT" = ( /obj/structure/table/rack, /obj/item/clothing/suit/armor/riot, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/shield/riot, +/obj/item/melee/baton/loaded, +/obj/item/shield/riot, /obj/item/clothing/head/helmet/riot, /obj/effect/floor_decal/borderfloorblack{ dir = 1 @@ -10862,8 +10862,8 @@ "vU" = ( /obj/structure/table/rack, /obj/item/clothing/suit/armor/riot, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/shield/riot, +/obj/item/melee/baton/loaded, +/obj/item/shield/riot, /obj/item/clothing/head/helmet/riot, /obj/effect/floor_decal/borderfloorblack{ dir = 5 @@ -10903,7 +10903,7 @@ pixel_y = 30 }, /obj/structure/table/reinforced, -/obj/item/weapon/gun/projectile/shotgun/pump/combat{ +/obj/item/gun/projectile/shotgun/pump/combat{ name = "Discipline" }, /obj/effect/floor_decal/borderfloorblack{ @@ -10942,9 +10942,9 @@ pixel_y = 26 }, /obj/structure/table/reinforced, -/obj/item/weapon/stamp/ward, -/obj/item/weapon/stamp/denied, -/obj/item/device/binoculars, +/obj/item/stamp/ward, +/obj/item/stamp/denied, +/obj/item/binoculars, /obj/effect/floor_decal/borderfloorblack{ dir = 1 }, @@ -10957,7 +10957,7 @@ }, /area/centcom/security) "wa" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ broadcasting = 0; dir = 1; frequency = 1475; @@ -11065,7 +11065,7 @@ /obj/effect/floor_decal/corner/blue/border{ dir = 9 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ broadcasting = 0; dir = 1; frequency = 1475; @@ -11400,8 +11400,8 @@ dir = 5 }, /obj/structure/table/reinforced, -/obj/item/device/camera, -/obj/item/weapon/storage/box/ids, +/obj/item/camera, +/obj/item/storage/box/ids, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -11521,7 +11521,7 @@ /obj/structure/bed/chair/office/dark{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ broadcasting = 0; dir = 1; frequency = 1475; @@ -11642,8 +11642,8 @@ dir = 10 }, /obj/structure/table/reinforced, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/manual/security_space_law, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/wiki/security_space_law, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -11734,7 +11734,7 @@ /area/centcom/restaurant) "xk" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/fries, +/obj/item/reagent_containers/food/snacks/fries, /turf/unsimulated/floor/steel{ icon = 'icons/turf/floors_vr.dmi'; icon_state = "wood" @@ -11742,11 +11742,11 @@ /area/centcom/restaurant) "xl" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/cheeseburger{ +/obj/item/reagent_containers/food/snacks/cheeseburger{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/reagent_containers/food/snacks/cheeseburger, +/obj/item/reagent_containers/food/snacks/cheeseburger, /turf/unsimulated/floor/steel{ icon = 'icons/turf/floors_vr.dmi'; icon_state = "wood" @@ -11764,7 +11764,7 @@ /area/centcom/restaurant) "xn" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/grilledcheese, +/obj/item/reagent_containers/food/snacks/grilledcheese, /turf/unsimulated/floor/steel{ icon = 'icons/turf/floors_vr.dmi'; icon_state = "wood" @@ -11772,7 +11772,7 @@ /area/centcom/restaurant) "xo" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/meatballsoup, +/obj/item/reagent_containers/food/snacks/meatballsoup, /turf/unsimulated/floor/steel{ icon = 'icons/turf/floors_vr.dmi'; icon_state = "wood" @@ -11819,7 +11819,7 @@ "xs" = ( /obj/effect/floor_decal/industrial/outline, /obj/structure/closet/secure_closet/nanotrasen_security, -/obj/item/weapon/storage/box/handcuffs, +/obj/item/storage/box/handcuffs, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -11971,7 +11971,7 @@ "xB" = ( /obj/effect/floor_decal/industrial/outline/grey, /obj/structure/closet/secure_closet/nanotrasen_warden, -/obj/item/weapon/storage/box/handcuffs, +/obj/item/storage/box/handcuffs, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -12068,8 +12068,8 @@ /area/centcom/main_hall) "xJ" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/hotdog, -/obj/item/weapon/reagent_containers/food/snacks/hotdog{ +/obj/item/reagent_containers/food/snacks/hotdog, +/obj/item/reagent_containers/food/snacks/hotdog{ pixel_x = -5; pixel_y = -3 }, @@ -12080,7 +12080,7 @@ /area/centcom/restaurant) "xK" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/bigbiteburger, +/obj/item/reagent_containers/food/snacks/bigbiteburger, /turf/unsimulated/floor/steel{ icon = 'icons/turf/floors_vr.dmi'; icon_state = "wood" @@ -12088,7 +12088,7 @@ /area/centcom/restaurant) "xL" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/roastbeef, +/obj/item/reagent_containers/food/snacks/roastbeef, /turf/unsimulated/floor/steel{ icon = 'icons/turf/floors_vr.dmi'; icon_state = "wood" @@ -12096,7 +12096,7 @@ /area/centcom/restaurant) "xM" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/meatsteak, +/obj/item/reagent_containers/food/snacks/meatsteak, /turf/unsimulated/floor/steel{ icon = 'icons/turf/floors_vr.dmi'; icon_state = "wood" @@ -12127,7 +12127,7 @@ /obj/effect/floor_decal/carpet{ dir = 8 }, -/obj/item/weapon/material/ashtray/glass, +/obj/item/material/ashtray/glass, /obj/machinery/camera/network/crescent{ dir = 4 }, @@ -12256,7 +12256,7 @@ /obj/effect/floor_decal/carpet{ dir = 8 }, -/obj/item/weapon/material/ashtray/glass, +/obj/item/material/ashtray/glass, /turf/unsimulated/floor{ dir = 2; icon_state = "carpet" @@ -12451,8 +12451,8 @@ dir = 8 }, /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/donkpockets, -/obj/item/weapon/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -12491,7 +12491,7 @@ }) "yn" = ( /obj/structure/table/standard, -/obj/item/weapon/soap, +/obj/item/soap, /obj/effect/floor_decal/borderfloorwhite{ dir = 10 }, @@ -12601,9 +12601,9 @@ dir = 10 }, /obj/structure/table/reinforced, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/gun/energy/taser, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, +/obj/item/gun/energy/taser, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -12615,9 +12615,9 @@ /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/blue/border, /obj/structure/closet/secure_closet/nanotrasen_security, -/obj/item/weapon/storage/box/handcuffs, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/shield/riot, +/obj/item/storage/box/handcuffs, +/obj/item/gun/energy/gun, +/obj/item/shield/riot, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -12635,9 +12635,9 @@ dir = 9 }, /obj/structure/closet/secure_closet/nanotrasen_security, -/obj/item/weapon/storage/box/handcuffs, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/shield/riot, +/obj/item/storage/box/handcuffs, +/obj/item/gun/energy/gun, +/obj/item/shield/riot, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -12690,8 +12690,8 @@ }, /area/centcom/security) "yE" = ( -/obj/item/weapon/storage/box/evidence, -/obj/item/weapon/folder/red, +/obj/item/storage/box/evidence, +/obj/item/folder/red, /obj/structure/table/reinforced, /obj/effect/floor_decal/borderfloorblack{ dir = 8 @@ -12706,8 +12706,8 @@ /area/centcom/security) "yF" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -12724,7 +12724,7 @@ /area/centcom/restaurant) "yH" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/pastatomato, +/obj/item/reagent_containers/food/snacks/pastatomato, /turf/unsimulated/floor/steel{ icon = 'icons/turf/floors_vr.dmi'; icon_state = "wood" @@ -12732,7 +12732,7 @@ /area/centcom/restaurant) "yI" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/meatballspagetti, +/obj/item/reagent_containers/food/snacks/meatballspagetti, /turf/unsimulated/floor/steel{ icon = 'icons/turf/floors_vr.dmi'; icon_state = "wood" @@ -12753,32 +12753,32 @@ /area/centcom/restaurant) "yL" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 3 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = -4 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8; pixel_y = 12 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = 12 }, @@ -12798,27 +12798,27 @@ /area/centcom/restaurant) "yN" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = 8; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = 0; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = -8; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = 8; pixel_y = 4 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = 0; pixel_y = 4 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = -8; pixel_y = 4 }, @@ -12966,8 +12966,8 @@ /area/centcom/security) "yX" = ( /obj/structure/table/reinforced, -/obj/item/weapon/material/minihoe, -/obj/item/device/analyzer/plant_analyzer, +/obj/item/material/minihoe, +/obj/item/analyzer/plant_analyzer, /obj/effect/floor_decal/borderfloorblack{ dir = 1 }, @@ -13007,7 +13007,7 @@ }, /area/centcom/security) "za" = ( -/obj/item/device/camera{ +/obj/item/camera{ desc = "A one use - polaroid camera. 30 photos left."; name = "detectives camera"; pictures_left = 30; @@ -13066,7 +13066,7 @@ /area/centcom/main_hall) "zf" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/kitsuneudon, +/obj/item/reagent_containers/food/snacks/kitsuneudon, /turf/unsimulated/floor/steel{ icon = 'icons/turf/floors_vr.dmi'; icon_state = "wood" @@ -13074,7 +13074,7 @@ /area/centcom/restaurant) "zg" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/lasagna, +/obj/item/reagent_containers/food/snacks/lasagna, /turf/unsimulated/floor/steel{ icon = 'icons/turf/floors_vr.dmi'; icon_state = "wood" @@ -13158,7 +13158,7 @@ }, /area/centcom/security) "zn" = ( -/obj/item/device/taperecorder, +/obj/item/taperecorder, /obj/structure/table/reinforced, /obj/effect/floor_decal/borderfloorblack{ dir = 10 @@ -13410,7 +13410,7 @@ /area/centcom/security) "zH" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /obj/effect/floor_decal/borderfloorblack{ dir = 9 }, @@ -13445,7 +13445,7 @@ /area/centcom/security) "zJ" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /obj/machinery/camera/network/crescent, /obj/effect/floor_decal/borderfloorblack{ dir = 5 @@ -13466,7 +13466,7 @@ }, /area/centcom/bar) "zL" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/unsimulated/floor/steel{ icon = 'icons/turf/floors_vr.dmi'; icon_state = "wood" @@ -13534,7 +13534,7 @@ /area/centcom/bar) "zV" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/bottle/grenadine, +/obj/item/reagent_containers/food/drinks/bottle/grenadine, /turf/unsimulated/floor/steel{ icon = 'icons/turf/floors_vr.dmi'; icon_state = "wood" @@ -13542,7 +13542,7 @@ /area/centcom/bar) "zW" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cola, +/obj/item/reagent_containers/food/drinks/bottle/cola, /turf/unsimulated/floor/steel{ icon = 'icons/turf/floors_vr.dmi'; icon_state = "wood" @@ -13558,7 +13558,7 @@ /area/centcom/bar) "zY" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/bottle/space_mountain_wind, +/obj/item/reagent_containers/food/drinks/bottle/space_mountain_wind, /turf/unsimulated/floor/steel{ icon = 'icons/turf/floors_vr.dmi'; icon_state = "wood" @@ -13566,7 +13566,7 @@ /area/centcom/bar) "zZ" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/toastedsandwich{ +/obj/item/reagent_containers/food/snacks/toastedsandwich{ pixel_w = 0; pixel_x = 0; pixel_y = 10 @@ -13605,7 +13605,7 @@ /area/centcom/security) "Ae" = ( /obj/structure/table/reinforced, -/obj/item/weapon/gun/energy/taser, +/obj/item/gun/energy/taser, /obj/machinery/recharger/wallcharger{ pixel_x = 4; pixel_y = 26 @@ -13631,8 +13631,8 @@ /area/centcom/security) "Ah" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/donkpockets, -/obj/item/weapon/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, /obj/effect/floor_decal/borderfloorblack{ dir = 8 }, @@ -13646,7 +13646,7 @@ /area/centcom/security) "Ai" = ( /obj/structure/table/reinforced, -/obj/item/device/taperecorder, +/obj/item/taperecorder, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -13681,7 +13681,7 @@ /area/centcom/security) "Al" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /obj/effect/floor_decal/borderfloorblack{ dir = 10 }, @@ -13712,7 +13712,7 @@ /area/centcom/security) "An" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /obj/effect/floor_decal/borderfloorblack{ dir = 6 }, @@ -13830,9 +13830,9 @@ /area/centcom/bar) "AB" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/food/drinks/flask/barflask, -/obj/item/weapon/reagent_containers/glass/rag, -/obj/item/weapon/reagent_containers/food/drinks/flask/vacuumflask, +/obj/item/reagent_containers/food/drinks/flask/barflask, +/obj/item/reagent_containers/glass/rag, +/obj/item/reagent_containers/food/drinks/flask/vacuumflask, /turf/unsimulated/floor/steel{ icon = 'icons/turf/floors_vr.dmi'; icon_state = "wood" @@ -13904,7 +13904,7 @@ /area/centcom/security) "AJ" = ( /obj/structure/table/reinforced, -/obj/item/weapon/book/manual/security_space_law, +/obj/item/book/manual/wiki/security_space_law, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -13912,8 +13912,8 @@ /area/centcom/security) "AK" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/pill_bottle/dice, -/obj/item/weapon/deck/cards, +/obj/item/storage/pill_bottle/dice, +/obj/item/deck/cards, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -14002,7 +14002,7 @@ name = "\improper CentCom Residential Security" }) "AS" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ broadcasting = 0; dir = 1; frequency = 1475; @@ -14084,7 +14084,7 @@ /obj/effect/floor_decal/corner/blue/bordercorner2{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ broadcasting = 0; dir = 1; frequency = 1475; @@ -14221,11 +14221,11 @@ pixel_x = 6; pixel_y = -5 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/effect/floor_decal/borderfloorblack{ dir = 9 }, @@ -14316,7 +14316,7 @@ }, /area/centcom/security) "Bo" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/orange/border, /turf/unsimulated/floor{ @@ -14375,16 +14375,16 @@ dir = 4 }, /obj/structure/table/marble, -/obj/item/weapon/book/manual/chef_recipes, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/book/manual/chef_recipes, +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -3; pixel_y = 0 }, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 3 }, -/obj/item/weapon/material/kitchen/rollingpin, -/obj/item/weapon/material/knife/butch, +/obj/item/material/kitchen/rollingpin, +/obj/item/material/knife/butch, /turf/simulated/floor/tiled/white, /area/centcom/bar) "Bt" = ( @@ -14610,8 +14610,8 @@ }) "BL" = ( /obj/structure/table/reinforced, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/device/taperecorder, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/taperecorder, /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/blue/border, /turf/unsimulated/floor{ @@ -14623,8 +14623,8 @@ }) "BM" = ( /obj/structure/table/reinforced, -/obj/item/device/camera, -/obj/item/weapon/storage/box/ids, +/obj/item/camera, +/obj/item/storage/box/ids, /obj/effect/floor_decal/borderfloorblack{ dir = 6 }, @@ -14655,9 +14655,9 @@ }) "BO" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/donkpockets, -/obj/item/weapon/storage/box/donkpockets, -/obj/item/weapon/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/blue/border, /turf/unsimulated/floor{ @@ -15017,11 +15017,11 @@ }) "CA" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/machinery/button/remote/blast_door{ id = "TelelockdownC"; name = "Teleporter Entrance Lockdown"; @@ -15073,7 +15073,7 @@ /obj/effect/floor_decal/corner/blue/border{ dir = 9 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ broadcasting = 0; dir = 1; frequency = 1475; @@ -15173,7 +15173,7 @@ req_access = list(63); req_one_access = list(1) }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, @@ -15210,7 +15210,7 @@ req_access = list(63); req_one_access = list(1) }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/unsimulated/floor/steel, /area/centcom/command) "CP" = ( @@ -15235,7 +15235,7 @@ dir = 1 }, /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/ids, +/obj/item/storage/box/ids, /turf/unsimulated/floor/steel, /area/centcom/command) "CR" = ( @@ -15280,8 +15280,8 @@ /area/centcom/command) "CU" = ( /obj/structure/table/reinforced, -/obj/item/device/camera, -/obj/item/weapon/storage/box/ids, +/obj/item/camera, +/obj/item/storage/box/ids, /obj/effect/floor_decal/borderfloorblack{ dir = 8 }, @@ -15425,7 +15425,7 @@ /area/centcom/command) "DC" = ( /obj/structure/table/glass, -/obj/item/device/healthanalyzer/advanced, +/obj/item/healthanalyzer/advanced, /turf/unsimulated/floor/steel{ icon_state = "white" }, @@ -15436,26 +15436,26 @@ /area/centcom/evac) "Ez" = ( /obj/structure/table/reinforced, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, /turf/unsimulated/floor{ icon_state = "dark" }, /area/centcom/specops) "EI" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/launcher/rocket, -/obj/item/weapon/gun/launcher/rocket, +/obj/item/gun/launcher/rocket, +/obj/item/gun/launcher/rocket, /obj/item/ammo_casing/rocket, /obj/item/ammo_casing/rocket, /obj/item/ammo_casing/rocket, @@ -15470,7 +15470,7 @@ /area/centcom/specops) "EX" = ( /obj/structure/table/standard, -/obj/item/weapon/soap, +/obj/item/soap, /obj/effect/floor_decal/borderfloorwhite{ dir = 10 }, @@ -15486,23 +15486,23 @@ /area/centcom/control) "Fo" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) +/obj/item/storage/box/survival/comp{ + starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) +/obj/item/storage/box/survival/comp{ + starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) +/obj/item/storage/box/survival/comp{ + starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) +/obj/item/storage/box/survival/comp{ + starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) +/obj/item/storage/box/survival/comp{ + starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) +/obj/item/storage/box/survival/comp{ + starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, /turf/unsimulated/floor{ icon_state = "dark" @@ -15536,17 +15536,17 @@ /area/centcom/control) "Gm" = ( /obj/structure/table/rack, -/obj/item/weapon/rig/ert/engineer, -/obj/item/weapon/rig/ert/engineer, -/obj/item/weapon/rig/ert/engineer, +/obj/item/rig/ert/engineer, +/obj/item/rig/ert/engineer, +/obj/item/rig/ert/engineer, /turf/unsimulated/floor{ icon_state = "dark" }, /area/centcom/control) "GG" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/launcher/grenade, -/obj/item/weapon/gun/launcher/grenade, +/obj/item/gun/launcher/grenade, +/obj/item/gun/launcher/grenade, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -15572,8 +15572,8 @@ /area/centcom/terminal) "Hf" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/xray, -/obj/item/weapon/gun/energy/xray, +/obj/item/gun/energy/xray, +/obj/item/gun/energy/xray, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -15590,8 +15590,8 @@ /area/centcom/evac) "HU" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/lasercannon, -/obj/item/weapon/gun/energy/lasercannon, +/obj/item/gun/energy/lasercannon, +/obj/item/gun/energy/lasercannon, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -15646,15 +15646,15 @@ /area/centcom/specops) "Iu" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/glass/bottle/biomass{ +/obj/item/reagent_containers/glass/bottle/biomass{ pixel_x = -4; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/glass/bottle/biomass{ +/obj/item/reagent_containers/glass/bottle/biomass{ pixel_x = -3; pixel_y = -2 }, -/obj/item/weapon/reagent_containers/glass/bottle/biomass{ +/obj/item/reagent_containers/glass/bottle/biomass{ pixel_x = 3; pixel_y = 5 }, @@ -15674,7 +15674,7 @@ /area/centcom/medical) "Iz" = ( /obj/structure/table/standard, -/obj/item/weapon/soap, +/obj/item/soap, /obj/effect/floor_decal/borderfloorwhite{ dir = 9 }, @@ -15739,11 +15739,11 @@ /area/centcom/evac) "Kw" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/combat{ +/obj/item/storage/firstaid/combat{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/firstaid/combat, +/obj/item/storage/firstaid/combat, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -15769,8 +15769,8 @@ /area/centcom/evac) "Le" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/gun/burst, -/obj/item/weapon/gun/energy/gun/burst, +/obj/item/gun/energy/gun/burst, +/obj/item/gun/energy/gun/burst, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -15788,7 +15788,7 @@ }, /area/centcom/control) "Me" = ( -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /turf/unsimulated/floor{ dir = 2; icon_state = "dark" @@ -15796,10 +15796,10 @@ /area/centcom/control) "Mt" = ( /obj/structure/table/rack, -/obj/item/weapon/extinguisher/mini, -/obj/item/weapon/extinguisher/mini, -/obj/item/weapon/extinguisher/mini, -/obj/item/weapon/extinguisher/mini, +/obj/item/extinguisher/mini, +/obj/item/extinguisher/mini, +/obj/item/extinguisher/mini, +/obj/item/extinguisher/mini, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -15827,26 +15827,26 @@ /area/centcom/evac) "Nx" = ( /obj/structure/table/rack, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, /turf/unsimulated/floor{ icon_state = "dark" }, /area/centcom/specops) "Oc" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -15854,8 +15854,8 @@ /area/centcom/specops) "Og" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/automatic/l6_saw, -/obj/item/weapon/gun/projectile/automatic/l6_saw, +/obj/item/gun/projectile/automatic/l6_saw, +/obj/item/gun/projectile/automatic/l6_saw, /obj/item/ammo_magazine/m545saw, /obj/item/ammo_magazine/m545saw, /obj/item/ammo_magazine/m545saw, @@ -15931,8 +15931,8 @@ /area/centcom/bathroom) "QQ" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/secure/briefcase/nsfw_pack_hybrid_combat, -/obj/item/weapon/storage/secure/briefcase/nsfw_pack_hybrid_combat, +/obj/item/storage/secure/briefcase/nsfw_pack_hybrid_combat, +/obj/item/storage/secure/briefcase/nsfw_pack_hybrid_combat, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -15943,16 +15943,16 @@ /area/centcom/evac) "Rc" = ( /obj/structure/table/glass, -/obj/item/device/defib_kit/compact/loaded, +/obj/item/defib_kit/compact/loaded, /turf/unsimulated/floor/steel{ icon_state = "white" }, /area/centcom/medical) "Re" = ( /obj/structure/table/reinforced, -/obj/item/device/binoculars, -/obj/item/device/survivalcapsule, -/obj/item/device/survivalcapsule, +/obj/item/binoculars, +/obj/item/survivalcapsule, +/obj/item/survivalcapsule, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -15974,19 +15974,19 @@ /area/centcom/specops) "RE" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/pulse_rifle, -/obj/item/weapon/gun/energy/pulse_rifle, -/obj/item/weapon/gun/energy/pulse_rifle, -/obj/item/weapon/gun/energy/pulse_rifle, -/obj/item/weapon/gun/energy/pulse_rifle, +/obj/item/gun/energy/pulse_rifle, +/obj/item/gun/energy/pulse_rifle, +/obj/item/gun/energy/pulse_rifle, +/obj/item/gun/energy/pulse_rifle, +/obj/item/gun/energy/pulse_rifle, /turf/unsimulated/floor{ icon_state = "dark" }, /area/centcom/specops) "RJ" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/automatic/z8, -/obj/item/weapon/gun/projectile/automatic/z8, +/obj/item/gun/projectile/automatic/z8, +/obj/item/gun/projectile/automatic/z8, /obj/item/ammo_magazine/m762, /obj/item/ammo_magazine/m762, /obj/item/ammo_magazine/m762, @@ -16123,22 +16123,22 @@ /area/centcom/evac) "UO" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/gun/compact, -/obj/item/weapon/gun/energy/gun/compact, -/obj/item/device/flash, -/obj/item/device/flash, +/obj/item/gun/energy/gun/compact, +/obj/item/gun/energy/gun/compact, +/obj/item/flash, +/obj/item/flash, /turf/unsimulated/floor{ icon_state = "dark" }, /area/centcom/control) "Vf" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/frags, -/obj/item/weapon/storage/box/frags, -/obj/item/weapon/storage/box/teargas, -/obj/item/weapon/storage/box/teargas, -/obj/item/weapon/storage/box/empslite, -/obj/item/weapon/storage/box/empslite, +/obj/item/storage/box/frags, +/obj/item/storage/box/frags, +/obj/item/storage/box/teargas, +/obj/item/storage/box/teargas, +/obj/item/storage/box/empslite, +/obj/item/storage/box/empslite, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -16152,8 +16152,8 @@ /area/centcom/bathroom) "VU" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -16161,10 +16161,10 @@ /area/centcom/specops) "WL" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/pillbottles, -/obj/item/weapon/storage/box/gloves, -/obj/item/weapon/storage/box/beakers, -/obj/item/weapon/storage/box/autoinjectors, +/obj/item/storage/box/pillbottles, +/obj/item/storage/box/gloves, +/obj/item/storage/box/beakers, +/obj/item/storage/box/autoinjectors, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -16178,10 +16178,10 @@ /area/centcom/specops) "XA" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/smes_coil, -/obj/item/weapon/smes_coil, -/obj/item/device/t_scanner/advanced, -/obj/item/device/t_scanner/advanced, +/obj/item/smes_coil, +/obj/item/smes_coil, +/obj/item/t_scanner/advanced, +/obj/item/t_scanner/advanced, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -16217,7 +16217,7 @@ /area/centcom/specops) "Zw" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/heavysniper, +/obj/item/gun/projectile/heavysniper, /obj/item/ammo_magazine/ammo_box/b145, /obj/item/ammo_magazine/ammo_box/b145, /turf/unsimulated/floor{ @@ -16229,7 +16229,7 @@ /turf/unsimulated/floor/steel, /area/centcom/evac) "ZN" = ( -/obj/item/device/perfect_tele_beacon/stationary{ +/obj/item/perfect_tele_beacon/stationary{ tele_name = "CentCom"; tele_network = "centcom" }, diff --git a/maps/submaps/admin_use_vr/dojo.dmm b/maps/submaps/admin_use_vr/dojo.dmm index a2bd85f37f5..7c6231376fa 100644 --- a/maps/submaps/admin_use_vr/dojo.dmm +++ b/maps/submaps/admin_use_vr/dojo.dmm @@ -46,7 +46,7 @@ /area/ninja_dojo/dojo) "aj" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/flame/candle, +/obj/item/flame/candle, /turf/unsimulated/floor{ dir = 8; icon_state = "wood" @@ -54,7 +54,7 @@ /area/ninja_dojo/dojo) "ak" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/material/sword/katana, +/obj/item/material/sword/katana, /turf/unsimulated/floor{ dir = 8; icon_state = "wood" @@ -308,11 +308,11 @@ /area/shuttle/ninja) "aQ" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ pixel_x = 5; pixel_y = 5 }, -/obj/item/weapon/storage/firstaid/combat, +/obj/item/storage/firstaid/combat, /turf/simulated/shuttle/floor/voidcraft/dark, /area/shuttle/ninja) "aR" = ( @@ -433,7 +433,7 @@ "bc" = ( /obj/structure/table/steel_reinforced, /obj/random/paicard, -/obj/item/device/pda/syndicate, +/obj/item/pda/syndicate, /turf/simulated/shuttle/floor/voidcraft/light, /area/shuttle/ninja) "bd" = ( @@ -442,7 +442,7 @@ /area/shuttle/ninja) "be" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/toolbox/syndicate{ +/obj/item/storage/toolbox/syndicate{ pixel_x = -1; pixel_y = 3 }, @@ -647,7 +647,7 @@ /area/ninja_dojo/dojo) "by" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/fortunecookie, +/obj/item/reagent_containers/food/snacks/fortunecookie, /turf/unsimulated/floor{ dir = 8; icon_state = "wood" @@ -663,7 +663,7 @@ /area/ninja_dojo/dojo) "bA" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /turf/unsimulated/floor{ dir = 8; icon_state = "wood" @@ -718,11 +718,11 @@ dir = 1 }, /obj/structure/table/glass, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#FF6666"; name = "light red towel" }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#FF6666"; name = "light red towel" }, @@ -744,7 +744,7 @@ /area/ninja_dojo/dojo) "bJ" = ( /obj/structure/table/wooden_reinforced, -/obj/item/device/radio/uplink, +/obj/item/radio/uplink, /turf/unsimulated/floor{ dir = 8; icon_state = "wood" @@ -766,14 +766,14 @@ }, /area/ninja_dojo/dojo) "bL" = ( -/obj/item/weapon/rig/light/stealth, +/obj/item/rig/light/stealth, /obj/structure/table/rack, /turf/unsimulated/floor{ icon_state = "dark" }, /area/ninja_dojo/dojo) "bM" = ( -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -836,7 +836,7 @@ /area/ninja_dojo/dojo) "bV" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/toolbox/syndicate{ +/obj/item/storage/toolbox/syndicate{ pixel_x = -1; pixel_y = 3 }, @@ -904,11 +904,11 @@ /area/ninja_dojo/dojo) "cd" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ pixel_x = 5; pixel_y = 5 }, -/obj/item/weapon/storage/firstaid/adv, +/obj/item/storage/firstaid/adv, /turf/unsimulated/floor{ icon_state = "white" }, diff --git a/maps/submaps/admin_use_vr/ert.dm b/maps/submaps/admin_use_vr/ert.dm index 4bed750cbab..70db305bc47 100644 --- a/maps/submaps/admin_use_vr/ert.dm +++ b/maps/submaps/admin_use_vr/ert.dm @@ -1,5 +1,5 @@ // Compile in the map for CI testing if we're testing compileability of all the maps -#if MAP_TEST +#ifdef MAP_TEST #include "ert.dmm" #endif @@ -8,7 +8,7 @@ /datum/map_template/om_ships/ert_ship name = "OM Ship - ERT Ship (New Z)" desc = "NT Emergency Response Ship." - mappath = 'ert.dmm' + mappath = "maps/submaps/admin_use_vr/ert.dmm" // The ship's area(s) /area/ship/ert @@ -24,7 +24,7 @@ /area/ship/ert/engineering name = "\improper NRV Von Braun - Engineering Control Room" icon_state = "engine_monitoring" - + /area/ship/ert/eng_storage name = "\improper NRV Von Braun - Engineering Storage" icon_state = "storage" @@ -36,7 +36,7 @@ /area/ship/ert/atmos name = "\improper NRV Von Braun - Atmospherics" icon_state = "atmos" - + /area/ship/ert/mech_bay name = "\improper NRV Von Braun - RIG & Mech Bay" icon_state = "yellow" @@ -184,9 +184,9 @@ on_enter_occupant_message = "You feel cool air surround you. You go numb as your senses turn inward." on_store_visible_message_1 = "hums and hisses as it moves" on_store_visible_message_2 = "into cryogenic storage." - + //Misc Stuff -/obj/item/weapon/paper/ert_armory_cells +/obj/item/paper/ert_armory_cells name = "ERT Armory Cell Supply" info = {"To All Current ERT Members,
      \ All energy weapons here come installed with standard power cells, but the spares on the racks are self-charging tech.
      \ @@ -197,7 +197,7 @@ Point is they're fairly expensive and probably prototypes or something, so for t
      \ Lt. Cmdr. Sykes"} -/obj/item/weapon/paper/vonbraun_shields +/obj/item/paper/vonbraun_shields name = "NRV Von Braun Shield Configuration Documentation" info = {"To All Current ERT Members,
      \ Be advised that use of the NRV Von Braun's shield generator (located adjacent to this document) is strongly recommended when responding to calls, but also that it is not impervious, nor is the ship's point defense system flawless.
      \ @@ -214,7 +214,7 @@ The shield generator will tax the Von Braun's reserves greatly so try to use it
      \ Lt. Cmdr. Sykes"} -/obj/item/weapon/paper/vonbraun_cannon +/obj/item/paper/vonbraun_cannon name = "NRV Von Braun O.F.D. Console" info = {"To All Current ERT Members,
      \ Given recent events, Central has finally cleared the paperwork that allowed us to install an Obstruction Field Disperser, or 'O.F.D.', on the Von Braun. Please note we had to get rid of the mech bay (that nobody was allowed to use anyway) so that's where you'll find it. Of course if you're reading this you already found it.
      \ @@ -232,8 +232,8 @@ P.S. Before any of you ask, no, you cannot fire yourself or your teammates out o /obj/machinery/computer/cryopod/ert name = "responder oversight console" desc = "An interface between responders and the cryo oversight systems tasked with keeping track of all responders who enter or exit cryostasis." - circuit = "/obj/item/weapon/circuitboard/robotstoragecontrol" + circuit = "/obj/item/circuitboard/robotstoragecontrol" storage_type = "responders" storage_name = "ERT Oversight Control" - allow_items = 1 \ No newline at end of file + allow_items = 1 diff --git a/maps/submaps/admin_use_vr/ert.dmm b/maps/submaps/admin_use_vr/ert.dmm index b217dd44418..ff5412d2c75 100644 --- a/maps/submaps/admin_use_vr/ert.dmm +++ b/maps/submaps/admin_use_vr/ert.dmm @@ -106,24 +106,24 @@ /turf/simulated/wall/shull, /area/ship/ert/med_surg) "aD" = ( -/obj/item/weapon/circuitboard/aiupload, -/obj/item/weapon/circuitboard/borgupload, -/obj/item/weapon/circuitboard/smes, -/obj/item/weapon/aiModule/nanotrasen, -/obj/item/weapon/aiModule/reset, -/obj/item/weapon/aiModule/freeformcore, -/obj/item/weapon/aiModule/protectStation, -/obj/item/weapon/aiModule/quarantine, -/obj/item/weapon/aiModule/paladin, -/obj/item/weapon/aiModule/robocop, -/obj/item/weapon/aiModule/safeguard, +/obj/item/circuitboard/aiupload, +/obj/item/circuitboard/borgupload, +/obj/item/circuitboard/smes, +/obj/item/aiModule/nanotrasen, +/obj/item/aiModule/reset, +/obj/item/aiModule/freeformcore, +/obj/item/aiModule/protectStation, +/obj/item/aiModule/quarantine, +/obj/item/aiModule/paladin, +/obj/item/aiModule/robocop, +/obj/item/aiModule/safeguard, /obj/structure/table/steel_reinforced, -/obj/item/weapon/smes_coil, -/obj/item/weapon/smes_coil, -/obj/item/device/t_scanner/advanced{ +/obj/item/smes_coil, +/obj/item/smes_coil, +/obj/item/t_scanner/advanced{ pixel_x = -3 }, -/obj/item/device/t_scanner/advanced{ +/obj/item/t_scanner/advanced{ pixel_x = 3 }, /obj/machinery/power/apc/hyper{ @@ -179,21 +179,21 @@ /area/ship/ert/mech_bay) "aH" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/storage/backpack/ert/security{ +/obj/item/storage/backpack/ert/security{ pixel_y = -3 }, -/obj/item/weapon/storage/backpack/ert/security, -/obj/item/weapon/storage/backpack/ert/security{ +/obj/item/storage/backpack/ert/security, +/obj/item/storage/backpack/ert/security{ pixel_y = 3 }, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/weapon/storage/backpack/ert/security{ +/obj/item/storage/backpack/ert/security{ pixel_y = 6 }, -/obj/item/weapon/storage/backpack/ert/security{ +/obj/item/storage/backpack/ert/security{ pixel_y = 9 }, -/obj/item/weapon/storage/backpack/ert/security{ +/obj/item/storage/backpack/ert/security{ pixel_y = 12 }, /obj/item/clothing/suit/space/void/responseteam/security, @@ -308,11 +308,11 @@ /area/ship/ert/mech_bay) "bw" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/storage/box/frags{ +/obj/item/storage/box/frags{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/storage/box/frags{ +/obj/item/storage/box/frags{ pixel_x = 2; pixel_y = 2 }, @@ -351,7 +351,7 @@ /obj/structure/railing/grey{ dir = 1 }, -/obj/item/weapon/paper/vonbraun_shields, +/obj/item/paper/vonbraun_shields, /obj/structure/table/steel_reinforced, /turf/simulated/floor/tiled/techfloor, /area/ship/ert/bridge) @@ -367,12 +367,12 @@ /obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/item/weapon/rig/ert/medical, -/obj/item/weapon/rig/ert/medical, -/obj/item/weapon/rig/ert/medical, -/obj/item/weapon/rig/ert/medical, -/obj/item/weapon/rig/ert/medical, -/obj/item/weapon/rig/ert/medical, +/obj/item/rig/ert/medical, +/obj/item/rig/ert/medical, +/obj/item/rig/ert/medical, +/obj/item/rig/ert/medical, +/obj/item/rig/ert/medical, +/obj/item/rig/ert/medical, /obj/item/clothing/suit/armor/vest/ert/medical, /obj/item/clothing/suit/armor/vest/ert/medical, /obj/item/clothing/suit/armor/vest/ert/medical, @@ -591,7 +591,7 @@ /area/ship/ert/eng_storage) "dk" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/gun/projectile/heavysniper, +/obj/item/gun/projectile/heavysniper, /obj/item/ammo_magazine/ammo_box/b145, /obj/item/ammo_magazine/ammo_box/b145, /obj/effect/floor_decal/industrial/outline/grey, @@ -691,24 +691,24 @@ "dX" = ( /obj/structure/table/rack/steel, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/weapon/tank/jetpack/carbondioxide{ +/obj/item/tank/jetpack/carbondioxide{ pixel_x = -4; pixel_y = -4 }, -/obj/item/weapon/tank/jetpack/carbondioxide{ +/obj/item/tank/jetpack/carbondioxide{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/tank/jetpack/carbondioxide, -/obj/item/weapon/tank/jetpack/carbondioxide{ +/obj/item/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/tank/jetpack/carbondioxide{ +/obj/item/tank/jetpack/carbondioxide{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/tank/jetpack/carbondioxide{ +/obj/item/tank/jetpack/carbondioxide{ pixel_x = 6; pixel_y = 6 }, @@ -987,45 +987,45 @@ /obj/machinery/light/no_nightshift{ dir = 1 }, -/obj/item/device/defib_kit/compact/combat/loaded{ +/obj/item/defib_kit/compact/combat/loaded{ pixel_y = -3 }, -/obj/item/device/defib_kit/compact/combat/loaded{ +/obj/item/defib_kit/compact/combat/loaded{ pixel_y = 3 }, /turf/simulated/floor/tiled/techfloor, /area/ship/ert/med) "gf" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/firstaid/surgery, -/obj/item/weapon/storage/firstaid/surgery, -/obj/item/weapon/surgical/bone_clamp, -/obj/item/weapon/surgical/bone_clamp, -/obj/item/weapon/surgical/scalpel/manager, -/obj/item/weapon/surgical/scalpel/manager, -/obj/item/weapon/surgical/circular_saw/manager, -/obj/item/weapon/surgical/circular_saw/manager, -/obj/item/device/denecrotizer/medical, -/obj/item/device/denecrotizer/medical, +/obj/item/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery, +/obj/item/surgical/bone_clamp, +/obj/item/surgical/bone_clamp, +/obj/item/surgical/scalpel/manager, +/obj/item/surgical/scalpel/manager, +/obj/item/surgical/circular_saw/manager, +/obj/item/surgical/circular_saw/manager, +/obj/item/denecrotizer/medical, +/obj/item/denecrotizer/medical, /obj/item/stack/nanopaste, /obj/item/stack/nanopaste, /turf/simulated/floor/tiled/techfloor, /area/ship/ert/med) "gi" = ( /obj/structure/closet/crate/medical, -/obj/item/weapon/storage/box/autoinjectors, -/obj/item/weapon/storage/box/beakers, -/obj/item/weapon/storage/box/bodybags, -/obj/item/weapon/storage/box/bodybags{ +/obj/item/storage/box/autoinjectors, +/obj/item/storage/box/beakers, +/obj/item/storage/box/bodybags, +/obj/item/storage/box/bodybags{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/box/gloves, -/obj/item/weapon/storage/box/freezer, -/obj/item/weapon/storage/box/masks, +/obj/item/storage/box/gloves, +/obj/item/storage/box/freezer, +/obj/item/storage/box/masks, /obj/effect/floor_decal/industrial/outline, -/obj/item/weapon/storage/box/bodybags, -/obj/item/weapon/storage/box/bodybags, +/obj/item/storage/box/bodybags, +/obj/item/storage/box/bodybags, /turf/simulated/floor/tiled/techfloor, /area/ship/ert/med) "gk" = ( @@ -1231,16 +1231,16 @@ pixel_x = -10 }, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/weapon/gun/projectile/automatic/p90{ +/obj/item/gun/projectile/automatic/p90{ pixel_y = -6 }, -/obj/item/weapon/gun/projectile/automatic/p90{ +/obj/item/gun/projectile/automatic/p90{ pixel_y = -2 }, -/obj/item/weapon/gun/projectile/automatic/p90{ +/obj/item/gun/projectile/automatic/p90{ pixel_y = 2 }, -/obj/item/weapon/gun/projectile/automatic/p90{ +/obj/item/gun/projectile/automatic/p90{ pixel_y = 6 }, /turf/simulated/floor/tiled/techfloor, @@ -1372,29 +1372,29 @@ /obj/structure/closet/medical_wall{ pixel_x = 32 }, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/fire{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/fire{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/firstaid/o2, -/obj/item/weapon/storage/firstaid/o2, -/obj/item/weapon/storage/firstaid/toxin{ +/obj/item/storage/firstaid/o2, +/obj/item/storage/firstaid/o2, +/obj/item/storage/firstaid/toxin{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/storage/firstaid/toxin{ +/obj/item/storage/firstaid/toxin{ pixel_x = -2; pixel_y = -2 }, @@ -1424,8 +1424,8 @@ "hN" = ( /obj/structure/closet/wardrobe/ert, /obj/item/modular_computer/tablet/preset/custom_loadout/elite, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) +/obj/item/storage/box/survival/comp{ + starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, /obj/machinery/light/no_nightshift{ dir = 1 @@ -1453,8 +1453,8 @@ "hS" = ( /obj/structure/closet/wardrobe/ert, /obj/item/modular_computer/tablet/preset/custom_loadout/elite, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) +/obj/item/storage/box/survival/comp{ + starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, /obj/machinery/light/no_nightshift{ dir = 1 @@ -1491,24 +1491,24 @@ /area/ship/ert/armoury_dl) "hY" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/rig/ert/assetprotection{ +/obj/item/rig/ert/assetprotection{ pixel_x = -4; pixel_y = -4 }, -/obj/item/weapon/rig/ert/assetprotection{ +/obj/item/rig/ert/assetprotection{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/rig/ert/assetprotection, -/obj/item/weapon/rig/ert/assetprotection{ +/obj/item/rig/ert/assetprotection, +/obj/item/rig/ert/assetprotection{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/rig/ert/assetprotection{ +/obj/item/rig/ert/assetprotection{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/rig/ert/assetprotection{ +/obj/item/rig/ert/assetprotection{ pixel_x = 6; pixel_y = 6 }, @@ -1538,11 +1538,11 @@ name = "NT 'Deathsquid' Plushie" }, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/device/mapping_unit/deathsquad, -/obj/item/device/holomap_beacon/deathsquad, -/obj/item/device/holomap_beacon/deathsquad, -/obj/item/device/holomap_beacon/deathsquad, -/obj/item/device/holomap_beacon/deathsquad, +/obj/item/mapping_unit/deathsquad, +/obj/item/holomap_beacon/deathsquad, +/obj/item/holomap_beacon/deathsquad, +/obj/item/holomap_beacon/deathsquad, +/obj/item/holomap_beacon/deathsquad, /turf/simulated/floor/tiled/techfloor, /area/ship/ert/barracks) "ip" = ( @@ -1676,8 +1676,8 @@ icon_state = "1-2" }, /obj/structure/table/steel_reinforced, -/obj/item/weapon/gun/energy/sizegun, -/obj/item/weapon/gun/energy/sizegun, +/obj/item/gun/energy/sizegun, +/obj/item/gun/energy/sizegun, /turf/simulated/floor/tiled/techfloor, /area/ship/ert/brig) "iO" = ( @@ -1805,7 +1805,7 @@ /turf/simulated/floor/tiled/techfloor, /area/ship/ert/barracks) "jy" = ( -/obj/item/device/aicard, +/obj/item/aicard, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 }, @@ -1896,10 +1896,10 @@ icon_state = "1-2" }, /obj/structure/table/steel_reinforced, -/obj/item/device/laser_pointer/upgraded, -/obj/item/device/laser_pointer/upgraded, -/obj/item/device/flash, -/obj/item/device/flash, +/obj/item/laser_pointer/upgraded, +/obj/item/laser_pointer/upgraded, +/obj/item/flash, +/obj/item/flash, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, @@ -1958,11 +1958,11 @@ /area/ship/ert/engine) "kt" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/gun/energy/netgun{ +/obj/item/gun/energy/netgun{ pixel_y = -4 }, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/weapon/gun/energy/sniperrifle{ +/obj/item/gun/energy/sniperrifle{ battery_lock = 0; pixel_y = 6 }, @@ -1976,19 +1976,19 @@ /area/ship/ert/teleporter) "kx" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/box/pillbottles, -/obj/item/weapon/storage/box/pillbottles, +/obj/item/storage/box/pillbottles, +/obj/item/storage/box/pillbottles, /turf/simulated/floor/tiled/techfloor, /area/ship/ert/med) "ky" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery, /obj/machinery/light/no_nightshift{ dir = 8 }, -/obj/item/weapon/surgical/bone_clamp, -/obj/item/weapon/surgical/scalpel/manager, -/obj/item/weapon/surgical/circular_saw/manager, +/obj/item/surgical/bone_clamp, +/obj/item/surgical/scalpel/manager, +/obj/item/surgical/circular_saw/manager, /obj/item/stack/nanopaste, /turf/simulated/floor/tiled/white, /area/ship/ert/med_surg) @@ -2016,10 +2016,10 @@ /area/ship/ert/eng_storage) "kG" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/gun/projectile/automatic/z8{ +/obj/item/gun/projectile/automatic/z8{ pixel_y = 3 }, -/obj/item/weapon/gun/projectile/automatic/z8{ +/obj/item/gun/projectile/automatic/z8{ pixel_y = -3 }, /obj/item/ammo_magazine/m762, @@ -2208,10 +2208,10 @@ /obj/item/ammo_magazine/ammo_box/b12g/beanbag, /obj/item/ammo_magazine/ammo_box/b12g/stunshell, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/weapon/gun/projectile/automatic/as24{ +/obj/item/gun/projectile/automatic/as24{ pixel_y = 3 }, -/obj/item/weapon/gun/projectile/automatic/as24{ +/obj/item/gun/projectile/automatic/as24{ pixel_y = -3 }, /turf/simulated/floor/tiled/techfloor, @@ -2269,24 +2269,24 @@ /area/ship/ert/dock_port) "mr" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/storage/belt/security/tactical{ +/obj/item/storage/belt/security/tactical{ pixel_x = -4; pixel_y = -4 }, -/obj/item/weapon/storage/belt/security/tactical{ +/obj/item/storage/belt/security/tactical{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical{ +/obj/item/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/belt/security/tactical{ +/obj/item/storage/belt/security/tactical{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/belt/security/tactical{ +/obj/item/storage/belt/security/tactical{ pixel_x = 6; pixel_y = 6 }, @@ -2429,11 +2429,11 @@ "nb" = ( /obj/structure/table/steel_reinforced, /obj/machinery/atmospherics/unary/vent_pump/on, -/obj/item/weapon/storage/box/cdeathalarm_kit{ +/obj/item/storage/box/cdeathalarm_kit{ pixel_x = -1; pixel_y = -1 }, -/obj/item/weapon/storage/box/cdeathalarm_kit{ +/obj/item/storage/box/cdeathalarm_kit{ pixel_x = 1; pixel_y = 1 }, @@ -2502,11 +2502,11 @@ "nt" = ( /obj/structure/table/steel_reinforced, /obj/machinery/atmospherics/unary/vent_scrubber/on, -/obj/item/weapon/storage/box/backup_kit{ +/obj/item/storage/box/backup_kit{ pixel_x = -1; pixel_y = -1 }, -/obj/item/weapon/storage/box/backup_kit{ +/obj/item/storage/box/backup_kit{ pixel_x = 1; pixel_y = 1 }, @@ -2634,10 +2634,10 @@ /area/ship/ert/engine) "om" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/gun/launcher/grenade{ +/obj/item/gun/launcher/grenade{ pixel_y = 3 }, -/obj/item/weapon/gun/launcher/grenade{ +/obj/item/gun/launcher/grenade{ pixel_y = -3 }, /obj/effect/floor_decal/industrial/outline/grey, @@ -2645,16 +2645,16 @@ /area/ship/ert/armoury_dl) "oo" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/gun/energy/taser{ +/obj/item/gun/energy/taser{ pixel_y = 3 }, -/obj/item/weapon/gun/energy/taser{ +/obj/item/gun/energy/taser{ pixel_y = 1 }, -/obj/item/weapon/gun/energy/taser{ +/obj/item/gun/energy/taser{ pixel_y = -1 }, -/obj/item/weapon/gun/energy/taser{ +/obj/item/gun/energy/taser{ pixel_y = -3 }, /obj/effect/floor_decal/industrial/outline/grey, @@ -2708,13 +2708,13 @@ "oz" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /obj/structure/table/steel_reinforced, -/obj/item/weapon/rcd/advanced/loaded{ +/obj/item/rcd/advanced/loaded{ desc = "A device used to rapidly build and deconstruct. This version works faster, and has a much larger capacity than a standard model, but doesn't work at range. Reload with compressed matter cartridges."; name = "emergency rapid construction device"; pixel_y = 3; ranged = 0 }, -/obj/item/weapon/rcd/advanced/loaded{ +/obj/item/rcd/advanced/loaded{ desc = "A device used to rapidly build and deconstruct. This version works faster, and has a much larger capacity than a standard model, but doesn't work at range. Reload with compressed matter cartridges."; name = "emergency rapid construction device"; pixel_y = -3; @@ -2798,35 +2798,35 @@ /area/ship/ert/med) "pq" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_x = -4; pixel_y = -6 }, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_x = -4; pixel_y = -2 }, -/obj/item/weapon/storage/toolbox/electrical{ +/obj/item/storage/toolbox/electrical{ pixel_x = -4; pixel_y = 2 }, -/obj/item/weapon/storage/toolbox/electrical{ +/obj/item/storage/toolbox/electrical{ pixel_x = -4; pixel_y = 6 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 4; pixel_y = -6 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 4; pixel_y = -2 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 4; pixel_y = 2 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 4; pixel_y = 6 }, @@ -2852,12 +2852,12 @@ /area/ship/ert/gunnery) "pt" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/rig/ert/security, -/obj/item/weapon/rig/ert/security, -/obj/item/weapon/rig/ert/security, -/obj/item/weapon/rig/ert/security, -/obj/item/weapon/rig/ert/security, -/obj/item/weapon/rig/ert/security, +/obj/item/rig/ert/security, +/obj/item/rig/ert/security, +/obj/item/rig/ert/security, +/obj/item/rig/ert/security, +/obj/item/rig/ert/security, +/obj/item/rig/ert/security, /obj/item/clothing/suit/armor/vest/ert/security, /obj/item/clothing/suit/armor/vest/ert/security, /obj/item/clothing/suit/armor/vest/ert/security, @@ -2882,11 +2882,11 @@ /obj/item/clothing/gloves/heavy_engineer{ pixel_y = 3 }, -/obj/item/weapon/storage/backpack/ert/engineer{ +/obj/item/storage/backpack/ert/engineer{ pixel_y = -3 }, -/obj/item/weapon/storage/backpack/ert/engineer, -/obj/item/weapon/storage/backpack/ert/engineer{ +/obj/item/storage/backpack/ert/engineer, +/obj/item/storage/backpack/ert/engineer{ pixel_y = 3 }, /obj/item/clothing/gloves/heavy_engineer{ @@ -2898,13 +2898,13 @@ /obj/item/clothing/gloves/heavy_engineer{ pixel_y = 12 }, -/obj/item/weapon/storage/backpack/ert/engineer{ +/obj/item/storage/backpack/ert/engineer{ pixel_y = 6 }, -/obj/item/weapon/storage/backpack/ert/engineer{ +/obj/item/storage/backpack/ert/engineer{ pixel_y = 9 }, -/obj/item/weapon/storage/backpack/ert/engineer{ +/obj/item/storage/backpack/ert/engineer{ pixel_y = 12 }, /turf/simulated/floor/tiled/techfloor, @@ -2975,12 +2975,12 @@ pixel_y = -26 }, /obj/structure/table/rack/steel, -/obj/item/weapon/rig/ert/engineer, -/obj/item/weapon/rig/ert/engineer, -/obj/item/weapon/rig/ert/engineer, -/obj/item/weapon/rig/ert/engineer, -/obj/item/weapon/rig/ert/engineer, -/obj/item/weapon/rig/ert/engineer, +/obj/item/rig/ert/engineer, +/obj/item/rig/ert/engineer, +/obj/item/rig/ert/engineer, +/obj/item/rig/ert/engineer, +/obj/item/rig/ert/engineer, +/obj/item/rig/ert/engineer, /obj/item/clothing/suit/armor/vest/ert/engineer, /obj/item/clothing/suit/armor/vest/ert/engineer, /obj/item/clothing/suit/armor/vest/ert/engineer, @@ -2997,22 +2997,22 @@ /area/ship/ert/barracks) "pK" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/storage/backpack/ert/medical{ +/obj/item/storage/backpack/ert/medical{ pixel_y = -3 }, -/obj/item/weapon/storage/backpack/ert/medical, -/obj/item/weapon/storage/backpack/ert/medical{ +/obj/item/storage/backpack/ert/medical, +/obj/item/storage/backpack/ert/medical{ pixel_y = 3 }, /obj/effect/floor_decal/industrial/outline/grey, /obj/machinery/light/no_nightshift, -/obj/item/weapon/storage/backpack/ert/medical{ +/obj/item/storage/backpack/ert/medical{ pixel_y = 6 }, -/obj/item/weapon/storage/backpack/ert/medical{ +/obj/item/storage/backpack/ert/medical{ pixel_y = 9 }, -/obj/item/weapon/storage/backpack/ert/medical{ +/obj/item/storage/backpack/ert/medical{ pixel_y = 12 }, /obj/item/clothing/suit/space/void/responseteam/medical, @@ -3024,20 +3024,20 @@ /turf/simulated/floor/tiled/techfloor, /area/ship/ert/barracks) "pM" = ( -/obj/item/weapon/storage/belt/medical/emt{ +/obj/item/storage/belt/medical/emt{ pixel_y = -4 }, -/obj/item/weapon/storage/belt/medical/emt{ +/obj/item/storage/belt/medical/emt{ pixel_y = -2 }, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt{ +/obj/item/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt{ pixel_y = 2 }, -/obj/item/weapon/storage/belt/medical/emt{ +/obj/item/storage/belt/medical/emt{ pixel_y = 4 }, -/obj/item/weapon/storage/belt/medical/emt{ +/obj/item/storage/belt/medical/emt{ pixel_y = 6 }, /obj/item/clothing/accessory/storage/white_vest{ @@ -3058,13 +3058,13 @@ }, /obj/structure/table/rack/steel, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/weapon/storage/belt/explorer/pathfinder{ +/obj/item/storage/belt/explorer/pathfinder{ name = "ERT belt" }, -/obj/item/weapon/storage/belt/explorer/pathfinder{ +/obj/item/storage/belt/explorer/pathfinder{ name = "ERT belt" }, -/obj/item/weapon/storage/belt/explorer/pathfinder{ +/obj/item/storage/belt/explorer/pathfinder{ name = "ERT belt" }, /turf/simulated/floor/tiled/techfloor, @@ -3137,19 +3137,19 @@ /area/ship/ert/armoury_dl) "qa" = ( /obj/structure/closet/crate/medical, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, /obj/item/stack/nanopaste/advanced, /obj/item/stack/nanopaste/advanced, /obj/item/stack/nanopaste/advanced, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/fitnessflask/glucose, -/obj/item/weapon/storage/pill_bottle/blood_regen, -/obj/item/weapon/storage/pill_bottle/blood_regen, -/obj/item/weapon/storage/pill_bottle/sleevingcure/full, -/obj/item/weapon/storage/box/syringes, -/obj/item/weapon/storage/box/syringes{ +/obj/item/reagent_containers/food/drinks/drinkingglass/fitnessflask/glucose, +/obj/item/storage/pill_bottle/blood_regen, +/obj/item/storage/pill_bottle/blood_regen, +/obj/item/storage/pill_bottle/sleevingcure/full, +/obj/item/storage/box/syringes, +/obj/item/storage/box/syringes{ pixel_x = 2; pixel_y = 2 }, @@ -3193,14 +3193,14 @@ /obj/item/clothing/suit/space/void/responseteam/janitor{ pixel_y = 4 }, -/obj/item/weapon/storage/belt/janitor{ +/obj/item/storage/belt/janitor{ pixel_y = -2 }, -/obj/item/weapon/storage/belt/janitor, -/obj/item/weapon/storage/belt/janitor{ +/obj/item/storage/belt/janitor, +/obj/item/storage/belt/janitor{ pixel_y = 2 }, -/obj/item/weapon/storage/belt/janitor{ +/obj/item/storage/belt/janitor{ pixel_y = 4 }, /obj/machinery/light/no_nightshift, @@ -3349,10 +3349,10 @@ /area/ship/ert/med_surg) "rc" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/gun/projectile/automatic/l6_saw{ +/obj/item/gun/projectile/automatic/l6_saw{ pixel_y = 3 }, -/obj/item/weapon/gun/projectile/automatic/l6_saw{ +/obj/item/gun/projectile/automatic/l6_saw{ pixel_y = -3 }, /obj/item/ammo_magazine/m545saw{ @@ -3566,8 +3566,8 @@ /area/ship/ert/hangar) "sq" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/secure/briefcase/nsfw_pack_hybrid, -/obj/item/weapon/storage/belt/explorer/pathfinder{ +/obj/item/storage/secure/briefcase/nsfw_pack_hybrid, +/obj/item/storage/belt/explorer/pathfinder{ name = "ERT belt" }, /turf/simulated/floor/wood, @@ -3658,8 +3658,8 @@ dir = 8; pixel_x = 26 }, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, /turf/simulated/floor/tiled/techfloor, /area/ship/ert/brig) "sF" = ( @@ -3713,10 +3713,10 @@ /area/ship/ert/teleporter) "sR" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/gun/energy/xray{ +/obj/item/gun/energy/xray{ pixel_y = -3 }, -/obj/item/weapon/gun/energy/xray{ +/obj/item/gun/energy/xray{ pixel_y = 3 }, /obj/machinery/light/no_nightshift, @@ -3890,7 +3890,7 @@ "ua" = ( /obj/structure/table/steel_reinforced, /obj/machinery/chemical_dispenser/full, -/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, /turf/simulated/floor/tiled/techfloor, /area/ship/ert/med) "uc" = ( @@ -3944,9 +3944,9 @@ /turf/simulated/floor/airless, /area/ship/ert/gunnery) "us" = ( -/obj/item/weapon/storage/box/trackimp, -/obj/item/weapon/storage/box/cdeathalarm_kit, -/obj/item/weapon/stamp/centcomm, +/obj/item/storage/box/trackimp, +/obj/item/storage/box/cdeathalarm_kit, +/obj/item/stamp/centcomm, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/table/hardwoodtable, /turf/simulated/floor/wood, @@ -4309,28 +4309,28 @@ /area/ship/ert/barracks) "xv" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/melee/baton{ +/obj/item/melee/baton{ pixel_x = -6 }, -/obj/item/weapon/melee/baton{ +/obj/item/melee/baton{ pixel_x = -2 }, -/obj/item/weapon/melee/baton{ +/obj/item/melee/baton{ pixel_x = 2 }, -/obj/item/weapon/melee/baton{ +/obj/item/melee/baton{ pixel_x = 6 }, -/obj/item/weapon/shield/riot{ +/obj/item/shield/riot{ pixel_x = -6 }, -/obj/item/weapon/shield/riot{ +/obj/item/shield/riot{ pixel_x = -2 }, -/obj/item/weapon/shield/riot{ +/obj/item/shield/riot{ pixel_x = 2 }, -/obj/item/weapon/shield/riot{ +/obj/item/shield/riot{ pixel_x = 6 }, /obj/effect/floor_decal/industrial/outline/grey, @@ -4359,19 +4359,19 @@ /area/ship/ert/hallways_aft) "xz" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/firstaid/bonemed{ +/obj/item/storage/firstaid/bonemed{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/firstaid/clotting{ +/obj/item/storage/firstaid/clotting{ pixel_x = 2; pixel_y = 2 }, /obj/effect/floor_decal/corner/yellow{ dir = 1 }, -/obj/item/weapon/storage/firstaid/combat, -/obj/item/weapon/storage/firstaid/combat{ +/obj/item/storage/firstaid/combat, +/obj/item/storage/firstaid/combat{ pixel_x = -2; pixel_y = -2 }, @@ -4415,20 +4415,20 @@ "xG" = ( /obj/structure/table/rack/steel, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/weapon/gun/energy/gun/nuclear{ +/obj/item/gun/energy/gun/nuclear{ pixel_y = 6 }, -/obj/item/weapon/gun/energy/gun/nuclear{ +/obj/item/gun/energy/gun/nuclear{ pixel_y = 4 }, -/obj/item/weapon/gun/energy/gun/nuclear{ +/obj/item/gun/energy/gun/nuclear{ pixel_y = 2 }, -/obj/item/weapon/gun/energy/gun/nuclear, -/obj/item/weapon/gun/energy/gun/nuclear{ +/obj/item/gun/energy/gun/nuclear, +/obj/item/gun/energy/gun/nuclear{ pixel_y = -2 }, -/obj/item/weapon/gun/energy/gun/nuclear{ +/obj/item/gun/energy/gun/nuclear{ pixel_y = -4 }, /turf/simulated/floor/tiled/techfloor, @@ -4485,20 +4485,20 @@ /obj/item/ammo_magazine/m9mm/large/preban{ pixel_x = 10 }, -/obj/item/weapon/gun/projectile/p92x/large/preban{ +/obj/item/gun/projectile/p92x/large/preban{ pixel_y = 4 }, -/obj/item/weapon/gun/projectile/p92x/large/preban{ +/obj/item/gun/projectile/p92x/large/preban{ pixel_y = 2 }, -/obj/item/weapon/gun/projectile/p92x/large/preban, -/obj/item/weapon/gun/projectile/p92x/large/preban{ +/obj/item/gun/projectile/p92x/large/preban, +/obj/item/gun/projectile/p92x/large/preban{ pixel_y = -2 }, -/obj/item/weapon/gun/projectile/p92x/large/preban{ +/obj/item/gun/projectile/p92x/large/preban{ pixel_y = -4 }, -/obj/item/weapon/gun/projectile/p92x/large/preban{ +/obj/item/gun/projectile/p92x/large/preban{ pixel_y = -6 }, /turf/simulated/floor/tiled/techfloor, @@ -4582,10 +4582,10 @@ /obj/item/ammo_magazine/m545{ pixel_x = 7 }, -/obj/item/weapon/gun/projectile/automatic/sts35{ +/obj/item/gun/projectile/automatic/sts35{ pixel_y = -2 }, -/obj/item/weapon/gun/projectile/automatic/sts35{ +/obj/item/gun/projectile/automatic/sts35{ pixel_y = 2 }, /turf/simulated/floor/tiled/techfloor, @@ -4607,10 +4607,10 @@ "yi" = ( /obj/structure/table/rack/steel, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/weapon/gun/projectile/automatic/z8{ +/obj/item/gun/projectile/automatic/z8{ pixel_y = -3 }, -/obj/item/weapon/gun/projectile/automatic/z8{ +/obj/item/gun/projectile/automatic/z8{ pixel_y = 3 }, /obj/item/ammo_magazine/m762, @@ -4629,8 +4629,8 @@ /area/ship/ert/armoury_dl) "yj" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/storage/box/flashbangs, -/obj/item/weapon/storage/box/flashbangs, +/obj/item/storage/box/flashbangs, +/obj/item/storage/box/flashbangs, /obj/machinery/light/no_nightshift{ dir = 1 }, @@ -4638,12 +4638,12 @@ pixel_y = 26 }, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/weapon/storage/box/flashbangs, -/obj/item/weapon/storage/box/smokes, -/obj/item/weapon/storage/box/smokes, -/obj/item/weapon/storage/box/teargas, -/obj/item/weapon/storage/box/empslite, -/obj/item/weapon/storage/box/empslite, +/obj/item/storage/box/flashbangs, +/obj/item/storage/box/smokes, +/obj/item/storage/box/smokes, +/obj/item/storage/box/teargas, +/obj/item/storage/box/empslite, +/obj/item/storage/box/empslite, /turf/simulated/floor/tiled/techfloor, /area/ship/ert/armoury_st) "yl" = ( @@ -4781,24 +4781,24 @@ "yU" = ( /obj/structure/table/rack/steel, /obj/effect/floor_decal/corner/red, -/obj/item/device/radio/off{ +/obj/item/radio/off{ pixel_x = -4; pixel_y = -4 }, -/obj/item/device/radio/off{ +/obj/item/radio/off{ pixel_x = -2; pixel_y = -2 }, -/obj/item/device/radio/off, -/obj/item/device/radio/off{ +/obj/item/radio/off, +/obj/item/radio/off{ pixel_x = 2; pixel_y = 2 }, -/obj/item/device/radio/off{ +/obj/item/radio/off{ pixel_x = 4; pixel_y = 4 }, -/obj/item/device/radio/off{ +/obj/item/radio/off{ pixel_x = 6; pixel_y = 6 }, @@ -4922,14 +4922,14 @@ /area/ship/ert/brig) "Ad" = ( /obj/structure/closet/crate/freezer, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /obj/effect/floor_decal/industrial/outline, /turf/simulated/floor/tiled/white, /area/ship/ert/med_surg) @@ -4994,31 +4994,31 @@ /obj/effect/floor_decal/industrial/outline/grey, /obj/structure/table/rack/steel, /obj/structure/table/rack/steel, -/obj/item/weapon/storage/belt/utility/chief/full{ +/obj/item/storage/belt/utility/chief/full{ pixel_y = -2 }, -/obj/item/weapon/storage/belt/utility/chief/full, -/obj/item/weapon/storage/belt/utility/chief/full{ +/obj/item/storage/belt/utility/chief/full, +/obj/item/storage/belt/utility/chief/full{ pixel_y = 2 }, -/obj/item/weapon/storage/belt/utility/chief/full{ +/obj/item/storage/belt/utility/chief/full{ pixel_y = 4 }, -/obj/item/weapon/storage/belt/utility/chief/full{ +/obj/item/storage/belt/utility/chief/full{ pixel_y = 6 }, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/storage/belt/explorer/pathfinder{ +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/storage/belt/explorer/pathfinder{ name = "ERT belt" }, -/obj/item/weapon/storage/belt/explorer/pathfinder{ +/obj/item/storage/belt/explorer/pathfinder{ name = "ERT belt" }, -/obj/item/weapon/storage/belt/explorer/pathfinder{ +/obj/item/storage/belt/explorer/pathfinder{ name = "ERT belt" }, /turf/simulated/floor/tiled/techfloor, @@ -5028,9 +5028,9 @@ icon_state = "4-8" }, /obj/machinery/atmospherics/unary/vent_scrubber/on, -/obj/item/weapon/implantpad, -/obj/item/weapon/implanter, -/obj/item/weapon/storage/box/admints, +/obj/item/implantpad, +/obj/item/implanter, +/obj/item/storage/box/admints, /obj/structure/table/hardwoodtable, /turf/simulated/floor/wood, /area/ship/ert/commander) @@ -5093,54 +5093,54 @@ /obj/structure/closet{ name = "custodial" }, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ pixel_x = -6 }, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ pixel_x = -2 }, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ pixel_x = 2 }, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ pixel_x = 6 }, -/obj/item/weapon/reagent_containers/glass/bucket{ +/obj/item/reagent_containers/glass/bucket{ pixel_x = 6 }, -/obj/item/weapon/reagent_containers/glass/bucket{ +/obj/item/reagent_containers/glass/bucket{ pixel_x = 2 }, -/obj/item/weapon/reagent_containers/glass/bucket{ +/obj/item/reagent_containers/glass/bucket{ pixel_x = -2 }, -/obj/item/weapon/reagent_containers/glass/bucket{ +/obj/item/reagent_containers/glass/bucket{ pixel_x = -6 }, -/obj/item/weapon/mop{ +/obj/item/mop{ pixel_x = 6 }, -/obj/item/weapon/mop{ +/obj/item/mop{ pixel_x = 2 }, -/obj/item/weapon/mop{ +/obj/item/mop{ pixel_x = -2 }, -/obj/item/weapon/mop{ +/obj/item/mop{ pixel_x = -6 }, -/obj/item/weapon/rig/ert/janitor, -/obj/item/device/lightreplacer{ +/obj/item/rig/ert/janitor, +/obj/item/lightreplacer{ pixel_y = -2 }, -/obj/item/device/lightreplacer{ +/obj/item/lightreplacer{ pixel_y = 2 }, -/obj/item/weapon/storage/box/lights/mixed{ +/obj/item/storage/box/lights/mixed{ pixel_x = -1; pixel_y = -1 }, -/obj/item/weapon/storage/box/lights/mixed{ +/obj/item/storage/box/lights/mixed{ pixel_x = 1; pixel_y = 1 }, @@ -5148,12 +5148,12 @@ /turf/simulated/floor/tiled/techfloor, /area/ship/ert/barracks) "AT" = ( -/obj/item/device/healthanalyzer/phasic{ +/obj/item/healthanalyzer/phasic{ pixel_x = 2; pixel_y = 2 }, -/obj/item/device/healthanalyzer/phasic, -/obj/item/device/healthanalyzer/phasic{ +/obj/item/healthanalyzer/phasic, +/obj/item/healthanalyzer/phasic{ pixel_x = -2; pixel_y = -2 }, @@ -5448,7 +5448,7 @@ /obj/machinery/computer/ship/disperser{ dir = 8 }, -/obj/item/weapon/paper/vonbraun_cannon, +/obj/item/paper/vonbraun_cannon, /turf/simulated/floor/tiled/techfloor, /area/ship/ert/gunnery) "CT" = ( @@ -5471,24 +5471,24 @@ /area/ship/ert/gunnery) "Dd" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/tank/jetpack/oxygen{ +/obj/item/tank/jetpack/oxygen{ pixel_x = -4; pixel_y = -4 }, -/obj/item/weapon/tank/jetpack/oxygen{ +/obj/item/tank/jetpack/oxygen{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/tank/jetpack/oxygen, -/obj/item/weapon/tank/jetpack/oxygen{ +/obj/item/tank/jetpack/oxygen, +/obj/item/tank/jetpack/oxygen{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/tank/jetpack/oxygen{ +/obj/item/tank/jetpack/oxygen{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/tank/jetpack/oxygen{ +/obj/item/tank/jetpack/oxygen{ pixel_x = 6; pixel_y = 6 }, @@ -5520,12 +5520,12 @@ /obj/item/stack/cable_coil, /obj/item/stack/cable_coil, /obj/item/stack/cable_coil, -/obj/item/weapon/grenade/chem_grenade/metalfoam, -/obj/item/weapon/grenade/chem_grenade/metalfoam, -/obj/item/weapon/grenade/chem_grenade/metalfoam, -/obj/item/weapon/grenade/chem_grenade/metalfoam, -/obj/item/weapon/grenade/chem_grenade/metalfoam, -/obj/item/weapon/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, /obj/machinery/light/no_nightshift, /turf/simulated/floor/tiled/techfloor, /area/ship/ert/eng_storage) @@ -5537,7 +5537,7 @@ /turf/simulated/floor/reinforced/airless, /area/ship/ert/engine) "Dp" = ( -/obj/item/device/perfect_tele_beacon/stationary{ +/obj/item/perfect_tele_beacon/stationary{ tele_name = "NRB Robineau"; tele_network = "centcom" }, @@ -5587,16 +5587,16 @@ /area/ship/ert/atmos) "DM" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/fire{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/fire{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/firstaid/adv, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv, +/obj/item/storage/firstaid/adv{ pixel_x = -2; pixel_y = -2 }, @@ -5655,10 +5655,10 @@ /area/ship/ert/gunnery) "Ee" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/gun/energy/plasmastun{ +/obj/item/gun/energy/plasmastun{ pixel_y = -3 }, -/obj/item/weapon/gun/energy/plasmastun{ +/obj/item/gun/energy/plasmastun{ pixel_y = 3 }, /obj/effect/floor_decal/industrial/outline/grey, @@ -5702,11 +5702,11 @@ /area/ship/ert/engine) "EB" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/gun/energy/sniperrifle{ +/obj/item/gun/energy/sniperrifle{ battery_lock = 0; pixel_y = -3 }, -/obj/item/weapon/gun/energy/sniperrifle{ +/obj/item/gun/energy/sniperrifle{ battery_lock = 0; pixel_y = 3 }, @@ -5753,11 +5753,11 @@ /area/ship/ert/commander) "Fl" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/storage/box/handcuffs{ +/obj/item/storage/box/handcuffs{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/storage/box/handcuffs{ +/obj/item/storage/box/handcuffs{ pixel_x = 2; pixel_y = 2 }, @@ -5769,16 +5769,16 @@ /area/ship/ert/hallways) "Fq" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/gun/energy/gun/burst{ +/obj/item/gun/energy/gun/burst{ pixel_y = 3 }, -/obj/item/weapon/gun/energy/gun/burst{ +/obj/item/gun/energy/gun/burst{ pixel_y = -3 }, -/obj/item/weapon/gun/energy/lasershotgun{ +/obj/item/gun/energy/lasershotgun{ pixel_y = -3 }, -/obj/item/weapon/gun/energy/lasershotgun{ +/obj/item/gun/energy/lasershotgun{ pixel_y = 3 }, /obj/effect/floor_decal/industrial/outline/grey, @@ -5845,30 +5845,30 @@ pixel_y = 23 }, /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp, -/obj/item/device/holomap_beacon/ert, -/obj/item/device/holomap_beacon/ert, -/obj/item/device/mapping_unit/ert, +/obj/item/flashlight/lamp, +/obj/item/holomap_beacon/ert, +/obj/item/holomap_beacon/ert, +/obj/item/mapping_unit/ert, /turf/simulated/floor/wood, /area/ship/ert/commander) "FP" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, /obj/machinery/cell_charger, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/tool/screwdriver, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/tool/crowbar, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/tool/screwdriver, +/obj/item/tool/wrench, +/obj/item/tool/crowbar, /turf/simulated/floor/tiled/techfloor, /area/ship/ert/mech_bay) "FQ" = ( @@ -5905,10 +5905,10 @@ /obj/item/ammo_magazine/ammo_box/b12g/beanbag, /obj/item/ammo_magazine/ammo_box/b12g/stunshell, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/weapon/gun/projectile/shotgun/pump/combat{ +/obj/item/gun/projectile/shotgun/pump/combat{ pixel_y = 3 }, -/obj/item/weapon/gun/projectile/shotgun/pump/combat{ +/obj/item/gun/projectile/shotgun/pump/combat{ pixel_y = -3 }, /turf/simulated/floor/tiled/techfloor, @@ -5918,7 +5918,7 @@ pixel_y = 32 }, /obj/structure/bed/pod, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /obj/structure/curtain/open/bed, /turf/simulated/floor/wood, /area/ship/ert/commander) @@ -6014,48 +6014,48 @@ /obj/structure/closet/crate{ dir = 2 }, -/obj/item/weapon/storage/box/weapon_cells, -/obj/item/weapon/storage/box/weapon_cells, -/obj/item/weapon/storage/box/weapon_cells, -/obj/item/weapon/storage/box/weapon_cells, -/obj/item/weapon/storage/box/weapon_cells, -/obj/item/weapon/storage/box/weapon_cells, -/obj/item/weapon/storage/box/weapon_cells, -/obj/item/weapon/storage/box/weapon_cells, -/obj/item/weapon/storage/box/weapon_cells, -/obj/item/weapon/storage/box/weapon_cells, +/obj/item/storage/box/weapon_cells, +/obj/item/storage/box/weapon_cells, +/obj/item/storage/box/weapon_cells, +/obj/item/storage/box/weapon_cells, +/obj/item/storage/box/weapon_cells, +/obj/item/storage/box/weapon_cells, +/obj/item/storage/box/weapon_cells, +/obj/item/storage/box/weapon_cells, +/obj/item/storage/box/weapon_cells, +/obj/item/storage/box/weapon_cells, /obj/effect/floor_decal/industrial/outline/red, /turf/simulated/floor/tiled/techmaint, /area/ship/ert/armoury_st) "GS" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/structure/table/steel_reinforced, -/obj/item/weapon/rcd_ammo/large{ +/obj/item/rcd_ammo/large{ pixel_x = -8; pixel_y = -8 }, -/obj/item/weapon/rcd_ammo/large{ +/obj/item/rcd_ammo/large{ pixel_x = -6; pixel_y = -6 }, -/obj/item/weapon/rcd_ammo/large{ +/obj/item/rcd_ammo/large{ pixel_x = -4; pixel_y = -4 }, -/obj/item/weapon/rcd_ammo/large{ +/obj/item/rcd_ammo/large{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/rcd_ammo/large, -/obj/item/weapon/rcd_ammo/large{ +/obj/item/rcd_ammo/large, +/obj/item/rcd_ammo/large{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/rcd_ammo/large{ +/obj/item/rcd_ammo/large{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/rcd_ammo/large{ +/obj/item/rcd_ammo/large{ pixel_x = 6; pixel_y = 6 }, @@ -6070,20 +6070,20 @@ "GU" = ( /obj/structure/table/rack/steel, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/weapon/gun/energy/pulse_rifle{ +/obj/item/gun/energy/pulse_rifle{ pixel_y = 6 }, -/obj/item/weapon/gun/energy/pulse_rifle{ +/obj/item/gun/energy/pulse_rifle{ pixel_y = 4 }, -/obj/item/weapon/gun/energy/pulse_rifle{ +/obj/item/gun/energy/pulse_rifle{ pixel_y = 2 }, -/obj/item/weapon/gun/energy/pulse_rifle, -/obj/item/weapon/gun/energy/pulse_rifle{ +/obj/item/gun/energy/pulse_rifle, +/obj/item/gun/energy/pulse_rifle{ pixel_y = -2 }, -/obj/item/weapon/gun/energy/pulse_rifle{ +/obj/item/gun/energy/pulse_rifle{ pixel_y = -4 }, /turf/simulated/floor/tiled/techfloor, @@ -6138,8 +6138,8 @@ "HB" = ( /obj/structure/closet/wardrobe/ert, /obj/item/modular_computer/tablet/preset/custom_loadout/elite, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) +/obj/item/storage/box/survival/comp{ + starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, /obj/machinery/light/no_nightshift, /obj/effect/floor_decal/industrial/outline/grey, @@ -6517,10 +6517,10 @@ /obj/item/ammo_magazine/m545{ pixel_x = -8 }, -/obj/item/weapon/gun/projectile/automatic/sts35{ +/obj/item/gun/projectile/automatic/sts35{ pixel_y = -2 }, -/obj/item/weapon/gun/projectile/automatic/sts35{ +/obj/item/gun/projectile/automatic/sts35{ pixel_y = 2 }, /turf/simulated/floor/tiled/techfloor, @@ -6734,21 +6734,21 @@ /obj/machinery/firealarm/alarms_hidden{ pixel_y = 26 }, -/obj/item/weapon/gun/energy/laser{ +/obj/item/gun/energy/laser{ pixel_y = 6 }, -/obj/item/weapon/gun/energy/laser{ +/obj/item/gun/energy/laser{ pixel_y = 4 }, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/weapon/gun/energy/laser{ +/obj/item/gun/energy/laser{ pixel_y = 2 }, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser{ +/obj/item/gun/energy/laser, +/obj/item/gun/energy/laser{ pixel_y = -2 }, -/obj/item/weapon/gun/energy/laser{ +/obj/item/gun/energy/laser{ pixel_y = -4 }, /turf/simulated/floor/tiled/techfloor, @@ -6765,13 +6765,13 @@ /area/ship/ert/dock_star) "KW" = ( /obj/structure/table/rack, -/obj/item/weapon/hand_tele, -/obj/item/device/perfect_tele, -/obj/item/device/binoculars, -/obj/item/device/survivalcapsule{ +/obj/item/hand_tele, +/obj/item/perfect_tele, +/obj/item/binoculars, +/obj/item/survivalcapsule{ pixel_x = 3 }, -/obj/item/device/survivalcapsule{ +/obj/item/survivalcapsule{ pixel_x = -3 }, /turf/simulated/floor/wood, @@ -6792,14 +6792,14 @@ pixel_y = -9; req_access = list(103) }, -/obj/item/weapon/handcuffs, -/obj/item/weapon/handcuffs, -/obj/item/weapon/handcuffs, -/obj/item/weapon/handcuffs, -/obj/item/weapon/handcuffs/legcuffs, -/obj/item/weapon/handcuffs/legcuffs, -/obj/item/weapon/handcuffs/legcuffs, -/obj/item/weapon/handcuffs/legcuffs, +/obj/item/handcuffs, +/obj/item/handcuffs, +/obj/item/handcuffs, +/obj/item/handcuffs, +/obj/item/handcuffs/legcuffs, +/obj/item/handcuffs/legcuffs, +/obj/item/handcuffs/legcuffs, +/obj/item/handcuffs/legcuffs, /obj/machinery/firealarm/alarms_hidden{ dir = 8; pixel_x = -26; @@ -6834,14 +6834,14 @@ /area/ship/ert/bridge) "Lm" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/gun/energy/ionrifle/pistol{ +/obj/item/gun/energy/ionrifle/pistol{ pixel_y = 4 }, -/obj/item/weapon/gun/energy/ionrifle/pistol, -/obj/item/weapon/gun/energy/ionrifle{ +/obj/item/gun/energy/ionrifle/pistol, +/obj/item/gun/energy/ionrifle{ pixel_y = -4 }, -/obj/item/weapon/gun/energy/ionrifle{ +/obj/item/gun/energy/ionrifle{ pixel_y = -8 }, /obj/machinery/power/apc/hyper{ @@ -6875,22 +6875,22 @@ /area/ship/ert/bridge) "LA" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/material/knife/tacknife/combatknife{ +/obj/item/material/knife/tacknife/combatknife{ pixel_x = -7 }, -/obj/item/weapon/material/knife/tacknife/combatknife{ +/obj/item/material/knife/tacknife/combatknife{ pixel_x = -4 }, -/obj/item/weapon/material/knife/tacknife/combatknife{ +/obj/item/material/knife/tacknife/combatknife{ pixel_x = -1 }, -/obj/item/weapon/material/knife/tacknife/combatknife{ +/obj/item/material/knife/tacknife/combatknife{ pixel_x = 2 }, -/obj/item/weapon/material/knife/tacknife/combatknife{ +/obj/item/material/knife/tacknife/combatknife{ pixel_x = 5 }, -/obj/item/weapon/material/knife/tacknife/combatknife{ +/obj/item/material/knife/tacknife/combatknife{ pixel_x = 8 }, /obj/effect/floor_decal/industrial/outline/grey, @@ -6960,7 +6960,7 @@ /obj/structure/table/steel_reinforced, /obj/machinery/chemical_dispenser/biochemistry/full, /obj/machinery/light/no_nightshift, -/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, /obj/structure/cable/yellow{ icon_state = "1-2" }, @@ -7035,24 +7035,24 @@ /area/ship/ert/armoury_st) "Me" = ( /obj/structure/table/rack/steel, -/obj/item/device/flash{ +/obj/item/flash{ pixel_x = -4; pixel_y = -4 }, -/obj/item/device/flash{ +/obj/item/flash{ pixel_x = -2; pixel_y = -2 }, -/obj/item/device/flash, -/obj/item/device/flash{ +/obj/item/flash, +/obj/item/flash{ pixel_x = 2; pixel_y = 2 }, -/obj/item/device/flash{ +/obj/item/flash{ pixel_x = 4; pixel_y = 4 }, -/obj/item/device/flash{ +/obj/item/flash{ pixel_x = 6; pixel_y = 6 }, @@ -7091,10 +7091,10 @@ icon_state = "1-2" }, /obj/structure/table/steel_reinforced, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/tiled/techfloor, /area/ship/ert/brig) @@ -7114,20 +7114,20 @@ /area/ship/ert/hangar) "Mt" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/gun/projectile/automatic/pdw{ +/obj/item/gun/projectile/automatic/pdw{ pixel_y = 6 }, -/obj/item/weapon/gun/projectile/automatic/pdw{ +/obj/item/gun/projectile/automatic/pdw{ pixel_y = 4 }, -/obj/item/weapon/gun/projectile/automatic/pdw{ +/obj/item/gun/projectile/automatic/pdw{ pixel_y = 2 }, -/obj/item/weapon/gun/projectile/automatic/pdw, -/obj/item/weapon/gun/projectile/automatic/pdw{ +/obj/item/gun/projectile/automatic/pdw, +/obj/item/gun/projectile/automatic/pdw{ pixel_y = -2 }, -/obj/item/weapon/gun/projectile/automatic/pdw{ +/obj/item/gun/projectile/automatic/pdw{ pixel_y = -4 }, /obj/item/ammo_magazine/m9mml{ @@ -7199,20 +7199,20 @@ "MD" = ( /obj/structure/table/rack/steel, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/weapon/gun/energy/locked/frontier/holdout/unlocked{ +/obj/item/gun/energy/locked/frontier/holdout/unlocked{ pixel_y = 6 }, -/obj/item/weapon/gun/energy/locked/frontier/holdout/unlocked{ +/obj/item/gun/energy/locked/frontier/holdout/unlocked{ pixel_y = 4 }, -/obj/item/weapon/gun/energy/locked/frontier/holdout/unlocked{ +/obj/item/gun/energy/locked/frontier/holdout/unlocked{ pixel_y = 2 }, -/obj/item/weapon/gun/energy/locked/frontier/holdout/unlocked, -/obj/item/weapon/gun/energy/locked/frontier/holdout/unlocked{ +/obj/item/gun/energy/locked/frontier/holdout/unlocked, +/obj/item/gun/energy/locked/frontier/holdout/unlocked{ pixel_y = -2 }, -/obj/item/weapon/gun/energy/locked/frontier/holdout/unlocked{ +/obj/item/gun/energy/locked/frontier/holdout/unlocked{ pixel_y = -4 }, /turf/simulated/floor/tiled/techfloor, @@ -7278,7 +7278,7 @@ "Nd" = ( /obj/structure/table/rack/steel, /obj/effect/floor_decal/industrial/outline, -/obj/item/weapon/hand_labeler, +/obj/item/hand_labeler, /turf/simulated/floor/tiled/techfloor, /area/ship/ert/med) "Nf" = ( @@ -7652,7 +7652,7 @@ /turf/simulated/floor/tiled/techmaint, /area/ship/ert/hallways_aft) "OT" = ( -/obj/item/device/multitool/station_buffered, +/obj/item/multitool/station_buffered, /turf/simulated/floor/tiled/techfloor, /area/ship/ert/atmos) "OU" = ( @@ -7717,24 +7717,24 @@ /area/ship/ert/brig) "OZ" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/reagent_containers/hypospray{ +/obj/item/reagent_containers/hypospray{ pixel_x = 6 }, -/obj/item/weapon/reagent_containers/hypospray{ +/obj/item/reagent_containers/hypospray{ pixel_x = 3 }, -/obj/item/weapon/reagent_containers/hypospray, -/obj/item/weapon/reagent_containers/hypospray{ +/obj/item/reagent_containers/hypospray, +/obj/item/reagent_containers/hypospray{ pixel_x = -3 }, /obj/machinery/alarm/alarms_hidden{ pixel_y = 26 }, /obj/effect/floor_decal/industrial/outline, -/obj/item/weapon/reagent_containers/hypospray{ +/obj/item/reagent_containers/hypospray{ pixel_x = -6 }, -/obj/item/weapon/reagent_containers/hypospray{ +/obj/item/reagent_containers/hypospray{ pixel_x = -9 }, /turf/simulated/floor/tiled/techfloor, @@ -7747,16 +7747,16 @@ /obj/item/ammo_magazine/m44{ pixel_x = 3 }, -/obj/item/weapon/gun/projectile/deagle, +/obj/item/gun/projectile/deagle, /turf/simulated/floor/wood, /area/ship/ert/commander) "Pe" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/storage/box/emps{ +/obj/item/storage/box/emps{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/storage/box/emps{ +/obj/item/storage/box/emps{ pixel_x = 2; pixel_y = 2 }, @@ -7764,12 +7764,12 @@ /turf/simulated/floor/tiled/techfloor, /area/ship/ert/armoury_dl) "Ph" = ( -/obj/item/device/healthanalyzer/phasic{ +/obj/item/healthanalyzer/phasic{ pixel_x = 2; pixel_y = 2 }, -/obj/item/device/healthanalyzer/phasic, -/obj/item/device/healthanalyzer/phasic{ +/obj/item/healthanalyzer/phasic, +/obj/item/healthanalyzer/phasic{ pixel_x = -2; pixel_y = -2 }, @@ -7878,16 +7878,16 @@ /area/ship/ert/hallways) "PD" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/firstaid/toxin{ +/obj/item/storage/firstaid/toxin{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/firstaid/toxin{ +/obj/item/storage/firstaid/toxin{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/firstaid/o2, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2, +/obj/item/storage/firstaid/o2{ pixel_x = -2; pixel_y = -2 }, @@ -8014,10 +8014,10 @@ /area/ship/ert/hangar) "QT" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/extinguisher/mini, -/obj/item/weapon/extinguisher/mini, -/obj/item/weapon/extinguisher/mini, -/obj/item/weapon/extinguisher/mini, +/obj/item/extinguisher/mini, +/obj/item/extinguisher/mini, +/obj/item/extinguisher/mini, +/obj/item/extinguisher/mini, /obj/machinery/power/apc/hyper{ alarms_hidden = 1; dir = 1; @@ -8028,10 +8028,10 @@ icon_state = "0-2" }, /obj/effect/floor_decal/industrial/outline, -/obj/item/weapon/extinguisher/mini, -/obj/item/weapon/extinguisher/mini, -/obj/item/weapon/extinguisher/mini, -/obj/item/weapon/extinguisher/mini, +/obj/item/extinguisher/mini, +/obj/item/extinguisher/mini, +/obj/item/extinguisher/mini, +/obj/item/extinguisher/mini, /turf/simulated/floor/tiled/techfloor, /area/ship/ert/med) "QU" = ( @@ -8402,11 +8402,11 @@ /turf/simulated/floor/tiled/techmaint, /area/ship/ert/med) "Ti" = ( -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 8 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /obj/machinery/firealarm/alarms_hidden{ @@ -8422,131 +8422,131 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -12; pixel_y = -6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -10; pixel_y = -6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -8; pixel_y = -6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -6; pixel_y = -6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -4; pixel_y = -6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -2; pixel_y = -6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_y = -6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 2; pixel_y = -6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 4; pixel_y = -6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 6; pixel_y = -6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 8; pixel_y = -6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 10; pixel_y = -6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -12 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -10 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -8 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -4 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -2 }, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon{ pixel_x = 2 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 4 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 8 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 10 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -12; pixel_y = 6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -10; pixel_y = 6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -8; pixel_y = 6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -6; pixel_y = 6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -4; pixel_y = 6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -2; pixel_y = 6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_y = 6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 2; pixel_y = 6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 4; pixel_y = 6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 6; pixel_y = 6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 8; pixel_y = 6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 10; pixel_y = 6 }, @@ -8659,7 +8659,7 @@ /turf/simulated/floor/tiled/techfloor, /area/ship/ert/med) "TW" = ( -/obj/item/device/perfect_tele_beacon/stationary{ +/obj/item/perfect_tele_beacon/stationary{ tele_name = "NRV Von Braun Teleporter Room"; tele_network = "centcom" }, @@ -8744,20 +8744,20 @@ /area/ship/ert/hallways_aft) "Uy" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/gun/energy/gun{ +/obj/item/gun/energy/gun{ pixel_y = 6 }, -/obj/item/weapon/gun/energy/gun{ +/obj/item/gun/energy/gun{ pixel_y = 4 }, -/obj/item/weapon/gun/energy/gun{ +/obj/item/gun/energy/gun{ pixel_y = 2 }, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun{ +/obj/item/gun/energy/gun, +/obj/item/gun/energy/gun{ pixel_y = -2 }, -/obj/item/weapon/gun/energy/gun{ +/obj/item/gun/energy/gun{ pixel_y = -4 }, /obj/effect/floor_decal/industrial/outline/grey, @@ -8859,8 +8859,8 @@ /area/ship/ert/brig) "UY" = ( /obj/structure/table/rack, -/obj/item/weapon/rig/ert, -/obj/item/weapon/cell/slime, +/obj/item/rig/ert, +/obj/item/cell/slime, /turf/simulated/floor/wood, /area/ship/ert/commander) "Vc" = ( @@ -8990,15 +8990,15 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, /obj/effect/floor_decal/industrial/outline/red, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, /turf/simulated/floor/tiled/techmaint, /area/ship/ert/armoury_dl) "Wl" = ( @@ -9048,8 +9048,8 @@ "WH" = ( /obj/structure/closet/wardrobe/ert, /obj/item/modular_computer/tablet/preset/custom_loadout/elite, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) +/obj/item/storage/box/survival/comp{ + starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, /obj/effect/floor_decal/industrial/outline/grey, /obj/item/modular_computer/laptop/preset/custom_loadout/elite, @@ -9233,7 +9233,7 @@ "XQ" = ( /obj/structure/table/steel_reinforced, /obj/machinery/chemical_dispenser/ert, -/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, /turf/simulated/floor/tiled/techfloor, /area/ship/ert/med) "XS" = ( @@ -9417,7 +9417,7 @@ /area/ship/ert/med_surg) "YU" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/backpack/ert/commander, +/obj/item/storage/backpack/ert/commander, /obj/item/clothing/suit/space/void/responseteam/command, /obj/item/clothing/head/helmet/ert/command, /obj/item/clothing/suit/armor/vest/ert/command, @@ -9442,14 +9442,14 @@ /area/ship/ert/brig) "YZ" = ( /obj/structure/closet/crate/freezer, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /obj/machinery/light_switch{ dir = 1; pixel_y = -23 @@ -9475,38 +9475,38 @@ /area/ship/ert/engine) "Zc" = ( /obj/structure/table/standard, -/obj/item/weapon/soap{ +/obj/item/soap{ pixel_x = -6; pixel_y = -6 }, -/obj/item/weapon/soap{ +/obj/item/soap{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/soap{ +/obj/item/soap{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/soap{ +/obj/item/soap{ pixel_x = 6; pixel_y = 6 }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#0000FF"; pixel_x = -6; pixel_y = -6 }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#0000FF"; pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#0000FF"; pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#0000FF"; pixel_x = 6; pixel_y = 6 diff --git a/maps/submaps/admin_use_vr/event_autonomous_drone.dm b/maps/submaps/admin_use_vr/event_autonomous_drone.dm index 4539fdd8a00..aad643108ba 100644 --- a/maps/submaps/admin_use_vr/event_autonomous_drone.dm +++ b/maps/submaps/admin_use_vr/event_autonomous_drone.dm @@ -1,12 +1,12 @@ // Compile in the map for CI testing if we're testing compileability of all the maps -#if MAP_TEST +#ifdef MAP_TEST #include "event_autonomous_drone.dmm" #endif /datum/map_template/om_ships/event_autonomous_drone name = "OM Ship - Cargo Drone" desc = "A small cargo hauler" - mappath = 'event_autonomous_drone.dmm' + mappath = "maps/submaps/admin_use_vr/event_autonomous_drone.dmm" annihilate = TRUE /datum/shuttle/autodock/overmap/event_autonomous_drone @@ -73,7 +73,7 @@ req_one_access = list() /area/submap/event_autonomous_drone - secret_name = FALSE + flags = RAD_SHIELDED | AREA_FORBID_EVENTS /area/submap/event_autonomous_drone/engineering name = "Engine Bay" diff --git a/maps/submaps/admin_use_vr/fun.dm b/maps/submaps/admin_use_vr/fun.dm index 6702e32122f..5d5d09c4bab 100644 --- a/maps/submaps/admin_use_vr/fun.dm +++ b/maps/submaps/admin_use_vr/fun.dm @@ -11,7 +11,7 @@ /datum/map_template/admin_use/casino name = "Lucky 7 Casino" desc = "A casino to gamble your life away." - mappath = 'maps/submaps/admin_use_vr/lucky_7.dmm' + mappath = "maps/submaps/admin_use_vr/lucky_7.dmm" // NEVER EVER use these on an actual included map. // These are for admins to use when they make quick maps and upload the .dmm files for loading diff --git a/maps/submaps/admin_use_vr/kk_mercship.dmm b/maps/submaps/admin_use_vr/kk_mercship.dmm index 137664c8208..7a8048d4fa4 100644 --- a/maps/submaps/admin_use_vr/kk_mercship.dmm +++ b/maps/submaps/admin_use_vr/kk_mercship.dmm @@ -12,26 +12,26 @@ /obj/effect/landmark{ name = "Syndicate-Uplink" }, -/obj/item/device/mapping_unit/operative, +/obj/item/mapping_unit/operative, /turf/simulated/floor/tiled/techfloor, /area/ship/manta/armoury_st) "ad" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/syndie_kit/chameleon, -/obj/item/weapon/storage/box/syndie_kit/chameleon, -/obj/item/weapon/storage/box/syndie_kit/chameleon, -/obj/item/weapon/storage/box/syndie_kit/chameleon, -/obj/item/weapon/storage/box/syndie_kit/chameleon, -/obj/item/weapon/storage/box/syndie_kit/chameleon, +/obj/item/storage/box/syndie_kit/chameleon, +/obj/item/storage/box/syndie_kit/chameleon, +/obj/item/storage/box/syndie_kit/chameleon, +/obj/item/storage/box/syndie_kit/chameleon, +/obj/item/storage/box/syndie_kit/chameleon, +/obj/item/storage/box/syndie_kit/chameleon, /obj/machinery/recharger/wallcharger{ pixel_x = 5; pixel_y = -32 }, /obj/effect/floor_decal/techfloor, -/obj/item/device/holomap_beacon/operative, -/obj/item/device/holomap_beacon/operative, -/obj/item/device/holomap_beacon/operative, -/obj/item/device/holomap_beacon/operative, +/obj/item/holomap_beacon/operative, +/obj/item/holomap_beacon/operative, +/obj/item/holomap_beacon/operative, +/obj/item/holomap_beacon/operative, /turf/simulated/floor/tiled/techfloor, /area/ship/manta/armoury_st) "ag" = ( @@ -39,38 +39,38 @@ /area/ship/manta/hangar) "aj" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/belt/security{ +/obj/item/storage/belt/security{ name = "black belt" }, -/obj/item/weapon/storage/belt/security{ +/obj/item/storage/belt/security{ name = "black belt" }, -/obj/item/weapon/storage/belt/security{ +/obj/item/storage/belt/security{ name = "black belt" }, -/obj/item/weapon/storage/belt/security{ +/obj/item/storage/belt/security{ name = "black belt" }, -/obj/item/weapon/storage/belt/security{ +/obj/item/storage/belt/security{ name = "black belt" }, -/obj/item/weapon/storage/belt/security{ +/obj/item/storage/belt/security{ name = "black belt" }, -/obj/item/weapon/storage/belt/security{ +/obj/item/storage/belt/security{ name = "black belt" }, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical/bandolier, -/obj/item/weapon/storage/belt/security/tactical/bandolier, -/obj/item/weapon/storage/belt/security/tactical/bandolier, -/obj/item/weapon/storage/belt/security/tactical/bandolier, -/obj/item/weapon/storage/belt/security/tactical/bandolier, -/obj/item/weapon/storage/belt/security/tactical/bandolier, +/obj/item/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical/bandolier, +/obj/item/storage/belt/security/tactical/bandolier, +/obj/item/storage/belt/security/tactical/bandolier, +/obj/item/storage/belt/security/tactical/bandolier, +/obj/item/storage/belt/security/tactical/bandolier, +/obj/item/storage/belt/security/tactical/bandolier, /obj/effect/floor_decal/techfloor{ dir = 1 }, @@ -177,7 +177,7 @@ "aI" = ( /obj/structure/table/steel_reinforced, /obj/item/clothing/gloves/yellow, -/obj/item/weapon/storage/toolbox/syndicate, +/obj/item/storage/toolbox/syndicate, /obj/effect/floor_decal/techfloor{ dir = 1 }, @@ -211,131 +211,131 @@ /area/ship/manta/hallways_port) "aS" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -12; pixel_y = -6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -10; pixel_y = -6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -8; pixel_y = -6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -6; pixel_y = -6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -4; pixel_y = -6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -2; pixel_y = -6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_y = -6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 2; pixel_y = -6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 4; pixel_y = -6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 6; pixel_y = -6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 8; pixel_y = -6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 10; pixel_y = -6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -12 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -10 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -8 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -4 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -2 }, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon{ pixel_x = 2 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 4 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 8 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 10 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -12; pixel_y = 6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -10; pixel_y = 6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -8; pixel_y = 6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -6; pixel_y = 6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -4; pixel_y = 6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -2; pixel_y = 6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_y = 6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 2; pixel_y = 6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 4; pixel_y = 6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 6; pixel_y = 6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 8; pixel_y = 6 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 10; pixel_y = 6 }, @@ -345,7 +345,7 @@ /obj/machinery/shower{ dir = 1 }, -/obj/item/weapon/soap/syndie, +/obj/item/soap/syndie, /obj/structure/window/reinforced/tinted{ dir = 4 }, @@ -359,32 +359,32 @@ /turf/simulated/floor/tiled/techfloor, /area/ship/manta/armoury_st) "aY" = ( -/obj/item/weapon/storage/box/syndie_kit/imp_uplink, -/obj/item/weapon/storage/box/syndie_kit/imp_uplink, -/obj/item/weapon/storage/box/syndie_kit/imp_uplink, -/obj/item/weapon/storage/box/syndie_kit/imp_uplink, -/obj/item/weapon/storage/box/syndie_kit/imp_uplink, +/obj/item/storage/box/syndie_kit/imp_uplink, +/obj/item/storage/box/syndie_kit/imp_uplink, +/obj/item/storage/box/syndie_kit/imp_uplink, +/obj/item/storage/box/syndie_kit/imp_uplink, +/obj/item/storage/box/syndie_kit/imp_uplink, /obj/structure/table/steel_reinforced, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, -/obj/item/weapon/storage/box/syndie_kit/imp_uplink, -/obj/item/weapon/storage/box/syndie_kit/imp_uplink, -/obj/item/weapon/storage/box/syndie_kit/imp_uplink, +/obj/item/storage/box/syndie_kit/imp_uplink, +/obj/item/storage/box/syndie_kit/imp_uplink, +/obj/item/storage/box/syndie_kit/imp_uplink, /turf/simulated/floor/tiled/techfloor, /area/ship/manta/armoury_st) "aZ" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/sizegun{ +/obj/item/gun/energy/sizegun{ pixel_y = 6 }, -/obj/item/weapon/gun/energy/sizegun{ +/obj/item/gun/energy/sizegun{ pixel_y = 2 }, -/obj/item/weapon/gun/energy/sizegun{ +/obj/item/gun/energy/sizegun{ pixel_y = -2 }, -/obj/item/weapon/gun/energy/sizegun{ +/obj/item/gun/energy/sizegun{ pixel_y = -6 }, /obj/effect/floor_decal/techfloor{ @@ -429,7 +429,7 @@ /obj/effect/landmark{ name = "Syndicate-Spawn" }, -/obj/item/weapon/bedsheet/hos, +/obj/item/bedsheet/hos, /obj/machinery/firealarm/alarms_hidden{ dir = 8; pixel_x = -26 @@ -442,7 +442,7 @@ pixel_y = 32 }, /obj/structure/curtain/open/bed, -/obj/item/weapon/bedsheet/pirate, +/obj/item/bedsheet/pirate, /turf/simulated/floor/wood, /area/ship/manta/commander) "bn" = ( @@ -588,19 +588,19 @@ /obj/effect/floor_decal/techfloor{ dir = 8 }, -/obj/item/device/binoculars{ +/obj/item/binoculars{ pixel_x = -6; pixel_y = -6 }, -/obj/item/device/binoculars{ +/obj/item/binoculars{ pixel_x = -2; pixel_y = -2 }, -/obj/item/device/binoculars{ +/obj/item/binoculars{ pixel_x = 2; pixel_y = 2 }, -/obj/item/device/binoculars{ +/obj/item/binoculars{ pixel_x = 6; pixel_y = 6 }, @@ -657,33 +657,33 @@ /area/ship/manta/hangar) "bY" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/syndie_kit/demolitions_super_heavy{ +/obj/item/storage/box/syndie_kit/demolitions_super_heavy{ name = "Super Heavy Demolitions kit" }, -/obj/item/weapon/storage/box/syndie_kit/demolitions_heavy{ +/obj/item/storage/box/syndie_kit/demolitions_heavy{ name = "Heavy Demolitions kit" }, -/obj/item/weapon/storage/box/syndie_kit/demolitions_heavy{ +/obj/item/storage/box/syndie_kit/demolitions_heavy{ name = "Heavy Demolitions kit" }, -/obj/item/weapon/storage/box/syndie_kit/demolitions{ +/obj/item/storage/box/syndie_kit/demolitions{ name = "Demolitions kit" }, -/obj/item/weapon/storage/box/syndie_kit/demolitions{ +/obj/item/storage/box/syndie_kit/demolitions{ name = "Demolitions kit" }, -/obj/item/weapon/storage/box/syndie_kit/demolitions{ +/obj/item/storage/box/syndie_kit/demolitions{ name = "Demolitions kit" }, -/obj/item/weapon/storage/box/syndie_kit/demolitions{ +/obj/item/storage/box/syndie_kit/demolitions{ name = "Demolitions kit" }, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, /obj/machinery/recharger/wallcharger{ pixel_x = 5; pixel_y = -32 @@ -698,19 +698,19 @@ /area/ship/manta/armoury_st) "bZ" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/syndie_kit/spy, -/obj/item/weapon/storage/box/syndie_kit/spy, -/obj/item/weapon/storage/box/syndie_kit/spy, -/obj/item/weapon/storage/box/syndie_kit/spy, -/obj/item/weapon/storage/box/syndie_kit/spy, -/obj/item/device/radio_jammer, -/obj/item/device/radio_jammer, -/obj/item/device/radio_jammer, -/obj/item/device/radio_jammer, -/obj/item/device/radio_jammer, -/obj/item/device/chameleon, -/obj/item/device/chameleon, -/obj/item/device/chameleon, +/obj/item/storage/box/syndie_kit/spy, +/obj/item/storage/box/syndie_kit/spy, +/obj/item/storage/box/syndie_kit/spy, +/obj/item/storage/box/syndie_kit/spy, +/obj/item/storage/box/syndie_kit/spy, +/obj/item/radio_jammer, +/obj/item/radio_jammer, +/obj/item/radio_jammer, +/obj/item/radio_jammer, +/obj/item/radio_jammer, +/obj/item/chameleon, +/obj/item/chameleon, +/obj/item/chameleon, /obj/machinery/recharger/wallcharger{ pixel_x = 5; pixel_y = -32 @@ -735,22 +735,22 @@ /area/space) "cn" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/material/knife/tacknife/combatknife{ +/obj/item/material/knife/tacknife/combatknife{ pixel_x = -7 }, -/obj/item/weapon/material/knife/tacknife/combatknife{ +/obj/item/material/knife/tacknife/combatknife{ pixel_x = -4 }, -/obj/item/weapon/material/knife/tacknife/combatknife{ +/obj/item/material/knife/tacknife/combatknife{ pixel_x = -1 }, -/obj/item/weapon/material/knife/tacknife/combatknife{ +/obj/item/material/knife/tacknife/combatknife{ pixel_x = 2 }, -/obj/item/weapon/material/knife/tacknife/combatknife{ +/obj/item/material/knife/tacknife/combatknife{ pixel_x = 5 }, -/obj/item/weapon/material/knife/tacknife/combatknife{ +/obj/item/material/knife/tacknife/combatknife{ pixel_x = 8 }, /obj/effect/floor_decal/techfloor, @@ -781,20 +781,20 @@ /area/ship/manta/med) "ct" = ( /obj/structure/table/rack, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = -4; pixel_y = -4 }, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = -2; pixel_y = -2 }, -/obj/item/device/radio, -/obj/item/device/radio{ +/obj/item/radio, +/obj/item/radio{ pixel_x = 2; pixel_y = 2 }, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = 4; pixel_y = 4 }, @@ -870,20 +870,20 @@ /area/ship/manta/holding) "cP" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/belt/utility/full{ +/obj/item/storage/belt/utility/full{ pixel_y = -4 }, -/obj/item/weapon/storage/belt/utility/full{ +/obj/item/storage/belt/utility/full{ pixel_y = -2 }, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/weapon/storage/belt/utility/full{ +/obj/item/storage/belt/utility/full, +/obj/item/storage/belt/utility/full{ pixel_y = 2 }, -/obj/item/weapon/storage/belt/utility/full{ +/obj/item/storage/belt/utility/full{ pixel_y = 4 }, -/obj/item/weapon/storage/belt/utility/full{ +/obj/item/storage/belt/utility/full{ pixel_y = 6 }, /obj/effect/floor_decal/techfloor{ @@ -902,33 +902,33 @@ /area/ship/manta/armoury_st) "cQ" = ( /obj/structure/table/rack, -/obj/item/weapon/tool/crowbar/red{ +/obj/item/tool/crowbar/red{ pixel_x = -4 }, -/obj/item/weapon/tool/crowbar/red{ +/obj/item/tool/crowbar/red{ pixel_x = 2 }, -/obj/item/weapon/tool/crowbar/red, -/obj/item/weapon/tool/crowbar/red{ +/obj/item/tool/crowbar/red, +/obj/item/tool/crowbar/red{ pixel_x = 2 }, -/obj/item/weapon/tool/crowbar/red{ +/obj/item/tool/crowbar/red{ pixel_x = 4 }, -/obj/item/device/flashlight/maglight{ +/obj/item/flashlight/maglight{ pixel_y = 6 }, -/obj/item/device/flashlight/maglight{ +/obj/item/flashlight/maglight{ pixel_y = 4 }, -/obj/item/device/flashlight/maglight{ +/obj/item/flashlight/maglight{ pixel_y = 2 }, -/obj/item/device/flashlight/maglight, -/obj/item/device/flashlight/maglight{ +/obj/item/flashlight/maglight, +/obj/item/flashlight/maglight{ pixel_y = -2 }, -/obj/item/device/flashlight/maglight{ +/obj/item/flashlight/maglight{ pixel_y = -4 }, /obj/effect/floor_decal/techfloor{ @@ -1013,7 +1013,7 @@ /obj/effect/landmark{ name = "Syndicate-Spawn" }, -/obj/item/weapon/bedsheet/hos, +/obj/item/bedsheet/hos, /turf/simulated/floor/wood, /area/ship/manta/barracks/bed_2) "dg" = ( @@ -1197,7 +1197,7 @@ /obj/structure/railing/grey{ dir = 1 }, -/obj/item/weapon/paper/manta_shields, +/obj/item/paper/manta_shields, /turf/simulated/floor/tiled/techmaint, /area/ship/manta/bridge) "dZ" = ( @@ -1237,7 +1237,7 @@ /obj/effect/landmark{ name = "Syndicate-Spawn" }, -/obj/item/weapon/bedsheet/hos, +/obj/item/bedsheet/hos, /obj/machinery/alarm/alarms_hidden{ dir = 8; pixel_x = 26 @@ -1271,7 +1271,7 @@ /obj/effect/floor_decal/techfloor{ dir = 9 }, -/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, /turf/simulated/floor/tiled/white, /area/ship/manta/med) "er" = ( @@ -1303,7 +1303,7 @@ /obj/machinery/light/no_nightshift{ dir = 1 }, -/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, /turf/simulated/floor/tiled/white, /area/ship/manta/med) "eC" = ( @@ -1316,7 +1316,7 @@ /obj/effect/floor_decal/techfloor{ dir = 5 }, -/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, /obj/structure/cable/orange{ icon_state = "1-2" }, @@ -1338,7 +1338,7 @@ /area/ship/manta/hallways_port) "eJ" = ( /obj/structure/table/rack, -/obj/item/weapon/rig/merc/empty, +/obj/item/rig/merc/empty, /obj/effect/floor_decal/techfloor{ dir = 9 }, @@ -1349,9 +1349,9 @@ /area/ship/manta/armoury_st) "eN" = ( /obj/structure/table/rack, -/obj/item/weapon/hand_tele, -/obj/item/device/perfect_tele, -/obj/item/device/binoculars, +/obj/item/hand_tele, +/obj/item/perfect_tele, +/obj/item/binoculars, /turf/simulated/floor/wood, /area/ship/manta/commander) "eO" = ( @@ -1363,7 +1363,7 @@ /area/ship/manta/barracks) "eR" = ( /obj/structure/table/rack, -/obj/item/weapon/rig/merc/empty, +/obj/item/rig/merc/empty, /obj/effect/floor_decal/techfloor{ dir = 5 }, @@ -1484,7 +1484,7 @@ /obj/structure/railing/grey{ dir = 4 }, -/obj/item/weapon/paper/manta_approach_tactics, +/obj/item/paper/manta_approach_tactics, /turf/simulated/floor/tiled/techmaint, /area/ship/manta/bridge) "fI" = ( @@ -1498,7 +1498,7 @@ /area/ship/manta/hangar) "fK" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/revolver/consul, +/obj/item/gun/projectile/revolver/consul, /obj/item/ammo_magazine/s44, /obj/item/ammo_magazine/s44, /obj/item/ammo_magazine/s44, @@ -1536,8 +1536,8 @@ /area/ship/manta/engine) "fP" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/reagent_containers/hypospray, -/obj/item/weapon/storage/box/syringes, +/obj/item/reagent_containers/hypospray, +/obj/item/storage/box/syringes, /obj/effect/floor_decal/techfloor{ dir = 8 }, @@ -1564,14 +1564,14 @@ /area/ship/manta/med) "fV" = ( /obj/structure/closet/crate/freezer, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /obj/effect/floor_decal/techfloor{ dir = 1 }, @@ -1590,16 +1590,16 @@ /area/ship/manta/barracks) "gd" = ( /obj/structure/table/standard, -/obj/item/weapon/card/id/syndicate, -/obj/item/weapon/card/id/syndicate, -/obj/item/weapon/card/id/syndicate, -/obj/item/weapon/card/id/syndicate, -/obj/item/weapon/card/id/syndicate, -/obj/item/weapon/card/id/syndicate, +/obj/item/card/id/syndicate, +/obj/item/card/id/syndicate, +/obj/item/card/id/syndicate, +/obj/item/card/id/syndicate, +/obj/item/card/id/syndicate, +/obj/item/card/id/syndicate, /obj/effect/floor_decal/techfloor, /obj/machinery/light/no_nightshift, -/obj/item/weapon/card/id/syndicate, -/obj/item/weapon/card/id/syndicate, +/obj/item/card/id/syndicate, +/obj/item/card/id/syndicate, /turf/simulated/floor/tiled/techfloor, /area/ship/manta/recreation) "ge" = ( @@ -1644,8 +1644,8 @@ "gu" = ( /obj/effect/floor_decal/techfloor, /obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/device/multitool, +/obj/item/storage/belt/utility/full, +/obj/item/multitool, /turf/simulated/floor/tiled/techfloor, /area/ship/manta/engineering) "gB" = ( @@ -1890,9 +1890,9 @@ /area/ship/manta/bridge) "hz" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/box/trackimp, -/obj/item/weapon/storage/box/cdeathalarm_kit, -/obj/item/weapon/stamp/chameleon, +/obj/item/storage/box/trackimp, +/obj/item/storage/box/cdeathalarm_kit, +/obj/item/stamp/chameleon, /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/wood, /area/ship/manta/commander) @@ -1958,10 +1958,10 @@ /area/ship/manta/hallways_aft) "hU" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/automatic/c20r{ +/obj/item/gun/projectile/automatic/c20r{ pixel_y = 4 }, -/obj/item/weapon/gun/projectile/automatic/c20r, +/obj/item/gun/projectile/automatic/c20r, /obj/item/ammo_magazine/m10mm, /obj/item/ammo_magazine/m10mm, /obj/item/ammo_magazine/m10mm, @@ -1972,7 +1972,7 @@ /obj/machinery/light/no_nightshift{ dir = 8 }, -/obj/item/weapon/gun/projectile/automatic/c20r{ +/obj/item/gun/projectile/automatic/c20r{ pixel_y = -4 }, /obj/item/ammo_magazine/m10mm, @@ -2021,8 +2021,8 @@ /area/ship/manta/armoury_st) "ih" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/silenced, -/obj/item/weapon/gun/projectile/silenced, +/obj/item/gun/projectile/silenced, +/obj/item/gun/projectile/silenced, /obj/item/ammo_magazine/m45, /obj/item/ammo_magazine/m45, /obj/item/ammo_magazine/m45/ap, @@ -2031,18 +2031,18 @@ /obj/effect/floor_decal/techfloor{ dir = 5 }, -/obj/item/weapon/gun/projectile/sec/wood{ +/obj/item/gun/projectile/sec/wood{ pixel_y = 4 }, -/obj/item/weapon/gun/projectile/sec/wood{ +/obj/item/gun/projectile/sec/wood{ pixel_y = -4 }, /turf/simulated/floor/tiled/techfloor, /area/ship/manta/armoury_st) "ik" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/device/multitool, +/obj/item/storage/belt/utility/full, +/obj/item/multitool, /obj/effect/floor_decal/techfloor{ dir = 10 }, @@ -2063,25 +2063,25 @@ dir = 4 }, /obj/structure/table/reinforced, -/obj/item/device/assembly/prox_sensor{ +/obj/item/assembly/prox_sensor{ pixel_x = -8; pixel_y = 4 }, -/obj/item/device/assembly/prox_sensor{ +/obj/item/assembly/prox_sensor{ pixel_x = -8; pixel_y = 4 }, -/obj/item/device/assembly/prox_sensor{ +/obj/item/assembly/prox_sensor{ pixel_x = -8; pixel_y = 4 }, -/obj/item/device/assembly/signaler{ +/obj/item/assembly/signaler{ pixel_y = 2 }, -/obj/item/device/assembly/signaler{ +/obj/item/assembly/signaler{ pixel_y = 2 }, -/obj/item/device/assembly/signaler{ +/obj/item/assembly/signaler{ pixel_y = 2 }, /obj/item/clothing/gloves/yellow, @@ -2095,10 +2095,10 @@ /area/ship/manta/recreation) "ip" = ( /obj/structure/table/rack, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, /obj/effect/floor_decal/techfloor{ dir = 9 }, @@ -2154,12 +2154,12 @@ /obj/effect/floor_decal/techfloor{ dir = 5 }, -/obj/item/weapon/reagent_containers/food/snacks/meat/chicken, -/obj/item/weapon/reagent_containers/food/snacks/meat/chicken, -/obj/item/weapon/reagent_containers/food/snacks/meat/chicken, -/obj/item/weapon/reagent_containers/food/snacks/meat/chicken, -/obj/item/weapon/reagent_containers/food/snacks/meat/chicken, -/obj/item/weapon/reagent_containers/food/snacks/meat/chicken, +/obj/item/reagent_containers/food/snacks/meat/chicken, +/obj/item/reagent_containers/food/snacks/meat/chicken, +/obj/item/reagent_containers/food/snacks/meat/chicken, +/obj/item/reagent_containers/food/snacks/meat/chicken, +/obj/item/reagent_containers/food/snacks/meat/chicken, +/obj/item/reagent_containers/food/snacks/meat/chicken, /turf/simulated/floor/tiled/dark, /area/ship/manta/recreation) "iB" = ( @@ -2258,7 +2258,7 @@ /area/ship/manta/barracks) "iU" = ( /obj/structure/table/rack, -/obj/item/weapon/tank/oxygen/red, +/obj/item/tank/oxygen/red, /obj/item/clothing/suit/space/void/merc, /obj/item/clothing/mask/gas/syndicate, /obj/item/clothing/head/helmet/space/void/merc, @@ -2374,23 +2374,23 @@ /turf/simulated/floor/tiled/techfloor, /area/shuttle/manta_ship_boat) "jo" = ( -/obj/item/weapon/storage/box/handcuffs{ +/obj/item/storage/box/handcuffs{ pixel_x = 4; pixel_y = 2 }, -/obj/item/weapon/storage/box/flashbangs, -/obj/item/weapon/storage/box/smokes, -/obj/item/weapon/storage/box/frags, +/obj/item/storage/box/flashbangs, +/obj/item/storage/box/smokes, +/obj/item/storage/box/frags, /obj/structure/table/steel_reinforced, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, -/obj/item/weapon/storage/box/smokes, -/obj/item/weapon/storage/box/smokes, +/obj/item/storage/box/smokes, +/obj/item/storage/box/smokes, /turf/simulated/floor/tiled/techfloor, /area/ship/manta/armoury_st) "js" = ( -/obj/item/weapon/tool/screwdriver, +/obj/item/tool/screwdriver, /obj/effect/spawner/newbomb/timer/syndicate, /obj/structure/table/reinforced, /obj/effect/floor_decal/techfloor{ @@ -2607,11 +2607,11 @@ /area/ship/manta/recreation) "kF" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery, /obj/item/stack/nanopaste/advanced, -/obj/item/weapon/surgical/bone_clamp, -/obj/item/weapon/surgical/scalpel/manager, -/obj/item/weapon/surgical/circular_saw/manager, +/obj/item/surgical/bone_clamp, +/obj/item/surgical/scalpel/manager, +/obj/item/surgical/circular_saw/manager, /obj/effect/floor_decal/techfloor{ dir = 5 }, @@ -2755,10 +2755,10 @@ /area/ship/manta/hallways_aft) "lj" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/automatic/c20r{ +/obj/item/gun/projectile/automatic/c20r{ pixel_y = 4 }, -/obj/item/weapon/gun/projectile/automatic/c20r, +/obj/item/gun/projectile/automatic/c20r, /obj/item/ammo_magazine/m10mm, /obj/item/ammo_magazine/m10mm, /obj/item/ammo_magazine/m10mm, @@ -2766,7 +2766,7 @@ /obj/effect/floor_decal/techfloor{ dir = 8 }, -/obj/item/weapon/gun/projectile/automatic/c20r{ +/obj/item/gun/projectile/automatic/c20r{ pixel_y = -4 }, /obj/item/ammo_magazine/m10mm, @@ -2787,10 +2787,10 @@ dir = 4 }, /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/automatic/sts35{ +/obj/item/gun/projectile/automatic/sts35{ pixel_y = -3 }, -/obj/item/weapon/gun/projectile/automatic/sts35{ +/obj/item/gun/projectile/automatic/sts35{ pixel_y = 3 }, /obj/item/ammo_magazine/m545, @@ -2820,10 +2820,10 @@ /area/ship/manta/engine) "lz" = ( /obj/structure/table/rack, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, /obj/effect/floor_decal/techfloor{ dir = 8 }, @@ -2891,21 +2891,21 @@ /turf/simulated/floor/tiled/techfloor, /area/ship/manta/bridge) "lO" = ( -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, /obj/effect/floor_decal/techfloor, /obj/structure/table/steel_reinforced, /turf/simulated/floor/tiled/dark, /area/ship/manta/holding) "lP" = ( /obj/structure/table/rack, -/obj/item/weapon/tank/oxygen/red, +/obj/item/tank/oxygen/red, /obj/item/clothing/suit/space/void/merc, /obj/item/clothing/mask/gas/syndicate, /obj/item/clothing/head/helmet/space/void/merc, @@ -2938,7 +2938,7 @@ /obj/effect/landmark{ name = "Syndicate-Spawn" }, -/obj/item/weapon/bedsheet/hos, +/obj/item/bedsheet/hos, /obj/machinery/power/apc/hyper{ alarms_hidden = 1; dir = 4; @@ -2966,7 +2966,7 @@ /area/shuttle/manta_ship_boat) "lY" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/box/donut, +/obj/item/storage/box/donut, /obj/structure/cable/orange{ icon_state = "1-2" }, @@ -2995,7 +2995,7 @@ /obj/effect/floor_decal/industrial/warning{ dir = 1 }, -/obj/item/weapon/paper/manta_cannon_usage, +/obj/item/paper/manta_cannon_usage, /turf/simulated/floor/tiled/techfloor, /area/ship/manta/gunnery) "me" = ( @@ -3068,10 +3068,10 @@ /area/ship/manta/hangar) "mC" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/defib_kit, -/obj/item/device/defib_kit, -/obj/item/device/healthanalyzer, -/obj/item/device/healthanalyzer, +/obj/item/defib_kit, +/obj/item/defib_kit, +/obj/item/healthanalyzer, +/obj/item/healthanalyzer, /obj/effect/floor_decal/techfloor{ dir = 8 }, @@ -3248,10 +3248,10 @@ /obj/item/stack/medical/bruise_pack, /obj/item/stack/medical/bruise_pack, /obj/item/stack/medical/bruise_pack, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/firstaid/combat, -/obj/item/device/defib_kit/compact/combat/loaded, +/obj/item/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, +/obj/item/storage/firstaid/combat, +/obj/item/defib_kit/compact/combat/loaded, /obj/effect/floor_decal/techfloor{ dir = 1 }, @@ -3511,10 +3511,10 @@ /area/ship/manta/mech_bay) "oD" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/laser{ +/obj/item/gun/energy/laser{ pixel_y = 3 }, -/obj/item/weapon/gun/energy/laser{ +/obj/item/gun/energy/laser{ pixel_y = -3 }, /obj/effect/floor_decal/techfloor{ @@ -3527,10 +3527,10 @@ dir = 4 }, /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/automatic/sts35{ +/obj/item/gun/projectile/automatic/sts35{ pixel_y = 3 }, -/obj/item/weapon/gun/projectile/automatic/sts35{ +/obj/item/gun/projectile/automatic/sts35{ pixel_y = -3 }, /obj/item/ammo_magazine/m545, @@ -3555,8 +3555,8 @@ /area/space) "oO" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/silenced, -/obj/item/weapon/gun/projectile/silenced, +/obj/item/gun/projectile/silenced, +/obj/item/gun/projectile/silenced, /obj/item/ammo_magazine/m45, /obj/item/ammo_magazine/m45, /obj/item/ammo_magazine/m45/ap, @@ -3569,10 +3569,10 @@ dir = 8; pixel_x = 26 }, -/obj/item/weapon/gun/projectile/sec/wood{ +/obj/item/gun/projectile/sec/wood{ pixel_y = 4 }, -/obj/item/weapon/gun/projectile/sec/wood{ +/obj/item/gun/projectile/sec/wood{ pixel_y = -4 }, /turf/simulated/floor/tiled/techfloor, @@ -3588,11 +3588,11 @@ /area/ship/manta/armoury_st) "oS" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka{ +/obj/item/reagent_containers/food/drinks/bottle/vodka{ pixel_x = 3; pixel_y = 12 }, -/obj/item/weapon/reagent_containers/food/drinks/bottle/wine{ +/obj/item/reagent_containers/food/drinks/bottle/wine{ pixel_x = -1; pixel_y = 8 }, @@ -4362,11 +4362,11 @@ /area/ship/manta/gunnery) "tk" = ( /obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/reagent_containers/food/snacks/sandwich, -/obj/item/weapon/reagent_containers/food/snacks/sandwich, -/obj/item/weapon/reagent_containers/food/snacks/sandwich, -/obj/item/weapon/reagent_containers/food/snacks/sandwich, -/obj/item/weapon/reagent_containers/food/snacks/sandwich, +/obj/item/reagent_containers/food/snacks/sandwich, +/obj/item/reagent_containers/food/snacks/sandwich, +/obj/item/reagent_containers/food/snacks/sandwich, +/obj/item/reagent_containers/food/snacks/sandwich, +/obj/item/reagent_containers/food/snacks/sandwich, /turf/simulated/floor/wood, /area/ship/manta/barracks) "tm" = ( @@ -4449,7 +4449,7 @@ /area/ship/manta/armoury_st) "tJ" = ( /obj/structure/closet/wardrobe/merc, -/obj/item/weapon/storage/box/syndie_kit/combat_armor, +/obj/item/storage/box/syndie_kit/combat_armor, /turf/simulated/floor/wood, /area/ship/manta/barracks) "tK" = ( @@ -4636,7 +4636,7 @@ /area/ship/manta/hangar) "uH" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /obj/machinery/light_switch{ pixel_y = 23 }, @@ -5148,19 +5148,19 @@ /area/ship/manta/engineering) "ww" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/firstaid/combat{ +/obj/item/storage/firstaid/combat{ pixel_x = -4; pixel_y = -4 }, -/obj/item/weapon/storage/firstaid/combat, -/obj/item/weapon/storage/firstaid/combat{ +/obj/item/storage/firstaid/combat, +/obj/item/storage/firstaid/combat{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/reagent_containers/hypospray{ +/obj/item/reagent_containers/hypospray{ pixel_x = 3 }, -/obj/item/weapon/reagent_containers/hypospray{ +/obj/item/reagent_containers/hypospray{ pixel_x = -3 }, /obj/effect/floor_decal/techfloor{ @@ -5912,7 +5912,7 @@ /area/ship/manta/mech_bay) "zv" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/plasmastun, +/obj/item/gun/energy/plasmastun, /obj/effect/floor_decal/techfloor{ dir = 8 }, @@ -5920,13 +5920,13 @@ dir = 4; pixel_x = -23 }, -/obj/item/weapon/gun/energy/netgun{ +/obj/item/gun/energy/netgun{ pixel_y = -3 }, -/obj/item/weapon/gun/energy/netgun{ +/obj/item/gun/energy/netgun{ pixel_y = 3 }, -/obj/item/weapon/gun/energy/plasmastun, +/obj/item/gun/energy/plasmastun, /turf/simulated/floor/tiled/techfloor, /area/ship/manta/armoury_st) "zw" = ( @@ -5940,14 +5940,14 @@ /area/ship/manta/recreation) "zx" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/stunrevolver, -/obj/item/weapon/gun/energy/stunrevolver, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, +/obj/item/gun/energy/stunrevolver, +/obj/item/gun/energy/stunrevolver, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, /obj/effect/floor_decal/techfloor{ dir = 4 }, @@ -5955,35 +5955,35 @@ /area/ship/manta/armoury_st) "zy" = ( /obj/structure/table/rack, -/obj/item/weapon/tank/jetpack/oxygen{ +/obj/item/tank/jetpack/oxygen{ pixel_x = -6; pixel_y = -6 }, -/obj/item/weapon/tank/jetpack/oxygen{ +/obj/item/tank/jetpack/oxygen{ pixel_x = 6; pixel_y = -6 }, -/obj/item/weapon/tank/jetpack/oxygen{ +/obj/item/tank/jetpack/oxygen{ pixel_x = -6; pixel_y = -2 }, -/obj/item/weapon/tank/jetpack/oxygen{ +/obj/item/tank/jetpack/oxygen{ pixel_x = 6; pixel_y = -2 }, -/obj/item/weapon/tank/jetpack/oxygen{ +/obj/item/tank/jetpack/oxygen{ pixel_x = -6; pixel_y = 2 }, -/obj/item/weapon/tank/jetpack/oxygen{ +/obj/item/tank/jetpack/oxygen{ pixel_x = 6; pixel_y = 2 }, -/obj/item/weapon/tank/jetpack/oxygen{ +/obj/item/tank/jetpack/oxygen{ pixel_x = -6; pixel_y = 6 }, -/obj/item/weapon/tank/jetpack/oxygen{ +/obj/item/tank/jetpack/oxygen{ pixel_x = 6; pixel_y = 6 }, @@ -6019,7 +6019,7 @@ /area/ship/manta/hallways_port) "zH" = ( /obj/structure/table/rack, -/obj/item/weapon/tank/oxygen/red, +/obj/item/tank/oxygen/red, /obj/item/clothing/suit/space/void/merc, /obj/item/clothing/mask/gas/syndicate, /obj/item/clothing/head/helmet/space/void/merc, @@ -6507,8 +6507,8 @@ /area/ship/manta/barracks) "Cz" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/device/multitool, +/obj/item/storage/belt/utility/full, +/obj/item/multitool, /obj/machinery/alarm/alarms_hidden{ dir = 8; pixel_x = 26 @@ -6545,17 +6545,17 @@ /obj/machinery/light/no_nightshift{ dir = 4 }, -/obj/item/weapon/storage/box/syndie_kit/combat_armor, +/obj/item/storage/box/syndie_kit/combat_armor, /turf/simulated/floor/wood, /area/ship/manta/barracks) "CQ" = ( /obj/structure/table/standard, -/obj/item/device/pda/syndicate, -/obj/item/device/pda/syndicate, -/obj/item/device/pda/syndicate, -/obj/item/device/pda/syndicate, -/obj/item/device/pda/syndicate, -/obj/item/device/pda/syndicate, +/obj/item/pda/syndicate, +/obj/item/pda/syndicate, +/obj/item/pda/syndicate, +/obj/item/pda/syndicate, +/obj/item/pda/syndicate, +/obj/item/pda/syndicate, /obj/effect/floor_decal/techfloor{ dir = 10 }, @@ -6563,10 +6563,10 @@ /area/ship/manta/recreation) "CT" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/plasmastun{ +/obj/item/gun/energy/plasmastun{ pixel_y = -3 }, -/obj/item/weapon/gun/energy/plasmastun{ +/obj/item/gun/energy/plasmastun{ pixel_y = 3 }, /obj/effect/floor_decal/techfloor{ @@ -6590,14 +6590,14 @@ /area/ship/manta/atmos) "Db" = ( /obj/structure/table/standard, -/obj/item/device/radio/headset/syndicate, -/obj/item/device/radio/headset/syndicate, -/obj/item/device/radio/headset/syndicate, -/obj/item/device/radio/headset/syndicate, -/obj/item/device/radio/headset/syndicate/alt, -/obj/item/device/radio/headset/syndicate/alt, -/obj/item/device/radio/headset/syndicate/alt, -/obj/item/device/radio/headset/syndicate/alt, +/obj/item/radio/headset/syndicate, +/obj/item/radio/headset/syndicate, +/obj/item/radio/headset/syndicate, +/obj/item/radio/headset/syndicate, +/obj/item/radio/headset/alt/syndicate, +/obj/item/radio/headset/alt/syndicate, +/obj/item/radio/headset/alt/syndicate, +/obj/item/radio/headset/alt/syndicate, /obj/effect/floor_decal/techfloor{ dir = 10 }, @@ -6629,7 +6629,7 @@ /obj/effect/landmark{ name = "Syndicate-Spawn" }, -/obj/item/weapon/bedsheet/hos, +/obj/item/bedsheet/hos, /turf/simulated/floor/wood, /area/ship/manta/barracks/bed_1) "Df" = ( @@ -6640,11 +6640,11 @@ /area/ship/manta/dock_port) "Dg" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/frags{ +/obj/item/storage/box/frags{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/storage/box/frags{ +/obj/item/storage/box/frags{ pixel_x = 2; pixel_y = 2 }, @@ -6711,7 +6711,7 @@ "Dq" = ( /obj/structure/table/rack, /obj/item/ammo_magazine/ammo_box/b145, -/obj/item/weapon/gun/projectile/heavysniper, +/obj/item/gun/projectile/heavysniper, /obj/effect/floor_decal/techfloor{ dir = 5 }, @@ -6728,10 +6728,10 @@ /obj/effect/floor_decal/techfloor{ dir = 8 }, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, /turf/simulated/floor/tiled/techfloor, /area/ship/manta/armoury_st) "Dw" = ( @@ -6778,14 +6778,14 @@ /area/ship/manta/armoury_st) "Dz" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/stunrevolver, -/obj/item/weapon/gun/energy/stunrevolver, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, +/obj/item/gun/energy/stunrevolver, +/obj/item/gun/energy/stunrevolver, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, /obj/effect/floor_decal/techfloor{ dir = 4 }, @@ -6797,11 +6797,11 @@ /area/ship/manta/armoury_st) "DB" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/syndie_kit/ewar_voice, -/obj/item/weapon/storage/box/syndie_kit/ewar_voice, -/obj/item/weapon/storage/box/syndie_kit/ewar_voice, -/obj/item/weapon/storage/box/syndie_kit/ewar_voice, -/obj/item/weapon/card/emag, +/obj/item/storage/box/syndie_kit/ewar_voice, +/obj/item/storage/box/syndie_kit/ewar_voice, +/obj/item/storage/box/syndie_kit/ewar_voice, +/obj/item/storage/box/syndie_kit/ewar_voice, +/obj/item/card/emag, /obj/effect/floor_decal/techfloor{ dir = 8 }, @@ -6995,35 +6995,35 @@ /area/ship/manta/hallways_aft) "EE" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/backpack/dufflebag/syndie/med{ +/obj/item/storage/backpack/dufflebag/syndie/med{ pixel_x = -4; pixel_y = -6 }, -/obj/item/weapon/storage/backpack/dufflebag/syndie/med{ +/obj/item/storage/backpack/dufflebag/syndie/med{ pixel_x = 4; pixel_y = -6 }, -/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo{ +/obj/item/storage/backpack/dufflebag/syndie/ammo{ pixel_x = 4; pixel_y = -2 }, -/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo{ +/obj/item/storage/backpack/dufflebag/syndie/ammo{ pixel_x = -4; pixel_y = -2 }, -/obj/item/weapon/storage/backpack/dufflebag/syndie{ +/obj/item/storage/backpack/dufflebag/syndie{ pixel_x = 4; pixel_y = 2 }, -/obj/item/weapon/storage/backpack/dufflebag/syndie{ +/obj/item/storage/backpack/dufflebag/syndie{ pixel_x = -4; pixel_y = 2 }, -/obj/item/weapon/storage/backpack/dufflebag/syndie{ +/obj/item/storage/backpack/dufflebag/syndie{ pixel_x = 4; pixel_y = 6 }, -/obj/item/weapon/storage/backpack/dufflebag/syndie{ +/obj/item/storage/backpack/dufflebag/syndie{ pixel_x = -4; pixel_y = 6 }, @@ -7165,7 +7165,7 @@ /area/ship/manta/barracks) "Fx" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/launcher/rocket, +/obj/item/gun/launcher/rocket, /obj/item/ammo_casing/rocket{ pixel_y = -3 }, @@ -7284,7 +7284,7 @@ /area/ship/manta/engine) "Gd" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/glasses/square{ +/obj/item/storage/box/glasses/square{ pixel_x = 1; pixel_y = 4 }, @@ -7300,7 +7300,7 @@ /obj/structure/cable/orange{ icon_state = "1-2" }, -/obj/item/weapon/paper/manta_new_personnel_brief, +/obj/item/paper/manta_new_personnel_brief, /turf/simulated/floor/wood, /area/ship/manta/barracks) "Gk" = ( @@ -7311,11 +7311,11 @@ /area/ship/manta/engineering) "Gl" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /obj/machinery/light/no_nightshift{ @@ -7470,14 +7470,14 @@ /turf/simulated/floor/plating, /area/ship/manta/engine) "Hm" = ( -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, -/obj/item/weapon/folder{ +/obj/item/folder{ pixel_y = 2 }, /obj/structure/table/woodentable, @@ -7542,7 +7542,7 @@ /obj/item/ammo_magazine/s44, /obj/item/ammo_magazine/s44, /obj/item/ammo_magazine/s44, -/obj/item/weapon/gun/projectile/revolver/consul, +/obj/item/gun/projectile/revolver/consul, /obj/effect/floor_decal/techfloor{ dir = 8 }, @@ -7554,25 +7554,25 @@ /area/ship/manta/bridge) "HS" = ( /obj/structure/table/rack, -/obj/item/weapon/pinpointer/nukeop{ +/obj/item/pinpointer/nukeop{ pixel_x = -6; pixel_y = -4 }, -/obj/item/weapon/pinpointer/nukeop{ +/obj/item/pinpointer/nukeop{ pixel_x = 6; pixel_y = -4 }, -/obj/item/weapon/pinpointer/nukeop{ +/obj/item/pinpointer/nukeop{ pixel_x = -6 }, -/obj/item/weapon/pinpointer/nukeop{ +/obj/item/pinpointer/nukeop{ pixel_x = 6 }, -/obj/item/weapon/pinpointer/nukeop{ +/obj/item/pinpointer/nukeop{ pixel_x = -6; pixel_y = 4 }, -/obj/item/weapon/pinpointer/nukeop{ +/obj/item/pinpointer/nukeop{ pixel_x = 6; pixel_y = 4 }, @@ -7664,10 +7664,10 @@ /area/ship/manta/teleporter) "Iq" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/xray{ +/obj/item/gun/energy/xray{ pixel_y = 3 }, -/obj/item/weapon/gun/energy/xray{ +/obj/item/gun/energy/xray{ pixel_y = -3 }, /obj/effect/floor_decal/techfloor{ @@ -7728,10 +7728,10 @@ /area/ship/manta/engine) "IJ" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/gun{ +/obj/item/gun/energy/gun{ pixel_y = 3 }, -/obj/item/weapon/gun/energy/gun{ +/obj/item/gun/energy/gun{ pixel_y = -3 }, /obj/effect/floor_decal/techfloor{ @@ -7778,8 +7778,8 @@ /area/ship/manta/commander) "Jb" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/ionrifle, -/obj/item/weapon/gun/energy/ionrifle/pistol, +/obj/item/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle/pistol, /obj/effect/floor_decal/techfloor{ dir = 4 }, @@ -7789,7 +7789,7 @@ /obj/machinery/vending/cigarette{ name = "Breach Corp cigarette machine"; prices = list(); - products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) + products = list(/obj/item/storage/fancy/cigarettes = 10, /obj/item/storage/box/matches = 10, /obj/item/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) }, /obj/effect/floor_decal/techfloor{ dir = 1 @@ -8233,7 +8233,7 @@ /area/ship/manta/engineering) "Lb" = ( /obj/structure/table/reinforced, -/obj/item/weapon/tray{ +/obj/item/tray{ pixel_y = 5 }, /obj/effect/floor_decal/techfloor{ @@ -8710,10 +8710,10 @@ /obj/structure/table/rack, /obj/item/ammo_magazine/ammo_box/b12g/pellet, /obj/item/ammo_magazine/ammo_box/b12g, -/obj/item/weapon/gun/projectile/shotgun/pump/combat{ +/obj/item/gun/projectile/shotgun/pump/combat{ pixel_y = 4 }, -/obj/item/weapon/gun/projectile/shotgun/pump/combat{ +/obj/item/gun/projectile/shotgun/pump/combat{ pixel_y = -4 }, /obj/effect/floor_decal/techfloor{ @@ -8763,10 +8763,10 @@ /area/ship/manta/barracks) "Nq" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/sniperrifle{ +/obj/item/gun/energy/sniperrifle{ pixel_y = 3 }, -/obj/item/weapon/gun/energy/sniperrifle{ +/obj/item/gun/energy/sniperrifle{ pixel_y = -3 }, /obj/effect/floor_decal/techfloor{ @@ -8807,10 +8807,10 @@ /area/ship/manta/dock_port) "Ny" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/gun{ +/obj/item/gun/energy/gun{ pixel_y = 3 }, -/obj/item/weapon/gun/energy/gun{ +/obj/item/gun/energy/gun{ pixel_y = -3 }, /obj/effect/floor_decal/techfloor{ @@ -8837,8 +8837,8 @@ /area/ship/manta/armoury_st) "NE" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/ionrifle, -/obj/item/weapon/gun/energy/ionrifle/pistol, +/obj/item/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle/pistol, /obj/effect/floor_decal/techfloor{ dir = 6 }, @@ -8944,7 +8944,7 @@ /obj/machinery/shower{ dir = 1 }, -/obj/item/weapon/soap/syndie, +/obj/item/soap/syndie, /obj/structure/curtain/open/shower, /turf/simulated/floor/tiled/freezer, /area/ship/manta/barracks) @@ -8957,7 +8957,7 @@ /area/ship/manta/engine) "On" = ( /obj/structure/table/rack, -/obj/item/weapon/tank/oxygen/red, +/obj/item/tank/oxygen/red, /obj/item/clothing/suit/space/void/merc, /obj/item/clothing/mask/gas/syndicate, /obj/item/clothing/head/helmet/space/void/merc, @@ -8990,18 +8990,18 @@ dir = 8 }, /obj/structure/table/rack, -/obj/item/device/camera_film, -/obj/item/device/camera_film, -/obj/item/device/camera_film, -/obj/item/device/camera_film, -/obj/item/device/camera_film, -/obj/item/device/camera_film, -/obj/item/device/camera, -/obj/item/device/camera, -/obj/item/device/camera, -/obj/item/device/camera, -/obj/item/device/camera, -/obj/item/device/camera, +/obj/item/camera_film, +/obj/item/camera_film, +/obj/item/camera_film, +/obj/item/camera_film, +/obj/item/camera_film, +/obj/item/camera_film, +/obj/item/camera, +/obj/item/camera, +/obj/item/camera, +/obj/item/camera, +/obj/item/camera, +/obj/item/camera, /turf/simulated/floor/tiled/techfloor, /area/ship/manta/armoury_st) "Ov" = ( @@ -9148,7 +9148,7 @@ /area/ship/manta/hallways_star) "Pa" = ( /obj/structure/table/woodentable, -/obj/item/device/aicard, +/obj/item/aicard, /obj/machinery/light_switch{ dir = 1; pixel_y = -23 @@ -9527,10 +9527,10 @@ /obj/item/ammo_magazine/m9mm, /obj/item/ammo_magazine/m9mm, /obj/item/ammo_magazine/m9mm, -/obj/item/weapon/gun/projectile/luger{ +/obj/item/gun/projectile/luger{ pixel_y = 6 }, -/obj/item/weapon/gun/projectile/luger/brown{ +/obj/item/gun/projectile/luger/brown{ pixel_y = -6 }, /obj/effect/floor_decal/techfloor{ @@ -9609,16 +9609,16 @@ /area/ship/manta/holding) "RM" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/lasercannon{ +/obj/item/gun/energy/lasercannon{ pixel_y = 3 }, -/obj/item/weapon/gun/energy/lasercannon{ +/obj/item/gun/energy/lasercannon{ pixel_y = -3 }, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, /obj/effect/floor_decal/techfloor{ dir = 4 }, @@ -9912,7 +9912,7 @@ /obj/effect/landmark{ name = "Syndicate-Spawn" }, -/obj/item/weapon/bedsheet/hos, +/obj/item/bedsheet/hos, /obj/machinery/firealarm/alarms_hidden{ dir = 8; pixel_x = -26 @@ -9924,7 +9924,7 @@ /obj/effect/landmark{ name = "Syndicate-Spawn" }, -/obj/item/weapon/bedsheet/hos, +/obj/item/bedsheet/hos, /obj/machinery/power/apc/hyper{ alarms_hidden = 1; dir = 4; @@ -9938,32 +9938,32 @@ /turf/simulated/floor/wood, /area/ship/manta/barracks/bed_1) "Ta" = ( -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 3 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = -4 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8; pixel_y = 12 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = 12 }, @@ -9975,7 +9975,7 @@ dir = 8; name = "Breach Corp cigarette machine"; prices = list(); - products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) + products = list(/obj/item/storage/fancy/cigarettes = 10, /obj/item/storage/box/matches = 10, /obj/item/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) }, /turf/simulated/floor/wood, /area/ship/manta/barracks) @@ -9996,12 +9996,12 @@ /obj/machinery/recharger/wallcharger{ pixel_y = 20 }, -/obj/item/clothing/gloves/knuckledusters, -/obj/item/clothing/gloves/knuckledusters, -/obj/item/device/flash, -/obj/item/device/flash, -/obj/item/device/laser_pointer/upgraded, -/obj/item/device/laser_pointer/upgraded, +/obj/item/clothing/accessory/knuckledusters, +/obj/item/clothing/accessory/knuckledusters, +/obj/item/flash, +/obj/item/flash, +/obj/item/laser_pointer/upgraded, +/obj/item/laser_pointer/upgraded, /obj/effect/floor_decal/techfloor{ dir = 9 }, @@ -10013,20 +10013,20 @@ /area/ship/manta/holding) "Tk" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/box/sinpockets, +/obj/item/storage/box/sinpockets, /turf/simulated/floor/wood, /area/ship/manta/barracks) "Tl" = ( -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, /obj/structure/table/reinforced, /obj/effect/floor_decal/techfloor{ dir = 4 }, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, /turf/simulated/floor/tiled/techfloor, /area/ship/manta/recreation) "Tn" = ( @@ -10080,14 +10080,14 @@ /turf/simulated/floor/tiled/techfloor, /area/ship/manta/bridge) "Tw" = ( -/obj/item/weapon/handcuffs/legcuffs, -/obj/item/weapon/handcuffs/legcuffs, -/obj/item/weapon/handcuffs/legcuffs, -/obj/item/weapon/handcuffs/legcuffs, -/obj/item/weapon/handcuffs, -/obj/item/weapon/handcuffs, -/obj/item/weapon/handcuffs, -/obj/item/weapon/handcuffs, +/obj/item/handcuffs/legcuffs, +/obj/item/handcuffs/legcuffs, +/obj/item/handcuffs/legcuffs, +/obj/item/handcuffs/legcuffs, +/obj/item/handcuffs, +/obj/item/handcuffs, +/obj/item/handcuffs, +/obj/item/handcuffs, /obj/effect/floor_decal/techfloor{ dir = 1 }, @@ -10112,7 +10112,7 @@ /obj/effect/landmark{ name = "Syndicate-Spawn" }, -/obj/item/weapon/bedsheet/hos, +/obj/item/bedsheet/hos, /obj/machinery/alarm/alarms_hidden{ dir = 8; pixel_x = 26 @@ -10148,25 +10148,25 @@ /area/ship/manta/hallways_port) "TM" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/toolbox/syndicate{ +/obj/item/storage/toolbox/syndicate{ pixel_x = -4; pixel_y = -4 }, -/obj/item/weapon/storage/toolbox/syndicate{ +/obj/item/storage/toolbox/syndicate{ pixel_x = 4; pixel_y = -4 }, -/obj/item/weapon/storage/toolbox/syndicate{ +/obj/item/storage/toolbox/syndicate{ pixel_x = -4 }, -/obj/item/weapon/storage/toolbox/syndicate{ +/obj/item/storage/toolbox/syndicate{ pixel_x = 4 }, -/obj/item/weapon/storage/toolbox/syndicate{ +/obj/item/storage/toolbox/syndicate{ pixel_x = -4; pixel_y = 4 }, -/obj/item/weapon/storage/toolbox/syndicate{ +/obj/item/storage/toolbox/syndicate{ pixel_x = 4; pixel_y = 4 }, @@ -10220,8 +10220,8 @@ /turf/simulated/floor/tiled/techfloor, /area/ship/manta/mech_bay) "TY" = ( -/obj/item/weapon/gun/energy/sizegun, -/obj/item/weapon/gun/energy/sizegun, +/obj/item/gun/energy/sizegun, +/obj/item/gun/energy/sizegun, /obj/effect/floor_decal/rust, /obj/effect/floor_decal/techfloor{ dir = 1 @@ -10264,7 +10264,7 @@ dir = 4; pixel_x = -23 }, -/obj/item/weapon/paper/manta_prisoners, +/obj/item/paper/manta_prisoners, /obj/machinery/recharger/wallcharger{ pixel_y = -27 }, @@ -10276,19 +10276,19 @@ /turf/simulated/floor/tiled/dark, /area/ship/manta/holding) "Uy" = ( -/obj/item/weapon/reagent_containers/syringe/drugs{ +/obj/item/reagent_containers/syringe/drugs{ pixel_x = 3; pixel_y = 4 }, -/obj/item/weapon/reagent_containers/syringe/drugs{ +/obj/item/reagent_containers/syringe/drugs{ pixel_x = 3; pixel_y = 9 }, -/obj/item/weapon/reagent_containers/syringe/drugs{ +/obj/item/reagent_containers/syringe/drugs{ pixel_x = 3; pixel_y = -1 }, -/obj/item/weapon/material/knife/tacknife/combatknife{ +/obj/item/material/knife/tacknife/combatknife{ pixel_x = -7 }, /obj/effect/floor_decal/techfloor{ @@ -10301,9 +10301,9 @@ /obj/structure/closet{ name = "custodial" }, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/mop, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/glass/bucket, +/obj/item/mop, +/obj/item/reagent_containers/spray/cleaner, /obj/effect/floor_decal/techfloor{ dir = 5 }, @@ -10456,10 +10456,10 @@ /obj/effect/floor_decal/techfloor{ dir = 8 }, -/obj/item/weapon/gun/energy/darkmatter{ +/obj/item/gun/energy/darkmatter{ pixel_y = 3 }, -/obj/item/weapon/gun/energy/darkmatter{ +/obj/item/gun/energy/darkmatter{ pixel_y = -3 }, /turf/simulated/floor/tiled/techfloor, @@ -10481,16 +10481,16 @@ /obj/effect/floor_decal/techfloor{ dir = 4 }, -/obj/item/weapon/gun/projectile/automatic/bullpup{ +/obj/item/gun/projectile/automatic/bullpup{ pixel_y = 6 }, -/obj/item/weapon/gun/projectile/automatic/bullpup{ +/obj/item/gun/projectile/automatic/bullpup{ pixel_y = 2 }, -/obj/item/weapon/gun/projectile/automatic/bullpup{ +/obj/item/gun/projectile/automatic/bullpup{ pixel_y = -2 }, -/obj/item/weapon/gun/projectile/automatic/bullpup{ +/obj/item/gun/projectile/automatic/bullpup{ pixel_y = -6 }, /obj/item/ammo_magazine/m762/ext, @@ -10532,20 +10532,20 @@ /area/ship/manta/engineering) "VA" = ( /obj/structure/table/rack, -/obj/item/weapon/tank/emergency/oxygen/double{ +/obj/item/tank/emergency/oxygen/double{ pixel_x = 6 }, -/obj/item/weapon/tank/emergency/oxygen/double{ +/obj/item/tank/emergency/oxygen/double{ pixel_x = 4 }, -/obj/item/weapon/tank/emergency/oxygen/double{ +/obj/item/tank/emergency/oxygen/double{ pixel_x = 2 }, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double{ +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double{ pixel_x = -2 }, -/obj/item/weapon/tank/emergency/oxygen/double{ +/obj/item/tank/emergency/oxygen/double{ pixel_x = -4 }, /obj/effect/floor_decal/techfloor{ @@ -10570,40 +10570,40 @@ /turf/simulated/floor/tiled/techmaint, /area/ship/manta/bridge) "VF" = ( -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy{ +/obj/item/shield/energy, +/obj/item/shield/energy{ pixel_x = -8; pixel_y = 8 }, -/obj/item/weapon/shield/energy{ +/obj/item/shield/energy{ pixel_x = -8 }, -/obj/item/weapon/shield/energy{ +/obj/item/shield/energy{ pixel_y = 8 }, -/obj/item/weapon/shield/energy{ +/obj/item/shield/energy{ pixel_x = 8 }, -/obj/item/weapon/shield/energy{ +/obj/item/shield/energy{ pixel_x = 8; pixel_y = 8 }, -/obj/item/weapon/melee/energy/sword/red{ +/obj/item/melee/energy/sword/red{ pixel_x = 18 }, -/obj/item/weapon/melee/energy/sword/red{ +/obj/item/melee/energy/sword/red{ pixel_x = 15 }, -/obj/item/weapon/melee/energy/sword/red{ +/obj/item/melee/energy/sword/red{ pixel_x = 12 }, -/obj/item/weapon/melee/energy/sword/red{ +/obj/item/melee/energy/sword/red{ pixel_x = 9 }, -/obj/item/weapon/melee/energy/sword/red{ +/obj/item/melee/energy/sword/red{ pixel_x = 6 }, -/obj/item/weapon/melee/energy/sword/red{ +/obj/item/melee/energy/sword/red{ pixel_x = 3 }, /obj/structure/table/steel_reinforced, @@ -10622,14 +10622,14 @@ /area/ship/manta/atmos) "VL" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/adv, -/obj/item/weapon/storage/firstaid/adv, -/obj/item/weapon/storage/firstaid/clotting, -/obj/item/weapon/storage/firstaid/o2, -/obj/item/weapon/storage/firstaid/o2, -/obj/item/weapon/storage/firstaid/fire, +/obj/item/storage/firstaid/toxin, +/obj/item/storage/firstaid/toxin, +/obj/item/storage/firstaid/adv, +/obj/item/storage/firstaid/adv, +/obj/item/storage/firstaid/clotting, +/obj/item/storage/firstaid/o2, +/obj/item/storage/firstaid/o2, +/obj/item/storage/firstaid/fire, /obj/effect/floor_decal/borderfloorblack/corner2{ dir = 5 }, @@ -10642,7 +10642,7 @@ /obj/structure/cable/orange{ icon_state = "4-8" }, -/obj/item/weapon/storage/firstaid/fire, +/obj/item/storage/firstaid/fire, /turf/simulated/floor/tiled/techfloor, /area/ship/manta/armoury_st) "VM" = ( @@ -10954,11 +10954,11 @@ /obj/machinery/light/no_nightshift{ dir = 4 }, -/obj/item/weapon/storage/box/flare{ +/obj/item/storage/box/flare{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/storage/box/flare{ +/obj/item/storage/box/flare{ pixel_x = 2; pixel_y = 2 }, @@ -11490,14 +11490,14 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, -/obj/item/weapon/card/id/syndicate, -/obj/item/weapon/card/id/syndicate, -/obj/item/weapon/card/id/syndicate, -/obj/item/weapon/card/id/syndicate, -/obj/item/weapon/card/id/syndicate, -/obj/item/weapon/card/id/syndicate, -/obj/item/weapon/card/id/syndicate, -/obj/item/weapon/card/id/syndicate, +/obj/item/card/id/syndicate, +/obj/item/card/id/syndicate, +/obj/item/card/id/syndicate, +/obj/item/card/id/syndicate, +/obj/item/card/id/syndicate, +/obj/item/card/id/syndicate, +/obj/item/card/id/syndicate, +/obj/item/card/id/syndicate, /turf/simulated/floor/wood, /area/ship/manta/barracks) "ZW" = ( diff --git a/maps/submaps/admin_use_vr/lucky_7.dmm b/maps/submaps/admin_use_vr/lucky_7.dmm index fd147816e44..cd398712583 100644 --- a/maps/submaps/admin_use_vr/lucky_7.dmm +++ b/maps/submaps/admin_use_vr/lucky_7.dmm @@ -116,7 +116,7 @@ /turf/simulated/floor/carpet/retro, /area/submap/casino_event) "ax" = ( -/obj/item/weapon/stool/baystool/padded{ +/obj/item/stool/baystool/padded{ dir = 1 }, /turf/simulated/floor/carpet/retro, @@ -174,7 +174,7 @@ /area/submap/casino_event) "aH" = ( /obj/structure/table/gamblingtable, -/obj/item/weapon/storage/pill_bottle/dice_nerd, +/obj/item/storage/pill_bottle/dice_nerd, /obj/machinery/light, /turf/simulated/floor/carpet/retro, /area/submap/casino_event) @@ -353,14 +353,14 @@ name = "Game Cabinet"; pixel_x = -28 }, -/obj/item/weapon/book/manual/wizzoffguide, -/obj/item/weapon/deck/wizoff, -/obj/item/weapon/storage/pill_bottle/dice_nerd, -/obj/item/weapon/storage/pill_bottle/dice, -/obj/item/weapon/deck/cards/casino, -/obj/item/weapon/deck/cah, -/obj/item/weapon/deck/cah/black, -/obj/item/weapon/storage/dicecup, +/obj/item/book/manual/wizzoffguide, +/obj/item/deck/wizoff, +/obj/item/storage/pill_bottle/dice_nerd, +/obj/item/storage/pill_bottle/dice, +/obj/item/deck/cards/casino, +/obj/item/deck/cah, +/obj/item/deck/cah/black, +/obj/item/storage/dicecup, /turf/simulated/floor/carpet/purple, /area/submap/casino_event) "bk" = ( @@ -382,14 +382,14 @@ name = "Game Cabinet"; pixel_x = -28 }, -/obj/item/weapon/book/manual/wizzoffguide, -/obj/item/weapon/deck/wizoff, -/obj/item/weapon/storage/pill_bottle/dice_nerd, -/obj/item/weapon/storage/pill_bottle/dice, -/obj/item/weapon/deck/cards/casino, -/obj/item/weapon/deck/cah, -/obj/item/weapon/deck/cah/black, -/obj/item/weapon/storage/dicecup, +/obj/item/book/manual/wizzoffguide, +/obj/item/deck/wizoff, +/obj/item/storage/pill_bottle/dice_nerd, +/obj/item/storage/pill_bottle/dice, +/obj/item/deck/cards/casino, +/obj/item/deck/cah, +/obj/item/deck/cah/black, +/obj/item/storage/dicecup, /turf/simulated/floor/carpet/green, /area/submap/casino_event) "bn" = ( @@ -411,14 +411,14 @@ name = "Game Cabinet"; pixel_x = -28 }, -/obj/item/weapon/book/manual/wizzoffguide, -/obj/item/weapon/deck/wizoff, -/obj/item/weapon/storage/pill_bottle/dice_nerd, -/obj/item/weapon/storage/pill_bottle/dice, -/obj/item/weapon/deck/cards/casino, -/obj/item/weapon/deck/cah, -/obj/item/weapon/deck/cah/black, -/obj/item/weapon/storage/dicecup, +/obj/item/book/manual/wizzoffguide, +/obj/item/deck/wizoff, +/obj/item/storage/pill_bottle/dice_nerd, +/obj/item/storage/pill_bottle/dice, +/obj/item/deck/cards/casino, +/obj/item/deck/cah, +/obj/item/deck/cah/black, +/obj/item/storage/dicecup, /turf/simulated/floor/carpet/blue2, /area/submap/casino_event) "bq" = ( @@ -454,7 +454,7 @@ /turf/simulated/floor/plating, /area/submap/casino_event) "bv" = ( -/obj/item/weapon/stool/baystool/padded{ +/obj/item/stool/baystool/padded{ dir = 1 }, /turf/simulated/floor/carpet/brown, @@ -572,8 +572,8 @@ /area/submap/casino_event) "bS" = ( /obj/structure/table/woodentable, -/obj/item/weapon/book/manual/casino, -/obj/item/weapon/pen, +/obj/item/book/manual/casino, +/obj/item/pen, /turf/simulated/floor/tiled/dark, /area/submap/casino_event) "bT" = ( @@ -600,7 +600,7 @@ "bW" = ( /obj/structure/table/woodentable, /obj/item/trash/asian_bowl, -/obj/item/weapon/material/kitchen/utensil/fork/plastic, +/obj/item/material/kitchen/utensil/fork/plastic, /obj/machinery/light{ dir = 8 }, @@ -834,7 +834,7 @@ /obj/structure/table/steel, /obj/effect/floor_decal/rust, /obj/effect/decal/cleanable/blood/oil, -/obj/item/device/flashlight, +/obj/item/flashlight, /turf/simulated/floor/plating, /area/submap/casino_event) "cF" = ( @@ -876,7 +876,7 @@ dir = 1 }, /obj/structure/bed/padded, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /turf/simulated/floor/tiled/dark, /area/submap/casino_event) "cJ" = ( @@ -917,12 +917,12 @@ /area/submap/casino_event) "cN" = ( /obj/structure/table/rack/shelf, -/obj/item/device/slow_sizegun, -/obj/item/device/slow_sizegun, -/obj/item/device/slow_sizegun, -/obj/item/weapon/gun/energy/sizegun, -/obj/item/weapon/gun/energy/sizegun, -/obj/item/weapon/gun/energy/sizegun, +/obj/item/slow_sizegun, +/obj/item/slow_sizegun, +/obj/item/slow_sizegun, +/obj/item/gun/energy/sizegun, +/obj/item/gun/energy/sizegun, +/obj/item/gun/energy/sizegun, /turf/simulated/floor/tiled/dark, /area/submap/casino_event) "cO" = ( @@ -941,7 +941,7 @@ "cQ" = ( /obj/effect/floor_decal/spline/plain, /obj/structure/table/woodentable, -/obj/item/weapon/material/ashtray/glass, +/obj/item/material/ashtray/glass, /turf/simulated/floor/carpet/turcarpet, /area/submap/casino_event) "cR" = ( @@ -971,34 +971,34 @@ /area/submap/casino_event) "cV" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/storage/box/roulette_balls_cheat, -/obj/item/weapon/storage/box/roulette_balls_cheat, +/obj/item/storage/box/roulette_balls_cheat, +/obj/item/storage/box/roulette_balls_cheat, /turf/simulated/floor/tiled/dark, /area/submap/casino_event) "cW" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/deck/cards/casino, -/obj/item/weapon/deck/cards/casino, -/obj/item/weapon/deck/cards/casino, -/obj/item/weapon/deck/cards/casino, +/obj/item/deck/cards/casino, +/obj/item/deck/cards/casino, +/obj/item/deck/cards/casino, +/obj/item/deck/cards/casino, /turf/simulated/floor/tiled/dark, /area/submap/casino_event) "cX" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/deck/cah, -/obj/item/weapon/deck/cah, -/obj/item/weapon/deck/cah/black, -/obj/item/weapon/deck/schnapsen, -/obj/item/weapon/deck/wizoff, -/obj/item/weapon/deck/tarot, -/obj/item/weapon/deck/egy, +/obj/item/deck/cah, +/obj/item/deck/cah, +/obj/item/deck/cah/black, +/obj/item/deck/schnapsen, +/obj/item/deck/wizoff, +/obj/item/deck/tarot, +/obj/item/deck/egy, /turf/simulated/floor/tiled/dark, /area/submap/casino_event) "cY" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/gun/energy/mouseray/metamorphosis/advanced, -/obj/item/weapon/gun/energy/mouseray/metamorphosis/advanced, -/obj/item/weapon/gun/energy/mouseray/metamorphosis/advanced, +/obj/item/gun/energy/mouseray/metamorphosis/advanced, +/obj/item/gun/energy/mouseray/metamorphosis/advanced, +/obj/item/gun/energy/mouseray/metamorphosis/advanced, /turf/simulated/floor/tiled/dark, /area/submap/casino_event) "cZ" = ( @@ -1016,29 +1016,29 @@ /area/submap/casino_event) "db" = ( /obj/structure/table/steel, -/obj/item/weapon/spacecasinocash/c1000{ +/obj/item/spacecasinocash/c1000{ pixel_x = -3; pixel_y = -3 }, -/obj/item/weapon/spacecasinocash/c1000, -/obj/item/weapon/spacecasinocash/c1000{ +/obj/item/spacecasinocash/c1000, +/obj/item/spacecasinocash/c1000{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/spacecasinocash/c1000, -/obj/item/weapon/spacecasinocash/c1000, -/obj/item/weapon/spacecasinocash/c1000, -/obj/item/weapon/spacecasinocash/c1000, -/obj/item/weapon/spacecasinocash/c1000, -/obj/item/weapon/spacecasinocash/c1000, -/obj/item/weapon/spacecasinocash/c1000, -/obj/item/weapon/spacecasinocash/c1000, -/obj/item/weapon/spacecasinocash/c1000, -/obj/item/weapon/spacecasinocash/c1000, -/obj/item/weapon/spacecasinocash/c1000, -/obj/item/weapon/spacecasinocash/c1000, -/obj/item/weapon/spacecasinocash/c1000, -/obj/item/weapon/spacecasinocash/c1000, +/obj/item/spacecasinocash/c1000, +/obj/item/spacecasinocash/c1000, +/obj/item/spacecasinocash/c1000, +/obj/item/spacecasinocash/c1000, +/obj/item/spacecasinocash/c1000, +/obj/item/spacecasinocash/c1000, +/obj/item/spacecasinocash/c1000, +/obj/item/spacecasinocash/c1000, +/obj/item/spacecasinocash/c1000, +/obj/item/spacecasinocash/c1000, +/obj/item/spacecasinocash/c1000, +/obj/item/spacecasinocash/c1000, +/obj/item/spacecasinocash/c1000, +/obj/item/spacecasinocash/c1000, /turf/simulated/floor/tiled/techfloor, /area/submap/casino_event) "dc" = ( @@ -1049,15 +1049,15 @@ /area/submap/casino_event) "dd" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/spacecash/c1000{ +/obj/item/spacecash/c1000{ pixel_x = 6; pixel_y = 6 }, -/obj/item/weapon/spacecash/c1000{ +/obj/item/spacecash/c1000{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/spacecash/c1000, +/obj/item/spacecash/c1000, /turf/simulated/floor/tiled/techfloor, /area/submap/casino_event) "de" = ( @@ -1066,7 +1066,7 @@ /obj/random/junk, /obj/random/maintenance, /obj/random/maintenance/engineering, -/obj/item/device/flashlight/color, +/obj/item/flashlight/color, /obj/structure/railing{ dir = 4 }, @@ -1074,19 +1074,19 @@ /area/submap/casino_event) "df" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/spacecasinocash/c1000, -/obj/item/weapon/spacecasinocash/c1000, -/obj/item/weapon/spacecasinocash/c1000, -/obj/item/weapon/spacecasinocash/c1000, -/obj/item/weapon/spacecasinocash/c1000, +/obj/item/spacecasinocash/c1000, +/obj/item/spacecasinocash/c1000, +/obj/item/spacecasinocash/c1000, +/obj/item/spacecasinocash/c1000, +/obj/item/spacecasinocash/c1000, /turf/simulated/floor/tiled/dark, /area/submap/casino_event) "dg" = ( /obj/structure/table/rack/shelf, -/obj/item/device/bodysnatcher, -/obj/item/device/bodysnatcher, -/obj/item/device/sleevemate, -/obj/item/device/sleevemate, +/obj/item/bodysnatcher, +/obj/item/bodysnatcher, +/obj/item/sleevemate, +/obj/item/sleevemate, /turf/simulated/floor/tiled/dark, /area/submap/casino_event) "dh" = ( @@ -1121,25 +1121,25 @@ /area/submap/casino_event) "dm" = ( /obj/structure/casino_table/craps, -/obj/item/weapon/dice{ +/obj/item/dice{ pixel_x = 4; pixel_y = 6 }, /obj/machinery/light/floortube{ dir = 8 }, -/obj/item/weapon/dice{ +/obj/item/dice{ pixel_x = 4; pixel_y = 6 }, -/obj/item/weapon/storage/dicecup, +/obj/item/storage/dicecup, /turf/simulated/floor/carpet/brown, /area/submap/casino_event) "dn" = ( /obj/structure/casino_table/craps{ dir = 1 }, -/obj/item/weapon/dice{ +/obj/item/dice{ pixel_x = 4; pixel_y = 6 }, @@ -1330,16 +1330,16 @@ /area/submap/casino_event) "dK" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/storage/box/roulette_balls_fancy, -/obj/item/weapon/storage/box/roulette_balls_fancy, -/obj/item/weapon/storage/box/roulette_balls_fancy, +/obj/item/storage/box/roulette_balls_fancy, +/obj/item/storage/box/roulette_balls_fancy, +/obj/item/storage/box/roulette_balls_fancy, /turf/simulated/floor/tiled/dark, /area/submap/casino_event) "dL" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/storage/pill_bottle/dice, -/obj/item/weapon/storage/pill_bottle/dice, -/obj/item/weapon/storage/pill_bottle/dice, +/obj/item/storage/pill_bottle/dice, +/obj/item/storage/pill_bottle/dice, +/obj/item/storage/pill_bottle/dice, /turf/simulated/floor/tiled/dark, /area/submap/casino_event) "dM" = ( @@ -1349,7 +1349,7 @@ /area/submap/casino_event) "dN" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/kitchen/utensil/fork/plastic, +/obj/item/material/kitchen/utensil/fork/plastic, /turf/simulated/floor/carpet/brown, /area/submap/casino_event) "dO" = ( @@ -1365,7 +1365,7 @@ /turf/simulated/floor/carpet/brown, /area/submap/casino_event) "dQ" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /turf/simulated/floor/carpet/brown, @@ -1403,7 +1403,7 @@ /area/submap/casino_event) "dY" = ( /obj/structure/casino_table/craps, -/obj/item/weapon/dice{ +/obj/item/dice{ pixel_x = 4; pixel_y = 6 }, @@ -1413,11 +1413,11 @@ /obj/structure/casino_table/craps{ dir = 1 }, -/obj/item/weapon/dice{ +/obj/item/dice{ pixel_x = 4; pixel_y = 6 }, -/obj/item/weapon/dice{ +/obj/item/dice{ pixel_x = 4; pixel_y = 6 }, @@ -1425,7 +1425,7 @@ /area/submap/casino_event) "ea" = ( /obj/structure/casino_table/craps, -/obj/item/weapon/dice{ +/obj/item/dice{ pixel_x = 4; pixel_y = 6 }, @@ -1435,11 +1435,11 @@ /obj/structure/casino_table/craps{ dir = 1 }, -/obj/item/weapon/dice{ +/obj/item/dice{ pixel_x = 4; pixel_y = 6 }, -/obj/item/weapon/dice{ +/obj/item/dice{ pixel_x = 4; pixel_y = 6 }, @@ -1451,7 +1451,7 @@ pixel_y = 8 }, /obj/random/cash/huge, -/obj/item/weapon/bikehorn{ +/obj/item/bikehorn{ pixel_x = -7; pixel_y = 7 }, @@ -1459,9 +1459,9 @@ /area/submap/casino_event) "ed" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/storage/pill_bottle/dice_nerd, -/obj/item/weapon/storage/pill_bottle/dice_nerd, -/obj/item/weapon/storage/pill_bottle/dice_nerd, +/obj/item/storage/pill_bottle/dice_nerd, +/obj/item/storage/pill_bottle/dice_nerd, +/obj/item/storage/pill_bottle/dice_nerd, /turf/simulated/floor/tiled/dark, /area/submap/casino_event) "ee" = ( @@ -1472,7 +1472,7 @@ /turf/simulated/floor/tiled/dark, /area/submap/casino_event) "ef" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, /turf/simulated/floor/carpet/brown, @@ -1481,7 +1481,7 @@ /obj/structure/casino_table/blackjack_m{ dir = 4 }, -/obj/item/weapon/deck/cards/casino, +/obj/item/deck/cards/casino, /obj/machinery/light/floortube{ dir = 8 }, @@ -1548,24 +1548,24 @@ /area/submap/casino_event) "en" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/storage/box/roulette_balls_normal, -/obj/item/weapon/storage/box/roulette_balls_normal, +/obj/item/storage/box/roulette_balls_normal, +/obj/item/storage/box/roulette_balls_normal, /turf/simulated/floor/tiled/dark, /area/submap/casino_event) "eo" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/storage/dicecup, -/obj/item/weapon/storage/dicecup, -/obj/item/weapon/storage/dicecup, +/obj/item/storage/dicecup, +/obj/item/storage/dicecup, +/obj/item/storage/dicecup, /turf/simulated/floor/tiled/dark, /area/submap/casino_event) "ep" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/spacecash/c1000, -/obj/item/weapon/spacecash/c1000, -/obj/item/weapon/spacecash/c1000, -/obj/item/weapon/spacecash/c1000, -/obj/item/weapon/spacecash/c1000, +/obj/item/spacecash/c1000, +/obj/item/spacecash/c1000, +/obj/item/spacecash/c1000, +/obj/item/spacecash/c1000, +/obj/item/spacecash/c1000, /turf/simulated/floor/tiled/dark, /area/submap/casino_event) "eq" = ( @@ -1585,17 +1585,17 @@ name = "Game Cabinet"; pixel_x = -28 }, -/obj/item/weapon/storage/box/roulette_balls_normal, -/obj/item/weapon/storage/box/roulette_balls_fancy, -/obj/item/weapon/storage/box/roulette_balls_cheat, +/obj/item/storage/box/roulette_balls_normal, +/obj/item/storage/box/roulette_balls_fancy, +/obj/item/storage/box/roulette_balls_cheat, /turf/simulated/floor/carpet/green, /area/submap/casino_event) "et" = ( /obj/structure/casino_table/craps{ dir = 1 }, -/obj/item/weapon/dice, -/obj/item/weapon/dice{ +/obj/item/dice, +/obj/item/dice{ pixel_x = 4; pixel_y = 6 }, @@ -1747,12 +1747,12 @@ /area/submap/casino_event) "eK" = ( /obj/structure/table/reinforced, -/obj/item/device/radio/headset/casino, -/obj/item/device/radio/headset/casino, -/obj/item/device/radio/headset/casino, -/obj/item/device/radio/headset/casino, -/obj/item/device/radio/headset/casino/bowman, -/obj/item/device/radio/headset/casino/bowman, +/obj/item/radio/headset/casino, +/obj/item/radio/headset/casino, +/obj/item/radio/headset/casino, +/obj/item/radio/headset/casino, +/obj/item/radio/headset/casino/bowman, +/obj/item/radio/headset/casino/bowman, /turf/simulated/floor/tiled, /area/submap/casino_event) "eL" = ( @@ -1760,11 +1760,11 @@ /obj/machinery/vending/wallmed1/public{ pixel_y = -32 }, -/obj/item/weapon/backup_implanter, -/obj/item/weapon/backup_implanter, -/obj/item/weapon/backup_implanter, -/obj/item/weapon/backup_implanter, -/obj/item/weapon/backup_implanter, +/obj/item/backup_implanter, +/obj/item/backup_implanter, +/obj/item/backup_implanter, +/obj/item/backup_implanter, +/obj/item/backup_implanter, /turf/simulated/floor/tiled/white, /area/submap/casino_event) "eM" = ( @@ -1783,11 +1783,11 @@ /obj/structure/casino_table/craps{ dir = 1 }, -/obj/item/weapon/dice{ +/obj/item/dice{ pixel_x = 4; pixel_y = 6 }, -/obj/item/weapon/dice{ +/obj/item/dice{ pixel_x = 4; pixel_y = 6 }, @@ -1825,9 +1825,9 @@ pixel_y = 28 }, /obj/structure/table/rack, -/obj/item/weapon/spacecasinocash/c500, -/obj/item/weapon/spacecasinocash/c500, -/obj/item/weapon/spacecasinocash/c500, +/obj/item/spacecasinocash/c500, +/obj/item/spacecasinocash/c500, +/obj/item/spacecasinocash/c500, /turf/simulated/floor/tiled, /area/submap/casino_event) "eT" = ( @@ -1869,8 +1869,8 @@ /area/submap/casino_event) "eW" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/device/radio, +/obj/item/storage/firstaid/regular, +/obj/item/radio, /turf/simulated/floor/tiled, /area/submap/casino_event) "eX" = ( @@ -1978,11 +1978,11 @@ dir = 4 }, /obj/structure/table/reinforced, -/obj/item/weapon/handcuffs{ +/obj/item/handcuffs{ pixel_y = -5 }, -/obj/item/weapon/handcuffs, -/obj/item/weapon/handcuffs{ +/obj/item/handcuffs, +/obj/item/handcuffs{ pixel_y = 5 }, /turf/simulated/floor/tiled, @@ -1994,7 +1994,7 @@ /obj/machinery/light/floortube{ dir = 8 }, -/obj/item/weapon/deck/cards/casino, +/obj/item/deck/cards/casino, /turf/simulated/floor/carpet/brown, /area/submap/casino_event) "fk" = ( @@ -2025,9 +2025,9 @@ name = "Game Cabinet"; pixel_x = -28 }, -/obj/item/weapon/storage/box/roulette_balls_normal, -/obj/item/weapon/storage/box/roulette_balls_fancy, -/obj/item/weapon/storage/box/roulette_balls_cheat, +/obj/item/storage/box/roulette_balls_normal, +/obj/item/storage/box/roulette_balls_fancy, +/obj/item/storage/box/roulette_balls_cheat, /turf/simulated/floor/carpet/purple, /area/submap/casino_event) "fo" = ( @@ -2058,9 +2058,9 @@ name = "Game Cabinet"; pixel_x = -28 }, -/obj/item/weapon/storage/box/roulette_balls_normal, -/obj/item/weapon/storage/box/roulette_balls_fancy, -/obj/item/weapon/storage/box/roulette_balls_cheat, +/obj/item/storage/box/roulette_balls_normal, +/obj/item/storage/box/roulette_balls_fancy, +/obj/item/storage/box/roulette_balls_cheat, /turf/simulated/floor/carpet/blue2, /area/submap/casino_event) "fs" = ( @@ -2091,18 +2091,18 @@ name = "Game Cabinet"; pixel_x = -28 }, -/obj/item/weapon/storage/pill_bottle/dice, -/obj/item/weapon/storage/pill_bottle/dice_nerd, -/obj/item/weapon/storage/dicecup, +/obj/item/storage/pill_bottle/dice, +/obj/item/storage/pill_bottle/dice_nerd, +/obj/item/storage/dicecup, /turf/simulated/floor/carpet/sblucarpet, /area/submap/casino_event) "fw" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/reddouble, +/obj/item/bedsheet/reddouble, /turf/simulated/floor/wood, /area/submap/casino_event) "fx" = ( -/obj/item/weapon/stool/baystool/padded, +/obj/item/stool/baystool/padded, /turf/simulated/floor/carpet/blue2, /area/submap/casino_event) "fy" = ( @@ -2129,8 +2129,8 @@ /area/submap/casino_event) "fA" = ( /obj/structure/table/reinforced, -/obj/item/weapon/handcuffs, -/obj/item/weapon/handcuffs, +/obj/item/handcuffs, +/obj/item/handcuffs, /obj/item/ammo_casing/spent, /obj/effect/floor_decal/borderfloor{ dir = 6 @@ -2158,12 +2158,12 @@ /turf/simulated/floor/tiled, /area/submap/casino_event) "fC" = ( -/obj/item/weapon/gun/projectile/shotgun/pump{ +/obj/item/gun/projectile/shotgun/pump{ ammo_type = /obj/item/ammo_casing/a12g/pellet; pixel_x = 1; pixel_y = 4 }, -/obj/item/weapon/gun/projectile/shotgun/pump{ +/obj/item/gun/projectile/shotgun/pump{ ammo_type = /obj/item/ammo_casing/a12g/pellet; pixel_x = 2; pixel_y = -6 @@ -2219,15 +2219,15 @@ /area/submap/casino_event) "fG" = ( /obj/structure/table/rack/shelf, -/obj/item/device/radio/headset/casino, -/obj/item/device/radio/headset/casino, -/obj/item/device/radio/headset/casino, -/obj/item/device/radio/headset/casino, -/obj/item/device/radio/headset/casino, -/obj/item/device/radio/headset/casino, -/obj/item/device/radio/headset/casino/bowman, -/obj/item/device/radio/headset/casino/bowman, -/obj/item/device/radio/headset/casino/bowman, +/obj/item/radio/headset/casino, +/obj/item/radio/headset/casino, +/obj/item/radio/headset/casino, +/obj/item/radio/headset/casino, +/obj/item/radio/headset/casino, +/obj/item/radio/headset/casino, +/obj/item/radio/headset/casino/bowman, +/obj/item/radio/headset/casino/bowman, +/obj/item/radio/headset/casino/bowman, /turf/simulated/floor/tiled/dark, /area/submap/casino_event) "fH" = ( @@ -2246,7 +2246,7 @@ /turf/simulated/floor/carpet/brown, /area/submap/casino_event) "fK" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/carpet/bcarpet, /area/submap/casino_event) "fL" = ( @@ -2254,7 +2254,7 @@ /turf/simulated/floor/carpet/bcarpet, /area/submap/casino_event) "fM" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/carpet/gaycarpet, /area/submap/casino_event) "fN" = ( @@ -2262,7 +2262,7 @@ /turf/simulated/floor/carpet/gaycarpet, /area/submap/casino_event) "fO" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/carpet/turcarpet, /area/submap/casino_event) "fP" = ( @@ -2284,7 +2284,7 @@ /obj/machinery/door/window/brigdoor/eastleft{ dir = 2 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/machinery/door/blast/regular{ density = 0; dir = 4; @@ -2311,7 +2311,7 @@ "fU" = ( /obj/structure/table/woodentable, /obj/item/trash/plate, -/obj/item/weapon/material/kitchen/utensil/fork/plastic, +/obj/item/material/kitchen/utensil/fork/plastic, /turf/simulated/floor/carpet/brown, /area/submap/casino_event) "fV" = ( @@ -2321,7 +2321,7 @@ /obj/machinery/light/floortube{ dir = 4 }, -/obj/item/weapon/deck/cards/casino, +/obj/item/deck/cards/casino, /turf/simulated/floor/carpet/brown, /area/submap/casino_event) "fW" = ( @@ -2337,7 +2337,7 @@ /turf/simulated/floor/carpet/bcarpet, /area/submap/casino_event) "fY" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, /turf/simulated/floor/carpet/blue2, @@ -2399,7 +2399,7 @@ /obj/machinery/light/floortube{ dir = 1 }, -/obj/item/weapon/deck/cards/casino, +/obj/item/deck/cards/casino, /turf/simulated/floor/carpet/blue2, /area/submap/casino_event) "gj" = ( @@ -2511,11 +2511,11 @@ /area/submap/casino_event) "gv" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/fancy/cigar/havana{ +/obj/item/storage/fancy/cigar/havana{ pixel_x = -2; pixel_y = 2 }, -/obj/item/weapon/storage/fancy/cigar{ +/obj/item/storage/fancy/cigar{ pixel_x = 2; pixel_y = 3 }, @@ -2539,19 +2539,19 @@ /turf/simulated/floor/carpet/brown, /area/submap/casino_event) "gy" = ( -/obj/item/weapon/stool/baystool/padded{ +/obj/item/stool/baystool/padded{ dir = 1 }, /turf/simulated/floor/carpet/bcarpet, /area/submap/casino_event) "gz" = ( -/obj/item/weapon/stool/baystool/padded{ +/obj/item/stool/baystool/padded{ dir = 1 }, /turf/simulated/floor/carpet/gaycarpet, /area/submap/casino_event) "gA" = ( -/obj/item/weapon/stool/baystool/padded{ +/obj/item/stool/baystool/padded{ dir = 1 }, /turf/simulated/floor/carpet/turcarpet, @@ -2563,7 +2563,7 @@ /turf/simulated/floor/wood, /area/submap/casino_event) "gC" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/carpet/brown, /area/submap/casino_event) "gD" = ( @@ -2604,7 +2604,7 @@ /obj/machinery/light/floortube{ dir = 1 }, -/obj/item/weapon/deck/cards/casino, +/obj/item/deck/cards/casino, /turf/simulated/floor/carpet/brown, /area/submap/casino_event) "gK" = ( @@ -2616,7 +2616,7 @@ /turf/simulated/floor/wood, /area/submap/casino_event) "gM" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /turf/simulated/floor/carpet/brown, @@ -2634,7 +2634,7 @@ /area/submap/casino_event) "gP" = ( /obj/structure/table/woodentable, -/obj/item/weapon/flame/candle, +/obj/item/flame/candle, /turf/simulated/floor/wood, /area/submap/casino_event) "gQ" = ( @@ -2643,7 +2643,7 @@ /area/submap/casino_event) "gR" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/ashtray/glass, +/obj/item/material/ashtray/glass, /turf/simulated/floor/wood, /area/submap/casino_event) "gS" = ( @@ -2729,8 +2729,8 @@ /area/submap/casino_event) "hd" = ( /obj/structure/table/standard, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, /turf/simulated/floor/tiled, /area/submap/casino_event) "he" = ( @@ -2912,7 +2912,7 @@ /area/submap/casino_event) "hx" = ( /obj/structure/closet/secure_closet/personal/cabinet, -/obj/item/weapon/towel/random, +/obj/item/towel/random, /turf/simulated/floor/wood, /area/submap/casino_event) "hy" = ( @@ -2984,7 +2984,7 @@ /area/submap/casino_event) "hG" = ( /obj/structure/closet/secure_closet/personal/cabinet, -/obj/item/weapon/storage/pill_bottle/happy, +/obj/item/storage/pill_bottle/happy, /obj/item/clothing/under/bathrobe, /obj/item/clothing/under/bathrobe, /turf/simulated/floor/wood, @@ -3017,7 +3017,7 @@ /turf/simulated/floor/wood, /area/submap/casino_event) "hM" = ( -/obj/item/weapon/flame/candle/candelabra/everburn, +/obj/item/flame/candle/candelabra/everburn, /obj/structure/table/fancyblack, /turf/simulated/floor/wood, /area/submap/casino_event) @@ -3028,7 +3028,7 @@ /area/submap/casino_event) "hO" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/captaindouble, +/obj/item/bedsheet/captaindouble, /obj/structure/curtain/open/bed, /turf/simulated/floor/carpet/purcarpet, /area/submap/casino_event) @@ -3040,27 +3040,27 @@ /area/submap/casino_event) "hQ" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/yellowdouble, +/obj/item/bedsheet/yellowdouble, /turf/simulated/floor/wood, /area/submap/casino_event) "hR" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/purpledouble, +/obj/item/bedsheet/purpledouble, /turf/simulated/floor/wood, /area/submap/casino_event) "hS" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/orangedouble, +/obj/item/bedsheet/orangedouble, /turf/simulated/floor/wood, /area/submap/casino_event) "hT" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/greendouble, +/obj/item/bedsheet/greendouble, /turf/simulated/floor/wood, /area/submap/casino_event) "hU" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/bluedouble, +/obj/item/bedsheet/bluedouble, /turf/simulated/floor/wood, /area/submap/casino_event) "hV" = ( @@ -3077,10 +3077,10 @@ /area/submap/casino_event) "hX" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/deck/cards, -/obj/item/weapon/deck/cards, -/obj/item/weapon/deck/cards, -/obj/item/weapon/deck/cards, +/obj/item/deck/cards, +/obj/item/deck/cards, +/obj/item/deck/cards, +/obj/item/deck/cards, /turf/simulated/floor/tiled/dark, /area/submap/casino_event) "hY" = ( @@ -3127,7 +3127,7 @@ /turf/simulated/floor/water/pool, /area/submap/casino_event) "if" = ( -/obj/item/weapon/bikehorn/rubberducky, +/obj/item/bikehorn/rubberducky, /turf/simulated/floor/water/pool, /area/submap/casino_event) "ig" = ( @@ -3160,7 +3160,7 @@ "ij" = ( /obj/structure/table/glass, /obj/random/soap, -/obj/item/weapon/towel/random, +/obj/item/towel/random, /obj/machinery/light{ dir = 8 }, @@ -3210,19 +3210,19 @@ /turf/simulated/floor/wood, /area/submap/casino_event) "is" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /turf/simulated/floor/carpet/blue2, /area/submap/casino_event) "it" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /turf/simulated/floor/carpet/blue2, /area/submap/casino_event) "iu" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/carpet/blue2, /area/submap/casino_event) "iv" = ( @@ -3238,11 +3238,11 @@ /obj/machinery/light/floortube{ dir = 4 }, -/obj/item/weapon/deck/cards/casino, +/obj/item/deck/cards/casino, /turf/simulated/floor/carpet/blue2, /area/submap/casino_event) "ix" = ( -/obj/item/weapon/stool/baystool/padded{ +/obj/item/stool/baystool/padded{ dir = 8 }, /turf/simulated/floor/carpet/blue2, @@ -3263,7 +3263,7 @@ /obj/structure/casino_table/blackjack_m{ dir = 1 }, -/obj/item/weapon/deck/cards/casino, +/obj/item/deck/cards/casino, /turf/simulated/floor/carpet/blue2, /area/submap/casino_event) "iB" = ( @@ -3273,19 +3273,19 @@ /turf/simulated/floor/carpet/blue2, /area/submap/casino_event) "iC" = ( -/obj/item/weapon/stool/baystool/padded{ +/obj/item/stool/baystool/padded{ dir = 1 }, /turf/simulated/floor/carpet/blue2, /area/submap/casino_event) "iD" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /turf/simulated/floor/wood, /area/submap/casino_event) "iE" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/double, +/obj/item/bedsheet/double, /turf/simulated/floor/wood, /area/submap/casino_event) "iF" = ( @@ -3317,9 +3317,9 @@ name = "Game Cabinet"; pixel_x = -28 }, -/obj/item/weapon/storage/pill_bottle/dice, -/obj/item/weapon/storage/pill_bottle/dice_nerd, -/obj/item/weapon/storage/dicecup, +/obj/item/storage/pill_bottle/dice, +/obj/item/storage/pill_bottle/dice_nerd, +/obj/item/storage/dicecup, /turf/simulated/floor/carpet/purcarpet, /area/submap/casino_event) "iJ" = ( @@ -3340,11 +3340,11 @@ /obj/machinery/light/floortube{ dir = 8 }, -/obj/item/weapon/dice{ +/obj/item/dice{ pixel_x = 4; pixel_y = 6 }, -/obj/item/weapon/storage/dicecup, +/obj/item/storage/dicecup, /turf/simulated/floor/carpet/brown, /area/submap/casino_event) "iN" = ( @@ -3366,21 +3366,21 @@ /obj/structure/casino_table/blackjack_m{ dir = 1 }, -/obj/item/weapon/deck/cards/casino, +/obj/item/deck/cards/casino, /turf/simulated/floor/carpet/bcarpet, /area/submap/casino_event) "iQ" = ( /obj/structure/casino_table/blackjack_m{ dir = 1 }, -/obj/item/weapon/deck/cards/casino, +/obj/item/deck/cards/casino, /turf/simulated/floor/carpet/gaycarpet, /area/submap/casino_event) "iR" = ( /obj/structure/casino_table/blackjack_m{ dir = 1 }, -/obj/item/weapon/deck/cards/casino, +/obj/item/deck/cards/casino, /turf/simulated/floor/carpet/turcarpet, /area/submap/casino_event) "iS" = ( @@ -3443,8 +3443,8 @@ name = "Game Cabinet"; pixel_x = -28 }, -/obj/item/weapon/deck/cards/casino, -/obj/item/weapon/deck/cards, +/obj/item/deck/cards/casino, +/obj/item/deck/cards, /turf/simulated/floor/carpet/bcarpet, /area/submap/casino_event) "jb" = ( @@ -3453,8 +3453,8 @@ name = "Game Cabinet"; pixel_x = -28 }, -/obj/item/weapon/deck/cards/casino, -/obj/item/weapon/deck/cards, +/obj/item/deck/cards/casino, +/obj/item/deck/cards, /turf/simulated/floor/carpet/gaycarpet, /area/submap/casino_event) "jc" = ( @@ -3463,8 +3463,8 @@ name = "Game Cabinet"; pixel_x = -28 }, -/obj/item/weapon/deck/cards/casino, -/obj/item/weapon/deck/cards, +/obj/item/deck/cards/casino, +/obj/item/deck/cards, /turf/simulated/floor/carpet/turcarpet, /area/submap/casino_event) "jd" = ( diff --git a/maps/submaps/admin_use_vr/mercship.dm b/maps/submaps/admin_use_vr/mercship.dm index 7d94300073c..07596f27940 100644 --- a/maps/submaps/admin_use_vr/mercship.dm +++ b/maps/submaps/admin_use_vr/mercship.dm @@ -1,5 +1,5 @@ // Compile in the map for CI testing if we're testing compileability of all the maps -#if MAP_TEST +#ifdef MAP_TEST #include "mercship.dmm" #endif @@ -8,7 +8,7 @@ /datum/map_template/om_ships/manta_ship name = "OM Ship - Mercenary Cruiser (New Z)" desc = "Mercenary Manta Cruiser." - mappath = 'kk_mercship.dmm' + mappath = "maps/submaps/admin_use_vr/kk_mercship.dmm" // The ship's area(s) /area/ship/manta @@ -32,7 +32,7 @@ /area/ship/manta/atmos name = "\improper Mercenary Cruiser - Atmospherics" icon_state = "atmos" - + /area/ship/manta/mech_bay name = "\improper Mercenary Cruiser - Mech Bay" icon_state = "mechbay" @@ -100,19 +100,19 @@ /area/ship/manta/commander name = "\improper Mercenary Cruiser - Commander's Room" icon_state = "head_quarters" - + /area/ship/manta/holding name = "\improper Mercenary Cruiser - Holding Cells" icon_state = "brig" - + /area/ship/manta/recreation name = "\improper Mercenary Cruiser - Recreation & Supplies" icon_state = "recreation_area" - + /area/ship/manta/gunnery name = "\improper Mercenary Cruiser - Gunnery" icon_state = "security_sub" - + /area/ship/manta/magazine name = "\improper Mercenary Cruiser - Cannon Magazine" icon_state = "darkred" @@ -218,9 +218,9 @@ on_enter_occupant_message = "You feel cool air surround you. You go numb as your senses turn inward." on_store_visible_message_1 = "hums and hisses as it moves" on_store_visible_message_2 = "into cryogenic storage." - + //Misc Stuff -/obj/item/weapon/paper/manta_shields +/obj/item/paper/manta_shields name = "Shield Setup" info = {"To All Personnel,
      \ The cruiser's shield generator is intended to keep asteroids and pesky railgun rounds off our ass, so make sure you use it if we get into a scuffle.
      \ @@ -237,7 +237,7 @@ The shield generator's a hungry beast and will drain the cruiser's reserves fair
      \ Capt. Thorne"} -/obj/item/weapon/paper/manta_new_personnel_brief +/obj/item/paper/manta_new_personnel_brief name = "Fresh Personnel Primer" info = {"To All New Personnel,
      \ Welcome to your new home, the SAARE Typhon Four-Niner. This Manta-class Cruiser is equipped with everything you should ever need to conduct operations against any target we may encounter during our contracts. If you're reading this, you're probably in the Barracks right now; at the outer edge of the starboard wing are the Holding Cells. To the fore of the barracks is the Medbay, pray you don't end up there.
      \ @@ -252,7 +252,7 @@ You don't want to know how long it's going to take to pay off.
      \
      P.S. If you need to refuel the lander for some reason, there's a spare fuel canister in that closet space in the port fore wing edge, opposite the assault armory."} -/obj/item/weapon/paper/manta_approach_tactics +/obj/item/paper/manta_approach_tactics name = "Installation Approach" info = {"To All Personnel,
      \ Word of advice: this ship isn't exactly sneaky, despite our best efforts. If we pull up around a major site they're going to notice. Now sure we have the whole transponder thing that should throw them off for a bit, but sooner or later they're gonna catch on, especially if you go in loud. Fortunately for you all, our handy-dandy little landing craft is stealthy, and can get you aboard most ships, stations, or outposts without too much fuss. Better yet it's an all-passive system, so you don't even need to turn it on or worry about some idiot accidentally turning it off.
      \ @@ -261,7 +261,7 @@ We've also been supplied with a few packs of 'liberated' SAARE gear for use as d
      \ Capt. Thorne"} -/obj/item/weapon/paper/manta_prisoners +/obj/item/paper/manta_prisoners name = "Prisoner Management" info = {"To All Personnel,
      \ I don't care if they're 'not being cooperative', for the love of fuck if another high-value prisoner 'disappears' under your watch you are fucking next, do I make myself clear? I don't care if it's some schmuck we picked up during a raid who happened to be in the wrong place at the wrong time, but if it's someone we're trying to extract information from or ransom or whatever then they better not vanish.
      \ @@ -270,7 +270,7 @@ I don't care if they're 'not being cooperative', for the love of fuck if another
      \ P.S. If you gotta cut 'em up or whatever try not to make too much of a mess, and clean up when you're done. Don't trail blood all over my damn ship, and don't get them killed by infections either."} -/obj/item/weapon/paper/manta_cannon_usage +/obj/item/paper/manta_cannon_usage name = "Cannon Operation Instructions" info = {"To All Personnel,
      \ Heads up people, we've got a new toy.
      \ @@ -292,8 +292,8 @@ In the meantime, happy hunting. Go bag me some carp. The mech bay can be found i /obj/machinery/computer/cryopod/merc name = "mercenary oversight console" desc = "An interface between mercenaries and the cryo oversight systems tasked with keeping track of all mercenaries who enter or exit cryostasis." - circuit = "/obj/item/weapon/circuitboard/robotstoragecontrol" + circuit = "/obj/item/circuitboard/robotstoragecontrol" storage_type = "mercenaries" storage_name = "Merc Oversight Control" - allow_items = 1 \ No newline at end of file + allow_items = 1 diff --git a/maps/submaps/admin_use_vr/salamander_trader.dm b/maps/submaps/admin_use_vr/salamander_trader.dm index 52819e32cf0..0fbb79ba457 100644 --- a/maps/submaps/admin_use_vr/salamander_trader.dm +++ b/maps/submaps/admin_use_vr/salamander_trader.dm @@ -1,5 +1,5 @@ // Compile in the map for CI testing if we're testing compileability of all the maps -#if MAP_TEST +#ifdef MAP_TEST #include "salamander_trader.dmm" #endif @@ -25,28 +25,28 @@ requires_power = 1 has_gravity = 0 -/area/shuttle/salamander_trader_q1 +/area/shuttle/salamander_trader_q1 name = "\improper Salamander Trader Quarters 1" icon = 'icons/turf/areas_vr_talon.dmi' icon_state = "gray-p" requires_power = 1 has_gravity = 0 -/area/shuttle/salamander_trader_q2 +/area/shuttle/salamander_trader_q2 name = "\improper Salamander Trader Quarters 2" icon = 'icons/turf/areas_vr_talon.dmi' icon_state = "gray-s" requires_power = 1 has_gravity = 0 -/area/shuttle/salamander_trader_galley +/area/shuttle/salamander_trader_galley name = "\improper Salamander Trader Galley" icon = 'icons/turf/areas_vr_talon.dmi' icon_state = "dark-s" requires_power = 1 has_gravity = 0 -/area/shuttle/salamander_trader_head +/area/shuttle/salamander_trader_head name = "\improper Salamander Trader Head" icon = 'icons/turf/areas_vr_talon.dmi' icon_state = "dark-p" @@ -87,4 +87,4 @@ vessel_mass = 4500 vessel_size = SHIP_SIZE_LARGE fore_dir = EAST - shuttle = "Salamander Trader" \ No newline at end of file + shuttle = "Salamander Trader" diff --git a/maps/submaps/admin_use_vr/salamander_trader.dmm b/maps/submaps/admin_use_vr/salamander_trader.dmm index a038d2afee8..77184af9984 100644 --- a/maps/submaps/admin_use_vr/salamander_trader.dmm +++ b/maps/submaps/admin_use_vr/salamander_trader.dmm @@ -377,8 +377,8 @@ /turf/simulated/floor/tiled/techmaint, /area/shuttle/salamander_trader) "fZ" = ( -/obj/item/device/suit_cooling_unit, -/obj/item/weapon/tank/air, +/obj/item/suit_cooling_unit, +/obj/item/tank/air, /obj/item/clothing/suit/space/void/refurb, /obj/item/clothing/head/helmet/space/void/refurb, /obj/structure/handrail, @@ -847,14 +847,14 @@ /obj/structure/railing/grey{ dir = 8 }, -/obj/item/weapon/tank/phoron/pressurized, -/obj/item/weapon/tank/phoron/pressurized, +/obj/item/tank/phoron/pressurized, +/obj/item/tank/phoron/pressurized, /obj/structure/closet/walllocker{ dir = 1; name = "Spare Fuel"; pixel_y = -32 }, -/obj/item/weapon/tool/crowbar/red, +/obj/item/tool/crowbar/red, /obj/item/stack/material/tritium{ amount = 25 }, @@ -1003,8 +1003,8 @@ /area/shuttle/salamander_trader) "oi" = ( /obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/storage/box/donkpockets, -/obj/item/weapon/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, /obj/random/snack, /obj/random/snack, /obj/random/snack, @@ -1030,7 +1030,7 @@ /area/shuttle/salamander_trader_cockpit) "oF" = ( /obj/structure/bed/pod, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /obj/machinery/light_switch{ dir = 4; pixel_x = 22 @@ -1501,8 +1501,8 @@ /turf/simulated/floor/plating, /area/shuttle/salamander_trader_cockpit) "IL" = ( -/obj/item/device/suit_cooling_unit, -/obj/item/weapon/tank/air, +/obj/item/suit_cooling_unit, +/obj/item/tank/air, /obj/item/clothing/suit/space/void/refurb, /obj/item/clothing/head/helmet/space/void/refurb, /obj/structure/handrail{ @@ -1612,7 +1612,7 @@ /area/shuttle/salamander_trader_galley) "Ns" = ( /obj/structure/bed/pod, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /obj/machinery/light_switch{ dir = 4; pixel_x = 22 @@ -1726,7 +1726,7 @@ /area/shuttle/salamander_trader) "RO" = ( /obj/structure/bed/pod, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /obj/machinery/alarm/alarms_hidden{ dir = 8; pixel_x = 26 @@ -1789,8 +1789,8 @@ /turf/simulated/wall/shull, /area/shuttle/salamander_trader_head) "Tl" = ( -/obj/item/device/suit_cooling_unit, -/obj/item/weapon/tank/air, +/obj/item/suit_cooling_unit, +/obj/item/tank/air, /obj/item/clothing/suit/space/void/refurb, /obj/item/clothing/head/helmet/space/void/refurb, /obj/structure/railing/grey{ @@ -1910,8 +1910,8 @@ /turf/simulated/floor/plating, /area/shuttle/salamander_trader) "Xc" = ( -/obj/item/device/suit_cooling_unit, -/obj/item/weapon/tank/air, +/obj/item/suit_cooling_unit, +/obj/item/tank/air, /obj/item/clothing/suit/space/void/refurb, /obj/item/clothing/head/helmet/space/void/refurb, /obj/structure/railing/grey{ @@ -1975,7 +1975,7 @@ /area/shuttle/salamander_trader_engineering) "Xu" = ( /obj/structure/bed/pod, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /obj/machinery/alarm/alarms_hidden{ dir = 8; pixel_x = 26 diff --git a/maps/submaps/admin_use_vr/skipjack.dmm b/maps/submaps/admin_use_vr/skipjack.dmm index 2e12a90bc45..e79272d1daf 100644 --- a/maps/submaps/admin_use_vr/skipjack.dmm +++ b/maps/submaps/admin_use_vr/skipjack.dmm @@ -43,7 +43,7 @@ }, /area/skipjack_station) "ai" = ( -/obj/item/weapon/ore, +/obj/item/ore, /turf/unsimulated/floor{ icon_state = "steel" }, @@ -75,7 +75,7 @@ /area/skipjack_station) "an" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/glasses/square{ +/obj/item/storage/box/glasses/square{ pixel_x = 1; pixel_y = 4 }, @@ -84,11 +84,11 @@ }, /area/skipjack_station) "ao" = ( -/obj/item/weapon/tray{ +/obj/item/tray{ pixel_y = 5 }, /obj/structure/table/standard, -/obj/item/weapon/material/knife/butch, +/obj/item/material/knife/butch, /turf/unsimulated/floor{ icon_state = "white" }, @@ -116,7 +116,7 @@ }, /area/skipjack_station) "as" = ( -/obj/item/weapon/ore, +/obj/item/ore, /obj/structure/reagent_dispensers/beerkeg, /turf/unsimulated/floor{ icon_state = "white" @@ -133,7 +133,7 @@ }, /area/skipjack_station) "au" = ( -/obj/item/weapon/ore, +/obj/item/ore, /turf/unsimulated/floor{ icon_state = "plating"; name = "plating" @@ -143,7 +143,7 @@ /obj/structure/urinal{ pixel_y = 32 }, -/obj/item/weapon/soap/syndie, +/obj/item/soap/syndie, /turf/unsimulated/floor{ icon_state = "freezerfloor"; dir = 2 @@ -175,7 +175,7 @@ }, /area/skipjack_station) "az" = ( -/obj/item/weapon/gun/energy/sonic, +/obj/item/gun/energy/sonic, /turf/unsimulated/floor{ icon_state = "plating"; name = "plating" @@ -227,7 +227,7 @@ }, /area/skipjack_station) "aD" = ( -/obj/item/weapon/gun/launcher/spikethrower, +/obj/item/gun/launcher/spikethrower, /turf/unsimulated/floor{ icon_state = "plating"; name = "plating" @@ -300,8 +300,8 @@ /area/skipjack_station) "aM" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/darkmatter, -/obj/item/weapon/gun/energy/darkmatter, +/obj/item/gun/energy/darkmatter, +/obj/item/gun/energy/darkmatter, /turf/unsimulated/floor{ icon_state = "plating"; name = "plating" @@ -309,7 +309,7 @@ /area/skipjack_station) "aN" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/wood.dmi'; icon_state = "wood_broken1" @@ -323,14 +323,14 @@ /area/skipjack_station) "aP" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /turf/unsimulated/floor{ icon_state = "wood" }, /area/skipjack_station) "aQ" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/green, +/obj/item/bedsheet/green, /turf/unsimulated/floor{ icon_state = "wood" }, @@ -386,14 +386,14 @@ }, /area/skipjack_station) "aW" = ( -/obj/item/weapon/gun/energy/plasmastun, +/obj/item/gun/energy/plasmastun, /turf/unsimulated/floor{ icon_state = "plating"; name = "plating" }, /area/skipjack_station) "aX" = ( -/obj/item/weapon/gun/launcher/crossbow, +/obj/item/gun/launcher/crossbow, /turf/unsimulated/floor{ icon_state = "plating"; name = "plating" @@ -518,7 +518,7 @@ }, /area/skipjack_station) "bn" = ( -/obj/item/weapon/ore, +/obj/item/ore, /turf/unsimulated/floor{ name = "plating"; icon_state = "asteroid_dug" @@ -573,34 +573,34 @@ /area/skipjack_station) "bt" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/launcher/spikethrower, +/obj/item/gun/launcher/spikethrower, /turf/unsimulated/floor{ icon_state = "asteroid" }, /area/skipjack_station) "bu" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /turf/unsimulated/floor{ icon_state = "wood" }, /area/skipjack_station) "bv" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /turf/unsimulated/floor{ icon_state = "wood" }, /area/skipjack_station) "bw" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/hop, +/obj/item/bedsheet/hop, /turf/unsimulated/floor{ icon_state = "wood" }, /area/skipjack_station) "bx" = ( -/obj/item/weapon/ore, +/obj/item/ore, /turf/unsimulated/floor{ icon_state = "asteroid" }, @@ -628,7 +628,7 @@ }, /area/skipjack_station) "bB" = ( -/obj/item/weapon/storage/box, +/obj/item/storage/box, /turf/unsimulated/floor{ icon_state = "asteroid" }, @@ -674,7 +674,7 @@ /area/skipjack_station) "bH" = ( /obj/structure/table/rack, -/obj/item/weapon/tank/vox, +/obj/item/tank/vox, /turf/unsimulated/floor{ icon_state = "asteroid" }, @@ -693,7 +693,7 @@ }, /area/skipjack_station) "bK" = ( -/obj/item/weapon/tank/vox, +/obj/item/tank/vox, /turf/unsimulated/floor{ icon_state = "asteroid" }, @@ -709,7 +709,7 @@ /area/skipjack_station) "bM" = ( /obj/structure/table/steel, -/obj/item/device/pda/syndicate, +/obj/item/pda/syndicate, /turf/unsimulated/floor{ name = "plating"; icon_state = "cult" @@ -726,7 +726,7 @@ /area/skipjack_station) "bO" = ( /obj/machinery/portable_atmospherics/canister/phoron, -/obj/item/weapon/tank/vox, +/obj/item/tank/vox, /turf/unsimulated/floor{ icon_state = "asteroid" }, @@ -739,20 +739,20 @@ /area/skipjack_station) "bQ" = ( /obj/structure/table/steel, -/obj/item/device/radio/uplink, +/obj/item/radio/uplink, /turf/unsimulated/floor{ name = "plating"; icon_state = "cult" }, /area/skipjack_station) "bR" = ( -/obj/item/weapon/gun/launcher/pneumatic, +/obj/item/gun/launcher/pneumatic, /turf/unsimulated/floor{ icon_state = "asteroid" }, /area/skipjack_station) "bS" = ( -/obj/item/weapon/storage/box/syndie_kit/spy, +/obj/item/storage/box/syndie_kit/spy, /turf/unsimulated/floor{ name = "plating"; icon_state = "cult" @@ -1071,9 +1071,9 @@ /area/shuttle/skipjack) "cB" = ( /obj/structure/table/rack, -/obj/item/weapon/material/harpoon, -/obj/item/weapon/tank/oxygen, -/obj/item/weapon/tank/oxygen, +/obj/item/material/harpoon, +/obj/item/tank/oxygen, +/obj/item/tank/oxygen, /obj/item/clothing/shoes/magboots, /obj/item/clothing/shoes/magboots, /obj/random/rigsuit, @@ -1089,8 +1089,8 @@ /area/shuttle/skipjack) "cD" = ( /obj/structure/table/rack, -/obj/item/weapon/tank/oxygen, -/obj/item/weapon/tank/oxygen, +/obj/item/tank/oxygen, +/obj/item/tank/oxygen, /obj/random/multiple/voidsuit, /obj/random/multiple/voidsuit, /obj/random/energy, @@ -1126,8 +1126,8 @@ /obj/item/seeds/potatoseed, /obj/item/seeds/potatoseed, /obj/item/seeds/ambrosiavulgarisseed, -/obj/item/weapon/material/minihoe, -/obj/item/weapon/beartrap, +/obj/item/material/minihoe, +/obj/item/beartrap, /obj/structure/table/steel, /turf/simulated/shuttle/plating, /area/shuttle/skipjack) @@ -1137,20 +1137,20 @@ /area/shuttle/skipjack) "cK" = ( /obj/structure/table/rack, -/obj/item/weapon/melee/energy/sword/pirate, +/obj/item/melee/energy/sword/pirate, /obj/item/clothing/suit/space/pirate, /obj/item/clothing/suit/space/pirate, -/obj/item/weapon/tank/oxygen, -/obj/item/weapon/pinpointer/shuttle/heist, -/obj/item/weapon/pinpointer/shuttle/heist, +/obj/item/tank/oxygen, +/obj/item/pinpointer/shuttle/heist, +/obj/item/pinpointer/shuttle/heist, /turf/simulated/shuttle/floor/darkred, /area/shuttle/skipjack) "cL" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/device/multitool, -/obj/item/device/multitool, +/obj/item/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, +/obj/item/multitool, +/obj/item/multitool, /obj/item/clothing/shoes/magboots, /turf/simulated/shuttle/plating, /area/shuttle/skipjack) @@ -1160,8 +1160,8 @@ /area/shuttle/skipjack) "cN" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/fancy/cigarettes, -/obj/item/weapon/flame/lighter/zippo, +/obj/item/storage/fancy/cigarettes, +/obj/item/flame/lighter/zippo, /obj/item/clothing/gloves/yellow, /obj/item/stack/material/steel{ amount = 50 @@ -1169,7 +1169,7 @@ /obj/item/stack/material/glass{ amount = 50 }, -/obj/item/weapon/card/emag, +/obj/item/card/emag, /turf/simulated/shuttle/plating, /area/shuttle/skipjack) "cO" = ( @@ -1287,31 +1287,31 @@ /turf/simulated/shuttle/plating, /area/shuttle/skipjack) "da" = ( -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, /turf/simulated/shuttle/plating, /area/shuttle/skipjack) "db" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/launcher/crossbow, +/obj/item/gun/launcher/crossbow, /obj/item/stack/rods{ amount = 10 }, /obj/machinery/light/small{ dir = 8 }, -/obj/item/weapon/beartrap, -/obj/item/weapon/beartrap, -/obj/item/weapon/beartrap, -/obj/item/weapon/beartrap, -/obj/item/weapon/beartrap, -/obj/item/weapon/beartrap, +/obj/item/beartrap, +/obj/item/beartrap, +/obj/item/beartrap, +/obj/item/beartrap, +/obj/item/beartrap, +/obj/item/beartrap, /turf/simulated/shuttle/floor/darkred, /area/shuttle/skipjack) "dc" = ( /obj/structure/table/rack, -/obj/item/weapon/grenade/empgrenade, -/obj/item/weapon/grenade/flashbang, -/obj/item/weapon/grenade/spawnergrenade/manhacks, +/obj/item/grenade/empgrenade, +/obj/item/grenade/flashbang, +/obj/item/grenade/spawnergrenade/manhacks, /turf/simulated/shuttle/floor/darkred, /area/shuttle/skipjack) "dd" = ( @@ -1398,14 +1398,14 @@ /turf/simulated/shuttle/plating, /area/shuttle/skipjack) "do" = ( -/obj/item/weapon/tool/wrench, -/obj/item/weapon/mop, +/obj/item/tool/wrench, +/obj/item/mop, /turf/simulated/shuttle/plating, /area/shuttle/skipjack) "dp" = ( /obj/machinery/atmospherics/pipe/simple/visible, -/obj/item/weapon/tool/crowbar, -/obj/item/device/suit_cooling_unit, +/obj/item/tool/crowbar, +/obj/item/suit_cooling_unit, /turf/simulated/shuttle/plating, /area/shuttle/skipjack) "dq" = ( @@ -1456,7 +1456,7 @@ /area/shuttle/skipjack) "dw" = ( /obj/structure/table/steel, -/obj/item/weapon/deck/cards, +/obj/item/deck/cards, /turf/simulated/shuttle/floor/darkred, /area/shuttle/skipjack) "dx" = ( @@ -1489,7 +1489,7 @@ /area/shuttle/skipjack) "dC" = ( /obj/machinery/portable_atmospherics/canister/nitrogen, -/obj/item/weapon/tank/nitrogen, +/obj/item/tank/nitrogen, /turf/simulated/shuttle/plating, /area/shuttle/skipjack) "dD" = ( @@ -1543,12 +1543,12 @@ /area/shuttle/skipjack) "dJ" = ( /obj/structure/table/standard, -/obj/item/weapon/handcuffs/legcuffs, +/obj/item/handcuffs/legcuffs, /turf/simulated/shuttle/floor/black, /area/shuttle/skipjack) "dK" = ( /obj/structure/table/standard, -/obj/item/weapon/deck/cards, +/obj/item/deck/cards, /turf/simulated/shuttle/floor/black, /area/shuttle/skipjack) "dL" = ( @@ -1572,11 +1572,11 @@ /area/shuttle/skipjack) "dN" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/circular_saw{ +/obj/item/surgical/circular_saw{ pixel_y = 8 }, -/obj/item/weapon/surgical/hemostat, -/obj/item/weapon/surgical/scalpel, +/obj/item/surgical/hemostat, +/obj/item/surgical/scalpel, /obj/item/stack/medical/advanced/bruise_pack, /turf/simulated/shuttle/floor/white, /area/shuttle/skipjack) @@ -1596,11 +1596,11 @@ /area/shuttle/skipjack) "dR" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/cautery, -/obj/item/weapon/surgical/retractor, -/obj/item/weapon/reagent_containers/glass/bottle/stoxin, -/obj/item/weapon/reagent_containers/glass/bottle/stoxin, -/obj/item/weapon/reagent_containers/syringe, +/obj/item/surgical/cautery, +/obj/item/surgical/retractor, +/obj/item/reagent_containers/glass/bottle/stoxin, +/obj/item/reagent_containers/glass/bottle/stoxin, +/obj/item/reagent_containers/syringe, /turf/simulated/shuttle/floor/white, /area/shuttle/skipjack) "dS" = ( @@ -1613,7 +1613,7 @@ /turf/simulated/shuttle/floor/black, /area/shuttle/skipjack) "dT" = ( -/obj/item/weapon/bedsheet/rainbow, +/obj/item/bedsheet/rainbow, /obj/structure/bed/padded, /turf/simulated/shuttle/floor/red, /area/shuttle/skipjack) @@ -1621,15 +1621,15 @@ /turf/simulated/shuttle/floor/red, /area/shuttle/skipjack) "dV" = ( -/obj/item/weapon/bedsheet/hos, +/obj/item/bedsheet/hos, /obj/structure/bed/padded, /turf/simulated/shuttle/floor/red, /area/shuttle/skipjack) "dW" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/bonesetter, -/obj/item/weapon/surgical/bonegel, -/obj/item/weapon/surgical/FixOVein, +/obj/item/surgical/bonesetter, +/obj/item/surgical/bonegel, +/obj/item/surgical/FixOVein, /obj/item/stack/nanopaste, /turf/simulated/shuttle/floor/white, /area/shuttle/skipjack) @@ -1643,12 +1643,12 @@ /turf/simulated/shuttle/floor/black, /area/shuttle/skipjack) "dY" = ( -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /obj/structure/bed/padded, /turf/simulated/shuttle/floor/red, /area/shuttle/skipjack) "dZ" = ( -/obj/item/weapon/bedsheet/green, +/obj/item/bedsheet/green, /obj/machinery/light/small{ dir = 4 }, @@ -1657,18 +1657,18 @@ /area/shuttle/skipjack) "ea" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/storage/firstaid/clotting, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/storage/firstaid/clotting, /obj/item/stack/medical/splint, /turf/simulated/shuttle/floor/white, /area/shuttle/skipjack) "eb" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ pixel_x = 1 }, -/obj/item/weapon/storage/firstaid/toxin{ +/obj/item/storage/firstaid/toxin{ pixel_x = 3; pixel_y = 3 }, @@ -1680,18 +1680,18 @@ pixel_y = 0; req_access = list(150) }, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/fire{ pixel_x = 1 }, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /turf/simulated/shuttle/floor/white, /area/shuttle/skipjack) "ec" = ( -/obj/item/weapon/bedsheet/rd, +/obj/item/bedsheet/rd, /obj/structure/bed/padded, /turf/simulated/shuttle/floor/red, /area/shuttle/skipjack) @@ -1700,7 +1700,7 @@ /turf/simulated/shuttle/floor/red, /area/shuttle/skipjack) "ee" = ( -/obj/item/weapon/bedsheet/clown, +/obj/item/bedsheet/clown, /obj/structure/bed/padded, /turf/simulated/shuttle/floor/red, /area/shuttle/skipjack) diff --git a/maps/submaps/admin_use_vr/spa.dmm b/maps/submaps/admin_use_vr/spa.dmm index 3413e29d291..9e1015cf155 100644 --- a/maps/submaps/admin_use_vr/spa.dmm +++ b/maps/submaps/admin_use_vr/spa.dmm @@ -15,7 +15,7 @@ /area/submap/spa) "ad" = ( /obj/structure/table/woodentable, -/obj/item/weapon/flame/candle/everburn, +/obj/item/flame/candle/everburn, /turf/simulated/floor/wood, /area/submap/spa) "ae" = ( @@ -34,9 +34,9 @@ /area/submap/spa) "ah" = ( /obj/structure/table/woodentable, -/obj/item/weapon/towel, -/obj/item/weapon/towel, -/obj/item/weapon/towel, +/obj/item/towel, +/obj/item/towel, +/obj/item/towel, /turf/simulated/floor/wood, /area/submap/spa) "ai" = ( @@ -235,7 +235,7 @@ /area/submap/spa) "aP" = ( /obj/structure/table/woodentable, -/obj/item/weapon/flame/candle/candelabra/everburn, +/obj/item/flame/candle/candelabra/everburn, /turf/simulated/floor/wood, /area/submap/spa) "aQ" = ( @@ -260,7 +260,7 @@ /area/submap/spa) "aU" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/bluedouble, +/obj/item/bedsheet/bluedouble, /turf/simulated/floor/carpet/bcarpet, /area/submap/spa) "aV" = ( @@ -279,17 +279,17 @@ /area/submap/spa) "aW" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/greendouble, +/obj/item/bedsheet/greendouble, /turf/simulated/floor/carpet/bcarpet, /area/submap/spa) "aX" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/purpledouble, +/obj/item/bedsheet/purpledouble, /turf/simulated/floor/carpet/bcarpet, /area/submap/spa) "aY" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/reddouble, +/obj/item/bedsheet/reddouble, /turf/simulated/floor/carpet/bcarpet, /area/submap/spa) "aZ" = ( @@ -356,7 +356,7 @@ /turf/simulated/floor/reinforced, /area/submap/spa) "bj" = ( -/obj/item/device/radio/beacon{ +/obj/item/radio/beacon{ anchored = 1 }, /turf/simulated/floor/reinforced, @@ -410,7 +410,7 @@ /area/submap/spa) "br" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /turf/simulated/floor/carpet/bcarpet, /area/submap/spa) "bs" = ( @@ -429,17 +429,17 @@ /area/submap/spa) "bt" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/orangedouble, +/obj/item/bedsheet/orangedouble, /turf/simulated/floor/carpet/bcarpet, /area/submap/spa) "bu" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/rainbowdouble, +/obj/item/bedsheet/rainbowdouble, /turf/simulated/floor/carpet/bcarpet, /area/submap/spa) "bv" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/yellowdouble, +/obj/item/bedsheet/yellowdouble, /turf/simulated/floor/carpet/bcarpet, /area/submap/spa) "bw" = ( diff --git a/maps/submaps/admin_use_vr/thunderdome.dmm b/maps/submaps/admin_use_vr/thunderdome.dmm index 7d7a19345ae..db06ccb2a97 100644 --- a/maps/submaps/admin_use_vr/thunderdome.dmm +++ b/maps/submaps/admin_use_vr/thunderdome.dmm @@ -26,7 +26,7 @@ /obj/structure/table/rack, /obj/item/clothing/under/color/red, /obj/item/clothing/shoes/brown, -/obj/item/weapon/melee/energy/axe, +/obj/item/melee/energy/axe, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -43,7 +43,7 @@ /obj/structure/table/rack, /obj/item/clothing/under/color/green, /obj/item/clothing/shoes/brown, -/obj/item/weapon/melee/energy/axe, +/obj/item/melee/energy/axe, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -76,8 +76,8 @@ /obj/item/clothing/shoes/brown, /obj/item/clothing/suit/armor/tdome/red, /obj/item/clothing/head/helmet/thunderdome, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/energy/sword/red, +/obj/item/melee/baton/loaded, +/obj/item/melee/energy/sword/red, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -127,8 +127,8 @@ /obj/item/clothing/shoes/brown, /obj/item/clothing/suit/armor/tdome/green, /obj/item/clothing/head/helmet/thunderdome, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/energy/sword/green, +/obj/item/melee/baton/loaded, +/obj/item/melee/energy/sword/green, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -239,7 +239,7 @@ /obj/item/clothing/shoes/brown, /obj/item/clothing/suit/armor/vest, /obj/item/clothing/head/helmet/swat, -/obj/item/weapon/gun/energy/laser, +/obj/item/gun/energy/laser, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -251,7 +251,7 @@ /obj/item/clothing/shoes/brown, /obj/item/clothing/suit/armor/vest, /obj/item/clothing/head/helmet/swat, -/obj/item/weapon/gun/energy/laser, +/obj/item/gun/energy/laser, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 diff --git a/maps/submaps/admin_use_vr/tradeship.dmm b/maps/submaps/admin_use_vr/tradeship.dmm index e196914075b..5882284d08b 100644 --- a/maps/submaps/admin_use_vr/tradeship.dmm +++ b/maps/submaps/admin_use_vr/tradeship.dmm @@ -103,7 +103,7 @@ name = "\improper Trader Base" }) "ao" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -119,7 +119,7 @@ name = "\improper Trader Base" }) "aq" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/unsimulated/floor{ icon_state = "steel" }, @@ -218,7 +218,7 @@ }) "aB" = ( /obj/structure/table/standard, -/obj/item/weapon/soap/deluxe, +/obj/item/soap/deluxe, /turf/simulated/shuttle/floor, /area/syndicate_mothership{ name = "\improper Trader Base" @@ -364,7 +364,7 @@ /area/shuttle/trade) "aQ" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/rd, +/obj/item/bedsheet/rd, /turf/simulated/shuttle/floor/black, /area/shuttle/trade) "aR" = ( @@ -471,7 +471,7 @@ /area/shuttle/trade) "bf" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, /turf/simulated/floor/carpet, /area/shuttle/trade) "bg" = ( @@ -503,11 +503,11 @@ /turf/simulated/shuttle/floor/black, /area/shuttle/trade) "bl" = ( -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = -2; pixel_y = 4 }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = -2; pixel_y = 4 }, @@ -517,33 +517,33 @@ /obj/item/bodybag/cryobag{ pixel_x = 5 }, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ layer = 2.8; pixel_x = 4; pixel_y = 6 }, -/obj/item/weapon/storage/box/masks{ +/obj/item/storage/box/masks{ pixel_x = 0; pixel_y = 0 }, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/gloves{ pixel_x = 3; pixel_y = 4 }, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/toxin, +/obj/item/storage/firstaid/fire{ layer = 2.9; pixel_x = 2; pixel_y = 3 }, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ pixel_x = -2 }, -/obj/item/weapon/reagent_containers/blood/empty, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/empty, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /obj/structure/closet/medical_wall{ pixel_y = 32 }, @@ -580,11 +580,11 @@ /turf/simulated/shuttle/floor/black, /area/shuttle/trade) "bp" = ( -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 8 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /obj/machinery/light, @@ -593,7 +593,7 @@ /area/shuttle/trade) "bq" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/hos, +/obj/item/bedsheet/hos, /obj/structure/sign/poster{ pixel_y = -32 }, @@ -607,12 +607,12 @@ /area/shuttle/trade) "bs" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/glasses/square, +/obj/item/storage/box/glasses/square, /turf/simulated/floor/carpet, /area/shuttle/trade) "bt" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/inflatable_duck, +/obj/item/inflatable_duck, /turf/simulated/shuttle/floor/black, /area/shuttle/trade) "bu" = ( @@ -624,7 +624,7 @@ /area/shuttle/trade) "bv" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/rig/internalaffairs, +/obj/item/rig/internalaffairs, /obj/item/clothing/head/helmet/space/void/wizard, /obj/item/clothing/suit/space/void/wizard, /turf/simulated/shuttle/floor/black, @@ -740,7 +740,7 @@ /obj/random/tech_supply, /obj/random/tech_supply, /obj/random/tech_supply, -/obj/item/weapon/weldpack, +/obj/item/weldpack, /turf/simulated/shuttle/floor/black, /area/shuttle/trade) "bL" = ( @@ -796,13 +796,13 @@ /area/shuttle/trade) "bS" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/coin/uranium, -/obj/item/weapon/coin/silver, -/obj/item/weapon/coin/platinum, -/obj/item/weapon/coin/phoron, -/obj/item/weapon/coin/iron, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/diamond, +/obj/item/coin/uranium, +/obj/item/coin/silver, +/obj/item/coin/platinum, +/obj/item/coin/phoron, +/obj/item/coin/iron, +/obj/item/coin/gold, +/obj/item/coin/diamond, /obj/structure/window/reinforced, /turf/simulated/shuttle/floor/black, /area/shuttle/trade) @@ -815,10 +815,10 @@ /area/shuttle/trade) "bU" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/cell/high, -/obj/item/weapon/cell/high, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/potato, +/obj/item/cell/high, +/obj/item/cell/high, +/obj/item/cell/hyper, +/obj/item/cell/potato, /obj/structure/window/reinforced, /turf/simulated/shuttle/floor/black, /area/shuttle/trade) @@ -837,27 +837,27 @@ /obj/structure/table/standard, /obj/item/clothing/gloves/sterile/latex, /obj/item/clothing/mask/surgical, -/obj/item/weapon/surgical/retractor{ +/obj/item/surgical/retractor{ pixel_x = 0; pixel_y = 6 }, -/obj/item/weapon/surgical/scalpel, -/obj/item/weapon/surgical/surgicaldrill, -/obj/item/weapon/surgical/circular_saw, +/obj/item/surgical/scalpel, +/obj/item/surgical/surgicaldrill, +/obj/item/surgical/circular_saw, /obj/item/stack/nanopaste, -/obj/item/weapon/surgical/hemostat{ +/obj/item/surgical/hemostat{ pixel_y = 4 }, -/obj/item/weapon/surgical/cautery{ +/obj/item/surgical/cautery{ pixel_y = 4 }, -/obj/item/weapon/surgical/FixOVein{ +/obj/item/surgical/FixOVein{ pixel_x = -6; pixel_y = 1 }, /obj/item/stack/medical/advanced/bruise_pack, -/obj/item/weapon/surgical/bonesetter, -/obj/item/weapon/surgical/bonegel{ +/obj/item/surgical/bonesetter, +/obj/item/surgical/bonegel{ pixel_x = 4; pixel_y = 3 }, @@ -925,11 +925,11 @@ /area/shuttle/trade) "ce" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 8 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /turf/simulated/shuttle/floor/black, @@ -1062,7 +1062,7 @@ dir = 4; name = "Cigarette machine"; prices = list(); - products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) + products = list(/obj/item/storage/fancy/cigarettes = 10, /obj/item/storage/box/matches = 10, /obj/item/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) }, /turf/simulated/shuttle/floor/black, /area/shuttle/trade) @@ -1095,10 +1095,10 @@ icon_state = "warning"; dir = 1 }, -/obj/item/device/kit/paint/ripley/death, -/obj/item/device/kit/paint/ripley/flames_blue, -/obj/item/device/kit/paint/ripley/flames_red, -/obj/item/device/kit/paint/ripley, +/obj/item/kit/paint/ripley/death, +/obj/item/kit/paint/ripley/flames_blue, +/obj/item/kit/paint/ripley/flames_red, +/obj/item/kit/paint/ripley, /turf/simulated/shuttle/floor/black, /area/shuttle/trade) "cy" = ( @@ -1211,11 +1211,11 @@ "cL" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/warning, -/obj/item/device/kit/paint/gygax/darkgygax, -/obj/item/device/kit/paint/gygax/recitence, -/obj/item/device/kit/paint/durand, -/obj/item/device/kit/paint/durand/phazon, -/obj/item/device/kit/paint/durand/seraph, +/obj/item/kit/paint/gygax/darkgygax, +/obj/item/kit/paint/gygax/recitence, +/obj/item/kit/paint/durand, +/obj/item/kit/paint/durand/phazon, +/obj/item/kit/paint/durand/seraph, /turf/simulated/shuttle/floor/black, /area/shuttle/trade) "cM" = ( @@ -1275,7 +1275,7 @@ /obj/machinery/vending/assist{ contraband = null; name = "Old Vending Machine"; - products = list(/obj/item/device/assembly/prox_sensor = 5, /obj/item/device/assembly/signaler = 4, /obj/item/device/assembly/infra = 4, /obj/item/device/assembly/prox_sensor = 4, /obj/item/weapon/handcuffs = 8, /obj/item/device/flash = 4, /obj/item/weapon/cartridge/signal = 4, /obj/item/clothing/glasses/sunglasses = 4) + products = list(/obj/item/assembly/prox_sensor = 5, /obj/item/assembly/signaler = 4, /obj/item/assembly/infra = 4, /obj/item/assembly/prox_sensor = 4, /obj/item/handcuffs = 8, /obj/item/flash = 4, /obj/item/cartridge/signal = 4, /obj/item/clothing/glasses/sunglasses = 4) }, /turf/simulated/shuttle/floor/black, /area/shuttle/trade) @@ -1283,9 +1283,9 @@ /obj/structure/closet{ name = "custodial" }, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/mop, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/glass/bucket, +/obj/item/mop, /turf/simulated/shuttle/floor/black, /area/shuttle/trade) "cU" = ( @@ -1295,8 +1295,8 @@ "cV" = ( /obj/machinery/light, /obj/structure/table/standard, -/obj/item/weapon/soap, -/obj/item/weapon/towel{ +/obj/item/soap, +/obj/item/towel{ color = "#0000FF" }, /turf/simulated/shuttle/floor/black, @@ -1381,7 +1381,7 @@ /area/shuttle/trade) "de" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/shuttle/floor/black, /area/shuttle/trade) "df" = ( @@ -1479,7 +1479,7 @@ /obj/random/contraband, /obj/random/contraband, /obj/random/contraband, -/obj/item/weapon/bikehorn, +/obj/item/bikehorn, /turf/simulated/shuttle/floor/black, /area/shuttle/trade) "dp" = ( @@ -1601,11 +1601,11 @@ /area/shuttle/trade) "dC" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/lipstick/black, -/obj/item/weapon/lipstick/jade, -/obj/item/weapon/lipstick/purple, -/obj/item/weapon/lipstick, -/obj/item/weapon/lipstick/random, +/obj/item/lipstick/black, +/obj/item/lipstick/jade, +/obj/item/lipstick/purple, +/obj/item/lipstick, +/obj/item/lipstick/random, /turf/simulated/shuttle/floor/black, /area/shuttle/trade) "dD" = ( @@ -1719,11 +1719,11 @@ /area/shuttle/trade) "dJ" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 8 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /turf/simulated/floor/carpet, @@ -1861,7 +1861,7 @@ /area/shuttle/trade) "dV" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/captain, +/obj/item/bedsheet/captain, /turf/simulated/shuttle/floor/black, /area/shuttle/trade) "dW" = ( diff --git a/maps/submaps/admin_use_vr/wizard.dmm b/maps/submaps/admin_use_vr/wizard.dmm index aa97a3f0822..805e7753cb5 100644 --- a/maps/submaps/admin_use_vr/wizard.dmm +++ b/maps/submaps/admin_use_vr/wizard.dmm @@ -20,7 +20,7 @@ }, /area/wizard_station) "ae" = ( -/obj/item/weapon/reagent_containers/food/drinks/bottle/pwine{ +/obj/item/reagent_containers/food/drinks/bottle/pwine{ pixel_x = -4; pixel_y = 10 }, @@ -68,7 +68,7 @@ /area/wizard_station) "ak" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ on = 0; pixel_x = -3; pixel_y = 8 @@ -80,7 +80,7 @@ /area/wizard_station) "al" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet/rd, +/obj/item/bedsheet/rd, /turf/unsimulated/floor{ icon_state = "lino" }, @@ -115,7 +115,7 @@ }, /area/wizard_station) "ap" = ( -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 3 }, @@ -144,7 +144,7 @@ pixel_x = 0; pixel_y = 32 }, -/obj/item/weapon/ore/slag{ +/obj/item/ore/slag{ desc = "Well at least Arthur doesn't have to share now..."; name = "pet rock" }, @@ -166,9 +166,9 @@ /area/wizard_station) "au" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, -/obj/item/device/radio/intercom{ +/obj/item/paper_bin, +/obj/item/pen, +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; frequency = 1213; name = "Subversive Intercom"; @@ -183,8 +183,8 @@ /area/wizard_station) "av" = ( /obj/structure/table/woodentable, -/obj/item/device/radio/headset, -/obj/item/weapon/spacecash/c500, +/obj/item/radio/headset, +/obj/item/spacecash/c500, /turf/unsimulated/floor{ dir = 8; icon_state = "wood" @@ -201,7 +201,7 @@ }, /area/wizard_station) "ax" = ( -/obj/item/weapon/reagent_containers/food/snacks/spellburger{ +/obj/item/reagent_containers/food/snacks/spellburger{ pixel_y = 8 }, /obj/structure/table/marble, @@ -216,7 +216,7 @@ /area/wizard_station) "az" = ( /obj/structure/undies_wardrobe, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; frequency = 1213; name = "Subversive Intercom"; @@ -248,7 +248,7 @@ /area/wizard_station) "aC" = ( /obj/structure/table/woodentable, -/obj/item/weapon/book/manual/security_space_law, +/obj/item/book/manual/wiki/security_space_law, /turf/unsimulated/floor{ dir = 8; icon_state = "wood" @@ -268,7 +268,7 @@ }, /area/wizard_station) "aF" = ( -/obj/item/weapon/antag_spawner/technomancer_apprentice, +/obj/item/antag_spawner/technomancer_apprentice, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -278,8 +278,8 @@ /obj/item/clothing/shoes/boots/workboots, /obj/item/clothing/under/technomancer, /obj/item/clothing/head/technomancer, -/obj/item/weapon/storage/box/syndie_kit/chameleon, -/obj/item/weapon/storage/box/syndie_kit/chameleon, +/obj/item/storage/box/syndie_kit/chameleon, +/obj/item/storage/box/syndie_kit/chameleon, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -315,7 +315,7 @@ /obj/structure/closet/cabinet, /obj/item/clothing/suit/wizrobe/magusblue, /obj/item/clothing/head/wizard/magus, -/obj/item/weapon/staff, +/obj/item/staff, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -328,7 +328,7 @@ }, /area/wizard_station) "aN" = ( -/obj/item/weapon/reagent_containers/food/snacks/cheesewedge, +/obj/item/reagent_containers/food/snacks/cheesewedge, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -420,7 +420,7 @@ /obj/item/clothing/under/gentlesuit, /obj/item/clothing/suit/wizrobe/gentlecoat, /obj/item/clothing/head/wizard/cap, -/obj/item/weapon/staff/gentcane, +/obj/item/staff/gentcane, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -430,7 +430,7 @@ /obj/structure/closet/cabinet, /obj/item/clothing/suit/wizrobe/magusred, /obj/item/clothing/head/wizard/magus, -/obj/item/weapon/staff, +/obj/item/staff, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -441,7 +441,7 @@ /obj/item/clothing/suit/wizrobe/marisa, /obj/item/clothing/shoes/sandal/marisa, /obj/item/clothing/head/wizard/marisa, -/obj/item/weapon/staff/broom, +/obj/item/staff/broom, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -452,7 +452,7 @@ /obj/item/clothing/suit/wizrobe/red, /obj/item/clothing/shoes/sandal, /obj/item/clothing/head/wizard/red, -/obj/item/weapon/staff, +/obj/item/staff, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -479,14 +479,14 @@ /area/wizard_station) "bf" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/arrow/quill, +/obj/item/arrow/quill, /turf/unsimulated/floor{ icon_state = "dark" }, /area/wizard_station) "bg" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/stock_parts/matter_bin/super, +/obj/item/stock_parts/matter_bin/super, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -544,7 +544,7 @@ }, /area/wizard_station) "bo" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; @@ -552,7 +552,7 @@ subspace_transmission = 1; syndie = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; @@ -627,7 +627,7 @@ }, /area/wizard_station) "by" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; frequency = 1213; name = "Subversive Intercom"; @@ -643,14 +643,14 @@ /area/wizard_station) "bz" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/mmi/radio_enabled, +/obj/item/mmi/radio_enabled, /turf/unsimulated/floor{ icon_state = "dark" }, /area/wizard_station) "bA" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/material/knife/ritual, +/obj/item/material/knife/ritual, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -659,7 +659,7 @@ /obj/structure/flora/pottedplant{ icon_state = "plant-03" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; frequency = 1213; name = "Subversive Intercom"; @@ -696,7 +696,7 @@ /area/wizard_station) "bF" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/coin/diamond, +/obj/item/coin/diamond, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -745,14 +745,14 @@ /area/wizard_station) "bL" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/book/manual/ripley_build_and_repair, +/obj/item/book/manual/ripley_build_and_repair, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 }, /area/wizard_station) "bM" = ( -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, /obj/structure/table/steel_reinforced, /obj/machinery/newscaster{ layer = 3.3; @@ -800,7 +800,7 @@ pixel_y = 32 }, /obj/structure/table/steel_reinforced, -/obj/item/weapon/gun/energy/laser/practice, +/obj/item/gun/energy/laser/practice, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -814,8 +814,8 @@ /area/wizard_station) "bS" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/book/manual/engineering_hacking, -/obj/item/device/radio/intercom{ +/obj/item/book/manual/wiki/engineering_hacking, +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; frequency = 1213; name = "Subversive Intercom"; @@ -852,7 +852,7 @@ }, /area/wizard_station) "bW" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; frequency = 1213; name = "Subversive Intercom"; @@ -883,7 +883,7 @@ /area/wizard_station) "bZ" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/book/manual/robotics_cyborgs, +/obj/item/book/manual/robotics_cyborgs, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -947,7 +947,7 @@ }, /area/wizard_station) "cg" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -1073,20 +1073,20 @@ }, /area/wizard_station) "cw" = ( -/obj/item/weapon/firstaid_arm_assembly, +/obj/item/firstaid_arm_assembly, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 }, /area/wizard_station) "cx" = ( -/obj/item/weapon/bucket_sensor, +/obj/item/bucket_sensor, /turf/unsimulated/floor{ icon_state = "dark" }, /area/wizard_station) "cy" = ( -/obj/item/weapon/farmbot_arm_assembly, +/obj/item/farmbot_arm_assembly, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 diff --git a/maps/submaps/depreciated_vr/_depreciated.dm b/maps/submaps/depreciated_vr/_depreciated.dm index bc252758a55..659d0116685 100644 --- a/maps/submaps/depreciated_vr/_depreciated.dm +++ b/maps/submaps/depreciated_vr/_depreciated.dm @@ -1,25 +1,25 @@ /datum/map_template/admin_use/old_mercenary name = "Special Area - Old Merc Base" desc = "So much red!" - mappath = 'maps/submaps/admin_use_vr/mercbase.dmm' + mappath = "maps/submaps/admin_use_vr/mercbase.dmm" /datum/map_template/admin_use/ert name = "Special Area - ERT" desc = "ERT Base." - mappath = 'maps/submaps/admin_use_vr/ert_base.dmm' + mappath = "maps/submaps/admin_use_vr/ert_base.dmm" // Old two-Z Talon - left commented out because multi-z maploading is fussy or something IIRC /* /datum/map_template/tether_lateload/offmap/talon1 name = "Offmap Ship - Talon Z1" desc = "Offmap spawn ship, the Talon." - mappath = 'maps/submaps/depreciated_vr/talon/talon1.dmm' + mappath = "maps/submaps/depreciated_vr/talon/talon1.dmm" associated_map_datum = /datum/map_z_level/tether_lateload/talon1 /datum/map_template/tether_lateload/offmap/talon2 name = "Offmap Ship - Talon Z2" desc = "Offmap spawn ship, the Talon." - mappath = 'maps/submaps/depreciated_vr/talon/talon2.dmm' + mappath = "maps/submaps/depreciated_vr/talon/talon2.dmm" associated_map_datum = /datum/map_z_level/tether_lateload/talon2 /datum/map_z_level/tether_lateload/talon1 @@ -33,4 +33,4 @@ flags = MAP_LEVEL_PLAYER base_turf = /turf/simulated/open z = Z_LEVEL_OFFMAP2 -*/ \ No newline at end of file +*/ diff --git a/maps/submaps/depreciated_vr/ert_base.dmm b/maps/submaps/depreciated_vr/ert_base.dmm index 0e182e0365d..7544d19aef0 100644 --- a/maps/submaps/depreciated_vr/ert_base.dmm +++ b/maps/submaps/depreciated_vr/ert_base.dmm @@ -220,14 +220,14 @@ /area/shuttle/specops/centcom) "ay" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/captain, +/obj/item/bedsheet/captain, /turf/simulated/shuttle/floor/black, /area/shuttle/specops/centcom) "az" = ( /obj/structure/closet/wardrobe/ert, /obj/item/modular_computer/laptop/preset/custom_loadout/elite, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) +/obj/item/storage/box/survival/comp{ + starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, /turf/simulated/shuttle/floor/black, /area/shuttle/specops/centcom) @@ -237,8 +237,8 @@ /obj/machinery/light{ dir = 1 }, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) +/obj/item/storage/box/survival/comp{ + starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, /turf/simulated/shuttle/floor/black, /area/shuttle/specops/centcom) @@ -256,13 +256,13 @@ "aC" = ( /obj/structure/table/steel_reinforced, /obj/machinery/chemical_dispenser/ert, -/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, /turf/simulated/shuttle/floor/black, /area/shuttle/specops/centcom) "aD" = ( /obj/structure/table/steel_reinforced, /obj/machinery/chemical_dispenser/biochemistry/full, -/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, /turf/simulated/shuttle/floor/black, /area/shuttle/specops/centcom) "aE" = ( @@ -341,27 +341,27 @@ /area/shuttle/specops/centcom) "aN" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 3 }, @@ -369,10 +369,10 @@ /area/shuttle/specops/centcom) "aO" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, /obj/item/clothing/accessory/storage/white_vest, /obj/item/clothing/accessory/storage/white_vest, /obj/item/clothing/accessory/storage/white_vest, @@ -393,22 +393,22 @@ /obj/item/clothing/head/helmet/ert/medical, /obj/item/clothing/head/helmet/ert/medical, /obj/item/clothing/head/helmet/ert/medical, -/obj/item/weapon/storage/backpack/ert/medical, -/obj/item/weapon/storage/backpack/ert/medical, -/obj/item/weapon/storage/backpack/ert/medical, -/obj/item/weapon/storage/backpack/ert/medical, +/obj/item/storage/backpack/ert/medical, +/obj/item/storage/backpack/ert/medical, +/obj/item/storage/backpack/ert/medical, +/obj/item/storage/backpack/ert/medical, /turf/simulated/shuttle/floor/black, /area/shuttle/specops/centcom) "aQ" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/rig/ert/medical, -/obj/item/weapon/rig/ert/medical, -/obj/item/weapon/rig/ert/medical, -/obj/item/weapon/rig/ert/medical, -/obj/item/weapon/reagent_containers/hypospray, -/obj/item/weapon/reagent_containers/hypospray, -/obj/item/weapon/reagent_containers/hypospray, -/obj/item/weapon/reagent_containers/hypospray, +/obj/item/rig/ert/medical, +/obj/item/rig/ert/medical, +/obj/item/rig/ert/medical, +/obj/item/rig/ert/medical, +/obj/item/reagent_containers/hypospray, +/obj/item/reagent_containers/hypospray, +/obj/item/reagent_containers/hypospray, +/obj/item/reagent_containers/hypospray, /turf/simulated/shuttle/floor/black, /area/shuttle/specops/centcom) "aR" = ( @@ -452,61 +452,61 @@ /area/shuttle/specops/centcom) "aW" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/gun/energy/netgun, -/obj/item/weapon/gun/energy/sniperrifle{ +/obj/item/gun/energy/netgun, +/obj/item/gun/energy/sniperrifle{ battery_lock = 0 }, -/obj/item/weapon/gun/energy/gun/compact{ +/obj/item/gun/energy/gun/compact{ battery_lock = 0 }, -/obj/item/weapon/gun/energy/gun/compact{ +/obj/item/gun/energy/gun/compact{ battery_lock = 0 }, -/obj/item/weapon/gun/energy/gun/compact{ +/obj/item/gun/energy/gun/compact{ battery_lock = 0 }, -/obj/item/weapon/gun/energy/gun/compact{ +/obj/item/gun/energy/gun/compact{ battery_lock = 0 }, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, /turf/simulated/shuttle/floor/black, /area/shuttle/specops/centcom) "aX" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/gun/energy/gun/nuclear, -/obj/item/weapon/gun/energy/gun/nuclear, -/obj/item/weapon/gun/energy/gun/nuclear, -/obj/item/weapon/gun/energy/gun/nuclear, -/obj/item/weapon/gun/energy/gun/nuclear, +/obj/item/gun/energy/gun/nuclear, +/obj/item/gun/energy/gun/nuclear, +/obj/item/gun/energy/gun/nuclear, +/obj/item/gun/energy/gun/nuclear, +/obj/item/gun/energy/gun/nuclear, /turf/simulated/shuttle/floor/black, /area/shuttle/specops/centcom) "aY" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, +/obj/item/gun/energy/gun, +/obj/item/gun/energy/gun, +/obj/item/gun/energy/gun, +/obj/item/gun/energy/gun, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, /turf/simulated/shuttle/floor/black, /area/shuttle/specops/centcom) "aZ" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, /obj/item/ammo_magazine/ammo_box/b12g/pellet, /obj/item/ammo_magazine/ammo_box/b12g/pellet, /obj/item/ammo_magazine/ammo_box/b12g/pellet, @@ -522,13 +522,13 @@ /area/shuttle/specops/centcom) "ba" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/gun/projectile/automatic/advanced_smg, +/obj/item/gun/projectile/automatic/advanced_smg, /obj/item/ammo_magazine/m9mmAdvanced, /obj/item/ammo_magazine/m9mmAdvanced, /obj/item/ammo_magazine/m9mmAdvanced, /obj/item/ammo_magazine/m9mmAdvanced, -/obj/item/weapon/gun/projectile/revolver/detective45, -/obj/item/weapon/gun/projectile/revolver/detective45, +/obj/item/gun/projectile/revolver/detective45, +/obj/item/gun/projectile/revolver/detective45, /obj/item/ammo_magazine/s45, /obj/item/ammo_magazine/s45, /obj/item/ammo_magazine/s45, @@ -597,21 +597,21 @@ /area/shuttle/specops/centcom) "bj" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, +/obj/item/gun/energy/laser, +/obj/item/gun/energy/laser, +/obj/item/gun/energy/laser, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, /turf/simulated/shuttle/floor/black, /area/shuttle/specops/centcom) "bk" = ( @@ -635,8 +635,8 @@ /area/shuttle/specops/centcom) "bn" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/gun/projectile/automatic/sts35, -/obj/item/weapon/gun/projectile/automatic/sts35, +/obj/item/gun/projectile/automatic/sts35, +/obj/item/gun/projectile/automatic/sts35, /obj/item/ammo_magazine/m545, /obj/item/ammo_magazine/m545, /obj/item/ammo_magazine/m545, @@ -678,18 +678,18 @@ pixel_x = 32; pixel_y = 0 }, -/obj/item/weapon/storage/firstaid/clotting, -/obj/item/weapon/storage/firstaid/bonemed, -/obj/item/weapon/storage/firstaid/adv, -/obj/item/weapon/storage/firstaid/adv, -/obj/item/weapon/storage/firstaid/fire, -/obj/item/weapon/storage/firstaid/fire, -/obj/item/weapon/storage/firstaid/o2, -/obj/item/weapon/storage/firstaid/o2, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/combat, -/obj/item/weapon/storage/firstaid/combat, +/obj/item/storage/firstaid/clotting, +/obj/item/storage/firstaid/bonemed, +/obj/item/storage/firstaid/adv, +/obj/item/storage/firstaid/adv, +/obj/item/storage/firstaid/fire, +/obj/item/storage/firstaid/fire, +/obj/item/storage/firstaid/o2, +/obj/item/storage/firstaid/o2, +/obj/item/storage/firstaid/toxin, +/obj/item/storage/firstaid/toxin, +/obj/item/storage/firstaid/combat, +/obj/item/storage/firstaid/combat, /turf/simulated/shuttle/floor/black, /area/shuttle/specops/centcom) "bt" = ( @@ -702,14 +702,14 @@ "bu" = ( /obj/structure/window/reinforced, /obj/structure/table/rack/steel, -/obj/item/weapon/gun/energy/ionrifle, -/obj/item/weapon/gun/energy/ionrifle, -/obj/item/weapon/gun/energy/ionrifle/pistol, -/obj/item/weapon/gun/energy/ionrifle/pistol, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, +/obj/item/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle/pistol, +/obj/item/gun/energy/ionrifle/pistol, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, /turf/simulated/shuttle/floor/black, /area/shuttle/specops/centcom) "bv" = ( @@ -730,10 +730,10 @@ /obj/item/ammo_magazine/m9mm/large/preban, /obj/item/ammo_magazine/m9mm/large/preban, /obj/item/ammo_magazine/m9mm/large/preban, -/obj/item/weapon/gun/projectile/p92x/large/preban, -/obj/item/weapon/gun/projectile/p92x/large/preban, -/obj/item/weapon/gun/projectile/p92x/large/preban, -/obj/item/weapon/gun/projectile/p92x/large/preban, +/obj/item/gun/projectile/p92x/large/preban, +/obj/item/gun/projectile/p92x/large/preban, +/obj/item/gun/projectile/p92x/large/preban, +/obj/item/gun/projectile/p92x/large/preban, /turf/simulated/shuttle/floor/black, /area/shuttle/specops/centcom) "bx" = ( @@ -746,8 +746,8 @@ "by" = ( /obj/structure/window/reinforced, /obj/structure/table/rack/steel, -/obj/item/weapon/gun/projectile/automatic/sts35, -/obj/item/weapon/gun/projectile/automatic/sts35, +/obj/item/gun/projectile/automatic/sts35, +/obj/item/gun/projectile/automatic/sts35, /obj/item/ammo_magazine/m545, /obj/item/ammo_magazine/m545, /obj/item/ammo_magazine/m545, @@ -777,28 +777,28 @@ /area/shuttle/specops/centcom) "bB" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/box/pillbottles, +/obj/item/storage/box/pillbottles, /turf/simulated/shuttle/floor/black, /area/shuttle/specops/centcom) "bC" = ( /obj/structure/closet/crate/medical, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, /obj/item/stack/nanopaste/advanced, /obj/item/stack/nanopaste/advanced, /obj/item/stack/nanopaste/advanced, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/fitnessflask/glucose, -/obj/item/weapon/storage/pill_bottle/blood_regen, -/obj/item/weapon/storage/pill_bottle/blood_regen, -/obj/item/weapon/storage/pill_bottle/sleevingcure/full, -/obj/item/weapon/extinguisher/mini, -/obj/item/weapon/extinguisher/mini, -/obj/item/weapon/extinguisher/mini, -/obj/item/weapon/extinguisher/mini, -/obj/item/weapon/storage/box/syringes, -/obj/item/weapon/storage/box/syringes{ +/obj/item/reagent_containers/food/drinks/drinkingglass/fitnessflask/glucose, +/obj/item/storage/pill_bottle/blood_regen, +/obj/item/storage/pill_bottle/blood_regen, +/obj/item/storage/pill_bottle/sleevingcure/full, +/obj/item/extinguisher/mini, +/obj/item/extinguisher/mini, +/obj/item/extinguisher/mini, +/obj/item/extinguisher/mini, +/obj/item/storage/box/syringes, +/obj/item/storage/box/syringes{ pixel_x = 2; pixel_y = 2 }, @@ -886,11 +886,11 @@ /area/shuttle/specops/centcom) "bM" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 8 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /turf/simulated/shuttle/floor/black, @@ -932,26 +932,26 @@ /area/shuttle/specops/centcom) "bS" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/rig/ert/security, -/obj/item/weapon/rig/ert/security, -/obj/item/weapon/rig/ert/security, -/obj/item/weapon/rig/ert/security, +/obj/item/rig/ert/security, +/obj/item/rig/ert/security, +/obj/item/rig/ert/security, +/obj/item/rig/ert/security, /turf/simulated/shuttle/floor/black, /area/shuttle/specops/centcom) "bT" = ( /obj/structure/closet/crate/medical, -/obj/item/weapon/storage/box/autoinjectors, -/obj/item/weapon/storage/box/beakers, -/obj/item/device/defib_kit/compact/combat/loaded, -/obj/item/device/defib_kit/compact/combat/loaded, -/obj/item/weapon/storage/box/bodybags, -/obj/item/weapon/storage/box/bodybags{ +/obj/item/storage/box/autoinjectors, +/obj/item/storage/box/beakers, +/obj/item/defib_kit/compact/combat/loaded, +/obj/item/defib_kit/compact/combat/loaded, +/obj/item/storage/box/bodybags, +/obj/item/storage/box/bodybags{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/box/gloves, -/obj/item/weapon/storage/box/freezer, -/obj/item/weapon/storage/box/masks, +/obj/item/storage/box/gloves, +/obj/item/storage/box/freezer, +/obj/item/storage/box/masks, /turf/simulated/shuttle/floor/black, /area/shuttle/specops/centcom) "bU" = ( @@ -983,7 +983,7 @@ /obj/machinery/light{ dir = 4 }, -/obj/item/device/perfect_tele_beacon/stationary{ +/obj/item/perfect_tele_beacon/stationary{ tele_name = "ERT"; tele_network = "centcom" }, @@ -1018,10 +1018,10 @@ /obj/item/clothing/head/helmet/ert/security, /obj/item/clothing/head/helmet/ert/security, /obj/item/clothing/head/helmet/ert/security, -/obj/item/weapon/storage/backpack/ert/security, -/obj/item/weapon/storage/backpack/ert/security, -/obj/item/weapon/storage/backpack/ert/security, -/obj/item/weapon/storage/backpack/ert/security, +/obj/item/storage/backpack/ert/security, +/obj/item/storage/backpack/ert/security, +/obj/item/storage/backpack/ert/security, +/obj/item/storage/backpack/ert/security, /turf/simulated/shuttle/floor/black, /area/shuttle/specops/centcom) "cb" = ( @@ -1031,32 +1031,32 @@ /obj/item/taperoll/police, /obj/item/taperoll/police, /obj/item/taperoll/police, -/obj/item/device/flash, -/obj/item/device/flash, -/obj/item/device/flash, -/obj/item/device/flash, -/obj/item/device/flash, -/obj/item/device/flash, +/obj/item/flash, +/obj/item/flash, +/obj/item/flash, +/obj/item/flash, +/obj/item/flash, +/obj/item/flash, /obj/structure/table/rack/steel, /turf/simulated/shuttle/floor/darkred, /area/shuttle/specops/centcom) "cc" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/storage/box/flashbangs, -/obj/item/weapon/storage/box/flashbangs, -/obj/item/weapon/storage/box/flashbangs, -/obj/item/weapon/storage/box/emps{ +/obj/item/storage/box/flashbangs, +/obj/item/storage/box/flashbangs, +/obj/item/storage/box/flashbangs, +/obj/item/storage/box/emps{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/box/smokes, -/obj/item/weapon/storage/box/smokes, +/obj/item/storage/box/smokes, +/obj/item/storage/box/smokes, /turf/simulated/shuttle/floor/darkred, /area/shuttle/specops/centcom) "cd" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/storage/box/handcuffs, -/obj/item/weapon/storage/box/handcuffs{ +/obj/item/storage/box/handcuffs, +/obj/item/storage/box/handcuffs{ pixel_x = 3; pixel_y = 3 }, @@ -1080,24 +1080,24 @@ /area/shuttle/specops/centcom) "cf" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/item/radio/off, /turf/simulated/shuttle/floor/darkred, /area/shuttle/specops/centcom) "cg" = ( @@ -1128,14 +1128,14 @@ /area/shuttle/specops/centcom) "cm" = ( /obj/structure/closet/crate/freezer, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /turf/simulated/shuttle/floor/black, /area/shuttle/specops/centcom) "cn" = ( @@ -1199,38 +1199,38 @@ /area/shuttle/specops/centcom) "ct" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/gun/energy/stunrevolver, -/obj/item/weapon/gun/energy/stunrevolver, -/obj/item/weapon/gun/energy/stunrevolver, -/obj/item/weapon/gun/energy/stunrevolver, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/gun/energy/taser, +/obj/item/gun/energy/stunrevolver, +/obj/item/gun/energy/stunrevolver, +/obj/item/gun/energy/stunrevolver, +/obj/item/gun/energy/stunrevolver, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, /turf/simulated/shuttle/floor/darkred, /area/shuttle/specops/centcom) "cu" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, /turf/simulated/shuttle/floor/darkred, /area/shuttle/specops/centcom) "cv" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, /obj/item/clothing/glasses/sunglasses/sechud/tactical, /obj/item/clothing/glasses/sunglasses/sechud/tactical, /obj/item/clothing/glasses/sunglasses/sechud/tactical, @@ -1304,20 +1304,20 @@ "cE" = ( /obj/machinery/light, /obj/structure/table/standard, -/obj/item/weapon/soap, -/obj/item/weapon/soap, -/obj/item/weapon/soap, -/obj/item/weapon/soap, -/obj/item/weapon/towel{ +/obj/item/soap, +/obj/item/soap, +/obj/item/soap, +/obj/item/soap, +/obj/item/towel{ color = "#0000FF" }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#0000FF" }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#0000FF" }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#0000FF" }, /turf/simulated/shuttle/floor/black, @@ -1326,23 +1326,23 @@ /obj/structure/closet{ name = "custodial" }, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/mop, -/obj/item/weapon/mop, -/obj/item/weapon/mop, -/obj/item/weapon/mop, -/obj/item/weapon/rig/ert/janitor, -/obj/item/device/lightreplacer, -/obj/item/device/lightreplacer, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, +/obj/item/mop, +/obj/item/mop, +/obj/item/mop, +/obj/item/mop, +/obj/item/rig/ert/janitor, +/obj/item/lightreplacer, +/obj/item/lightreplacer, +/obj/item/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /turf/simulated/shuttle/floor/black, /area/shuttle/specops/centcom) "cH" = ( @@ -1362,7 +1362,7 @@ icon_state = "tube1" }, /obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery, /obj/item/stack/nanopaste, /turf/simulated/shuttle/floor/black, /area/shuttle/specops/centcom) @@ -1406,16 +1406,16 @@ /area/shuttle/specops/centcom) "cL" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/melee/energy/sword/blue, -/obj/item/weapon/melee/energy/sword/blue, -/obj/item/weapon/melee/energy/sword/blue, -/obj/item/weapon/melee/energy/sword/blue, -/obj/item/weapon/melee/energy/sword/blue, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, +/obj/item/melee/energy/sword/blue, +/obj/item/melee/energy/sword/blue, +/obj/item/melee/energy/sword/blue, +/obj/item/melee/energy/sword/blue, +/obj/item/melee/energy/sword/blue, +/obj/item/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, /turf/simulated/shuttle/floor/black, /area/shuttle/specops/centcom) "cM" = ( @@ -1445,19 +1445,19 @@ dir = 1 }, /obj/structure/table/steel_reinforced, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, /obj/machinery/cell_charger, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, /turf/simulated/shuttle/floor/black, /area/shuttle/specops/centcom) "cS" = ( @@ -1472,7 +1472,7 @@ dir = 1 }, /obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, /turf/simulated/shuttle/floor/black, /area/shuttle/specops/centcom) "cU" = ( @@ -1513,7 +1513,7 @@ /area/shuttle/specops/centcom) "da" = ( /obj/structure/table/rack, -/obj/item/weapon/rig/ert, +/obj/item/rig/ert, /turf/simulated/shuttle/floor/black, /area/shuttle/specops/centcom) "db" = ( @@ -1576,22 +1576,22 @@ /turf/simulated/shuttle/floor/black, /area/shuttle/specops/centcom) "dk" = ( -/obj/item/weapon/circuitboard/aiupload, -/obj/item/weapon/circuitboard/borgupload, -/obj/item/weapon/circuitboard/smes, -/obj/item/weapon/aiModule/nanotrasen, -/obj/item/weapon/aiModule/reset, -/obj/item/weapon/aiModule/freeformcore, -/obj/item/weapon/aiModule/protectStation, -/obj/item/weapon/aiModule/quarantine, -/obj/item/weapon/aiModule/paladin, -/obj/item/weapon/aiModule/robocop, -/obj/item/weapon/aiModule/safeguard, +/obj/item/circuitboard/aiupload, +/obj/item/circuitboard/borgupload, +/obj/item/circuitboard/smes, +/obj/item/aiModule/nanotrasen, +/obj/item/aiModule/reset, +/obj/item/aiModule/freeformcore, +/obj/item/aiModule/protectStation, +/obj/item/aiModule/quarantine, +/obj/item/aiModule/paladin, +/obj/item/aiModule/robocop, +/obj/item/aiModule/safeguard, /obj/structure/table/steel_reinforced, -/obj/item/weapon/smes_coil, -/obj/item/weapon/smes_coil, -/obj/item/device/t_scanner/advanced, -/obj/item/device/t_scanner/advanced, +/obj/item/smes_coil, +/obj/item/smes_coil, +/obj/item/t_scanner/advanced, +/obj/item/t_scanner/advanced, /turf/simulated/shuttle/floor/black, /area/shuttle/specops/centcom) "dl" = ( @@ -1605,12 +1605,12 @@ /obj/item/stack/cable_coil, /obj/item/stack/cable_coil, /obj/item/stack/cable_coil, -/obj/item/weapon/grenade/chem_grenade/metalfoam, -/obj/item/weapon/grenade/chem_grenade/metalfoam, -/obj/item/weapon/grenade/chem_grenade/metalfoam, -/obj/item/weapon/grenade/chem_grenade/metalfoam, -/obj/item/weapon/grenade/chem_grenade/metalfoam, -/obj/item/weapon/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, /turf/simulated/shuttle/floor/black, /area/shuttle/specops/centcom) "dm" = ( @@ -1662,8 +1662,8 @@ /area/shuttle/specops/centcom) "do" = ( /obj/structure/table/glass, -/obj/item/weapon/hand_tele, -/obj/item/device/perfect_tele, +/obj/item/hand_tele, +/obj/item/perfect_tele, /turf/simulated/shuttle/floor/black, /area/shuttle/specops/centcom) "dp" = ( @@ -1671,10 +1671,10 @@ dir = 1 }, /obj/structure/table/glass, -/obj/item/weapon/storage/secure/briefcase/nsfw_pack_hybrid, -/obj/item/device/binoculars, -/obj/item/device/survivalcapsule, -/obj/item/device/survivalcapsule, +/obj/item/storage/secure/briefcase/nsfw_pack_hybrid, +/obj/item/binoculars, +/obj/item/survivalcapsule, +/obj/item/survivalcapsule, /turf/simulated/shuttle/floor/black, /area/shuttle/specops/centcom) "dq" = ( @@ -1683,7 +1683,7 @@ /area/shuttle/specops/centcom) "dr" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/backpack/ert/commander, +/obj/item/storage/backpack/ert/commander, /obj/item/clothing/head/helmet/ert/command, /obj/item/clothing/suit/armor/vest/ert/command, /turf/simulated/shuttle/floor/black, @@ -1793,26 +1793,26 @@ /area/shuttle/specops/centcom) "dE" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 8 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /turf/simulated/floor/carpet, /area/shuttle/specops/centcom) "dF" = ( /obj/structure/table/woodentable, -/obj/item/weapon/stamp/centcomm, -/obj/item/weapon/storage/box/cdeathalarm_kit, -/obj/item/weapon/storage/box/trackimp, +/obj/item/stamp/centcomm, +/obj/item/storage/box/cdeathalarm_kit, +/obj/item/storage/box/trackimp, /turf/simulated/floor/carpet, /area/shuttle/specops/centcom) "dG" = ( /obj/structure/table/woodentable, -/obj/item/weapon/pinpointer/advpinpointer, -/obj/item/device/aicard, +/obj/item/pinpointer/advpinpointer, +/obj/item/aicard, /turf/simulated/floor/carpet, /area/shuttle/specops/centcom) "dH" = ( @@ -1898,8 +1898,8 @@ /area/shuttle/specops/centcom) "dN" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /obj/item/bodybag/cryobag, /obj/item/bodybag/cryobag, /obj/item/bodybag/cryobag, @@ -1926,14 +1926,14 @@ /area/shuttle/specops/centcom) "dP" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/rig/ert/engineer, -/obj/item/weapon/rig/ert/engineer, -/obj/item/weapon/rig/ert/engineer, -/obj/item/weapon/rig/ert/engineer, -/obj/item/weapon/storage/belt/utility/chief/full, -/obj/item/weapon/storage/belt/utility/chief/full, -/obj/item/weapon/storage/belt/utility/chief/full, -/obj/item/weapon/storage/belt/utility/chief/full, +/obj/item/rig/ert/engineer, +/obj/item/rig/ert/engineer, +/obj/item/rig/ert/engineer, +/obj/item/rig/ert/engineer, +/obj/item/storage/belt/utility/chief/full, +/obj/item/storage/belt/utility/chief/full, +/obj/item/storage/belt/utility/chief/full, +/obj/item/storage/belt/utility/chief/full, /turf/simulated/shuttle/floor/black, /area/shuttle/specops/centcom) "dQ" = ( @@ -1946,10 +1946,10 @@ /obj/item/clothing/head/helmet/ert/engineer, /obj/item/clothing/head/helmet/ert/engineer, /obj/item/clothing/head/helmet/ert/engineer, -/obj/item/weapon/storage/backpack/ert/engineer, -/obj/item/weapon/storage/backpack/ert/engineer, -/obj/item/weapon/storage/backpack/ert/engineer, -/obj/item/weapon/storage/backpack/ert/engineer, +/obj/item/storage/backpack/ert/engineer, +/obj/item/storage/backpack/ert/engineer, +/obj/item/storage/backpack/ert/engineer, +/obj/item/storage/backpack/ert/engineer, /obj/item/taperoll/engineering, /obj/item/taperoll/engineering, /obj/item/taperoll/engineering, @@ -1961,7 +1961,7 @@ /obj/machinery/computer/security/telescreen/entertainment{ pixel_y = -35 }, -/obj/item/weapon/gun/projectile/deagle, +/obj/item/gun/projectile/deagle, /obj/item/ammo_magazine/m44, /obj/item/ammo_magazine/m44, /turf/simulated/shuttle/floor/black, @@ -2122,14 +2122,14 @@ /area/shuttle/specops/centcom) "rB" = ( /obj/structure/table/rack/steel, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, /turf/simulated/shuttle/floor/black, /area/shuttle/specops/centcom) "zV" = ( @@ -2163,10 +2163,10 @@ /obj/item/clothing/suit/space/void/responseteam/janitor, /obj/item/clothing/suit/space/void/responseteam/janitor, /obj/item/clothing/suit/space/void/responseteam/janitor, -/obj/item/weapon/storage/belt/janitor, -/obj/item/weapon/storage/belt/janitor, -/obj/item/weapon/storage/belt/janitor, -/obj/item/weapon/storage/belt/janitor, +/obj/item/storage/belt/janitor, +/obj/item/storage/belt/janitor, +/obj/item/storage/belt/janitor, +/obj/item/storage/belt/janitor, /turf/simulated/shuttle/floor/black, /area/shuttle/specops/centcom) diff --git a/maps/submaps/depreciated_vr/mercbase.dmm b/maps/submaps/depreciated_vr/mercbase.dmm index 77457998ec3..234417b727d 100644 --- a/maps/submaps/depreciated_vr/mercbase.dmm +++ b/maps/submaps/depreciated_vr/mercbase.dmm @@ -7,7 +7,7 @@ /area/antag/antag_base) "ac" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/hos, +/obj/item/bedsheet/hos, /obj/machinery/computer/security/telescreen/entertainment{ pixel_w = 0; pixel_x = 0; @@ -35,7 +35,7 @@ pixel_x = 0; pixel_y = 32 }, -/obj/item/weapon/bedsheet/clown{ +/obj/item/bedsheet/clown{ desc = "A surprisingly soft linen bedsheet, except for the spots where it's crusty. Gross."; name = "Dave's bedsheet" }, @@ -46,7 +46,7 @@ /area/antag/antag_base) "af" = ( /obj/structure/table/glass, -/obj/item/weapon/handcuffs/fuzzy, +/obj/item/handcuffs/fuzzy, /turf/unsimulated/floor{ name = "plating"; icon_state = "cult" @@ -94,8 +94,8 @@ /obj/item/ammo_magazine/m545/ap, /obj/item/ammo_magazine/m545/ap, /obj/item/ammo_magazine/m545/ap, -/obj/item/weapon/gun/projectile/automatic/sts35, -/obj/item/weapon/gun/projectile/automatic/sts35, +/obj/item/gun/projectile/automatic/sts35, +/obj/item/gun/projectile/automatic/sts35, /turf/unsimulated/floor{ dir = 2; icon_state = "dark" @@ -103,8 +103,8 @@ /area/antag/antag_base) "al" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/plasmastun, -/obj/item/weapon/gun/energy/plasmastun, +/obj/item/gun/energy/plasmastun, +/obj/item/gun/energy/plasmastun, /obj/effect/floor_decal/corner/red{ dir = 5 }, @@ -115,8 +115,8 @@ /area/antag/antag_base) "am" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/darkmatter, -/obj/item/weapon/gun/energy/darkmatter, +/obj/item/gun/energy/darkmatter, +/obj/item/gun/energy/darkmatter, /obj/effect/floor_decal/corner/red{ dir = 5 }, @@ -130,7 +130,7 @@ dir = 5 }, /obj/structure/table/rack, -/obj/item/weapon/gun/launcher/rocket, +/obj/item/gun/launcher/rocket, /obj/item/ammo_casing/rocket, /obj/item/ammo_casing/rocket, /obj/item/ammo_casing/rocket, @@ -147,8 +147,8 @@ dir = 5 }, /obj/structure/table/rack, -/obj/item/weapon/storage/box/frags, -/obj/item/weapon/storage/box/frags, +/obj/item/storage/box/frags, +/obj/item/storage/box/frags, /turf/unsimulated/floor{ dir = 2; icon_state = "dark" @@ -163,7 +163,7 @@ dir = 6 }, /obj/item/ammo_magazine/ammo_box/b145, -/obj/item/weapon/gun/projectile/heavysniper, +/obj/item/gun/projectile/heavysniper, /turf/unsimulated/floor{ dir = 2; icon_state = "dark" @@ -188,8 +188,8 @@ /area/antag/antag_base) "as" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/xray, -/obj/item/weapon/gun/energy/xray, +/obj/item/gun/energy/xray, +/obj/item/gun/energy/xray, /obj/effect/floor_decal/corner/red{ dir = 6 }, @@ -272,7 +272,7 @@ /obj/item/ammo_magazine/s44, /obj/item/ammo_magazine/s44, /obj/item/ammo_magazine/s44, -/obj/item/weapon/gun/projectile/revolver/consul, +/obj/item/gun/projectile/revolver/consul, /turf/unsimulated/floor{ dir = 2; icon_state = "dark" @@ -285,8 +285,8 @@ }, /obj/item/ammo_magazine/ammo_box/b12g/pellet, /obj/item/ammo_magazine/ammo_box/b12g, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, /turf/unsimulated/floor{ dir = 2; icon_state = "dark" @@ -305,8 +305,8 @@ /obj/item/ammo_magazine/m9mm, /obj/item/ammo_magazine/m9mm, /obj/item/ammo_magazine/m9mm, -/obj/item/weapon/gun/projectile/luger, -/obj/item/weapon/gun/projectile/luger/brown, +/obj/item/gun/projectile/luger, +/obj/item/gun/projectile/luger/brown, /turf/unsimulated/floor{ dir = 2; icon_state = "dark" @@ -317,12 +317,12 @@ /obj/effect/floor_decal/corner/red{ dir = 10 }, -/obj/item/weapon/gun/energy/lasercannon, -/obj/item/weapon/gun/energy/lasercannon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, +/obj/item/gun/energy/lasercannon, +/obj/item/gun/energy/lasercannon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, /turf/unsimulated/floor{ dir = 2; icon_state = "dark" @@ -330,8 +330,8 @@ /area/antag/antag_base) "aA" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/sniperrifle, -/obj/item/weapon/gun/energy/sniperrifle, +/obj/item/gun/energy/sniperrifle, +/obj/item/gun/energy/sniperrifle, /obj/effect/floor_decal/corner/red{ dir = 10 }, @@ -365,7 +365,7 @@ /obj/structure/table/woodentable, /obj/item/stack/medical/bruise_pack, /obj/item/stack/medical/bruise_pack, -/obj/item/weapon/melee/telebaton, +/obj/item/melee/telebaton, /obj/machinery/computer/security/telescreen/entertainment{ pixel_w = 0; pixel_x = 0; @@ -415,38 +415,38 @@ /area/antag/antag_base) "aG" = ( /obj/structure/table/standard, -/obj/item/device/radio/headset/syndicate, -/obj/item/device/radio/headset/syndicate, -/obj/item/device/radio/headset/syndicate, -/obj/item/device/radio/headset/syndicate, -/obj/item/device/radio/headset/syndicate/alt, -/obj/item/device/radio/headset/syndicate/alt, -/obj/item/device/radio/headset/syndicate/alt, -/obj/item/device/radio/headset/syndicate/alt, +/obj/item/radio/headset/syndicate, +/obj/item/radio/headset/syndicate, +/obj/item/radio/headset/syndicate, +/obj/item/radio/headset/syndicate, +/obj/item/radio/headset/alt/syndicate, +/obj/item/radio/headset/alt/syndicate, +/obj/item/radio/headset/alt/syndicate, +/obj/item/radio/headset/alt/syndicate, /turf/unsimulated/floor{ icon_state = "lino" }, /area/antag/antag_base) "aH" = ( /obj/structure/table/standard, -/obj/item/device/pda/syndicate, -/obj/item/device/pda/syndicate, -/obj/item/device/pda/syndicate, -/obj/item/device/pda/syndicate, -/obj/item/device/pda/syndicate, -/obj/item/device/pda/syndicate, +/obj/item/pda/syndicate, +/obj/item/pda/syndicate, +/obj/item/pda/syndicate, +/obj/item/pda/syndicate, +/obj/item/pda/syndicate, +/obj/item/pda/syndicate, /turf/unsimulated/floor{ icon_state = "lino" }, /area/antag/antag_base) "aI" = ( /obj/structure/table/standard, -/obj/item/weapon/card/id/syndicate, -/obj/item/weapon/card/id/syndicate, -/obj/item/weapon/card/id/syndicate, -/obj/item/weapon/card/id/syndicate, -/obj/item/weapon/card/id/syndicate, -/obj/item/weapon/card/id/syndicate, +/obj/item/card/id/syndicate, +/obj/item/card/id/syndicate, +/obj/item/card/id/syndicate, +/obj/item/card/id/syndicate, +/obj/item/card/id/syndicate, +/obj/item/card/id/syndicate, /turf/unsimulated/floor{ icon_state = "lino" }, @@ -485,31 +485,31 @@ /obj/effect/landmark{ name = "Syndicate-Spawn" }, -/obj/item/weapon/bedsheet/pirate, +/obj/item/bedsheet/pirate, /turf/unsimulated/floor{ icon_state = "lino" }, /area/antag/antag_base) "aO" = ( /obj/structure/table/rack, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, /turf/unsimulated/floor{ dir = 2; icon_state = "dark" @@ -517,18 +517,18 @@ /area/antag/antag_base) "aP" = ( /obj/structure/table/rack, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/melee/energy/sword/red, -/obj/item/weapon/melee/energy/sword/red, -/obj/item/weapon/melee/energy/sword/red, -/obj/item/weapon/melee/energy/sword/red, -/obj/item/weapon/melee/energy/sword/red, -/obj/item/weapon/melee/energy/sword/red, +/obj/item/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, +/obj/item/melee/energy/sword/red, +/obj/item/melee/energy/sword/red, +/obj/item/melee/energy/sword/red, +/obj/item/melee/energy/sword/red, +/obj/item/melee/energy/sword/red, +/obj/item/melee/energy/sword/red, /obj/machinery/recharger/wallcharger{ pixel_x = 5; pixel_y = 32 @@ -540,11 +540,11 @@ /area/antag/antag_base) "aQ" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/sizegun, -/obj/item/weapon/gun/energy/sizegun, -/obj/item/weapon/gun/energy/sizegun, -/obj/item/weapon/gun/energy/sizegun, -/obj/item/weapon/gun/energy/sizegun, +/obj/item/gun/energy/sizegun, +/obj/item/gun/energy/sizegun, +/obj/item/gun/energy/sizegun, +/obj/item/gun/energy/sizegun, +/obj/item/gun/energy/sizegun, /obj/effect/floor_decal/corner/purple{ dir = 5 }, @@ -562,11 +562,11 @@ /area/antag/antag_base) "aR" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/syndie_kit/imp_uplink, -/obj/item/weapon/storage/box/syndie_kit/imp_uplink, -/obj/item/weapon/storage/box/syndie_kit/imp_uplink, -/obj/item/weapon/storage/box/syndie_kit/imp_uplink, -/obj/item/weapon/storage/box/syndie_kit/imp_uplink, +/obj/item/storage/box/syndie_kit/imp_uplink, +/obj/item/storage/box/syndie_kit/imp_uplink, +/obj/item/storage/box/syndie_kit/imp_uplink, +/obj/item/storage/box/syndie_kit/imp_uplink, +/obj/item/storage/box/syndie_kit/imp_uplink, /obj/effect/floor_decal/corner/green{ dir = 10 }, @@ -649,7 +649,7 @@ /obj/effect/landmark{ name = "Syndicate-Spawn" }, -/obj/item/weapon/bedsheet/pirate, +/obj/item/bedsheet/pirate, /turf/unsimulated/floor{ icon_state = "lino" }, @@ -724,12 +724,12 @@ /obj/item/ammo_magazine/m10mm, /obj/item/ammo_magazine/m10mm, /obj/item/ammo_magazine/m10mm, -/obj/item/weapon/gun/projectile/automatic/c20r, -/obj/item/weapon/gun/projectile/automatic/c20r, -/obj/item/weapon/gun/projectile/automatic/c20r, -/obj/item/weapon/gun/projectile/automatic/c20r, -/obj/item/weapon/gun/projectile/automatic/c20r, -/obj/item/weapon/gun/projectile/automatic/c20r, +/obj/item/gun/projectile/automatic/c20r, +/obj/item/gun/projectile/automatic/c20r, +/obj/item/gun/projectile/automatic/c20r, +/obj/item/gun/projectile/automatic/c20r, +/obj/item/gun/projectile/automatic/c20r, +/obj/item/gun/projectile/automatic/c20r, /obj/effect/floor_decal/corner/red{ dir = 9 }, @@ -743,13 +743,13 @@ /area/antag/antag_base) "bf" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/silenced, -/obj/item/weapon/gun/projectile/silenced, -/obj/item/weapon/gun/projectile/silenced, -/obj/item/weapon/gun/projectile/silenced, -/obj/item/weapon/gun/projectile/silenced, -/obj/item/weapon/gun/projectile/silenced, -/obj/item/weapon/gun/projectile/silenced, +/obj/item/gun/projectile/silenced, +/obj/item/gun/projectile/silenced, +/obj/item/gun/projectile/silenced, +/obj/item/gun/projectile/silenced, +/obj/item/gun/projectile/silenced, +/obj/item/gun/projectile/silenced, +/obj/item/gun/projectile/silenced, /obj/effect/floor_decal/corner/red{ dir = 9 }, @@ -800,12 +800,12 @@ /area/antag/antag_base) "bj" = ( /obj/structure/table/rack, -/obj/item/weapon/tank/jetpack/oxygen, -/obj/item/weapon/tank/jetpack/oxygen, -/obj/item/weapon/tank/jetpack/oxygen, -/obj/item/weapon/tank/jetpack/oxygen, -/obj/item/weapon/tank/jetpack/oxygen, -/obj/item/weapon/tank/jetpack/oxygen, +/obj/item/tank/jetpack/oxygen, +/obj/item/tank/jetpack/oxygen, +/obj/item/tank/jetpack/oxygen, +/obj/item/tank/jetpack/oxygen, +/obj/item/tank/jetpack/oxygen, +/obj/item/tank/jetpack/oxygen, /obj/effect/floor_decal/borderfloorblack{ dir = 1 }, @@ -843,15 +843,15 @@ /area/antag/antag_base) "bm" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/backpack/dufflebag/syndie, -/obj/item/weapon/storage/backpack/dufflebag/syndie, -/obj/item/weapon/storage/backpack/messenger/black, -/obj/item/weapon/storage/backpack/messenger/black, -/obj/item/weapon/storage/backpack/satchel/norm, -/obj/item/weapon/storage/backpack/satchel/norm, -/obj/item/weapon/storage/backpack/satchel/norm, -/obj/item/weapon/storage/backpack/satchel/norm, -/obj/item/weapon/storage/backpack/satchel/norm, +/obj/item/storage/backpack/dufflebag/syndie, +/obj/item/storage/backpack/dufflebag/syndie, +/obj/item/storage/backpack/messenger/black, +/obj/item/storage/backpack/messenger/black, +/obj/item/storage/backpack/satchel/norm, +/obj/item/storage/backpack/satchel/norm, +/obj/item/storage/backpack/satchel/norm, +/obj/item/storage/backpack/satchel/norm, +/obj/item/storage/backpack/satchel/norm, /turf/unsimulated/floor{ icon_state = "lino" }, @@ -884,10 +884,10 @@ /area/antag/antag_base) "bo" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, +/obj/item/gun/energy/laser, +/obj/item/gun/energy/laser, +/obj/item/gun/energy/laser, +/obj/item/gun/energy/laser, /obj/effect/floor_decal/corner/red{ dir = 9 }, @@ -946,12 +946,12 @@ /area/antag/antag_base) "bu" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, +/obj/item/gun/energy/gun, +/obj/item/gun/energy/gun, +/obj/item/gun/energy/gun, +/obj/item/gun/energy/gun, +/obj/item/gun/energy/gun, +/obj/item/gun/energy/gun, /obj/effect/floor_decal/corner/yellow{ dir = 6 }, @@ -965,10 +965,10 @@ /area/antag/antag_base) "bv" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/ionrifle/pistol, -/obj/item/weapon/gun/energy/ionrifle/pistol, -/obj/item/weapon/gun/energy/ionrifle, -/obj/item/weapon/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle/pistol, +/obj/item/gun/energy/ionrifle/pistol, +/obj/item/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle, /obj/effect/floor_decal/corner/yellow{ dir = 6 }, @@ -1059,8 +1059,8 @@ /area/antag/antag_base) "bE" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/netgun, -/obj/item/weapon/gun/energy/netgun, +/obj/item/gun/energy/netgun, +/obj/item/gun/energy/netgun, /obj/effect/floor_decal/corner/blue{ dir = 6 }, @@ -1074,29 +1074,29 @@ /area/antag/antag_base) "bF" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/gun/energy/stunrevolver, -/obj/item/weapon/gun/energy/stunrevolver, -/obj/item/weapon/gun/energy/stunrevolver, -/obj/item/weapon/gun/energy/stunrevolver, -/obj/item/weapon/gun/energy/stunrevolver, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/stunrevolver, +/obj/item/gun/energy/stunrevolver, +/obj/item/gun/energy/stunrevolver, +/obj/item/gun/energy/stunrevolver, +/obj/item/gun/energy/stunrevolver, /obj/effect/floor_decal/corner/blue{ dir = 6 }, /obj/effect/floor_decal/corner/blue{ dir = 9 }, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, /turf/unsimulated/floor{ dir = 2; icon_state = "dark" @@ -1126,8 +1126,8 @@ dir = 10 }, /obj/structure/table/rack, -/obj/item/weapon/rig/merc/empty, -/obj/item/weapon/rig/merc/empty, +/obj/item/rig/merc/empty, +/obj/item/rig/merc/empty, /turf/unsimulated/floor{ dir = 2; icon_state = "dark" @@ -1155,13 +1155,13 @@ /area/antag/antag_base) "bL" = ( /obj/structure/table/rack, -/obj/item/weapon/tank/oxygen/red, -/obj/item/weapon/tank/oxygen/red, -/obj/item/weapon/tank/oxygen/red, -/obj/item/weapon/tank/oxygen/red, -/obj/item/weapon/tank/oxygen/red, -/obj/item/weapon/tank/oxygen/red, -/obj/item/weapon/tank/oxygen/red, +/obj/item/tank/oxygen/red, +/obj/item/tank/oxygen/red, +/obj/item/tank/oxygen/red, +/obj/item/tank/oxygen/red, +/obj/item/tank/oxygen/red, +/obj/item/tank/oxygen/red, +/obj/item/tank/oxygen/red, /obj/effect/floor_decal/borderfloorblack{ dir = 10 }, @@ -1192,32 +1192,32 @@ /area/antag/antag_base) "bO" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 3 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = -4 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8; pixel_y = 12 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = 12 }, @@ -1269,11 +1269,11 @@ /area/antag/antag_base) "bT" = ( /obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/reagent_containers/food/snacks/sandwich, -/obj/item/weapon/reagent_containers/food/snacks/sandwich, -/obj/item/weapon/reagent_containers/food/snacks/sandwich, -/obj/item/weapon/reagent_containers/food/snacks/sandwich, -/obj/item/weapon/reagent_containers/food/snacks/sandwich, +/obj/item/reagent_containers/food/snacks/sandwich, +/obj/item/reagent_containers/food/snacks/sandwich, +/obj/item/reagent_containers/food/snacks/sandwich, +/obj/item/reagent_containers/food/snacks/sandwich, +/obj/item/reagent_containers/food/snacks/sandwich, /turf/unsimulated/floor{ name = "plating"; icon_state = "cult" @@ -1301,9 +1301,9 @@ /area/antag/antag_base) "bX" = ( /obj/structure/table/rack, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, /turf/unsimulated/floor{ dir = 2; icon_state = "dark" @@ -1311,12 +1311,12 @@ /area/antag/antag_base) "bY" = ( /obj/structure/table/rack, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, /obj/effect/floor_decal/borderfloorblack{ dir = 9 }, @@ -1327,12 +1327,12 @@ /area/antag/antag_base) "bZ" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/toolbox/syndicate, -/obj/item/weapon/storage/toolbox/syndicate, -/obj/item/weapon/storage/toolbox/syndicate, -/obj/item/weapon/storage/toolbox/syndicate, -/obj/item/weapon/storage/toolbox/syndicate, -/obj/item/weapon/storage/toolbox/syndicate, +/obj/item/storage/toolbox/syndicate, +/obj/item/storage/toolbox/syndicate, +/obj/item/storage/toolbox/syndicate, +/obj/item/storage/toolbox/syndicate, +/obj/item/storage/toolbox/syndicate, +/obj/item/storage/toolbox/syndicate, /obj/effect/floor_decal/borderfloorblack{ dir = 1 }, @@ -1361,11 +1361,11 @@ /area/antag/antag_base) "cb" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/firstaid/combat, -/obj/item/weapon/storage/firstaid/combat, -/obj/item/weapon/storage/firstaid/combat, -/obj/item/weapon/reagent_containers/hypospray, -/obj/item/weapon/reagent_containers/hypospray, +/obj/item/storage/firstaid/combat, +/obj/item/storage/firstaid/combat, +/obj/item/storage/firstaid/combat, +/obj/item/reagent_containers/hypospray, +/obj/item/reagent_containers/hypospray, /obj/effect/floor_decal/borderfloorblack{ dir = 1 }, @@ -1379,38 +1379,38 @@ /area/antag/antag_base) "cc" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/belt/security{ +/obj/item/storage/belt/security{ name = "black belt" }, -/obj/item/weapon/storage/belt/security{ +/obj/item/storage/belt/security{ name = "black belt" }, -/obj/item/weapon/storage/belt/security{ +/obj/item/storage/belt/security{ name = "black belt" }, -/obj/item/weapon/storage/belt/security{ +/obj/item/storage/belt/security{ name = "black belt" }, -/obj/item/weapon/storage/belt/security{ +/obj/item/storage/belt/security{ name = "black belt" }, -/obj/item/weapon/storage/belt/security{ +/obj/item/storage/belt/security{ name = "black belt" }, -/obj/item/weapon/storage/belt/security{ +/obj/item/storage/belt/security{ name = "black belt" }, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical/bandolier, -/obj/item/weapon/storage/belt/security/tactical/bandolier, -/obj/item/weapon/storage/belt/security/tactical/bandolier, -/obj/item/weapon/storage/belt/security/tactical/bandolier, -/obj/item/weapon/storage/belt/security/tactical/bandolier, -/obj/item/weapon/storage/belt/security/tactical/bandolier, +/obj/item/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical/bandolier, +/obj/item/storage/belt/security/tactical/bandolier, +/obj/item/storage/belt/security/tactical/bandolier, +/obj/item/storage/belt/security/tactical/bandolier, +/obj/item/storage/belt/security/tactical/bandolier, +/obj/item/storage/belt/security/tactical/bandolier, /obj/effect/floor_decal/borderfloorblack{ dir = 1 }, @@ -1421,12 +1421,12 @@ /area/antag/antag_base) "cd" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/weapon/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, /obj/effect/floor_decal/borderfloorblack{ dir = 5 }, @@ -1453,7 +1453,7 @@ /obj/machinery/vending/cigarette{ name = "Breach Corp cigarette machine"; prices = list(); - products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) + products = list(/obj/item/storage/fancy/cigarettes = 10, /obj/item/storage/box/matches = 10, /obj/item/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) }, /turf/unsimulated/floor{ name = "plating"; @@ -1471,7 +1471,7 @@ /area/antag/antag_base) "ch" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/donut{ +/obj/item/storage/box/donut{ desc = "There's a name, and a message written on the lid. It reads, \"DO NOT EAT. That means you, Dave!\""; name = "Mike's donut box" }, @@ -1481,15 +1481,15 @@ }, /area/antag/antag_base) "ci" = ( -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /obj/structure/table/glass, -/obj/item/weapon/folder{ +/obj/item/folder{ pixel_y = 2 }, /turf/unsimulated/floor{ @@ -1508,13 +1508,13 @@ /area/antag/antag_base) "ck" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/handcuffs{ +/obj/item/storage/box/handcuffs{ pixel_x = 4; pixel_y = 2 }, -/obj/item/weapon/storage/box/flashbangs, -/obj/item/weapon/storage/box/smokes, -/obj/item/weapon/storage/box/frags, +/obj/item/storage/box/flashbangs, +/obj/item/storage/box/smokes, +/obj/item/storage/box/frags, /turf/unsimulated/floor{ dir = 2; icon_state = "dark" @@ -1522,20 +1522,20 @@ /area/antag/antag_base) "cl" = ( /obj/structure/table/rack, -/obj/item/weapon/tool/crowbar/red, -/obj/item/weapon/tool/crowbar/red, -/obj/item/weapon/tool/crowbar/red, -/obj/item/weapon/tool/crowbar/red, -/obj/item/weapon/tool/crowbar/red, +/obj/item/tool/crowbar/red, +/obj/item/tool/crowbar/red, +/obj/item/tool/crowbar/red, +/obj/item/tool/crowbar/red, +/obj/item/tool/crowbar/red, /obj/effect/floor_decal/borderfloorblack{ dir = 8 }, -/obj/item/device/flashlight/maglight, -/obj/item/device/flashlight/maglight, -/obj/item/device/flashlight/maglight, -/obj/item/device/flashlight/maglight, -/obj/item/device/flashlight/maglight, -/obj/item/device/flashlight/maglight, +/obj/item/flashlight/maglight, +/obj/item/flashlight/maglight, +/obj/item/flashlight/maglight, +/obj/item/flashlight/maglight, +/obj/item/flashlight/maglight, +/obj/item/flashlight/maglight, /turf/unsimulated/floor{ dir = 2; icon_state = "dark" @@ -1543,14 +1543,14 @@ /area/antag/antag_base) "cm" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/adv, -/obj/item/weapon/storage/firstaid/adv, -/obj/item/weapon/storage/firstaid/clotting, -/obj/item/weapon/storage/firstaid/o2, -/obj/item/weapon/storage/firstaid/o2, -/obj/item/weapon/storage/firstaid/fire, +/obj/item/storage/firstaid/toxin, +/obj/item/storage/firstaid/toxin, +/obj/item/storage/firstaid/adv, +/obj/item/storage/firstaid/adv, +/obj/item/storage/firstaid/clotting, +/obj/item/storage/firstaid/o2, +/obj/item/storage/firstaid/o2, +/obj/item/storage/firstaid/fire, /obj/effect/floor_decal/borderfloorblack{ dir = 4 }, @@ -1582,12 +1582,12 @@ /area/antag/antag_base) "cp" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/syndie_kit/combat_armor, -/obj/item/weapon/storage/box/syndie_kit/combat_armor, -/obj/item/weapon/storage/box/syndie_kit/combat_armor, -/obj/item/weapon/storage/box/syndie_kit/combat_armor, -/obj/item/weapon/storage/box/syndie_kit/combat_armor, -/obj/item/weapon/storage/box/syndie_kit/combat_armor, +/obj/item/storage/box/syndie_kit/combat_armor, +/obj/item/storage/box/syndie_kit/combat_armor, +/obj/item/storage/box/syndie_kit/combat_armor, +/obj/item/storage/box/syndie_kit/combat_armor, +/obj/item/storage/box/syndie_kit/combat_armor, +/obj/item/storage/box/syndie_kit/combat_armor, /turf/unsimulated/floor{ dir = 2; icon_state = "dark" @@ -1595,15 +1595,15 @@ /area/antag/antag_base) "cq" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/syndie_kit/ewar_voice, -/obj/item/weapon/storage/box/syndie_kit/ewar_voice, -/obj/item/weapon/storage/box/syndie_kit/ewar_voice, -/obj/item/weapon/storage/box/syndie_kit/ewar_voice, +/obj/item/storage/box/syndie_kit/ewar_voice, +/obj/item/storage/box/syndie_kit/ewar_voice, +/obj/item/storage/box/syndie_kit/ewar_voice, +/obj/item/storage/box/syndie_kit/ewar_voice, /obj/machinery/recharger/wallcharger{ pixel_x = 5; pixel_y = -32 }, -/obj/item/weapon/card/emag, +/obj/item/card/emag, /turf/unsimulated/floor{ dir = 2; icon_state = "dark" @@ -1611,19 +1611,19 @@ /area/antag/antag_base) "cr" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/syndie_kit/spy, -/obj/item/weapon/storage/box/syndie_kit/spy, -/obj/item/weapon/storage/box/syndie_kit/spy, -/obj/item/weapon/storage/box/syndie_kit/spy, -/obj/item/weapon/storage/box/syndie_kit/spy, -/obj/item/device/radio_jammer, -/obj/item/device/radio_jammer, -/obj/item/device/radio_jammer, -/obj/item/device/radio_jammer, -/obj/item/device/radio_jammer, -/obj/item/device/chameleon, -/obj/item/device/chameleon, -/obj/item/device/chameleon, +/obj/item/storage/box/syndie_kit/spy, +/obj/item/storage/box/syndie_kit/spy, +/obj/item/storage/box/syndie_kit/spy, +/obj/item/storage/box/syndie_kit/spy, +/obj/item/storage/box/syndie_kit/spy, +/obj/item/radio_jammer, +/obj/item/radio_jammer, +/obj/item/radio_jammer, +/obj/item/radio_jammer, +/obj/item/radio_jammer, +/obj/item/chameleon, +/obj/item/chameleon, +/obj/item/chameleon, /obj/machinery/recharger/wallcharger{ pixel_x = 5; pixel_y = -32 @@ -1635,12 +1635,12 @@ /area/antag/antag_base) "cs" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/syndie_kit/chameleon, -/obj/item/weapon/storage/box/syndie_kit/chameleon, -/obj/item/weapon/storage/box/syndie_kit/chameleon, -/obj/item/weapon/storage/box/syndie_kit/chameleon, -/obj/item/weapon/storage/box/syndie_kit/chameleon, -/obj/item/weapon/storage/box/syndie_kit/chameleon, +/obj/item/storage/box/syndie_kit/chameleon, +/obj/item/storage/box/syndie_kit/chameleon, +/obj/item/storage/box/syndie_kit/chameleon, +/obj/item/storage/box/syndie_kit/chameleon, +/obj/item/storage/box/syndie_kit/chameleon, +/obj/item/storage/box/syndie_kit/chameleon, /obj/machinery/recharger/wallcharger{ pixel_x = 5; pixel_y = -32 @@ -1652,33 +1652,33 @@ /area/antag/antag_base) "ct" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/syndie_kit/demolitions_super_heavy{ +/obj/item/storage/box/syndie_kit/demolitions_super_heavy{ name = "Super Heavy Demolitions kit" }, -/obj/item/weapon/storage/box/syndie_kit/demolitions_heavy{ +/obj/item/storage/box/syndie_kit/demolitions_heavy{ name = "Heavy Demolitions kit" }, -/obj/item/weapon/storage/box/syndie_kit/demolitions_heavy{ +/obj/item/storage/box/syndie_kit/demolitions_heavy{ name = "Heavy Demolitions kit" }, -/obj/item/weapon/storage/box/syndie_kit/demolitions{ +/obj/item/storage/box/syndie_kit/demolitions{ name = "Demolitions kit" }, -/obj/item/weapon/storage/box/syndie_kit/demolitions{ +/obj/item/storage/box/syndie_kit/demolitions{ name = "Demolitions kit" }, -/obj/item/weapon/storage/box/syndie_kit/demolitions{ +/obj/item/storage/box/syndie_kit/demolitions{ name = "Demolitions kit" }, -/obj/item/weapon/storage/box/syndie_kit/demolitions{ +/obj/item/storage/box/syndie_kit/demolitions{ name = "Demolitions kit" }, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, /turf/unsimulated/floor{ dir = 2; icon_state = "dark" @@ -1736,12 +1736,12 @@ /area/antag/antag_base) "cy" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, -/obj/item/weapon/storage/backpack/dufflebag/syndie/med, -/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, -/obj/item/weapon/storage/backpack/dufflebag/syndie/med, -/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, -/obj/item/weapon/storage/backpack/dufflebag/syndie/med, +/obj/item/storage/backpack/dufflebag/syndie/ammo, +/obj/item/storage/backpack/dufflebag/syndie/med, +/obj/item/storage/backpack/dufflebag/syndie/ammo, +/obj/item/storage/backpack/dufflebag/syndie/med, +/obj/item/storage/backpack/dufflebag/syndie/ammo, +/obj/item/storage/backpack/dufflebag/syndie/med, /obj/effect/floor_decal/borderfloorblack{ dir = 4 }, @@ -1764,8 +1764,8 @@ /obj/item/stack/medical/ointment, /obj/item/stack/medical/bruise_pack, /obj/item/stack/medical/bruise_pack, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, /obj/item/stack/medical/advanced/bruise_pack, /obj/item/stack/medical/advanced/bruise_pack, /obj/item/stack/medical/advanced/bruise_pack, @@ -1804,9 +1804,9 @@ /obj/structure/closet{ name = "custodial" }, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/mop, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/glass/bucket, +/obj/item/mop, +/obj/item/reagent_containers/spray/cleaner, /obj/effect/floor_decal/borderfloorblack{ dir = 5 }, @@ -1817,18 +1817,18 @@ /area/antag/antag_base) "cD" = ( /obj/structure/table/rack, -/obj/item/device/camera_film, -/obj/item/device/camera_film, -/obj/item/device/camera_film, -/obj/item/device/camera_film, -/obj/item/device/camera_film, -/obj/item/device/camera_film, -/obj/item/device/camera, -/obj/item/device/camera, -/obj/item/device/camera, -/obj/item/device/camera, -/obj/item/device/camera, -/obj/item/device/camera, +/obj/item/camera_film, +/obj/item/camera_film, +/obj/item/camera_film, +/obj/item/camera_film, +/obj/item/camera_film, +/obj/item/camera_film, +/obj/item/camera, +/obj/item/camera, +/obj/item/camera, +/obj/item/camera, +/obj/item/camera, +/obj/item/camera, /obj/effect/floor_decal/borderfloorblack{ dir = 10 }, @@ -1839,12 +1839,12 @@ /area/antag/antag_base) "cE" = ( /obj/structure/table/rack, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, /obj/effect/floor_decal/borderfloorblack, /turf/unsimulated/floor{ dir = 2; @@ -1853,11 +1853,11 @@ /area/antag/antag_base) "cF" = ( /obj/structure/table/rack, -/obj/item/device/binoculars, -/obj/item/device/binoculars, -/obj/item/device/binoculars, -/obj/item/device/binoculars, -/obj/item/device/binoculars, +/obj/item/binoculars, +/obj/item/binoculars, +/obj/item/binoculars, +/obj/item/binoculars, +/obj/item/binoculars, /obj/effect/floor_decal/borderfloorblack, /turf/unsimulated/floor{ dir = 2; @@ -1880,11 +1880,11 @@ /area/antag/antag_base) "cH" = ( /obj/structure/table/rack, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, /obj/effect/floor_decal/borderfloorblack, /turf/unsimulated/floor{ dir = 2; @@ -1893,12 +1893,12 @@ /area/antag/antag_base) "cI" = ( /obj/structure/table/rack, -/obj/item/weapon/pinpointer/nukeop, -/obj/item/weapon/pinpointer/nukeop, -/obj/item/weapon/pinpointer/nukeop, -/obj/item/weapon/pinpointer/nukeop, -/obj/item/weapon/pinpointer/nukeop, -/obj/item/weapon/pinpointer/nukeop, +/obj/item/pinpointer/nukeop, +/obj/item/pinpointer/nukeop, +/obj/item/pinpointer/nukeop, +/obj/item/pinpointer/nukeop, +/obj/item/pinpointer/nukeop, +/obj/item/pinpointer/nukeop, /obj/effect/floor_decal/borderfloorblack, /turf/unsimulated/floor{ dir = 2; @@ -1907,13 +1907,13 @@ /area/antag/antag_base) "cJ" = ( /obj/structure/table/rack, -/obj/item/device/flashlight/flare, -/obj/item/device/flashlight/flare, -/obj/item/device/flashlight/flare, -/obj/item/device/flashlight/flare, -/obj/item/device/flashlight/flare, -/obj/item/device/flashlight/flare, -/obj/item/device/flashlight/flare, +/obj/item/flashlight/flare, +/obj/item/flashlight/flare, +/obj/item/flashlight/flare, +/obj/item/flashlight/flare, +/obj/item/flashlight/flare, +/obj/item/flashlight/flare, +/obj/item/flashlight/flare, /obj/effect/floor_decal/borderfloorblack{ dir = 6 }, @@ -1982,12 +1982,12 @@ }, /area/antag/antag_base) "cP" = ( -/obj/item/weapon/handcuffs, -/obj/item/weapon/handcuffs, -/obj/item/weapon/handcuffs, -/obj/item/weapon/handcuffs/fuzzy, -/obj/item/weapon/handcuffs/fuzzy, -/obj/item/weapon/handcuffs, +/obj/item/handcuffs, +/obj/item/handcuffs, +/obj/item/handcuffs, +/obj/item/handcuffs/fuzzy, +/obj/item/handcuffs/fuzzy, +/obj/item/handcuffs, /obj/structure/table/steel, /obj/effect/floor_decal/borderfloorblack{ dir = 4 @@ -2025,7 +2025,7 @@ }, /area/antag/antag_base) "cS" = ( -/obj/item/weapon/reagent_containers/hypospray, +/obj/item/reagent_containers/hypospray, /obj/structure/table/steel, /turf/unsimulated/floor{ dir = 2; @@ -2205,18 +2205,18 @@ }, /area/antag/antag_base) "dk" = ( -/obj/item/weapon/material/knife/plastic{ +/obj/item/material/knife/plastic{ pixel_x = -6 }, -/obj/item/weapon/reagent_containers/syringe/drugs{ +/obj/item/reagent_containers/syringe/drugs{ pixel_x = 3; pixel_y = -1 }, -/obj/item/weapon/reagent_containers/syringe/drugs{ +/obj/item/reagent_containers/syringe/drugs{ pixel_x = 3; pixel_y = 4 }, -/obj/item/weapon/reagent_containers/syringe/drugs{ +/obj/item/reagent_containers/syringe/drugs{ pixel_x = 3; pixel_y = 9 }, @@ -2237,7 +2237,7 @@ dir = 4; icon_state = "twindow" }, -/obj/item/weapon/soap/syndie, +/obj/item/soap/syndie, /turf/unsimulated/floor{ icon_state = "freezerfloor"; dir = 2 @@ -2320,21 +2320,21 @@ }, /area/antag/antag_base) "dx" = ( -/obj/item/device/defib_kit, -/obj/item/device/defib_kit, +/obj/item/defib_kit, +/obj/item/defib_kit, /obj/structure/table/standard, /obj/machinery/recharger, -/obj/item/weapon/tool/screwdriver, +/obj/item/tool/screwdriver, /turf/unsimulated/floor{ icon_state = "white" }, /area/antag/antag_base) "dy" = ( -/obj/item/weapon/reagent_containers/blood/AMinus, -/obj/item/weapon/reagent_containers/blood/APlus, -/obj/item/weapon/reagent_containers/blood/BMinus, -/obj/item/weapon/reagent_containers/blood/BPlus, -/obj/item/weapon/reagent_containers/blood/OPlus, +/obj/item/reagent_containers/blood/AMinus, +/obj/item/reagent_containers/blood/APlus, +/obj/item/reagent_containers/blood/BMinus, +/obj/item/reagent_containers/blood/BPlus, +/obj/item/reagent_containers/blood/OPlus, /obj/structure/closet/crate/freezer, /turf/unsimulated/floor{ icon_state = "white" @@ -2342,12 +2342,12 @@ /area/antag/antag_base) "dz" = ( /obj/structure/closet/crate/freezer, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /turf/unsimulated/floor{ icon_state = "white" }, @@ -2360,23 +2360,23 @@ /area/antag/antag_base) "dB" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/circular_saw, -/obj/item/weapon/surgical/surgicaldrill, +/obj/item/surgical/circular_saw, +/obj/item/surgical/surgicaldrill, /turf/unsimulated/floor{ icon_state = "white" }, /area/antag/antag_base) "dC" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/retractor, -/obj/item/weapon/surgical/bonesetter, +/obj/item/surgical/retractor, +/obj/item/surgical/bonesetter, /turf/unsimulated/floor{ icon_state = "white" }, /area/antag/antag_base) "dD" = ( -/obj/item/weapon/gun/energy/sizegun, -/obj/item/weapon/gun/energy/sizegun, +/obj/item/gun/energy/sizegun, +/obj/item/gun/energy/sizegun, /obj/structure/table/steel, /obj/effect/floor_decal/borderfloorblack{ dir = 4 @@ -2398,7 +2398,7 @@ /area/antag/antag_base) "dF" = ( /obj/structure/table/reinforced, -/obj/item/weapon/tray{ +/obj/item/tray{ pixel_y = 5 }, /turf/unsimulated/floor{ @@ -2440,8 +2440,8 @@ /area/antag/antag_base) "dK" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/cautery, -/obj/item/weapon/surgical/FixOVein, +/obj/item/surgical/cautery, +/obj/item/surgical/FixOVein, /turf/unsimulated/floor{ icon_state = "white" }, @@ -2451,10 +2451,10 @@ pixel_x = 5; pixel_y = -32 }, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, /obj/structure/table/steel, /obj/effect/floor_decal/borderfloorblack, /turf/unsimulated/floor{ @@ -2463,17 +2463,17 @@ }, /area/antag/antag_base) "dM" = ( -/obj/item/clothing/gloves/knuckledusters, -/obj/item/clothing/gloves/knuckledusters, -/obj/item/clothing/gloves/knuckledusters, -/obj/item/clothing/gloves/knuckledusters, -/obj/item/clothing/gloves/knuckledusters, +/obj/item/clothing/accessory/knuckledusters, +/obj/item/clothing/accessory/knuckledusters, +/obj/item/clothing/accessory/knuckledusters, +/obj/item/clothing/accessory/knuckledusters, +/obj/item/clothing/accessory/knuckledusters, /obj/structure/table/steel, /obj/effect/floor_decal/borderfloorblack{ dir = 6 }, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, /turf/unsimulated/floor{ dir = 2; icon_state = "dark" @@ -2518,11 +2518,11 @@ /area/antag/antag_base) "dQ" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka{ +/obj/item/reagent_containers/food/drinks/bottle/vodka{ pixel_x = 3; pixel_y = 12 }, -/obj/item/weapon/reagent_containers/food/drinks/bottle/wine{ +/obj/item/reagent_containers/food/drinks/bottle/wine{ pixel_x = -1; pixel_y = 8 }, @@ -2549,7 +2549,7 @@ /area/antag/antag_base) "dT" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/glasses/square{ +/obj/item/storage/box/glasses/square{ pixel_x = 1; pixel_y = 4 }, @@ -2572,9 +2572,9 @@ /area/antag/antag_base) "dW" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/scalpel, -/obj/item/device/healthanalyzer, -/obj/item/weapon/surgical/hemostat, +/obj/item/surgical/scalpel, +/obj/item/healthanalyzer, +/obj/item/surgical/hemostat, /turf/unsimulated/floor{ icon_state = "white" }, @@ -2618,22 +2618,22 @@ name = "Grenade Crate"; opened = 1 }, -/obj/item/weapon/grenade/chem_grenade, -/obj/item/weapon/grenade/chem_grenade, -/obj/item/weapon/grenade/chem_grenade, -/obj/item/device/assembly/igniter, -/obj/item/device/assembly/igniter, -/obj/item/device/assembly/igniter, -/obj/item/device/assembly/timer, -/obj/item/device/assembly/timer, -/obj/item/device/assembly/timer, +/obj/item/grenade/chem_grenade, +/obj/item/grenade/chem_grenade, +/obj/item/grenade/chem_grenade, +/obj/item/assembly/igniter, +/obj/item/assembly/igniter, +/obj/item/assembly/igniter, +/obj/item/assembly/timer, +/obj/item/assembly/timer, +/obj/item/assembly/timer, /turf/unsimulated/floor{ icon_state = "white" }, /area/antag/antag_base) "eb" = ( -/obj/item/weapon/tool/screwdriver, -/obj/item/weapon/storage/box/beakers, +/obj/item/tool/screwdriver, +/obj/item/storage/box/beakers, /obj/item/stack/material/phoron, /obj/item/stack/material/phoron, /obj/item/stack/material/phoron, @@ -2647,7 +2647,7 @@ "ec" = ( /obj/structure/table/standard, /obj/machinery/reagentgrinder, -/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, /obj/effect/floor_decal/steeldecal/steel_decals10, /turf/unsimulated/floor{ icon_state = "white" @@ -2706,8 +2706,8 @@ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/surgical/bonegel, -/obj/item/weapon/surgical/bonegel, +/obj/item/surgical/bonegel, +/obj/item/surgical/bonegel, /obj/item/stack/nanopaste, /turf/unsimulated/floor{ icon_state = "white" @@ -2930,18 +2930,18 @@ req_access = list(150) }, /obj/item/bodybag, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/reagent_containers/glass/bottle/antitoxin{ +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/glass/bottle/antitoxin{ pixel_x = -4; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline{ +/obj/item/reagent_containers/glass/bottle/inaprovaline{ pixel_x = 4; pixel_y = 7 }, -/obj/item/weapon/reagent_containers/syringe, +/obj/item/reagent_containers/syringe, /turf/simulated/shuttle/floor/white, /area/shuttle/mercenary) "eB" = ( @@ -3012,9 +3012,9 @@ /obj/structure/closet{ name = "custodial" }, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/mop, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/glass/bucket, +/obj/item/mop, +/obj/item/reagent_containers/spray/cleaner, /obj/machinery/atmospherics/pipe/simple/visible{ dir = 10 }, @@ -3024,7 +3024,7 @@ "eK" = ( /obj/structure/table/standard, /obj/item/stack/cable_coil/black, -/obj/item/weapon/storage/toolbox/syndicate, +/obj/item/storage/toolbox/syndicate, /turf/simulated/floor/plating, /area/shuttle/mercenary) "eL" = ( @@ -3120,9 +3120,9 @@ /area/shuttle/mercenary) "eW" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/device/radio/intercom{ +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; @@ -3207,13 +3207,13 @@ /obj/item/stack/medical/bruise_pack, /obj/item/stack/medical/bruise_pack, /obj/item/stack/medical/bruise_pack, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/firstaid/combat, +/obj/item/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, +/obj/item/storage/firstaid/combat, /obj/machinery/light{ dir = 4 }, -/obj/item/device/defib_kit/compact/combat/loaded, +/obj/item/defib_kit/compact/combat/loaded, /turf/simulated/shuttle/floor{ icon_state = "floor_red" }, @@ -3275,9 +3275,9 @@ dir = 1 }, /obj/structure/table/standard, -/obj/item/weapon/surgical/surgicaldrill, -/obj/item/weapon/surgical/cautery, -/obj/item/weapon/surgical/retractor, +/obj/item/surgical/surgicaldrill, +/obj/item/surgical/cautery, +/obj/item/surgical/retractor, /obj/item/stack/nanopaste, /obj/structure/window/reinforced{ dir = 8 @@ -3297,18 +3297,18 @@ dir = 1 }, /obj/structure/table/standard, -/obj/item/weapon/surgical/circular_saw, -/obj/item/weapon/surgical/FixOVein{ +/obj/item/surgical/circular_saw, +/obj/item/surgical/FixOVein{ pixel_x = -6; pixel_y = 1 }, -/obj/item/weapon/surgical/hemostat, +/obj/item/surgical/hemostat, /obj/machinery/light{ dir = 4; icon_state = "tube1"; pixel_x = 0 }, -/obj/item/weapon/surgical/surgicaldrill, +/obj/item/surgical/surgicaldrill, /turf/simulated/shuttle/floor, /area/shuttle/mercenary) "fp" = ( @@ -3375,13 +3375,13 @@ pixel_y = 0; req_access = list(150) }, -/obj/item/weapon/tank/anesthetic, +/obj/item/tank/anesthetic, /obj/item/clothing/mask/breath/medical, /obj/item/clothing/mask/surgical, /obj/item/clothing/gloves/sterile/latex, -/obj/item/weapon/reagent_containers/syringe, -/obj/item/weapon/reagent_containers/glass/bottle/stoxin, -/obj/item/weapon/reagent_containers/glass/bottle/stoxin, +/obj/item/reagent_containers/syringe, +/obj/item/reagent_containers/glass/bottle/stoxin, +/obj/item/reagent_containers/glass/bottle/stoxin, /turf/simulated/shuttle/floor, /area/shuttle/mercenary) "fz" = ( @@ -3399,7 +3399,7 @@ }, /area/antag/antag_base) "fB" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; @@ -3430,7 +3430,7 @@ /area/shuttle/mercenary) "fE" = ( /obj/structure/table/glass, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; @@ -3466,21 +3466,21 @@ /turf/simulated/floor/plating, /area/shuttle/mercenary) "fH" = ( -/obj/item/weapon/storage/firstaid/toxin{ +/obj/item/storage/firstaid/toxin{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ pixel_x = 1 }, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/fire{ pixel_x = 1 }, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /obj/structure/table/reinforced, /turf/simulated/shuttle/floor/white, /area/shuttle/mercenary) @@ -3504,7 +3504,7 @@ /turf/simulated/shuttle/floor, /area/shuttle/mercenary) "fL" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; @@ -3513,9 +3513,9 @@ syndie = 1 }, /obj/structure/table/standard, -/obj/item/weapon/surgical/scalpel, -/obj/item/weapon/surgical/bonesetter, -/obj/item/weapon/surgical/bonegel{ +/obj/item/surgical/scalpel, +/obj/item/surgical/bonesetter, +/obj/item/surgical/bonegel{ pixel_x = 4; pixel_y = 3 }, @@ -3552,7 +3552,7 @@ /obj/item/ammo_magazine/m380, /obj/item/ammo_magazine/m380, /obj/item/ammo_magazine/m380, -/obj/item/weapon/gun/projectile/giskard, +/obj/item/gun/projectile/giskard, /obj/item/clothing/accessory/holster, /turf/simulated/shuttle/floor{ icon_state = "floor_red" @@ -3562,7 +3562,7 @@ /obj/machinery/vending/cigarette{ name = "hacked cigarette machine"; prices = list(); - products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) + products = list(/obj/item/storage/fancy/cigarettes = 10, /obj/item/storage/box/matches = 10, /obj/item/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) }, /turf/simulated/shuttle/floor{ icon_state = "floor_red" @@ -3707,10 +3707,10 @@ /area/shuttle/mercenary) "gd" = ( /obj/structure/closet, -/obj/item/weapon/reagent_containers/food/snacks/tastybread, -/obj/item/weapon/reagent_containers/food/snacks/tastybread, -/obj/item/weapon/reagent_containers/food/snacks/tastybread, -/obj/item/weapon/reagent_containers/food/snacks/tastybread, +/obj/item/reagent_containers/food/snacks/tastybread, +/obj/item/reagent_containers/food/snacks/tastybread, +/obj/item/reagent_containers/food/snacks/tastybread, +/obj/item/reagent_containers/food/snacks/tastybread, /obj/machinery/light{ dir = 8; icon_state = "tube1"; @@ -3722,10 +3722,10 @@ /area/shuttle/mercenary) "ge" = ( /obj/structure/closet, -/obj/item/weapon/reagent_containers/food/snacks/liquidfood, -/obj/item/weapon/reagent_containers/food/snacks/liquidfood, -/obj/item/weapon/reagent_containers/food/snacks/liquidfood, -/obj/item/weapon/reagent_containers/food/snacks/liquidfood, +/obj/item/reagent_containers/food/snacks/liquidfood, +/obj/item/reagent_containers/food/snacks/liquidfood, +/obj/item/reagent_containers/food/snacks/liquidfood, +/obj/item/reagent_containers/food/snacks/liquidfood, /turf/simulated/shuttle/floor{ icon_state = "floor_yellow" }, @@ -3737,7 +3737,7 @@ }, /area/shuttle/mercenary) "gg" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; @@ -3842,7 +3842,7 @@ }, /area/shuttle/mercenary) "gq" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; @@ -3875,7 +3875,7 @@ }, /area/shuttle/mercenary) "gs" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; @@ -3911,7 +3911,7 @@ }, /area/shuttle/mercenary) "gv" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; @@ -3999,7 +3999,7 @@ /area/shuttle/mercenary) "gE" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/hos, +/obj/item/bedsheet/hos, /obj/machinery/light{ dir = 8; icon_state = "tube1"; @@ -4011,14 +4011,14 @@ /area/shuttle/mercenary) "gF" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/hos, +/obj/item/bedsheet/hos, /turf/simulated/shuttle/floor{ icon_state = "floor_red" }, /area/shuttle/mercenary) "gG" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/hos, +/obj/item/bedsheet/hos, /obj/machinery/light{ dir = 4 }, @@ -4048,7 +4048,7 @@ /obj/machinery/light{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; @@ -4057,25 +4057,25 @@ syndie = 1 }, /obj/structure/table/reinforced, -/obj/item/device/assembly/prox_sensor{ +/obj/item/assembly/prox_sensor{ pixel_x = -8; pixel_y = 4 }, -/obj/item/device/assembly/prox_sensor{ +/obj/item/assembly/prox_sensor{ pixel_x = -8; pixel_y = 4 }, -/obj/item/device/assembly/prox_sensor{ +/obj/item/assembly/prox_sensor{ pixel_x = -8; pixel_y = 4 }, -/obj/item/device/assembly/signaler{ +/obj/item/assembly/signaler{ pixel_y = 2 }, -/obj/item/device/assembly/signaler{ +/obj/item/assembly/signaler{ pixel_y = 2 }, -/obj/item/device/assembly/signaler{ +/obj/item/assembly/signaler{ pixel_y = 2 }, /obj/item/clothing/gloves/yellow, @@ -4133,7 +4133,7 @@ /area/shuttle/mercenary) "gP" = ( /obj/structure/table/rack, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "Remember to stock the armory before leaving.\[br]-Mike"; name = "reminder" }, @@ -4150,7 +4150,7 @@ }, /area/shuttle/mercenary) "gR" = ( -/obj/item/weapon/tool/screwdriver, +/obj/item/tool/screwdriver, /obj/effect/spawner/newbomb/timer/syndicate, /obj/structure/table/reinforced, /turf/simulated/shuttle/floor{ @@ -4158,7 +4158,7 @@ }, /area/shuttle/mercenary) "gS" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; @@ -4243,19 +4243,19 @@ /obj/item/stack/medical/bruise_pack, /obj/item/stack/medical/bruise_pack, /obj/item/stack/medical/bruise_pack, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/firstaid/combat, +/obj/item/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, +/obj/item/storage/firstaid/combat, /obj/machinery/light{ dir = 4 }, -/obj/item/device/defib_kit/compact/combat/loaded, +/obj/item/defib_kit/compact/combat/loaded, /turf/simulated/shuttle/floor{ icon_state = "floor_red" }, /area/shuttle/mercenary) "ha" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; @@ -4284,7 +4284,7 @@ }, /area/shuttle/mercenary) "hc" = ( -/obj/item/weapon/storage/box/frags, +/obj/item/storage/box/frags, /obj/structure/table/reinforced, /obj/machinery/light{ dir = 4; @@ -4359,10 +4359,10 @@ }, /area/shuttle/mercenary) "hj" = ( -/obj/item/device/aicard, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, +/obj/item/aicard, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, /obj/structure/table/reinforced, /turf/simulated/shuttle/floor{ icon_state = "floor_black" @@ -4426,8 +4426,8 @@ /area/shuttle/mercenary) "hp" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/device/multitool, +/obj/item/storage/belt/utility/full, +/obj/item/multitool, /turf/simulated/shuttle/floor{ icon_state = "floor_black" }, diff --git a/maps/submaps/depreciated_vr/talon.dm b/maps/submaps/depreciated_vr/talon.dm index 54cc43c2653..be4d26c5f43 100644 --- a/maps/submaps/depreciated_vr/talon.dm +++ b/maps/submaps/depreciated_vr/talon.dm @@ -11,7 +11,7 @@ var/global/list/latejoin_talon = list() /datum/spawnpoint/talon display_name = "ITV Talon Cryo" - restrict_job = list("Talon Captain", "Talon Pilot", "Talon Engineer", "Talon Doctor", "Talon Guard") + restrict_job = list(JOB_TALON_CAPTAIN, JOB_TALON_PILOT, JOB_TALON_ENGINEER, JOB_TALON_DOCTOR, JOB_TALON_GUARD) msg = "has come out of cryostasis" announce_channel = "Talon" @@ -127,7 +127,7 @@ var/global/list/latejoin_talon = list() /obj/machinery/telecomms/allinone/talon freq_listening = list(PUB_FREQ, TALON_FREQ) -/obj/item/weapon/paper/talon_shields +/obj/item/paper/talon_shields name = "to whatever asshole" info = {"to whatever asshole keeps resetting the shield generator,
      \ please stop fucking around before you get us all killed. thanks.
      \ @@ -143,7 +143,7 @@ good luck
      \
      \ Harry Townes"} -/obj/item/weapon/paper/talon_lifeboat +/obj/item/paper/talon_lifeboat name = "Survival Directions" info = {"

      Survival Directions


      Only jettison lifeboat into space if no other means of survival available.
      @@ -162,16 +162,16 @@ Once in open space, consider disabling nonessential power-consuming electronics /mob/living/silicon/robot/drone/talon foreign_droid = TRUE - idcard_type = /obj/item/weapon/card/id/synthetic/talon + idcard_type = /obj/item/card/id/synthetic/talon -/obj/item/weapon/card/id/synthetic/talon +/obj/item/card/id/synthetic/talon name = "\improper Talon synthetic ID" desc = "Access module for Talon synthetics" icon_state = "id-robot" item_state = "tdgreen" assignment = "Talon synthetic" -/obj/item/weapon/card/id/synthetic/talon/Initialize() +/obj/item/card/id/synthetic/talon/Initialize() . = ..() access = list(access_talon, access_synth) @@ -188,7 +188,7 @@ Once in open space, consider disabling nonessential power-consuming electronics req_one_access = list(access_talon) /obj/machinery/power/apc/talon/hyper - cell_type = /obj/item/weapon/cell/hyper + cell_type = /obj/item/cell/hyper /obj/machinery/alarm/talon req_access = list() @@ -246,17 +246,17 @@ Once in open space, consider disabling nonessential power-consuming electronics /obj/item/clothing/suit/space/void/mining/talon name = "talon miner's voidsuit" -/obj/item/device/gps/command/taloncap +/obj/item/gps/command/taloncap gps_tag = "TALC" -/obj/item/device/gps/security/talonguard +/obj/item/gps/security/talonguard gps_tag = "TALG" -/obj/item/device/gps/medical/talonmed +/obj/item/gps/medical/talonmed gps_tag = "TALM" -/obj/item/device/gps/engineering/taloneng +/obj/item/gps/engineering/taloneng gps_tag = "TALE" -/obj/item/device/gps/explorer/talonpilot +/obj/item/gps/explorer/talonpilot gps_tag = "TALP" -/obj/item/device/gps/mining/talonminer +/obj/item/gps/mining/talonminer gps_tag = "TALM" /obj/structure/closet/secure_closet/talon_captain @@ -265,16 +265,16 @@ Once in open space, consider disabling nonessential power-consuming electronics closet_appearance = /decl/closet_appearance/secure_closet/talon/captain starts_with = list( - /obj/item/weapon/storage/backpack/dufflebag/captain, + /obj/item/storage/backpack/dufflebag/captain, /obj/item/clothing/suit/storage/vest, - /obj/item/weapon/melee/telebaton, - /obj/item/device/flash, - /obj/item/device/radio/headset/talon, + /obj/item/melee/telebaton, + /obj/item/flash, + /obj/item/radio/headset/talon, /obj/item/clothing/head/helmet/space/void/refurb/officer/talon, /obj/item/clothing/suit/space/void/refurb/officer/talon, - /obj/item/weapon/tank/oxygen, - /obj/item/device/suit_cooling_unit, - /obj/item/device/gps/command/taloncap + /obj/item/tank/oxygen, + /obj/item/suit_cooling_unit, + /obj/item/gps/command/taloncap ) /obj/structure/closet/secure_closet/talon_guard @@ -287,21 +287,21 @@ Once in open space, consider disabling nonessential power-consuming electronics /obj/item/clothing/under/utility, /obj/item/clothing/shoes/boots/jackboots, /obj/item/clothing/shoes/boots/jackboots/toeless, - /obj/item/weapon/handcuffs = 2, - /obj/item/weapon/gun/energy/stunrevolver, + /obj/item/handcuffs = 2, + /obj/item/gun/energy/stunrevolver, /obj/item/clothing/accessory/armor/tag/sec, - /obj/item/device/flash, - /obj/item/device/flashlight/maglight, + /obj/item/flash, + /obj/item/flashlight/maglight, /obj/item/clothing/glasses/sunglasses, - /obj/item/weapon/storage/belt/security, - /obj/item/device/radio/headset/talon, + /obj/item/storage/belt/security, + /obj/item/radio/headset/talon, /obj/item/clothing/accessory/solgov/department/security/army, /obj/item/clothing/head/helmet/space/void/refurb/marine/talon, /obj/item/clothing/suit/space/void/refurb/marine/talon, - /obj/item/weapon/tank/oxygen, - /obj/item/device/suit_cooling_unit, - /obj/item/device/gps/security/talonguard, - /obj/item/weapon/melee/baton + /obj/item/tank/oxygen, + /obj/item/suit_cooling_unit, + /obj/item/gps/security/talonguard, + /obj/item/melee/baton ) /obj/structure/closet/secure_closet/talon_doctor @@ -316,12 +316,12 @@ Once in open space, consider disabling nonessential power-consuming electronics /obj/item/clothing/suit/storage/toggle/labcoat, /obj/item/clothing/suit/storage/toggle/fr_jacket, /obj/item/clothing/shoes/white, - /obj/item/device/radio/headset/talon, + /obj/item/radio/headset/talon, /obj/item/clothing/head/helmet/space/void/refurb/medical/alt/talon, /obj/item/clothing/suit/space/void/refurb/medical/talon, - /obj/item/weapon/tank/oxygen, - /obj/item/device/suit_cooling_unit, - /obj/item/device/gps/medical/talonmed + /obj/item/tank/oxygen, + /obj/item/suit_cooling_unit, + /obj/item/gps/medical/talonmed ) /obj/structure/closet/secure_closet/talon_engineer @@ -331,19 +331,19 @@ Once in open space, consider disabling nonessential power-consuming electronics starts_with = list( /obj/item/clothing/accessory/storage/brown_vest, - /obj/item/device/flashlight, - /obj/item/weapon/extinguisher, + /obj/item/flashlight, + /obj/item/extinguisher, /obj/item/clamp, - /obj/item/device/radio/headset/talon, + /obj/item/radio/headset/talon, /obj/item/clothing/suit/storage/hazardvest, /obj/item/clothing/mask/gas, /obj/item/taperoll/atmos, - /obj/item/weapon/tank/emergency/oxygen/engi, + /obj/item/tank/emergency/oxygen/engi, /obj/item/clothing/head/helmet/space/void/refurb/engineering/talon, /obj/item/clothing/suit/space/void/refurb/engineering/talon, - /obj/item/weapon/tank/oxygen, - /obj/item/device/suit_cooling_unit, - /obj/item/device/gps/engineering/taloneng + /obj/item/tank/oxygen, + /obj/item/suit_cooling_unit, + /obj/item/gps/engineering/taloneng ) /obj/structure/closet/secure_closet/talon_pilot @@ -352,25 +352,25 @@ Once in open space, consider disabling nonessential power-consuming electronics closet_appearance = /decl/closet_appearance/secure_closet/talon/pilot starts_with = list( - /obj/item/weapon/material/knife/tacknife/survival, + /obj/item/material/knife/tacknife/survival, /obj/item/clothing/head/ompilot, /obj/item/clothing/under/rank/pilot1, /obj/item/clothing/suit/storage/toggle/bomber/pilot, /obj/item/clothing/gloves/fingerless, - /obj/item/weapon/reagent_containers/food/snacks/liquidfood, - /obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, - /obj/item/device/radio, + /obj/item/reagent_containers/food/snacks/liquidfood, + /obj/item/reagent_containers/food/drinks/cans/waterbottle, + /obj/item/radio, /obj/item/clothing/under/utility/blue, /obj/item/clothing/accessory/solgov/specialty/pilot, /obj/item/clothing/shoes/boots/jackboots, /obj/item/clothing/shoes/boots/jackboots/toeless, - /obj/item/device/radio/headset/talon, - /obj/item/device/flashlight/color/orange, + /obj/item/radio/headset/talon, + /obj/item/flashlight/color/orange, /obj/item/clothing/head/helmet/space/void/refurb/pilot/talon, /obj/item/clothing/suit/space/void/refurb/pilot/talon, - /obj/item/weapon/tank/oxygen, - /obj/item/device/suit_cooling_unit, - /obj/item/device/gps/explorer/talonpilot + /obj/item/tank/oxygen, + /obj/item/suit_cooling_unit, + /obj/item/gps/explorer/talonpilot ) /obj/structure/closet/secure_closet/talon_miner @@ -379,19 +379,19 @@ Once in open space, consider disabling nonessential power-consuming electronics closet_appearance = /decl/closet_appearance/secure_closet/talon/miner starts_with = list( - /obj/item/device/radio/headset/talon, + /obj/item/radio/headset/talon, /obj/item/clothing/head/helmet/space/void/refurb/mining/talon, /obj/item/clothing/suit/space/void/refurb/mining/talon, - /obj/item/weapon/tank/oxygen, - /obj/item/device/suit_cooling_unit, - /obj/item/device/gps/mining/talonminer, + /obj/item/tank/oxygen, + /obj/item/suit_cooling_unit, + /obj/item/gps/mining/talonminer, /obj/item/clothing/gloves/black, - /obj/item/device/analyzer, - /obj/item/weapon/storage/bag/ore, - /obj/item/device/flashlight/lantern, - /obj/item/weapon/shovel, - /obj/item/weapon/pickaxe/drill, - /obj/item/weapon/mining_scanner, + /obj/item/analyzer, + /obj/item/storage/bag/ore, + /obj/item/flashlight/lantern, + /obj/item/shovel, + /obj/item/pickaxe/drill, + /obj/item/mining_scanner, /obj/item/clothing/glasses/material, /obj/item/clothing/glasses/meson ) @@ -402,14 +402,14 @@ Once in open space, consider disabling nonessential power-consuming electronics icon_state = "med" product_ads = "Go save some lives!;The best stuff for your medbay.;Only the finest tools.;Natural chemicals!;This stuff saves lives.;Don't you want some?;Ping!" req_access = list(access_talon) - products = list(/obj/item/weapon/reagent_containers/glass/bottle/antitoxin = 4,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline = 4, - /obj/item/weapon/reagent_containers/glass/bottle/stoxin = 4,/obj/item/weapon/reagent_containers/glass/bottle/toxin = 4, - /obj/item/weapon/reagent_containers/syringe/antiviral = 4,/obj/item/weapon/reagent_containers/syringe = 12, - /obj/item/device/healthanalyzer = 5,/obj/item/weapon/reagent_containers/glass/beaker = 4, /obj/item/weapon/reagent_containers/dropper = 2, + products = list(/obj/item/reagent_containers/glass/bottle/antitoxin = 4,/obj/item/reagent_containers/glass/bottle/inaprovaline = 4, + /obj/item/reagent_containers/glass/bottle/stoxin = 4,/obj/item/reagent_containers/glass/bottle/toxin = 4, + /obj/item/reagent_containers/syringe/antiviral = 4,/obj/item/reagent_containers/syringe = 12, + /obj/item/healthanalyzer = 5,/obj/item/reagent_containers/glass/beaker = 4, /obj/item/reagent_containers/dropper = 2, /obj/item/stack/medical/advanced/bruise_pack = 6, /obj/item/stack/medical/advanced/ointment = 6, /obj/item/stack/medical/splint = 4, - /obj/item/weapon/storage/pill_bottle/carbon = 2, /obj/item/weapon/storage/box/khcrystal = 4, /obj/item/clothing/glasses/omnihud/med = 4, - /obj/item/device/glasses_kit = 1, /obj/item/weapon/storage/quickdraw/syringe_case = 4) - contraband = list(/obj/item/weapon/reagent_containers/pill/tox = 3,/obj/item/weapon/reagent_containers/pill/stox = 4,/obj/item/weapon/reagent_containers/pill/antitox = 6) + /obj/item/storage/pill_bottle/carbon = 2, /obj/item/storage/box/khcrystal = 4, /obj/item/clothing/glasses/omnihud/med = 4, + /obj/item/glasses_kit = 1, /obj/item/storage/quickdraw/syringe_case = 4) + contraband = list(/obj/item/reagent_containers/pill/tox = 3,/obj/item/reagent_containers/pill/stox = 4,/obj/item/reagent_containers/pill/antitox = 6) idle_power_usage = 211 //refrigerator - believe it or not, this is actually the average power consumption of a refrigerated vending machine according to NRCan. req_log_access = access_talon has_logs = 1 @@ -512,11 +512,11 @@ Once in open space, consider disabling nonessential power-consuming electronics /obj/item/modular_computer/console/preset/talon/install_default_hardware() ..() - processor_unit = new/obj/item/weapon/computer_hardware/processor_unit(src) - tesla_link = new/obj/item/weapon/computer_hardware/tesla_link(src) - hard_drive = new/obj/item/weapon/computer_hardware/hard_drive/super(src) - network_card = new/obj/item/weapon/computer_hardware/network_card/wired(src) - nano_printer = new/obj/item/weapon/computer_hardware/nano_printer(src) + processor_unit = new/obj/item/computer_hardware/processor_unit(src) + tesla_link = new/obj/item/computer_hardware/tesla_link(src) + hard_drive = new/obj/item/computer_hardware/hard_drive/super(src) + network_card = new/obj/item/computer_hardware/network_card/wired(src) + nano_printer = new/obj/item/computer_hardware/nano_printer(src) /obj/item/modular_computer/console/preset/talon/install_default_programs() ..() diff --git a/maps/submaps/depreciated_vr/talon1.dmm b/maps/submaps/depreciated_vr/talon1.dmm index 85b53c05466..e43a3356568 100644 --- a/maps/submaps/depreciated_vr/talon1.dmm +++ b/maps/submaps/depreciated_vr/talon1.dmm @@ -84,8 +84,8 @@ dir = 1 }, /obj/structure/table/standard, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /obj/machinery/alarm/talon{ dir = 8; pixel_x = 22 @@ -213,10 +213,10 @@ /area/space) "ax" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/tank/oxygen, -/obj/item/weapon/tank/oxygen, -/obj/item/weapon/tank/oxygen, -/obj/item/weapon/tank/oxygen, +/obj/item/tank/oxygen, +/obj/item/tank/oxygen, +/obj/item/tank/oxygen, +/obj/item/tank/oxygen, /turf/simulated/floor/tiled/eris/dark/danger, /area/space) "ay" = ( @@ -274,10 +274,10 @@ "aD" = ( /obj/structure/table/rack/steel, /obj/machinery/camera/network/talon, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, /turf/simulated/floor/tiled/eris/dark/danger, /area/space) "aE" = ( @@ -356,11 +356,11 @@ /area/space) "aN" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/tank/jetpack/carbondioxide, -/obj/item/weapon/tank/jetpack/carbondioxide, -/obj/item/weapon/tank/jetpack/carbondioxide, -/obj/item/weapon/tank/jetpack/carbondioxide, -/obj/item/weapon/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, /turf/simulated/floor/tiled/eris/dark/danger, /area/space) "aP" = ( @@ -413,7 +413,7 @@ dir = 1 }, /obj/structure/closet/wardrobe/black{ - starts_with = list(/obj/item/clothing/under/color/black = 4, /obj/item/clothing/accessory/storage/black_vest = 4, /obj/item/clothing/accessory/storage/black_drop_pouches = 4, /obj/item/clothing/gloves/black = 4, /obj/item/clothing/head/soft/black = 4, /obj/item/clothing/mask/balaclava = 4, /obj/item/clothing/mask/bandana = 4, /obj/item/clothing/mask/gas/commando = 4, /obj/item/weapon/storage/backpack/messenger/black = 4, /obj/item/weapon/storage/backpack/dufflebag = 4, /obj/item/clothing/shoes/black = 4, /obj/item/clothing/shoes/boots/duty = 4) + starts_with = list(/obj/item/clothing/under/color/black = 4, /obj/item/clothing/accessory/storage/black_vest = 4, /obj/item/clothing/accessory/storage/black_drop_pouches = 4, /obj/item/clothing/gloves/black = 4, /obj/item/clothing/head/soft/black = 4, /obj/item/clothing/mask/balaclava = 4, /obj/item/clothing/mask/bandana = 4, /obj/item/clothing/mask/gas/commando = 4, /obj/item/storage/backpack/messenger/black = 4, /obj/item/storage/backpack/dufflebag = 4, /obj/item/clothing/shoes/black = 4, /obj/item/clothing/shoes/boots/duty = 4) }, /turf/simulated/floor/tiled/eris/white/orangecorner, /area/space) @@ -465,7 +465,7 @@ dir = 1 }, /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery, /obj/item/stack/nanopaste{ pixel_x = -7; pixel_y = -4 @@ -474,7 +474,7 @@ pixel_x = 9; pixel_y = -4 }, -/obj/item/device/robotanalyzer{ +/obj/item/robotanalyzer{ pixel_y = -8 }, /obj/machinery/alarm/talon{ @@ -677,7 +677,7 @@ /area/space) "bE" = ( /obj/machinery/vending/engineering{ - products = list(/obj/item/clothing/under/rank/chief_engineer = 4, /obj/item/clothing/under/rank/engineer = 4, /obj/item/clothing/shoes/orange = 4, /obj/item/clothing/head/hardhat = 4, /obj/item/weapon/storage/belt/utility = 4, /obj/item/clothing/glasses/meson = 4, /obj/item/clothing/gloves/yellow = 4, /obj/item/weapon/tool/screwdriver = 12, /obj/item/weapon/tool/crowbar = 12, /obj/item/weapon/tool/wirecutters = 12, /obj/item/device/multitool = 12, /obj/item/weapon/tool/wrench = 12, /obj/item/device/t_scanner = 12, /obj/item/stack/cable_coil/heavyduty = 8, /obj/item/weapon/cell = 8, /obj/item/weapon/weldingtool = 8, /obj/item/clothing/head/welding = 8, /obj/item/weapon/light/tube = 10, /obj/item/clothing/head/hardhat/red = 4, /obj/item/clothing/suit/fire = 4, /obj/item/weapon/stock_parts/scanning_module = 5, /obj/item/weapon/stock_parts/micro_laser = 5, /obj/item/weapon/stock_parts/matter_bin = 5, /obj/item/weapon/stock_parts/manipulator = 5, /obj/item/weapon/stock_parts/console_screen = 5); + products = list(/obj/item/clothing/under/rank/chief_engineer = 4, /obj/item/clothing/under/rank/engineer = 4, /obj/item/clothing/shoes/orange = 4, /obj/item/clothing/head/hardhat = 4, /obj/item/storage/belt/utility = 4, /obj/item/clothing/glasses/meson = 4, /obj/item/clothing/gloves/yellow = 4, /obj/item/tool/screwdriver = 12, /obj/item/tool/crowbar = 12, /obj/item/tool/wirecutters = 12, /obj/item/multitool = 12, /obj/item/tool/wrench = 12, /obj/item/t_scanner = 12, /obj/item/stack/cable_coil/heavyduty = 8, /obj/item/cell = 8, /obj/item/weldingtool = 8, /obj/item/clothing/head/welding = 8, /obj/item/light/tube = 10, /obj/item/clothing/head/hardhat/red = 4, /obj/item/clothing/suit/fire = 4, /obj/item/stock_parts/scanning_module = 5, /obj/item/stock_parts/micro_laser = 5, /obj/item/stock_parts/matter_bin = 5, /obj/item/stock_parts/manipulator = 5, /obj/item/stock_parts/console_screen = 5); req_access = list(301); req_log_access = 301; req_one_access = list(301) @@ -686,9 +686,9 @@ /area/space) "bF" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical, /obj/item/stack/marker_beacon/thirty, -/obj/item/weapon/pipe_dispenser, +/obj/item/pipe_dispenser, /obj/machinery/alarm/talon{ pixel_y = 28 }, @@ -700,15 +700,15 @@ pixel_y = -25 }, /obj/structure/table/rack/steel, -/obj/item/weapon/whetstone{ +/obj/item/whetstone{ pixel_x = 5; pixel_y = 5 }, -/obj/item/weapon/grenade/spawnergrenade/manhacks/mercenary{ +/obj/item/grenade/spawnergrenade/manhacks/mercenary{ pixel_x = -5; pixel_y = 4 }, -/obj/item/device/spaceflare, +/obj/item/spaceflare, /turf/simulated/floor/tiled/eris/white/danger, /area/space) "bH" = ( @@ -738,7 +738,7 @@ "bJ" = ( /obj/structure/closet/hydrant{ pixel_x = -32; - starts_with = list(/obj/item/clothing/suit/fire/firefighter = 2, /obj/item/clothing/mask/gas = 2, /obj/item/device/flashlight = 2, /obj/item/weapon/tank/oxygen/red = 2, /obj/item/weapon/extinguisher = 2, /obj/item/clothing/head/hardhat/red = 2) + starts_with = list(/obj/item/clothing/suit/fire/firefighter = 2, /obj/item/clothing/mask/gas = 2, /obj/item/flashlight = 2, /obj/item/tank/oxygen/red = 2, /obj/item/extinguisher = 2, /obj/item/clothing/head/hardhat/red = 2) }, /turf/simulated/floor/tiled/eris/dark/danger, /area/space) @@ -753,21 +753,21 @@ dir = 1 }, /obj/structure/table/steel, -/obj/item/device/radio/off{ +/obj/item/radio/off{ channels = list("Talon" = 1); pixel_y = 6 }, -/obj/item/device/radio/off{ +/obj/item/radio/off{ channels = list("Talon" = 1); pixel_x = -6; pixel_y = 4 }, -/obj/item/device/radio/off{ +/obj/item/radio/off{ channels = list("Talon" = 1); pixel_x = 6; pixel_y = 4 }, -/obj/item/device/radio/off{ +/obj/item/radio/off{ channels = list("Talon" = 1) }, /turf/simulated/floor/tiled/eris/dark/orangecorner, @@ -789,23 +789,23 @@ pixel_y = 28 }, /obj/structure/mopbucket, -/obj/item/weapon/mop, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/mop, +/obj/item/reagent_containers/glass/bucket, /turf/simulated/floor/tiled/eris/dark/brown_platform, /area/space) "bO" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /obj/machinery/light_switch{ dir = 1; on = 0; pixel_x = -10; pixel_y = -24 }, -/obj/item/weapon/storage/box/mousetraps, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/glass/rag, +/obj/item/storage/box/mousetraps, +/obj/item/storage/box/lights/mixed, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/glass/rag, /turf/simulated/floor/tiled/eris/dark/brown_platform, /area/space) "bR" = ( @@ -1076,10 +1076,10 @@ /area/space) "ct" = ( /obj/structure/table/standard, -/obj/item/device/defib_kit/jumper_kit/loaded, -/obj/item/device/defib_kit/loaded, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/device/sleevemate, +/obj/item/defib_kit/jumper_kit/loaded, +/obj/item/defib_kit/loaded, +/obj/item/storage/belt/medical/emt, +/obj/item/sleevemate, /turf/simulated/floor/tiled/eris/white/bluecorner, /area/space) "cu" = ( @@ -1203,12 +1203,12 @@ /area/space) "cI" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/gun/energy/gun/burst, -/obj/item/weapon/cell/device/weapon{ +/obj/item/gun/energy/gun/burst, +/obj/item/cell/device/weapon{ pixel_x = -5; pixel_y = 2 }, -/obj/item/weapon/cell/device/weapon, +/obj/item/cell/device/weapon, /obj/item/clothing/accessory/holster/waist, /turf/simulated/floor/tiled/eris/white/danger, /area/space) @@ -1305,7 +1305,7 @@ /area/space) "cQ" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/gun/energy/locked/frontier/holdout/unlocked, +/obj/item/gun/energy/locked/frontier/holdout/unlocked, /turf/simulated/floor/tiled/eris/white/danger, /area/space) "cR" = ( @@ -1396,7 +1396,7 @@ /area/space) "db" = ( /obj/machinery/vending/engivend{ - products = list(/obj/item/device/geiger = 4, /obj/item/clothing/glasses/meson = 2, /obj/item/device/multitool = 4, /obj/item/weapon/cell/high = 10, /obj/item/weapon/airlock_electronics = 10, /obj/item/weapon/module/power_control = 10, /obj/item/weapon/circuitboard/airalarm = 10, /obj/item/weapon/circuitboard/firealarm = 10, /obj/item/weapon/circuitboard/status_display = 2, /obj/item/weapon/circuitboard/ai_status_display = 2, /obj/item/weapon/circuitboard/newscaster = 2, /obj/item/weapon/circuitboard/holopad = 2, /obj/item/weapon/circuitboard/intercom = 4, /obj/item/weapon/circuitboard/security/telescreen/entertainment = 4, /obj/item/weapon/stock_parts/motor = 2, /obj/item/weapon/stock_parts/spring = 2, /obj/item/weapon/stock_parts/gear = 2, /obj/item/weapon/circuitboard/atm, /obj/item/weapon/circuitboard/guestpass, /obj/item/weapon/circuitboard/keycard_auth, /obj/item/weapon/circuitboard/photocopier, /obj/item/weapon/circuitboard/fax, /obj/item/weapon/circuitboard/request, /obj/item/weapon/circuitboard/microwave, /obj/item/weapon/circuitboard/washing, /obj/item/weapon/circuitboard/scanner_console, /obj/item/weapon/circuitboard/sleeper_console, /obj/item/weapon/circuitboard/body_scanner, /obj/item/weapon/circuitboard/sleeper, /obj/item/weapon/circuitboard/dna_analyzer, /obj/item/weapon/circuitboard/partslathe); + products = list(/obj/item/geiger = 4, /obj/item/clothing/glasses/meson = 2, /obj/item/multitool = 4, /obj/item/cell/high = 10, /obj/item/airlock_electronics = 10, /obj/item/module/power_control = 10, /obj/item/circuitboard/airalarm = 10, /obj/item/circuitboard/firealarm = 10, /obj/item/circuitboard/status_display = 2, /obj/item/circuitboard/ai_status_display = 2, /obj/item/circuitboard/newscaster = 2, /obj/item/circuitboard/holopad = 2, /obj/item/circuitboard/intercom = 4, /obj/item/circuitboard/security/telescreen/entertainment = 4, /obj/item/stock_parts/motor = 2, /obj/item/stock_parts/spring = 2, /obj/item/stock_parts/gear = 2, /obj/item/circuitboard/atm, /obj/item/circuitboard/guestpass, /obj/item/circuitboard/keycard_auth, /obj/item/circuitboard/photocopier, /obj/item/circuitboard/fax, /obj/item/circuitboard/request, /obj/item/circuitboard/microwave, /obj/item/circuitboard/washing, /obj/item/circuitboard/scanner_console, /obj/item/circuitboard/sleeper_console, /obj/item/circuitboard/body_scanner, /obj/item/circuitboard/sleeper, /obj/item/circuitboard/dna_analyzer, /obj/item/circuitboard/partslathe); req_access = list(301); req_log_access = 301 }, @@ -1450,7 +1450,7 @@ /area/space) "dj" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/handcuffs, +/obj/item/storage/box/handcuffs, /turf/simulated/floor/tiled/eris/steel, /area/space) "dm" = ( @@ -1535,8 +1535,8 @@ /area/space) "ek" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/adv{ pixel_x = 2; pixel_y = 5 }, @@ -2030,7 +2030,7 @@ /area/space) "kL" = ( /obj/machinery/shower, -/obj/item/weapon/soap/deluxe, +/obj/item/soap/deluxe, /obj/structure/curtain, /turf/simulated/floor/tiled/eris/white, /area/space) @@ -2239,12 +2239,12 @@ /area/space) "oc" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/gun/energy/netgun, -/obj/item/weapon/cell/device/weapon{ +/obj/item/gun/energy/netgun, +/obj/item/cell/device/weapon{ pixel_x = -5; pixel_y = 2 }, -/obj/item/weapon/cell/device/weapon, +/obj/item/cell/device/weapon, /obj/item/clothing/accessory/holster/waist, /turf/simulated/floor/tiled/eris/white/danger, /area/space) @@ -2571,9 +2571,9 @@ /area/space) "sS" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/gun/energy/gun, +/obj/item/gun/energy/gun, /obj/item/clothing/accessory/holster/machete, -/obj/item/weapon/material/knife/machete, +/obj/item/material/knife/machete, /turf/simulated/floor/tiled/eris/white/danger, /area/space) "sY" = ( @@ -2854,7 +2854,7 @@ /area/space) "xf" = ( /obj/structure/table/standard, -/obj/item/weapon/pickaxe/drill, +/obj/item/pickaxe/drill, /turf/simulated/floor/tiled/eris/white/gray_platform, /area/shuttle/talonboat) "xm" = ( @@ -2897,14 +2897,14 @@ /turf/simulated/floor/tiled/eris/dark/orangecorner, /area/space) "xE" = ( -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/o2, -/obj/item/weapon/storage/firstaid/o2, -/obj/item/weapon/storage/firstaid/fire, -/obj/item/weapon/storage/firstaid/fire, -/obj/item/weapon/storage/firstaid/adv, -/obj/item/weapon/storage/firstaid/adv, +/obj/item/storage/firstaid/toxin, +/obj/item/storage/firstaid/toxin, +/obj/item/storage/firstaid/o2, +/obj/item/storage/firstaid/o2, +/obj/item/storage/firstaid/fire, +/obj/item/storage/firstaid/fire, +/obj/item/storage/firstaid/adv, +/obj/item/storage/firstaid/adv, /obj/structure/closet/walllocker/medical/east, /turf/simulated/floor/tiled/eris/white/bluecorner, /area/space) @@ -2969,7 +2969,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, -/obj/item/weapon/deck/cards, +/obj/item/deck/cards, /obj/structure/table/standard, /turf/simulated/floor/tiled/eris/steel, /area/space) @@ -4336,8 +4336,8 @@ pixel_y = -24 }, /obj/structure/table/standard, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /turf/simulated/floor/tiled/eris/steel/cargo, /area/space) "Nu" = ( @@ -4369,7 +4369,7 @@ /obj/structure/closet/secure_closet/chemical{ req_access = list(301) }, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the 'Space' from Space Cleaner and written in Chemistry. Scrawled on the back is, 'Okay, whoever filled this with polytrinic acid, it was only funny the first time. It was hard enough replacing the CMO's first cat!'"; name = "Chemistry Cleaner" }, @@ -4788,16 +4788,16 @@ /area/space) "TX" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/gun/energy/netgun, -/obj/item/weapon/cell/device/weapon{ +/obj/item/gun/energy/netgun, +/obj/item/cell/device/weapon{ pixel_x = -5; pixel_y = 2 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -5; pixel_y = 2 }, -/obj/item/weapon/cell/device/weapon, +/obj/item/cell/device/weapon, /obj/item/clothing/accessory/holster/waist, /turf/simulated/floor/tiled/eris/white/danger, /area/space) @@ -4820,7 +4820,7 @@ /area/space) "Ut" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/donut, +/obj/item/storage/box/donut, /turf/simulated/floor/tiled/eris/steel, /area/space) "Uv" = ( @@ -4895,7 +4895,7 @@ /turf/simulated/floor/tiled/eris/white, /area/space) "UQ" = ( -/obj/item/weapon/storage/box/bodybags, +/obj/item/storage/box/bodybags, /obj/item/roller, /obj/item/roller{ pixel_y = 8 diff --git a/maps/submaps/depreciated_vr/talon2.dmm b/maps/submaps/depreciated_vr/talon2.dmm index 837c88e29d1..1a8aefe8bd0 100644 --- a/maps/submaps/depreciated_vr/talon2.dmm +++ b/maps/submaps/depreciated_vr/talon2.dmm @@ -97,7 +97,7 @@ /area/space) "az" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/bluedouble, +/obj/item/bedsheet/bluedouble, /turf/simulated/floor/carpet/blucarpet, /area/space) "aA" = ( @@ -174,7 +174,7 @@ dir = 1 }, /obj/structure/closet/secure_closet/talon_captain, -/obj/item/device/radio/off{ +/obj/item/radio/off{ channels = list("Talon" = 1) }, /turf/simulated/floor/wood, @@ -286,7 +286,7 @@ /obj/structure/table/standard, /obj/structure/closet/hydrant{ pixel_y = 32; - starts_with = list(/obj/item/clothing/suit/fire/firefighter = 2, /obj/item/clothing/mask/gas = 2, /obj/item/device/flashlight = 2, /obj/item/weapon/tank/oxygen/red = 2, /obj/item/weapon/extinguisher = 2, /obj/item/clothing/head/hardhat/red = 2) + starts_with = list(/obj/item/clothing/suit/fire/firefighter = 2, /obj/item/clothing/mask/gas = 2, /obj/item/flashlight = 2, /obj/item/tank/oxygen/red = 2, /obj/item/extinguisher = 2, /obj/item/clothing/head/hardhat/red = 2) }, /turf/simulated/floor/tiled/eris/dark/violetcorener, /area/space) @@ -346,7 +346,7 @@ /obj/structure/table/steel, /obj/structure/closet/hydrant{ pixel_x = -32; - starts_with = list(/obj/item/clothing/suit/fire/firefighter = 2, /obj/item/clothing/mask/gas = 2, /obj/item/device/flashlight = 2, /obj/item/weapon/tank/oxygen/red = 2, /obj/item/weapon/extinguisher = 2, /obj/item/clothing/head/hardhat/red = 2) + starts_with = list(/obj/item/clothing/suit/fire/firefighter = 2, /obj/item/clothing/mask/gas = 2, /obj/item/flashlight = 2, /obj/item/tank/oxygen/red = 2, /obj/item/extinguisher = 2, /obj/item/clothing/head/hardhat/red = 2) }, /turf/simulated/floor/tiled/techfloor/grid, /area/space) @@ -355,7 +355,7 @@ dir = 1 }, /obj/structure/closet/secure_closet/talon_engineer, -/obj/item/device/radio/off{ +/obj/item/radio/off{ channels = list("Talon" = 1) }, /turf/simulated/floor/wood, @@ -365,7 +365,7 @@ dir = 1 }, /obj/structure/closet/secure_closet/talon_pilot, -/obj/item/device/radio/off{ +/obj/item/radio/off{ channels = list("Talon" = 1) }, /turf/simulated/floor/wood, @@ -528,7 +528,7 @@ dir = 1 }, /obj/structure/closet/secure_closet/talon_doctor, -/obj/item/device/radio/off{ +/obj/item/radio/off{ channels = list("Talon" = 1) }, /turf/simulated/floor/wood, @@ -552,7 +552,7 @@ dir = 1 }, /obj/structure/closet/secure_closet/talon_guard, -/obj/item/device/radio/off{ +/obj/item/radio/off{ channels = list("Talon" = 1) }, /turf/simulated/floor/wood, @@ -581,7 +581,7 @@ icon_state = "0-4" }, /obj/structure/table/standard, -/obj/item/weapon/paper/talon_shields, +/obj/item/paper/talon_shields, /turf/simulated/floor/tiled/eris/dark/violetcorener, /area/space) "bB" = ( @@ -661,8 +661,8 @@ }, /obj/structure/table/woodentable, /obj/item/modular_computer/tablet/preset/custom_loadout/advanced, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /turf/simulated/floor/carpet/blucarpet, /area/space) "bL" = ( @@ -1068,7 +1068,7 @@ /turf/simulated/floor/carpet, /area/space) "eW" = ( -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/structure/bed/padded, /obj/machinery/firealarm{ dir = 4; @@ -1086,7 +1086,7 @@ /turf/simulated/floor/tiled/eris/steel, /area/space) "fa" = ( -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/structure/bed/padded, /obj/machinery/firealarm{ dir = 8; @@ -1574,7 +1574,7 @@ }, /obj/structure/railing, /obj/structure/table/standard, -/obj/item/device/bluespaceradio/talon_prelinked, +/obj/item/bluespaceradio/talon_prelinked, /turf/simulated/floor/tiled/eris/dark/violetcorener, /area/space) "jQ" = ( @@ -2057,7 +2057,7 @@ /area/space) "rU" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/item/weapon/stool/baystool/padded, +/obj/item/stool/baystool/padded, /turf/simulated/floor/tiled/eris/cafe, /area/space) "rW" = ( @@ -2167,7 +2167,7 @@ /area/space) "tN" = ( /obj/structure/table/steel, -/obj/item/weapon/paper/dockingcodes, +/obj/item/paper/dockingcodes, /turf/simulated/floor/tiled/eris/dark/cyancorner, /area/space) "tO" = ( @@ -2206,13 +2206,13 @@ icon_state = "0-4" }, /obj/structure/closet/crate/plastic, -/obj/item/device/flashlight, -/obj/item/weapon/storage/briefcase/inflatable, -/obj/item/device/flashlight/glowstick, -/obj/item/device/flashlight/glowstick, -/obj/item/device/flashlight/glowstick, -/obj/item/weapon/storage/box/metalfoam, -/obj/item/device/survivalcapsule/luxury, +/obj/item/flashlight, +/obj/item/storage/briefcase/inflatable, +/obj/item/flashlight/glowstick, +/obj/item/flashlight/glowstick, +/obj/item/flashlight/glowstick, +/obj/item/storage/box/metalfoam, +/obj/item/survivalcapsule/luxury, /turf/simulated/floor/tiled/techfloor/grid, /area/space) "uz" = ( @@ -2255,7 +2255,7 @@ /turf/simulated/floor/tiled/eris/steel, /area/space) "uM" = ( -/obj/item/weapon/stool/baystool/padded, +/obj/item/stool/baystool/padded, /obj/machinery/camera/network/talon{ dir = 6 }, @@ -2744,7 +2744,7 @@ /area/space) "CN" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/structure/closet/autolok_wall{ pixel_x = 27 }, @@ -2798,7 +2798,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 }, -/obj/item/weapon/stool/baystool/padded, +/obj/item/stool/baystool/padded, /turf/simulated/floor/tiled/eris/cafe, /area/space) "Dr" = ( @@ -3239,7 +3239,7 @@ pixel_y = 32; shut_up = 0 }, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/structure/bed/padded, /obj/structure/closet/autolok_wall{ pixel_x = 27 @@ -3368,7 +3368,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, -/obj/item/weapon/storage/dicecup/loaded, +/obj/item/storage/dicecup/loaded, /turf/simulated/floor/tiled/eris/cafe, /area/space) "NE" = ( @@ -3444,7 +3444,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 }, -/obj/item/weapon/stool/baystool/padded, +/obj/item/stool/baystool/padded, /obj/structure/cable/green{ dir = 1; icon_state = "4-8" @@ -3962,7 +3962,7 @@ "WS" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/item/weapon/stool/baystool/padded, +/obj/item/stool/baystool/padded, /turf/simulated/floor/tiled/eris/cafe, /area/space) "WZ" = ( diff --git a/maps/submaps/engine_submaps/engine.dm b/maps/submaps/engine_submaps/engine.dm index 63a0552c6d1..faf12a7a860 100644 --- a/maps/submaps/engine_submaps/engine.dm +++ b/maps/submaps/engine_submaps/engine.dm @@ -21,7 +21,7 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark/engine_loader) /obj/effect/landmark/engine_loader/proc/annihilate_bounds() var/deleted_atoms = 0 - admin_notice("Annihilating objects in engine loading location.", R_DEBUG) + admin_notice(span_danger("Annihilating objects in engine loading location."), R_DEBUG) var/list/turfs_to_clean = get_turfs_to_clean() if(turfs_to_clean.len) for(var/x in 1 to 2) // Requires two passes to get everything. @@ -29,4 +29,4 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark/engine_loader) for(var/atom/movable/AM in T) ++deleted_atoms qdel(AM) - admin_notice("Annihilated [deleted_atoms] objects.", R_DEBUG) + admin_notice(span_danger("Annihilated [deleted_atoms] objects."), R_DEBUG) diff --git a/maps/submaps/engine_submaps/southern_cross/_engine_submaps.dm b/maps/submaps/engine_submaps/southern_cross/_engine_submaps.dm index 84374d4a66e..d76cd1f5442 100644 --- a/maps/submaps/engine_submaps/southern_cross/_engine_submaps.dm +++ b/maps/submaps/engine_submaps/southern_cross/_engine_submaps.dm @@ -2,7 +2,7 @@ // This is so CI can validate PoIs, and ensure future changes don't break PoIs, as PoIs are loaded at runtime and the compiler can't catch errors. // When adding a new engine, please add it to this list. // Polaris: R-UST and Singulo are commented out as their current submap does not line up with the control room. -#if MAP_TEST +#ifdef MAP_TEST // #include "engine_rust.dmm" // #include "engine_singulo.dmm" #include "engine_sme.dmm" @@ -18,19 +18,19 @@ /datum/map_template/engine/rust name = "R-UST Engine" desc = "R-UST Fusion Tokamak Engine" - mappath = 'maps/submaps/engine_submaps/southern_cross/engine_rust.dmm' + mappath = "maps/submaps/engine_submaps/southern_cross/engine_rust.dmm" /datum/map_template/engine/singulo name = "Singularity Engine" desc = "Lord Singuloth" - mappath = 'maps/submaps/engine_submaps/southern_cross/engine_singulo.dmm' + mappath = "maps/submaps/engine_submaps/southern_cross/engine_singulo.dmm" /datum/map_template/engine/supermatter name = "Supermatter Engine" desc = "Old Faithful Supermatter" - mappath = 'maps/submaps/engine_submaps/southern_cross/engine_sme.dmm' + mappath = "maps/submaps/engine_submaps/southern_cross/engine_sme.dmm" /datum/map_template/engine/tesla name = "Edison's Bane" desc = "The Telsa Engine" - mappath = 'maps/submaps/engine_submaps/southern_cross/engine_tesla.dmm' \ No newline at end of file + mappath = "maps/submaps/engine_submaps/southern_cross/engine_tesla.dmm" diff --git a/maps/submaps/engine_submaps/southern_cross/engine_rust.dmm b/maps/submaps/engine_submaps/southern_cross/engine_rust.dmm index dbb3ad0b5fb..229edce1f8c 100644 --- a/maps/submaps/engine_submaps/southern_cross/engine_rust.dmm +++ b/maps/submaps/engine_submaps/southern_cross/engine_rust.dmm @@ -6,7 +6,7 @@ /turf/space, /area/space) "ac" = ( -/obj/item/weapon/book/manual/rust_engine, +/obj/item/book/manual/rust_engine, /turf/template_noop, /area/template_noop) "ad" = ( @@ -306,7 +306,7 @@ /area/engineering/engine_room) "aV" = ( /obj/structure/table/reinforced, -/obj/item/weapon/book/manual/rust_engine, +/obj/item/book/manual/rust_engine, /turf/simulated/floor, /area/engineering/engine_room) "aW" = ( @@ -1197,7 +1197,7 @@ /turf/simulated/floor, /area/engineering/engine_room) "de" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 2; pixel_y = -24 }, diff --git a/maps/submaps/engine_submaps/southern_cross/engine_singulo.dmm b/maps/submaps/engine_submaps/southern_cross/engine_singulo.dmm index b6e9a58f979..c68c5f48935 100644 --- a/maps/submaps/engine_submaps/southern_cross/engine_singulo.dmm +++ b/maps/submaps/engine_submaps/southern_cross/engine_singulo.dmm @@ -792,11 +792,11 @@ /turf/simulated/floor/tiled, /area/submap/pa_room) "bu" = ( -/obj/item/weapon/book/manual/engineering_particle_accelerator{ +/obj/item/book/manual/engineering_particle_accelerator{ pixel_x = 5; pixel_y = 5 }, -/obj/item/weapon/book/manual/engineering_singularity_safety, +/obj/item/book/manual/engineering_singularity_safety, /turf/template_noop, /area/template_noop) "bv" = ( @@ -1472,7 +1472,7 @@ /turf/simulated/floor/airless, /area/space) "cE" = ( -/obj/item/weapon/weldingtool, +/obj/item/weldingtool, /turf/space, /area/space) "cF" = ( diff --git a/maps/submaps/engine_submaps/southern_cross/engine_sme.dmm b/maps/submaps/engine_submaps/southern_cross/engine_sme.dmm index e0f0891bb72..d146ef244aa 100644 --- a/maps/submaps/engine_submaps/southern_cross/engine_sme.dmm +++ b/maps/submaps/engine_submaps/southern_cross/engine_sme.dmm @@ -37,7 +37,7 @@ "lL" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor,/area/engineering/engine_room) "mj" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 10},/turf/simulated/floor,/area/engineering/engine_room) "mw" = (/obj/machinery/atmospherics/valve/digital{dir = 4; name = "Emergency Cooling Valve 2"},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/outline,/turf/simulated/floor,/area/engineering/engine_room) -"no" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 5},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor,/area/engineering/engine_room) +"no" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 5},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor,/area/engineering/engine_room) "nF" = (/obj/machinery/atmospherics/pipe/simple/visible/black{dir = 4},/obj/machinery/door/firedoor/glass,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "EngineWasteViewport1"; name = "Engine Waste Viewport Shutter"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/engineering/engine_waste) "oh" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/black,/obj/machinery/meter,/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor,/area/engineering/engine_waste) "oj" = (/obj/machinery/mass_driver{dir = 8; id = "enginecore"},/obj/machinery/power/supermatter{layer = 4},/obj/effect/engine_setup/core,/turf/simulated/floor/greengrid/nitrogen,/area/engineering/engine_room) @@ -74,9 +74,9 @@ "yL" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 4},/obj/structure/lattice,/turf/space,/area/space) "yU" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor,/area/engineering/engine_room) "zi" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 6},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "EngineRadiatorViewport1"; name = "Engine Radiator Viewport Shutter"; opacity = 0},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/engineering/engine_room) -"zl" = (/obj/structure/table/reinforced,/obj/item/weapon/book/manual/supermatter_engine,/turf/template_noop,/area/template_noop) +"zl" = (/obj/structure/table/reinforced,/obj/item/book/manual/supermatter_engine,/turf/template_noop,/area/template_noop) "zA" = (/obj/machinery/atmospherics/binary/circulator{anchored = 1; dir = 8},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/engineering/engine_room) -"zC" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/machinery/meter,/turf/simulated/floor,/area/engineering/engine_waste) +"zC" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/item/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/machinery/meter,/turf/simulated/floor,/area/engineering/engine_waste) "zX" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/light{dir = 4},/turf/simulated/floor,/area/engineering/engine_room) "Ac" = (/obj/machinery/atmospherics/binary/pump,/obj/effect/floor_decal/industrial/warning/corner,/obj/effect/engine_setup/pump_max,/turf/simulated/floor,/area/engineering/engine_room) "Ah" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/ai_status_display{pixel_x = 32},/obj/effect/floor_decal/industrial/warning,/obj/machinery/light/small{dir = 4},/turf/simulated/floor,/area/engineering/engine_waste) @@ -172,7 +172,7 @@ "Vi" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/engine_waste) "Vq" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor,/area/engineering/engine_room) "VU" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/black{dir = 9},/obj/structure/grille,/turf/space,/area/space) -"VZ" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/cap/visible,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor,/area/engineering/engine_room) +"VZ" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/cap/visible,/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor,/area/engineering/engine_room) "Wh" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 9},/turf/simulated/floor,/area/engineering/engine_room) "Wl" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor,/area/engineering/engine_room) "Wm" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor,/area/engineering/engine_room) diff --git a/maps/submaps/engine_submaps/southern_cross/engine_tesla.dmm b/maps/submaps/engine_submaps/southern_cross/engine_tesla.dmm index 6f64565c87e..0cf3a5f2a75 100644 --- a/maps/submaps/engine_submaps/southern_cross/engine_tesla.dmm +++ b/maps/submaps/engine_submaps/southern_cross/engine_tesla.dmm @@ -153,8 +153,8 @@ }, /obj/structure/table/standard, /obj/item/stack/cable_coil/random, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/tool/screwdriver, +/obj/item/tool/wrench, +/obj/item/tool/screwdriver, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, @@ -309,8 +309,8 @@ dir = 1 }, /obj/structure/table/standard, -/obj/item/weapon/circuitboard/tesla_coil, -/obj/item/weapon/circuitboard/tesla_coil, +/obj/item/circuitboard/tesla_coil, +/obj/item/circuitboard/tesla_coil, /turf/simulated/floor, /area/engineering/engine_waste) "aL" = ( @@ -839,7 +839,7 @@ /turf/simulated/floor/tiled/techfloor, /area/submap/pa_room) "cb" = ( -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /turf/space, /area/space) "cc" = ( @@ -1190,8 +1190,8 @@ }, /obj/effect/floor_decal/steeldecal/steel_decals8, /obj/structure/table/standard, -/obj/item/weapon/book/manual/tesla_engine, -/obj/item/weapon/book/manual/engineering_particle_accelerator{ +/obj/item/book/manual/tesla_engine, +/obj/item/book/manual/engineering_particle_accelerator{ pixel_x = 5; pixel_y = 5 }, @@ -1265,11 +1265,11 @@ /turf/simulated/floor/airless, /area/space) "cQ" = ( -/obj/item/weapon/book/manual/engineering_particle_accelerator{ +/obj/item/book/manual/engineering_particle_accelerator{ pixel_x = 5; pixel_y = 5 }, -/obj/item/weapon/book/manual/tesla_engine, +/obj/item/book/manual/tesla_engine, /turf/template_noop, /area/template_noop) "fm" = ( @@ -1354,7 +1354,7 @@ /turf/simulated/floor/airless, /area/space) "kd" = ( -/obj/item/weapon/tool/wirecutters, +/obj/item/tool/wirecutters, /turf/simulated/floor/airless, /area/space) "kq" = ( @@ -1362,7 +1362,7 @@ /turf/simulated/floor/tiled, /area/submap/pa_room) "pr" = ( -/obj/item/weapon/weldingtool, +/obj/item/weldingtool, /turf/simulated/floor/airless, /area/space) "qP" = ( diff --git a/maps/submaps/engine_submaps_vr/tether/_engine_submaps.dm b/maps/submaps/engine_submaps_vr/tether/_engine_submaps.dm index ee0a748b260..e720312951d 100644 --- a/maps/submaps/engine_submaps_vr/tether/_engine_submaps.dm +++ b/maps/submaps/engine_submaps_vr/tether/_engine_submaps.dm @@ -1,7 +1,7 @@ -// This causes engine maps to get 'checked' and compiled, when undergoing a unit test. + // This causes engine maps to get 'checked' and compiled, when undergoing a unit test. // This is so CI can validate PoIs, and ensure future changes don't break PoIs, as PoIs are loaded at runtime and the compiler can't catch errors. // When adding a new engine, please add it to this list. -#if MAP_TEST +#ifdef MAP_TEST #include "engine_rust.dmm" #include "engine_singulo.dmm" #include "engine_sme.dmm" @@ -17,19 +17,19 @@ /datum/map_template/engine/rust name = "R-UST Engine" desc = "R-UST Fusion Tokamak Engine" - mappath = 'maps/submaps/engine_submaps_vr/tether/engine_rust.dmm' + mappath = "maps/submaps/engine_submaps_vr/tether/engine_rust.dmm" /datum/map_template/engine/singulo name = "Singularity Engine" desc = "Lord Singuloth" - mappath = 'maps/submaps/engine_submaps_vr/tether/engine_singulo.dmm' + mappath = "maps/submaps/engine_submaps_vr/tether/engine_singulo.dmm" /datum/map_template/engine/supermatter name = "Supermatter Engine" desc = "Old Faithful Supermatter" - mappath = 'maps/submaps/engine_submaps_vr/tether/engine_sme.dmm' + mappath = "maps/submaps/engine_submaps_vr/tether/engine_sme.dmm" /datum/map_template/engine/tesla name = "Edison's Bane" desc = "The Telsa Engine" - mappath = 'maps/submaps/engine_submaps_vr/tether/engine_tesla.dmm' \ No newline at end of file + mappath = "maps/submaps/engine_submaps_vr/tether/engine_tesla.dmm" diff --git a/maps/submaps/engine_submaps_vr/tether/engine_rust.dmm b/maps/submaps/engine_submaps_vr/tether/engine_rust.dmm index e8c813fe05a..920c54b9038 100644 --- a/maps/submaps/engine_submaps_vr/tether/engine_rust.dmm +++ b/maps/submaps/engine_submaps_vr/tether/engine_rust.dmm @@ -6,7 +6,7 @@ /turf/space, /area/space) "ac" = ( -/obj/item/weapon/book/manual/rust_engine, +/obj/item/book/manual/rust_engine, /turf/template_noop, /area/template_noop) "ad" = ( @@ -294,7 +294,7 @@ /area/engineering/engine_room) "aV" = ( /obj/structure/table/reinforced, -/obj/item/weapon/book/manual/rust_engine, +/obj/item/book/manual/rust_engine, /turf/simulated/floor, /area/engineering/engine_room) "aW" = ( @@ -1160,7 +1160,7 @@ /turf/simulated/floor, /area/engineering/engine_room) "de" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor, diff --git a/maps/submaps/engine_submaps_vr/tether/engine_singulo.dmm b/maps/submaps/engine_submaps_vr/tether/engine_singulo.dmm index b9e97ebe720..4870d4c6848 100644 --- a/maps/submaps/engine_submaps_vr/tether/engine_singulo.dmm +++ b/maps/submaps/engine_submaps_vr/tether/engine_singulo.dmm @@ -762,11 +762,11 @@ /turf/simulated/floor/tiled, /area/submap/pa_room) "bu" = ( -/obj/item/weapon/book/manual/engineering_particle_accelerator{ +/obj/item/book/manual/engineering_particle_accelerator{ pixel_x = 5; pixel_y = 5 }, -/obj/item/weapon/book/manual/engineering_singularity_safety, +/obj/item/book/manual/engineering_singularity_safety, /turf/template_noop, /area/template_noop) "bv" = ( @@ -1423,7 +1423,7 @@ /turf/simulated/floor/airless, /area/space) "cE" = ( -/obj/item/weapon/weldingtool, +/obj/item/weldingtool, /turf/space, /area/space) "cF" = ( diff --git a/maps/submaps/engine_submaps_vr/tether/engine_sme.dmm b/maps/submaps/engine_submaps_vr/tether/engine_sme.dmm index a6d3a9d819b..56f8f811a16 100644 --- a/maps/submaps/engine_submaps_vr/tether/engine_sme.dmm +++ b/maps/submaps/engine_submaps_vr/tether/engine_sme.dmm @@ -629,7 +629,7 @@ /obj/machinery/light{ dir = 8 }, -/obj/item/device/geiger/wall/west{ +/obj/item/geiger/wall/west{ pixel_x = -36 }, /turf/simulated/floor, @@ -663,7 +663,7 @@ /turf/simulated/floor, /area/template_noop) "bA" = ( -/obj/item/weapon/book/manual/supermatter_engine, +/obj/item/book/manual/supermatter_engine, /turf/template_noop, /area/template_noop) "bB" = ( @@ -1379,7 +1379,7 @@ /turf/simulated/floor, /area/engineering/engine_room) "dh" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor, @@ -1538,7 +1538,7 @@ /turf/simulated/floor/tiled/steel_grid, /area/template_noop) "vA" = ( -/obj/item/device/geiger/wall/south, +/obj/item/geiger/wall/south, /turf/template_noop, /area/template_noop) "UW" = ( diff --git a/maps/submaps/engine_submaps_vr/tether/engine_tesla.dmm b/maps/submaps/engine_submaps_vr/tether/engine_tesla.dmm index a6ab2b04d88..feac4771dd4 100644 --- a/maps/submaps/engine_submaps_vr/tether/engine_tesla.dmm +++ b/maps/submaps/engine_submaps_vr/tether/engine_tesla.dmm @@ -100,8 +100,8 @@ }, /obj/structure/table/standard, /obj/item/stack/cable_coil/random, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/tool/screwdriver, +/obj/item/tool/wrench, +/obj/item/tool/screwdriver, /turf/simulated/floor, /area/engineering/engine_gas) "ar" = ( @@ -256,8 +256,8 @@ dir = 1 }, /obj/structure/table/standard, -/obj/item/weapon/circuitboard/tesla_coil, -/obj/item/weapon/circuitboard/tesla_coil, +/obj/item/circuitboard/tesla_coil, +/obj/item/circuitboard/tesla_coil, /turf/simulated/floor, /area/engineering/engine_gas) "aB" = ( @@ -326,7 +326,7 @@ /turf/simulated/floor/tiled, /area/engineering/engine_room) "aI" = ( -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /turf/space, /area/space) "aJ" = ( @@ -724,11 +724,11 @@ /turf/simulated/floor/tiled, /area/submap/pa_room) "bu" = ( -/obj/item/weapon/book/manual/engineering_particle_accelerator{ +/obj/item/book/manual/engineering_particle_accelerator{ pixel_x = 5; pixel_y = 5 }, -/obj/item/weapon/book/manual/tesla_engine, +/obj/item/book/manual/tesla_engine, /turf/template_noop, /area/template_noop) "bv" = ( @@ -998,8 +998,8 @@ }, /obj/effect/floor_decal/steeldecal/steel_decals8, /obj/structure/table/standard, -/obj/item/weapon/book/manual/tesla_engine, -/obj/item/weapon/book/manual/engineering_particle_accelerator{ +/obj/item/book/manual/tesla_engine, +/obj/item/book/manual/engineering_particle_accelerator{ pixel_x = 5; pixel_y = 5 }, @@ -1226,7 +1226,7 @@ /turf/simulated/floor/tiled, /area/engineering/engine_room) "cs" = ( -/obj/item/weapon/weldingtool, +/obj/item/weldingtool, /turf/simulated/floor/airless, /area/space) "ct" = ( @@ -1419,7 +1419,7 @@ /turf/simulated/floor/tiled, /area/engineering/engine_room) "cJ" = ( -/obj/item/weapon/tool/wirecutters, +/obj/item/tool/wirecutters, /turf/simulated/floor/airless, /area/space) "cK" = ( diff --git a/maps/submaps/engine_submaps_yw/_overlay.dmm b/maps/submaps/engine_submaps_yw/_overlay.dmm index f389c5d5918..5aeb3c46086 100644 --- a/maps/submaps/engine_submaps_yw/_overlay.dmm +++ b/maps/submaps/engine_submaps_yw/_overlay.dmm @@ -14,10 +14,10 @@ "an" = (/obj/machinery/power/grid_checker,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor,/area/engineering/engine_smes) "ao" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/power/sensor{name = "Powernet Sensor - Master Grid"; name_tag = "Master"},/turf/simulated/floor,/area/engineering/engine_smes) "ap" = (/obj/machinery/door/blast/regular{dir = 4; icon_state = "pdoor1"; id = "EngineVent"; name = "Reactor Vent"; p_open = 0},/turf/simulated/floor/reinforced/nitrogen{nitrogen = 82.1472},/area/engineering/engine_room) -"aq" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/button/remote/airlock{id = "engine_electrical_maintenance"; name = "Door Bolt Control"; pixel_x = -25; pixel_y = 0; req_access = list(10); specialfunctions = 4},/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes) +"aq" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/button/remote/airlock{id = "engine_electrical_maintenance"; name = "Door Bolt Control"; pixel_x = -25; pixel_y = 0; req_access = list(10); specialfunctions = 4},/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes) "ar" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes) -"as" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/table/steel,/obj/item/weapon/storage/toolbox/electrical,/obj/item/clothing/gloves/yellow,/obj/item/device/multitool{pixel_x = 5},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes) -"at" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/table/steel,/obj/item/weapon/paper{info = "The big blue box recently installed in here is a 'grid checker' which will shut off the power if a dangerous power spike from the engine erupts into the powernet. Shutting everything down protects everything from electrical damage, however the outages can be disruptive to colony operations, so it is designed to restore power after a somewhat significant delay, up to ten minutes or so. The grid checker can be manually hacked in order to end the outage sooner. To do that, you must cut three specific wires which do not cause a red light to shine, then pulse a fourth wire. Electrical protection is highly recommended when doing maintenance on the grid checker."; name = "grid checker info"},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes) +"as" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/table/steel,/obj/item/storage/toolbox/electrical,/obj/item/clothing/gloves/yellow,/obj/item/multitool{pixel_x = 5},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes) +"at" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/table/steel,/obj/item/paper{info = "The big blue box recently installed in here is a 'grid checker' which will shut off the power if a dangerous power spike from the engine erupts into the powernet. Shutting everything down protects everything from electrical damage, however the outages can be disruptive to colony operations, so it is designed to restore power after a somewhat significant delay, up to ten minutes or so. The grid checker can be manually hacked in order to end the outage sooner. To do that, you must cut three specific wires which do not cause a red light to shine, then pulse a fourth wire. Electrical protection is highly recommended when doing maintenance on the grid checker."; name = "grid checker info"},/obj/item/cell/high{charge = 100; maxcharge = 15000},/obj/item/storage/box/lights/mixed,/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes) "au" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes) "av" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/engineering/engine_smes) "aw" = (/turf/simulated/floor/reinforced/nitrogen{nitrogen = 82.1472},/area/engineering/engine_room) @@ -32,7 +32,7 @@ "aF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/airlock/maintenance_hatch{name = "SMES Access"; req_access = list(11)},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes) "aG" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_electrical_maintenance"; locked = 1; name = "Electrical Maintenance"; req_access = list(10)},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes) "aH" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes) -"aI" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light/small,/obj/item/device/radio/intercom{dir = 2; pixel_y = -24},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes) +"aI" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light/small,/obj/item/radio/intercom{dir = 2; pixel_y = -24},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes) "aJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes) "aK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes) "aL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light_switch{dir = 1; pixel_y = -24},/obj/machinery/light/small,/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes) @@ -45,7 +45,7 @@ "aS" = (/turf/simulated/floor/reinforced,/area/engineering/engine_room) "aT" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/glass,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "EngineBlast"; name = "Engine Monitoring Room Blast Doors"; opacity = 0},/turf/simulated/floor,/area/engineering/engine_monitoring) "aU" = (/obj/structure/table/reinforced,/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/industrial/danger{icon_state = "danger"; dir = 9},/obj/machinery/status_display{pixel_y = 32},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) -"aV" = (/obj/item/device/radio/intercom{dir = 1; pixel_y = 24; req_access = list()},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/yellow/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/yellow/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) +"aV" = (/obj/item/radio/intercom{dir = 1; pixel_y = 24; req_access = list()},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/yellow/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/yellow/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) "aW" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) "aX" = (/obj/machinery/light{dir = 1},/obj/machinery/recharge_station,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/yellow/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/yellow/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) "aY" = (/obj/machinery/light_switch{pixel_y = 24},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/yellow/border{dir = 1},/obj/machinery/computer/pickengine,/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) @@ -67,7 +67,7 @@ "bo" = (/obj/machinery/computer/rcon{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/industrial/danger{icon_state = "danger"; dir = 8},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) "bp" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) "bq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) -"br" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table/reinforced,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 2},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/yellow/bordercorner2{dir = 6},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) +"br" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table/reinforced,/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 2},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/yellow/bordercorner2{dir = 6},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) "bs" = (/obj/structure/table/reinforced,/obj/machinery/recharger,/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/industrial/danger{icon_state = "danger"; dir = 10},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) "bt" = (/obj/machinery/computer/station_alert{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/yellow/border,/obj/machinery/requests_console/preset/engineering{pixel_y = -30},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) "bu" = (/obj/machinery/camera/network/engine{dir = 1},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/yellow/border,/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) @@ -83,7 +83,7 @@ "bE" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/engineering/engine_airlock) "bF" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/floor_decal/corner_steel_grid{icon_state = "steel_grid"; dir = 9},/turf/simulated/floor/tiled,/area/engineering/engine_airlock) "bG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/engineering/engine_airlock) -"bH" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/item/device/radio/intercom{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled,/area/engineering/engine_airlock) +"bH" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/item/radio/intercom{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled,/area/engineering/engine_airlock) "bI" = (/obj/machinery/door/airlock/maintenance_hatch{frequency = 1379; icon_state = "door_closed"; id_tag = "engine_airlock_interior"; locked = 0; name = "Engine Airlock Interior"; req_access = list(11)},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/engineering/engine_airlock) "bJ" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_airlock) "bK" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"},/turf/simulated/floor/plating,/area/engineering/engine_airlock) @@ -116,7 +116,7 @@ "cl" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/firealarm{dir = 2; layer = 3.3; pixel_x = 0; pixel_y = 26},/obj/vehicle/train/trolley,/turf/simulated/floor/tiled/monotile,/area/engineering/hallway) "cm" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/effect/floor_decal/steeldecal/steel_decals_central6{icon_state = "steel_decals_central6"; dir = 8},/obj/machinery/alarm{pixel_y = 22},/obj/vehicle/train/engine,/turf/simulated/floor/tiled/monotile,/area/engineering/hallway) "cn" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/obj/machinery/camera/network/engineering,/turf/simulated/floor/tiled,/area/engineering/hallway) -"co" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/structure/table/reinforced,/obj/item/device/pipe_painter,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos/backup) +"co" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/structure/table/reinforced,/obj/item/pipe_painter,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos/backup) "cp" = (/obj/effect/floor_decal/steeldecal/steel_decals6{dir = 1},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/atmospherics/pipe/manifold/visible/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/visible/scrubbers{dir = 8},/turf/simulated/floor/tiled,/area/engineering/atmos/backup) "cq" = (/obj/effect/floor_decal/steeldecal/steel_decals6{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineEmitterPortWest2"; name = "Engine Room Blast Doors"; pixel_x = 25; pixel_y = 0; req_access = null; req_one_access = list(11,24)},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled,/area/engineering/atmos/backup) "cr" = (/obj/machinery/light/small,/turf/simulated/floor,/area/engineering/shaft) @@ -132,7 +132,7 @@ "cB" = (/obj/machinery/atmospherics/pipe/manifold/visible/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{icon_state = "intact-scrubbers"; dir = 5},/turf/simulated/floor/tiled,/area/engineering/atmos/backup) "cC" = (/obj/machinery/atmospherics/pipe/simple/visible/supply{icon_state = "intact-supply"; dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{icon_state = "intact-scrubbers"; dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos/backup) "cD" = (/obj/machinery/atmospherics/pipe/simple/visible/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/manifold/visible/scrubbers{dir = 1},/turf/simulated/floor/tiled,/area/engineering/atmos/backup) -"cE" = (/obj/machinery/atmospherics/pipe/simple/visible/supply{icon_state = "intact-supply"; dir = 4},/obj/item/device/radio/intercom{dir = 1; pixel_y = 24; req_access = list()},/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{icon_state = "intact-scrubbers"; dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos/backup) +"cE" = (/obj/machinery/atmospherics/pipe/simple/visible/supply{icon_state = "intact-supply"; dir = 4},/obj/item/radio/intercom{dir = 1; pixel_y = 24; req_access = list()},/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{icon_state = "intact-scrubbers"; dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos/backup) "cF" = (/obj/machinery/atmospherics/pipe/simple/visible/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{icon_state = "intact-scrubbers"; dir = 4},/obj/structure/extinguisher_cabinet{dir = 1; icon_state = "extinguisher_closed"; pixel_y = 32},/turf/simulated/floor/tiled,/area/engineering/atmos/backup) "cG" = (/obj/machinery/atmospherics/pipe/simple/visible/supply{icon_state = "intact-supply"; dir = 10},/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{icon_state = "intact-scrubbers"; dir = 10},/turf/simulated/floor/tiled,/area/engineering/atmos/backup) "cH" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/maintenance/engi{name = "Engineering Electrical Shaft"; req_one_access = list(10)},/obj/machinery/door/firedoor/glass,/turf/simulated/floor,/area/engineering/hallway) diff --git a/maps/submaps/pois_vr/aerostat/Blackshuttledown.dmm b/maps/submaps/pois_vr/aerostat/Blackshuttledown.dmm index 8ebd94d0670..35e44b9977f 100644 --- a/maps/submaps/pois_vr/aerostat/Blackshuttledown.dmm +++ b/maps/submaps/pois_vr/aerostat/Blackshuttledown.dmm @@ -122,8 +122,8 @@ /area/submap/virgo2/Blackshuttledown) "av" = ( /obj/structure/table/steel, -/obj/item/weapon/gun/projectile/automatic/wt550, -/obj/item/weapon/gun/projectile/automatic/p90, +/obj/item/gun/projectile/automatic/wt550, +/obj/item/gun/projectile/automatic/p90, /turf/simulated/floor/tiled/steel, /area/submap/virgo2/Blackshuttledown) "aw" = ( @@ -161,7 +161,7 @@ /area/submap/virgo2/Blackshuttledown) "aC" = ( /obj/structure/table/steel, -/obj/item/weapon/gun/projectile/automatic/c20r, +/obj/item/gun/projectile/automatic/c20r, /obj/machinery/light/small{ dir = 4; pixel_y = 0 @@ -186,12 +186,12 @@ /area/submap/virgo2/Blackshuttledown) "aG" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery, /turf/simulated/floor/tiled/steel, /area/submap/virgo2/Blackshuttledown) "aH" = ( /obj/structure/table/standard, -/obj/item/weapon/tank/anesthetic, +/obj/item/tank/anesthetic, /turf/simulated/floor/tiled/steel, /area/submap/virgo2/Blackshuttledown) "aI" = ( @@ -202,13 +202,13 @@ /area/submap/virgo2/Blackshuttledown) "aJ" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/spray/sterilizine, -/obj/item/weapon/reagent_containers/spray/sterilizine, +/obj/item/reagent_containers/spray/sterilizine, +/obj/item/reagent_containers/spray/sterilizine, /turf/simulated/floor/tiled/steel, /area/submap/virgo2/Blackshuttledown) "aK" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/masks, +/obj/item/storage/box/masks, /turf/simulated/floor/tiled/steel, /area/submap/virgo2/Blackshuttledown) "aL" = ( @@ -236,7 +236,7 @@ /area/submap/virgo2/Blackshuttledown) "aP" = ( /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/hyper; + cell_type = /obj/item/cell/hyper; dir = 4; name = "Unknown APC"; pixel_x = -24 @@ -255,7 +255,7 @@ /area/submap/virgo2/Blackshuttledown) "aS" = ( /obj/structure/table/steel, -/obj/item/weapon/material/knife, +/obj/item/material/knife, /turf/simulated/floor/tiled/steel, /area/submap/virgo2/Blackshuttledown) "aU" = ( @@ -285,7 +285,7 @@ /turf/simulated/floor/plating, /area/submap/virgo2/Blackshuttledown) "aX" = ( -/obj/item/weapon/stool, +/obj/item/stool, /turf/simulated/floor/tiled/steel, /area/submap/virgo2/Blackshuttledown) "aY" = ( @@ -320,7 +320,7 @@ /area/submap/virgo2/Blackshuttledown) "be" = ( /obj/structure/table/steel, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "We need to take a short stop. The engine's are in need of minor repairs due to turbulence, should be a week's time. We've got reserve food supplies but pleanty of locale fauna to subsist on too if need be. PCRC is keeping most of there assets near New Reykjavik and locale authorities are more mindful then most to travel in this kind of weather. Our outfit should be at the rendezvous point in less then ten days assuming the upper ecehelon hasn't dropped ties with us yet."; name = "Operation Progress/M-53" }, @@ -328,7 +328,7 @@ /area/submap/virgo2/Blackshuttledown) "bf" = ( /obj/structure/table/steel, -/obj/item/weapon/paper_bin, +/obj/item/paper_bin, /turf/simulated/floor/tiled/steel, /area/submap/virgo2/Blackshuttledown) "bg" = ( @@ -357,12 +357,12 @@ /area/submap/virgo2/Blackshuttledown) "bl" = ( /obj/structure/table/steel, -/obj/item/weapon/gun/projectile/automatic/c20r, +/obj/item/gun/projectile/automatic/c20r, /turf/simulated/floor/tiled/steel, /area/submap/virgo2/Blackshuttledown) "bm" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /turf/simulated/floor/tiled/steel, /area/submap/virgo2/Blackshuttledown) "bn" = ( @@ -371,7 +371,7 @@ /area/submap/virgo2/Blackshuttledown) "bo" = ( /obj/structure/table/steel, -/obj/item/weapon/gun/projectile/pistol, +/obj/item/gun/projectile/pistol, /obj/machinery/light/small{ dir = 4; pixel_y = 0 @@ -380,7 +380,7 @@ /area/submap/virgo2/Blackshuttledown) "bp" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/structure/bed, /turf/simulated/floor/tiled/steel, /area/submap/virgo2/Blackshuttledown) @@ -391,8 +391,8 @@ /area/submap/virgo2/Blackshuttledown) "br" = ( /obj/structure/table/steel, -/obj/item/weapon/gun/projectile/pistol, -/obj/item/weapon/gun/projectile/shotgun/pump, +/obj/item/gun/projectile/pistol, +/obj/item/gun/projectile/shotgun/pump, /turf/simulated/floor/tiled/steel, /area/submap/virgo2/Blackshuttledown) "bs" = ( @@ -416,13 +416,13 @@ /area/submap/virgo2/Blackshuttledown) "bu" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/machinery/light, /turf/simulated/floor/tiled/steel, /area/submap/virgo2/Blackshuttledown) "bv" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/item/toy/plushie/spider, /turf/simulated/floor/tiled/steel, /area/submap/virgo2/Blackshuttledown) diff --git a/maps/submaps/pois_vr/aerostat/Boombase.dmm b/maps/submaps/pois_vr/aerostat/Boombase.dmm index bcc411e86a9..774e1585fdc 100644 --- a/maps/submaps/pois_vr/aerostat/Boombase.dmm +++ b/maps/submaps/pois_vr/aerostat/Boombase.dmm @@ -10,7 +10,7 @@ /turf/template_noop, /area/submap/virgo2/BoomBase) "ad" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/mineral/floor/ignore_mapgen/virgo2, /area/submap/virgo2/BoomBase) "ae" = ( @@ -50,7 +50,7 @@ "am" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spider, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/BoomBase) "an" = ( @@ -66,7 +66,7 @@ /area/submap/virgo2/BoomBase) "aq" = ( /obj/machinery/portable_atmospherics/canister/empty/phoron, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/BoomBase) "ar" = ( @@ -74,7 +74,7 @@ /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/BoomBase) "as" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/plating/virgo2, /area/submap/virgo2/BoomBase) "at" = ( @@ -106,8 +106,8 @@ "az" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table/standard, -/obj/item/weapon/tank/phoron, -/obj/item/weapon/fuel_assembly/phoron, +/obj/item/tank/phoron, +/obj/item/fuel_assembly/phoron, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/BoomBase) "aA" = ( @@ -119,7 +119,7 @@ /turf/simulated/mineral/floor/ignore_mapgen/virgo2, /area/submap/virgo2/BoomBase) "aC" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/BoomBase) "aD" = ( @@ -127,7 +127,7 @@ /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/BoomBase) "aE" = ( -/obj/item/device/transfer_valve, +/obj/item/transfer_valve, /turf/simulated/mineral/floor/ignore_mapgen/virgo2, /area/submap/virgo2/BoomBase) "aF" = ( @@ -162,7 +162,7 @@ /area/submap/virgo2/BoomBase) "aV" = ( /obj/effect/spider/stickyweb, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/mineral/floor/ignore_mapgen/virgo2, /area/submap/virgo2/BoomBase) "aY" = ( diff --git a/maps/submaps/pois_vr/aerostat/CaveS.dmm b/maps/submaps/pois_vr/aerostat/CaveS.dmm index 1596347a965..25bc62a1e00 100644 --- a/maps/submaps/pois_vr/aerostat/CaveS.dmm +++ b/maps/submaps/pois_vr/aerostat/CaveS.dmm @@ -31,7 +31,7 @@ /area/submap/virgo2/CaveS) "j" = ( /obj/item/clothing/accessory/storage/webbing, -/obj/item/weapon/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, /turf/simulated/mineral/floor/ignore_mapgen/virgo2, /area/submap/virgo2/CaveS) "k" = ( @@ -60,13 +60,13 @@ /obj/structure/closet/crate, /obj/item/stack/cable_coil, /obj/item/stack/cable_coil, -/obj/item/weapon/storage/toolbox, +/obj/item/storage/toolbox, /obj/random/toolbox, /turf/simulated/floor, /area/submap/virgo2/CaveS) "x" = ( /obj/structure/table/woodentable, -/obj/item/device/survivalcapsule, +/obj/item/survivalcapsule, /turf/simulated/floor, /area/submap/virgo2/CaveS) "y" = ( @@ -81,15 +81,15 @@ /area/submap/virgo2/CaveS) "A" = ( /obj/structure/closet/crate, -/obj/item/weapon/reagent_containers/hypospray, -/obj/item/weapon/reagent_containers/glass/bottle/stoxin, -/obj/item/weapon/reagent_containers/glass/bottle/antitoxin, -/obj/item/weapon/reagent_containers/pill/antitox, -/obj/item/weapon/reagent_containers/pill/antitox, -/obj/item/weapon/reagent_containers/pill/antitox, -/obj/item/weapon/reagent_containers/pill/paracetamol, +/obj/item/reagent_containers/hypospray, +/obj/item/reagent_containers/glass/bottle/stoxin, +/obj/item/reagent_containers/glass/bottle/antitoxin, +/obj/item/reagent_containers/pill/antitox, +/obj/item/reagent_containers/pill/antitox, +/obj/item/reagent_containers/pill/antitox, +/obj/item/reagent_containers/pill/paracetamol, /obj/random/firstaid, -/obj/item/weapon/storage/firstaid/combat, +/obj/item/storage/firstaid/combat, /turf/simulated/floor, /area/submap/virgo2/CaveS) "B" = ( @@ -105,11 +105,11 @@ /obj/random/contraband, /obj/random/contraband, /obj/random/energy, -/obj/item/weapon/material/star, -/obj/item/weapon/material/star, -/obj/item/weapon/material/star, -/obj/item/weapon/material/star, -/obj/item/weapon/material/star, +/obj/item/material/star, +/obj/item/material/star, +/obj/item/material/star, +/obj/item/material/star, +/obj/item/material/star, /turf/simulated/floor, /area/submap/virgo2/CaveS) "E" = ( diff --git a/maps/submaps/pois_vr/aerostat/DJOutpost1.dmm b/maps/submaps/pois_vr/aerostat/DJOutpost1.dmm index 303e7e9ecfa..2bb19722ac5 100644 --- a/maps/submaps/pois_vr/aerostat/DJOutpost1.dmm +++ b/maps/submaps/pois_vr/aerostat/DJOutpost1.dmm @@ -7,8 +7,8 @@ /area/submap/virgo2/DJOutpost1) "c" = ( /obj/structure/grille/broken, -/obj/item/weapon/material/shard, -/obj/item/weapon/material/shard{ +/obj/item/material/shard, +/obj/item/material/shard{ icon_state = "shardmedium" }, /obj/item/stack/rods, @@ -42,7 +42,7 @@ /obj/effect/decal/remains, /obj/effect/decal/cleanable/blood, /obj/item/clothing/under/frontier, -/obj/item/weapon/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, /obj/random_multi/single_item/sfr_headset, /turf/simulated/floor/wood, /area/submap/virgo2/DJOutpost1) @@ -52,7 +52,7 @@ /area/submap/virgo2/DJOutpost1) "l" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ icon_state = "intercom"; dir = 8 }, @@ -60,7 +60,7 @@ /area/submap/virgo2/DJOutpost1) "m" = ( /obj/machinery/computer/message_monitor, -/obj/item/weapon/paper/monitorkey, +/obj/item/paper/monitorkey, /obj/structure/cable/yellow{ icon_state = "2-4" }, @@ -92,7 +92,7 @@ /obj/effect/decal/remains, /obj/item/clothing/under/dress/blacktango, /obj/effect/decal/cleanable/blood, -/obj/item/device/universal_translator/ear, +/obj/item/universal_translator/ear, /turf/simulated/floor/wood, /area/submap/virgo2/DJOutpost1) "s" = ( @@ -143,36 +143,36 @@ /area/submap/virgo2/DJOutpost1) "x" = ( /obj/structure/bookcase, -/obj/item/weapon/book/codex/lore/vir, -/obj/item/weapon/book/manual/excavation, -/obj/item/weapon/book/manual/engineering_construction, -/obj/item/weapon/storage/bible, +/obj/item/book/codex/lore/vir, +/obj/item/book/manual/excavation, +/obj/item/book/manual/wiki/engineering_construction, +/obj/item/storage/bible, /turf/simulated/floor/wood, /area/submap/virgo2/DJOutpost1) "y" = ( -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/floor/wood, /area/submap/virgo2/DJOutpost1) "z" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/radio/phone, +/obj/item/radio/phone, /obj/random_multi/single_item/sfr_headset, /turf/simulated/floor/wood, /area/submap/virgo2/DJOutpost1) "A" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/radio/intercom/syndicate{ +/obj/item/radio/intercom/syndicate{ desc = "Talk through this."; name = "station intercom (General)" }, -/obj/item/device/multitool, +/obj/item/multitool, /turf/simulated/floor/wood, /area/submap/virgo2/DJOutpost1) "B" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/radio, +/obj/item/radio, /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/hyper; + cell_type = /obj/item/cell/hyper; dir = 4; environ = 1; equipment = 1; @@ -195,7 +195,7 @@ /area/submap/virgo2/DJOutpost1) "D" = ( /obj/machinery/door/airlock/glass, -/obj/item/device/gps/internal/poi, +/obj/item/gps/internal/poi, /turf/simulated/floor/wood, /area/submap/virgo2/DJOutpost1) "E" = ( @@ -204,7 +204,7 @@ /area/submap/virgo2/DJOutpost1) "F" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/unajerky, +/obj/item/reagent_containers/food/snacks/unajerky, /obj/machinery/light{ icon_state = "tube1"; dir = 8 @@ -234,10 +234,10 @@ /area/submap/virgo2/DJOutpost1) "J" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/knife/machete/hatchet, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/material/minihoe, -/obj/item/device/analyzer/plant_analyzer, +/obj/item/material/knife/machete/hatchet, +/obj/item/reagent_containers/glass/bucket, +/obj/item/material/minihoe, +/obj/item/analyzer/plant_analyzer, /obj/random_multi/single_item/sfr_headset, /turf/simulated/floor/wood, /area/submap/virgo2/DJOutpost1) @@ -266,19 +266,19 @@ /area/submap/virgo2/DJOutpost1) "O" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/clown, +/obj/item/bedsheet/clown, /turf/simulated/floor/wood, /area/submap/virgo2/DJOutpost1) "P" = ( /obj/structure/table/rack, /obj/item/ammo_magazine/clip/c762/hunter, -/obj/item/weapon/gun/projectile/shotgun/pump/rifle, +/obj/item/gun/projectile/shotgun/pump/rifle, /turf/simulated/floor/wood, /area/submap/virgo2/DJOutpost1) "Q" = ( /obj/structure/table/rack, -/obj/item/device/flashlight/lantern, -/obj/item/device/gps{ +/obj/item/flashlight/lantern, +/obj/item/gps{ gps_tag = "Sif Free Radio" }, /turf/simulated/floor/wood, diff --git a/maps/submaps/pois_vr/aerostat/DJOutpost2.dmm b/maps/submaps/pois_vr/aerostat/DJOutpost2.dmm index 919640494d9..7084c671781 100644 --- a/maps/submaps/pois_vr/aerostat/DJOutpost2.dmm +++ b/maps/submaps/pois_vr/aerostat/DJOutpost2.dmm @@ -7,8 +7,8 @@ /area/submap/virgo2/DJOutpost1) "c" = ( /obj/structure/grille/broken, -/obj/item/weapon/material/shard, -/obj/item/weapon/material/shard{ +/obj/item/material/shard, +/obj/item/material/shard{ icon_state = "shardmedium" }, /obj/item/stack/rods, @@ -16,7 +16,7 @@ /area/submap/virgo2/DJOutpost1) "d" = ( /obj/structure/grille/broken, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor, /area/submap/virgo2/DJOutpost1) "e" = ( @@ -60,7 +60,7 @@ /area/submap/virgo2/DJOutpost1) "m" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/radio/phone, +/obj/item/radio/phone, /turf/simulated/floor/outdoors/dirt, /area/submap/virgo2/DJOutpost1) "n" = ( @@ -76,7 +76,7 @@ /area/submap/virgo2/DJOutpost1) "q" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/radio, +/obj/item/radio, /obj/structure/cable/yellow, /turf/simulated/floor/wood/broken, /area/submap/virgo2/DJOutpost1) @@ -95,7 +95,7 @@ /area/submap/virgo2/DJOutpost1) "w" = ( /obj/structure/grille/broken, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "shardmedium" }, /turf/simulated/floor, @@ -106,7 +106,7 @@ /area/submap/virgo2/DJOutpost1) "y" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/radio/intercom/syndicate{ +/obj/item/radio/intercom/syndicate{ desc = "Talk through this."; name = "station intercom (General)" }, @@ -122,7 +122,7 @@ /area/submap/virgo2/DJOutpost1) "C" = ( /obj/structure/grille/broken, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /obj/structure/cable/yellow{ @@ -131,24 +131,24 @@ /turf/simulated/floor, /area/submap/virgo2/DJOutpost1) "D" = ( -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "shardmedium" }, /turf/template_noop, /area/template_noop) "F" = ( -/obj/item/device/transfer_valve, +/obj/item/transfer_valve, /turf/simulated/floor/outdoors/rocks, /area/submap/virgo2/DJOutpost1) "G" = ( /obj/structure/grille/broken, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /turf/simulated/floor, /area/submap/virgo2/DJOutpost1) "H" = ( -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /turf/template_noop, @@ -158,7 +158,7 @@ /turf/simulated/floor/wood/broken, /area/submap/virgo2/DJOutpost1) "J" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/template_noop, /area/template_noop) "K" = ( @@ -170,12 +170,12 @@ /turf/simulated/floor/wood/broken, /area/submap/virgo2/DJOutpost1) "L" = ( -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/floor/outdoors/rocks, /area/submap/virgo2/DJOutpost1) "M" = ( /obj/structure/grille/broken, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /obj/item/stack/rods, diff --git a/maps/submaps/pois_vr/aerostat/DeadSettlers1.dmm b/maps/submaps/pois_vr/aerostat/DeadSettlers1.dmm index 24e024f3161..110a633fc14 100644 --- a/maps/submaps/pois_vr/aerostat/DeadSettlers1.dmm +++ b/maps/submaps/pois_vr/aerostat/DeadSettlers1.dmm @@ -1,13 +1,13 @@ "a" = (/turf/template_noop,/area/template_noop) -"d" = (/obj/item/device/flashlight/flare,/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers1) +"d" = (/obj/item/flashlight/flare,/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers1) "e" = (/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers1) "g" = (/obj/item/trash/meatration,/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers1) "n" = (/obj/tether_away_spawner/aerostat_surface,/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers1) -"o" = (/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever/trailgun,/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers1) +"o" = (/obj/item/gun/projectile/shotgun/pump/rifle/lever/trailgun,/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers1) "p" = (/turf/template_noop,/area/submap/virgo2/DeadSettlers1) "q" = (/obj/item/ammo_casing,/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers1) "t" = (/obj/random/multiple/voidsuit,/obj/effect/decal/remains,/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers1) -"B" = (/obj/item/device/radio/off,/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers1) +"B" = (/obj/item/radio/off,/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers1) "K" = (/obj/effect/decal/remains,/obj/effect/decal/cleanable/blood,/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers1) "Q" = (/obj/item/ammo_magazine/ammo_box/b44,/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers1) "W" = (/obj/effect/decal/cleanable/blood,/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers1) diff --git a/maps/submaps/pois_vr/aerostat/DeadSettlers2.dmm b/maps/submaps/pois_vr/aerostat/DeadSettlers2.dmm index fc5b53640c3..48740e5c3e9 100644 --- a/maps/submaps/pois_vr/aerostat/DeadSettlers2.dmm +++ b/maps/submaps/pois_vr/aerostat/DeadSettlers2.dmm @@ -2,15 +2,15 @@ "m" = (/obj/structure/bonfire,/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers2) "n" = (/obj/effect/decal/remains,/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers2) "o" = (/obj/random/multiple/voidsuit,/obj/effect/decal/remains,/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers2) -"u" = (/obj/item/device/flashlight/color/red,/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers2) +"u" = (/obj/item/flashlight/color/red,/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers2) "v" = (/obj/item/ammo_casing,/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers2) "x" = (/obj/tether_away_spawner/aerostat_surface,/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers2) "z" = (/turf/template_noop,/area/submap/virgo2/DeadSettlers2) "D" = (/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers2) -"F" = (/obj/item/device/radio/off,/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers2) +"F" = (/obj/item/radio/off,/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers2) "I" = (/obj/random/firstaid,/obj/effect/decal/cleanable/blood,/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers2) "S" = (/obj/effect/decal/cleanable/blood,/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers2) -"W" = (/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever/brushgun,/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers2) +"W" = (/obj/item/gun/projectile/shotgun/pump/rifle/lever/brushgun,/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers2) (1,1,1) = {" aaaaaaaaaaaa diff --git a/maps/submaps/pois_vr/aerostat/DecoupledEngine.dmm b/maps/submaps/pois_vr/aerostat/DecoupledEngine.dmm index eee3230cdba..04c58dab187 100644 --- a/maps/submaps/pois_vr/aerostat/DecoupledEngine.dmm +++ b/maps/submaps/pois_vr/aerostat/DecoupledEngine.dmm @@ -6,18 +6,18 @@ /turf/template_noop, /area/submap/virgo2/DecoupledEngine) "ac" = ( -/obj/item/weapon/fuel_assembly/deuterium, +/obj/item/fuel_assembly/deuterium, /turf/template_noop, /area/submap/virgo2/DecoupledEngine) "ad" = ( /turf/simulated/mineral/floor/ignore_mapgen/virgo2, /area/submap/virgo2/DecoupledEngine) "ae" = ( -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /turf/template_noop, /area/submap/virgo2/DecoupledEngine) "af" = ( -/obj/item/weapon/material/shard/phoron, +/obj/item/material/shard/phoron, /turf/template_noop, /area/submap/virgo2/DecoupledEngine) "ag" = ( @@ -25,7 +25,7 @@ /turf/simulated/mineral/floor/ignore_mapgen/virgo2, /area/submap/virgo2/DecoupledEngine) "ah" = ( -/obj/item/weapon/arrow/rod, +/obj/item/arrow/rod, /obj/item/stack/material/steel, /turf/simulated/floor/outdoors/rocks, /area/submap/virgo2/DecoupledEngine) @@ -43,11 +43,11 @@ /area/submap/virgo2/DecoupledEngine) "al" = ( /obj/effect/floor_decal/rust, -/obj/item/weapon/fuel_assembly/supermatter, +/obj/item/fuel_assembly/supermatter, /turf/simulated/floor, /area/submap/virgo2/DecoupledEngine) "am" = ( -/obj/item/weapon/arrow/rod, +/obj/item/arrow/rod, /turf/template_noop, /area/submap/virgo2/DecoupledEngine) "an" = ( @@ -195,7 +195,7 @@ icon_state = "phoronrwindow"; dir = 4 }, -/obj/item/weapon/material/shard/phoron, +/obj/item/material/shard/phoron, /obj/effect/floor_decal/rust, /turf/simulated/floor, /area/submap/virgo2/DecoupledEngine) @@ -431,7 +431,7 @@ "bq" = ( /obj/effect/floor_decal/rust, /obj/effect/decal/cleanable/dirt, -/obj/item/weapon/rcd, +/obj/item/rcd, /turf/simulated/floor, /area/submap/virgo2/DecoupledEngine) "br" = ( @@ -493,15 +493,15 @@ /turf/simulated/mineral/floor/ignore_mapgen/virgo2, /area/template_noop) "bA" = ( -/obj/item/weapon/arrow/rod, +/obj/item/arrow/rod, /turf/simulated/mineral/floor/ignore_mapgen/virgo2, /area/submap/virgo2/DecoupledEngine) "bB" = ( -/obj/item/weapon/fuel_assembly/deuterium, +/obj/item/fuel_assembly/deuterium, /turf/simulated/mineral/floor/ignore_mapgen/virgo2, /area/submap/virgo2/DecoupledEngine) "bC" = ( -/obj/item/weapon/material/shard/phoron, +/obj/item/material/shard/phoron, /turf/simulated/mineral/floor/ignore_mapgen/virgo2, /area/submap/virgo2/DecoupledEngine) "bD" = ( diff --git a/maps/submaps/pois_vr/aerostat/DoomP.dmm b/maps/submaps/pois_vr/aerostat/DoomP.dmm index 46792d490db..7c0c4d4d8e0 100644 --- a/maps/submaps/pois_vr/aerostat/DoomP.dmm +++ b/maps/submaps/pois_vr/aerostat/DoomP.dmm @@ -323,26 +323,26 @@ /area/submap/virgo2/DoomP) "bn" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/syndie_kit/spy, -/obj/item/weapon/card/id/syndicate, +/obj/item/storage/box/syndie_kit/spy, +/obj/item/card/id/syndicate, /turf/simulated/floor/tiled/techfloor, /area/submap/virgo2/DoomP) "bo" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/smokes, +/obj/item/storage/box/smokes, /turf/simulated/floor/tiled/techfloor, /area/submap/virgo2/DoomP) "bp" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/handcuffs, +/obj/item/storage/box/handcuffs, /turf/simulated/floor/tiled/techfloor, /area/submap/virgo2/DoomP) "bq" = ( /obj/structure/table/rack, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, /turf/simulated/floor/tiled/techfloor, /area/submap/virgo2/DoomP) "br" = ( @@ -352,14 +352,14 @@ /area/submap/virgo2/DoomP) "bs" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/contender, +/obj/item/gun/projectile/contender, /obj/item/ammo_magazine/s357, /obj/item/ammo_magazine/s357, /turf/simulated/floor/tiled/techfloor, /area/submap/virgo2/DoomP) "bt" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/item/toy/plushie/spider, /obj/effect/floor_decal/corner/lime/full{ dir = 8 @@ -375,7 +375,7 @@ /area/submap/virgo2/DoomP) "bv" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/effect/floor_decal/corner/lime{ dir = 5 }, @@ -383,7 +383,7 @@ /area/submap/virgo2/DoomP) "bw" = ( /obj/structure/table/standard, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /obj/effect/floor_decal/corner/lime{ dir = 5 }, diff --git a/maps/submaps/pois_vr/aerostat/Drugden.dmm b/maps/submaps/pois_vr/aerostat/Drugden.dmm index 396a44e977e..858370ea79a 100644 --- a/maps/submaps/pois_vr/aerostat/Drugden.dmm +++ b/maps/submaps/pois_vr/aerostat/Drugden.dmm @@ -25,18 +25,18 @@ /area/submap/virgo2/Drugd) "i" = ( /obj/structure/closet/cabinet, -/obj/item/weapon/lipstick/random, +/obj/item/lipstick/random, /turf/simulated/floor/carpet, /area/submap/virgo2/Drugd) "j" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/structure/curtain/open/bed, /turf/simulated/floor/carpet, /area/submap/virgo2/Drugd) "k" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/pill/happy{ +/obj/item/reagent_containers/pill/happy{ name = "pill" }, /turf/simulated/floor/carpet, @@ -66,7 +66,7 @@ /area/submap/virgo2/Drugd) "r" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/pill/methylphenidate{ +/obj/item/reagent_containers/pill/methylphenidate{ name = "pill" }, /turf/simulated/floor/carpet, @@ -79,7 +79,7 @@ /turf/simulated/floor/carpet, /area/submap/virgo2/Drugd) "t" = ( -/obj/item/weapon/reagent_containers/pill/citalopram{ +/obj/item/reagent_containers/pill/citalopram{ name = "pill" }, /turf/simulated/floor/carpet, @@ -99,13 +99,13 @@ /area/submap/virgo2/Drugd) "x" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp, -/obj/item/weapon/reagent_containers/syringe/drugs, +/obj/item/flashlight/lamp, +/obj/item/reagent_containers/syringe/drugs, /turf/simulated/floor/carpet, /area/submap/virgo2/Drugd) "y" = ( /obj/structure/bed/chair/comfy/beige, -/obj/item/weapon/reagent_containers/pill/citalopram{ +/obj/item/reagent_containers/pill/citalopram{ name = "pill" }, /turf/simulated/floor/carpet, @@ -115,17 +115,17 @@ /turf/simulated/floor, /area/submap/virgo2/Drugd) "A" = ( -/obj/item/weapon/reagent_containers/pill/citalopram{ +/obj/item/reagent_containers/pill/citalopram{ name = "pill" }, -/obj/item/weapon/reagent_containers/pill/citalopram{ +/obj/item/reagent_containers/pill/citalopram{ name = "pill" }, /turf/simulated/floor/carpet, /area/submap/virgo2/Drugd) "B" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/pill_bottle/happy, +/obj/item/storage/pill_bottle/happy, /turf/simulated/floor/tiled, /area/submap/virgo2/Drugd) "C" = ( @@ -135,31 +135,31 @@ /area/submap/virgo2/Drugd) "D" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/pill/citalopram, -/obj/item/weapon/reagent_containers/pill/citalopram, +/obj/item/reagent_containers/pill/citalopram, +/obj/item/reagent_containers/pill/citalopram, /turf/simulated/floor/tiled, /area/submap/virgo2/Drugd) "E" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/pill/tramadol, -/obj/item/weapon/reagent_containers/pill/tramadol, +/obj/item/reagent_containers/pill/tramadol, +/obj/item/reagent_containers/pill/tramadol, /turf/simulated/floor/tiled, /area/submap/virgo2/Drugd) "F" = ( /obj/structure/closet/cabinet, /obj/item/clothing/accessory/jacket, -/obj/item/weapon/material/butterfly/switchblade, +/obj/item/material/butterfly/switchblade, /turf/simulated/floor/carpet, /area/submap/virgo2/Drugd) "G" = ( -/obj/item/weapon/reagent_containers/pill/zoom{ +/obj/item/reagent_containers/pill/zoom{ name = "pill" }, /obj/random/trash, /turf/simulated/floor/carpet, /area/submap/virgo2/Drugd) "H" = ( -/obj/item/weapon/reagent_containers/pill/zoom{ +/obj/item/reagent_containers/pill/zoom{ name = "pill" }, /turf/simulated/floor/carpet, @@ -170,7 +170,7 @@ /area/submap/virgo2/Drugd) "J" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/scalpel, +/obj/item/surgical/scalpel, /turf/simulated/floor/tiled, /area/submap/virgo2/Drugd) "K" = ( @@ -189,18 +189,18 @@ "N" = ( /obj/effect/floor_decal/rust, /obj/structure/table/standard, -/obj/item/device/survivalcapsule, +/obj/item/survivalcapsule, /turf/simulated/floor/tiled, /area/submap/virgo2/Drugd) "O" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/pill/zoom, -/obj/item/weapon/reagent_containers/pill/zoom, +/obj/item/reagent_containers/pill/zoom, +/obj/item/reagent_containers/pill/zoom, /turf/simulated/floor, /area/submap/virgo2/Drugd) "P" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/pill/tramadol{ +/obj/item/reagent_containers/pill/tramadol{ name = "pill" }, /turf/simulated/floor/carpet, @@ -210,17 +210,17 @@ /turf/simulated/floor, /area/submap/virgo2/Drugd) "S" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor, /area/submap/virgo2/Drugd) "T" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/carpet, /area/submap/virgo2/Drugd) "U" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/syringe/drugs, +/obj/item/reagent_containers/syringe/drugs, /turf/simulated/floor/carpet, /area/submap/virgo2/Drugd) "V" = ( diff --git a/maps/submaps/pois_vr/aerostat/Epod3.dmm b/maps/submaps/pois_vr/aerostat/Epod3.dmm index 23eafb77901..9452b3095cc 100644 --- a/maps/submaps/pois_vr/aerostat/Epod3.dmm +++ b/maps/submaps/pois_vr/aerostat/Epod3.dmm @@ -30,7 +30,7 @@ /obj/structure/closet/walllocker/emerglocker{ pixel_y = 28 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -26 }, /turf/simulated/shuttle/floor, @@ -44,7 +44,7 @@ pixel_y = 28 }, /obj/machinery/light, -/obj/item/weapon/weldingtool/largetank, +/obj/item/weldingtool/largetank, /turf/simulated/shuttle/floor, /area/submap/virgo2/Epod3) "j" = ( diff --git a/maps/submaps/pois_vr/aerostat/Epod4.dmm b/maps/submaps/pois_vr/aerostat/Epod4.dmm index 2fd3c9bb4db..7212bcf26a8 100644 --- a/maps/submaps/pois_vr/aerostat/Epod4.dmm +++ b/maps/submaps/pois_vr/aerostat/Epod4.dmm @@ -58,7 +58,7 @@ dir = 1 }, /obj/structure/closet/walllocker/emerglocker/east, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -28 diff --git a/maps/submaps/pois_vr/aerostat/GovPatrol.dmm b/maps/submaps/pois_vr/aerostat/GovPatrol.dmm index 857bb008ea5..bc961eb7d69 100644 --- a/maps/submaps/pois_vr/aerostat/GovPatrol.dmm +++ b/maps/submaps/pois_vr/aerostat/GovPatrol.dmm @@ -13,11 +13,11 @@ /turf/simulated/mineral/floor/ignore_mapgen/virgo2, /area/submap/virgo2/GovPatrol) "e" = ( -/obj/item/device/radio/off, +/obj/item/radio/off, /turf/simulated/mineral/floor/ignore_mapgen/virgo2, /area/submap/virgo2/GovPatrol) "f" = ( -/obj/item/weapon/storage/box/flare, +/obj/item/storage/box/flare, /turf/simulated/mineral/floor/ignore_mapgen/virgo2, /area/submap/virgo2/GovPatrol) "g" = ( @@ -35,7 +35,7 @@ /turf/simulated/mineral/floor/ignore_mapgen/virgo2, /area/submap/virgo2/GovPatrol) "k" = ( -/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever, +/obj/item/gun/projectile/shotgun/pump/rifle/lever, /turf/simulated/mineral/floor/ignore_mapgen/virgo2, /area/submap/virgo2/GovPatrol) "m" = ( diff --git a/maps/submaps/pois_vr/aerostat/Lab1.dmm b/maps/submaps/pois_vr/aerostat/Lab1.dmm index f6e68547bf1..b045cd8e6be 100644 --- a/maps/submaps/pois_vr/aerostat/Lab1.dmm +++ b/maps/submaps/pois_vr/aerostat/Lab1.dmm @@ -58,7 +58,7 @@ /area/submap/virgo2/Lab1) "k" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox, +/obj/item/storage/toolbox, /obj/random/tool, /turf/simulated/floor/tiled/steel_dirty, /area/submap/virgo2/Lab1) @@ -98,7 +98,7 @@ "q" = ( /obj/structure/table/standard, /obj/random/toolbox, -/obj/item/weapon/cell/super, +/obj/item/cell/super, /turf/simulated/floor/tiled/steel_dirty, /area/submap/virgo2/Lab1) "r" = ( @@ -113,12 +113,12 @@ /area/submap/virgo2/Lab1) "t" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /turf/simulated/floor/tiled/steel_dirty, /area/submap/virgo2/Lab1) "u" = ( /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/hyper; + cell_type = /obj/item/cell/hyper; dir = 8; name = "Unknown APC"; operating = 0; @@ -145,14 +145,14 @@ /area/submap/virgo2/Lab1) "x" = ( /obj/structure/table/standard, -/obj/item/weapon/paper{ +/obj/item/paper{ desc = "Gladstone for the last fucking time, We have crowbars for a REASON. Stop breaking in through the goddamn windows! We big red shiny doors for god's sakes!" }, /turf/simulated/floor/tiled/steel_dirty, /area/submap/virgo2/Lab1) "y" = ( /obj/structure/table/standard, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/tiled/steel_dirty, /area/submap/virgo2/Lab1) "z" = ( @@ -171,7 +171,7 @@ /area/submap/virgo2/Lab1) "C" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/floor/tiled/steel_dirty, /area/submap/virgo2/Lab1) "D" = ( @@ -182,7 +182,7 @@ /area/submap/virgo2/Lab1) "E" = ( /obj/structure/table/standard, -/obj/item/device/multitool, +/obj/item/multitool, /obj/item/clothing/glasses/welding, /turf/simulated/floor/tiled/steel_dirty, /area/submap/virgo2/Lab1) @@ -207,7 +207,7 @@ /turf/simulated/floor/tiled/steel_dirty, /area/submap/virgo2/Lab1) "I" = ( -/obj/item/weapon/cell/super, +/obj/item/cell/super, /turf/simulated/floor/tiled/steel_dirty, /area/submap/virgo2/Lab1) "J" = ( @@ -230,7 +230,7 @@ /turf/simulated/floor/tiled/steel_dirty, /area/submap/virgo2/Lab1) "M" = ( -/obj/item/weapon/storage/bag/circuits, +/obj/item/storage/bag/circuits, /obj/structure/table/standard, /turf/simulated/floor/tiled/steel_dirty, /area/submap/virgo2/Lab1) diff --git a/maps/submaps/pois_vr/aerostat/MCamp1.dmm b/maps/submaps/pois_vr/aerostat/MCamp1.dmm index 1a445910dd7..7c215d7f8c2 100644 --- a/maps/submaps/pois_vr/aerostat/MCamp1.dmm +++ b/maps/submaps/pois_vr/aerostat/MCamp1.dmm @@ -17,7 +17,7 @@ /turf/simulated/mineral/floor/ignore_mapgen/virgo2, /area/submap/virgo2/MilitaryCamp1) "g" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/mineral/floor/ignore_mapgen/virgo2, /area/submap/virgo2/MilitaryCamp1) "h" = ( @@ -44,7 +44,7 @@ /area/submap/virgo2/MilitaryCamp1) "n" = ( /obj/structure/table/standard, -/obj/item/weapon/gun/energy/gun, +/obj/item/gun/energy/gun, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/MilitaryCamp1) "o" = ( @@ -53,12 +53,12 @@ /area/submap/virgo2/MilitaryCamp1) "q" = ( /obj/structure/table/standard, -/obj/item/weapon/gun/projectile/automatic/c20r, +/obj/item/gun/projectile/automatic/c20r, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/MilitaryCamp1) "r" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/syndie_kit/space, +/obj/item/storage/box/syndie_kit/space, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/MilitaryCamp1) "s" = ( diff --git a/maps/submaps/pois_vr/aerostat/MHR.dmm b/maps/submaps/pois_vr/aerostat/MHR.dmm index 06a7705e14e..55768249fa0 100644 --- a/maps/submaps/pois_vr/aerostat/MHR.dmm +++ b/maps/submaps/pois_vr/aerostat/MHR.dmm @@ -29,7 +29,7 @@ /area/submap/virgo2/MHR) "h" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/backpack, +/obj/item/storage/backpack, /turf/simulated/mineral/floor/ignore_mapgen/virgo2{ outdoors = 0 }, @@ -42,7 +42,7 @@ /area/submap/virgo2/MHR) "j" = ( /obj/structure/table/standard, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "Do not enter the cave. The estimated active time of the Vicerators is much longer due to the improvements on the rotor bearings. It's estimated to be roughly a few months before we start to see any chancces of mechanical failure. "; name = "NOTICE: DO NOT ENTER" }, @@ -91,7 +91,7 @@ "r" = ( /obj/effect/decal/remains, /obj/item/clothing/mask/gas/explorer, -/obj/item/weapon/material/twohanded/fireaxe, +/obj/item/material/twohanded/fireaxe, /turf/simulated/mineral/floor/ignore_mapgen/virgo2{ outdoors = 0 }, diff --git a/maps/submaps/pois_vr/aerostat/Manor1.dmm b/maps/submaps/pois_vr/aerostat/Manor1.dmm index 2401898eb82..a84c0a60656 100644 --- a/maps/submaps/pois_vr/aerostat/Manor1.dmm +++ b/maps/submaps/pois_vr/aerostat/Manor1.dmm @@ -18,7 +18,7 @@ /area/submap/virgo2/Manor1) "ae" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "af" = ( @@ -42,7 +42,7 @@ "aj" = ( /obj/structure/table/woodentable, /obj/item/clothing/mask/smokable/cigarette/cigar, -/obj/item/weapon/material/ashtray/glass, +/obj/item/material/ashtray/glass, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "ak" = ( @@ -56,7 +56,7 @@ /area/submap/virgo2/Manor1) "am" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight, +/obj/item/flashlight, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "an" = ( @@ -85,13 +85,13 @@ /area/submap/virgo2/Manor1) "at" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /obj/effect/decal/cleanable/blood/gibs/robot, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "au" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/effect/decal/cleanable/blood/oil, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) @@ -101,8 +101,8 @@ /area/submap/virgo2/Manor1) "aw" = ( /obj/structure/table/woodentable, -/obj/item/weapon/mop, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/mop, +/obj/item/reagent_containers/glass/bucket, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "ax" = ( @@ -125,12 +125,12 @@ /area/submap/virgo2/Manor1) "aC" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/maglight, +/obj/item/flashlight/maglight, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "aD" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "aE" = ( @@ -148,12 +148,12 @@ /area/submap/virgo2/Manor1) "aG" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper, +/obj/item/paper, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "aH" = ( /obj/structure/table/woodentable, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "aI" = ( @@ -175,7 +175,7 @@ /area/submap/virgo2/Manor1) "aO" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "aP" = ( @@ -205,17 +205,17 @@ /area/submap/virgo2/Manor1) "aV" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "aW" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, +/obj/item/reagent_containers/food/condiment/small/peppermill, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "aX" = ( /obj/structure/table/standard, -/obj/item/weapon/material/knife, +/obj/item/material/knife, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "aY" = ( @@ -224,7 +224,7 @@ /area/submap/virgo2/Manor1) "aZ" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/small/saltshaker, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "ba" = ( @@ -233,19 +233,19 @@ /area/submap/virgo2/Manor1) "bb" = ( /obj/structure/table/standard, -/obj/item/weapon/tray, -/obj/item/weapon/tray, +/obj/item/tray, +/obj/item/tray, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "bc" = ( /obj/structure/table/standard, -/obj/item/weapon/material/knife/butch, +/obj/item/material/knife/butch, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "bd" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "be" = ( @@ -262,7 +262,7 @@ /area/submap/virgo2/Manor1) "bg" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin, +/obj/item/paper_bin, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "bh" = ( @@ -300,7 +300,7 @@ /turf/template_noop, /area/submap/virgo2/Manor1) "bo" = ( -/obj/item/weapon/material/twohanded/baseballbat/metal, +/obj/item/material/twohanded/baseballbat/metal, /turf/simulated/floor/carpet/blucarpet, /area/submap/virgo2/Manor1) "bp" = ( @@ -342,7 +342,7 @@ /area/submap/virgo2/Manor1) "bv" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/small/sugar, +/obj/item/reagent_containers/food/condiment/small/sugar, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "bw" = ( @@ -370,18 +370,18 @@ /area/submap/virgo2/Manor1) "bA" = ( /obj/structure/table/standard, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "bB" = ( /obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/reagent_containers/food/snacks/stew, -/obj/item/weapon/reagent_containers/food/snacks/stew, +/obj/item/reagent_containers/food/snacks/stew, +/obj/item/reagent_containers/food/snacks/stew, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "bC" = ( -/obj/item/weapon/shovel, +/obj/item/shovel, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "bD" = ( @@ -394,9 +394,9 @@ /area/submap/virgo2/Manor1) "bE" = ( /obj/structure/table/standard, -/obj/item/weapon/material/kitchen/utensil/spoon, -/obj/item/weapon/material/kitchen/utensil/spoon, -/obj/item/weapon/material/kitchen/utensil/spoon, +/obj/item/material/kitchen/utensil/spoon, +/obj/item/material/kitchen/utensil/spoon, +/obj/item/material/kitchen/utensil/spoon, /obj/effect/spider/stickyweb, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) @@ -407,8 +407,8 @@ /area/submap/virgo2/Manor1) "bG" = ( /obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/reagent_containers/food/snacks/sausage, -/obj/item/weapon/reagent_containers/food/snacks/sausage, +/obj/item/reagent_containers/food/snacks/sausage, +/obj/item/reagent_containers/food/snacks/sausage, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "bH" = ( @@ -423,18 +423,18 @@ /area/submap/virgo2/Manor1) "bJ" = ( /obj/structure/table/standard, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/kitchen/rollingpin, /obj/effect/spider/stickyweb, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "bK" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/glass/bottle/stoxin, +/obj/item/reagent_containers/glass/bottle/stoxin, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "bL" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/fancy/candle_box, +/obj/item/storage/fancy/candle_box, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "bM" = ( @@ -467,7 +467,7 @@ /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "bT" = ( -/obj/item/weapon/material/minihoe, +/obj/item/material/minihoe, /turf/simulated/floor/carpet/blucarpet, /area/submap/virgo2/Manor1) "bU" = ( @@ -501,7 +501,7 @@ /area/submap/virgo2/Manor1) "ca" = ( /obj/structure/table/woodentable, -/obj/item/weapon/melee/umbrella/random, +/obj/item/melee/umbrella/random, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "cb" = ( @@ -511,25 +511,25 @@ /area/submap/virgo2/Manor1) "cc" = ( /obj/structure/closet/cabinet, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, /obj/random/medical, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "cd" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "ce" = ( /obj/structure/bed/double, -/obj/item/weapon/bedsheet/rddouble, +/obj/item/bedsheet/rddouble, /obj/structure/curtain/open/bed, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "cf" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/wallet/random, +/obj/item/storage/wallet/random, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "cg" = ( @@ -544,7 +544,7 @@ /area/submap/virgo2/Manor1) "ci" = ( /obj/structure/closet/crate, -/obj/item/weapon/flame/lighter/random, +/obj/item/flame/lighter/random, /obj/random/powercell, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) @@ -572,7 +572,7 @@ /area/submap/virgo2/Manor1) "cn" = ( /obj/structure/closet/crate, -/obj/item/weapon/storage/wallet/random, +/obj/item/storage/wallet/random, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "co" = ( @@ -597,7 +597,7 @@ /turf/simulated/floor/carpet/purcarpet, /area/submap/virgo2/Manor1) "cs" = ( -/obj/item/weapon/material/twohanded/spear, +/obj/item/material/twohanded/spear, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "ct" = ( @@ -608,7 +608,7 @@ /area/submap/virgo2/Manor1) "cu" = ( /obj/effect/decal/remains, -/obj/item/weapon/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "cv" = ( @@ -627,8 +627,8 @@ /area/submap/virgo2/Manor1) "cy" = ( /obj/structure/table/standard, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, /turf/simulated/floor/tiled/hydro, /area/submap/virgo2/Manor1) "cz" = ( @@ -637,7 +637,7 @@ /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "cA" = ( -/obj/item/weapon/paper/crumpled, +/obj/item/paper/crumpled, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "cB" = ( diff --git a/maps/submaps/pois_vr/aerostat/RareSample.dmm b/maps/submaps/pois_vr/aerostat/RareSample.dmm index 02bcbd5ee86..176f4a10853 100644 --- a/maps/submaps/pois_vr/aerostat/RareSample.dmm +++ b/maps/submaps/pois_vr/aerostat/RareSample.dmm @@ -3,7 +3,7 @@ /turf/template_noop, /area/template_noop) "b" = ( -/obj/item/weapon/research_sample/rare, +/obj/item/research_sample/rare, /turf/simulated/mineral/floor/ignore_mapgen/virgo2, /area/template_noop) "c" = ( diff --git a/maps/submaps/pois_vr/aerostat/Rocky1.dmm b/maps/submaps/pois_vr/aerostat/Rocky1.dmm index 76725279f7c..33e075f1e1b 100644 --- a/maps/submaps/pois_vr/aerostat/Rocky1.dmm +++ b/maps/submaps/pois_vr/aerostat/Rocky1.dmm @@ -18,7 +18,7 @@ "g" = ( /obj/random/handgun/sec, /obj/effect/decal/remains/human, -/obj/item/weapon/storage/secure/briefcase/money, +/obj/item/storage/secure/briefcase/money, /turf/simulated/mineral/floor/ignore_mapgen/virgo2, /area/submap/virgo2/Rocky1) diff --git a/maps/submaps/pois_vr/aerostat/Rockybase.dmm b/maps/submaps/pois_vr/aerostat/Rockybase.dmm index ba991da5153..21b85ae4a3d 100644 --- a/maps/submaps/pois_vr/aerostat/Rockybase.dmm +++ b/maps/submaps/pois_vr/aerostat/Rockybase.dmm @@ -78,7 +78,7 @@ pixel_y = 0 }, /obj/structure/curtain/open/shower, -/obj/item/weapon/soap, +/obj/item/soap, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/Rockybase) "aq" = ( @@ -87,7 +87,7 @@ /area/submap/virgo2/Rockybase) "ar" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/Rockybase) "as" = ( @@ -96,7 +96,7 @@ /area/submap/virgo2/Rockybase) "at" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/Rockybase) "au" = ( @@ -108,7 +108,7 @@ /area/submap/virgo2/Rockybase) "av" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/item/toy/plushie/spider, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/Rockybase) @@ -123,11 +123,11 @@ /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/Rockybase) "ay" = ( -/obj/item/weapon/stool, +/obj/item/stool, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/Rockybase) "az" = ( -/obj/item/weapon/storage/belt/janitor, +/obj/item/storage/belt/janitor, /obj/structure/table/standard, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/Rockybase) @@ -142,12 +142,12 @@ /area/submap/virgo2/Rockybase) "aC" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/pistol, +/obj/item/gun/projectile/pistol, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/Rockybase) "aD" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/gun/taser, +/obj/item/gun/energy/gun/taser, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/Rockybase) "aE" = ( @@ -162,8 +162,8 @@ /area/submap/virgo2/Rockybase) "aG" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/Rockybase) "aH" = ( @@ -200,9 +200,9 @@ /area/submap/virgo2/Rockybase) "aM" = ( /obj/structure/table/standard, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, /obj/machinery/light{ icon_state = "tube1"; dir = 4 @@ -217,7 +217,7 @@ /area/submap/virgo2/Rockybase) "aO" = ( /obj/structure/table/standard, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "Carl's absolutly fucked in the head. He's trying to squeeze as much drone production out as he can since he's worried we're gonna get found out but he's getting sloppier with each batch. Now's he's telling us he can speed the time on the IFF encoding. I already have a hard enough time getting these damn things not to stare at walls and now he's gonna shortchange the only part of these tincans that tells em not to turn us into paste on a wall. I told Richter to get out while he can, We're counting days before either some Sif task force shows up at our door or these things decide we aren't there friends anymore."; name = "Note" }, @@ -276,8 +276,8 @@ /area/submap/virgo2/Rockybase) "aW" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, -/obj/item/weapon/gun/projectile/pistol, +/obj/item/bedsheet, +/obj/item/gun/projectile/pistol, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/Rockybase) "aX" = ( @@ -290,25 +290,25 @@ /area/submap/virgo2/Rockybase) "aZ" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/bag/trash, -/obj/item/weapon/storage/bag/trash, +/obj/item/storage/bag/trash, +/obj/item/storage/bag/trash, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/Rockybase) "ba" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin, +/obj/item/paper_bin, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/Rockybase) "bb" = ( /obj/machinery/light, /obj/structure/table/standard, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/Rockybase) "bc" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/automatic/c20r, -/obj/item/weapon/gun/projectile/automatic/c20r, +/obj/item/gun/projectile/automatic/c20r, +/obj/item/gun/projectile/automatic/c20r, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/Rockybase) "bd" = ( @@ -396,12 +396,12 @@ /area/submap/virgo2/Rockybase) "bt" = ( /obj/structure/table/standard, -/obj/item/device/kit/paint/gygax/darkgygax, +/obj/item/kit/paint/gygax/darkgygax, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/Rockybase) "bu" = ( /obj/structure/table/standard, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "I've decided to go forward and start some small scale tests of the Vicerator delivery grenades, Might as wall make sure they work like the real ones. There are a few Fauna areas nearbye and we're working to make sure the kinks in the code are worked out. Once we've made sure they stay flying we'll work on the IFF signals."; name = "V-Grenade Notice 2" }, @@ -422,7 +422,7 @@ /area/submap/virgo2/Rockybase) "bx" = ( /obj/structure/table/standard, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "We've finally been able to get the Vicerator delivery grenades working, Took awhile to make sure the latching mechanism didn't fail but we're sure we've got it this time. Vel'Shem's worried about the miners having there own drone fab now but I say it's a small price to pay to keep the metal flowing, Especially since there telling us NT's starting to monopolize the metal rich parts."; name = "V-Grenade Notice 1" }, @@ -449,7 +449,7 @@ /area/submap/virgo2/Rockybase) "bB" = ( /obj/structure/table/standard, -/obj/item/weapon/grenade/spawnergrenade/manhacks, +/obj/item/grenade/spawnergrenade/manhacks, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/Rockybase) "bC" = ( @@ -462,13 +462,13 @@ /obj/machinery/light{ dir = 1 }, -/obj/item/weapon/circuitboard/mecha/gygax/main, -/obj/item/weapon/circuitboard/mecha/gygax/peripherals, -/obj/item/weapon/circuitboard/mecha/gygax/targeting, +/obj/item/circuitboard/mecha/gygax/main, +/obj/item/circuitboard/mecha/gygax/peripherals, +/obj/item/circuitboard/mecha/gygax/targeting, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/Rockybase) "bE" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/plating/virgo2, /area/submap/virgo2/Rockybase) "bF" = ( @@ -486,12 +486,12 @@ /area/submap/virgo2/Rockybase) "bI" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox, +/obj/item/storage/toolbox, /turf/simulated/floor/plating/virgo2, /area/submap/virgo2/Rockybase) "bJ" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/floor/plating/virgo2, /area/submap/virgo2/Rockybase) "bK" = ( @@ -509,7 +509,7 @@ /obj/structure/table/standard, /obj/structure/table/standard, /obj/effect/decal/cleanable/dirt, -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/burn, +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/burn, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/Rockybase) "bN" = ( @@ -537,7 +537,7 @@ /area/submap/virgo2/Rockybase) "bR" = ( /obj/structure/table/standard, -/obj/item/device/mmi/digital/robot, +/obj/item/mmi/digital/robot, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/Rockybase) "bS" = ( @@ -631,7 +631,7 @@ "cj" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/plating/virgo2, /area/submap/virgo2/Rockybase) "ck" = ( @@ -670,7 +670,7 @@ dir = 8 }, /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "Unknown APC"; pixel_x = -24 @@ -777,7 +777,7 @@ /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/Rockybase) "cI" = ( -/obj/item/weapon/surgical/surgicaldrill, +/obj/item/surgical/surgicaldrill, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/Rockybase) diff --git a/maps/submaps/pois_vr/aerostat/Shack1.dmm b/maps/submaps/pois_vr/aerostat/Shack1.dmm index 9849ce84051..faac7d99b67 100644 --- a/maps/submaps/pois_vr/aerostat/Shack1.dmm +++ b/maps/submaps/pois_vr/aerostat/Shack1.dmm @@ -67,13 +67,13 @@ "p" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table/wooden_reinforced, -/obj/item/weapon/storage/toolbox, +/obj/item/storage/toolbox, /turf/simulated/floor/wood, /area/submap/virgo2/Shack1) "q" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table/wooden_reinforced, -/obj/item/weapon/material/twohanded/fireaxe/scythe, +/obj/item/material/twohanded/fireaxe/scythe, /turf/simulated/floor/wood, /area/submap/virgo2/Shack1) "r" = ( @@ -88,7 +88,7 @@ "t" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table/wooden_reinforced, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/wood, /area/submap/virgo2/Shack1) "v" = ( diff --git a/maps/submaps/pois_vr/aerostat/butchershack.dmm b/maps/submaps/pois_vr/aerostat/butchershack.dmm index 95937cc8427..d4e8714f314 100644 --- a/maps/submaps/pois_vr/aerostat/butchershack.dmm +++ b/maps/submaps/pois_vr/aerostat/butchershack.dmm @@ -8,10 +8,10 @@ "d" = ( /obj/structure/closet, /obj/effect/decal/cleanable/cobweb, -/obj/item/weapon/beartrap, -/obj/item/weapon/beartrap, -/obj/item/weapon/packageWrap, -/obj/item/weapon/material/knife/hook, +/obj/item/beartrap, +/obj/item/beartrap, +/obj/item/packageWrap, +/obj/item/material/knife/hook, /turf/simulated/floor/tiled, /area/submap/virgo2/ButcherShack) "e" = ( @@ -74,15 +74,15 @@ "q" = ( /obj/structure/table/standard, /obj/effect/decal/cleanable/blood, -/obj/item/weapon/material/knife/butch, +/obj/item/material/knife/butch, /turf/simulated/floor/tiled, /area/submap/virgo2/ButcherShack) "r" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/snacks/cutlet, -/obj/item/weapon/reagent_containers/food/snacks/cutlet, -/obj/item/weapon/reagent_containers/food/snacks/cutlet, -/obj/item/weapon/reagent_containers/food/snacks/sausage, +/obj/item/reagent_containers/food/snacks/cutlet, +/obj/item/reagent_containers/food/snacks/cutlet, +/obj/item/reagent_containers/food/snacks/cutlet, +/obj/item/reagent_containers/food/snacks/sausage, /turf/simulated/floor/tiled, /area/submap/virgo2/ButcherShack) "s" = ( @@ -91,7 +91,7 @@ /area/submap/virgo2/ButcherShack) "t" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /turf/simulated/floor/tiled, /area/submap/virgo2/ButcherShack) "u" = ( diff --git a/maps/submaps/pois_vr/aerostat/virgo2.dm b/maps/submaps/pois_vr/aerostat/virgo2.dm index 654011ba5f5..41822f13604 100644 --- a/maps/submaps/pois_vr/aerostat/virgo2.dm +++ b/maps/submaps/pois_vr/aerostat/virgo2.dm @@ -1,6 +1,6 @@ #include "virgo2_submap_areas.dm" -#if MAP_TEST +#ifdef MAP_TEST #include "Flake.dmm" #include "MCamp1.dmm" #include "Rocky1.dmm" @@ -38,170 +38,170 @@ /datum/map_template/virgo2/Flake name = "Forest Lake" desc = "A serene lake sitting amidst the surface." - mappath = 'Flake.dmm' + mappath = "maps/submaps/pois_vr/aerostat/Flake.dmm" cost = 10 /datum/map_template/virgo2/Mcamp1 name = "Military Camp 1" desc = "A derelict military camp host to some unsavory dangers" - mappath = 'MCamp1.dmm' + mappath = "maps/submaps/pois_vr/aerostat/MCamp1.dmm" cost = 5 /datum/map_template/virgo2/Mudpit name = "Mudpit" desc = "What happens when someone is a bit too careless with gas.." - mappath = 'Mudpit.dmm' + mappath = "maps/submaps/pois_vr/aerostat/Mudpit.dmm" cost = 5 /datum/map_template/virgo2/Rocky1 name = "Rocky1" desc = "DununanununanununuNAnana" - mappath = 'Rocky1.dmm' + mappath = "maps/submaps/pois_vr/aerostat/Rocky1.dmm" allow_duplicates = TRUE cost = 5 /datum/map_template/virgo2/RareSample name = "Rocky1" desc = "Ooh, shiny!" //a single rare sample, sitting in the open - mappath = 'RareSample.dmm' + mappath = "maps/submaps/pois_vr/aerostat/RareSample.dmm" allow_duplicates = TRUE cost = 5 /datum/map_template/virgo2/SamplePocket name = "Sampleroid" desc = "What's in the (rock)box?" //one common/uncommon, one uncommon/rare, and one any grade - mappath = 'SamplePocket.dmm' + mappath = "maps/submaps/pois_vr/aerostat/SamplePocket.dmm" allow_duplicates = TRUE cost = 5 /datum/map_template/virgo2/Shack1 name = "Shack1" desc = "A small shack in the middle of nowhere, Your halloween murder happens here" - mappath = 'Shack1.dmm' + mappath = "maps/submaps/pois_vr/aerostat/Shack1.dmm" cost = 5 /datum/map_template/virgo2/Smol1 name = "Smol1" desc = "A tiny grove of trees, The Nemesis of thicc" - mappath = 'Smol1.dmm' + mappath = "maps/submaps/pois_vr/aerostat/Smol1.dmm" cost = 5 /datum/map_template/virgo2/Snowrock1 name = "Snowrock1" desc = "A rocky snow covered area" - mappath = 'Snowrock1.dmm' + mappath = "maps/submaps/pois_vr/aerostat/Snowrock1.dmm" cost = 5 /datum/map_template/virgo2/Lab1 name = "Lab1" desc = "An isolated small robotics lab." - mappath = 'Lab1.dmm' + mappath = "maps/submaps/pois_vr/aerostat/Lab1.dmm" cost = 5 /datum/map_template/virgo2/Rocky4 name = "Rocky4" desc = "An interesting geographic formation." - mappath = 'Rocky4.dmm' + mappath = "maps/submaps/pois_vr/aerostat/Rocky4.dmm" cost = 5 /datum/map_template/virgo2/DJOutpost1 name = "DJOutpost1" desc = "Home of Sif Free Radio, the best - and only - radio station for miles around." - mappath = 'DJOutpost1.dmm' + mappath = "maps/submaps/pois_vr/aerostat/DJOutpost1.dmm" template_group = "Sif Free Radio" cost = 5 /datum/map_template/virgo2/DJOutpost2 name = "DJOutpost2" desc = "The cratered remains of Sif Free Radio, the best - and only - radio station for miles around." - mappath = 'DJOutpost2.dmm' + mappath = "maps/submaps/pois_vr/aerostat/DJOutpost2.dmm" template_group = "Sif Free Radio" cost = 5 /datum/map_template/virgo2/Boombase name = "Boombase" desc = "What happens when you don't follow SOP." - mappath = 'Boombase.dmm' + mappath = "maps/submaps/pois_vr/aerostat/Boombase.dmm" cost = 5 /* /datum/map_template/virgo2/BSD name = "Black Shuttle Down" desc = "You REALLY shouldn't be near this." - mappath = 'Blackshuttledown.dmm' + mappath = "maps/submaps/pois_vr/aerostat/Blackshuttledown.dmm" cost = 30 */ /datum/map_template/virgo2/Rockybase name = "Rocky Base" desc = "A guide to upsetting Icarus and the EIO" - mappath = 'Rockybase.dmm' + mappath = "maps/submaps/pois_vr/aerostat/Rockybase.dmm" cost = 35 /datum/map_template/virgo2/MHR name = "Manhack Rock" desc = "A rock filled with nasty Synthetics." - mappath = 'MHR.dmm' + mappath = "maps/submaps/pois_vr/aerostat/MHR.dmm" cost = 15 /datum/map_template/virgo2/GovPatrol name = "Government Patrol" desc = "A long lost SifGuard ground survey patrol. Now they have you guys!" - mappath = 'GovPatrol.dmm' + mappath = "maps/submaps/pois_vr/aerostat/GovPatrol.dmm" cost = 5 /datum/map_template/virgo2/DecoupledEngine name = "Decoupled Engine" desc = "A damaged fission engine jettisoned from a starship long ago." - mappath = 'DecoupledEngine.dmm' + mappath = "maps/submaps/pois_vr/aerostat/DecoupledEngine.dmm" cost = 15 /* /datum/map_template/virgo2/DoomP name = "DoomP" desc = "Witty description here." - mappath = 'DoomP.dmm' + mappath = "maps/submaps/pois_vr/aerostat/DoomP.dmm" cost = 30 */ /datum/map_template/virgo2/Cave name = "CaveS" desc = "Chitter chitter!" - mappath = 'CaveS.dmm' + mappath = "maps/submaps/pois_vr/aerostat/CaveS.dmm" cost = 20 /datum/map_template/virgo2/Drugden name = "Drugden" desc = "The remains of ill thought out whims." - mappath = 'Drugden.dmm' + mappath = "maps/submaps/pois_vr/aerostat/Drugden.dmm" cost = 20 /datum/map_template/virgo2/Musk name = "Musk" desc = "0 to 60 in 1.9 seconds." - mappath = 'Musk.dmm' + mappath = "maps/submaps/pois_vr/aerostat/Musk.dmm" cost = 10 /datum/map_template/virgo2/Manor1 name = "Manor1" desc = "Whodunit" - mappath = 'Manor1.dmm' + mappath = "maps/submaps/pois_vr/aerostat/Manor1.dmm" cost = 20 /datum/map_template/virgo2/Epod3 name = "Emergency Pod 3" desc = "A webbed Emergency pod in the middle of nowhere." - mappath = 'Epod3.dmm' + mappath = "maps/submaps/pois_vr/aerostat/Epod3.dmm" cost = 5 /datum/map_template/virgo2/Epod4 name = "Emergency Pod 4" desc = "A flooded Emergency pod in the middle of nowhere." - mappath = 'Epod4.dmm' + mappath = "maps/submaps/pois_vr/aerostat/Epod4.dmm" cost = 5 /datum/map_template/virgo2/ButcherShack name = "Butcher Shack" desc = "An old, bloody butcher's shack. Get your meat here!" - mappath = 'butchershack.dmm' + mappath = "maps/submaps/pois_vr/aerostat/butchershack.dmm" cost = 5 diff --git a/maps/submaps/pois_vr/debris_field/_templates.dm b/maps/submaps/pois_vr/debris_field/_templates.dm index 28fd72ecbc4..8b915e9cef7 100644 --- a/maps/submaps/pois_vr/debris_field/_templates.dm +++ b/maps/submaps/pois_vr/debris_field/_templates.dm @@ -5,317 +5,317 @@ /datum/map_template/debrisfield/asteroids1 name = "Asteroids 1" - mappath = 'asteroids1.dmm' + mappath = "maps/submaps/pois_vr/debris_field/asteroids1.dmm" cost = 2 /datum/map_template/debrisfield/asteroids2 name = "Asteroids 2" - mappath = 'asteroids2.dmm' + mappath = "maps/submaps/pois_vr/debris_field/asteroids2.dmm" cost = 2 /datum/map_template/debrisfield/asteroids3 name = "Asteroids 3" - mappath = 'asteroids3.dmm' + mappath = "maps/submaps/pois_vr/debris_field/asteroids3.dmm" cost = 2 /datum/map_template/debrisfield/asteroids4 name = "Asteroids 4" - mappath = 'asteroids4.dmm' + mappath = "maps/submaps/pois_vr/debris_field/asteroids4.dmm" cost = 2 /datum/map_template/debrisfield/asteroids5 name = "Asteroids 5" - mappath = 'asteroids5.dmm' + mappath = "maps/submaps/pois_vr/debris_field/asteroids5.dmm" cost = 2 /datum/map_template/debrisfield/asteroids6 name = "Asteroids 6" - mappath = 'asteroids6.dmm' + mappath = "maps/submaps/pois_vr/debris_field/asteroids6.dmm" cost = 2 /datum/map_template/debrisfield/asteroids7 name = "Asteroids 7" - mappath = 'asteroids7.dmm' + mappath = "maps/submaps/pois_vr/debris_field/asteroids7.dmm" cost = 2 /datum/map_template/debrisfield/asteroids8 name = "Asteroids 8" - mappath = 'asteroids8.dmm' + mappath = "maps/submaps/pois_vr/debris_field/asteroids8.dmm" cost = 2 /datum/map_template/debrisfield/asteroids9 name = "Asteroids 9" - mappath = 'asteroids9.dmm' + mappath = "maps/submaps/pois_vr/debris_field/asteroids9.dmm" cost = 2 /datum/map_template/debrisfield/asteroids10 name = "Asteroids 10" - mappath = 'asteroids10.dmm' + mappath = "maps/submaps/pois_vr/debris_field/asteroids10.dmm" cost = 2 /datum/map_template/debrisfield/sampleroid1 //2 common/uncommon samples name = "Samples Rock 1" - mappath = 'sample_asteroid1.dmm' + mappath = "maps/submaps/pois_vr/debris_field/sample_asteroid1.dmm" cost = 5 /datum/map_template/debrisfield/sampleroid2 //cluster of 3 commons name = "Samples Rock 2" - mappath = 'sample_asteroid2.dmm' + mappath = "maps/submaps/pois_vr/debris_field/sample_asteroid2.dmm" cost = 5 /datum/map_template/debrisfield/sampleroid3 //single rare surrounded by rock name = "Samples Rock 3" - mappath = 'sample_asteroid3.dmm' + mappath = "maps/submaps/pois_vr/debris_field/sample_asteroid3.dmm" cost = 5 /datum/map_template/debrisfield/carp_asteroids1 name = "Carp Asteroids 1" - mappath = 'carp_asteroids1.dmm' + mappath = "maps/submaps/pois_vr/debris_field/carp_asteroids1.dmm" cost = 5 /datum/map_template/debrisfield/carp_asteroids2 name = "Carp Asteroids 2" - mappath = 'carp_asteroids2.dmm' + mappath = "maps/submaps/pois_vr/debris_field/carp_asteroids2.dmm" cost = 5 /datum/map_template/debrisfield/carp_asteroids3 name = "Carp Asteroids 3" - mappath = 'carp_asteroids3.dmm' + mappath = "maps/submaps/pois_vr/debris_field/carp_asteroids3.dmm" cost = 5 /datum/map_template/debrisfield/carp_asteroids4 name = "Carp Asteroids 4" - mappath = 'carp_asteroids4.dmm' + mappath = "maps/submaps/pois_vr/debris_field/carp_asteroids4.dmm" cost = 5 /datum/map_template/debrisfield/carp_asteroids5 name = "Carp Asteroids 5" - mappath = 'carp_asteroids5.dmm' + mappath = "maps/submaps/pois_vr/debris_field/carp_asteroids5.dmm" cost = 5 /datum/map_template/debrisfield/carp_asteroids6 name = "Carp Asteroids 6" - mappath = 'carp_asteroids6.dmm' + mappath = "maps/submaps/pois_vr/debris_field/carp_asteroids6.dmm" cost = 5 /datum/map_template/debrisfield/carp_asteroids7 name = "Carp Asteroids 7" - mappath = 'carp_asteroids7.dmm' + mappath = "maps/submaps/pois_vr/debris_field/carp_asteroids7.dmm" cost = 5 /datum/map_template/debrisfield/foodstand name = "Food Stand" - mappath = 'foodstand.dmm' + mappath = "maps/submaps/pois_vr/debris_field/foodstand.dmm" cost = 20 allow_duplicates = FALSE /datum/map_template/debrisfield/debris1 name = "Debris 1" - mappath = 'debris1.dmm' + mappath = "maps/submaps/pois_vr/debris_field/debris1.dmm" cost = 2 /datum/map_template/debrisfield/debris2 name = "Debris 2" - mappath = 'debris2.dmm' + mappath = "maps/submaps/pois_vr/debris_field/debris2.dmm" cost = 2 /datum/map_template/debrisfield/debris3 name = "Debris 3" - mappath = 'debris3.dmm' + mappath = "maps/submaps/pois_vr/debris_field/debris3.dmm" cost = 2 /datum/map_template/debrisfield/debris4 name = "Debris 4" - mappath = 'debris4.dmm' + mappath = "maps/submaps/pois_vr/debris_field/debris4.dmm" cost = 2 /datum/map_template/debrisfield/debris5 name = "Debris 5" - mappath = 'debris5.dmm' + mappath = "maps/submaps/pois_vr/debris_field/debris5.dmm" cost = 2 /datum/map_template/debrisfield/debris6 name = "Debris 6" - mappath = 'debris6.dmm' + mappath = "maps/submaps/pois_vr/debris_field/debris6.dmm" cost = 2 /datum/map_template/debrisfield/debris7 name = "Debris 7" - mappath = 'debris7.dmm' + mappath = "maps/submaps/pois_vr/debris_field/debris7.dmm" cost = 2 /datum/map_template/debrisfield/debris8 name = "Debris 8" - mappath = 'debris8.dmm' + mappath = "maps/submaps/pois_vr/debris_field/debris8.dmm" cost = 2 /datum/map_template/debrisfield/debris9 name = "Debris 9" - mappath = 'debris9.dmm' + mappath = "maps/submaps/pois_vr/debris_field/debris9.dmm" cost = 2 /datum/map_template/debrisfield/debris10 name = "Debris 10" - mappath = 'debris10.dmm' + mappath = "maps/submaps/pois_vr/debris_field/debris10.dmm" cost = 2 /datum/map_template/debrisfield/debris11 name = "Debris 11" - mappath = 'debris11.dmm' + mappath = "maps/submaps/pois_vr/debris_field/debris11.dmm" cost = 2 /datum/map_template/debrisfield/debris12 name = "Debris 12" - mappath = 'debris12.dmm' + mappath = "maps/submaps/pois_vr/debris_field/debris12.dmm" cost = 2 /datum/map_template/debrisfield/debris13 name = "Debris 13" - mappath = 'debris13.dmm' + mappath = "maps/submaps/pois_vr/debris_field/debris13.dmm" cost = 2 /datum/map_template/debrisfield/debris14 name = "Debris 14" - mappath = 'debris14.dmm' + mappath = "maps/submaps/pois_vr/debris_field/debris14.dmm" cost = 2 /datum/map_template/debrisfield/escape_pod name = "Ancient Escape Pod" - mappath = 'escape_pod.dmm' + mappath = "maps/submaps/pois_vr/debris_field/escape_pod.dmm" cost = 5 allow_duplicates = FALSE /datum/map_template/debrisfield/old_satellite name = "Old Satellite" - mappath = 'old_satellite.dmm' + mappath = "maps/submaps/pois_vr/debris_field/old_satellite.dmm" cost = 10 allow_duplicates = FALSE /datum/map_template/debrisfield/old_teleporter name = "Old Teleporter" - mappath = 'old_teleporter.dmm' + mappath = "maps/submaps/pois_vr/debris_field/old_teleporter.dmm" cost = 10 allow_duplicates = FALSE /datum/map_template/debrisfield/old_mining_outpost name = "Old Drone Mining Outpost" - mappath = 'mining_drones.dmm' + mappath = "maps/submaps/pois_vr/debris_field/mining_drones.dmm" cost = 20 allow_duplicates = FALSE /datum/map_template/debrisfield/ship_mining_drone name = "Disabled Mining Drone Ship" - mappath = 'ship_mining_drone.dmm' + mappath = "maps/submaps/pois_vr/debris_field/ship_mining_drone.dmm" cost = 35 allow_duplicates = FALSE /datum/map_template/debrisfield/ship_sup_exploded name = "Exploded Cargo Ship" - mappath = 'ship_sup_exploded.dmm' + mappath = "maps/submaps/pois_vr/debris_field/ship_sup_exploded.dmm" cost = 35 allow_duplicates = FALSE /datum/map_template/debrisfield/ship_med_crashed name = "Crashed Medical Ship" - mappath = 'ship_med_crashed.dmm' + mappath = "maps/submaps/pois_vr/debris_field/ship_med_crashed.dmm" cost = 35 allow_duplicates = FALSE /datum/map_template/debrisfield/ship_sci_overrun name = "Overrun Research Ship" - mappath = 'ship_sci_overrun.dmm' + mappath = "maps/submaps/pois_vr/debris_field/ship_sci_overrun.dmm" cost = 35 allow_duplicates = FALSE /datum/map_template/debrisfield/phoron_tanker name = "Betrayed Phoron Tanker" - mappath = 'ship_tanker_betrayed.dmm' + mappath = "maps/submaps/pois_vr/debris_field/ship_tanker_betrayed.dmm" cost = 35 allow_duplicates = FALSE /datum/map_template/debrisfield/ship_tourist_overrun name = "Overrun private yacht" - mappath = 'ship_tourist_overrun.dmm' + mappath = "maps/submaps/pois_vr/debris_field/ship_tourist_overrun.dmm" cost = 35 allow_duplicates = FALSE /datum/map_template/debrisfield/oldshuttle name = "Old Expedition Shuttle" - mappath = 'oldshuttle.dmm' + mappath = "maps/submaps/pois_vr/debris_field/oldshuttle.dmm" cost = 30 allow_duplicates = FALSE /datum/map_template/debrisfield/tinycarrier name = "Disabled Tiny Carrier" - mappath = 'tinycarrier.dmm' + mappath = "maps/submaps/pois_vr/debris_field/tinycarrier.dmm" cost = 30 allow_duplicates = FALSE /datum/map_template/debrisfield/alien_massive_derelict name = "Alien Derelict" - mappath = 'derelict.dmm' + mappath = "maps/submaps/pois_vr/debris_field/derelict.dmm" cost = 35 allow_duplicates = FALSE discard_prob = 50 /datum/map_template/debrisfield/new_escape_pod name = "Escape Pod" - mappath = 'new_escapepod.dmm' + mappath = "maps/submaps/pois_vr/debris_field/new_escapepod.dmm" cost = 10 allow_duplicates = FALSE discard_prob = 10 /datum/map_template/debrisfield/new_escape_pod_infested_xeno name = "Xeno-Infested Escape Pod" - mappath = 'new_escapepod_xeno.dmm' + mappath = "maps/submaps/pois_vr/debris_field/new_escapepod_xeno.dmm" cost = 20 allow_duplicates = FALSE discard_prob = 25 /datum/map_template/debrisfield/new_escape_pod_infested_carp name = "Carp-Infested Escape Pod" - mappath = 'new_escapepod_carp.dmm' + mappath = "maps/submaps/pois_vr/debris_field/new_escapepod_carp.dmm" cost = 20 allow_duplicates = FALSE discard_prob = 25 /datum/map_template/debrisfield/new_escape_pod_infested_robo name = "Robo-Infested Escape Pod" - mappath = 'new_escapepod_robo.dmm' + mappath = "maps/submaps/pois_vr/debris_field/new_escapepod_robo.dmm" cost = 20 allow_duplicates = FALSE discard_prob = 25 /datum/map_template/debrisfield/gutted_mackerel name = "Gutted Mackerel LC" - mappath = 'maps/offmap_vr/om_ships/mackerel_lc_wreck.dmm' + mappath = "maps/offmap_vr/om_ships/mackerel_lc_wreck.dmm" cost = 35 allow_duplicates = FALSE discard_prob = 25 /datum/map_template/debrisfield/wrecked_salamander name = "Wrecked Salamander" - mappath = 'maps/offmap_vr/om_ships/salamander_wreck.dmm' + mappath = "maps/offmap_vr/om_ships/salamander_wreck.dmm" cost = 35 allow_duplicates = FALSE discard_prob = 34 /datum/map_template/debrisfield/ruined_gecko name = "Ruined Gecko CR" - mappath = 'maps/offmap_vr/om_ships/gecko_cr_wreck.dmm' + mappath = "maps/offmap_vr/om_ships/gecko_cr_wreck.dmm" cost = 45 allow_duplicates = FALSE discard_prob = 50 /datum/map_template/debrisfield/blasted_sdf name = "Blasted SDF Corvette" - mappath = 'maps/offmap_vr/om_ships/sdf_corvette_wreck.dmm' + mappath = "maps/offmap_vr/om_ships/sdf_corvette_wreck.dmm" cost = 35 allow_duplicates = FALSE discard_prob = 25 /datum/map_template/debrisfield/phoron_tanker name = "Betrayed Phoron Tanker" - mappath = 'ship_tanker_betrayed.dmm' + mappath = "maps/submaps/pois_vr/debris_field/ship_tanker_betrayed.dmm" cost = 35 allow_duplicates = FALSE discard_prob = 25 diff --git a/maps/submaps/pois_vr/debris_field/debris10.dmm b/maps/submaps/pois_vr/debris_field/debris10.dmm index 994f8b2328d..54106fdc5d7 100644 --- a/maps/submaps/pois_vr/debris_field/debris10.dmm +++ b/maps/submaps/pois_vr/debris_field/debris10.dmm @@ -4,7 +4,7 @@ /turf/simulated/floor/airless, /area/space) "b" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/airless, /area/space) "c" = ( @@ -12,7 +12,7 @@ /area/space) "d" = ( /obj/structure/grille/broken, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/airless, /area/space) "e" = ( diff --git a/maps/submaps/pois_vr/debris_field/debris13.dmm b/maps/submaps/pois_vr/debris_field/debris13.dmm index a0937393828..3ef63458d40 100644 --- a/maps/submaps/pois_vr/debris_field/debris13.dmm +++ b/maps/submaps/pois_vr/debris_field/debris13.dmm @@ -40,11 +40,11 @@ /area/tether_away/debrisfield/shuttle_buffer) "j" = ( /obj/structure/lattice, -/obj/item/weapon/material/shard/shrapnel, +/obj/item/material/shard/shrapnel, /turf/template_noop, /area/space) "k" = ( -/obj/item/weapon/material/shard/shrapnel, +/obj/item/material/shard/shrapnel, /turf/template_noop, /area/space) diff --git a/maps/submaps/pois_vr/debris_field/debris14.dmm b/maps/submaps/pois_vr/debris_field/debris14.dmm index 6a346d66925..84da86b308a 100644 --- a/maps/submaps/pois_vr/debris_field/debris14.dmm +++ b/maps/submaps/pois_vr/debris_field/debris14.dmm @@ -1,6 +1,6 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "a" = ( -/obj/item/weapon/material/shard/shrapnel, +/obj/item/material/shard/shrapnel, /obj/machinery/firealarm/alarms_hidden{ dir = 4; pixel_x = -24 @@ -35,7 +35,7 @@ /turf/space, /area/tether_away/debrisfield/shuttle_buffer) "i" = ( -/obj/item/weapon/material/shard/shrapnel, +/obj/item/material/shard/shrapnel, /turf/simulated/floor/airless, /area/tether_away/debrisfield/shuttle_buffer) "j" = ( diff --git a/maps/submaps/pois_vr/debris_field/debrisfield_things.dm b/maps/submaps/pois_vr/debris_field/debrisfield_things.dm index f9b6bfee1aa..057af916637 100644 --- a/maps/submaps/pois_vr/debris_field/debrisfield_things.dm +++ b/maps/submaps/pois_vr/debris_field/debrisfield_things.dm @@ -18,7 +18,7 @@ /obj/tether_away_spawner/debrisfield/derelict name = "debris field derelict random mob spawner" - faction = "derelict" + faction = FACTION_DERELICT mobs_to_pick_from = list( /mob/living/simple_mob/mechanical/corrupt_maint_drone = 2, /mob/living/simple_mob/mechanical/infectionbot = 3, @@ -27,14 +27,14 @@ /obj/tether_away_spawner/debrisfield/derelict/corrupt_maint_swarm name = "debris field derelict maint swarm" - faction = "derelict" + faction = FACTION_DERELICT mobs_to_pick_from = list( /mob/living/simple_mob/mechanical/corrupt_maint_drone = 4 ) /obj/tether_away_spawner/debrisfield/derelict/mech_wizard name = "debris field derelict wizard lol" - faction = "derelict" + faction = FACTION_DERELICT mobs_to_pick_from = list( /mob/living/simple_mob/mechanical/technomancer_golem = 2 ) @@ -127,12 +127,12 @@ -/obj/item/device/taperecorder/tourist +/obj/item/taperecorder/tourist name = "Body-Microphone" desc = "A sort of liability device worn by security on luxury yachts. Records everything they say. Strange that the captain was wearing it." - mytape = /obj/item/device/tape/touristguard + mytape = /obj/item/rectape/touristguard -/obj/item/device/tape/touristguard/New() +/obj/item/rectape/touristguard/New() storedinfo += "01:37 *sounds of metal creaking" storedinfo += "01:55 *sounds of distant screaming!" storedinfo += "01:37 *Sounds of hissing, both airlocks and spiders alike. Screaming continues." @@ -150,7 +150,7 @@ /obj/item/space_spider_egg/attack_self(mob/user as mob) var/turf/drop_loc = user.loc - to_chat(user, SPAN_WARNING("The egg cracks open, splattering disgusting goop at your feet...\n \ + to_chat(user, span_warning("The egg cracks open, splattering disgusting goop at your feet...\n \ Whatever life laid within shall never awaken, if it was even alive.")) new /obj/effect/decal/cleanable/spiderling_remains(drop_loc) qdel(src) @@ -187,7 +187,7 @@ prob(1);/obj/item/slime_extract/grey, prob(1);/obj/item/slime_extract/rainbow) -/obj/item/weapon/paper/robo_escape_pod +/obj/item/paper/robo_escape_pod name = "faded note" info = {"This paper is old and the shaky writing has faded, rendering it difficult to read.
      \ whichever poor bastard finds this pod
      \ @@ -217,7 +217,7 @@ i just hope whatever happens, she finds the mercy we werent equipped to give her ai_holder_type = /datum/ai_holder/simple_mob/merc/tanker_escort say_list_type = /datum/say_list/merc/drone/tanker_escort corpse = /obj/effect/landmark/mobcorpse/syndicatesoldier/drone/tanker - loot_list = list(/obj/item/poi/broken_drone_circuit/phoron_tanker = 100, /obj/item/weapon/material/knife/tacknife = 100) + loot_list = list(/obj/item/poi/broken_drone_circuit/phoron_tanker = 100, /obj/item/material/knife/tacknife = 100) min_oxy = 0 max_oxy = 0 min_tox = 0 @@ -240,7 +240,7 @@ i just hope whatever happens, she finds the mercy we werent equipped to give her say_list_type = /datum/say_list/merc/drone/tanker_escort corpse = /obj/effect/landmark/mobcorpse/syndicatesoldier/drone/tanker loot_list = list(/obj/item/poi/broken_drone_circuit/phoron_tanker = 100, - /obj/item/weapon/shield/energy = 100, /obj/item/weapon/melee/energy/sword/color = 20) + /obj/item/shield/energy = 100, /obj/item/melee/energy/sword/color = 20) min_oxy = 0 max_oxy = 0 min_tox = 0 @@ -259,7 +259,7 @@ i just hope whatever happens, she finds the mercy we werent equipped to give her ai_holder_type = /datum/ai_holder/simple_mob/merc/ranged/tanker_escort say_list_type = /datum/say_list/merc/drone/tanker_escort corpse = /obj/effect/landmark/mobcorpse/syndicatesoldier/drone/tanker - loot_list = list(/obj/item/poi/broken_drone_circuit/phoron_tanker = 100, /obj/item/weapon/gun/projectile/automatic/c20r = 100) + loot_list = list(/obj/item/poi/broken_drone_circuit/phoron_tanker = 100, /obj/item/gun/projectile/automatic/c20r = 100) min_oxy = 0 max_oxy = 0 min_tox = 0 diff --git a/maps/submaps/pois_vr/debris_field/derelict.dmm b/maps/submaps/pois_vr/debris_field/derelict.dmm index b788ba44349..5184b5467c1 100644 --- a/maps/submaps/pois_vr/debris_field/derelict.dmm +++ b/maps/submaps/pois_vr/debris_field/derelict.dmm @@ -163,7 +163,7 @@ icon_state = "1-2"; pixel_y = 0 }, -/obj/item/weapon/grenade/empgrenade, +/obj/item/grenade/empgrenade, /turf/simulated/floor/bluegrid, /area/submap/debrisfield/derelict/interior) "aB" = ( @@ -312,7 +312,7 @@ /area/submap/debrisfield/derelict/interior) "ba" = ( /obj/random/humanoidremains, -/obj/item/weapon/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle, /turf/simulated/floor/tiled/steel_ridged, /area/submap/debrisfield/derelict/interior) "bb" = ( @@ -338,7 +338,7 @@ /turf/space, /area/space) "bg" = ( -/obj/item/weapon/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle, /turf/space, /area/space) "bh" = ( @@ -538,9 +538,9 @@ /turf/simulated/floor/tiled/steel_dirty, /area/submap/debrisfield/derelict/interior) "bO" = ( -/obj/item/weapon/grenade/empgrenade, -/obj/item/weapon/grenade/empgrenade, -/obj/item/weapon/grenade/empgrenade, +/obj/item/grenade/empgrenade, +/obj/item/grenade/empgrenade, +/obj/item/grenade/empgrenade, /turf/space, /area/space) "bP" = ( diff --git a/maps/submaps/pois_vr/debris_field/escape_pod.dmm b/maps/submaps/pois_vr/debris_field/escape_pod.dmm index 18468e697ef..80681ed87c0 100644 --- a/maps/submaps/pois_vr/debris_field/escape_pod.dmm +++ b/maps/submaps/pois_vr/debris_field/escape_pod.dmm @@ -18,7 +18,7 @@ dir = 4 }, /obj/effect/decal/remains/human, -/obj/item/weapon/bananapeel{ +/obj/item/bananapeel{ layer = 2.5 }, /turf/simulated/shuttle/floor/airless, @@ -28,7 +28,7 @@ dir = 4 }, /obj/effect/decal/remains/tajaran, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24; req_access = list() diff --git a/maps/submaps/pois_vr/debris_field/foodstand.dmm b/maps/submaps/pois_vr/debris_field/foodstand.dmm index 40efa5aff3b..1cd9b2041ef 100644 --- a/maps/submaps/pois_vr/debris_field/foodstand.dmm +++ b/maps/submaps/pois_vr/debris_field/foodstand.dmm @@ -13,57 +13,57 @@ /area/submap/debrisfield/foodstand) "e" = ( /obj/structure/closet/secure_closet/freezer/meat, -/obj/item/weapon/reagent_containers/food/snacks/carpmeat, -/obj/item/weapon/reagent_containers/food/snacks/carpmeat, -/obj/item/weapon/reagent_containers/food/snacks/carpmeat, -/turf/simulated/floor/wood, +/obj/item/reagent_containers/food/snacks/carpmeat, +/obj/item/reagent_containers/food/snacks/carpmeat, +/obj/item/reagent_containers/food/snacks/carpmeat, +/turf/simulated/floor/wood/airless, /area/submap/debrisfield/foodstand) "f" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/condiment/coldsauce, -/obj/item/weapon/reagent_containers/food/condiment/ketchup, -/obj/item/weapon/reagent_containers/food/condiment/hotsauce, -/obj/item/weapon/reagent_containers/food/condiment/soysauce, -/turf/simulated/floor/wood, +/obj/item/reagent_containers/food/condiment/coldsauce, +/obj/item/reagent_containers/food/condiment/ketchup, +/obj/item/reagent_containers/food/condiment/hotsauce, +/obj/item/reagent_containers/food/condiment/soysauce, +/turf/simulated/floor/wood/airless, /area/submap/debrisfield/foodstand) "g" = ( /obj/structure/table/woodentable, /obj/machinery/microwave, -/turf/simulated/floor/wood, +/turf/simulated/floor/wood/airless, /area/submap/debrisfield/foodstand) "h" = ( /obj/structure/simple_door/wood, -/turf/simulated/floor/wood, +/turf/simulated/floor/wood/airless, /area/submap/debrisfield/foodstand) "i" = ( -/turf/simulated/floor/wood, +/turf/simulated/floor/wood/airless, /area/submap/debrisfield/foodstand) "j" = ( /obj/structure/closet/crate/freezer, -/obj/item/weapon/reagent_containers/food/snacks/taco, -/obj/item/weapon/reagent_containers/food/snacks/taco, -/obj/item/weapon/reagent_containers/food/snacks/taco, -/obj/item/weapon/reagent_containers/food/snacks/hotdog, -/obj/item/weapon/reagent_containers/food/snacks/hotdog, -/obj/item/weapon/reagent_containers/food/snacks/cheeseburrito, -/obj/item/weapon/reagent_containers/food/snacks/cheeseburrito, -/turf/simulated/floor/wood, +/obj/item/reagent_containers/food/snacks/taco, +/obj/item/reagent_containers/food/snacks/taco, +/obj/item/reagent_containers/food/snacks/taco, +/obj/item/reagent_containers/food/snacks/hotdog, +/obj/item/reagent_containers/food/snacks/hotdog, +/obj/item/reagent_containers/food/snacks/cheeseburrito, +/obj/item/reagent_containers/food/snacks/cheeseburrito, +/turf/simulated/floor/wood/airless, /area/submap/debrisfield/foodstand) "k" = ( /obj/structure/table/woodentable, /obj/machinery/cash_register{ dir = 1 }, -/turf/simulated/floor/wood, +/turf/simulated/floor/wood/airless, /area/submap/debrisfield/foodstand) "l" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/taco, -/turf/simulated/floor/wood, +/obj/item/reagent_containers/food/snacks/taco, +/turf/simulated/floor/wood/airless, /area/submap/debrisfield/foodstand) "m" = ( /obj/structure/table/woodentable, -/turf/simulated/floor/wood, +/turf/simulated/floor/wood/airless, /area/submap/debrisfield/foodstand) (1,1,1) = {" diff --git a/maps/submaps/pois_vr/debris_field/mining_drones.dmm b/maps/submaps/pois_vr/debris_field/mining_drones.dmm index f5722fdec8f..c6ffcda525b 100644 --- a/maps/submaps/pois_vr/debris_field/mining_drones.dmm +++ b/maps/submaps/pois_vr/debris_field/mining_drones.dmm @@ -81,7 +81,7 @@ /turf/simulated/floor/tiled/airless, /area/submap/debrisfield/mining_outpost) "p" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /mob/living/simple_mob/mechanical/mining_drone/scavenger, /turf/space, /area/space) @@ -108,7 +108,7 @@ /turf/simulated/floor/tiled/asteroid_steel/airless, /area/submap/debrisfield/mining_outpost) "u" = ( -/obj/item/weapon/ore, +/obj/item/ore, /obj/effect/floor_decal/asteroid, /turf/simulated/floor/tiled/asteroid_steel/airless, /area/submap/debrisfield/mining_outpost) @@ -116,7 +116,7 @@ /turf/template_noop, /area/space) "w" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /obj/structure/grille/broken, /obj/item/stack/rods, /turf/simulated/floor/airless, @@ -149,7 +149,7 @@ /turf/simulated/floor/tiled/airless, /area/submap/debrisfield/mining_outpost) "D" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /obj/effect/floor_decal/steeldecal/steel_decals_central5{ dir = 4 }, @@ -183,7 +183,7 @@ }, /obj/item/stack/medical/bruise_pack, /obj/item/stack/medical/ointment, -/obj/item/weapon/storage/mre/random, +/obj/item/storage/mre/random, /obj/effect/floor_decal/rust/part_rusted3, /turf/simulated/floor/tiled/airless, /area/submap/debrisfield/mining_outpost) @@ -194,7 +194,7 @@ /turf/simulated/floor/tiled/airless, /area/submap/debrisfield/mining_outpost) "I" = ( -/obj/item/weapon/storage/toolbox/syndicate, +/obj/item/storage/toolbox/syndicate, /obj/structure/table/rack/steel, /turf/simulated/floor/tiled/airless, /area/submap/debrisfield/mining_outpost) diff --git a/maps/submaps/pois_vr/debris_field/new_escapepod_robo.dmm b/maps/submaps/pois_vr/debris_field/new_escapepod_robo.dmm index c0d1c8504a0..57b3438c422 100644 --- a/maps/submaps/pois_vr/debris_field/new_escapepod_robo.dmm +++ b/maps/submaps/pois_vr/debris_field/new_escapepod_robo.dmm @@ -40,7 +40,7 @@ /area/submap/debrisfield/misc_debris) "B" = ( /obj/effect/decal/cleanable/blood/oil, -/obj/item/weapon/paper/robo_escape_pod, +/obj/item/paper/robo_escape_pod, /turf/simulated/floor/reinforced/airless, /area/submap/debrisfield/misc_debris) "D" = ( diff --git a/maps/submaps/pois_vr/debris_field/old_satellite.dmm b/maps/submaps/pois_vr/debris_field/old_satellite.dmm index f6d0e082863..f28cfc2f6b4 100644 --- a/maps/submaps/pois_vr/debris_field/old_satellite.dmm +++ b/maps/submaps/pois_vr/debris_field/old_satellite.dmm @@ -38,7 +38,7 @@ /turf/simulated/floor/airless, /area/submap/debrisfield/old_sat) "g" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/template_noop, /area/space) "h" = ( @@ -111,7 +111,7 @@ /area/submap/debrisfield/old_sat) "o" = ( /obj/structure/lattice, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/space, /area/space) "p" = ( @@ -120,18 +120,18 @@ /turf/simulated/floor/bluegrid/airless, /area/submap/debrisfield/old_sat) "q" = ( -/obj/item/weapon/material/shard/phoron, -/obj/item/weapon/ore/iron, +/obj/item/material/shard/phoron, +/obj/item/ore/iron, /obj/random/tech_supply/component, /turf/simulated/floor/airless, /area/submap/debrisfield/old_sat) "r" = ( -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/iron, +/obj/item/ore/iron, +/obj/item/ore/iron, /turf/template_noop, /area/space) "s" = ( -/obj/item/weapon/ore/glass, +/obj/item/ore/glass, /turf/template_noop, /area/space) "t" = ( diff --git a/maps/submaps/pois_vr/debris_field/old_teleporter.dmm b/maps/submaps/pois_vr/debris_field/old_teleporter.dmm index 889bf29eaac..8b6a927894d 100644 --- a/maps/submaps/pois_vr/debris_field/old_teleporter.dmm +++ b/maps/submaps/pois_vr/debris_field/old_teleporter.dmm @@ -36,7 +36,7 @@ /turf/simulated/floor/airless, /area/submap/debrisfield/old_tele) "g" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/airless, /area/submap/debrisfield/old_tele) "h" = ( @@ -62,7 +62,7 @@ /turf/simulated/floor/airless, /area/submap/debrisfield/old_tele) "m" = ( -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/floor/airless, /area/submap/debrisfield/old_tele) "n" = ( diff --git a/maps/submaps/pois_vr/debris_field/oldshuttle.dmm b/maps/submaps/pois_vr/debris_field/oldshuttle.dmm index 7c9eefd8f1e..6e9003defb6 100644 --- a/maps/submaps/pois_vr/debris_field/oldshuttle.dmm +++ b/maps/submaps/pois_vr/debris_field/oldshuttle.dmm @@ -3,7 +3,7 @@ /turf/space, /area/space) "ab" = ( -/obj/item/weapon/material/twohanded/spear, +/obj/item/material/twohanded/spear, /turf/space, /area/space) "ac" = ( @@ -18,8 +18,8 @@ /turf/simulated/shuttle/wall/voidcraft, /area/submap/debrisfield/misc_debris) "ae" = ( -/obj/item/weapon/material/shard, -/obj/item/weapon/material/shard, +/obj/item/material/shard, +/obj/item/material/shard, /obj/structure/grille/broken, /turf/simulated/shuttle/plating/airless, /area/submap/debrisfield/misc_debris) @@ -67,7 +67,7 @@ dir = 1 }, /obj/structure/table/rack/shelf, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, /turf/simulated/shuttle/floor/black/airless, /area/submap/debrisfield/misc_debris) "aq" = ( @@ -91,8 +91,8 @@ dir = 1 }, /obj/structure/table/rack/shelf, -/obj/item/weapon/tank/oxygen, -/obj/item/device/suit_cooling_unit, +/obj/item/tank/oxygen, +/obj/item/suit_cooling_unit, /obj/item/clothing/head/helmet/space/void/pilot, /obj/item/clothing/shoes/magboots, /obj/item/clothing/suit/space/void/pilot, @@ -114,10 +114,10 @@ /obj/item/clothing/mask/breath, /obj/item/clothing/mask/breath, /obj/item/clothing/mask/breath, -/obj/item/weapon/tank/emergency/oxygen/engi, -/obj/item/weapon/tank/emergency/oxygen/engi, -/obj/item/weapon/tank/emergency/oxygen/engi, -/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, /turf/simulated/shuttle/floor/black/airless, /area/submap/debrisfield/misc_debris) "aw" = ( @@ -367,12 +367,12 @@ /turf/simulated/shuttle/floor/darkred/airless, /area/submap/debrisfield/misc_debris) "bd" = ( -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, /obj/structure/closet/crate, /turf/simulated/shuttle/floor/darkred/airless, /area/submap/debrisfield/misc_debris) diff --git a/maps/submaps/pois_vr/debris_field/sample_asteroid2.dmm b/maps/submaps/pois_vr/debris_field/sample_asteroid2.dmm index df343792a49..fef9e46baf8 100644 --- a/maps/submaps/pois_vr/debris_field/sample_asteroid2.dmm +++ b/maps/submaps/pois_vr/debris_field/sample_asteroid2.dmm @@ -3,7 +3,7 @@ /turf/template_noop, /area/space) "b" = ( -/obj/item/weapon/research_sample/common, +/obj/item/research_sample/common, /turf/simulated/mineral/floor/vacuum, /area/tether_away/debrisfield/shuttle_buffer) "c" = ( diff --git a/maps/submaps/pois_vr/debris_field/sample_asteroid3.dmm b/maps/submaps/pois_vr/debris_field/sample_asteroid3.dmm index 4de1c8b18de..0aa3311c1c1 100644 --- a/maps/submaps/pois_vr/debris_field/sample_asteroid3.dmm +++ b/maps/submaps/pois_vr/debris_field/sample_asteroid3.dmm @@ -3,7 +3,7 @@ /turf/template_noop, /area/space) "c" = ( -/obj/item/weapon/research_sample/rare, +/obj/item/research_sample/rare, /turf/simulated/mineral/floor/vacuum, /area/tether_away/debrisfield/shuttle_buffer) "d" = ( diff --git a/maps/submaps/pois_vr/debris_field/ship_med_crashed.dmm b/maps/submaps/pois_vr/debris_field/ship_med_crashed.dmm index f47ee1ea039..3f5d36738b2 100644 --- a/maps/submaps/pois_vr/debris_field/ship_med_crashed.dmm +++ b/maps/submaps/pois_vr/debris_field/ship_med_crashed.dmm @@ -50,7 +50,7 @@ /turf/simulated/shuttle/plating/airless, /area/submap/debrisfield/misc_debris) "m" = ( -/obj/item/weapon/material/shard/shrapnel, +/obj/item/material/shard/shrapnel, /turf/simulated/mineral/floor/vacuum, /area/submap/debrisfield/misc_debris) "n" = ( @@ -132,7 +132,7 @@ /area/submap/debrisfield/misc_debris) "C" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/weapon/storage/firstaid/adv, +/obj/item/storage/firstaid/adv, /turf/simulated/shuttle/plating/airless, /area/submap/debrisfield/misc_debris) "D" = ( @@ -153,7 +153,7 @@ /area/submap/debrisfield/misc_debris) "H" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/weapon/material/shard/shrapnel, +/obj/item/material/shard/shrapnel, /turf/simulated/shuttle/plating/airless, /area/submap/debrisfield/misc_debris) "I" = ( @@ -161,7 +161,7 @@ /turf/simulated/shuttle/floor/airless, /area/submap/debrisfield/misc_debris) "J" = ( -/obj/item/weapon/material/shard/shrapnel, +/obj/item/material/shard/shrapnel, /turf/simulated/shuttle/floor/airless, /area/submap/debrisfield/misc_debris) "K" = ( diff --git a/maps/submaps/pois_vr/debris_field/ship_mining_drone.dmm b/maps/submaps/pois_vr/debris_field/ship_mining_drone.dmm index 324db8e34e3..816fb1b6415 100644 --- a/maps/submaps/pois_vr/debris_field/ship_mining_drone.dmm +++ b/maps/submaps/pois_vr/debris_field/ship_mining_drone.dmm @@ -194,251 +194,251 @@ /turf/simulated/floor/airless, /area/submap/debrisfield/mining_drone_ship) "aA" = ( -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, /turf/simulated/floor/airless, /area/submap/debrisfield/mining_drone_ship) "aB" = ( -/obj/item/weapon/ore, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore, +/obj/item/ore, +/obj/item/ore/gold, +/obj/item/ore/iron, +/obj/item/ore, /turf/simulated/floor/airless, /area/submap/debrisfield/mining_drone_ship) "aC" = ( -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/diamond, +/obj/item/ore/diamond, +/obj/item/ore/gold, +/obj/item/ore/iron, +/obj/item/ore/iron, +/obj/item/ore/diamond, /obj/machinery/artifact, /turf/simulated/floor/airless, /area/submap/debrisfield/mining_drone_ship) "aD" = ( -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/silver, -/obj/item/weapon/ore/silver, -/obj/item/weapon/ore/phoron, +/obj/item/ore/diamond, +/obj/item/ore/diamond, +/obj/item/ore/silver, +/obj/item/ore/silver, +/obj/item/ore/phoron, /turf/simulated/floor/airless, /area/submap/debrisfield/mining_drone_ship) "aE" = ( -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/silver, -/obj/item/weapon/ore/silver, -/obj/item/weapon/ore/iron, +/obj/item/ore/diamond, +/obj/item/ore/diamond, +/obj/item/ore/iron, +/obj/item/ore/diamond, +/obj/item/ore/silver, +/obj/item/ore/silver, +/obj/item/ore/iron, /turf/simulated/floor/airless, /area/submap/debrisfield/mining_drone_ship) "aF" = ( -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/silver, -/obj/item/weapon/ore/coal, -/obj/item/weapon/ore/phoron, +/obj/item/ore/diamond, +/obj/item/ore/diamond, +/obj/item/ore/gold, +/obj/item/ore/iron, +/obj/item/ore/diamond, +/obj/item/ore/diamond, +/obj/item/ore/silver, +/obj/item/ore/coal, +/obj/item/ore/phoron, /turf/simulated/floor/airless, /area/submap/debrisfield/mining_drone_ship) "aG" = ( -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/silver, -/obj/item/weapon/ore/silver, -/obj/item/weapon/ore/coal, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/gold, +/obj/item/ore/diamond, +/obj/item/ore/diamond, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/iron, +/obj/item/ore/iron, +/obj/item/ore/diamond, +/obj/item/ore/silver, +/obj/item/ore/silver, +/obj/item/ore/coal, +/obj/item/ore/iron, +/obj/item/ore/iron, +/obj/item/ore/gold, /turf/simulated/floor/airless, /area/submap/debrisfield/mining_drone_ship) "aH" = ( -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/silver, -/obj/item/weapon/ore/silver, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/phoron, +/obj/item/ore/diamond, +/obj/item/ore/gold, +/obj/item/ore/silver, +/obj/item/ore/silver, +/obj/item/ore/iron, +/obj/item/ore/iron, +/obj/item/ore/phoron, /turf/simulated/floor/airless, /area/submap/debrisfield/mining_drone_ship) "aI" = ( -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/iron, +/obj/item/ore/diamond, +/obj/item/ore/iron, /mob/living/simple_mob/mechanical/hivebot/support/commander, /turf/simulated/floor/airless, /area/submap/debrisfield/mining_drone_ship) "aJ" = ( -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/silver, -/obj/item/weapon/ore/silver, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/phoron, +/obj/item/ore/diamond, +/obj/item/ore/diamond, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/iron, +/obj/item/ore/silver, +/obj/item/ore/silver, +/obj/item/ore/iron, +/obj/item/ore/gold, +/obj/item/ore/phoron, /turf/simulated/floor/airless, /area/submap/debrisfield/mining_drone_ship) "aK" = ( -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/silver, -/obj/item/weapon/ore/silver, -/obj/item/weapon/ore/silver, -/obj/item/weapon/ore/coal, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/phoron, -/obj/item/weapon/ore/phoron, -/obj/item/weapon/ore/phoron, -/obj/item/weapon/ore/phoron, +/obj/item/ore/diamond, +/obj/item/ore/diamond, +/obj/item/ore/diamond, +/obj/item/ore/diamond, +/obj/item/ore/diamond, +/obj/item/ore/gold, +/obj/item/ore/iron, +/obj/item/ore/iron, +/obj/item/ore/iron, +/obj/item/ore/iron, +/obj/item/ore/diamond, +/obj/item/ore/silver, +/obj/item/ore/silver, +/obj/item/ore/silver, +/obj/item/ore/coal, +/obj/item/ore/gold, +/obj/item/ore/iron, +/obj/item/ore/phoron, +/obj/item/ore/phoron, +/obj/item/ore/phoron, +/obj/item/ore/phoron, /turf/simulated/floor/airless, /area/submap/debrisfield/mining_drone_ship) "aL" = ( -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/silver, -/obj/item/weapon/ore/silver, -/obj/item/weapon/ore/silver, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/phoron, +/obj/item/ore/diamond, +/obj/item/ore/diamond, +/obj/item/ore/diamond, +/obj/item/ore/diamond, +/obj/item/ore/diamond, +/obj/item/ore/diamond, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/iron, +/obj/item/ore/iron, +/obj/item/ore/iron, +/obj/item/ore/iron, +/obj/item/ore/diamond, +/obj/item/ore/silver, +/obj/item/ore/silver, +/obj/item/ore/silver, +/obj/item/ore/iron, +/obj/item/ore/iron, +/obj/item/ore/phoron, /turf/simulated/floor/airless, /area/submap/debrisfield/mining_drone_ship) "aM" = ( -/obj/item/weapon/ore, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/silver, -/obj/item/weapon/ore/silver, -/obj/item/weapon/ore/coal, -/obj/item/weapon/ore/coal, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/phoron, -/obj/item/weapon/ore/phoron, -/obj/item/weapon/ore, +/obj/item/ore, +/obj/item/ore/diamond, +/obj/item/ore/diamond, +/obj/item/ore/diamond, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/iron, +/obj/item/ore/iron, +/obj/item/ore/iron, +/obj/item/ore/iron, +/obj/item/ore/iron, +/obj/item/ore/iron, +/obj/item/ore/diamond, +/obj/item/ore/diamond, +/obj/item/ore/diamond, +/obj/item/ore/silver, +/obj/item/ore/silver, +/obj/item/ore/coal, +/obj/item/ore/coal, +/obj/item/ore/diamond, +/obj/item/ore/iron, +/obj/item/ore/gold, +/obj/item/ore/phoron, +/obj/item/ore/phoron, +/obj/item/ore, /turf/simulated/floor/airless, /area/submap/debrisfield/mining_drone_ship) "aN" = ( -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/silver, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/phoron, -/obj/item/weapon/ore/phoron, +/obj/item/ore/diamond, +/obj/item/ore/diamond, +/obj/item/ore/diamond, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/iron, +/obj/item/ore/iron, +/obj/item/ore/iron, +/obj/item/ore/iron, +/obj/item/ore/diamond, +/obj/item/ore/diamond, +/obj/item/ore/diamond, +/obj/item/ore/diamond, +/obj/item/ore/silver, +/obj/item/ore/diamond, +/obj/item/ore/diamond, +/obj/item/ore/iron, +/obj/item/ore/iron, +/obj/item/ore/phoron, +/obj/item/ore/phoron, /turf/simulated/floor/airless, /area/submap/debrisfield/mining_drone_ship) "aO" = ( -/obj/item/weapon/ore, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/silver, -/obj/item/weapon/ore/silver, -/obj/item/weapon/ore/silver, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/phoron, -/obj/item/weapon/ore/phoron, -/obj/item/weapon/ore/phoron, -/obj/item/weapon/ore/phoron, +/obj/item/ore, +/obj/item/ore/diamond, +/obj/item/ore/diamond, +/obj/item/ore/diamond, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/iron, +/obj/item/ore/iron, +/obj/item/ore/iron, +/obj/item/ore/iron, +/obj/item/ore/diamond, +/obj/item/ore/diamond, +/obj/item/ore/silver, +/obj/item/ore/silver, +/obj/item/ore/silver, +/obj/item/ore/diamond, +/obj/item/ore/iron, +/obj/item/ore/gold, +/obj/item/ore/phoron, +/obj/item/ore/phoron, +/obj/item/ore/phoron, +/obj/item/ore/phoron, /turf/simulated/floor/airless, /area/submap/debrisfield/mining_drone_ship) "aP" = ( -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/silver, -/obj/item/weapon/ore/silver, -/obj/item/weapon/ore/silver, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore, +/obj/item/ore/diamond, +/obj/item/ore/diamond, +/obj/item/ore/diamond, +/obj/item/ore/diamond, +/obj/item/ore/diamond, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/iron, +/obj/item/ore/iron, +/obj/item/ore/silver, +/obj/item/ore/silver, +/obj/item/ore/silver, +/obj/item/ore/iron, +/obj/item/ore/iron, +/obj/item/ore, /turf/simulated/floor/airless, /area/submap/debrisfield/mining_drone_ship) "aQ" = ( -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/iron, +/obj/item/ore/gold, +/obj/item/ore/iron, /obj/structure/mob_spawner{ density = 1; desc = "A bizarre mess of robotic limbs, glowing microrefineries, and nanoassemblers gradually converting the pile of raw materials into active hivebots."; @@ -459,79 +459,79 @@ /turf/space, /area/submap/debrisfield/mining_drone_ship) "aS" = ( -/obj/item/weapon/ore/gold, +/obj/item/ore/gold, /turf/simulated/floor/airless, /area/submap/debrisfield/mining_drone_ship) "aT" = ( -/obj/item/weapon/ore, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/iron, +/obj/item/ore, +/obj/item/ore/diamond, +/obj/item/ore/diamond, +/obj/item/ore/diamond, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/iron, +/obj/item/ore/diamond, +/obj/item/ore/diamond, +/obj/item/ore/iron, +/obj/item/ore/iron, /turf/simulated/floor/airless, /area/submap/debrisfield/mining_drone_ship) "aU" = ( -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/coal, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore, +/obj/item/ore/diamond, +/obj/item/ore/diamond, +/obj/item/ore/diamond, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/iron, +/obj/item/ore/iron, +/obj/item/ore/diamond, +/obj/item/ore/coal, +/obj/item/ore/iron, +/obj/item/ore, /turf/simulated/floor/airless, /area/submap/debrisfield/mining_drone_ship) "aV" = ( -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/phoron, -/obj/item/weapon/ore/phoron, +/obj/item/ore/diamond, +/obj/item/ore/gold, +/obj/item/ore/gold, +/obj/item/ore/iron, +/obj/item/ore/iron, +/obj/item/ore/diamond, +/obj/item/ore/diamond, +/obj/item/ore/diamond, +/obj/item/ore/diamond, +/obj/item/ore/phoron, +/obj/item/ore/phoron, /obj/machinery/light/poi, /turf/simulated/floor/airless, /area/submap/debrisfield/mining_drone_ship) "aW" = ( -/obj/item/weapon/ore, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/silver, -/obj/item/weapon/ore/iron, -/obj/item/weapon/ore/phoron, +/obj/item/ore, +/obj/item/ore/diamond, +/obj/item/ore/diamond, +/obj/item/ore/diamond, +/obj/item/ore/gold, +/obj/item/ore/iron, +/obj/item/ore/diamond, +/obj/item/ore/diamond, +/obj/item/ore/diamond, +/obj/item/ore/silver, +/obj/item/ore/iron, +/obj/item/ore/phoron, /turf/simulated/floor/airless, /area/submap/debrisfield/mining_drone_ship) "aX" = ( -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/gold, -/obj/item/weapon/ore/silver, -/obj/item/weapon/ore/iron, +/obj/item/ore/diamond, +/obj/item/ore/diamond, +/obj/item/ore/diamond, +/obj/item/ore/gold, +/obj/item/ore/silver, +/obj/item/ore/iron, /turf/simulated/floor/airless, /area/submap/debrisfield/mining_drone_ship) "aY" = ( -/obj/item/weapon/ore/diamond, -/obj/item/weapon/ore/iron, +/obj/item/ore/diamond, +/obj/item/ore/iron, /turf/simulated/floor/airless, /area/submap/debrisfield/mining_drone_ship) "aZ" = ( diff --git a/maps/submaps/pois_vr/debris_field/ship_sci_overrun.dmm b/maps/submaps/pois_vr/debris_field/ship_sci_overrun.dmm index 4ba38479681..3c05ea1f459 100644 --- a/maps/submaps/pois_vr/debris_field/ship_sci_overrun.dmm +++ b/maps/submaps/pois_vr/debris_field/ship_sci_overrun.dmm @@ -38,7 +38,7 @@ /area/submap/debrisfield/sci_overrun) "ai" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /turf/simulated/floor/tiled/white/airless, /area/submap/debrisfield/sci_overrun) "aj" = ( @@ -66,7 +66,7 @@ /turf/simulated/floor/tiled/white/airless, /area/submap/debrisfield/sci_overrun) "ap" = ( -/obj/item/weapon/reagent_containers/spray/plantbgone, +/obj/item/reagent_containers/spray/plantbgone, /turf/simulated/floor/tiled/white/airless, /area/submap/debrisfield/sci_overrun) "aq" = ( @@ -82,7 +82,7 @@ /turf/simulated/floor/tiled/white/airless, /area/submap/debrisfield/sci_overrun) "at" = ( -/obj/item/weapon/reagent_containers/spray/chemsprayer, +/obj/item/reagent_containers/spray/chemsprayer, /turf/simulated/floor/tiled/white/airless, /area/submap/debrisfield/sci_overrun) "au" = ( @@ -98,7 +98,7 @@ /area/submap/debrisfield/sci_overrun) "aw" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet/green, +/obj/item/bedsheet/green, /turf/simulated/floor/tiled/white/airless, /area/submap/debrisfield/sci_overrun) "ax" = ( @@ -126,16 +126,16 @@ /area/submap/debrisfield/sci_overrun) "aB" = ( /obj/structure/table/rack, -/obj/item/weapon/shovel/spade, -/obj/item/weapon/shovel/spade, -/obj/item/weapon/material/minihoe, -/obj/item/weapon/material/minihoe, -/obj/item/weapon/material/knife/machete/hatchet, -/obj/item/weapon/material/knife/machete/hatchet, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/device/analyzer/plant_analyzer, -/obj/item/device/analyzer/plant_analyzer, +/obj/item/shovel/spade, +/obj/item/shovel/spade, +/obj/item/material/minihoe, +/obj/item/material/minihoe, +/obj/item/material/knife/machete/hatchet, +/obj/item/material/knife/machete/hatchet, +/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, +/obj/item/analyzer/plant_analyzer, +/obj/item/analyzer/plant_analyzer, /turf/simulated/floor/tiled/white/airless, /area/submap/debrisfield/sci_overrun) "aC" = ( @@ -185,7 +185,7 @@ /area/submap/debrisfield/sci_overrun) "aK" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet/rd, +/obj/item/bedsheet/rd, /turf/simulated/floor/tiled/white/airless, /area/submap/debrisfield/sci_overrun) "aL" = ( @@ -205,7 +205,7 @@ /turf/simulated/wall/thull, /area/submap/debrisfield/sci_overrun) "aN" = ( -/obj/item/weapon/gun/energy/temperature, +/obj/item/gun/energy/temperature, /obj/structure/table/rack, /obj/structure/window/reinforced, /obj/structure/window/reinforced{ @@ -222,7 +222,7 @@ /turf/simulated/floor/airless, /area/submap/debrisfield/sci_overrun) "aP" = ( -/obj/item/weapon/tool/prybar/red, +/obj/item/tool/prybar/red, /turf/simulated/floor/airless, /area/submap/debrisfield/sci_overrun) "aQ" = ( @@ -261,7 +261,7 @@ /turf/simulated/wall/thull, /area/submap/debrisfield/sci_overrun) "aX" = ( -/obj/item/weapon/gun/energy/decloner, +/obj/item/gun/energy/decloner, /obj/structure/table/rack, /obj/structure/window/reinforced, /obj/structure/window/reinforced{ @@ -296,18 +296,18 @@ /obj/item/stack/material/phoron{ amount = 10 }, -/obj/item/device/flashlight/pen, +/obj/item/flashlight/pen, /turf/simulated/floor/tiled/white/airless, /area/submap/debrisfield/sci_overrun) "bd" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/blue, +/obj/item/paper_bin, +/obj/item/pen/blue, /turf/simulated/floor/tiled/white/airless, /area/submap/debrisfield/sci_overrun) "be" = ( /obj/structure/table/reinforced, -/obj/item/weapon/folder/white, +/obj/item/folder/white, /turf/simulated/floor/tiled/white/airless, /area/submap/debrisfield/sci_overrun) "bf" = ( @@ -319,8 +319,8 @@ /turf/simulated/floor/tiled/white/airless, /area/submap/debrisfield/sci_overrun) "bh" = ( -/obj/item/device/slime_scanner, -/obj/item/device/slime_scanner, +/obj/item/slime_scanner, +/obj/item/slime_scanner, /obj/structure/table/reinforced, /turf/simulated/floor/tiled/white/airless, /area/submap/debrisfield/sci_overrun) @@ -332,7 +332,7 @@ /obj/structure/window/reinforced{ dir = 8 }, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /obj/item/clothing/mask/breath, /turf/simulated/floor/tiled/white/airless, /area/submap/debrisfield/sci_overrun) @@ -350,12 +350,12 @@ /area/submap/debrisfield/sci_overrun) "bl" = ( /obj/structure/table/reinforced, -/obj/item/weapon/gun/energy/taser/xeno, -/obj/item/weapon/melee/baton/slime/loaded, +/obj/item/gun/energy/taser/xeno, +/obj/item/melee/baton/slime/loaded, /turf/simulated/floor/tiled/white/airless, /area/submap/debrisfield/sci_overrun) "bm" = ( -/obj/item/weapon/airlock_electronics, +/obj/item/airlock_electronics, /turf/simulated/floor/tiled/white/airless, /area/submap/debrisfield/sci_overrun) "bn" = ( @@ -363,7 +363,7 @@ /turf/simulated/floor/tiled/white/airless, /area/submap/debrisfield/sci_overrun) "bo" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/tiled/white/airless, /area/submap/debrisfield/sci_overrun) "bp" = ( @@ -377,14 +377,14 @@ /area/submap/debrisfield/sci_overrun) "bq" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/food/snacks/monkeycube, -/obj/item/weapon/reagent_containers/food/snacks/monkeycube/farwacube, -/obj/item/weapon/reagent_containers/food/snacks/monkeycube/neaeracube, -/obj/item/weapon/reagent_containers/food/snacks/monkeycube/sarucube, -/obj/item/weapon/reagent_containers/food/snacks/monkeycube/sobakacube, -/obj/item/weapon/reagent_containers/food/snacks/monkeycube/sparracube, -/obj/item/weapon/reagent_containers/food/snacks/monkeycube/stokcube, -/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wolpincube, +/obj/item/reagent_containers/food/snacks/monkeycube, +/obj/item/reagent_containers/food/snacks/monkeycube/farwacube, +/obj/item/reagent_containers/food/snacks/monkeycube/neaeracube, +/obj/item/reagent_containers/food/snacks/monkeycube/sarucube, +/obj/item/reagent_containers/food/snacks/monkeycube/sobakacube, +/obj/item/reagent_containers/food/snacks/monkeycube/sparracube, +/obj/item/reagent_containers/food/snacks/monkeycube/stokcube, +/obj/item/reagent_containers/food/snacks/monkeycube/wolpincube, /turf/simulated/floor/tiled/white/airless, /area/submap/debrisfield/sci_overrun) "br" = ( diff --git a/maps/submaps/pois_vr/debris_field/ship_sup_exploded.dmm b/maps/submaps/pois_vr/debris_field/ship_sup_exploded.dmm index cb31de1baaf..462af23a722 100644 --- a/maps/submaps/pois_vr/debris_field/ship_sup_exploded.dmm +++ b/maps/submaps/pois_vr/debris_field/ship_sup_exploded.dmm @@ -42,10 +42,10 @@ /area/submap/debrisfield/misc_debris) "ak" = ( /obj/structure/closet/crate/secure/engineering, -/obj/item/weapon/tool/transforming/powerdrill, -/obj/item/weapon/tool/transforming/jawsoflife, -/obj/item/weapon/tool/transforming/powerdrill, -/obj/item/weapon/tool/transforming/jawsoflife, +/obj/item/tool/transforming/powerdrill, +/obj/item/tool/transforming/jawsoflife, +/obj/item/tool/transforming/powerdrill, +/obj/item/tool/transforming/jawsoflife, /obj/effect/decal/cleanable/dirt, /turf/simulated/shuttle/plating/airless, /area/submap/debrisfield/misc_debris) @@ -78,17 +78,17 @@ "ar" = ( /obj/structure/lattice, /obj/item/stack/material/steel, -/obj/item/weapon/material/shard/shrapnel, +/obj/item/material/shard/shrapnel, /turf/template_noop, /area/submap/debrisfield/misc_debris) "as" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/weapon/material/shard/shrapnel, +/obj/item/material/shard/shrapnel, /turf/simulated/shuttle/plating/airless, /area/submap/debrisfield/misc_debris) "at" = ( /obj/structure/lattice, -/obj/item/weapon/material/shard/shrapnel, +/obj/item/material/shard/shrapnel, /turf/template_noop, /area/submap/debrisfield/misc_debris) "au" = ( @@ -97,20 +97,20 @@ /turf/template_noop, /area/submap/debrisfield/misc_debris) "av" = ( -/obj/item/weapon/material/shard/shrapnel, +/obj/item/material/shard/shrapnel, /turf/template_noop, /area/submap/debrisfield/misc_debris) "aw" = ( /obj/structure/lattice, /obj/effect/decal/cleanable/molten_item, -/obj/item/weapon/material/shard/shrapnel, +/obj/item/material/shard/shrapnel, /turf/template_noop, /area/submap/debrisfield/misc_debris) "ax" = ( /obj/structure/closet/crate/secure/engineering, -/obj/item/weapon/weldingtool/experimental, -/obj/item/weapon/weldingtool/electric, -/obj/item/weapon/weldingtool/electric, +/obj/item/weldingtool/experimental, +/obj/item/weldingtool/electric, +/obj/item/weldingtool/electric, /turf/template_noop, /area/submap/debrisfield/misc_debris) "ay" = ( @@ -145,12 +145,12 @@ /area/submap/debrisfield/misc_debris) "aF" = ( /obj/structure/grille, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /obj/effect/decal/cleanable/dirt, /turf/simulated/shuttle/plating/airless, /area/submap/debrisfield/misc_debris) "aG" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /obj/effect/decal/cleanable/dirt, /turf/simulated/shuttle/plating/airless, /area/submap/debrisfield/misc_debris) diff --git a/maps/submaps/pois_vr/debris_field/ship_tanker_betrayed.dmm b/maps/submaps/pois_vr/debris_field/ship_tanker_betrayed.dmm index 2ccd2629aba..e8d723c5191 100644 --- a/maps/submaps/pois_vr/debris_field/ship_tanker_betrayed.dmm +++ b/maps/submaps/pois_vr/debris_field/ship_tanker_betrayed.dmm @@ -1,7 +1,7 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "ah" = ( /obj/item/stack/rods, -/obj/item/weapon/reagent_containers/food/snacks/slice/vegetablepizza, +/obj/item/reagent_containers/food/snacks/slice/vegetablepizza, /turf/space/cracked_asteroid{ temperature = 2.7 }, @@ -10,11 +10,7 @@ /obj/machinery/atmospherics/pipe/simple/visible{ dir = 6 }, -/turf/simulated/floor/plating/external{ - nitrogen = 0; - oxygen = 0; - temperature = 2.7 - }, +/turf/simulated/floor/airless, /area/submap/debrisfield/phoron_tanker) "ar" = ( /obj/structure/window/reinforced{ @@ -29,11 +25,7 @@ /area/space) "aF" = ( /mob/living/simple_mob/humanoid/merc/melee/sword/drone/tanker_escort, -/turf/simulated/floor/plating/external{ - nitrogen = 0; - oxygen = 0; - temperature = 2.7 - }, +/turf/simulated/floor/airless, /area/submap/debrisfield/phoron_tanker) "ck" = ( /obj/machinery/atmospherics/pipe/simple/visible, @@ -93,12 +85,7 @@ "ht" = ( /obj/item/stack/cable_coil, /mob/living/simple_mob/humanoid/merc/melee/drone/tanker_escort, -/turf/simulated/mineral/floor/ignore_mapgen/cave{ - name = "asteroid"; - nitrogen = 0; - oxygen = 0; - temperature = 2.7 - }, +/turf/simulated/mineral/floor/vacuum, /area/submap/debrisfield/phoron_tanker) "hx" = ( /obj/effect/decal/cleanable/blood/oil, @@ -108,21 +95,13 @@ /area/submap/debrisfield/phoron_tanker) "ik" = ( /obj/structure/meteorite, -/turf/simulated/floor/plating/external{ - nitrogen = 0; - oxygen = 0; - temperature = 2.7 - }, +/turf/simulated/floor/airless, /area/submap/debrisfield/phoron_tanker) "iD" = ( /obj/machinery/atmospherics/pipe/simple/visible{ dir = 10 }, -/turf/simulated/floor/plating/external{ - nitrogen = 0; - oxygen = 0; - temperature = 2.7 - }, +/turf/simulated/floor/airless, /area/submap/debrisfield/phoron_tanker) "jx" = ( /turf/simulated/floor/tiled/techfloor, @@ -144,7 +123,7 @@ /obj/item/robot_parts/head, /obj/effect/decal/cleanable/blood/gibs/robot, /obj/effect/decal/cleanable/blood/oil, -/obj/item/weapon/broken_gun/laserrifle, +/obj/item/broken_gun/laserrifle, /turf/simulated/floor/tiled/techfloor, /area/submap/debrisfield/phoron_tanker) "ky" = ( @@ -160,7 +139,7 @@ /turf/simulated/floor/tiled/techfloor, /area/submap/debrisfield/phoron_tanker) "li" = ( -/obj/item/weapon/reagent_containers/food/snacks/slice/vegetablepizza, +/obj/item/reagent_containers/food/snacks/slice/vegetablepizza, /turf/space/cracked_asteroid{ temperature = 2.7 }, @@ -175,14 +154,10 @@ /obj/machinery/atmospherics/pipe/tank/phoron/full{ dir = 4 }, -/turf/simulated/floor/plating/external{ - nitrogen = 0; - oxygen = 0; - temperature = 2.7 - }, +/turf/simulated/floor/airless, /area/submap/debrisfield/phoron_tanker) "mP" = ( -/obj/item/weapon/card/id/event/altcard/centcom, +/obj/item/card/id/event/altcard/centcom, /obj/structure/closet/wardrobe/captain, /turf/simulated/floor/tiled/techfloor, /area/submap/debrisfield/phoron_tanker) @@ -204,12 +179,7 @@ /turf/space, /area/space) "ou" = ( -/turf/simulated/mineral/floor/ignore_mapgen/cave{ - name = "asteroid"; - nitrogen = 0; - oxygen = 0; - temperature = 2.7 - }, +/turf/simulated/mineral/floor/vacuum, /area/submap/debrisfield/phoron_tanker) "ox" = ( /obj/machinery/door/window{ @@ -249,11 +219,7 @@ /obj/machinery/light/small/emergency/flicker{ dir = 8 }, -/turf/simulated/floor/plating/external{ - nitrogen = 0; - oxygen = 0; - temperature = 2.7 - }, +/turf/simulated/floor/airless, /area/submap/debrisfield/phoron_tanker) "rt" = ( /obj/structure/lattice, @@ -262,20 +228,11 @@ /area/submap/debrisfield/phoron_tanker) "sU" = ( /obj/item/broken_device, -/turf/simulated/floor/plating/external{ - nitrogen = 0; - oxygen = 0; - temperature = 2.7 - }, +/turf/simulated/floor/airless, /area/submap/debrisfield/phoron_tanker) "sY" = ( -/obj/item/weapon/reagent_containers/food/snacks/meat, -/turf/simulated/mineral/floor/ignore_mapgen/cave{ - name = "asteroid"; - nitrogen = 0; - oxygen = 0; - temperature = 2.7 - }, +/obj/item/reagent_containers/food/snacks/meat, +/turf/simulated/mineral/floor/vacuum, /area/submap/debrisfield/phoron_tanker) "ta" = ( /obj/structure/meteorite, @@ -290,11 +247,7 @@ /area/submap/debrisfield/phoron_tanker) "tw" = ( /obj/machinery/atmospherics/pipe/simple/visible, -/turf/simulated/floor/plating/external{ - nitrogen = 0; - oxygen = 0; - temperature = 2.7 - }, +/turf/simulated/floor/airless, /area/submap/debrisfield/phoron_tanker) "uo" = ( /obj/structure/lattice, @@ -303,12 +256,7 @@ /area/submap/debrisfield/phoron_tanker) "uF" = ( /obj/effect/decal/cleanable/blood/oil, -/turf/simulated/mineral/floor/ignore_mapgen/cave{ - name = "asteroid"; - nitrogen = 0; - oxygen = 0; - temperature = 2.7 - }, +/turf/simulated/mineral/floor/vacuum, /area/submap/debrisfield/phoron_tanker) "uL" = ( /obj/tether_away_spawner/debrisfield/carp, @@ -318,11 +266,7 @@ /obj/machinery/atmospherics/pipe/manifold/visible{ dir = 8 }, -/turf/simulated/floor/plating/external{ - nitrogen = 0; - oxygen = 0; - temperature = 2.7 - }, +/turf/simulated/floor/airless, /area/submap/debrisfield/phoron_tanker) "vs" = ( /obj/machinery/atmospherics/pipe/simple/visible{ @@ -356,7 +300,7 @@ /area/submap/debrisfield/phoron_tanker) "yp" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet/ian, +/obj/item/bedsheet/ian, /obj/structure/closet/walllocker_double/emergency_engi/south, /obj/machinery/light/flicker{ dir = 4 @@ -376,11 +320,7 @@ /obj/machinery/atmospherics/pipe/manifold/visible{ dir = 4 }, -/turf/simulated/floor/plating/external{ - nitrogen = 0; - oxygen = 0; - temperature = 2.7 - }, +/turf/simulated/floor/airless, /area/submap/debrisfield/phoron_tanker) "zZ" = ( /obj/structure/curtain/black, @@ -426,11 +366,7 @@ /obj/machinery/atmospherics/pipe/manifold/visible{ dir = 8 }, -/turf/simulated/floor/plating/external{ - nitrogen = 0; - oxygen = 0; - temperature = 2.7 - }, +/turf/simulated/floor/airless, /area/submap/debrisfield/phoron_tanker) "Ex" = ( /obj/machinery/atmospherics/pipe/simple/visible{ @@ -452,11 +388,7 @@ /turf/simulated/floor/tiled/techfloor, /area/submap/debrisfield/phoron_tanker) "Fl" = ( -/turf/simulated/floor/plating/external{ - nitrogen = 0; - oxygen = 0; - temperature = 2.7 - }, +/turf/simulated/floor/airless, /area/submap/debrisfield/phoron_tanker) "Fv" = ( /obj/structure/lattice, @@ -484,11 +416,7 @@ /obj/machinery/light/small/emergency/flicker{ dir = 4 }, -/turf/simulated/floor/plating/external{ - nitrogen = 0; - oxygen = 0; - temperature = 2.7 - }, +/turf/simulated/floor/airless, /area/submap/debrisfield/phoron_tanker) "Hk" = ( /obj/structure/toilet{ @@ -515,12 +443,7 @@ /area/submap/debrisfield/phoron_tanker) "JD" = ( /obj/effect/map_effect/perma_light, -/turf/simulated/mineral/floor/ignore_mapgen/cave{ - name = "asteroid"; - nitrogen = 0; - oxygen = 0; - temperature = 2.7 - }, +/turf/simulated/mineral/floor/vacuum, /area/submap/debrisfield/phoron_tanker) "JG" = ( /obj/machinery/computer/shuttle, @@ -542,7 +465,7 @@ "Lr" = ( /obj/structure/bed/chair/bay/comfy/captain, /obj/effect/decal/cleanable/blood/gibs, -/obj/item/weapon/gun/projectile/revolver/mateba, +/obj/item/gun/projectile/revolver/mateba, /turf/simulated/floor/tiled/techfloor, /area/submap/debrisfield/phoron_tanker) "LM" = ( @@ -606,22 +529,13 @@ /area/submap/debrisfield/phoron_tanker) "TL" = ( /obj/effect/decal/cleanable/blood/oil/streak, -/turf/simulated/mineral/floor/ignore_mapgen/cave{ - name = "asteroid"; - nitrogen = 0; - oxygen = 0; - temperature = 2.7 - }, +/turf/simulated/mineral/floor/vacuum, /area/submap/debrisfield/phoron_tanker) "Uh" = ( /obj/machinery/atmospherics/pipe/tank/phoron/full{ dir = 8 }, -/turf/simulated/floor/plating/external{ - nitrogen = 0; - oxygen = 0; - temperature = 2.7 - }, +/turf/simulated/floor/airless, /area/submap/debrisfield/phoron_tanker) "Vl" = ( /obj/effect/map_effect/perma_light, @@ -647,12 +561,7 @@ /area/submap/debrisfield/phoron_tanker) "XW" = ( /obj/item/stack/material/steel, -/turf/simulated/mineral/floor/ignore_mapgen/cave{ - name = "asteroid"; - nitrogen = 0; - oxygen = 0; - temperature = 2.7 - }, +/turf/simulated/mineral/floor/vacuum, /area/submap/debrisfield/phoron_tanker) "Yp" = ( /obj/effect/decal/cleanable/blood/oil/streak, diff --git a/maps/submaps/pois_vr/debris_field/ship_tourist_overrun.dmm b/maps/submaps/pois_vr/debris_field/ship_tourist_overrun.dmm index fd62f792fe6..c2a3b07dbf4 100644 --- a/maps/submaps/pois_vr/debris_field/ship_tourist_overrun.dmm +++ b/maps/submaps/pois_vr/debris_field/ship_tourist_overrun.dmm @@ -1,7 +1,7 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "ai" = ( /obj/effect/decal/cleanable/blood, -/obj/item/device/radio/intercom/private{ +/obj/item/radio/intercom/private{ pixel_y = -21 }, /obj/machinery/light/small, @@ -40,7 +40,7 @@ /area/submap/debrisfield/luxury_boat/engine) "aS" = ( /obj/structure/bed/chair/wood/wings, -/obj/item/weapon/reagent_containers/food/snacks/slice/meatpizza/filled, +/obj/item/reagent_containers/food/snacks/slice/meatpizza/filled, /turf/simulated/floor/wood/airless, /area/submap/debrisfield/luxury_boat/crew) "bh" = ( @@ -141,7 +141,7 @@ /area/submap/debrisfield/luxury_boat/bridge) "df" = ( /obj/structure/table/hardwoodtable, -/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/mushroompizza, +/obj/item/reagent_containers/food/snacks/sliceable/pizza/mushroompizza, /turf/simulated/floor/wood/airless, /area/submap/debrisfield/luxury_boat/crew) "dk" = ( @@ -149,7 +149,7 @@ name = "Mangled Tourist" }, /mob/living/simple_mob/animal/giant_spider/space, -/obj/item/weapon/material/knife, +/obj/item/material/knife, /turf/simulated/floor/wood/airless, /area/submap/debrisfield/luxury_boat/crew) "ds" = ( @@ -329,7 +329,7 @@ /area/submap/debrisfield/luxury_boat/crew) "iE" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/drinks/bottle/whitewine, +/obj/item/reagent_containers/food/drinks/bottle/whitewine, /obj/effect/decal/cleanable/blood, /turf/simulated/floor/lino, /area/submap/debrisfield/luxury_boat/crew) @@ -362,7 +362,7 @@ /turf/simulated/floor/tiled/yellow, /area/submap/debrisfield/luxury_boat/crew) "jT" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /obj/machinery/door/window, /turf/simulated/floor/wood/airless, /area/submap/debrisfield/luxury_boat/crew) @@ -414,7 +414,7 @@ /area/submap/debrisfield/luxury_boat/crew) "lo" = ( /obj/structure/table/hardwoodtable, -/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/pineapple, +/obj/item/reagent_containers/food/snacks/sliceable/pizza/pineapple, /turf/simulated/floor/wood/airless, /area/submap/debrisfield/luxury_boat/crew) "lv" = ( @@ -481,10 +481,10 @@ /area/submap/debrisfield/luxury_boat/bridge) "nr" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/gun/energy/locked/frontier/holdout{ +/obj/item/gun/energy/locked/frontier/holdout{ pixel_y = -9 }, -/obj/item/weapon/gun/energy/locked/frontier/holdout, +/obj/item/gun/energy/locked/frontier/holdout, /obj/effect/decal/cleanable/blood, /turf/simulated/floor/tiled/milspec, /area/submap/debrisfield/luxury_boat/bridge) @@ -499,15 +499,15 @@ /turf/simulated/floor/wood, /area/submap/debrisfield/luxury_boat/crew) "nu" = ( -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ pixel_x = 7; pixel_y = -9 }, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ pixel_x = 8; pixel_y = 13 }, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ pixel_x = -9; pixel_y = -12 }, @@ -581,14 +581,14 @@ /area/submap/debrisfield/luxury_boat/crew) "pQ" = ( /obj/effect/decal/cleanable/blood, -/obj/item/device/taperecorder/tourist, +/obj/item/taperecorder/tourist, /obj/effect/landmark/corpse/bridgeofficer{ corpseid = 0; corpseidaccess = null; corpseidjob = null; name = "Mutiliated Captain" }, -/obj/item/weapon/gun/energy/gun/rifle, +/obj/item/gun/energy/gun/rifle, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 }, @@ -673,7 +673,7 @@ /turf/simulated/floor/carpet/purple, /area/submap/debrisfield/luxury_boat/crew) "sh" = ( -/obj/item/weapon/reagent_containers/food/drinks/metaglass/metapint, +/obj/item/reagent_containers/food/drinks/metaglass/metapint, /turf/simulated/floor/lino, /area/submap/debrisfield/luxury_boat/crew) "sz" = ( @@ -790,7 +790,7 @@ "wp" = ( /obj/structure/table/hardwoodtable, /obj/machinery/atmospherics/unary/vent_scrubber, -/obj/item/weapon/reagent_containers/food/snacks/slice/meatpizza/filled, +/obj/item/reagent_containers/food/snacks/slice/meatpizza/filled, /turf/simulated/floor/wood/airless, /area/submap/debrisfield/luxury_boat/crew) "wq" = ( @@ -878,7 +878,7 @@ /obj/effect/decal/cleanable/blood{ pixel_x = 10 }, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ pixel_x = -9 }, /obj/item/stack/rods, @@ -933,7 +933,7 @@ /turf/simulated/floor/airless, /area/submap/debrisfield/luxury_boat/engine) "zr" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/lino, /area/submap/debrisfield/luxury_boat/crew) "zw" = ( @@ -1111,12 +1111,12 @@ /turf/simulated/floor/airless, /area/submap/debrisfield/luxury_boat/engine) "Eq" = ( -/obj/item/weapon/material/knife, +/obj/item/material/knife, /turf/simulated/floor/wood/airless, /area/submap/debrisfield/luxury_boat/crew) "Fa" = ( /obj/structure/table/gamblingtable, -/obj/item/weapon/deck/cards/casino, +/obj/item/deck/cards/casino, /turf/simulated/floor/carpet/green, /area/submap/debrisfield/luxury_boat/crew) "Fm" = ( @@ -1295,13 +1295,13 @@ /turf/simulated/shuttle/wall, /area/submap/debrisfield/luxury_boat/crew) "Lw" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/tiled/yellow, /area/submap/debrisfield/luxury_boat/crew) "LC" = ( /obj/structure/closet/cabinet, -/obj/item/weapon/storage/secure/briefcase/money, -/obj/item/weapon/storage/secure/briefcase/money, +/obj/item/storage/secure/briefcase/money, +/obj/item/storage/secure/briefcase/money, /obj/item/clothing/head/beret/centcom/captain, /turf/simulated/floor/tiled/milspec, /area/submap/debrisfield/luxury_boat/bridge) @@ -1330,7 +1330,7 @@ /turf/simulated/floor/airless, /area/submap/debrisfield/luxury_boat/engine) "MX" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/wood/airless, /area/submap/debrisfield/luxury_boat/crew) "MY" = ( @@ -1356,8 +1356,8 @@ /area/submap/debrisfield/luxury_boat/engine) "NP" = ( /obj/structure/table/reinforced, -/obj/item/weapon/folder/blue_captain, -/obj/item/weapon/coin/phoron, +/obj/item/folder/blue_captain, +/obj/item/coin/phoron, /turf/simulated/floor/tiled/milspec, /area/submap/debrisfield/luxury_boat/bridge) "NQ" = ( @@ -1414,7 +1414,7 @@ /area/submap/debrisfield/luxury_boat/crew) "PV" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/drinks/britcup, +/obj/item/reagent_containers/food/drinks/britcup, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, @@ -1459,11 +1459,11 @@ /turf/simulated/shuttle/wall, /area/submap/debrisfield/luxury_boat/engine) "Rm" = ( -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ pixel_x = 10; pixel_y = -9 }, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /obj/item/stack/rods, /turf/simulated/floor/tiled/milspec, /area/submap/debrisfield/luxury_boat/cryo) @@ -1545,7 +1545,7 @@ /area/submap/debrisfield/luxury_boat/cryo) "Vo" = ( /obj/structure/table/hardwoodtable, -/obj/item/weapon/reagent_containers/food/drinks/bottle/vermouth, +/obj/item/reagent_containers/food/drinks/bottle/vermouth, /turf/simulated/floor/wood/airless, /area/submap/debrisfield/luxury_boat/crew) "Vq" = ( @@ -1593,13 +1593,13 @@ /area/submap/debrisfield/luxury_boat/engine) "Wt" = ( /obj/structure/grille, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ pixel_y = 4 }, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ pixel_x = 12 }, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ pixel_x = -21 }, /turf/simulated/floor/airless, @@ -1659,7 +1659,7 @@ "YR" = ( /obj/structure/window/reinforced/tinted/frosted, /obj/effect/decal/cleanable/blood/gibs, -/obj/item/weapon/storage/secure/briefcase/money, +/obj/item/storage/secure/briefcase/money, /turf/simulated/floor/wood, /area/submap/debrisfield/luxury_boat/crew) "YT" = ( diff --git a/maps/submaps/pois_vr/debris_field/tinycarrier.dmm b/maps/submaps/pois_vr/debris_field/tinycarrier.dmm index d209699dd4e..4404138b08f 100644 --- a/maps/submaps/pois_vr/debris_field/tinycarrier.dmm +++ b/maps/submaps/pois_vr/debris_field/tinycarrier.dmm @@ -574,8 +574,8 @@ anchored = 1; starts_with = list() }, -/obj/item/weapon/gun/projectile/p92x/large, -/obj/item/weapon/gun/projectile/p92x/large, +/obj/item/gun/projectile/p92x/large, +/obj/item/gun/projectile/p92x/large, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 }, @@ -759,9 +759,9 @@ /obj/machinery/atmospherics/unary/vent_scrubber{ dir = 4 }, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/tool/screwdriver{ +/obj/item/tool/crowbar, +/obj/item/tool/wrench, +/obj/item/tool/screwdriver{ pixel_y = 8 }, /turf/simulated/floor/tiled/techmaint/airless, @@ -862,10 +862,10 @@ /area/submap/debrisfield/tinyshuttle/hangar) "bB" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/storage/toolbox/mechanical{ - starts_with = list(/obj/item/weapon/tool/screwdriver,/obj/item/weapon/tool/wrench,/obj/item/weapon/tool/crowbar,/obj/item/device/analyzer,/obj/item/weapon/tool/wirecutters) +/obj/item/storage/toolbox/mechanical{ + starts_with = list(/obj/item/tool/screwdriver,/obj/item/tool/wrench,/obj/item/tool/crowbar,/obj/item/analyzer,/obj/item/tool/wirecutters) }, -/obj/item/device/t_scanner, +/obj/item/t_scanner, /obj/effect/floor_decal/corner/orange{ dir = 9 }, @@ -997,7 +997,7 @@ dir = 5 }, /obj/effect/decal/cleanable/liquid_fuel, -/obj/item/device/multitool, +/obj/item/multitool, /turf/simulated/floor/tiled/steel_ridged, /area/submap/debrisfield/tinyshuttle/engine) "bO" = ( @@ -1132,7 +1132,7 @@ /turf/simulated/floor/tiled/steel_dirty, /area/submap/debrisfield/tinyshuttle/engine) "cf" = ( -/obj/item/weapon/material/shard/titaniumglass, +/obj/item/material/shard/titaniumglass, /turf/space, /turf/simulated/shuttle/plating/airless/carry, /area/submap/debrisfield/tinyshuttle/hangar) @@ -1148,7 +1148,7 @@ dir = 1; pixel_y = -24 }, -/obj/item/weapon/weldingtool/electric, +/obj/item/weldingtool/electric, /obj/effect/floor_decal/corner/orange{ dir = 10 }, @@ -1186,7 +1186,7 @@ /area/submap/debrisfield/tinyshuttle/hangar) "cm" = ( /obj/structure/lattice, -/obj/item/weapon/material/shard/titaniumglass, +/obj/item/material/shard/titaniumglass, /turf/simulated/shuttle/plating/airless/carry, /area/submap/debrisfield/tinyshuttle/hangar) diff --git a/maps/submaps/shelters/shelter_1.dmm b/maps/submaps/shelters/shelter_1.dmm index 63ea7433627..32f21ef1b46 100644 --- a/maps/submaps/shelters/shelter_1.dmm +++ b/maps/submaps/shelters/shelter_1.dmm @@ -14,21 +14,21 @@ /area/survivalpod) "d" = ( /obj/machinery/smartfridge/survival_pod, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/menu11, -/obj/item/device/fbp_backup_cell, -/obj/item/device/fbp_backup_cell, -/obj/item/device/fbp_backup_cell, -/obj/item/device/fbp_backup_cell, -/obj/item/device/fbp_backup_cell, -/obj/item/weapon/storage/pill_bottle/dice, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/menu11, +/obj/item/fbp_backup_cell, +/obj/item/fbp_backup_cell, +/obj/item/fbp_backup_cell, +/obj/item/fbp_backup_cell, +/obj/item/fbp_backup_cell, +/obj/item/storage/pill_bottle/dice, +/obj/item/storage/firstaid/regular, /turf/simulated/shuttle/floor/voidcraft, /area/survivalpod) "e" = ( -/obj/item/device/gps/computer, +/obj/item/gps/computer, /turf/simulated/shuttle/floor/voidcraft, /area/survivalpod) "f" = ( @@ -46,7 +46,7 @@ /area/survivalpod) "i" = ( /obj/structure/bed/pod, -/obj/item/weapon/bedsheet/mime, +/obj/item/bedsheet/mime, /obj/machinery/light/small{ dir = 4; pixel_y = 0 diff --git a/maps/submaps/shelters/shelter_2.dmm b/maps/submaps/shelters/shelter_2.dmm index 1dbc0b26415..ee95a4c268c 100644 --- a/maps/submaps/shelters/shelter_2.dmm +++ b/maps/submaps/shelters/shelter_2.dmm @@ -10,12 +10,12 @@ /area/survivalpod) "c" = ( /obj/structure/table/steel, -/obj/item/weapon/reagent_containers/food/drinks/glass2/rocks{ +/obj/item/reagent_containers/food/drinks/glass2/rocks{ pixel_x = 7; pixel_y = 2 }, /obj/random/mre, -/obj/item/weapon/material/kitchen/utensil/fork{ +/obj/item/material/kitchen/utensil/fork{ pixel_x = 12 }, /turf/simulated/floor/carpet/bcarpet, @@ -32,40 +32,40 @@ /area/survivalpod) "f" = ( /obj/machinery/smartfridge/survival_pod, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/device/fbp_backup_cell, -/obj/item/device/fbp_backup_cell, -/obj/item/device/fbp_backup_cell, -/obj/item/device/fbp_backup_cell, -/obj/item/device/fbp_backup_cell, -/obj/item/weapon/storage/firstaid/fire, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/o2, -/obj/item/weapon/storage/box/survival/space, -/obj/item/clothing/gloves/watch/survival, -/obj/item/device/emergency_beacon, -/obj/item/device/healthanalyzer, -/obj/item/weapon/storage/pill_bottle/dice_nerd, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/fbp_backup_cell, +/obj/item/fbp_backup_cell, +/obj/item/fbp_backup_cell, +/obj/item/fbp_backup_cell, +/obj/item/fbp_backup_cell, +/obj/item/storage/firstaid/fire, +/obj/item/storage/firstaid/toxin, +/obj/item/storage/firstaid/o2, +/obj/item/storage/box/survival/space, +/obj/item/clothing/accessory/watch/survival, +/obj/item/emergency_beacon, +/obj/item/healthanalyzer, +/obj/item/storage/pill_bottle/dice_nerd, /turf/simulated/shuttle/floor/voidcraft, /area/survivalpod) "g" = ( -/obj/item/device/gps/computer, +/obj/item/gps/computer, /turf/simulated/shuttle/floor/voidcraft, /area/survivalpod) "h" = ( /obj/machinery/shower, -/obj/item/weapon/soap/deluxe, +/obj/item/soap/deluxe, /obj/structure/curtain, /turf/simulated/shuttle/floor/voidcraft, /area/survivalpod) @@ -88,7 +88,7 @@ /area/survivalpod) "m" = ( /obj/structure/bed/pod, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /turf/simulated/shuttle/floor/voidcraft, /area/survivalpod) "n" = ( @@ -112,7 +112,7 @@ /area/survivalpod) "p" = ( /obj/structure/table/survival_pod, -/obj/item/weapon/storage/firstaid/adv, +/obj/item/storage/firstaid/adv, /turf/simulated/shuttle/floor/voidcraft, /area/survivalpod) "q" = ( @@ -133,11 +133,11 @@ light_color = "#DDFFD3" }, /obj/structure/table/steel, -/obj/item/weapon/reagent_containers/food/drinks/glass2/rocks{ +/obj/item/reagent_containers/food/drinks/glass2/rocks{ pixel_x = 7; pixel_y = 2 }, -/obj/item/weapon/reagent_containers/food/drinks/bottle/wine{ +/obj/item/reagent_containers/food/drinks/bottle/wine{ pixel_x = -6; pixel_y = 10 }, diff --git a/maps/submaps/shelters/shelter_3.dmm b/maps/submaps/shelters/shelter_3.dmm index 27603130111..5cbd8f3bc45 100644 --- a/maps/submaps/shelters/shelter_3.dmm +++ b/maps/submaps/shelters/shelter_3.dmm @@ -43,9 +43,9 @@ /turf/simulated/shuttle/floor/voidcraft/dark, /area/survivalpod) "i" = ( -/obj/item/weapon/book/manual/barman_recipes, -/obj/item/weapon/reagent_containers/food/drinks/shaker, -/obj/item/weapon/reagent_containers/glass/rag, +/obj/item/book/manual/barman_recipes, +/obj/item/reagent_containers/food/drinks/shaker, +/obj/item/reagent_containers/glass/rag, /obj/structure/table/gamblingtable, /turf/simulated/shuttle/floor/voidcraft/dark, /area/survivalpod) @@ -55,9 +55,9 @@ /area/survivalpod) "k" = ( /obj/structure/table/gamblingtable, -/obj/item/weapon/clipboard, +/obj/item/clipboard, /obj/item/toy/figure/bartender, -/obj/item/weapon/storage/fancy/cigar, +/obj/item/storage/fancy/cigar, /turf/simulated/shuttle/floor/voidcraft/dark, /area/survivalpod) "l" = ( @@ -105,12 +105,12 @@ /area/survivalpod) "s" = ( /obj/structure/table/reinforced, -/obj/item/weapon/flame/lighter/random{ +/obj/item/flame/lighter/random{ pixel_x = -4; pixel_y = 4 }, -/obj/item/weapon/flame/lighter/random, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/flame/lighter/random, +/obj/item/storage/firstaid/regular, /turf/simulated/shuttle/floor/voidcraft/dark, /area/survivalpod) "t" = ( @@ -119,7 +119,7 @@ /area/survivalpod) "u" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/matches{ +/obj/item/storage/box/matches{ pixel_x = -4; pixel_y = 8 }, @@ -139,7 +139,7 @@ /turf/simulated/shuttle/wall/voidcraft/survival/hard_corner, /area/survivalpod) "x" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/carpet/bcarpet, /area/survivalpod) "y" = ( @@ -190,11 +190,11 @@ /area/survivalpod) "F" = ( /obj/structure/table/gamblingtable, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = -4; pixel_y = 12 }, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = 4; pixel_y = 4 }, diff --git a/maps/submaps/shelters/shelter_4.dmm b/maps/submaps/shelters/shelter_4.dmm index bf1ed7f018d..461fd8175dd 100644 --- a/maps/submaps/shelters/shelter_4.dmm +++ b/maps/submaps/shelters/shelter_4.dmm @@ -43,62 +43,62 @@ /area/survivalpod) "h" = ( /obj/machinery/smartfridge/survival_pod, -/obj/item/weapon/storage/firstaid/combat, -/obj/item/weapon/storage/firstaid/combat, -/obj/item/weapon/storage/firstaid/combat, -/obj/item/weapon/storage/firstaid/adv, -/obj/item/weapon/storage/firstaid/adv, -/obj/item/weapon/storage/firstaid/adv, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/device/radio/emergency, -/obj/item/device/survivalcapsule, -/obj/item/device/survivalcapsule, -/obj/item/device/survivalcapsule, -/obj/item/weapon/storage/box/survival/space, -/obj/item/weapon/storage/box/survival/space, -/obj/item/weapon/storage/box/survival/space, -/obj/item/weapon/storage/box/survival/space, -/obj/item/weapon/gun/energy/locked/frontier/holdout/unlocked, -/obj/item/weapon/gun/energy/locked/frontier/holdout/unlocked, -/obj/item/device/bluespaceradio, -/obj/item/weapon/storage/box/survival/comp, -/obj/item/weapon/storage/box/survival/comp, -/obj/item/device/binoculars, -/obj/item/device/perfect_tele, -/obj/item/weapon/storage/pill_bottle/nutriment, -/obj/item/weapon/storage/pill_bottle/blood_regen, -/obj/item/weapon/storage/pill_bottle/arithrazine, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/device/fbp_backup_cell, -/obj/item/device/fbp_backup_cell, -/obj/item/device/fbp_backup_cell, -/obj/item/device/fbp_backup_cell, -/obj/item/device/fbp_backup_cell, -/obj/item/weapon/storage/pill_bottle/nutriment, -/obj/item/weapon/storage/pill_bottle/blood_regen, -/obj/item/weapon/storage/pill_bottle/arithrazine, -/obj/item/weapon/storage/pill_bottle/corophizine, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/extinguisher/mini, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/fitnessflask/glucose, +/obj/item/storage/firstaid/combat, +/obj/item/storage/firstaid/combat, +/obj/item/storage/firstaid/combat, +/obj/item/storage/firstaid/adv, +/obj/item/storage/firstaid/adv, +/obj/item/storage/firstaid/adv, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/radio/emergency, +/obj/item/survivalcapsule, +/obj/item/survivalcapsule, +/obj/item/survivalcapsule, +/obj/item/storage/box/survival/space, +/obj/item/storage/box/survival/space, +/obj/item/storage/box/survival/space, +/obj/item/storage/box/survival/space, +/obj/item/gun/energy/locked/frontier/holdout/unlocked, +/obj/item/gun/energy/locked/frontier/holdout/unlocked, +/obj/item/bluespaceradio, +/obj/item/storage/box/survival/comp, +/obj/item/storage/box/survival/comp, +/obj/item/binoculars, +/obj/item/perfect_tele, +/obj/item/storage/pill_bottle/nutriment, +/obj/item/storage/pill_bottle/blood_regen, +/obj/item/storage/pill_bottle/arithrazine, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/fbp_backup_cell, +/obj/item/fbp_backup_cell, +/obj/item/fbp_backup_cell, +/obj/item/fbp_backup_cell, +/obj/item/fbp_backup_cell, +/obj/item/storage/pill_bottle/nutriment, +/obj/item/storage/pill_bottle/blood_regen, +/obj/item/storage/pill_bottle/arithrazine, +/obj/item/storage/pill_bottle/corophizine, +/obj/item/towel/random, +/obj/item/towel/random, +/obj/item/extinguisher/mini, +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/food/drinks/drinkingglass/fitnessflask/glucose, /turf/simulated/shuttle/floor/voidcraft/light, /area/survivalpod) "i" = ( -/obj/item/device/gps/computer, +/obj/item/gps/computer, /turf/simulated/shuttle/floor/voidcraft/light, /area/survivalpod) "j" = ( @@ -112,15 +112,15 @@ /obj/item/ammo_magazine/m9mm/compact, /obj/item/ammo_magazine/m9mm/compact/flash, /obj/item/ammo_magazine/m9mm/compact/flash, -/obj/item/weapon/gun/projectile/pistol, +/obj/item/gun/projectile/pistol, /obj/item/clothing/accessory/storage/black_vest, -/obj/item/weapon/material/knife/tacknife/survival, -/obj/item/weapon/storage/box/survival/comp, +/obj/item/material/knife/tacknife/survival, +/obj/item/storage/box/survival/comp, /turf/simulated/floor/carpet/bcarpet, /area/survivalpod) "k" = ( /obj/structure/bed/pod, -/obj/item/weapon/bedsheet/captain, +/obj/item/bedsheet/captain, /turf/simulated/floor/carpet/bcarpet, /area/survivalpod) "l" = ( @@ -175,7 +175,7 @@ /area/survivalpod) "s" = ( /obj/structure/table/survival_pod, -/obj/item/weapon/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery, /obj/structure/sink/kitchen{ icon_state = "sink_alt"; dir = 4; @@ -197,7 +197,7 @@ /obj/machinery/shower{ dir = 4 }, -/obj/item/weapon/soap/deluxe, +/obj/item/soap/deluxe, /obj/structure/curtain/black, /turf/simulated/shuttle/floor/voidcraft/light, /area/survivalpod) @@ -238,11 +238,11 @@ /obj/item/ammo_magazine/m9mm/compact, /obj/item/ammo_magazine/m9mm/compact/flash, /obj/item/ammo_magazine/m9mm/compact/flash, -/obj/item/weapon/gun/projectile/pistol, +/obj/item/gun/projectile/pistol, /obj/item/clothing/accessory/storage/black_vest, -/obj/item/weapon/material/knife/tacknife/survival, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) +/obj/item/material/knife/tacknife/survival, +/obj/item/storage/box/survival/comp{ + starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, /turf/simulated/floor/carpet/bcarpet, /area/survivalpod) @@ -262,14 +262,14 @@ /obj/random/mre, /obj/random/mre, /obj/random/mre, -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, /turf/simulated/shuttle/floor/voidcraft/dark, /area/survivalpod) "D" = ( @@ -321,8 +321,8 @@ /obj/item/stack/material/glass{ amount = 50 }, -/obj/item/weapon/storage/toolbox/syndicate/powertools, -/obj/item/weapon/storage/toolbox/syndicate/powertools, +/obj/item/storage/toolbox/syndicate/powertools, +/obj/item/storage/toolbox/syndicate/powertools, /obj/machinery/light{ icon_state = "tube1"; dir = 4 @@ -370,15 +370,15 @@ /area/survivalpod) "L" = ( /obj/structure/closet/secure_closet/guncabinet, -/obj/item/weapon/gun/projectile/automatic/sts35, -/obj/item/weapon/gun/projectile/automatic/sts35, -/obj/item/weapon/gun/projectile/automatic/sts35, -/obj/item/weapon/gun/projectile/automatic/sts35, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/sniperrifle, +/obj/item/gun/projectile/automatic/sts35, +/obj/item/gun/projectile/automatic/sts35, +/obj/item/gun/projectile/automatic/sts35, +/obj/item/gun/projectile/automatic/sts35, +/obj/item/gun/energy/laser, +/obj/item/gun/energy/laser, +/obj/item/gun/energy/laser, +/obj/item/gun/energy/laser, +/obj/item/gun/energy/sniperrifle, /turf/simulated/shuttle/floor/voidcraft/dark, /area/survivalpod) "M" = ( @@ -435,17 +435,17 @@ /obj/item/ammo_magazine/m545/ap, /obj/item/ammo_magazine/m545/ap, /obj/item/ammo_magazine/m545/ap, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, /obj/machinery/light, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, /turf/simulated/shuttle/floor/voidcraft/dark, /area/survivalpod) "U" = ( @@ -458,10 +458,10 @@ /obj/item/clothing/head/helmet/space/void/merc/odst, /obj/item/clothing/head/helmet/space/void/merc/odst, /obj/item/clothing/head/helmet/space/void/merc/odst, -/obj/item/weapon/tank/oxygen, -/obj/item/weapon/tank/oxygen, -/obj/item/weapon/tank/oxygen, -/obj/item/weapon/tank/oxygen, +/obj/item/tank/oxygen, +/obj/item/tank/oxygen, +/obj/item/tank/oxygen, +/obj/item/tank/oxygen, /obj/item/clothing/shoes/magboots/adv, /obj/item/clothing/shoes/magboots/adv, /obj/item/clothing/shoes/magboots/adv, diff --git a/maps/submaps/shelters/shelter_a.dmm b/maps/submaps/shelters/shelter_a.dmm index 0d118b9e77c..9ab9bfadb99 100644 --- a/maps/submaps/shelters/shelter_a.dmm +++ b/maps/submaps/shelters/shelter_a.dmm @@ -31,128 +31,128 @@ /area/survivalpod) "f" = ( /obj/machinery/smartfridge/survival_pod, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/device/fbp_backup_cell, -/obj/item/device/fbp_backup_cell, -/obj/item/device/fbp_backup_cell, -/obj/item/device/fbp_backup_cell, -/obj/item/device/fbp_backup_cell, -/obj/item/weapon/storage/pill_bottle/dice_nerd, -/obj/item/weapon/storage/firstaid/fire, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/o2, -/obj/item/weapon/storage/firstaid/adv, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/device/healthanalyzer, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/fbp_backup_cell, +/obj/item/fbp_backup_cell, +/obj/item/fbp_backup_cell, +/obj/item/fbp_backup_cell, +/obj/item/fbp_backup_cell, +/obj/item/storage/pill_bottle/dice_nerd, +/obj/item/storage/firstaid/fire, +/obj/item/storage/firstaid/toxin, +/obj/item/storage/firstaid/o2, +/obj/item/storage/firstaid/adv, +/obj/item/storage/firstaid/regular, +/obj/item/healthanalyzer, /obj/item/modular_computer/laptop/preset/custom_loadout/rugged, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) +/obj/item/storage/box/survival/comp{ + starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, -/obj/item/weapon/storage/box/survival/space, -/obj/item/clothing/gloves/watch/survival, -/obj/item/device/emergency_beacon, -/obj/item/weapon/extinguisher/mini, -/obj/item/device/radio{ +/obj/item/storage/box/survival/space, +/obj/item/clothing/accessory/watch/survival, +/obj/item/emergency_beacon, +/obj/item/extinguisher/mini, +/obj/item/radio{ icon_state = "walkietalkiebay"; name = "emergency radio" }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#800080" }, -/obj/item/weapon/towel{ +/obj/item/towel{ color = "#800080" }, -/obj/item/weapon/storage/box/donkpockets, -/obj/item/weapon/storage/box/donkpockets, -/obj/item/weapon/reagent_containers/food/drinks/glass2/fitnessflask/proteinshake, -/obj/item/weapon/reagent_containers/food/drinks/glass2/fitnessflask/proteinshake, -/obj/item/weapon/reagent_containers/food/drinks/glass2/fitnessflask/proteinshake, -/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar, -/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar, -/obj/item/weapon/reagent_containers/food/snacks/candy, -/obj/item/weapon/reagent_containers/food/snacks/candy, -/obj/item/weapon/reagent_containers/food/drinks/dry_ramen, -/obj/item/weapon/reagent_containers/food/drinks/dry_ramen, -/obj/item/weapon/reagent_containers/food/drinks/dry_ramen, -/obj/item/weapon/reagent_containers/food/snacks/chips, -/obj/item/weapon/reagent_containers/food/snacks/chips, -/obj/item/weapon/reagent_containers/food/snacks/sosjerky, -/obj/item/weapon/reagent_containers/food/snacks/sosjerky, -/obj/item/weapon/reagent_containers/food/snacks/no_raisin, -/obj/item/weapon/reagent_containers/food/snacks/no_raisin, -/obj/item/weapon/reagent_containers/food/snacks/packaged/spacetwinkie, -/obj/item/weapon/reagent_containers/food/snacks/packaged/spacetwinkie, -/obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers, -/obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers, -/obj/item/weapon/reagent_containers/food/snacks/tastybread, -/obj/item/weapon/reagent_containers/food/snacks/tastybread, -/obj/item/weapon/reagent_containers/food/snacks/tastybread, -/obj/item/weapon/reagent_containers/food/snacks/syndicake, -/obj/item/weapon/reagent_containers/food/snacks/unajerky, -/obj/item/weapon/storage/box/mixedglasses, -/obj/item/weapon/reagent_containers/food/drinks/flask/vacuumflask, -/obj/item/weapon/reagent_containers/food/drinks/flask/vacuumflask, -/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice, -/obj/item/weapon/reagent_containers/food/drinks/bottle/tomatojuice, -/obj/item/weapon/reagent_containers/food/drinks/bottle/limejuice, -/obj/item/weapon/reagent_containers/food/drinks/bottle/lemonjuice, -/obj/item/weapon/reagent_containers/food/drinks/bottle/applejuice, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cola, -/obj/item/weapon/reagent_containers/food/drinks/bottle/space_up, -/obj/item/weapon/reagent_containers/food/drinks/bottle/space_mountain_wind, -/obj/item/weapon/reagent_containers/food/drinks/cans/grape_juice, -/obj/item/weapon/reagent_containers/food/drinks/cans/grape_juice, -/obj/item/weapon/reagent_containers/food/drinks/cans/sodawater, -/obj/item/weapon/reagent_containers/food/drinks/cans/sodawater, -/obj/item/weapon/reagent_containers/food/drinks/cans/gingerale, -/obj/item/weapon/reagent_containers/food/drinks/cans/gingerale, -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/weapon/reagent_containers/food/drinks/ice, -/obj/item/weapon/reagent_containers/food/drinks/ice, -/obj/item/weapon/reagent_containers/food/drinks/tea, -/obj/item/weapon/reagent_containers/food/drinks/tea, -/obj/item/weapon/reagent_containers/food/drinks/h_chocolate, -/obj/item/weapon/reagent_containers/food/drinks/h_chocolate, -/obj/item/weapon/reagent_containers/food/drinks/h_chocolate, +/obj/item/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, +/obj/item/reagent_containers/food/drinks/glass2/fitnessflask/proteinshake, +/obj/item/reagent_containers/food/drinks/glass2/fitnessflask/proteinshake, +/obj/item/reagent_containers/food/drinks/glass2/fitnessflask/proteinshake, +/obj/item/reagent_containers/food/snacks/candy/proteinbar, +/obj/item/reagent_containers/food/snacks/candy/proteinbar, +/obj/item/reagent_containers/food/snacks/candy, +/obj/item/reagent_containers/food/snacks/candy, +/obj/item/reagent_containers/food/drinks/dry_ramen, +/obj/item/reagent_containers/food/drinks/dry_ramen, +/obj/item/reagent_containers/food/drinks/dry_ramen, +/obj/item/reagent_containers/food/snacks/chips, +/obj/item/reagent_containers/food/snacks/chips, +/obj/item/reagent_containers/food/snacks/sosjerky, +/obj/item/reagent_containers/food/snacks/sosjerky, +/obj/item/reagent_containers/food/snacks/no_raisin, +/obj/item/reagent_containers/food/snacks/no_raisin, +/obj/item/reagent_containers/food/snacks/packaged/spacetwinkie, +/obj/item/reagent_containers/food/snacks/packaged/spacetwinkie, +/obj/item/reagent_containers/food/snacks/cheesiehonkers, +/obj/item/reagent_containers/food/snacks/cheesiehonkers, +/obj/item/reagent_containers/food/snacks/tastybread, +/obj/item/reagent_containers/food/snacks/tastybread, +/obj/item/reagent_containers/food/snacks/tastybread, +/obj/item/reagent_containers/food/snacks/syndicake, +/obj/item/reagent_containers/food/snacks/unajerky, +/obj/item/storage/box/mixedglasses, +/obj/item/reagent_containers/food/drinks/flask/vacuumflask, +/obj/item/reagent_containers/food/drinks/flask/vacuumflask, +/obj/item/reagent_containers/food/drinks/bottle/orangejuice, +/obj/item/reagent_containers/food/drinks/bottle/tomatojuice, +/obj/item/reagent_containers/food/drinks/bottle/limejuice, +/obj/item/reagent_containers/food/drinks/bottle/lemonjuice, +/obj/item/reagent_containers/food/drinks/bottle/applejuice, +/obj/item/reagent_containers/food/drinks/bottle/milk, +/obj/item/reagent_containers/food/drinks/bottle/cream, +/obj/item/reagent_containers/food/drinks/bottle/cola, +/obj/item/reagent_containers/food/drinks/bottle/space_up, +/obj/item/reagent_containers/food/drinks/bottle/space_mountain_wind, +/obj/item/reagent_containers/food/drinks/cans/grape_juice, +/obj/item/reagent_containers/food/drinks/cans/grape_juice, +/obj/item/reagent_containers/food/drinks/cans/sodawater, +/obj/item/reagent_containers/food/drinks/cans/sodawater, +/obj/item/reagent_containers/food/drinks/cans/gingerale, +/obj/item/reagent_containers/food/drinks/cans/gingerale, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/ice, +/obj/item/reagent_containers/food/drinks/ice, +/obj/item/reagent_containers/food/drinks/tea, +/obj/item/reagent_containers/food/drinks/tea, +/obj/item/reagent_containers/food/drinks/h_chocolate, +/obj/item/reagent_containers/food/drinks/h_chocolate, +/obj/item/reagent_containers/food/drinks/h_chocolate, /obj/item/toy/plushie/kitten, /turf/simulated/shuttle/floor/voidcraft, /area/survivalpod) "g" = ( -/obj/item/device/gps/computer, +/obj/item/gps/computer, /turf/simulated/shuttle/floor/voidcraft, /area/survivalpod) "h" = ( /obj/machinery/shower, -/obj/item/weapon/soap/deluxe, +/obj/item/soap/deluxe, /obj/structure/curtain, /turf/simulated/shuttle/floor/voidcraft, /area/survivalpod) @@ -175,7 +175,7 @@ /area/survivalpod) "m" = ( /obj/structure/bed/pod, -/obj/item/weapon/bedsheet/hos, +/obj/item/bedsheet/hos, /turf/simulated/shuttle/floor/voidcraft, /area/survivalpod) "n" = ( @@ -184,7 +184,7 @@ dir = 1 }, /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/hop, +/obj/item/bedsheet/hop, /turf/simulated/floor/carpet/sblucarpet, /area/survivalpod) "o" = ( diff --git a/maps/submaps/shelters/shelter_cab.dmm b/maps/submaps/shelters/shelter_cab.dmm index 829f7cb5889..831cb621ac5 100644 --- a/maps/submaps/shelters/shelter_cab.dmm +++ b/maps/submaps/shelters/shelter_cab.dmm @@ -10,11 +10,11 @@ /area/survivalpod) "f" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/bottle/wine, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass{ +/obj/item/reagent_containers/food/drinks/bottle/wine, +/obj/item/reagent_containers/food/drinks/drinkingglass{ pixel_x = 4 }, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass{ +/obj/item/reagent_containers/food/drinks/drinkingglass{ pixel_x = -4 }, /turf/simulated/floor/wood, @@ -24,13 +24,13 @@ /obj/machinery/status_display{ pixel_y = 32 }, -/obj/item/weapon/reagent_containers/food/snacks/pastatomato, -/obj/item/weapon/reagent_containers/food/snacks/pastatomato, +/obj/item/reagent_containers/food/snacks/pastatomato, +/obj/item/reagent_containers/food/snacks/pastatomato, /turf/simulated/floor/wood, /area/survivalpod) "u" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /turf/simulated/floor/wood, /area/survivalpod) "v" = ( @@ -87,13 +87,13 @@ dir = 4 }, /obj/structure/closet/secure_closet/personal, -/obj/item/weapon/towel/random, +/obj/item/towel/random, /turf/simulated/floor/wood, /area/survivalpod) "N" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/box/donkpockets, -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets, +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = -3 }, diff --git a/maps/submaps/space_rocks/space_rocks_pois.dm b/maps/submaps/space_rocks/space_rocks_pois.dm index 3c42dc57d64..96862ef39a3 100644 --- a/maps/submaps/space_rocks/space_rocks_pois.dm +++ b/maps/submaps/space_rocks/space_rocks_pois.dm @@ -1,4 +1,4 @@ -#if MAP_TEST +#ifdef MAP_TEST #include "bittynest1.dmm" #include "bittynest2.dmm" #include "bittynest3.dmm" @@ -20,7 +20,7 @@ /datum/map_template/space_rocks/bittynest1 name = "Bittynest1" desc = "A smol nest for smol badguys" - mappath = 'bittynest1.dmm' + mappath = "maps/submaps/space_rocks/bittynest1.dmm" cost = 5 /area/submap/space_rocks/bittynest2 @@ -29,7 +29,7 @@ /datum/map_template/space_rocks/bittynest2 name = "Bittynest2" desc = "A smol nest for smol badguys" - mappath = 'bittynest2.dmm' + mappath = "maps/submaps/space_rocks/bittynest2.dmm" cost = 5 /area/submap/space_rocks/bittynest3 @@ -38,7 +38,7 @@ /datum/map_template/space_rocks/bittynest3 name = "Bittynest3" desc = "A smol nest for smol badguys" - mappath = 'bittynest3.dmm' + mappath = "maps/submaps/space_rocks/bittynest3.dmm" cost = 5 /area/submap/space_rocks/bittynest4 @@ -47,7 +47,7 @@ /datum/map_template/space_rocks/bittynest4 name = "Bittynest4" desc = "A smol nest for smol badguys" - mappath = 'bittynest4.dmm' + mappath = "maps/submaps/space_rocks/bittynest4.dmm" cost = 5 /area/submap/space_rocks/tunnel1 @@ -56,7 +56,7 @@ /datum/map_template/space_rocks/tunnel1 name = "Tunnel1" desc = "A tunnel left behind!" - mappath = 'tunnel1.dmm' + mappath = "maps/submaps/space_rocks/tunnel1.dmm" cost = 10 /area/submap/space_rocks/tunnel2 @@ -65,7 +65,7 @@ /datum/map_template/space_rocks/tunnel2 name = "Tunnel2" desc = "A tunnel left behind!" - mappath = 'tunnel2.dmm' + mappath = "maps/submaps/space_rocks/tunnel2.dmm" cost = 10 /area/submap/space_rocks/spacecrystals @@ -74,7 +74,7 @@ /datum/map_template/space_rocks/tunnel2 name = "Space Crystals" desc = "Some crystals living in space!" - mappath = 'spacecrystals.dmm' + mappath = "maps/submaps/space_rocks/spacecrystals.dmm" cost = 10 /area/submap/space_rocks/clearing @@ -83,7 +83,7 @@ /datum/map_template/space_rocks/clearing name = "Clearing" desc = "A clear spot for mischief to happen." - mappath = 'clearing.dmm' + mappath = "maps/submaps/space_rocks/clearing.dmm" cost = 10 /area/submap/space_rocks/seventemple @@ -92,5 +92,5 @@ /datum/map_template/space_rocks/seventemple name = "Temple of the Seven" desc = "A mysterious space!" - mappath = 'seventemple.dmm' + mappath = "maps/submaps/space_rocks/seventemple.dmm" cost = 25 diff --git a/maps/submaps/space_rocks/space_rocks_stuff.dm b/maps/submaps/space_rocks/space_rocks_stuff.dm index cacb70e3879..dfa64b90ce6 100644 --- a/maps/submaps/space_rocks/space_rocks_stuff.dm +++ b/maps/submaps/space_rocks/space_rocks_stuff.dm @@ -13,17 +13,19 @@ /obj/tether_away_spawner/asteroidbaddies name = "Asteroid Mob Spawner" - faction = "space_rock" + faction = FACTION_SPACE_ROCK atmos_comp = TRUE prob_spawn = 100 prob_fall = 40 //guard = 20 mobs_to_pick_from = list( - /mob/living/simple_mob/animal/space/bats = 10, - /mob/living/simple_mob/vore/alienanimals/space_jellyfish = 15, - /mob/living/simple_mob/vore/alienanimals/startreader = 15, - /mob/living/simple_mob/vore/alienanimals/space_ghost = 6, + /mob/living/simple_mob/vore/alienanimals/space_jellyfish = 1, + /mob/living/simple_mob/vore/alienanimals/startreader = 3, + /mob/living/simple_mob/vore/alienanimals/space_ghost = 2, /mob/living/simple_mob/vore/oregrub = 1, + /mob/living/simple_mob/animal/space/ray = 10, + /mob/living/simple_mob/animal/space/bats = 10, + /mob/living/simple_mob/animal/space/gnat = 15, /mob/living/simple_mob/animal/space/carp = 3, /mob/living/simple_mob/animal/space/carp/large = 1, /mob/living/simple_mob/animal/space/carp/large/huge = 1 diff --git a/maps/submaps/space_submaps/debrisfield/debrisfield.dm b/maps/submaps/space_submaps/debrisfield/debrisfield.dm index 6520107209f..6260ff2f083 100644 --- a/maps/submaps/space_submaps/debrisfield/debrisfield.dm +++ b/maps/submaps/space_submaps/debrisfield/debrisfield.dm @@ -1,7 +1,7 @@ // This causes PoI maps to get 'checked' and compiled, when undergoing a unit test. // This is so CI can validate PoIs, and ensure future changes don't break PoIs, as PoIs are loaded at runtime and the compiler can't catch errors. // When adding a new PoI, please add it to this list. -#if MAP_TEST +#ifdef MAP_TEST // #define "your_map_here.dmm" #endif @@ -9,4 +9,4 @@ name = "Space Content - Debrisfield" desc = "Designed for space points of interest." -// No points of interest yet, but the infrastructure is there for people to add! \ No newline at end of file +// No points of interest yet, but the infrastructure is there for people to add! diff --git a/maps/submaps/space_submaps/space.dm b/maps/submaps/space_submaps/space.dm index 374f046f51d..efa043a0a37 100644 --- a/maps/submaps/space_submaps/space.dm +++ b/maps/submaps/space_submaps/space.dm @@ -1,7 +1,7 @@ // This causes PoI maps to get 'checked' and compiled, when undergoing a unit test. // This is so CI can validate PoIs, and ensure future changes don't break PoIs, as PoIs are loaded at runtime and the compiler can't catch errors. // When adding a new PoI, please add it to this list. -#if MAP_TEST +#ifdef MAP_TEST // #define "your_map_here.dmm" #endif @@ -9,4 +9,4 @@ name = "POI - Space Content" desc = "A map template base. In space." -// To be added: Templates for space exploration when they are made. \ No newline at end of file +// To be added: Templates for space exploration when they are made. diff --git a/maps/submaps/surface_submaps/mountains/BlastMine1.dmm b/maps/submaps/surface_submaps/mountains/BlastMine1.dmm index a2c17c17c22..722721f6796 100644 --- a/maps/submaps/surface_submaps/mountains/BlastMine1.dmm +++ b/maps/submaps/surface_submaps/mountains/BlastMine1.dmm @@ -1,13 +1,13 @@ "a" = (/turf/simulated/mineral,/area/submap/cave/BlastMine1) "b" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/BlastMine1) "c" = (/obj/structure/sign/warning/bomb_range,/turf/simulated/wall/sandstone,/area/submap/cave/BlastMine1) -"d" = (/obj/structure/table/rack,/obj/item/weapon/syndie/c4explosive,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/BlastMine1) +"d" = (/obj/structure/table/rack,/obj/item/syndie/c4explosive,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/BlastMine1) "e" = (/obj/structure/loot_pile/surface/bones,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/BlastMine1) "f" = (/mob/living/simple_mob/animal/sif/savik,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/BlastMine1) "g" = (/obj/structure/table/rack,/obj/item/clothing/head/bomb_hood,/obj/item/clothing/suit/bomb_suit,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/BlastMine1) -"h" = (/obj/item/device/gps/internal/poi{gps_tag = "Unidentified Signal"},/turf/simulated/wall/sandstone,/area/submap/cave/BlastMine1) +"h" = (/obj/item/gps/internal/poi{gps_tag = "Unidentified Signal"},/turf/simulated/wall/sandstone,/area/submap/cave/BlastMine1) "i" = (/mob/living/simple_mob/animal/sif/diyaab,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/BlastMine1) -"j" = (/obj/structure/table/reinforced,/obj/item/weapon/flame/lighter/zippo/c4detonator{detonator_mode = 1},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/BlastMine1) +"j" = (/obj/structure/table/reinforced,/obj/item/flame/lighter/zippo/c4detonator{detonator_mode = 1},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/BlastMine1) "k" = (/obj/structure/table/rack,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/BlastMine1) "l" = (/obj/machinery/floodlight,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/BlastMine1) "m" = (/turf/simulated/wall/sandstone,/area/submap/cave/BlastMine1) diff --git a/maps/submaps/surface_submaps/mountains/CaveTrench.dmm b/maps/submaps/surface_submaps/mountains/CaveTrench.dmm index 3b9626828c2..ece8b96652e 100644 --- a/maps/submaps/surface_submaps/mountains/CaveTrench.dmm +++ b/maps/submaps/surface_submaps/mountains/CaveTrench.dmm @@ -13,16 +13,16 @@ "m" = (/obj/random/mob/sif,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/Cavelake) "n" = (/obj/item/clothing/mask/snorkel,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/Cavelake) "o" = (/obj/effect/decal/remains/mouse,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/Cavelake) -"p" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey,/turf/simulated/floor/holofloor/wood,/area/submap/CaveTrench) -"q" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/holofloor/wood,/area/submap/CaveTrench) +"p" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/food/drinks/bottle/whiskey,/turf/simulated/floor/holofloor/wood,/area/submap/CaveTrench) +"q" = (/obj/item/stool/padded,/turf/simulated/floor/holofloor/wood,/area/submap/CaveTrench) "r" = (/obj/structure/table/steel,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CaveTrench) -"s" = (/obj/structure/table/steel,/obj/item/weapon/paper{info = "Rellek's telling me that we're in deep shit if the townies found out I'm cooking up drones out here. Like I give a fuck, We're minning our asses off only to dig into some bug nest to get our legs chewed. Well I'm not looking a gift horse in the mouth. Those drone dudes out in the wild hooked us up with these machines so long as they get some of the metal we dig up. Win win for us, Guess we're retiring early after all."; name = "Note"},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CaveTrench) +"s" = (/obj/structure/table/steel,/obj/item/paper{info = "Rellek's telling me that we're in deep shit if the townies found out I'm cooking up drones out here. Like I give a fuck, We're minning our asses off only to dig into some bug nest to get our legs chewed. Well I'm not looking a gift horse in the mouth. Those drone dudes out in the wild hooked us up with these machines so long as they get some of the metal we dig up. Win win for us, Guess we're retiring early after all."; name = "Note"},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CaveTrench) "t" = (/obj/structure/table/steel,/obj/item/robot_parts/robot_component/actuator,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CaveTrench) "u" = (/obj/effect/decal/cleanable/blood,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CaveTrench) "v" = (/obj/structure/simple_door/wood,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CaveTrench) -"w" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp,/turf/simulated/floor/holofloor/wood,/area/submap/CaveTrench) -"x" = (/obj/structure/table/steel,/obj/item/device/robotanalyzer,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CaveTrench) -"y" = (/obj/structure/table/steel,/obj/item/weapon/storage/toolbox,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CaveTrench) +"w" = (/obj/structure/table/woodentable,/obj/item/flashlight/lamp,/turf/simulated/floor/holofloor/wood,/area/submap/CaveTrench) +"x" = (/obj/structure/table/steel,/obj/item/robotanalyzer,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CaveTrench) +"y" = (/obj/structure/table/steel,/obj/item/storage/toolbox,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CaveTrench) "z" = (/obj/structure/table/bench/steel,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CaveTrench) "A" = (/obj/effect/decal/remains,/obj/item/clothing/under/rank/miner,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CaveTrench) "B" = (/turf/simulated/shuttle/plating,/area/submap/CaveTrench) diff --git a/maps/submaps/surface_submaps/mountains/Cliff1.dmm b/maps/submaps/surface_submaps/mountains/Cliff1.dmm index 1897f0ab174..7cc1c525b68 100644 --- a/maps/submaps/surface_submaps/mountains/Cliff1.dmm +++ b/maps/submaps/surface_submaps/mountains/Cliff1.dmm @@ -1,6 +1,6 @@ "a" = (/turf/template_noop,/area/template_noop) "b" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop) -"c" = (/obj/item/weapon/ore,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/ore_cliff) +"c" = (/obj/item/ore,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/ore_cliff) "d" = (/obj/random/outcrop,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/ore_cliff) "e" = (/obj/structure/cliff/automatic/corner,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/ore_cliff) "f" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 5},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/ore_cliff) diff --git a/maps/submaps/surface_submaps/mountains/CrashedMedShuttle1.dmm b/maps/submaps/surface_submaps/mountains/CrashedMedShuttle1.dmm index 838ab1e63d9..d4f2cad399e 100644 --- a/maps/submaps/surface_submaps/mountains/CrashedMedShuttle1.dmm +++ b/maps/submaps/surface_submaps/mountains/CrashedMedShuttle1.dmm @@ -5,28 +5,28 @@ "ae" = (/obj/structure/sign/greencross{desc = "White cross in a green field, you can get medical aid here."; name = "First-Aid"},/turf/simulated/shuttle/wall/no_join,/area/submap/CrashedMedShuttle) "af" = (/obj/structure/grille,/obj/structure/shuttle/window,/turf/simulated/shuttle/plating,/area/submap/CrashedMedShuttle) "ag" = (/turf/simulated/shuttle/wall,/area/submap/CrashedMedShuttle) -"ah" = (/obj/item/weapon/material/shard{icon_state = "medium"},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CrashedMedShuttle) -"ai" = (/obj/item/weapon/material/shard{icon_state = "medium"},/obj/effect/decal/cleanable/blood/oil,/obj/structure/lattice,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) +"ah" = (/obj/item/material/shard{icon_state = "medium"},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CrashedMedShuttle) +"ai" = (/obj/item/material/shard{icon_state = "medium"},/obj/effect/decal/cleanable/blood/oil,/obj/structure/lattice,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) "aj" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/structure/sign/warning/airlock{pixel_x = 32},/obj/effect/spider/stickyweb,/turf/simulated/shuttle/plating,/area/submap/CrashedMedShuttle) "ak" = (/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"al" = (/obj/item/weapon/storage/toolbox/mechanical,/obj/machinery/light{dir = 1},/obj/structure/table/standard,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"al" = (/obj/item/storage/toolbox/mechanical,/obj/machinery/light{dir = 1},/obj/structure/table/standard,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) "am" = (/obj/structure/table/standard,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) "an" = (/obj/structure/window/reinforced,/obj/effect/decal/cleanable/blood/oil,/obj/structure/loot_pile/surface/bones,/obj/structure/lattice,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) -"ao" = (/obj/item/weapon/circuitboard/broken,/obj/structure/door_assembly/door_assembly_ext,/turf/simulated/shuttle/plating,/area/submap/CrashedMedShuttle) +"ao" = (/obj/item/circuitboard/broken,/obj/structure/door_assembly/door_assembly_ext,/turf/simulated/shuttle/plating,/area/submap/CrashedMedShuttle) "ap" = (/obj/structure/door_assembly/door_assembly_ext,/turf/simulated/shuttle/plating,/area/submap/CrashedMedShuttle) "aq" = (/obj/effect/decal/cleanable/liquid_fuel,/mob/living/simple_mob/animal/giant_spider/webslinger,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) "ar" = (/obj/structure/closet/crate/medical,/obj/random/medical,/obj/random/medical,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) "as" = (/obj/structure/table/standard,/obj/machinery/cell_charger,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"at" = (/obj/item/weapon/material/shard,/obj/structure/lattice,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) +"at" = (/obj/item/material/shard,/obj/structure/lattice,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) "au" = (/obj/structure/closet/secure_closet/personal/patient,/obj/effect/spider/stickyweb,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) "av" = (/obj/random/mob/spider/mutant,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) "aw" = (/obj/machinery/door/airlock/glass,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) "ax" = (/obj/effect/decal/cleanable/blood/drip,/obj/effect/decal/cleanable/liquid_fuel,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) "ay" = (/obj/effect/decal/cleanable/blood,/obj/effect/decal/cleanable/liquid_fuel,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"az" = (/obj/effect/decal/cleanable/blood/gibs/robot,/obj/item/weapon/firstaid_arm_assembly,/mob/living/simple_mob/animal/giant_spider/frost,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"az" = (/obj/effect/decal/cleanable/blood/gibs/robot,/obj/item/firstaid_arm_assembly,/mob/living/simple_mob/animal/giant_spider/frost,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) "aA" = (/obj/item/stack/rods,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CrashedMedShuttle) "aB" = (/obj/structure/lattice,/obj/item/stack/rods,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) -"aC" = (/obj/effect/decal/cleanable/blood/oil,/obj/item/weapon/firstaid_arm_assembly,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"aC" = (/obj/effect/decal/cleanable/blood/oil,/obj/item/firstaid_arm_assembly,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) "aD" = (/obj/structure/closet/secure_closet/personal/patient,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) "aE" = (/obj/effect/decal/cleanable/blood/drip,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) "aF" = (/obj/structure/reagent_dispensers/fueltank,/obj/effect/decal/cleanable/liquid_fuel,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) @@ -34,17 +34,17 @@ "aH" = (/obj/machinery/recharge_station,/obj/effect/decal/cleanable/liquid_fuel,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) "aI" = (/obj/structure/table/standard,/obj/effect/spider/stickyweb,/obj/machinery/light,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) "aJ" = (/obj/structure/table/standard,/obj/effect/spider/stickyweb,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"aK" = (/obj/structure/table/standard,/obj/item/weapon/material/shard{icon_state = "medium"},/obj/effect/spider/stickyweb,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"aL" = (/obj/structure/grille/broken,/obj/item/weapon/material/shard{icon_state = "medium"},/obj/item/stack/rods,/turf/simulated/shuttle/plating,/area/submap/CrashedMedShuttle) -"aM" = (/obj/item/weapon/material/shard,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) +"aK" = (/obj/structure/table/standard,/obj/item/material/shard{icon_state = "medium"},/obj/effect/spider/stickyweb,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"aL" = (/obj/structure/grille/broken,/obj/item/material/shard{icon_state = "medium"},/obj/item/stack/rods,/turf/simulated/shuttle/plating,/area/submap/CrashedMedShuttle) +"aM" = (/obj/item/material/shard,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) "aN" = (/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) -"aO" = (/obj/item/weapon/material/shard{icon_state = "medium"},/obj/effect/spider/stickyweb,/mob/living/simple_mob/animal/giant_spider/carrier,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"aO" = (/obj/item/material/shard{icon_state = "medium"},/obj/effect/spider/stickyweb,/mob/living/simple_mob/animal/giant_spider/carrier,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) "aP" = (/obj/effect/decal/cleanable/blood/gibs/robot,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) "aQ" = (/obj/effect/spider/stickyweb,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) "aR" = (/turf/simulated/shuttle/wall/no_join,/area/submap/CrashedMedShuttle) "aS" = (/obj/effect/decal/cleanable/blood/oil,/obj/structure/loot_pile/surface/bones,/obj/structure/lattice,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) "aT" = (/obj/machinery/light,/obj/structure/table/standard,/obj/effect/spider/stickyweb,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"aU" = (/obj/structure/table/standard,/obj/item/weapon/material/shard{icon_state = "medium"},/obj/random/medical,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"aU" = (/obj/structure/table/standard,/obj/item/material/shard{icon_state = "medium"},/obj/random/medical,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) "aV" = (/obj/effect/spider/stickyweb,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) "aW" = (/obj/effect/decal/cleanable/blood/drip,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) "aX" = (/obj/machinery/computer,/turf/simulated/shuttle/floor/yellow,/area/submap/CrashedMedShuttle) @@ -52,64 +52,64 @@ "aZ" = (/obj/effect/spider/stickyweb,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CrashedMedShuttle) "ba" = (/obj/random/mob/spider/mutant,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CrashedMedShuttle) "bb" = (/obj/effect/spider/cocoon,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CrashedMedShuttle) -"bc" = (/obj/item/weapon/material/shard{icon_state = "medium"},/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) +"bc" = (/obj/item/material/shard{icon_state = "medium"},/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) "bd" = (/obj/item/stack/rods,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) "be" = (/obj/effect/spider/stickyweb,/obj/structure/girder/displaced,/obj/structure/lattice,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) -"bf" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/structure/extinguisher_cabinet{pixel_x = -32},/obj/structure/lattice,/obj/item/device/gps/internal/poi,/obj/structure/flora/tree/sif,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) +"bf" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/structure/extinguisher_cabinet{pixel_x = -32},/obj/structure/lattice,/obj/item/gps/internal/poi,/obj/structure/flora/tree/sif,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) "bg" = (/obj/effect/decal/cleanable/blood/splatter,/obj/structure/loot_pile/surface/bones,/obj/effect/decal/cleanable/blood/drip,/obj/structure/lattice,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) -"bh" = (/obj/structure/grille/broken,/obj/item/weapon/material/shard{icon_state = "medium"},/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) +"bh" = (/obj/structure/grille/broken,/obj/item/material/shard{icon_state = "medium"},/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) "bi" = (/obj/effect/decal/mecha_wreckage/odysseus,/obj/effect/decal/cleanable/blood/oil,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CrashedMedShuttle) -"bj" = (/obj/item/weapon/material/shard,/obj/effect/spider/stickyweb,/obj/item/weapon/beartrap{anchored = 1; deployed = 1; icon_state = "beartrap1"},/obj/random/trash,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) +"bj" = (/obj/item/material/shard,/obj/effect/spider/stickyweb,/obj/item/beartrap{anchored = 1; deployed = 1; icon_state = "beartrap1"},/obj/random/trash,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) "bk" = (/obj/effect/decal/cleanable/blood/oil,/obj/structure/lattice,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) -"bl" = (/obj/effect/spider/stickyweb,/obj/item/weapon/material/shard,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"bl" = (/obj/effect/spider/stickyweb,/obj/item/material/shard,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) "bm" = (/obj/random/medical,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) "bn" = (/mob/living/simple_mob/animal/giant_spider/webslinger,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) "bo" = (/obj/effect/spider/cocoon,/obj/structure/lattice,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) "bp" = (/obj/structure/prop/fake_ai/dead/crashed_med_shuttle,/turf/simulated/shuttle/floor/yellow,/area/submap/CrashedMedShuttle) "bq" = (/obj/structure/flora/tree/sif,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) -"br" = (/obj/structure/grille/broken,/obj/item/weapon/material/shard,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) +"br" = (/obj/structure/grille/broken,/obj/item/material/shard,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) "bs" = (/obj/effect/decal/cleanable/blood/drip,/obj/effect/spider/stickyweb,/mob/living/simple_mob/animal/giant_spider/webslinger,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CrashedMedShuttle) "bt" = (/obj/effect/decal/cleanable/blood/drip,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CrashedMedShuttle) -"bu" = (/obj/effect/decal/remains/tajaran,/obj/item/weapon/surgical/circular_saw,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) +"bu" = (/obj/effect/decal/remains/tajaran,/obj/item/surgical/circular_saw,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) "bv" = (/obj/effect/decal/cleanable/blood/oil,/obj/effect/spider/stickyweb,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) -"bw" = (/obj/item/weapon/material/shard,/obj/structure/loot_pile/maint/technical,/obj/structure/lattice,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CrashedMedShuttle) +"bw" = (/obj/item/material/shard,/obj/structure/loot_pile/maint/technical,/obj/structure/lattice,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CrashedMedShuttle) "bx" = (/obj/structure/bed/chair/office/light{dir = 8},/turf/simulated/shuttle/floor/purple,/area/submap/CrashedMedShuttle) -"by" = (/obj/item/weapon/circuitboard/broken,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"by" = (/obj/item/circuitboard/broken,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) "bz" = (/obj/structure/girder,/turf/template_noop,/area/submap/CrashedMedShuttle) "bA" = (/obj/structure/girder/displaced,/turf/template_noop,/area/submap/CrashedMedShuttle) "bB" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"; dir = 8},/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) "bC" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CrashedMedShuttle) -"bD" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/adv,/turf/simulated/shuttle/floor/purple,/area/submap/CrashedMedShuttle) +"bD" = (/obj/structure/table/standard,/obj/item/storage/firstaid/adv,/turf/simulated/shuttle/floor/purple,/area/submap/CrashedMedShuttle) "bE" = (/obj/structure/table/standard,/turf/simulated/shuttle/floor/purple,/area/submap/CrashedMedShuttle) "bF" = (/obj/random/medical/pillbottle,/mob/living/simple_mob/animal/giant_spider/webslinger,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"bG" = (/obj/structure/table/standard,/obj/item/device/defib_kit/loaded,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"bG" = (/obj/structure/table/standard,/obj/item/defib_kit/loaded,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) "bH" = (/obj/structure/table/standard,/obj/item/bodybag/cryobag,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"bI" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/bodybags,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"bI" = (/obj/structure/table/standard,/obj/item/storage/box/bodybags,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) "bJ" = (/obj/machinery/light{dir = 1},/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"bK" = (/obj/structure/table/standard,/obj/item/weapon/surgical/retractor,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"bL" = (/obj/item/weapon/material/shard,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/submap/CrashedMedShuttle) +"bK" = (/obj/structure/table/standard,/obj/item/surgical/retractor,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"bL" = (/obj/item/material/shard,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/submap/CrashedMedShuttle) "bM" = (/obj/machinery/light{dir = 8},/obj/structure/table/standard,/obj/structure/loot_pile/maint/technical,/turf/simulated/shuttle/floor/purple,/area/submap/CrashedMedShuttle) "bN" = (/obj/effect/decal/cleanable/blood/gibs/robot,/obj/effect/spider/cocoon,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"bO" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/closet/secure_closet/medical_wall/anesthetics{pixel_x = 32},/obj/item/weapon/material/shard{icon_state = "medium"},/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"bO" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/closet/secure_closet/medical_wall/anesthetics{pixel_x = 32},/obj/item/material/shard{icon_state = "medium"},/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) "bP" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) "bQ" = (/obj/effect/spider/cocoon,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"bR" = (/obj/effect/decal/cleanable/blood/splatter,/obj/structure/loot_pile/surface/bones,/obj/item/weapon/surgical/surgicaldrill,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"bS" = (/obj/item/weapon/material/shard{icon_state = "medium"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/submap/CrashedMedShuttle) -"bT" = (/obj/structure/table/standard,/obj/item/device/reagent_scanner/adv,/turf/simulated/shuttle/floor/purple,/area/submap/CrashedMedShuttle) -"bU" = (/obj/machinery/iv_drip,/obj/item/weapon/reagent_containers/blood/empty,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"bR" = (/obj/effect/decal/cleanable/blood/splatter,/obj/structure/loot_pile/surface/bones,/obj/item/surgical/surgicaldrill,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"bS" = (/obj/item/material/shard{icon_state = "medium"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/submap/CrashedMedShuttle) +"bT" = (/obj/structure/table/standard,/obj/item/reagent_scanner/adv,/turf/simulated/shuttle/floor/purple,/area/submap/CrashedMedShuttle) +"bU" = (/obj/machinery/iv_drip,/obj/item/reagent_containers/blood/empty,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) "bV" = (/mob/living/simple_mob/animal/giant_spider/carrier,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"bW" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/masks,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"bW" = (/obj/structure/table/standard,/obj/item/storage/box/masks,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) "bX" = (/obj/structure/table/standard,/obj/random/firstaid,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"bY" = (/obj/structure/table/standard,/obj/item/weapon/storage/backpack/medic,/obj/random/medical/lite,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"bY" = (/obj/structure/table/standard,/obj/item/storage/backpack/medic,/obj/random/medical/lite,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) "bZ" = (/obj/structure/table/standard,/obj/effect/spider/stickyweb,/obj/random/medical,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) "ca" = (/obj/structure/girder,/turf/simulated/shuttle/plating,/area/submap/CrashedMedShuttle) "cb" = (/obj/structure/frame,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"cc" = (/obj/structure/table/standard,/obj/structure/sign/periodic{pixel_y = -32},/obj/item/weapon/surgical/bonesetter,/obj/item/weapon/surgical/scalpel,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"cc" = (/obj/structure/table/standard,/obj/structure/sign/periodic{pixel_y = -32},/obj/item/surgical/bonesetter,/obj/item/surgical/scalpel,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) "cd" = (/obj/machinery/optable,/obj/effect/decal/cleanable/blood/splatter,/obj/structure/loot_pile/surface/bones,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"ce" = (/obj/structure/table/standard,/obj/item/weapon/surgical/bonegel,/obj/item/weapon/surgical/FixOVein,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"cf" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "crashed_med_admin_shuttle"; pixel_x = -25; pixel_y = 0; req_one_access = list(101); tag_door = "admin_shuttle_hatch"},/obj/random/mob/spider/mutant,/turf/simulated/shuttle/plating,/area/submap/CrashedMedShuttle) -"cg" = (/obj/structure/table/standard,/obj/item/weapon/storage/belt/medical/emt,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"ch" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/syringes,/obj/effect/spider/stickyweb,/obj/machinery/light,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"ce" = (/obj/structure/table/standard,/obj/item/surgical/bonegel,/obj/item/surgical/FixOVein,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"cf" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "admin_shuttle"; pixel_x = -25; pixel_y = 0; req_one_access = list(101); tag_door = "admin_shuttle_hatch"},/obj/random/mob/spider/mutant,/turf/simulated/shuttle/plating,/area/submap/CrashedMedShuttle) +"cg" = (/obj/structure/table/standard,/obj/item/storage/belt/medical/emt,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"ch" = (/obj/structure/table/standard,/obj/item/storage/box/syringes,/obj/effect/spider/stickyweb,/obj/machinery/light,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) "ci" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "admin_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = null},/turf/simulated/shuttle/plating,/area/submap/CrashedMedShuttle) (1,1,1) = {" diff --git a/maps/submaps/surface_submaps/mountains/CrashedMedShuttle1_vr.dmm b/maps/submaps/surface_submaps/mountains/CrashedMedShuttle1_vr.dmm index 50bbccc5259..bbca56a8b7c 100644 --- a/maps/submaps/surface_submaps/mountains/CrashedMedShuttle1_vr.dmm +++ b/maps/submaps/surface_submaps/mountains/CrashedMedShuttle1_vr.dmm @@ -1,133 +1,1047 @@ -"aa" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CrashedMedShuttle) -"ab" = (/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) -"ac" = (/obj/structure/lattice,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) -"ad" = (/obj/effect/spider/stickyweb,/turf/simulated/shuttle/plating,/area/submap/CrashedMedShuttle) -"ae" = (/obj/structure/sign/greencross{desc = "White cross in a green field, you can get medical aid here."; name = "First-Aid"},/turf/simulated/shuttle/wall/no_join,/area/submap/CrashedMedShuttle) -"af" = (/obj/structure/grille,/obj/structure/shuttle/window,/turf/simulated/shuttle/plating,/area/submap/CrashedMedShuttle) -"ag" = (/turf/simulated/shuttle/wall,/area/submap/CrashedMedShuttle) -"ah" = (/obj/item/weapon/material/shard{icon_state = "medium"},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CrashedMedShuttle) -"ai" = (/obj/item/weapon/material/shard{icon_state = "medium"},/obj/effect/decal/cleanable/blood/oil,/obj/structure/lattice,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) -"aj" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/structure/sign/warning/airlock{pixel_x = 32},/obj/effect/spider/stickyweb,/turf/simulated/shuttle/plating,/area/submap/CrashedMedShuttle) -"ak" = (/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"al" = (/obj/item/weapon/storage/toolbox/mechanical,/obj/machinery/light{dir = 1},/obj/structure/table/standard,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"am" = (/obj/structure/table/standard,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"an" = (/obj/structure/window/reinforced,/obj/effect/decal/cleanable/blood/oil,/obj/structure/loot_pile/surface/bones,/obj/structure/lattice,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) -"ao" = (/obj/item/weapon/circuitboard/broken,/obj/structure/door_assembly/door_assembly_ext,/turf/simulated/shuttle/plating,/area/submap/CrashedMedShuttle) -"ap" = (/obj/structure/door_assembly/door_assembly_ext,/turf/simulated/shuttle/plating,/area/submap/CrashedMedShuttle) -"aq" = (/obj/effect/decal/cleanable/liquid_fuel,/mob/living/simple_mob/animal/giant_spider/webslinger,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"ar" = (/obj/structure/closet/crate/medical,/obj/random/medical,/obj/random/medical,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"as" = (/obj/structure/table/standard,/obj/machinery/cell_charger,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"at" = (/obj/item/weapon/material/shard,/obj/structure/lattice,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) -"au" = (/obj/structure/closet/secure_closet/personal/patient,/obj/effect/spider/stickyweb,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"av" = (/obj/random/mob/spider/mutant,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"aw" = (/obj/machinery/door/airlock/glass,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"ax" = (/obj/effect/decal/cleanable/blood/drip,/obj/effect/decal/cleanable/liquid_fuel,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"ay" = (/obj/effect/decal/cleanable/blood,/obj/effect/decal/cleanable/liquid_fuel,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"az" = (/obj/effect/decal/cleanable/blood/gibs/robot,/obj/item/weapon/firstaid_arm_assembly,/mob/living/simple_mob/animal/giant_spider/frost,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"aA" = (/obj/item/stack/rods,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CrashedMedShuttle) -"aB" = (/obj/structure/lattice,/obj/item/stack/rods,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) -"aC" = (/obj/effect/decal/cleanable/blood/oil,/obj/item/weapon/firstaid_arm_assembly,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"aD" = (/obj/structure/closet/secure_closet/personal/patient,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"aE" = (/obj/effect/decal/cleanable/blood/drip,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"aF" = (/obj/structure/reagent_dispensers/fueltank,/obj/effect/decal/cleanable/liquid_fuel,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"aG" = (/obj/structure/reagent_dispensers/watertank,/obj/effect/decal/cleanable/liquid_fuel,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"aH" = (/obj/effect/decal/cleanable/liquid_fuel,/obj/structure/ghost_pod/manual/lost_drone/dogborg,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"aI" = (/obj/structure/table/standard,/obj/effect/spider/stickyweb,/obj/machinery/light,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"aJ" = (/obj/structure/table/standard,/obj/effect/spider/stickyweb,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"aK" = (/obj/structure/table/standard,/obj/item/weapon/material/shard{icon_state = "medium"},/obj/effect/spider/stickyweb,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"aL" = (/obj/structure/grille/broken,/obj/item/weapon/material/shard{icon_state = "medium"},/obj/item/stack/rods,/turf/simulated/shuttle/plating,/area/submap/CrashedMedShuttle) -"aM" = (/obj/item/weapon/material/shard,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) -"aN" = (/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) -"aO" = (/obj/item/weapon/material/shard{icon_state = "medium"},/obj/effect/spider/stickyweb,/mob/living/simple_mob/animal/giant_spider/carrier,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"aP" = (/obj/effect/decal/cleanable/blood/gibs/robot,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"aQ" = (/obj/effect/spider/stickyweb,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"aR" = (/turf/simulated/shuttle/wall/no_join,/area/submap/CrashedMedShuttle) -"aS" = (/obj/effect/decal/cleanable/blood/oil,/obj/structure/loot_pile/surface/bones,/obj/structure/lattice,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) -"aT" = (/obj/machinery/light,/obj/structure/table/standard,/obj/effect/spider/stickyweb,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"aU" = (/obj/structure/table/standard,/obj/item/weapon/material/shard{icon_state = "medium"},/obj/random/medical,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"aV" = (/obj/effect/spider/stickyweb,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) -"aW" = (/obj/effect/decal/cleanable/blood/drip,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) -"aX" = (/obj/machinery/computer,/turf/simulated/shuttle/floor/yellow,/area/submap/CrashedMedShuttle) -"aY" = (/obj/structure/prop/blackbox/crashed_med_shuttle,/turf/simulated/shuttle/floor/yellow,/area/submap/CrashedMedShuttle) -"aZ" = (/obj/effect/spider/stickyweb,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CrashedMedShuttle) -"ba" = (/obj/random/mob/spider/mutant,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CrashedMedShuttle) -"bb" = (/obj/effect/spider/cocoon,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CrashedMedShuttle) -"bc" = (/obj/item/weapon/material/shard{icon_state = "medium"},/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) -"bd" = (/obj/item/stack/rods,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) -"be" = (/obj/effect/spider/stickyweb,/obj/structure/girder/displaced,/obj/structure/lattice,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) -"bf" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/structure/extinguisher_cabinet{pixel_x = -32},/obj/structure/lattice,/obj/item/device/gps/internal/poi,/obj/structure/flora/tree/sif,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) -"bg" = (/obj/effect/decal/cleanable/blood/splatter,/obj/structure/loot_pile/surface/bones,/obj/effect/decal/cleanable/blood/drip,/obj/structure/lattice,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) -"bh" = (/obj/structure/grille/broken,/obj/item/weapon/material/shard{icon_state = "medium"},/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) -"bi" = (/obj/effect/decal/mecha_wreckage/odysseus,/obj/effect/decal/cleanable/blood/oil,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CrashedMedShuttle) -"bj" = (/obj/item/weapon/material/shard,/obj/effect/spider/stickyweb,/obj/item/weapon/beartrap{anchored = 1; deployed = 1; icon_state = "beartrap1"},/obj/random/trash,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) -"bk" = (/obj/effect/decal/cleanable/blood/oil,/obj/structure/lattice,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) -"bl" = (/obj/effect/spider/stickyweb,/obj/item/weapon/material/shard,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"bm" = (/obj/random/medical,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"bn" = (/mob/living/simple_mob/animal/giant_spider/webslinger,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) -"bo" = (/obj/effect/spider/cocoon,/obj/structure/lattice,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) -"bp" = (/obj/structure/prop/fake_ai/dead/crashed_med_shuttle,/turf/simulated/shuttle/floor/yellow,/area/submap/CrashedMedShuttle) -"bq" = (/obj/structure/flora/tree/sif,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) -"br" = (/obj/structure/grille/broken,/obj/item/weapon/material/shard,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) -"bs" = (/obj/effect/decal/cleanable/blood/drip,/obj/effect/spider/stickyweb,/mob/living/simple_mob/animal/giant_spider/webslinger,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CrashedMedShuttle) -"bt" = (/obj/effect/decal/cleanable/blood/drip,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CrashedMedShuttle) -"bu" = (/obj/effect/decal/remains/tajaran,/obj/item/weapon/surgical/circular_saw,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) -"bv" = (/obj/effect/decal/cleanable/blood/oil,/obj/effect/spider/stickyweb,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) -"bw" = (/obj/item/weapon/material/shard,/obj/structure/loot_pile/maint/technical,/obj/structure/lattice,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CrashedMedShuttle) -"bx" = (/obj/structure/bed/chair/office/light{dir = 8},/turf/simulated/shuttle/floor/purple,/area/submap/CrashedMedShuttle) -"by" = (/obj/item/weapon/circuitboard/broken,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"bz" = (/obj/structure/girder,/turf/template_noop,/area/submap/CrashedMedShuttle) -"bA" = (/obj/structure/girder/displaced,/turf/template_noop,/area/submap/CrashedMedShuttle) -"bB" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"; dir = 8},/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) -"bC" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CrashedMedShuttle) -"bD" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/adv,/turf/simulated/shuttle/floor/purple,/area/submap/CrashedMedShuttle) -"bE" = (/obj/structure/table/standard,/turf/simulated/shuttle/floor/purple,/area/submap/CrashedMedShuttle) -"bF" = (/obj/random/medical/pillbottle,/mob/living/simple_mob/animal/giant_spider/webslinger,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"bG" = (/obj/structure/table/standard,/obj/item/device/defib_kit/loaded,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"bH" = (/obj/structure/table/standard,/obj/item/bodybag/cryobag,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"bI" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/bodybags,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"bJ" = (/obj/machinery/light{dir = 1},/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"bK" = (/obj/structure/table/standard,/obj/item/weapon/surgical/retractor,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"bL" = (/obj/item/weapon/material/shard,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/submap/CrashedMedShuttle) -"bM" = (/obj/machinery/light{dir = 8},/obj/structure/table/standard,/obj/structure/loot_pile/maint/technical,/turf/simulated/shuttle/floor/purple,/area/submap/CrashedMedShuttle) -"bN" = (/obj/effect/decal/cleanable/blood/gibs/robot,/obj/effect/spider/cocoon,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"bO" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/closet/secure_closet/medical_wall/anesthetics{pixel_x = 32},/obj/item/weapon/material/shard{icon_state = "medium"},/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"bP" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"bQ" = (/obj/effect/spider/cocoon,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"bR" = (/obj/effect/decal/cleanable/blood/splatter,/obj/structure/loot_pile/surface/bones,/obj/item/weapon/surgical/surgicaldrill,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"bS" = (/obj/item/weapon/material/shard{icon_state = "medium"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/submap/CrashedMedShuttle) -"bT" = (/obj/structure/table/standard,/obj/item/device/reagent_scanner/adv,/turf/simulated/shuttle/floor/purple,/area/submap/CrashedMedShuttle) -"bU" = (/obj/machinery/iv_drip,/obj/item/weapon/reagent_containers/blood/empty,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"bV" = (/mob/living/simple_mob/animal/giant_spider/carrier,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"bW" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/masks,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"bX" = (/obj/structure/table/standard,/obj/random/firstaid,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"bY" = (/obj/structure/table/standard,/obj/item/weapon/storage/backpack/medic,/obj/random/medical/lite,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"bZ" = (/obj/structure/table/standard,/obj/effect/spider/stickyweb,/obj/random/medical,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"ca" = (/obj/structure/girder,/turf/simulated/shuttle/plating,/area/submap/CrashedMedShuttle) -"cb" = (/obj/structure/frame,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"cc" = (/obj/structure/table/standard,/obj/structure/sign/periodic{pixel_y = -32},/obj/item/weapon/surgical/bonesetter,/obj/item/weapon/surgical/scalpel,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"cd" = (/obj/machinery/optable,/obj/effect/decal/cleanable/blood/splatter,/obj/structure/loot_pile/surface/bones,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"ce" = (/obj/structure/table/standard,/obj/item/weapon/surgical/bonegel,/obj/item/weapon/surgical/FixOVein,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"cf" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "crashed_med_admin_shuttle"; pixel_x = -25; pixel_y = 0; req_one_access = list(101); tag_door = "admin_shuttle_hatch"},/obj/random/mob/spider/mutant,/turf/simulated/shuttle/plating,/area/submap/CrashedMedShuttle) -"cg" = (/obj/structure/table/standard,/obj/item/weapon/storage/belt/medical/emt,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"ch" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/syringes,/obj/effect/spider/stickyweb,/obj/machinery/light,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) -"ci" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "admin_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = null},/turf/simulated/shuttle/plating,/area/submap/CrashedMedShuttle) +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/turf/simulated/mineral/floor/ignore_mapgen, +/area/submap/CrashedMedShuttle) +"ab" = ( +/turf/simulated/floor/outdoors/rocks, +/area/submap/CrashedMedShuttle) +"ac" = ( +/obj/structure/lattice, +/turf/simulated/floor/outdoors/rocks, +/area/submap/CrashedMedShuttle) +"ad" = ( +/obj/effect/spider/stickyweb, +/turf/simulated/shuttle/plating, +/area/submap/CrashedMedShuttle) +"ae" = ( +/obj/structure/sign/greencross{ + desc = "White cross in a green field, you can get medical aid here."; + name = "First-Aid" + }, +/turf/simulated/shuttle/wall/no_join, +/area/submap/CrashedMedShuttle) +"af" = ( +/obj/structure/grille, +/obj/structure/shuttle/window, +/turf/simulated/shuttle/plating, +/area/submap/CrashedMedShuttle) +"ag" = ( +/turf/simulated/shuttle/wall, +/area/submap/CrashedMedShuttle) +"ah" = ( +/obj/item/material/shard{ + icon_state = "medium" + }, +/turf/simulated/mineral/floor/ignore_mapgen, +/area/submap/CrashedMedShuttle) +"ai" = ( +/obj/item/material/shard{ + icon_state = "medium" + }, +/obj/effect/decal/cleanable/blood/oil, +/obj/structure/lattice, +/turf/simulated/floor/outdoors/rocks, +/area/submap/CrashedMedShuttle) +"aj" = ( +/obj/machinery/light/small{ + dir = 4; + pixel_y = 0 + }, +/obj/structure/sign/warning/airlock{ + pixel_x = 32 + }, +/obj/effect/spider/stickyweb, +/turf/simulated/shuttle/plating, +/area/submap/CrashedMedShuttle) +"ak" = ( +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"al" = ( +/obj/item/storage/toolbox/mechanical, +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/table/standard, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"am" = ( +/obj/structure/table/standard, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"an" = ( +/obj/structure/window/reinforced, +/obj/effect/decal/cleanable/blood/oil, +/obj/structure/loot_pile/surface/bones, +/obj/structure/lattice, +/turf/simulated/floor/outdoors/rocks, +/area/submap/CrashedMedShuttle) +"ao" = ( +/obj/item/circuitboard/broken, +/obj/structure/door_assembly/door_assembly_ext, +/turf/simulated/shuttle/plating, +/area/submap/CrashedMedShuttle) +"ap" = ( +/obj/structure/door_assembly/door_assembly_ext, +/turf/simulated/shuttle/plating, +/area/submap/CrashedMedShuttle) +"aq" = ( +/obj/effect/decal/cleanable/liquid_fuel, +/mob/living/simple_mob/animal/giant_spider/webslinger, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"ar" = ( +/obj/structure/closet/crate/medical, +/obj/random/medical, +/obj/random/medical, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"as" = ( +/obj/structure/table/standard, +/obj/machinery/cell_charger, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"at" = ( +/obj/item/material/shard, +/obj/structure/lattice, +/turf/simulated/floor/outdoors/rocks, +/area/submap/CrashedMedShuttle) +"au" = ( +/obj/structure/closet/secure_closet/personal/patient, +/obj/effect/spider/stickyweb, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"av" = ( +/obj/random/mob/spider/mutant, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"aw" = ( +/obj/machinery/door/airlock/glass, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"ax" = ( +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/liquid_fuel, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"ay" = ( +/obj/effect/decal/cleanable/blood, +/obj/effect/decal/cleanable/liquid_fuel, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"az" = ( +/obj/effect/decal/cleanable/blood/gibs/robot, +/obj/item/firstaid_arm_assembly, +/mob/living/simple_mob/animal/giant_spider/frost, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"aA" = ( +/obj/item/stack/rods, +/turf/simulated/mineral/floor/ignore_mapgen, +/area/submap/CrashedMedShuttle) +"aB" = ( +/obj/structure/lattice, +/obj/item/stack/rods, +/turf/simulated/floor/outdoors/rocks, +/area/submap/CrashedMedShuttle) +"aC" = ( +/obj/effect/decal/cleanable/blood/oil, +/obj/item/firstaid_arm_assembly, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"aD" = ( +/obj/structure/closet/secure_closet/personal/patient, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"aE" = ( +/obj/effect/decal/cleanable/blood/drip, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"aF" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/decal/cleanable/liquid_fuel, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"aG" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/decal/cleanable/liquid_fuel, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"aH" = ( +/obj/effect/decal/cleanable/liquid_fuel, +/obj/structure/ghost_pod/manual/lost_drone/dogborg, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"aI" = ( +/obj/structure/table/standard, +/obj/effect/spider/stickyweb, +/obj/machinery/light, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"aJ" = ( +/obj/structure/table/standard, +/obj/effect/spider/stickyweb, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"aK" = ( +/obj/structure/table/standard, +/obj/item/material/shard{ + icon_state = "medium" + }, +/obj/effect/spider/stickyweb, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"aL" = ( +/obj/structure/grille/broken, +/obj/item/material/shard{ + icon_state = "medium" + }, +/obj/item/stack/rods, +/turf/simulated/shuttle/plating, +/area/submap/CrashedMedShuttle) +"aM" = ( +/obj/item/material/shard, +/turf/simulated/floor/outdoors/rocks, +/area/submap/CrashedMedShuttle) +"aN" = ( +/obj/effect/decal/cleanable/blood/oil, +/turf/simulated/floor/outdoors/rocks, +/area/submap/CrashedMedShuttle) +"aO" = ( +/obj/item/material/shard{ + icon_state = "medium" + }, +/obj/effect/spider/stickyweb, +/mob/living/simple_mob/animal/giant_spider/carrier, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"aP" = ( +/obj/effect/decal/cleanable/blood/gibs/robot, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"aQ" = ( +/obj/effect/spider/stickyweb, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"aR" = ( +/turf/simulated/shuttle/wall/no_join, +/area/submap/CrashedMedShuttle) +"aS" = ( +/obj/effect/decal/cleanable/blood/oil, +/obj/structure/loot_pile/surface/bones, +/obj/structure/lattice, +/turf/simulated/floor/outdoors/rocks, +/area/submap/CrashedMedShuttle) +"aT" = ( +/obj/machinery/light, +/obj/structure/table/standard, +/obj/effect/spider/stickyweb, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"aU" = ( +/obj/structure/table/standard, +/obj/item/material/shard{ + icon_state = "medium" + }, +/obj/random/medical, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"aV" = ( +/obj/effect/spider/stickyweb, +/turf/simulated/floor/outdoors/rocks, +/area/submap/CrashedMedShuttle) +"aW" = ( +/obj/effect/decal/cleanable/blood/drip, +/turf/simulated/floor/outdoors/rocks, +/area/submap/CrashedMedShuttle) +"aX" = ( +/obj/machinery/computer, +/turf/simulated/shuttle/floor/yellow, +/area/submap/CrashedMedShuttle) +"aY" = ( +/obj/structure/prop/blackbox/crashed_med_shuttle, +/turf/simulated/shuttle/floor/yellow, +/area/submap/CrashedMedShuttle) +"aZ" = ( +/obj/effect/spider/stickyweb, +/turf/simulated/mineral/floor/ignore_mapgen, +/area/submap/CrashedMedShuttle) +"ba" = ( +/obj/random/mob/spider/mutant, +/turf/simulated/mineral/floor/ignore_mapgen, +/area/submap/CrashedMedShuttle) +"bb" = ( +/obj/effect/spider/cocoon, +/turf/simulated/mineral/floor/ignore_mapgen, +/area/submap/CrashedMedShuttle) +"bc" = ( +/obj/item/material/shard{ + icon_state = "medium" + }, +/turf/simulated/floor/outdoors/rocks, +/area/submap/CrashedMedShuttle) +"bd" = ( +/obj/item/stack/rods, +/turf/simulated/floor/outdoors/rocks, +/area/submap/CrashedMedShuttle) +"be" = ( +/obj/effect/spider/stickyweb, +/obj/structure/girder/displaced, +/obj/structure/lattice, +/turf/simulated/floor/outdoors/rocks, +/area/submap/CrashedMedShuttle) +"bf" = ( +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = -32 + }, +/obj/structure/lattice, +/obj/item/gps/internal/poi, +/obj/structure/flora/tree/sif, +/turf/simulated/floor/outdoors/rocks, +/area/submap/CrashedMedShuttle) +"bg" = ( +/obj/effect/decal/cleanable/blood/splatter, +/obj/structure/loot_pile/surface/bones, +/obj/effect/decal/cleanable/blood/drip, +/obj/structure/lattice, +/turf/simulated/floor/outdoors/rocks, +/area/submap/CrashedMedShuttle) +"bh" = ( +/obj/structure/grille/broken, +/obj/item/material/shard{ + icon_state = "medium" + }, +/turf/simulated/floor/outdoors/rocks, +/area/submap/CrashedMedShuttle) +"bi" = ( +/obj/effect/decal/mecha_wreckage/odysseus, +/obj/effect/decal/cleanable/blood/oil, +/turf/simulated/mineral/floor/ignore_mapgen, +/area/submap/CrashedMedShuttle) +"bj" = ( +/obj/item/material/shard, +/obj/effect/spider/stickyweb, +/obj/item/beartrap{ + anchored = 1; + deployed = 1; + icon_state = "beartrap1" + }, +/obj/random/trash, +/turf/simulated/floor/outdoors/rocks, +/area/submap/CrashedMedShuttle) +"bk" = ( +/obj/effect/decal/cleanable/blood/oil, +/obj/structure/lattice, +/turf/simulated/floor/outdoors/rocks, +/area/submap/CrashedMedShuttle) +"bl" = ( +/obj/effect/spider/stickyweb, +/obj/item/material/shard, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"bm" = ( +/obj/random/medical, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"bn" = ( +/mob/living/simple_mob/animal/giant_spider/webslinger, +/turf/simulated/floor/outdoors/rocks, +/area/submap/CrashedMedShuttle) +"bo" = ( +/obj/effect/spider/cocoon, +/obj/structure/lattice, +/turf/simulated/floor/outdoors/rocks, +/area/submap/CrashedMedShuttle) +"bp" = ( +/obj/structure/prop/fake_ai/dead/crashed_med_shuttle, +/turf/simulated/shuttle/floor/yellow, +/area/submap/CrashedMedShuttle) +"bq" = ( +/obj/structure/flora/tree/sif, +/turf/simulated/floor/outdoors/rocks, +/area/submap/CrashedMedShuttle) +"br" = ( +/obj/structure/grille/broken, +/obj/item/material/shard, +/turf/simulated/floor/outdoors/rocks, +/area/submap/CrashedMedShuttle) +"bs" = ( +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/spider/stickyweb, +/mob/living/simple_mob/animal/giant_spider/webslinger, +/turf/simulated/mineral/floor/ignore_mapgen, +/area/submap/CrashedMedShuttle) +"bt" = ( +/obj/effect/decal/cleanable/blood/drip, +/turf/simulated/mineral/floor/ignore_mapgen, +/area/submap/CrashedMedShuttle) +"bu" = ( +/obj/effect/decal/remains/tajaran, +/obj/item/surgical/circular_saw, +/turf/simulated/floor/outdoors/rocks, +/area/submap/CrashedMedShuttle) +"bv" = ( +/obj/effect/decal/cleanable/blood/oil, +/obj/effect/spider/stickyweb, +/turf/simulated/floor/outdoors/rocks, +/area/submap/CrashedMedShuttle) +"bw" = ( +/obj/item/material/shard, +/obj/structure/loot_pile/maint/technical, +/obj/structure/lattice, +/turf/simulated/mineral/floor/ignore_mapgen, +/area/submap/CrashedMedShuttle) +"bx" = ( +/obj/structure/bed/chair/office/light{ + dir = 8 + }, +/turf/simulated/shuttle/floor/purple, +/area/submap/CrashedMedShuttle) +"by" = ( +/obj/item/circuitboard/broken, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"bz" = ( +/obj/structure/girder, +/turf/template_noop, +/area/submap/CrashedMedShuttle) +"bA" = ( +/obj/structure/girder/displaced, +/turf/template_noop, +/area/submap/CrashedMedShuttle) +"bB" = ( +/obj/structure/shuttle/engine/propulsion{ + icon_state = "propulsion_r"; + dir = 8 + }, +/turf/simulated/floor/outdoors/rocks, +/area/submap/CrashedMedShuttle) +"bC" = ( +/obj/structure/shuttle/engine/heater{ + icon_state = "heater"; + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/simulated/mineral/floor/ignore_mapgen, +/area/submap/CrashedMedShuttle) +"bD" = ( +/obj/structure/table/standard, +/obj/item/storage/firstaid/adv, +/turf/simulated/shuttle/floor/purple, +/area/submap/CrashedMedShuttle) +"bE" = ( +/obj/structure/table/standard, +/turf/simulated/shuttle/floor/purple, +/area/submap/CrashedMedShuttle) +"bF" = ( +/obj/random/medical/pillbottle, +/mob/living/simple_mob/animal/giant_spider/webslinger, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"bG" = ( +/obj/structure/table/standard, +/obj/item/defib_kit/loaded, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"bH" = ( +/obj/structure/table/standard, +/obj/item/bodybag/cryobag, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"bI" = ( +/obj/structure/table/standard, +/obj/item/storage/box/bodybags, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"bJ" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"bK" = ( +/obj/structure/table/standard, +/obj/item/surgical/retractor, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"bL" = ( +/obj/item/material/shard, +/obj/structure/grille, +/turf/simulated/shuttle/plating, +/area/submap/CrashedMedShuttle) +"bM" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/table/standard, +/obj/structure/loot_pile/maint/technical, +/turf/simulated/shuttle/floor/purple, +/area/submap/CrashedMedShuttle) +"bN" = ( +/obj/effect/decal/cleanable/blood/gibs/robot, +/obj/effect/spider/cocoon, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"bO" = ( +/obj/machinery/light{ + icon_state = "tube1"; + dir = 4 + }, +/obj/structure/closet/secure_closet/medical_wall/anesthetics{ + pixel_x = 32 + }, +/obj/item/material/shard{ + icon_state = "medium" + }, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"bP" = ( +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"bQ" = ( +/obj/effect/spider/cocoon, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"bR" = ( +/obj/effect/decal/cleanable/blood/splatter, +/obj/structure/loot_pile/surface/bones, +/obj/item/surgical/surgicaldrill, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"bS" = ( +/obj/item/material/shard{ + icon_state = "medium" + }, +/obj/structure/grille, +/turf/simulated/shuttle/plating, +/area/submap/CrashedMedShuttle) +"bT" = ( +/obj/structure/table/standard, +/obj/item/reagent_scanner/adv, +/turf/simulated/shuttle/floor/purple, +/area/submap/CrashedMedShuttle) +"bU" = ( +/obj/machinery/iv_drip, +/obj/item/reagent_containers/blood/empty, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"bV" = ( +/mob/living/simple_mob/animal/giant_spider/carrier, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"bW" = ( +/obj/structure/table/standard, +/obj/item/storage/box/masks, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"bX" = ( +/obj/structure/table/standard, +/obj/random/firstaid, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"bY" = ( +/obj/structure/table/standard, +/obj/item/storage/backpack/medic, +/obj/random/medical/lite, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"bZ" = ( +/obj/structure/table/standard, +/obj/effect/spider/stickyweb, +/obj/random/medical, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"ca" = ( +/obj/structure/girder, +/turf/simulated/shuttle/plating, +/area/submap/CrashedMedShuttle) +"cb" = ( +/obj/structure/frame, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"cc" = ( +/obj/structure/table/standard, +/obj/structure/sign/periodic{ + pixel_y = -32 + }, +/obj/item/surgical/bonesetter, +/obj/item/surgical/scalpel, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"cd" = ( +/obj/machinery/optable, +/obj/effect/decal/cleanable/blood/splatter, +/obj/structure/loot_pile/surface/bones, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"ce" = ( +/obj/structure/table/standard, +/obj/item/surgical/bonegel, +/obj/item/surgical/FixOVein, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"cf" = ( +/obj/machinery/embedded_controller/radio/simple_docking_controller{ + frequency = 1380; + id_tag = "admin_shuttle"; + pixel_x = -25; + pixel_y = 0; + req_one_access = list(101); + tag_door = "admin_shuttle_hatch" + }, +/obj/random/mob/spider/mutant, +/turf/simulated/shuttle/plating, +/area/submap/CrashedMedShuttle) +"cg" = ( +/obj/structure/table/standard, +/obj/item/storage/belt/medical/emt, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"ch" = ( +/obj/structure/table/standard, +/obj/item/storage/box/syringes, +/obj/effect/spider/stickyweb, +/obj/machinery/light, +/turf/simulated/shuttle/floor/white, +/area/submap/CrashedMedShuttle) +"ci" = ( +/obj/machinery/door/airlock/external{ + frequency = 1380; + icon_state = "door_locked"; + id_tag = "admin_shuttle_hatch"; + locked = 1; + name = "Shuttle Hatch"; + req_access = null + }, +/turf/simulated/shuttle/plating, +/area/submap/CrashedMedShuttle) (1,1,1) = {" -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaabaaaaabacadaeafagagagaaaaaaabaa -aaaaaaababaaaaahabaiadajagakalamagagagaaaaaa -aaaaaaaaaaaaaaabanagaoapagaqakakarasagagaaaa -aaaaaaaaahaaabatauagavakawaxayavakazakafabaa -aaababaaaAabaBaCaDafakaEagaFaGaHaIaJaKaLabaa -aaabaaaaaMaNacaOaPawakaQaRagagagagagagagabaa -aaaaaaaaababaSaTaUafaVaWaXaYafabaZbabbabaaaa -aaaaaabcbdbeagagagagbfababbgbhaZaVbiababaaaa -aaaaaaabbjbkakblbmafbnbobpbqbrbsbtbuabaaaaaa -aaaaabbvbwbxakakakbyakakagbzbzbAagagagagaaaa -aAabbBbCbDbEbFakakafaQavagbGbHbIbJakbKbLabaa -aaabagagbMbxbNakbOagbPbQbyakakakavbRambSabaa -aaaaabagagbTbUbVbWagadaoagbXakbYambZcacaaaaa -aaaaaaabagcbcccdceagcfajagcgchamagcacaabaaaa -aaaaaaabagagagagagaeciciaeafagagcaabababaaaa -aaaaaaaaababababaaababaaaaaaababaaaaaaaaaaaa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aA +aa +aa +aa +aa +aa +"} +(2,1,1) = {" +aa +aa +aa +aa +aa +ab +ab +aa +aa +aa +aa +ab +ab +aa +aa +aa +aa +"} +(3,1,1) = {" +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +ab +bB +ag +ab +aa +aa +aa +"} +(4,1,1) = {" +aa +aa +ab +aa +aa +aa +aa +aa +bc +ab +bv +bC +ag +ag +ab +ab +aa +"} +(5,1,1) = {" +aa +aa +ab +aa +ah +aA +aM +ab +bd +bj +bw +bD +bM +ag +ag +ag +ab +"} +(6,1,1) = {" +aa +aa +aa +aa +aa +ab +aN +ab +be +bk +bx +bE +bx +bT +cb +ag +ab +"} +(7,1,1) = {" +aa +ab +aa +aa +ab +aB +ac +aS +ag +ak +ak +bF +bN +bU +cc +ag +ab +"} +(8,1,1) = {" +aa +aa +ah +ab +at +aC +aO +aT +ag +bl +ak +ak +ak +bV +cd +ag +ab +"} +(9,1,1) = {" +aa +aa +ab +an +au +aD +aP +aU +ag +bm +ak +ak +bO +bW +ce +ag +aa +"} +(10,1,1) = {" +aa +ab +ai +ag +ag +af +aw +af +ag +af +by +af +ag +ag +ag +ae +ab +"} +(11,1,1) = {" +aa +ac +ad +ao +av +ak +ak +aV +bf +bn +ak +aQ +bP +ad +cf +ci +ab +"} +(12,1,1) = {" +aa +ad +aj +ap +ak +aE +aQ +aW +ab +bo +ak +av +bQ +ao +aj +ci +aa +"} +(13,1,1) = {" +aa +ae +ag +ag +aw +ag +aR +aX +ab +bp +ag +ag +by +ag +ag +ae +aa +"} +(14,1,1) = {" +aa +af +ak +aq +ax +aF +ag +aY +bg +bq +bz +bG +ak +bX +cg +af +aa +"} +(15,1,1) = {" +aa +ag +al +ak +ay +aG +ag +af +bh +br +bz +bH +ak +ak +ch +ag +ab +"} +(16,1,1) = {" +aa +ag +am +ak +av +aH +ag +ab +aZ +bs +bA +bI +ak +bY +am +ag +ab +"} +(17,1,1) = {" +aa +ag +ag +ar +ak +aI +ag +aZ +aV +bt +ag +bJ +av +am +ag +ca +aa +"} +(18,1,1) = {" +aa +aa +ag +as +az +aJ +ag +ba +bi +bu +ag +ak +bR +bZ +ca +ab +aa +"} +(19,1,1) = {" +aa +aa +ag +ag +ak +aK +ag +bb +ab +ab +ag +bK +am +ca +ca +ab +aa +"} +(20,1,1) = {" +aa +aa +aa +ag +af +aL +ag +ab +ab +aa +ag +bL +bS +ca +ab +ab +aa +"} +(21,1,1) = {" +aa +ab +aa +aa +ab +ab +ab +aa +aa +aa +aa +ab +ab +aa +aa +aa +aa +"} +(22,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa "} diff --git a/maps/submaps/surface_submaps/mountains/Mineshaft1.dmm b/maps/submaps/surface_submaps/mountains/Mineshaft1.dmm index be87066448f..242e631979a 100644 --- a/maps/submaps/surface_submaps/mountains/Mineshaft1.dmm +++ b/maps/submaps/surface_submaps/mountains/Mineshaft1.dmm @@ -6,20 +6,20 @@ "f" = (/turf/simulated/wall,/area/submap/cave/AMine1) "g" = (/obj/machinery/space_heater,/turf/simulated/floor/tiled,/area/submap/cave/AMine1) "h" = (/turf/simulated/floor/tiled,/area/submap/cave/AMine1) -"i" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/tiled,/area/submap/cave/AMine1) +"i" = (/obj/structure/bed,/obj/item/bedsheet,/turf/simulated/floor/tiled,/area/submap/cave/AMine1) "j" = (/obj/structure/table/standard,/turf/simulated/floor/tiled,/area/submap/cave/AMine1) -"k" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/machinery/light{ icon_state = "tube1"; dir = 1},/turf/simulated/floor/tiled,/area/submap/cave/AMine1) +"k" = (/obj/structure/bed,/obj/item/bedsheet,/obj/machinery/light{ icon_state = "tube1"; dir = 1},/turf/simulated/floor/tiled,/area/submap/cave/AMine1) "l" = (/obj/structure/table/standard,/obj/structure/bedsheetbin,/turf/simulated/floor/tiled,/area/submap/cave/AMine1) "m" = (/obj/machinery/door/airlock,/turf/simulated/floor/tiled,/area/submap/cave/AMine1) -"n" = (/obj/item/weapon/ore/gold,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/AMine1) -"o" = (/obj/item/weapon/ore/gold,/obj/item/weapon/ore/gold,/obj/item/weapon/ore/gold,/obj/item/weapon/ore/gold,/obj/item/weapon/ore/gold,/obj/item/weapon/ore/gold,/obj/item/weapon/ore/gold,/obj/item/weapon/ore/gold,/obj/item/weapon/ore/gold,/obj/item/weapon/ore/gold,/obj/item/weapon/ore/gold,/obj/item/weapon/ore/gold,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/AMine1) -"p" = (/obj/item/weapon/ore/gold,/obj/item/weapon/ore/gold,/obj/item/weapon/ore/gold,/obj/item/weapon/ore/gold,/obj/item/weapon/ore/gold,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/AMine1) -"q" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp,/turf/simulated/floor/tiled,/area/submap/cave/AMine1) -"r" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/machinery/light,/turf/simulated/floor/tiled,/area/submap/cave/AMine1) +"n" = (/obj/item/ore/gold,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/AMine1) +"o" = (/obj/item/ore/gold,/obj/item/ore/gold,/obj/item/ore/gold,/obj/item/ore/gold,/obj/item/ore/gold,/obj/item/ore/gold,/obj/item/ore/gold,/obj/item/ore/gold,/obj/item/ore/gold,/obj/item/ore/gold,/obj/item/ore/gold,/obj/item/ore/gold,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/AMine1) +"p" = (/obj/item/ore/gold,/obj/item/ore/gold,/obj/item/ore/gold,/obj/item/ore/gold,/obj/item/ore/gold,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/AMine1) +"q" = (/obj/structure/table/standard,/obj/item/flashlight/lamp,/turf/simulated/floor/tiled,/area/submap/cave/AMine1) +"r" = (/obj/structure/bed,/obj/item/bedsheet,/obj/machinery/light,/turf/simulated/floor/tiled,/area/submap/cave/AMine1) "s" = (/obj/structure/window/reinforced/full,/turf/simulated/wall,/area/submap/cave/AMine1) "t" = (/obj/machinery/light{ icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/submap/cave/AMine1) "u" = (/obj/structure/table/standard,/obj/machinery/cell_charger,/turf/simulated/floor,/area/submap/cave/AMine1) -"v" = (/obj/structure/table/standard,/obj/item/weapon/cell/high,/obj/item/weapon/cell/high,/turf/simulated/floor,/area/submap/cave/AMine1) +"v" = (/obj/structure/table/standard,/obj/item/cell/high,/obj/item/cell/high,/turf/simulated/floor,/area/submap/cave/AMine1) "w" = (/obj/structure/loot_pile/maint/trash,/turf/simulated/floor,/area/submap/cave/AMine1) "x" = (/turf/simulated/floor,/area/submap/cave/AMine1) "y" = (/obj/machinery/power/apc{operating = 0; pixel_x = 31},/turf/simulated/floor,/area/submap/cave/AMine1) @@ -30,13 +30,13 @@ "D" = (/obj/machinery/light,/obj/machinery/space_heater,/turf/simulated/floor,/area/submap/cave/AMine1) "E" = (/obj/machinery/space_heater,/turf/simulated/floor,/area/submap/cave/AMine1) "F" = (/obj/structure/closet/secure_closet/engineering_welding,/turf/simulated/floor,/area/submap/cave/AMine1) -"G" = (/obj/structure/table/rack,/obj/item/weapon/pickaxe/drill,/turf/simulated/floor/tiled,/area/submap/cave/AMine1) +"G" = (/obj/structure/table/rack,/obj/item/pickaxe/drill,/turf/simulated/floor/tiled,/area/submap/cave/AMine1) "H" = (/obj/machinery/vending/cola,/turf/simulated/floor/tiled,/area/submap/cave/AMine1) "I" = (/obj/machinery/vending/snack,/turf/simulated/floor/tiled,/area/submap/cave/AMine1) "J" = (/obj/machinery/washing_machine,/turf/simulated/floor/tiled,/area/submap/cave/AMine1) "K" = (/obj/structure/ore_box,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/cave/AMine1) "L" = (/obj/machinery/light{ icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled,/area/submap/cave/AMine1) -"M" = (/obj/item/weapon/stool,/turf/simulated/floor/tiled,/area/submap/cave/AMine1) +"M" = (/obj/item/stool,/turf/simulated/floor/tiled,/area/submap/cave/AMine1) "N" = (/obj/machinery/light/small{brightness_color = "#DA0205"; brightness_power = 1; brightness_range = 5; dir = 8},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/AMine1) "O" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/asteroid_steel,/area/submap/cave/AMine1) "P" = (/obj/structure/table/standard,/obj/item/pizzabox,/turf/simulated/floor/tiled,/area/submap/cave/AMine1) diff --git a/maps/submaps/surface_submaps/mountains/Rockb1.dmm b/maps/submaps/surface_submaps/mountains/Rockb1.dmm index 0aca284a139..6401236c092 100644 --- a/maps/submaps/surface_submaps/mountains/Rockb1.dmm +++ b/maps/submaps/surface_submaps/mountains/Rockb1.dmm @@ -16,12 +16,12 @@ /area/submap/Rockb1) "f" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/lino, /area/submap/Rockb1) "g" = ( /obj/structure/closet/cabinet, -/obj/item/weapon/gun/projectile/pistol, +/obj/item/gun/projectile/pistol, /obj/item/ammo_magazine/m9mm/compact, /turf/simulated/floor/lino, /area/submap/Rockb1) @@ -51,7 +51,7 @@ /area/submap/Rockb1) "n" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/plating, /area/submap/Rockb1) "o" = ( @@ -80,7 +80,7 @@ /area/submap/Rockb1) "u" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /turf/simulated/floor/tiled, @@ -195,7 +195,7 @@ /area/submap/Rockb1) "K" = ( /obj/structure/table/standard, -/obj/item/weapon/pickaxe/drill, +/obj/item/pickaxe/drill, /turf/simulated/floor/tiled, /area/submap/Rockb1) "L" = ( @@ -206,12 +206,12 @@ /area/submap/Rockb1) "M" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical, /turf/simulated/floor/tiled, /area/submap/Rockb1) "N" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/floor/tiled, /area/submap/Rockb1) "O" = ( diff --git a/maps/submaps/surface_submaps/mountains/Scave1.dmm b/maps/submaps/surface_submaps/mountains/Scave1.dmm index e4c7de5fd08..d486fb3e5eb 100644 --- a/maps/submaps/surface_submaps/mountains/Scave1.dmm +++ b/maps/submaps/surface_submaps/mountains/Scave1.dmm @@ -3,15 +3,15 @@ "c" = (/obj/effect/spider/stickyweb,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) "d" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) "e" = (/obj/effect/spider/spiderling/frost,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) -"f" = (/obj/item/weapon/spacecash/c100,/obj/item/weapon/spacecash/c100,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) +"f" = (/obj/item/spacecash/c100,/obj/item/spacecash/c100,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) "g" = (/obj/random/mob/spider/mutant,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) -"h" = (/obj/item/weapon/spacecash/c100,/obj/item/weapon/spacecash/c100,/obj/item/weapon/spacecash/c100,/obj/effect/decal/remains,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) +"h" = (/obj/item/spacecash/c100,/obj/item/spacecash/c100,/obj/item/spacecash/c100,/obj/effect/decal/remains,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) "i" = (/obj/random/mob/spider,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) -"j" = (/obj/item/weapon/grenade/spawnergrenade/spider,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) +"j" = (/obj/item/grenade/spawnergrenade/spider,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) "k" = (/obj/random/toolbox,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) "l" = (/obj/effect/decal/mecha_wreckage/ripley,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) "m" = (/obj/item/mecha_parts/mecha_equipment/tool/drill/diamonddrill,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) -"n" = (/obj/item/device/flashlight,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) +"n" = (/obj/item/flashlight,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) "o" = (/mob/living/simple_mob/animal/giant_spider/frost,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) "p" = (/obj/effect/spider/stickyweb,/obj/effect/spider/stickyweb,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) "q" = (/obj/effect/decal/remains,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) diff --git a/maps/submaps/surface_submaps/mountains/SupplyDrop1.dmm b/maps/submaps/surface_submaps/mountains/SupplyDrop1.dmm index 7d2dac4f133..f741fe7abe8 100644 --- a/maps/submaps/surface_submaps/mountains/SupplyDrop1.dmm +++ b/maps/submaps/surface_submaps/mountains/SupplyDrop1.dmm @@ -5,7 +5,7 @@ "e" = (/obj/structure/droppod_door{dir = 1},/turf/simulated/wall/titanium,/area/submap/cave/SupplyDrop1) "f" = (/turf/simulated/floor/reinforced,/area/submap/cave/SupplyDrop1) "g" = (/obj/structure/droppod_door{dir = 8},/turf/simulated/wall/titanium,/area/submap/cave/SupplyDrop1) -"h" = (/obj/structure/closet/crate,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/storage/box/flare,/obj/item/stack/marker_beacon/ten,/obj/item/weapon/cell/device/weapon,/obj/item/weapon/cell/device/weapon,/obj/item/trash/tastybread,/obj/item/trash/tastybread,/obj/item/trash/sosjerky,/obj/item/trash/sosjerky,/obj/item/trash/liquidfood,/obj/item/trash/liquidfood,/obj/item/weapon/flame/lighter/random,/obj/item/device/gps,/turf/simulated/floor/reinforced,/area/submap/cave/SupplyDrop1) +"h" = (/obj/structure/closet/crate,/obj/item/gun/energy/stunrevolver,/obj/item/gun/energy/stunrevolver,/obj/item/storage/box/flare,/obj/item/stack/marker_beacon/ten,/obj/item/cell/device/weapon,/obj/item/cell/device/weapon,/obj/item/trash/tastybread,/obj/item/trash/tastybread,/obj/item/trash/sosjerky,/obj/item/trash/sosjerky,/obj/item/trash/liquidfood,/obj/item/trash/liquidfood,/obj/item/flame/lighter/random,/obj/item/gps,/turf/simulated/floor/reinforced,/area/submap/cave/SupplyDrop1) "i" = (/obj/structure/droppod_door{dir = 4},/turf/simulated/wall/titanium,/area/submap/cave/SupplyDrop1) "j" = (/obj/structure/droppod_door,/turf/simulated/wall/titanium,/area/submap/cave/SupplyDrop1) diff --git a/maps/submaps/surface_submaps/mountains/SwordCave.dmm b/maps/submaps/surface_submaps/mountains/SwordCave.dmm index 142c35a3afc..70c36f82ce1 100644 --- a/maps/submaps/surface_submaps/mountains/SwordCave.dmm +++ b/maps/submaps/surface_submaps/mountains/SwordCave.dmm @@ -27,7 +27,7 @@ /turf/simulated/mineral/floor/ignore_mapgen, /area/submap/cave/swordcave) "i" = ( -/obj/item/device/gps/explorer/on, +/obj/item/gps/explorer/on, /turf/simulated/mineral/floor/ignore_mapgen, /area/submap/cave/swordcave) "j" = ( diff --git a/maps/submaps/surface_submaps/mountains/crashed_ufo.dmm b/maps/submaps/surface_submaps/mountains/crashed_ufo.dmm index d9013d201b2..902851e9bb1 100644 --- a/maps/submaps/surface_submaps/mountains/crashed_ufo.dmm +++ b/maps/submaps/surface_submaps/mountains/crashed_ufo.dmm @@ -9,66 +9,66 @@ "ai" = (/obj/machinery/porta_turret/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) "aj" = (/obj/structure/loot_pile/surface/alien/engineering,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) "ak" = (/obj/structure/prop/alien/computer,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"al" = (/obj/item/weapon/tool/wrench/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"al" = (/obj/item/tool/wrench/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) "am" = (/obj/structure/bed/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) "an" = (/obj/structure/table/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) "ao" = (/obj/structure/table/alien,/obj/item/clothing/head/helmet/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) "ap" = (/obj/structure/prop/alien/power,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) "aq" = (/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) -"ar" = (/obj/structure/table/alien,/obj/item/weapon/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"ar" = (/obj/structure/table/alien,/obj/item/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) "as" = (/turf/simulated/shuttle/wall/alien/hard_corner,/area/submap/cave/crashed_ufo) "at" = (/obj/structure/prop/alien/computer,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) "au" = (/obj/structure/table/alien,/obj/item/prop/alien/junk,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) -"av" = (/obj/structure/table/alien,/obj/item/weapon/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) +"av" = (/obj/structure/table/alien,/obj/item/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) "aw" = (/obj/structure/loot_pile/surface/alien/security,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) "ax" = (/obj/structure/prop/alien/computer{dir = 8},/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) "ay" = (/obj/structure/prop/alien/computer{ icon_state = "console-c"; dir = 4},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) "az" = (/obj/machinery/door/airlock/alien/locked{welded = 1},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) "aA" = (/obj/structure/bed/alien,/obj/effect/decal/remains/xeno,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"aB" = (/obj/item/weapon/tool/screwdriver/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"aC" = (/obj/item/weapon/tool/wirecutters/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"aB" = (/obj/item/tool/screwdriver/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"aC" = (/obj/item/tool/wirecutters/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) "aD" = (/obj/structure/table/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"aE" = (/obj/item/device/multitool/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"aE" = (/obj/item/multitool/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) "aF" = (/obj/structure/prop/alien/computer/camera/flipped{ icon_state = "camera_flipped"; dir = 4},/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) "aG" = (/obj/structure/prop/alien/computer/camera{ icon_state = "camera"; dir = 8},/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) "aH" = (/obj/machinery/porta_turret/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) "aI" = (/obj/machinery/door/airlock/alien/locked{p_open = 1},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) "aJ" = (/obj/effect/decal/remains/robot,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"aK" = (/obj/item/weapon/tool/crowbar/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"aK" = (/obj/item/tool/crowbar/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) "aL" = (/obj/item/stack/cable_coil/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) "aM" = (/obj/structure/table/alien,/obj/item/prop/alien/junk,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"aN" = (/obj/structure/table/alien,/obj/item/weapon/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/obj/item/device/gps/internal/poi,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"aN" = (/obj/structure/table/alien,/obj/item/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/obj/item/gps/internal/poi,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) "aO" = (/obj/structure/prop/alien/computer{ icon_state = "console-c"; dir = 4},/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) "aP" = (/obj/structure/table/alien,/obj/item/clothing/accessory/medal/dungeon/alien_ufo,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"aQ" = (/obj/structure/table/alien,/obj/item/weapon/weldingtool/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"aQ" = (/obj/structure/table/alien,/obj/item/weldingtool/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) "aR" = (/obj/structure/bed/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) "aS" = (/obj/structure/prop/alien/computer/camera,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) -"aT" = (/obj/structure/closet/alien,/obj/item/weapon/paper/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) +"aT" = (/obj/structure/closet/alien,/obj/item/paper/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) "aU" = (/obj/structure/bed/alien,/obj/effect/decal/remains/xeno,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) "aV" = (/obj/structure/loot_pile/surface/alien/end,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"aW" = (/obj/structure/table/alien,/obj/item/weapon/surgical/circular_saw/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) -"aX" = (/obj/structure/table/alien,/obj/item/weapon/surgical/FixOVein/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) -"aY" = (/obj/structure/table/alien,/obj/item/weapon/surgical/scalpel/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) -"aZ" = (/obj/item/weapon/surgical/hemostat/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) +"aW" = (/obj/structure/table/alien,/obj/item/surgical/circular_saw/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) +"aX" = (/obj/structure/table/alien,/obj/item/surgical/FixOVein/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) +"aY" = (/obj/structure/table/alien,/obj/item/surgical/scalpel/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) +"aZ" = (/obj/item/surgical/hemostat/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) "ba" = (/obj/machinery/door/airlock/alien/locked,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) "bb" = (/obj/effect/decal/remains/lizard,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) "bc" = (/obj/structure/prop/alien/dispenser,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) -"bd" = (/obj/structure/table/alien,/obj/item/weapon/surgical/bone_clamp/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) +"bd" = (/obj/structure/table/alien,/obj/item/surgical/bone_clamp/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) "be" = (/obj/structure/loot_pile/surface/alien/medical,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) "bf" = (/obj/structure/closet/alien,/obj/item/prop/alien/junk,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) "bg" = (/obj/structure/prop/alien/dispenser,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) "bh" = (/obj/effect/decal/remains/mouse,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) "bi" = (/obj/structure/closet/alien,/obj/item/prop/alien/junk,/obj/item/prop/alien/junk,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) "bj" = (/obj/machinery/porta_turret/alien/destroyed{ icon_state = "destroyed_target_prism"; dir = 6},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"bk" = (/obj/item/weapon/cell/device/weapon/empty,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"bk" = (/obj/item/cell/device/weapon/empty,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) "bl" = (/obj/machinery/porta_turret/alien/destroyed{ icon_state = "destroyed_target_prism"; dir = 10},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"bm" = (/obj/item/weapon/gun/energy/retro/empty,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"bn" = (/obj/item/device/gps{gps_tag = "COMDOM1"},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"bo" = (/obj/item/weapon/reagent_containers/hypospray/autoinjector/used,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"bp" = (/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/burn,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"bm" = (/obj/item/gun/energy/retro/empty,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"bn" = (/obj/item/gps{gps_tag = "COMDOM1"},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"bo" = (/obj/item/reagent_containers/hypospray/autoinjector/used,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"bp" = (/obj/item/reagent_containers/hypospray/autoinjector/biginjector/burn,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) "bq" = (/obj/effect/decal/remains/human{desc = "They look like human remains. Based on the equipment you saw nearby when you walked in, they were some kind of command person, and a poor one at that."},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) "br" = (/obj/item/clothing/gloves/yellow,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"bs" = (/obj/item/weapon/storage/belt/utility/full,/obj/item/device/multitool,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"bs" = (/obj/item/storage/belt/utility/full,/obj/item/multitool,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) "bt" = (/obj/machinery/door/airlock/alien/public,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) "bu" = (/obj/item/clothing/suit/storage/hooded/wintercoat/captain,/obj/item/clothing/shoes/boots/winter/command,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) "bv" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop) diff --git a/maps/submaps/surface_submaps/mountains/crashed_ufo_frigate.dmm b/maps/submaps/surface_submaps/mountains/crashed_ufo_frigate.dmm index ea129ae20d9..9d982b0792f 100644 --- a/maps/submaps/surface_submaps/mountains/crashed_ufo_frigate.dmm +++ b/maps/submaps/surface_submaps/mountains/crashed_ufo_frigate.dmm @@ -55,14 +55,14 @@ "bc" = (/obj/structure/closet/alien,/obj/random/unidentified_medicine/fresh_medicine,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) "bd" = (/obj/structure/closet/alien,/obj/random/unidentified_medicine/viral,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) "be" = (/obj/machinery/door/blast/puzzle,/obj/machinery/door/airlock/alien/locked,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) -"bf" = (/obj/structure/table/alien,/obj/item/weapon/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bf" = (/obj/structure/table/alien,/obj/item/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) "bg" = (/obj/structure/prop/lock/projectile,/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) "bh" = (/obj/structure/closet/alien,/obj/random/unidentified_medicine/old_medicine,/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) "bi" = (/obj/structure/prop/alien/dispenser,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) "bj" = (/obj/effect/decal/remains/xeno,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) "bk" = (/mob/living/simple_mob/animal/space/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) "bl" = (/obj/effect/decal/remains/xeno,/obj/item/clothing/under/psysuit,/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) -"bm" = (/obj/structure/table/alien,/obj/item/weapon/paper/alien,/obj/item/weapon/paper/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bm" = (/obj/structure/table/alien,/obj/item/paper/alien,/obj/item/paper/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) "bn" = (/obj/structure/foamedmetal,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) "bo" = (/obj/machinery/porta_turret/alien{faction = "xeno"},/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) "bp" = (/obj/structure/foamedmetal,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) @@ -71,9 +71,9 @@ "bs" = (/obj/effect/alien/weeds/node,/mob/living/simple_mob/animal/space/alien/sentinel/praetorian,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) "bt" = (/obj/structure/loot_pile/maint/technical,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) "bu" = (/obj/structure/loot_pile/surface/drone,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) -"bv" = (/obj/item/weapon/surgical/bone_clamp/alien,/obj/structure/closet/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bv" = (/obj/item/surgical/bone_clamp/alien,/obj/structure/closet/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) "bw" = (/obj/structure/prop/alien/computer,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) -"bx" = (/obj/effect/decal/remains/xeno,/obj/item/clothing/accessory/medal/dungeon/alien_ufo{desc = "It vaguely like a star. It looks like something an alien admiral might've worn. Probably."; name = "alien admiral's medal"},/obj/item/weapon/telecube/precursor/mated/zone,/obj/item/clothing/head/helmet/alien/tank,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"bx" = (/obj/effect/decal/remains/xeno,/obj/item/clothing/accessory/medal/dungeon/alien_ufo{desc = "It vaguely like a star. It looks like something an alien admiral might've worn. Probably."; name = "alien admiral's medal"},/obj/item/telecube/precursor/mated/zone,/obj/item/clothing/head/helmet/alien/tank,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) "by" = (/obj/structure/loot_pile/mecha/gygax/dark,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) "bz" = (/obj/structure/mopbucket,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) "bA" = (/obj/item/brokenbug,/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop) @@ -87,22 +87,22 @@ "bI" = (/obj/structure/table/alien,/obj/structure/loot_pile/surface/alien/medical,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) "bJ" = (/obj/structure/window/phoronreinforced{icon_state = "phoronrwindow"; dir = 8},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) "bK" = (/obj/structure/table/alien,/obj/item/prop/alien/junk,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) -"bL" = (/obj/structure/table/alien,/obj/item/weapon/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/obj/item/device/gps/internal/poi,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bL" = (/obj/structure/table/alien,/obj/item/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/obj/item/gps/internal/poi,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) "bM" = (/obj/structure/window/phoronreinforced{dir = 4},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) -"bN" = (/obj/structure/table/alien,/obj/structure/window/phoronreinforced{dir = 4},/obj/item/weapon/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bN" = (/obj/structure/table/alien,/obj/structure/window/phoronreinforced{dir = 4},/obj/item/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) "bO" = (/obj/structure/table/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) -"bP" = (/obj/structure/table/alien,/obj/item/weapon/weldingtool/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) -"bQ" = (/obj/structure/table/alien,/obj/structure/window/phoronreinforced{dir = 4},/obj/item/weapon/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"bP" = (/obj/structure/table/alien,/obj/item/weldingtool/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) +"bQ" = (/obj/structure/table/alien,/obj/structure/window/phoronreinforced{dir = 4},/obj/item/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) "bR" = (/obj/structure/table/alien,/obj/structure/foamedmetal,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) "bS" = (/obj/structure/closet/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) "bT" = (/obj/structure/window/phoronreinforced{icon_state = "phoronrwindow"; dir = 8},/obj/structure/window/phoronreinforced,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo_frigate) "bU" = (/obj/structure/window/phoronreinforced,/obj/structure/window/phoronreinforced{dir = 4},/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) -"bV" = (/obj/structure/table/alien,/obj/structure/window/phoronreinforced,/obj/item/weapon/paper/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) +"bV" = (/obj/structure/table/alien,/obj/structure/window/phoronreinforced,/obj/item/paper/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) "bW" = (/obj/structure/table/alien,/obj/structure/window/phoronreinforced{dir = 4},/obj/structure/window/phoronreinforced,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) "bX" = (/mob/living/simple_mob/animal/space/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo_frigate) "bY" = (/obj/structure/foamedmetal,/obj/machinery/door/airlock/alien/locked,/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) "bZ" = (/obj/structure/foamedmetal,/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) -"ca" = (/obj/structure/table/alien,/obj/item/weapon/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) +"ca" = (/obj/structure/table/alien,/obj/item/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) "cb" = (/obj/structure/prop/alien/power,/obj/structure/foamedmetal,/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) "cc" = (/obj/structure/loot_pile/surface/alien/end,/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) "cd" = (/obj/item/prop/alien/junk,/turf/simulated/floor/outdoors/ice,/area/submap/cave/crashed_ufo_frigate) diff --git a/maps/submaps/surface_submaps/mountains/crashedcontainmentshuttle.dmm b/maps/submaps/surface_submaps/mountains/crashedcontainmentshuttle.dmm index 32563c6eac3..810ecdc2690 100644 --- a/maps/submaps/surface_submaps/mountains/crashedcontainmentshuttle.dmm +++ b/maps/submaps/surface_submaps/mountains/crashedcontainmentshuttle.dmm @@ -5,23 +5,23 @@ "ae" = (/turf/simulated/shuttle/floor/yellow,/area/submap/crashedcontainmentshuttle) "af" = (/turf/simulated/shuttle/floor/red,/area/submap/crashedcontainmentshuttle) "ag" = (/turf/simulated/shuttle/floor/white,/area/submap/crashedcontainmentshuttle) -"ah" = (/obj/structure/grille,/obj/item/weapon/material/shard{icon_state = "medium"},/turf/simulated/floor/plating,/area/submap/crashedcontainmentshuttle) -"ai" = (/obj/structure/grille,/obj/item/weapon/material/shard{icon_state = "medium"},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/crashedcontainmentshuttle) +"ah" = (/obj/structure/grille,/obj/item/material/shard{icon_state = "medium"},/turf/simulated/floor/plating,/area/submap/crashedcontainmentshuttle) +"ai" = (/obj/structure/grille,/obj/item/material/shard{icon_state = "medium"},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/crashedcontainmentshuttle) "aj" = (/obj/random/landmine,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/crashedcontainmentshuttle) "ak" = (/obj/structure/door_assembly/door_assembly_ext{anchored = 1},/turf/simulated/floor/plating,/area/submap/crashedcontainmentshuttle) -"al" = (/obj/item/weapon/material/shard{icon_state = "medium"},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/crashedcontainmentshuttle) -"am" = (/obj/item/weapon/material/shard,/turf/template_noop,/area/submap/crashedcontainmentshuttle) +"al" = (/obj/item/material/shard{icon_state = "medium"},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/crashedcontainmentshuttle) +"am" = (/obj/item/material/shard,/turf/template_noop,/area/submap/crashedcontainmentshuttle) "an" = (/obj/structure/girder,/turf/simulated/floor/plating,/area/submap/crashedcontainmentshuttle) "ao" = (/turf/simulated/floor/plating,/area/submap/crashedcontainmentshuttle) "ap" = (/obj/structure/lattice,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/crashedcontainmentshuttle) -"aq" = (/obj/item/weapon/material/shard,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/crashedcontainmentshuttle) -"ar" = (/obj/structure/grille,/obj/item/weapon/material/shard,/turf/simulated/floor/plating,/area/submap/crashedcontainmentshuttle) -"as" = (/obj/item/weapon/material/shard,/turf/simulated/floor/plating,/area/submap/crashedcontainmentshuttle) +"aq" = (/obj/item/material/shard,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/crashedcontainmentshuttle) +"ar" = (/obj/structure/grille,/obj/item/material/shard,/turf/simulated/floor/plating,/area/submap/crashedcontainmentshuttle) +"as" = (/obj/item/material/shard,/turf/simulated/floor/plating,/area/submap/crashedcontainmentshuttle) "at" = (/obj/item/stack/rods,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/crashedcontainmentshuttle) "au" = (/obj/item/stack/rods,/turf/simulated/shuttle/floor/black,/area/submap/crashedcontainmentshuttle) "av" = (/obj/structure/closet/walllocker/emerglocker/east,/turf/simulated/shuttle/floor/black,/area/submap/crashedcontainmentshuttle) "aw" = (/obj/structure/frame,/turf/simulated/shuttle/floor/black,/area/submap/crashedcontainmentshuttle) -"ax" = (/obj/item/frame/mirror,/obj/item/weapon/material/shard{icon_state = "medium"},/turf/simulated/shuttle/wall/dark,/area/submap/crashedcontainmentshuttle) +"ax" = (/obj/item/frame/mirror,/obj/item/material/shard{icon_state = "medium"},/turf/simulated/shuttle/wall/dark,/area/submap/crashedcontainmentshuttle) "ay" = (/obj/effect/decal/mecha_wreckage/gygax{anchored = 1},/turf/simulated/shuttle/floor/black,/area/submap/crashedcontainmentshuttle) "az" = (/obj/effect/gibspawner/generic,/turf/simulated/shuttle/floor/black,/area/submap/crashedcontainmentshuttle) "aA" = (/obj/structure/closet/medical_wall,/turf/simulated/shuttle/wall/dark,/area/submap/crashedcontainmentshuttle) @@ -34,11 +34,11 @@ "aH" = (/obj/structure/frame/computer,/turf/simulated/shuttle/floor/yellow,/area/submap/crashedcontainmentshuttle) "aI" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/item/stack/rods,/turf/simulated/floor/plating,/area/submap/crashedcontainmentshuttle) "aJ" = (/obj/item/stack/rods,/turf/simulated/floor/plating,/area/submap/crashedcontainmentshuttle) -"aK" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/item/weapon/material/shard{icon_state = "medium"},/obj/item/stack/rods,/turf/simulated/floor/plating,/area/submap/crashedcontainmentshuttle) -"aL" = (/obj/item/weapon/circuitboard/broken,/turf/simulated/shuttle/floor/black,/area/submap/crashedcontainmentshuttle) -"aM" = (/obj/structure/frame,/obj/item/weapon/circuitboard/broken,/turf/simulated/shuttle/floor/black,/area/submap/crashedcontainmentshuttle) +"aK" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/item/material/shard{icon_state = "medium"},/obj/item/stack/rods,/turf/simulated/floor/plating,/area/submap/crashedcontainmentshuttle) +"aL" = (/obj/item/circuitboard/broken,/turf/simulated/shuttle/floor/black,/area/submap/crashedcontainmentshuttle) +"aM" = (/obj/structure/frame,/obj/item/circuitboard/broken,/turf/simulated/shuttle/floor/black,/area/submap/crashedcontainmentshuttle) "aN" = (/obj/structure/table/steel_reinforced,/turf/simulated/shuttle/floor/black,/area/submap/crashedcontainmentshuttle) -"aO" = (/obj/structure/closet/walllocker/emerglocker/north,/obj/structure/frame,/obj/item/weapon/circuitboard/broken,/turf/simulated/shuttle/floor/white,/area/submap/crashedcontainmentshuttle) +"aO" = (/obj/structure/closet/walllocker/emerglocker/north,/obj/structure/frame,/obj/item/circuitboard/broken,/turf/simulated/shuttle/floor/white,/area/submap/crashedcontainmentshuttle) "aP" = (/turf/simulated/floor/outdoors/rocks,/area/submap/crashedcontainmentshuttle) "aQ" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/structure/lattice,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/crashedcontainmentshuttle) "aR" = (/obj/structure/shuttle/engine/heater{dir = 8},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/template_noop,/area/submap/crashedcontainmentshuttle) @@ -47,32 +47,32 @@ "aU" = (/obj/structure/loot_pile/maint/technical,/turf/simulated/shuttle/floor/white,/area/submap/crashedcontainmentshuttle) "aV" = (/obj/structure/shuttle/engine/propulsion{dir = 8},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/crashedcontainmentshuttle) "aW" = (/obj/structure/loot_pile/maint/technical,/turf/simulated/shuttle/floor/black,/area/submap/crashedcontainmentshuttle) -"aX" = (/obj/item/weapon/circuitboard/broken,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/crashedcontainmentshuttle) +"aX" = (/obj/item/circuitboard/broken,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/crashedcontainmentshuttle) "aY" = (/obj/item/clothing/suit/space/cult,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/crashedcontainmentshuttle) "aZ" = (/obj/effect/decal/remains/robot,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/crashedcontainmentshuttle) "ba" = (/obj/effect/decal/remains/human,/obj/effect/gibspawner/human,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/crashedcontainmentshuttle) "bb" = (/obj/effect/decal/cleanable/blood/drip,/turf/simulated/shuttle/floor/black,/area/submap/crashedcontainmentshuttle) "bc" = (/obj/structure/door_assembly,/turf/simulated/shuttle/floor/white,/area/submap/crashedcontainmentshuttle) "bd" = (/obj/item/clothing/head/helmet/space/cult,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/crashedcontainmentshuttle) -"be" = (/obj/item/weapon/material/knife/ritual,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/crashedcontainmentshuttle) +"be" = (/obj/item/material/knife/ritual,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/crashedcontainmentshuttle) "bf" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/effect/decal/remains/human,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/crashedcontainmentshuttle) "bg" = (/obj/effect/gibspawner/generic,/turf/template_noop,/area/submap/crashedcontainmentshuttle) "bh" = (/obj/effect/decal/remains/human,/turf/simulated/shuttle/floor/yellow,/area/submap/crashedcontainmentshuttle) -"bi" = (/obj/item/weapon/circuitboard/broken,/obj/effect/decal/remains/human,/obj/item/weapon/gun/energy/laser,/turf/simulated/shuttle/floor/black,/area/submap/crashedcontainmentshuttle) -"bj" = (/obj/item/device/gps/internal/poi,/turf/simulated/shuttle/floor/red,/area/submap/crashedcontainmentshuttle) +"bi" = (/obj/item/circuitboard/broken,/obj/effect/decal/remains/human,/obj/item/gun/energy/laser,/turf/simulated/shuttle/floor/black,/area/submap/crashedcontainmentshuttle) +"bj" = (/obj/item/gps/internal/poi,/turf/simulated/shuttle/floor/red,/area/submap/crashedcontainmentshuttle) "bk" = (/obj/effect/decal/cleanable/vomit,/turf/simulated/shuttle/floor/black,/area/submap/crashedcontainmentshuttle) "bl" = (/obj/effect/decal/remains/robot,/turf/simulated/shuttle/floor/red,/area/submap/crashedcontainmentshuttle) "bm" = (/obj/effect/decal/cleanable/liquid_fuel,/turf/template_noop,/area/submap/crashedcontainmentshuttle) "bn" = (/obj/effect/decal/cleanable/vomit,/turf/simulated/shuttle/floor/white,/area/submap/crashedcontainmentshuttle) "bo" = (/obj/effect/decal/cleanable/blood/drip,/turf/template_noop,/area/submap/crashedcontainmentshuttle) "bp" = (/obj/structure/bed/chair/office/dark{dir = 4},/turf/simulated/shuttle/floor/yellow,/area/submap/crashedcontainmentshuttle) -"bq" = (/obj/item/weapon/circuitboard/broken,/obj/structure/bed/chair/office/dark{dir = 4},/turf/simulated/shuttle/floor/yellow,/area/submap/crashedcontainmentshuttle) +"bq" = (/obj/item/circuitboard/broken,/obj/structure/bed/chair/office/dark{dir = 4},/turf/simulated/shuttle/floor/yellow,/area/submap/crashedcontainmentshuttle) "br" = (/obj/effect/decal/cleanable/blood/drip,/obj/effect/decal/cleanable/blood/drip,/obj/effect/decal/cleanable/blood/drip,/turf/simulated/shuttle/floor/yellow,/area/submap/crashedcontainmentshuttle) "bs" = (/obj/structure/table/steel_reinforced,/turf/simulated/shuttle/floor/yellow,/area/submap/crashedcontainmentshuttle) "bt" = (/obj/structure/shuttle/engine/heater{dir = 8},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/crashedcontainmentshuttle) "bu" = (/obj/structure/door_assembly/door_assembly_ext{anchored = 1},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/crashedcontainmentshuttle) "bv" = (/obj/effect/decal/cleanable/blood/oil,/turf/simulated/shuttle/floor/red,/area/submap/crashedcontainmentshuttle) -"bw" = (/obj/item/weapon/material/knife/ritual,/obj/effect/decal/cleanable/blood,/turf/simulated/shuttle/floor/red,/area/submap/crashedcontainmentshuttle) +"bw" = (/obj/item/material/knife/ritual,/obj/effect/decal/cleanable/blood,/turf/simulated/shuttle/floor/red,/area/submap/crashedcontainmentshuttle) "bx" = (/turf/simulated/shuttle/wall/dark/no_join,/area/submap/crashedcontainmentshuttle) "by" = (/obj/random/landmine,/obj/random/landmine,/turf/simulated/shuttle/floor/black,/area/submap/crashedcontainmentshuttle) "bz" = (/obj/effect/decal/remains/human,/obj/item/clothing/head/helmet/space/cult,/obj/effect/decal/cleanable/blood,/turf/simulated/shuttle/floor/red,/area/submap/crashedcontainmentshuttle) @@ -89,8 +89,8 @@ "bK" = (/obj/random/landmine,/turf/simulated/shuttle/floor/yellow,/area/submap/crashedcontainmentshuttle) "bL" = (/obj/effect/decal/cleanable/blood,/obj/random/landmine,/turf/simulated/shuttle/floor/red,/area/submap/crashedcontainmentshuttle) "bM" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/crashedcontainmentshuttle) -"bN" = (/obj/structure/toilet{dir = 8},/obj/effect/gibspawner/generic,/obj/effect/decal/remains/human,/obj/item/weapon/card/id/syndicate{age = "\\42"; blood_type = "\\O+"; desc = "A strange ID card."; dna_hash = "\[REDACTED]"; fingerprint_hash = "\\------"; name = "Aaron Presley's ID Card(Delivery Service) "; registered_name = "Aaron Presley"; sex = "\\Male"},/turf/simulated/shuttle/floor/white,/area/submap/crashedcontainmentshuttle) -"bO" = (/obj/effect/decal/cleanable/liquid_fuel,/obj/effect/decal/remains/human,/obj/item/weapon/flame/lighter/random,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/crashedcontainmentshuttle) +"bN" = (/obj/structure/toilet{dir = 8},/obj/effect/gibspawner/generic,/obj/effect/decal/remains/human,/obj/item/card/id/syndicate{age = "\\42"; blood_type = "\\O+"; desc = "A strange ID card."; dna_hash = "\[REDACTED]"; fingerprint_hash = "\\------"; name = "Aaron Presley's ID Card(Delivery Service) "; registered_name = "Aaron Presley"; sex = "\\Male"},/turf/simulated/shuttle/floor/white,/area/submap/crashedcontainmentshuttle) +"bO" = (/obj/effect/decal/cleanable/liquid_fuel,/obj/effect/decal/remains/human,/obj/item/flame/lighter/random,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/crashedcontainmentshuttle) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/maps/submaps/surface_submaps/mountains/crashedcontainmentshuttle_vr.dmm b/maps/submaps/surface_submaps/mountains/crashedcontainmentshuttle_vr.dmm index ebe51c7f93a..23331ae2188 100644 --- a/maps/submaps/surface_submaps/mountains/crashedcontainmentshuttle_vr.dmm +++ b/maps/submaps/surface_submaps/mountains/crashedcontainmentshuttle_vr.dmm @@ -4,7 +4,7 @@ /area/submap/crashedcontainmentshuttle) "ab" = ( /obj/structure/grille, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /turf/simulated/mineral/floor/ignore_mapgen, @@ -18,7 +18,7 @@ /turf/simulated/floor/plating, /area/submap/crashedcontainmentshuttle) "ae" = ( -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /turf/simulated/mineral/floor/ignore_mapgen, @@ -37,7 +37,7 @@ /turf/simulated/floor/outdoors/rocks, /area/submap/crashedcontainmentshuttle) "aj" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/mineral/floor/ignore_mapgen, /area/submap/crashedcontainmentshuttle) "ak" = ( @@ -66,7 +66,7 @@ /area/submap/crashedcontainmentshuttle) "aq" = ( /obj/structure/grille, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/plating, /area/submap/crashedcontainmentshuttle) "ar" = ( @@ -88,7 +88,7 @@ /turf/simulated/mineral/floor/ignore_mapgen, /area/submap/crashedcontainmentshuttle) "au" = ( -/obj/item/weapon/circuitboard/broken, +/obj/item/circuitboard/broken, /turf/simulated/mineral/floor/ignore_mapgen, /area/submap/crashedcontainmentshuttle) "av" = ( @@ -164,7 +164,7 @@ /turf/simulated/mineral/floor/ignore_mapgen, /area/submap/crashedcontainmentshuttle) "aK" = ( -/obj/item/weapon/material/knife/ritual, +/obj/item/material/knife/ritual, /turf/simulated/mineral/floor/ignore_mapgen, /area/submap/crashedcontainmentshuttle) "aL" = ( @@ -194,19 +194,19 @@ /area/submap/crashedcontainmentshuttle) "aR" = ( /obj/structure/grille, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /turf/simulated/floor/plating, /area/submap/crashedcontainmentshuttle) "aS" = ( -/obj/item/weapon/circuitboard/broken, +/obj/item/circuitboard/broken, /obj/effect/decal/remains/human, -/obj/item/weapon/gun/energy/laser, +/obj/item/gun/energy/laser, /turf/simulated/shuttle/floor/black, /area/submap/crashedcontainmentshuttle) "aT" = ( -/obj/item/device/gps/internal/poi, +/obj/item/gps/internal/poi, /turf/simulated/shuttle/floor/red, /area/submap/crashedcontainmentshuttle) "aU" = ( @@ -228,7 +228,7 @@ /area/submap/crashedcontainmentshuttle) "aY" = ( /obj/structure/frame, -/obj/item/weapon/circuitboard/broken, +/obj/item/circuitboard/broken, /turf/simulated/shuttle/floor/black, /area/submap/crashedcontainmentshuttle) "aZ" = ( @@ -240,16 +240,16 @@ /turf/simulated/shuttle/floor/red, /area/submap/crashedcontainmentshuttle) "bb" = ( -/obj/item/weapon/material/knife/ritual, +/obj/item/material/knife/ritual, /obj/effect/decal/cleanable/blood, /turf/simulated/shuttle/floor/red, /area/submap/crashedcontainmentshuttle) "bc" = ( -/obj/item/weapon/circuitboard/broken, +/obj/item/circuitboard/broken, /turf/simulated/shuttle/floor/black, /area/submap/crashedcontainmentshuttle) "bd" = ( -/obj/item/weapon/circuitboard/broken, +/obj/item/circuitboard/broken, /obj/structure/bed/chair/office/dark{ dir = 4 }, @@ -274,7 +274,7 @@ /turf/simulated/shuttle/floor/red, /area/submap/crashedcontainmentshuttle) "bi" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/plating, /area/submap/crashedcontainmentshuttle) "bj" = ( @@ -324,7 +324,7 @@ /turf/simulated/shuttle/floor/yellow, /area/submap/crashedcontainmentshuttle) "bs" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/template_noop, /area/submap/crashedcontainmentshuttle) "bt" = ( @@ -343,7 +343,7 @@ "bw" = ( /obj/structure/closet/walllocker/emerglocker/north, /obj/structure/frame, -/obj/item/weapon/circuitboard/broken, +/obj/item/circuitboard/broken, /turf/simulated/shuttle/floor/white, /area/submap/crashedcontainmentshuttle) "bx" = ( @@ -356,7 +356,7 @@ /area/submap/crashedcontainmentshuttle) "bz" = ( /obj/item/frame/mirror, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /turf/simulated/shuttle/wall/dark, @@ -385,7 +385,7 @@ }, /obj/effect/gibspawner/generic, /obj/effect/decal/remains/human, -/obj/item/weapon/card/id/syndicate{ +/obj/item/card/id/syndicate{ age = "\\42"; blood_type = "\\O+"; desc = "A strange ID card."; @@ -418,7 +418,7 @@ density = 0; icon_state = "brokengrille" }, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /obj/item/stack/rods, @@ -454,7 +454,7 @@ "bN" = ( /obj/effect/decal/cleanable/liquid_fuel, /obj/effect/decal/remains/human, -/obj/item/weapon/flame/lighter/random, +/obj/item/flame/lighter/random, /turf/simulated/mineral/floor/ignore_mapgen, /area/submap/crashedcontainmentshuttle) "bO" = ( diff --git a/maps/submaps/surface_submaps/mountains/crystal1.dmm b/maps/submaps/surface_submaps/mountains/crystal1.dmm index c505feac223..80901809687 100644 --- a/maps/submaps/surface_submaps/mountains/crystal1.dmm +++ b/maps/submaps/surface_submaps/mountains/crystal1.dmm @@ -1,7 +1,7 @@ "a" = (/turf/simulated/mineral/ignore_mapgen,/area/submap/cave/crystal1) "b" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/crystal1) "c" = (/obj/machinery/crystal,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/crystal1) -"d" = (/obj/item/weapon/ore/diamond,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/crystal1) +"d" = (/obj/item/ore/diamond,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/crystal1) (1,1,1) = {" aaabbaaa diff --git a/maps/submaps/surface_submaps/mountains/crystal2.dmm b/maps/submaps/surface_submaps/mountains/crystal2.dmm index 6fd1e570584..4c801345c56 100644 --- a/maps/submaps/surface_submaps/mountains/crystal2.dmm +++ b/maps/submaps/surface_submaps/mountains/crystal2.dmm @@ -1,7 +1,7 @@ "a" = (/turf/simulated/mineral/ignore_mapgen,/area/submap/cave/crystal2) "b" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/crystal2) "c" = (/obj/machinery/crystal,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/crystal2) -"d" = (/obj/item/weapon/ore/diamond,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/crystal2) +"d" = (/obj/item/ore/diamond,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/crystal2) (1,1,1) = {" aaaaaaabbbaaaaa diff --git a/maps/submaps/surface_submaps/mountains/crystal3.dmm b/maps/submaps/surface_submaps/mountains/crystal3.dmm index 87e0883e3a7..b725b5408ad 100644 --- a/maps/submaps/surface_submaps/mountains/crystal3.dmm +++ b/maps/submaps/surface_submaps/mountains/crystal3.dmm @@ -2,7 +2,7 @@ "b" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/crystal3) "c" = (/turf/template_noop,/area/template_noop) "d" = (/obj/machinery/crystal,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/crystal3) -"e" = (/obj/item/weapon/ore/diamond,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/crystal3) +"e" = (/obj/item/ore/diamond,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/crystal3) (1,1,1) = {" aaaaaaabbbaaaaacccc diff --git a/maps/submaps/surface_submaps/mountains/deadBeacon.dmm b/maps/submaps/surface_submaps/mountains/deadBeacon.dmm index 253b4c53c9f..9336f07d8f2 100644 --- a/maps/submaps/surface_submaps/mountains/deadBeacon.dmm +++ b/maps/submaps/surface_submaps/mountains/deadBeacon.dmm @@ -9,26 +9,26 @@ "i" = (/obj/structure/grille/broken,/turf/simulated/floor/plating,/area/submap/cave/deadBeacon) "j" = (/obj/structure/table/steel,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/cave/deadBeacon) "k" = (/obj/structure/loot_pile/maint/technical,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/cave/deadBeacon) -"l" = (/obj/item/weapon/material/shard,/turf/simulated/floor/plating,/area/submap/cave/deadBeacon) -"m" = (/obj/structure/table/steel,/obj/item/weapon/circuitboard/comm_server,/obj/machinery/light{dir = 8; status = LIGHT_EMPTY},/turf/simulated/floor/tiled/asteroid_steel,/area/submap/cave/deadBeacon) +"l" = (/obj/item/material/shard,/turf/simulated/floor/plating,/area/submap/cave/deadBeacon) +"m" = (/obj/structure/table/steel,/obj/item/circuitboard/comm_server,/obj/machinery/light{dir = 8; status = LIGHT_EMPTY},/turf/simulated/floor/tiled/asteroid_steel,/area/submap/cave/deadBeacon) "n" = (/turf/simulated/floor/tiled/asteroid_steel,/area/submap/cave/deadBeacon) -"o" = (/obj/item/weapon/paper/crumpled{info = "Sampatti Relay Sif-833
      Decryption Key for 12-04-2488:
      849B0022FBA920C244
      Eyes Only.
      The insider who knows all the secrets can bring down Lanka."; name = "Dusty Note"},/turf/simulated/floor/tiled/asteroid_steel,/area/submap/cave/deadBeacon) +"o" = (/obj/item/paper/crumpled{info = "Sampatti Relay Sif-833
      Decryption Key for 12-04-2488:
      849B0022FBA920C244
      Eyes Only.
      The insider who knows all the secrets can bring down Lanka."; name = "Dusty Note"},/turf/simulated/floor/tiled/asteroid_steel,/area/submap/cave/deadBeacon) "p" = (/obj/structure/door_assembly/door_assembly_ext,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/cave/deadBeacon) "q" = (/obj/item/stack/rods,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/cave/deadBeacon) "r" = (/obj/machinery/telecomms/relay{active_power_usage = 1; broadcasting = 0; panel_open = 1},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/tiled/asteroid_steel,/area/submap/cave/deadBeacon) "s" = (/obj/machinery/telecomms/broadcaster{light_power = 0; on = 0},/turf/simulated/floor/tiled/asteroid_steel,/area/submap/cave/deadBeacon) "t" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/submap/cave/deadBeacon) "u" = (/obj/machinery/telecomms/receiver{light_power = 0; on = 0},/obj/structure/cable,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/cave/deadBeacon) -"v" = (/obj/item/weapon/circuitboard/broken,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/cave/deadBeacon) +"v" = (/obj/item/circuitboard/broken,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/cave/deadBeacon) "w" = (/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/cave/deadBeacon) "x" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/submap/cave/deadBeacon) "y" = (/obj/effect/decal/remains/robot,/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/cave/deadBeacon) "z" = (/obj/item/stack/cable_coil{amount = 1},/turf/simulated/floor/tiled/asteroid_steel,/area/submap/cave/deadBeacon) -"A" = (/obj/item/weapon/circuitboard/broken,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/deadBeacon) +"A" = (/obj/item/circuitboard/broken,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/deadBeacon) "B" = (/obj/structure/grille/broken,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/submap/cave/deadBeacon) "C" = (/obj/structure/loot_pile/maint/junk,/turf/simulated/floor/plating,/area/submap/cave/deadBeacon) -"D" = (/obj/item/trash/cigbutt,/obj/item/weapon/tool/wrench,/obj/machinery/light,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/cave/deadBeacon) -"E" = (/obj/item/weapon/material/shard,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/cave/deadBeacon) +"D" = (/obj/item/trash/cigbutt,/obj/item/tool/wrench,/obj/machinery/light,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/cave/deadBeacon) +"E" = (/obj/item/material/shard,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/cave/deadBeacon) "F" = (/obj/machinery/recharge_station,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/cave/deadBeacon) "G" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/submap/cave/deadBeacon) "H" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/cave/deadBeacon) diff --git a/maps/submaps/surface_submaps/mountains/deadly_rabbit_vr.dmm b/maps/submaps/surface_submaps/mountains/deadly_rabbit_vr.dmm index edf10da6365..409e2320a5f 100644 --- a/maps/submaps/surface_submaps/mountains/deadly_rabbit_vr.dmm +++ b/maps/submaps/surface_submaps/mountains/deadly_rabbit_vr.dmm @@ -3,28 +3,28 @@ "e" = (/mob/living/simple_mob/vore/rabbit/killer,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop) "g" = (/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop) "h" = (/turf/simulated/mineral/ignore_mapgen/cave,/area/template_noop) -"m" = (/obj/item/weapon/bone/skull,/obj/effect/decal/cleanable/blood,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop) +"m" = (/obj/item/bone/skull,/obj/effect/decal/cleanable/blood,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop) "n" = (/obj/item/clothing/suit/storage/hooded/knight/galahad,/obj/effect/decal/cleanable/blood,/obj/item/clothing/shoes/knight,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop) -"q" = (/obj/effect/decal/cleanable/blood,/obj/item/weapon/bone,/obj/item/weapon/bone/skull,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop) -"r" = (/obj/item/weapon/bone,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop) -"s" = (/obj/item/weapon/bone/ribs,/obj/effect/decal/cleanable/blood,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop) +"q" = (/obj/effect/decal/cleanable/blood,/obj/item/bone,/obj/item/bone/skull,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop) +"r" = (/obj/item/bone,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop) +"s" = (/obj/item/bone/ribs,/obj/effect/decal/cleanable/blood,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop) "t" = (/obj/effect/gibspawner/human,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop) -"u" = (/obj/effect/decal/cleanable/blood,/obj/item/weapon/bone/skull,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop) -"v" = (/obj/item/weapon/grenade/explosive/frag,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop) -"y" = (/obj/item/weapon/bone,/obj/item/weapon/bone/ribs,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop) -"A" = (/obj/effect/decal/cleanable/blood,/obj/item/weapon/bone,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop) +"u" = (/obj/effect/decal/cleanable/blood,/obj/item/bone/skull,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop) +"v" = (/obj/item/grenade/explosive/frag,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop) +"y" = (/obj/item/bone,/obj/item/bone/ribs,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop) +"A" = (/obj/effect/decal/cleanable/blood,/obj/item/bone,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop) "C" = (/obj/item/clothing/suit/storage/hooded/knight/lancelot,/obj/effect/decal/cleanable/blood,/obj/item/clothing/shoes/knight,/obj/item/clothing/shoes/knight/black,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop) "E" = (/obj/item/clothing/suit/armor/combat/crusader/bedevere,/obj/item/clothing/head/helmet/combat/bedevere,/obj/effect/decal/cleanable/blood,/obj/item/clothing/shoes/knight/black,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop) -"F" = (/obj/item/weapon/bone,/obj/item/weapon/bone/skull,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop) +"F" = (/obj/item/bone,/obj/item/bone/skull,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop) "I" = (/obj/item/clothing/suit/storage/hooded/knight/robin,/obj/effect/decal/cleanable/blood/splatter,/obj/item/clothing/shoes/knight,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop) -"J" = (/obj/effect/decal/cleanable/blood,/obj/item/weapon/bone/ribs,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop) +"J" = (/obj/effect/decal/cleanable/blood,/obj/item/bone/ribs,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop) "K" = (/obj/item/clothing/suit/armor/combat/crusader,/obj/item/clothing/head/helmet/combat/crusader,/obj/effect/decal/cleanable/blood,/obj/item/clothing/shoes/knight,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop) "L" = (/obj/structure/barricade/cutout/fukken_xeno,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop) -"P" = (/obj/item/weapon/bone/skull,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop) -"Q" = (/obj/item/weapon/bone,/obj/structure/loot_pile/surface/bones,/obj/effect/decal/cleanable/blood,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop) +"P" = (/obj/item/bone/skull,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop) +"Q" = (/obj/item/bone,/obj/structure/loot_pile/surface/bones,/obj/effect/decal/cleanable/blood,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop) "T" = (/obj/structure/barricade,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop) -"U" = (/obj/item/weapon/bone/ribs,/obj/item/clothing/suit/storage/hooded/knight,/obj/item/weapon/bone/skull,/obj/effect/decal/cleanable/blood,/obj/item/clothing/shoes/knight/black,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop) -"V" = (/obj/item/weapon/bone,/obj/effect/decal/cleanable/blood,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop) +"U" = (/obj/item/bone/ribs,/obj/item/clothing/suit/storage/hooded/knight,/obj/item/bone/skull,/obj/effect/decal/cleanable/blood,/obj/item/clothing/shoes/knight/black,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop) +"V" = (/obj/item/bone,/obj/effect/decal/cleanable/blood,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop) "Y" = (/obj/effect/decal/cleanable/blood,/turf/simulated/mineral/floor/ignore_mapgen/cave,/area/template_noop) (1,1,1) = {" diff --git a/maps/submaps/surface_submaps/mountains/deadspy.dmm b/maps/submaps/surface_submaps/mountains/deadspy.dmm index 15b57e5fcee..df4dfcc5f0f 100644 --- a/maps/submaps/surface_submaps/mountains/deadspy.dmm +++ b/maps/submaps/surface_submaps/mountains/deadspy.dmm @@ -1,22 +1,22 @@ "a" = (/obj/effect/decal/remains/xeno,/obj/item/clothing/mask/gas,/obj/item/clothing/suit/fire/firefighter,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/deadspy) "b" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/deadspy) "c" = (/obj/effect/decal/cleanable/liquid_fuel/flamethrower_fuel,/obj/effect/decal/cleanable/molten_item,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/deadspy) -"d" = (/obj/item/weapon/flamethrower,/obj/effect/decal/cleanable/liquid_fuel/flamethrower_fuel,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/deadspy) +"d" = (/obj/item/flamethrower,/obj/effect/decal/cleanable/liquid_fuel/flamethrower_fuel,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/deadspy) "e" = (/obj/effect/decal/cleanable/liquid_fuel,/obj/effect/decal/cleanable/liquid_fuel/flamethrower_fuel,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/deadspy) "f" = (/obj/effect/decal/cleanable/liquid_fuel/flamethrower_fuel,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/deadspy) "g" = (/obj/effect/decal/cleanable/liquid_fuel/flamethrower_fuel,/obj/effect/decal/cleanable/ash,/obj/random/landmine,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/deadspy) "h" = (/obj/effect/decal/cleanable/liquid_fuel,/obj/random/landmine,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/deadspy) "i" = (/obj/effect/decal/cleanable/liquid_fuel,/obj/effect/decal/cleanable/molten_item,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/deadspy) -"j" = (/obj/item/weapon/material/butterfly,/obj/effect/decal/cleanable/liquid_fuel,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/deadspy) -"k" = (/obj/effect/decal/remains/human,/obj/item/weapon/tool/wrench,/obj/item/clothing/head/hardhat,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/deadspy) -"l" = (/obj/item/weapon/flame/lighter/zippo,/obj/effect/decal/cleanable/liquid_fuel,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/deadspy) +"j" = (/obj/item/material/butterfly,/obj/effect/decal/cleanable/liquid_fuel,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/deadspy) +"k" = (/obj/effect/decal/remains/human,/obj/item/tool/wrench,/obj/item/clothing/head/hardhat,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/deadspy) +"l" = (/obj/item/flame/lighter/zippo,/obj/effect/decal/cleanable/liquid_fuel,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/deadspy) "m" = (/obj/effect/decal/remains/human,/obj/item/clothing/mask/balaclava,/obj/item/clothing/under/suit_jacket/really_black,/obj/effect/decal/cleanable/ash,/obj/effect/decal/cleanable/liquid_fuel,/obj/effect/decal/cleanable/ash,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/deadspy) "n" = (/obj/effect/decal/cleanable/liquid_fuel,/obj/effect/decal/cleanable/liquid_fuel,/obj/effect/decal/cleanable/ash,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/deadspy) "o" = (/obj/machinery/porta_turret/poi{desc = "Looking at this heavy caliber, tripod-mounted, little ol' number makes you want to square-dance."; lethal = 0; name = "sentry turret"},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/deadspy) -"p" = (/obj/item/weapon/deadringer,/obj/effect/decal/cleanable/liquid_fuel,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/deadspy) +"p" = (/obj/item/deadringer,/obj/effect/decal/cleanable/liquid_fuel,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/deadspy) "q" = (/obj/effect/decal/cleanable/liquid_fuel,/obj/effect/decal/cleanable/liquid_fuel,/obj/random/landmine,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/deadspy) -"r" = (/obj/effect/decal/cleanable/liquid_fuel,/obj/item/weapon/storage/fancy/cigarettes/professionals,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/deadspy) -"s" = (/obj/item/weapon/card/emag_broken,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/deadspy) +"r" = (/obj/effect/decal/cleanable/liquid_fuel,/obj/item/storage/fancy/cigarettes/professionals,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/deadspy) +"s" = (/obj/item/card/emag_broken,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/deadspy) "t" = (/obj/effect/decal/cleanable/liquid_fuel/flamethrower_fuel,/obj/random/landmine,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/deadspy) "u" = (/obj/effect/decal/cleanable/liquid_fuel/flamethrower_fuel,/obj/effect/decal/cleanable/ash,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/deadspy) "v" = (/turf/simulated/mineral,/area/submap/deadspy) diff --git a/maps/submaps/surface_submaps/mountains/digsite.dmm b/maps/submaps/surface_submaps/mountains/digsite.dmm index 541bca12db3..56ccac5995c 100644 --- a/maps/submaps/surface_submaps/mountains/digsite.dmm +++ b/maps/submaps/surface_submaps/mountains/digsite.dmm @@ -5,7 +5,7 @@ "e" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/digsite) "f" = (/turf/simulated/floor/tiled/kafel_full/yellow,/area/submap/cave/digsite) "g" = (/turf/simulated/floor/plating/external,/area/submap/cave/digsite) -"h" = (/obj/item/weapon/ore,/turf/simulated/floor/plating/external,/area/submap/cave/digsite) +"h" = (/obj/item/ore,/turf/simulated/floor/plating/external,/area/submap/cave/digsite) "i" = (/obj/structure/bed/alien,/turf/simulated/floor/tiled/kafel_full/yellow,/area/submap/cave/digsite) "j" = (/obj/structure/cult/talisman,/turf/simulated/floor/tiled/kafel_full/yellow,/area/submap/cave/digsite) "k" = (/obj/machinery/artifact,/obj/structure/anomaly_container,/turf/simulated/floor/tiled/kafel_full/yellow,/area/submap/cave/digsite) @@ -13,26 +13,26 @@ "m" = (/obj/structure/loot_pile/surface/alien,/turf/simulated/floor/tiled/kafel_full/yellow,/area/submap/cave/digsite) "n" = (/mob/living/simple_mob/animal/passive/tindalos,/turf/simulated/floor/tiled/kafel_full/yellow,/area/submap/cave/digsite) "o" = (/obj/structure/closet/crate/secure/loot,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/digsite) -"p" = (/obj/item/weapon/ore,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/digsite) +"p" = (/obj/item/ore,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/digsite) "q" = (/obj/effect/floor_decal/asteroid,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/digsite) "r" = (/obj/structure/anomaly_container,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/digsite) "s" = (/turf/simulated/wall,/area/submap/cave/digsite) -"t" = (/obj/item/frame/apc,/obj/item/weapon/module/power_control,/turf/simulated/floor/plating/external,/area/submap/cave/digsite) +"t" = (/obj/item/frame/apc,/obj/item/module/power_control,/turf/simulated/floor/plating/external,/area/submap/cave/digsite) "u" = (/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/random/powercell,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/digsite) -"v" = (/obj/structure/table/steel,/obj/item/weapon/storage/excavation,/obj/item/device/measuring_tape,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/digsite) +"v" = (/obj/structure/table/steel,/obj/item/storage/excavation,/obj/item/measuring_tape,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/digsite) "w" = (/obj/machinery/power/port_gen/pacman/super,/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating/external,/area/submap/cave/digsite) "x" = (/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/external,/area/submap/cave/digsite) "y" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/digsite) -"z" = (/obj/structure/table/steel,/obj/item/weapon/folder,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/digsite) -"A" = (/obj/structure/table/rack,/obj/item/weapon/pickaxe,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/digsite) +"z" = (/obj/structure/table/steel,/obj/item/folder,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/digsite) +"A" = (/obj/structure/table/rack,/obj/item/pickaxe,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/digsite) "B" = (/obj/item/mecha_parts/mecha_equipment/tool/drill/diamonddrill,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/digsite) "C" = (/obj/structure/loot_pile/maint/technical,/turf/simulated/floor/plating/external,/area/submap/cave/digsite) "D" = (/obj/structure/table/steel,/obj/random/tech_supply,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/digsite) -"E" = (/obj/structure/table/rack,/obj/item/weapon/shovel,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/digsite) +"E" = (/obj/structure/table/rack,/obj/item/shovel,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/digsite) "F" = (/obj/structure/boulder,/obj/effect/decal/mecha_wreckage/ripley,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/digsite) "G" = (/obj/structure/boulder,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/digsite) "H" = (/obj/structure/loot_pile/maint/junk,/turf/simulated/floor/plating/external,/area/submap/cave/digsite) -"I" = (/obj/structure/table/steel,/obj/item/weapon/tool/wrench,/obj/item/weapon/storage/box/samplebags,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/digsite) +"I" = (/obj/structure/table/steel,/obj/item/tool/wrench,/obj/item/storage/box/samplebags,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/digsite) "J" = (/obj/structure/table/steel,/obj/item/stack/flag/yellow,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/digsite) "K" = (/obj/random/toolbox,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/digsite) "L" = (/obj/structure/closet/crate,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/digsite) diff --git a/maps/submaps/surface_submaps/mountains/excavation1.dmm b/maps/submaps/surface_submaps/mountains/excavation1.dmm index 169efe4eb5c..8998d98bf16 100644 --- a/maps/submaps/surface_submaps/mountains/excavation1.dmm +++ b/maps/submaps/surface_submaps/mountains/excavation1.dmm @@ -10,21 +10,21 @@ "j" = (/obj/structure/cliff/automatic/corner,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/Excavation) "k" = (/obj/mecha/working/ripley,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/Excavation) "l" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 8},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/Excavation) -"m" = (/obj/structure/table/sifwoodentable,/obj/item/mecha_parts/mecha_equipment/tool/drill/bore,/obj/item/weapon/ore/marble,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/Excavation) -"n" = (/obj/item/weapon/ore,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/Excavation) +"m" = (/obj/structure/table/sifwoodentable,/obj/item/mecha_parts/mecha_equipment/tool/drill/bore,/obj/item/ore/marble,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/Excavation) +"n" = (/obj/item/ore,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/Excavation) "o" = (/obj/structure/table/sifwoodentable,/obj/item/mecha_parts/mecha_equipment/hardpoint_actuator,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/Excavation) "p" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 4},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/Excavation) "q" = (/obj/structure/table/sifwoodentable,/obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/Excavation) "r" = (/obj/structure/table/sifwoodentable,/obj/item/mecha_parts/mecha_equipment/weapon/energy/laser/heavy/rigged,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/Excavation) -"s" = (/obj/item/weapon/ore/marble,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/Excavation) -"t" = (/obj/item/weapon/ore/gold,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/Excavation) -"u" = (/obj/item/weapon/ore/diamond,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/Excavation) +"s" = (/obj/item/ore/marble,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/Excavation) +"t" = (/obj/item/ore/gold,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/Excavation) +"u" = (/obj/item/ore/diamond,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/Excavation) "v" = (/mob/living/simple_mob/mechanical/mining_drone,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/Excavation) -"w" = (/obj/structure/table/sifwoodentable,/obj/item/weapon/pickaxe/jackhammer,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/Excavation) +"w" = (/obj/structure/table/sifwoodentable,/obj/item/pickaxe/jackhammer,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/Excavation) "x" = (/obj/structure/table/sifwoodentable,/obj/random/projectile/scrapped_grenadelauncher,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/Excavation) "y" = (/obj/structure/table/sifwoodentable,/obj/random/medical/pillbottle,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/Excavation) -"z" = (/obj/structure/table/sifwoodentable,/obj/item/weapon/grenade/chem_grenade/metalfoam,/obj/item/weapon/grenade/chem_grenade/metalfoam,/obj/item/weapon/grenade/chem_grenade/metalfoam,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/Excavation) -"A" = (/obj/structure/table/sifwoodentable,/obj/item/weapon/mining_scanner,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/Excavation) +"z" = (/obj/structure/table/sifwoodentable,/obj/item/grenade/chem_grenade/metalfoam,/obj/item/grenade/chem_grenade/metalfoam,/obj/item/grenade/chem_grenade/metalfoam,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/Excavation) +"A" = (/obj/structure/table/sifwoodentable,/obj/item/mining_scanner,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/Excavation) "B" = (/obj/structure/table/sifwoodentable,/obj/random/cigarettes,/obj/random/tool/powermaint,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/Excavation) "C" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 10},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/Excavation) "D" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 2},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/Excavation) diff --git a/maps/submaps/surface_submaps/mountains/lava_trench.dmm b/maps/submaps/surface_submaps/mountains/lava_trench.dmm index c4fe719544b..3cb119f6b98 100644 --- a/maps/submaps/surface_submaps/mountains/lava_trench.dmm +++ b/maps/submaps/surface_submaps/mountains/lava_trench.dmm @@ -52,7 +52,7 @@ "ba" = (/obj/machinery/crystal/lava,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/lava_trench) "bb" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 4},/turf/simulated/floor/lava,/area/submap/lava_trench) "bc" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 6},/turf/simulated/floor/lava,/area/submap/lava_trench) -"bd" = (/obj/structure/table/steel,/obj/item/weapon/storage/excavation,/obj/item/device/measuring_tape,/obj/effect/floor_decal/corner_oldtile/purple{icon_state = "corner_oldtile"; dir = 4},/turf/simulated/floor/tiled/old_tile,/area/submap/lava_trench/outpost) +"bd" = (/obj/structure/table/steel,/obj/item/storage/excavation,/obj/item/measuring_tape,/obj/effect/floor_decal/corner_oldtile/purple{icon_state = "corner_oldtile"; dir = 4},/turf/simulated/floor/tiled/old_tile,/area/submap/lava_trench/outpost) "be" = (/turf/simulated/mineral/ignore_mapgen,/area/template_noop) "bf" = (/obj/structure/railing,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/lava_trench) "bg" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 10},/obj/structure/railing,/turf/simulated/floor/lava,/area/submap/lava_trench) @@ -77,13 +77,13 @@ "bz" = (/obj/effect/floor_decal/corner_oldtile{icon_state = "corner_oldtile"; dir = 1},/turf/simulated/floor/tiled/old_tile/gray,/area/submap/lava_trench/outpost) "bA" = (/obj/effect/floor_decal/corner_oldtile{icon_state = "corner_oldtile"; dir = 4},/turf/simulated/floor/tiled/old_tile/gray,/area/submap/lava_trench/outpost) "bB" = (/obj/effect/floor_decal/corner_oldtile/blue{icon_state = "corner_oldtile"; dir = 8},/turf/simulated/floor/tiled/old_tile,/area/submap/lava_trench/outpost) -"bC" = (/obj/structure/table/rack,/obj/item/weapon/shovel,/obj/effect/floor_decal/corner_oldtile/purple/full{icon_state = "corner_oldtile_full"; dir = 1},/obj/item/weapon/pickaxe/drill,/turf/simulated/floor/tiled/old_tile,/area/submap/lava_trench/outpost) +"bC" = (/obj/structure/table/rack,/obj/item/shovel,/obj/effect/floor_decal/corner_oldtile/purple/full{icon_state = "corner_oldtile_full"; dir = 1},/obj/item/pickaxe/drill,/turf/simulated/floor/tiled/old_tile,/area/submap/lava_trench/outpost) "bD" = (/obj/effect/step_trigger/teleporter/offset/north,/turf/simulated/floor/lava,/area/submap/lava_trench) "bE" = (/obj/machinery/crystal/lava,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/lava_trench) "bF" = (/obj/structure/table/rack,/obj/random/tool/powermaint,/obj/random/tool/powermaint,/obj/effect/floor_decal/corner_oldtile/purple{icon_state = "corner_oldtile"; dir = 6},/turf/simulated/floor/tiled/old_tile,/area/submap/lava_trench/outpost) -"bG" = (/obj/effect/floor_decal/corner_oldtile/purple,/obj/structure/table/steel,/obj/item/device/xenoarch_multi_tool,/turf/simulated/floor/tiled/old_tile,/area/submap/lava_trench/outpost) +"bG" = (/obj/effect/floor_decal/corner_oldtile/purple,/obj/structure/table/steel,/obj/item/xenoarch_multi_tool,/turf/simulated/floor/tiled/old_tile,/area/submap/lava_trench/outpost) "bH" = (/obj/effect/floor_decal/corner_oldtile/purple,/turf/simulated/floor/tiled/old_tile,/area/submap/lava_trench/outpost) -"bI" = (/obj/item/device/gps/science{gps_tag = "CRYSTALS"},/turf/simulated/floor/tiled/old_tile,/area/submap/lava_trench/outpost) +"bI" = (/obj/item/gps/science{gps_tag = "CRYSTALS"},/turf/simulated/floor/tiled/old_tile,/area/submap/lava_trench/outpost) "bK" = (/obj/effect/floor_decal/corner_oldtile/blue/full,/obj/random/drinkbottle,/obj/random/maintenance/research,/obj/structure/table/standard,/obj/machinery/light/small/flicker{icon_state = "bulb1"; dir = 8},/turf/simulated/floor/tiled/old_tile,/area/submap/lava_trench/outpost) "bL" = (/obj/structure/flora/pottedplant/crystal,/obj/effect/floor_decal/corner_oldtile/blue{icon_state = "corner_oldtile"; dir = 8},/turf/simulated/floor/tiled/old_tile,/area/submap/lava_trench/outpost) "bM" = (/obj/structure/cult/pylon,/obj/effect/floor_decal/industrial/outline,/turf/simulated/floor/tiled/old_tile/gray,/area/submap/lava_trench/outpost) @@ -92,13 +92,13 @@ "bP" = (/obj/effect/floor_decal/corner_oldtile/purple/full{icon_state = "corner_oldtile_full"; dir = 4},/obj/structure/table/steel,/obj/machinery/recharger,/obj/machinery/light/small/flicker{icon_state = "bulb1"; dir = 4},/turf/simulated/floor/tiled/old_tile,/area/submap/lava_trench/outpost) "bQ" = (/obj/machinery/light/small/flicker{icon_state = "bulb1"; dir = 8},/turf/simulated/floor/outdoors/rocks/caves,/area/submap/lava_trench) "bR" = (/obj/machinery/light/small/flicker{icon_state = "bulb1"; dir = 1},/turf/simulated/floor/outdoors/rocks/caves,/area/submap/lava_trench) -"bS" = (/obj/effect/floor_decal/corner_oldtile/blue{icon_state = "corner_oldtile"; dir = 1},/obj/structure/loot_pile/surface/medicine_cabinet{pixel_y = 28},/obj/structure/table/standard,/obj/item/device/healthanalyzer/improved,/turf/simulated/floor/tiled/old_tile,/area/submap/lava_trench/outpost) +"bS" = (/obj/effect/floor_decal/corner_oldtile/blue{icon_state = "corner_oldtile"; dir = 1},/obj/structure/loot_pile/surface/medicine_cabinet{pixel_y = 28},/obj/structure/table/standard,/obj/item/healthanalyzer/improved,/turf/simulated/floor/tiled/old_tile,/area/submap/lava_trench/outpost) "bT" = (/obj/machinery/suspension_gen{anchored = 1},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/old_tile,/area/submap/lava_trench/outpost) "bU" = (/obj/machinery/light/small/flicker,/obj/structure/ore_box,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/lava_trench) "bW" = (/obj/structure/anomaly_container,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/lava_trench) -"bX" = (/obj/effect/floor_decal/corner_oldtile/purple/full{icon_state = "corner_oldtile_full"; dir = 4},/obj/item/weapon/storage/box/samplebags,/obj/structure/table/steel,/obj/item/stack/flag/red,/turf/simulated/floor/tiled/old_tile,/area/submap/lava_trench/outpost) +"bX" = (/obj/effect/floor_decal/corner_oldtile/purple/full{icon_state = "corner_oldtile_full"; dir = 4},/obj/item/storage/box/samplebags,/obj/structure/table/steel,/obj/item/stack/flag/red,/turf/simulated/floor/tiled/old_tile,/area/submap/lava_trench/outpost) "bY" = (/obj/machinery/crystal,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/lava_trench) -"bZ" = (/obj/structure/table/steel,/obj/item/weapon/stock_parts/subspace/crystal,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/lava_trench) +"bZ" = (/obj/structure/table/steel,/obj/item/stock_parts/subspace/crystal,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/lava_trench) "ca" = (/obj/structure/table/steel,/obj/item/stack/material/diamond,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/lava_trench) "cb" = (/obj/structure/loot_pile/surface/bones,/turf/simulated/floor/tiled/old_tile,/area/submap/lava_trench/outpost) "ce" = (/obj/effect/floor_decal/corner_oldtile/blue/full,/obj/structure/table/standard,/turf/simulated/floor/tiled/old_tile,/area/submap/lava_trench/outpost) @@ -107,9 +107,9 @@ "ck" = (/obj/item/clothing/suit/bio_suit/anomaly,/turf/simulated/floor/tiled/old_tile,/area/submap/lava_trench/outpost) "co" = (/obj/machinery/floodlight,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/lava_trench) "cp" = (/obj/machinery/light/small/flicker,/obj/structure/closet/crate/secure/loot,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/lava_trench) -"cq" = (/obj/item/weapon/banner/nt,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/lava_trench) -"cr" = (/obj/structure/table/steel,/obj/item/weapon/material/shard/phoron,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/lava_trench) -"cs" = (/obj/item/weapon/banner/nt,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/lava_trench) +"cq" = (/obj/item/banner/nt,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/lava_trench) +"cr" = (/obj/structure/table/steel,/obj/item/material/shard/phoron,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/lava_trench) +"cs" = (/obj/item/banner/nt,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/lava_trench) (1,1,1) = {" aBaBabacacacacacacacacacacadaBaBaBaBaBaCaCaCaBaBaBaBaBaBaBaBaBaBaBaBbebebeaaaaaaaaaaaaaaaaaaaaaa diff --git a/maps/submaps/surface_submaps/mountains/lost_explorer.dmm b/maps/submaps/surface_submaps/mountains/lost_explorer.dmm index de3fec99c0c..372e50c3a71 100644 --- a/maps/submaps/surface_submaps/mountains/lost_explorer.dmm +++ b/maps/submaps/surface_submaps/mountains/lost_explorer.dmm @@ -3,7 +3,7 @@ /turf/simulated/mineral/floor/ignore_mapgen, /area/submap/cave/lost_explorer) "b" = ( -/obj/item/device/geiger, +/obj/item/geiger, /turf/simulated/mineral/floor/ignore_mapgen, /area/submap/cave/lost_explorer) "c" = ( @@ -11,7 +11,7 @@ /turf/simulated/mineral/floor/ignore_mapgen, /area/submap/cave/lost_explorer) "d" = ( -/obj/item/weapon/material/knife/tacknife/survival, +/obj/item/material/knife/tacknife/survival, /turf/simulated/mineral/floor/ignore_mapgen, /area/submap/cave/lost_explorer) "e" = ( @@ -25,15 +25,15 @@ /area/submap/cave/lost_explorer) "g" = ( /obj/item/clothing/suit/storage/hooded/explorer, -/obj/item/weapon/cell/device, +/obj/item/cell/device, /turf/simulated/mineral/floor/ignore_mapgen, /area/submap/cave/lost_explorer) "h" = ( -/obj/item/device/gps/explorer, +/obj/item/gps/explorer, /turf/simulated/mineral/floor/ignore_mapgen, /area/submap/cave/lost_explorer) "i" = ( -/obj/item/device/flashlight/lantern, +/obj/item/flashlight/lantern, /turf/simulated/mineral/floor/ignore_mapgen, /area/submap/cave/lost_explorer) diff --git a/maps/submaps/surface_submaps/mountains/mountains.dm b/maps/submaps/surface_submaps/mountains/mountains.dm index dfa0ca65acc..de8aba6188a 100644 --- a/maps/submaps/surface_submaps/mountains/mountains.dm +++ b/maps/submaps/surface_submaps/mountains/mountains.dm @@ -1,7 +1,7 @@ // This causes PoI maps to get 'checked' and compiled, when undergoing a unit test. // This is so CI can validate PoIs, and ensure future changes don't break PoIs, as PoIs are loaded at runtime and the compiler can't catch errors. // When adding a new PoI, please add it to this list. -#if MAP_TEST +#ifdef MAP_TEST #include "deadBeacon.dmm" #include "prepper1.dmm" #include "quarantineshuttle.dmm" @@ -68,82 +68,82 @@ /datum/map_template/surface/mountains/normal/deadBeacon name = "Abandoned Relay" desc = "An unregistered comms relay, abandoned to the elements." - mappath = 'maps/submaps/surface_submaps/mountains/deadBeacon.dmm' + mappath = "maps/submaps/surface_submaps/mountains/deadBeacon.dmm" cost = 10 /datum/map_template/surface/mountains/normal/prepper1 name = "Prepper Bunker" desc = "A little hideaway for someone with more time and money than sense." - mappath = 'maps/submaps/surface_submaps/mountains/prepper1.dmm' + mappath = "maps/submaps/surface_submaps/mountains/prepper1.dmm" cost = 10 /datum/map_template/surface/mountains/normal/qshuttle name = "Quarantined Shuttle" desc = "An emergency landing turned viral outbreak turned tragedy." - mappath = 'maps/submaps/surface_submaps/mountains/quarantineshuttle.dmm' + mappath = "maps/submaps/surface_submaps/mountains/quarantineshuttle.dmm" cost = 20 /datum/map_template/surface/mountains/normal/Mineshaft1 name = "Abandoned Mineshaft 1" desc = "An abandoned minning tunnel from a lost money making effort." - mappath = 'maps/submaps/surface_submaps/mountains/Mineshaft1.dmm' + mappath = "maps/submaps/surface_submaps/mountains/Mineshaft1.dmm" cost = 5 /datum/map_template/surface/mountains/normal/crystal1 name = "Crystal Cave 1" desc = "A small cave with glowing gems and diamonds." - mappath = 'maps/submaps/surface_submaps/mountains/crystal1.dmm' + mappath = "maps/submaps/surface_submaps/mountains/crystal1.dmm" cost = 5 allow_duplicates = TRUE /datum/map_template/surface/mountains/normal/crystal2 name = "Crystal Cave 2" desc = "A moderate sized cave with glowing gems and diamonds." - mappath = 'maps/submaps/surface_submaps/mountains/crystal2.dmm' + mappath = "maps/submaps/surface_submaps/mountains/crystal2.dmm" cost = 10 allow_duplicates = TRUE /datum/map_template/surface/mountains/normal/crystal2 name = "Crystal Cave 3" desc = "A large spiral of crystals with diamonds in the center." - mappath = 'maps/submaps/surface_submaps/mountains/crystal3.dmm' + mappath = "maps/submaps/surface_submaps/mountains/crystal3.dmm" cost = 15 /datum/map_template/surface/mountains/normal/lost_explorer name = "Lost Explorer" desc = "The remains of an explorer who rotted away ages ago, and their equipment." - mappath = 'maps/submaps/surface_submaps/mountains/lost_explorer.dmm' + mappath = "maps/submaps/surface_submaps/mountains/lost_explorer.dmm" cost = 5 allow_duplicates = TRUE /datum/map_template/surface/mountains/normal/Rockb1 name = "Rocky Base 1" desc = "Someones underground hidey hole" - mappath = 'maps/submaps/surface_submaps/mountains/Rockb1.dmm' + mappath = "maps/submaps/surface_submaps/mountains/Rockb1.dmm" cost = 15 /datum/map_template/surface/mountains/normal/corgiritual name = "Dark Ritual" desc = "Who put all these plushies here? What are they doing?" - mappath = 'maps/submaps/surface_submaps/mountains/ritual.dmm' + mappath = "maps/submaps/surface_submaps/mountains/ritual.dmm" cost = 15 /datum/map_template/surface/mountains/normal/abandonedtemple name = "Abandoned Temple" desc = "An ancient temple, long since abandoned. Perhaps alien in origin?" - mappath = 'maps/submaps/surface_submaps/mountains/temple.dmm' + mappath = "maps/submaps/surface_submaps/mountains/temple.dmm" cost = 20 /datum/map_template/surface/mountains/normal/digsite name = "Dig Site" desc = "A small abandoned dig site." - mappath = 'maps/submaps/surface_submaps/mountains/digsite.dmm' + mappath = "maps/submaps/surface_submaps/mountains/digsite.dmm" cost = 10 /datum/map_template/surface/mountains/normal/vault1 name = "Mine Vault 1" desc = "A small vault with potential loot." - mappath = 'maps/submaps/surface_submaps/mountains/vault1.dmm' + mappath = "maps/submaps/surface_submaps/mountains/vault1.dmm" cost = 5 allow_duplicates = TRUE template_group = "Buried Vaults" @@ -151,7 +151,7 @@ /datum/map_template/surface/mountains/normal/vault2 name = "Mine Vault 2" desc = "A small vault with potential loot." - mappath = 'maps/submaps/surface_submaps/mountains/vault2.dmm' + mappath = "maps/submaps/surface_submaps/mountains/vault2.dmm" cost = 5 allow_duplicates = TRUE template_group = "Buried Vaults" @@ -159,56 +159,56 @@ /datum/map_template/surface/mountains/normal/vault3 name = "Mine Vault 3" desc = "A small vault with potential loot. Also a horrible suprise." - mappath = 'maps/submaps/surface_submaps/mountains/vault3.dmm' + mappath = "maps/submaps/surface_submaps/mountains/vault3.dmm" cost = 15 template_group = "Buried Vaults" /datum/map_template/surface/mountains/normal/IceCave1A name = "Ice Cave 1A" desc = "This cave's slippery ice makes it hard to navigate, but determined explorers will be rewarded." - mappath = 'maps/submaps/surface_submaps/mountains/IceCave1A.dmm' + mappath = "maps/submaps/surface_submaps/mountains/IceCave1A.dmm" cost = 10 /datum/map_template/surface/mountains/normal/IceCave1B name = "Ice Cave 1B" desc = "This cave's slippery ice makes it hard to navigate, but determined explorers will be rewarded." - mappath = 'maps/submaps/surface_submaps/mountains/IceCave1B.dmm' + mappath = "maps/submaps/surface_submaps/mountains/IceCave1B.dmm" cost = 10 /datum/map_template/surface/mountains/normal/IceCave1C name = "Ice Cave 1C" desc = "This cave's slippery ice makes it hard to navigate, but determined explorers will be rewarded." - mappath = 'maps/submaps/surface_submaps/mountains/IceCave1C.dmm' + mappath = "maps/submaps/surface_submaps/mountains/IceCave1C.dmm" cost = 10 /datum/map_template/surface/mountains/normal/SwordCave name = "Cursed Sword Cave" desc = "An underground lake. The sword on the lake's island holds a terrible secret." - mappath = 'maps/submaps/surface_submaps/mountains/SwordCave.dmm' + mappath = "maps/submaps/surface_submaps/mountains/SwordCave.dmm" /datum/map_template/surface/mountains/normal/supplydrop1 name = "Supply Drop 1" desc = "A drop pod that landed deep within the mountains." - mappath = 'maps/submaps/surface_submaps/mountains/SupplyDrop1.dmm' + mappath = "maps/submaps/surface_submaps/mountains/SupplyDrop1.dmm" cost = 10 allow_duplicates = TRUE /datum/map_template/surface/mountains/normal/crashedcontainmentshuttle name = "Crashed Cargo Shuttle" desc = "A severely damaged military shuttle, its cargo seems to remain intact." - mappath = 'maps/submaps/surface_submaps/mountains/crashedcontainmentshuttle_vr.dmm' //VOREStation Edit + mappath = "maps/submaps/surface_submaps/mountains/crashedcontainmentshuttle_vr.dmm" //VOREStation Edit cost = 30 /datum/map_template/surface/mountains/normal/deadspy name = "Spy Remains" desc = "W+M1 = Salt." - mappath = 'maps/submaps/surface_submaps/mountains/deadspy.dmm' + mappath = "maps/submaps/surface_submaps/mountains/deadspy.dmm" cost = 15 /datum/map_template/surface/mountains/normal/geyser1 name = "Ore-Rich Geyser" desc = "A subterranean geyser that produces steam. This one has a particularly abundant amount of materials surrounding it." - mappath = 'maps/submaps/surface_submaps/mountains/Geyser1.dmm' + mappath = "maps/submaps/surface_submaps/mountains/Geyser1.dmm" cost = 5 allow_duplicates = TRUE template_group = "Underground Geysers" @@ -216,7 +216,7 @@ /datum/map_template/surface/mountains/normal/geyser2 name = "Fenced Geyser" desc = "A subterranean geyser that produces steam. This one has a damaged fence surrounding it." - mappath = 'maps/submaps/surface_submaps/mountains/Geyser2.dmm' + mappath = "maps/submaps/surface_submaps/mountains/Geyser2.dmm" cost = 5 allow_duplicates = TRUE template_group = "Underground Geysers" @@ -224,7 +224,7 @@ /datum/map_template/surface/mountains/normal/geyser3 name = "Magmatic Geyser" desc = "A subterranean geyser that produces incendiary gas. It is recessed into the ground, and filled with magma. It's a relatively dormant volcano." - mappath = 'maps/submaps/surface_submaps/mountains/Geyser2.dmm' + mappath = "maps/submaps/surface_submaps/mountains/Geyser2.dmm" cost = 10 allow_duplicates = TRUE template_group = "Underground Geysers" @@ -232,7 +232,7 @@ /datum/map_template/surface/mountains/normal/cliff1 name = "Ore-Topped Cliff" desc = "A raised area of rock created by volcanic forces." - mappath = 'maps/submaps/surface_submaps/mountains/Cliff1.dmm' + mappath = "maps/submaps/surface_submaps/mountains/Cliff1.dmm" cost = 5 allow_duplicates = TRUE template_group = "Underground Cliffs" @@ -240,7 +240,7 @@ /datum/map_template/surface/mountains/normal/deadly_rabbit // VOREStation Edit name = "The Killer Rabbit" desc = "A cave where the Knights of the Round have fallen to a murderous Rabbit." - mappath = 'maps/submaps/surface_submaps/mountains/deadly_rabbit_vr.dmm' + mappath = "maps/submaps/surface_submaps/mountains/deadly_rabbit_vr.dmm" cost = 5 allow_duplicates = FALSE @@ -252,46 +252,46 @@ /datum/map_template/surface/mountains/deep/lost_explorer name = "Lost Explorer, Deep" desc = "The remains of an explorer who rotted away ages ago, and their equipment. Again." - mappath = 'maps/submaps/surface_submaps/mountains/lost_explorer.dmm' + mappath = "maps/submaps/surface_submaps/mountains/lost_explorer.dmm" cost = 5 allow_duplicates = TRUE */ /datum/map_template/surface/mountains/normal/crashed_ufo //VOREStation Edit name = "Crashed UFO" desc = "A (formerly) flying saucer that is now embedded into the mountain, yet it still seems to be running..." - mappath = 'maps/submaps/surface_submaps/mountains/crashed_ufo.dmm' + mappath = "maps/submaps/surface_submaps/mountains/crashed_ufo.dmm" cost = 40 discard_prob = 50 /datum/map_template/surface/mountains/normal/crashed_ufo_frigate //VOREStation Edit name = "Crashed UFO Frigate" desc = "A (formerly) flying saucer that is now embedded into the mountain, yet the combat protocols still seem to be running..." - mappath = 'maps/submaps/surface_submaps/mountains/crashed_ufo_frigate.dmm' + mappath = "maps/submaps/surface_submaps/mountains/crashed_ufo_frigate.dmm" cost = 60 discard_prob = 50 /datum/map_template/surface/mountains/normal/Scave1 //VOREStation Edit name = "Spider Cave 1" desc = "A minning tunnel home to an aggressive collection of spiders." - mappath = 'maps/submaps/surface_submaps/mountains/Scave1.dmm' + mappath = "maps/submaps/surface_submaps/mountains/Scave1.dmm" cost = 20 /datum/map_template/surface/mountains/normal/CaveTrench //VOREStation Edit name = "Cave River" desc = "A strange underground river." - mappath = 'maps/submaps/surface_submaps/mountains/CaveTrench.dmm' + mappath = "maps/submaps/surface_submaps/mountains/CaveTrench.dmm" cost = 20 /datum/map_template/surface/mountains/normal/Cavelake //VOREStation Edit name = "Cave Lake" desc = "A large underground lake." - mappath = 'maps/submaps/surface_submaps/mountains/Cavelake.dmm' + mappath = "maps/submaps/surface_submaps/mountains/Cavelake.dmm" cost = 20 /datum/map_template/surface/mountains/normal/vault1 //VOREStation Edit name = "Mine Vault 1" desc = "A small vault with potential loot." - mappath = 'maps/submaps/surface_submaps/mountains/vault1.dmm' + mappath = "maps/submaps/surface_submaps/mountains/vault1.dmm" cost = 5 allow_duplicates = TRUE template_group = "Buried Vaults" @@ -299,7 +299,7 @@ /datum/map_template/surface/mountains/normal/vault2 //VOREStation Edit name = "Mine Vault 2" desc = "A small vault with potential loot." - mappath = 'maps/submaps/surface_submaps/mountains/vault2.dmm' + mappath = "maps/submaps/surface_submaps/mountains/vault2.dmm" cost = 5 allow_duplicates = TRUE template_group = "Buried Vaults" @@ -307,68 +307,64 @@ /datum/map_template/surface/mountains/normal/vault3 //VOREStation Edit name = "Mine Vault 3" desc = "A small vault with potential loot. Also a horrible suprise." - mappath = 'maps/submaps/surface_submaps/mountains/vault3.dmm' + mappath = "maps/submaps/surface_submaps/mountains/vault3.dmm" cost = 15 template_group = "Buried Vaults" /datum/map_template/surface/mountains/normal/vault4 //VOREStation Edit name = "Mine Vault 4" desc = "A small xeno vault with potential loot. Also horrible suprises." - mappath = 'maps/submaps/surface_submaps/mountains/vault4.dmm' + mappath = "maps/submaps/surface_submaps/mountains/vault4.dmm" cost = 20 template_group = "Buried Vaults" /datum/map_template/surface/mountains/normal/vault5 //VOREStation Edit name = "Mine Vault 5" desc = "A small xeno vault with potential loot. Also major horrible suprises." - mappath = 'maps/submaps/surface_submaps/mountains/vault5.dmm' + mappath = "maps/submaps/surface_submaps/mountains/vault5.dmm" cost = 25 template_group = "Buried Vaults" /datum/map_template/surface/mountains/normal/vault6 //VOREStation Edit name = "Mine Vault 6" desc = "A small mercenary tower with potential loot." - mappath = 'maps/submaps/surface_submaps/mountains/vault6.dmm' + mappath = "maps/submaps/surface_submaps/mountains/vault6.dmm" cost = 25 template_group = "Buried Vaults" /datum/map_template/surface/mountains/normal/BlastMine1 //VOREStation Edit name = "Blast Mine 1" desc = "An abandoned blast mining site, seems that local wildlife has moved in." - mappath = 'maps/submaps/surface_submaps/mountains/BlastMine1.dmm' + mappath = "maps/submaps/surface_submaps/mountains/BlastMine1.dmm" cost = 20 /datum/map_template/surface/mountains/normal/lava_trench //VOREStation Edit name = "lava trench" desc = "A long stretch of lava underground, almost river-like, with a small crystal research outpost on the side." - mappath = 'maps/submaps/surface_submaps/mountains/lava_trench.dmm' + mappath = "maps/submaps/surface_submaps/mountains/lava_trench.dmm" cost = 20 - fixed_orientation = TRUE /datum/map_template/surface/mountains/normal/crashedmedshuttle //VOREStation Edit name = "Crashed Med Shuttle" desc = "A medical response shuttle that went missing some time ago. So this is where they went." - mappath = 'maps/submaps/surface_submaps/mountains/CrashedMedShuttle1_vr.dmm' //VOREStation Edit + mappath = "maps/submaps/surface_submaps/mountains/CrashedMedShuttle1_vr.dmm" //VOREStation Edit cost = 20 - fixed_orientation = TRUE /datum/map_template/surface/mountains/normal/excavation1 //VOREStation Edit name = "Excavation Site" desc = "An abandoned mining site." - mappath = 'maps/submaps/surface_submaps/mountains/excavation1.dmm' + mappath = "maps/submaps/surface_submaps/mountains/excavation1.dmm" cost = 20 /datum/map_template/surface/mountains/deep/spatial_anomaly name = "spatial anomaly" desc = "A strange section of the caves that seems twist and turn in ways that shouldn't be physically possible." - mappath = 'maps/submaps/surface_submaps/mountains/spatial_anomaly.dmm' + mappath = "maps/submaps/surface_submaps/mountains/spatial_anomaly.dmm" cost = INFINITY /// Prevent spawning. - fixed_orientation = TRUE /datum/map_template/surface/mountains/normal/Speakeasy //VOREStation add name = "Speakeasy" desc = "A hidden underground bar to serve drinks in secret and in style." - mappath = 'maps/submaps/surface_submaps/mountains/speakeasy_vr.dmm' + mappath = "maps/submaps/surface_submaps/mountains/speakeasy_vr.dmm" cost = 10 allow_duplicates = FALSE - diff --git a/maps/submaps/surface_submaps/mountains/prepper1.dmm b/maps/submaps/surface_submaps/mountains/prepper1.dmm index 2e9f7a24d4b..6bc8d21b58b 100644 --- a/maps/submaps/surface_submaps/mountains/prepper1.dmm +++ b/maps/submaps/surface_submaps/mountains/prepper1.dmm @@ -4,20 +4,20 @@ "d" = (/obj/structure/table/steel,/obj/random/maintenance/security,/obj/item/stack/cable_coil/random,/turf/simulated/floor/plating,/area/submap/cave/prepper1) "e" = (/obj/structure/table/steel,/obj/random/maintenance/engineering,/turf/simulated/floor/plating,/area/submap/cave/prepper1) "f" = (/obj/structure/table/steel,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/turf/simulated/floor/plating,/area/submap/cave/prepper1) -"g" = (/obj/structure/table/steel,/obj/item/weapon/storage/box/glasses,/turf/simulated/floor/plating,/area/submap/cave/prepper1) +"g" = (/obj/structure/table/steel,/obj/item/storage/box/glasses,/turf/simulated/floor/plating,/area/submap/cave/prepper1) "h" = (/obj/structure/table/steel,/obj/random/toolbox,/turf/simulated/floor/plating,/area/submap/cave/prepper1) "i" = (/turf/simulated/floor/plating,/area/submap/cave/prepper1) -"j" = (/obj/structure/table/steel,/obj/item/weapon/tape_roll,/obj/random/maintenance/engineering,/turf/simulated/floor/plating,/area/submap/cave/prepper1) +"j" = (/obj/structure/table/steel,/obj/item/tape_roll,/obj/random/maintenance/engineering,/turf/simulated/floor/plating,/area/submap/cave/prepper1) "k" = (/obj/structure/table/steel,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/item/stack/tile/floor/steel,/turf/simulated/floor/plating,/area/submap/cave/prepper1) "l" = (/obj/structure/inflatable/door,/turf/simulated/floor/plating,/area/submap/cave/prepper1) "m" = (/obj/structure/closet/wardrobe/grey,/turf/simulated/floor/plating,/area/submap/cave/prepper1) "n" = (/obj/structure/closet/crate/freezer/rations,/turf/simulated/floor/plating,/area/submap/cave/prepper1) "o" = (/obj/structure/reagent_dispensers/water_cooler/full,/turf/simulated/floor/plating,/area/submap/cave/prepper1) "p" = (/obj/structure/loot_pile/maint/technical,/turf/simulated/floor/plating,/area/submap/cave/prepper1) -"q" = (/obj/structure/table/rack,/obj/item/weapon/tank/emergency/oxygen/engi,/obj/item/weapon/tank/emergency/oxygen/engi,/obj/item/clothing/mask/gas,/obj/item/clothing/suit/armor/material/makeshift,/obj/item/clothing/head/helmet/bucket,/turf/simulated/floor/plating,/area/submap/cave/prepper1) -"r" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/plating,/area/submap/cave/prepper1) -"s" = (/obj/structure/table/steel,/obj/item/device/flashlight/lantern,/turf/simulated/floor/plating,/area/submap/cave/prepper1) -"t" = (/obj/structure/table/rack,/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever,/obj/item/ammo_magazine/clip/c762,/obj/item/ammo_magazine/clip/c762,/turf/simulated/floor/plating,/area/submap/cave/prepper1) +"q" = (/obj/structure/table/rack,/obj/item/tank/emergency/oxygen/engi,/obj/item/tank/emergency/oxygen/engi,/obj/item/clothing/mask/gas,/obj/item/clothing/suit/armor/material/makeshift,/obj/item/clothing/head/helmet/bucket,/turf/simulated/floor/plating,/area/submap/cave/prepper1) +"r" = (/obj/structure/bed,/obj/item/bedsheet,/turf/simulated/floor/plating,/area/submap/cave/prepper1) +"s" = (/obj/structure/table/steel,/obj/item/flashlight/lantern,/turf/simulated/floor/plating,/area/submap/cave/prepper1) +"t" = (/obj/structure/table/rack,/obj/item/gun/projectile/shotgun/pump/rifle/lever,/obj/item/ammo_magazine/clip/c762,/obj/item/ammo_magazine/clip/c762,/turf/simulated/floor/plating,/area/submap/cave/prepper1) (1,1,1) = {" aaaaaaaaaa diff --git a/maps/submaps/surface_submaps/mountains/quarantineshuttle.dmm b/maps/submaps/surface_submaps/mountains/quarantineshuttle.dmm index f2de7a729c1..4185b3c846d 100644 --- a/maps/submaps/surface_submaps/mountains/quarantineshuttle.dmm +++ b/maps/submaps/surface_submaps/mountains/quarantineshuttle.dmm @@ -124,7 +124,7 @@ "as" = ( /obj/machinery/vending/snack{ contraband = null; - products = list(/obj/item/weapon/reagent_containers/food/snacks/candy = 0, /obj/item/weapon/reagent_containers/food/drinks/dry_ramen = 0, /obj/item/weapon/reagent_containers/food/snacks/chips = 0, /obj/item/weapon/reagent_containers/food/snacks/sosjerky = 0, /obj/item/weapon/reagent_containers/food/snacks/no_raisin = 0, /obj/item/weapon/reagent_containers/food/snacks/packaged/spacetwinkie = 0, /obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers = 0, /obj/item/weapon/reagent_containers/food/snacks/tastybread = 0, /obj/item/weapon/reagent_containers/food/snacks/skrellsnacks = 0) + products = list(/obj/item/reagent_containers/food/snacks/candy = 0, /obj/item/reagent_containers/food/drinks/dry_ramen = 0, /obj/item/reagent_containers/food/snacks/chips = 0, /obj/item/reagent_containers/food/snacks/sosjerky = 0, /obj/item/reagent_containers/food/snacks/no_raisin = 0, /obj/item/reagent_containers/food/snacks/packaged/spacetwinkie = 0, /obj/item/reagent_containers/food/snacks/cheesiehonkers = 0, /obj/item/reagent_containers/food/snacks/tastybread = 0, /obj/item/reagent_containers/food/snacks/skrellsnacks = 0) }, /turf/simulated/shuttle/floor{ icon_state = "floor_white" @@ -133,7 +133,7 @@ "at" = ( /obj/machinery/vending/cola{ contraband = null; - products = list(/obj/item/weapon/reagent_containers/food/drinks/cans/cola = 0, /obj/item/weapon/reagent_containers/food/drinks/cans/space_mountain_wind = 0, /obj/item/weapon/reagent_containers/food/drinks/cans/dr_gibb = 0, /obj/item/weapon/reagent_containers/food/drinks/cans/starkist = 0, /obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle = 0, /obj/item/weapon/reagent_containers/food/drinks/cans/space_up = 0, /obj/item/weapon/reagent_containers/food/drinks/cans/iced_tea = 0, /obj/item/weapon/reagent_containers/food/drinks/cans/grape_juice = 0, /obj/item/weapon/reagent_containers/food/drinks/cans/gingerale = 0) + products = list(/obj/item/reagent_containers/food/drinks/cans/cola = 0, /obj/item/reagent_containers/food/drinks/cans/space_mountain_wind = 0, /obj/item/reagent_containers/food/drinks/cans/dr_gibb = 0, /obj/item/reagent_containers/food/drinks/cans/starkist = 0, /obj/item/reagent_containers/food/drinks/cans/waterbottle = 0, /obj/item/reagent_containers/food/drinks/cans/space_up = 0, /obj/item/reagent_containers/food/drinks/cans/iced_tea = 0, /obj/item/reagent_containers/food/drinks/cans/grape_juice = 0, /obj/item/reagent_containers/food/drinks/cans/gingerale = 0) }, /turf/simulated/shuttle/floor{ icon_state = "floor_white" @@ -146,7 +146,7 @@ }, /area/submap/cave/qShuttle) "av" = ( -/obj/item/weapon/pickaxe/drill, +/obj/item/pickaxe/drill, /turf/simulated/shuttle/floor{ icon_state = "floor_yellow" }, @@ -183,13 +183,13 @@ /area/submap/cave/qShuttle) "aB" = ( /obj/item/trash/cigbutt, -/obj/item/weapon/tank/emergency/oxygen, +/obj/item/tank/emergency/oxygen, /turf/simulated/shuttle/floor{ icon_state = "floor_yellow" }, /area/submap/cave/qShuttle) "aC" = ( -/obj/item/weapon/material/knife/tacknife/boot, +/obj/item/material/knife/tacknife/boot, /obj/item/clothing/mask/breath, /turf/simulated/shuttle/floor{ icon_state = "floor_yellow" @@ -203,8 +203,8 @@ /area/submap/cave/qShuttle) "aE" = ( /obj/item/trash/sosjerky, -/obj/item/weapon/storage/box/donut/empty, -/obj/item/weapon/reagent_containers/food/drinks/sillycup, +/obj/item/storage/box/donut/empty, +/obj/item/reagent_containers/food/drinks/sillycup, /turf/simulated/shuttle/floor{ icon_state = "floor_white" }, @@ -332,13 +332,13 @@ }, /area/submap/cave/qShuttle) "aV" = ( -/obj/item/weapon/virusdish/random, +/obj/item/virusdish/random, /turf/simulated/shuttle/floor{ icon_state = "floor_yellow" }, /area/submap/cave/qShuttle) "aW" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/shuttle/floor{ icon_state = "floor_yellow" }, @@ -390,7 +390,7 @@ }, /area/submap/cave/qShuttle) "bc" = ( -/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, /obj/effect/decal/cleanable/dirt, /turf/simulated/shuttle/floor{ icon_state = "floor_white" @@ -460,7 +460,7 @@ /area/submap/cave/qShuttle) "bk" = ( /obj/structure/table/rack, -/obj/item/weapon/shovel, +/obj/item/shovel, /turf/simulated/shuttle/floor{ icon_state = "floor_yellow" }, @@ -472,9 +472,9 @@ name = "Virus Samples - FRAGILE"; opened = 1 }, -/obj/item/weapon/virusdish/random, -/obj/item/weapon/virusdish/random, -/obj/item/weapon/virusdish/random, +/obj/item/virusdish/random, +/obj/item/virusdish/random, +/obj/item/virusdish/random, /turf/simulated/shuttle/floor{ icon_state = "floor_yellow" }, @@ -498,11 +498,11 @@ /area/submap/cave/qShuttle) "bn" = ( /obj/structure/table/standard, -/obj/item/device/taperecorder, +/obj/item/taperecorder, /turf/simulated/shuttle/floor, /area/submap/cave/qShuttle) "bo" = ( -/obj/item/weapon/tool/crowbar/red, +/obj/item/tool/crowbar/red, /turf/simulated/shuttle/floor{ icon_state = "floor_white" }, @@ -554,7 +554,7 @@ }, /area/submap/cave/qShuttle) "bv" = ( -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /turf/simulated/shuttle/floor{ @@ -574,7 +574,7 @@ }, /area/submap/cave/qShuttle) "by" = ( -/obj/item/weapon/coin/silver, +/obj/item/coin/silver, /turf/simulated/shuttle/floor{ icon_state = "floor_white" }, @@ -594,7 +594,7 @@ }, /area/submap/cave/qShuttle) "bB" = ( -/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, /turf/simulated/shuttle/floor{ icon_state = "floor_yellow" }, @@ -656,7 +656,7 @@ /area/submap/cave/qShuttle) "bJ" = ( /obj/item/trash/tastybread, -/obj/item/weapon/material/butterfly/boxcutter, +/obj/item/material/butterfly/boxcutter, /obj/effect/decal/cleanable/dirt, /turf/simulated/shuttle/floor{ icon_state = "floor_white" @@ -682,7 +682,7 @@ /obj/structure/bed/chair{ dir = 1 }, -/obj/item/weapon/card/id/external{ +/obj/item/card/id/external{ desc = "An identification card of some sort. Looks like this one was issued by the Vir Independent Mining Corp."; name = "VIMC identification card"; rank = "Miner"; @@ -694,7 +694,7 @@ /area/submap/cave/qShuttle) "bN" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, /turf/simulated/shuttle/floor{ icon_state = "floor_white" }, @@ -783,7 +783,7 @@ /area/submap/cave/qShuttle) "cc" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/box/bodybags, +/obj/item/storage/box/bodybags, /turf/simulated/mineral/floor/ignore_mapgen, /area/submap/cave/qShuttle) "cd" = ( @@ -797,7 +797,7 @@ /turf/simulated/mineral/floor/ignore_mapgen, /area/submap/cave/qShuttle) "cf" = ( -/obj/item/weapon/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/syringe/antiviral, /turf/simulated/mineral/floor/ignore_mapgen, /area/submap/cave/qShuttle) "cg" = ( @@ -810,12 +810,12 @@ /area/submap/cave/qShuttle) "ci" = ( /obj/structure/table/steel, -/obj/item/weapon/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/syringe/antiviral, /turf/simulated/mineral/floor/ignore_mapgen, /area/submap/cave/qShuttle) "cj" = ( /obj/structure/table/steel, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the 'Space' from Space Cleaner and written in Chemistry. Scrawled on the back is, 'Okay, whoever filled this with polytrinic acid, it was only funny the first time. It was hard enough replacing the CMO's first cat!'"; name = "Chemistry Cleaner" }, @@ -823,7 +823,7 @@ /area/submap/cave/qShuttle) "ck" = ( /obj/structure/table/steel, -/obj/item/weapon/tool/transforming/jawsoflife, +/obj/item/tool/transforming/jawsoflife, /turf/simulated/mineral/floor/ignore_mapgen, /area/submap/cave/qShuttle) "cl" = ( @@ -833,7 +833,7 @@ /turf/simulated/mineral/floor/ignore_mapgen, /area/submap/cave/qShuttle) "cm" = ( -/obj/item/weapon/weldingtool/largetank, +/obj/item/weldingtool/largetank, /turf/simulated/mineral/floor/ignore_mapgen, /area/submap/cave/qShuttle) "cn" = ( diff --git a/maps/submaps/surface_submaps/mountains/ritual.dmm b/maps/submaps/surface_submaps/mountains/ritual.dmm index 2e93dc0081a..a7dfb770fbe 100644 --- a/maps/submaps/surface_submaps/mountains/ritual.dmm +++ b/maps/submaps/surface_submaps/mountains/ritual.dmm @@ -1,6 +1,6 @@ "a" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CorgiRitual) "b" = (/obj/structure/plushie/ian,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CorgiRitual) -"c" = (/obj/item/weapon/flame/candle/everburn,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CorgiRitual) +"c" = (/obj/item/flame/candle/everburn,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CorgiRitual) "d" = (/obj/structure/plushie/ian{dir = 8},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CorgiRitual) "e" = (/obj/structure/plushie/ian{dir = 4},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CorgiRitual) "f" = (/obj/structure/ghost_pod/manual/corgi,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CorgiRitual) diff --git a/maps/submaps/surface_submaps/mountains/spatial_anomaly.dmm b/maps/submaps/surface_submaps/mountains/spatial_anomaly.dmm index 0adb4b8937d..c13276db590 100644 --- a/maps/submaps/surface_submaps/mountains/spatial_anomaly.dmm +++ b/maps/submaps/surface_submaps/mountains/spatial_anomaly.dmm @@ -8,7 +8,7 @@ "h" = (/obj/effect/map_effect/portal/line/side_a{icon_state = "portal_line_side_a"; dir = 4},/obj/effect/map_effect/perma_light/brighter{light_color = "#ff00ff"},/turf/simulated/floor/outdoors/rocks/caves,/area/submap/spatial_anomaly) "i" = (/obj/effect/map_effect/portal/line/side_b{icon_state = "portal_line_side_b"; dir = 8},/obj/effect/map_effect/perma_light/brighter{light_color = "#ff00ff"},/turf/simulated/floor/outdoors/rocks/caves,/area/submap/spatial_anomaly) "j" = (/turf/simulated/floor/lava,/area/submap/spatial_anomaly) -"k" = (/obj/item/weapon/disposable_teleporter/slime,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/spatial_anomaly) +"k" = (/obj/item/disposable_teleporter/slime,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/spatial_anomaly) "l" = (/obj/effect/map_effect/perma_light/brighter{light_color = "#ff00ff"},/turf/simulated/floor/outdoors/rocks/caves,/area/submap/spatial_anomaly) "m" = (/obj/effect/map_effect/perma_light/brighter{light_color = "#ff00ff"},/turf/simulated/floor/plating/external,/area/submap/spatial_anomaly) "n" = (/obj/effect/map_effect/portal/master/side_a{dir = 4; icon_state = "portal_side_a"; portal_id = "spatial_anomaly_3"},/obj/effect/map_effect/perma_light/brighter{light_color = "#ff00ff"},/turf/simulated/floor/outdoors/rocks/caves,/area/submap/spatial_anomaly) @@ -19,34 +19,34 @@ "s" = (/obj/machinery/crystal/lava,/turf/simulated/floor/lava,/area/submap/spatial_anomaly) "t" = (/turf/simulated/floor/plating/external,/area/submap/spatial_anomaly) "u" = (/obj/effect/map_effect/portal/master/side_a{portal_id = "spatial_anomaly_1"},/obj/effect/map_effect/perma_light/brighter{light_color = "#ff00ff"},/turf/simulated/floor/outdoors/rocks/caves,/area/submap/spatial_anomaly) -"v" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/plating/external,/area/submap/spatial_anomaly) -"w" = (/obj/structure/table/steel_reinforced,/obj/item/device/xenoarch_multi_tool,/turf/simulated/floor/plating/external,/area/submap/spatial_anomaly) +"v" = (/obj/item/stool/padded,/turf/simulated/floor/plating/external,/area/submap/spatial_anomaly) +"w" = (/obj/structure/table/steel_reinforced,/obj/item/xenoarch_multi_tool,/turf/simulated/floor/plating/external,/area/submap/spatial_anomaly) "x" = (/turf/simulated/wall/solidrock,/area/template_noop) "y" = (/obj/random/technology_scanner,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/spatial_anomaly) "z" = (/obj/structure/table/steel_reinforced,/obj/random/unidentified_medicine/scientific,/turf/simulated/floor/plating/external,/area/submap/spatial_anomaly) "A" = (/obj/structure/table/steel_reinforced,/obj/random/tool/power,/turf/simulated/floor/plating/external,/area/submap/spatial_anomaly) -"B" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/ore/diamond,/turf/simulated/floor/plating/external,/area/submap/spatial_anomaly) +"B" = (/obj/structure/table/steel_reinforced,/obj/item/ore/diamond,/turf/simulated/floor/plating/external,/area/submap/spatial_anomaly) "C" = (/obj/structure/sign/warning/lava,/turf/simulated/wall,/area/submap/spatial_anomaly) "D" = (/obj/effect/map_effect/portal/line/side_a,/obj/effect/map_effect/perma_light/brighter{light_color = "#ff00ff"},/turf/simulated/floor/outdoors/rocks/caves,/area/submap/spatial_anomaly) -"E" = (/obj/structure/table/rack,/obj/item/weapon/pickaxe/jackhammer,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/spatial_anomaly) +"E" = (/obj/structure/table/rack,/obj/item/pickaxe/jackhammer,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/spatial_anomaly) "F" = (/obj/effect/map_effect/portal/master/side_a{dir = 1; icon_state = "portal_side_a"; portal_id = "spatial_anomaly_2"},/obj/effect/map_effect/perma_light/brighter{light_color = "#ff00ff"},/turf/simulated/floor/outdoors/rocks/caves,/area/submap/spatial_anomaly) "G" = (/obj/effect/map_effect/portal/line/side_a{icon_state = "portal_line_side_a"; dir = 1},/obj/effect/map_effect/perma_light/brighter{light_color = "#ff00ff"},/turf/simulated/floor/outdoors/rocks/caves,/area/submap/spatial_anomaly) "H" = (/turf/unsimulated/wall,/area/template_noop) "I" = (/obj/effect/map_effect/portal/master/side_b{dir = 1; icon_state = "portal_side_b"; portal_id = "spatial_anomaly_1"},/obj/effect/map_effect/perma_light/brighter{light_color = "#ff00ff"},/turf/simulated/floor/outdoors/rocks/caves,/area/submap/spatial_anomaly) "J" = (/obj/effect/map_effect/portal/line/side_b{icon_state = "portal_line_side_b"; dir = 1},/obj/effect/map_effect/perma_light/brighter{light_color = "#ff00ff"},/turf/simulated/floor/outdoors/rocks/caves,/area/submap/spatial_anomaly) -"K" = (/obj/item/weapon/mining_scanner,/obj/structure/table/rack,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/spatial_anomaly) -"L" = (/obj/item/weapon/storage/belt/archaeology,/obj/effect/decal/remains/human,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/spatial_anomaly) +"K" = (/obj/item/mining_scanner,/obj/structure/table/rack,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/spatial_anomaly) +"L" = (/obj/item/storage/belt/archaeology,/obj/effect/decal/remains/human,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/spatial_anomaly) "M" = (/obj/structure/bookcase/manuals/xenoarchaeology,/turf/simulated/floor/plating/external,/area/submap/spatial_anomaly) -"N" = (/obj/item/weapon/pickaxe/brush,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/spatial_anomaly) -"O" = (/obj/item/weapon/pickaxe/one_pick,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/spatial_anomaly) -"P" = (/obj/item/weapon/pickaxe/four_pick,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/spatial_anomaly) +"N" = (/obj/item/pickaxe/brush,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/spatial_anomaly) +"O" = (/obj/item/pickaxe/one_pick,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/spatial_anomaly) +"P" = (/obj/item/pickaxe/four_pick,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/spatial_anomaly) "Q" = (/obj/effect/decal/remains/human,/turf/simulated/floor/plating/external,/area/submap/spatial_anomaly) -"R" = (/obj/item/weapon/pickaxe/five_pick,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/spatial_anomaly) -"S" = (/obj/item/weapon/pickaxe/six_pick,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/spatial_anomaly) -"T" = (/obj/item/weapon/pickaxe/two_pick,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/spatial_anomaly) -"U" = (/obj/item/device/measuring_tape,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/spatial_anomaly) -"X" = (/obj/item/weapon/pickaxe/three_pick,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/spatial_anomaly) -"Y" = (/obj/item/weapon/pickaxe/excavationdrill,/turf/simulated/floor/plating/external,/area/submap/spatial_anomaly) +"R" = (/obj/item/pickaxe/five_pick,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/spatial_anomaly) +"S" = (/obj/item/pickaxe/six_pick,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/spatial_anomaly) +"T" = (/obj/item/pickaxe/two_pick,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/spatial_anomaly) +"U" = (/obj/item/measuring_tape,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/spatial_anomaly) +"X" = (/obj/item/pickaxe/three_pick,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/spatial_anomaly) +"Y" = (/obj/item/pickaxe/excavationdrill,/turf/simulated/floor/plating/external,/area/submap/spatial_anomaly) (1,1,1) = {" ffffffffffffffffffffffffffffff diff --git a/maps/submaps/surface_submaps/mountains/speakeasy_vr.dmm b/maps/submaps/surface_submaps/mountains/speakeasy_vr.dmm index 15de0c4239f..ae1b36842d5 100644 --- a/maps/submaps/surface_submaps/mountains/speakeasy_vr.dmm +++ b/maps/submaps/surface_submaps/mountains/speakeasy_vr.dmm @@ -5,7 +5,7 @@ "h" = (/obj/random/handgun,/turf/simulated/floor/wood,/area/submap/Speakeasy) "i" = (/obj/item/clothing/head/fedora,/turf/simulated/floor/wood,/area/submap/Speakeasy) "j" = (/obj/structure/bookcase,/turf/simulated/floor/wood,/area/submap/Speakeasy) -"k" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/wood,/area/submap/Speakeasy) +"k" = (/obj/item/stool/padded,/turf/simulated/floor/wood,/area/submap/Speakeasy) "l" = (/obj/structure/bed/chair/comfy/black,/turf/simulated/floor/carpet/turcarpet,/area/submap/Speakeasy) "m" = (/obj/structure/table/woodentable,/obj/machinery/light/poi{dir = 4},/turf/simulated/floor/wood,/area/submap/Speakeasy) "n" = (/obj/structure/reagent_dispensers/beerkeg,/turf/simulated/floor/wood,/area/submap/Speakeasy) diff --git a/maps/submaps/surface_submaps/mountains/temple.dmm b/maps/submaps/surface_submaps/mountains/temple.dmm index 229045614f7..c03d70e440a 100644 --- a/maps/submaps/surface_submaps/mountains/temple.dmm +++ b/maps/submaps/surface_submaps/mountains/temple.dmm @@ -23,41 +23,41 @@ /turf/simulated/wall/sandstonediamond, /area/submap/AbandonedTemple) "h" = ( -/obj/item/weapon/flame/candle/everburn, +/obj/item/flame/candle/everburn, /turf/simulated/floor/tiled/asteroid_steel, /area/submap/AbandonedTemple) "i" = ( -/obj/item/weapon/ectoplasm, +/obj/item/ectoplasm, /turf/simulated/floor/tiled/asteroid_steel, /area/submap/AbandonedTemple) "j" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/coin/iron, -/obj/item/weapon/coin/platinum, -/obj/item/weapon/coin/uranium, -/obj/item/weapon/coin/diamond, -/obj/item/weapon/coin/iron, -/obj/item/weapon/coin/uranium, -/obj/item/weapon/coin/iron, -/obj/item/weapon/coin/phoron, -/obj/item/weapon/coin/platinum, +/obj/item/coin/iron, +/obj/item/coin/platinum, +/obj/item/coin/uranium, +/obj/item/coin/diamond, +/obj/item/coin/iron, +/obj/item/coin/uranium, +/obj/item/coin/iron, +/obj/item/coin/phoron, +/obj/item/coin/platinum, /obj/effect/decal/cleanable/cobweb, /turf/simulated/floor/tiled/asteroid_steel, /area/submap/AbandonedTemple) "k" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/silver, -/obj/item/weapon/coin/silver, -/obj/item/weapon/coin/silver, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/silver, -/obj/item/weapon/coin/silver, -/obj/item/weapon/coin/silver, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/silver, +/obj/item/coin/silver, +/obj/item/coin/silver, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/silver, +/obj/item/coin/silver, +/obj/item/coin/silver, /turf/simulated/floor/tiled/asteroid_steel, /area/submap/AbandonedTemple) "l" = ( @@ -82,7 +82,7 @@ /area/submap/AbandonedTemple) "q" = ( /obj/structure/table/woodentable, -/obj/item/weapon/flame/lighter/zippo/royal, +/obj/item/flame/lighter/zippo/royal, /obj/item/clothing/mask/smokable/pipe, /turf/simulated/floor/carpet/turcarpet, /area/submap/AbandonedTemple) @@ -108,8 +108,8 @@ /area/submap/AbandonedTemple) "v" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper, -/obj/item/weapon/pen/fountain, +/obj/item/paper, +/obj/item/pen/fountain, /turf/simulated/floor/carpet/turcarpet, /area/submap/AbandonedTemple) "w" = ( @@ -123,7 +123,7 @@ /area/submap/AbandonedTemple) "y" = ( /obj/structure/table/woodentable, -/obj/item/weapon/flame/candle/candelabra/everburn, +/obj/item/flame/candle/candelabra/everburn, /turf/simulated/floor/carpet/turcarpet, /area/submap/AbandonedTemple) "z" = ( @@ -166,7 +166,7 @@ /area/submap/AbandonedTemple) "G" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper/alien{ +/obj/item/paper/alien{ desc = ""; icon_state = "alienpaper_words"; info = "(On the screen of the tablet are several lines of characters written in a language you don't seem to recognize. At the end of each line is a set of numbers seperated by a colon. The screen flickers occasionally, as if damaged. Nothing about the tablet seems particularly interesting, but it does seem very, very old.)" @@ -196,12 +196,12 @@ /area/submap/AbandonedTemple) "M" = ( /obj/effect/decal/cleanable/cobweb, -/obj/item/weapon/flame/candle/candelabra/everburn, +/obj/item/flame/candle/candelabra/everburn, /turf/simulated/floor/tiled/asteroid_steel, /area/submap/AbandonedTemple) "N" = ( /obj/effect/decal/cleanable/cobweb2, -/obj/item/weapon/flame/candle/candelabra/everburn, +/obj/item/flame/candle/candelabra/everburn, /turf/simulated/floor/tiled/asteroid_steel, /area/submap/AbandonedTemple) "O" = ( diff --git a/maps/submaps/surface_submaps/mountains/vault5.dmm b/maps/submaps/surface_submaps/mountains/vault5.dmm index 89dcbf1bdfe..700e39409c1 100644 --- a/maps/submaps/surface_submaps/mountains/vault5.dmm +++ b/maps/submaps/surface_submaps/mountains/vault5.dmm @@ -1,14 +1,14 @@ "a" = (/turf/template_noop,/area/template_noop) "b" = (/obj/structure/alien/wall,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault5) "c" = (/obj/structure/simple_door/resin,/obj/effect/alien/weeds,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault5) -"d" = (/obj/effect/alien/weeds,/obj/structure/bed/nest,/obj/item/weapon/gun/projectile/p92x/large,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault5) +"d" = (/obj/effect/alien/weeds,/obj/structure/bed/nest,/obj/item/gun/projectile/p92x/large,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault5) "e" = (/obj/effect/alien/weeds,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault5) "f" = (/obj/effect/alien/weeds,/obj/item/clothing/suit/storage/vest/tactical,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault5) "g" = (/obj/effect/alien/weeds,/obj/structure/bed/nest,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault5) "h" = (/obj/effect/alien/weeds,/obj/random/multiple/minevault,/mob/living/simple_mob/animal/space/alien/sentinel/praetorian,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault5) "i" = (/obj/effect/alien/weeds,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault5) "j" = (/obj/effect/alien/weeds,/obj/effect/alien/weeds/node,/mob/living/simple_mob/animal/space/alien/queen/empress,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault5) -"k" = (/obj/effect/alien/weeds,/obj/item/clothing/head/helmet/tac,/obj/item/weapon/gun/projectile/SVD,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault5) +"k" = (/obj/effect/alien/weeds,/obj/item/clothing/head/helmet/tac,/obj/item/gun/projectile/SVD,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault5) (1,1,1) = {" aaaaaaaaa diff --git a/maps/submaps/surface_submaps/plains/Boathouse.dmm b/maps/submaps/surface_submaps/plains/Boathouse.dmm index 798ad3431f5..33b092a7d00 100644 --- a/maps/submaps/surface_submaps/plains/Boathouse.dmm +++ b/maps/submaps/surface_submaps/plains/Boathouse.dmm @@ -9,46 +9,46 @@ "ai" = (/turf/simulated/wall/wood,/area/submap/Boathouse) "aj" = (/obj/structure/closet/cabinet,/obj/item/clothing/accessory/jacket,/obj/item/clothing/accessory/jacket,/obj/item/clothing/head/beanie,/turf/simulated/floor/wood,/area/submap/Boathouse) "ak" = (/turf/simulated/floor/wood,/area/submap/Boathouse) -"al" = (/obj/structure/closet/cabinet,/obj/item/weapon/gun/projectile/shotgun/doublebarrel,/obj/item/ammo_magazine/ammo_box/b12g/beanbag,/turf/simulated/floor/wood,/area/submap/Boathouse) +"al" = (/obj/structure/closet/cabinet,/obj/item/gun/projectile/shotgun/doublebarrel,/obj/item/ammo_magazine/ammo_box/b12g/beanbag,/turf/simulated/floor/wood,/area/submap/Boathouse) "am" = (/turf/simulated/floor/carpet/turcarpet,/area/submap/Boathouse) -"an" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/wood,/area/submap/Boathouse) +"an" = (/obj/structure/table/woodentable,/obj/item/storage/toolbox/mechanical,/turf/simulated/floor/wood,/area/submap/Boathouse) "ao" = (/obj/structure/railing{dir = 8},/obj/structure/railing,/turf/simulated/floor/water,/area/submap/Boathouse) "ap" = (/obj/structure/railing,/turf/simulated/floor/water,/area/submap/Boathouse) -"aq" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/wood,/area/submap/Boathouse) -"ar" = (/obj/structure/table/woodentable,/obj/item/weapon/deck/cards,/turf/simulated/floor/carpet/turcarpet,/area/submap/Boathouse) -"as" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/snacks/chips,/turf/simulated/floor/carpet/turcarpet,/area/submap/Boathouse) +"aq" = (/obj/item/stool/padded,/turf/simulated/floor/wood,/area/submap/Boathouse) +"ar" = (/obj/structure/table/woodentable,/obj/item/deck/cards,/turf/simulated/floor/carpet/turcarpet,/area/submap/Boathouse) +"as" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/food/snacks/chips,/turf/simulated/floor/carpet/turcarpet,/area/submap/Boathouse) "at" = (/obj/structure/table/woodentable,/obj/item/trash/candle,/turf/simulated/floor/wood,/area/submap/Boathouse) -"au" = (/obj/item/weapon/stool,/turf/simulated/floor/wood,/area/submap/Boathouse) +"au" = (/obj/item/stool,/turf/simulated/floor/wood,/area/submap/Boathouse) "av" = (/turf/simulated/floor/wood{ icon_state = "wood_broken6"},/area/submap/Boathouse) "aw" = (/obj/structure/railing{dir = 8},/turf/simulated/floor/water,/area/submap/Boathouse) -"ax" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey,/turf/simulated/floor/carpet/turcarpet,/area/submap/Boathouse) -"ay" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/glass2/shot,/turf/simulated/floor/carpet/turcarpet,/area/submap/Boathouse) -"az" = (/obj/structure/table/woodentable,/obj/item/weapon/tape_roll,/obj/random/firstaid,/turf/simulated/floor/wood,/area/submap/Boathouse) -"aA" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/glass2/shot,/obj/item/weapon/reagent_containers/food/drinks/glass2/shot,/obj/item/weapon/reagent_containers/food/drinks/glass2/shot,/turf/simulated/floor/carpet/turcarpet,/area/submap/Boathouse) +"ax" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/food/drinks/bottle/whiskey,/turf/simulated/floor/carpet/turcarpet,/area/submap/Boathouse) +"ay" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/food/drinks/glass2/shot,/turf/simulated/floor/carpet/turcarpet,/area/submap/Boathouse) +"az" = (/obj/structure/table/woodentable,/obj/item/tape_roll,/obj/random/firstaid,/turf/simulated/floor/wood,/area/submap/Boathouse) +"aA" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/food/drinks/glass2/shot,/obj/item/reagent_containers/food/drinks/glass2/shot,/obj/item/reagent_containers/food/drinks/glass2/shot,/turf/simulated/floor/carpet/turcarpet,/area/submap/Boathouse) "aB" = (/turf/simulated/floor/wood{ icon_state = "wood_broken2"},/area/submap/Boathouse) "aC" = (/obj/structure/railing{dir = 8},/obj/structure/railing{ icon_state = "railing0"; dir = 1},/turf/simulated/floor/water,/area/submap/Boathouse) "aD" = (/obj/structure/railing{ icon_state = "railing0"; dir = 1},/turf/simulated/floor/water,/area/submap/Boathouse) "aE" = (/obj/vehicle/boat/sifwood,/turf/simulated/floor/water,/area/submap/Boathouse) "aF" = (/obj/structure/window/reinforced/full,/turf/simulated/floor/wood,/area/submap/Boathouse) -"aG" = (/obj/structure/table/woodentable,/obj/item/weapon/oar,/obj/item/weapon/oar,/turf/simulated/floor/wood,/area/submap/Boathouse) +"aG" = (/obj/structure/table/woodentable,/obj/item/oar,/obj/item/oar,/turf/simulated/floor/wood,/area/submap/Boathouse) "aH" = (/obj/structure/railing{ icon_state = "railing0"; dir = 8},/turf/simulated/floor/water,/area/submap/Boathouse) "aI" = (/obj/structure/table/woodentable,/obj/random/powercell,/turf/simulated/floor/wood,/area/submap/Boathouse) "aJ" = (/turf/simulated/floor/wood{ icon_state = "wood_broken4"},/area/submap/Boathouse) "aK" = (/obj/structure/railing{ icon_state = "railing0"; dir = 8},/obj/structure/railing{ icon_state = "railing0"; dir = 1},/turf/simulated/floor/water,/area/submap/Boathouse) "aL" = (/obj/structure/simple_door/wood,/turf/simulated/floor/wood,/area/submap/Boathouse) -"aM" = (/obj/structure/closet/secure_closet/freezer/fridge,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/fruitsalad,/turf/simulated/floor/wood,/area/submap/Boathouse) +"aM" = (/obj/structure/closet/secure_closet/freezer/fridge,/obj/item/reagent_containers/food/snacks/meat,/obj/item/reagent_containers/food/snacks/meat,/obj/item/reagent_containers/food/snacks/meat,/obj/item/reagent_containers/food/snacks/meat,/obj/item/reagent_containers/food/snacks/meat,/obj/item/reagent_containers/food/snacks/fruitsalad,/turf/simulated/floor/wood,/area/submap/Boathouse) "aN" = (/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/submap/Boathouse) "aO" = (/turf/simulated/floor/carpet/bcarpet,/area/submap/Boathouse) -"aP" = (/obj/structure/table/woodentable,/obj/item/weapon/material/knife,/turf/simulated/floor/wood,/area/submap/Boathouse) +"aP" = (/obj/structure/table/woodentable,/obj/item/material/knife,/turf/simulated/floor/wood,/area/submap/Boathouse) "aQ" = (/obj/structure/bookcase,/turf/simulated/floor/carpet/bcarpet,/area/submap/Boathouse) -"aR" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/bag/trash,/turf/simulated/floor/wood,/area/submap/Boathouse) -"aS" = (/obj/structure/table/woodentable,/obj/item/weapon/flame/lighter,/obj/item/weapon/storage/fancy/candle_box,/turf/simulated/floor/wood,/area/submap/Boathouse) +"aR" = (/obj/structure/table/woodentable,/obj/item/storage/bag/trash,/turf/simulated/floor/wood,/area/submap/Boathouse) +"aS" = (/obj/structure/table/woodentable,/obj/item/flame/lighter,/obj/item/storage/fancy/candle_box,/turf/simulated/floor/wood,/area/submap/Boathouse) "aT" = (/obj/structure/bed/chair/wood,/turf/simulated/floor/carpet/bcarpet,/area/submap/Boathouse) "aU" = (/obj/structure/table/rack,/obj/item/clothing/accessory/poncho/blue,/obj/item/clothing/accessory/poncho/blue,/turf/simulated/floor/wood,/area/submap/Boathouse) "aV" = (/obj/structure/coatrack,/turf/simulated/floor/wood,/area/submap/Boathouse) "aW" = (/obj/structure/table/rack,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/head/hood/winter,/obj/item/clothing/shoes/boots/winter,/turf/simulated/floor/wood,/area/submap/Boathouse) "aX" = (/obj/structure/table/rack,/obj/item/clothing/accessory/storage,/obj/item/clothing/accessory/storage,/turf/simulated/floor/wood,/area/submap/Boathouse) -"aY" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp,/turf/simulated/floor/carpet/bcarpet,/area/submap/Boathouse) +"aY" = (/obj/structure/table/woodentable,/obj/item/flashlight/lamp,/turf/simulated/floor/carpet/bcarpet,/area/submap/Boathouse) "aZ" = (/obj/structure/table/woodentable,/turf/simulated/floor/carpet/bcarpet,/area/submap/Boathouse) "ba" = (/turf/simulated/floor/outdoors/dirt,/area/submap/Boathouse) diff --git a/maps/submaps/surface_submaps/plains/Boathouse_vr.dmm b/maps/submaps/surface_submaps/plains/Boathouse_vr.dmm index 31ae85b9aaa..1eee3685f85 100644 --- a/maps/submaps/surface_submaps/plains/Boathouse_vr.dmm +++ b/maps/submaps/surface_submaps/plains/Boathouse_vr.dmm @@ -41,7 +41,7 @@ /area/submap/Boathouse) "al" = ( /obj/structure/closet/cabinet, -/obj/item/weapon/gun/projectile/shotgun/doublebarrel, +/obj/item/gun/projectile/shotgun/doublebarrel, /obj/item/ammo_magazine/ammo_box/b12g/beanbag, /turf/simulated/floor/wood, /area/submap/Boathouse) @@ -50,7 +50,7 @@ /area/submap/Boathouse) "an" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/floor/wood/virgo3b, /area/submap/Boathouse) "ao" = ( @@ -65,17 +65,17 @@ /turf/simulated/floor/water/virgo3b, /area/submap/Boathouse) "aq" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/wood, /area/submap/Boathouse) "ar" = ( /obj/structure/table/woodentable, -/obj/item/weapon/deck/cards, +/obj/item/deck/cards, /turf/simulated/floor/carpet/turcarpet, /area/submap/Boathouse) "as" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/chips, +/obj/item/reagent_containers/food/snacks/chips, /turf/simulated/floor/carpet/turcarpet, /area/submap/Boathouse) "at" = ( @@ -84,7 +84,7 @@ /turf/simulated/floor/wood/virgo3b, /area/submap/Boathouse) "au" = ( -/obj/item/weapon/stool, +/obj/item/stool, /turf/simulated/floor/wood/virgo3b, /area/submap/Boathouse) "aw" = ( @@ -95,25 +95,25 @@ /area/submap/Boathouse) "ax" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey, +/obj/item/reagent_containers/food/drinks/bottle/whiskey, /turf/simulated/floor/carpet/turcarpet, /area/submap/Boathouse) "ay" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/glass2/shot, +/obj/item/reagent_containers/food/drinks/glass2/shot, /turf/simulated/floor/carpet/turcarpet, /area/submap/Boathouse) "az" = ( /obj/structure/table/woodentable, -/obj/item/weapon/tape_roll, +/obj/item/tape_roll, /obj/random/firstaid, /turf/simulated/floor/wood/virgo3b, /area/submap/Boathouse) "aA" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/glass2/shot, -/obj/item/weapon/reagent_containers/food/drinks/glass2/shot, -/obj/item/weapon/reagent_containers/food/drinks/glass2/shot, +/obj/item/reagent_containers/food/drinks/glass2/shot, +/obj/item/reagent_containers/food/drinks/glass2/shot, +/obj/item/reagent_containers/food/drinks/glass2/shot, /turf/simulated/floor/carpet/turcarpet, /area/submap/Boathouse) "aD" = ( @@ -132,8 +132,8 @@ /area/submap/Boathouse) "aG" = ( /obj/structure/table/woodentable, -/obj/item/weapon/oar, -/obj/item/weapon/oar, +/obj/item/oar, +/obj/item/oar, /turf/simulated/floor/wood/virgo3b, /area/submap/Boathouse) "aI" = ( @@ -163,12 +163,12 @@ /area/submap/Boathouse) "aN" = ( /obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/fruitsalad, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/fruitsalad, /turf/simulated/floor/wood, /area/submap/Boathouse) "aO" = ( @@ -180,7 +180,7 @@ /area/submap/Boathouse) "aQ" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/knife, +/obj/item/material/knife, /turf/simulated/floor/wood, /area/submap/Boathouse) "aR" = ( @@ -189,13 +189,13 @@ /area/submap/Boathouse) "aS" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/bag/trash, +/obj/item/storage/bag/trash, /turf/simulated/floor/wood, /area/submap/Boathouse) "aT" = ( /obj/structure/table/woodentable, -/obj/item/weapon/flame/lighter, -/obj/item/weapon/storage/fancy/candle_box, +/obj/item/flame/lighter, +/obj/item/storage/fancy/candle_box, /turf/simulated/floor/wood, /area/submap/Boathouse) "aU" = ( @@ -228,7 +228,7 @@ /area/submap/Boathouse) "aZ" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/carpet/bcarpet, /area/submap/Boathouse) "ba" = ( diff --git a/maps/submaps/surface_submaps/plains/Diner.dmm b/maps/submaps/surface_submaps/plains/Diner.dmm index 22b89faf453..289235346b6 100644 --- a/maps/submaps/surface_submaps/plains/Diner.dmm +++ b/maps/submaps/surface_submaps/plains/Diner.dmm @@ -30,8 +30,8 @@ /area/submap/Diner) "ai" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, -/obj/item/weapon/reagent_containers/glass/beaker, +/obj/item/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/glass/beaker, /turf/simulated/floor/tiled/white, /area/submap/Diner) "aj" = ( @@ -39,7 +39,7 @@ /obj/machinery/light{ dir = 1 }, -/obj/item/weapon/material/knife/butch, +/obj/item/material/knife/butch, /turf/simulated/floor/tiled/white, /area/submap/Diner) "ak" = ( @@ -78,14 +78,14 @@ "ar" = ( /obj/effect/floor_decal/corner/red/diagonal, /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, -/obj/item/weapon/material/kitchen/utensil/fork, +/obj/item/reagent_containers/food/condiment/small/saltshaker, +/obj/item/material/kitchen/utensil/fork, /turf/simulated/floor/tiled/white, /area/submap/Diner) "as" = ( /obj/effect/floor_decal/corner/red/diagonal, /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, +/obj/item/reagent_containers/food/condiment/small/peppermill, /obj/machinery/light{ icon_state = "tube1"; dir = 4 @@ -102,12 +102,12 @@ /area/submap/Diner) "au" = ( /obj/structure/table/standard, -/obj/item/weapon/book/manual/chef_recipes, +/obj/item/book/manual/chef_recipes, /turf/simulated/floor/tiled/white, /area/submap/Diner) "av" = ( /obj/structure/table/standard, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/kitchen/rollingpin, /turf/simulated/floor/tiled/white, /area/submap/Diner) "aw" = ( @@ -125,16 +125,16 @@ /area/submap/Diner) "ay" = ( /obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, +/obj/item/reagent_containers/food/drinks/bottle/milk, +/obj/item/reagent_containers/food/drinks/bottle/milk, +/obj/item/reagent_containers/food/drinks/bottle/milk, +/obj/item/reagent_containers/food/drinks/bottle/cream, +/obj/item/reagent_containers/food/drinks/bottle/cream, +/obj/item/reagent_containers/food/drinks/bottle/cream, +/obj/item/reagent_containers/food/drinks/bottle/cream, +/obj/item/reagent_containers/food/condiment/carton/sugar, /turf/simulated/floor/tiled/white, /area/submap/Diner) "az" = ( @@ -151,20 +151,20 @@ /area/submap/Diner) "aC" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/small/saltshaker, /obj/effect/floor_decal/corner/red/diagonal, -/obj/item/weapon/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, /turf/simulated/floor/tiled/white, /area/submap/Diner) "aD" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, +/obj/item/reagent_containers/food/condiment/small/peppermill, /obj/effect/floor_decal/corner/red/diagonal, /turf/simulated/floor/tiled/white, /area/submap/Diner) "aE" = ( /obj/effect/floor_decal/corner/red/diagonal, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled/white, /area/submap/Diner) "aF" = ( @@ -192,7 +192,7 @@ "aJ" = ( /obj/structure/table/standard, /obj/effect/floor_decal/corner/red/diagonal, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/small/saltshaker, /turf/simulated/floor/tiled/white, /area/submap/Diner) "aK" = ( @@ -226,20 +226,20 @@ /obj/machinery/light/small{ dir = 4 }, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, /turf/simulated/floor/tiled/freezer, /area/submap/Diner) "aO" = ( /obj/structure/table/standard, /obj/effect/floor_decal/corner/red/diagonal, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, +/obj/item/reagent_containers/food/condiment/small/peppermill, /turf/simulated/floor/tiled/white, /area/submap/Diner) "aP" = ( @@ -250,13 +250,13 @@ /area/submap/Diner) "aQ" = ( /obj/structure/closet/crate/freezer, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, /turf/simulated/floor/tiled/freezer, /area/submap/Diner) "aR" = ( @@ -325,19 +325,19 @@ "bd" = ( /obj/effect/floor_decal/corner/red/diagonal, /obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice, -/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice, -/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice, -/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice, -/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, +/obj/item/reagent_containers/food/drinks/bottle/orangejuice, +/obj/item/reagent_containers/food/drinks/bottle/orangejuice, +/obj/item/reagent_containers/food/drinks/bottle/orangejuice, +/obj/item/reagent_containers/food/drinks/bottle/orangejuice, +/obj/item/reagent_containers/food/drinks/bottle/orangejuice, +/obj/item/reagent_containers/food/drinks/bottle/milk, +/obj/item/reagent_containers/food/drinks/bottle/milk, +/obj/item/reagent_containers/food/drinks/bottle/milk, +/obj/item/reagent_containers/food/drinks/bottle/milk, +/obj/item/reagent_containers/food/drinks/bottle/cream, +/obj/item/reagent_containers/food/drinks/bottle/cream, /turf/simulated/floor/tiled/white, /area/submap/Diner) "be" = ( @@ -351,7 +351,7 @@ /area/submap/Diner) "bg" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/lino, /area/submap/Diner) "bh" = ( @@ -374,7 +374,7 @@ /area/submap/Diner) "bl" = ( /obj/structure/table/woodentable, -/obj/item/weapon/cell/high, +/obj/item/cell/high, /turf/simulated/floor/lino, /area/submap/Diner) "bm" = ( diff --git a/maps/submaps/surface_submaps/plains/Diner_vr.dmm b/maps/submaps/surface_submaps/plains/Diner_vr.dmm index ed6b22d9eb9..59772a16f92 100644 --- a/maps/submaps/surface_submaps/plains/Diner_vr.dmm +++ b/maps/submaps/surface_submaps/plains/Diner_vr.dmm @@ -30,8 +30,8 @@ /area/submap/Diner) "ai" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, -/obj/item/weapon/reagent_containers/glass/beaker, +/obj/item/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/glass/beaker, /turf/simulated/floor/tiled/white, /area/submap/Diner) "aj" = ( @@ -39,7 +39,7 @@ /obj/machinery/light{ dir = 1 }, -/obj/item/weapon/material/knife/butch, +/obj/item/material/knife/butch, /turf/simulated/floor/tiled/white, /area/submap/Diner) "ak" = ( @@ -76,14 +76,14 @@ "ar" = ( /obj/effect/floor_decal/corner/red/diagonal, /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, -/obj/item/weapon/material/kitchen/utensil/fork, +/obj/item/reagent_containers/food/condiment/small/saltshaker, +/obj/item/material/kitchen/utensil/fork, /turf/simulated/floor/tiled/white, /area/submap/Diner) "as" = ( /obj/effect/floor_decal/corner/red/diagonal, /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, +/obj/item/reagent_containers/food/condiment/small/peppermill, /obj/machinery/light{ dir = 4 }, @@ -97,12 +97,12 @@ /area/submap/Diner) "au" = ( /obj/structure/table/standard, -/obj/item/weapon/book/manual/chef_recipes, +/obj/item/book/manual/chef_recipes, /turf/simulated/floor/tiled/white, /area/submap/Diner) "av" = ( /obj/structure/table/standard, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/kitchen/rollingpin, /turf/simulated/floor/tiled/white, /area/submap/Diner) "aw" = ( @@ -121,16 +121,16 @@ /area/submap/Diner) "ay" = ( /obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, +/obj/item/reagent_containers/food/drinks/bottle/milk, +/obj/item/reagent_containers/food/drinks/bottle/milk, +/obj/item/reagent_containers/food/drinks/bottle/milk, +/obj/item/reagent_containers/food/drinks/bottle/cream, +/obj/item/reagent_containers/food/drinks/bottle/cream, +/obj/item/reagent_containers/food/drinks/bottle/cream, +/obj/item/reagent_containers/food/drinks/bottle/cream, +/obj/item/reagent_containers/food/condiment/carton/sugar, /turf/simulated/floor/tiled/white, /area/submap/Diner) "az" = ( @@ -147,20 +147,20 @@ /area/submap/Diner) "aC" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/small/saltshaker, /obj/effect/floor_decal/corner/red/diagonal, -/obj/item/weapon/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, /turf/simulated/floor/tiled/white, /area/submap/Diner) "aD" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, +/obj/item/reagent_containers/food/condiment/small/peppermill, /obj/effect/floor_decal/corner/red/diagonal, /turf/simulated/floor/tiled/white, /area/submap/Diner) "aE" = ( /obj/effect/floor_decal/corner/red/diagonal, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled/white, /area/submap/Diner) "aF" = ( @@ -176,19 +176,19 @@ /area/submap/Diner) "aI" = ( /obj/structure/closet/crate/freezer, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, /turf/simulated/floor/tiled/freezer, /area/submap/Diner) "aJ" = ( /obj/structure/table/standard, /obj/effect/floor_decal/corner/red/diagonal, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/small/saltshaker, /turf/simulated/floor/tiled/white, /area/submap/Diner) "aK" = ( @@ -221,20 +221,20 @@ /obj/machinery/light/small{ dir = 4 }, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, /turf/simulated/floor/tiled/freezer, /area/submap/Diner) "aO" = ( /obj/structure/table/standard, /obj/effect/floor_decal/corner/red/diagonal, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, +/obj/item/reagent_containers/food/condiment/small/peppermill, /turf/simulated/floor/tiled/white, /area/submap/Diner) "aP" = ( @@ -245,13 +245,13 @@ /area/submap/Diner) "aQ" = ( /obj/structure/closet/crate/freezer, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, /turf/simulated/floor/tiled/freezer, /area/submap/Diner) "aR" = ( @@ -329,19 +329,19 @@ "bg" = ( /obj/effect/floor_decal/corner/red/diagonal, /obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice, -/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice, -/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice, -/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice, -/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, +/obj/item/reagent_containers/food/drinks/bottle/orangejuice, +/obj/item/reagent_containers/food/drinks/bottle/orangejuice, +/obj/item/reagent_containers/food/drinks/bottle/orangejuice, +/obj/item/reagent_containers/food/drinks/bottle/orangejuice, +/obj/item/reagent_containers/food/drinks/bottle/orangejuice, +/obj/item/reagent_containers/food/drinks/bottle/milk, +/obj/item/reagent_containers/food/drinks/bottle/milk, +/obj/item/reagent_containers/food/drinks/bottle/milk, +/obj/item/reagent_containers/food/drinks/bottle/milk, +/obj/item/reagent_containers/food/drinks/bottle/cream, +/obj/item/reagent_containers/food/drinks/bottle/cream, /turf/simulated/floor/tiled/white, /area/submap/Diner) "bh" = ( @@ -355,7 +355,7 @@ /area/submap/Diner) "bj" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/lino, /area/submap/Diner) "bk" = ( @@ -373,7 +373,7 @@ /area/submap/Diner) "bn" = ( /obj/structure/table/woodentable, -/obj/item/weapon/cell/high, +/obj/item/cell/high, /turf/simulated/floor/lino, /area/submap/Diner) "bo" = ( diff --git a/maps/submaps/surface_submaps/plains/Epod.dmm b/maps/submaps/surface_submaps/plains/Epod.dmm index b53f094c59e..72dac983bac 100644 --- a/maps/submaps/surface_submaps/plains/Epod.dmm +++ b/maps/submaps/surface_submaps/plains/Epod.dmm @@ -6,7 +6,7 @@ /turf/template_noop, /area/submap/Epod1) "c" = ( -/obj/item/weapon/airlock_electronics, +/obj/item/airlock_electronics, /turf/template_noop, /area/submap/Epod1) "d" = ( @@ -31,7 +31,7 @@ /area/submap/Epod1) "i" = ( /obj/structure/bed/chair, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -28 @@ -39,7 +39,7 @@ /obj/structure/closet/walllocker/emerglocker{ pixel_x = 28 }, -/obj/item/weapon/weldingtool, +/obj/item/weldingtool, /turf/simulated/shuttle/floor/virgo3b, /area/submap/Epod1) "j" = ( @@ -63,8 +63,8 @@ layer = 4; pixel_x = -32 }, -/obj/item/weapon/storage/backpack/satchel, -/obj/item/weapon/spacecash/c100, +/obj/item/storage/backpack/satchel, +/obj/item/spacecash/c100, /turf/simulated/shuttle/floor/virgo3b, /area/submap/Epod1) "m" = ( diff --git a/maps/submaps/surface_submaps/plains/Epod2.dmm b/maps/submaps/surface_submaps/plains/Epod2.dmm index fc7437ebced..9bd69ee8194 100644 --- a/maps/submaps/surface_submaps/plains/Epod2.dmm +++ b/maps/submaps/surface_submaps/plains/Epod2.dmm @@ -53,8 +53,8 @@ }, /obj/structure/window/reinforced, /obj/item/stack/rods, -/obj/item/weapon/material/shard, -/obj/item/weapon/material/shard{ +/obj/item/material/shard, +/obj/item/material/shard{ icon_state = "medium" }, /turf/simulated/shuttle/floor/virgo3b, @@ -69,7 +69,7 @@ /obj/machinery/status_display{ pixel_y = -32 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -88,7 +88,7 @@ /obj/effect/decal/cleanable/blood/drip, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/blood/drip, -/obj/item/weapon/reagent_containers/hypospray/autoinjector/empty, +/obj/item/reagent_containers/hypospray/autoinjector/empty, /turf/simulated/shuttle/floor/virgo3b, /area/submap/Epod2) "n" = ( diff --git a/maps/submaps/surface_submaps/plains/Field1.dmm b/maps/submaps/surface_submaps/plains/Field1.dmm index ca0e54188be..6f18d29fb0c 100644 --- a/maps/submaps/surface_submaps/plains/Field1.dmm +++ b/maps/submaps/surface_submaps/plains/Field1.dmm @@ -17,7 +17,7 @@ /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/Field1) "f" = ( -/obj/item/device/radio, +/obj/item/radio, /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/Field1) "g" = ( @@ -29,7 +29,7 @@ /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/Field1) "i" = ( -/obj/item/device/flashlight, +/obj/item/flashlight, /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/Field1) diff --git a/maps/submaps/surface_submaps/plains/Mechpt.dmm b/maps/submaps/surface_submaps/plains/Mechpt.dmm index 63b2f66dd4f..d48aff3fceb 100644 --- a/maps/submaps/surface_submaps/plains/Mechpt.dmm +++ b/maps/submaps/surface_submaps/plains/Mechpt.dmm @@ -16,14 +16,14 @@ "e" = ( /obj/structure/railing, /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/chips, +/obj/item/reagent_containers/food/snacks/chips, /turf/template_noop, /area/submap/Mechpt) "f" = ( /obj/structure/railing, /obj/structure/table/woodentable, -/obj/item/weapon/cell/high, -/obj/item/weapon/cell/high, +/obj/item/cell/high, +/obj/item/cell/high, /turf/template_noop, /area/submap/Mechpt) "g" = ( @@ -34,8 +34,8 @@ "h" = ( /obj/structure/railing, /obj/structure/table/woodentable, -/obj/item/weapon/spacecash/c10, -/obj/item/weapon/spacecash/c10, +/obj/item/spacecash/c10, +/obj/item/spacecash/c10, /turf/template_noop, /area/submap/Mechpt) "i" = ( @@ -96,7 +96,7 @@ dir = 1 }, /obj/structure/table/woodentable, -/obj/item/weapon/spacecash/c50, +/obj/item/spacecash/c50, /turf/template_noop, /area/submap/Mechpt) "u" = ( @@ -104,8 +104,8 @@ dir = 1 }, /obj/structure/table/woodentable, -/obj/item/weapon/cell/high, -/obj/item/weapon/cell/device/weapon, +/obj/item/cell/high, +/obj/item/cell/device/weapon, /turf/template_noop, /area/submap/Mechpt) "v" = ( @@ -113,7 +113,7 @@ dir = 1 }, /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, /turf/template_noop, /area/submap/Mechpt) diff --git a/maps/submaps/surface_submaps/plains/Oldhouse.dmm b/maps/submaps/surface_submaps/plains/Oldhouse.dmm index 3047b95ab38..96058de7da5 100644 --- a/maps/submaps/surface_submaps/plains/Oldhouse.dmm +++ b/maps/submaps/surface_submaps/plains/Oldhouse.dmm @@ -17,35 +17,35 @@ "q" = (/obj/item/stack/material/wood,/turf/simulated/floor/wood,/area/submap/Oldhouse) "r" = (/turf/simulated/floor/carpet/turcarpet,/area/submap/Oldhouse) "s" = (/turf/simulated/floor/wood{icon_state = "wood_broken4"},/area/submap/Oldhouse) -"t" = (/obj/structure/table/woodentable,/obj/item/weapon/paper,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/wood,/area/submap/Oldhouse) +"t" = (/obj/structure/table/woodentable,/obj/item/paper,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/wood,/area/submap/Oldhouse) "u" = (/obj/structure/simple_door/wood,/turf/simulated/floor/wood,/area/submap/Oldhouse) "v" = (/obj/structure/bed/chair/wood{icon_state = "wooden_chair"; dir = 1},/turf/simulated/floor/wood,/area/submap/Oldhouse) "w" = (/obj/item/stack/material/wood,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood,/area/submap/Oldhouse) "x" = (/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/wood{icon_state = "wood_broken6"},/area/submap/Oldhouse) "y" = (/obj/effect/decal/remains/mouse,/turf/simulated/floor/wood,/area/submap/Oldhouse) "z" = (/obj/structure/table/woodentable,/obj/item/stack/material/wood,/turf/simulated/floor/wood,/area/submap/Oldhouse) -"A" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/wood,/area/submap/Oldhouse) +"A" = (/obj/structure/bed,/obj/item/bedsheet,/turf/simulated/floor/wood,/area/submap/Oldhouse) "B" = (/obj/structure/bed/chair/comfy/teal,/turf/simulated/floor/wood,/area/submap/Oldhouse) "C" = (/obj/structure/bookcase,/turf/simulated/floor/carpet/turcarpet,/area/submap/Oldhouse) "D" = (/obj/structure/table,/turf/simulated/floor/wood,/area/submap/Oldhouse) "E" = (/obj/structure/table/woodentable,/obj/item/trash/candle,/turf/simulated/floor/wood,/area/submap/Oldhouse) -"F" = (/obj/structure/table/woodentable,/obj/item/weapon/pen/blue,/turf/simulated/floor/wood,/area/submap/Oldhouse) -"G" = (/obj/item/weapon/reagent_containers/food/snacks/chips,/obj/item/weapon/reagent_containers/food/snacks/chips,/turf/simulated/floor/carpet/turcarpet,/area/submap/Oldhouse) -"H" = (/obj/structure/table/woodentable,/obj/item/weapon/flame/candle,/turf/simulated/floor/wood,/area/submap/Oldhouse) +"F" = (/obj/structure/table/woodentable,/obj/item/pen/blue,/turf/simulated/floor/wood,/area/submap/Oldhouse) +"G" = (/obj/item/reagent_containers/food/snacks/chips,/obj/item/reagent_containers/food/snacks/chips,/turf/simulated/floor/carpet/turcarpet,/area/submap/Oldhouse) +"H" = (/obj/structure/table/woodentable,/obj/item/flame/candle,/turf/simulated/floor/wood,/area/submap/Oldhouse) "I" = (/obj/structure/bed/chair/wood{icon_state = "wooden_chair"; dir = 8},/turf/simulated/floor/carpet/turcarpet,/area/submap/Oldhouse) "J" = (/obj/effect/decal/remains/mouse,/turf/simulated/floor/carpet/turcarpet,/area/submap/Oldhouse) -"K" = (/obj/structure/table/woodentable,/obj/item/weapon/paper,/obj/item/weapon/paper,/turf/simulated/floor/wood,/area/submap/Oldhouse) -"L" = (/obj/structure/table/woodentable,/obj/item/weapon/paper/crumpled,/turf/simulated/floor/wood,/area/submap/Oldhouse) +"K" = (/obj/structure/table/woodentable,/obj/item/paper,/obj/item/paper,/turf/simulated/floor/wood,/area/submap/Oldhouse) +"L" = (/obj/structure/table/woodentable,/obj/item/paper/crumpled,/turf/simulated/floor/wood,/area/submap/Oldhouse) "M" = (/obj/structure/frame,/turf/simulated/floor/wood,/area/submap/Oldhouse) "N" = (/mob/living/simple_mob/animal/giant_spider{attack_armor_pen = 100; attacktext = list("lightly bonked"); desc = "Furry and brown, this spider is so goddamn fat you're surprised it even moves around."; faction = "neutral"; health = 400; melee_damage_lower = 1; melee_damage_upper = 3; melee_miss_chance = 30; movement_cooldown = 8; name = "Mr. Tuddly"},/turf/simulated/floor/carpet/turcarpet,/area/submap/Oldhouse) "O" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/carpet/turcarpet,/area/submap/Oldhouse) -"P" = (/obj/item/weapon/circuitboard/papershredder,/turf/simulated/floor/wood,/area/submap/Oldhouse) -"Q" = (/obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers,/obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers,/turf/simulated/floor/carpet/turcarpet,/area/submap/Oldhouse) +"P" = (/obj/item/circuitboard/papershredder,/turf/simulated/floor/wood,/area/submap/Oldhouse) +"Q" = (/obj/item/reagent_containers/food/snacks/cheesiehonkers,/obj/item/reagent_containers/food/snacks/cheesiehonkers,/turf/simulated/floor/carpet/turcarpet,/area/submap/Oldhouse) "R" = (/obj/effect/decal/cleanable/spiderling_remains,/turf/simulated/floor/wood,/area/submap/Oldhouse) -"S" = (/obj/item/weapon/paper/crumpled,/turf/simulated/floor/wood,/area/submap/Oldhouse) -"T" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/backpack/satchel,/turf/simulated/floor/wood,/area/submap/Oldhouse) +"S" = (/obj/item/paper/crumpled,/turf/simulated/floor/wood,/area/submap/Oldhouse) +"T" = (/obj/structure/table/woodentable,/obj/item/storage/backpack/satchel,/turf/simulated/floor/wood,/area/submap/Oldhouse) "U" = (/obj/structure/table/rack,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/head/hood/winter,/obj/item/clothing/head/hood/winter,/turf/simulated/floor/wood,/area/submap/Oldhouse) -"V" = (/obj/item/device/flashlight,/turf/simulated/floor/wood,/area/submap/Oldhouse) +"V" = (/obj/item/flashlight,/turf/simulated/floor/wood,/area/submap/Oldhouse) "W" = (/obj/structure/table/rack,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/shoes/boots/winter,/turf/simulated/floor/wood,/area/submap/Oldhouse) "X" = (/obj/structure/coatrack,/turf/simulated/floor/wood,/area/submap/Oldhouse) "Y" = (/obj/structure/table/woodentable,/turf/simulated/floor/wood{icon_state = "wood_broken6"},/area/submap/Oldhouse) diff --git a/maps/submaps/surface_submaps/plains/Oldhouse_vr.dmm b/maps/submaps/surface_submaps/plains/Oldhouse_vr.dmm index 56622df92fc..bdb7cdb825c 100644 --- a/maps/submaps/surface_submaps/plains/Oldhouse_vr.dmm +++ b/maps/submaps/surface_submaps/plains/Oldhouse_vr.dmm @@ -80,7 +80,7 @@ /area/submap/Oldhouse) "at" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper, +/obj/item/paper, /obj/effect/decal/cleanable/cobweb2, /turf/simulated/floor/wood, /area/submap/Oldhouse) @@ -117,7 +117,7 @@ /area/submap/Oldhouse) "aA" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /turf/simulated/floor/wood, /area/submap/Oldhouse) "aB" = ( @@ -139,17 +139,17 @@ /area/submap/Oldhouse) "aF" = ( /obj/structure/table/woodentable, -/obj/item/weapon/pen/blue, +/obj/item/pen/blue, /turf/simulated/floor/wood, /area/submap/Oldhouse) "aG" = ( -/obj/item/weapon/reagent_containers/food/snacks/chips, -/obj/item/weapon/reagent_containers/food/snacks/chips, +/obj/item/reagent_containers/food/snacks/chips, +/obj/item/reagent_containers/food/snacks/chips, /turf/simulated/floor/carpet/turcarpet, /area/submap/Oldhouse) "aH" = ( /obj/structure/table/woodentable, -/obj/item/weapon/flame/candle, +/obj/item/flame/candle, /turf/simulated/floor/wood, /area/submap/Oldhouse) "aI" = ( @@ -165,13 +165,13 @@ /area/submap/Oldhouse) "aK" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper, -/obj/item/weapon/paper, +/obj/item/paper, +/obj/item/paper, /turf/simulated/floor/wood, /area/submap/Oldhouse) "aL" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper/crumpled, +/obj/item/paper/crumpled, /turf/simulated/floor/wood, /area/submap/Oldhouse) "aM" = ( @@ -199,12 +199,12 @@ /turf/simulated/floor/carpet/turcarpet, /area/submap/Oldhouse) "aP" = ( -/obj/item/weapon/circuitboard/papershredder, +/obj/item/circuitboard/papershredder, /turf/simulated/floor/wood, /area/submap/Oldhouse) "aQ" = ( -/obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers, -/obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers, +/obj/item/reagent_containers/food/snacks/cheesiehonkers, +/obj/item/reagent_containers/food/snacks/cheesiehonkers, /turf/simulated/floor/carpet/turcarpet, /area/submap/Oldhouse) "aR" = ( @@ -212,12 +212,12 @@ /turf/simulated/floor/wood, /area/submap/Oldhouse) "aS" = ( -/obj/item/weapon/paper/crumpled, +/obj/item/paper/crumpled, /turf/simulated/floor/wood, /area/submap/Oldhouse) "aT" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/backpack/satchel, +/obj/item/storage/backpack/satchel, /turf/simulated/floor/wood, /area/submap/Oldhouse) "aU" = ( @@ -229,7 +229,7 @@ /turf/simulated/floor/wood, /area/submap/Oldhouse) "aV" = ( -/obj/item/device/flashlight, +/obj/item/flashlight, /turf/simulated/floor/wood, /area/submap/Oldhouse) "aW" = ( diff --git a/maps/submaps/surface_submaps/plains/Peninsula.dmm b/maps/submaps/surface_submaps/plains/Peninsula.dmm index b33fee45bb8..ae188f1f1af 100644 --- a/maps/submaps/surface_submaps/plains/Peninsula.dmm +++ b/maps/submaps/surface_submaps/plains/Peninsula.dmm @@ -20,13 +20,13 @@ /area/submap/Peninsula) "g" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight, +/obj/item/flashlight, /turf/template_noop, /area/submap/Peninsula) "h" = ( /obj/structure/table/woodentable, -/obj/item/weapon/cell/device, -/obj/item/weapon/cell/device, +/obj/item/cell/device, +/obj/item/cell/device, /turf/template_noop, /area/submap/Peninsula) "i" = ( diff --git a/maps/submaps/surface_submaps/plains/PooledR.dmm b/maps/submaps/surface_submaps/plains/PooledR.dmm index 93d8a3f09fa..3fb5a8df752 100644 --- a/maps/submaps/surface_submaps/plains/PooledR.dmm +++ b/maps/submaps/surface_submaps/plains/PooledR.dmm @@ -3,9 +3,9 @@ "c" = (/turf/simulated/mineral/ignore_mapgen,/area/submap/PooledR) "d" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/submap/PooledR) "e" = (/obj/structure/table/woodentable,/turf/template_noop,/area/submap/PooledR) -"f" = (/obj/structure/table/woodentable,/obj/item/weapon/material/knife,/turf/template_noop,/area/submap/PooledR) +"f" = (/obj/structure/table/woodentable,/obj/item/material/knife,/turf/template_noop,/area/submap/PooledR) "g" = (/obj/structure/flora/ausbushes/palebush,/turf/template_noop,/area/submap/PooledR) -"h" = (/obj/structure/table/woodentable,/obj/item/weapon/gun/energy/retro{cell_type = /obj/item/weapon/cell/device/weapon/empty},/turf/template_noop,/area/submap/PooledR) +"h" = (/obj/structure/table/woodentable,/obj/item/gun/energy/retro{cell_type = /obj/item/cell/device/weapon/empty},/turf/template_noop,/area/submap/PooledR) "i" = (/obj/structure/flora/ausbushes/reedbush,/turf/template_noop,/area/submap/PooledR) "j" = (/turf/simulated/floor/outdoors/rocks,/area/submap/PooledR) "k" = (/obj/structure/flora/ausbushes,/turf/template_noop,/area/submap/PooledR) diff --git a/maps/submaps/surface_submaps/plains/PooledR_vr.dmm b/maps/submaps/surface_submaps/plains/PooledR_vr.dmm index be2aac0d21f..ecd69b2a2c9 100644 --- a/maps/submaps/surface_submaps/plains/PooledR_vr.dmm +++ b/maps/submaps/surface_submaps/plains/PooledR_vr.dmm @@ -18,7 +18,7 @@ /area/submap/PooledR) "f" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/knife, +/obj/item/material/knife, /turf/template_noop, /area/submap/PooledR) "g" = ( @@ -27,8 +27,8 @@ /area/submap/PooledR) "h" = ( /obj/structure/table/woodentable, -/obj/item/weapon/gun/energy/retro{ - cell_type = /obj/item/weapon/cell/device/weapon/empty +/obj/item/gun/energy/retro{ + cell_type = /obj/item/cell/device/weapon/empty }, /turf/template_noop, /area/submap/PooledR) diff --git a/maps/submaps/surface_submaps/plains/Shakden.dmm b/maps/submaps/surface_submaps/plains/Shakden.dmm index 86f2057db1e..e512a8e47c2 100644 --- a/maps/submaps/surface_submaps/plains/Shakden.dmm +++ b/maps/submaps/surface_submaps/plains/Shakden.dmm @@ -3,12 +3,12 @@ "c" = (/turf/simulated/mineral/ignore_mapgen,/area/submap/Shakden) "d" = (/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Shakden) "e" = (/obj/effect/decal/remains/mouse,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Shakden) -"f" = (/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Shakden) +"f" = (/obj/item/reagent_containers/food/snacks/meat,/obj/item/reagent_containers/food/snacks/meat,/obj/item/reagent_containers/food/snacks/meat,/obj/item/reagent_containers/food/snacks/meat,/obj/item/reagent_containers/food/snacks/meat,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Shakden) "g" = (/mob/living/simple_mob/animal/sif/shantak/retaliate,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Shakden) -"h" = (/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Shakden) +"h" = (/obj/item/reagent_containers/food/snacks/meat,/obj/item/reagent_containers/food/snacks/meat,/obj/item/reagent_containers/food/snacks/meat,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Shakden) "i" = (/mob/living/simple_mob/animal/sif/shantak/retaliate,/turf/simulated/floor/outdoors/dirt,/area/submap/Shakden) -"j" = (/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Shakden) -"k" = (/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/material/knife/hook,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Shakden) +"j" = (/obj/item/reagent_containers/food/snacks/meat,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Shakden) +"k" = (/obj/item/reagent_containers/food/snacks/meat,/obj/item/reagent_containers/food/snacks/meat,/obj/item/reagent_containers/food/snacks/meat,/obj/item/reagent_containers/food/snacks/meat,/obj/item/material/knife/hook,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Shakden) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaa diff --git a/maps/submaps/surface_submaps/plains/Shakden_vr.dmm b/maps/submaps/surface_submaps/plains/Shakden_vr.dmm index 3676259c873..175b12fbb07 100644 --- a/maps/submaps/surface_submaps/plains/Shakden_vr.dmm +++ b/maps/submaps/surface_submaps/plains/Shakden_vr.dmm @@ -15,19 +15,19 @@ }, /area/submap/Shakden) "f" = ( -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, /turf/simulated/floor/outdoors/dirt/virgo3b{ outdoors = 0 }, /area/submap/Shakden) "g" = ( -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, /turf/simulated/floor/outdoors/dirt/virgo3b{ outdoors = 0 }, @@ -44,17 +44,17 @@ }, /area/submap/Shakden) "j" = ( -/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, /turf/simulated/floor/outdoors/dirt/virgo3b{ outdoors = 0 }, /area/submap/Shakden) "k" = ( -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/material/knife/hook, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/material/knife/hook, /turf/simulated/floor/outdoors/dirt/virgo3b{ outdoors = 0 }, diff --git a/maps/submaps/surface_submaps/plains/Smol3.dmm b/maps/submaps/surface_submaps/plains/Smol3.dmm index 4008262f5d5..fb8c898e6df 100644 --- a/maps/submaps/surface_submaps/plains/Smol3.dmm +++ b/maps/submaps/surface_submaps/plains/Smol3.dmm @@ -17,30 +17,30 @@ /area/submap/Smol3) "f" = ( /obj/structure/closet/crate/freezer, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/Smol3) "g" = ( /obj/structure/closet/crate/freezer, -/obj/item/weapon/reagent_containers/food/snacks/chips, -/obj/item/weapon/reagent_containers/food/snacks/chips, -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/snacks/chips, +/obj/item/reagent_containers/food/snacks/chips, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/Smol3) "h" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper{ +/obj/item/paper{ desc = "Lamen's Hunter Shack! Selling freshly hunted meat for six thalers a slab. Support Locale hunters! Also selling Getmore Products for 3 thalers a bag, or 2 thalers for a bottle of water. Please place all payments into the nearbye bag." }, /turf/simulated/floor/outdoors/dirt/virgo3b, @@ -51,7 +51,7 @@ /area/submap/Smol3) "j" = ( /obj/structure/table/woodentable, -/obj/item/weapon/spacecash/c200, +/obj/item/spacecash/c200, /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/Smol3) diff --git a/maps/submaps/surface_submaps/plains/SupplyDrop2.dmm b/maps/submaps/surface_submaps/plains/SupplyDrop2.dmm index 6375aedaa58..860ad04e181 100644 --- a/maps/submaps/surface_submaps/plains/SupplyDrop2.dmm +++ b/maps/submaps/surface_submaps/plains/SupplyDrop2.dmm @@ -20,14 +20,14 @@ /turf/simulated/floor/reinforced/virgo3b, /area/submap/SupplyDrop2) "h" = ( -/obj/item/device/flashlight, +/obj/item/flashlight, /turf/simulated/floor/reinforced/virgo3b, /area/submap/SupplyDrop2) "i" = ( /obj/structure/loot_pile/maint/technical, -/obj/item/device/gps/internal/poi, -/obj/item/weapon/cell/device/weapon/empty, -/obj/item/weapon/cell/device/weapon/empty, +/obj/item/gps/internal/poi, +/obj/item/cell/device/weapon/empty, +/obj/item/cell/device/weapon/empty, /turf/simulated/floor/reinforced/virgo3b, /area/submap/SupplyDrop2) "j" = ( diff --git a/maps/submaps/surface_submaps/plains/Thiefc.dmm b/maps/submaps/surface_submaps/plains/Thiefc.dmm index a19b8e603e7..74585d3c7ad 100644 --- a/maps/submaps/surface_submaps/plains/Thiefc.dmm +++ b/maps/submaps/surface_submaps/plains/Thiefc.dmm @@ -1,18 +1,18 @@ "a" = (/turf/template_noop,/area/template_noop) "b" = (/turf/template_noop,/area/submap/Thiefc) "c" = (/turf/simulated/mineral/ignore_mapgen,/area/submap/Thiefc) -"d" = (/obj/structure/ore_box,/obj/item/weapon/ore/coal,/obj/item/weapon/ore/coal,/obj/item/weapon/ore/coal,/obj/item/weapon/ore/coal,/obj/item/weapon/ore/coal,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Thiefc) -"e" = (/obj/structure/closet/crate,/obj/item/weapon/extinguisher,/obj/item/weapon/extinguisher,/obj/item/weapon/extinguisher,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Thiefc) +"d" = (/obj/structure/ore_box,/obj/item/ore/coal,/obj/item/ore/coal,/obj/item/ore/coal,/obj/item/ore/coal,/obj/item/ore/coal,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Thiefc) +"e" = (/obj/structure/closet/crate,/obj/item/extinguisher,/obj/item/extinguisher,/obj/item/extinguisher,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Thiefc) "f" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Thiefc) -"g" = (/obj/item/weapon/ore/coal,/obj/item/weapon/ore/coal,/obj/item/weapon/ore/coal,/obj/item/weapon/ore/coal,/obj/item/weapon/ore/coal,/obj/item/weapon/ore/coal,/obj/item/weapon/ore/coal,/obj/item/weapon/ore/coal,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Thiefc) +"g" = (/obj/item/ore/coal,/obj/item/ore/coal,/obj/item/ore/coal,/obj/item/ore/coal,/obj/item/ore/coal,/obj/item/ore/coal,/obj/item/ore/coal,/obj/item/ore/coal,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Thiefc) "h" = (/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Thiefc) -"i" = (/obj/structure/closet/crate,/obj/item/weapon/lipstick,/obj/item/weapon/lipstick/black,/obj/item/weapon/lipstick/random,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Thiefc) -"j" = (/obj/structure/table/steel,/obj/item/weapon/beartrap,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Thiefc) +"i" = (/obj/structure/closet/crate,/obj/item/lipstick,/obj/item/lipstick/black,/obj/item/lipstick/random,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Thiefc) +"j" = (/obj/structure/table/steel,/obj/item/beartrap,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Thiefc) "k" = (/obj/vehicle/train/trolley,/obj/random/firstaid,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Thiefc) -"l" = (/obj/structure/closet/crate,/obj/item/weapon/folder/blue,/obj/item/weapon/folder/red,/obj/item/weapon/folder/white,/obj/item/weapon/folder/yellow,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Thiefc) -"m" = (/obj/structure/table/steel,/obj/item/weapon/paper{desc = "This is some bullshit. First chance we got to knick something that looks half decent turns out to be mostly junk. And now we're getting calls that the other stash we've got has got a spider problem. Fuck this, Between the shitty weather, The pissed of bugs, And now apparently some NT goon running around in the area there's hardly enough reason to stick around. I'm telling Carl I'm out tommorow."; name = "Note"},/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Thiefc) +"l" = (/obj/structure/closet/crate,/obj/item/folder/blue,/obj/item/folder/red,/obj/item/folder/white,/obj/item/folder/yellow,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Thiefc) +"m" = (/obj/structure/table/steel,/obj/item/paper{desc = "This is some bullshit. First chance we got to knick something that looks half decent turns out to be mostly junk. And now we're getting calls that the other stash we've got has got a spider problem. Fuck this, Between the shitty weather, The pissed of bugs, And now apparently some NT goon running around in the area there's hardly enough reason to stick around. I'm telling Carl I'm out tommorow."; name = "Note"},/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Thiefc) "n" = (/obj/vehicle/train/trolley,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Thiefc) -"o" = (/obj/structure/closet/crate,/obj/item/weapon/cell/device/weapon,/obj/item/weapon/cell/device/weapon,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Thiefc) +"o" = (/obj/structure/closet/crate,/obj/item/cell/device/weapon,/obj/item/cell/device/weapon,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Thiefc) "p" = (/obj/structure/closet/crate,/obj/item/ammo_magazine/ammo_box/b12g,/obj/item/ammo_magazine/ammo_box/b12g/practice,/obj/random/projectile/scrapped_gun,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Thiefc) (1,1,1) = {" diff --git a/maps/submaps/surface_submaps/plains/Thiefc_vr.dmm b/maps/submaps/surface_submaps/plains/Thiefc_vr.dmm index 5528c6029ca..53fdfc348de 100644 --- a/maps/submaps/surface_submaps/plains/Thiefc_vr.dmm +++ b/maps/submaps/surface_submaps/plains/Thiefc_vr.dmm @@ -10,20 +10,20 @@ /area/submap/Thiefc) "d" = ( /obj/structure/ore_box, -/obj/item/weapon/ore/coal, -/obj/item/weapon/ore/coal, -/obj/item/weapon/ore/coal, -/obj/item/weapon/ore/coal, -/obj/item/weapon/ore/coal, +/obj/item/ore/coal, +/obj/item/ore/coal, +/obj/item/ore/coal, +/obj/item/ore/coal, +/obj/item/ore/coal, /turf/simulated/floor/outdoors/dirt/virgo3b{ outdoors = 0 }, /area/submap/Thiefc) "e" = ( /obj/structure/closet/crate, -/obj/item/weapon/extinguisher, -/obj/item/weapon/extinguisher, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, +/obj/item/extinguisher, +/obj/item/extinguisher, /turf/simulated/floor/outdoors/dirt/virgo3b{ outdoors = 0 }, @@ -35,14 +35,14 @@ }, /area/submap/Thiefc) "g" = ( -/obj/item/weapon/ore/coal, -/obj/item/weapon/ore/coal, -/obj/item/weapon/ore/coal, -/obj/item/weapon/ore/coal, -/obj/item/weapon/ore/coal, -/obj/item/weapon/ore/coal, -/obj/item/weapon/ore/coal, -/obj/item/weapon/ore/coal, +/obj/item/ore/coal, +/obj/item/ore/coal, +/obj/item/ore/coal, +/obj/item/ore/coal, +/obj/item/ore/coal, +/obj/item/ore/coal, +/obj/item/ore/coal, +/obj/item/ore/coal, /turf/simulated/floor/outdoors/dirt/virgo3b{ outdoors = 0 }, @@ -54,17 +54,17 @@ /area/submap/Thiefc) "i" = ( /obj/structure/closet/crate, -/obj/item/weapon/lipstick, -/obj/item/weapon/lipstick/black, -/obj/item/weapon/lipstick/random, +/obj/item/lipstick, +/obj/item/lipstick/black, +/obj/item/lipstick/random, /turf/simulated/floor/outdoors/dirt/virgo3b{ outdoors = 0 }, /area/submap/Thiefc) "j" = ( /obj/structure/table/steel, -/obj/item/weapon/beartrap, -/obj/item/device/survivalcapsule, +/obj/item/beartrap, +/obj/item/survivalcapsule, /turf/simulated/floor/outdoors/dirt/virgo3b{ outdoors = 0 }, @@ -81,16 +81,16 @@ /area/submap/Thiefc) "l" = ( /obj/structure/closet/crate, -/obj/item/device/nif, -/obj/item/device/nif/bad, -/obj/item/device/nif/bad, +/obj/item/nif, +/obj/item/nif/bad, +/obj/item/nif/bad, /turf/simulated/floor/outdoors/dirt/virgo3b{ outdoors = 0 }, /area/submap/Thiefc) "m" = ( /obj/structure/table/steel, -/obj/item/weapon/paper{ +/obj/item/paper{ desc = "This is some bullshit. First chance we got to knick something that looks half decent turns out to be mostly junk. And now we're getting calls that the other stash we've got has got a spider problem. Fuck this, Between the shitty weather, The pissed of bugs, And now apparently some NT goon running around in the area there's hardly enough reason to stick around. I'm telling Carl I'm out tommorow."; name = "Note" }, @@ -108,11 +108,11 @@ /area/submap/Thiefc) "o" = ( /obj/structure/closet/crate, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/device/perfect_tele/one_beacon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/perfect_tele/one_beacon, /turf/simulated/floor/outdoors/dirt/virgo3b{ outdoors = 0 }, diff --git a/maps/submaps/surface_submaps/plains/VRDen.dmm b/maps/submaps/surface_submaps/plains/VRDen.dmm index 4ef2d75af52..2b623697ffc 100644 --- a/maps/submaps/surface_submaps/plains/VRDen.dmm +++ b/maps/submaps/surface_submaps/plains/VRDen.dmm @@ -58,7 +58,7 @@ name = "plastic table frame" }, /obj/item/integrated_circuit/memory, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "To: Whoever reads it\[br]From: Simulant\[br]Went away to grab some spare parts, won't return for couple weeks. Can't support larger scale sims without machines I lost yesterday. Please don't touch my stuff, while I'm gone."; name = "note" }, @@ -126,7 +126,7 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "your maps suck"; name = "dissatisfied letter" }, @@ -183,7 +183,7 @@ /obj/machinery/telecomms/server{ name = "Server" }, -/obj/item/device/gps/internal/poi, +/obj/item/gps/internal/poi, /turf/simulated/floor/tiled/virgo3b, /area/submap/VRDen) "F" = ( @@ -208,7 +208,7 @@ /area/submap/VRDen) "K" = ( /obj/effect/decal/remains/posi, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "pain sim on your hardware is top-notch, 10/10, would be burned alive again"; name = "satisfied letter" }, @@ -249,7 +249,7 @@ /obj/structure/toilet{ dir = 8 }, -/obj/item/device/integrated_electronics/debugger, +/obj/item/integrated_electronics/debugger, /obj/machinery/light{ dir = 1 }, diff --git a/maps/submaps/surface_submaps/plains/bonfire.dmm b/maps/submaps/surface_submaps/plains/bonfire.dmm index de4bb23141d..0266631fcab 100644 --- a/maps/submaps/surface_submaps/plains/bonfire.dmm +++ b/maps/submaps/surface_submaps/plains/bonfire.dmm @@ -10,15 +10,15 @@ /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/bonfire) "d" = ( -/obj/item/weapon/flame/lighter/random, +/obj/item/flame/lighter/random, /turf/template_noop, /area/submap/bonfire) "e" = ( -/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice, +/obj/item/reagent_containers/food/drinks/bottle/orangejuice, /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/bonfire) "f" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/bonfire) "g" = ( @@ -26,7 +26,7 @@ /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/bonfire) "h" = ( -/obj/item/weapon/material/knife/machete, +/obj/item/material/knife/machete, /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/bonfire) "i" = ( diff --git a/maps/submaps/surface_submaps/plains/camp1.dmm b/maps/submaps/surface_submaps/plains/camp1.dmm index 8fefe802616..7ff9ed39c3f 100644 --- a/maps/submaps/surface_submaps/plains/camp1.dmm +++ b/maps/submaps/surface_submaps/plains/camp1.dmm @@ -19,7 +19,7 @@ }, /area/submap/camp1) "e" = ( -/obj/item/device/flashlight/lantern, +/obj/item/flashlight/lantern, /turf/simulated/floor/outdoors/dirt/virgo3b{ outdoors = 0 }, @@ -43,7 +43,7 @@ /area/submap/camp1) "i" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/launcher/crossbow, +/obj/item/gun/launcher/crossbow, /obj/item/stack/rods{ amount = 17 }, @@ -65,7 +65,7 @@ /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/camp1) "m" = ( -/obj/item/weapon/material/knife/machete/hatchet, +/obj/item/material/knife/machete/hatchet, /turf/template_noop, /area/template_noop) "n" = ( @@ -73,7 +73,7 @@ /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/camp1) "o" = ( -/obj/item/weapon/flame/lighter, +/obj/item/flame/lighter, /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/camp1) diff --git a/maps/submaps/surface_submaps/plains/camp1_vr.dmm b/maps/submaps/surface_submaps/plains/camp1_vr.dmm index 498b5fae0a1..7bb76500e83 100644 --- a/maps/submaps/surface_submaps/plains/camp1_vr.dmm +++ b/maps/submaps/surface_submaps/plains/camp1_vr.dmm @@ -19,7 +19,7 @@ }, /area/submap/camp1) "e" = ( -/obj/item/device/flashlight/lantern, +/obj/item/flashlight/lantern, /turf/simulated/floor/outdoors/dirt/virgo3b{ outdoors = 0 }, @@ -43,7 +43,7 @@ /area/submap/camp1) "i" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/launcher/crossbow, +/obj/item/gun/launcher/crossbow, /obj/item/stack/rods{ amount = 17 }, @@ -65,11 +65,11 @@ /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/camp1) "m" = ( -/obj/item/weapon/material/knife/machete/hatchet, +/obj/item/material/knife/machete/hatchet, /turf/template_noop, /area/template_noop) "n" = ( -/obj/item/weapon/flame/lighter, +/obj/item/flame/lighter, /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/camp1) "y" = ( diff --git a/maps/submaps/surface_submaps/plains/construction1.dmm b/maps/submaps/surface_submaps/plains/construction1.dmm index e04528b1963..7b14a045742 100644 --- a/maps/submaps/surface_submaps/plains/construction1.dmm +++ b/maps/submaps/surface_submaps/plains/construction1.dmm @@ -37,7 +37,7 @@ /turf/simulated/floor/tiled/external/virgo3b, /area/submap/construction1) "k" = ( -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /turf/simulated/floor/plating/external/virgo3b, /area/submap/construction1) "l" = ( @@ -48,7 +48,7 @@ /turf/simulated/floor/plating/external/virgo3b, /area/submap/construction1) "n" = ( -/obj/item/weapon/pickaxe/drill, +/obj/item/pickaxe/drill, /turf/simulated/floor/outdoors/rocks/virgo3b, /area/template_noop) "o" = ( @@ -76,11 +76,11 @@ /turf/simulated/floor/plating/external/virgo3b, /area/submap/construction1) "u" = ( -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical, /turf/simulated/floor/plating/external/virgo3b, /area/submap/construction1) "v" = ( -/obj/item/weapon/airlock_electronics, +/obj/item/airlock_electronics, /turf/simulated/floor/tiled/external/virgo3b, /area/submap/construction1) "w" = ( @@ -92,7 +92,7 @@ /turf/simulated/floor/tiled/external/virgo3b, /area/submap/construction1) "y" = ( -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/floor/plating/external/virgo3b, /area/submap/construction1) "z" = ( @@ -100,19 +100,19 @@ /turf/simulated/floor/tiled/external/virgo3b, /area/submap/construction1) "A" = ( -/obj/item/weapon/shovel, +/obj/item/shovel, /turf/simulated/floor/plating/external/virgo3b, /area/submap/construction1) "B" = ( -/obj/item/weapon/airlock_electronics, +/obj/item/airlock_electronics, /turf/simulated/floor/plating/external/virgo3b, /area/submap/construction1) "C" = ( -/obj/item/weapon/weldingtool/largetank, +/obj/item/weldingtool/largetank, /turf/simulated/floor/tiled/external/virgo3b, /area/submap/construction1) "D" = ( -/obj/item/weapon/tool/crowbar, +/obj/item/tool/crowbar, /turf/simulated/floor/plating/external/virgo3b, /area/submap/construction1) "E" = ( diff --git a/maps/submaps/surface_submaps/plains/dogbase.dmm b/maps/submaps/surface_submaps/plains/dogbase.dmm index b6522822190..89cec92c668 100644 --- a/maps/submaps/surface_submaps/plains/dogbase.dmm +++ b/maps/submaps/surface_submaps/plains/dogbase.dmm @@ -39,7 +39,7 @@ /obj/effect/decal/cleanable/filth, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/item/weapon/bone, +/obj/item/bone, /obj/random/maintenance/security, /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/DogBase) @@ -53,7 +53,7 @@ /turf/simulated/floor/plating/external/virgo3b, /area/submap/DogBase) "bw" = ( -/obj/item/weapon/storage/belt/janitor, +/obj/item/storage/belt/janitor, /obj/effect/floor_decal/corner/purple/diagonal, /turf/simulated/floor/tiled/dark, /area/submap/DogBase) @@ -156,7 +156,7 @@ /obj/effect/decal/cleanable/filth, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/item/weapon/bone/ribs, +/obj/item/bone/ribs, /obj/random/maintenance/research, /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/DogBase) @@ -251,7 +251,7 @@ /area/submap/DogBase) "np" = ( /obj/structure/table/woodentable, -/obj/item/weapon/gun/projectile/pistol, +/obj/item/gun/projectile/pistol, /turf/simulated/floor/tiled/dark, /area/submap/DogBase) "oW" = ( @@ -261,7 +261,7 @@ /area/template_noop) "pR" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/effect/floor_decal/borderfloor{ dir = 9 }, @@ -289,13 +289,13 @@ /obj/structure/dogbed, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/item/weapon/bone, +/obj/item/bone, /obj/random/maintenance/security, /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/DogBase) "qO" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/effect/floor_decal/borderfloor{ dir = 1 }, @@ -474,7 +474,7 @@ /area/submap/DogBase) "BA" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /turf/simulated/floor/tiled/dark, /area/submap/DogBase) "BB" = ( @@ -484,7 +484,7 @@ /area/submap/DogBase) "Ce" = ( /obj/structure/janitorialcart, -/obj/item/weapon/storage/bag/trash, +/obj/item/storage/bag/trash, /obj/effect/floor_decal/corner/purple/diagonal, /turf/simulated/floor/tiled/dark, /area/submap/DogBase) @@ -498,7 +498,7 @@ /obj/structure/dogbed, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/item/weapon/bone, +/obj/item/bone, /obj/random/contraband/nofail, /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/DogBase) @@ -668,13 +668,13 @@ /area/submap/DogBase) "Ok" = ( /obj/structure/table/woodentable, -/obj/item/device/radio/phone, +/obj/item/radio/phone, /turf/simulated/floor/tiled/dark, /area/submap/DogBase) "Ol" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/item/weapon/bone/leg, +/obj/item/bone/leg, /mob/living/simple_mob/vore/wolf/direwolf/dog/sec{ desc = "The biggest and baddest guard dog around."; faction = "syndicate"; @@ -754,7 +754,7 @@ /area/template_noop) "Rz" = ( /obj/structure/table/woodentable, -/obj/item/device/radio/phone, +/obj/item/radio/phone, /obj/random/contraband/nofail, /turf/simulated/floor/tiled/dark, /area/submap/DogBase) @@ -818,7 +818,7 @@ /area/submap/DogBase) "Wu" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/effect/floor_decal/borderfloor{ dir = 8 }, @@ -880,7 +880,7 @@ /area/submap/DogBase) "ZK" = ( /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "Unknown APC"; pixel_x = -24 diff --git a/maps/submaps/surface_submaps/plains/drgnplateu.dmm b/maps/submaps/surface_submaps/plains/drgnplateu.dmm index 817f04be5cd..feb8686d441 100644 --- a/maps/submaps/surface_submaps/plains/drgnplateu.dmm +++ b/maps/submaps/surface_submaps/plains/drgnplateu.dmm @@ -17,16 +17,16 @@ /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/drgnplateu) "cV" = ( -/obj/item/weapon/digestion_remains/skull/tajaran, -/obj/item/weapon/digestion_remains{ +/obj/item/digestion_remains/skull/tajaran, +/obj/item/digestion_remains{ pixel_x = 19; pixel_y = 1 }, -/obj/item/weapon/digestion_remains{ +/obj/item/digestion_remains{ pixel_x = 8; pixel_y = 1 }, -/obj/item/weapon/digestion_remains, +/obj/item/digestion_remains, /obj/item/clothing/accessory/collar/holo/indigestible, /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/drgnplateu) @@ -41,17 +41,17 @@ /obj/structure/flora/grass/green{ pixel_x = -8 }, -/obj/item/clothing/gloves/ring/material/gold, +/obj/item/clothing/accessory/ring/material/gold, /obj/item/clothing/ears/earring/stud/gold, -/obj/item/weapon/gun/projectile/deagle/gold{ +/obj/item/gun/projectile/deagle/gold{ pixel_x = -11; pixel_y = -22 }, /turf/simulated/floor/outdoors/grass/sif/forest, /area/submap/drgnplateu) "ez" = ( -/obj/item/weapon/digestion_remains/ribcage, -/obj/item/weapon/digestion_remains{ +/obj/item/digestion_remains/ribcage, +/obj/item/digestion_remains{ pixel_x = 19; pixel_y = 1 }, @@ -59,8 +59,8 @@ /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/drgnplateu) "fj" = ( -/obj/item/weapon/digestion_remains/ribcage, -/obj/item/weapon/digestion_remains{ +/obj/item/digestion_remains/ribcage, +/obj/item/digestion_remains{ pixel_x = 8; pixel_y = 7 }, @@ -86,11 +86,11 @@ }, /obj/structure/flora/grass/green, /obj/item/clothing/accessory/medal/solgov/gold/sun, -/obj/item/weapon/pickaxe/gold{ +/obj/item/pickaxe/gold{ pixel_x = -12; pixel_y = 9 }, -/obj/item/weapon/reagent_containers/food/drinks/golden_cup{ +/obj/item/reagent_containers/food/drinks/golden_cup{ pixel_x = -10; pixel_y = -5 }, @@ -126,7 +126,7 @@ /obj/item/instrument/violin/golden{ pixel_x = 7 }, -/obj/item/weapon/flame/lighter/zippo/gold, +/obj/item/flame/lighter/zippo/gold, /turf/simulated/floor/outdoors/grass/sif/forest, /area/submap/drgnplateu) "mw" = ( @@ -134,24 +134,24 @@ /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/drgnplateu) "mB" = ( -/obj/item/weapon/material/twohanded/baseballbat/gold, +/obj/item/material/twohanded/baseballbat/gold, /turf/simulated/floor/outdoors/grass/sif/forest, /area/submap/drgnplateu) "mX" = ( -/obj/item/weapon/digestion_remains/skull/unknown/anthro, -/obj/item/weapon/digestion_remains{ +/obj/item/digestion_remains/skull/unknown/anthro, +/obj/item/digestion_remains{ pixel_x = 8; pixel_y = 7 }, -/obj/item/weapon/digestion_remains{ +/obj/item/digestion_remains{ pixel_x = 19; pixel_y = -2 }, -/obj/item/weapon/digestion_remains{ +/obj/item/digestion_remains{ pixel_x = 19; pixel_y = -11 }, -/obj/item/weapon/digestion_remains{ +/obj/item/digestion_remains{ pixel_x = 19; pixel_y = 1 }, @@ -164,8 +164,8 @@ /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/drgnplateu) "ni" = ( -/obj/item/weapon/digestion_remains/skull/unknown/anthro, -/obj/item/weapon/digestion_remains/ribcage, +/obj/item/digestion_remains/skull/unknown/anthro, +/obj/item/digestion_remains/ribcage, /obj/effect/decal/cleanable/liquid_fuel, /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/drgnplateu) @@ -192,7 +192,7 @@ /turf/template_noop, /area/template_noop) "xd" = ( -/obj/item/weapon/digestion_remains/skull/nevrean, +/obj/item/digestion_remains/skull/nevrean, /obj/effect/decal/cleanable/filth, /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/drgnplateu) @@ -203,12 +203,12 @@ /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/drgnplateu) "zl" = ( -/obj/item/weapon/digestion_remains/skull/akula, +/obj/item/digestion_remains/skull/akula, /obj/effect/decal/cleanable/liquid_fuel, /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/drgnplateu) "zm" = ( -/obj/item/weapon/digestion_remains, +/obj/item/digestion_remains, /obj/effect/decal/cleanable/filth, /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/drgnplateu) @@ -225,14 +225,14 @@ /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/drgnplateu) "Cu" = ( -/obj/item/weapon/digestion_remains{ +/obj/item/digestion_remains{ pixel_x = 8 }, -/obj/item/weapon/digestion_remains{ +/obj/item/digestion_remains{ pixel_x = 8; pixel_y = 7 }, -/obj/item/weapon/digestion_remains{ +/obj/item/digestion_remains{ pixel_x = 19; pixel_y = 1 }, @@ -240,8 +240,8 @@ /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/drgnplateu) "FT" = ( -/obj/item/weapon/digestion_remains/ribcage, -/obj/item/weapon/digestion_remains/ribcage{ +/obj/item/digestion_remains/ribcage, +/obj/item/digestion_remains/ribcage{ pixel_x = 9; pixel_y = 14 }, @@ -263,7 +263,7 @@ /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/drgnplateu) "Jz" = ( -/obj/item/weapon/digestion_remains/skull/unknown/anthro, +/obj/item/digestion_remains/skull/unknown/anthro, /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/drgnplateu) "JJ" = ( @@ -299,9 +299,9 @@ /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/drgnplateu) "Nj" = ( -/obj/item/weapon/digestion_remains/skull/unathi, -/obj/item/weapon/digestion_remains, -/obj/item/weapon/digestion_remains{ +/obj/item/digestion_remains/skull/unathi, +/obj/item/digestion_remains, +/obj/item/digestion_remains{ pixel_x = 8; pixel_y = 7 }, @@ -323,7 +323,7 @@ /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/drgnplateu) "Ra" = ( -/obj/item/weapon/digestion_remains/skull/zorren, +/obj/item/digestion_remains/skull/zorren, /obj/item/clothing/accessory/collar/holo/indigestible, /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/drgnplateu) diff --git a/maps/submaps/surface_submaps/plains/emptycabin.dmm b/maps/submaps/surface_submaps/plains/emptycabin.dmm index 707aaa9bab8..c6fb52b329a 100644 --- a/maps/submaps/surface_submaps/plains/emptycabin.dmm +++ b/maps/submaps/surface_submaps/plains/emptycabin.dmm @@ -4,8 +4,8 @@ /area/template_noop) "b" = ( /obj/effect/decal/cleanable/filth, -/obj/item/weapon/bone/arm, -/obj/item/weapon/bone/skull/unathi, +/obj/item/bone/arm, +/obj/item/bone/skull/unathi, /turf/simulated/floor/wood/sif/virgo3b, /area/submap/EmptyCabin) "c" = ( @@ -15,9 +15,9 @@ /area/submap/EmptyCabin) "d" = ( /obj/structure/closet/wardrobe, -/obj/item/weapon/material/fishing_rod/modern, -/obj/item/weapon/storage/toolbox/mechanical, -/obj/item/weapon/storage/toolbox/lunchbox/nymph/filled, +/obj/item/material/fishing_rod/modern, +/obj/item/storage/toolbox/mechanical, +/obj/item/storage/toolbox/lunchbox/nymph/filled, /turf/simulated/floor/wood/sif/virgo3b, /area/submap/EmptyCabin) "e" = ( @@ -31,7 +31,7 @@ /area/submap/EmptyCabin) "g" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/purpledouble, +/obj/item/bedsheet/purpledouble, /turf/simulated/floor/wood/sif/virgo3b, /area/submap/EmptyCabin) "h" = ( @@ -74,8 +74,8 @@ /area/submap/EmptyCabin) "n" = ( /obj/structure/table/sifwoodentable, -/obj/item/weapon/storage/fancy/candle_box, -/obj/item/weapon/paper/crumpled/bloody{ +/obj/item/storage/fancy/candle_box, +/obj/item/paper/crumpled/bloody{ info = "I found an otie while picking flowers today. He's so cute! I took him back home, and he seemed quite happy to share food with me. He really likes fish. Though, he never really seems to not be hungry..." }, /turf/simulated/floor/wood/sif/virgo3b, @@ -146,11 +146,11 @@ /area/submap/EmptyCabin) "L" = ( /obj/structure/table/sifwoodentable, -/obj/item/weapon/flame/candle/candelabra, +/obj/item/flame/candle/candelabra, /turf/simulated/floor/wood/sif/virgo3b, /area/submap/EmptyCabin) "M" = ( -/obj/item/weapon/bone/leg, +/obj/item/bone/leg, /turf/simulated/floor/wood/sif/virgo3b, /area/submap/EmptyCabin) "O" = ( @@ -196,7 +196,7 @@ /turf/simulated/floor/wood/sif/virgo3b, /area/submap/EmptyCabin) "X" = ( -/obj/item/weapon/bone, +/obj/item/bone, /turf/simulated/floor/wood/sif/virgo3b, /area/submap/EmptyCabin) "Z" = ( diff --git a/maps/submaps/surface_submaps/plains/farm1.dmm b/maps/submaps/surface_submaps/plains/farm1.dmm index 58c510ff1cd..0ec2952ea71 100644 --- a/maps/submaps/surface_submaps/plains/farm1.dmm +++ b/maps/submaps/surface_submaps/plains/farm1.dmm @@ -10,10 +10,10 @@ "j" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/simulated/floor/wood,/area/submap/farm1) "k" = (/turf/simulated/floor/wood,/area/submap/farm1) "l" = (/obj/structure/table/marble,/turf/simulated/floor/wood,/area/submap/farm1) -"m" = (/obj/structure/table/marble,/obj/item/weapon/material/kitchen/rollingpin,/turf/simulated/floor/wood,/area/submap/farm1) +"m" = (/obj/structure/table/marble,/obj/item/material/kitchen/rollingpin,/turf/simulated/floor/wood,/area/submap/farm1) "n" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/item/seeds/cornseed,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/farm1) "o" = (/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/farm1) -"p" = (/obj/structure/table/marble,/obj/item/weapon/material/knife,/turf/simulated/floor/wood,/area/submap/farm1) +"p" = (/obj/structure/table/marble,/obj/item/material/knife,/turf/simulated/floor/wood,/area/submap/farm1) "q" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/item/seeds/bluetomatoseed,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/farm1) "r" = (/turf/simulated/floor/outdoors/mud{outdoors = 0},/area/submap/farm1) "s" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/item/seeds/icepepperseed,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/farm1) @@ -21,17 +21,17 @@ "u" = (/obj/machinery/door/window/eastleft,/obj/machinery/door/window/westleft,/turf/simulated/floor/outdoors/dirt,/area/submap/farm1) "v" = (/mob/living/bot/farmbot,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/farm1) "w" = (/obj/structure/sink/puddle,/turf/simulated/floor/outdoors/mud{outdoors = 0},/area/submap/farm1) -"x" = (/obj/item/weapon/material/knife/machete/hatchet,/turf/simulated/floor/outdoors/mud{outdoors = 0},/area/submap/farm1) -"y" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/box/matches,/obj/item/weapon/flame/match,/turf/simulated/floor/wood,/area/submap/farm1) +"x" = (/obj/item/material/knife/machete/hatchet,/turf/simulated/floor/outdoors/mud{outdoors = 0},/area/submap/farm1) +"y" = (/obj/structure/table/woodentable,/obj/item/storage/box/matches,/obj/item/flame/match,/turf/simulated/floor/wood,/area/submap/farm1) "z" = (/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/submap/farm1) "A" = (/obj/item/clothing/shoes/boots/winter/hydro,/obj/item/clothing/suit/storage/hooded/wintercoat/hydro,/turf/simulated/floor/wood,/area/submap/farm1) "B" = (/obj/structure/bed/chair/wood{ icon_state = "wooden_chair"; dir = 8},/turf/simulated/floor/wood,/area/submap/farm1) -"C" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/fancy/candle_box,/turf/simulated/floor/wood,/area/submap/farm1) +"C" = (/obj/structure/table/woodentable,/obj/item/storage/fancy/candle_box,/turf/simulated/floor/wood,/area/submap/farm1) "D" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/item/seeds/wheatseed,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/farm1) "E" = (/obj/structure/closet/crate/bin,/turf/simulated/floor/wood,/area/submap/farm1) "F" = (/obj/machinery/space_heater,/turf/simulated/floor/wood,/area/submap/farm1) -"G" = (/obj/structure/bookcase,/obj/item/weapon/book/manual/hydroponics_pod_people,/turf/simulated/floor/wood,/area/submap/farm1) -"H" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/blue,/turf/simulated/floor/wood,/area/submap/farm1) +"G" = (/obj/structure/bookcase,/obj/item/book/manual/hydroponics_pod_people,/turf/simulated/floor/wood,/area/submap/farm1) +"H" = (/obj/structure/bed/padded,/obj/item/bedsheet/blue,/turf/simulated/floor/wood,/area/submap/farm1) "I" = (/obj/structure/table/woodentable,/obj/item/trash/candle,/turf/simulated/floor/wood,/area/submap/farm1) "J" = (/turf/simulated/floor/outdoors/rocks,/area/submap/farm1) "K" = (/turf/simulated/floor/plating,/area/submap/farm1) diff --git a/maps/submaps/surface_submaps/plains/farm1_vr.dmm b/maps/submaps/surface_submaps/plains/farm1_vr.dmm index cd3ed606cde..606e74d567c 100644 --- a/maps/submaps/surface_submaps/plains/farm1_vr.dmm +++ b/maps/submaps/surface_submaps/plains/farm1_vr.dmm @@ -50,7 +50,7 @@ /area/submap/farm1) "m" = ( /obj/structure/table/marble, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/kitchen/rollingpin, /turf/simulated/floor/wood, /area/submap/farm1) "n" = ( @@ -62,7 +62,7 @@ /area/submap/farm1) "p" = ( /obj/structure/table/marble, -/obj/item/weapon/material/knife, +/obj/item/material/knife, /turf/simulated/floor/wood, /area/submap/farm1) "q" = ( @@ -116,15 +116,15 @@ }, /area/submap/farm1) "y" = ( -/obj/item/weapon/material/knife/machete/hatchet, +/obj/item/material/knife/machete/hatchet, /turf/simulated/floor/outdoors/mud/virgo3b{ outdoors = 0 }, /area/submap/farm1) "z" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/box/matches, -/obj/item/weapon/flame/match, +/obj/item/storage/box/matches, +/obj/item/flame/match, /turf/simulated/floor/wood, /area/submap/farm1) "A" = ( @@ -148,7 +148,7 @@ /area/submap/farm1) "E" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/fancy/candle_box, +/obj/item/storage/fancy/candle_box, /turf/simulated/floor/wood, /area/submap/farm1) "F" = ( @@ -168,12 +168,12 @@ /area/submap/farm1) "I" = ( /obj/structure/bookcase, -/obj/item/weapon/book/manual/hydroponics_pod_people, +/obj/item/book/manual/hydroponics_pod_people, /turf/simulated/floor/wood, /area/submap/farm1) "J" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /turf/simulated/floor/wood, /area/submap/farm1) "K" = ( diff --git a/maps/submaps/surface_submaps/plains/greatwolfden.dmm b/maps/submaps/surface_submaps/plains/greatwolfden.dmm index d8ac2577eea..7c7cdea2487 100644 --- a/maps/submaps/surface_submaps/plains/greatwolfden.dmm +++ b/maps/submaps/surface_submaps/plains/greatwolfden.dmm @@ -86,15 +86,15 @@ /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/GreatWolfDen) "ju" = ( -/obj/item/weapon/reagent_containers/food/snacks/meat/human, -/obj/item/weapon/reagent_containers/food/snacks/meat/human, -/obj/item/weapon/reagent_containers/food/snacks/meat/human, -/obj/item/weapon/reagent_containers/food/snacks/meat/human, -/obj/item/weapon/reagent_containers/food/snacks/meat/human, +/obj/item/reagent_containers/food/snacks/meat/human, +/obj/item/reagent_containers/food/snacks/meat/human, +/obj/item/reagent_containers/food/snacks/meat/human, +/obj/item/reagent_containers/food/snacks/meat/human, +/obj/item/reagent_containers/food/snacks/meat/human, /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/GreatWolfDen) "kg" = ( -/obj/item/weapon/bone/skull/unathi, +/obj/item/bone/skull/unathi, /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/GreatWolfDen) "kk" = ( @@ -123,7 +123,7 @@ /area/submap/GreatWolfDen) "lQ" = ( /obj/effect/decal/cleanable/filth, -/obj/item/weapon/card/emag_broken, +/obj/item/card/emag_broken, /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/GreatWolfDen) "mk" = ( @@ -204,11 +204,11 @@ /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/GreatWolfDen) "vu" = ( -/obj/item/weapon/bone/skull/tajaran, +/obj/item/bone/skull/tajaran, /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/GreatWolfDen) "wc" = ( -/obj/item/weapon/bone/skull/unathi, +/obj/item/bone/skull/unathi, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/GreatWolfDen) @@ -511,7 +511,7 @@ /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/GreatWolfDen) "Rb" = ( -/obj/item/weapon/bone/leg, +/obj/item/bone/leg, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/outdoors/dirt/virgo3b{ outdoors = 0 @@ -522,7 +522,7 @@ /obj/structure/flora/sif/subterranean{ icon_state = "frostbelle" }, -/obj/item/weapon/gun/projectile/pistol, +/obj/item/gun/projectile/pistol, /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/GreatWolfDen) "Rj" = ( @@ -538,7 +538,7 @@ /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/GreatWolfDen) "SO" = ( -/obj/item/weapon/telecube/mated, +/obj/item/telecube/mated, /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/GreatWolfDen) "SQ" = ( @@ -548,10 +548,10 @@ /turf/simulated/floor/outdoors/dirt/virgo3b, /area/template_noop) "Tf" = ( -/obj/item/weapon/paper/card/heart{ +/obj/item/paper/card/heart{ desc = "A gift card with a heart on the cover. This appears to be a thank-you to the.. wolves??" }, -/obj/item/weapon/paper/crumpled{ +/obj/item/paper/crumpled{ icon_state = "scrap_bloodied"; info = "The wolves dragged me back to their den when they found me incapacitated, and nursed me back to health, instead of eating me. I don't know why. Anyway, they're a bunch of goodboyes. Don't let the bones strewn about their den frighten you. Just be nice to them and they won't hurt you."; name = "survivor's note" @@ -581,7 +581,7 @@ /area/submap/GreatWolfDen) "WH" = ( /obj/structure/loot_pile/surface/bones, -/obj/item/weapon/storage/toolbox/syndicate, +/obj/item/storage/toolbox/syndicate, /obj/random/projectile/scrapped_gun, /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/GreatWolfDen) @@ -605,7 +605,7 @@ /turf/simulated/floor/outdoors/snow/virgo3b, /area/submap/GreatWolfDen) "Xy" = ( -/obj/item/weapon/bone/ribs, +/obj/item/bone/ribs, /obj/effect/landmark/loot_spawn/low, /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/GreatWolfDen) diff --git a/maps/submaps/surface_submaps/plains/hotspring.dmm b/maps/submaps/surface_submaps/plains/hotspring.dmm index f1fd6056448..aec5d68c692 100644 --- a/maps/submaps/surface_submaps/plains/hotspring.dmm +++ b/maps/submaps/surface_submaps/plains/hotspring.dmm @@ -30,18 +30,18 @@ /area/submap/hotspring) "j" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/fancy/candle_box, -/obj/item/weapon/flame/lighter/random{ +/obj/item/storage/fancy/candle_box, +/obj/item/flame/lighter/random{ pixel_x = 7 }, -/obj/item/weapon/storage/fancy/candle_box{ +/obj/item/storage/fancy/candle_box{ pixel_x = -6 }, -/obj/item/weapon/storage/firstaid{ +/obj/item/storage/firstaid{ pixel_x = 4; pixel_y = -6 }, -/obj/item/weapon/wrapping_paper, +/obj/item/wrapping_paper, /turf/simulated/floor/wood/sif/virgo3b, /area/submap/hotspring) "k" = ( @@ -51,12 +51,12 @@ /area/submap/hotspring) "o" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/harpoon, +/obj/item/material/harpoon, /obj/item/pizzabox/vegetable, /turf/simulated/floor/wood/sif/virgo3b, /area/submap/hotspring) "r" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /obj/structure/bed/chair{ dir = 1 }, @@ -105,7 +105,7 @@ /turf/simulated/floor/outdoors/grass/sif/virgo3b, /area/submap/hotspring) "L" = ( -/obj/item/weapon/inflatable_duck, +/obj/item/inflatable_duck, /obj/effect/effect/steam, /turf/simulated/floor/water/virgo3b, /area/submap/hotspring) @@ -126,7 +126,7 @@ dir = 8; health = 1e+006 }, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /obj/structure/loot_pile/maint/trash, /turf/template_noop, /area/submap/hotspring) diff --git a/maps/submaps/surface_submaps/plains/house1.dmm b/maps/submaps/surface_submaps/plains/house1.dmm index d886d8d157b..4a80df3ae06 100644 --- a/maps/submaps/surface_submaps/plains/house1.dmm +++ b/maps/submaps/surface_submaps/plains/house1.dmm @@ -13,45 +13,45 @@ "am" = (/obj/item/target/syndicate,/turf/simulated/floor/outdoors/grass/sif,/area/submap/house1) "an" = (/turf/simulated/wall/wood,/area/submap/house1) "ao" = (/obj/structure/simple_door/wood,/turf/simulated/floor/wood,/area/submap/house1) -"ap" = (/obj/structure/table/marble,/obj/item/weapon/material/kitchen/rollingpin,/turf/simulated/floor/tiled,/area/submap/house1) -"aq" = (/obj/structure/table/marble,/obj/item/weapon/material/knife,/turf/simulated/floor/tiled,/area/submap/house1) +"ap" = (/obj/structure/table/marble,/obj/item/material/kitchen/rollingpin,/turf/simulated/floor/tiled,/area/submap/house1) +"aq" = (/obj/structure/table/marble,/obj/item/material/knife,/turf/simulated/floor/tiled,/area/submap/house1) "ar" = (/obj/structure/grille/rustic,/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/submap/house1) "as" = (/turf/simulated/floor/wood,/area/submap/house1) -"at" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/brute,/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/burn,/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/purity,/turf/simulated/floor/tiled/freezer,/area/submap/house1) +"at" = (/obj/structure/table/standard,/obj/item/reagent_containers/hypospray/autoinjector/biginjector/brute,/obj/item/reagent_containers/hypospray/autoinjector/biginjector/burn,/obj/item/reagent_containers/hypospray/autoinjector/biginjector/purity,/turf/simulated/floor/tiled/freezer,/area/submap/house1) "au" = (/obj/structure/toilet,/turf/simulated/floor/tiled/freezer,/area/submap/house1) "av" = (/obj/structure/table/marble,/obj/random/drinkbottle,/turf/simulated/floor/tiled,/area/submap/house1) -"aw" = (/obj/item/device/flashlight/lantern,/turf/simulated/floor/tiled,/area/submap/house1) -"ax" = (/obj/structure/table/glass,/obj/structure/window/reinforced,/obj/item/weapon/coin/phoron,/turf/simulated/floor/wood,/area/submap/house1) +"aw" = (/obj/item/flashlight/lantern,/turf/simulated/floor/tiled,/area/submap/house1) +"ax" = (/obj/structure/table/glass,/obj/structure/window/reinforced,/obj/item/coin/phoron,/turf/simulated/floor/wood,/area/submap/house1) "ay" = (/obj/item/clothing/head/bearpelt{pixel_y = 6},/obj/structure/table/glass,/obj/structure/window/reinforced,/turf/simulated/floor/wood,/area/submap/house1) -"az" = (/obj/item/weapon/material/harpoon,/obj/structure/table/glass,/obj/structure/window/reinforced,/turf/simulated/floor/wood,/area/submap/house1) +"az" = (/obj/item/material/harpoon,/obj/structure/table/glass,/obj/structure/window/reinforced,/turf/simulated/floor/wood,/area/submap/house1) "aA" = (/obj/structure/table/glass,/obj/structure/window/reinforced,/obj/item/clothing/accessory/medal/conduct{pixel_y = 6},/turf/simulated/floor/wood,/area/submap/house1) "aB" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{dir = 4; pixel_x = -28; pixel_y = 0},/turf/simulated/floor/tiled/freezer,/area/submap/house1) -"aC" = (/obj/item/weapon/towel,/turf/simulated/floor/tiled/freezer,/area/submap/house1) +"aC" = (/obj/item/towel,/turf/simulated/floor/tiled/freezer,/area/submap/house1) "aD" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/simulated/floor/tiled,/area/submap/house1) "aE" = (/turf/simulated/floor/tiled,/area/submap/house1) "aF" = (/obj/structure/simple_door/wood,/turf/simulated/floor/tiled,/area/submap/house1) "aG" = (/obj/structure/simple_door/wood,/turf/simulated/floor/tiled/freezer,/area/submap/house1) -"aH" = (/obj/item/device/flashlight/lantern,/turf/simulated/floor/tiled/freezer,/area/submap/house1) +"aH" = (/obj/item/flashlight/lantern,/turf/simulated/floor/tiled/freezer,/area/submap/house1) "aI" = (/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"},/obj/machinery/shower{dir = 1},/obj/random/soap,/turf/simulated/floor/tiled/freezer,/area/submap/house1) "aJ" = (/turf/simulated/floor/carpet/turcarpet,/area/submap/house1) "aK" = (/obj/structure/bed/chair/wood,/turf/simulated/floor/carpet/turcarpet,/area/submap/house1) "aL" = (/obj/structure/bed/chair/wood{dir = 4},/turf/simulated/floor/carpet/turcarpet,/area/submap/house1) -"aM" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/storage/fancy/candle_box,/turf/simulated/floor/carpet/turcarpet,/area/submap/house1) -"aN" = (/obj/structure/table/wooden_reinforced,/obj/item/device/binoculars/spyglass,/turf/simulated/floor/carpet/turcarpet,/area/submap/house1) -"aO" = (/obj/structure/table/wooden_reinforced,/obj/item/device/flashlight/lantern,/turf/simulated/floor/carpet/turcarpet,/area/submap/house1) +"aM" = (/obj/structure/table/wooden_reinforced,/obj/item/storage/fancy/candle_box,/turf/simulated/floor/carpet/turcarpet,/area/submap/house1) +"aN" = (/obj/structure/table/wooden_reinforced,/obj/item/binoculars/spyglass,/turf/simulated/floor/carpet/turcarpet,/area/submap/house1) +"aO" = (/obj/structure/table/wooden_reinforced,/obj/item/flashlight/lantern,/turf/simulated/floor/carpet/turcarpet,/area/submap/house1) "aP" = (/obj/structure/bed/chair/wood{dir = 1},/turf/simulated/floor/carpet/turcarpet,/area/submap/house1) -"aQ" = (/obj/structure/table/rack,/obj/item/device/gps/explorer,/turf/simulated/floor/wood,/area/submap/house1) +"aQ" = (/obj/structure/table/rack,/obj/item/gps/explorer,/turf/simulated/floor/wood,/area/submap/house1) "aR" = (/obj/structure/simple_door/wood,/turf/simulated/floor/carpet/sblucarpet,/area/submap/house1) "aS" = (/turf/simulated/floor/carpet/sblucarpet,/area/submap/house1) "aT" = (/obj/machinery/space_heater,/turf/simulated/floor/carpet/sblucarpet,/area/submap/house1) -"aU" = (/obj/structure/table/rack,/obj/item/clothing/under/explorer,/obj/item/weapon/cell/device,/obj/item/weapon/cell/device,/obj/item/weapon/cell/device,/turf/simulated/floor/wood,/area/submap/house1) -"aV" = (/obj/item/device/flashlight/lantern,/turf/simulated/floor/wood,/area/submap/house1) +"aU" = (/obj/structure/table/rack,/obj/item/clothing/under/explorer,/obj/item/cell/device,/obj/item/cell/device,/obj/item/cell/device,/turf/simulated/floor/wood,/area/submap/house1) +"aV" = (/obj/item/flashlight/lantern,/turf/simulated/floor/wood,/area/submap/house1) "aW" = (/obj/machinery/space_heater,/turf/simulated/floor/wood,/area/submap/house1) "aX" = (/obj/structure/coatrack,/turf/simulated/floor/wood,/area/submap/house1) -"aY" = (/obj/structure/table/rack,/obj/item/clothing/suit/storage/hooded/explorer,/obj/item/clothing/mask/gas/explorer,/obj/item/weapon/material/knife/tacknife/survival,/turf/simulated/floor/wood,/area/submap/house1) +"aY" = (/obj/structure/table/rack,/obj/item/clothing/suit/storage/hooded/explorer,/obj/item/clothing/mask/gas/explorer,/obj/item/material/knife/tacknife/survival,/turf/simulated/floor/wood,/area/submap/house1) "aZ" = (/obj/item/clothing/shoes/boots/winter/explorer,/turf/simulated/floor/wood,/area/submap/house1) -"ba" = (/obj/structure/table/woodentable,/obj/random/action_figure,/obj/item/device/flashlight/lantern,/turf/simulated/floor/carpet/sblucarpet,/area/submap/house1) -"bb" = (/obj/item/weapon/bedsheet/hopdouble,/obj/structure/bed/double/padded,/turf/simulated/floor/carpet/sblucarpet,/area/submap/house1) +"ba" = (/obj/structure/table/woodentable,/obj/random/action_figure,/obj/item/flashlight/lantern,/turf/simulated/floor/carpet/sblucarpet,/area/submap/house1) +"bb" = (/obj/item/bedsheet/hopdouble,/obj/structure/bed/double/padded,/turf/simulated/floor/carpet/sblucarpet,/area/submap/house1) "bc" = (/obj/structure/sign/kiddieplaque{desc = "To anyone reading this, you'll note that I'm not home right now, and unfortunately due to reassignment, I won't be for a very long time. Exploring somewhere really far and dangerous now. You can stay if you want, but please try to keep my home in good condition."; name = "read me visitors"},/turf/simulated/wall/wood,/area/submap/house1) "bd" = (/obj/structure/loot_pile/maint/trash,/turf/simulated/floor/outdoors/grass/sif,/area/submap/house1) "be" = (/obj/structure/loot_pile/maint/junk,/turf/simulated/floor/outdoors/grass/sif,/area/submap/house1) diff --git a/maps/submaps/surface_submaps/plains/house1_vr.dmm b/maps/submaps/surface_submaps/plains/house1_vr.dmm index 2cbbee99d18..9c2eee465ee 100644 --- a/maps/submaps/surface_submaps/plains/house1_vr.dmm +++ b/maps/submaps/surface_submaps/plains/house1_vr.dmm @@ -68,12 +68,12 @@ /area/submap/house1) "aq" = ( /obj/structure/table/marble, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/kitchen/rollingpin, /turf/simulated/floor/tiled, /area/submap/house1) "ar" = ( /obj/structure/table/marble, -/obj/item/weapon/material/knife, +/obj/item/material/knife, /turf/simulated/floor/tiled, /area/submap/house1) "as" = ( @@ -83,9 +83,9 @@ /area/submap/house1) "at" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/brute, -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/burn, -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/purity, +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/brute, +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/burn, +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/purity, /turf/simulated/floor/tiled/freezer, /area/submap/house1) "au" = ( @@ -98,13 +98,13 @@ /turf/simulated/floor/tiled, /area/submap/house1) "aw" = ( -/obj/item/device/flashlight/lantern, +/obj/item/flashlight/lantern, /turf/simulated/floor/tiled, /area/submap/house1) "ax" = ( /obj/structure/table/glass, /obj/structure/window/reinforced, -/obj/item/weapon/coin/phoron, +/obj/item/coin/phoron, /turf/simulated/floor/wood, /area/submap/house1) "ay" = ( @@ -116,7 +116,7 @@ /turf/simulated/floor/wood, /area/submap/house1) "az" = ( -/obj/item/weapon/material/harpoon, +/obj/item/material/harpoon, /obj/structure/table/glass, /obj/structure/window/reinforced, /turf/simulated/floor/wood, @@ -142,7 +142,7 @@ /turf/simulated/floor/tiled/freezer, /area/submap/house1) "aC" = ( -/obj/item/weapon/towel, +/obj/item/towel, /turf/simulated/floor/tiled/freezer, /area/submap/house1) "aD" = ( @@ -161,7 +161,7 @@ /turf/simulated/floor/tiled/freezer, /area/submap/house1) "aH" = ( -/obj/item/device/flashlight/lantern, +/obj/item/flashlight/lantern, /turf/simulated/floor/tiled/freezer, /area/submap/house1) "aI" = ( @@ -189,17 +189,17 @@ /area/submap/house1) "aM" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/storage/fancy/candle_box, +/obj/item/storage/fancy/candle_box, /turf/simulated/floor/carpet/turcarpet, /area/submap/house1) "aN" = ( /obj/structure/table/wooden_reinforced, -/obj/item/device/binoculars/spyglass, +/obj/item/binoculars/spyglass, /turf/simulated/floor/carpet/turcarpet, /area/submap/house1) "aO" = ( /obj/structure/table/wooden_reinforced, -/obj/item/device/flashlight/lantern, +/obj/item/flashlight/lantern, /turf/simulated/floor/carpet/turcarpet, /area/submap/house1) "aP" = ( @@ -210,7 +210,7 @@ /area/submap/house1) "aQ" = ( /obj/structure/table/rack, -/obj/item/device/gps/explorer, +/obj/item/gps/explorer, /turf/simulated/floor/wood, /area/submap/house1) "aR" = ( @@ -227,13 +227,13 @@ "aU" = ( /obj/structure/table/rack, /obj/item/clothing/under/explorer, -/obj/item/weapon/cell/device, -/obj/item/weapon/cell/device, -/obj/item/weapon/cell/device, +/obj/item/cell/device, +/obj/item/cell/device, +/obj/item/cell/device, /turf/simulated/floor/wood, /area/submap/house1) "aV" = ( -/obj/item/device/flashlight/lantern, +/obj/item/flashlight/lantern, /turf/simulated/floor/wood, /area/submap/house1) "aW" = ( @@ -248,7 +248,7 @@ /obj/structure/table/rack, /obj/item/clothing/suit/storage/hooded/explorer, /obj/item/clothing/mask/gas/explorer, -/obj/item/weapon/material/knife/tacknife/survival, +/obj/item/material/knife/tacknife/survival, /turf/simulated/floor/wood, /area/submap/house1) "aZ" = ( @@ -258,11 +258,11 @@ "ba" = ( /obj/structure/table/woodentable, /obj/random/action_figure, -/obj/item/device/flashlight/lantern, +/obj/item/flashlight/lantern, /turf/simulated/floor/carpet/sblucarpet, /area/submap/house1) "bb" = ( -/obj/item/weapon/bedsheet/hopdouble, +/obj/item/bedsheet/hopdouble, /obj/structure/bed/double/padded, /turf/simulated/floor/carpet/sblucarpet, /area/submap/house1) diff --git a/maps/submaps/surface_submaps/plains/leopardmanderden.dmm b/maps/submaps/surface_submaps/plains/leopardmanderden.dmm index 006b3c66890..ad8fcaabef9 100644 --- a/maps/submaps/surface_submaps/plains/leopardmanderden.dmm +++ b/maps/submaps/surface_submaps/plains/leopardmanderden.dmm @@ -1,6 +1,6 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "aK" = ( -/obj/item/weapon/ore/silver, +/obj/item/ore/silver, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/outdoors/grass/sif/forest/virgo3b{ outdoors = 0 @@ -20,7 +20,7 @@ }, /area/submap/LeopardmanderDen) "bj" = ( -/obj/item/weapon/bluespace_crystal, +/obj/item/bluespace_crystal, /turf/simulated/floor/outdoors/grass/sif/virgo3b{ outdoors = 0 }, @@ -54,7 +54,7 @@ /turf/simulated/floor/outdoors/rocks/virgo3b, /area/template_noop) "fe" = ( -/obj/item/weapon/coin/diamond, +/obj/item/coin/diamond, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/outdoors/grass/sif/forest/virgo3b{ outdoors = 0 @@ -62,7 +62,7 @@ /area/submap/LeopardmanderDen) "fQ" = ( /obj/effect/landmark/loot_spawn/low, -/obj/item/weapon/ore/gold, +/obj/item/ore/gold, /turf/simulated/floor/outdoors/grass/sif/forest/virgo3b{ outdoors = 0 }, @@ -72,7 +72,7 @@ /turf/simulated/floor/outdoors/dirt/virgo3b, /area/template_noop) "gC" = ( -/obj/item/weapon/flame/lighter/zippo/gold, +/obj/item/flame/lighter/zippo/gold, /turf/simulated/floor/outdoors/grass/sif/forest/virgo3b{ outdoors = 0 }, @@ -88,7 +88,7 @@ /turf/simulated/floor/outdoors/dirt/virgo3b, /area/template_noop) "gU" = ( -/obj/item/weapon/coin/gold, +/obj/item/coin/gold, /turf/simulated/floor/outdoors/grass/sif/forest/virgo3b{ outdoors = 0 }, @@ -266,7 +266,7 @@ /turf/template_noop, /area/template_noop) "tC" = ( -/obj/item/weapon/ore/diamond, +/obj/item/ore/diamond, /turf/simulated/floor/outdoors/grass/sif/forest/virgo3b{ outdoors = 0 }, @@ -302,7 +302,7 @@ }, /area/submap/LeopardmanderDen) "xg" = ( -/obj/item/weapon/ore/silver, +/obj/item/ore/silver, /turf/simulated/floor/outdoors/grass/sif/forest/virgo3b{ outdoors = 0 }, @@ -386,7 +386,7 @@ /turf/simulated/floor/outdoors/dirt/virgo3b, /area/template_noop) "Gw" = ( -/obj/item/weapon/ore/gold, +/obj/item/ore/gold, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/outdoors/grass/sif/forest/virgo3b{ outdoors = 0 @@ -507,7 +507,7 @@ }, /area/submap/LeopardmanderDen) "Te" = ( -/obj/item/weapon/coin/silver, +/obj/item/coin/silver, /turf/simulated/floor/outdoors/grass/sif/forest/virgo3b{ outdoors = 0 }, @@ -524,7 +524,7 @@ /area/template_noop) "Tt" = ( /obj/structure/flora/ausbushes/brflowers, -/obj/item/weapon/coin/iron, +/obj/item/coin/iron, /turf/simulated/floor/outdoors/grass/sif/forest/virgo3b{ outdoors = 0 }, @@ -538,20 +538,20 @@ }, /area/submap/LeopardmanderDen) "Uc" = ( -/obj/item/weapon/ore/diamond, +/obj/item/ore/diamond, /turf/simulated/floor/outdoors/grass/sif/virgo3b{ outdoors = 0 }, /area/submap/LeopardmanderDen) "Ul" = ( -/obj/item/weapon/ore/gold, +/obj/item/ore/gold, /turf/simulated/floor/outdoors/grass/sif/virgo3b{ outdoors = 0 }, /area/submap/LeopardmanderDen) "UA" = ( /obj/structure/flora/ausbushes/brflowers, -/obj/item/weapon/coin/gold, +/obj/item/coin/gold, /turf/simulated/floor/outdoors/grass/sif/forest/virgo3b{ outdoors = 0 }, @@ -599,7 +599,7 @@ /turf/simulated/floor/outdoors/dirt/virgo3b, /area/template_noop) "YJ" = ( -/obj/item/weapon/ore/diamond, +/obj/item/ore/diamond, /turf/simulated/floor/outdoors/grass/sif/forest{ outdoors = 0 }, diff --git a/maps/submaps/surface_submaps/plains/lonehome.dmm b/maps/submaps/surface_submaps/plains/lonehome.dmm index b610c17a87a..9e71ca016ae 100644 --- a/maps/submaps/surface_submaps/plains/lonehome.dmm +++ b/maps/submaps/surface_submaps/plains/lonehome.dmm @@ -1,50 +1,50 @@ "at" = (/obj/structure/bed/chair/sofa/right/black{dir = 1},/turf/simulated/floor/wood,/area/submap/lonehome) -"au" = (/obj/item/organ/internal/lungs/vox,/obj/item/weapon/beartrap/hunting{anchored = 1; deployed = 1},/obj/structure/curtain/black,/obj/random/junk,/obj/random/junk,/obj/random/junk,/turf/simulated/floor,/area/submap/lonehome) +"au" = (/obj/item/organ/internal/lungs/vox,/obj/item/beartrap/hunting{anchored = 1; deployed = 1},/obj/structure/curtain/black,/obj/random/junk,/obj/random/junk,/obj/random/junk,/turf/simulated/floor,/area/submap/lonehome) "aw" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/submap/lonehome) "aI" = (/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/structure/flora/pottedplant/fern{pixel_y = 12},/obj/structure/table/bench/wooden,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood,/area/submap/lonehome) "aK" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/submap/lonehome) "bb" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood/broken,/area/submap/lonehome) "ck" = (/obj/machinery/light/small{dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood,/area/submap/lonehome) -"cn" = (/obj/machinery/light{dir = 8},/obj/item/weapon/paper/courtroom,/obj/item/weapon/paper/courtroom,/obj/item/weapon/paper_bin,/obj/structure/table/wooden_reinforced,/turf/simulated/floor/wood,/area/submap/lonehome) -"cE" = (/obj/structure/table/marble,/obj/item/organ/internal/brain/grey,/obj/item/weapon/material/knife/plastic,/turf/simulated/floor,/area/submap/lonehome) +"cn" = (/obj/machinery/light{dir = 8},/obj/item/paper/courtroom,/obj/item/paper/courtroom,/obj/item/paper_bin,/obj/structure/table/wooden_reinforced,/turf/simulated/floor/wood,/area/submap/lonehome) +"cE" = (/obj/structure/table/marble,/obj/item/organ/internal/brain/grey,/obj/item/material/knife/plastic,/turf/simulated/floor,/area/submap/lonehome) "cS" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood,/area/submap/lonehome) -"dR" = (/obj/item/weapon/paper{info = "Seems to be filled with odd runes drawn with blood"; name = "Blood stained paper"},/turf/simulated/floor/carpet/sblucarpet,/area/submap/lonehome) +"dR" = (/obj/item/paper{info = "Seems to be filled with odd runes drawn with blood"; name = "Blood stained paper"},/turf/simulated/floor/carpet/sblucarpet,/area/submap/lonehome) "ew" = (/obj/machinery/light/small{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/submap/lonehome) "eL" = (/obj/machinery/button/windowtint{id = "h_master"},/turf/simulated/wall/wood,/area/submap/lonehome) "fl" = (/obj/structure/loot_pile/maint/trash,/turf/template_noop,/area/submap/lonehome) "gn" = (/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/template_noop,/area/submap/lonehome) -"gI" = (/obj/structure/table/rack,/obj/item/weapon/material/knife/ritual,/obj/structure/curtain/open/bed,/obj/item/clothing/under/suit_jacket/really_black,/obj/item/clothing/under/suit_jacket/navy,/obj/item/clothing/head/soft/solgov/veteranhat,/turf/simulated/floor/wood,/area/submap/lonehome) -"hh" = (/obj/item/weapon/reagent_containers/food/condiment/small/peppermill,/obj/item/weapon/pen,/turf/simulated/floor/wood,/area/submap/lonehome) +"gI" = (/obj/structure/table/rack,/obj/item/material/knife/ritual,/obj/structure/curtain/open/bed,/obj/item/clothing/under/suit_jacket/really_black,/obj/item/clothing/under/suit_jacket/navy,/obj/item/clothing/head/soft/solgov/veteranhat,/turf/simulated/floor/wood,/area/submap/lonehome) +"hh" = (/obj/item/reagent_containers/food/condiment/small/peppermill,/obj/item/pen,/turf/simulated/floor/wood,/area/submap/lonehome) "hq" = (/obj/structure/table/bench/marble,/obj/structure/window/reinforced/polarized{id = "h_master"},/obj/structure/flora/pottedplant/dead{pixel_y = 7},/turf/simulated/floor/wood,/area/submap/lonehome) -"hH" = (/obj/structure/table/marble,/obj/item/weapon/material/sharpeningkit,/obj/item/weapon/reagent_containers/dropper,/turf/simulated/floor/tiled/white,/area/submap/lonehome) +"hH" = (/obj/structure/table/marble,/obj/item/material/sharpeningkit,/obj/item/reagent_containers/dropper,/turf/simulated/floor/tiled/white,/area/submap/lonehome) "hK" = (/obj/structure/bed/chair/wood{dir = 1},/obj/structure/window/reinforced/polarized{dir = 4; id = "h_kitchen"},/turf/simulated/floor/wood,/area/submap/lonehome) "ii" = (/obj/random/junk,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood,/area/submap/lonehome) -"ip" = (/obj/item/weapon/pen,/turf/simulated/floor/wood,/area/submap/lonehome) +"ip" = (/obj/item/pen,/turf/simulated/floor/wood,/area/submap/lonehome) "iw" = (/turf/simulated/floor/wood/broken,/area/submap/lonehome) -"iQ" = (/obj/structure/table/marble,/obj/item/weapon/material/knife/butch,/obj/item/weapon/material/kitchen/rollingpin,/turf/simulated/floor/tiled/white,/area/submap/lonehome) +"iQ" = (/obj/structure/table/marble,/obj/item/material/knife/butch,/obj/item/material/kitchen/rollingpin,/turf/simulated/floor/tiled/white,/area/submap/lonehome) "jt" = (/obj/structure/fence/corner{dir = 8},/turf/simulated/floor/outdoors/grass/heavy,/area/submap/lonehome) -"jy" = (/obj/item/weapon/material/shard,/obj/item/weapon/material/shard{pixel_x = 5; pixel_y = 10},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood,/area/submap/lonehome) -"jH" = (/obj/item/weapon/material/kitchen/utensil/spoon{pixel_x = 2},/turf/simulated/floor/wood,/area/submap/lonehome) +"jy" = (/obj/item/material/shard,/obj/item/material/shard{pixel_x = 5; pixel_y = 10},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood,/area/submap/lonehome) +"jH" = (/obj/item/material/kitchen/utensil/spoon{pixel_x = 2},/turf/simulated/floor/wood,/area/submap/lonehome) "jK" = (/obj/structure/bed/chair/wood,/turf/simulated/floor/wood,/area/submap/lonehome) -"kg" = (/obj/structure/table/marble,/obj/item/weapon/material/kitchen/utensil/spoon,/turf/simulated/floor/tiled/white,/area/submap/lonehome) +"kg" = (/obj/structure/table/marble,/obj/item/material/kitchen/utensil/spoon,/turf/simulated/floor/tiled/white,/area/submap/lonehome) "kn" = (/obj/structure/bed/chair/wood,/obj/machinery/button/windowtint{id = "h_kitchen"},/obj/structure/window/reinforced/polarized{dir = 4; id = "h_kitchen"},/turf/simulated/floor/wood,/area/submap/lonehome) -"ks" = (/obj/item/weapon/photo,/obj/item/weapon/photo{pixel_x = 4},/obj/structure/table/bench/wooden,/turf/simulated/floor/wood,/area/submap/lonehome) -"kT" = (/obj/machinery/light/small{dir = 1},/obj/structure/bed/padded,/obj/item/weapon/book/custom_library/fiction/truelovehathmyheart,/obj/item/weapon/bedsheet/clown,/turf/simulated/floor/wood,/area/submap/lonehome) -"kU" = (/obj/item/weapon/chainsaw,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/extinguisher,/obj/item/weapon/storage/toolbox/mechanical,/obj/structure/table/rack,/turf/simulated/floor,/area/submap/lonehome) +"ks" = (/obj/item/photo,/obj/item/photo{pixel_x = 4},/obj/structure/table/bench/wooden,/turf/simulated/floor/wood,/area/submap/lonehome) +"kT" = (/obj/machinery/light/small{dir = 1},/obj/structure/bed/padded,/obj/item/book/custom_library/fiction/truelovehathmyheart,/obj/item/bedsheet/clown,/turf/simulated/floor/wood,/area/submap/lonehome) +"kU" = (/obj/item/chainsaw,/obj/item/storage/box/lights/mixed,/obj/item/extinguisher,/obj/item/storage/toolbox/mechanical,/obj/structure/table/rack,/turf/simulated/floor,/area/submap/lonehome) "ld" = (/obj/machinery/power/port_gen/pacman,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/submap/lonehome) -"lz" = (/obj/item/weapon/reagent_containers/glass/rag,/obj/item/clothing/gloves/ring/engagement,/obj/structure/table/wooden_reinforced,/turf/simulated/floor/wood,/area/submap/lonehome) +"lz" = (/obj/item/reagent_containers/glass/rag,/obj/item/clothing/accessory/ring/engagement,/obj/structure/table/wooden_reinforced,/turf/simulated/floor/wood,/area/submap/lonehome) "lB" = (/obj/machinery/button/windowtint{id = "h_kitchen"},/obj/item/trash/plate,/obj/structure/table/sifwooden_reinforced,/obj/structure/window/reinforced/polarized{dir = 4; id = "h_kitchen"},/turf/simulated/floor/wood,/area/submap/lonehome) -"lJ" = (/obj/item/device/tape,/obj/structure/table/wooden_reinforced,/turf/simulated/floor/wood,/area/submap/lonehome) +"lJ" = (/obj/item/tape,/obj/structure/table/wooden_reinforced,/turf/simulated/floor/wood,/area/submap/lonehome) "lS" = (/obj/item/organ/internal/liver,/obj/random/trash,/turf/simulated/floor,/area/submap/lonehome) "ma" = (/turf/simulated/wall/wood,/area/submap/lonehome) "mn" = (/obj/item/clothing/mask/muzzle,/obj/random/trash,/turf/simulated/floor,/area/submap/lonehome) "na" = (/mob/living/simple_mob/animal/passive/cat/bones{desc = "A very odd behaved cat, their scratched name tag reads 'Felix'. They look very malnourished."; name = "Felix"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood,/area/submap/lonehome) "ni" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/submap/lonehome) -"nz" = (/obj/item/device/flashlight{pixel_x = 2; pixel_y = 2},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/submap/lonehome) +"nz" = (/obj/item/flashlight{pixel_x = 2; pixel_y = 2},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/submap/lonehome) "nD" = (/obj/structure/bed/chair/sofa/black,/turf/simulated/floor/wood,/area/submap/lonehome) "nL" = (/obj/machinery/appliance/cooker/oven,/turf/simulated/floor/tiled/white,/area/submap/lonehome) "nT" = (/obj/item/stack/cable_coil,/turf/simulated/floor/wood/broken,/area/submap/lonehome) -"ox" = (/obj/structure/closet/cabinet,/obj/item/weapon/storage/wallet/random,/obj/item/weapon/towel/random,/obj/item/weapon/melee/umbrella/random,/obj/random/ammo,/obj/random/cigarettes,/obj/random/contraband,/obj/random/junk,/obj/random/maintenance/security,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/turf/simulated/floor/wood,/area/submap/lonehome) +"ox" = (/obj/structure/closet/cabinet,/obj/item/storage/wallet/random,/obj/item/towel/random,/obj/item/melee/umbrella/random,/obj/random/ammo,/obj/random/cigarettes,/obj/random/contraband,/obj/random/junk,/obj/random/maintenance/security,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/turf/simulated/floor/wood,/area/submap/lonehome) "oS" = (/obj/structure/closet/cabinet,/obj/random/tech_supply/component,/obj/random/tech_supply/component,/obj/random/tech_supply/component,/obj/random/tech_supply/component,/obj/random/tech_supply/component,/obj/random/toolbox,/obj/random/toolbox,/turf/simulated/floor/wood,/area/submap/lonehome) "oZ" = (/obj/structure/bed/chair/sofa/left/black,/turf/simulated/floor/wood,/area/submap/lonehome) "pb" = (/obj/structure/fence/cut/large{dir = 8},/turf/template_noop,/area/submap/lonehome) @@ -53,56 +53,56 @@ "qa" = (/obj/structure/fence,/turf/simulated/floor/outdoors/grass/heavy,/area/submap/lonehome) "qi" = (/obj/structure/table/marble,/obj/machinery/chemical_dispenser/bar_alc/full,/turf/simulated/floor/tiled/white,/area/submap/lonehome) "qk" = (/obj/structure/table/marble,/obj/machinery/light{dir = 1},/obj/machinery/microwave,/turf/simulated/floor/tiled/white,/area/submap/lonehome) -"qo" = (/obj/item/weapon/phone,/obj/structure/table/bench/wooden,/obj/item/weapon/paper{info = "Seems to be filled with odd runes drawn with blood"; name = "Blood stained paper"},/turf/simulated/floor/wood,/area/submap/lonehome) +"qo" = (/obj/item/phone,/obj/structure/table/bench/wooden,/obj/item/paper{info = "Seems to be filled with odd runes drawn with blood"; name = "Blood stained paper"},/turf/simulated/floor/wood,/area/submap/lonehome) "qE" = (/obj/effect/decal/cleanable/blood/gibs,/turf/simulated/floor,/area/submap/lonehome) "qN" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/carpet/sblucarpet,/area/submap/lonehome) "rg" = (/obj/structure/window/reinforced/polarized{dir = 8; id = "h_living"},/obj/structure/bed/chair/sofa/black{dir = 4},/turf/simulated/floor/wood,/area/submap/lonehome) -"ro" = (/obj/item/weapon/pack/cardemon,/turf/simulated/floor/carpet/bcarpet,/area/submap/lonehome) -"ru" = (/obj/structure/table/rack,/obj/item/weapon/makeover,/obj/structure/curtain/open/bed,/turf/simulated/floor/wood,/area/submap/lonehome) -"rE" = (/obj/item/weapon/material/shard,/turf/simulated/floor/outdoors/grass/heavy,/area/submap/lonehome) +"ro" = (/obj/item/pack/cardemon,/turf/simulated/floor/carpet/bcarpet,/area/submap/lonehome) +"ru" = (/obj/structure/table/rack,/obj/item/makeover,/obj/structure/curtain/open/bed,/turf/simulated/floor/wood,/area/submap/lonehome) +"rE" = (/obj/item/material/shard,/turf/simulated/floor/outdoors/grass/heavy,/area/submap/lonehome) "tp" = (/obj/structure/flora/pottedplant/bamboo{pixel_y = 12},/obj/structure/table/bench/wooden,/turf/simulated/floor/wood,/area/submap/lonehome) "uc" = (/obj/structure/girder,/turf/simulated/floor,/area/submap/lonehome) "uh" = (/obj/structure/fence/cut/medium{dir = 4},/turf/simulated/floor/outdoors/grass/heavy,/area/submap/lonehome) -"um" = (/obj/structure/window/reinforced/tinted/frosted{dir = 8},/obj/structure/table/wooden_reinforced,/obj/item/weapon/book/tome,/turf/simulated/floor/wood,/area/submap/lonehome) -"uo" = (/obj/item/weapon/material/shard,/turf/simulated/floor/outdoors/dirt,/area/submap/lonehome) -"ur" = (/obj/structure/table/marble,/obj/item/weapon/material/knife/hook,/turf/simulated/floor,/area/submap/lonehome) -"uw" = (/obj/item/seeds/random,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/structure/table/wooden_reinforced,/turf/simulated/floor/wood,/area/submap/lonehome) +"um" = (/obj/structure/window/reinforced/tinted/frosted{dir = 8},/obj/structure/table/wooden_reinforced,/obj/item/book/tome,/turf/simulated/floor/wood,/area/submap/lonehome) +"uo" = (/obj/item/material/shard,/turf/simulated/floor/outdoors/dirt,/area/submap/lonehome) +"ur" = (/obj/structure/table/marble,/obj/item/material/knife/hook,/turf/simulated/floor,/area/submap/lonehome) +"uw" = (/obj/item/seeds/random,/obj/item/reagent_containers/spray/cleaner,/obj/structure/table/wooden_reinforced,/turf/simulated/floor/wood,/area/submap/lonehome) "uC" = (/obj/item/seeds/random,/obj/item/seeds/random,/obj/machinery/space_heater,/turf/simulated/floor/wood,/area/submap/lonehome) "uI" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/turf/simulated/floor/outdoors/grass/heavy,/area/submap/lonehome) -"uK" = (/obj/item/weapon/material/minihoe,/turf/simulated/floor/outdoors/grass/heavy,/area/submap/lonehome) +"uK" = (/obj/item/material/minihoe,/turf/simulated/floor/outdoors/grass/heavy,/area/submap/lonehome) "uR" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood,/area/submap/lonehome) "ve" = (/obj/structure/table/bench/glass,/turf/simulated/floor/carpet/sblucarpet,/area/submap/lonehome) "wa" = (/turf/simulated/floor/wood,/area/submap/lonehome) -"wj" = (/obj/item/weapon/bedsheet/rddouble,/turf/simulated/floor/wood,/area/submap/lonehome) +"wj" = (/obj/item/bedsheet/rddouble,/turf/simulated/floor/wood,/area/submap/lonehome) "xr" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/carpet/bcarpet,/area/submap/lonehome) "xM" = (/obj/structure/fence/cut/large{dir = 8},/turf/simulated/floor/outdoors/grass/heavy,/area/submap/lonehome) "xO" = (/obj/item/clothing/suit/straight_jacket,/turf/simulated/floor,/area/submap/lonehome) "yh" = (/turf/simulated/floor/outdoors/dirt,/area/submap/lonehome) "yn" = (/obj/structure/window/reinforced/polarized{dir = 8; id = "h_living"},/obj/structure/bed/chair/sofa/corner/black{dir = 1},/turf/simulated/floor/wood,/area/submap/lonehome) -"yr" = (/obj/item/weapon/reagent_containers/blood,/obj/item/weapon/pack/cardemon,/obj/item/weapon/pack/cardemon,/obj/item/weapon/deck/tarot,/obj/structure/table/wooden_reinforced,/turf/simulated/floor/wood,/area/submap/lonehome) +"yr" = (/obj/item/reagent_containers/blood,/obj/item/pack/cardemon,/obj/item/pack/cardemon,/obj/item/deck/tarot,/obj/structure/table/wooden_reinforced,/turf/simulated/floor/wood,/area/submap/lonehome) "yt" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/carpet/sblucarpet,/area/submap/lonehome) "yF" = (/obj/structure/bed/chair/sofa/black{dir = 1},/turf/simulated/floor/wood,/area/submap/lonehome) "yQ" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/white,/area/submap/lonehome) -"zN" = (/obj/item/weapon/paper{info = "Seems to be filled with odd runes drawn with blood"; name = "Blood stained paper"},/turf/simulated/floor/wood,/area/submap/lonehome) -"AQ" = (/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/item/weapon/material/shard,/turf/simulated/floor/outdoors/dirt,/area/submap/lonehome) -"BH" = (/obj/item/weapon/paper{info = "F%$K this detective, I swear I can see them peeking from behind the window, these tinted glasses help but I swear I can still see them snooping around. His days are counted... I am so close to figuring this out, just need a few more days. Then Shepiffany will be part of the family once again, then our two kids and I can go back on having a normal life... a normal life..."; name = "Stained sheet of paper"},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/carpet/sblucarpet,/area/submap/lonehome) -"Dd" = (/obj/machinery/button/windowtint{id = "h_kitchen"},/obj/item/weapon/storage/box/donkpockets,/obj/item/weapon/storage/box/condimentbottles,/obj/item/weapon/reagent_containers/food/condiment/carton/sugar,/obj/structure/curtain/open/bed,/obj/structure/table/rack,/obj/structure/window/reinforced/polarized{dir = 4; id = "h_kitchen"},/turf/simulated/floor/tiled/white,/area/submap/lonehome) +"zN" = (/obj/item/paper{info = "Seems to be filled with odd runes drawn with blood"; name = "Blood stained paper"},/turf/simulated/floor/wood,/area/submap/lonehome) +"AQ" = (/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/item/material/shard,/turf/simulated/floor/outdoors/dirt,/area/submap/lonehome) +"BH" = (/obj/item/paper{info = "F%$K this detective, I swear I can see them peeking from behind the window, these tinted glasses help but I swear I can still see them snooping around. His days are counted... I am so close to figuring this out, just need a few more days. Then Shepiffany will be part of the family once again, then our two kids and I can go back on having a normal life... a normal life..."; name = "Stained sheet of paper"},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/carpet/sblucarpet,/area/submap/lonehome) +"Dd" = (/obj/machinery/button/windowtint{id = "h_kitchen"},/obj/item/storage/box/donkpockets,/obj/item/storage/box/condimentbottles,/obj/item/reagent_containers/food/condiment/carton/sugar,/obj/structure/curtain/open/bed,/obj/structure/table/rack,/obj/structure/window/reinforced/polarized{dir = 4; id = "h_kitchen"},/turf/simulated/floor/tiled/white,/area/submap/lonehome) "Dk" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/white,/area/submap/lonehome) -"DE" = (/obj/structure/window/reinforced/tinted/frosted{dir = 8},/obj/item/weapon/storage/box/glasses/square{pixel_y = -2},/obj/item/weapon/storage/box/glass_extras/sticks{pixel_y = 4},/obj/item/weapon/storage/box/glass_extras/straws{pixel_y = 7},/obj/item/weapon/packageWrap,/obj/structure/curtain/open/bed,/obj/item/weapon/material/kitchen/utensil/fork,/obj/item/weapon/material/kitchen/utensil/fork,/obj/item/weapon/material/kitchen/utensil/spoon{pixel_x = 2},/obj/item/weapon/material/kitchen/utensil/spoon{pixel_x = 2},/obj/structure/table/rack,/turf/simulated/floor/tiled/white,/area/submap/lonehome) +"DE" = (/obj/structure/window/reinforced/tinted/frosted{dir = 8},/obj/item/storage/box/glasses/square{pixel_y = -2},/obj/item/storage/box/glass_extras/sticks{pixel_y = 4},/obj/item/storage/box/glass_extras/straws{pixel_y = 7},/obj/item/packageWrap,/obj/structure/curtain/open/bed,/obj/item/material/kitchen/utensil/fork,/obj/item/material/kitchen/utensil/fork,/obj/item/material/kitchen/utensil/spoon{pixel_x = 2},/obj/item/material/kitchen/utensil/spoon{pixel_x = 2},/obj/structure/table/rack,/turf/simulated/floor/tiled/white,/area/submap/lonehome) "DG" = (/obj/structure/simple_door/wood,/turf/simulated/floor,/area/submap/lonehome) -"DL" = (/obj/structure/closet/cabinet,/obj/item/weapon/storage/wallet/random,/obj/item/weapon/towel/random,/obj/item/weapon/melee/umbrella/random,/obj/random/carp_plushie,/obj/random/curseditem,/obj/random/junk,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/turf/simulated/floor/wood,/area/submap/lonehome) -"Ea" = (/obj/item/weapon/pack/cardemon,/turf/simulated/floor/wood,/area/submap/lonehome) +"DL" = (/obj/structure/closet/cabinet,/obj/item/storage/wallet/random,/obj/item/towel/random,/obj/item/melee/umbrella/random,/obj/random/carp_plushie,/obj/random/curseditem,/obj/random/junk,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/turf/simulated/floor/wood,/area/submap/lonehome) +"Ea" = (/obj/item/pack/cardemon,/turf/simulated/floor/wood,/area/submap/lonehome) "Ek" = (/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/floor/outdoors/dirt,/area/submap/lonehome) "Eo" = (/obj/random/junk,/turf/simulated/floor/carpet/sblucarpet,/area/submap/lonehome) -"Ex" = (/obj/item/weapon/paper{info = "Seems to be filled with odd runes drawn with blood"; name = "Blood stained paper"},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood/broken,/area/submap/lonehome) -"EZ" = (/obj/effect/decal/cleanable/blood/gibs,/obj/structure/table/marble,/obj/item/organ/internal/intestine/unathi,/obj/item/weapon/surgical/bonesetter,/obj/item/weapon/bone/ribs,/obj/item/weapon/bone/skull{pixel_x = 4; pixel_y = 6},/turf/simulated/floor,/area/submap/lonehome) +"Ex" = (/obj/item/paper{info = "Seems to be filled with odd runes drawn with blood"; name = "Blood stained paper"},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood/broken,/area/submap/lonehome) +"EZ" = (/obj/effect/decal/cleanable/blood/gibs,/obj/structure/table/marble,/obj/item/organ/internal/intestine/unathi,/obj/item/surgical/bonesetter,/obj/item/bone/ribs,/obj/item/bone/skull{pixel_x = 4; pixel_y = 6},/turf/simulated/floor,/area/submap/lonehome) "Fh" = (/obj/structure/coatrack,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood,/area/submap/lonehome) "Fu" = (/turf/simulated/floor/carpet/sblucarpet,/area/submap/lonehome) "Fy" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/portable_atmospherics/hydroponics/soil,/turf/simulated/floor/outdoors/grass/heavy,/area/submap/lonehome) "FN" = (/obj/machinery/button/windowtint{id = "h_living"},/turf/simulated/wall/wood,/area/submap/lonehome) "Gm" = (/obj/machinery/button/windowtint{id = "h_kitchen"},/turf/simulated/wall/wood,/area/submap/lonehome) "Gr" = (/obj/structure/table/bench/marble,/obj/structure/window/reinforced/polarized{id = "h_master"},/obj/structure/flora/pottedplant/bamboo{pixel_y = 7},/turf/simulated/floor/wood,/area/submap/lonehome) -"GA" = (/obj/item/weapon/reagent_containers/food/snacks/ghostmuffin/poison,/obj/structure/table/sifwooden_reinforced,/turf/simulated/floor/wood,/area/submap/lonehome) +"GA" = (/obj/item/reagent_containers/food/snacks/ghostmuffin/poison,/obj/structure/table/sifwooden_reinforced,/turf/simulated/floor/wood,/area/submap/lonehome) "GS" = (/obj/structure/table/steel,/obj/item/stack/material/phoron{amount = 5},/obj/item/stack/material/phoron{amount = 5},/obj/fiftyspawner/wood,/obj/fiftyspawner/steel,/turf/simulated/floor,/area/submap/lonehome) "Hc" = (/obj/effect/decal/cleanable/blood/gibs,/obj/structure/kitchenspike,/obj/effect/rune,/turf/simulated/floor,/area/submap/lonehome) "Hu" = (/obj/item/frame/apc,/obj/machinery/light_switch{pixel_x = 11; pixel_y = 22},/obj/random/junk,/turf/simulated/floor,/area/submap/lonehome) @@ -111,46 +111,46 @@ "Jq" = (/obj/structure/bed/double/padded,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/wood,/area/submap/lonehome) "JW" = (/obj/structure/simple_door/wood,/turf/simulated/floor/wood,/area/submap/lonehome) "Kb" = (/obj/structure/loot_pile/maint/trash,/turf/simulated/floor/outdoors/grass/heavy,/area/submap/lonehome) -"Ki" = (/obj/structure/closet/cabinet,/obj/random/multiple,/obj/random/multiple,/obj/random/multiple,/obj/random/multiple,/obj/random/multiple,/obj/random/toy,/obj/random/toy,/obj/item/weapon/storage/mre/random,/obj/item/weapon/storage/mre/random,/turf/simulated/floor/wood,/area/submap/lonehome) -"Kr" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/item/weapon/material/shard,/turf/simulated/floor/outdoors/grass/heavy,/area/submap/lonehome) +"Ki" = (/obj/structure/closet/cabinet,/obj/random/multiple,/obj/random/multiple,/obj/random/multiple,/obj/random/multiple,/obj/random/multiple,/obj/random/toy,/obj/random/toy,/obj/item/storage/mre/random,/obj/item/storage/mre/random,/turf/simulated/floor/wood,/area/submap/lonehome) +"Kr" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/item/material/shard,/turf/simulated/floor/outdoors/grass/heavy,/area/submap/lonehome) "Kw" = (/obj/structure/closet/secure_closet/freezer/fridge,/obj/random/meat,/obj/random/meat,/obj/random/meat,/obj/random/meat,/obj/random/meat,/turf/simulated/floor/tiled/white,/area/submap/lonehome) "Ll" = (/obj/machinery/space_heater,/turf/simulated/floor/wood,/area/submap/lonehome) -"LS" = (/obj/item/trash/plate,/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker,/obj/structure/table/sifwooden_reinforced,/turf/simulated/floor/wood,/area/submap/lonehome) +"LS" = (/obj/item/trash/plate,/obj/item/reagent_containers/food/condiment/small/saltshaker,/obj/structure/table/sifwooden_reinforced,/turf/simulated/floor/wood,/area/submap/lonehome) "Mb" = (/obj/structure/bed/chair/wood{dir = 1},/turf/simulated/floor/wood,/area/submap/lonehome) -"Mn" = (/obj/machinery/button/windowtint{id = "h_kitchen"},/obj/item/weapon/reagent_containers/food/condiment/enzyme,/obj/structure/window/reinforced/polarized{dir = 4; id = "h_kitchen"},/turf/simulated/floor/tiled/white,/area/submap/lonehome) +"Mn" = (/obj/machinery/button/windowtint{id = "h_kitchen"},/obj/item/reagent_containers/food/condiment/enzyme,/obj/structure/window/reinforced/polarized{dir = 4; id = "h_kitchen"},/turf/simulated/floor/tiled/white,/area/submap/lonehome) "MM" = (/turf/simulated/floor/outdoors/grass/heavy,/area/submap/lonehome) "Nx" = (/obj/machinery/light{dir = 4},/turf/simulated/floor/wood,/area/submap/lonehome) "ND" = (/obj/structure/table/bench/marble,/obj/structure/window/reinforced/polarized{dir = 8; id = "h_living"},/turf/simulated/floor/wood,/area/submap/lonehome) "NK" = (/obj/random/trash,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/carpet/sblucarpet,/area/submap/lonehome) "NL" = (/turf/template_noop,/area/submap/lonehome) -"Od" = (/obj/item/weapon/extinguisher{pixel_x = 8; pixel_y = 1},/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/medical/lite,/obj/random/medical/lite,/obj/structure/mopbucket{pixel_x = -8; pixel_y = -4},/obj/item/weapon/mop,/obj/item/device/multitool,/obj/item/device/flashlight{pixel_x = 2; pixel_y = 2},/obj/random/unidentified_medicine,/obj/random/unidentified_medicine,/obj/random/unidentified_medicine,/obj/structure/table/steel,/turf/simulated/floor/tiled,/area/submap/lonehome) +"Od" = (/obj/item/extinguisher{pixel_x = 8; pixel_y = 1},/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/medical/lite,/obj/random/medical/lite,/obj/structure/mopbucket{pixel_x = -8; pixel_y = -4},/obj/item/mop,/obj/item/multitool,/obj/item/flashlight{pixel_x = 2; pixel_y = 2},/obj/random/unidentified_medicine,/obj/random/unidentified_medicine,/obj/random/unidentified_medicine,/obj/structure/table/steel,/turf/simulated/floor/tiled,/area/submap/lonehome) "Oe" = (/obj/structure/window/reinforced{dir = 8; health = 1e+006},/turf/template_noop,/area/submap/lonehome) "Or" = (/obj/structure/table/bench/marble,/obj/structure/window/reinforced/polarized{id = "h_master"},/obj/structure/flora/pottedplant/overgrown{pixel_y = 7},/turf/simulated/floor/wood,/area/submap/lonehome) -"OL" = (/obj/machinery/button/windowtint{id = "h_kitchen"},/obj/item/weapon/material/kitchen/utensil/spoon{pixel_x = 2},/obj/structure/table/sifwooden_reinforced,/obj/structure/window/reinforced/polarized{dir = 4; id = "h_kitchen"},/turf/simulated/floor/wood,/area/submap/lonehome) -"Pc" = (/obj/item/weapon/material/kitchen/utensil/fork,/obj/random/trash,/turf/simulated/floor/wood,/area/submap/lonehome) -"Qx" = (/obj/item/weapon/material/shard{pixel_x = 6},/obj/item/weapon/material/shard,/turf/simulated/floor/outdoors/dirt,/area/submap/lonehome) +"OL" = (/obj/machinery/button/windowtint{id = "h_kitchen"},/obj/item/material/kitchen/utensil/spoon{pixel_x = 2},/obj/structure/table/sifwooden_reinforced,/obj/structure/window/reinforced/polarized{dir = 4; id = "h_kitchen"},/turf/simulated/floor/wood,/area/submap/lonehome) +"Pc" = (/obj/item/material/kitchen/utensil/fork,/obj/random/trash,/turf/simulated/floor/wood,/area/submap/lonehome) +"Qx" = (/obj/item/material/shard{pixel_x = 6},/obj/item/material/shard,/turf/simulated/floor/outdoors/dirt,/area/submap/lonehome) "QU" = (/obj/effect/decal/cleanable/blood/gibs,/obj/item/clothing/gloves/yellow,/turf/simulated/floor,/area/submap/lonehome) "QX" = (/obj/random/trash,/turf/simulated/floor/wood,/area/submap/lonehome) "RI" = (/obj/structure/window/reinforced{dir = 8; health = 1e+006},/turf/simulated/floor/outdoors/dirt,/area/submap/lonehome) "Sd" = (/obj/structure/fence/corner,/turf/template_noop,/area/submap/lonehome) -"Sp" = (/obj/item/weapon/material/shard,/obj/item/weapon/material/shard{pixel_x = 5; pixel_y = 3},/turf/simulated/floor/outdoors/dirt,/area/submap/lonehome) +"Sp" = (/obj/item/material/shard,/obj/item/material/shard{pixel_x = 5; pixel_y = 3},/turf/simulated/floor/outdoors/dirt,/area/submap/lonehome) "SN" = (/obj/structure/bed/chair/wood/wings{dir = 1},/obj/effect/gibspawner/human,/turf/simulated/floor/carpet/sblucarpet,/area/submap/lonehome) -"Tg" = (/obj/item/weapon/material/kitchen/utensil/fork,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood,/area/submap/lonehome) -"Tw" = (/obj/item/weapon/cell/high/empty,/turf/simulated/floor/carpet/sblucarpet,/area/submap/lonehome) +"Tg" = (/obj/item/material/kitchen/utensil/fork,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood,/area/submap/lonehome) +"Tw" = (/obj/item/cell/high/empty,/turf/simulated/floor/carpet/sblucarpet,/area/submap/lonehome) "TX" = (/obj/item/clothing/suit/storage/apron/white,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/white,/area/submap/lonehome) -"Uj" = (/obj/machinery/light/small,/obj/item/weapon/ore/diamond,/obj/structure/sign/goldenplaque{desc = "Done No Harm."; name = "Best Doctor 2552"; pixel_y = -32},/obj/structure/table/wooden_reinforced,/turf/simulated/floor/wood,/area/submap/lonehome) +"Uj" = (/obj/machinery/light/small,/obj/item/ore/diamond,/obj/structure/sign/goldenplaque{desc = "Done No Harm."; name = "Best Doctor 2552"; pixel_y = -32},/obj/structure/table/wooden_reinforced,/turf/simulated/floor/wood,/area/submap/lonehome) "UA" = (/obj/structure/fence/door/opened,/turf/template_noop,/area/submap/lonehome) -"UB" = (/obj/item/weapon/storage/box/characters,/obj/structure/curtain/open/bed,/obj/structure/table/rack,/turf/simulated/floor/wood,/area/submap/lonehome) +"UB" = (/obj/item/storage/box/characters,/obj/structure/curtain/open/bed,/obj/structure/table/rack,/turf/simulated/floor/wood,/area/submap/lonehome) "US" = (/turf/simulated/floor/tiled/white,/area/submap/lonehome) -"Vn" = (/obj/item/weapon/reagent_containers/food/condiment/small/sugar,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood/broken,/area/submap/lonehome) +"Vn" = (/obj/item/reagent_containers/food/condiment/small/sugar,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood/broken,/area/submap/lonehome) "VI" = (/obj/structure/fence{dir = 4},/turf/template_noop,/area/submap/lonehome) -"Wf" = (/obj/structure/bed/padded,/obj/random/trash,/obj/random/trash,/obj/random/trash,/obj/random/trash,/obj/random/trash,/obj/random/junk,/obj/random/junk,/obj/random/junk,/obj/random/junk,/obj/item/weapon/bedsheet/ian,/turf/simulated/floor/wood,/area/submap/lonehome) +"Wf" = (/obj/structure/bed/padded,/obj/random/trash,/obj/random/trash,/obj/random/trash,/obj/random/trash,/obj/random/trash,/obj/random/junk,/obj/random/junk,/obj/random/junk,/obj/random/junk,/obj/item/bedsheet/ian,/turf/simulated/floor/wood,/area/submap/lonehome) "Wj" = (/obj/machinery/gibber/autogibber{emagged = 1},/turf/simulated/floor,/area/submap/lonehome) "Wn" = (/obj/structure/fence/cut/medium{dir = 4},/turf/template_noop,/area/submap/lonehome) "WQ" = (/obj/structure/window/reinforced/polarized{dir = 8; id = "h_living"},/obj/structure/bed/chair/sofa/corner/black{dir = 4},/turf/simulated/floor/wood,/area/submap/lonehome) -"Xc" = (/obj/item/weapon/module/power_control,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood,/area/submap/lonehome) -"Xz" = (/obj/item/weapon/material/shard,/turf/template_noop,/area/submap/lonehome) -"Ys" = (/obj/item/weapon/pen/fountain,/turf/simulated/floor/wood,/area/submap/lonehome) +"Xc" = (/obj/item/module/power_control,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood,/area/submap/lonehome) +"Xz" = (/obj/item/material/shard,/turf/template_noop,/area/submap/lonehome) +"Ys" = (/obj/item/pen/fountain,/turf/simulated/floor/wood,/area/submap/lonehome) "YK" = (/obj/structure/table/marble,/obj/item/organ/internal/intestine/unathi{pixel_x = -1; pixel_y = 8},/obj/item/organ/internal/lungs,/turf/simulated/floor,/area/submap/lonehome) "Zi" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/wood,/area/submap/lonehome) "ZR" = (/obj/structure/fence{dir = 4},/turf/simulated/floor/outdoors/grass/heavy,/area/submap/lonehome) diff --git a/maps/submaps/surface_submaps/plains/lonehome_vr.dmm b/maps/submaps/surface_submaps/plains/lonehome_vr.dmm index 6cee63decc5..a70a82f6031 100644 --- a/maps/submaps/surface_submaps/plains/lonehome_vr.dmm +++ b/maps/submaps/surface_submaps/plains/lonehome_vr.dmm @@ -90,12 +90,12 @@ /turf/simulated/floor/wood/broken, /area/submap/lonehome) "au" = ( -/obj/item/device/tape, +/obj/item/tape, /obj/structure/table/wooden_reinforced, /turf/simulated/floor/wood/virgo3b, /area/submap/lonehome) "av" = ( -/obj/item/weapon/extinguisher{ +/obj/item/extinguisher{ pixel_x = 8; pixel_y = 1 }, @@ -108,9 +108,9 @@ pixel_x = -8; pixel_y = -4 }, -/obj/item/weapon/mop, -/obj/item/device/multitool, -/obj/item/device/flashlight{ +/obj/item/mop, +/obj/item/multitool, +/obj/item/flashlight{ pixel_x = 2; pixel_y = 2 }, @@ -138,23 +138,23 @@ /obj/structure/window/reinforced/tinted/frosted{ dir = 8 }, -/obj/item/weapon/storage/box/glasses/square{ +/obj/item/storage/box/glasses/square{ pixel_y = -2 }, -/obj/item/weapon/storage/box/glass_extras/sticks{ +/obj/item/storage/box/glass_extras/sticks{ pixel_y = 4 }, -/obj/item/weapon/storage/box/glass_extras/straws{ +/obj/item/storage/box/glass_extras/straws{ pixel_y = 7 }, -/obj/item/weapon/packageWrap, +/obj/item/packageWrap, /obj/structure/curtain/open/bed, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/spoon{ +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/spoon{ pixel_x = 2 }, -/obj/item/weapon/material/kitchen/utensil/spoon{ +/obj/item/material/kitchen/utensil/spoon{ pixel_x = 2 }, /obj/structure/table/rack, @@ -164,9 +164,9 @@ /obj/machinery/button/windowtint{ id = "h_kitchen" }, -/obj/item/weapon/storage/box/donkpockets, -/obj/item/weapon/storage/box/condimentbottles, -/obj/item/weapon/reagent_containers/food/condiment/carton/sugar, +/obj/item/storage/box/donkpockets, +/obj/item/storage/box/condimentbottles, +/obj/item/reagent_containers/food/condiment/carton/sugar, /obj/structure/curtain/open/bed, /obj/structure/table/rack, /obj/structure/window/reinforced/polarized{ @@ -206,19 +206,19 @@ /area/submap/lonehome) "aG" = ( /obj/structure/table/marble, -/obj/item/weapon/material/knife/butch, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/knife/butch, +/obj/item/material/kitchen/rollingpin, /turf/simulated/floor/tiled/white/virgo3b, /area/submap/lonehome) "aH" = ( /obj/structure/table/marble, -/obj/item/weapon/material/kitchen/utensil/spoon, +/obj/item/material/kitchen/utensil/spoon, /turf/simulated/floor/tiled/white/virgo3b, /area/submap/lonehome) "aI" = ( /obj/structure/table/marble, -/obj/item/weapon/material/sharpeningkit, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/material/sharpeningkit, +/obj/item/reagent_containers/dropper, /turf/simulated/floor/tiled/white/virgo3b, /area/submap/lonehome) "aJ" = ( @@ -228,7 +228,7 @@ /obj/machinery/button/windowtint{ id = "h_kitchen" }, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/food/condiment/enzyme, /obj/structure/window/reinforced/polarized{ dir = 4; id = "h_kitchen" @@ -240,16 +240,16 @@ dir = 8; health = 1e+006 }, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/lonehome) "aM" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/template_noop, /area/submap/lonehome) "aN" = ( -/obj/item/weapon/material/shard, -/obj/item/weapon/material/shard{ +/obj/item/material/shard, +/obj/item/material/shard{ pixel_x = 5; pixel_y = 3 }, @@ -282,7 +282,7 @@ /turf/simulated/floor/wood/virgo3b, /area/submap/lonehome) "aT" = ( -/obj/item/weapon/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/wood/virgo3b, /area/submap/lonehome) @@ -302,14 +302,14 @@ /turf/simulated/floor/wood/virgo3b, /area/submap/lonehome) "aW" = ( -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ pixel_x = 6 }, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/lonehome) "aX" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/lonehome) "aY" = ( @@ -341,7 +341,7 @@ /area/submap/lonehome) "bd" = ( /obj/item/trash/plate, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/small/saltshaker, /obj/structure/table/sifwooden_reinforced, /turf/simulated/floor/wood/virgo3b, /area/submap/lonehome) @@ -349,7 +349,7 @@ /obj/machinery/button/windowtint{ id = "h_kitchen" }, -/obj/item/weapon/material/kitchen/utensil/spoon{ +/obj/item/material/kitchen/utensil/spoon{ pixel_x = 2 }, /obj/structure/table/sifwooden_reinforced, @@ -389,7 +389,7 @@ /turf/simulated/floor/wood/virgo3b, /area/submap/lonehome) "bj" = ( -/obj/item/weapon/module/power_control, +/obj/item/module/power_control, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/wood/virgo3b, /area/submap/lonehome) @@ -401,8 +401,8 @@ /turf/simulated/floor/wood/virgo3b, /area/submap/lonehome) "bl" = ( -/obj/item/weapon/material/shard, -/obj/item/weapon/material/shard{ +/obj/item/material/shard, +/obj/item/material/shard{ pixel_x = 5; pixel_y = 10 }, @@ -423,17 +423,17 @@ /turf/simulated/floor/wood/virgo3b, /area/submap/lonehome) "bn" = ( -/obj/item/weapon/reagent_containers/food/condiment/small/sugar, +/obj/item/reagent_containers/food/condiment/small/sugar, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/wood/broken, /area/submap/lonehome) "bo" = ( -/obj/item/weapon/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, /obj/random/trash, /turf/simulated/floor/wood/virgo3b, /area/submap/lonehome) "bp" = ( -/obj/item/weapon/reagent_containers/food/snacks/ghostmuffin/poison, +/obj/item/reagent_containers/food/snacks/ghostmuffin/poison, /obj/structure/table/sifwooden_reinforced, /turf/simulated/floor/wood/virgo3b, /area/submap/lonehome) @@ -455,18 +455,18 @@ /turf/simulated/floor/wood/broken, /area/submap/lonehome) "bs" = ( -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/wood/virgo3b, /area/submap/lonehome) "bt" = ( -/obj/item/weapon/material/kitchen/utensil/spoon{ +/obj/item/material/kitchen/utensil/spoon{ pixel_x = 2 }, /turf/simulated/floor/wood/virgo3b, /area/submap/lonehome) "bu" = ( -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, -/obj/item/weapon/pen, +/obj/item/reagent_containers/food/condiment/small/peppermill, +/obj/item/pen, /turf/simulated/floor/wood/virgo3b, /area/submap/lonehome) "bv" = ( @@ -494,13 +494,13 @@ /area/submap/lonehome) "by" = ( /obj/structure/table/rack, -/obj/item/weapon/makeover, +/obj/item/makeover, /obj/structure/curtain/open/bed, /turf/simulated/floor/wood/virgo3b, /area/submap/lonehome) "bz" = ( /obj/structure/table/rack, -/obj/item/weapon/material/knife/ritual, +/obj/item/material/knife/ritual, /obj/structure/curtain/open/bed, /obj/item/clothing/under/suit_jacket/really_black, /obj/item/clothing/under/suit_jacket/navy, @@ -512,11 +512,11 @@ dir = 8 }, /obj/structure/table/wooden_reinforced, -/obj/item/weapon/book/tome, +/obj/item/book/tome, /turf/simulated/floor/wood/virgo3b, /area/submap/lonehome) "bB" = ( -/obj/item/weapon/paper{ +/obj/item/paper{ info = "Seems to be filled with odd runes drawn with blood"; name = "Blood stained paper" }, @@ -537,13 +537,13 @@ /area/submap/lonehome) "bE" = ( /obj/item/seeds/random, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, /obj/structure/table/wooden_reinforced, /turf/simulated/floor/wood/virgo3b, /area/submap/lonehome) "bF" = ( /obj/machinery/light/small, -/obj/item/weapon/ore/diamond, +/obj/item/ore/diamond, /obj/structure/sign/goldenplaque{ desc = "Done No Harm."; name = "Best Doctor 2552"; @@ -553,8 +553,8 @@ /turf/simulated/floor/wood/virgo3b, /area/submap/lonehome) "bG" = ( -/obj/item/weapon/reagent_containers/glass/rag, -/obj/item/clothing/gloves/ring/engagement, +/obj/item/reagent_containers/glass/rag, +/obj/item/clothing/accessory/ring/engagement, /obj/structure/table/wooden_reinforced, /turf/simulated/floor/wood/virgo3b, /area/submap/lonehome) @@ -566,9 +566,9 @@ /area/submap/lonehome) "bI" = ( /obj/structure/closet/cabinet, -/obj/item/weapon/storage/wallet/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/melee/umbrella/random, +/obj/item/storage/wallet/random, +/obj/item/towel/random, +/obj/item/melee/umbrella/random, /obj/random/carp_plushie, /obj/random/curseditem, /obj/random/junk, @@ -578,14 +578,14 @@ /turf/simulated/floor/wood/virgo3b, /area/submap/lonehome) "bJ" = ( -/obj/item/weapon/paper{ +/obj/item/paper{ info = "Seems to be filled with odd runes drawn with blood"; name = "Blood stained paper" }, /turf/simulated/floor/wood/virgo3b, /area/submap/lonehome) "bK" = ( -/obj/item/weapon/cell/high/empty, +/obj/item/cell/high/empty, /turf/simulated/floor/carpet/sblucarpet/virgo3b, /area/submap/lonehome) "bL" = ( @@ -596,7 +596,7 @@ /turf/simulated/floor/carpet/sblucarpet/virgo3b, /area/submap/lonehome) "bM" = ( -/obj/item/weapon/paper{ +/obj/item/paper{ info = "F%$K this detective, I swear I can see them peeking from behind the window, these tinted glasses help but I swear I can still see them snooping around. His days are counted... I am so close to figuring this out, just need a few more days. Then Shepiffany will be part of the family once again, then our two kids and I can go back on having a normal life... a normal life..."; name = "Stained sheet of paper" }, @@ -621,18 +621,18 @@ /obj/machinery/light{ dir = 8 }, -/obj/item/weapon/paper/courtroom, -/obj/item/weapon/paper/courtroom, -/obj/item/weapon/paper_bin, +/obj/item/paper/courtroom, +/obj/item/paper/courtroom, +/obj/item/paper_bin, /obj/structure/table/wooden_reinforced, /turf/simulated/floor/wood/virgo3b, /area/submap/lonehome) "bQ" = ( -/obj/item/weapon/pen/fountain, +/obj/item/pen/fountain, /turf/simulated/floor/wood/virgo3b, /area/submap/lonehome) "bR" = ( -/obj/item/weapon/paper{ +/obj/item/paper{ info = "Seems to be filled with odd runes drawn with blood"; name = "Blood stained paper" }, @@ -650,15 +650,15 @@ /turf/simulated/floor/carpet/sblucarpet/virgo3b, /area/submap/lonehome) "bU" = ( -/obj/item/weapon/photo, -/obj/item/weapon/photo{ +/obj/item/photo, +/obj/item/photo{ pixel_x = 4 }, /obj/structure/table/bench/wooden, /turf/simulated/floor/wood/virgo3b, /area/submap/lonehome) "bV" = ( -/obj/item/weapon/storage/box/characters, +/obj/item/storage/box/characters, /obj/structure/curtain/open/bed, /obj/structure/table/rack, /turf/simulated/floor/wood/virgo3b, @@ -674,8 +674,8 @@ dir = 1 }, /obj/structure/bed/padded, -/obj/item/weapon/book/custom_library/fiction/truelovehathmyheart, -/obj/item/weapon/bedsheet/clown, +/obj/item/book/custom_library/fiction/truelovehathmyheart, +/obj/item/bedsheet/clown, /turf/simulated/floor/wood/virgo3b, /area/submap/lonehome) "bY" = ( @@ -687,8 +687,8 @@ /obj/random/multiple, /obj/random/toy, /obj/random/toy, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, /turf/simulated/floor/wood/virgo3b, /area/submap/lonehome) "bZ" = ( @@ -703,9 +703,9 @@ /area/submap/lonehome) "cb" = ( /obj/structure/closet/cabinet, -/obj/item/weapon/storage/wallet/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/melee/umbrella/random, +/obj/item/storage/wallet/random, +/obj/item/towel/random, +/obj/item/melee/umbrella/random, /obj/random/ammo, /obj/random/cigarettes, /obj/random/contraband, @@ -735,14 +735,14 @@ /turf/simulated/floor/carpet/bcarpet, /area/submap/lonehome) "cf" = ( -/obj/item/weapon/pack/cardemon, +/obj/item/pack/cardemon, /turf/simulated/floor/carpet/bcarpet, /area/submap/lonehome) "cg" = ( -/obj/item/weapon/reagent_containers/blood, -/obj/item/weapon/pack/cardemon, -/obj/item/weapon/pack/cardemon, -/obj/item/weapon/deck/tarot, +/obj/item/reagent_containers/blood, +/obj/item/pack/cardemon, +/obj/item/pack/cardemon, +/obj/item/deck/tarot, /obj/structure/table/wooden_reinforced, /turf/simulated/floor/wood/virgo3b, /area/submap/lonehome) @@ -755,9 +755,9 @@ /obj/effect/decal/cleanable/blood/gibs, /obj/structure/table/marble, /obj/item/organ/internal/intestine/unathi, -/obj/item/weapon/surgical/bonesetter, -/obj/item/weapon/bone/ribs, -/obj/item/weapon/bone/skull{ +/obj/item/surgical/bonesetter, +/obj/item/bone/ribs, +/obj/item/bone/skull{ pixel_x = 4; pixel_y = 6 }, @@ -768,20 +768,20 @@ /turf/simulated/wall/wood, /area/submap/lonehome) "ck" = ( -/obj/item/weapon/bedsheet/rddouble, +/obj/item/bedsheet/rddouble, /turf/simulated/floor/wood/virgo3b, /area/submap/lonehome) "cl" = ( -/obj/item/weapon/phone, +/obj/item/phone, /obj/structure/table/bench/wooden, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "Seems to be filled with odd runes drawn with blood"; name = "Blood stained paper" }, /turf/simulated/floor/wood/virgo3b, /area/submap/lonehome) "cm" = ( -/obj/item/weapon/pack/cardemon, +/obj/item/pack/cardemon, /turf/simulated/floor/wood/virgo3b, /area/submap/lonehome) "cn" = ( @@ -795,7 +795,7 @@ /obj/random/junk, /obj/random/junk, /obj/random/junk, -/obj/item/weapon/bedsheet/ian, +/obj/item/bedsheet/ian, /turf/simulated/floor/wood/virgo3b, /area/submap/lonehome) "co" = ( @@ -817,7 +817,7 @@ "cq" = ( /obj/structure/table/marble, /obj/item/organ/internal/brain/grey, -/obj/item/weapon/material/knife/plastic, +/obj/item/material/knife/plastic, /turf/simulated/floor/plating/external/virgo3b, /area/submap/lonehome) "cr" = ( @@ -867,7 +867,7 @@ /area/submap/lonehome) "cx" = ( /obj/structure/table/marble, -/obj/item/weapon/material/knife/hook, +/obj/item/material/knife/hook, /turf/simulated/floor/plating/external/virgo3b, /area/submap/lonehome) "cy" = ( @@ -875,7 +875,7 @@ /area/submap/lonehome) "cz" = ( /obj/machinery/portable_atmospherics/hydroponics/soil, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/outdoors/grass/sif/forest/virgo3b, /area/submap/lonehome) "cA" = ( @@ -916,10 +916,10 @@ /turf/simulated/floor/plating/external/virgo3b, /area/submap/lonehome) "cF" = ( -/obj/item/weapon/chainsaw, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/extinguisher, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/chainsaw, +/obj/item/storage/box/lights/mixed, +/obj/item/extinguisher, +/obj/item/storage/toolbox/mechanical, /obj/structure/table/rack, /turf/simulated/floor/plating/external/virgo3b, /area/submap/lonehome) @@ -941,11 +941,11 @@ /turf/simulated/floor/outdoors/grass/sif/forest/virgo3b, /area/submap/lonehome) "cJ" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/outdoors/grass/sif/forest/virgo3b, /area/submap/lonehome) "cK" = ( -/obj/item/weapon/material/minihoe, +/obj/item/material/minihoe, /turf/simulated/floor/outdoors/grass/sif/forest/virgo3b, /area/submap/lonehome) "cL" = ( @@ -958,7 +958,7 @@ /turf/simulated/floor/plating/external/virgo3b, /area/submap/lonehome) "cN" = ( -/obj/item/device/flashlight{ +/obj/item/flashlight{ pixel_x = 2; pixel_y = 2 }, @@ -976,7 +976,7 @@ /area/submap/lonehome) "cP" = ( /obj/item/organ/internal/lungs/vox, -/obj/item/weapon/beartrap/hunting{ +/obj/item/beartrap/hunting{ anchored = 1; deployed = 1 }, diff --git a/maps/submaps/surface_submaps/plains/lonewolf.dmm b/maps/submaps/surface_submaps/plains/lonewolf.dmm index c5a950512c1..0265a1cf793 100644 --- a/maps/submaps/surface_submaps/plains/lonewolf.dmm +++ b/maps/submaps/surface_submaps/plains/lonewolf.dmm @@ -85,7 +85,7 @@ /turf/simulated/mineral/ignore_mapgen, /area/submap/lonewolf) "P" = ( -/obj/item/weapon/sword/fluff/joanaria{ +/obj/item/sword/fluff/joanaria{ desc = "An ancient sword, belonging to someone of power. Now, it is little more than a relic, damaged beyong use."; force = 10; name = "old greatsword" diff --git a/maps/submaps/surface_submaps/plains/methlab.dmm b/maps/submaps/surface_submaps/plains/methlab.dmm index 5af4b3eee3e..1386e7639a7 100644 --- a/maps/submaps/surface_submaps/plains/methlab.dmm +++ b/maps/submaps/surface_submaps/plains/methlab.dmm @@ -1,8 +1,8 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "ai" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/fountain, +/obj/item/paper_bin, +/obj/item/pen/fountain, /turf/simulated/floor/tiled/steel_dirty, /area/submap/methlab) "as" = ( @@ -10,11 +10,11 @@ /turf/simulated/floor/tiled/steel_grid, /area/submap/methlab) "aY" = ( -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ pixel_x = 5; pixel_y = 3 }, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ pixel_x = 9 }, /turf/template_noop, @@ -24,7 +24,7 @@ /turf/template_noop, /area/submap/methlab) "bA" = ( -/obj/item/weapon/cell/hyper, +/obj/item/cell/hyper, /turf/simulated/floor/tiled/steel_dirty, /area/submap/methlab) "bJ" = ( @@ -33,20 +33,20 @@ /turf/simulated/floor/tiled/steel_dirty, /area/submap/methlab) "bQ" = ( -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ pixel_x = 9 }, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ pixel_x = 5 }, /turf/template_noop, /area/submap/methlab) "cg" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/radio{ +/obj/item/radio{ anchored = 1; canhear_range = 1; frequency = 1487; @@ -112,7 +112,7 @@ /area/submap/methlab) "iN" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/reagent_containers/dropper, /turf/simulated/floor/tiled/steel_dirty, /area/submap/methlab) "jm" = ( @@ -165,7 +165,7 @@ /area/submap/methlab) "mw" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/toolbox/syndicate, +/obj/item/storage/toolbox/syndicate, /turf/simulated/floor/tiled/steel_dirty, /area/submap/methlab) "nq" = ( @@ -196,7 +196,7 @@ /turf/template_noop, /area/submap/methlab) "rK" = ( -/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plating/external/virgo3b, /area/submap/methlab) @@ -217,7 +217,7 @@ /turf/simulated/floor/tiled/steel_dirty, /area/submap/methlab) "sW" = ( -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ pixel_x = 9 }, /turf/template_noop, @@ -255,7 +255,7 @@ /turf/simulated/floor/tiled/old_tile/green/virgo3b, /area/submap/methlab) "wI" = ( -/obj/item/weapon/reagent_containers/dropper, +/obj/item/reagent_containers/dropper, /obj/random/junk, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/tiled/steel_dirty, @@ -316,7 +316,7 @@ /area/submap/methlab) "AB" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, /turf/simulated/floor/tiled/steel_dirty, /area/submap/methlab) "AM" = ( @@ -337,24 +337,24 @@ /area/submap/methlab) "BR" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /turf/simulated/floor/tiled/steel_dirty, /area/submap/methlab) "BT" = ( /obj/structure/safe/floor, -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris, -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris, -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris, -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris, -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris, -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris, -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris, -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris, -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris, -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris, -/obj/item/weapon/storage/bag/cash, -/obj/item/weapon/storage/bag/cash, +/obj/item/reagent_containers/food/snacks/grown/ambrosiavulgaris, +/obj/item/reagent_containers/food/snacks/grown/ambrosiavulgaris, +/obj/item/reagent_containers/food/snacks/grown/ambrosiavulgaris, +/obj/item/reagent_containers/food/snacks/grown/ambrosiavulgaris, +/obj/item/reagent_containers/food/snacks/grown/ambrosiavulgaris, +/obj/item/reagent_containers/food/snacks/grown/ambrosiavulgaris, +/obj/item/reagent_containers/food/snacks/grown/ambrosiavulgaris, +/obj/item/reagent_containers/food/snacks/grown/ambrosiavulgaris, +/obj/item/reagent_containers/food/snacks/grown/ambrosiavulgaris, +/obj/item/reagent_containers/food/snacks/grown/ambrosiavulgaris, +/obj/item/storage/bag/cash, +/obj/item/storage/bag/cash, /turf/simulated/floor/plating/external/virgo3b, /area/submap/methlab) "CH" = ( @@ -372,7 +372,7 @@ /area/submap/methlab) "CL" = ( /obj/structure/grille/rustic, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /turf/simulated/floor/tiled/old_tile/green/virgo3b, @@ -388,7 +388,7 @@ /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/methlab) "DP" = ( -/obj/item/weapon/reagent_containers/dropper, +/obj/item/reagent_containers/dropper, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/tiled/steel_dirty, /area/submap/methlab) @@ -400,7 +400,7 @@ /turf/simulated/floor/tiled/old_tile/white/virgo3b, /area/submap/methlab) "EW" = ( -/obj/item/weapon/stool, +/obj/item/stool, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plating/external/virgo3b, /area/submap/methlab) @@ -484,7 +484,7 @@ /turf/simulated/floor/tiled/steel_dirty, /area/submap/methlab) "LX" = ( -/obj/item/weapon/stool, +/obj/item/stool, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/tiled/steel_dirty, @@ -520,7 +520,7 @@ /area/submap/methlab) "PO" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/module/power_control, +/obj/item/module/power_control, /turf/simulated/floor/tiled/steel_dirty, /area/submap/methlab) "PZ" = ( @@ -558,7 +558,7 @@ /turf/simulated/floor/tiled/old_tile/white/virgo3b, /area/submap/methlab) "Tr" = ( -/obj/item/weapon/stool, +/obj/item/stool, /obj/effect/floor_decal/rust, /obj/random/maintenance/engineering, /turf/simulated/floor/tiled/steel_dirty, @@ -578,18 +578,18 @@ /area/submap/methlab) "TU" = ( /obj/structure/safe/floor, -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus, -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus, -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus, -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus, -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus, -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus, -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus, -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus, -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus, -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus, -/obj/item/weapon/storage/bag/cash, -/obj/item/weapon/storage/bag/cash, +/obj/item/reagent_containers/food/snacks/grown/ambrosiadeus, +/obj/item/reagent_containers/food/snacks/grown/ambrosiadeus, +/obj/item/reagent_containers/food/snacks/grown/ambrosiadeus, +/obj/item/reagent_containers/food/snacks/grown/ambrosiadeus, +/obj/item/reagent_containers/food/snacks/grown/ambrosiadeus, +/obj/item/reagent_containers/food/snacks/grown/ambrosiadeus, +/obj/item/reagent_containers/food/snacks/grown/ambrosiadeus, +/obj/item/reagent_containers/food/snacks/grown/ambrosiadeus, +/obj/item/reagent_containers/food/snacks/grown/ambrosiadeus, +/obj/item/reagent_containers/food/snacks/grown/ambrosiadeus, +/obj/item/storage/bag/cash, +/obj/item/storage/bag/cash, /turf/simulated/floor/plating/external/virgo3b, /area/submap/methlab) "Uy" = ( @@ -608,7 +608,7 @@ /turf/simulated/floor/tiled/techfloor, /area/submap/methlab) "UO" = ( -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /turf/template_noop, @@ -656,8 +656,8 @@ /obj/item/stack/material/phoron{ amount = 5 }, -/obj/item/weapon/extinguisher, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/extinguisher, +/obj/item/storage/box/lights/mixed, /turf/simulated/floor/plating/external/virgo3b, /area/submap/methlab) "Yz" = ( @@ -668,7 +668,7 @@ /area/submap/methlab) "Zp" = ( /obj/structure/grille/rustic, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ pixel_x = 5; pixel_y = 3 }, diff --git a/maps/submaps/surface_submaps/plains/oldhotel.dmm b/maps/submaps/surface_submaps/plains/oldhotel.dmm index 92e7accd62b..4d0a583af97 100644 --- a/maps/submaps/surface_submaps/plains/oldhotel.dmm +++ b/maps/submaps/surface_submaps/plains/oldhotel.dmm @@ -1,20 +1,16 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"ai" = ( -/obj/random/trash, -/turf/simulated/floor/carpet/purcarpet, -/area/submap/oldhotel) "aJ" = ( -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid, +/obj/item/storage/firstaid, /turf/simulated/floor/tiled/old_tile/white/virgo3b, /area/submap/oldhotel) "bb" = ( /obj/machinery/light/small{ dir = 4 }, -/obj/item/device/multitool, +/obj/item/multitool, /turf/simulated/floor/wood/virgo3b, /area/submap/oldhotel) "bQ" = ( @@ -23,7 +19,7 @@ /turf/simulated/floor/tiled/old_tile/white/virgo3b, /area/submap/oldhotel) "bW" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/template_noop, /area/submap/oldhotel) "cA" = ( @@ -41,7 +37,7 @@ /area/submap/oldhotel) "dn" = ( /obj/structure/table/woodentable, -/obj/item/weapon/flame/candle/everburn, +/obj/item/flame/candle/everburn, /turf/simulated/floor/wood/virgo3b, /area/submap/oldhotel) "dr" = ( @@ -104,14 +100,9 @@ /obj/item/trash/tray, /turf/simulated/floor/wood/virgo3b, /area/submap/oldhotel) -"ja" = ( -/obj/effect/decal/cleanable/dirt, -/obj/random/junk, -/turf/simulated/floor/carpet/purcarpet, -/area/submap/oldhotel) "je" = ( /obj/structure/closet/cabinet, -/obj/item/device/binoculars/spyglass, +/obj/item/binoculars/spyglass, /obj/random/contraband, /obj/random/contraband, /obj/random/maintenance/medical, @@ -145,20 +136,20 @@ /area/submap/oldhotel) "kW" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 3 }, /turf/simulated/floor/wood/virgo3b, /area/submap/oldhotel) "lj" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/kitchen/rollingpin, /turf/simulated/floor/tiled/old_tile/white/virgo3b, /area/submap/oldhotel) "ly" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/mimedouble, +/obj/item/bedsheet/mimedouble, /turf/simulated/floor/wood/virgo3b, /area/submap/oldhotel) "lZ" = ( @@ -168,7 +159,7 @@ /area/submap/oldhotel) "mr" = ( /obj/structure/table/woodentable, -/obj/item/weapon/cell/hyper, +/obj/item/cell/hyper, /turf/simulated/floor/wood/virgo3b, /area/submap/oldhotel) "mR" = ( @@ -179,7 +170,7 @@ /turf/simulated/floor/plating/external/virgo3b, /area/submap/oldhotel) "nG" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/oldhotel) "nZ" = ( @@ -192,8 +183,8 @@ /turf/simulated/floor/carpet/sblucarpet/virgo3b, /area/submap/oldhotel) "pi" = ( -/obj/item/weapon/material/shard, -/obj/item/weapon/material/shard{ +/obj/item/material/shard, +/obj/item/material/shard{ icon_state = "medium"; pixel_x = 12; pixel_y = 7 @@ -201,8 +192,8 @@ /turf/template_noop, /area/submap/oldhotel) "pn" = ( -/obj/item/weapon/material/shard, -/obj/item/weapon/material/shard{ +/obj/item/material/shard, +/obj/item/material/shard{ pixel_x = 7 }, /turf/template_noop, @@ -213,7 +204,7 @@ /turf/simulated/floor/wood/virgo3b, /area/submap/oldhotel) "rb" = ( -/obj/item/weapon/module/power_control, +/obj/item/module/power_control, /turf/simulated/floor/tiled/old_tile/white/virgo3b, /area/submap/oldhotel) "rK" = ( @@ -222,7 +213,7 @@ /turf/simulated/floor/wood/virgo3b, /area/submap/oldhotel) "rZ" = ( -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /turf/template_noop, @@ -242,20 +233,20 @@ /area/submap/oldhotel) "tz" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/rddouble, +/obj/item/bedsheet/rddouble, /turf/simulated/floor/wood/virgo3b, /area/submap/oldhotel) "tE" = ( /obj/structure/table/woodentable, /obj/random/coin, -/obj/item/weapon/reagent_containers/glass/rag, +/obj/item/reagent_containers/glass/rag, /turf/simulated/floor/carpet/sblucarpet/virgo3b, /area/submap/oldhotel) "tV" = ( /obj/structure/bed/chair/wood{ dir = 1 }, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/wood/virgo3b, /area/submap/oldhotel) "uF" = ( @@ -280,17 +271,17 @@ /area/submap/oldhotel) "vA" = ( /obj/structure/table/woodentable, -/obj/item/weapon/telecube/randomized{ +/obj/item/telecube/randomized{ name = "Odd artifact" }, /turf/simulated/floor/wood/virgo3b, /area/submap/oldhotel) "vM" = ( -/obj/item/weapon/material/shard, -/obj/item/weapon/material/shard{ +/obj/item/material/shard, +/obj/item/material/shard{ pixel_y = -6 }, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ pixel_x = 9 }, /obj/structure/grille/broken/rustic, @@ -303,7 +294,7 @@ /area/submap/oldhotel) "vR" = ( /obj/structure/table/woodentable, -/obj/item/weapon/flame/candle/candelabra, +/obj/item/flame/candle/candelabra, /turf/simulated/floor/carpet/sblucarpet/virgo3b, /area/submap/oldhotel) "wm" = ( @@ -312,9 +303,9 @@ /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/oldhotel) "wK" = ( -/obj/item/weapon/material/shard, -/obj/item/weapon/material/shard, -/obj/item/weapon/material/shard{ +/obj/item/material/shard, +/obj/item/material/shard, +/obj/item/material/shard{ icon_state = "medium"; pixel_x = 12; pixel_y = 7 @@ -323,13 +314,13 @@ /area/submap/oldhotel) "wV" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/reagent_containers/glass/beaker, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/glass/beaker, +/obj/item/reagent_containers/food/condiment/enzyme, /turf/simulated/floor/tiled/old_tile/white/virgo3b, /area/submap/oldhotel) "wX" = ( -/obj/item/weapon/material/shard, -/obj/item/weapon/material/shard{ +/obj/item/material/shard, +/obj/item/material/shard{ icon_state = "medium"; pixel_x = 12; pixel_y = 7 @@ -342,7 +333,7 @@ /area/submap/oldhotel) "yM" = ( /obj/item/stack/cable_coil, -/turf/simulated/floor/carpet/purcarpet, +/turf/simulated/floor/carpet/sblucarpet/virgo3b, /area/submap/oldhotel) "zs" = ( /obj/effect/decal/cleanable/dirt, @@ -354,9 +345,9 @@ /turf/simulated/wall/wood, /area/submap/oldhotel) "zO" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /obj/structure/grille/broken/rustic, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium"; pixel_x = 12; pixel_y = 7 @@ -369,7 +360,7 @@ /area/submap/oldhotel) "Ac" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/material/knife/butch, +/obj/item/material/knife/butch, /turf/simulated/floor/tiled/old_tile/white/virgo3b, /area/submap/oldhotel) "AO" = ( @@ -378,13 +369,13 @@ /area/submap/oldhotel) "AU" = ( /obj/structure/table/woodentable, -/obj/item/device/tape, +/obj/item/rectape, /turf/simulated/floor/wood/virgo3b, /area/submap/oldhotel) "AZ" = ( /obj/structure/table/woodentable, /obj/item/trash/candle, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "This is a stupid tresure hunt task, that thing is not taking us anywhere. Go on and have fun finding a waste of time."; name = "Wrinkled sheet of paper" }, @@ -406,7 +397,7 @@ /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/oldhotel) "CS" = ( -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/floor/wood/virgo3b, /area/submap/oldhotel) "Di" = ( @@ -463,17 +454,17 @@ /area/submap/oldhotel) "GV" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/fancy/candle_box, -/obj/item/weapon/storage/fancy/candle_box, -/obj/item/weapon/storage/fancy/candle_box, -/obj/item/weapon/flame/lighter/random, -/obj/item/weapon/flame/lighter/random, -/obj/item/weapon/melee/umbrella/random, +/obj/item/storage/fancy/candle_box, +/obj/item/storage/fancy/candle_box, +/obj/item/storage/fancy/candle_box, +/obj/item/flame/lighter/random, +/obj/item/flame/lighter/random, +/obj/item/melee/umbrella/random, /turf/simulated/floor/wood/virgo3b, /area/submap/oldhotel) "Ik" = ( -/obj/item/weapon/material/shard, -/obj/item/weapon/material/shard{ +/obj/item/material/shard, +/obj/item/material/shard{ icon_state = "medium" }, /turf/simulated/floor/tiled/old_tile/white/virgo3b, @@ -501,9 +492,9 @@ /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/oldhotel) "Lg" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /obj/structure/grille/broken/rustic, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /turf/simulated/floor/tiled/old_tile/white/virgo3b, @@ -548,14 +539,14 @@ /area/submap/oldhotel) "Qv" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, -/obj/item/weapon/pen, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, +/obj/item/pen, +/obj/item/pen, /turf/simulated/floor/wood/virgo3b, /area/submap/oldhotel) "Qw" = ( -/obj/item/weapon/stool, +/obj/item/stool, /obj/random/cash, /obj/machinery/light/small, /turf/simulated/floor/wood/virgo3b, @@ -572,20 +563,17 @@ /area/submap/oldhotel) "Sf" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/yellowdouble, +/obj/item/bedsheet/yellowdouble, /turf/simulated/floor/wood/virgo3b, /area/submap/oldhotel) "Sy" = ( /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/tiled/old_tile/white/virgo3b, /area/submap/oldhotel) -"SG" = ( -/turf/simulated/floor/carpet/purcarpet, -/area/submap/oldhotel) "SL" = ( -/obj/item/weapon/material/shard, -/obj/item/weapon/material/shard, -/obj/item/weapon/material/shard{ +/obj/item/material/shard, +/obj/item/material/shard, +/obj/item/material/shard{ icon_state = "medium"; pixel_x = 12; pixel_y = 7 @@ -605,13 +593,13 @@ /area/submap/oldhotel) "Uw" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/book/manual/chef_recipes, +/obj/item/book/manual/chef_recipes, /turf/simulated/floor/tiled/old_tile/white/virgo3b, /area/submap/oldhotel) "UU" = ( /obj/structure/table/woodentable, -/obj/item/weapon/flame/lighter/zippo/royal, -/obj/item/weapon/lipstick/random, +/obj/item/flame/lighter/zippo/royal, +/obj/item/lipstick/random, /turf/simulated/floor/wood/virgo3b, /area/submap/oldhotel) "Vf" = ( @@ -649,7 +637,7 @@ /turf/simulated/floor/tiled/old_tile/white/virgo3b, /area/submap/oldhotel) "WH" = ( -/obj/item/device/flashlight{ +/obj/item/flashlight{ pixel_x = 2; pixel_y = 2 }, @@ -660,7 +648,7 @@ /turf/simulated/floor/wood/virgo3b, /area/submap/oldhotel) "YQ" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /obj/structure/grille/broken/rustic, /turf/simulated/floor/tiled/old_tile/white/virgo3b, /area/submap/oldhotel) @@ -846,8 +834,8 @@ Vj SZ hQ RM -ai -ja +ES +cZ TU hQ RM @@ -873,7 +861,7 @@ cZ SZ hQ TU -SG +Vj yM Wy ZG diff --git a/maps/submaps/surface_submaps/plains/otieshelter.dmm b/maps/submaps/surface_submaps/plains/otieshelter.dmm index 137930b5f80..3bb8a37c7cb 100644 --- a/maps/submaps/surface_submaps/plains/otieshelter.dmm +++ b/maps/submaps/surface_submaps/plains/otieshelter.dmm @@ -68,7 +68,7 @@ dir = 4 }, /obj/item/trash/bowl, -/obj/item/weapon/reagent_containers/food/snacks/meat/human, +/obj/item/reagent_containers/food/snacks/meat/human, /turf/simulated/floor/tiled, /area/submap/OtieShelter) "hk" = ( @@ -88,7 +88,7 @@ /area/submap/OtieShelter) "iv" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery, /turf/simulated/floor/tiled/virgo3b, /area/submap/OtieShelter) "iC" = ( @@ -120,7 +120,7 @@ /turf/simulated/floor/carpet/turcarpet/virgo3b, /area/submap/OtieShelter) "jI" = ( -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /obj/effect/decal/cleanable/blood/tracks{ @@ -181,7 +181,7 @@ }, /mob/living/simple_mob/vore/otie/friendly/chubby, /obj/item/trash/bowl, -/obj/item/weapon/reagent_containers/food/snacks/meat/human, +/obj/item/reagent_containers/food/snacks/meat/human, /turf/simulated/floor/tiled, /area/submap/OtieShelter) "mC" = ( @@ -205,8 +205,8 @@ /area/submap/OtieShelter) "nR" = ( /obj/structure/table/marble, -/obj/item/weapon/newspaper, -/obj/item/weapon/paper/card/heart, +/obj/item/newspaper, +/obj/item/paper/card/heart, /turf/simulated/floor/carpet/turcarpet/virgo3b, /area/submap/OtieShelter) "ob" = ( @@ -219,7 +219,7 @@ /area/submap/OtieShelter) "od" = ( /obj/machinery/door/window, -/obj/item/weapon/bone, +/obj/item/bone, /turf/simulated/floor/tiled, /area/submap/OtieShelter) "op" = ( @@ -283,7 +283,7 @@ dir = 4 }, /obj/item/trash/bowl, -/obj/item/weapon/reagent_containers/food/snacks/meat/human, +/obj/item/reagent_containers/food/snacks/meat/human, /turf/simulated/floor/tiled, /area/submap/OtieShelter) "uw" = ( @@ -304,14 +304,14 @@ /turf/simulated/floor/tiled, /area/submap/OtieShelter) "vA" = ( -/obj/item/weapon/bone, +/obj/item/bone, /turf/simulated/floor/tiled/virgo3b, /area/submap/OtieShelter) "vB" = ( /obj/machinery/door/window{ dir = 8 }, -/obj/item/weapon/bone, +/obj/item/bone, /turf/simulated/floor/tiled, /area/submap/OtieShelter) "vV" = ( @@ -350,7 +350,7 @@ /area/submap/OtieShelter) "yD" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/firstaid/adv, +/obj/item/storage/firstaid/adv, /turf/simulated/floor/tiled/virgo3b, /area/submap/OtieShelter) "Aa" = ( @@ -362,8 +362,8 @@ /area/submap/OtieShelter) "At" = ( /obj/structure/table/marble, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /turf/simulated/floor/carpet/turcarpet/virgo3b, /area/submap/OtieShelter) "AO" = ( @@ -374,7 +374,7 @@ /turf/simulated/floor/tiled/virgo3b, /area/submap/OtieShelter) "BM" = ( -/obj/item/weapon/melee/baton/cattleprod, +/obj/item/melee/baton/cattleprod, /obj/effect/decal/cleanable/blood/tracks{ color = "red"; desc = "Your instincts say you shouldn't be following these."; @@ -390,7 +390,7 @@ /area/submap/OtieShelter) "Cw" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/firstaid, +/obj/item/storage/firstaid, /turf/simulated/floor/tiled/virgo3b, /area/submap/OtieShelter) "CM" = ( @@ -419,7 +419,7 @@ /turf/simulated/floor/tiled/virgo3b, /area/submap/OtieShelter) "Ih" = ( -/obj/item/weapon/reagent_containers/food/snacks/meat/human, +/obj/item/reagent_containers/food/snacks/meat/human, /turf/simulated/floor/tiled, /area/submap/OtieShelter) "Ij" = ( @@ -487,11 +487,11 @@ "Nd" = ( /obj/structure/table/marble, /obj/structure/table/marble, -/obj/item/device/radio/phone, +/obj/item/radio/phone, /turf/simulated/floor/carpet/turcarpet/virgo3b, /area/submap/OtieShelter) "Nh" = ( -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /obj/structure/bed/double/padded, /turf/simulated/floor/carpet/turcarpet, /area/submap/OtieShelter) @@ -538,7 +538,7 @@ dir = 8 }, /obj/item/trash/bowl, -/obj/item/weapon/reagent_containers/food/snacks/meat/human, +/obj/item/reagent_containers/food/snacks/meat/human, /turf/simulated/floor/tiled, /area/submap/OtieShelter) "Px" = ( @@ -596,7 +596,7 @@ dir = 8 }, /obj/item/trash/bowl, -/obj/item/weapon/reagent_containers/food/snacks/meat/human, +/obj/item/reagent_containers/food/snacks/meat/human, /turf/simulated/floor/tiled, /area/submap/OtieShelter) "VE" = ( @@ -639,7 +639,7 @@ dir = 1 }, /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /obj/effect/floor_decal/industrial/warning{ dir = 1 }, diff --git a/maps/submaps/surface_submaps/plains/plains.dm b/maps/submaps/surface_submaps/plains/plains.dm index f16b832e1a2..bdac69b5986 100644 --- a/maps/submaps/surface_submaps/plains/plains.dm +++ b/maps/submaps/surface_submaps/plains/plains.dm @@ -1,7 +1,7 @@ // This causes PoI maps to get 'checked' and compiled, when undergoing a unit test. // This is so CI can validate PoIs, and ensure future changes don't break PoIs, as PoIs are loaded at runtime and the compiler can't catch errors. // When adding a new PoI, please add it to this list. -#if MAP_TEST +#ifdef MAP_TEST #include "farm1.dmm" #include "construction1.dmm" #include "camp1.dmm" @@ -61,289 +61,288 @@ /datum/map_template/surface/plains/farm1 name = "Farm 1" desc = "A small farm tended by a farmbot." - mappath = 'maps/submaps/surface_submaps/plains/farm1_vr.dmm' //VOREStation Edit + mappath = "maps/submaps/surface_submaps/plains/farm1_vr.dmm" //VOREStation Edit cost = 10 /datum/map_template/surface/plains/construction1 name = "Construction Site 1" desc = "A structure being built. It seems laziness is not limited to engineers." - mappath = 'maps/submaps/surface_submaps/plains/construction1.dmm' + mappath = "maps/submaps/surface_submaps/plains/construction1.dmm" cost = 10 /datum/map_template/surface/plains/camp1 name = "Camp Site 1" desc = "A small campsite, complete with housing and bonfire." - mappath = 'maps/submaps/surface_submaps/plains/camp1_vr.dmm' //VOREStation Edit + mappath = "maps/submaps/surface_submaps/plains/camp1_vr.dmm" //VOREStation Edit cost = 10 /datum/map_template/surface/plains/house1 name = "House 1" desc = "A fair sized house out in the frontier, that belonged to a well-traveled explorer." - mappath = 'maps/submaps/surface_submaps/plains/house1_vr.dmm' //VOREStation Edit + mappath = "maps/submaps/surface_submaps/plains/house1_vr.dmm" //VOREStation Edit cost = 10 /datum/map_template/surface/plains/beacons name = "Collection of Marker Beacons" desc = "A bunch of marker beacons, scattered in a strange pattern." - mappath = 'maps/submaps/surface_submaps/plains/beacons.dmm' + mappath = "maps/submaps/surface_submaps/plains/beacons.dmm" cost = 5 - fixed_orientation = TRUE /datum/map_template/surface/plains/Epod name = "Emergency Pod" desc = "A vacant Emergency pod in the middle of nowhere." - mappath = 'maps/submaps/surface_submaps/plains/Epod.dmm' + mappath = "maps/submaps/surface_submaps/plains/Epod.dmm" cost = 5 /datum/map_template/surface/plains/Epod2 name = "Emergency Pod 2" desc = "A locked Emergency pod in the middle of nowhere." - mappath = 'maps/submaps/surface_submaps/plains/Epod2.dmm' + mappath = "maps/submaps/surface_submaps/plains/Epod2.dmm" cost = 5 /datum/map_template/surface/plains/normal/Rocky2 name = "Rocky 2" desc = "More rocks." - mappath = 'maps/submaps/surface_submaps/plains/Rocky2.dmm' + mappath = "maps/submaps/surface_submaps/plains/Rocky2.dmm" allow_duplicates = TRUE cost = 5 /datum/map_template/surface/plains/PascalB name = "Irradiated Manhole Cover" desc = "How did this old thing get all the way out here?" - mappath = 'maps/submaps/surface_submaps/plains/PascalB.dmm' + mappath = "maps/submaps/surface_submaps/plains/PascalB.dmm" cost = 5 /datum/map_template/surface/plains/bonfire name = "Abandoned Bonfire" desc = "Someone seems to enjoy orange juice a bit too much." - mappath = 'maps/submaps/surface_submaps/plains/bonfire.dmm' + mappath = "maps/submaps/surface_submaps/plains/bonfire.dmm" cost = 5 /datum/map_template/surface/plains/Rocky5 name = "Rocky 5" desc = "More rocks, Less Stalone" - mappath = 'maps/submaps/surface_submaps/plains/Rocky5.dmm' + mappath = "maps/submaps/surface_submaps/plains/Rocky5.dmm" cost = 5 /datum/map_template/surface/plains/Shakden name = "Shantak Den" desc = "Not to be confused with Shaq Den" - mappath = 'maps/submaps/surface_submaps/plains/Shakden_vr.dmm' //VOREStation Edit + mappath = "maps/submaps/surface_submaps/plains/Shakden_vr.dmm" //VOREStation Edit cost = 10 /datum/map_template/surface/plains/Field1 name = "Field 1" desc = "A regular field with a tug on it" - mappath = 'maps/submaps/surface_submaps/plains/Field1.dmm' + mappath = "maps/submaps/surface_submaps/plains/Field1.dmm" cost = 20 /datum/map_template/surface/plains/Thiefc name = "Thieves Cave" desc = "A thieves stash" - mappath = 'maps/submaps/surface_submaps/plains/Thiefc_vr.dmm' //VOREStation Edit + mappath = "maps/submaps/surface_submaps/plains/Thiefc_vr.dmm" //VOREStation Edit cost = 20 /datum/map_template/surface/plains/smol2 name = "Small 2" desc = "A small formation of mishaped surgery" - mappath = 'maps/submaps/surface_submaps/plains/smol2.dmm' + mappath = "maps/submaps/surface_submaps/plains/smol2.dmm" cost = 10 /datum/map_template/surface/plains/Mechpt name = "Mechpit" desc = "A illmade Mech brawling ring" - mappath = 'maps/submaps/surface_submaps/plains/Mechpt.dmm' + mappath = "maps/submaps/surface_submaps/plains/Mechpt.dmm" cost = 15 /datum/map_template/surface/plains/Boathouse name = "Boathouse" desc = "A fance house on a lake." - mappath = 'maps/submaps/surface_submaps/plains/Boathouse_vr.dmm' //VOREStation Edit + mappath = "maps/submaps/surface_submaps/plains/Boathouse_vr.dmm" //VOREStation Edit cost = 30 /datum/map_template/surface/plains/PooledR name = "Pooled Rocks" desc = "An intresting rocky location" - mappath = 'maps/submaps/surface_submaps/plains/PooledR_vr.dmm' //VOREStation Edit + mappath = "maps/submaps/surface_submaps/plains/PooledR_vr.dmm" //VOREStation Edit cost = 15 /datum/map_template/surface/plains/Smol3 name = "Small 3" desc = "A small stand" - mappath = 'maps/submaps/surface_submaps/plains/Smol3.dmm' + mappath = "maps/submaps/surface_submaps/plains/Smol3.dmm" cost = 10 /datum/map_template/surface/plains/Diner name = "Diner" desc = "Old Timey Tasty" - mappath = 'maps/submaps/surface_submaps/plains/Diner_vr.dmm' //VOREStation Edit + mappath = "maps/submaps/surface_submaps/plains/Diner_vr.dmm" //VOREStation Edit cost = 25 /datum/map_template/surface/plains/snow1 name = "Snow 1" desc = "Snow" - mappath = 'maps/submaps/surface_submaps/plains/snow1.dmm' + mappath = "maps/submaps/surface_submaps/plains/snow1.dmm" cost = 5 /datum/map_template/surface/plains/snow2 name = "Snow 2" desc = "More snow" - mappath = 'maps/submaps/surface_submaps/plains/snow2.dmm' + mappath = "maps/submaps/surface_submaps/plains/snow2.dmm" cost = 5 /datum/map_template/surface/plains/snow3 name = "Snow 3" desc = "Snow Snow Snow" - mappath = 'maps/submaps/surface_submaps/plains/snow3.dmm' + mappath = "maps/submaps/surface_submaps/plains/snow3.dmm" cost = 5 /datum/map_template/surface/plains/snow4 name = "Snow 4" desc = "Too much snow" - mappath = 'maps/submaps/surface_submaps/plains/snow4.dmm' + mappath = "maps/submaps/surface_submaps/plains/snow4.dmm" cost = 5 /datum/map_template/surface/plains/snow5 name = "Snow 5" desc = "Please stop the snow" - mappath = 'maps/submaps/surface_submaps/plains/snow5.dmm' + mappath = "maps/submaps/surface_submaps/plains/snow5.dmm" cost = 5 /datum/map_template/surface/plains/RationCache name = "Ration Cache" desc = "A forgotten cache of emergency rations." - mappath = 'maps/submaps/surface_submaps/plains/RationCache_vr.dmm' //VOREStation Edit + mappath = "maps/submaps/surface_submaps/plains/RationCache_vr.dmm" //VOREStation Edit cost = 5 /datum/map_template/surface/plains/SupplyDrop2 name = "Old Supply Drop" desc = "A drop pod that's clearly been here a while, most of the things inside are rusted and worthless." - mappath = 'maps/submaps/surface_submaps/plains/SupplyDrop2.dmm' + mappath = "maps/submaps/surface_submaps/plains/SupplyDrop2.dmm" cost = 8 /datum/map_template/surface/plains/Oldhouse name = "Old House" desc = "Someones old library it seems.." - mappath = 'maps/submaps/surface_submaps/plains/Oldhouse_vr.dmm' //VOREStation Edit + mappath = "maps/submaps/surface_submaps/plains/Oldhouse_vr.dmm" //VOREStation Edit cost = 15 /datum/map_template/surface/plains/ChemSpill1 name = "Ruptured Canister" desc = "A dumped chemical canister. Looks dangerous." - mappath = 'maps/submaps/surface_submaps/plains/chemspill1_vr.dmm' //VOREStation Edit + mappath = "maps/submaps/surface_submaps/plains/chemspill1_vr.dmm" //VOREStation Edit cost = 10 /datum/map_template/surface/plains/PlainsKururak name = "Lone Kururak" desc = "A lone Kururak's den." - mappath = 'maps/submaps/surface_submaps/plains/PlainsKururak.dmm' + mappath = "maps/submaps/surface_submaps/plains/PlainsKururak.dmm" cost = 10 /datum/map_template/surface/plains/BuriedTreasure1 name = "Buried Treasure 1" desc = "A hole in the ground, who knows what might be inside!" - mappath = 'maps/submaps/surface_submaps/plains/BuriedTreasure.dmm' + mappath = "maps/submaps/surface_submaps/plains/BuriedTreasure.dmm" cost = 10 template_group = "Shallow Grave" /datum/map_template/surface/plains/BuriedTreasure2 name = "Buried Treasure 2" desc = "A hole in the ground, who knows what might be inside!" - mappath = 'maps/submaps/surface_submaps/plains/BuriedTreasure2.dmm' + mappath = "maps/submaps/surface_submaps/plains/BuriedTreasure2.dmm" cost = 10 template_group = "Shallow Grave" /datum/map_template/surface/plains/BuriedTreasure3 name = "Buried Treasure 3" desc = "A hole in the ground, who knows what might be inside!" - mappath = 'maps/submaps/surface_submaps/plains/BuriedTreasure3.dmm' + mappath = "maps/submaps/surface_submaps/plains/BuriedTreasure3.dmm" cost = 10 template_group = "Shallow Grave" /datum/map_template/surface/plains/oldhotel name = "Old Hotel" desc = "A abandoned hotel of sort, wonder why it was left behind." - mappath = 'maps/submaps/surface_submaps/plains/oldhotel.dmm' + mappath = "maps/submaps/surface_submaps/plains/oldhotel.dmm" cost = 15 /datum/map_template/surface/plains/priderock name = "Pride Rock" desc = "A quite steep petruding rock from the earth, looks like a good hike." - mappath = 'maps/submaps/surface_submaps/plains/priderock.dmm' + mappath = "maps/submaps/surface_submaps/plains/priderock.dmm" cost = 10 /datum/map_template/surface/plains/lonehome name = "Lone Home" desc = "A quite inoffensive looking home, damaged but still holding up." - mappath = 'maps/submaps/surface_submaps/plains/lonehome_vr.dmm' //VOREStation Edit + mappath = "maps/submaps/surface_submaps/plains/lonehome_vr.dmm" //VOREStation Edit cost = 15 /datum/map_template/surface/plains/hotspring name = "Hot Spring" desc = "Wait what, a hotspring in a frost planet?" - mappath = 'maps/submaps/surface_submaps/plains/hotspring.dmm' + mappath = "maps/submaps/surface_submaps/plains/hotspring.dmm" cost = 5 /datum/map_template/surface/plains/methlab name = "Meth Lab" desc = "A broken down greenhouse lab?, this does not look safe." - mappath = 'maps/submaps/surface_submaps/plains/methlab.dmm' + mappath = "maps/submaps/surface_submaps/plains/methlab.dmm" cost = 15 /datum/map_template/surface/plains/VRDen name = "VR Den" desc = "A temporarily abandoned VR den, still functional." - mappath = 'maps/submaps/surface_submaps/plains/VRDen.dmm' + mappath = "maps/submaps/surface_submaps/plains/VRDen.dmm" cost = 10 /datum/map_template/surface/plains/leopardmanderden name = "Leopardmander Den" desc = "Den of a voracious but very rare beast." - mappath = 'maps/submaps/surface_submaps/plains/leopardmanderden.dmm' + mappath = "maps/submaps/surface_submaps/plains/leopardmanderden.dmm" cost = 10 /datum/map_template/surface/plains/greatwolfden name = "Great Wolf Den" desc = "Den hosted by the biggest alpha wolf of the wilderness" - mappath = 'maps/submaps/surface_submaps/plains/greatwolfden.dmm' + mappath = "maps/submaps/surface_submaps/plains/greatwolfden.dmm" cost = 15 /datum/map_template/surface/plains/dogbase name = "Dog Base" desc = "A highly secured base with hungry trained canines" - mappath = 'maps/submaps/surface_submaps/plains/dogbase.dmm' + mappath = "maps/submaps/surface_submaps/plains/dogbase.dmm" cost = 20 allow_duplicates = FALSE /datum/map_template/surface/wilderness/normal/emptycabin name = "Empty Cabin" desc = "An inconspicuous looking den hosted by a hungry otie" - mappath = 'maps/submaps/surface_submaps/plains/emptycabin.dmm' + mappath = "maps/submaps/surface_submaps/plains/emptycabin.dmm" cost = 10 /datum/map_template/surface/plains/lonewolf name = "Lone Wolf" desc = "A large oppressing wolf, supervising from above its cliff" - mappath = 'maps/submaps/surface_submaps/plains/lonewolf.dmm' + mappath = "maps/submaps/surface_submaps/plains/lonewolf.dmm" cost = 5 /datum/map_template/surface/plains/otieshelter name = "Otie Shelter" desc = "A experimental lab of various breeds of oties" - mappath = 'maps/submaps/surface_submaps/plains/otieshelter.dmm' + mappath = "maps/submaps/surface_submaps/plains/otieshelter.dmm" cost = 15 /datum/map_template/surface/plains/syndisniper name = "Syndi Sniper" desc = "Syndicate watch tower, deadly but secluded" - mappath = 'maps/submaps/surface_submaps/plains/syndisniper.dmm' - + mappath = "maps/submaps/surface_submaps/plains/syndisniper.dmm" + cost = 5 /datum/map_template/surface/plains/drgnplateu name = "Dragon Plateu" desc = "A dangerous plateu of cliffs home to a rampant gold hoarding dragon" - mappath = 'maps/submaps/surface_submaps/plains/drgnplateu.dmm' + mappath = "maps/submaps/surface_submaps/plains/drgnplateu.dmm" cost = 15 - allow_duplicates = FALSE \ No newline at end of file + allow_duplicates = FALSE diff --git a/maps/submaps/surface_submaps/plains/plains_vr.dm b/maps/submaps/surface_submaps/plains/plains_vr.dm index 851c72322e9..5fd4c3cc659 100644 --- a/maps/submaps/surface_submaps/plains/plains_vr.dm +++ b/maps/submaps/surface_submaps/plains/plains_vr.dm @@ -1,7 +1,7 @@ // This causes PoI maps to get 'checked' and compiled, when undergoing a unit test. // This is so CI can validate PoIs, and ensure future changes don't break PoIs, as PoIs are loaded at runtime and the compiler can't catch errors. // When adding a new PoI, please add it to this list. -#if MAP_TEST +#ifdef MAP_TEST #include "farm1.dmm" #include "construction1.dmm" #include "camp1.dmm" @@ -61,288 +61,287 @@ /datum/map_template/surface/plains/farm1 name = "Farm 1" desc = "A small farm tended by a farmbot." - mappath = 'maps/submaps/surface_submaps/plains/farm1_vr.dmm' //VOREStation Edit + mappath = "maps/submaps/surface_submaps/plains/farm1_vr.dmm" //VOREStation Edit cost = 10 /datum/map_template/surface/plains/construction1 name = "Construction Site 1" desc = "A structure being built. It seems laziness is not limited to engineers." - mappath = 'maps/submaps/surface_submaps/plains/construction1.dmm' + mappath = "maps/submaps/surface_submaps/plains/construction1.dmm" cost = 10 /datum/map_template/surface/plains/camp1 name = "Camp Site 1" desc = "A small campsite, complete with housing and bonfire." - mappath = 'maps/submaps/surface_submaps/plains/camp1_vr.dmm' //VOREStation Edit + mappath = "maps/submaps/surface_submaps/plains/camp1_vr.dmm" //VOREStation Edit cost = 10 /datum/map_template/surface/plains/house1 name = "House 1" desc = "A fair sized house out in the frontier, that belonged to a well-traveled explorer." - mappath = 'maps/submaps/surface_submaps/plains/house1_vr.dmm' //VOREStation Edit + mappath = "maps/submaps/surface_submaps/plains/house1_vr.dmm" //VOREStation Edit cost = 10 /datum/map_template/surface/plains/beacons name = "Collection of Marker Beacons" desc = "A bunch of marker beacons, scattered in a strange pattern." - mappath = 'maps/submaps/surface_submaps/plains/beacons.dmm' + mappath = "maps/submaps/surface_submaps/plains/beacons.dmm" cost = 5 - fixed_orientation = TRUE /datum/map_template/surface/plains/Epod name = "Emergency Pod" desc = "A vacant Emergency pod in the middle of nowhere." - mappath = 'maps/submaps/surface_submaps/plains/Epod.dmm' + mappath = "maps/submaps/surface_submaps/plains/Epod.dmm" cost = 5 /datum/map_template/surface/plains/Epod2 name = "Emergency Pod 2" desc = "A locked Emergency pod in the middle of nowhere." - mappath = 'maps/submaps/surface_submaps/plains/Epod2.dmm' + mappath = "maps/submaps/surface_submaps/plains/Epod2.dmm" cost = 5 /datum/map_template/surface/plains/normal/Rocky2 name = "Rocky 2" desc = "More rocks." - mappath = 'maps/submaps/surface_submaps/plains/Rocky2.dmm' + mappath = "maps/submaps/surface_submaps/plains/Rocky2.dmm" allow_duplicates = TRUE cost = 5 /datum/map_template/surface/plains/PascalB name = "Irradiated Manhole Cover" desc = "How did this old thing get all the way out here?" - mappath = 'maps/submaps/surface_submaps/plains/PascalB.dmm' + mappath = "maps/submaps/surface_submaps/plains/PascalB.dmm" cost = 5 /datum/map_template/surface/plains/bonfire name = "Abandoned Bonfire" desc = "Someone seems to enjoy orange juice a bit too much." - mappath = 'maps/submaps/surface_submaps/plains/bonfire.dmm' + mappath = "maps/submaps/surface_submaps/plains/bonfire.dmm" cost = 5 /datum/map_template/surface/plains/Rocky5 name = "Rocky 5" desc = "More rocks, Less Stalone" - mappath = 'maps/submaps/surface_submaps/plains/Rocky5.dmm' + mappath = "maps/submaps/surface_submaps/plains/Rocky5.dmm" cost = 5 /datum/map_template/surface/plains/Shakden name = "Shantak Den" desc = "Not to be confused with Shaq Den" - mappath = 'maps/submaps/surface_submaps/plains/Shakden_vr.dmm' //VOREStation Edit + mappath = "maps/submaps/surface_submaps/plains/Shakden_vr.dmm" //VOREStation Edit cost = 10 /datum/map_template/surface/plains/Field1 name = "Field 1" desc = "A regular field with a tug on it" - mappath = 'maps/submaps/surface_submaps/plains/Field1.dmm' + mappath = "maps/submaps/surface_submaps/plains/Field1.dmm" cost = 20 /datum/map_template/surface/plains/Thiefc name = "Thieves Cave" desc = "A thieves stash" - mappath = 'maps/submaps/surface_submaps/plains/Thiefc_vr.dmm' //VOREStation Edit + mappath = "maps/submaps/surface_submaps/plains/Thiefc_vr.dmm" //VOREStation Edit cost = 20 /datum/map_template/surface/plains/smol2 name = "Small 2" desc = "A small formation of mishaped surgery" - mappath = 'maps/submaps/surface_submaps/plains/smol2.dmm' + mappath = "maps/submaps/surface_submaps/plains/smol2.dmm" cost = 10 /datum/map_template/surface/plains/Mechpt name = "Mechpit" desc = "A illmade Mech brawling ring" - mappath = 'maps/submaps/surface_submaps/plains/Mechpt.dmm' + mappath = "maps/submaps/surface_submaps/plains/Mechpt.dmm" cost = 15 /datum/map_template/surface/plains/Boathouse name = "Boathouse" desc = "A fance house on a lake." - mappath = 'maps/submaps/surface_submaps/plains/Boathouse_vr.dmm' //VOREStation Edit + mappath = "maps/submaps/surface_submaps/plains/Boathouse_vr.dmm" //VOREStation Edit cost = 30 /datum/map_template/surface/plains/PooledR name = "Pooled Rocks" desc = "An intresting rocky location" - mappath = 'maps/submaps/surface_submaps/plains/PooledR_vr.dmm' //VOREStation Edit + mappath = "maps/submaps/surface_submaps/plains/PooledR_vr.dmm" //VOREStation Edit cost = 15 /datum/map_template/surface/plains/Smol3 name = "Small 3" desc = "A small stand" - mappath = 'maps/submaps/surface_submaps/plains/Smol3.dmm' + mappath = "maps/submaps/surface_submaps/plains/Smol3.dmm" cost = 10 /datum/map_template/surface/plains/Diner name = "Diner" desc = "Old Timey Tasty" - mappath = 'maps/submaps/surface_submaps/plains/Diner_vr.dmm' //VOREStation Edit + mappath = "maps/submaps/surface_submaps/plains/Diner_vr.dmm" //VOREStation Edit cost = 25 /datum/map_template/surface/plains/snow1 name = "Snow 1" desc = "Snow" - mappath = 'maps/submaps/surface_submaps/plains/snow1.dmm' + mappath = "maps/submaps/surface_submaps/plains/snow1.dmm" cost = 5 /datum/map_template/surface/plains/snow2 name = "Snow 2" desc = "More snow" - mappath = 'maps/submaps/surface_submaps/plains/snow2.dmm' + mappath = "maps/submaps/surface_submaps/plains/snow2.dmm" cost = 5 /datum/map_template/surface/plains/snow3 name = "Snow 3" desc = "Snow Snow Snow" - mappath = 'maps/submaps/surface_submaps/plains/snow3.dmm' + mappath = "maps/submaps/surface_submaps/plains/snow3.dmm" cost = 5 /datum/map_template/surface/plains/snow4 name = "Snow 4" desc = "Too much snow" - mappath = 'maps/submaps/surface_submaps/plains/snow4.dmm' + mappath = "maps/submaps/surface_submaps/plains/snow4.dmm" cost = 5 /datum/map_template/surface/plains/snow5 name = "Snow 5" desc = "Please stop the snow" - mappath = 'maps/submaps/surface_submaps/plains/snow5.dmm' + mappath = "maps/submaps/surface_submaps/plains/snow5.dmm" cost = 5 /datum/map_template/surface/plains/RationCache name = "Ration Cache" desc = "A forgotten cache of emergency rations." - mappath = 'maps/submaps/surface_submaps/plains/RationCache_vr.dmm' //VOREStation Edit + mappath = "maps/submaps/surface_submaps/plains/RationCache_vr.dmm" //VOREStation Edit cost = 5 /datum/map_template/surface/plains/SupplyDrop2 name = "Old Supply Drop" desc = "A drop pod that's clearly been here a while, most of the things inside are rusted and worthless." - mappath = 'maps/submaps/surface_submaps/plains/SupplyDrop2.dmm' + mappath = "maps/submaps/surface_submaps/plains/SupplyDrop2.dmm" cost = 8 /datum/map_template/surface/plains/Oldhouse name = "Old House" desc = "Someones old library it seems.." - mappath = 'maps/submaps/surface_submaps/plains/Oldhouse_vr.dmm' //VOREStation Edit + mappath = "maps/submaps/surface_submaps/plains/Oldhouse_vr.dmm" //VOREStation Edit cost = 15 /datum/map_template/surface/plains/ChemSpill1 name = "Ruptured Canister" desc = "A dumped chemical canister. Looks dangerous." - mappath = 'maps/submaps/surface_submaps/plains/chemspill1_vr.dmm' //VOREStation Edit + mappath = "maps/submaps/surface_submaps/plains/chemspill1_vr.dmm" //VOREStation Edit cost = 10 /datum/map_template/surface/plains/PlainsKururak name = "Lone Kururak" desc = "A lone Kururak's den." - mappath = 'maps/submaps/surface_submaps/plains/PlainsKururak.dmm' + mappath = "maps/submaps/surface_submaps/plains/PlainsKururak.dmm" cost = 10 /datum/map_template/surface/plains/BuriedTreasure1 name = "Buried Treasure 1" desc = "A hole in the ground, who knows what might be inside!" - mappath = 'maps/submaps/surface_submaps/plains/BuriedTreasure.dmm' + mappath = "maps/submaps/surface_submaps/plains/BuriedTreasure.dmm" cost = 10 template_group = "Shallow Grave" /datum/map_template/surface/plains/BuriedTreasure2 name = "Buried Treasure 2" desc = "A hole in the ground, who knows what might be inside!" - mappath = 'maps/submaps/surface_submaps/plains/BuriedTreasure2.dmm' + mappath = "maps/submaps/surface_submaps/plains/BuriedTreasure2.dmm" cost = 10 template_group = "Shallow Grave" /datum/map_template/surface/plains/BuriedTreasure3 name = "Buried Treasure 3" desc = "A hole in the ground, who knows what might be inside!" - mappath = 'maps/submaps/surface_submaps/plains/BuriedTreasure3.dmm' + mappath = "maps/submaps/surface_submaps/plains/BuriedTreasure3.dmm" cost = 10 template_group = "Shallow Grave" /datum/map_template/surface/plains/oldhotel name = "Old Hotel" desc = "A abandoned hotel of sort, wonder why it was left behind." - mappath = 'maps/submaps/surface_submaps/plains/oldhotel.dmm' + mappath = "maps/submaps/surface_submaps/plains/oldhotel.dmm" cost = 15 /datum/map_template/surface/plains/priderock name = "Pride Rock" desc = "A quite steep petruding rock from the earth, looks like a good hike." - mappath = 'maps/submaps/surface_submaps/plains/priderock.dmm' + mappath = "maps/submaps/surface_submaps/plains/priderock.dmm" cost = 10 /datum/map_template/surface/plains/lonehome name = "Lone Home" desc = "A quite inoffensive looking home, damaged but still holding up." - mappath = 'maps/submaps/surface_submaps/plains/lonehome_vr.dmm' //VOREStation Edit + mappath = "maps/submaps/surface_submaps/plains/lonehome_vr.dmm" //VOREStation Edit cost = 15 /datum/map_template/surface/plains/hotspring name = "Hot Spring" desc = "Wait what, a hotspring in a frost planet?" - mappath = 'maps/submaps/surface_submaps/plains/hotspring.dmm' + mappath = "maps/submaps/surface_submaps/plains/hotspring.dmm" cost = 5 /datum/map_template/surface/plains/methlab name = "Meth Lab" desc = "A broken down greenhouse lab?, this does not look safe." - mappath = 'maps/submaps/surface_submaps/plains/methlab.dmm' + mappath = "maps/submaps/surface_submaps/plains/methlab.dmm" cost = 15 /datum/map_template/surface/plains/VRDen name = "VR Den" desc = "A temporarily abandoned VR den, still functional." - mappath = 'maps/submaps/surface_submaps/plains/VRDen.dmm' + mappath = "maps/submaps/surface_submaps/plains/VRDen.dmm" cost = 10 /datum/map_template/surface/plains/leopardmanderden name = "Leopardmander Den" desc = "Den of a voracious but very rare beast." - mappath = 'maps/submaps/surface_submaps/plains/leopardmanderden.dmm' + mappath = "maps/submaps/surface_submaps/plains/leopardmanderden.dmm" cost = 10 /datum/map_template/surface/plains/greatwolfden name = "Great Wolf Den" desc = "Den hosted by the biggest alpha wolf of the wilderness" - mappath = 'maps/submaps/surface_submaps/plains/greatwolfden.dmm' + mappath = "maps/submaps/surface_submaps/plains/greatwolfden.dmm" cost = 15 /* /datum/map_template/surface/plains/dogbase name = "Dog Base" desc = "A highly secured base with hungry trained canines" - mappath = 'maps/submaps/surface_submaps/plains/dogbase.dmm' + mappath = "maps/submaps/surface_submaps/plains/dogbase.dmm" cost = 20 allow_duplicates = FALSE */ /datum/map_template/surface/plains/emptycabin name = "Empty Cabin" desc = "An inconspicuous looking den hosted by a hungry otie" - mappath = 'maps/submaps/surface_submaps/plains/emptycabin.dmm' + mappath = "maps/submaps/surface_submaps/plains/emptycabin.dmm" cost = 10 /datum/map_template/surface/plains/lonewolf name = "Lone Wolf" desc = "A large oppressing wolf, supervising from above its cliff" - mappath = 'maps/submaps/surface_submaps/plains/lonewolf.dmm' + mappath = "maps/submaps/surface_submaps/plains/lonewolf.dmm" cost = 5 /* /datum/map_template/surface/plains/otieshelter name = "Otie Shelter" desc = "A experimental lab of various breeds of oties" - mappath = 'maps/submaps/surface_submaps/plains/otieshelter.dmm' + mappath = "maps/submaps/surface_submaps/plains/otieshelter.dmm" cost = 15 /datum/map_template/surface/plains/syndisniper name = "Syndi Sniper" desc = "Syndicate watch tower, deadly but secluded" - mappath = 'maps/submaps/surface_submaps/plains/syndisniper.dmm' + mappath = "maps/submaps/surface_submaps/plains/syndisniper.dmm" cost = 5 */ /datum/map_template/surface/plains/drgnplateu name = "Dragon Plateu" desc = "A dangerous plateu of cliffs home to a rampant gold hoarding dragon" - mappath = 'maps/submaps/surface_submaps/plains/drgnplateu.dmm' + mappath = "maps/submaps/surface_submaps/plains/drgnplateu.dmm" cost = 15 allow_duplicates = FALSE diff --git a/maps/submaps/surface_submaps/plains/priderock.dmm b/maps/submaps/surface_submaps/plains/priderock.dmm index 371656b0aab..3f6d3660aca 100644 --- a/maps/submaps/surface_submaps/plains/priderock.dmm +++ b/maps/submaps/surface_submaps/plains/priderock.dmm @@ -1,7 +1,7 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "ae" = ( /obj/structure/railing, -/obj/item/weapon/bone, +/obj/item/bone, /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/priderock) "cR" = ( @@ -41,7 +41,7 @@ /obj/random/maintenance/medical, /obj/random/maintenance/medical, /obj/random/maintenance/medical, -/obj/item/weapon/towel/random, +/obj/item/towel/random, /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/priderock) "md" = ( @@ -51,8 +51,8 @@ "nG" = ( /obj/structure/railing, /obj/random/junk, -/obj/item/weapon/bone/ribs, -/obj/item/weapon/bone/skull, +/obj/item/bone/ribs, +/obj/item/bone/skull, /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/priderock) "nV" = ( @@ -234,7 +234,7 @@ /obj/random/junk, /obj/random/junk, /obj/random/junk, -/obj/item/weapon/bone/skull/tajaran, +/obj/item/bone/skull/tajaran, /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/priderock) "Lo" = ( @@ -265,7 +265,7 @@ /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/priderock) "Pb" = ( -/obj/item/weapon/storage/backpack/dufflebag/syndie/med, +/obj/item/storage/backpack/dufflebag/syndie/med, /turf/simulated/floor/outdoors/dirt/virgo3b, /area/submap/priderock) "Pn" = ( @@ -345,7 +345,7 @@ /area/submap/priderock) "XN" = ( /obj/item/clothing/head/bearpelt, -/obj/item/device/binoculars/spyglass, +/obj/item/binoculars/spyglass, /turf/simulated/floor/outdoors/rocks/virgo3b, /area/submap/priderock) "Yd" = ( diff --git a/maps/submaps/surface_submaps/plains/smol2.dmm b/maps/submaps/surface_submaps/plains/smol2.dmm index 739a000ce12..89dd6cdd0b0 100644 --- a/maps/submaps/surface_submaps/plains/smol2.dmm +++ b/maps/submaps/surface_submaps/plains/smol2.dmm @@ -4,7 +4,7 @@ "d" = (/turf/simulated/mineral/ignore_mapgen,/area/submap/smol2) "e" = (/obj/item/stack/material/wood/sif,/obj/item/stack/material/wood/sif,/obj/item/stack/material/wood/sif,/obj/item/stack/material/wood/sif,/obj/item/stack/material/wood/sif,/obj/item/stack/material/wood/sif,/turf/template_noop,/area/submap/smol2) "f" = (/obj/structure/table/woodentable,/turf/template_noop,/area/submap/smol2) -"g" = (/obj/item/weapon/storage/firstaid,/obj/item/stack/medical/splint,/obj/item/weapon/reagent_containers/pill/tramadol,/turf/template_noop,/area/submap/smol2) +"g" = (/obj/item/storage/firstaid,/obj/item/stack/medical/splint,/obj/item/reagent_containers/pill/tramadol,/turf/template_noop,/area/submap/smol2) "h" = (/obj/effect/decal/cleanable/blood,/turf/template_noop,/area/submap/smol2) (1,1,1) = {" diff --git a/maps/submaps/surface_submaps/plains/syndisniper.dmm b/maps/submaps/surface_submaps/plains/syndisniper.dmm index 002cbac1b74..e7f6efb403f 100644 --- a/maps/submaps/surface_submaps/plains/syndisniper.dmm +++ b/maps/submaps/surface_submaps/plains/syndisniper.dmm @@ -33,9 +33,9 @@ /area/submap/SyndiSniper) "w" = ( /obj/structure/table/sifwooden_reinforced, -/obj/item/weapon/storage/mre/random, -/obj/item/device/binoculars, -/obj/item/device/radio/bluespacehandset/linked/talon_prelinked, +/obj/item/storage/mre/random, +/obj/item/binoculars, +/obj/item/radio/bluespacehandset/linked/talon_prelinked, /turf/simulated/floor/outdoors/rocks/virgo3b, /area/submap/SyndiSniper) "B" = ( diff --git a/maps/submaps/surface_submaps/plains_yw/Boathouse.dmm b/maps/submaps/surface_submaps/plains_yw/Boathouse.dmm index df0194637cc..9183a77da38 100644 --- a/maps/submaps/surface_submaps/plains_yw/Boathouse.dmm +++ b/maps/submaps/surface_submaps/plains_yw/Boathouse.dmm @@ -41,7 +41,7 @@ /area/submap/Boathouse) "al" = ( /obj/structure/closet/cabinet, -/obj/item/weapon/gun/projectile/shotgun/doublebarrel, +/obj/item/gun/projectile/shotgun/doublebarrel, /obj/item/ammo_magazine/ammo_box/b12g/beanbag, /turf/simulated/floor/wood, /area/submap/Boathouse) @@ -50,7 +50,7 @@ /area/submap/Boathouse) "an" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/floor/wood, /area/submap/Boathouse) "ao" = ( @@ -65,17 +65,17 @@ /turf/simulated/floor/water, /area/submap/Boathouse) "aq" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/wood, /area/submap/Boathouse) "ar" = ( /obj/structure/table/woodentable, -/obj/item/weapon/deck/cards, +/obj/item/deck/cards, /turf/simulated/floor/carpet/turcarpet, /area/submap/Boathouse) "as" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/chips, +/obj/item/reagent_containers/food/snacks/chips, /turf/simulated/floor/carpet/turcarpet, /area/submap/Boathouse) "at" = ( @@ -84,7 +84,7 @@ /turf/simulated/floor/wood, /area/submap/Boathouse) "au" = ( -/obj/item/weapon/stool, +/obj/item/stool, /turf/simulated/floor/wood, /area/submap/Boathouse) "av" = ( @@ -100,25 +100,25 @@ /area/submap/Boathouse) "ax" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey, +/obj/item/reagent_containers/food/drinks/bottle/whiskey, /turf/simulated/floor/carpet/turcarpet, /area/submap/Boathouse) "ay" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/glass2/shot, +/obj/item/reagent_containers/food/drinks/glass2/shot, /turf/simulated/floor/carpet/turcarpet, /area/submap/Boathouse) "az" = ( /obj/structure/table/woodentable, -/obj/item/weapon/tape_roll, +/obj/item/tape_roll, /obj/random/firstaid, /turf/simulated/floor/wood, /area/submap/Boathouse) "aA" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/glass2/shot, -/obj/item/weapon/reagent_containers/food/drinks/glass2/shot, -/obj/item/weapon/reagent_containers/food/drinks/glass2/shot, +/obj/item/reagent_containers/food/drinks/glass2/shot, +/obj/item/reagent_containers/food/drinks/glass2/shot, +/obj/item/reagent_containers/food/drinks/glass2/shot, /turf/simulated/floor/carpet/turcarpet, /area/submap/Boathouse) "aB" = ( @@ -142,8 +142,8 @@ /area/submap/Boathouse) "aG" = ( /obj/structure/table/woodentable, -/obj/item/weapon/oar, -/obj/item/weapon/oar, +/obj/item/oar, +/obj/item/oar, /turf/simulated/floor/wood, /area/submap/Boathouse) "aI" = ( @@ -171,12 +171,12 @@ /area/submap/Boathouse) "aM" = ( /obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/fruitsalad, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/fruitsalad, /turf/simulated/floor/wood, /area/submap/Boathouse) "aN" = ( @@ -188,7 +188,7 @@ /area/submap/Boathouse) "aP" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/knife, +/obj/item/material/knife, /turf/simulated/floor/wood, /area/submap/Boathouse) "aQ" = ( @@ -197,13 +197,13 @@ /area/submap/Boathouse) "aR" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/bag/trash, +/obj/item/storage/bag/trash, /turf/simulated/floor/wood, /area/submap/Boathouse) "aS" = ( /obj/structure/table/woodentable, -/obj/item/weapon/flame/lighter, -/obj/item/weapon/storage/fancy/candle_box, +/obj/item/flame/lighter, +/obj/item/storage/fancy/candle_box, /turf/simulated/floor/wood, /area/submap/Boathouse) "aT" = ( @@ -236,7 +236,7 @@ /area/submap/Boathouse) "aY" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/carpet/bcarpet, /area/submap/Boathouse) "aZ" = ( diff --git a/maps/submaps/surface_submaps/plains_yw/Boathouse_vr.dmm b/maps/submaps/surface_submaps/plains_yw/Boathouse_vr.dmm index 59397f714cc..87d411fb6cb 100644 --- a/maps/submaps/surface_submaps/plains_yw/Boathouse_vr.dmm +++ b/maps/submaps/surface_submaps/plains_yw/Boathouse_vr.dmm @@ -41,7 +41,7 @@ /area/submap/Boathouse) "al" = ( /obj/structure/closet/cabinet, -/obj/item/weapon/gun/projectile/shotgun/doublebarrel, +/obj/item/gun/projectile/shotgun/doublebarrel, /obj/item/ammo_magazine/ammo_box/b12g/beanbag, /turf/simulated/floor/wood, /area/submap/Boathouse) @@ -50,7 +50,7 @@ /area/submap/Boathouse) "an" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/floor/wood/cryogaia, /area/submap/Boathouse) "ao" = ( @@ -65,17 +65,17 @@ /turf/simulated/floor/water/cryogaia, /area/submap/Boathouse) "aq" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/wood, /area/submap/Boathouse) "ar" = ( /obj/structure/table/woodentable, -/obj/item/weapon/deck/cards, +/obj/item/deck/cards, /turf/simulated/floor/carpet/turcarpet, /area/submap/Boathouse) "as" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/chips, +/obj/item/reagent_containers/food/snacks/chips, /turf/simulated/floor/carpet/turcarpet, /area/submap/Boathouse) "at" = ( @@ -84,7 +84,7 @@ /turf/simulated/floor/wood/cryogaia, /area/submap/Boathouse) "au" = ( -/obj/item/weapon/stool, +/obj/item/stool, /turf/simulated/floor/wood/cryogaia, /area/submap/Boathouse) "aw" = ( @@ -95,25 +95,25 @@ /area/submap/Boathouse) "ax" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey, +/obj/item/reagent_containers/food/drinks/bottle/whiskey, /turf/simulated/floor/carpet/turcarpet, /area/submap/Boathouse) "ay" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/glass2/shot, +/obj/item/reagent_containers/food/drinks/glass2/shot, /turf/simulated/floor/carpet/turcarpet, /area/submap/Boathouse) "az" = ( /obj/structure/table/woodentable, -/obj/item/weapon/tape_roll, +/obj/item/tape_roll, /obj/random/firstaid, /turf/simulated/floor/wood/cryogaia, /area/submap/Boathouse) "aA" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/glass2/shot, -/obj/item/weapon/reagent_containers/food/drinks/glass2/shot, -/obj/item/weapon/reagent_containers/food/drinks/glass2/shot, +/obj/item/reagent_containers/food/drinks/glass2/shot, +/obj/item/reagent_containers/food/drinks/glass2/shot, +/obj/item/reagent_containers/food/drinks/glass2/shot, /turf/simulated/floor/carpet/turcarpet, /area/submap/Boathouse) "aD" = ( @@ -132,8 +132,8 @@ /area/submap/Boathouse) "aG" = ( /obj/structure/table/woodentable, -/obj/item/weapon/oar, -/obj/item/weapon/oar, +/obj/item/oar, +/obj/item/oar, /turf/simulated/floor/wood/cryogaia, /area/submap/Boathouse) "aI" = ( @@ -163,12 +163,12 @@ /area/submap/Boathouse) "aN" = ( /obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/fruitsalad, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/fruitsalad, /turf/simulated/floor/wood, /area/submap/Boathouse) "aO" = ( @@ -180,7 +180,7 @@ /area/submap/Boathouse) "aQ" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/knife, +/obj/item/material/knife, /turf/simulated/floor/wood, /area/submap/Boathouse) "aR" = ( @@ -189,13 +189,13 @@ /area/submap/Boathouse) "aS" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/bag/trash, +/obj/item/storage/bag/trash, /turf/simulated/floor/wood, /area/submap/Boathouse) "aT" = ( /obj/structure/table/woodentable, -/obj/item/weapon/flame/lighter, -/obj/item/weapon/storage/fancy/candle_box, +/obj/item/flame/lighter, +/obj/item/storage/fancy/candle_box, /turf/simulated/floor/wood, /area/submap/Boathouse) "aU" = ( @@ -228,7 +228,7 @@ /area/submap/Boathouse) "aZ" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/carpet/bcarpet, /area/submap/Boathouse) "ba" = ( diff --git a/maps/submaps/surface_submaps/plains_yw/Diner.dmm b/maps/submaps/surface_submaps/plains_yw/Diner.dmm index d84cfd55ab4..bbb3bd6c03c 100644 --- a/maps/submaps/surface_submaps/plains_yw/Diner.dmm +++ b/maps/submaps/surface_submaps/plains_yw/Diner.dmm @@ -30,8 +30,8 @@ /area/submap/Diner) "ai" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, -/obj/item/weapon/reagent_containers/glass/beaker, +/obj/item/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/glass/beaker, /turf/simulated/floor/tiled/white, /area/submap/Diner) "aj" = ( @@ -39,7 +39,7 @@ /obj/machinery/light{ dir = 1 }, -/obj/item/weapon/material/knife/butch, +/obj/item/material/knife/butch, /turf/simulated/floor/tiled/white, /area/submap/Diner) "ak" = ( @@ -78,14 +78,14 @@ "ar" = ( /obj/effect/floor_decal/corner/red/diagonal, /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, -/obj/item/weapon/material/kitchen/utensil/fork, +/obj/item/reagent_containers/food/condiment/small/saltshaker, +/obj/item/material/kitchen/utensil/fork, /turf/simulated/floor/tiled/white, /area/submap/Diner) "as" = ( /obj/effect/floor_decal/corner/red/diagonal, /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, +/obj/item/reagent_containers/food/condiment/small/peppermill, /obj/machinery/light{ dir = 4 }, @@ -99,12 +99,12 @@ /area/submap/Diner) "au" = ( /obj/structure/table/standard, -/obj/item/weapon/book/manual/chef_recipes, +/obj/item/book/manual/chef_recipes, /turf/simulated/floor/tiled/white, /area/submap/Diner) "av" = ( /obj/structure/table/standard, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/kitchen/rollingpin, /turf/simulated/floor/tiled/white, /area/submap/Diner) "aw" = ( @@ -121,16 +121,16 @@ /area/submap/Diner) "ay" = ( /obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, -/obj/item/weapon/reagent_containers/food/condiment/sugar, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, +/obj/item/reagent_containers/food/drinks/bottle/milk, +/obj/item/reagent_containers/food/drinks/bottle/milk, +/obj/item/reagent_containers/food/drinks/bottle/milk, +/obj/item/reagent_containers/food/drinks/bottle/cream, +/obj/item/reagent_containers/food/drinks/bottle/cream, +/obj/item/reagent_containers/food/drinks/bottle/cream, +/obj/item/reagent_containers/food/drinks/bottle/cream, +/obj/item/reagent_containers/food/condiment/sugar, /turf/simulated/floor/tiled/white, /area/submap/Diner) "az" = ( @@ -147,20 +147,20 @@ /area/submap/Diner) "aC" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/small/saltshaker, /obj/effect/floor_decal/corner/red/diagonal, -/obj/item/weapon/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, /turf/simulated/floor/tiled/white, /area/submap/Diner) "aD" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, +/obj/item/reagent_containers/food/condiment/small/peppermill, /obj/effect/floor_decal/corner/red/diagonal, /turf/simulated/floor/tiled/white, /area/submap/Diner) "aE" = ( /obj/effect/floor_decal/corner/red/diagonal, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled/white, /area/submap/Diner) "aF" = ( @@ -176,19 +176,19 @@ /area/submap/Diner) "aI" = ( /obj/structure/closet/crate/freezer, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, /turf/simulated/floor/tiled/freezer, /area/submap/Diner) "aJ" = ( /obj/structure/table/standard, /obj/effect/floor_decal/corner/red/diagonal, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/small/saltshaker, /turf/simulated/floor/tiled/white, /area/submap/Diner) "aK" = ( @@ -221,20 +221,20 @@ /obj/machinery/light/small{ dir = 4 }, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, /turf/simulated/floor/tiled/freezer, /area/submap/Diner) "aO" = ( /obj/structure/table/standard, /obj/effect/floor_decal/corner/red/diagonal, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, +/obj/item/reagent_containers/food/condiment/small/peppermill, /turf/simulated/floor/tiled/white, /area/submap/Diner) "aP" = ( @@ -245,13 +245,13 @@ /area/submap/Diner) "aQ" = ( /obj/structure/closet/crate/freezer, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, /turf/simulated/floor/tiled/freezer, /area/submap/Diner) "aR" = ( @@ -317,19 +317,19 @@ "bd" = ( /obj/effect/floor_decal/corner/red/diagonal, /obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice, -/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice, -/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice, -/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice, -/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, +/obj/item/reagent_containers/food/drinks/bottle/orangejuice, +/obj/item/reagent_containers/food/drinks/bottle/orangejuice, +/obj/item/reagent_containers/food/drinks/bottle/orangejuice, +/obj/item/reagent_containers/food/drinks/bottle/orangejuice, +/obj/item/reagent_containers/food/drinks/bottle/orangejuice, +/obj/item/reagent_containers/food/drinks/bottle/milk, +/obj/item/reagent_containers/food/drinks/bottle/milk, +/obj/item/reagent_containers/food/drinks/bottle/milk, +/obj/item/reagent_containers/food/drinks/bottle/milk, +/obj/item/reagent_containers/food/drinks/bottle/cream, +/obj/item/reagent_containers/food/drinks/bottle/cream, /turf/simulated/floor/tiled/white, /area/submap/Diner) "be" = ( @@ -343,7 +343,7 @@ /area/submap/Diner) "bg" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/lino, /area/submap/Diner) "bh" = ( @@ -361,7 +361,7 @@ /area/submap/Diner) "bl" = ( /obj/structure/table/woodentable, -/obj/item/weapon/cell/high, +/obj/item/cell/high, /turf/simulated/floor/lino, /area/submap/Diner) "bm" = ( diff --git a/maps/submaps/surface_submaps/plains_yw/Diner_vr.dmm b/maps/submaps/surface_submaps/plains_yw/Diner_vr.dmm index 380440a4251..9193fdd1a87 100644 --- a/maps/submaps/surface_submaps/plains_yw/Diner_vr.dmm +++ b/maps/submaps/surface_submaps/plains_yw/Diner_vr.dmm @@ -30,8 +30,8 @@ /area/submap/Diner) "ai" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, -/obj/item/weapon/reagent_containers/glass/beaker, +/obj/item/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/glass/beaker, /turf/simulated/floor/tiled/white, /area/submap/Diner) "aj" = ( @@ -39,7 +39,7 @@ /obj/machinery/light{ dir = 1 }, -/obj/item/weapon/material/knife/butch, +/obj/item/material/knife/butch, /turf/simulated/floor/tiled/white, /area/submap/Diner) "ak" = ( @@ -76,14 +76,14 @@ "ar" = ( /obj/effect/floor_decal/corner/red/diagonal, /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, -/obj/item/weapon/material/kitchen/utensil/fork, +/obj/item/reagent_containers/food/condiment/small/saltshaker, +/obj/item/material/kitchen/utensil/fork, /turf/simulated/floor/tiled/white, /area/submap/Diner) "as" = ( /obj/effect/floor_decal/corner/red/diagonal, /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, +/obj/item/reagent_containers/food/condiment/small/peppermill, /obj/machinery/light{ dir = 4 }, @@ -97,12 +97,12 @@ /area/submap/Diner) "au" = ( /obj/structure/table/standard, -/obj/item/weapon/book/manual/chef_recipes, +/obj/item/book/manual/chef_recipes, /turf/simulated/floor/tiled/white, /area/submap/Diner) "av" = ( /obj/structure/table/standard, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/kitchen/rollingpin, /turf/simulated/floor/tiled/white, /area/submap/Diner) "aw" = ( @@ -121,16 +121,16 @@ /area/submap/Diner) "ay" = ( /obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, -/obj/item/weapon/reagent_containers/food/condiment/sugar, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, +/obj/item/reagent_containers/food/drinks/bottle/milk, +/obj/item/reagent_containers/food/drinks/bottle/milk, +/obj/item/reagent_containers/food/drinks/bottle/milk, +/obj/item/reagent_containers/food/drinks/bottle/cream, +/obj/item/reagent_containers/food/drinks/bottle/cream, +/obj/item/reagent_containers/food/drinks/bottle/cream, +/obj/item/reagent_containers/food/drinks/bottle/cream, +/obj/item/reagent_containers/food/condiment/sugar, /turf/simulated/floor/tiled/white, /area/submap/Diner) "az" = ( @@ -147,20 +147,20 @@ /area/submap/Diner) "aC" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/small/saltshaker, /obj/effect/floor_decal/corner/red/diagonal, -/obj/item/weapon/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, /turf/simulated/floor/tiled/white, /area/submap/Diner) "aD" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, +/obj/item/reagent_containers/food/condiment/small/peppermill, /obj/effect/floor_decal/corner/red/diagonal, /turf/simulated/floor/tiled/white, /area/submap/Diner) "aE" = ( /obj/effect/floor_decal/corner/red/diagonal, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled/white, /area/submap/Diner) "aF" = ( @@ -176,19 +176,19 @@ /area/submap/Diner) "aI" = ( /obj/structure/closet/crate/freezer, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, /turf/simulated/floor/tiled/freezer, /area/submap/Diner) "aJ" = ( /obj/structure/table/standard, /obj/effect/floor_decal/corner/red/diagonal, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/small/saltshaker, /turf/simulated/floor/tiled/white, /area/submap/Diner) "aK" = ( @@ -221,20 +221,20 @@ /obj/machinery/light/small{ dir = 4 }, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, /turf/simulated/floor/tiled/freezer, /area/submap/Diner) "aO" = ( /obj/structure/table/standard, /obj/effect/floor_decal/corner/red/diagonal, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, +/obj/item/reagent_containers/food/condiment/small/peppermill, /turf/simulated/floor/tiled/white, /area/submap/Diner) "aP" = ( @@ -245,13 +245,13 @@ /area/submap/Diner) "aQ" = ( /obj/structure/closet/crate/freezer, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, /turf/simulated/floor/tiled/freezer, /area/submap/Diner) "aR" = ( @@ -329,19 +329,19 @@ "bg" = ( /obj/effect/floor_decal/corner/red/diagonal, /obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice, -/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice, -/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice, -/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice, -/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, +/obj/item/reagent_containers/food/drinks/bottle/orangejuice, +/obj/item/reagent_containers/food/drinks/bottle/orangejuice, +/obj/item/reagent_containers/food/drinks/bottle/orangejuice, +/obj/item/reagent_containers/food/drinks/bottle/orangejuice, +/obj/item/reagent_containers/food/drinks/bottle/orangejuice, +/obj/item/reagent_containers/food/drinks/bottle/milk, +/obj/item/reagent_containers/food/drinks/bottle/milk, +/obj/item/reagent_containers/food/drinks/bottle/milk, +/obj/item/reagent_containers/food/drinks/bottle/milk, +/obj/item/reagent_containers/food/drinks/bottle/cream, +/obj/item/reagent_containers/food/drinks/bottle/cream, /turf/simulated/floor/tiled/white, /area/submap/Diner) "bh" = ( @@ -355,7 +355,7 @@ /area/submap/Diner) "bj" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/lino, /area/submap/Diner) "bk" = ( @@ -373,7 +373,7 @@ /area/submap/Diner) "bn" = ( /obj/structure/table/woodentable, -/obj/item/weapon/cell/high, +/obj/item/cell/high, /turf/simulated/floor/lino, /area/submap/Diner) "bo" = ( diff --git a/maps/submaps/surface_submaps/plains_yw/Epod.dmm b/maps/submaps/surface_submaps/plains_yw/Epod.dmm index cbfbbb47255..847aa09627e 100644 --- a/maps/submaps/surface_submaps/plains_yw/Epod.dmm +++ b/maps/submaps/surface_submaps/plains_yw/Epod.dmm @@ -6,7 +6,7 @@ /turf/template_noop, /area/submap/Epod1) "c" = ( -/obj/item/weapon/airlock_electronics, +/obj/item/airlock_electronics, /turf/template_noop, /area/submap/Epod1) "d" = ( @@ -31,7 +31,7 @@ /area/submap/Epod1) "i" = ( /obj/structure/bed/chair, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -28 @@ -39,7 +39,7 @@ /obj/structure/closet/walllocker/emerglocker{ pixel_x = 28 }, -/obj/item/weapon/weldingtool, +/obj/item/weldingtool, /turf/simulated/shuttle/floor/cryogaia, /area/submap/Epod1) "j" = ( @@ -63,8 +63,8 @@ layer = 4; pixel_x = -32 }, -/obj/item/weapon/storage/backpack/satchel, -/obj/item/weapon/spacecash/c100, +/obj/item/storage/backpack/satchel, +/obj/item/spacecash/c100, /turf/simulated/shuttle/floor/cryogaia, /area/submap/Epod1) "m" = ( diff --git a/maps/submaps/surface_submaps/plains_yw/Epod2.dmm b/maps/submaps/surface_submaps/plains_yw/Epod2.dmm index 2634347b815..4b618569e13 100644 --- a/maps/submaps/surface_submaps/plains_yw/Epod2.dmm +++ b/maps/submaps/surface_submaps/plains_yw/Epod2.dmm @@ -53,8 +53,8 @@ }, /obj/structure/window/reinforced, /obj/item/stack/rods, -/obj/item/weapon/material/shard, -/obj/item/weapon/material/shard{ +/obj/item/material/shard, +/obj/item/material/shard{ icon_state = "medium" }, /turf/simulated/shuttle/floor/cryogaia, @@ -69,7 +69,7 @@ /obj/machinery/status_display{ pixel_y = -32 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -88,7 +88,7 @@ /obj/effect/decal/cleanable/blood/drip, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/blood/drip, -/obj/item/weapon/reagent_containers/hypospray/autoinjector/empty, +/obj/item/reagent_containers/hypospray/autoinjector/empty, /turf/simulated/shuttle/floor/cryogaia, /area/submap/Epod2) "n" = ( diff --git a/maps/submaps/surface_submaps/plains_yw/Field1.dmm b/maps/submaps/surface_submaps/plains_yw/Field1.dmm index 981346d7a92..351d073d823 100644 --- a/maps/submaps/surface_submaps/plains_yw/Field1.dmm +++ b/maps/submaps/surface_submaps/plains_yw/Field1.dmm @@ -17,7 +17,7 @@ /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/Field1) "f" = ( -/obj/item/device/radio, +/obj/item/radio, /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/Field1) "g" = ( @@ -29,7 +29,7 @@ /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/Field1) "i" = ( -/obj/item/device/flashlight, +/obj/item/flashlight, /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/Field1) diff --git a/maps/submaps/surface_submaps/plains_yw/Mechpt.dmm b/maps/submaps/surface_submaps/plains_yw/Mechpt.dmm index 2df6e482e9b..d8e14841860 100644 --- a/maps/submaps/surface_submaps/plains_yw/Mechpt.dmm +++ b/maps/submaps/surface_submaps/plains_yw/Mechpt.dmm @@ -16,14 +16,14 @@ "e" = ( /obj/structure/railing, /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/chips, +/obj/item/reagent_containers/food/snacks/chips, /turf/template_noop, /area/submap/Mechpt) "f" = ( /obj/structure/railing, /obj/structure/table/woodentable, -/obj/item/weapon/cell/high, -/obj/item/weapon/cell/high, +/obj/item/cell/high, +/obj/item/cell/high, /turf/template_noop, /area/submap/Mechpt) "g" = ( @@ -34,8 +34,8 @@ "h" = ( /obj/structure/railing, /obj/structure/table/woodentable, -/obj/item/weapon/spacecash/c10, -/obj/item/weapon/spacecash/c10, +/obj/item/spacecash/c10, +/obj/item/spacecash/c10, /turf/template_noop, /area/submap/Mechpt) "i" = ( @@ -96,7 +96,7 @@ dir = 1 }, /obj/structure/table/woodentable, -/obj/item/weapon/spacecash/c50, +/obj/item/spacecash/c50, /turf/template_noop, /area/submap/Mechpt) "u" = ( @@ -104,8 +104,8 @@ dir = 1 }, /obj/structure/table/woodentable, -/obj/item/weapon/cell/high, -/obj/item/weapon/cell/device/weapon, +/obj/item/cell/high, +/obj/item/cell/device/weapon, /turf/template_noop, /area/submap/Mechpt) "v" = ( @@ -113,7 +113,7 @@ dir = 1 }, /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, /turf/template_noop, /area/submap/Mechpt) diff --git a/maps/submaps/surface_submaps/plains_yw/Oldhouse.dmm b/maps/submaps/surface_submaps/plains_yw/Oldhouse.dmm index 5e02c9478e0..1bee7481c6e 100644 --- a/maps/submaps/surface_submaps/plains_yw/Oldhouse.dmm +++ b/maps/submaps/surface_submaps/plains_yw/Oldhouse.dmm @@ -80,7 +80,7 @@ /area/submap/Oldhouse) "t" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper, +/obj/item/paper, /obj/effect/decal/cleanable/cobweb2, /turf/simulated/floor/wood, /area/submap/Oldhouse) @@ -116,7 +116,7 @@ /area/submap/Oldhouse) "A" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /turf/simulated/floor/wood, /area/submap/Oldhouse) "B" = ( @@ -138,17 +138,17 @@ /area/submap/Oldhouse) "F" = ( /obj/structure/table/woodentable, -/obj/item/weapon/pen/blue, +/obj/item/pen/blue, /turf/simulated/floor/wood, /area/submap/Oldhouse) "G" = ( -/obj/item/weapon/reagent_containers/food/snacks/chips, -/obj/item/weapon/reagent_containers/food/snacks/chips, +/obj/item/reagent_containers/food/snacks/chips, +/obj/item/reagent_containers/food/snacks/chips, /turf/simulated/floor/carpet/turcarpet, /area/submap/Oldhouse) "H" = ( /obj/structure/table/woodentable, -/obj/item/weapon/flame/candle, +/obj/item/flame/candle, /turf/simulated/floor/wood, /area/submap/Oldhouse) "I" = ( @@ -163,13 +163,13 @@ /area/submap/Oldhouse) "K" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper, -/obj/item/weapon/paper, +/obj/item/paper, +/obj/item/paper, /turf/simulated/floor/wood, /area/submap/Oldhouse) "L" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper/crumpled, +/obj/item/paper/crumpled, /turf/simulated/floor/wood, /area/submap/Oldhouse) "M" = ( @@ -197,12 +197,12 @@ /turf/simulated/floor/carpet/turcarpet, /area/submap/Oldhouse) "P" = ( -/obj/item/weapon/circuitboard/papershredder, +/obj/item/circuitboard/papershredder, /turf/simulated/floor/wood, /area/submap/Oldhouse) "Q" = ( -/obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers, -/obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers, +/obj/item/reagent_containers/food/snacks/cheesiehonkers, +/obj/item/reagent_containers/food/snacks/cheesiehonkers, /turf/simulated/floor/carpet/turcarpet, /area/submap/Oldhouse) "R" = ( @@ -210,12 +210,12 @@ /turf/simulated/floor/wood, /area/submap/Oldhouse) "S" = ( -/obj/item/weapon/paper/crumpled, +/obj/item/paper/crumpled, /turf/simulated/floor/wood, /area/submap/Oldhouse) "T" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/backpack/satchel, +/obj/item/storage/backpack/satchel, /turf/simulated/floor/wood, /area/submap/Oldhouse) "U" = ( @@ -227,7 +227,7 @@ /turf/simulated/floor/wood, /area/submap/Oldhouse) "V" = ( -/obj/item/device/flashlight, +/obj/item/flashlight, /turf/simulated/floor/wood, /area/submap/Oldhouse) "W" = ( diff --git a/maps/submaps/surface_submaps/plains_yw/Oldhouse_vr.dmm b/maps/submaps/surface_submaps/plains_yw/Oldhouse_vr.dmm index 4ed8486bf66..f914e22cd74 100644 --- a/maps/submaps/surface_submaps/plains_yw/Oldhouse_vr.dmm +++ b/maps/submaps/surface_submaps/plains_yw/Oldhouse_vr.dmm @@ -80,7 +80,7 @@ /area/submap/Oldhouse) "at" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper, +/obj/item/paper, /obj/effect/decal/cleanable/cobweb2, /turf/simulated/floor/wood, /area/submap/Oldhouse) @@ -116,7 +116,7 @@ /area/submap/Oldhouse) "aA" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /turf/simulated/floor/wood, /area/submap/Oldhouse) "aB" = ( @@ -138,17 +138,17 @@ /area/submap/Oldhouse) "aF" = ( /obj/structure/table/woodentable, -/obj/item/weapon/pen/blue, +/obj/item/pen/blue, /turf/simulated/floor/wood, /area/submap/Oldhouse) "aG" = ( -/obj/item/weapon/reagent_containers/food/snacks/chips, -/obj/item/weapon/reagent_containers/food/snacks/chips, +/obj/item/reagent_containers/food/snacks/chips, +/obj/item/reagent_containers/food/snacks/chips, /turf/simulated/floor/carpet/turcarpet, /area/submap/Oldhouse) "aH" = ( /obj/structure/table/woodentable, -/obj/item/weapon/flame/candle, +/obj/item/flame/candle, /turf/simulated/floor/wood, /area/submap/Oldhouse) "aI" = ( @@ -163,13 +163,13 @@ /area/submap/Oldhouse) "aK" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper, -/obj/item/weapon/paper, +/obj/item/paper, +/obj/item/paper, /turf/simulated/floor/wood, /area/submap/Oldhouse) "aL" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper/crumpled, +/obj/item/paper/crumpled, /turf/simulated/floor/wood, /area/submap/Oldhouse) "aM" = ( @@ -197,12 +197,12 @@ /turf/simulated/floor/carpet/turcarpet, /area/submap/Oldhouse) "aP" = ( -/obj/item/weapon/circuitboard/papershredder, +/obj/item/circuitboard/papershredder, /turf/simulated/floor/wood, /area/submap/Oldhouse) "aQ" = ( -/obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers, -/obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers, +/obj/item/reagent_containers/food/snacks/cheesiehonkers, +/obj/item/reagent_containers/food/snacks/cheesiehonkers, /turf/simulated/floor/carpet/turcarpet, /area/submap/Oldhouse) "aR" = ( @@ -210,12 +210,12 @@ /turf/simulated/floor/wood, /area/submap/Oldhouse) "aS" = ( -/obj/item/weapon/paper/crumpled, +/obj/item/paper/crumpled, /turf/simulated/floor/wood, /area/submap/Oldhouse) "aT" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/backpack/satchel, +/obj/item/storage/backpack/satchel, /turf/simulated/floor/wood, /area/submap/Oldhouse) "aU" = ( @@ -227,7 +227,7 @@ /turf/simulated/floor/wood, /area/submap/Oldhouse) "aV" = ( -/obj/item/device/flashlight, +/obj/item/flashlight, /turf/simulated/floor/wood, /area/submap/Oldhouse) "aW" = ( diff --git a/maps/submaps/surface_submaps/plains_yw/Peninsula.dmm b/maps/submaps/surface_submaps/plains_yw/Peninsula.dmm index b651965231b..c4403100c87 100644 --- a/maps/submaps/surface_submaps/plains_yw/Peninsula.dmm +++ b/maps/submaps/surface_submaps/plains_yw/Peninsula.dmm @@ -20,13 +20,13 @@ /area/submap/Peninsula) "g" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight, +/obj/item/flashlight, /turf/template_noop, /area/submap/Peninsula) "h" = ( /obj/structure/table/woodentable, -/obj/item/weapon/cell/device, -/obj/item/weapon/cell/device, +/obj/item/cell/device, +/obj/item/cell/device, /turf/template_noop, /area/submap/Peninsula) "i" = ( diff --git a/maps/submaps/surface_submaps/plains_yw/PooledR.dmm b/maps/submaps/surface_submaps/plains_yw/PooledR.dmm index 6dd3debb224..e3357927ddc 100644 --- a/maps/submaps/surface_submaps/plains_yw/PooledR.dmm +++ b/maps/submaps/surface_submaps/plains_yw/PooledR.dmm @@ -18,7 +18,7 @@ /area/submap/PooledR) "f" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/knife, +/obj/item/material/knife, /turf/template_noop, /area/submap/PooledR) "g" = ( @@ -27,8 +27,8 @@ /area/submap/PooledR) "h" = ( /obj/structure/table/woodentable, -/obj/item/weapon/gun/energy/retro{ - cell_type = /obj/item/weapon/cell/device/weapon/empty +/obj/item/gun/energy/retro{ + cell_type = /obj/item/cell/device/weapon/empty }, /turf/template_noop, /area/submap/PooledR) diff --git a/maps/submaps/surface_submaps/plains_yw/PooledR_vr.dmm b/maps/submaps/surface_submaps/plains_yw/PooledR_vr.dmm index 6b3312f95c3..5c866afe85b 100644 --- a/maps/submaps/surface_submaps/plains_yw/PooledR_vr.dmm +++ b/maps/submaps/surface_submaps/plains_yw/PooledR_vr.dmm @@ -18,7 +18,7 @@ /area/submap/PooledR) "f" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/knife, +/obj/item/material/knife, /turf/template_noop, /area/submap/PooledR) "g" = ( @@ -27,8 +27,8 @@ /area/submap/PooledR) "h" = ( /obj/structure/table/woodentable, -/obj/item/weapon/gun/energy/retro{ - cell_type = /obj/item/weapon/cell/device/weapon/empty +/obj/item/gun/energy/retro{ + cell_type = /obj/item/cell/device/weapon/empty }, /turf/template_noop, /area/submap/PooledR) diff --git a/maps/submaps/surface_submaps/plains_yw/Shakden.dmm b/maps/submaps/surface_submaps/plains_yw/Shakden.dmm index 6479de5e47c..19a47e0ef65 100644 --- a/maps/submaps/surface_submaps/plains_yw/Shakden.dmm +++ b/maps/submaps/surface_submaps/plains_yw/Shakden.dmm @@ -20,11 +20,11 @@ }, /area/submap/Shakden) "f" = ( -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, /turf/simulated/floor/outdoors/dirt{ outdoors = 0 }, @@ -36,9 +36,9 @@ }, /area/submap/Shakden) "h" = ( -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, /turf/simulated/floor/outdoors/dirt{ outdoors = 0 }, @@ -48,17 +48,17 @@ /turf/simulated/floor/outdoors/dirt, /area/submap/Shakden) "j" = ( -/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, /turf/simulated/floor/outdoors/dirt{ outdoors = 0 }, /area/submap/Shakden) "k" = ( -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/material/knife/hook, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/material/knife/hook, /turf/simulated/floor/outdoors/dirt{ outdoors = 0 }, diff --git a/maps/submaps/surface_submaps/plains_yw/Shakden_vr.dmm b/maps/submaps/surface_submaps/plains_yw/Shakden_vr.dmm index 0b35e2e1632..04c6d917e83 100644 --- a/maps/submaps/surface_submaps/plains_yw/Shakden_vr.dmm +++ b/maps/submaps/surface_submaps/plains_yw/Shakden_vr.dmm @@ -15,19 +15,19 @@ }, /area/submap/Shakden) "f" = ( -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, /turf/simulated/floor/outdoors/dirt/cryogaia{ outdoors = 0 }, /area/submap/Shakden) "g" = ( -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, /turf/simulated/floor/outdoors/dirt/cryogaia{ outdoors = 0 }, @@ -44,17 +44,17 @@ }, /area/submap/Shakden) "j" = ( -/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, /turf/simulated/floor/outdoors/dirt/cryogaia{ outdoors = 0 }, /area/submap/Shakden) "k" = ( -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/material/knife/hook, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/material/knife/hook, /turf/simulated/floor/outdoors/dirt/cryogaia{ outdoors = 0 }, diff --git a/maps/submaps/surface_submaps/plains_yw/Smol3.dmm b/maps/submaps/surface_submaps/plains_yw/Smol3.dmm index 56c520d14cf..bc31fbf2816 100644 --- a/maps/submaps/surface_submaps/plains_yw/Smol3.dmm +++ b/maps/submaps/surface_submaps/plains_yw/Smol3.dmm @@ -17,30 +17,30 @@ /area/submap/Smol3) "f" = ( /obj/structure/closet/crate/freezer, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/Smol3) "g" = ( /obj/structure/closet/crate/freezer, -/obj/item/weapon/reagent_containers/food/snacks/chips, -/obj/item/weapon/reagent_containers/food/snacks/chips, -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/snacks/chips, +/obj/item/reagent_containers/food/snacks/chips, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/Smol3) "h" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper{ +/obj/item/paper{ desc = "Lamen's Hunter Shack! Selling freshly hunted meat for six thalers a slab. Support Locale hunters! Also selling Getmore Products for 3 thalers a bag, or 2 thalers for a bottle of water. Please place all payments into the nearbye bag." }, /turf/simulated/floor/outdoors/dirt/cryogaia, @@ -51,7 +51,7 @@ /area/submap/Smol3) "j" = ( /obj/structure/table/woodentable, -/obj/item/weapon/spacecash/c200, +/obj/item/spacecash/c200, /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/Smol3) diff --git a/maps/submaps/surface_submaps/plains_yw/SupplyDrop2.dmm b/maps/submaps/surface_submaps/plains_yw/SupplyDrop2.dmm index 104768c856d..4eff01ac3a1 100644 --- a/maps/submaps/surface_submaps/plains_yw/SupplyDrop2.dmm +++ b/maps/submaps/surface_submaps/plains_yw/SupplyDrop2.dmm @@ -20,14 +20,14 @@ /turf/simulated/floor/reinforced/cryogaia, /area/submap/SupplyDrop2) "h" = ( -/obj/item/device/flashlight, +/obj/item/flashlight, /turf/simulated/floor/reinforced/cryogaia, /area/submap/SupplyDrop2) "i" = ( /obj/structure/loot_pile/maint/technical, -/obj/item/device/gps/internal/poi, -/obj/item/weapon/cell/device/weapon/empty, -/obj/item/weapon/cell/device/weapon/empty, +/obj/item/gps/internal/poi, +/obj/item/cell/device/weapon/empty, +/obj/item/cell/device/weapon/empty, /turf/simulated/floor/reinforced/cryogaia, /area/submap/SupplyDrop2) "j" = ( diff --git a/maps/submaps/surface_submaps/plains_yw/Thiefc.dmm b/maps/submaps/surface_submaps/plains_yw/Thiefc.dmm index 105cced57b1..6fd4d493b81 100644 --- a/maps/submaps/surface_submaps/plains_yw/Thiefc.dmm +++ b/maps/submaps/surface_submaps/plains_yw/Thiefc.dmm @@ -10,20 +10,20 @@ /area/submap/Thiefc) "d" = ( /obj/structure/ore_box, -/obj/item/weapon/ore/coal, -/obj/item/weapon/ore/coal, -/obj/item/weapon/ore/coal, -/obj/item/weapon/ore/coal, -/obj/item/weapon/ore/coal, +/obj/item/ore/coal, +/obj/item/ore/coal, +/obj/item/ore/coal, +/obj/item/ore/coal, +/obj/item/ore/coal, /turf/simulated/floor/outdoors/dirt{ outdoors = 0 }, /area/submap/Thiefc) "e" = ( /obj/structure/closet/crate, -/obj/item/weapon/extinguisher, -/obj/item/weapon/extinguisher, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, +/obj/item/extinguisher, +/obj/item/extinguisher, /turf/simulated/floor/outdoors/dirt{ outdoors = 0 }, @@ -35,14 +35,14 @@ }, /area/submap/Thiefc) "g" = ( -/obj/item/weapon/ore/coal, -/obj/item/weapon/ore/coal, -/obj/item/weapon/ore/coal, -/obj/item/weapon/ore/coal, -/obj/item/weapon/ore/coal, -/obj/item/weapon/ore/coal, -/obj/item/weapon/ore/coal, -/obj/item/weapon/ore/coal, +/obj/item/ore/coal, +/obj/item/ore/coal, +/obj/item/ore/coal, +/obj/item/ore/coal, +/obj/item/ore/coal, +/obj/item/ore/coal, +/obj/item/ore/coal, +/obj/item/ore/coal, /turf/simulated/floor/outdoors/dirt{ outdoors = 0 }, @@ -54,16 +54,16 @@ /area/submap/Thiefc) "i" = ( /obj/structure/closet/crate, -/obj/item/weapon/lipstick, -/obj/item/weapon/lipstick/black, -/obj/item/weapon/lipstick/random, +/obj/item/lipstick, +/obj/item/lipstick/black, +/obj/item/lipstick/random, /turf/simulated/floor/outdoors/dirt{ outdoors = 0 }, /area/submap/Thiefc) "j" = ( /obj/structure/table/steel, -/obj/item/weapon/beartrap, +/obj/item/beartrap, /turf/simulated/floor/outdoors/dirt{ outdoors = 0 }, @@ -77,17 +77,17 @@ /area/submap/Thiefc) "l" = ( /obj/structure/closet/crate, -/obj/item/weapon/folder/blue, -/obj/item/weapon/folder/red, -/obj/item/weapon/folder/white, -/obj/item/weapon/folder/yellow, +/obj/item/folder/blue, +/obj/item/folder/red, +/obj/item/folder/white, +/obj/item/folder/yellow, /turf/simulated/floor/outdoors/dirt{ outdoors = 0 }, /area/submap/Thiefc) "m" = ( /obj/structure/table/steel, -/obj/item/weapon/paper{ +/obj/item/paper{ desc = "This is some bullshit. First chance we got to knick something that looks half decent turns out to be mostly junk. And now we're getting calls that the other stash we've got has got a spider problem. Fuck this, Between the shitty weather, The pissed of bugs, And now apparently some NT goon running around in the area there's hardly enough reason to stick around. I'm telling Carl I'm out tommorow."; name = "Note" }, @@ -103,15 +103,15 @@ /area/submap/Thiefc) "o" = ( /obj/structure/closet/crate, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, /turf/simulated/floor/outdoors/dirt{ outdoors = 0 }, /area/submap/Thiefc) "p" = ( /obj/structure/closet/crate, -/obj/item/weapon/storage/box/shotgunammo, +/obj/item/storage/box/shotgunammo, /obj/item/ammo_magazine/ammo_box/b12g/practice, /obj/random/projectile/scrapped_gun, /turf/simulated/floor/outdoors/dirt{ diff --git a/maps/submaps/surface_submaps/plains_yw/Thiefc_vr.dmm b/maps/submaps/surface_submaps/plains_yw/Thiefc_vr.dmm index 2f9b397259f..f1e193910f4 100644 --- a/maps/submaps/surface_submaps/plains_yw/Thiefc_vr.dmm +++ b/maps/submaps/surface_submaps/plains_yw/Thiefc_vr.dmm @@ -10,20 +10,20 @@ /area/submap/Thiefc) "d" = ( /obj/structure/ore_box, -/obj/item/weapon/ore/coal, -/obj/item/weapon/ore/coal, -/obj/item/weapon/ore/coal, -/obj/item/weapon/ore/coal, -/obj/item/weapon/ore/coal, +/obj/item/ore/coal, +/obj/item/ore/coal, +/obj/item/ore/coal, +/obj/item/ore/coal, +/obj/item/ore/coal, /turf/simulated/floor/outdoors/dirt/cryogaia{ outdoors = 0 }, /area/submap/Thiefc) "e" = ( /obj/structure/closet/crate, -/obj/item/weapon/extinguisher, -/obj/item/weapon/extinguisher, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, +/obj/item/extinguisher, +/obj/item/extinguisher, /turf/simulated/floor/outdoors/dirt/cryogaia{ outdoors = 0 }, @@ -35,14 +35,14 @@ }, /area/submap/Thiefc) "g" = ( -/obj/item/weapon/ore/coal, -/obj/item/weapon/ore/coal, -/obj/item/weapon/ore/coal, -/obj/item/weapon/ore/coal, -/obj/item/weapon/ore/coal, -/obj/item/weapon/ore/coal, -/obj/item/weapon/ore/coal, -/obj/item/weapon/ore/coal, +/obj/item/ore/coal, +/obj/item/ore/coal, +/obj/item/ore/coal, +/obj/item/ore/coal, +/obj/item/ore/coal, +/obj/item/ore/coal, +/obj/item/ore/coal, +/obj/item/ore/coal, /turf/simulated/floor/outdoors/dirt/cryogaia{ outdoors = 0 }, @@ -54,17 +54,17 @@ /area/submap/Thiefc) "i" = ( /obj/structure/closet/crate, -/obj/item/weapon/lipstick, -/obj/item/weapon/lipstick/black, -/obj/item/weapon/lipstick/random, +/obj/item/lipstick, +/obj/item/lipstick/black, +/obj/item/lipstick/random, /turf/simulated/floor/outdoors/dirt/cryogaia{ outdoors = 0 }, /area/submap/Thiefc) "j" = ( /obj/structure/table/steel, -/obj/item/weapon/beartrap, -/obj/item/device/survivalcapsule, +/obj/item/beartrap, +/obj/item/survivalcapsule, /turf/simulated/floor/outdoors/dirt/cryogaia{ outdoors = 0 }, @@ -81,16 +81,16 @@ /area/submap/Thiefc) "l" = ( /obj/structure/closet/crate, -/obj/item/device/nif, -/obj/item/device/nif/bad, -/obj/item/device/nif/bad, +/obj/item/nif, +/obj/item/nif/bad, +/obj/item/nif/bad, /turf/simulated/floor/outdoors/dirt/cryogaia{ outdoors = 0 }, /area/submap/Thiefc) "m" = ( /obj/structure/table/steel, -/obj/item/weapon/paper{ +/obj/item/paper{ desc = "This is some bullshit. First chance we got to knick something that looks half decent turns out to be mostly junk. And now we're getting calls that the other stash we've got has got a spider problem. Fuck this, Between the shitty weather, The pissed of bugs, And now apparently some NT goon running around in the area there's hardly enough reason to stick around. I'm telling Carl I'm out tommorow."; name = "Note" }, @@ -108,11 +108,11 @@ /area/submap/Thiefc) "o" = ( /obj/structure/closet/crate, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/device/perfect_tele/one_beacon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/perfect_tele/one_beacon, /turf/simulated/floor/outdoors/dirt/cryogaia{ outdoors = 0 }, diff --git a/maps/submaps/surface_submaps/plains_yw/VRDen.dmm b/maps/submaps/surface_submaps/plains_yw/VRDen.dmm index 5c1ac2f69bd..e7845aaf7c8 100644 --- a/maps/submaps/surface_submaps/plains_yw/VRDen.dmm +++ b/maps/submaps/surface_submaps/plains_yw/VRDen.dmm @@ -58,7 +58,7 @@ name = "plastic table frame" }, /obj/item/integrated_circuit/memory, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "To: Whoever reads it\[br]From: Simulant\[br]Went away to grab some spare parts, won't return for couple weeks. Can't support larger scale sims without machines I lost yesterday. Please don't touch my stuff, while I'm gone."; name = "note" }, @@ -126,7 +126,7 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "your maps suck"; name = "dissatisfied letter" }, @@ -183,7 +183,7 @@ /obj/machinery/telecomms/server{ name = "Server" }, -/obj/item/device/gps/internal/poi, +/obj/item/gps/internal/poi, /turf/simulated/floor/tiled/cryogaia/cryogaia, /area/submap/VRDen) "F" = ( @@ -208,7 +208,7 @@ /area/submap/VRDen) "K" = ( /obj/effect/decal/remains/posi, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "pain sim on your hardware is top-notch, 10/10, would be burned alive again"; name = "satisfied letter" }, @@ -249,7 +249,7 @@ /obj/structure/toilet{ dir = 8 }, -/obj/item/device/integrated_electronics/debugger, +/obj/item/integrated_electronics/debugger, /obj/machinery/light{ dir = 1 }, diff --git a/maps/submaps/surface_submaps/plains_yw/bonfire.dmm b/maps/submaps/surface_submaps/plains_yw/bonfire.dmm index 8948af06b92..fca87fb9fc0 100644 --- a/maps/submaps/surface_submaps/plains_yw/bonfire.dmm +++ b/maps/submaps/surface_submaps/plains_yw/bonfire.dmm @@ -10,15 +10,15 @@ /turf/simulated/floor/outdoors/dirt, /area/submap/bonfire) "d" = ( -/obj/item/weapon/flame/lighter/random, +/obj/item/flame/lighter/random, /turf/template_noop, /area/submap/bonfire) "e" = ( -/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice, +/obj/item/reagent_containers/food/drinks/bottle/orangejuice, /turf/simulated/floor/outdoors/dirt, /area/submap/bonfire) "f" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/outdoors/dirt, /area/submap/bonfire) "g" = ( @@ -26,7 +26,7 @@ /turf/simulated/floor/outdoors/dirt, /area/submap/bonfire) "h" = ( -/obj/item/weapon/material/knife/machete, +/obj/item/material/knife/machete, /turf/simulated/floor/outdoors/dirt, /area/submap/bonfire) "i" = ( diff --git a/maps/submaps/surface_submaps/plains_yw/camp1.dmm b/maps/submaps/surface_submaps/plains_yw/camp1.dmm index b068656edfe..ff298cf1186 100644 --- a/maps/submaps/surface_submaps/plains_yw/camp1.dmm +++ b/maps/submaps/surface_submaps/plains_yw/camp1.dmm @@ -19,7 +19,7 @@ }, /area/submap/camp1) "e" = ( -/obj/item/device/flashlight/lantern, +/obj/item/flashlight/lantern, /turf/simulated/floor/outdoors/dirt/cryogaia{ outdoors = 0 }, @@ -43,7 +43,7 @@ /area/submap/camp1) "i" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/launcher/crossbow, +/obj/item/gun/launcher/crossbow, /obj/item/stack/rods{ amount = 17 }, @@ -65,7 +65,7 @@ /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/camp1) "m" = ( -/obj/item/weapon/material/knife/machete/hatchet, +/obj/item/material/knife/machete/hatchet, /turf/template_noop, /area/template_noop) "n" = ( @@ -73,7 +73,7 @@ /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/camp1) "o" = ( -/obj/item/weapon/flame/lighter, +/obj/item/flame/lighter, /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/camp1) diff --git a/maps/submaps/surface_submaps/plains_yw/camp1_vr.dmm b/maps/submaps/surface_submaps/plains_yw/camp1_vr.dmm index 4d321c9ed1c..36216de2d3a 100644 --- a/maps/submaps/surface_submaps/plains_yw/camp1_vr.dmm +++ b/maps/submaps/surface_submaps/plains_yw/camp1_vr.dmm @@ -19,7 +19,7 @@ }, /area/submap/camp1) "e" = ( -/obj/item/device/flashlight/lantern, +/obj/item/flashlight/lantern, /turf/simulated/floor/outdoors/dirt/cryogaia{ outdoors = 0 }, @@ -43,7 +43,7 @@ /area/submap/camp1) "i" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/launcher/crossbow, +/obj/item/gun/launcher/crossbow, /obj/item/stack/rods{ amount = 17 }, @@ -65,11 +65,11 @@ /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/camp1) "m" = ( -/obj/item/weapon/material/knife/machete/hatchet, +/obj/item/material/knife/machete/hatchet, /turf/template_noop, /area/template_noop) "n" = ( -/obj/item/weapon/flame/lighter, +/obj/item/flame/lighter, /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/camp1) "y" = ( diff --git a/maps/submaps/surface_submaps/plains_yw/construction1.dmm b/maps/submaps/surface_submaps/plains_yw/construction1.dmm index 8d40fdf7d5b..1891c62b7dc 100644 --- a/maps/submaps/surface_submaps/plains_yw/construction1.dmm +++ b/maps/submaps/surface_submaps/plains_yw/construction1.dmm @@ -37,7 +37,7 @@ /turf/simulated/floor/tiled/external/cryogaia, /area/submap/construction1) "k" = ( -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /turf/simulated/floor/plating/external/cryogaia, /area/submap/construction1) "l" = ( @@ -48,7 +48,7 @@ /turf/simulated/floor/plating/external/cryogaia, /area/submap/construction1) "n" = ( -/obj/item/weapon/pickaxe/drill, +/obj/item/pickaxe/drill, /turf/simulated/floor/outdoors/rocks/cryogaia, /area/template_noop) "o" = ( @@ -76,11 +76,11 @@ /turf/simulated/floor/plating/external/cryogaia, /area/submap/construction1) "u" = ( -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical, /turf/simulated/floor/plating/external/cryogaia, /area/submap/construction1) "v" = ( -/obj/item/weapon/airlock_electronics, +/obj/item/airlock_electronics, /turf/simulated/floor/tiled/external/cryogaia, /area/submap/construction1) "w" = ( @@ -92,7 +92,7 @@ /turf/simulated/floor/tiled/external/cryogaia, /area/submap/construction1) "y" = ( -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/floor/plating/external/cryogaia, /area/submap/construction1) "z" = ( @@ -100,19 +100,19 @@ /turf/simulated/floor/tiled/external/cryogaia, /area/submap/construction1) "A" = ( -/obj/item/weapon/shovel, +/obj/item/shovel, /turf/simulated/floor/plating/external/cryogaia, /area/submap/construction1) "B" = ( -/obj/item/weapon/airlock_electronics, +/obj/item/airlock_electronics, /turf/simulated/floor/plating/external/cryogaia, /area/submap/construction1) "C" = ( -/obj/item/weapon/weldingtool/largetank, +/obj/item/weldingtool/largetank, /turf/simulated/floor/tiled/external/cryogaia, /area/submap/construction1) "D" = ( -/obj/item/weapon/tool/crowbar, +/obj/item/tool/crowbar, /turf/simulated/floor/plating/external/cryogaia, /area/submap/construction1) "E" = ( diff --git a/maps/submaps/surface_submaps/plains_yw/dogbase.dmm b/maps/submaps/surface_submaps/plains_yw/dogbase.dmm index 6f856d3deef..777a081b57c 100644 --- a/maps/submaps/surface_submaps/plains_yw/dogbase.dmm +++ b/maps/submaps/surface_submaps/plains_yw/dogbase.dmm @@ -39,7 +39,7 @@ /obj/effect/decal/cleanable/filth, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/item/weapon/bone, +/obj/item/bone, /obj/random/maintenance/security, /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/DogBase) @@ -53,7 +53,7 @@ /turf/simulated/floor/plating/external/cryogaia, /area/submap/DogBase) "bw" = ( -/obj/item/weapon/storage/belt/janitor, +/obj/item/storage/belt/janitor, /obj/effect/floor_decal/corner/purple/diagonal, /turf/simulated/floor/tiled/dark, /area/submap/DogBase) @@ -156,7 +156,7 @@ /obj/effect/decal/cleanable/filth, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/item/weapon/bone/ribs, +/obj/item/bone/ribs, /obj/random/maintenance/research, /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/DogBase) @@ -251,7 +251,7 @@ /area/submap/DogBase) "np" = ( /obj/structure/table/woodentable, -/obj/item/weapon/gun/projectile/pistol, +/obj/item/gun/projectile/pistol, /turf/simulated/floor/tiled/dark, /area/submap/DogBase) "oW" = ( @@ -261,7 +261,7 @@ /area/template_noop) "pR" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/effect/floor_decal/borderfloor{ dir = 9 }, @@ -289,13 +289,13 @@ /obj/structure/dogbed, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/item/weapon/bone, +/obj/item/bone, /obj/random/maintenance/security, /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/DogBase) "qO" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/effect/floor_decal/borderfloor{ dir = 1 }, @@ -474,7 +474,7 @@ /area/submap/DogBase) "BA" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /turf/simulated/floor/tiled/dark, /area/submap/DogBase) "BB" = ( @@ -484,7 +484,7 @@ /area/submap/DogBase) "Ce" = ( /obj/structure/janitorialcart, -/obj/item/weapon/storage/bag/trash, +/obj/item/storage/bag/trash, /obj/effect/floor_decal/corner/purple/diagonal, /turf/simulated/floor/tiled/dark, /area/submap/DogBase) @@ -498,7 +498,7 @@ /obj/structure/dogbed, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/item/weapon/bone, +/obj/item/bone, /obj/random/contraband/nofail, /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/DogBase) @@ -668,13 +668,13 @@ /area/submap/DogBase) "Ok" = ( /obj/structure/table/woodentable, -/obj/item/device/radio/phone, +/obj/item/radio/phone, /turf/simulated/floor/tiled/dark, /area/submap/DogBase) "Ol" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/item/weapon/bone/leg, +/obj/item/bone/leg, /mob/living/simple_mob/vore/wolf/direwolf/dog/sec{ desc = "The biggest and baddest guard dog around."; faction = "syndicate"; @@ -754,7 +754,7 @@ /area/template_noop) "Rz" = ( /obj/structure/table/woodentable, -/obj/item/device/radio/phone, +/obj/item/radio/phone, /obj/random/contraband/nofail, /turf/simulated/floor/tiled/dark, /area/submap/DogBase) @@ -818,7 +818,7 @@ /area/submap/DogBase) "Wu" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/effect/floor_decal/borderfloor{ dir = 8 }, @@ -880,7 +880,7 @@ /area/submap/DogBase) "ZK" = ( /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "Unknown APC"; pixel_x = -24 diff --git a/maps/submaps/surface_submaps/plains_yw/drgnplateu.dmm b/maps/submaps/surface_submaps/plains_yw/drgnplateu.dmm index d8d3f8db005..095edc85c7c 100644 --- a/maps/submaps/surface_submaps/plains_yw/drgnplateu.dmm +++ b/maps/submaps/surface_submaps/plains_yw/drgnplateu.dmm @@ -17,16 +17,16 @@ /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/drgnplateu) "cV" = ( -/obj/item/weapon/digestion_remains/skull/tajaran, -/obj/item/weapon/digestion_remains{ +/obj/item/digestion_remains/skull/tajaran, +/obj/item/digestion_remains{ pixel_x = 19; pixel_y = 1 }, -/obj/item/weapon/digestion_remains{ +/obj/item/digestion_remains{ pixel_x = 8; pixel_y = 1 }, -/obj/item/weapon/digestion_remains, +/obj/item/digestion_remains, /obj/item/clothing/accessory/collar/holo/indigestible, /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/drgnplateu) @@ -43,15 +43,15 @@ }, /obj/item/clothing/gloves/ring/material/gold, /obj/item/clothing/ears/earring/stud/gold, -/obj/item/weapon/gun/projectile/deagle/gold{ +/obj/item/gun/projectile/deagle/gold{ pixel_x = -11; pixel_y = -22 }, /turf/simulated/floor/outdoors/grass/sif/forest, /area/submap/drgnplateu) "ez" = ( -/obj/item/weapon/digestion_remains/ribcage, -/obj/item/weapon/digestion_remains{ +/obj/item/digestion_remains/ribcage, +/obj/item/digestion_remains{ pixel_x = 19; pixel_y = 1 }, @@ -59,8 +59,8 @@ /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/drgnplateu) "fj" = ( -/obj/item/weapon/digestion_remains/ribcage, -/obj/item/weapon/digestion_remains{ +/obj/item/digestion_remains/ribcage, +/obj/item/digestion_remains{ pixel_x = 8; pixel_y = 7 }, @@ -86,11 +86,11 @@ }, /obj/structure/flora/grass/green, /obj/item/clothing/accessory/medal/solgov/gold/sun, -/obj/item/weapon/pickaxe/gold{ +/obj/item/pickaxe/gold{ pixel_x = -12; pixel_y = 9 }, -/obj/item/weapon/reagent_containers/food/drinks/golden_cup{ +/obj/item/reagent_containers/food/drinks/golden_cup{ pixel_x = -10; pixel_y = -5 }, @@ -126,7 +126,7 @@ /obj/item/instrument/violin/golden{ pixel_x = 7 }, -/obj/item/weapon/flame/lighter/zippo/gold, +/obj/item/flame/lighter/zippo/gold, /turf/simulated/floor/outdoors/grass/sif/forest, /area/submap/drgnplateu) "mw" = ( @@ -134,24 +134,24 @@ /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/drgnplateu) "mB" = ( -/obj/item/weapon/material/twohanded/baseballbat/gold, +/obj/item/material/twohanded/baseballbat/gold, /turf/simulated/floor/outdoors/grass/sif/forest, /area/submap/drgnplateu) "mX" = ( -/obj/item/weapon/digestion_remains/skull/unknown/anthro, -/obj/item/weapon/digestion_remains{ +/obj/item/digestion_remains/skull/unknown/anthro, +/obj/item/digestion_remains{ pixel_x = 8; pixel_y = 7 }, -/obj/item/weapon/digestion_remains{ +/obj/item/digestion_remains{ pixel_x = 19; pixel_y = -2 }, -/obj/item/weapon/digestion_remains{ +/obj/item/digestion_remains{ pixel_x = 19; pixel_y = -11 }, -/obj/item/weapon/digestion_remains{ +/obj/item/digestion_remains{ pixel_x = 19; pixel_y = 1 }, @@ -164,8 +164,8 @@ /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/drgnplateu) "ni" = ( -/obj/item/weapon/digestion_remains/skull/unknown/anthro, -/obj/item/weapon/digestion_remains/ribcage, +/obj/item/digestion_remains/skull/unknown/anthro, +/obj/item/digestion_remains/ribcage, /obj/effect/decal/cleanable/liquid_fuel, /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/drgnplateu) @@ -192,7 +192,7 @@ /turf/template_noop, /area/template_noop) "xd" = ( -/obj/item/weapon/digestion_remains/skull/nevrean, +/obj/item/digestion_remains/skull/nevrean, /obj/effect/decal/cleanable/filth, /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/drgnplateu) @@ -203,12 +203,12 @@ /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/drgnplateu) "zl" = ( -/obj/item/weapon/digestion_remains/skull/akula, +/obj/item/digestion_remains/skull/akula, /obj/effect/decal/cleanable/liquid_fuel, /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/drgnplateu) "zm" = ( -/obj/item/weapon/digestion_remains, +/obj/item/digestion_remains, /obj/effect/decal/cleanable/filth, /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/drgnplateu) @@ -225,14 +225,14 @@ /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/drgnplateu) "Cu" = ( -/obj/item/weapon/digestion_remains{ +/obj/item/digestion_remains{ pixel_x = 8 }, -/obj/item/weapon/digestion_remains{ +/obj/item/digestion_remains{ pixel_x = 8; pixel_y = 7 }, -/obj/item/weapon/digestion_remains{ +/obj/item/digestion_remains{ pixel_x = 19; pixel_y = 1 }, @@ -240,8 +240,8 @@ /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/drgnplateu) "FT" = ( -/obj/item/weapon/digestion_remains/ribcage, -/obj/item/weapon/digestion_remains/ribcage{ +/obj/item/digestion_remains/ribcage, +/obj/item/digestion_remains/ribcage{ pixel_x = 9; pixel_y = 14 }, @@ -263,7 +263,7 @@ /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/drgnplateu) "Jz" = ( -/obj/item/weapon/digestion_remains/skull/unknown/anthro, +/obj/item/digestion_remains/skull/unknown/anthro, /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/drgnplateu) "JJ" = ( @@ -299,9 +299,9 @@ /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/drgnplateu) "Nj" = ( -/obj/item/weapon/digestion_remains/skull/unathi, -/obj/item/weapon/digestion_remains, -/obj/item/weapon/digestion_remains{ +/obj/item/digestion_remains/skull/unathi, +/obj/item/digestion_remains, +/obj/item/digestion_remains{ pixel_x = 8; pixel_y = 7 }, @@ -323,7 +323,7 @@ /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/drgnplateu) "Ra" = ( -/obj/item/weapon/digestion_remains/skull/zorren, +/obj/item/digestion_remains/skull/zorren, /obj/item/clothing/accessory/collar/holo/indigestible, /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/drgnplateu) diff --git a/maps/submaps/surface_submaps/plains_yw/emptycabin.dmm b/maps/submaps/surface_submaps/plains_yw/emptycabin.dmm index 80df3d5f35f..7959f043730 100644 --- a/maps/submaps/surface_submaps/plains_yw/emptycabin.dmm +++ b/maps/submaps/surface_submaps/plains_yw/emptycabin.dmm @@ -4,8 +4,8 @@ /area/template_noop) "b" = ( /obj/effect/decal/cleanable/filth, -/obj/item/weapon/bone/arm, -/obj/item/weapon/bone/skull/unathi, +/obj/item/bone/arm, +/obj/item/bone/skull/unathi, /turf/simulated/floor/wood/cryogaia, /area/submap/EmptyCabin) "c" = ( @@ -15,9 +15,9 @@ /area/submap/EmptyCabin) "d" = ( /obj/structure/closet/wardrobe, -/obj/item/weapon/material/fishing_rod/modern, -/obj/item/weapon/storage/toolbox/mechanical, -/obj/item/weapon/storage/toolbox/lunchbox/nymph/filled, +/obj/item/material/fishing_rod/modern, +/obj/item/storage/toolbox/mechanical, +/obj/item/storage/toolbox/lunchbox/nymph/filled, /turf/simulated/floor/wood/cryogaia, /area/submap/EmptyCabin) "e" = ( @@ -31,7 +31,7 @@ /area/submap/EmptyCabin) "g" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/purpledouble, +/obj/item/bedsheet/purpledouble, /turf/simulated/floor/wood/cryogaia, /area/submap/EmptyCabin) "i" = ( @@ -60,8 +60,8 @@ /area/submap/EmptyCabin) "n" = ( /obj/structure/table/sifwoodentable, -/obj/item/weapon/storage/fancy/candle_box, -/obj/item/weapon/paper/crumpled/bloody{ +/obj/item/storage/fancy/candle_box, +/obj/item/paper/crumpled/bloody{ info = "I found an otie while picking flowers today. He's so cute! I took him back home, and he seemed quite happy to share food with me. He really likes fish. Though, he never really seems to not be hungry..." }, /turf/simulated/floor/wood/cryogaia, @@ -142,11 +142,11 @@ /area/submap/EmptyCabin) "L" = ( /obj/structure/table/sifwoodentable, -/obj/item/weapon/flame/candle/candelabra, +/obj/item/flame/candle/candelabra, /turf/simulated/floor/wood/cryogaia, /area/submap/EmptyCabin) "M" = ( -/obj/item/weapon/bone/leg, +/obj/item/bone/leg, /turf/simulated/floor/wood/cryogaia, /area/submap/EmptyCabin) "O" = ( @@ -196,7 +196,7 @@ /turf/simulated/floor/wood/cryogaia, /area/submap/EmptyCabin) "X" = ( -/obj/item/weapon/bone, +/obj/item/bone, /turf/simulated/floor/wood/cryogaia, /area/submap/EmptyCabin) "Z" = ( diff --git a/maps/submaps/surface_submaps/plains_yw/farm1.dmm b/maps/submaps/surface_submaps/plains_yw/farm1.dmm index df48a2310c7..3e06c9de001 100644 --- a/maps/submaps/surface_submaps/plains_yw/farm1.dmm +++ b/maps/submaps/surface_submaps/plains_yw/farm1.dmm @@ -50,7 +50,7 @@ /area/submap/farm1) "m" = ( /obj/structure/table/marble, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/kitchen/rollingpin, /turf/simulated/floor/wood, /area/submap/farm1) "n" = ( @@ -67,7 +67,7 @@ /area/submap/farm1) "p" = ( /obj/structure/table/marble, -/obj/item/weapon/material/knife, +/obj/item/material/knife, /turf/simulated/floor/wood, /area/submap/farm1) "q" = ( @@ -111,15 +111,15 @@ }, /area/submap/farm1) "x" = ( -/obj/item/weapon/material/knife/machete/hatchet, +/obj/item/material/knife/machete/hatchet, /turf/simulated/floor/outdoors/mud{ outdoors = 0 }, /area/submap/farm1) "y" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/box/matches, -/obj/item/weapon/flame/match, +/obj/item/storage/box/matches, +/obj/item/flame/match, /turf/simulated/floor/wood, /area/submap/farm1) "z" = ( @@ -139,7 +139,7 @@ /area/submap/farm1) "C" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/fancy/candle_box, +/obj/item/storage/fancy/candle_box, /turf/simulated/floor/wood, /area/submap/farm1) "D" = ( @@ -159,12 +159,12 @@ /area/submap/farm1) "G" = ( /obj/structure/bookcase, -/obj/item/weapon/book/manual/hydroponics_pod_people, +/obj/item/book/manual/hydroponics_pod_people, /turf/simulated/floor/wood, /area/submap/farm1) "H" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /turf/simulated/floor/wood, /area/submap/farm1) "I" = ( diff --git a/maps/submaps/surface_submaps/plains_yw/farm1_vr.dmm b/maps/submaps/surface_submaps/plains_yw/farm1_vr.dmm index 13bdd791108..dc9d3ca69fd 100644 --- a/maps/submaps/surface_submaps/plains_yw/farm1_vr.dmm +++ b/maps/submaps/surface_submaps/plains_yw/farm1_vr.dmm @@ -50,7 +50,7 @@ /area/submap/farm1) "m" = ( /obj/structure/table/marble, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/kitchen/rollingpin, /turf/simulated/floor/wood, /area/submap/farm1) "n" = ( @@ -62,7 +62,7 @@ /area/submap/farm1) "p" = ( /obj/structure/table/marble, -/obj/item/weapon/material/knife, +/obj/item/material/knife, /turf/simulated/floor/wood, /area/submap/farm1) "q" = ( @@ -116,15 +116,15 @@ }, /area/submap/farm1) "y" = ( -/obj/item/weapon/material/knife/machete/hatchet, +/obj/item/material/knife/machete/hatchet, /turf/simulated/floor/outdoors/mud/cryogaia{ outdoors = 0 }, /area/submap/farm1) "z" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/box/matches, -/obj/item/weapon/flame/match, +/obj/item/storage/box/matches, +/obj/item/flame/match, /turf/simulated/floor/wood, /area/submap/farm1) "A" = ( @@ -148,7 +148,7 @@ /area/submap/farm1) "E" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/fancy/candle_box, +/obj/item/storage/fancy/candle_box, /turf/simulated/floor/wood, /area/submap/farm1) "F" = ( @@ -168,12 +168,12 @@ /area/submap/farm1) "I" = ( /obj/structure/bookcase, -/obj/item/weapon/book/manual/hydroponics_pod_people, +/obj/item/book/manual/hydroponics_pod_people, /turf/simulated/floor/wood, /area/submap/farm1) "J" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /turf/simulated/floor/wood, /area/submap/farm1) "K" = ( diff --git a/maps/submaps/surface_submaps/plains_yw/greatwolfden.dmm b/maps/submaps/surface_submaps/plains_yw/greatwolfden.dmm index 2dcc0e1b31f..f5fd0acbae9 100644 --- a/maps/submaps/surface_submaps/plains_yw/greatwolfden.dmm +++ b/maps/submaps/surface_submaps/plains_yw/greatwolfden.dmm @@ -86,15 +86,15 @@ /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/GreatWolfDen) "ju" = ( -/obj/item/weapon/reagent_containers/food/snacks/meat/human, -/obj/item/weapon/reagent_containers/food/snacks/meat/human, -/obj/item/weapon/reagent_containers/food/snacks/meat/human, -/obj/item/weapon/reagent_containers/food/snacks/meat/human, -/obj/item/weapon/reagent_containers/food/snacks/meat/human, +/obj/item/reagent_containers/food/snacks/meat/human, +/obj/item/reagent_containers/food/snacks/meat/human, +/obj/item/reagent_containers/food/snacks/meat/human, +/obj/item/reagent_containers/food/snacks/meat/human, +/obj/item/reagent_containers/food/snacks/meat/human, /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/GreatWolfDen) "kg" = ( -/obj/item/weapon/bone/skull/unathi, +/obj/item/bone/skull/unathi, /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/GreatWolfDen) "kk" = ( @@ -123,7 +123,7 @@ /area/submap/GreatWolfDen) "lQ" = ( /obj/effect/decal/cleanable/filth, -/obj/item/weapon/card/emag_broken, +/obj/item/card/emag_broken, /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/GreatWolfDen) "mk" = ( @@ -204,11 +204,11 @@ /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/GreatWolfDen) "vu" = ( -/obj/item/weapon/bone/skull/tajaran, +/obj/item/bone/skull/tajaran, /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/GreatWolfDen) "wc" = ( -/obj/item/weapon/bone/skull/unathi, +/obj/item/bone/skull/unathi, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/GreatWolfDen) @@ -511,7 +511,7 @@ /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/GreatWolfDen) "Rb" = ( -/obj/item/weapon/bone/leg, +/obj/item/bone/leg, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/outdoors/dirt/cryogaia{ outdoors = 0 @@ -522,7 +522,7 @@ /obj/structure/flora/sif/subterranean{ icon_state = "frostbelle" }, -/obj/item/weapon/gun/projectile/pistol, +/obj/item/gun/projectile/pistol, /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/GreatWolfDen) "Rj" = ( @@ -538,7 +538,7 @@ /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/GreatWolfDen) "SO" = ( -/obj/item/weapon/telecube/mated, +/obj/item/telecube/mated, /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/GreatWolfDen) "SQ" = ( @@ -548,10 +548,10 @@ /turf/simulated/floor/outdoors/dirt/cryogaia, /area/template_noop) "Tf" = ( -/obj/item/weapon/paper/card/heart{ +/obj/item/paper/card/heart{ desc = "A gift card with a heart on the cover. This appears to be a thank-you to the.. wolves??" }, -/obj/item/weapon/paper/crumpled{ +/obj/item/paper/crumpled{ icon_state = "scrap_bloodied"; info = "The wolves dragged me back to their den when they found me incapacitated, and nursed me back to health, instead of eating me. I don't know why. Anyway, they're a bunch of goodboyes. Don't let the bones strewn about their den frighten you. Just be nice to them and they won't hurt you."; name = "survivor's note" @@ -581,7 +581,7 @@ /area/submap/GreatWolfDen) "WH" = ( /obj/structure/loot_pile/surface/bones, -/obj/item/weapon/storage/toolbox/syndicate, +/obj/item/storage/toolbox/syndicate, /obj/random/projectile/scrapped_gun, /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/GreatWolfDen) @@ -605,7 +605,7 @@ /turf/simulated/floor/outdoors/snow/cryogaia, /area/submap/GreatWolfDen) "Xy" = ( -/obj/item/weapon/bone/ribs, +/obj/item/bone/ribs, /obj/effect/landmark/loot_spawn/low, /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/GreatWolfDen) diff --git a/maps/submaps/surface_submaps/plains_yw/hotspring.dmm b/maps/submaps/surface_submaps/plains_yw/hotspring.dmm index e77c4e0c2bc..ef58cd0fab1 100644 --- a/maps/submaps/surface_submaps/plains_yw/hotspring.dmm +++ b/maps/submaps/surface_submaps/plains_yw/hotspring.dmm @@ -30,18 +30,18 @@ /area/submap/hotspring) "j" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/fancy/candle_box, -/obj/item/weapon/flame/lighter/random{ +/obj/item/storage/fancy/candle_box, +/obj/item/flame/lighter/random{ pixel_x = 7 }, -/obj/item/weapon/storage/fancy/candle_box{ +/obj/item/storage/fancy/candle_box{ pixel_x = -6 }, -/obj/item/weapon/storage/firstaid{ +/obj/item/storage/firstaid{ pixel_x = 4; pixel_y = -6 }, -/obj/item/weapon/wrapping_paper, +/obj/item/wrapping_paper, /turf/simulated/floor/wood/cryogaia, /area/submap/hotspring) "k" = ( @@ -51,12 +51,12 @@ /area/submap/hotspring) "o" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/harpoon, +/obj/item/material/harpoon, /obj/item/pizzabox/vegetable, /turf/simulated/floor/wood/cryogaia, /area/submap/hotspring) "r" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /obj/structure/bed/chair{ dir = 1 }, @@ -105,7 +105,7 @@ /turf/simulated/floor/outdoors/grass/sif/cryogaia, /area/submap/hotspring) "L" = ( -/obj/item/weapon/inflatable_duck, +/obj/item/inflatable_duck, /obj/effect/effect/steam, /turf/simulated/floor/water/cryogaia, /area/submap/hotspring) @@ -126,7 +126,7 @@ dir = 8; health = 1e+006 }, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /obj/structure/loot_pile/maint/trash, /turf/template_noop, /area/submap/hotspring) diff --git a/maps/submaps/surface_submaps/plains_yw/house1.dmm b/maps/submaps/surface_submaps/plains_yw/house1.dmm index f5ca691bc33..233fc9fa1ca 100644 --- a/maps/submaps/surface_submaps/plains_yw/house1.dmm +++ b/maps/submaps/surface_submaps/plains_yw/house1.dmm @@ -65,12 +65,12 @@ /area/submap/house1) "ap" = ( /obj/structure/table/marble, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/kitchen/rollingpin, /turf/simulated/floor/tiled, /area/submap/house1) "aq" = ( /obj/structure/table/marble, -/obj/item/weapon/material/knife, +/obj/item/material/knife, /turf/simulated/floor/tiled, /area/submap/house1) "ar" = ( @@ -83,9 +83,9 @@ /area/submap/house1) "at" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/brute, -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/burn, -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/purity, +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/brute, +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/burn, +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/purity, /turf/simulated/floor/tiled/freezer, /area/submap/house1) "au" = ( @@ -98,13 +98,13 @@ /turf/simulated/floor/tiled, /area/submap/house1) "aw" = ( -/obj/item/device/flashlight/lantern, +/obj/item/flashlight/lantern, /turf/simulated/floor/tiled, /area/submap/house1) "ax" = ( /obj/structure/table/glass, /obj/structure/window/reinforced, -/obj/item/weapon/coin/phoron, +/obj/item/coin/phoron, /turf/simulated/floor/wood, /area/submap/house1) "ay" = ( @@ -116,7 +116,7 @@ /turf/simulated/floor/wood, /area/submap/house1) "az" = ( -/obj/item/weapon/material/harpoon, +/obj/item/material/harpoon, /obj/structure/table/glass, /obj/structure/window/reinforced, /turf/simulated/floor/wood, @@ -142,7 +142,7 @@ /turf/simulated/floor/tiled/freezer, /area/submap/house1) "aC" = ( -/obj/item/weapon/towel, +/obj/item/towel, /turf/simulated/floor/tiled/freezer, /area/submap/house1) "aD" = ( @@ -161,7 +161,7 @@ /turf/simulated/floor/tiled/freezer, /area/submap/house1) "aH" = ( -/obj/item/device/flashlight/lantern, +/obj/item/flashlight/lantern, /turf/simulated/floor/tiled/freezer, /area/submap/house1) "aI" = ( @@ -189,17 +189,17 @@ /area/submap/house1) "aM" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/storage/fancy/candle_box, +/obj/item/storage/fancy/candle_box, /turf/simulated/floor/carpet/turcarpet, /area/submap/house1) "aN" = ( /obj/structure/table/wooden_reinforced, -/obj/item/device/binoculars/spyglass, +/obj/item/binoculars/spyglass, /turf/simulated/floor/carpet/turcarpet, /area/submap/house1) "aO" = ( /obj/structure/table/wooden_reinforced, -/obj/item/device/flashlight/lantern, +/obj/item/flashlight/lantern, /turf/simulated/floor/carpet/turcarpet, /area/submap/house1) "aP" = ( @@ -210,7 +210,7 @@ /area/submap/house1) "aQ" = ( /obj/structure/table/rack, -/obj/item/device/gps/explorer, +/obj/item/gps/explorer, /turf/simulated/floor/wood, /area/submap/house1) "aR" = ( @@ -227,13 +227,13 @@ "aU" = ( /obj/structure/table/rack, /obj/item/clothing/under/explorer, -/obj/item/weapon/cell/device, -/obj/item/weapon/cell/device, -/obj/item/weapon/cell/device, +/obj/item/cell/device, +/obj/item/cell/device, +/obj/item/cell/device, /turf/simulated/floor/wood, /area/submap/house1) "aV" = ( -/obj/item/device/flashlight/lantern, +/obj/item/flashlight/lantern, /turf/simulated/floor/wood, /area/submap/house1) "aW" = ( @@ -248,7 +248,7 @@ /obj/structure/table/rack, /obj/item/clothing/suit/storage/hooded/explorer, /obj/item/clothing/mask/gas/explorer, -/obj/item/weapon/material/knife/tacknife/survival, +/obj/item/material/knife/tacknife/survival, /turf/simulated/floor/wood, /area/submap/house1) "aZ" = ( @@ -258,11 +258,11 @@ "ba" = ( /obj/structure/table/woodentable, /obj/random/action_figure, -/obj/item/device/flashlight/lantern, +/obj/item/flashlight/lantern, /turf/simulated/floor/carpet/sblucarpet, /area/submap/house1) "bb" = ( -/obj/item/weapon/bedsheet/hopdouble, +/obj/item/bedsheet/hopdouble, /obj/structure/bed/double/padded, /turf/simulated/floor/carpet/sblucarpet, /area/submap/house1) diff --git a/maps/submaps/surface_submaps/plains_yw/house1_vr.dmm b/maps/submaps/surface_submaps/plains_yw/house1_vr.dmm index 6ea5c2660ea..4de869d67ec 100644 --- a/maps/submaps/surface_submaps/plains_yw/house1_vr.dmm +++ b/maps/submaps/surface_submaps/plains_yw/house1_vr.dmm @@ -68,12 +68,12 @@ /area/submap/house1) "aq" = ( /obj/structure/table/marble, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/kitchen/rollingpin, /turf/simulated/floor/tiled, /area/submap/house1) "ar" = ( /obj/structure/table/marble, -/obj/item/weapon/material/knife, +/obj/item/material/knife, /turf/simulated/floor/tiled, /area/submap/house1) "as" = ( @@ -83,9 +83,9 @@ /area/submap/house1) "at" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/brute, -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/burn, -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/purity, +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/brute, +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/burn, +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/purity, /turf/simulated/floor/tiled/freezer, /area/submap/house1) "au" = ( @@ -98,13 +98,13 @@ /turf/simulated/floor/tiled, /area/submap/house1) "aw" = ( -/obj/item/device/flashlight/lantern, +/obj/item/flashlight/lantern, /turf/simulated/floor/tiled, /area/submap/house1) "ax" = ( /obj/structure/table/glass, /obj/structure/window/reinforced, -/obj/item/weapon/coin/phoron, +/obj/item/coin/phoron, /turf/simulated/floor/wood, /area/submap/house1) "ay" = ( @@ -116,7 +116,7 @@ /turf/simulated/floor/wood, /area/submap/house1) "az" = ( -/obj/item/weapon/material/harpoon, +/obj/item/material/harpoon, /obj/structure/table/glass, /obj/structure/window/reinforced, /turf/simulated/floor/wood, @@ -142,7 +142,7 @@ /turf/simulated/floor/tiled/freezer, /area/submap/house1) "aC" = ( -/obj/item/weapon/towel, +/obj/item/towel, /turf/simulated/floor/tiled/freezer, /area/submap/house1) "aD" = ( @@ -161,7 +161,7 @@ /turf/simulated/floor/tiled/freezer, /area/submap/house1) "aH" = ( -/obj/item/device/flashlight/lantern, +/obj/item/flashlight/lantern, /turf/simulated/floor/tiled/freezer, /area/submap/house1) "aI" = ( @@ -189,17 +189,17 @@ /area/submap/house1) "aM" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/storage/fancy/candle_box, +/obj/item/storage/fancy/candle_box, /turf/simulated/floor/carpet/turcarpet, /area/submap/house1) "aN" = ( /obj/structure/table/wooden_reinforced, -/obj/item/device/binoculars/spyglass, +/obj/item/binoculars/spyglass, /turf/simulated/floor/carpet/turcarpet, /area/submap/house1) "aO" = ( /obj/structure/table/wooden_reinforced, -/obj/item/device/flashlight/lantern, +/obj/item/flashlight/lantern, /turf/simulated/floor/carpet/turcarpet, /area/submap/house1) "aP" = ( @@ -210,7 +210,7 @@ /area/submap/house1) "aQ" = ( /obj/structure/table/rack, -/obj/item/device/gps/explorer, +/obj/item/gps/explorer, /turf/simulated/floor/wood, /area/submap/house1) "aR" = ( @@ -227,13 +227,13 @@ "aU" = ( /obj/structure/table/rack, /obj/item/clothing/under/explorer, -/obj/item/weapon/cell/device, -/obj/item/weapon/cell/device, -/obj/item/weapon/cell/device, +/obj/item/cell/device, +/obj/item/cell/device, +/obj/item/cell/device, /turf/simulated/floor/wood, /area/submap/house1) "aV" = ( -/obj/item/device/flashlight/lantern, +/obj/item/flashlight/lantern, /turf/simulated/floor/wood, /area/submap/house1) "aW" = ( @@ -248,7 +248,7 @@ /obj/structure/table/rack, /obj/item/clothing/suit/storage/hooded/explorer, /obj/item/clothing/mask/gas/explorer, -/obj/item/weapon/material/knife/tacknife/survival, +/obj/item/material/knife/tacknife/survival, /turf/simulated/floor/wood, /area/submap/house1) "aZ" = ( @@ -258,11 +258,11 @@ "ba" = ( /obj/structure/table/woodentable, /obj/random/action_figure, -/obj/item/device/flashlight/lantern, +/obj/item/flashlight/lantern, /turf/simulated/floor/carpet/sblucarpet, /area/submap/house1) "bb" = ( -/obj/item/weapon/bedsheet/hopdouble, +/obj/item/bedsheet/hopdouble, /obj/structure/bed/double/padded, /turf/simulated/floor/carpet/sblucarpet, /area/submap/house1) diff --git a/maps/submaps/surface_submaps/plains_yw/leopardmanderden.dmm b/maps/submaps/surface_submaps/plains_yw/leopardmanderden.dmm index e7b56427d7d..e573f3f9240 100644 --- a/maps/submaps/surface_submaps/plains_yw/leopardmanderden.dmm +++ b/maps/submaps/surface_submaps/plains_yw/leopardmanderden.dmm @@ -1,6 +1,6 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "aK" = ( -/obj/item/weapon/ore/silver, +/obj/item/ore/silver, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/outdoors/grass/sif/forest/cryogaia{ outdoors = 0 @@ -20,7 +20,7 @@ }, /area/submap/LeopardmanderDen) "bj" = ( -/obj/item/weapon/bluespace_crystal, +/obj/item/bluespace_crystal, /turf/simulated/floor/outdoors/grass/sif/cryogaia{ outdoors = 0 }, @@ -54,7 +54,7 @@ /turf/simulated/floor/outdoors/rocks/cryogaia, /area/template_noop) "fe" = ( -/obj/item/weapon/coin/diamond, +/obj/item/coin/diamond, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/outdoors/grass/sif/forest/cryogaia{ outdoors = 0 @@ -62,7 +62,7 @@ /area/submap/LeopardmanderDen) "fQ" = ( /obj/effect/landmark/loot_spawn/low, -/obj/item/weapon/ore/gold, +/obj/item/ore/gold, /turf/simulated/floor/outdoors/grass/sif/forest/cryogaia{ outdoors = 0 }, @@ -72,7 +72,7 @@ /turf/simulated/floor/outdoors/dirt/cryogaia, /area/template_noop) "gC" = ( -/obj/item/weapon/flame/lighter/zippo/gold, +/obj/item/flame/lighter/zippo/gold, /turf/simulated/floor/outdoors/grass/sif/forest/cryogaia{ outdoors = 0 }, @@ -88,7 +88,7 @@ /turf/simulated/floor/outdoors/dirt/cryogaia, /area/template_noop) "gU" = ( -/obj/item/weapon/coin/gold, +/obj/item/coin/gold, /turf/simulated/floor/outdoors/grass/sif/forest/cryogaia{ outdoors = 0 }, @@ -266,7 +266,7 @@ /turf/template_noop, /area/template_noop) "tC" = ( -/obj/item/weapon/ore/diamond, +/obj/item/ore/diamond, /turf/simulated/floor/outdoors/grass/sif/forest/cryogaia{ outdoors = 0 }, @@ -302,7 +302,7 @@ }, /area/submap/LeopardmanderDen) "xg" = ( -/obj/item/weapon/ore/silver, +/obj/item/ore/silver, /turf/simulated/floor/outdoors/grass/sif/forest/cryogaia{ outdoors = 0 }, @@ -386,7 +386,7 @@ /turf/simulated/floor/outdoors/dirt/cryogaia, /area/template_noop) "Gw" = ( -/obj/item/weapon/ore/gold, +/obj/item/ore/gold, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/outdoors/grass/sif/forest/cryogaia{ outdoors = 0 @@ -507,7 +507,7 @@ }, /area/submap/LeopardmanderDen) "Te" = ( -/obj/item/weapon/coin/silver, +/obj/item/coin/silver, /turf/simulated/floor/outdoors/grass/sif/forest/cryogaia{ outdoors = 0 }, @@ -524,7 +524,7 @@ /area/template_noop) "Tt" = ( /obj/structure/flora/ausbushes/brflowers, -/obj/item/weapon/coin/iron, +/obj/item/coin/iron, /turf/simulated/floor/outdoors/grass/sif/forest/cryogaia{ outdoors = 0 }, @@ -538,20 +538,20 @@ }, /area/submap/LeopardmanderDen) "Uc" = ( -/obj/item/weapon/ore/diamond, +/obj/item/ore/diamond, /turf/simulated/floor/outdoors/grass/sif/cryogaia{ outdoors = 0 }, /area/submap/LeopardmanderDen) "Ul" = ( -/obj/item/weapon/ore/gold, +/obj/item/ore/gold, /turf/simulated/floor/outdoors/grass/sif/cryogaia{ outdoors = 0 }, /area/submap/LeopardmanderDen) "UA" = ( /obj/structure/flora/ausbushes/brflowers, -/obj/item/weapon/coin/gold, +/obj/item/coin/gold, /turf/simulated/floor/outdoors/grass/sif/forest/cryogaia{ outdoors = 0 }, @@ -599,7 +599,7 @@ /turf/simulated/floor/outdoors/dirt/cryogaia, /area/template_noop) "YJ" = ( -/obj/item/weapon/ore/diamond, +/obj/item/ore/diamond, /turf/simulated/floor/outdoors/grass/sif/forest{ outdoors = 0 }, diff --git a/maps/submaps/surface_submaps/plains_yw/lonehome.dmm b/maps/submaps/surface_submaps/plains_yw/lonehome.dmm index a66125ec691..101501deccb 100644 --- a/maps/submaps/surface_submaps/plains_yw/lonehome.dmm +++ b/maps/submaps/surface_submaps/plains_yw/lonehome.dmm @@ -7,7 +7,7 @@ /area/submap/lonehome) "au" = ( /obj/item/organ/internal/lungs/vox, -/obj/item/weapon/beartrap/hunting{ +/obj/item/beartrap/hunting{ anchored = 1; deployed = 1 }, @@ -53,16 +53,16 @@ /obj/machinery/light{ dir = 8 }, -/obj/item/weapon/paper/courtroom, -/obj/item/weapon/paper/courtroom, -/obj/item/weapon/paper_bin, +/obj/item/paper/courtroom, +/obj/item/paper/courtroom, +/obj/item/paper_bin, /obj/structure/table/wooden_reinforced, /turf/simulated/floor/wood, /area/submap/lonehome) "cE" = ( /obj/structure/table/marble, /obj/item/organ/internal/brain/grey, -/obj/item/weapon/material/knife/plastic, +/obj/item/material/knife/plastic, /turf/simulated/floor, /area/submap/lonehome) "cS" = ( @@ -71,7 +71,7 @@ /turf/simulated/floor/wood, /area/submap/lonehome) "dR" = ( -/obj/item/weapon/paper{ +/obj/item/paper{ info = "Seems to be filled with odd runes drawn with blood"; name = "Blood stained paper" }, @@ -104,7 +104,7 @@ /area/submap/lonehome) "gI" = ( /obj/structure/table/rack, -/obj/item/weapon/material/knife/ritual, +/obj/item/material/knife/ritual, /obj/structure/curtain/open/bed, /obj/item/clothing/under/suit_jacket/really_black, /obj/item/clothing/under/suit_jacket/navy, @@ -112,8 +112,8 @@ /turf/simulated/floor/wood, /area/submap/lonehome) "hh" = ( -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, -/obj/item/weapon/pen, +/obj/item/reagent_containers/food/condiment/small/peppermill, +/obj/item/pen, /turf/simulated/floor/wood, /area/submap/lonehome) "hq" = ( @@ -128,8 +128,8 @@ /area/submap/lonehome) "hH" = ( /obj/structure/table/marble, -/obj/item/weapon/material/sharpeningkit, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/material/sharpeningkit, +/obj/item/reagent_containers/dropper, /turf/simulated/floor/tiled/white, /area/submap/lonehome) "hK" = ( @@ -148,7 +148,7 @@ /turf/simulated/floor/wood, /area/submap/lonehome) "ip" = ( -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/wood, /area/submap/lonehome) "iw" = ( @@ -156,8 +156,8 @@ /area/submap/lonehome) "iQ" = ( /obj/structure/table/marble, -/obj/item/weapon/material/knife/butch, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/knife/butch, +/obj/item/material/kitchen/rollingpin, /turf/simulated/floor/tiled/white, /area/submap/lonehome) "jt" = ( @@ -167,8 +167,8 @@ /turf/simulated/floor/outdoors/grass/heavy, /area/submap/lonehome) "jy" = ( -/obj/item/weapon/material/shard, -/obj/item/weapon/material/shard{ +/obj/item/material/shard, +/obj/item/material/shard{ pixel_x = 5; pixel_y = 10 }, @@ -177,7 +177,7 @@ /turf/simulated/floor/wood, /area/submap/lonehome) "jH" = ( -/obj/item/weapon/material/kitchen/utensil/spoon{ +/obj/item/material/kitchen/utensil/spoon{ pixel_x = 2 }, /turf/simulated/floor/wood, @@ -188,7 +188,7 @@ /area/submap/lonehome) "kg" = ( /obj/structure/table/marble, -/obj/item/weapon/material/kitchen/utensil/spoon, +/obj/item/material/kitchen/utensil/spoon, /turf/simulated/floor/tiled/white, /area/submap/lonehome) "kn" = ( @@ -203,8 +203,8 @@ /turf/simulated/floor/wood, /area/submap/lonehome) "ks" = ( -/obj/item/weapon/photo, -/obj/item/weapon/photo{ +/obj/item/photo, +/obj/item/photo{ pixel_x = 4 }, /obj/structure/table/bench/wooden, @@ -215,15 +215,15 @@ dir = 1 }, /obj/structure/bed/padded, -/obj/item/weapon/book/custom_library/fiction/truelovehathmyheart, -/obj/item/weapon/bedsheet/clown, +/obj/item/book/custom_library/fiction/truelovehathmyheart, +/obj/item/bedsheet/clown, /turf/simulated/floor/wood, /area/submap/lonehome) "kU" = ( -/obj/item/weapon/chainsaw, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/extinguisher, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/chainsaw, +/obj/item/storage/box/lights/mixed, +/obj/item/extinguisher, +/obj/item/storage/toolbox/mechanical, /obj/structure/table/rack, /turf/simulated/floor, /area/submap/lonehome) @@ -233,7 +233,7 @@ /turf/simulated/floor, /area/submap/lonehome) "lz" = ( -/obj/item/weapon/reagent_containers/glass/rag, +/obj/item/reagent_containers/glass/rag, /obj/item/clothing/gloves/ring/engagement, /obj/structure/table/wooden_reinforced, /turf/simulated/floor/wood, @@ -251,7 +251,7 @@ /turf/simulated/floor/wood, /area/submap/lonehome) "lJ" = ( -/obj/item/device/tape, +/obj/item/tape, /obj/structure/table/wooden_reinforced, /turf/simulated/floor/wood, /area/submap/lonehome) @@ -282,7 +282,7 @@ /turf/simulated/floor, /area/submap/lonehome) "nz" = ( -/obj/item/device/flashlight{ +/obj/item/flashlight{ pixel_x = 2; pixel_y = 2 }, @@ -304,9 +304,9 @@ /area/submap/lonehome) "ox" = ( /obj/structure/closet/cabinet, -/obj/item/weapon/storage/wallet/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/melee/umbrella/random, +/obj/item/storage/wallet/random, +/obj/item/towel/random, +/obj/item/melee/umbrella/random, /obj/random/ammo, /obj/random/cigarettes, /obj/random/contraband, @@ -363,9 +363,9 @@ /turf/simulated/floor/tiled/white, /area/submap/lonehome) "qo" = ( -/obj/item/weapon/phone, +/obj/item/phone, /obj/structure/table/bench/wooden, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "Seems to be filled with odd runes drawn with blood"; name = "Blood stained paper" }, @@ -390,17 +390,17 @@ /turf/simulated/floor/wood, /area/submap/lonehome) "ro" = ( -/obj/item/weapon/pack/cardemon, +/obj/item/pack/cardemon, /turf/simulated/floor/carpet/bcarpet, /area/submap/lonehome) "ru" = ( /obj/structure/table/rack, -/obj/item/weapon/makeover, +/obj/item/makeover, /obj/structure/curtain/open/bed, /turf/simulated/floor/wood, /area/submap/lonehome) "rE" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/outdoors/grass/heavy, /area/submap/lonehome) "tp" = ( @@ -425,21 +425,21 @@ dir = 8 }, /obj/structure/table/wooden_reinforced, -/obj/item/weapon/book/tome, +/obj/item/book/tome, /turf/simulated/floor/wood, /area/submap/lonehome) "uo" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/outdoors/dirt, /area/submap/lonehome) "ur" = ( /obj/structure/table/marble, -/obj/item/weapon/material/knife/hook, +/obj/item/material/knife/hook, /turf/simulated/floor, /area/submap/lonehome) "uw" = ( /obj/item/seeds/random, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, /obj/structure/table/wooden_reinforced, /turf/simulated/floor/wood, /area/submap/lonehome) @@ -454,7 +454,7 @@ /turf/simulated/floor/outdoors/grass/heavy, /area/submap/lonehome) "uK" = ( -/obj/item/weapon/material/minihoe, +/obj/item/material/minihoe, /turf/simulated/floor/outdoors/grass/heavy, /area/submap/lonehome) "uR" = ( @@ -469,7 +469,7 @@ /turf/simulated/floor/wood, /area/submap/lonehome) "wj" = ( -/obj/item/weapon/bedsheet/rddouble, +/obj/item/bedsheet/rddouble, /turf/simulated/floor/wood, /area/submap/lonehome) "xr" = ( @@ -500,10 +500,10 @@ /turf/simulated/floor/wood, /area/submap/lonehome) "yr" = ( -/obj/item/weapon/reagent_containers/blood, -/obj/item/weapon/pack/cardemon, -/obj/item/weapon/pack/cardemon, -/obj/item/weapon/deck/tarot, +/obj/item/reagent_containers/blood, +/obj/item/pack/cardemon, +/obj/item/pack/cardemon, +/obj/item/deck/tarot, /obj/structure/table/wooden_reinforced, /turf/simulated/floor/wood, /area/submap/lonehome) @@ -523,7 +523,7 @@ /turf/simulated/floor/tiled/white, /area/submap/lonehome) "zN" = ( -/obj/item/weapon/paper{ +/obj/item/paper{ info = "Seems to be filled with odd runes drawn with blood"; name = "Blood stained paper" }, @@ -534,11 +534,11 @@ dir = 8; health = 1e+006 }, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/outdoors/dirt, /area/submap/lonehome) "BH" = ( -/obj/item/weapon/paper{ +/obj/item/paper{ info = "F%$K this detective, I swear I can see them peeking from behind the window, these tinted glasses help but I swear I can still see them snooping around. His days are counted... I am so close to figuring this out, just need a few more days. Then Shepiffany will be part of the family once again, then our two kids and I can go back on having a normal life... a normal life..."; name = "Stained sheet of paper" }, @@ -550,9 +550,9 @@ /obj/machinery/button/windowtint{ id = "h_kitchen" }, -/obj/item/weapon/storage/box/donkpockets, -/obj/item/weapon/storage/box/condimentbottles, -/obj/item/weapon/reagent_containers/food/condiment/sugar, +/obj/item/storage/box/donkpockets, +/obj/item/storage/box/condimentbottles, +/obj/item/reagent_containers/food/condiment/sugar, /obj/structure/curtain/open/bed, /obj/structure/table/rack, /obj/structure/window/reinforced/polarized{ @@ -570,23 +570,23 @@ /obj/structure/window/reinforced/tinted/frosted{ dir = 8 }, -/obj/item/weapon/storage/box/glasses/square{ +/obj/item/storage/box/glasses/square{ pixel_y = -2 }, -/obj/item/weapon/storage/box/glass_extras/sticks{ +/obj/item/storage/box/glass_extras/sticks{ pixel_y = 4 }, -/obj/item/weapon/storage/box/glass_extras/straws{ +/obj/item/storage/box/glass_extras/straws{ pixel_y = 7 }, -/obj/item/weapon/packageWrap, +/obj/item/packageWrap, /obj/structure/curtain/open/bed, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/spoon{ +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/spoon{ pixel_x = 2 }, -/obj/item/weapon/material/kitchen/utensil/spoon{ +/obj/item/material/kitchen/utensil/spoon{ pixel_x = 2 }, /obj/structure/table/rack, @@ -598,9 +598,9 @@ /area/submap/lonehome) "DL" = ( /obj/structure/closet/cabinet, -/obj/item/weapon/storage/wallet/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/melee/umbrella/random, +/obj/item/storage/wallet/random, +/obj/item/towel/random, +/obj/item/melee/umbrella/random, /obj/random/carp_plushie, /obj/random/curseditem, /obj/random/junk, @@ -610,7 +610,7 @@ /turf/simulated/floor/wood, /area/submap/lonehome) "Ea" = ( -/obj/item/weapon/pack/cardemon, +/obj/item/pack/cardemon, /turf/simulated/floor/wood, /area/submap/lonehome) "Ek" = ( @@ -625,7 +625,7 @@ /turf/simulated/floor/carpet/sblucarpet, /area/submap/lonehome) "Ex" = ( -/obj/item/weapon/paper{ +/obj/item/paper{ info = "Seems to be filled with odd runes drawn with blood"; name = "Blood stained paper" }, @@ -637,9 +637,9 @@ /obj/effect/decal/cleanable/blood/gibs, /obj/structure/table/marble, /obj/item/organ/internal/intestine/unathi, -/obj/item/weapon/surgical/bonesetter, -/obj/item/weapon/bone/ribs, -/obj/item/weapon/bone/skull{ +/obj/item/surgical/bonesetter, +/obj/item/bone/ribs, +/obj/item/bone/skull{ pixel_x = 4; pixel_y = 6 }, @@ -683,7 +683,7 @@ /turf/simulated/floor/wood, /area/submap/lonehome) "GA" = ( -/obj/item/weapon/reagent_containers/food/snacks/ghostmuffin/poison, +/obj/item/reagent_containers/food/snacks/ghostmuffin/poison, /obj/structure/table/sifwooden_reinforced, /turf/simulated/floor/wood, /area/submap/lonehome) @@ -748,13 +748,13 @@ /obj/random/multiple, /obj/random/toy, /obj/random/toy, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, /turf/simulated/floor/wood, /area/submap/lonehome) "Kr" = ( /obj/machinery/portable_atmospherics/hydroponics/soil, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/outdoors/grass/heavy, /area/submap/lonehome) "Kw" = ( @@ -772,7 +772,7 @@ /area/submap/lonehome) "LS" = ( /obj/item/trash/plate, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/small/saltshaker, /obj/structure/table/sifwooden_reinforced, /turf/simulated/floor/wood, /area/submap/lonehome) @@ -786,7 +786,7 @@ /obj/machinery/button/windowtint{ id = "h_kitchen" }, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/food/condiment/enzyme, /obj/structure/window/reinforced/polarized{ dir = 4; id = "h_kitchen" @@ -820,7 +820,7 @@ /turf/template_noop, /area/submap/lonehome) "Od" = ( -/obj/item/weapon/extinguisher{ +/obj/item/extinguisher{ pixel_x = 8; pixel_y = 1 }, @@ -833,9 +833,9 @@ pixel_x = -8; pixel_y = -4 }, -/obj/item/weapon/mop, -/obj/item/device/multitool, -/obj/item/device/flashlight{ +/obj/item/mop, +/obj/item/multitool, +/obj/item/flashlight{ pixel_x = 2; pixel_y = 2 }, @@ -866,7 +866,7 @@ /obj/machinery/button/windowtint{ id = "h_kitchen" }, -/obj/item/weapon/material/kitchen/utensil/spoon{ +/obj/item/material/kitchen/utensil/spoon{ pixel_x = 2 }, /obj/structure/table/sifwooden_reinforced, @@ -877,15 +877,15 @@ /turf/simulated/floor/wood, /area/submap/lonehome) "Pc" = ( -/obj/item/weapon/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, /obj/random/trash, /turf/simulated/floor/wood, /area/submap/lonehome) "Qx" = ( -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ pixel_x = 6 }, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/outdoors/dirt, /area/submap/lonehome) "QU" = ( @@ -909,8 +909,8 @@ /turf/template_noop, /area/submap/lonehome) "Sp" = ( -/obj/item/weapon/material/shard, -/obj/item/weapon/material/shard{ +/obj/item/material/shard, +/obj/item/material/shard{ pixel_x = 5; pixel_y = 3 }, @@ -924,12 +924,12 @@ /turf/simulated/floor/carpet/sblucarpet, /area/submap/lonehome) "Tg" = ( -/obj/item/weapon/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/wood, /area/submap/lonehome) "Tw" = ( -/obj/item/weapon/cell/high/empty, +/obj/item/cell/high/empty, /turf/simulated/floor/carpet/sblucarpet, /area/submap/lonehome) "TX" = ( @@ -939,7 +939,7 @@ /area/submap/lonehome) "Uj" = ( /obj/machinery/light/small, -/obj/item/weapon/ore/diamond, +/obj/item/ore/diamond, /obj/structure/sign/goldenplaque{ desc = "Done No Harm."; name = "Best Doctor 2552"; @@ -953,7 +953,7 @@ /turf/template_noop, /area/submap/lonehome) "UB" = ( -/obj/item/weapon/storage/box/characters, +/obj/item/storage/box/characters, /obj/structure/curtain/open/bed, /obj/structure/table/rack, /turf/simulated/floor/wood, @@ -962,7 +962,7 @@ /turf/simulated/floor/tiled/white, /area/submap/lonehome) "Vn" = ( -/obj/item/weapon/reagent_containers/food/condiment/small/sugar, +/obj/item/reagent_containers/food/condiment/small/sugar, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/wood/broken, /area/submap/lonehome) @@ -983,7 +983,7 @@ /obj/random/junk, /obj/random/junk, /obj/random/junk, -/obj/item/weapon/bedsheet/ian, +/obj/item/bedsheet/ian, /turf/simulated/floor/wood, /area/submap/lonehome) "Wj" = ( @@ -1009,16 +1009,16 @@ /turf/simulated/floor/wood, /area/submap/lonehome) "Xc" = ( -/obj/item/weapon/module/power_control, +/obj/item/module/power_control, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/wood, /area/submap/lonehome) "Xz" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/template_noop, /area/submap/lonehome) "Ys" = ( -/obj/item/weapon/pen/fountain, +/obj/item/pen/fountain, /turf/simulated/floor/wood, /area/submap/lonehome) "YK" = ( diff --git a/maps/submaps/surface_submaps/plains_yw/lonehome_vr.dmm b/maps/submaps/surface_submaps/plains_yw/lonehome_vr.dmm index 196e2b4c265..ad13ad76f85 100644 --- a/maps/submaps/surface_submaps/plains_yw/lonehome_vr.dmm +++ b/maps/submaps/surface_submaps/plains_yw/lonehome_vr.dmm @@ -90,12 +90,12 @@ /turf/simulated/floor/wood/broken, /area/submap/lonehome) "au" = ( -/obj/item/device/tape, +/obj/item/tape, /obj/structure/table/wooden_reinforced, /turf/simulated/floor/wood/cryogaia, /area/submap/lonehome) "av" = ( -/obj/item/weapon/extinguisher{ +/obj/item/extinguisher{ pixel_x = 8; pixel_y = 1 }, @@ -108,9 +108,9 @@ pixel_x = -8; pixel_y = -4 }, -/obj/item/weapon/mop, -/obj/item/device/multitool, -/obj/item/device/flashlight{ +/obj/item/mop, +/obj/item/multitool, +/obj/item/flashlight{ pixel_x = 2; pixel_y = 2 }, @@ -138,23 +138,23 @@ /obj/structure/window/reinforced/tinted/frosted{ dir = 8 }, -/obj/item/weapon/storage/box/glasses/square{ +/obj/item/storage/box/glasses/square{ pixel_y = -2 }, -/obj/item/weapon/storage/box/glass_extras/sticks{ +/obj/item/storage/box/glass_extras/sticks{ pixel_y = 4 }, -/obj/item/weapon/storage/box/glass_extras/straws{ +/obj/item/storage/box/glass_extras/straws{ pixel_y = 7 }, -/obj/item/weapon/packageWrap, +/obj/item/packageWrap, /obj/structure/curtain/open/bed, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/spoon{ +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/spoon{ pixel_x = 2 }, -/obj/item/weapon/material/kitchen/utensil/spoon{ +/obj/item/material/kitchen/utensil/spoon{ pixel_x = 2 }, /obj/structure/table/rack, @@ -164,9 +164,9 @@ /obj/machinery/button/windowtint{ id = "h_kitchen" }, -/obj/item/weapon/storage/box/donkpockets, -/obj/item/weapon/storage/box/condimentbottles, -/obj/item/weapon/reagent_containers/food/condiment/sugar, +/obj/item/storage/box/donkpockets, +/obj/item/storage/box/condimentbottles, +/obj/item/reagent_containers/food/condiment/sugar, /obj/structure/curtain/open/bed, /obj/structure/table/rack, /obj/structure/window/reinforced/polarized{ @@ -206,19 +206,19 @@ /area/submap/lonehome) "aG" = ( /obj/structure/table/marble, -/obj/item/weapon/material/knife/butch, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/knife/butch, +/obj/item/material/kitchen/rollingpin, /turf/simulated/floor/tiled/white/cryogaia, /area/submap/lonehome) "aH" = ( /obj/structure/table/marble, -/obj/item/weapon/material/kitchen/utensil/spoon, +/obj/item/material/kitchen/utensil/spoon, /turf/simulated/floor/tiled/white/cryogaia, /area/submap/lonehome) "aI" = ( /obj/structure/table/marble, -/obj/item/weapon/material/sharpeningkit, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/material/sharpeningkit, +/obj/item/reagent_containers/dropper, /turf/simulated/floor/tiled/white/cryogaia, /area/submap/lonehome) "aJ" = ( @@ -228,7 +228,7 @@ /obj/machinery/button/windowtint{ id = "h_kitchen" }, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/food/condiment/enzyme, /obj/structure/window/reinforced/polarized{ dir = 4; id = "h_kitchen" @@ -240,16 +240,16 @@ dir = 8; health = 1e+006 }, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/lonehome) "aM" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/template_noop, /area/submap/lonehome) "aN" = ( -/obj/item/weapon/material/shard, -/obj/item/weapon/material/shard{ +/obj/item/material/shard, +/obj/item/material/shard{ pixel_x = 5; pixel_y = 3 }, @@ -282,7 +282,7 @@ /turf/simulated/floor/wood/cryogaia, /area/submap/lonehome) "aT" = ( -/obj/item/weapon/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/wood/cryogaia, /area/submap/lonehome) @@ -302,14 +302,14 @@ /turf/simulated/floor/wood/cryogaia, /area/submap/lonehome) "aW" = ( -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ pixel_x = 6 }, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/lonehome) "aX" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/lonehome) "aY" = ( @@ -341,7 +341,7 @@ /area/submap/lonehome) "bd" = ( /obj/item/trash/plate, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/small/saltshaker, /obj/structure/table/sifwooden_reinforced, /turf/simulated/floor/wood/cryogaia, /area/submap/lonehome) @@ -349,7 +349,7 @@ /obj/machinery/button/windowtint{ id = "h_kitchen" }, -/obj/item/weapon/material/kitchen/utensil/spoon{ +/obj/item/material/kitchen/utensil/spoon{ pixel_x = 2 }, /obj/structure/table/sifwooden_reinforced, @@ -389,7 +389,7 @@ /turf/simulated/floor/wood/cryogaia, /area/submap/lonehome) "bj" = ( -/obj/item/weapon/module/power_control, +/obj/item/module/power_control, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/wood/cryogaia, /area/submap/lonehome) @@ -401,8 +401,8 @@ /turf/simulated/floor/wood/cryogaia, /area/submap/lonehome) "bl" = ( -/obj/item/weapon/material/shard, -/obj/item/weapon/material/shard{ +/obj/item/material/shard, +/obj/item/material/shard{ pixel_x = 5; pixel_y = 10 }, @@ -423,17 +423,17 @@ /turf/simulated/floor/wood/cryogaia, /area/submap/lonehome) "bn" = ( -/obj/item/weapon/reagent_containers/food/condiment/small/sugar, +/obj/item/reagent_containers/food/condiment/small/sugar, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/wood/broken, /area/submap/lonehome) "bo" = ( -/obj/item/weapon/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, /obj/random/trash, /turf/simulated/floor/wood/cryogaia, /area/submap/lonehome) "bp" = ( -/obj/item/weapon/reagent_containers/food/snacks/ghostmuffin/poison, +/obj/item/reagent_containers/food/snacks/ghostmuffin/poison, /obj/structure/table/sifwooden_reinforced, /turf/simulated/floor/wood/cryogaia, /area/submap/lonehome) @@ -455,18 +455,18 @@ /turf/simulated/floor/wood/broken, /area/submap/lonehome) "bs" = ( -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/wood/cryogaia, /area/submap/lonehome) "bt" = ( -/obj/item/weapon/material/kitchen/utensil/spoon{ +/obj/item/material/kitchen/utensil/spoon{ pixel_x = 2 }, /turf/simulated/floor/wood/cryogaia, /area/submap/lonehome) "bu" = ( -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, -/obj/item/weapon/pen, +/obj/item/reagent_containers/food/condiment/small/peppermill, +/obj/item/pen, /turf/simulated/floor/wood/cryogaia, /area/submap/lonehome) "bv" = ( @@ -494,13 +494,13 @@ /area/submap/lonehome) "by" = ( /obj/structure/table/rack, -/obj/item/weapon/makeover, +/obj/item/makeover, /obj/structure/curtain/open/bed, /turf/simulated/floor/wood/cryogaia, /area/submap/lonehome) "bz" = ( /obj/structure/table/rack, -/obj/item/weapon/material/knife/ritual, +/obj/item/material/knife/ritual, /obj/structure/curtain/open/bed, /obj/item/clothing/under/suit_jacket/really_black, /obj/item/clothing/under/suit_jacket/navy, @@ -512,11 +512,11 @@ dir = 8 }, /obj/structure/table/wooden_reinforced, -/obj/item/weapon/book/tome, +/obj/item/book/tome, /turf/simulated/floor/wood/cryogaia, /area/submap/lonehome) "bB" = ( -/obj/item/weapon/paper{ +/obj/item/paper{ info = "Seems to be filled with odd runes drawn with blood"; name = "Blood stained paper" }, @@ -537,13 +537,13 @@ /area/submap/lonehome) "bE" = ( /obj/item/seeds/random, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, /obj/structure/table/wooden_reinforced, /turf/simulated/floor/wood/cryogaia, /area/submap/lonehome) "bF" = ( /obj/machinery/light/small, -/obj/item/weapon/ore/diamond, +/obj/item/ore/diamond, /obj/structure/sign/goldenplaque{ desc = "Done No Harm."; name = "Best Doctor 2552"; @@ -553,7 +553,7 @@ /turf/simulated/floor/wood/cryogaia, /area/submap/lonehome) "bG" = ( -/obj/item/weapon/reagent_containers/glass/rag, +/obj/item/reagent_containers/glass/rag, /obj/item/clothing/gloves/ring/engagement, /obj/structure/table/wooden_reinforced, /turf/simulated/floor/wood/cryogaia, @@ -566,9 +566,9 @@ /area/submap/lonehome) "bI" = ( /obj/structure/closet/cabinet, -/obj/item/weapon/storage/wallet/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/melee/umbrella/random, +/obj/item/storage/wallet/random, +/obj/item/towel/random, +/obj/item/melee/umbrella/random, /obj/random/carp_plushie, /obj/random/curseditem, /obj/random/junk, @@ -578,14 +578,14 @@ /turf/simulated/floor/wood/cryogaia, /area/submap/lonehome) "bJ" = ( -/obj/item/weapon/paper{ +/obj/item/paper{ info = "Seems to be filled with odd runes drawn with blood"; name = "Blood stained paper" }, /turf/simulated/floor/wood/cryogaia, /area/submap/lonehome) "bK" = ( -/obj/item/weapon/cell/high/empty, +/obj/item/cell/high/empty, /turf/simulated/floor/carpet/sblucarpet/cryogaia, /area/submap/lonehome) "bL" = ( @@ -596,7 +596,7 @@ /turf/simulated/floor/carpet/sblucarpet/cryogaia, /area/submap/lonehome) "bM" = ( -/obj/item/weapon/paper{ +/obj/item/paper{ info = "F%$K this detective, I swear I can see them peeking from behind the window, these tinted glasses help but I swear I can still see them snooping around. His days are counted... I am so close to figuring this out, just need a few more days. Then Shepiffany will be part of the family once again, then our two kids and I can go back on having a normal life... a normal life..."; name = "Stained sheet of paper" }, @@ -621,18 +621,18 @@ /obj/machinery/light{ dir = 8 }, -/obj/item/weapon/paper/courtroom, -/obj/item/weapon/paper/courtroom, -/obj/item/weapon/paper_bin, +/obj/item/paper/courtroom, +/obj/item/paper/courtroom, +/obj/item/paper_bin, /obj/structure/table/wooden_reinforced, /turf/simulated/floor/wood/cryogaia, /area/submap/lonehome) "bQ" = ( -/obj/item/weapon/pen/fountain, +/obj/item/pen/fountain, /turf/simulated/floor/wood/cryogaia, /area/submap/lonehome) "bR" = ( -/obj/item/weapon/paper{ +/obj/item/paper{ info = "Seems to be filled with odd runes drawn with blood"; name = "Blood stained paper" }, @@ -650,15 +650,15 @@ /turf/simulated/floor/carpet/sblucarpet/cryogaia, /area/submap/lonehome) "bU" = ( -/obj/item/weapon/photo, -/obj/item/weapon/photo{ +/obj/item/photo, +/obj/item/photo{ pixel_x = 4 }, /obj/structure/table/bench/wooden, /turf/simulated/floor/wood/cryogaia, /area/submap/lonehome) "bV" = ( -/obj/item/weapon/storage/box/characters, +/obj/item/storage/box/characters, /obj/structure/curtain/open/bed, /obj/structure/table/rack, /turf/simulated/floor/wood/cryogaia, @@ -674,8 +674,8 @@ dir = 1 }, /obj/structure/bed/padded, -/obj/item/weapon/book/custom_library/fiction/truelovehathmyheart, -/obj/item/weapon/bedsheet/clown, +/obj/item/book/custom_library/fiction/truelovehathmyheart, +/obj/item/bedsheet/clown, /turf/simulated/floor/wood/cryogaia, /area/submap/lonehome) "bY" = ( @@ -687,8 +687,8 @@ /obj/random/multiple, /obj/random/toy, /obj/random/toy, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, /turf/simulated/floor/wood/cryogaia, /area/submap/lonehome) "bZ" = ( @@ -703,9 +703,9 @@ /area/submap/lonehome) "cb" = ( /obj/structure/closet/cabinet, -/obj/item/weapon/storage/wallet/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/melee/umbrella/random, +/obj/item/storage/wallet/random, +/obj/item/towel/random, +/obj/item/melee/umbrella/random, /obj/random/ammo, /obj/random/cigarettes, /obj/random/contraband, @@ -735,14 +735,14 @@ /turf/simulated/floor/carpet/bcarpet, /area/submap/lonehome) "cf" = ( -/obj/item/weapon/pack/cardemon, +/obj/item/pack/cardemon, /turf/simulated/floor/carpet/bcarpet, /area/submap/lonehome) "cg" = ( -/obj/item/weapon/reagent_containers/blood, -/obj/item/weapon/pack/cardemon, -/obj/item/weapon/pack/cardemon, -/obj/item/weapon/deck/tarot, +/obj/item/reagent_containers/blood, +/obj/item/pack/cardemon, +/obj/item/pack/cardemon, +/obj/item/deck/tarot, /obj/structure/table/wooden_reinforced, /turf/simulated/floor/wood/cryogaia, /area/submap/lonehome) @@ -755,9 +755,9 @@ /obj/effect/decal/cleanable/blood/gibs, /obj/structure/table/marble, /obj/item/organ/internal/intestine/unathi, -/obj/item/weapon/surgical/bonesetter, -/obj/item/weapon/bone/ribs, -/obj/item/weapon/bone/skull{ +/obj/item/surgical/bonesetter, +/obj/item/bone/ribs, +/obj/item/bone/skull{ pixel_x = 4; pixel_y = 6 }, @@ -768,20 +768,20 @@ /turf/simulated/wall/wood, /area/submap/lonehome) "ck" = ( -/obj/item/weapon/bedsheet/rddouble, +/obj/item/bedsheet/rddouble, /turf/simulated/floor/wood/cryogaia, /area/submap/lonehome) "cl" = ( -/obj/item/weapon/phone, +/obj/item/phone, /obj/structure/table/bench/wooden, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "Seems to be filled with odd runes drawn with blood"; name = "Blood stained paper" }, /turf/simulated/floor/wood/cryogaia, /area/submap/lonehome) "cm" = ( -/obj/item/weapon/pack/cardemon, +/obj/item/pack/cardemon, /turf/simulated/floor/wood/cryogaia, /area/submap/lonehome) "cn" = ( @@ -795,7 +795,7 @@ /obj/random/junk, /obj/random/junk, /obj/random/junk, -/obj/item/weapon/bedsheet/ian, +/obj/item/bedsheet/ian, /turf/simulated/floor/wood/cryogaia, /area/submap/lonehome) "co" = ( @@ -817,7 +817,7 @@ "cq" = ( /obj/structure/table/marble, /obj/item/organ/internal/brain/grey, -/obj/item/weapon/material/knife/plastic, +/obj/item/material/knife/plastic, /turf/simulated/floor/plating/external/cryogaia, /area/submap/lonehome) "cr" = ( @@ -867,7 +867,7 @@ /area/submap/lonehome) "cx" = ( /obj/structure/table/marble, -/obj/item/weapon/material/knife/hook, +/obj/item/material/knife/hook, /turf/simulated/floor/plating/external/cryogaia, /area/submap/lonehome) "cy" = ( @@ -875,7 +875,7 @@ /area/submap/lonehome) "cz" = ( /obj/machinery/portable_atmospherics/hydroponics/soil, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/outdoors/grass/sif/forest/cryogaia, /area/submap/lonehome) "cA" = ( @@ -916,10 +916,10 @@ /turf/simulated/floor/plating/external/cryogaia, /area/submap/lonehome) "cF" = ( -/obj/item/weapon/chainsaw, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/extinguisher, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/chainsaw, +/obj/item/storage/box/lights/mixed, +/obj/item/extinguisher, +/obj/item/storage/toolbox/mechanical, /obj/structure/table/rack, /turf/simulated/floor/plating/external/cryogaia, /area/submap/lonehome) @@ -941,11 +941,11 @@ /turf/simulated/floor/outdoors/grass/sif/forest/cryogaia, /area/submap/lonehome) "cJ" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/outdoors/grass/sif/forest/cryogaia, /area/submap/lonehome) "cK" = ( -/obj/item/weapon/material/minihoe, +/obj/item/material/minihoe, /turf/simulated/floor/outdoors/grass/sif/forest/cryogaia, /area/submap/lonehome) "cL" = ( @@ -958,7 +958,7 @@ /turf/simulated/floor/plating/external/cryogaia, /area/submap/lonehome) "cN" = ( -/obj/item/device/flashlight{ +/obj/item/flashlight{ pixel_x = 2; pixel_y = 2 }, @@ -976,7 +976,7 @@ /area/submap/lonehome) "cP" = ( /obj/item/organ/internal/lungs/vox, -/obj/item/weapon/beartrap/hunting{ +/obj/item/beartrap/hunting{ anchored = 1; deployed = 1 }, diff --git a/maps/submaps/surface_submaps/plains_yw/lonewolf.dmm b/maps/submaps/surface_submaps/plains_yw/lonewolf.dmm index 708bda41490..d4d28f0b3df 100644 --- a/maps/submaps/surface_submaps/plains_yw/lonewolf.dmm +++ b/maps/submaps/surface_submaps/plains_yw/lonewolf.dmm @@ -85,7 +85,7 @@ /turf/simulated/mineral/ignore_mapgen, /area/submap/lonewolf) "P" = ( -/obj/item/weapon/sword/fluff/joanaria{ +/obj/item/sword/fluff/joanaria{ desc = "An ancient sword, belonging to someone of power. Now, it is little more than a relic, damaged beyong use."; force = 10; name = "old greatsword" diff --git a/maps/submaps/surface_submaps/plains_yw/methlab.dmm b/maps/submaps/surface_submaps/plains_yw/methlab.dmm index c56870e2f21..9af78bda663 100644 --- a/maps/submaps/surface_submaps/plains_yw/methlab.dmm +++ b/maps/submaps/surface_submaps/plains_yw/methlab.dmm @@ -1,8 +1,8 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "ai" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/fountain, +/obj/item/paper_bin, +/obj/item/pen/fountain, /turf/simulated/floor/tiled/steel_dirty, /area/submap/methlab) "as" = ( @@ -10,11 +10,11 @@ /turf/simulated/floor/tiled/steel_grid, /area/submap/methlab) "aY" = ( -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ pixel_x = 5; pixel_y = 3 }, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ pixel_x = 9 }, /turf/template_noop, @@ -24,7 +24,7 @@ /turf/template_noop, /area/submap/methlab) "bA" = ( -/obj/item/weapon/cell/hyper, +/obj/item/cell/hyper, /turf/simulated/floor/tiled/steel_dirty, /area/submap/methlab) "bJ" = ( @@ -33,20 +33,20 @@ /turf/simulated/floor/tiled/steel_dirty, /area/submap/methlab) "bQ" = ( -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ pixel_x = 9 }, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ pixel_x = 5 }, /turf/template_noop, /area/submap/methlab) "cg" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/radio{ +/obj/item/radio{ anchored = 1; canhear_range = 1; frequency = 1487; @@ -112,7 +112,7 @@ /area/submap/methlab) "iN" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/reagent_containers/dropper, /turf/simulated/floor/tiled/steel_dirty, /area/submap/methlab) "jm" = ( @@ -165,7 +165,7 @@ /area/submap/methlab) "mw" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/toolbox/syndicate, +/obj/item/storage/toolbox/syndicate, /turf/simulated/floor/tiled/steel_dirty, /area/submap/methlab) "nq" = ( @@ -196,7 +196,7 @@ /turf/template_noop, /area/submap/methlab) "rK" = ( -/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plating/external/cryogaia, /area/submap/methlab) @@ -217,7 +217,7 @@ /turf/simulated/floor/tiled/steel_dirty, /area/submap/methlab) "sW" = ( -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ pixel_x = 9 }, /turf/template_noop, @@ -255,7 +255,7 @@ /turf/simulated/floor/tiled/old_tile/green/cryogaia, /area/submap/methlab) "wI" = ( -/obj/item/weapon/reagent_containers/dropper, +/obj/item/reagent_containers/dropper, /obj/random/junk, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/tiled/steel_dirty, @@ -316,7 +316,7 @@ /area/submap/methlab) "AB" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, /turf/simulated/floor/tiled/steel_dirty, /area/submap/methlab) "AM" = ( @@ -337,24 +337,24 @@ /area/submap/methlab) "BR" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /turf/simulated/floor/tiled/steel_dirty, /area/submap/methlab) "BT" = ( /obj/structure/safe/floor, -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris, -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris, -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris, -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris, -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris, -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris, -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris, -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris, -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris, -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris, -/obj/item/weapon/storage/bag/cash, -/obj/item/weapon/storage/bag/cash, +/obj/item/reagent_containers/food/snacks/grown/ambrosiavulgaris, +/obj/item/reagent_containers/food/snacks/grown/ambrosiavulgaris, +/obj/item/reagent_containers/food/snacks/grown/ambrosiavulgaris, +/obj/item/reagent_containers/food/snacks/grown/ambrosiavulgaris, +/obj/item/reagent_containers/food/snacks/grown/ambrosiavulgaris, +/obj/item/reagent_containers/food/snacks/grown/ambrosiavulgaris, +/obj/item/reagent_containers/food/snacks/grown/ambrosiavulgaris, +/obj/item/reagent_containers/food/snacks/grown/ambrosiavulgaris, +/obj/item/reagent_containers/food/snacks/grown/ambrosiavulgaris, +/obj/item/reagent_containers/food/snacks/grown/ambrosiavulgaris, +/obj/item/storage/bag/cash, +/obj/item/storage/bag/cash, /turf/simulated/floor/plating/external/cryogaia, /area/submap/methlab) "CH" = ( @@ -372,7 +372,7 @@ /area/submap/methlab) "CL" = ( /obj/structure/grille/rustic, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /turf/simulated/floor/tiled/old_tile/green/cryogaia, @@ -388,7 +388,7 @@ /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/methlab) "DP" = ( -/obj/item/weapon/reagent_containers/dropper, +/obj/item/reagent_containers/dropper, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/tiled/steel_dirty, /area/submap/methlab) @@ -400,7 +400,7 @@ /turf/simulated/floor/tiled/old_tile/white/cryogaia, /area/submap/methlab) "EW" = ( -/obj/item/weapon/stool, +/obj/item/stool, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plating/external/cryogaia, /area/submap/methlab) @@ -484,7 +484,7 @@ /turf/simulated/floor/tiled/steel_dirty, /area/submap/methlab) "LX" = ( -/obj/item/weapon/stool, +/obj/item/stool, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/tiled/steel_dirty, @@ -520,7 +520,7 @@ /area/submap/methlab) "PO" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/module/power_control, +/obj/item/module/power_control, /turf/simulated/floor/tiled/steel_dirty, /area/submap/methlab) "PZ" = ( @@ -558,7 +558,7 @@ /turf/simulated/floor/tiled/old_tile/white/cryogaia, /area/submap/methlab) "Tr" = ( -/obj/item/weapon/stool, +/obj/item/stool, /obj/effect/floor_decal/rust, /obj/random/maintenance/engineering, /turf/simulated/floor/tiled/steel_dirty, @@ -578,18 +578,18 @@ /area/submap/methlab) "TU" = ( /obj/structure/safe/floor, -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus, -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus, -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus, -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus, -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus, -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus, -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus, -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus, -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus, -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus, -/obj/item/weapon/storage/bag/cash, -/obj/item/weapon/storage/bag/cash, +/obj/item/reagent_containers/food/snacks/grown/ambrosiadeus, +/obj/item/reagent_containers/food/snacks/grown/ambrosiadeus, +/obj/item/reagent_containers/food/snacks/grown/ambrosiadeus, +/obj/item/reagent_containers/food/snacks/grown/ambrosiadeus, +/obj/item/reagent_containers/food/snacks/grown/ambrosiadeus, +/obj/item/reagent_containers/food/snacks/grown/ambrosiadeus, +/obj/item/reagent_containers/food/snacks/grown/ambrosiadeus, +/obj/item/reagent_containers/food/snacks/grown/ambrosiadeus, +/obj/item/reagent_containers/food/snacks/grown/ambrosiadeus, +/obj/item/reagent_containers/food/snacks/grown/ambrosiadeus, +/obj/item/storage/bag/cash, +/obj/item/storage/bag/cash, /turf/simulated/floor/plating/external/cryogaia, /area/submap/methlab) "Uy" = ( @@ -608,7 +608,7 @@ /turf/simulated/floor/tiled/techfloor, /area/submap/methlab) "UO" = ( -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /turf/template_noop, @@ -656,8 +656,8 @@ /obj/item/stack/material/phoron{ amount = 5 }, -/obj/item/weapon/extinguisher, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/extinguisher, +/obj/item/storage/box/lights/mixed, /turf/simulated/floor/plating/external/cryogaia, /area/submap/methlab) "Yz" = ( @@ -668,7 +668,7 @@ /area/submap/methlab) "Zp" = ( /obj/structure/grille/rustic, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ pixel_x = 5; pixel_y = 3 }, diff --git a/maps/submaps/surface_submaps/plains_yw/oldhotel.dmm b/maps/submaps/surface_submaps/plains_yw/oldhotel.dmm index 88400652ecf..667b1f38ca6 100644 --- a/maps/submaps/surface_submaps/plains_yw/oldhotel.dmm +++ b/maps/submaps/surface_submaps/plains_yw/oldhotel.dmm @@ -4,17 +4,17 @@ /turf/simulated/floor/carpet/purcarpet, /area/submap/oldhotel) "aJ" = ( -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid, +/obj/item/storage/firstaid, /turf/simulated/floor/tiled/old_tile/white/cryogaia, /area/submap/oldhotel) "bb" = ( /obj/machinery/light/small{ dir = 4 }, -/obj/item/device/multitool, +/obj/item/multitool, /turf/simulated/floor/wood/cryogaia, /area/submap/oldhotel) "bQ" = ( @@ -23,7 +23,7 @@ /turf/simulated/floor/tiled/old_tile/white/cryogaia, /area/submap/oldhotel) "bW" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/template_noop, /area/submap/oldhotel) "cA" = ( @@ -41,7 +41,7 @@ /area/submap/oldhotel) "dn" = ( /obj/structure/table/woodentable, -/obj/item/weapon/flame/candle/everburn, +/obj/item/flame/candle/everburn, /turf/simulated/floor/wood/cryogaia, /area/submap/oldhotel) "dr" = ( @@ -111,7 +111,7 @@ /area/submap/oldhotel) "je" = ( /obj/structure/closet/cabinet, -/obj/item/device/binoculars/spyglass, +/obj/item/binoculars/spyglass, /obj/random/contraband, /obj/random/contraband, /obj/random/maintenance/medical, @@ -145,20 +145,20 @@ /area/submap/oldhotel) "kW" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 3 }, /turf/simulated/floor/wood/cryogaia, /area/submap/oldhotel) "lj" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/kitchen/rollingpin, /turf/simulated/floor/tiled/old_tile/white/cryogaia, /area/submap/oldhotel) "ly" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/mimedouble, +/obj/item/bedsheet/mimedouble, /turf/simulated/floor/wood/cryogaia, /area/submap/oldhotel) "lZ" = ( @@ -168,7 +168,7 @@ /area/submap/oldhotel) "mr" = ( /obj/structure/table/woodentable, -/obj/item/weapon/cell/hyper, +/obj/item/cell/hyper, /turf/simulated/floor/wood/cryogaia, /area/submap/oldhotel) "mR" = ( @@ -179,7 +179,7 @@ /turf/simulated/floor/plating/external/cryogaia, /area/submap/oldhotel) "nG" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/oldhotel) "nZ" = ( @@ -192,8 +192,8 @@ /turf/simulated/floor/carpet/sblucarpet/cryogaia, /area/submap/oldhotel) "pi" = ( -/obj/item/weapon/material/shard, -/obj/item/weapon/material/shard{ +/obj/item/material/shard, +/obj/item/material/shard{ icon_state = "medium"; pixel_x = 12; pixel_y = 7 @@ -201,8 +201,8 @@ /turf/template_noop, /area/submap/oldhotel) "pn" = ( -/obj/item/weapon/material/shard, -/obj/item/weapon/material/shard{ +/obj/item/material/shard, +/obj/item/material/shard{ pixel_x = 7 }, /turf/template_noop, @@ -213,7 +213,7 @@ /turf/simulated/floor/wood/cryogaia, /area/submap/oldhotel) "rb" = ( -/obj/item/weapon/module/power_control, +/obj/item/module/power_control, /turf/simulated/floor/tiled/old_tile/white/cryogaia, /area/submap/oldhotel) "rK" = ( @@ -222,7 +222,7 @@ /turf/simulated/floor/wood/cryogaia, /area/submap/oldhotel) "rZ" = ( -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /turf/template_noop, @@ -242,20 +242,20 @@ /area/submap/oldhotel) "tz" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/rddouble, +/obj/item/bedsheet/rddouble, /turf/simulated/floor/wood/cryogaia, /area/submap/oldhotel) "tE" = ( /obj/structure/table/woodentable, /obj/random/coin, -/obj/item/weapon/reagent_containers/glass/rag, +/obj/item/reagent_containers/glass/rag, /turf/simulated/floor/carpet/sblucarpet/cryogaia, /area/submap/oldhotel) "tV" = ( /obj/structure/bed/chair/wood{ dir = 1 }, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/wood/cryogaia, /area/submap/oldhotel) "uF" = ( @@ -280,17 +280,17 @@ /area/submap/oldhotel) "vA" = ( /obj/structure/table/woodentable, -/obj/item/weapon/telecube/randomized{ +/obj/item/telecube/randomized{ name = "Odd artifact" }, /turf/simulated/floor/wood/cryogaia, /area/submap/oldhotel) "vM" = ( -/obj/item/weapon/material/shard, -/obj/item/weapon/material/shard{ +/obj/item/material/shard, +/obj/item/material/shard{ pixel_y = -6 }, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ pixel_x = 9 }, /obj/structure/grille/broken/rustic, @@ -303,7 +303,7 @@ /area/submap/oldhotel) "vR" = ( /obj/structure/table/woodentable, -/obj/item/weapon/flame/candle/candelabra, +/obj/item/flame/candle/candelabra, /turf/simulated/floor/carpet/sblucarpet/cryogaia, /area/submap/oldhotel) "wm" = ( @@ -312,9 +312,9 @@ /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/oldhotel) "wK" = ( -/obj/item/weapon/material/shard, -/obj/item/weapon/material/shard, -/obj/item/weapon/material/shard{ +/obj/item/material/shard, +/obj/item/material/shard, +/obj/item/material/shard{ icon_state = "medium"; pixel_x = 12; pixel_y = 7 @@ -323,13 +323,13 @@ /area/submap/oldhotel) "wV" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/reagent_containers/glass/beaker, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/glass/beaker, +/obj/item/reagent_containers/food/condiment/enzyme, /turf/simulated/floor/tiled/old_tile/white/cryogaia, /area/submap/oldhotel) "wX" = ( -/obj/item/weapon/material/shard, -/obj/item/weapon/material/shard{ +/obj/item/material/shard, +/obj/item/material/shard{ icon_state = "medium"; pixel_x = 12; pixel_y = 7 @@ -354,9 +354,9 @@ /turf/simulated/wall/wood, /area/submap/oldhotel) "zO" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /obj/structure/grille/broken/rustic, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium"; pixel_x = 12; pixel_y = 7 @@ -369,7 +369,7 @@ /area/submap/oldhotel) "Ac" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/material/knife/butch, +/obj/item/material/knife/butch, /turf/simulated/floor/tiled/old_tile/white/cryogaia, /area/submap/oldhotel) "AO" = ( @@ -378,13 +378,13 @@ /area/submap/oldhotel) "AU" = ( /obj/structure/table/woodentable, -/obj/item/device/tape, +/obj/item/tape, /turf/simulated/floor/wood/cryogaia, /area/submap/oldhotel) "AZ" = ( /obj/structure/table/woodentable, /obj/item/trash/candle, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "This is a stupid tresure hunt task, that thing is not taking us anywhere. Go on and have fun finding a waste of time."; name = "Wrinkled sheet of paper" }, @@ -406,7 +406,7 @@ /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/oldhotel) "CS" = ( -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/floor/wood/cryogaia, /area/submap/oldhotel) "Di" = ( @@ -463,17 +463,17 @@ /area/submap/oldhotel) "GV" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/fancy/candle_box, -/obj/item/weapon/storage/fancy/candle_box, -/obj/item/weapon/storage/fancy/candle_box, -/obj/item/weapon/flame/lighter/random, -/obj/item/weapon/flame/lighter/random, -/obj/item/weapon/melee/umbrella/random, +/obj/item/storage/fancy/candle_box, +/obj/item/storage/fancy/candle_box, +/obj/item/storage/fancy/candle_box, +/obj/item/flame/lighter/random, +/obj/item/flame/lighter/random, +/obj/item/melee/umbrella/random, /turf/simulated/floor/wood/cryogaia, /area/submap/oldhotel) "Ik" = ( -/obj/item/weapon/material/shard, -/obj/item/weapon/material/shard{ +/obj/item/material/shard, +/obj/item/material/shard{ icon_state = "medium" }, /turf/simulated/floor/tiled/old_tile/white/cryogaia, @@ -501,9 +501,9 @@ /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/oldhotel) "Lg" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /obj/structure/grille/broken/rustic, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /turf/simulated/floor/tiled/old_tile/white/cryogaia, @@ -548,14 +548,14 @@ /area/submap/oldhotel) "Qv" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, -/obj/item/weapon/pen, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, +/obj/item/pen, +/obj/item/pen, /turf/simulated/floor/wood/cryogaia, /area/submap/oldhotel) "Qw" = ( -/obj/item/weapon/stool, +/obj/item/stool, /obj/random/cash, /obj/machinery/light/small, /turf/simulated/floor/wood/cryogaia, @@ -572,7 +572,7 @@ /area/submap/oldhotel) "Sf" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/yellowdouble, +/obj/item/bedsheet/yellowdouble, /turf/simulated/floor/wood/cryogaia, /area/submap/oldhotel) "Sy" = ( @@ -583,9 +583,9 @@ /turf/simulated/floor/carpet/purcarpet, /area/submap/oldhotel) "SL" = ( -/obj/item/weapon/material/shard, -/obj/item/weapon/material/shard, -/obj/item/weapon/material/shard{ +/obj/item/material/shard, +/obj/item/material/shard, +/obj/item/material/shard{ icon_state = "medium"; pixel_x = 12; pixel_y = 7 @@ -605,13 +605,13 @@ /area/submap/oldhotel) "Uw" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/book/manual/chef_recipes, +/obj/item/book/manual/chef_recipes, /turf/simulated/floor/tiled/old_tile/white/cryogaia, /area/submap/oldhotel) "UU" = ( /obj/structure/table/woodentable, -/obj/item/weapon/flame/lighter/zippo/royal, -/obj/item/weapon/lipstick/random, +/obj/item/flame/lighter/zippo/royal, +/obj/item/lipstick/random, /turf/simulated/floor/wood/cryogaia, /area/submap/oldhotel) "Vf" = ( @@ -649,7 +649,7 @@ /turf/simulated/floor/tiled/old_tile/white/cryogaia, /area/submap/oldhotel) "WH" = ( -/obj/item/device/flashlight{ +/obj/item/flashlight{ pixel_x = 2; pixel_y = 2 }, @@ -660,7 +660,7 @@ /turf/simulated/floor/wood/cryogaia, /area/submap/oldhotel) "YQ" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /obj/structure/grille/broken/rustic, /turf/simulated/floor/tiled/old_tile/white/cryogaia, /area/submap/oldhotel) diff --git a/maps/submaps/surface_submaps/plains_yw/otieshelter.dmm b/maps/submaps/surface_submaps/plains_yw/otieshelter.dmm index ba1fecd7edd..ab9391d5aed 100644 --- a/maps/submaps/surface_submaps/plains_yw/otieshelter.dmm +++ b/maps/submaps/surface_submaps/plains_yw/otieshelter.dmm @@ -68,7 +68,7 @@ dir = 4 }, /obj/item/trash/bowl, -/obj/item/weapon/reagent_containers/food/snacks/meat/human, +/obj/item/reagent_containers/food/snacks/meat/human, /turf/simulated/floor/tiled, /area/submap/OtieShelter) "hk" = ( @@ -88,7 +88,7 @@ /area/submap/OtieShelter) "iv" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery, /turf/simulated/floor/tiled/cryogaia/cryogaia, /area/submap/OtieShelter) "iC" = ( @@ -120,7 +120,7 @@ /turf/simulated/floor/carpet/turcarpet/cryogaia, /area/submap/OtieShelter) "jI" = ( -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /obj/effect/decal/cleanable/blood/tracks{ @@ -181,7 +181,7 @@ }, /mob/living/simple_mob/vore/otie/friendly/chubby, /obj/item/trash/bowl, -/obj/item/weapon/reagent_containers/food/snacks/meat/human, +/obj/item/reagent_containers/food/snacks/meat/human, /turf/simulated/floor/tiled, /area/submap/OtieShelter) "mC" = ( @@ -205,8 +205,8 @@ /area/submap/OtieShelter) "nR" = ( /obj/structure/table/marble, -/obj/item/weapon/newspaper, -/obj/item/weapon/paper/card/heart, +/obj/item/newspaper, +/obj/item/paper/card/heart, /turf/simulated/floor/carpet/turcarpet/cryogaia, /area/submap/OtieShelter) "ob" = ( @@ -219,7 +219,7 @@ /area/submap/OtieShelter) "od" = ( /obj/machinery/door/window, -/obj/item/weapon/bone, +/obj/item/bone, /turf/simulated/floor/tiled, /area/submap/OtieShelter) "op" = ( @@ -283,7 +283,7 @@ dir = 4 }, /obj/item/trash/bowl, -/obj/item/weapon/reagent_containers/food/snacks/meat/human, +/obj/item/reagent_containers/food/snacks/meat/human, /turf/simulated/floor/tiled, /area/submap/OtieShelter) "uw" = ( @@ -304,14 +304,14 @@ /turf/simulated/floor/tiled, /area/submap/OtieShelter) "vA" = ( -/obj/item/weapon/bone, +/obj/item/bone, /turf/simulated/floor/tiled/cryogaia/cryogaia, /area/submap/OtieShelter) "vB" = ( /obj/machinery/door/window{ dir = 8 }, -/obj/item/weapon/bone, +/obj/item/bone, /turf/simulated/floor/tiled, /area/submap/OtieShelter) "vV" = ( @@ -350,7 +350,7 @@ /area/submap/OtieShelter) "yD" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/firstaid/adv, +/obj/item/storage/firstaid/adv, /turf/simulated/floor/tiled/cryogaia/cryogaia, /area/submap/OtieShelter) "Aa" = ( @@ -362,8 +362,8 @@ /area/submap/OtieShelter) "At" = ( /obj/structure/table/marble, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /turf/simulated/floor/carpet/turcarpet/cryogaia, /area/submap/OtieShelter) "AO" = ( @@ -374,7 +374,7 @@ /turf/simulated/floor/tiled/cryogaia/cryogaia, /area/submap/OtieShelter) "BM" = ( -/obj/item/weapon/melee/baton/cattleprod, +/obj/item/melee/baton/cattleprod, /obj/effect/decal/cleanable/blood/tracks{ color = "red"; desc = "Your instincts say you shouldn't be following these."; @@ -390,7 +390,7 @@ /area/submap/OtieShelter) "Cw" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/firstaid, +/obj/item/storage/firstaid, /turf/simulated/floor/tiled/cryogaia/cryogaia, /area/submap/OtieShelter) "CM" = ( @@ -419,7 +419,7 @@ /turf/simulated/floor/tiled/cryogaia/cryogaia, /area/submap/OtieShelter) "Ih" = ( -/obj/item/weapon/reagent_containers/food/snacks/meat/human, +/obj/item/reagent_containers/food/snacks/meat/human, /turf/simulated/floor/tiled, /area/submap/OtieShelter) "Ij" = ( @@ -487,11 +487,11 @@ "Nd" = ( /obj/structure/table/marble, /obj/structure/table/marble, -/obj/item/device/radio/phone, +/obj/item/radio/phone, /turf/simulated/floor/carpet/turcarpet/cryogaia, /area/submap/OtieShelter) "Nh" = ( -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /obj/structure/bed/double/padded, /turf/simulated/floor/carpet/turcarpet, /area/submap/OtieShelter) @@ -538,7 +538,7 @@ dir = 8 }, /obj/item/trash/bowl, -/obj/item/weapon/reagent_containers/food/snacks/meat/human, +/obj/item/reagent_containers/food/snacks/meat/human, /turf/simulated/floor/tiled, /area/submap/OtieShelter) "Px" = ( @@ -596,7 +596,7 @@ dir = 8 }, /obj/item/trash/bowl, -/obj/item/weapon/reagent_containers/food/snacks/meat/human, +/obj/item/reagent_containers/food/snacks/meat/human, /turf/simulated/floor/tiled, /area/submap/OtieShelter) "VE" = ( @@ -639,7 +639,7 @@ dir = 1 }, /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /obj/effect/floor_decal/industrial/warning{ dir = 1 }, diff --git a/maps/submaps/surface_submaps/plains_yw/plains.dm b/maps/submaps/surface_submaps/plains_yw/plains.dm index ecf8cc31f65..dd1733defcd 100644 --- a/maps/submaps/surface_submaps/plains_yw/plains.dm +++ b/maps/submaps/surface_submaps/plains_yw/plains.dm @@ -1,7 +1,7 @@ // This causes PoI maps to get 'checked' and compiled, when undergoing a unit test. // This is so CI can validate PoIs, and ensure future changes don't break PoIs, as PoIs are loaded at runtime and the compiler can't catch errors. // When adding a new PoI, please add it to this list. -#if MAP_TEST +#ifdef MAP_TEST #include "farm1.dmm" #include "construction1.dmm" #include "camp1.dmm" @@ -62,289 +62,288 @@ /datum/map_template/surface/plains/farm1 name = "Farm 1" desc = "A small farm tended by a farmbot." - mappath = 'maps/submaps/surface_submaps/plains_yw/farm1_vr.dmm' //VOREStation Edit + mappath = "maps/submaps/surface_submaps/plains_yw/farm1_vr.dmm" //VOREStation Edit cost = 10 /datum/map_template/surface/plains/construction1 name = "Construction Site 1" desc = "A structure being built. It seems laziness is not limited to engineers." - mappath = 'maps/submaps/surface_submaps/plains_yw/construction1.dmm' + mappath = "maps/submaps/surface_submaps/plains_yw/construction1.dmm" cost = 10 /datum/map_template/surface/plains/camp1 name = "Camp Site 1" desc = "A small campsite, complete with housing and bonfire." - mappath = 'maps/submaps/surface_submaps/plains_yw/camp1_vr.dmm' //VOREStation Edit + mappath = "maps/submaps/surface_submaps/plains_yw/camp1_vr.dmm" //VOREStation Edit cost = 10 /datum/map_template/surface/plains/house1 name = "House 1" desc = "A fair sized house out in the frontier, that belonged to a well-traveled explorer." - mappath = 'maps/submaps/surface_submaps/plains_yw/house1_vr.dmm' //VOREStation Edit + mappath = "maps/submaps/surface_submaps/plains_yw/house1_vr.dmm" //VOREStation Edit cost = 10 /datum/map_template/surface/plains/beacons name = "Collection of Marker Beacons" desc = "A bunch of marker beacons, scattered in a strange pattern." - mappath = 'maps/submaps/surface_submaps/plains_yw/beacons.dmm' + mappath = "maps/submaps/surface_submaps/plains_yw/beacons.dmm" cost = 5 - fixed_orientation = TRUE /datum/map_template/surface/plains/Epod name = "Emergency Pod" desc = "A vacant Emergency pod in the middle of nowhere." - mappath = 'maps/submaps/surface_submaps/plains_yw/Epod.dmm' + mappath = "maps/submaps/surface_submaps/plains_yw/Epod.dmm" cost = 5 /datum/map_template/surface/plains/Epod2 name = "Emergency Pod 2" desc = "A locked Emergency pod in the middle of nowhere." - mappath = 'maps/submaps/surface_submaps/plains_yw/Epod2.dmm' + mappath = "maps/submaps/surface_submaps/plains_yw/Epod2.dmm" cost = 5 /datum/map_template/surface/plains/normal/Rocky2 name = "Rocky 2" desc = "More rocks." - mappath = 'maps/submaps/surface_submaps/plains_yw/Rocky2.dmm' + mappath = "maps/submaps/surface_submaps/plains_yw/Rocky2.dmm" allow_duplicates = TRUE cost = 5 /datum/map_template/surface/plains/PascalB name = "Irradiated Manhole Cover" desc = "How did this old thing get all the way out here?" - mappath = 'maps/submaps/surface_submaps/plains_yw/PascalB.dmm' + mappath = "maps/submaps/surface_submaps/plains_yw/PascalB.dmm" cost = 5 /datum/map_template/surface/plains/bonfire name = "Abandoned Bonfire" desc = "Someone seems to enjoy orange juice a bit too much." - mappath = 'maps/submaps/surface_submaps/plains_yw/bonfire.dmm' + mappath = "maps/submaps/surface_submaps/plains_yw/bonfire.dmm" cost = 5 /datum/map_template/surface/plains/Rocky5 name = "Rocky 5" desc = "More rocks, Less Stalone" - mappath = 'maps/submaps/surface_submaps/plains_yw/Rocky5.dmm' + mappath = "maps/submaps/surface_submaps/plains_yw/Rocky5.dmm" cost = 5 /datum/map_template/surface/plains/Shakden name = "Shantak Den" desc = "Not to be confused with Shaq Den" - mappath = 'maps/submaps/surface_submaps/plains_yw/Shakden_vr.dmm' //VOREStation Edit + mappath = "maps/submaps/surface_submaps/plains_yw/Shakden_vr.dmm" //VOREStation Edit cost = 10 /datum/map_template/surface/plains/Field1 name = "Field 1" desc = "A regular field with a tug on it" - mappath = 'maps/submaps/surface_submaps/plains_yw/Field1.dmm' + mappath = "maps/submaps/surface_submaps/plains_yw/Field1.dmm" cost = 20 /datum/map_template/surface/plains/Thiefc name = "Thieves Cave" desc = "A thieves stash" - mappath = 'maps/submaps/surface_submaps/plains_yw/Thiefc_vr.dmm' //VOREStation Edit + mappath = "maps/submaps/surface_submaps/plains_yw/Thiefc_vr.dmm" //VOREStation Edit cost = 20 /datum/map_template/surface/plains/smol2 name = "Small 2" desc = "A small formation of mishaped surgery" - mappath = 'maps/submaps/surface_submaps/plains_yw/smol2.dmm' + mappath = "maps/submaps/surface_submaps/plains_yw/smol2.dmm" cost = 10 /datum/map_template/surface/plains/Mechpt name = "Mechpit" desc = "A illmade Mech brawling ring" - mappath = 'maps/submaps/surface_submaps/plains_yw/Mechpt.dmm' + mappath = "maps/submaps/surface_submaps/plains_yw/Mechpt.dmm" cost = 15 /datum/map_template/surface/plains/Boathouse name = "Boathouse" desc = "A fance house on a lake." - mappath = 'maps/submaps/surface_submaps/plains_yw/Boathouse_vr.dmm' //VOREStation Edit + mappath = "maps/submaps/surface_submaps/plains_yw/Boathouse_vr.dmm" //VOREStation Edit cost = 30 /datum/map_template/surface/plains/PooledR name = "Pooled Rocks" desc = "An intresting rocky location" - mappath = 'maps/submaps/surface_submaps/plains_yw/PooledR_vr.dmm' //VOREStation Edit + mappath = "maps/submaps/surface_submaps/plains_yw/PooledR_vr.dmm" //VOREStation Edit cost = 15 /datum/map_template/surface/plains/Smol3 name = "Small 3" desc = "A small stand" - mappath = 'maps/submaps/surface_submaps/plains_yw/Smol3.dmm' + mappath = "maps/submaps/surface_submaps/plains_yw/Smol3.dmm" cost = 10 /datum/map_template/surface/plains/Diner name = "Diner" desc = "Old Timey Tasty" - mappath = 'maps/submaps/surface_submaps/plains_yw/Diner_vr.dmm' //VOREStation Edit + mappath = "maps/submaps/surface_submaps/plains_yw/Diner_vr.dmm" //VOREStation Edit cost = 25 /datum/map_template/surface/plains/snow1 name = "Snow 1" desc = "Snow" - mappath = 'maps/submaps/surface_submaps/plains_yw/snow1.dmm' + mappath = "maps/submaps/surface_submaps/plains_yw/snow1.dmm" cost = 5 /datum/map_template/surface/plains/snow2 name = "Snow 2" desc = "More snow" - mappath = 'maps/submaps/surface_submaps/plains_yw/snow2.dmm' + mappath = "maps/submaps/surface_submaps/plains_yw/snow2.dmm" cost = 5 /datum/map_template/surface/plains/snow3 name = "Snow 3" desc = "Snow Snow Snow" - mappath = 'maps/submaps/surface_submaps/plains_yw/snow3.dmm' + mappath = "maps/submaps/surface_submaps/plains_yw/snow3.dmm" cost = 5 /datum/map_template/surface/plains/snow4 name = "Snow 4" desc = "Too much snow" - mappath = 'maps/submaps/surface_submaps/plains_yw/snow4.dmm' + mappath = "maps/submaps/surface_submaps/plains_yw/snow4.dmm" cost = 5 /datum/map_template/surface/plains/snow5 name = "Snow 5" desc = "Please stop the snow" - mappath = 'maps/submaps/surface_submaps/plains_yw/snow5.dmm' + mappath = "maps/submaps/surface_submaps/plains_yw/snow5.dmm" cost = 5 /datum/map_template/surface/plains/RationCache name = "Ration Cache" desc = "A forgotten cache of emergency rations." - mappath = 'maps/submaps/surface_submaps/plains_yw/RationCache_vr.dmm' //VOREStation Edit + mappath = "maps/submaps/surface_submaps/plains_yw/RationCache_vr.dmm" //VOREStation Edit cost = 5 /datum/map_template/surface/plains/SupplyDrop2 name = "Old Supply Drop" desc = "A drop pod that's clearly been here a while, most of the things inside are rusted and worthless." - mappath = 'maps/submaps/surface_submaps/plains_yw/SupplyDrop2.dmm' + mappath = "maps/submaps/surface_submaps/plains_yw/SupplyDrop2.dmm" cost = 8 /datum/map_template/surface/plains/Oldhouse name = "Old House" desc = "Someones old library it seems.." - mappath = 'maps/submaps/surface_submaps/plains_yw/Oldhouse_vr.dmm' //VOREStation Edit + mappath = "maps/submaps/surface_submaps/plains_yw/Oldhouse_vr.dmm" //VOREStation Edit cost = 15 /datum/map_template/surface/plains/ChemSpill1 name = "Ruptured Canister" desc = "A dumped chemical canister. Looks dangerous." - mappath = 'maps/submaps/surface_submaps/plains_yw/chemspill1_vr.dmm' //VOREStation Edit + mappath = "maps/submaps/surface_submaps/plains_yw/chemspill1_vr.dmm" //VOREStation Edit cost = 10 /datum/map_template/surface/plains/PlainsKururak name = "Lone Kururak" desc = "A lone Kururak's den." - mappath = 'maps/submaps/surface_submaps/plains_yw/PlainsKururak.dmm' + mappath = "maps/submaps/surface_submaps/plains_yw/PlainsKururak.dmm" cost = 10 /datum/map_template/surface/plains/BuriedTreasure1 name = "Buried Treasure 1" desc = "A hole in the ground, who knows what might be inside!" - mappath = 'maps/submaps/surface_submaps/plains_yw/BuriedTreasure.dmm' + mappath = "maps/submaps/surface_submaps/plains_yw/BuriedTreasure.dmm" cost = 10 template_group = "Shallow Grave" /datum/map_template/surface/plains/BuriedTreasure2 name = "Buried Treasure 2" desc = "A hole in the ground, who knows what might be inside!" - mappath = 'maps/submaps/surface_submaps/plains_yw/BuriedTreasure2.dmm' + mappath = "maps/submaps/surface_submaps/plains_yw/BuriedTreasure2.dmm" cost = 10 template_group = "Shallow Grave" /datum/map_template/surface/plains/BuriedTreasure3 name = "Buried Treasure 3" desc = "A hole in the ground, who knows what might be inside!" - mappath = 'maps/submaps/surface_submaps/plains_yw/BuriedTreasure3.dmm' + mappath = "maps/submaps/surface_submaps/plains_yw/BuriedTreasure3.dmm" cost = 10 template_group = "Shallow Grave" /datum/map_template/surface/plains/oldhotel name = "Old Hotel" desc = "A abandoned hotel of sort, wonder why it was left behind." - mappath = 'maps/submaps/surface_submaps/plains_yw/oldhotel.dmm' + mappath = "maps/submaps/surface_submaps/plains_yw/oldhotel.dmm" cost = 15 /datum/map_template/surface/plains/priderock name = "Pride Rock" desc = "A quite steep petruding rock from the earth, looks like a good hike." - mappath = 'maps/submaps/surface_submaps/plains_yw/priderock.dmm' + mappath = "maps/submaps/surface_submaps/plains_yw/priderock.dmm" cost = 10 /datum/map_template/surface/plains/lonehome name = "Lone Home" desc = "A quite inoffensive looking home, damaged but still holding up." - mappath = 'maps/submaps/surface_submaps/plains_yw/lonehome_vr.dmm' //VOREStation Edit + mappath = "maps/submaps/surface_submaps/plains_yw/lonehome_vr.dmm" //VOREStation Edit cost = 15 /datum/map_template/surface/plains/hotspring name = "Hot Spring" desc = "Wait what, a hotspring in a frost planet?" - mappath = 'maps/submaps/surface_submaps/plains_yw/hotspring.dmm' + mappath = "maps/submaps/surface_submaps/plains_yw/hotspring.dmm" cost = 5 /datum/map_template/surface/plains/methlab name = "Meth Lab" desc = "A broken down greenhouse lab?, this does not look safe." - mappath = 'maps/submaps/surface_submaps/plains_yw/methlab.dmm' + mappath = "maps/submaps/surface_submaps/plains_yw/methlab.dmm" cost = 15 /datum/map_template/surface/plains/VRDen name = "VR Den" desc = "A temporarily abandoned VR den, still functional." - mappath = 'maps/submaps/surface_submaps/plains_yw/VRDen.dmm' + mappath = "maps/submaps/surface_submaps/plains_yw/VRDen.dmm" cost = 10 /datum/map_template/surface/plains/leopardmanderden name = "Leopardmander Den" desc = "Den of a voracious but very rare beast." - mappath = 'maps/submaps/surface_submaps/plains_yw/leopardmanderden.dmm' + mappath = "maps/submaps/surface_submaps/plains_yw/leopardmanderden.dmm" cost = 10 /datum/map_template/surface/plains/greatwolfden name = "Great Wolf Den" desc = "Den hosted by the biggest alpha wolf of the wilderness" - mappath = 'maps/submaps/surface_submaps/plains_yw/greatwolfden.dmm' + mappath = "maps/submaps/surface_submaps/plains_yw/greatwolfden.dmm" cost = 15 /datum/map_template/surface/plains/dogbase name = "Dog Base" desc = "A highly secured base with hungry trained canines" - mappath = 'maps/submaps/surface_submaps/plains_yw/dogbase.dmm' + mappath = "maps/submaps/surface_submaps/plains_yw/dogbase.dmm" cost = 20 allow_duplicates = FALSE /datum/map_template/surface/wilderness/normal/emptycabin name = "Empty Cabin" desc = "An inconspicuous looking den hosted by a hungry otie" - mappath = 'maps/submaps/surface_submaps/plains_yw/emptycabin.dmm' + mappath = "maps/submaps/surface_submaps/plains_yw/emptycabin.dmm" cost = 10 /datum/map_template/surface/plains/lonewolf name = "Lone Wolf" desc = "A large oppressing wolf, supervising from above its cliff" - mappath = 'maps/submaps/surface_submaps/plains_yw/lonewolf.dmm' + mappath = "maps/submaps/surface_submaps/plains_yw/lonewolf.dmm" cost = 5 /datum/map_template/surface/plains/otieshelter name = "Otie Shelter" desc = "A experimental lab of various breeds of oties" - mappath = 'maps/submaps/surface_submaps/plains_yw/otieshelter.dmm' + mappath = "maps/submaps/surface_submaps/plains_yw/otieshelter.dmm" cost = 15 /datum/map_template/surface/plains/syndisniper name = "Syndi Sniper" desc = "Syndicate watch tower, deadly but secluded" - mappath = 'maps/submaps/surface_submaps/plains_yw/syndisniper.dmm' + mappath = "maps/submaps/surface_submaps/plains_yw/syndisniper.dmm" cost = 5 /datum/map_template/surface/plains/drgnplateu name = "Dragon Plateu" desc = "A dangerous plateu of cliffs home to a rampant gold hoarding dragon" - mappath = 'maps/submaps/surface_submaps/plains_yw/drgnplateu.dmm' + mappath = "maps/submaps/surface_submaps/plains_yw/drgnplateu.dmm" cost = 15 allow_duplicates = FALSE diff --git a/maps/submaps/surface_submaps/plains_yw/priderock.dmm b/maps/submaps/surface_submaps/plains_yw/priderock.dmm index bfeaa97962e..88a6509acfc 100644 --- a/maps/submaps/surface_submaps/plains_yw/priderock.dmm +++ b/maps/submaps/surface_submaps/plains_yw/priderock.dmm @@ -1,7 +1,7 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "ae" = ( /obj/structure/railing, -/obj/item/weapon/bone, +/obj/item/bone, /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/priderock) "cR" = ( @@ -41,7 +41,7 @@ /obj/random/maintenance/medical, /obj/random/maintenance/medical, /obj/random/maintenance/medical, -/obj/item/weapon/towel/random, +/obj/item/towel/random, /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/priderock) "md" = ( @@ -51,8 +51,8 @@ "nG" = ( /obj/structure/railing, /obj/random/junk, -/obj/item/weapon/bone/ribs, -/obj/item/weapon/bone/skull, +/obj/item/bone/ribs, +/obj/item/bone/skull, /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/priderock) "nV" = ( @@ -234,7 +234,7 @@ /obj/random/junk, /obj/random/junk, /obj/random/junk, -/obj/item/weapon/bone/skull/tajaran, +/obj/item/bone/skull/tajaran, /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/priderock) "Lo" = ( @@ -265,7 +265,7 @@ /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/priderock) "Pb" = ( -/obj/item/weapon/storage/backpack/dufflebag/syndie/med, +/obj/item/storage/backpack/dufflebag/syndie/med, /turf/simulated/floor/outdoors/dirt/cryogaia, /area/submap/priderock) "Pn" = ( @@ -345,7 +345,7 @@ /area/submap/priderock) "XN" = ( /obj/item/clothing/head/bearpelt, -/obj/item/device/binoculars/spyglass, +/obj/item/binoculars/spyglass, /turf/simulated/floor/outdoors/rocks/cryogaia, /area/submap/priderock) "Yd" = ( diff --git a/maps/submaps/surface_submaps/plains_yw/smol2.dmm b/maps/submaps/surface_submaps/plains_yw/smol2.dmm index 9f3e25a37ce..6f1b37b0695 100644 --- a/maps/submaps/surface_submaps/plains_yw/smol2.dmm +++ b/maps/submaps/surface_submaps/plains_yw/smol2.dmm @@ -26,9 +26,9 @@ /turf/template_noop, /area/submap/smol2) "g" = ( -/obj/item/weapon/storage/firstaid, +/obj/item/storage/firstaid, /obj/item/stack/medical/splint, -/obj/item/weapon/reagent_containers/pill/tramadol, +/obj/item/reagent_containers/pill/tramadol, /turf/template_noop, /area/submap/smol2) "h" = ( diff --git a/maps/submaps/surface_submaps/plains_yw/syndisniper.dmm b/maps/submaps/surface_submaps/plains_yw/syndisniper.dmm index 7d25333ed59..ce4aab9c5f0 100644 --- a/maps/submaps/surface_submaps/plains_yw/syndisniper.dmm +++ b/maps/submaps/surface_submaps/plains_yw/syndisniper.dmm @@ -33,9 +33,9 @@ /area/submap/SyndiSniper) "w" = ( /obj/structure/table/sifwooden_reinforced, -/obj/item/weapon/storage/mre/random, -/obj/item/device/binoculars, -/obj/item/device/radio/bluespacehandset/linked/talon_prelinked, +/obj/item/storage/mre/random, +/obj/item/binoculars, +/obj/item/radio/bluespacehandset/linked/talon_prelinked, /turf/simulated/floor/outdoors/rocks/cryogaia, /area/submap/SyndiSniper) "B" = ( diff --git a/maps/submaps/surface_submaps/wilderness/Blackshuttledown.dmm b/maps/submaps/surface_submaps/wilderness/Blackshuttledown.dmm index 2f60fca5d9f..c0df1053a5c 100644 --- a/maps/submaps/surface_submaps/wilderness/Blackshuttledown.dmm +++ b/maps/submaps/surface_submaps/wilderness/Blackshuttledown.dmm @@ -21,7 +21,7 @@ "au" = (/obj/machinery/body_scanconsole,/obj/effect/floor_decal/corner/green/border{icon_state = "bordercolor"; dir = 5},/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) "av" = (/turf/simulated/floor/tiled/steel,/turf/simulated/shuttle/wall/dark{icon_state = "dark5"; name = "Unknown Shuttle"},/area/submap/Blackshuttledown) "aw" = (/turf/simulated/floor/tiled/steel_grid,/area/submap/Blackshuttledown) -"ax" = (/obj/structure/table/steel,/obj/item/weapon/gun/projectile/automatic/wt550,/obj/item/weapon/gun/projectile/automatic/p90,/turf/simulated/floor/tiled/steel_grid,/area/submap/Blackshuttledown) +"ax" = (/obj/structure/table/steel,/obj/item/gun/projectile/automatic/wt550,/obj/item/gun/projectile/automatic/p90,/turf/simulated/floor/tiled/steel_grid,/area/submap/Blackshuttledown) "ay" = (/obj/effect/floor_decal/borderfloor{dir = 8},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "az" = (/obj/effect/floor_decal/borderfloor{dir = 4},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "aA" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) @@ -41,16 +41,16 @@ "aO" = (/mob/living/simple_mob/humanoid/merc/melee/sword/poi,/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) "aP" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/corner/green/border{icon_state = "bordercolor"; dir = 4},/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) "aQ" = (/obj/structure/table/steel,/obj/effect/floor_decal/borderfloor/full,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"aR" = (/obj/structure/table/steel,/obj/item/weapon/grenade/smokebomb,/turf/simulated/floor/tiled/steel_grid,/area/submap/Blackshuttledown) +"aR" = (/obj/structure/table/steel,/obj/item/grenade/smokebomb,/turf/simulated/floor/tiled/steel_grid,/area/submap/Blackshuttledown) "aS" = (/obj/effect/floor_decal/borderfloor/corner,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "aT" = (/obj/effect/floor_decal/borderfloor,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "aU" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloor{dir = 6},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"aV" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/surgery,/obj/effect/floor_decal/corner/green/border{icon_state = "bordercolor"; dir = 10},/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) -"aW" = (/obj/structure/table/standard,/obj/item/weapon/tank/anesthetic,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) +"aV" = (/obj/structure/table/standard,/obj/item/storage/firstaid/surgery,/obj/effect/floor_decal/corner/green/border{icon_state = "bordercolor"; dir = 10},/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) +"aW" = (/obj/structure/table/standard,/obj/item/tank/anesthetic,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) "aX" = (/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) "aY" = (/obj/structure/table/standard,/obj/item/clothing/gloves/sterile,/obj/item/clothing/gloves/sterile,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) -"aZ" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/spray/sterilizine,/obj/item/weapon/reagent_containers/spray/sterilizine,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) -"ba" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/masks,/obj/effect/floor_decal/corner/green/border{icon_state = "bordercolor"; dir = 6},/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) +"aZ" = (/obj/structure/table/standard,/obj/item/reagent_containers/spray/sterilizine,/obj/item/reagent_containers/spray/sterilizine,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) +"ba" = (/obj/structure/table/standard,/obj/item/storage/box/masks,/obj/effect/floor_decal/corner/green/border{icon_state = "bordercolor"; dir = 6},/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) "bb" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 9},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "bc" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 5},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "bd" = (/obj/machinery/door/airlock/security{locked = 1},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) @@ -60,7 +60,7 @@ "bh" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "bi" = (/obj/effect/floor_decal/borderfloor{dir = 9},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "bj" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bk" = (/obj/structure/table/steel,/obj/item/weapon/material/knife,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bk" = (/obj/structure/table/steel,/obj/item/material/knife,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "bl" = (/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "bm" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "bn" = (/obj/random/mob/merc/all,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) @@ -70,7 +70,7 @@ "br" = (/obj/structure/table/steel,/obj/effect/floor_decal/borderfloor{dir = 8},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "bs" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 8},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "bt" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bu" = (/obj/item/weapon/stool,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bu" = (/obj/item/stool,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "bv" = (/obj/structure/table/steel,/obj/random/projectile,/turf/simulated/floor/tiled/yellow,/area/submap/Blackshuttledown) "bw" = (/obj/machinery/fusion_fuel_compressor,/turf/simulated/floor/tiled/yellow,/area/submap/Blackshuttledown) "bx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/submap/Blackshuttledown) @@ -89,8 +89,8 @@ "bK" = (/obj/machinery/fusion_fuel_injector/mapped{icon_state = "injector0"; dir = 4},/turf/simulated/floor/tiled/yellow,/area/submap/Blackshuttledown) "bL" = (/obj/effect/floor_decal/borderfloor{dir = 10},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "bM" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 4},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bN" = (/obj/structure/table/steel,/obj/item/weapon/paper{info = "We need to take a short stop. The engine's are in need of minor repairs due to turbulence, should be a week's time. We've got reserve food supplies but pleanty of locale fauna to subsist on too if need be. PCRC is keeping most of there assets near New Reykjavik and locale authorities are more mindful then most to travel in this kind of weather. Our outfit should be at the rendezvous point in less then ten days assuming the upper ecehelon hasn't dropped ties with us yet."; name = "Operation Progress/M-53"},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bO" = (/obj/structure/table/steel,/obj/item/weapon/paper_bin,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bN" = (/obj/structure/table/steel,/obj/item/paper{info = "We need to take a short stop. The engine's are in need of minor repairs due to turbulence, should be a week's time. We've got reserve food supplies but pleanty of locale fauna to subsist on too if need be. PCRC is keeping most of there assets near New Reykjavik and locale authorities are more mindful then most to travel in this kind of weather. Our outfit should be at the rendezvous point in less then ten days assuming the upper ecehelon hasn't dropped ties with us yet."; name = "Operation Progress/M-53"},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bO" = (/obj/structure/table/steel,/obj/item/paper_bin,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "bP" = (/obj/machinery/light,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "bQ" = (/obj/structure/closet/toolcloset,/turf/simulated/floor/tiled/yellow,/area/submap/Blackshuttledown) "bR" = (/obj/machinery/portable_atmospherics/canister/empty/oxygen,/turf/simulated/floor/tiled/yellow,/area/submap/Blackshuttledown) @@ -100,13 +100,13 @@ "bV" = (/obj/structure/table/steel,/turf/simulated/floor/tiled/steel_grid,/area/submap/Blackshuttledown) "bW" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "bX" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloor{dir = 5},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bY" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bY" = (/obj/structure/bed,/obj/item/bedsheet,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "bZ" = (/obj/machinery/door/airlock,/turf/simulated/floor/tiled/hydro,/area/submap/Blackshuttledown) "ca" = (/turf/simulated/floor/tiled/hydro,/area/submap/Blackshuttledown) "cb" = (/mob/living/simple_mob/mechanical/viscerator,/turf/simulated/floor/tiled/steel_grid,/area/submap/Blackshuttledown) -"cc" = (/obj/structure/table/steel,/obj/item/weapon/gun/projectile/pistol,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/steel_grid,/area/submap/Blackshuttledown) +"cc" = (/obj/structure/table/steel,/obj/item/gun/projectile/pistol,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/steel_grid,/area/submap/Blackshuttledown) "cd" = (/obj/effect/floor_decal/borderfloor{dir = 6},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"ce" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/structure/bed,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"ce" = (/obj/structure/bed,/obj/item/bedsheet,/obj/structure/bed,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "cf" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/hydro,/area/submap/Blackshuttledown) "cg" = (/mob/living/simple_mob/mechanical/viscerator,/mob/living/simple_mob/mechanical/viscerator,/turf/simulated/floor/tiled/steel_grid,/area/submap/Blackshuttledown) "ch" = (/obj/structure/table/steel,/obj/random/energy,/turf/simulated/floor/tiled/steel_grid,/area/submap/Blackshuttledown) @@ -114,9 +114,9 @@ "cj" = (/obj/machinery/light,/obj/structure/table/rack,/obj/item/clothing/head/helmet/space,/obj/item/clothing/head/helmet/space,/obj/item/clothing/head/helmet/space,/obj/item/clothing/head/helmet/space,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/obj/effect/floor_decal/borderfloor{dir = 10},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "ck" = (/obj/structure/dispenser/oxygen,/obj/effect/floor_decal/borderfloor{dir = 6},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "cl" = (/obj/structure/table/woodentable,/obj/random/projectile,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"cm" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/machinery/light,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"cm" = (/obj/structure/bed,/obj/item/bedsheet,/obj/machinery/light,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "cn" = (/obj/structure/table/woodentable,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"co" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/item/toy/plushie/spider,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"co" = (/obj/structure/bed,/obj/item/bedsheet,/obj/item/toy/plushie/spider,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "cp" = (/turf/template_noop,/turf/simulated/shuttle/wall/dark{icon_state = "dark5"; name = "Unknown Shuttle"},/area/submap/Blackshuttledown) "cq" = (/turf/template_noop,/turf/simulated/shuttle/wall/dark{icon_state = "dark9"; name = "Unknown Shuttle"},/area/submap/Blackshuttledown) "cr" = (/obj/effect/floor_decal/borderfloor{dir = 4},/mob/living/simple_mob/humanoid/merc/melee/sword/poi,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) diff --git a/maps/submaps/surface_submaps/wilderness/Blueshuttledown.dmm b/maps/submaps/surface_submaps/wilderness/Blueshuttledown.dmm index fb5eef1beec..e280fb850bb 100644 --- a/maps/submaps/surface_submaps/wilderness/Blueshuttledown.dmm +++ b/maps/submaps/surface_submaps/wilderness/Blueshuttledown.dmm @@ -21,7 +21,7 @@ "au" = (/obj/machinery/body_scanconsole,/obj/effect/floor_decal/corner/green/border{icon_state = "bordercolor"; dir = 5},/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) "av" = (/turf/simulated/floor/tiled/steel,/turf/simulated/shuttle/wall/dark{icon_state = "dark5"; name = "Unknown Shuttle"},/area/submap/Blackshuttledown) "aw" = (/turf/simulated/floor/tiled/steel_grid,/area/submap/Blackshuttledown) -"ax" = (/obj/structure/table/steel,/obj/item/weapon/gun/projectile/automatic/wt550,/obj/item/weapon/gun/projectile/automatic/p90,/turf/simulated/floor/tiled/steel_grid,/area/submap/Blackshuttledown) +"ax" = (/obj/structure/table/steel,/obj/item/gun/projectile/automatic/wt550,/obj/item/gun/projectile/automatic/p90,/turf/simulated/floor/tiled/steel_grid,/area/submap/Blackshuttledown) "ay" = (/obj/effect/floor_decal/borderfloor{dir = 8},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "az" = (/obj/effect/floor_decal/borderfloor{dir = 4},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "aA" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) @@ -41,16 +41,16 @@ "aO" = (/mob/living/simple_mob/humanoid/merc/melee/sword/poi,/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) "aP" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/corner/green/border{icon_state = "bordercolor"; dir = 4},/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) "aQ" = (/obj/structure/table/steel,/obj/effect/floor_decal/borderfloor/full,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"aR" = (/obj/structure/table/steel,/obj/item/weapon/grenade/smokebomb,/turf/simulated/floor/tiled/steel_grid,/area/submap/Blackshuttledown) +"aR" = (/obj/structure/table/steel,/obj/item/grenade/smokebomb,/turf/simulated/floor/tiled/steel_grid,/area/submap/Blackshuttledown) "aS" = (/obj/effect/floor_decal/borderfloor/corner,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "aT" = (/obj/effect/floor_decal/borderfloor,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "aU" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloor{dir = 6},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"aV" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/surgery,/obj/effect/floor_decal/corner/green/border{icon_state = "bordercolor"; dir = 10},/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) -"aW" = (/obj/structure/table/standard,/obj/item/weapon/tank/anesthetic,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) +"aV" = (/obj/structure/table/standard,/obj/item/storage/firstaid/surgery,/obj/effect/floor_decal/corner/green/border{icon_state = "bordercolor"; dir = 10},/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) +"aW" = (/obj/structure/table/standard,/obj/item/tank/anesthetic,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) "aX" = (/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) "aY" = (/obj/structure/table/standard,/obj/item/clothing/gloves/sterile,/obj/item/clothing/gloves/sterile,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) -"aZ" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/spray/sterilizine,/obj/item/weapon/reagent_containers/spray/sterilizine,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) -"ba" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/masks,/obj/effect/floor_decal/corner/green/border{icon_state = "bordercolor"; dir = 6},/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) +"aZ" = (/obj/structure/table/standard,/obj/item/reagent_containers/spray/sterilizine,/obj/item/reagent_containers/spray/sterilizine,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) +"ba" = (/obj/structure/table/standard,/obj/item/storage/box/masks,/obj/effect/floor_decal/corner/green/border{icon_state = "bordercolor"; dir = 6},/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) "bb" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 9},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "bc" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 5},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "bd" = (/obj/machinery/door/airlock/security{locked = 1},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) @@ -60,7 +60,7 @@ "bh" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "bi" = (/obj/effect/floor_decal/borderfloor{dir = 9},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "bj" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bk" = (/obj/structure/table/steel,/obj/item/weapon/material/knife,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bk" = (/obj/structure/table/steel,/obj/item/material/knife,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "bl" = (/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "bm" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "bn" = (/obj/structure/curtain/open/shower/security,/obj/structure/window/reinforced/tinted/frosted{icon_state = "fwindow"; dir = 1},/obj/structure/window/reinforced/tinted/frosted,/turf/simulated/floor/tiled/hydro,/area/submap/Blackshuttledown) @@ -70,7 +70,7 @@ "br" = (/obj/structure/table/steel,/obj/effect/floor_decal/borderfloor{dir = 8},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "bs" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 8},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "bt" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bu" = (/obj/item/weapon/stool,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bu" = (/obj/item/stool,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "bv" = (/obj/structure/table/steel,/obj/random/projectile,/turf/simulated/floor/tiled/yellow,/area/submap/Blackshuttledown) "bw" = (/obj/structure/sink{dir = 8; icon_state = "sink"; pixel_x = -16},/turf/simulated/floor/tiled/hydro,/area/submap/Blackshuttledown) "bx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/submap/Blackshuttledown) @@ -89,8 +89,8 @@ "bK" = (/mob/living/simple_mob/humanoid/merc/ranged/laser/poi,/turf/template_noop,/area/submap/Blackshuttledown) "bL" = (/obj/effect/floor_decal/borderfloor{dir = 10},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "bM" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 4},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bN" = (/obj/structure/table/steel,/obj/item/weapon/paper{info = "We need to take a short stop. The engine's are in need of minor repairs due to turbulence, should be a week's time. We've got reserve food supplies but pleanty of locale fauna to subsist on too if need be. PCRC is keeping most of there assets near New Reykjavik and locale authorities are more mindful then most to travel in this kind of weather. Our outfit should be at the rendezvous point in less then ten days assuming the upper ecehelon hasn't dropped ties with us yet."; name = "Operation Progress/M-53"},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bO" = (/obj/structure/table/steel,/obj/item/weapon/paper_bin,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bN" = (/obj/structure/table/steel,/obj/item/paper{info = "We need to take a short stop. The engine's are in need of minor repairs due to turbulence, should be a week's time. We've got reserve food supplies but pleanty of locale fauna to subsist on too if need be. PCRC is keeping most of there assets near New Reykjavik and locale authorities are more mindful then most to travel in this kind of weather. Our outfit should be at the rendezvous point in less then ten days assuming the upper ecehelon hasn't dropped ties with us yet."; name = "Operation Progress/M-53"},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bO" = (/obj/structure/table/steel,/obj/item/paper_bin,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "bP" = (/obj/machinery/light,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "bQ" = (/obj/structure/closet/toolcloset,/turf/simulated/floor/tiled/yellow,/area/submap/Blackshuttledown) "bR" = (/obj/machinery/portable_atmospherics/canister/empty/oxygen,/turf/simulated/floor/tiled/yellow,/area/submap/Blackshuttledown) @@ -100,13 +100,13 @@ "bV" = (/obj/structure/table/steel,/turf/simulated/floor/tiled/steel_grid,/area/submap/Blackshuttledown) "bW" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "bX" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloor{dir = 5},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bY" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bY" = (/obj/structure/bed,/obj/item/bedsheet,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "bZ" = (/obj/machinery/door/airlock,/turf/simulated/floor/tiled/hydro,/area/submap/Blackshuttledown) "ca" = (/turf/simulated/floor/tiled/hydro,/area/submap/Blackshuttledown) "cb" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/structure/curtain/open/shower/security,/obj/structure/window/reinforced/tinted/frosted{icon_state = "fwindow"; dir = 1},/obj/structure/window/reinforced/tinted/frosted,/turf/simulated/floor/tiled/hydro,/area/submap/Blackshuttledown) -"cc" = (/obj/structure/table/steel,/obj/item/weapon/gun/projectile/pistol,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/steel_grid,/area/submap/Blackshuttledown) +"cc" = (/obj/structure/table/steel,/obj/item/gun/projectile/pistol,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/steel_grid,/area/submap/Blackshuttledown) "cd" = (/obj/effect/floor_decal/borderfloor{dir = 6},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"ce" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/structure/bed,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"ce" = (/obj/structure/bed,/obj/item/bedsheet,/obj/structure/bed,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "cf" = (/obj/structure/urinal{dir = 4; icon_state = "urinal"; pixel_x = -32},/turf/simulated/floor/tiled/hydro,/area/submap/Blackshuttledown) "cg" = (/obj/structure/toilet{icon_state = "toilet00"; dir = 4},/obj/structure/curtain,/obj/structure/window/reinforced/tinted/frosted{icon_state = "fwindow"; dir = 1},/turf/simulated/floor/tiled/hydro,/area/submap/Blackshuttledown) "ch" = (/obj/structure/table/steel,/obj/random/energy,/turf/simulated/floor/tiled/steel_grid,/area/submap/Blackshuttledown) @@ -114,7 +114,7 @@ "cj" = (/obj/machinery/light,/obj/structure/table/rack,/obj/item/clothing/head/helmet/space,/obj/item/clothing/head/helmet/space,/obj/item/clothing/head/helmet/space,/obj/item/clothing/head/helmet/space,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/obj/effect/floor_decal/borderfloor{dir = 10},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "ck" = (/obj/structure/dispenser/oxygen,/obj/effect/floor_decal/borderfloor{dir = 6},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "cl" = (/obj/structure/table/woodentable,/obj/random/projectile,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"cm" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/machinery/light,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"cm" = (/obj/structure/bed,/obj/item/bedsheet,/obj/machinery/light,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "cp" = (/turf/template_noop,/turf/simulated/shuttle/wall/dark{icon_state = "dark5"; name = "Unknown Shuttle"},/area/submap/Blackshuttledown) "cq" = (/turf/template_noop,/turf/simulated/shuttle/wall/dark{icon_state = "dark9"; name = "Unknown Shuttle"},/area/submap/Blackshuttledown) "cr" = (/obj/effect/floor_decal/borderfloor{dir = 4},/mob/living/simple_mob/humanoid/merc/melee/sword/poi,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) diff --git a/maps/submaps/surface_submaps/wilderness/Boombase.dmm b/maps/submaps/surface_submaps/wilderness/Boombase.dmm index 438cd0a713f..cd9d6c1918c 100644 --- a/maps/submaps/surface_submaps/wilderness/Boombase.dmm +++ b/maps/submaps/surface_submaps/wilderness/Boombase.dmm @@ -11,12 +11,12 @@ "ak" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/steel{ icon_state = "burned1"},/area/submap/BoomBase) "al" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/ash,/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) "am" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) -"an" = (/obj/effect/decal/cleanable/dirt,/obj/effect/spider,/obj/item/weapon/material/shard,/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) +"an" = (/obj/effect/decal/cleanable/dirt,/obj/effect/spider,/obj/item/material/shard,/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) "ao" = (/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) "ap" = (/mob/living/simple_mob/animal/giant_spider/phorogenic,/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) "aq" = (/obj/machinery/portable_atmospherics/canister/empty/phoron,/turf/simulated/floor/tiled/steel{ icon_state = "steel_dirty"},/area/submap/BoomBase) -"ar" = (/obj/machinery/portable_atmospherics/canister/empty/phoron,/obj/item/weapon/material/shard,/turf/simulated/floor/tiled/steel{ icon_state = "steel_dirty"},/area/submap/BoomBase) -"as" = (/obj/item/weapon/material/shard,/turf/simulated/floor/plating,/area/submap/BoomBase) +"ar" = (/obj/machinery/portable_atmospherics/canister/empty/phoron,/obj/item/material/shard,/turf/simulated/floor/tiled/steel{ icon_state = "steel_dirty"},/area/submap/BoomBase) +"as" = (/obj/item/material/shard,/turf/simulated/floor/plating,/area/submap/BoomBase) "at" = (/obj/effect/spider/stickyweb,/turf/simulated/floor/plating,/area/submap/BoomBase) "au" = (/turf/simulated/floor/outdoors/dirt,/area/submap/BoomBase) "av" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/submap/BoomBase) @@ -37,14 +37,14 @@ "aK" = (/obj/effect/decal/cleanable/dirt,/mob/living/simple_mob/animal/giant_spider/phorogenic,/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) "aL" = (/turf/simulated/floor/tiled/steel{ icon_state = "burned2"},/area/submap/BoomBase) "aM" = (/turf/simulated/floor/outdoors/rocks,/area/submap/BoomBase) -"aN" = (/obj/effect/decal/cleanable/dirt,/obj/structure/table/standard,/obj/item/weapon/tank/phoron,/obj/item/weapon/fuel_assembly/phoron,/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) +"aN" = (/obj/effect/decal/cleanable/dirt,/obj/structure/table/standard,/obj/item/tank/phoron,/obj/item/fuel_assembly/phoron,/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) "aO" = (/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/ash,/turf/simulated/floor/tiled/steel{ icon_state = "steel_dirty"},/area/submap/BoomBase) -"aP" = (/obj/item/weapon/material/shard,/turf/simulated/floor/tiled/steel{ icon_state = "steel_dirty"},/area/submap/BoomBase) -"aQ" = (/obj/item/device/transfer_valve,/turf/simulated/floor/outdoors/rocks,/area/submap/BoomBase) -"aR" = (/obj/item/weapon/material/shard,/turf/template_noop,/area/submap/BoomBase) +"aP" = (/obj/item/material/shard,/turf/simulated/floor/tiled/steel{ icon_state = "steel_dirty"},/area/submap/BoomBase) +"aQ" = (/obj/item/transfer_valve,/turf/simulated/floor/outdoors/rocks,/area/submap/BoomBase) +"aR" = (/obj/item/material/shard,/turf/template_noop,/area/submap/BoomBase) "aS" = (/obj/effect/decal/cleanable/ash,/turf/simulated/floor/plating,/area/submap/BoomBase) "aT" = (/obj/effect/decal/cleanable/ash,/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) -"aU" = (/obj/effect/spider/stickyweb,/obj/item/weapon/material/shard,/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) +"aU" = (/obj/effect/spider/stickyweb,/obj/item/material/shard,/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) "aV" = (/obj/effect/spider/stickyweb,/obj/random/mob/spider/mutant,/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) "aW" = (/obj/effect/spider/stickyweb,/obj/effect/decal/cleanable/ash,/turf/simulated/floor/tiled/steel{ icon_state = "burned1"},/area/submap/BoomBase) "aX" = (/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/ash,/turf/template_noop,/area/submap/BoomBase) diff --git a/maps/submaps/surface_submaps/wilderness/CaveS.dmm b/maps/submaps/surface_submaps/wilderness/CaveS.dmm index 898ade189a6..145dc0f410d 100644 --- a/maps/submaps/surface_submaps/wilderness/CaveS.dmm +++ b/maps/submaps/surface_submaps/wilderness/CaveS.dmm @@ -2,16 +2,16 @@ "b" = (/turf/template_noop,/area/submap/CaveS) "c" = (/obj/item/ammo_casing/a45,/turf/template_noop,/area/submap/CaveS) "d" = (/turf/simulated/mineral/ignore_mapgen,/area/submap/CaveS) -"e" = (/obj/item/ammo_casing/a45,/obj/item/weapon/reagent_containers/food/snacks/xenomeat/spidermeat,/turf/template_noop,/area/submap/CaveS) +"e" = (/obj/item/ammo_casing/a45,/obj/item/reagent_containers/food/snacks/xenomeat/spidermeat,/turf/template_noop,/area/submap/CaveS) "f" = (/obj/random/landmine,/turf/template_noop,/area/submap/CaveS) "g" = (/obj/item/ammo_casing/a45,/obj/random/landmine,/turf/template_noop,/area/submap/CaveS) "h" = (/obj/random/landmine,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/CaveS) "i" = (/obj/effect/spider/stickyweb,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/CaveS) "j" = (/obj/item/ammo_casing/a45,/obj/item/ammo_casing/a45,/turf/template_noop,/area/submap/CaveS) "k" = (/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/CaveS) -"l" = (/obj/item/weapon/reagent_containers/food/snacks/xenomeat/spidermeat,/turf/template_noop,/area/submap/CaveS) +"l" = (/obj/item/reagent_containers/food/snacks/xenomeat/spidermeat,/turf/template_noop,/area/submap/CaveS) "m" = (/obj/effect/spider/stickyweb,/turf/simulated/floor/outdoors/dirt,/area/submap/CaveS) -"n" = (/obj/item/clothing/accessory/storage/webbing,/obj/item/weapon/material/knife/tacknife/combatknife,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/CaveS) +"n" = (/obj/item/clothing/accessory/storage/webbing,/obj/item/material/knife/tacknife/combatknife,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/CaveS) "o" = (/mob/living/simple_mob/animal/giant_spider,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/CaveS) "p" = (/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/CaveS) "q" = (/obj/random/mob/spider,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/CaveS) @@ -25,14 +25,14 @@ "y" = (/obj/structure/flora/tree/sif,/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/CaveS) "z" = (/obj/random/landmine,/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/CaveS) "A" = (/turf/simulated/floor,/area/submap/CaveS) -"B" = (/obj/structure/closet/crate,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil,/obj/item/weapon/storage/toolbox,/obj/random/toolbox,/turf/simulated/floor,/area/submap/CaveS) +"B" = (/obj/structure/closet/crate,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil,/obj/item/storage/toolbox,/obj/random/toolbox,/turf/simulated/floor,/area/submap/CaveS) "C" = (/obj/structure/loot_pile/maint/technical,/turf/simulated/floor,/area/submap/CaveS) "D" = (/obj/structure/table/woodentable,/turf/simulated/floor,/area/submap/CaveS) "E" = (/obj/machinery/power/port_gen/pacman,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor,/area/submap/CaveS) "F" = (/turf/simulated/wall,/area/submap/CaveS) -"G" = (/obj/structure/closet/crate,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/obj/item/weapon/reagent_containers/glass/bottle/antitoxin,/obj/item/weapon/reagent_containers/pill/antitox,/obj/item/weapon/reagent_containers/pill/antitox,/obj/item/weapon/reagent_containers/pill/antitox,/obj/item/weapon/reagent_containers/pill/paracetamol,/obj/random/firstaid,/turf/simulated/floor,/area/submap/CaveS) +"G" = (/obj/structure/closet/crate,/obj/item/reagent_containers/hypospray,/obj/item/reagent_containers/glass/bottle/stoxin,/obj/item/reagent_containers/glass/bottle/antitoxin,/obj/item/reagent_containers/pill/antitox,/obj/item/reagent_containers/pill/antitox,/obj/item/reagent_containers/pill/antitox,/obj/item/reagent_containers/pill/paracetamol,/obj/random/firstaid,/turf/simulated/floor,/area/submap/CaveS) "H" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor,/area/submap/CaveS) -"I" = (/obj/structure/closet/crate,/obj/random/contraband,/obj/random/contraband,/obj/random/contraband,/obj/random/energy,/obj/item/weapon/material/star,/obj/item/weapon/material/star,/obj/item/weapon/material/star,/obj/item/weapon/material/star,/obj/item/weapon/material/star,/turf/simulated/floor,/area/submap/CaveS) +"I" = (/obj/structure/closet/crate,/obj/random/contraband,/obj/random/contraband,/obj/random/contraband,/obj/random/energy,/obj/item/material/star,/obj/item/material/star,/obj/item/material/star,/obj/item/material/star,/obj/item/material/star,/turf/simulated/floor,/area/submap/CaveS) "J" = (/obj/effect/spider/stickyweb,/mob/living/simple_mob/animal/giant_spider/lurker,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/CaveS) "K" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/submap/CaveS) "L" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/submap/CaveS) diff --git a/maps/submaps/surface_submaps/wilderness/Chapel.dmm b/maps/submaps/surface_submaps/wilderness/Chapel.dmm index a681497ed86..7592cba193a 100644 --- a/maps/submaps/surface_submaps/wilderness/Chapel.dmm +++ b/maps/submaps/surface_submaps/wilderness/Chapel.dmm @@ -2,8 +2,8 @@ "ab" = (/turf/simulated/floor/outdoors/rocks,/area/template_noop) "ac" = (/turf/simulated/wall/log_sif,/area/submap/Chapel1) "ad" = (/obj/structure/lightpost,/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/Chapel1) -"ae" = (/obj/structure/closet/hydrant{pixel_y = 32},/obj/item/weapon/book/tome,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) -"af" = (/obj/item/weapon/flame/candle/everburn,/turf/simulated/floor/outdoors/rocks,/area/template_noop) +"ae" = (/obj/structure/closet/hydrant{pixel_y = 32},/obj/item/book/tome,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) +"af" = (/obj/item/flame/candle/everburn,/turf/simulated/floor/outdoors/rocks,/area/template_noop) "ag" = (/obj/structure/bookcase,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) "ah" = (/turf/simulated/floor/outdoors/grass/sif,/area/template_noop) "ai" = (/turf/simulated/floor/outdoors/grass/sif/forest,/area/template_noop) @@ -11,21 +11,21 @@ "ak" = (/obj/structure/closet/grave,/obj/random/mob/spider{mob_faction = "neutral"},/turf/simulated/floor/outdoors/rocks,/area/template_noop) "al" = (/turf/simulated/floor/wood/sif,/area/submap/Chapel1) "am" = (/obj/structure/loot_pile/maint/boxfort,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) -"an" = (/obj/item/weapon/material/knife/ritual,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) +"an" = (/obj/item/material/knife/ritual,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) "ao" = (/obj/structure/closet/grave,/turf/simulated/floor/outdoors/dirt,/area/template_noop) -"ap" = (/obj/structure/loot_pile/surface/bones,/obj/item/weapon/coin/diamond,/obj/item/clothing/under/technomancer/master,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) +"ap" = (/obj/structure/loot_pile/surface/bones,/obj/item/coin/diamond,/obj/item/clothing/under/technomancer/master,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) "aq" = (/obj/structure/closet/grave,/turf/simulated/floor/outdoors/grass/sif/forest,/area/template_noop) "ar" = (/obj/random/mob/spider/nurse{mob_faction = "neutral"},/obj/structure/closet/grave,/turf/simulated/floor/outdoors/dirt,/area/template_noop) -"as" = (/obj/item/weapon/scepter,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) +"as" = (/obj/item/scepter,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) "at" = (/obj/structure/loot_pile/maint/trash,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) "au" = (/obj/structure/table/sifwoodentable,/obj/item/godfig,/turf/simulated/floor/wood/sif/broken,/area/submap/Chapel1) "av" = (/obj/structure/table/sifwoodentable,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) -"aw" = (/obj/structure/table/sifwoodentable,/obj/item/weapon/flame/candle/candelabra/everburn,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) +"aw" = (/obj/structure/table/sifwoodentable,/obj/item/flame/candle/candelabra/everburn,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) "ax" = (/obj/machinery/vending/sovietsoda,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) "ay" = (/obj/random/junk,/obj/structure/table/sifwoodentable,/obj/random/soap,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) "az" = (/obj/machinery/microwave,/obj/structure/table/sifwoodentable,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) "aA" = (/obj/random/junk,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) -"aB" = (/obj/vehicle/boat/dragon/sifwood,/obj/item/weapon/oar/sifwood,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) +"aB" = (/obj/vehicle/boat/dragon/sifwood,/obj/item/oar/sifwood,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) "aC" = (/turf/simulated/floor/wood/sif/broken,/area/submap/Chapel1) "aD" = (/obj/structure/ghost_pod/automatic/gravekeeper_drone,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) "aE" = (/obj/structure/closet/coffin,/obj/random/maintenance/clean,/obj/effect/decal/remains/human,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) @@ -35,44 +35,44 @@ "aI" = (/obj/machinery/floodlight,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) "aJ" = (/obj/structure/closet/coffin,/obj/random/medical,/obj/effect/decal/remains/human,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) "aK" = (/obj/structure/closet/coffin,/obj/random/meat,/obj/random/meat,/obj/effect/decal/remains/xeno,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) -"aL" = (/obj/structure/table/sifwoodentable,/obj/item/weapon/flame/candle/everburn,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) +"aL" = (/obj/structure/table/sifwoodentable,/obj/item/flame/candle/everburn,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) "aM" = (/obj/random/trash,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) "aN" = (/obj/structure/table/sifwoodentable,/obj/random/multiple/gun/projectile/handgun,/obj/structure/safe/floor,/obj/random/medical/pillbottle,/obj/random/cash,/obj/random/drinkbottle,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) -"aO" = (/obj/structure/table/sifwoodentable,/obj/item/weapon/chainsaw,/obj/random/tool/powermaint,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) +"aO" = (/obj/structure/table/sifwoodentable,/obj/item/chainsaw,/obj/random/tool/powermaint,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) "aP" = (/obj/structure/closet/coffin,/obj/random/maintenance/clean,/obj/effect/decal/remains/deer,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) -"aQ" = (/obj/item/weapon/oar/sifwood,/turf/simulated/floor/wood/sif/broken,/area/submap/Chapel1) +"aQ" = (/obj/item/oar/sifwood,/turf/simulated/floor/wood/sif/broken,/area/submap/Chapel1) "aR" = (/obj/random/mouseremains,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) "aS" = (/obj/structure/table/sifwoodentable,/obj/fiftyspawner/sifwood,/obj/fiftyspawner/sifwood,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) -"aT" = (/obj/structure/closet/coffin,/obj/random/drinkbottle,/obj/item/weapon/ectoplasm,/obj/effect/decal/remains/human,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) +"aT" = (/obj/structure/closet/coffin,/obj/random/drinkbottle,/obj/item/ectoplasm,/obj/effect/decal/remains/human,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) "aU" = (/obj/structure/closet/coffin,/obj/random/junk,/obj/effect/decal/remains/human,/turf/simulated/floor/wood/sif/broken,/area/submap/Chapel1) -"aV" = (/obj/item/weapon/flame/candle/candelabra,/obj/structure/table/sifwoodentable,/turf/simulated/floor/wood/sif/broken,/area/submap/Chapel1) -"aW" = (/obj/structure/table/sifwoodentable,/obj/item/weapon/flame/candle/candelabra,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) +"aV" = (/obj/item/flame/candle/candelabra,/obj/structure/table/sifwoodentable,/turf/simulated/floor/wood/sif/broken,/area/submap/Chapel1) +"aW" = (/obj/structure/table/sifwoodentable,/obj/item/flame/candle/candelabra,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) "aX" = (/obj/structure/table/sifwoodentable,/obj/item/glass_jar,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) "aY" = (/obj/structure/closet/coffin,/obj/random/maintenance/cargo,/obj/effect/decal/remains/human,/obj/random/projectile/scrapped_gun,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) "aZ" = (/obj/structure/simple_door/sifwood,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) "ba" = (/obj/structure/bed/padded,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) "bb" = (/obj/structure/closet/coffin,/obj/random/cash,/obj/effect/decal/remains/xeno,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) -"bc" = (/obj/item/weapon/flame/candle/candelabra,/obj/structure/table/sifwoodentable,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) +"bc" = (/obj/item/flame/candle/candelabra,/obj/structure/table/sifwoodentable,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) "bd" = (/obj/structure/table/sifwoodentable,/obj/structure/bedsheetbin,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) "be" = (/obj/structure/closet/coffin,/obj/random/maintenance/clean,/obj/effect/decal/remains/ribcage,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) "bf" = (/obj/structure/closet/coffin,/obj/random/contraband,/obj/effect/decal/remains/mouse,/obj/effect/decal/remains/unathi,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) "bg" = (/obj/random/trash,/turf/simulated/floor/wood/sif/broken,/area/submap/Chapel1) -"bh" = (/obj/structure/table/sifwoodentable,/obj/item/weapon/material/harpoon,/obj/item/weapon/material/harpoon,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) +"bh" = (/obj/structure/table/sifwoodentable,/obj/item/material/harpoon,/obj/item/material/harpoon,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) "bi" = (/obj/structure/closet/coffin,/obj/random/cash,/obj/effect/decal/remains/ribcage,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) -"bj" = (/obj/structure/table/sifwoodentable,/obj/random/toolbox,/obj/item/weapon/flame/candle/everburn,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) -"bk" = (/obj/structure/table/sifwoodentable,/obj/item/weapon/material/fishing_net,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) +"bj" = (/obj/structure/table/sifwoodentable,/obj/random/toolbox,/obj/item/flame/candle/everburn,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) +"bk" = (/obj/structure/table/sifwoodentable,/obj/item/material/fishing_net,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) "bl" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/turf/simulated/floor/outdoors/grass/sif,/area/template_noop) "bm" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/turf/simulated/floor/outdoors/grass/sif/forest,/area/template_noop) "bn" = (/obj/structure/sink/puddle,/turf/simulated/floor/outdoors/grass/sif/forest,/area/template_noop) -"bo" = (/obj/item/weapon/flame/candle/everburn,/turf/simulated/floor/outdoors/dirt,/area/template_noop) +"bo" = (/obj/item/flame/candle/everburn,/turf/simulated/floor/outdoors/dirt,/area/template_noop) "bp" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/turf/simulated/floor/outdoors/rocks,/area/template_noop) "bq" = (/obj/machinery/vending/hydroseeds,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) "br" = (/obj/structure/loot_pile/maint/technical,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) -"bs" = (/obj/item/weapon/ore,/obj/item/weapon/ore,/obj/item/weapon/ore,/obj/item/weapon/ore,/obj/item/weapon/ore/gold,/obj/item/weapon/ore/diamond,/obj/item/weapon/ore/silver,/obj/item/weapon/ore/uranium,/obj/item/weapon/ore,/obj/item/weapon/ore,/obj/item/weapon/ore,/obj/item/weapon/ore/coal,/obj/item/weapon/ore/coal,/obj/item/weapon/ore/coal,/obj/item/weapon/pickaxe/hand,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) +"bs" = (/obj/item/ore,/obj/item/ore,/obj/item/ore,/obj/item/ore,/obj/item/ore/gold,/obj/item/ore/diamond,/obj/item/ore/silver,/obj/item/ore/uranium,/obj/item/ore,/obj/item/ore,/obj/item/ore,/obj/item/ore/coal,/obj/item/ore/coal,/obj/item/ore/coal,/obj/item/pickaxe/hand,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) "bt" = (/obj/machinery/vending/hydronutrients,/turf/simulated/floor/wood/sif/broken,/area/submap/Chapel1) "bu" = (/obj/machinery/space_heater,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) "bv" = (/obj/random/obstruction,/turf/simulated/floor/outdoors/rocks,/area/template_noop) -"bw" = (/obj/structure/closet/coffin,/obj/random/maintenance/cargo,/obj/item/weapon/ectoplasm,/obj/effect/decal/remains/xeno,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) +"bw" = (/obj/structure/closet/coffin,/obj/random/maintenance/cargo,/obj/item/ectoplasm,/obj/effect/decal/remains/xeno,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) "bx" = (/obj/structure/closet/coffin,/obj/random/junk,/obj/effect/decal/remains/tajaran,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) "by" = (/obj/structure/closet/coffin,/obj/random/junk,/obj/effect/decal/remains/human,/turf/simulated/floor/wood/sif,/area/submap/Chapel1) "bz" = (/obj/structure/closet/coffin,/obj/random/maintenance/clean,/obj/effect/decal/remains/xeno,/turf/simulated/floor/wood/sif/broken,/area/submap/Chapel1) diff --git a/maps/submaps/surface_submaps/wilderness/DJOutpost1.dmm b/maps/submaps/surface_submaps/wilderness/DJOutpost1.dmm index 6b85ef347ad..0188692920b 100644 --- a/maps/submaps/surface_submaps/wilderness/DJOutpost1.dmm +++ b/maps/submaps/surface_submaps/wilderness/DJOutpost1.dmm @@ -1,46 +1,46 @@ "a" = (/turf/template_noop,/area/template_noop) "b" = (/turf/simulated/wall/wood,/area/submap/DJOutpost1) -"c" = (/obj/structure/grille/broken,/obj/item/weapon/material/shard,/obj/item/weapon/material/shard{ icon_state = "shardmedium"},/obj/item/stack/rods,/turf/simulated/floor,/area/submap/DJOutpost1) +"c" = (/obj/structure/grille/broken,/obj/item/material/shard,/obj/item/material/shard{ icon_state = "shardmedium"},/obj/item/stack/rods,/turf/simulated/floor,/area/submap/DJOutpost1) "d" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/turf/simulated/floor,/area/submap/DJOutpost1) "e" = (/turf/simulated/floor/wood,/area/submap/DJOutpost1) "f" = (/obj/machinery/telecomms/relay/preset/ruskie,/turf/simulated/floor/wood,/area/submap/DJOutpost1) "g" = (/obj/structure/loot_pile/maint/technical,/turf/simulated/floor/wood,/area/submap/DJOutpost1) "h" = (/obj/structure/sign/goldenplaque{desc = "An award given to Sif Free Radio for media excellency. It looks fake."; name = "Best Radio Station 2558"; pixel_y = 30},/turf/simulated/floor/wood,/area/submap/DJOutpost1) "i" = (/mob/living/simple_mob/animal/giant_spider/frost,/turf/simulated/floor/wood,/area/submap/DJOutpost1) -"j" = (/obj/effect/decal/remains,/obj/effect/decal/cleanable/blood,/obj/item/clothing/under/frontier,/obj/item/weapon/material/knife/tacknife/combatknife,/obj/random_multi/single_item/sfr_headset,/turf/simulated/floor/wood,/area/submap/DJOutpost1) +"j" = (/obj/effect/decal/remains,/obj/effect/decal/cleanable/blood,/obj/item/clothing/under/frontier,/obj/item/material/knife/tacknife/combatknife,/obj/random_multi/single_item/sfr_headset,/turf/simulated/floor/wood,/area/submap/DJOutpost1) "k" = (/obj/machinery/door/airlock/glass,/turf/simulated/floor/wood,/area/submap/DJOutpost1) -"l" = (/obj/structure/table/steel_reinforced,/obj/item/device/radio/intercom{ icon_state = "intercom"; dir = 8},/turf/simulated/floor/wood,/area/submap/DJOutpost1) -"m" = (/obj/machinery/computer/message_monitor,/obj/item/weapon/paper/monitorkey,/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/wood,/area/submap/DJOutpost1) +"l" = (/obj/structure/table/steel_reinforced,/obj/item/radio/intercom{ icon_state = "intercom"; dir = 8},/turf/simulated/floor/wood,/area/submap/DJOutpost1) +"m" = (/obj/machinery/computer/message_monitor,/obj/item/paper/monitorkey,/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/wood,/area/submap/DJOutpost1) "n" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/submap/DJOutpost1) "o" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{outdoors = 1},/area/submap/DJOutpost1) "p" = (/obj/structure/bed/chair/wood,/turf/simulated/floor/wood,/area/submap/DJOutpost1) -"q" = (/obj/effect/decal/remains,/obj/item/clothing/under/dress/blacktango,/obj/effect/decal/cleanable/blood,/obj/item/device/universal_translator/ear,/turf/simulated/floor/wood,/area/submap/DJOutpost1) +"q" = (/obj/effect/decal/remains,/obj/item/clothing/under/dress/blacktango,/obj/effect/decal/cleanable/blood,/obj/item/universal_translator/ear,/turf/simulated/floor/wood,/area/submap/DJOutpost1) "r" = (/obj/random/mob/spider/mutant,/turf/simulated/floor/wood,/area/submap/DJOutpost1) "s" = (/obj/structure/bed/chair/office/dark{ icon_state = "officechair_dark"; dir = 8},/turf/simulated/floor/wood,/area/submap/DJOutpost1) "t" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/structure/bed/chair/office/dark{dir = 1},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/wood,/area/submap/DJOutpost1) "u" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/closet/crate,/obj/item/stack/material/phoron{amount = 25},/turf/simulated/floor{outdoors = 1},/area/submap/DJOutpost1) "v" = (/obj/structure/table/woodentable,/obj/item/trash/candle,/turf/simulated/floor/wood,/area/submap/DJOutpost1) "w" = (/obj/structure/bed/chair/wood{ icon_state = "wooden_chair"; dir = 8},/turf/simulated/floor/wood,/area/submap/DJOutpost1) -"x" = (/obj/structure/bookcase,/obj/item/weapon/book/codex/lore/vir,/obj/item/weapon/book/manual/excavation,/obj/item/weapon/book/manual/engineering_construction,/obj/item/weapon/storage/bible,/turf/simulated/floor/wood,/area/submap/DJOutpost1) -"y" = (/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/wood,/area/submap/DJOutpost1) -"z" = (/obj/structure/table/steel_reinforced,/obj/item/device/radio/phone,/obj/random_multi/single_item/sfr_headset,/turf/simulated/floor/wood,/area/submap/DJOutpost1) -"A" = (/obj/structure/table/steel_reinforced,/obj/item/device/radio/intercom/syndicate{desc = "Talk through this."; name = "station intercom (General)"},/obj/item/device/multitool,/turf/simulated/floor/wood,/area/submap/DJOutpost1) -"B" = (/obj/structure/table/steel_reinforced,/obj/item/device/radio,/obj/machinery/power/apc{cell_type = /obj/item/weapon/cell/hyper; dir = 4; environ = 1; equipment = 1; lighting = 1; locked = 0; name = "Sif Free Radio APC"; operating = 0; pixel_x = 24},/obj/structure/cable/yellow,/turf/simulated/floor/wood,/area/submap/DJOutpost1) +"x" = (/obj/structure/bookcase,/obj/item/book/codex/lore/vir,/obj/item/book/manual/excavation,/obj/item/book/manual/wiki/engineering_construction,/obj/item/storage/bible,/turf/simulated/floor/wood,/area/submap/DJOutpost1) +"y" = (/obj/item/storage/toolbox/mechanical,/turf/simulated/floor/wood,/area/submap/DJOutpost1) +"z" = (/obj/structure/table/steel_reinforced,/obj/item/radio/phone,/obj/random_multi/single_item/sfr_headset,/turf/simulated/floor/wood,/area/submap/DJOutpost1) +"A" = (/obj/structure/table/steel_reinforced,/obj/item/radio/intercom/syndicate{desc = "Talk through this."; name = "station intercom (General)"},/obj/item/multitool,/turf/simulated/floor/wood,/area/submap/DJOutpost1) +"B" = (/obj/structure/table/steel_reinforced,/obj/item/radio,/obj/machinery/power/apc{cell_type = /obj/item/cell/hyper; dir = 4; environ = 1; equipment = 1; lighting = 1; locked = 0; name = "Sif Free Radio APC"; operating = 0; pixel_x = 24},/obj/structure/cable/yellow,/turf/simulated/floor/wood,/area/submap/DJOutpost1) "C" = (/obj/effect/overlay/snow/floor,/obj/machinery/power/port_gen/pacman,/obj/structure/cable/yellow,/turf/simulated/floor{outdoors = 1},/area/submap/DJOutpost1) -"D" = (/obj/machinery/door/airlock/glass,/obj/item/device/gps/internal/poi,/turf/simulated/floor/wood,/area/submap/DJOutpost1) +"D" = (/obj/machinery/door/airlock/glass,/obj/item/gps/internal/poi,/turf/simulated/floor/wood,/area/submap/DJOutpost1) "E" = (/obj/machinery/biogenerator,/turf/simulated/floor/wood,/area/submap/DJOutpost1) -"F" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/snacks/unajerky,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/random_multi/single_item/sfr_headset,/turf/simulated/floor/wood,/area/submap/DJOutpost1) +"F" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/food/snacks/unajerky,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/random_multi/single_item/sfr_headset,/turf/simulated/floor/wood,/area/submap/DJOutpost1) "G" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/machinery/seed_extractor,/turf/simulated/floor/wood,/area/submap/DJOutpost1) "H" = (/obj/structure/bed/chair/wood{ icon_state = "wooden_chair"; dir = 1},/turf/simulated/floor/wood,/area/submap/DJOutpost1) "I" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/wood,/area/submap/DJOutpost1) -"J" = (/obj/structure/table/woodentable,/obj/item/weapon/material/knife/machete/hatchet,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/material/minihoe,/obj/item/device/analyzer/plant_analyzer,/obj/random_multi/single_item/sfr_headset,/turf/simulated/floor/wood,/area/submap/DJOutpost1) +"J" = (/obj/structure/table/woodentable,/obj/item/material/knife/machete/hatchet,/obj/item/reagent_containers/glass/bucket,/obj/item/material/minihoe,/obj/item/analyzer/plant_analyzer,/obj/random_multi/single_item/sfr_headset,/turf/simulated/floor/wood,/area/submap/DJOutpost1) "K" = (/obj/structure/undies_wardrobe,/turf/simulated/floor/wood,/area/submap/DJOutpost1) "L" = (/obj/structure/table/rack,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/random_multi/single_item/sfr_headset,/turf/simulated/floor/wood,/area/submap/DJOutpost1) "M" = (/obj/machinery/light/flamp,/turf/simulated/floor/wood,/area/submap/DJOutpost1) "N" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 15},/turf/simulated/floor/wood,/area/submap/DJOutpost1) -"O" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/clown,/turf/simulated/floor/wood,/area/submap/DJOutpost1) -"P" = (/obj/structure/table/rack,/obj/item/ammo_magazine/clip/c762/hunter,/obj/item/weapon/gun/projectile/shotgun/pump/rifle,/turf/simulated/floor/wood,/area/submap/DJOutpost1) -"Q" = (/obj/structure/table/rack,/obj/item/device/flashlight/lantern,/obj/item/device/gps{gps_tag = "Sif Free Radio"},/turf/simulated/floor/wood,/area/submap/DJOutpost1) +"O" = (/obj/structure/bed/padded,/obj/item/bedsheet/clown,/turf/simulated/floor/wood,/area/submap/DJOutpost1) +"P" = (/obj/structure/table/rack,/obj/item/ammo_magazine/clip/c762/hunter,/obj/item/gun/projectile/shotgun/pump/rifle,/turf/simulated/floor/wood,/area/submap/DJOutpost1) +"Q" = (/obj/structure/table/rack,/obj/item/flashlight/lantern,/obj/item/gps{gps_tag = "Sif Free Radio"},/turf/simulated/floor/wood,/area/submap/DJOutpost1) "R" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor/wood,/area/submap/DJOutpost1) (1,1,1) = {" diff --git a/maps/submaps/surface_submaps/wilderness/DJOutpost2.dmm b/maps/submaps/surface_submaps/wilderness/DJOutpost2.dmm index bb91419270a..d7808cf015e 100644 --- a/maps/submaps/surface_submaps/wilderness/DJOutpost2.dmm +++ b/maps/submaps/surface_submaps/wilderness/DJOutpost2.dmm @@ -1,7 +1,7 @@ "a" = (/turf/template_noop,/area/template_noop) "b" = (/turf/simulated/wall/wood,/area/submap/DJOutpost1) -"c" = (/obj/structure/grille/broken,/obj/item/weapon/material/shard,/obj/item/weapon/material/shard{ icon_state = "shardmedium"},/obj/item/stack/rods,/turf/simulated/floor,/area/submap/DJOutpost1) -"d" = (/obj/structure/grille/broken,/obj/item/weapon/material/shard,/turf/simulated/floor,/area/submap/DJOutpost1) +"c" = (/obj/structure/grille/broken,/obj/item/material/shard,/obj/item/material/shard{ icon_state = "shardmedium"},/obj/item/stack/rods,/turf/simulated/floor,/area/submap/DJOutpost1) +"d" = (/obj/structure/grille/broken,/obj/item/material/shard,/turf/simulated/floor,/area/submap/DJOutpost1) "e" = (/turf/simulated/floor/wood/broken,/area/submap/DJOutpost1) "f" = (/obj/structure/loot_pile/maint/technical,/turf/simulated/floor/wood/broken,/area/submap/DJOutpost1) "g" = (/obj/structure/sign/goldenplaque{desc = "An award given to Sif Free Radio for media excellency. It looks fake."; name = "Best Radio Station 2558"; pixel_y = 30},/turf/simulated/floor/wood/broken,/area/submap/DJOutpost1) @@ -9,29 +9,29 @@ "i" = (/obj/structure/loot_pile/surface/bones,/turf/simulated/floor/wood/broken,/area/submap/DJOutpost1) "k" = (/obj/structure/girder,/turf/simulated/floor,/area/submap/DJOutpost1) "l" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/wood/broken,/area/submap/DJOutpost1) -"m" = (/obj/structure/table/steel_reinforced,/obj/item/device/radio/phone,/turf/simulated/floor/outdoors/dirt,/area/submap/DJOutpost1) +"m" = (/obj/structure/table/steel_reinforced,/obj/item/radio/phone,/turf/simulated/floor/outdoors/dirt,/area/submap/DJOutpost1) "n" = (/obj/item/stack/rods,/turf/template_noop,/area/template_noop) "o" = (/turf/simulated/floor/outdoors/dirt,/area/submap/DJOutpost1) "p" = (/obj/structure/loot_pile/surface/bones,/turf/simulated/floor/outdoors/dirt,/area/submap/DJOutpost1) -"q" = (/obj/structure/table/steel_reinforced,/obj/item/device/radio,/obj/structure/cable/yellow,/turf/simulated/floor/wood/broken,/area/submap/DJOutpost1) +"q" = (/obj/structure/table/steel_reinforced,/obj/item/radio,/obj/structure/cable/yellow,/turf/simulated/floor/wood/broken,/area/submap/DJOutpost1) "r" = (/turf/simulated/floor/outdoors/rocks,/area/submap/DJOutpost1) "s" = (/obj/effect/overlay/snow/floor,/turf/simulated/floor{outdoors = 1},/area/submap/DJOutpost1) "u" = (/obj/effect/decal/cleanable/ash,/turf/simulated/floor/outdoors/dirt,/area/submap/DJOutpost1) -"w" = (/obj/structure/grille/broken,/obj/item/weapon/material/shard{ icon_state = "shardmedium"},/turf/simulated/floor,/area/submap/DJOutpost1) +"w" = (/obj/structure/grille/broken,/obj/item/material/shard{ icon_state = "shardmedium"},/turf/simulated/floor,/area/submap/DJOutpost1) "x" = (/obj/structure/girder,/turf/simulated/floor/outdoors/rocks,/area/submap/DJOutpost1) -"y" = (/obj/structure/table/steel_reinforced,/obj/item/device/radio/intercom/syndicate{desc = "Talk through this."; name = "station intercom (General)"},/turf/simulated/floor/outdoors/dirt,/area/submap/DJOutpost1) +"y" = (/obj/structure/table/steel_reinforced,/obj/item/radio/intercom/syndicate{desc = "Talk through this."; name = "station intercom (General)"},/turf/simulated/floor/outdoors/dirt,/area/submap/DJOutpost1) "A" = (/obj/item/stack/rods,/turf/simulated/floor/outdoors/dirt,/area/submap/DJOutpost1) "B" = (/obj/structure/door_assembly/door_assembly_ext,/turf/simulated/floor/outdoors/rocks,/area/submap/DJOutpost1) -"C" = (/obj/structure/grille/broken,/obj/item/weapon/material/shard{icon_state = "medium"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/submap/DJOutpost1) -"D" = (/obj/item/weapon/material/shard{ icon_state = "shardmedium"},/turf/template_noop,/area/template_noop) -"F" = (/obj/item/device/transfer_valve,/turf/simulated/floor/outdoors/rocks,/area/submap/DJOutpost1) -"G" = (/obj/structure/grille/broken,/obj/item/weapon/material/shard{icon_state = "medium"},/turf/simulated/floor,/area/submap/DJOutpost1) -"H" = (/obj/item/weapon/material/shard{icon_state = "medium"},/turf/template_noop,/area/template_noop) +"C" = (/obj/structure/grille/broken,/obj/item/material/shard{icon_state = "medium"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/submap/DJOutpost1) +"D" = (/obj/item/material/shard{ icon_state = "shardmedium"},/turf/template_noop,/area/template_noop) +"F" = (/obj/item/transfer_valve,/turf/simulated/floor/outdoors/rocks,/area/submap/DJOutpost1) +"G" = (/obj/structure/grille/broken,/obj/item/material/shard{icon_state = "medium"},/turf/simulated/floor,/area/submap/DJOutpost1) +"H" = (/obj/item/material/shard{icon_state = "medium"},/turf/template_noop,/area/template_noop) "I" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/wood/broken,/area/submap/DJOutpost1) -"J" = (/obj/item/weapon/material/shard,/turf/template_noop,/area/template_noop) +"J" = (/obj/item/material/shard,/turf/template_noop,/area/template_noop) "K" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 15},/turf/simulated/floor/wood/broken,/area/submap/DJOutpost1) -"L" = (/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/outdoors/rocks,/area/submap/DJOutpost1) -"M" = (/obj/structure/grille/broken,/obj/item/weapon/material/shard{icon_state = "medium"},/obj/item/stack/rods,/turf/simulated/floor,/area/submap/DJOutpost1) +"L" = (/obj/item/storage/toolbox/mechanical,/turf/simulated/floor/outdoors/rocks,/area/submap/DJOutpost1) +"M" = (/obj/structure/grille/broken,/obj/item/material/shard{icon_state = "medium"},/obj/item/stack/rods,/turf/simulated/floor,/area/submap/DJOutpost1) "N" = (/obj/structure/grille/broken,/obj/item/stack/rods,/turf/simulated/floor,/area/submap/DJOutpost1) "O" = (/obj/structure/lattice,/turf/simulated/floor/outdoors/dirt,/area/submap/DJOutpost1) "P" = (/obj/effect/decal/cleanable/ash,/turf/simulated/floor/wood/broken,/area/submap/DJOutpost1) diff --git a/maps/submaps/surface_submaps/wilderness/DJOutpost3.dmm b/maps/submaps/surface_submaps/wilderness/DJOutpost3.dmm index 79814b950a8..dff24217841 100644 --- a/maps/submaps/surface_submaps/wilderness/DJOutpost3.dmm +++ b/maps/submaps/surface_submaps/wilderness/DJOutpost3.dmm @@ -14,39 +14,39 @@ "an" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/submap/DJOutpost1) "ao" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{outdoors = 1},/area/submap/DJOutpost1) "ap" = (/obj/random/mob/robotic,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) -"aq" = (/obj/effect/decal/remains,/obj/effect/decal/cleanable/blood,/obj/item/clothing/under/frontier,/obj/random_multi/single_item/sfr_headset,/obj/item/weapon/archaeological_find,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) -"ar" = (/obj/structure/table/steel_reinforced,/obj/item/device/radio/intercom{icon_state = "intercom"; dir = 8},/obj/random/firstaid,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) -"as" = (/obj/machinery/computer/message_monitor,/obj/item/weapon/paper/monitorkey,/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) -"at" = (/obj/structure/table/steel_reinforced,/obj/item/device/radio/intercom{icon_state = "intercom"; dir = 8},/obj/item/weapon/book/codex/lore/news,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) +"aq" = (/obj/effect/decal/remains,/obj/effect/decal/cleanable/blood,/obj/item/clothing/under/frontier,/obj/random_multi/single_item/sfr_headset,/obj/item/archaeological_find,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) +"ar" = (/obj/structure/table/steel_reinforced,/obj/item/radio/intercom{icon_state = "intercom"; dir = 8},/obj/random/firstaid,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) +"as" = (/obj/machinery/computer/message_monitor,/obj/item/paper/monitorkey,/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) +"at" = (/obj/structure/table/steel_reinforced,/obj/item/radio/intercom{icon_state = "intercom"; dir = 8},/obj/item/book/codex/lore/news,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) "au" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow,/obj/machinery/power/solar_control/autostart,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) "av" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/random/landmine,/turf/simulated/floor{outdoors = 1},/area/submap/DJOutpost1) -"aw" = (/obj/structure/bookcase,/obj/item/weapon/book/codex/lore/robutt,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) -"ax" = (/obj/structure/bookcase,/obj/item/weapon/book/codex/lore/vir,/obj/item/weapon/book/manual/excavation,/obj/item/weapon/book/manual/engineering_construction,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) +"aw" = (/obj/structure/bookcase,/obj/item/book/codex/lore/robutt,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) +"ax" = (/obj/structure/bookcase,/obj/item/book/codex/lore/vir,/obj/item/book/manual/excavation,/obj/item/book/manual/wiki/engineering_construction,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) "ay" = (/obj/machinery/holoplant,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) -"az" = (/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) -"aA" = (/obj/structure/table/steel_reinforced,/obj/item/device/radio/phone,/obj/random_multi/single_item/sfr_headset,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) -"aB" = (/obj/structure/table/steel_reinforced,/obj/item/device/radio/intercom/syndicate{desc = "Talk through this."; name = "station intercom (General)"},/obj/item/device/multitool,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) -"aC" = (/obj/structure/table/steel_reinforced,/obj/item/device/radio,/obj/machinery/power/apc{cell_type = /obj/item/weapon/cell/hyper; dir = 4; environ = 1; equipment = 1; lighting = 1; locked = 0; name = "Sif Free Radio APC"; operating = 0; pixel_x = 24},/obj/structure/cable/yellow,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) +"az" = (/obj/item/storage/toolbox/mechanical,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) +"aA" = (/obj/structure/table/steel_reinforced,/obj/item/radio/phone,/obj/random_multi/single_item/sfr_headset,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) +"aB" = (/obj/structure/table/steel_reinforced,/obj/item/radio/intercom/syndicate{desc = "Talk through this."; name = "station intercom (General)"},/obj/item/multitool,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) +"aC" = (/obj/structure/table/steel_reinforced,/obj/item/radio,/obj/machinery/power/apc{cell_type = /obj/item/cell/hyper; dir = 4; environ = 1; equipment = 1; lighting = 1; locked = 0; name = "Sif Free Radio APC"; operating = 0; pixel_x = 24},/obj/structure/cable/yellow,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) "aD" = (/obj/structure/sign/warning/server_room,/turf/simulated/wall/rpshull,/area/submap/DJOutpost1) "aE" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/yellow,/obj/machinery/power/solar,/turf/simulated/floor{outdoors = 1},/area/submap/DJOutpost1) -"aF" = (/obj/structure/bookcase,/obj/structure/safe/floor,/obj/item/weapon/gun/energy/ionrifle/pistol,/obj/item/weapon/bone/skull/unknown,/obj/item/weapon/bone,/obj/item/weapon/bone/ribs,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) +"aF" = (/obj/structure/bookcase,/obj/structure/safe/floor,/obj/item/gun/energy/ionrifle/pistol,/obj/item/bone/skull/unknown,/obj/item/bone,/obj/item/bone/ribs,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) "aG" = (/obj/machinery/biogenerator,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) -"aH" = (/obj/item/weapon/reagent_containers/food/snacks/unajerky,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/random_multi/single_item/sfr_headset,/obj/structure/table/steel_reinforced,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) +"aH" = (/obj/item/reagent_containers/food/snacks/unajerky,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/random_multi/single_item/sfr_headset,/obj/structure/table/steel_reinforced,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) "aI" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/machinery/seed_extractor,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) "aJ" = (/obj/machinery/door/airlock/maintenance/int,/turf/simulated/floor/tiled/techfloor/grid,/area/submap/DJOutpost1) "aK" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) -"aL" = (/obj/structure/table/woodentable,/obj/item/weapon/material/knife/machete/hatchet,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/material/minihoe,/obj/item/device/analyzer/plant_analyzer,/obj/random_multi/single_item/sfr_headset,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) +"aL" = (/obj/structure/table/woodentable,/obj/item/material/knife/machete/hatchet,/obj/item/reagent_containers/glass/bucket,/obj/item/material/minihoe,/obj/item/analyzer/plant_analyzer,/obj/random_multi/single_item/sfr_headset,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) "aM" = (/obj/structure/undies_wardrobe,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) "aN" = (/obj/structure/table/rack,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/random_multi/single_item/sfr_headset,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) "aO" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 15},/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) -"aP" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/clown,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) -"aQ" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/lasershotgun,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) -"aR" = (/obj/structure/grille/broken,/obj/item/weapon/material/shard,/obj/item/weapon/material/shard{icon_state = "shardmedium"},/obj/item/stack/rods,/obj/effect/overlay/snow/floor,/turf/simulated/floor,/area/submap/DJOutpost1) +"aP" = (/obj/structure/bed/padded,/obj/item/bedsheet/clown,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) +"aQ" = (/obj/structure/table/rack,/obj/item/gun/energy/lasershotgun,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) +"aR" = (/obj/structure/grille/broken,/obj/item/material/shard,/obj/item/material/shard{icon_state = "shardmedium"},/obj/item/stack/rods,/obj/effect/overlay/snow/floor,/turf/simulated/floor,/area/submap/DJOutpost1) "aS" = (/obj/effect/overlay/snow/floor,/turf/simulated/floor{outdoors = 1},/area/submap/DJOutpost1) "aT" = (/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) "aU" = (/obj/machinery/media/jukebox,/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) "aV" = (/obj/item/clothing/under/pcrc,/obj/random/humanoidremains{spawn_nothing_percentage = 60},/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) -"aW" = (/obj/item/device/gps/internal/poi,/obj/machinery/door/airlock/maintenance/int,/turf/simulated/floor/tiled/techfloor/grid,/area/submap/DJOutpost1) +"aW" = (/obj/item/gps/internal/poi,/obj/machinery/door/airlock/maintenance/int,/turf/simulated/floor/tiled/techfloor/grid,/area/submap/DJOutpost1) "aX" = (/obj/structure/table/bench/padded,/obj/random/humanoidremains{spawn_nothing_percentage = 60},/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) "aY" = (/obj/machinery/door/airlock/maintenance/common,/turf/simulated/floor/tiled/techfloor/grid,/area/submap/DJOutpost1) "aZ" = (/obj/structure/sign/warning/emergence,/turf/simulated/wall/rpshull,/area/submap/DJOutpost1) diff --git a/maps/submaps/surface_submaps/wilderness/DJOutpost4.dmm b/maps/submaps/surface_submaps/wilderness/DJOutpost4.dmm index 4d89461d55e..976297dcbdf 100644 --- a/maps/submaps/surface_submaps/wilderness/DJOutpost4.dmm +++ b/maps/submaps/surface_submaps/wilderness/DJOutpost4.dmm @@ -4,7 +4,7 @@ "ad" = (/obj/machinery/porta_turret/poi{faction = "xeno"},/obj/effect/overlay/snow/floor,/turf/simulated/floor{outdoors = 1},/area/submap/DJOutpost1) "ae" = (/obj/random/landmine,/obj/effect/overlay/snow/floor,/turf/simulated/floor{outdoors = 1},/area/submap/DJOutpost1) "af" = (/turf/simulated/wall/rpshull,/area/submap/DJOutpost1) -"ag" = (/obj/structure/grille/broken,/obj/item/weapon/material/shard,/obj/item/weapon/material/shard{icon_state = "shardmedium"},/obj/item/stack/rods,/obj/effect/overlay/snow/floor,/turf/simulated/floor,/area/submap/DJOutpost1) +"ag" = (/obj/structure/grille/broken,/obj/item/material/shard,/obj/item/material/shard{icon_state = "shardmedium"},/obj/item/stack/rods,/obj/effect/overlay/snow/floor,/turf/simulated/floor,/area/submap/DJOutpost1) "ah" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/turf/simulated/floor,/area/submap/DJOutpost1) "ai" = (/obj/effect/overlay/snow/floor,/turf/simulated/floor{outdoors = 1},/area/submap/DJOutpost1) "aj" = (/obj/structure/sign/warning/lethal_turrets,/turf/simulated/wall/rpshull,/area/submap/DJOutpost1) @@ -16,40 +16,40 @@ "ap" = (/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) "aq" = (/obj/structure/sign/warning/server_room,/turf/simulated/wall/rpshull,/area/submap/DJOutpost1) "ar" = (/obj/structure/sign/goldenplaque{desc = "An award given to Sif Free Radio for media excellency. It looks fake."; name = "Best Radio Station 2558"; pixel_y = 30},/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) -"as" = (/obj/structure/bookcase,/obj/structure/safe/floor,/obj/item/weapon/bone/skull/unknown,/obj/item/weapon/bone,/obj/item/weapon/bone/ribs,/obj/item/weapon/gun/energy/gun/burst,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) +"as" = (/obj/structure/bookcase,/obj/structure/safe/floor,/obj/item/bone/skull/unknown,/obj/item/bone,/obj/item/bone/ribs,/obj/item/gun/energy/gun/burst,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) "at" = (/mob/living/carbon/human/ai_controlled/replicant,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) -"au" = (/obj/effect/decal/remains,/obj/effect/decal/cleanable/blood,/obj/item/clothing/under/frontier,/obj/random_multi/single_item/sfr_headset,/obj/item/weapon/archaeological_find,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) +"au" = (/obj/effect/decal/remains,/obj/effect/decal/cleanable/blood,/obj/item/clothing/under/frontier,/obj/random_multi/single_item/sfr_headset,/obj/item/archaeological_find,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) "av" = (/obj/machinery/door/airlock/maintenance/int,/turf/simulated/floor/tiled/techfloor/grid,/area/submap/DJOutpost1) -"aw" = (/obj/structure/table/steel_reinforced,/obj/item/device/radio/intercom{icon_state = "intercom"; dir = 8},/obj/random/firstaid,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) -"ax" = (/obj/machinery/computer/message_monitor,/obj/item/weapon/paper/monitorkey,/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) +"aw" = (/obj/structure/table/steel_reinforced,/obj/item/radio/intercom{icon_state = "intercom"; dir = 8},/obj/random/firstaid,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) +"ax" = (/obj/machinery/computer/message_monitor,/obj/item/paper/monitorkey,/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) "ay" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/submap/DJOutpost1) "az" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{outdoors = 1},/area/submap/DJOutpost1) -"aA" = (/obj/structure/table/steel_reinforced,/obj/item/device/radio/intercom{icon_state = "intercom"; dir = 8},/obj/item/weapon/book/codex/lore/news,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) +"aA" = (/obj/structure/table/steel_reinforced,/obj/item/radio/intercom{icon_state = "intercom"; dir = 8},/obj/item/book/codex/lore/news,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) "aB" = (/obj/item/clothing/under/pcrc,/obj/random/humanoidremains{spawn_nothing_percentage = 60},/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) "aC" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow,/obj/machinery/power/solar_control/autostart,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) "aD" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/random/landmine,/turf/simulated/floor{outdoors = 1},/area/submap/DJOutpost1) -"aE" = (/obj/structure/bookcase,/obj/item/weapon/book/codex/lore/robutt,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) -"aF" = (/obj/structure/bookcase,/obj/item/weapon/book/codex/lore/vir,/obj/item/weapon/book/manual/excavation,/obj/item/weapon/book/manual/engineering_construction,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) +"aE" = (/obj/structure/bookcase,/obj/item/book/codex/lore/robutt,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) +"aF" = (/obj/structure/bookcase,/obj/item/book/codex/lore/vir,/obj/item/book/manual/excavation,/obj/item/book/manual/wiki/engineering_construction,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) "aG" = (/obj/machinery/holoplant,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) -"aH" = (/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) -"aI" = (/obj/structure/table/steel_reinforced,/obj/item/device/radio/phone,/obj/random_multi/single_item/sfr_headset,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) -"aJ" = (/obj/structure/table/steel_reinforced,/obj/item/device/radio/intercom/syndicate{desc = "Talk through this."; name = "station intercom (General)"},/obj/item/device/multitool,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) -"aK" = (/obj/structure/table/steel_reinforced,/obj/item/device/radio,/obj/machinery/power/apc{cell_type = /obj/item/weapon/cell/hyper; dir = 4; environ = 1; equipment = 1; lighting = 1; locked = 0; name = "Sif Free Radio APC"; operating = 0; pixel_x = 24},/obj/structure/cable/yellow,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) +"aH" = (/obj/item/storage/toolbox/mechanical,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) +"aI" = (/obj/structure/table/steel_reinforced,/obj/item/radio/phone,/obj/random_multi/single_item/sfr_headset,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) +"aJ" = (/obj/structure/table/steel_reinforced,/obj/item/radio/intercom/syndicate{desc = "Talk through this."; name = "station intercom (General)"},/obj/item/multitool,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) +"aK" = (/obj/structure/table/steel_reinforced,/obj/item/radio,/obj/machinery/power/apc{cell_type = /obj/item/cell/hyper; dir = 4; environ = 1; equipment = 1; lighting = 1; locked = 0; name = "Sif Free Radio APC"; operating = 0; pixel_x = 24},/obj/structure/cable/yellow,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) "aL" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/yellow,/obj/machinery/power/solar,/turf/simulated/floor{outdoors = 1},/area/submap/DJOutpost1) -"aM" = (/obj/item/device/gps/internal/poi,/obj/machinery/door/airlock/maintenance/int,/turf/simulated/floor/tiled/techfloor/grid,/area/submap/DJOutpost1) +"aM" = (/obj/item/gps/internal/poi,/obj/machinery/door/airlock/maintenance/int,/turf/simulated/floor/tiled/techfloor/grid,/area/submap/DJOutpost1) "aN" = (/obj/structure/table/bench/padded,/obj/random/humanoidremains{spawn_nothing_percentage = 60},/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) "aO" = (/obj/machinery/biogenerator,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) -"aP" = (/obj/item/weapon/reagent_containers/food/snacks/unajerky,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/random_multi/single_item/sfr_headset,/obj/structure/table/steel_reinforced,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) +"aP" = (/obj/item/reagent_containers/food/snacks/unajerky,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/random_multi/single_item/sfr_headset,/obj/structure/table/steel_reinforced,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) "aQ" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/machinery/seed_extractor,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) "aR" = (/obj/machinery/door/airlock/maintenance/common,/turf/simulated/floor/tiled/techfloor/grid,/area/submap/DJOutpost1) "aS" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) -"aT" = (/obj/structure/table/woodentable,/obj/item/weapon/material/knife/machete/hatchet,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/material/minihoe,/obj/item/device/analyzer/plant_analyzer,/obj/random_multi/single_item/sfr_headset,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) +"aT" = (/obj/structure/table/woodentable,/obj/item/material/knife/machete/hatchet,/obj/item/reagent_containers/glass/bucket,/obj/item/material/minihoe,/obj/item/analyzer/plant_analyzer,/obj/random_multi/single_item/sfr_headset,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) "aU" = (/obj/structure/undies_wardrobe,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) "aV" = (/obj/structure/table/rack,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/random_multi/single_item/sfr_headset,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) "aW" = (/obj/structure/sign/warning/emergence,/turf/simulated/wall/rpshull,/area/submap/DJOutpost1) "aX" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 15},/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) -"aY" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/clown,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) -"aZ" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/lasershotgun,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) +"aY" = (/obj/structure/bed/padded,/obj/item/bedsheet/clown,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) +"aZ" = (/obj/structure/table/rack,/obj/item/gun/energy/lasershotgun,/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) "ba" = (/obj/random/humanoidremains{spawn_nothing_percentage = 60},/turf/simulated/floor/tiled/techfloor,/area/submap/DJOutpost1) (1,1,1) = {" diff --git a/maps/submaps/surface_submaps/wilderness/DecoupledEngine.dmm b/maps/submaps/surface_submaps/wilderness/DecoupledEngine.dmm index 74e4b5c8244..7c6b5ee201a 100644 --- a/maps/submaps/surface_submaps/wilderness/DecoupledEngine.dmm +++ b/maps/submaps/surface_submaps/wilderness/DecoupledEngine.dmm @@ -1,15 +1,15 @@ "aa" = (/turf/template_noop,/area/template_noop) "ab" = (/turf/template_noop,/area/submap/DecoupledEngine) -"ac" = (/obj/item/weapon/fuel_assembly/deuterium,/turf/template_noop,/area/submap/DecoupledEngine) +"ac" = (/obj/item/fuel_assembly/deuterium,/turf/template_noop,/area/submap/DecoupledEngine) "ad" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/submap/DecoupledEngine) -"ae" = (/obj/item/weapon/extinguisher,/turf/template_noop,/area/submap/DecoupledEngine) -"af" = (/obj/item/weapon/material/shard/phoron,/turf/template_noop,/area/submap/DecoupledEngine) +"ae" = (/obj/item/extinguisher,/turf/template_noop,/area/submap/DecoupledEngine) +"af" = (/obj/item/material/shard/phoron,/turf/template_noop,/area/submap/DecoupledEngine) "ag" = (/obj/machinery/power/rad_collector,/turf/template_noop,/area/submap/DecoupledEngine) -"ah" = (/obj/item/weapon/arrow/rod,/obj/item/stack/material/steel,/turf/simulated/floor/outdoors/rocks,/area/submap/DecoupledEngine) +"ah" = (/obj/item/arrow/rod,/obj/item/stack/material/steel,/turf/simulated/floor/outdoors/rocks,/area/submap/DecoupledEngine) "ai" = (/obj/item/stack/material/steel,/turf/template_noop,/area/submap/DecoupledEngine) "aj" = (/turf/simulated/floor/outdoors/rocks,/area/submap/DecoupledEngine) "ak" = (/obj/structure/lattice,/obj/structure/girder/displaced,/turf/simulated/floor/outdoors/rocks,/area/submap/DecoupledEngine) -"am" = (/obj/item/weapon/arrow/rod,/turf/template_noop,/area/submap/DecoupledEngine) +"am" = (/obj/item/arrow/rod,/turf/template_noop,/area/submap/DecoupledEngine) "an" = (/turf/simulated/floor/water,/area/submap/DecoupledEngine) "ao" = (/obj/structure/lattice,/turf/simulated/floor/outdoors/rocks,/area/submap/DecoupledEngine) "ap" = (/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/submap/DecoupledEngine) @@ -33,7 +33,7 @@ "aI" = (/obj/effect/decal/cleanable/blood/oil/streak{amount = 0},/obj/effect/floor_decal/rust,/turf/simulated/floor,/area/submap/DecoupledEngine) "aJ" = (/obj/machinery/power/rad_collector,/obj/effect/floor_decal/rust,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/turf/simulated/floor,/area/submap/DecoupledEngine) "aK" = (/obj/effect/floor_decal/rust,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/turf/simulated/floor,/area/submap/DecoupledEngine) -"aL" = (/obj/structure/grille/broken,/obj/structure/window/phoronreinforced{icon_state = "phoronrwindow"; dir = 4},/obj/item/weapon/material/shard/phoron,/obj/effect/floor_decal/rust,/turf/simulated/floor,/area/submap/DecoupledEngine) +"aL" = (/obj/structure/grille/broken,/obj/structure/window/phoronreinforced{icon_state = "phoronrwindow"; dir = 4},/obj/item/material/shard/phoron,/obj/effect/floor_decal/rust,/turf/simulated/floor,/area/submap/DecoupledEngine) "aM" = (/obj/machinery/atmospherics/pipe/manifold4w/visible,/obj/effect/floor_decal/rust,/turf/simulated/floor,/area/submap/DecoupledEngine) "aN" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/obj/effect/floor_decal/rust,/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor,/area/submap/DecoupledEngine) "aO" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"; dir = 4},/turf/simulated/floor/water,/area/submap/DecoupledEngine) @@ -63,7 +63,7 @@ "bm" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 4},/turf/simulated/floor/outdoors/rocks,/area/submap/DecoupledEngine) "bn" = (/obj/effect/floor_decal/rust,/obj/structure/closet/crate/radiation,/turf/simulated/floor,/area/submap/DecoupledEngine) "bo" = (/obj/effect/decal/cleanable/blood/oil,/obj/effect/floor_decal/rust,/turf/simulated/floor,/area/submap/DecoupledEngine) -"bp" = (/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/dirt,/obj/item/weapon/rcd,/turf/simulated/floor,/area/submap/DecoupledEngine) +"bp" = (/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/dirt,/obj/item/rcd,/turf/simulated/floor,/area/submap/DecoupledEngine) "bq" = (/obj/structure/sign/warning/radioactive,/turf/simulated/wall/durasteel,/area/submap/DecoupledEngine) "br" = (/obj/structure/grille,/obj/structure/window/phoronreinforced{icon_state = "phoronrwindow"; dir = 1},/obj/structure/window/phoronreinforced{icon_state = "phoronrwindow"; dir = 8},/obj/structure/window/phoronreinforced,/turf/simulated/floor,/area/submap/DecoupledEngine) "bs" = (/obj/structure/grille,/obj/structure/window/phoronreinforced{icon_state = "phoronrwindow"; dir = 1},/obj/structure/window/phoronreinforced,/turf/simulated/floor,/area/submap/DecoupledEngine) diff --git a/maps/submaps/surface_submaps/wilderness/DoomP.dmm b/maps/submaps/surface_submaps/wilderness/DoomP.dmm index 08c32f5710f..9a280fc852e 100644 --- a/maps/submaps/surface_submaps/wilderness/DoomP.dmm +++ b/maps/submaps/surface_submaps/wilderness/DoomP.dmm @@ -63,16 +63,16 @@ "bk" = (/obj/machinery/door/airlock,/turf/simulated/floor/tiled/white,/area/submap/DoomP) "bl" = (/turf/simulated/floor/tiled/techfloor,/area/submap/DoomP) "bm" = (/obj/structure/table/standard,/turf/simulated/floor/tiled/techfloor,/area/submap/DoomP) -"bn" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/syndie_kit/spy,/turf/simulated/floor/tiled/techfloor,/area/submap/DoomP) -"bo" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/smokes,/turf/simulated/floor/tiled/techfloor,/area/submap/DoomP) -"bp" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/handcuffs,/turf/simulated/floor/tiled/techfloor,/area/submap/DoomP) -"bq" = (/obj/structure/table/rack,/obj/item/weapon/cell/device/weapon,/obj/item/weapon/cell/device/weapon,/turf/simulated/floor/tiled/techfloor,/area/submap/DoomP) +"bn" = (/obj/structure/table/standard,/obj/item/storage/box/syndie_kit/spy,/turf/simulated/floor/tiled/techfloor,/area/submap/DoomP) +"bo" = (/obj/structure/table/rack,/obj/item/storage/box/smokes,/turf/simulated/floor/tiled/techfloor,/area/submap/DoomP) +"bp" = (/obj/structure/table/rack,/obj/item/storage/box/handcuffs,/turf/simulated/floor/tiled/techfloor,/area/submap/DoomP) +"bq" = (/obj/structure/table/rack,/obj/item/cell/device/weapon,/obj/item/cell/device/weapon,/turf/simulated/floor/tiled/techfloor,/area/submap/DoomP) "br" = (/obj/structure/table/rack,/obj/random/energy,/turf/simulated/floor/tiled/techfloor,/area/submap/DoomP) -"bs" = (/obj/structure/table/rack,/obj/item/weapon/gun/projectile/contender,/obj/item/ammo_magazine/s357,/obj/item/ammo_magazine/s357,/turf/simulated/floor/tiled/techfloor,/area/submap/DoomP) -"bt" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/item/toy/plushie/spider,/obj/effect/floor_decal/corner/lime/full{dir = 8},/turf/simulated/floor/tiled/white,/area/submap/DoomP) +"bs" = (/obj/structure/table/rack,/obj/item/gun/projectile/contender,/obj/item/ammo_magazine/s357,/obj/item/ammo_magazine/s357,/turf/simulated/floor/tiled/techfloor,/area/submap/DoomP) +"bt" = (/obj/structure/bed,/obj/item/bedsheet,/obj/item/toy/plushie/spider,/obj/effect/floor_decal/corner/lime/full{dir = 8},/turf/simulated/floor/tiled/white,/area/submap/DoomP) "bu" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/lime{dir = 5},/turf/simulated/floor/tiled/white,/area/submap/DoomP) -"bv" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/effect/floor_decal/corner/lime{dir = 5},/turf/simulated/floor/tiled/white,/area/submap/DoomP) -"bw" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp,/obj/effect/floor_decal/corner/lime{dir = 5},/turf/simulated/floor/tiled/white,/area/submap/DoomP) +"bv" = (/obj/structure/bed,/obj/item/bedsheet,/obj/effect/floor_decal/corner/lime{dir = 5},/turf/simulated/floor/tiled/white,/area/submap/DoomP) +"bw" = (/obj/structure/table/standard,/obj/item/flashlight/lamp,/obj/effect/floor_decal/corner/lime{dir = 5},/turf/simulated/floor/tiled/white,/area/submap/DoomP) "bx" = (/obj/effect/floor_decal/borderfloor,/obj/random/mob/merc/all,/turf/simulated/floor/tiled,/area/submap/DoomP) "by" = (/turf/simulated/floor/tiled/white,/area/submap/DoomP) "bz" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled/white,/area/submap/DoomP) diff --git a/maps/submaps/surface_submaps/wilderness/Drugden.dmm b/maps/submaps/surface_submaps/wilderness/Drugden.dmm index 2c4b90752ca..028efcdad95 100644 --- a/maps/submaps/surface_submaps/wilderness/Drugden.dmm +++ b/maps/submaps/surface_submaps/wilderness/Drugden.dmm @@ -6,45 +6,45 @@ "f" = (/turf/simulated/floor/tiled,/area/submap/Drugd) "g" = (/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled,/area/submap/Drugd) "h" = (/obj/random/trash,/turf/simulated/floor,/area/submap/Drugd) -"i" = (/obj/structure/closet/cabinet,/obj/item/weapon/lipstick/random,/turf/simulated/floor/carpet,/area/submap/Drugd) -"j" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/structure/curtain/open/bed,/turf/simulated/floor/carpet,/area/submap/Drugd) -"k" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/pill/happy{name = "pill"},/turf/simulated/floor/carpet,/area/submap/Drugd) +"i" = (/obj/structure/closet/cabinet,/obj/item/lipstick/random,/turf/simulated/floor/carpet,/area/submap/Drugd) +"j" = (/obj/structure/bed,/obj/item/bedsheet,/obj/structure/curtain/open/bed,/turf/simulated/floor/carpet,/area/submap/Drugd) +"k" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/pill/happy{name = "pill"},/turf/simulated/floor/carpet,/area/submap/Drugd) "l" = (/turf/simulated/floor,/area/submap/Drugd) "m" = (/obj/structure/curtain/black,/turf/simulated/floor,/area/submap/Drugd) "n" = (/obj/random/trash,/turf/simulated/floor/carpet,/area/submap/Drugd) "o" = (/turf/simulated/floor/carpet,/area/submap/Drugd) "p" = (/obj/effect/decal/remains/mouse,/turf/simulated/floor,/area/submap/Drugd) "q" = (/obj/structure/closet/cabinet,/turf/simulated/floor/carpet,/area/submap/Drugd) -"r" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/pill/methylphenidate{name = "pill"},/turf/simulated/floor/carpet,/area/submap/Drugd) +"r" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/pill/methylphenidate{name = "pill"},/turf/simulated/floor/carpet,/area/submap/Drugd) "s" = (/obj/structure/bed/chair/comfy/beige{icon_state = "armchair_preview"; dir = 1},/turf/simulated/floor/carpet,/area/submap/Drugd) -"t" = (/obj/item/weapon/reagent_containers/pill/citalopram{name = "pill"},/turf/simulated/floor/carpet,/area/submap/Drugd) +"t" = (/obj/item/reagent_containers/pill/citalopram{name = "pill"},/turf/simulated/floor/carpet,/area/submap/Drugd) "u" = (/obj/random/junk,/turf/simulated/floor,/area/submap/Drugd) "v" = (/obj/structure/closet/cabinet,/obj/item/poster,/turf/simulated/floor/carpet,/area/submap/Drugd) "w" = (/obj/structure/bed/chair/comfy/beige,/turf/simulated/floor/carpet,/area/submap/Drugd) -"x" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp,/obj/item/weapon/reagent_containers/syringe/drugs,/turf/simulated/floor/carpet,/area/submap/Drugd) -"y" = (/obj/structure/bed/chair/comfy/beige,/obj/item/weapon/reagent_containers/pill/citalopram{name = "pill"},/turf/simulated/floor/carpet,/area/submap/Drugd) +"x" = (/obj/structure/table/woodentable,/obj/item/flashlight/lamp,/obj/item/reagent_containers/syringe/drugs,/turf/simulated/floor/carpet,/area/submap/Drugd) +"y" = (/obj/structure/bed/chair/comfy/beige,/obj/item/reagent_containers/pill/citalopram{name = "pill"},/turf/simulated/floor/carpet,/area/submap/Drugd) "z" = (/obj/structure/loot_pile/maint/junk,/turf/simulated/floor,/area/submap/Drugd) -"A" = (/obj/item/weapon/reagent_containers/pill/citalopram{name = "pill"},/obj/item/weapon/reagent_containers/pill/citalopram{name = "pill"},/turf/simulated/floor/carpet,/area/submap/Drugd) -"B" = (/obj/structure/table/standard,/obj/item/weapon/storage/pill_bottle/happy,/turf/simulated/floor/tiled,/area/submap/Drugd) +"A" = (/obj/item/reagent_containers/pill/citalopram{name = "pill"},/obj/item/reagent_containers/pill/citalopram{name = "pill"},/turf/simulated/floor/carpet,/area/submap/Drugd) +"B" = (/obj/structure/table/standard,/obj/item/storage/pill_bottle/happy,/turf/simulated/floor/tiled,/area/submap/Drugd) "C" = (/obj/structure/table/standard,/obj/item/stack/medical/splint,/turf/simulated/floor/tiled,/area/submap/Drugd) -"D" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/pill/citalopram,/obj/item/weapon/reagent_containers/pill/citalopram,/turf/simulated/floor/tiled,/area/submap/Drugd) -"E" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/pill/tramadol,/obj/item/weapon/reagent_containers/pill/tramadol,/turf/simulated/floor/tiled,/area/submap/Drugd) -"F" = (/obj/structure/closet/cabinet,/obj/item/clothing/accessory/jacket,/obj/item/weapon/material/butterfly/switchblade,/turf/simulated/floor/carpet,/area/submap/Drugd) -"G" = (/obj/item/weapon/reagent_containers/pill/zoom{name = "pill"},/obj/random/trash,/turf/simulated/floor/carpet,/area/submap/Drugd) -"H" = (/obj/item/weapon/reagent_containers/pill/zoom{name = "pill"},/turf/simulated/floor/carpet,/area/submap/Drugd) +"D" = (/obj/structure/table/standard,/obj/item/reagent_containers/pill/citalopram,/obj/item/reagent_containers/pill/citalopram,/turf/simulated/floor/tiled,/area/submap/Drugd) +"E" = (/obj/structure/table/standard,/obj/item/reagent_containers/pill/tramadol,/obj/item/reagent_containers/pill/tramadol,/turf/simulated/floor/tiled,/area/submap/Drugd) +"F" = (/obj/structure/closet/cabinet,/obj/item/clothing/accessory/jacket,/obj/item/material/butterfly/switchblade,/turf/simulated/floor/carpet,/area/submap/Drugd) +"G" = (/obj/item/reagent_containers/pill/zoom{name = "pill"},/obj/random/trash,/turf/simulated/floor/carpet,/area/submap/Drugd) +"H" = (/obj/item/reagent_containers/pill/zoom{name = "pill"},/turf/simulated/floor/carpet,/area/submap/Drugd) "I" = (/obj/structure/loot_pile/maint/boxfort,/turf/simulated/floor/carpet,/area/submap/Drugd) -"J" = (/obj/structure/table/standard,/obj/item/weapon/surgical/scalpel,/turf/simulated/floor/tiled,/area/submap/Drugd) +"J" = (/obj/structure/table/standard,/obj/item/surgical/scalpel,/turf/simulated/floor/tiled,/area/submap/Drugd) "K" = (/obj/item/wheelchair,/turf/simulated/floor/tiled,/area/submap/Drugd) "L" = (/obj/structure/table/standard,/obj/random/firstaid,/turf/simulated/floor,/area/submap/Drugd) "M" = (/obj/structure/loot_pile/maint/junk,/turf/simulated/floor/tiled,/area/submap/Drugd) "N" = (/obj/effect/floor_decal/rust,/obj/structure/table/standard,/turf/simulated/floor/tiled,/area/submap/Drugd) -"O" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/pill/zoom,/obj/item/weapon/reagent_containers/pill/zoom,/turf/simulated/floor,/area/submap/Drugd) -"P" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/pill/tramadol{name = "pill"},/turf/simulated/floor/carpet,/area/submap/Drugd) +"O" = (/obj/structure/table/standard,/obj/item/reagent_containers/pill/zoom,/obj/item/reagent_containers/pill/zoom,/turf/simulated/floor,/area/submap/Drugd) +"P" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/pill/tramadol{name = "pill"},/turf/simulated/floor/carpet,/area/submap/Drugd) "Q" = (/mob/living/simple_mob/mechanical/hivebot/ranged_damage/strong/guard,/turf/simulated/floor,/area/submap/Drugd) "R" = (/obj/structure/girder,/turf/simulated/floor,/area/submap/Drugd) -"S" = (/obj/item/weapon/material/shard,/turf/simulated/floor,/area/submap/Drugd) -"T" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp,/turf/simulated/floor/carpet,/area/submap/Drugd) -"U" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/syringe/drugs,/turf/simulated/floor/carpet,/area/submap/Drugd) +"S" = (/obj/item/material/shard,/turf/simulated/floor,/area/submap/Drugd) +"T" = (/obj/structure/table/woodentable,/obj/item/flashlight/lamp,/turf/simulated/floor/carpet,/area/submap/Drugd) +"U" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/syringe/drugs,/turf/simulated/floor/carpet,/area/submap/Drugd) "V" = (/obj/structure/closet/cabinet,/obj/random/projectile/scrapped_gun,/obj/random/toy,/turf/simulated/floor/carpet,/area/submap/Drugd) "W" = (/obj/structure/closet/cabinet,/obj/random/mre,/obj/random/medical/lite,/turf/simulated/floor/carpet,/area/submap/Drugd) diff --git a/maps/submaps/surface_submaps/wilderness/Epod3.dmm b/maps/submaps/surface_submaps/wilderness/Epod3.dmm index 42fbe7f6f80..c922c299fd6 100644 --- a/maps/submaps/surface_submaps/wilderness/Epod3.dmm +++ b/maps/submaps/surface_submaps/wilderness/Epod3.dmm @@ -5,8 +5,8 @@ "e" = (/turf/simulated/shuttle/wall,/area/submap/Epod3) "f" = (/obj/structure/flora/tree/sif,/turf/simulated/floor/outdoors/dirt,/area/submap/Epod3) "g" = (/obj/effect/spider/stickyweb,/turf/template_noop,/area/submap/Epod3) -"h" = (/obj/structure/bed/chair{dir = 4},/obj/structure/closet/walllocker/emerglocker{pixel_y = 28},/obj/item/device/radio/intercom{pixel_y = -26},/turf/simulated/shuttle/floor,/area/submap/Epod3) -"i" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_y = 28},/obj/machinery/light,/obj/item/weapon/weldingtool/largetank,/turf/simulated/shuttle/floor,/area/submap/Epod3) +"h" = (/obj/structure/bed/chair{dir = 4},/obj/structure/closet/walllocker/emerglocker{pixel_y = 28},/obj/item/radio/intercom{pixel_y = -26},/turf/simulated/shuttle/floor,/area/submap/Epod3) +"i" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_y = 28},/obj/machinery/light,/obj/item/weldingtool/largetank,/turf/simulated/shuttle/floor,/area/submap/Epod3) "j" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/obj/structure/bed/chair{icon_state = "chair_preview"; dir = 8},/obj/effect/decal/remains,/obj/effect/decal/cleanable/blood/splatter,/obj/item/ammo_casing/spent,/obj/item/clothing/under/suit_jacket/really_black,/obj/item/clothing/shoes/dress,/obj/item/clothing/glasses/sunglasses,/obj/random/multiple/gun/projectile/handgun,/turf/simulated/shuttle/floor,/area/submap/Epod3) "k" = (/obj/structure/shuttle/engine/propulsion/burst{icon_state = "propulsion"; dir = 8},/turf/simulated/shuttle/wall,/area/submap/Epod3) "l" = (/obj/effect/spider/stickyweb,/turf/simulated/floor/outdoors/dirt,/area/submap/Epod3) diff --git a/maps/submaps/surface_submaps/wilderness/Epod4.dmm b/maps/submaps/surface_submaps/wilderness/Epod4.dmm index e37847b087f..90dff804e6e 100644 --- a/maps/submaps/surface_submaps/wilderness/Epod4.dmm +++ b/maps/submaps/surface_submaps/wilderness/Epod4.dmm @@ -11,7 +11,7 @@ "k" = (/obj/structure/bed/chair{icon_state = "chair_preview"; dir = 1},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/obj/structure/loot_pile/maint/junk,/turf/simulated/floor/water,/area/submap/Epod4) "l" = (/turf/simulated/floor/water/deep,/area/submap/Epod4) "m" = (/obj/structure/bed/chair{icon_state = "chair_preview"; dir = 1},/obj/effect/decal/remains/posi,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/machinery/vending/wallmed1{layer = 3.3; name = "Emergency NanoMed"; pixel_x = 28; pixel_y = 0},/obj/item/clothing/shoes/brown,/obj/item/clothing/under/mbill,/obj/item/clothing/head/soft/mbill,/turf/simulated/floor/water,/area/submap/Epod4) -"n" = (/obj/structure/bed/chair{icon_state = "chair_preview"; dir = 1},/obj/structure/closet/walllocker/emerglocker/east,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/structure/closet/crate/hydroponics{desc = "All you need to destroy that pesky planet."; name = "exotic seeds crate"; starts_with = list(/obj/item/seeds/random = 6, /obj/item/seeds/replicapod = 2, /obj/item/seeds/ambrosiavulgarisseed = 2, /obj/item/seeds/kudzuseed, /obj/item/seeds/libertymycelium, /obj/item/seeds/reishimycelium)},/turf/simulated/floor/water,/area/submap/Epod4) +"n" = (/obj/structure/bed/chair{icon_state = "chair_preview"; dir = 1},/obj/structure/closet/walllocker/emerglocker/east,/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/structure/closet/crate/hydroponics{desc = "All you need to destroy that pesky planet."; name = "exotic seeds crate"; starts_with = list(/obj/item/seeds/random = 6, /obj/item/seeds/replicapod = 2, /obj/item/seeds/ambrosiavulgarisseed = 2, /obj/item/seeds/kudzuseed, /obj/item/seeds/libertymycelium, /obj/item/seeds/reishimycelium)},/turf/simulated/floor/water,/area/submap/Epod4) "o" = (/obj/structure/shuttle/engine/propulsion/burst,/turf/simulated/shuttle/wall,/area/submap/Epod4) "p" = (/obj/structure/door_assembly/door_assembly_ext{anchored = 1},/turf/simulated/floor/water,/area/submap/Epod4) "q" = (/obj/structure/flora/grass/brown,/turf/simulated/floor/outdoors/dirt,/area/submap/Epod4) diff --git a/maps/submaps/surface_submaps/wilderness/GovPatrol.dmm b/maps/submaps/surface_submaps/wilderness/GovPatrol.dmm index 9588c9d0785..7e495b3e1ef 100644 --- a/maps/submaps/surface_submaps/wilderness/GovPatrol.dmm +++ b/maps/submaps/surface_submaps/wilderness/GovPatrol.dmm @@ -13,11 +13,11 @@ /turf/template_noop, /area/submap/GovPatrol) "e" = ( -/obj/item/device/radio/off, +/obj/item/radio/off, /turf/template_noop, /area/submap/GovPatrol) "f" = ( -/obj/item/weapon/storage/box/flare, +/obj/item/storage/box/flare, /turf/template_noop, /area/submap/GovPatrol) "g" = ( @@ -35,7 +35,7 @@ /turf/template_noop, /area/submap/GovPatrol) "j" = ( -/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever, +/obj/item/gun/projectile/shotgun/pump/rifle/lever, /turf/template_noop, /area/submap/GovPatrol) "k" = ( @@ -47,7 +47,7 @@ /turf/template_noop, /area/submap/GovPatrol) "u" = ( -/obj/item/weapon/storage/backpack/parachute, +/obj/item/storage/backpack/parachute, /turf/template_noop, /area/submap/GovPatrol) diff --git a/maps/submaps/surface_submaps/wilderness/Lab1.dmm b/maps/submaps/surface_submaps/wilderness/Lab1.dmm index b81bd2b57af..45de711a554 100644 --- a/maps/submaps/surface_submaps/wilderness/Lab1.dmm +++ b/maps/submaps/surface_submaps/wilderness/Lab1.dmm @@ -58,7 +58,7 @@ /area/submap/Lab1) "k" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox, +/obj/item/storage/toolbox, /obj/random/tool, /turf/simulated/floor/tiled/steel_dirty, /area/submap/Lab1) @@ -98,7 +98,7 @@ "q" = ( /obj/structure/table/standard, /obj/random/toolbox, -/obj/item/weapon/cell/super, +/obj/item/cell/super, /turf/simulated/floor/tiled/steel_dirty, /area/submap/Lab1) "r" = ( @@ -113,12 +113,12 @@ /area/submap/Lab1) "t" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /turf/simulated/floor/tiled/steel_dirty, /area/submap/Lab1) "u" = ( /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/hyper; + cell_type = /obj/item/cell/hyper; dir = 8; name = "Unknown APC"; operating = 0; @@ -146,14 +146,14 @@ /area/submap/Lab1) "x" = ( /obj/structure/table/standard, -/obj/item/weapon/paper{ +/obj/item/paper{ desc = "Gladstone for the last fucking time, We have crowbars for a REASON. Stop breaking in through the goddamn windows! We big red shiny doors for god's sakes!" }, /turf/simulated/floor/tiled/steel_dirty, /area/submap/Lab1) "y" = ( /obj/structure/table/standard, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/tiled/steel_dirty, /area/submap/Lab1) "z" = ( @@ -175,7 +175,7 @@ /area/submap/Lab1) "D" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/floor/tiled/steel_dirty, /area/submap/Lab1) "E" = ( @@ -186,7 +186,7 @@ /area/submap/Lab1) "F" = ( /obj/structure/table/standard, -/obj/item/device/multitool, +/obj/item/multitool, /obj/item/clothing/glasses/welding, /turf/simulated/floor/tiled/steel_dirty, /area/submap/Lab1) @@ -211,7 +211,7 @@ /turf/simulated/floor/tiled/steel_dirty, /area/submap/Lab1) "J" = ( -/obj/item/weapon/cell/super, +/obj/item/cell/super, /turf/simulated/floor/tiled/steel_dirty, /area/submap/Lab1) "K" = ( @@ -234,7 +234,7 @@ /turf/simulated/floor/tiled/steel_dirty, /area/submap/Lab1) "N" = ( -/obj/item/weapon/storage/bag/circuits, +/obj/item/storage/bag/circuits, /obj/structure/table/standard, /turf/simulated/floor/tiled/steel_dirty, /area/submap/Lab1) diff --git a/maps/submaps/surface_submaps/wilderness/MCamp1.dmm b/maps/submaps/surface_submaps/wilderness/MCamp1.dmm index b4bcb7f0b25..a271e4fcd7a 100644 --- a/maps/submaps/surface_submaps/wilderness/MCamp1.dmm +++ b/maps/submaps/surface_submaps/wilderness/MCamp1.dmm @@ -13,7 +13,7 @@ "m" = (/turf/simulated/wall,/area/submap/MilitaryCamp1) "n" = (/obj/random/landmine,/turf/simulated/floor,/area/submap/MilitaryCamp1) "o" = (/turf/simulated/floor,/area/submap/MilitaryCamp1) -"p" = (/obj/item/weapon/material/shard,/turf/template_noop,/area/submap/MilitaryCamp1) +"p" = (/obj/item/material/shard,/turf/template_noop,/area/submap/MilitaryCamp1) "q" = (/mob/living/simple_mob/mechanical/viscerator,/turf/simulated/floor,/area/submap/MilitaryCamp1) "r" = (/obj/structure/girder,/turf/simulated/floor,/area/submap/MilitaryCamp1) "s" = (/obj/machinery/computer/communications,/mob/living/simple_mob/mechanical/viscerator,/mob/living/simple_mob/mechanical/viscerator,/turf/simulated/floor,/area/submap/MilitaryCamp1) @@ -22,7 +22,7 @@ "v" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/submap/MilitaryCamp1) "w" = (/obj/machinery/computer/security,/mob/living/simple_mob/mechanical/viscerator,/mob/living/simple_mob/mechanical/viscerator,/turf/simulated/floor,/area/submap/MilitaryCamp1) "x" = (/mob/living/simple_mob/mechanical/viscerator,/mob/living/simple_mob/mechanical/viscerator,/turf/simulated/floor,/area/submap/MilitaryCamp1) -"y" = (/obj/item/weapon/material/shard,/obj/random/landmine,/turf/template_noop,/area/submap/MilitaryCamp1) +"y" = (/obj/item/material/shard,/obj/random/landmine,/turf/template_noop,/area/submap/MilitaryCamp1) "z" = (/obj/machinery/door/airlock,/turf/simulated/floor,/area/submap/MilitaryCamp1) "A" = (/obj/effect/decal/cleanable/dirt,/mob/living/simple_mob/mechanical/viscerator,/turf/simulated/floor,/area/submap/MilitaryCamp1) "B" = (/mob/living/simple_mob/mechanical/viscerator,/turf/template_noop,/area/submap/MilitaryCamp1) @@ -32,7 +32,7 @@ "F" = (/obj/machinery/door/airlock,/obj/effect/mine,/turf/simulated/floor,/area/submap/MilitaryCamp1) "G" = (/obj/structure/flora/tree/dead,/turf/template_noop,/area/submap/MilitaryCamp1) "H" = (/obj/random/landmine,/turf/template_noop,/area/template_noop) -"I" = (/obj/structure/table/standard,/obj/random/cigarettes,/obj/item/weapon/flame/lighter/random,/turf/simulated/floor,/area/submap/MilitaryCamp1) +"I" = (/obj/structure/table/standard,/obj/random/cigarettes,/obj/item/flame/lighter/random,/turf/simulated/floor,/area/submap/MilitaryCamp1) "J" = (/obj/structure/table/standard,/obj/random/toolbox,/turf/simulated/floor,/area/submap/MilitaryCamp1) "K" = (/obj/effect/decal/cleanable/blood,/obj/random/landmine,/turf/template_noop,/area/submap/MilitaryCamp1) diff --git a/maps/submaps/surface_submaps/wilderness/MHR.dmm b/maps/submaps/surface_submaps/wilderness/MHR.dmm index 7c2d20c3060..645b2e92e3e 100644 --- a/maps/submaps/surface_submaps/wilderness/MHR.dmm +++ b/maps/submaps/surface_submaps/wilderness/MHR.dmm @@ -5,17 +5,17 @@ "e" = (/turf/simulated/mineral/ignore_mapgen,/area/submap/MHR) "f" = (/obj/effect/decal/cleanable/spiderling_remains,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/MHR) "g" = (/turf/simulated/floor/outdoors/dirt,/area/submap/MHR) -"h" = (/obj/structure/table/rack,/obj/item/weapon/storage/backpack,/turf/template_noop,/area/submap/MHR) +"h" = (/obj/structure/table/rack,/obj/item/storage/backpack,/turf/template_noop,/area/submap/MHR) "i" = (/obj/structure/table/standard,/turf/template_noop,/area/submap/MHR) -"j" = (/obj/structure/table/standard,/obj/item/weapon/paper{info = "Do not enter the cave. The estimated active time of the Vicerators is much longer due to the improvements on the rotor bearings. It's estimated to be roughly a few months before we start to see any chancces of mechanical failure. "; name = "NOTICE: DO NOT ENTER"},/turf/template_noop,/area/submap/MHR) +"j" = (/obj/structure/table/standard,/obj/item/paper{info = "Do not enter the cave. The estimated active time of the Vicerators is much longer due to the improvements on the rotor bearings. It's estimated to be roughly a few months before we start to see any chancces of mechanical failure. "; name = "NOTICE: DO NOT ENTER"},/turf/template_noop,/area/submap/MHR) "k" = (/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/MHR) "l" = (/mob/living/simple_mob/mechanical/viscerator,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/MHR) -"m" = (/obj/item/weapon/reagent_containers/food/snacks/xenomeat/spidermeat,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/MHR) +"m" = (/obj/item/reagent_containers/food/snacks/xenomeat/spidermeat,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/MHR) "n" = (/obj/effect/decal/cleanable/cobweb2,/mob/living/simple_mob/mechanical/viscerator,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/MHR) "o" = (/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/MHR) "p" = (/obj/effect/decal/cleanable/spiderling_remains,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/MHR) "q" = (/obj/effect/decal/remains/robot,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/MHR) -"r" = (/obj/effect/decal/remains,/obj/item/clothing/mask/gas/explorer,/obj/item/weapon/material/twohanded/fireaxe,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/MHR) +"r" = (/obj/effect/decal/remains,/obj/item/clothing/mask/gas/explorer,/obj/item/material/twohanded/fireaxe,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/MHR) "s" = (/obj/effect/decal/cleanable/spiderling_remains,/mob/living/simple_mob/mechanical/viscerator,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/MHR) (1,1,1) = {" diff --git a/maps/submaps/surface_submaps/wilderness/Manor1.dmm b/maps/submaps/surface_submaps/wilderness/Manor1.dmm index 435595ace33..db8a77c2135 100644 --- a/maps/submaps/surface_submaps/wilderness/Manor1.dmm +++ b/maps/submaps/surface_submaps/wilderness/Manor1.dmm @@ -2,61 +2,61 @@ "ab" = (/turf/simulated/wall/wood,/area/submap/Manor1) "ac" = (/obj/structure/window/reinforced/full,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "ad" = (/obj/structure/bed/chair/wood{icon_state = "wooden_chair"; dir = 4},/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"ae" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"ae" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/food/drinks/cans/waterbottle,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "af" = (/obj/structure/bed/chair/wood{icon_state = "wooden_chair"; dir = 8},/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "ag" = (/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "ah" = (/obj/structure/flora/pottedplant/dead,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "ai" = (/obj/structure/flora/pottedplant/drooping,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"aj" = (/obj/structure/table/woodentable,/obj/item/clothing/mask/smokable/cigarette/cigar,/obj/item/weapon/material/ashtray/glass,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"aj" = (/obj/structure/table/woodentable,/obj/item/clothing/mask/smokable/cigarette/cigar,/obj/item/material/ashtray/glass,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "ak" = (/obj/structure/flora/pottedplant/dead,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "al" = (/obj/structure/table/woodentable,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"am" = (/obj/structure/table/woodentable,/obj/item/device/flashlight,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"am" = (/obj/structure/table/woodentable,/obj/item/flashlight,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "an" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "ao" = (/obj/structure/mopbucket,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "ap" = (/obj/structure/sink,/turf/simulated/wall/wood,/area/submap/Manor1) "aq" = (/turf/simulated/floor/carpet/bcarpet,/area/submap/Manor1) "ar" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/carpet/bcarpet,/area/submap/Manor1) "as" = (/obj/structure/simple_door/wood,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"at" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp,/obj/effect/decal/cleanable/blood/gibs/robot,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"au" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"at" = (/obj/structure/table/woodentable,/obj/item/flashlight/lamp,/obj/effect/decal/cleanable/blood/gibs/robot,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"au" = (/obj/structure/bed,/obj/item/bedsheet,/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "av" = (/obj/structure/janitorialcart,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"aw" = (/obj/structure/table/woodentable,/obj/item/weapon/mop,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"aw" = (/obj/structure/table/woodentable,/obj/item/mop,/obj/item/reagent_containers/glass/bucket,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "ax" = (/obj/structure/closet/cabinet,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "ay" = (/obj/effect/decal/cleanable/blood/gibs/robot/limb,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "az" = (/obj/structure/table/woodentable,/obj/item/trash/candle,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "aA" = (/obj/effect/decal/cleanable/dirt,/obj/effect/spider/stickyweb,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "aB" = (/obj/effect/decal/cleanable/dirt,/obj/effect/spider/stickyweb,/mob/living/simple_mob/animal/giant_spider/lurker,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"aC" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/maglight,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"aD" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"aC" = (/obj/structure/table/woodentable,/obj/item/flashlight/maglight,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"aD" = (/obj/structure/table/woodentable,/obj/item/flashlight/lamp,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "aE" = (/obj/structure/closet/cabinet,/obj/effect/decal/cleanable/cobweb2,/obj/item/clothing/head/hood/winter,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "aF" = (/obj/structure/table/woodentable,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"aG" = (/obj/structure/table/woodentable,/obj/item/weapon/paper,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"aH" = (/obj/structure/table/woodentable,/obj/item/weapon/pen,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"aG" = (/obj/structure/table/woodentable,/obj/item/paper,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"aH" = (/obj/structure/table/woodentable,/obj/item/pen,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "aI" = (/obj/structure/flora/pottedplant/dead,/obj/effect/spider/stickyweb,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "aJ" = (/obj/effect/spider/stickyweb,/mob/living/simple_mob/animal/giant_spider/lurker,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "aK" = (/obj/effect/spider/stickyweb,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "aL" = (/obj/structure/fireplace,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "aM" = (/mob/living/simple_mob/animal/giant_spider/lurker,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "aN" = (/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"aO" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"aO" = (/obj/structure/bed,/obj/item/bedsheet,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "aP" = (/obj/structure/bed/chair/wood,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "aQ" = (/turf/simulated/floor/carpet/purcarpet,/area/submap/Manor1) "aR" = (/obj/structure/table/standard,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "aS" = (/obj/structure/table/standard,/obj/machinery/microwave,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "aT" = (/obj/structure/closet/cabinet,/obj/random/projectile/shotgun,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "aU" = (/obj/structure/bookcase,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"aV" = (/obj/structure/table/woodentable,/obj/item/weapon/material/kitchen/utensil/fork,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"aW" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/condiment/small/peppermill,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"aX" = (/obj/structure/table/standard,/obj/item/weapon/material/knife,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"aV" = (/obj/structure/table/woodentable,/obj/item/material/kitchen/utensil/fork,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"aW" = (/obj/structure/table/standard,/obj/item/reagent_containers/food/condiment/small/peppermill,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"aX" = (/obj/structure/table/standard,/obj/item/material/knife,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "aY" = (/obj/machinery/appliance/cooker/oven,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"aZ" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"aZ" = (/obj/structure/table/standard,/obj/item/reagent_containers/food/condiment/small/saltshaker,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "ba" = (/obj/machinery/appliance/cooker/grill,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bb" = (/obj/structure/table/standard,/obj/item/weapon/tray,/obj/item/weapon/tray,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bc" = (/obj/structure/table/standard,/obj/item/weapon/material/knife/butch,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bd" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle,/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bb" = (/obj/structure/table/standard,/obj/item/tray,/obj/item/tray,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bc" = (/obj/structure/table/standard,/obj/item/material/knife/butch,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bd" = (/obj/structure/table/standard,/obj/item/reagent_containers/food/drinks/cans/waterbottle,/obj/item/reagent_containers/food/drinks/cans/waterbottle,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "be" = (/obj/random/trash,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "bf" = (/obj/structure/closet/cabinet,/obj/item/clothing/head/hood/winter,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/random/contraband,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bg" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bg" = (/obj/structure/table/woodentable,/obj/item/paper_bin,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "bh" = (/obj/structure/bed/chair/wood{icon_state = "wooden_chair"; dir = 1},/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "bi" = (/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/holofloor/wood{icon_state = "wood_broken0"},/area/submap/Manor1) "bj" = (/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) @@ -64,30 +64,30 @@ "bl" = (/turf/simulated/floor/carpet/blucarpet,/area/submap/Manor1) "bm" = (/obj/structure/loot_pile/surface/bones,/obj/item/clothing/accessory/sweater/blue,/turf/simulated/floor/carpet/blucarpet,/area/submap/Manor1) "bn" = (/obj/structure/window/reinforced/full,/turf/template_noop,/area/submap/Manor1) -"bo" = (/obj/item/weapon/material/twohanded/baseballbat/metal,/turf/simulated/floor/carpet/blucarpet,/area/submap/Manor1) +"bo" = (/obj/item/material/twohanded/baseballbat/metal,/turf/simulated/floor/carpet/blucarpet,/area/submap/Manor1) "bp" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor/carpet/blucarpet,/area/submap/Manor1) "bq" = (/obj/effect/decal/cleanable/blood/drip,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "br" = (/obj/structure/bed/chair/comfy/purp{icon_state = "comfychair_preview"; dir = 4},/turf/simulated/floor/holofloor/wood{icon_state = "wood_broken5"},/area/submap/Manor1) "bs" = (/obj/structure/table,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "bt" = (/obj/structure/bed/chair/wood{icon_state = "wooden_chair"; dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "bu" = (/obj/structure/bed/chair/wood{icon_state = "wooden_chair"; dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bv" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/condiment/small/sugar,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bv" = (/obj/structure/table/standard,/obj/item/reagent_containers/food/condiment/small/sugar,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "bw" = (/obj/effect/decal/cleanable/blood/drip,/turf/simulated/floor/carpet/blucarpet,/area/submap/Manor1) "bx" = (/obj/structure/bed/chair/comfy/purp{icon_state = "comfychair_preview"; dir = 4},/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "by" = (/obj/structure/closet/cabinet,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/head/hood/winter,/obj/item/clothing/shoes/boots/winter,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "bz" = (/obj/structure/table/woodentable,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bA" = (/obj/structure/table/standard,/obj/item/weapon/material/kitchen/utensil/fork,/obj/item/weapon/material/kitchen/utensil/fork,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bB" = (/obj/structure/closet/secure_closet/freezer/fridge,/obj/item/weapon/reagent_containers/food/snacks/stew,/obj/item/weapon/reagent_containers/food/snacks/stew,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bC" = (/obj/item/weapon/shovel,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bA" = (/obj/structure/table/standard,/obj/item/material/kitchen/utensil/fork,/obj/item/material/kitchen/utensil/fork,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bB" = (/obj/structure/closet/secure_closet/freezer/fridge,/obj/item/reagent_containers/food/snacks/stew,/obj/item/reagent_containers/food/snacks/stew,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bC" = (/obj/item/shovel,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "bD" = (/obj/structure/bed/chair/wood{icon_state = "wooden_chair"; dir = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bE" = (/obj/structure/table/standard,/obj/item/weapon/material/kitchen/utensil/spoon,/obj/item/weapon/material/kitchen/utensil/spoon,/obj/item/weapon/material/kitchen/utensil/spoon,/obj/effect/spider/stickyweb,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bE" = (/obj/structure/table/standard,/obj/item/material/kitchen/utensil/spoon,/obj/item/material/kitchen/utensil/spoon,/obj/item/material/kitchen/utensil/spoon,/obj/effect/spider/stickyweb,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "bF" = (/obj/structure/table/standard,/obj/effect/spider/stickyweb,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bG" = (/obj/structure/closet/secure_closet/freezer/fridge,/obj/item/weapon/reagent_containers/food/snacks/sausage,/obj/item/weapon/reagent_containers/food/snacks/sausage,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bG" = (/obj/structure/closet/secure_closet/freezer/fridge,/obj/item/reagent_containers/food/snacks/sausage,/obj/item/reagent_containers/food/snacks/sausage,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "bH" = (/obj/effect/decal/cleanable/dirt,/obj/structure/flora/pottedplant/drooping,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "bI" = (/obj/effect/decal/cleanable/dirt,/obj/structure/flora/pottedplant/dead,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bJ" = (/obj/structure/table/standard,/obj/item/weapon/material/kitchen/rollingpin,/obj/effect/spider/stickyweb,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bK" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bL" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/fancy/candle_box,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bJ" = (/obj/structure/table/standard,/obj/item/material/kitchen/rollingpin,/obj/effect/spider/stickyweb,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bK" = (/obj/structure/table/standard,/obj/item/reagent_containers/glass/bottle/stoxin,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bL" = (/obj/structure/table/woodentable,/obj/item/storage/fancy/candle_box,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "bM" = (/obj/machinery/papershredder,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "bN" = (/obj/structure/simple_door/wood,/turf/simulated/floor/carpet/purcarpet,/area/submap/Manor1) "bO" = (/obj/machinery/icecream_vat,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) @@ -95,40 +95,40 @@ "bQ" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "bR" = (/obj/effect/decal/cleanable/cobweb,/obj/structure/table/woodentable,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "bS" = (/obj/structure/flora/pottedplant/subterranean,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bT" = (/obj/item/weapon/material/minihoe,/turf/simulated/floor/carpet/blucarpet,/area/submap/Manor1) +"bT" = (/obj/item/material/minihoe,/turf/simulated/floor/carpet/blucarpet,/area/submap/Manor1) "bU" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/carpet/purcarpet,/area/submap/Manor1) "bV" = (/turf/simulated/floor/holofloor/wood{icon_state = "wood_broken6"},/area/submap/Manor1) "bW" = (/obj/machinery/washing_machine,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "bX" = (/obj/structure/table/woodentable,/obj/structure/bedsheetbin,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "bY" = (/obj/structure/table/rack,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "bZ" = (/obj/structure/closet/crate,/obj/item/stack/cable_coil/random_belt,/obj/random/cash,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"ca" = (/obj/structure/table/woodentable,/obj/item/weapon/melee/umbrella/random,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"ca" = (/obj/structure/table/woodentable,/obj/item/melee/umbrella/random,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "cb" = (/obj/structure/closet/cabinet,/obj/random/gun/random,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"cc" = (/obj/structure/closet/cabinet,/obj/item/weapon/cell/device/weapon,/obj/item/weapon/cell/device/weapon,/obj/random/medical,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"cd" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"ce" = (/obj/structure/bed/double,/obj/item/weapon/bedsheet/rddouble,/obj/structure/curtain/open/bed,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"cf" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/wallet/random,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"cc" = (/obj/structure/closet/cabinet,/obj/item/cell/device/weapon,/obj/item/cell/device/weapon,/obj/random/medical,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"cd" = (/obj/structure/table/woodentable,/obj/item/flashlight/lamp/green,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"ce" = (/obj/structure/bed/double,/obj/item/bedsheet/rddouble,/obj/structure/curtain/open/bed,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"cf" = (/obj/structure/table/woodentable,/obj/item/storage/wallet/random,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "cg" = (/obj/structure/flora/pottedplant/dead,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "ch" = (/obj/structure/loot_pile/surface/bones,/obj/item/clothing/accessory/sweater,/turf/simulated/floor/carpet/blucarpet,/area/submap/Manor1) -"ci" = (/obj/structure/closet/crate,/obj/item/weapon/flame/lighter/random,/obj/random/powercell,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"ci" = (/obj/structure/closet/crate,/obj/item/flame/lighter/random,/obj/random/powercell,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "cj" = (/obj/structure/closet/cabinet,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/head/hood/winter,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "ck" = (/obj/effect/decal/cleanable/spiderling_remains,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "cl" = (/turf/simulated/floor/carpet/turcarpet,/area/submap/Manor1) "cm" = (/obj/effect/decal/cleanable/blood,/obj/structure/bed/chair/comfy/purp{icon_state = "comfychair_preview"; dir = 4},/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"cn" = (/obj/structure/closet/crate,/obj/item/weapon/storage/wallet/random,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"cn" = (/obj/structure/closet/crate,/obj/item/storage/wallet/random,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "co" = (/obj/structure/coatrack,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "cp" = (/obj/structure/loot_pile/surface/bones,/obj/item/clothing/suit/storage/hooded/wintercoat,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "cq" = (/obj/structure/loot_pile/surface/bones,/obj/item/clothing/under/suit_jacket,/obj/item/clothing/shoes/black,/obj/random/projectile/random,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "cr" = (/obj/structure/simple_door/wood,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/carpet/purcarpet,/area/submap/Manor1) -"cs" = (/obj/item/weapon/material/twohanded/spear,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"cs" = (/obj/item/material/twohanded/spear,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "ct" = (/obj/structure/closet/cabinet{opened = 1},/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"cu" = (/obj/effect/decal/remains,/obj/item/weapon/material/knife/tacknife/combatknife,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"cu" = (/obj/effect/decal/remains,/obj/item/material/knife/tacknife/combatknife,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "cv" = (/obj/structure/sink{pixel_y = 30},/turf/simulated/floor/tiled/hydro,/area/submap/Manor1) "cw" = (/turf/simulated/floor/tiled/hydro,/area/submap/Manor1) "cx" = (/obj/structure/table/standard,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/tiled/hydro,/area/submap/Manor1) -"cy" = (/obj/structure/table/standard,/obj/item/weapon/towel/random,/obj/item/weapon/towel/random,/turf/simulated/floor/tiled/hydro,/area/submap/Manor1) +"cy" = (/obj/structure/table/standard,/obj/item/towel/random,/obj/item/towel/random,/turf/simulated/floor/tiled/hydro,/area/submap/Manor1) "cz" = (/obj/effect/decal/cleanable/cobweb2,/obj/effect/spider/stickyweb,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"cA" = (/obj/item/weapon/paper/crumpled,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"cA" = (/obj/item/paper/crumpled,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "cB" = (/turf/simulated/floor/holofloor/wood{icon_state = "wood_broken3"},/area/submap/Manor1) "cC" = (/obj/effect/decal/cleanable/spiderling_remains,/obj/effect/spider/stickyweb,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) "cD" = (/obj/structure/closet/crate,/obj/item/clothing/suit/armor/vest,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) diff --git a/maps/submaps/surface_submaps/wilderness/Rocky1.dmm b/maps/submaps/surface_submaps/wilderness/Rocky1.dmm index bbe9827a67a..398ab0f1fd9 100644 --- a/maps/submaps/surface_submaps/wilderness/Rocky1.dmm +++ b/maps/submaps/surface_submaps/wilderness/Rocky1.dmm @@ -4,7 +4,7 @@ "d" = (/obj/structure/boulder,/turf/simulated/floor/outdoors/dirt,/area/submap/Rocky1) "e" = (/turf/simulated/mineral,/area/submap/Rocky1) "f" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/submap/Rocky1) -"g" = (/obj/random/handgun/sec,/obj/effect/decal/remains/human,/obj/item/weapon/spacecash/c200,/turf/simulated/floor/outdoors/dirt,/area/submap/Rocky1) +"g" = (/obj/random/handgun/sec,/obj/effect/decal/remains/human,/obj/item/spacecash/c200,/turf/simulated/floor/outdoors/dirt,/area/submap/Rocky1) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/maps/submaps/surface_submaps/wilderness/Rocky2.dmm b/maps/submaps/surface_submaps/wilderness/Rocky2.dmm index 79c06084f9e..1ed15211e76 100644 --- a/maps/submaps/surface_submaps/wilderness/Rocky2.dmm +++ b/maps/submaps/surface_submaps/wilderness/Rocky2.dmm @@ -44,7 +44,7 @@ /turf/template_noop, /area/submap/Rocky2) "A" = ( -/obj/item/weapon/shovel, +/obj/item/shovel, /turf/template_noop, /area/submap/Rocky2) diff --git a/maps/submaps/surface_submaps/wilderness/Rockybase.dmm b/maps/submaps/surface_submaps/wilderness/Rockybase.dmm index abbac3e1c11..67dacdfedc0 100644 --- a/maps/submaps/surface_submaps/wilderness/Rockybase.dmm +++ b/maps/submaps/surface_submaps/wilderness/Rockybase.dmm @@ -1,6 +1,6 @@ "aa" = (/turf/template_noop,/area/template_noop) "ab" = (/obj/effect/decal/remains,/turf/template_noop,/area/template_noop) -"ac" = (/obj/item/weapon/grenade/chem_grenade/metalfoam,/turf/template_noop,/area/template_noop) +"ac" = (/obj/item/grenade/chem_grenade/metalfoam,/turf/template_noop,/area/template_noop) "ad" = (/mob/living/simple_mob/mechanical/viscerator,/turf/template_noop,/area/template_noop) "ae" = (/obj/effect/decal/remains,/turf/template_noop,/area/submap/Rockybase) "af" = (/turf/template_noop,/area/submap/Rockybase) @@ -23,57 +23,57 @@ "aw" = (/obj/effect/decal/remains/deer,/turf/template_noop,/area/template_noop) "ax" = (/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = 0},/obj/structure/curtain/open/shower,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) "ay" = (/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) -"az" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = 0},/obj/structure/curtain/open/shower,/obj/item/weapon/soap,/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) +"az" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = 0},/obj/structure/curtain/open/shower,/obj/item/soap,/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) "aA" = (/obj/structure/table/woodentable,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) "aB" = (/obj/structure/table/woodentable,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) -"aC" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) -"aD" = (/obj/structure/closet/cabinet,/obj/item/weapon/pickaxe/plasmacutter,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) +"aC" = (/obj/structure/table/woodentable,/obj/item/flashlight/lamp,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) +"aD" = (/obj/structure/closet/cabinet,/obj/item/pickaxe/plasmacutter,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) "aE" = (/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) -"aF" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) +"aF" = (/obj/structure/bed,/obj/item/bedsheet,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) "aG" = (/obj/structure/table/woodentable,/obj/machinery/light{dir = 1},/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) -"aH" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/mob/living/simple_mob/mechanical/viscerator,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) -"aI" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/item/toy/plushie/spider,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) +"aH" = (/obj/structure/bed,/obj/item/bedsheet,/mob/living/simple_mob/mechanical/viscerator,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) +"aI" = (/obj/structure/bed,/obj/item/bedsheet,/obj/item/toy/plushie/spider,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) "aJ" = (/obj/structure/closet/l3closet/janitor,/turf/simulated/floor/tiled,/area/submap/Rockybase) "aK" = (/mob/living/bot/cleanbot{faction = "malf_drone"},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aL" = (/obj/item/weapon/stool,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aM" = (/obj/item/weapon/storage/belt/janitor,/obj/structure/table/standard,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"aL" = (/obj/item/stool,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"aM" = (/obj/item/storage/belt/janitor,/obj/structure/table/standard,/turf/simulated/floor/tiled,/area/submap/Rockybase) "aN" = (/turf/simulated/floor/tiled,/area/submap/Rockybase) "aO" = (/obj/structure/table/standard,/obj/item/modular_computer/laptop/preset/custom_loadout/cheap,/obj/effect/floor_decal/corner/red/border{dir = 9; icon_state = "bordercolor"},/turf/simulated/floor/tiled,/area/submap/Rockybase) "aP" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/red/border{dir = 1; icon_state = "bordercolor"},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aQ" = (/obj/structure/table/rack,/obj/item/weapon/gun/projectile/pistol,/obj/effect/floor_decal/corner/red/border{dir = 1; icon_state = "bordercolor"},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aR" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/gun/taser,/obj/effect/floor_decal/corner/red/border{dir = 1; icon_state = "bordercolor"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"aQ" = (/obj/structure/table/rack,/obj/item/gun/projectile/pistol,/obj/effect/floor_decal/corner/red/border{dir = 1; icon_state = "bordercolor"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"aR" = (/obj/structure/table/rack,/obj/item/gun/energy/gun/taser,/obj/effect/floor_decal/corner/red/border{dir = 1; icon_state = "bordercolor"},/turf/simulated/floor/tiled,/area/submap/Rockybase) "aS" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1; icon_state = "bordercolor"},/turf/simulated/floor/tiled,/area/submap/Rockybase) "aT" = (/obj/machinery/vending/coffee,/obj/effect/floor_decal/corner/red/border{dir = 5; icon_state = "bordercolor"},/turf/simulated/floor/tiled,/area/submap/Rockybase) "aU" = (/turf/simulated/floor/tiled/techfloor,/area/submap/Rockybase) -"aV" = (/obj/structure/table/rack,/obj/item/weapon/gun/projectile/shotgun/pump/combat,/obj/item/weapon/gun/projectile/shotgun/pump/combat,/turf/simulated/floor/tiled/techfloor,/area/submap/Rockybase) +"aV" = (/obj/structure/table/rack,/obj/item/gun/projectile/shotgun/pump/combat,/obj/item/gun/projectile/shotgun/pump/combat,/turf/simulated/floor/tiled/techfloor,/area/submap/Rockybase) "aW" = (/obj/machinery/vending/hydronutrients,/obj/effect/floor_decal/corner/lime/border{dir = 9; icon_state = "bordercolor"},/turf/simulated/floor/tiled,/area/submap/Rockybase) "aX" = (/obj/structure/closet/crate/hydroponics,/obj/effect/floor_decal/corner/lime/border{dir = 5; icon_state = "bordercolor"},/turf/simulated/floor/tiled,/area/submap/Rockybase) "aY" = (/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = 0},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) "aZ" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = 0},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) "ba" = (/obj/structure/janitorialcart,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bb" = (/obj/structure/table/standard,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bb" = (/obj/structure/table/standard,/obj/item/grenade/chem_grenade/cleaner,/obj/item/grenade/chem_grenade/cleaner,/obj/item/grenade/chem_grenade/cleaner,/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/tiled,/area/submap/Rockybase) "bc" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bd" = (/obj/structure/table/standard,/obj/item/weapon/paper{info = "Carl's absolutly fucked in the head. He's trying to squeeze as much drone production out as he can since he's worried we're gonna get found out but he's getting sloppier with each batch. Now's he's telling us he can speed the time on the IFF encoding. I already have a hard enough time getting these damn things not to stare at walls and now he's gonna shortchange the only part of these tincans that tells em not to turn us into paste on a wall. I told Richter to get out while he can, We're counting days before either some Sif task force shows up at our door or these things decide we aren't there friends anymore."; name = "Note"},/obj/effect/floor_decal/corner/red/border{dir = 8; icon_state = "bordercolor"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bd" = (/obj/structure/table/standard,/obj/item/paper{info = "Carl's absolutly fucked in the head. He's trying to squeeze as much drone production out as he can since he's worried we're gonna get found out but he's getting sloppier with each batch. Now's he's telling us he can speed the time on the IFF encoding. I already have a hard enough time getting these damn things not to stare at walls and now he's gonna shortchange the only part of these tincans that tells em not to turn us into paste on a wall. I told Richter to get out while he can, We're counting days before either some Sif task force shows up at our door or these things decide we aren't there friends anymore."; name = "Note"},/obj/effect/floor_decal/corner/red/border{dir = 8; icon_state = "bordercolor"},/turf/simulated/floor/tiled,/area/submap/Rockybase) "be" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/tiled,/area/submap/Rockybase) "bf" = (/mob/living/simple_mob/mechanical/viscerator,/turf/simulated/floor/tiled,/area/submap/Rockybase) "bg" = (/obj/machinery/vending/security,/obj/effect/floor_decal/corner/red/border{dir = 4; icon_state = "bordercolor"},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bh" = (/obj/structure/table/rack,/obj/item/weapon/cell/device/weapon,/obj/item/ammo_magazine/ammo_box/b12g/pellet,/obj/item/ammo_magazine/ammo_box/b12g/pellet,/turf/simulated/floor/tiled/techfloor,/area/submap/Rockybase) +"bh" = (/obj/structure/table/rack,/obj/item/cell/device/weapon,/obj/item/ammo_magazine/ammo_box/b12g/pellet,/obj/item/ammo_magazine/ammo_box/b12g/pellet,/turf/simulated/floor/tiled/techfloor,/area/submap/Rockybase) "bi" = (/obj/effect/floor_decal/corner/lime/border{dir = 8; icon_state = "bordercolor"},/turf/simulated/floor/tiled,/area/submap/Rockybase) "bj" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/effect/floor_decal/corner/lime/border{dir = 4; icon_state = "bordercolor"},/turf/simulated/floor/tiled,/area/submap/Rockybase) "bk" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = 0},/obj/structure/curtain/open/shower,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) "bl" = (/obj/item/mecha_parts/part/gygax_left_leg,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) "bm" = (/obj/machinery/light,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) -"bn" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/item/weapon/gun/projectile/pistol,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) +"bn" = (/obj/structure/bed,/obj/item/bedsheet,/obj/item/gun/projectile/pistol,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) "bo" = (/obj/structure/closet/crate/trashcart,/turf/simulated/floor/tiled,/area/submap/Rockybase) "bp" = (/obj/structure/loot_pile/maint/trash,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bq" = (/obj/structure/table/standard,/obj/item/weapon/storage/bag/trash,/obj/item/weapon/storage/bag/trash,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"br" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin,/obj/effect/floor_decal/corner/red/border{dir = 10; icon_state = "bordercolor"},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bs" = (/obj/machinery/light,/obj/structure/table/standard,/obj/item/weapon/pen,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bq" = (/obj/structure/table/standard,/obj/item/storage/bag/trash,/obj/item/storage/bag/trash,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"br" = (/obj/structure/table/standard,/obj/item/paper_bin,/obj/effect/floor_decal/corner/red/border{dir = 10; icon_state = "bordercolor"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bs" = (/obj/machinery/light,/obj/structure/table/standard,/obj/item/pen,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/submap/Rockybase) "bt" = (/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/submap/Rockybase) "bu" = (/obj/effect/floor_decal/corner/red/border,/mob/living/simple_mob/mechanical/viscerator,/turf/simulated/floor/tiled,/area/submap/Rockybase) "bv" = (/obj/machinery/door/airlock/security{icon_state = "door_locked"; locked = 1},/turf/simulated/floor/tiled/techfloor,/area/submap/Rockybase) "bw" = (/obj/machinery/light,/turf/simulated/floor/tiled/techfloor,/area/submap/Rockybase) -"bx" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/ionrifle/pistol,/turf/simulated/floor/tiled/techfloor,/area/submap/Rockybase) +"bx" = (/obj/structure/table/rack,/obj/item/gun/energy/ionrifle/pistol,/turf/simulated/floor/tiled/techfloor,/area/submap/Rockybase) "by" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/effect/floor_decal/corner/lime/border{dir = 4; icon_state = "bordercolor"},/turf/simulated/floor/tiled,/area/submap/Rockybase) "bz" = (/obj/machinery/door/airlock,/turf/simulated/floor/tiled,/area/submap/Rockybase) "bA" = (/obj/effect/floor_decal/corner/lime/border{dir = 8; icon_state = "bordercolor"},/mob/living/bot/farmbot{faction = "malf_drone"; name = "Mr. Weddleton"},/turf/simulated/floor/tiled,/area/submap/Rockybase) @@ -104,30 +104,30 @@ "bZ" = (/obj/machinery/door/airlock/engineering,/turf/simulated/floor/tiled,/area/submap/Rockybase) "ca" = (/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled,/area/submap/Rockybase) "cb" = (/turf/simulated/wall,/area/submap/Rockybase) -"cc" = (/obj/structure/table/standard,/obj/item/device/kit/paint/gygax/darkgygax,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cd" = (/obj/structure/table/standard,/obj/item/weapon/paper{info = "I've decided to go forward and start some small scale tests of the Vicerator delivery grenades, Might as wall make sure they work like the real ones. There are a few Fauna areas nearbye and we're working to make sure the kinks in the code are worked out. Once we've made sure they stay flying we'll work on the IFF signals."; name = "V-Grenade Notice 2"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cc" = (/obj/structure/table/standard,/obj/item/kit/paint/gygax/darkgygax,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cd" = (/obj/structure/table/standard,/obj/item/paper{info = "I've decided to go forward and start some small scale tests of the Vicerator delivery grenades, Might as wall make sure they work like the real ones. There are a few Fauna areas nearbye and we're working to make sure the kinks in the code are worked out. Once we've made sure they stay flying we'll work on the IFF signals."; name = "V-Grenade Notice 2"},/turf/simulated/floor/tiled,/area/submap/Rockybase) "ce" = (/obj/structure/table/standard,/obj/random/toolbox,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) "cf" = (/obj/structure/table/standard,/obj/random/toolbox,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cg" = (/obj/structure/table/standard,/obj/item/weapon/paper{info = "We've finally been able to get the Vicerator delivery grenades working, Took awhile to make sure the latching mechanism didn't fail but we're sure we've got it this time. Vel'Shem's worried about the miners having there own drone fab now but I say it's a small price to pay to keep the metal flowing, Especially since there telling us NT's starting to monopolize the metal rich parts."; name = "V-Grenade Notice 1"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cg" = (/obj/structure/table/standard,/obj/item/paper{info = "We've finally been able to get the Vicerator delivery grenades working, Took awhile to make sure the latching mechanism didn't fail but we're sure we've got it this time. Vel'Shem's worried about the miners having there own drone fab now but I say it's a small price to pay to keep the metal flowing, Especially since there telling us NT's starting to monopolize the metal rich parts."; name = "V-Grenade Notice 1"},/turf/simulated/floor/tiled,/area/submap/Rockybase) "ch" = (/obj/structure/table/standard,/obj/item/stack/material/diamond,/obj/item/stack/material/diamond,/obj/item/stack/material/diamond,/obj/item/stack/material/diamond,/obj/item/stack/material/diamond,/obj/item/stack/material/diamond,/obj/item/stack/material/diamond,/obj/item/stack/material/diamond,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"ci" = (/obj/structure/table/standard,/obj/item/weapon/grenade/spawnergrenade/manhacks,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"ci" = (/obj/structure/table/standard,/obj/item/grenade/spawnergrenade/manhacks,/turf/simulated/floor/tiled,/area/submap/Rockybase) "cj" = (/obj/structure/table/standard,/obj/item/stack/material/steel,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"ck" = (/obj/structure/table/standard,/obj/machinery/light{dir = 1},/obj/item/weapon/circuitboard/mecha/gygax/main,/obj/item/weapon/circuitboard/mecha/gygax/peripherals,/obj/item/weapon/circuitboard/mecha/gygax/targeting,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"ck" = (/obj/structure/table/standard,/obj/machinery/light{dir = 1},/obj/item/circuitboard/mecha/gygax/main,/obj/item/circuitboard/mecha/gygax/peripherals,/obj/item/circuitboard/mecha/gygax/targeting,/turf/simulated/floor/tiled,/area/submap/Rockybase) "cl" = (/obj/structure/door_assembly,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cm" = (/obj/item/weapon/material/shard,/turf/simulated/floor,/area/submap/Rockybase) +"cm" = (/obj/item/material/shard,/turf/simulated/floor,/area/submap/Rockybase) "cn" = (/obj/structure/table/standard,/obj/fiftyspawner/rods,/turf/simulated/floor/tiled,/area/submap/Rockybase) "co" = (/obj/machinery/vending/engivend,/turf/simulated/floor/tiled,/area/submap/Rockybase) "cp" = (/obj/machinery/vending/tool,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cq" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cr" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cq" = (/obj/structure/table/standard,/obj/item/storage/toolbox,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cr" = (/obj/structure/table/standard,/obj/item/storage/toolbox/mechanical,/turf/simulated/floor/tiled,/area/submap/Rockybase) "cs" = (/obj/item/mecha_parts/part/gygax_torso,/turf/simulated/floor/tiled,/area/submap/Rockybase) "ct" = (/obj/machinery/light{dir = 1},/obj/structure/closet/crate/medical,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cu" = (/obj/structure/table/standard,/obj/structure/table/standard,/obj/effect/decal/cleanable/dirt,/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/burn,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cu" = (/obj/structure/table/standard,/obj/structure/table/standard,/obj/effect/decal/cleanable/dirt,/obj/item/reagent_containers/hypospray/autoinjector/biginjector/burn,/turf/simulated/floor/tiled,/area/submap/Rockybase) "cv" = (/obj/structure/table/standard,/obj/item/clothing/mask/breath/medical,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/Rockybase) "cw" = (/obj/structure/closet/secure_closet/medical2,/turf/simulated/floor/tiled,/area/submap/Rockybase) "cx" = (/obj/structure/toilet{dir = 4},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) "cy" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) -"cz" = (/obj/structure/table/standard,/obj/item/device/mmi/digital/robot,/obj/item/weapon/stock_parts/capacitor/adv,/obj/item/weapon/stock_parts/scanning_module/adv,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cz" = (/obj/structure/table/standard,/obj/item/mmi/digital/robot,/obj/item/stock_parts/capacitor/adv,/obj/item/stock_parts/scanning_module/adv,/turf/simulated/floor/tiled,/area/submap/Rockybase) "cA" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/submap/Rockybase) "cB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/tiled,/area/submap/Rockybase) "cC" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/port_gen/pacman,/turf/simulated/floor,/area/submap/Rockybase) @@ -151,13 +151,13 @@ "cU" = (/obj/machinery/vending/medical,/turf/simulated/floor/tiled,/area/submap/Rockybase) "cV" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/Rockybase) "cW" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/submap/Rockybase) -"cX" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/item/weapon/material/shard,/turf/simulated/floor,/area/submap/Rockybase) +"cX" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/item/material/shard,/turf/simulated/floor,/area/submap/Rockybase) "cY" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/submap/Rockybase) "cZ" = (/obj/item/mecha_parts/part/gygax_armour,/turf/simulated/floor,/area/submap/Rockybase) "da" = (/obj/item/mecha_parts/chassis/gygax,/turf/simulated/floor/tiled,/area/submap/Rockybase) "dc" = (/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled,/area/submap/Rockybase) "dd" = (/obj/machinery/vending/robotics,/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"de" = (/obj/machinery/power/apc{cell_type = /obj/item/weapon/cell/super; dir = 8; name = "Unknown APC"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"de" = (/obj/machinery/power/apc{cell_type = /obj/item/cell/super; dir = 8; name = "Unknown APC"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled,/area/submap/Rockybase) "df" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/submap/Rockybase) "dg" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/submap/Rockybase) "dh" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/submap/Rockybase) @@ -178,7 +178,7 @@ "dw" = (/obj/structure/table/standard,/obj/item/mecha_parts/part/gygax_head,/turf/simulated/floor/tiled,/area/submap/Rockybase) "dx" = (/obj/structure/closet/toolcloset,/turf/simulated/floor/tiled,/area/submap/Rockybase) "dy" = (/obj/structure/closet/secure_closet/medical3,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"dz" = (/obj/item/weapon/surgical/surgicaldrill,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"dz" = (/obj/item/surgical/surgicaldrill,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/Rockybase) "dA" = (/obj/structure/loot_pile/maint/technical,/turf/simulated/floor/tiled,/area/submap/Rockybase) "dB" = (/obj/effect/decal/cleanable/dirt,/mob/living/bot/medbot{faction = "malf_drone"},/turf/simulated/floor/tiled,/area/submap/Rockybase) "dC" = (/obj/machinery/vending/hydroseeds,/obj/effect/floor_decal/corner/lime/border{dir = 10; icon_state = "bordercolor"},/turf/simulated/floor/tiled,/area/submap/Rockybase) diff --git a/maps/submaps/surface_submaps/wilderness/Shack1.dmm b/maps/submaps/surface_submaps/wilderness/Shack1.dmm index 604b970b929..fa629810d72 100644 --- a/maps/submaps/surface_submaps/wilderness/Shack1.dmm +++ b/maps/submaps/surface_submaps/wilderness/Shack1.dmm @@ -3,7 +3,7 @@ "c" = (/turf/template_noop,/area/submap/Shack1) "d" = (/turf/simulated/floor/outdoors/dirt,/area/submap/Shack1) "e" = (/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/holofloor/wood{icon_state = "wood_broken1"},/area/submap/Shack1) -"f" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/storage/fancy/candle_box,/obj/item/weapon/storage/box/matches,/turf/simulated/floor/wood,/area/submap/Shack1) +"f" = (/obj/structure/table/wooden_reinforced,/obj/item/storage/fancy/candle_box,/obj/item/storage/box/matches,/turf/simulated/floor/wood,/area/submap/Shack1) "g" = (/obj/structure/closet/cabinet,/obj/item/clothing/suit/storage/apron/overalls,/obj/item/clothing/under/overalls,/obj/random/mre,/turf/simulated/floor/wood,/area/submap/Shack1) "h" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood,/area/submap/Shack1) "i" = (/turf/simulated/floor/wood,/area/submap/Shack1) @@ -13,11 +13,11 @@ "m" = (/obj/structure/simple_door/wood,/turf/simulated/floor/wood,/area/submap/Shack1) "n" = (/turf/simulated/floor/holofloor/wood{icon_state = "wood_broken3"},/area/submap/Shack1) "o" = (/obj/structure/table/bench/wooden,/turf/simulated/floor/wood,/area/submap/Shack1) -"p" = (/obj/effect/decal/cleanable/dirt,/obj/structure/table/wooden_reinforced,/obj/item/weapon/storage/toolbox,/turf/simulated/floor/wood,/area/submap/Shack1) -"q" = (/obj/effect/decal/cleanable/dirt,/obj/structure/table/wooden_reinforced,/obj/item/weapon/material/twohanded/fireaxe/scythe,/turf/simulated/floor/wood,/area/submap/Shack1) +"p" = (/obj/effect/decal/cleanable/dirt,/obj/structure/table/wooden_reinforced,/obj/item/storage/toolbox,/turf/simulated/floor/wood,/area/submap/Shack1) +"q" = (/obj/effect/decal/cleanable/dirt,/obj/structure/table/wooden_reinforced,/obj/item/material/twohanded/fireaxe/scythe,/turf/simulated/floor/wood,/area/submap/Shack1) "r" = (/obj/effect/decal/cleanable/spiderling_remains,/turf/simulated/floor/wood,/area/submap/Shack1) "s" = (/turf/simulated/floor/holofloor/wood{icon_state = "wood_broken6"},/area/submap/Shack1) -"t" = (/obj/effect/decal/cleanable/dirt,/obj/structure/table/wooden_reinforced,/obj/item/device/flashlight/lamp,/turf/simulated/floor/wood,/area/submap/Shack1) +"t" = (/obj/effect/decal/cleanable/dirt,/obj/structure/table/wooden_reinforced,/obj/item/flashlight/lamp,/turf/simulated/floor/wood,/area/submap/Shack1) "u" = (/obj/structure/flora/tree/dead,/turf/template_noop,/area/submap/Shack1) (1,1,1) = {" diff --git a/maps/submaps/surface_submaps/wilderness/borglab.dmm b/maps/submaps/surface_submaps/wilderness/borglab.dmm index b2865e495de..8f46ee27c53 100644 --- a/maps/submaps/surface_submaps/wilderness/borglab.dmm +++ b/maps/submaps/surface_submaps/wilderness/borglab.dmm @@ -10,10 +10,10 @@ "aj" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/random/energy/highend,/turf/simulated/floor/reinforced,/area/submap/BorgLab) "ak" = (/obj/effect/floor_decal/techfloor/orange,/turf/simulated/floor/reinforced,/area/submap/BorgLab) "al" = (/obj/effect/floor_decal/techfloor/orange,/obj/random/contraband,/turf/simulated/floor/reinforced,/area/submap/BorgLab) -"bj" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/brown,/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/generic,/turf/simulated/floor/tiled,/area/submap/BorgLab) +"bj" = (/obj/structure/bed/padded,/obj/item/bedsheet/brown,/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/generic,/turf/simulated/floor/tiled,/area/submap/BorgLab) "bz" = (/obj/random/trash,/turf/simulated/floor/reinforced,/area/submap/BorgLab) -"bE" = (/obj/structure/closet/secure_closet/chemical{locked = 0},/obj/item/weapon/storage/box/pillbottles,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/tool/screwdriver,/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/BorgLab) -"bI" = (/obj/structure/window/reinforced,/obj/structure/grille/broken,/obj/item/weapon/material/shard{pixel_y = 10},/obj/item/weapon/material/shard{pixel_x = 6},/obj/effect/decal/cleanable/generic,/obj/machinery/door/blast/regular/open{dir = 4},/turf/simulated/floor/plating,/area/submap/BorgLab) +"bE" = (/obj/structure/closet/secure_closet/chemical{locked = 0},/obj/item/storage/box/pillbottles,/obj/item/storage/box/syringes,/obj/item/tool/screwdriver,/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/BorgLab) +"bI" = (/obj/structure/window/reinforced,/obj/structure/grille/broken,/obj/item/material/shard{pixel_y = 10},/obj/item/material/shard{pixel_x = 6},/obj/effect/decal/cleanable/generic,/obj/machinery/door/blast/regular/open{dir = 4},/turf/simulated/floor/plating,/area/submap/BorgLab) "bL" = (/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/BorgLab) "bN" = (/obj/machinery/artifact_analyser,/obj/effect/floor_decal/rust/mono_rusted3,/turf/simulated/floor/tiled,/area/submap/BorgLab) "bY" = (/obj/effect/floor_decal/techfloor/orange{dir = 1},/obj/structure/loot_pile/surface/bones,/turf/simulated/floor/reinforced,/area/submap/BorgLab) @@ -27,12 +27,12 @@ "ej" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/submap/BorgLab) "eV" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/structure/table/standard,/obj/structure/railing,/turf/simulated/floor/tiled,/area/submap/BorgLab) "fh" = (/obj/effect/floor_decal/rust,/obj/effect/gibspawner/robot,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/BorgLab) -"ga" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/item/weapon/material/shard{pixel_x = -3; pixel_y = -6},/obj/item/weapon/material/shard,/obj/effect/decal/cleanable/generic,/turf/simulated/floor/reinforced,/area/submap/BorgLab) +"ga" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/item/material/shard{pixel_x = -3; pixel_y = -6},/obj/item/material/shard,/obj/effect/decal/cleanable/generic,/turf/simulated/floor/reinforced,/area/submap/BorgLab) "gc" = (/obj/structure/railing{dir = 1},/obj/machinery/light/small/emergency/flicker{dir = 8},/turf/simulated/floor/plating,/area/submap/BorgLab) -"gf" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/snacks/burrito_cheese,/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust,/obj/item/weapon/cell/super/empty,/turf/simulated/floor/tiled,/area/submap/BorgLab) +"gf" = (/obj/structure/table/standard,/obj/item/reagent_containers/food/snacks/burrito_cheese,/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust,/obj/item/cell/super/empty,/turf/simulated/floor/tiled,/area/submap/BorgLab) "gh" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/light_construct{dir = 1},/turf/simulated/floor/tiled,/area/submap/BorgLab) "gN" = (/obj/structure/window/reinforced/tinted/frosted{dir = 4},/obj/random/junk,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/generic,/turf/simulated/floor/plating,/area/submap/BorgLab) -"he" = (/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/item/weapon/material/shard{pixel_x = 6; pixel_y = -6},/obj/machinery/door/blast/regular{dir = 8; id = "borg"; layer = 3.3; name = "Containment Door"},/turf/simulated/floor/plating,/area/submap/BorgLab) +"he" = (/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/item/material/shard{pixel_x = 6; pixel_y = -6},/obj/machinery/door/blast/regular{dir = 8; id = "borg"; layer = 3.3; name = "Containment Door"},/turf/simulated/floor/plating,/area/submap/BorgLab) "hW" = (/obj/machinery/door/airlock/maintenance/common,/turf/simulated/floor/tiled/techmaint,/area/submap/BorgLab) "ic" = (/obj/structure/window/reinforced/tinted/frosted{dir = 4},/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/BorgLab) "if" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/random/single,/turf/simulated/floor/tiled,/area/submap/BorgLab) @@ -41,9 +41,9 @@ "iY" = (/obj/structure/loot_pile/maint/boxfort,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/BorgLab) "jf" = (/obj/effect/floor_decal/rust,/obj/random/trash,/turf/simulated/floor/plating,/area/submap/BorgLab) "jz" = (/obj/machinery/light/small/emergency/flicker{dir = 8},/obj/effect/floor_decal/rust/color_rustedcee{dir = 4},/obj/machinery/button/remote/blast_door{dir = 8; id = "borg"},/turf/simulated/floor/tiled/dark,/area/submap/BorgLab) -"jR" = (/obj/effect/floor_decal/techfloor/orange,/obj/item/weapon/broken_gun/ionrifle,/turf/simulated/floor/reinforced,/area/submap/BorgLab) +"jR" = (/obj/effect/floor_decal/techfloor/orange,/obj/item/broken_gun/ionrifle,/turf/simulated/floor/reinforced,/area/submap/BorgLab) "kj" = (/obj/effect/floor_decal/rust,/obj/random/junk,/obj/random/trash,/turf/simulated/floor/tiled,/area/submap/BorgLab) -"kt" = (/obj/item/device/mass_spectrometer/adv,/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/BorgLab) +"kt" = (/obj/item/mass_spectrometer/adv,/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/BorgLab) "kI" = (/obj/machinery/door/airlock/maintenance/rnd{req_one_access = null},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/techmaint,/area/submap/BorgLab) "lz" = (/obj/machinery/light_switch,/turf/simulated/wall/r_wall,/area/submap/BorgLab) "lJ" = (/obj/effect/floor_decal/rust,/obj/structure/sink{dir = 4; pixel_x = 11},/obj/machinery/light/small/emergency/flicker{dir = 1},/turf/simulated/floor/plating,/area/submap/BorgLab) @@ -54,24 +54,24 @@ "ms" = (/obj/machinery/door/airlock/maintenance/rnd{req_one_access = null},/turf/simulated/floor/tiled/techmaint,/area/submap/BorgLab) "mw" = (/obj/effect/floor_decal/techfloor/orange{dir = 1},/obj/random/multiple/gun/projectile/rifle,/turf/simulated/floor/reinforced,/area/submap/BorgLab) "mB" = (/obj/machinery/door/window/brigdoor/westright{dir = 2; name = "Containment Pen"; req_one_access = list(43,1)},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{dir = 8; id = "borg"; layer = 3.3; name = "Containment Door"},/turf/simulated/floor/plating,/area/submap/BorgLab) -"mE" = (/obj/effect/floor_decal/techfloor/orange,/obj/item/weapon/storage/backpack/holding/duffle,/turf/simulated/floor/reinforced,/area/submap/BorgLab) +"mE" = (/obj/effect/floor_decal/techfloor/orange,/obj/item/storage/backpack/holding/duffle,/turf/simulated/floor/reinforced,/area/submap/BorgLab) "nb" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/BorgLab) "ne" = (/obj/machinery/door/window/brigdoor/westright{dir = 1; name = "Containment Pen"; req_one_access = list(43,1)},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{dir = 8; id = "borg"; layer = 3.3; name = "Containment Door"},/turf/simulated/floor/plating,/area/submap/BorgLab) "nk" = (/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/generic,/turf/simulated/floor/plating,/area/submap/BorgLab) "ny" = (/obj/structure/curtain/open/shower,/obj/effect/floor_decal/borderfloor/cee{dir = 4},/obj/effect/floor_decal/rust,/obj/machinery/shower{dir = 4; pixel_x = 5},/turf/simulated/floor/tiled,/area/submap/BorgLab) "nW" = (/obj/effect/floor_decal/rust,/obj/structure/table,/obj/effect/floor_decal/rust/mono_rusted3,/turf/simulated/floor/tiled,/area/submap/BorgLab) -"oa" = (/obj/effect/floor_decal/industrial/warning,/obj/item/weapon/material/shard{pixel_x = 6; pixel_y = -6},/turf/simulated/floor/tiled,/area/submap/BorgLab) +"oa" = (/obj/effect/floor_decal/industrial/warning,/obj/item/material/shard{pixel_x = 6; pixel_y = -6},/turf/simulated/floor/tiled,/area/submap/BorgLab) "op" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/effect/decal/cleanable/generic,/turf/simulated/floor/reinforced,/area/submap/BorgLab) "pe" = (/obj/effect/floor_decal/techfloor/orange{dir = 1},/obj/random/trash,/mob/living/simple_mob/mechanical/viscerator/mercenary,/mob/living/simple_mob/mechanical/viscerator/mercenary,/turf/simulated/floor/reinforced,/area/submap/BorgLab) "pY" = (/obj/machinery/power/port_gen/pacman,/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/submap/BorgLab) -"qa" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/snacks/monkeysdelight,/obj/effect/floor_decal/rust/mono_rusted2,/turf/simulated/floor/tiled/dark,/area/submap/BorgLab) +"qa" = (/obj/structure/table/standard,/obj/item/reagent_containers/food/snacks/monkeysdelight,/obj/effect/floor_decal/rust/mono_rusted2,/turf/simulated/floor/tiled/dark,/area/submap/BorgLab) "qW" = (/turf/simulated/floor/plating,/area/submap/BorgLab) "ra" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/generic,/turf/simulated/floor/tiled,/area/submap/BorgLab) -"rO" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/effect/floor_decal/rust,/obj/item/weapon/material/shard{pixel_x = 6},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/BorgLab) +"rO" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/effect/floor_decal/rust,/obj/item/material/shard{pixel_x = 6},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/BorgLab) "rP" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/random/junk,/turf/simulated/floor/plating,/area/submap/BorgLab) "sr" = (/turf/simulated/floor/outdoors/dirt,/area/template_noop) "sK" = (/obj/structure/closet/crate/secure/loot,/turf/simulated/floor/plating,/area/submap/BorgLab) -"ta" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/brown,/obj/machinery/light_construct{dir = 8},/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust,/turf/simulated/floor/plating,/area/submap/BorgLab) +"ta" = (/obj/structure/bed/padded,/obj/item/bedsheet/brown,/obj/machinery/light_construct{dir = 8},/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust,/turf/simulated/floor/plating,/area/submap/BorgLab) "th" = (/obj/effect/floor_decal/rust,/obj/structure/table,/obj/random/maintenance/research,/obj/effect/decal/cleanable/generic,/turf/simulated/floor/tiled,/area/submap/BorgLab) "tr" = (/obj/machinery/light_construct/small{dir = 1},/obj/machinery/portable_atmospherics/canister/phoron,/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust/color_rustedfull,/turf/simulated/floor/plating,/area/submap/BorgLab) "tx" = (/turf/simulated/floor/reinforced,/area/submap/BorgLab) @@ -81,7 +81,7 @@ "ug" = (/obj/machinery/door/window/brigdoor/westright{dir = 2; name = "Containment Pen"; req_one_access = list(43,1)},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/effect/decal/cleanable/generic,/obj/machinery/door/blast/regular/open{dir = 4},/turf/simulated/floor/plating,/area/submap/BorgLab) "uQ" = (/obj/effect/gibspawner/human,/obj/random/trash,/turf/simulated/floor/reinforced,/area/submap/BorgLab) "uX" = (/obj/effect/floor_decal/techfloor/orange{dir = 1},/obj/structure/closet/crate/secure/loot,/turf/simulated/floor/reinforced,/area/submap/BorgLab) -"wq" = (/obj/structure/table/standard,/obj/item/weapon/phone,/obj/effect/floor_decal/rust/mono_rusted2,/turf/simulated/floor/tiled/dark,/area/submap/BorgLab) +"wq" = (/obj/structure/table/standard,/obj/item/phone,/obj/effect/floor_decal/rust/mono_rusted2,/turf/simulated/floor/tiled/dark,/area/submap/BorgLab) "wt" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{dir = 8; id = "borg"; layer = 3.3; name = "Containment Door"},/turf/simulated/floor/plating,/area/submap/BorgLab) "xh" = (/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust,/obj/effect/gibspawner/human,/obj/random/trash,/mob/living/simple_mob/mechanical/combat_drone/lesser{faction = "corrupt"},/turf/simulated/floor/plating,/area/submap/BorgLab) "xk" = (/obj/structure/sign/warning/caution,/turf/simulated/wall/r_wall,/area/submap/BorgLab) @@ -89,8 +89,8 @@ "xz" = (/obj/structure/bed,/obj/effect/floor_decal/techfloor/orange{dir = 1},/turf/simulated/floor/reinforced,/area/submap/BorgLab) "xO" = (/obj/effect/decal/cleanable/generic,/mob/living/simple_mob/mechanical/viscerator/mercenary,/mob/living/simple_mob/mechanical/viscerator/mercenary,/turf/simulated/floor/reinforced,/area/submap/BorgLab) "xU" = (/obj/effect/decal/cleanable/generic,/turf/simulated/floor/tiled,/area/submap/BorgLab) -"yq" = (/obj/structure/grille/broken,/obj/item/weapon/material/shard,/obj/machinery/door/blast/regular{dir = 8; id = "borg"; layer = 3.3; name = "Containment Door"},/turf/simulated/floor/plating,/area/submap/BorgLab) -"yz" = (/obj/effect/floor_decal/industrial/warning,/obj/item/weapon/material/shard{pixel_x = -3; pixel_y = -6},/mob/living/simple_mob/mechanical/viscerator/mercenary,/mob/living/simple_mob/mechanical/viscerator/mercenary,/turf/simulated/floor/reinforced,/area/submap/BorgLab) +"yq" = (/obj/structure/grille/broken,/obj/item/material/shard,/obj/machinery/door/blast/regular{dir = 8; id = "borg"; layer = 3.3; name = "Containment Door"},/turf/simulated/floor/plating,/area/submap/BorgLab) +"yz" = (/obj/effect/floor_decal/industrial/warning,/obj/item/material/shard{pixel_x = -3; pixel_y = -6},/mob/living/simple_mob/mechanical/viscerator/mercenary,/mob/living/simple_mob/mechanical/viscerator/mercenary,/turf/simulated/floor/reinforced,/area/submap/BorgLab) "yB" = (/obj/random/trash,/mob/living/simple_mob/mechanical/mecha/hoverpod,/turf/simulated/floor/reinforced,/area/submap/BorgLab) "yI" = (/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust,/mob/living/simple_mob/mechanical/combat_drone/lesser{faction = "corrupt"},/turf/simulated/floor/plating,/area/submap/BorgLab) "yR" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled,/area/submap/BorgLab) @@ -100,20 +100,20 @@ "AI" = (/mob/living/simple_mob/mechanical/combat_drone/lesser{faction = "corrupt"},/turf/simulated/floor/reinforced,/area/submap/BorgLab) "Bl" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/submap/BorgLab) "Bq" = (/obj/random/trash,/mob/living/simple_mob/mechanical/mining_drone,/turf/simulated/floor/reinforced,/area/submap/BorgLab) -"Cf" = (/obj/structure/table/standard,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/effect/floor_decal/rust,/obj/item/weapon/module/power_control,/turf/simulated/floor/tiled,/area/submap/BorgLab) +"Cf" = (/obj/structure/table/standard,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/effect/floor_decal/rust,/obj/item/module/power_control,/turf/simulated/floor/tiled,/area/submap/BorgLab) "Cz" = (/obj/item/stack/material/phoron{amount = 10},/turf/simulated/floor/plating,/area/submap/BorgLab) "CA" = (/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/BorgLab) "CS" = (/obj/effect/floor_decal/rust,/obj/effect/gibspawner/robot,/turf/simulated/floor/plating,/area/submap/BorgLab) "CX" = (/obj/structure/table/standard,/obj/random/junk,/obj/random/trash,/obj/random/maintenance/research,/turf/simulated/floor/tiled,/area/submap/BorgLab) -"Dj" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/item/weapon/reagent_containers/dropper,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled,/area/submap/BorgLab) +"Dj" = (/obj/structure/table/standard,/obj/item/reagent_containers/glass/beaker/large,/obj/item/reagent_containers/dropper,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled,/area/submap/BorgLab) "Dq" = (/turf/template_noop,/area/submap/BorgLab) "Ds" = (/obj/effect/floor_decal/rust,/obj/structure/closet/firecloset/full/double,/obj/effect/floor_decal/rust/color_rustedfull,/turf/simulated/floor/tiled,/area/submap/BorgLab) "Dv" = (/obj/structure/toilet,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/freezer,/area/submap/BorgLab) "DF" = (/turf/template_noop,/area/template_noop) "DW" = (/obj/random/trash,/obj/random/maintenance/research,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/BorgLab) -"Fj" = (/obj/effect/floor_decal/industrial/warning,/obj/item/weapon/material/shard{pixel_y = 10},/turf/simulated/floor/tiled,/area/submap/BorgLab) +"Fj" = (/obj/effect/floor_decal/industrial/warning,/obj/item/material/shard{pixel_y = 10},/turf/simulated/floor/tiled,/area/submap/BorgLab) "Ft" = (/obj/effect/floor_decal/industrial/warning,/obj/random/junk,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/BorgLab) -"Fu" = (/obj/item/weapon/storage/box/beakers,/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/BorgLab) +"Fu" = (/obj/item/storage/box/beakers,/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/BorgLab) "Fv" = (/obj/structure/table/standard,/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust,/obj/random/maintenance/research,/turf/simulated/floor/plating,/area/submap/BorgLab) "Gy" = (/obj/random/maintenance/research,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/submap/BorgLab) "Gz" = (/mob/living/simple_mob/mechanical/mining_drone,/turf/simulated/floor/reinforced,/area/submap/BorgLab) @@ -122,31 +122,31 @@ "GS" = (/obj/item/stack/material/gold{amount = 25},/turf/simulated/floor/reinforced,/area/submap/BorgLab) "Ic" = (/obj/random/trash,/mob/living/simple_mob/mechanical/mecha/ripley/deathripley,/turf/simulated/floor/reinforced,/area/submap/BorgLab) "Jd" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/reinforced,/area/submap/BorgLab) -"Jh" = (/obj/effect/floor_decal/rust,/obj/item/weapon/material/shard,/obj/effect/floor_decal/rust/mono_rusted3,/obj/random/trash,/turf/simulated/floor/tiled,/area/submap/BorgLab) +"Jh" = (/obj/effect/floor_decal/rust,/obj/item/material/shard,/obj/effect/floor_decal/rust/mono_rusted3,/obj/random/trash,/turf/simulated/floor/tiled,/area/submap/BorgLab) "Jm" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/BorgLab) -"Jo" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/item/weapon/material/shard{pixel_y = 10},/obj/item/weapon/material/shard{pixel_x = 6; pixel_y = -6},/obj/machinery/door/blast/regular{dir = 8; id = "borg"; layer = 3.3; name = "Containment Door"},/turf/simulated/floor/plating,/area/submap/BorgLab) +"Jo" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/item/material/shard{pixel_y = 10},/obj/item/material/shard{pixel_x = 6; pixel_y = -6},/obj/machinery/door/blast/regular{dir = 8; id = "borg"; layer = 3.3; name = "Containment Door"},/turf/simulated/floor/plating,/area/submap/BorgLab) "Jp" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust,/turf/simulated/floor/plating,/area/submap/BorgLab) "Jr" = (/obj/effect/floor_decal/techfloor/orange{dir = 1},/mob/living/simple_mob/mechanical/viscerator/mercenary,/mob/living/simple_mob/mechanical/viscerator/mercenary,/turf/simulated/floor/reinforced,/area/submap/BorgLab) "JZ" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/structure/railing{dir = 1},/turf/simulated/floor/tiled,/area/submap/BorgLab) -"KH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/item/weapon/material/shard{pixel_y = 10},/obj/item/weapon/material/shard{pixel_x = 6; pixel_y = -6},/obj/effect/decal/cleanable/generic,/obj/machinery/door/blast/regular/open{dir = 4},/turf/simulated/floor/plating,/area/submap/BorgLab) -"Lr" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille/broken,/obj/item/weapon/material/shard{pixel_x = -3; pixel_y = -6},/obj/item/weapon/material/shard{pixel_y = 10},/obj/machinery/door/blast/regular{dir = 8; id = "borg"; layer = 3.3; name = "Containment Door"},/turf/simulated/floor/plating,/area/submap/BorgLab) +"KH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/item/material/shard{pixel_y = 10},/obj/item/material/shard{pixel_x = 6; pixel_y = -6},/obj/effect/decal/cleanable/generic,/obj/machinery/door/blast/regular/open{dir = 4},/turf/simulated/floor/plating,/area/submap/BorgLab) +"Lr" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille/broken,/obj/item/material/shard{pixel_x = -3; pixel_y = -6},/obj/item/material/shard{pixel_y = 10},/obj/machinery/door/blast/regular{dir = 8; id = "borg"; layer = 3.3; name = "Containment Door"},/turf/simulated/floor/plating,/area/submap/BorgLab) "Lz" = (/obj/structure/table/standard,/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust,/obj/random/trash,/obj/random/maintenance/research,/turf/simulated/floor/tiled,/area/submap/BorgLab) -"LB" = (/obj/item/stack/material/phoron{amount = 10},/obj/random/toolbox,/obj/random/toolbox,/obj/item/weapon/storage/box/lights/mixed,/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/item/stack/material/phoron{amount = 10},/obj/structure/table/rack,/turf/simulated/floor/plating,/area/submap/BorgLab) +"LB" = (/obj/item/stack/material/phoron{amount = 10},/obj/random/toolbox,/obj/random/toolbox,/obj/item/storage/box/lights/mixed,/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/item/stack/material/phoron{amount = 10},/obj/structure/table/rack,/turf/simulated/floor/plating,/area/submap/BorgLab) "LC" = (/obj/effect/gibspawner/human,/mob/living/simple_mob/mechanical/mecha/odysseus/murdysseus{faction = "corrupt"},/turf/simulated/floor/reinforced,/area/submap/BorgLab) "MT" = (/obj/machinery/space_heater,/obj/effect/floor_decal/rust,/obj/machinery/light/small/emergency/flicker{dir = 4},/turf/simulated/floor/tiled,/area/submap/BorgLab) "Nb" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/decal/cleanable/generic,/turf/simulated/floor/tiled,/area/submap/BorgLab) "Nj" = (/obj/effect/floor_decal/rust,/turf/simulated/floor/plating,/area/submap/BorgLab) -"Nq" = (/obj/effect/floor_decal/rust,/obj/item/weapon/material/shard,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/BorgLab) +"Nq" = (/obj/effect/floor_decal/rust,/obj/item/material/shard,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/BorgLab) "Ns" = (/obj/effect/floor_decal/rust,/obj/effect/gibspawner/robot,/turf/simulated/floor/tiled,/area/submap/BorgLab) "Nt" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/effect/floor_decal/rust,/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/submap/BorgLab) "Nv" = (/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust/mono_rusted3,/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/random/trash,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/BorgLab) -"NB" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/item/weapon/material/shard{pixel_x = 6; pixel_y = -6},/turf/simulated/floor/reinforced,/area/submap/BorgLab) -"NC" = (/obj/structure/grille/broken,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced{dir = 1},/obj/item/weapon/material/shard,/obj/item/weapon/material/shard{pixel_y = 10},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/submap/BorgLab) +"NB" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/item/material/shard{pixel_x = 6; pixel_y = -6},/turf/simulated/floor/reinforced,/area/submap/BorgLab) +"NC" = (/obj/structure/grille/broken,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced{dir = 1},/obj/item/material/shard,/obj/item/material/shard{pixel_y = 10},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/submap/BorgLab) "Oq" = (/obj/effect/floor_decal/rust,/obj/random/trash,/obj/item/stack/material/phoron{amount = 10},/obj/effect/decal/cleanable/generic,/turf/simulated/floor/plating,/area/submap/BorgLab) -"Oz" = (/obj/item/weapon/pickaxe/plasmacutter,/obj/machinery/firealarm{pixel_y = 24},/obj/effect/floor_decal/rust,/obj/item/weapon/material/shard,/turf/simulated/floor/tiled,/area/submap/BorgLab) +"Oz" = (/obj/item/pickaxe/plasmacutter,/obj/machinery/firealarm{pixel_y = 24},/obj/effect/floor_decal/rust,/obj/item/material/shard,/turf/simulated/floor/tiled,/area/submap/BorgLab) "OD" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/generic,/turf/simulated/floor/plating,/area/submap/BorgLab) "OH" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular/open{dir = 4},/turf/simulated/floor/plating,/area/submap/BorgLab) -"OW" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp,/obj/effect/floor_decal/techfloor/orange{dir = 1},/obj/item/weapon/broken_gun/laserrifle,/turf/simulated/floor/reinforced,/area/submap/BorgLab) +"OW" = (/obj/structure/table/standard,/obj/item/flashlight/lamp,/obj/effect/floor_decal/techfloor/orange{dir = 1},/obj/item/broken_gun/laserrifle,/turf/simulated/floor/reinforced,/area/submap/BorgLab) "Pf" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/effect/decal/cleanable/generic,/turf/simulated/floor/tiled,/area/submap/BorgLab) "Qe" = (/obj/effect/map_effect/interval/sound_emitter/energy_gunfight,/turf/simulated/floor/plating,/area/submap/BorgLab) "Qg" = (/turf/simulated/mineral/ignore_mapgen,/area/template_noop) @@ -171,28 +171,28 @@ "TW" = (/obj/effect/gibspawner/human,/turf/simulated/floor/reinforced,/area/submap/BorgLab) "Uj" = (/obj/structure/closet/firecloset/full/double,/obj/effect/floor_decal/rust{pixel_y = 1},/obj/machinery/light/small/emergency/flicker{dir = 1},/obj/random/maintenance,/obj/random/maintenance/medical,/obj/effect/floor_decal/rust/color_rustedcee,/obj/effect/decal/cleanable/generic,/turf/simulated/floor/tiled,/area/submap/BorgLab) "Uy" = (/obj/effect/floor_decal/rust,/obj/random/trash,/obj/random/maintenance/research,/turf/simulated/floor/tiled,/area/submap/BorgLab) -"Uz" = (/obj/machinery/shower{dir = 1},/obj/structure/curtain/open/shower,/obj/effect/floor_decal/borderfloorwhite/cee{dir = 1},/obj/item/weapon/soap/nanotrasen,/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/freezer,/area/submap/BorgLab) +"Uz" = (/obj/machinery/shower{dir = 1},/obj/structure/curtain/open/shower,/obj/effect/floor_decal/borderfloorwhite/cee{dir = 1},/obj/item/soap/nanotrasen,/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/freezer,/area/submap/BorgLab) "UM" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/decal/cleanable/generic,/turf/simulated/floor/reinforced,/area/submap/BorgLab) "UV" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust,/turf/simulated/floor/plating,/area/submap/BorgLab) -"UW" = (/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille/broken,/obj/item/weapon/material/shard{pixel_x = 6; pixel_y = -6},/obj/machinery/door/blast/regular/open{dir = 4},/turf/simulated/floor/plating,/area/submap/BorgLab) +"UW" = (/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille/broken,/obj/item/material/shard{pixel_x = 6; pixel_y = -6},/obj/machinery/door/blast/regular/open{dir = 4},/turf/simulated/floor/plating,/area/submap/BorgLab) "Vc" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/reinforced,/area/submap/BorgLab) "Vh" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/generic,/turf/simulated/floor/tiled,/area/submap/BorgLab) -"Vr" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/effect/floor_decal/rust,/obj/item/weapon/material/shard{pixel_x = 6; pixel_y = -6},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/BorgLab) +"Vr" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/effect/floor_decal/rust,/obj/item/material/shard{pixel_x = 6; pixel_y = -6},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/BorgLab) "VH" = (/obj/structure/cable/blue,/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust,/obj/item/frame/apc,/turf/simulated/floor/plating,/area/submap/BorgLab) "VU" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/generic,/turf/simulated/floor/plating,/area/submap/BorgLab) "Wh" = (/mob/living/simple_mob/mechanical/viscerator/mercenary,/mob/living/simple_mob/mechanical/viscerator/mercenary,/turf/simulated/floor/reinforced,/area/submap/BorgLab) "Wq" = (/obj/effect/floor_decal/rust,/mob/living/simple_mob/mechanical/viscerator/mercenary,/mob/living/simple_mob/mechanical/viscerator/mercenary,/turf/simulated/floor/plating,/area/submap/BorgLab) -"WK" = (/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust,/obj/item/weapon/broken_gun/laser_retro,/mob/living/simple_mob/mechanical/viscerator/mercenary,/mob/living/simple_mob/mechanical/viscerator/mercenary,/turf/simulated/floor/plating,/area/submap/BorgLab) +"WK" = (/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust,/obj/item/broken_gun/laser_retro,/mob/living/simple_mob/mechanical/viscerator/mercenary,/mob/living/simple_mob/mechanical/viscerator/mercenary,/turf/simulated/floor/plating,/area/submap/BorgLab) "WQ" = (/turf/simulated/wall/r_wall,/area/submap/BorgLab) "WR" = (/obj/effect/floor_decal/rust,/obj/effect/floor_decal/industrial/warning/cee{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/BorgLab) "XG" = (/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust/mono_rusted3,/obj/effect/gibspawner/human,/obj/effect/decal/cleanable/generic,/turf/simulated/floor/tiled,/area/submap/BorgLab) "Yk" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/submap/BorgLab) -"Yy" = (/obj/structure/table/steel,/obj/item/weapon/coin/phoron,/obj/item/weapon/storage/toolbox/syndicate/powertools,/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust,/obj/random/maintenance/research,/obj/random/maintenance/research,/turf/simulated/floor/plating,/area/submap/BorgLab) +"Yy" = (/obj/structure/table/steel,/obj/item/coin/phoron,/obj/item/storage/toolbox/syndicate/powertools,/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust,/obj/random/maintenance/research,/obj/random/maintenance/research,/turf/simulated/floor/plating,/area/submap/BorgLab) "YD" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{dir = 8; id = "borg"; layer = 3.3; name = "Containment Door"},/turf/simulated/floor/plating,/area/submap/BorgLab) "YZ" = (/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/submap/BorgLab) "Za" = (/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled,/area/submap/BorgLab) "Zc" = (/obj/structure/railing,/turf/simulated/floor/plating,/area/submap/BorgLab) -"Zn" = (/obj/item/device/measuring_tape,/turf/simulated/floor/plating,/area/submap/BorgLab) +"Zn" = (/obj/item/measuring_tape,/turf/simulated/floor/plating,/area/submap/BorgLab) "Zq" = (/obj/machinery/door/window/brigdoor/westright{dir = 1; name = "Containment Pen"; req_one_access = list(43,1)},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/effect/decal/cleanable/generic,/obj/machinery/door/blast/regular/open{dir = 4},/turf/simulated/floor/plating,/area/submap/BorgLab) "Zt" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/submap/BorgLab) "Zy" = (/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust,/obj/random/junk,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/BorgLab) diff --git a/maps/submaps/surface_submaps/wilderness/butchershack.dmm b/maps/submaps/surface_submaps/wilderness/butchershack.dmm index d32c35b6da2..0059a6674d9 100644 --- a/maps/submaps/surface_submaps/wilderness/butchershack.dmm +++ b/maps/submaps/surface_submaps/wilderness/butchershack.dmm @@ -1,7 +1,7 @@ "a" = (/turf/template_noop,/area/template_noop) "b" = (/turf/simulated/wall/log_sif,/area/submap/ButcherShack) "c" = (/turf/simulated/floor/wood/sif,/area/submap/ButcherShack) -"d" = (/obj/structure/closet,/obj/effect/decal/cleanable/cobweb,/obj/item/weapon/beartrap,/obj/item/weapon/beartrap,/obj/item/weapon/packageWrap,/obj/item/weapon/material/knife/hook,/turf/simulated/floor/wood/sif,/area/submap/ButcherShack) +"d" = (/obj/structure/closet,/obj/effect/decal/cleanable/cobweb,/obj/item/beartrap,/obj/item/beartrap,/obj/item/packageWrap,/obj/item/material/knife/hook,/turf/simulated/floor/wood/sif,/area/submap/ButcherShack) "e" = (/obj/structure/closet/secure_closet/freezer/meat,/turf/simulated/floor/wood/sif,/area/submap/ButcherShack) "f" = (/obj/structure/closet/crate/freezer,/obj/effect/decal/cleanable/blood/gibs,/obj/random/meat,/obj/random/meat,/obj/random/meat,/obj/random/meat,/obj/random/meat,/obj/random/meat,/obj/random/meat,/obj/random/meat,/obj/random/meat,/obj/random/meat,/turf/simulated/floor/wood/sif/broken,/area/submap/ButcherShack) "g" = (/obj/machinery/gibber/autogibber,/turf/simulated/floor/wood/sif,/area/submap/ButcherShack) @@ -14,10 +14,10 @@ "n" = (/obj/structure/kitchenspike,/obj/effect/decal/cleanable/blood/drip,/turf/simulated/floor/wood/sif,/area/submap/ButcherShack) "o" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor/wood/sif,/area/submap/ButcherShack) "p" = (/obj/structure/table/standard,/obj/item/clothing/suit/chef/classic,/turf/simulated/floor/wood/sif,/area/submap/ButcherShack) -"q" = (/obj/structure/table/standard,/obj/effect/decal/cleanable/blood,/obj/item/weapon/material/knife/butch,/turf/simulated/floor/wood/sif/broken,/area/submap/ButcherShack) -"r" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/snacks/cutlet,/obj/item/weapon/reagent_containers/food/snacks/cutlet,/obj/item/weapon/reagent_containers/food/snacks/cutlet,/obj/item/weapon/reagent_containers/food/snacks/sausage,/turf/simulated/floor/wood/sif,/area/submap/ButcherShack) +"q" = (/obj/structure/table/standard,/obj/effect/decal/cleanable/blood,/obj/item/material/knife/butch,/turf/simulated/floor/wood/sif/broken,/area/submap/ButcherShack) +"r" = (/obj/structure/table/standard,/obj/item/reagent_containers/food/snacks/cutlet,/obj/item/reagent_containers/food/snacks/cutlet,/obj/item/reagent_containers/food/snacks/cutlet,/obj/item/reagent_containers/food/snacks/sausage,/turf/simulated/floor/wood/sif,/area/submap/ButcherShack) "s" = (/obj/structure/coatrack,/turf/simulated/floor/wood/sif,/area/submap/ButcherShack) -"t" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/brown,/turf/simulated/floor/wood/sif,/area/submap/ButcherShack) +"t" = (/obj/structure/bed/padded,/obj/item/bedsheet/brown,/turf/simulated/floor/wood/sif,/area/submap/ButcherShack) "u" = (/obj/effect/decal/cleanable/blood/drip,/turf/simulated/floor/wood/sif/broken,/area/submap/ButcherShack) "v" = (/turf/simulated/floor/outdoors/dirt,/area/submap/ButcherShack) "w" = (/obj/structure/window/basic,/obj/structure/curtain,/turf/simulated/floor/wood/sif,/area/submap/ButcherShack) diff --git a/maps/submaps/surface_submaps/wilderness/chasm.dmm b/maps/submaps/surface_submaps/wilderness/chasm.dmm index 70a25d6ed43..c874c6d6e7f 100644 --- a/maps/submaps/surface_submaps/wilderness/chasm.dmm +++ b/maps/submaps/surface_submaps/wilderness/chasm.dmm @@ -1,20 +1,20 @@ "af" = (/obj/random/junk,/turf/simulated/floor/outdoors/dirt,/area/template_noop) -"aE" = (/obj/item/weapon/storage/firstaid/bonemed,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/Chasm) +"aE" = (/obj/item/storage/firstaid/bonemed,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/Chasm) "aF" = (/obj/structure/cliff/automatic{dir = 6},/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/Chasm) "bD" = (/turf/template_noop,/area/submap/Chasm) -"bF" = (/obj/item/weapon/bone/ribs,/obj/item/weapon/melee/energy/axe/charge/loaded,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/Chasm) +"bF" = (/obj/item/bone/ribs,/obj/item/melee/energy/axe/charge/loaded,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/Chasm) "bN" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/mob/living/simple_mob/animal/giant_spider/lurker,/turf/simulated/floor/outdoors/dirt,/area/submap/Chasm) "cj" = (/turf/simulated/floor/outdoors/dirt,/area/template_noop) "dD" = (/mob/living/simple_mob/animal/giant_spider/tunneler,/obj/effect/spider/stickyweb/dark,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/Chasm) "eY" = (/obj/random/junk,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Chasm) -"gK" = (/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust/color_rustedfull,/obj/effect/decal/cleanable/dirt,/obj/item/weapon/cat_box/black,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/Chasm) +"gK" = (/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust/color_rustedfull,/obj/effect/decal/cleanable/dirt,/obj/item/cat_box/black,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/Chasm) "gR" = (/obj/random/obstruction,/obj/effect/spider/stickyweb/dark,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/Chasm) "hG" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/mob/living/simple_mob/animal/giant_spider/webslinger,/turf/simulated/floor/outdoors/rocks,/area/submap/Chasm) "hQ" = (/obj/effect/floor_decal/rust,/obj/effect/spider/stickyweb/dark,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/Chasm) "hR" = (/turf/template_noop,/area/template_noop) "ik" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Chasm) "iu" = (/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust/mono_rusted2,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/Chasm) -"iF" = (/obj/item/weapon/bone/skull,/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/spider/stickyweb,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/Chasm) +"iF" = (/obj/item/bone/skull,/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/spider/stickyweb,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/Chasm) "iR" = (/obj/random/trash,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Chasm) "kn" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Chasm) "kH" = (/obj/random/junk,/turf/template_noop,/area/submap/Chasm) @@ -27,32 +27,32 @@ "nJ" = (/obj/structure/snowman/spider,/turf/template_noop,/area/template_noop) "oA" = (/obj/random/obstruction,/obj/effect/decal/cleanable/cobweb,/obj/effect/spider/stickyweb/dark,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/Chasm) "pk" = (/obj/random/maintenance,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Chasm) -"qx" = (/obj/structure/cliff/automatic{dir = 2},/obj/item/weapon/bone/arm,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/Chasm) +"qx" = (/obj/structure/cliff/automatic{dir = 2},/obj/item/bone/arm,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/Chasm) "qB" = (/obj/random/trash,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/spider/stickyweb/dark,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Chasm) "rI" = (/obj/effect/decal/cleanable/dirt,/obj/effect/spider/stickyweb/dark,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Chasm) "rR" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/spider/stickyweb/dark,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Chasm) "rY" = (/obj/structure/cliff/automatic{dir = 8},/obj/structure/ledge/ledge_stairs{dir = 1},/obj/structure/barricade,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/Chasm) "sg" = (/obj/structure/loot_pile/mecha/odysseus,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/Chasm) -"st" = (/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/dirt,/obj/item/weapon/bone/arm,/turf/simulated/floor/plating,/area/submap/Chasm) +"st" = (/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/dirt,/obj/item/bone/arm,/turf/simulated/floor/plating,/area/submap/Chasm) "tg" = (/obj/structure/ledge/ledge_stairs{dir = 1; name = "loose rock stairs"},/obj/effect/step_trigger/thrower,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/spider/stickyweb/dark,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/Chasm) -"uc" = (/obj/item/weapon/bone,/obj/random/junk,/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust,/turf/simulated/floor/plating,/area/submap/Chasm) +"uc" = (/obj/item/bone,/obj/random/junk,/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust,/turf/simulated/floor/plating,/area/submap/Chasm) "uf" = (/obj/structure/cliff/automatic,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/Chasm) "uh" = (/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Chasm) -"uj" = (/obj/structure/cliff/automatic/corner{dir = 10},/obj/item/weapon/bone/skull/unknown,/obj/random/outcrop,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/Chasm) +"uj" = (/obj/structure/cliff/automatic/corner{dir = 10},/obj/item/bone/skull/unknown,/obj/random/outcrop,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/Chasm) "vd" = (/obj/effect/floor_decal/rust,/obj/effect/spider/stickyweb,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/Chasm) "vV" = (/obj/effect/decal/cleanable/dirt,/obj/effect/spider/stickyweb/dark,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/Chasm) "wn" = (/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/dirt,/obj/effect/spider/stickyweb,/turf/simulated/floor/plating,/area/submap/Chasm) "wF" = (/obj/random/junk,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/Chasm) "wP" = (/obj/random/humanoidremains,/obj/effect/spider/stickyweb,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/Chasm) "xt" = (/obj/effect/spider/stickyweb/dark,/turf/simulated/mineral/ignore_mapgen,/area/submap/Chasm) -"yq" = (/obj/item/weapon/bone/leg,/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust/color_rusted,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/Chasm) +"yq" = (/obj/item/bone/leg,/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust/color_rusted,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/Chasm) "yD" = (/obj/effect/decal/cleanable/dirt,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/Chasm) "yL" = (/obj/structure/outcrop/platinum,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/Chasm) "zq" = (/obj/structure/outcrop/diamond,/obj/effect/spider/stickyweb,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/Chasm) "zs" = (/obj/structure/cliff/automatic/corner{dir = 6},/obj/structure/outcrop/diamond,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/Chasm) "zt" = (/obj/random/trash,/obj/effect/spider/stickyweb,/turf/simulated/floor/outdoors/dirt,/area/submap/Chasm) "Aq" = (/obj/structure/cliff/automatic{dir = 8},/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/Chasm) -"BQ" = (/obj/item/weapon/bone,/obj/effect/spider/stickyweb,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/Chasm) +"BQ" = (/obj/item/bone,/obj/effect/spider/stickyweb,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/Chasm) "BU" = (/obj/structure/cliff/automatic/corner{dir = 10},/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/Chasm) "Co" = (/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/dirt,/mob/living/simple_mob/animal/giant_spider/nurse/hat,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/Chasm) "Cs" = (/obj/effect/step_trigger/thrower,/obj/structure/ledge/ledge_stairs{dir = 1; name = "loose rock stairs"},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/spider/stickyweb/dark,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/Chasm) @@ -63,12 +63,12 @@ "DQ" = (/obj/structure/cliff/automatic{dir = 4},/obj/structure/ledge/ledge_stairs{dir = 1},/obj/structure/barricade,/turf/simulated/floor/plating,/area/submap/Chasm) "DS" = (/obj/effect/spider/stickyweb,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/Chasm) "DW" = (/obj/structure/cliff/automatic{dir = 4},/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/Chasm) -"Ea" = (/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/dirt,/obj/item/weapon/pickaxe/excavationdrill,/turf/simulated/floor/plating,/area/submap/Chasm) +"Ea" = (/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/dirt,/obj/item/pickaxe/excavationdrill,/turf/simulated/floor/plating,/area/submap/Chasm) "Ec" = (/obj/effect/spider/stickyweb,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Chasm) "Ee" = (/turf/simulated/floor/outdoors/dirt,/area/submap/Chasm) "Eh" = (/obj/structure/cliff/automatic/corner{dir = 6},/obj/structure/loot_pile/maint/boxfort,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/Chasm) "Ep" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/spider/stickyweb,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Chasm) -"Eu" = (/obj/item/weapon/bone,/obj/effect/floor_decal/rust,/obj/effect/spider/stickyweb,/obj/random/tool/power,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/Chasm) +"Eu" = (/obj/item/bone,/obj/effect/floor_decal/rust,/obj/effect/spider/stickyweb,/obj/random/tool/power,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/Chasm) "Fe" = (/obj/random/outcrop,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/Chasm) "Fr" = (/obj/random/junk,/obj/effect/spider/stickyweb,/turf/simulated/floor/outdoors/dirt,/area/submap/Chasm) "HE" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/spider/stickyweb,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/Chasm) @@ -87,7 +87,7 @@ "Ov" = (/obj/structure/loot_pile/surface/bones,/obj/effect/spider/stickyweb,/obj/random/outcrop,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/Chasm) "Pk" = (/obj/random/multiple/gun/projectile/rifle,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/Chasm) "Pr" = (/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/dirt,/obj/effect/map_effect/interval/sound_emitter/geiger/high,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/Chasm) -"Qi" = (/obj/item/weapon/bone/skull/tajaran,/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/Chasm) +"Qi" = (/obj/item/bone/skull/tajaran,/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/Chasm) "Qr" = (/obj/structure/cliff/automatic/corner{dir = 6},/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/Chasm) "Rx" = (/obj/effect/spider/stickyweb,/turf/simulated/floor/outdoors/dirt,/area/submap/Chasm) "Rz" = (/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/Chasm) @@ -97,8 +97,8 @@ "SA" = (/obj/random/junk,/mob/living/simple_mob/animal/giant_spider/hunter,/obj/effect/spider/stickyweb,/turf/simulated/floor/outdoors/dirt,/area/submap/Chasm) "SD" = (/turf/simulated/mineral/ignore_mapgen,/area/template_noop) "SH" = (/obj/structure/loot_pile/maint/boxfort,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/Chasm) -"SS" = (/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust/color_rustedfull,/obj/item/weapon/book/manual/rust_engine,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/Chasm) -"Tl" = (/obj/effect/floor_decal/rust,/obj/item/weapon/storage/bag/ore,/turf/simulated/floor/plating,/area/submap/Chasm) +"SS" = (/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust/color_rustedfull,/obj/item/book/manual/rust_engine,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/Chasm) +"Tl" = (/obj/effect/floor_decal/rust,/obj/item/storage/bag/ore,/turf/simulated/floor/plating,/area/submap/Chasm) "Tp" = (/obj/structure/cliff/automatic{dir = 9},/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/Chasm) "Tt" = (/obj/effect/spider/stickyweb/dark,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Chasm) "TR" = (/obj/random/outcrop,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/Chasm) @@ -106,13 +106,13 @@ "VD" = (/obj/structure/loot_pile/maint/technical,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/Chasm) "WE" = (/obj/effect/floor_decal/rust/mono_rusted2,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/Chasm) "XU" = (/obj/structure/cliff/automatic/corner{dir = 10},/obj/effect/spider/stickyweb,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/Chasm) -"XZ" = (/obj/item/weapon/bone/ribs,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/Chasm) +"XZ" = (/obj/item/bone/ribs,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/Chasm) "Yp" = (/obj/structure/ledge/ledge_stairs{dir = 1},/obj/structure/barricade,/turf/simulated/floor/plating,/area/submap/Chasm) "YR" = (/obj/structure/cliff/automatic/corner{dir = 10},/obj/structure/loot_pile/maint/technical,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/Chasm) "YU" = (/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust/color_rustedcee,/obj/effect/decal/cleanable/dirt,/obj/random/humanoidremains,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/Chasm) "Za" = (/obj/structure/cliff/automatic{dir = 10},/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/Chasm) "Zd" = (/mob/living/simple_mob/animal/giant_spider/hunter,/turf/simulated/floor/outdoors/dirt,/area/submap/Chasm) -"Zn" = (/obj/item/weapon/bone/skull,/obj/effect/spider/stickyweb,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/Chasm) +"Zn" = (/obj/item/bone/skull,/obj/effect/spider/stickyweb,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/Chasm) "ZS" = (/mob/living/simple_mob/animal/giant_spider/tunneler,/obj/effect/spider/stickyweb,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/Chasm) (1,1,1) = {" diff --git a/maps/submaps/surface_submaps/wilderness/chemspill2.dmm b/maps/submaps/surface_submaps/wilderness/chemspill2.dmm index d41f4417944..d7973db3749 100644 --- a/maps/submaps/surface_submaps/wilderness/chemspill2.dmm +++ b/maps/submaps/surface_submaps/wilderness/chemspill2.dmm @@ -17,7 +17,7 @@ "q" = (/obj/random/tech_supply,/obj/random/energy,/turf/simulated/floor/outdoors/dirt/sif,/area/submap/ChemSpill2) "r" = (/obj/random/humanoidremains,/obj/random/rigsuit,/turf/simulated/floor/outdoors/dirt/sif,/area/submap/ChemSpill2) "s" = (/obj/effect/decal/remains/lizard,/turf/simulated/floor/outdoors/mud,/area/submap/ChemSpill2) -"t" = (/obj/item/weapon/storage/mre/random,/turf/simulated/floor/outdoors/dirt/sif,/area/submap/ChemSpill2) +"t" = (/obj/item/storage/mre/random,/turf/simulated/floor/outdoors/dirt/sif,/area/submap/ChemSpill2) "u" = (/obj/effect/decal/remains/mouse,/turf/simulated/floor/outdoors/mud,/area/submap/ChemSpill2) "v" = (/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor/outdoors/rocks,/area/submap/ChemSpill2) "w" = (/obj/effect/decal/remains/xeno,/turf/simulated/floor/outdoors/mud,/area/submap/ChemSpill2) diff --git a/maps/submaps/surface_submaps/wilderness/deathden.dmm b/maps/submaps/surface_submaps/wilderness/deathden.dmm index d0bbccc747e..a4eca0a9651 100644 --- a/maps/submaps/surface_submaps/wilderness/deathden.dmm +++ b/maps/submaps/surface_submaps/wilderness/deathden.dmm @@ -6,9 +6,9 @@ "cf" = (/turf/template_noop,/area/template_noop) "dr" = (/obj/random/trash,/obj/random/junk,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood/sif/broken,/area/submap/DeathDen) "dL" = (/obj/random/maintenance/medical,/obj/random/junk,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) -"dV" = (/obj/item/weapon/reagent_containers/food/snacks/candy_corn{pixel_y = 6},/obj/structure/table/wooden_reinforced,/obj/item/weapon/flame/candle/everburn,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) -"ey" = (/obj/random/maintenance/engineering,/obj/random/junk,/obj/item/weapon/material/shard{pixel_x = 6; pixel_y = -6},/obj/item/weapon/material/shard,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) -"ez" = (/obj/item/weapon/material/shard{pixel_y = 10},/turf/template_noop,/area/template_noop) +"dV" = (/obj/item/reagent_containers/food/snacks/candy_corn{pixel_y = 6},/obj/structure/table/wooden_reinforced,/obj/item/flame/candle/everburn,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) +"ey" = (/obj/random/maintenance/engineering,/obj/random/junk,/obj/item/material/shard{pixel_x = 6; pixel_y = -6},/obj/item/material/shard,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) +"ez" = (/obj/item/material/shard{pixel_y = 10},/turf/template_noop,/area/template_noop) "eO" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) "eS" = (/obj/structure/grille/rustic,/obj/structure/barricade,/obj/structure/window/basic/full,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/DeathDen) "fg" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood/sif/broken,/area/submap/DeathDen) @@ -17,105 +17,105 @@ "fS" = (/obj/structure/table/wooden_reinforced,/obj/item/pizzabox/meat,/obj/random/junk,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) "fV" = (/obj/structure/bed/chair/wood{dir = 4},/turf/simulated/floor/wood/sif/broken,/area/submap/DeathDen) "gB" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/outdoors/dirt,/area/template_noop) -"hq" = (/obj/structure/grille/rustic,/obj/structure/barricade,/obj/item/weapon/material/shard{pixel_x = 6},/obj/item/weapon/material/shard{pixel_x = -3; pixel_y = -6},/turf/simulated/floor/tiled/asteroid_steel,/area/submap/DeathDen) +"hq" = (/obj/structure/grille/rustic,/obj/structure/barricade,/obj/item/material/shard{pixel_x = 6},/obj/item/material/shard{pixel_x = -3; pixel_y = -6},/turf/simulated/floor/tiled/asteroid_steel,/area/submap/DeathDen) "hr" = (/obj/random/trash,/turf/simulated/floor/wood/sif/broken,/area/submap/DeathDen) -"hK" = (/obj/item/weapon/reagent_containers/food/snacks/candy_corn{pixel_y = 6},/obj/item/weapon/reagent_containers/food/snacks/candy_corn{pixel_x = 5; pixel_y = -8},/obj/item/weapon/material/shard,/obj/item/weapon/material/shard{pixel_y = 10},/turf/template_noop,/area/submap/DeathDen) +"hK" = (/obj/item/reagent_containers/food/snacks/candy_corn{pixel_y = 6},/obj/item/reagent_containers/food/snacks/candy_corn{pixel_x = 5; pixel_y = -8},/obj/item/material/shard,/obj/item/material/shard{pixel_y = 10},/turf/template_noop,/area/submap/DeathDen) "ig" = (/obj/random/maintenance/cargo,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) "is" = (/obj/random/soap,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/freezer,/area/submap/DeathDen) "ix" = (/obj/effect/gibspawner/human,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) -"iR" = (/obj/item/weapon/material/shard{pixel_x = 6; pixel_y = -6},/turf/template_noop,/area/template_noop) -"ji" = (/obj/item/weapon/reagent_containers/food/snacks/candy_corn{pixel_x = 6; pixel_y = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) -"kc" = (/obj/item/weapon/flame/lighter/zippo/gonzo,/obj/random/trash,/obj/random/junk,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) +"iR" = (/obj/item/material/shard{pixel_x = 6; pixel_y = -6},/turf/template_noop,/area/template_noop) +"ji" = (/obj/item/reagent_containers/food/snacks/candy_corn{pixel_x = 6; pixel_y = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) +"kc" = (/obj/item/flame/lighter/zippo/gonzo,/obj/random/trash,/obj/random/junk,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) "kl" = (/obj/structure/table/wooden_reinforced,/obj/item/clothing/suit/cultrobes/alt,/obj/item/clothing/suit/cultrobes/alt{pixel_x = 4; pixel_y = 3},/turf/simulated/floor/wood/sif,/area/submap/DeathDen) -"kn" = (/obj/item/weapon/flame/candle/candelabra/everburn{pixel_y = 10},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 5},/obj/item/weapon/storage/bible,/obj/structure/table/sifwooden_reinforced,/turf/simulated/floor/carpet/turcarpet,/area/submap/DeathDen) +"kn" = (/obj/item/flame/candle/candelabra/everburn{pixel_y = 10},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 5},/obj/item/storage/bible,/obj/structure/table/sifwooden_reinforced,/turf/simulated/floor/carpet/turcarpet,/area/submap/DeathDen) "kY" = (/obj/structure/table/bench/wooden,/obj/effect/floor_decal/carpet{dir = 1},/mob/living/simple_mob/animal/sif/savik,/turf/simulated/floor/carpet/turcarpet,/area/submap/DeathDen) -"la" = (/obj/item/weapon/reagent_containers/food/snacks/candy_corn,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) +"la" = (/obj/item/reagent_containers/food/snacks/candy_corn,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) "lw" = (/obj/structure/bed/chair/wood{dir = 8},/turf/simulated/floor/wood/sif,/area/submap/DeathDen) -"lP" = (/obj/item/weapon/gun/projectile/colt,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) +"lP" = (/obj/item/gun/projectile/colt,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) "mc" = (/obj/random/maintenance/engineering,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) "md" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/mob/living/simple_mob/animal/sif/savik{health = 75; name = "young savik"},/turf/simulated/floor/wood/sif,/area/submap/DeathDen) "mu" = (/obj/structure/toilet{dir = 4},/turf/simulated/floor/tiled/freezer,/area/submap/DeathDen) "nr" = (/turf/simulated/floor/outdoors/dirt,/area/submap/DeathDen) "nK" = (/obj/structure/table/bench/wooden,/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet{dir = 9},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/carpet/turcarpet,/area/submap/DeathDen) -"nO" = (/obj/item/weapon/reagent_containers/food/snacks/candy_corn{pixel_x = 6; pixel_y = 4},/obj/random/trash,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) +"nO" = (/obj/item/reagent_containers/food/snacks/candy_corn{pixel_x = 6; pixel_y = 4},/obj/random/trash,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) "oj" = (/obj/random/trash,/obj/random/junk,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) -"oG" = (/obj/item/stack/material/supermatter{amount = 5},/obj/effect/floor_decal/carpet{dir = 4},/obj/item/weapon/scrying,/obj/structure/table/sifwooden_reinforced,/turf/simulated/floor/carpet/turcarpet,/area/submap/DeathDen) +"oG" = (/obj/item/stack/material/supermatter{amount = 5},/obj/effect/floor_decal/carpet{dir = 4},/obj/item/scrying,/obj/structure/table/sifwooden_reinforced,/turf/simulated/floor/carpet/turcarpet,/area/submap/DeathDen) "oI" = (/obj/effect/gibspawner/human,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) -"oL" = (/obj/structure/gravemarker,/obj/random/humanoidremains,/obj/item/clothing/suit/cultrobes/alt{pixel_x = 4; pixel_y = 3},/obj/item/weapon/material/knife/machete,/obj/structure/closet/grave{opened = 0},/turf/template_noop,/area/submap/DeathDen) -"oS" = (/obj/structure/gravemarker,/obj/random/humanoidremains,/obj/item/clothing/suit/cultrobes/alt{pixel_x = 4; pixel_y = 3},/obj/item/weapon/material/knife/hook,/obj/structure/closet/grave{opened = 0},/turf/template_noop,/area/submap/DeathDen) -"oX" = (/obj/structure/barricade,/obj/structure/grille/broken/rustic,/obj/item/weapon/material/shard,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/DeathDen) +"oL" = (/obj/structure/gravemarker,/obj/random/humanoidremains,/obj/item/clothing/suit/cultrobes/alt{pixel_x = 4; pixel_y = 3},/obj/item/material/knife/machete,/obj/structure/closet/grave{opened = 0},/turf/template_noop,/area/submap/DeathDen) +"oS" = (/obj/structure/gravemarker,/obj/random/humanoidremains,/obj/item/clothing/suit/cultrobes/alt{pixel_x = 4; pixel_y = 3},/obj/item/material/knife/hook,/obj/structure/closet/grave{opened = 0},/turf/template_noop,/area/submap/DeathDen) +"oX" = (/obj/structure/barricade,/obj/structure/grille/broken/rustic,/obj/item/material/shard,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/DeathDen) "ph" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) -"pu" = (/obj/structure/barricade,/obj/structure/grille/broken/rustic,/obj/item/weapon/material/shard{pixel_x = -3; pixel_y = -6},/turf/simulated/floor/tiled/asteroid_steel,/area/submap/DeathDen) +"pu" = (/obj/structure/barricade,/obj/structure/grille/broken/rustic,/obj/item/material/shard{pixel_x = -3; pixel_y = -6},/turf/simulated/floor/tiled/asteroid_steel,/area/submap/DeathDen) "qc" = (/obj/structure/loot_pile/maint/boxfort,/turf/simulated/floor/wood/sif/broken,/area/submap/DeathDen) "qC" = (/obj/structure/table/bench/wooden,/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet{dir = 10},/turf/simulated/floor/carpet/turcarpet,/area/submap/DeathDen) -"rQ" = (/obj/structure/barricade,/obj/item/weapon/reagent_containers/food/snacks/candy_corn{pixel_x = 5; pixel_y = -8},/obj/item/weapon/reagent_containers/food/snacks/candy_corn,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/template_noop,/area/submap/DeathDen) -"sh" = (/obj/item/weapon/reagent_containers/food/snacks/candy_corn{pixel_y = 6},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) -"sX" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/material/shard{pixel_x = 6; pixel_y = -6},/obj/item/weapon/material/shard{pixel_x = 6},/turf/simulated/floor/wood/sif,/area/submap/DeathDen) +"rQ" = (/obj/structure/barricade,/obj/item/reagent_containers/food/snacks/candy_corn{pixel_x = 5; pixel_y = -8},/obj/item/reagent_containers/food/snacks/candy_corn,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/template_noop,/area/submap/DeathDen) +"sh" = (/obj/item/reagent_containers/food/snacks/candy_corn{pixel_y = 6},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) +"sX" = (/obj/structure/table/wooden_reinforced,/obj/item/material/shard{pixel_x = 6; pixel_y = -6},/obj/item/material/shard{pixel_x = 6},/turf/simulated/floor/wood/sif,/area/submap/DeathDen) "tr" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/DeathDen) "tN" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/carpet/turcarpet,/area/submap/DeathDen) -"tY" = (/obj/item/weapon/reagent_containers/food/snacks/candy_corn{pixel_y = 6},/obj/item/weapon/reagent_containers/food/snacks/candy_corn{pixel_x = 5; pixel_y = -8},/turf/template_noop,/area/submap/DeathDen) +"tY" = (/obj/item/reagent_containers/food/snacks/candy_corn{pixel_y = 6},/obj/item/reagent_containers/food/snacks/candy_corn{pixel_x = 5; pixel_y = -8},/turf/template_noop,/area/submap/DeathDen) "uP" = (/obj/structure/loot_pile/maint/technical,/turf/simulated/floor/wood/sif/broken,/area/submap/DeathDen) -"vd" = (/obj/item/weapon/reagent_containers/food/snacks/candy_corn{pixel_x = 6; pixel_y = 4},/turf/simulated/floor/wood/sif,/area/submap/DeathDen) -"vj" = (/obj/structure/gravemarker,/obj/random/humanoidremains,/obj/item/clothing/suit/cultrobes/alt{pixel_x = 4; pixel_y = 3},/obj/item/weapon/material/knife/ritual,/obj/structure/closet/grave{opened = 0},/turf/template_noop,/area/submap/DeathDen) +"vd" = (/obj/item/reagent_containers/food/snacks/candy_corn{pixel_x = 6; pixel_y = 4},/turf/simulated/floor/wood/sif,/area/submap/DeathDen) +"vj" = (/obj/structure/gravemarker,/obj/random/humanoidremains,/obj/item/clothing/suit/cultrobes/alt{pixel_x = 4; pixel_y = 3},/obj/item/material/knife/ritual,/obj/structure/closet/grave{opened = 0},/turf/template_noop,/area/submap/DeathDen) "vr" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/outdoors/dirt,/area/submap/DeathDen) "vu" = (/turf/simulated/floor/wood/sif,/area/submap/DeathDen) -"vD" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/shreddedp,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) +"vD" = (/obj/structure/table/wooden_reinforced,/obj/item/shreddedp,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) "wa" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/mob/living/simple_mob/animal/sif/savik{health = 75; name = "young savik"},/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/DeathDen) "wm" = (/turf/template_noop,/area/submap/DeathDen) -"wv" = (/obj/item/weapon/reagent_containers/food/snacks/candy_corn{pixel_x = 6; pixel_y = 4},/obj/item/weapon/reagent_containers/food/snacks/candy_corn{pixel_y = -8},/obj/random/maintenance/engineering,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) -"wG" = (/obj/item/weapon/deadringer,/obj/item/weapon/reagent_containers/food/snacks/bearstew,/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 6},/obj/structure/table/sifwooden_reinforced,/turf/simulated/floor/carpet/turcarpet,/area/submap/DeathDen) -"wK" = (/obj/structure/window/reinforced/tinted/frosted{dir = 1},/obj/structure/table/wooden_reinforced,/obj/random/soap,/obj/item/weapon/flame/candle/everburn,/turf/simulated/floor/tiled/freezer,/area/submap/DeathDen) +"wv" = (/obj/item/reagent_containers/food/snacks/candy_corn{pixel_x = 6; pixel_y = 4},/obj/item/reagent_containers/food/snacks/candy_corn{pixel_y = -8},/obj/random/maintenance/engineering,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) +"wG" = (/obj/item/deadringer,/obj/item/reagent_containers/food/snacks/bearstew,/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 6},/obj/structure/table/sifwooden_reinforced,/turf/simulated/floor/carpet/turcarpet,/area/submap/DeathDen) +"wK" = (/obj/structure/window/reinforced/tinted/frosted{dir = 1},/obj/structure/table/wooden_reinforced,/obj/random/soap,/obj/item/flame/candle/everburn,/turf/simulated/floor/tiled/freezer,/area/submap/DeathDen) "xN" = (/obj/structure/loot_pile/maint/technical,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/DeathDen) "xS" = (/mob/living/simple_mob/animal/sif/savik{health = 200; melee_damage_lower = 20; melee_damage_upper = 40; name = "alpha savik"},/turf/simulated/floor/carpet/turcarpet,/area/submap/DeathDen) "xZ" = (/obj/item/ammo_magazine/ammo_box/b12g/pellet,/obj/item/ammo_magazine/ammo_box/b12g/pellet,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) "yn" = (/turf/simulated/floor/outdoors/dirt,/area/template_noop) -"yL" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/flame/candle/everburn,/obj/item/weapon/material/shard{pixel_x = -3; pixel_y = -6},/obj/item/weapon/material/shard{pixel_x = 6; pixel_y = -6},/turf/simulated/floor/wood/sif,/area/submap/DeathDen) -"yS" = (/obj/item/weapon/reagent_containers/food/snacks/candy_corn{pixel_x = 6; pixel_y = 4},/obj/effect/floor_decal/carpet{dir = 8},/obj/random/maintenance/engineering,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/carpet/turcarpet,/area/submap/DeathDen) -"yZ" = (/obj/item/weapon/reagent_containers/food/snacks/candy_corn,/obj/item/weapon/reagent_containers/food/snacks/candy_corn{pixel_y = 6},/obj/effect/floor_decal/carpet,/obj/effect/gibspawner/human,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/carpet/turcarpet,/area/submap/DeathDen) -"zV" = (/obj/item/weapon/reagent_containers/food/snacks/candy_corn{pixel_y = 6},/mob/living/simple_mob/animal/sif/savik,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) +"yL" = (/obj/structure/table/wooden_reinforced,/obj/item/flame/candle/everburn,/obj/item/material/shard{pixel_x = -3; pixel_y = -6},/obj/item/material/shard{pixel_x = 6; pixel_y = -6},/turf/simulated/floor/wood/sif,/area/submap/DeathDen) +"yS" = (/obj/item/reagent_containers/food/snacks/candy_corn{pixel_x = 6; pixel_y = 4},/obj/effect/floor_decal/carpet{dir = 8},/obj/random/maintenance/engineering,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/carpet/turcarpet,/area/submap/DeathDen) +"yZ" = (/obj/item/reagent_containers/food/snacks/candy_corn,/obj/item/reagent_containers/food/snacks/candy_corn{pixel_y = 6},/obj/effect/floor_decal/carpet,/obj/effect/gibspawner/human,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/carpet/turcarpet,/area/submap/DeathDen) +"zV" = (/obj/item/reagent_containers/food/snacks/candy_corn{pixel_y = 6},/mob/living/simple_mob/animal/sif/savik,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) "An" = (/obj/structure/simple_door/iron,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/submap/DeathDen) "Ap" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/DeathDen) "Aw" = (/obj/structure/simple_door/sifwood,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/submap/DeathDen) "Bf" = (/obj/item/clothing/head/psy_crown/gluttony,/obj/random/junk,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) -"BW" = (/obj/structure/table/wooden_reinforced,/obj/item/clothing/suit/cultrobes/alt,/obj/item/clothing/suit/cultrobes/alt{pixel_x = 4; pixel_y = 3},/obj/item/weapon/flame/candle/everburn,/turf/simulated/floor/wood/sif/broken,/area/submap/DeathDen) -"De" = (/obj/structure/urinal{pixel_y = 32},/obj/structure/window/reinforced/tinted/frosted{dir = 8},/obj/item/weapon/gun/projectile/shotgun/doublebarrel/sawn,/turf/simulated/floor/tiled/freezer,/area/submap/DeathDen) -"DH" = (/obj/item/weapon/reagent_containers/food/snacks/candy_corn{pixel_x = 5; pixel_y = -8},/obj/random/trash,/turf/simulated/floor/wood/sif/broken,/area/submap/DeathDen) -"EF" = (/obj/item/weapon/reagent_containers/food/snacks/candy_corn,/obj/item/weapon/reagent_containers/food/snacks/candy_corn{pixel_x = 6; pixel_y = 4},/obj/item/weapon/gun/projectile/deagle,/turf/simulated/floor/wood/sif/broken,/area/submap/DeathDen) -"EL" = (/obj/item/weapon/reagent_containers/food/snacks/candy_corn{pixel_x = 5; pixel_y = -8},/turf/template_noop,/area/submap/DeathDen) +"BW" = (/obj/structure/table/wooden_reinforced,/obj/item/clothing/suit/cultrobes/alt,/obj/item/clothing/suit/cultrobes/alt{pixel_x = 4; pixel_y = 3},/obj/item/flame/candle/everburn,/turf/simulated/floor/wood/sif/broken,/area/submap/DeathDen) +"De" = (/obj/structure/urinal{pixel_y = 32},/obj/structure/window/reinforced/tinted/frosted{dir = 8},/obj/item/gun/projectile/shotgun/doublebarrel/sawn,/turf/simulated/floor/tiled/freezer,/area/submap/DeathDen) +"DH" = (/obj/item/reagent_containers/food/snacks/candy_corn{pixel_x = 5; pixel_y = -8},/obj/random/trash,/turf/simulated/floor/wood/sif/broken,/area/submap/DeathDen) +"EF" = (/obj/item/reagent_containers/food/snacks/candy_corn,/obj/item/reagent_containers/food/snacks/candy_corn{pixel_x = 6; pixel_y = 4},/obj/item/gun/projectile/deagle,/turf/simulated/floor/wood/sif/broken,/area/submap/DeathDen) +"EL" = (/obj/item/reagent_containers/food/snacks/candy_corn{pixel_x = 5; pixel_y = -8},/turf/template_noop,/area/submap/DeathDen) "EN" = (/obj/effect/floor_decal/carpet,/obj/random/maintenance/engineering,/turf/simulated/floor/carpet/turcarpet,/area/submap/DeathDen) "ER" = (/turf/simulated/floor/tiled/freezer,/area/submap/DeathDen) -"FR" = (/obj/item/weapon/reagent_containers/food/snacks/candy_corn{pixel_x = -6; pixel_y = 6},/obj/structure/loot_pile/maint/boxfort,/turf/simulated/floor/wood/sif/broken,/area/submap/DeathDen) +"FR" = (/obj/item/reagent_containers/food/snacks/candy_corn{pixel_x = -6; pixel_y = 6},/obj/structure/loot_pile/maint/boxfort,/turf/simulated/floor/wood/sif/broken,/area/submap/DeathDen) "GP" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood/sif/broken,/area/submap/DeathDen) -"GT" = (/obj/item/weapon/reagent_containers/food/snacks/candy_corn{pixel_x = 5; pixel_y = -8},/obj/item/weapon/reagent_containers/food/snacks/candy_corn{pixel_x = 5; pixel_y = -8},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) -"HR" = (/obj/item/weapon/reagent_containers/food/snacks/candy_corn{pixel_y = 6},/obj/item/weapon/reagent_containers/food/snacks/candy_corn{pixel_y = 6},/obj/item/weapon/reagent_containers/food/snacks/candy_corn{pixel_y = 6},/turf/template_noop,/area/submap/DeathDen) -"HT" = (/obj/item/weapon/reagent_containers/food/snacks/candy_corn,/turf/simulated/floor/carpet/turcarpet,/area/submap/DeathDen) +"GT" = (/obj/item/reagent_containers/food/snacks/candy_corn{pixel_x = 5; pixel_y = -8},/obj/item/reagent_containers/food/snacks/candy_corn{pixel_x = 5; pixel_y = -8},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) +"HR" = (/obj/item/reagent_containers/food/snacks/candy_corn{pixel_y = 6},/obj/item/reagent_containers/food/snacks/candy_corn{pixel_y = 6},/obj/item/reagent_containers/food/snacks/candy_corn{pixel_y = 6},/turf/template_noop,/area/submap/DeathDen) +"HT" = (/obj/item/reagent_containers/food/snacks/candy_corn,/turf/simulated/floor/carpet/turcarpet,/area/submap/DeathDen) "HZ" = (/obj/structure/girder,/turf/simulated/floor/plating,/area/submap/DeathDen) "Ic" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/mob/living/simple_mob/animal/sif/savik,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) -"IT" = (/obj/item/weapon/reagent_containers/food/snacks/candy_corn{pixel_y = 6},/turf/template_noop,/area/submap/DeathDen) +"IT" = (/obj/item/reagent_containers/food/snacks/candy_corn{pixel_y = 6},/turf/template_noop,/area/submap/DeathDen) "Kj" = (/obj/structure/windoor_assembly,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/freezer,/area/submap/DeathDen) "Kn" = (/obj/effect/floor_decal/carpet{dir = 1},/turf/simulated/floor/carpet/turcarpet,/area/submap/DeathDen) "Ky" = (/obj/structure/table/bench/wooden,/turf/simulated/floor/wood/sif/broken,/area/submap/DeathDen) "KG" = (/mob/living/simple_mob/humanoid/clown,/obj/effect/gibspawner/human,/turf/simulated/floor/tiled/freezer,/area/submap/DeathDen) "MO" = (/turf/simulated/mineral/ignore_mapgen,/area/submap/DeathDen) "Nu" = (/obj/structure/bed/chair/wood{dir = 4},/turf/simulated/floor/wood/sif,/area/submap/DeathDen) -"Oh" = (/obj/structure/gravemarker,/obj/structure/closet/grave{opened = 0},/obj/random/humanoidremains,/obj/item/clothing/suit/cultrobes/alt{pixel_x = 4; pixel_y = 3},/obj/item/weapon/gun/projectile/shotgun/pump/rifle/ceremonial,/turf/template_noop,/area/submap/DeathDen) +"Oh" = (/obj/structure/gravemarker,/obj/structure/closet/grave{opened = 0},/obj/random/humanoidremains,/obj/item/clothing/suit/cultrobes/alt{pixel_x = 4; pixel_y = 3},/obj/item/gun/projectile/shotgun/pump/rifle/ceremonial,/turf/template_noop,/area/submap/DeathDen) "OZ" = (/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/DeathDen) "Ph" = (/obj/structure/barricade,/turf/template_noop,/area/submap/DeathDen) -"Qb" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/shreddedp,/turf/simulated/floor/wood/sif/broken,/area/submap/DeathDen) +"Qb" = (/obj/structure/table/wooden_reinforced,/obj/item/shreddedp,/turf/simulated/floor/wood/sif/broken,/area/submap/DeathDen) "Qe" = (/turf/simulated/mineral/ignore_mapgen,/area/template_noop) -"QK" = (/obj/structure/closet/cabinet,/obj/item/weapon/material/kitchen/utensil/fork,/obj/item/weapon/material/kitchen/utensil/fork,/obj/item/weapon/material/kitchen/utensil/spoon{pixel_x = 2},/obj/item/weapon/material/kitchen/utensil/spoon{pixel_x = 2},/obj/item/trash/plate,/obj/item/trash/plate,/obj/item/weapon/storage/box/cups,/obj/item/weapon/storage/box/donut,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) +"QK" = (/obj/structure/closet/cabinet,/obj/item/material/kitchen/utensil/fork,/obj/item/material/kitchen/utensil/fork,/obj/item/material/kitchen/utensil/spoon{pixel_x = 2},/obj/item/material/kitchen/utensil/spoon{pixel_x = 2},/obj/item/trash/plate,/obj/item/trash/plate,/obj/item/storage/box/cups,/obj/item/storage/box/donut,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) "Ri" = (/obj/structure/simple_door/sifwood,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/submap/DeathDen) "Rs" = (/obj/structure/table/bench/wooden,/obj/effect/floor_decal/carpet,/obj/random/maintenance/engineering,/obj/random/junk,/obj/effect/decal/cleanable/dirt,/mob/living/simple_mob/animal/sif/savik,/turf/simulated/floor/carpet/turcarpet,/area/submap/DeathDen) "Sg" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) "Th" = (/turf/simulated/wall/sifwood,/area/submap/DeathDen) -"TA" = (/obj/item/weapon/reagent_containers/food/snacks/candy_corn{pixel_x = 5; pixel_y = -8},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) -"TL" = (/obj/item/weapon/material/shard{pixel_x = -3; pixel_y = -6},/turf/template_noop,/area/template_noop) -"Uj" = (/obj/item/weapon/reagent_containers/food/snacks/candy_corn{pixel_y = 6},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood/sif/broken,/area/submap/DeathDen) +"TA" = (/obj/item/reagent_containers/food/snacks/candy_corn{pixel_x = 5; pixel_y = -8},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) +"TL" = (/obj/item/material/shard{pixel_x = -3; pixel_y = -6},/turf/template_noop,/area/template_noop) +"Uj" = (/obj/item/reagent_containers/food/snacks/candy_corn{pixel_y = 6},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood/sif/broken,/area/submap/DeathDen) "Up" = (/obj/structure/windoor_assembly,/obj/random/trash,/mob/living/simple_mob/animal/sif/savik,/turf/simulated/floor/tiled/freezer,/area/submap/DeathDen) -"UR" = (/obj/item/weapon/stool/padded,/obj/item/clothing/suit/cultrobes/magusred,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) +"UR" = (/obj/item/stool/padded,/obj/item/clothing/suit/cultrobes/magusred,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) "WH" = (/obj/effect/gibspawner/human,/obj/random/junk,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) "Ym" = (/obj/structure/simple_door/sifwood,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/submap/DeathDen) -"Zb" = (/obj/item/weapon/reagent_containers/food/snacks/candy_corn{pixel_x = 5; pixel_y = -8},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) +"Zb" = (/obj/item/reagent_containers/food/snacks/candy_corn{pixel_x = 5; pixel_y = -8},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) "Zg" = (/obj/random/trash,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) "Zv" = (/obj/structure/table/bench/wooden,/turf/simulated/floor/wood/sif,/area/submap/DeathDen) diff --git a/maps/submaps/surface_submaps/wilderness/demonpool.dmm b/maps/submaps/surface_submaps/wilderness/demonpool.dmm index b76c1ba1f21..eaaef59e1c5 100644 --- a/maps/submaps/surface_submaps/wilderness/demonpool.dmm +++ b/maps/submaps/surface_submaps/wilderness/demonpool.dmm @@ -18,11 +18,11 @@ /area/submap/DemonPool) "ay" = ( /obj/structure/girder/cult, -/obj/item/weapon/material/twohanded/fireaxe/scythe, +/obj/item/material/twohanded/fireaxe/scythe, /turf/simulated/floor/cult, /area/submap/DemonPool) "bb" = ( -/obj/item/weapon/melee/cursedblade, +/obj/item/melee/cursedblade, /turf/simulated/floor/cult, /area/submap/DemonPool) "bh" = ( @@ -60,8 +60,8 @@ /area/submap/DemonPool) "eM" = ( /obj/structure/table/woodentable, -/obj/item/weapon/book, -/obj/item/weapon/spellbook/oneuse/forcewall, +/obj/item/book, +/obj/item/spellbook/oneuse/forcewall, /turf/simulated/floor, /area/submap/DemonPool) "eR" = ( @@ -259,7 +259,7 @@ /area/submap/DemonPool) "sb" = ( /obj/item/clothing/shoes/cult, -/obj/item/weapon/melee/energy/sword/red, +/obj/item/melee/energy/sword/red, /turf/simulated/floor/cult, /area/submap/DemonPool) "si" = ( @@ -363,7 +363,7 @@ /area/submap/DemonPool) "Ah" = ( /obj/effect/decal/cleanable/blood/gibs/body, -/obj/item/weapon/stool, +/obj/item/stool, /turf/simulated/floor/outdoors/dirt{ outdoors = 0 }, @@ -537,7 +537,7 @@ }, /area/submap/DemonPool) "Qq" = ( -/obj/item/weapon/beartrap/hunting{ +/obj/item/beartrap/hunting{ anchored = 1; deployed = 1 }, @@ -550,7 +550,7 @@ /area/submap/DemonPool) "Qr" = ( /obj/structure/closet/crate/secure/loot, -/obj/item/weapon/spellbook/oneuse/fireball, +/obj/item/spellbook/oneuse/fireball, /turf/simulated/floor/cult, /area/submap/DemonPool) "Qv" = ( @@ -637,12 +637,12 @@ /area/submap/DemonPool) "YK" = ( /obj/structure/table/woodentable, -/obj/item/weapon/pen/fountain, +/obj/item/pen/fountain, /turf/simulated/floor, /area/submap/DemonPool) "Zc" = ( /obj/effect/gibspawner/human, -/obj/item/weapon/beartrap/hunting{ +/obj/item/beartrap/hunting{ anchored = 1; deployed = 1 }, diff --git a/maps/submaps/surface_submaps/wilderness/derelictengine.dmm b/maps/submaps/surface_submaps/wilderness/derelictengine.dmm index c7b101b031a..82e017f5b6b 100644 --- a/maps/submaps/surface_submaps/wilderness/derelictengine.dmm +++ b/maps/submaps/surface_submaps/wilderness/derelictengine.dmm @@ -8,57 +8,57 @@ "aO" = (/obj/structure/table/alien,/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) "aP" = (/obj/effect/floor_decal/techfloor/orange{dir = 1},/turf/simulated/floor/plating,/area/submap/DerelictEngine) "bk" = (/obj/effect/floor_decal/techfloor{dir = 1},/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) -"bl" = (/obj/item/weapon/material/shard/phoron,/turf/simulated/floor/outdoors/rocks,/area/template_noop) +"bl" = (/obj/item/material/shard/phoron,/turf/simulated/floor/outdoors/rocks,/area/template_noop) "bn" = (/obj/structure/girder/reinforced,/obj/effect/floor_decal/techfloor{dir = 8},/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) "bp" = (/obj/structure/bed/alien,/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) "by" = (/obj/effect/floor_decal/techfloor/orange{dir = 5},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/decal/cleanable/generic,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) -"bG" = (/obj/item/weapon/material/shard/phoron{pixel_x = -9; pixel_y = -7},/turf/simulated/floor/outdoors/rocks,/area/template_noop) +"bG" = (/obj/item/material/shard/phoron{pixel_x = -9; pixel_y = -7},/turf/simulated/floor/outdoors/rocks,/area/template_noop) "bH" = (/obj/machinery/power/emitter/gyrotron,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "bN" = (/turf/simulated/floor/outdoors/rocks,/area/template_noop) "bX" = (/mob/living/simple_mob/mechanical/hivebot/tank,/turf/template_noop,/area/template_noop) "cE" = (/mob/living/simple_mob/mechanical/hivebot/ranged_damage/laser,/obj/effect/floor_decal/techfloor{dir = 8},/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) "cH" = (/obj/effect/floor_decal/techfloor/orange{dir = 8},/obj/effect/floor_decal/techfloor/orange{dir = 4},/obj/effect/floor_decal/techfloor/hole{dir = 4},/obj/machinery/replicator{anchored = 1},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "cQ" = (/obj/effect/decal/cleanable/generic,/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) -"cX" = (/obj/item/weapon/material/shard/phoron{pixel_x = 7; pixel_y = 10},/turf/simulated/floor/outdoors/rocks,/area/template_noop) +"cX" = (/obj/item/material/shard/phoron{pixel_x = 7; pixel_y = 10},/turf/simulated/floor/outdoors/rocks,/area/template_noop) "db" = (/obj/effect/floor_decal/techfloor{dir = 4},/obj/effect/floor_decal/techfloor/hole{dir = 4},/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) -"dg" = (/obj/structure/grille/cult{name = "Alien grille"},/obj/item/weapon/material/shard/phoron{pixel_x = 7},/obj/item/weapon/material/shard/phoron{pixel_x = 7; pixel_y = 10},/obj/structure/window/phoronreinforced/full,/turf/simulated/shuttle/floor/voidcraft,/area/submap/DerelictEngine) +"dg" = (/obj/structure/grille/cult{name = "Alien grille"},/obj/item/material/shard/phoron{pixel_x = 7},/obj/item/material/shard/phoron{pixel_x = 7; pixel_y = 10},/obj/structure/window/phoronreinforced/full,/turf/simulated/shuttle/floor/voidcraft,/area/submap/DerelictEngine) "dh" = (/mob/living/simple_mob/mechanical/hivebot/tank/armored/anti_laser,/obj/effect/floor_decal/techfloor{dir = 4},/obj/effect/floor_decal/techfloor/hole{dir = 4},/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) "dy" = (/obj/structure/shuttle/engine/propulsion/burst,/obj/structure/shuttle/engine/propulsion/burst,/turf/simulated/floor/outdoors/rocks,/area/submap/DerelictEngine) "dC" = (/mob/living/simple_mob/mechanical/hivebot/ranged_damage/laser,/obj/effect/floor_decal/techfloor{dir = 4},/turf/simulated/shuttle/floor/alien,/area/submap/DerelictEngine) "dG" = (/obj/machinery/door/blast/puzzle{checkrange_mult = 3; dir = 4; layer = 3.3; name = "Blast Door"; open_layer = 3.3},/obj/machinery/door/airlock/alien/public,/turf/simulated/shuttle/floor/voidcraft,/area/submap/DerelictEngine) -"dL" = (/obj/structure/closet/alien,/obj/item/prop/alien/junk,/obj/item/weapon/implanter/compressed,/obj/item/stack/material/phoron{amount = 10},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) -"dO" = (/obj/item/prop/alien/junk,/obj/item/weapon/paper/alien,/obj/item/clothing/head/helmet/alien,/obj/structure/table/alien,/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) -"dX" = (/obj/structure/table/alien,/obj/effect/floor_decal/techfloor,/obj/item/weapon/storage/belt/medical/alien,/obj/item/clothing/head/helmet/alien/tank,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) +"dL" = (/obj/structure/closet/alien,/obj/item/prop/alien/junk,/obj/item/implanter/compressed,/obj/item/stack/material/phoron{amount = 10},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) +"dO" = (/obj/item/prop/alien/junk,/obj/item/paper/alien,/obj/item/clothing/head/helmet/alien,/obj/structure/table/alien,/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) +"dX" = (/obj/structure/table/alien,/obj/effect/floor_decal/techfloor,/obj/item/storage/belt/medical/alien,/obj/item/clothing/head/helmet/alien/tank,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "el" = (/obj/effect/floor_decal/techfloor{dir = 9},/obj/structure/loot_pile/surface/alien/engineering,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "eq" = (/obj/random/trash,/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) "eR" = (/obj/structure/grille/cult{name = "Alien grille"},/obj/structure/window/phoronreinforced{dir = 8},/obj/structure/window/phoronreinforced/full,/turf/simulated/shuttle/floor/voidcraft,/area/submap/DerelictEngine) "eV" = (/obj/structure/prop/alien/pod/open,/turf/simulated/shuttle/floor/alien,/area/submap/DerelictEngine) "fg" = (/obj/effect/floor_decal/techfloor{dir = 8},/obj/machinery/door/airlock/alien/locked,/turf/simulated/shuttle/floor/voidcraft,/area/submap/DerelictEngine) -"fn" = (/obj/item/weapon/storage/belt/utility/alien,/obj/structure/table/alien,/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) +"fn" = (/obj/item/storage/belt/utility/alien,/obj/structure/table/alien,/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) "fp" = (/obj/effect/floor_decal/techfloor/orange{dir = 4},/obj/effect/floor_decal/techfloor/orange{dir = 8},/obj/random/trash,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "fy" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/item/trash/material/metal,/turf/simulated/floor/plating,/area/submap/DerelictEngine) -"fG" = (/obj/structure/grille/cult{name = "Alien grille"},/obj/item/weapon/material/shard/phoron,/obj/item/weapon/material/shard/phoron{pixel_x = 7},/obj/structure/window/phoronreinforced/full,/turf/simulated/shuttle/floor/voidcraft,/area/submap/DerelictEngine) +"fG" = (/obj/structure/grille/cult{name = "Alien grille"},/obj/item/material/shard/phoron,/obj/item/material/shard/phoron{pixel_x = 7},/obj/structure/window/phoronreinforced/full,/turf/simulated/shuttle/floor/voidcraft,/area/submap/DerelictEngine) "fH" = (/obj/effect/floor_decal/techfloor/orange{dir = 4},/obj/effect/floor_decal/techfloor/orange{dir = 8},/mob/living/simple_mob/mechanical/hivebot/ranged_damage/dot,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "fJ" = (/mob/living/simple_mob/mechanical/hivebot/tank,/turf/simulated/floor/outdoors/dirt,/area/template_noop) "fO" = (/turf/simulated/shuttle/wall/alien,/area/submap/DerelictEngine) "fY" = (/obj/structure/grille/cult{name = "Alien grille"},/obj/structure/window/phoronreinforced{dir = 1},/obj/structure/window/phoronreinforced/full,/turf/simulated/shuttle/floor/voidcraft,/area/submap/DerelictEngine) "gj" = (/obj/effect/floor_decal/techfloor/orange{dir = 10},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) -"gk" = (/obj/structure/grille/cult{name = "Alien grille"},/obj/item/weapon/material/shard/phoron,/obj/item/weapon/material/shard/phoron{pixel_x = 7; pixel_y = 10},/obj/structure/window/phoronreinforced/full,/turf/simulated/shuttle/floor/voidcraft,/area/submap/DerelictEngine) -"go" = (/obj/effect/decal/cleanable/generic,/obj/item/weapon/gun/energy/toxgun,/turf/simulated/floor/plating,/area/submap/DerelictEngine) +"gk" = (/obj/structure/grille/cult{name = "Alien grille"},/obj/item/material/shard/phoron,/obj/item/material/shard/phoron{pixel_x = 7; pixel_y = 10},/obj/structure/window/phoronreinforced/full,/turf/simulated/shuttle/floor/voidcraft,/area/submap/DerelictEngine) +"go" = (/obj/effect/decal/cleanable/generic,/obj/item/gun/energy/toxgun,/turf/simulated/floor/plating,/area/submap/DerelictEngine) "gy" = (/turf/simulated/shuttle/wall/alien/hard_corner,/area/submap/DerelictEngine) "gz" = (/obj/effect/floor_decal/techfloor{dir = 1},/obj/machinery/porta_turret/alien/destroyed,/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) -"gZ" = (/obj/effect/floor_decal/techfloor/orange,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/weapon/material/shard/phoron{pixel_x = 7; pixel_y = 10},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) +"gZ" = (/obj/effect/floor_decal/techfloor/orange,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/material/shard/phoron{pixel_x = 7; pixel_y = 10},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "hb" = (/mob/living/simple_mob/humanoid/merc/ranged/ionrifle{health = 15; maxHealth = 15},/turf/simulated/floor/outdoors/rocks,/area/template_noop) "ht" = (/obj/effect/floor_decal/techfloor/orange{dir = 5},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "hu" = (/obj/structure/prop/blackbox/xenofrigate,/turf/simulated/floor/greengrid,/area/submap/DerelictEngine) "hC" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/decal/cleanable/generic,/obj/effect/decal/cleanable/generic,/obj/effect/decal/cleanable/ash,/turf/simulated/floor/plating,/area/submap/DerelictEngine) -"hU" = (/obj/structure/grille/cult{name = "Alien grille"},/obj/structure/window/phoronreinforced{dir = 4},/obj/item/weapon/material/shard/phoron,/obj/item/weapon/material/shard/phoron{pixel_x = -9; pixel_y = -7},/turf/simulated/shuttle/floor/voidcraft,/area/submap/DerelictEngine) +"hU" = (/obj/structure/grille/cult{name = "Alien grille"},/obj/structure/window/phoronreinforced{dir = 4},/obj/item/material/shard/phoron,/obj/item/material/shard/phoron{pixel_x = -9; pixel_y = -7},/turf/simulated/shuttle/floor/voidcraft,/area/submap/DerelictEngine) "hW" = (/obj/effect/floor_decal/techfloor/orange,/obj/effect/floor_decal/techfloor/hole,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) -"hY" = (/obj/item/weapon/material/shard/phoron{pixel_x = 7},/obj/item/weapon/material/shard/phoron{pixel_x = -9; pixel_y = -7},/turf/simulated/floor/plating,/area/submap/DerelictEngine) +"hY" = (/obj/item/material/shard/phoron{pixel_x = 7},/obj/item/material/shard/phoron{pixel_x = -9; pixel_y = -7},/turf/simulated/floor/plating,/area/submap/DerelictEngine) "hZ" = (/obj/effect/floor_decal/techfloor{dir = 4},/obj/effect/floor_decal/techfloor/hole{dir = 4},/turf/simulated/shuttle/floor/alien,/area/submap/DerelictEngine) "ib" = (/obj/random/trash,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) -"ig" = (/obj/structure/table/alien,/obj/effect/floor_decal/techfloor/orange{dir = 9},/obj/item/weapon/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) -"il" = (/obj/item/weapon/surgical/FixOVein/alien,/obj/item/weapon/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/obj/effect/floor_decal/techfloor{dir = 4},/obj/item/weapon/cell/device/weapon/recharge/alien,/obj/structure/table/alien,/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) +"ig" = (/obj/structure/table/alien,/obj/effect/floor_decal/techfloor/orange{dir = 9},/obj/item/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) +"il" = (/obj/item/surgical/FixOVein/alien,/obj/item/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/obj/effect/floor_decal/techfloor{dir = 4},/obj/item/cell/device/weapon/recharge/alien,/obj/structure/table/alien,/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) "iz" = (/obj/effect/floor_decal/techfloor/orange{dir = 8},/obj/effect/floor_decal/techfloor/orange{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "iB" = (/turf/simulated/shuttle/floor/alien,/area/submap/DerelictEngine) "iF" = (/obj/effect/floor_decal/techfloor{dir = 8},/mob/living/simple_mob/mechanical/hivebot/tank/armored/anti_laser,/obj/effect/floor_decal/techfloor/hole/right{dir = 8},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) @@ -70,28 +70,28 @@ "ja" = (/obj/effect/floor_decal/techfloor{dir = 8},/mob/living/simple_mob/humanoid/merc/ranged/ionrifle{health = 15; maxHealth = 15},/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) "je" = (/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) "jl" = (/turf/simulated/mineral/ignore_mapgen,/area/template_noop) -"jD" = (/obj/structure/table/alien,/obj/item/weapon/gun/energy/alien,/obj/item/prop/alien/phasecoil,/obj/item/clothing/suit/armor/alien/tank,/obj/item/stack/material/diamond{amount = 15},/turf/simulated/floor/greengrid,/area/submap/DerelictEngine) +"jD" = (/obj/structure/table/alien,/obj/item/gun/energy/alien,/obj/item/prop/alien/phasecoil,/obj/item/clothing/suit/armor/alien/tank,/obj/item/stack/material/diamond{amount = 15},/turf/simulated/floor/greengrid,/area/submap/DerelictEngine) "jE" = (/obj/effect/floor_decal/techfloor/orange{dir = 8},/obj/effect/floor_decal/techfloor/orange{dir = 4},/obj/machinery/fusion_fuel_injector/mapped{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "jG" = (/obj/effect/floor_decal/techfloor/orange{dir = 4},/obj/effect/floor_decal/techfloor/orange{dir = 8},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "jU" = (/obj/effect/floor_decal/techfloor/orange{dir = 8},/obj/effect/floor_decal/techfloor/orange{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "jY" = (/obj/effect/floor_decal/techfloor/orange{dir = 8},/obj/effect/floor_decal/techfloor/orange{dir = 4},/obj/effect/immovablerod,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "ka" = (/obj/effect/floor_decal/techfloor/orange{dir = 4},/obj/effect/floor_decal/techfloor/orange{dir = 8},/obj/structure/prop/alien/pod/open,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) -"kx" = (/obj/item/weapon/material/shard/phoron{pixel_x = -9; pixel_y = -7},/turf/simulated/floor/plating,/area/submap/DerelictEngine) +"kx" = (/obj/item/material/shard/phoron{pixel_x = -9; pixel_y = -7},/turf/simulated/floor/plating,/area/submap/DerelictEngine) "lg" = (/obj/structure/grille/cult{name = "Alien grille"},/obj/structure/window/phoronreinforced{dir = 8},/turf/simulated/shuttle/floor/voidcraft,/area/submap/DerelictEngine) "lj" = (/obj/machinery/artifact,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "lr" = (/obj/structure/prop/alien/dispenser{pixel_x = -27},/obj/effect/floor_decal/techfloor{dir = 4},/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) -"ls" = (/obj/item/weapon/surgical/circular_saw/alien,/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) +"ls" = (/obj/item/surgical/circular_saw/alien,/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) "lD" = (/obj/effect/floor_decal/techfloor{dir = 8},/obj/effect/gibspawner/human,/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) "lV" = (/obj/effect/floor_decal/techfloor{dir = 9},/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) -"lX" = (/obj/item/weapon/material/shard/phoron{pixel_x = -9; pixel_y = -7},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) +"lX" = (/obj/item/material/shard/phoron{pixel_x = -9; pixel_y = -7},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "lY" = (/obj/structure/bed/alien,/obj/effect/decal/remains/xeno,/obj/effect/floor_decal/techfloor/orange{dir = 4},/obj/effect/floor_decal/techfloor/orange{dir = 8},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) -"ms" = (/obj/structure/closet/alien,/obj/item/prop/alien/junk,/obj/item/prop/alien/junk,/obj/item/prop/alien/junk,/obj/item/device/multitool/alien,/obj/item/stack/material/phoron{amount = 10},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) +"ms" = (/obj/structure/closet/alien,/obj/item/prop/alien/junk,/obj/item/prop/alien/junk,/obj/item/prop/alien/junk,/obj/item/multitool/alien,/obj/item/stack/material/phoron{amount = 10},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "mu" = (/mob/living/simple_mob/mechanical/hivebot/tank/armored/anti_melee,/turf/simulated/floor/greengrid,/area/submap/DerelictEngine) -"mD" = (/obj/item/weapon/material/shard/phoron{pixel_x = 7; pixel_y = 10},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) +"mD" = (/obj/item/material/shard/phoron{pixel_x = 7; pixel_y = 10},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "mM" = (/obj/effect/floor_decal/techfloor{dir = 4},/obj/effect/decal/remains/xeno,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "mN" = (/obj/structure/prop/alien/computer/camera/flipped,/obj/structure/prop/alien/computer/camera/flipped,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "mR" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/decal/cleanable/molten_item,/turf/simulated/floor/plating,/area/submap/DerelictEngine) -"nM" = (/obj/item/weapon/material/shard/phoron{pixel_x = 7},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) +"nM" = (/obj/item/material/shard/phoron{pixel_x = 7},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "nO" = (/obj/machinery/field_generator{anchored = 1; state = 2},/turf/simulated/floor/greengrid,/area/submap/DerelictEngine) "nQ" = (/obj/structure/prop/alien/computer/camera/flipped,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "nW" = (/obj/structure/prop/alien/dispenser,/obj/effect/floor_decal/techfloor/orange{dir = 8},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) @@ -112,7 +112,7 @@ "pC" = (/obj/structure/particle_accelerator/particle_emitter/center{anchored = 1; dir = 4},/turf/simulated/floor/plating,/area/submap/DerelictEngine) "pF" = (/obj/structure/prop/alien/pod/open,/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) "pR" = (/mob/living/simple_mob/humanoid/merc/ranged{health = 15; maxHealth = 15},/turf/simulated/floor/outdoors/rocks,/area/template_noop) -"ql" = (/obj/item/device/gps/internal/poi,/turf/simulated/shuttle/wall/alien,/area/submap/DerelictEngine) +"ql" = (/obj/item/gps/internal/poi,/turf/simulated/shuttle/wall/alien,/area/submap/DerelictEngine) "qn" = (/obj/effect/floor_decal/techfloor/orange{dir = 4},/obj/effect/floor_decal/techfloor/orange{dir = 8},/obj/structure/girder/reinforced,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "qt" = (/obj/structure/prop/alien/dispenser,/obj/effect/floor_decal/techfloor/orange{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "qA" = (/mob/living/simple_mob/mechanical/hivebot/ranged_damage/backline,/obj/effect/decal/remains/xeno,/turf/simulated/shuttle/floor/alien,/area/submap/DerelictEngine) @@ -121,14 +121,14 @@ "qL" = (/obj/effect/floor_decal/techfloor{dir = 8},/obj/machinery/power/grounding_rod,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "qT" = (/obj/effect/floor_decal/techfloor{dir = 8},/obj/structure/reagent_dispensers/watertank/high,/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) "ra" = (/obj/structure/prop/alien/pod/open,/obj/structure/prop/alien/pod/open,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) -"rd" = (/obj/effect/floor_decal/techfloor/orange{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/mob/living/simple_mob/mechanical/hivebot/ranged_damage/laser,/obj/item/weapon/material/shard/phoron{pixel_x = 7; pixel_y = 10},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) +"rd" = (/obj/effect/floor_decal/techfloor/orange{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/mob/living/simple_mob/mechanical/hivebot/ranged_damage/laser,/obj/item/material/shard/phoron{pixel_x = 7; pixel_y = 10},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "rg" = (/obj/effect/floor_decal/techfloor/orange{dir = 8},/obj/effect/floor_decal/techfloor/orange{dir = 4},/obj/effect/floor_decal/techfloor/hole{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) -"rI" = (/obj/effect/floor_decal/techfloor/orange{dir = 4},/obj/effect/floor_decal/techfloor/orange{dir = 8},/obj/item/weapon/surgical/retractor/alien,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) -"sa" = (/obj/structure/table/alien,/obj/effect/floor_decal/techfloor/orange{dir = 5},/obj/item/weapon/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) +"rI" = (/obj/effect/floor_decal/techfloor/orange{dir = 4},/obj/effect/floor_decal/techfloor/orange{dir = 8},/obj/item/surgical/retractor/alien,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) +"sa" = (/obj/structure/table/alien,/obj/effect/floor_decal/techfloor/orange{dir = 5},/obj/item/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "sl" = (/mob/living/simple_mob/mechanical/hivebot/ranged_damage/backline,/turf/simulated/shuttle/floor/alien,/area/submap/DerelictEngine) "sq" = (/obj/effect/floor_decal/techfloor/orange{dir = 9},/obj/structure/cable{d2 = 2; icon_state = "0-2"},/obj/machinery/power/port_gen/pacman,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "st" = (/obj/random/trash,/turf/simulated/shuttle/floor/alien,/area/submap/DerelictEngine) -"sv" = (/obj/effect/floor_decal/techfloor{dir = 8},/obj/effect/floor_decal/techfloor/hole/right{dir = 8},/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/shuttle/floor/alien,/area/submap/DerelictEngine) +"sv" = (/obj/effect/floor_decal/techfloor{dir = 8},/obj/effect/floor_decal/techfloor/hole/right{dir = 8},/obj/item/reagent_containers/glass/bucket,/turf/simulated/shuttle/floor/alien,/area/submap/DerelictEngine) "sy" = (/obj/effect/floor_decal/techfloor{dir = 8},/obj/effect/decal/remains/xeno,/turf/simulated/shuttle/floor/alien,/area/submap/DerelictEngine) "sz" = (/obj/effect/floor_decal/techfloor{dir = 4},/obj/machinery/the_singularitygen/tesla,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "sG" = (/obj/effect/decal/cleanable/molten_item,/turf/simulated/floor/plating,/area/submap/DerelictEngine) @@ -142,14 +142,14 @@ "ut" = (/obj/effect/floor_decal/techfloor/orange{dir = 4},/obj/structure/loot_pile/surface/alien/security,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "uB" = (/obj/effect/floor_decal/techfloor/orange{dir = 9},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/emitter/gyrotron/anchored{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "uH" = (/obj/effect/floor_decal/techfloor/orange{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/clothing/under/psysuit,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) -"uJ" = (/obj/effect/floor_decal/techfloor{dir = 6},/obj/structure/closet/alien,/obj/item/prop/alien/junk,/obj/item/prop/alien/junk,/obj/item/prop/alien/junk,/obj/item/weapon/implanter/adrenalin,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) +"uJ" = (/obj/effect/floor_decal/techfloor{dir = 6},/obj/structure/closet/alien,/obj/item/prop/alien/junk,/obj/item/prop/alien/junk,/obj/item/prop/alien/junk,/obj/item/implanter/adrenalin,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "uP" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/power/grounding_rod/pre_mapped{item_state = 2},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) -"uX" = (/obj/effect/floor_decal/techfloor/orange{dir = 10},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/weapon/paper/alien,/obj/structure/table/alien,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) +"uX" = (/obj/effect/floor_decal/techfloor/orange{dir = 10},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/paper/alien,/obj/structure/table/alien,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "vl" = (/obj/effect/floor_decal/techfloor/orange{dir = 1},/obj/effect/decal/cleanable/molten_item,/turf/simulated/floor/plating,/area/submap/DerelictEngine) -"vC" = (/obj/structure/bed/alien,/obj/effect/floor_decal/techfloor{dir = 4},/obj/item/weapon/surgical/FixOVein/alien,/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) +"vC" = (/obj/structure/bed/alien,/obj/effect/floor_decal/techfloor{dir = 4},/obj/item/surgical/FixOVein/alien,/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) "vE" = (/obj/effect/floor_decal/techfloor/orange/corner{dir = 1},/obj/item/trash/material/metal,/turf/simulated/floor/plating,/area/submap/DerelictEngine) "vN" = (/obj/effect/floor_decal/techfloor/orange{dir = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) -"vU" = (/obj/item/prop/alien/junk,/obj/item/weapon/telecube/precursor/mated/mirrorcolor,/obj/structure/table/alien,/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) +"vU" = (/obj/item/prop/alien/junk,/obj/item/telecube/precursor/mated/mirrorcolor,/obj/structure/table/alien,/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) "wd" = (/obj/machinery/porta_turret/alien/destroyed,/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) "we" = (/obj/effect/decal/cleanable/generic,/obj/effect/decal/cleanable/generic,/obj/effect/decal/cleanable/blood/gibs/robot,/obj/effect/decal/cleanable/ash,/turf/simulated/floor/plating,/area/submap/DerelictEngine) "wh" = (/obj/effect/floor_decal/techfloor/orange{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/decal/cleanable/generic,/obj/effect/decal/cleanable/blood/gibs/robot,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) @@ -160,9 +160,9 @@ "wG" = (/obj/structure/bed/alien,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "wK" = (/obj/structure/shuttle/engine/propulsion/burst,/turf/simulated/floor/outdoors/dirt,/area/submap/DerelictEngine) "wM" = (/obj/effect/floor_decal/techfloor/orange{dir = 4},/obj/effect/floor_decal/techfloor/orange{dir = 8},/obj/effect/floor_decal/techfloor/hole{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) -"wV" = (/obj/item/weapon/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/obj/structure/table/alien,/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) +"wV" = (/obj/item/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/obj/structure/table/alien,/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) "wY" = (/obj/effect/floor_decal/techfloor/orange{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) -"xo" = (/obj/effect/floor_decal/techfloor/orange{dir = 1},/obj/structure/grille/cult{name = "Alien grille"},/obj/structure/window/phoronreinforced{dir = 4},/obj/structure/window/phoronreinforced{dir = 1},/obj/item/weapon/material/shard/phoron{pixel_x = 7; pixel_y = 10},/turf/simulated/shuttle/floor/voidcraft,/area/submap/DerelictEngine) +"xo" = (/obj/effect/floor_decal/techfloor/orange{dir = 1},/obj/structure/grille/cult{name = "Alien grille"},/obj/structure/window/phoronreinforced{dir = 4},/obj/structure/window/phoronreinforced{dir = 1},/obj/item/material/shard/phoron{pixel_x = 7; pixel_y = 10},/turf/simulated/shuttle/floor/voidcraft,/area/submap/DerelictEngine) "xq" = (/turf/simulated/shuttle/wall/alien/no_join,/area/submap/DerelictEngine) "xv" = (/obj/effect/decal/remains/xeno,/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) "xz" = (/obj/effect/floor_decal/techfloor{dir = 4},/mob/living/simple_mob/humanoid/merc/ranged{health = 15; maxHealth = 15},/turf/simulated/shuttle/floor/alien,/area/submap/DerelictEngine) @@ -173,8 +173,8 @@ "yi" = (/obj/structure/loot_pile/surface/alien/security,/obj/effect/floor_decal/techfloor/orange{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "yj" = (/obj/effect/floor_decal/techfloor{dir = 4},/obj/machinery/door/airlock/alien/locked,/turf/simulated/shuttle/floor/voidcraft,/area/submap/DerelictEngine) "yk" = (/mob/living/simple_mob/mechanical/hivebot/swarm,/turf/simulated/floor/outdoors/rocks,/area/template_noop) -"yA" = (/obj/structure/table/alien,/obj/effect/floor_decal/techfloor{dir = 10},/obj/item/prop/alien/junk,/obj/item/weapon/hand_tele,/obj/item/weapon/implanter/adrenalin,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) -"yB" = (/obj/structure/closet/alien,/obj/item/prop/alien/junk,/obj/item/weapon/tool/crowbar/alien,/obj/item/weapon/tool/wirecutters/alien,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) +"yA" = (/obj/structure/table/alien,/obj/effect/floor_decal/techfloor{dir = 10},/obj/item/prop/alien/junk,/obj/item/hand_tele,/obj/item/implanter/adrenalin,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) +"yB" = (/obj/structure/closet/alien,/obj/item/prop/alien/junk,/obj/item/tool/crowbar/alien,/obj/item/tool/wirecutters/alien,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "yE" = (/obj/effect/floor_decal/techfloor/orange{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/decal/cleanable/generic,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "yQ" = (/obj/effect/floor_decal/techfloor/orange{dir = 8},/obj/effect/floor_decal/techfloor/orange{dir = 4},/mob/living/simple_mob/mechanical/hivebot/ranged_damage/rapid,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "yZ" = (/obj/effect/floor_decal/techfloor{dir = 4},/obj/effect/gibspawner/robot,/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) @@ -183,13 +183,13 @@ "zf" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/tesla_coil/pre_mapped,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "zk" = (/obj/effect/floor_decal/techfloor{dir = 4},/obj/machinery/porta_turret/alien/destroyed,/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) "zn" = (/obj/structure/closet/alien,/obj/item/prop/alien/junk,/obj/item/prop/alien/junk,/obj/item/prop/alien/junk,/obj/random/tool/alien,/obj/item/stack/cable_coil/alien,/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) -"zr" = (/obj/structure/closet/alien,/obj/item/weapon/tool/wrench/alien,/obj/item/weapon/weldingtool/alien,/obj/item/device/multitool/alien,/obj/item/stack/material/phoron{amount = 10},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) +"zr" = (/obj/structure/closet/alien,/obj/item/tool/wrench/alien,/obj/item/weldingtool/alien,/obj/item/multitool/alien,/obj/item/stack/material/phoron{amount = 10},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "zw" = (/obj/item/clothing/under/psysuit,/obj/structure/table/alien,/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) "zH" = (/obj/structure/girder/reinforced,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "zJ" = (/obj/effect/floor_decal/techfloor/orange,/obj/structure/grille/cult{name = "Alien grille"},/obj/structure/window/phoronreinforced{dir = 4},/obj/structure/window/phoronreinforced,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/window/phoronreinforced/full,/turf/simulated/shuttle/floor/voidcraft,/area/submap/DerelictEngine) "zP" = (/obj/effect/floor_decal/techfloor{dir = 5},/obj/effect/floor_decal/techfloor/hole{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) -"zY" = (/obj/effect/floor_decal/techfloor/orange{dir = 4},/obj/effect/floor_decal/techfloor/orange{dir = 8},/obj/item/weapon/storage/belt/utility/alien,/obj/item/weapon/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/obj/structure/table/alien,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) -"Ao" = (/obj/item/weapon/material/shard/phoron,/turf/simulated/floor/plating,/area/submap/DerelictEngine) +"zY" = (/obj/effect/floor_decal/techfloor/orange{dir = 4},/obj/effect/floor_decal/techfloor/orange{dir = 8},/obj/item/storage/belt/utility/alien,/obj/item/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/obj/structure/table/alien,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) +"Ao" = (/obj/item/material/shard/phoron,/turf/simulated/floor/plating,/area/submap/DerelictEngine) "Ap" = (/obj/effect/floor_decal/techfloor/orange{dir = 4},/obj/structure/bed/alien,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "AF" = (/obj/machinery/porta_turret/alien/destroyed,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "AT" = (/mob/living/simple_mob/mechanical/hivebot/tank/armored/anti_laser,/obj/effect/floor_decal/techfloor{dir = 8},/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) @@ -198,7 +198,7 @@ "Bd" = (/obj/effect/floor_decal/techfloor{dir = 4},/mob/living/simple_mob/humanoid/merc/ranged{health = 15; maxHealth = 15},/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) "Bf" = (/obj/effect/floor_decal/techfloor/orange{dir = 6},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/power/emitter/gyrotron/anchored{dir = 8},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "Bh" = (/obj/effect/floor_decal/techfloor/orange{dir = 4},/obj/effect/floor_decal/techfloor/orange{dir = 8},/obj/structure/loot_pile/surface/alien/engineering,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) -"Bo" = (/obj/effect/floor_decal/techfloor{dir = 4},/obj/item/weapon/gun/energy/sniperrifle,/turf/simulated/shuttle/floor/alien,/area/submap/DerelictEngine) +"Bo" = (/obj/effect/floor_decal/techfloor{dir = 4},/obj/item/gun/energy/sniperrifle,/turf/simulated/shuttle/floor/alien,/area/submap/DerelictEngine) "Bs" = (/obj/effect/floor_decal/techfloor/orange{dir = 8},/obj/effect/decal/cleanable/ash,/turf/simulated/floor/plating,/area/submap/DerelictEngine) "Bz" = (/obj/structure/shuttle/engine/propulsion/burst,/turf/simulated/floor/outdoors/rocks,/area/submap/DerelictEngine) "BG" = (/obj/effect/gibspawner/human,/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) @@ -215,18 +215,18 @@ "Dj" = (/obj/effect/floor_decal/techfloor{dir = 4},/obj/random/trash,/turf/simulated/shuttle/floor/alien,/area/submap/DerelictEngine) "DA" = (/obj/structure/loot_pile/surface/alien/engineering,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "DQ" = (/obj/structure/loot_pile/surface/alien/engineering,/turf/simulated/shuttle/floor/alien,/area/submap/DerelictEngine) -"Ec" = (/obj/effect/floor_decal/techfloor/orange{dir = 4},/obj/effect/floor_decal/techfloor/orange{dir = 8},/obj/item/weapon/paper/alien,/obj/item/weapon/cell/device/weapon/recharge/alien,/obj/structure/table/alien,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) +"Ec" = (/obj/effect/floor_decal/techfloor/orange{dir = 4},/obj/effect/floor_decal/techfloor/orange{dir = 8},/obj/item/paper/alien,/obj/item/cell/device/weapon/recharge/alien,/obj/structure/table/alien,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "Ee" = (/mob/living/simple_mob/mechanical/hivebot/ranged_damage/backline,/obj/effect/floor_decal/techfloor{dir = 1},/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) "Em" = (/obj/effect/floor_decal/techfloor{dir = 8},/mob/living/simple_mob/humanoid/merc/ranged/ionrifle{health = 15; maxHealth = 15},/turf/simulated/shuttle/floor/alien,/area/submap/DerelictEngine) "Et" = (/mob/living/simple_mob/mechanical/hivebot/ranged_damage/strong/guard,/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) "Eu" = (/obj/effect/floor_decal/techfloor/orange{dir = 8},/obj/effect/floor_decal/techfloor/orange{dir = 4},/obj/machinery/fusion_fuel_injector/mapped,/obj/machinery/fusion_fuel_injector/mapped{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) -"Ey" = (/obj/structure/grille/cult{name = "Alien grille"},/obj/structure/window/phoronreinforced{dir = 8},/obj/item/weapon/material/shard/phoron,/obj/structure/window/phoronreinforced/full,/turf/simulated/shuttle/floor/voidcraft,/area/submap/DerelictEngine) +"Ey" = (/obj/structure/grille/cult{name = "Alien grille"},/obj/structure/window/phoronreinforced{dir = 8},/obj/item/material/shard/phoron,/obj/structure/window/phoronreinforced/full,/turf/simulated/shuttle/floor/voidcraft,/area/submap/DerelictEngine) "EC" = (/obj/structure/shuttle/engine/heater,/turf/simulated/shuttle/wall/alien/hard_corner,/area/submap/DerelictEngine) "EF" = (/obj/machinery/porta_turret/alien{faction = "hivebot"},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) -"EM" = (/obj/structure/closet/alien,/obj/effect/floor_decal/techfloor{dir = 8},/obj/item/prop/alien/junk,/obj/item/prop/alien/junk,/obj/item/weapon/surgical/bone_clamp/alien,/obj/item/weapon/surgical/hemostat/alien,/obj/item/weapon/surgical/scalpel/alien,/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) +"EM" = (/obj/structure/closet/alien,/obj/effect/floor_decal/techfloor{dir = 8},/obj/item/prop/alien/junk,/obj/item/prop/alien/junk,/obj/item/surgical/bone_clamp/alien,/obj/item/surgical/hemostat/alien,/obj/item/surgical/scalpel/alien,/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) "EZ" = (/obj/effect/floor_decal/techfloor/orange{dir = 4},/obj/effect/floor_decal/techfloor/orange{dir = 8},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "Fb" = (/obj/structure/loot_pile/surface/alien/medical,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) -"Fd" = (/obj/item/weapon/surgical/bone_clamp/alien,/obj/item/device/healthanalyzer/phasic,/obj/effect/floor_decal/techfloor{dir = 4},/obj/structure/table/alien,/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) +"Fd" = (/obj/item/surgical/bone_clamp/alien,/obj/item/healthanalyzer/phasic,/obj/effect/floor_decal/techfloor{dir = 4},/obj/structure/table/alien,/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) "FE" = (/obj/effect/floor_decal/techfloor/orange{dir = 9},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "FH" = (/obj/machinery/teleport/station,/obj/effect/floor_decal/techfloor/orange{dir = 1},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "FI" = (/obj/effect/floor_decal/techfloor/orange{dir = 5},/obj/structure/cable{d2 = 2; icon_state = "0-2"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/submap/DerelictEngine) @@ -270,22 +270,22 @@ "LO" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/decal/cleanable/generic,/turf/simulated/floor/plating,/area/submap/DerelictEngine) "LT" = (/obj/effect/floor_decal/techfloor/orange{dir = 1},/obj/effect/decal/cleanable/blood/gibs/robot,/obj/effect/decal/cleanable/molten_item,/turf/simulated/floor/plating,/area/submap/DerelictEngine) "MD" = (/mob/living/simple_mob/mechanical/hivebot/ranged_damage/rapid,/obj/effect/floor_decal/techfloor{dir = 8},/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) -"MG" = (/obj/item/clothing/under/psysuit,/obj/item/weapon/circuitboard/mecha/imperion/peripherals,/obj/structure/table/alien,/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) +"MG" = (/obj/item/clothing/under/psysuit,/obj/item/circuitboard/mecha/imperion/peripherals,/obj/structure/table/alien,/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) "MO" = (/obj/effect/floor_decal/techfloor/orange{dir = 10},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "MZ" = (/obj/effect/floor_decal/techfloor{dir = 4},/obj/machinery/door/airlock/alien/public,/turf/simulated/shuttle/floor/voidcraft,/area/submap/DerelictEngine) "Ng" = (/obj/effect/floor_decal/techfloor{dir = 10},/obj/structure/closet/alien,/obj/item/prop/alien/junk,/obj/item/prop/alien/junk,/obj/item/shield_projector/rectangle/weak,/obj/item/stack/material/phoron{amount = 10},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "Nm" = (/obj/structure/loot_pile/surface/alien/security,/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) -"No" = (/obj/structure/closet/alien,/obj/item/prop/alien/junk,/obj/item/prop/alien/junk,/obj/item/weapon/tool/screwdriver/alien,/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) +"No" = (/obj/structure/closet/alien,/obj/item/prop/alien/junk,/obj/item/prop/alien/junk,/obj/item/tool/screwdriver/alien,/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) "Nr" = (/mob/living/simple_mob/mechanical/hivebot/swarm,/turf/simulated/floor/outdoors/dirt,/area/template_noop) -"NZ" = (/obj/structure/table/alien,/obj/effect/floor_decal/techfloor/orange{dir = 4},/obj/effect/floor_decal/techfloor/orange{dir = 8},/obj/item/weapon/circuitboard/mecha/imperion/phasing,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) +"NZ" = (/obj/structure/table/alien,/obj/effect/floor_decal/techfloor/orange{dir = 4},/obj/effect/floor_decal/techfloor/orange{dir = 8},/obj/item/circuitboard/mecha/imperion/phasing,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "Ok" = (/obj/machinery/vr_sleeper/alien/beta_replicant,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) -"OB" = (/obj/structure/table/alien,/obj/effect/floor_decal/techfloor{dir = 8},/obj/item/weapon/paper/alien,/turf/simulated/shuttle/floor/alien,/area/submap/DerelictEngine) +"OB" = (/obj/structure/table/alien,/obj/effect/floor_decal/techfloor{dir = 8},/obj/item/paper/alien,/turf/simulated/shuttle/floor/alien,/area/submap/DerelictEngine) "OV" = (/obj/effect/floor_decal/techfloor/orange{dir = 4},/obj/effect/floor_decal/techfloor/orange{dir = 8},/mob/living/simple_mob/mechanical/hivebot/ranged_damage/rapid,/obj/effect/decal/remains/xeno,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) -"OZ" = (/obj/structure/table/alien,/obj/effect/floor_decal/techfloor/orange{dir = 4},/obj/effect/floor_decal/techfloor/orange{dir = 8},/obj/item/weapon/gun/energy/laser/sleek,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) +"OZ" = (/obj/structure/table/alien,/obj/effect/floor_decal/techfloor/orange{dir = 4},/obj/effect/floor_decal/techfloor/orange{dir = 8},/obj/item/gun/energy/laser/sleek,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "Pe" = (/obj/effect/floor_decal/techfloor/orange,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/mob/living/simple_mob/mechanical/hivebot/ranged_damage/laser,/turf/simulated/floor/plating,/area/submap/DerelictEngine) "Pn" = (/obj/random/mob/robotic/hivebot,/obj/effect/floor_decal/techfloor{dir = 8},/turf/simulated/shuttle/floor/alien,/area/submap/DerelictEngine) "Pq" = (/obj/effect/floor_decal/techfloor/orange{dir = 4},/obj/effect/floor_decal/techfloor/orange{dir = 8},/obj/machinery/power/terminal{dir = 1},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) -"Pw" = (/obj/structure/mopbucket,/obj/item/weapon/mop,/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) +"Pw" = (/obj/structure/mopbucket,/obj/item/mop,/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) "PD" = (/obj/effect/floor_decal/techfloor/orange,/obj/effect/floor_decal/techfloor/hole/right,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "PF" = (/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "PK" = (/obj/effect/floor_decal/techfloor/orange,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) @@ -303,7 +303,7 @@ "RB" = (/obj/effect/floor_decal/techfloor{dir = 8},/turf/simulated/shuttle/floor/alien,/area/submap/DerelictEngine) "RF" = (/obj/structure/prop/alien/power,/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) "RG" = (/obj/effect/floor_decal/techfloor/orange{dir = 8},/obj/effect/floor_decal/techfloor/orange{dir = 4},/obj/machinery/fusion_fuel_injector/mapped{dir = 8},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) -"RU" = (/obj/structure/closet/alien,/obj/item/weapon/weldingtool/alien,/obj/item/weapon/storage/belt/utility/alien/full,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) +"RU" = (/obj/structure/closet/alien,/obj/item/weldingtool/alien,/obj/item/storage/belt/utility/alien/full,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "RW" = (/obj/machinery/door/airlock/alien/public,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "SB" = (/obj/structure/prop/alien/computer,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "SF" = (/turf/template_noop,/area/template_noop) @@ -325,12 +325,12 @@ "Uv" = (/obj/effect/floor_decal/industrial/warning/full,/obj/structure/prop/lock/projectile{pixel_y = 6},/turf/simulated/floor/greengrid,/area/submap/DerelictEngine) "Uw" = (/obj/structure/particle_accelerator/fuel_chamber{dir = 8},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "UQ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/decal/cleanable/generic,/obj/effect/decal/cleanable/blood/gibs/robot,/obj/effect/gibspawner/human,/turf/simulated/floor/plating,/area/submap/DerelictEngine) -"UV" = (/obj/structure/table/alien,/obj/effect/floor_decal/techfloor/orange{dir = 8},/obj/effect/floor_decal/techfloor/orange{dir = 4},/obj/item/weapon/gun/energy/alien,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) +"UV" = (/obj/structure/table/alien,/obj/effect/floor_decal/techfloor/orange{dir = 8},/obj/effect/floor_decal/techfloor/orange{dir = 4},/obj/item/gun/energy/alien,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "UW" = (/obj/effect/floor_decal/techfloor/orange/corner{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/submap/DerelictEngine) -"UZ" = (/obj/item/clothing/accessory/medal/dungeon/alien_ufo{desc = "It vaguely like a star. It looks like something an alien admiral might've worn. Probably."; name = "alien admiral's medal"},/obj/item/weapon/telecube/precursor/mated/zone,/obj/item/clothing/head/helmet/alien/tank,/obj/structure/table/alien,/turf/simulated/floor/greengrid,/area/submap/DerelictEngine) +"UZ" = (/obj/item/clothing/accessory/medal/dungeon/alien_ufo{desc = "It vaguely like a star. It looks like something an alien admiral might've worn. Probably."; name = "alien admiral's medal"},/obj/item/telecube/precursor/mated/zone,/obj/item/clothing/head/helmet/alien/tank,/obj/structure/table/alien,/turf/simulated/floor/greengrid,/area/submap/DerelictEngine) "Vb" = (/obj/effect/floor_decal/techfloor{dir = 4},/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) "Vg" = (/obj/effect/floor_decal/techfloor/orange,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) -"Vk" = (/obj/item/weapon/oar{desc = "Used to provide propulsion to a space ship."; force = 50; name = "Alien oar"; throw_range = 10; throw_speed = 5; throwforce = 30},/turf/simulated/shuttle/floor/alien,/area/submap/DerelictEngine) +"Vk" = (/obj/item/oar{desc = "Used to provide propulsion to a space ship."; force = 50; name = "Alien oar"; throw_range = 10; throw_speed = 5; throwforce = 30},/turf/simulated/shuttle/floor/alien,/area/submap/DerelictEngine) "Vn" = (/obj/machinery/porta_turret/alien{faction = "hivebot"},/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) "Vs" = (/mob/living/simple_mob/mechanical/hivebot/tank/armored,/turf/simulated/shuttle/floor/alien,/area/submap/DerelictEngine) "Vy" = (/obj/effect/gibspawner/robot,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) @@ -339,7 +339,7 @@ "VQ" = (/turf/simulated/floor/plating,/area/submap/DerelictEngine) "VX" = (/obj/effect/floor_decal/techfloor{dir = 8},/mob/living/simple_mob/humanoid/merc/ranged{health = 15; maxHealth = 15},/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) "Wk" = (/mob/living/simple_mob/mechanical/hivebot/ranged_damage/siege,/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) -"WA" = (/obj/structure/table/alien,/obj/effect/floor_decal/techfloor{dir = 4},/obj/item/weapon/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/turf/simulated/shuttle/floor/alien,/area/submap/DerelictEngine) +"WA" = (/obj/structure/table/alien,/obj/effect/floor_decal/techfloor{dir = 4},/obj/item/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/turf/simulated/shuttle/floor/alien,/area/submap/DerelictEngine) "WB" = (/obj/effect/floor_decal/techfloor{dir = 4},/obj/machinery/power/tesla_coil,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "WQ" = (/obj/effect/floor_decal/techfloor{dir = 5},/obj/structure/loot_pile/surface/alien/medical,/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "WV" = (/mob/living/simple_mob/humanoid/merc/ranged{health = 15; maxHealth = 15},/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) @@ -359,7 +359,7 @@ "Yr" = (/obj/item/prop/alien/junk,/turf/simulated/shuttle/floor/alien,/area/submap/DerelictEngine) "Yu" = (/obj/structure/particle_accelerator/end_cap{anchored = 1; dir = 8},/obj/effect/floor_decal/techfloor/orange{dir = 4},/obj/effect/floor_decal/techfloor/hole{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "YG" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/power/grounding_rod/pre_mapped{item_state = 2},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) -"YH" = (/obj/effect/floor_decal/techfloor/orange{dir = 1},/obj/item/weapon/material/shard/phoron{pixel_x = -9; pixel_y = -7},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) +"YH" = (/obj/effect/floor_decal/techfloor/orange{dir = 1},/obj/item/material/shard/phoron{pixel_x = -9; pixel_y = -7},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "YI" = (/obj/effect/floor_decal/techfloor/orange,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/techfloor,/area/submap/DerelictEngine) "YJ" = (/obj/effect/floor_decal/techfloor{dir = 8},/turf/simulated/shuttle/floor/alienplating/external,/area/submap/DerelictEngine) "Zh" = (/obj/effect/floor_decal/techfloor/orange{dir = 1},/obj/structure/grille/cult{name = "Alien grille"},/obj/structure/window/phoronreinforced{dir = 8},/obj/structure/window/phoronreinforced{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/window/phoronreinforced/full,/turf/simulated/shuttle/floor/voidcraft,/area/submap/DerelictEngine) diff --git a/maps/submaps/surface_submaps/wilderness/dogbase.dmm b/maps/submaps/surface_submaps/wilderness/dogbase.dmm index 3a6416cc1b3..5d663cd5924 100644 --- a/maps/submaps/surface_submaps/wilderness/dogbase.dmm +++ b/maps/submaps/surface_submaps/wilderness/dogbase.dmm @@ -39,7 +39,7 @@ /obj/effect/decal/cleanable/filth, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/item/weapon/bone, +/obj/item/bone, /obj/random/maintenance/security, /turf/simulated/floor/outdoors/dirt, /area/submap/DogBase) @@ -53,7 +53,7 @@ /turf/simulated/floor, /area/submap/DogBase) "bw" = ( -/obj/item/weapon/storage/belt/janitor, +/obj/item/storage/belt/janitor, /obj/effect/floor_decal/corner/purple/diagonal, /turf/simulated/floor/tiled/dark, /area/submap/DogBase) @@ -157,7 +157,7 @@ /obj/effect/decal/cleanable/filth, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/item/weapon/bone/ribs, +/obj/item/bone/ribs, /obj/random/maintenance/research, /turf/simulated/floor/outdoors/dirt, /area/submap/DogBase) @@ -255,7 +255,7 @@ /area/submap/DogBase) "np" = ( /obj/structure/table/woodentable, -/obj/item/weapon/gun/projectile/pistol, +/obj/item/gun/projectile/pistol, /turf/simulated/floor/tiled/dark, /area/submap/DogBase) "oW" = ( @@ -265,7 +265,7 @@ /area/template_noop) "pR" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/effect/floor_decal/borderfloor{ dir = 9 }, @@ -293,13 +293,13 @@ /obj/structure/dogbed, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/item/weapon/bone, +/obj/item/bone, /obj/random/maintenance/security, /turf/simulated/floor/outdoors/dirt, /area/submap/DogBase) "qO" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/effect/floor_decal/borderfloor{ dir = 1 }, @@ -478,7 +478,7 @@ /area/submap/DogBase) "BA" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /turf/simulated/floor/tiled/dark, /area/submap/DogBase) "BB" = ( @@ -493,7 +493,7 @@ /area/submap/DogBase) "Ce" = ( /obj/structure/janitorialcart, -/obj/item/weapon/storage/bag/trash, +/obj/item/storage/bag/trash, /obj/effect/floor_decal/corner/purple/diagonal, /turf/simulated/floor/tiled/dark, /area/submap/DogBase) @@ -507,7 +507,7 @@ /obj/structure/dogbed, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/item/weapon/bone, +/obj/item/bone, /obj/random/contraband/nofail, /turf/simulated/floor/outdoors/dirt, /area/submap/DogBase) @@ -677,13 +677,13 @@ /area/submap/DogBase) "Ok" = ( /obj/structure/table/woodentable, -/obj/item/device/radio/phone, +/obj/item/radio/phone, /turf/simulated/floor/tiled/dark, /area/submap/DogBase) "Ol" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/item/weapon/bone/leg, +/obj/item/bone/leg, /mob/living/simple_mob/vore/wolf/direwolf/dog/sec{ desc = "The biggest and baddest guard dog around."; faction = "syndicate"; @@ -762,7 +762,7 @@ /area/template_noop) "Rz" = ( /obj/structure/table/woodentable, -/obj/item/device/radio/phone, +/obj/item/radio/phone, /obj/random/contraband/nofail, /turf/simulated/floor/tiled/dark, /area/submap/DogBase) @@ -826,7 +826,7 @@ /area/submap/DogBase) "Wu" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/effect/floor_decal/borderfloor{ dir = 8 }, @@ -888,7 +888,7 @@ /area/submap/DogBase) "ZK" = ( /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "Unknown APC"; pixel_x = -24 diff --git a/maps/submaps/surface_submaps/wilderness/drgnplateu.dmm b/maps/submaps/surface_submaps/wilderness/drgnplateu.dmm index 55381116919..7043f0230ea 100644 --- a/maps/submaps/surface_submaps/wilderness/drgnplateu.dmm +++ b/maps/submaps/surface_submaps/wilderness/drgnplateu.dmm @@ -17,16 +17,16 @@ /turf/simulated/floor/outdoors/dirt, /area/submap/drgnplateu) "cV" = ( -/obj/item/weapon/digestion_remains/skull/tajaran, -/obj/item/weapon/digestion_remains{ +/obj/item/digestion_remains/skull/tajaran, +/obj/item/digestion_remains{ pixel_x = 19; pixel_y = 1 }, -/obj/item/weapon/digestion_remains{ +/obj/item/digestion_remains{ pixel_x = 8; pixel_y = 1 }, -/obj/item/weapon/digestion_remains, +/obj/item/digestion_remains, /obj/item/clothing/accessory/collar/holo/indigestible, /turf/simulated/floor/outdoors/dirt, /area/submap/drgnplateu) @@ -41,17 +41,17 @@ /obj/structure/flora/grass/green{ pixel_x = -8 }, -/obj/item/clothing/gloves/ring/material/gold, +/obj/item/clothing/accessory/ring/material/gold, /obj/item/clothing/ears/earring/stud/gold, -/obj/item/weapon/gun/projectile/deagle/gold{ +/obj/item/gun/projectile/deagle/gold{ pixel_x = -11; pixel_y = -22 }, /turf/simulated/floor/outdoors/grass/sif/forest, /area/submap/drgnplateu) "ez" = ( -/obj/item/weapon/digestion_remains/ribcage, -/obj/item/weapon/digestion_remains{ +/obj/item/digestion_remains/ribcage, +/obj/item/digestion_remains{ pixel_x = 19; pixel_y = 1 }, @@ -59,8 +59,8 @@ /turf/simulated/floor/outdoors/dirt, /area/submap/drgnplateu) "fj" = ( -/obj/item/weapon/digestion_remains/ribcage, -/obj/item/weapon/digestion_remains{ +/obj/item/digestion_remains/ribcage, +/obj/item/digestion_remains{ pixel_x = 8; pixel_y = 7 }, @@ -86,11 +86,11 @@ }, /obj/structure/flora/grass/green, /obj/item/clothing/accessory/medal/solgov/gold/sun, -/obj/item/weapon/pickaxe/gold{ +/obj/item/pickaxe/gold{ pixel_x = -12; pixel_y = 9 }, -/obj/item/weapon/reagent_containers/food/drinks/golden_cup{ +/obj/item/reagent_containers/food/drinks/golden_cup{ pixel_x = -10; pixel_y = -5 }, @@ -126,7 +126,7 @@ /obj/item/instrument/violin/golden{ pixel_x = 7 }, -/obj/item/weapon/flame/lighter/zippo/gold, +/obj/item/flame/lighter/zippo/gold, /turf/simulated/floor/outdoors/grass/sif/forest, /area/submap/drgnplateu) "mw" = ( @@ -134,24 +134,24 @@ /turf/simulated/floor/outdoors/dirt, /area/submap/drgnplateu) "mB" = ( -/obj/item/weapon/material/twohanded/baseballbat/gold, +/obj/item/material/twohanded/baseballbat/gold, /turf/simulated/floor/outdoors/grass/sif/forest, /area/submap/drgnplateu) "mX" = ( -/obj/item/weapon/digestion_remains/skull/unknown/anthro, -/obj/item/weapon/digestion_remains{ +/obj/item/digestion_remains/skull/unknown/anthro, +/obj/item/digestion_remains{ pixel_x = 8; pixel_y = 7 }, -/obj/item/weapon/digestion_remains{ +/obj/item/digestion_remains{ pixel_x = 19; pixel_y = -2 }, -/obj/item/weapon/digestion_remains{ +/obj/item/digestion_remains{ pixel_x = 19; pixel_y = -11 }, -/obj/item/weapon/digestion_remains{ +/obj/item/digestion_remains{ pixel_x = 19; pixel_y = 1 }, @@ -164,8 +164,8 @@ /turf/simulated/floor/outdoors/dirt, /area/submap/drgnplateu) "ni" = ( -/obj/item/weapon/digestion_remains/skull/unknown/anthro, -/obj/item/weapon/digestion_remains/ribcage, +/obj/item/digestion_remains/skull/unknown/anthro, +/obj/item/digestion_remains/ribcage, /obj/effect/decal/cleanable/liquid_fuel, /turf/simulated/floor/outdoors/dirt, /area/submap/drgnplateu) @@ -192,7 +192,7 @@ /turf/template_noop, /area/template_noop) "xd" = ( -/obj/item/weapon/digestion_remains/skull/nevrean, +/obj/item/digestion_remains/skull/nevrean, /obj/effect/decal/cleanable/filth, /turf/simulated/floor/outdoors/dirt, /area/submap/drgnplateu) @@ -203,12 +203,12 @@ /turf/simulated/floor/outdoors/dirt, /area/submap/drgnplateu) "zl" = ( -/obj/item/weapon/digestion_remains/skull/akula, +/obj/item/digestion_remains/skull/akula, /obj/effect/decal/cleanable/liquid_fuel, /turf/simulated/floor/outdoors/dirt, /area/submap/drgnplateu) "zm" = ( -/obj/item/weapon/digestion_remains, +/obj/item/digestion_remains, /obj/effect/decal/cleanable/filth, /turf/simulated/floor/outdoors/dirt, /area/submap/drgnplateu) @@ -225,14 +225,14 @@ /turf/simulated/floor/outdoors/dirt, /area/submap/drgnplateu) "Cu" = ( -/obj/item/weapon/digestion_remains{ +/obj/item/digestion_remains{ pixel_x = 8 }, -/obj/item/weapon/digestion_remains{ +/obj/item/digestion_remains{ pixel_x = 8; pixel_y = 7 }, -/obj/item/weapon/digestion_remains{ +/obj/item/digestion_remains{ pixel_x = 19; pixel_y = 1 }, @@ -240,8 +240,8 @@ /turf/simulated/floor/outdoors/dirt, /area/submap/drgnplateu) "FT" = ( -/obj/item/weapon/digestion_remains/ribcage, -/obj/item/weapon/digestion_remains/ribcage{ +/obj/item/digestion_remains/ribcage, +/obj/item/digestion_remains/ribcage{ pixel_x = 9; pixel_y = 14 }, @@ -263,7 +263,7 @@ /turf/simulated/floor/outdoors/dirt, /area/submap/drgnplateu) "Jz" = ( -/obj/item/weapon/digestion_remains/skull/unknown/anthro, +/obj/item/digestion_remains/skull/unknown/anthro, /turf/simulated/floor/outdoors/dirt, /area/submap/drgnplateu) "JJ" = ( @@ -299,9 +299,9 @@ /turf/simulated/floor/outdoors/dirt, /area/submap/drgnplateu) "Nj" = ( -/obj/item/weapon/digestion_remains/skull/unathi, -/obj/item/weapon/digestion_remains, -/obj/item/weapon/digestion_remains{ +/obj/item/digestion_remains/skull/unathi, +/obj/item/digestion_remains, +/obj/item/digestion_remains{ pixel_x = 8; pixel_y = 7 }, @@ -323,7 +323,7 @@ /turf/simulated/floor/outdoors/dirt, /area/submap/drgnplateu) "Ra" = ( -/obj/item/weapon/digestion_remains/skull/zorren, +/obj/item/digestion_remains/skull/zorren, /obj/item/clothing/accessory/collar/holo/indigestible, /turf/simulated/floor/outdoors/dirt, /area/submap/drgnplateu) diff --git a/maps/submaps/surface_submaps/wilderness/emptycabin.dmm b/maps/submaps/surface_submaps/wilderness/emptycabin.dmm index bf48dcfd0af..ec2ecae9ff9 100644 --- a/maps/submaps/surface_submaps/wilderness/emptycabin.dmm +++ b/maps/submaps/surface_submaps/wilderness/emptycabin.dmm @@ -4,8 +4,8 @@ /area/template_noop) "b" = ( /obj/effect/decal/cleanable/filth, -/obj/item/weapon/bone/arm, -/obj/item/weapon/bone/skull/unathi, +/obj/item/bone/arm, +/obj/item/bone/skull/unathi, /turf/simulated/floor/wood/sif, /area/submap/EmptyCabin) "c" = ( @@ -15,9 +15,9 @@ /area/submap/EmptyCabin) "d" = ( /obj/structure/closet/wardrobe, -/obj/item/weapon/material/fishing_rod/modern, -/obj/item/weapon/storage/toolbox/mechanical, -/obj/item/weapon/storage/toolbox/lunchbox/nymph/filled, +/obj/item/material/fishing_rod/modern, +/obj/item/storage/toolbox/mechanical, +/obj/item/storage/toolbox/lunchbox/nymph/filled, /turf/simulated/floor/wood/sif, /area/submap/EmptyCabin) "e" = ( @@ -31,7 +31,7 @@ /area/submap/EmptyCabin) "g" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/purpledouble, +/obj/item/bedsheet/purpledouble, /turf/simulated/floor/wood/sif, /area/submap/EmptyCabin) "i" = ( @@ -60,8 +60,8 @@ /area/submap/EmptyCabin) "n" = ( /obj/structure/table/sifwoodentable, -/obj/item/weapon/storage/fancy/candle_box, -/obj/item/weapon/paper/crumpled/bloody{ +/obj/item/storage/fancy/candle_box, +/obj/item/paper/crumpled/bloody{ info = "I found an otie while picking flowers today. He's so cute! I took him back home, and he seemed quite happy to share food with me. He really likes fish. Though, he never really seems to not be hungry..." }, /turf/simulated/floor/wood/sif, @@ -142,11 +142,11 @@ /area/submap/EmptyCabin) "L" = ( /obj/structure/table/sifwoodentable, -/obj/item/weapon/flame/candle/candelabra, +/obj/item/flame/candle/candelabra, /turf/simulated/floor/wood/sif, /area/submap/EmptyCabin) "M" = ( -/obj/item/weapon/bone/leg, +/obj/item/bone/leg, /turf/simulated/floor/wood/sif, /area/submap/EmptyCabin) "O" = ( @@ -196,7 +196,7 @@ /turf/simulated/floor/wood/sif, /area/submap/EmptyCabin) "X" = ( -/obj/item/weapon/bone, +/obj/item/bone, /turf/simulated/floor/wood/sif, /area/submap/EmptyCabin) "Z" = ( diff --git a/maps/submaps/surface_submaps/wilderness/frostoasis.dmm b/maps/submaps/surface_submaps/wilderness/frostoasis.dmm index 826e4d600a8..805d45c0000 100644 --- a/maps/submaps/surface_submaps/wilderness/frostoasis.dmm +++ b/maps/submaps/surface_submaps/wilderness/frostoasis.dmm @@ -1,5 +1,5 @@ "am" = (/obj/random/obstruction,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood/broken,/area/submap/FrostOasis) -"bB" = (/obj/structure/closet/cabinet,/obj/item/weapon/storage/belt/holding,/turf/simulated/floor/wood,/area/submap/FrostOasis) +"bB" = (/obj/structure/closet/cabinet,/obj/item/storage/belt/holding,/turf/simulated/floor/wood,/area/submap/FrostOasis) "cm" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/outdoors/dirt,/area/submap/FrostOasis) "co" = (/turf/simulated/mineral/ignore_mapgen,/area/submap/FrostOasis) "dD" = (/obj/structure/loot_pile/maint/boxfort,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/FrostOasis) @@ -7,12 +7,12 @@ "fj" = (/turf/simulated/floor/outdoors/ice,/area/submap/FrostOasis) "go" = (/mob/living/simple_mob/animal/sif/glitterfly{faction = "diyaab"},/turf/simulated/floor/outdoors/snow,/area/submap/FrostOasis) "gF" = (/obj/structure/loot_pile/maint/junk,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/FrostOasis) -"iC" = (/obj/structure/table/bench/sifwooden,/obj/item/weapon/flame/candle/candelabra/everburn{pixel_y = 7},/turf/simulated/floor/wood/broken,/area/submap/FrostOasis) +"iC" = (/obj/structure/table/bench/sifwooden,/obj/item/flame/candle/candelabra/everburn{pixel_y = 7},/turf/simulated/floor/wood/broken,/area/submap/FrostOasis) "jN" = (/mob/living/simple_mob/animal/sif/glitterfly{faction = "diyaab"},/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/outdoors/snow,/area/submap/FrostOasis) -"kr" = (/obj/item/weapon/a_gift,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood,/area/submap/FrostOasis) +"kr" = (/obj/item/a_gift,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood,/area/submap/FrostOasis) "ll" = (/obj/random/obstruction,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/FrostOasis) "lo" = (/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/outdoors/snow,/area/submap/FrostOasis) -"ls" = (/obj/structure/table/standard,/obj/item/weapon/a_gift,/obj/item/weapon/a_gift,/turf/simulated/floor/wood,/area/submap/FrostOasis) +"ls" = (/obj/structure/table/standard,/obj/item/a_gift,/obj/item/a_gift,/turf/simulated/floor/wood,/area/submap/FrostOasis) "me" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/outdoors/snow,/area/submap/FrostOasis) "mh" = (/turf/simulated/floor/outdoors/dirt,/area/submap/FrostOasis) "mw" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/FrostOasis) @@ -25,11 +25,11 @@ "pE" = (/obj/structure/flora/grass/green,/turf/simulated/floor/outdoors/snow,/area/submap/FrostOasis) "st" = (/turf/simulated/floor/outdoors/dirt,/area/template_noop) "sU" = (/mob/living/simple_mob/animal/giant_spider/frost/sif{faction = "diyaab"},/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/outdoors/snow,/area/submap/FrostOasis) -"tv" = (/obj/item/weapon/a_gift,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood/broken,/area/submap/FrostOasis) +"tv" = (/obj/item/a_gift,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood/broken,/area/submap/FrostOasis) "tT" = (/mob/living/simple_mob/animal/sif/glitterfly{faction = "diyaab"},/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/FrostOasis) "uX" = (/mob/living/simple_mob/animal/giant_spider/frost/sif{faction = "diyaab"},/turf/simulated/floor/outdoors/snow,/area/submap/FrostOasis) -"vb" = (/obj/structure/bed/double/padded,/obj/item/weapon/bedsheet/rddouble,/obj/effect/spresent,/turf/simulated/floor/wood,/area/submap/FrostOasis) -"vK" = (/obj/item/weapon/a_gift,/obj/item/clothing/ears/earring/dangle/glass,/turf/simulated/floor/wood,/area/submap/FrostOasis) +"vb" = (/obj/structure/bed/double/padded,/obj/item/bedsheet/rddouble,/obj/effect/spresent,/turf/simulated/floor/wood,/area/submap/FrostOasis) +"vK" = (/obj/item/a_gift,/obj/item/clothing/ears/earring/dangle/glass,/turf/simulated/floor/wood,/area/submap/FrostOasis) "xI" = (/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/FrostOasis) "zm" = (/obj/structure/flora/grass/both,/turf/simulated/floor/outdoors/snow,/area/submap/FrostOasis) "zI" = (/turf/simulated/wall/sifwood,/area/submap/FrostOasis) @@ -37,11 +37,11 @@ "AM" = (/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/outdoors/snow,/area/submap/FrostOasis) "Bt" = (/obj/structure/flora/ausbushes/ppflowers,/turf/simulated/floor/outdoors/snow,/area/submap/FrostOasis) "BF" = (/mob/living/simple_mob/animal/sif/diyaab,/turf/simulated/floor/outdoors/snow,/area/submap/FrostOasis) -"EW" = (/obj/structure/table/standard,/obj/item/weapon/gift,/obj/item/weapon/gun/energy/temperature,/turf/simulated/floor/wood/broken,/area/submap/FrostOasis) -"Fl" = (/obj/structure/curtain/open/bed,/obj/item/weapon/storage/fancy/blackcandle_box,/obj/random/soap,/obj/random/maintenance,/obj/random/maintenance,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/medical,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/structure/window/reinforced/tinted/frosted{dir = 4},/obj/structure/table/rack,/turf/simulated/floor/wood/broken,/area/submap/FrostOasis) +"EW" = (/obj/structure/table/standard,/obj/item/gift,/obj/item/gun/energy/temperature,/turf/simulated/floor/wood/broken,/area/submap/FrostOasis) +"Fl" = (/obj/structure/curtain/open/bed,/obj/item/storage/fancy/blackcandle_box,/obj/random/soap,/obj/random/maintenance,/obj/random/maintenance,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/medical,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/structure/window/reinforced/tinted/frosted{dir = 4},/obj/structure/table/rack,/turf/simulated/floor/wood/broken,/area/submap/FrostOasis) "It" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/outdoors/dirt,/area/template_noop) "IF" = (/turf/simulated/floor/beach/water/ocean,/area/submap/FrostOasis) -"Ji" = (/obj/item/weapon/a_gift,/obj/random/junk,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood,/area/submap/FrostOasis) +"Ji" = (/obj/item/a_gift,/obj/random/junk,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood,/area/submap/FrostOasis) "JY" = (/obj/random/obstruction,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/FrostOasis) "Ka" = (/obj/random/obstruction,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/FrostOasis) "Kq" = (/obj/structure/flora/tree/dead,/turf/simulated/floor/outdoors/snow,/area/submap/FrostOasis) diff --git a/maps/submaps/surface_submaps/wilderness/greatwolfden.dmm b/maps/submaps/surface_submaps/wilderness/greatwolfden.dmm index 738bac8d6ef..732d8aef5fb 100644 --- a/maps/submaps/surface_submaps/wilderness/greatwolfden.dmm +++ b/maps/submaps/surface_submaps/wilderness/greatwolfden.dmm @@ -82,15 +82,15 @@ /turf/simulated/mineral/floor/ignore_mapgen, /area/submap/GreatWolfDen) "ju" = ( -/obj/item/weapon/reagent_containers/food/snacks/meat/human, -/obj/item/weapon/reagent_containers/food/snacks/meat/human, -/obj/item/weapon/reagent_containers/food/snacks/meat/human, -/obj/item/weapon/reagent_containers/food/snacks/meat/human, -/obj/item/weapon/reagent_containers/food/snacks/meat/human, +/obj/item/reagent_containers/food/snacks/meat/human, +/obj/item/reagent_containers/food/snacks/meat/human, +/obj/item/reagent_containers/food/snacks/meat/human, +/obj/item/reagent_containers/food/snacks/meat/human, +/obj/item/reagent_containers/food/snacks/meat/human, /turf/simulated/mineral/floor/ignore_mapgen, /area/submap/GreatWolfDen) "kg" = ( -/obj/item/weapon/bone/skull/unathi, +/obj/item/bone/skull/unathi, /turf/simulated/mineral/floor/ignore_mapgen, /area/submap/GreatWolfDen) "kk" = ( @@ -121,7 +121,7 @@ /area/submap/GreatWolfDen) "lQ" = ( /obj/effect/decal/cleanable/filth, -/obj/item/weapon/card/emag_broken, +/obj/item/card/emag_broken, /turf/simulated/mineral/floor/ignore_mapgen, /area/submap/GreatWolfDen) "mk" = ( @@ -202,11 +202,11 @@ /turf/simulated/mineral/floor/ignore_mapgen, /area/submap/GreatWolfDen) "vu" = ( -/obj/item/weapon/bone/skull/tajaran, +/obj/item/bone/skull/tajaran, /turf/simulated/mineral/floor/ignore_mapgen, /area/submap/GreatWolfDen) "wc" = ( -/obj/item/weapon/bone/skull/unathi, +/obj/item/bone/skull/unathi, /obj/effect/decal/cleanable/dirt, /turf/simulated/mineral/floor/ignore_mapgen, /area/submap/GreatWolfDen) @@ -482,7 +482,7 @@ /turf/simulated/mineral/floor/ignore_mapgen, /area/submap/GreatWolfDen) "Rb" = ( -/obj/item/weapon/bone/leg, +/obj/item/bone/leg, /obj/effect/decal/cleanable/dirt, /turf/simulated/mineral/floor/ignore_mapgen, /area/submap/GreatWolfDen) @@ -491,7 +491,7 @@ /obj/structure/flora/sif/subterranean{ icon_state = "frostbelle" }, -/obj/item/weapon/gun/projectile/pistol, +/obj/item/gun/projectile/pistol, /turf/simulated/mineral/floor/ignore_mapgen, /area/submap/GreatWolfDen) "Rj" = ( @@ -507,7 +507,7 @@ /turf/simulated/mineral/floor/ignore_mapgen, /area/submap/GreatWolfDen) "SO" = ( -/obj/item/weapon/telecube/mated, +/obj/item/telecube/mated, /turf/simulated/mineral/floor/ignore_mapgen, /area/submap/GreatWolfDen) "SQ" = ( @@ -517,10 +517,10 @@ /turf/simulated/floor/outdoors/dirt, /area/template_noop) "Tf" = ( -/obj/item/weapon/paper/card/heart{ +/obj/item/paper/card/heart{ desc = "A gift card with a heart on the cover. This appears to be a thank-you to the.. wolves??" }, -/obj/item/weapon/paper/crumpled{ +/obj/item/paper/crumpled{ icon_state = "scrap_bloodied"; info = "The wolves dragged me back to their den when they found me incapacitated, and nursed me back to health, instead of eating me. I don't know why. Anyway, they're a bunch of goodboyes. Don't let the bones strewn about their den frighten you. Just be nice to them and they won't hurt you."; name = "survivor's note" @@ -550,7 +550,7 @@ /area/submap/GreatWolfDen) "WH" = ( /obj/structure/loot_pile/surface/bones, -/obj/item/weapon/storage/toolbox/syndicate, +/obj/item/storage/toolbox/syndicate, /obj/random/projectile/scrapped_gun, /turf/simulated/mineral/floor/ignore_mapgen, /area/submap/GreatWolfDen) @@ -574,7 +574,7 @@ /turf/simulated/floor/outdoors/snow, /area/submap/GreatWolfDen) "Xy" = ( -/obj/item/weapon/bone/ribs, +/obj/item/bone/ribs, /obj/effect/landmark/loot_spawn/low, /turf/simulated/mineral/floor/ignore_mapgen, /area/submap/GreatWolfDen) diff --git a/maps/submaps/surface_submaps/wilderness/leopardmanderden.dmm b/maps/submaps/surface_submaps/wilderness/leopardmanderden.dmm index 2238b8f1d9b..1888f98df11 100644 --- a/maps/submaps/surface_submaps/wilderness/leopardmanderden.dmm +++ b/maps/submaps/surface_submaps/wilderness/leopardmanderden.dmm @@ -1,6 +1,6 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "aK" = ( -/obj/item/weapon/ore/silver, +/obj/item/ore/silver, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/outdoors/grass/sif/forest{ outdoors = 0 @@ -20,7 +20,7 @@ }, /area/submap/LeopardmanderDen) "bj" = ( -/obj/item/weapon/bluespace_crystal, +/obj/item/bluespace_crystal, /turf/simulated/floor/outdoors/grass/sif, /area/submap/LeopardmanderDen) "bO" = ( @@ -52,7 +52,7 @@ }, /area/template_noop) "fe" = ( -/obj/item/weapon/coin/diamond, +/obj/item/coin/diamond, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/outdoors/grass/sif/forest{ outdoors = 0 @@ -60,7 +60,7 @@ /area/submap/LeopardmanderDen) "fQ" = ( /obj/effect/landmark/loot_spawn/low, -/obj/item/weapon/ore/gold, +/obj/item/ore/gold, /turf/simulated/floor/outdoors/grass/sif/forest{ outdoors = 0 }, @@ -70,7 +70,7 @@ /turf/simulated/floor/outdoors/dirt, /area/template_noop) "gC" = ( -/obj/item/weapon/flame/lighter/zippo/gold, +/obj/item/flame/lighter/zippo/gold, /turf/simulated/floor/outdoors/grass/sif/forest{ outdoors = 0 }, @@ -86,7 +86,7 @@ /turf/simulated/floor/outdoors/dirt, /area/template_noop) "gU" = ( -/obj/item/weapon/coin/gold, +/obj/item/coin/gold, /turf/simulated/floor/outdoors/grass/sif/forest{ outdoors = 0 }, @@ -295,7 +295,7 @@ /turf/simulated/floor/outdoors/grass/sif, /area/submap/LeopardmanderDen) "xg" = ( -/obj/item/weapon/ore/silver, +/obj/item/ore/silver, /turf/simulated/floor/outdoors/grass/sif/forest{ outdoors = 0 }, @@ -381,7 +381,7 @@ /turf/simulated/floor/outdoors/dirt, /area/template_noop) "Gw" = ( -/obj/item/weapon/ore/gold, +/obj/item/ore/gold, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/outdoors/grass/sif/forest{ outdoors = 0 @@ -498,7 +498,7 @@ }, /area/submap/LeopardmanderDen) "Te" = ( -/obj/item/weapon/coin/silver, +/obj/item/coin/silver, /turf/simulated/floor/outdoors/grass/sif/forest{ outdoors = 0 }, @@ -515,7 +515,7 @@ /area/template_noop) "Tt" = ( /obj/structure/flora/ausbushes/brflowers, -/obj/item/weapon/coin/iron, +/obj/item/coin/iron, /turf/simulated/floor/outdoors/grass/sif/forest{ outdoors = 0 }, @@ -529,16 +529,16 @@ }, /area/submap/LeopardmanderDen) "Uc" = ( -/obj/item/weapon/ore/diamond, +/obj/item/ore/diamond, /turf/simulated/floor/outdoors/grass/sif, /area/submap/LeopardmanderDen) "Ul" = ( -/obj/item/weapon/ore/gold, +/obj/item/ore/gold, /turf/simulated/floor/outdoors/grass/sif, /area/submap/LeopardmanderDen) "UA" = ( /obj/structure/flora/ausbushes/brflowers, -/obj/item/weapon/coin/gold, +/obj/item/coin/gold, /turf/simulated/floor/outdoors/grass/sif/forest{ outdoors = 0 }, @@ -590,7 +590,7 @@ /turf/simulated/floor/outdoors/dirt, /area/template_noop) "YJ" = ( -/obj/item/weapon/ore/diamond, +/obj/item/ore/diamond, /turf/simulated/floor/outdoors/grass/sif/forest{ outdoors = 0 }, diff --git a/maps/submaps/surface_submaps/wilderness/lonewolf.dmm b/maps/submaps/surface_submaps/wilderness/lonewolf.dmm index 83b02be35bd..b3f7540c9a0 100644 --- a/maps/submaps/surface_submaps/wilderness/lonewolf.dmm +++ b/maps/submaps/surface_submaps/wilderness/lonewolf.dmm @@ -85,7 +85,7 @@ /turf/simulated/mineral/ignore_mapgen, /area/submap/lonewolf) "P" = ( -/obj/item/weapon/sword/fluff/joanaria{ +/obj/item/sword/fluff/joanaria{ desc = "An ancient sword, belonging to someone of power. Now, it is little more than a relic, damaged beyong use."; force = 10; name = "old greatsword" diff --git a/maps/submaps/surface_submaps/wilderness/otieshelter.dmm b/maps/submaps/surface_submaps/wilderness/otieshelter.dmm index 9bf07c817ea..b60cd452357 100644 --- a/maps/submaps/surface_submaps/wilderness/otieshelter.dmm +++ b/maps/submaps/surface_submaps/wilderness/otieshelter.dmm @@ -68,7 +68,7 @@ dir = 4 }, /obj/item/trash/bowl, -/obj/item/weapon/reagent_containers/food/snacks/meat/human, +/obj/item/reagent_containers/food/snacks/meat/human, /turf/simulated/floor/tiled, /area/submap/OtieShelter) "hk" = ( @@ -88,7 +88,7 @@ /area/submap/OtieShelter) "iv" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery, /turf/simulated/floor/tiled, /area/submap/OtieShelter) "iC" = ( @@ -120,7 +120,7 @@ /turf/simulated/floor/carpet/turcarpet, /area/submap/OtieShelter) "jI" = ( -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /obj/effect/decal/cleanable/blood/tracks{ @@ -181,7 +181,7 @@ }, /mob/living/simple_mob/vore/otie/friendly/chubby, /obj/item/trash/bowl, -/obj/item/weapon/reagent_containers/food/snacks/meat/human, +/obj/item/reagent_containers/food/snacks/meat/human, /turf/simulated/floor/tiled, /area/submap/OtieShelter) "mC" = ( @@ -205,8 +205,8 @@ /area/submap/OtieShelter) "nR" = ( /obj/structure/table/marble, -/obj/item/weapon/newspaper, -/obj/item/weapon/paper/card/heart, +/obj/item/newspaper, +/obj/item/paper/card/heart, /turf/simulated/floor/carpet/turcarpet, /area/submap/OtieShelter) "ob" = ( @@ -219,7 +219,7 @@ /area/submap/OtieShelter) "od" = ( /obj/machinery/door/window, -/obj/item/weapon/bone, +/obj/item/bone, /turf/simulated/floor/tiled, /area/submap/OtieShelter) "op" = ( @@ -283,7 +283,7 @@ dir = 4 }, /obj/item/trash/bowl, -/obj/item/weapon/reagent_containers/food/snacks/meat/human, +/obj/item/reagent_containers/food/snacks/meat/human, /turf/simulated/floor/tiled, /area/submap/OtieShelter) "uD" = ( @@ -297,14 +297,14 @@ /turf/simulated/floor/tiled, /area/submap/OtieShelter) "vA" = ( -/obj/item/weapon/bone, +/obj/item/bone, /turf/simulated/floor/tiled, /area/submap/OtieShelter) "vB" = ( /obj/machinery/door/window{ dir = 8 }, -/obj/item/weapon/bone, +/obj/item/bone, /turf/simulated/floor/tiled, /area/submap/OtieShelter) "vV" = ( @@ -340,7 +340,7 @@ /area/submap/OtieShelter) "yD" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/firstaid/adv, +/obj/item/storage/firstaid/adv, /turf/simulated/floor/tiled, /area/submap/OtieShelter) "Aa" = ( @@ -352,8 +352,8 @@ /area/submap/OtieShelter) "At" = ( /obj/structure/table/marble, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /turf/simulated/floor/carpet/turcarpet, /area/submap/OtieShelter) "AO" = ( @@ -361,7 +361,7 @@ /turf/simulated/floor/tiled, /area/submap/OtieShelter) "BM" = ( -/obj/item/weapon/melee/baton/cattleprod, +/obj/item/melee/baton/cattleprod, /obj/effect/decal/cleanable/blood/tracks{ color = "red"; desc = "Your instincts say you shouldn't be following these."; @@ -377,7 +377,7 @@ /area/submap/OtieShelter) "Cw" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/firstaid, +/obj/item/storage/firstaid, /turf/simulated/floor/tiled, /area/submap/OtieShelter) "CM" = ( @@ -406,7 +406,7 @@ /turf/simulated/floor/tiled, /area/submap/OtieShelter) "Ih" = ( -/obj/item/weapon/reagent_containers/food/snacks/meat/human, +/obj/item/reagent_containers/food/snacks/meat/human, /turf/simulated/floor/tiled, /area/submap/OtieShelter) "Ij" = ( @@ -474,11 +474,11 @@ "Nd" = ( /obj/structure/table/marble, /obj/structure/table/marble, -/obj/item/device/radio/phone, +/obj/item/radio/phone, /turf/simulated/floor/carpet/turcarpet, /area/submap/OtieShelter) "Nh" = ( -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /obj/structure/bed/double/padded, /turf/simulated/floor/carpet/turcarpet, /area/submap/OtieShelter) @@ -525,7 +525,7 @@ dir = 8 }, /obj/item/trash/bowl, -/obj/item/weapon/reagent_containers/food/snacks/meat/human, +/obj/item/reagent_containers/food/snacks/meat/human, /turf/simulated/floor/tiled, /area/submap/OtieShelter) "Px" = ( @@ -571,7 +571,7 @@ dir = 8 }, /obj/item/trash/bowl, -/obj/item/weapon/reagent_containers/food/snacks/meat/human, +/obj/item/reagent_containers/food/snacks/meat/human, /turf/simulated/floor/tiled, /area/submap/OtieShelter) "VE" = ( @@ -614,7 +614,7 @@ dir = 1 }, /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /obj/effect/floor_decal/industrial/warning{ dir = 1 }, diff --git a/maps/submaps/surface_submaps/wilderness/syndisniper.dmm b/maps/submaps/surface_submaps/wilderness/syndisniper.dmm index d209ca0a5e4..6a7a63f5ea8 100644 --- a/maps/submaps/surface_submaps/wilderness/syndisniper.dmm +++ b/maps/submaps/surface_submaps/wilderness/syndisniper.dmm @@ -33,9 +33,9 @@ /area/submap/SyndiSniper) "w" = ( /obj/structure/table/sifwooden_reinforced, -/obj/item/weapon/storage/mre/random, -/obj/item/device/binoculars, -/obj/item/device/radio/bluespacehandset/linked/talon_prelinked, +/obj/item/storage/mre/random, +/obj/item/binoculars, +/obj/item/radio/bluespacehandset/linked/talon_prelinked, /turf/simulated/floor/outdoors/rocks, /area/submap/SyndiSniper) "B" = ( diff --git a/maps/submaps/surface_submaps/wilderness/wilderness.dm b/maps/submaps/surface_submaps/wilderness/wilderness.dm index a1110c77fc3..39ab9eb35ca 100644 --- a/maps/submaps/surface_submaps/wilderness/wilderness.dm +++ b/maps/submaps/surface_submaps/wilderness/wilderness.dm @@ -1,7 +1,7 @@ // This causes PoI maps to get 'checked' and compiled, when undergoing a unit test. // This is so CI can validate PoIs, and ensure future changes don't break PoIs, as PoIs are loaded at runtime and the compiler can't catch errors. // When adding a new PoI, please add it to this list. -#if MAP_TEST +#ifdef MAP_TEST #include "spider1.dmm" #include "Flake.dmm" #include "MCamp1.dmm" @@ -31,7 +31,7 @@ #include "Manor1.dmm" #include "Epod3.dmm" #include "Epod4.dmm" -#include "ButcherShack.dmm" +#include "butchershack.dmm" #include "Chapel.dmm" #include "Shelter.dmm" #include "derelictengine.dmm" @@ -72,328 +72,328 @@ /datum/map_template/surface/wilderness/normal/spider1 name = "Spider Nest 1" desc = "A small spider nest, in the forest." - mappath = 'maps/submaps/surface_submaps/wilderness/spider1.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/spider1.dmm" allow_duplicates = TRUE cost = 5 /datum/map_template/surface/wilderness/normal/Flake name = "Forest Lake" desc = "A serene lake sitting amidst the surface." - mappath = 'maps/submaps/surface_submaps/wilderness/Flake.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/Flake.dmm" cost = 10 /datum/map_template/surface/wilderness/normal/Mcamp1 name = "Military Camp 1" desc = "A derelict military camp host to some unsavory dangers" - mappath = 'maps/submaps/surface_submaps/wilderness/MCamp1.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/MCamp1.dmm" cost = 5 /datum/map_template/surface/wilderness/normal/Mudpit name = "Mudpit" desc = "What happens when someone is a bit too careless with gas.." - mappath = 'maps/submaps/surface_submaps/wilderness/Mudpit.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/Mudpit.dmm" cost = 5 /datum/map_template/surface/wilderness/normal/Rocky1 name = "Rocky 1" desc = "DununanununanununuNAnana" - mappath = 'maps/submaps/surface_submaps/wilderness/Rocky1.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/Rocky1.dmm" allow_duplicates = TRUE cost = 5 /datum/map_template/surface/wilderness/normal/Rocky2 name = "Rocky 2" desc = "More rocks." - mappath = 'maps/submaps/surface_submaps/wilderness/Rocky2.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/Rocky2.dmm" allow_duplicates = TRUE cost = 5 /datum/map_template/surface/wilderness/normal/Rocky3 name = "Rocky 3" desc = "More and more and more rocks." - mappath = 'maps/submaps/surface_submaps/wilderness/Rocky3.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/Rocky3.dmm" desc = "DununanununanununuNAnana" cost = 5 /datum/map_template/surface/wilderness/normal/Shack1 name = "Shack 1" desc = "A small shack in the middle of nowhere, Your halloween murder happens here" - mappath = 'maps/submaps/surface_submaps/wilderness/Shack1.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/Shack1.dmm" cost = 5 /datum/map_template/surface/wilderness/normal/Smol1 name = "Smol 1" desc = "A tiny grove of trees, The Nemesis of thicc" - mappath = 'maps/submaps/surface_submaps/wilderness/Smol1.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/Smol1.dmm" cost = 5 /datum/map_template/surface/wilderness/normal/Snowrock1 name = "Snowrock 1" desc = "A rocky snow covered area" - mappath = 'maps/submaps/surface_submaps/wilderness/Snowrock1.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/Snowrock1.dmm" cost = 5 /datum/map_template/surface/wilderness/normal/Cragzone1 name = "Cragzone 1" desc = "Rocks and more rocks." - mappath = 'maps/submaps/surface_submaps/wilderness/Cragzone1.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/Cragzone1.dmm" cost = 5 allow_duplicates = TRUE /datum/map_template/surface/wilderness/normal/Lab1 name = "Lab 1" desc = "An isolated small robotics lab." - mappath = 'maps/submaps/surface_submaps/wilderness/Lab1.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/Lab1.dmm" cost = 5 /datum/map_template/surface/wilderness/normal/Rocky4 name = "Rocky 4" desc = "An interesting geographic formation." - mappath = 'maps/submaps/surface_submaps/wilderness/Rocky4.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/Rocky4.dmm" cost = 5 /datum/map_template/surface/wilderness/deep/DJOutpost1 name = "DJOutpost 1" desc = "Home of Sif Free Radio, the best - and only - radio station for miles around." - mappath = 'maps/submaps/surface_submaps/wilderness/DJOutpost1.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/DJOutpost1.dmm" template_group = "Sif Free Radio" cost = 5 /datum/map_template/surface/wilderness/deep/DJOutpost2 name = "DJOutpost 2" desc = "The cratered remains of Sif Free Radio, the best - and only - radio station for miles around." - mappath = 'maps/submaps/surface_submaps/wilderness/DJOutpost2.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/DJOutpost2.dmm" template_group = "Sif Free Radio" cost = 5 /datum/map_template/surface/wilderness/deep/DJOutpost3 name = "DJOutpost 3" desc = "The surprisingly high-tech home of Sif Free Radio, the best - and only - radio station for miles around." - mappath = 'maps/submaps/surface_submaps/wilderness/DJOutpost3.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/DJOutpost3.dmm" template_group = "Sif Free Radio" cost = 10 /datum/map_template/surface/wilderness/deep/DJOutpost4 name = "DJOutpost 4" desc = "The surprisingly high-tech home of Sif Free Radio, the only radio station run by mindless clones." - mappath = 'maps/submaps/surface_submaps/wilderness/DJOutpost4.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/DJOutpost4.dmm" template_group = "Sif Free Radio" cost = INFINITY /// Prevent spawning. /*/datum/map_template/surface/wilderness/deep/Boombase //YW Edit remove boombase name = "Boombase" desc = "What happens when you don't follow SOP." - mappath = 'maps/submaps/surface_submaps/wilderness/Boombase.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/Boombase.dmm" cost = 5*/ /datum/map_template/surface/wilderness/deep/BSD name = "Black Shuttle Down" desc = "You REALLY shouldn't be near this." - mappath = 'maps/submaps/surface_submaps/wilderness/Blackshuttledown.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/Blackshuttledown.dmm" cost = 30 template_group = "Shuttle Down" /datum/map_template/surface/wilderness/deep/BluSD name = "Blue Shuttle Down" desc = "You REALLY shouldn't be near this. Mostly because they're Police." - mappath = 'maps/submaps/surface_submaps/wilderness/Blueshuttledown.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/Blueshuttledown.dmm" cost = INFINITY /// Prevent spawning. template_group = "Shuttle Down" /datum/map_template/surface/wilderness/deep/Rockybase name = "Rocky Base" desc = "A guide to upsetting Icarus and the EIO" - mappath = 'maps/submaps/surface_submaps/wilderness/Rockybase.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/Rockybase.dmm" cost = 35 /datum/map_template/surface/wilderness/deep/MHR name = "Manhack Rock" desc = "A rock filled with nasty Synthetics." - mappath = 'maps/submaps/surface_submaps/wilderness/MHR.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/MHR.dmm" cost = 15 /datum/map_template/surface/wilderness/normal/GovPatrol name = "Government Patrol" desc = "A long lost SifGuard ground survey patrol. Now they have you guys!" - mappath = 'maps/submaps/surface_submaps/wilderness/GovPatrol.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/GovPatrol.dmm" cost = 5 /datum/map_template/surface/wilderness/normal/KururakDen name = "Kururak Den" desc = "The den of a Kururak pack. May contain hibernating members." - mappath = 'maps/submaps/surface_submaps/wilderness/kururakden.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/kururakden.dmm" cost = 5 /datum/map_template/surface/wilderness/normal/DecoupledEngine name = "Decoupled Engine" desc = "A damaged fission engine jettisoned from a starship long ago." - mappath = 'maps/submaps/surface_submaps/wilderness/DecoupledEngine.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/DecoupledEngine.dmm" cost = 15 /datum/map_template/surface/wilderness/deep/DoomP name = "DoomP" desc = "Witty description here." - mappath = 'maps/submaps/surface_submaps/wilderness/DoomP.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/DoomP.dmm" cost = 30 /datum/map_template/surface/wilderness/deep/Cave name = "CaveS" desc = "Chitter chitter!" - mappath = 'maps/submaps/surface_submaps/wilderness/CaveS.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/CaveS.dmm" cost = 20 /datum/map_template/surface/wilderness/normal/Drugden name = "Drug Den" desc = "The remains of ill thought out whims." - mappath = 'maps/submaps/surface_submaps/wilderness/Drugden.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/Drugden.dmm" cost = 20 /datum/map_template/surface/wilderness/normal/Musk name = "Musk" desc = "0 to 60 in 1.9 seconds." - mappath = 'maps/submaps/surface_submaps/wilderness/Musk.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/Musk.dmm" cost = 10 /datum/map_template/surface/wilderness/deep/Manor1 name = "Manor 1" desc = "Whodunit" - mappath = 'maps/submaps/surface_submaps/wilderness/Manor1.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/Manor1.dmm" cost = 20 /datum/map_template/surface/wilderness/deep/Epod3 name = "Emergency Pod 3" desc = "A webbed Emergency pod in the middle of nowhere." - mappath = 'maps/submaps/surface_submaps/wilderness/Epod3.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/Epod3.dmm" cost = 5 /datum/map_template/surface/wilderness/normal/Epod4 name = "Emergency Pod 4" desc = "A flooded Emergency pod in the middle of nowhere." - mappath = 'maps/submaps/surface_submaps/wilderness/Epod4.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/Epod4.dmm" cost = 5 /datum/map_template/surface/wilderness/normal/ButcherShack name = "Butcher Shack" desc = "An old, bloody butcher's shack. Get your meat here!" - mappath = 'maps/submaps/surface_submaps/wilderness/ButcherShack.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/butchershack.dmm" cost = 5 /datum/map_template/surface/wilderness/deep/Chapel1 name = "Chapel 1" desc = "The chapel of lights and a robot." - mappath = 'maps/submaps/surface_submaps/wilderness/Chapel.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/Chapel.dmm" cost = 20 /datum/map_template/surface/wilderness/normal/Shelter1 name = "Shelter 1" desc = "The remains of a resourceful, but prideful explorer." - mappath = 'maps/submaps/surface_submaps/wilderness/Shelter.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/Shelter.dmm" cost = 10 /datum/map_template/surface/wilderness/normal/ChemSpill2 name = "Acrid Lake" desc = "A pool of water contaminated with highly dangerous chemicals." - mappath = 'maps/submaps/surface_submaps/wilderness/chemspill2.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/chemspill2.dmm" cost = 10 /datum/map_template/surface/wilderness/normal/FrostflyNest name = "Frostfly Nest" desc = "The nest of a Frostfly, or more." - mappath = 'maps/submaps/surface_submaps/wilderness/FrostflyNest.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/FrostflyNest.dmm" cost = 20 /datum/map_template/surface/wilderness/deep/DerelictEngine name = "Derelict Engine" desc = "An crashed alien ship, something went wrong inside." - mappath = 'maps/submaps/surface_submaps/wilderness/derelictengine.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/derelictengine.dmm" cost = 45 /datum/map_template/surface/wilderness/normal/WolfDen name = "Wolf Den" desc = "Small wolf den and their hunt spoils." - mappath = 'maps/submaps/surface_submaps/wilderness/wolfden.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/wolfden.dmm" cost = 10 /datum/map_template/surface/wilderness/normal/DemonPool name = "Demon Pool" desc = "A cult ritual gone horribly wrong." - mappath = 'maps/submaps/surface_submaps/wilderness/demonpool.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/demonpool.dmm" cost = 15 /datum/map_template/surface/wilderness/normal/FrostOasis name = "Frost Oasis" desc = "A strange oasis with a gathering of wild animals." - mappath = 'maps/submaps/surface_submaps/wilderness/frostoasis.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/frostoasis.dmm" cost = 15 /datum/map_template/surface/wilderness/deep/XenoHive name = "Xeno Hive" desc = "A containment experiment gone wrong." - mappath = 'maps/submaps/surface_submaps/wilderness/xenohive.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/xenohive.dmm" cost = 25 /datum/map_template/surface/wilderness/deep/BorgLab name = "Borg Lab" desc = "Production of experimental combat robots gone rogue." - mappath = 'maps/submaps/surface_submaps/wilderness/borglab.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/borglab.dmm" cost = 30 /datum/map_template/surface/wilderness/normal/Chasm name = "Chasm" desc = "An inconspicuous looking cave, watch your step." - mappath = 'maps/submaps/surface_submaps/wilderness/chasm.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/chasm.dmm" cost = 20 /datum/map_template/surface/wilderness/deep/DeathDen name = "Death Den" desc = "Gathering of acolytes gone wrong." - mappath = 'maps/submaps/surface_submaps/wilderness/deathden.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/deathden.dmm" cost = 15 /datum/map_template/surface/wilderness/deep/leopardmanderden name = "Leopardmander Den" desc = "Den of a voracious but very rare beast." - mappath = 'maps/submaps/surface_submaps/wilderness/leopardmanderden.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/leopardmanderden.dmm" cost = 10 /datum/map_template/surface/wilderness/deep/greatwolfden name = "Great Wolf Den" desc = "Den hosted by the biggest alpha wolf of the wilderness" - mappath = 'maps/submaps/surface_submaps/wilderness/greatwolfden.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/greatwolfden.dmm" cost = 15 /datum/map_template/surface/wilderness/deep/dogbase name = "Dog Base" desc = "A highly secured base with hungry trained canines" - mappath = 'maps/submaps/surface_submaps/wilderness/dogbase.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/dogbase.dmm" cost = 20 /datum/map_template/surface/wilderness/normal/emptycabin name = "Empty Cabin" desc = "An inconspicuous looking den hosted by a hungry otie" - mappath = 'maps/submaps/surface_submaps/wilderness/emptycabin.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/emptycabin.dmm" cost = 10 /datum/map_template/surface/wilderness/deep/lonewolf name = "Lone Wolf" desc = "A large oppressing wolf, supervising from above its cliff" - mappath = 'maps/submaps/surface_submaps/wilderness/lonewolf.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/lonewolf.dmm" cost = 5 /datum/map_template/surface/wilderness/deep/otieshelter name = "Otie Shelter" desc = "A experimental lab of various breeds of oties" - mappath = 'maps/submaps/surface_submaps/wilderness/otieshelter.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/otieshelter.dmm" cost = 15 /datum/map_template/surface/wilderness/deep/syndisniper name = "Syndi Sniper" desc = "Syndicate watch tower, deadly but secluded" - mappath = 'maps/submaps/surface_submaps/wilderness/syndisniper.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/syndisniper.dmm" cost = 5 /datum/map_template/surface/wilderness/deep/drgnplateu name = "Dragon Plateu" desc = "A dangerous plateu of cliffs home to a rampant gold hoarding dragon" - mappath = 'maps/submaps/surface_submaps/wilderness/drgnplateu.dmm' + mappath = "maps/submaps/surface_submaps/wilderness/drgnplateu.dmm" cost = 15 diff --git a/maps/submaps/surface_submaps/wilderness/wilderness_areas.dm b/maps/submaps/surface_submaps/wilderness/wilderness_areas.dm index a710a77fa0f..fa5e1482d56 100644 --- a/maps/submaps/surface_submaps/wilderness/wilderness_areas.dm +++ b/maps/submaps/surface_submaps/wilderness/wilderness_areas.dm @@ -1,10 +1,8 @@ /area/submap name = "Submap Area" icon_state = "submap" - flags = RAD_SHIELDED + flags = RAD_SHIELDED | AREA_FORBID_EVENTS | AREA_SECRET_NAME ambience = AMBIENCE_RUINS - secret_name = TRUE - forbid_events = TRUE flags = AREA_FLAG_IS_NOT_PERSISTENT /area/submap/event //To be used for Events not for regular PoIs @@ -210,4 +208,4 @@ /area/submap/drgnplateu name = "POI - Dragon Plateu" - ambience = AMBIENCE_SIF \ No newline at end of file + ambience = AMBIENCE_SIF diff --git a/maps/submaps/surface_submaps/wilderness/wolfden.dmm b/maps/submaps/surface_submaps/wilderness/wolfden.dmm index 5b510161b67..f54180baa09 100644 --- a/maps/submaps/surface_submaps/wilderness/wolfden.dmm +++ b/maps/submaps/surface_submaps/wilderness/wolfden.dmm @@ -1,10 +1,10 @@ "a" = (/turf/simulated/floor/outdoors/dirt,/area/submap/WolfDen) "b" = (/mob/living/simple_mob/animal/sif/shantak,/turf/template_noop,/area/submap/WolfDen) -"c" = (/obj/item/weapon/bone,/obj/effect/decal/cleanable/dirt,/obj/effect/gibspawner/human,/obj/random/maintenance/engineering,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/WolfDen) +"c" = (/obj/item/bone,/obj/effect/decal/cleanable/dirt,/obj/effect/gibspawner/human,/obj/random/maintenance/engineering,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/WolfDen) "e" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/random/junk,/obj/random/maintenance/cargo,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/WolfDen) "i" = (/obj/random/maintenance/security,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/WolfDen) "j" = (/obj/random/gun/random,/obj/random/junk,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/WolfDen) -"m" = (/obj/item/weapon/bone/ribs,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/WolfDen) +"m" = (/obj/item/bone/ribs,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/WolfDen) "o" = (/turf/simulated/mineral/ignore_mapgen,/area/submap/WolfDen) "p" = (/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/WolfDen) "q" = (/obj/structure/loot_pile/surface/bones,/obj/random/maintenance/cargo,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/WolfDen) @@ -17,14 +17,14 @@ "A" = (/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/security,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/WolfDen) "C" = (/mob/living/simple_mob/animal/sif/shantak,/turf/simulated/floor/outdoors/dirt,/area/submap/WolfDen) "D" = (/obj/effect/decal/cleanable/dirt,/obj/random/junk,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/WolfDen) -"G" = (/obj/item/weapon/bone/arm,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/WolfDen) +"G" = (/obj/item/bone/arm,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/WolfDen) "I" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/WolfDen) "J" = (/obj/effect/decal/cleanable/dirt,/obj/random/junk,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/WolfDen) "K" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/WolfDen) "M" = (/obj/random/maintenance/cargo,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/WolfDen) "O" = (/obj/random/gun/random,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/WolfDen) "R" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/outdoors/dirt,/area/submap/WolfDen) -"S" = (/obj/item/weapon/bone,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/WolfDen) +"S" = (/obj/item/bone,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/WolfDen) "T" = (/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/engineering,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/WolfDen) "U" = (/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/engineering,/obj/item/clothing/head/fedora,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/WolfDen) "V" = (/obj/random/outcrop,/turf/simulated/floor/outdoors/dirt,/area/submap/WolfDen) diff --git a/maps/submaps/surface_submaps/wilderness/xenohive.dmm b/maps/submaps/surface_submaps/wilderness/xenohive.dmm index ca3d798f12c..9c4c5becc4c 100644 --- a/maps/submaps/surface_submaps/wilderness/xenohive.dmm +++ b/maps/submaps/surface_submaps/wilderness/xenohive.dmm @@ -56,11 +56,11 @@ "GN" = (/obj/effect/alien/weeds,/obj/structure/alien/membrane,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/XenoHive) "Hr" = (/turf/simulated/floor/outdoors/dirt,/area/template_noop) "Hu" = (/obj/effect/alien/weeds,/turf/simulated/floor,/area/submap/XenoHive) -"Hx" = (/obj/item/weapon/portable_destructive_analyzer,/obj/effect/alien/weeds,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/XenoHive) +"Hx" = (/obj/item/portable_destructive_analyzer,/obj/effect/alien/weeds,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/XenoHive) "Hz" = (/obj/effect/alien/weeds,/obj/structure/simple_door/resin,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/XenoHive) "HI" = (/obj/effect/alien/weeds,/obj/structure/prop/blackbox/quarantined_shuttle,/turf/simulated/floor/tiled/techfloor/grid,/area/submap/XenoHive) "HJ" = (/obj/effect/alien/weeds,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/XenoHive) -"HO" = (/obj/structure/table,/obj/effect/alien/weeds,/obj/effect/decal/cleanable/dirt,/obj/item/weapon/storage/backpack/holding,/turf/simulated/floor,/area/submap/XenoHive) +"HO" = (/obj/structure/table,/obj/effect/alien/weeds,/obj/effect/decal/cleanable/dirt,/obj/item/storage/backpack/holding,/turf/simulated/floor,/area/submap/XenoHive) "Ir" = (/obj/effect/alien/weeds,/obj/structure/bed/nest,/turf/simulated/floor,/area/submap/XenoHive) "Is" = (/obj/effect/alien/weeds,/obj/structure/loot_pile/maint/boxfort,/turf/simulated/floor/outdoors/rocks{outdoors = 0},/area/submap/XenoHive) "IY" = (/obj/effect/alien/weeds,/obj/effect/alien/weeds,/obj/structure/bed/nest,/turf/simulated/floor/tiled/steel_dirty,/area/submap/XenoHive) @@ -88,7 +88,7 @@ "VA" = (/obj/effect/alien/weeds/node,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/random/junk,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/XenoHive) "WD" = (/obj/effect/alien/weeds,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/XenoHive) "WE" = (/obj/effect/alien/weeds,/obj/structure/mopbucket,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/XenoHive) -"Xy" = (/obj/structure/table/steel_reinforced,/obj/effect/alien/weeds,/obj/machinery/light/small/emergency/flicker{dir = 8},/obj/item/weapon/reagent_containers/food/snacks/truffle/random,/turf/simulated/floor,/area/submap/XenoHive) +"Xy" = (/obj/structure/table/steel_reinforced,/obj/effect/alien/weeds,/obj/machinery/light/small/emergency/flicker{dir = 8},/obj/item/reagent_containers/food/snacks/truffle/random,/turf/simulated/floor,/area/submap/XenoHive) "YG" = (/obj/effect/alien/weeds,/mob/living/simple_mob/humanoid/merc/melee/sword/poi{health = 15; maxHealth = 15},/turf/simulated/floor/tiled/steel_dirty,/area/submap/XenoHive) "YL" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/mob/living/simple_mob/humanoid/merc/ranged{health = 15; maxHealth = 15},/turf/simulated/floor/outdoors/dirt,/area/submap/XenoHive) "Zc" = (/obj/effect/alien/weeds,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/random/junk,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/XenoHive) diff --git a/maps/tether/backup/tether-07-station3.dmm b/maps/tether/backup/tether-07-station3.dmm index 47961a66883..2964c691c7a 100644 --- a/maps/tether/backup/tether-07-station3.dmm +++ b/maps/tether/backup/tether-07-station3.dmm @@ -254,8 +254,8 @@ dir = 1 }, /obj/structure/table/reinforced, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, /obj/machinery/camera/network/security, /turf/simulated/floor/tiled, /area/security/eva) @@ -360,7 +360,7 @@ /obj/machinery/light{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -531,11 +531,11 @@ dir = 4 }, /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/blanks{ +/obj/item/storage/box/blanks{ pixel_x = 2; pixel_y = -2 }, -/obj/item/weapon/storage/box/blanks{ +/obj/item/storage/box/blanks{ pixel_x = 2; pixel_y = -2 }, @@ -582,8 +582,8 @@ /obj/effect/floor_decal/borderfloor/corner2, /obj/effect/floor_decal/corner/red/bordercorner2, /obj/structure/table/reinforced, -/obj/item/weapon/storage/bag/trash, -/obj/item/weapon/storage/bag/trash, +/obj/item/storage/bag/trash, +/obj/item/storage/bag/trash, /turf/simulated/floor/tiled, /area/security/range) "aT" = ( @@ -670,7 +670,7 @@ "bb" = ( /obj/machinery/door/window/northright, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ dir = 4; icon_state = "secintercom"; pixel_x = 24; @@ -742,7 +742,7 @@ req_access = list(1,2,18); req_one_access = newlist() }, -/obj/item/weapon/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, /turf/simulated/floor/tiled/dark, /area/security/eva) "bk" = ( @@ -759,7 +759,7 @@ dir = 5 }, /obj/structure/table/reinforced, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, @@ -834,7 +834,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -916,7 +916,7 @@ "bv" = ( /obj/effect/floor_decal/borderfloorblack, /obj/structure/table/steel, -/obj/item/weapon/storage/box/shotgunshells{ +/obj/item/storage/box/shotgunshells{ pixel_x = 6; pixel_y = -1 }, @@ -1021,8 +1021,8 @@ /area/maintenance/substation/security) "bC" = ( /obj/structure/table/reinforced, -/obj/item/weapon/stamp/ward, -/obj/item/weapon/stamp/denied{ +/obj/item/stamp/ward, +/obj/item/stamp/denied{ pixel_x = 5 }, /turf/simulated/floor/tiled/dark, @@ -1042,12 +1042,12 @@ dir = 4 }, /obj/structure/closet/secure_closet/warden, -/obj/item/weapon/gun/projectile/shotgun/pump/combat{ +/obj/item/gun/projectile/shotgun/pump/combat{ ammo_type = /obj/item/ammo_casing/a12g/beanbag; desc = "Built for close quarters combat, the Hesphaistos Industries KS-40 is widely regarded as a weapon of choice for repelling boarders. This one has 'Property of the Warden' inscribed on the stock."; name = "warden's shotgun" }, -/obj/item/weapon/book/manual/security_space_law, +/obj/item/book/manual/wiki/security_space_law, /obj/machinery/light{ dir = 1 }, @@ -1242,7 +1242,7 @@ "bT" = ( /obj/structure/table/steel, /obj/machinery/cell_charger, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, @@ -1508,7 +1508,7 @@ }, /obj/structure/window/reinforced, /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/gun/energy/ionrifle/pistol, +/obj/item/gun/energy/ionrifle/pistol, /turf/simulated/floor/tiled/dark, /area/security/armory/blue) "cl" = ( @@ -1777,7 +1777,7 @@ /obj/machinery/computer/secure_data{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/tiled/dark, @@ -1793,7 +1793,7 @@ /area/security/hallwayaux) "cN" = ( /obj/structure/table/reinforced, -/obj/item/device/retail_scanner/security, +/obj/item/retail_scanner/security, /turf/simulated/floor/tiled/dark, /area/security/warden) "cO" = ( @@ -1809,7 +1809,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/item/weapon/deck/cards, +/obj/item/deck/cards, /turf/simulated/floor/carpet, /area/security/breakroom) "cP" = ( @@ -1985,7 +1985,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ dir = 4; icon_state = "secintercom"; pixel_x = 24; @@ -2168,7 +2168,7 @@ /area/maintenance/station/ai) "dy" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /obj/structure/curtain/open/bed, /turf/simulated/floor/tiled, /area/shuttle/excursion/tether) @@ -2228,7 +2228,7 @@ icon_state = "comfychair_preview"; dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /obj/machinery/atmospherics/unary/vent_pump/on{ @@ -2476,8 +2476,8 @@ dir = 1 }, /obj/structure/table/rack/shelf, -/obj/item/weapon/tank/oxygen, -/obj/item/device/suit_cooling_unit, +/obj/item/tank/oxygen, +/obj/item/suit_cooling_unit, /obj/item/clothing/shoes/magboots, /obj/item/clothing/suit/space/void/pilot, /obj/item/clothing/head/helmet/space/void/pilot, @@ -2495,7 +2495,7 @@ /turf/simulated/floor/tiled, /area/security/eva) "dY" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -2585,7 +2585,7 @@ d2 = 8; icon_state = "4-8" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 27 @@ -2653,7 +2653,7 @@ "ek" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/red/border, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/tiled, @@ -2698,15 +2698,15 @@ dir = 5 }, /obj/structure/table/steel, -/obj/item/weapon/storage/box/stunshells{ +/obj/item/storage/box/stunshells{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/box/flashshells{ +/obj/item/storage/box/flashshells{ pixel_x = 1; pixel_y = 0 }, -/obj/item/weapon/storage/box/beanbags{ +/obj/item/storage/box/beanbags{ pixel_x = 4; pixel_y = -5 }, @@ -2800,7 +2800,7 @@ icon_state = "tube1"; dir = 8 }, -/obj/item/device/holowarrant, +/obj/item/holowarrant, /turf/simulated/floor/tiled/dark, /area/security/security_lockerroom) "ev" = ( @@ -2962,8 +2962,8 @@ /area/crew_quarters/heads/hos) "eH" = ( /obj/structure/table/woodentable, -/obj/item/weapon/folder/red_hos, -/obj/item/weapon/stamp/hos, +/obj/item/folder/red_hos, +/obj/item/stamp/hos, /turf/simulated/floor/carpet, /area/crew_quarters/heads/hos) "eI" = ( @@ -3174,8 +3174,8 @@ /obj/effect/floor_decal/corner/red/border{ dir = 5 }, -/obj/item/weapon/packageWrap, -/obj/item/weapon/hand_labeler, +/obj/item/packageWrap, +/obj/item/hand_labeler, /obj/structure/table/reinforced, /turf/simulated/floor/tiled, /area/security/briefing_room) @@ -3625,7 +3625,7 @@ dir = 4 }, /obj/structure/table/steel, -/obj/item/device/camera, +/obj/item/camera, /obj/machinery/light{ icon_state = "tube1"; dir = 8 @@ -3635,7 +3635,7 @@ pixel_x = -24; pixel_y = 0 }, -/obj/item/device/retail_scanner/security, +/obj/item/retail_scanner/security, /turf/simulated/floor/tiled, /area/security/security_processing) "fL" = ( @@ -3681,7 +3681,7 @@ }, /obj/structure/table/reinforced, /obj/item/clothing/gloves/sterile/latex, -/obj/item/weapon/reagent_containers/syringe, +/obj/item/reagent_containers/syringe, /obj/structure/cable/green{ d1 = 1; d2 = 2; @@ -3746,7 +3746,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals7{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24; req_access = list() @@ -3770,11 +3770,11 @@ dir = 1 }, /obj/structure/table/rack, -/obj/item/weapon/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, /obj/item/clothing/head/pilot, /obj/item/clothing/head/pilot, -/obj/item/weapon/storage/box/survival/space, -/obj/item/weapon/storage/toolbox/emergency, +/obj/item/storage/box/survival/space, +/obj/item/storage/toolbox/emergency, /turf/simulated/floor/tiled/techfloor/grid, /area/shuttle/excursion/tether) "fW" = ( @@ -3800,7 +3800,7 @@ dir = 6 }, /obj/structure/table/steel, -/obj/item/weapon/storage/lockbox, +/obj/item/storage/lockbox, /obj/machinery/light_switch{ dir = 8; pixel_x = 24 @@ -3848,7 +3848,7 @@ icon_state = "1-2" }, /obj/structure/disposalpipe/segment, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -3949,12 +3949,12 @@ dir = 4 }, /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/gun/projectile/shotgun/pump{ +/obj/item/gun/projectile/shotgun/pump{ ammo_type = /obj/item/ammo_casing/a12g/pellet; pixel_x = 2; pixel_y = -6 }, -/obj/item/weapon/gun/projectile/shotgun/pump{ +/obj/item/gun/projectile/shotgun/pump{ ammo_type = /obj/item/ammo_casing/a12g/pellet; pixel_x = 1; pixel_y = 4 @@ -3995,11 +3995,11 @@ dir = 4 }, /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/gun/energy/laser{ +/obj/item/gun/energy/laser{ pixel_x = -1; pixel_y = -11 }, -/obj/item/weapon/gun/energy/laser{ +/obj/item/gun/energy/laser{ pixel_x = -1; pixel_y = 2 }, @@ -4017,7 +4017,7 @@ /obj/item/clothing/shoes/leg_guard/riot, /obj/item/clothing/suit/armor/riot/alt, /obj/item/clothing/head/helmet/riot, -/obj/item/weapon/shield/riot, +/obj/item/shield/riot, /turf/simulated/floor/tiled/dark, /area/security/armory/red) "gt" = ( @@ -4025,7 +4025,7 @@ dir = 5 }, /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle, /turf/simulated/floor/tiled/dark, /area/security/armory/red) "gu" = ( @@ -4153,7 +4153,7 @@ /obj/item/clothing/shoes/leg_guard/riot, /obj/item/clothing/suit/armor/riot/alt, /obj/item/clothing/head/helmet/riot, -/obj/item/weapon/shield/riot, +/obj/item/shield/riot, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, @@ -4210,7 +4210,7 @@ dir = 5 }, /obj/machinery/meter, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /obj/machinery/light/small, @@ -4290,7 +4290,7 @@ name = "Jetpack Storage"; req_access = list(1,2,18) }, -/obj/item/weapon/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, /turf/simulated/floor/tiled/dark, /area/security/eva) "gV" = ( @@ -4322,10 +4322,10 @@ /obj/machinery/alarm{ pixel_y = 22 }, -/obj/item/device/gps/security{ +/obj/item/gps/security{ pixel_y = 3 }, -/obj/item/device/gps/security{ +/obj/item/gps/security{ pixel_x = -3 }, /turf/simulated/floor/tiled, @@ -4468,7 +4468,7 @@ /obj/structure/window/reinforced{ dir = 1 }, -/obj/item/weapon/gun/projectile/shotgun/pump/rifle/practice, +/obj/item/gun/projectile/shotgun/pump/rifle/practice, /obj/item/ammo_magazine/clip/c762/practice, /obj/item/ammo_magazine/clip/c762/practice, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -4490,7 +4490,7 @@ /obj/structure/window/reinforced{ dir = 1 }, -/obj/item/weapon/gun/energy/laser/practice, +/obj/item/gun/energy/laser/practice, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/dark, /area/security/range) @@ -4499,7 +4499,7 @@ /obj/structure/window/reinforced{ dir = 1 }, -/obj/item/weapon/gun/energy/laser/practice, +/obj/item/gun/energy/laser/practice, /turf/simulated/floor/tiled/dark, /area/security/range) "hp" = ( @@ -4609,7 +4609,7 @@ dir = 8 }, /obj/structure/table/steel, -/obj/item/weapon/storage/box/flashbangs{ +/obj/item/storage/box/flashbangs{ pixel_x = -2; pixel_y = -2 }, @@ -4641,11 +4641,11 @@ /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/borderfloorblack/corner2, /obj/structure/table/steel, -/obj/item/weapon/storage/box/shotgunshells{ +/obj/item/storage/box/shotgunshells{ pixel_x = 2; pixel_y = 3 }, -/obj/item/weapon/storage/box/shotgunshells{ +/obj/item/storage/box/shotgunshells{ pixel_x = 6; pixel_y = -1 }, @@ -4664,12 +4664,12 @@ "hG" = ( /obj/effect/floor_decal/borderfloorblack, /obj/structure/table/steel, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -6; pixel_y = 3 }, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon{ pixel_x = 5; pixel_y = 3 }, @@ -4696,13 +4696,13 @@ pixel_y = -32 }, /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/folder/red, -/obj/item/weapon/pen, -/obj/item/device/megaphone, +/obj/item/folder/red, +/obj/item/pen, +/obj/item/megaphone, /obj/effect/floor_decal/borderfloor/shifted, /obj/effect/floor_decal/corner/red/border/shifted, /obj/effect/floor_decal/corner/red{ @@ -5042,19 +5042,19 @@ }, /obj/structure/table/rack/shelf/steel, /obj/machinery/atmospherics/unary/vent_pump/on, -/obj/item/weapon/gun/energy/gun{ +/obj/item/gun/energy/gun{ pixel_y = 7 }, -/obj/item/weapon/gun/energy/gun{ +/obj/item/gun/energy/gun{ pixel_y = -5 }, -/obj/item/weapon/gun/energy/gun{ +/obj/item/gun/energy/gun{ pixel_y = -5 }, -/obj/item/weapon/gun/energy/gun{ +/obj/item/gun/energy/gun{ pixel_y = 7 }, -/obj/item/weapon/gun/energy/gun{ +/obj/item/gun/energy/gun{ pixel_y = -5 }, /turf/simulated/floor/tiled/dark, @@ -5140,9 +5140,9 @@ dir = 1 }, /obj/structure/table/reinforced, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/hand_labeler, +/obj/item/tool/crowbar, +/obj/item/tool/wrench, +/obj/item/hand_labeler, /obj/structure/sign/department/armory{ color = "#3385ff"; name = "BLUE ARMORY"; @@ -5167,7 +5167,7 @@ dir = 8 }, /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -28 @@ -5661,8 +5661,8 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, -/obj/item/weapon/storage/box/trackimp, -/obj/item/weapon/storage/box/trackimp, +/obj/item/storage/box/trackimp, +/obj/item/storage/box/trackimp, /turf/simulated/floor/tiled/dark, /area/security/armory/blue) "iM" = ( @@ -5735,14 +5735,14 @@ /area/security/warden) "iP" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/clipboard, -/obj/item/weapon/folder/red, -/obj/item/weapon/pen, -/obj/item/device/radio{ +/obj/item/clipboard, +/obj/item/folder/red, +/obj/item/pen, +/obj/item/radio{ pixel_x = -4 }, /turf/simulated/floor/tiled/dark, @@ -5761,7 +5761,7 @@ /area/security/hallwayaux) "iS" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/item/weapon/bone/skull/unathi, +/obj/item/bone/skull/unathi, /turf/simulated/floor/carpet, /area/crew_quarters/heads/hos) "iT" = ( @@ -5829,11 +5829,11 @@ dir = 4 }, /obj/structure/table/steel, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -1; pixel_y = 4 }, -/obj/item/weapon/cell/device/weapon, +/obj/item/cell/device/weapon, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 }, @@ -5931,7 +5931,7 @@ icon_state = "computer"; dir = 1 }, -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ pixel_y = -24 }, /turf/simulated/floor/tiled/dark, @@ -5967,7 +5967,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals6{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -6276,7 +6276,7 @@ /area/crew_quarters/heads/hos) "jN" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/box/donut, +/obj/item/storage/box/donut, /turf/simulated/floor/carpet, /area/security/breakroom) "jO" = ( @@ -6424,7 +6424,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/yellow, /obj/effect/floor_decal/industrial/outline/red, /obj/structure/closet/secure_closet/guncabinet/excursion, -/obj/item/weapon/pickaxe, +/obj/item/pickaxe, /turf/simulated/floor/tiled/techfloor/grid, /area/shuttle/excursion/tether) "kc" = ( @@ -6590,12 +6590,12 @@ pixel_x = -32; pixel_y = 32 }, -/obj/item/device/radio/intercom/locked/ai_private{ +/obj/item/radio/intercom/locked/ai_private{ dir = 4; icon_state = "intercom"; pixel_x = 32 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ broadcasting = 1; dir = 8; listening = 1; @@ -6603,7 +6603,7 @@ pixel_x = -21; pixel_y = 0 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -6770,12 +6770,12 @@ }, /obj/machinery/atmospherics/unary/vent_pump/on, /obj/structure/table/steel, -/obj/item/weapon/storage/box/evidence, -/obj/item/weapon/storage/box/handcuffs{ +/obj/item/storage/box/evidence, +/obj/item/storage/box/handcuffs{ pixel_x = 6; pixel_y = -2 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24; req_access = list() @@ -6873,14 +6873,14 @@ /area/security/breakroom) "kH" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/box/glasses/square, +/obj/item/storage/box/glasses/square, /turf/simulated/floor/wood, /area/security/breakroom) "kI" = ( /obj/structure/bookcase, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/manual/standard_operating_procedure, -/obj/item/weapon/book/manual/command_guide, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/standard_operating_procedure, +/obj/item/book/manual/command_guide, /turf/simulated/floor/wood, /area/crew_quarters/heads/hos) "kJ" = ( @@ -6942,7 +6942,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ dir = 4; icon_state = "secintercom"; pixel_x = 24; @@ -6953,7 +6953,7 @@ "kP" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/red/border, -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ dir = 2; icon_state = "secintercom"; pixel_y = -24 @@ -7045,10 +7045,10 @@ dir = 9 }, /obj/structure/table/steel, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -3 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 3 }, /turf/simulated/floor/tiled/dark, @@ -7167,11 +7167,11 @@ /obj/effect/floor_decal/corner/red/border{ dir = 1 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen/multi, +/obj/item/pen/multi, /obj/structure/table/reinforced, /obj/machinery/firealarm{ dir = 2; @@ -7270,7 +7270,7 @@ /obj/structure/closet/crate, /obj/item/clothing/accessory/tie/horrible, /obj/random/drinkbottle, -/obj/item/weapon/flame/lighter/random, +/obj/item/flame/lighter/random, /turf/simulated/floor, /area/maintenance/station/ai) "lp" = ( @@ -7540,9 +7540,9 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, -/obj/item/weapon/book/codex, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/manual/security_space_law, +/obj/item/book/codex, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/wiki/security_space_law, /obj/structure/table/reinforced, /turf/simulated/floor/tiled, /area/security/briefing_room) @@ -7682,13 +7682,13 @@ /obj/effect/floor_decal/corner/red/bordercorner2{ dir = 10 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, /obj/structure/table/steel, -/obj/item/weapon/folder/red, -/obj/item/weapon/folder/red{ +/obj/item/folder/red, +/obj/item/folder/red{ pixel_x = 2; pixel_y = 4 }, @@ -7803,7 +7803,7 @@ /obj/structure/disposalpipe/trunk{ dir = 4 }, -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ dir = 8; icon_state = "secintercom"; pixel_x = -24; @@ -7842,7 +7842,7 @@ /obj/structure/reagent_dispensers/peppertank{ pixel_y = 32 }, -/obj/item/device/retail_scanner/security, +/obj/item/retail_scanner/security, /turf/simulated/floor/tiled/dark, /area/security/security_lockerroom) "me" = ( @@ -7859,18 +7859,18 @@ dir = 1 }, /obj/structure/table/steel, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, /obj/machinery/recharger/wallcharger{ pixel_x = 4; pixel_y = 30 @@ -7879,11 +7879,11 @@ pixel_x = 4; pixel_y = 20 }, -/obj/item/device/holowarrant, -/obj/item/device/holowarrant, -/obj/item/device/holowarrant, -/obj/item/device/holowarrant, -/obj/item/device/retail_scanner/security, +/obj/item/holowarrant, +/obj/item/holowarrant, +/obj/item/holowarrant, +/obj/item/holowarrant, +/obj/item/retail_scanner/security, /turf/simulated/floor/tiled/dark, /area/security/security_lockerroom) "mf" = ( @@ -7996,7 +7996,7 @@ /area/security/briefing_room) "mn" = ( /obj/structure/table/glass, -/obj/item/weapon/folder/red, +/obj/item/folder/red, /turf/simulated/floor/tiled, /area/security/briefing_room) "mo" = ( @@ -8010,7 +8010,7 @@ /obj/effect/floor_decal/corner/red/border{ dir = 4 }, -/obj/item/weapon/folder/red_hos, +/obj/item/folder/red_hos, /obj/structure/table/reinforced, /turf/simulated/floor/tiled, /area/security/briefing_room) @@ -8081,13 +8081,13 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, /obj/structure/table/steel, -/obj/item/weapon/storage/box/nifsofts_security, -/obj/item/weapon/hand_labeler, +/obj/item/storage/box/nifsofts_security, +/obj/item/hand_labeler, /turf/simulated/floor/tiled/dark, /area/security/security_lockerroom) "my" = ( @@ -8264,7 +8264,7 @@ "mL" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/red/border, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 2; pixel_y = -24 }, @@ -8293,7 +8293,7 @@ "mN" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/structure/table/glass, -/obj/item/weapon/folder/red, +/obj/item/folder/red, /turf/simulated/floor/tiled, /area/security/briefing_room) "mO" = ( @@ -8437,7 +8437,7 @@ /obj/effect/floor_decal/techfloor{ dir = 1 }, -/obj/item/device/radio/intercom/locked/ai_private{ +/obj/item/radio/intercom/locked/ai_private{ dir = 1; icon_state = "intercom"; pixel_y = 32 @@ -8467,7 +8467,7 @@ icon_state = "pipe-j2"; dir = 4 }, -/obj/item/device/radio/beacon, +/obj/item/radio/beacon, /turf/simulated/floor/tiled, /area/hallway/station/upper) "nd" = ( @@ -8539,9 +8539,9 @@ /area/maintenance/station/ai) "ni" = ( /obj/structure/bookcase, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/manual/standard_operating_procedure, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/standard_operating_procedure, /turf/simulated/floor/wood, /area/security/breakroom) "nj" = ( @@ -8577,7 +8577,7 @@ icon_state = "alarm0"; pixel_x = 24 }, -/obj/item/device/holowarrant, +/obj/item/holowarrant, /turf/simulated/floor/tiled/dark, /area/security/security_lockerroom) "nm" = ( @@ -8678,8 +8678,8 @@ dir = 1 }, /obj/structure/table/glass, -/obj/item/weapon/folder/red, -/obj/item/weapon/storage/box/donut, +/obj/item/folder/red, +/obj/item/storage/box/donut, /turf/simulated/floor/tiled, /area/security/briefing_room) "nu" = ( @@ -8778,7 +8778,7 @@ /area/crew_quarters/heads/hos) "nE" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper{ +/obj/item/paper{ desc = ""; info = "The Chief of Security at CentCom is debating a new policy. It's not official yet, and probably won't be since it's hard to enforce, but I suggest following it anyway. That policy is, if a security officer claims they need more than two extra magazines (or batteries) to go on routine patrols, fire them. If they cannot subdue a single suspect using all that ammo, they are not competent as Security.\[br]-Jeremiah Acacius"; name = "note to the Head of Security" @@ -8791,11 +8791,11 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen/multi, +/obj/item/pen/multi, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, @@ -8871,7 +8871,7 @@ pixel_x = -24; pixel_y = 0 }, -/obj/item/device/holowarrant, +/obj/item/holowarrant, /turf/simulated/floor/tiled/dark, /area/security/security_lockerroom) "nI" = ( @@ -8937,7 +8937,7 @@ dir = 8 }, /obj/structure/closet/secure_closet/security, -/obj/item/device/holowarrant, +/obj/item/holowarrant, /turf/simulated/floor/tiled/dark, /area/security/security_lockerroom) "nN" = ( @@ -9011,7 +9011,7 @@ dir = 1 }, /obj/structure/table/glass, -/obj/item/weapon/folder/red, +/obj/item/folder/red, /turf/simulated/floor/tiled, /area/security/briefing_room) "nT" = ( @@ -9084,7 +9084,7 @@ /turf/simulated/floor/tiled/dark, /area/lawoffice) "oa" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -9113,7 +9113,7 @@ pixel_x = -28; pixel_y = 0 }, -/obj/item/device/holowarrant, +/obj/item/holowarrant, /turf/simulated/floor/tiled/dark, /area/security/security_lockerroom) "oc" = ( @@ -9154,7 +9154,7 @@ /obj/effect/floor_decal/borderfloorblack/corner2, /obj/effect/floor_decal/corner/red/bordercorner2, /obj/structure/closet/secure_closet/security, -/obj/item/device/holowarrant, +/obj/item/holowarrant, /turf/simulated/floor/tiled/dark, /area/security/security_lockerroom) "of" = ( @@ -9239,7 +9239,7 @@ icon_state = "4-8" }, /obj/structure/table/glass, -/obj/item/weapon/folder/red, +/obj/item/folder/red, /turf/simulated/floor/tiled, /area/security/briefing_room) "on" = ( @@ -9267,10 +9267,10 @@ d2 = 8; icon_state = "0-8" }, -/obj/item/device/taperecorder{ +/obj/item/taperecorder{ pixel_y = 0 }, -/obj/item/device/megaphone, +/obj/item/megaphone, /obj/structure/table/reinforced, /turf/simulated/floor/tiled, /area/security/briefing_room) @@ -9362,7 +9362,7 @@ icon_state = "light1"; pixel_x = -24 }, -/obj/item/device/taperecorder, +/obj/item/taperecorder, /turf/simulated/floor/tiled, /area/security/security_processing) "oC" = ( @@ -9390,11 +9390,11 @@ /obj/machinery/light{ dir = 1 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled, /area/security/security_processing) "oE" = ( @@ -9474,13 +9474,13 @@ /area/security/briefing_room) "oK" = ( /obj/structure/table/standard, -/obj/item/weapon/hand_labeler, -/obj/item/weapon/stamp{ +/obj/item/hand_labeler, +/obj/item/stamp{ pixel_x = -3; pixel_y = 3 }, -/obj/item/weapon/hand_labeler, -/obj/item/weapon/folder/yellow, +/obj/item/hand_labeler, +/obj/item/folder/yellow, /obj/machinery/camera/network/cargo{ dir = 1; name = "security camera" @@ -9490,7 +9490,7 @@ "oL" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/red/border, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/tiled, @@ -9513,10 +9513,10 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = -4 }, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = 4; pixel_y = 4 }, @@ -9572,7 +9572,7 @@ /turf/simulated/floor, /area/maintenance/station/ai) "oV" = ( -/obj/item/weapon/stool, +/obj/item/stool, /turf/simulated/floor, /area/maintenance/cargo) "oW" = ( @@ -9582,10 +9582,10 @@ d2 = 8; icon_state = "4-8" }, -/obj/item/device/taperecorder{ +/obj/item/taperecorder{ pixel_y = 0 }, -/obj/item/weapon/reagent_containers/food/drinks/flask/barflask{ +/obj/item/reagent_containers/food/drinks/flask/barflask{ pixel_x = -4; pixel_y = 8 }, @@ -9933,7 +9933,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /obj/structure/table/steel, /turf/simulated/floor/tiled, /area/security/security_processing) @@ -9981,7 +9981,7 @@ /obj/machinery/light{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -10418,11 +10418,11 @@ /area/security/detectives_office) "qg" = ( /obj/structure/table/woodentable, -/obj/item/device/taperecorder{ +/obj/item/taperecorder{ pixel_x = -4; pixel_y = 2 }, -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ pixel_y = -24 }, /turf/simulated/floor/carpet, @@ -10449,7 +10449,7 @@ icon_state = "0-4" }, /obj/structure/table/steel, -/obj/item/weapon/storage/box/evidence, +/obj/item/storage/box/evidence, /turf/simulated/floor/tiled, /area/security/security_processing) "qi" = ( @@ -10601,7 +10601,7 @@ dir = 9 }, /obj/structure/table/reinforced, -/obj/item/weapon/forensics/sample_kit, +/obj/item/forensics/sample_kit, /turf/simulated/floor/tiled/white, /area/security/forensics) "qx" = ( @@ -10657,7 +10657,7 @@ /obj/structure/closet{ name = "Evidence Closet" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24; req_access = list() @@ -10704,8 +10704,8 @@ /area/security/detectives_office) "qG" = ( /obj/structure/bookcase, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/manual/security_space_law, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/wiki/security_space_law, /turf/simulated/floor/lino, /area/security/detectives_office) "qH" = ( @@ -10995,7 +10995,7 @@ dir = 8 }, /obj/structure/table/reinforced, -/obj/item/weapon/forensics/sample_kit/powder, +/obj/item/forensics/sample_kit/powder, /turf/simulated/floor/tiled/white, /area/security/forensics) "rf" = ( @@ -11191,7 +11191,7 @@ /obj/machinery/light{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -11612,7 +11612,7 @@ /area/quartermaster/office) "rY" = ( /obj/structure/table/steel, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, @@ -11641,8 +11641,8 @@ dir = 8 }, /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/spray/luminol, -/obj/item/device/uv_light, +/obj/item/reagent_containers/spray/luminol, +/obj/item/uv_light, /obj/machinery/light{ icon_state = "tube1"; dir = 8 @@ -11675,17 +11675,17 @@ dir = 4 }, /obj/structure/table/reinforced, -/obj/item/weapon/folder/yellow{ +/obj/item/folder/yellow{ pixel_y = -5 }, -/obj/item/weapon/folder/blue{ +/obj/item/folder/blue{ pixel_y = -3 }, -/obj/item/weapon/folder/red, -/obj/item/weapon/storage/box/swabs{ +/obj/item/folder/red, +/obj/item/storage/box/swabs{ layer = 5 }, -/obj/item/weapon/hand_labeler, +/obj/item/hand_labeler, /turf/simulated/floor/tiled/white, /area/security/forensics) "sd" = ( @@ -11710,11 +11710,11 @@ /obj/structure/closet{ name = "Forensics Gear" }, -/obj/item/weapon/storage/box/gloves, -/obj/item/weapon/storage/box/evidence, -/obj/item/weapon/storage/box/bodybags, -/obj/item/weapon/storage/briefcase/crimekit, -/obj/item/weapon/storage/briefcase/crimekit, +/obj/item/storage/box/gloves, +/obj/item/storage/box/evidence, +/obj/item/storage/box/bodybags, +/obj/item/storage/briefcase/crimekit, +/obj/item/storage/briefcase/crimekit, /obj/structure/cable/green{ d1 = 1; d2 = 2; @@ -11770,9 +11770,9 @@ /area/security/detectives_office) "sh" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin, +/obj/item/paper_bin, /obj/item/clothing/glasses/sunglasses, -/obj/item/weapon/pen/blue{ +/obj/item/pen/blue{ pixel_x = 5; pixel_y = 5 }, @@ -11780,7 +11780,7 @@ /area/security/detectives_office) "si" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, @@ -11788,8 +11788,8 @@ /area/security/detectives_office) "sj" = ( /obj/structure/table/woodentable, -/obj/item/weapon/handcuffs, -/obj/item/weapon/storage/fancy/cigarettes/dromedaryco, +/obj/item/handcuffs, +/obj/item/storage/fancy/cigarettes/dromedaryco, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, @@ -11802,9 +11802,9 @@ icon_state = "1-2" }, /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin, +/obj/item/paper_bin, /obj/item/clothing/glasses/sunglasses, -/obj/item/weapon/pen/blue{ +/obj/item/pen/blue{ pixel_x = 5; pixel_y = 5 }, @@ -11918,7 +11918,7 @@ /turf/simulated/floor, /area/maintenance/cargo) "sv" = ( -/obj/item/weapon/stool, +/obj/item/stool, /obj/effect/floor_decal/industrial/warning{ dir = 9 }, @@ -12491,7 +12491,7 @@ }, /obj/structure/table/steel, /obj/item/roller, -/obj/item/weapon/storage/box/autoinjectors, +/obj/item/storage/box/autoinjectors, /obj/machinery/recharger/wallcharger{ pixel_x = 32; pixel_y = -9 @@ -12672,8 +12672,8 @@ /area/quartermaster/delivery) "ty" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/box, -/obj/item/weapon/storage/box, +/obj/item/storage/box, +/obj/item/storage/box, /obj/machinery/alarm{ dir = 8; icon_state = "alarm0"; @@ -12740,12 +12740,12 @@ /area/quartermaster/office) "tF" = ( /obj/structure/table/standard, -/obj/item/weapon/material/ashtray/glass, +/obj/item/material/ashtray/glass, /obj/machinery/newscaster{ pixel_x = 28; pixel_y = 0 }, -/obj/item/weapon/deck/cards, +/obj/item/deck/cards, /obj/effect/floor_decal/borderfloor{ dir = 4 }, @@ -12780,8 +12780,8 @@ dir = 10 }, /obj/structure/table/reinforced, -/obj/item/device/mass_spectrometer/adv, -/obj/item/device/reagent_scanner, +/obj/item/mass_spectrometer/adv, +/obj/item/reagent_scanner, /obj/structure/cable/green{ d1 = 1; d2 = 2; @@ -12872,9 +12872,9 @@ /area/security/forensics) "tN" = ( /obj/structure/closet/secure_closet/detective, -/obj/item/weapon/reagent_containers/spray/pepper, -/obj/item/weapon/gun/energy/taser, -/obj/item/device/camera{ +/obj/item/reagent_containers/spray/pepper, +/obj/item/gun/energy/taser, +/obj/item/camera{ desc = "A one use - polaroid camera. 30 photos left."; name = "detectives camera"; pictures_left = 30; @@ -12893,7 +12893,7 @@ /turf/simulated/floor/carpet, /area/security/detectives_office) "tP" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -12905,7 +12905,7 @@ }, /obj/structure/table/steel, /obj/machinery/recharger, -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ dir = 1; pixel_y = 24 }, @@ -13032,8 +13032,8 @@ /area/security/hallway) "ub" = ( /obj/structure/mopbucket, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/mop, +/obj/item/reagent_containers/glass/bucket, +/obj/item/mop, /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/tiled, /area/maintenance/station/cargo) @@ -13066,7 +13066,7 @@ /obj/random/maintenance/security, /obj/random/maintenance/security, /obj/random/maintenance/medical, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /obj/structure/railing, /obj/random/tool, /obj/machinery/light/small{ @@ -13190,9 +13190,9 @@ dir = 1 }, /obj/item/clothing/suit/fire/firefighter, -/obj/item/weapon/tank/oxygen, +/obj/item/tank/oxygen, /obj/item/clothing/mask/gas, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /obj/item/clothing/head/hardhat/red, /obj/item/clothing/glasses/meson, /obj/machinery/power/apc{ @@ -13232,10 +13232,10 @@ /area/quartermaster/delivery) "uv" = ( /obj/structure/table/steel, -/obj/item/weapon/wrapping_paper, -/obj/item/weapon/wrapping_paper, -/obj/item/weapon/wrapping_paper, -/obj/item/device/destTagger{ +/obj/item/wrapping_paper, +/obj/item/wrapping_paper, +/obj/item/wrapping_paper, +/obj/item/destTagger{ pixel_x = 4; pixel_y = 3 }, @@ -13245,9 +13245,9 @@ /obj/effect/floor_decal/corner/brown/border{ dir = 4 }, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, +/obj/item/packageWrap, +/obj/item/packageWrap, +/obj/item/packageWrap, /obj/machinery/atmospherics/pipe/simple/hidden/universal, /turf/simulated/floor/tiled, /area/quartermaster/delivery) @@ -13320,11 +13320,11 @@ }, /obj/effect/floor_decal/steeldecal/steel_decals7, /obj/structure/table/glass, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled, /area/quartermaster/foyer) "uB" = ( @@ -13689,9 +13689,9 @@ pixel_x = 25; pixel_y = 0 }, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/device/t_scanner, +/obj/item/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, +/obj/item/t_scanner, /turf/simulated/floor, /area/storage/emergency_storage/emergency3) "ve" = ( @@ -13869,26 +13869,26 @@ dir = 1 }, /obj/structure/closet, -/obj/item/device/taperecorder{ +/obj/item/taperecorder{ pixel_x = -4; pixel_y = 2 }, -/obj/item/device/camera{ +/obj/item/camera{ pixel_x = 3; pixel_y = -4 }, -/obj/item/device/taperecorder{ +/obj/item/taperecorder{ pixel_x = -4; pixel_y = 2 }, -/obj/item/device/camera{ +/obj/item/camera{ pixel_x = 3; pixel_y = -4 }, -/obj/item/device/flash, -/obj/item/device/flash, -/obj/item/weapon/storage/secure/briefcase, -/obj/item/weapon/storage/secure/briefcase, +/obj/item/flash, +/obj/item/flash, +/obj/item/storage/secure/briefcase, +/obj/item/storage/secure/briefcase, /obj/machinery/light{ dir = 1 }, @@ -13903,12 +13903,12 @@ dir = 1 }, /obj/structure/bookcase, -/obj/item/weapon/book/manual/standard_operating_procedure, -/obj/item/weapon/book/manual/standard_operating_procedure, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/manual/command_guide, -/obj/item/weapon/book/manual/command_guide, +/obj/item/book/manual/standard_operating_procedure, +/obj/item/book/manual/standard_operating_procedure, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/command_guide, +/obj/item/book/manual/command_guide, /turf/simulated/floor/tiled/dark, /area/lawoffice) "vy" = ( @@ -14127,7 +14127,7 @@ /area/security/lobby) "vM" = ( /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -28 @@ -14170,7 +14170,7 @@ /area/hallway/station/upper) "vQ" = ( /obj/structure/table/woodentable, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -14416,7 +14416,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/disposalpipe/segment, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -14433,7 +14433,7 @@ /obj/random/maintenance/clean, /obj/effect/decal/cleanable/dirt, /obj/effect/floor_decal/rust, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /turf/simulated/floor, /area/maintenance/station/elevator) "ws" = ( @@ -14588,7 +14588,7 @@ "wK" = ( /obj/structure/table/standard, /obj/fiftyspawner/steel, -/obj/item/device/multitool, +/obj/item/multitool, /obj/machinery/alarm{ dir = 8; icon_state = "alarm0"; @@ -14609,7 +14609,7 @@ "wM" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/structure/table/reinforced, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/tiled/dark, /area/lawoffice) "wN" = ( @@ -14662,11 +14662,11 @@ dir = 6 }, /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 4; pixel_y = 7 }, -/obj/item/weapon/pen/blue{ +/obj/item/pen/blue{ pixel_x = 5; pixel_y = 5 }, @@ -14720,8 +14720,8 @@ /area/security/forensics) "wT" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/cups, -/obj/item/weapon/storage/box/cups{ +/obj/item/storage/box/cups, +/obj/item/storage/box/cups{ pixel_x = 4; pixel_y = 4 }, @@ -14729,8 +14729,8 @@ /area/security/lobby) "wU" = ( /obj/structure/table/reinforced, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/manual/security_space_law, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/wiki/security_space_law, /turf/simulated/floor/tiled, /area/security/lobby) "wV" = ( @@ -15090,7 +15090,7 @@ /area/quartermaster/office) "xt" = ( /obj/structure/table/standard, -/obj/item/weapon/folder/yellow, +/obj/item/folder/yellow, /obj/machinery/light{ dir = 4; icon_state = "tube1" @@ -15140,7 +15140,7 @@ dir = 1 }, /obj/machinery/atmospherics/unary/vent_scrubber/on, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -15157,16 +15157,16 @@ dir = 8 }, /obj/structure/table/reinforced, -/obj/item/weapon/folder{ +/obj/item/folder{ pixel_x = -4 }, -/obj/item/weapon/folder/blue{ +/obj/item/folder/blue{ pixel_x = 5 }, -/obj/item/weapon/folder/red{ +/obj/item/folder/red{ pixel_y = 3 }, -/obj/item/weapon/folder/yellow, +/obj/item/folder/yellow, /turf/simulated/floor/tiled/dark, /area/lawoffice) "xz" = ( @@ -15186,8 +15186,8 @@ dir = 5 }, /obj/structure/table/reinforced, -/obj/item/weapon/stamp/internalaffairs, -/obj/item/weapon/stamp/denied{ +/obj/item/stamp/internalaffairs, +/obj/item/stamp/denied{ pixel_x = 4; pixel_y = -2 }, @@ -15234,8 +15234,8 @@ dir = 9 }, /obj/structure/table/reinforced, -/obj/item/weapon/stamp/internalaffairs, -/obj/item/weapon/stamp/denied{ +/obj/item/stamp/internalaffairs, +/obj/item/stamp/denied{ pixel_x = 4; pixel_y = -2 }, @@ -15255,16 +15255,16 @@ dir = 4 }, /obj/structure/table/reinforced, -/obj/item/weapon/folder{ +/obj/item/folder{ pixel_x = -4 }, -/obj/item/weapon/folder/blue{ +/obj/item/folder/blue{ pixel_x = 5 }, -/obj/item/weapon/folder/red{ +/obj/item/folder/red{ pixel_y = 3 }, -/obj/item/weapon/folder/yellow, +/obj/item/folder/yellow, /turf/simulated/floor/tiled/dark, /area/lawoffice) "xH" = ( @@ -15279,10 +15279,10 @@ dir = 4; icon_state = "pipe-c" }, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = -4 }, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = 4; pixel_y = 4 }, @@ -15391,11 +15391,11 @@ /area/maintenance/station/elevator) "xP" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/device/megaphone, +/obj/item/megaphone, /turf/simulated/floor/wood, /area/quartermaster/qm) "xQ" = ( @@ -15448,8 +15448,8 @@ /area/hallway/station/upper) "xV" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /obj/machinery/light_switch{ pixel_y = -25 }, @@ -15591,8 +15591,8 @@ /area/quartermaster/office) "yh" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/belt/utility, -/obj/item/weapon/storage/belt/utility, +/obj/item/storage/belt/utility, +/obj/item/storage/belt/utility, /obj/structure/cable/green{ d2 = 8; icon_state = "0-8" @@ -15616,13 +15616,13 @@ dir = 10 }, /obj/structure/table/reinforced, -/obj/item/weapon/clipboard, +/obj/item/clipboard, /obj/machinery/newscaster{ layer = 3.3; pixel_x = -27; pixel_y = 0 }, -/obj/item/weapon/storage/briefcase{ +/obj/item/storage/briefcase{ pixel_x = -2; pixel_y = -5 }, @@ -15642,15 +15642,15 @@ dir = 1 }, /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen/blue{ +/obj/item/pen/blue{ pixel_x = -5; pixel_y = -1 }, -/obj/item/weapon/pen/red{ +/obj/item/pen/red{ pixel_x = -1; pixel_y = 3 }, @@ -15685,13 +15685,13 @@ dir = 6 }, /obj/structure/table/reinforced, -/obj/item/weapon/clipboard, +/obj/item/clipboard, /obj/machinery/newscaster{ layer = 3.3; pixel_x = 27; pixel_y = 0 }, -/obj/item/weapon/storage/briefcase{ +/obj/item/storage/briefcase{ pixel_x = 3; pixel_y = 0 }, @@ -16197,7 +16197,7 @@ /area/quartermaster/delivery) "zc" = ( /obj/structure/table/standard, -/obj/item/weapon/hand_labeler, +/obj/item/hand_labeler, /obj/machinery/recharger, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, @@ -16205,8 +16205,8 @@ /area/quartermaster/office) "zd" = ( /obj/structure/table/standard, -/obj/item/weapon/tape_roll, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/tape_roll, +/obj/item/storage/firstaid/regular{ pixel_x = 6; pixel_y = -5 }, @@ -16219,33 +16219,33 @@ /turf/simulated/floor/tiled, /area/quartermaster/office) "ze" = ( -/obj/item/weapon/coin/silver, -/obj/item/weapon/coin/silver, -/obj/item/weapon/coin/silver, -/obj/item/weapon/coin/silver, -/obj/item/weapon/coin/silver, +/obj/item/coin/silver, +/obj/item/coin/silver, +/obj/item/coin/silver, +/obj/item/coin/silver, +/obj/item/coin/silver, /obj/structure/closet/crate/secure{ name = "Silver Crate"; req_access = list(19) }, -/obj/item/weapon/coin/silver, +/obj/item/coin/silver, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/dark, /area/security/nuke_storage) "zf" = ( /obj/item/stack/material/gold, -/obj/item/weapon/storage/belt/champion, +/obj/item/storage/belt/champion, /obj/effect/floor_decal/industrial/outline/yellow, /obj/structure/closet/crate/secure{ name = "Gold Crate"; req_access = list(19) }, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, /turf/simulated/floor/tiled/dark, /area/security/nuke_storage) "zg" = ( @@ -16780,7 +16780,7 @@ /obj/effect/floor_decal/corner/lightgrey/bordercorner2{ dir = 9 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 2; pixel_y = -24 }, @@ -16995,7 +16995,7 @@ /area/medical/chemistry) "An" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/beakers, +/obj/item/storage/box/beakers, /obj/machinery/light{ dir = 1 }, @@ -17457,13 +17457,13 @@ /area/quartermaster/storage) "AT" = ( /obj/structure/closet/secure_closet/cargotech, -/obj/item/weapon/stamp/cargo, +/obj/item/stamp/cargo, /turf/simulated/floor/tiled, /area/quartermaster/storage) "AU" = ( /obj/structure/closet/secure_closet/cargotech, -/obj/item/weapon/storage/backpack/dufflebag, -/obj/item/weapon/stamp/cargo, +/obj/item/storage/backpack/dufflebag, +/obj/item/stamp/cargo, /turf/simulated/floor/tiled, /area/quartermaster/storage) "AV" = ( @@ -17499,7 +17499,7 @@ /area/teleporter/departing) "AZ" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 }, @@ -17608,7 +17608,7 @@ desc = "A large cabinet with hard copy medical records."; name = "Medical Records" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -17823,16 +17823,16 @@ /area/hallway/station/upper) "Bu" = ( /obj/structure/table/rack, -/obj/item/device/gps/medical{ +/obj/item/gps/medical{ pixel_y = 3 }, -/obj/item/device/gps/medical{ +/obj/item/gps/medical{ pixel_x = -3 }, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = 2 }, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = -1; pixel_y = -3 }, @@ -17969,8 +17969,8 @@ /area/maintenance/substation/medical) "BE" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/dropper, /obj/machinery/firealarm{ dir = 8; pixel_x = -24; @@ -17990,8 +17990,8 @@ /area/medical/chemistry) "BG" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/dropper, /obj/effect/floor_decal/borderfloorwhite{ dir = 4 }, @@ -18070,12 +18070,12 @@ /area/quartermaster/qm) "BN" = ( /obj/structure/table/standard, -/obj/item/weapon/folder/yellow, -/obj/item/weapon/pen{ +/obj/item/folder/yellow, +/obj/item/pen{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/pen/red{ +/obj/item/pen/red{ pixel_x = 2; pixel_y = 6 }, @@ -18138,12 +18138,12 @@ /obj/effect/floor_decal/corner/brown/border{ dir = 8 }, -/obj/item/weapon/folder/yellow, -/obj/item/weapon/stamp/denied{ +/obj/item/folder/yellow, +/obj/item/stamp/denied{ pixel_x = 4; pixel_y = -2 }, -/obj/item/weapon/stamp/cargo, +/obj/item/stamp/cargo, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, /area/quartermaster/office) @@ -18404,7 +18404,7 @@ /obj/structure/filingcabinet/chestdrawer{ name = "Medical Forms" }, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 4; pixel_x = 24 }, @@ -18421,8 +18421,8 @@ /area/medical/reception) "Cs" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/toolbox/mechanical, -/obj/item/device/multitool, +/obj/item/storage/toolbox/mechanical, +/obj/item/multitool, /obj/effect/floor_decal/corner/paleblue{ dir = 9 }, @@ -18557,8 +18557,8 @@ /area/quartermaster/qm) "CE" = ( /obj/structure/table/standard, -/obj/item/weapon/clipboard, -/obj/item/weapon/stamp/qm, +/obj/item/clipboard, +/obj/item/stamp/qm, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, @@ -18641,12 +18641,12 @@ /turf/simulated/floor/tiled, /area/quartermaster/storage) "CK" = ( -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/clipboard, -/obj/item/weapon/pen/red{ +/obj/item/clipboard, +/obj/item/pen/red{ pixel_x = 2; pixel_y = 6 }, @@ -18747,10 +18747,10 @@ /obj/structure/safe, /obj/item/clothing/under/color/yellow, /obj/item/toy/katana, -/obj/item/weapon/disk/nuclear{ +/obj/item/disk/nuclear{ name = "authentication disk" }, -/obj/item/weapon/moneybag/vault, +/obj/item/moneybag/vault, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/dark, /area/security/nuke_storage) @@ -18762,7 +18762,7 @@ name = "gun safe"; req_access = list(1) }, -/obj/item/weapon/gun/projectile/revolver/consul, +/obj/item/gun/projectile/revolver/consul, /obj/item/ammo_magazine/s44, /obj/item/ammo_magazine/s44, /turf/simulated/floor/tiled/dark, @@ -18948,7 +18948,7 @@ /area/medical/reception) "Dm" = ( /obj/structure/table/rack, -/obj/item/device/defib_kit/compact/loaded, +/obj/item/defib_kit/compact/loaded, /obj/effect/floor_decal/corner/paleblue{ dir = 9 }, @@ -18984,7 +18984,7 @@ /area/medical/chemistry) "Dp" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the 'Space' from Space Cleaner and written in Chemistry. Scrawled on the back is, 'Okay, whoever filled this with polytrinic acid, it was only funny the first time. It was hard enough replacing the CMO's first cat!'"; name = "Chemistry Cleaner" }, @@ -19029,8 +19029,8 @@ /area/medical/reception) "Ds" = ( /obj/structure/table/glass, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /obj/machinery/door/window/westleft{ name = "Medbay Reception"; req_one_access = list(5) @@ -19039,13 +19039,13 @@ /area/medical/reception) "Dt" = ( /obj/structure/table/glass, -/obj/item/weapon/folder/white{ +/obj/item/folder/white{ pixel_y = 4 }, -/obj/item/weapon/folder/white{ +/obj/item/folder/white{ pixel_x = -2 }, -/obj/item/weapon/folder/white{ +/obj/item/folder/white{ pixel_x = 2 }, /turf/simulated/floor/tiled/white, @@ -19153,16 +19153,16 @@ /area/quartermaster/storage) "DE" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/fancy/cigarettes{ +/obj/item/storage/fancy/cigarettes{ pixel_y = 2 }, -/obj/item/weapon/deck/cards, -/obj/item/weapon/book/codex, +/obj/item/deck/cards, +/obj/item/book/codex, /obj/machinery/atm{ pixel_y = 30 }, /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -28 @@ -19175,8 +19175,8 @@ /area/teleporter/departing) "DF" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/cups, -/obj/item/weapon/storage/box/cups{ +/obj/item/storage/box/cups, +/obj/item/storage/box/cups{ pixel_x = 4; pixel_y = 4 }, @@ -19245,7 +19245,7 @@ /obj/effect/floor_decal/corner_steel_grid{ dir = 10 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -19367,7 +19367,7 @@ /obj/item/clothing/suit/space/void/medical/emt, /obj/item/clothing/mask/breath, /obj/item/clothing/head/helmet/space/void/medical/emt, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -19427,11 +19427,11 @@ /area/maintenance/substation/medical) "DV" = ( /obj/structure/table/woodentable, -/obj/item/device/taperecorder{ +/obj/item/taperecorder{ pixel_x = -4; pixel_y = 2 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 2; pixel_y = -24 }, @@ -19692,8 +19692,8 @@ /area/quartermaster/qm) "Eq" = ( /obj/structure/table/standard, -/obj/item/weapon/coin/silver, -/obj/item/weapon/coin/silver, +/obj/item/coin/silver, +/obj/item/coin/silver, /obj/machinery/alarm{ dir = 1; icon_state = "alarm0"; @@ -19703,15 +19703,15 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, -/obj/item/weapon/cartridge/quartermaster{ +/obj/item/cartridge/quartermaster{ pixel_x = 6; pixel_y = 5 }, -/obj/item/weapon/cartridge/quartermaster{ +/obj/item/cartridge/quartermaster{ pixel_x = -4; pixel_y = 7 }, -/obj/item/weapon/cartridge/quartermaster, +/obj/item/cartridge/quartermaster, /turf/simulated/floor/wood, /area/quartermaster/qm) "Er" = ( @@ -19720,7 +19720,7 @@ /area/quartermaster/qm) "Es" = ( /obj/structure/closet, -/obj/item/weapon/storage/backpack/dufflebag, +/obj/item/storage/backpack/dufflebag, /turf/simulated/floor/wood, /area/quartermaster/qm) "Et" = ( @@ -19919,7 +19919,7 @@ /area/medical/reception) "EO" = ( /obj/structure/table/rack, -/obj/item/weapon/rig/medical/equipped, +/obj/item/rig/medical/equipped, /obj/structure/fireaxecabinet{ pixel_x = 32 }, @@ -20063,8 +20063,8 @@ /area/quartermaster/warehouse) "EZ" = ( /obj/structure/table/reinforced, -/obj/item/device/mass_spectrometer/adv, -/obj/item/device/mass_spectrometer/adv, +/obj/item/mass_spectrometer/adv, +/obj/item/mass_spectrometer/adv, /obj/item/clothing/glasses/science, /obj/item/clothing/glasses/science, /obj/machinery/alarm{ @@ -20104,8 +20104,8 @@ /area/medical/chemistry) "Fc" = ( /obj/structure/table/reinforced, -/obj/item/weapon/hand_labeler, -/obj/item/weapon/packageWrap, +/obj/item/hand_labeler, +/obj/item/packageWrap, /obj/effect/floor_decal/borderfloorwhite{ dir = 4 }, @@ -20165,7 +20165,7 @@ /area/medical/reception) "Fg" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /turf/simulated/floor/tiled/white, /area/medical/reception) "Fh" = ( @@ -20243,7 +20243,7 @@ /area/quartermaster/office) "Fm" = ( /obj/structure/closet/secure_closet/medical3, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled/white, @@ -20361,13 +20361,13 @@ /area/quartermaster/office) "Fy" = ( /obj/structure/table/rack, -/obj/item/device/suit_cooling_unit{ +/obj/item/suit_cooling_unit{ pixel_y = -5 }, -/obj/item/device/suit_cooling_unit{ +/obj/item/suit_cooling_unit{ pixel_y = -5 }, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 4; pixel_x = 24 }, @@ -20563,11 +20563,11 @@ /area/medical/reception) "FP" = ( /obj/structure/table/glass, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = 4; pixel_y = -4 }, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = -4; pixel_y = 4 }, @@ -20685,7 +20685,7 @@ /obj/item/modular_computer/console/preset/command{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -20714,12 +20714,12 @@ /area/maintenance/substation/cargo) "FZ" = ( /obj/structure/closet/wardrobe/chemistry_white, -/obj/item/weapon/storage/box/pillbottles, -/obj/item/weapon/storage/box/pillbottles, -/obj/item/weapon/storage/fancy/vials, -/obj/item/weapon/storage/fancy/vials, -/obj/item/weapon/storage/box/syringes, -/obj/item/device/radio/headset/headset_med, +/obj/item/storage/box/pillbottles, +/obj/item/storage/box/pillbottles, +/obj/item/storage/fancy/vials, +/obj/item/storage/fancy/vials, +/obj/item/storage/box/syringes, +/obj/item/radio/headset/headset_med, /obj/effect/floor_decal/borderfloorwhite{ dir = 10 }, @@ -20744,8 +20744,8 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/module/power_control, -/obj/item/weapon/cell{ +/obj/item/module/power_control, +/obj/item/cell{ maxcharge = 2000 }, /turf/simulated/floor/tiled/steel, @@ -20753,7 +20753,7 @@ "Gc" = ( /obj/structure/table/glass, /obj/machinery/recharger, -/obj/item/weapon/tool/screwdriver, +/obj/item/tool/screwdriver, /obj/effect/floor_decal/borderfloorwhite{ dir = 8 }, @@ -20858,11 +20858,11 @@ "Gn" = ( /obj/structure/table/reinforced, /obj/machinery/chemical_dispenser/full, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 2; pixel_y = -24 }, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 4; pixel_x = 24 }, @@ -20891,9 +20891,9 @@ /area/medical/reception) "Gp" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/body_record_disk, -/obj/item/device/sleevemate, -/obj/item/weapon/paper{ +/obj/item/storage/box/body_record_disk, +/obj/item/sleevemate, +/obj/item/paper{ desc = ""; info = "Bodies designed on the design console must be saved to a disk, provided on the front desk counter, then placed into the resleeving console for printing."; name = "Body Designer Note" @@ -20954,16 +20954,16 @@ dir = 8 }, /obj/structure/table/glass, -/obj/item/weapon/backup_implanter{ +/obj/item/backup_implanter{ pixel_y = -12 }, -/obj/item/weapon/backup_implanter{ +/obj/item/backup_implanter{ pixel_y = -5 }, -/obj/item/weapon/backup_implanter{ +/obj/item/backup_implanter{ pixel_y = 2 }, -/obj/item/weapon/backup_implanter{ +/obj/item/backup_implanter{ pixel_y = 9 }, /obj/effect/floor_decal/borderfloorwhite{ @@ -21288,7 +21288,7 @@ /area/quartermaster/storage) "GS" = ( /obj/structure/filingcabinet, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 4; pixel_x = 24 }, @@ -21415,14 +21415,14 @@ /area/medical/medbay_emt_bay) "Hb" = ( /obj/structure/table/glass, -/obj/item/weapon/folder/white_cmo, -/obj/item/weapon/stamp/cmo, +/obj/item/folder/white_cmo, +/obj/item/stamp/cmo, /turf/simulated/floor/wood, /area/crew_quarters/heads/cmo) "Hc" = ( /obj/structure/table/glass, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /turf/simulated/floor/wood, /area/crew_quarters/heads/cmo) "Hd" = ( @@ -21466,7 +21466,7 @@ /area/quartermaster/warehouse) "Hh" = ( /obj/machinery/portable_atmospherics/canister/oxygen/prechilled, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /obj/machinery/atmospherics/portables_connector{ dir = 4 }, @@ -21498,8 +21498,8 @@ /area/medical/medbay_primary_storage) "Hj" = ( /obj/structure/table/glass, -/obj/item/weapon/packageWrap, -/obj/item/weapon/hand_labeler, +/obj/item/packageWrap, +/obj/item/hand_labeler, /obj/structure/sign/department/chem{ pixel_y = 32 }, @@ -21516,10 +21516,10 @@ /area/medical/medbay_primary_storage) "Hk" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/nifsofts_medical, -/obj/item/device/flashlight/pen, -/obj/item/device/flashlight/pen, -/obj/item/device/flashlight/pen, +/obj/item/storage/box/nifsofts_medical, +/obj/item/flashlight/pen, +/obj/item/flashlight/pen, +/obj/item/flashlight/pen, /obj/machinery/firealarm{ dir = 2; layer = 3.3; @@ -21545,15 +21545,15 @@ /turf/simulated/floor/tiled/white, /area/medical/medbay_primary_storage) "Hm" = ( -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/gloves{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/box/masks{ +/obj/item/storage/box/masks{ pixel_y = 0 }, /obj/structure/table/glass, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 1; pixel_y = 24 }, @@ -21580,7 +21580,7 @@ pixel_y = 16 }, /obj/structure/table/glass, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24; req_access = list() @@ -21660,7 +21660,7 @@ /area/medical/sleeper) "Ht" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{ +/obj/item/reagent_containers/glass/beaker/cryoxadone{ pixel_x = 7; pixel_y = 1 }, @@ -21692,7 +21692,7 @@ /area/medical/sleeper) "Hu" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{ +/obj/item/reagent_containers/glass/beaker/cryoxadone{ pixel_x = -4; pixel_y = 0 }, @@ -22020,8 +22020,8 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/storage/box, -/obj/item/weapon/storage/box{ +/obj/item/storage/box, +/obj/item/storage/box{ pixel_x = 5; pixel_y = -2 }, @@ -22140,11 +22140,11 @@ /area/medical/medbay_primary_storage) "HZ" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ pixel_x = -2; pixel_y = -2 }, @@ -22490,7 +22490,7 @@ /area/medical/medbay_primary_storage) "ID" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, /obj/item/bodybag/cryobag, /obj/item/bodybag/cryobag, /obj/item/bodybag/cryobag, @@ -22518,11 +22518,11 @@ /area/medical/medbay_primary_storage) "IF" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = 5; pixel_y = 5 }, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, @@ -23023,11 +23023,11 @@ /area/medical/medbay_primary_storage) "Ju" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/belt/medical, -/obj/item/weapon/storage/belt/medical, -/obj/item/weapon/storage/belt/medical, -/obj/item/weapon/storage/belt/medical, -/obj/item/weapon/storage/belt/medical, +/obj/item/storage/belt/medical, +/obj/item/storage/belt/medical, +/obj/item/storage/belt/medical, +/obj/item/storage/belt/medical, +/obj/item/storage/belt/medical, /obj/structure/railing, /obj/effect/floor_decal/borderfloorwhite{ dir = 6 @@ -23045,7 +23045,7 @@ /area/medical/medbay_primary_storage) "Jv" = ( /obj/structure/table/glass, -/obj/item/device/defib_kit/loaded, +/obj/item/defib_kit/loaded, /obj/effect/floor_decal/borderfloorwhite{ dir = 8 }, @@ -23261,7 +23261,7 @@ "JO" = ( /obj/structure/table/standard, /obj/item/clothing/head/soft, -/obj/item/weapon/stamp{ +/obj/item/stamp{ pixel_x = -3; pixel_y = 3 }, @@ -23364,7 +23364,7 @@ /area/maintenance/station/cargo) "JV" = ( /obj/structure/closet/secure_closet/medical3, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, @@ -23414,7 +23414,7 @@ /area/medical/virologyaccess) "Ka" = ( /obj/structure/closet/secure_closet/medical3, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /obj/effect/floor_decal/borderfloorwhite{ dir = 10 }, @@ -23457,7 +23457,7 @@ /area/medical/virologyaccess) "Kd" = ( /obj/structure/closet/secure_closet/medical3, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, @@ -23472,7 +23472,7 @@ /area/medical/medbay_primary_storage) "Ke" = ( /obj/structure/closet/secure_closet/medical3, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /obj/effect/floor_decal/borderfloorwhite/corner2{ @@ -23602,7 +23602,7 @@ "Ks" = ( /obj/structure/table/glass, /obj/item/bodybag/cryobag, -/obj/item/device/healthanalyzer, +/obj/item/healthanalyzer, /obj/effect/floor_decal/borderfloorwhite{ dir = 8 }, @@ -23652,13 +23652,13 @@ /area/crew_quarters/heads/cmo) "Kv" = ( /obj/structure/closet/secure_closet/CMO, -/obj/item/weapon/storage/belt/medical, -/obj/item/device/flashlight/pen, +/obj/item/storage/belt/medical, +/obj/item/flashlight/pen, /obj/item/clothing/accessory/stethoscope, /obj/item/clothing/glasses/hud/health, -/obj/item/device/defib_kit/compact/combat/loaded, -/obj/item/weapon/cmo_disk_holder, -/obj/item/weapon/storage/secure/briefcase/ml3m_pack_cmo, +/obj/item/defib_kit/compact/combat/loaded, +/obj/item/cmo_disk_holder, +/obj/item/storage/secure/briefcase/ml3m_pack_cmo, /obj/effect/floor_decal/borderfloorwhite{ dir = 6 }, @@ -23703,11 +23703,11 @@ /area/maintenance/station/cargo) "KA" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/gloves{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/box/masks, +/obj/item/storage/box/masks, /obj/machinery/light_switch{ dir = 1; pixel_x = 0; @@ -23908,8 +23908,8 @@ /area/quartermaster/storage) "KT" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/folder/yellow, -/obj/item/weapon/pen{ +/obj/item/folder/yellow, +/obj/item/pen{ pixel_x = 4; pixel_y = 4 }, @@ -23939,11 +23939,11 @@ /area/crew_quarters/medbreak) "KX" = ( /obj/structure/bookcase/manuals/medical, -/obj/item/weapon/book/manual/medical_diagnostics_manual{ +/obj/item/book/manual/medical_diagnostics_manual{ pixel_y = 7 }, -/obj/item/weapon/book/manual/stasis, -/obj/item/weapon/book/manual/resleeving, +/obj/item/book/manual/stasis, +/obj/item/book/manual/resleeving, /turf/simulated/floor/tiled/white, /area/crew_quarters/medbreak) "KY" = ( @@ -24042,9 +24042,9 @@ /area/medical/sleeper) "Li" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/pill_bottle/tramadol, -/obj/item/weapon/storage/pill_bottle/antitox, -/obj/item/weapon/reagent_containers/syringe/antiviral, +/obj/item/storage/pill_bottle/tramadol, +/obj/item/storage/pill_bottle/antitox, +/obj/item/reagent_containers/syringe/antiviral, /obj/effect/floor_decal/borderfloorwhite{ dir = 8 }, @@ -24991,7 +24991,7 @@ /area/quartermaster/warehouse) "ME" = ( /obj/structure/table/glass, -/obj/item/weapon/deck/cards, +/obj/item/deck/cards, /obj/effect/floor_decal/corner/paleblue/diagonal, /turf/simulated/floor/tiled/white, /area/crew_quarters/medbreak) @@ -25199,7 +25199,7 @@ /area/crew_quarters/medbreak) "MW" = ( /obj/structure/table/glass, -/obj/item/device/universal_translator, +/obj/item/universal_translator, /obj/effect/floor_decal/corner/paleblue/diagonal, /turf/simulated/floor/tiled/white, /area/crew_quarters/medbreak) @@ -25290,10 +25290,10 @@ /area/medical/sleeper) "Ne" = ( /obj/structure/closet/crate/freezer, -/obj/item/weapon/virusdish/random, -/obj/item/weapon/virusdish/random, -/obj/item/weapon/virusdish/random, -/obj/item/weapon/virusdish/random, +/obj/item/virusdish/random, +/obj/item/virusdish/random, +/obj/item/virusdish/random, +/obj/item/virusdish/random, /obj/effect/floor_decal/industrial/warning/corner{ dir = 4 }, @@ -25394,7 +25394,7 @@ /area/quartermaster/warehouse) "No" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/cups, +/obj/item/storage/box/cups, /obj/effect/floor_decal/corner/paleblue/diagonal, /obj/machinery/camera/network/medbay{ icon_state = "camera"; @@ -25404,9 +25404,9 @@ /area/crew_quarters/medbreak) "Np" = ( /obj/structure/closet/secure_closet/detective, -/obj/item/weapon/reagent_containers/spray/pepper, -/obj/item/weapon/gun/energy/taser, -/obj/item/device/camera{ +/obj/item/reagent_containers/spray/pepper, +/obj/item/gun/energy/taser, +/obj/item/camera{ desc = "A one use - polaroid camera. 30 photos left."; name = "detectives camera"; pictures_left = 30; @@ -25421,7 +25421,7 @@ /area/security/detectives_office) "Nq" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, /obj/machinery/firealarm{ dir = 4; pixel_x = 24 @@ -25538,13 +25538,13 @@ /turf/simulated/floor/tiled/white, /area/crew_quarters/medbreak) "NA" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, /obj/effect/floor_decal/corner/paleblue/diagonal, /obj/structure/table/standard, -/obj/item/weapon/storage/mre/random, +/obj/item/storage/mre/random, /turf/simulated/floor/tiled/white, /area/crew_quarters/medbreak) "NB" = ( @@ -25604,7 +25604,7 @@ /obj/item/bodybag/cryobag{ pixel_x = 6 }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = 5; pixel_y = 5 }, @@ -25616,7 +25616,7 @@ pixel_x = 32; pixel_y = 2 }, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, /obj/machinery/camera/network/security{ icon_state = "camera"; dir = 10 @@ -25865,8 +25865,8 @@ "Ob" = ( /obj/structure/table/standard, /obj/random/medical/lite, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{ +/obj/item/tool/wrench, +/obj/item/reagent_containers/glass/beaker/cryoxadone{ pixel_x = -4; pixel_y = 0 }, @@ -25874,12 +25874,12 @@ /area/shuttle/large_escape_pod1/station) "Oc" = ( /obj/structure/table/rack, -/obj/item/weapon/tank/emergency/oxygen, -/obj/item/weapon/tank/emergency/oxygen, -/obj/item/weapon/tank/emergency/oxygen, -/obj/item/weapon/tank/emergency/oxygen, -/obj/item/weapon/tank/emergency/oxygen, -/obj/item/weapon/tank/emergency/oxygen, +/obj/item/tank/emergency/oxygen, +/obj/item/tank/emergency/oxygen, +/obj/item/tank/emergency/oxygen, +/obj/item/tank/emergency/oxygen, +/obj/item/tank/emergency/oxygen, +/obj/item/tank/emergency/oxygen, /obj/item/clothing/mask/gas, /obj/item/clothing/mask/gas, /obj/item/clothing/mask/gas, @@ -25945,11 +25945,11 @@ /area/medical/virology) "Om" = ( /obj/structure/table/glass, -/obj/item/weapon/hand_labeler, -/obj/item/device/radio{ +/obj/item/hand_labeler, +/obj/item/radio{ pixel_x = -4 }, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the Space from Space Cleaner and written in Virology. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Virology Cleaner"; pixel_x = 2; @@ -25998,7 +25998,7 @@ /area/medical/virology) "Op" = ( /obj/machinery/disease2/incubator, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24; req_access = list() @@ -26007,7 +26007,7 @@ /area/medical/virology) "Oq" = ( /obj/machinery/computer/diseasesplicer, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 1; pixel_y = 24 }, @@ -26079,19 +26079,19 @@ /area/medical/virology) "Oz" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = -4; pixel_y = -6 }, -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = 4; pixel_y = -6 }, -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = -4; pixel_y = 4 }, -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = 4; pixel_y = 4 }, @@ -26193,11 +26193,11 @@ /area/shuttle/large_escape_pod1/station) "OJ" = ( /obj/structure/closet/crate/medical, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = -2; pixel_y = 4 }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = -2; pixel_y = 4 }, @@ -26207,26 +26207,26 @@ /obj/item/bodybag/cryobag{ pixel_x = 5 }, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ layer = 2.8; pixel_x = 4; pixel_y = 6 }, -/obj/item/weapon/storage/box/masks{ +/obj/item/storage/box/masks{ pixel_x = 0; pixel_y = 0 }, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/gloves{ pixel_x = 3; pixel_y = 4 }, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/toxin, +/obj/item/storage/firstaid/fire{ layer = 2.9; pixel_x = 2; pixel_y = 3 }, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ pixel_x = -2 }, /obj/machinery/status_display{ @@ -26235,7 +26235,7 @@ pixel_x = 0; pixel_y = -32 }, -/obj/item/device/defib_kit/loaded, +/obj/item/defib_kit/loaded, /turf/simulated/shuttle/floor, /area/shuttle/large_escape_pod1/station) "OK" = ( @@ -26270,7 +26270,7 @@ /area/shuttle/large_escape_pod1/station) "OP" = ( /obj/effect/floor_decal/corner/paleblue/diagonal, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 4; pixel_x = 24 }, @@ -26297,11 +26297,11 @@ /area/security/breakroom) "OR" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/fancy/vials, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/reagent_containers/syringe/antiviral, +/obj/item/storage/fancy/vials, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/syringe/antiviral, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, @@ -26330,11 +26330,11 @@ /area/medical/virology) "OV" = ( /obj/structure/table/glass, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 8 }, -/obj/item/device/radio{ +/obj/item/radio{ anchored = 1; broadcasting = 0; canhear_range = 7; @@ -26346,8 +26346,8 @@ pixel_x = -6; pixel_y = 8 }, -/obj/item/weapon/folder/white, -/obj/item/weapon/pen, +/obj/item/folder/white, +/obj/item/pen, /obj/structure/reagent_dispensers/virusfood{ pixel_x = 30 }, @@ -26387,7 +26387,7 @@ /turf/simulated/floor/bluegrid, /area/ai_core_foyer) "Pa" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/structure/cable/green{ d1 = 1; d2 = 2; @@ -26413,11 +26413,11 @@ /area/ai_core_foyer) "Pd" = ( /obj/structure/table/glass, -/obj/item/device/antibody_scanner{ +/obj/item/antibody_scanner{ pixel_x = 2; pixel_y = 2 }, -/obj/item/device/antibody_scanner, +/obj/item/antibody_scanner, /obj/machinery/firealarm{ dir = 4; pixel_x = 24 @@ -26440,11 +26440,11 @@ /area/ai_core_foyer) "Pf" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/syringes{ +/obj/item/storage/box/syringes{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/box/beakers, +/obj/item/storage/box/beakers, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, @@ -26621,7 +26621,7 @@ /area/medical/sleeper) "Pu" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/monkeycubes, +/obj/item/storage/box/monkeycubes, /obj/machinery/power/apc{ dir = 2; name = "south bump"; @@ -26685,12 +26685,12 @@ "PA" = ( /obj/effect/floor_decal/industrial/outline/yellow, /obj/structure/closet/secure_closet/freezer/money, -/obj/item/weapon/storage/secure/briefcase/money{ +/obj/item/storage/secure/briefcase/money{ desc = "An sleek tidy briefcase."; name = "secure briefcase" }, /obj/machinery/light, -/obj/item/weapon/storage/mrebag/pill/sleevingcure, +/obj/item/storage/mrebag/pill/sleevingcure, /turf/simulated/floor/tiled/dark, /area/security/nuke_storage) "PB" = ( @@ -26785,7 +26785,7 @@ /area/medical/virologyisolation) "PJ" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/green, +/obj/item/bedsheet/green, /obj/machinery/power/apc{ dir = 1; name = "north bump"; @@ -26829,15 +26829,15 @@ /area/medical/virologyisolation) "PN" = ( /obj/structure/table/standard, -/obj/item/weapon/soap/nanotrasen, -/obj/item/weapon/storage/box/cups, +/obj/item/soap/nanotrasen, +/obj/item/storage/box/cups, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, /turf/simulated/floor/tiled/white, /area/medical/virologyisolation) "PO" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/hidden/yellow{ dir = 9 @@ -26859,7 +26859,7 @@ /area/medical/virologyisolation) "PR" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/green, +/obj/item/bedsheet/green, /obj/machinery/firealarm{ dir = 4; pixel_x = 24 @@ -26880,8 +26880,8 @@ /area/medical/virologyisolation) "PV" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/green, -/obj/item/device/radio/intercom{ +/obj/item/bedsheet/green, +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -26915,7 +26915,7 @@ /turf/simulated/floor/tiled/white, /area/medical/virologyisolation) "PY" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled/white, /area/medical/virologyisolation) "PZ" = ( @@ -26951,7 +26951,7 @@ pixel_x = -12; pixel_y = -24 }, -/obj/item/device/retail_scanner/civilian{ +/obj/item/retail_scanner/civilian{ dir = 1 }, /obj/effect/floor_decal/borderfloor, @@ -27084,12 +27084,12 @@ /turf/simulated/floor/carpet, /area/crew_quarters/heads/hos) "Qo" = ( -/obj/item/weapon/storage/secure/safe{ +/obj/item/storage/secure/safe{ pixel_x = -28 }, /obj/structure/table/glass, -/obj/item/weapon/storage/lockbox/vials, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/storage/lockbox/vials, +/obj/item/reagent_containers/dropper, /obj/machinery/camera/network/medbay{ icon_state = "camera"; dir = 4 @@ -27467,7 +27467,7 @@ /area/tether/exploration) "Rq" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ dir = 2; pixel_x = -4; pixel_y = 12 @@ -27785,7 +27785,7 @@ /area/maintenance/station/ai) "Sc" = ( /obj/structure/table/woodentable, -/obj/item/device/megaphone, +/obj/item/megaphone, /obj/structure/cable/green{ d1 = 1; d2 = 2; @@ -28209,8 +28209,8 @@ /area/shuttle/excursion/tether) "Tl" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/tank/oxygen, -/obj/item/device/suit_cooling_unit, +/obj/item/tank/oxygen, +/obj/item/suit_cooling_unit, /obj/item/clothing/head/helmet/space/void/pilot, /obj/item/clothing/shoes/magboots, /obj/item/clothing/suit/space/void/pilot, @@ -28289,13 +28289,13 @@ /area/shuttle/excursion/tether) "TO" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/secure/safe{ +/obj/item/storage/secure/safe{ pixel_x = -30 }, /obj/item/clothing/accessory/permit/gun, /obj/item/clothing/accessory/permit/gun, /obj/item/clothing/accessory/permit/gun, -/obj/item/weapon/paper{ +/obj/item/paper{ desc = ""; info = "In the event that more weapon permits are needed, please fax Central Command to request more. Please also include a reason for the request. Blank permits will be shipped to cargo for pickup. If long-term permits are desired, please contact your NanoTrasen Employee Representitive for more information."; name = "note from CentCom about permits" @@ -28310,7 +28310,7 @@ /area/crew_quarters/medbreak) "TQ" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, /turf/simulated/floor/wood, /area/security/breakroom) "TT" = ( @@ -28396,7 +28396,7 @@ /area/shuttle/excursion/tether) "Ui" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, -/obj/item/weapon/bone, +/obj/item/bone, /obj/machinery/alarm{ dir = 8; icon_state = "alarm0"; @@ -28662,7 +28662,7 @@ frequency = 1380; id_tag = "expshuttle_vent" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24; req_access = list() @@ -28727,10 +28727,10 @@ /obj/item/clothing/mask/breath, /obj/item/clothing/mask/breath, /obj/item/clothing/mask/breath, -/obj/item/weapon/tank/emergency/oxygen/engi, -/obj/item/weapon/tank/emergency/oxygen/engi, -/obj/item/weapon/tank/emergency/oxygen/engi, -/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, /obj/item/clothing/suit/space/emergency, /obj/item/clothing/suit/space/emergency, /obj/item/clothing/suit/space/emergency, @@ -28750,8 +28750,8 @@ dir = 1 }, /obj/structure/closet/crate/freezer/rations, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu10, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu10, /turf/simulated/floor/tiled/techfloor/grid, /area/shuttle/excursion/tether) "Vi" = ( @@ -29026,14 +29026,14 @@ /area/shuttle/excursion/tether) "Wr" = ( /obj/structure/table/standard, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, /turf/simulated/floor/tiled/white, /area/crew_quarters/medical_restroom) "Ws" = ( @@ -29155,7 +29155,7 @@ /turf/simulated/floor/tiled/dark, /area/security/evidence_storage) "Xa" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24; req_access = list() @@ -29479,7 +29479,7 @@ icon_state = "shuttle_chair"; dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /obj/machinery/light, @@ -29661,7 +29661,7 @@ /area/shuttle/excursion/tether) "ZM" = ( /obj/structure/table/woodentable, -/obj/item/device/radio/off, +/obj/item/radio/off, /turf/simulated/floor/wood, /area/crew_quarters/heads/hos) "ZO" = ( diff --git a/maps/tether/submaps/_tether_submaps.dm b/maps/tether/submaps/_tether_submaps.dm index 899241c829a..c8f5472e467 100644 --- a/maps/tether/submaps/_tether_submaps.dm +++ b/maps/tether/submaps/_tether_submaps.dm @@ -9,7 +9,7 @@ /datum/map_template/tether_lateload/tether_centcom name = "Tether - Centcom" desc = "Central Command lives here!" - mappath = 'tether_centcom.dmm' + mappath = "maps/tether/submaps/tether_centcom.dmm" associated_map_datum = /datum/map_z_level/tether_lateload/centcom @@ -22,7 +22,7 @@ /datum/map_template/tether_lateload/tether_misc name = "Tether - Misc" desc = "Misc areas, like some transit areas, holodecks, merc area." - mappath = 'tether_misc.dmm' + mappath = "maps/tether/submaps/tether_misc.dmm" associated_map_datum = /datum/map_z_level/tether_lateload/misc @@ -36,7 +36,7 @@ /datum/map_template/tether_lateload/tether_underdark name = "Tether - Underdark" desc = "Mining, but harder." - mappath = 'tether_underdark.dmm' + mappath = "maps/tether/submaps/tether_underdark.dmm" associated_map_datum = /datum/map_z_level/tether_lateload/underdark @@ -58,7 +58,7 @@ /datum/map_template/tether_lateload/tether_plains name = "Tether - Plains" desc = "The Virgo 3B away mission." - mappath = 'tether_plains.dmm' + mappath = "maps/tether/submaps/tether_plains.dmm" associated_map_datum = /datum/map_z_level/tether_lateload/tether_plains /datum/map_z_level/tether_lateload/tether_plains @@ -81,42 +81,42 @@ /datum/map_template/admin_use/ert name = "Special Area - ERT" desc = "It's the ERT ship! Lorge." - mappath = 'maps/submaps/admin_use_vr/ert.dmm' + mappath = "maps/submaps/admin_use_vr/ert.dmm" /datum/map_template/admin_use/trader name = "Special Area - Trader" desc = "Big trader ship." - mappath = 'maps/submaps/admin_use_vr/tradeship.dmm' + mappath = "maps/submaps/admin_use_vr/tradeship.dmm" /datum/map_template/admin_use/salamander_trader name = "Special Area - Salamander Trader" desc = "Modest trader ship." - mappath = 'maps/submaps/admin_use_vr/salamander_trader.dmm' + mappath = "maps/submaps/admin_use_vr/salamander_trader.dmm" /datum/map_template/admin_use/mercenary name = "Special Area - Merc Ship" desc = "Prepare tae be boarded, arr!" - mappath = 'maps/submaps/admin_use_vr/kk_mercship.dmm' + mappath = "maps/submaps/admin_use_vr/kk_mercship.dmm" /datum/map_template/admin_use/skipjack name = "Special Area - Skipjack Base" desc = "Stinky!" - mappath = 'maps/submaps/admin_use_vr/skipjack.dmm' + mappath = "maps/submaps/admin_use_vr/skipjack.dmm" /datum/map_template/admin_use/thunderdome name = "Special Area - Thunderdome" desc = "Thunderrrrdomeee" - mappath = 'maps/submaps/admin_use_vr/thunderdome.dmm' + mappath = "maps/submaps/admin_use_vr/thunderdome.dmm" /datum/map_template/admin_use/wizardbase name = "Special Area - Wizard Base" desc = "Wingardium Levosia" - mappath = 'maps/submaps/admin_use_vr/wizard.dmm' + mappath = "maps/submaps/admin_use_vr/wizard.dmm" /datum/map_template/admin_use/dojo name = "Special Area - Ninja Dojo" desc = "Sneaky" - mappath = 'maps/submaps/admin_use_vr/dojo.dmm' + mappath = "maps/submaps/admin_use_vr/dojo.dmm" ////////////////////////////////////////////////////////////////////////////// //Rogue Mines Stuff @@ -124,7 +124,7 @@ /datum/map_template/tether_lateload/tether_roguemines1 name = "Asteroid Belt 1" desc = "Mining, but rogue. Zone 1" - mappath = 'maps/submaps/rogue_mines_vr/rogue_mine1.dmm' + mappath = "maps/submaps/rogue_mines_vr/rogue_mine1.dmm" associated_map_datum = /datum/map_z_level/tether_lateload/roguemines1 @@ -136,7 +136,7 @@ /datum/map_template/tether_lateload/tether_roguemines2 name = "Asteroid Belt 2" desc = "Mining, but rogue. Zone 2" - mappath = 'maps/submaps/rogue_mines_vr/rogue_mine2.dmm' + mappath = "maps/submaps/rogue_mines_vr/rogue_mine2.dmm" associated_map_datum = /datum/map_z_level/tether_lateload/roguemines2 @@ -208,7 +208,7 @@ /datum/map_template/tether_lateload/away_aerostat name = "Remmi Aerostat - Z1 Aerostat" desc = "The Virgo 2 Aerostat away mission." - mappath = 'maps/expedition_vr/aerostat/aerostat.dmm' + mappath = "maps/expedition_vr/aerostat/aerostat.dmm" associated_map_datum = /datum/map_z_level/tether_lateload/away_aerostat /datum/map_z_level/tether_lateload/away_aerostat @@ -219,7 +219,7 @@ /datum/map_template/tether_lateload/away_aerostat_surface name = "Remmi Aerostat - Z2 Surface" desc = "The surface from the Virgo 2 Aerostat." - mappath = 'maps/expedition_vr/aerostat/surface.dmm' + mappath = "maps/expedition_vr/aerostat/surface.dmm" associated_map_datum = /datum/map_z_level/tether_lateload/away_aerostat_surface /datum/map_template/tether_lateload/away_aerostat_surface/on_map_loaded(z) diff --git a/maps/tether/submaps/tether_centcom.dmm b/maps/tether/submaps/tether_centcom.dmm index b6fe5fb58e9..40fe27807d1 100644 --- a/maps/tether/submaps/tether_centcom.dmm +++ b/maps/tether/submaps/tether_centcom.dmm @@ -4,8 +4,8 @@ /area/centcom) "ab" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/lasercannon, -/obj/item/weapon/gun/energy/lasercannon, +/obj/item/gun/energy/lasercannon, +/obj/item/gun/energy/lasercannon, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "ac" = ( @@ -13,8 +13,8 @@ /area/shuttle/centcom/ccbay) "ad" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/xray, -/obj/item/weapon/gun/energy/xray, +/obj/item/gun/energy/xray, +/obj/item/gun/energy/xray, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "ae" = ( @@ -24,13 +24,13 @@ "af" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/energy/ionrifle/pistol, -/obj/item/weapon/gun/energy/ionrifle/pistol, +/obj/item/gun/energy/ionrifle/pistol, +/obj/item/gun/energy/ionrifle/pistol, /turf/simulated/floor/tiled/dark, /area/centcom/security) "ag" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/heavysniper, +/obj/item/gun/projectile/heavysniper, /obj/item/ammo_magazine/ammo_box/b145, /obj/item/ammo_magazine/ammo_box/b145, /turf/simulated/floor/tiled/dark, @@ -40,8 +40,8 @@ /area/centcom/main_hall) "ai" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/automatic/z8, -/obj/item/weapon/gun/projectile/automatic/z8, +/obj/item/gun/projectile/automatic/z8, +/obj/item/gun/projectile/automatic/z8, /obj/item/ammo_magazine/m762, /obj/item/ammo_magazine/m762, /obj/item/ammo_magazine/m762, @@ -59,7 +59,7 @@ /area/centcom/control) "ak" = ( /obj/structure/table/reinforced, -/obj/item/weapon/folder/red, +/obj/item/folder/red, /turf/simulated/floor/tiled, /area/centcom/security) "al" = ( @@ -67,8 +67,8 @@ /area/tdome/tdomeadmin) "am" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/launcher/rocket, -/obj/item/weapon/gun/launcher/rocket, +/obj/item/gun/launcher/rocket, +/obj/item/gun/launcher/rocket, /obj/item/ammo_casing/rocket, /obj/item/ammo_casing/rocket, /obj/item/ammo_casing/rocket, @@ -142,18 +142,18 @@ /area/centcom/security) "au" = ( /obj/structure/closet/crate/medical, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "av" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/automatic/l6_saw, -/obj/item/weapon/gun/projectile/automatic/l6_saw, +/obj/item/gun/projectile/automatic/l6_saw, +/obj/item/gun/projectile/automatic/l6_saw, /obj/item/ammo_magazine/m545saw, /obj/item/ammo_magazine/m545saw, /obj/item/ammo_magazine/m545saw, @@ -177,8 +177,8 @@ /area/centcom/control) "az" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "aA" = ( @@ -190,8 +190,8 @@ dir = 1 }, /obj/structure/table/rack, -/obj/item/weapon/gun/energy/ionrifle, -/obj/item/weapon/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled{ icon_state = "dark" @@ -206,8 +206,8 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/gun/energy/ionrifle/pistol, -/obj/item/weapon/gun/energy/ionrifle/pistol, +/obj/item/gun/energy/ionrifle/pistol, +/obj/item/gun/energy/ionrifle/pistol, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -221,7 +221,7 @@ dir = 1 }, /obj/structure/table/rack, -/obj/item/weapon/gun/energy/netgun, +/obj/item/gun/energy/netgun, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled{ icon_state = "dark" @@ -289,7 +289,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/storage/briefcase{ +/obj/item/storage/briefcase{ pixel_x = 3; pixel_y = 5 }, @@ -300,9 +300,9 @@ dir = 1 }, /obj/structure/table/rack, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, +/obj/item/gun/energy/laser, +/obj/item/gun/energy/laser, +/obj/item/gun/energy/laser, /obj/effect/floor_decal/industrial/outline/yellow, /obj/structure/window/reinforced{ dir = 4 @@ -317,10 +317,10 @@ }, /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/energy/gun/nuclear, -/obj/item/weapon/gun/energy/gun/nuclear, -/obj/item/weapon/gun/energy/gun/nuclear, -/obj/item/weapon/gun/energy/gun/nuclear, +/obj/item/gun/energy/gun/nuclear, +/obj/item/gun/energy/gun/nuclear, +/obj/item/gun/energy/gun/nuclear, +/obj/item/gun/energy/gun/nuclear, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -335,10 +335,10 @@ /area/centcom/specops) "aV" = ( /obj/structure/table/rack, -/obj/item/weapon/extinguisher/mini, -/obj/item/weapon/extinguisher/mini, -/obj/item/weapon/extinguisher/mini, -/obj/item/weapon/extinguisher/mini, +/obj/item/extinguisher/mini, +/obj/item/extinguisher/mini, +/obj/item/extinguisher/mini, +/obj/item/extinguisher/mini, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "aW" = ( @@ -377,11 +377,11 @@ /area/centcom/command) "bb" = ( /obj/structure/table/rack, -/obj/item/weapon/rig/ert/assetprotection, -/obj/item/weapon/rig/ert/assetprotection, -/obj/item/weapon/rig/ert/assetprotection, -/obj/item/weapon/rig/ert/assetprotection, -/obj/item/weapon/rig/ert/assetprotection, +/obj/item/rig/ert/assetprotection, +/obj/item/rig/ert/assetprotection, +/obj/item/rig/ert/assetprotection, +/obj/item/rig/ert/assetprotection, +/obj/item/rig/ert/assetprotection, /obj/item/clothing/glasses/thermal, /obj/item/clothing/glasses/thermal, /obj/item/clothing/glasses/thermal, @@ -391,43 +391,43 @@ /area/centcom/specops) "bc" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/pill_bottle/blood_regen, -/obj/item/weapon/storage/pill_bottle/blood_regen, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/fitnessflask/glucose, +/obj/item/storage/pill_bottle/blood_regen, +/obj/item/storage/pill_bottle/blood_regen, +/obj/item/reagent_containers/food/drinks/drinkingglass/fitnessflask/glucose, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "bd" = ( /obj/structure/closet/crate/medical, /obj/item/stack/nanopaste/advanced, -/obj/item/weapon/tank/anesthetic, +/obj/item/tank/anesthetic, /obj/item/clothing/mask/breath/medical, /obj/item/clothing/mask/surgical, /obj/item/clothing/mask/surgical, /obj/item/stack/nanopaste/advanced, /obj/item/stack/nanopaste/advanced, -/obj/item/weapon/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "be" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/hypospray, -/obj/item/weapon/reagent_containers/hypospray, -/obj/item/weapon/reagent_containers/hypospray, -/obj/item/weapon/reagent_containers/hypospray, -/obj/item/weapon/reagent_containers/hypospray, -/obj/item/weapon/reagent_containers/hypospray, +/obj/item/reagent_containers/hypospray, +/obj/item/reagent_containers/hypospray, +/obj/item/reagent_containers/hypospray, +/obj/item/reagent_containers/hypospray, +/obj/item/reagent_containers/hypospray, +/obj/item/reagent_containers/hypospray, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "bf" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/clotting, -/obj/item/weapon/storage/firstaid/bonemed, -/obj/item/weapon/storage/pill_bottle/sleevingcure/full, +/obj/item/storage/firstaid/clotting, +/obj/item/storage/firstaid/bonemed, +/obj/item/storage/pill_bottle/sleevingcure/full, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "bg" = ( /obj/machinery/chemical_dispenser/ert, -/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, /obj/structure/table/reinforced, /turf/simulated/floor/tiled/dark, /area/centcom/specops) @@ -436,8 +436,8 @@ /area/centcom/living) "bi" = ( /obj/structure/table/rack, -/obj/item/device/defib_kit/compact/combat/loaded, -/obj/item/device/defib_kit/compact/combat/loaded, +/obj/item/defib_kit/compact/combat/loaded, +/obj/item/defib_kit/compact/combat/loaded, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "bj" = ( @@ -629,20 +629,20 @@ /area/shuttle/centcom/ccbay) "bJ" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/pillbottles, -/obj/item/weapon/storage/box/gloves, -/obj/item/weapon/storage/box/beakers, -/obj/item/weapon/storage/box/autoinjectors, +/obj/item/storage/box/pillbottles, +/obj/item/storage/box/gloves, +/obj/item/storage/box/beakers, +/obj/item/storage/box/autoinjectors, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "bK" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "bL" = ( @@ -663,11 +663,11 @@ /area/centcom/specops) "bM" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/fire{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/firstaid/fire, +/obj/item/storage/firstaid/fire, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "bP" = ( @@ -686,9 +686,9 @@ /area/centcom/specops) "bT" = ( /obj/structure/table/rack, -/obj/item/weapon/rig/ert/medical, -/obj/item/weapon/rig/ert/medical, -/obj/item/weapon/rig/ert/medical, +/obj/item/rig/ert/medical, +/obj/item/rig/ert/medical, +/obj/item/rig/ert/medical, /obj/item/clothing/accessory/storage/white_vest, /obj/item/clothing/accessory/storage/white_vest, /obj/item/clothing/accessory/storage/white_vest, @@ -733,7 +733,7 @@ "ca" = ( /obj/structure/table/rack, /obj/structure/window/reinforced, -/obj/item/weapon/gun/projectile/automatic/advanced_smg, +/obj/item/gun/projectile/automatic/advanced_smg, /obj/item/ammo_magazine/m9mmAdvanced, /obj/item/ammo_magazine/m9mmAdvanced, /obj/item/ammo_magazine/m9mmAdvanced, @@ -745,7 +745,7 @@ "cb" = ( /obj/structure/table/rack, /obj/structure/window/reinforced, -/obj/item/weapon/gun/energy/sniperrifle, +/obj/item/gun/energy/sniperrifle, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -763,21 +763,21 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, +/obj/item/gun/energy/gun, +/obj/item/gun/energy/gun, +/obj/item/gun/energy/gun, +/obj/item/gun/energy/gun, /turf/simulated/floor/tiled{ icon_state = "dark" }, /area/centcom/specops) "cf" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "ck" = ( @@ -823,8 +823,8 @@ /obj/item/ammo_magazine/m545, /obj/item/ammo_magazine/m545, /obj/item/ammo_magazine/m545, -/obj/item/weapon/gun/projectile/automatic/sts35, -/obj/item/weapon/gun/projectile/automatic/sts35, +/obj/item/gun/projectile/automatic/sts35, +/obj/item/gun/projectile/automatic/sts35, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -846,18 +846,18 @@ /obj/item/ammo_magazine/m545, /obj/item/ammo_magazine/m545, /obj/item/ammo_magazine/m545, -/obj/item/weapon/gun/projectile/automatic/sts35, -/obj/item/weapon/gun/projectile/automatic/sts35, +/obj/item/gun/projectile/automatic/sts35, +/obj/item/gun/projectile/automatic/sts35, /turf/simulated/floor/tiled{ icon_state = "dark" }, /area/centcom/specops) "cv" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/smes_coil, -/obj/item/weapon/smes_coil, -/obj/item/device/t_scanner/advanced, -/obj/item/device/t_scanner/advanced, +/obj/item/smes_coil, +/obj/item/smes_coil, +/obj/item/t_scanner/advanced, +/obj/item/t_scanner/advanced, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -868,33 +868,33 @@ }, /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/gun/energy/taser, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, /turf/simulated/floor/tiled{ icon_state = "dark" }, /area/centcom/specops) "cE" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) +/obj/item/storage/box/survival/comp{ + starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) +/obj/item/storage/box/survival/comp{ + starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) +/obj/item/storage/box/survival/comp{ + starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) +/obj/item/storage/box/survival/comp{ + starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) +/obj/item/storage/box/survival/comp{ + starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) +/obj/item/storage/box/survival/comp{ + starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, /turf/simulated/floor/tiled{ icon_state = "dark" @@ -972,25 +972,25 @@ /area/centcom/medical) "cL" = ( /obj/structure/table/reinforced, -/obj/item/device/healthanalyzer/phasic, -/obj/item/device/healthanalyzer/phasic, -/obj/item/device/healthanalyzer/phasic, -/obj/item/device/healthanalyzer/phasic, +/obj/item/healthanalyzer/phasic, +/obj/item/healthanalyzer/phasic, +/obj/item/healthanalyzer/phasic, +/obj/item/healthanalyzer/phasic, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "cO" = ( /obj/structure/table/rack, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/melee/energy/sword/blue, -/obj/item/weapon/melee/energy/sword/blue, -/obj/item/weapon/melee/energy/sword/blue, -/obj/item/weapon/melee/energy/sword/blue, -/obj/item/weapon/melee/energy/sword/blue, +/obj/item/melee/energy/sword/blue, +/obj/item/melee/energy/sword/blue, +/obj/item/melee/energy/sword/blue, +/obj/item/melee/energy/sword/blue, +/obj/item/melee/energy/sword/blue, /obj/effect/floor_decal/industrial/outline/yellow, /obj/structure/window/reinforced{ dir = 1 @@ -1004,11 +1004,11 @@ /area/centcom/specops) "cR" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/toxin{ +/obj/item/storage/firstaid/toxin{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/firstaid/toxin, +/obj/item/storage/firstaid/toxin, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "cT" = ( @@ -1019,7 +1019,7 @@ /obj/structure/bed/chair/bay/shuttle{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_x = -32; pixel_y = 24 @@ -1036,19 +1036,19 @@ dir = 1 }, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/energy/stunrevolver, -/obj/item/weapon/gun/energy/stunrevolver, -/obj/item/weapon/gun/energy/stunrevolver, -/obj/item/weapon/gun/energy/stunrevolver, +/obj/item/gun/energy/stunrevolver, +/obj/item/gun/energy/stunrevolver, +/obj/item/gun/energy/stunrevolver, +/obj/item/gun/energy/stunrevolver, /turf/simulated/floor/tiled{ icon_state = "dark" }, /area/centcom/specops) "da" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/flashbangs, -/obj/item/weapon/storage/box/flashbangs, -/obj/item/weapon/storage/box/emps{ +/obj/item/storage/box/flashbangs, +/obj/item/storage/box/flashbangs, +/obj/item/storage/box/emps{ pixel_x = 4; pixel_y = 4 }, @@ -1058,8 +1058,8 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/storage/box/smokes, -/obj/item/weapon/storage/box/smokes, +/obj/item/storage/box/smokes, +/obj/item/storage/box/smokes, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled{ icon_state = "dark" @@ -1067,55 +1067,55 @@ /area/centcom/specops) "db" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/handcuffs{ +/obj/item/storage/box/handcuffs{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/box/handcuffs, +/obj/item/storage/box/handcuffs, /turf/simulated/floor/tiled{ icon_state = "dark" }, /area/centcom/specops) "dc" = ( /obj/structure/table/reinforced, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, /turf/simulated/floor/tiled{ icon_state = "dark" }, /area/centcom/specops) "dd" = ( /obj/structure/table/reinforced, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -1151,12 +1151,12 @@ /area/centcom) "dl" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -1173,7 +1173,7 @@ /turf/simulated/floor/tiled, /area/shuttle/centcom/ccbay) "dn" = ( -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 2; pixel_y = 6 }, @@ -1186,8 +1186,8 @@ /area/centcom/control) "dr" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/gun/burst, -/obj/item/weapon/gun/energy/gun/burst, +/obj/item/gun/energy/gun/burst, +/obj/item/gun/energy/gun/burst, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "ds" = ( @@ -1202,82 +1202,82 @@ /area/centcom/specops) "du" = ( /obj/structure/table/rack, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "dv" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/gun/compact, -/obj/item/weapon/gun/energy/gun/compact, -/obj/item/device/flash, -/obj/item/device/flash, +/obj/item/gun/energy/gun/compact, +/obj/item/gun/energy/gun/compact, +/obj/item/flash, +/obj/item/flash, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "dw" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/launcher/grenade, -/obj/item/weapon/gun/launcher/grenade, +/obj/item/gun/launcher/grenade, +/obj/item/gun/launcher/grenade, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "dx" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/frags, -/obj/item/weapon/storage/box/frags, -/obj/item/weapon/storage/box/teargas, -/obj/item/weapon/storage/box/teargas, -/obj/item/weapon/storage/box/empslite, -/obj/item/weapon/storage/box/empslite, +/obj/item/storage/box/frags, +/obj/item/storage/box/frags, +/obj/item/storage/box/teargas, +/obj/item/storage/box/teargas, +/obj/item/storage/box/empslite, +/obj/item/storage/box/empslite, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "dy" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/pulse_rifle, -/obj/item/weapon/gun/energy/pulse_rifle, -/obj/item/weapon/gun/energy/pulse_rifle, -/obj/item/weapon/gun/energy/pulse_rifle, -/obj/item/weapon/gun/energy/pulse_rifle, +/obj/item/gun/energy/pulse_rifle, +/obj/item/gun/energy/pulse_rifle, +/obj/item/gun/energy/pulse_rifle, +/obj/item/gun/energy/pulse_rifle, +/obj/item/gun/energy/pulse_rifle, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "dz" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/combat{ +/obj/item/storage/firstaid/combat{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/firstaid/combat, +/obj/item/storage/firstaid/combat, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "dA" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/bodybags{ +/obj/item/storage/box/bodybags{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/box/bodybags, +/obj/item/storage/box/bodybags, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "dB" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "dC" = ( /obj/structure/table/rack, /obj/structure/window/reinforced, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -1285,8 +1285,8 @@ "dD" = ( /obj/structure/table/rack, /obj/structure/window/reinforced, -/obj/item/weapon/gun/projectile/revolver/detective45, -/obj/item/weapon/gun/projectile/revolver/detective45, +/obj/item/gun/projectile/revolver/detective45, +/obj/item/gun/projectile/revolver/detective45, /obj/item/ammo_magazine/s45, /obj/item/ammo_magazine/s45, /obj/item/ammo_magazine/s45, @@ -1314,10 +1314,10 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/gun/projectile/p92x, -/obj/item/weapon/gun/projectile/p92x, -/obj/item/weapon/gun/projectile/p92x, -/obj/item/weapon/gun/projectile/p92x, +/obj/item/gun/projectile/p92x, +/obj/item/gun/projectile/p92x, +/obj/item/gun/projectile/p92x, +/obj/item/gun/projectile/p92x, /obj/item/ammo_magazine/m9mm/large/preban, /obj/item/ammo_magazine/m9mm/large/preban, /obj/item/ammo_magazine/m9mm/large/preban, @@ -1332,11 +1332,11 @@ /area/centcom/specops) "dU" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/firstaid/o2, +/obj/item/storage/firstaid/o2, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "dV" = ( @@ -1386,7 +1386,7 @@ /area/centcom/control) "ef" = ( /obj/structure/bed/chair, -/obj/item/weapon/handcuffs, +/obj/item/handcuffs, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -1403,9 +1403,9 @@ /area/centcom/control) "ej" = ( /obj/structure/table/reinforced, -/obj/item/device/megaphone, -/obj/item/weapon/storage/box/trackimp, -/obj/item/weapon/storage/box/cdeathalarm_kit, +/obj/item/megaphone, +/obj/item/storage/box/trackimp, +/obj/item/storage/box/cdeathalarm_kit, /turf/simulated/floor/wood, /area/centcom/specops) "ek" = ( @@ -1416,12 +1416,12 @@ /obj/item/taperoll/police, /obj/item/taperoll/police, /obj/item/taperoll/police, -/obj/item/device/flash, -/obj/item/device/flash, -/obj/item/device/flash, -/obj/item/device/flash, -/obj/item/device/flash, -/obj/item/device/flash, +/obj/item/flash, +/obj/item/flash, +/obj/item/flash, +/obj/item/flash, +/obj/item/flash, +/obj/item/flash, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -1430,7 +1430,7 @@ /obj/structure/table/rack, /obj/item/clothing/suit/armor/vest/ert/command, /obj/item/clothing/head/helmet/ert/command, -/obj/item/weapon/storage/backpack/ert/commander, +/obj/item/storage/backpack/ert/commander, /turf/simulated/floor/wood, /area/centcom/specops) "em" = ( @@ -1438,7 +1438,7 @@ /area/centcom/control) "en" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/secure/briefcase/nsfw_pack_hybrid, +/obj/item/storage/secure/briefcase/nsfw_pack_hybrid, /turf/simulated/floor/wood, /area/centcom/specops) "ep" = ( @@ -1483,11 +1483,11 @@ /area/centcom/specops) "ex" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/firstaid/adv, +/obj/item/storage/firstaid/adv, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "ey" = ( @@ -1519,10 +1519,10 @@ /obj/item/clothing/head/helmet/ert/medical, /obj/item/clothing/head/helmet/ert/medical, /obj/item/clothing/head/helmet/ert/medical, -/obj/item/weapon/storage/backpack/ert/medical, -/obj/item/weapon/storage/backpack/ert/medical, -/obj/item/weapon/storage/backpack/ert/medical, -/obj/item/weapon/storage/backpack/ert/medical, +/obj/item/storage/backpack/ert/medical, +/obj/item/storage/backpack/ert/medical, +/obj/item/storage/backpack/ert/medical, +/obj/item/storage/backpack/ert/medical, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "eH" = ( @@ -1566,9 +1566,9 @@ /area/tdome/tdomeobserve) "eR" = ( /obj/structure/table/reinforced, -/obj/item/device/aicard, -/obj/item/weapon/pinpointer/advpinpointer, -/obj/item/weapon/stamp/centcomm, +/obj/item/aicard, +/obj/item/pinpointer/advpinpointer, +/obj/item/stamp/centcomm, /turf/simulated/floor/wood, /area/centcom/specops) "eS" = ( @@ -1583,7 +1583,7 @@ /obj/item/clothing/accessory/holster/hip, /obj/item/ammo_magazine/m44, /obj/item/ammo_magazine/m44, -/obj/item/weapon/gun/projectile/deagle, +/obj/item/gun/projectile/deagle, /turf/simulated/floor/wood, /area/centcom/specops) "eU" = ( @@ -1595,9 +1595,9 @@ /area/centcom/specops) "eV" = ( /obj/structure/table/reinforced, -/obj/item/device/pda/ert, -/obj/item/device/perfect_tele, -/obj/item/weapon/hand_tele, +/obj/item/pda/ert, +/obj/item/perfect_tele, +/obj/item/hand_tele, /turf/simulated/floor/wood, /area/centcom/specops) "eX" = ( @@ -1618,7 +1618,7 @@ name = "\improper CentCom Residential Security" }) "eZ" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/corner/yellow/diagonal, /obj/effect/floor_decal/corner/blue/diagonal{ dir = 4 @@ -1642,12 +1642,12 @@ /area/centcom) "fj" = ( /obj/structure/table/reinforced, -/obj/item/device/pda/ert, -/obj/item/device/pda/ert, -/obj/item/device/pda/ert, -/obj/item/device/pda/ert, -/obj/item/device/pda/ert, -/obj/item/device/pda/ert, +/obj/item/pda/ert, +/obj/item/pda/ert, +/obj/item/pda/ert, +/obj/item/pda/ert, +/obj/item/pda/ert, +/obj/item/pda/ert, /obj/effect/floor_decal/corner/blue{ dir = 5 }, @@ -1688,12 +1688,12 @@ /area/centcom/control) "fs" = ( /obj/structure/table/reinforced, -/obj/item/device/megaphone, -/obj/item/device/megaphone, -/obj/item/device/megaphone, -/obj/item/device/megaphone, -/obj/item/device/megaphone, -/obj/item/device/megaphone, +/obj/item/megaphone, +/obj/item/megaphone, +/obj/item/megaphone, +/obj/item/megaphone, +/obj/item/megaphone, +/obj/item/megaphone, /obj/effect/floor_decal/corner/blue{ dir = 5 }, @@ -1783,25 +1783,25 @@ /area/centcom/specops) "fJ" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/flashbangs, -/obj/item/weapon/handcuffs, -/obj/item/device/flash, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/gun/energy/stunrevolver, +/obj/item/storage/box/flashbangs, +/obj/item/handcuffs, +/obj/item/flash, +/obj/item/melee/baton/loaded, +/obj/item/storage/belt/security/tactical, +/obj/item/gun/energy/stunrevolver, /obj/item/clothing/glasses/sunglasses/sechud/tactical, -/obj/item/weapon/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, /turf/simulated/floor/wood, /area/centcom/specops) "fL" = ( /obj/structure/table/rack, -/obj/item/weapon/rig/ert, +/obj/item/rig/ert, /obj/item/clothing/accessory/storage/black_vest, /turf/simulated/floor/wood, /area/centcom/specops) "fM" = ( /obj/structure/table/reinforced, -/obj/item/weapon/gun/energy/gun/nuclear, +/obj/item/gun/energy/gun/nuclear, /turf/simulated/floor/wood, /area/centcom/specops) "fP" = ( @@ -1813,8 +1813,8 @@ /area/centcom/main_hall) "fR" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/secure/briefcase/nsfw_pack_hybrid_combat, -/obj/item/weapon/storage/secure/briefcase/nsfw_pack_hybrid_combat, +/obj/item/storage/secure/briefcase/nsfw_pack_hybrid_combat, +/obj/item/storage/secure/briefcase/nsfw_pack_hybrid_combat, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "fS" = ( @@ -1824,17 +1824,17 @@ }, /area/centcom/specops) "fT" = ( -/obj/item/weapon/circuitboard/aiupload, -/obj/item/weapon/circuitboard/borgupload, -/obj/item/weapon/circuitboard/smes, -/obj/item/weapon/aiModule/nanotrasen, -/obj/item/weapon/aiModule/reset, -/obj/item/weapon/aiModule/freeformcore, -/obj/item/weapon/aiModule/protectStation, -/obj/item/weapon/aiModule/quarantine, -/obj/item/weapon/aiModule/paladin, -/obj/item/weapon/aiModule/robocop, -/obj/item/weapon/aiModule/safeguard, +/obj/item/circuitboard/aiupload, +/obj/item/circuitboard/borgupload, +/obj/item/circuitboard/smes, +/obj/item/aiModule/nanotrasen, +/obj/item/aiModule/reset, +/obj/item/aiModule/freeformcore, +/obj/item/aiModule/protectStation, +/obj/item/aiModule/quarantine, +/obj/item/aiModule/paladin, +/obj/item/aiModule/robocop, +/obj/item/aiModule/safeguard, /obj/structure/table/steel_reinforced, /turf/simulated/floor/tiled{ icon_state = "dark" @@ -1856,12 +1856,12 @@ /obj/item/clothing/glasses/welding/superior, /obj/structure/table/steel_reinforced, /obj/item/clothing/glasses/welding/superior, -/obj/item/weapon/grenade/chem_grenade/metalfoam, -/obj/item/weapon/grenade/chem_grenade/metalfoam, -/obj/item/weapon/grenade/chem_grenade/metalfoam, -/obj/item/weapon/grenade/chem_grenade/metalfoam, -/obj/item/weapon/grenade/chem_grenade/metalfoam, -/obj/item/weapon/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -1891,11 +1891,11 @@ /area/centcom/specops) "ga" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/syringes{ +/obj/item/storage/box/syringes{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/box/syringes, +/obj/item/storage/box/syringes, /turf/simulated/floor/tiled/dark, /area/centcom/specops) "gb" = ( @@ -1926,31 +1926,31 @@ /obj/item/clothing/head/helmet/ert/security, /obj/item/clothing/head/helmet/ert/security, /obj/item/clothing/head/helmet/ert/security, -/obj/item/weapon/storage/backpack/ert/security, -/obj/item/weapon/storage/backpack/ert/security, -/obj/item/weapon/storage/backpack/ert/security, -/obj/item/weapon/storage/backpack/ert/security, +/obj/item/storage/backpack/ert/security, +/obj/item/storage/backpack/ert/security, +/obj/item/storage/backpack/ert/security, +/obj/item/storage/backpack/ert/security, /turf/simulated/floor/tiled{ icon_state = "dark" }, /area/centcom/specops) "gd" = ( /obj/structure/table/rack, -/obj/item/weapon/rig/ert/security, -/obj/item/weapon/rig/ert/security, -/obj/item/weapon/rig/ert/security, -/obj/item/weapon/rig/ert/security, -/obj/item/weapon/rig/ert/security, -/obj/item/weapon/rig/ert/security, +/obj/item/rig/ert/security, +/obj/item/rig/ert/security, +/obj/item/rig/ert/security, +/obj/item/rig/ert/security, +/obj/item/rig/ert/security, +/obj/item/rig/ert/security, /turf/simulated/floor/tiled{ icon_state = "dark" }, /area/centcom/specops) "ge" = ( /obj/structure/table/reinforced, -/obj/item/weapon/stamp/centcomm, -/obj/item/weapon/pen, -/obj/item/weapon/paper_bin{ +/obj/item/stamp/centcomm, +/obj/item/pen, +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, @@ -1978,7 +1978,7 @@ /obj/machinery/vending/cigarette{ name = "hacked cigarette machine"; prices = list(); - products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) + products = list(/obj/item/storage/fancy/cigarettes = 10, /obj/item/storage/box/matches = 10, /obj/item/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) }, /turf/simulated/floor/wood, /area/centcom/specops) @@ -2041,12 +2041,12 @@ /obj/item/clothing/gloves/yellow, /obj/item/clothing/gloves/yellow, /obj/item/clothing/gloves/yellow, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/weapon/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -2123,19 +2123,19 @@ /obj/item/stack/material/glass/reinforced{ amount = 50 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 3 }, @@ -2157,8 +2157,8 @@ /area/centcom/holding) "gC" = ( /obj/structure/table/reinforced, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/device/taperecorder, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/taperecorder, /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/blue/border, /turf/simulated/floor/tiled/dark, @@ -2171,8 +2171,8 @@ /obj/item/clothing/shoes/brown, /obj/item/clothing/suit/armor/tdome/green, /obj/item/clothing/head/helmet/thunderdome, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/energy/sword/green, +/obj/item/melee/baton/loaded, +/obj/item/melee/energy/sword/green, /turf/unsimulated/floor/techfloor_grid, /area/tdome/tdome1) "gR" = ( @@ -2194,13 +2194,13 @@ /obj/item/clothing/mask/gas, /obj/item/clothing/mask/gas, /obj/effect/floor_decal/industrial/outline/blue, -/obj/item/weapon/storage/box/traumainjectors, +/obj/item/storage/box/traumainjectors, /turf/simulated/floor/tiled{ icon_state = "dark" }, /area/centcom/specops) "gV" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ broadcasting = 1; dir = 1; frequency = 1443; @@ -2279,18 +2279,18 @@ "hl" = ( /obj/structure/table/reinforced, /obj/effect/floor_decal/industrial/outline/blue, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -2319,10 +2319,10 @@ /area/centcom/control) "hq" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/gun/compact, -/obj/item/weapon/gun/energy/gun/compact, -/obj/item/device/flash, -/obj/item/device/flash, +/obj/item/gun/energy/gun/compact, +/obj/item/gun/energy/gun/compact, +/obj/item/flash, +/obj/item/flash, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -2398,7 +2398,7 @@ }, /area/centcom/specops) "hE" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/wood, /area/centcom/specops) "hF" = ( @@ -2426,7 +2426,7 @@ }, /area/centcom/specops) "hH" = ( -/obj/item/device/perfect_tele_beacon/stationary{ +/obj/item/perfect_tele_beacon/stationary{ tele_name = "CentCom"; tele_network = "centcom" }, @@ -2560,7 +2560,7 @@ }, /area/centcom/control) "il" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/corner/yellow/diagonal, /obj/effect/floor_decal/corner/blue/diagonal{ dir = 4 @@ -2610,19 +2610,19 @@ /obj/item/clothing/head/helmet/ert/engineer, /obj/item/clothing/head/helmet/ert/engineer, /obj/item/clothing/head/helmet/ert/engineer, -/obj/item/weapon/storage/backpack/ert/engineer, -/obj/item/weapon/storage/backpack/ert/engineer, -/obj/item/weapon/storage/backpack/ert/engineer, -/obj/item/weapon/storage/backpack/ert/engineer, +/obj/item/storage/backpack/ert/engineer, +/obj/item/storage/backpack/ert/engineer, +/obj/item/storage/backpack/ert/engineer, +/obj/item/storage/backpack/ert/engineer, /turf/simulated/floor/tiled{ icon_state = "dark" }, /area/centcom/control) "is" = ( /obj/structure/table/rack, -/obj/item/weapon/rig/ert/engineer, -/obj/item/weapon/rig/ert/engineer, -/obj/item/weapon/rig/ert/engineer, +/obj/item/rig/ert/engineer, +/obj/item/rig/ert/engineer, +/obj/item/rig/ert/engineer, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -2665,24 +2665,24 @@ /area/centcom/control) "iy" = ( /obj/structure/table/reinforced, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, +/obj/item/cell/hyper, /turf/simulated/floor/tiled{ icon_state = "dark" }, /area/centcom/specops) "iz" = ( -/obj/item/weapon/gun/energy/sizegun, +/obj/item/gun/energy/sizegun, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -2725,7 +2725,7 @@ /turf/simulated/floor/tiled/white, /area/centcom/control) "iL" = ( -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -2812,24 +2812,24 @@ /area/centcom/control) "ja" = ( /obj/structure/table/reinforced, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -2848,9 +2848,9 @@ /area/tdome/tdomeobserve) "jd" = ( /obj/structure/table/reinforced, -/obj/item/device/binoculars, -/obj/item/device/survivalcapsule, -/obj/item/device/survivalcapsule, +/obj/item/binoculars, +/obj/item/survivalcapsule, +/obj/item/survivalcapsule, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -2901,15 +2901,15 @@ /area/centcom/control) "jo" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/handcuffs{ +/obj/item/storage/box/handcuffs{ pixel_x = 8; pixel_y = 6 }, -/obj/item/weapon/storage/box/chemimp{ +/obj/item/storage/box/chemimp{ pixel_x = 4; pixel_y = 3 }, -/obj/item/weapon/storage/box/trackimp, +/obj/item/storage/box/trackimp, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/dark, /area/centcom/security) @@ -2935,7 +2935,7 @@ /area/centcom/control) "ju" = ( /obj/machinery/r_n_d/circuit_imprinter, -/obj/item/weapon/reagent_containers/glass/beaker/sulphuric, +/obj/item/reagent_containers/glass/beaker/sulphuric, /turf/simulated/floor/tiled/white, /area/centcom/control) "jw" = ( @@ -2944,9 +2944,9 @@ /turf/simulated/floor/plating, /area/centcom/terminal) "jx" = ( -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, /obj/structure/table/standard, /turf/unsimulated/floor/steel, /area/tdome/tdomeobserve) @@ -2992,8 +2992,8 @@ /area/tdome/tdomeadmin) "jJ" = ( /obj/structure/table/reinforced, -/obj/item/device/camera, -/obj/item/weapon/storage/box/ids, +/obj/item/camera, +/obj/item/storage/box/ids, /obj/effect/floor_decal/borderfloorblack{ dir = 6 }, @@ -3084,7 +3084,7 @@ /turf/simulated/floor/tiled, /area/centcom/control) "kh" = ( -/obj/item/weapon/melee/baton/cattleprod, +/obj/item/melee/baton/cattleprod, /turf/simulated/floor/tiled{ icon_state = "dark" }, @@ -3130,13 +3130,13 @@ /turf/simulated/floor/tiled, /area/centcom/control) "kp" = ( -/obj/item/weapon/folder/white, +/obj/item/folder/white, /obj/structure/table/standard, -/obj/item/weapon/disk/tech_disk, -/obj/item/weapon/disk/tech_disk, -/obj/item/weapon/disk/design_disk, -/obj/item/weapon/disk/design_disk, -/obj/item/weapon/reagent_containers/dropper{ +/obj/item/disk/tech_disk, +/obj/item/disk/tech_disk, +/obj/item/disk/design_disk, +/obj/item/disk/design_disk, +/obj/item/reagent_containers/dropper{ pixel_y = -4 }, /obj/effect/floor_decal/borderfloorwhite{ @@ -3155,11 +3155,11 @@ /area/centcom/specops) "kr" = ( /obj/structure/table/standard, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, @@ -3200,7 +3200,7 @@ req_access = list(101) }, /obj/structure/table/reinforced, -/obj/item/device/pda/captain, +/obj/item/pda/captain, /turf/simulated/floor/tiled, /area/centcom/control) "kC" = ( @@ -3251,7 +3251,7 @@ /obj/structure/reagent_dispensers/acid{ pixel_y = -30 }, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_x = -2; pixel_y = -1 }, @@ -3278,12 +3278,12 @@ /obj/item/clothing/shoes/magboots, /obj/item/clothing/shoes/magboots, /obj/item/clothing/shoes/magboots, -/obj/item/weapon/storage/box, -/obj/item/weapon/storage/box, -/obj/item/weapon/storage/box, -/obj/item/weapon/storage/box, -/obj/item/weapon/storage/box, -/obj/item/weapon/storage/box, +/obj/item/storage/box, +/obj/item/storage/box, +/obj/item/storage/box, +/obj/item/storage/box, +/obj/item/storage/box, +/obj/item/storage/box, /obj/effect/floor_decal/industrial/outline/blue, /turf/simulated/floor/tiled{ icon_state = "dark" @@ -3302,15 +3302,15 @@ /area/centcom/specops) "kP" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/glass/bottle/biomass{ +/obj/item/reagent_containers/glass/bottle/biomass{ pixel_x = -4; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/glass/bottle/biomass{ +/obj/item/reagent_containers/glass/bottle/biomass{ pixel_x = -3; pixel_y = -2 }, -/obj/item/weapon/reagent_containers/glass/bottle/biomass{ +/obj/item/reagent_containers/glass/bottle/biomass{ pixel_x = 3; pixel_y = 5 }, @@ -3358,19 +3358,19 @@ base_turf = /turf/simulated/floor/tiled/techfloor/grid }) "lb" = ( -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 3 }, @@ -3402,14 +3402,14 @@ /area/centcom/specops) "lf" = ( /obj/structure/table/rack, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, /obj/effect/floor_decal/industrial/outline/blue, /turf/simulated/floor/tiled{ icon_state = "dark" @@ -3423,7 +3423,7 @@ /turf/simulated/floor/tiled/dark, /area/centcom/security) "lh" = ( -/obj/item/device/camera, +/obj/item/camera, /turf/unsimulated/floor/steel, /area/tdome/tdomeobserve) "li" = ( @@ -3480,7 +3480,7 @@ "lw" = ( /obj/structure/table/standard, /obj/machinery/recharger, -/obj/item/device/flash, +/obj/item/flash, /turf/simulated/floor/tiled, /area/centcom/control) "ly" = ( @@ -3510,7 +3510,7 @@ /obj/effect/floor_decal/industrial/warning{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 27 @@ -3635,14 +3635,14 @@ /obj/structure/table/rack, /obj/item/clothing/under/color/red, /obj/item/clothing/shoes/brown, -/obj/item/weapon/melee/energy/axe, +/obj/item/melee/energy/axe, /turf/unsimulated/floor/techfloor_grid, /area/tdome/tdome1) "mg" = ( /obj/structure/table/rack, /obj/item/clothing/under/color/green, /obj/item/clothing/shoes/brown, -/obj/item/weapon/melee/energy/axe, +/obj/item/melee/energy/axe, /turf/unsimulated/floor/techfloor_grid, /area/tdome/tdome1) "mh" = ( @@ -3669,11 +3669,11 @@ /area/centcom/control) "mk" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled, /area/centcom/control) "ml" = ( @@ -3710,39 +3710,39 @@ /area/centcom/control) "mu" = ( /obj/structure/closet/wardrobe/robotics_black, -/obj/item/device/radio/headset/headset_sci{ +/obj/item/radio/headset/headset_sci{ pixel_x = -3 }, /turf/simulated/floor/tiled, /area/centcom/control) "mw" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 3 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = -4 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8; pixel_y = 12 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = 12 }, @@ -3812,7 +3812,7 @@ /area/centcom/control) "mP" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/belt/utility, +/obj/item/storage/belt/utility, /obj/item/clothing/gloves/sterile/latex, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 @@ -3838,8 +3838,8 @@ /obj/item/clothing/shoes/brown, /obj/item/clothing/suit/armor/tdome/red, /obj/item/clothing/head/helmet/thunderdome, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/energy/sword/red, +/obj/item/melee/baton/loaded, +/obj/item/melee/energy/sword/red, /turf/unsimulated/floor/techfloor_grid, /area/tdome/tdome1) "mT" = ( @@ -3900,10 +3900,10 @@ /area/centcom/control) "nf" = ( /obj/structure/table/standard, -/obj/item/weapon/hand_labeler, -/obj/item/weapon/pen, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, +/obj/item/hand_labeler, +/obj/item/pen, +/obj/item/packageWrap, +/obj/item/packageWrap, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 }, @@ -3934,11 +3934,11 @@ req_access = list(63); req_one_access = list(1) }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/effect/floor_decal/borderfloor{ dir = 8 }, @@ -3978,12 +3978,12 @@ /turf/simulated/floor/tiled/eris/dark/techfloor_grid, /area/shuttle/ccboat) "nB" = ( -/obj/item/weapon/stock_parts/console_screen, +/obj/item/stock_parts/console_screen, /obj/structure/table/standard, -/obj/item/weapon/stock_parts/console_screen, -/obj/item/weapon/stock_parts/console_screen, -/obj/item/weapon/stock_parts/matter_bin, -/obj/item/weapon/stock_parts/matter_bin, +/obj/item/stock_parts/console_screen, +/obj/item/stock_parts/console_screen, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/matter_bin, /obj/machinery/recharger, /obj/effect/floor_decal/borderfloorwhite{ dir = 5 @@ -4094,10 +4094,10 @@ /area/centcom/security) "oh" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/adv, -/obj/item/weapon/storage/firstaid/fire, -/obj/item/weapon/storage/firstaid/o2, -/obj/item/weapon/storage/firstaid/toxin, +/obj/item/storage/firstaid/adv, +/obj/item/storage/firstaid/fire, +/obj/item/storage/firstaid/o2, +/obj/item/storage/firstaid/toxin, /turf/simulated/shuttle/floor/white, /area/centcom/terminal/shuttlefluff) "oj" = ( @@ -4150,8 +4150,8 @@ dir = 1 }, /obj/machinery/camera/network/crescent, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, /turf/simulated/floor/tiled/white, /area/centcom/medical) "oo" = ( @@ -4192,7 +4192,7 @@ /area/centcom/medical) "os" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/bodybags{ +/obj/item/storage/box/bodybags{ pixel_x = -1; pixel_y = -2 }, @@ -4308,7 +4308,7 @@ /obj/effect/floor_decal/industrial/warning{ dir = 4 }, -/obj/item/weapon/book/manual/robotics_cyborgs{ +/obj/item/book/manual/robotics_cyborgs{ pixel_x = 2; pixel_y = 5 }, @@ -4370,7 +4370,7 @@ /obj/item/modular_computer/console/preset/command{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ broadcasting = 1; dir = 4; frequency = 1443; @@ -4535,7 +4535,7 @@ /area/centcom/terminal/shuttlefluff) "qf" = ( /obj/structure/table/standard, -/obj/item/device/mmi, +/obj/item/mmi, /turf/simulated/floor/tiled, /area/centcom/control) "qg" = ( @@ -4573,7 +4573,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/folder/blue_captain, +/obj/item/folder/blue_captain, /turf/simulated/floor/carpet, /area/centcom/command) "qq" = ( @@ -4654,11 +4654,11 @@ /area/centcom/terminal) "qR" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/machinery/button/remote/blast_door{ id = "TelelockdownC"; name = "Teleporter Entrance Lockdown"; @@ -4756,10 +4756,10 @@ }) "ri" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = 5 }, -/obj/item/weapon/pen/multi, +/obj/item/pen/multi, /turf/simulated/floor/tiled, /area/centcom/control) "rj" = ( @@ -4773,15 +4773,15 @@ dir = 4 }, /obj/structure/table/marble, -/obj/item/weapon/book/manual/chef_recipes, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/book/manual/chef_recipes, +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -3 }, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 3 }, -/obj/item/weapon/material/kitchen/rollingpin, -/obj/item/weapon/material/knife/butch, +/obj/item/material/kitchen/rollingpin, +/obj/item/material/knife/butch, /turf/simulated/floor/tiled/white, /area/centcom/control) "rm" = ( @@ -4830,12 +4830,12 @@ /area/centcom/terminal/shuttlefluff) "rZ" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/circular_saw, -/obj/item/weapon/surgical/scalpel{ +/obj/item/surgical/circular_saw, +/obj/item/surgical/scalpel{ pixel_y = 12 }, -/obj/item/weapon/surgical/hemostat, -/obj/item/weapon/surgical/retractor, +/obj/item/surgical/hemostat, +/obj/item/surgical/retractor, /obj/effect/floor_decal/industrial/warning{ dir = 1 }, @@ -5039,11 +5039,11 @@ /area/centcom/bathroom) "sW" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/automatic/pdw, -/obj/item/weapon/gun/projectile/automatic/pdw, -/obj/item/weapon/gun/projectile/automatic/pdw, -/obj/item/weapon/gun/projectile/automatic/pdw, -/obj/item/weapon/gun/projectile/automatic/pdw, +/obj/item/gun/projectile/automatic/pdw, +/obj/item/gun/projectile/automatic/pdw, +/obj/item/gun/projectile/automatic/pdw, +/obj/item/gun/projectile/automatic/pdw, +/obj/item/gun/projectile/automatic/pdw, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/dark, /area/centcom/security) @@ -5188,14 +5188,14 @@ pixel_x = -32; req_access = list(29) }, -/obj/item/weapon/tank/anesthetic, -/obj/item/weapon/tank/anesthetic, -/obj/item/weapon/tank/anesthetic, +/obj/item/tank/anesthetic, +/obj/item/tank/anesthetic, +/obj/item/tank/anesthetic, /obj/item/clothing/mask/breath/medical, /obj/item/clothing/mask/breath/medical, /obj/item/clothing/mask/breath/medical, -/obj/item/weapon/storage/box/gloves, -/obj/item/device/defib_kit/jumper_kit, +/obj/item/storage/box/gloves, +/obj/item/defib_kit/jumper_kit, /turf/simulated/floor/tiled{ icon_state = "white" }, @@ -5350,7 +5350,7 @@ "vb" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/projectile/automatic/l6_saw, +/obj/item/gun/projectile/automatic/l6_saw, /turf/simulated/floor/tiled/dark, /area/centcom/security) "vc" = ( @@ -5390,8 +5390,8 @@ /obj/item/clothing/shoes/leg_guard/riot, /obj/item/clothing/suit/armor/riot/alt, /obj/item/clothing/head/helmet/riot, -/obj/item/weapon/shield/riot, -/obj/item/weapon/melee/baton/loaded, +/obj/item/shield/riot, +/obj/item/melee/baton/loaded, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/dark, /area/centcom/security) @@ -5543,11 +5543,11 @@ req_access = list(63); req_one_access = list(1) }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/machinery/button/remote/blast_door{ id = "FrontlockC"; name = "Colony Entrance Lockdown"; @@ -5584,23 +5584,23 @@ /obj/item/clothing/shoes/boots/tactical, /obj/item/clothing/suit/armor/tactical, /obj/item/clothing/under/tactical, -/obj/item/weapon/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, /obj/structure/closet{ desc = "It's a storage unit for standard-issue attire."; name = "tactical equipment" }, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, -/obj/item/weapon/storage/backpack/satchel/sec, +/obj/item/storage/backpack/dufflebag/syndie/ammo, +/obj/item/storage/backpack/satchel/sec, /turf/simulated/floor/tiled/dark, /area/centcom/security) "wg" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, -/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, -/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, -/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, +/obj/item/storage/backpack/dufflebag/syndie/ammo, +/obj/item/storage/backpack/dufflebag/syndie/ammo, +/obj/item/storage/backpack/dufflebag/syndie/ammo, +/obj/item/storage/backpack/dufflebag/syndie/ammo, /turf/simulated/floor/tiled/dark, /area/centcom/security) "wi" = ( @@ -5609,7 +5609,7 @@ /obj/item/clothing/shoes/brown, /obj/item/clothing/suit/armor/vest, /obj/item/clothing/head/helmet/swat, -/obj/item/weapon/gun/energy/laser, +/obj/item/gun/energy/laser, /turf/unsimulated/floor/techfloor_grid, /area/tdome/tdome1) "wk" = ( @@ -5618,7 +5618,7 @@ /obj/item/clothing/shoes/brown, /obj/item/clothing/suit/armor/vest, /obj/item/clothing/head/helmet/swat, -/obj/item/weapon/gun/energy/laser, +/obj/item/gun/energy/laser, /turf/unsimulated/floor/techfloor_grid, /area/tdome/tdome1) "wm" = ( @@ -5706,21 +5706,21 @@ /area/centcom) "wP" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/cheeseburger{ +/obj/item/reagent_containers/food/snacks/cheeseburger{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/reagent_containers/food/snacks/cheeseburger, +/obj/item/reagent_containers/food/snacks/cheeseburger, /turf/simulated/floor/wood, /area/centcom/restaurant) "wT" = ( /obj/structure/table/standard, -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/capacitor, -/obj/item/weapon/stock_parts/capacitor, -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/micro_laser, -/obj/item/weapon/stock_parts/micro_laser, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/capacitor, +/obj/item/stock_parts/capacitor, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/micro_laser, +/obj/item/stock_parts/micro_laser, /obj/effect/floor_decal/borderfloorwhite{ dir = 4 }, @@ -5775,7 +5775,7 @@ "xc" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/projectile/heavysniper, +/obj/item/gun/projectile/heavysniper, /turf/simulated/floor/tiled/dark, /area/centcom/security) "xe" = ( @@ -5874,8 +5874,8 @@ "xz" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/projectile/automatic/z8, -/obj/item/weapon/gun/projectile/automatic/z8, +/obj/item/gun/projectile/automatic/z8, +/obj/item/gun/projectile/automatic/z8, /turf/simulated/floor/tiled/dark, /area/centcom/security) "xE" = ( @@ -5937,7 +5937,7 @@ req_access = list(63); req_one_access = list(1) }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled, /area/centcom/command) "xQ" = ( @@ -5961,8 +5961,8 @@ /area/centcom/restaurant) "xS" = ( /obj/structure/table/standard, -/obj/item/device/mmi/digital/posibrain, -/obj/item/device/robotanalyzer, +/obj/item/mmi/digital/posibrain, +/obj/item/robotanalyzer, /turf/simulated/floor/tiled, /area/centcom/control) "xU" = ( @@ -5983,7 +5983,7 @@ /obj/effect/floor_decal/corner/blue/border{ dir = 9 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; frequency = 1475; name = "Station Intercom (Security)"; @@ -6031,7 +6031,7 @@ "yj" = ( /obj/effect/floor_decal/industrial/outline/yellow, /obj/structure/table/rack, -/obj/item/weapon/gun/energy/gun/nuclear, +/obj/item/gun/energy/gun/nuclear, /turf/simulated/floor/tiled/dark, /area/centcom/security) "yu" = ( @@ -6064,15 +6064,15 @@ /area/centcom/terminal) "yB" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/fries, +/obj/item/reagent_containers/food/snacks/fries, /turf/simulated/floor/wood, /area/centcom/restaurant) "yC" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, +/obj/item/gun/energy/gun, +/obj/item/gun/energy/gun, +/obj/item/gun/energy/gun, /turf/simulated/floor/tiled/dark, /area/centcom/security) "yD" = ( @@ -6140,25 +6140,25 @@ /area/centcom/medical) "yU" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = 8; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = -8; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = 8; pixel_y = 4 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_y = 4 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = -8; pixel_y = 4 }, @@ -6172,7 +6172,7 @@ /area/centcom/restaurant) "yX" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/green, +/obj/item/bedsheet/green, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 }, @@ -6297,11 +6297,11 @@ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/stock_parts/scanning_module{ +/obj/item/stock_parts/scanning_module{ pixel_x = 2; pixel_y = 3 }, -/obj/item/weapon/stock_parts/scanning_module, +/obj/item/stock_parts/scanning_module, /obj/machinery/light{ dir = 4 }, @@ -6351,21 +6351,21 @@ /area/centcom) "Ab" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/shotgun/pump/USDF, -/obj/item/weapon/gun/projectile/shotgun/pump/USDF, -/obj/item/weapon/gun/projectile/shotgun/pump/USDF, -/obj/item/weapon/gun/projectile/shotgun/pump/USDF, -/obj/item/weapon/gun/projectile/shotgun/pump/USDF, +/obj/item/gun/projectile/shotgun/pump/USDF, +/obj/item/gun/projectile/shotgun/pump/USDF, +/obj/item/gun/projectile/shotgun/pump/USDF, +/obj/item/gun/projectile/shotgun/pump/USDF, +/obj/item/gun/projectile/shotgun/pump/USDF, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/dark, /area/centcom/security) "Ac" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/automatic/wt550/lethal, -/obj/item/weapon/gun/projectile/automatic/wt550/lethal, -/obj/item/weapon/gun/projectile/automatic/wt550/lethal, -/obj/item/weapon/gun/projectile/automatic/wt550/lethal, -/obj/item/weapon/gun/projectile/automatic/wt550/lethal, +/obj/item/gun/projectile/automatic/wt550/lethal, +/obj/item/gun/projectile/automatic/wt550/lethal, +/obj/item/gun/projectile/automatic/wt550/lethal, +/obj/item/gun/projectile/automatic/wt550/lethal, +/obj/item/gun/projectile/automatic/wt550/lethal, /obj/effect/floor_decal/industrial/outline/yellow, /obj/machinery/camera/network/crescent, /turf/simulated/floor/tiled/dark, @@ -6410,7 +6410,7 @@ dir = 1 }, /obj/structure/table/woodentable, -/obj/item/weapon/storage/box/handcuffs, +/obj/item/storage/box/handcuffs, /turf/simulated/floor/tiled/dark, /area/centcom/command) "Ai" = ( @@ -6486,20 +6486,20 @@ /area/centcom/security) "AF" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, -/obj/item/weapon/flame/lighter/zippo, -/obj/item/weapon/storage/fancy/cigarettes, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/flame/lighter/zippo, +/obj/item/storage/fancy/cigarettes, /turf/unsimulated/floor/steel, /area/tdome/tdomeobserve) "AG" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/captain, +/obj/item/bedsheet/captain, /turf/simulated/floor/carpet, /area/centcom/control) "AH" = ( -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, /obj/structure/table/standard, /obj/effect/floor_decal/corner/yellow/diagonal, /obj/effect/floor_decal/corner/blue/diagonal{ @@ -6518,11 +6518,11 @@ /area/centcom/medical) "AJ" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen/blue, +/obj/item/pen/blue, /turf/simulated/floor/tiled, /area/centcom/control) "AK" = ( @@ -6632,11 +6632,11 @@ }) "BR" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/shotgun/pump, -/obj/item/weapon/gun/projectile/shotgun/pump, -/obj/item/weapon/gun/projectile/shotgun/pump, -/obj/item/weapon/gun/projectile/shotgun/pump, -/obj/item/weapon/gun/projectile/shotgun/pump, +/obj/item/gun/projectile/shotgun/pump, +/obj/item/gun/projectile/shotgun/pump, +/obj/item/gun/projectile/shotgun/pump, +/obj/item/gun/projectile/shotgun/pump, +/obj/item/gun/projectile/shotgun/pump, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/dark, /area/centcom/security) @@ -6700,7 +6700,7 @@ /obj/effect/floor_decal/corner/blue/border{ dir = 9 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; frequency = 1475; name = "Station Intercom (Security)"; @@ -6812,7 +6812,7 @@ dir = 1 }, /obj/structure/table/glass, -/obj/item/weapon/storage/box/monkeycubes, +/obj/item/storage/box/monkeycubes, /obj/effect/floor_decal/borderfloorwhite{ dir = 5 }, @@ -6849,11 +6849,11 @@ req_access = list(63); req_one_access = list(1) }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/effect/floor_decal/borderfloorblack{ dir = 9 }, @@ -6899,7 +6899,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/carpet, /area/centcom/command) "Ds" = ( @@ -7019,7 +7019,7 @@ /turf/simulated/floor/tiled/white, /area/centcom/medical) "DF" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /turf/simulated/floor/tiled/white, @@ -7080,11 +7080,11 @@ /turf/simulated/floor/tiled, /area/centcom/control) "DL" = ( -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/gloves{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/box/masks, +/obj/item/storage/box/masks, /obj/structure/table/glass, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 @@ -7096,11 +7096,11 @@ /area/centcom/medical) "DO" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/automatic/bullpup, -/obj/item/weapon/gun/projectile/automatic/bullpup, -/obj/item/weapon/gun/projectile/automatic/bullpup, -/obj/item/weapon/gun/projectile/automatic/bullpup, -/obj/item/weapon/gun/projectile/automatic/bullpup, +/obj/item/gun/projectile/automatic/bullpup, +/obj/item/gun/projectile/automatic/bullpup, +/obj/item/gun/projectile/automatic/bullpup, +/obj/item/gun/projectile/automatic/bullpup, +/obj/item/gun/projectile/automatic/bullpup, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/dark, /area/centcom/security) @@ -7155,7 +7155,7 @@ /area/centcom/security) "DU" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = 10; pixel_y = 12 }, @@ -7220,7 +7220,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /obj/structure/table/glass, -/obj/item/weapon/storage/firstaid/fire, +/obj/item/storage/firstaid/fire, /turf/simulated/floor/tiled/white, /area/centcom/medical) "Ef" = ( @@ -7237,7 +7237,7 @@ "Eg" = ( /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/green/border, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /turf/simulated/floor/tiled/white, @@ -7251,18 +7251,18 @@ /area/centcom/control) "Ei" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/green, +/obj/item/bedsheet/green, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/green/border, /turf/simulated/floor/tiled/white, /area/centcom/medical) "Ek" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, +/obj/item/gun/energy/laser, +/obj/item/gun/energy/laser, +/obj/item/gun/energy/laser, +/obj/item/gun/energy/laser, +/obj/item/gun/energy/laser, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/dark, /area/centcom/security) @@ -7415,11 +7415,11 @@ /area/centcom/medical) "EM" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/automatic/battlerifle, -/obj/item/weapon/gun/projectile/automatic/battlerifle, -/obj/item/weapon/gun/projectile/automatic/battlerifle, -/obj/item/weapon/gun/projectile/automatic/battlerifle, -/obj/item/weapon/gun/projectile/automatic/battlerifle, +/obj/item/gun/projectile/automatic/battlerifle, +/obj/item/gun/projectile/automatic/battlerifle, +/obj/item/gun/projectile/automatic/battlerifle, +/obj/item/gun/projectile/automatic/battlerifle, +/obj/item/gun/projectile/automatic/battlerifle, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/dark, /area/centcom/security) @@ -7429,12 +7429,12 @@ /area/centcom/terminal) "EQ" = ( /obj/structure/table/standard, -/obj/item/device/taperecorder, -/obj/item/device/megaphone, -/obj/item/weapon/packageWrap, -/obj/item/weapon/storage/box, -/obj/item/weapon/hand_labeler, -/obj/item/device/universal_translator, +/obj/item/taperecorder, +/obj/item/megaphone, +/obj/item/packageWrap, +/obj/item/storage/box, +/obj/item/hand_labeler, +/obj/item/universal_translator, /obj/effect/floor_decal/borderfloor{ dir = 1 }, @@ -7463,12 +7463,12 @@ dir = 4 }, /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/folder/red_hos, -/obj/item/weapon/pen/multi, +/obj/item/folder/red_hos, +/obj/item/pen/multi, /turf/simulated/floor/tiled/dark, /area/centcom/command) "EV" = ( @@ -7541,8 +7541,8 @@ /obj/item/clothing/shoes/leg_guard/riot, /obj/item/clothing/suit/armor/riot/alt, /obj/item/clothing/head/helmet/riot, -/obj/item/weapon/shield/riot, -/obj/item/weapon/melee/baton/loaded, +/obj/item/shield/riot, +/obj/item/melee/baton/loaded, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/dark, /area/centcom/security) @@ -7612,7 +7612,7 @@ /area/centcom/medical) "Fv" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/meatballsoup, +/obj/item/reagent_containers/food/snacks/meatballsoup, /turf/simulated/floor/wood, /area/centcom/restaurant) "Fy" = ( @@ -7625,8 +7625,8 @@ /area/centcom/medical) "Fz" = ( /obj/structure/table/reinforced, -/obj/item/device/camera, -/obj/item/weapon/storage/box/ids, +/obj/item/camera, +/obj/item/storage/box/ids, /obj/effect/floor_decal/borderfloorblack{ dir = 8 }, @@ -7645,16 +7645,16 @@ }) "FC" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{ +/obj/item/reagent_containers/glass/beaker/cryoxadone{ pixel_x = 5; pixel_y = 5 }, -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone, -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{ +/obj/item/reagent_containers/glass/beaker/cryoxadone, +/obj/item/reagent_containers/glass/beaker/cryoxadone{ pixel_x = 7; pixel_y = 1 }, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /obj/effect/floor_decal/borderfloorwhite{ dir = 9 }, @@ -7783,7 +7783,7 @@ /area/centcom/bathroom) "FW" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/handcuffs, +/obj/item/storage/box/handcuffs, /turf/simulated/floor/tiled, /area/centcom/security) "FX" = ( @@ -7924,16 +7924,16 @@ /area/centcom/command) "Gq" = ( /obj/structure/table/steel, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = -6 }, -/obj/item/device/camera{ +/obj/item/camera{ name = "Autopsy Camera"; pixel_x = -2; pixel_y = 7 }, -/obj/item/weapon/pen/red, -/obj/item/weapon/pen/blue{ +/obj/item/pen/red, +/obj/item/pen/blue{ pixel_x = 3; pixel_y = -5 }, @@ -7953,41 +7953,41 @@ "Gs" = ( /obj/structure/table/standard, /obj/machinery/recharger, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon{ pixel_x = -2; pixel_y = -2 }, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -2; pixel_y = -2 }, @@ -8161,8 +8161,8 @@ /area/centcom) "GX" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/hemostat, -/obj/item/weapon/surgical/cautery, +/obj/item/surgical/hemostat, +/obj/item/surgical/cautery, /obj/effect/floor_decal/borderfloorwhite{ dir = 9 }, @@ -8195,7 +8195,7 @@ "Hc" = ( /obj/structure/table/standard, /obj/item/stack/medical/advanced/bruise_pack, -/obj/item/weapon/surgical/retractor, +/obj/item/surgical/retractor, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 }, @@ -8223,10 +8223,10 @@ /area/centcom/terminal) "Hg" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/circular_saw{ +/obj/item/surgical/circular_saw{ pixel_y = 8 }, -/obj/item/weapon/surgical/scalpel, +/obj/item/surgical/scalpel, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 }, @@ -8270,15 +8270,15 @@ /area/tdome/tdomeadmin) "Hp" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/surgicaldrill, -/obj/item/weapon/autopsy_scanner, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/surgical/surgicaldrill, +/obj/item/autopsy_scanner, +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/surgical/FixOVein, +/obj/item/surgical/FixOVein, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 }, @@ -8480,7 +8480,7 @@ "HL" = ( /obj/structure/table/standard, /obj/machinery/chemical_dispenser/bar_soft/full, -/obj/item/weapon/storage/box/glasses/square, +/obj/item/storage/box/glasses/square, /obj/effect/floor_decal/borderfloor{ dir = 9 }, @@ -8497,19 +8497,19 @@ /area/centcom/main_hall) "HN" = ( /obj/structure/table/reinforced, -/obj/item/weapon/book/manual/security_space_law, +/obj/item/book/manual/wiki/security_space_law, /turf/simulated/floor/tiled/dark, /area/centcom/security) "HO" = ( /obj/structure/table/standard, /obj/machinery/recharger, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/device/radio/intercom{ +/obj/item/reagent_containers/spray/cleaner, +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 27 }, -/obj/item/weapon/storage/box/donut, +/obj/item/storage/box/donut, /obj/effect/floor_decal/borderfloor{ dir = 1 }, @@ -8547,8 +8547,8 @@ /area/shuttle/ccboat) "HV" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/bonesetter, -/obj/item/weapon/surgical/bonegel, +/obj/item/surgical/bonesetter, +/obj/item/surgical/bonegel, /obj/effect/floor_decal/borderfloorwhite{ dir = 8 }, @@ -8670,11 +8670,11 @@ dir = 8 }, /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/blood/OPlus{ +/obj/item/reagent_containers/blood/OPlus{ pixel_x = 4; pixel_y = 2 }, -/obj/item/weapon/reagent_containers/blood/OMinus{ +/obj/item/reagent_containers/blood/OMinus{ pixel_x = -5; pixel_y = -1 }, @@ -8702,7 +8702,7 @@ /obj/effect/floor_decal/corner/blue/bordercorner2{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; frequency = 1475; name = "Station Intercom (Security)"; @@ -8817,7 +8817,7 @@ /area/centcom/security) "IC" = ( /obj/structure/table/woodentable, -/obj/item/weapon/stamp/hos, +/obj/item/stamp/hos, /turf/simulated/floor/tiled/dark, /area/centcom/command) "IE" = ( @@ -8841,7 +8841,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/folder/red_hos, +/obj/item/folder/red_hos, /turf/simulated/floor/carpet, /area/centcom/command) "IH" = ( @@ -8851,7 +8851,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 4 }, @@ -8861,7 +8861,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/device/megaphone, +/obj/item/megaphone, /turf/simulated/floor/carpet, /area/centcom/command) "IM" = ( @@ -8872,14 +8872,14 @@ /obj/item/clothing/shoes/boots/tactical, /obj/item/clothing/suit/armor/tactical, /obj/item/clothing/under/tactical, -/obj/item/weapon/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, /obj/structure/closet{ desc = "It's a storage unit for standard-issue attire."; name = "tactical equipment" }, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/weapon/storage/backpack/dufflebag/syndie/med, -/obj/item/weapon/storage/backpack/satchel/sec, +/obj/item/storage/backpack/dufflebag/syndie/med, +/obj/item/storage/backpack/satchel/sec, /turf/simulated/floor/tiled/dark, /area/centcom/security) "IN" = ( @@ -8980,8 +8980,8 @@ "Ja" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/energy/gun/burst, -/obj/item/weapon/gun/energy/gun/burst, +/obj/item/gun/energy/gun/burst, +/obj/item/gun/energy/gun/burst, /turf/simulated/floor/tiled/dark, /area/centcom/security) "Jb" = ( @@ -9002,13 +9002,13 @@ "Jd" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/energy/lasercannon, -/obj/item/weapon/gun/energy/lasercannon, +/obj/item/gun/energy/lasercannon, +/obj/item/gun/energy/lasercannon, /turf/simulated/floor/tiled/dark, /area/centcom/security) "Je" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/green, +/obj/item/bedsheet/green, /obj/effect/floor_decal/borderfloorwhite{ dir = 5 }, @@ -9067,8 +9067,8 @@ /area/centcom/security) "Jm" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/box/bodybags, -/obj/item/weapon/storage/box/bodybags, +/obj/item/storage/box/bodybags, +/obj/item/storage/box/bodybags, /obj/effect/floor_decal/steeldecal/steel_decals9{ dir = 1 }, @@ -9086,11 +9086,11 @@ dir = 1; pixel_y = -16 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -1; pixel_y = 5 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled, /area/centcom/command) "Jp" = ( @@ -9107,8 +9107,8 @@ dir = 8 }, /obj/machinery/computer/transhuman/resleeving, -/obj/item/weapon/book/manual/resleeving, -/obj/item/weapon/storage/box/backup_kit, +/obj/item/book/manual/resleeving, +/obj/item/storage/box/backup_kit, /turf/simulated/floor/tiled, /area/centcom/control) "Jr" = ( @@ -9121,7 +9121,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/folder/white_cmo, +/obj/item/folder/white_cmo, /turf/simulated/floor/carpet, /area/centcom/command) "Jt" = ( @@ -9143,7 +9143,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -2; pixel_y = 2 }, @@ -9153,14 +9153,14 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/folder/white_rd, +/obj/item/folder/white_rd, /turf/simulated/floor/carpet, /area/centcom/command) "Jx" = ( /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 3 }, /turf/simulated/floor/carpet, @@ -9175,7 +9175,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/folder/yellow_ce, +/obj/item/folder/yellow_ce, /turf/simulated/floor/carpet, /area/centcom/command) "JD" = ( @@ -9293,7 +9293,7 @@ /area/centcom/security) "JN" = ( /obj/structure/table/reinforced, -/obj/item/weapon/folder/red_hos, +/obj/item/folder/red_hos, /turf/simulated/floor/tiled, /area/centcom/security) "JO" = ( @@ -9329,59 +9329,59 @@ /obj/structure/closet{ name = "robotics parts" }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, -/obj/item/device/assembly/prox_sensor{ +/obj/item/assembly/prox_sensor{ pixel_x = -8; pixel_y = 4 }, -/obj/item/device/assembly/prox_sensor{ +/obj/item/assembly/prox_sensor{ pixel_x = -8; pixel_y = 4 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ empty = 1; name = "First-Aid (empty)" }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ empty = 1; name = "First-Aid (empty)" }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ empty = 1; name = "First-Aid (empty)" }, -/obj/item/device/healthanalyzer, -/obj/item/device/healthanalyzer, -/obj/item/device/healthanalyzer, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, +/obj/item/healthanalyzer, +/obj/item/healthanalyzer, +/obj/item/healthanalyzer, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, /obj/item/stack/cable_coil, /obj/item/stack/cable_coil, /turf/simulated/floor/tiled, @@ -9443,9 +9443,9 @@ /area/centcom/main_hall) "Kg" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/donkpockets, -/obj/item/weapon/storage/box/donkpockets, -/obj/item/weapon/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/blue/border, /turf/simulated/floor/tiled/dark, @@ -9465,15 +9465,15 @@ dir = 4 }, /obj/structure/table/marble, -/obj/item/weapon/book/manual/chef_recipes, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/book/manual/chef_recipes, +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -3 }, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 3 }, -/obj/item/weapon/material/kitchen/rollingpin, -/obj/item/weapon/material/knife/butch, +/obj/item/material/kitchen/rollingpin, +/obj/item/material/knife/butch, /turf/simulated/floor/tiled/white, /area/centcom/bar) "Kj" = ( @@ -9554,7 +9554,7 @@ base_turf = /turf/simulated/floor/tiled/techfloor/grid }) "Kp" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/borderfloor{ dir = 8 }, @@ -9603,12 +9603,12 @@ /turf/simulated/floor/tiled, /area/centcom/holding) "Kt" = ( -/obj/item/weapon/storage/box/syringes{ +/obj/item/storage/box/syringes{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/box/beakers, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/storage/box/beakers, +/obj/item/reagent_containers/dropper, /obj/structure/table/glass, /obj/structure/reagent_dispensers/virusfood{ pixel_y = 28 @@ -9668,8 +9668,8 @@ /area/centcom/security) "KD" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /obj/effect/floor_decal/borderfloorwhite{ dir = 10 }, @@ -9687,8 +9687,8 @@ /area/centcom/control) "KG" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/firstaid/adv, -/obj/item/weapon/storage/firstaid/adv, +/obj/item/storage/firstaid/adv, +/obj/item/storage/firstaid/adv, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled/white, @@ -9787,32 +9787,32 @@ /area/centcom/command) "KV" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 3 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = -4 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8; pixel_y = 12 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = 12 }, @@ -9825,25 +9825,25 @@ /area/centcom/command) "KX" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = 8; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = -8; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = 8; pixel_y = 4 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_y = 4 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = -8; pixel_y = 4 }, @@ -9851,12 +9851,12 @@ /area/centcom/command) "KY" = ( /obj/structure/table/reinforced, -/obj/item/weapon/card/id/gold/captain/spare, +/obj/item/card/id/gold/captain/spare, /turf/simulated/floor/tiled, /area/centcom/control) "KZ" = ( /obj/structure/table/reinforced, -/obj/item/weapon/book/manual/security_space_law, +/obj/item/book/manual/wiki/security_space_law, /obj/effect/floor_decal/borderfloor{ dir = 8 }, @@ -9912,7 +9912,7 @@ /area/centcom/holding) "Lj" = ( /obj/structure/table/standard, -/obj/item/device/healthanalyzer, +/obj/item/healthanalyzer, /obj/item/stack/medical/bruise_pack{ pixel_x = -4; pixel_y = 3 @@ -9938,7 +9938,7 @@ /turf/simulated/floor/tiled, /area/centcom/terminal) "Ll" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled, /area/centcom/security) "Lm" = ( @@ -9967,12 +9967,12 @@ /area/centcom/security) "Lo" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/syringe/inaprovaline, -/obj/item/weapon/reagent_containers/syringe/inaprovaline{ +/obj/item/reagent_containers/syringe/inaprovaline, +/obj/item/reagent_containers/syringe/inaprovaline{ pixel_x = -2; pixel_y = 5 }, -/obj/item/weapon/reagent_containers/syringe/inaprovaline{ +/obj/item/reagent_containers/syringe/inaprovaline{ pixel_y = 10 }, /obj/effect/floor_decal/borderfloor, @@ -9991,7 +9991,7 @@ /obj/item/bodybag/cryobag{ pixel_x = 6 }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = 5; pixel_y = 5 }, @@ -10005,9 +10005,9 @@ /obj/structure/table/rack{ dir = 4 }, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, /obj/item/clothing/shoes/magboots, /obj/item/clothing/shoes/magboots, /obj/item/clothing/shoes/magboots, @@ -10039,7 +10039,7 @@ /area/centcom/restaurant) "Lw" = ( /obj/structure/table/reinforced, -/obj/item/weapon/book/manual/security_space_law, +/obj/item/book/manual/wiki/security_space_law, /turf/simulated/floor/tiled, /area/centcom/security) "Lx" = ( @@ -10104,7 +10104,7 @@ "LE" = ( /obj/structure/table/standard, /obj/machinery/recharger, -/obj/item/weapon/book/codex, +/obj/item/book/codex, /obj/machinery/recharger/wallcharger{ pixel_x = 4; pixel_y = 26 @@ -10327,7 +10327,7 @@ /area/centcom/medical) "Me" = ( /obj/structure/table/glass, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -1; pixel_y = 3 }, @@ -10345,11 +10345,11 @@ dir = 8; pixel_x = 16 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -1; pixel_y = 5 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled, /area/centcom/command) "Ml" = ( @@ -10393,7 +10393,7 @@ /area/centcom/security) "Mr" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/grilledcheese, +/obj/item/reagent_containers/food/snacks/grilledcheese, /turf/simulated/floor/wood, /area/centcom/restaurant) "Ms" = ( @@ -10549,18 +10549,18 @@ /obj/effect/floor_decal/corner/paleblue/border{ dir = 8 }, -/obj/item/weapon/backup_implanter{ +/obj/item/backup_implanter{ pixel_y = -8 }, -/obj/item/weapon/backup_implanter{ +/obj/item/backup_implanter{ pixel_y = 8 }, -/obj/item/weapon/backup_implanter, +/obj/item/backup_implanter, /turf/simulated/floor/tiled/white, /area/centcom/medical) "MJ" = ( /obj/structure/table/glass, -/obj/item/device/healthanalyzer/phasic, +/obj/item/healthanalyzer/phasic, /turf/simulated/floor/tiled/white, /area/centcom/medical) "MK" = ( @@ -10691,7 +10691,7 @@ /turf/simulated/floor/tiled/freezer, /area/centcom/bathroom) "Ne" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled/dark, /area/centcom/medical) "Nf" = ( @@ -10735,7 +10735,7 @@ /area/centcom/bathroom) "Nk" = ( /obj/structure/table/glass, -/obj/item/device/defib_kit/compact/loaded, +/obj/item/defib_kit/compact/loaded, /turf/simulated/floor/tiled/white, /area/centcom/medical) "Nl" = ( @@ -10763,8 +10763,8 @@ /area/centcom/living) "Nm" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/cups, -/obj/item/weapon/storage/box/cups, +/obj/item/storage/box/cups, +/obj/item/storage/box/cups, /obj/effect/floor_decal/borderfloorwhite{ dir = 4 }, @@ -10807,7 +10807,7 @@ /obj/effect/floor_decal/corner/blue/bordercorner2{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; frequency = 1475; name = "Station Intercom (Security)"; @@ -10847,12 +10847,12 @@ "Nt" = ( /obj/structure/table/standard, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/weapon/storage/box/teargas, -/obj/item/weapon/storage/box/teargas, +/obj/item/storage/box/teargas, +/obj/item/storage/box/teargas, /turf/simulated/floor/tiled/dark, /area/centcom/security) "Nw" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/structure/reagent_dispensers/peppertank{ pixel_x = 30 }, @@ -10926,7 +10926,7 @@ dir = 1 }, /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/ids, +/obj/item/storage/box/ids, /turf/simulated/floor/tiled, /area/centcom/command) "NH" = ( @@ -11007,7 +11007,7 @@ /area/centcom/security) "NP" = ( /obj/structure/table/standard, -/obj/item/weapon/soap, +/obj/item/soap, /obj/effect/floor_decal/borderfloorwhite{ dir = 10 }, @@ -11027,7 +11027,7 @@ /turf/simulated/floor/tiled/white, /area/centcom/bathroom) "NS" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; frequency = 1475; name = "Station Intercom (Security)"; @@ -11070,11 +11070,11 @@ /area/centcom/medical) "NW" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/ionrifle, -/obj/item/weapon/gun/energy/ionrifle, -/obj/item/weapon/gun/energy/ionrifle, -/obj/item/weapon/gun/energy/ionrifle, -/obj/item/weapon/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle, /obj/effect/floor_decal/industrial/outline/yellow, /obj/machinery/camera/network/crescent, /turf/simulated/floor/tiled/dark, @@ -11128,15 +11128,15 @@ "Od" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -2; pixel_y = -2 }, @@ -11232,7 +11232,7 @@ /area/centcom/bathroom) "Oq" = ( /obj/structure/table/reinforced, -/obj/item/device/camera, +/obj/item/camera, /obj/effect/floor_decal/borderfloor{ dir = 10 }, @@ -11264,8 +11264,8 @@ /area/centcom/terminal/shuttlefluff) "Ou" = ( /obj/structure/table/reinforced, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/gun/energy/taser, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/gun/energy/taser, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/blue/border, /turf/simulated/floor/tiled, @@ -11289,7 +11289,7 @@ }) "Ow" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/ids, +/obj/item/storage/box/ids, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/blue/border, /turf/simulated/floor/tiled, @@ -11345,11 +11345,11 @@ }) "OE" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/machinery/door/window/brigdoor{ dir = 2 }, @@ -11491,7 +11491,7 @@ /area/centcom/bathroom) "Pf" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/meatsteak, +/obj/item/reagent_containers/food/snacks/meatsteak, /turf/simulated/floor/wood, /area/centcom/restaurant) "Pg" = ( @@ -11576,7 +11576,7 @@ }) "Pq" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /obj/effect/floor_decal/borderfloorblack{ dir = 10 }, @@ -11611,9 +11611,9 @@ /area/shuttle/ccboat) "Pu" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /obj/effect/floor_decal/borderfloorwhite{ dir = 8 }, @@ -11626,19 +11626,19 @@ /obj/effect/floor_decal/corner/paleblue/bordercorner2{ dir = 8 }, -/obj/item/weapon/reagent_containers/blood/OPlus{ +/obj/item/reagent_containers/blood/OPlus{ pixel_x = 4; pixel_y = 2 }, -/obj/item/weapon/reagent_containers/blood/OPlus{ +/obj/item/reagent_containers/blood/OPlus{ pixel_x = 4; pixel_y = 2 }, -/obj/item/weapon/reagent_containers/blood/OPlus{ +/obj/item/reagent_containers/blood/OPlus{ pixel_x = 4; pixel_y = 2 }, -/obj/item/device/healthanalyzer/phasic, +/obj/item/healthanalyzer/phasic, /turf/simulated/floor/tiled/white, /area/centcom/medical) "Pv" = ( @@ -11916,9 +11916,9 @@ /area/centcom/main_hall) "Qa" = ( /obj/structure/table/steel, -/obj/item/weapon/autopsy_scanner, -/obj/item/weapon/surgical/scalpel, -/obj/item/weapon/surgical/cautery, +/obj/item/autopsy_scanner, +/obj/item/surgical/scalpel, +/obj/item/surgical/cautery, /obj/effect/floor_decal/steeldecal/steel_decals9, /obj/effect/floor_decal/steeldecal/steel_decals9{ dir = 8 @@ -12134,7 +12134,7 @@ /turf/simulated/floor/tiled, /area/centcom) "QD" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled, /area/centcom/bathroom) "QE" = ( @@ -12145,7 +12145,7 @@ /area/centcom) "QF" = ( /obj/structure/table/standard, -/obj/item/weapon/soap, +/obj/item/soap, /obj/effect/floor_decal/borderfloorwhite{ dir = 9 }, @@ -12213,8 +12213,8 @@ /area/centcom/restaurant) "QW" = ( /obj/structure/table/woodentable, -/obj/item/weapon/flame/lighter/zippo, -/obj/item/weapon/storage/fancy/cigarettes, +/obj/item/flame/lighter/zippo, +/obj/item/storage/fancy/cigarettes, /turf/simulated/floor/carpet, /area/centcom/restaurant) "QX" = ( @@ -12232,8 +12232,8 @@ "QY" = ( /obj/structure/table/rack, /obj/item/clothing/suit/armor/riot, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/shield/riot, +/obj/item/melee/baton/loaded, +/obj/item/shield/riot, /obj/item/clothing/head/helmet/riot, /obj/effect/floor_decal/borderfloorblack{ dir = 9 @@ -12260,8 +12260,8 @@ "Rb" = ( /obj/structure/table/rack, /obj/item/clothing/suit/armor/riot, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/shield/riot, +/obj/item/melee/baton/loaded, +/obj/item/shield/riot, /obj/item/clothing/head/helmet/riot, /obj/effect/floor_decal/borderfloorblack{ dir = 1 @@ -12288,8 +12288,8 @@ "Rh" = ( /obj/structure/table/rack, /obj/item/clothing/suit/armor/riot, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/shield/riot, +/obj/item/melee/baton/loaded, +/obj/item/shield/riot, /obj/item/clothing/head/helmet/riot, /obj/effect/floor_decal/borderfloorblack{ dir = 5 @@ -12347,7 +12347,7 @@ pixel_y = 30 }, /obj/structure/table/reinforced, -/obj/item/weapon/gun/projectile/shotgun/pump/combat{ +/obj/item/gun/projectile/shotgun/pump/combat{ name = "Discipline" }, /obj/effect/floor_decal/borderfloorblack{ @@ -12364,9 +12364,9 @@ pixel_y = 26 }, /obj/structure/table/reinforced, -/obj/item/weapon/stamp/ward, -/obj/item/weapon/stamp/denied, -/obj/item/device/binoculars, +/obj/item/stamp/ward, +/obj/item/stamp/denied, +/obj/item/binoculars, /obj/effect/floor_decal/borderfloorblack{ dir = 1 }, @@ -12376,7 +12376,7 @@ /turf/simulated/floor/tiled/dark, /area/centcom/security) "Ro" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; frequency = 1475; name = "Station Intercom (Security)"; @@ -12658,7 +12658,7 @@ /turf/simulated/floor/tiled/white, /area/centcom/control) "RY" = ( -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -6 }, /obj/structure/table/standard, @@ -12713,8 +12713,8 @@ dir = 5 }, /obj/structure/table/reinforced, -/obj/item/device/camera, -/obj/item/weapon/storage/box/ids, +/obj/item/camera, +/obj/item/storage/box/ids, /turf/simulated/floor/tiled/dark, /area/centcom/security{ name = "\improper CentCom Security Arrivals" @@ -12746,7 +12746,7 @@ /turf/simulated/floor/tiled, /area/centcom/control) "Sj" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /turf/simulated/floor/wood, @@ -12755,7 +12755,7 @@ /obj/structure/bed/chair/office/dark{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; frequency = 1475; name = "Station Intercom (Security)"; @@ -12817,8 +12817,8 @@ dir = 10 }, /obj/structure/table/reinforced, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/manual/security_space_law, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/wiki/security_space_law, /turf/simulated/floor/tiled/dark, /area/centcom/security{ name = "\improper CentCom Security Arrivals" @@ -12847,7 +12847,7 @@ /obj/effect/floor_decal/corner/paleblue/border{ dir = 4 }, -/obj/item/device/healthanalyzer/phasic, +/obj/item/healthanalyzer/phasic, /turf/simulated/floor/tiled/white, /area/centcom/medical) "Sx" = ( @@ -12947,7 +12947,7 @@ "SN" = ( /obj/effect/floor_decal/industrial/outline, /obj/structure/closet/secure_closet/nanotrasen_security, -/obj/item/weapon/storage/box/handcuffs, +/obj/item/storage/box/handcuffs, /turf/simulated/floor/tiled/dark, /area/centcom/security) "SO" = ( @@ -13047,7 +13047,7 @@ "SW" = ( /obj/effect/floor_decal/industrial/outline/grey, /obj/structure/closet/secure_closet/nanotrasen_warden, -/obj/item/weapon/storage/box/handcuffs, +/obj/item/storage/box/handcuffs, /turf/simulated/floor/tiled/dark, /area/centcom/security) "SX" = ( @@ -13060,8 +13060,8 @@ }) "SZ" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/hotdog, -/obj/item/weapon/reagent_containers/food/snacks/hotdog{ +/obj/item/reagent_containers/food/snacks/hotdog, +/obj/item/reagent_containers/food/snacks/hotdog{ pixel_x = -5; pixel_y = -3 }, @@ -13069,7 +13069,7 @@ /area/centcom/restaurant) "Ta" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/bigbiteburger, +/obj/item/reagent_containers/food/snacks/bigbiteburger, /turf/simulated/floor/wood, /area/centcom/restaurant) "Tb" = ( @@ -13108,7 +13108,7 @@ /area/centcom/command) "Tf" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/ashtray/glass, +/obj/item/material/ashtray/glass, /obj/machinery/camera/network/crescent{ dir = 4 }, @@ -13149,8 +13149,8 @@ "Tn" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/energy/sniperrifle, -/obj/item/weapon/gun/energy/sniperrifle, +/obj/item/gun/energy/sniperrifle, +/obj/item/gun/energy/sniperrifle, /turf/simulated/floor/tiled/dark, /area/centcom/security) "To" = ( @@ -13159,7 +13159,7 @@ /area/centcom/terminal/shuttlefluff) "Tq" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /turf/simulated/floor/tiled, /area/centcom/bathroom) "Tr" = ( @@ -13170,12 +13170,12 @@ dir = 4 }, /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the 'Space' from Space Cleaner and written in Chemistry. Scrawled on the back is, 'Okay, whoever filled this with polytrinic acid, it was only funny the first time. It was hard enough replacing the CMO's first cat!'"; name = "Chemistry Cleaner" }, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; @@ -13216,8 +13216,8 @@ "Tw" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/energy/netgun, -/obj/item/weapon/gun/energy/netgun, +/obj/item/gun/energy/netgun, +/obj/item/gun/energy/netgun, /turf/simulated/floor/tiled/dark, /area/centcom/security) "Tz" = ( @@ -13280,13 +13280,13 @@ "TJ" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/shield/riot, -/obj/item/weapon/shield/riot, -/obj/item/weapon/shield/riot, -/obj/item/weapon/shield/riot, -/obj/item/weapon/shield/riot, -/obj/item/weapon/shield/riot, -/obj/item/weapon/shield/riot, +/obj/item/shield/riot, +/obj/item/shield/riot, +/obj/item/shield/riot, +/obj/item/shield/riot, +/obj/item/shield/riot, +/obj/item/shield/riot, +/obj/item/shield/riot, /turf/simulated/floor/tiled/dark, /area/centcom/security) "TK" = ( @@ -13297,7 +13297,7 @@ /area/centcom/main_hall) "TL" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/ashtray/glass, +/obj/item/material/ashtray/glass, /turf/simulated/floor/carpet, /area/centcom/restaurant) "TM" = ( @@ -13513,7 +13513,7 @@ /area/centcom/terminal) "Ui" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/frags, +/obj/item/storage/box/frags, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/dark, /area/centcom/security) @@ -13554,8 +13554,8 @@ dir = 8 }, /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/donkpockets, -/obj/item/weapon/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, /turf/simulated/floor/tiled/dark, /area/centcom/security{ name = "\improper CentCom Security Arrivals" @@ -13588,7 +13588,7 @@ }) "Uq" = ( /obj/structure/table/standard, -/obj/item/weapon/soap, +/obj/item/soap, /obj/effect/floor_decal/borderfloorwhite{ dir = 10 }, @@ -13632,11 +13632,11 @@ /obj/effect/floor_decal/borderfloor{ dir = 1 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -1; pixel_y = 5 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/machinery/camera/network/crescent, /turf/simulated/floor/tiled, /area/centcom/command) @@ -13648,9 +13648,9 @@ dir = 10 }, /obj/structure/table/reinforced, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/gun/energy/taser, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, +/obj/item/gun/energy/taser, /turf/simulated/floor/tiled/dark, /area/centcom/security{ name = "\improper CentCom Security Arrivals" @@ -13675,9 +13675,9 @@ /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/blue/border, /obj/structure/closet/secure_closet/nanotrasen_security, -/obj/item/weapon/storage/box/handcuffs, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/shield/riot, +/obj/item/storage/box/handcuffs, +/obj/item/gun/energy/gun, +/obj/item/shield/riot, /turf/simulated/floor/tiled/dark, /area/centcom/security{ name = "\improper CentCom Security Arrivals" @@ -13692,9 +13692,9 @@ dir = 9 }, /obj/structure/closet/secure_closet/nanotrasen_security, -/obj/item/weapon/storage/box/handcuffs, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/shield/riot, +/obj/item/storage/box/handcuffs, +/obj/item/gun/energy/gun, +/obj/item/shield/riot, /turf/simulated/floor/tiled/dark, /area/centcom/security{ name = "\improper CentCom Security Arrivals" @@ -13736,8 +13736,8 @@ /turf/simulated/floor/tiled, /area/centcom/terminal) "UG" = ( -/obj/item/weapon/storage/box/evidence, -/obj/item/weapon/folder/red, +/obj/item/storage/box/evidence, +/obj/item/folder/red, /obj/structure/table/reinforced, /obj/effect/floor_decal/borderfloorblack{ dir = 8 @@ -13749,17 +13749,17 @@ /area/centcom/security) "UH" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/empslite{ +/obj/item/storage/box/empslite{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/box/flashbangs{ +/obj/item/storage/box/flashbangs{ pixel_x = -2; pixel_y = -2 }, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/weapon/storage/box/empslite, -/obj/item/weapon/storage/box/flashbangs{ +/obj/item/storage/box/empslite, +/obj/item/storage/box/flashbangs{ pixel_x = -2; pixel_y = -2 }, @@ -13767,22 +13767,22 @@ /area/centcom/security) "UJ" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /turf/simulated/floor/tiled/dark, /area/centcom/security) "UK" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/roastbeef, +/obj/item/reagent_containers/food/snacks/roastbeef, /turf/simulated/floor/wood, /area/centcom/restaurant) "UL" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/automatic/p90, -/obj/item/weapon/gun/projectile/automatic/p90, -/obj/item/weapon/gun/projectile/automatic/p90, -/obj/item/weapon/gun/projectile/automatic/p90, -/obj/item/weapon/gun/projectile/automatic/p90, +/obj/item/gun/projectile/automatic/p90, +/obj/item/gun/projectile/automatic/p90, +/obj/item/gun/projectile/automatic/p90, +/obj/item/gun/projectile/automatic/p90, +/obj/item/gun/projectile/automatic/p90, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/dark, /area/centcom/security) @@ -13816,12 +13816,12 @@ /area/centcom/restaurant) "UQ" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/pastatomato, +/obj/item/reagent_containers/food/snacks/pastatomato, /turf/simulated/floor/wood, /area/centcom/restaurant) "UR" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/meatballspagetti, +/obj/item/reagent_containers/food/snacks/meatballspagetti, /turf/simulated/floor/wood, /area/centcom/restaurant) "US" = ( @@ -13835,7 +13835,7 @@ /turf/simulated/floor/tiled, /area/centcom/terminal) "UW" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/orange/border, /turf/simulated/floor/tiled/dark, @@ -13848,39 +13848,39 @@ /area/centcom/restaurant) "UY" = ( /obj/structure/table/standard, -/obj/item/weapon/hand_labeler, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/glass/beaker/sulphuric, +/obj/item/hand_labeler, +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/sulphuric, /turf/simulated/floor/tiled, /area/centcom/control) "UZ" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 3 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = -4 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8; pixel_y = 12 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = 12 }, @@ -13935,13 +13935,13 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_x = -2; pixel_y = -1 }, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/storage/belt/utility, -/obj/item/weapon/storage/toolbox/electrical{ +/obj/item/tool/crowbar, +/obj/item/storage/belt/utility, +/obj/item/storage/toolbox/electrical{ pixel_x = 1; pixel_y = 6 }, @@ -14058,8 +14058,8 @@ }) "Vv" = ( /obj/structure/table/reinforced, -/obj/item/weapon/material/minihoe, -/obj/item/device/analyzer/plant_analyzer, +/obj/item/material/minihoe, +/obj/item/analyzer/plant_analyzer, /obj/effect/floor_decal/borderfloorblack{ dir = 1 }, @@ -14070,12 +14070,12 @@ /area/centcom/security) "Vx" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/kitsuneudon, +/obj/item/reagent_containers/food/snacks/kitsuneudon, /turf/simulated/floor/wood, /area/centcom/restaurant) "Vy" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/lasagna, +/obj/item/reagent_containers/food/snacks/lasagna, /turf/simulated/floor/wood, /area/centcom/restaurant) "Vz" = ( @@ -14083,7 +14083,7 @@ /turf/simulated/floor/tiled, /area/centcom/restaurant) "VA" = ( -/obj/item/device/camera{ +/obj/item/camera{ desc = "A one use - polaroid camera. 30 photos left."; name = "detectives camera"; pictures_left = 30; @@ -14184,7 +14184,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/folder/blue_hop, +/obj/item/folder/blue_hop, /turf/simulated/floor/carpet, /area/centcom/command) "VM" = ( @@ -14205,15 +14205,15 @@ /obj/effect/floor_decal/borderfloor{ dir = 1 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -1; pixel_y = 5 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled, /area/centcom/command) "VP" = ( -/obj/item/device/taperecorder, +/obj/item/taperecorder, /obj/structure/table/reinforced, /obj/effect/floor_decal/borderfloorblack{ dir = 10 @@ -14226,11 +14226,11 @@ "VQ" = ( /obj/structure/table/standard, /obj/effect/floor_decal/borderfloor, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -1; pixel_y = 5 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled, /area/centcom/command) "VR" = ( @@ -14245,24 +14245,24 @@ /obj/structure/reagent_dispensers/peppertank{ pixel_x = 30 }, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, /obj/machinery/recharger/wallcharger{ pixel_x = 4; pixel_y = 26 @@ -14437,7 +14437,7 @@ /turf/simulated/floor/tiled, /area/centcom/security) "Wl" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/lino, /area/centcom/restaurant) "Wm" = ( @@ -14614,7 +14614,7 @@ /obj/effect/floor_decal/borderfloorwhite/corner2, /obj/effect/floor_decal/corner/paleblue/bordercorner2, /obj/structure/table/glass, -/obj/item/weapon/storage/firstaid/o2, +/obj/item/storage/firstaid/o2, /turf/simulated/floor/tiled/white, /area/centcom/medical) "WE" = ( @@ -14780,7 +14780,7 @@ req_access = list(63); req_one_access = list(1) }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, @@ -14789,17 +14789,17 @@ /area/centcom/command) "Xb" = ( /obj/structure/table/rack, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/melee/energy/sword/blue, -/obj/item/weapon/melee/energy/sword/blue, -/obj/item/weapon/melee/energy/sword/blue, -/obj/item/weapon/melee/energy/sword/blue, -/obj/item/weapon/melee/energy/sword/blue, +/obj/item/melee/energy/sword/blue, +/obj/item/melee/energy/sword/blue, +/obj/item/melee/energy/sword/blue, +/obj/item/melee/energy/sword/blue, +/obj/item/melee/energy/sword/blue, /turf/simulated/floor/tiled/dark, /area/centcom/security) "Xc" = ( @@ -14885,7 +14885,7 @@ /area/centcom) "Xr" = ( /obj/structure/table/reinforced, -/obj/item/weapon/gun/energy/taser, +/obj/item/gun/energy/taser, /obj/machinery/recharger/wallcharger{ pixel_x = 4; pixel_y = 26 @@ -14895,7 +14895,7 @@ "Xs" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/energy/xray, +/obj/item/gun/energy/xray, /turf/simulated/floor/tiled/dark, /area/centcom/security) "Xt" = ( @@ -14928,7 +14928,7 @@ /area/centcom/security) "Xx" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/bottle/grenadine, +/obj/item/reagent_containers/food/drinks/bottle/grenadine, /turf/simulated/floor/lino, /area/centcom/restaurant) "Xy" = ( @@ -14936,7 +14936,7 @@ /area/centcom/command) "Xz" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/green, +/obj/item/bedsheet/green, /obj/effect/floor_decal/borderfloorwhite{ dir = 6 }, @@ -14959,7 +14959,7 @@ }) "XB" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cola, +/obj/item/reagent_containers/food/drinks/bottle/cola, /turf/simulated/floor/lino, /area/centcom/restaurant) "XD" = ( @@ -14971,12 +14971,12 @@ /area/centcom/security) "XE" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/bottle/space_mountain_wind, +/obj/item/reagent_containers/food/drinks/bottle/space_mountain_wind, /turf/simulated/floor/lino, /area/centcom/restaurant) "XF" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/toastedsandwich{ +/obj/item/reagent_containers/food/snacks/toastedsandwich{ pixel_y = 10 }, /turf/simulated/floor/lino, @@ -14989,8 +14989,8 @@ dir = 1 }, /obj/structure/table/woodentable, -/obj/item/device/radio/off, -/obj/item/device/megaphone, +/obj/item/radio/off, +/obj/item/megaphone, /obj/machinery/camera/network/crescent, /turf/simulated/floor/tiled/dark, /area/centcom/command) @@ -15067,8 +15067,8 @@ /area/centcom/security) "XU" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/donkpockets, -/obj/item/weapon/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, /obj/effect/floor_decal/borderfloorblack{ dir = 8 }, @@ -15079,7 +15079,7 @@ /area/centcom/security) "XV" = ( /obj/structure/table/reinforced, -/obj/item/device/taperecorder, +/obj/item/taperecorder, /turf/simulated/floor/tiled/dark, /area/centcom/security) "XW" = ( @@ -15132,7 +15132,7 @@ /area/centcom/terminal) "Yd" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /obj/machinery/camera/network/crescent, /obj/effect/floor_decal/borderfloorblack{ dir = 5 @@ -15205,17 +15205,17 @@ /area/centcom/restaurant) "Ys" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/seccarts{ +/obj/item/storage/box/seccarts{ pixel_x = 3; pixel_y = 2 }, -/obj/item/weapon/storage/box/handcuffs, -/obj/item/weapon/storage/box/flashbangs{ +/obj/item/storage/box/handcuffs, +/obj/item/storage/box/flashbangs{ pixel_x = -2; pixel_y = -2 }, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -15238,7 +15238,7 @@ /area/centcom/living) "Yu" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /obj/effect/floor_decal/borderfloorblack{ dir = 6 }, @@ -15261,11 +15261,11 @@ /area/centcom/security) "Yx" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/dark, /area/centcom/security) @@ -15286,7 +15286,7 @@ /area/centcom/main_hall) "Yz" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /obj/effect/floor_decal/borderfloorblack{ dir = 9 }, @@ -15378,11 +15378,11 @@ dir = 6 }, /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/flask/barflask{ +/obj/item/reagent_containers/food/drinks/flask/barflask{ pixel_x = -4; pixel_y = 8 }, -/obj/item/device/taperecorder, +/obj/item/taperecorder, /turf/simulated/floor/tiled/dark, /area/centcom/command) "YJ" = ( @@ -15408,7 +15408,7 @@ dir = 6 }, /obj/structure/table/glass, -/obj/item/weapon/storage/box/syringes, +/obj/item/storage/box/syringes, /turf/simulated/floor/tiled/white, /area/centcom/medical) "YN" = ( @@ -15524,9 +15524,9 @@ /area/centcom/bathroom) "Zh" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/food/drinks/flask/barflask, -/obj/item/weapon/reagent_containers/glass/rag, -/obj/item/weapon/reagent_containers/food/drinks/flask/vacuumflask, +/obj/item/reagent_containers/food/drinks/flask/barflask, +/obj/item/reagent_containers/glass/rag, +/obj/item/reagent_containers/food/drinks/flask/vacuumflask, /turf/simulated/floor/lino, /area/centcom/restaurant) "Zj" = ( @@ -15562,8 +15562,8 @@ /area/centcom/security) "Zp" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/pill_bottle/dice, -/obj/item/weapon/deck/cards, +/obj/item/storage/pill_bottle/dice, +/obj/item/deck/cards, /turf/simulated/floor/tiled/dark, /area/centcom/security) "Zq" = ( @@ -15664,7 +15664,7 @@ /turf/simulated/floor/tiled/dark, /area/centcom/security) "ZG" = ( -/obj/item/weapon/paper{ +/obj/item/paper{ info = "You're not supposed to be here."; name = "unnerving letter" }, @@ -15711,12 +15711,12 @@ /area/centcom/bar) "ZN" = ( /obj/structure/table/reinforced, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/screwdriver, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/screwdriver, -/obj/item/weapon/tool/wrench, +/obj/item/tool/crowbar, +/obj/item/tool/screwdriver, +/obj/item/tool/wrench, +/obj/item/tool/crowbar, +/obj/item/tool/screwdriver, +/obj/item/tool/wrench, /obj/effect/floor_decal/industrial/outline/blue, /turf/simulated/floor/tiled{ icon_state = "dark" diff --git a/maps/tether/submaps/tether_misc.dmm b/maps/tether/submaps/tether_misc.dmm index 539cdee54e8..cc263c9b1ca 100644 --- a/maps/tether/submaps/tether_misc.dmm +++ b/maps/tether/submaps/tether_misc.dmm @@ -751,7 +751,7 @@ /turf/simulated/floor/holofloor/wmarble, /area/holodeck/source_chess) "cn" = ( -/obj/item/weapon/bedsheet/rddouble, +/obj/item/bedsheet/rddouble, /obj/structure/bed/double/padded, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm3) @@ -943,24 +943,24 @@ /area/unknown/dorm5) "cY" = ( /obj/machinery/smartfridge/survival_pod, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/towel/random, +/obj/item/towel/random, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm5) "cZ" = ( @@ -995,24 +995,24 @@ /area/holodeck/source_courtroom) "df" = ( /obj/machinery/smartfridge/survival_pod, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/towel/random, +/obj/item/towel/random, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm6) "dg" = ( @@ -1155,7 +1155,7 @@ /turf/simulated/floor/holofloor/tiled, /area/holodeck/source_emptycourt) "dy" = ( -/obj/item/device/perfect_tele_beacon/stationary{ +/obj/item/perfect_tele_beacon/stationary{ tele_name = "Unknown"; tele_network = "unkfive" }, @@ -1163,7 +1163,7 @@ /area/unknown/dorm5) "dz" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/hopdouble, +/obj/item/bedsheet/hopdouble, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm5) "dA" = ( @@ -1210,7 +1210,7 @@ /turf/simulated/floor/holofloor/tiled, /area/holodeck/source_basketball) "dL" = ( -/obj/item/device/perfect_tele_beacon/stationary{ +/obj/item/perfect_tele_beacon/stationary{ tele_name = "Unknown"; tele_network = "unksix" }, @@ -1253,7 +1253,7 @@ /area/holodeck/source_thunderdomecourt) "dT" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/hopdouble, +/obj/item/bedsheet/hopdouble, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm6) "dU" = ( @@ -1269,7 +1269,7 @@ /obj/item/clothing/head/helmet/thunderdome, /obj/item/clothing/suit/armor/tdome/red, /obj/item/clothing/under/color/red, -/obj/item/weapon/holo/esword/red, +/obj/item/holo/esword/red, /obj/effect/floor_decal/corner/red{ dir = 5 }, @@ -1497,7 +1497,7 @@ /turf/simulated/floor/holofloor/tiled/dark, /area/holodeck/source_meetinghall) "eM" = ( -/obj/item/weapon/beach_ball, +/obj/item/beach_ball, /turf/simulated/floor/holofloor/beach/sand, /area/holodeck/source_beach) "eN" = ( @@ -1594,7 +1594,7 @@ /turf/simulated/floor/holofloor/tiled, /area/holodeck/source_basketball) "fa" = ( -/obj/item/weapon/beach_ball/holoball, +/obj/item/beach_ball/holoball, /obj/effect/floor_decal/corner/red{ dir = 10 }, @@ -1607,7 +1607,7 @@ /turf/simulated/floor/holofloor/tiled, /area/holodeck/source_basketball) "fc" = ( -/obj/item/weapon/inflatable_duck, +/obj/item/inflatable_duck, /turf/simulated/floor/holofloor/beach/sand, /area/holodeck/source_beach) "fd" = ( @@ -1819,7 +1819,7 @@ /obj/item/clothing/head/helmet/thunderdome, /obj/item/clothing/suit/armor/tdome/green, /obj/item/clothing/under/color/green, -/obj/item/weapon/holo/esword/green, +/obj/item/holo/esword/green, /obj/effect/floor_decal/corner/green{ dir = 10 }, @@ -1994,7 +1994,7 @@ /area/holodeck/holodorm/source_garden) "ho" = ( /obj/structure/table/holotable, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /obj/effect/floor_decal/corner/paleblue{ dir = 5 }, @@ -2238,8 +2238,8 @@ /area/space) "lh" = ( /obj/structure/table/woodentable/holotable, -/obj/item/weapon/dice/d12, -/obj/item/weapon/dice/d10, +/obj/item/dice/d12, +/obj/item/dice/d10, /turf/simulated/floor/holofloor/wood, /area/holodeck/source_game_room) "lu" = ( @@ -2439,7 +2439,7 @@ /turf/simulated/floor/holofloor/wood, /area/holodeck/source_chess) "rc" = ( -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/structure/bed/padded, /obj/structure/curtain/open/privacy, /obj/effect/floor_decal/corner/paleblue{ @@ -2536,8 +2536,8 @@ /area/holodeck/source_chess) "vY" = ( /obj/structure/table/woodentable/holotable, -/obj/item/weapon/dice, -/obj/item/weapon/dice/d4, +/obj/item/dice, +/obj/item/dice/d4, /turf/simulated/floor/holofloor/wood, /area/holodeck/source_game_room) "wa" = ( @@ -2587,7 +2587,7 @@ /turf/simulated/floor/holofloor/carpet, /area/holodeck/source_game_room) "yJ" = ( -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/structure/bed/padded, /obj/structure/curtain/open/privacy, /obj/effect/floor_decal/corner/paleblue/full{ @@ -2676,7 +2676,7 @@ /area/holodeck/source_chess) "Dw" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/snacks/chips, +/obj/item/reagent_containers/food/snacks/chips, /turf/unsimulated/beach/sand, /area/beach) "DJ" = ( @@ -2757,7 +2757,7 @@ /turf/simulated/floor/holofloor/carpet, /area/holodeck/source_game_room) "Gy" = ( -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/structure/bed/padded, /obj/structure/curtain/open/privacy, /obj/effect/floor_decal/corner/paleblue{ @@ -2804,12 +2804,12 @@ /area/holodeck/source_game_room) "Ik" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, /turf/unsimulated/beach/sand, /area/beach) "In" = ( @@ -2822,7 +2822,7 @@ /turf/space/transit/north, /area/space) "IF" = ( -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/structure/bed/padded, /obj/structure/curtain/open/privacy, /turf/simulated/floor/holofloor/tiled{ @@ -2939,7 +2939,7 @@ /turf/unsimulated/beach/sand, /area/beach) "No" = ( -/obj/item/weapon/beach_ball, +/obj/item/beach_ball, /turf/unsimulated/beach/sand, /area/beach) "Nt" = ( @@ -2972,8 +2972,8 @@ /area/holodeck/source_patient_ward) "NZ" = ( /obj/structure/table/woodentable/holotable, -/obj/item/weapon/dice/d100, -/obj/item/weapon/dice/d20, +/obj/item/dice/d100, +/obj/item/dice/d20, /turf/simulated/floor/holofloor/wood, /area/holodeck/source_game_room) "Oj" = ( @@ -3120,24 +3120,24 @@ /area/unknown/dorm4) "Sz" = ( /obj/machinery/smartfridge/survival_pod, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/towel/random, +/obj/item/towel/random, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm4) "SA" = ( @@ -3149,7 +3149,7 @@ /turf/simulated/shuttle/floor/alien, /area/unknown/dorm4) "SC" = ( -/obj/item/device/perfect_tele_beacon/stationary{ +/obj/item/perfect_tele_beacon/stationary{ tele_name = "Unknown"; tele_network = "unkfour" }, @@ -3157,7 +3157,7 @@ /area/unknown/dorm4) "SD" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/hopdouble, +/obj/item/bedsheet/hopdouble, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm4) "SE" = ( @@ -3208,7 +3208,7 @@ /turf/simulated/shuttle/floor/alienplating, /area/unknown/dorm4) "SX" = ( -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/structure/bed/padded, /obj/structure/curtain/open/privacy, /obj/effect/floor_decal/corner/paleblue/full{ @@ -3261,24 +3261,24 @@ /area/beach) "To" = ( /obj/machinery/smartfridge/survival_pod, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/towel/random, +/obj/item/towel/random, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm3) "Tp" = ( @@ -3290,7 +3290,7 @@ /turf/simulated/shuttle/floor/alien, /area/unknown/dorm3) "Tr" = ( -/obj/item/device/perfect_tele_beacon/stationary{ +/obj/item/perfect_tele_beacon/stationary{ tele_name = "Unknown"; tele_network = "unkthree" }, @@ -3399,24 +3399,24 @@ /area/unknown/dorm2) "TW" = ( /obj/machinery/smartfridge/survival_pod, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/towel/random, +/obj/item/towel/random, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm2) "TX" = ( @@ -3428,14 +3428,14 @@ /turf/simulated/shuttle/floor/alien, /area/unknown/dorm2) "Ub" = ( -/obj/item/device/perfect_tele_beacon/stationary{ +/obj/item/perfect_tele_beacon/stationary{ tele_name = "Unknown"; tele_network = "unktwo" }, /turf/simulated/shuttle/floor/alienplating, /area/unknown/dorm2) "Uc" = ( -/obj/item/weapon/bedsheet/rddouble, +/obj/item/bedsheet/rddouble, /obj/structure/bed/double/padded, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm2) @@ -3530,24 +3530,24 @@ /area/unknown/dorm1) "UJ" = ( /obj/machinery/smartfridge/survival_pod, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/towel/random, +/obj/item/towel/random, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm1) "UK" = ( @@ -3559,14 +3559,14 @@ /turf/simulated/shuttle/floor/alien, /area/unknown/dorm1) "UN" = ( -/obj/item/device/perfect_tele_beacon/stationary{ +/obj/item/perfect_tele_beacon/stationary{ tele_name = "Unknown"; tele_network = "unkone" }, /turf/simulated/shuttle/floor/alienplating, /area/unknown/dorm1) "UP" = ( -/obj/item/weapon/bedsheet/rddouble, +/obj/item/bedsheet/rddouble, /obj/structure/bed/double/padded, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm1) @@ -3618,7 +3618,7 @@ /turf/simulated/shuttle/floor/alienplating, /area/unknown/dorm1) "Vf" = ( -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/structure/bed/padded, /obj/structure/curtain/open/privacy, /obj/effect/floor_decal/corner/paleblue{ @@ -3674,7 +3674,7 @@ /area/centcom/simulated/main_hall) "Xs" = ( /obj/structure/table/woodentable/holotable, -/obj/item/weapon/dice/d8, +/obj/item/dice/d8, /turf/simulated/floor/holofloor/wood, /area/holodeck/source_game_room) "XO" = ( diff --git a/maps/tether/submaps/tether_underdark.dmm b/maps/tether/submaps/tether_underdark.dmm index 3f9cab4abbc..eb44fd6c5e3 100644 --- a/maps/tether/submaps/tether_underdark.dmm +++ b/maps/tether/submaps/tether_underdark.dmm @@ -112,7 +112,7 @@ /turf/simulated/floor/tiled/steel_dirty/virgo3b, /area/mine/explored/underdark) "au" = ( -/obj/item/weapon/newspaper{ +/obj/item/newspaper{ pixel_x = 4 }, /turf/simulated/floor/tiled/steel_dirty/virgo3b, @@ -177,7 +177,7 @@ /turf/simulated/floor/tiled/steel_dirty/virgo3b, /area/mine/explored/underdark) "aE" = ( -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /turf/simulated/floor/tiled/steel_dirty/virgo3b, /area/mine/explored/underdark) "aF" = ( @@ -222,7 +222,7 @@ /turf/simulated/floor/outdoors/dirt/virgo3b, /area/mine/explored/underdark) "aO" = ( -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /turf/simulated/floor/virgo3b, /area/mine/explored/underdark) "aP" = ( @@ -236,11 +236,11 @@ /turf/simulated/floor/tiled/steel_dirty/virgo3b, /area/mine/explored/underdark) "aR" = ( -/obj/item/weapon/bone, +/obj/item/bone, /turf/simulated/floor/outdoors/dirt/virgo3b, /area/mine/explored/underdark) "aS" = ( -/obj/item/weapon/bone, +/obj/item/bone, /turf/simulated/mineral/floor/virgo3b{ ignore_mapgen = 1 }, @@ -267,7 +267,7 @@ }, /area/mine/explored/underdark) "aW" = ( -/obj/item/weapon/bone/skull, +/obj/item/bone/skull, /turf/simulated/mineral/floor/virgo3b{ ignore_mapgen = 1 }, @@ -282,7 +282,7 @@ }, /area/mine/explored/underdark) "aY" = ( -/obj/item/weapon/bone, +/obj/item/bone, /obj/machinery/light/small{ icon_state = "bulb1"; dir = 4 diff --git a/maps/tether/submaps/underdark_pois/_templates.dm b/maps/tether/submaps/underdark_pois/_templates.dm index 4af0b5b29a2..d9dd4bc30ab 100644 --- a/maps/tether/submaps/underdark_pois/_templates.dm +++ b/maps/tether/submaps/underdark_pois/_templates.dm @@ -5,171 +5,171 @@ /datum/map_template/underdark/normal_mob name = "Underdark Normal Mob Spawn" - mappath = 'normal_mob.dmm' + mappath = "maps/tether/submaps/underdark_pois/normal_mob.dmm" cost = 5 /datum/map_template/underdark/hard_mob name = "Underdark Hard Mob Spawn" - mappath = 'hard_mob.dmm' + mappath = "maps/tether/submaps/underdark_pois/hard_mob.dmm" cost = 15 /datum/map_template/underdark/vault1 name = "Underdark Vault 1" - mappath = 'vault1.dmm' + mappath = "maps/tether/submaps/underdark_pois/vault1.dmm" cost = 10 /datum/map_template/underdark/vault2 name = "Underdark Vault 2" - mappath = 'vault2.dmm' + mappath = "maps/tether/submaps/underdark_pois/vault2.dmm" cost = 15 /datum/map_template/underdark/vault3 name = "Underdark Vault 3" - mappath = 'vault3.dmm' + mappath = "maps/tether/submaps/underdark_pois/vault3.dmm" cost = 10 /datum/map_template/underdark/guardedloot_normal name = "Underdark Guarded Loot Normal" - mappath = 'guardedloot_normal.dmm' + mappath = "maps/tether/submaps/underdark_pois/guardedloot_normal.dmm" cost = 10 /datum/map_template/underdark/guardedloot_hard name = "Underdark Guarded Loot Hard" - mappath = 'guardedloot_hard.dmm' + mappath = "maps/tether/submaps/underdark_pois/guardedloot_hard.dmm" cost = 15 /datum/map_template/underdark/guardedsample_normal name = "Underdark Guarded Sample Normal" //2x common-or-uncommon - mappath = 'guardedsample_normal.dmm' + mappath = "maps/tether/submaps/underdark_pois/guardedsample_normal.dmm" cost = 10 /datum/map_template/underdark/guardedsample_hard name = "Underdark Guarded Sample Hard" //uncommon-or-rare - mappath = 'guardedsample_hard.dmm' + mappath = "maps/tether/submaps/underdark_pois/guardedsample_hard.dmm" cost = 15 /datum/map_template/underdark/blaster name = "Underdark Blaster" - mappath = 'blaster.dmm' + mappath = "maps/tether/submaps/underdark_pois/blaster.dmm" cost = 10 /datum/map_template/underdark/mechwreck name = "Underdark Mech Wreck" - mappath = 'mechwreck.dmm' + mappath = "maps/tether/submaps/underdark_pois/mechwreck.dmm" cost = 15 allow_duplicates = FALSE /datum/map_template/underdark/abandonedshelter name = "Underdark Abandoned Shelter" - mappath = 'abandonedshelter.dmm' + mappath = "maps/tether/submaps/underdark_pois/abandonedshelter.dmm" cost = 15 allow_duplicates = FALSE /datum/map_template/underdark/deadminer name = "Underdark Dead Miner" - mappath = 'deadminer.dmm' + mappath = "maps/tether/submaps/underdark_pois/deadminer.dmm" cost = 15 allow_duplicates = FALSE /datum/map_template/underdark/underhall name = "Underdark Golden Hall" - mappath = 'goldhall.dmm' + mappath = "maps/tether/submaps/underdark_pois/goldhall.dmm" cost = 20 allow_duplicates = FALSE /datum/map_template/underdark/mechbay name = "Underdark Mech Bay" - mappath = 'mechbay.dmm' + mappath = "maps/tether/submaps/underdark_pois/mechbay.dmm" cost = 25 allow_duplicates = FALSE /datum/map_template/underdark/testsite name = "Underdark Test Site" - mappath = 'testsite.dmm' + mappath = "maps/tether/submaps/underdark_pois/testsite.dmm" cost = 20 allow_duplicates = FALSE /datum/map_template/underdark/corridor // Bob was a derp name = "Underdark Corridor" - mappath = 'Corridor.dmm' + mappath = "maps/tether/submaps/underdark_pois/Corridor.dmm" cost = 5 allow_duplicates = FALSE /datum/map_template/underdark/old_drone_hive name = "Underdark Old Drone Hive" - mappath = 'old_drone_hive.dmm' + mappath = "maps/tether/submaps/underdark_pois/old_drone_hive.dmm" cost = 15 /datum/map_template/underdark/phoron_rat_den name = "Underdark Phoron Rat Den" - mappath = 'phoron_rat_den.dmm' + mappath = "maps/tether/submaps/underdark_pois/phoron_rat_den.dmm" cost = 25 allow_duplicates = FALSE /datum/map_template/underdark/subterranean_lake name = "Underdark Underground Lake" - mappath = 'subterranean_lake.dmm' + mappath = "maps/tether/submaps/underdark_pois/subterranean_lake.dmm" cost = 5 /datum/map_template/underdark/spider_nest name = "Underdark Spider Nest" - mappath = 'spider_nest.dmm' + mappath = "maps/tether/submaps/underdark_pois/spider_nest.dmm" cost = 15 /datum/map_template/underdark/rykka_easter_egg // bark bark Rykka was here. <3 name = "Underdark GSD" - mappath = 'rykka_easter_egg.dmm' + mappath = "maps/tether/submaps/underdark_pois/rykka_easter_egg.dmm" cost = 5 allow_duplicates = FALSE /datum/map_template/underdark/tree_shrine name = "Underdark Tree" - mappath = 'tree_shrine.dmm' + mappath = "maps/tether/submaps/underdark_pois/tree_shrine.dmm" cost = 10 allow_duplicates = FALSE /datum/map_template/underdark/abandoned_outpost name = "Underdark Abandonded Outpost" - mappath = 'abandonded_outpost.dmm' + mappath = "maps/tether/submaps/underdark_pois/abandonded_outpost.dmm" cost = 45 allow_duplicates = FALSE discard_prob = 35 /datum/map_template/underdark/mimicry name = "Underdark Mimic Death" - mappath = 'mimicry.dmm' + mappath = "maps/tether/submaps/underdark_pois/mimicry.dmm" cost = 15 /datum/map_template/underdark/wolf_den name = "Underdark Wolf Den" - mappath = 'wolf_den.dmm' + mappath = "maps/tether/submaps/underdark_pois/wolf_den.dmm" cost = 15 /datum/map_template/underdark/puzzle_corridor name = "Underdark Puzzle Corridor" - mappath = 'puzzle_corridor.dmm' + mappath = "maps/tether/submaps/underdark_pois/puzzle_corridor.dmm" cost = 10 /* // Comment out unfinished/unbalanced POI's here /datum/map_template/underdark/rad_threat name = "Underdark Rad Threat" - mappath = 'rad_threat.dmm' + mappath = "maps/tether/submaps/underdark_pois/rad_threat.dmm" cost = 10 /datum/map_template/underdark/broken_engine name = "Underdark Broken Twin Engine" - mappath = 'broken_engine.dmm' + mappath = "maps/tether/submaps/underdark_pois/broken_engine.dmm" cost = 10 /datum/map_template/underdark/boss_mob name = "Underdark Boss Mob Spawn" - mappath = 'boss_mob.dmm' + mappath = "maps/tether/submaps/underdark_pois/boss_mob.dmm" cost = 60 allow_duplicates = FALSE /datum/map_template/underdark/whatever_treasure name = "Some Kinda Treasure" //A name, only visible to admins - mappath = 'hard_mob.dmm' //The .dmm file for this template (in this folder) + mappath = "maps/tether/submaps/underdark_pois/hard_mob.dmm" //The .dmm file for this template (in this folder" cost = 10 //How 'valuable' this template is */ diff --git a/maps/tether/submaps/underdark_pois/abandonded_outpost.dmm b/maps/tether/submaps/underdark_pois/abandonded_outpost.dmm index bdff135e980..265263673a2 100644 --- a/maps/tether/submaps/underdark_pois/abandonded_outpost.dmm +++ b/maps/tether/submaps/underdark_pois/abandonded_outpost.dmm @@ -322,21 +322,21 @@ /turf/simulated/mineral/floor/ignore_cavegen/virgo3b, /area/mine/explored/underdark) "bv" = ( -/obj/item/device/assembly/prox_sensor, +/obj/item/assembly/prox_sensor, /turf/simulated/floor/tiled/steel_dirty/virgo3b, /area/mine/explored/underdark) "bw" = ( -/obj/item/device/electronic_assembly/drone/genbot, +/obj/item/electronic_assembly/drone/genbot, /turf/simulated/floor/tiled/steel_dirty/virgo3b, /area/mine/explored/underdark) "bx" = ( /obj/structure/table/steel, -/obj/item/device/assembly/electronic_assembly, -/obj/item/weapon/circuitboard/aicore, +/obj/item/assembly/electronic_assembly, +/obj/item/circuitboard/aicore, /turf/simulated/floor/tiled/steel_dirty/virgo3b, /area/mine/explored/underdark) "by" = ( -/obj/item/device/assembly/signaler, +/obj/item/assembly/signaler, /turf/simulated/floor/tiled/steel_dirty/virgo3b, /area/mine/explored/underdark) "bz" = ( @@ -368,7 +368,7 @@ /turf/simulated/floor/tiled/steel_dirty/virgo3b, /area/mine/explored/underdark) "bE" = ( -/obj/item/device/geiger, +/obj/item/geiger, /turf/simulated/mineral/floor/ignore_cavegen/virgo3b, /area/mine/explored/underdark) "DS" = ( diff --git a/maps/tether/submaps/underdark_pois/abandonedshelter.dmm b/maps/tether/submaps/underdark_pois/abandonedshelter.dmm index c2e631b0252..30801f3687b 100644 --- a/maps/tether/submaps/underdark_pois/abandonedshelter.dmm +++ b/maps/tether/submaps/underdark_pois/abandonedshelter.dmm @@ -19,7 +19,7 @@ /area/mine/explored/underdark) "f" = ( /obj/structure/bed/pod, -/obj/item/weapon/bedsheet/mime, +/obj/item/bedsheet/mime, /turf/simulated/shuttle/floor/voidcraft/virgo3b, /area/mine/explored/underdark) "g" = ( diff --git a/maps/tether/submaps/underdark_pois/broken_engine.dmm b/maps/tether/submaps/underdark_pois/broken_engine.dmm index 17280d9195c..00fa07d8945 100644 --- a/maps/tether/submaps/underdark_pois/broken_engine.dmm +++ b/maps/tether/submaps/underdark_pois/broken_engine.dmm @@ -22,7 +22,7 @@ /turf/simulated/wall, /area/mine/explored/underdark) "g" = ( -/obj/item/device/geiger, +/obj/item/geiger, /turf/simulated/floor/tiled/steel_dirty/virgo3b, /area/mine/explored/underdark) "h" = ( diff --git a/maps/tether/submaps/underdark_pois/goldhall.dmm b/maps/tether/submaps/underdark_pois/goldhall.dmm index 4bbeb7fa002..ae3a4b8f6d8 100644 --- a/maps/tether/submaps/underdark_pois/goldhall.dmm +++ b/maps/tether/submaps/underdark_pois/goldhall.dmm @@ -13,7 +13,7 @@ /turf/simulated/floor/tiled/kafel_full/yellow/virgo3b, /area/mine/explored/underdark) "e" = ( -/obj/item/weapon/reagent_containers/food/condiment/ketchup, +/obj/item/reagent_containers/food/condiment/ketchup, /turf/simulated/floor/tiled/kafel_full/yellow/virgo3b, /area/mine/explored/underdark) "f" = ( @@ -23,7 +23,7 @@ /area/mine/explored/underdark) "g" = ( /obj/effect/decal/remains, -/obj/item/weapon/bluespace_crystal, +/obj/item/bluespace_crystal, /turf/simulated/floor/tiled/kafel_full/yellow/virgo3b, /area/mine/explored/underdark) diff --git a/maps/tether/submaps/underdark_pois/underdark_things.dm b/maps/tether/submaps/underdark_pois/underdark_things.dm index ba117d701c3..2697cfd9432 100644 --- a/maps/tether/submaps/underdark_pois/underdark_things.dm +++ b/maps/tether/submaps/underdark_pois/underdark_things.dm @@ -17,7 +17,7 @@ // Adds Phoron Wolf /mob/living/simple_mob/vore/wolf/phoron - faction = "underdark" + faction = FACTION_UNDERDARK movement_cooldown = -1.5 harm_intent_damage = 5 @@ -39,7 +39,7 @@ // Underdark mob spawners /obj/tether_away_spawner/underdark_drone_swarm name = "Underdark Drone Swarm Spawner" - faction = "underdark" + faction = FACTION_UNDERDARK atmos_comp = TRUE prob_spawn = 100 prob_fall = 10 @@ -50,7 +50,7 @@ /obj/tether_away_spawner/underdark_normal name = "Underdark Normal Spawner" - faction = "underdark" + faction = FACTION_UNDERDARK atmos_comp = TRUE prob_spawn = 100 prob_fall = 50 @@ -64,7 +64,7 @@ /obj/tether_away_spawner/underdark_hard name = "Underdark Hard Spawner" - faction = "underdark" + faction = FACTION_UNDERDARK atmos_comp = TRUE prob_spawn = 100 prob_fall = 50 @@ -77,7 +77,7 @@ /obj/tether_away_spawner/underdark_boss name = "Underdark Boss Spawner" - faction = "underdark" + faction = FACTION_UNDERDARK atmos_comp = TRUE prob_spawn = 100 prob_fall = 100 diff --git a/maps/tether/tether-01-surface1.dmm b/maps/tether/tether-01-surface1.dmm index e477ac5dbc0..52a2a55bdcf 100644 --- a/maps/tether/tether-01-surface1.dmm +++ b/maps/tether/tether-01-surface1.dmm @@ -206,16 +206,16 @@ /area/tether/surfacebase/medical/paramed) "aay" = ( /obj/structure/table/rack, -/obj/item/device/gps/medical{ +/obj/item/gps/medical{ pixel_y = 3 }, -/obj/item/device/gps/medical{ +/obj/item/gps/medical{ pixel_x = -3 }, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = 2 }, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = -1; pixel_y = -3 }, @@ -365,7 +365,7 @@ /area/tether/surfacebase/medical/centralstairwell) "aaJ" = ( /obj/structure/table/woodentable, -/obj/item/weapon/folder/white, +/obj/item/folder/white, /turf/simulated/floor/carpet/blue, /area/tether/surfacebase/medical/mentalhealth) "aaK" = ( @@ -379,8 +379,8 @@ /area/tether/surfacebase/medical/paramed) "aaL" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/toolbox/mechanical, -/obj/item/device/multitool, +/obj/item/storage/toolbox/mechanical, +/obj/item/multitool, /obj/effect/floor_decal/corner/paleblue{ dir = 9 }, @@ -487,11 +487,11 @@ desc = "A large cabinet with hard copy medical records."; name = "Medical Records" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 1; pixel_y = 24 }, @@ -503,7 +503,7 @@ /obj/item/clothing/suit/space/void/medical/emt, /obj/item/clothing/mask/breath, /obj/item/clothing/head/helmet/space/void/medical/emt, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -641,7 +641,7 @@ /area/tether/surfacebase/surface_one_hall) "abd" = ( /obj/structure/table/rack, -/obj/item/weapon/rig/medical/equipped, +/obj/item/rig/medical/equipped, /obj/effect/floor_decal/corner/paleblue{ dir = 6 }, @@ -806,7 +806,7 @@ /turf/simulated/floor/tiled/dark, /area/tether/surfacebase/medical/paramed) "abp" = ( -/obj/item/weapon/storage/secure/safe{ +/obj/item/storage/secure/safe{ pixel_y = 32 }, /turf/simulated/floor/wood, @@ -1038,10 +1038,10 @@ /area/maintenance/lower/mining_eva) "abU" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = 4 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /turf/simulated/floor/carpet/blue, @@ -1145,13 +1145,13 @@ /area/tether/surfacebase/medical/mentalhealth) "acd" = ( /obj/structure/table/rack, -/obj/item/device/suit_cooling_unit{ +/obj/item/suit_cooling_unit{ pixel_y = -5 }, -/obj/item/device/suit_cooling_unit{ +/obj/item/suit_cooling_unit{ pixel_y = -5 }, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 8; pixel_x = -24 }, @@ -1242,7 +1242,7 @@ /area/tether/surfacebase/medical/mentalhealth) "acn" = ( /obj/structure/table/rack, -/obj/item/device/defib_kit/compact/loaded, +/obj/item/defib_kit/compact/loaded, /obj/effect/floor_decal/corner/paleblue{ dir = 9 }, @@ -1408,7 +1408,7 @@ /area/tether/surfacebase/lowernorthhall) "acC" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = -5; pixel_y = 4 }, @@ -1807,7 +1807,7 @@ /obj/structure/table/rack, /obj/item/clothing/mask/gas, /obj/item/clothing/suit/storage/hooded/wintercoat, -/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, @@ -1923,10 +1923,10 @@ /area/tether/surfacebase/medical/mentalhealth) "adB" = ( /obj/structure/bookcase, -/obj/item/weapon/book/manual/anomaly_spectroscopy, -/obj/item/weapon/book/manual/anomaly_testing, -/obj/item/weapon/book/manual/materials_chemistry_analysis, -/obj/item/weapon/book/manual/resleeving, +/obj/item/book/manual/anomaly_spectroscopy, +/obj/item/book/manual/anomaly_testing, +/obj/item/book/manual/materials_chemistry_analysis, +/obj/item/book/manual/resleeving, /turf/simulated/floor/wood, /area/tether/surfacebase/medical/mentalhealth) "adC" = ( @@ -1973,10 +1973,10 @@ /area/tether/surfacebase/medical/paramed) "adE" = ( /obj/structure/bookcase, -/obj/item/weapon/book/manual, -/obj/item/weapon/book/manual/command_guide, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/manual/standard_operating_procedure, +/obj/item/book/manual, +/obj/item/book/manual/command_guide, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/standard_operating_procedure, /turf/simulated/floor/wood, /area/tether/surfacebase/medical/mentalhealth) "adF" = ( @@ -2458,7 +2458,7 @@ /area/tether/surfacebase/medical/mentalhealth) "ael" = ( /obj/structure/table/woodentable, -/obj/item/weapon/clipboard, +/obj/item/clipboard, /obj/machinery/light, /turf/simulated/floor/carpet/blue, /area/tether/surfacebase/medical/mentalhealth) @@ -3321,7 +3321,7 @@ /area/rnd/hardstorage) "afB" = ( /obj/structure/table/glass, -/obj/item/device/radio{ +/obj/item/radio{ anchored = 1; canhear_range = 7; frequency = 1487; @@ -3345,9 +3345,9 @@ /area/maintenance/lower/mining_eva) "afD" = ( /obj/structure/table/glass, -/obj/item/weapon/paper_bin, -/obj/item/weapon/folder/white, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/folder/white, +/obj/item/pen, /turf/simulated/floor/tiled/white, /area/medical/virology) "afE" = ( @@ -3382,7 +3382,7 @@ /turf/simulated/floor/maglev, /area/tether/surfacebase/tram) "afI" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -3742,16 +3742,16 @@ /obj/structure/table/rack, /obj/item/clothing/mask/gas, /obj/item/clothing/suit/storage/hooded/wintercoat/science, -/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, /obj/item/clothing/mask/gas, /obj/item/clothing/suit/storage/hooded/wintercoat/science, -/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, /turf/simulated/floor/tiled, /area/rnd/xenoarch_storage) "agt" = ( /obj/structure/table/rack, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, /turf/simulated/floor/tiled, /area/rnd/xenoarch_storage) "agu" = ( @@ -3891,7 +3891,7 @@ /area/storage/primary) "agL" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/beakers, +/obj/item/storage/box/beakers, /obj/effect/floor_decal/borderfloor{ dir = 9 }, @@ -3954,7 +3954,7 @@ /area/maintenance/lower/trash_pit) "agR" = ( /obj/structure/table/glass, -/obj/item/weapon/tool/screwdriver, +/obj/item/tool/screwdriver, /obj/effect/floor_decal/borderfloor{ dir = 1 }, @@ -3982,15 +3982,15 @@ /area/storage/surface_eva) "agV" = ( /obj/structure/closet/crate, -/obj/item/weapon/grenade/chem_grenade, -/obj/item/weapon/grenade/chem_grenade, -/obj/item/weapon/grenade/chem_grenade, -/obj/item/device/assembly/timer, -/obj/item/device/assembly/timer, -/obj/item/device/assembly/timer, -/obj/item/device/assembly/igniter, -/obj/item/device/assembly/igniter, -/obj/item/device/assembly/igniter, +/obj/item/grenade/chem_grenade, +/obj/item/grenade/chem_grenade, +/obj/item/grenade/chem_grenade, +/obj/item/assembly/timer, +/obj/item/assembly/timer, +/obj/item/assembly/timer, +/obj/item/assembly/igniter, +/obj/item/assembly/igniter, +/obj/item/assembly/igniter, /obj/structure/cable/green{ icon_state = "0-2" }, @@ -4749,8 +4749,8 @@ /obj/effect/floor_decal/industrial/warning/dust{ dir = 1 }, -/obj/item/weapon/storage/toolbox/electrical, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/electrical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/floor/tiled, /area/rnd/testingroom) "ail" = ( @@ -4758,12 +4758,12 @@ /obj/effect/floor_decal/industrial/warning/dust{ dir = 1 }, -/obj/item/device/assembly/signaler, -/obj/item/device/assembly/prox_sensor, -/obj/item/device/assembly/signaler, -/obj/item/device/assembly/timer, -/obj/item/device/assembly/voice, -/obj/item/device/radio/electropack, +/obj/item/assembly/signaler, +/obj/item/assembly/prox_sensor, +/obj/item/assembly/signaler, +/obj/item/assembly/timer, +/obj/item/assembly/voice, +/obj/item/radio/electropack, /turf/simulated/floor/tiled, /area/rnd/testingroom) "aim" = ( @@ -4800,7 +4800,7 @@ /area/rnd/testingroom) "aip" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/beakers, +/obj/item/storage/box/beakers, /obj/item/clothing/glasses/science, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 @@ -4811,7 +4811,7 @@ /obj/effect/floor_decal/corner/mauve/border{ dir = 8 }, -/obj/item/weapon/storage/fancy/vials, +/obj/item/storage/fancy/vials, /turf/simulated/floor/tiled/white, /area/rnd/chemistry_lab) "aiq" = ( @@ -4931,9 +4931,9 @@ /area/rnd/testingroom) "aiG" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/assembly/infra, -/obj/item/device/assembly/igniter, -/obj/item/device/assembly/igniter, +/obj/item/assembly/infra, +/obj/item/assembly/igniter, +/obj/item/assembly/igniter, /turf/simulated/floor/tiled, /area/rnd/testingroom) "aiH" = ( @@ -4960,15 +4960,15 @@ /area/rnd/chemistry_lab) "aiJ" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/syringes, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/storage/box/syringes, +/obj/item/reagent_containers/spray/cleaner, /obj/effect/floor_decal/borderfloor{ dir = 10 }, /obj/effect/floor_decal/corner/mauve/border{ dir = 10 }, -/obj/item/device/reagent_scanner, +/obj/item/reagent_scanner, /turf/simulated/floor/tiled/white, /area/rnd/chemistry_lab) "aiK" = ( @@ -4980,8 +4980,8 @@ /area/rnd/chemistry_lab) "aiL" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/dropper, /obj/machinery/firealarm{ dir = 1; pixel_y = -25 @@ -4992,7 +4992,7 @@ /area/rnd/chemistry_lab) "aiM" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/beakers{ +/obj/item/storage/box/beakers{ pixel_x = 2; pixel_y = 2 }, @@ -5485,7 +5485,7 @@ /area/engineering/atmos) "ajz" = ( /obj/structure/table/woodentable, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -5510,7 +5510,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals7{ dir = 9 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -6069,7 +6069,7 @@ dir = 4 }, /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -24 @@ -6194,7 +6194,7 @@ /turf/simulated/floor/reinforced, /area/rnd/testingroom) "akU" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -6796,8 +6796,8 @@ /area/maintenance/lower/xenoflora) "alL" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/radio, -/obj/item/device/radio, +/obj/item/radio, +/obj/item/radio, /turf/simulated/floor/tiled, /area/rnd/testingroom) "alM" = ( @@ -7096,7 +7096,7 @@ /area/storage/primary) "amm" = ( /obj/machinery/hologram/holopad, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -7186,7 +7186,7 @@ "amv" = ( /obj/effect/floor_decal/industrial/warning/dust, /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -30 @@ -7302,7 +7302,7 @@ /turf/simulated/floor/tiled, /area/storage/primary) "amH" = ( -/obj/item/weapon/stool, +/obj/item/stool, /obj/effect/landmark/start{ name = "Assistant" }, @@ -7712,17 +7712,17 @@ "anq" = ( /obj/structure/catwalk, /obj/effect/floor_decal/rust, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer{ +/obj/item/reagent_containers/food/drinks/bottle/small/beer{ pixel_y = 13 }, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer{ +/obj/item/reagent_containers/food/drinks/bottle/small/beer{ pixel_x = 9 }, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer{ +/obj/item/reagent_containers/food/drinks/bottle/small/beer{ pixel_x = -7; pixel_y = -7 }, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer{ +/obj/item/reagent_containers/food/drinks/bottle/small/beer{ pixel_x = -10; pixel_y = 5 }, @@ -7933,7 +7933,7 @@ /obj/effect/floor_decal/corner/red/bordercorner2{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -8055,7 +8055,7 @@ dir = 4 }, /obj/effect/floor_decal/steeldecal/steel_decals7, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -8268,8 +8268,8 @@ /area/tether/surfacebase/emergency_storage/atrium) "aoo" = ( /obj/structure/table/standard, -/obj/item/device/t_scanner, -/obj/item/weapon/storage/briefcase/inflatable, +/obj/item/t_scanner, +/obj/item/storage/briefcase/inflatable, /obj/random/maintenance/cargo, /turf/simulated/floor/tiled/techfloor, /area/tether/surfacebase/emergency_storage/atrium) @@ -8371,7 +8371,7 @@ /obj/machinery/door/window/southleft, /obj/item/clothing/mask/gas, /obj/item/clothing/suit/storage/hooded/wintercoat, -/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, /obj/structure/sign/nosmoking_2{ pixel_y = 30 }, @@ -8391,7 +8391,7 @@ /obj/machinery/door/window/southright, /obj/item/clothing/mask/gas, /obj/item/clothing/suit/storage/hooded/wintercoat, -/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, /turf/simulated/floor/tiled/dark, /area/storage/surface_eva) "aoA" = ( @@ -8403,10 +8403,10 @@ /obj/machinery/light{ dir = 4 }, -/obj/item/weapon/shovel, -/obj/item/weapon/shovel, -/obj/item/weapon/soap, -/obj/item/device/radio/intercom{ +/obj/item/shovel, +/obj/item/shovel, +/obj/item/soap, +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -8910,8 +8910,8 @@ /area/vacant/vacant_site) "apq" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/fancy/crayons, -/obj/item/weapon/storage/fancy/crayons, +/obj/item/storage/fancy/crayons, +/obj/item/storage/fancy/crayons, /turf/simulated/floor/tiled, /area/storage/art) "apr" = ( @@ -8935,7 +8935,7 @@ /obj/structure/table/standard, /obj/item/stack/cable_coil/random, /obj/item/stack/cable_coil/random, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -9245,11 +9245,11 @@ /area/vacant/vacant_site) "apY" = ( /obj/structure/table/standard, -/obj/item/device/camera_film{ +/obj/item/camera_film{ pixel_x = -2; pixel_y = -2 }, -/obj/item/device/camera_film{ +/obj/item/camera_film{ pixel_x = 2; pixel_y = 2 }, @@ -9268,8 +9268,8 @@ /area/storage/art) "aqa" = ( /obj/structure/table/standard, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, +/obj/item/packageWrap, +/obj/item/packageWrap, /obj/machinery/light_switch{ dir = 8; pixel_x = 28 @@ -9430,7 +9430,7 @@ pixel_x = 3; pixel_y = -7 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, @@ -9438,11 +9438,11 @@ pixel_x = 3; pixel_y = -7 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_x = -2; pixel_y = -1 }, @@ -9461,14 +9461,14 @@ /turf/simulated/floor/tiled/dark, /area/storage/surface_eva) "aqs" = ( -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 6 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_y = 3 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = -3 }, /obj/structure/table/reinforced, @@ -9491,7 +9491,7 @@ /obj/machinery/door/window/northleft, /obj/item/clothing/mask/gas, /obj/item/clothing/suit/storage/hooded/wintercoat, -/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, /obj/structure/sign/fire{ pixel_y = -32 }, @@ -9509,7 +9509,7 @@ /obj/machinery/door/window/northright, /obj/item/clothing/mask/gas, /obj/item/clothing/suit/storage/hooded/wintercoat, -/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, /turf/simulated/floor/tiled/dark, /area/storage/surface_eva) "aqv" = ( @@ -9518,17 +9518,17 @@ dir = 1 }, /obj/effect/floor_decal/industrial/warning, -/obj/item/weapon/tool/crowbar/red, -/obj/item/weapon/tool/crowbar/red, -/obj/item/weapon/tool/crowbar/red, -/obj/item/weapon/tool/crowbar/red, -/obj/item/weapon/tool/crowbar/red, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, +/obj/item/tool/crowbar/red, +/obj/item/tool/crowbar/red, +/obj/item/tool/crowbar/red, +/obj/item/tool/crowbar/red, +/obj/item/tool/crowbar/red, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/item/radio/off, /obj/machinery/alarm{ dir = 1; pixel_y = -22 @@ -9602,8 +9602,8 @@ /area/vacant/vacant_site) "aqB" = ( /obj/structure/table/standard, -/obj/item/device/camera, -/obj/item/device/camera{ +/obj/item/camera, +/obj/item/camera{ pixel_x = 3; pixel_y = -4 }, @@ -9632,8 +9632,8 @@ /area/storage/art) "aqE" = ( /obj/structure/table/standard, -/obj/item/weapon/hand_labeler, -/obj/item/weapon/hand_labeler, +/obj/item/hand_labeler, +/obj/item/hand_labeler, /obj/machinery/power/apc{ dir = 4; name = "east bump"; @@ -9654,8 +9654,8 @@ pixel_y = -25 }, /obj/structure/table/steel, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, @@ -9664,8 +9664,8 @@ "aqH" = ( /obj/machinery/light/small, /obj/structure/mopbucket, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/mop, +/obj/item/reagent_containers/glass/bucket, +/obj/item/mop, /turf/simulated/floor/tiled, /area/tether/surfacebase/north_stairs_one) "aqI" = ( @@ -9866,8 +9866,8 @@ /obj/structure/table/standard, /obj/item/stack/cable_coil/random, /obj/item/stack/cable_coil/random, -/obj/item/device/taperecorder, -/obj/item/device/taperecorder, +/obj/item/taperecorder, +/obj/item/taperecorder, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, @@ -9896,7 +9896,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals7{ dir = 6 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -9952,8 +9952,8 @@ /area/crew_quarters/visitor_laundry) "arn" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/toolbox/emergency, -/obj/item/device/radio/emergency, +/obj/item/storage/toolbox/emergency, +/obj/item/radio/emergency, /obj/machinery/recharger, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/first_aid_west) @@ -10010,8 +10010,8 @@ /area/hallway/lower/first_west) "art" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box, -/obj/item/weapon/storage/box{ +/obj/item/storage/box, +/obj/item/storage/box{ pixel_x = 3; pixel_y = 3 }, @@ -10019,24 +10019,24 @@ dir = 1; pixel_y = -22 }, -/obj/item/weapon/tape_roll{ +/obj/item/tape_roll{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/tape_roll, +/obj/item/tape_roll, /turf/simulated/floor/tiled, /area/storage/art) "aru" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen/blue{ +/obj/item/pen/blue{ pixel_x = -5; pixel_y = -1 }, -/obj/item/weapon/pen/red{ +/obj/item/pen/red{ pixel_x = -1; pixel_y = 3 }, @@ -10126,14 +10126,14 @@ "arE" = ( /obj/structure/table/rack, /obj/item/bodybag/cryobag, -/obj/item/weapon/tool/crowbar, +/obj/item/tool/crowbar, /obj/machinery/light{ dir = 8 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 }, -/obj/item/device/defib_kit/loaded, +/obj/item/defib_kit/loaded, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/first_aid_west) "arF" = ( @@ -10214,7 +10214,7 @@ /obj/structure/cable{ icon_state = "2-8" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -10276,7 +10276,7 @@ /area/maintenance/lower/vacant_site) "arP" = ( /obj/structure/table/glass, -/obj/item/device/radio/phone/medbay{ +/obj/item/radio/phone/medbay{ name = "Medical Emergency Phone" }, /obj/machinery/atmospherics/unary/vent_pump/on{ @@ -10289,7 +10289,7 @@ /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/first_aid_west) "arQ" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /obj/machinery/camera/network/medbay{ @@ -10300,7 +10300,7 @@ "arR" = ( /obj/structure/table/glass, /obj/random/medical/lite, -/obj/item/device/radio/intercom/department/medbay, +/obj/item/radio/intercom/department/medbay, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/first_aid_west) "arS" = ( @@ -10473,7 +10473,7 @@ /turf/simulated/floor/tiled, /area/hallway/lower/first_west) "ask" = ( -/obj/item/device/radio/beacon, +/obj/item/radio/beacon, /turf/simulated/floor/tiled, /area/hallway/lower/first_west) "asl" = ( @@ -10607,7 +10607,7 @@ /obj/effect/floor_decal/corner/lightgrey/border{ dir = 9 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -10674,20 +10674,20 @@ /turf/simulated/wall/r_wall, /area/rnd/xenoarch_storage) "asA" = ( -/obj/item/weapon/storage/excavation, -/obj/item/weapon/pickaxe, -/obj/item/weapon/tool/wrench, -/obj/item/device/measuring_tape, +/obj/item/storage/excavation, +/obj/item/pickaxe, +/obj/item/tool/wrench, +/obj/item/measuring_tape, /obj/item/stack/flag/yellow, /obj/structure/table/steel, /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/tiled, /area/rnd/xenoarch_storage) "asB" = ( -/obj/item/weapon/storage/excavation, -/obj/item/weapon/pickaxe, -/obj/item/weapon/tool/wrench, -/obj/item/device/measuring_tape, +/obj/item/storage/excavation, +/obj/item/pickaxe, +/obj/item/tool/wrench, +/obj/item/measuring_tape, /obj/item/stack/flag/yellow, /obj/structure/table/steel, /obj/machinery/atmospherics/unary/vent_scrubber/on, @@ -10941,7 +10941,7 @@ /obj/random/maintenance/cargo, /obj/random/maintenance/clean, /obj/random/maintenance/research, -/obj/item/weapon/pickaxe, +/obj/item/pickaxe, /turf/simulated/floor/plating, /area/vacant/vacant_site) "atc" = ( @@ -11206,7 +11206,7 @@ /area/tether/surfacebase/tram) "atD" = ( /obj/structure/closet/excavation, -/obj/item/weapon/melee/umbrella/random, +/obj/item/melee/umbrella/random, /turf/simulated/floor/tiled, /area/rnd/xenoarch_storage) "atE" = ( @@ -11508,7 +11508,7 @@ /area/rnd/xenoarch_storage) "auh" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/belt/archaeology, +/obj/item/storage/belt/archaeology, /obj/item/clothing/suit/space/anomaly, /obj/item/clothing/head/helmet/space/anomaly, /obj/item/clothing/mask/breath, @@ -11520,7 +11520,7 @@ /obj/structure/cable/green{ icon_state = "0-8" }, -/obj/item/weapon/storage/belt/archaeology, +/obj/item/storage/belt/archaeology, /obj/item/clothing/suit/space/anomaly, /obj/item/clothing/head/helmet/space/anomaly, /obj/item/clothing/mask/breath, @@ -12386,8 +12386,8 @@ dir = 5 }, /obj/structure/bookcase, -/obj/item/weapon/book/manual/standard_operating_procedure, -/obj/item/weapon/book/manual/security_space_law, +/obj/item/book/manual/standard_operating_procedure, +/obj/item/book/manual/wiki/security_space_law, /turf/simulated/floor/tiled, /area/security/checkpoint) "avA" = ( @@ -12580,10 +12580,6 @@ /obj/structure/catwalk, /turf/simulated/floor/plating, /area/maintenance/lower/solars) -"avQ" = ( -/obj/machinery/disease2/isolator, -/turf/simulated/floor/tiled/white, -/area/medical/virology) "avR" = ( /obj/machinery/atmospherics/pipe/simple/hidden/yellow, /obj/structure/disposalpipe/segment, @@ -12652,7 +12648,7 @@ /area/tether/surfacebase/surface_one_hall) "avY" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/green, +/obj/item/bedsheet/green, /obj/machinery/camera/network/medbay{ dir = 8 }, @@ -12679,12 +12675,12 @@ dir = 1 }, /obj/structure/table/steel_reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen/red, -/obj/item/weapon/pen, +/obj/item/pen/red, +/obj/item/pen, /turf/simulated/floor/tiled, /area/security/checkpoint) "awb" = ( @@ -12881,7 +12877,7 @@ /obj/effect/floor_decal/corner/lime/border{ dir = 8 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /turf/simulated/floor/tiled/white, @@ -13186,7 +13182,7 @@ pixel_x = 24 }, /obj/structure/table/glass, -/obj/item/weapon/folder/red, +/obj/item/folder/red, /turf/simulated/floor/tiled, /area/security/checkpoint) "awR" = ( @@ -13656,7 +13652,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals7{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/tiled, @@ -13728,7 +13724,7 @@ dir = 1 }, /obj/structure/table/glass, -/obj/item/weapon/storage/box/donut, +/obj/item/storage/box/donut, /turf/simulated/floor/tiled, /area/security/checkpoint) "axx" = ( @@ -13871,7 +13867,7 @@ /area/maintenance/lower/solars) "axJ" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/green, +/obj/item/bedsheet/green, /obj/machinery/status_display{ pixel_x = 32 }, @@ -14214,11 +14210,6 @@ /obj/machinery/atmospherics/pipe/simple/hidden/yellow, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/table/glass, -/obj/item/device/antibody_scanner, -/obj/item/device/antibody_scanner{ - pixel_x = 2; - pixel_y = 2 - }, /turf/simulated/floor/tiled/white, /area/medical/virology) "ayk" = ( @@ -14227,7 +14218,7 @@ dir = 1; icon_state = "pipe-c" }, -/obj/item/weapon/book/manual/virology, +/obj/item/book/manual/virology, /turf/simulated/floor/tiled/white, /area/medical/virology) "ayl" = ( @@ -14239,7 +14230,7 @@ dir = 4 }, /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/glass/beaker, +/obj/item/reagent_containers/glass/beaker, /turf/simulated/floor/tiled/white, /area/medical/virology) "aym" = ( @@ -14434,7 +14425,7 @@ /area/medical/virologyisolation) "ayA" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/green, +/obj/item/bedsheet/green, /obj/machinery/light{ dir = 4 }, @@ -14463,7 +14454,7 @@ name = "package tagger - Void"; sort_tag = "Void" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -14531,7 +14522,7 @@ /area/medical/virology) "ayM" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/monkeycubes, +/obj/item/storage/box/monkeycubes, /obj/machinery/light{ dir = 4 }, @@ -14639,8 +14630,8 @@ /area/crew_quarters/locker/laundry_arrival) "ayV" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/laundry_basket, -/obj/item/weapon/tape_roll, +/obj/item/storage/laundry_basket, +/obj/item/tape_roll, /obj/effect/floor_decal/borderfloor{ dir = 1 }, @@ -14652,7 +14643,7 @@ /area/crew_quarters/locker/laundry_arrival) "ayW" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_x = -2; pixel_y = -1 }, @@ -14684,7 +14675,7 @@ dir = 2; icon_state = "pipe-c" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 24 @@ -14852,7 +14843,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals7{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -14991,16 +14982,16 @@ /turf/simulated/floor/tiled, /area/rnd/hallway) "azu" = ( -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = -4 }, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the Space from Space Cleaner and written in Virology. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Virology Cleaner"; pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/hand_labeler, +/obj/item/hand_labeler, /obj/structure/table/glass, /obj/machinery/camera/network/medbay{ dir = 4 @@ -15024,11 +15015,11 @@ /area/medical/virology) "azv" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/fancy/vials, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/reagent_containers/syringe/antiviral, +/obj/item/storage/fancy/vials, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/syringe/antiviral, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/lime/border, /obj/effect/floor_decal/borderfloorwhite/corner2, @@ -15037,9 +15028,9 @@ /area/medical/virology) "azw" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/lockbox/vials, -/obj/item/weapon/reagent_containers/dropper, -/obj/item/weapon/storage/secure/safe{ +/obj/item/storage/lockbox/vials, +/obj/item/reagent_containers/dropper, +/obj/item/storage/secure/safe{ pixel_x = 5; pixel_y = -28 }, @@ -15049,8 +15040,8 @@ /area/medical/virology) "azx" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/beakers, -/obj/item/weapon/storage/box/syringes{ +/obj/item/storage/box/beakers, +/obj/item/storage/box/syringes{ pixel_x = 4; pixel_y = 4 }, @@ -15095,8 +15086,8 @@ /area/medical/virologyisolation) "azB" = ( /obj/structure/table/standard, -/obj/item/weapon/soap/nanotrasen, -/obj/item/weapon/storage/box/cups, +/obj/item/soap/nanotrasen, +/obj/item/storage/box/cups, /obj/machinery/alarm{ dir = 1; pixel_y = -22 @@ -15195,11 +15186,11 @@ icon_state = "4-8" }, /obj/structure/table/standard, -/obj/item/device/pipe_painter{ +/obj/item/pipe_painter{ pixel_x = 3; pixel_y = 3 }, -/obj/item/device/pipe_painter, +/obj/item/pipe_painter, /obj/machinery/newscaster{ pixel_y = 30 }, @@ -15244,7 +15235,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals7{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/tiled, @@ -15773,7 +15764,7 @@ /area/tether/surfacebase/lowernortheva) "aAC" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/green, +/obj/item/bedsheet/green, /obj/effect/floor_decal/borderfloorwhite{ dir = 5 }, @@ -15938,7 +15929,7 @@ /area/tether/surfacebase/surface_one_hall) "aAS" = ( /obj/structure/closet/crate, -/obj/item/weapon/handcuffs/fuzzy, +/obj/item/handcuffs/fuzzy, /obj/random/maintenance/security, /obj/random/contraband, /turf/simulated/floor/plating, @@ -16003,9 +15994,9 @@ "aAY" = ( /obj/structure/railing, /obj/structure/closet/crate, -/obj/item/device/camera, -/obj/item/device/tape/random, -/obj/item/device/taperecorder/empty, +/obj/item/camera, +/obj/item/rectape/random, +/obj/item/taperecorder/empty, /turf/simulated/floor/plating, /area/maintenance/lower/research) "aAZ" = ( @@ -16046,9 +16037,9 @@ /obj/item/clothing/mask/gas, /obj/item/clothing/mask/gas, /obj/item/clothing/mask/gas, -/obj/item/weapon/tank/emergency, -/obj/item/weapon/tank/emergency, -/obj/item/weapon/tank/emergency, +/obj/item/tank/emergency, +/obj/item/tank/emergency, +/obj/item/tank/emergency, /turf/simulated/floor/plating, /area/maintenance/lower/research) "aBf" = ( @@ -16150,7 +16141,7 @@ /obj/effect/floor_decal/corner/paleblue/bordercorner2{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -16430,7 +16421,7 @@ }, /obj/structure/table/rack, /obj/item/clothing/suit/fire/firefighter, -/obj/item/weapon/tank/oxygen/red, +/obj/item/tank/oxygen/red, /obj/item/clothing/mask/gas/wwii, /obj/item/clothing/head/hardhat/red, /turf/simulated/floor/plating, @@ -17198,7 +17189,7 @@ /turf/simulated/floor/plating, /area/maintenance/lower/research) "aDk" = ( -/obj/item/weapon/bone/skull/unathi, +/obj/item/bone/skull/unathi, /turf/simulated/floor/plating, /area/maintenance/lower/research) "aDl" = ( @@ -17639,15 +17630,25 @@ /area/crew_quarters/visitor_dining) "aEa" = ( /obj/structure/table/marble, -/obj/item/weapon/hand_labeler, -/obj/item/weapon/reagent_containers/food/condiment/small/sugar, +/obj/item/hand_labeler, +/obj/item/reagent_containers/food/condiment/small/sugar, /obj/machinery/floor_light/prebuilt{ on = 1 }, -/obj/item/weapon/reagent_containers/glass/rag, +/obj/item/reagent_containers/glass/rag, /obj/machinery/alarm{ pixel_y = 22 }, +/obj/structure/closet/walllocker_double/kitchen/east, +/obj/item/reagent_containers/food/drinks/glass2/square, +/obj/item/reagent_containers/food/drinks/glass2/square, +/obj/item/reagent_containers/food/drinks/glass2/square, +/obj/item/storage/box/glasses/coffeecup, +/obj/item/storage/box/glasses/coffeecup, +/obj/item/storage/box/glasses/coffeecup, +/obj/item/storage/box/glasses/coffeecup_tall, +/obj/item/storage/box/glasses/coffeecup_grande, +/obj/item/storage/box/glasses/coffeecup_venti, /turf/simulated/floor/tiled, /area/crew_quarters/visitor_dining) "aEb" = ( @@ -17957,7 +17958,7 @@ /turf/simulated/floor/wood, /area/crew_quarters/visitor_dining) "aEK" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, /turf/simulated/floor/wood, @@ -18194,8 +18195,8 @@ /area/tether/surfacebase/emergency_storage/rnd) "aFj" = ( /obj/structure/table/standard, -/obj/item/device/t_scanner, -/obj/item/weapon/storage/briefcase/inflatable, +/obj/item/t_scanner, +/obj/item/storage/briefcase/inflatable, /turf/simulated/floor/tiled/techfloor, /area/tether/surfacebase/emergency_storage/rnd) "aFk" = ( @@ -18393,7 +18394,7 @@ /turf/simulated/floor/wood, /area/crew_quarters/visitor_dining) "aFz" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -18434,24 +18435,16 @@ /area/crew_quarters/visitor_dining) "aFC" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ - pixel_x = 8; - pixel_y = 8 - }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ - pixel_x = 8; - pixel_y = 8 - }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ - pixel_x = 8; - pixel_y = 8 - }, /obj/machinery/floor_light/prebuilt{ on = 1 }, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, +/obj/machinery/chemical_dispenser/bar_syrup/full{ + dir = 8; + pixel_x = 8 + }, /turf/simulated/floor/tiled, /area/crew_quarters/visitor_dining) "aFD" = ( @@ -18623,33 +18616,33 @@ /area/crew_quarters/visitor_dining) "aFT" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8; pixel_y = -4 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = -4 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8; pixel_y = 12 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = 12 }, @@ -18872,7 +18865,7 @@ dir = 10 }, /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 1; name = "north bump"; pixel_y = 24 @@ -19019,7 +19012,7 @@ /area/tether/surfacebase/lowernorthhall) "aGx" = ( /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -30 @@ -19033,7 +19026,8 @@ "aGy" = ( /obj/structure/table/marble, /obj/machinery/chemical_dispenser/bar_coffee/full{ - dir = 8 + dir = 8; + pixel_x = 1 }, /obj/machinery/floor_light/prebuilt{ on = 1 @@ -19130,7 +19124,7 @@ dir = 5 }, /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -24 @@ -19246,7 +19240,7 @@ /obj/structure/cable/orange{ icon_state = "4-8" }, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/wood, /area/vacant/vacant_bar) "aGS" = ( @@ -19327,7 +19321,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals7{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/tiled, @@ -19414,7 +19408,7 @@ /obj/random/action_figure, /obj/random/action_figure, /obj/structure/closet/wardrobe/grey{ - starts_with = list(/obj/structure/barricade/cutout/viva, /obj/item/clothing/under/color/grey = 3, /obj/item/clothing/shoes/black = 3, /obj/item/clothing/head/soft/grey = 3, /obj/item/clothing/mask/gas/wwii = 3, /obj/item/weapon/storage/toolbox/mechanical = 3, /obj/item/clothing/gloves/fyellow = 3, /obj/item/weapon/card/id/gold/captain/spare/fakespare = 3, /obj/item/weapon/soap/syndie = 3, /obj/item/weapon/storage/box/mousetraps = 3) + starts_with = list(/obj/structure/barricade/cutout/viva, /obj/item/clothing/under/color/grey = 3, /obj/item/clothing/shoes/black = 3, /obj/item/clothing/head/soft/grey = 3, /obj/item/clothing/mask/gas/wwii = 3, /obj/item/storage/toolbox/mechanical = 3, /obj/item/clothing/gloves/fyellow = 3, /obj/item/card/id/gold/captain/spare/fakespare = 3, /obj/item/soap/syndie = 3, /obj/item/storage/box/mousetraps = 3) }, /turf/simulated/floor/plating, /area/maintenance/lower/atmos) @@ -19676,7 +19670,7 @@ /turf/simulated/floor/plating, /area/crew_quarters/visitor_dining) "aHH" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /turf/simulated/floor/wood, @@ -20025,7 +20019,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /turf/simulated/floor/wood, @@ -20540,7 +20534,7 @@ dir = 1 }, /obj/effect/landmark/vermin, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /turf/simulated/floor/wood, @@ -20688,13 +20682,13 @@ /area/crew_quarters/sleep/maintDorm1) "aJy" = ( /obj/structure/table/standard, -/obj/item/weapon/stamp/cargo, -/obj/item/weapon/stamp/denied{ +/obj/item/stamp/cargo, +/obj/item/stamp/denied{ pixel_x = 4; pixel_y = -2 }, -/obj/item/weapon/clipboard, -/obj/item/weapon/folder/yellow, +/obj/item/clipboard, +/obj/item/folder/yellow, /obj/effect/floor_decal/borderfloor{ dir = 8 }, @@ -20705,15 +20699,15 @@ /area/tether/surfacebase/cargostore/office) "aJz" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen/red{ +/obj/item/pen/red{ pixel_x = 2; pixel_y = 6 }, -/obj/item/device/retail_scanner/civilian, +/obj/item/retail_scanner/civilian, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, @@ -21063,7 +21057,7 @@ "aKh" = ( /obj/structure/table/rack, /obj/item/clothing/suit/fire/firefighter, -/obj/item/weapon/tank/oxygen/red, +/obj/item/tank/oxygen/red, /obj/item/clothing/mask/gas/wwii, /obj/item/clothing/head/hardhat/red, /turf/simulated/floor/plating, @@ -21094,9 +21088,9 @@ name = "Atmos RC"; pixel_y = 28 }, -/obj/item/weapon/tool/wrench, -/obj/item/device/t_scanner, -/obj/item/weapon/storage/belt/utility/atmostech, +/obj/item/tool/wrench, +/obj/item/t_scanner, +/obj/item/storage/belt/utility/atmostech, /obj/machinery/light_switch{ dir = 4; pixel_x = -28 @@ -21110,7 +21104,7 @@ /obj/structure/table/standard, /obj/item/clothing/ears/earmuffs, /obj/item/clothing/ears/earmuffs, -/obj/item/device/radio/headset/headset_eng, +/obj/item/radio/headset/headset_eng, /obj/machinery/light{ dir = 1 }, @@ -21206,7 +21200,7 @@ /obj/effect/floor_decal/corner/yellow/border{ dir = 4 }, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /turf/simulated/floor/tiled/techmaint, /area/engineering/atmos) "aKx" = ( @@ -21216,14 +21210,14 @@ /turf/simulated/floor/tiled, /area/engineering/atmos) "aKy" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, /turf/simulated/floor/tiled, /area/engineering/atmos) "aKz" = ( -/obj/item/weapon/beach_ball/holoball, +/obj/item/beach_ball/holoball, /turf/simulated/floor/plating, /area/maintenance/lower/research) "aKA" = ( @@ -21372,7 +21366,7 @@ /turf/simulated/floor/tiled, /area/tether/surfacebase/cargostore/office) "aKJ" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/wood, @@ -21465,14 +21459,14 @@ "aKU" = ( /obj/effect/floor_decal/industrial/outline/yellow, /obj/machinery/pipedispenser, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, /turf/simulated/floor/tiled, /area/engineering/atmos) "aKV" = ( -/obj/item/weapon/stool, +/obj/item/stool, /obj/effect/landmark/start{ name = "Atmospheric Technician" }, @@ -21773,7 +21767,7 @@ /obj/machinery/portable_atmospherics/canister/nitrogen, /obj/effect/floor_decal/industrial/outline/yellow, /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -24 @@ -22258,6 +22252,11 @@ /obj/structure/cable/orange{ icon_state = "1-2" }, +/obj/machinery/button/remote/airlock/release{ + pixel_y = -4; + pixel_x = 33; + id = "dorm7" + }, /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_7) "aMA" = ( @@ -22326,6 +22325,11 @@ pixel_y = -4; specialfunctions = 4 }, +/obj/machinery/button/remote/airlock/release{ + pixel_y = -4; + pixel_x = -33; + id = "dorm8" + }, /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_8) "aMD" = ( @@ -22763,12 +22767,12 @@ /area/crew_quarters/sleep/Dorm_8) "aNr" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/bluedouble, +/obj/item/bedsheet/bluedouble, /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_8) "aNs" = ( /obj/structure/closet/secure_closet/personal, -/obj/item/weapon/towel/random, +/obj/item/towel/random, /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_8) "aNt" = ( @@ -23381,6 +23385,11 @@ /obj/structure/cable/orange{ icon_state = "1-2" }, +/obj/machinery/button/remote/airlock/release{ + pixel_y = -4; + pixel_x = 33; + id = "dorm5" + }, /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_5) "aOI" = ( @@ -23445,6 +23454,11 @@ pixel_y = -4; specialfunctions = 4 }, +/obj/machinery/button/remote/airlock/release{ + pixel_y = -4; + pixel_x = -33; + id = "dorm6" + }, /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_6) "aOL" = ( @@ -23758,12 +23772,12 @@ /area/crew_quarters/sleep/Dorm_6) "aPh" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/reddouble, +/obj/item/bedsheet/reddouble, /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_6) "aPi" = ( /obj/structure/closet/secure_closet/personal, -/obj/item/weapon/towel/random, +/obj/item/towel/random, /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_6) "aPj" = ( @@ -24537,6 +24551,11 @@ /obj/structure/cable/orange{ icon_state = "1-2" }, +/obj/machinery/button/remote/airlock/release{ + pixel_y = -4; + pixel_x = 33; + id = "dorm3" + }, /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_3) "aQI" = ( @@ -24605,6 +24624,11 @@ pixel_y = -4; specialfunctions = 4 }, +/obj/machinery/button/remote/airlock/release{ + pixel_y = -4; + pixel_x = -33; + id = "dorm4" + }, /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_4) "aQL" = ( @@ -24936,12 +24960,12 @@ /area/crew_quarters/sleep/Dorm_4) "aRq" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/yellowdouble, +/obj/item/bedsheet/yellowdouble, /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_4) "aRr" = ( /obj/structure/closet/secure_closet/personal, -/obj/item/weapon/towel/random, +/obj/item/towel/random, /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_4) "aRs" = ( @@ -25125,7 +25149,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -25617,6 +25641,11 @@ /obj/structure/cable/orange{ icon_state = "1-2" }, +/obj/machinery/button/remote/airlock/release{ + pixel_y = -4; + pixel_x = 33; + id = "dorm1" + }, /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_1) "aSV" = ( @@ -25627,6 +25656,11 @@ pixel_y = -4; specialfunctions = 4 }, +/obj/machinery/button/remote/airlock/release{ + pixel_y = -4; + pixel_x = -33; + id = "dorm2" + }, /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_2) "aSW" = ( @@ -25978,12 +26012,12 @@ /area/crew_quarters/sleep/Dorm_2) "aTF" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/orangedouble, +/obj/item/bedsheet/orangedouble, /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_2) "aTG" = ( /obj/structure/closet/secure_closet/personal, -/obj/item/weapon/towel/random, +/obj/item/towel/random, /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_2) "aTH" = ( @@ -26254,7 +26288,7 @@ /obj/machinery/alarm{ pixel_y = 22 }, -/obj/item/weapon/towel/random, +/obj/item/towel/random, /turf/simulated/floor/tiled, /area/crew_quarters/showers) "aUj" = ( @@ -26265,8 +26299,8 @@ dir = 5 }, /obj/structure/table/standard, -/obj/item/device/communicator, -/obj/item/device/communicator, +/obj/item/communicator, +/obj/item/communicator, /turf/simulated/floor/tiled, /area/crew_quarters/showers) "aUk" = ( @@ -26725,7 +26759,7 @@ dir = 5 }, /obj/structure/table/standard, -/obj/item/weapon/bikehorn/rubberducky, +/obj/item/bikehorn/rubberducky, /obj/machinery/firealarm{ dir = 4; pixel_x = 24 @@ -27195,11 +27229,11 @@ dir = 6 }, /obj/structure/table/rack, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, /turf/simulated/floor/tiled, /area/crew_quarters/showers) "aVN" = ( @@ -27336,7 +27370,7 @@ /area/crew_quarters/sleep/maintDorm3) "aVX" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/double, +/obj/item/bedsheet/double, /turf/simulated/floor/plating, /area/crew_quarters/sleep/maintDorm3) "aVY" = ( @@ -27357,7 +27391,7 @@ /area/vacant/vacant_bar) "aWb" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/structure/sign/poster{ dir = 1 }, @@ -27552,7 +27586,7 @@ /area/vacant/vacant_bar) "aWC" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/wood, /area/vacant/vacant_bar) "aWD" = ( @@ -27789,7 +27823,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/grey/border, /obj/structure/table/standard, -/obj/item/weapon/storage/laundry_basket, +/obj/item/storage/laundry_basket, /obj/effect/floor_decal/borderfloor/corner2, /obj/effect/floor_decal/corner/grey/bordercorner2, /obj/structure/cable/orange{ @@ -28097,12 +28131,12 @@ /area/maintenance/lower/atmos) "aXA" = ( /obj/structure/table/steel, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /obj/structure/sign/poster{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -28270,7 +28304,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/wood, /area/vacant/vacant_bar) "aYb" = ( @@ -28362,7 +28396,7 @@ /turf/simulated/floor/wood, /area/vacant/vacant_bar) "aYp" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/wood, /area/vacant/vacant_bar) "aYq" = ( @@ -28713,7 +28747,7 @@ /area/crew_quarters/sleep/maintDorm1) "aZU" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/fancy/markers, +/obj/item/storage/fancy/markers, /turf/simulated/floor/plating, /area/crew_quarters/sleep/maintDorm1) "aZX" = ( @@ -28823,7 +28857,7 @@ /area/crew_quarters/sleep/maintDorm2) "baB" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/iandouble, +/obj/item/bedsheet/iandouble, /turf/simulated/floor/plating, /area/crew_quarters/sleep/maintDorm2) "baC" = ( @@ -28837,7 +28871,7 @@ /area/crew_quarters/sleep/maintDorm1) "baE" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/mimedouble, +/obj/item/bedsheet/mimedouble, /turf/simulated/floor/plating, /area/crew_quarters/sleep/maintDorm1) "baK" = ( @@ -29130,7 +29164,7 @@ dir = 4 }, /obj/effect/floor_decal/steeldecal/steel_decals7, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -29607,11 +29641,11 @@ /area/maintenance/lower/xenoflora) "bcf" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/gloves{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/box/masks, +/obj/item/storage/box/masks, /obj/machinery/power/apc{ dir = 4; name = "east bump"; @@ -30138,7 +30172,7 @@ /obj/effect/floor_decal/techfloor/orange{ dir = 8 }, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "Brusies sustained in the holodeck can be healed simply by sleeping."; name = "Holodeck Disclaimer" }, @@ -30163,7 +30197,7 @@ /obj/structure/cable/green{ icon_state = "1-2" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -30375,9 +30409,9 @@ name = "obscure table" }, /obj/item/toy/figure/mime, -/obj/item/weapon/pen/crayon/marker/mime, -/obj/item/weapon/pen/crayon/mime, -/obj/item/weapon/cartridge/mime, +/obj/item/pen/crayon/marker/mime, +/obj/item/pen/crayon/mime, +/obj/item/cartridge/mime, /turf/simulated/floor/carpet/bcarpet, /area/tether/surfacebase/funny/mimeoffice) "bmK" = ( @@ -30385,11 +30419,11 @@ dir = 1; pixel_y = -28 }, -/obj/item/weapon/storage/fancy/crayons, -/obj/item/weapon/storage/fancy/crayons, -/obj/item/weapon/storage/fancy/crayons, -/obj/item/weapon/storage/fancy/crayons, -/obj/item/weapon/storage/fancy/crayons, +/obj/item/storage/fancy/crayons, +/obj/item/storage/fancy/crayons, +/obj/item/storage/fancy/crayons, +/obj/item/storage/fancy/crayons, +/obj/item/storage/fancy/crayons, /turf/simulated/floor/tiled, /area/storage/art) "bqI" = ( @@ -30582,7 +30616,7 @@ /area/tether/surfacebase/tram) "bTt" = ( /obj/structure/table/rack, -/obj/item/weapon/weldingtool/mini{ +/obj/item/weldingtool/mini{ desc = "It says 'keychain welder' on the side, but there's no bail to hook it on."; name = "keychain welder"; toolspeed = 5 @@ -30617,8 +30651,7 @@ /turf/simulated/floor/tiled, /area/tether/surfacebase/security/brig) "cdl" = ( -/obj/machinery/disease2/diseaseanalyser, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 24 @@ -30629,6 +30662,7 @@ /obj/effect/floor_decal/corner/lime/border{ dir = 9 }, +/obj/structure/table/standard, /turf/simulated/floor/tiled/white, /area/medical/virology) "cdO" = ( @@ -30728,9 +30762,9 @@ /area/tether/surfacebase/security/lowerhall) "ctE" = ( /obj/structure/table/rack, -/obj/item/weapon/tank/emergency, -/obj/item/weapon/tank/emergency, -/obj/item/weapon/tank/emergency, +/obj/item/tank/emergency, +/obj/item/tank/emergency, +/obj/item/tank/emergency, /obj/item/clothing/mask/gas, /obj/item/clothing/mask/gas, /obj/item/clothing/mask/gas, @@ -30888,7 +30922,7 @@ /turf/simulated/floor/tiled, /area/tether/surfacebase/lowernorthhall) "cUh" = ( -/obj/item/weapon/storage/belt/utility{ +/obj/item/storage/belt/utility{ desc = "It's full of holes and tears."; name = "raggedy tool-belt" }, @@ -30957,8 +30991,8 @@ /area/tether/surfacebase/security/brig) "dfJ" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/bag/trash, -/obj/item/weapon/storage/bag/trash, +/obj/item/storage/bag/trash, +/obj/item/storage/bag/trash, /obj/structure/disposalpipe/segment{ dir = 4 }, @@ -31065,7 +31099,7 @@ /obj/structure/table/rack, /obj/item/clothing/mask/gas, /obj/item/clothing/suit/storage/hooded/wintercoat, -/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, /turf/simulated/floor/tiled/techfloor, /area/tether/surfacebase/lowernorthhall) "dyd" = ( @@ -31186,14 +31220,14 @@ pixel_y = 2 }, /obj/structure/mopbucket, -/obj/item/weapon/mop, +/obj/item/mop, /turf/simulated/floor/tiled, /area/tether/surfacebase/security/brig) "dPY" = ( /obj/structure/table/rack, /obj/item/clothing/mask/gas, /obj/item/clothing/suit/storage/hooded/wintercoat/science, -/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, /turf/simulated/floor/tiled/techfloor, /area/rnd/hallway) "dQn" = ( @@ -31295,7 +31329,7 @@ /area/tether/surfacebase/security/weaponsrange) "ekC" = ( /obj/structure/table/steel, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /turf/simulated/floor/tiled/freezer, /area/tether/surfacebase/security/brig/bathroom) "elf" = ( @@ -31455,8 +31489,8 @@ dir = 1 }, /obj/structure/table/reinforced, -/obj/item/weapon/gun/energy/laser/practice, -/obj/item/weapon/gun/projectile/shotgun/pump/rifle/practice, +/obj/item/gun/energy/laser/practice, +/obj/item/gun/projectile/shotgun/pump/rifle/practice, /obj/item/ammo_magazine/clip/c762/practice, /obj/item/ammo_magazine/clip/c762/practice, /turf/simulated/floor/tiled/dark, @@ -31471,7 +31505,7 @@ /turf/simulated/floor/tiled/dark, /area/tether/surfacebase/security/weaponsrange) "eJc" = ( -/obj/item/weapon/storage/toolbox/brass, +/obj/item/storage/toolbox/brass, /turf/simulated/floor/plating, /area/maintenance/lowmedbaymaint) "eJQ" = ( @@ -31724,8 +31758,8 @@ desc = "Dents and old flaky paint blanket this old storage unit."; name = "old locker" }, -/obj/item/weapon/storage/toolbox/lunchbox/mars/filled, -/obj/item/weapon/storage/belt/fannypack/red, +/obj/item/storage/toolbox/lunchbox/mars/filled, +/obj/item/storage/belt/fannypack/red, /turf/simulated/floor/plating, /area/maintenance/lowmedbaymaint) "fSR" = ( @@ -32004,7 +32038,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, -/obj/item/weapon/beach_ball/holoball, +/obj/item/beach_ball/holoball, /turf/simulated/floor/tiled/dark, /area/tether/surfacebase/security/brig/storage) "guO" = ( @@ -32071,7 +32105,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, -/obj/item/weapon/reagent_containers/food/condiment/small/sugar, +/obj/item/reagent_containers/food/condiment/small/sugar, /turf/simulated/floor/wood, /area/crew_quarters/visitor_dining) "gAn" = ( @@ -32199,7 +32233,7 @@ "gWO" = ( /obj/structure/table/rack, /obj/effect/floor_decal/rust, -/obj/item/weapon/gun/projectile/revolver/toy/crossbow, +/obj/item/gun/projectile/revolver/toy/crossbow, /turf/simulated/floor/plating, /area/tether/surfacebase/funny/hideyhole) "gYx" = ( @@ -32735,7 +32769,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/tiled, @@ -32801,7 +32835,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 10 }, -/obj/item/device/radio/beacon, +/obj/item/radio/beacon, /turf/simulated/floor/tiled, /area/tether/surfacebase/surface_one_hall) "itj" = ( @@ -32855,7 +32889,7 @@ /turf/simulated/floor/tiled, /area/crew_quarters/locker/laundry_arrival) "iwQ" = ( -/obj/item/weapon/stool, +/obj/item/stool, /turf/simulated/floor/carpet/gaycarpet, /area/tether/surfacebase/funny/clownoffice) "ixF" = ( @@ -33065,7 +33099,7 @@ /obj/structure/sign/painting/public{ pixel_y = 30 }, -/obj/item/device/flashlight/lamp/clown, +/obj/item/flashlight/lamp/clown, /turf/simulated/floor/carpet/gaycarpet, /area/tether/surfacebase/funny/clownoffice) "jrh" = ( @@ -33406,7 +33440,7 @@ "klO" = ( /obj/machinery/door/window/northright, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -33472,7 +33506,7 @@ dir = 1 }, /obj/structure/bed/padded, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/tiled/dark, /area/tether/surfacebase/security/lowerhall) @@ -33588,7 +33622,7 @@ dir = 4 }, /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -30 @@ -33817,7 +33851,7 @@ /turf/simulated/floor/tiled/dark, /area/tether/surfacebase/security/brig) "ljI" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/tiled/steel_dirty, @@ -33918,7 +33952,7 @@ "lxo" = ( /obj/machinery/door/window/northright, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ dir = 8; pixel_x = -24 }, @@ -34086,7 +34120,7 @@ /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/autoresleeving) "lQu" = ( -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /obj/structure/table/steel, /obj/machinery/light{ dir = 8 @@ -34215,7 +34249,7 @@ /turf/simulated/floor/tiled/dark, /area/tether/surfacebase/security/brig/storage) "miP" = ( -/obj/item/weapon/bananapeel, +/obj/item/bananapeel, /turf/simulated/floor/plating, /area/tether/surfacebase/funny/clownoffice) "mjL" = ( @@ -34402,7 +34436,7 @@ /obj/effect/floor_decal/corner/paleblue/bordercorner2{ dir = 6 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -34569,8 +34603,8 @@ "naO" = ( /obj/structure/table/rack, /obj/effect/floor_decal/rust, -/obj/item/weapon/soap/syndie, -/obj/item/weapon/bananapeel, +/obj/item/soap/syndie, +/obj/item/bananapeel, /turf/simulated/floor/plating, /area/tether/surfacebase/funny/hideyhole) "nbj" = ( @@ -34852,10 +34886,11 @@ dir = 1 }, /obj/structure/closet/crate/freezer, -/obj/item/weapon/virusdish/random, -/obj/item/weapon/virusdish/random, -/obj/item/weapon/virusdish/random, -/obj/item/weapon/virusdish/random, +/obj/item/reagent_containers/glass/bottle/culture/cold{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/item/reagent_containers/glass/bottle/culture/flu, /turf/simulated/floor/tiled/white, /area/medical/virology) "nMH" = ( @@ -34863,7 +34898,7 @@ desc = "Dents and old flaky paint blanket this old storage unit."; name = "old locker" }, -/obj/item/weapon/storage/toolbox/lunchbox/filled, +/obj/item/storage/toolbox/lunchbox/filled, /obj/random/plushielarge, /turf/simulated/floor/plating, /area/maintenance/lowmedbaymaint) @@ -34917,7 +34952,7 @@ /area/crew_quarters/visitor_laundry) "nUG" = ( /obj/structure/table/rack, -/obj/item/weapon/tool/prybar/red{ +/obj/item/tool/prybar/red{ desc = "Haven't I seen this before?"; name = "old red crowbar"; toolspeed = 3 @@ -35008,7 +35043,7 @@ }, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/tiled, @@ -35023,11 +35058,11 @@ name = "Clown Officer's Cap" }, /obj/item/clothing/mask/smokable/pipe/cobpipe, -/obj/item/weapon/flame/lighter/zippo/ironic, +/obj/item/flame/lighter/zippo/ironic, /obj/structure/sign/painting/public{ pixel_y = 30 }, -/obj/item/weapon/reagent_containers/food/snacks/pie, +/obj/item/reagent_containers/food/snacks/pie, /obj/effect/floor_decal/rust, /turf/simulated/floor/plating, /area/tether/surfacebase/funny/clownoffice) @@ -35066,7 +35101,7 @@ /turf/simulated/floor/plating, /area/maintenance/lower/vacant_site) "oox" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /obj/machinery/atmospherics/unary/vent_scrubber/on{ @@ -35219,7 +35254,7 @@ /turf/simulated/floor/tiled, /area/tether/surfacebase/tram) "oGO" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -35230,7 +35265,7 @@ desc = "Dents and old flaky paint blanket this old storage unit."; name = "old locker" }, -/obj/item/weapon/storage/toolbox/lunchbox/heart, +/obj/item/storage/toolbox/lunchbox/heart, /obj/random/plushie, /turf/simulated/floor/plating, /area/maintenance/lowmedbaymaint) @@ -35276,10 +35311,10 @@ /obj/machinery/light/small{ dir = 8 }, -/obj/item/weapon/pen/crayon/marker/rainbow, -/obj/item/weapon/pen/crayon/rainbow, -/obj/item/weapon/stamp/clown, -/obj/item/weapon/cartridge/clown, +/obj/item/pen/crayon/marker/rainbow, +/obj/item/pen/crayon/rainbow, +/obj/item/stamp/clown, +/obj/item/cartridge/clown, /obj/structure/table/standard{ name = "plastic table frame" }, @@ -35289,7 +35324,7 @@ /obj/machinery/light{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -35559,7 +35594,7 @@ desc = "Dents and old flaky paint blanket this old storage unit."; name = "old locker" }, -/obj/item/weapon/storage/toolbox/lunchbox/syndicate, +/obj/item/storage/toolbox/lunchbox/syndicate, /obj/item/clothing/head/cakehat, /obj/random/mech_toy, /turf/simulated/floor/plating, @@ -35636,8 +35671,8 @@ /area/maintenance/lower/trash_pit) "qhs" = ( /obj/structure/table/rack, -/obj/item/weapon/coin/silver, -/obj/item/weapon/gun/projectile/revolver/toy/crossbow, +/obj/item/coin/silver, +/obj/item/gun/projectile/revolver/toy/crossbow, /turf/simulated/floor/plating, /area/tether/surfacebase/funny/hideyhole) "qjE" = ( @@ -35654,7 +35689,7 @@ dir = 1 }, /obj/structure/bed/padded, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /turf/simulated/floor/tiled/dark, /area/tether/surfacebase/security/brig) "qmc" = ( @@ -35767,7 +35802,7 @@ "qCD" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/grey/border, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/tiled, @@ -36074,7 +36109,7 @@ /area/crew_quarters/sleep/maintDorm2) "rse" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/mimedouble, +/obj/item/bedsheet/mimedouble, /turf/simulated/floor/carpet/bcarpet, /area/tether/surfacebase/funny/mimeoffice) "rtV" = ( @@ -36128,7 +36163,7 @@ /area/tether/surfacebase/surface_one_hall) "rxD" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/clowndouble, +/obj/item/bedsheet/clowndouble, /obj/structure/sign/painting/public{ pixel_y = -30 }, @@ -36146,7 +36181,7 @@ /obj/structure/table/rack, /obj/effect/floor_decal/rust, /obj/item/toy/bouquet/fake, -/obj/item/weapon/reagent_containers/spray/waterflower, +/obj/item/reagent_containers/spray/waterflower, /obj/machinery/alarm{ pixel_y = 25 }, @@ -36154,7 +36189,7 @@ /area/tether/surfacebase/funny/hideyhole) "rBG" = ( /obj/structure/closet, -/obj/item/weapon/material/minihoe, +/obj/item/material/minihoe, /turf/simulated/floor/tiled/dark, /area/tether/surfacebase/security/brig/storage) "rCj" = ( @@ -36504,7 +36539,6 @@ /turf/simulated/floor/plating, /area/maintenance/lower/vacant_site) "sLf" = ( -/obj/machinery/computer/diseasesplicer, /obj/machinery/light{ dir = 1 }, @@ -36514,6 +36548,7 @@ /obj/effect/floor_decal/corner/lime/border{ dir = 1 }, +/obj/machinery/computer/pandemic, /turf/simulated/floor/tiled/white, /area/medical/virology) "sLi" = ( @@ -36561,9 +36596,9 @@ /area/tether/surfacebase/funny/clownoffice) "sVX" = ( /obj/structure/table/steel, -/obj/item/weapon/material/twohanded/fireaxe/foam, +/obj/item/material/twohanded/fireaxe/foam, /obj/item/toy/nanotrasenballoon, -/obj/item/weapon/deck/cards, +/obj/item/deck/cards, /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/machinery/firealarm{ dir = 4; @@ -36593,7 +36628,7 @@ /obj/structure/cable/orange{ icon_state = "1-2" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -37386,7 +37421,7 @@ /obj/effect/floor_decal/corner/lime/border{ dir = 1 }, -/obj/machinery/computer/centrifuge, +/obj/structure/table/standard, /turf/simulated/floor/tiled/white, /area/medical/virology) "vBy" = ( @@ -37435,7 +37470,7 @@ desc = "Dents and old flaky paint blanket this old storage unit."; name = "old locker" }, -/obj/item/weapon/storage/toolbox/lunchbox/cat/filled, +/obj/item/storage/toolbox/lunchbox/cat/filled, /obj/item/clothing/head/chefhat, /turf/simulated/floor/plating, /area/maintenance/lowmedbaymaint) @@ -37505,10 +37540,6 @@ /obj/machinery/computer/arcade/orion_trail, /turf/simulated/floor/tiled, /area/tether/surfacebase/security/brig) -"vXS" = ( -/obj/machinery/disease2/incubator, -/turf/simulated/floor/tiled/white, -/area/medical/virology) "waR" = ( /turf/simulated/floor/tiled/dark, /area/tether/surfacebase/security/weaponsrange) @@ -38178,7 +38209,7 @@ desc = "These are what qualifies as a quality product these days?"; name = "insulted gloves" }, -/obj/item/weapon/card/id/gold{ +/obj/item/card/id/gold{ access = list(746); desc = "Did someone spraypaint this card?"; name = "captians id card" @@ -54088,7 +54119,7 @@ aeE vwM avl afB -avQ +avl axj ayk ayK @@ -54230,7 +54261,7 @@ aeE nLm avl afD -vXS +avl axF ayl avl diff --git a/maps/tether/tether-02-surface2.dmm b/maps/tether/tether-02-surface2.dmm index 83d5469ab26..dd582af7d30 100644 --- a/maps/tether/tether-02-surface2.dmm +++ b/maps/tether/tether-02-surface2.dmm @@ -426,7 +426,7 @@ dir = 8 }, /obj/structure/table/glass, -/obj/item/device/healthanalyzer, +/obj/item/healthanalyzer, /obj/item/clothing/accessory/stethoscope, /obj/machinery/atmospherics/unary/vent_pump/on, /obj/effect/floor_decal/borderfloorwhite/corner2{ @@ -664,7 +664,7 @@ /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/centralhall) "aaX" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -890,7 +890,7 @@ /area/tether/surfacebase/medical/bathroom) "abm" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/structure/curtain/open/privacy, /obj/effect/floor_decal/corner/paleblue/border{ dir = 6 @@ -1049,7 +1049,7 @@ /obj/structure/disposalpipe/trunk{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_x = -28 @@ -1077,9 +1077,9 @@ /area/tether/surfacebase/medical/centralhall) "abB" = ( /obj/structure/table/glass, -/obj/item/weapon/folder/white, -/obj/item/device/healthanalyzer, -/obj/item/weapon/cane, +/obj/item/folder/white, +/obj/item/healthanalyzer, +/obj/item/cane, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, @@ -1294,10 +1294,10 @@ /area/tether/surfacebase/medical/cmo) "abR" = ( /obj/structure/table/glass, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = 4 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /obj/item/clothing/accessory/stethoscope, @@ -1333,7 +1333,7 @@ /obj/item/modular_computer/console/preset/command{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -1474,8 +1474,8 @@ dir = 1 }, /obj/structure/table/glass, -/obj/item/weapon/book/manual/resleeving, -/obj/item/device/sleevemate, +/obj/item/book/manual/resleeving, +/obj/item/sleevemate, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/resleeving) "acf" = ( @@ -1543,7 +1543,7 @@ /area/tether/surfacebase/medical/cmo) "ack" = ( /obj/structure/filingcabinet, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 4; pixel_x = 24 }, @@ -1683,12 +1683,12 @@ /area/tether/surfacebase/medical/cmo) "acA" = ( /obj/structure/table/glass, -/obj/item/weapon/folder/white_cmo, -/obj/item/weapon/stamp/cmo, +/obj/item/folder/white_cmo, +/obj/item/stamp/cmo, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /turf/simulated/floor/carpet, /area/tether/surfacebase/medical/cmo) "acB" = ( @@ -1827,8 +1827,8 @@ /area/tether/surfacebase/medical/resleeving) "acL" = ( /obj/structure/table/reinforced, -/obj/item/device/reagent_scanner, -/obj/item/device/mass_spectrometer/adv, +/obj/item/reagent_scanner, +/obj/item/mass_spectrometer/adv, /obj/machinery/camera/network/security{ dir = 5 }, @@ -1840,7 +1840,7 @@ "acM" = ( /obj/structure/table/reinforced, /obj/item/clothing/gloves/sterile/latex, -/obj/item/weapon/reagent_containers/syringe, +/obj/item/reagent_containers/syringe, /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/structure/cable/green{ icon_state = "4-8" @@ -1852,8 +1852,8 @@ /area/tether/surfacebase/security/detective) "acN" = ( /obj/structure/table/reinforced, -/obj/item/device/uv_light, -/obj/item/weapon/reagent_containers/spray/luminol, +/obj/item/uv_light, +/obj/item/reagent_containers/spray/luminol, /obj/structure/cable/green{ icon_state = "4-8" }, @@ -1885,7 +1885,7 @@ /area/tether/surfacebase/security/detective) "acQ" = ( /obj/structure/table/reinforced, -/obj/item/weapon/forensics/sample_kit/powder, +/obj/item/forensics/sample_kit/powder, /obj/machinery/atmospherics/unary/vent_pump/on, /obj/structure/cable/green{ icon_state = "4-8" @@ -1897,7 +1897,7 @@ /area/tether/surfacebase/security/detective) "acR" = ( /obj/structure/table/reinforced, -/obj/item/weapon/forensics/sample_kit, +/obj/item/forensics/sample_kit, /obj/structure/cable/green{ icon_state = "1-8" }, @@ -2220,8 +2220,8 @@ dir = 8; pixel_x = -24 }, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /obj/effect/floor_decal/borderfloorwhite{ dir = 9 }, @@ -2274,7 +2274,7 @@ /area/tether/surfacebase/outside/outside2) "adu" = ( /obj/machinery/chem_master, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -2445,8 +2445,8 @@ dir = 8; pixel_x = -24 }, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /obj/effect/floor_decal/borderfloorwhite{ dir = 9 }, @@ -2473,7 +2473,7 @@ /area/tether/surfacebase/medical/patient_a) "adP" = ( /obj/structure/bed/chair, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -2491,8 +2491,8 @@ dir = 8; pixel_x = -24 }, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /obj/effect/floor_decal/borderfloorwhite{ dir = 9 }, @@ -2519,7 +2519,7 @@ /area/tether/surfacebase/medical/patient_b) "adS" = ( /obj/structure/bed/chair, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -2533,7 +2533,7 @@ /area/tether/surfacebase/medical/patient_b) "adT" = ( /obj/structure/bed/chair, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -2633,30 +2633,30 @@ dir = 9 }, /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/glass/bottle/biomass{ +/obj/item/reagent_containers/glass/bottle/biomass{ pixel_x = -4; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/glass/bottle/biomass{ +/obj/item/reagent_containers/glass/bottle/biomass{ pixel_x = -7; pixel_y = 4 }, -/obj/item/weapon/reagent_containers/glass/bottle/biomass{ +/obj/item/reagent_containers/glass/bottle/biomass{ pixel_x = 6; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/glass/bottle/biomass{ +/obj/item/reagent_containers/glass/bottle/biomass{ pixel_x = 4; pixel_y = 6 }, -/obj/item/device/flashlight/pen{ +/obj/item/flashlight/pen{ pixel_x = -3; pixel_y = -3 }, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/resleeving) "aea" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -28 }, /obj/machinery/atmospherics/unary/vent_scrubber/on{ @@ -2692,7 +2692,7 @@ dir = 4; pixel_x = -23 }, -/obj/item/weapon/clipboard, +/obj/item/clipboard, /obj/effect/floor_decal/borderfloorwhite{ dir = 8 }, @@ -2723,15 +2723,15 @@ "aeg" = ( /obj/structure/window/reinforced, /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/swabs{ +/obj/item/storage/box/swabs{ layer = 5 }, -/obj/item/weapon/hand_labeler, -/obj/item/weapon/folder/red, -/obj/item/weapon/folder/blue{ +/obj/item/hand_labeler, +/obj/item/folder/red, +/obj/item/folder/blue{ pixel_y = -3 }, -/obj/item/weapon/folder/yellow{ +/obj/item/folder/yellow{ pixel_y = -5 }, /turf/simulated/floor/tiled/white, @@ -2849,7 +2849,7 @@ dir = 4; pixel_x = -23 }, -/obj/item/weapon/clipboard, +/obj/item/clipboard, /obj/effect/floor_decal/borderfloorwhite{ dir = 8 }, @@ -2864,8 +2864,8 @@ /area/tether/surfacebase/medical/patient_a) "aex" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/bedsheet/medical, +/obj/item/radio/intercom/department/medbay{ dir = 4; pixel_x = 24 }, @@ -2883,7 +2883,7 @@ dir = 4; pixel_x = -23 }, -/obj/item/weapon/clipboard, +/obj/item/clipboard, /obj/effect/floor_decal/borderfloorwhite{ dir = 8 }, @@ -2898,8 +2898,8 @@ /area/tether/surfacebase/medical/patient_b) "aeA" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/bedsheet/medical, +/obj/item/radio/intercom/department/medbay{ dir = 4; pixel_x = 24 }, @@ -2913,8 +2913,8 @@ /area/tether/surfacebase/medical/patient_b) "aeB" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/bedsheet/medical, +/obj/item/radio/intercom/department/medbay{ dir = 4; pixel_x = 24 }, @@ -2931,7 +2931,7 @@ /obj/machinery/computer/med_data/laptop{ dir = 1 }, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 8; pixel_x = -24 }, @@ -2945,14 +2945,14 @@ /area/tether/surfacebase/medical/examroom) "aeD" = ( /obj/structure/table/glass, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/examroom) "aeE" = ( /obj/structure/disposalpipe/segment, -/obj/item/weapon/folder/white, -/obj/item/weapon/clipboard, +/obj/item/folder/white, +/obj/item/clipboard, /obj/structure/table/glass, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/examroom) @@ -2973,11 +2973,11 @@ /obj/structure/closet{ name = "Forensics Gear" }, -/obj/item/weapon/storage/box/gloves, -/obj/item/weapon/storage/box/evidence, -/obj/item/weapon/storage/box/bodybags, -/obj/item/weapon/storage/briefcase/crimekit, -/obj/item/weapon/storage/briefcase/crimekit, +/obj/item/storage/box/gloves, +/obj/item/storage/box/evidence, +/obj/item/storage/box/bodybags, +/obj/item/storage/briefcase/crimekit, +/obj/item/storage/briefcase/crimekit, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/security/detective) "aeI" = ( @@ -3200,7 +3200,7 @@ dir = 4 }, /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -28 @@ -3212,17 +3212,17 @@ /area/tether/surfacebase/medical/patient_c) "afc" = ( /obj/structure/closet/secure_closet/CMO, -/obj/item/weapon/storage/belt/medical, -/obj/item/device/flashlight/pen, +/obj/item/storage/belt/medical, +/obj/item/flashlight/pen, /obj/item/clothing/accessory/stethoscope, /obj/item/clothing/glasses/hud/health, -/obj/item/device/defib_kit/compact/combat/loaded, -/obj/item/weapon/cmo_disk_holder, -/obj/item/weapon/storage/secure/briefcase/ml3m_pack_cmo, +/obj/item/defib_kit/compact/combat/loaded, +/obj/item/cmo_disk_holder, +/obj/item/storage/secure/briefcase/ml3m_pack_cmo, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, -/obj/item/weapon/storage/mrebag/pill/sleevingcure, +/obj/item/storage/mrebag/pill/sleevingcure, /turf/simulated/floor/wood, /area/tether/surfacebase/medical/cmo) "afd" = ( @@ -3298,7 +3298,7 @@ dir = 4 }, /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -28 @@ -3398,7 +3398,7 @@ dir = 4 }, /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -28 @@ -3652,7 +3652,7 @@ /obj/structure/disposalpipe/trunk{ dir = 4 }, -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ dir = 8; pixel_x = -24 }, @@ -3698,7 +3698,7 @@ /obj/structure/reagent_dispensers/peppertank{ pixel_y = 32 }, -/obj/item/device/retail_scanner/security, +/obj/item/retail_scanner/security, /turf/simulated/floor/tiled/dark, /area/tether/surfacebase/security/outfitting) "afK" = ( @@ -3709,18 +3709,18 @@ dir = 1 }, /obj/structure/table/steel, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, /obj/machinery/recharger/wallcharger{ pixel_x = 4; pixel_y = 30 @@ -3729,11 +3729,11 @@ pixel_x = 4; pixel_y = 20 }, -/obj/item/device/holowarrant, -/obj/item/device/holowarrant, -/obj/item/device/holowarrant, -/obj/item/device/holowarrant, -/obj/item/device/retail_scanner/security, +/obj/item/holowarrant, +/obj/item/holowarrant, +/obj/item/holowarrant, +/obj/item/holowarrant, +/obj/item/retail_scanner/security, /turf/simulated/floor/tiled/dark, /area/tether/surfacebase/security/outfitting) "afL" = ( @@ -3797,7 +3797,7 @@ pixel_x = -8; pixel_y = -4 }, -/obj/item/weapon/storage/lockbox, +/obj/item/storage/lockbox, /turf/simulated/floor/tiled/dark, /area/tether/surfacebase/security/outfitting/storage) "afP" = ( @@ -3820,11 +3820,11 @@ /area/tether/surfacebase/security/armory) "afT" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/gun/energy/laser{ +/obj/item/gun/energy/laser{ pixel_x = -1; pixel_y = -11 }, -/obj/item/weapon/gun/energy/laser{ +/obj/item/gun/energy/laser{ pixel_x = -1; pixel_y = 2 }, @@ -3835,7 +3835,7 @@ /area/tether/surfacebase/security/armory) "afU" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle, /obj/machinery/atmospherics/unary/vent_pump/on, /obj/machinery/camera/network/security, /turf/simulated/floor/tiled/dark, @@ -3882,7 +3882,7 @@ /obj/structure/bed/chair{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -4160,13 +4160,13 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, /obj/structure/table/steel, -/obj/item/weapon/storage/box/nifsofts_security, -/obj/item/weapon/hand_labeler, +/obj/item/storage/box/nifsofts_security, +/obj/item/hand_labeler, /turf/simulated/floor/tiled/dark, /area/tether/surfacebase/security/outfitting) "agA" = ( @@ -4454,8 +4454,8 @@ /area/tether/surfacebase/medical/resleeving) "ahd" = ( /obj/structure/bookcase, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/manual/security_space_law, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/wiki/security_space_law, /obj/machinery/light{ dir = 1 }, @@ -4504,8 +4504,8 @@ /area/tether/surfacebase/security/detective/officeb) "ahk" = ( /obj/structure/bookcase, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/manual/security_space_law, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/wiki/security_space_law, /obj/machinery/light{ dir = 1 }, @@ -4570,8 +4570,8 @@ /obj/machinery/light{ dir = 8 }, -/obj/item/device/holowarrant, -/obj/item/device/ticket_printer, +/obj/item/holowarrant, +/obj/item/ticket_printer, /turf/simulated/floor/tiled/dark, /area/tether/surfacebase/security/outfitting) "ahp" = ( @@ -4628,14 +4628,14 @@ dir = 8; pixel_x = 24 }, -/obj/item/device/holowarrant, +/obj/item/holowarrant, /obj/effect/floor_decal/borderfloorblack/corner2{ dir = 6 }, /obj/effect/floor_decal/corner/red/bordercorner2{ dir = 6 }, -/obj/item/device/ticket_printer, +/obj/item/ticket_printer, /turf/simulated/floor/tiled/dark, /area/tether/surfacebase/security/outfitting) "ahu" = ( @@ -4710,12 +4710,12 @@ /area/tether/surfacebase/security/armory) "ahz" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/gun/projectile/shotgun/pump{ +/obj/item/gun/projectile/shotgun/pump{ ammo_type = /obj/item/ammo_casing/a12g/pellet; pixel_x = 2; pixel_y = -6 }, -/obj/item/weapon/gun/projectile/shotgun/pump{ +/obj/item/gun/projectile/shotgun/pump{ ammo_type = /obj/item/ammo_casing/a12g/pellet; pixel_x = 1; pixel_y = 4 @@ -4852,7 +4852,7 @@ dir = 4 }, /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/examroom) "ahL" = ( @@ -4927,30 +4927,30 @@ /area/tether/surfacebase/security/detective/officea) "ahT" = ( /obj/structure/closet/secure_closet/detective, -/obj/item/weapon/reagent_containers/spray/pepper, -/obj/item/weapon/gun/energy/taser, -/obj/item/device/camera{ +/obj/item/reagent_containers/spray/pepper, +/obj/item/gun/energy/taser, +/obj/item/camera{ desc = "A one use - polaroid camera. 30 photos left."; name = "detectives camera"; pictures_left = 30; pixel_x = 2; pixel_y = 3 }, -/obj/item/device/ticket_printer, +/obj/item/ticket_printer, /turf/simulated/floor/carpet, /area/tether/surfacebase/security/detective/officea) "ahU" = ( /obj/structure/closet/secure_closet/detective, -/obj/item/weapon/reagent_containers/spray/pepper, -/obj/item/weapon/gun/energy/taser, -/obj/item/device/camera{ +/obj/item/reagent_containers/spray/pepper, +/obj/item/gun/energy/taser, +/obj/item/camera{ desc = "A one use - polaroid camera. 30 photos left."; name = "detectives camera"; pictures_left = 30; pixel_x = 2; pixel_y = 3 }, -/obj/item/device/ticket_printer, +/obj/item/ticket_printer, /turf/simulated/floor/carpet, /area/tether/surfacebase/security/detective/officeb) "ahV" = ( @@ -5020,8 +5020,8 @@ dir = 8; pixel_x = -24 }, -/obj/item/device/holowarrant, -/obj/item/device/ticket_printer, +/obj/item/holowarrant, +/obj/item/ticket_printer, /turf/simulated/floor/tiled/dark, /area/tether/surfacebase/security/outfitting) "aid" = ( @@ -5084,22 +5084,22 @@ dir = 8 }, /obj/structure/closet/secure_closet/security, -/obj/item/device/holowarrant, -/obj/item/device/ticket_printer, +/obj/item/holowarrant, +/obj/item/ticket_printer, /turf/simulated/floor/tiled/dark, /area/tether/surfacebase/security/outfitting) "aii" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/box/holowarrants, -/obj/item/weapon/storage/box/flashbangs{ +/obj/item/storage/box/holowarrants, +/obj/item/storage/box/flashbangs{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/storage/box/handcuffs{ +/obj/item/storage/box/handcuffs{ pixel_x = 6; pixel_y = -2 }, -/obj/item/weapon/storage/box/evidence, +/obj/item/storage/box/evidence, /obj/machinery/power/apc{ dir = 8; name = "west bump"; @@ -5233,7 +5233,7 @@ /obj/machinery/camera/network/medbay{ dir = 1 }, -/obj/item/weapon/cane, +/obj/item/cane, /obj/structure/table/glass, /obj/structure/cable/green{ icon_state = "0-8" @@ -5680,11 +5680,11 @@ /area/tether/surfacebase/medical/morgue) "aiY" = ( /obj/structure/table/woodentable, -/obj/item/device/taperecorder{ +/obj/item/taperecorder{ pixel_x = -4; pixel_y = 2 }, -/obj/item/weapon/handcuffs, +/obj/item/handcuffs, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, @@ -5750,11 +5750,11 @@ /area/tether/surfacebase/security/detective/officeb) "ajf" = ( /obj/structure/table/woodentable, -/obj/item/device/taperecorder{ +/obj/item/taperecorder{ pixel_x = -4; pixel_y = 2 }, -/obj/item/weapon/handcuffs, +/obj/item/handcuffs, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, @@ -5798,8 +5798,8 @@ dir = 9 }, /obj/structure/closet/secure_closet/security, -/obj/item/device/holowarrant, -/obj/item/device/ticket_printer, +/obj/item/holowarrant, +/obj/item/ticket_printer, /turf/simulated/floor/tiled/dark, /area/tether/surfacebase/security/outfitting) "ajk" = ( @@ -5886,22 +5886,22 @@ /obj/effect/floor_decal/borderfloorblack/corner2, /obj/effect/floor_decal/corner/red/bordercorner2, /obj/structure/closet/secure_closet/security, -/obj/item/device/holowarrant, -/obj/item/device/ticket_printer, +/obj/item/holowarrant, +/obj/item/ticket_printer, /turf/simulated/floor/tiled/dark, /area/tether/surfacebase/security/outfitting) "ajp" = ( /obj/structure/table/steel, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -3 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 3 }, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -5962,12 +5962,12 @@ /obj/item/clothing/shoes/leg_guard/riot, /obj/item/clothing/suit/armor/riot/alt, /obj/item/clothing/head/helmet/riot, -/obj/item/weapon/shield/riot, +/obj/item/shield/riot, /obj/item/clothing/gloves/arm_guard/riot, /obj/item/clothing/shoes/leg_guard/riot, /obj/item/clothing/suit/armor/riot/alt, /obj/item/clothing/head/helmet/riot, -/obj/item/weapon/shield/riot, +/obj/item/shield/riot, /obj/structure/window/reinforced{ dir = 8 }, @@ -6267,7 +6267,7 @@ /area/maintenance/lower/public_garden_maintenence/upper) "ajW" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /obj/machinery/button/windowtint/multitint{ id = "detoffice1"; pixel_x = -24; @@ -6289,9 +6289,9 @@ /area/tether/surfacebase/security/detective/officea) "ajY" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin, +/obj/item/paper_bin, /obj/item/clothing/glasses/sunglasses, -/obj/item/weapon/pen/blue{ +/obj/item/pen/blue{ pixel_x = 5; pixel_y = 5 }, @@ -6308,9 +6308,9 @@ /area/tether/surfacebase/security/detective/officeb) "akb" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin, +/obj/item/paper_bin, /obj/item/clothing/glasses/sunglasses, -/obj/item/weapon/pen/blue{ +/obj/item/pen/blue{ pixel_x = 5; pixel_y = 5 }, @@ -6334,7 +6334,7 @@ /area/tether/surfacebase/security/detective/officeb) "akd" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /obj/machinery/button/windowtint/multitint{ id = "detoffice0"; pixel_x = 24; @@ -6416,20 +6416,20 @@ /area/tether/surfacebase/security/outfitting/storage) "akk" = ( /obj/structure/table/steel, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -6; pixel_y = 3 }, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon{ pixel_x = 5; pixel_y = 3 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -1; pixel_y = 4 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = -6; pixel_y = -3 }, @@ -6514,8 +6514,8 @@ /area/tether/surfacebase/medical/uppersouthstairwell) "aku" = ( /obj/structure/table/steel, -/obj/item/device/sleevemate, -/obj/item/device/camera{ +/obj/item/sleevemate, +/obj/item/camera{ name = "Autopsy Camera"; pixel_x = -2; pixel_y = 7 @@ -6527,9 +6527,9 @@ /area/tether/surfacebase/medical/morgue) "akv" = ( /obj/structure/bookcase/manuals/medical, -/obj/item/weapon/book/manual/resleeving, -/obj/item/weapon/book/manual/stasis, -/obj/item/weapon/book/manual/medical_diagnostics_manual{ +/obj/item/book/manual/resleeving, +/obj/item/book/manual/stasis, +/obj/item/book/manual/wiki/medical_diagnostics_manual{ pixel_y = 7 }, /obj/effect/floor_decal/corner/paleblue/diagonal, @@ -7362,11 +7362,11 @@ /area/tether/surfacebase/medical/morgue) "alJ" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/box/bodybags{ +/obj/item/storage/box/bodybags{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/box/bodybags, +/obj/item/storage/box/bodybags, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, @@ -7385,9 +7385,9 @@ /area/tether/surfacebase/medical/morgue) "alL" = ( /obj/structure/table/steel, -/obj/item/weapon/surgical/scalpel, -/obj/item/weapon/autopsy_scanner, -/obj/item/weapon/surgical/cautery, +/obj/item/surgical/scalpel, +/obj/item/autopsy_scanner, +/obj/item/surgical/cautery, /obj/effect/floor_decal/techfloor, /turf/simulated/floor/tiled/techfloor, /area/tether/surfacebase/medical/morgue) @@ -7643,7 +7643,7 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -8090,7 +8090,7 @@ "amM" = ( /obj/effect/floor_decal/corner/paleblue/diagonal, /obj/structure/table/glass, -/obj/item/device/universal_translator, +/obj/item/universal_translator, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/breakroom) "amN" = ( @@ -8443,19 +8443,19 @@ }, /obj/structure/table/rack/shelf/steel, /obj/machinery/atmospherics/unary/vent_pump/on, -/obj/item/weapon/gun/energy/gun{ +/obj/item/gun/energy/gun{ pixel_y = 7 }, -/obj/item/weapon/gun/energy/gun{ +/obj/item/gun/energy/gun{ pixel_y = -5 }, -/obj/item/weapon/gun/energy/gun{ +/obj/item/gun/energy/gun{ pixel_y = -5 }, -/obj/item/weapon/gun/energy/gun{ +/obj/item/gun/energy/gun{ pixel_y = 7 }, -/obj/item/weapon/gun/energy/gun{ +/obj/item/gun/energy/gun{ pixel_y = -5 }, /turf/simulated/floor/tiled/dark, @@ -8536,7 +8536,7 @@ /area/maintenance/lower/mining) "anF" = ( /obj/effect/floor_decal/corner/paleblue/diagonal, -/obj/item/weapon/deck/cards, +/obj/item/deck/cards, /obj/structure/table/glass, /obj/effect/landmark/vermin, /turf/simulated/floor/tiled/white, @@ -8582,7 +8582,7 @@ /obj/machinery/light{ dir = 4 }, -/obj/item/weapon/storage/box/cups{ +/obj/item/storage/box/cups{ pixel_x = 8; pixel_y = 8 }, @@ -8686,7 +8686,7 @@ /area/maintenance/lower/bar) "anV" = ( /obj/effect/floor_decal/rust, -/obj/item/weapon/pen/crayon/red, +/obj/item/pen/crayon/red, /turf/simulated/floor, /area/maintenance/lower/north) "anW" = ( @@ -8717,7 +8717,7 @@ /turf/simulated/floor/tiled/techfloor, /area/maintenance/lower/north) "aob" = ( -/obj/item/weapon/pickaxe/hand, +/obj/item/pickaxe/hand, /obj/effect/floor_decal/rust, /turf/simulated/floor, /area/maintenance/lower/north) @@ -8944,7 +8944,7 @@ /obj/machinery/computer/prisoner{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -9283,13 +9283,13 @@ /turf/simulated/floor/tiled/techfloor, /area/maintenance/lower/north) "aoT" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, /obj/effect/floor_decal/corner/paleblue/diagonal, /obj/structure/table/standard, -/obj/item/weapon/storage/mre/random, +/obj/item/storage/mre/random, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, @@ -9314,7 +9314,7 @@ /area/tether/surfacebase/medical/recoveryward) "aoW" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/structure/curtain/open/privacy, /obj/effect/floor_decal/borderfloorwhite{ dir = 4 @@ -9809,7 +9809,7 @@ /obj/machinery/computer/secure_data{ dir = 4 }, -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ dir = 8; pixel_x = -24 }, @@ -9883,7 +9883,7 @@ "apR" = ( /obj/structure/window/reinforced, /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/gun/energy/ionrifle/pistol, +/obj/item/gun/energy/ionrifle/pistol, /obj/structure/window/reinforced{ dir = 8 }, @@ -9895,8 +9895,8 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, -/obj/item/weapon/storage/box/trackimp, -/obj/item/weapon/storage/box/trackimp, +/obj/item/storage/box/trackimp, +/obj/item/storage/box/trackimp, /turf/simulated/floor/tiled/dark, /area/tether/surfacebase/security/armory) "apT" = ( @@ -9981,7 +9981,7 @@ /area/maintenance/substation/medsec) "aqc" = ( /obj/effect/floor_decal/corner/paleblue/diagonal, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 4; pixel_x = 24 }, @@ -10077,7 +10077,7 @@ /turf/simulated/floor/plating, /area/maintenance/lower/rnd) "aqo" = ( -/obj/item/weapon/storage/fancy/cigar/havana, +/obj/item/storage/fancy/cigar/havana, /obj/random/drinkbottle, /turf/simulated/floor/plating, /area/tether/surfacebase/surface_two_hall) @@ -10330,17 +10330,17 @@ /area/tether/surfacebase/security/warden) "aqL" = ( /obj/structure/table/reinforced, -/obj/item/weapon/clipboard, -/obj/item/weapon/folder/red, -/obj/item/weapon/paper_bin{ +/obj/item/clipboard, +/obj/item/folder/red, +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/stamp/ward, -/obj/item/weapon/stamp/denied{ +/obj/item/stamp/ward, +/obj/item/stamp/denied{ pixel_x = 5 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/structure/cable/green{ icon_state = "1-2" }, @@ -10354,8 +10354,8 @@ /area/tether/surfacebase/security/warden) "aqM" = ( /obj/structure/table/reinforced, -/obj/item/device/retail_scanner/security, -/obj/item/device/radio{ +/obj/item/retail_scanner/security, +/obj/item/radio{ pixel_x = -4 }, /obj/machinery/atmospherics/unary/vent_pump/on{ @@ -10627,7 +10627,7 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -10879,7 +10879,7 @@ }, /obj/item/clothing/shoes/magboots, /obj/item/clothing/shoes/magboots, -/obj/item/device/personal_shield_generator/security/loaded, +/obj/item/personal_shield_generator/security/loaded, /turf/simulated/floor/tiled, /area/tether/surfacebase/security/evastorage) "arK" = ( @@ -10893,9 +10893,9 @@ /area/tether/surfacebase/security/evastorage) "arL" = ( /obj/structure/table/reinforced, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, -/obj/item/weapon/cell/high{ +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, @@ -11138,7 +11138,7 @@ dir = 5 }, /obj/structure/table/steel, -/obj/item/weapon/storage/fancy/candle_box, +/obj/item/storage/fancy/candle_box, /turf/simulated/floor/tiled/techfloor, /area/maintenance/lower/bar) "ask" = ( @@ -11357,7 +11357,7 @@ /turf/simulated/floor/tiled, /area/tether/surfacebase/security/middlehall) "asE" = ( -/obj/item/weapon/book/manual/security_space_law, +/obj/item/book/manual/wiki/security_space_law, /obj/item/gunbox/warden, /obj/structure/closet/secure_closet/warden, /obj/machinery/light, @@ -11370,8 +11370,8 @@ /obj/structure/cable/green{ icon_state = "4-8" }, -/obj/item/device/ticket_printer, -/obj/item/weapon/gun/energy/sizegun, +/obj/item/ticket_printer, +/obj/item/gun/energy/sizegun, /turf/simulated/floor/tiled/dark, /area/tether/surfacebase/security/warden) "asF" = ( @@ -11393,7 +11393,7 @@ desc = "Not the most comfy, but useful for napping when no one is in the brig."; name = "cot" }, -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /obj/machinery/camera/network/security{ dir = 10 }, @@ -11412,9 +11412,9 @@ /area/tether/surfacebase/security/warden) "asI" = ( /obj/structure/table/reinforced, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/hand_labeler, +/obj/item/tool/crowbar, +/obj/item/tool/wrench, +/obj/item/hand_labeler, /obj/effect/floor_decal/borderfloor{ dir = 6 }, @@ -11431,8 +11431,8 @@ dir = 8; layer = 2.6 }, -/obj/item/weapon/tank/jetpack/carbondioxide, -/obj/item/weapon/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, /obj/machinery/camera/network/security{ dir = 5 }, @@ -11452,10 +11452,10 @@ /area/tether/surfacebase/security/evastorage) "asL" = ( /obj/structure/table/reinforced, -/obj/item/device/gps/security{ +/obj/item/gps/security{ pixel_y = 3 }, -/obj/item/device/gps/security{ +/obj/item/gps/security{ pixel_x = -3 }, /obj/effect/floor_decal/borderfloor{ @@ -11543,7 +11543,7 @@ /turf/simulated/floor/tiled/techfloor, /area/maintenance/lower/north) "asU" = ( -/obj/item/weapon/material/twohanded/baseballbat{ +/obj/item/material/twohanded/baseballbat{ desc = "This bat looks very off."; health = 500 }, @@ -11639,10 +11639,10 @@ /area/tether/surfacebase/medical/bathroom) "atc" = ( /obj/structure/table/standard, -/obj/item/device/t_scanner, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/storage/briefcase/inflatable, +/obj/item/t_scanner, +/obj/item/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, +/obj/item/storage/briefcase/inflatable, /obj/random/maintenance/clean, /obj/random/maintenance/medical, /obj/random/maintenance/research, @@ -11663,7 +11663,7 @@ /area/tether/surfacebase/medical/recoveryward) "ate" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/structure/curtain/open/privacy, /obj/machinery/camera/network/medbay{ dir = 8 @@ -11714,7 +11714,7 @@ /turf/simulated/floor, /area/maintenance/lower/south) "atj" = ( -/obj/item/weapon/newspaper, +/obj/item/newspaper, /turf/simulated/floor, /area/maintenance/lower/south) "atk" = ( @@ -12262,14 +12262,14 @@ dir = 4 }, /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/purple, +/obj/item/bedsheet/purple, /turf/simulated/floor/tiled/techfloor, /area/maintenance/lower/bar) "aue" = ( /obj/structure/table/steel, /obj/random/medical/lite, /obj/item/stack/cable_coil, -/obj/item/weapon/tape_roll, +/obj/item/tape_roll, /turf/simulated/floor/tiled/techfloor, /area/maintenance/lower/bar) "auf" = ( @@ -12277,7 +12277,7 @@ dir = 4 }, /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/mime, +/obj/item/bedsheet/mime, /turf/simulated/floor/tiled/techfloor, /area/maintenance/lower/bar) "aug" = ( @@ -12828,7 +12828,7 @@ "avf" = ( /obj/structure/table/steel, /obj/machinery/recharger, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /obj/random/drinkbottle, /obj/random/paicard, /turf/simulated/floor/tiled/techfloor, @@ -12847,8 +12847,8 @@ /turf/simulated/open/virgo3b, /area/tether/surfacebase/outside/outside2) "avi" = ( -/obj/item/weapon/storage/box/glasses/pint, -/obj/item/weapon/storage/box/glass_extras/straws, +/obj/item/storage/box/glasses/pint, +/obj/item/storage/box/glass_extras/straws, /obj/structure/table/standard{ name = "plastic table frame" }, @@ -12858,7 +12858,7 @@ /obj/effect/floor_decal/corner/lime/border{ dir = 10 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /obj/machinery/camera/network/civilian{ @@ -13247,7 +13247,7 @@ dir = 4 }, /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/red, +/obj/item/bedsheet/red, /obj/effect/floor_decal/techfloor/hole/right{ dir = 4 }, @@ -13498,7 +13498,7 @@ /obj/random/toy, /obj/random/tech_supply, /obj/random/junk, -/obj/item/weapon/flame/lighter/zippo, +/obj/item/flame/lighter/zippo, /turf/simulated/floor/plating, /area/maintenance/lower/bar) "aws" = ( @@ -13524,10 +13524,10 @@ /area/maintenance/lower/bar) "awv" = ( /obj/structure/closet/wardrobe/pjs, -/obj/item/weapon/handcuffs/fuzzy, -/obj/item/weapon/handcuffs/fuzzy, -/obj/item/weapon/handcuffs/legcuffs/fuzzy, -/obj/item/weapon/handcuffs/fuzzy, +/obj/item/handcuffs/fuzzy, +/obj/item/handcuffs/fuzzy, +/obj/item/handcuffs/legcuffs/fuzzy, +/obj/item/handcuffs/fuzzy, /obj/item/clothing/accessory/shiny/socks, /obj/item/clothing/under/shiny/catsuit, /obj/item/clothing/accessory/shiny/gloves, @@ -13821,7 +13821,7 @@ /area/tether/surfacebase/security/interrogation) "axc" = ( /obj/structure/table/steel, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/tiled/dark, /area/tether/surfacebase/security/interrogation) "axd" = ( @@ -13940,7 +13940,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 27 @@ -14032,7 +14032,7 @@ dir = 9 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/item/weapon/deck/cah/black{ +/obj/item/deck/cah/black{ pixel_x = 5; pixel_y = 29 }, @@ -14338,7 +14338,7 @@ /turf/simulated/floor/tiled/techmaint, /area/tether/surfacebase/surface_two_hall) "aye" = ( -/obj/item/device/radio/beacon, +/obj/item/radio/beacon, /turf/simulated/floor/tiled/techmaint, /area/tether/surfacebase/surface_two_hall) "ayf" = ( @@ -15042,7 +15042,7 @@ /area/teleporter) "azN" = ( /obj/structure/table/standard, -/obj/item/weapon/hand_tele, +/obj/item/hand_tele, /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/machinery/alarm{ pixel_y = 22 @@ -15050,11 +15050,11 @@ /turf/simulated/floor/tiled/dark, /area/teleporter) "azO" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/industrial/warning{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -15159,7 +15159,7 @@ /obj/effect/floor_decal/industrial/warning{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -15249,9 +15249,9 @@ /obj/item/clothing/mask/gas, /obj/item/clothing/mask/gas, /obj/item/clothing/mask/gas, -/obj/item/device/gps/command, -/obj/item/device/gps/command, -/obj/item/device/gps/command, +/obj/item/gps/command, +/obj/item/gps/command, +/obj/item/gps/command, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, @@ -15356,11 +15356,11 @@ /area/tether/surfacebase/fish_farm) "aAz" = ( /obj/structure/table/rack, -/obj/item/weapon/material/fishing_rod/modern/cheap, -/obj/item/weapon/material/fishing_rod/modern/cheap, -/obj/item/weapon/material/fishing_rod/modern/cheap, -/obj/item/weapon/material/fishing_rod/modern/cheap, -/obj/item/weapon/material/fishing_rod/modern/cheap, +/obj/item/material/fishing_rod/modern/cheap, +/obj/item/material/fishing_rod/modern/cheap, +/obj/item/material/fishing_rod/modern/cheap, +/obj/item/material/fishing_rod/modern/cheap, +/obj/item/material/fishing_rod/modern/cheap, /obj/machinery/firealarm{ dir = 4; pixel_x = 24 @@ -15459,7 +15459,7 @@ /turf/simulated/floor/tiled/dark, /area/teleporter) "aAO" = ( -/obj/item/device/radio/beacon, +/obj/item/radio/beacon, /turf/simulated/floor/tiled/dark, /area/teleporter) "aAP" = ( @@ -15591,11 +15591,11 @@ /area/tether/surfacebase/fish_farm) "aBg" = ( /obj/structure/table/rack, -/obj/item/weapon/material/fishing_net, -/obj/item/weapon/material/fishing_net, -/obj/item/weapon/material/fishing_net, -/obj/item/weapon/material/fishing_net, -/obj/item/weapon/material/fishing_net, +/obj/item/material/fishing_net, +/obj/item/material/fishing_net, +/obj/item/material/fishing_net, +/obj/item/material/fishing_net, +/obj/item/material/fishing_net, /obj/machinery/camera/network/civilian{ dir = 9 }, @@ -15733,7 +15733,7 @@ /obj/effect/floor_decal/borderfloor/corner2{ dir = 6 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -16278,7 +16278,7 @@ }, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/lightgrey/border, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -28 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -16895,7 +16895,7 @@ /obj/structure/cable/green{ icon_state = "4-8" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/tiled/dark, @@ -18392,8 +18392,8 @@ /area/maintenance/lower/rnd) "aGB" = ( /obj/structure/table/steel, -/obj/item/weapon/handcuffs/fuzzy, -/obj/item/weapon/handcuffs/legcuffs/fuzzy, +/obj/item/handcuffs/fuzzy, +/obj/item/handcuffs/legcuffs/fuzzy, /turf/simulated/floor/plating, /area/maintenance/lower/south) "aGC" = ( @@ -18587,7 +18587,7 @@ /turf/simulated/floor/carpet/sblucarpet, /area/bridge/meeting_room) "aHb" = ( -/obj/item/weapon/book/manual/security_space_law, +/obj/item/book/manual/wiki/security_space_law, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, @@ -18595,7 +18595,7 @@ /turf/simulated/floor/carpet/sblucarpet, /area/bridge/meeting_room) "aHc" = ( -/obj/item/weapon/folder/red, +/obj/item/folder/red, /obj/structure/disposalpipe/segment, /obj/structure/table/fancyblack, /turf/simulated/floor/carpet/sblucarpet, @@ -18671,7 +18671,7 @@ /area/maintenance/asmaint2) "aHn" = ( /obj/effect/decal/cleanable/blood, -/obj/item/device/tape{ +/obj/item/rectape{ desc = "No Talk" }, /obj/item/clothing/suit/varsity/brown{ @@ -18718,11 +18718,11 @@ /turf/simulated/floor/carpet/sblucarpet, /area/bridge/meeting_room) "aHs" = ( -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, @@ -18730,7 +18730,7 @@ /turf/simulated/floor/carpet/sblucarpet, /area/bridge/meeting_room) "aHt" = ( -/obj/item/weapon/folder/blue, +/obj/item/folder/blue, /obj/structure/disposalpipe/segment, /obj/structure/table/fancyblack, /turf/simulated/floor/carpet/sblucarpet, @@ -18746,7 +18746,7 @@ /turf/simulated/floor/carpet/sblucarpet, /area/bridge/meeting_room) "aHv" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -18849,7 +18849,7 @@ /obj/item/clothing/under/pants{ desc = "Overdose" }, -/obj/item/weapon/material/twohanded/baseballbat{ +/obj/item/material/twohanded/baseballbat{ desc = "Decadence"; health = 1989 }, @@ -19391,8 +19391,8 @@ pixel_y = 32; shut_up = 0 }, -/obj/item/weapon/tool/wirecutters, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wirecutters, +/obj/item/tool/wrench, /turf/simulated/floor/tiled/techfloor/grid, /area/maintenance/lower/atmos) "aIL" = ( @@ -19423,7 +19423,7 @@ /area/rnd/rdoffice) "aIQ" = ( /obj/structure/table/steel, -/obj/item/weapon/tape_roll, +/obj/item/tape_roll, /obj/item/stack/medical/bruise_pack, /turf/simulated/floor/tiled/techfloor, /area/maintenance/lower/atmos) @@ -19469,7 +19469,7 @@ /area/bridge/meeting_room) "aIW" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/box/cups, +/obj/item/storage/box/cups, /obj/machinery/camera/network/command{ dir = 9 }, @@ -19566,7 +19566,7 @@ /area/rnd/rdoffice) "aJk" = ( /obj/structure/closet/secure_closet/RD, -/obj/item/device/aicard, +/obj/item/aicard, /obj/item/clothing/glasses/omnihud/rnd, /obj/effect/floor_decal/borderfloor{ dir = 9 @@ -19583,7 +19583,7 @@ /obj/effect/floor_decal/corner/mauve/border{ dir = 1 }, -/obj/item/weapon/rig/hazmat/equipped, +/obj/item/rig/hazmat/equipped, /obj/structure/table/rack, /obj/machinery/light_switch{ pixel_y = 36 @@ -20297,7 +20297,7 @@ /area/chapel/main) "aKK" = ( /obj/structure/table/steel, -/obj/item/device/nif/bad, +/obj/item/nif/bad, /turf/simulated/floor/plating, /area/maintenance/lower/atmos) "aKL" = ( @@ -20382,18 +20382,18 @@ /area/rnd/rdoffice) "aKS" = ( /obj/structure/table/glass, -/obj/item/weapon/folder/white_rd, -/obj/item/weapon/stamp/rd, +/obj/item/folder/white_rd, +/obj/item/stamp/rd, /turf/simulated/floor/tiled, /area/rnd/rdoffice) "aKT" = ( /obj/structure/table/glass, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/device/megaphone, -/obj/item/weapon/paper/monitorkey, +/obj/item/megaphone, +/obj/item/paper/monitorkey, /obj/effect/floor_decal/borderfloor{ dir = 4 }, @@ -20557,11 +20557,11 @@ /area/tether/surfacebase/surface_two_hall) "aLl" = ( /obj/structure/table/woodentable, -/obj/item/weapon/pen/blue{ +/obj/item/pen/blue{ pixel_x = 2; pixel_y = 1 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -2; pixel_y = 8 }, @@ -20579,7 +20579,7 @@ /area/chapel/office) "aLn" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp{ +/obj/item/flashlight/lamp{ pixel_x = 2; pixel_y = 7 }, @@ -20618,7 +20618,7 @@ /area/chapel/main) "aLs" = ( /obj/structure/table/rack, -/obj/item/device/flashlight, +/obj/item/flashlight, /obj/random/maintenance/clean, /obj/random/maintenance/clean, /obj/structure/catwalk, @@ -20756,7 +20756,7 @@ /area/maintenance/substation/research) "aLF" = ( /obj/random/junk, -/obj/item/weapon/broken_bottle, +/obj/item/broken_bottle, /turf/simulated/floor/plating, /area/maintenance/lower/atmos) "aLG" = ( @@ -20924,7 +20924,7 @@ /turf/simulated/wall, /area/maintenance/lower/south) "aLZ" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ broadcasting = 1; frequency = 1473; name = "Confession Intercom"; @@ -20953,7 +20953,7 @@ /turf/simulated/floor, /area/chapel/main) "aMb" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ broadcasting = 1; frequency = 1473; name = "Confession Intercom"; @@ -21248,8 +21248,8 @@ /area/tether/surfacebase/surface_two_hall) "aMJ" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/bottle/holywater, -/obj/item/weapon/nullrod, +/obj/item/reagent_containers/food/drinks/bottle/holywater, +/obj/item/nullrod, /obj/machinery/light/small, /turf/simulated/floor/lino, /area/chapel/office) @@ -21262,11 +21262,11 @@ /area/chapel/office) "aML" = ( /obj/structure/closet/wardrobe/chaplain_black, -/obj/item/weapon/storage/fancy/crayons, -/obj/item/weapon/flame/candle/candelabra, -/obj/item/weapon/flame/candle/candelabra, -/obj/item/weapon/flame/candle/candelabra, -/obj/item/weapon/flame/candle/candelabra, +/obj/item/storage/fancy/crayons, +/obj/item/flame/candle/candelabra, +/obj/item/flame/candle/candelabra, +/obj/item/flame/candle/candelabra, +/obj/item/flame/candle/candelabra, /turf/simulated/floor/lino, /area/chapel/office) "aMM" = ( @@ -21393,8 +21393,8 @@ /area/rnd/rdoffice) "aMW" = ( /obj/structure/table/standard, -/obj/item/weapon/cartridge/signal/science, -/obj/item/weapon/cartridge/signal/science, +/obj/item/cartridge/signal/science, +/obj/item/cartridge/signal/science, /obj/item/clothing/glasses/welding/superior, /obj/structure/window/reinforced{ dir = 8 @@ -21421,14 +21421,14 @@ /area/rnd/rdoffice) "aMX" = ( /obj/structure/table/standard, -/obj/item/device/taperecorder{ +/obj/item/taperecorder{ pixel_x = -3 }, /obj/random/paicard{ pixel_x = 4 }, -/obj/item/weapon/circuitboard/teleporter, -/obj/item/weapon/circuitboard/aicore{ +/obj/item/circuitboard/teleporter, +/obj/item/circuitboard/aicore{ pixel_x = -2; pixel_y = 4 }, @@ -21565,13 +21565,13 @@ /obj/structure/catwalk, /obj/structure/table/steel, /obj/random/cigarettes, -/obj/item/weapon/flame/lighter/random, +/obj/item/flame/lighter/random, /turf/simulated/floor/plating, /area/maintenance/lower/atmos) "aNq" = ( /obj/structure/catwalk, /obj/structure/table/steel, -/obj/item/weapon/flame/candle, +/obj/item/flame/candle, /turf/simulated/floor/plating, /area/maintenance/lower/atmos) "aNr" = ( @@ -21828,9 +21828,9 @@ /area/engineering/lower/lobby) "aNL" = ( /obj/structure/bookcase, -/obj/item/weapon/book/manual/engineering_guide, -/obj/item/weapon/book/manual/engineering_construction, -/obj/item/weapon/book/manual/atmospipes, +/obj/item/book/manual/wiki/engineering_guide, +/obj/item/book/manual/wiki/engineering_construction, +/obj/item/book/manual/atmospipes, /turf/simulated/floor/tiled/dark, /area/engineering/lower/breakroom) "aNM" = ( @@ -22850,8 +22850,8 @@ /obj/effect/floor_decal/corner_techfloor_grid{ dir = 4 }, -/obj/item/weapon/material/minihoe, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/material/minihoe, +/obj/item/reagent_containers/glass/bucket, /obj/item/seeds/random, /obj/item/seeds/random, /obj/item/seeds/random, @@ -23003,9 +23003,9 @@ dir = 1 }, /obj/item/clothing/suit/fire/firefighter, -/obj/item/weapon/tank/oxygen, +/obj/item/tank/oxygen, /obj/item/clothing/mask/gas, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /obj/item/clothing/head/hardhat/red, /obj/item/clothing/glasses/meson, /obj/random/maintenance/clean, @@ -23134,8 +23134,8 @@ /area/engineering/lower/breakroom) "aQj" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/cups, -/obj/item/weapon/storage/box/cups, +/obj/item/storage/box/cups, +/obj/item/storage/box/cups, /obj/machinery/camera/network/engineering{ dir = 8 }, @@ -23684,14 +23684,14 @@ dir = 5 }, /obj/structure/table/standard, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 6 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_y = 3 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = -3 }, /obj/machinery/firealarm{ @@ -23793,9 +23793,9 @@ /area/tether/surfacebase/east_stairs_two) "aRB" = ( /obj/structure/closet, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, /turf/simulated/floor/plating, /area/maintenance/lower/public_garden_maintenence/upper) "aRC" = ( @@ -23949,8 +23949,8 @@ dir = 4 }, /obj/structure/table/standard, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, /turf/simulated/floor/tiled, /area/engineering/lower/atmos_eva) "aRT" = ( @@ -24805,7 +24805,7 @@ dir = 8 }, /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; nightshift_setting = 2; @@ -24891,7 +24891,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/item/weapon/stool, +/obj/item/stool, /turf/simulated/floor/tiled, /area/engineering/lower/atmos_lockers) "aTL" = ( @@ -25191,7 +25191,7 @@ pixel_x = -5; pixel_y = 3 }, -/obj/item/weapon/storage/box/nifsofts_engineering, +/obj/item/storage/box/nifsofts_engineering, /turf/simulated/floor/tiled, /area/engineering/lower/atmos_lockers) "aUy" = ( @@ -25217,9 +25217,9 @@ /obj/structure/table/standard, /obj/item/clothing/gloves/black, /obj/item/clothing/gloves/black, -/obj/item/weapon/storage/belt/utility/atmostech, -/obj/item/weapon/cartridge/atmos, -/obj/item/device/floor_painter, +/obj/item/storage/belt/utility/atmostech, +/obj/item/cartridge/atmos, +/obj/item/floor_painter, /turf/simulated/floor/tiled, /area/engineering/lower/atmos_lockers) "aUA" = ( @@ -25343,7 +25343,7 @@ /obj/effect/floor_decal/corner/purple/border{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 27 @@ -25548,7 +25548,7 @@ dir = 8 }, /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; nightshift_setting = 2; @@ -26644,7 +26644,7 @@ /turf/simulated/floor/tiled, /area/janitor) "aXj" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/landmark/start{ name = "Janitor" }, @@ -26659,11 +26659,11 @@ dir = 4 }, /obj/structure/table/steel, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/machinery/firealarm{ dir = 4; pixel_x = 24 @@ -26881,7 +26881,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/landmark/start{ name = "Janitor" }, @@ -26902,16 +26902,16 @@ dir = 4 }, /obj/structure/table/steel, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/soap/nanotrasen, -/obj/item/weapon/soap/nanotrasen, -/obj/item/weapon/soap/nanotrasen, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/soap/nanotrasen, +/obj/item/soap/nanotrasen, +/obj/item/soap/nanotrasen, /obj/structure/extinguisher_cabinet{ dir = 8; pixel_x = 30 @@ -27208,8 +27208,8 @@ dir = 8 }, /obj/structure/mopbucket, -/obj/item/weapon/mop, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/mop, +/obj/item/reagent_containers/glass/bucket, /turf/simulated/floor/tiled, /area/janitor) "aYA" = ( @@ -27217,16 +27217,16 @@ /obj/effect/floor_decal/corner/purple/border, /obj/machinery/light, /obj/structure/mopbucket, -/obj/item/weapon/mop, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/mop, +/obj/item/reagent_containers/glass/bucket, /turf/simulated/floor/tiled, /area/janitor) "aYB" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/purple/border, /obj/structure/mopbucket, -/obj/item/weapon/mop, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/mop, +/obj/item/reagent_containers/glass/bucket, /turf/simulated/floor/tiled, /area/janitor) "aYC" = ( @@ -27267,7 +27267,7 @@ /turf/simulated/floor/tiled/techfloor/grid, /area/engineering/drone_fabrication) "aYF" = ( -/obj/item/weapon/stool, +/obj/item/stool, /turf/simulated/floor/tiled/techmaint, /area/engineering/drone_fabrication) "aYG" = ( @@ -27347,7 +27347,7 @@ dir = 4 }, /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /obj/random/medical/lite, /turf/simulated/floor/tiled, /area/engineering/atmos/monitoring) @@ -27518,11 +27518,11 @@ dir = 4 }, /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled, /area/engineering/atmos/monitoring) "aZq" = ( @@ -27996,7 +27996,7 @@ "baS" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /obj/structure/closet/firecloset, -/obj/item/weapon/handcuffs, +/obj/item/handcuffs, /obj/effect/decal/cleanable/cobweb, /turf/simulated/floor/tiled/steel_dirty, /area/maintenance/asmaint2) @@ -28066,13 +28066,13 @@ /area/maintenance/lower/south) "bbm" = ( /obj/structure/table/steel, -/obj/item/weapon/flame/candle, -/obj/item/weapon/flame/candle, -/obj/item/weapon/flame/lighter, +/obj/item/flame/candle, +/obj/item/flame/candle, +/obj/item/flame/lighter, /turf/simulated/floor/plating, /area/maintenance/lower/south) "bbn" = ( -/obj/item/device/camera, +/obj/item/camera, /obj/structure/table/steel, /turf/simulated/floor/plating, /area/maintenance/lower/south) @@ -28274,7 +28274,7 @@ /area/maintenance/lower/atmos) "bca" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet/rainbow, +/obj/item/bedsheet/rainbow, /turf/simulated/floor/wood, /area/maintenance/lower/atmos) "bcd" = ( @@ -28424,7 +28424,7 @@ /turf/simulated/floor/wood, /area/maintenance/lower/atmos) "bcQ" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/random/action_figure, /turf/simulated/floor/plating, /area/maintenance/lower/atmos) @@ -28573,7 +28573,7 @@ /area/maintenance/lower/atmos) "bdl" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/teapot, +/obj/item/reagent_containers/food/drinks/teapot, /turf/simulated/floor/wood, /area/maintenance/lower/atmos) "bdm" = ( @@ -28811,8 +28811,8 @@ /area/maintenance/lower/atmos) "bdH" = ( /obj/structure/table/steel, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/screwdriver, +/obj/item/tool/crowbar, +/obj/item/tool/screwdriver, /obj/effect/decal/cleanable/cobweb, /turf/simulated/floor/tiled/techfloor/grid, /area/maintenance/lower/atmos) @@ -28820,9 +28820,9 @@ /obj/machinery/optable{ name = "Robotics Operating Table" }, -/obj/item/weapon/bone/ribs, -/obj/item/weapon/handcuffs/legcuffs, -/obj/item/weapon/handcuffs, +/obj/item/bone/ribs, +/obj/item/handcuffs/legcuffs, +/obj/item/handcuffs, /obj/effect/floor_decal/rust, /obj/effect/decal/cleanable/blood, /turf/simulated/floor/tiled/techfloor/grid, @@ -28884,8 +28884,8 @@ /area/maintenance/lower/atmos) "bdZ" = ( /obj/structure/table/steel, -/obj/item/weapon/hand_labeler, -/obj/item/weapon/storage/fancy/candle_box, +/obj/item/hand_labeler, +/obj/item/storage/fancy/candle_box, /turf/simulated/floor/plating, /area/maintenance/lower/atmos) "beb" = ( @@ -28964,7 +28964,7 @@ /turf/simulated/floor/tiled/white, /area/rnd/outpost/xenobiology/outpost_slimepens) "beo" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -29047,7 +29047,7 @@ /turf/simulated/floor/plating, /area/maintenance/lower/atmos) "bez" = ( -/obj/item/weapon/stool, +/obj/item/stool, /turf/simulated/floor/plating, /area/maintenance/lower/atmos) "beA" = ( @@ -29155,12 +29155,12 @@ /area/maintenance/lower/atmos) "beU" = ( /obj/structure/table/steel, -/obj/item/weapon/paper_bin, +/obj/item/paper_bin, /turf/simulated/floor/plating, /area/maintenance/lower/atmos) "beV" = ( /obj/structure/table/steel, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/plating, /area/maintenance/lower/atmos) "beW" = ( @@ -29298,7 +29298,7 @@ }, /obj/machinery/atmospherics/pipe/simple/visible/supply, /obj/machinery/atmospherics/pipe/simple/visible/scrubbers, -/obj/item/device/radio/intercom/locked/ai_private{ +/obj/item/radio/intercom/locked/ai_private{ dir = 4; pixel_x = 32 }, @@ -29638,9 +29638,9 @@ /area/vacant/vacant_bar_upper) "bhi" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/reagent_containers/food/drinks/bottle/vermouth, -/obj/item/weapon/reagent_containers/food/drinks/bottle/rum, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cognac, +/obj/item/reagent_containers/food/drinks/bottle/vermouth, +/obj/item/reagent_containers/food/drinks/bottle/rum, +/obj/item/reagent_containers/food/drinks/bottle/cognac, /turf/simulated/floor/wood, /area/vacant/vacant_bar_upper) "bhj" = ( @@ -29740,7 +29740,7 @@ dir = 8 }, /obj/structure/table/glass, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /turf/simulated/floor/wood, /area/tether/surfacebase/reading_room) "bhK" = ( @@ -29843,7 +29843,7 @@ /obj/machinery/alarm{ pixel_y = 22 }, -/obj/item/weapon/bananapeel, +/obj/item/bananapeel, /turf/simulated/floor/plating, /area/maintenance/lower/atmos) "bhU" = ( @@ -29862,8 +29862,8 @@ /area/vacant/vacant_bar_upper) "bhX" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/reagent_containers/food/drinks/bottle/space_mountain_wind, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cola, +/obj/item/reagent_containers/food/drinks/bottle/space_mountain_wind, +/obj/item/reagent_containers/food/drinks/bottle/cola, /turf/simulated/floor/wood, /area/vacant/vacant_bar_upper) "bih" = ( @@ -29994,10 +29994,10 @@ /area/vacant/vacant_bar_upper) "biu" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, -/obj/item/weapon/reagent_containers/food/drinks/bottle/limejuice, -/obj/item/weapon/reagent_containers/food/drinks/bottle/lemonjuice, +/obj/item/reagent_containers/food/drinks/bottle/orangejuice, +/obj/item/reagent_containers/food/drinks/bottle/cream, +/obj/item/reagent_containers/food/drinks/bottle/limejuice, +/obj/item/reagent_containers/food/drinks/bottle/lemonjuice, /obj/machinery/light{ dir = 4 }, @@ -30005,8 +30005,8 @@ /area/vacant/vacant_bar_upper) "biJ" = ( /obj/structure/table/glass, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, @@ -30121,19 +30121,19 @@ /area/vacant/vacant_bar_upper) "biX" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/weapon/reagent_containers/food/drinks/bottle/goldschlager, -/obj/item/weapon/reagent_containers/food/drinks/bottle/sake, -/obj/item/weapon/reagent_containers/food/drinks/bottle/kahlua, -/obj/item/weapon/reagent_containers/food/drinks/bottle/wine, -/obj/item/weapon/reagent_containers/food/drinks/bottle/patron, -/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe, -/obj/item/weapon/reagent_containers/food/drinks/bottle/tequilla, -/obj/item/weapon/reagent_containers/food/drinks/bottle/specialwhiskey, +/obj/item/reagent_containers/food/drinks/bottle/goldschlager, +/obj/item/reagent_containers/food/drinks/bottle/sake, +/obj/item/reagent_containers/food/drinks/bottle/kahlua, +/obj/item/reagent_containers/food/drinks/bottle/wine, +/obj/item/reagent_containers/food/drinks/bottle/patron, +/obj/item/reagent_containers/food/drinks/bottle/absinthe, +/obj/item/reagent_containers/food/drinks/bottle/tequilla, +/obj/item/reagent_containers/food/drinks/bottle/specialwhiskey, /turf/simulated/floor/wood, /area/vacant/vacant_bar_upper) "bje" = ( /obj/structure/table/glass, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /obj/structure/sign/painting/public{ pixel_x = -30 }, @@ -30311,7 +30311,7 @@ /area/rnd/outpost/xenobiology/outpost_slimepens) "bjI" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/double, +/obj/item/bedsheet/double, /obj/structure/curtain/open/privacy, /turf/simulated/floor/wood, /area/vacant/vacant_bar_upper) @@ -30735,7 +30735,7 @@ /area/maintenance/lower/atmos) "bkW" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/double, +/obj/item/bedsheet/double, /obj/structure/curtain/open/privacy, /obj/effect/decal/cleanable/blood, /turf/simulated/floor/wood, @@ -31324,7 +31324,7 @@ /obj/machinery/computer/med_data/laptop{ dir = 4 }, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 8; pixel_x = -24 }, @@ -31867,7 +31867,7 @@ dir = 4 }, /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 1; name = "north bump"; pixel_y = 24 @@ -31940,7 +31940,7 @@ /area/tether/surfacebase/funny/hideyhole) "eKi" = ( /obj/effect/floor_decal/borderfloor, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/tiled/techmaint, @@ -31997,7 +31997,7 @@ /turf/simulated/floor/beach/sand/desert, /area/tether/surfacebase/fish_farm) "frf" = ( -/obj/item/weapon/paper{ +/obj/item/paper{ info = "I finally got them. The last pair of Shitty Tim's Shitty Timbs. I waited in line at the cargo shop for what seemed like hours. It probably was hours quite frankly. Well after I got my box, someone ran by and jacked my heels! Well I needed shoes so I snuck inside and stole what they had left. Just a pair of NT worshoes. But atleast I'm not walking away barefooted. If only I wasn't caught by a security. I feel like I've been in this hole for days. Good thing I managed to pilfer some provisions on the way here."; name = "Pilferer's note" }, @@ -32062,7 +32062,7 @@ /turf/simulated/floor/plating, /area/maintenance/lower/mining) "gaR" = ( -/obj/item/device/radio/intercom/locked/ai_private{ +/obj/item/radio/intercom/locked/ai_private{ dir = 4; pixel_x = 32 }, @@ -32280,7 +32280,7 @@ /area/maintenance/lower/north) "ilH" = ( /obj/structure/table/standard, -/obj/item/weapon/aiModule/reset, +/obj/item/aiModule/reset, /obj/machinery/alarm{ dir = 4; pixel_x = -28 @@ -32289,14 +32289,14 @@ /area/ai_upload) "ilX" = ( /obj/structure/table/standard, -/obj/item/weapon/aiModule/nanotrasen, +/obj/item/aiModule/nanotrasen, /obj/machinery/camera/network/command, /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/bluegrid, /area/ai_upload) "iol" = ( /obj/structure/table/standard, -/obj/item/weapon/aiModule/freeform, +/obj/item/aiModule/freeform, /obj/machinery/light{ dir = 1 }, @@ -32698,7 +32698,7 @@ /turf/simulated/floor/tiled/techmaint, /area/tether/surfacebase/surface_two_hall) "lMw" = ( -/obj/item/device/radio/intercom/locked/ai_private{ +/obj/item/radio/intercom/locked/ai_private{ dir = 4; pixel_x = 32 }, @@ -32809,7 +32809,7 @@ /turf/simulated/floor/tiled/techfloor, /area/maintenance/lower/south) "nbT" = ( -/obj/item/device/radio/intercom/locked/ai_private{ +/obj/item/radio/intercom/locked/ai_private{ dir = 4; pixel_x = 32 }, @@ -32844,20 +32844,20 @@ /area/tether/surfacebase/medical/breakroom) "nAh" = ( /obj/structure/table/standard, -/obj/item/weapon/aiModule/asimov, -/obj/item/weapon/aiModule/freeformcore, -/obj/item/weapon/aiModule/corp, -/obj/item/weapon/aiModule/paladin, -/obj/item/weapon/aiModule/robocop, +/obj/item/aiModule/asimov, +/obj/item/aiModule/freeformcore, +/obj/item/aiModule/corp, +/obj/item/aiModule/paladin, +/obj/item/aiModule/robocop, /turf/simulated/floor/bluegrid, /area/ai_upload) "nBC" = ( /obj/structure/table/standard, -/obj/item/weapon/aiModule/consuming_eradicator, -/obj/item/weapon/aiModule/guard_dog, -/obj/item/weapon/aiModule/pleasurebot, -/obj/item/weapon/aiModule/protective_shell, -/obj/item/weapon/aiModule/scientific_pursuer, +/obj/item/aiModule/consuming_eradicator, +/obj/item/aiModule/guard_dog, +/obj/item/aiModule/pleasurebot, +/obj/item/aiModule/protective_shell, +/obj/item/aiModule/scientific_pursuer, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, @@ -32871,11 +32871,11 @@ /area/maintenance/lower/north) "nJO" = ( /obj/structure/table/standard, -/obj/item/weapon/aiModule/oxygen, -/obj/item/weapon/aiModule/oneHuman, -/obj/item/weapon/aiModule/purge, -/obj/item/weapon/aiModule/antimov, -/obj/item/weapon/aiModule/teleporterOffline, +/obj/item/aiModule/oxygen, +/obj/item/aiModule/oneHuman, +/obj/item/aiModule/purge, +/obj/item/aiModule/antimov, +/obj/item/aiModule/teleporterOffline, /turf/simulated/floor/bluegrid, /area/ai_upload) "nOG" = ( @@ -32889,7 +32889,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/table/glass, -/obj/item/weapon/deck/cah, +/obj/item/deck/cah, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/breakroom) @@ -32923,10 +32923,10 @@ /turf/simulated/floor/tiled/techfloor/grid, /area/ai_upload) "olc" = ( -/obj/item/weapon/grenade/chem_grenade/cleaner{ +/obj/item/grenade/chem_grenade/cleaner{ pixel_x = -10 }, -/obj/item/weapon/grenade/anti_photon, +/obj/item/grenade/anti_photon, /turf/simulated/floor/plating, /area/tether/surfacebase/funny/hideyhole) "omM" = ( @@ -32985,7 +32985,7 @@ /area/ai) "pKA" = ( /obj/structure/table/standard, -/obj/item/weapon/phone, +/obj/item/phone, /obj/machinery/atmospherics/unary/vent_pump/on, /obj/machinery/power/apc{ dir = 1; @@ -33014,13 +33014,13 @@ /obj/structure/closet/crate{ name = "Camera Assembly Crate" }, -/obj/item/weapon/camera_assembly, -/obj/item/weapon/camera_assembly, -/obj/item/weapon/camera_assembly, -/obj/item/weapon/camera_assembly, -/obj/item/weapon/camera_assembly, -/obj/item/weapon/camera_assembly, -/obj/item/device/radio/intercom/locked/ai_private{ +/obj/item/camera_assembly, +/obj/item/camera_assembly, +/obj/item/camera_assembly, +/obj/item/camera_assembly, +/obj/item/camera_assembly, +/obj/item/camera_assembly, +/obj/item/radio/intercom/locked/ai_private{ dir = 1; pixel_y = 32 }, @@ -33323,12 +33323,12 @@ /turf/simulated/floor/water/indoors, /area/tether/surfacebase/fish_farm) "shd" = ( -/obj/item/weapon/storage/rollingpapers, +/obj/item/storage/rollingpapers, /obj/item/clothing/mask/smokable/cigarette/joint, /obj/item/clothing/mask/smokable/cigarette/joint, /obj/item/clothing/mask/smokable/cigarette/cigar/cohiba, /obj/item/clothing/mask/smokable/cigarette/cigar/cohiba, -/obj/item/weapon/flame/lighter/zippo/moff, +/obj/item/flame/lighter/zippo/moff, /turf/simulated/floor/plating, /area/tether/surfacebase/funny/hideyhole) "skm" = ( @@ -33658,17 +33658,17 @@ pixel_x = -32; pixel_y = 32 }, -/obj/item/device/radio/intercom/locked/ai_private{ +/obj/item/radio/intercom/locked/ai_private{ dir = 4; pixel_x = 32 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ broadcasting = 1; dir = 8; name = "Common Channel"; pixel_x = -21 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -33925,7 +33925,7 @@ /turf/simulated/floor/tiled/techfloor, /area/ai_upload) "wKz" = ( -/obj/item/device/radio/intercom/locked/ai_private{ +/obj/item/radio/intercom/locked/ai_private{ dir = 4; pixel_x = 32 }, diff --git a/maps/tether/tether-03-surface3.dmm b/maps/tether/tether-03-surface3.dmm index 4396ff2656a..0dda1b83f05 100644 --- a/maps/tether/tether-03-surface3.dmm +++ b/maps/tether/tether-03-surface3.dmm @@ -143,7 +143,7 @@ /obj/structure/table/bench/steel, /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/machinery/camera/network/security, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -241,7 +241,7 @@ /area/tether/surfacebase/security/iaa) "aav" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/cups, +/obj/item/storage/box/cups, /obj/effect/floor_decal/borderfloor{ dir = 1 }, @@ -412,8 +412,8 @@ dir = 4 }, /obj/structure/closet/secure_closet/medical3, -/obj/item/weapon/soap/nanotrasen, -/obj/item/weapon/storage/belt/medical, +/obj/item/soap/nanotrasen, +/obj/item/storage/belt/medical, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/storage) "aaK" = ( @@ -427,14 +427,14 @@ dir = 10 }, /obj/structure/closet/secure_closet/medical3, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /obj/effect/floor_decal/borderfloorwhite{ dir = 4 }, /obj/effect/floor_decal/corner/paleblue/border{ dir = 4 }, -/obj/item/weapon/storage/belt/medical, +/obj/item/storage/belt/medical, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/storage) "aaL" = ( @@ -545,7 +545,7 @@ /obj/machinery/status_display{ pixel_x = -32 }, -/obj/item/weapon/gun/energy/mouseray/medical, +/obj/item/gun/energy/mouseray/medical, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/storage) "aaT" = ( @@ -562,8 +562,8 @@ dir = 1 }, /obj/structure/closet/secure_closet/medical3, -/obj/item/weapon/soap/nanotrasen, -/obj/item/weapon/storage/belt/medical, +/obj/item/soap/nanotrasen, +/obj/item/storage/belt/medical, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/storage) "aaU" = ( @@ -645,14 +645,14 @@ /area/tether/surfacebase/security/upperhall) "aaZ" = ( /obj/structure/table/standard, -/obj/item/device/defib_kit/loaded, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/defib_kit/loaded, +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; pixel_y = 2 }, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 4; pixel_x = 24 }, @@ -675,7 +675,7 @@ /obj/structure/table/standard, /obj/random/tetheraid, /obj/random/tetheraid, -/obj/item/weapon/storage/secure/briefcase/ml3m_pack_med, +/obj/item/storage/secure/briefcase/ml3m_pack_med, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/storage) "abc" = ( @@ -704,7 +704,7 @@ /area/tether/surfacebase/outside/outside3) "abe" = ( /obj/structure/closet, -/obj/item/weapon/reagent_containers/food/drinks/bottle/tequilla, +/obj/item/reagent_containers/food/drinks/bottle/tequilla, /turf/simulated/floor/plating, /area/maintenance/lower/medsec_maintenance) "abf" = ( @@ -818,7 +818,7 @@ /obj/random/maintenance/medical, /obj/random/maintenance/clean, /obj/random/junk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/rum{ +/obj/item/reagent_containers/food/drinks/bottle/rum{ desc = "TASTE DEMOCRACY"; name = "Managed Democra-cider" }, @@ -838,8 +838,8 @@ /area/tether/surfacebase/medical/triage) "abp" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/surgery, -/obj/item/device/radio/intercom{ +/obj/item/storage/firstaid/surgery, +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 24 @@ -908,7 +908,7 @@ dir = 1 }, /obj/structure/closet/secure_closet/medical3, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /obj/effect/floor_decal/borderfloorwhite{ dir = 4 }, @@ -918,7 +918,7 @@ /obj/machinery/camera/network/medbay{ dir = 8 }, -/obj/item/weapon/storage/belt/medical, +/obj/item/storage/belt/medical, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/storage) "abv" = ( @@ -1115,7 +1115,7 @@ /area/tether/surfacebase/security/iaa) "abK" = ( /obj/machinery/computer/security, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 24 @@ -1210,7 +1210,7 @@ /area/maintenance/lower/medsec_maintenance) "abS" = ( /obj/structure/table/steel, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ desc = "Taste liberty"; name = "Cup of Liber-tea" }, @@ -1591,11 +1591,11 @@ /area/maintenance/lower/medsec_maintenance) "acx" = ( /obj/structure/table/glass, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = -4; pixel_y = 4 }, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = 4; pixel_y = -4 }, @@ -1658,13 +1658,13 @@ /area/tether/surfacebase/security/iaa) "acC" = ( /obj/structure/table/steel, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen/multi, +/obj/item/pen/multi, /obj/random/tetheraid, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /obj/effect/floor_decal/borderfloor{ dir = 10 }, @@ -1675,19 +1675,19 @@ /area/tether/surfacebase/security/upperhall) "acD" = ( /obj/structure/table/steel, -/obj/item/weapon/hand_labeler, -/obj/item/weapon/packageWrap, +/obj/item/hand_labeler, +/obj/item/packageWrap, /obj/structure/reagent_dispensers/peppertank{ pixel_y = -30 }, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/red/border, -/obj/item/device/ticket_printer, +/obj/item/ticket_printer, /turf/simulated/floor/tiled, /area/tether/surfacebase/security/upperhall) "acE" = ( /obj/machinery/computer/secure_data, -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ dir = 1; pixel_y = 24 }, @@ -1701,12 +1701,12 @@ /obj/machinery/light{ dir = 8 }, -/obj/item/device/ticket_printer, +/obj/item/ticket_printer, /turf/simulated/floor/wood, /area/tether/surfacebase/security/hos) "acG" = ( /obj/structure/table/steel, -/obj/item/weapon/folder/red, +/obj/item/folder/red, /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/tiled, /area/tether/surfacebase/security/briefingroom) @@ -1743,9 +1743,9 @@ /area/tether/surfacebase/security/upperhall) "acK" = ( /obj/structure/bookcase, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/manual/standard_operating_procedure, -/obj/item/weapon/book/manual/command_guide, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/standard_operating_procedure, +/obj/item/book/manual/command_guide, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, @@ -1820,8 +1820,8 @@ /area/tether/surfacebase/medical/admin) "acQ" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/dropper, /obj/machinery/power/apc{ dir = 4; name = "east bump"; @@ -1836,7 +1836,7 @@ /obj/effect/floor_decal/corner/paleblue/border{ dir = 4 }, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the 'Space' from Space Cleaner and written in Chemistry. Scrawled on the back is, 'Okay, whoever filled this with polytrinic acid, it was only funny the first time. It was hard enough replacing the CMO's first cat!'"; name = "Chemistry Cleaner" }, @@ -2008,7 +2008,7 @@ /area/tether/surfacebase/security/iaa) "adg" = ( /obj/structure/table/steel, -/obj/item/device/camera, +/obj/item/camera, /obj/effect/floor_decal/borderfloor{ dir = 8 }, @@ -2019,8 +2019,8 @@ dir = 4; pixel_x = -22 }, -/obj/item/device/retail_scanner/security, -/obj/item/device/taperecorder, +/obj/item/retail_scanner/security, +/obj/item/taperecorder, /turf/simulated/floor/tiled, /area/tether/surfacebase/security/processing) "adh" = ( @@ -2137,11 +2137,11 @@ /area/tether/surfacebase/security/upperhall) "ado" = ( /obj/structure/table/reinforced, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = 4; pixel_y = 4 }, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = -4 }, /obj/machinery/recharger, @@ -2191,7 +2191,7 @@ /turf/simulated/floor/tiled, /area/tether/surfacebase/security/briefingroom) "ads" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 24 @@ -2272,7 +2272,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /turf/simulated/floor/tiled/dark, /area/tether/surfacebase/security/iaa/officea) "ady" = ( @@ -2427,7 +2427,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /turf/simulated/floor/tiled/dark, /area/tether/surfacebase/security/iaa/officeb) "adQ" = ( @@ -2494,7 +2494,7 @@ /area/tether/surfacebase/security/upperhall) "adU" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/box/evidence, +/obj/item/storage/box/evidence, /obj/effect/floor_decal/borderfloor{ dir = 8 }, @@ -2518,7 +2518,7 @@ pixel_x = 1; pixel_y = 1 }, -/obj/item/weapon/storage/toolbox/emergency{ +/obj/item/storage/toolbox/emergency{ pixel_x = 2; pixel_y = 1 }, @@ -2531,10 +2531,10 @@ /obj/effect/floor_decal/corner/paleblue/border{ dir = 8 }, -/obj/item/weapon/storage/box/lights/mixed{ +/obj/item/storage/box/lights/mixed{ pixel_y = 4 }, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_x = -2; pixel_y = -2 }, @@ -2558,7 +2558,7 @@ /area/tether/surfacebase/security/lobby) "adY" = ( /obj/structure/table/steel, -/obj/item/weapon/folder/red, +/obj/item/folder/red, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, @@ -2582,7 +2582,7 @@ /area/tether/surfacebase/medical/surgery1) "aeb" = ( /obj/structure/table/steel, -/obj/item/weapon/folder/red, +/obj/item/folder/red, /turf/simulated/floor/tiled, /area/tether/surfacebase/security/briefingroom) "aec" = ( @@ -2602,7 +2602,7 @@ /obj/effect/floor_decal/corner/paleblue/border{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -2662,14 +2662,14 @@ /obj/item/clothing/accessory/stethoscope, /obj/item/clothing/accessory/stethoscope, /obj/item/clothing/accessory/stethoscope, -/obj/item/weapon/storage/box/syringes{ +/obj/item/storage/box/syringes{ pixel_y = 9 }, -/obj/item/weapon/storage/box/syringes{ +/obj/item/storage/box/syringes{ pixel_y = 9 }, /obj/random/medical, -/obj/item/weapon/storage/box/beakers{ +/obj/item/storage/box/beakers{ pixel_x = 14; pixel_y = 10 }, @@ -2840,11 +2840,11 @@ dir = 4; pixel_x = 28 }, -/obj/item/device/flash, -/obj/item/device/flash, +/obj/item/flash, +/obj/item/flash, /obj/random/drinkbottle, -/obj/item/device/camera_film, -/obj/item/device/tape/random, +/obj/item/camera_film, +/obj/item/rectape/random, /turf/simulated/floor/tiled, /area/tether/surfacebase/security/iaa/officecommon) "aeu" = ( @@ -3146,10 +3146,10 @@ dir = 4 }, /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{ +/obj/item/reagent_containers/glass/beaker/cryoxadone{ pixel_x = -4 }, -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{ +/obj/item/reagent_containers/glass/beaker/cryoxadone{ pixel_x = 7; pixel_y = 1 }, @@ -3172,11 +3172,11 @@ dir = 8 }, /obj/structure/table/glass, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/gloves{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/box/masks, +/obj/item/storage/box/masks, /obj/machinery/alarm{ dir = 4; pixel_x = -22 @@ -3185,13 +3185,13 @@ /area/tether/surfacebase/medical/triage) "aeS" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; pixel_y = 2 }, -/obj/item/device/healthanalyzer, +/obj/item/healthanalyzer, /obj/machinery/alarm{ pixel_y = 32 }, @@ -3307,9 +3307,9 @@ icon_state = "0-2" }, /obj/structure/closet/crate/freezer, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/surgery1) "afc" = ( @@ -3494,7 +3494,7 @@ /turf/simulated/floor/tiled, /area/rnd/xenobiology/xenoflora_storage) "afr" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -3821,7 +3821,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -3852,11 +3852,11 @@ /area/hydroponics) "afU" = ( /obj/structure/table/steel, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled, /area/tether/surfacebase/security/processing) "afV" = ( @@ -3888,7 +3888,7 @@ "afX" = ( /obj/machinery/portable_atmospherics/canister/oxygen/prechilled, /obj/machinery/atmospherics/portables_connector, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /obj/machinery/door/window/brigdoor/southright{ req_access = list(); req_one_access = list(5) @@ -4189,7 +4189,7 @@ "agy" = ( /obj/structure/disposalpipe/segment, /obj/structure/table/steel, -/obj/item/weapon/storage/bag/circuits/basic, +/obj/item/storage/bag/circuits/basic, /obj/machinery/alarm{ dir = 4; pixel_x = -22 @@ -4389,7 +4389,7 @@ /obj/effect/floor_decal/borderfloorwhite/corner2, /obj/effect/floor_decal/corner/paleblue/bordercorner2, /obj/structure/table/glass, -/obj/item/device/healthanalyzer/guide, +/obj/item/healthanalyzer/guide, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/triage) "agN" = ( @@ -4429,7 +4429,7 @@ }, /obj/machinery/recharger, /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/item/device/ticket_printer, +/obj/item/ticket_printer, /turf/simulated/floor/tiled, /area/tether/surfacebase/security/lobby) "agQ" = ( @@ -4490,7 +4490,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, -/obj/item/weapon/storage/box/donut, +/obj/item/storage/box/donut, /turf/simulated/floor/tiled, /area/tether/surfacebase/security/lobby) "agU" = ( @@ -5100,8 +5100,8 @@ /obj/machinery/injector_maker{ pixel_x = -27 }, -/obj/item/weapon/hand_labeler, -/obj/item/weapon/packageWrap, +/obj/item/hand_labeler, +/obj/item/packageWrap, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/triage) "ahP" = ( @@ -5177,11 +5177,11 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 4; pixel_y = 7 }, -/obj/item/weapon/pen/blue{ +/obj/item/pen/blue{ pixel_x = 5; pixel_y = 5 }, @@ -5479,7 +5479,7 @@ /turf/simulated/floor/tiled, /area/tether/surfacebase/surface_three_hall/nwest) "ais" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -5491,10 +5491,10 @@ /area/rnd/xenobiology/xenoflora_storage) "aiu" = ( /obj/structure/table/steel, -/obj/item/device/integrated_electronics/debugger{ +/obj/item/integrated_electronics/debugger{ pixel_x = -5 }, -/obj/item/device/integrated_electronics/wirer{ +/obj/item/integrated_electronics/wirer{ pixel_x = 5 }, /obj/machinery/atmospherics/unary/vent_pump/on, @@ -5512,7 +5512,7 @@ /area/tether/surfacebase/surface_three_hall) "aiw" = ( /obj/structure/table/steel, -/obj/item/device/integrated_circuit_printer, +/obj/item/integrated_circuit_printer, /obj/effect/floor_decal/techfloor{ dir = 1 }, @@ -5533,7 +5533,7 @@ /area/tether/surfacebase/surface_three_hall/west) "aiy" = ( /obj/structure/table/steel, -/obj/item/device/electronic_assembly/large/default, +/obj/item/electronic_assembly/large/default, /obj/machinery/light{ dir = 4 }, @@ -5825,8 +5825,8 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/manual/security_space_law, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/wiki/security_space_law, /turf/simulated/floor/tiled/techfloor/grid, /area/tether/surfacebase/security/lobby) "aiV" = ( @@ -6084,7 +6084,7 @@ /obj/effect/floor_decal/techfloor{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -6289,7 +6289,7 @@ }, /obj/structure/table/steel, /obj/effect/floor_decal/rust, -/obj/item/device/gps/science, +/obj/item/gps/science, /turf/simulated/floor/plating, /area/rnd/research_storage) "ajJ" = ( @@ -6726,10 +6726,10 @@ /area/tether/surfacebase/surface_three_hall) "akt" = ( /obj/structure/table/steel, -/obj/item/device/integrated_electronics/debugger{ +/obj/item/integrated_electronics/debugger{ pixel_x = -5 }, -/obj/item/device/integrated_electronics/wirer{ +/obj/item/integrated_electronics/wirer{ pixel_x = 5 }, /obj/effect/floor_decal/techfloor, @@ -6809,7 +6809,7 @@ dir = 9 }, /obj/structure/table/glass, -/obj/item/device/healthanalyzer/guide, +/obj/item/healthanalyzer/guide, /obj/machinery/camera/network/medbay{ dir = 1 }, @@ -6828,7 +6828,7 @@ /area/tether/surfacebase/medical/chemistry) "akB" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/beakers, +/obj/item/storage/box/beakers, /obj/effect/floor_decal/borderfloorwhite{ dir = 4 }, @@ -6841,8 +6841,8 @@ /obj/effect/floor_decal/corner/paleblue/bordercorner2{ dir = 5 }, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/dropper, /obj/machinery/light{ dir = 4 }, @@ -7586,8 +7586,8 @@ /area/tether/surfacebase/surface_three_hall) "amd" = ( /obj/structure/table/glass, -/obj/item/weapon/material/ashtray/plastic, -/obj/item/device/radio/intercom{ +/obj/item/material/ashtray/plastic, +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -7804,7 +7804,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /obj/machinery/camera/network/tether{ @@ -8020,7 +8020,7 @@ /obj/effect/floor_decal/corner/mauve/border{ dir = 10 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/tiled, @@ -8082,7 +8082,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /obj/effect/floor_decal/borderfloorblack, @@ -8237,11 +8237,11 @@ "anA" = ( /obj/structure/table/standard, /obj/machinery/cell_charger, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, @@ -8732,8 +8732,8 @@ pixel_y = -25 }, /obj/structure/table/steel, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, @@ -8742,8 +8742,8 @@ "aoB" = ( /obj/machinery/light/small, /obj/structure/mopbucket, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/mop, +/obj/item/reagent_containers/glass/bucket, +/obj/item/mop, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 }, @@ -8964,7 +8964,7 @@ }) "aoY" = ( /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -30 @@ -9880,7 +9880,7 @@ /turf/simulated/floor/water/pool, /area/crew_quarters/pool) "aqC" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -10256,7 +10256,7 @@ /turf/simulated/floor/tiled, /area/rnd/xenobiology/xenoflora) "arp" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -10737,7 +10737,7 @@ /area/rnd/research) "asc" = ( /obj/structure/table/woodentable, -/obj/item/weapon/coin/silver, +/obj/item/coin/silver, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, @@ -10880,7 +10880,7 @@ /area/tether/surfacebase/surface_three_hall) "ass" = ( /obj/structure/table/glass, -/obj/item/weapon/inflatable_duck, +/obj/item/inflatable_duck, /obj/effect/floor_decal/spline/plain{ dir = 8 }, @@ -11003,10 +11003,10 @@ /obj/effect/floor_decal/spline/plain{ dir = 5 }, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 3 }, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -3 }, /obj/machinery/door/blast/gate/thin{ @@ -11171,7 +11171,7 @@ /turf/simulated/floor/grass, /area/hydroponics) "asR" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/light{ dir = 4 }, @@ -11179,7 +11179,7 @@ /area/crew_quarters/pool) "asS" = ( /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -30 @@ -11390,10 +11390,10 @@ /area/tether/surfacebase/surface_three_hall) "atu" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/photo_album{ +/obj/item/storage/photo_album{ pixel_y = -10 }, -/obj/item/weapon/reagent_containers/food/drinks/flask{ +/obj/item/reagent_containers/food/drinks/flask{ pixel_x = 8 }, /obj/machinery/atmospherics/unary/vent_scrubber/on{ @@ -11403,7 +11403,7 @@ dir = 1; pixel_y = -24 }, -/obj/item/weapon/reagent_containers/food/drinks/bottle/carnoth, +/obj/item/reagent_containers/food/drinks/bottle/carnoth, /turf/simulated/floor/wood, /area/crew_quarters/captain) "atv" = ( @@ -11436,10 +11436,10 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/material/minihoe, -/obj/item/weapon/storage/box/botanydisk, -/obj/item/weapon/storage/box/botanydisk, +/obj/item/reagent_containers/glass/bucket, +/obj/item/material/minihoe, +/obj/item/storage/box/botanydisk, +/obj/item/storage/box/botanydisk, /obj/effect/floor_decal/borderfloor{ dir = 4 }, @@ -11547,8 +11547,8 @@ "atM" = ( /obj/structure/table/standard, /obj/effect/floor_decal/corner/grey/diagonal, -/obj/item/weapon/material/knife/butch, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/knife/butch, +/obj/item/material/kitchen/rollingpin, /turf/simulated/floor/tiled/white, /area/crew_quarters/kitchen) "atN" = ( @@ -11560,11 +11560,11 @@ "atO" = ( /obj/effect/floor_decal/corner/grey/diagonal, /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/dropper, -/obj/item/weapon/reagent_containers/food/condiment/enzyme{ +/obj/item/reagent_containers/dropper, +/obj/item/reagent_containers/food/condiment/enzyme{ layer = 5 }, -/obj/item/weapon/reagent_containers/food/condiment/enzyme{ +/obj/item/reagent_containers/food/condiment/enzyme{ layer = 5 }, /obj/machinery/atmospherics/unary/vent_pump/on{ @@ -11609,7 +11609,7 @@ /area/rnd/research) "atV" = ( /obj/structure/table/steel, -/obj/item/device/electronic_assembly/large/default, +/obj/item/electronic_assembly/large/default, /obj/machinery/light, /obj/effect/floor_decal/techfloor{ dir = 10 @@ -11618,8 +11618,8 @@ /area/rnd/workshop) "atW" = ( /obj/structure/table/steel, -/obj/item/device/integrated_circuit_printer, -/obj/item/device/radio/intercom{ +/obj/item/integrated_circuit_printer, +/obj/item/radio/intercom{ pixel_y = -24 }, /obj/effect/floor_decal/techfloor, @@ -11739,7 +11739,7 @@ /turf/simulated/floor/tiled, /area/hallway/lower/third_south) "auf" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/reinforced, @@ -11828,7 +11828,7 @@ /area/rnd/xenobiology/xenoflora) "aup" = ( /obj/structure/reagent_dispensers/watertank, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /obj/effect/floor_decal/borderfloor{ dir = 4 }, @@ -11857,11 +11857,11 @@ /area/rnd/workshop) "aur" = ( /obj/structure/table/standard, -/obj/item/weapon/stock_parts/matter_bin, -/obj/item/weapon/stock_parts/matter_bin, -/obj/item/weapon/stock_parts/console_screen, -/obj/item/weapon/stock_parts/console_screen, -/obj/item/weapon/stock_parts/console_screen, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/console_screen, +/obj/item/stock_parts/console_screen, +/obj/item/stock_parts/console_screen, /obj/machinery/light_switch{ pixel_x = -25 }, @@ -11954,7 +11954,7 @@ /turf/simulated/floor/tiled, /area/rnd/xenobiology/xenoflora) "auz" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -12099,7 +12099,7 @@ /area/tether/surfacebase/surface_three_hall) "auK" = ( /obj/structure/reagent_dispensers/watertank, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /obj/machinery/light{ dir = 4 }, @@ -12139,12 +12139,12 @@ /area/rnd/xenobiology/xenoflora) "auN" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/gloves{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/box/syringes, -/obj/item/weapon/storage/box/beakers{ +/obj/item/storage/box/syringes, +/obj/item/storage/box/beakers{ pixel_x = 2; pixel_y = 2 }, @@ -12264,12 +12264,12 @@ /area/hallway/lower/third_south) "avb" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/beakers{ +/obj/item/storage/box/beakers{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/box/syringes, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/syringes, +/obj/item/storage/box/gloves{ pixel_x = 4; pixel_y = 4 }, @@ -12367,7 +12367,7 @@ pixel_x = -8; pixel_y = -26 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -12453,10 +12453,10 @@ /area/tether/surfacebase/shuttle_pad) "avt" = ( /obj/structure/table/standard, -/obj/item/weapon/stock_parts/micro_laser, -/obj/item/weapon/stock_parts/micro_laser, -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/manipulator, +/obj/item/stock_parts/micro_laser, +/obj/item/stock_parts/micro_laser, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/manipulator, /obj/effect/floor_decal/borderfloor{ dir = 8 }, @@ -12495,7 +12495,7 @@ /turf/simulated/wall, /area/crew_quarters/kitchen) "avz" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /turf/simulated/floor/tiled/white, @@ -12679,13 +12679,13 @@ /area/crew_quarters/captain) "avS" = ( /obj/structure/table/standard, -/obj/item/weapon/stock_parts/scanning_module{ +/obj/item/stock_parts/scanning_module{ pixel_x = 2; pixel_y = 3 }, -/obj/item/weapon/stock_parts/scanning_module, -/obj/item/weapon/stock_parts/capacitor, -/obj/item/weapon/stock_parts/capacitor, +/obj/item/stock_parts/scanning_module, +/obj/item/stock_parts/capacitor, +/obj/item/stock_parts/capacitor, /obj/effect/floor_decal/borderfloor{ dir = 8 }, @@ -12740,18 +12740,18 @@ /area/rnd/research) "avX" = ( /obj/machinery/door/firedoor, -/obj/item/weapon/folder/white, +/obj/item/folder/white, /obj/structure/table/reinforced, /obj/machinery/door/window/brigdoor/westright{ name = "Research Desk"; req_access = list(7); req_one_access = list(47) }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -1; pixel_y = 4 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled/monotile, /area/rnd/research) "avY" = ( @@ -12867,9 +12867,9 @@ dir = 4; pixel_x = 5 }, -/obj/item/weapon/soap/deluxe, +/obj/item/soap/deluxe, /obj/structure/curtain/open/shower, -/obj/item/weapon/bikehorn/rubberducky, +/obj/item/bikehorn/rubberducky, /turf/simulated/floor/tiled/white, /area/crew_quarters/captain) "awk" = ( @@ -13035,7 +13035,7 @@ /turf/simulated/floor/tiled, /area/rnd/research) "awz" = ( -/obj/item/weapon/storage/secure/safe{ +/obj/item/storage/secure/safe{ pixel_x = -24 }, /turf/simulated/floor/wood, @@ -13407,7 +13407,7 @@ /obj/machinery/r_n_d/circuit_imprinter{ dir = 1 }, -/obj/item/weapon/reagent_containers/glass/beaker/sulphuric, +/obj/item/reagent_containers/glass/beaker/sulphuric, /turf/simulated/floor/tiled/dark, /area/rnd/research) "awZ" = ( @@ -13629,8 +13629,8 @@ /area/hallway/lower/third_south) "axx" = ( /obj/structure/table/woodentable, -/obj/item/weapon/packageWrap, -/obj/item/device/destTagger{ +/obj/item/packageWrap, +/obj/item/destTagger{ pixel_x = 4; pixel_y = 3 }, @@ -13785,16 +13785,16 @@ /area/rnd/research/researchdivision) "axJ" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_x = 2; pixel_y = 3 }, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_x = -2; pixel_y = -1 }, /obj/item/clothing/glasses/welding, -/obj/item/weapon/storage/belt/utility, +/obj/item/storage/belt/utility, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, @@ -13836,10 +13836,10 @@ /obj/structure/reagent_dispensers/acid{ pixel_y = -30 }, -/obj/item/weapon/hand_labeler, -/obj/item/weapon/pen, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, +/obj/item/hand_labeler, +/obj/item/pen, +/obj/item/packageWrap, +/obj/item/packageWrap, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, @@ -13849,17 +13849,17 @@ /area/rnd/research) "axM" = ( /obj/structure/table/standard, -/obj/item/weapon/disk/tech_disk, -/obj/item/weapon/disk/tech_disk, -/obj/item/weapon/disk/design_disk, -/obj/item/weapon/disk/design_disk, -/obj/item/weapon/reagent_containers/dropper{ +/obj/item/disk/tech_disk, +/obj/item/disk/tech_disk, +/obj/item/disk/design_disk, +/obj/item/disk/design_disk, +/obj/item/reagent_containers/dropper{ pixel_y = -4 }, /obj/item/clothing/glasses/omnihud/rnd, /obj/item/clothing/gloves/sterile/latex, /obj/machinery/light, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /obj/effect/floor_decal/borderfloor, @@ -13949,8 +13949,8 @@ desc = "There appears to be a shrine to WGW at the back..."; name = "Forbidden Knowledge" }, -/obj/item/weapon/book/manual/engineering_hacking, -/obj/item/weapon/book/manual/nuclear, +/obj/item/book/manual/wiki/engineering_hacking, +/obj/item/book/manual/nuclear, /turf/simulated/floor/carpet, /area/tether/surfacebase/library/study) "axV" = ( @@ -13959,10 +13959,10 @@ }, /obj/structure/closet, /obj/item/clothing/under/suit_jacket/red, -/obj/item/weapon/barcodescanner, -/obj/item/weapon/pen/invisible, -/obj/item/weapon/pen/invisible, -/obj/item/weapon/pen/invisible, +/obj/item/barcodescanner, +/obj/item/pen/invisible, +/obj/item/pen/invisible, +/obj/item/pen/invisible, /obj/item/canvas, /obj/item/canvas/nineteen_nineteen, /obj/item/canvas/twentyfour_twentyfour, @@ -13977,11 +13977,11 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/storage/briefcase{ +/obj/item/storage/briefcase{ pixel_x = -2; pixel_y = -5 }, -/obj/item/weapon/storage/briefcase{ +/obj/item/storage/briefcase{ pixel_x = 3 }, /obj/structure/sign/painting/library_private{ @@ -13999,12 +13999,12 @@ "axY" = ( /obj/structure/table/woodentable, /obj/structure/disposalpipe/segment, -/obj/item/weapon/reagent_containers/food/drinks/flask/vacuumflask, +/obj/item/reagent_containers/food/drinks/flask/vacuumflask, /obj/machinery/camera/network/civilian{ dir = 4 }, -/obj/item/weapon/reagent_containers/glass/rag, -/obj/item/weapon/book/manual/bar_guide, +/obj/item/reagent_containers/glass/rag, +/obj/item/book/manual/bar_guide, /turf/simulated/floor/wood, /area/tether/surfacebase/bar_backroom) "axZ" = ( @@ -14558,7 +14558,7 @@ /obj/structure/noticeboard{ pixel_y = -26 }, -/obj/item/weapon/paper{ +/obj/item/paper{ desc = ""; info = "Please wear hearing and eye protection when testing firearms."; name = "note to science staff" @@ -14724,7 +14724,7 @@ name = "Librarian" }, /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -30 @@ -14860,7 +14860,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, /turf/simulated/floor/lino, @@ -14993,15 +14993,15 @@ }, /obj/item/clothing/glasses/welding, /obj/item/clothing/glasses/welding, -/obj/item/weapon/storage/toolbox/mechanical, -/obj/item/weapon/storage/toolbox/mechanical, -/obj/item/device/multitool{ +/obj/item/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, +/obj/item/multitool{ pixel_x = 3 }, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/storage/belt/utility, -/obj/item/weapon/storage/toolbox/electrical{ +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/storage/belt/utility, +/obj/item/storage/toolbox/electrical{ pixel_x = 1; pixel_y = 6 }, @@ -15023,58 +15023,58 @@ /obj/structure/closet{ name = "robotics parts" }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ empty = 1; name = "First-Aid (empty)" }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ empty = 1; name = "First-Aid (empty)" }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ empty = 1; name = "First-Aid (empty)" }, -/obj/item/device/healthanalyzer, -/obj/item/device/healthanalyzer, -/obj/item/device/healthanalyzer, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, +/obj/item/healthanalyzer, +/obj/item/healthanalyzer, +/obj/item/healthanalyzer, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, /obj/item/stack/cable_coil, /obj/item/stack/cable_coil, -/obj/item/device/assembly/prox_sensor{ +/obj/item/assembly/prox_sensor{ pixel_x = -8; pixel_y = 4 }, -/obj/item/device/assembly/prox_sensor{ +/obj/item/assembly/prox_sensor{ pixel_x = -8; pixel_y = 4 }, @@ -15228,11 +15228,11 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/item/weapon/pen/blue{ +/obj/item/pen/blue{ pixel_x = 5; pixel_y = 5 }, -/obj/item/weapon/pen/red{ +/obj/item/pen/red{ pixel_x = 2; pixel_y = 6 }, @@ -15265,9 +15265,9 @@ /area/rnd/outpost/xenobiology/outpost_breakroom) "azV" = ( /obj/structure/table/woodentable, -/obj/item/device/camera_film, -/obj/item/device/camera_film, -/obj/item/device/taperecorder, +/obj/item/camera_film, +/obj/item/camera_film, +/obj/item/taperecorder, /turf/simulated/floor/carpet, /area/library) "azW" = ( @@ -15544,18 +15544,18 @@ /area/hallway/lower/third_south) "aAw" = ( /obj/structure/table/woodentable, -/obj/item/device/taperecorder, +/obj/item/taperecorder, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, /obj/machinery/newscaster{ pixel_y = -28 }, -/obj/item/device/retail_scanner/civilian{ +/obj/item/retail_scanner/civilian{ dir = 1 }, -/obj/item/device/camera, -/obj/item/device/tape, +/obj/item/camera, +/obj/item/rectape, /obj/structure/sign/painting/library_private{ pixel_x = -30 }, @@ -15581,11 +15581,11 @@ }) "aAy" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen/invisible, +/obj/item/pen/invisible, /obj/machinery/light/small, /turf/simulated/floor/carpet, /area/tether/surfacebase/library/study) @@ -15597,7 +15597,7 @@ /area/library) "aAA" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = 1; pixel_y = 5 }, @@ -15634,11 +15634,11 @@ /area/tether/surfacebase/botanystorage) "aAE" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/carpet, /area/library) "aAF" = ( @@ -15891,9 +15891,9 @@ /area/rnd/robotics) "aBa" = ( /obj/structure/table/standard, -/obj/item/device/lightreplacer, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/lightreplacer, +/obj/item/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /obj/machinery/power/apc{ dir = 8; name = "west bump"; @@ -16056,7 +16056,7 @@ /turf/simulated/floor/tiled, /area/hallway/lower/third_south) "aBl" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/borderfloor{ dir = 4 }, @@ -16100,7 +16100,7 @@ /turf/simulated/floor/tiled/eris/cafe, /area/hydroponics) "aBq" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -28 }, /obj/structure/bed/chair/office/light{ @@ -16147,7 +16147,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, -/obj/item/weapon/paper, +/obj/item/paper, /turf/simulated/floor/carpet, /area/library) "aBw" = ( @@ -16195,7 +16195,7 @@ /turf/simulated/floor/tiled, /area/tether/surfacebase/botanystorage) "aBA" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled, /area/tether/surfacebase/botanystorage) "aBB" = ( @@ -16351,7 +16351,7 @@ dir = 1; pixel_y = -24 }, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/lime/border, /turf/simulated/floor/tiled, @@ -16448,8 +16448,8 @@ /obj/machinery/ai_status_display{ pixel_y = 30 }, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /obj/machinery/light{ dir = 1 }, @@ -16526,7 +16526,7 @@ /area/rnd/xenobiology/xenoflora) "aCb" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper{ +/obj/item/paper{ desc = ""; info = "This is a direct notice to anyone using firing range: All tests involving destruction of testing facilities MUST be run through Research Director or Central Command before anyone even so much as thinks about going through with this, or be moved outside to where test cannot affect any existing facility. This is both to maintain a professional environment, and ensure nobody else is harmed during these experiments. Nobody wants another 'two SM shards going nuclear in the firing range' incident again, especially not the people handling your paychecks."; name = "note to science staff" @@ -16611,8 +16611,8 @@ "aCg" = ( /obj/structure/table/woodentable, /obj/machinery/light, -/obj/item/weapon/packageWrap, -/obj/item/device/destTagger{ +/obj/item/packageWrap, +/obj/item/destTagger{ pixel_x = 4; pixel_y = 3 }, @@ -16645,7 +16645,7 @@ /area/hydroponics/cafegarden) "aCk" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/box/sinpockets, +/obj/item/storage/box/sinpockets, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/lime/border, /turf/simulated/floor/tiled, @@ -16743,11 +16743,11 @@ req_access = list(7); req_one_access = list(47) }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -1; pixel_y = 4 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled/steel_grid, /area/rnd/robotics) "aCv" = ( @@ -16825,7 +16825,7 @@ /obj/structure/table/woodentable, /obj/item/clothing/mask/smokable/pipe/cobpipe, /obj/item/clothing/mask/smokable/cigarette/joint, -/obj/item/weapon/flame/lighter/random, +/obj/item/flame/lighter/random, /obj/effect/floor_decal/borderfloor{ dir = 6 }, @@ -16932,7 +16932,7 @@ pixel_y = -24 }, /obj/structure/table/woodentable, -/obj/item/device/tvcamera, +/obj/item/tvcamera, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, @@ -17216,9 +17216,9 @@ /area/tether/surfacebase/public_garden_three) "aDt" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/minihoe, -/obj/item/device/analyzer/plant_analyzer, -/obj/item/device/analyzer/plant_analyzer, +/obj/item/material/minihoe, +/obj/item/analyzer/plant_analyzer, +/obj/item/analyzer/plant_analyzer, /obj/effect/floor_decal/steeldecal/steel_decals6{ dir = 8 }, @@ -17284,7 +17284,7 @@ dir = 10 }, /obj/structure/reagent_dispensers/watertank, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /obj/effect/floor_decal/techfloor{ dir = 5 }, @@ -17341,7 +17341,7 @@ /obj/item/honey_frame, /obj/item/honey_frame, /obj/item/honey_frame, -/obj/item/weapon/tool/crowbar, +/obj/item/tool/crowbar, /obj/item/bee_smoker, /obj/item/beehive_assembly, /obj/structure/closet/crate/hydroponics{ @@ -17521,7 +17521,7 @@ /area/tether/surfacebase/public_garden_three) "aDU" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/paperplane, +/obj/item/paperplane, /obj/machinery/camera/network/research/xenobio, /turf/simulated/floor/wood, /area/rnd/outpost/xenobiology/outpost_office) @@ -17640,10 +17640,10 @@ layer = 3.3; pixel_x = -27 }, -/obj/item/weapon/paper_bin, -/obj/item/weapon/folder/red, -/obj/item/weapon/folder/blue, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/folder/red, +/obj/item/folder/blue, +/obj/item/pen, /obj/machinery/alarm{ pixel_y = 22 }, @@ -17916,11 +17916,11 @@ /obj/structure/bookcase{ name = "bookcase (Fiction)" }, -/obj/item/weapon/book/custom_library/fiction/blacksmithandkinglybloke, -/obj/item/weapon/book/custom_library/fiction/irishairmanforseesdeath, -/obj/item/weapon/book/custom_library/fiction/myrock, -/obj/item/weapon/book/custom_library/fiction/starsandsometimesfallingones, -/obj/item/weapon/book/custom_library/fiction/truelovehathmyheart, +/obj/item/book/custom_library/fiction/blacksmithandkinglybloke, +/obj/item/book/custom_library/fiction/irishairmanforseesdeath, +/obj/item/book/custom_library/fiction/myrock, +/obj/item/book/custom_library/fiction/starsandsometimesfallingones, +/obj/item/book/custom_library/fiction/truelovehathmyheart, /turf/simulated/floor/wood, /area/library) "aEE" = ( @@ -17951,10 +17951,10 @@ /obj/structure/bookcase{ name = "bookcase (Non-Fiction)" }, -/obj/item/weapon/book/codex/lore/robutt, -/obj/item/weapon/book/codex, -/obj/item/weapon/book/custom_library/nonfiction/freesirisailightbulbs, -/obj/item/weapon/book/manual/synthetic_life, +/obj/item/book/codex/lore/robutt, +/obj/item/book/codex, +/obj/item/book/custom_library/nonfiction/freesirisailightbulbs, +/obj/item/book/manual/synthetic_life, /turf/simulated/floor/wood, /area/library) "aEJ" = ( @@ -18143,10 +18143,10 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/tool/wrench, +/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, +/obj/item/tool/wrench, +/obj/item/tool/wrench, /obj/effect/floor_decal/corner/lime/full{ dir = 8 }, @@ -18168,10 +18168,10 @@ /obj/structure/bookcase{ name = "bookcase (Religious)" }, -/obj/item/weapon/book/custom_library/religious/feastofkubera, -/obj/item/weapon/book/custom_library/religious/storyoflordganesha, -/obj/item/weapon/book/custom_library/religious/sungoddessofkorea, -/obj/item/weapon/book/custom_library/religious/wayofbleedingswan, +/obj/item/book/custom_library/religious/feastofkubera, +/obj/item/book/custom_library/religious/storyoflordganesha, +/obj/item/book/custom_library/religious/sungoddessofkorea, +/obj/item/book/custom_library/religious/wayofbleedingswan, /turf/simulated/floor/wood, /area/library) "aFe" = ( @@ -18236,7 +18236,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals7{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/tiled, @@ -18265,15 +18265,15 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/material/knife, -/obj/item/weapon/material/knife, +/obj/item/material/knife, +/obj/item/material/knife, /obj/effect/floor_decal/corner/lime/full{ dir = 1 }, -/obj/item/device/analyzer/plant_analyzer, -/obj/item/device/analyzer/plant_analyzer, -/obj/item/weapon/material/minihoe, -/obj/item/weapon/material/minihoe, +/obj/item/analyzer/plant_analyzer, +/obj/item/analyzer/plant_analyzer, +/obj/item/material/minihoe, +/obj/item/material/minihoe, /turf/simulated/floor/tiled, /area/tether/surfacebase/botanystorage) "aFl" = ( @@ -18354,9 +18354,9 @@ /turf/simulated/floor/tiled, /area/rnd/outpost/xenobiology/outpost_north_airlock) "aFq" = ( -/obj/item/weapon/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, /obj/item/clothing/gloves/fyellow, -/obj/item/weapon/book{ +/obj/item/book{ author = "Urist McHopefulsoul"; desc = "It contains fourty blank pages followed by the entire screenplay of a movie called 'Requiem for a Dream'"; name = "A Comprehensive Guide to Assisting" @@ -18414,7 +18414,7 @@ "aFx" = ( /obj/item/clothing/under/color/grey, /obj/item/clothing/mask/gas/wwii, -/obj/item/weapon/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, /turf/simulated/floor/plating, /area/tether/surfacebase/shuttle_pad) "aFy" = ( @@ -18473,7 +18473,7 @@ /area/tether/surfacebase/botanystorage) "aFE" = ( /obj/structure/reagent_dispensers/watertank, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, @@ -18494,7 +18494,7 @@ /area/rnd/outpost/xenobiology/outpost_breakroom) "aFG" = ( /obj/structure/reagent_dispensers/watertank, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, @@ -18585,8 +18585,8 @@ /obj/effect/floor_decal/corner/mauve/border{ dir = 1 }, -/obj/item/weapon/storage/bag/trash, -/obj/item/weapon/storage/bag/trash, +/obj/item/storage/bag/trash, +/obj/item/storage/bag/trash, /turf/simulated/floor/tiled, /area/rnd/research/testingrange) "aFO" = ( @@ -18620,7 +18620,7 @@ /obj/structure/cable/green{ icon_state = "4-8" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -18735,7 +18735,7 @@ pixel_x = 24; pixel_y = 10 }, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/landmark/start{ name = "Entertainer" }, @@ -19033,21 +19033,21 @@ /obj/structure/bookcase{ name = "bookcase (Reference)" }, -/obj/item/weapon/book/manual/hydroponics_pod_people, -/obj/item/weapon/book/manual/mass_spectrometry, -/obj/item/weapon/book/manual/materials_chemistry_analysis, -/obj/item/weapon/book/manual/medical_cloning, -/obj/item/weapon/book/manual/medical_diagnostics_manual, -/obj/item/weapon/book/manual/research_and_development, -/obj/item/weapon/book/manual/resleeving, -/obj/item/weapon/book/manual/ripley_build_and_repair, -/obj/item/weapon/book/manual/robotics_cyborgs, -/obj/item/weapon/book/manual/robotics_manual, -/obj/item/weapon/book/manual/rust_engine, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/manual/standard_operating_procedure, -/obj/item/weapon/book/manual/stasis, -/obj/item/weapon/book/manual/supermatter_engine, +/obj/item/book/manual/hydroponics_pod_people, +/obj/item/book/manual/mass_spectrometry, +/obj/item/book/manual/materials_chemistry_analysis, +/obj/item/book/manual/medical_cloning, +/obj/item/book/manual/wiki/medical_diagnostics_manual, +/obj/item/book/manual/research_and_development, +/obj/item/book/manual/resleeving, +/obj/item/book/manual/ripley_build_and_repair, +/obj/item/book/manual/robotics_cyborgs, +/obj/item/book/manual/wiki/robotics_manual, +/obj/item/book/manual/rust_engine, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/standard_operating_procedure, +/obj/item/book/manual/stasis, +/obj/item/book/manual/supermatter_engine, /turf/simulated/floor/wood, /area/library) "aGx" = ( @@ -19193,7 +19193,7 @@ /turf/simulated/wall, /area/crew_quarters/barrestroom) "aGL" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = 10 }, @@ -19252,7 +19252,7 @@ /obj/machinery/r_n_d/circuit_imprinter{ dir = 8 }, -/obj/item/weapon/reagent_containers/glass/beaker/sulphuric, +/obj/item/reagent_containers/glass/beaker/sulphuric, /turf/simulated/floor/tiled/steel_grid, /area/rnd/robotics) "aGT" = ( @@ -19317,20 +19317,20 @@ /turf/simulated/floor/tiled, /area/hallway/lower/third_south) "aGY" = ( -/obj/item/weapon/tape_roll, -/obj/item/weapon/packageWrap, -/obj/item/weapon/dice, -/obj/item/weapon/dice/d20, -/obj/item/weapon/deck/cards, -/obj/item/weapon/folder/yellow, +/obj/item/tape_roll, +/obj/item/packageWrap, +/obj/item/dice, +/obj/item/dice/d20, +/obj/item/deck/cards, +/obj/item/folder/yellow, /obj/structure/closet/walllocker_double{ dir = 8; pixel_x = -28 }, -/obj/item/weapon/storage/pill_bottle/dice, -/obj/item/weapon/storage/pill_bottle/dice_nerd, -/obj/item/weapon/deck/wizoff, -/obj/item/weapon/book/manual/wizzoffguide, +/obj/item/storage/pill_bottle/dice, +/obj/item/storage/pill_bottle/dice_nerd, +/obj/item/deck/wizoff, +/obj/item/book/manual/wizzoffguide, /turf/simulated/floor/wood, /area/library) "aGZ" = ( @@ -19402,7 +19402,7 @@ pixel_y = 28 }, /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = 1; pixel_y = 5 }, @@ -19435,20 +19435,20 @@ /obj/structure/bookcase{ name = "bookcase (Reference)" }, -/obj/item/weapon/book/manual/anomaly_spectroscopy, -/obj/item/weapon/book/manual/anomaly_testing, -/obj/item/weapon/book/manual/atmospipes, -/obj/item/weapon/book/manual/barman_recipes, -/obj/item/weapon/book/manual/chef_recipes, -/obj/item/weapon/book/manual/command_guide, -/obj/item/weapon/book/manual/detective, -/obj/item/weapon/book/manual/engineering_construction, -/obj/item/weapon/book/manual/engineering_guide, -/obj/item/weapon/book/manual/engineering_particle_accelerator, -/obj/item/weapon/book/manual/engineering_singularity_safety, -/obj/item/weapon/book/manual/evaguide, -/obj/item/weapon/book/manual/excavation, -/obj/item/weapon/book/custom_library/reference/fistfulofd6splayersguide, +/obj/item/book/manual/anomaly_spectroscopy, +/obj/item/book/manual/anomaly_testing, +/obj/item/book/manual/atmospipes, +/obj/item/book/manual/barman_recipes, +/obj/item/book/manual/chef_recipes, +/obj/item/book/manual/command_guide, +/obj/item/book/manual/detective, +/obj/item/book/manual/wiki/engineering_construction, +/obj/item/book/manual/wiki/engineering_guide, +/obj/item/book/manual/engineering_particle_accelerator, +/obj/item/book/manual/engineering_singularity_safety, +/obj/item/book/manual/evaguide, +/obj/item/book/manual/excavation, +/obj/item/book/custom_library/reference/fistfulofd6splayersguide, /turf/simulated/floor/wood, /area/library) "aHh" = ( @@ -19462,7 +19462,7 @@ /obj/effect/floor_decal/corner/lightgrey/border{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -19473,7 +19473,7 @@ /area/hallway/lower/third_south) "aHi" = ( /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 1; name = "north bump"; pixel_y = 24 @@ -19519,7 +19519,7 @@ /area/hallway/lower/third_south) "aHl" = ( /obj/structure/table/woodentable, -/obj/item/weapon/flame/candle, +/obj/item/flame/candle, /obj/machinery/light/floortube{ pixel_y = -6 }, @@ -19559,7 +19559,7 @@ /obj/effect/floor_decal/corner/beige{ dir = 6 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /turf/simulated/floor/tiled/white, @@ -19745,7 +19745,7 @@ dir = 1; hacked = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /obj/effect/floor_decal/borderfloor{ @@ -20086,7 +20086,7 @@ /obj/structure/disposalpipe/segment{ dir = 8 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /turf/simulated/floor/carpet/turcarpet, @@ -20136,7 +20136,7 @@ /turf/simulated/floor/tiled/white, /area/crew_quarters/kitchen) "aIl" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/spline/plain{ dir = 1 }, @@ -20146,7 +20146,7 @@ /obj/effect/floor_decal/spline/plain{ dir = 8 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, /turf/simulated/floor/lino, @@ -20412,7 +20412,7 @@ /obj/structure/disposalpipe/segment{ dir = 8 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, /turf/simulated/floor/lino, @@ -20727,7 +20727,7 @@ /area/rnd/robotics) "aJl" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/beakers, +/obj/item/storage/box/beakers, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/chemistry) @@ -20972,7 +20972,7 @@ dir = 2; icon_state = "pipe-c" }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /turf/simulated/floor/carpet/turcarpet, @@ -21052,7 +21052,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals7{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/tiled, @@ -21101,7 +21101,7 @@ /obj/structure/disposalpipe/segment{ dir = 8 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, /turf/simulated/floor/carpet/turcarpet, @@ -21169,10 +21169,10 @@ /obj/structure/cable/green{ icon_state = "1-2" }, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -3 }, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 3 }, /obj/machinery/door/blast/gate/thin{ @@ -21259,7 +21259,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/grass, @@ -21275,7 +21275,7 @@ dir = 4 }, /obj/structure/disposalpipe/segment, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /turf/simulated/floor/carpet/turcarpet, @@ -21340,7 +21340,7 @@ /turf/simulated/floor/tiled/white, /area/crew_quarters/kitchen) "aKv" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /obj/machinery/light{ @@ -21806,14 +21806,14 @@ /area/rnd/research/testingrange) "aLq" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/surgery, -/obj/item/weapon/paper{ +/obj/item/storage/firstaid/surgery, +/obj/item/paper{ desc = ""; info = "Stop installing NIFs in here you clods! Unless it's on a synth. Otherwise, STOP DOING IT! You're killing people! -Management"; name = "note to science staff" }, -/obj/item/device/robotanalyzer, -/obj/item/device/robotanalyzer, +/obj/item/robotanalyzer, +/obj/item/robotanalyzer, /turf/simulated/floor/tiled/steel_grid, /area/rnd/robotics/surgeryroom2) "aLr" = ( @@ -21981,7 +21981,7 @@ /area/tether/surfacebase/servicebackroom) "aLJ" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/box/sinpockets, +/obj/item/storage/box/sinpockets, /obj/machinery/light{ dir = 4 }, @@ -22025,7 +22025,7 @@ /area/rnd/outpost/xenobiology/outpost_storage) "aLP" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = 1; pixel_y = 5 }, @@ -22249,18 +22249,18 @@ /turf/simulated/open, /area/rnd/outpost/xenobiology/outpost_stairs) "aMm" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, /obj/structure/table/wooden_reinforced, -/obj/item/weapon/folder/white, -/obj/item/weapon/folder/red, +/obj/item/folder/white, +/obj/item/folder/red, /turf/simulated/floor/wood, /area/rnd/outpost/xenobiology/outpost_office) "aMn" = ( /obj/structure/table/wooden_reinforced, -/obj/item/device/radio/phone, +/obj/item/radio/phone, /turf/simulated/floor/wood, /area/rnd/outpost/xenobiology/outpost_office) "aMo" = ( @@ -22271,7 +22271,7 @@ /turf/simulated/floor/tiled/dark, /area/rnd/outpost/xenobiology/outpost_main) "aMp" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -22476,7 +22476,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -22523,9 +22523,9 @@ /area/rnd/robotics/surgeryroom2) "aMQ" = ( /obj/structure/table/standard, -/obj/item/device/defib_kit/jumper_kit, -/obj/item/weapon/storage/box/gloves, -/obj/item/weapon/storage/box/bodybags{ +/obj/item/defib_kit/jumper_kit, +/obj/item/storage/box/gloves, +/obj/item/storage/box/bodybags{ pixel_x = -1; pixel_y = -2 }, @@ -22837,7 +22837,7 @@ dir = 4; pixel_x = 24 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/bluegrid, @@ -22910,7 +22910,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, -/obj/item/device/perfect_tele{ +/obj/item/perfect_tele{ desc = "Seems absurd, doesn't it? Yet, here we are. Generally considered dangerous contraband unless the user has permission from Central Command. This one is the Site Manager's, and they are authorized to use it."; name = "manager's translocator" }, @@ -23227,7 +23227,7 @@ /turf/simulated/open/virgo3b, /area/tether/surfacebase/outside/outside3) "aOo" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -23465,7 +23465,7 @@ /obj/effect/floor_decal/industrial/danger/corner{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/tiled, @@ -23500,7 +23500,7 @@ /obj/structure/table/steel, /obj/random/maintenance/engineering, /obj/item/clothing/glasses/welding, -/obj/item/weapon/weldingtool, +/obj/item/weldingtool, /turf/simulated/floor/tiled/techmaint, /area/tether/surfacebase/shuttle_pad) "aOQ" = ( @@ -23564,9 +23564,9 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, -/obj/item/weapon/surgical/scalpel, -/obj/item/weapon/surgical/cautery, -/obj/item/weapon/autopsy_scanner, +/obj/item/surgical/scalpel, +/obj/item/surgical/cautery, +/obj/item/autopsy_scanner, /obj/machinery/alarm{ dir = 4; pixel_x = -22 @@ -23781,7 +23781,7 @@ /area/tether/surfacebase/southhall) "aPt" = ( /obj/machinery/light/small, -/obj/item/weapon/tank/phoron, +/obj/item/tank/phoron, /turf/simulated/floor/tiled/techmaint, /area/tether/surfacebase/shuttle_pad) "aPu" = ( @@ -23789,7 +23789,7 @@ icon_state = "0-4" }, /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -30 @@ -23848,8 +23848,8 @@ dir = 8; pixel_x = 24 }, -/obj/item/weapon/storage/box/gloves, -/obj/item/weapon/storage/box/masks, +/obj/item/storage/box/gloves, +/obj/item/storage/box/masks, /turf/simulated/floor/tiled/white, /area/rnd/outpost/xenobiology/outpost_autopsy) "aPB" = ( @@ -23880,14 +23880,14 @@ dir = 4 }, /obj/effect/floor_decal/steeldecal/steel_decals7, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, /turf/simulated/floor/tiled, /area/hallway/lower/third_south) "aPE" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = 10 }, @@ -24279,7 +24279,7 @@ /turf/simulated/floor/tiled, /area/rnd/outpost/xenobiology/outpost_breakroom) "aQw" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /turf/simulated/floor/tiled, @@ -24349,7 +24349,7 @@ /area/tether/surfacebase/outside/outside3) "aQE" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/box/donut, +/obj/item/storage/box/donut, /turf/simulated/floor/tiled, /area/rnd/outpost/xenobiology/outpost_breakroom) "aQF" = ( @@ -24380,10 +24380,10 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, -/obj/item/weapon/reagent_containers/syringe, -/obj/item/weapon/reagent_containers/syringe, -/obj/item/weapon/reagent_containers/syringe, -/obj/item/weapon/reagent_containers/syringe, +/obj/item/reagent_containers/syringe, +/obj/item/reagent_containers/syringe, +/obj/item/reagent_containers/syringe, +/obj/item/reagent_containers/syringe, /turf/simulated/floor/wood, /area/rnd/outpost/xenobiology/outpost_office) "aQI" = ( @@ -24455,7 +24455,7 @@ "aQR" = ( /obj/structure/table/glass, /obj/item/bodybag, -/obj/item/device/healthanalyzer, +/obj/item/healthanalyzer, /obj/random/medical, /obj/structure/closet/medical_wall{ pixel_y = 35 @@ -24464,7 +24464,7 @@ dir = 8; pixel_x = -24 }, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /turf/simulated/floor/tiled/white, /area/rnd/outpost/xenobiology/outpost_first_aid) "aQS" = ( @@ -24609,7 +24609,7 @@ /obj/structure/table/standard, /obj/item/toy/plushie/coffee_fox, /obj/item/clothing/glasses/welding, -/obj/item/weapon/weldingtool, +/obj/item/weldingtool, /obj/machinery/recharger/wallcharger{ pixel_x = 4; pixel_y = 28 @@ -24689,17 +24689,17 @@ /area/rnd/outpost/xenobiology/outpost_decon) "aRt" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/syringes, -/obj/item/weapon/storage/box/monkeycubes, -/obj/item/weapon/storage/box/monkeycubes, -/obj/item/weapon/storage/box/monkeycubes, -/obj/item/weapon/storage/box/monkeycubes, -/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped, -/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped, -/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped, -/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped, -/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped, -/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped, +/obj/item/storage/box/syringes, +/obj/item/storage/box/monkeycubes, +/obj/item/storage/box/monkeycubes, +/obj/item/storage/box/monkeycubes, +/obj/item/storage/box/monkeycubes, +/obj/item/reagent_containers/food/snacks/monkeycube/wrapped, +/obj/item/reagent_containers/food/snacks/monkeycube/wrapped, +/obj/item/reagent_containers/food/snacks/monkeycube/wrapped, +/obj/item/reagent_containers/food/snacks/monkeycube/wrapped, +/obj/item/reagent_containers/food/snacks/monkeycube/wrapped, +/obj/item/reagent_containers/food/snacks/monkeycube/wrapped, /obj/machinery/alarm{ dir = 8; pixel_x = 22 @@ -24729,10 +24729,10 @@ /area/rnd/outpost/xenobiology/outpost_autopsy) "aRw" = ( /obj/structure/table/standard, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /obj/item/clothing/shoes/galoshes, /obj/item/clothing/shoes/galoshes, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /turf/simulated/floor/tiled/techmaint, /area/rnd/outpost/xenobiology/outpost_storage) "aRx" = ( @@ -24788,7 +24788,7 @@ /area/rnd/outpost/xenobiology/outpost_main) "aRA" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/beakers, +/obj/item/storage/box/beakers, /obj/structure/extinguisher_cabinet{ dir = 8; pixel_x = 30 @@ -24914,8 +24914,8 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, /turf/simulated/floor/tiled/techmaint, /area/rnd/outpost/xenobiology/outpost_storage) "aRN" = ( @@ -24931,7 +24931,7 @@ /turf/simulated/floor/tiled, /area/tether/surfacebase/surface_three_hall) "aRO" = ( -/obj/item/device/radio/intercom, +/obj/item/radio/intercom, /turf/simulated/wall, /area/rnd/outpost/xenobiology/outpost_autopsy) "aRP" = ( @@ -24976,7 +24976,7 @@ /turf/simulated/floor/tiled/steel, /area/rnd/outpost/xenobiology/outpost_decon) "aRV" = ( -/obj/item/device/radio/intercom, +/obj/item/radio/intercom, /turf/simulated/wall, /area/rnd/outpost/xenobiology/outpost_decon) "aRW" = ( @@ -25003,8 +25003,8 @@ pixel_x = -30 }, /obj/structure/table/glass, -/obj/item/weapon/storage/toolbox/emergency, -/obj/item/device/defib_kit/loaded, +/obj/item/storage/toolbox/emergency, +/obj/item/defib_kit/loaded, /turf/simulated/floor/tiled/white, /area/rnd/outpost/xenobiology/outpost_first_aid) "aRZ" = ( @@ -25174,11 +25174,11 @@ /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/storage) "aSp" = ( -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ pixel_x = 5; pixel_y = 5 }, -/obj/item/weapon/storage/firstaid/o2, +/obj/item/storage/firstaid/o2, /obj/effect/floor_decal/corner/blue/full{ dir = 8 }, @@ -25189,11 +25189,11 @@ /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/storage) "aSq" = ( -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ pixel_x = 5; pixel_y = 5 }, -/obj/item/weapon/storage/firstaid/adv, +/obj/item/storage/firstaid/adv, /obj/effect/floor_decal/corner/red/full{ dir = 1 }, @@ -25280,7 +25280,7 @@ /obj/machinery/light{ dir = 8 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, /turf/simulated/floor/carpet/turcarpet, @@ -25399,11 +25399,11 @@ /turf/simulated/floor/plating, /area/rnd/outpost/xenobiology/outpost_storage) "aSK" = ( -/obj/item/weapon/storage/firstaid/toxin{ +/obj/item/storage/firstaid/toxin{ pixel_x = 5; pixel_y = 5 }, -/obj/item/weapon/storage/firstaid/toxin, +/obj/item/storage/firstaid/toxin, /obj/effect/floor_decal/corner/green/full, /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -25412,11 +25412,11 @@ /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/storage) "aSL" = ( -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/fire{ pixel_x = 5; pixel_y = 5 }, -/obj/item/weapon/storage/firstaid/fire, +/obj/item/storage/firstaid/fire, /obj/effect/floor_decal/corner/yellow/full{ dir = 4 }, @@ -25678,9 +25678,9 @@ dir = 5 }, /obj/structure/table/glass, -/obj/item/weapon/folder/white, -/obj/item/weapon/pen, -/obj/item/weapon/paper_bin{ +/obj/item/folder/white, +/obj/item/pen, +/obj/item/paper_bin{ pixel_x = -1; pixel_y = 4 }, @@ -25721,13 +25721,13 @@ }, /obj/machinery/atmospherics/unary/vent_pump/on, /obj/structure/closet/secure_closet/medical3, -/obj/item/weapon/soap/nanotrasen, -/obj/item/weapon/storage/belt/medical, +/obj/item/soap/nanotrasen, +/obj/item/storage/belt/medical, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/storage) "aTq" = ( /obj/structure/table/standard, -/obj/item/device/healthanalyzer, +/obj/item/healthanalyzer, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/light{ dir = 4 @@ -25748,13 +25748,13 @@ /area/maintenance/lower/medsec_maintenance) "aTs" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; pixel_y = 2 }, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 8; pixel_x = -24 }, @@ -25867,12 +25867,12 @@ /area/rnd/outpost/xenobiology/outpost_breakroom) "aTC" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/device/radio{ +/obj/item/storage/firstaid/regular, +/obj/item/radio{ pixel_x = 2; pixel_y = 3 }, -/obj/item/device/radio, +/obj/item/radio, /obj/machinery/power/apc{ dir = 1; name = "north bump"; @@ -25885,7 +25885,7 @@ /obj/structure/cable/green{ icon_state = "0-4" }, -/obj/item/device/multitool, +/obj/item/multitool, /turf/simulated/floor/tiled/dark, /area/bridge) "aTD" = ( @@ -25911,16 +25911,16 @@ /area/tether/surfacebase/bar_backroom) "aTG" = ( /obj/structure/table/woodentable, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, -/obj/item/device/destTagger{ +/obj/item/packageWrap, +/obj/item/packageWrap, +/obj/item/destTagger{ pixel_x = 4; pixel_y = 3 }, /obj/machinery/light{ dir = 4 }, -/obj/item/device/destTagger{ +/obj/item/destTagger{ pixel_x = 4; pixel_y = 3 }, @@ -25978,7 +25978,7 @@ /turf/simulated/floor/tiled, /area/tether/surfacebase/surface_three_hall/nwest) "aTP" = ( -/obj/item/weapon/card/id/gold/captain/spare/fakespare, +/obj/item/card/id/gold/captain/spare/fakespare, /turf/simulated/floor/plating, /area/tether/surfacebase/surface_three_hall) "aTQ" = ( @@ -26175,7 +26175,7 @@ /area/crew_quarters/freezer) "aUi" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/donut, +/obj/item/storage/box/donut, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, @@ -26189,11 +26189,11 @@ /obj/effect/floor_decal/corner/red/border{ dir = 8 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 4; pixel_y = 7 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled, /area/tether/surfacebase/security/upperhall) "aUj" = ( @@ -26203,7 +26203,7 @@ /obj/effect/floor_decal/corner/paleblue/border{ dir = 8 }, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 8; pixel_x = -24 }, @@ -26393,8 +26393,8 @@ dir = 4 }, /obj/structure/closet/secure_closet/medical3, -/obj/item/weapon/soap/nanotrasen, -/obj/item/weapon/storage/belt/medical, +/obj/item/soap/nanotrasen, +/obj/item/storage/belt/medical, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/storage) "aUB" = ( @@ -26458,7 +26458,7 @@ /obj/effect/floor_decal/industrial/warning{ dir = 1 }, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /obj/structure/closet/crate/freezer, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 @@ -26470,13 +26470,13 @@ dir = 4; pixel_x = 11 }, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/surgery2) "aUH" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/surgery, -/obj/item/device/radio/intercom{ +/obj/item/storage/firstaid/surgery, +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -26515,7 +26515,7 @@ /turf/simulated/floor/tiled, /area/tether/surfacebase/public_garden_three) "aUN" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, /turf/simulated/floor/carpet/turcarpet, @@ -26567,7 +26567,7 @@ /obj/machinery/light{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/lino, @@ -26623,16 +26623,16 @@ dir = 4 }, /obj/structure/table/glass, -/obj/item/weapon/backup_implanter{ +/obj/item/backup_implanter{ pixel_y = 9 }, -/obj/item/weapon/backup_implanter{ +/obj/item/backup_implanter{ pixel_y = 2 }, -/obj/item/weapon/backup_implanter{ +/obj/item/backup_implanter{ pixel_y = -5 }, -/obj/item/weapon/backup_implanter{ +/obj/item/backup_implanter{ pixel_y = -12 }, /turf/simulated/floor/tiled/white, @@ -26703,8 +26703,8 @@ /area/tether/surfacebase/medical/chemistry) "aUZ" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/dropper, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/chemistry) "aVa" = ( @@ -26771,14 +26771,14 @@ dir = 1 }, /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the 'Space' from Space Cleaner and written in Chemistry. Scrawled on the back is, 'Okay, whoever filled this with polytrinic acid, it was only funny the first time. It was hard enough replacing the CMO's first cat!'"; name = "Chemistry Cleaner" }, -/obj/item/weapon/hand_labeler, -/obj/item/weapon/packageWrap, -/obj/item/device/mass_spectrometer/adv, -/obj/item/device/mass_spectrometer/adv, +/obj/item/hand_labeler, +/obj/item/packageWrap, +/obj/item/mass_spectrometer/adv, +/obj/item/mass_spectrometer/adv, /obj/item/clothing/glasses/science, /obj/item/clothing/glasses/science, /obj/effect/floor_decal/borderfloorwhite{ @@ -26808,14 +26808,14 @@ /obj/machinery/chem_master, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -28 }, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/chemistry) "aVj" = ( /obj/structure/table/reinforced, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ pixel_y = -24 }, /obj/machinery/atmospherics/unary/vent_scrubber/on{ @@ -26849,7 +26849,7 @@ dir = 4 }, /obj/structure/table/glass, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 24 @@ -27023,11 +27023,11 @@ req_one_access = list(35,28) }, /obj/machinery/door/firedoor, -/obj/item/device/destTagger{ +/obj/item/destTagger{ pixel_x = 4; pixel_y = 3 }, -/obj/item/weapon/packageWrap, +/obj/item/packageWrap, /obj/structure/disposalpipe/segment{ dir = 8 }, @@ -27038,8 +27038,8 @@ name = "formal wardrobe" }, /obj/item/glass_jar, -/obj/item/device/retail_scanner/civilian, -/obj/item/device/retail_scanner/civilian, +/obj/item/retail_scanner/civilian, +/obj/item/retail_scanner/civilian, /turf/simulated/floor/wood, /area/tether/surfacebase/bar_backroom) "aVD" = ( @@ -27096,7 +27096,7 @@ icon_state = "2-4" }, /obj/structure/bed/padded, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /turf/simulated/floor/tiled/dark, /area/tether/surfacebase/security/upperhall) "aVI" = ( @@ -27118,7 +27118,7 @@ /obj/structure/cable/green{ icon_state = "0-8" }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /turf/simulated/floor/lino, @@ -27222,12 +27222,12 @@ /obj/effect/floor_decal/spline/plain{ dir = 9 }, -/obj/item/weapon/beach_ball, +/obj/item/beach_ball, /turf/simulated/floor/tiled/freezer, /area/crew_quarters/pool) "aVT" = ( /obj/structure/table/standard, -/obj/item/device/healthanalyzer, +/obj/item/healthanalyzer, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/surgery2) @@ -27329,7 +27329,7 @@ pixel_x = -2; pixel_y = -2 }, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = 7; pixel_y = 8 }, @@ -27651,7 +27651,7 @@ /area/tether/surfacebase/surface_three_hall) "aWG" = ( /obj/structure/table/glass, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -27755,8 +27755,8 @@ /area/rnd/outpost/xenobiology/outpost_first_aid) "aWR" = ( /obj/structure/table/standard, -/obj/item/weapon/gun/energy/taser/xeno, -/obj/item/weapon/melee/baton/slime/loaded, +/obj/item/gun/energy/taser/xeno, +/obj/item/melee/baton/slime/loaded, /obj/machinery/light_switch{ dir = 1; pixel_y = -28 @@ -28117,7 +28117,7 @@ /obj/structure/closet/hydrant{ pixel_x = 32 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/wood, @@ -28145,12 +28145,12 @@ /area/bridge) "aXy" = ( /obj/structure/table/standard, -/obj/item/weapon/gun/energy/taser/xeno, +/obj/item/gun/energy/taser/xeno, /obj/machinery/recharger/wallcharger{ pixel_x = 4; pixel_y = -28 }, -/obj/item/weapon/melee/baton/slime/loaded, +/obj/item/melee/baton/slime/loaded, /turf/simulated/floor/tiled/techmaint, /area/rnd/outpost/xenobiology/outpost_storage) "aXz" = ( @@ -28288,7 +28288,7 @@ dir = 8 }, /obj/structure/table/steel, -/obj/item/weapon/implantcase/chem, +/obj/item/implantcase/chem, /turf/simulated/floor/plating, /area/rnd/research_storage) "aXI" = ( @@ -28309,7 +28309,7 @@ dir = 4 }, /obj/structure/table/steel, -/obj/item/weapon/locator, +/obj/item/locator, /turf/simulated/floor/plating, /area/rnd/research_storage) "aXK" = ( @@ -28351,7 +28351,7 @@ /area/hallway/lower/third_south) "aXN" = ( /obj/structure/reagent_dispensers/beerkeg, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -28375,7 +28375,7 @@ /area/tether/surfacebase/bar_backroom) "aXR" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/shaker, +/obj/item/reagent_containers/food/drinks/shaker, /obj/machinery/alarm{ dir = 8; pixel_x = 24 @@ -28448,16 +28448,16 @@ /turf/simulated/floor/tiled/dark, /area/bridge) "aXY" = ( -/obj/item/device/aicard, -/obj/item/weapon/storage/box/PDAs{ +/obj/item/aicard, +/obj/item/storage/box/PDAs{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/box/ids, +/obj/item/storage/box/ids, /obj/structure/table/reinforced, -/obj/item/weapon/book/manual/command_guide, -/obj/item/weapon/book/manual/standard_operating_procedure, -/obj/item/device/radio/intercom{ +/obj/item/book/manual/command_guide, +/obj/item/book/manual/standard_operating_procedure, +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -28476,7 +28476,7 @@ /area/vacant/vacant_shop) "aYa" = ( /obj/structure/closet, -/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice, +/obj/item/reagent_containers/food/drinks/bottle/orangejuice, /obj/random/maintenance/clean, /obj/random/maintenance/clean, /obj/random/maintenance/clean, @@ -28560,7 +28560,7 @@ /area/bridge_hallway) "aYi" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/donut, +/obj/item/storage/box/donut, /obj/structure/panic_button{ pixel_x = 32 }, @@ -28689,7 +28689,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, -/obj/item/weapon/paper/dockingcodes, +/obj/item/paper/dockingcodes, /turf/simulated/floor/tiled/dark, /area/bridge) "aYu" = ( @@ -28862,7 +28862,7 @@ /area/maintenance/commandmaint) "aYP" = ( /obj/effect/floor_decal/industrial/warning, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -28947,10 +28947,10 @@ /area/bridge_hallway) "aZb" = ( /obj/structure/table/reinforced, -/obj/item/weapon/clipboard, -/obj/item/weapon/stamp/hop, +/obj/item/clipboard, +/obj/item/stamp/hop, /obj/machinery/atmospherics/unary/vent_scrubber/on, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = -10 }, /turf/simulated/floor/carpet, @@ -29084,7 +29084,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, -/obj/item/weapon/disk/nuclear{ +/obj/item/disk/nuclear{ name = "authentication disk" }, /turf/simulated/floor/wood, @@ -29099,7 +29099,7 @@ pixel_y = 32 }, /obj/machinery/recharger, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -29107,9 +29107,9 @@ /area/crew_quarters/heads/hop) "aZo" = ( /obj/structure/table/reinforced, -/obj/item/device/megaphone, -/obj/item/weapon/book/manual/command_guide, -/obj/item/weapon/book/manual/standard_operating_procedure, +/obj/item/megaphone, +/obj/item/book/manual/command_guide, +/obj/item/book/manual/standard_operating_procedure, /obj/structure/extinguisher_cabinet{ dir = 1; pixel_y = 32 @@ -29180,7 +29180,7 @@ /area/tether/surfacebase/surface_three_hall) "aZu" = ( /obj/structure/table/woodentable, -/obj/item/weapon/flame/candle, +/obj/item/flame/candle, /obj/effect/floor_decal/corner/lightgrey{ dir = 6 }, @@ -29207,7 +29207,7 @@ /turf/simulated/floor/tiled/steel_grid, /area/crew_quarters/heads/hop) "aZw" = ( -/obj/item/weapon/bedsheet/captain, +/obj/item/bedsheet/captain, /obj/structure/bed/padded, /obj/machinery/alarm{ dir = 4; @@ -29389,13 +29389,13 @@ /area/bridge) "aZP" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/folder/blue, -/obj/item/weapon/folder/red, -/obj/item/weapon/pen/multi, +/obj/item/folder/blue, +/obj/item/folder/red, +/obj/item/pen/multi, /turf/simulated/floor/carpet, /area/crew_quarters/heads/hop) "aZQ" = ( @@ -29462,13 +29462,13 @@ /area/crew_quarters/captain) "aZV" = ( /obj/structure/table/woodentable, -/obj/item/weapon/melee/chainofcommand, -/obj/item/weapon/coin/phoron{ +/obj/item/melee/chainofcommand, +/obj/item/coin/phoron{ desc = "The face of the coin shows a portrait of the explorer who discovered the Virgo-Erigone system. The back depicts a Zodiac symbol that represents Virgo."; name = "limited edition phoron coin" }, -/obj/item/weapon/folder/blue_captain, -/obj/item/weapon/stamp/captain, +/obj/item/folder/blue_captain, +/obj/item/stamp/captain, /turf/simulated/floor/wood, /area/crew_quarters/captain) "aZW" = ( @@ -29551,7 +29551,7 @@ /area/crew_quarters/heads/hop) "bab" = ( /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -30 @@ -29606,13 +29606,13 @@ /area/bridge) "baf" = ( /obj/structure/table/rack, -/obj/item/weapon/tank/jetpack/oxygen, +/obj/item/tank/jetpack/oxygen, /obj/item/clothing/mask/gas, /obj/structure/window/reinforced, /obj/structure/window/reinforced{ dir = 1 }, -/obj/item/weapon/card/id/gold/captain/spare, +/obj/item/card/id/gold/captain/spare, /obj/machinery/door/window/brigdoor/westright{ dir = 4; name = "Colony Director's Storage"; @@ -29748,12 +29748,12 @@ /area/crew_quarters/captain) "bas" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/folder/blue, -/obj/item/device/flashlight/lamp/green, +/obj/item/folder/blue, +/obj/item/flashlight/lamp/green, /turf/simulated/floor/wood, /area/crew_quarters/captain) "bat" = ( @@ -29876,10 +29876,10 @@ icon_state = "4-8" }, /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 3 }, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -3 }, /obj/machinery/atmospherics/unary/vent_pump/on{ @@ -29934,16 +29934,16 @@ icon_state = "crate"; name = "Grenade Crate" }, -/obj/item/weapon/grenade/chem_grenade, -/obj/item/weapon/grenade/chem_grenade, -/obj/item/weapon/grenade/chem_grenade, -/obj/item/device/assembly/timer, -/obj/item/device/assembly/timer, -/obj/item/device/assembly/timer, -/obj/item/device/assembly/igniter, -/obj/item/device/assembly/igniter, -/obj/item/device/assembly/igniter, -/obj/item/weapon/tool/screwdriver, +/obj/item/grenade/chem_grenade, +/obj/item/grenade/chem_grenade, +/obj/item/grenade/chem_grenade, +/obj/item/assembly/timer, +/obj/item/assembly/timer, +/obj/item/assembly/timer, +/obj/item/assembly/igniter, +/obj/item/assembly/igniter, +/obj/item/assembly/igniter, +/obj/item/tool/screwdriver, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled/white, @@ -30083,8 +30083,8 @@ dir = 6 }, /obj/machinery/recharger, -/obj/item/weapon/storage/box/syringegun, -/obj/item/weapon/gun/launcher/syringe, +/obj/item/storage/box/syringegun, +/obj/item/gun/launcher/syringe, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/storage) "baS" = ( @@ -30098,7 +30098,7 @@ /turf/simulated/floor/tiled, /area/tether/surfacebase/servicebackroom) "baT" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /obj/structure/cable/green{ @@ -30159,9 +30159,9 @@ /area/crew_quarters/captain) "bbb" = ( /obj/structure/bookcase, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/manual/standard_operating_procedure, -/obj/item/weapon/book/manual/command_guide, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/standard_operating_procedure, +/obj/item/book/manual/command_guide, /turf/simulated/floor/wood, /area/crew_quarters/captain) "bbc" = ( @@ -30336,7 +30336,7 @@ /area/tether/surfacebase/surface_three_hall) "bbv" = ( /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 1; name = "north bump"; pixel_y = 24 @@ -30359,12 +30359,12 @@ /area/crew_quarters/heads/hop) "bbx" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/folder/blue_hop, -/obj/item/weapon/pen, +/obj/item/folder/blue_hop, +/obj/item/pen, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, @@ -30442,7 +30442,7 @@ /turf/simulated/floor/tiled, /area/tether/surfacebase/servicebackroom) "bbC" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -30575,7 +30575,7 @@ /area/crew_quarters/bar) "bbP" = ( /obj/structure/table/woodentable, -/obj/item/weapon/flame/candle, +/obj/item/flame/candle, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, @@ -30599,7 +30599,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, /turf/simulated/floor/lino, @@ -30614,7 +30614,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, /turf/simulated/floor/lino, @@ -30725,12 +30725,12 @@ "bcf" = ( /obj/effect/floor_decal/corner/grey/diagonal, /obj/structure/table/standard, -/obj/item/weapon/paper{ +/obj/item/paper{ desc = ""; info = "Yes hello, the goat in the freezer is named 'Spike'. Please do not fuck with Spike. He doesn't have the best temper."; name = "Important notice from Rancher Jim" }, -/obj/item/weapon/book/manual/chef_recipes, +/obj/item/book/manual/chef_recipes, /obj/structure/noticeboard{ pixel_x = 32 }, @@ -30824,7 +30824,7 @@ /area/crew_quarters/bar) "bcn" = ( /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -30 @@ -30929,8 +30929,8 @@ /area/hallway/lower/third_south) "bcu" = ( /obj/structure/table/woodentable, -/obj/item/weapon/gun/projectile/shotgun/doublebarrel, -/obj/item/weapon/paper{ +/obj/item/gun/projectile/shotgun/doublebarrel, +/obj/item/paper{ info = "This permit signifies that the Bartender is permitted to posess this firearm in the bar, and ONLY the bar. Failure to adhere to this permit will result in confiscation of the weapon and possibly arrest."; name = "Shotgun permit" }, @@ -31120,7 +31120,7 @@ /area/tether/surfacebase/entertainment/stage) "bcL" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/box/sinpockets, +/obj/item/storage/box/sinpockets, /turf/simulated/floor/tiled, /area/tether/surfacebase/servicebackroom) "bcM" = ( @@ -31152,19 +31152,19 @@ "bcP" = ( /obj/structure/table/rack/steel, /obj/item/pizzavoucher, -/obj/item/weapon/moneybag, -/obj/item/weapon/inflatable_duck, +/obj/item/moneybag, +/obj/item/inflatable_duck, /obj/machinery/power/apc{ dir = 4; name = "east bump"; pixel_x = 28 }, -/obj/item/weapon/gun/projectile/revolver/capgun, -/obj/item/weapon/gun/projectile/revolver/capgun, +/obj/item/gun/projectile/revolver/capgun, +/obj/item/gun/projectile/revolver/capgun, /obj/item/toy/cultsword, /obj/item/toy/cultsword, -/obj/item/weapon/bikehorn/rubberducky, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/bikehorn/rubberducky, +/obj/item/reagent_containers/spray/cleaner, /obj/structure/cable/green{ icon_state = "0-2" }, @@ -31209,20 +31209,20 @@ "bcU" = ( /obj/structure/table/rack/steel, /obj/item/mecha_parts/part/durand_left_leg, -/obj/item/weapon/cane/crutch, -/obj/item/weapon/pack/cardemon, -/obj/item/weapon/soap/syndie, -/obj/item/weapon/soap/nanotrasen, -/obj/item/weapon/soap/deluxe, -/obj/item/weapon/staff/gentcane, +/obj/item/cane/crutch, +/obj/item/pack/cardemon, +/obj/item/soap/syndie, +/obj/item/soap/nanotrasen, +/obj/item/soap/deluxe, +/obj/item/staff/gentcane, /obj/item/toy/eight_ball/conch, -/obj/item/weapon/cell/potato, +/obj/item/cell/potato, /obj/structure/cable/green{ icon_state = "1-2" }, -/obj/item/device/megaphone, +/obj/item/megaphone, /obj/random/cutout, -/obj/item/weapon/gun/projectile/revolver/toy/crossbow, +/obj/item/gun/projectile/revolver/toy/crossbow, /turf/simulated/floor/lino, /area/tether/surfacebase/entertainment/backstage) "bcV" = ( @@ -31287,8 +31287,8 @@ pixel_x = 1; pixel_y = 4 }, -/obj/item/weapon/reagent_containers/food/snacks/mint, -/obj/item/weapon/reagent_containers/glass/beaker{ +/obj/item/reagent_containers/food/snacks/mint, +/obj/item/reagent_containers/glass/beaker{ pixel_x = 5 }, /turf/simulated/floor/tiled/white, @@ -31330,7 +31330,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; frequency = 1532; name = "Stagehand Speaker"; @@ -31410,13 +31410,13 @@ /obj/machinery/light{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; frequency = 1532; name = "Stagehand Mic"; pixel_x = -24 }, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/random/cutout, /turf/simulated/floor/lino, /area/tether/surfacebase/entertainment/stage) @@ -31509,10 +31509,10 @@ /area/tether/surfacebase/bar_backroom) "bdv" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/metaglass, -/obj/item/weapon/reagent_containers/food/drinks/metaglass, -/obj/item/weapon/reagent_containers/food/drinks/metaglass, -/obj/item/weapon/reagent_containers/food/drinks/metaglass, +/obj/item/reagent_containers/food/drinks/metaglass, +/obj/item/reagent_containers/food/drinks/metaglass, +/obj/item/reagent_containers/food/drinks/metaglass, +/obj/item/reagent_containers/food/drinks/metaglass, /obj/machinery/power/apc{ dir = 4; name = "east bump"; @@ -31583,7 +31583,7 @@ /obj/effect/floor_decal/corner/lightgrey{ dir = 6 }, -/obj/item/device/radio/intercom/entertainment{ +/obj/item/radio/intercom/entertainment{ pixel_y = -23 }, /turf/simulated/floor/tiled, @@ -31679,12 +31679,12 @@ /area/crew_quarters/sleep/cryo) "bdO" = ( /obj/structure/table/woodentable, -/obj/item/weapon/flame/lighter/zippo, +/obj/item/flame/lighter/zippo, /obj/item/clothing/head/that{ pixel_x = 4; pixel_y = 6 }, -/obj/item/weapon/tool/screwdriver, +/obj/item/tool/screwdriver, /obj/item/clothing/mask/smokable/cigarette/cigar/havana, /obj/item/clothing/mask/smokable/cigarette/cigar/cohiba, /turf/simulated/floor/wood, @@ -31927,7 +31927,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, -/obj/item/weapon/storage/pill_bottle/dice, +/obj/item/storage/pill_bottle/dice, /turf/simulated/floor/tiled/eris/steel/bar_dance, /area/tether/surfacebase/barbackmaintenance) "beq" = ( @@ -32157,7 +32157,7 @@ /area/crew_quarters/kitchen) "beJ" = ( /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -30 @@ -32176,7 +32176,7 @@ /obj/structure/cable/green{ icon_state = "1-8" }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /turf/simulated/floor/lino, @@ -32198,7 +32198,7 @@ /turf/simulated/floor/grass, /area/hydroponics) "beM" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/wood, @@ -32248,7 +32248,7 @@ /area/tether/surfacebase/entertainment) "beT" = ( /obj/structure/frame/computer, -/obj/item/weapon/material/twohanded/baseballbat{ +/obj/item/material/twohanded/baseballbat{ name = "Swatta" }, /turf/simulated/floor/tiled/techfloor, @@ -32268,7 +32268,7 @@ /obj/structure/table/rack, /obj/random/maintenance/clean, /obj/random/maintenance/engineering, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/tiled/techfloor, @@ -32317,7 +32317,7 @@ /area/crew_quarters/bar) "bfc" = ( /obj/structure/table/woodentable, -/obj/item/weapon/flame/candle, +/obj/item/flame/candle, /turf/simulated/floor/wood, /area/tether/surfacebase/entertainment) "bfd" = ( @@ -32494,7 +32494,7 @@ /obj/structure/cable/green{ icon_state = "1-8" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/grass, @@ -32596,16 +32596,16 @@ /area/tether/surfacebase/barbackmaintenance) "bfG" = ( /obj/structure/table/gamblingtable, -/obj/item/weapon/storage/pill_bottle/dice_nerd, +/obj/item/storage/pill_bottle/dice_nerd, /turf/simulated/floor/tiled/eris/steel/bar_dance, /area/tether/surfacebase/barbackmaintenance) "bfH" = ( /obj/machinery/light/small, /obj/structure/table/woodentable, -/obj/item/weapon/bone/skull{ +/obj/item/bone/skull{ name = "Yo'rick" }, -/obj/item/weapon/paper{ +/obj/item/paper{ desc = ""; info = "The Silence Into Laughter program works to place hard working, studied, accomplished, hardworking, homebrewed, diplomaholding, or otherwise clowns and mimes into the workforce! The Head Clowncellor and the Director at Mime have finally worked together to bring this titan of a workers' union! If you have a background in silence or laughter, please apply at our exonet site at: https://forum.vore-station.net/viewforum.php?f=45"; name = "Clowns and Mimes Wanted!" @@ -32633,7 +32633,7 @@ /area/tether/surfacebase/southhall) "bfK" = ( /obj/structure/table/gamblingtable, -/obj/item/weapon/deck/cards, +/obj/item/deck/cards, /turf/simulated/floor/tiled/eris/steel/bar_dance, /area/tether/surfacebase/barbackmaintenance) "bfL" = ( @@ -32864,11 +32864,11 @@ dir = 9 }, /obj/structure/table/standard, -/obj/item/weapon/storage/box/beakers{ +/obj/item/storage/box/beakers{ name = "box of measuring cups"; pixel_x = 2; pixel_y = 3; - starts_with = list(/obj/item/weapon/reagent_containers/glass/beaker/measuring_cup = 7) + starts_with = list(/obj/item/reagent_containers/glass/beaker/measuring_cup = 7) }, /turf/simulated/floor/tiled/white, /area/crew_quarters/kitchen) @@ -32887,7 +32887,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 }, -/obj/item/weapon/book/manual/cook_guide, +/obj/item/book/manual/cook_guide, /obj/machinery/light/floortube{ dir = 1; pixel_y = 6 @@ -32923,8 +32923,8 @@ "bgs" = ( /obj/effect/floor_decal/corner/grey/diagonal, /obj/structure/table/standard, -/obj/item/weapon/packageWrap, -/obj/item/device/destTagger{ +/obj/item/packageWrap, +/obj/item/destTagger{ pixel_x = 4; pixel_y = 3 }, @@ -32934,22 +32934,22 @@ /obj/effect/floor_decal/corner/grey/diagonal, /obj/structure/closet/chefcloset, /obj/item/glass_jar, -/obj/item/device/retail_scanner/civilian, -/obj/item/weapon/soap/nanotrasen, -/obj/item/device/destTagger{ +/obj/item/retail_scanner/civilian, +/obj/item/soap/nanotrasen, +/obj/item/destTagger{ pixel_x = 4; pixel_y = 3 }, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, +/obj/item/packageWrap, +/obj/item/packageWrap, +/obj/item/packageWrap, /obj/structure/cable/green{ icon_state = "4-8" }, /obj/machinery/alarm{ pixel_y = 25 }, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /turf/simulated/floor/tiled/white, /area/crew_quarters/kitchen) "bgu" = ( @@ -32968,7 +32968,7 @@ /turf/simulated/floor/wood, /area/tether/surfacebase/entertainment) "bgw" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/tiled, @@ -33011,7 +33011,7 @@ /area/tether/surfacebase/entertainment) "bgC" = ( /obj/structure/table/marble, -/obj/item/weapon/material/ashtray/glass, +/obj/item/material/ashtray/glass, /obj/machinery/door/blast/gate/thin{ dir = 2; id = "bar"; @@ -33024,7 +33024,7 @@ /obj/structure/cable/green{ icon_state = "4-8" }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /turf/simulated/floor/lino, @@ -33187,7 +33187,7 @@ /turf/simulated/floor/tiled/techfloor, /area/crew_quarters/sleep/cryo) "bgZ" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/tiled, @@ -33235,7 +33235,7 @@ /obj/structure/cable/orange{ icon_state = "1-4" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/tiled/techfloor, @@ -33268,9 +33268,9 @@ /area/rnd/outpost/xenobiology/outpost_first_aid) "bhf" = ( /obj/structure/table/standard, -/obj/item/device/slime_scanner, -/obj/item/device/slime_scanner, -/obj/item/device/multitool, +/obj/item/slime_scanner, +/obj/item/slime_scanner, +/obj/item/multitool, /obj/machinery/camera/network/research/xenobio{ dir = 10 }, @@ -33311,19 +33311,19 @@ /obj/machinery/recharger{ pixel_y = 4 }, -/obj/item/device/radio/off, -/obj/item/weapon/reagent_containers/food/drinks/flask/barflask{ +/obj/item/radio/off, +/obj/item/reagent_containers/food/drinks/flask/barflask{ pixel_x = -9; pixel_y = -2 }, -/obj/item/device/taperecorder{ +/obj/item/taperecorder{ pixel_x = 10 }, /turf/simulated/floor/wood, /area/tether/surfacebase/security/hos) "bhl" = ( -/obj/item/weapon/entrepreneur/dumbbell, -/obj/item/weapon/entrepreneur/dumbbell, +/obj/item/entrepreneur/dumbbell, +/obj/item/entrepreneur/dumbbell, /turf/simulated/floor/wood, /area/crew_quarters/recreation_area) "bhm" = ( @@ -34000,11 +34000,11 @@ /obj/structure/table/rack, /obj/item/clothing/mask/gas, /obj/item/clothing/suit/storage/hooded/wintercoat, -/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, /obj/machinery/light{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /obj/machinery/alarm{ @@ -34034,7 +34034,7 @@ pixel_x = 3; pixel_y = -7 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, @@ -34042,11 +34042,11 @@ pixel_x = 3; pixel_y = -7 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_x = -2; pixel_y = -1 }, @@ -34395,7 +34395,7 @@ /turf/simulated/floor/tiled, /area/tether/surfacebase/cafeteria) "bju" = ( -/obj/item/device/radio/intercom/entertainment{ +/obj/item/radio/intercom/entertainment{ pixel_y = -23 }, /turf/simulated/floor/tiled, @@ -34427,7 +34427,7 @@ /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/surgery2) "bjy" = ( -/obj/item/device/healthanalyzer, +/obj/item/healthanalyzer, /obj/item/bodybag/cryobag, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -34452,20 +34452,20 @@ /obj/machinery/camera/network/medbay{ dir = 4 }, -/obj/item/device/sleevemate, -/obj/item/weapon/storage/box/nifsofts_medical{ +/obj/item/sleevemate, +/obj/item/storage/box/nifsofts_medical{ pixel_x = 7; pixel_y = 7 }, -/obj/item/weapon/storage/box/nifsofts_medical{ +/obj/item/storage/box/nifsofts_medical{ pixel_x = 7; pixel_y = 7 }, -/obj/item/device/flashlight{ +/obj/item/flashlight{ pixel_x = 6; pixel_y = 31 }, -/obj/item/device/denecrotizer/medical, +/obj/item/denecrotizer/medical, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/storage) "bjH" = ( @@ -34505,13 +34505,13 @@ /area/tether/surfacebase/medical/admin) "bjU" = ( /obj/structure/table/glass, -/obj/item/weapon/paper{ +/obj/item/paper{ desc = ""; info = "Bodies designed on the design console must be saved to a disk, provided on the front desk counter, then placed into the resleeving console for printing."; name = "Body Designer Note" }, -/obj/item/device/sleevemate, -/obj/item/weapon/storage/box/body_record_disk, +/obj/item/sleevemate, +/obj/item/storage/box/body_record_disk, /obj/machinery/light{ dir = 4 }, @@ -34637,14 +34637,14 @@ /area/rnd/robotics/surgeryroom1) "bkr" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/surgery, -/obj/item/weapon/paper{ +/obj/item/storage/firstaid/surgery, +/obj/item/paper{ desc = ""; info = "Stop installing NIFs in here you clods! Unless it's on a synth. Otherwise, STOP DOING IT! You're killing people! -Management"; name = "note to science staff" }, -/obj/item/device/robotanalyzer, -/obj/item/device/robotanalyzer, +/obj/item/robotanalyzer, +/obj/item/robotanalyzer, /obj/machinery/button/windowtint{ id = "robo_surg_1"; pixel_y = 25 @@ -34676,7 +34676,7 @@ /area/rnd/robotics) "bkv" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -1; pixel_y = 4 }, @@ -34898,9 +34898,9 @@ /area/rnd/robotics/surgeryroom1) "bkR" = ( /obj/structure/table/standard, -/obj/item/device/defib_kit/jumper_kit, -/obj/item/weapon/storage/box/gloves, -/obj/item/weapon/storage/box/bodybags{ +/obj/item/defib_kit/jumper_kit, +/obj/item/storage/box/gloves, +/obj/item/storage/box/bodybags{ pixel_x = -1; pixel_y = -2 }, @@ -34908,8 +34908,8 @@ /area/rnd/robotics/surgeryroom1) "bkS" = ( /obj/structure/table/standard, -/obj/item/weapon/book/manual/robotics_cyborgs, -/obj/item/weapon/book/manual/robotics_manual, +/obj/item/book/manual/robotics_cyborgs, +/obj/item/book/manual/wiki/robotics_manual, /obj/item/clothing/glasses/omnihud/rnd, /obj/machinery/light{ dir = 8 @@ -34930,8 +34930,8 @@ /area/rnd/robotics) "bkT" = ( /obj/structure/table/standard, -/obj/item/device/mmi, -/obj/item/device/mmi/digital/posibrain, +/obj/item/mmi, +/obj/item/mmi/digital/posibrain, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/mauve/border, /turf/simulated/floor/tiled/steel_grid, @@ -34953,9 +34953,9 @@ /area/rnd/robotics) "bkW" = ( /obj/structure/table/standard, -/obj/item/weapon/pen, -/obj/item/weapon/pen, -/obj/item/weapon/pen, +/obj/item/pen, +/obj/item/pen, +/obj/item/pen, /obj/effect/floor_decal/borderfloor{ dir = 6 }, @@ -34985,8 +34985,8 @@ /area/rnd/robotics/resleeving) "bkZ" = ( /obj/structure/table/standard, -/obj/item/weapon/book/manual/resleeving, -/obj/item/weapon/storage/box/backup_kit, +/obj/item/book/manual/resleeving, +/obj/item/storage/box/backup_kit, /turf/simulated/floor/tiled/steel_grid, /area/rnd/robotics/resleeving) "bla" = ( @@ -35239,7 +35239,7 @@ pixel_x = 4; pixel_y = 26 }, -/obj/item/device/defib_kit/loaded, +/obj/item/defib_kit/loaded, /obj/item/stack/nanopaste, /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/tiled/white, @@ -35250,13 +35250,13 @@ /area/tether/surfacebase/medical/triage) "blM" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/surgery, -/obj/item/device/radio/intercom{ +/obj/item/storage/firstaid/surgery, +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 24 }, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 1; pixel_y = 24 }, @@ -35273,9 +35273,9 @@ /area/tether/surfacebase/medical/storage) "blP" = ( /obj/structure/table/standard, -/obj/item/device/glasses_kit, -/obj/item/weapon/storage/box/rxglasses, -/obj/item/weapon/storage/box/rxglasses, +/obj/item/glasses_kit, +/obj/item/storage/box/rxglasses, +/obj/item/storage/box/rxglasses, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/effect/floor_decal/borderfloorwhite{ dir = 4 @@ -35286,7 +35286,7 @@ /obj/effect/floor_decal/corner/paleblue/border{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 24 @@ -35411,7 +35411,7 @@ dir = 4 }, /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; nightshift_setting = 2; @@ -35423,7 +35423,7 @@ /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/storage) "bmm" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -35515,7 +35515,7 @@ icon_state = "2-8" }, /obj/structure/bed/padded, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /turf/simulated/floor/tiled/dark, /area/tether/surfacebase/security/upperhall) "bmu" = ( @@ -35524,7 +35524,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals10{ dir = 8 }, -/obj/item/weapon/tool/screwdriver, +/obj/item/tool/screwdriver, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/triage) "bmx" = ( @@ -35653,7 +35653,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals10{ dir = 8 }, -/obj/item/device/defib_kit/loaded, +/obj/item/defib_kit/loaded, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/triage) "bmN" = ( @@ -35969,12 +35969,12 @@ /obj/structure/cable/green{ icon_state = "4-8" }, -/obj/item/device/radio/headset/headset_med, -/obj/item/weapon/storage/box/syringes, -/obj/item/weapon/storage/fancy/vials, -/obj/item/weapon/storage/fancy/vials, -/obj/item/weapon/storage/box/pillbottles, -/obj/item/weapon/storage/box/pillbottles, +/obj/item/radio/headset/headset_med, +/obj/item/storage/box/syringes, +/obj/item/storage/fancy/vials, +/obj/item/storage/fancy/vials, +/obj/item/storage/box/pillbottles, +/obj/item/storage/box/pillbottles, /obj/structure/closet/wardrobe/chemistry_white, /obj/effect/floor_decal/borderfloorwhite/corner2{ dir = 4 @@ -36138,7 +36138,7 @@ /obj/structure/cable/green{ icon_state = "1-2" }, -/obj/item/device/radio/beacon, +/obj/item/radio/beacon, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 4 }, @@ -36316,8 +36316,8 @@ /area/tether/surfacebase/security/iaa/officeb) "bpw" = ( /obj/structure/table/steel, -/obj/item/weapon/folder/red, -/obj/item/weapon/storage/box/donut, +/obj/item/folder/red, +/obj/item/storage/box/donut, /turf/simulated/floor/tiled, /area/tether/surfacebase/security/briefingroom) "bpC" = ( @@ -36410,11 +36410,11 @@ /obj/structure/closet/walllocker_double/misc_civ/south{ name = "dentist supplies" }, -/obj/item/weapon/entrepreneur/dentist_mirror, -/obj/item/weapon/entrepreneur/dentist_probe, -/obj/item/weapon/entrepreneur/dentist_scaler, -/obj/item/weapon/entrepreneur/dentist_sickle, -/obj/item/device/flashlight/pen, +/obj/item/entrepreneur/dentist_mirror, +/obj/item/entrepreneur/dentist_probe, +/obj/item/entrepreneur/dentist_scaler, +/obj/item/entrepreneur/dentist_sickle, +/obj/item/flashlight/pen, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/entrepreneur/session) "bCV" = ( @@ -36570,8 +36570,8 @@ /area/tether/surfacebase/security/iaa/officea) "bUT" = ( /obj/structure/table/reinforced, -/obj/item/weapon/stamp/internalaffairs, -/obj/item/weapon/stamp/denied{ +/obj/item/stamp/internalaffairs, +/obj/item/stamp/denied{ pixel_x = 4; pixel_y = -2 }, @@ -36588,7 +36588,7 @@ dir = 4 }, /obj/effect/floor_decal/steeldecal/steel_decals7, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -36612,12 +36612,12 @@ dir = 8; pixel_x = -28 }, -/obj/item/device/camera, -/obj/item/device/camera_film, -/obj/item/device/taperecorder, -/obj/item/device/tape/random, -/obj/item/device/tape/random, -/obj/item/weapon/storage/secure/briefcase, +/obj/item/camera, +/obj/item/camera_film, +/obj/item/taperecorder, +/obj/item/rectape/random, +/obj/item/rectape/random, +/obj/item/storage/secure/briefcase, /turf/simulated/floor/tiled/dark, /area/tether/surfacebase/security/iaa/officea) "ccu" = ( @@ -36625,7 +36625,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, -/obj/item/weapon/paper_bin, +/obj/item/paper_bin, /turf/simulated/floor/wood, /area/tether/surfacebase/entrepreneur) "ccN" = ( @@ -36729,12 +36729,12 @@ /area/tether/surfacebase/security/briefingroom) "crz" = ( /obj/structure/bookcase, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/manual/engineering_construction, -/obj/item/weapon/book/manual/detective, -/obj/item/weapon/book/manual/standard_operating_procedure, -/obj/item/weapon/book/codex/lore/vir, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/wiki/engineering_construction, +/obj/item/book/manual/detective, +/obj/item/book/manual/standard_operating_procedure, +/obj/item/book/codex/lore/vir, /turf/simulated/floor/wood, /area/tether/surfacebase/entrepreneur/meeting) "csD" = ( @@ -36783,7 +36783,7 @@ /turf/simulated/floor/wood, /area/library) "cAZ" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 24 @@ -36808,8 +36808,8 @@ /area/tether/surfacebase/surface_three_hall/west) "cEx" = ( /obj/structure/table/reinforced, -/obj/item/weapon/stamp/internalaffairs, -/obj/item/weapon/stamp/denied{ +/obj/item/stamp/internalaffairs, +/obj/item/stamp/denied{ pixel_x = 4; pixel_y = -2 }, @@ -36913,7 +36913,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals7{ dir = 10 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -37244,7 +37244,7 @@ /obj/machinery/light{ dir = 1 }, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /turf/simulated/floor/wood, /area/tether/surfacebase/entrepreneur/meeting) "dDl" = ( @@ -37299,7 +37299,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals7{ dir = 9 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -37332,20 +37332,20 @@ /area/rnd/research/researchdivision) "dKH" = ( /obj/structure/table/glass, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -1; pixel_y = 4 }, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = 10; pixel_y = 14 }, -/obj/item/weapon/folder/white, -/obj/item/weapon/storage/box/body_record_disk{ +/obj/item/folder/white, +/obj/item/storage/box/body_record_disk{ pixel_x = -3; pixel_y = -3 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/structure/window/reinforced, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/lobby) @@ -37409,12 +37409,12 @@ name = "sample weapon permit"; owner = 1 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen/multi, -/obj/item/device/megaphone, +/obj/item/pen/multi, +/obj/item/megaphone, /obj/item/clothing/accessory/permit/gun, /obj/item/clothing/accessory/permit/gun, /obj/item/clothing/accessory/permit/gun, @@ -37732,11 +37732,11 @@ /obj/structure/closet{ name = "session equipment" }, -/obj/item/weapon/bedsheet/pillow/exercise, -/obj/item/weapon/bedsheet/pillow/exercise, -/obj/item/weapon/entrepreneur/dumbbell, -/obj/item/weapon/entrepreneur/dumbbell, -/obj/item/weapon/storage/box/dentist, +/obj/item/bedsheet/pillow/exercise, +/obj/item/bedsheet/pillow/exercise, +/obj/item/entrepreneur/dumbbell, +/obj/item/entrepreneur/dumbbell, +/obj/item/storage/box/dentist, /obj/item/roller/massage, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/entrepreneur/session) @@ -37753,18 +37753,18 @@ /obj/structure/closet{ name = "entrepreneur equipment" }, -/obj/item/device/tape, -/obj/item/device/tape, -/obj/item/device/taperecorder, -/obj/item/weapon/entrepreneur/magnifying_glass, -/obj/item/weapon/entrepreneur/emf, -/obj/item/weapon/entrepreneur/spirit_board, -/obj/item/weapon/entrepreneur/crystal_ball, -/obj/item/device/tvcamera/streamer, -/obj/item/weapon/deck/tarot, -/obj/item/weapon/entrepreneur/horoscope, -/obj/item/device/camera, -/obj/item/device/camera_film, +/obj/item/rectape, +/obj/item/rectape, +/obj/item/taperecorder, +/obj/item/entrepreneur/magnifying_glass, +/obj/item/entrepreneur/emf, +/obj/item/entrepreneur/spirit_board, +/obj/item/entrepreneur/crystal_ball, +/obj/item/tvcamera/streamer, +/obj/item/deck/tarot, +/obj/item/entrepreneur/horoscope, +/obj/item/camera, +/obj/item/camera_film, /turf/simulated/floor/wood, /area/tether/surfacebase/entrepreneur/meeting) "eWw" = ( @@ -38231,7 +38231,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -38346,7 +38346,7 @@ /area/tether/surfacebase/security/briefingroom) "gAm" = ( /obj/structure/flora/ausbushes/fernybush, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -38421,7 +38421,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals7{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -38501,23 +38501,23 @@ /obj/structure/closet/walllocker_double/misc_civ/north{ name = "office supplies" }, -/obj/item/weapon/folder, -/obj/item/weapon/folder, -/obj/item/weapon/folder, -/obj/item/weapon/folder, -/obj/item/weapon/folder, -/obj/item/weapon/folder, -/obj/item/weapon/folder, -/obj/item/weapon/pen, -/obj/item/weapon/pen, -/obj/item/weapon/pen, -/obj/item/weapon/pen, -/obj/item/weapon/pen, -/obj/item/weapon/stamp/accepted, -/obj/item/weapon/stamp/denied, -/obj/item/weapon/clipboard, -/obj/item/weapon/clipboard, -/obj/item/weapon/clipboard, +/obj/item/folder, +/obj/item/folder, +/obj/item/folder, +/obj/item/folder, +/obj/item/folder, +/obj/item/folder, +/obj/item/folder, +/obj/item/pen, +/obj/item/pen, +/obj/item/pen, +/obj/item/pen, +/obj/item/pen, +/obj/item/stamp/accepted, +/obj/item/stamp/denied, +/obj/item/clipboard, +/obj/item/clipboard, +/obj/item/clipboard, /obj/item/sticky_pad, /turf/simulated/floor/wood, /area/tether/surfacebase/entrepreneur) @@ -38614,7 +38614,7 @@ "gZn" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/table/glass, -/obj/item/weapon/storage/box/donut, +/obj/item/storage/box/donut, /turf/simulated/floor/carpet/blue, /area/tether/surfacebase/security/breakroom) "gZq" = ( @@ -38751,7 +38751,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals7{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/tiled, @@ -38927,7 +38927,7 @@ /area/tether/surfacebase/surface_three_hall/west) "hTB" = ( /obj/structure/table/hardwoodtable, -/obj/item/weapon/paper_bin, +/obj/item/paper_bin, /turf/simulated/floor/wood, /area/tether/surfacebase/entrepreneur) "hVc" = ( @@ -39148,7 +39148,7 @@ /area/tether/surfacebase/security/briefingroom) "iLR" = ( /obj/structure/table/glass, -/obj/item/weapon/paper_bin, +/obj/item/paper_bin, /turf/simulated/floor/carpet/blue, /area/tether/surfacebase/security/breakroom) "iOw" = ( @@ -39270,7 +39270,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals7{ dir = 6 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -39456,18 +39456,18 @@ /area/shuttle/tourbus/cockpit) "jFq" = ( /obj/structure/table/reinforced, -/obj/item/weapon/folder{ +/obj/item/folder{ pixel_x = -4 }, -/obj/item/weapon/folder/blue{ +/obj/item/folder/blue{ pixel_x = 5 }, -/obj/item/weapon/folder/red{ +/obj/item/folder/red{ pixel_y = 3 }, -/obj/item/weapon/folder/yellow, -/obj/item/weapon/clipboard, -/obj/item/weapon/storage/briefcase{ +/obj/item/folder/yellow, +/obj/item/clipboard, +/obj/item/storage/briefcase{ pixel_x = -2; pixel_y = -5 }, @@ -39601,7 +39601,7 @@ /area/tether/surfacebase/entrepreneur/meeting) "jRO" = ( /obj/effect/floor_decal/spline/plain, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /turf/simulated/floor/carpet/turcarpet, @@ -40330,7 +40330,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/tiled, @@ -40387,7 +40387,7 @@ /area/tether/surfacebase/security/upperhall) "lFG" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = -4; pixel_y = 12 }, @@ -40425,8 +40425,8 @@ }, /obj/structure/table/rack, /obj/item/clothing/shoes/magboots, -/obj/item/device/suit_cooling_unit, -/obj/item/weapon/tank/oxygen, +/obj/item/suit_cooling_unit, +/obj/item/tank/oxygen, /obj/machinery/door/window/brigdoor/eastleft{ name = "Protosuit Storage"; req_access = list(58) @@ -40712,18 +40712,18 @@ /obj/structure/closet/walllocker_double/misc_civ/south{ name = "vanity supplies" }, -/obj/item/weapon/entrepreneur/crystal, -/obj/item/weapon/entrepreneur/crystal, -/obj/item/weapon/entrepreneur/crystal, -/obj/item/weapon/entrepreneur/crystal, -/obj/item/weapon/entrepreneur/crystal, -/obj/item/weapon/lipstick/random, -/obj/item/weapon/lipstick/random, -/obj/item/weapon/lipstick/random, -/obj/item/weapon/reagent_containers/glass/bottle/essential_oil, -/obj/item/weapon/makeover, -/obj/item/weapon/nailpolish, -/obj/item/weapon/nailpolish_remover, +/obj/item/entrepreneur/crystal, +/obj/item/entrepreneur/crystal, +/obj/item/entrepreneur/crystal, +/obj/item/entrepreneur/crystal, +/obj/item/entrepreneur/crystal, +/obj/item/lipstick/random, +/obj/item/lipstick/random, +/obj/item/lipstick/random, +/obj/item/reagent_containers/glass/bottle/essential_oil, +/obj/item/makeover, +/obj/item/nailpolish, +/obj/item/nailpolish_remover, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/entrepreneur/session) "mFq" = ( @@ -40820,7 +40820,7 @@ /area/rnd/research/researchdivision) "mWk" = ( /obj/structure/table/steel, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /obj/effect/floor_decal/borderfloor{ dir = 1 }, @@ -40889,13 +40889,13 @@ /area/tether/surfacebase/surface_three_hall) "ngL" = ( /obj/structure/table/steel, -/obj/item/weapon/folder/red, +/obj/item/folder/red, /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/tiled, /area/tether/surfacebase/security/briefingroom) "ngT" = ( /obj/structure/table/standard, -/obj/item/weapon/bedsheet/pillow/exercise, +/obj/item/bedsheet/pillow/exercise, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/entrepreneur/session) "ngV" = ( @@ -40980,7 +40980,7 @@ /turf/simulated/floor/tiled, /area/shuttle/tourbus/cockpit) "nnY" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -41422,7 +41422,7 @@ /area/tether/surfacebase/surface_three_hall/nwest) "oHH" = ( /obj/structure/table/glass, -/obj/item/device/sleevemate, +/obj/item/sleevemate, /obj/structure/window/reinforced, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/lobby) @@ -41436,7 +41436,7 @@ "oJe" = ( /obj/structure/table/hardwoodtable, /obj/machinery/atmospherics/unary/vent_pump/on, -/obj/item/weapon/paper_bin, +/obj/item/paper_bin, /turf/simulated/floor/wood, /area/tether/surfacebase/entrepreneur) "oJw" = ( @@ -41622,13 +41622,13 @@ /area/tether/surfacebase/security/breakroom) "pcs" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/belt/medical, -/obj/item/weapon/storage/belt/medical, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/belt/medical, +/obj/item/storage/belt/medical, +/obj/item/storage/firstaid/regular{ pixel_x = 5; pixel_y = 8 }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = 5; pixel_y = 8 }, @@ -41727,7 +41727,7 @@ dir = 8; pixel_x = 30 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /turf/simulated/floor/tiled, @@ -41871,12 +41871,12 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/item/weapon/paper_bin, +/obj/item/paper_bin, /turf/simulated/floor/wood, /area/tether/surfacebase/entrepreneur) "pHl" = ( /obj/structure/table/steel, -/obj/item/weapon/folder/red, +/obj/item/folder/red, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, @@ -42062,7 +42062,7 @@ }, /obj/effect/floor_decal/corner/paleblue/border, /obj/structure/table/glass, -/obj/item/weapon/storage/box/cups, +/obj/item/storage/box/cups, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/lobby) "qem" = ( @@ -42306,10 +42306,10 @@ /area/tether/surfacebase/shuttle_pad) "qGK" = ( /obj/structure/table/reinforced, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = -4 }, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = 4; pixel_y = 4 }, @@ -42537,18 +42537,18 @@ /area/hallway/lower/third_south) "rrG" = ( /obj/structure/table/steel, -/obj/item/weapon/folder/red{ +/obj/item/folder/red{ pixel_x = 2; pixel_y = 4 }, -/obj/item/weapon/folder/red, +/obj/item/folder/red, /obj/effect/floor_decal/borderfloor{ dir = 9 }, /obj/effect/floor_decal/corner/red/border{ dir = 9 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 27 @@ -42602,7 +42602,7 @@ /area/tether/surfacebase/security/iaa/officea) "rEZ" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /obj/effect/floor_decal/steeldecal/steel_decals6{ dir = 8 }, @@ -42674,7 +42674,7 @@ dir = 4 }, /obj/effect/floor_decal/steeldecal/steel_decals7, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -42959,7 +42959,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals7{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/tiled, @@ -43094,7 +43094,7 @@ /turf/simulated/floor/wood, /area/tether/surfacebase/public_garden_three) "sXR" = ( -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ dir = 4; pixel_x = 24 }, @@ -43278,9 +43278,9 @@ /area/tether/surfacebase/security/iaa/officeb) "tPE" = ( /obj/structure/table/reinforced, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/codex, -/obj/item/weapon/book/manual/security_space_law, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/codex, +/obj/item/book/manual/wiki/security_space_law, /obj/effect/floor_decal/borderfloor{ dir = 9 }, @@ -43417,7 +43417,7 @@ /turf/simulated/wall, /area/tether/surfacebase/security/hos) "ueE" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -43562,7 +43562,7 @@ /turf/simulated/floor/tiled, /area/tether/surfacebase/surface_three_hall/west) "uuZ" = ( -/obj/item/weapon/bikehorn/rubberducky, +/obj/item/bikehorn/rubberducky, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, @@ -43603,21 +43603,21 @@ /obj/structure/cable/orange{ icon_state = "1-2" }, -/obj/item/weapon/storage/briefcase{ +/obj/item/storage/briefcase{ pixel_x = -2; pixel_y = -5 }, -/obj/item/weapon/storage/briefcase{ +/obj/item/storage/briefcase{ pixel_x = -2; pixel_y = -5 }, -/obj/item/device/measuring_tape, -/obj/item/weapon/tape_roll, -/obj/item/weapon/tape_roll, -/obj/item/weapon/wrapping_paper, -/obj/item/weapon/wrapping_paper, -/obj/item/weapon/wrapping_paper, -/obj/item/device/camera/selfie, +/obj/item/measuring_tape, +/obj/item/tape_roll, +/obj/item/tape_roll, +/obj/item/wrapping_paper, +/obj/item/wrapping_paper, +/obj/item/wrapping_paper, +/obj/item/camera/selfie, /turf/simulated/floor/wood, /area/tether/surfacebase/entrepreneur) "uxT" = ( @@ -43632,7 +43632,7 @@ /area/tether/surfacebase/shuttle_pad) "uyz" = ( /obj/structure/table/reinforced, -/obj/item/device/megaphone, +/obj/item/megaphone, /obj/effect/floor_decal/borderfloor{ dir = 1 }, @@ -43751,7 +43751,7 @@ /obj/structure/table/standard, /obj/item/clothing/gloves/sterile/nitrile, /obj/item/clothing/gloves/sterile/nitrile, -/obj/item/device/defib_kit/loaded, +/obj/item/defib_kit/loaded, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/storage) "uSA" = ( @@ -43846,7 +43846,7 @@ /obj/effect/floor_decal/corner/red/border{ dir = 1 }, -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ dir = 1; pixel_y = 24 }, @@ -43872,13 +43872,13 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, -/obj/item/weapon/pen/blue{ +/obj/item/paper_bin, +/obj/item/pen, +/obj/item/pen/blue{ pixel_x = 2; pixel_y = 3 }, -/obj/item/weapon/pen/blade/red{ +/obj/item/pen/blade/red{ pixel_x = -2; pixel_y = -2 }, @@ -43967,12 +43967,12 @@ dir = 1 }, /obj/structure/bookcase, -/obj/item/weapon/book/manual/standard_operating_procedure, -/obj/item/weapon/book/manual/standard_operating_procedure, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/manual/command_guide, -/obj/item/weapon/book/manual/command_guide, +/obj/item/book/manual/standard_operating_procedure, +/obj/item/book/manual/standard_operating_procedure, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/command_guide, +/obj/item/book/manual/command_guide, /obj/effect/floor_decal/spline/plain{ dir = 1 }, @@ -44058,7 +44058,7 @@ /turf/simulated/floor/tiled/monotile, /area/tether/surfacebase/shuttle_pad) "vQt" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 24 @@ -44073,19 +44073,19 @@ dir = 4 }, /obj/structure/table/rack/shelf, -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = -4; pixel_y = 4 }, -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = -4; pixel_y = -6 }, -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = 4; pixel_y = -6 }, @@ -44297,18 +44297,18 @@ /area/shuttle/tourbus/general) "wob" = ( /obj/structure/table/reinforced, -/obj/item/weapon/folder{ +/obj/item/folder{ pixel_x = -4 }, -/obj/item/weapon/folder/blue{ +/obj/item/folder/blue{ pixel_x = 5 }, -/obj/item/weapon/folder/red{ +/obj/item/folder/red{ pixel_y = 3 }, -/obj/item/weapon/folder/yellow, -/obj/item/weapon/clipboard, -/obj/item/weapon/storage/briefcase{ +/obj/item/folder/yellow, +/obj/item/clipboard, +/obj/item/storage/briefcase{ pixel_x = -2; pixel_y = -5 }, @@ -44331,7 +44331,7 @@ /area/tether/surfacebase/security/iaa/officea) "woZ" = ( /obj/structure/table/woodentable, -/obj/item/weapon/flame/candle, +/obj/item/flame/candle, /obj/effect/floor_decal/corner/lightgrey{ dir = 6 }, @@ -44399,10 +44399,10 @@ /obj/effect/floor_decal/spline/plain{ dir = 1 }, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -3 }, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 3 }, /obj/machinery/door/blast/gate/thin{ @@ -44514,8 +44514,8 @@ /area/tether/surfacebase/surface_three_hall/west) "wPV" = ( /obj/structure/table/woodentable, -/obj/item/weapon/folder/red_hos, -/obj/item/weapon/stamp/hos, +/obj/item/folder/red_hos, +/obj/item/stamp/hos, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, @@ -44535,7 +44535,7 @@ /turf/simulated/floor/tiled, /area/shuttle/tourbus/general) "wQs" = ( -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ dir = 4; pixel_x = 24 }, @@ -44839,19 +44839,19 @@ /area/tether/surfacebase/entrepreneur) "xud" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = -4; pixel_y = 4 }, -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = -4; pixel_y = -6 }, -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = 4; pixel_y = -6 }, @@ -44983,12 +44983,12 @@ dir = 4; pixel_x = 28 }, -/obj/item/device/camera, -/obj/item/device/camera_film, -/obj/item/device/taperecorder, -/obj/item/device/tape/random, -/obj/item/device/tape/random, -/obj/item/weapon/storage/secure/briefcase, +/obj/item/camera, +/obj/item/camera_film, +/obj/item/taperecorder, +/obj/item/rectape/random, +/obj/item/rectape/random, +/obj/item/storage/secure/briefcase, /turf/simulated/floor/tiled/dark, /area/tether/surfacebase/security/iaa/officeb) "xHg" = ( @@ -44996,12 +44996,12 @@ dir = 1 }, /obj/structure/bookcase, -/obj/item/weapon/book/manual/standard_operating_procedure, -/obj/item/weapon/book/manual/standard_operating_procedure, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/manual/command_guide, -/obj/item/weapon/book/manual/command_guide, +/obj/item/book/manual/standard_operating_procedure, +/obj/item/book/manual/standard_operating_procedure, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/command_guide, +/obj/item/book/manual/command_guide, /obj/effect/floor_decal/spline/plain{ dir = 1 }, @@ -45068,7 +45068,7 @@ /area/shuttle/tourbus/cockpit) "xQv" = ( /obj/structure/table/reinforced, -/obj/item/weapon/folder/red_hos, +/obj/item/folder/red_hos, /obj/effect/floor_decal/borderfloor{ dir = 1 }, @@ -45156,13 +45156,13 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, -/obj/item/weapon/pen/blade/red{ +/obj/item/paper_bin, +/obj/item/pen, +/obj/item/pen/blade/red{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/pen/blue{ +/obj/item/pen/blue{ pixel_x = 2; pixel_y = 3 }, diff --git a/maps/tether/tether-04-transit.dmm b/maps/tether/tether-04-transit.dmm index c3f19f415e9..089b5997ce0 100644 --- a/maps/tether/tether-04-transit.dmm +++ b/maps/tether/tether-04-transit.dmm @@ -177,7 +177,7 @@ /area/tether/transit) "mz" = ( /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -24 diff --git a/maps/tether/tether-05-station1.dmm b/maps/tether/tether-05-station1.dmm index b05742514c3..712a50b3be2 100644 --- a/maps/tether/tether-05-station1.dmm +++ b/maps/tether/tether-05-station1.dmm @@ -421,7 +421,7 @@ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, @@ -513,15 +513,15 @@ dir = 1 }, /obj/structure/table/steel, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "The big blue box recently installed in here is a 'grid checker' which will shut off the power if a dangerous power spike from the engine erupts into the powernet. Shutting everything down protects everything from electrical damage, however the outages can be disruptive to colony operations, so it is designed to restore power after a somewhat significant delay, up to ten minutes or so. The grid checker can be manually hacked in order to end the outage sooner. To do that, you must cut three specific wires which do not cause a red light to shine, then pulse a fourth wire. Electrical protection is highly recommended when doing maintenance on the grid checker."; name = "grid checker info" }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /turf/simulated/floor/tiled/techmaint, /area/engineering/engine_smes) "abc" = ( @@ -541,9 +541,9 @@ dir = 1 }, /obj/structure/table/steel, -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical, /obj/item/clothing/gloves/yellow, -/obj/item/device/multitool{ +/obj/item/multitool{ pixel_x = 5 }, /obj/item/stack/cable_coil{ @@ -690,7 +690,7 @@ dir = 4 }, /obj/structure/table/reinforced, -/obj/item/device/pipe_painter, +/obj/item/pipe_painter, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, @@ -788,7 +788,6 @@ id = "EngineEmitterPortWest2"; name = "Engine Room Blast Doors"; pixel_x = 25; - req_access = null; req_one_access = list(11,24) }, /obj/machinery/atmospherics/unary/vent_scrubber/on{ @@ -813,7 +812,7 @@ icon_state = "4-8" }, /obj/machinery/light/small, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/tiled/techmaint, @@ -1085,12 +1084,12 @@ /obj/machinery/light/small{ dir = 8 }, -/obj/item/weapon/circuitboard/crew{ +/obj/item/circuitboard/crew{ pixel_x = -3; pixel_y = 3 }, -/obj/item/weapon/circuitboard/card, -/obj/item/weapon/circuitboard/communications{ +/obj/item/circuitboard/card, +/obj/item/circuitboard/communications{ pixel_x = 3; pixel_y = -3 }, @@ -1131,14 +1130,14 @@ /obj/machinery/newscaster{ pixel_y = -29 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, /obj/structure/table/standard, -/obj/item/weapon/book/codex, +/obj/item/book/codex, /obj/random/cigarettes, -/obj/item/weapon/deck/cards, +/obj/item/deck/cards, /turf/simulated/floor/tiled, /area/teleporter/departing) "ack" = ( @@ -1321,7 +1320,7 @@ /turf/simulated/floor/tiled, /area/tcommsat/computer) "acD" = ( -/obj/item/device/multitool, +/obj/item/multitool, /obj/structure/table/standard, /obj/structure/cable/green{ icon_state = "1-8" @@ -1718,12 +1717,12 @@ layer = 2.9 }, /obj/machinery/camera/network/engineering, -/obj/item/weapon/circuitboard/robotics{ +/obj/item/circuitboard/robotics{ pixel_x = -3; pixel_y = 3 }, -/obj/item/weapon/circuitboard/mecha_control, -/obj/item/weapon/circuitboard/aifixer{ +/obj/item/circuitboard/mecha_control, +/obj/item/circuitboard/aifixer{ pixel_x = 3; pixel_y = -3 }, @@ -1766,7 +1765,7 @@ }) "adl" = ( /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -24 @@ -1792,19 +1791,19 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/circuitboard/transhuman_resleever{ +/obj/item/circuitboard/transhuman_resleever{ pixel_x = -3; pixel_y = 3 }, -/obj/item/weapon/circuitboard/circuit_imprinter{ +/obj/item/circuitboard/circuit_imprinter{ pixel_x = -1; pixel_y = 1 }, -/obj/item/weapon/circuitboard/aiupload{ +/obj/item/circuitboard/aiupload{ pixel_x = 1; pixel_y = -1 }, -/obj/item/weapon/circuitboard/borgupload{ +/obj/item/circuitboard/borgupload{ pixel_x = 3; pixel_y = -3 }, @@ -1814,7 +1813,7 @@ /turf/simulated/floor/tiled/dark, /area/storage/tech) "ado" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -1860,7 +1859,7 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/item/device/radio/beacon, +/obj/item/radio/beacon, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 }, @@ -2382,18 +2381,18 @@ /turf/simulated/floor/tiled, /area/crew_quarters/heads/chief) "aej" = ( -/obj/item/device/flashlight{ +/obj/item/flashlight{ pixel_x = 1; pixel_y = 5 }, -/obj/item/device/flashlight{ +/obj/item/flashlight{ pixel_x = 1; pixel_y = 5 }, -/obj/item/device/flash, -/obj/item/device/flash, +/obj/item/flash, +/obj/item/flash, /obj/structure/table/steel, -/obj/item/device/flashlight/maglight, +/obj/item/flashlight/maglight, /obj/structure/cable/green{ icon_state = "1-8" }, @@ -2468,6 +2467,12 @@ icon_state = "1-2" }, /obj/machinery/door/firedoor/glass, +/obj/machinery/door/blast/shutters{ + dir = 2; + id = "cargo_shutter"; + layer = 3.3; + name = "Cargo Shutters" + }, /turf/simulated/floor/tiled, /area/quartermaster/office) "aer" = ( @@ -2485,7 +2490,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals7{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/tiled, @@ -2746,14 +2751,14 @@ /obj/item/stack/flag/green{ pixel_x = -4 }, -/obj/item/weapon/storage/box/nifsofts_mining, +/obj/item/storage/box/nifsofts_mining, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, /obj/structure/sign/poster, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, -/obj/item/device/personal_shield_generator/belt/mining/loaded, +/obj/item/personal_shield_generator/belt/mining/loaded, /turf/simulated/floor/tiled, /area/quartermaster/belterdock/gear) "aeK" = ( @@ -3194,12 +3199,12 @@ /area/hallway/station/docks) "afK" = ( /obj/structure/table/standard, -/obj/item/weapon/folder/yellow, -/obj/item/weapon/pen{ +/obj/item/folder/yellow, +/obj/item/pen{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/pen/red{ +/obj/item/pen/red{ pixel_x = 2; pixel_y = 6 }, @@ -3578,7 +3583,7 @@ "agH" = ( /obj/structure/table/reinforced, /obj/effect/floor_decal/corner/white/diagonal, -/obj/item/weapon/folder/yellow, +/obj/item/folder/yellow, /turf/simulated/floor/tiled, /area/engineering/break_room) "agI" = ( @@ -3660,7 +3665,7 @@ /area/shuttle/excursion/general) "agS" = ( /obj/structure/closet/secure_closet/quartermaster, -/obj/item/weapon/storage/backpack/dufflebag, +/obj/item/storage/backpack/dufflebag, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 }, @@ -3836,7 +3841,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -4213,14 +4218,14 @@ /obj/machinery/door/window/brigdoor/westleft{ req_access = list(5) }, -/obj/item/weapon/tank/oxygen, -/obj/item/device/suit_cooling_unit, +/obj/item/tank/oxygen, +/obj/item/suit_cooling_unit, /obj/item/clothing/shoes/magboots, /obj/item/clothing/mask/breath, /obj/item/clothing/suit/space/void/expedition_medical, /obj/item/clothing/head/helmet/space/void/expedition_medical, -/obj/item/weapon/tank/oxygen, -/obj/item/device/suit_cooling_unit, +/obj/item/tank/oxygen, +/obj/item/suit_cooling_unit, /obj/item/clothing/shoes/magboots, /obj/item/clothing/mask/breath, /obj/item/clothing/suit/space/void/expedition_medical, @@ -4384,15 +4389,15 @@ /area/engineering/engine_airlock) "aiG" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/matter_bin, -/obj/item/weapon/stock_parts/micro_laser, -/obj/item/weapon/stock_parts/capacitor, -/obj/item/weapon/stock_parts/capacitor, -/obj/item/weapon/stock_parts/scanning_module, -/obj/item/weapon/stock_parts/scanning_module, -/obj/item/weapon/stock_parts/console_screen, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/micro_laser, +/obj/item/stock_parts/capacitor, +/obj/item/stock_parts/capacitor, +/obj/item/stock_parts/scanning_module, +/obj/item/stock_parts/scanning_module, +/obj/item/stock_parts/console_screen, /turf/simulated/floor, /area/storage/tech) "aiH" = ( @@ -4410,22 +4415,22 @@ dir = 1 }, /obj/structure/table/rack/steel, -/obj/item/weapon/computer_hardware/battery_module, -/obj/item/weapon/computer_hardware/battery_module, -/obj/item/weapon/computer_hardware/battery_module/nano, -/obj/item/weapon/computer_hardware/hard_drive, -/obj/item/weapon/computer_hardware/hard_drive, -/obj/item/weapon/computer_hardware/hard_drive/micro, -/obj/item/weapon/computer_hardware/network_card, -/obj/item/weapon/computer_hardware/network_card, -/obj/item/weapon/computer_hardware/network_card/wired, -/obj/item/weapon/computer_hardware/processor_unit, -/obj/item/weapon/computer_hardware/processor_unit, -/obj/item/weapon/computer_hardware/processor_unit/small, -/obj/item/weapon/computer_hardware/tesla_link, -/obj/item/weapon/computer_hardware/nano_printer, -/obj/item/weapon/computer_hardware/hard_drive/portable, -/obj/item/weapon/computer_hardware/hard_drive/portable, +/obj/item/computer_hardware/battery_module, +/obj/item/computer_hardware/battery_module, +/obj/item/computer_hardware/battery_module/nano, +/obj/item/computer_hardware/hard_drive, +/obj/item/computer_hardware/hard_drive, +/obj/item/computer_hardware/hard_drive/micro, +/obj/item/computer_hardware/network_card, +/obj/item/computer_hardware/network_card, +/obj/item/computer_hardware/network_card/wired, +/obj/item/computer_hardware/processor_unit, +/obj/item/computer_hardware/processor_unit, +/obj/item/computer_hardware/processor_unit/small, +/obj/item/computer_hardware/tesla_link, +/obj/item/computer_hardware/nano_printer, +/obj/item/computer_hardware/hard_drive/portable, +/obj/item/computer_hardware/hard_drive/portable, /turf/simulated/floor, /area/storage/tech) "aiJ" = ( @@ -4561,10 +4566,10 @@ /area/engineering/engine_room) "ajq" = ( /obj/structure/table/reinforced, -/obj/item/weapon/tank/jetpack/carbondioxide, -/obj/item/weapon/tank/jetpack/carbondioxide, -/obj/item/weapon/tank/jetpack/carbondioxide, -/obj/item/weapon/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, /obj/machinery/camera/network/command, /turf/simulated/floor/tiled, /area/ai_monitored/storage/eva) @@ -4736,12 +4741,12 @@ "ajV" = ( /obj/machinery/camera/network/engineering, /obj/structure/table/rack/steel, -/obj/item/weapon/stock_parts/matter_bin, -/obj/item/weapon/stock_parts/matter_bin, -/obj/item/weapon/stock_parts/matter_bin, -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/console_screen, -/obj/item/weapon/circuitboard/partslathe, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/console_screen, +/obj/item/circuitboard/partslathe, /turf/simulated/floor/plating, /area/storage/tech) "ajX" = ( @@ -4753,16 +4758,16 @@ }, /area/tcommsat/chamber) "ajZ" = ( -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/matter_bin, -/obj/item/weapon/stock_parts/matter_bin, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/matter_bin, /obj/machinery/light/small{ dir = 1 }, -/obj/item/weapon/stock_parts/manipulator, +/obj/item/stock_parts/manipulator, /obj/structure/table/rack/steel, -/obj/item/weapon/stock_parts/console_screen, -/obj/item/weapon/circuitboard/autolathe, +/obj/item/stock_parts/console_screen, +/obj/item/circuitboard/autolathe, /turf/simulated/floor/plating, /area/storage/tech) "aka" = ( @@ -4816,7 +4821,7 @@ /turf/simulated/floor, /area/engineering/storage) "akj" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /obj/machinery/shield_capacitor, @@ -4955,14 +4960,14 @@ /area/engineering/gravity_gen) "akR" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 6 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_y = 3 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = -3 }, /obj/machinery/firealarm{ @@ -5033,7 +5038,7 @@ /turf/simulated/floor/tiled/steel_grid, /area/engineering/storage) "ala" = ( -/obj/item/weapon/stool, +/obj/item/stool, /turf/simulated/floor, /area/storage/tech) "alb" = ( @@ -5058,7 +5063,7 @@ /area/engineering/storage) "ald" = ( /obj/structure/table/steel, -/obj/item/device/integrated_circuit_printer, +/obj/item/integrated_circuit_printer, /turf/simulated/floor, /area/storage/tech) "ale" = ( @@ -5105,10 +5110,10 @@ /area/ai_monitored/storage/eva) "alk" = ( /obj/structure/table/steel, -/obj/item/device/integrated_electronics/debugger{ +/obj/item/integrated_electronics/debugger{ pixel_x = -5 }, -/obj/item/device/integrated_electronics/wirer{ +/obj/item/integrated_electronics/wirer{ pixel_x = 5 }, /turf/simulated/floor, @@ -5387,28 +5392,28 @@ /area/engineering/engineering_monitoring) "alZ" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/circuitboard/rdserver{ +/obj/item/circuitboard/rdserver{ pixel_x = -3; pixel_y = 3 }, -/obj/item/weapon/circuitboard/protolathe{ +/obj/item/circuitboard/protolathe{ pixel_x = -2; pixel_y = 2 }, -/obj/item/weapon/circuitboard/destructive_analyzer{ +/obj/item/circuitboard/destructive_analyzer{ pixel_x = -1; pixel_y = 1 }, -/obj/item/weapon/circuitboard/rdconsole, -/obj/item/weapon/circuitboard/autolathe{ +/obj/item/circuitboard/rdconsole, +/obj/item/circuitboard/autolathe{ pixel_x = 1; pixel_y = -1 }, -/obj/item/weapon/circuitboard/mechfab{ +/obj/item/circuitboard/mechfab{ pixel_x = 2; pixel_y = -2 }, -/obj/item/weapon/circuitboard/prosthetics{ +/obj/item/circuitboard/prosthetics{ pixel_x = 3; pixel_y = -3 }, @@ -5419,28 +5424,28 @@ /area/storage/tech) "amb" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/circuitboard/skills/pcu{ +/obj/item/circuitboard/skills/pcu{ pixel_x = -3; pixel_y = 3 }, -/obj/item/weapon/circuitboard/med_data{ +/obj/item/circuitboard/med_data{ pixel_x = -2; pixel_y = 2 }, -/obj/item/weapon/circuitboard/secure_data{ +/obj/item/circuitboard/secure_data{ pixel_x = -1; pixel_y = 1 }, -/obj/item/weapon/circuitboard/security, -/obj/item/weapon/circuitboard/security/engineering{ +/obj/item/circuitboard/security, +/obj/item/circuitboard/security/engineering{ pixel_x = 1; pixel_y = -1 }, -/obj/item/weapon/circuitboard/security/mining{ +/obj/item/circuitboard/security/mining{ pixel_x = 2; pixel_y = -2 }, -/obj/item/weapon/circuitboard/stationalert_security{ +/obj/item/circuitboard/stationalert_security{ pixel_x = 3; pixel_y = -3 }, @@ -5456,7 +5461,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals7{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -5467,18 +5472,18 @@ dir = 1 }, /obj/structure/table/reinforced, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, -/obj/item/device/gps/engineering{ +/obj/item/gps/engineering{ pixel_x = 3; pixel_y = 6 }, -/obj/item/device/gps/engineering{ +/obj/item/gps/engineering{ pixel_y = 3 }, -/obj/item/device/gps/engineering{ +/obj/item/gps/engineering{ pixel_x = -3 }, /turf/simulated/floor/tiled, @@ -5679,7 +5684,7 @@ /area/shuttle/medivac/cockpit) "amY" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /obj/item/bodybag/cryobag{ pixel_x = 6 }, @@ -5700,12 +5705,12 @@ /area/engineering/engineering_monitoring) "ana" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/circuitboard/algae_farm{ +/obj/item/circuitboard/algae_farm{ pixel_x = -3; pixel_y = 3 }, -/obj/item/weapon/circuitboard/unary_atmos/heater, -/obj/item/weapon/circuitboard/unary_atmos/cooler{ +/obj/item/circuitboard/unary_atmos/heater, +/obj/item/circuitboard/unary_atmos/cooler{ pixel_x = 3; pixel_y = -3 }, @@ -5723,32 +5728,32 @@ /area/storage/tech) "anb" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/circuitboard/grinder{ +/obj/item/circuitboard/grinder{ pixel_x = -4; pixel_y = 4 }, -/obj/item/weapon/circuitboard/grill{ +/obj/item/circuitboard/grill{ pixel_x = -3; pixel_y = 3 }, -/obj/item/weapon/circuitboard/fryer{ +/obj/item/circuitboard/fryer{ pixel_x = -2; pixel_y = 2 }, -/obj/item/weapon/circuitboard/oven{ +/obj/item/circuitboard/oven{ pixel_x = -1; pixel_y = 1 }, -/obj/item/weapon/circuitboard/microwave, -/obj/item/weapon/circuitboard/cerealmaker{ +/obj/item/circuitboard/microwave, +/obj/item/circuitboard/cerealmaker{ pixel_x = 1; pixel_y = -1 }, -/obj/item/weapon/circuitboard/candymachine{ +/obj/item/circuitboard/candymachine{ pixel_x = 2; pixel_y = -2 }, -/obj/item/weapon/circuitboard/biogenerator{ +/obj/item/circuitboard/biogenerator{ pixel_x = 3; pixel_y = -3 }, @@ -5810,7 +5815,7 @@ /turf/simulated/floor, /area/storage/tech) "ans" = ( -/obj/item/weapon/storage/box/nifsofts_pilot, +/obj/item/storage/box/nifsofts_pilot, /obj/structure/table/steel, /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/tiled, @@ -6035,19 +6040,19 @@ /area/crew_quarters/heads/chief) "anT" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/circuitboard/body_designer{ +/obj/item/circuitboard/body_designer{ pixel_x = -3; pixel_y = 3 }, -/obj/item/weapon/circuitboard/resleeving_control{ +/obj/item/circuitboard/resleeving_control{ pixel_x = -1; pixel_y = 1 }, -/obj/item/weapon/circuitboard/transhuman_clonepod{ +/obj/item/circuitboard/transhuman_clonepod{ pixel_x = 1; pixel_y = -1 }, -/obj/item/weapon/circuitboard/transhuman_synthprinter{ +/obj/item/circuitboard/transhuman_synthprinter{ pixel_x = 3; pixel_y = -3 }, @@ -6055,24 +6060,24 @@ /area/storage/tech) "anX" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/circuitboard/powermonitor{ +/obj/item/circuitboard/powermonitor{ pixel_x = -3; pixel_y = 3 }, -/obj/item/weapon/circuitboard/stationalert_engineering{ +/obj/item/circuitboard/stationalert_engineering{ pixel_x = -2; pixel_y = 2 }, -/obj/item/weapon/circuitboard/atmos_alert{ +/obj/item/circuitboard/atmos_alert{ pixel_x = -1; pixel_y = 1 }, -/obj/item/weapon/circuitboard/rcon_console, -/obj/item/weapon/circuitboard/atmoscontrol{ +/obj/item/circuitboard/rcon_console, +/obj/item/circuitboard/atmoscontrol{ pixel_x = 1; pixel_y = -1 }, -/obj/item/weapon/circuitboard/drone_control{ +/obj/item/circuitboard/drone_control{ pixel_x = 2; pixel_y = -2 }, @@ -6090,28 +6095,28 @@ /area/engineering/hallway) "aoc" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/circuitboard/sleeper{ +/obj/item/circuitboard/sleeper{ pixel_x = -3; pixel_y = 3 }, -/obj/item/weapon/circuitboard/sleeper_console{ +/obj/item/circuitboard/sleeper_console{ pixel_x = -2; pixel_y = 2 }, -/obj/item/weapon/circuitboard/body_scanner{ +/obj/item/circuitboard/body_scanner{ pixel_x = -1; pixel_y = 1 }, -/obj/item/weapon/circuitboard/scanner_console, -/obj/item/weapon/circuitboard/grinder{ +/obj/item/circuitboard/scanner_console, +/obj/item/circuitboard/grinder{ pixel_x = 1; pixel_y = -1 }, -/obj/item/weapon/circuitboard/bioprinter{ +/obj/item/circuitboard/bioprinter{ pixel_x = 2; pixel_y = -2 }, -/obj/item/weapon/circuitboard/chem_master{ +/obj/item/circuitboard/chem_master{ pixel_x = 3; pixel_y = -3 }, @@ -6147,32 +6152,32 @@ /area/tether/station/restroom) "aog" = ( /obj/structure/table/rack/steel, -/obj/item/weapon/circuitboard/mech_recharger{ +/obj/item/circuitboard/mech_recharger{ pixel_x = -4; pixel_y = 4 }, -/obj/item/weapon/circuitboard/cell_charger{ +/obj/item/circuitboard/cell_charger{ pixel_x = -3; pixel_y = 3 }, -/obj/item/weapon/circuitboard/recharger{ +/obj/item/circuitboard/recharger{ pixel_x = -2; pixel_y = 2 }, -/obj/item/weapon/circuitboard/recharge_station{ +/obj/item/circuitboard/recharge_station{ pixel_x = -1; pixel_y = 1 }, -/obj/item/weapon/circuitboard/arcade/battle, -/obj/item/weapon/circuitboard/arcade/clawmachine{ +/obj/item/circuitboard/arcade/battle, +/obj/item/circuitboard/arcade/clawmachine{ pixel_x = 1; pixel_y = -1 }, -/obj/item/weapon/circuitboard/arcade/orion_trail{ +/obj/item/circuitboard/arcade/orion_trail{ pixel_x = 2; pixel_y = -2 }, -/obj/item/weapon/circuitboard/jukebox{ +/obj/item/circuitboard/jukebox{ pixel_x = 3; pixel_y = -3 }, @@ -6243,7 +6248,7 @@ /obj/machinery/atmospherics/pipe/simple/visible/supply{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -6278,8 +6283,8 @@ dir = 4 }, /obj/structure/table/steel, -/obj/item/device/pipe_painter, -/obj/item/weapon/pipe_dispenser, +/obj/item/pipe_painter, +/obj/item/pipe_dispenser, /turf/simulated/floor, /area/storage/tech) "aos" = ( @@ -7410,10 +7415,10 @@ /obj/machinery/light{ dir = 1 }, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_y = 5 }, -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical, /turf/simulated/floor/tiled, /area/engineering/workshop) "art" = ( @@ -7522,7 +7527,7 @@ dir = 8 }, /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/chips, +/obj/item/reagent_containers/food/snacks/chips, /turf/simulated/floor/carpet, /area/engineering/break_room) "arO" = ( @@ -7655,7 +7660,7 @@ dir = 10 }, /obj/structure/table/woodentable, -/obj/item/weapon/book/manual/supermatter_engine{ +/obj/item/book/manual/supermatter_engine{ pixel_x = -3 }, /turf/simulated/floor/carpet, @@ -7767,12 +7772,12 @@ /area/engineering/atmos/backup) "asA" = ( /obj/structure/table/reinforced, -/obj/item/device/floor_painter, -/obj/item/device/t_scanner, -/obj/item/device/multitool{ +/obj/item/floor_painter, +/obj/item/t_scanner, +/obj/item/multitool{ pixel_x = 5 }, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, /obj/machinery/camera/network/engineering{ dir = 4 }, @@ -7780,7 +7785,7 @@ /area/engineering/workshop) "asF" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/toolbox/electrical{ +/obj/item/storage/toolbox/electrical{ pixel_x = 1; pixel_y = -1 }, @@ -7917,8 +7922,8 @@ /area/engineering/atmos/backup) "ath" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/belt/utility, -/obj/item/weapon/storage/belt/utility, +/obj/item/storage/belt/utility, +/obj/item/storage/belt/utility, /obj/item/stack/cable_coil{ pixel_x = 3; pixel_y = 3 @@ -7927,27 +7932,27 @@ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/box/nifsofts_engineering, +/obj/item/storage/box/nifsofts_engineering, /turf/simulated/floor/tiled, /area/engineering/workshop) "atj" = ( /obj/structure/table/reinforced, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, -/obj/item/device/radio/off{ +/obj/item/radio/off{ pixel_y = 6 }, -/obj/item/device/radio/off{ +/obj/item/radio/off{ pixel_x = -6; pixel_y = 4 }, -/obj/item/device/radio/off{ +/obj/item/radio/off{ pixel_x = 6; pixel_y = 4 }, -/obj/item/device/radio/off, +/obj/item/radio/off, /turf/simulated/floor/tiled, /area/engineering/workshop) "atk" = ( @@ -8016,7 +8021,6 @@ /obj/machinery/door/airlock/multi_tile/glass{ dir = 2; name = "Gateway/EVA Prep Room"; - req_access = null; req_one_access = list(18,19,43,67) }, /turf/simulated/floor/tiled/steel_ridged, @@ -8105,7 +8109,7 @@ "atN" = ( /obj/structure/table/reinforced, /obj/random/toolbox, -/obj/item/device/geiger, +/obj/item/geiger, /turf/simulated/floor/tiled, /area/engineering/workshop) "atO" = ( @@ -8192,16 +8196,16 @@ "atZ" = ( /obj/effect/floor_decal/corner/white/diagonal, /obj/structure/bookcase/manuals/engineering, -/obj/item/weapon/book/manual/engineering_construction, -/obj/item/weapon/book/manual/atmospipes, -/obj/item/weapon/book/manual/engineering_guide, -/obj/item/weapon/book/manual/evaguide, +/obj/item/book/manual/wiki/engineering_construction, +/obj/item/book/manual/atmospipes, +/obj/item/book/manual/wiki/engineering_guide, +/obj/item/book/manual/evaguide, /turf/simulated/floor/tiled, /area/engineering/break_room) "auc" = ( /obj/structure/table/reinforced, /obj/effect/floor_decal/corner/white/diagonal, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /obj/item/bodybag/cryobag{ pixel_x = 6 }, @@ -8358,7 +8362,7 @@ /turf/simulated/floor/grass, /area/quartermaster/qm) "auU" = ( -/obj/item/weapon/stool, +/obj/item/stool, /obj/effect/floor_decal/industrial/warning{ dir = 9 }, @@ -8420,9 +8424,9 @@ icon_state = "0-4" }, /obj/structure/table/reinforced, -/obj/item/weapon/tool/crowbar, +/obj/item/tool/crowbar, /obj/item/clothing/gloves/black, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /turf/simulated/floor/tiled, /area/engineering/workshop) "avf" = ( @@ -8524,8 +8528,8 @@ /area/quartermaster/office) "avs" = ( /obj/structure/table/reinforced, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, /obj/machinery/light_switch{ pixel_x = 11; pixel_y = 24 @@ -8588,6 +8592,12 @@ /obj/structure/grille, /obj/structure/window/reinforced/full, /obj/structure/disposalpipe/segment, +/obj/machinery/door/blast/shutters{ + dir = 2; + id = "cargo_shutter"; + layer = 3.3; + name = "Cargo Shutters" + }, /turf/simulated/floor/plating, /area/quartermaster/office) "avz" = ( @@ -8761,14 +8771,14 @@ dir = 8 }, /obj/structure/table/standard, -/obj/item/weapon/storage/box, -/obj/item/weapon/storage/box, -/obj/item/weapon/storage/box, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, -/obj/item/device/destTagger{ +/obj/item/storage/box, +/obj/item/storage/box, +/obj/item/storage/box, +/obj/item/packageWrap, +/obj/item/packageWrap, +/obj/item/packageWrap, +/obj/item/packageWrap, +/obj/item/destTagger{ pixel_x = 4; pixel_y = 3 }, @@ -8949,7 +8959,7 @@ /area/maintenance/station/eng_lower) "awT" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/glasses/square, +/obj/item/storage/box/glasses/square, /obj/effect/floor_decal/corner/white/diagonal, /obj/machinery/alarm{ dir = 8; @@ -8987,11 +8997,11 @@ pixel_y = 26 }, /obj/structure/closet/secure_closet/cargotech, -/obj/item/weapon/stamp/cargo, +/obj/item/stamp/cargo, /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/item/weapon/storage/backpack/dufflebag, +/obj/item/storage/backpack/dufflebag, /turf/simulated/floor/tiled, /area/quartermaster/storage) "awX" = ( @@ -9045,9 +9055,9 @@ /area/maintenance/cargo) "axc" = ( /obj/structure/table/standard, -/obj/item/weapon/hand_labeler, -/obj/item/weapon/folder/yellow, -/obj/item/weapon/stamp{ +/obj/item/hand_labeler, +/obj/item/folder/yellow, +/obj/item/stamp{ pixel_x = -3; pixel_y = 3 }, @@ -9104,7 +9114,7 @@ /obj/structure/table/standard, /obj/item/clothing/head/soft, /obj/item/clothing/head/soft, -/obj/item/weapon/stamp{ +/obj/item/stamp{ pixel_x = -3; pixel_y = 3 }, @@ -9218,7 +9228,7 @@ dir = 9 }, /obj/structure/table/woodentable, -/obj/item/weapon/material/ashtray/glass, +/obj/item/material/ashtray/glass, /turf/simulated/floor/tiled, /area/engineering/engineering_airlock) "axG" = ( @@ -9302,7 +9312,7 @@ /obj/structure/table/reinforced, /obj/random/maintenance/clean, /obj/random/powercell, -/obj/item/device/t_scanner, +/obj/item/t_scanner, /turf/simulated/floor/tiled, /area/engineering/workshop) "axY" = ( @@ -9358,11 +9368,11 @@ /obj/machinery/light, /obj/structure/table/reinforced, /obj/effect/floor_decal/corner/white/diagonal, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen/multi, +/obj/item/pen/multi, /obj/machinery/light_switch{ dir = 1; pixel_y = -24 @@ -9499,7 +9509,7 @@ /obj/structure/cable/green{ icon_state = "1-2" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -10023,7 +10033,7 @@ dir = 8; layer = 2.6 }, -/obj/item/weapon/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, /turf/simulated/floor/tiled, /area/engineering/engine_eva) "aAT" = ( @@ -10073,7 +10083,7 @@ dir = 8; layer = 2.6 }, -/obj/item/weapon/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, /obj/machinery/status_display{ pixel_y = 32 }, @@ -10100,14 +10110,14 @@ icon_state = "0-2" }, /obj/structure/table/reinforced, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 6 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_y = 3 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = -3 }, /turf/simulated/floor/tiled, @@ -10255,9 +10265,9 @@ /area/maintenance/station/eng_lower) "aBI" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/belt/utility, -/obj/item/device/multitool, -/obj/item/weapon/storage/belt/utility, +/obj/item/storage/belt/utility, +/obj/item/multitool, +/obj/item/storage/belt/utility, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, /turf/simulated/floor/tiled, @@ -10356,11 +10366,11 @@ /area/engineering/engineering_monitoring) "aCc" = ( /obj/structure/table/reinforced, -/obj/item/weapon/rcd, -/obj/item/weapon/rcd_ammo, -/obj/item/weapon/rcd_ammo, -/obj/item/weapon/rcd_ammo, -/obj/item/weapon/rcd_ammo, +/obj/item/rcd, +/obj/item/rcd_ammo, +/obj/item/rcd_ammo, +/obj/item/rcd_ammo, +/obj/item/rcd_ammo, /obj/machinery/light_switch{ pixel_x = -22; pixel_y = 22 @@ -10375,7 +10385,7 @@ /area/engineering/gravity_gen) "aCf" = ( /obj/structure/table/reinforced, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, @@ -10515,19 +10525,19 @@ "aCP" = ( /obj/structure/table/reinforced, /obj/machinery/cell_charger, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /obj/structure/window/reinforced{ dir = 1 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, @@ -10542,8 +10552,8 @@ /obj/structure/window/reinforced{ dir = 1 }, -/obj/item/weapon/cell/device, -/obj/item/weapon/cell/device, +/obj/item/cell/device, +/obj/item/cell/device, /obj/machinery/light_switch{ dir = 8; pixel_x = 24 @@ -10564,9 +10574,9 @@ dir = 1 }, /obj/item/clothing/suit/fire/firefighter, -/obj/item/weapon/tank/oxygen, +/obj/item/tank/oxygen, /obj/item/clothing/mask/gas, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /obj/item/clothing/head/hardhat/red, /obj/item/clothing/glasses/meson, /obj/machinery/power/apc{ @@ -10577,7 +10587,7 @@ /obj/random/junk, /obj/random/tool, /obj/random/maintenance/clean, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /obj/structure/disposalpipe/segment{ dir = 4 }, @@ -11445,14 +11455,14 @@ /area/engineering/foyer) "aJV" = ( /obj/structure/closet/crate, -/obj/item/weapon/circuitboard/smes, -/obj/item/weapon/circuitboard/smes, -/obj/item/weapon/smes_coil, -/obj/item/weapon/smes_coil, -/obj/item/weapon/smes_coil/super_capacity, -/obj/item/weapon/smes_coil/super_capacity, -/obj/item/weapon/smes_coil/super_io, -/obj/item/weapon/smes_coil/super_io, +/obj/item/circuitboard/smes, +/obj/item/circuitboard/smes, +/obj/item/smes_coil, +/obj/item/smes_coil, +/obj/item/smes_coil/super_capacity, +/obj/item/smes_coil/super_capacity, +/obj/item/smes_coil/super_io, +/obj/item/smes_coil/super_io, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/plating, /area/engineering/storage) @@ -11472,7 +11482,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals7{ dir = 10 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -11761,7 +11771,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/tiled, @@ -11942,7 +11952,7 @@ /area/maintenance/station/eng_lower) "aMt" = ( /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -28 @@ -12149,8 +12159,8 @@ dir = 4; pixel_x = -23 }, -/obj/item/weapon/storage/toolbox/emergency, -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/emergency, +/obj/item/storage/toolbox/electrical, /turf/simulated/floor/tiled, /area/engineering/engineering_monitoring) "aPa" = ( @@ -12218,7 +12228,7 @@ dir = 1 }, /obj/item/clothing/mask/breath, -/obj/item/weapon/rig/ce/equipped, +/obj/item/rig/ce/equipped, /obj/structure/sign/painting/library_secure{ pixel_x = -30 }, @@ -12309,7 +12319,7 @@ /area/engineering/engineering_airlock) "aQD" = ( /obj/structure/table/reinforced, -/obj/item/weapon/folder/yellow, +/obj/item/folder/yellow, /obj/machinery/door/window/westleft{ dir = 4; name = "Engineering Reception Desk"; @@ -12369,7 +12379,7 @@ /area/engineering/workshop) "aRy" = ( /obj/structure/closet/toolcloset, -/obj/item/weapon/pickaxe, +/obj/item/pickaxe, /turf/simulated/floor/tiled, /area/engineering/workshop) "aRA" = ( @@ -12491,19 +12501,19 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen/blue{ +/obj/item/pen/blue{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/pen/red, +/obj/item/pen/red, /turf/simulated/floor/tiled, /area/engineering/foyer) "aSL" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -12539,8 +12549,8 @@ /area/shuttle/excursion/cockpit) "aTE" = ( /obj/structure/table/reinforced, -/obj/item/weapon/packageWrap, -/obj/item/weapon/hand_labeler, +/obj/item/packageWrap, +/obj/item/hand_labeler, /obj/machinery/status_display{ pixel_y = -32 }, @@ -12602,12 +12612,12 @@ dir = 1 }, /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/folder/yellow_ce, -/obj/item/weapon/pen/multi, +/obj/item/folder/yellow_ce, +/obj/item/pen/multi, /turf/simulated/floor/carpet/oracarpet, /area/crew_quarters/heads/chief) "aTV" = ( @@ -12706,8 +12716,7 @@ /obj/structure/plasticflaps, /obj/machinery/conveyor{ dir = 8; - id = "miningops"; - movedir = null + id = "miningops" }, /turf/simulated/floor/plating, /area/quartermaster/belterdock/refinery) @@ -12748,7 +12757,7 @@ /area/crew_quarters/heads/chief) "aVK" = ( /obj/structure/table/reinforced, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /obj/random/tech_supply, @@ -12844,17 +12853,17 @@ /area/tether/exploration) "aWJ" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /obj/machinery/camera/network/command, /turf/simulated/floor/tiled/dark, /area/gateway/prep_room) "aXm" = ( /obj/structure/table/reinforced, -/obj/item/device/communicator, -/obj/item/device/communicator, -/obj/item/device/communicator, -/obj/item/device/communicator, +/obj/item/communicator, +/obj/item/communicator, +/obj/item/communicator, +/obj/item/communicator, /turf/simulated/floor/tiled/dark, /area/gateway/prep_room) "aXC" = ( @@ -12869,7 +12878,7 @@ /area/engineering/gravity_gen) "aXX" = ( /obj/structure/table/reinforced, -/obj/item/weapon/deck/cards, +/obj/item/deck/cards, /turf/simulated/floor/tiled, /area/engineering/engineering_monitoring) "aXZ" = ( @@ -12961,11 +12970,11 @@ /area/crew_quarters/heads/chief) "aYJ" = ( /obj/structure/table/reinforced, -/obj/item/weapon/book/manual/supermatter_engine, -/obj/item/device/radio{ +/obj/item/book/manual/supermatter_engine, +/obj/item/radio{ pixel_x = -4 }, -/obj/item/device/megaphone, +/obj/item/megaphone, /turf/simulated/floor/tiled, /area/crew_quarters/heads/chief) "aZe" = ( @@ -13035,7 +13044,7 @@ pixel_y = 4 }, /obj/item/clothing/glasses/welding/superior, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/carpet/oracarpet, /area/crew_quarters/heads/chief) "baI" = ( @@ -13138,7 +13147,7 @@ }, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/structure/table/reinforced, -/obj/item/weapon/stamp/ce, +/obj/item/stamp/ce, /turf/simulated/floor/carpet/oracarpet, /area/crew_quarters/heads/chief) "bcp" = ( @@ -13397,7 +13406,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/tiled, @@ -13655,7 +13664,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, -/obj/item/device/multitool/station_buffered, +/obj/item/multitool/station_buffered, /turf/simulated/floor/tiled, /area/ai_monitored/storage/eva) "bkU" = ( @@ -13671,14 +13680,14 @@ /turf/simulated/shuttle/wall/hard_corner, /area/shuttle/mining_outpost/shuttle) "bmv" = ( -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 6 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_y = 3 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = -3 }, /obj/structure/table/reinforced, @@ -13860,7 +13869,7 @@ /turf/simulated/floor/tiled, /area/engineering/gravity_gen) "bth" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -14206,34 +14215,34 @@ pixel_y = -24 }, /obj/structure/table/rack/shelf, -/obj/item/device/radio/headset/explorer{ +/obj/item/radio/headset/explorer{ pixel_x = -5; pixel_y = -5 }, -/obj/item/device/radio/headset/explorer{ +/obj/item/radio/headset/explorer{ pixel_x = -5; pixel_y = 5 }, -/obj/item/device/radio/headset/explorer{ +/obj/item/radio/headset/explorer{ pixel_y = 5 }, -/obj/item/device/radio/headset/explorer{ +/obj/item/radio/headset/explorer{ pixel_x = 5; pixel_y = 5 }, -/obj/item/device/radio/headset/explorer{ +/obj/item/radio/headset/explorer{ pixel_x = 11; pixel_y = 5 }, -/obj/item/device/radio/headset/explorer{ +/obj/item/radio/headset/explorer{ pixel_x = 11; pixel_y = -5 }, -/obj/item/device/radio/headset/explorer{ +/obj/item/radio/headset/explorer{ pixel_x = 5; pixel_y = -5 }, -/obj/item/device/radio/headset/explorer{ +/obj/item/radio/headset/explorer{ pixel_y = -5 }, /turf/simulated/floor/tiled, @@ -14416,7 +14425,7 @@ /obj/item/clothing/suit/space/void/mining, /obj/item/clothing/mask/breath, /obj/item/clothing/head/helmet/space/void/mining, -/obj/item/weapon/mining_scanner, +/obj/item/mining_scanner, /obj/machinery/light{ dir = 1 }, @@ -14539,7 +14548,7 @@ /area/maintenance/station/cargo) "bQG" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/adv, +/obj/item/storage/firstaid/adv, /turf/simulated/floor/tiled/dark, /area/gateway/prep_room) "bQS" = ( @@ -14650,8 +14659,8 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/clipboard, -/obj/item/weapon/tape_roll, +/obj/item/clipboard, +/obj/item/tape_roll, /turf/simulated/floor/tiled, /area/engineering/foyer) "bXJ" = ( @@ -14678,7 +14687,7 @@ "bYg" = ( /obj/machinery/atmospherics/pipe/simple/hidden/black, /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -28 @@ -14751,7 +14760,7 @@ /area/hallway/station/atrium) "bZD" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /obj/structure/curtain/open/bed, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 @@ -14841,21 +14850,21 @@ /turf/simulated/floor/tiled, /area/engineering/hallway) "cbj" = ( -/obj/item/weapon/storage/toolbox/electrical{ +/obj/item/storage/toolbox/electrical{ pixel_x = 1; pixel_y = -1 }, -/obj/item/device/multitool, +/obj/item/multitool, /obj/item/clothing/glasses/meson, /obj/structure/table/rack/steel, -/obj/item/weapon/storage/toolbox/electrical{ +/obj/item/storage/toolbox/electrical{ pixel_x = 1; pixel_y = -1 }, /obj/item/clothing/gloves/yellow, -/obj/item/device/t_scanner, +/obj/item/t_scanner, /obj/item/clothing/glasses/meson, -/obj/item/device/multitool, +/obj/item/multitool, /turf/simulated/floor/plating, /area/storage/tech) "cbU" = ( @@ -14869,6 +14878,19 @@ fancy_shuttle_tag = "secbus" }, /area/shuttle/securiship/engines) +"cbX" = ( +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/firedoor/glass, +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/machinery/door/blast/shutters{ + dir = 2; + id = "cargo_shutter"; + layer = 3.3; + name = "Cargo Shutters" + }, +/turf/simulated/floor/plating, +/area/quartermaster/office) "cbY" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 @@ -15029,9 +15051,9 @@ /area/gateway/prep_room) "cik" = ( /obj/structure/table/standard, -/obj/item/weapon/stock_parts/subspace/crystal, -/obj/item/weapon/stock_parts/subspace/crystal, -/obj/item/weapon/stock_parts/subspace/crystal, +/obj/item/stock_parts/subspace/crystal, +/obj/item/stock_parts/subspace/crystal, +/obj/item/stock_parts/subspace/crystal, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, @@ -15670,8 +15692,8 @@ "cOq" = ( /obj/effect/floor_decal/rust, /obj/structure/mopbucket, -/obj/item/weapon/mop, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/mop, +/obj/item/reagent_containers/glass/bucket, /obj/effect/floor_decal/industrial/hatch/yellow, /turf/simulated/floor/tiled, /area/janitor) @@ -15945,11 +15967,11 @@ /area/quartermaster/belterdock/refinery) "dgO" = ( /obj/structure/table/standard, -/obj/item/weapon/stock_parts/subspace/sub_filter, -/obj/item/weapon/stock_parts/subspace/sub_filter, -/obj/item/weapon/stock_parts/subspace/sub_filter, -/obj/item/weapon/stock_parts/subspace/sub_filter, -/obj/item/weapon/stock_parts/subspace/sub_filter, +/obj/item/stock_parts/subspace/sub_filter, +/obj/item/stock_parts/subspace/sub_filter, +/obj/item/stock_parts/subspace/sub_filter, +/obj/item/stock_parts/subspace/sub_filter, +/obj/item/stock_parts/subspace/sub_filter, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, @@ -16065,16 +16087,16 @@ /area/shuttle/excursion/general) "djU" = ( /obj/structure/table/glass, -/obj/item/weapon/backup_implanter{ +/obj/item/backup_implanter{ pixel_y = 9 }, -/obj/item/weapon/backup_implanter{ +/obj/item/backup_implanter{ pixel_y = 2 }, -/obj/item/weapon/backup_implanter{ +/obj/item/backup_implanter{ pixel_y = -5 }, -/obj/item/weapon/backup_implanter{ +/obj/item/backup_implanter{ pixel_y = -12 }, /obj/effect/floor_decal/borderfloorwhite{ @@ -16433,7 +16455,7 @@ /area/shuttle/securiship/engines) "dAV" = ( /obj/structure/bed/chair/shuttle, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -16691,7 +16713,7 @@ icon_state = "0-8" }, /obj/structure/table/standard, -/obj/item/weapon/tank/phoron, +/obj/item/tank/phoron, /obj/random/medical, /obj/effect/floor_decal/fancy_shuttle{ fancy_shuttle_tag = "medbus"; @@ -16882,7 +16904,7 @@ /obj/effect/floor_decal/corner/green/border{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -17094,7 +17116,7 @@ }, /area/shuttle/medivac/engines) "exi" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -17270,7 +17292,7 @@ /area/tether/station/dock_one) "eHw" = ( /obj/structure/table/standard, -/obj/item/weapon/folder/yellow, +/obj/item/folder/yellow, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, @@ -17656,7 +17678,7 @@ /obj/machinery/door/firedoor/glass/hidden/steel{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/tiled, @@ -17692,10 +17714,10 @@ /obj/item/clothing/mask/breath, /obj/item/clothing/mask/breath, /obj/item/clothing/mask/breath, -/obj/item/weapon/tank/emergency/oxygen/engi, -/obj/item/weapon/tank/emergency/oxygen/engi, -/obj/item/weapon/tank/emergency/oxygen/engi, -/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, /obj/item/clothing/suit/space/emergency, /obj/item/clothing/suit/space/emergency, /obj/item/clothing/suit/space/emergency, @@ -17705,10 +17727,10 @@ /obj/item/clothing/head/helmet/space/emergency, /obj/item/clothing/head/helmet/space/emergency, /obj/structure/closet/emcloset/legacy, -/obj/item/weapon/storage/backpack/parachute, -/obj/item/weapon/storage/backpack/parachute, -/obj/item/weapon/storage/backpack/parachute, -/obj/item/weapon/storage/backpack/parachute, +/obj/item/storage/backpack/parachute, +/obj/item/storage/backpack/parachute, +/obj/item/storage/backpack/parachute, +/obj/item/storage/backpack/parachute, /obj/effect/floor_decal/fancy_shuttle{ fancy_shuttle_tag = "explo" }, @@ -18011,7 +18033,7 @@ /area/shuttle/large_escape_pod1) "fyF" = ( /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -28 @@ -18424,7 +18446,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals7{ dir = 9 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -18734,7 +18756,7 @@ /turf/simulated/floor/tiled, /area/engineering/hallway) "glt" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/firealarm{ dir = 1; pixel_y = -24 @@ -18860,7 +18882,7 @@ /obj/structure/handrail{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -18993,9 +19015,9 @@ /area/quartermaster/office) "gEV" = ( /obj/structure/table/standard, -/obj/item/weapon/stock_parts/subspace/amplifier, -/obj/item/weapon/stock_parts/subspace/amplifier, -/obj/item/weapon/stock_parts/subspace/amplifier, +/obj/item/stock_parts/subspace/amplifier, +/obj/item/stock_parts/subspace/amplifier, +/obj/item/stock_parts/subspace/amplifier, /turf/simulated/floor/tiled/techmaint, /area/tcomfoyer{ name = "\improper Telecomms Storage" @@ -19087,7 +19109,7 @@ /area/storage/tools) "gKH" = ( /obj/structure/table/standard, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /obj/machinery/status_display{ layer = 4; pixel_x = 32 @@ -19318,7 +19340,7 @@ /obj/effect/floor_decal/corner/lightgrey/bordercorner2{ dir = 10 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24 }, @@ -19347,17 +19369,17 @@ /turf/simulated/floor, /area/maintenance/station/eng_lower) "gXl" = ( -/obj/item/weapon/circuitboard/telecomms/processor, -/obj/item/weapon/circuitboard/telecomms/processor, -/obj/item/weapon/circuitboard/telecomms/receiver, -/obj/item/weapon/circuitboard/telecomms/server, -/obj/item/weapon/circuitboard/telecomms/server, -/obj/item/weapon/circuitboard/telecomms/bus, -/obj/item/weapon/circuitboard/telecomms/bus, -/obj/item/weapon/circuitboard/telecomms/broadcaster, -/obj/item/weapon/circuitboard/telecomms/exonet_node, -/obj/item/weapon/circuitboard/ntnet_relay, -/obj/item/weapon/circuitboard/telecomms/relay, +/obj/item/circuitboard/telecomms/processor, +/obj/item/circuitboard/telecomms/processor, +/obj/item/circuitboard/telecomms/receiver, +/obj/item/circuitboard/telecomms/server, +/obj/item/circuitboard/telecomms/server, +/obj/item/circuitboard/telecomms/bus, +/obj/item/circuitboard/telecomms/bus, +/obj/item/circuitboard/telecomms/broadcaster, +/obj/item/circuitboard/telecomms/exonet_node, +/obj/item/circuitboard/ntnet_relay, +/obj/item/circuitboard/telecomms/relay, /obj/structure/table/standard, /turf/simulated/floor/tiled/techmaint, /area/tcomfoyer{ @@ -19365,8 +19387,8 @@ }) "gZJ" = ( /obj/structure/table/standard, -/obj/item/weapon/clipboard, -/obj/item/weapon/stamp/qm, +/obj/item/clipboard, +/obj/item/stamp/qm, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, @@ -19448,8 +19470,8 @@ }) "hed" = ( /obj/structure/table/rack, -/obj/item/weapon/tank/jetpack, -/obj/item/weapon/tank/jetpack, +/obj/item/tank/jetpack, +/obj/item/tank/jetpack, /obj/effect/floor_decal/borderfloor{ dir = 1 }, @@ -19546,8 +19568,8 @@ }) "hic" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/blue{ +/obj/item/paper_bin, +/obj/item/pen/blue{ pixel_x = -3; pixel_y = 2 }, @@ -19633,7 +19655,7 @@ /obj/effect/floor_decal/industrial/warning{ dir = 6 }, -/obj/item/device/radio/intercom/locked/ai_private{ +/obj/item/radio/intercom/locked/ai_private{ dir = 4; pixel_x = 32 }, @@ -19653,7 +19675,7 @@ "hlX" = ( /obj/structure/table/reinforced, /obj/item/clothing/head/welding, -/obj/item/weapon/storage/belt/utility, +/obj/item/storage/belt/utility, /turf/simulated/floor/tiled, /area/ai_monitored/storage/eva) "hmd" = ( @@ -19719,13 +19741,13 @@ /area/gateway/prep_room) "hqp" = ( /obj/structure/table/standard, -/obj/item/weapon/stock_parts/subspace/transmitter, -/obj/item/weapon/stock_parts/subspace/transmitter, +/obj/item/stock_parts/subspace/transmitter, +/obj/item/stock_parts/subspace/transmitter, /obj/structure/cable/green{ icon_state = "0-4" }, /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -24 @@ -19974,9 +19996,9 @@ /area/hallway/station/docks) "hyp" = ( /obj/structure/table/standard, -/obj/item/weapon/stock_parts/subspace/treatment, -/obj/item/weapon/stock_parts/subspace/treatment, -/obj/item/weapon/stock_parts/subspace/treatment, +/obj/item/stock_parts/subspace/treatment, +/obj/item/stock_parts/subspace/treatment, +/obj/item/stock_parts/subspace/treatment, /obj/machinery/light_switch{ dir = 4; pixel_x = -26 @@ -20131,7 +20153,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals7{ dir = 6 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -20209,7 +20231,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 10 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -20522,6 +20544,12 @@ /obj/structure/window/reinforced/full, /obj/machinery/door/firedoor/glass, /obj/structure/disposalpipe/segment, +/obj/machinery/door/blast/shutters{ + dir = 2; + id = "cargo_shutter"; + layer = 3.3; + name = "Cargo Shutters" + }, /turf/simulated/floor/plating, /area/quartermaster/office) "hUm" = ( @@ -20761,18 +20789,18 @@ /area/maintenance/station/cargo) "ieS" = ( /obj/structure/table/rack, -/obj/item/weapon/tank/oxygen, -/obj/item/device/suit_cooling_unit, +/obj/item/tank/oxygen, +/obj/item/suit_cooling_unit, /obj/item/clothing/shoes/magboots, /obj/item/clothing/mask/breath, /obj/item/clothing/suit/space/void/exploration, /obj/item/clothing/head/helmet/space/void/exploration, -/obj/item/device/bluespaceradio/tether_prelinked, +/obj/item/bluespaceradio/tether_prelinked, /obj/machinery/door/window/brigdoor{ req_access = list(43) }, -/obj/item/device/cataloguer/compact, -/obj/item/device/cataloguer/compact, +/obj/item/cataloguer/compact, +/obj/item/cataloguer/compact, /turf/simulated/floor/tiled/dark, /area/ai_monitored/storage/eva) "ifp" = ( @@ -21074,16 +21102,16 @@ /area/maintenance/cargo) "iyl" = ( /obj/structure/table/standard, -/obj/item/weapon/stock_parts/micro_laser, -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/capacitor, -/obj/item/weapon/stock_parts/micro_laser/high, -/obj/item/weapon/stock_parts/micro_laser/high, -/obj/item/weapon/stock_parts/micro_laser/high, -/obj/item/weapon/stock_parts/micro_laser/high, +/obj/item/stock_parts/micro_laser, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/capacitor, +/obj/item/stock_parts/micro_laser/high, +/obj/item/stock_parts/micro_laser/high, +/obj/item/stock_parts/micro_laser/high, +/obj/item/stock_parts/micro_laser/high, /turf/simulated/floor/tiled/techmaint, /area/tcomfoyer{ name = "\improper Telecomms Storage" @@ -21187,7 +21215,7 @@ /obj/item/clothing/suit/space/void/mining, /obj/item/clothing/mask/breath, /obj/item/clothing/head/helmet/space/void/mining, -/obj/item/weapon/mining_scanner, +/obj/item/mining_scanner, /obj/machinery/alarm{ pixel_y = 22 }, @@ -21226,18 +21254,18 @@ /area/tether/exploration/hallway) "iHb" = ( /obj/structure/table/rack, -/obj/item/weapon/tank/oxygen, -/obj/item/device/suit_cooling_unit, +/obj/item/tank/oxygen, +/obj/item/suit_cooling_unit, /obj/item/clothing/shoes/magboots, /obj/item/clothing/mask/breath, /obj/item/clothing/suit/space/void/exploration, /obj/item/clothing/head/helmet/space/void/exploration, -/obj/item/device/mapping_unit, +/obj/item/mapping_unit, /obj/machinery/door/window/brigdoor/eastright{ req_access = list(43) }, -/obj/item/device/cataloguer, -/obj/item/device/cataloguer, +/obj/item/cataloguer, +/obj/item/cataloguer, /turf/simulated/floor/tiled/dark, /area/ai_monitored/storage/eva) "iIf" = ( @@ -21353,7 +21381,7 @@ /area/tether/station/dock_two) "iOm" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_y = 5 }, /obj/machinery/alarm{ @@ -21530,9 +21558,9 @@ /obj/effect/floor_decal/corner/brown/border{ dir = 10 }, -/obj/item/weapon/wrapping_paper, -/obj/item/weapon/wrapping_paper, -/obj/item/weapon/wrapping_paper, +/obj/item/wrapping_paper, +/obj/item/wrapping_paper, +/obj/item/wrapping_paper, /turf/simulated/floor/tiled, /area/quartermaster/delivery) "iWB" = ( @@ -21574,16 +21602,16 @@ dir = 8 }, /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/folder/yellow, -/obj/item/weapon/pen{ +/obj/item/folder/yellow, +/obj/item/pen{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/pen/red{ +/obj/item/pen/red{ pixel_x = 2; pixel_y = 6 }, @@ -21758,7 +21786,7 @@ /obj/item/clothing/suit/space/void/mining, /obj/item/clothing/mask/breath, /obj/item/clothing/head/helmet/space/void/mining, -/obj/item/weapon/mining_scanner, +/obj/item/mining_scanner, /obj/effect/floor_decal/borderfloor{ dir = 5 }, @@ -22054,8 +22082,8 @@ /area/tether/exploration/pilot_office) "jDU" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/briefcase/inflatable, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable, +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 6 }, @@ -22091,9 +22119,9 @@ /area/ai_monitored/storage/eva) "jEs" = ( /obj/structure/table/rack, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, /obj/effect/floor_decal/borderfloor{ dir = 1 }, @@ -22327,7 +22355,7 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, -/obj/item/weapon/stool, +/obj/item/stool, /obj/structure/cable/yellow{ icon_state = "1-8" }, @@ -23443,7 +23471,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 }, -/obj/item/device/radio/beacon, +/obj/item/radio/beacon, /obj/effect/landmark/vines, /turf/simulated/floor/tiled, /area/tether/station/dock_two) @@ -23484,7 +23512,7 @@ /turf/simulated/floor/tiled, /area/quartermaster/office) "kPJ" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/tiled/steel, @@ -23743,15 +23771,15 @@ /area/quartermaster/belterdock/refinery) "ldJ" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/tank/oxygen, -/obj/item/device/suit_cooling_unit, +/obj/item/tank/oxygen, +/obj/item/suit_cooling_unit, /obj/item/clothing/shoes/magboots, /obj/item/clothing/suit/space/void/pilot, /obj/item/clothing/head/helmet/space/void/pilot, /obj/machinery/light{ dir = 1 }, -/obj/item/device/radio/headset/explorer, +/obj/item/radio/headset/explorer, /turf/simulated/floor, /area/tether/exploration/pilot_office) "lfI" = ( @@ -23837,8 +23865,8 @@ icon_state = "0-8" }, /obj/structure/closet/secure_closet/cargotech, -/obj/item/weapon/stamp/cargo, -/obj/item/weapon/storage/backpack/dufflebag, +/obj/item/stamp/cargo, +/obj/item/storage/backpack/dufflebag, /turf/simulated/floor/tiled, /area/quartermaster/storage) "ljl" = ( @@ -23871,7 +23899,7 @@ /area/tether/station/dock_one) "llt" = ( /obj/structure/closet/crate, -/obj/item/weapon/card/id/gold/captain/spare/fakespare, +/obj/item/card/id/gold/captain/spare/fakespare, /obj/random/cash/big, /obj/random/maintenance/cargo, /obj/random/maintenance/cargo, @@ -24021,7 +24049,7 @@ /area/quartermaster/office) "lsw" = ( /obj/structure/table/rack, -/obj/item/weapon/handcuffs, +/obj/item/handcuffs, /obj/effect/floor_decal/fancy_shuttle{ fancy_shuttle_tag = "secbus"; name = "secbus" @@ -24155,7 +24183,7 @@ layer = 2.9 }, /obj/item/clothing/mask/breath, -/obj/item/weapon/rig/eva/equipped, +/obj/item/rig/eva/equipped, /obj/machinery/door/window/brigdoor{ req_access = list(11,24) }, @@ -24250,8 +24278,8 @@ /area/tether/station/dock_two) "lAt" = ( /obj/structure/table/reinforced, -/obj/item/device/assembly/signaler, -/obj/item/device/assembly/signaler, +/obj/item/assembly/signaler, +/obj/item/assembly/signaler, /turf/simulated/floor/tiled, /area/ai_monitored/storage/eva) "lBQ" = ( @@ -24282,7 +24310,7 @@ icon_state = "0-4" }, /obj/structure/table/standard, -/obj/item/weapon/tank/phoron, +/obj/item/tank/phoron, /obj/random/tool, /obj/effect/floor_decal/fancy_shuttle{ fancy_shuttle_tag = "secbus"; @@ -24780,15 +24808,15 @@ /area/tether/exploration) "mcE" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/tank/oxygen, -/obj/item/device/suit_cooling_unit, +/obj/item/tank/oxygen, +/obj/item/suit_cooling_unit, /obj/item/clothing/shoes/magboots, /obj/item/clothing/suit/space/void/pilot, /obj/item/clothing/head/helmet/space/void/pilot, /obj/machinery/alarm{ pixel_y = 22 }, -/obj/item/device/radio/headset/explorer, +/obj/item/radio/headset/explorer, /turf/simulated/floor, /area/tether/exploration/pilot_office) "mdh" = ( @@ -25301,7 +25329,7 @@ dir = 8 }, /obj/structure/disposalpipe/segment, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -25849,7 +25877,7 @@ /area/shuttle/belter) "nob" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /obj/effect/floor_decal/borderfloor{ dir = 6 }, @@ -25899,7 +25927,7 @@ pixel_y = -25 }, /obj/structure/table/glass, -/obj/item/weapon/storage/firstaid, +/obj/item/storage/firstaid, /obj/item/stack/medical/splint, /turf/simulated/floor/tiled/white, /area/tether/exploration/hallway) @@ -26001,11 +26029,11 @@ /area/tether/station/dock_two) "nvM" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/device/megaphone, +/obj/item/megaphone, /turf/simulated/floor/wood, /area/quartermaster/qm) "nwK" = ( @@ -26055,16 +26083,16 @@ pixel_y = -32 }, /obj/structure/table/rack, -/obj/item/weapon/pickaxe, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/shovel, +/obj/item/pickaxe, +/obj/item/tool/wrench, +/obj/item/tool/crowbar, +/obj/item/shovel, /obj/machinery/camera/network/mining{ dir = 1 }, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, /obj/effect/floor_decal/borderfloor/corner2, /obj/effect/floor_decal/corner/brown/bordercorner2, /turf/simulated/floor/tiled, @@ -26351,7 +26379,7 @@ id = "QMLoad" }, /obj/structure/sign/poster, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/tiled, @@ -26550,7 +26578,7 @@ /area/tether/exploration/pilot_office) "ofV" = ( /obj/structure/table/standard, -/obj/item/weapon/paper/rogueminer, +/obj/item/paper/rogueminer, /obj/machinery/cell_charger, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, @@ -26584,7 +26612,7 @@ /area/quartermaster/qm) "ohc" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/machinery/alarm{ pixel_y = 22 @@ -26744,7 +26772,7 @@ /area/tether/station/dock_one) "ovq" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/pill_bottle/dice_nerd, +/obj/item/storage/pill_bottle/dice_nerd, /obj/random/maintenance/cargo, /obj/structure/sign/painting/public{ pixel_x = 30 @@ -26769,10 +26797,10 @@ /area/maintenance/cargo) "owQ" = ( /obj/structure/table/steel, -/obj/item/weapon/module/power_control, -/obj/item/weapon/airlock_electronics, -/obj/item/weapon/module/power_control, -/obj/item/weapon/airlock_electronics, +/obj/item/module/power_control, +/obj/item/airlock_electronics, +/obj/item/module/power_control, +/obj/item/airlock_electronics, /obj/machinery/alarm{ dir = 1; pixel_y = -25 @@ -26945,7 +26973,7 @@ /obj/effect/floor_decal/corner/paleblue/border{ dir = 6 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -27118,8 +27146,8 @@ /area/hallway/station/docks) "oYQ" = ( /obj/structure/table/steel, -/obj/item/device/aicard, -/obj/item/weapon/aiModule/reset, +/obj/item/aicard, +/obj/item/aiModule/reset, /turf/simulated/floor, /area/storage/tech) "oZy" = ( @@ -27229,11 +27257,11 @@ /area/hallway/station/atrium) "plm" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_x = -2; pixel_y = -1 }, -/obj/item/device/multitool, +/obj/item/multitool, /obj/machinery/camera/network/command{ dir = 10 }, @@ -27351,8 +27379,7 @@ "pty" = ( /obj/machinery/conveyor{ dir = 8; - id = "miningops"; - movedir = null + id = "miningops" }, /turf/simulated/floor/plating, /area/quartermaster/belterdock/refinery) @@ -27499,9 +27526,9 @@ /area/hallway/station/atrium) "pMe" = ( /obj/structure/table/standard, -/obj/item/weapon/stock_parts/subspace/analyzer, -/obj/item/weapon/stock_parts/subspace/analyzer, -/obj/item/weapon/stock_parts/subspace/analyzer, +/obj/item/stock_parts/subspace/analyzer, +/obj/item/stock_parts/subspace/analyzer, +/obj/item/stock_parts/subspace/analyzer, /obj/machinery/light/no_nightshift{ dir = 1 }, @@ -28114,7 +28141,7 @@ icon_state = "1-2" }, /obj/structure/disposalpipe/segment, -/obj/item/device/radio/beacon, +/obj/item/radio/beacon, /turf/simulated/floor/tiled, /area/hallway/station/docks) "qBP" = ( @@ -28373,7 +28400,7 @@ /turf/simulated/floor/tiled, /area/quartermaster/office) "qTD" = ( -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /obj/structure/bed/padded, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -28417,7 +28444,7 @@ dir = 9 }, /obj/structure/table/rack, -/obj/item/weapon/mining_scanner, +/obj/item/mining_scanner, /obj/item/clothing/head/helmet/space/void/mining, /obj/item/clothing/mask/breath, /obj/item/clothing/suit/space/void/mining, @@ -28562,7 +28589,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals7{ dir = 9 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -28584,15 +28611,15 @@ /area/quartermaster/foyer) "rgU" = ( /obj/structure/table/rack/steel, -/obj/item/device/slime_scanner, -/obj/item/device/sleevemate, -/obj/item/device/robotanalyzer, -/obj/item/device/reagent_scanner, -/obj/item/device/healthanalyzer, -/obj/item/device/geiger, -/obj/item/device/analyzer/plant_analyzer, -/obj/item/device/analyzer, -/obj/item/device/t_scanner, +/obj/item/slime_scanner, +/obj/item/sleevemate, +/obj/item/robotanalyzer, +/obj/item/reagent_scanner, +/obj/item/healthanalyzer, +/obj/item/geiger, +/obj/item/analyzer/plant_analyzer, +/obj/item/analyzer, +/obj/item/t_scanner, /turf/simulated/floor/plating, /area/storage/tech) "rhn" = ( @@ -28658,14 +28685,14 @@ /area/storage/emergency_storage/emergency4) "rlr" = ( /obj/structure/table/standard, -/obj/item/weapon/tape_roll, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/tape_roll, +/obj/item/storage/firstaid/regular{ pixel_x = 6; pixel_y = -5 }, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/tiled, @@ -28769,7 +28796,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/tiled, @@ -28814,7 +28841,7 @@ /area/maintenance/substation/civilian) "rxE" = ( /obj/structure/table/steel, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, @@ -28822,7 +28849,7 @@ /obj/machinery/cell_charger{ pixel_y = 5 }, -/obj/item/device/multitool, +/obj/item/multitool, /obj/random/powercell, /obj/random/powercell, /turf/simulated/floor, @@ -29157,7 +29184,7 @@ /area/quartermaster/foyer) "rVd" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/briefcase/inflatable, +/obj/item/storage/briefcase/inflatable, /turf/simulated/floor, /area/maintenance/cargo) "rWj" = ( @@ -29441,7 +29468,7 @@ "shZ" = ( /obj/structure/table/standard, /obj/machinery/recharger, -/obj/item/weapon/hand_labeler, +/obj/item/hand_labeler, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, /turf/simulated/floor/tiled, @@ -29581,12 +29608,12 @@ dir = 1 }, /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/clipboard, -/obj/item/weapon/pen/red{ +/obj/item/clipboard, +/obj/item/pen/red{ pixel_x = 2; pixel_y = 6 }, @@ -29631,8 +29658,7 @@ dir = 4; id = "medivac blast"; name = "window blast shields"; - pixel_y = 1; - req_access = null + pixel_y = 1 }, /turf/simulated/floor/tiled, /area/shuttle/medivac/cockpit) @@ -29917,7 +29943,7 @@ /obj/effect/floor_decal/corner/lightgrey/bordercorner2{ dir = 9 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/tiled, @@ -29926,8 +29952,7 @@ /obj/machinery/mineral/input, /obj/machinery/conveyor{ dir = 8; - id = "miningops"; - movedir = null + id = "miningops" }, /turf/simulated/floor/plating, /area/quartermaster/belterdock/refinery) @@ -30420,8 +30445,8 @@ /area/quartermaster/foyer) "tnC" = ( /obj/structure/table/standard, -/obj/item/weapon/folder/yellow, -/obj/item/weapon/stamp/denied{ +/obj/item/folder/yellow, +/obj/item/stamp/denied{ pixel_x = 4; pixel_y = -2 }, @@ -30431,11 +30456,18 @@ /obj/effect/floor_decal/corner/brown/border{ dir = 1 }, -/obj/item/weapon/stamp/accepted, +/obj/item/stamp/accepted, /obj/machinery/requests_console{ department = "Cargo Bay"; departmentType = 2; - pixel_y = 32 + pixel_y = 32; + pixel_x = -6 + }, +/obj/machinery/button/remote/blast_door{ + id = "cargo_shutter"; + name = "Cargo Shutter Control"; + pixel_x = 10; + pixel_y = 24 }, /turf/simulated/floor/tiled, /area/quartermaster/office) @@ -30580,7 +30612,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /obj/effect/floor_decal/borderfloor, @@ -30943,8 +30975,7 @@ /obj/machinery/mineral/output, /obj/machinery/conveyor{ dir = 8; - id = "miningops"; - movedir = null + id = "miningops" }, /turf/simulated/floor/plating, /area/quartermaster/belterdock/refinery) @@ -31075,17 +31106,17 @@ /area/maintenance/cargo) "tVq" = ( /obj/structure/table/standard, -/obj/item/weapon/coin/silver, -/obj/item/weapon/coin/silver, -/obj/item/weapon/cartridge/quartermaster{ +/obj/item/coin/silver, +/obj/item/coin/silver, +/obj/item/cartridge/quartermaster{ pixel_x = 6; pixel_y = 5 }, -/obj/item/weapon/cartridge/quartermaster{ +/obj/item/cartridge/quartermaster{ pixel_x = -4; pixel_y = 7 }, -/obj/item/weapon/cartridge/quartermaster, +/obj/item/cartridge/quartermaster, /turf/simulated/floor/wood, /area/quartermaster/qm) "tVZ" = ( @@ -31184,7 +31215,7 @@ fancy_shuttle_tag = "secbus"; name = "secbus" }, -/obj/item/weapon/handcuffs, +/obj/item/handcuffs, /turf/simulated/floor/tiled, /area/shuttle/securiship/general) "uaC" = ( @@ -31425,7 +31456,7 @@ /obj/random/tech_supply, /obj/random/tech_supply, /obj/random/tech_supply, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /obj/random/tech_supply, /turf/simulated/floor/tiled, /area/storage/tools) @@ -31752,10 +31783,10 @@ /area/tether/station/restroom) "uTX" = ( /obj/structure/table/rack, -/obj/item/weapon/pickaxe, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/shovel, +/obj/item/pickaxe, +/obj/item/tool/wrench, +/obj/item/tool/crowbar, +/obj/item/shovel, /obj/machinery/light_switch{ dir = 1; pixel_x = -11; @@ -31763,7 +31794,7 @@ }, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, /turf/simulated/floor/tiled, /area/quartermaster/belterdock/gear) "uUy" = ( @@ -31916,7 +31947,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals7{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/tiled, @@ -31985,8 +32016,7 @@ frequency = 1380; id_tag = "securiship_bay"; pixel_x = 24; - pixel_y = -26; - req_one_access = null + pixel_y = -26 }, /turf/simulated/floor/tiled, /area/tether/station/dock_two) @@ -32103,36 +32133,36 @@ /turf/simulated/floor/tiled, /area/engineering/hallway) "vmt" = ( -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = -4; pixel_y = 4 }, -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = 4; pixel_y = -6 }, -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = -4; pixel_y = -6 }, /obj/structure/table/rack/shelf, -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = -4; pixel_y = 4 }, -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = 4; pixel_y = -6 }, -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = -4; pixel_y = -6 }, @@ -32153,9 +32183,9 @@ /area/shuttle/medivac/cockpit) "vow" = ( /obj/structure/table/standard, -/obj/item/weapon/stock_parts/subspace/ansible, -/obj/item/weapon/stock_parts/subspace/ansible, -/obj/item/weapon/stock_parts/subspace/ansible, +/obj/item/stock_parts/subspace/ansible, +/obj/item/stock_parts/subspace/ansible, +/obj/item/stock_parts/subspace/ansible, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 8 }, @@ -32442,11 +32472,11 @@ "vHM" = ( /obj/structure/table/reinforced, /obj/machinery/cell_charger, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, @@ -32458,9 +32488,9 @@ pixel_x = 3; pixel_y = -7 }, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/item/radio/off, /obj/machinery/light, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -32902,7 +32932,7 @@ /area/quartermaster/belterdock/refinery) "wpE" = ( /obj/structure/table/standard, -/obj/item/weapon/deck/cards, +/obj/item/deck/cards, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -33393,8 +33423,8 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/module/power_control, -/obj/item/weapon/cell{ +/obj/item/module/power_control, +/obj/item/cell{ maxcharge = 2000 }, /turf/simulated/floor/tiled/steel, @@ -33411,7 +33441,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/item/device/radio/beacon, +/obj/item/radio/beacon, /turf/simulated/floor/tiled, /area/tether/station/dock_one) "wXJ" = ( @@ -33755,10 +33785,10 @@ /turf/simulated/floor/tiled, /area/quartermaster/office) "xuf" = ( -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/storage/box/mousetraps, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/storage/box/lights/mixed, +/obj/item/storage/box/mousetraps, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, /obj/machinery/alarm{ breach_detection = 0; dir = 8; @@ -33766,7 +33796,7 @@ rcon_setting = 3; report_danger_level = 0 }, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /obj/structure/closet, /turf/simulated/floor/tiled, /area/janitor) @@ -34185,7 +34215,7 @@ /area/tcommsat/computer) "xTg" = ( /obj/structure/table/steel, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/tiled/milspec, /area/tether/exploration/pilot_office) "xTB" = ( @@ -34235,11 +34265,11 @@ name = "fuel crate"; req_one_access = list(67) }, -/obj/item/weapon/tank/phoron{ +/obj/item/tank/phoron{ pixel_x = 6; pixel_y = -6 }, -/obj/item/weapon/tank/phoron{ +/obj/item/tank/phoron{ pixel_x = -5; pixel_y = 5 }, @@ -34267,7 +34297,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 24 @@ -34459,6 +34489,12 @@ /obj/machinery/door/firedoor/glass, /obj/structure/grille, /obj/structure/window/reinforced/full, +/obj/machinery/door/blast/shutters{ + dir = 2; + id = "cargo_shutter"; + layer = 3.3; + name = "Cargo Shutters" + }, /turf/simulated/floor/plating, /area/quartermaster/office) @@ -44910,7 +44946,7 @@ oWu qkG mkL iDA -yjH +cbX tnC tWj jhJ diff --git a/maps/tether/tether-06-mining.dmm b/maps/tether/tether-06-mining.dmm index 4596df9ecf1..278ba12d9ef 100644 --- a/maps/tether/tether-06-mining.dmm +++ b/maps/tether/tether-06-mining.dmm @@ -277,7 +277,7 @@ }, /obj/structure/table/woodentable, /obj/machinery/atmospherics/unary/vent_pump/on, -/obj/item/weapon/storage/belt/utility, +/obj/item/storage/belt/utility, /turf/simulated/floor/tiled, /area/outpost/mining_main/break_room) "aN" = ( @@ -511,11 +511,11 @@ /obj/effect/floor_decal/steeldecal/steel_decals7{ dir = 8 }, -/obj/item/weapon/storage/box/cups{ +/obj/item/storage/box/cups{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, /obj/machinery/vending/wallmed1{ pixel_y = -30 }, @@ -660,7 +660,7 @@ /area/outpost/mining_main/maintenance) "bA" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/briefcase/inflatable, +/obj/item/storage/briefcase/inflatable, /turf/simulated/floor/plating, /area/outpost/mining_main/maintenance) "bB" = ( @@ -960,10 +960,10 @@ /obj/effect/floor_decal/corner/brown/border{ dir = 4 }, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, /turf/simulated/floor/tiled, /area/outpost/mining_main/secondary_gear_storage) "cf" = ( @@ -1032,7 +1032,7 @@ /obj/effect/floor_decal/corner/brown/bordercorner2{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24; req_access = list() @@ -1076,8 +1076,8 @@ /obj/effect/floor_decal/industrial/warning/dust{ dir = 8 }, -/obj/item/weapon/cell/high, -/obj/item/weapon/cell/high, +/obj/item/cell/high, +/obj/item/cell/high, /turf/simulated/floor/tiled/steel_dirty/virgo3b, /area/outpost/mining_main/drill_equipment) "ct" = ( @@ -1176,9 +1176,9 @@ /area/outpost/mining_main/hangar) "cC" = ( /obj/structure/table/steel, -/obj/item/weapon/tool/screwdriver, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/wrench, +/obj/item/tool/screwdriver, +/obj/item/tool/crowbar, +/obj/item/tool/wrench, /obj/effect/floor_decal/industrial/warning/dust{ dir = 8 }, @@ -1781,7 +1781,7 @@ /turf/simulated/floor/outdoors/grass/sif/virgo3b, /area/mine/explored) "JA" = ( -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /obj/structure/bed/padded, /turf/simulated/floor/wood, /area/outpost/mining_main/dorms) diff --git a/maps/tether/tether-07-solars.dmm b/maps/tether/tether-07-solars.dmm index b8c9d4387fd..ec60c30ab46 100644 --- a/maps/tether/tether-07-solars.dmm +++ b/maps/tether/tether-07-solars.dmm @@ -303,7 +303,7 @@ /turf/simulated/floor/virgo3b, /area/tether/outpost/solars_outside) "aM" = ( -/obj/item/weapon/stool, +/obj/item/stool, /obj/structure/cable/yellow{ icon_state = "1-2" }, @@ -926,7 +926,7 @@ /turf/simulated/floor/tiled/white, /area/rnd/outpost/mixing) "cr" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24; req_access = list() @@ -991,7 +991,7 @@ /obj/machinery/door/window/eastleft, /obj/item/clothing/mask/gas, /obj/item/clothing/suit/storage/hooded/wintercoat/science, -/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, /obj/structure/window/basic{ dir = 1 }, @@ -1012,8 +1012,8 @@ dir = 8 }, /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox/emergency, -/obj/item/device/radio/intercom{ +/obj/item/storage/toolbox/emergency, +/obj/item/radio/intercom{ dir = 8; pixel_x = 24 }, @@ -1160,14 +1160,14 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24; req_access = list() }, /obj/structure/table/standard, -/obj/item/weapon/folder/white, -/obj/item/weapon/pen/fountain, +/obj/item/folder/white, +/obj/item/pen/fountain, /turf/simulated/floor/tiled, /area/rnd/outpost/testing) "cR" = ( @@ -1180,7 +1180,7 @@ }, /obj/item/stack/cable_coil, /obj/item/stack/cable_coil, -/obj/item/weapon/tool/wirecutters, +/obj/item/tool/wirecutters, /turf/simulated/floor/tiled, /area/rnd/outpost/testing) "cS" = ( @@ -1220,7 +1220,7 @@ /obj/machinery/door/window/eastright, /obj/item/clothing/mask/gas, /obj/item/clothing/suit/storage/hooded/wintercoat/science, -/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, /obj/structure/window/basic, /obj/structure/window/basic{ dir = 8 @@ -1237,11 +1237,11 @@ dir = 1 }, /obj/structure/table/standard, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = -1; pixel_y = -2 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 2; pixel_y = 1 }, @@ -1259,7 +1259,7 @@ /obj/machinery/vending/phoronresearch{ dir = 8; name = "Toximate 2556"; - products = list(/obj/item/device/transfer_valve = 3, /obj/item/device/assembly/timer = 6, /obj/item/device/assembly/signaler = 6, /obj/item/device/assembly/prox_sensor = 6, /obj/item/device/assembly/igniter = 12) + products = list(/obj/item/transfer_valve = 3, /obj/item/assembly/timer = 6, /obj/item/assembly/signaler = 6, /obj/item/assembly/prox_sensor = 6, /obj/item/assembly/igniter = 12) }, /turf/simulated/floor/tiled, /area/rnd/outpost/testing) @@ -1397,7 +1397,7 @@ /area/rnd/outpost/testing) "ds" = ( /obj/structure/table/standard, -/obj/item/weapon/tank/phoron, +/obj/item/tank/phoron, /turf/simulated/floor/tiled, /area/rnd/outpost/testing) "dt" = ( @@ -1587,7 +1587,7 @@ dir = 4 }, /obj/structure/table/standard, -/obj/item/weapon/weldingtool, +/obj/item/weldingtool, /obj/item/clothing/glasses/welding, /turf/simulated/floor/tiled, /area/rnd/outpost/testing) @@ -1596,8 +1596,8 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, -/obj/item/weapon/tool/screwdriver, -/obj/item/device/assembly_holder/timer_igniter, +/obj/item/tool/screwdriver, +/obj/item/assembly_holder/timer_igniter, /obj/machinery/camera/network/research_outpost{ dir = 4 }, @@ -1951,9 +1951,9 @@ /area/mine/explored) "eC" = ( /obj/structure/table/rack, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, -/obj/item/device/radio/intercom{ +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/radio/intercom{ dir = 1; pixel_y = 24; req_access = list() @@ -2620,7 +2620,7 @@ dir = 1 }, /obj/structure/table/standard, -/obj/item/device/analyzer, +/obj/item/analyzer, /obj/machinery/camera/network/research_outpost{ dir = 1 }, @@ -2637,14 +2637,14 @@ dir = 1 }, /obj/structure/table/standard, -/obj/item/weapon/tool/wrench{ +/obj/item/tool/wrench{ pixel_x = 2; pixel_y = 2 }, /obj/effect/floor_decal/corner/purple{ dir = 10 }, -/obj/item/weapon/tool/wrench{ +/obj/item/tool/wrench{ pixel_x = -2; pixel_y = -2 }, @@ -2664,7 +2664,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/black{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /obj/effect/floor_decal/corner/purple{ @@ -3161,11 +3161,11 @@ }, /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/structure/table/standard, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /obj/machinery/camera/network/research_outpost{ dir = 8 }, -/obj/item/device/analyzer, +/obj/item/analyzer, /turf/simulated/floor/tiled/white, /area/rnd/outpost/heating) "gA" = ( @@ -3174,12 +3174,12 @@ /obj/effect/floor_decal/corner/purple{ dir = 5 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24; req_access = list() }, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /turf/simulated/floor/tiled/white, /area/rnd/outpost/heating) "gB" = ( @@ -3223,7 +3223,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -3509,7 +3509,7 @@ icon_state = "0-2" }, /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -28 @@ -3842,7 +3842,7 @@ /area/rnd/outpost/chamber) "hF" = ( /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -28 @@ -4043,7 +4043,7 @@ pixel_x = -26; pixel_y = -8 }, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled/white, /area/rnd/outpost/heating) "hZ" = ( @@ -5083,7 +5083,7 @@ /obj/effect/floor_decal/corner/purple/border{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -5454,7 +5454,7 @@ dir = 1 }, /obj/machinery/atmospherics/unary/vent_pump/on, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24; req_access = list() @@ -5668,11 +5668,11 @@ /area/rnd/outpost/anomaly_lab) "lk" = ( /obj/structure/table/steel, -/obj/item/device/measuring_tape, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/storage/excavation, +/obj/item/measuring_tape, +/obj/item/tool/wrench, +/obj/item/storage/excavation, /obj/item/stack/flag/yellow, -/obj/item/weapon/pickaxe, +/obj/item/pickaxe, /obj/structure/cable/green{ icon_state = "0-8" }, @@ -5741,7 +5741,7 @@ /obj/item/clothing/gloves/sterile/latex, /obj/item/clothing/glasses/science, /obj/effect/floor_decal/industrial/hatch/yellow, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24; req_access = list() @@ -6070,11 +6070,11 @@ /area/rnd/outpost/anomaly_lab) "lQ" = ( /obj/structure/table/steel, -/obj/item/device/measuring_tape, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/storage/excavation, +/obj/item/measuring_tape, +/obj/item/tool/wrench, +/obj/item/storage/excavation, /obj/item/stack/flag/yellow, -/obj/item/weapon/pickaxe, +/obj/item/pickaxe, /obj/machinery/alarm{ dir = 8; pixel_x = 22 @@ -6227,13 +6227,13 @@ /obj/item/clothing/suit/space/anomaly, /obj/item/clothing/head/helmet/space/anomaly, /obj/item/clothing/mask/breath, -/obj/item/weapon/storage/belt/archaeology, +/obj/item/storage/belt/archaeology, /obj/machinery/light_switch{ dir = 1; pixel_x = 4; pixel_y = -24 }, -/obj/item/weapon/melee/umbrella/random, +/obj/item/melee/umbrella/random, /turf/simulated/floor/tiled, /area/rnd/outpost/xenoarch_storage) "mf" = ( @@ -6241,12 +6241,12 @@ /obj/item/clothing/suit/space/anomaly, /obj/item/clothing/head/helmet/space/anomaly, /obj/item/clothing/mask/breath, -/obj/item/weapon/storage/belt/archaeology, +/obj/item/storage/belt/archaeology, /obj/machinery/firealarm{ dir = 1; pixel_y = -26 }, -/obj/item/weapon/melee/umbrella/random, +/obj/item/melee/umbrella/random, /turf/simulated/floor/tiled, /area/rnd/outpost/xenoarch_storage) "mg" = ( @@ -6295,7 +6295,7 @@ /area/rnd/outpost/anomaly_lab) "mm" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, /obj/machinery/light_switch{ dir = 4; pixel_x = -28 @@ -6357,7 +6357,7 @@ "mr" = ( /obj/structure/table/standard, /obj/item/stack/nanopaste, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /obj/structure/window/reinforced{ dir = 4 }, @@ -6590,16 +6590,16 @@ /area/rnd/outpost/anomaly_lab/analysis) "mN" = ( /obj/structure/table/standard, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/tiled/dark, /area/rnd/outpost/anomaly_lab/analysis) "mO" = ( /obj/structure/table/standard, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/anodevice{ +/obj/item/tool/crowbar, +/obj/item/anodevice{ pixel_x = -2 }, -/obj/item/weapon/anodevice{ +/obj/item/anodevice{ pixel_x = 1 }, /obj/structure/window/reinforced{ @@ -6628,7 +6628,7 @@ icon_state = "0-4" }, /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -28 @@ -6779,7 +6779,7 @@ /area/rnd/outpost/anomaly_lab) "nm" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin, +/obj/item/paper_bin, /obj/structure/window/reinforced{ dir = 4 }, @@ -6789,24 +6789,24 @@ /obj/effect/floor_decal/industrial/warning{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor, /area/rnd/outpost/anomaly_lab/storage) "no" = ( /obj/structure/table/standard, -/obj/item/weapon/tool/screwdriver, -/obj/item/weapon/anobattery{ +/obj/item/tool/screwdriver, +/obj/item/anobattery{ pixel_x = 5; pixel_y = 2 }, -/obj/item/weapon/anobattery, -/obj/item/weapon/anobattery{ +/obj/item/anobattery, +/obj/item/anobattery{ pixel_x = -4; pixel_y = 3 }, -/obj/item/weapon/anobattery{ +/obj/item/anobattery{ pixel_x = -5; pixel_y = -3 }, @@ -6901,7 +6901,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/item/weapon/stool, +/obj/item/stool, /turf/simulated/floor/tiled, /area/rnd/outpost/anomaly_lab) "nx" = ( @@ -6920,17 +6920,17 @@ /turf/simulated/floor/tiled, /area/rnd/outpost/anomaly_lab) "ny" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/tiled, /area/rnd/outpost/anomaly_lab) "nz" = ( /obj/structure/table/standard, -/obj/item/weapon/folder/white, -/obj/item/weapon/pen, +/obj/item/folder/white, +/obj/item/pen, /obj/machinery/light, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/tiled, @@ -6977,7 +6977,7 @@ /area/rnd/outpost/anomaly_lab) "nD" = ( /obj/structure/table/standard, -/obj/item/device/multitool, +/obj/item/multitool, /turf/simulated/floor/tiled, /area/rnd/outpost/anomaly_lab) "nE" = ( @@ -7174,7 +7174,7 @@ /turf/simulated/floor/tiled, /area/rnd/outpost/anomaly_lab) "oc" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -7397,7 +7397,7 @@ /area/rnd/outpost/breakroom) "oB" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/box/donut, +/obj/item/storage/box/donut, /turf/simulated/floor/tiled, /area/rnd/outpost/breakroom) "oC" = ( @@ -7415,9 +7415,9 @@ "oH" = ( /obj/structure/table/standard, /obj/machinery/light, -/obj/item/weapon/storage/box/beakers, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/storage/box/beakers, +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/dropper, /turf/simulated/floor/tiled, /area/rnd/outpost/anomaly_lab) "oI" = ( diff --git a/maps/tether/tether.dm b/maps/tether/tether.dm index 0188b54683d..0260a859f3d 100644 --- a/maps/tether/tether.dm +++ b/maps/tether/tether.dm @@ -12,7 +12,7 @@ #include "tether_events.dm" #include "../offmap_vr/common_offmaps.dm" - #if !AWAY_MISSION_TEST //Don't include these for just testing away missions + #ifndef AWAY_MISSION_TEST //Don't include these for just testing away missions #include "tether-01-surface1.dmm" #include "tether-02-surface2.dmm" #include "tether-03-surface3.dmm" diff --git a/maps/tether/tether_areas.dm b/maps/tether/tether_areas.dm index aedc4ef9f70..3087f997c5d 100644 --- a/maps/tether/tether_areas.dm +++ b/maps/tether/tether_areas.dm @@ -1000,192 +1000,88 @@ /area/crew_quarters/sleep/maintDorm1 name = "\improper Construction Dorm 1" icon_state = "Sleep" - flags = RAD_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/maintDorm2 name = "\improper Construction Dorm 2" icon_state = "Sleep" - flags = RAD_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/maintDorm3 name = "\improper Construction Dorm 3" icon_state = "Sleep" - flags = RAD_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/maintDorm4 name = "\improper Construction Dorm 4" icon_state = "Sleep" - flags = RAD_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/vistor_room_1 - flags = RAD_SHIELDED | BLUE_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/vistor_room_2 - flags = RAD_SHIELDED | BLUE_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/vistor_room_3 - flags = RAD_SHIELDED | BLUE_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/vistor_room_4 - flags = RAD_SHIELDED | BLUE_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/vistor_room_5 - flags = RAD_SHIELDED | BLUE_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/vistor_room_6 - flags = RAD_SHIELDED | BLUE_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/vistor_room_7 - flags = RAD_SHIELDED | BLUE_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/vistor_room_8 - flags = RAD_SHIELDED | BLUE_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/vistor_room_9 - flags = RAD_SHIELDED | BLUE_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/vistor_room_10 - flags = RAD_SHIELDED | BLUE_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/vistor_room_11 - flags = RAD_SHIELDED | BLUE_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/vistor_room_12 - flags = RAD_SHIELDED | BLUE_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/Dorm_1 - flags = RAD_SHIELDED | BLUE_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/Dorm_2 - flags = RAD_SHIELDED | BLUE_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/Dorm_3 - flags = RAD_SHIELDED | BLUE_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/Dorm_4 - flags = RAD_SHIELDED | BLUE_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/Dorm_5 - flags = RAD_SHIELDED | BLUE_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/Dorm_6 - flags = RAD_SHIELDED | BLUE_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/Dorm_7 - flags = RAD_SHIELDED | BLUE_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/Dorm_8 - flags = RAD_SHIELDED | BLUE_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/Dorm_9 - flags = RAD_SHIELDED | BLUE_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/Dorm_10 - flags = RAD_SHIELDED | BLUE_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/Dorm_1/holo name = "\improper Dorm 1 Holodeck" @@ -1207,113 +1103,61 @@ name = "\improper Visitor Lodging 1" icon_state = "dk_yellow" lightswitch = 0 - flags = RAD_SHIELDED | BLUE_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/spacedorm2 name = "\improper Visitor Lodging 2" icon_state = "dk_yellow" lightswitch = 0 - flags = RAD_SHIELDED | BLUE_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/spacedorm3 name = "\improper Visitor Lodging 3" icon_state = "dk_yellow" lightswitch = 0 - flags = RAD_SHIELDED | BLUE_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/spacedorm4 name = "\improper Visitor Lodging 4" icon_state = "dk_yellow" lightswitch = 0 - flags = RAD_SHIELDED | BLUE_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/holodeck/holodorm/source_basic name = "\improper Holodeck Source" - flags = RAD_SHIELDED | BLUE_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/holodeck/holodorm/source_desert name = "\improper Holodeck Source" - flags = RAD_SHIELDED | BLUE_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/holodeck/holodorm/source_seating name = "\improper Holodeck Source" - flags = RAD_SHIELDED | BLUE_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/holodeck/holodorm/source_beach name = "\improper Holodeck Source" - flags = RAD_SHIELDED | BLUE_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/holodeck/holodorm/source_garden name = "\improper Holodeck Source" - flags = RAD_SHIELDED | BLUE_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/holodeck/holodorm/source_boxing name = "\improper Holodeck Source" - flags = RAD_SHIELDED | BLUE_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/holodeck/holodorm/source_snow name = "\improper Holodeck Source" - flags = RAD_SHIELDED | BLUE_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/holodeck/holodorm/source_space name = "\improper Holodeck Source" - flags = RAD_SHIELDED | BLUE_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/holodeck/holodorm/source_off name = "\improper Holodeck Source" - flags = RAD_SHIELDED | BLUE_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/ai_core_foyer name = "\improper AI Core Access" diff --git a/maps/tether/tether_events.dm b/maps/tether/tether_events.dm index 5ed863881a3..543e6002f0a 100644 --- a/maps/tether/tether_events.dm +++ b/maps/tether/tether_events.dm @@ -86,6 +86,7 @@ new /datum/event_meta(EVENT_LEVEL_MODERATE, "Drone Pod Drop", /datum/event/drone_pod_drop, 40, list(ASSIGNMENT_SCIENTIST = 40), 1), new /datum/event_meta(EVENT_LEVEL_MODERATE, "Morph Spawn", /datum/event/morph_spawn, 75, list(ASSIGNMENT_ANY = 5), 0), new /datum/event_meta(EVENT_LEVEL_MODERATE, "Maintenance Predator", /datum/event/maintenance_predator, 100, list(ASSIGNMENT_ANY = 5), 0), + new /datum/event_meta(EVENT_LEVEL_MODERATE, "Maintenance Lurker", /datum/event/maintenance_lurker, 100, list(ASSIGNMENT_ANY = 5), 0), ) add_disabled_events(list( new /datum/event_meta(EVENT_LEVEL_MODERATE, "Appendicitis", /datum/event/spontaneous_appendicitis, 0, list(ASSIGNMENT_MEDICAL = 30), 1), diff --git a/maps/tether/tether_jobs.dm b/maps/tether/tether_jobs.dm index feffb107d3d..758b707b9e0 100644 --- a/maps/tether/tether_jobs.dm +++ b/maps/tether/tether_jobs.dm @@ -9,7 +9,7 @@ visible = FALSE /datum/job/talon_captain - title = "Talon Captain" + title = JOB_TALON_CAPTAIN flag = TALCAP department_flag = TALON departments_managed = list(DEPARTMENT_TALON) @@ -18,7 +18,7 @@ outfit_type = /decl/hierarchy/outfit/job/talon_captain offmap_spawn = TRUE - faction = "Station" //Required for SSjob to allow people to join as it + faction = FACTION_STATION //Required for SSjob to allow people to join as it departments = list(DEPARTMENT_TALON) total_positions = 1 spawn_positions = 1 @@ -31,13 +31,13 @@ dept_time_required = 60 access = list(access_talon) minimal_access = list(access_talon) - alt_titles = list("Talon Commander" = /datum/alt_title/talon_commander) + alt_titles = list(JOB_ALT_TALON_COMMANDER = /datum/alt_title/talon_commander) /datum/alt_title/talon_commander - title = "Talon Commander" + title = JOB_ALT_TALON_COMMANDER /datum/job/talon_doctor - title = "Talon Doctor" + title = JOB_TALON_DOCTOR flag = TALDOC department_flag = TALON job_description = "The doctor's job is to make sure the crew of the ITV Talon remain in good health and to monitor them when away from the ship." @@ -45,7 +45,7 @@ outfit_type = /decl/hierarchy/outfit/job/talon_doctor offmap_spawn = TRUE - faction = "Station" //Required for SSjob to allow people to join as it + faction = FACTION_STATION //Required for SSjob to allow people to join as it departments = list(DEPARTMENT_TALON) total_positions = 1 spawn_positions = 1 @@ -57,14 +57,14 @@ timeoff_factor = 1 access = list(access_talon) minimal_access = list(access_talon) - alt_titles = list("Talon Medic" = /datum/alt_title/talon_medic) + alt_titles = list(JOB_ALT_TALON_MEDIC = /datum/alt_title/talon_medic) /datum/alt_title/talon_medic - title = "Talon Medic" + title = JOB_ALT_TALON_MEDIC /datum/job/talon_engineer - title = "Talon Engineer" + title = JOB_TALON_ENGINEER flag = TALENG department_flag = TALON job_description = "The engineer's job is to ensure the ITV Talon remains in tip-top shape and to repair any damage as well as manage the shields." @@ -72,7 +72,7 @@ outfit_type = /decl/hierarchy/outfit/job/talon_engineer offmap_spawn = TRUE - faction = "Station" //Required for SSjob to allow people to join as it + faction = FACTION_STATION //Required for SSjob to allow people to join as it departments = list(DEPARTMENT_TALON) total_positions = 1 spawn_positions = 1 @@ -84,14 +84,14 @@ timeoff_factor = 1 access = list(access_talon) minimal_access = list(access_talon) - alt_titles = list("Talon Technician" = /datum/alt_title/talon_tech) + alt_titles = list(JOB_ALT_TALON_TECHNICIAN = /datum/alt_title/talon_tech) /datum/alt_title/talon_tech - title = "Talon Technician" + title = JOB_ALT_TALON_TECHNICIAN /datum/job/talon_pilot - title = "Talon Pilot" + title = JOB_TALON_PILOT flag = TALPIL department_flag = TALON job_description = "The pilot's job is to fly the ITV Talon in the most efficient and profitable way possible." @@ -99,7 +99,7 @@ outfit_type = /decl/hierarchy/outfit/job/talon_pilot offmap_spawn = TRUE - faction = "Station" //Required for SSjob to allow people to join as it + faction = FACTION_STATION //Required for SSjob to allow people to join as it departments = list(DEPARTMENT_TALON) total_positions = 1 spawn_positions = 1 @@ -111,14 +111,14 @@ timeoff_factor = 1 access = list(access_talon) minimal_access = list(access_talon) - alt_titles = list("Talon Helmsman" = /datum/alt_title/talon_helmsman) + alt_titles = list(JOB_ALT_TALON_HELMSMAN = /datum/alt_title/talon_helmsman) /datum/alt_title/talon_helmsman - title = "Talon Helmsman" + title = JOB_ALT_TALON_HELMSMAN /datum/job/talon_guard - title = "Talon Guard" + title = JOB_TALON_GUARD flag = TALSEC department_flag = TALON job_description = "The guard's job is to keep the crew of the ITV Talon safe and ensure the captain's wishes are carried out." @@ -126,7 +126,7 @@ outfit_type = /decl/hierarchy/outfit/job/talon_security offmap_spawn = TRUE - faction = "Station" //Required for SSjob to allow people to join as it + faction = FACTION_STATION //Required for SSjob to allow people to join as it departments = list(DEPARTMENT_TALON) total_positions = 1 spawn_positions = 1 @@ -138,13 +138,13 @@ timeoff_factor = 1 access = list(access_talon) minimal_access = list(access_talon) - alt_titles = list("Talon Security" = /datum/alt_title/talon_security) + alt_titles = list(JOB_ALT_TALON_SECURITY = /datum/alt_title/talon_security) /datum/alt_title/talon_security - title = "Talon Security" + title = JOB_ALT_TALON_SECURITY /datum/job/talon_miner - title = "Talon Miner" + title = JOB_TALON_MINER flag = TALMIN department_flag = TALON job_description = "The miner's job is to excavate ores and refine them for the Talon's use, as well as for trading." @@ -152,7 +152,7 @@ outfit_type = /decl/hierarchy/outfit/job/talon_miner offmap_spawn = TRUE - faction = "Station" //Required for SSjob to allow people to join as it + faction = FACTION_STATION //Required for SSjob to allow people to join as it departments = list(DEPARTMENT_TALON) total_positions = 1 spawn_positions = 1 @@ -164,37 +164,38 @@ timeoff_factor = 1 access = list(access_talon) minimal_access = list(access_talon) - alt_titles = list("Talon Excavator" = /datum/alt_title/talon_excavator) + alt_titles = list(JOB_ALT_TALON_EXCAVATOR = /datum/alt_title/talon_excavator) /datum/alt_title/talon_excavator - title = "Talon Excavator" + title = JOB_ALT_TALON_EXCAVATOR //////////////////////TALON OUTFITS////////////////////// /decl/hierarchy/outfit/job/talon_captain - name = OUTFIT_JOB_NAME("Talon Captain") + name = OUTFIT_JOB_NAME(JOB_TALON_CAPTAIN) - id_type = /obj/item/weapon/card/id/talon/captain + id_type = /obj/item/card/id/talon/captain id_slot = slot_wear_id pda_type = null - - l_ear = /obj/item/device/radio/headset/talon glasses = /obj/item/clothing/glasses/sunglasses uniform = /obj/item/clothing/under/rank/talon/command shoes = /obj/item/clothing/shoes/brown - backpack = /obj/item/weapon/storage/backpack/talon - satchel_one = /obj/item/weapon/storage/backpack/satchel/talon - messenger_bag = /obj/item/weapon/storage/backpack/messenger/talon + backpack = /obj/item/storage/backpack/talon + satchel_one = /obj/item/storage/backpack/satchel/talon + messenger_bag = /obj/item/storage/backpack/messenger/talon + + headset = /obj/item/radio/headset/talon + headset_alt = /obj/item/radio/headset/talon + headset_earbud = /obj/item/radio/headset/talon /decl/hierarchy/outfit/job/talon_pilot - name = OUTFIT_JOB_NAME("Talon Pilot") + name = OUTFIT_JOB_NAME(JOB_TALON_PILOT) - id_type = /obj/item/weapon/card/id/talon/pilot + id_type = /obj/item/card/id/talon/pilot id_slot = slot_wear_id pda_type = null flags = OUTFIT_HAS_BACKPACK|OUTFIT_COMPREHENSIVE_SURVIVAL - l_ear = /obj/item/device/radio/headset/talon shoes = /obj/item/clothing/shoes/black head = /obj/item/clothing/head/pilot_vr/talon uniform = /obj/item/clothing/under/rank/talon/pilot @@ -202,88 +203,104 @@ gloves = /obj/item/clothing/gloves/fingerless glasses = /obj/item/clothing/glasses/fakesunglasses/aviator uniform_accessories = list(/obj/item/clothing/accessory/storage/webbing/pilot1 = 1) - backpack = /obj/item/weapon/storage/backpack/talon - satchel_one = /obj/item/weapon/storage/backpack/satchel/talon - messenger_bag = /obj/item/weapon/storage/backpack/messenger/talon + backpack = /obj/item/storage/backpack/talon + satchel_one = /obj/item/storage/backpack/satchel/talon + messenger_bag = /obj/item/storage/backpack/messenger/talon + + headset = /obj/item/radio/headset/talon + headset_alt = /obj/item/radio/headset/talon + headset_earbud = /obj/item/radio/headset/talon /decl/hierarchy/outfit/job/talon_doctor - name = OUTFIT_JOB_NAME("Talon Doctor") + name = OUTFIT_JOB_NAME(JOB_TALON_DOCTOR) hierarchy_type = /decl/hierarchy/outfit/job - id_type = /obj/item/weapon/card/id/talon/doctor + id_type = /obj/item/card/id/talon/doctor id_slot = slot_wear_id pda_type = null - l_ear = /obj/item/device/radio/headset/talon shoes = /obj/item/clothing/shoes/white - backpack = /obj/item/weapon/storage/backpack/medic - satchel_one = /obj/item/weapon/storage/backpack/satchel/med - messenger_bag = /obj/item/weapon/storage/backpack/messenger/med + backpack = /obj/item/storage/backpack/medic + satchel_one = /obj/item/storage/backpack/satchel/med + messenger_bag = /obj/item/storage/backpack/messenger/med uniform = /obj/item/clothing/under/rank/talon/proper suit = /obj/item/clothing/suit/storage/toggle/labcoat - l_hand = /obj/item/weapon/storage/firstaid/regular - r_pocket = /obj/item/device/flashlight/pen - backpack = /obj/item/weapon/storage/backpack/talon - satchel_one = /obj/item/weapon/storage/backpack/satchel/talon - messenger_bag = /obj/item/weapon/storage/backpack/messenger/talon + l_hand = /obj/item/storage/firstaid/regular + r_pocket = /obj/item/flashlight/pen + backpack = /obj/item/storage/backpack/talon + satchel_one = /obj/item/storage/backpack/satchel/talon + messenger_bag = /obj/item/storage/backpack/messenger/talon + + headset = /obj/item/radio/headset/talon + headset_alt = /obj/item/radio/headset/talon + headset_earbud = /obj/item/radio/headset/talon /decl/hierarchy/outfit/job/talon_security - name = OUTFIT_JOB_NAME("Talon Security") + name = OUTFIT_JOB_NAME(JOB_ALT_TALON_SECURITY) hierarchy_type = /decl/hierarchy/outfit/job - id_type = /obj/item/weapon/card/id/talon/officer + id_type = /obj/item/card/id/talon/officer id_slot = slot_wear_id pda_type = null - backpack_contents = list(/obj/item/weapon/handcuffs = 1) + backpack_contents = list(/obj/item/handcuffs = 1) - l_ear = /obj/item/device/radio/headset/talon gloves = /obj/item/clothing/gloves/black shoes = /obj/item/clothing/shoes/boots/jackboots - backpack = /obj/item/weapon/storage/backpack/security - satchel_one = /obj/item/weapon/storage/backpack/satchel/sec - messenger_bag = /obj/item/weapon/storage/backpack/messenger/sec + backpack = /obj/item/storage/backpack/security + satchel_one = /obj/item/storage/backpack/satchel/sec + messenger_bag = /obj/item/storage/backpack/messenger/sec uniform = /obj/item/clothing/under/rank/talon/security - l_pocket = /obj/item/device/flash - backpack = /obj/item/weapon/storage/backpack/talon - satchel_one = /obj/item/weapon/storage/backpack/satchel/talon - messenger_bag = /obj/item/weapon/storage/backpack/messenger/talon + l_pocket = /obj/item/flash + backpack = /obj/item/storage/backpack/talon + satchel_one = /obj/item/storage/backpack/satchel/talon + messenger_bag = /obj/item/storage/backpack/messenger/talon + + headset = /obj/item/radio/headset/talon + headset_alt = /obj/item/radio/headset/talon + headset_earbud = /obj/item/radio/headset/talon /decl/hierarchy/outfit/job/talon_engineer - name = OUTFIT_JOB_NAME("Talon Engineer") + name = OUTFIT_JOB_NAME(JOB_TALON_ENGINEER) hierarchy_type = /decl/hierarchy/outfit/job - id_type = /obj/item/weapon/card/id/talon/engineer + id_type = /obj/item/card/id/talon/engineer id_slot = slot_wear_id pda_type = null flags = OUTFIT_HAS_BACKPACK|OUTFIT_EXTENDED_SURVIVAL - l_ear = /obj/item/device/radio/headset/talon - belt = /obj/item/weapon/storage/belt/utility/full + belt = /obj/item/storage/belt/utility/full shoes = /obj/item/clothing/shoes/boots/workboots - r_pocket = /obj/item/device/t_scanner - backpack = /obj/item/weapon/storage/backpack/industrial - satchel_one = /obj/item/weapon/storage/backpack/satchel/eng - messenger_bag = /obj/item/weapon/storage/backpack/messenger/engi + r_pocket = /obj/item/t_scanner + backpack = /obj/item/storage/backpack/industrial + satchel_one = /obj/item/storage/backpack/satchel/eng + messenger_bag = /obj/item/storage/backpack/messenger/engi uniform = /obj/item/clothing/under/rank/talon/basic - belt = /obj/item/weapon/storage/belt/utility/atmostech - backpack = /obj/item/weapon/storage/backpack/talon - satchel_one = /obj/item/weapon/storage/backpack/satchel/talon - messenger_bag = /obj/item/weapon/storage/backpack/messenger/talon + belt = /obj/item/storage/belt/utility/atmostech + backpack = /obj/item/storage/backpack/talon + satchel_one = /obj/item/storage/backpack/satchel/talon + messenger_bag = /obj/item/storage/backpack/messenger/talon + + headset = /obj/item/radio/headset/talon + headset_alt = /obj/item/radio/headset/talon + headset_earbud = /obj/item/radio/headset/talon /decl/hierarchy/outfit/job/talon_miner - name = OUTFIT_JOB_NAME("Talon Miner") + name = OUTFIT_JOB_NAME(JOB_TALON_MINER) hierarchy_type = /decl/hierarchy/outfit/job - id_type = /obj/item/weapon/card/id/talon/miner + id_type = /obj/item/card/id/talon/miner id_slot = slot_wear_id pda_type = null flags = OUTFIT_HAS_BACKPACK|OUTFIT_EXTENDED_SURVIVAL - l_ear = /obj/item/device/radio/headset/talon shoes = /obj/item/clothing/shoes/boots/workboots - r_pocket = /obj/item/weapon/storage/bag/ore - l_pocket = /obj/item/weapon/tool/crowbar + r_pocket = /obj/item/storage/bag/ore + l_pocket = /obj/item/tool/crowbar uniform = /obj/item/clothing/under/rank/talon/basic - backpack = /obj/item/weapon/storage/backpack/talon - satchel_one = /obj/item/weapon/storage/backpack/satchel/talon - messenger_bag = /obj/item/weapon/storage/backpack/messenger/talon + backpack = /obj/item/storage/backpack/talon + satchel_one = /obj/item/storage/backpack/satchel/talon + messenger_bag = /obj/item/storage/backpack/messenger/talon + + headset = /obj/item/radio/headset/talon + headset_alt = /obj/item/radio/headset/talon + headset_earbud = /obj/item/radio/headset/talon diff --git a/maps/tether/tether_shuttles.dm b/maps/tether/tether_shuttles.dm index b0c1c9ac89c..f9532970e9e 100644 --- a/maps/tether/tether_shuttles.dm +++ b/maps/tether/tether_shuttles.dm @@ -101,18 +101,18 @@ #define MOVE_PER(x) move_time*(x/100) SECONDS - computer.visible_message("[icon2html(computer)] Beginning flight and telemetry monitoring.") + computer.visible_message("[icon2html(computer), viewers(computer)] " + span_notice("Beginning flight and telemetry monitoring.")) sleep(MOVE_PER(5)) if(failures >= 1) - computer.visible_message("[icon2html(computer)] Single engine failure, continuing flight.") + computer.visible_message("[icon2html(computer), viewers(computer)] " + span_warning("Single engine failure, continuing flight.")) sleep(MOVE_PER(10)) if(failures >= 2) - computer.visible_message("[icon2html(computer)] Second engine failure, unable to complete flight.") + computer.visible_message("[icon2html(computer), viewers(computer)] " + span_warning("Second engine failure, unable to complete flight.")) playsound(computer,'sound/mecha/internaldmgalarm.ogg',100,0) sleep(MOVE_PER(10)) - computer.visible_message("[icon2html(computer)] Commencing RTLS abort mode.") + computer.visible_message("[icon2html(computer), viewers(computer)] " + span_warning("Commencing RTLS abort mode.")) sleep(MOVE_PER(20)) if(failures < 3) move(area_transition,origin) @@ -120,18 +120,18 @@ return 1 if(failures >= 3) - computer.visible_message("[icon2html(computer)] Total engine failure, unable to complete abort mode.") + computer.visible_message("[icon2html(computer), viewers(computer)] " + span_danger("Total engine failure, unable to complete abort mode.")) playsound(computer,'sound/mecha/internaldmgalarm.ogg',100,0) sleep(MOVE_PER(5)) - computer.visible_message("[icon2html(computer)] Distress signal broadcast.") + computer.visible_message("[icon2html(computer), viewers(computer)] " + span_danger("Distress signal broadcast.")) playsound(computer,'sound/mecha/internaldmgalarm.ogg',100,0) sleep(MOVE_PER(5)) - computer.visible_message("[icon2html(computer)] Stall. Stall. Stall. Stall.") + computer.visible_message("[icon2html(computer), viewers(computer)] " + span_danger("Stall. Stall. Stall. Stall.")) playsound(computer,'sound/mecha/internaldmgalarm.ogg',100,0) sleep(MOVE_PER(5)) playsound(computer,'sound/mecha/internaldmgalarm.ogg',100,0) sleep(MOVE_PER(5)) - computer.visible_message("[icon2html(computer)] Terrain! Pull up! Terrain! Pull up!") + computer.visible_message("[icon2html(computer), viewers(computer)] " + span_danger("Terrain! Pull up! Terrain! Pull up!")) playsound(computer,'sound/mecha/internaldmgalarm.ogg',100,0) playsound(computer,'sound/misc/bloblarm.ogg',100,0) sleep(MOVE_PER(10)) @@ -155,7 +155,7 @@ else wear += rand(5,20) -/obj/structure/shuttle/engine/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/structure/shuttle/engine/attackby(obj/item/W as obj, mob/user as mob) src.add_fingerprint(user) if(repair_welder(user, W)) return @@ -163,22 +163,22 @@ //TODO require a multitool to diagnose and open engine panels or something -/obj/structure/shuttle/engine/proc/repair_welder(var/mob/user, var/obj/item/weapon/weldingtool/WT) +/obj/structure/shuttle/engine/proc/repair_welder(var/mob/user, var/obj/item/weldingtool/WT) if(!istype(WT)) return 0 if(wear <= 20) - to_chat(user,"\The [src] doesn't seem to need repairs right now.") + to_chat(user,span_notice("\The [src] doesn't seem to need repairs right now.")) return 1 if(!WT.remove_fuel(0, user)) - to_chat(user,"\The [WT] must be on to complete this task.") + to_chat(user,span_warning("\The [WT] must be on to complete this task.")) return 1 playsound(src, 'sound/items/Welder.ogg', 50, 1) - user.visible_message("\The [user] begins \the [src] overhaul.","You begin an overhaul of \the [src].") + user.visible_message(span_notice("\The [user] begins \the [src] overhaul."),span_notice("You begin an overhaul of \the [src].")) if(!do_after(user, wear SECONDS, src)) return 1 if(!src || !WT.isOn()) return 1 - user.visible_message("\The [user] has overhauled \the [src].","You complete \the [src] overhaul.") + user.visible_message(span_notice("\The [user] has overhauled \the [src]."),span_notice("You complete \the [src] overhaul.")) wear = 20 update_icon() return 1 diff --git a/maps/tether/tether_telecomms.dm b/maps/tether/tether_telecomms.dm index 647ccde34ad..cf4b2622f29 100644 --- a/maps/tether/tether_telecomms.dm +++ b/maps/tether/tether_telecomms.dm @@ -81,10 +81,10 @@ num2text(EXP_FREQ) = list(access_explorer) ) -/obj/item/device/multitool/station_buffered +/obj/item/multitool/station_buffered name = "pre-linked multitool (tether hub)" desc = "This multitool has already been linked to the Tether telecomms hub and can be used to configure one (1) relay." -/obj/item/device/multitool/station_buffered/Initialize() +/obj/item/multitool/station_buffered/Initialize() . = ..() buffer = locate(/obj/machinery/telecomms/hub/preset/tether) diff --git a/maps/tether/tether_things.dm b/maps/tether/tether_things.dm index 31c72fcbfc2..34f280139c9 100644 --- a/maps/tether/tether_things.dm +++ b/maps/tether/tether_things.dm @@ -115,7 +115,7 @@ /obj/effect/step_trigger/lost_in_space/Trigger(var/atom/movable/A) //replacement for shuttle dump zones because there's no empty space levels to dump to if(ismob(A)) - to_chat(A, "[deathmessage]") + to_chat(A, span_danger("[deathmessage]")) qdel(A) /obj/effect/step_trigger/lost_in_space/bluespace @@ -257,10 +257,6 @@ name = "dorm seven holodeck control" projection_area = /area/crew_quarters/sleep/Dorm_7/holo -/obj/machinery/computer/HolodeckControl/holodorm/warship - name = "warship holodeck control" - projection_area = /area/mothership/holodeck/holo - // Our map is small, if the supermatter is ejected lets not have it just blow up somewhere else /obj/machinery/power/supermatter/touch_map_edge() qdel(src) @@ -292,9 +288,9 @@ // ### Wall Machines On Full Windows ### // To make sure wall-mounted machines placed on full-tile windows are clickable they must be above the window // -/obj/item/device/radio/intercom +/obj/item/radio/intercom layer = ABOVE_WINDOW_LAYER -/obj/item/weapon/storage/secure/safe +/obj/item/storage/secure/safe layer = ABOVE_WINDOW_LAYER /obj/machinery/airlock_sensor layer = ABOVE_WINDOW_LAYER diff --git a/maps/virgo_minitest/virgo_minitest-1.dmm b/maps/virgo_minitest/virgo_minitest-1.dmm index 24cb886cf65..4a4f7172225 100644 --- a/maps/virgo_minitest/virgo_minitest-1.dmm +++ b/maps/virgo_minitest/virgo_minitest-1.dmm @@ -15,8 +15,8 @@ /area/tcommsat/computer) "ae" = ( /obj/structure/table/standard, -/obj/item/weapon/folder/yellow, -/obj/item/weapon/folder/yellow, +/obj/item/folder/yellow, +/obj/item/folder/yellow, /obj/machinery/light{ dir = 1 }, @@ -31,8 +31,8 @@ /area/tcommsat/computer) "af" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/blue{ +/obj/item/paper_bin, +/obj/item/pen/blue{ pixel_x = -3; pixel_y = 2 }, @@ -47,11 +47,11 @@ /area/tcommsat/computer) "ah" = ( /obj/structure/table/standard, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/tiled/dark, /area/tcommsat/computer) "ai" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -28 @@ -71,7 +71,7 @@ /obj/machinery/computer/telecomms/monitor{ network = "tcommsat" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "General Listening Channel"; pixel_x = 28 }, @@ -187,7 +187,7 @@ dir = 8 }, /obj/structure/table/standard, -/obj/item/device/multitool, +/obj/item/multitool, /turf/simulated/floor/tiled/dark, /area/tcommsat/computer) "aD" = ( @@ -520,7 +520,7 @@ }, /area/tcommsat/chamber) "bi" = ( -/obj/item/device/geiger/wall/west{ +/obj/item/geiger/wall/west{ dir = 4; pixel_x = -36 }, @@ -1422,10 +1422,10 @@ dir = 1 }, /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/dropper, /turf/simulated/floor/tiled, /area/bridge) "dg" = ( @@ -2648,7 +2648,7 @@ icon_state = "4-8" }, /obj/structure/table/steel, -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical, /turf/simulated/floor/tiled/techmaint, /area/engineering/engine_monitoring) "fX" = ( @@ -3370,12 +3370,12 @@ /area/engineering/workshop) "kr" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/cell/high{ +/obj/item/storage/box/lights/mixed, +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "The big blue box recently installed in here is a 'grid checker' which will shut off the power if a dangerous power spike from the engine erupts into the powernet. Shutting everything down protects everything from electrical damage, however the outages can be disruptive to colony operations, so it is designed to restore power after a somewhat significant delay, up to ten minutes or so. The grid checker can be manually hacked in order to end the outage sooner. To do that, you must cut three specific wires which do not cause a red light to shine, then pulse a fourth wire. Electrical protection is highly recommended when doing maintenance on the grid checker."; name = "grid checker info" }, @@ -3611,8 +3611,8 @@ /area/engineering/engine_monitoring) "ni" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/syringes, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/storage/box/syringes, +/obj/item/reagent_containers/dropper, /turf/simulated/floor/tiled, /area/bridge) "nk" = ( @@ -3642,7 +3642,7 @@ /obj/machinery/camera/network/civilian{ dir = 9 }, -/obj/item/weapon/storage/part_replacer/adv/discount_bluespace, +/obj/item/storage/part_replacer/adv/discount_bluespace, /obj/structure/table/steel, /turf/simulated/floor/tiled/techmaint, /area/engineering/engine_monitoring) @@ -4083,8 +4083,8 @@ dir = 1 }, /obj/structure/table/standard, -/obj/item/weapon/circuitboard/tesla_coil, -/obj/item/weapon/circuitboard/tesla_coil, +/obj/item/circuitboard/tesla_coil, +/obj/item/circuitboard/tesla_coil, /turf/simulated/floor, /area/engineering/engine_room) "rY" = ( @@ -4786,7 +4786,7 @@ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, @@ -5260,7 +5260,7 @@ dir = 4 }, /obj/machinery/light, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/tiled/techmaint, @@ -5422,7 +5422,7 @@ pixel_y = -5; req_access = list(10) }, -/obj/item/device/geiger/wall/west{ +/obj/item/geiger/wall/west{ dir = 4; pixel_x = 36 }, @@ -5484,7 +5484,7 @@ dir = 8; layer = 2.6 }, -/obj/item/weapon/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, /turf/simulated/floor/tiled/techmaint, /area/engineering/engine_monitoring) "HQ" = ( @@ -5878,10 +5878,10 @@ icon_state = "2-8" }, /obj/structure/table/reinforced, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, /turf/simulated/floor/tiled/techmaint, /area/engineering/engine_monitoring) "MW" = ( @@ -6021,7 +6021,7 @@ "Oj" = ( /obj/structure/table/steel, /obj/item/clothing/gloves/yellow, -/obj/item/device/multitool{ +/obj/item/multitool{ pixel_x = 5 }, /obj/item/stack/cable_coil{ @@ -6208,12 +6208,12 @@ }, /obj/effect/floor_decal/steeldecal/steel_decals8, /obj/structure/table/standard, -/obj/item/weapon/book/manual/tesla_engine, -/obj/item/weapon/book/manual/engineering_particle_accelerator{ +/obj/item/book/manual/tesla_engine, +/obj/item/book/manual/engineering_particle_accelerator{ pixel_x = 5; pixel_y = 5 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/tiled, @@ -6252,7 +6252,7 @@ /turf/simulated/floor/tiled/techfloor, /area/engineering/engine_gas) "QC" = ( -/obj/item/device/geiger/wall/west{ +/obj/item/geiger/wall/west{ dir = 4; pixel_x = -36 }, @@ -6276,16 +6276,16 @@ /obj/structure/closet/crate/engineering{ name = "spare SMES coils" }, -/obj/item/weapon/smes_coil, -/obj/item/weapon/smes_coil, -/obj/item/weapon/smes_coil, -/obj/item/weapon/smes_coil/super_capacity, -/obj/item/weapon/smes_coil/super_capacity, -/obj/item/weapon/smes_coil/super_capacity, -/obj/item/weapon/smes_coil/super_io, -/obj/item/weapon/smes_coil/super_io, -/obj/item/weapon/smes_coil/super_io, -/obj/item/device/geiger/wall/west{ +/obj/item/smes_coil, +/obj/item/smes_coil, +/obj/item/smes_coil, +/obj/item/smes_coil/super_capacity, +/obj/item/smes_coil/super_capacity, +/obj/item/smes_coil/super_capacity, +/obj/item/smes_coil/super_io, +/obj/item/smes_coil/super_io, +/obj/item/smes_coil/super_io, +/obj/item/geiger/wall/west{ dir = 4; pixel_x = 36 }, @@ -6331,7 +6331,7 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/item/device/geiger/wall/west{ +/obj/item/geiger/wall/west{ dir = 4; pixel_x = 36 }, @@ -6438,38 +6438,38 @@ /obj/structure/closet/crate/engineering{ name = "capacitor storage" }, -/obj/item/weapon/stock_parts/capacitor/adv, -/obj/item/weapon/stock_parts/capacitor/adv, -/obj/item/weapon/stock_parts/capacitor/adv, -/obj/item/weapon/stock_parts/capacitor/adv, -/obj/item/weapon/stock_parts/capacitor/adv, -/obj/item/weapon/stock_parts/capacitor/adv, -/obj/item/weapon/stock_parts/capacitor/adv, -/obj/item/weapon/stock_parts/capacitor/adv, -/obj/item/weapon/stock_parts/capacitor/hyper, -/obj/item/weapon/stock_parts/capacitor/hyper, -/obj/item/weapon/stock_parts/capacitor/hyper, -/obj/item/weapon/stock_parts/capacitor/hyper, -/obj/item/weapon/stock_parts/capacitor/hyper, -/obj/item/weapon/stock_parts/capacitor/hyper, -/obj/item/weapon/stock_parts/capacitor/hyper, -/obj/item/weapon/stock_parts/capacitor/hyper, -/obj/item/weapon/stock_parts/capacitor/omni, -/obj/item/weapon/stock_parts/capacitor/omni, -/obj/item/weapon/stock_parts/capacitor/omni, -/obj/item/weapon/stock_parts/capacitor/omni, -/obj/item/weapon/stock_parts/capacitor/omni, -/obj/item/weapon/stock_parts/capacitor/omni, -/obj/item/weapon/stock_parts/capacitor/omni, -/obj/item/weapon/stock_parts/capacitor/omni, -/obj/item/weapon/stock_parts/capacitor/super, -/obj/item/weapon/stock_parts/capacitor/super, -/obj/item/weapon/stock_parts/capacitor/super, -/obj/item/weapon/stock_parts/capacitor/super, -/obj/item/weapon/stock_parts/capacitor/super, -/obj/item/weapon/stock_parts/capacitor/super, -/obj/item/weapon/stock_parts/capacitor/super, -/obj/item/weapon/stock_parts/capacitor/super, +/obj/item/stock_parts/capacitor/adv, +/obj/item/stock_parts/capacitor/adv, +/obj/item/stock_parts/capacitor/adv, +/obj/item/stock_parts/capacitor/adv, +/obj/item/stock_parts/capacitor/adv, +/obj/item/stock_parts/capacitor/adv, +/obj/item/stock_parts/capacitor/adv, +/obj/item/stock_parts/capacitor/adv, +/obj/item/stock_parts/capacitor/hyper, +/obj/item/stock_parts/capacitor/hyper, +/obj/item/stock_parts/capacitor/hyper, +/obj/item/stock_parts/capacitor/hyper, +/obj/item/stock_parts/capacitor/hyper, +/obj/item/stock_parts/capacitor/hyper, +/obj/item/stock_parts/capacitor/hyper, +/obj/item/stock_parts/capacitor/hyper, +/obj/item/stock_parts/capacitor/omni, +/obj/item/stock_parts/capacitor/omni, +/obj/item/stock_parts/capacitor/omni, +/obj/item/stock_parts/capacitor/omni, +/obj/item/stock_parts/capacitor/omni, +/obj/item/stock_parts/capacitor/omni, +/obj/item/stock_parts/capacitor/omni, +/obj/item/stock_parts/capacitor/omni, +/obj/item/stock_parts/capacitor/super, +/obj/item/stock_parts/capacitor/super, +/obj/item/stock_parts/capacitor/super, +/obj/item/stock_parts/capacitor/super, +/obj/item/stock_parts/capacitor/super, +/obj/item/stock_parts/capacitor/super, +/obj/item/stock_parts/capacitor/super, +/obj/item/stock_parts/capacitor/super, /turf/simulated/floor/tiled/techmaint, /area/engineering/engine_monitoring) "SN" = ( @@ -6494,7 +6494,7 @@ /obj/machinery/light{ dir = 8 }, -/obj/item/device/geiger/wall/west{ +/obj/item/geiger/wall/west{ dir = 4; pixel_x = -36 }, @@ -6551,7 +6551,7 @@ /turf/simulated/floor/airless, /area/space) "TL" = ( -/obj/item/device/geiger/wall/west{ +/obj/item/geiger/wall/west{ dir = 4; pixel_x = 36 }, @@ -6833,8 +6833,8 @@ }, /obj/structure/table/standard, /obj/item/stack/cable_coil/random, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/tool/screwdriver, +/obj/item/tool/wrench, +/obj/item/tool/screwdriver, /turf/simulated/floor, /area/engineering/engine_room) "XH" = ( @@ -6860,7 +6860,7 @@ /area/engineering/engine_monitoring) "XJ" = ( /obj/machinery/light/small, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /obj/structure/closet/radiation, @@ -6957,7 +6957,7 @@ /turf/simulated/floor/tiled/techmaint, /area/engineering/engine_monitoring) "YN" = ( -/obj/item/device/geiger/wall/west{ +/obj/item/geiger/wall/west{ dir = 4; pixel_x = 36 }, @@ -7028,7 +7028,7 @@ /turf/simulated/floor/tiled/techfloor, /area/engineering/engine_gas) "ZI" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor, diff --git a/maps/virgo_minitest/virgo_minitest-sector-2.dmm b/maps/virgo_minitest/virgo_minitest-sector-2.dmm index 54bb54e1cc5..06160f85a20 100644 --- a/maps/virgo_minitest/virgo_minitest-sector-2.dmm +++ b/maps/virgo_minitest/virgo_minitest-sector-2.dmm @@ -22,7 +22,7 @@ /turf/simulated/mineral/floor/ignore_mapgen, /area/space) "ag" = ( -/obj/item/weapon/pickaxe/jackhammer, +/obj/item/pickaxe/jackhammer, /turf/simulated/mineral/floor/ignore_mapgen, /area/space) "ah" = ( @@ -127,7 +127,7 @@ /turf/simulated/floor/lino, /area/awaymission) "av" = ( -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical, /obj/structure/cable, /obj/machinery/power/apc{ dir = 8; @@ -178,7 +178,7 @@ /turf/simulated/floor/tiled/white, /area/awaymission) "aD" = ( -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/structure/bed/padded, /turf/simulated/floor/lino, /area/awaymission) @@ -190,8 +190,8 @@ /obj/item/clothing/suit/space/void/mining, /obj/item/clothing/mask/breath, /obj/item/clothing/head/helmet/space/void/mining, -/obj/item/weapon/mining_scanner, -/obj/item/weapon/tank/jetpack/oxygen, +/obj/item/mining_scanner, +/obj/item/tank/jetpack/oxygen, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/plating, /area/awaymission) @@ -200,7 +200,7 @@ /area/awaymission) "aH" = ( /obj/structure/closet/toolcloset, -/obj/item/weapon/pickaxe/jackhammer, +/obj/item/pickaxe/jackhammer, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/plating, /area/awaymission) @@ -342,9 +342,9 @@ dir = 8 }, /obj/structure/closet/crate/internals, -/obj/item/weapon/tank/emergency/oxygen/engi, -/obj/item/weapon/tank/emergency/oxygen/engi, -/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, /obj/item/clothing/mask/breath, /obj/item/clothing/mask/breath, /obj/item/clothing/mask/breath, @@ -353,9 +353,9 @@ /area/awaymission) "bh" = ( /obj/structure/closet/crate/internals, -/obj/item/weapon/tank/emergency/oxygen/engi, -/obj/item/weapon/tank/emergency/oxygen/engi, -/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, /obj/item/clothing/mask/breath, /obj/item/clothing/mask/breath, /obj/item/clothing/mask/breath, @@ -388,7 +388,7 @@ /area/awaymission) "bn" = ( /obj/item/mecha_parts/mecha_equipment/tool/drill, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /obj/structure/table/steel, /turf/simulated/floor/tiled, /area/awaymission) @@ -465,7 +465,7 @@ /area/awaymission) "bz" = ( /obj/structure/closet/crate/secure/weapon, -/obj/item/weapon/gun/projectile/shotgun/pump/rifle, +/obj/item/gun/projectile/shotgun/pump/rifle, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/dark, /area/awaymission) @@ -576,13 +576,13 @@ /turf/simulated/floor/tiled, /area/awaymission) "bO" = ( -/obj/item/weapon/reagent_containers/food/snacks/cubancarp, +/obj/item/reagent_containers/food/snacks/cubancarp, /obj/effect/floor_decal/corner/white/diagonal, /obj/structure/table/glass, /turf/simulated/floor/tiled, /area/awaymission) "bP" = ( -/obj/item/weapon/reagent_containers/food/snacks/carpmeat, +/obj/item/reagent_containers/food/snacks/carpmeat, /obj/effect/floor_decal/corner/white/diagonal, /obj/structure/table/glass, /turf/simulated/floor/tiled, @@ -631,7 +631,7 @@ /area/awaymission) "bT" = ( /obj/structure/closet/emcloset, -/obj/item/weapon/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, /obj/machinery/airlock_sensor{ frequency = 1375; id_tag = "carp_sensor"; diff --git a/maps/virgo_minitest/virgo_minitest-sector-3.dmm b/maps/virgo_minitest/virgo_minitest-sector-3.dmm index f0f58d57ede..e102ac017c8 100644 --- a/maps/virgo_minitest/virgo_minitest-sector-3.dmm +++ b/maps/virgo_minitest/virgo_minitest-sector-3.dmm @@ -40,7 +40,7 @@ /area/awaymission/wwmines) "al" = ( /obj/structure/closet/cabinet, -/obj/item/weapon/gun/projectile/shotgun/doublebarrel, +/obj/item/gun/projectile/shotgun/doublebarrel, /obj/item/ammo_magazine/ammo_box/b12g/beanbag, /turf/simulated/floor/wood, /area/awaymission/wwmines) @@ -49,7 +49,7 @@ /area/awaymission/wwmines) "an" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/floor/wood, /area/awaymission/wwmines) "ao" = ( @@ -64,17 +64,17 @@ /turf/simulated/floor/water, /area/awaymission/wwmines) "aq" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/wood, /area/awaymission/wwmines) "ar" = ( /obj/structure/table/woodentable, -/obj/item/weapon/deck/cards, +/obj/item/deck/cards, /turf/simulated/floor/carpet/turcarpet, /area/awaymission/wwmines) "as" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/chips, +/obj/item/reagent_containers/food/snacks/chips, /turf/simulated/floor/carpet/turcarpet, /area/awaymission/wwmines) "at" = ( @@ -83,7 +83,7 @@ /turf/simulated/floor/wood, /area/awaymission/wwmines) "au" = ( -/obj/item/weapon/stool, +/obj/item/stool, /turf/simulated/floor/wood, /area/awaymission/wwmines) "av" = ( @@ -99,25 +99,25 @@ /area/awaymission/wwmines) "ax" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey, +/obj/item/reagent_containers/food/drinks/bottle/whiskey, /turf/simulated/floor/carpet/turcarpet, /area/awaymission/wwmines) "ay" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/glass2/shot, +/obj/item/reagent_containers/food/drinks/glass2/shot, /turf/simulated/floor/carpet/turcarpet, /area/awaymission/wwmines) "az" = ( /obj/structure/table/woodentable, -/obj/item/weapon/tape_roll, +/obj/item/tape_roll, /obj/random/firstaid, /turf/simulated/floor/wood, /area/awaymission/wwmines) "aA" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/glass2/shot, -/obj/item/weapon/reagent_containers/food/drinks/glass2/shot, -/obj/item/weapon/reagent_containers/food/drinks/glass2/shot, +/obj/item/reagent_containers/food/drinks/glass2/shot, +/obj/item/reagent_containers/food/drinks/glass2/shot, +/obj/item/reagent_containers/food/drinks/glass2/shot, /turf/simulated/floor/carpet/turcarpet, /area/awaymission/wwmines) "aB" = ( @@ -152,8 +152,8 @@ /area/awaymission/wwmines) "aG" = ( /obj/structure/table/woodentable, -/obj/item/weapon/oar, -/obj/item/weapon/oar, +/obj/item/oar, +/obj/item/oar, /turf/simulated/floor/wood, /area/awaymission/wwmines) "aH" = ( @@ -190,12 +190,12 @@ /area/awaymission/wwmines) "aM" = ( /obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/fruitsalad, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/fruitsalad, /turf/simulated/floor/wood, /area/awaymission/wwmines) "aN" = ( @@ -207,7 +207,7 @@ /area/awaymission/wwmines) "aP" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/knife, +/obj/item/material/knife, /turf/simulated/floor/wood, /area/awaymission/wwmines) "aQ" = ( @@ -216,13 +216,13 @@ /area/awaymission/wwmines) "aR" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/bag/trash, +/obj/item/storage/bag/trash, /turf/simulated/floor/wood, /area/awaymission/wwmines) "aS" = ( /obj/structure/table/woodentable, -/obj/item/weapon/flame/lighter, -/obj/item/weapon/storage/fancy/candle_box, +/obj/item/flame/lighter, +/obj/item/storage/fancy/candle_box, /turf/simulated/floor/wood, /area/awaymission/wwmines) "aT" = ( @@ -255,7 +255,7 @@ /area/awaymission/wwmines) "aY" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/carpet/bcarpet, /area/awaymission/wwmines) "aZ" = ( diff --git a/maps/yw/cryogaia-01-centcomm.dmm b/maps/yw/cryogaia-01-centcomm.dmm index 70572cb941a..18495653a02 100644 --- a/maps/yw/cryogaia-01-centcomm.dmm +++ b/maps/yw/cryogaia-01-centcomm.dmm @@ -37,8 +37,8 @@ /area/shuttle/administration/centcom) "aj" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/box, -/obj/item/weapon/storage/box, +/obj/item/storage/box, +/obj/item/storage/box, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -68,11 +68,11 @@ /area/shuttle/administration/centcom) "aq" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/bodybags{ +/obj/item/storage/box/bodybags{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/box/bodybags, +/obj/item/storage/box/bodybags, /turf/simulated/shuttle/floor/white, /area/centcom/evac) "ax" = ( @@ -108,8 +108,8 @@ /area/centcom/command) "aA" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/fire, -/obj/item/weapon/storage/firstaid/fire, +/obj/item/storage/firstaid/fire, +/obj/item/storage/firstaid/fire, /obj/effect/floor_decal/corner/green{ dir = 6 }, @@ -174,8 +174,8 @@ /area/shuttle/arrival/pre_game) "aV" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/pill_bottle/dice, -/obj/item/weapon/deck/cards, +/obj/item/storage/pill_bottle/dice, +/obj/item/deck/cards, /turf/unsimulated/floor{ dir = 5; icon_state = "vault" @@ -186,11 +186,11 @@ /area/space) "bd" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/blood/AMinus, -/obj/item/weapon/reagent_containers/blood/APlus, -/obj/item/weapon/reagent_containers/blood/BMinus, -/obj/item/weapon/reagent_containers/blood/BPlus, -/obj/item/weapon/reagent_containers/blood/OPlus, +/obj/item/reagent_containers/blood/AMinus, +/obj/item/reagent_containers/blood/APlus, +/obj/item/reagent_containers/blood/BMinus, +/obj/item/reagent_containers/blood/BPlus, +/obj/item/reagent_containers/blood/OPlus, /obj/effect/floor_decal/corner/green{ dir = 10 }, @@ -200,8 +200,8 @@ /area/centcom/medical) "be" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, +/obj/item/gun/energy/laser, +/obj/item/gun/energy/laser, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -210,7 +210,7 @@ /obj/structure/table/rack, /obj/item/clothing/under/color/green, /obj/item/clothing/shoes/brown, -/obj/item/weapon/melee/energy/axe, +/obj/item/melee/energy/axe, /turf/unsimulated/floor{ dir = 5; icon_state = "vault" @@ -303,7 +303,7 @@ /obj/item/clothing/shoes/brown, /obj/item/clothing/suit/armor/vest, /obj/item/clothing/head/helmet/swat, -/obj/item/weapon/gun/energy/laser, +/obj/item/gun/energy/laser, /turf/unsimulated/floor{ dir = 5; icon_state = "vault" @@ -314,8 +314,8 @@ icon_state = "cabinet_closed"; name = "Clothing Storage" }, -/obj/item/weapon/storage/box/syndie_kit/chameleon, -/obj/item/weapon/stamp/chameleon, +/obj/item/storage/box/syndie_kit/chameleon, +/obj/item/stamp/chameleon, /turf/unsimulated/floor{ icon_state = "carpet" }, @@ -334,9 +334,9 @@ /area/centcom/specops) "bG" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /obj/effect/floor_decal/corner/green/full{ dir = 4 }, @@ -346,14 +346,14 @@ /area/centcom/medical) "bH" = ( /obj/structure/table/rack, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, /obj/effect/floor_decal/industrial/outline/blue, /turf/unsimulated/floor{ icon_state = "dark" @@ -390,8 +390,8 @@ }, /obj/structure/table/rack, /obj/item/clothing/suit/armor/riot, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/shield/riot, +/obj/item/melee/baton/loaded, +/obj/item/shield/riot, /obj/item/clothing/head/helmet/riot, /obj/structure/window/reinforced, /obj/effect/floor_decal/corner/red{ @@ -414,9 +414,9 @@ /area/centcom/command) "bR" = ( /obj/structure/table/rack, -/obj/item/weapon/rig/ert/engineer, -/obj/item/weapon/rig/ert/engineer, -/obj/item/weapon/rig/ert/engineer, +/obj/item/rig/ert/engineer, +/obj/item/rig/ert/engineer, +/obj/item/rig/ert/engineer, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -432,7 +432,7 @@ /area/centcom/evac) "bU" = ( /obj/structure/closet/wardrobe/ert, -/obj/item/device/mapping_unit/ert, +/obj/item/mapping_unit/ert, /turf/unsimulated/floor{ dir = 5; icon_state = "vault" @@ -461,7 +461,7 @@ /area/centcom/evac) "cb" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /obj/effect/floor_decal/corner/orange/full{ dir = 1 }, @@ -475,9 +475,9 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/gun/energy/gun/nuclear, -/obj/item/weapon/gun/energy/gun/nuclear, -/obj/item/weapon/gun/energy/gun/nuclear, +/obj/item/gun/energy/gun/nuclear, +/obj/item/gun/energy/gun/nuclear, +/obj/item/gun/energy/gun/nuclear, /obj/structure/window/reinforced{ dir = 1 }, @@ -510,7 +510,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/reagent_containers/food/snacks/slice/orangecake/filled, +/obj/item/reagent_containers/food/snacks/slice/orangecake/filled, /turf/unsimulated/floor{ icon_state = "wood" }, @@ -562,7 +562,7 @@ pixel_y = 30 }, /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/toxin, +/obj/item/storage/firstaid/toxin, /obj/machinery/camera/network/crescent{ c_tag = "Shuttle Bridge East" }, @@ -656,8 +656,8 @@ dir = 8 }, /obj/structure/window/reinforced, -/obj/item/weapon/gun/projectile/automatic/z8, -/obj/item/weapon/gun/projectile/automatic/z8, +/obj/item/gun/projectile/automatic/z8, +/obj/item/gun/projectile/automatic/z8, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -690,11 +690,11 @@ /area/shuttle/arrival/pre_game) "cY" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, -/obj/item/weapon/flame/lighter/zippo, -/obj/item/weapon/storage/fancy/cigarettes, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/flame/lighter/zippo, +/obj/item/storage/fancy/cigarettes, /turf/unsimulated/floor{ icon_state = "lino" }, @@ -776,10 +776,10 @@ /area/centcom/terminal) "dn" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{ +/obj/item/reagent_containers/glass/beaker/cryoxadone{ pixel_x = -4 }, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /turf/simulated/shuttle/floor/white, /area/shuttle/escape) "do" = ( @@ -791,8 +791,8 @@ }, /obj/structure/table/rack, /obj/item/clothing/suit/armor/riot, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/shield/riot, +/obj/item/melee/baton/loaded, +/obj/item/shield/riot, /obj/item/clothing/head/helmet/riot, /obj/structure/window/reinforced{ dir = 1 @@ -882,7 +882,7 @@ /area/centcom/bathroom) "dQ" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/lockbox, +/obj/item/storage/lockbox, /turf/simulated/shuttle/floor/black, /area/centcom/evac) "dR" = ( @@ -925,7 +925,7 @@ dir = 1 }, /obj/structure/table/glass, -/obj/item/weapon/storage/box/monkeycubes, +/obj/item/storage/box/monkeycubes, /obj/effect/floor_decal/corner/green/full{ dir = 1 }, @@ -937,20 +937,20 @@ /obj/structure/closet/secure_closet/medical_wall{ name = "Pill Cabinet" }, -/obj/item/weapon/storage/pill_bottle/antitox, -/obj/item/weapon/storage/pill_bottle/tramadol, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/reagent_containers/syringe/inaprovaline, +/obj/item/storage/pill_bottle/antitox, +/obj/item/storage/pill_bottle/tramadol, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/syringe/inaprovaline, /turf/unsimulated/wall, /area/centcom/medical) "ep" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/secure/briefcase, -/obj/item/weapon/storage/fancy/cigarettes, -/obj/item/weapon/flame/lighter/zippo, -/obj/item/weapon/storage/belt/utility, -/obj/item/weapon/storage/backpack/satchel, +/obj/item/storage/secure/briefcase, +/obj/item/storage/fancy/cigarettes, +/obj/item/flame/lighter/zippo, +/obj/item/storage/belt/utility, +/obj/item/storage/backpack/satchel, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -986,11 +986,11 @@ /area/shuttle/administration/centcom) "ew" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/handcuffs{ +/obj/item/storage/box/handcuffs{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/box/handcuffs, +/obj/item/storage/box/handcuffs, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -1016,7 +1016,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/reagent_containers/food/snacks/stuffing, +/obj/item/reagent_containers/food/snacks/stuffing, /turf/unsimulated/floor{ icon_state = "wood" }, @@ -1161,7 +1161,7 @@ }, /area/centcom/main_hall) "ft" = ( -/obj/item/weapon/mop, +/obj/item/mop, /obj/structure/mopbucket, /turf/simulated/shuttle/floor, /area/centcom/evac) @@ -1177,16 +1177,16 @@ /area/shuttle/administration/centcom) "fD" = ( /obj/structure/table/reinforced, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/storage/box, +/obj/item/tool/wrench, +/obj/item/storage/box, /turf/unsimulated/floor{ icon_state = "dark" }, /area/centcom/specops) "fE" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/glass/beaker, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/glass/beaker, +/obj/item/reagent_containers/food/condiment/enzyme, /obj/effect/floor_decal/corner/white/diagonal, /turf/unsimulated/floor{ icon_state = "steel" @@ -1194,7 +1194,7 @@ /area/centcom/restaurant) "fG" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/captain, +/obj/item/bedsheet/captain, /obj/effect/floor_decal/carpet{ dir = 1 }, @@ -1221,8 +1221,8 @@ /area/tdome) "fK" = ( /obj/structure/table/reinforced, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/screwdriver, +/obj/item/tool/crowbar, +/obj/item/tool/screwdriver, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -1269,7 +1269,7 @@ /area/centcom/restaurant) "ge" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /obj/effect/floor_decal/corner/orange/full{ dir = 4 }, @@ -1318,8 +1318,8 @@ /area/centcom/main_hall) "gm" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/bonesetter, -/obj/item/weapon/surgical/bonegel{ +/obj/item/surgical/bonesetter, +/obj/item/surgical/bonegel{ pixel_x = 4; pixel_y = 3 }, @@ -1342,12 +1342,12 @@ /area/shuttle/escape) "gu" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/hypospray, -/obj/item/weapon/reagent_containers/hypospray, -/obj/item/weapon/reagent_containers/hypospray, -/obj/item/weapon/reagent_containers/hypospray, -/obj/item/weapon/reagent_containers/hypospray, -/obj/item/weapon/reagent_containers/hypospray, +/obj/item/reagent_containers/hypospray, +/obj/item/reagent_containers/hypospray, +/obj/item/reagent_containers/hypospray, +/obj/item/reagent_containers/hypospray, +/obj/item/reagent_containers/hypospray, +/obj/item/reagent_containers/hypospray, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -1460,11 +1460,11 @@ /area/shuttle/supply) "gY" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/machinery/door/window/southright{ name = "Arrivals Processing"; req_access = list(101) @@ -1679,7 +1679,7 @@ id = "NTrasen"; name = "Hull Door Control" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ broadcasting = 1; dir = 1; frequency = 1441; @@ -1708,7 +1708,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/reagent_containers/food/snacks/slice/carrotcake/filled, +/obj/item/reagent_containers/food/snacks/slice/carrotcake/filled, /turf/unsimulated/floor{ icon_state = "wood" }, @@ -1799,7 +1799,7 @@ /area/centcom/tram) "it" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box, +/obj/item/storage/box, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -1815,7 +1815,7 @@ }, /area/centcom/security) "iw" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/unsimulated/floor{ dir = 5; icon_state = "vault" @@ -1861,7 +1861,7 @@ }, /area/centcom/specops) "iL" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/corner/yellow/diagonal, /obj/effect/floor_decal/corner/blue/diagonal{ dir = 4 @@ -1872,7 +1872,7 @@ /area/centcom/command) "iM" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/green, +/obj/item/bedsheet/green, /obj/effect/floor_decal/corner/green/full{ dir = 4 }, @@ -1976,7 +1976,7 @@ /obj/structure/window/reinforced{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ broadcasting = 1; dir = 1; frequency = 1443; @@ -2012,9 +2012,9 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/flame/lighter/zippo, -/obj/item/weapon/storage/fancy/cigarettes, -/obj/item/weapon/material/ashtray/bronze{ +/obj/item/flame/lighter/zippo, +/obj/item/storage/fancy/cigarettes, +/obj/item/material/ashtray/bronze{ pixel_x = -1; pixel_y = 1 }, @@ -2028,11 +2028,11 @@ /area/centcom/bar) "jC" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/firstaid/o2, +/obj/item/storage/firstaid/o2, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -2047,10 +2047,10 @@ /obj/item/clothing/head/helmet/ert/medical, /obj/item/clothing/head/helmet/ert/medical, /obj/item/clothing/head/helmet/ert/medical, -/obj/item/weapon/storage/backpack/ert/medical, -/obj/item/weapon/storage/backpack/ert/medical, -/obj/item/weapon/storage/backpack/ert/medical, -/obj/item/weapon/storage/backpack/ert/medical, +/obj/item/storage/backpack/ert/medical, +/obj/item/storage/backpack/ert/medical, +/obj/item/storage/backpack/ert/medical, +/obj/item/storage/backpack/ert/medical, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -2059,7 +2059,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/reagent_containers/food/snacks/candiedapple, +/obj/item/reagent_containers/food/snacks/candiedapple, /turf/unsimulated/floor{ icon_state = "wood" }, @@ -2108,8 +2108,8 @@ /area/centcom/specops) "jI" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/glass/beaker, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/glass/beaker, +/obj/item/reagent_containers/food/condiment/enzyme, /obj/effect/floor_decal/corner/blue/diagonal{ dir = 4 }, @@ -2126,9 +2126,9 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/flame/lighter/zippo, -/obj/item/weapon/storage/fancy/cigarettes, -/obj/item/weapon/material/ashtray/bronze{ +/obj/item/flame/lighter/zippo, +/obj/item/storage/fancy/cigarettes, +/obj/item/material/ashtray/bronze{ pixel_x = -1; pixel_y = 1 }, @@ -2138,14 +2138,14 @@ /area/centcom/bar) "jL" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/flashbangs, -/obj/item/weapon/handcuffs, -/obj/item/device/flash, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/gun/energy/stunrevolver, +/obj/item/storage/box/flashbangs, +/obj/item/handcuffs, +/obj/item/flash, +/obj/item/melee/baton/loaded, +/obj/item/storage/belt/security/tactical, +/obj/item/gun/energy/stunrevolver, /obj/item/clothing/glasses/sunglasses/sechud/tactical, -/obj/item/weapon/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -2214,12 +2214,12 @@ /area/centcom/specops) "kg" = ( /obj/structure/table/rack, -/obj/item/weapon/rig/ert/assetprotection, -/obj/item/weapon/rig/ert/assetprotection, -/obj/item/weapon/rig/ert/assetprotection, -/obj/item/weapon/rig/ert/assetprotection, -/obj/item/weapon/rig/ert/assetprotection, -/obj/item/weapon/rig/ert/assetprotection, +/obj/item/rig/ert/assetprotection, +/obj/item/rig/ert/assetprotection, +/obj/item/rig/ert/assetprotection, +/obj/item/rig/ert/assetprotection, +/obj/item/rig/ert/assetprotection, +/obj/item/rig/ert/assetprotection, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -2238,7 +2238,7 @@ /obj/item/ammo_magazine/m545saw, /obj/item/ammo_magazine/m545saw, /obj/item/ammo_magazine/m545saw, -/obj/item/weapon/gun/projectile/automatic/l6_saw, +/obj/item/gun/projectile/automatic/l6_saw, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -2251,8 +2251,8 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/book/manual/barman_recipes, -/obj/item/weapon/reagent_containers/glass/rag, +/obj/item/book/manual/barman_recipes, +/obj/item/reagent_containers/glass/rag, /turf/unsimulated/floor{ icon_state = "lino" }, @@ -2282,13 +2282,13 @@ /area/tdome/tdome1) "kw" = ( /obj/structure/table/rack, -/obj/item/weapon/melee/energy/sword, +/obj/item/melee/energy/sword, /turf/unsimulated/floor{ icon_state = "dark" }, /area/centcom/specops) "kx" = ( -/obj/item/device/camera{ +/obj/item/camera{ desc = "A one use - polaroid camera. 30 photos left."; name = "detectives camera"; pictures_left = 30; @@ -2317,7 +2317,7 @@ /area/centcom/tram) "kD" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /turf/simulated/shuttle/floor, /area/centcom/evac) "kG" = ( @@ -2331,11 +2331,11 @@ /area/centcom/command) "kI" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/toxin{ +/obj/item/storage/firstaid/toxin{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/firstaid/toxin, +/obj/item/storage/firstaid/toxin, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -2393,9 +2393,9 @@ /area/tdome) "lb" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/flashbangs, -/obj/item/weapon/storage/box/flashbangs, -/obj/item/weapon/storage/box/emps{ +/obj/item/storage/box/flashbangs, +/obj/item/storage/box/flashbangs, +/obj/item/storage/box/emps{ pixel_x = 4; pixel_y = 4 }, @@ -2405,9 +2405,9 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/storage/box/frags, -/obj/item/weapon/storage/box/smokes, -/obj/item/weapon/storage/box/smokes, +/obj/item/storage/box/frags, +/obj/item/storage/box/smokes, +/obj/item/storage/box/smokes, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -2459,7 +2459,7 @@ /area/centcom/security) "ll" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/green, +/obj/item/bedsheet/green, /obj/effect/floor_decal/corner/green{ dir = 10 }, @@ -2495,7 +2495,7 @@ /area/centcom/medical) "lr" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /turf/simulated/shuttle/floor{ icon_state = "floor_red" }, @@ -2514,12 +2514,12 @@ /obj/item/taperoll/police, /obj/item/taperoll/police, /obj/item/taperoll/police, -/obj/item/device/flash, -/obj/item/device/flash, -/obj/item/device/flash, -/obj/item/device/flash, -/obj/item/device/flash, -/obj/item/device/flash, +/obj/item/flash, +/obj/item/flash, +/obj/item/flash, +/obj/item/flash, +/obj/item/flash, +/obj/item/flash, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -2576,7 +2576,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/reagent_containers/food/snacks/stew, +/obj/item/reagent_containers/food/snacks/stew, /turf/unsimulated/floor{ icon_state = "wood" }, @@ -2588,11 +2588,11 @@ /area/centcom/evac) "lP" = ( /obj/structure/table/marble, -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/kitchen/rollingpin, /obj/effect/floor_decal/corner/white/diagonal, /turf/unsimulated/floor{ icon_state = "steel" @@ -2600,8 +2600,8 @@ /area/centcom/restaurant) "lR" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /obj/effect/floor_decal/corner/green{ dir = 6 }, @@ -2618,7 +2618,7 @@ }, /area/centcom/main_hall) "lX" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/corner/white/diagonal, /turf/unsimulated/floor{ icon_state = "steel" @@ -2648,7 +2648,7 @@ /area/centcom/medical) "md" = ( /obj/machinery/chemical_dispenser/ert, -/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, /obj/effect/floor_decal/corner/beige{ dir = 6 }, @@ -2696,7 +2696,7 @@ }, /area/centcom/main_hall) "mn" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ broadcasting = 1; dir = 1; frequency = 1441; @@ -2763,19 +2763,19 @@ }, /area/centcom/terminal) "mz" = ( -/obj/item/device/camera{ +/obj/item/camera{ name = "Autopsy Camera"; pixel_x = -2; pixel_y = 7 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_y = -6 }, -/obj/item/weapon/pen/red{ +/obj/item/pen/red{ pixel_x = -1; pixel_y = -9 }, -/obj/item/weapon/pen/blue{ +/obj/item/pen/blue{ pixel_x = 3; pixel_y = -5 }, @@ -2789,11 +2789,11 @@ /area/centcom/medical) "mA" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/unsimulated/floor{ icon_state = "steel" }, @@ -2843,7 +2843,7 @@ /area/centcom/specops) "mP" = ( /obj/structure/table/standard, -/obj/item/weapon/book/codex/lore/vir, +/obj/item/book/codex/lore/vir, /turf/simulated/shuttle/floor{ icon_state = "floor_white" }, @@ -2868,7 +2868,7 @@ /area/centcom/terminal) "mT" = ( /obj/structure/bed/roller, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 26 @@ -2910,9 +2910,9 @@ /area/centcom/main_hall) "nc" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, +/obj/item/gun/energy/gun, +/obj/item/gun/energy/gun, +/obj/item/gun/energy/gun, /obj/structure/window/reinforced{ dir = 8 }, @@ -3023,7 +3023,7 @@ /area/centcom/main_hall) "nP" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /obj/effect/floor_decal/corner/orange{ dir = 10 }, @@ -3065,7 +3065,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/reagent_containers/food/snacks/beetsoup, +/obj/item/reagent_containers/food/snacks/beetsoup, /turf/unsimulated/floor{ icon_state = "wood" }, @@ -3078,8 +3078,8 @@ /area/shuttle/administration/centcom) "oi" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/o2, -/obj/item/weapon/storage/firstaid/o2, +/obj/item/storage/firstaid/o2, +/obj/item/storage/firstaid/o2, /obj/effect/floor_decal/corner/green{ dir = 6 }, @@ -3118,7 +3118,7 @@ /area/shuttle/administration/centcom) "ov" = ( /obj/machinery/computer/card/centcom, -/obj/item/weapon/card/id/centcom, +/obj/item/card/id/centcom, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -3138,9 +3138,9 @@ /area/centcom/security) "oz" = ( /obj/structure/table/rack, -/obj/item/weapon/rig/ert/security, -/obj/item/weapon/rig/ert/security, -/obj/item/weapon/rig/ert/security, +/obj/item/rig/ert/security, +/obj/item/rig/ert/security, +/obj/item/rig/ert/security, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -3173,11 +3173,11 @@ dir = 1; health = 1e+006 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/unsimulated/floor{ dir = 5; icon_state = "vault" @@ -3259,10 +3259,10 @@ }, /area/centcom/security) "oW" = ( -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, /obj/structure/table/rack/shelf/steel, /obj/effect/floor_decal/industrial/outline/yellow, /turf/unsimulated/floor{ @@ -3357,12 +3357,12 @@ /area/centcom/terminal) "pC" = ( /obj/structure/table/reinforced, -/obj/item/weapon/cell/high, -/obj/item/weapon/cell/high, -/obj/item/weapon/cell/high, -/obj/item/weapon/cell/high, -/obj/item/weapon/cell/high, -/obj/item/weapon/cell/high, +/obj/item/cell/high, +/obj/item/cell/high, +/obj/item/cell/high, +/obj/item/cell/high, +/obj/item/cell/high, +/obj/item/cell/high, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -3374,7 +3374,7 @@ /area/centcom/tram) "pH" = ( /obj/structure/table/reinforced, -/obj/item/device/taperecorder, +/obj/item/taperecorder, /turf/unsimulated/floor{ dir = 5; icon_state = "vault" @@ -3450,7 +3450,7 @@ /turf/simulated/shuttle/floor/yellow, /area/centcom/evac) "pW" = ( -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /obj/structure/table/reinforced, /obj/machinery/light{ dir = 1 @@ -3470,7 +3470,7 @@ }, /area/centcom/command) "qb" = ( -/obj/item/weapon/flame/lighter/zippo, +/obj/item/flame/lighter/zippo, /obj/structure/table/reinforced, /turf/simulated/shuttle/floor/red, /area/shuttle/administration/centcom) @@ -3486,7 +3486,7 @@ name = "JoinLate" }, /obj/structure/window/reinforced, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -3506,7 +3506,7 @@ /area/centcom/medical) "qk" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/donut, +/obj/item/storage/box/donut, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -3514,7 +3514,7 @@ "ql" = ( /obj/structure/table/standard, /obj/effect/floor_decal/corner/white/diagonal, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/small/saltshaker, /turf/unsimulated/floor{ icon_state = "steel" }, @@ -3544,7 +3544,6 @@ /turf/simulated/shuttle/wall, /area/shuttle/arrival/pre_game) "qq" = ( -/obj/machinery/disease2/incubator, /obj/effect/floor_decal/corner/green/full{ dir = 8 }, @@ -3565,24 +3564,24 @@ /turf/simulated/shuttle/floor/white, /area/centcom/evac) "qw" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/unsimulated/floor{ icon_state = "steel" }, /area/centcom/main_hall) "qz" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/autoinjectors, -/obj/item/weapon/storage/box/beakers, -/obj/item/weapon/storage/box/gloves, -/obj/item/weapon/storage/box/pillbottles, +/obj/item/storage/box/autoinjectors, +/obj/item/storage/box/beakers, +/obj/item/storage/box/gloves, +/obj/item/storage/box/pillbottles, /obj/item/bodybag/cryobag, /obj/item/bodybag/cryobag, /obj/item/bodybag/cryobag, /obj/item/bodybag/cryobag, /obj/item/bodybag/cryobag, /obj/item/bodybag/cryobag, -/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -3592,7 +3591,7 @@ dir = 8 }, /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/hos, +/obj/item/bedsheet/hos, /turf/simulated/shuttle/floor/red, /area/shuttle/administration/centcom) "qC" = ( @@ -3666,9 +3665,9 @@ dir = 4 }, /obj/structure/window/reinforced, -/obj/item/weapon/gun/projectile/sec, -/obj/item/weapon/gun/projectile/sec, -/obj/item/weapon/gun/projectile/sec, +/obj/item/gun/projectile/sec, +/obj/item/gun/projectile/sec, +/obj/item/gun/projectile/sec, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -3706,7 +3705,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/reagent_containers/food/snacks/poppypretzel, +/obj/item/reagent_containers/food/snacks/poppypretzel, /turf/unsimulated/floor{ icon_state = "wood" }, @@ -3759,11 +3758,11 @@ /area/centcom/specops) "rB" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/kitchen/rollingpin, /obj/effect/floor_decal/corner/blue/diagonal{ dir = 4 }, @@ -3857,7 +3856,7 @@ }, /area/centcom/bar) "rP" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/unsimulated/floor{ icon_state = "lino" }, @@ -3927,7 +3926,7 @@ }, /area/centcom/specops) "sd" = ( -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, /obj/structure/table/standard, /obj/effect/floor_decal/corner/yellow/diagonal, /obj/effect/floor_decal/corner/blue/diagonal{ @@ -3945,7 +3944,7 @@ /area/shuttle/specops) "sf" = ( /obj/structure/reagent_dispensers/watertank, -/obj/item/weapon/reagent_containers/glass/bucket{ +/obj/item/reagent_containers/glass/bucket{ amount_per_transfer_from_this = 50 }, /turf/simulated/shuttle/floor, @@ -3971,12 +3970,12 @@ /area/centcom/specops) "su" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /turf/simulated/shuttle/floor/white, /area/centcom/evac) "sv" = ( @@ -3993,18 +3992,18 @@ /area/centcom/specops) "sC" = ( /obj/structure/table/reinforced, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, +/obj/item/melee/baton/loaded, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -4051,7 +4050,7 @@ /area/centcom/command) "sL" = ( /obj/structure/table/rack, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ pixel_x = 6; pixel_y = 3 }, @@ -4060,12 +4059,12 @@ /area/centcom/evac) "sO" = ( /obj/structure/table/reinforced, -/obj/item/device/pda/ert, -/obj/item/device/pda/ert, -/obj/item/device/pda/ert, -/obj/item/device/pda/ert, -/obj/item/device/pda/ert, -/obj/item/device/pda/ert, +/obj/item/pda/ert, +/obj/item/pda/ert, +/obj/item/pda/ert, +/obj/item/pda/ert, +/obj/item/pda/ert, +/obj/item/pda/ert, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -4140,12 +4139,12 @@ /area/centcom/command) "tg" = ( /obj/structure/table/rack, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, /obj/structure/window/reinforced{ dir = 8 }, @@ -4209,11 +4208,11 @@ /area/centcom/terminal) "ts" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/firstaid/adv, +/obj/item/storage/firstaid/adv, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -4268,7 +4267,7 @@ /obj/item/clothing/shoes/brown, /obj/item/clothing/suit/armor/vest, /obj/item/clothing/head/helmet/swat, -/obj/item/weapon/gun/energy/laser, +/obj/item/gun/energy/laser, /turf/unsimulated/floor{ dir = 5; icon_state = "vault" @@ -4292,24 +4291,24 @@ /area/shuttle/escape) "tJ" = ( /obj/structure/table/reinforced, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -4383,8 +4382,8 @@ /turf/simulated/shuttle/floor/red, /area/shuttle/administration/centcom) "ug" = ( -/obj/item/weapon/storage/box/bodybags, -/obj/item/weapon/storage/box/bodybags, +/obj/item/storage/box/bodybags, +/obj/item/storage/box/bodybags, /obj/structure/table/standard, /obj/effect/floor_decal/corner/blue{ dir = 10 @@ -4467,11 +4466,11 @@ /area/centcom/terminal) "uJ" = ( /obj/structure/closet/crate/medical, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = -2; pixel_y = 4 }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = -2; pixel_y = 4 }, @@ -4481,27 +4480,27 @@ /obj/item/bodybag/cryobag{ pixel_x = 5 }, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ layer = 2.8; pixel_x = 4; pixel_y = 6 }, -/obj/item/weapon/storage/box/masks, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/masks, +/obj/item/storage/box/gloves{ pixel_x = 3; pixel_y = 4 }, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/toxin, +/obj/item/storage/firstaid/fire{ layer = 2.9; pixel_x = 2; pixel_y = 3 }, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ pixel_x = -2 }, -/obj/item/weapon/reagent_containers/blood/empty, -/obj/item/weapon/reagent_containers/blood/empty, +/obj/item/reagent_containers/blood/empty, +/obj/item/reagent_containers/blood/empty, /turf/simulated/shuttle/floor/white, /area/centcom/evac) "uK" = ( @@ -4556,7 +4555,7 @@ /area/centcom/specops) "uT" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /obj/effect/floor_decal/corner/orange{ dir = 5 }, @@ -4566,19 +4565,19 @@ }, /area/centcom/security) "uU" = ( -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 3 }, @@ -4601,7 +4600,7 @@ dir = 4 }, /obj/effect/floor_decal/corner/red/diagonal, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/unsimulated/floor{ icon_state = "steel" }, @@ -4619,12 +4618,12 @@ }, /area/tdome/tdome1) "va" = ( -/obj/item/weapon/storage/box/syringes{ +/obj/item/storage/box/syringes{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/box/beakers, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/storage/box/beakers, +/obj/item/reagent_containers/dropper, /obj/structure/table/glass, /obj/structure/reagent_dispensers/virusfood{ pixel_y = 28 @@ -4658,9 +4657,9 @@ /area/centcom/specops) "vl" = ( /obj/structure/table/standard, -/obj/item/weapon/clipboard, -/obj/item/weapon/pen, -/obj/item/weapon/stamp/captain, +/obj/item/clipboard, +/obj/item/pen, +/obj/item/stamp/captain, /turf/simulated/shuttle/floor/black, /area/centcom/evac) "vm" = ( @@ -4737,16 +4736,16 @@ }, /area/centcom/medical) "vC" = ( -/obj/machinery/disease2/diseaseanalyser, /obj/effect/floor_decal/corner/green{ dir = 10 }, +/obj/machinery/computer/pandemic, /turf/unsimulated/floor{ icon_state = "white" }, /area/centcom/medical) "vD" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 30 @@ -4773,7 +4772,7 @@ /area/tdome) "vH" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/unsimulated/floor{ icon_state = "lino" }, @@ -4930,8 +4929,8 @@ /area/centcom/tram) "ww" = ( /obj/structure/table/marble, -/obj/item/weapon/storage/box/glasses/square, -/obj/item/weapon/storage/box/glasses/square, +/obj/item/storage/box/glasses/square, +/obj/item/storage/box/glasses/square, /obj/effect/floor_decal/corner/white/diagonal, /turf/unsimulated/floor{ icon_state = "steel" @@ -4955,10 +4954,10 @@ /area/shuttle/escape) "wE" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/stunrevolver, -/obj/item/weapon/gun/energy/stunrevolver, -/obj/item/device/flash, -/obj/item/device/flash, +/obj/item/gun/energy/stunrevolver, +/obj/item/gun/energy/stunrevolver, +/obj/item/flash, +/obj/item/flash, /obj/item/clothing/accessory/storage/brown_vest, /obj/item/clothing/accessory/storage/brown_vest, /obj/item/clothing/accessory/storage/brown_vest, @@ -4970,12 +4969,12 @@ }, /area/centcom/specops) "wH" = ( -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{ +/obj/item/reagent_containers/glass/beaker/cryoxadone{ pixel_x = -4 }, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone, +/obj/item/reagent_containers/glass/beaker/cryoxadone, /turf/simulated/shuttle/floor/white, /area/centcom/evac) "wN" = ( @@ -5021,19 +5020,19 @@ /area/centcom/main_hall) "wU" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/pill_bottle/tramadol, -/obj/item/weapon/storage/pill_bottle/tramadol, -/obj/item/weapon/storage/pill_bottle/tramadol, -/obj/item/weapon/storage/pill_bottle/dylovene, -/obj/item/weapon/storage/pill_bottle/dylovene, -/obj/item/weapon/storage/pill_bottle/dylovene, -/obj/item/weapon/storage/pill_bottle/dermaline, -/obj/item/weapon/storage/pill_bottle/dermaline, -/obj/item/weapon/storage/pill_bottle/dermaline, -/obj/item/weapon/storage/pill_bottle/spaceacillin, -/obj/item/weapon/storage/pill_bottle/dexalin_plus, -/obj/item/weapon/storage/pill_bottle/dexalin_plus, -/obj/item/weapon/storage/pill_bottle/dexalin_plus, +/obj/item/storage/pill_bottle/tramadol, +/obj/item/storage/pill_bottle/tramadol, +/obj/item/storage/pill_bottle/tramadol, +/obj/item/storage/pill_bottle/dylovene, +/obj/item/storage/pill_bottle/dylovene, +/obj/item/storage/pill_bottle/dylovene, +/obj/item/storage/pill_bottle/dermaline, +/obj/item/storage/pill_bottle/dermaline, +/obj/item/storage/pill_bottle/dermaline, +/obj/item/storage/pill_bottle/spaceacillin, +/obj/item/storage/pill_bottle/dexalin_plus, +/obj/item/storage/pill_bottle/dexalin_plus, +/obj/item/storage/pill_bottle/dexalin_plus, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -5079,8 +5078,8 @@ /area/shuttle/specops) "xh" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/fire, -/obj/item/weapon/extinguisher, +/obj/item/storage/firstaid/fire, +/obj/item/extinguisher, /obj/machinery/camera/network/crescent{ c_tag = "Shuttle Bridge West" }, @@ -5161,7 +5160,7 @@ }, /area/centcom/specops) "xB" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/corner/red/diagonal, /obj/effect/floor_decal/corner/blue/diagonal{ dir = 4 @@ -5212,12 +5211,12 @@ /area/shuttle/administration/centcom) "xJ" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/gloves{ pixel_x = 3; pixel_y = 4 }, -/obj/item/weapon/storage/box/masks, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/storage/box/masks, +/obj/item/reagent_containers/spray/cleaner, /obj/effect/floor_decal/corner/pink/full{ dir = 4 }, @@ -5265,7 +5264,7 @@ /obj/structure/table/rack, /obj/item/clothing/suit/armor/vest/ert/command, /obj/item/clothing/head/helmet/ert/command, -/obj/item/weapon/storage/backpack/ert/commander, +/obj/item/storage/backpack/ert/commander, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -5279,10 +5278,10 @@ /area/centcom/bar) "xX" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/retractor{ +/obj/item/surgical/retractor{ pixel_y = 6 }, -/obj/item/weapon/surgical/scalpel, +/obj/item/surgical/scalpel, /obj/effect/floor_decal/corner/pink{ dir = 5 }, @@ -5467,8 +5466,8 @@ }, /obj/structure/table/rack, /obj/item/clothing/suit/armor/riot, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/shield/riot, +/obj/item/melee/baton/loaded, +/obj/item/shield/riot, /obj/item/clothing/head/helmet/riot, /obj/structure/window/reinforced, /obj/effect/floor_decal/corner/red/full, @@ -5527,8 +5526,8 @@ /area/centcom/terminal) "zl" = ( /obj/structure/table/standard, -/obj/item/device/radio/off, -/obj/item/weapon/paper_bin, +/obj/item/radio/off, +/obj/item/paper_bin, /turf/simulated/shuttle/floor/black, /area/centcom/evac) "zo" = ( @@ -5541,7 +5540,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/reagent_containers/food/snacks/bloodsoup, +/obj/item/reagent_containers/food/snacks/bloodsoup, /turf/unsimulated/floor{ icon_state = "wood" }, @@ -5625,9 +5624,9 @@ /area/centcom/specops) "zN" = ( /obj/structure/table/rack, -/obj/item/weapon/rig/ert/medical, -/obj/item/weapon/rig/ert/medical, -/obj/item/weapon/rig/ert/medical, +/obj/item/rig/ert/medical, +/obj/item/rig/ert/medical, +/obj/item/rig/ert/medical, /obj/item/clothing/accessory/storage/white_vest, /obj/item/clothing/accessory/storage/white_vest, /obj/item/clothing/accessory/storage/white_vest, @@ -5656,22 +5655,22 @@ }, /area/centcom/tram) "zV" = ( -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /turf/unsimulated/floor{ icon_state = "lino" }, /area/tdome/tdomeadmin) "zW" = ( /obj/structure/closet/crate/freezer, -/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh, -/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh, -/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh, -/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh, -/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh, -/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh, -/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh, -/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh, -/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh, +/obj/item/reagent_containers/food/snacks/meat/syntiflesh, +/obj/item/reagent_containers/food/snacks/meat/syntiflesh, +/obj/item/reagent_containers/food/snacks/meat/syntiflesh, +/obj/item/reagent_containers/food/snacks/meat/syntiflesh, +/obj/item/reagent_containers/food/snacks/meat/syntiflesh, +/obj/item/reagent_containers/food/snacks/meat/syntiflesh, +/obj/item/reagent_containers/food/snacks/meat/syntiflesh, +/obj/item/reagent_containers/food/snacks/meat/syntiflesh, +/obj/item/reagent_containers/food/snacks/meat/syntiflesh, /obj/effect/floor_decal/corner/blue{ dir = 5 }, @@ -5770,11 +5769,11 @@ /area/centcom/terminal) "Am" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/syringes{ +/obj/item/storage/box/syringes{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/box/syringes, +/obj/item/storage/box/syringes, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -5811,7 +5810,7 @@ /area/centcom/medical) "Ay" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/green, +/obj/item/bedsheet/green, /obj/effect/floor_decal/corner/green{ dir = 5 }, @@ -5880,11 +5879,11 @@ /area/centcom/command) "AQ" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/toxin{ +/obj/item/storage/firstaid/toxin{ pixel_x = -2; pixel_y = 4 }, -/obj/item/weapon/storage/firstaid/toxin, +/obj/item/storage/firstaid/toxin, /turf/simulated/shuttle/floor/white, /area/centcom/evac) "AR" = ( @@ -5899,7 +5898,7 @@ /obj/item/clothing/shoes/brown, /obj/item/clothing/suit/armor/tdome/green, /obj/item/clothing/head/helmet/thunderdome, -/obj/item/weapon/melee/baton/loaded, +/obj/item/melee/baton/loaded, /turf/unsimulated/floor{ dir = 5; icon_state = "vault" @@ -6024,7 +6023,7 @@ }, /area/centcom/terminal) "Bw" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ broadcasting = 1; dir = 1; frequency = 1441; @@ -6056,9 +6055,9 @@ /area/centcom/medical) "BB" = ( /obj/structure/table/reinforced, -/obj/item/device/aicard, -/obj/item/weapon/pinpointer/advpinpointer, -/obj/item/weapon/stamp/centcomm, +/obj/item/aicard, +/obj/item/pinpointer/advpinpointer, +/obj/item/stamp/centcomm, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -6098,8 +6097,8 @@ /area/shuttle/arrival/pre_game) "BI" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/surgicaldrill, -/obj/item/weapon/surgical/circular_saw, +/obj/item/surgical/surgicaldrill, +/obj/item/surgical/circular_saw, /obj/effect/floor_decal/corner/pink/full{ dir = 1 }, @@ -6119,24 +6118,15 @@ /area/shuttle/transport1/centcom) "BM" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = 2 }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = -2; pixel_y = 4 }, /turf/simulated/shuttle/floor/white, /area/centcom/evac) -"BN" = ( -/obj/machinery/computer/centrifuge, -/obj/effect/floor_decal/corner/green{ - dir = 9 - }, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/centcom/medical) "BO" = ( /obj/structure/bed/chair{ dir = 1 @@ -6235,12 +6225,12 @@ /area/tdome) "Cm" = ( /obj/structure/closet/crate, -/obj/item/weapon/storage/box, -/obj/item/weapon/storage/box, -/obj/item/weapon/storage/box, -/obj/item/weapon/storage/box, -/obj/item/weapon/storage/box, -/obj/item/weapon/storage/box, +/obj/item/storage/box, +/obj/item/storage/box, +/obj/item/storage/box, +/obj/item/storage/box, +/obj/item/storage/box, +/obj/item/storage/box, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -6264,8 +6254,8 @@ /area/centcom/medical) "Cp" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/toxin, +/obj/item/storage/firstaid/toxin, +/obj/item/storage/firstaid/toxin, /obj/effect/floor_decal/corner/green{ dir = 6 }, @@ -6282,7 +6272,7 @@ }, /area/centcom/command) "Cs" = ( -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -6 }, /obj/structure/table/standard, @@ -6308,7 +6298,7 @@ /area/tdome/tdomeadmin) "Cw" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/launcher/rocket, +/obj/item/gun/launcher/rocket, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -6345,8 +6335,8 @@ /area/tdome/tdomeobserve) "CG" = ( /obj/structure/table/marble, -/obj/item/weapon/storage/box/glasses/square, -/obj/item/weapon/storage/box/glasses/square, +/obj/item/storage/box/glasses/square, +/obj/item/storage/box/glasses/square, /obj/effect/floor_decal/corner/blue/diagonal{ dir = 4 }, @@ -6600,12 +6590,12 @@ /obj/item/clothing/glasses/welding/superior, /obj/structure/table/steel_reinforced, /obj/item/clothing/glasses/welding/superior, -/obj/item/weapon/grenade/chem_grenade/metalfoam, -/obj/item/weapon/grenade/chem_grenade/metalfoam, -/obj/item/weapon/grenade/chem_grenade/metalfoam, -/obj/item/weapon/grenade/chem_grenade/metalfoam, -/obj/item/weapon/grenade/chem_grenade/metalfoam, -/obj/item/weapon/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -6785,7 +6775,7 @@ /turf/simulated/shuttle/floor/white, /area/shuttle/escape) "Fa" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -6897,7 +6887,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/reagent_containers/food/snacks/amanita_pie, +/obj/item/reagent_containers/food/snacks/amanita_pie, /turf/unsimulated/floor{ icon_state = "wood" }, @@ -7012,7 +7002,7 @@ /obj/machinery/vending/cigarette{ name = "hacked cigarette machine"; prices = list(); - products = list(/obj/item/weapon/storage/fancy/cigarettes=10,/obj/item/weapon/storage/box/matches=10,/obj/item/weapon/flame/lighter/zippo=4,/obj/item/clothing/mask/smokable/cigarette/cigar/havana=2) + products = list(/obj/item/storage/fancy/cigarettes=10,/obj/item/storage/box/matches=10,/obj/item/flame/lighter/zippo=4,/obj/item/clothing/mask/smokable/cigarette/cigar/havana=2) }, /turf/unsimulated/floor{ dir = 5; @@ -7031,7 +7021,7 @@ /obj/structure/window/reinforced{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 26 @@ -7139,19 +7129,19 @@ /obj/item/stack/material/glass/reinforced{ amount = 50 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 3 }, @@ -7192,8 +7182,8 @@ /area/shuttle/supply) "GP" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/donkpockets, -/obj/item/weapon/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, /obj/machinery/computer/security/telescreen/entertainment{ icon_state = "frame"; pixel_x = 30 @@ -7219,11 +7209,11 @@ }, /obj/structure/window/reinforced, /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/unsimulated/floor{ dir = 5; icon_state = "vault" @@ -7282,11 +7272,11 @@ }, /obj/structure/table/reinforced, /obj/structure/window/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/unsimulated/floor{ dir = 5; icon_state = "vault" @@ -7329,7 +7319,7 @@ }, /area/centcom/security) "HC" = ( -/obj/item/device/taperecorder, +/obj/item/taperecorder, /obj/effect/floor_decal/corner/red/full, /obj/structure/table/reinforced, /turf/unsimulated/floor{ @@ -7372,8 +7362,8 @@ /area/tdome) "HL" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /turf/simulated/shuttle/floor{ icon_state = "floor_red" }, @@ -7435,7 +7425,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/reagent_containers/food/snacks/meatsteak, +/obj/item/reagent_containers/food/snacks/meatsteak, /turf/unsimulated/floor{ icon_state = "wood" }, @@ -7492,7 +7482,7 @@ /area/centcom/command) "In" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/drinks/shaker, +/obj/item/reagent_containers/food/drinks/shaker, /obj/effect/floor_decal/corner/blue/diagonal{ dir = 4 }, @@ -7522,7 +7512,7 @@ /area/shuttle/arrival/pre_game) "Iz" = ( /obj/structure/reagent_dispensers/watertank, -/obj/item/weapon/reagent_containers/glass/bucket{ +/obj/item/reagent_containers/glass/bucket{ amount_per_transfer_from_this = 50 }, /turf/unsimulated/floor{ @@ -7537,8 +7527,8 @@ }, /area/tdome/tdomeadmin) "IC" = ( -/obj/item/weapon/storage/box/evidence, -/obj/item/weapon/folder/red, +/obj/item/storage/box/evidence, +/obj/item/folder/red, /obj/effect/floor_decal/corner/red{ dir = 9 }, @@ -7588,7 +7578,7 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle, /obj/structure/window/reinforced{ dir = 1 }, @@ -7607,8 +7597,8 @@ /area/centcom/command) "IS" = ( /obj/structure/table/reinforced, -/obj/item/weapon/gun/energy/gun/nuclear, -/obj/item/weapon/hand_tele, +/obj/item/gun/energy/gun/nuclear, +/obj/item/hand_tele, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -7644,8 +7634,8 @@ /area/centcom/evac) "Jk" = ( /obj/structure/table/reinforced, -/obj/item/weapon/material/minihoe, -/obj/item/device/analyzer/plant_analyzer, +/obj/item/material/minihoe, +/obj/item/analyzer/plant_analyzer, /obj/effect/floor_decal/corner/orange{ dir = 9 }, @@ -7772,10 +7762,10 @@ /area/centcom/evac) "JI" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/stunrevolver, -/obj/item/weapon/gun/energy/stunrevolver, -/obj/item/device/flash, -/obj/item/device/flash, +/obj/item/gun/energy/stunrevolver, +/obj/item/gun/energy/stunrevolver, +/obj/item/flash, +/obj/item/flash, /obj/item/clothing/accessory/storage/black_vest, /obj/item/clothing/accessory/storage/black_vest, /obj/item/clothing/accessory/storage/black_vest, @@ -7814,15 +7804,15 @@ /area/centcom/security) "JM" = ( /obj/structure/table/reinforced, -/obj/item/weapon/card/id/gold/captain/spare, +/obj/item/card/id/gold/captain/spare, /turf/unsimulated/floor{ icon_state = "steel" }, /area/centcom/command) "JN" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, /obj/effect/floor_decal/corner/beige{ dir = 6 }, @@ -7831,8 +7821,8 @@ }, /area/centcom/medical) "JO" = ( -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /obj/effect/floor_decal/corner/red{ dir = 5 }, @@ -7849,7 +7839,7 @@ }, /area/centcom/specops) "JS" = ( -/obj/item/weapon/mop, +/obj/item/mop, /obj/structure/mopbucket, /turf/unsimulated/floor{ dir = 5; @@ -7906,8 +7896,8 @@ /area/shuttle/escape) "Kf" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/xray, -/obj/item/weapon/gun/energy/xray, +/obj/item/gun/energy/xray, +/obj/item/gun/energy/xray, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -7999,7 +7989,7 @@ /obj/structure/bed/chair{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 26 @@ -8019,8 +8009,8 @@ /area/centcom/bathroom) "KH" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/fire, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/fire, +/obj/item/storage/firstaid/fire{ pixel_x = -2; pixel_y = 4 }, @@ -8048,12 +8038,12 @@ /area/centcom/specops) "KM" = ( /obj/structure/table/reinforced, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -8078,11 +8068,11 @@ /area/centcom/specops) "KP" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/fire{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/firstaid/fire, +/obj/item/storage/firstaid/fire, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -8097,8 +8087,8 @@ /obj/structure/window/reinforced{ dir = 8 }, -/obj/item/weapon/gun/launcher/grenade, -/obj/item/weapon/gun/launcher/grenade, +/obj/item/gun/launcher/grenade, +/obj/item/gun/launcher/grenade, /obj/structure/window/reinforced{ dir = 1 }, @@ -8128,26 +8118,26 @@ /area/centcom/evac) "Lc" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/bodybags{ +/obj/item/storage/box/bodybags{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/box/bodybags, +/obj/item/storage/box/bodybags, /turf/unsimulated/floor{ icon_state = "dark" }, /area/centcom/specops) "Ld" = ( /obj/structure/closet/crate/freezer, -/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh, -/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh, -/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh, -/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh, -/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh, -/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh, -/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh, -/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh, -/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh, +/obj/item/reagent_containers/food/snacks/meat/syntiflesh, +/obj/item/reagent_containers/food/snacks/meat/syntiflesh, +/obj/item/reagent_containers/food/snacks/meat/syntiflesh, +/obj/item/reagent_containers/food/snacks/meat/syntiflesh, +/obj/item/reagent_containers/food/snacks/meat/syntiflesh, +/obj/item/reagent_containers/food/snacks/meat/syntiflesh, +/obj/item/reagent_containers/food/snacks/meat/syntiflesh, +/obj/item/reagent_containers/food/snacks/meat/syntiflesh, +/obj/item/reagent_containers/food/snacks/meat/syntiflesh, /turf/simulated/shuttle/floor/white, /area/centcom/evac) "Lf" = ( @@ -8178,7 +8168,7 @@ /obj/machinery/light{ dir = 4 }, -/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, /turf/simulated/shuttle/floor/red, /area/shuttle/administration/centcom) "Lm" = ( @@ -8240,15 +8230,6 @@ name = "grass" }, /area/centcom/main_hall) -"Lw" = ( -/obj/machinery/computer/diseasesplicer, -/obj/effect/floor_decal/corner/green/full{ - dir = 4 - }, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/centcom/medical) "Ly" = ( /obj/effect/floor_decal/corner/orange{ dir = 6 @@ -8292,12 +8273,12 @@ /area/shuttle/escape) "LQ" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -8406,7 +8387,7 @@ /area/centcom/medical) "MA" = ( /obj/machinery/computer/communications, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; frequency = 1443; name = "Spec Ops Intercom"; @@ -8427,9 +8408,9 @@ /area/centcom/command) "MG" = ( /obj/structure/table/reinforced, -/obj/item/weapon/stamp/centcomm, -/obj/item/weapon/pen, -/obj/item/weapon/paper_bin{ +/obj/item/stamp/centcomm, +/obj/item/pen, +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, @@ -8444,8 +8425,8 @@ /turf/simulated/shuttle/plating, /area/shuttle/escape_pod6/centcom) "ML" = ( -/obj/item/device/multitool, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/multitool, +/obj/item/reagent_containers/spray/cleaner, /obj/structure/table/reinforced, /turf/simulated/shuttle/floor/red, /area/shuttle/administration/centcom) @@ -8453,7 +8434,7 @@ /obj/structure/bed/chair{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -28 @@ -8485,8 +8466,8 @@ /area/centcom/tram) "MS" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /obj/effect/floor_decal/corner/orange{ dir = 10 }, @@ -8523,7 +8504,7 @@ /area/centcom/bar) "MZ" = ( /obj/structure/table/reinforced, -/obj/item/device/pda/ert, +/obj/item/pda/ert, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -8536,7 +8517,7 @@ /area/centcom/terminal) "Nd" = ( /obj/structure/table/standard, -/obj/item/weapon/book/manual/medical_cloning, +/obj/item/book/manual/medical_cloning, /obj/effect/floor_decal/corner/blue{ dir = 10 }, @@ -8546,7 +8527,7 @@ /area/centcom/medical) "Ne" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/sniperrifle, +/obj/item/gun/energy/sniperrifle, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -8583,7 +8564,7 @@ }, /area/centcom/terminal) "No" = ( -/obj/item/weapon/stool, +/obj/item/stool, /turf/simulated/shuttle/floor/red, /area/shuttle/administration/centcom) "Nt" = ( @@ -8601,14 +8582,14 @@ "Nx" = ( /obj/structure/table/standard, /obj/effect/floor_decal/corner/white/diagonal, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, +/obj/item/reagent_containers/food/condiment/small/peppermill, /turf/unsimulated/floor{ icon_state = "steel" }, /area/centcom/restaurant) "Nz" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/handcuffs, +/obj/item/storage/box/handcuffs, /turf/unsimulated/floor{ icon_state = "lino" }, @@ -8756,7 +8737,7 @@ /area/shuttle/arrival/pre_game) "On" = ( /obj/structure/table/reinforced, -/obj/item/weapon/folder/red, +/obj/item/folder/red, /turf/unsimulated/floor{ dir = 5; icon_state = "vault" @@ -8775,7 +8756,7 @@ /area/shuttle/arrival/pre_game) "Oq" = ( /obj/structure/table/rack, -/obj/item/weapon/rig/ert, +/obj/item/rig/ert, /obj/item/clothing/accessory/storage/black_vest, /turf/unsimulated/floor{ icon_state = "dark" @@ -8798,20 +8779,20 @@ dir = 4 }, /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/unsimulated/floor{ dir = 5; icon_state = "vault" }, /area/centcom/terminal) "Ou" = ( -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, /obj/structure/table/standard, /turf/unsimulated/floor{ icon_state = "lino" @@ -8836,12 +8817,12 @@ /area/centcom/specops) "OB" = ( /obj/structure/table/reinforced, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/screwdriver, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/screwdriver, -/obj/item/weapon/tool/wrench, +/obj/item/tool/crowbar, +/obj/item/tool/screwdriver, +/obj/item/tool/wrench, +/obj/item/tool/crowbar, +/obj/item/tool/screwdriver, +/obj/item/tool/wrench, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -8889,12 +8870,12 @@ /area/centcom/terminal) "OI" = ( /obj/structure/table/reinforced, -/obj/item/device/paicard, -/obj/item/device/paicard, -/obj/item/device/paicard, -/obj/item/device/paicard, -/obj/item/device/paicard, -/obj/item/device/paicard, +/obj/item/paicard, +/obj/item/paicard, +/obj/item/paicard, +/obj/item/paicard, +/obj/item/paicard, +/obj/item/paicard, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -8940,10 +8921,10 @@ /obj/item/clothing/head/helmet/ert/engineer, /obj/item/clothing/head/helmet/ert/engineer, /obj/item/clothing/head/helmet/ert/engineer, -/obj/item/weapon/storage/backpack/ert/engineer, -/obj/item/weapon/storage/backpack/ert/engineer, -/obj/item/weapon/storage/backpack/ert/engineer, -/obj/item/weapon/storage/backpack/ert/engineer, +/obj/item/storage/backpack/ert/engineer, +/obj/item/storage/backpack/ert/engineer, +/obj/item/storage/backpack/ert/engineer, +/obj/item/storage/backpack/ert/engineer, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -8965,17 +8946,17 @@ }, /area/centcom/specops) "OT" = ( -/obj/item/weapon/circuitboard/aiupload, -/obj/item/weapon/circuitboard/borgupload, -/obj/item/weapon/circuitboard/smes, -/obj/item/weapon/aiModule/nanotrasen, -/obj/item/weapon/aiModule/reset, -/obj/item/weapon/aiModule/freeformcore, -/obj/item/weapon/aiModule/protectStation, -/obj/item/weapon/aiModule/quarantine, -/obj/item/weapon/aiModule/paladin, -/obj/item/weapon/aiModule/robocop, -/obj/item/weapon/aiModule/safeguard, +/obj/item/circuitboard/aiupload, +/obj/item/circuitboard/borgupload, +/obj/item/circuitboard/smes, +/obj/item/aiModule/nanotrasen, +/obj/item/aiModule/reset, +/obj/item/aiModule/freeformcore, +/obj/item/aiModule/protectStation, +/obj/item/aiModule/quarantine, +/obj/item/aiModule/paladin, +/obj/item/aiModule/robocop, +/obj/item/aiModule/safeguard, /obj/structure/table/steel_reinforced, /turf/unsimulated/floor{ icon_state = "dark" @@ -8983,8 +8964,8 @@ /area/centcom/specops) "OW" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/adv, -/obj/item/weapon/storage/firstaid/adv, +/obj/item/storage/firstaid/adv, +/obj/item/storage/firstaid/adv, /obj/effect/floor_decal/corner/green{ dir = 6 }, @@ -9039,18 +9020,18 @@ /area/centcom/specops) "Ph" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, +/obj/item/storage/belt/security/tactical, /turf/unsimulated/floor{ icon_state = "dark" }, /area/centcom/specops) "Pi" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/corner/red{ dir = 5 }, @@ -9107,11 +9088,11 @@ }, /area/tdome/tdomeobserve) "Pw" = ( -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/gloves{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/box/masks, +/obj/item/storage/box/masks, /obj/structure/table/glass, /obj/effect/floor_decal/corner/green{ dir = 10 @@ -9151,7 +9132,7 @@ /area/centcom/medical) "PF" = ( /obj/machinery/chemical_dispenser/ert, -/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -9172,8 +9153,8 @@ /obj/item/ammo_magazine/m9mmp90, /obj/item/ammo_magazine/m9mmp90, /obj/item/ammo_magazine/m9mmp90, -/obj/item/weapon/gun/projectile/automatic/p90, -/obj/item/weapon/gun/projectile/automatic/p90, +/obj/item/gun/projectile/automatic/p90, +/obj/item/gun/projectile/automatic/p90, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -9197,13 +9178,13 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square, +/obj/item/reagent_containers/food/drinks/glass2/square, /turf/unsimulated/floor{ icon_state = "lino" }, /area/centcom/bar) "PL" = ( -/obj/item/weapon/storage/fancy/cigarettes, +/obj/item/storage/fancy/cigarettes, /obj/structure/table/reinforced, /turf/simulated/shuttle/floor/red, /area/shuttle/administration/centcom) @@ -9224,28 +9205,28 @@ /area/shuttle/administration/centcom) "Qa" = ( /obj/structure/table/reinforced, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/screwdriver, -/obj/item/weapon/tool/wrench, +/obj/item/tool/crowbar, +/obj/item/tool/screwdriver, +/obj/item/tool/wrench, /turf/unsimulated/floor{ icon_state = "dark" }, /area/centcom/specops) "Qd" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/blood/OPlus{ +/obj/item/reagent_containers/blood/OPlus{ pixel_x = 4; pixel_y = 2 }, -/obj/item/weapon/reagent_containers/blood/OPlus{ +/obj/item/reagent_containers/blood/OPlus{ pixel_x = 4; pixel_y = 2 }, -/obj/item/weapon/reagent_containers/blood/OMinus{ +/obj/item/reagent_containers/blood/OMinus{ pixel_x = -5; pixel_y = -1 }, -/obj/item/weapon/reagent_containers/blood/OMinus{ +/obj/item/reagent_containers/blood/OMinus{ pixel_x = -5; pixel_y = -1 }, @@ -9333,56 +9314,56 @@ /area/space) "QA" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline, -/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline, -/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline, -/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline, -/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline, -/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline, +/obj/item/reagent_containers/glass/bottle/inaprovaline, +/obj/item/reagent_containers/glass/bottle/inaprovaline, +/obj/item/reagent_containers/glass/bottle/inaprovaline, +/obj/item/reagent_containers/glass/bottle/inaprovaline, +/obj/item/reagent_containers/glass/bottle/inaprovaline, +/obj/item/reagent_containers/glass/bottle/inaprovaline, /turf/unsimulated/floor{ icon_state = "dark" }, /area/centcom/specops) "QC" = ( /obj/structure/closet/crate/medical, -/obj/item/weapon/surgical/circular_saw, -/obj/item/weapon/surgical/surgicaldrill, -/obj/item/weapon/surgical/bonegel{ +/obj/item/surgical/circular_saw, +/obj/item/surgical/surgicaldrill, +/obj/item/surgical/bonegel{ pixel_x = 4; pixel_y = 3 }, -/obj/item/weapon/surgical/bonesetter, -/obj/item/weapon/surgical/scalpel, -/obj/item/weapon/surgical/retractor{ +/obj/item/surgical/bonesetter, +/obj/item/surgical/scalpel, +/obj/item/surgical/retractor{ pixel_y = 6 }, -/obj/item/weapon/surgical/hemostat{ +/obj/item/surgical/hemostat{ pixel_y = 4 }, -/obj/item/weapon/surgical/cautery{ +/obj/item/surgical/cautery{ pixel_y = 4 }, -/obj/item/weapon/surgical/FixOVein{ +/obj/item/surgical/FixOVein{ pixel_x = -6; pixel_y = 1 }, /obj/item/stack/nanopaste, -/obj/item/weapon/tank/anesthetic, +/obj/item/tank/anesthetic, /obj/item/clothing/mask/breath/medical, /obj/item/clothing/mask/surgical, /obj/item/clothing/mask/surgical, /turf/simulated/shuttle/floor/white, /area/centcom/evac) "QG" = ( -/obj/item/device/camera, +/obj/item/camera, /turf/unsimulated/floor{ icon_state = "lino" }, /area/tdome/tdomeobserve) "QJ" = ( /obj/structure/table/rack, -/obj/item/device/lightreplacer, -/obj/item/device/lightreplacer, +/obj/item/lightreplacer, +/obj/item/lightreplacer, /turf/unsimulated/floor{ dir = 5; icon_state = "vault" @@ -9390,10 +9371,10 @@ /area/centcom/specops) "QM" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/stunrevolver, -/obj/item/weapon/gun/energy/stunrevolver, -/obj/item/device/flash, -/obj/item/device/flash, +/obj/item/gun/energy/stunrevolver, +/obj/item/gun/energy/stunrevolver, +/obj/item/flash, +/obj/item/flash, /obj/item/clothing/accessory/storage/brown_vest, /obj/item/clothing/accessory/storage/brown_vest, /obj/item/clothing/accessory/storage/brown_vest, @@ -9440,7 +9421,7 @@ /area/centcom/evac) "Rb" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery, /turf/simulated/shuttle/floor/red, /area/shuttle/administration/centcom) "Rd" = ( @@ -9518,15 +9499,15 @@ /area/centcom/main_hall) "Rv" = ( /obj/structure/table/reinforced, -/obj/item/device/defib_kit/compact/combat/loaded, -/obj/item/device/defib_kit/compact/combat/loaded, +/obj/item/defib_kit/compact/combat/loaded, +/obj/item/defib_kit/compact/combat/loaded, /turf/unsimulated/floor{ icon_state = "dark" }, /area/centcom/specops) "Rw" = ( /obj/structure/table/reinforced, -/obj/item/device/pda/captain, +/obj/item/pda/captain, /turf/unsimulated/floor{ icon_state = "steel" }, @@ -9541,10 +9522,10 @@ /obj/item/clothing/head/helmet/ert/security, /obj/item/clothing/head/helmet/ert/security, /obj/item/clothing/head/helmet/ert/security, -/obj/item/weapon/storage/backpack/ert/security, -/obj/item/weapon/storage/backpack/ert/security, -/obj/item/weapon/storage/backpack/ert/security, -/obj/item/weapon/storage/backpack/ert/security, +/obj/item/storage/backpack/ert/security, +/obj/item/storage/backpack/ert/security, +/obj/item/storage/backpack/ert/security, +/obj/item/storage/backpack/ert/security, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -9585,7 +9566,7 @@ /obj/effect/floor_decal/corner/green{ dir = 5 }, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/unsimulated/floor{ icon_state = "white" }, @@ -9594,7 +9575,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/reagent_containers/food/snacks/spesslaw, +/obj/item/reagent_containers/food/snacks/spesslaw, /turf/unsimulated/floor{ icon_state = "wood" }, @@ -9624,7 +9605,7 @@ /obj/structure/bed/chair{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_y = -30 @@ -9709,14 +9690,14 @@ /area/shuttle/escape) "St" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical, /turf/unsimulated/floor{ icon_state = "lino" }, /area/tdome/tdomeadmin) "Su" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/FixOVein{ +/obj/item/surgical/FixOVein{ pixel_x = -6; pixel_y = 1 }, @@ -9736,7 +9717,7 @@ /obj/structure/window/reinforced{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -9824,7 +9805,7 @@ /area/centcom/specops) "SL" = ( /obj/structure/bed/chair, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_y = 26 @@ -9833,35 +9814,35 @@ /area/centcom/tram) "SM" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/backpack/security, +/obj/item/storage/backpack/security, /obj/item/clothing/under/syndicate/combat, /obj/item/clothing/shoes/galoshes, /obj/item/clothing/head/bio_hood/janitor, /obj/item/clothing/suit/bio_suit/janitor, /obj/item/clothing/gloves/purple, /obj/item/clothing/glasses/science, -/obj/item/weapon/storage/backpack/security, +/obj/item/storage/backpack/security, /obj/item/clothing/under/syndicate/combat, /obj/item/clothing/shoes/galoshes, /obj/item/clothing/head/bio_hood/janitor, /obj/item/clothing/suit/bio_suit/janitor, /obj/item/clothing/gloves/purple, /obj/item/clothing/glasses/science, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ pixel_x = 6; pixel_y = 3 }, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ pixel_x = 6; pixel_y = 3 }, -/obj/item/weapon/reagent_containers/spray/plantbgone, -/obj/item/weapon/reagent_containers/spray/plantbgone, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, +/obj/item/reagent_containers/spray/plantbgone, +/obj/item/reagent_containers/spray/plantbgone, +/obj/item/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, /turf/unsimulated/floor{ dir = 5; icon_state = "vault" @@ -9886,9 +9867,9 @@ /area/centcom/specops) "ST" = ( /obj/structure/bed/roller, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /obj/structure/closet/secure_closet/medical_wall{ name = "O- Blood Locker"; pixel_x = -32 @@ -9963,11 +9944,11 @@ /area/centcom/medical) "Tg" = ( /obj/structure/closet/crate/medical, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = -2; pixel_y = 4 }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = -2; pixel_y = 4 }, @@ -9977,30 +9958,30 @@ /obj/item/bodybag/cryobag{ pixel_x = 5 }, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ layer = 2.8; pixel_x = 4; pixel_y = 6 }, -/obj/item/weapon/storage/box/masks, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/masks, +/obj/item/storage/box/gloves{ pixel_x = 3; pixel_y = 4 }, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/toxin, +/obj/item/storage/firstaid/fire{ layer = 2.9; pixel_x = 2; pixel_y = 3 }, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ pixel_x = -2 }, -/obj/item/weapon/reagent_containers/blood/empty, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/empty, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /turf/simulated/shuttle/floor/white, /area/shuttle/escape) "Tj" = ( @@ -10082,7 +10063,7 @@ "TA" = ( /obj/item/mecha_parts/mecha_equipment/tool/extinguisher, /obj/item/mecha_parts/mecha_equipment/tool/rcd, -/obj/item/weapon/pickaxe/diamonddrill, +/obj/item/pickaxe/diamonddrill, /obj/structure/table/steel_reinforced, /turf/unsimulated/floor{ icon_state = "plating"; @@ -10105,7 +10086,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/reagent_containers/food/snacks/bigbiteburger, +/obj/item/reagent_containers/food/snacks/bigbiteburger, /turf/unsimulated/floor{ icon_state = "wood" }, @@ -10130,12 +10111,12 @@ /obj/item/clothing/gloves/yellow, /obj/item/clothing/gloves/yellow, /obj/item/clothing/gloves/yellow, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/weapon/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -10171,10 +10152,10 @@ /area/centcom/medical) "Ua" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/cautery{ +/obj/item/surgical/cautery{ pixel_y = 4 }, -/obj/item/weapon/surgical/hemostat{ +/obj/item/surgical/hemostat{ pixel_y = 4 }, /obj/item/stack/nanopaste, @@ -10205,7 +10186,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/reagent_containers/food/snacks/mushroomsoup, +/obj/item/reagent_containers/food/snacks/mushroomsoup, /turf/unsimulated/floor{ icon_state = "wood" }, @@ -10215,7 +10196,7 @@ /turf/simulated/shuttle/floor/white, /area/shuttle/escape) "Um" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/unsimulated/floor{ dir = 5; icon_state = "vault" @@ -10223,23 +10204,23 @@ /area/centcom/specops) "Up" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{ +/obj/item/reagent_containers/glass/beaker/cryoxadone{ pixel_x = 5; pixel_y = 5 }, -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone, -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{ +/obj/item/reagent_containers/glass/beaker/cryoxadone, +/obj/item/reagent_containers/glass/beaker/cryoxadone{ pixel_x = 7; pixel_y = 1 }, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /obj/effect/floor_decal/corner/blue/full, /turf/unsimulated/floor{ icon_state = "white" }, /area/centcom/medical) "Ur" = ( -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 2; pixel_y = 6 }, @@ -10253,7 +10234,7 @@ }, /area/centcom/command) "Us" = ( -/obj/item/weapon/bikehorn/rubberducky, +/obj/item/bikehorn/rubberducky, /turf/unsimulated/floor{ icon_state = "freezerfloor" }, @@ -10320,7 +10301,7 @@ }, /area/centcom/bar) "UF" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/unsimulated/floor{ icon_state = "steel" }, @@ -10348,7 +10329,7 @@ name = "JoinLate" }, /obj/structure/window/reinforced, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 26 @@ -10380,13 +10361,13 @@ /area/centcom/specops) "UU" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/fire, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/fire, +/obj/item/storage/firstaid/regular{ pixel_x = 2; pixel_y = 3 }, -/obj/item/weapon/extinguisher, -/obj/item/weapon/tool/crowbar, +/obj/item/extinguisher, +/obj/item/tool/crowbar, /turf/simulated/shuttle/floor/white, /area/shuttle/escape) "UV" = ( @@ -10407,13 +10388,13 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/storage/briefcase, +/obj/item/storage/briefcase, /turf/unsimulated/floor{ icon_state = "carpet" }, /area/centcom/command) "UZ" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/unsimulated/floor{ icon_state = "white" }, @@ -10422,7 +10403,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/bananapeel, +/obj/item/bananapeel, /turf/unsimulated/floor{ icon_state = "carpet" }, @@ -10496,9 +10477,9 @@ /area/shuttle/escape) "VD" = ( /obj/structure/table/reinforced, -/obj/item/device/megaphone, -/obj/item/weapon/storage/box/trackimp, -/obj/item/weapon/storage/box/cdeathalarm_kit, +/obj/item/megaphone, +/obj/item/storage/box/trackimp, +/obj/item/storage/box/cdeathalarm_kit, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -10566,7 +10547,7 @@ /obj/structure/table/rack, /obj/item/clothing/under/color/red, /obj/item/clothing/shoes/brown, -/obj/item/weapon/melee/energy/axe, +/obj/item/melee/energy/axe, /turf/unsimulated/floor{ dir = 5; icon_state = "vault" @@ -10644,8 +10625,8 @@ /area/centcom/main_hall) "Wf" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/automatic/z8, -/obj/item/weapon/gun/projectile/automatic/z8, +/obj/item/gun/projectile/automatic/z8, +/obj/item/gun/projectile/automatic/z8, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -10697,8 +10678,8 @@ }, /area/centcom/terminal) "Wt" = ( -/obj/item/weapon/autopsy_scanner, -/obj/item/weapon/surgical/scalpel, +/obj/item/autopsy_scanner, +/obj/item/surgical/scalpel, /obj/structure/table/standard, /obj/effect/floor_decal/corner/blue/full{ dir = 4 @@ -10713,8 +10694,8 @@ dir = 4 }, /obj/structure/window/reinforced, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -10772,7 +10753,7 @@ /area/centcom/tram) "WN" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/green, +/obj/item/bedsheet/green, /obj/effect/floor_decal/corner/green/full{ dir = 1 }, @@ -10789,7 +10770,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/reagent_containers/food/snacks/boiledrice, +/obj/item/reagent_containers/food/snacks/boiledrice, /turf/unsimulated/floor{ icon_state = "wood" }, @@ -10861,29 +10842,29 @@ /area/centcom/specops) "Xc" = ( /obj/structure/closet/crate/medical, -/obj/item/weapon/surgical/circular_saw, -/obj/item/weapon/surgical/surgicaldrill, -/obj/item/weapon/surgical/bonegel{ +/obj/item/surgical/circular_saw, +/obj/item/surgical/surgicaldrill, +/obj/item/surgical/bonegel{ pixel_x = 4; pixel_y = 3 }, -/obj/item/weapon/surgical/bonesetter, -/obj/item/weapon/surgical/scalpel, -/obj/item/weapon/surgical/retractor{ +/obj/item/surgical/bonesetter, +/obj/item/surgical/scalpel, +/obj/item/surgical/retractor{ pixel_y = 6 }, -/obj/item/weapon/surgical/hemostat{ +/obj/item/surgical/hemostat{ pixel_y = 4 }, -/obj/item/weapon/surgical/cautery{ +/obj/item/surgical/cautery{ pixel_y = 4 }, -/obj/item/weapon/surgical/FixOVein{ +/obj/item/surgical/FixOVein{ pixel_x = -6; pixel_y = 1 }, /obj/item/stack/nanopaste, -/obj/item/weapon/tank/anesthetic, +/obj/item/tank/anesthetic, /obj/item/clothing/mask/breath/medical, /obj/item/clothing/mask/surgical, /obj/item/clothing/mask/surgical, @@ -10922,12 +10903,12 @@ /area/tdome) "Xs" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -10974,7 +10955,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/reagent_containers/food/snacks/soylenviridians, +/obj/item/reagent_containers/food/snacks/soylenviridians, /turf/unsimulated/floor{ icon_state = "wood" }, @@ -11098,11 +11079,11 @@ /area/shuttle/arrival/pre_game) "Yh" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/machinery/door/window/southright{ name = "Arrivals Processing"; req_access = list(101) @@ -11137,13 +11118,13 @@ /obj/structure/closet{ icon_state = "cabinet_closed" }, -/obj/item/weapon/card/id/centcom, -/obj/item/weapon/card/id/syndicate, -/obj/item/weapon/card/id, -/obj/item/weapon/card/id/gold, -/obj/item/weapon/card/id/silver, -/obj/item/device/pda/captain, -/obj/item/device/pda/ert, +/obj/item/card/id/centcom, +/obj/item/card/id/syndicate, +/obj/item/card/id, +/obj/item/card/id/gold, +/obj/item/card/id/silver, +/obj/item/pda/captain, +/obj/item/pda/ert, /turf/unsimulated/floor{ icon_state = "carpet" }, @@ -11193,16 +11174,16 @@ }, /area/centcom/specops) "YD" = ( -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, /obj/structure/table/standard, /turf/unsimulated/floor{ icon_state = "lino" @@ -11301,9 +11282,9 @@ dir = 8 }, /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/automatic/wt550, -/obj/item/weapon/gun/projectile/automatic/wt550, -/obj/item/weapon/gun/projectile/automatic/wt550, +/obj/item/gun/projectile/automatic/wt550, +/obj/item/gun/projectile/automatic/wt550, +/obj/item/gun/projectile/automatic/wt550, /obj/structure/window/reinforced{ dir = 1 }, @@ -11337,7 +11318,7 @@ }, /area/tdome) "Zg" = ( -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /turf/unsimulated/floor{ icon_state = "lino" }, @@ -11346,7 +11327,7 @@ /obj/structure/table/woodentable{ dir = 5 }, -/obj/item/weapon/reagent_containers/food/snacks/tofukabob, +/obj/item/reagent_containers/food/snacks/tofukabob, /turf/unsimulated/floor{ icon_state = "wood" }, @@ -11364,11 +11345,11 @@ /area/centcom/tram) "Zq" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -11379,7 +11360,7 @@ /obj/item/clothing/shoes/brown, /obj/item/clothing/suit/armor/tdome/red, /obj/item/clothing/head/helmet/thunderdome, -/obj/item/weapon/melee/baton/loaded, +/obj/item/melee/baton/loaded, /turf/unsimulated/floor{ dir = 5; icon_state = "vault" @@ -11409,8 +11390,8 @@ }, /obj/structure/table/rack, /obj/item/clothing/suit/armor/riot, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/shield/riot, +/obj/item/melee/baton/loaded, +/obj/item/shield/riot, /obj/item/clothing/head/helmet/riot, /obj/effect/floor_decal/corner/red{ dir = 9 @@ -11437,7 +11418,7 @@ /area/centcom/evac) "ZG" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/effect/floor_decal/corner/green{ dir = 6 }, @@ -11454,18 +11435,17 @@ /area/centcom/security) "ZL" = ( /obj/structure/table/reinforced, -/obj/item/device/megaphone, -/obj/item/device/megaphone, -/obj/item/device/megaphone, -/obj/item/device/megaphone, -/obj/item/device/megaphone, -/obj/item/device/megaphone, +/obj/item/megaphone, +/obj/item/megaphone, +/obj/item/megaphone, +/obj/item/megaphone, +/obj/item/megaphone, +/obj/item/megaphone, /turf/unsimulated/floor{ icon_state = "dark" }, /area/centcom/specops) "ZN" = ( -/obj/machinery/disease2/isolator, /obj/effect/floor_decal/corner/green/full{ dir = 1 }, @@ -21674,7 +21654,7 @@ Bz VT oQ oQ -BN +oQ tN Lf VT @@ -22162,7 +22142,7 @@ Ac Dd Co rt -Lw +ib VT kL kL diff --git a/maps/yw/cryogaia-02-mining.dmm b/maps/yw/cryogaia-02-mining.dmm index 5f9ccc0cf7d..d482cd8f721 100644 --- a/maps/yw/cryogaia-02-mining.dmm +++ b/maps/yw/cryogaia-02-mining.dmm @@ -227,7 +227,7 @@ /obj/item/clothing/suit/space/void/mining, /obj/item/clothing/mask/breath, /obj/item/clothing/head/helmet/space/void/mining, -/obj/item/weapon/mining_scanner, +/obj/item/mining_scanner, /turf/simulated/floor/tiled, /area/outpost/mining_main/airlock) "aB" = ( @@ -367,12 +367,12 @@ /turf/simulated/floor/plating, /area/rnd/xenobiology/control) "aP" = ( -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -2; pixel_y = 5 }, -/obj/item/weapon/clipboard, -/obj/item/weapon/pen, +/obj/item/clipboard, +/obj/item/pen, /obj/machinery/alarm/yw{ pixel_y = 23 }, @@ -418,8 +418,8 @@ /area/rnd/xenobiology/storage) "aT" = ( /obj/structure/table/standard, -/obj/item/weapon/material/ashtray/glass, -/obj/item/weapon/reagent_containers/food/drinks/coffee, +/obj/item/material/ashtray/glass, +/obj/item/reagent_containers/food/drinks/coffee, /obj/machinery/light, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -449,7 +449,7 @@ /turf/simulated/floor/tiled, /area/gateway) "aY" = ( -/obj/item/weapon/folder, +/obj/item/folder, /obj/item/clothing/glasses/science, /obj/machinery/light_switch{ pixel_y = 28 @@ -494,7 +494,7 @@ /turf/simulated/floor/tiled/white, /area/rnd/outpost/mixing) "be" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24; req_access = list() @@ -532,11 +532,11 @@ /turf/simulated/wall, /area/mine/explored) "bj" = ( -/obj/item/weapon/anodevice{ +/obj/item/anodevice{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/anodevice, +/obj/item/anodevice, /obj/structure/table/steel, /obj/machinery/light{ dir = 4 @@ -610,7 +610,7 @@ d2 = 8; icon_state = "0-8" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -678,7 +678,7 @@ /turf/simulated/floor/tiled/white, /area/outpost/research/hallway/mid) "bB" = ( -/obj/item/weapon/gun/energy/phasegun/pistol, +/obj/item/gun/energy/phasegun/pistol, /obj/structure/table/rack/shelf, /turf/simulated/floor/tiled, /area/rnd/xenobiology/secure) @@ -719,7 +719,7 @@ /area/rnd/outpost/hallway) "bG" = ( /obj/structure/disposalpipe/segment, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -743,7 +743,7 @@ pixel_y = 22 }, /obj/machinery/atmospherics/unary/vent_scrubber/on, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -897,14 +897,14 @@ /area/vacant/vacant_site/east) "bZ" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, /obj/item/clothing/accessory/armband/science, /obj/item/clothing/glasses/science, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, /turf/simulated/floor/plating, /area/rnd/outpost/hallway) "cb" = ( @@ -912,16 +912,16 @@ /area/rnd/xenobiology/secure) "cc" = ( /obj/structure/table/steel, -/obj/item/weapon/tool/screwdriver, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/wrench, +/obj/item/tool/screwdriver, +/obj/item/tool/crowbar, +/obj/item/tool/wrench, /turf/simulated/floor/tiled/asteroid_steel, /area/mine/explored) "cd" = ( /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery, /obj/effect/floor_decal/corner/pink/full{ dir = 4 }, @@ -984,7 +984,7 @@ /obj/structure/table/standard, /obj/item/glass_jar, /obj/item/glass_jar, -/obj/item/weapon/storage/box/syringes, +/obj/item/storage/box/syringes, /turf/simulated/floor/tiled/white, /area/rnd/xenobiology) "cp" = ( @@ -1175,8 +1175,8 @@ /area/rnd/outpost/launch) "cN" = ( /obj/structure/table/glass, -/obj/item/weapon/folder, -/obj/item/weapon/stamp, +/obj/item/folder, +/obj/item/stamp, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, @@ -1443,7 +1443,7 @@ /turf/simulated/floor/tiled/steel_grid, /area/rnd/outpost/launch) "dB" = ( -/obj/item/weapon/pickaxe/silver, +/obj/item/pickaxe/silver, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/mine/explored) "dC" = ( @@ -1598,8 +1598,8 @@ /area/maintenance/research) "dS" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/adv, -/obj/item/weapon/storage/firstaid/adv, +/obj/item/storage/firstaid/adv, +/obj/item/storage/firstaid/adv, /turf/simulated/floor/tiled, /area/gateway) "dU" = ( @@ -1629,13 +1629,13 @@ /area/rnd/xenobiology/storage) "dY" = ( /obj/structure/table/glass, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -2; pixel_y = 5 }, -/obj/item/weapon/clipboard, -/obj/item/weapon/pen, -/obj/item/device/taperecorder, +/obj/item/clipboard, +/obj/item/pen, +/obj/item/taperecorder, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /turf/simulated/floor/wood, /area/outpost/research/hallway/mid) @@ -1707,10 +1707,10 @@ /area/rnd/xenobiology/hallway) "el" = ( /obj/structure/table/rack, -/obj/item/weapon/pickaxe, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/shovel, +/obj/item/pickaxe, +/obj/item/tool/wrench, +/obj/item/tool/crowbar, +/obj/item/shovel, /obj/machinery/light, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, @@ -1981,7 +1981,7 @@ /turf/simulated/floor/tiled, /area/gateway) "eS" = ( -/obj/item/weapon/pickaxe/five_pick, +/obj/item/pickaxe/five_pick, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/mine/explored) "eT" = ( @@ -2018,7 +2018,7 @@ /area/gateway) "eW" = ( /obj/structure/reagent_dispensers/watertank, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /turf/simulated/floor/tiled/white, /area/rnd/xenobiology/xenoflora) "eX" = ( @@ -2028,7 +2028,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 4; pixel_x = -30 }, @@ -2056,8 +2056,8 @@ pixel_y = -32 }, /obj/structure/table/standard, -/obj/item/weapon/storage/box/syringes, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/syringes, +/obj/item/storage/box/gloves{ pixel_x = 4; pixel_y = 4 }, @@ -2120,7 +2120,7 @@ /area/outpost/mining_main/airlock) "fk" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/belt/archaeology, +/obj/item/storage/belt/archaeology, /obj/item/clothing/suit/space/anomaly, /obj/item/clothing/head/helmet/space/anomaly, /obj/item/clothing/mask/breath, @@ -2353,9 +2353,9 @@ /turf/simulated/floor/tiled/white, /area/outpost/research/tempstorage) "fK" = ( -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/tool/crowbar, +/obj/item/tool/wrench, +/obj/item/storage/toolbox/mechanical, /obj/structure/table/steel, /obj/machinery/light, /turf/simulated/floor/tiled, @@ -2463,7 +2463,7 @@ frequency = 1441; pixel_y = 22 }, -/obj/item/device/radio/phone/medbay, +/obj/item/radio/phone/medbay, /turf/simulated/floor/tiled/white, /area/outpost/mining_main/medbay) "fX" = ( @@ -2500,24 +2500,24 @@ /turf/simulated/floor/tiled, /area/outpost/research/isolation_a) "gb" = ( -/obj/item/weapon/anobattery{ +/obj/item/anobattery{ pixel_x = -6; pixel_y = 2 }, -/obj/item/weapon/anobattery{ +/obj/item/anobattery{ pixel_x = -2; pixel_y = -2 }, -/obj/item/weapon/anobattery{ +/obj/item/anobattery{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/anobattery{ +/obj/item/anobattery{ pixel_x = 6; pixel_y = 6 }, /obj/structure/table/steel, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 27 @@ -3259,11 +3259,11 @@ }, /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/structure/table/standard, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /obj/machinery/camera/network/research_outpost{ dir = 8 }, -/obj/item/device/analyzer, +/obj/item/analyzer, /turf/simulated/floor/tiled/white, /area/rnd/outpost/mixing) "hN" = ( @@ -3469,7 +3469,7 @@ /obj/item/clothing/glasses/science, /obj/item/clothing/gloves/sterile/latex, /obj/effect/floor_decal/industrial/hatch/yellow, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = 24 }, @@ -3665,7 +3665,7 @@ /area/outpost/research/atmosia) "iK" = ( /obj/structure/table/steel, -/obj/item/weapon/cell/high, +/obj/item/cell/high, /obj/machinery/light{ dir = 4 }, @@ -3751,7 +3751,7 @@ dir = 6 }, /obj/structure/table/glass, -/obj/item/weapon/storage/box/beakers{ +/obj/item/storage/box/beakers{ pixel_x = 2; pixel_y = 2 }, @@ -3875,7 +3875,7 @@ /turf/simulated/floor/tiled, /area/rnd/xenobiology) "jj" = ( -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ pixel_y = 30 }, /turf/simulated/floor/tiled, @@ -4090,8 +4090,8 @@ /area/outpost/research/hallway/entry) "jO" = ( /obj/structure/table/standard, -/obj/item/weapon/gun/energy/taser/xeno, -/obj/item/device/multitool, +/obj/item/gun/energy/taser/xeno, +/obj/item/multitool, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, @@ -4102,10 +4102,10 @@ /turf/simulated/floor/tiled, /area/outpost/mining_main/refinery) "jS" = ( -/obj/item/weapon/storage/excavation, -/obj/item/weapon/pickaxe, -/obj/item/weapon/tool/wrench, -/obj/item/device/measuring_tape, +/obj/item/storage/excavation, +/obj/item/pickaxe, +/obj/item/tool/wrench, +/obj/item/measuring_tape, /obj/item/stack/flag/yellow, /obj/structure/table/steel, /obj/effect/floor_decal/corner/purple{ @@ -4143,8 +4143,8 @@ /turf/simulated/floor/tiled, /area/outpost/research/anomaly) "jZ" = ( -/obj/item/weapon/material/shard, -/obj/item/device/electronic_assembly/clothing/large, +/obj/item/material/shard, +/obj/item/electronic_assembly/clothing/large, /turf/simulated/floor/tiled/old_tile/gray, /area/vacant/vacant_site/east) "ka" = ( @@ -4546,7 +4546,7 @@ pixel_x = 4 }, /obj/structure/table/steel, -/obj/item/weapon/storage/box/nifsofts_mining, +/obj/item/storage/box/nifsofts_mining, /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/tiled, /area/outpost/mining_main/storage) @@ -4859,7 +4859,7 @@ "lO" = ( /obj/structure/table/glass, /obj/structure/window/reinforced, -/obj/item/weapon/storage/box/beakers{ +/obj/item/storage/box/beakers{ pixel_x = 2; pixel_y = 2 }, @@ -4991,7 +4991,7 @@ /turf/simulated/mineral/cave, /area/vacant/vacant_site/east) "md" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled/white, /area/outpost/research/anomaly_analysis) "me" = ( @@ -5140,8 +5140,8 @@ /area/outpost/research/anomaly_analysis) "mv" = ( /obj/structure/table/standard, -/obj/item/weapon/melee/baton/slime/loaded, -/obj/item/weapon/gun/energy/taser/xeno, +/obj/item/melee/baton/slime/loaded, +/obj/item/gun/energy/taser/xeno, /obj/machinery/alarm/yw{ dir = 4; pixel_x = -25 @@ -5196,7 +5196,7 @@ /area/outpost/research/power) "mD" = ( /obj/structure/table/standard, -/obj/item/weapon/melee/baton/slime/loaded, +/obj/item/melee/baton/slime/loaded, /turf/simulated/floor/tiled/white, /area/rnd/xenobiology) "mE" = ( @@ -5275,7 +5275,7 @@ icon_state = "0-2" }, /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -28 @@ -5371,8 +5371,8 @@ /area/rnd/outpost/launch) "mX" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin, -/obj/item/weapon/tape_roll, +/obj/item/paper_bin, +/obj/item/tape_roll, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, /area/outpost/research/anomaly) @@ -5434,7 +5434,7 @@ /turf/simulated/floor/tiled, /area/rnd/xenobiology/hallway) "ng" = ( -/obj/item/weapon/gun/energy/phasegun/pistol, +/obj/item/gun/energy/phasegun/pistol, /obj/structure/table/rack/shelf, /obj/machinery/camera/network/research{ c_tag = "Secure Xenobiology Storage"; @@ -5588,7 +5588,7 @@ pixel_x = -26; pixel_y = -8 }, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled/white, /area/rnd/outpost/mixing) "nB" = ( @@ -5626,7 +5626,7 @@ /turf/simulated/floor/tiled, /area/gateway) "nE" = ( -/obj/item/weapon/pickaxe/three_pick, +/obj/item/pickaxe/three_pick, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/mine/explored) "nF" = ( @@ -5683,7 +5683,7 @@ /area/rnd/xenobiology/xenoflora_storage) "nM" = ( /obj/structure/table/steel, -/obj/item/weapon/cell/high, +/obj/item/cell/high, /turf/simulated/floor/tiled/asteroid_steel, /area/mine/explored) "nO" = ( @@ -6086,7 +6086,7 @@ /area/rnd/xenobiology/hallway) "oL" = ( /obj/structure/table/standard, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /obj/machinery/atmospherics/pipe/simple/hidden/yellow{ dir = 10 }, @@ -6160,10 +6160,10 @@ /obj/machinery/atmospherics/binary/pump{ dir = 4 }, -/obj/item/device/analyzer/plant_analyzer, -/obj/item/device/analyzer/plant_analyzer, -/obj/item/weapon/material/minihoe, -/obj/item/weapon/material/minihoe, +/obj/item/analyzer/plant_analyzer, +/obj/item/analyzer/plant_analyzer, +/obj/item/material/minihoe, +/obj/item/material/minihoe, /turf/simulated/floor/tiled/hydro, /area/rnd/xenobiology/xenoflora/lab_atmos) "oT" = ( @@ -6263,7 +6263,7 @@ /turf/simulated/floor/tiled/steel_grid, /area/rnd/xenobiology/xenoflora/lab_atmos) "pk" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = 24; req_access = list() }, @@ -6283,7 +6283,7 @@ /turf/simulated/floor/tiled, /area/outpost/mining_main/north_hall) "pn" = ( -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /obj/structure/bed/padded, /obj/structure/cable/blue{ d2 = 4; @@ -6329,7 +6329,7 @@ /turf/simulated/floor/tiled, /area/gateway) "pu" = ( -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 4; pixel_x = -30 }, @@ -6337,15 +6337,15 @@ /area/mine/explored) "pv" = ( /obj/structure/table/standard, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24; req_access = list() }, /obj/item/clothing/glasses/welding, /obj/item/clothing/glasses/welding, -/obj/item/weapon/weldingtool, -/obj/item/weapon/weldingtool, +/obj/item/weldingtool, +/obj/item/weldingtool, /obj/machinery/light{ dir = 1 }, @@ -6398,8 +6398,8 @@ /turf/simulated/floor/tiled/white, /area/outpost/research/hallway/mid) "pB" = ( -/obj/item/weapon/storage/belt/utility, -/obj/item/weapon/pickaxe, +/obj/item/storage/belt/utility, +/obj/item/pickaxe, /obj/structure/table/steel, /obj/machinery/status_display{ layer = 4; @@ -6416,7 +6416,7 @@ /obj/effect/floor_decal/corner/beige/full{ dir = 1 }, -/obj/item/weapon/storage/box/solution_trays, +/obj/item/storage/box/solution_trays, /obj/machinery/alarm/yw{ frequency = 1441; pixel_y = 22 @@ -6518,7 +6518,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 1; pixel_y = -30 }, @@ -6538,7 +6538,7 @@ "pS" = ( /obj/structure/table/rack, /obj/item/clothing/head/welding, -/obj/item/weapon/weldingtool, +/obj/item/weldingtool, /obj/machinery/light{ dir = 4 }, @@ -6607,7 +6607,7 @@ /obj/effect/floor_decal/corner/purple{ dir = 6 }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 8; pixel_x = 30 }, @@ -6749,7 +6749,7 @@ /area/outpost/mining_main/maintenance) "qq" = ( /obj/structure/reagent_dispensers/fueltank, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 1; pixel_y = -30 }, @@ -6826,9 +6826,9 @@ /turf/simulated/floor/tiled, /area/rnd/hallway) "qx" = ( -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /obj/structure/table/standard, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -7031,8 +7031,8 @@ name = "Science Requests Console"; pixel_x = 30 }, -/obj/item/weapon/storage/box/botanydisk, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/storage/box/botanydisk, +/obj/item/reagent_containers/dropper, /turf/simulated/floor/tiled/white, /area/rnd/xenobiology/xenoflora) "qT" = ( @@ -7130,7 +7130,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 27 @@ -7143,14 +7143,14 @@ /obj/effect/floor_decal/techfloor{ dir = 8 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 6 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_y = 3 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = -3 }, /turf/simulated/floor/tiled/techfloor, @@ -7191,15 +7191,15 @@ /area/outpost/mining_main/refinery) "rl" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -2; pixel_y = 5 }, -/obj/item/weapon/pen/blue{ +/obj/item/pen/blue{ pixel_x = -5; pixel_y = -1 }, -/obj/item/weapon/pen/red{ +/obj/item/pen/red{ pixel_x = -1; pixel_y = 3 }, @@ -7567,7 +7567,7 @@ /area/outpost/mining_main/south_hall) "sj" = ( /obj/structure/table/rack, -/obj/item/weapon/pickaxe, +/obj/item/pickaxe, /obj/machinery/light, /turf/simulated/floor/tiled/dark, /area/outpost/mining_north) @@ -7595,7 +7595,7 @@ /area/outpost/research/isolation_c) "sn" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, /turf/simulated/floor/tiled/dark, /area/outpost/mining_north) "sp" = ( @@ -7628,8 +7628,8 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/folder/white, -/obj/item/weapon/folder/white, +/obj/item/folder/white, +/obj/item/folder/white, /obj/machinery/atmospherics/unary/vent_pump/on, /obj/machinery/light{ dir = 8 @@ -7664,7 +7664,7 @@ /area/rnd/hallway) "sx" = ( /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 27 @@ -7929,12 +7929,12 @@ /obj/structure/table/standard, /obj/item/stack/cable_coil, /obj/item/stack/cable_coil, -/obj/item/weapon/tool/wirecutters, +/obj/item/tool/wirecutters, /turf/simulated/floor/tiled/white, /area/rnd/workshop) "tt" = ( /obj/structure/table/reinforced, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /obj/machinery/recharger, /obj/structure/window/reinforced{ dir = 8; @@ -8171,7 +8171,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -8311,10 +8311,10 @@ /area/rnd/xenobiology/xenoflora) "us" = ( /obj/structure/table/reinforced, -/obj/item/device/communicator, -/obj/item/device/communicator, -/obj/item/device/communicator, -/obj/item/device/communicator, +/obj/item/communicator, +/obj/item/communicator, +/obj/item/communicator, +/obj/item/communicator, /obj/machinery/camera/network/command{ c_tag = "Gateway"; dir = 4 @@ -8338,7 +8338,7 @@ /turf/simulated/floor/tiled/white, /area/outpost/research/analysis) "uu" = ( -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /obj/structure/bed/padded, /obj/structure/cable/blue{ d2 = 4; @@ -8363,7 +8363,7 @@ d2 = 4; icon_state = "1-4" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -22 }, @@ -8381,7 +8381,7 @@ dir = 5 }, /obj/machinery/atmospherics/unary/vent_scrubber/on, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -8629,18 +8629,18 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = 24; req_access = list() }, /obj/structure/table/standard, -/obj/item/weapon/folder/white, -/obj/item/weapon/pen/fountain, +/obj/item/folder/white, +/obj/item/pen/fountain, /turf/simulated/floor/tiled, /area/rnd/outpost/launch) "uZ" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/beakers{ +/obj/item/storage/box/beakers{ pixel_x = 2; pixel_y = 2 }, @@ -8845,7 +8845,7 @@ /area/rnd/xenobiology) "vC" = ( /obj/structure/table/standard, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/tiled/dark, /area/outpost/research/isolation_c) "vD" = ( @@ -9018,11 +9018,11 @@ /area/outpost/mining_main/airlock) "wc" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/monkeycubes, -/obj/item/weapon/storage/box/monkeycubes, -/obj/item/weapon/storage/box/monkeycubes, -/obj/item/weapon/storage/box/monkeycubes, -/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped, +/obj/item/storage/box/monkeycubes, +/obj/item/storage/box/monkeycubes, +/obj/item/storage/box/monkeycubes, +/obj/item/storage/box/monkeycubes, +/obj/item/reagent_containers/food/snacks/monkeycube/wrapped, /turf/simulated/floor/tiled/white, /area/rnd/xenobiology) "wd" = ( @@ -9064,7 +9064,7 @@ d2 = 2; icon_state = "1-2" }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 4; pixel_x = -30 }, @@ -9086,7 +9086,7 @@ /area/vacant/vacant_site/east) "wk" = ( /obj/structure/closet/wardrobe/science_white, -/obj/item/weapon/storage/trinketbox, +/obj/item/storage/trinketbox, /turf/simulated/floor/plating, /area/rnd/outpost/hallway) "wl" = ( @@ -9153,8 +9153,8 @@ /area/rnd/outpost/hallway) "wu" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/excavation, -/obj/item/weapon/storage/box/nifsofts_mining, +/obj/item/storage/excavation, +/obj/item/storage/box/nifsofts_mining, /turf/simulated/floor/tiled, /area/outpost/mining_main/storage) "wv" = ( @@ -9175,12 +9175,12 @@ /obj/machinery/camera/network/research{ dir = 4 }, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "We just got the newest shipment of slimes and slime equipment and didn't have time to set up your labs. If you want to start experimenting on them, inject the objects in the pens with some liquid phoron, it seems to activate them. We'll get around to renovating the department at some point."; name = "note from NanoTrasen Xenobiology Oversight" }, /obj/structure/table/standard, -/obj/item/weapon/storage/box/syringes, +/obj/item/storage/box/syringes, /obj/item/clothing/gloves/sterile/latex, /obj/machinery/sparker{ id = "Xenobiofire"; @@ -9211,7 +9211,7 @@ d2 = 2; icon_state = "1-2" }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 4; pixel_x = -30 }, @@ -9561,7 +9561,7 @@ /obj/item/clothing/suit/space/void/mining, /obj/item/clothing/mask/breath, /obj/item/clothing/head/helmet/space/void/mining, -/obj/item/weapon/mining_scanner, +/obj/item/mining_scanner, /obj/machinery/light{ dir = 1 }, @@ -9663,15 +9663,15 @@ /area/rnd/xenobiology/secure) "xG" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -2; pixel_y = 5 }, -/obj/item/weapon/pen/red{ +/obj/item/pen/red{ pixel_x = -1; pixel_y = 3 }, -/obj/item/weapon/pen/blue{ +/obj/item/pen/blue{ pixel_x = -5; pixel_y = -1 }, @@ -9788,7 +9788,7 @@ pixel_y = -22 }, /obj/effect/floor_decal/corner/purple/full, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 4; pixel_x = -30 }, @@ -9827,9 +9827,9 @@ dir = 4 }, /obj/structure/table/standard, -/obj/item/weapon/folder, -/obj/item/device/camera, -/obj/item/weapon/pen, +/obj/item/folder, +/obj/item/camera, +/obj/item/pen, /obj/structure/cable/blue{ d1 = 1; d2 = 2; @@ -10219,7 +10219,7 @@ /turf/simulated/floor/tiled/steel_dirty, /area/rnd/xenobiology/xenoflora_storage) "yR" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -10551,7 +10551,7 @@ /turf/simulated/floor/tiled/steel, /area/rnd/hallway) "zJ" = ( -/obj/item/weapon/storage/backpack/satchel, +/obj/item/storage/backpack/satchel, /obj/structure/table/steel, /turf/simulated/floor/tiled, /area/outpost/mining_main/airlock) @@ -10560,7 +10560,7 @@ /area/rnd/xenobiology/hallway) "zL" = ( /obj/machinery/floodlight, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Common Channel"; pixel_x = 21 @@ -10569,14 +10569,14 @@ /area/gateway) "zM" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, /obj/item/clothing/accessory/armband/science, /obj/item/clothing/glasses/science, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, @@ -10929,7 +10929,7 @@ icon_state = "1-2" }, /obj/structure/disposalpipe/segment, -/obj/item/device/radio/beacon, +/obj/item/radio/beacon, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/tiled, /area/outpost/mining_main/north_hall) @@ -11117,7 +11117,7 @@ /turf/simulated/floor/tiled/white, /area/rnd/xenobiology) "Ba" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /obj/effect/floor_decal/rust, /turf/simulated/floor/tiled/old_tile/gray, /area/vacant/vacant_site/east) @@ -11270,11 +11270,11 @@ /area/outpost/mining_main/north_hall) "Bu" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/firstaid/fire, +/obj/item/storage/firstaid/fire, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, @@ -11404,11 +11404,11 @@ /area/maintenance/research) "BF" = ( /obj/structure/table/glass, -/obj/item/device/camera_film{ +/obj/item/camera_film{ pixel_x = 2; pixel_y = 2 }, -/obj/item/device/camera, +/obj/item/camera, /obj/machinery/atmospherics/pipe/simple/hidden/yellow{ dir = 4 }, @@ -11557,11 +11557,11 @@ dir = 1 }, /obj/structure/table/glass, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/machinery/newscaster{ pixel_x = 28 }, @@ -11614,7 +11614,7 @@ /obj/machinery/camera/network/research{ c_tag = "Xenobotany lab" }, -/obj/item/weapon/storage/box/beakers{ +/obj/item/storage/box/beakers{ pixel_x = 2; pixel_y = 2 }, @@ -11675,8 +11675,8 @@ /area/outpost/research/atmosia) "Ch" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/firstaid/toxin, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/toxin, /obj/machinery/light{ dir = 8 }, @@ -11701,7 +11701,7 @@ pixel_y = 28 }, /obj/structure/table/standard, -/obj/item/device/slime_scanner, +/obj/item/slime_scanner, /obj/structure/cable/blue{ d2 = 2; icon_state = "0-2" @@ -11869,9 +11869,9 @@ /area/maintenance/mining) "CG" = ( /obj/structure/table/rack, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/shovel, +/obj/item/tool/wrench, +/obj/item/tool/crowbar, +/obj/item/shovel, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, /obj/effect/floor_decal/borderfloor/corner2, @@ -11923,7 +11923,7 @@ "CK" = ( /obj/effect/floor_decal/industrial/warning/dust, /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -30 @@ -12018,8 +12018,8 @@ /area/outpost/research/eva) "Da" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/monkeycubes, -/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped, +/obj/item/storage/box/monkeycubes, +/obj/item/reagent_containers/food/snacks/monkeycube/wrapped, /obj/structure/window/reinforced{ dir = 4 }, @@ -12067,7 +12067,7 @@ /area/outpost/research/radio) "Di" = ( /obj/structure/table/glass, -/obj/item/weapon/hand_labeler, +/obj/item/hand_labeler, /obj/structure/disposalpipe/segment, /turf/simulated/floor/wood, /area/outpost/research/hallway/mid) @@ -12198,7 +12198,7 @@ /turf/simulated/floor/tiled, /area/outpost/research/eva) "Dt" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/tiled/old_tile/gray, /area/vacant/vacant_site/east) "Du" = ( @@ -12216,7 +12216,7 @@ /obj/effect/floor_decal/industrial/warning{ dir = 9 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ layer = 4; name = "Station Intercom (General)"; pixel_y = -21 @@ -12561,8 +12561,8 @@ /turf/simulated/floor/tiled/white, /area/outpost/research/exp_prep) "Eq" = ( -/obj/item/weapon/reagent_containers/glass/bottle/toxin, -/obj/item/weapon/reagent_containers/glass/beaker/sulphuric{ +/obj/item/reagent_containers/glass/bottle/toxin, +/obj/item/reagent_containers/glass/beaker/sulphuric{ name = "beaker 'sulphuric acid'" }, /obj/structure/table/glass, @@ -12634,7 +12634,7 @@ /area/outpost/research/atmosia) "Ez" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/belt/archaeology, +/obj/item/storage/belt/archaeology, /obj/item/clothing/suit/space/anomaly, /obj/item/clothing/head/helmet/space/anomaly, /obj/item/clothing/mask/breath, @@ -12726,7 +12726,7 @@ /turf/simulated/floor/plating, /area/rnd/xenobiology) "EG" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /obj/structure/barricade, /obj/structure/cable/blue{ d2 = 8; @@ -13108,8 +13108,8 @@ /area/outpost/research/atmosia) "Fz" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/fountain, +/obj/item/paper_bin, +/obj/item/pen/fountain, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/tiled/white, /area/outpost/research/anomaly_analysis) @@ -13149,15 +13149,15 @@ /area/rnd/xenobiology/xenoflora) "FI" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -2; pixel_y = 5 }, -/obj/item/weapon/pen/red{ +/obj/item/pen/red{ pixel_x = -1; pixel_y = 3 }, -/obj/item/weapon/pen/blue{ +/obj/item/pen/blue{ pixel_x = -5; pixel_y = -1 }, @@ -13177,11 +13177,11 @@ /area/rnd/xenobiology/hallway) "FL" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = 3; pixel_y = 4 }, -/obj/item/weapon/storage/firstaid/toxin, +/obj/item/storage/firstaid/toxin, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, @@ -13189,7 +13189,7 @@ /turf/simulated/floor/tiled/white, /area/outpost/research/medical) "FM" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -13421,7 +13421,7 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/storage/photo_album, +/obj/item/storage/photo_album, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/mine/explored) "Gq" = ( @@ -13687,7 +13687,7 @@ d2 = 8; icon_state = "4-8" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -13745,7 +13745,7 @@ /turf/simulated/floor/tiled, /area/outpost/mining_main/storage) "Hd" = ( -/obj/item/weapon/pickaxe/two_pick, +/obj/item/pickaxe/two_pick, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/mine/explored) "He" = ( @@ -13925,8 +13925,8 @@ /area/rnd/xenobiology) "Hv" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/toolbox/syndicate/powertools, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/syndicate/powertools, +/obj/item/storage/toolbox/mechanical, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/mine/explored) "Hw" = ( @@ -13938,7 +13938,7 @@ /turf/simulated/floor/tiled/white, /area/outpost/mining_main/medbay) "Hx" = ( -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /obj/structure/bed/padded, /turf/simulated/floor/carpet, /area/outpost/mining_main/dorms2) @@ -13948,7 +13948,7 @@ pixel_y = -26 }, /obj/structure/table/standard, -/obj/item/weapon/weldingtool, +/obj/item/weldingtool, /obj/item/clothing/glasses/welding, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -14107,7 +14107,7 @@ /area/gateway) "HQ" = ( /obj/structure/table/standard, -/obj/item/weapon/tape_roll, +/obj/item/tape_roll, /obj/effect/floor_decal/corner/purple{ dir = 10 }, @@ -14408,7 +14408,7 @@ pixel_y = 22 }, /obj/machinery/atmospherics/unary/vent_scrubber/on, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -14422,7 +14422,7 @@ /area/outpost/mining_main/dorms) "IE" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, /obj/machinery/alarm/yw{ dir = 8; pixel_x = 24 @@ -14436,7 +14436,7 @@ /turf/simulated/floor/tiled, /area/rnd/xenobiology/secure) "IG" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -14476,7 +14476,7 @@ /turf/simulated/floor/plating, /area/maintenance/substation/mining) "IL" = ( -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 4; pixel_x = -30 }, @@ -14815,10 +14815,10 @@ /area/rnd/outpost/mixing) "Jy" = ( /obj/structure/table/reinforced, -/obj/item/device/communicator, -/obj/item/device/communicator, -/obj/item/device/communicator, -/obj/item/device/communicator, +/obj/item/communicator, +/obj/item/communicator, +/obj/item/communicator, +/obj/item/communicator, /obj/machinery/light{ dir = 8 }, @@ -14873,7 +14873,7 @@ /obj/machinery/light{ dir = 1 }, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /turf/simulated/floor/tiled/white, /area/rnd/xenobiology/xenoflora) "JF" = ( @@ -14990,7 +14990,7 @@ /obj/effect/floor_decal/corner/purple{ dir = 9 }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 4; pixel_x = -30 }, @@ -15190,7 +15190,7 @@ /turf/simulated/floor/tiled, /area/rnd/hallway) "Ku" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -15321,8 +15321,8 @@ "KG" = ( /obj/structure/table/standard, /obj/item/clothing/gloves/sterile/latex, -/obj/item/weapon/hand_labeler, -/obj/item/device/slime_scanner, +/obj/item/hand_labeler, +/obj/item/slime_scanner, /turf/simulated/floor/tiled/white, /area/rnd/xenobiology) "KH" = ( @@ -15462,7 +15462,7 @@ /area/rnd/outpost/heating) "Lb" = ( /obj/structure/table/standard, -/obj/item/weapon/hand_labeler, +/obj/item/hand_labeler, /obj/machinery/light{ dir = 1 }, @@ -15506,7 +15506,7 @@ /obj/machinery/light{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -15673,7 +15673,7 @@ /turf/simulated/mineral/cave, /area/rnd/xenobiology) "Ly" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/white, /area/outpost/research/analysis) @@ -15861,7 +15861,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -15933,7 +15933,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -16241,7 +16241,7 @@ /area/outpost/research/hallway/mid) "MN" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/floor/tiled, /area/outpost/mining_main/storage) "MO" = ( @@ -16316,7 +16316,7 @@ /area/gateway) "MX" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/dropper{ +/obj/item/reagent_containers/dropper{ pixel_y = -4 }, /obj/effect/floor_decal/industrial/warning, @@ -16786,7 +16786,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Common Channel"; pixel_x = 21 @@ -16814,7 +16814,7 @@ /area/rnd/outpost/launch) "Of" = ( /obj/structure/reagent_dispensers/watertank, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /obj/machinery/status_display{ pixel_y = 30 }, @@ -17032,7 +17032,7 @@ /area/rnd/xenobiology/xenoflora) "OF" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, /obj/machinery/firealarm{ dir = 8; pixel_x = -24 @@ -17113,7 +17113,7 @@ icon_state = "0-2" }, /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -28 @@ -17203,7 +17203,7 @@ /turf/simulated/floor/tiled/white, /area/outpost/research/hallway/mid) "OY" = ( -/obj/item/device/electronic_assembly/clothing/large, +/obj/item/electronic_assembly/clothing/large, /mob/living/simple_mob/animal/space/carp/large, /turf/simulated/floor/tiled/old_tile/gray, /area/vacant/vacant_site/east) @@ -17229,13 +17229,13 @@ /area/outpost/research/exp_prep) "Pc" = ( /obj/structure/table/standard, -/obj/item/weapon/folder/red{ +/obj/item/folder/red{ pixel_y = 3 }, -/obj/item/weapon/folder/blue{ +/obj/item/folder/blue{ pixel_x = 5 }, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, /obj/structure/window/reinforced{ dir = 8; health = 1e+006 @@ -17251,7 +17251,7 @@ /area/outpost/mining_north) "Pe" = ( /obj/structure/grille/broken, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/tiled/old_tile/gray, /area/vacant/vacant_site/east) "Pg" = ( @@ -17531,7 +17531,7 @@ icon_state = "1-2" }, /obj/structure/disposalpipe/segment, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -17543,11 +17543,11 @@ /area/outpost/research/hallway/mid) "PK" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/firstaid/fire, +/obj/item/storage/firstaid/fire, /obj/effect/floor_decal/corner/paleblue/full, /turf/simulated/floor/tiled/white, /area/outpost/mining_main/medbay) @@ -17716,8 +17716,8 @@ /area/outpost/research/anomaly_analysis) "Ql" = ( /obj/structure/table/standard, -/obj/item/weapon/flame/lighter/random, -/obj/item/weapon/tool/crowbar, +/obj/item/flame/lighter/random, +/obj/item/tool/crowbar, /turf/simulated/floor/tiled/white, /area/outpost/research/anomaly_analysis) "Qm" = ( @@ -17757,7 +17757,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/black{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = -24 }, @@ -17785,8 +17785,8 @@ pixel_y = 32 }, /obj/structure/table/standard, -/obj/item/weapon/gun/energy/taser/xeno, -/obj/item/weapon/melee/baton/slime/loaded, +/obj/item/gun/energy/taser/xeno, +/obj/item/melee/baton/slime/loaded, /turf/simulated/floor/tiled/white, /area/rnd/xenobiology) "Qx" = ( @@ -17849,7 +17849,7 @@ /area/outpost/mining_main/airlock) "QD" = ( /obj/structure/table/standard, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/tiled/dark, /area/outpost/research/isolation_b) "QE" = ( @@ -17908,7 +17908,7 @@ /area/outpost/mining_main/south_hall) "QM" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/secure/briefcase, +/obj/item/storage/secure/briefcase, /turf/simulated/floor/tiled/white, /area/rnd/lockers) "QN" = ( @@ -17996,8 +17996,8 @@ dir = 6 }, /obj/structure/table/glass, -/obj/item/weapon/clipboard, -/obj/item/weapon/folder/white, +/obj/item/clipboard, +/obj/item/folder/white, /turf/simulated/floor/tiled/white, /area/rnd/xenobiology/xenoflora) "QV" = ( @@ -18094,10 +18094,10 @@ "Ri" = ( /obj/structure/table/standard, /obj/machinery/cell_charger, -/obj/item/weapon/tool/screwdriver{ +/obj/item/tool/screwdriver{ pixel_y = 15 }, -/obj/item/weapon/melee/baton/loaded, +/obj/item/melee/baton/loaded, /obj/machinery/alarm/yw{ dir = 8; pixel_x = 24 @@ -18108,7 +18108,7 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/paper_bin, +/obj/item/paper_bin, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/mine/explored) "Rk" = ( @@ -18123,7 +18123,7 @@ /turf/simulated/floor/tiled, /area/gateway) "Rp" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -18172,14 +18172,14 @@ /area/rnd/xenobiology/xenoflora/lab_atmos) "Rv" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer{ +/obj/item/reagent_containers/food/drinks/bottle/small/beer{ pixel_x = 2; pixel_y = 3 }, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer{ +/obj/item/reagent_containers/food/drinks/bottle/small/beer{ pixel_x = 5 }, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, /turf/simulated/floor/tiled/dark, /area/outpost/mining_main/break_room) "Rw" = ( @@ -18232,7 +18232,7 @@ /area/outpost/research/longtermstorage) "RE" = ( /obj/structure/table/reinforced, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /obj/machinery/recharger, /obj/structure/window/reinforced{ dir = 4 @@ -18462,9 +18462,9 @@ /area/rnd/outpost/mixing) "Sj" = ( /obj/structure/table/glass, -/obj/item/weapon/tape_roll, -/obj/item/device/analyzer/plant_analyzer, -/obj/item/weapon/material/minihoe, +/obj/item/tape_roll, +/obj/item/analyzer/plant_analyzer, +/obj/item/material/minihoe, /turf/simulated/floor/tiled/white, /area/rnd/xenobiology/xenoflora) "Sm" = ( @@ -18505,14 +18505,14 @@ dir = 1 }, /obj/structure/table/standard, -/obj/item/weapon/tool/wrench{ +/obj/item/tool/wrench{ pixel_x = 2; pixel_y = 2 }, /obj/effect/floor_decal/corner/purple{ dir = 10 }, -/obj/item/weapon/tool/wrench{ +/obj/item/tool/wrench{ pixel_x = -2; pixel_y = -2 }, @@ -18632,14 +18632,14 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/tank/oxygen, -/obj/item/weapon/tank/oxygen, +/obj/item/tank/oxygen, +/obj/item/tank/oxygen, /obj/item/clothing/mask/breath, /obj/item/clothing/mask/breath, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/extinguisher, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/storage/box/lights/mixed, +/obj/item/extinguisher, /turf/simulated/floor/plating, /area/outpost/mining_main/maintenance) "SA" = ( @@ -18883,7 +18883,7 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/clipboard, +/obj/item/clipboard, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/mine/explored) "Td" = ( @@ -19029,7 +19029,7 @@ /area/outpost/mining_main/north_hall) "Tv" = ( /obj/machinery/suspension_gen, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -19237,7 +19237,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 1; pixel_y = -30 }, @@ -19578,8 +19578,8 @@ "UE" = ( /obj/structure/table/rack, /obj/item/clothing/mask/breath, -/obj/item/weapon/mining_scanner, -/obj/item/weapon/rig/industrial/equipped, +/obj/item/mining_scanner, +/obj/item/rig/industrial/equipped, /turf/simulated/floor/tiled, /area/outpost/mining_main/storage) "UF" = ( @@ -19766,10 +19766,10 @@ /turf/simulated/floor/tiled/white, /area/rnd/xenobiology/surgery) "Vg" = ( -/obj/item/weapon/pickaxe, +/obj/item/pickaxe, /obj/structure/table/steel, /obj/machinery/atmospherics/unary/vent_pump/on, -/obj/item/weapon/storage/belt/utility, +/obj/item/storage/belt/utility, /turf/simulated/floor/tiled, /area/outpost/mining_main/storage) "Vh" = ( @@ -19966,7 +19966,7 @@ /turf/simulated/floor/tiled, /area/rnd/xenobiology) "VN" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/atmospherics/pipe/simple/hidden/yellow{ dir = 5 }, @@ -19982,11 +19982,11 @@ /area/mine/explored) "VP" = ( /obj/structure/table/standard, -/obj/item/weapon/clipboard, -/obj/item/weapon/folder, -/obj/item/weapon/pen, -/obj/item/weapon/melee/baton/slime/loaded, -/obj/item/weapon/gun/energy/taser/xeno, +/obj/item/clipboard, +/obj/item/folder, +/obj/item/pen, +/obj/item/melee/baton/slime/loaded, +/obj/item/gun/energy/taser/xeno, /obj/structure/window/reinforced, /turf/simulated/floor/tiled/dark, /area/rnd/xenobiology/secure) @@ -20022,7 +20022,7 @@ dir = 1 }, /obj/structure/table/standard, -/obj/item/device/analyzer, +/obj/item/analyzer, /obj/machinery/camera/network/research_outpost{ dir = 1 }, @@ -20189,7 +20189,7 @@ c_tag = "OPM - Mining Hallway Aft"; dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -20222,7 +20222,7 @@ /area/outpost/research/anomaly_analysis) "Wp" = ( /obj/structure/table/standard, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/tiled/dark, /area/outpost/research/isolation_a) "Wq" = ( @@ -20315,13 +20315,13 @@ /area/rnd/xenobiology/secure) "WB" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/fountain, +/obj/item/paper_bin, +/obj/item/pen/fountain, /turf/simulated/floor/tiled/white, /area/outpost/research/radio) "WC" = ( -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/dropper{ +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/dropper{ pixel_y = -4 }, /obj/structure/table/glass, @@ -20393,11 +20393,11 @@ /obj/effect/floor_decal/corner/purple{ dir = 5 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = 24; req_access = list() }, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /turf/simulated/floor/tiled/white, /area/rnd/outpost/mixing) "WK" = ( @@ -20496,12 +20496,12 @@ /turf/simulated/floor/tiled/steel, /area/outpost/mining_north) "WU" = ( -/obj/item/weapon/shreddedp, +/obj/item/shreddedp, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/mine/explored) "WV" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 }, @@ -20618,7 +20618,7 @@ /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/mine/explored) "Xi" = ( -/obj/item/weapon/pickaxe/six_pick, +/obj/item/pickaxe/six_pick, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/mine/explored) "Xk" = ( @@ -20726,7 +20726,7 @@ /obj/machinery/alarm/yw{ pixel_y = 24 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -20766,8 +20766,8 @@ /area/rnd/outpost/mixing) "XA" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/cups, -/obj/item/weapon/storage/box/glasses/square{ +/obj/item/storage/box/cups, +/obj/item/storage/box/glasses/square{ pixel_x = 1; pixel_y = 4 }, @@ -20870,14 +20870,14 @@ /area/rnd/xenobiology/control) "XM" = ( /obj/structure/table/rack, -/obj/item/weapon/mining_scanner, +/obj/item/mining_scanner, /turf/simulated/floor/tiled, /area/outpost/mining_main/storage) "XO" = ( /obj/machinery/newscaster{ pixel_y = -30 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -20887,8 +20887,8 @@ "XP" = ( /obj/machinery/light, /obj/structure/closet/excavation, -/obj/item/device/multitool, -/obj/item/device/multitool, +/obj/item/multitool, +/obj/item/multitool, /turf/simulated/floor/tiled, /area/gateway) "XS" = ( @@ -21034,7 +21034,7 @@ /area/outpost/research/anomaly_analysis) "Yj" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /obj/machinery/light/small{ dir = 8 }, @@ -21061,7 +21061,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ pixel_y = 30 }, /turf/simulated/floor/tiled/steel, @@ -21091,15 +21091,15 @@ /area/vacant/vacant_site/east) "Yq" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -2; pixel_y = 5 }, -/obj/item/weapon/pen/red{ +/obj/item/pen/red{ pixel_x = -1; pixel_y = 3 }, -/obj/item/weapon/pen/blue{ +/obj/item/pen/blue{ pixel_x = -5; pixel_y = -1 }, @@ -21220,8 +21220,8 @@ /area/outpost/research/eva) "YF" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/firstaid/toxin, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/toxin, /obj/effect/floor_decal/corner/pink{ dir = 5 }, @@ -21314,7 +21314,7 @@ /area/maintenance/substation/outpost) "YR" = ( /obj/structure/table/glass, -/obj/item/weapon/tape_roll, +/obj/item/tape_roll, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/wood, /area/outpost/research/hallway/mid) @@ -21343,8 +21343,8 @@ /area/outpost/research/atmosia) "YW" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/hand_labeler, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/hand_labeler, /turf/simulated/floor/tiled/white, /area/rnd/xenobiology) "YX" = ( @@ -21590,8 +21590,8 @@ /area/outpost/research/hallway/mid) "Zy" = ( /obj/structure/table/standard, -/obj/item/weapon/tool/screwdriver, -/obj/item/device/assembly_holder/timer_igniter, +/obj/item/tool/screwdriver, +/obj/item/assembly_holder/timer_igniter, /obj/machinery/camera/network/research_outpost{ dir = 4 }, @@ -21757,7 +21757,7 @@ icon_state = "4-8" }, /obj/effect/decal/cleanable/dirt, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 1; pixel_y = -30 }, @@ -21784,10 +21784,10 @@ /area/outpost/mining_main/west_hall) "ZW" = ( /obj/structure/table/standard, -/obj/item/weapon/folder/blue{ +/obj/item/folder/blue{ pixel_x = 5 }, -/obj/item/weapon/folder/red{ +/obj/item/folder/red{ pixel_y = 3 }, /obj/machinery/alarm/yw{ @@ -21795,13 +21795,13 @@ pixel_x = 25 }, /obj/item/clothing/glasses/science, -/obj/item/weapon/reagent_containers/syringe, +/obj/item/reagent_containers/syringe, /turf/simulated/floor/tiled/white, /area/rnd/xenobiology) "ZX" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /turf/simulated/floor/tiled, /area/gateway) "ZY" = ( @@ -21817,7 +21817,7 @@ /area/rnd/test_area) "ZZ" = ( /obj/structure/table/rack, -/obj/item/weapon/pickaxe, +/obj/item/pickaxe, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/mine/explored) diff --git a/maps/yw/cryogaia-04-maintenance.dmm b/maps/yw/cryogaia-04-maintenance.dmm index 54301e28424..f5782cc2663 100644 --- a/maps/yw/cryogaia-04-maintenance.dmm +++ b/maps/yw/cryogaia-04-maintenance.dmm @@ -3,8 +3,7 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/device/antibody_scanner, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, /obj/effect/floor_decal/corner/lime, /obj/machinery/atmospherics/unary/vent_pump/siphon/on/atmos/relief{ dir = 8 @@ -75,7 +74,7 @@ /area/maintenance/aft) "aco" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/beakers, +/obj/item/storage/box/beakers, /turf/simulated/floor/tiled/white, /area/hydroponics) "acO" = ( @@ -131,7 +130,7 @@ pixel_y = 32 }, /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_6) "afr" = ( @@ -238,8 +237,8 @@ /area/hallway/lower/dorms) "aik" = ( /obj/structure/table/rack, -/obj/item/weapon/flame/lighter/random, -/obj/item/weapon/storage/fancy/cigarettes/dromedaryco, +/obj/item/flame/lighter/random, +/obj/item/storage/fancy/cigarettes/dromedaryco, /obj/random/maintenance/clean, /turf/simulated/floor/plating, /area/mine/explored/lower_rock) @@ -351,7 +350,7 @@ "alh" = ( /obj/structure/table/woodentable, /obj/structure/safe/floor, -/obj/item/weapon/storage/toolbox/brass, +/obj/item/storage/toolbox/brass, /turf/simulated/floor/tiled/techfloor, /area/maintenance/aft) "alj" = ( @@ -405,7 +404,7 @@ "amT" = ( /obj/structure/table/woodentable, /obj/effect/decal/cleanable/dirt, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, @@ -425,9 +424,9 @@ dir = 1 }, /obj/item/clothing/suit/fire/firefighter, -/obj/item/weapon/tank/oxygen, +/obj/item/tank/oxygen, /obj/item/clothing/mask/gas, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /obj/item/clothing/head/hardhat/red, /obj/item/clothing/glasses/meson, /turf/simulated/floor/plating, @@ -549,8 +548,8 @@ /area/rnd/lab) "atI" = ( /obj/structure/table/steel, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/screwdriver, +/obj/item/tool/crowbar, +/obj/item/tool/screwdriver, /obj/effect/decal/cleanable/cobweb, /turf/simulated/floor/tiled/techfloor/grid, /area/maintenance/maintroom5) @@ -607,7 +606,7 @@ /obj/item/honey_frame, /obj/item/honey_frame, /obj/item/bee_pack, -/obj/item/weapon/tool/crowbar, +/obj/item/tool/crowbar, /turf/simulated/floor/tiled/dark, /area/hydroponics) "avh" = ( @@ -776,7 +775,7 @@ network = list("Miscellaneous Reseach"); pixel_x = 32 }, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/corner/purple, /obj/structure/cable{ icon_state = "2-8" @@ -888,7 +887,7 @@ /turf/simulated/floor/water/deep/indoors, /area/mine/explored/lower_rock) "aDD" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 @@ -1032,8 +1031,8 @@ pixel_y = 32; shut_up = 0 }, -/obj/item/weapon/tool/wirecutters, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wirecutters, +/obj/item/tool/wrench, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/tiled/techfloor/grid, /area/maintenance/maintroom5) @@ -1075,7 +1074,7 @@ /area/security/perma/bathroom) "aKv" = ( /obj/structure/table/standard, -/obj/item/weapon/material/knife/butch, +/obj/item/material/knife/butch, /turf/simulated/floor/tiled/white, /area/maintenance/maintroom1) "aKE" = ( @@ -1179,7 +1178,7 @@ /obj/machinery/light/small{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ broadcasting = 1; dir = 1; frequency = 1480; @@ -1255,7 +1254,7 @@ d2 = 8; icon_state = "4-8" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -1279,7 +1278,7 @@ /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_4) "aNJ" = ( -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 8; pixel_x = 30 }, @@ -1348,7 +1347,7 @@ "aOE" = ( /obj/structure/table/steel, /obj/machinery/microwave, -/obj/item/weapon/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, /turf/simulated/floor/wood, /area/maintenance/lowfloor1) "aOF" = ( @@ -1358,7 +1357,7 @@ /turf/simulated/floor/plating, /area/vacant/vacant_shop) "aOI" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled/techfloor, /area/maintenance/starboard) "aOK" = ( @@ -1379,8 +1378,8 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/device/radio/headset, -/obj/item/device/radio/headset, +/obj/item/radio/headset, +/obj/item/radio/headset, /turf/simulated/floor/tiled/white, /area/medical/virology) "aPa" = ( @@ -1497,7 +1496,7 @@ /turf/simulated/floor/reinforced, /area/tcomfoyer) "aRQ" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, /turf/simulated/floor/wood/alt/tile, @@ -1577,10 +1576,10 @@ /area/medical/biostorage2) "aUh" = ( /obj/structure/closet/crate, -/obj/item/weapon/deck/tarot, -/obj/item/weapon/coin/gold, -/obj/item/weapon/storage/fancy/cigarettes/dromedaryco, -/obj/item/weapon/flame/lighter/zippo, +/obj/item/deck/tarot, +/obj/item/coin/gold, +/obj/item/storage/fancy/cigarettes/dromedaryco, +/obj/item/flame/lighter/zippo, /obj/effect/floor_decal/industrial/warning/corner{ dir = 1 }, @@ -1658,9 +1657,9 @@ /area/cryogaia/outpost/tower/west) "aWX" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/extinguisher, +/obj/item/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, +/obj/item/extinguisher, /turf/simulated/floor/plating, /area/maintenance/medical_lower) "aXd" = ( @@ -1779,7 +1778,7 @@ /area/engineering/atmos) "bbe" = ( /obj/structure/bed/chair/comfy/black, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Common Channel"; pixel_x = 21 @@ -1881,7 +1880,7 @@ /turf/simulated/floor/carpet, /area/library) "beZ" = ( -/obj/item/weapon/tool/crowbar, +/obj/item/tool/crowbar, /turf/simulated/floor/plating, /area/vacant/vacant_shop) "bfe" = ( @@ -2052,14 +2051,14 @@ "bif" = ( /obj/effect/decal/cleanable/dirt, /obj/random/trash_pile, -/obj/item/weapon/glass_extra/straw{ +/obj/item/glass_extra/straw{ pixel_y = -4 }, -/obj/item/weapon/glass_extra/straw{ +/obj/item/glass_extra/straw{ pixel_x = -5; pixel_y = 5 }, -/obj/item/weapon/glass_extra/straw{ +/obj/item/glass_extra/straw{ pixel_x = 11; pixel_y = -2 }, @@ -2274,7 +2273,7 @@ /turf/simulated/floor/tiled/white, /area/medical/virology) "bnK" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, @@ -2376,11 +2375,11 @@ pixel_y = 32 }, /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/packageWrap, +/obj/item/packageWrap, /turf/simulated/floor/wood, /area/library_conference_room) "bsg" = ( @@ -2599,7 +2598,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/item/weapon/weldingtool, +/obj/item/weldingtool, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, /area/vacant/vacant_site/locker) @@ -2659,8 +2658,8 @@ }, /obj/structure/closet/emcloset, /obj/machinery/light, -/obj/item/weapon/storage/toolbox/emergency, -/obj/item/weapon/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, /obj/machinery/firealarm{ dir = 1; pixel_y = -26 @@ -2775,8 +2774,8 @@ /area/maintenance/aft) "bGI" = ( /obj/structure/safe/floor, -/obj/item/device/radio_jammer, -/obj/item/weapon/storage/box/camerabug, +/obj/item/radio_jammer, +/obj/item/storage/box/camerabug, /turf/simulated/floor/wood, /area/vacant/vacant_site/private) "bGJ" = ( @@ -2822,7 +2821,7 @@ }, /area/tcommsat/chamber) "bHT" = ( -/obj/item/weapon/glass_extra/straw{ +/obj/item/glass_extra/straw{ pixel_y = -4 }, /turf/simulated/floor, @@ -2869,7 +2868,7 @@ /obj/structure/bed/chair/wood{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -2940,7 +2939,7 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/storage/box/cups, +/obj/item/storage/box/cups, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, @@ -3104,7 +3103,7 @@ name = "Virology Emergency Quarantine Blast Doors"; opacity = 0 }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 1; pixel_y = -30 }, @@ -3267,7 +3266,7 @@ d2 = 8; icon_state = "4-8" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -3354,7 +3353,7 @@ "bXb" = ( /obj/structure/closet/crate, /obj/item/clothing/glasses/meson/prescription, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /obj/random/maintenance/security, /obj/random/maintenance/security, /obj/random/maintenance/security, @@ -3371,10 +3370,10 @@ }, /area/tcommsat/chamber) "bXm" = ( -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris, -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris, -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris, -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris, +/obj/item/reagent_containers/food/snacks/grown/ambrosiavulgaris, +/obj/item/reagent_containers/food/snacks/grown/ambrosiavulgaris, +/obj/item/reagent_containers/food/snacks/grown/ambrosiavulgaris, +/obj/item/reagent_containers/food/snacks/grown/ambrosiavulgaris, /obj/effect/floor_decal/techfloor{ dir = 1 }, @@ -3441,7 +3440,7 @@ /turf/simulated/floor/tiled, /area/security/prison) "bZj" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -3464,7 +3463,7 @@ /area/civilian/atrium/lower) "bZA" = ( /obj/structure/closet, -/obj/item/weapon/storage/backpack, +/obj/item/storage/backpack, /obj/random/maintenance/medical, /obj/random/maintenance/medical, /obj/random/maintenance/medical, @@ -3477,7 +3476,7 @@ /obj/machinery/light/small{ dir = 4 }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 1; pixel_y = -30 }, @@ -3510,7 +3509,7 @@ /obj/structure/disposalpipe/trunk{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Common Channel"; pixel_y = -21 }, @@ -3579,7 +3578,7 @@ /turf/simulated/floor/tiled, /area/hallway/lower/fore) "ccr" = ( -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 8; pixel_x = 30 }, @@ -3624,7 +3623,7 @@ /obj/structure/table/rack{ dir = 4 }, -/obj/item/weapon/storage/photo_album, +/obj/item/storage/photo_album, /turf/simulated/floor/plating, /area/vacant/vacant_shop) "cdN" = ( @@ -3694,7 +3693,7 @@ }, /obj/effect/decal/cleanable/dirt, /obj/machinery/recharger, -/obj/item/weapon/cell/device, +/obj/item/cell/device, /turf/simulated/floor/tiled/steel_dirty, /area/maintenance/medical_lower) "cfT" = ( @@ -3707,7 +3706,7 @@ dir = 4; pixel_x = -22 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ broadcasting = 1; frequency = 1447; name = "Private AI Channel"; @@ -3795,25 +3794,25 @@ /area/crew_quarters/sleep/Dorm_8) "cin" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = 8; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = -8; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = 8; pixel_y = 4 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_y = 4 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/square{ +/obj/item/reagent_containers/food/drinks/glass2/square{ pixel_x = -8; pixel_y = 4 }, @@ -3952,7 +3951,7 @@ /turf/simulated/floor/plating, /area/rnd/lab) "clW" = ( -/obj/item/weapon/pickaxe, +/obj/item/pickaxe, /turf/simulated/floor/tiled/techfloor, /area/maintenance/fish) "cmi" = ( @@ -4027,7 +4026,7 @@ /obj/effect/floor_decal/corner/lime{ dir = 5 }, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ pixel_y = -24 }, /turf/simulated/floor/tiled/white, @@ -4061,7 +4060,7 @@ /turf/simulated/floor/tiled/steel_dirty, /area/rnd/storage) "cpt" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled/freezer, /area/crew_quarters/pool) "cqt" = ( @@ -4186,12 +4185,12 @@ /area/cryogaia/outpost/tower/northwest) "csR" = ( /obj/structure/table/steel, -/obj/item/weapon/dice, +/obj/item/dice, /obj/machinery/camera/network/prison{ c_tag = "Prison West"; dir = 1 }, -/obj/item/weapon/deck/cards, +/obj/item/deck/cards, /obj/machinery/stationboiler_radiator, /turf/simulated/floor/tiled, /area/security/perma) @@ -4220,7 +4219,7 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, @@ -4246,10 +4245,10 @@ /area/rnd/lab) "cum" = ( /obj/structure/table/standard, -/obj/item/weapon/stock_parts/subspace/amplifier, -/obj/item/weapon/stock_parts/subspace/amplifier, -/obj/item/weapon/stock_parts/subspace/amplifier, -/obj/item/device/radio/intercom{ +/obj/item/stock_parts/subspace/amplifier, +/obj/item/stock_parts/subspace/amplifier, +/obj/item/stock_parts/subspace/amplifier, +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_x = 29 }, @@ -4346,12 +4345,10 @@ /area/crew_quarters/sleep/engi_wash) "cwj" = ( /obj/structure/closet/crate/freezer, -/obj/item/weapon/virusdish/random, -/obj/item/weapon/virusdish/random, -/obj/item/weapon/virusdish/random, /obj/machinery/light{ dir = 8 }, +/obj/item/reagent_containers/glass/bottle/culture/flu, /turf/simulated/floor/tiled/white, /area/medical/virology) "cwo" = ( @@ -4448,11 +4445,11 @@ /area/crew_quarters/sleep/Dorm_9) "cAk" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/gloves{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/box/masks, +/obj/item/storage/box/masks, /obj/effect/floor_decal/corner/lime{ dir = 5 }, @@ -4467,11 +4464,11 @@ /area/crew_quarters/kitchen/lower) "cAY" = ( /obj/structure/table/steel, -/obj/item/device/taperecorder{ +/obj/item/taperecorder{ pixel_x = -4; pixel_y = 2 }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 1; pixel_y = -30 }, @@ -4602,8 +4599,8 @@ /area/crew_quarters/sleep/Dorm_4) "cFp" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper, -/obj/item/weapon/pen, +/obj/item/paper, +/obj/item/pen, /obj/machinery/newscaster{ pixel_x = -30 }, @@ -4810,7 +4807,7 @@ /turf/simulated/floor/tiled/white, /area/medical/medbaylower) "cKX" = ( -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 4; pixel_x = -30 }, @@ -4898,8 +4895,8 @@ /area/maintenance/blueserg/misc) "cOr" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/glass/solution_tray, -/obj/item/weapon/reagent_containers/glass/solution_tray, +/obj/item/reagent_containers/glass/solution_tray, +/obj/item/reagent_containers/glass/solution_tray, /obj/machinery/firealarm{ dir = 4; pixel_x = 24 @@ -5001,14 +4998,14 @@ /turf/simulated/floor/plating, /area/maintenance/maintroom6) "cQu" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Common Channel"; pixel_x = -21 }, /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /turf/simulated/floor/tiled/dark, /area/chapel/main) "cQx" = ( @@ -5017,7 +5014,7 @@ /turf/simulated/floor/tiled, /area/engineering/atmos) "cQz" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Common Channel"; pixel_y = -21 }, @@ -5160,7 +5157,7 @@ /turf/simulated/floor/plating, /area/maintenance/fish) "cTf" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled/white, /area/medical/virology) "cTx" = ( @@ -5313,7 +5310,7 @@ /area/hydroponics) "cYp" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_4) "cYu" = ( @@ -5399,16 +5396,16 @@ /obj/structure/safe/floor{ name = "Vault of Memories" }, -/obj/item/weapon/dnainjector/tourmut{ +/obj/item/dnainjector/tourmut{ name = "\improper DNA injector (???)" }, -/obj/item/weapon/dnainjector/hallucination{ +/obj/item/dnainjector/hallucination{ name = "\improper DNA injector (???)" }, -/obj/item/weapon/dnainjector/firemut{ +/obj/item/dnainjector/firemut{ name = "\improper DNA injector (???)" }, -/obj/item/weapon/dnainjector/firemut{ +/obj/item/dnainjector/firemut{ name = "\improper DNA injector (???)" }, /obj/item/clothing/under/rank/geneticist{ @@ -5423,8 +5420,8 @@ /area/civilian/atrium/lower) "dcq" = ( /obj/structure/table/woodentable, -/obj/item/weapon/folder/yellow, -/obj/item/weapon/pen, +/obj/item/folder/yellow, +/obj/item/pen, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, @@ -5534,8 +5531,8 @@ }, /obj/structure/table/rack, /obj/item/clothing/shoes/magboots, -/obj/item/device/suit_cooling_unit, -/obj/item/weapon/tank/oxygen, +/obj/item/suit_cooling_unit, +/obj/item/tank/oxygen, /obj/item/clothing/mask/breath, /obj/item/clothing/suit/space/void/atmos, /obj/item/clothing/head/helmet/space/void/atmos, @@ -5745,8 +5742,8 @@ icon_state = "1-2" }, /obj/structure/table/rack, -/obj/item/weapon/extinguisher, -/obj/item/weapon/storage/belt/utility, +/obj/item/extinguisher, +/obj/item/storage/belt/utility, /obj/item/clothing/mask/gas, /mob/living/simple_mob/animal/passive/mouse, /turf/simulated/floor/plating, @@ -5805,7 +5802,7 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 }, @@ -5832,9 +5829,6 @@ /turf/simulated/floor/tiled/dark, /area/security/range) "doh" = ( -/obj/machinery/computer/diseasesplicer{ - dir = 1 - }, /obj/structure/window/phoronreinforced, /obj/effect/floor_decal/corner/lime/full{ dir = 4 @@ -5904,7 +5898,7 @@ /obj/machinery/light{ dir = 4 }, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/fitnessflask/proteinshake, +/obj/item/reagent_containers/food/drinks/drinkingglass/fitnessflask/proteinshake, /obj/structure/table/marble, /obj/machinery/atmospherics/unary/vent_pump/siphon/on/atmos/relief{ dir = 8 @@ -5989,13 +5983,13 @@ /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_1) "dsw" = ( -/obj/machinery/disease2/diseaseanalyser, /obj/effect/floor_decal/corner_techfloor_grid{ dir = 6 }, /obj/effect/floor_decal/corner_techfloor_grid{ dir = 9 }, +/obj/machinery/computer/pandemic, /turf/simulated/floor/tiled/white, /area/medical/virology) "dsG" = ( @@ -6302,7 +6296,7 @@ /area/crew_quarters/recreation_area) "dAX" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 2 }, @@ -6386,7 +6380,7 @@ /area/crew_quarters/coffee_shop) "dDE" = ( /obj/structure/table/woodentable, -/obj/item/device/taperecorder, +/obj/item/taperecorder, /turf/simulated/floor/wood, /area/library) "dDR" = ( @@ -6574,7 +6568,7 @@ /area/hydroponics) "dKt" = ( /obj/structure/table/steel, -/obj/item/weapon/locator, +/obj/item/locator, /obj/effect/floor_decal/rust, /obj/machinery/firealarm{ dir = 4; @@ -6612,7 +6606,7 @@ /area/ai_server_room) "dML" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, /turf/simulated/floor/tiled, /area/maintenance/maintroom3) "dMV" = ( @@ -6858,7 +6852,7 @@ /turf/simulated/floor/tiled/white, /area/crew_quarters/coffee_shop) "dSV" = ( -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /obj/structure/bed/padded, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -6989,10 +6983,10 @@ /turf/simulated/floor/tiled/white, /area/medical/medbaylower) "dWj" = ( -/obj/item/weapon/storage/fancy/crayons, +/obj/item/storage/fancy/crayons, /obj/structure/table/woodentable, /obj/item/stack/cable_coil/random, -/obj/item/weapon/storage/fancy/blackcandle_box{ +/obj/item/storage/fancy/blackcandle_box{ pixel_y = 14 }, /turf/simulated/floor, @@ -7181,8 +7175,8 @@ /area/security/prison) "ebN" = ( /obj/structure/closet/wardrobe/grey, -/obj/item/weapon/storage/backpack, -/obj/item/weapon/storage/backpack, +/obj/item/storage/backpack, +/obj/item/storage/backpack, /obj/random/maintenance/security, /obj/random/maintenance/security, /obj/random/maintenance/clean, @@ -7299,7 +7293,7 @@ "edz" = ( /obj/effect/floor_decal/spline/plain, /obj/effect/decal/cleanable/dirt, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 1; pixel_y = -30 }, @@ -7354,7 +7348,7 @@ /area/hallway/lower/fore) "efh" = ( /obj/structure/table/steel, -/obj/item/weapon/newspaper, +/obj/item/newspaper, /obj/machinery/light, /turf/simulated/floor/tiled, /area/security/perma) @@ -7397,7 +7391,7 @@ /area/ai_foyer) "efA" = ( /obj/structure/table/woodentable, -/obj/item/weapon/tape_roll, +/obj/item/tape_roll, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 }, @@ -7504,7 +7498,7 @@ d2 = 8; icon_state = "4-8" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -7577,7 +7571,7 @@ icon_state = "cabinet_closed"; name = "Clothing Storage" }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 8; pixel_x = 30 }, @@ -7839,7 +7833,7 @@ /obj/structure/mirror{ pixel_y = 32 }, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/spline/plain, /turf/simulated/floor/tiled, /area/crew_quarters/fitness) @@ -7854,7 +7848,7 @@ /turf/simulated/floor/tiled/dark, /area/chapel/main) "erT" = ( -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 1; pixel_y = -30 }, @@ -7866,7 +7860,7 @@ "esn" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /obj/structure/closet/firecloset, -/obj/item/weapon/handcuffs, +/obj/item/handcuffs, /obj/effect/decal/cleanable/cobweb, /turf/simulated/floor/tiled/steel_dirty, /area/rnd/storage) @@ -8073,8 +8067,8 @@ "ewo" = ( /obj/structure/table/standard, /obj/structure/closet/walllocker/wooden/west, -/obj/item/weapon/broken_bottle, -/obj/item/weapon/reagent_containers/food/drinks/bottle/jager, +/obj/item/broken_bottle, +/obj/item/reagent_containers/food/drinks/bottle/jager, /turf/simulated/floor/plating, /area/maintenance/maintroom8) "ewy" = ( @@ -8370,9 +8364,9 @@ /obj/item/clothing/glasses/hud/health/prescription, /obj/item/clothing/glasses/hud/health/prescription, /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, /turf/simulated/floor/tiled/dark, /area/medical/biostorage2) "eFQ" = ( @@ -8383,12 +8377,12 @@ /obj/effect/decal/shadow/silhouette{ dir = 1 }, -/obj/item/weapon/flame/candle/everburn, +/obj/item/flame/candle/everburn, /turf/simulated/floor/carpet, /area/chapel/office) "eGn" = ( /obj/structure/closet/crate, -/obj/item/weapon/coin/silver, +/obj/item/coin/silver, /obj/effect/decal/cleanable/cobweb2{ icon_state = "cobweb1" }, @@ -8548,7 +8542,7 @@ "eKX" = ( /obj/structure/table/woodentable, /obj/random/potion_ingredient, -/obj/item/weapon/storage/box/matches, +/obj/item/storage/box/matches, /turf/simulated/floor/tiled/dark, /area/chapel/main) "eLc" = ( @@ -8637,7 +8631,7 @@ /area/civilian/atrium/lower) "eNd" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 2 }, @@ -8662,22 +8656,22 @@ /obj/structure/closet/crate{ opened = 1 }, -/obj/item/weapon/glass_extra/straw{ +/obj/item/glass_extra/straw{ pixel_x = -5; pixel_y = 5 }, -/obj/item/weapon/glass_extra/straw{ +/obj/item/glass_extra/straw{ pixel_x = 11; pixel_y = 5 }, -/obj/item/weapon/glass_extra/straw{ +/obj/item/glass_extra/straw{ pixel_x = 11; pixel_y = -2 }, -/obj/item/weapon/glass_extra/straw{ +/obj/item/glass_extra/straw{ pixel_y = -4 }, -/obj/item/weapon/glass_extra/straw, +/obj/item/glass_extra/straw, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor, /area/maintenance/starboard) @@ -8717,7 +8711,7 @@ /area/maintenance/blueserg) "ePN" = ( /obj/structure/closet/secure_closet/freezer/fridge{ - starts_with = list(/obj/item/weapon/reagent_containers/food/drinks/milk=6,/obj/item/weapon/storage/fancy/egg_box=4,/obj/item/weapon/reagent_containers/food/condiment/carton/flour=7,/obj/item/weapon/reagent_containers/food/condiment/sugar=2) + starts_with = list(/obj/item/reagent_containers/food/drinks/milk=6,/obj/item/storage/fancy/egg_box=4,/obj/item/reagent_containers/food/condiment/carton/flour=7,/obj/item/reagent_containers/food/condiment/sugar=2) }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 @@ -8809,7 +8803,7 @@ dir = 1; pixel_y = -24 }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/rocks, +/obj/item/reagent_containers/food/drinks/glass2/rocks, /turf/simulated/floor/tiled/dark, /area/vacant/vacant_office) "eSu" = ( @@ -9067,18 +9061,18 @@ /area/chapel/office) "fcF" = ( /obj/structure/table/standard, -/obj/item/weapon/aiModule/oxygen, -/obj/item/weapon/aiModule/oneHuman, -/obj/item/weapon/aiModule/purge, -/obj/item/weapon/aiModule/antimov, -/obj/item/weapon/aiModule/teleporterOffline, +/obj/item/aiModule/oxygen, +/obj/item/aiModule/oneHuman, +/obj/item/aiModule/purge, +/obj/item/aiModule/antimov, +/obj/item/aiModule/teleporterOffline, /obj/effect/floor_decal/techfloor{ dir = 9 }, /turf/simulated/floor/bluegrid, /area/ai_upload) "fdk" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -9128,11 +9122,11 @@ /area/medical/medbay_emt_storage) "feE" = ( /obj/structure/table/standard, -/obj/item/weapon/aiModule/asimov, -/obj/item/weapon/aiModule/freeformcore, -/obj/item/weapon/aiModule/corp, -/obj/item/weapon/aiModule/paladin, -/obj/item/weapon/aiModule/robocop, +/obj/item/aiModule/asimov, +/obj/item/aiModule/freeformcore, +/obj/item/aiModule/corp, +/obj/item/aiModule/paladin, +/obj/item/aiModule/robocop, /obj/effect/floor_decal/techfloor{ dir = 10 }, @@ -9242,7 +9236,7 @@ /area/maintenance/aft) "fiG" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_8) @@ -9321,11 +9315,11 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/gloves{ pixel_x = 8; pixel_y = 5 }, -/obj/item/weapon/storage/box/masks, +/obj/item/storage/box/masks, /turf/simulated/floor/tiled/white, /area/medical/virology) "flm" = ( @@ -9379,7 +9373,7 @@ dir = 8 }, /obj/structure/table/glass, -/obj/item/weapon/dice, +/obj/item/dice, /turf/simulated/floor/tiled, /area/hallway/lower/aft) "fmP" = ( @@ -9571,7 +9565,7 @@ /turf/simulated/wall/titanium, /area/cryogaia/outpost/tower/southwest) "fpQ" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /turf/simulated/floor/tiled/dark, @@ -9611,16 +9605,16 @@ /turf/simulated/floor/tiled/freezer, /area/crew_quarters/toilet) "fqT" = ( -/obj/item/weapon/tool/crowbar, +/obj/item/tool/crowbar, /turf/simulated/floor/tiled/techfloor, /area/maintenance/atmos_control) "frs" = ( -/obj/item/weapon/storage/pill_bottle/zoom, +/obj/item/storage/pill_bottle/zoom, /turf/simulated/floor/tiled, /area/maintenance/maintroom3) "frz" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = 1; pixel_y = 5 }, @@ -9740,7 +9734,7 @@ /turf/simulated/floor/plating, /area/maintenance/medical_lower) "fvJ" = ( -/obj/item/weapon/stool/baystool/padded{ +/obj/item/stool/baystool/padded{ dir = 8 }, /obj/effect/floor_decal/rust, @@ -9751,8 +9745,8 @@ /obj/effect/floor_decal/corner/brown{ dir = 10 }, -/obj/item/weapon/reagent_containers/food/condiment/small/sugar, -/obj/item/device/radio/intercom{ +/obj/item/reagent_containers/food/condiment/small/sugar, +/obj/item/radio/intercom{ name = "Common Channel"; pixel_y = -21 }, @@ -9946,8 +9940,8 @@ /area/crew_quarters/pool) "fBv" = ( /obj/structure/table/standard, -/obj/item/weapon/stock_parts/subspace/transmitter, -/obj/item/weapon/stock_parts/subspace/transmitter, +/obj/item/stock_parts/subspace/transmitter, +/obj/item/stock_parts/subspace/transmitter, /turf/simulated/floor, /area/tcomstorage) "fBw" = ( @@ -10012,7 +10006,7 @@ /turf/simulated/floor/tiled/dark, /area/vacant/vacant_office) "fDd" = ( -/obj/item/device/radio/intercom/department/medbay, +/obj/item/radio/intercom/department/medbay, /turf/simulated/wall/r_wall, /area/medical/virology) "fDf" = ( @@ -10161,8 +10155,8 @@ /obj/item/clothing/head/soft/rainbow, /obj/item/clothing/shoes/rainbow, /obj/item/clothing/under/color/rainbow, -/obj/item/weapon/bedsheet/rainbow, -/obj/item/weapon/pen/crayon/rainbow, +/obj/item/bedsheet/rainbow, +/obj/item/pen/crayon/rainbow, /turf/simulated/floor, /area/hallway/lower/dorms) "fIM" = ( @@ -10301,7 +10295,7 @@ dir = 9 }, /obj/machinery/door/window/southleft, -/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, /obj/item/clothing/suit/storage/hooded/wintercoat/snowsuit, /turf/simulated/floor/tiled/dark, /area/ai_monitored/storage/emergency/eva) @@ -10504,7 +10498,7 @@ /turf/simulated/floor/plating, /area/maintenance/lowfloor3) "fWx" = ( -/obj/item/weapon/storage/box/cdeathalarm_kit, +/obj/item/storage/box/cdeathalarm_kit, /obj/item/bodybag/cryobag{ pixel_x = -3 }, @@ -10535,21 +10529,21 @@ /turf/simulated/floor/tiled/white, /area/medical/virology) "fXq" = ( -/obj/item/weapon/cane, -/obj/item/weapon/cane{ +/obj/item/cane, +/obj/item/cane{ pixel_x = -3; pixel_y = 2 }, -/obj/item/weapon/cane{ +/obj/item/cane{ pixel_x = -6; pixel_y = 4 }, /obj/structure/table/steel, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/gloves{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/box/rxglasses, +/obj/item/storage/box/rxglasses, /obj/machinery/atmospherics/unary/vent_pump/siphon/on/atmos/relief, /turf/simulated/floor/tiled/dark, /area/medical/biostorage3) @@ -10719,7 +10713,7 @@ d2 = 8; icon_state = "4-8" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -10747,7 +10741,7 @@ /obj/effect/floor_decal/corner/white/border{ dir = 8 }, -/obj/item/weapon/paper/crumpled{ +/obj/item/paper/crumpled{ name = "basketball" }, /obj/effect/decal/cleanable/dirt, @@ -10759,16 +10753,16 @@ name = "Grenade Crate"; opened = 1 }, -/obj/item/weapon/grenade/chem_grenade, -/obj/item/weapon/grenade/chem_grenade, -/obj/item/weapon/grenade/chem_grenade, -/obj/item/weapon/grenade/chem_grenade, -/obj/item/device/assembly/igniter, -/obj/item/device/assembly/igniter, -/obj/item/device/assembly/igniter, -/obj/item/device/assembly/timer, -/obj/item/device/assembly/timer, -/obj/item/device/assembly/timer, +/obj/item/grenade/chem_grenade, +/obj/item/grenade/chem_grenade, +/obj/item/grenade/chem_grenade, +/obj/item/grenade/chem_grenade, +/obj/item/assembly/igniter, +/obj/item/assembly/igniter, +/obj/item/assembly/igniter, +/obj/item/assembly/timer, +/obj/item/assembly/timer, +/obj/item/assembly/timer, /obj/machinery/light{ dir = 8 }, @@ -10852,9 +10846,9 @@ /area/chapel/main) "gcV" = ( /obj/structure/table/standard, -/obj/item/weapon/stock_parts/subspace/analyzer, -/obj/item/weapon/stock_parts/subspace/analyzer, -/obj/item/weapon/stock_parts/subspace/analyzer, +/obj/item/stock_parts/subspace/analyzer, +/obj/item/stock_parts/subspace/analyzer, +/obj/item/stock_parts/subspace/analyzer, /obj/machinery/firealarm{ dir = 4; pixel_x = 26 @@ -10967,7 +10961,7 @@ /obj/effect/floor_decal/corner/blue{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -11063,11 +11057,11 @@ /area/medical/virology) "gjI" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/weapon/glass_extra/straw{ +/obj/item/glass_extra/straw{ pixel_x = 11; pixel_y = -2 }, -/obj/item/weapon/glass_extra/straw{ +/obj/item/glass_extra/straw{ pixel_x = -5; pixel_y = 5 }, @@ -11111,7 +11105,7 @@ "gkr" = ( /obj/effect/decal/cleanable/dirt, /obj/item/clothing/ears/skrell/chain/redjewels, -/obj/item/weapon/reagent_containers/food/snacks/cheesewedge, +/obj/item/reagent_containers/food/snacks/cheesewedge, /turf/simulated/floor/plating, /area/maintenance/medical_lower) "gkQ" = ( @@ -11142,7 +11136,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -11151,7 +11145,7 @@ /area/holodeck_control) "glG" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, @@ -11203,8 +11197,8 @@ /area/maintenance/medical_lower) "gmU" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/beakers, -/obj/item/weapon/storage/box/beakers, +/obj/item/storage/box/beakers, +/obj/item/storage/box/beakers, /obj/machinery/bunsen_burner, /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/tiled/white, @@ -11234,7 +11228,7 @@ "gnS" = ( /obj/structure/table/glass, /obj/machinery/reagentgrinder, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Common Channel"; pixel_y = 21 @@ -11314,7 +11308,7 @@ /turf/simulated/floor/plating, /area/maintenance/security_lower) "grj" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 }, @@ -11373,10 +11367,10 @@ /obj/structure/closet/crate{ name = "Camera Assembly Crate" }, -/obj/item/weapon/camera_assembly, -/obj/item/weapon/camera_assembly, -/obj/item/weapon/camera_assembly, -/obj/item/weapon/camera_assembly, +/obj/item/camera_assembly, +/obj/item/camera_assembly, +/obj/item/camera_assembly, +/obj/item/camera_assembly, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, @@ -11447,7 +11441,7 @@ /area/maintenance/lowfloor1) "guo" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/glasses/pint, +/obj/item/storage/box/glasses/pint, /obj/machinery/requests_console/preset/engineering{ pixel_x = -30 }, @@ -11512,8 +11506,8 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, /obj/structure/cable/green, /turf/simulated/floor/tiled/white, /area/medical/virology) @@ -11621,7 +11615,7 @@ /area/crew_quarters/pool) "gxu" = ( /obj/item/roller, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -11670,7 +11664,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/disposalpipe/segment, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 4; pixel_x = -30 }, @@ -11772,8 +11766,8 @@ /area/crew_quarters/fitness) "gAS" = ( /obj/structure/table/standard, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, /turf/simulated/floor/tiled, /area/engineering/hallway_lower) "gBn" = ( @@ -11781,7 +11775,7 @@ /area/cryogaia/outpost/elevator/medbasement) "gBA" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/weapon/toolbox_tiles, +/obj/item/toolbox_tiles, /obj/structure/sign/poster, /turf/simulated/floor, /area/crew_quarters/recreation_area) @@ -11819,7 +11813,7 @@ /area/crew_quarters/fitness) "gCj" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 2 }, @@ -11997,7 +11991,7 @@ /turf/simulated/floor/wood, /area/library) "gIg" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 }, @@ -12324,18 +12318,18 @@ /obj/effect/landmark{ name = "tripai" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; listening = 0; name = "Custom Channel"; pixel_y = 21 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ frequency = 1343; name = "Private Channel"; pixel_y = -21 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Common Channel"; pixel_x = 21 @@ -12407,7 +12401,7 @@ /area/hallway/lower/fore) "gTF" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 2 }, @@ -12496,7 +12490,7 @@ "gVf" = ( /obj/structure/closet, /obj/item/clothing/glasses/welding, -/obj/item/weapon/weldingtool, +/obj/item/weldingtool, /obj/effect/decal/cleanable/dirt, /obj/random/maintenance/security, /obj/random/maintenance/security, @@ -12528,7 +12522,7 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/storage/box/bodybags, +/obj/item/storage/box/bodybags, /turf/simulated/floor/tiled/techmaint, /area/chapel/chapel_morgue) "gVw" = ( @@ -12589,11 +12583,11 @@ /area/medical/virology) "gWK" = ( /obj/structure/table/rack, -/obj/item/weapon/material/fishing_rod/modern/cheap, -/obj/item/weapon/material/fishing_rod/modern/cheap, -/obj/item/weapon/material/fishing_rod/modern/cheap, -/obj/item/weapon/material/fishing_rod/modern/cheap, -/obj/item/weapon/material/fishing_rod/modern/cheap, +/obj/item/material/fishing_rod/modern/cheap, +/obj/item/material/fishing_rod/modern/cheap, +/obj/item/material/fishing_rod/modern/cheap, +/obj/item/material/fishing_rod/modern/cheap, +/obj/item/material/fishing_rod/modern/cheap, /obj/machinery/firealarm{ dir = 4; pixel_x = 24 @@ -12678,7 +12672,7 @@ /obj/machinery/light/small{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ broadcasting = 1; dir = 1; frequency = 1480; @@ -12756,9 +12750,9 @@ /area/crew_quarters/sleep/cryo) "haL" = ( /obj/structure/table/steel, -/obj/item/weapon/autopsy_scanner, -/obj/item/weapon/surgical/scalpel, -/obj/item/weapon/surgical/cautery, +/obj/item/autopsy_scanner, +/obj/item/surgical/scalpel, +/obj/item/surgical/cautery, /turf/simulated/floor/tiled/techfloor, /area/medical/morgue) "haS" = ( @@ -12837,7 +12831,7 @@ name = "plastic table frame" }, /obj/machinery/reagentgrinder, -/obj/item/weapon/reagent_containers/spray/plantbgone, +/obj/item/reagent_containers/spray/plantbgone, /obj/machinery/stationboiler_radiator, /turf/simulated/floor/tiled/dark, /area/hydroponics) @@ -13113,7 +13107,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 8; pixel_x = 30 }, @@ -13174,7 +13168,7 @@ /obj/random/maintenance/clean, /obj/random/maintenance/cargo, /obj/random/maintenance/research, -/obj/item/weapon/storage/trinketbox, +/obj/item/storage/trinketbox, /turf/simulated/floor/plating, /area/maintenance/atmos_control) "hkp" = ( @@ -13202,7 +13196,7 @@ /area/crew_quarters/recreation_area) "hkB" = ( /obj/structure/table/standard, -/obj/item/weapon/aiModule/reset, +/obj/item/aiModule/reset, /obj/effect/floor_decal/techfloor{ dir = 5 }, @@ -13344,7 +13338,7 @@ /obj/structure/closet{ name = "Prisoner's Locker" }, -/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe, +/obj/item/reagent_containers/food/drinks/bottle/absinthe, /obj/item/clothing/suit/storage/apron/overalls, /obj/machinery/camera/network/prison{ c_tag = "Brig Dormitory"; @@ -13498,7 +13492,7 @@ /area/library_conference_room) "huj" = ( /obj/structure/table/steel, -/obj/item/weapon/implantcase/chem, +/obj/item/implantcase/chem, /obj/effect/floor_decal/rust, /turf/simulated/floor/tiled/steel_dirty, /area/rnd/storage) @@ -13654,13 +13648,13 @@ /turf/simulated/floor/tiled/dark, /area/chapel/main) "hxo" = ( -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /obj/structure/table/fancyblack, /turf/simulated/floor/tiled/techfloor, /area/maintenance/atmos_control) "hxt" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 }, @@ -13857,14 +13851,14 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/tank/oxygen, -/obj/item/weapon/tank/oxygen, +/obj/item/tank/oxygen, +/obj/item/tank/oxygen, /obj/item/clothing/mask/breath, /obj/item/clothing/mask/breath, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/extinguisher, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/storage/box/lights/mixed, +/obj/item/extinguisher, /obj/random/maintenance/research, /obj/random/maintenance/research, /turf/simulated/floor/plating, @@ -14189,10 +14183,10 @@ /obj/effect/floor_decal/rust, /obj/effect/decal/cleanable/dirt, /obj/structure/closet/wardrobe/pjs, -/obj/item/weapon/handcuffs/fuzzy, -/obj/item/weapon/handcuffs/fuzzy, -/obj/item/weapon/handcuffs/legcuffs/fuzzy, -/obj/item/weapon/handcuffs/fuzzy, +/obj/item/handcuffs/fuzzy, +/obj/item/handcuffs/fuzzy, +/obj/item/handcuffs/legcuffs/fuzzy, +/obj/item/handcuffs/fuzzy, /obj/item/clothing/mask/balaclava, /obj/item/clothing/under/fluff/latexmaid, /obj/structure/cable{ @@ -14430,7 +14424,7 @@ "hRo" = ( /obj/structure/table/woodentable, /obj/effect/floor_decal/techfloor, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/tiled/techfloor, /area/maintenance/aft) "hRP" = ( @@ -14562,7 +14556,7 @@ /area/chapel/chapel_morgue) "hVi" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = 1; pixel_y = 5 }, @@ -14666,7 +14660,7 @@ /obj/effect/floor_decal/corner/brown{ dir = 10 }, -/obj/item/weapon/reagent_containers/food/condiment/small/sugar, +/obj/item/reagent_containers/food/condiment/small/sugar, /obj/machinery/computer/security/telescreen/entertainment{ icon_state = "frame"; pixel_y = -32 @@ -14688,7 +14682,7 @@ /area/medical/medbaylower) "hYM" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/condiment/small/sugar, +/obj/item/reagent_containers/food/condiment/small/sugar, /turf/simulated/floor/tiled/white, /area/crew_quarters/coffee_shop) "hYU" = ( @@ -14719,11 +14713,11 @@ /area/engineering/hallway_lower) "hZI" = ( /obj/structure/table/rack, -/obj/item/weapon/material/fishing_net, -/obj/item/weapon/material/fishing_net, -/obj/item/weapon/material/fishing_net, -/obj/item/weapon/material/fishing_net, -/obj/item/weapon/material/fishing_net, +/obj/item/material/fishing_net, +/obj/item/material/fishing_net, +/obj/item/material/fishing_net, +/obj/item/material/fishing_net, +/obj/item/material/fishing_net, /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/tiled, /area/crew_quarters/kitchen/fish_farm) @@ -14881,8 +14875,8 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/tank/oxygen, -/obj/item/weapon/storage/belt/utility, +/obj/item/tank/oxygen, +/obj/item/storage/belt/utility, /obj/item/clothing/mask/breath, /obj/random/maintenance/security, /obj/random/maintenance/security, @@ -14956,7 +14950,7 @@ /area/crew_quarters/recreation_area_restroom) "iet" = ( /obj/machinery/washing_machine, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Common Channel"; pixel_x = 21 @@ -15055,8 +15049,8 @@ /turf/simulated/floor, /area/maintenance/starboard) "ifG" = ( -/obj/item/weapon/soap/nanotrasen, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, +/obj/item/soap/nanotrasen, /obj/structure/table/standard, /obj/random/soap, /obj/item/clothing/under/bathrobe, @@ -15171,7 +15165,7 @@ /area/maintenance/fish) "ijE" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/reagent_containers/dropper, /obj/machinery/light{ dir = 1 }, @@ -15250,11 +15244,11 @@ /area/maintenance/fish) "ilF" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/pen/blue{ +/obj/item/pen/blue{ pixel_x = 5; pixel_y = 5 }, @@ -15319,8 +15313,8 @@ /area/civilian/atrium/lower) "imE" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/toolbox/mechanical, -/obj/item/weapon/storage/belt/utility, +/obj/item/storage/toolbox/mechanical, +/obj/item/storage/belt/utility, /obj/effect/decal/cleanable/dirt, /obj/random/maintenance/security, /obj/random/maintenance/security, @@ -15687,16 +15681,18 @@ /turf/simulated/floor/tiled/techfloor, /area/tcommsat/entrance) "iuv" = ( -/obj/machinery/disease2/isolator, /obj/effect/floor_decal/corner/lime/full, +/obj/structure/table/standard{ + name = "plastic table frame" + }, /turf/simulated/floor/tiled/white, /area/medical/virology) "iux" = ( /obj/structure/table/rack, -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /obj/item/clothing/head/hardhat/red, /obj/item/clothing/mask/gas, -/obj/item/device/flashlight, +/obj/item/flashlight, /obj/item/clothing/glasses/meson, /obj/random/maintenance/research, /obj/random/maintenance/research, @@ -15802,7 +15798,7 @@ "iwM" = ( /obj/effect/floor_decal/techfloor, /obj/structure/table/steel, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/floor/tiled/techfloor, /area/maintenance/lowfloor3) "iwN" = ( @@ -15887,17 +15883,17 @@ /obj/structure/table/rack, /obj/item/clothing/suit/radiation, /obj/item/clothing/head/radiation, -/obj/item/weapon/storage/toolbox/emergency, -/obj/item/device/radio/intercom{ +/obj/item/storage/toolbox/emergency, +/obj/item/radio/intercom{ canhear_range = 5; frequency = 1487; listening = 0; name = "Station Intercom (Medbay)"; pixel_y = -21 }, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/device/defib_kit/loaded, -/obj/item/device/defib_kit/loaded, +/obj/item/storage/box/lights/mixed, +/obj/item/defib_kit/loaded, +/obj/item/defib_kit/loaded, /turf/simulated/floor/tiled/dark, /area/medical/biostorage3) "iyL" = ( @@ -16017,16 +16013,16 @@ /turf/simulated/floor/wood, /area/crew_quarters/recreation_area) "iBG" = ( -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/device/flashlight, -/obj/item/device/flashlight, +/obj/item/storage/box/lights/mixed, +/obj/item/flashlight, +/obj/item/flashlight, /obj/structure/table/steel, /obj/machinery/power/apc{ name = "south bump"; pixel_y = -24 }, /obj/structure/cable/green, -/obj/item/device/radio{ +/obj/item/radio{ frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link" @@ -16065,7 +16061,7 @@ /obj/structure/table/rack{ dir = 1 }, -/obj/item/weapon/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, /obj/random/maintenance/medical, /obj/random/maintenance/medical, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -16219,7 +16215,7 @@ d2 = 8; icon_state = "4-8" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -16338,9 +16334,7 @@ /area/maintenance/blueserg) "iIe" = ( /obj/structure/closet/crate/freezer, -/obj/item/weapon/virusdish/random, -/obj/item/weapon/virusdish/random, -/obj/item/weapon/virusdish/random, +/obj/item/reagent_containers/glass/bottle/culture/cold, /turf/simulated/floor/tiled/white, /area/medical/virology) "iIg" = ( @@ -16360,13 +16354,13 @@ /area/maintenance/security_lower) "iIu" = ( /obj/structure/table/woodentable, -/obj/item/weapon/flame/candle/black{ +/obj/item/flame/candle/black{ pixel_x = -11 }, -/obj/item/weapon/flame/candle/black{ +/obj/item/flame/candle/black{ pixel_x = 11 }, -/obj/item/weapon/flame/candle/candelabra/everburn{ +/obj/item/flame/candle/candelabra/everburn{ lit = 1 }, /obj/structure/mirror{ @@ -16377,7 +16371,7 @@ /area/chapel/main) "iIL" = ( /obj/structure/table/standard, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /obj/machinery/stationboiler_radiator, /turf/simulated/floor/tiled/white, /area/crew_quarters/sleep/Dorm_4) @@ -16501,9 +16495,9 @@ /area/maintenance/lowfloor3) "iOE" = ( /obj/structure/table/standard, -/obj/item/weapon/stock_parts/subspace/treatment, -/obj/item/weapon/stock_parts/subspace/treatment, -/obj/item/weapon/stock_parts/subspace/treatment, +/obj/item/stock_parts/subspace/treatment, +/obj/item/stock_parts/subspace/treatment, +/obj/item/stock_parts/subspace/treatment, /turf/simulated/floor, /area/tcomstorage) "iOG" = ( @@ -16562,7 +16556,7 @@ "iQy" = ( /obj/structure/bed/pillowpile/teal, /obj/structure/table/rack/shelf, -/obj/item/weapon/bedsheet/pillow/teal, +/obj/item/bedsheet/pillow/teal, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/tiled/techfloor, /area/maintenance/medical_lower) @@ -16662,7 +16656,7 @@ pixel_x = 25 }, /obj/structure/table/woodentable, -/obj/item/device/tvcamera, +/obj/item/tvcamera, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, @@ -16753,8 +16747,8 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/storage/fancy/vials, -/obj/item/weapon/storage/fancy/vials, +/obj/item/storage/fancy/vials, +/obj/item/storage/fancy/vials, /obj/effect/floor_decal/corner/lime{ dir = 4 }, @@ -16798,7 +16792,7 @@ /turf/simulated/floor/plating, /area/maintenance/fish) "iWq" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /obj/effect/mist, @@ -16854,16 +16848,16 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_y = 5 }, -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical, /turf/simulated/floor/tiled/steel_dirty, /area/maintenance/medical_lower) "iYO" = ( /obj/structure/closet/crate/freezer, /obj/machinery/atmospherics/unary/vent_scrubber/on, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Common Channel"; pixel_y = 21 @@ -17118,7 +17112,7 @@ "jew" = ( /obj/structure/bed/pillowpile/white, /obj/structure/table/rack/shelf, -/obj/item/weapon/bedsheet/pillow/white, +/obj/item/bedsheet/pillow/white, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/tiled/techfloor, /area/maintenance/medical_lower) @@ -17159,7 +17153,7 @@ /obj/structure/window/reinforced, /obj/machinery/door/window/northleft, /obj/item/clothing/mask/gas, -/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, /obj/item/clothing/suit/storage/hooded/wintercoat/snowsuit, /turf/simulated/floor/tiled/dark, /area/ai_monitored/storage/emergency/eva) @@ -17231,7 +17225,7 @@ /turf/simulated/floor, /area/maintenance/lowfloor3) "jgY" = ( -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 1; pixel_y = -30 }, @@ -17356,7 +17350,7 @@ dir = 5 }, /obj/machinery/door/window/southright, -/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, /obj/item/clothing/suit/storage/hooded/wintercoat/snowsuit, /turf/simulated/floor/tiled/dark, /area/ai_monitored/storage/emergency/eva) @@ -17435,13 +17429,13 @@ /turf/simulated/floor/plating, /area/crew_quarters/kitchen/fish_farm) "jkA" = ( -/obj/item/weapon/pickaxe/silver, +/obj/item/pickaxe/silver, /turf/simulated/mineral/floor, /area/mine/explored/lower_rock) "jkB" = ( /obj/structure/table/woodentable, /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/item/weapon/book/custom_library/reference/fistfulofd6splayersguide, +/obj/item/book/custom_library/reference/fistfulofd6splayersguide, /turf/simulated/floor/carpet/oracarpet, /area/library_conference_room) "jkT" = ( @@ -17468,8 +17462,8 @@ /area/maintenance/aft) "jlL" = ( /obj/structure/closet/secure_closet/chemical, -/obj/item/weapon/storage/box/pillbottles, -/obj/item/weapon/storage/box/pillbottles, +/obj/item/storage/box/pillbottles, +/obj/item/storage/box/pillbottles, /obj/effect/floor_decal/corner/beige{ dir = 5 }, @@ -17682,9 +17676,9 @@ /obj/machinery/optable{ name = "Robotics Operating Table" }, -/obj/item/weapon/bone/ribs, -/obj/item/weapon/handcuffs/legcuffs, -/obj/item/weapon/handcuffs, +/obj/item/bone/ribs, +/obj/item/handcuffs/legcuffs, +/obj/item/handcuffs, /obj/effect/floor_decal/rust, /obj/effect/decal/cleanable/blood, /turf/simulated/floor/tiled/techfloor/grid, @@ -17986,7 +17980,7 @@ /turf/simulated/floor/tiled, /area/hallway/lower/aft) "jAr" = ( -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 4; pixel_x = -30 }, @@ -18215,7 +18209,7 @@ dir = 9 }, /obj/structure/closet/secure_closet/engineering_personal, -/obj/item/weapon/storage/pouch/flares/full_flare, +/obj/item/storage/pouch/flares/full_flare, /turf/simulated/floor/tiled/steel_dirty, /area/maintenance/medical_lower) "jFR" = ( @@ -18228,7 +18222,7 @@ /obj/machinery/light{ dir = 8 }, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled, /area/hallway/lower/fore) "jGr" = ( @@ -18275,13 +18269,13 @@ /turf/simulated/floor/tiled, /area/engineering/atmos) "jHr" = ( -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ pixel_y = 30 }, /turf/simulated/floor/tiled/dark, /area/chapel/main) "jHN" = ( -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 1; pixel_y = -30 }, @@ -18363,7 +18357,7 @@ /obj/structure/table/rack, /obj/item/clothing/glasses/sunglasses, /obj/item/clothing/suit/storage/hazardvest, -/obj/item/device/radio, +/obj/item/radio, /obj/random/maintenance/medical, /obj/random/maintenance/medical, /turf/simulated/floor/plating, @@ -18479,7 +18473,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 26 @@ -18594,7 +18588,7 @@ icon_state = "1-2" }, /obj/effect/decal/cleanable/generic, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /turf/simulated/floor/plating, @@ -18616,7 +18610,7 @@ /turf/simulated/floor/tiled/dark, /area/ai) "jOF" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -18666,9 +18660,9 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/device/analyzer/plant_analyzer, -/obj/item/weapon/plantspray/pests, -/obj/item/weapon/material/minihoe, +/obj/item/analyzer/plant_analyzer, +/obj/item/plantspray/pests, +/obj/item/material/minihoe, /obj/machinery/stationboiler_radiator, /turf/simulated/floor/grass, /area/hydroponics) @@ -18719,7 +18713,7 @@ /turf/simulated/wall/r_wall, /area/crew_quarters/kitchen/fish_farm) "jQW" = ( -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; @@ -18766,15 +18760,15 @@ /area/engineering/atmos) "jSz" = ( /obj/structure/table/steel, -/obj/item/weapon/spacecash/c1, -/obj/item/weapon/glass_extra/straw{ +/obj/item/spacecash/c1, +/obj/item/glass_extra/straw{ pixel_y = 5 }, /obj/effect/decal/cleanable/flour, /turf/simulated/floor, /area/maintenance/starboard) "jSA" = ( -/obj/item/weapon/storage/fancy/cigar/havana, +/obj/item/storage/fancy/cigar/havana, /obj/effect/decal/cleanable/dirt, /obj/structure/closet/crate, /turf/simulated/floor/plating, @@ -18822,14 +18816,14 @@ /area/security/perma/control) "jTx" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen/invisible, +/obj/item/pen/invisible, /obj/item/clothing/under/suit_jacket/red, /obj/machinery/light, -/obj/item/weapon/barcodescanner, +/obj/item/barcodescanner, /obj/machinery/stationboiler_radiator, /turf/simulated/floor/carpet, /area/library) @@ -18883,7 +18877,7 @@ /turf/simulated/floor/wood, /area/crew_quarters/fitness) "jUK" = ( -/obj/item/weapon/bedsheet/pillow/teal, +/obj/item/bedsheet/pillow/teal, /turf/simulated/floor/carpet/tealcarpet, /area/medical/pyschwarde) "jUV" = ( @@ -18899,9 +18893,9 @@ /area/maintenance/maintroom6) "jUX" = ( /obj/structure/table/standard, -/obj/item/weapon/stock_parts/subspace/ansible, -/obj/item/weapon/stock_parts/subspace/ansible, -/obj/item/weapon/stock_parts/subspace/ansible, +/obj/item/stock_parts/subspace/ansible, +/obj/item/stock_parts/subspace/ansible, +/obj/item/stock_parts/subspace/ansible, /obj/machinery/alarm/yw{ dir = 8; pixel_x = 25 @@ -18964,12 +18958,12 @@ /area/maintenance/security_lower) "jVR" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/flame/candle/candelabra/everburn, +/obj/item/flame/candle/candelabra/everburn, /turf/simulated/floor/bronze, /area/chapel/office) "jWh" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/weapon/bedsheet/pillow/white, +/obj/item/bedsheet/pillow/white, /turf/simulated/floor/tiled/techfloor, /area/maintenance/medical_lower) "jWz" = ( @@ -19020,8 +19014,8 @@ /area/hallway/lower/central) "jXL" = ( /obj/structure/table/steel, -/obj/item/weapon/handcuffs/fuzzy, -/obj/item/weapon/handcuffs/legcuffs/fuzzy, +/obj/item/handcuffs/fuzzy, +/obj/item/handcuffs/legcuffs/fuzzy, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plating, /area/maintenance/maintroom4) @@ -19132,7 +19126,7 @@ /obj/effect/floor_decal/corner/lime{ dir = 10 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -19505,7 +19499,7 @@ /turf/simulated/floor, /area/engineering/atmos) "kie" = ( -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 8; pixel_x = -32 }, @@ -19523,10 +19517,10 @@ /area/security/brig/visitation) "kiN" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/beakers, -/obj/item/weapon/storage/box/beakers, +/obj/item/storage/box/beakers, +/obj/item/storage/box/beakers, /obj/machinery/bunsen_burner, -/obj/item/weapon/storage/pill_bottle/phenethylamine, +/obj/item/storage/pill_bottle/phenethylamine, /turf/simulated/floor/tiled, /area/maintenance/maintroom3) "kiS" = ( @@ -19577,7 +19571,7 @@ /area/crew_quarters/kitchen/fish_farm) "kjo" = ( /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -24 @@ -19641,13 +19635,13 @@ /obj/item/clothing/head/soft/rainbow, /obj/item/clothing/shoes/rainbow, /obj/item/clothing/under/color/rainbow, -/obj/item/weapon/bedsheet/rainbow, -/obj/item/weapon/pen/crayon/rainbow, +/obj/item/bedsheet/rainbow, +/obj/item/pen/crayon/rainbow, /turf/simulated/floor, /area/maintenance/starboard) "kjX" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /obj/random/medical/lite, /obj/effect/floor_decal/corner/lime{ dir = 9 @@ -19774,10 +19768,10 @@ desc = "It's a public use refrigerator, it's handles slightly scratched up from wear."; locked = 0; name = "gym refrigerator"; - starts_with = list(/obj/item/weapon/reagent_containers/food/drinks/milk = 6) + starts_with = list(/obj/item/reagent_containers/food/drinks/milk = 6) }, -/obj/item/weapon/reagent_containers/food/drinks/glass2/fitnessflask/proteinshake, -/obj/item/weapon/reagent_containers/food/drinks/glass2/fitnessflask/proteinshake, +/obj/item/reagent_containers/food/drinks/glass2/fitnessflask/proteinshake, +/obj/item/reagent_containers/food/drinks/glass2/fitnessflask/proteinshake, /turf/simulated/floor/tiled/white, /area/crew_quarters/fitness) "knG" = ( @@ -19809,7 +19803,7 @@ /turf/simulated/floor/tiled/dark, /area/vacant/vacant_office) "kpy" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, /obj/effect/mist, @@ -19893,7 +19887,7 @@ /area/engineering/hallway_lower) "krq" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 2 }, @@ -19955,7 +19949,7 @@ /area/medical/virology) "ksb" = ( /obj/structure/table/steel, -/obj/item/device/nif/bad, +/obj/item/nif/bad, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plating, /area/maintenance/maintroom5) @@ -19967,7 +19961,7 @@ /turf/simulated/floor/plating, /area/maintenance/lowfloor1) "ksx" = ( -/obj/item/weapon/toolbox_tiles, +/obj/item/toolbox_tiles, /turf/simulated/floor, /area/maintenance/atmos_control) "ktb" = ( @@ -20073,16 +20067,16 @@ /area/hallway/lower/dorms) "kvj" = ( /obj/structure/table/rack, -/obj/item/device/suit_cooling_unit{ +/obj/item/suit_cooling_unit{ pixel_y = -5 }, -/obj/item/weapon/tank/oxygen{ +/obj/item/tank/oxygen{ pixel_y = -4 }, -/obj/item/device/suit_cooling_unit{ +/obj/item/suit_cooling_unit{ pixel_y = -5 }, -/obj/item/weapon/tank/oxygen{ +/obj/item/tank/oxygen{ pixel_y = -4 }, /obj/effect/floor_decal/corner/paleblue{ @@ -20143,8 +20137,8 @@ }, /obj/item/clothing/gloves/black, /obj/item/clothing/gloves/black, -/obj/item/weapon/storage/belt/utility/atmostech, -/obj/item/weapon/storage/belt/utility/atmostech, +/obj/item/storage/belt/utility/atmostech, +/obj/item/storage/belt/utility/atmostech, /obj/machinery/camera/network/engineering{ c_tag = "Atmospherics Northeast" }, @@ -20372,7 +20366,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 1; pixel_y = -30 }, @@ -20754,7 +20748,7 @@ /area/security/prison) "kKY" = ( /obj/structure/table/standard, -/obj/item/weapon/aiModule/nanotrasen, +/obj/item/aiModule/nanotrasen, /obj/effect/floor_decal/techfloor{ dir = 4 }, @@ -20805,8 +20799,8 @@ /area/hallway/lower/fore) "kMd" = ( /obj/structure/closet/wardrobe/grey, -/obj/item/weapon/storage/backpack, -/obj/item/weapon/storage/backpack, +/obj/item/storage/backpack, +/obj/item/storage/backpack, /obj/random/maintenance/security, /obj/random/maintenance/security, /obj/random/maintenance/clean, @@ -20910,7 +20904,7 @@ /obj/effect/floor_decal/corner/green/full{ dir = 4 }, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /obj/machinery/light_switch{ dir = 1; pixel_x = 4; @@ -20961,8 +20955,8 @@ /area/crew_quarters/fitness) "kQF" = ( /obj/structure/table/steel, -/obj/item/weapon/material/minihoe, -/obj/item/device/analyzer/plant_analyzer, +/obj/item/material/minihoe, +/obj/item/analyzer/plant_analyzer, /obj/item/clothing/head/greenbandana, /turf/simulated/floor/tiled, /area/security/perma) @@ -21276,7 +21270,7 @@ d2 = 2; icon_state = "1-2" }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 4; pixel_x = -30 }, @@ -21307,7 +21301,7 @@ /turf/simulated/wall/r_wall, /area/tcommsat/entrance) "lai" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -21416,7 +21410,7 @@ /turf/simulated/floor, /area/maintenance/atmos_control) "lcT" = ( -/obj/item/weapon/pickaxe/drill, +/obj/item/pickaxe/drill, /turf/simulated/floor, /area/maintenance/lowfloor3) "ldt" = ( @@ -21564,7 +21558,7 @@ /turf/simulated/floor, /area/maintenance/medical_lower) "lhz" = ( -/obj/item/weapon/storage/box/syringes, +/obj/item/storage/box/syringes, /obj/structure/table/standard{ name = "plastic table frame" }, @@ -21609,7 +21603,7 @@ d2 = 2; icon_state = "1-2" }, -/obj/item/device/radio/beacon, +/obj/item/radio/beacon, /obj/machinery/stationboiler_radiator{ dir = 8 }, @@ -21826,7 +21820,7 @@ /turf/simulated/floor/tiled, /area/hallway/lower/fore) "loe" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -21877,7 +21871,7 @@ /area/crew_quarters/sleep/cryo) "lpb" = ( /obj/machinery/washing_machine, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Common Channel"; pixel_y = -21 }, @@ -21948,7 +21942,7 @@ /area/civilian/atrium/lower) "lpY" = ( /obj/structure/closet/secure_closet/medical1, -/obj/item/weapon/storage/box/pillbottles, +/obj/item/storage/box/pillbottles, /obj/effect/floor_decal/corner/beige/full{ dir = 8 }, @@ -21983,7 +21977,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; frequency = 1475; name = "Station Intercom (Security)"; @@ -22025,7 +22019,7 @@ /turf/simulated/floor/tiled/dark, /area/security/range) "lsF" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, @@ -22067,11 +22061,11 @@ /area/cryogaia/outpost/tower/east) "luT" = ( /obj/structure/table/glass, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 8 }, -/obj/item/device/radio{ +/obj/item/radio{ anchored = 1; canhear_range = 7; frequency = 1487; @@ -22081,7 +22075,7 @@ pixel_x = -6; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, /obj/machinery/light, /obj/effect/floor_decal/corner/lime{ dir = 10 @@ -22143,7 +22137,7 @@ /obj/structure/window/reinforced{ dir = 1 }, -/obj/item/weapon/gun/energy/laser/practice, +/obj/item/gun/energy/laser/practice, /turf/simulated/floor/tiled/dark, /area/security/range) "lwk" = ( @@ -22329,7 +22323,7 @@ /obj/structure/window/reinforced{ dir = 1 }, -/obj/item/weapon/gun/projectile/shotgun/pump/rifle/practice, +/obj/item/gun/projectile/shotgun/pump/rifle/practice, /obj/item/ammo_magazine/clip/c762/practice, /obj/item/ammo_magazine/clip/c762/practice, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -22451,7 +22445,7 @@ /turf/simulated/floor/tiled/monotile, /area/security/perma/court) "lEA" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Common Channel"; pixel_x = 21 @@ -22547,7 +22541,7 @@ /area/chapel/main) "lHr" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, @@ -22614,7 +22608,7 @@ /obj/structure/table/rack{ dir = 4 }, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /obj/random/maintenance/engineering, /turf/simulated/floor/plating, /area/vacant/vacant_shop) @@ -22640,7 +22634,7 @@ /area/maintenance/security_lower) "lJN" = ( /obj/structure/table/woodentable, -/obj/item/weapon/book/codex/lore/vir, +/obj/item/book/codex/lore/vir, /turf/simulated/floor/tiled/white, /area/crew_quarters/coffee_shop) "lJW" = ( @@ -22714,7 +22708,7 @@ /turf/simulated/floor/tiled/freezer, /area/crew_quarters/pool) "lKX" = ( -/obj/item/weapon/syringe_cartridge, +/obj/item/syringe_cartridge, /turf/simulated/floor, /area/maintenance/atmos_control) "lLb" = ( @@ -22875,18 +22869,18 @@ /obj/effect/landmark{ name = "tripai" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; listening = 0; name = "Custom Channel"; pixel_y = 20 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ frequency = 1343; name = "Private Channel"; pixel_y = -21 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Common Channel"; pixel_x = -21 @@ -22905,7 +22899,7 @@ /area/maintenance/aft) "lPd" = ( /obj/item/frame, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, @@ -22975,16 +22969,16 @@ /area/medical/virologyaccess) "lQf" = ( /obj/structure/table/standard, -/obj/item/weapon/stock_parts/micro_laser, -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/capacitor, -/obj/item/weapon/stock_parts/micro_laser/high, -/obj/item/weapon/stock_parts/micro_laser/high, -/obj/item/weapon/stock_parts/micro_laser/high, -/obj/item/weapon/stock_parts/micro_laser/high, +/obj/item/stock_parts/micro_laser, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/capacitor, +/obj/item/stock_parts/micro_laser/high, +/obj/item/stock_parts/micro_laser/high, +/obj/item/stock_parts/micro_laser/high, +/obj/item/stock_parts/micro_laser/high, /turf/simulated/floor, /area/tcomstorage) "lQp" = ( @@ -23036,8 +23030,8 @@ /area/medical/medbaylower) "lRL" = ( /obj/structure/table/woodentable, -/obj/item/device/camera_film, -/obj/item/device/camera_film, +/obj/item/camera_film, +/obj/item/camera_film, /turf/simulated/floor/wood, /area/library) "lSa" = ( @@ -23284,7 +23278,7 @@ /turf/simulated/floor/wood, /area/maintenance/lowfloor1) "lYO" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled, /area/hallway/lower/fore) "lYS" = ( @@ -23510,8 +23504,8 @@ dir = 8 }, /obj/effect/decal/cleanable/dirt, -/obj/item/device/gps/engineering, -/obj/item/device/flashlight, +/obj/item/gps/engineering, +/obj/item/flashlight, /obj/machinery/status_display{ pixel_x = -32 }, @@ -23529,7 +23523,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -23553,8 +23547,8 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/pen/crayon/marker/blue, -/obj/item/weapon/pen/crayon/marker/red{ +/obj/item/pen/crayon/marker/blue, +/obj/item/pen/crayon/marker/red{ pixel_x = -3; pixel_y = 3 }, @@ -23710,7 +23704,7 @@ "mpt" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table/steel, -/obj/item/weapon/smes_coil/super_capacity, +/obj/item/smes_coil/super_capacity, /obj/effect/floor_decal/corner_techfloor_gray{ dir = 4 }, @@ -23782,7 +23776,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 4; pixel_x = -30 }, @@ -23964,11 +23958,11 @@ icon_state = "1-2" }, /obj/structure/closet/crate, -/obj/item/device/multitool, -/obj/item/device/multitool, -/obj/item/device/assembly/prox_sensor, -/obj/item/device/flashlight, -/obj/item/weapon/storage/backpack, +/obj/item/multitool, +/obj/item/multitool, +/obj/item/assembly/prox_sensor, +/obj/item/flashlight, +/obj/item/storage/backpack, /obj/random/maintenance/cargo, /obj/random/maintenance/cargo, /turf/simulated/floor/plating, @@ -23991,7 +23985,7 @@ icon_state = "1-2" }, /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -30 @@ -24175,7 +24169,7 @@ }, /obj/structure/table/gamblingtable, /obj/effect/decal/cleanable/dirt, -/obj/item/weapon/deck/cards, +/obj/item/deck/cards, /turf/simulated/floor, /area/maintenance/dorm) "mBq" = ( @@ -24183,14 +24177,14 @@ /turf/simulated/floor/plating, /area/maintenance/medical_lower) "mBB" = ( -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 6 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_y = 3 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = -3 }, /obj/structure/table/reinforced, @@ -24432,7 +24426,7 @@ pixel_x = 3; pixel_y = -7 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, @@ -24440,11 +24434,11 @@ pixel_x = 3; pixel_y = -7 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_x = -2; pixel_y = -1 }, @@ -24529,7 +24523,7 @@ /turf/simulated/floor/wood, /area/library) "mIh" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -28 @@ -24565,7 +24559,7 @@ /turf/simulated/floor/reinforced/airless, /area/engineering/atmos) "mIA" = ( -/obj/item/weapon/glass_extra/straw, +/obj/item/glass_extra/straw, /turf/simulated/floor, /area/maintenance/starboard) "mJs" = ( @@ -24632,12 +24626,12 @@ "mKw" = ( /obj/effect/floor_decal/spline/plain, /obj/structure/table/woodentable, -/obj/item/weapon/coin/silver, +/obj/item/coin/silver, /obj/item/clothing/glasses/threedglasses, /turf/simulated/floor/wood, /area/crew_quarters/recreation_area) "mKK" = ( -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ pixel_y = 30 }, /obj/structure/closet/secure_closet/personal, @@ -24756,13 +24750,13 @@ /turf/simulated/floor/water/indoors, /area/crew_quarters/kitchen/fish_farm) "mND" = ( -/obj/machinery/computer/centrifuge, /obj/effect/floor_decal/corner_techfloor_grid{ dir = 9 }, /obj/effect/floor_decal/corner_techfloor_grid{ dir = 6 }, +/obj/machinery/computer/pandemic, /turf/simulated/floor/tiled/white, /area/medical/virology) "mOm" = ( @@ -24849,8 +24843,8 @@ /area/hallway/primary/starboard) "mPZ" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/device/radio/intercom{ +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/radio/intercom{ desc = "Talk... listen through this."; dir = 1; name = "Station Intercom (Brig Radio)"; @@ -24879,7 +24873,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 1; pixel_y = -30 }, @@ -24935,7 +24929,7 @@ /obj/effect/decal/cleanable/dirt, /obj/structure/closet/crate, /obj/random/maintenance/engineering, -/obj/item/weapon/flame/lighter/zippo, +/obj/item/flame/lighter/zippo, /obj/random/tool, /turf/simulated/floor/plating, /area/maintenance/maintroom6) @@ -25010,8 +25004,8 @@ /area/mine/explored/lower_rock) "mVR" = ( /obj/structure/table/woodentable, -/obj/item/weapon/dice/d20, -/obj/item/weapon/dice, +/obj/item/dice/d20, +/obj/item/dice, /obj/structure/cable/green{ d1 = 1; d2 = 8; @@ -25249,7 +25243,7 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/storage/box/masks, +/obj/item/storage/box/masks, /turf/simulated/floor/tiled/white, /area/medical/virology) "nbe" = ( @@ -25289,7 +25283,7 @@ /area/security/prison) "nds" = ( /obj/structure/bed/pillowpilefront/teal, -/obj/item/weapon/bedsheet/pillow/teal, +/obj/item/bedsheet/pillow/teal, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/tiled/techfloor, /area/maintenance/medical_lower) @@ -25735,13 +25729,13 @@ dir = 4; icon_state = "pipe-c" }, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /obj/machinery/stationboiler_radiator, /turf/simulated/floor/tiled/white, /area/crew_quarters/sleep/Dorm_2) "npu" = ( /obj/machinery/photocopier, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 8; pixel_x = 30 }, @@ -25868,7 +25862,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Common Channel"; pixel_y = -21 }, @@ -26151,14 +26145,14 @@ dir = 1; pixel_y = -32 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /turf/simulated/floor/tiled, /area/crew_quarters/fitness) "nCX" = ( /obj/structure/table/wooden_reinforced, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /obj/structure/disposalpipe/segment{ dir = 4 }, @@ -26247,12 +26241,12 @@ /turf/simulated/floor/tiled/hydro, /area/hydroponics) "nFB" = ( -/obj/item/weapon/cane/fluff/tasald, +/obj/item/cane/fluff/tasald, /turf/simulated/floor/wood/sif, /area/maintenance/blueserg/misc) "nFP" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /turf/simulated/floor/plating, /area/maintenance/lowfloor3) "nFQ" = ( @@ -26263,7 +26257,7 @@ /turf/simulated/floor/tiled/white, /area/medical/medbaylower) "nGb" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Common Channel"; pixel_x = 21 @@ -26357,7 +26351,7 @@ /turf/simulated/floor/tiled/freezer, /area/medical/toilet) "nIs" = ( -/obj/item/weapon/bedsheet/pillow/teal, +/obj/item/bedsheet/pillow/teal, /turf/simulated/floor/tiled/techfloor, /area/maintenance/medical_lower) "nIB" = ( @@ -26527,8 +26521,8 @@ /area/engineering/hallway_lower) "nPm" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/box/donkpockets, -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets, +/obj/item/storage/box/donkpockets{ pixel_x = -3; pixel_y = -3 }, @@ -26631,7 +26625,7 @@ /turf/simulated/floor/tiled, /area/hallway/lower/fore) "nST" = ( -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, /turf/simulated/floor, /area/maintenance/starboard) "nSW" = ( @@ -26798,8 +26792,8 @@ /area/medical/virologyaccess) "nWL" = ( /obj/structure/table/rack, -/obj/item/weapon/extinguisher, -/obj/item/weapon/storage/belt/utility, +/obj/item/extinguisher, +/obj/item/storage/belt/utility, /obj/item/clothing/mask/gas, /obj/random/maintenance/research, /obj/random/maintenance/cargo, @@ -26807,7 +26801,7 @@ /area/maintenance/lowfloor3) "nXd" = ( /obj/structure/table/wooden_reinforced, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/lino, /area/vacant/vacant_site/private) "nXj" = ( @@ -26885,7 +26879,7 @@ /area/chapel/main) "nYp" = ( /obj/structure/table/standard, -/obj/item/weapon/phone, +/obj/item/phone, /obj/machinery/light{ dir = 1 }, @@ -26925,7 +26919,7 @@ dir = 1 }, /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/mime, +/obj/item/bedsheet/mime, /obj/structure/cable{ d1 = 4; d2 = 8; @@ -27089,10 +27083,10 @@ /obj/machinery/light{ dir = 4 }, -/obj/item/weapon/shovel, -/obj/item/weapon/shovel, -/obj/item/weapon/soap, -/obj/item/device/radio/intercom{ +/obj/item/shovel, +/obj/item/shovel, +/obj/item/soap, +/obj/item/radio/intercom{ dir = 1; pixel_y = 24; req_access = list() @@ -27108,7 +27102,7 @@ dir = 1 }, /obj/structure/table/steel, -/obj/item/weapon/storage/fancy/candle_box, +/obj/item/storage/fancy/candle_box, /obj/structure/cable{ d1 = 4; d2 = 8; @@ -27127,10 +27121,10 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/material/knife/machete/hatchet, -/obj/item/weapon/material/minihoe, -/obj/item/weapon/material/minihoe, -/obj/item/weapon/material/knife/machete/hatchet, +/obj/item/material/knife/machete/hatchet, +/obj/item/material/minihoe, +/obj/item/material/minihoe, +/obj/item/material/knife/machete/hatchet, /obj/structure/extinguisher_cabinet{ pixel_x = 5; pixel_y = -32 @@ -27346,7 +27340,7 @@ /area/maintenance/aft) "oki" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /obj/machinery/newscaster{ pixel_y = 32 }, @@ -27360,7 +27354,7 @@ /area/tcommsat/entrance) "oli" = ( /obj/structure/table/standard, -/obj/item/weapon/paper{ +/obj/item/paper{ desc = ""; info = "Brusies sustained in the holodeck can be healed simply by sleeping."; name = "Holodeck Disclaimer" @@ -27375,7 +27369,7 @@ dir = 8 }, /obj/structure/closet/secure_closet/engineering_personal, -/obj/item/weapon/storage/pouch/flares/full_flare, +/obj/item/storage/pouch/flares/full_flare, /obj/machinery/light/small{ dir = 8 }, @@ -27665,13 +27659,13 @@ /area/civilian/atrium/lower) "otz" = ( /obj/structure/table/standard, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /obj/machinery/stationboiler_radiator, /turf/simulated/floor/tiled/white, /area/crew_quarters/sleep/Dorm_9) "otA" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/fancy/crayons, +/obj/item/storage/fancy/crayons, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/cable/green{ @@ -27860,8 +27854,8 @@ /area/tcommsat/entrance) "oyv" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/blue{ +/obj/item/paper_bin, +/obj/item/pen/blue{ pixel_x = -3; pixel_y = 2 }, @@ -27955,16 +27949,16 @@ /area/hallway/primary/starboard) "oBX" = ( /obj/structure/table/steel, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/red{ +/obj/item/paper_bin, +/obj/item/pen/red{ pixel_x = -1; pixel_y = -3 }, -/obj/item/weapon/pen/blue{ +/obj/item/pen/blue{ pixel_x = 3; pixel_y = -1 }, -/obj/item/device/camera{ +/obj/item/camera{ name = "Autopsy Camera"; pixel_x = -2; pixel_y = 7 @@ -28248,8 +28242,8 @@ "oKI" = ( /obj/structure/closet/crate, /obj/item/clothing/mask/gas, -/obj/item/device/flashlight, -/obj/item/device/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, /obj/effect/decal/cleanable/dirt, /obj/random/maintenance/medical, /obj/random/maintenance/medical, @@ -28263,7 +28257,7 @@ dir = 1 }, /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/purple, +/obj/item/bedsheet/purple, /obj/structure/cable{ d1 = 4; d2 = 8; @@ -28275,7 +28269,7 @@ /obj/effect/floor_decal/industrial/warning{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Common Channel"; pixel_y = -21 }, @@ -28544,13 +28538,13 @@ /obj/machinery/alarm/yw{ pixel_y = 23 }, -/obj/item/weapon/camera_assembly, +/obj/item/camera_assembly, /turf/simulated/floor/tiled, /area/vacant/vacant_site/locker) "oRS" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/mime, -/obj/item/weapon/pen/crayon/mime, +/obj/item/bedsheet/mime, +/obj/item/pen/crayon/mime, /obj/effect/decal/cleanable/cobweb2, /turf/simulated/floor, /area/maintenance/chapel) @@ -28636,7 +28630,7 @@ /obj/item/clothing/suit/storage/hooded/wintercoat/snowsuit/medical, /obj/item/clothing/shoes/boots/winter/medical, /obj/item/clothing/shoes/boots/winter/medical, -/obj/item/device/gps/medical, +/obj/item/gps/medical, /turf/simulated/floor/tiled/dark, /area/medical/medbay_emt_storage) "oSR" = ( @@ -28708,7 +28702,7 @@ /area/medical/morgue) "oUX" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, /obj/machinery/light_switch{ name = "light switch "; pixel_y = 36 @@ -28750,7 +28744,7 @@ d2 = 8; icon_state = "4-8" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -28833,7 +28827,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 }, -/obj/item/device/assembly/mousetrap/armed, +/obj/item/assembly/mousetrap/armed, /turf/simulated/floor, /area/maintenance/atmos_control) "oXU" = ( @@ -28847,14 +28841,14 @@ /area/maintenance/starboard) "oYt" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 6 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_y = 3 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = -3 }, /turf/simulated/floor/tiled, @@ -29138,7 +29132,7 @@ /obj/machinery/camera/autoname{ dir = 4 }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 4; pixel_x = -30 }, @@ -29214,8 +29208,8 @@ /area/medical/virology) "phL" = ( /obj/structure/table/standard, -/obj/item/weapon/fluff/fidgetspinner, -/obj/item/weapon/storage/backpack/chameleon, +/obj/item/fluff/fidgetspinner, +/obj/item/storage/backpack/chameleon, /turf/simulated/floor/carpet, /area/maintenance/maintroom2) "pij" = ( @@ -29499,12 +29493,12 @@ /area/engineering/hallway_lower) "pnQ" = ( /obj/structure/table/glass, -/obj/item/weapon/folder/white, -/obj/item/weapon/hand_labeler, +/obj/item/folder/white, +/obj/item/hand_labeler, /obj/structure/extinguisher_cabinet{ pixel_y = -27 }, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = -4 }, /obj/effect/floor_decal/corner/lime/full{ @@ -29513,19 +29507,19 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, -/obj/item/weapon/book/manual/virology, +/obj/item/book/manual/virology, /turf/simulated/floor/tiled/white, /area/medical/virology) "pob" = ( /obj/structure/table/standard, -/obj/item/weapon/aiModule/freeform, +/obj/item/aiModule/freeform, /obj/effect/floor_decal/techfloor{ dir = 6 }, /turf/simulated/floor/bluegrid, /area/ai_upload) "pok" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled/white, /area/crew_quarters/coffee_shop) "pop" = ( @@ -29674,7 +29668,7 @@ /area/maintenance/blueserg/dorms) "prL" = ( /obj/structure/table/standard, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /obj/machinery/stationboiler_radiator, /turf/simulated/floor/tiled/white, /area/crew_quarters/sleep/Dorm_10) @@ -29998,21 +29992,21 @@ icon_state = "2-8" }, /obj/structure/table/steel, -/obj/item/device/communicator, -/obj/item/device/communicator, -/obj/item/device/communicator, -/obj/item/device/communicator, -/obj/item/device/radio/headset, -/obj/item/device/radio/headset, -/obj/item/device/radio/headset, -/obj/item/device/radio/headset, +/obj/item/communicator, +/obj/item/communicator, +/obj/item/communicator, +/obj/item/communicator, +/obj/item/radio/headset, +/obj/item/radio/headset, +/obj/item/radio/headset, +/obj/item/radio/headset, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 }, /turf/simulated/floor/tiled, /area/security/perma/control) "pAt" = ( -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /obj/structure/table/rack/shelf, /turf/simulated/floor/tiled/techfloor, /area/maintenance/atmos_control) @@ -30235,7 +30229,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 8; pixel_x = 30 }, @@ -30243,7 +30237,7 @@ /area/hallway/lower/dorms) "pIA" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, @@ -30269,7 +30263,7 @@ /area/crew_quarters/sleep/cryo) "pJp" = ( /obj/structure/bed/chair/comfy/black, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -30282,7 +30276,7 @@ dir = 4 }, /obj/effect/floor_decal/corner/blue, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 8; pixel_x = 30 }, @@ -30325,7 +30319,7 @@ /area/library) "pKL" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/double, +/obj/item/bedsheet/double, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, @@ -30362,7 +30356,7 @@ /turf/simulated/floor, /area/maintenance/aft) "pLh" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 1 }, /turf/simulated/floor/wood/alt/tile, @@ -30440,7 +30434,7 @@ /area/ai_foyer) "pMq" = ( /obj/structure/bed/pillowpilefront/white, -/obj/item/weapon/bedsheet/pillow/white, +/obj/item/bedsheet/pillow/white, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/tiled/techfloor, /area/maintenance/medical_lower) @@ -30472,8 +30466,8 @@ /turf/simulated/floor/plating, /area/chapel/office) "pNa" = ( -/obj/item/weapon/storage/box/pillbottles, -/obj/item/weapon/storage/pill_bottle/zoom, +/obj/item/storage/box/pillbottles, +/obj/item/storage/pill_bottle/zoom, /turf/simulated/floor/tiled, /area/maintenance/maintroom3) "pNm" = ( @@ -30492,7 +30486,7 @@ "pNO" = ( /obj/effect/floor_decal/rust, /obj/random/junk, -/obj/item/device/binoculars/spyglass, +/obj/item/binoculars/spyglass, /obj/structure/loot_pile/maint/boxfort, /obj/structure/micro_tunnel{ dir = 1; @@ -30507,7 +30501,7 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/pipe_dispenser, +/obj/item/pipe_dispenser, /turf/simulated/floor/tiled, /area/engineering/atmos/monitoring) "pNZ" = ( @@ -30600,7 +30594,7 @@ d2 = 2; icon_state = "1-2" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Common Channel"; pixel_x = 21 @@ -30616,7 +30610,7 @@ "pQu" = ( /obj/effect/floor_decal/techfloor, /obj/structure/table/steel, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /obj/random/medical/lite, /turf/simulated/floor/tiled/techfloor, /area/maintenance/lowfloor3) @@ -30637,7 +30631,7 @@ /turf/simulated/floor/tiled/steel_grid, /area/crew_quarters/fitness) "pQJ" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/wood/sif, /area/maintenance/blueserg) "pQN" = ( @@ -30650,7 +30644,7 @@ /obj/structure/reagent_dispensers/virusfood{ pixel_x = -30 }, -/obj/item/weapon/reagent_containers/glass/beaker, +/obj/item/reagent_containers/glass/beaker, /obj/effect/floor_decal/corner/lime{ dir = 9 }, @@ -30661,7 +30655,7 @@ c_tag = "Virology Lab South"; dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ canhear_range = 5; frequency = 1487; listening = 0; @@ -30829,7 +30823,7 @@ /area/security/perma) "pVV" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = 1; pixel_y = 5 }, @@ -30857,7 +30851,7 @@ /turf/simulated/floor/tiled/techfloor, /area/maintenance/aft) "pWH" = ( -/obj/item/device/camera, +/obj/item/camera, /obj/structure/table/steel, /turf/simulated/floor/plating, /area/maintenance/maintroom4) @@ -30885,8 +30879,8 @@ }, /area/tcommsat/chamber) "pXU" = ( -/obj/item/weapon/gun/launcher/syringe, -/obj/item/weapon/storage/box/syringegun, +/obj/item/gun/launcher/syringe, +/obj/item/storage/box/syringegun, /obj/structure/table/steel, /obj/machinery/light{ dir = 8 @@ -31024,7 +31018,7 @@ pixel_x = 32; pixel_y = -3 }, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/button/remote/blast_door{ id = "brigobs"; name = "Observation Shutters"; @@ -31089,7 +31083,7 @@ d2 = 8; icon_state = "4-8" }, -/obj/item/weapon/storage/fancy/candle_box, +/obj/item/storage/fancy/candle_box, /obj/structure/disposalpipe/segment{ dir = 4 }, @@ -31322,8 +31316,8 @@ pixel_x = 24 }, /obj/structure/table/rack, -/obj/item/weapon/extinguisher, -/obj/item/weapon/storage/belt/utility, +/obj/item/extinguisher, +/obj/item/storage/belt/utility, /obj/item/clothing/mask/gas, /obj/random/maintenance/research, /obj/random/maintenance/cargo, @@ -31351,7 +31345,7 @@ /obj/effect/floor_decal/corner/red{ dir = 10 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; frequency = 1475; name = "Station Intercom (Security)"; @@ -31425,11 +31419,11 @@ /area/medical/toilet) "qkE" = ( /obj/structure/table/woodentable, -/obj/item/weapon/pen/red{ +/obj/item/pen/red{ pixel_x = 2; pixel_y = 6 }, -/obj/item/weapon/pen/blue{ +/obj/item/pen/blue{ pixel_x = 5; pixel_y = 5 }, @@ -31455,7 +31449,7 @@ /area/engineering/atmos) "qlM" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/folder, +/obj/item/folder, /turf/simulated/floor/lino, /area/vacant/vacant_site/private) "qmc" = ( @@ -31472,8 +31466,8 @@ /area/medical/biostorage3) "qmt" = ( /obj/structure/table/rack/shelf, -/obj/item/device/taperecorder, -/obj/item/device/camera{ +/obj/item/taperecorder, +/obj/item/camera{ desc = "A one use - polaroid camera. 30 photos left."; name = "detectives camera"; pictures_left = 30; @@ -31703,7 +31697,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Common Channel"; pixel_y = 21 @@ -31749,7 +31743,7 @@ /area/engineering/atmos) "qwk" = ( /obj/machinery/light, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled/freezer, /area/crew_quarters/pool) "qwl" = ( @@ -32031,7 +32025,7 @@ /area/maintenance/fish) "qDV" = ( /obj/structure/reagent_dispensers/watertank, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /turf/simulated/floor/tiled, /area/security/perma) "qDW" = ( @@ -32041,7 +32035,7 @@ /turf/simulated/floor/plating, /area/maintenance/lowfloor1) "qEW" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled, /area/security/perma) "qFg" = ( @@ -32108,7 +32102,7 @@ /turf/simulated/floor, /area/maintenance/security_lower) "qGF" = ( -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 8; pixel_x = 30 }, @@ -32116,12 +32110,12 @@ /area/medical/morgue) "qHa" = ( /obj/structure/table/woodentable, -/obj/item/weapon/bone/skull{ +/obj/item/bone/skull{ pixel_x = -7; pixel_y = 8 }, /obj/random/potion_ingredient, -/obj/item/weapon/ore/diamond{ +/obj/item/ore/diamond{ pixel_x = 6; pixel_y = 13 }, @@ -32143,7 +32137,7 @@ /area/medical/virology) "qIl" = ( /obj/structure/closet/crate/medical, -/obj/item/weapon/reagent_containers/syringe, +/obj/item/reagent_containers/syringe, /obj/random/maintenance/medical, /obj/random/maintenance/medical, /obj/random/firstaid, @@ -32173,7 +32167,7 @@ /turf/simulated/floor, /area/maintenance/aft) "qJH" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/structure/disposalpipe/segment{ dir = 4 }, @@ -32239,7 +32233,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 1; pixel_y = -30 }, @@ -32407,8 +32401,8 @@ /area/crew_quarters/recreation_area) "qPW" = ( /obj/structure/closet/cabinet, -/obj/item/device/uv_light, -/obj/item/weapon/storage/box/evidence, +/obj/item/uv_light, +/obj/item/storage/box/evidence, /turf/simulated/floor/wood, /area/vacant/vacant_site/private) "qQe" = ( @@ -32514,7 +32508,7 @@ /turf/simulated/floor, /area/mine/explored/lower_rock) "qVM" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Common Channel"; pixel_x = 21 @@ -32930,8 +32924,8 @@ /area/crew_quarters/kitchen/fish_farm) "rih" = ( /obj/structure/closet/crate, -/obj/item/device/aicard, -/obj/item/device/multitool, +/obj/item/aicard, +/obj/item/multitool, /turf/simulated/floor/tiled/dark, /area/tcommsat/entrance) "rij" = ( @@ -33027,33 +33021,33 @@ /area/rnd/lab) "rjV" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8; pixel_y = -4 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = -4 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = 8; pixel_y = 12 }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ +/obj/item/reagent_containers/food/drinks/cup{ pixel_x = -4; pixel_y = 12 }, @@ -33234,11 +33228,11 @@ /area/chapel/office) "rpt" = ( /obj/structure/table/standard, -/obj/item/weapon/stock_parts/subspace/sub_filter, -/obj/item/weapon/stock_parts/subspace/sub_filter, -/obj/item/weapon/stock_parts/subspace/sub_filter, -/obj/item/weapon/stock_parts/subspace/sub_filter, -/obj/item/weapon/stock_parts/subspace/sub_filter, +/obj/item/stock_parts/subspace/sub_filter, +/obj/item/stock_parts/subspace/sub_filter, +/obj/item/stock_parts/subspace/sub_filter, +/obj/item/stock_parts/subspace/sub_filter, +/obj/item/stock_parts/subspace/sub_filter, /turf/simulated/floor, /area/tcomstorage) "rpu" = ( @@ -33275,11 +33269,11 @@ /area/tcommsat/computer) "rrf" = ( /obj/structure/table/standard, -/obj/item/device/defib_kit, -/obj/item/device/defib_kit, -/obj/item/device/defib_kit, -/obj/item/weapon/storage/box/beakers, -/obj/item/weapon/storage/box/syringes, +/obj/item/defib_kit, +/obj/item/defib_kit, +/obj/item/defib_kit, +/obj/item/storage/box/beakers, +/obj/item/storage/box/syringes, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, @@ -33366,7 +33360,7 @@ c_tag = "Atmospherics Southeast - Tanks"; dir = 8 }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 8; pixel_x = 30 }, @@ -33412,7 +33406,7 @@ /area/maintenance/dorm) "ruZ" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/reagent_containers/food/drinks/bottle/rum{ +/obj/item/reagent_containers/food/drinks/bottle/rum{ desc = "TASTE DEMOCRACY"; name = "Managed Democra-cider" }, @@ -33430,7 +33424,7 @@ name = "Medbay Emergency Lockdown Shutters"; opacity = 0 }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ pixel_y = 30 }, /turf/simulated/floor/tiled/dark, @@ -33531,8 +33525,8 @@ }, /obj/machinery/light, /obj/structure/closet/emcloset, -/obj/item/weapon/storage/toolbox/emergency, -/obj/item/device/radio/intercom{ +/obj/item/storage/toolbox/emergency, +/obj/item/radio/intercom{ name = "Common Channel"; pixel_y = -21 }, @@ -33641,8 +33635,8 @@ /area/crew_quarters/pool) "rAZ" = ( /obj/structure/mopbucket, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/mop, +/obj/item/reagent_containers/glass/bucket, +/obj/item/mop, /turf/simulated/floor/wood/sif, /area/maintenance/blueserg/misc) "rBe" = ( @@ -33700,7 +33694,7 @@ /area/library) "rDs" = ( /obj/machinery/portable_atmospherics/hydroponics, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Common Channel"; pixel_y = -21 }, @@ -33736,7 +33730,7 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, /obj/machinery/atmospherics/unary/vent_pump/siphon/on/atmos/relief{ dir = 8 }, @@ -33863,7 +33857,7 @@ /area/maintenance/lowfloor1) "rHd" = ( /obj/effect/floor_decal/spline/plain, -/obj/item/weapon/storage/box/cups, +/obj/item/storage/box/cups, /obj/structure/table/woodentable, /turf/simulated/floor/wood, /area/crew_quarters/recreation_area) @@ -33939,7 +33933,7 @@ /turf/simulated/floor/tiled/dark, /area/maintenance/maintroom8) "rJy" = ( -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 1; pixel_y = -30 }, @@ -34079,7 +34073,7 @@ /turf/simulated/floor/tiled, /area/hallway/primary/starboard) "rNA" = ( -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 1; pixel_y = -30 }, @@ -34148,7 +34142,7 @@ /area/maintenance/lowfloor3) "rPC" = ( /obj/structure/table/glass, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -34303,7 +34297,7 @@ /area/vacant/vacant_site/locker) "rUt" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp{ +/obj/item/flashlight/lamp{ pixel_y = 10 }, /turf/simulated/floor/lino, @@ -34342,7 +34336,7 @@ "rVw" = ( /obj/structure/closet/crate, /obj/item/clothing/glasses/meson/prescription, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /obj/random/maintenance/security, /obj/random/maintenance/security, /obj/random/maintenance/security, @@ -34361,18 +34355,18 @@ /area/ai_upload_foyer) "rWn" = ( /obj/structure/table/woodentable, -/obj/item/device/taperecorder, +/obj/item/taperecorder, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, /obj/machinery/newscaster{ pixel_y = -28 }, -/obj/item/device/retail_scanner/civilian{ +/obj/item/retail_scanner/civilian{ dir = 1 }, -/obj/item/device/camera, -/obj/item/device/tape, +/obj/item/camera, +/obj/item/tape, /turf/simulated/floor/carpet, /area/library) "rWB" = ( @@ -34443,7 +34437,7 @@ /turf/simulated/floor/tiled/white, /area/crew_quarters/coffee_shop) "rXU" = ( -/obj/item/device/radio/intercom/department/medbay, +/obj/item/radio/intercom/department/medbay, /turf/simulated/wall, /area/medical/chemistry) "rYh" = ( @@ -34453,7 +34447,7 @@ /turf/simulated/floor/tiled/techfloor, /area/cryogaia/outpost/tower/west) "rYk" = ( -/obj/item/weapon/storage/rollingpapers, +/obj/item/storage/rollingpapers, /obj/effect/decal/cleanable/cobweb2{ icon_state = "cobweb1" }, @@ -34679,13 +34673,13 @@ /obj/structure/table/standard, /obj/structure/table/standard, /obj/item/stack/cable_coil, -/obj/item/device/multitool, +/obj/item/multitool, /obj/machinery/cell_charger, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, @@ -34733,7 +34727,7 @@ /area/maintenance/maintroom4) "shF" = ( /obj/structure/mopbucket, -/obj/item/weapon/mop, +/obj/item/mop, /obj/machinery/light{ dir = 4 }, @@ -34766,14 +34760,14 @@ "sja" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 4; pixel_x = -30 }, /turf/simulated/floor/tiled, /area/engineering/atmos) "sjv" = ( -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /obj/item/stack/rods, @@ -34904,8 +34898,8 @@ "smm" = ( /obj/machinery/light/small, /obj/structure/mopbucket, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/mop, +/obj/item/reagent_containers/glass/bucket, +/obj/item/mop, /turf/simulated/floor/tiled, /area/maintenance/maintroom1) "smp" = ( @@ -34937,7 +34931,7 @@ /area/ai) "soc" = ( /obj/structure/table/standard, -/obj/item/device/assembly/igniter, +/obj/item/assembly/igniter, /turf/simulated/floor/reinforced, /area/rnd/lab) "sod" = ( @@ -35004,7 +34998,7 @@ /turf/simulated/floor, /area/maintenance/atmos_control) "sqv" = ( -/obj/item/device/radio/beacon, +/obj/item/radio/beacon, /turf/simulated/floor/tiled, /area/hallway/lower/aft) "sqw" = ( @@ -35023,7 +35017,7 @@ /area/crew_quarters/recreation_area_restroom) "sqS" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/glasses, +/obj/item/storage/box/glasses, /turf/simulated/floor/lino, /area/maintenance/blueserg) "srK" = ( @@ -35117,8 +35111,8 @@ /area/hallway/lower/central) "suy" = ( /obj/structure/table/woodentable, -/obj/item/weapon/nullrod, -/obj/item/weapon/reagent_containers/food/drinks/bottle/holywater, +/obj/item/nullrod, +/obj/item/reagent_containers/food/drinks/bottle/holywater, /turf/simulated/floor/lino, /area/chapel/main) "suE" = ( @@ -35256,7 +35250,7 @@ /turf/simulated/floor/plating, /area/maintenance/medical_lower) "sxT" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 }, @@ -35406,22 +35400,22 @@ /turf/simulated/floor/wood, /area/library) "sBM" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Common Channel"; pixel_y = -21 }, /turf/simulated/floor/carpet, /area/chapel/main) "sBW" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled, /area/vacant/vacant_site/locker) "sBZ" = ( /obj/structure/closet{ name = "Prisoner's Locker" }, -/obj/item/weapon/flame/lighter/zippo, -/obj/item/weapon/storage/fancy/cigarettes, +/obj/item/flame/lighter/zippo, +/obj/item/storage/fancy/cigarettes, /obj/machinery/light{ dir = 1 }, @@ -35479,12 +35473,12 @@ /turf/simulated/floor/bluegrid, /area/ai_upload) "sEj" = ( -/obj/item/weapon/storage/box/syringes{ +/obj/item/storage/box/syringes{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/box/beakers, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/storage/box/beakers, +/obj/item/reagent_containers/dropper, /obj/structure/table/glass, /obj/machinery/firealarm{ dir = 4; @@ -35502,7 +35496,7 @@ /area/crew_quarters/pool) "sER" = ( /obj/structure/table/steel, -/obj/item/weapon/tape_roll, +/obj/item/tape_roll, /obj/item/stack/medical/bruise_pack, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/tiled/techfloor, @@ -35729,7 +35723,7 @@ /area/civilian/atrium/lower) "sKi" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = 1; pixel_y = 5 }, @@ -35813,7 +35807,7 @@ /turf/simulated/floor/carpet/bcarpet, /area/chapel/main) "sMe" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/chapel{ dir = 1 }, @@ -35854,7 +35848,7 @@ "sMJ" = ( /obj/effect/floor_decal/techfloor, /obj/structure/table/steel, -/obj/item/weapon/tape_roll, +/obj/item/tape_roll, /turf/simulated/floor/tiled/techfloor, /area/maintenance/lowfloor3) "sNc" = ( @@ -35885,10 +35879,12 @@ /turf/simulated/floor, /area/maintenance/atmos_control) "sNA" = ( -/obj/machinery/disease2/incubator, /obj/effect/floor_decal/corner/lime/full{ dir = 8 }, +/obj/structure/table/standard{ + name = "plastic table frame" + }, /turf/simulated/floor/tiled/white, /area/medical/virology) "sNY" = ( @@ -35932,12 +35928,12 @@ "sPG" = ( /obj/structure/table/woodentable, /obj/effect/decal/cleanable/dirt, -/obj/item/weapon/pen, +/obj/item/pen, /obj/random/tool, /turf/simulated/floor/carpet, /area/maintenance/maintroom6) "sPM" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/chapel{ dir = 1 }, @@ -36135,7 +36131,7 @@ /turf/simulated/floor/tiled/dark, /area/chapel/main) "sUf" = ( -/obj/item/weapon/mop, +/obj/item/mop, /turf/simulated/floor/plating, /area/maintenance/lowfloor3) "sUj" = ( @@ -36308,19 +36304,19 @@ name = "Atmos RC"; pixel_y = 28 }, -/obj/item/device/t_scanner, -/obj/item/device/multitool{ +/obj/item/t_scanner, +/obj/item/multitool{ pixel_x = 5 }, -/obj/item/device/radio/headset/headset_eng, -/obj/item/weapon/cartridge/atmos, +/obj/item/radio/headset/headset_eng, +/obj/item/cartridge/atmos, /obj/machinery/light{ dir = 8 }, /obj/item/clothing/ears/earmuffs, /obj/item/clothing/ears/earmuffs, -/obj/item/weapon/cartridge/atmos, -/obj/item/device/pipe_painter, +/obj/item/cartridge/atmos, +/obj/item/pipe_painter, /turf/simulated/floor/tiled, /area/engineering/atmos) "sZy" = ( @@ -36492,7 +36488,7 @@ /obj/structure/window/reinforced, /obj/machinery/door/window/northright, /obj/item/clothing/mask/gas, -/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, /obj/item/clothing/suit/storage/hooded/wintercoat/snowsuit, /turf/simulated/floor/tiled/dark, /area/ai_monitored/storage/emergency/eva) @@ -36543,7 +36539,7 @@ /area/maintenance/maintroom8) "teu" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_x = -2; pixel_y = -1 }, @@ -36615,7 +36611,7 @@ /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_4) "tfO" = ( -/obj/item/weapon/bikehorn/rubberducky, +/obj/item/bikehorn/rubberducky, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/freezer, @@ -36701,7 +36697,7 @@ /turf/simulated/floor/tiled, /area/hallway/lower/dorms) "tiJ" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/ai_status_display{ pixel_y = 32 }, @@ -36970,11 +36966,11 @@ /area/rnd/lab) "tpt" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/lockbox/vials, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/reagent_containers/syringe/antiviral, +/obj/item/storage/lockbox/vials, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/syringe/antiviral, /obj/machinery/requests_console{ department = "Virology"; name = "Virology Requests Console"; @@ -37219,7 +37215,7 @@ /turf/simulated/floor/tiled/white, /area/medical/medbaylower) "twJ" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Common Channel"; pixel_y = 21 @@ -37259,7 +37255,7 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/hand_labeler, +/obj/item/hand_labeler, /obj/machinery/light, /obj/effect/floor_decal/corner/beige{ dir = 10 @@ -37312,8 +37308,8 @@ "tzh" = ( /obj/structure/table/gamblingtable, /obj/structure/safe/floor, -/obj/item/weapon/storage/bag/cash, -/obj/item/weapon/gun/projectile/pistol, +/obj/item/storage/bag/cash, +/obj/item/gun/projectile/pistol, /turf/simulated/floor/carpet/bcarpet, /area/vacant/vacant_office) "tzF" = ( @@ -37514,14 +37510,14 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/tank/oxygen, -/obj/item/weapon/tank/oxygen, +/obj/item/tank/oxygen, +/obj/item/tank/oxygen, /obj/item/clothing/mask/breath, /obj/item/clothing/mask/breath, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/extinguisher, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/storage/box/lights/mixed, +/obj/item/extinguisher, /obj/random/maintenance/medical, /obj/random/maintenance/medical, /turf/simulated/floor/plating, @@ -37589,7 +37585,7 @@ dir = 5 }, /obj/structure/coatrack, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 1; pixel_y = -30 }, @@ -37973,8 +37969,8 @@ d2 = 2; icon_state = "0-2" }, -/mob/living/silicon/robot/ai_shell, /obj/machinery/atmospherics/unary/vent_pump/siphon/on/atmos/relief, +/obj/effect/landmark/free_ai_shell, /turf/simulated/floor/tiled/dark, /area/ai_server_room) "tOY" = ( @@ -38278,10 +38274,10 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/towel, -/obj/item/weapon/towel, -/obj/item/weapon/towel, -/obj/item/weapon/towel, +/obj/item/towel, +/obj/item/towel, +/obj/item/towel, +/obj/item/towel, /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/tiled/white, /area/medical/virology) @@ -38371,7 +38367,7 @@ }, /area/crew_quarters/fitness) "tYQ" = ( -/obj/item/weapon/oldtwohanded/spear, +/obj/item/oldtwohanded/spear, /turf/simulated/floor/tiled{ icon_state = "techmaint" }, @@ -38391,7 +38387,7 @@ /area/maintenance/maintroom6) "tZf" = ( /obj/structure/table/standard, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /obj/machinery/stationboiler_radiator, /turf/simulated/floor/tiled/white, /area/crew_quarters/sleep/Dorm_6) @@ -38467,7 +38463,7 @@ dir = 1 }, /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/red, +/obj/item/bedsheet/red, /obj/machinery/light/small{ dir = 1 }, @@ -38621,7 +38617,7 @@ /area/mine/explored/lower_rock) "ueB" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/fancy/vials, +/obj/item/storage/fancy/vials, /obj/effect/floor_decal/corner/lime{ dir = 6 }, @@ -38676,7 +38672,7 @@ }, /obj/structure/table/standard, /obj/machinery/cell_charger, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /obj/structure/fireaxecabinet{ pixel_y = 32 }, @@ -38686,7 +38682,7 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/storage/lockbox/vials, +/obj/item/storage/lockbox/vials, /obj/effect/floor_decal/corner/lime{ dir = 1 }, @@ -38789,7 +38785,7 @@ /area/maintenance/maintroom1) "uhN" = ( /obj/structure/table/woodentable, -/obj/item/weapon/book/codex/lore/news, +/obj/item/book/codex/lore/news, /obj/effect/decal/cleanable/dirt, /obj/machinery/light_construct{ dir = 4 @@ -38952,7 +38948,7 @@ /turf/simulated/floor, /area/maintenance/starboard) "umm" = ( -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /obj/structure/bed/padded, /obj/machinery/stationboiler_radiator, /turf/simulated/floor/tiled, @@ -38995,7 +38991,7 @@ /area/medical/virology) "unH" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/box/lights, +/obj/item/storage/box/lights, /turf/simulated/floor/tiled, /area/maintenance/maintroom1) "unS" = ( @@ -39017,7 +39013,7 @@ /turf/simulated/floor/tiled/techfloor, /area/ai_upload) "uoQ" = ( -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/floor, /area/tcomstorage) "upP" = ( @@ -39266,7 +39262,7 @@ /area/maintenance/lowfloor1) "uuX" = ( /obj/structure/table/standard, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /obj/machinery/stationboiler_radiator, /turf/simulated/floor/tiled/white, /area/crew_quarters/sleep/Dorm_8) @@ -39325,7 +39321,7 @@ /turf/simulated/floor/wood, /area/library) "uwA" = ( -/obj/item/weapon/oldtwohanded/spear, +/obj/item/oldtwohanded/spear, /turf/simulated/floor, /area/mine/explored/lower_rock) "uwK" = ( @@ -39653,8 +39649,8 @@ /area/engineering/atmos/monitoring) "uHc" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/box/bodybags, -/obj/item/weapon/storage/box/bodybags{ +/obj/item/storage/box/bodybags, +/obj/item/storage/box/bodybags{ pixel_x = 4; pixel_y = 4 }, @@ -39704,7 +39700,7 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/device/radio{ +/obj/item/radio{ anchored = 1; canhear_range = 7; frequency = 1487; @@ -40048,7 +40044,7 @@ /area/vacant/vacant_site/private) "uNu" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/flame/candle/candelabra/everburn, +/obj/item/flame/candle/candelabra/everburn, /obj/effect/decal/shadow/silhouette, /turf/simulated/floor/carpet, /area/chapel/office) @@ -40094,12 +40090,12 @@ /turf/simulated/floor/tiled/techfloor, /area/tcommsat/computer) "uOB" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /turf/simulated/floor/tiled/white, /area/medical/virology) "uPg" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/chapel{ dir = 4 }, @@ -40251,7 +40247,7 @@ pixel_x = -12; pixel_y = 2 }, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, /obj/machinery/power/apc{ name = "south bump"; pixel_y = -32 @@ -40315,18 +40311,18 @@ /obj/effect/landmark/start{ name = "AI" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Common Channel"; pixel_y = -21 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; listening = 0; name = "Custom Channel"; pixel_x = -21; pixel_y = -10 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; frequency = 1343; name = "Private Channel"; @@ -40351,12 +40347,12 @@ /area/mine/explored/lower_rock) "uTx" = ( /obj/structure/table/standard, -/obj/item/weapon/stock_parts/subspace/crystal, -/obj/item/weapon/stock_parts/subspace/crystal, -/obj/item/weapon/stock_parts/subspace/crystal, -/obj/item/weapon/bluespace_crystal/artificial, -/obj/item/weapon/bluespace_crystal/artificial, -/obj/item/weapon/bluespace_crystal/artificial, +/obj/item/stock_parts/subspace/crystal, +/obj/item/stock_parts/subspace/crystal, +/obj/item/stock_parts/subspace/crystal, +/obj/item/bluespace_crystal/artificial, +/obj/item/bluespace_crystal/artificial, +/obj/item/bluespace_crystal/artificial, /turf/simulated/floor, /area/tcomstorage) "uTI" = ( @@ -40379,10 +40375,10 @@ /turf/simulated/floor/tiled, /area/engineering/atmos) "uUx" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -24 }, -/obj/item/weapon/reagent_containers/food/condiment/small/packet/protein_powder/chocolate, +/obj/item/reagent_containers/food/condiment/small/packet/protein_powder/chocolate, /obj/machinery/newscaster{ pixel_x = 32 }, @@ -40484,8 +40480,8 @@ /area/medical/chemistry) "uYK" = ( /obj/structure/table/standard, -/obj/item/device/t_scanner, -/obj/item/weapon/storage/briefcase/inflatable, +/obj/item/t_scanner, +/obj/item/storage/briefcase/inflatable, /turf/simulated/floor/tiled/techfloor, /area/engineering/hallway_lower) "uZx" = ( @@ -40603,7 +40599,7 @@ /turf/simulated/floor/tiled/white, /area/crew_quarters/coffee_shop) "vbY" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor, /area/maintenance/atmos_control) @@ -40653,15 +40649,15 @@ /area/engineering/hallway_lower) "vdH" = ( /obj/structure/table/woodentable, -/obj/item/weapon/pen/blue{ +/obj/item/pen/blue{ pixel_x = -5; pixel_y = -1 }, -/obj/item/weapon/pen/red{ +/obj/item/pen/red{ pixel_x = -1; pixel_y = 3 }, -/obj/item/weapon/book/codex/lore/vir, +/obj/item/book/codex/lore/vir, /turf/simulated/floor/carpet, /area/library) "vdW" = ( @@ -40735,7 +40731,7 @@ /turf/simulated/floor/wood/sif, /area/maintenance/blueserg) "vfP" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/light_switch{ dir = 8; pixel_x = 28 @@ -40845,8 +40841,8 @@ /area/crew_quarters/sleep/Dorm_6) "vhB" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper, -/obj/item/weapon/pen, +/obj/item/paper, +/obj/item/pen, /obj/machinery/newscaster{ pixel_x = 30 }, @@ -40870,7 +40866,7 @@ /area/library) "viB" = ( /obj/item/roller, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, @@ -40883,7 +40879,7 @@ /obj/machinery/computer/telecomms/monitor{ network = "tcommsat" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "General Listening Channel"; pixel_x = 28 }, @@ -40901,15 +40897,15 @@ /area/rnd/storage) "vjW" = ( /obj/structure/table/rack, -/obj/item/weapon/circuitboard/telecomms/processor, -/obj/item/weapon/circuitboard/telecomms/processor, -/obj/item/weapon/circuitboard/telecomms/receiver, -/obj/item/weapon/circuitboard/telecomms/server, -/obj/item/weapon/circuitboard/telecomms/server, -/obj/item/weapon/circuitboard/telecomms/bus, -/obj/item/weapon/circuitboard/telecomms/bus, -/obj/item/weapon/circuitboard/telecomms/broadcaster, -/obj/item/weapon/circuitboard/telecomms/exonet_node, +/obj/item/circuitboard/telecomms/processor, +/obj/item/circuitboard/telecomms/processor, +/obj/item/circuitboard/telecomms/receiver, +/obj/item/circuitboard/telecomms/server, +/obj/item/circuitboard/telecomms/server, +/obj/item/circuitboard/telecomms/bus, +/obj/item/circuitboard/telecomms/bus, +/obj/item/circuitboard/telecomms/broadcaster, +/obj/item/circuitboard/telecomms/exonet_node, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, @@ -41008,12 +41004,12 @@ /obj/effect/floor_decal/industrial/outline/red, /obj/effect/floor_decal/industrial/outline/red, /obj/effect/floor_decal/industrial/outline/red, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/item/radio/off, /obj/machinery/alarm/yw{ dir = 1; pixel_y = -22 @@ -41044,8 +41040,8 @@ /area/maintenance/aft) "vnr" = ( /obj/structure/table/steel, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /obj/machinery/light{ dir = 8 }, @@ -41069,7 +41065,7 @@ pixel_y = 8 }, /obj/structure/table/woodentable, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -41116,7 +41112,7 @@ /area/engineering/atmos) "voU" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_2) @@ -41366,7 +41362,7 @@ "vxY" = ( /obj/structure/closet/crate, /obj/random/drinkbottle, -/obj/item/weapon/reagent_containers/food/drinks/bottle/wine, +/obj/item/reagent_containers/food/drinks/bottle/wine, /obj/random/maintenance/clean, /obj/random/maintenance/clean, /turf/simulated/floor/plating, @@ -41456,7 +41452,7 @@ /obj/effect/floor_decal/industrial/warning{ dir = 1 }, -/obj/item/weapon/storage/belt/utility, +/obj/item/storage/belt/utility, /obj/item/clothing/glasses/meson, /turf/simulated/floor/tiled/steel_dirty, /area/maintenance/medical_lower) @@ -41513,7 +41509,7 @@ /obj/structure/catwalk, /obj/random/trash_pile, /obj/random/maintenance/medical, -/obj/item/weapon/flame/lighter, +/obj/item/flame/lighter, /turf/simulated/floor/plating, /area/maintenance/medical_lower) "vBA" = ( @@ -41702,7 +41698,7 @@ /turf/simulated/floor/tiled, /area/maintenance/maintroom1) "vFK" = ( -/obj/item/weapon/pickaxe/two_pick, +/obj/item/pickaxe/two_pick, /turf/simulated/mineral/floor, /area/maintenance/medical_lower) "vFU" = ( @@ -41875,11 +41871,11 @@ /area/medical/virology) "vKT" = ( /obj/structure/table/marble, -/obj/item/weapon/hand_labeler, -/obj/item/weapon/reagent_containers/food/condiment/small/sugar, -/obj/item/weapon/reagent_containers/food/drinks/britcup, -/obj/item/weapon/reagent_containers/food/drinks/britcup, -/obj/item/weapon/reagent_containers/food/drinks/teapot, +/obj/item/hand_labeler, +/obj/item/reagent_containers/food/condiment/small/sugar, +/obj/item/reagent_containers/food/drinks/britcup, +/obj/item/reagent_containers/food/drinks/britcup, +/obj/item/reagent_containers/food/drinks/teapot, /obj/machinery/stationboiler_radiator, /turf/simulated/floor/tiled/yellow, /area/crew_quarters/coffee_shop) @@ -41928,15 +41924,15 @@ /obj/structure/closet/crate/medical{ name = "Empty Medkit Boxes" }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ empty = 1; name = "First-Aid (empty)" }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ empty = 1; name = "First-Aid (empty)" }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ empty = 1; name = "First-Aid (empty)" }, @@ -42025,7 +42021,7 @@ /obj/structure/mirror{ pixel_x = 30 }, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /obj/machinery/alarm/yw{ pixel_y = 22 }, @@ -42047,7 +42043,7 @@ /area/maintenance/medical_lower) "vOl" = ( /obj/structure/coatrack, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 4; pixel_x = -30 }, @@ -42316,7 +42312,7 @@ /turf/simulated/floor/tiled/white, /area/medical/medbaylower) "vUc" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 4 @@ -42477,7 +42473,7 @@ /area/crew_quarters/toilet) "vZg" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_9) "vZu" = ( @@ -42783,7 +42779,7 @@ /turf/simulated/floor/tiled, /area/engineering/atmos) "wix" = ( -/obj/item/weapon/coilgun_assembly, +/obj/item/coilgun_assembly, /turf/simulated/floor, /area/maintenance/starboard) "wiG" = ( @@ -42815,7 +42811,7 @@ /area/hallway/lower/central) "wiZ" = ( /obj/structure/table/woodentable, -/obj/item/weapon/deck/cards, +/obj/item/deck/cards, /turf/simulated/floor/carpet/oracarpet, /area/library_conference_room) "wjn" = ( @@ -42836,7 +42832,7 @@ /obj/effect/floor_decal/corner/lime{ dir = 10 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -42876,7 +42872,7 @@ /turf/simulated/floor/tiled, /area/security/perma) "wmq" = ( -/obj/item/weapon/material/twohanded/baseballbat{ +/obj/item/material/twohanded/baseballbat{ desc = "This bat looks very off."; health = 500 }, @@ -42911,9 +42907,9 @@ /area/crew_quarters/coffee_shop) "wnC" = ( /obj/structure/table/steel, -/obj/item/weapon/flame/candle, -/obj/item/weapon/flame/candle, -/obj/item/weapon/flame/lighter, +/obj/item/flame/candle, +/obj/item/flame/candle, +/obj/item/flame/lighter, /turf/simulated/floor/plating, /area/maintenance/maintroom4) "wnG" = ( @@ -42962,8 +42958,8 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/tank/oxygen, -/obj/item/weapon/storage/belt/utility, +/obj/item/tank/oxygen, +/obj/item/storage/belt/utility, /obj/item/clothing/mask/breath, /obj/random/maintenance/security, /obj/random/maintenance/security, @@ -43046,8 +43042,8 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/item/weapon/book/manual/wizzoffguide, -/obj/item/weapon/deck/wizoff, +/obj/item/book/manual/wizzoffguide, +/obj/item/deck/wizoff, /turf/simulated/floor/carpet/oracarpet, /area/library_conference_room) "wrh" = ( @@ -43076,7 +43072,7 @@ dir = 8 }, /obj/structure/table/standard, -/obj/item/device/multitool, +/obj/item/multitool, /obj/structure/sign/electricshock{ pixel_x = -32 }, @@ -43264,7 +43260,7 @@ /area/library) "wxH" = ( /obj/structure/table/standard, -/obj/item/weapon/gun/projectile/revolver/toy/crossbow, +/obj/item/gun/projectile/revolver/toy/crossbow, /turf/simulated/floor/carpet, /area/maintenance/maintroom2) "wxY" = ( @@ -43326,7 +43322,7 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/device/pipe_painter, +/obj/item/pipe_painter, /turf/simulated/floor/tiled, /area/engineering/atmos/monitoring) "wAw" = ( @@ -43349,7 +43345,7 @@ /area/hydroponics) "wBb" = ( /obj/structure/table/reinforced, -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /obj/effect/floor_decal/industrial/outline/red, /obj/item/clothing/glasses/science, /obj/structure/cable{ @@ -43442,9 +43438,9 @@ /area/maintenance/security_lower) "wDf" = ( /obj/structure/closet/crate, -/obj/item/weapon/tank/air, -/obj/item/weapon/tank/air, -/obj/item/weapon/tank/air, +/obj/item/tank/air, +/obj/item/tank/air, +/obj/item/tank/air, /obj/item/clothing/mask/gas, /obj/effect/decal/cleanable/dirt, /obj/random/maintenance/cargo, @@ -43555,8 +43551,8 @@ /area/holodeck_control) "wGJ" = ( /obj/structure/table/standard, -/obj/item/weapon/folder/yellow, -/obj/item/weapon/folder/yellow, +/obj/item/folder/yellow, +/obj/item/folder/yellow, /obj/machinery/light{ dir = 1 }, @@ -43747,7 +43743,7 @@ /turf/simulated/floor/reinforced/n20, /area/engineering/atmos) "wNz" = ( -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /obj/structure/bed/padded, /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/tiled, @@ -43784,7 +43780,7 @@ /area/crew_quarters/sleep/Dorm_1) "wOL" = ( /obj/structure/table/gamblingtable, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/food/condiment/enzyme, /turf/simulated/floor/wood, /area/maintenance/dorm) "wOZ" = ( @@ -43831,7 +43827,7 @@ /turf/simulated/floor/plating, /area/maintenance/maintroom5) "wQF" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -43955,7 +43951,7 @@ /area/crew_quarters/sleep/cryo) "wTn" = ( /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -24 @@ -43982,7 +43978,7 @@ /area/engineering/hallway_lower) "wTT" = ( /obj/structure/table/standard, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/tiled/dark, /area/tcommsat/computer) "wUF" = ( @@ -44067,7 +44063,7 @@ /area/security/sorting) "wWk" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/teapot, +/obj/item/reagent_containers/food/drinks/teapot, /turf/simulated/floor/wood, /area/maintenance/lowfloor1) "wWr" = ( @@ -44076,7 +44072,7 @@ /area/medical/virology) "wWx" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 1; pixel_y = -30 }, @@ -44114,7 +44110,7 @@ /obj/machinery/vending/cigarette{ name = "Cigarette machine"; prices = list(); - products = list(/obj/item/weapon/storage/fancy/cigarettes=10,/obj/item/weapon/storage/box/matches=10,/obj/item/weapon/flame/lighter/zippo=4,/obj/item/clothing/mask/smokable/cigarette/cigar/havana=2) + products = list(/obj/item/storage/fancy/cigarettes=10,/obj/item/storage/box/matches=10,/obj/item/flame/lighter/zippo=4,/obj/item/clothing/mask/smokable/cigarette/cigar/havana=2) }, /obj/structure/cable{ d1 = 4; @@ -44166,7 +44162,7 @@ /turf/simulated/floor/wood/sif, /area/maintenance/blueserg) "wYZ" = ( -/obj/item/weapon/storage/pill_bottle/happy, +/obj/item/storage/pill_bottle/happy, /turf/simulated/floor/tiled, /area/maintenance/maintroom3) "wZq" = ( @@ -44332,7 +44328,7 @@ /area/maintenance/chapel) "xcx" = ( /obj/structure/table/reinforced, -/obj/item/device/mass_spectrometer/adv, +/obj/item/mass_spectrometer/adv, /obj/item/clothing/glasses/science, /obj/item/clothing/glasses/science, /obj/item/clothing/glasses/science, @@ -44353,7 +44349,7 @@ /area/chapel/main) "xdj" = ( /obj/structure/table/standard, -/obj/item/weapon/flame/candle/white, +/obj/item/flame/candle/white, /turf/simulated/floor/tiled{ icon_state = "monotile" }, @@ -44381,7 +44377,7 @@ d2 = 8; icon_state = "2-8" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk... listen through this."; dir = 1; name = "Station Intercom (Brig Radio)"; @@ -44651,7 +44647,7 @@ /turf/simulated/floor/tiled, /area/security/perma) "xmw" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/random/action_figure, /turf/simulated/floor/plating, /area/maintenance/lowfloor1) @@ -44669,7 +44665,7 @@ /turf/simulated/floor/tiled, /area/hallway/lower/dorms) "xmE" = ( -/obj/item/weapon/glass_extra/straw, +/obj/item/glass_extra/straw, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor, /area/maintenance/starboard) @@ -44748,7 +44744,7 @@ /obj/machinery/light{ dir = 8 }, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/structure/cable/green{ d1 = 1; d2 = 4; @@ -44967,7 +44963,7 @@ /turf/simulated/floor/plating, /area/maintenance/medical_lower) "xro" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ layer = 4; name = "Station Intercom (General)"; pixel_y = -27 @@ -45050,10 +45046,10 @@ /area/medical/virology) "xsX" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/belt/medical, -/obj/item/weapon/storage/belt/medical, -/obj/item/device/healthanalyzer, -/obj/item/device/healthanalyzer, +/obj/item/storage/belt/medical, +/obj/item/storage/belt/medical, +/obj/item/healthanalyzer, +/obj/item/healthanalyzer, /turf/simulated/floor/tiled/dark, /area/medical/biostorage2) "xtc" = ( @@ -45162,7 +45158,7 @@ dir = 8; icon_state = "pipe-c" }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 1; pixel_y = -30 }, @@ -45275,17 +45271,17 @@ dir = 4 }, /obj/effect/floor_decal/steeldecal/steel_decals9, -/obj/item/device/multitool, -/obj/item/weapon/storage/toolbox/mechanical, -/obj/item/device/radio{ +/obj/item/multitool, +/obj/item/storage/toolbox/mechanical, +/obj/item/radio{ pixel_x = -4; pixel_y = 1 }, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = 4; pixel_y = -1 }, -/obj/item/device/defib_kit/compact/loaded, +/obj/item/defib_kit/compact/loaded, /turf/simulated/floor/tiled/dark, /area/medical/medbay_emt_storage) "xyK" = ( @@ -45381,11 +45377,11 @@ /area/civilian/atrium/lower) "xAO" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/wood, /area/maintenance/maintroom6) "xAY" = ( @@ -45403,7 +45399,7 @@ /area/crew_quarters/recreation_area) "xBc" = ( /obj/structure/table/woodentable, -/obj/item/device/paicard, +/obj/item/paicard, /turf/simulated/floor/wood, /area/crew_quarters/recreation_area) "xBi" = ( @@ -45641,14 +45637,14 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/tank/oxygen, -/obj/item/weapon/tank/oxygen, +/obj/item/tank/oxygen, +/obj/item/tank/oxygen, /obj/item/clothing/mask/breath, /obj/item/clothing/mask/breath, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/extinguisher, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/storage/box/lights/mixed, +/obj/item/extinguisher, /turf/simulated/floor/plating, /area/hallway/primary/starboard) "xHW" = ( @@ -45743,11 +45739,11 @@ /obj/effect/decal/cleanable/dirt, /obj/structure/catwalk, /obj/random/trash_pile, -/obj/item/weapon/flame/candle/small, +/obj/item/flame/candle/small, /turf/simulated/floor/plating, /area/maintenance/medical_lower) "xKg" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Common Channel"; pixel_y = -21 }, @@ -45962,8 +45958,8 @@ /obj/machinery/light{ dir = 1 }, -/obj/item/weapon/inflatable_duck, -/obj/item/weapon/inflatable_duck{ +/obj/item/inflatable_duck, +/obj/item/inflatable_duck{ pixel_y = 5 }, /turf/simulated/floor/tiled/freezer, @@ -46045,13 +46041,13 @@ /area/crew_quarters/coffee_shop) "xSw" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/monkeycubes, -/obj/item/weapon/extinguisher, +/obj/item/storage/box/monkeycubes, +/obj/item/extinguisher, /obj/effect/floor_decal/corner/lime/full{ dir = 8 }, -/obj/item/weapon/storage/box/monkeycubes, -/obj/item/weapon/storage/box/monkeycubes, +/obj/item/storage/box/monkeycubes, +/obj/item/storage/box/monkeycubes, /turf/simulated/floor/tiled/white, /area/medical/virology) "xSG" = ( @@ -46130,14 +46126,14 @@ /turf/simulated/floor/tiled, /area/vacant/vacant_site/locker) "xUU" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /turf/simulated/floor/tiled/white, /area/crew_quarters/coffee_shop) "xUW" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -46477,7 +46473,7 @@ icon_state = "2-4" }, /obj/structure/disposalpipe/segment, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 4; pixel_x = -30 }, @@ -46668,7 +46664,7 @@ /area/maintenance/maintroom1) "yhj" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 2 }, @@ -46706,9 +46702,9 @@ /obj/machinery/light{ dir = 4 }, -/obj/item/weapon/storage/fancy/blackcandle_box, -/obj/item/weapon/storage/fancy/candle_box, -/obj/item/weapon/storage/fancy/whitecandle_box, +/obj/item/storage/fancy/blackcandle_box, +/obj/item/storage/fancy/candle_box, +/obj/item/storage/fancy/whitecandle_box, /turf/simulated/floor/lino, /area/chapel/office) "yiU" = ( @@ -46782,7 +46778,7 @@ /turf/simulated/wall, /area/maintenance/substation/atmospheric) "ylv" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Common Channel"; pixel_x = 21 diff --git a/maps/yw/cryogaia-05-main.dmm b/maps/yw/cryogaia-05-main.dmm index f5e0500f700..3fcbcba0848 100644 --- a/maps/yw/cryogaia-05-main.dmm +++ b/maps/yw/cryogaia-05-main.dmm @@ -29,7 +29,7 @@ /area/cryogaia/station/excursion_overhang) "aaL" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/belt/medical, +/obj/item/storage/belt/medical, /obj/item/clothing/accessory/stethoscope, /obj/item/clothing/glasses/hud/health, /obj/effect/floor_decal/corner/paleblue{ @@ -145,7 +145,7 @@ /obj/structure/table/rack, /obj/item/clothing/suit/storage/hooded/wintercoat/snowsuit/cargo, /obj/item/clothing/shoes/boots/winter/mining, -/obj/item/device/gps/mining, +/obj/item/gps/mining, /turf/simulated/floor/tiled, /area/quartermaster/miningwing) "adJ" = ( @@ -162,8 +162,8 @@ /obj/item/clothing/shoes/leg_guard/riot, /obj/item/clothing/suit/armor/riot/alt, /obj/item/clothing/head/helmet/riot, -/obj/item/weapon/shield/riot, -/obj/item/weapon/melee/baton/loaded, +/obj/item/shield/riot, +/obj/item/melee/baton/loaded, /obj/machinery/door/window/brigdoor/northright{ dir = 2; name = "Riot Armor" @@ -221,7 +221,7 @@ /obj/effect/floor_decal/corner/red{ dir = 9 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Common Channel"; pixel_x = -21 @@ -230,7 +230,7 @@ /area/security/brig) "aeD" = ( /obj/structure/closet/crate, -/obj/item/weapon/tool/crowbar, +/obj/item/tool/crowbar, /turf/simulated/floor/tiled, /area/teleporter) "aeP" = ( @@ -284,19 +284,19 @@ /area/medical/reception) "afF" = ( /obj/structure/closet/crate/medical, -/obj/item/weapon/surgical/surgicaldrill, -/obj/item/weapon/surgical/FixOVein, -/obj/item/weapon/surgical/circular_saw, -/obj/item/weapon/surgical/scalpel, +/obj/item/surgical/surgicaldrill, +/obj/item/surgical/FixOVein, +/obj/item/surgical/circular_saw, +/obj/item/surgical/scalpel, /obj/item/stack/medical/advanced/bruise_pack, -/obj/item/weapon/surgical/retractor, -/obj/item/weapon/surgical/hemostat, -/obj/item/weapon/surgical/cautery, -/obj/item/weapon/surgical/bonesetter, -/obj/item/weapon/surgical/bonegel, +/obj/item/surgical/retractor, +/obj/item/surgical/hemostat, +/obj/item/surgical/cautery, +/obj/item/surgical/bonesetter, +/obj/item/surgical/bonegel, /obj/item/stack/nanopaste, -/obj/item/weapon/autopsy_scanner, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/autopsy_scanner, +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; @@ -376,8 +376,8 @@ /area/maintenance/substation/security) "ahs" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/gloves, -/obj/item/weapon/storage/toolbox/emergency, +/obj/item/storage/box/gloves, +/obj/item/storage/toolbox/emergency, /turf/simulated/floor/plating, /area/rnd/research) "ahw" = ( @@ -387,7 +387,7 @@ /turf/simulated/wall/r_lead, /area/engineering/engine_room) "ahF" = ( -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ pixel_y = 30 }, /turf/simulated/floor/tiled/techmaint, @@ -609,12 +609,12 @@ /turf/simulated/floor/tiled, /area/hallway/secondary/exit) "alN" = ( -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/clipboard, -/obj/item/weapon/pen/red{ +/obj/item/clipboard, +/obj/item/pen/red{ pixel_x = 2; pixel_y = 6 }, @@ -711,8 +711,8 @@ /area/borealis2/outdoors/grounds) "aoc" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/belt/utility, -/obj/item/weapon/storage/belt/utility, +/obj/item/storage/belt/utility, +/obj/item/storage/belt/utility, /obj/effect/floor_decal/corner/brown{ dir = 9 }, @@ -724,8 +724,8 @@ /area/quartermaster/office) "aom" = ( /obj/structure/table/standard, -/obj/item/weapon/clipboard, -/obj/item/weapon/stamp/qm, +/obj/item/clipboard, +/obj/item/stamp/qm, /turf/simulated/floor/wood, /area/quartermaster) "aoo" = ( @@ -877,7 +877,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/disposalpipe/segment, -/obj/item/device/radio/beacon, +/obj/item/radio/beacon, /turf/simulated/floor/tiled, /area/hallway/secondary/entry/docking_lounge) "aqb" = ( @@ -1107,10 +1107,10 @@ }, /obj/machinery/light, /obj/machinery/door/window/brigdoor/northleft, -/obj/item/weapon/tank/jetpack/oxygen, +/obj/item/tank/jetpack/oxygen, /obj/item/clothing/suit/space/void/security, /obj/item/clothing/head/helmet/space/void/security, -/obj/item/device/gps/security, +/obj/item/gps/security, /turf/simulated/floor/tiled/dark, /area/security/airlock) "avs" = ( @@ -1184,14 +1184,14 @@ "avW" = ( /obj/structure/table/woodentable, /obj/machinery/reagentgrinder, -/obj/item/weapon/reagent_containers/food/drinks/shaker, -/obj/item/weapon/packageWrap, -/obj/item/device/radio/intercom{ +/obj/item/reagent_containers/food/drinks/shaker, +/obj/item/packageWrap, +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -22 }, -/obj/item/weapon/reagent_containers/food/drinks/flask/barflask, -/obj/item/weapon/reagent_containers/food/drinks/flask/vacuumflask, +/obj/item/reagent_containers/food/drinks/flask/barflask, +/obj/item/reagent_containers/food/drinks/flask/vacuumflask, /turf/simulated/floor/wood, /area/crew_quarters/bar) "awl" = ( @@ -1288,11 +1288,11 @@ /obj/machinery/light/small{ dir = 1 }, -/obj/item/weapon/book/manual/medical_cloning, -/obj/item/weapon/book/manual/medical_diagnostics_manual, -/obj/item/weapon/book/manual/resleeving, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/device/geiger/wall{ +/obj/item/book/manual/medical_cloning, +/obj/item/book/manual/wiki/medical_diagnostics_manual, +/obj/item/book/manual/resleeving, +/obj/item/storage/firstaid/regular, +/obj/item/geiger/wall{ dir = 4; pixel_x = -30 }, @@ -1469,14 +1469,14 @@ /area/engineering/hallway) "aBW" = ( /obj/structure/closet/crate, -/obj/item/weapon/circuitboard/smes, -/obj/item/weapon/circuitboard/smes, -/obj/item/weapon/smes_coil, -/obj/item/weapon/smes_coil, -/obj/item/weapon/smes_coil/super_capacity, -/obj/item/weapon/smes_coil/super_capacity, -/obj/item/weapon/smes_coil/super_io, -/obj/item/weapon/smes_coil/super_io, +/obj/item/circuitboard/smes, +/obj/item/circuitboard/smes, +/obj/item/smes_coil, +/obj/item/smes_coil, +/obj/item/smes_coil/super_capacity, +/obj/item/smes_coil/super_capacity, +/obj/item/smes_coil/super_io, +/obj/item/smes_coil/super_io, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/plating, /area/engineering/storage) @@ -1636,7 +1636,7 @@ /area/quartermaster/delivery) "aFr" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /obj/item/bodybag/cryobag{ pixel_x = 6 }, @@ -1652,7 +1652,7 @@ /obj/effect/floor_decal/corner/yellow{ dir = 10 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Common Channel"; pixel_y = -21 }, @@ -1806,7 +1806,7 @@ /turf/simulated/floor/tiled/white, /area/medical/surgeryprep) "aJt" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/landmark/start{ name = "Medical Doctor" }, @@ -1859,7 +1859,7 @@ icon_state = "0-2" }, /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -28 @@ -2004,10 +2004,10 @@ "aNd" = ( /obj/structure/table/standard, /obj/machinery/light, -/obj/item/weapon/tank/anesthetic, +/obj/item/tank/anesthetic, /obj/item/clothing/mask/breath/medical, -/obj/item/weapon/storage/box/gloves, -/obj/item/device/defib_kit/jumper_kit/loaded, +/obj/item/storage/box/gloves, +/obj/item/defib_kit/jumper_kit/loaded, /turf/simulated/floor/tiled/white, /area/assembly/robotics) "aNC" = ( @@ -2054,7 +2054,7 @@ dir = 6 }, /obj/structure/disposalpipe/segment, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Common Channel"; pixel_x = 21 @@ -2093,8 +2093,8 @@ name = "formal wardrobe" }, /obj/item/glass_jar, -/obj/item/device/retail_scanner/civilian, -/obj/item/device/retail_scanner/civilian, +/obj/item/retail_scanner/civilian, +/obj/item/retail_scanner/civilian, /obj/machinery/firealarm{ dir = 4; pixel_x = 24 @@ -2139,7 +2139,7 @@ /area/medical/surgeryprep) "aPZ" = ( /obj/structure/table/reinforced, -/obj/item/weapon/folder/yellow, +/obj/item/folder/yellow, /obj/machinery/door/window/westleft{ dir = 4; name = "Engineering Reception Desk"; @@ -2233,7 +2233,7 @@ dir = 8 }, /obj/machinery/r_n_d/circuit_imprinter, -/obj/item/weapon/reagent_containers/glass/beaker/sulphuric, +/obj/item/reagent_containers/glass/beaker/sulphuric, /turf/simulated/floor/tiled/techfloor, /area/rnd/workshop) "aRB" = ( @@ -2255,8 +2255,8 @@ /area/medical/medbay3) "aRL" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/folder/yellow, -/obj/item/weapon/pen{ +/obj/item/folder/yellow, +/obj/item/pen{ pixel_x = 4; pixel_y = 4 }, @@ -2306,19 +2306,19 @@ /area/medical/sleeper) "aSY" = ( /obj/structure/table/reinforced, -/obj/item/weapon/pen/blue{ +/obj/item/pen/blue{ pixel_x = -5; pixel_y = -1 }, -/obj/item/weapon/pen/red{ +/obj/item/pen/red{ pixel_x = -1; pixel_y = 3 }, -/obj/item/weapon/material/ashtray/plastic{ +/obj/item/material/ashtray/plastic{ pixel_x = 4; pixel_y = 6 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, @@ -2384,7 +2384,7 @@ dir = 5 }, /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/machinery/newscaster{ pixel_y = 32 }, @@ -2412,8 +2412,8 @@ /area/engineering/engineering_monitoring) "aUw" = ( /obj/structure/table/reinforced, -/obj/item/weapon/hand_labeler, -/obj/item/device/communicator, +/obj/item/hand_labeler, +/obj/item/communicator, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, @@ -2428,8 +2428,8 @@ dir = 2; name = "Ballestic Firearms" }, -/obj/item/weapon/gun/projectile/automatic/wt550, -/obj/item/weapon/gun/projectile/automatic/wt550, +/obj/item/gun/projectile/automatic/wt550, +/obj/item/gun/projectile/automatic/wt550, /obj/structure/table/rack/gun_rack, /obj/structure/window/reinforced{ dir = 8; @@ -2440,7 +2440,7 @@ /area/security/armoury) "aUO" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /obj/structure/window/reinforced{ dir = 1; health = 1e+006 @@ -2703,7 +2703,7 @@ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /obj/structure/table/steel, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -2804,23 +2804,23 @@ /turf/simulated/floor/tiled/red, /area/security/outpost) "bcl" = ( -/obj/item/weapon/coin/silver{ +/obj/item/coin/silver{ pixel_x = 7; pixel_y = 12 }, -/obj/item/weapon/coin/silver{ +/obj/item/coin/silver{ pixel_x = 12; pixel_y = 7 }, -/obj/item/weapon/coin/silver{ +/obj/item/coin/silver{ pixel_x = 4; pixel_y = 8 }, -/obj/item/weapon/coin/silver{ +/obj/item/coin/silver{ pixel_x = -6; pixel_y = 5 }, -/obj/item/weapon/coin/silver{ +/obj/item/coin/silver{ pixel_x = 5; pixel_y = -8 }, @@ -2832,7 +2832,7 @@ name = "Silver Crate"; req_access = list(19) }, -/obj/item/weapon/coin/silver{ +/obj/item/coin/silver{ pixel_x = 4; pixel_y = 8 }, @@ -2961,9 +2961,9 @@ /area/security/outpost) "beu" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/toolbox/emergency, -/obj/item/weapon/storage/toolbox/electrical, -/obj/item/device/radio/intercom{ +/obj/item/storage/toolbox/emergency, +/obj/item/storage/toolbox/electrical, +/obj/item/radio/intercom{ dir = 1; name = "Common Channel"; pixel_y = 21 @@ -3312,13 +3312,13 @@ /area/medical/surgery) "blZ" = ( /obj/structure/table/steel, -/obj/item/device/camera, +/obj/item/camera, /obj/effect/floor_decal/corner/red{ dir = 1 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ dir = 8; pixel_x = -24 }, @@ -3338,7 +3338,7 @@ /area/security/armoury) "bmk" = ( /obj/structure/table/gamblingtable, -/obj/item/weapon/deck/cah, +/obj/item/deck/cah, /turf/simulated/floor/wood, /area/crew_quarters/bar) "bmN" = ( @@ -3362,7 +3362,7 @@ /area/engineering/workshop) "bmW" = ( /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -24 @@ -3512,7 +3512,7 @@ /area/chapel/monastery/atmos) "bpI" = ( /obj/machinery/r_n_d/circuit_imprinter, -/obj/item/weapon/reagent_containers/glass/beaker/sulphuric, +/obj/item/reagent_containers/glass/beaker/sulphuric, /turf/simulated/floor/tiled/dark, /area/rnd/lab) "bpY" = ( @@ -3675,7 +3675,7 @@ /area/rnd/workshop) "btv" = ( /obj/machinery/light/small, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Common Channel"; pixel_y = -21 }, @@ -3694,7 +3694,7 @@ /turf/simulated/floor/plating, /area/hallway/secondary/entry/docking_lounge) "btQ" = ( -/obj/item/weapon/soap/syndie, +/obj/item/soap/syndie, /turf/simulated/floor/plating, /area/maintenance/research_port) "btW" = ( @@ -3722,7 +3722,7 @@ /obj/structure/bed/chair/comfy/black{ dir = 4 }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 4; pixel_x = -30 }, @@ -3760,7 +3760,7 @@ /turf/simulated/floor/tiled/steel_grid, /area/security/security_processing) "bxg" = ( -/obj/item/weapon/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, /obj/structure/table/standard, /turf/simulated/shuttle/floor/white, /area/shuttle/residential) @@ -3943,8 +3943,8 @@ /area/security/evidence_storage) "bBE" = ( /obj/structure/mopbucket, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/mop, +/obj/item/reagent_containers/glass/bucket, +/obj/item/mop, /obj/effect/floor_decal/corner/purple/full{ dir = 8 }, @@ -3998,16 +3998,16 @@ /turf/simulated/floor/plating/snow/plating/cryogaia, /area/borealis2/outdoors/grounds/power) "bDf" = ( -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 2; pixel_y = 6 }, /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -2; pixel_y = 4 }, -/obj/item/weapon/flame/candle, +/obj/item/flame/candle, /obj/machinery/light/small, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -4021,7 +4021,7 @@ /obj/machinery/light{ dir = 8 }, -/obj/item/weapon/bluespace_crystal/artificial, +/obj/item/bluespace_crystal/artificial, /turf/simulated/floor/tiled/dark, /area/security/security_lockerroom) "bDs" = ( @@ -4121,7 +4121,7 @@ /obj/effect/floor_decal/corner_oldtile/purple{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Common Channel"; pixel_y = -21 }, @@ -4177,11 +4177,11 @@ dir = 8; name = "Secure Door" }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled/dark, /area/security/lobby) "bHH" = ( @@ -4791,7 +4791,7 @@ /obj/effect/floor_decal/corner/blue{ dir = 6 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Common Channel"; pixel_x = 21 @@ -4916,7 +4916,7 @@ dir = 6 }, /obj/effect/floor_decal/rust, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 8; pixel_x = 30 }, @@ -5010,7 +5010,7 @@ /area/crew_quarters/captain) "bUF" = ( /obj/structure/closet/secure_closet/freezer/money, -/obj/item/weapon/storage/secure/briefcase/money{ +/obj/item/storage/secure/briefcase/money{ desc = "An sleek tidy briefcase."; name = "secure briefcase" }, @@ -5128,7 +5128,7 @@ /turf/simulated/floor/plating, /area/crew_quarters/heads/chief) "bWG" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ layer = 4; name = "Station Intercom (General)"; pixel_y = -27 @@ -5245,14 +5245,14 @@ /area/rnd/phoronics) "bYp" = ( /obj/structure/table/standard, -/obj/item/device/taperecorder{ +/obj/item/taperecorder{ pixel_x = -3 }, -/obj/item/device/paicard{ +/obj/item/paicard{ pixel_x = 4 }, -/obj/item/weapon/circuitboard/teleporter, -/obj/item/weapon/circuitboard/aicore{ +/obj/item/circuitboard/teleporter, +/obj/item/circuitboard/aicore{ pixel_x = -2; pixel_y = 4 }, @@ -5296,7 +5296,7 @@ /obj/machinery/light/small{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Common Channel"; pixel_x = -21 @@ -5319,9 +5319,9 @@ /area/engineering/engine_monitoring) "bZf" = ( /obj/structure/closet/crate, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/storage/box/cups, -/obj/item/weapon/book/manual/detective, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/storage/box/cups, +/obj/item/book/manual/detective, /turf/simulated/floor/tiled/dark, /area/security/briefing_room) "bZj" = ( @@ -5344,7 +5344,7 @@ /obj/machinery/light{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Common Channel"; pixel_y = 21 @@ -5449,8 +5449,8 @@ pixel_x = 32 }, /obj/structure/table/woodentable, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/device/taperecorder, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/taperecorder, /turf/simulated/floor/wood/alt/parquet, /area/crew_quarters/captain) "ccD" = ( @@ -5539,8 +5539,8 @@ /area/medical/patient_c) "cdj" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/bedsheet/medical, +/obj/item/radio/intercom/department/medbay{ dir = 1; pixel_y = 21 }, @@ -5601,7 +5601,7 @@ /area/crew_quarters/locker) "ceV" = ( /obj/structure/closet/wardrobe/red, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -5690,19 +5690,19 @@ /area/crew_quarters/kitchen) "cha" = ( /obj/structure/table/reinforced, -/obj/item/weapon/pen/blue{ +/obj/item/pen/blue{ pixel_x = -5; pixel_y = -1 }, -/obj/item/weapon/pen/red{ +/obj/item/pen/red{ pixel_x = -1; pixel_y = 3 }, -/obj/item/weapon/material/ashtray/plastic{ +/obj/item/material/ashtray/plastic{ pixel_x = 4; pixel_y = 6 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, @@ -5711,7 +5711,7 @@ /area/lawoffice) "chb" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/secure/safe{ +/obj/item/storage/secure/safe{ pixel_x = 6; pixel_y = 28 }, @@ -5720,7 +5720,7 @@ /obj/item/clothing/accessory/permit/gun, /obj/item/clothing/accessory/permit/gun, /obj/item/clothing/accessory/permit/gun, -/obj/item/weapon/paper{ +/obj/item/paper{ desc = ""; info = "In the event that more weapon permits are needed, please fax Central Command to request more. Please also include a reason for the request. Blank permits will be shipped to cargo for pickup. If long-term permits are desired, please contact your NanoTrasen Employee Representitive for more information."; name = "note from CentCom about permits" @@ -5739,7 +5739,7 @@ }, /obj/structure/table/steel, /obj/machinery/cell_charger, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, @@ -5759,7 +5759,7 @@ /turf/simulated/floor/outdoors/snow/snow/cryogaia, /area/borealis2/outdoors/exterior) "cia" = ( -/obj/item/weapon/folder/red, +/obj/item/folder/red, /obj/structure/table/glass, /obj/machinery/atmospherics/unary/vent_pump/siphon/on/atmos/relief{ dir = 4 @@ -5771,7 +5771,7 @@ /obj/machinery/light{ dir = 8 }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = 5; pixel_y = 5 }, @@ -5977,9 +5977,9 @@ dir = 10 }, /obj/structure/table/glass, -/obj/item/weapon/paper_bin, -/obj/item/weapon/clipboard, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/clipboard, +/obj/item/pen, /turf/simulated/floor/tiled/white, /area/medical/patient_c) "clz" = ( @@ -5995,7 +5995,7 @@ layer = 2.9 }, /obj/random/tech_supply, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Common Channel"; pixel_y = 21 @@ -6045,7 +6045,7 @@ /area/security/security_lockerroom) "cmV" = ( /obj/structure/table/reinforced, -/obj/item/device/paicard, +/obj/item/paicard, /obj/item/clothing/head/soft/grey, /obj/machinery/atmospherics/unary/vent_pump/siphon/on/atmos/relief{ dir = 4 @@ -6185,20 +6185,20 @@ /turf/simulated/floor, /area/maintenance/security) "cpF" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Common Channel"; pixel_y = -21 }, /turf/simulated/floor/tiled/dark, /area/lawoffice) "cpI" = ( -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/briefcase/inflatable, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, +/obj/item/storage/briefcase/inflatable, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, /obj/structure/table/reinforced, /obj/structure/window/reinforced{ dir = 8; @@ -6232,7 +6232,7 @@ /obj/machinery/computer/security/mining{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Common Channel"; pixel_y = -21 }, @@ -6292,12 +6292,12 @@ /area/cryogaia/outpost/tower/south) "crA" = ( /obj/structure/table/reinforced, -/obj/item/device/mass_spectrometer/adv, +/obj/item/mass_spectrometer/adv, /obj/effect/floor_decal/industrial/warning{ dir = 10 }, -/obj/item/device/reagent_scanner, -/obj/item/weapon/reagent_containers/syringe, +/obj/item/reagent_scanner, +/obj/item/reagent_containers/syringe, /turf/simulated/floor/tiled/white, /area/security/forensics) "csg" = ( @@ -6311,7 +6311,7 @@ /area/medical/medbaymain) "csl" = ( /obj/structure/disposalpipe/trunk, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Common Channel"; pixel_y = 21 @@ -6324,19 +6324,19 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/circuitboard/transhuman_synthprinter{ +/obj/item/circuitboard/transhuman_synthprinter{ pixel_x = -3; pixel_y = 4 }, -/obj/item/weapon/circuitboard/rdconsole{ +/obj/item/circuitboard/rdconsole{ pixel_y = 2 }, -/obj/item/weapon/circuitboard/destructive_analyzer, -/obj/item/weapon/circuitboard/protolathe{ +/obj/item/circuitboard/destructive_analyzer, +/obj/item/circuitboard/protolathe{ pixel_x = 3; pixel_y = -2 }, -/obj/item/weapon/circuitboard/rdserver{ +/obj/item/circuitboard/rdserver{ pixel_x = 6; pixel_y = -4 }, @@ -6404,8 +6404,8 @@ /turf/simulated/floor/tiled/steel, /area/maintenance/medbay) "ctu" = ( -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/manual/security_space_law, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/wiki/security_space_law, /obj/structure/table/glass, /turf/simulated/floor/tiled, /area/security/briefing_room) @@ -6542,9 +6542,9 @@ /area/civilian/atrium/central) "cwX" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/box/body_record_disk, -/obj/item/device/sleevemate, -/obj/item/weapon/paper{ +/obj/item/storage/box/body_record_disk, +/obj/item/sleevemate, +/obj/item/paper{ desc = ""; info = "Bodies designed on the design console must be saved to a disk, provided on the front desk counter, then placed into the resleeving console for printing."; name = "Body Designer Note" @@ -6561,7 +6561,7 @@ /turf/simulated/wall, /area/medical/exam_room) "cxb" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/corner/paleblue{ dir = 5 }, @@ -6767,7 +6767,7 @@ /turf/simulated/floor/tiled, /area/storage/art) "czO" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -6786,7 +6786,7 @@ /obj/effect/floor_decal/corner/blue{ dir = 5 }, -/obj/item/weapon/hand_tele, +/obj/item/hand_tele, /turf/simulated/floor/tiled, /area/crew_quarters/heads/chief) "cAg" = ( @@ -6838,8 +6838,8 @@ "cBb" = ( /obj/effect/floor_decal/techfloor, /obj/structure/table/steel, -/obj/item/weapon/shield_diffuser, -/obj/item/device/radio/intercom{ +/obj/item/shield_diffuser, +/obj/item/radio/intercom{ name = "Common Channel"; pixel_y = -21 }, @@ -6853,7 +6853,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 1; pixel_y = -30 }, @@ -6952,7 +6952,7 @@ /area/engineering/foyer) "cCG" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/effect/floor_decal/corner/pink{ dir = 5 }, @@ -7003,7 +7003,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Common Channel"; pixel_y = -21 }, @@ -7133,14 +7133,14 @@ pixel_x = -24 }, /obj/structure/table/steel, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/clipboard, -/obj/item/weapon/folder/red, -/obj/item/weapon/pen, -/obj/item/device/radio{ +/obj/item/clipboard, +/obj/item/folder/red, +/obj/item/pen, +/obj/item/radio{ pixel_x = -4 }, /turf/simulated/floor/tiled/dark, @@ -7196,7 +7196,7 @@ /turf/simulated/floor/tiled/white, /area/rnd/research) "cGK" = ( -/obj/item/weapon/folder/red, +/obj/item/folder/red, /obj/structure/table/glass, /turf/simulated/floor/tiled, /area/security/briefing_room) @@ -7415,7 +7415,7 @@ /area/security/outpost) "cMz" = ( /obj/structure/table/steel, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/tiled, /area/security/security_processing) "cMF" = ( @@ -7487,8 +7487,8 @@ dir = 4 }, /obj/effect/floor_decal/corner/yellow/diagonal, -/obj/item/device/halogen_counter, -/obj/item/device/geiger/wall{ +/obj/item/halogen_counter, +/obj/item/geiger/wall{ dir = 8; pixel_x = 30 }, @@ -7554,7 +7554,7 @@ /area/hallway/secondary/entry/docking_lounge) "cPS" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/effect/floor_decal/corner/paleblue/full{ dir = 4 }, @@ -7643,7 +7643,7 @@ /area/quartermaster/storage) "cRW" = ( /obj/machinery/light, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -29 }, @@ -7812,11 +7812,11 @@ /area/chapel/monastery) "cVj" = ( /obj/structure/table/steel, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/stamp/denied{ +/obj/item/book/manual/wiki/security_space_law, +/obj/item/stamp/denied{ pixel_x = 5 }, -/obj/item/weapon/stamp/ward, +/obj/item/stamp/ward, /turf/simulated/floor/tiled/dark, /area/security/warden) "cVn" = ( @@ -8105,7 +8105,7 @@ /obj/machinery/light, /obj/item/clothing/suit/storage/hooded/wintercoat/snowsuit/security, /obj/item/clothing/shoes/boots/winter/security, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 1; pixel_y = -30 }, @@ -8226,7 +8226,7 @@ /obj/effect/floor_decal/corner/yellow{ dir = 8 }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 1; pixel_y = -30 }, @@ -8268,18 +8268,18 @@ /area/civilian/atrium/central) "deu" = ( /obj/structure/table/reinforced, -/obj/item/weapon/folder{ +/obj/item/folder{ pixel_x = -4 }, -/obj/item/weapon/folder/red{ +/obj/item/folder/red{ pixel_y = 3 }, -/obj/item/weapon/folder/blue{ +/obj/item/folder/blue{ pixel_x = 5 }, -/obj/item/weapon/folder/yellow, -/obj/item/weapon/stamp/internalaffairs, -/obj/item/weapon/stamp/denied{ +/obj/item/folder/yellow, +/obj/item/stamp/internalaffairs, +/obj/item/stamp/denied{ pixel_x = 4; pixel_y = -2 }, @@ -8383,7 +8383,7 @@ dir = 9 }, /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /turf/simulated/floor/tiled/white, /area/medical/scanning) "dfF" = ( @@ -8535,7 +8535,7 @@ /turf/simulated/floor/tiled/white, /area/medical/surgeryobs) "dja" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -8731,7 +8731,7 @@ /obj/item/clothing/shoes/boots/winter/security, /obj/item/clothing/suit/storage/hooded/wintercoat/snowsuit/security, /obj/item/clothing/shoes/boots/winter/security, -/obj/item/device/gps/security, +/obj/item/gps/security, /obj/machinery/alarm/yw{ dir = 1; pixel_y = -25 @@ -8980,7 +8980,7 @@ dir = 5 }, /obj/structure/closet/toolcloset, -/obj/item/weapon/pickaxe, +/obj/item/pickaxe, /turf/simulated/floor/tiled/steel_grid, /area/engineering/workshop) "drs" = ( @@ -9014,8 +9014,8 @@ /area/medical/autoresleeving) "drV" = ( /obj/structure/table/reinforced, -/obj/item/weapon/clipboard, -/obj/item/weapon/stamp/hop, +/obj/item/clipboard, +/obj/item/stamp/hop, /turf/simulated/floor/wood, /area/crew_quarters/heads/hop) "dsa" = ( @@ -9092,8 +9092,8 @@ /area/bridge) "dtT" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /obj/effect/floor_decal/corner/purple{ dir = 6 }, @@ -9252,7 +9252,7 @@ /turf/simulated/floor/tiled/steel, /area/assembly/robotics) "dyA" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/landmark/start{ name = "Roboticist" }, @@ -9326,7 +9326,7 @@ name = "xeno_spawn"; pixel_x = -1 }, -/obj/item/weapon/bikehorn/rubberducky, +/obj/item/bikehorn/rubberducky, /obj/machinery/light, /obj/machinery/atmospherics/unary/vent_pump/siphon/on/atmos/relief{ dir = 1 @@ -9473,7 +9473,7 @@ /obj/machinery/alarm/yw{ pixel_y = 25 }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 4; pixel_x = -30 }, @@ -9628,7 +9628,7 @@ /turf/simulated/wall/rshull, /area/shuttle/security) "dGK" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled/white, /area/security/forensics) "dHb" = ( @@ -9684,7 +9684,7 @@ name = "Robotics RC"; pixel_y = 30 }, -/obj/item/weapon/book/manual/robotics_cyborgs{ +/obj/item/book/manual/robotics_cyborgs{ pixel_x = 2; pixel_y = 5 }, @@ -9694,7 +9694,7 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/book/manual/robotics_manual, +/obj/item/book/manual/wiki/robotics_manual, /turf/simulated/floor/tiled/white, /area/assembly/robotics) "dHS" = ( @@ -9794,8 +9794,8 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /obj/structure/window/reinforced{ dir = 1; health = 1e+006 @@ -9803,7 +9803,7 @@ /obj/effect/floor_decal/corner/paleblue/full{ dir = 1 }, -/obj/item/device/radio/phone/medbay, +/obj/item/radio/phone/medbay, /obj/machinery/button/remote/airlock{ desc = "A remote control switch for the brig foyer."; id = "medbayfoyer"; @@ -9834,7 +9834,7 @@ /area/rnd/research/testingrange) "dLl" = ( /obj/structure/table/woodentable, -/obj/item/weapon/folder/red, +/obj/item/folder/red, /obj/structure/cable/green{ d1 = 4; d2 = 8; @@ -9890,7 +9890,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Common Channel"; pixel_y = 21 @@ -9989,8 +9989,8 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /obj/structure/window/reinforced{ dir = 8 }, @@ -10170,9 +10170,9 @@ /area/medical/patient_c) "dRY" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/pill_bottle/tramadol, -/obj/item/weapon/storage/pill_bottle/antitox, -/obj/item/weapon/reagent_containers/syringe/antiviral, +/obj/item/storage/pill_bottle/tramadol, +/obj/item/storage/pill_bottle/antitox, +/obj/item/reagent_containers/syringe/antiviral, /obj/effect/floor_decal/corner/pink/full{ dir = 1 }, @@ -10191,13 +10191,13 @@ /area/security/briefing_room) "dSq" = ( /obj/structure/table/reinforced, -/obj/item/weapon/clipboard, +/obj/item/clipboard, /obj/item/clothing/glasses/meson{ pixel_y = 4 }, /obj/item/clothing/glasses/welding/superior, -/obj/item/weapon/storage/fancy/cigarettes, -/obj/item/weapon/book/manual/supermatter_engine, +/obj/item/storage/fancy/cigarettes, +/obj/item/book/manual/supermatter_engine, /obj/structure/cable/green{ d1 = 4; d2 = 8; @@ -10351,20 +10351,20 @@ /turf/simulated/wall/r_wall, /area/security/tactical) "dWu" = ( -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, /obj/machinery/requests_console{ department = "Janitorial"; departmentType = 1; pixel_y = 28 }, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, /obj/structure/table/steel, -/obj/item/weapon/storage/box/mousetraps, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/storage/box/mousetraps, +/obj/item/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, +/obj/item/reagent_containers/spray/cleaner, /obj/effect/floor_decal/corner/purple{ dir = 5 }, @@ -10581,13 +10581,13 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Common Channel"; pixel_y = 21 }, /obj/structure/table/glass, -/obj/item/weapon/storage/laundry_basket, +/obj/item/storage/laundry_basket, /turf/simulated/floor/tiled, /area/crew_quarters/locker) "dZe" = ( @@ -10723,8 +10723,8 @@ /area/engineering/engine_airlock) "eaz" = ( /obj/structure/table/reinforced, -/obj/item/weapon/packageWrap, -/obj/item/weapon/hand_labeler, +/obj/item/packageWrap, +/obj/item/hand_labeler, /obj/machinery/alarm/yw{ frequency = 1441; pixel_y = 22 @@ -10799,11 +10799,11 @@ /area/engineering/workshop) "ecz" = ( /obj/structure/table/standard, -/obj/item/device/camera_film{ +/obj/item/camera_film{ pixel_x = -2; pixel_y = -2 }, -/obj/item/device/camera_film{ +/obj/item/camera_film{ pixel_x = 2; pixel_y = 2 }, @@ -10836,7 +10836,7 @@ /turf/simulated/floor/plating, /area/maintenance/substation/cargo) "ecN" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Common Channel"; pixel_x = -21 @@ -10848,8 +10848,8 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, -/obj/item/weapon/storage/box/handcuffs, -/obj/item/weapon/storage/box/donut, +/obj/item/storage/box/handcuffs, +/obj/item/storage/box/donut, /obj/machinery/camera/network/security{ c_tag = "Security Post Control"; dir = 4 @@ -11191,7 +11191,7 @@ dir = 4; pixel_x = 5 }, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /turf/simulated/floor/tiled/freezer, /area/crew_quarters/showers) "ejA" = ( @@ -11442,7 +11442,7 @@ /turf/simulated/floor/tiled/dark, /area/bridge) "eoq" = ( -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 4; pixel_x = -30 }, @@ -11630,7 +11630,7 @@ /area/medical/patient_wing) "etm" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/wood, /area/medical/psych) "etq" = ( @@ -11681,7 +11681,7 @@ /area/quartermaster/office) "evh" = ( /obj/effect/floor_decal/spline/fancy/wood, -/obj/item/weapon/flag, +/obj/item/flag, /turf/simulated/floor/grass, /area/civilian/atrium/central) "evl" = ( @@ -11798,9 +11798,9 @@ dir = 1 }, /obj/structure/table/standard, -/obj/item/device/robotanalyzer, -/obj/item/device/robotanalyzer, -/obj/item/device/mmi/digital/posibrain, +/obj/item/robotanalyzer, +/obj/item/robotanalyzer, +/obj/item/mmi/digital/posibrain, /turf/simulated/floor/tiled, /area/assembly/robotics) "exA" = ( @@ -11851,7 +11851,7 @@ icon_state = "0-4" }, /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -24 @@ -11910,7 +11910,7 @@ /turf/simulated/floor/tiled, /area/hallway/primary/central_one) "ezy" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Common Channel"; pixel_y = 21 @@ -11946,15 +11946,15 @@ name = "gun safe"; req_access = list(1) }, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, -/obj/item/weapon/gun/projectile/automatic/z8, -/obj/item/device/radio/intercom{ +/obj/item/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/automatic/z8, +/obj/item/radio/intercom{ dir = 1; name = "Common Channel"; pixel_y = 21 }, -/obj/item/weapon/gun/projectile/automatic/z8, -/obj/item/weapon/gun/projectile/shotgun/pump/USDF, +/obj/item/gun/projectile/automatic/z8, +/obj/item/gun/projectile/shotgun/pump/USDF, /obj/machinery/stationboiler_radiator, /turf/simulated/floor/tiled/red, /area/security/tactical) @@ -12055,7 +12055,7 @@ dir = 2; icon_state = "pipe-c" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Common Channel"; pixel_x = 21 @@ -12110,7 +12110,7 @@ /area/medical/medbay) "eES" = ( /obj/structure/table/steel, -/obj/item/weapon/book/custom_library/reference/securityguidelines, +/obj/item/book/custom_library/reference/securityguidelines, /turf/simulated/floor/tiled, /area/security/brig) "eFf" = ( @@ -12216,7 +12216,7 @@ }, /obj/structure/table/steel, /obj/machinery/photocopier/faxmachine, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Common Channel"; pixel_x = -21 @@ -12309,7 +12309,7 @@ /obj/machinery/light{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Common Channel"; pixel_x = 21 @@ -12414,12 +12414,12 @@ /area/teleporter) "eKt" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/beakers, -/obj/item/weapon/storage/box/syringes{ +/obj/item/storage/box/beakers, +/obj/item/storage/box/syringes{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/box/syringes, +/obj/item/storage/box/syringes, /obj/machinery/alarm/yw{ pixel_y = 22 }, @@ -12517,7 +12517,7 @@ /obj/structure/table/glass, /obj/random/medical, /obj/random/medical, -/obj/item/device/glasses_kit, +/obj/item/glasses_kit, /turf/simulated/floor/tiled/white, /area/medical/exam_room) "eMe" = ( @@ -12547,11 +12547,11 @@ /area/civilian/atrium/central) "eNd" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/device/megaphone, +/obj/item/megaphone, /turf/simulated/floor/wood, /area/quartermaster) "eNr" = ( @@ -12939,12 +12939,12 @@ name = "Robotics Desk"; req_access = list(29) }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/folder/white, -/obj/item/weapon/pen, +/obj/item/folder/white, +/obj/item/pen, /obj/machinery/door/firedoor/border_only, /obj/machinery/door/blast/regular{ density = 0; @@ -12959,7 +12959,7 @@ "eVw" = ( /obj/structure/table/standard, /obj/effect/floor_decal/corner/grey/diagonal, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/food/condiment/enzyme, /turf/simulated/floor/tiled/white, /area/crew_quarters/kitchen) "eVB" = ( @@ -12997,7 +12997,7 @@ dir = 4 }, /obj/machinery/disposal, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Common Channel"; pixel_x = -21 @@ -13137,7 +13137,7 @@ }, /obj/structure/closet/secure_closet/personal, /obj/machinery/light, -/obj/item/weapon/storage/backpack/satchel, +/obj/item/storage/backpack/satchel, /turf/simulated/floor/tiled, /area/crew_quarters/locker) "fau" = ( @@ -13295,7 +13295,7 @@ /turf/simulated/floor/outdoors/snow/snow/snow2/cryogaia, /area/borealis2/outdoors/grounds) "fey" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/white, /area/medical/exam_room) @@ -13353,11 +13353,11 @@ /area/rnd/research) "feS" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, @@ -13376,7 +13376,7 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/storage/box/cups, +/obj/item/storage/box/cups, /obj/effect/floor_decal/corner/paleblue{ dir = 5 }, @@ -13399,14 +13399,14 @@ /obj/structure/table/standard, /obj/fiftyspawner/steel, /obj/fiftyspawner/glass, -/obj/item/device/multitool, +/obj/item/multitool, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, /area/quartermaster/office) "fgr" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/belt/utility, -/obj/item/weapon/storage/belt/utility, +/obj/item/storage/belt/utility, +/obj/item/storage/belt/utility, /obj/item/stack/cable_coil{ pixel_x = 3; pixel_y = 3 @@ -13415,7 +13415,7 @@ pixel_x = 3; pixel_y = 3 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -29 }, @@ -13450,7 +13450,7 @@ /turf/simulated/floor/tiled/white, /area/rnd/research) "fhe" = ( -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ dir = 8; pixel_x = -24 }, @@ -13622,9 +13622,9 @@ /area/maintenance/research_port) "fkM" = ( /obj/structure/table/glass, -/obj/item/weapon/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, /obj/item/bodybag/cryobag, -/obj/item/device/radio/emergency, +/obj/item/radio/emergency, /turf/simulated/floor/tiled/white, /area/medical/medbay_emt_bay) "fkP" = ( @@ -13791,7 +13791,7 @@ /obj/machinery/newscaster{ pixel_x = -32 }, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/structure/cable/green{ icon_state = "0-4" }, @@ -13828,18 +13828,18 @@ }, /obj/item/clothing/suit/storage/hooded/wintercoat/snowsuit/cargo, /obj/item/clothing/shoes/boots/winter/mining, -/obj/item/device/gps/mining, +/obj/item/gps/mining, /turf/simulated/floor/tiled, /area/quartermaster/miningwing) "fnW" = ( /obj/structure/table/gamblingtable, -/obj/item/weapon/deck/cah/black, +/obj/item/deck/cah/black, /turf/simulated/floor/wood, /area/crew_quarters/bar) "foh" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/box, -/obj/item/weapon/storage/box, +/obj/item/storage/box, +/obj/item/storage/box, /obj/machinery/alarm/yw{ dir = 8; pixel_x = 24 @@ -13885,8 +13885,8 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/circuitboard/unary_atmos/heater, -/obj/item/weapon/circuitboard/unary_atmos/cooler{ +/obj/item/circuitboard/unary_atmos/heater, +/obj/item/circuitboard/unary_atmos/cooler{ pixel_x = 3; pixel_y = -3 }, @@ -13942,7 +13942,7 @@ /area/storage/primary) "fpn" = ( /obj/machinery/atmospherics/unary/vent_pump/on, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Common Channel"; pixel_y = 21 @@ -13978,13 +13978,13 @@ /turf/simulated/floor, /area/maintenance/substation/command) "fqp" = ( -/obj/item/weapon/folder/white, +/obj/item/folder/white, /obj/structure/table/standard, -/obj/item/weapon/disk/tech_disk, -/obj/item/weapon/disk/tech_disk, -/obj/item/weapon/disk/design_disk, -/obj/item/weapon/disk/design_disk, -/obj/item/weapon/reagent_containers/dropper{ +/obj/item/disk/tech_disk, +/obj/item/disk/tech_disk, +/obj/item/disk/design_disk, +/obj/item/disk/design_disk, +/obj/item/reagent_containers/dropper{ pixel_y = -4 }, /obj/effect/floor_decal/borderfloor{ @@ -14048,7 +14048,7 @@ /turf/simulated/open, /area/hallway/secondary/exit) "fru" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/corner/blue{ dir = 1 }, @@ -14110,13 +14110,13 @@ /area/rnd/research/testingrange) "fsP" = ( /obj/structure/table/reinforced, -/obj/item/weapon/book/manual/barman_recipes, +/obj/item/book/manual/barman_recipes, /obj/item/clothing/head/that{ pixel_x = 4; pixel_y = 6 }, -/obj/item/weapon/tool/screwdriver, -/obj/item/weapon/flame/lighter/zippo, +/obj/item/tool/screwdriver, +/obj/item/flame/lighter/zippo, /obj/machinery/light_switch{ pixel_x = -36 }, @@ -14209,13 +14209,13 @@ dir = 4; health = 1e+006 }, -/obj/item/weapon/tank/jetpack/oxygen, +/obj/item/tank/jetpack/oxygen, /obj/item/clothing/suit/space/void/security, /obj/item/clothing/head/helmet/space/void/security, /obj/machinery/door/window/brigdoor/southright{ req_one_access = list(1) }, -/obj/item/device/gps/security, +/obj/item/gps/security, /obj/structure/window/reinforced{ dir = 8; health = 1e+006; @@ -14255,7 +14255,7 @@ /turf/simulated/floor/tiled, /area/engineering/hallway) "fuU" = ( -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 1; pixel_y = -30 }, @@ -14405,7 +14405,7 @@ /area/teleporter) "fzg" = ( /obj/structure/table/woodentable, -/obj/item/device/taperecorder{ +/obj/item/taperecorder{ pixel_x = -4; pixel_y = 2 }, @@ -14515,13 +14515,13 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/clipboard, -/obj/item/weapon/folder/white, -/obj/item/weapon/pen, +/obj/item/clipboard, +/obj/item/folder/white, +/obj/item/pen, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, @@ -14547,7 +14547,7 @@ /turf/simulated/floor/tiled, /area/hallway/secondary/exit) "fBW" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ pixel_y = 5 }, /turf/simulated/floor/tiled/white, @@ -14675,8 +14675,8 @@ /area/bridge) "fEI" = ( /obj/structure/table/standard, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, +/obj/item/packageWrap, +/obj/item/packageWrap, /obj/machinery/light_switch{ dir = 8; pixel_x = 28 @@ -14713,7 +14713,7 @@ /obj/effect/floor_decal/corner/brown{ dir = 6 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Common Channel"; pixel_x = 21 @@ -14889,7 +14889,7 @@ dir = 9 }, /obj/structure/table/steel, -/obj/item/weapon/storage/bag/circuits/basic, +/obj/item/storage/bag/circuits/basic, /turf/simulated/floor/tiled/techfloor, /area/rnd/workshop) "fJn" = ( @@ -14959,11 +14959,11 @@ /area/lawoffice) "fKN" = ( /obj/structure/table/steel, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, +/obj/item/packageWrap, +/obj/item/packageWrap, +/obj/item/packageWrap, +/obj/item/packageWrap, +/obj/item/packageWrap, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, @@ -15494,7 +15494,7 @@ /turf/simulated/floor/tiled/techfloor, /area/shuttle/security) "fTH" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Common Channel"; pixel_x = 21 @@ -15674,7 +15674,7 @@ /turf/simulated/floor/wood, /area/chapel/monastery) "fXZ" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ pixel_y = 5 }, /obj/effect/floor_decal/corner/beige{ @@ -15695,7 +15695,7 @@ /turf/simulated/floor/tiled/white, /area/crew_quarters/bar) "fYg" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/industrial/warning{ dir = 4 }, @@ -15926,7 +15926,7 @@ /turf/simulated/floor/plating/snow/plating, /area/chapel/monastery) "gbo" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Common Channel"; pixel_y = -21 }, @@ -15994,14 +15994,14 @@ /turf/simulated/floor/tiled, /area/hallway/secondary/exit_link) "gcy" = ( -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 1; pixel_y = -30 }, /turf/simulated/floor/tiled/techmaint, /area/cryogaia/outpost/tower/southwest) "gcG" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/camera/network/security{ c_tag = "Locker Room"; dir = 1 @@ -16068,7 +16068,7 @@ /obj/structure/window/reinforced{ dir = 1 }, -/obj/item/weapon/gun/energy/ionrifle/pistol, +/obj/item/gun/energy/ionrifle/pistol, /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/red, @@ -16124,9 +16124,9 @@ pixel_y = -24 }, /obj/structure/table/reinforced, -/obj/item/weapon/tool/crowbar, +/obj/item/tool/crowbar, /obj/item/clothing/gloves/black, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /obj/effect/floor_decal/corner/yellow/full{ dir = 4 }, @@ -16143,7 +16143,7 @@ name = "north bump"; pixel_y = 24 }, -/obj/item/weapon/bluespace_crystal/artificial, +/obj/item/bluespace_crystal/artificial, /turf/simulated/floor/tiled/dark, /area/crew_quarters/heads/hos) "geG" = ( @@ -16206,7 +16206,7 @@ /area/engineering/workshop) "gfp" = ( /obj/structure/table/reinforced, -/obj/item/weapon/folder, +/obj/item/folder, /turf/simulated/floor/tiled, /area/hallway/secondary/entry/docking_lounge) "gfx" = ( @@ -16231,8 +16231,8 @@ /area/borealis2/outdoors/exterior) "gfM" = ( /obj/structure/table/reinforced, -/obj/item/weapon/clipboard, -/obj/item/weapon/tape_roll, +/obj/item/clipboard, +/obj/item/tape_roll, /obj/structure/window/reinforced{ dir = 4 }, @@ -16329,10 +16329,10 @@ dir = 8; layer = 2.9 }, -/obj/item/device/analyzer/plant_analyzer, -/obj/item/device/healthanalyzer, -/obj/item/device/analyzer, -/obj/item/device/analyzer, +/obj/item/analyzer/plant_analyzer, +/obj/item/healthanalyzer, +/obj/item/analyzer, +/obj/item/analyzer, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 }, @@ -16347,12 +16347,12 @@ /turf/simulated/floor/plating, /area/storage/tech) "giN" = ( -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, /obj/structure/closet/crate/secure{ name = "Gold Crate"; req_access = list(19) @@ -16659,12 +16659,12 @@ /area/borealis2/outdoors/exterior) "gpw" = ( /obj/structure/table/standard, -/obj/item/weapon/folder/yellow, -/obj/item/weapon/pen{ +/obj/item/folder/yellow, +/obj/item/pen{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/pen/red{ +/obj/item/pen/red{ pixel_x = 2; pixel_y = 6 }, @@ -16688,7 +16688,7 @@ /obj/effect/floor_decal/corner/yellow/full{ dir = 4 }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 8; pixel_x = 30 }, @@ -16722,21 +16722,21 @@ /area/medical/surgeryprep) "gqv" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/handcuffs{ +/obj/item/storage/box/handcuffs{ pixel_x = 8; pixel_y = 6 }, -/obj/item/weapon/storage/box/chemimp{ +/obj/item/storage/box/chemimp{ pixel_x = 4; pixel_y = 3 }, -/obj/item/weapon/storage/box/trackimp, +/obj/item/storage/box/trackimp, /obj/effect/floor_decal/industrial/outline/grey, /obj/machinery/alarm/yw{ frequency = 1441; pixel_y = 22 }, -/obj/item/weapon/storage/lockbox/loyalty, +/obj/item/storage/lockbox/loyalty, /turf/simulated/floor/tiled/red, /area/security/armoury) "gqF" = ( @@ -16887,7 +16887,7 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 1; pixel_y = -30 }, @@ -16905,7 +16905,7 @@ pixel_x = 24 }, /obj/structure/closet/secure_closet/personal, -/obj/item/weapon/storage/backpack/dufflebag, +/obj/item/storage/backpack/dufflebag, /turf/simulated/floor/tiled, /area/crew_quarters/locker) "gsE" = ( @@ -17074,8 +17074,8 @@ name = "colony director's snow boots" }, /obj/item/clothing/glasses/omnihud/all, -/obj/item/weapon/bluespace_crystal/artificial, -/obj/item/weapon/paper/dockingcodes, +/obj/item/bluespace_crystal/artificial, +/obj/item/paper/dockingcodes, /turf/simulated/floor/wood, /area/crew_quarters/captain) "gvD" = ( @@ -17118,7 +17118,7 @@ "gwa" = ( /obj/structure/table/glass, /obj/machinery/recharger, -/obj/item/weapon/tool/screwdriver, +/obj/item/tool/screwdriver, /obj/effect/floor_decal/corner/paleblue{ dir = 5 }, @@ -17155,11 +17155,11 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/gun/projectile/shotgun/pump{ +/obj/item/gun/projectile/shotgun/pump{ pixel_x = -3; pixel_y = 3 }, -/obj/item/weapon/gun/projectile/shotgun/pump, +/obj/item/gun/projectile/shotgun/pump, /obj/machinery/door/window/brigdoor/eastright{ dir = 2; name = "Ballistic Firearms" @@ -17235,7 +17235,7 @@ dir = 4; id = "QMLoad" }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 1; pixel_y = -30 }, @@ -17327,7 +17327,7 @@ "gAG" = ( /obj/structure/table/reinforced, /obj/random/toolbox, -/obj/item/device/geiger, +/obj/item/geiger, /obj/effect/floor_decal/corner/yellow{ dir = 8 }, @@ -17349,9 +17349,9 @@ /area/engineering/hallway) "gAN" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/device/multitool, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/box/lights/mixed, +/obj/item/multitool, +/obj/item/storage/toolbox/mechanical, /obj/structure/fireaxecabinet{ pixel_x = -32 }, @@ -17582,10 +17582,10 @@ /area/security/briefing_room) "gFW" = ( /obj/structure/table/steel, -/obj/item/weapon/wrapping_paper, -/obj/item/weapon/wrapping_paper, -/obj/item/weapon/wrapping_paper, -/obj/item/device/destTagger{ +/obj/item/wrapping_paper, +/obj/item/wrapping_paper, +/obj/item/wrapping_paper, +/obj/item/destTagger{ pixel_x = 4; pixel_y = 3 }, @@ -17603,7 +17603,7 @@ /obj/effect/floor_decal/corner_oldtile/purple{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Common Channel"; pixel_x = 21 @@ -17663,14 +17663,14 @@ /turf/simulated/floor/tiled, /area/crew_quarters/heads/chief) "gHX" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, /obj/effect/floor_decal/spline/plain{ dir = 1 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ pixel_y = 5 }, /turf/simulated/floor/tiled, @@ -17801,7 +17801,7 @@ name = "Security Shutters"; pixel_y = -24 }, -/obj/item/weapon/disk/nuclear, +/obj/item/disk/nuclear, /turf/simulated/floor/wood, /area/crew_quarters/captain) "gMs" = ( @@ -17821,7 +17821,7 @@ }, /obj/structure/table/steel, /obj/machinery/camera/network/research, -/obj/item/device/integrated_circuit_printer, +/obj/item/integrated_circuit_printer, /turf/simulated/floor/tiled/techfloor, /area/rnd/workshop) "gNd" = ( @@ -18021,7 +18021,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Common Channel"; pixel_y = -21 }, @@ -18111,7 +18111,7 @@ /turf/simulated/floor/tiled, /area/hallway/primary/starboard) "gRJ" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled/dark, /area/security/security_lockerroom) "gRN" = ( @@ -18245,7 +18245,7 @@ }, /obj/effect/decal/cleanable/blood/oil, /obj/structure/closet/toolcloset, -/obj/item/weapon/pickaxe, +/obj/item/pickaxe, /turf/simulated/floor/tiled/steel_grid, /area/engineering/workshop) "gUX" = ( @@ -18255,7 +18255,7 @@ /turf/simulated/floor, /area/engineering/engine_room) "gVk" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Common Channel"; pixel_x = 21 @@ -18363,7 +18363,7 @@ c_tag = "Pilot's Office"; dir = 8 }, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "So, you're part of the new Security Pilot detail huh? Welcome aboard. Keep this paper handy, but make sure you leave it where other Pilot-Officers can see. Some words of advice; your gun coverage is better starboard side, no thanks that sensor antenna, so keep that in mind when you're coming up close to something. Plus that starboard side is where your hookup line to the local fuel depot is, whenever they finish towing that thing into position. Don't try to land her in the expedition hangar though! The final approach software's dumb as a box of rocks and it miscalculates where you're supposed to land. See you starside! -K.H."; name = "Message to New Security Pilots" }, @@ -18481,7 +18481,7 @@ /turf/simulated/floor/tiled/white, /area/assembly/robotics) "gZe" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/button/windowtint{ id = "preop1"; pixel_x = 8; @@ -18526,8 +18526,8 @@ /area/security/brig) "gZK" = ( /obj/structure/table/standard, -/obj/item/device/flashlight, -/obj/item/device/radio, +/obj/item/flashlight, +/obj/item/radio, /turf/simulated/floor/tiled/dark, /area/security/briefing_room) "gZO" = ( @@ -18789,7 +18789,7 @@ /turf/simulated/floor/tiled/dark, /area/security/nuke_storage) "hfo" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, @@ -18907,7 +18907,7 @@ /area/shuttle/residential) "hir" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/beakers, +/obj/item/storage/box/beakers, /turf/simulated/floor/tiled/white, /area/rnd/phoronics) "his" = ( @@ -19038,9 +19038,9 @@ /area/medical/medbay3) "hkH" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/minihoe, -/obj/item/device/analyzer/plant_analyzer, -/obj/item/device/analyzer/plant_analyzer, +/obj/item/material/minihoe, +/obj/item/analyzer/plant_analyzer, +/obj/item/analyzer/plant_analyzer, /turf/simulated/floor/grass2, /area/chapel/monastery) "hkM" = ( @@ -19182,12 +19182,12 @@ /area/medical/surgeryprep) "hmj" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/seccarts{ +/obj/item/storage/box/seccarts{ pixel_x = 3; pixel_y = 2 }, -/obj/item/weapon/storage/box/handcuffs, -/obj/item/weapon/storage/box/flashbangs{ +/obj/item/storage/box/handcuffs, +/obj/item/storage/box/flashbangs{ pixel_x = -2; pixel_y = -2 }, @@ -19406,7 +19406,7 @@ /area/security/hallway) "hrN" = ( /obj/structure/closet/secure_closet/personal, -/obj/item/weapon/storage/backpack/dufflebag, +/obj/item/storage/backpack/dufflebag, /obj/machinery/atmospherics/unary/vent_pump/siphon/on/atmos/relief{ dir = 4 }, @@ -19506,7 +19506,7 @@ /turf/simulated/floor/tiled/white, /area/medical/reception) "hsQ" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -19589,11 +19589,11 @@ /turf/simulated/floor/tiled, /area/engineering/engine_smes) "huC" = ( -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/structure/table/glass, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -19663,8 +19663,8 @@ icon_state = "0-2" }, /obj/structure/table/standard, -/obj/item/device/t_scanner, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/t_scanner, +/obj/item/storage/box/lights/mixed, /turf/simulated/floor, /area/rnd/research) "hxw" = ( @@ -19767,8 +19767,8 @@ /obj/item/clothing/shoes/leg_guard/riot, /obj/item/clothing/suit/armor/riot/alt, /obj/item/clothing/head/helmet/riot, -/obj/item/weapon/shield/riot, -/obj/item/weapon/melee/baton/loaded, +/obj/item/shield/riot, +/obj/item/melee/baton/loaded, /obj/machinery/door/window/brigdoor/northright{ dir = 2; name = "Riot Armor" @@ -19840,7 +19840,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/item/weapon/storage/box/snakesnackbox, +/obj/item/storage/box/snakesnackbox, /turf/simulated/floor/carpet/oracarpet, /area/crew_quarters/heads/chief) "hzs" = ( @@ -19936,7 +19936,7 @@ /turf/simulated/floor/plating, /area/crew_quarters/heads/chief) "hAP" = ( -/obj/item/weapon/paper/shieldgen, +/obj/item/paper/shieldgen, /turf/simulated/floor/tiled{ icon_state = "techmaint" }, @@ -20026,7 +20026,7 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; @@ -20037,7 +20037,7 @@ pixel_y = -32 }, /obj/effect/floor_decal/corner/lime/full, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 8; pixel_x = -32 }, @@ -20051,7 +20051,7 @@ dir = 8 }, /obj/structure/table/standard, -/obj/item/weapon/book/codex, +/obj/item/book/codex, /turf/simulated/floor/tiled, /area/teleporter) "hDB" = ( @@ -20107,7 +20107,7 @@ /area/medical/medbay_primary_storage) "hFI" = ( /obj/machinery/washing_machine, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Common Channel"; pixel_y = -21 }, @@ -20145,14 +20145,14 @@ /area/hallway/secondary/exit) "hFW" = ( /obj/structure/table/steel, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = -4 }, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = 4; pixel_y = 4 }, -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ dir = 4; pixel_x = 24 }, @@ -20288,8 +20288,8 @@ }, /obj/item/clothing/accessory/stethoscope, /obj/item/clothing/accessory/stethoscope, -/obj/item/device/healthanalyzer, -/obj/item/device/universal_translator, +/obj/item/healthanalyzer, +/obj/item/universal_translator, /obj/effect/floor_decal/corner/pink{ dir = 5 }, @@ -20380,8 +20380,8 @@ /area/medical/medbay) "hLx" = ( /obj/structure/table/standard, -/obj/item/weapon/coin/silver, -/obj/item/weapon/coin/silver, +/obj/item/coin/silver, +/obj/item/coin/silver, /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/wood, /area/quartermaster) @@ -20522,7 +20522,7 @@ pixel_x = 32 }, /obj/structure/closet/secure_closet/personal, -/obj/item/weapon/storage/backpack/dufflebag, +/obj/item/storage/backpack/dufflebag, /turf/simulated/floor/tiled, /area/crew_quarters/locker) "hOq" = ( @@ -20539,9 +20539,9 @@ /area/hallway/secondary/exit) "hOt" = ( /obj/structure/table/reinforced, -/obj/item/device/paicard, +/obj/item/paicard, /obj/machinery/light, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 4; pixel_x = 32 }, @@ -20812,7 +20812,7 @@ dir = 4 }, /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -30 @@ -20827,8 +20827,8 @@ /area/rnd/rdoffice) "hTN" = ( /obj/structure/table/woodentable, -/obj/item/weapon/folder/blue_captain, -/obj/item/weapon/stamp/captain, +/obj/item/folder/blue_captain, +/obj/item/stamp/captain, /turf/simulated/floor/wood, /area/crew_quarters/captain) "hTO" = ( @@ -20861,7 +20861,7 @@ /area/security/airlock) "hUf" = ( /obj/structure/table/reinforced, -/obj/item/weapon/deck/cards, +/obj/item/deck/cards, /obj/machinery/computer/guestpass{ pixel_y = 32 }, @@ -20878,7 +20878,7 @@ dir = 4 }, /obj/structure/closet/secure_closet/personal, -/obj/item/weapon/storage/backpack/dufflebag, +/obj/item/storage/backpack/dufflebag, /turf/simulated/floor/tiled, /area/crew_quarters/locker) "hUy" = ( @@ -20914,12 +20914,12 @@ /obj/structure/table/standard, /obj/item/stack/cable_coil/random, /obj/item/stack/cable_coil/random, -/obj/item/device/taperecorder, -/obj/item/device/taperecorder, +/obj/item/taperecorder, +/obj/item/taperecorder, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Common Channel"; pixel_x = 21 @@ -20947,7 +20947,7 @@ /turf/simulated/floor/tiled/techfloor, /area/rnd/workshop) "hVX" = ( -/obj/item/weapon/disk/tech_disk{ +/obj/item/disk/tech_disk{ desc = "Better keep this safe."; name = "nuclear authentication disk" }, @@ -20958,9 +20958,9 @@ dir = 10 }, /obj/structure/table/glass, -/obj/item/weapon/paper_bin, -/obj/item/weapon/clipboard, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/clipboard, +/obj/item/pen, /turf/simulated/floor/tiled/white, /area/medical/patient_b) "hWn" = ( @@ -21124,8 +21124,8 @@ /area/hallway/primary/southeast) "hYP" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /obj/item/clothing/glasses/sunglasses, /turf/simulated/floor/carpet, /area/security/detectives_office) @@ -21147,7 +21147,7 @@ /area/medical/exam_room) "hZM" = ( /obj/structure/table/glass, -/obj/item/device/universal_translator, +/obj/item/universal_translator, /turf/simulated/floor/wood, /area/chapel/monastery/recreation) "hZO" = ( @@ -21458,10 +21458,10 @@ /turf/simulated/floor/tiled, /area/hallway/secondary/entry/docking_lounge) "igJ" = ( -/obj/item/weapon/tool/wrench, -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone, -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone, -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone, +/obj/item/tool/wrench, +/obj/item/reagent_containers/glass/beaker/cryoxadone, +/obj/item/reagent_containers/glass/beaker/cryoxadone, +/obj/item/reagent_containers/glass/beaker/cryoxadone, /obj/machinery/cell_charger, /obj/effect/floor_decal/industrial/danger{ dir = 1 @@ -21482,7 +21482,7 @@ /area/borealis2/outdoors/grounds) "iht" = ( /obj/structure/table/standard, -/obj/item/weapon/hand_labeler, +/obj/item/hand_labeler, /obj/machinery/recharger, /obj/effect/floor_decal/corner/brown{ dir = 8 @@ -21610,7 +21610,7 @@ /area/medical/reception) "ikr" = ( /obj/structure/closet, -/obj/item/weapon/storage/backpack/dufflebag, +/obj/item/storage/backpack/dufflebag, /turf/simulated/floor/wood, /area/quartermaster) "ikJ" = ( @@ -21623,12 +21623,12 @@ /area/security/nuke_storage) "ikS" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /obj/structure/disposalpipe/segment, /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -24 @@ -21642,7 +21642,7 @@ /turf/simulated/floor/tiled/white, /area/medical/surgeryprep) "ikX" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Common Channel"; pixel_y = -21 }, @@ -21693,7 +21693,7 @@ /turf/simulated/floor/tiled, /area/quartermaster/storage) "ilr" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/button/windowtint{ id = "preop2"; pixel_x = -8; @@ -21848,10 +21848,10 @@ /turf/simulated/floor/plating, /area/hallway/secondary/exit) "ioF" = ( -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -3 }, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 3 }, /obj/structure/table/woodentable, @@ -21891,7 +21891,7 @@ /obj/machinery/light{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Common Channel"; pixel_x = -21 @@ -21951,8 +21951,8 @@ /area/shuttle/residential) "irO" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /turf/simulated/floor/tiled, /area/hallway/secondary/entry/docking_lounge) "irP" = ( @@ -21965,11 +21965,11 @@ /turf/simulated/floor/tiled, /area/hallway/secondary/entry/docking_lounge) "irY" = ( -/obj/item/weapon/paper_bin, -/obj/item/weapon/clipboard, -/obj/item/weapon/stamp/cmo, -/obj/item/weapon/folder/white_cmo, -/obj/item/weapon/pen/multi, +/obj/item/paper_bin, +/obj/item/clipboard, +/obj/item/stamp/cmo, +/obj/item/folder/white_cmo, +/obj/item/pen/multi, /obj/structure/table/reinforced, /obj/machinery/light, /obj/effect/floor_decal/corner/paleblue{ @@ -22068,7 +22068,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/item/weapon/paper/psmartfridge{ +/obj/item/paper/psmartfridge{ pixel_y = 9 }, /turf/simulated/floor/tiled{ @@ -22236,7 +22236,7 @@ /area/security/hangar) "iyf" = ( /obj/structure/table/glass, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /obj/machinery/atmospherics/unary/vent_pump/siphon/on/atmos/relief, /turf/simulated/floor/wood, /area/chapel/monastery) @@ -22258,12 +22258,12 @@ pixel_x = 3; pixel_y = 3 }, -/obj/item/device/multitool{ +/obj/item/multitool{ pixel_x = 5 }, /obj/item/clothing/gloves/yellow, /obj/structure/table/steel, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -22338,11 +22338,11 @@ /area/medical/reception) "iAE" = ( /obj/structure/table/glass, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/effect/decal/cleanable/generic, /turf/simulated/floor/tiled, /area/quartermaster/foyer) @@ -22377,14 +22377,14 @@ /obj/structure/table/rack{ dir = 1 }, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_x = -2; pixel_y = -1 }, -/obj/item/weapon/storage/belt/utility, -/obj/item/weapon/shovel, -/obj/item/weapon/ice_pick, -/obj/item/weapon/ice_pick, +/obj/item/storage/belt/utility, +/obj/item/shovel, +/obj/item/ice_pick, +/obj/item/ice_pick, /obj/effect/floor_decal/corner/brown/full, /turf/simulated/floor/tiled, /area/quartermaster/miningwing) @@ -22418,8 +22418,8 @@ /turf/simulated/floor/tiled, /area/quartermaster/miningwing) "iBN" = ( -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/spoon{ +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/spoon{ pixel_x = 2 }, /obj/structure/table/woodentable, @@ -22566,8 +22566,8 @@ /area/security/brig) "iDF" = ( /obj/structure/table/glass, -/obj/item/weapon/folder/white_rd, -/obj/item/weapon/stamp/rd, +/obj/item/folder/white_rd, +/obj/item/stamp/rd, /obj/effect/floor_decal/corner_oldtile/purple/diagonal{ dir = 4 }, @@ -22600,7 +22600,7 @@ d2 = 8; icon_state = "2-8" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Common Channel"; pixel_y = 21 @@ -22899,8 +22899,8 @@ dir = 8 }, /obj/machinery/computer/transhuman/resleeving, -/obj/item/weapon/book/manual/resleeving, -/obj/item/weapon/storage/box/backup_kit, +/obj/item/book/manual/resleeving, +/obj/item/storage/box/backup_kit, /obj/structure/window/reinforced, /turf/simulated/floor/tiled/white, /area/assembly/robotics) @@ -23008,7 +23008,7 @@ dir = 4 }, /obj/structure/table/steel, -/obj/item/device/electronic_assembly/large{ +/obj/item/electronic_assembly/large{ pixel_y = 6 }, /turf/simulated/floor/tiled/techfloor, @@ -23057,7 +23057,7 @@ /turf/simulated/floor/plating, /area/maintenance/research_port) "iNu" = ( -/obj/item/weapon/storage/box/cups, +/obj/item/storage/box/cups, /obj/structure/table/standard, /obj/machinery/light/small{ dir = 8 @@ -23354,8 +23354,8 @@ pixel_x = 28 }, /obj/structure/table/rack/shelf, -/obj/item/weapon/ice_pick, -/obj/item/weapon/material/knife/machete/hatchet, +/obj/item/ice_pick, +/obj/item/material/knife/machete/hatchet, /turf/simulated/floor/tiled/techmaint, /area/cryogaia/outpost/checkpoint) "iVn" = ( @@ -23403,12 +23403,12 @@ /area/engineering/engine_room) "iVS" = ( /obj/structure/table/standard, -/obj/item/weapon/hand_labeler, -/obj/item/weapon/stamp{ +/obj/item/hand_labeler, +/obj/item/stamp{ pixel_x = -3; pixel_y = 3 }, -/obj/item/weapon/hand_labeler, +/obj/item/hand_labeler, /turf/simulated/floor/tiled, /area/quartermaster/storage) "iVT" = ( @@ -23484,8 +23484,8 @@ /area/medical/patient_c) "iXz" = ( /obj/structure/table/standard, -/obj/item/weapon/cartridge/signal/science, -/obj/item/weapon/cartridge/signal/science, +/obj/item/cartridge/signal/science, +/obj/item/cartridge/signal/science, /obj/item/clothing/glasses/welding/superior, /obj/machinery/light_switch{ pixel_x = 25 @@ -23493,7 +23493,7 @@ /obj/effect/floor_decal/corner_oldtile/gray/diagonal{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Common Channel"; pixel_y = -21 }, @@ -23572,7 +23572,7 @@ icon_state = "0-2" }, /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -30 @@ -23673,7 +23673,7 @@ /turf/simulated/floor/tiled/steel_grid, /area/quartermaster/warehouse) "jdZ" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Common Channel"; pixel_y = 21 @@ -23876,11 +23876,11 @@ /area/chapel/monastery) "jin" = ( /obj/structure/table/glass, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/device/megaphone, +/obj/item/megaphone, /obj/effect/floor_decal/corner_oldtile/purple/diagonal{ dir = 4 }, @@ -24223,13 +24223,13 @@ /area/security/evidence_storage) "joa" = ( /obj/structure/table/steel, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/tool/crowbar, +/obj/item/tool/wrench, +/obj/item/tool/crowbar, /obj/machinery/newscaster/security_unit{ pixel_y = 30 }, -/obj/item/weapon/hand_labeler, -/obj/item/device/retail_scanner/security{ +/obj/item/hand_labeler, +/obj/item/retail_scanner/security{ name = "fine payment scanner" }, /turf/simulated/floor/tiled/dark, @@ -24305,7 +24305,7 @@ /turf/simulated/floor/outdoors/snow/snow/snow2/cryogaia, /area/borealis2/outdoors/grounds) "jqr" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ pixel_y = 5 }, /obj/effect/floor_decal/spline/plain{ @@ -24332,8 +24332,8 @@ /obj/item/clothing/shoes/boots/winter/engineering, /obj/item/clothing/shoes/boots/winter/engineering, /obj/item/clothing/suit/storage/hooded/wintercoat/snowsuit/engineering, -/obj/item/device/gps/engineering, -/obj/item/device/geiger/wall{ +/obj/item/gps/engineering, +/obj/item/geiger/wall{ dir = 4; pixel_x = -30 }, @@ -24365,7 +24365,7 @@ /turf/simulated/floor/tiled/techmaint, /area/cryogaia/station/ert_arrival) "jrj" = ( -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 8; pixel_x = 30 }, @@ -24434,7 +24434,7 @@ /obj/item/clothing/suit/storage/hooded/wintercoat/snowsuit/command, /obj/item/clothing/shoes/boots/winter/climbing, /obj/item/clothing/shoes/boots/winter/climbing, -/obj/item/device/gps/command, +/obj/item/gps/command, /turf/simulated/floor/tiled/dark, /area/bridge) "jsc" = ( @@ -24582,9 +24582,9 @@ /area/maintenance/bridge) "jvd" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/fountain, +/obj/item/storage/belt/utility/full, +/obj/item/paper_bin, +/obj/item/pen/fountain, /turf/simulated/floor/tiled/white, /area/rnd/phoronics) "jvi" = ( @@ -24651,7 +24651,7 @@ /obj/item/clothing/shoes/boots/winter/engineering, /obj/item/clothing/shoes/boots/winter/engineering, /obj/item/clothing/suit/storage/hooded/wintercoat/snowsuit/engineering, -/obj/item/device/gps/engineering, +/obj/item/gps/engineering, /turf/simulated/floor/tiled, /area/engineering/hallway) "jvI" = ( @@ -24666,9 +24666,9 @@ /turf/simulated/floor/tiled/steel, /area/security/warden) "jvS" = ( -/obj/item/weapon/storage/box/matches, -/obj/item/weapon/storage/fancy/cigarettes, -/obj/item/weapon/deck/cards, +/obj/item/storage/box/matches, +/obj/item/storage/fancy/cigarettes, +/obj/item/deck/cards, /obj/structure/table/steel, /obj/random/maintenance/engineering, /turf/simulated/floor/plating, @@ -24771,13 +24771,13 @@ /area/borealis2/outdoors/grounds) "jyg" = ( /obj/structure/table/steel, -/obj/item/weapon/module/power_control, -/obj/item/weapon/airlock_electronics, +/obj/item/module/power_control, +/obj/item/airlock_electronics, /turf/simulated/floor, /area/storage/tech) "jyl" = ( /obj/structure/closet/radiation, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 28 @@ -25080,16 +25080,16 @@ /obj/effect/floor_decal/corner/red/full{ dir = 8 }, -/obj/item/device/holowarrant, -/obj/item/device/holowarrant, -/obj/item/device/holowarrant, -/obj/item/device/holowarrant, -/obj/item/device/holowarrant, -/obj/item/device/ticket_printer, -/obj/item/device/ticket_printer, -/obj/item/device/ticket_printer, -/obj/item/device/ticket_printer, -/obj/item/device/ticket_printer, +/obj/item/holowarrant, +/obj/item/holowarrant, +/obj/item/holowarrant, +/obj/item/holowarrant, +/obj/item/holowarrant, +/obj/item/ticket_printer, +/obj/item/ticket_printer, +/obj/item/ticket_printer, +/obj/item/ticket_printer, +/obj/item/ticket_printer, /turf/simulated/floor/tiled/steel, /area/security/security_lockerroom) "jEM" = ( @@ -25193,7 +25193,7 @@ /turf/simulated/wall, /area/crew_quarters/showers) "jGP" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/spline/plain{ dir = 4 }, @@ -25322,9 +25322,9 @@ /area/chapel/monastery) "jHW" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/box/matches, +/obj/item/storage/box/matches, /obj/item/clothing/mask/smokable/cigarette/cigar, -/obj/item/weapon/reagent_containers/food/drinks/flask{ +/obj/item/reagent_containers/food/drinks/flask{ pixel_x = 8 }, /obj/machinery/firealarm{ @@ -25454,8 +25454,8 @@ /area/rnd/research) "jLU" = ( /obj/structure/table/standard, -/obj/item/weapon/hand_labeler, -/obj/item/weapon/hand_labeler, +/obj/item/hand_labeler, +/obj/item/hand_labeler, /obj/machinery/power/apc{ dir = 4; name = "east bump"; @@ -25492,15 +25492,15 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/table/woodentable, -/obj/item/weapon/storage/box/donut, +/obj/item/storage/box/donut, /turf/simulated/floor/wood/alt/parquet, /area/crew_quarters/captain) "jMN" = ( /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/toxin, +/obj/item/storage/firstaid/toxin, +/obj/item/storage/firstaid/toxin, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, @@ -25601,10 +25601,10 @@ req_access = newlist(); req_one_access = list(51) }, -/obj/item/weapon/tank/jetpack/oxygen, +/obj/item/tank/jetpack/oxygen, /obj/item/clothing/suit/space/void/security/alt, /obj/item/clothing/head/helmet/space/void/security/alt, -/obj/item/device/gps/security, +/obj/item/gps/security, /turf/simulated/floor/tiled/steel, /area/security/pilotroom) "jPp" = ( @@ -25662,7 +25662,7 @@ /obj/structure/table/rack/shelf, /obj/item/clothing/suit/storage/hooded/wintercoat/snowsuit, /obj/item/clothing/shoes/boots/winter, -/obj/item/weapon/ice_pick, +/obj/item/ice_pick, /turf/simulated/floor/tiled, /area/hallway/secondary/exit) "jQF" = ( @@ -25757,7 +25757,7 @@ /area/engineering/hallway) "jSh" = ( /obj/structure/table/gamblingtable, -/obj/item/weapon/deck/cards, +/obj/item/deck/cards, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, @@ -25775,7 +25775,7 @@ /obj/effect/decal/cleanable/cobweb2{ icon_state = "cobweb1" }, -/obj/item/weapon/paper/psmartfridge{ +/obj/item/paper/psmartfridge{ pixel_x = 7; pixel_y = 4 }, @@ -25810,13 +25810,13 @@ /turf/simulated/floor/carpet/bcarpet, /area/crew_quarters/meeting) "jTi" = ( -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_y = 5 }, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_y = 5 }, -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical, /obj/structure/table/reinforced, /obj/structure/window/reinforced{ dir = 8; @@ -25830,7 +25830,7 @@ dir = 4 }, /obj/structure/table/reinforced, -/obj/item/weapon/paper/dockingcodes, +/obj/item/paper/dockingcodes, /turf/simulated/floor/carpet/blue, /area/crew_quarters/heads/hop) "jTL" = ( @@ -25925,10 +25925,10 @@ dir = 8 }, /obj/structure/table/steel, -/obj/item/device/integrated_electronics/wirer{ +/obj/item/integrated_electronics/wirer{ pixel_x = 5 }, -/obj/item/device/integrated_electronics/debugger{ +/obj/item/integrated_electronics/debugger{ pixel_x = -5 }, /obj/machinery/newscaster{ @@ -25959,11 +25959,11 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/storage/toolbox/electrical{ +/obj/item/storage/toolbox/electrical{ pixel_x = 1; pixel_y = -1 }, -/obj/item/device/multitool, +/obj/item/multitool, /obj/item/clothing/glasses/meson, /obj/machinery/ai_status_display{ pixel_x = 32 @@ -26102,7 +26102,7 @@ /area/hallway/secondary/entry/docking_lounge) "kaa" = ( /obj/structure/table/standard, -/obj/item/weapon/hand_tele, +/obj/item/hand_tele, /turf/simulated/floor/tiled/dark, /area/teleporter) "kal" = ( @@ -26166,15 +26166,15 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/circuitboard/borgupload{ +/obj/item/circuitboard/borgupload{ pixel_x = -1; pixel_y = 1 }, -/obj/item/weapon/circuitboard/aiupload{ +/obj/item/circuitboard/aiupload{ pixel_x = 2; pixel_y = -2 }, -/obj/item/weapon/circuitboard/transhuman_resleever{ +/obj/item/circuitboard/transhuman_resleever{ pixel_x = 5; pixel_y = -5 }, @@ -26215,7 +26215,7 @@ /area/medical/surgery) "kcv" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/secure/briefcase, +/obj/item/storage/secure/briefcase, /turf/simulated/floor/tiled/dark, /area/bridge) "kcK" = ( @@ -26289,7 +26289,7 @@ /obj/effect/floor_decal/corner/yellow{ dir = 10 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Common Channel"; pixel_y = -21 }, @@ -26413,8 +26413,8 @@ dir = 4 }, /obj/structure/closet/secure_closet/personal, -/obj/item/weapon/storage/backpack/dufflebag, -/obj/item/weapon/storage/box/pocky, +/obj/item/storage/backpack/dufflebag, +/obj/item/storage/box/pocky, /turf/simulated/floor/tiled, /area/crew_quarters/locker) "kgs" = ( @@ -26521,7 +26521,7 @@ /area/cryogaia/outpost/tower/south) "kib" = ( /obj/structure/disposalpipe/segment, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 8; pixel_x = 30 }, @@ -26609,8 +26609,8 @@ /area/medical/medbay_emt_bay) "kjI" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/fountain, +/obj/item/paper_bin, +/obj/item/pen/fountain, /turf/simulated/floor/wood, /area/medical/psych) "kjR" = ( @@ -26691,12 +26691,12 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/stock_parts/matter_bin, -/obj/item/weapon/stock_parts/matter_bin, -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/console_screen, -/obj/item/weapon/circuitboard/autolathe, -/obj/item/weapon/circuitboard/partslathe, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/console_screen, +/obj/item/circuitboard/autolathe, +/obj/item/circuitboard/partslathe, /obj/machinery/alarm/yw{ frequency = 1441; pixel_y = 22 @@ -26790,7 +26790,7 @@ /area/rnd/research) "koo" = ( /obj/structure/closet/jcloset, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /obj/structure/cable/green, /obj/machinery/power/apc{ name = "south bump"; @@ -26940,12 +26940,12 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Common Channel"; pixel_y = -21 }, -/obj/item/device/gps/science, -/obj/item/device/gps/science, +/obj/item/gps/science, +/obj/item/gps/science, /obj/item/clothing/shoes/boots/winter/science, /obj/item/clothing/shoes/boots/winter/science, /turf/simulated/floor/tiled, @@ -27006,9 +27006,9 @@ /area/engineering/workshop) "krb" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /obj/structure/disposalpipe/segment, /obj/machinery/power/apc{ dir = 4; @@ -27143,7 +27143,7 @@ /turf/simulated/floor/plating, /area/engineering/drone_fabrication) "ktx" = ( -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 4; pixel_x = -30 }, @@ -27286,10 +27286,10 @@ /obj/machinery/light{ dir = 1 }, -/obj/item/weapon/tank/jetpack/oxygen, +/obj/item/tank/jetpack/oxygen, /obj/item/clothing/suit/space/void/security, /obj/item/clothing/head/helmet/space/void/security, -/obj/item/device/gps/security, +/obj/item/gps/security, /turf/simulated/floor/tiled/dark, /area/security/airlock) "kvM" = ( @@ -27362,7 +27362,7 @@ /area/security/briefing_room) "kxk" = ( /obj/structure/table/rack, -/obj/item/weapon/rig/medical/equipped, +/obj/item/rig/medical/equipped, /obj/machinery/atmospherics/unary/vent_pump/siphon/on/atmos/relief{ dir = 4 }, @@ -27370,7 +27370,7 @@ /area/medical/medbay_emt_bay) "kxH" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/cups, +/obj/item/storage/box/cups, /obj/effect/floor_decal/corner/white{ dir = 4 }, @@ -27416,14 +27416,14 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/storage/toolbox/electrical{ +/obj/item/storage/toolbox/electrical{ pixel_x = 1; pixel_y = -1 }, /obj/item/clothing/gloves/yellow, -/obj/item/device/t_scanner, +/obj/item/t_scanner, /obj/item/clothing/glasses/meson, -/obj/item/device/multitool, +/obj/item/multitool, /obj/structure/cable{ d1 = 1; d2 = 2; @@ -27536,7 +27536,7 @@ /area/borealis2/outdoors/grounds) "kAV" = ( /obj/machinery/clonepod/transhuman, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ pixel_y = 32 }, /obj/effect/floor_decal/corner/lime{ @@ -27574,7 +27574,7 @@ }, /obj/item/clothing/mask/breath, /obj/item/clothing/shoes/magboots, -/obj/item/weapon/tank/oxygen, +/obj/item/tank/oxygen, /obj/item/clothing/suit/space/void/medical/emt, /obj/item/clothing/head/helmet/space/void/medical/emt, /turf/simulated/floor/tiled/white, @@ -27659,7 +27659,7 @@ /obj/effect/floor_decal/spline/plain{ dir = 6 }, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ pixel_y = 5 }, /obj/structure/cable/green{ @@ -27671,10 +27671,10 @@ /area/crew_quarters/bar) "kEe" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin, -/obj/item/weapon/folder/red, -/obj/item/weapon/folder/blue, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/folder/red, +/obj/item/folder/blue, +/obj/item/pen, /obj/effect/floor_decal/corner/blue{ dir = 9 }, @@ -27716,7 +27716,7 @@ /turf/simulated/floor/tiled/dark, /area/security/armoury) "kEV" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 }, @@ -27741,9 +27741,9 @@ frequency = 1441; pixel_y = 22 }, -/obj/item/weapon/reagent_containers/glass/bottle/biomass, -/obj/item/weapon/reagent_containers/glass/bottle/biomass, -/obj/item/weapon/reagent_containers/glass/bottle/biomass, +/obj/item/reagent_containers/glass/bottle/biomass, +/obj/item/reagent_containers/glass/bottle/biomass, +/obj/item/reagent_containers/glass/bottle/biomass, /obj/machinery/atmospherics/unary/vent_pump/siphon/on/atmos/relief, /obj/machinery/stationboiler_radiator{ dir = 8 @@ -27833,7 +27833,7 @@ /turf/simulated/floor/tiled, /area/bridge) "kHx" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/wood, /area/crew_quarters/bar) "kHP" = ( @@ -27930,7 +27930,7 @@ /obj/machinery/door/window/brigdoor/westright{ name = "Ion Firearms" }, -/obj/item/weapon/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle, /obj/structure/table/rack/gun_rack, /turf/simulated/floor/tiled/red, /area/security/armoury) @@ -28068,8 +28068,8 @@ req_access = list(58) }, /obj/item/clothing/shoes/magboots, -/obj/item/device/suit_cooling_unit, -/obj/item/weapon/tank/jetpack/oxygen, +/obj/item/suit_cooling_unit, +/obj/item/tank/jetpack/oxygen, /obj/item/clothing/mask/breath, /obj/item/clothing/suit/space/void/security/prototype, /obj/item/clothing/head/helmet/space/void/security/prototype, @@ -28081,7 +28081,7 @@ d2 = 8; icon_state = "4-8" }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 1; pixel_y = -30 }, @@ -28110,7 +28110,7 @@ /area/engineering/engine_room) "kNM" = ( /obj/structure/table/standard, -/obj/item/weapon/hand_labeler, +/obj/item/hand_labeler, /obj/machinery/atmospherics/unary/vent_pump/siphon/on/atmos/relief{ dir = 8 }, @@ -28151,7 +28151,7 @@ /area/maintenance/bridge) "kOn" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/swabs{ +/obj/item/storage/box/swabs{ layer = 5 }, /obj/structure/cable/green{ @@ -28159,11 +28159,11 @@ d2 = 8; icon_state = "1-8" }, -/obj/item/weapon/folder/red, -/obj/item/weapon/folder/blue{ +/obj/item/folder/red, +/obj/item/folder/blue{ pixel_y = -3 }, -/obj/item/weapon/folder/yellow{ +/obj/item/folder/yellow{ pixel_y = -5 }, /obj/machinery/light, @@ -28189,7 +28189,7 @@ /turf/simulated/floor/tiled, /area/medical/resleeving) "kOx" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 28 @@ -28369,7 +28369,7 @@ dir = 8; layer = 2.6 }, -/obj/item/weapon/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, /obj/machinery/door/window/southright{ name = "Jetpack Storage"; req_one_access = list(11,24) @@ -28461,7 +28461,7 @@ dir = 8 }, /obj/effect/floor_decal/corner_oldtile/purple, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 1; pixel_y = -30 }, @@ -28848,7 +28848,7 @@ /obj/item/roller{ pixel_y = 16 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; pixel_y = 24; req_access = list() @@ -29020,8 +29020,8 @@ /area/crew_quarters/kitchen) "lgB" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/backup_kit, -/obj/item/weapon/storage/box/backup_kit, +/obj/item/storage/box/backup_kit, +/obj/item/storage/box/backup_kit, /obj/effect/floor_decal/corner/lime{ dir = 10 }, @@ -29030,7 +29030,7 @@ d2 = 8; icon_state = "4-8" }, -/obj/item/device/sleevemate, +/obj/item/sleevemate, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, @@ -29150,10 +29150,10 @@ /area/lawoffice) "ljB" = ( /obj/structure/table/standard, -/obj/item/weapon/packageWrap, -/obj/item/weapon/hand_labeler, +/obj/item/packageWrap, +/obj/item/hand_labeler, /obj/machinery/recharger, -/obj/item/device/sleevemate, +/obj/item/sleevemate, /obj/effect/floor_decal/corner/paleblue/full, /turf/simulated/floor/tiled/white, /area/medical/medbay_primary_storage) @@ -29170,7 +29170,7 @@ name = "EVA Suit Storage"; req_access = list(5) }, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, /obj/item/clothing/suit/storage/hooded/wintercoat/snowsuit/medical, /obj/structure/window/reinforced{ dir = 1 @@ -29266,7 +29266,7 @@ /obj/effect/floor_decal/corner/brown{ dir = 10 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Common Channel"; pixel_y = -21 }, @@ -29292,9 +29292,9 @@ /area/engineering/engine_airlock) "lnn" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/toolbox/electrical, -/obj/item/weapon/storage/toolbox/mechanical, -/obj/item/weapon/storage/box/gloves, +/obj/item/storage/toolbox/electrical, +/obj/item/storage/toolbox/mechanical, +/obj/item/storage/box/gloves, /turf/simulated/floor/tiled, /area/assembly/robotics) "lnr" = ( @@ -29526,7 +29526,7 @@ /area/hallway/primary/southeast) "lrY" = ( /obj/structure/table/glass, -/obj/item/weapon/folder/blue, +/obj/item/folder/blue, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 }, @@ -29549,7 +29549,7 @@ pixel_x = 30; pixel_y = 30 }, -/obj/item/weapon/paper/monitorkey, +/obj/item/paper/monitorkey, /turf/simulated/floor/tiled/white, /area/rnd/rdoffice) "lss" = ( @@ -29844,8 +29844,8 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/folder/white, -/obj/item/weapon/folder/white, +/obj/item/folder/white, +/obj/item/folder/white, /obj/effect/floor_decal/corner/pink{ dir = 9 }, @@ -29879,10 +29879,10 @@ health = 1e+006 }, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/weapon/gun/energy/laser{ +/obj/item/gun/energy/laser{ pixel_y = 2 }, -/obj/item/weapon/gun/energy/laser{ +/obj/item/gun/energy/laser{ pixel_y = -2 }, /obj/structure/cable/green{ @@ -30002,11 +30002,11 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/stock_parts/manipulator, -/obj/item/weapon/stock_parts/matter_bin, -/obj/item/weapon/stock_parts/matter_bin, -/obj/item/weapon/stock_parts/capacitor, -/obj/item/weapon/stock_parts/capacitor, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/capacitor, +/obj/item/stock_parts/capacitor, /obj/structure/cable{ d1 = 1; d2 = 2; @@ -30051,9 +30051,9 @@ /area/chapel/monastery/brew) "lAP" = ( /obj/structure/closet/secure_closet/cargotech, -/obj/item/weapon/stamp/cargo, +/obj/item/stamp/cargo, /obj/item/clothing/suit/storage/hooded/wintercoat/snowsuit/cargo, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ pixel_y = 30 }, /turf/simulated/floor/tiled, @@ -30081,7 +30081,7 @@ "lBP" = ( /obj/effect/floor_decal/corner/grey/diagonal, /obj/structure/table/standard, -/obj/item/weapon/book/manual/cook_guide, +/obj/item/book/manual/cook_guide, /turf/simulated/floor/tiled/white, /area/crew_quarters/kitchen) "lCb" = ( @@ -30223,7 +30223,7 @@ /area/storage/auxillary) "lGl" = ( /obj/structure/table/gamblingtable, -/obj/item/weapon/dice, +/obj/item/dice, /obj/machinery/atmospherics/unary/vent_pump/siphon/on/atmos/relief{ dir = 1 }, @@ -30295,7 +30295,7 @@ /turf/simulated/floor/tiled/techmaint, /area/cryogaia/outpost/tower/south) "lHn" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, @@ -30428,7 +30428,7 @@ /obj/structure/closet/secure_closet/security, /obj/effect/floor_decal/industrial/outline, /obj/item/clothing/shoes/boots/jackboots/toeless, -/obj/item/weapon/bluespace_crystal/artificial, +/obj/item/bluespace_crystal/artificial, /turf/simulated/floor/tiled/dark, /area/security/security_lockerroom) "lJO" = ( @@ -30597,7 +30597,7 @@ name = "south bump"; pixel_y = -24 }, -/obj/item/weapon/storage/secure/briefcase/money{ +/obj/item/storage/secure/briefcase/money{ desc = "An sleek tidy briefcase."; name = "secure briefcase" }, @@ -30681,7 +30681,7 @@ icon_state = "1-2" }, /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -30 @@ -30813,7 +30813,7 @@ pixel_y = -24 }, /obj/structure/cable/green, -/obj/item/weapon/reagent_containers/glass/bottle/biomass, +/obj/item/reagent_containers/glass/bottle/biomass, /obj/machinery/organ_printer/flesh/full, /turf/simulated/floor/tiled/freezer, /area/medical/surgery_storage) @@ -30827,7 +30827,7 @@ /turf/simulated/floor/wood, /area/crew_quarters/captain) "lQA" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 }, @@ -30909,11 +30909,11 @@ /area/security/evidence_storage) "lSg" = ( /obj/structure/table/reinforced, -/obj/item/device/radio{ +/obj/item/radio{ frequency = 1487; name = "Medbay Emergency Radio Link" }, -/obj/item/device/megaphone, +/obj/item/megaphone, /obj/effect/floor_decal/corner/paleblue{ dir = 4 }, @@ -30928,7 +30928,7 @@ name = "gun safe"; req_access = list(1) }, -/obj/item/weapon/gun/projectile/revolver/consul, +/obj/item/gun/projectile/revolver/consul, /obj/item/ammo_magazine/s44, /obj/item/ammo_magazine/s44, /turf/simulated/floor/tiled/dark, @@ -31070,7 +31070,7 @@ /area/crew_quarters/kitchen) "lVg" = ( /obj/structure/table/reinforced, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/tiled/dark, /area/lawoffice) @@ -31126,8 +31126,8 @@ "lWh" = ( /obj/structure/table/woodentable, /obj/item/ammo_magazine/ammo_box/b12g/beanbag, -/obj/item/weapon/gun/projectile/shotgun/doublebarrel, -/obj/item/weapon/paper{ +/obj/item/gun/projectile/shotgun/doublebarrel, +/obj/item/paper{ info = "This permit signifies that the Bartender is permitted to posess this firearm in the bar, and ONLY the bar. Failure to adhere to this permit will result in confiscation of the weapon and possibly arrest."; name = "Shotgun permit" }, @@ -31158,11 +31158,11 @@ /turf/simulated/floor/tiled/steel, /area/medical/surgeryprep) "lXt" = ( -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 4; pixel_x = -30 }, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled/dark, /area/security/briefing_room) "lXE" = ( @@ -31505,7 +31505,7 @@ /obj/structure/table/rack/shelf, /obj/item/clothing/suit/storage/hooded/wintercoat/snowsuit, /obj/item/clothing/shoes/boots/winter/climbing, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Common Channel"; pixel_y = -21 }, @@ -31678,9 +31678,9 @@ /area/medical/medbaymain) "mhX" = ( /obj/structure/table/standard, -/obj/item/weapon/clipboard, -/obj/item/weapon/folder, -/obj/item/weapon/pen, +/obj/item/clipboard, +/obj/item/folder, +/obj/item/pen, /obj/machinery/atmospherics/unary/vent_pump/siphon/on/atmos/relief, /turf/simulated/floor/tiled, /area/quartermaster/office) @@ -31957,7 +31957,7 @@ /turf/simulated/floor/tiled, /area/hallway/secondary/exit_link) "mnB" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Common Channel"; pixel_x = 21 @@ -31988,7 +31988,7 @@ /obj/structure/table/reinforced, /obj/item/clothing/ears/earmuffs, /obj/item/clothing/glasses/goggles, -/obj/item/weapon/clipboard, +/obj/item/clipboard, /obj/structure/window/reinforced{ dir = 8; health = 1e+006 @@ -32019,7 +32019,7 @@ /obj/effect/floor_decal/corner/white{ dir = 4 }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 8; pixel_x = 30 }, @@ -32220,12 +32220,12 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery, /obj/structure/cable/green{ icon_state = "0-4" }, /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -30 @@ -32368,8 +32368,8 @@ /area/engineering/workshop) "mtZ" = ( /obj/structure/table/reinforced, -/obj/item/weapon/clipboard, -/obj/item/weapon/clipboard, +/obj/item/clipboard, +/obj/item/clipboard, /obj/machinery/newscaster{ pixel_y = 32 }, @@ -32655,8 +32655,8 @@ "mzQ" = ( /obj/structure/table/reinforced, /obj/machinery/recharger, -/obj/item/weapon/cell/device, -/obj/item/weapon/cell/device, +/obj/item/cell/device, +/obj/item/cell/device, /obj/structure/window/reinforced{ dir = 8; health = 1e+006 @@ -32678,7 +32678,7 @@ d2 = 8; icon_state = "4-8" }, -/obj/item/device/radio/beacon, +/obj/item/radio/beacon, /obj/effect/floor_decal/corner_steel_grid{ dir = 5 }, @@ -32753,7 +32753,7 @@ /turf/simulated/shuttle/plating, /area/rnd/phoronics) "mBx" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -32887,7 +32887,7 @@ /area/shuttle/security) "mDC" = ( /obj/structure/table/rack, -/obj/item/weapon/flame/lighter/zippo/blue, +/obj/item/flame/lighter/zippo/blue, /obj/effect/floor_decal/corner/blue{ dir = 9 }, @@ -32965,16 +32965,16 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/circuitboard/arcade/orion_trail{ +/obj/item/circuitboard/arcade/orion_trail{ pixel_x = -3; pixel_y = 3 }, -/obj/item/weapon/circuitboard/jukebox, -/obj/item/weapon/circuitboard/message_monitor{ +/obj/item/circuitboard/jukebox, +/obj/item/circuitboard/message_monitor{ pixel_x = 3; pixel_y = -3 }, -/obj/item/weapon/circuitboard/arcade/battle{ +/obj/item/circuitboard/arcade/battle{ pixel_x = 6; pixel_y = -5 }, @@ -33498,7 +33498,7 @@ dir = 5 }, /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/machinery/newscaster{ pixel_y = 32 }, @@ -33563,7 +33563,7 @@ /turf/simulated/floor/plating, /area/crew_quarters/heads/hos) "mLF" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Common Channel"; pixel_x = -21 @@ -33655,7 +33655,7 @@ /area/security/security_processing) "mNe" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/nifsofts_engineering, +/obj/item/storage/box/nifsofts_engineering, /obj/machinery/atmospherics/unary/vent_pump/siphon/on/atmos/relief, /turf/simulated/floor/tiled, /area/engineering/hallway) @@ -33792,8 +33792,8 @@ /area/security/outpost) "mPx" = ( /obj/structure/table/rack, -/obj/item/weapon/soap/deluxe, -/obj/item/weapon/towel/random, +/obj/item/soap/deluxe, +/obj/item/towel/random, /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/machinery/light/small{ dir = 8 @@ -33953,9 +33953,9 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, -/obj/item/weapon/clipboard, +/obj/item/paper_bin, +/obj/item/pen, +/obj/item/clipboard, /obj/effect/floor_decal/corner/pink{ dir = 9 }, @@ -34195,16 +34195,16 @@ /turf/simulated/floor, /area/maintenance/substation/command) "mXc" = ( -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 2; pixel_y = 6 }, /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -2; pixel_y = 4 }, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /turf/simulated/floor/wood, /area/crew_quarters/bar) "mXt" = ( @@ -34341,11 +34341,11 @@ pixel_y = 24 }, /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/flask/barflask{ +/obj/item/reagent_containers/food/drinks/flask/barflask{ pixel_x = -4; pixel_y = 8 }, -/obj/item/device/taperecorder, +/obj/item/taperecorder, /turf/simulated/floor/tiled/dark, /area/crew_quarters/heads/hos) "mZO" = ( @@ -34483,7 +34483,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, -/obj/item/weapon/ice_pick, +/obj/item/ice_pick, /obj/effect/floor_decal/corner/red, /obj/effect/floor_decal/corner/white{ dir = 4 @@ -34643,7 +34643,7 @@ /turf/simulated/floor, /area/engineering/engine_room) "neJ" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/spline/plain{ dir = 10 }, @@ -34709,7 +34709,7 @@ /obj/item/clothing/under/color/yellow, /obj/item/key, /obj/item/toy/katana, -/obj/item/weapon/moneybag/vault, +/obj/item/moneybag/vault, /turf/simulated/floor/tiled/dark, /area/security/nuke_storage) "nfU" = ( @@ -34818,9 +34818,9 @@ req_access = list(19); req_one_access = list(19) }, -/obj/item/weapon/gun/energy/gun/protector, -/obj/item/weapon/gun/energy/gun/protector, -/obj/item/weapon/gun/energy/gun/protector, +/obj/item/gun/energy/gun/protector, +/obj/item/gun/energy/gun/protector, +/obj/item/gun/energy/gun/protector, /turf/simulated/floor/tiled/dark, /area/maintenance/bridge) "niq" = ( @@ -35199,11 +35199,11 @@ /area/bridge) "nph" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/PDAs{ +/obj/item/storage/box/PDAs{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/box/ids, +/obj/item/storage/box/ids, /obj/effect/floor_decal/corner/blue/full, /turf/simulated/floor/tiled/dark, /area/bridge) @@ -35261,8 +35261,8 @@ "nqg" = ( /obj/effect/floor_decal/corner/grey/diagonal, /obj/structure/table/standard, -/obj/item/weapon/material/kitchen/rollingpin, -/obj/item/weapon/material/knife/butch, +/obj/item/material/kitchen/rollingpin, +/obj/item/material/knife/butch, /obj/machinery/light/small, /turf/simulated/floor/tiled/white, /area/crew_quarters/kitchen) @@ -35286,7 +35286,7 @@ /area/engineering/engine_airlock) "nqM" = ( /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -30 @@ -35409,7 +35409,7 @@ /area/medical/sleeper) "nsZ" = ( /obj/structure/table/glass, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/wood, /area/chapel/monastery) @@ -35532,7 +35532,7 @@ c_tag = "ENG - Monitoring Room"; dir = 4 }, -/obj/item/weapon/book/manual/supermatter_engine, +/obj/item/book/manual/supermatter_engine, /obj/effect/floor_decal/corner/yellow/diagonal, /turf/simulated/floor/tiled, /area/engineering/engine_monitoring) @@ -35544,11 +35544,11 @@ }, /obj/structure/cable/green, /obj/structure/table/rack, -/obj/item/weapon/storage/box/teargas{ +/obj/item/storage/box/teargas{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/box/handcuffs{ +/obj/item/storage/box/handcuffs{ pixel_x = -2; pixel_y = -2 }, @@ -35656,7 +35656,7 @@ /area/hallway/primary/central_one) "nwF" = ( /obj/structure/disposalpipe/segment, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 8; pixel_x = 30 }, @@ -35743,14 +35743,14 @@ /turf/simulated/floor/tiled/freezer, /area/rnd/research) "nzb" = ( -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 4; pixel_x = -30 }, /turf/simulated/floor/tiled/dark, /area/chapel/monastery) "nzg" = ( -/obj/item/weapon/book/manual/nuclear, +/obj/item/book/manual/nuclear, /turf/simulated/floor/plating/eris/under, /area/crew_quarters/captain) "nzq" = ( @@ -35793,7 +35793,7 @@ /turf/simulated/floor/tiled/steel, /area/security/pilotroom) "nAd" = ( -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 4; pixel_x = -30 }, @@ -35842,12 +35842,12 @@ /area/security/interrogation) "nAx" = ( /obj/structure/table/standard, -/obj/item/weapon/cartridge/quartermaster{ +/obj/item/cartridge/quartermaster{ pixel_x = 6; pixel_y = 5 }, -/obj/item/weapon/cartridge/quartermaster, -/obj/item/weapon/cartridge/quartermaster{ +/obj/item/cartridge/quartermaster, +/obj/item/cartridge/quartermaster{ pixel_x = -4; pixel_y = 7 }, @@ -35885,8 +35885,8 @@ /area/engineering/workshop) "nBm" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box, -/obj/item/weapon/storage/box{ +/obj/item/storage/box, +/obj/item/storage/box{ pixel_x = 3; pixel_y = 3 }, @@ -35894,11 +35894,11 @@ dir = 1; pixel_y = -22 }, -/obj/item/weapon/tape_roll{ +/obj/item/tape_roll{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/tape_roll, +/obj/item/tape_roll, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, @@ -35906,8 +35906,8 @@ /area/storage/art) "nBF" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/box/donut, -/obj/item/device/retail_scanner/security{ +/obj/item/storage/box/donut, +/obj/item/retail_scanner/security{ name = "fine payment scanner" }, /obj/structure/cable/green{ @@ -35992,8 +35992,8 @@ /area/hallway/primary/aft) "nDk" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/fancy/crayons, -/obj/item/weapon/storage/fancy/crayons, +/obj/item/storage/fancy/crayons, +/obj/item/storage/fancy/crayons, /turf/simulated/floor/tiled, /area/storage/art) "nDn" = ( @@ -36092,7 +36092,7 @@ /area/storage/emergency_storage/emergency5) "nEZ" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/machinery/alarm/yw{ dir = 1; pixel_y = -22 @@ -36324,7 +36324,7 @@ /obj/machinery/light/small{ dir = 1 }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 4; pixel_x = -30 }, @@ -36376,7 +36376,7 @@ /area/medical/autoresleeving) "nLW" = ( /obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -36416,7 +36416,7 @@ /obj/effect/floor_decal/corner/red{ dir = 10 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ frequency = 1475; name = "Station Intercom (Security)"; pixel_y = -21 @@ -36516,7 +36516,7 @@ /area/crew_quarters/heads/hop) "nNW" = ( /obj/structure/table/woodentable, -/obj/item/weapon/folder/blue, +/obj/item/folder/blue, /turf/simulated/floor/carpet, /area/bridge/meeting_room) "nOo" = ( @@ -36702,11 +36702,11 @@ "nRV" = ( /obj/structure/table/standard, /obj/machinery/cell_charger, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, @@ -36796,8 +36796,8 @@ /area/engineering/hallway) "nTi" = ( /obj/structure/table/reinforced, -/obj/item/weapon/forensics/sample_kit, -/obj/item/device/radio/intercom{ +/obj/item/forensics/sample_kit, +/obj/item/radio/intercom{ dir = 4; frequency = 1475; name = "Station Intercom (Security)"; @@ -37020,8 +37020,8 @@ /area/shuttle/security) "nYn" = ( /obj/structure/table/standard, -/obj/item/weapon/stamp/cargo, -/obj/item/weapon/stamp/denied{ +/obj/item/stamp/cargo, +/obj/item/stamp/denied{ pixel_x = 4; pixel_y = -2 }, @@ -37045,7 +37045,7 @@ /area/medical/medbay) "nYL" = ( /obj/structure/table/standard, -/obj/item/weapon/cell/potato, +/obj/item/cell/potato, /turf/simulated/floor/tiled, /area/engineering/hallway) "nYY" = ( @@ -37086,7 +37086,7 @@ /turf/simulated/floor/tiled/white, /area/rnd/research) "nZw" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, @@ -37181,8 +37181,8 @@ /obj/item/clothing/shoes/leg_guard/riot, /obj/item/clothing/suit/armor/riot/alt, /obj/item/clothing/head/helmet/riot, -/obj/item/weapon/shield/riot, -/obj/item/weapon/melee/baton/loaded, +/obj/item/shield/riot, +/obj/item/melee/baton/loaded, /obj/machinery/door/window/brigdoor{ dir = 2; name = "Riot Armor" @@ -37200,7 +37200,7 @@ /area/security/armoury) "obi" = ( /obj/structure/table/woodentable, -/obj/item/device/universal_translator, +/obj/item/universal_translator, /turf/simulated/floor/carpet/blue, /area/medical/psych) "obk" = ( @@ -37249,9 +37249,9 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/box/nifsofts_medical, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, +/obj/item/storage/box/nifsofts_medical, /obj/effect/floor_decal/corner/paleblue/full{ dir = 4 }, @@ -37508,12 +37508,12 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ layer = 2.8; pixel_x = 4; pixel_y = 6 }, -/obj/item/weapon/storage/firstaid/o2, +/obj/item/storage/firstaid/o2, /obj/effect/floor_decal/corner/paleblue/full{ dir = 8 }, @@ -37618,8 +37618,8 @@ /area/quartermaster/office) "okx" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/spray/luminol, -/obj/item/device/uv_light, +/obj/item/reagent_containers/spray/luminol, +/obj/item/uv_light, /obj/item/clothing/gloves/sterile/latex, /obj/machinery/alarm/yw{ dir = 8; @@ -37996,7 +37996,7 @@ /turf/simulated/floor/plating/snow/plating/cryogaia, /area/borealis2/outdoors/grounds) "osQ" = ( -/obj/item/weapon/tool/crowbar, +/obj/item/tool/crowbar, /turf/simulated/floor/plating, /area/constructionsite/cryogaia) "osV" = ( @@ -38009,8 +38009,8 @@ /turf/simulated/floor/tiled, /area/civilian/atrium/central) "otf" = ( -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/spoon{ +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/spoon{ pixel_x = 2 }, /obj/structure/table/woodentable, @@ -38094,15 +38094,15 @@ /area/hallway/secondary/exit) "oup" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ pixel_x = -2; pixel_y = -2 }, -/obj/item/device/defib_kit/loaded, +/obj/item/defib_kit/loaded, /obj/effect/floor_decal/corner/pink{ dir = 5 }, @@ -38227,7 +38227,7 @@ /obj/effect/floor_decal/corner/yellow{ dir = 5 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Common Channel"; pixel_y = 21 @@ -38602,12 +38602,12 @@ /turf/simulated/floor/wood, /area/chapel/monastery) "oDG" = ( -/obj/item/weapon/stock_parts/console_screen, +/obj/item/stock_parts/console_screen, /obj/structure/table/standard, -/obj/item/weapon/stock_parts/console_screen, -/obj/item/weapon/stock_parts/console_screen, -/obj/item/weapon/stock_parts/matter_bin, -/obj/item/weapon/stock_parts/matter_bin, +/obj/item/stock_parts/console_screen, +/obj/item/stock_parts/console_screen, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/matter_bin, /obj/machinery/recharger, /obj/effect/floor_decal/borderfloor{ dir = 5 @@ -38615,7 +38615,7 @@ /obj/effect/floor_decal/corner/mauve/border{ dir = 5 }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 8; pixel_x = 30 }, @@ -38762,7 +38762,7 @@ /area/shuttle/security) "oHC" = ( /obj/structure/table/standard, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /obj/machinery/stationboiler_radiator{ dir = 8 }, @@ -38814,7 +38814,7 @@ "oIQ" = ( /obj/effect/floor_decal/industrial/outline/yellow, /obj/structure/table/rack/shelf, -/obj/item/weapon/shovel, +/obj/item/shovel, /obj/machinery/power/apc{ dir = 1; name = "north bump"; @@ -38823,7 +38823,7 @@ /obj/structure/cable/green{ icon_state = "0-4" }, -/obj/item/weapon/ice_pick, +/obj/item/ice_pick, /turf/simulated/floor/tiled, /area/security/airlock) "oIW" = ( @@ -39065,7 +39065,7 @@ }, /area/engineering/engine_room) "oNR" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Common Channel"; pixel_y = -21 }, @@ -39119,7 +39119,7 @@ /area/hallway/primary/starboard) "oOA" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ pixel_x = -5 }, /obj/structure/window/reinforced{ @@ -39139,8 +39139,8 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/module/power_control, -/obj/item/weapon/cell{ +/obj/item/module/power_control, +/obj/item/cell{ maxcharge = 2000 }, /turf/simulated/floor/tiled/steel, @@ -39150,7 +39150,7 @@ dir = 8 }, /obj/structure/table/steel, -/obj/item/device/electronic_assembly/large{ +/obj/item/electronic_assembly/large{ pixel_y = 6 }, /turf/simulated/floor/tiled/techfloor, @@ -39185,59 +39185,59 @@ /turf/simulated/floor/tiled, /area/engineering/engine_eva) "oPl" = ( -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, -/obj/item/device/assembly/prox_sensor{ +/obj/item/assembly/prox_sensor{ pixel_x = -8; pixel_y = 4 }, -/obj/item/device/assembly/prox_sensor{ +/obj/item/assembly/prox_sensor{ pixel_x = -8; pixel_y = 4 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ empty = 1; name = "First-Aid (empty)" }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ empty = 1; name = "First-Aid (empty)" }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ empty = 1; name = "First-Aid (empty)" }, -/obj/item/device/healthanalyzer, -/obj/item/device/healthanalyzer, -/obj/item/device/healthanalyzer, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, +/obj/item/healthanalyzer, +/obj/item/healthanalyzer, +/obj/item/healthanalyzer, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, +/obj/item/flash/synthetic, /obj/item/stack/cable_coil, /obj/item/stack/cable_coil, /obj/structure/table/standard{ @@ -39309,10 +39309,10 @@ dir = 4 }, /obj/structure/table/steel, -/obj/item/device/integrated_electronics/debugger{ +/obj/item/integrated_electronics/debugger{ pixel_x = -5 }, -/obj/item/device/integrated_electronics/wirer{ +/obj/item/integrated_electronics/wirer{ pixel_x = 5 }, /obj/structure/extinguisher_cabinet{ @@ -39323,7 +39323,7 @@ /area/rnd/workshop) "oQw" = ( /obj/effect/floor_decal/industrial/warning, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 1; pixel_y = -30 }, @@ -39430,7 +39430,7 @@ /obj/machinery/light{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Common Channel"; pixel_x = 21 @@ -39722,9 +39722,9 @@ /area/rnd/hallway) "pau" = ( /obj/structure/closet/secure_closet/CMO, -/obj/item/device/pda/heads/cmo, -/obj/item/weapon/cmo_disk_holder, -/obj/item/device/defib_kit/compact/combat/loaded, +/obj/item/pda/heads/cmo, +/obj/item/cmo_disk_holder, +/obj/item/defib_kit/compact/combat/loaded, /obj/effect/floor_decal/corner/paleblue{ dir = 5 }, @@ -39772,16 +39772,16 @@ /area/rnd/phoronics) "pbM" = ( /obj/structure/table/glass, -/obj/item/weapon/backup_implanter{ +/obj/item/backup_implanter{ pixel_y = -12 }, -/obj/item/weapon/backup_implanter{ +/obj/item/backup_implanter{ pixel_y = -5 }, -/obj/item/weapon/backup_implanter{ +/obj/item/backup_implanter{ pixel_y = 2 }, -/obj/item/weapon/backup_implanter{ +/obj/item/backup_implanter{ pixel_y = 9 }, /obj/effect/floor_decal/corner/paleblue/full{ @@ -39792,7 +39792,7 @@ "pcr" = ( /obj/fiftyspawner/wood, /obj/fiftyspawner/floor, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /obj/fiftyspawner/glass, /obj/fiftyspawner/plastic, /obj/fiftyspawner/carpet, @@ -39873,7 +39873,7 @@ /turf/simulated/floor/tiled, /area/engineering/foyer) "pdo" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -28 @@ -39914,7 +39914,7 @@ "pdN" = ( /obj/structure/closet/secure_closet/warden, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/weapon/gun/projectile/shotgun/pump/combat{ +/obj/item/gun/projectile/shotgun/pump/combat{ ammo_type = /obj/item/ammo_casing/a12g/beanbag; desc = "Built for close quarters combat, the Hesphaistos Industries KS-40 is widely regarded as a weapon of choice for repelling boarders. This one has 'Property of the Warden' inscribed on the stock."; name = "warden's shotgun" @@ -39971,19 +39971,19 @@ /area/medical/surgery2) "pfc" = ( /obj/structure/table/rack, -/obj/item/device/radio{ +/obj/item/radio{ frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link"; pixel_x = 2; pixel_y = 2 }, -/obj/item/device/radio{ +/obj/item/radio{ frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link" }, -/obj/item/device/radio{ +/obj/item/radio{ frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link" @@ -40192,7 +40192,7 @@ /obj/machinery/light{ dir = 4 }, -/obj/item/weapon/bluespace_crystal/artificial, +/obj/item/bluespace_crystal/artificial, /turf/simulated/floor/tiled/dark, /area/security/security_lockerroom) "pjn" = ( @@ -40246,7 +40246,7 @@ /turf/simulated/wall, /area/security/checkpoint) "pjM" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/landmark/start{ name = "Paramedic" }, @@ -40360,7 +40360,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 8; pixel_x = 30 }, @@ -40371,10 +40371,10 @@ /area/security/brig) "plr" = ( /obj/structure/table/steel, -/obj/item/weapon/clipboard, -/obj/item/weapon/folder/red, -/obj/item/weapon/pen, -/obj/item/device/binoculars, +/obj/item/clipboard, +/obj/item/folder/red, +/obj/item/pen, +/obj/item/binoculars, /obj/machinery/door/window/brigdoor/westleft{ name = "Warden's Desk"; req_access = list(3) @@ -40408,8 +40408,8 @@ /area/hallway/primary/central_one) "plt" = ( /obj/structure/table/standard, -/obj/item/weapon/tape_roll, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/tape_roll, +/obj/item/storage/firstaid/regular{ pixel_x = 6; pixel_y = -5 }, @@ -40418,7 +40418,7 @@ dir = 4; pixel_x = -25 }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 1; pixel_y = -30 }, @@ -40574,7 +40574,7 @@ /turf/simulated/floor/plating, /area/maintenance/research_port) "pnS" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 8 }, /turf/simulated/floor/tiled{ @@ -40606,7 +40606,7 @@ /turf/simulated/floor/plating, /area/lawoffice) "poy" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/spline/plain, /obj/structure/disposalpipe/segment{ dir = 4 @@ -40951,7 +40951,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled, /area/engineering/hallway) "pvl" = ( @@ -41012,16 +41012,16 @@ /turf/simulated/floor/tiled/techfloor, /area/shuttle/security) "pwj" = ( -/obj/item/device/flashlight{ +/obj/item/flashlight{ pixel_x = 1; pixel_y = 5 }, -/obj/item/device/flashlight{ +/obj/item/flashlight{ pixel_x = 1; pixel_y = 5 }, -/obj/item/device/flash, -/obj/item/device/flash, +/obj/item/flash, +/obj/item/flash, /obj/structure/table/steel, /obj/machinery/alarm/yw{ dir = 1; @@ -41086,7 +41086,7 @@ icon_state = "4-8" }, /obj/structure/table/standard, -/obj/item/weapon/deck/cards, +/obj/item/deck/cards, /turf/simulated/floor/tiled, /area/teleporter) "pxk" = ( @@ -41126,7 +41126,7 @@ /area/rnd/research) "pyi" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, @@ -41220,7 +41220,7 @@ dir = 4 }, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ dir = 8; pixel_x = -24 }, @@ -41449,7 +41449,7 @@ /turf/simulated/floor/tiled/white, /area/medical/surgeryprep) "pFj" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/corner/lime{ dir = 9 }, @@ -41777,8 +41777,8 @@ name = "gun safe"; req_access = list(1) }, -/obj/item/weapon/gun/energy/sniperrifle, -/obj/item/weapon/gun/projectile/SVD, +/obj/item/gun/energy/sniperrifle, +/obj/item/gun/projectile/SVD, /turf/simulated/floor/tiled/red, /area/security/tactical) "pMt" = ( @@ -41898,12 +41898,12 @@ "pOo" = ( /obj/structure/table/reinforced, /obj/machinery/cell_charger, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, -/obj/item/device/flashlight, -/obj/item/weapon/tool/wrench, +/obj/item/flashlight, +/obj/item/tool/wrench, /obj/machinery/firealarm{ dir = 1; pixel_y = -24 @@ -41928,15 +41928,15 @@ /area/teleporter) "pQO" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen/blue{ +/obj/item/pen/blue{ pixel_x = -5; pixel_y = -1 }, -/obj/item/weapon/pen/red{ +/obj/item/pen/red{ pixel_x = -1; pixel_y = 3 }, @@ -42151,18 +42151,18 @@ /area/cryogaia/station/ert_arrival) "pVh" = ( /obj/structure/table/reinforced, -/obj/item/weapon/folder{ +/obj/item/folder{ pixel_x = -4 }, -/obj/item/weapon/folder/red{ +/obj/item/folder/red{ pixel_y = 3 }, -/obj/item/weapon/folder/blue{ +/obj/item/folder/blue{ pixel_x = 5 }, -/obj/item/weapon/folder/yellow, -/obj/item/weapon/stamp/internalaffairs, -/obj/item/weapon/stamp/denied{ +/obj/item/folder/yellow, +/obj/item/stamp/internalaffairs, +/obj/item/stamp/denied{ pixel_x = 4; pixel_y = -2 }, @@ -42179,7 +42179,7 @@ /area/quartermaster/storage) "pVs" = ( /obj/effect/floor_decal/corner/grey/diagonal, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 1; pixel_y = -30 }, @@ -42288,7 +42288,7 @@ }, /area/civilian/atrium/central) "pXC" = ( -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical, /obj/structure/table/steel, /turf/simulated/floor, /area/engineering/drone_fabrication) @@ -42361,7 +42361,7 @@ /obj/item/stack/material/gold, /obj/item/stack/material/gold, /obj/item/stack/material/gold, -/obj/item/weapon/storage/belt/champion, +/obj/item/storage/belt/champion, /turf/simulated/floor/tiled/dark, /area/security/nuke_storage) "pZB" = ( @@ -42462,7 +42462,7 @@ /turf/simulated/floor/tiled/dark, /area/security/interrogation) "qbK" = ( -/obj/item/device/radio/beacon, +/obj/item/radio/beacon, /turf/simulated/floor/tiled, /area/teleporter) "qch" = ( @@ -42546,7 +42546,7 @@ /area/hallway/primary/starboard) "qeD" = ( /obj/item/frame, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, @@ -42586,12 +42586,12 @@ dir = 4 }, /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/folder/red_hos, -/obj/item/weapon/pen/multi, +/obj/item/folder/red_hos, +/obj/item/pen/multi, /turf/simulated/floor/tiled/dark, /area/crew_quarters/heads/hos) "qfy" = ( @@ -42658,7 +42658,7 @@ /turf/simulated/floor/tiled/white, /area/security/forensics) "qhd" = ( -/obj/item/weapon/stool, +/obj/item/stool, /obj/structure/cable{ icon_state = "4-8" }, @@ -42830,7 +42830,7 @@ /obj/effect/floor_decal/corner/white{ dir = 8 }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 4; pixel_x = -30 }, @@ -42845,9 +42845,9 @@ dir = 10 }, /obj/structure/table/glass, -/obj/item/weapon/paper_bin, -/obj/item/weapon/clipboard, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/clipboard, +/obj/item/pen, /obj/machinery/alarm/yw{ dir = 1; pixel_y = -25 @@ -42877,7 +42877,7 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/reagent_containers/spray/cleaner{ +/obj/item/reagent_containers/spray/cleaner{ desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; @@ -42890,14 +42890,14 @@ /obj/effect/floor_decal/corner/lime/full{ dir = 4 }, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 4; pixel_x = 32 }, /turf/simulated/floor/tiled/white, /area/medical/surgery) "qkq" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, @@ -42908,7 +42908,7 @@ "qkW" = ( /obj/structure/closet/secure_closet/security, /obj/effect/floor_decal/industrial/outline, -/obj/item/weapon/bluespace_crystal/artificial, +/obj/item/bluespace_crystal/artificial, /turf/simulated/floor/tiled/dark, /area/security/security_lockerroom) "qkX" = ( @@ -42987,7 +42987,7 @@ name = "plastic table frame" }, /obj/machinery/light, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Common Channel"; pixel_y = -21 }, @@ -43046,8 +43046,8 @@ /area/engineering/engine_room) "qni" = ( /obj/structure/closet/secure_closet/cargotech, -/obj/item/weapon/storage/backpack/dufflebag, -/obj/item/weapon/stamp/cargo, +/obj/item/storage/backpack/dufflebag, +/obj/item/stamp/cargo, /obj/machinery/alarm/yw{ frequency = 1441; pixel_y = 22 @@ -43286,20 +43286,20 @@ "qrC" = ( /obj/structure/table/reinforced, /obj/machinery/cell_charger, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/cell/high{ +/obj/item/tool/wrench, +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, -/obj/item/weapon/rms, +/obj/item/rms, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, @@ -43322,7 +43322,7 @@ dir = 9 }, /obj/effect/floor_decal/rust, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ pixel_y = 30 }, /turf/simulated/floor/tiled/techmaint, @@ -43335,8 +43335,8 @@ name = "LETHALS" }, /obj/item/ammo_magazine/ammo_box/b12g/pellet, -/obj/item/weapon/storage/box/scattershot, -/obj/item/weapon/storage/box/scattershot, +/obj/item/storage/box/scattershot, +/obj/item/storage/box/scattershot, /obj/structure/table/rack/shelf, /obj/structure/window/reinforced{ dir = 8; @@ -43398,7 +43398,7 @@ /turf/simulated/floor/plating, /area/engineering/drone_fabrication) "quN" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/spline/plain, /obj/structure/disposalpipe/segment{ dir = 4 @@ -43460,7 +43460,7 @@ /area/borealis2/outdoors/grounds) "qwf" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/solution_trays, +/obj/item/storage/box/solution_trays, /turf/simulated/floor/tiled/white, /area/rnd/phoronics) "qww" = ( @@ -43682,7 +43682,7 @@ /obj/effect/floor_decal/corner/blue{ dir = 6 }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 8; pixel_x = 30 }, @@ -43865,12 +43865,12 @@ /obj/machinery/firealarm{ pixel_y = 24 }, -/obj/item/weapon/soap, +/obj/item/soap, /obj/random/soap, /turf/simulated/floor/tiled/freezer, /area/crew_quarters/locker/locker_toilet) "qEN" = ( -/obj/item/weapon/storage/box/cups, +/obj/item/storage/box/cups, /obj/structure/table/standard, /obj/machinery/light/small{ dir = 4 @@ -44054,7 +44054,7 @@ /area/borealis2/outdoors/grounds) "qGR" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ pixel_x = -10; pixel_y = 12 }, @@ -44062,7 +44062,7 @@ /area/crew_quarters/heads/hos) "qHi" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/structure/disposalpipe/segment{ dir = 8; icon_state = "pipe-c" @@ -44075,7 +44075,7 @@ /area/medical/ward) "qHn" = ( /obj/structure/closet/secure_closet/medical3, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /obj/effect/floor_decal/corner/paleblue/full, /turf/simulated/floor/tiled/white, /area/medical/equipstorage) @@ -44100,7 +44100,7 @@ /obj/effect/floor_decal/corner/blue{ dir = 5 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Common Channel"; pixel_y = 21 @@ -44125,8 +44125,8 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/storage/firstaid/adv, -/obj/item/weapon/storage/firstaid/adv, +/obj/item/storage/firstaid/adv, +/obj/item/storage/firstaid/adv, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, @@ -45067,11 +45067,11 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/circuitboard/robotics{ +/obj/item/circuitboard/robotics{ pixel_x = -2; pixel_y = 2 }, -/obj/item/weapon/circuitboard/mecha_control{ +/obj/item/circuitboard/mecha_control{ pixel_x = 1; pixel_y = -1 }, @@ -45295,7 +45295,7 @@ /area/medical/medbay_emt_bay) "rgJ" = ( /obj/structure/table/rack, -/obj/item/weapon/rig/hazmat/equipped, +/obj/item/rig/hazmat/equipped, /obj/effect/floor_decal/corner_oldtile/gray/diagonal{ dir = 4 }, @@ -45345,15 +45345,15 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/circuitboard/crew{ +/obj/item/circuitboard/crew{ pixel_x = -1; pixel_y = 1 }, -/obj/item/weapon/circuitboard/card{ +/obj/item/circuitboard/card{ pixel_x = 2; pixel_y = -2 }, -/obj/item/weapon/circuitboard/communications{ +/obj/item/circuitboard/communications{ pixel_x = 5; pixel_y = -5 }, @@ -45430,7 +45430,7 @@ /turf/simulated/floor/tiled/techmaint, /area/cryogaia/outpost/tower/northeast) "rjf" = ( -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 4; pixel_x = -30 }, @@ -45453,7 +45453,7 @@ /turf/simulated/floor/tiled, /area/hallway/primary/southeast) "rjX" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/dark, /area/security/security_lockerroom) @@ -45461,8 +45461,8 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/storage/firstaid/fire, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/fire, +/obj/item/storage/firstaid/fire{ layer = 2.9; pixel_x = 2; pixel_y = 3 @@ -45600,11 +45600,11 @@ dir = 1; name = "Energy Firearms" }, -/obj/item/weapon/gun/energy/gun{ +/obj/item/gun/energy/gun{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/gun/energy/gun, +/obj/item/gun/energy/gun, /obj/effect/floor_decal/industrial/outline/yellow, /obj/structure/cable/green{ d1 = 4; @@ -45660,7 +45660,7 @@ /obj/effect/floor_decal/spline/fancy/wood{ dir = 8 }, -/obj/item/weapon/flag, +/obj/item/flag, /turf/simulated/floor/grass, /area/civilian/atrium/central) "rnn" = ( @@ -45738,8 +45738,8 @@ /area/maintenance/substation/research) "roI" = ( /obj/structure/table/standard, -/obj/item/device/camera, -/obj/item/device/camera{ +/obj/item/camera, +/obj/item/camera{ pixel_x = 3; pixel_y = -4 }, @@ -45877,7 +45877,7 @@ /turf/simulated/floor/tiled/steel, /area/security/brig) "rsS" = ( -/obj/item/weapon/folder/red, +/obj/item/folder/red, /obj/item/clothing/glasses/hud/security, /obj/structure/table/glass, /turf/simulated/floor/tiled, @@ -45949,7 +45949,7 @@ /obj/effect/floor_decal/corner/blue{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -45983,7 +45983,7 @@ /obj/machinery/light{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Common Channel"; pixel_y = 21 @@ -46061,7 +46061,7 @@ dir = 8 }, /obj/effect/floor_decal/industrial/warning/dust, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 1; pixel_y = -30 }, @@ -46170,7 +46170,7 @@ /obj/effect/floor_decal/corner/pink/full{ dir = 8 }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 4; pixel_x = -30 }, @@ -46199,7 +46199,7 @@ /area/shuttle/security) "ryC" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/tiled/white, /area/medical/ward) @@ -46249,7 +46249,7 @@ /area/hallway/primary/starboard) "rzk" = ( /obj/structure/closet/crate/freezer, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Common Channel"; pixel_x = 21 @@ -46301,7 +46301,7 @@ dir = 1; health = 1e+006 }, -/obj/item/device/megaphone, +/obj/item/megaphone, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, @@ -46515,7 +46515,7 @@ /area/borealis2/outdoors/grounds) "rEg" = ( /obj/structure/bookcase, -/obj/item/weapon/book/manual/security_space_law, +/obj/item/book/manual/wiki/security_space_law, /obj/machinery/firealarm{ layer = 3.3; pixel_y = 26 @@ -46551,10 +46551,10 @@ health = 1e+006 }, /obj/machinery/door/window/brigdoor/northright, -/obj/item/weapon/tank/jetpack/oxygen, +/obj/item/tank/jetpack/oxygen, /obj/item/clothing/suit/space/void/security, /obj/item/clothing/head/helmet/space/void/security, -/obj/item/device/gps/security, +/obj/item/gps/security, /obj/structure/window/reinforced{ dir = 8; health = 1e+006; @@ -46695,7 +46695,7 @@ /area/security/hallway) "rHN" = ( /obj/structure/closet/secure_closet/bar, -/obj/item/weapon/storage/secure/safe{ +/obj/item/storage/secure/safe{ pixel_z = 30 }, /obj/machinery/atmospherics/unary/vent_pump/on, @@ -46776,7 +46776,7 @@ /area/security/security_processing) "rJN" = ( /obj/effect/floor_decal/snow/floor/edges3, -/obj/item/weapon/shovel, +/obj/item/shovel, /turf/simulated/floor/outdoors/snow/snow/snow2/cryogaia, /area/borealis2/outdoors/grounds) "rKn" = ( @@ -46880,7 +46880,7 @@ /turf/simulated/floor/tiled, /area/security/brig) "rNl" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/corner/paleblue{ dir = 5 }, @@ -47013,16 +47013,16 @@ /area/shuttle/security) "rOT" = ( /obj/structure/table/standard, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon{ pixel_x = -2; pixel_y = -2 }, @@ -47103,7 +47103,7 @@ /obj/random/drinkbottle, /obj/random/drinkbottle, /obj/random/maintenance/clean, -/obj/item/weapon/handcuffs/fuzzy, +/obj/item/handcuffs/fuzzy, /obj/structure/disposalpipe/segment{ dir = 4 }, @@ -47147,7 +47147,7 @@ /area/maintenance/engineering) "rQg" = ( /obj/structure/table/reinforced, -/obj/item/weapon/forensics/sample_kit/powder, +/obj/item/forensics/sample_kit/powder, /obj/machinery/light, /obj/effect/floor_decal/corner/red/border{ dir = 10 @@ -47173,11 +47173,11 @@ /area/crew_quarters/heads/cmo) "rQR" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/photo_album{ +/obj/item/storage/photo_album{ pixel_y = -10 }, -/obj/item/device/camera_film, -/obj/item/device/camera{ +/obj/item/camera_film, +/obj/item/camera{ desc = "A one use - polaroid camera. 30 photos left."; name = "detectives camera"; pictures_left = 30; @@ -47201,7 +47201,7 @@ /area/hallway/primary/starboard) "rSe" = ( /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -28 @@ -47210,7 +47210,7 @@ icon_state = "0-4" }, /obj/structure/table/standard, -/obj/item/weapon/storage/fancy/cigarettes{ +/obj/item/storage/fancy/cigarettes{ pixel_y = 2 }, /turf/simulated/floor/tiled, @@ -47501,7 +47501,7 @@ /obj/effect/floor_decal/corner_oldtile/purple{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Common Channel"; pixel_y = 21 @@ -47637,8 +47637,8 @@ "sbs" = ( /obj/effect/floor_decal/industrial/outline/yellow, /obj/structure/table/rack/shelf, -/obj/item/weapon/shovel, -/obj/item/weapon/ice_pick, +/obj/item/shovel, +/obj/item/ice_pick, /obj/structure/cable/green{ d1 = 4; d2 = 8; @@ -47663,10 +47663,10 @@ /area/engineering/engine_room) "scn" = ( /obj/structure/table/standard, -/obj/item/weapon/hand_labeler, -/obj/item/weapon/pen, -/obj/item/weapon/packageWrap, -/obj/item/weapon/packageWrap, +/obj/item/hand_labeler, +/obj/item/pen, +/obj/item/packageWrap, +/obj/item/packageWrap, /obj/effect/floor_decal/borderfloor{ dir = 1 }, @@ -47726,13 +47726,13 @@ /area/crew_quarters/locker) "sds" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/folder/blue, -/obj/item/weapon/folder/red, -/obj/item/weapon/pen/multi, +/obj/item/folder/blue, +/obj/item/folder/red, +/obj/item/pen/multi, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, @@ -47848,7 +47848,7 @@ /area/assembly/robotics) "sgD" = ( /obj/structure/table/steel, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, @@ -48403,12 +48403,12 @@ req_access = list(64) }, /obj/item/clothing/suit/straight_jacket, -/obj/item/weapon/reagent_containers/glass/bottle/stoxin, -/obj/item/weapon/reagent_containers/pill/methylphenidate, -/obj/item/weapon/reagent_containers/pill/citalopram, -/obj/item/weapon/reagent_containers/pill/citalopram, -/obj/item/weapon/reagent_containers/pill/methylphenidate, -/obj/item/weapon/reagent_containers/syringe, +/obj/item/reagent_containers/glass/bottle/stoxin, +/obj/item/reagent_containers/pill/methylphenidate, +/obj/item/reagent_containers/pill/citalopram, +/obj/item/reagent_containers/pill/citalopram, +/obj/item/reagent_containers/pill/methylphenidate, +/obj/item/reagent_containers/syringe, /obj/machinery/light/small{ dir = 1 }, @@ -48426,11 +48426,11 @@ /area/bridge) "srG" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, /obj/effect/floor_decal/corner/paleblue{ dir = 5 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ canhear_range = 5; dir = 1; frequency = 1487; @@ -48590,18 +48590,18 @@ /area/maintenance/bridge) "suv" = ( /obj/structure/table/reinforced, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, /obj/machinery/light{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 27 @@ -48613,7 +48613,7 @@ /area/crew_quarters/heads/chief) "suJ" = ( /obj/structure/closet/secure_closet/medical3, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /obj/effect/floor_decal/corner/paleblue{ dir = 5 }, @@ -48657,11 +48657,11 @@ /obj/machinery/camera/network/medbay{ c_tag = "Medical Storage" }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /turf/simulated/floor/tiled/white, /area/medical/medbay_primary_storage) "sve" = ( @@ -48718,7 +48718,7 @@ dir = 4 }, /obj/machinery/light, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 21 @@ -48742,8 +48742,8 @@ /obj/structure/closet/medical_wall{ pixel_x = 32 }, -/obj/item/weapon/storage/firstaid/o2, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/o2, +/obj/item/storage/firstaid/regular, /turf/simulated/floor/tiled/techfloor, /area/shuttle/security) "swQ" = ( @@ -48895,7 +48895,7 @@ /obj/effect/floor_decal/snow/floor/edges3{ dir = 1 }, -/obj/item/weapon/shovel, +/obj/item/shovel, /turf/simulated/floor/outdoors/snow/snow/snow2/cryogaia, /area/borealis2/outdoors/grounds) "szi" = ( @@ -48908,8 +48908,8 @@ "szo" = ( /obj/effect/floor_decal/corner/grey/diagonal, /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 4; pixel_y = 4 }, @@ -49027,18 +49027,18 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/circuitboard/transhuman_clonepod{ +/obj/item/circuitboard/transhuman_clonepod{ pixel_x = -2; pixel_y = 3 }, -/obj/item/weapon/circuitboard/resleeving_control{ +/obj/item/circuitboard/resleeving_control{ pixel_y = 1 }, -/obj/item/weapon/circuitboard/body_designer{ +/obj/item/circuitboard/body_designer{ pixel_x = 1; pixel_y = -1 }, -/obj/item/weapon/circuitboard/med_data{ +/obj/item/circuitboard/med_data{ pixel_x = 5; pixel_y = -3 }, @@ -49076,7 +49076,7 @@ /turf/simulated/floor/tiled/white, /area/medical/autoresleeving) "sDh" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/vending/wallmed1{ name = "NanoMed Wall"; pixel_x = 25 @@ -49111,11 +49111,11 @@ /area/security/hallway) "sDx" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 2 }, -/obj/item/weapon/storage/box/cups, +/obj/item/storage/box/cups, /obj/machinery/atmospherics/unary/vent_pump/siphon/on/atmos/relief{ dir = 4 }, @@ -49131,8 +49131,8 @@ /obj/effect/floor_decal/industrial/outline/yellow, /obj/effect/floor_decal/industrial/warning/corner, /obj/structure/table/rack/shelf, -/obj/item/weapon/shovel, -/obj/item/weapon/ice_pick, +/obj/item/shovel, +/obj/item/ice_pick, /obj/effect/floor_decal/corner/blue, /obj/effect/floor_decal/corner/blue{ dir = 1 @@ -49152,7 +49152,7 @@ /area/borealis2/outdoors/exterior) "sDY" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, /obj/effect/floor_decal/corner/yellow/diagonal, /turf/simulated/floor/tiled, /area/engineering/engine_monitoring) @@ -49274,7 +49274,7 @@ dir = 4; id = "QMLoad" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Common Channel"; pixel_y = -21 }, @@ -49371,7 +49371,7 @@ /turf/simulated/floor/tiled, /area/hallway/secondary/exit_link) "sHS" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/tiled, /area/engineering/hallway) @@ -49393,7 +49393,7 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 4; pixel_x = -30 }, @@ -49404,7 +49404,7 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/storage/box/cups, +/obj/item/storage/box/cups, /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/effect/floor_decal/corner/brown/full{ dir = 1 @@ -49438,7 +49438,7 @@ /area/medical/sleeper) "sKo" = ( /obj/structure/closet/secure_closet/personal, -/obj/item/weapon/storage/backpack/dufflebag, +/obj/item/storage/backpack/dufflebag, /obj/machinery/light{ dir = 1 }, @@ -49587,7 +49587,7 @@ }, /obj/item/clothing/suit/storage/hooded/wintercoat/snowsuit/cargo, /obj/item/clothing/shoes/boots/winter/mining, -/obj/item/device/gps/mining, +/obj/item/gps/mining, /turf/simulated/floor/tiled, /area/quartermaster/miningwing) "sNT" = ( @@ -50115,7 +50115,7 @@ /area/hallway/primary/aft) "taA" = ( /obj/structure/table/woodentable, -/obj/item/weapon/book/manual/security_space_law, +/obj/item/book/manual/wiki/security_space_law, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, @@ -50168,7 +50168,7 @@ /area/chapel/monastery/brew) "taX" = ( /obj/structure/table/standard, -/obj/item/device/retail_scanner/civilian{ +/obj/item/retail_scanner/civilian{ dir = 1 }, /turf/simulated/floor/tiled, @@ -50219,10 +50219,10 @@ /area/maintenance/research_port) "tcJ" = ( /obj/structure/table/steel, -/obj/item/device/integrated_electronics/debugger{ +/obj/item/integrated_electronics/debugger{ pixel_x = -5 }, -/obj/item/device/integrated_electronics/wirer{ +/obj/item/integrated_electronics/wirer{ pixel_x = 5 }, /obj/machinery/light/small{ @@ -50373,11 +50373,11 @@ /obj/item/bodybag/cryobag{ pixel_x = 6 }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = 5; pixel_y = 5 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; pixel_y = 21 @@ -50387,7 +50387,7 @@ /area/security/security_aid_station) "tgf" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /turf/simulated/floor/tiled/dark, /area/bridge) "tgq" = ( @@ -50444,7 +50444,7 @@ /area/security/outpost) "thA" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /obj/machinery/keycard_auth{ pixel_y = -32 }, @@ -50695,7 +50695,7 @@ layer = 2.9 }, /obj/item/clothing/mask/breath, -/obj/item/weapon/rig/ce/equipped, +/obj/item/rig/ce/equipped, /obj/machinery/light{ dir = 1 }, @@ -50728,18 +50728,18 @@ /area/assembly/chargebay) "tmd" = ( /obj/structure/table/reinforced, -/obj/item/device/radio/off{ +/obj/item/radio/off{ pixel_y = 6 }, -/obj/item/device/radio/off{ +/obj/item/radio/off{ pixel_x = 6; pixel_y = 4 }, -/obj/item/device/radio/off{ +/obj/item/radio/off{ pixel_x = -6; pixel_y = 4 }, -/obj/item/device/radio/off, +/obj/item/radio/off, /obj/effect/floor_decal/corner/blue, /obj/effect/floor_decal/corner/yellow{ dir = 8 @@ -50806,18 +50806,18 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/circuitboard/powermonitor{ +/obj/item/circuitboard/powermonitor{ pixel_y = 3 }, -/obj/item/weapon/circuitboard/stationalert_engineering{ +/obj/item/circuitboard/stationalert_engineering{ pixel_x = 2; pixel_y = 1 }, -/obj/item/weapon/circuitboard/security/engineering{ +/obj/item/circuitboard/security/engineering{ pixel_x = 5; pixel_y = -1 }, -/obj/item/weapon/circuitboard/atmos_alert{ +/obj/item/circuitboard/atmos_alert{ pixel_x = 6; pixel_y = -3 }, @@ -51154,16 +51154,16 @@ /turf/simulated/floor/tiled/dark, /area/crew_quarters/heads/hos) "twc" = ( -/obj/item/device/taperecorder, -/obj/item/device/megaphone, -/obj/item/weapon/packageWrap, -/obj/item/weapon/storage/box, -/obj/item/weapon/hand_labeler, -/obj/item/device/universal_translator, +/obj/item/taperecorder, +/obj/item/megaphone, +/obj/item/packageWrap, +/obj/item/storage/box, +/obj/item/hand_labeler, +/obj/item/universal_translator, /obj/structure/table/steel, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Common Channel"; pixel_x = -21 @@ -51276,7 +51276,7 @@ /area/crew_quarters/locker) "txZ" = ( /obj/structure/filingcabinet, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ frequency = 1475; name = "Station Intercom (Security)"; pixel_y = -21 @@ -51450,7 +51450,7 @@ dir = 8; layer = 2.6 }, -/obj/item/weapon/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, /obj/machinery/door/window/southleft{ name = "Jetpack Storage"; req_access = newlist(); @@ -51495,23 +51495,23 @@ /area/hallway/secondary/exit_link) "tCU" = ( /obj/structure/closet/secure_closet/detective, -/obj/item/weapon/reagent_containers/spray/pepper, -/obj/item/device/uv_light, +/obj/item/reagent_containers/spray/pepper, +/obj/item/uv_light, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ dir = 8; pixel_x = -24 }, /obj/item/clothing/under/det/black, -/obj/item/weapon/gun/projectile/colt/detective, +/obj/item/gun/projectile/colt/detective, /obj/item/ammo_magazine/m45/rubber, /obj/item/ammo_magazine/m45/rubber, /turf/simulated/floor/lino, /area/security/detectives_office) "tCW" = ( -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 4; pixel_x = -30 }, @@ -52091,8 +52091,8 @@ /area/civilian/atrium/central) "tNH" = ( /obj/structure/table/reinforced, -/obj/item/device/radio, -/obj/item/device/radio{ +/obj/item/radio, +/obj/item/radio{ pixel_x = 2; pixel_y = 3 }, @@ -52204,9 +52204,9 @@ /area/crew_quarters/heads/hop) "tPR" = ( /obj/structure/table/reinforced, -/obj/item/device/flash, -/obj/item/device/flash, -/obj/item/device/aicard, +/obj/item/flash, +/obj/item/flash, +/obj/item/aicard, /obj/effect/floor_decal/corner/blue/full{ dir = 8 }, @@ -52250,8 +52250,8 @@ "tQK" = ( /obj/structure/table/standard, /obj/machinery/recharger, -/obj/item/device/flash, -/obj/item/device/flash, +/obj/item/flash, +/obj/item/flash, /turf/simulated/floor/tiled/white, /area/assembly/robotics) "tQQ" = ( @@ -52346,11 +52346,11 @@ /area/engineering/engineering_monitoring) "tRZ" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/belt/medical, -/obj/item/weapon/storage/belt/medical, -/obj/item/weapon/storage/belt/medical, -/obj/item/weapon/storage/belt/medical, -/obj/item/weapon/storage/belt/medical, +/obj/item/storage/belt/medical, +/obj/item/storage/belt/medical, +/obj/item/storage/belt/medical, +/obj/item/storage/belt/medical, +/obj/item/storage/belt/medical, /turf/simulated/floor/tiled/white, /area/medical/equipstorage) "tSm" = ( @@ -52376,8 +52376,8 @@ }, /obj/structure/window/reinforced, /obj/item/clothing/shoes/magboots, -/obj/item/device/suit_cooling_unit, -/obj/item/weapon/tank/jetpack/oxygen, +/obj/item/suit_cooling_unit, +/obj/item/tank/jetpack/oxygen, /obj/item/clothing/mask/breath, /obj/item/clothing/suit/space/void/captain, /obj/item/clothing/head/helmet/space/void/captain, @@ -52451,7 +52451,7 @@ "tTV" = ( /obj/structure/disposalpipe/segment, /obj/effect/floor_decal/corner/orange, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 8; pixel_x = 30 }, @@ -52696,11 +52696,11 @@ /area/quartermaster/miningwing) "uab" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/gloves{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/storage/box/masks, +/obj/item/storage/box/masks, /obj/effect/floor_decal/corner/paleblue{ dir = 5 }, @@ -52749,7 +52749,7 @@ /area/civilian/atrium/central) "ubj" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/effect/floor_decal/corner/pink, /turf/simulated/floor/tiled/white, /area/medical/ward) @@ -52796,8 +52796,8 @@ /area/civilian/atrium/central) "ubM" = ( /obj/structure/closet/secure_closet/detective, -/obj/item/weapon/reagent_containers/spray/pepper, -/obj/item/device/uv_light, +/obj/item/reagent_containers/spray/pepper, +/obj/item/uv_light, /obj/machinery/power/apc{ dir = 8; name = "west bump"; @@ -52807,7 +52807,7 @@ icon_state = "0-4" }, /obj/item/clothing/under/det/waistcoat, -/obj/item/weapon/gun/energy/stunrevolver, +/obj/item/gun/energy/stunrevolver, /turf/simulated/floor/lino, /area/security/detectives_office) "ubQ" = ( @@ -52831,7 +52831,7 @@ }, /obj/structure/table/glass, /obj/machinery/light, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -52874,16 +52874,16 @@ name = "Grenade Crate"; opened = 1 }, -/obj/item/weapon/grenade/chem_grenade, -/obj/item/weapon/grenade/chem_grenade, -/obj/item/weapon/grenade/chem_grenade, -/obj/item/weapon/grenade/chem_grenade, -/obj/item/device/assembly/igniter, -/obj/item/device/assembly/igniter, -/obj/item/device/assembly/igniter, -/obj/item/device/assembly/timer, -/obj/item/device/assembly/timer, -/obj/item/device/assembly/timer, +/obj/item/grenade/chem_grenade, +/obj/item/grenade/chem_grenade, +/obj/item/grenade/chem_grenade, +/obj/item/grenade/chem_grenade, +/obj/item/assembly/igniter, +/obj/item/assembly/igniter, +/obj/item/assembly/igniter, +/obj/item/assembly/timer, +/obj/item/assembly/timer, +/obj/item/assembly/timer, /obj/machinery/alarm/yw{ dir = 1; pixel_y = -22 @@ -52991,7 +52991,7 @@ icon_state = "1-2" }, /obj/structure/table/rack, -/obj/item/weapon/ice_pick, +/obj/item/ice_pick, /obj/effect/floor_decal/corner/yellow{ dir = 9 }, @@ -53062,11 +53062,11 @@ /area/medical/medbay_emt_bay) "uiW" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_x = 2; pixel_y = 3 }, -/obj/item/weapon/storage/toolbox/mechanical{ +/obj/item/storage/toolbox/mechanical{ pixel_x = -2; pixel_y = -1 }, @@ -53140,7 +53140,7 @@ /area/engineering/storage) "ukC" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/bag/circuits/basic, +/obj/item/storage/bag/circuits/basic, /turf/simulated/floor, /area/storage/tech) "ukG" = ( @@ -53158,10 +53158,10 @@ /obj/machinery/light{ dir = 1 }, -/obj/item/weapon/tank/jetpack/oxygen, +/obj/item/tank/jetpack/oxygen, /obj/item/clothing/suit/space/void/security/alt, /obj/item/clothing/head/helmet/space/void/security/alt, -/obj/item/device/gps/security, +/obj/item/gps/security, /obj/structure/window/reinforced{ dir = 8; health = 1e+006; @@ -53383,7 +53383,7 @@ /area/cryogaia/station/excursion_overhang) "usU" = ( /obj/structure/coatrack, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Common Channel"; pixel_y = -21 }, @@ -53588,7 +53588,7 @@ /area/lawoffice) "uzj" = ( /obj/structure/table/reinforced, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /obj/structure/disposalpipe/segment{ dir = 2; icon_state = "pipe-c" @@ -53598,7 +53598,7 @@ /area/lawoffice) "uzv" = ( /obj/structure/table/steel, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, @@ -54101,7 +54101,7 @@ /obj/effect/floor_decal/corner/blue{ dir = 6 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Common Channel"; pixel_x = 21 @@ -54144,7 +54144,7 @@ req_access = newlist(); req_one_access = list(5,45) }, -/obj/item/weapon/folder/white, +/obj/item/folder/white, /obj/effect/floor_decal/corner/paleblue{ dir = 5 }, @@ -54201,15 +54201,15 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen/blue{ +/obj/item/pen/blue{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/pen/red, +/obj/item/pen/red, /turf/simulated/floor/tiled, /area/engineering/engineering_monitoring) "uLd" = ( @@ -54288,7 +54288,7 @@ /area/medical/surgery) "uNG" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/structure/curtain/open/privacy, /obj/effect/floor_decal/corner/pink/full{ dir = 8 @@ -54443,7 +54443,7 @@ "uRb" = ( /obj/structure/table/standard, /obj/item/clothing/head/soft, -/obj/item/weapon/stamp{ +/obj/item/stamp{ pixel_x = -3; pixel_y = 3 }, @@ -54494,13 +54494,13 @@ /obj/machinery/recharger{ pixel_y = 4 }, -/obj/item/weapon/reagent_containers/food/drinks/flask/barflask{ +/obj/item/reagent_containers/food/drinks/flask/barflask{ pixel_x = -4; pixel_y = 8 }, -/obj/item/device/taperecorder, -/obj/item/device/megaphone, -/obj/item/device/radio/off, +/obj/item/taperecorder, +/obj/item/megaphone, +/obj/item/radio/off, /turf/simulated/floor/tiled/dark, /area/crew_quarters/heads/hos) "uSd" = ( @@ -54950,11 +54950,11 @@ req_access = newlist() }, /obj/structure/table/reinforced, -/obj/item/weapon/rcd_ammo, -/obj/item/weapon/rcd_ammo, -/obj/item/weapon/rcd_ammo, -/obj/item/weapon/rcd_ammo, -/obj/item/weapon/rcd, +/obj/item/rcd_ammo, +/obj/item/rcd_ammo, +/obj/item/rcd_ammo, +/obj/item/rcd_ammo, +/obj/item/rcd, /obj/machinery/newscaster{ layer = 3.3; pixel_x = 27 @@ -54987,7 +54987,7 @@ icon_state = "0-2" }, /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -30 @@ -55079,16 +55079,16 @@ dir = 4; pixel_x = 5 }, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /turf/simulated/floor/tiled/freezer, /area/crew_quarters/showers) "veN" = ( /obj/effect/floor_decal/industrial/outline/yellow, /obj/structure/table/rack/shelf, -/obj/item/weapon/shovel, -/obj/item/weapon/ice_pick, -/obj/item/weapon/shovel, -/obj/item/weapon/ice_pick, +/obj/item/shovel, +/obj/item/ice_pick, +/obj/item/shovel, +/obj/item/ice_pick, /turf/simulated/floor/tiled, /area/crew_quarters/locker) "veO" = ( @@ -55182,7 +55182,7 @@ /turf/simulated/floor/tiled/techmaint, /area/cryogaia/outpost/tower/southwest) "vgX" = ( -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ dir = 4 }, /turf/simulated/floor/tiled{ @@ -55249,29 +55249,29 @@ /turf/simulated/floor/tiled, /area/crew_quarters/locker) "vij" = ( -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/device/flashlight, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/crowbar, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, +/obj/item/tool/crowbar, /obj/machinery/light_switch{ name = "light switch "; pixel_x = -26 }, -/obj/item/weapon/storage/box/nifsofts_security, +/obj/item/storage/box/nifsofts_security, /obj/structure/table/steel, /obj/effect/floor_decal/corner/red{ dir = 9 @@ -55301,7 +55301,7 @@ /turf/simulated/floor/tiled, /area/medical/resleeving) "vjC" = ( -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 8; pixel_x = 30 }, @@ -55315,14 +55315,14 @@ /obj/item/stack/rods{ amount = 50 }, -/obj/item/weapon/airlock_electronics, -/obj/item/weapon/airlock_electronics, -/obj/item/weapon/cell/high, +/obj/item/airlock_electronics, +/obj/item/airlock_electronics, +/obj/item/cell/high, /obj/item/stack/material/glass/phoronrglass{ amount = 20 }, -/obj/item/weapon/pickaxe, -/obj/item/weapon/pickaxe, +/obj/item/pickaxe, +/obj/item/pickaxe, /obj/effect/floor_decal/corner/yellow{ dir = 10 }, @@ -55527,8 +55527,8 @@ /area/security/security_lockerroom) "vop" = ( /obj/structure/table/standard, -/obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/book/manual/security_space_law, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/wiki/security_space_law, /obj/effect/floor_decal/corner/red{ dir = 6 }, @@ -55585,7 +55585,7 @@ /turf/simulated/floor/tiled, /area/quartermaster/foyer) "voQ" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/dark, /area/security/security_lockerroom) @@ -55656,11 +55656,11 @@ /area/security/nuke_storage) "vqf" = ( /obj/structure/table/steel, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled, /area/security/security_processing) "vqm" = ( @@ -55674,12 +55674,12 @@ /area/teleporter) "vqt" = ( /obj/structure/table/standard, -/obj/item/weapon/material/ashtray/glass, +/obj/item/material/ashtray/glass, /obj/machinery/newscaster{ pixel_x = -28; pixel_y = 32 }, -/obj/item/weapon/deck/cards, +/obj/item/deck/cards, /obj/effect/floor_decal/corner/brown{ dir = 9 }, @@ -55722,15 +55722,15 @@ /area/assembly/chargebay) "vqQ" = ( /obj/structure/table/reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, /obj/machinery/computer/guestpass{ pixel_y = 30 }, -/obj/item/weapon/folder/blue_hop, -/obj/item/weapon/pen, +/obj/item/folder/blue_hop, +/obj/item/pen, /turf/simulated/floor/wood, /area/crew_quarters/heads/hop) "vqT" = ( @@ -55954,7 +55954,7 @@ /area/borealis2/outdoors/grounds) "vwy" = ( /obj/structure/closet/jcloset, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, @@ -56078,7 +56078,7 @@ /obj/effect/floor_decal/corner/blue{ dir = 5 }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ pixel_y = 30 }, /turf/simulated/floor/tiled, @@ -56116,7 +56116,7 @@ /area/borealis2/outdoors/exterior) "vAk" = ( /obj/structure/table/standard, -/obj/item/weapon/coin/silver, +/obj/item/coin/silver, /turf/simulated/floor/tiled{ icon_state = "monotile" }, @@ -56232,16 +56232,16 @@ /obj/structure/closet{ name = "Evidence Closet" }, -/obj/item/weapon/storage/box/gloves, -/obj/item/weapon/storage/box/evidence, -/obj/item/weapon/storage/box/bodybags, -/obj/item/weapon/storage/briefcase/crimekit, -/obj/item/weapon/storage/briefcase/crimekit, +/obj/item/storage/box/gloves, +/obj/item/storage/box/evidence, +/obj/item/storage/box/bodybags, +/obj/item/storage/briefcase/crimekit, +/obj/item/storage/briefcase/crimekit, /turf/simulated/floor/lino, /area/security/detectives_office) "vCy" = ( /obj/structure/table/woodentable, -/obj/item/weapon/folder, +/obj/item/folder, /turf/simulated/floor/wood, /area/medical/psych) "vCO" = ( @@ -56341,8 +56341,8 @@ name = "spare fuel crate"; req_one_access = list(51,67) }, -/obj/item/weapon/tank/phoron, -/obj/item/weapon/tank/phoron, +/obj/item/tank/phoron, +/obj/item/tank/phoron, /obj/effect/floor_decal/corner/red/full{ dir = 1 }, @@ -56567,7 +56567,7 @@ dir = 5 }, /obj/structure/table/glass, -/obj/item/device/defib_kit/loaded, +/obj/item/defib_kit/loaded, /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/tiled/white, /area/medical/medbaymain) @@ -56627,7 +56627,7 @@ /turf/simulated/floor/tiled, /area/quartermaster/disposals) "vKy" = ( -/obj/item/weapon/handcuffs/cable/pink{ +/obj/item/handcuffs/cable/pink{ desc = "Looks fluffy and comfy. Could be used to tie something up."; name = "Fuzzy Cuffs" }, @@ -56726,12 +56726,12 @@ dir = 4 }, /obj/structure/table/standard, -/obj/item/device/flashlight/lamp, -/obj/item/device/taperecorder, +/obj/item/flashlight/lamp, +/obj/item/taperecorder, /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/item/device/radio/intercom/interrogation{ +/obj/item/radio/intercom/interrogation{ dir = 8; pixel_x = -55; pixel_y = -32 @@ -56766,14 +56766,14 @@ /turf/simulated/floor/tiled/dark, /area/engineering/hallway) "vNo" = ( -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = 3; pixel_y = 6 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_y = 3 }, -/obj/item/weapon/storage/briefcase/inflatable{ +/obj/item/storage/briefcase/inflatable{ pixel_x = -3 }, /obj/structure/table/steel_reinforced, @@ -56842,7 +56842,7 @@ /obj/effect/floor_decal/corner_oldtile/purple{ dir = 8 }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 1; pixel_y = -30 }, @@ -56888,7 +56888,7 @@ /area/quartermaster/foyer) "vQo" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/effect/floor_decal/corner/pink{ dir = 5 }, @@ -56909,7 +56909,7 @@ /area/crew_quarters/meeting) "vQE" = ( /obj/structure/closet/secure_closet/freezer/money, -/obj/item/weapon/storage/secure/briefcase/money{ +/obj/item/storage/secure/briefcase/money{ desc = "An sleek tidy briefcase."; name = "secure briefcase" }, @@ -56958,7 +56958,7 @@ /area/borealis2/outdoors/grounds) "vRw" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/ice_pick, +/obj/item/ice_pick, /turf/simulated/floor/tiled/techmaint, /area/cryogaia/outpost/checkpoint) "vRz" = ( @@ -57033,7 +57033,7 @@ /turf/simulated/floor/tiled, /area/engineering/hallway) "vSR" = ( -/obj/item/weapon/stool, +/obj/item/stool, /obj/effect/floor_decal/industrial/warning{ dir = 9 }, @@ -57075,9 +57075,9 @@ d2 = 2; icon_state = "0-2" }, -/obj/item/weapon/reagent_containers/hypospray/autoinjector, -/obj/item/weapon/reagent_containers/hypospray/autoinjector, -/obj/item/weapon/reagent_containers/hypospray/autoinjector, +/obj/item/reagent_containers/hypospray/autoinjector, +/obj/item/reagent_containers/hypospray/autoinjector, +/obj/item/reagent_containers/hypospray/autoinjector, /turf/simulated/floor/tiled/white, /area/security/security_aid_station) "vTK" = ( @@ -57508,7 +57508,7 @@ dir = 6 }, /obj/structure/table/steel, -/obj/item/weapon/storage/bag/circuits/basic, +/obj/item/storage/bag/circuits/basic, /turf/simulated/floor/tiled/techfloor, /area/rnd/workshop) "wco" = ( @@ -57969,7 +57969,7 @@ "wkY" = ( /obj/structure/table/woodentable, /obj/machinery/computer/skills, -/obj/item/device/perfect_tele{ +/obj/item/perfect_tele{ name = "Director's translocator" }, /obj/machinery/button/remote/airlock{ @@ -58055,7 +58055,7 @@ /obj/effect/floor_decal/corner_oldtile/purple{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Common Channel"; pixel_y = -21 }, @@ -58153,7 +58153,7 @@ /obj/machinery/cell_charger{ pixel_y = 5 }, -/obj/item/device/multitool, +/obj/item/multitool, /turf/simulated/floor, /area/storage/tech) "wnU" = ( @@ -58223,7 +58223,7 @@ dir = 4; pixel_x = 5 }, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /obj/machinery/atmospherics/unary/vent_pump/siphon/on/atmos/relief{ dir = 4 }, @@ -58427,7 +58427,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Common Channel"; pixel_x = -21 @@ -58470,7 +58470,7 @@ /area/rnd/research) "wtV" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/donut, +/obj/item/storage/box/donut, /obj/machinery/keycard_auth{ pixel_x = -24 }, @@ -58526,24 +58526,24 @@ /turf/simulated/floor/tiled, /area/security/hallway) "wvA" = ( -/obj/item/device/taperecorder{ +/obj/item/taperecorder{ pixel_x = -4; pixel_y = 2 }, -/obj/item/device/camera{ +/obj/item/camera{ pixel_x = 3; pixel_y = -4 }, -/obj/item/device/flash, -/obj/item/device/flash, -/obj/item/weapon/storage/secure/briefcase, +/obj/item/flash, +/obj/item/flash, +/obj/item/storage/secure/briefcase, /obj/structure/closet, -/obj/item/weapon/storage/secure/briefcase, -/obj/item/device/taperecorder{ +/obj/item/storage/secure/briefcase, +/obj/item/taperecorder{ pixel_x = -4; pixel_y = 2 }, -/obj/item/device/camera{ +/obj/item/camera{ pixel_x = 3; pixel_y = -4 }, @@ -58628,7 +58628,7 @@ /turf/simulated/floor/plating/snow/plating/cryogaia, /area/borealis2/outdoors/grounds) "wwW" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/corner/lime{ dir = 6 }, @@ -58668,7 +58668,7 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/book/manual/bar_guide, +/obj/item/book/manual/bar_guide, /turf/simulated/floor/lino, /area/crew_quarters/bar) "wxJ" = ( @@ -58677,7 +58677,7 @@ /area/cryogaia/outpost/bonfire) "wxL" = ( /obj/structure/table/standard, -/obj/item/device/healthanalyzer, +/obj/item/healthanalyzer, /obj/item/stack/medical/bruise_pack{ pixel_x = -4; pixel_y = 3 @@ -58734,12 +58734,12 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/circuitboard/security/mining{ +/obj/item/circuitboard/security/mining{ pixel_x = 1; pixel_y = 3 }, -/obj/item/weapon/circuitboard/autolathe, -/obj/item/weapon/circuitboard/scan_consolenew{ +/obj/item/circuitboard/autolathe, +/obj/item/circuitboard/scan_consolenew{ pixel_x = 6; pixel_y = -3 }, @@ -58876,12 +58876,12 @@ /turf/simulated/floor/tiled, /area/hallway/secondary/exit) "wAC" = ( -/obj/item/weapon/pen/blue, -/obj/item/weapon/pen/red{ +/obj/item/pen/blue, +/obj/item/pen/red{ pixel_x = -5; pixel_y = -1 }, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, @@ -58964,16 +58964,16 @@ "wCm" = ( /obj/structure/table/standard, /obj/effect/floor_decal/corner/grey/diagonal, -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 3 }, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, -/obj/item/weapon/reagent_containers/glass/beaker/measuring_cup, -/obj/item/weapon/reagent_containers/glass/beaker/measuring_cup, -/obj/item/weapon/reagent_containers/glass/beaker/measuring_cup, +/obj/item/reagent_containers/glass/beaker/measuring_cup, +/obj/item/reagent_containers/glass/beaker/measuring_cup, +/obj/item/reagent_containers/glass/beaker/measuring_cup, /turf/simulated/floor/tiled/white, /area/crew_quarters/kitchen) "wCn" = ( @@ -59042,7 +59042,7 @@ /area/rnd/research) "wDh" = ( /obj/structure/bed/double, -/obj/item/weapon/bedsheet/captaindouble, +/obj/item/bedsheet/captaindouble, /obj/machinery/alarm/yw{ dir = 1; pixel_y = -22 @@ -59195,9 +59195,9 @@ name = "O- Blood Locker"; pixel_x = -32 }, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /obj/structure/medical_stand, /turf/simulated/floor/tiled/white, /area/medical/scanning) @@ -59208,7 +59208,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, -/obj/item/device/radio/intercom/interrogation/observation{ +/obj/item/radio/intercom/interrogation/observation{ dir = 4; pixel_x = 25 }, @@ -59228,7 +59228,7 @@ pixel_x = -6; pixel_y = 4 }, -/obj/item/weapon/storage/box/monkeycubes, +/obj/item/storage/box/monkeycubes, /turf/simulated/floor/tiled/white, /area/rnd/phoronics) "wHh" = ( @@ -59398,15 +59398,15 @@ /area/security/interrogation) "wKN" = ( /obj/structure/table/reinforced, -/obj/item/weapon/stamp/ce, -/obj/item/weapon/paper_bin{ +/obj/item/stamp/ce, +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/flame/lighter/zippo, -/obj/item/device/megaphone, -/obj/item/weapon/folder/yellow_ce, -/obj/item/weapon/pen/multi, +/obj/item/flame/lighter/zippo, +/obj/item/megaphone, +/obj/item/folder/yellow_ce, +/obj/item/pen/multi, /obj/machinery/alarm/yw{ dir = 1; pixel_y = -22 @@ -59523,12 +59523,12 @@ /area/cryogaia/station/ert_arrival) "wMF" = ( /obj/structure/table/reinforced, -/obj/item/device/floor_painter, -/obj/item/device/multitool{ +/obj/item/floor_painter, +/obj/item/multitool{ pixel_x = 5 }, -/obj/item/device/t_scanner, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/t_scanner, +/obj/item/reagent_containers/spray/cleaner, /obj/effect/floor_decal/corner/yellow{ dir = 10 }, @@ -59595,7 +59595,7 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery, /obj/structure/cable/green{ d2 = 8; icon_state = "0-8" @@ -59619,7 +59619,7 @@ /area/rnd/lab) "wNF" = ( /obj/structure/table/woodentable, -/obj/item/weapon/stamp/hos, +/obj/item/stamp/hos, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, @@ -60001,7 +60001,7 @@ /area/maintenance/medbay) "wYk" = ( /obj/structure/table/woodentable, -/obj/item/weapon/melee/chainofcommand, +/obj/item/melee/chainofcommand, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 }, @@ -60128,8 +60128,8 @@ /area/security/hangar) "xab" = ( /obj/structure/table/steel, -/obj/item/device/aicard, -/obj/item/weapon/aiModule/reset, +/obj/item/aicard, +/obj/item/aiModule/reset, /turf/simulated/floor, /area/storage/tech) "xae" = ( @@ -60433,7 +60433,7 @@ /area/civilian/atrium/central) "xfx" = ( /obj/structure/table/standard, -/obj/item/weapon/folder/yellow, +/obj/item/folder/yellow, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, /area/quartermaster/office) @@ -60467,7 +60467,7 @@ /turf/simulated/floor/tiled/white, /area/crew_quarters/kitchen) "xhg" = ( -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 4; pixel_x = -30 }, @@ -60588,7 +60588,7 @@ /area/civilian/atrium/central) "xjG" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery, /turf/simulated/floor/tiled/white, /area/assembly/robotics) "xjU" = ( @@ -60853,7 +60853,7 @@ /area/hallway/secondary/entry/docking_lounge) "xop" = ( /obj/structure/closet/secure_closet/medical3, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /turf/simulated/floor/tiled/white, /area/medical/equipstorage) "xou" = ( @@ -60863,7 +60863,7 @@ dir = 4; pixel_x = -22 }, -/obj/item/weapon/bluespace_crystal/artificial, +/obj/item/bluespace_crystal/artificial, /turf/simulated/floor/tiled/dark, /area/security/security_lockerroom) "xoA" = ( @@ -60919,16 +60919,16 @@ /area/quartermaster/storage) "xpi" = ( /obj/structure/table/standard, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon{ pixel_x = -2; pixel_y = -2 }, @@ -60961,7 +60961,7 @@ }, /area/borealis2/outdoors/grounds) "xqq" = ( -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ dir = 8; pixel_x = -24 }, @@ -61025,8 +61025,8 @@ /area/maintenance/medbay) "xsq" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/ice_pick, -/obj/item/weapon/material/knife/machete/hatchet, +/obj/item/ice_pick, +/obj/item/material/knife/machete/hatchet, /turf/simulated/floor/tiled/techmaint, /area/cryogaia/outpost/checkpoint) "xsw" = ( @@ -61192,8 +61192,8 @@ /area/security/interrogation) "xuk" = ( /obj/structure/table/standard, -/obj/item/device/t_scanner, -/obj/item/weapon/storage/briefcase/inflatable, +/obj/item/t_scanner, +/obj/item/storage/briefcase/inflatable, /obj/random/maintenance/cargo, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -61217,15 +61217,15 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/circuitboard/secure_data{ +/obj/item/circuitboard/secure_data{ pixel_x = -2; pixel_y = 2 }, -/obj/item/weapon/circuitboard/security{ +/obj/item/circuitboard/security{ pixel_x = 1; pixel_y = -1 }, -/obj/item/weapon/circuitboard/skills/pcu{ +/obj/item/circuitboard/skills/pcu{ pixel_x = 4; pixel_y = -3 }, @@ -61293,7 +61293,7 @@ /turf/simulated/floor/tiled, /area/civilian/atrium/central) "xvP" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled, /area/engineering/hallway) "xvS" = ( @@ -61342,7 +61342,7 @@ /area/crew_quarters/locker) "xxC" = ( /obj/structure/table/standard, -/obj/item/weapon/coin/silver, +/obj/item/coin/silver, /obj/effect/floor_decal/corner/white{ dir = 8 }, @@ -61518,7 +61518,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/item/weapon/reagent_containers/glass/rag, +/obj/item/reagent_containers/glass/rag, /turf/simulated/floor/lino, /area/crew_quarters/bar) "xAM" = ( @@ -61595,11 +61595,11 @@ dir = 8; layer = 2.9 }, -/obj/item/weapon/storage/briefcase{ +/obj/item/storage/briefcase{ pixel_x = -2; pixel_y = -5 }, -/obj/item/weapon/storage/briefcase{ +/obj/item/storage/briefcase{ pixel_x = 3 }, /obj/machinery/newscaster{ @@ -61945,7 +61945,7 @@ /turf/simulated/floor/tiled/white, /area/rnd/phoronics) "xLH" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Common Channel"; pixel_x = -21 @@ -61954,7 +61954,7 @@ /area/hallway/primary/starboard) "xLM" = ( /obj/structure/medical_stand, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /obj/structure/cable/green{ d1 = 2; d2 = 8; @@ -62042,13 +62042,13 @@ /obj/structure/table/standard, /obj/structure/table/standard, /obj/item/stack/cable_coil, -/obj/item/device/multitool, +/obj/item/multitool, /obj/machinery/cell_charger, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, -/obj/item/weapon/cell/high{ +/obj/item/cell/high{ charge = 100; maxcharge = 15000 }, @@ -62127,7 +62127,7 @@ /area/crew_quarters/locker/locker_toilet) "xPb" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/medical, +/obj/item/bedsheet/medical, /obj/effect/floor_decal/corner/paleblue{ dir = 10 }, @@ -62177,7 +62177,7 @@ }, /obj/structure/table/glass, /obj/machinery/light, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -21 @@ -62259,7 +62259,7 @@ /turf/simulated/floor/tiled, /area/hallway/primary/starboard) "xRE" = ( -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 1; pixel_y = -30 }, @@ -62269,7 +62269,7 @@ icon_state = "4-8" }, /obj/structure/table/woodentable, -/obj/item/weapon/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, /obj/effect/floor_decal/corner/red{ dir = 10 }, @@ -62342,7 +62342,7 @@ /obj/machinery/computer/card{ dir = 8 }, -/obj/item/weapon/card/id/gold/captain/spare, +/obj/item/card/id/gold/captain/spare, /obj/effect/floor_decal/corner_techfloor_gray{ dir = 4 }, @@ -62480,7 +62480,7 @@ /obj/item/clothing/shoes/boots/winter/security, /obj/item/clothing/suit/storage/hooded/wintercoat/snowsuit/security, /obj/item/clothing/shoes/boots/winter/security, -/obj/item/device/gps/security, +/obj/item/gps/security, /obj/machinery/atmospherics/unary/vent_pump/siphon/on/atmos/relief{ dir = 1 }, @@ -62499,7 +62499,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 1; pixel_y = -30 }, @@ -62670,7 +62670,7 @@ "xYT" = ( /obj/structure/bed/chair, /obj/machinery/camera/network/interrogation, -/obj/item/device/radio/intercom/interrogation{ +/obj/item/radio/intercom/interrogation{ dir = 1 }, /turf/simulated/floor/tiled/dark, @@ -62690,11 +62690,11 @@ /area/engineering/engine_room) "xYZ" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/empslite{ +/obj/item/storage/box/empslite{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/box/flashbangs{ +/obj/item/storage/box/flashbangs{ pixel_x = -2; pixel_y = -2 }, @@ -62706,7 +62706,7 @@ dir = 8 }, /obj/structure/closet/crate/bin, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 4; pixel_x = -30 }, @@ -62956,7 +62956,7 @@ dir = 10 }, /obj/effect/floor_decal/spline/plain, -/obj/item/weapon/stool/padded{ +/obj/item/stool/padded{ pixel_y = 5 }, /turf/simulated/floor/tiled/white, @@ -63050,7 +63050,7 @@ dir = 1; pixel_y = -22 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Station Intercom (General)"; pixel_x = 22 @@ -63158,16 +63158,16 @@ /area/borealis2/outdoors/grounds) "yhh" = ( /obj/structure/table/standard, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon{ +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon{ pixel_x = -2; pixel_y = -2 }, @@ -63205,7 +63205,7 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/device/radio/phone/medbay, +/obj/item/radio/phone/medbay, /obj/machinery/door/window/northleft{ name = "Medbay Reception Window"; req_access = newlist(); diff --git a/maps/yw/cryogaia-06-upper.dmm b/maps/yw/cryogaia-06-upper.dmm index 23f77cee93c..672c6f063ce 100644 --- a/maps/yw/cryogaia-06-upper.dmm +++ b/maps/yw/cryogaia-06-upper.dmm @@ -182,7 +182,7 @@ /turf/simulated/floor/tiled/techfloor/grid, /area/shuttle/excursion) "ay" = ( -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 4; pixel_x = -30 }, @@ -237,10 +237,10 @@ name = "plastic table frame" }, /obj/machinery/atmospherics/unary/vent_scrubber/on, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 5 }, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -5 }, /turf/simulated/floor/tiled/techmaint, @@ -301,11 +301,11 @@ /area/shuttle/excursion) "aQ" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, /obj/item/clothing/head/pilot, /obj/item/clothing/head/pilot, -/obj/item/weapon/storage/box/survival/space, -/obj/item/weapon/storage/toolbox/emergency, +/obj/item/storage/box/survival/space, +/obj/item/storage/toolbox/emergency, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 }, @@ -343,7 +343,7 @@ pixel_x = 28; pixel_y = 28 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Common Channel"; pixel_x = 21 @@ -504,7 +504,7 @@ /obj/effect/floor_decal/corner/paleblue{ dir = 6 }, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 4; pixel_x = 32 }, @@ -804,8 +804,8 @@ /area/cryogaia/outpost/tower/west) "bT" = ( /obj/structure/closet/crate/freezer/rations, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu10, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu10, /turf/simulated/floor/tiled/techmaint, /area/shuttle/excursion) "bU" = ( @@ -968,7 +968,7 @@ /obj/structure/bed, /obj/structure/medical_stand, /obj/structure/curtain/open/privacy, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ pixel_y = 30 }, /turf/simulated/floor/tiled/techmaint, @@ -1128,10 +1128,10 @@ req_access = list(); req_one_access = list() }, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 }, @@ -1150,7 +1150,7 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/material/ashtray/plastic, +/obj/item/material/ashtray/plastic, /turf/simulated/floor/tiled/white, /area/medical/medbayskybridge) "cH" = ( @@ -1227,15 +1227,15 @@ req_access = list(); req_one_access = list() }, -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/clotting, -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/brute, -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/brute, -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/burn, -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/burn, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/reagent_containers/syringe/inaprovaline, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/clotting, +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/brute, +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/brute, +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/burn, +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/burn, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/syringe/inaprovaline, +/obj/item/storage/firstaid/regular, /turf/simulated/floor/tiled/techmaint, /area/shuttle/excursion) "cQ" = ( @@ -1464,14 +1464,14 @@ /obj/effect/floor_decal/corner/paleblue/diagonal{ dir = 4 }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 4; pixel_x = -30 }, /turf/simulated/floor/tiled/white, /area/crew_quarters/medbreak) "dq" = ( -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 1; pixel_y = -30 }, @@ -1750,7 +1750,7 @@ /area/borealis2/outdoors/grounds/upper) "dP" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/weapon/stool, +/obj/item/stool, /obj/structure/cable/yellow{ d1 = 4; d2 = 8; @@ -1793,7 +1793,7 @@ /turf/simulated/floor/tiled, /area/civilian/atrium/upper) "dV" = ( -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 4; pixel_x = -30 }, @@ -1893,7 +1893,7 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/storage/box/cups, +/obj/item/storage/box/cups, /obj/machinery/holoposter{ dir = 8; pixel_x = 30 @@ -1993,7 +1993,7 @@ "eu" = ( /obj/effect/floor_decal/industrial/outline/red, /obj/structure/closet/secure_closet/guncabinet/excursion, -/obj/item/weapon/pickaxe, +/obj/item/pickaxe, /obj/structure/window/reinforced{ dir = 8 }, @@ -2424,7 +2424,7 @@ /obj/structure/fuel_port{ pixel_y = 32 }, -/obj/item/weapon/tank/phoron, +/obj/item/tank/phoron, /obj/structure/handrail{ dir = 8 }, @@ -2469,7 +2469,7 @@ /obj/structure/table/steel, /obj/random/maintenance/engineering, /obj/item/clothing/glasses/welding, -/obj/item/weapon/weldingtool, +/obj/item/weldingtool, /turf/simulated/floor/tiled/techmaint, /area/cryogaia/station/excursion_dock) "fy" = ( @@ -2679,7 +2679,7 @@ /obj/effect/floor_decal/corner/red{ dir = 6 }, -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ dir = 4; pixel_x = 24 }, @@ -2719,8 +2719,8 @@ "gk" = ( /obj/structure/table/rack/shelf, /obj/item/clothing/shoes/magboots, -/obj/item/device/suit_cooling_unit, -/obj/item/weapon/tank/oxygen, +/obj/item/suit_cooling_unit, +/obj/item/tank/oxygen, /obj/item/clothing/suit/space/void/medical, /obj/item/clothing/head/helmet/space/void/medical, /obj/machinery/light{ @@ -2735,14 +2735,14 @@ "gm" = ( /obj/structure/table/rack/shelf, /obj/item/clothing/shoes/magboots, -/obj/item/device/suit_cooling_unit, -/obj/item/weapon/tank/oxygen, +/obj/item/suit_cooling_unit, +/obj/item/tank/oxygen, /obj/item/clothing/suit/space/void/medical, /obj/item/clothing/head/helmet/space/void/medical, /turf/simulated/floor/tiled/steel_grid, /area/cryogaia/station/explorer_prep) "gn" = ( -/obj/item/device/bluespaceradio/cryogaia_prelinked, +/obj/item/bluespaceradio/cryogaia_prelinked, /obj/structure/table/rack/shelf, /obj/machinery/light{ dir = 1 @@ -2769,8 +2769,8 @@ /area/medical/medbayupper) "gr" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/tank/oxygen, -/obj/item/device/suit_cooling_unit, +/obj/item/tank/oxygen, +/obj/item/suit_cooling_unit, /obj/item/clothing/shoes/magboots, /obj/item/clothing/suit/space/void/pilot, /obj/item/clothing/head/helmet/space/void/pilot, @@ -2794,8 +2794,8 @@ /area/quartermaster/miningdock) "gu" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/tank/oxygen, -/obj/item/device/suit_cooling_unit, +/obj/item/tank/oxygen, +/obj/item/suit_cooling_unit, /obj/item/clothing/shoes/magboots, /obj/item/clothing/suit/space/void/pilot/alt, /obj/item/clothing/head/helmet/space/void/pilot/alt, @@ -2822,7 +2822,7 @@ /obj/structure/handrail{ dir = 1 }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 4; pixel_x = -30 }, @@ -3071,8 +3071,8 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/reagent_containers/food/drinks/britcup, -/obj/item/weapon/reagent_containers/food/drinks/britcup, +/obj/item/reagent_containers/food/drinks/britcup, +/obj/item/reagent_containers/food/drinks/britcup, /obj/effect/floor_decal/corner/paleblue/diagonal{ dir = 4 }, @@ -3238,7 +3238,7 @@ dir = 6 }, /obj/structure/table/steel, -/obj/item/device/radio, +/obj/item/radio, /turf/simulated/floor/tiled, /area/security/watchtower) "hs" = ( @@ -3286,7 +3286,7 @@ d2 = 4; icon_state = "2-4" }, -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ dir = 8; pixel_x = -24 }, @@ -3329,19 +3329,19 @@ /area/cryogaia/station/explorer_prep) "hC" = ( /obj/structure/table/rack/shelf, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = -4; pixel_y = -4 }, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = 5; pixel_y = -4 }, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = -4; pixel_y = 4 }, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = 5; pixel_y = 4 }, @@ -3590,7 +3590,7 @@ /area/cryogaia/station/explorer_prep) "ib" = ( /obj/structure/filingcabinet/filingcabinet, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, @@ -3706,11 +3706,11 @@ /area/cryogaia/station/pathfinder_office) "im" = ( /obj/structure/table/rack/shelf, -/obj/item/device/gps/explorer{ +/obj/item/gps/explorer{ pixel_x = -6; pixel_y = -4 }, -/obj/item/device/gps/explorer{ +/obj/item/gps/explorer{ pixel_x = 5; pixel_y = -4 }, @@ -4055,19 +4055,19 @@ /area/cryogaia/station/pathfinder_office) "iO" = ( /obj/structure/table/rack/shelf, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = -4; pixel_y = -4 }, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = 5; pixel_y = -4 }, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = -4; pixel_y = 4 }, -/obj/item/device/radio{ +/obj/item/radio{ pixel_x = 5; pixel_y = 4 }, @@ -4169,7 +4169,7 @@ /area/cryogaia/station/explorer_prep) "jb" = ( /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -28 @@ -4235,11 +4235,11 @@ /area/cryogaia/station/pathfinder_office) "jg" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, -/obj/item/weapon/pen, +/obj/item/pen, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, @@ -4256,7 +4256,7 @@ pixel_x = 26; pixel_y = -26 }, -/obj/item/device/binoculars, +/obj/item/binoculars, /obj/effect/floor_decal/corner_oldtile/gray, /obj/effect/floor_decal/corner_oldtile/gray{ dir = 8 @@ -4287,8 +4287,8 @@ /area/constructionsite/medical/upper) "jl" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/tank/oxygen, -/obj/item/device/suit_cooling_unit, +/obj/item/tank/oxygen, +/obj/item/suit_cooling_unit, /obj/effect/floor_decal/steeldecal/steel_decals9, /obj/effect/floor_decal/steeldecal/steel_decals9{ dir = 4 @@ -4457,19 +4457,19 @@ /area/cryogaia/station/pathfinder_office) "jC" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = -4; pixel_y = 4 }, -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = 5; pixel_y = 4 }, -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = -4; pixel_y = -6 }, -/obj/item/weapon/storage/backpack/parachute{ +/obj/item/storage/backpack/parachute{ pixel_x = 5; pixel_y = -6 }, @@ -4590,7 +4590,7 @@ /obj/machinery/light{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -4762,8 +4762,8 @@ /area/quartermaster/miningdock) "kk" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/tank/oxygen, -/obj/item/device/suit_cooling_unit, +/obj/item/tank/oxygen, +/obj/item/suit_cooling_unit, /obj/effect/floor_decal/steeldecal/steel_decals9{ dir = 8 }, @@ -4784,7 +4784,7 @@ /turf/simulated/wall, /area/civilian/atrium/upper) "km" = ( -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 8; pixel_x = 30 }, @@ -4792,7 +4792,7 @@ /area/chapel/monastery/upper) "kn" = ( /obj/structure/table/rack/shelf, -/obj/item/weapon/tank/oxygen, +/obj/item/tank/oxygen, /obj/effect/floor_decal/steeldecal/steel_decals9{ dir = 8 }, @@ -4803,7 +4803,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals9{ dir = 4 }, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, /obj/item/clothing/shoes/magboots, /obj/item/clothing/suit/space/void/exploration, /obj/item/clothing/head/helmet/space/void/exploration, @@ -5241,7 +5241,7 @@ /obj/machinery/light{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Common Channel"; pixel_y = 21 @@ -5261,7 +5261,7 @@ /obj/machinery/light{ dir = 4 }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 8; pixel_x = 30 }, @@ -5518,7 +5518,7 @@ /area/cryogaia/station/explorer_meeting) "lJ" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 }, @@ -5526,12 +5526,12 @@ /area/cryogaia/station/explorer_meeting) "lK" = ( /obj/structure/table/woodentable, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled, /area/cryogaia/station/explorer_meeting) "lM" = ( /obj/structure/table/woodentable, -/obj/item/weapon/folder/blue, +/obj/item/folder/blue, /turf/simulated/floor/tiled, /area/cryogaia/station/explorer_meeting) "lN" = ( @@ -5662,12 +5662,12 @@ /area/cryogaia/outpost/tower/northwest) "mc" = ( /obj/structure/table/woodentable, -/obj/item/weapon/folder/yellow, +/obj/item/folder/yellow, /turf/simulated/floor/tiled, /area/cryogaia/station/explorer_meeting) "md" = ( /obj/structure/table/woodentable, -/obj/item/device/universal_translator, +/obj/item/universal_translator, /turf/simulated/floor/tiled, /area/cryogaia/station/explorer_meeting) "me" = ( @@ -5707,13 +5707,13 @@ /area/cryogaia/station/explorer_entrance) "mg" = ( /obj/structure/table/woodentable, -/obj/item/weapon/folder/yellow, +/obj/item/folder/yellow, /turf/simulated/floor/tiled, /area/cryogaia/station/explorer_entrance) "mh" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/paper_bin, +/obj/item/pen, /turf/simulated/floor/tiled, /area/cryogaia/station/explorer_entrance) "mi" = ( @@ -5740,14 +5740,14 @@ /obj/structure/closet/crate/centauri{ name = "Liquid Rations" }, -/obj/item/weapon/reagent_containers/food/snacks/liquidfood, -/obj/item/weapon/reagent_containers/food/snacks/liquidfood, -/obj/item/weapon/reagent_containers/food/snacks/liquidfood, -/obj/item/weapon/reagent_containers/food/snacks/liquidfood, -/obj/item/weapon/reagent_containers/food/snacks/liquidprotein, -/obj/item/weapon/reagent_containers/food/snacks/liquidprotein, -/obj/item/weapon/reagent_containers/food/snacks/liquidprotein, -/obj/item/weapon/reagent_containers/food/snacks/liquidprotein, +/obj/item/reagent_containers/food/snacks/liquidfood, +/obj/item/reagent_containers/food/snacks/liquidfood, +/obj/item/reagent_containers/food/snacks/liquidfood, +/obj/item/reagent_containers/food/snacks/liquidfood, +/obj/item/reagent_containers/food/snacks/liquidprotein, +/obj/item/reagent_containers/food/snacks/liquidprotein, +/obj/item/reagent_containers/food/snacks/liquidprotein, +/obj/item/reagent_containers/food/snacks/liquidprotein, /turf/simulated/floor/tiled, /area/quartermaster/miningdock) "ml" = ( @@ -5823,7 +5823,7 @@ /obj/structure/bed/chair{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Common Channel"; pixel_y = -21 }, @@ -5954,11 +5954,11 @@ }, /obj/effect/floor_decal/corner_oldtile/gray, /obj/structure/table/standard, -/obj/item/weapon/storage/box/cups, +/obj/item/storage/box/cups, /turf/simulated/floor/tiled, /area/cryogaia/station/explorer_entrance) "mG" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; pixel_x = 24 }, @@ -6087,7 +6087,7 @@ /area/cryogaia/outpost/elevator/medupper) "mV" = ( /obj/structure/table/woodentable, -/obj/item/device/camera, +/obj/item/camera, /obj/effect/floor_decal/corner_oldtile/gray, /obj/effect/floor_decal/corner_oldtile/gray{ dir = 8 @@ -6111,7 +6111,7 @@ /area/cryogaia/station/explorer_meeting) "mX" = ( /obj/structure/table/woodentable, -/obj/item/device/taperecorder, +/obj/item/taperecorder, /obj/effect/floor_decal/corner_oldtile/gray, /obj/effect/floor_decal/corner_oldtile/gray{ dir = 8 @@ -6152,12 +6152,12 @@ /turf/simulated/floor/tiled, /area/cryogaia/station/explorer_meeting) "nb" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; pixel_x = -24 }, /obj/structure/table/glass, -/obj/item/weapon/material/ashtray/plastic, +/obj/item/material/ashtray/plastic, /obj/effect/floor_decal/corner_oldtile/gray{ dir = 8 }, @@ -6186,7 +6186,7 @@ /obj/item/clothing/suit/space/void/mining, /obj/item/clothing/mask/breath, /obj/item/clothing/head/helmet/space/void/mining, -/obj/item/weapon/mining_scanner, +/obj/item/mining_scanner, /turf/simulated/floor/tiled, /area/quartermaster/miningdock) "ne" = ( @@ -6234,7 +6234,7 @@ /area/cryogaia/outpost/tower/southeast) "ni" = ( /obj/structure/bookcase/manuals/medical, -/obj/item/weapon/book/manual/stasis, +/obj/item/book/manual/stasis, /obj/effect/floor_decal/corner/paleblue/diagonal{ dir = 4 }, @@ -6485,7 +6485,7 @@ "nL" = ( /obj/effect/floor_decal/corner/paleblue/full, /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -28 @@ -6554,7 +6554,7 @@ /turf/simulated/floor/tiled/white, /area/crew_quarters/medbreak) "ob" = ( -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 4; pixel_x = -30 }, @@ -6736,7 +6736,7 @@ /obj/machinery/light{ dir = 4 }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 8; pixel_x = 30 }, @@ -6917,7 +6917,7 @@ name = "plastic table frame" }, /obj/machinery/microwave, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 8; pixel_x = 30 }, @@ -7128,7 +7128,7 @@ /turf/simulated/floor/plating/snow/plating/cryogaia, /area/borealis2/outdoors/grounds/upper/solars) "qi" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Common Channel"; pixel_y = 21 @@ -7445,7 +7445,7 @@ /obj/effect/floor_decal/corner/paleblue{ dir = 10 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Common Channel"; pixel_y = -21 }, @@ -7493,7 +7493,7 @@ /turf/simulated/floor/tiled, /area/quartermaster/miningdock) "rT" = ( -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 4; pixel_x = -30 }, @@ -7514,7 +7514,7 @@ /turf/simulated/floor/wood, /area/security/breakroom) "sd" = ( -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 1; pixel_y = -30 }, @@ -7540,7 +7540,7 @@ /turf/simulated/floor/plating/snow/plating, /area/civilian/atrium/upper) "sm" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Common Channel"; pixel_y = -21 }, @@ -7716,14 +7716,14 @@ /turf/simulated/floor/plating/snow/plating/cryogaia, /area/borealis2/outdoors/grounds/upper/solars) "td" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/corner/paleblue/diagonal{ dir = 4 }, /obj/machinery/light{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Common Channel"; pixel_x = 21 @@ -7797,7 +7797,7 @@ /turf/simulated/floor/tiled/white, /area/cryogaia/station/medical/upper) "tw" = ( -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 4; pixel_x = -30 }, @@ -7811,7 +7811,7 @@ /turf/simulated/open/cryogaia, /area/cryogaia/outpost/tower/east) "tF" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Common Channel"; pixel_x = 21 @@ -7915,7 +7915,7 @@ /obj/effect/floor_decal/corner/paleblue{ dir = 10 }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 1; pixel_y = -30 }, @@ -7966,7 +7966,7 @@ /obj/effect/floor_decal/corner/paleblue/diagonal{ dir = 4 }, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/white, /area/crew_quarters/medbreak) @@ -8048,7 +8048,7 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/deck/cards, +/obj/item/deck/cards, /obj/machinery/atmospherics/unary/vent_pump/siphon/on/atmos/relief{ dir = 8 }, @@ -8487,7 +8487,7 @@ /obj/structure/bed/chair{ dir = 4 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Common Channel"; pixel_y = -21 }, @@ -8569,7 +8569,7 @@ /area/quartermaster/miningdock) "xk" = ( /obj/machinery/portable_atmospherics/canister/oxygen, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Common Channel"; pixel_x = 21 @@ -8664,7 +8664,7 @@ pixel_y = -28 }, /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -28 @@ -8878,8 +8878,8 @@ dir = 4 }, /obj/machinery/recharger, -/obj/item/device/defib_kit/loaded, -/obj/item/device/defib_kit/loaded, +/obj/item/defib_kit/loaded, +/obj/item/defib_kit/loaded, /obj/machinery/newscaster{ layer = 3.3; pixel_x = 28 @@ -8895,8 +8895,8 @@ /area/civilian/atrium/upper) "yR" = ( /obj/structure/table/steel, -/obj/item/weapon/gun/energy/netgun, -/obj/item/weapon/gun/energy/netgun, +/obj/item/gun/energy/netgun, +/obj/item/gun/energy/netgun, /turf/simulated/floor/tiled, /area/cryogaia/station/explorer_prep) "yT" = ( @@ -8940,7 +8940,7 @@ dir = 5 }, /obj/structure/table/steel, -/obj/item/weapon/paper/rogueminer, +/obj/item/paper/rogueminer, /turf/simulated/floor/tiled, /area/quartermaster/miningdock) "zi" = ( @@ -9015,7 +9015,7 @@ dir = 10 }, /obj/structure/table/steel, -/obj/item/device/radio, +/obj/item/radio, /turf/simulated/floor/tiled, /area/security/watchtower) "zE" = ( @@ -9093,7 +9093,7 @@ /turf/simulated/floor/tiled, /area/shuttle/excursion) "zR" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/corner/paleblue/diagonal{ dir = 4 }, @@ -9799,7 +9799,7 @@ /turf/simulated/floor/tiled, /area/civilian/atrium/upper) "Di" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Common Channel"; pixel_y = 21 @@ -9822,14 +9822,14 @@ /obj/effect/floor_decal/corner/paleblue/diagonal{ dir = 4 }, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled/white, /area/crew_quarters/medbreak) "Do" = ( /obj/machinery/light{ dir = 4 }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 8; pixel_x = 30 }, @@ -9976,7 +9976,7 @@ /obj/structure/bed/chair/wood{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Common Channel"; pixel_x = 21 @@ -10279,7 +10279,7 @@ /obj/machinery/light{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Common Channel"; pixel_y = 21 @@ -10313,7 +10313,7 @@ /obj/machinery/light{ dir = 8 }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 4; pixel_x = -30 }, @@ -10997,7 +10997,7 @@ /obj/effect/floor_decal/corner/paleblue/diagonal{ dir = 4 }, -/obj/item/weapon/deck/cards, +/obj/item/deck/cards, /obj/machinery/alarm/yw{ dir = 8; pixel_x = 25 @@ -11046,14 +11046,14 @@ /turf/simulated/open, /area/chapel/monastery/upper) "Jp" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/corner/paleblue/diagonal{ dir = 4 }, /obj/machinery/light{ dir = 4 }, -/obj/item/device/radio/intercom/department/medbay{ +/obj/item/radio/intercom/department/medbay{ dir = 4; pixel_x = 32 }, @@ -11103,7 +11103,7 @@ /turf/simulated/floor/tiled, /area/cryogaia/station/hallway/primary/upper/south) "Jz" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/corner/paleblue/diagonal{ dir = 4 }, @@ -11169,7 +11169,7 @@ dir = 9 }, /obj/structure/table/steel, -/obj/item/device/binoculars, +/obj/item/binoculars, /turf/simulated/floor/tiled, /area/security/watchtower) "JN" = ( @@ -11287,7 +11287,7 @@ /obj/structure/handrail{ dir = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ name = "Common Channel"; pixel_y = -21 }, @@ -11807,7 +11807,7 @@ /obj/machinery/light{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Common Channel"; pixel_x = -21 @@ -11857,7 +11857,7 @@ /obj/structure/table/rack/shelf, /obj/item/clothing/suit/storage/hooded/wintercoat/snowsuit, /obj/item/clothing/shoes/boots/winter, -/obj/item/weapon/ice_pick, +/obj/item/ice_pick, /turf/simulated/floor/tiled, /area/cryogaia/station/hallway/primary/upper/south) "Ns" = ( @@ -11885,7 +11885,7 @@ /obj/effect/floor_decal/corner/paleblue{ dir = 6 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 4; name = "Common Channel"; pixel_x = 21 @@ -11898,7 +11898,7 @@ }, /obj/structure/railing, /obj/effect/decal/cleanable/dirt, -/obj/item/weapon/toolbox_tiles, +/obj/item/toolbox_tiles, /turf/simulated/floor/plating, /area/constructionsite/cryogaia/upper) "Nz" = ( @@ -11980,7 +11980,7 @@ dir = 4 }, /obj/effect/floor_decal/corner/red/full, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 4; pixel_x = -30 }, @@ -12130,7 +12130,7 @@ /obj/machinery/light{ dir = 8 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Common Channel"; pixel_x = -21 @@ -12398,7 +12398,7 @@ dir = 4 }, /obj/structure/disposalpipe/segment, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled/white, /area/crew_quarters/medbreak) "PW" = ( @@ -12892,7 +12892,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 1; pixel_y = -30 }, @@ -13118,7 +13118,7 @@ name = "plastic table frame" }, /obj/item/pizzabox, -/obj/item/weapon/material/ashtray/plastic, +/obj/item/material/ashtray/plastic, /obj/effect/floor_decal/corner/paleblue/diagonal{ dir = 4 }, @@ -13190,7 +13190,7 @@ /turf/simulated/floor/plating/snow/plating/cryogaia, /area/borealis2/outdoors/grounds/upper) "Tw" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Common Channel"; pixel_x = -21 @@ -13269,7 +13269,7 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, @@ -13371,7 +13371,7 @@ /turf/simulated/open/cryogaia, /area/cryogaia/outpost/tower/southwest) "Ux" = ( -/obj/item/device/radio/intercom/department/security{ +/obj/item/radio/intercom/department/security{ dir = 4; pixel_x = 24 }, @@ -13956,7 +13956,7 @@ /turf/simulated/floor/reinforced, /area/shuttle/excursion) "WX" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 1; name = "Common Channel"; pixel_y = 21 @@ -14064,7 +14064,7 @@ /obj/effect/floor_decal/corner/paleblue/diagonal{ dir = 4 }, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/machinery/light_switch{ dir = 8; pixel_x = 28 @@ -14147,7 +14147,7 @@ c_tag = "Solar Array Shed - Interior"; dir = 4 }, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 4; pixel_x = -30 }, @@ -14320,8 +14320,8 @@ /area/chapel/monastery/music) "YC" = ( /obj/structure/table/steel, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, /obj/effect/floor_decal/corner/brown{ dir = 6 }, @@ -14570,7 +14570,7 @@ /turf/simulated/floor/tiled, /area/quartermaster/miningdock) "ZT" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/effect/floor_decal/corner/paleblue/diagonal{ dir = 4 }, diff --git a/maps/yw/cryogaia-07-misc.dmm b/maps/yw/cryogaia-07-misc.dmm index 4ac85f0f36c..509887bf373 100644 --- a/maps/yw/cryogaia-07-misc.dmm +++ b/maps/yw/cryogaia-07-misc.dmm @@ -7,7 +7,7 @@ /area/holodeck/source_thunderdomecourt) "af" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/hopdouble, +/obj/item/bedsheet/hopdouble, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm4) "ag" = ( @@ -99,7 +99,7 @@ /area/wizard_station) "aD" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/glasses/square{ +/obj/item/storage/box/glasses/square{ pixel_x = 1; pixel_y = 4 }, @@ -140,20 +140,20 @@ dir = 1 }, /obj/structure/table/standard, -/obj/item/weapon/surgical/surgicaldrill, -/obj/item/weapon/surgical/cautery, -/obj/item/weapon/surgical/retractor, +/obj/item/surgical/surgicaldrill, +/obj/item/surgical/cautery, +/obj/item/surgical/retractor, /obj/item/stack/nanopaste, /turf/simulated/shuttle/floor/white, /area/shuttle/mercenary) "aN" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/handcuffs{ +/obj/item/storage/box/handcuffs{ pixel_x = 4; pixel_y = 2 }, -/obj/item/weapon/storage/box/flashbangs, -/obj/item/weapon/storage/box/smokes, +/obj/item/storage/box/flashbangs, +/obj/item/storage/box/smokes, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -195,7 +195,7 @@ /turf/simulated/floor/holofloor/beach/sand, /area/holodeck/source_beach) "aZ" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -228,7 +228,7 @@ /turf/simulated/floor/holofloor/bmarble, /area/holodeck/source_chess) "bg" = ( -/obj/item/weapon/reagent_containers/food/drinks/bottle/pwine{ +/obj/item/reagent_containers/food/drinks/bottle/pwine{ pixel_x = -4; pixel_y = 10 }, @@ -320,7 +320,7 @@ }, /area/syndicate_mothership) "bH" = ( -/obj/item/weapon/bedsheet/hos, +/obj/item/bedsheet/hos, /obj/structure/bed/padded, /turf/unsimulated/floor{ icon_state = "lino" @@ -364,7 +364,7 @@ /obj/random/tech_supply, /obj/random/tech_supply, /obj/random/tech_supply, -/obj/item/weapon/weldpack, +/obj/item/weldpack, /turf/simulated/shuttle/floor/black, /area/shuttle/trade/centcom) "bQ" = ( @@ -400,7 +400,7 @@ /area/shuttle/skipjack) "bY" = ( /obj/structure/undies_wardrobe, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; frequency = 1213; name = "Subversive Intercom"; @@ -418,8 +418,8 @@ /obj/item/ammo_magazine/m545, /obj/item/ammo_magazine/m545, /obj/item/ammo_magazine/m545, -/obj/item/weapon/gun/projectile/automatic/sts35, -/obj/item/weapon/gun/projectile/automatic/sts35, +/obj/item/gun/projectile/automatic/sts35, +/obj/item/gun/projectile/automatic/sts35, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -503,7 +503,7 @@ /turf/simulated/shuttle/plating, /area/shuttle/skipjack) "cr" = ( -/obj/item/weapon/beach_ball, +/obj/item/beach_ball, /turf/unsimulated/beach/sand, /area/beach) "cv" = ( @@ -518,9 +518,9 @@ /area/syndicate_mothership) "cw" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/bonesetter, -/obj/item/weapon/surgical/bonegel, -/obj/item/weapon/surgical/FixOVein, +/obj/item/surgical/bonesetter, +/obj/item/surgical/bonegel, +/obj/item/surgical/FixOVein, /obj/item/stack/nanopaste, /turf/simulated/shuttle/floor/red, /area/shuttle/skipjack) @@ -687,7 +687,7 @@ }, /area/wizard_station) "dA" = ( -/obj/item/weapon/bedsheet/rddouble, +/obj/item/bedsheet/rddouble, /obj/structure/bed/double/padded, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm2) @@ -704,11 +704,11 @@ /area/shuttle/trade/centcom) "dE" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 8 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /turf/unsimulated/floor{ @@ -721,7 +721,7 @@ }, /obj/item/clothing/suit/wizrobe/magusblue, /obj/item/clothing/head/wizard/magus, -/obj/item/weapon/staff, +/obj/item/staff, /turf/unsimulated/floor{ dir = 5; icon_state = "vault" @@ -737,12 +737,12 @@ /area/shuttle/mercenary) "dK" = ( /obj/structure/table/rack, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/double, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -754,7 +754,7 @@ /turf/simulated/shuttle/floor/darkred, /area/shuttle/trade/centcom) "dN" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; @@ -778,11 +778,11 @@ /area/wizard_station) "dP" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/lipstick/black, -/obj/item/weapon/lipstick/jade, -/obj/item/weapon/lipstick/purple, -/obj/item/weapon/lipstick, -/obj/item/weapon/lipstick/random, +/obj/item/lipstick/black, +/obj/item/lipstick/jade, +/obj/item/lipstick/purple, +/obj/item/lipstick, +/obj/item/lipstick/random, /turf/simulated/shuttle/floor/black, /area/shuttle/trade/centcom) "dR" = ( @@ -826,10 +826,10 @@ /area/holodeck/source_boxingcourt) "ed" = ( /obj/structure/closet, -/obj/item/weapon/reagent_containers/food/snacks/tastybread, -/obj/item/weapon/reagent_containers/food/snacks/tastybread, -/obj/item/weapon/reagent_containers/food/snacks/tastybread, -/obj/item/weapon/reagent_containers/food/snacks/tastybread, +/obj/item/reagent_containers/food/snacks/tastybread, +/obj/item/reagent_containers/food/snacks/tastybread, +/obj/item/reagent_containers/food/snacks/tastybread, +/obj/item/reagent_containers/food/snacks/tastybread, /turf/simulated/shuttle/floor/darkred, /area/shuttle/mercenary) "eh" = ( @@ -850,7 +850,7 @@ /turf/simulated/floor/holofloor/carpet, /area/holodeck/source_theatre) "eo" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ broadcasting = 1; dir = 1; frequency = 1213; @@ -908,7 +908,7 @@ /turf/simulated/shuttle/floor/black, /area/shuttle/trade/centcom) "eD" = ( -/obj/item/weapon/folder{ +/obj/item/folder{ pixel_y = 2 }, /obj/structure/table/glass, @@ -940,12 +940,12 @@ /area/shuttle/trade/centcom) "eK" = ( /obj/structure/table/rack, -/obj/item/weapon/banner/red, -/obj/item/weapon/banner/red, -/obj/item/weapon/banner/red, -/obj/item/weapon/banner/red, -/obj/item/weapon/banner/red, -/obj/item/weapon/banner/red, +/obj/item/banner/red, +/obj/item/banner/red, +/obj/item/banner/red, +/obj/item/banner/red, +/obj/item/banner/red, +/obj/item/banner/red, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -1032,7 +1032,7 @@ /area/beach) "fe" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/inflatable_duck, +/obj/item/inflatable_duck, /turf/simulated/shuttle/floor/black, /area/shuttle/trade/centcom) "fg" = ( @@ -1148,39 +1148,39 @@ /area/shuttle/skipjack) "fD" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/ionrifle, -/obj/item/weapon/material/harpoon, +/obj/item/gun/energy/ionrifle, +/obj/item/material/harpoon, /obj/item/clothing/suit/space/void/merc, /obj/item/clothing/head/helmet/space/void/merc, /obj/item/clothing/head/helmet/space/void/engineering, /obj/item/clothing/suit/space/void/engineering, -/obj/item/weapon/tank/oxygen, -/obj/item/weapon/tank/oxygen, +/obj/item/tank/oxygen, +/obj/item/tank/oxygen, /obj/item/clothing/shoes/magboots, /obj/item/clothing/shoes/magboots, -/obj/item/weapon/rig/light/stealth, +/obj/item/rig/light/stealth, /turf/simulated/shuttle/plating, /area/shuttle/skipjack) "fF" = ( /obj/machinery/smartfridge/survival_pod, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/towel/random, +/obj/item/towel/random, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm4) "fG" = ( @@ -1222,11 +1222,11 @@ name = "\improper Ninja Base" }) "gb" = ( -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = -2; pixel_y = 4 }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = -2; pixel_y = 4 }, @@ -1236,30 +1236,30 @@ /obj/item/bodybag/cryobag{ pixel_x = 5 }, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ layer = 2.8; pixel_x = 4; pixel_y = 6 }, -/obj/item/weapon/storage/box/masks, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/masks, +/obj/item/storage/box/gloves{ pixel_x = 3; pixel_y = 4 }, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/toxin, +/obj/item/storage/firstaid/fire{ layer = 2.9; pixel_x = 2; pixel_y = 3 }, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ pixel_x = -2 }, -/obj/item/weapon/reagent_containers/blood/empty, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/empty, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /obj/structure/closet/medical_wall{ pixel_y = 32 }, @@ -1303,7 +1303,7 @@ /turf/simulated/shuttle/wall/alien/blue/hard_corner, /area/unknown/dorm5) "gv" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; @@ -1355,7 +1355,7 @@ /obj/machinery/vending/cigarette{ name = "hacked cigarette machine"; prices = list(); - products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) + products = list(/obj/item/storage/fancy/cigarettes = 10, /obj/item/storage/box/matches = 10, /obj/item/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) }, /turf/unsimulated/floor{ icon_state = "cult"; @@ -1371,10 +1371,10 @@ /area/syndicate_mothership) "gD" = ( /obj/structure/closet, -/obj/item/weapon/reagent_containers/food/snacks/liquidfood, -/obj/item/weapon/reagent_containers/food/snacks/liquidfood, -/obj/item/weapon/reagent_containers/food/snacks/liquidfood, -/obj/item/weapon/reagent_containers/food/snacks/liquidfood, +/obj/item/reagent_containers/food/snacks/liquidfood, +/obj/item/reagent_containers/food/snacks/liquidfood, +/obj/item/reagent_containers/food/snacks/liquidfood, +/obj/item/reagent_containers/food/snacks/liquidfood, /obj/machinery/light{ dir = 4 }, @@ -1393,7 +1393,7 @@ /area/wizard_station) "gJ" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/launcher/spikethrower, +/obj/item/gun/launcher/spikethrower, /turf/unsimulated/floor{ icon_state = "asteroid" }, @@ -1516,7 +1516,7 @@ /obj/structure/urinal{ pixel_y = 32 }, -/obj/item/weapon/soap/syndie, +/obj/item/soap/syndie, /turf/unsimulated/floor{ icon_state = "freezerfloor" }, @@ -1628,7 +1628,7 @@ /obj/machinery/vending/cigarette{ name = "hacked cigarette machine"; prices = list(); - products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) + products = list(/obj/item/storage/fancy/cigarettes = 10, /obj/item/storage/box/matches = 10, /obj/item/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) }, /turf/simulated/shuttle/floor/darkred, /area/shuttle/mercenary) @@ -1649,7 +1649,7 @@ /turf/simulated/shuttle/floor/alien, /area/unknown/dorm1) "ib" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; @@ -1779,11 +1779,11 @@ /turf/simulated/floor/holofloor/tiled, /area/holodeck/source_basketball) "iF" = ( -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 8 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /obj/machinery/light, @@ -1866,18 +1866,18 @@ req_access = list(150) }, /obj/item/bodybag, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/reagent_containers/glass/bottle/antitoxin{ +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/glass/bottle/antitoxin{ pixel_x = -4; pixel_y = 8 }, -/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline{ +/obj/item/reagent_containers/glass/bottle/inaprovaline{ pixel_x = 4; pixel_y = 7 }, -/obj/item/weapon/reagent_containers/syringe, +/obj/item/reagent_containers/syringe, /obj/machinery/light{ dir = 4 }, @@ -1928,27 +1928,27 @@ /area/space) "jf" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/device/multitool, -/obj/item/device/multitool, +/obj/item/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, +/obj/item/multitool, +/obj/item/multitool, /obj/item/clothing/shoes/magboots, /turf/simulated/shuttle/plating, /area/shuttle/skipjack) "jh" = ( /obj/structure/table/standard, -/obj/item/weapon/material/knife{ +/obj/item/material/knife{ pixel_x = -6 }, -/obj/item/weapon/reagent_containers/syringe/drugs{ +/obj/item/reagent_containers/syringe/drugs{ pixel_x = 3; pixel_y = -1 }, -/obj/item/weapon/reagent_containers/syringe/drugs{ +/obj/item/reagent_containers/syringe/drugs{ pixel_x = 3; pixel_y = 4 }, -/obj/item/weapon/reagent_containers/syringe/drugs{ +/obj/item/reagent_containers/syringe/drugs{ pixel_x = 3; pixel_y = 9 }, @@ -1975,7 +1975,7 @@ name = "Cell"; req_access = list(150) }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; @@ -1991,7 +1991,7 @@ }, /area/syndicate_mothership) "jv" = ( -/obj/item/weapon/bedsheet/clown, +/obj/item/bedsheet/clown, /obj/structure/bed/padded, /turf/simulated/shuttle/floor/red, /area/shuttle/skipjack) @@ -2001,12 +2001,12 @@ /area/unknown/dorm6) "jG" = ( /obj/structure/table/rack, -/obj/item/weapon/tank/jetpack/oxygen, -/obj/item/weapon/tank/jetpack/oxygen, -/obj/item/weapon/tank/jetpack/oxygen, -/obj/item/weapon/tank/jetpack/oxygen, -/obj/item/weapon/tank/jetpack/oxygen, -/obj/item/weapon/tank/jetpack/oxygen, +/obj/item/tank/jetpack/oxygen, +/obj/item/tank/jetpack/oxygen, +/obj/item/tank/jetpack/oxygen, +/obj/item/tank/jetpack/oxygen, +/obj/item/tank/jetpack/oxygen, +/obj/item/tank/jetpack/oxygen, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -2049,7 +2049,7 @@ }, /area/syndicate_mothership/elite_squad) "ka" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/shuttle/floor/darkred, /area/shuttle/mercenary) "kb" = ( @@ -2074,7 +2074,7 @@ /area/unknown/dorm4) "kk" = ( /obj/structure/table/standard, -/obj/item/device/pda/syndicate, +/obj/item/pda/syndicate, /turf/unsimulated/floor{ icon_state = "lino" }, @@ -2120,7 +2120,7 @@ /area/holodeck/source_thunderdomecourt) "ks" = ( /obj/structure/table/standard, -/obj/item/weapon/deck/cards, +/obj/item/deck/cards, /turf/simulated/shuttle/floor/red, /area/shuttle/skipjack) "kt" = ( @@ -2154,7 +2154,7 @@ }, /area/syndicate_mothership) "kA" = ( -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, /turf/simulated/shuttle/plating, /area/shuttle/skipjack) "kD" = ( @@ -2213,7 +2213,7 @@ /turf/simulated/shuttle/floor/black, /area/shuttle/trade/centcom) "kP" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ broadcasting = 1; dir = 1; frequency = 1213; @@ -2279,7 +2279,7 @@ }) "lj" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/captain, +/obj/item/bedsheet/captain, /turf/simulated/shuttle/floor/black, /area/shuttle/trade/centcom) "lk" = ( @@ -2296,7 +2296,7 @@ /obj/item/clothing/head/helmet/thunderdome, /obj/item/clothing/suit/armor/tdome/red, /obj/item/clothing/under/color/red, -/obj/item/weapon/holo/esword/red, +/obj/item/holo/esword/red, /obj/effect/floor_decal/corner/red{ dir = 5 }, @@ -2310,14 +2310,14 @@ /area/unknown/dorm2) "lv" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/book/manual/robotics_cyborgs, +/obj/item/book/manual/robotics_cyborgs, /turf/unsimulated/floor{ dir = 5; icon_state = "vault" }, /area/wizard_station) "lw" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; @@ -2345,13 +2345,13 @@ /area/syndicate_mothership) "lD" = ( /obj/structure/table/standard, -/obj/item/device/aicard, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, +/obj/item/aicard, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, +/obj/item/plastique, /turf/simulated/shuttle/floor/darkred, /area/shuttle/mercenary) "lI" = ( @@ -2365,7 +2365,7 @@ }, /area/syndicate_mothership) "lN" = ( -/obj/item/weapon/inflatable_duck, +/obj/item/inflatable_duck, /turf/simulated/floor/holofloor/beach/sand, /area/holodeck/source_beach) "lQ" = ( @@ -2379,7 +2379,7 @@ /area/wizard_station) "lR" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/hopdouble, +/obj/item/bedsheet/hopdouble, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm6) "lT" = ( @@ -2395,12 +2395,12 @@ /area/syndicate_mothership) "lU" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/cola, /turf/unsimulated/beach/sand, /area/beach) "lW" = ( @@ -2448,7 +2448,7 @@ /area/unknown/dorm2) "mc" = ( /obj/structure/table/reinforced, -/obj/item/weapon/tray{ +/obj/item/tray{ pixel_y = 5 }, /turf/unsimulated/floor{ @@ -2457,7 +2457,7 @@ /area/syndicate_mothership) "mg" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/mmi/radio_enabled, +/obj/item/mmi/radio_enabled, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -2505,7 +2505,7 @@ /turf/simulated/shuttle/wall/alien, /area/unknown/dorm2) "mp" = ( -/obj/item/weapon/firstaid_arm_assembly, +/obj/item/firstaid_arm_assembly, /turf/unsimulated/floor{ dir = 5; icon_state = "vault" @@ -2513,11 +2513,11 @@ /area/wizard_station) "mr" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 8 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /turf/simulated/shuttle/floor/darkred, @@ -2530,7 +2530,7 @@ }, /area/wizard_station) "mu" = ( -/obj/item/device/perfect_tele_beacon/stationary{ +/obj/item/perfect_tele_beacon/stationary{ tele_name = "Unknown"; tele_network = "unktwo" }, @@ -2544,32 +2544,32 @@ /area/shuttle/mercenary) "my" = ( /obj/machinery/smartfridge/survival_pod, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/towel/random, +/obj/item/towel/random, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm1) "mz" = ( /obj/structure/table/standard, -/obj/item/device/radio/headset/syndicate/alt, -/obj/item/device/radio/headset/syndicate/alt, -/obj/item/device/radio/headset/syndicate/alt, -/obj/item/device/radio/headset/syndicate/alt, +/obj/item/radio/headset/alt/syndicate, +/obj/item/radio/headset/alt/syndicate, +/obj/item/radio/headset/alt/syndicate, +/obj/item/radio/headset/alt/syndicate, /turf/unsimulated/floor{ icon_state = "lino" }, @@ -2606,12 +2606,12 @@ /area/syndicate_mothership) "mK" = ( /obj/structure/table/rack, -/obj/item/device/megaphone, -/obj/item/device/megaphone, -/obj/item/device/megaphone, -/obj/item/device/megaphone, -/obj/item/device/megaphone, -/obj/item/device/megaphone, +/obj/item/megaphone, +/obj/item/megaphone, +/obj/item/megaphone, +/obj/item/megaphone, +/obj/item/megaphone, +/obj/item/megaphone, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -2670,8 +2670,8 @@ /obj/item/seeds/potatoseed, /obj/item/seeds/potatoseed, /obj/item/seeds/ambrosiavulgarisseed, -/obj/item/weapon/material/minihoe, -/obj/item/weapon/beartrap, +/obj/item/material/minihoe, +/obj/item/beartrap, /obj/structure/table/steel, /turf/simulated/shuttle/plating, /area/shuttle/skipjack) @@ -2788,7 +2788,7 @@ /area/holodeck/source_chess) "nQ" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/coin/diamond, +/obj/item/coin/diamond, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -2807,7 +2807,7 @@ /turf/simulated/shuttle/floor/white, /area/shuttle/trade/centcom) "ob" = ( -/obj/item/device/perfect_tele_beacon/stationary{ +/obj/item/perfect_tele_beacon/stationary{ tele_name = "Unknown"; tele_network = "unkone" }, @@ -2897,7 +2897,7 @@ /turf/simulated/shuttle/floor/alien, /area/unknown/dorm2) "oA" = ( -/obj/item/weapon/weldingtool, +/obj/item/weldingtool, /obj/machinery/light{ dir = 8 }, @@ -2920,13 +2920,13 @@ }) "oG" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/coin/uranium, -/obj/item/weapon/coin/silver, -/obj/item/weapon/coin/platinum, -/obj/item/weapon/coin/phoron, -/obj/item/weapon/coin/iron, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/diamond, +/obj/item/coin/uranium, +/obj/item/coin/silver, +/obj/item/coin/platinum, +/obj/item/coin/phoron, +/obj/item/coin/iron, +/obj/item/coin/gold, +/obj/item/coin/diamond, /obj/structure/window/reinforced, /turf/simulated/shuttle/floor/black, /area/shuttle/trade/centcom) @@ -3000,9 +3000,9 @@ /obj/structure/closet{ name = "custodial" }, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/mop, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/glass/bucket, +/obj/item/mop, +/obj/item/reagent_containers/spray/cleaner, /turf/simulated/shuttle/floor/darkred, /area/shuttle/mercenary) "pr" = ( @@ -3030,7 +3030,7 @@ }, /area/syndicate_mothership) "pB" = ( -/obj/item/device/perfect_tele_beacon/stationary{ +/obj/item/perfect_tele_beacon/stationary{ tele_name = "Unknown"; tele_network = "unksix" }, @@ -3099,19 +3099,19 @@ /area/shuttle/mercenary) "pW" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/launcher/crossbow, +/obj/item/gun/launcher/crossbow, /obj/item/stack/rods{ amount = 10 }, /obj/machinery/light/small{ dir = 8 }, -/obj/item/weapon/beartrap, -/obj/item/weapon/beartrap, -/obj/item/weapon/beartrap, -/obj/item/weapon/beartrap, -/obj/item/weapon/beartrap, -/obj/item/weapon/beartrap, +/obj/item/beartrap, +/obj/item/beartrap, +/obj/item/beartrap, +/obj/item/beartrap, +/obj/item/beartrap, +/obj/item/beartrap, /turf/simulated/shuttle/floor/red, /area/shuttle/skipjack) "qc" = ( @@ -3132,8 +3132,8 @@ "qg" = ( /obj/machinery/light, /obj/structure/table/standard, -/obj/item/weapon/soap, -/obj/item/weapon/towel{ +/obj/item/soap, +/obj/item/towel{ color = "#0000FF" }, /turf/simulated/shuttle/floor/black, @@ -3144,18 +3144,18 @@ /area/shuttle/trade/centcom) "qj" = ( /obj/structure/table/rack, -/obj/item/device/flashlight/flare, -/obj/item/device/flashlight/flare, -/obj/item/device/flashlight/flare, -/obj/item/device/flashlight/flare, -/obj/item/device/flashlight/flare, -/obj/item/device/flashlight/flare, -/obj/item/device/flashlight/flare, -/obj/item/device/flashlight/flare, -/obj/item/device/flashlight/flare, -/obj/item/device/flashlight/flare, -/obj/item/device/flashlight/flare, -/obj/item/device/flashlight/flare, +/obj/item/flashlight/flare, +/obj/item/flashlight/flare, +/obj/item/flashlight/flare, +/obj/item/flashlight/flare, +/obj/item/flashlight/flare, +/obj/item/flashlight/flare, +/obj/item/flashlight/flare, +/obj/item/flashlight/flare, +/obj/item/flashlight/flare, +/obj/item/flashlight/flare, +/obj/item/flashlight/flare, +/obj/item/flashlight/flare, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -3193,7 +3193,7 @@ /area/overmap) "qr" = ( /obj/structure/table/woodentable, -/obj/item/device/paicard, +/obj/item/paicard, /turf/unsimulated/floor{ dir = 8; icon_state = "wood" @@ -3201,11 +3201,11 @@ /area/wizard_station) "qs" = ( /obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka{ +/obj/item/reagent_containers/food/drinks/bottle/vodka{ pixel_x = 3; pixel_y = 12 }, -/obj/item/weapon/reagent_containers/food/drinks/bottle/wine{ +/obj/item/reagent_containers/food/drinks/bottle/wine{ pixel_x = -1; pixel_y = 8 }, @@ -3235,7 +3235,7 @@ /area/shuttle/mercenary) "qw" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/frags, +/obj/item/storage/box/frags, /turf/simulated/shuttle/floor/darkred, /area/shuttle/mercenary) "qx" = ( @@ -3310,7 +3310,7 @@ /turf/simulated/shuttle/floor/black, /area/shuttle/trade/centcom) "qM" = ( -/obj/item/weapon/bedsheet/rainbow, +/obj/item/bedsheet/rainbow, /obj/structure/bed/padded, /turf/simulated/shuttle/floor/red, /area/shuttle/skipjack) @@ -3351,7 +3351,7 @@ "qS" = ( /obj/structure/table/standard, /obj/item/clothing/gloves/yellow, -/obj/item/device/assembly/prox_sensor{ +/obj/item/assembly/prox_sensor{ pixel_x = -8; pixel_y = 4 }, @@ -3380,10 +3380,10 @@ /area/syndicate_mothership) "rg" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ pixel_x = 1 }, -/obj/item/weapon/storage/firstaid/toxin{ +/obj/item/storage/firstaid/toxin{ pixel_x = 3; pixel_y = 3 }, @@ -3394,14 +3394,14 @@ pixel_x = 32; req_access = list(150) }, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/fire{ pixel_x = 1 }, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /turf/simulated/shuttle/floor/red, /area/shuttle/skipjack) "rh" = ( @@ -3447,7 +3447,7 @@ name = "\improper Raider Base" }) "ru" = ( -/obj/item/weapon/bedsheet/green, +/obj/item/bedsheet/green, /obj/machinery/light/small{ dir = 4 }, @@ -3510,7 +3510,7 @@ /area/shuttle/skipjack) "rK" = ( /obj/structure/table/standard, -/obj/item/weapon/handcuffs/legcuffs, +/obj/item/handcuffs/legcuffs, /turf/simulated/shuttle/floor/red, /area/shuttle/skipjack) "rL" = ( @@ -3538,8 +3538,8 @@ /area/shuttle/mercenary) "rS" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /turf/simulated/shuttle/floor/white, /area/shuttle/mercenary) "rU" = ( @@ -3620,8 +3620,8 @@ /obj/item/clothing/shoes/boots/workboots, /obj/item/clothing/under/technomancer, /obj/item/clothing/head/technomancer, -/obj/item/weapon/storage/box/syndie_kit/chameleon, -/obj/item/weapon/storage/box/syndie_kit/chameleon, +/obj/item/storage/box/syndie_kit/chameleon, +/obj/item/storage/box/syndie_kit/chameleon, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -3632,42 +3632,42 @@ /area/unknown/dorm1) "sm" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle, /obj/machinery/recharger/wallcharger{ pixel_x = 5; pixel_y = 32 }, -/obj/item/weapon/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle, /turf/unsimulated/floor{ icon_state = "dark" }, /area/syndicate_mothership) "so" = ( /obj/machinery/smartfridge/survival_pod, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/towel/random, +/obj/item/towel/random, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm5) "sq" = ( /obj/machinery/atmospherics/pipe/simple/visible, -/obj/item/weapon/tool/crowbar, -/obj/item/device/suit_cooling_unit, +/obj/item/tool/crowbar, +/obj/item/suit_cooling_unit, /turf/simulated/shuttle/plating, /area/shuttle/skipjack) "sr" = ( @@ -3705,7 +3705,7 @@ /area) "sw" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/hopdouble, +/obj/item/bedsheet/hopdouble, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm5) "sy" = ( @@ -3730,7 +3730,7 @@ /turf/simulated/floor/holofloor/carpet, /area/holodeck/source_theatre) "sE" = ( -/obj/item/weapon/tool/crowbar, +/obj/item/tool/crowbar, /turf/simulated/shuttle/floor/darkred, /area/shuttle/mercenary) "sH" = ( @@ -3748,13 +3748,13 @@ pixel_x = 32; req_access = list(150) }, -/obj/item/weapon/tank/anesthetic, +/obj/item/tank/anesthetic, /obj/item/clothing/mask/breath/medical, /obj/item/clothing/mask/surgical, /obj/item/clothing/gloves/sterile/latex, -/obj/item/weapon/reagent_containers/syringe, -/obj/item/weapon/reagent_containers/glass/bottle/stoxin, -/obj/item/weapon/reagent_containers/glass/bottle/stoxin, +/obj/item/reagent_containers/syringe, +/obj/item/reagent_containers/glass/bottle/stoxin, +/obj/item/reagent_containers/glass/bottle/stoxin, /turf/simulated/shuttle/floor/white, /area/shuttle/mercenary) "sL" = ( @@ -3805,12 +3805,12 @@ /area/shuttle/trade/centcom) "sX" = ( /obj/structure/table/rack, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -3858,7 +3858,7 @@ /turf/simulated/shuttle/floor/black, /area/shuttle/trade/centcom) "tr" = ( -/obj/item/weapon/antag_spawner/technomancer_apprentice, +/obj/item/antag_spawner/technomancer_apprentice, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -3885,8 +3885,8 @@ /obj/item/stack/medical/bruise_pack, /obj/item/stack/medical/bruise_pack, /obj/item/stack/medical/bruise_pack, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, +/obj/item/storage/belt/medical/emt, /turf/simulated/shuttle/floor/darkred, /area/shuttle/mercenary) "tD" = ( @@ -3923,7 +3923,7 @@ }) "tK" = ( /obj/structure/table/rack, -/obj/item/weapon/rig/merc/empty, +/obj/item/rig/merc/empty, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -3962,7 +3962,7 @@ /area/holodeck/source_chess) "tW" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/book/manual/ripley_build_and_repair, +/obj/item/book/manual/ripley_build_and_repair, /turf/unsimulated/floor{ dir = 5; icon_state = "vault" @@ -4034,7 +4034,7 @@ /turf/simulated/shuttle/floor/alienplating, /area/unknown/dorm5) "uq" = ( -/obj/item/device/perfect_tele_beacon/stationary{ +/obj/item/perfect_tele_beacon/stationary{ tele_name = "Unknown"; tele_network = "unkfour" }, @@ -4087,8 +4087,8 @@ /area/shuttle/skipjack) "uy" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/device/multitool, +/obj/item/storage/belt/utility/full, +/obj/item/multitool, /obj/machinery/light{ dir = 8 }, @@ -4146,7 +4146,7 @@ /area/syndicate_mothership) "uR" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/rd, +/obj/item/bedsheet/rd, /turf/simulated/shuttle/floor/black, /area/shuttle/trade/centcom) "uT" = ( @@ -4202,7 +4202,7 @@ /obj/structure/flora/pottedplant{ icon_state = "plant-03" }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; frequency = 1213; name = "Subversive Intercom"; @@ -4246,12 +4246,12 @@ dir = 1 }, /obj/structure/table/standard, -/obj/item/weapon/surgical/circular_saw, -/obj/item/weapon/surgical/FixOVein{ +/obj/item/surgical/circular_saw, +/obj/item/surgical/FixOVein{ pixel_x = -6; pixel_y = 1 }, -/obj/item/weapon/surgical/hemostat, +/obj/item/surgical/hemostat, /turf/simulated/shuttle/floor/white, /area/shuttle/mercenary) "vp" = ( @@ -4312,7 +4312,7 @@ }) "vG" = ( /obj/structure/table/standard, -/obj/item/device/flashlight/lamp{ +/obj/item/flashlight/lamp{ pixel_x = 4; pixel_y = 8 }, @@ -4327,18 +4327,18 @@ /area/unknown/dorm4) "vI" = ( /obj/structure/table/rack, -/obj/item/device/camera_film, -/obj/item/device/camera_film, -/obj/item/device/camera_film, -/obj/item/device/camera_film, -/obj/item/device/camera_film, -/obj/item/device/camera_film, -/obj/item/device/camera, -/obj/item/device/camera, -/obj/item/device/camera, -/obj/item/device/camera, -/obj/item/device/camera, -/obj/item/device/camera, +/obj/item/camera_film, +/obj/item/camera_film, +/obj/item/camera_film, +/obj/item/camera_film, +/obj/item/camera_film, +/obj/item/camera_film, +/obj/item/camera, +/obj/item/camera, +/obj/item/camera, +/obj/item/camera, +/obj/item/camera, +/obj/item/camera, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -4431,9 +4431,9 @@ /area/syndicate_mothership) "wh" = ( /obj/structure/table/rack, -/obj/item/weapon/grenade/empgrenade, -/obj/item/weapon/grenade/flashbang, -/obj/item/weapon/grenade/spawnergrenade/manhacks, +/obj/item/grenade/empgrenade, +/obj/item/grenade/flashbang, +/obj/item/grenade/spawnergrenade/manhacks, /turf/simulated/shuttle/floor/red, /area/shuttle/skipjack) "wi" = ( @@ -4539,17 +4539,17 @@ /area/shuttle/trade/centcom) "wK" = ( /obj/structure/table/rack, -/obj/item/weapon/melee/energy/sword/pirate, +/obj/item/melee/energy/sword/pirate, /obj/item/clothing/suit/space/pirate, /obj/item/clothing/suit/space/pirate, -/obj/item/weapon/tank/oxygen, +/obj/item/tank/oxygen, /turf/simulated/shuttle/floor/red, /area/shuttle/skipjack) "wM" = ( /obj/machinery/vending/assist{ contraband = null; name = "Old Vending Machine"; - products = list(/obj/item/device/assembly/prox_sensor = 5, /obj/item/device/assembly/signaler = 4, /obj/item/device/assembly/infra = 4, /obj/item/device/assembly/prox_sensor = 4, /obj/item/weapon/handcuffs = 8, /obj/item/device/flash = 4, /obj/item/weapon/cartridge/signal = 4, /obj/item/clothing/glasses/sunglasses = 4) + products = list(/obj/item/assembly/prox_sensor = 5, /obj/item/assembly/signaler = 4, /obj/item/assembly/infra = 4, /obj/item/assembly/prox_sensor = 4, /obj/item/handcuffs = 8, /obj/item/flash = 4, /obj/item/cartridge/signal = 4, /obj/item/clothing/glasses/sunglasses = 4) }, /turf/simulated/shuttle/floor/black, /area/shuttle/trade/centcom) @@ -4562,7 +4562,7 @@ /area/wizard_station) "wO" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/hos, +/obj/item/bedsheet/hos, /obj/structure/sign/poster{ pixel_y = -32 }, @@ -4617,7 +4617,7 @@ "xa" = ( /obj/structure/table/standard, /obj/item/clothing/gloves/yellow, -/obj/item/device/assembly/signaler{ +/obj/item/assembly/signaler{ pixel_y = 2 }, /obj/item/clothing/glasses/night, @@ -4840,7 +4840,7 @@ name = "\improper Raider Base" }) "yg" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -4894,7 +4894,7 @@ }, /area/wizard_station) "yA" = ( -/obj/item/weapon/reagent_containers/food/snacks/spellburger{ +/obj/item/reagent_containers/food/snacks/spellburger{ pixel_y = 8 }, /obj/structure/table/marble, @@ -4926,7 +4926,7 @@ /obj/item/clothing/head/helmet/thunderdome, /obj/item/clothing/suit/armor/tdome/green, /obj/item/clothing/under/color/green, -/obj/item/weapon/holo/esword/green, +/obj/item/holo/esword/green, /obj/effect/floor_decal/corner/green{ dir = 10 }, @@ -4960,7 +4960,7 @@ /obj/item/clothing/suit/wizrobe/marisa, /obj/item/clothing/shoes/sandal/marisa, /obj/item/clothing/head/wizard/marisa, -/obj/item/weapon/staff/broom, +/obj/item/staff/broom, /turf/unsimulated/floor{ dir = 5; icon_state = "vault" @@ -5012,7 +5012,7 @@ /turf/simulated/floor/holofloor/tiled, /area/holodeck/source_basketball) "zn" = ( -/obj/item/device/perfect_tele_beacon/stationary{ +/obj/item/perfect_tele_beacon/stationary{ tele_name = "Unknown"; tele_network = "unkthree" }, @@ -5028,7 +5028,7 @@ pixel_y = 32 }, /obj/structure/table/steel_reinforced, -/obj/item/weapon/gun/energy/laser/practice, +/obj/item/gun/energy/laser/practice, /turf/unsimulated/floor{ dir = 5; icon_state = "vault" @@ -5059,7 +5059,7 @@ /turf/simulated/shuttle/floor/alienplating, /area/unknown/dorm6) "zA" = ( -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, /obj/structure/table/steel_reinforced, /obj/machinery/newscaster{ layer = 3.3; @@ -5071,7 +5071,7 @@ }, /area/wizard_station) "zD" = ( -/obj/item/weapon/bedsheet/hos, +/obj/item/bedsheet/hos, /obj/structure/bed/padded, /turf/simulated/shuttle/floor/red, /area/shuttle/skipjack) @@ -5124,7 +5124,7 @@ /area/shuttle/skipjack) "zM" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox/syndicate{ +/obj/item/storage/toolbox/syndicate{ pixel_x = -1; pixel_y = 3 }, @@ -5138,12 +5138,12 @@ /area/space) "zU" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/shuttle/floor/black, /area/shuttle/trade/centcom) "zV" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, /turf/simulated/shuttle/floor/darkred, /area/shuttle/trade/centcom) "zW" = ( @@ -5200,11 +5200,11 @@ /area/shuttle/trade/centcom) "Ag" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/circular_saw{ +/obj/item/surgical/circular_saw{ pixel_y = 8 }, -/obj/item/weapon/surgical/hemostat, -/obj/item/weapon/surgical/scalpel, +/obj/item/surgical/hemostat, +/obj/item/surgical/scalpel, /obj/item/stack/medical/advanced/bruise_pack, /turf/simulated/shuttle/floor/red, /area/shuttle/skipjack) @@ -5325,26 +5325,26 @@ /obj/structure/table/standard, /obj/item/clothing/gloves/sterile/latex, /obj/item/clothing/mask/surgical, -/obj/item/weapon/surgical/retractor{ +/obj/item/surgical/retractor{ pixel_y = 6 }, -/obj/item/weapon/surgical/scalpel, -/obj/item/weapon/surgical/surgicaldrill, -/obj/item/weapon/surgical/circular_saw, +/obj/item/surgical/scalpel, +/obj/item/surgical/surgicaldrill, +/obj/item/surgical/circular_saw, /obj/item/stack/nanopaste, -/obj/item/weapon/surgical/hemostat{ +/obj/item/surgical/hemostat{ pixel_y = 4 }, -/obj/item/weapon/surgical/cautery{ +/obj/item/surgical/cautery{ pixel_y = 4 }, -/obj/item/weapon/surgical/FixOVein{ +/obj/item/surgical/FixOVein{ pixel_x = -6; pixel_y = 1 }, /obj/item/stack/medical/advanced/bruise_pack, -/obj/item/weapon/surgical/bonesetter, -/obj/item/weapon/surgical/bonegel{ +/obj/item/surgical/bonesetter, +/obj/item/surgical/bonegel{ pixel_x = 4; pixel_y = 3 }, @@ -5374,7 +5374,7 @@ "Bm" = ( /obj/structure/table/standard, /obj/item/clothing/gloves/yellow, -/obj/item/device/assembly/signaler{ +/obj/item/assembly/signaler{ pixel_y = 2 }, /obj/item/clothing/glasses/night, @@ -5430,7 +5430,7 @@ /obj/item/roller, /obj/item/roller, /obj/item/roller, -/obj/item/device/defib_kit/compact/combat/loaded, +/obj/item/defib_kit/compact/combat/loaded, /turf/simulated/shuttle/floor/white, /area/shuttle/mercenary) "BD" = ( @@ -5453,10 +5453,10 @@ /area/holodeck/source_meetinghall) "BL" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/cell/high, -/obj/item/weapon/cell/high, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/potato, +/obj/item/cell/high, +/obj/item/cell/high, +/obj/item/cell/hyper, +/obj/item/cell/potato, /obj/structure/window/reinforced, /turf/simulated/shuttle/floor/black, /area/shuttle/trade/centcom) @@ -5482,7 +5482,7 @@ /obj/machinery/vending/assist{ contraband = null; name = "AntagCorpVend"; - products = list(/obj/item/device/assembly/prox_sensor = 5, /obj/item/device/assembly/signaler = 4, /obj/item/device/assembly/infra = 4, /obj/item/device/assembly/prox_sensor = 4, /obj/item/weapon/handcuffs = 8, /obj/item/device/flash = 4, /obj/item/weapon/cartridge/signal = 4, /obj/item/clothing/glasses/sunglasses = 4) + products = list(/obj/item/assembly/prox_sensor = 5, /obj/item/assembly/signaler = 4, /obj/item/assembly/infra = 4, /obj/item/assembly/prox_sensor = 4, /obj/item/handcuffs = 8, /obj/item/flash = 4, /obj/item/cartridge/signal = 4, /obj/item/clothing/glasses/sunglasses = 4) }, /obj/machinery/light{ dir = 4 @@ -5607,7 +5607,7 @@ name = "\improper Ninja Base" }) "Cu" = ( -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 3 }, @@ -5622,13 +5622,13 @@ /area/unknown/dorm3) "Cx" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/sniperrifle, +/obj/item/gun/energy/sniperrifle, /obj/item/clothing/suit/space/void/mining, /obj/item/clothing/head/helmet/space/void/mining, /obj/item/clothing/head/helmet/space/void/atmos, /obj/item/clothing/suit/space/void/atmos, -/obj/item/weapon/tank/oxygen, -/obj/item/weapon/tank/oxygen, +/obj/item/tank/oxygen, +/obj/item/tank/oxygen, /turf/simulated/shuttle/plating, /area/shuttle/skipjack) "CA" = ( @@ -5658,11 +5658,11 @@ /area/holodeck/source_theatre) "CG" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen, +/obj/item/pen, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -5776,7 +5776,7 @@ /area/shuttle/trade/centcom) "Dh" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/material/knife/ritual, +/obj/item/material/knife/ritual, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -5826,12 +5826,12 @@ }) "Dt" = ( /obj/structure/table/rack, -/obj/item/device/flashlight/maglight, -/obj/item/device/flashlight/maglight, -/obj/item/device/flashlight/maglight, -/obj/item/device/flashlight/maglight, -/obj/item/device/flashlight/maglight, -/obj/item/device/flashlight/maglight, +/obj/item/flashlight/maglight, +/obj/item/flashlight/maglight, +/obj/item/flashlight/maglight, +/obj/item/flashlight/maglight, +/obj/item/flashlight/maglight, +/obj/item/flashlight/maglight, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -5997,7 +5997,7 @@ /area/syndicate_mothership) "Eb" = ( /obj/structure/table/reinforced, -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 3 }, @@ -6045,8 +6045,8 @@ pixel_x = 5; pixel_y = 32 }, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -6210,7 +6210,7 @@ /obj/random/contraband, /obj/random/contraband, /obj/random/contraband, -/obj/item/weapon/bikehorn, +/obj/item/bikehorn, /turf/simulated/shuttle/floor/black, /area/shuttle/trade/centcom) "Fg" = ( @@ -6228,7 +6228,7 @@ /turf/simulated/floor/holofloor/wood, /area/holodeck/source_chess) "Fj" = ( -/obj/item/weapon/bucket_sensor, +/obj/item/bucket_sensor, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -6285,7 +6285,7 @@ /turf/simulated/shuttle/floor/alien, /area/unknown/dorm6) "FM" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; @@ -6294,9 +6294,9 @@ syndie = 1 }, /obj/structure/table/standard, -/obj/item/weapon/surgical/scalpel, -/obj/item/weapon/surgical/bonesetter, -/obj/item/weapon/surgical/bonegel{ +/obj/item/surgical/scalpel, +/obj/item/surgical/bonesetter, +/obj/item/surgical/bonegel{ pixel_x = 4; pixel_y = 3 }, @@ -6350,7 +6350,7 @@ /obj/item/clothing/under/gentlesuit, /obj/item/clothing/suit/wizrobe/gentlecoat, /obj/item/clothing/head/wizard/cap, -/obj/item/weapon/staff/gentcane, +/obj/item/staff/gentcane, /turf/unsimulated/floor{ dir = 5; icon_state = "vault" @@ -6367,7 +6367,7 @@ /turf/simulated/shuttle/floor/black, /area/shuttle/trade/centcom) "FY" = ( -/obj/item/weapon/beach_ball/holoball, +/obj/item/beach_ball/holoball, /obj/effect/floor_decal/corner/red{ dir = 10 }, @@ -6427,7 +6427,7 @@ /area/shuttle/mercenary) "Gs" = ( /obj/structure/table/steel, -/obj/item/weapon/deck/cards, +/obj/item/deck/cards, /turf/simulated/shuttle/floor/red, /area/shuttle/skipjack) "Gu" = ( @@ -6483,24 +6483,24 @@ }) "GJ" = ( /obj/machinery/smartfridge/survival_pod, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/towel/random, +/obj/item/towel/random, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm2) "GK" = ( @@ -6597,7 +6597,7 @@ /turf/simulated/shuttle/plating, /area/shuttle/trade/centcom) "GW" = ( -/obj/item/weapon/beach_ball, +/obj/item/beach_ball, /turf/simulated/floor/holofloor/beach/sand, /area/holodeck/source_beach) "GX" = ( @@ -6606,7 +6606,7 @@ layer = 4; pixel_y = 32 }, -/obj/item/weapon/ore/slag{ +/obj/item/ore/slag{ desc = "Well at least Arthur doesn't have to share now..."; name = "pet rock" }, @@ -6657,7 +6657,7 @@ /area/holodeck/holodorm/source_seating) "Hj" = ( /obj/structure/table/rack, -/obj/item/weapon/rig/industrial, +/obj/item/rig/industrial, /turf/simulated/shuttle/floor/red, /area/shuttle/skipjack) "Hk" = ( @@ -6815,9 +6815,9 @@ /obj/item/ammo_magazine/m10mm, /obj/item/ammo_magazine/m10mm, /obj/item/ammo_magazine/m10mm, -/obj/item/weapon/gun/projectile/automatic/c20r, -/obj/item/weapon/gun/projectile/automatic/c20r, -/obj/item/weapon/gun/projectile/automatic/c20r, +/obj/item/gun/projectile/automatic/c20r, +/obj/item/gun/projectile/automatic/c20r, +/obj/item/gun/projectile/automatic/c20r, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -6849,7 +6849,7 @@ /turf/simulated/floor/holofloor/grass, /area/holodeck/source_picnicarea) "HU" = ( -/obj/item/weapon/tank/nitrogen, +/obj/item/tank/nitrogen, /turf/unsimulated/floor{ icon_state = "asteroid" }, @@ -6878,10 +6878,10 @@ /area/holodeck/source_courtroom) "Id" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/belt/security, -/obj/item/weapon/storage/belt/security, +/obj/item/storage/belt/security, +/obj/item/storage/belt/security, /obj/item/ammo_magazine/m9mm/flash, -/obj/item/weapon/gun/projectile/pistol/flash, +/obj/item/gun/projectile/pistol/flash, /turf/simulated/shuttle/floor/darkred, /area/shuttle/mercenary) "Ij" = ( @@ -6903,7 +6903,7 @@ /area/space) "Im" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 2; pixel_y = 3 }, @@ -7073,7 +7073,7 @@ /area/holodeck/source_picnicarea) "Jk" = ( /obj/machinery/portable_atmospherics/canister/nitrogen, -/obj/item/weapon/tank/nitrogen, +/obj/item/tank/nitrogen, /turf/unsimulated/floor{ icon_state = "asteroid" }, @@ -7088,7 +7088,7 @@ /area/holodeck/source_basketball) "Jm" = ( /obj/structure/table/standard, -/obj/item/weapon/soap/deluxe, +/obj/item/soap/deluxe, /turf/unsimulated/floor{ icon_state = "white" }, @@ -7145,7 +7145,7 @@ /turf/simulated/shuttle/floor/darkred, /area/shuttle/mercenary) "JA" = ( -/obj/item/weapon/reagent_containers/food/snacks/cheesewedge, +/obj/item/reagent_containers/food/snacks/cheesewedge, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -7169,7 +7169,7 @@ }) "JJ" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/rig/internalaffairs, +/obj/item/rig/internalaffairs, /obj/item/clothing/head/helmet/space/void/wizard, /obj/item/clothing/suit/space/void/wizard, /turf/simulated/shuttle/floor/black, @@ -7226,7 +7226,7 @@ /turf/simulated/shuttle/floor/black, /area/shuttle/trade/centcom) "JX" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; frequency = 1213; name = "Subversive Intercom"; @@ -7272,7 +7272,7 @@ /obj/item/stack/material/glass{ amount = 15 }, -/obj/item/weapon/cell{ +/obj/item/cell{ charge = 100; maxcharge = 15000 }, @@ -7280,11 +7280,11 @@ /area/shuttle/mercenary) "Km" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 8 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /turf/simulated/shuttle/floor/darkred, @@ -7337,9 +7337,9 @@ /area/wizard_station) "KC" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/device/defib_kit/compact/combat/loaded, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/defib_kit/compact/combat/loaded, /turf/simulated/shuttle/floor/red, /area/shuttle/skipjack) "KD" = ( @@ -7408,7 +7408,7 @@ /area/shuttle/syndicate_elite/mothership) "KS" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet/red, +/obj/item/bedsheet/red, /turf/simulated/floor/wood, /area/syndicate_mothership) "KU" = ( @@ -7457,11 +7457,11 @@ /turf/simulated/shuttle/floor/darkred, /area/shuttle/trade/centcom) "Lj" = ( -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /obj/structure/table/glass, @@ -7519,7 +7519,7 @@ /area/shuttle/skipjack) "LD" = ( /obj/structure/table/rack, -/obj/item/weapon/rig/light/hacker, +/obj/item/rig/light/hacker, /turf/simulated/shuttle/floor/red, /area/shuttle/skipjack) "LG" = ( @@ -7551,8 +7551,8 @@ /area/holodeck/source_chess) "LO" = ( /obj/structure/table/woodentable, -/obj/item/device/radio/headset, -/obj/item/weapon/spacecash/c500, +/obj/item/radio/headset, +/obj/item/spacecash/c500, /turf/unsimulated/floor{ dir = 8; icon_state = "wood" @@ -7596,7 +7596,7 @@ /area/holodeck/source_meetinghall) "Ma" = ( /obj/machinery/portable_atmospherics/canister/nitrogen, -/obj/item/weapon/tank/nitrogen, +/obj/item/tank/nitrogen, /turf/simulated/shuttle/plating, /area/shuttle/skipjack) "Mb" = ( @@ -7633,7 +7633,7 @@ }, /area/syndicate_mothership) "Mg" = ( -/obj/item/weapon/farmbot_arm_assembly, +/obj/item/farmbot_arm_assembly, /turf/unsimulated/floor{ dir = 5; icon_state = "vault" @@ -7649,12 +7649,12 @@ /area/shuttle/skipjack) "Ml" = ( /obj/structure/table/rack, -/obj/item/device/binoculars, -/obj/item/device/binoculars, -/obj/item/device/binoculars, -/obj/item/device/binoculars, -/obj/item/device/binoculars, -/obj/item/device/binoculars, +/obj/item/binoculars, +/obj/item/binoculars, +/obj/item/binoculars, +/obj/item/binoculars, +/obj/item/binoculars, +/obj/item/binoculars, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -7692,8 +7692,8 @@ /area/shuttle/mercenary) "Mu" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/fancy/cigarettes, -/obj/item/weapon/flame/lighter/zippo, +/obj/item/storage/fancy/cigarettes, +/obj/item/flame/lighter/zippo, /obj/item/clothing/gloves/yellow, /obj/item/stack/material/steel{ amount = 50 @@ -7701,7 +7701,7 @@ /obj/item/stack/material/glass{ amount = 50 }, -/obj/item/weapon/card/emag, +/obj/item/card/emag, /turf/simulated/shuttle/plating, /area/shuttle/skipjack) "Mx" = ( @@ -7736,7 +7736,7 @@ /area/shuttle/mercenary) "MA" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green{ +/obj/item/flashlight/lamp/green{ on = 0; pixel_x = -3; pixel_y = 8 @@ -7785,7 +7785,7 @@ /obj/machinery/vending/cigarette{ name = "hacked cigarette machine"; prices = list(); - products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) + products = list(/obj/item/storage/fancy/cigarettes = 10, /obj/item/storage/box/matches = 10, /obj/item/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) }, /turf/simulated/shuttle/floor/black, /area/shuttle/trade/centcom) @@ -7963,7 +7963,7 @@ }, /area/wizard_station) "NJ" = ( -/obj/item/weapon/tray{ +/obj/item/tray{ pixel_y = 5 }, /obj/structure/table/standard, @@ -8165,9 +8165,9 @@ /area/shuttle/skipjack) "OI" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, -/obj/item/device/radio/intercom{ +/obj/item/paper_bin, +/obj/item/pen, +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; frequency = 1213; name = "Subversive Intercom"; @@ -8218,7 +8218,7 @@ /turf/simulated/shuttle/plating, /area/shuttle/skipjack) "OU" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; @@ -8226,7 +8226,7 @@ subspace_transmission = 1; syndie = 1 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; @@ -8301,24 +8301,24 @@ /area/shuttle/trade/centcom) "Pe" = ( /obj/machinery/smartfridge/survival_pod, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/towel/random, +/obj/item/towel/random, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm3) "Pg" = ( @@ -8379,7 +8379,7 @@ /area/syndicate_mothership) "Px" = ( /obj/structure/closet/wardrobe/captain, -/obj/item/weapon/gun/projectile/revolver/mateba, +/obj/item/gun/projectile/revolver/mateba, /turf/simulated/shuttle/floor/black, /area/shuttle/trade/centcom) "Pz" = ( @@ -8394,7 +8394,7 @@ /area/unknown/dorm2) "PB" = ( /obj/structure/table/standard, -/obj/item/weapon/tool/screwdriver, +/obj/item/tool/screwdriver, /obj/effect/spawner/newbomb/timer/syndicate, /turf/simulated/shuttle/floor/darkred, /area/shuttle/mercenary) @@ -8419,7 +8419,7 @@ /area/unknown/dorm3) "PK" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/glasses/square, +/obj/item/storage/box/glasses/square, /turf/simulated/shuttle/floor/darkred, /area/shuttle/trade/centcom) "PM" = ( @@ -8502,7 +8502,7 @@ /turf/space/transit/north, /area/space) "Qg" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; frequency = 1213; name = "Subversive Intercom"; @@ -8558,9 +8558,9 @@ /obj/structure/closet{ name = "custodial" }, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/mop, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/glass/bucket, +/obj/item/mop, /turf/simulated/shuttle/floor/black, /area/shuttle/trade/centcom) "QA" = ( @@ -8576,8 +8576,8 @@ /area/shuttle/trade/centcom) "QF" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/book/manual/engineering_hacking, -/obj/item/device/radio/intercom{ +/obj/item/book/manual/wiki/engineering_hacking, +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; frequency = 1213; name = "Subversive Intercom"; @@ -8613,7 +8613,7 @@ /turf/simulated/shuttle/floor/black, /area/shuttle/trade/centcom) "QJ" = ( -/obj/item/device/perfect_tele_beacon/stationary{ +/obj/item/perfect_tele_beacon/stationary{ tele_name = "Unknown"; tele_network = "unkfive" }, @@ -8658,7 +8658,7 @@ "QT" = ( /obj/structure/table/standard, /obj/item/clothing/gloves/yellow, -/obj/item/device/assembly/prox_sensor{ +/obj/item/assembly/prox_sensor{ pixel_x = -8; pixel_y = 4 }, @@ -8715,8 +8715,8 @@ /area/syndicate_mothership) "Rp" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/device/multitool, +/obj/item/storage/belt/utility/full, +/obj/item/multitool, /turf/simulated/shuttle/floor/darkred, /area/shuttle/mercenary) "Rr" = ( @@ -8766,7 +8766,7 @@ }, /area/wizard_station) "Ry" = ( -/obj/item/weapon/bedsheet/rddouble, +/obj/item/bedsheet/rddouble, /obj/structure/bed/double/padded, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm1) @@ -8895,7 +8895,7 @@ /turf/simulated/floor/holofloor/wood, /area/holodeck/source_meetinghall) "Sc" = ( -/obj/item/device/radio/electropack, +/obj/item/radio/electropack, /turf/simulated/shuttle/floor/black, /area/shuttle/mercenary) "Sj" = ( @@ -8918,7 +8918,7 @@ }, /area/syndicate_mothership) "So" = ( -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /obj/structure/bed/padded, /turf/unsimulated/floor{ icon_state = "dark" @@ -8937,13 +8937,13 @@ /area/holodeck/holodorm/source_beach) "Sz" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet/rd, +/obj/item/bedsheet/rd, /turf/unsimulated/floor{ icon_state = "lino" }, /area/wizard_station) "SB" = ( -/obj/item/weapon/bedsheet/rddouble, +/obj/item/bedsheet/rddouble, /obj/structure/bed/double/padded, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm3) @@ -8957,7 +8957,7 @@ }, /obj/item/clothing/suit/wizrobe/magusred, /obj/item/clothing/head/wizard/magus, -/obj/item/weapon/staff, +/obj/item/staff, /turf/unsimulated/floor{ dir = 5; icon_state = "vault" @@ -9049,18 +9049,18 @@ /area/space) "SW" = ( /obj/structure/table/rack, -/obj/item/weapon/pinpointer/nukeop, -/obj/item/weapon/pinpointer/nukeop, -/obj/item/weapon/pinpointer/nukeop, -/obj/item/weapon/pinpointer/nukeop, -/obj/item/weapon/pinpointer/nukeop, -/obj/item/weapon/pinpointer/nukeop, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, +/obj/item/pinpointer/nukeop, +/obj/item/pinpointer/nukeop, +/obj/item/pinpointer/nukeop, +/obj/item/pinpointer/nukeop, +/obj/item/pinpointer/nukeop, +/obj/item/pinpointer/nukeop, +/obj/item/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, +/obj/item/shield/energy, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -9078,7 +9078,7 @@ /obj/item/clothing/suit/wizrobe/red, /obj/item/clothing/shoes/sandal, /obj/item/clothing/head/wizard/red, -/obj/item/weapon/staff, +/obj/item/staff, /turf/unsimulated/floor{ dir = 5; icon_state = "vault" @@ -9100,7 +9100,7 @@ /turf/simulated/floor/holofloor/tiled, /area/holodeck/source_boxingcourt) "Tm" = ( -/obj/item/weapon/paper{ +/obj/item/paper{ info = "Some stuff is missing..."; name = "Insert alien artifacts here." }, @@ -9121,7 +9121,7 @@ /area/holodeck/source_snowfield) "Tq" = ( /obj/structure/table/standard, -/obj/item/weapon/folder, +/obj/item/folder, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -9131,11 +9131,11 @@ /area/unknown/dorm1) "Tt" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/cautery, -/obj/item/weapon/surgical/retractor, -/obj/item/weapon/reagent_containers/glass/bottle/stoxin, -/obj/item/weapon/reagent_containers/glass/bottle/stoxin, -/obj/item/weapon/reagent_containers/syringe, +/obj/item/surgical/cautery, +/obj/item/surgical/retractor, +/obj/item/reagent_containers/glass/bottle/stoxin, +/obj/item/reagent_containers/glass/bottle/stoxin, +/obj/item/reagent_containers/syringe, /turf/simulated/shuttle/floor/red, /area/shuttle/skipjack) "Tu" = ( @@ -9244,7 +9244,7 @@ /turf/simulated/floor/holofloor/space, /area/holodeck/source_space) "TW" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/unsimulated/floor{ icon_state = "steel" }, @@ -9280,7 +9280,7 @@ /turf/simulated/shuttle/floor/darkred, /area/shuttle/mercenary) "Uf" = ( -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /obj/structure/bed/padded, /turf/simulated/shuttle/floor/red, /area/shuttle/skipjack) @@ -9301,7 +9301,7 @@ /area/wizard_station) "Un" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/arrow/quill, +/obj/item/arrow/quill, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -9366,7 +9366,7 @@ /obj/machinery/shower{ pixel_y = 32 }, -/obj/item/weapon/soap/syndie, +/obj/item/soap/syndie, /turf/unsimulated/floor{ icon_state = "freezerfloor" }, @@ -9380,7 +9380,7 @@ /area/syndicate_mothership) "UR" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/glasses/square{ +/obj/item/storage/box/glasses/square{ pixel_x = 1; pixel_y = 4 }, @@ -9467,7 +9467,7 @@ /area/wizard_station) "Vq" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/snacks/chips, +/obj/item/reagent_containers/food/snacks/chips, /turf/unsimulated/beach/sand, /area/beach) "Vr" = ( @@ -9496,9 +9496,9 @@ /area/shuttle/trade/centcom) "VD" = ( /obj/structure/table/rack, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, +/obj/item/suit_cooling_unit, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -9579,11 +9579,11 @@ "VW" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/warning, -/obj/item/device/kit/paint/gygax/darkgygax, -/obj/item/device/kit/paint/gygax/recitence, -/obj/item/device/kit/paint/durand, -/obj/item/device/kit/paint/durand/phazon, -/obj/item/device/kit/paint/durand/seraph, +/obj/item/kit/paint/gygax/darkgygax, +/obj/item/kit/paint/gygax/recitence, +/obj/item/kit/paint/durand, +/obj/item/kit/paint/durand/phazon, +/obj/item/kit/paint/durand/seraph, /turf/simulated/shuttle/floor/black, /area/shuttle/trade/centcom) "VY" = ( @@ -9736,7 +9736,7 @@ name = "\improper Ninja Base" }) "WY" = ( -/obj/item/weapon/bedsheet/rd, +/obj/item/bedsheet/rd, /obj/structure/bed/padded, /turf/simulated/shuttle/floor/red, /area/shuttle/skipjack) @@ -9799,7 +9799,7 @@ /area/shuttle/mercenary) "Xo" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/donkpockets{ +/obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 3 }, @@ -9815,12 +9815,12 @@ /area/unknown/dorm3) "Xs" = ( /obj/structure/table/rack, -/obj/item/weapon/tank/jetpack/carbondioxide, -/obj/item/weapon/tank/jetpack/carbondioxide, -/obj/item/weapon/tank/jetpack/carbondioxide, -/obj/item/weapon/tank/jetpack/carbondioxide, -/obj/item/weapon/tank/jetpack/carbondioxide, -/obj/item/weapon/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -9847,7 +9847,7 @@ }, /area/wizard_station) "XA" = ( -/obj/item/weapon/bedsheet/orange, +/obj/item/bedsheet/orange, /obj/effect/decal/cleanable/cobweb2{ icon_state = "cobweb1" }, @@ -9868,15 +9868,15 @@ }) "XI" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/stock_parts/matter_bin/super, +/obj/item/stock_parts/matter_bin/super, /turf/unsimulated/floor{ dir = 5; icon_state = "vault" }, /area/wizard_station) "XK" = ( -/obj/item/weapon/tool/wrench, -/obj/item/weapon/mop, +/obj/item/tool/wrench, +/obj/item/mop, /turf/simulated/shuttle/plating, /area/shuttle/skipjack) "XL" = ( @@ -9982,16 +9982,16 @@ /area/syndicate_mothership) "Ys" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, +/obj/item/gun/energy/gun, +/obj/item/gun/energy/gun, +/obj/item/gun/energy/gun, /obj/machinery/recharger/wallcharger{ pixel_x = 5; pixel_y = -32 }, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -10034,24 +10034,24 @@ /area/space) "YG" = ( /obj/machinery/smartfridge/survival_pod, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu11, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu13, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu10, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/menu9, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/storage/mre/random, +/obj/item/towel/random, +/obj/item/towel/random, /turf/simulated/shuttle/floor/alien, /area/unknown/dorm6) "YK" = ( @@ -10125,21 +10125,21 @@ /obj/structure/window/reinforced{ dir = 8 }, -/obj/item/weapon/storage/firstaid/toxin{ +/obj/item/storage/firstaid/toxin{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ pixel_x = 1 }, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/fire{ pixel_x = 1 }, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ pixel_x = 3; pixel_y = 3 }, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /turf/simulated/shuttle/floor/white, /area/shuttle/mercenary) "Zd" = ( @@ -10150,11 +10150,11 @@ /area/unknown/dorm1) "Ze" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 8 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /turf/simulated/shuttle/floor/black, @@ -10218,7 +10218,7 @@ /turf/simulated/shuttle/floor/alien, /area/unknown/dorm3) "Zt" = ( -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; @@ -10292,10 +10292,10 @@ /obj/effect/floor_decal/industrial/warning{ dir = 1 }, -/obj/item/device/kit/paint/ripley/death, -/obj/item/device/kit/paint/ripley/flames_blue, -/obj/item/device/kit/paint/ripley/flames_red, -/obj/item/device/kit/paint/ripley, +/obj/item/kit/paint/ripley/death, +/obj/item/kit/paint/ripley/flames_blue, +/obj/item/kit/paint/ripley/flames_red, +/obj/item/kit/paint/ripley, /turf/simulated/shuttle/floor/black, /area/shuttle/trade/centcom) "ZL" = ( diff --git a/maps/yw/cryogaia-09-wilderness.dmm b/maps/yw/cryogaia-09-wilderness.dmm index 66c3f297bff..60061c07b9b 100644 --- a/maps/yw/cryogaia-09-wilderness.dmm +++ b/maps/yw/cryogaia-09-wilderness.dmm @@ -1,6 +1,6 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "bn" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/tiled/old_tile/gray, /area/borealis2/outdoors/exterior/explore1/interior) "bL" = ( @@ -76,7 +76,7 @@ "hY" = ( /obj/effect/decal/cleanable/blood/drip, /obj/effect/floor_decal/rust, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 8; pixel_x = 30 }, @@ -262,7 +262,7 @@ /area/borealis2/outdoors/exterior/explore1/interior) "ue" = ( /obj/effect/floor_decal/rust, -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 8; pixel_x = 30 }, @@ -289,7 +289,7 @@ /turf/simulated/floor/tiled, /area/borealis2/outdoors/exterior/traderpad/interior) "vC" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /obj/effect/overlay/snow/floor/pointy{ dir = 1 }, @@ -461,7 +461,7 @@ /turf/simulated/wall, /area/borealis2/outdoors/exterior/explore1/interior) "KT" = ( -/obj/item/device/geiger/wall{ +/obj/item/geiger/wall{ dir = 8; pixel_x = 30 }, @@ -528,7 +528,7 @@ /turf/simulated/floor/outdoors/snow/snow/cryogaia, /area/borealis2/outdoors/exterior) "RK" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /obj/effect/overlay/snow/floor/pointy, /turf/simulated/floor/tiled/old_tile/gray, /area/borealis2/outdoors/exterior/explore1/interior) diff --git a/maps/yw/cryogaia.dm b/maps/yw/cryogaia.dm index 6d11480cfd0..530cfe445c8 100644 --- a/maps/yw/cryogaia.dm +++ b/maps/yw/cryogaia.dm @@ -18,7 +18,7 @@ #include "../offmap_vr/common_offmaps.dm" #include "yw_vrstuff/_vrmaps.dm" - #if !AWAY_MISSION_TEST //Don't include these for just testing away missions + #ifndef AWAY_MISSION_TEST //Don't include these for just testing away missions #include "cryogaia-01-centcomm.dmm" //centcom #include "cryogaia-02-mining.dmm" //mining #include "cryogaia-03-transit.dmm" //transit level diff --git a/maps/yw/cryogaia_areas.dm b/maps/yw/cryogaia_areas.dm index 6b2fd08f849..070c6f976d6 100644 --- a/maps/yw/cryogaia_areas.dm +++ b/maps/yw/cryogaia_areas.dm @@ -1,73 +1,33 @@ //Overrides /area/crew_quarters/sleep/Dorm_1 - flags = RAD_SHIELDED | BLUE_SHIELDED | TEMPERATURE_SHIELDED | PHASE_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | BLUE_SHIELDED | TEMPERATURE_SHIELDED | PHASE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/Dorm_2 - flags = RAD_SHIELDED | BLUE_SHIELDED | TEMPERATURE_SHIELDED | PHASE_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | BLUE_SHIELDED | TEMPERATURE_SHIELDED | PHASE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/Dorm_3 - flags = RAD_SHIELDED | BLUE_SHIELDED | TEMPERATURE_SHIELDED | PHASE_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | BLUE_SHIELDED | TEMPERATURE_SHIELDED | PHASE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/Dorm_4 - flags = RAD_SHIELDED | BLUE_SHIELDED | TEMPERATURE_SHIELDED | PHASE_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | BLUE_SHIELDED | TEMPERATURE_SHIELDED | PHASE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/Dorm_5 - flags = RAD_SHIELDED | BLUE_SHIELDED | TEMPERATURE_SHIELDED | PHASE_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | BLUE_SHIELDED | TEMPERATURE_SHIELDED | PHASE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/Dorm_6 - flags = RAD_SHIELDED | BLUE_SHIELDED | TEMPERATURE_SHIELDED | PHASE_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | BLUE_SHIELDED | TEMPERATURE_SHIELDED | PHASE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/Dorm_7 - flags = RAD_SHIELDED | BLUE_SHIELDED | TEMPERATURE_SHIELDED | PHASE_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | BLUE_SHIELDED | TEMPERATURE_SHIELDED | PHASE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/Dorm_8 - flags = RAD_SHIELDED | BLUE_SHIELDED | TEMPERATURE_SHIELDED | PHASE_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | BLUE_SHIELDED | TEMPERATURE_SHIELDED | PHASE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/Dorm_9 - flags = RAD_SHIELDED | BLUE_SHIELDED | TEMPERATURE_SHIELDED | PHASE_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | BLUE_SHIELDED | TEMPERATURE_SHIELDED | PHASE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/Dorm_10 - flags = RAD_SHIELDED | BLUE_SHIELDED | TEMPERATURE_SHIELDED | PHASE_SHIELDED - soundproofed = TRUE - limit_mob_size = FALSE - block_suit_sensors = TRUE - block_tracking = TRUE + flags = RAD_SHIELDED | BLUE_SHIELDED | TEMPERATURE_SHIELDED | PHASE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING //Outdoors Area @@ -168,7 +128,7 @@ /area/cryogaia/outpost/tower name = "Perimeter Tower" sound_env = SMALL_ENCLOSED - forbid_events = TRUE + flags = AREA_FORBID_EVENTS /area/cryogaia/outpost/tower/north name = "Perimeter Tower - N" @@ -245,54 +205,42 @@ /area/crew_quarters/sleep/maintDorm1 name = "\improper Construction Dorm 1" icon_state = "Sleep" - flags = RAD_SHIELDED - block_suit_sensors = FALSE + flags = RAD_SHIELDED | AREA_BLOCK_SUIT_SENSORS /area/crew_quarters/sleep/maintDorm2 name = "\improper Construction Dorm 2" icon_state = "Sleep" - flags = RAD_SHIELDED - block_suit_sensors = FALSE + flags = RAD_SHIELDED | AREA_BLOCK_SUIT_SENSORS /area/crew_quarters/sleep/maintDorm3 name = "\improper Construction Dorm 3" icon_state = "Sleep" - flags = RAD_SHIELDED - block_suit_sensors = FALSE + flags = RAD_SHIELDED | AREA_BLOCK_SUIT_SENSORS /area/crew_quarters/sleep/maintDorm4 name = "\improper Construction Dorm 4" icon_state = "Sleep" - flags = RAD_SHIELDED - block_suit_sensors = FALSE + flags = RAD_SHIELDED | AREA_BLOCK_SUIT_SENSORS /area/crew_quarters/sleep/Dorm_1/holo name = "\improper Dorm 1 Holodeck" icon_state = "dk_yellow" - flags = RAD_SHIELDED | BLUE_SHIELDED | TEMPERATURE_SHIELDED | PHASE_SHIELDED - limit_mob_size = FALSE - block_suit_sensors = FALSE + flags = RAD_SHIELDED | BLUE_SHIELDED | TEMPERATURE_SHIELDED | PHASE_SHIELDED | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS /area/crew_quarters/sleep/Dorm_3/holo name = "\improper Dorm 3 Holodeck" icon_state = "dk_yellow" - flags = RAD_SHIELDED | BLUE_SHIELDED | TEMPERATURE_SHIELDED | PHASE_SHIELDED - limit_mob_size = FALSE - block_suit_sensors = FALSE + flags = RAD_SHIELDED | BLUE_SHIELDED | TEMPERATURE_SHIELDED | PHASE_SHIELDED | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS /area/crew_quarters/sleep/Dorm_5/holo name = "\improper Dorm 5 Holodeck" icon_state = "dk_yellow" - flags = RAD_SHIELDED | BLUE_SHIELDED | TEMPERATURE_SHIELDED | PHASE_SHIELDED - limit_mob_size = FALSE - block_suit_sensors = FALSE + flags = RAD_SHIELDED | BLUE_SHIELDED | TEMPERATURE_SHIELDED | PHASE_SHIELDED | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS /area/crew_quarters/sleep/Dorm_7/holo name = "\improper Dorm 7 Holodeck" icon_state = "dk_yellow" - flags = RAD_SHIELDED | BLUE_SHIELDED | TEMPERATURE_SHIELDED | PHASE_SHIELDED - limit_mob_size = FALSE - block_suit_sensors = FALSE + flags = RAD_SHIELDED | BLUE_SHIELDED | TEMPERATURE_SHIELDED | PHASE_SHIELDED | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS // /area/chapel/monastery @@ -320,40 +268,31 @@ //holodorms /area/holodeck/holodorm/source_basic name = "\improper Holodeck Source" - flags = RAD_SHIELDED | BLUE_SHIELDED - limit_mob_size = FALSE + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_ALLOW_LARGE_SIZE /area/holodeck/holodorm/source_desert name = "\improper Holodeck Source" - flags = RAD_SHIELDED | BLUE_SHIELDED - limit_mob_size = FALSE + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_ALLOW_LARGE_SIZE /area/holodeck/holodorm/source_seating name = "\improper Holodeck Source" - flags = RAD_SHIELDED | BLUE_SHIELDED - limit_mob_size = FALSE + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_ALLOW_LARGE_SIZE /area/holodeck/holodorm/source_beach name = "\improper Holodeck Source" - flags = RAD_SHIELDED | BLUE_SHIELDED - limit_mob_size = FALSE + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_ALLOW_LARGE_SIZE /area/holodeck/holodorm/source_garden name = "\improper Holodeck Source" - flags = RAD_SHIELDED | BLUE_SHIELDED - limit_mob_size = FALSE + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_ALLOW_LARGE_SIZE /area/holodeck/holodorm/source_boxing name = "\improper Holodeck Source" - flags = RAD_SHIELDED | BLUE_SHIELDED - limit_mob_size = FALSE + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_ALLOW_LARGE_SIZE /area/holodeck/holodorm/source_snow name = "\improper Holodeck Source" - flags = RAD_SHIELDED | BLUE_SHIELDED - limit_mob_size = FALSE + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_ALLOW_LARGE_SIZE /area/holodeck/holodorm/source_space name = "\improper Holodeck Source" - flags = RAD_SHIELDED | BLUE_SHIELDED - limit_mob_size = FALSE + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_ALLOW_LARGE_SIZE /area/holodeck/holodorm/source_off name = "\improper Holodeck Source" - flags = RAD_SHIELDED | BLUE_SHIELDED - limit_mob_size = FALSE + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_ALLOW_LARGE_SIZE // Mining Underdark < does this name really apply anymoore? diff --git a/maps/yw/cryogaia_defines.dm b/maps/yw/cryogaia_defines.dm index ceb92ba6998..85a223fb758 100644 --- a/maps/yw/cryogaia_defines.dm +++ b/maps/yw/cryogaia_defines.dm @@ -449,5 +449,5 @@ /datum/map_template/common_lateload/away_aerostat name = "Remmi Aerostat - Z1 Aerostat" desc = "The Virgo 2 Aerostat away mission." - mappath = 'maps/expedition_vr/aerostat/aerostat.dmm' + mappath = "maps/expedition_vr/aerostat/aerostat.dmm" associated_map_datum = /datum/map_z_level/common_lateload/away_aerostat diff --git a/maps/yw/cryogaia_jobs.dm b/maps/yw/cryogaia_jobs.dm index f5c3d5d0ed4..afbb75611e8 100644 --- a/maps/yw/cryogaia_jobs.dm +++ b/maps/yw/cryogaia_jobs.dm @@ -1,33 +1,33 @@ -/obj/item/weapon/card/id/medical/sar +/obj/item/card/id/medical/sar assignment = "Field Medic" rank = "Field Medic" icon_state = "cyan" primary_color = rgb(47,189,189) secondary_color = rgb(127,223,223) -/obj/item/weapon/card/id/explorer +/obj/item/card/id/explorer name = "identification card" desc = "A card issued to station exploration staff." icon_state = "cyan" primary_color = rgb(47,189,189) secondary_color = rgb(127,223,223) -/obj/item/weapon/card/id/explorer/pilot +/obj/item/card/id/explorer/pilot assignment = "Pilot" rank = "Pilot" -/obj/item/weapon/card/id/explorer/explorer +/obj/item/card/id/explorer/explorer assignment = "Explorer" rank = "Explorer" -/obj/item/weapon/card/id/explorer/head +/obj/item/card/id/explorer/head name = "identification card" desc = "A card which represents discovery of the unknown." icon_state = "cyanGold" primary_color = rgb(47,189,189) secondary_color = rgb(127,223,223) -/obj/item/weapon/card/id/explorer/head/pathfinder +/obj/item/card/id/explorer/head/pathfinder assignment = "Pathfinder" rank = "Pathfinder" @@ -302,28 +302,28 @@ /decl/hierarchy/outfit/job/talon_captain name = OUTFIT_JOB_NAME("Talon Captain") - id_type = /obj/item/weapon/card/id/talon/captain + id_type = /obj/item/card/id/talon/captain id_slot = slot_wear_id pda_type = null - l_ear = /obj/item/device/radio/headset/talon + l_ear = /obj/item/radio/headset/talon glasses = /obj/item/clothing/glasses/sunglasses uniform = /obj/item/clothing/under/rank/captain shoes = /obj/item/clothing/shoes/brown - backpack = /obj/item/weapon/storage/backpack/captain - satchel_one = /obj/item/weapon/storage/backpack/satchel/cap - messenger_bag = /obj/item/weapon/storage/backpack/messenger/com + backpack = /obj/item/storage/backpack/captain + satchel_one = /obj/item/storage/backpack/satchel/cap + messenger_bag = /obj/item/storage/backpack/messenger/com /decl/hierarchy/outfit/job/talon_pilot name = OUTFIT_JOB_NAME("Talon Pilot") id_pda_assignment = "Pilot" - id_type = /obj/item/weapon/card/id/talon/pilot + id_type = /obj/item/card/id/talon/pilot id_slot = slot_wear_id pda_type = null flags = OUTFIT_HAS_BACKPACK|OUTFIT_COMPREHENSIVE_SURVIVAL - l_ear = /obj/item/device/radio/headset/talon + l_ear = /obj/item/radio/headset/talon shoes = /obj/item/clothing/shoes/black uniform = /obj/item/clothing/under/rank/pilot1/no_webbing suit = /obj/item/clothing/suit/storage/toggle/bomber/pilot @@ -335,71 +335,71 @@ name = OUTFIT_JOB_NAME("Talon Doctor") hierarchy_type = /decl/hierarchy/outfit/job - id_type = /obj/item/weapon/card/id/talon/doctor + id_type = /obj/item/card/id/talon/doctor id_slot = slot_wear_id pda_type = null - l_ear = /obj/item/device/radio/headset/talon + l_ear = /obj/item/radio/headset/talon shoes = /obj/item/clothing/shoes/white - backpack = /obj/item/weapon/storage/backpack/medic - satchel_one = /obj/item/weapon/storage/backpack/satchel/med - messenger_bag = /obj/item/weapon/storage/backpack/messenger/med + backpack = /obj/item/storage/backpack/medic + satchel_one = /obj/item/storage/backpack/satchel/med + messenger_bag = /obj/item/storage/backpack/messenger/med uniform = /obj/item/clothing/under/rank/medical suit = /obj/item/clothing/suit/storage/toggle/labcoat - l_hand = /obj/item/weapon/storage/firstaid/regular - r_pocket = /obj/item/device/flashlight/pen + l_hand = /obj/item/storage/firstaid/regular + r_pocket = /obj/item/flashlight/pen /decl/hierarchy/outfit/job/talon_security name = OUTFIT_JOB_NAME("Talon Security") hierarchy_type = /decl/hierarchy/outfit/job - id_type = /obj/item/weapon/card/id/talon/officer + id_type = /obj/item/card/id/talon/officer id_slot = slot_wear_id pda_type = null - backpack_contents = list(/obj/item/weapon/handcuffs = 1) + backpack_contents = list(/obj/item/handcuffs = 1) - l_ear = /obj/item/device/radio/headset/talon + l_ear = /obj/item/radio/headset/talon gloves = /obj/item/clothing/gloves/black shoes = /obj/item/clothing/shoes/boots/jackboots - backpack = /obj/item/weapon/storage/backpack/security - satchel_one = /obj/item/weapon/storage/backpack/satchel/sec - messenger_bag = /obj/item/weapon/storage/backpack/messenger/sec + backpack = /obj/item/storage/backpack/security + satchel_one = /obj/item/storage/backpack/satchel/sec + messenger_bag = /obj/item/storage/backpack/messenger/sec uniform = /obj/item/clothing/under/rank/security - l_pocket = /obj/item/device/flash + l_pocket = /obj/item/flash /decl/hierarchy/outfit/job/talon_engineer name = OUTFIT_JOB_NAME("Talon Engineer") hierarchy_type = /decl/hierarchy/outfit/job - id_type = /obj/item/weapon/card/id/talon/engineer + id_type = /obj/item/card/id/talon/engineer id_slot = slot_wear_id pda_type = null flags = OUTFIT_HAS_BACKPACK|OUTFIT_EXTENDED_SURVIVAL - l_ear = /obj/item/device/radio/headset/talon - belt = /obj/item/weapon/storage/belt/utility/full + l_ear = /obj/item/radio/headset/talon + belt = /obj/item/storage/belt/utility/full shoes = /obj/item/clothing/shoes/boots/workboots - r_pocket = /obj/item/device/t_scanner - backpack = /obj/item/weapon/storage/backpack/industrial - satchel_one = /obj/item/weapon/storage/backpack/satchel/eng - messenger_bag = /obj/item/weapon/storage/backpack/messenger/engi + r_pocket = /obj/item/t_scanner + backpack = /obj/item/storage/backpack/industrial + satchel_one = /obj/item/storage/backpack/satchel/eng + messenger_bag = /obj/item/storage/backpack/messenger/engi uniform = /obj/item/clothing/under/rank/atmospheric_technician - belt = /obj/item/weapon/storage/belt/utility/atmostech + belt = /obj/item/storage/belt/utility/atmostech /decl/hierarchy/outfit/job/talon_miner name = OUTFIT_JOB_NAME("Talon Miner") hierarchy_type = /decl/hierarchy/outfit/job - id_type = /obj/item/weapon/card/id/talon/miner + id_type = /obj/item/card/id/talon/miner id_slot = slot_wear_id pda_type = null flags = OUTFIT_HAS_BACKPACK|OUTFIT_EXTENDED_SURVIVAL - l_ear = /obj/item/device/radio/headset/talon + l_ear = /obj/item/radio/headset/talon shoes = /obj/item/clothing/shoes/boots/workboots - r_pocket = /obj/item/weapon/storage/bag/ore - l_pocket = /obj/item/weapon/tool/crowbar + r_pocket = /obj/item/storage/bag/ore + l_pocket = /obj/item/tool/crowbar uniform = /obj/item/clothing/under/rank/talon/basic - backpack = /obj/item/weapon/storage/backpack/talon - satchel_one = /obj/item/weapon/storage/backpack/satchel/talon - messenger_bag = /obj/item/weapon/storage/backpack/messenger/talon \ No newline at end of file + backpack = /obj/item/storage/backpack/talon + satchel_one = /obj/item/storage/backpack/satchel/talon + messenger_bag = /obj/item/storage/backpack/messenger/talon diff --git a/maps/yw/cryogaia_telecomms.dm b/maps/yw/cryogaia_telecomms.dm index ad949ab9f17..394a59c0901 100644 --- a/maps/yw/cryogaia_telecomms.dm +++ b/maps/yw/cryogaia_telecomms.dm @@ -66,10 +66,10 @@ num2text(EXP_FREQ) = list(access_explorer) ) -/obj/item/device/multitool/station_buffered +/obj/item/multitool/station_buffered name = "pre-linked multitool (tether hub)" desc = "This multitool has already been linked to the Tether telecomms hub and can be used to configure one (1) relay." -/obj/item/device/multitool/station_buffered/Initialize() +/obj/item/multitool/station_buffered/Initialize() . = ..() buffer = locate(/obj/machinery/telecomms/hub/preset/cryogaia) diff --git a/maps/yw/cryogaia_things.dm b/maps/yw/cryogaia_things.dm index f9c9e94a9fa..773e1ca32bf 100644 --- a/maps/yw/cryogaia_things.dm +++ b/maps/yw/cryogaia_things.dm @@ -320,17 +320,17 @@ desc = "Wall-mounted Medical Equipment dispenser. This limited-use version dispenses antitoxins with mild painkillers for surface EVAs." icon_state = "wallmed" density = 0 //It is wall-mounted, and thus, not dense. --Superxpdude - products = list(/obj/item/weapon/reagent_containers/pill/airlock = 10,/obj/item/device/healthanalyzer = 1) - contraband = list(/obj/item/weapon/reagent_containers/pill/tox = 2) + products = list(/obj/item/reagent_containers/pill/airlock = 10,/obj/item/healthanalyzer = 1) + contraband = list(/obj/item/reagent_containers/pill/tox = 2) req_log_access = access_cmo has_logs = 1 -/obj/item/weapon/reagent_containers/pill/airlock +/obj/item/reagent_containers/pill/airlock name = "\'Airlock\' Pill" desc = "Neutralizes toxins and provides a mild analgesic effect." icon_state = "pill2" -/obj/item/weapon/reagent_containers/pill/airlock/New() +/obj/item/reagent_containers/pill/airlock/New() ..() reagents.add_reagent("anti_toxin", 15) reagents.add_reagent("paracetamol", 5) @@ -369,15 +369,15 @@ //Associate objects with the number of seconds it would take to de-ice a door. //Most items are either more or less effecient at it. //For items with very specific cases (like welders using fuel, or needing to be on) see attackby(). - deiceTools[/obj/item/weapon/ice_pick] = 3 //Ice Pick - deiceTools[/obj/item/weapon/tool/crowbar] = 5 //Crowbar - deiceTools[/obj/item/weapon/pen] = 30 //Pen - deiceTools[/obj/item/weapon/card] = 35 //Cards. (Mostly ID cards) + deiceTools[/obj/item/ice_pick] = 3 //Ice Pick + deiceTools[/obj/item/tool/crowbar] = 5 //Crowbar + deiceTools[/obj/item/pen] = 30 //Pen + deiceTools[/obj/item/card] = 35 //Cards. (Mostly ID cards) //Generic weapon items. Tools are better then weapons. //This is for preventing "Sierra" syndrome that could result from needing very specific objects. - deiceTools[/obj/item/weapon/tool] = 10 - deiceTools[/obj/item/weapon] = 12 + deiceTools[/obj/item/tool] = 10 + deiceTools[/obj/item] = 12 ..() /obj/machinery/door/airlock/glass_external/freezable/attackby(obj/item/I, mob/user as mob) @@ -390,8 +390,8 @@ if(frozen) //the welding tool is a special snowflake. - if(istype(I, /obj/item/weapon/weldingtool)) - var/obj/item/weapon/weldingtool/welder = I + if(istype(I, /obj/item/weldingtool)) + var/obj/item/weldingtool/welder = I if(welder.remove_fuel(0,user) && welder && welder.isOn()) to_chat(user, "You start to melt the ice off \the [src]") playsound(src, welder.usesound, 50, 1) @@ -400,7 +400,7 @@ unFreeze() return - if(istype(I, /obj/item/weapon/pen/crayon)) + if(istype(I, /obj/item/pen/crayon)) to_chat(user, "You try to use \the [I] to clear the ice, but it crumbles away!") qdel(I) return @@ -417,7 +417,7 @@ return ..() -/obj/machinery/door/airlock/glass_external/freezable/proc/handleRemoveIce(obj/item/weapon/W as obj, mob/user as mob, var/time = 15 as num) +/obj/machinery/door/airlock/glass_external/freezable/proc/handleRemoveIce(obj/item/W as obj, mob/user as mob, var/time = 15 as num) to_chat(user, "You start to chip at the ice covering \the [src]") if(do_after(user, text2num(time SECONDS))) unFreeze() @@ -492,9 +492,9 @@ /obj/structure/closet/secure_closet/guncabinet/excursion/New() ..() for(var/i = 1 to 4) - new /obj/item/weapon/gun/energy/locked/frontier(src) + new /obj/item/gun/energy/locked/frontier(src) for(var/i = 1 to 4) - new /obj/item/weapon/gun/energy/locked/frontier/holdout(src) + new /obj/item/gun/energy/locked/frontier/holdout(src) // Used at centcomm for the elevator /obj/machinery/cryopod/robot/door/dorms @@ -512,9 +512,9 @@ // ### Wall Machines On Full Windows ### // To make sure wall-mounted machines placed on full-tile windows are clickable they must be above the window // -/obj/item/device/radio/intercom +/obj/item/radio/intercom layer = ABOVE_WINDOW_LAYER -/obj/item/weapon/storage/secure/safe +/obj/item/storage/secure/safe layer = ABOVE_WINDOW_LAYER /obj/machinery/airlock_sensor layer = ABOVE_WINDOW_LAYER diff --git a/maps/yw/items/clothing/sc_suit.dm b/maps/yw/items/clothing/sc_suit.dm index 302593d8fbb..51892fa7b32 100644 --- a/maps/yw/items/clothing/sc_suit.dm +++ b/maps/yw/items/clothing/sc_suit.dm @@ -24,8 +24,8 @@ icon = 'maps/yw/icons/obj/sc_suit.dmi' armor = list(melee = 15, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 50, rad = 5) valid_accessory_slots = (ACCESSORY_SLOT_INSIGNIA) - allowed = list (/obj/item/weapon/gun,/obj/item/weapon/pen, /obj/item/weapon/paper, /obj/item/device/flashlight,/obj/item/weapon/tank/emergency/oxygen, /obj/item/weapon/storage/fancy/cigarettes, - /obj/item/weapon/storage/box/matches, /obj/item/weapon/reagent_containers/food/drinks/flask, /obj/item/device/suit_cooling_unit, /obj/item/device/analyzer,/obj/item/stack/medical, - /obj/item/weapon/dnainjector,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/reagent_containers/hypospray, - /obj/item/device/healthanalyzer,/obj/item/weapon/reagent_containers/glass/bottle,/obj/item/weapon/reagent_containers/glass/beaker, - /obj/item/weapon/reagent_containers/pill,/obj/item/weapon/storage/pill_bottle) \ No newline at end of file + allowed = list (/obj/item/gun,/obj/item/pen, /obj/item/paper, /obj/item/flashlight,/obj/item/tank/emergency/oxygen, /obj/item/storage/fancy/cigarettes, + /obj/item/storage/box/matches, /obj/item/reagent_containers/food/drinks/flask, /obj/item/suit_cooling_unit, /obj/item/analyzer,/obj/item/stack/medical, + /obj/item/dnainjector,/obj/item/reagent_containers/dropper,/obj/item/reagent_containers/syringe,/obj/item/reagent_containers/hypospray, + /obj/item/healthanalyzer,/obj/item/reagent_containers/glass/bottle,/obj/item/reagent_containers/glass/beaker, + /obj/item/reagent_containers/pill,/obj/item/storage/pill_bottle) diff --git a/maps/yw/items/encryptionkey_sc.dm b/maps/yw/items/encryptionkey_sc.dm index 4d5c99f2b9a..37e92735da2 100644 --- a/maps/yw/items/encryptionkey_sc.dm +++ b/maps/yw/items/encryptionkey_sc.dm @@ -1,32 +1,32 @@ //Original Source: Southern Cross -/obj/item/device/encryptionkey/pilot +/obj/item/encryptionkey/pilot name = "pilot's encryption key" icon_state = "com_cypherkey" channels = list("Supply" = 1, "Away Team" = 1) -/obj/item/device/encryptionkey/explorer +/obj/item/encryptionkey/explorer name = "explorer radio encryption key" icon_state = "com_cypherkey" channels = list("Away Team" = 1) -/obj/item/device/encryptionkey/sar +/obj/item/encryptionkey/sar name = "sar's encryption key" icon_state = "med_cypherkey" channels = list("Medical" = 1, "Away Team" = 1) -/obj/item/device/encryptionkey/heads/hop +/obj/item/encryptionkey/heads/hop name = "head of personnel's encryption key" icon_state = "hop_cypherkey" channels = list("Supply" = 1, "Service" = 1, "Command" = 1, "Security" = 0, "Away Team" = 1) -/obj/item/device/encryptionkey/heads/ai_integrated +/obj/item/encryptionkey/heads/ai_integrated name = "ai integrated encryption key" desc = "Integrated encryption key" icon_state = "cap_cypherkey" channels = list("Command" = 1, "Security" = 1, "Engineering" = 1, "Science" = 1, "Medical" = 1, "Supply" = 1, "Service" = 1, "AI Private" = 1,"Away Team" = 1) -/obj/item/device/encryptionkey/heads/captain +/obj/item/encryptionkey/heads/captain name = "colony director's encryption key" icon_state = "cap_cypherkey" channels = list("Command" = 1, "Security" = 1, "Engineering" = 0, "Science" = 0, "Medical" = 0, "Supply" = 0, "Service" = 0, "Away Team" = 0) diff --git a/maps/yw/items/encryptionkey_vr.dm b/maps/yw/items/encryptionkey_vr.dm index 23c5bb917be..d535ab4266a 100644 --- a/maps/yw/items/encryptionkey_vr.dm +++ b/maps/yw/items/encryptionkey_vr.dm @@ -1,8 +1,8 @@ //Original Source: Southern Cross -/obj/item/device/encryptionkey/pilot +/obj/item/encryptionkey/pilot icon_state = "cypherkey" channels = list("Away Team" = 1) -/obj/item/device/encryptionkey/explorer +/obj/item/encryptionkey/explorer channels = list("Away Team" = 1) //YW EDIT: Removes Science to come in line with our chain of Command diff --git a/maps/yw/items/headset_sc.dm b/maps/yw/items/headset_sc.dm index b84650a7f19..d5f9a0f9ce5 100644 --- a/maps/yw/items/headset_sc.dm +++ b/maps/yw/items/headset_sc.dm @@ -1,37 +1,37 @@ //Original Source: Southern Cross -/obj/item/device/radio/headset/pilot +/obj/item/radio/headset/pilot name = "pilot's headset" desc = "A headset used by pilots, has access to supply and explorer channels." icon_state = "pilot_headset" adhoc_fallback = TRUE - ks2type = /obj/item/device/encryptionkey/pilot + ks2type = /obj/item/encryptionkey/pilot -/obj/item/device/radio/headset/pilot/alt +/obj/item/radio/headset/pilot/alt name = "pilot's bowman headset" desc = "A bowman headset used by pilots, has access to supply and explorer channels." icon_state = "pilot_headset_alt" -/obj/item/device/radio/headset/explorer +/obj/item/radio/headset/explorer name = "explorer's headset" desc = "Headset used by explorers for exploring. Access to the explorer channel." icon_state = "exp_headset" adhoc_fallback = TRUE - ks2type = /obj/item/device/encryptionkey/explorer + ks2type = /obj/item/encryptionkey/explorer -/obj/item/device/radio/headset/explorer/alt +/obj/item/radio/headset/explorer/alt name = "explorer's bowman headset" desc = "Bowman headset used by explorers for exploring. Access to the explorer channel." icon_state = "exp_headset_alt" -/obj/item/device/radio/headset/sar +/obj/item/radio/headset/sar name = "sar radio headset" desc = "A headset for search and rescue." icon_state = "sar_headset" adhoc_fallback = TRUE - ks2type = /obj/item/device/encryptionkey/sar + ks2type = /obj/item/encryptionkey/sar -/obj/item/device/radio/headset/sar/alt +/obj/item/radio/headset/sar/alt name = "sar radio bowman headset" desc = "A bowman headset for search and rescue." icon_state = "sar_headset_alt" diff --git a/maps/yw/items/headset_vr.dm b/maps/yw/items/headset_vr.dm index 8e42602fc13..95b9b567fc5 100644 --- a/maps/yw/items/headset_vr.dm +++ b/maps/yw/items/headset_vr.dm @@ -1,28 +1,28 @@ //Original Source: Southern Cross -/obj/item/device/radio/headset/pilot +/obj/item/radio/headset/pilot desc = "A headset used by pilots, has access to the explorer channel." -/obj/item/device/radio/headset/pilot/alt +/obj/item/radio/headset/pilot/alt desc = "A bowman headset used by pilots, has access to the explorer channel." -/obj/item/device/radio/headset/explorer +/obj/item/radio/headset/explorer desc = "Headset used by explorers for exploring. Access to explorer and science channels." -/obj/item/device/radio/headset/explorer/alt +/obj/item/radio/headset/explorer/alt desc = "Bowman headset used by explorers for exploring. Access to explorer and science channels." -/obj/item/device/radio/headset/sar +/obj/item/radio/headset/sar name = "fm radio headset" desc = "A headset for field medics." -/obj/item/device/radio/headset/sar/alt +/obj/item/radio/headset/sar/alt name = "fm radio bowman headset" desc = "A bowman headset for field medics." -/obj/item/device/radio/headset/volunteer +/obj/item/radio/headset/volunteer name = "volunteer's headset" desc = "A headset used by volunteers to expedition teams, has access to the exploration channel." icon_state = "pilot_headset" adhoc_fallback = TRUE - ks2type = /obj/item/device/encryptionkey/pilot + ks2type = /obj/item/encryptionkey/pilot diff --git a/maps/yw/items/icepick.dm b/maps/yw/items/icepick.dm index 110fcd882e5..31c8452981c 100644 --- a/maps/yw/items/icepick.dm +++ b/maps/yw/items/icepick.dm @@ -1,10 +1,10 @@ -//Ice pick, mountain axe, or ice axe.YW Creation. -/obj/item/weapon/ice_pick - name = "ice axe" - desc = "A sharp tool for climbers and hikers to break up ice and keep themselves from slipping on a steep slope." - icon = 'icons/obj/items_yw.dmi' - icon_state = "icepick" - item_state = "icepick" - matter = list(MAT_STEEL = 12000) //Same as a knife - force = 15 //increasing force for icepick/axe, cause it's a freaking iceaxe. - throwforce = 0 \ No newline at end of file +//Ice pick, mountain axe, or ice axe.YW Creation. +/obj/item/ice_pick + name = "ice axe" + desc = "A sharp tool for climbers and hikers to break up ice and keep themselves from slipping on a steep slope." + icon = 'icons/obj/items_yw.dmi' + icon_state = "icepick" + item_state = "icepick" + matter = list(MAT_STEEL = 12000) //Same as a knife + force = 15 //increasing force for icepick/axe, cause it's a freaking iceaxe. + throwforce = 0 diff --git a/maps/yw/job/outfits.dm b/maps/yw/job/outfits.dm index 36091b3819a..65ad81bf3b0 100644 --- a/maps/yw/job/outfits.dm +++ b/maps/yw/job/outfits.dm @@ -8,11 +8,11 @@ Keep outfits simple. Spawn with basic uniforms and minimal gear. Gear instead go name = OUTFIT_JOB_NAME("Explorer") shoes = /obj/item/clothing/shoes/boots/winter/explorer uniform = /obj/item/clothing/under/explorer - l_ear = /obj/item/device/radio/headset/explorer + l_ear = /obj/item/radio/headset/explorer id_slot = slot_wear_id pda_slot = slot_l_store - pda_type = /obj/item/device/pda/explorer //VORESTation Edit - Better Brown - id_type = /obj/item/weapon/card/id/explorer //VOREStation Edit + pda_type = /obj/item/pda/explorer //VORESTation Edit - Better Brown + id_type = /obj/item/card/id/explorer //VOREStation Edit id_pda_assignment = "Explorer" flags = OUTFIT_HAS_BACKPACK|OUTFIT_COMPREHENSIVE_SURVIVAL backpack_contents = list(/obj/item/clothing/accessory/permit/gun/planetside = 1) @@ -24,13 +24,13 @@ Keep outfits simple. Spawn with basic uniforms and minimal gear. Gear instead go /decl/hierarchy/outfit/job/explorer2/technician name = OUTFIT_JOB_NAME("Explorer Technician") - belt = /obj/item/weapon/storage/belt/utility/full + belt = /obj/item/storage/belt/utility/full pda_slot = slot_l_store id_pda_assignment = "Explorer Technician" /decl/hierarchy/outfit/job/explorer2/medic name = OUTFIT_JOB_NAME("Explorer Medic") - l_hand = /obj/item/weapon/storage/firstaid/regular + l_hand = /obj/item/storage/firstaid/regular pda_slot = slot_l_store id_pda_assignment = "Explorer Medic" @@ -41,10 +41,10 @@ Keep outfits simple. Spawn with basic uniforms and minimal gear. Gear instead go suit = /obj/item/clothing/suit/storage/toggle/bomber/pilot gloves = /obj/item/clothing/gloves/fingerless glasses = /obj/item/clothing/glasses/fakesunglasses/aviator - l_ear = /obj/item/device/radio/headset/pilot/alt + l_ear = /obj/item/radio/headset/pilot/alt id_slot = slot_wear_id pda_slot = slot_belt - pda_type = /obj/item/device/pda //VOREStation Edit - Civilian + pda_type = /obj/item/pda //VOREStation Edit - Civilian id_pda_assignment = "Pilot" flags = OUTFIT_HAS_BACKPACK|OUTFIT_COMPREHENSIVE_SURVIVAL @@ -53,11 +53,11 @@ Keep outfits simple. Spawn with basic uniforms and minimal gear. Gear instead go uniform = /obj/item/clothing/under/utility/blue //suit = /obj/item/clothing/suit/storage/hooded/wintercoat/medical/sar //VOREStation Edit shoes = /obj/item/clothing/shoes/boots/winter/explorer - l_ear = /obj/item/device/radio/headset/sar - l_hand = /obj/item/weapon/storage/firstaid/regular - belt = /obj/item/weapon/storage/belt/medical/emt + l_ear = /obj/item/radio/headset/sar + l_hand = /obj/item/storage/firstaid/regular + belt = /obj/item/storage/belt/medical/emt pda_slot = slot_l_store - pda_type = /obj/item/device/pda/sar //VOREStation Add + pda_type = /obj/item/pda/sar //VOREStation Add id_pda_assignment = "Field Medic" //VOREStation Edit flags = OUTFIT_HAS_BACKPACK|OUTFIT_EXTENDED_SURVIVAL|OUTFIT_COMPREHENSIVE_SURVIVAL @@ -66,11 +66,11 @@ Keep outfits simple. Spawn with basic uniforms and minimal gear. Gear instead go name = OUTFIT_JOB_NAME("Explorer") shoes = /obj/item/clothing/shoes/boots/winter/explorer uniform = /obj/item/clothing/under/explorer - l_ear = /obj/item/device/radio/headset/explorer + l_ear = /obj/item/radio/headset/explorer id_slot = slot_wear_id pda_slot = slot_l_store - pda_type = /obj/item/device/pda/explorer //VORESTation Edit - Better Brown - id_type = /obj/item/weapon/card/id/explorer/explorer //VOREStation Edit + pda_type = /obj/item/pda/explorer //VORESTation Edit - Better Brown + id_type = /obj/item/card/id/explorer/explorer //VOREStation Edit id_pda_assignment = "Explorer" flags = OUTFIT_HAS_BACKPACK|OUTFIT_COMPREHENSIVE_SURVIVAL backpack_contents = list(/obj/item/clothing/accessory/permit/gun/planetside = 1) @@ -82,13 +82,13 @@ Keep outfits simple. Spawn with basic uniforms and minimal gear. Gear instead go /decl/hierarchy/outfit/job/explorer2/technician name = OUTFIT_JOB_NAME("Explorer Technician") - belt = /obj/item/weapon/storage/belt/utility/full + belt = /obj/item/storage/belt/utility/full pda_slot = slot_l_store id_pda_assignment = "Explorer Technician" /decl/hierarchy/outfit/job/explorer2/medic name = OUTFIT_JOB_NAME("Explorer Medic") - l_hand = /obj/item/weapon/storage/firstaid/regular + l_hand = /obj/item/storage/firstaid/regular pda_slot = slot_l_store id_pda_assignment = "Explorer Medic" @@ -99,11 +99,11 @@ Keep outfits simple. Spawn with basic uniforms and minimal gear. Gear instead go suit = /obj/item/clothing/suit/storage/toggle/bomber/pilot gloves = /obj/item/clothing/gloves/fingerless glasses = /obj/item/clothing/glasses/fakesunglasses/aviator - l_ear = /obj/item/device/radio/headset/pilot/alt + l_ear = /obj/item/radio/headset/pilot/alt id_slot = slot_wear_id pda_slot = slot_belt - pda_type = /obj/item/device/pda //VOREStation Edit - Civilian - id_type = /obj/item/weapon/card/id/explorer/pilot //VOREStation Edit + pda_type = /obj/item/pda //VOREStation Edit - Civilian + id_type = /obj/item/card/id/explorer/pilot //VOREStation Edit id_pda_assignment = "Pilot" flags = OUTFIT_HAS_BACKPACK|OUTFIT_COMPREHENSIVE_SURVIVAL @@ -112,12 +112,12 @@ Keep outfits simple. Spawn with basic uniforms and minimal gear. Gear instead go uniform = /obj/item/clothing/under/utility/blue //suit = /obj/item/clothing/suit/storage/hooded/wintercoat/medical/sar //VOREStation Edit shoes = /obj/item/clothing/shoes/boots/winter/explorer - l_ear = /obj/item/device/radio/headset/sar - l_hand = /obj/item/weapon/storage/firstaid/regular - belt = /obj/item/weapon/storage/belt/medical/emt + l_ear = /obj/item/radio/headset/sar + l_hand = /obj/item/storage/firstaid/regular + belt = /obj/item/storage/belt/medical/emt pda_slot = slot_l_store - pda_type = /obj/item/device/pda/sar //VOREStation Add - id_type = /obj/item/weapon/card/id/medical/sar + pda_type = /obj/item/pda/sar //VOREStation Add + id_type = /obj/item/card/id/medical/sar id_pda_assignment = "Field Medic" //VOREStation Edit flags = OUTFIT_HAS_BACKPACK|OUTFIT_EXTENDED_SURVIVAL|OUTFIT_COMPREHENSIVE_SURVIVAL @@ -126,11 +126,11 @@ Keep outfits simple. Spawn with basic uniforms and minimal gear. Gear instead go name = OUTFIT_JOB_NAME("Pathfinder") shoes = /obj/item/clothing/shoes/boots/winter/explorer uniform = /obj/item/clothing/under/explorer //TODO: Uniforms. - l_ear = /obj/item/device/radio/headset/explorer + l_ear = /obj/item/radio/headset/explorer id_slot = slot_wear_id pda_slot = slot_l_store - pda_type = /obj/item/device/pda/pathfinder - id_type = /obj/item/weapon/card/id/explorer/head/pathfinder + pda_type = /obj/item/pda/pathfinder + id_type = /obj/item/card/id/explorer/head/pathfinder id_pda_assignment = "Pathfinder" flags = OUTFIT_HAS_BACKPACK|OUTFIT_EXTENDED_SURVIVAL|OUTFIT_COMPREHENSIVE_SURVIVAL backpack_contents = list(/obj/item/clothing/accessory/permit/gun/planetside = 1) @@ -141,5 +141,5 @@ Keep outfits simple. Spawn with basic uniforms and minimal gear. Gear instead go permit.set_name(H.real_name) /decl/hierarchy/outfit/job/assistant/explorer - id_type = /obj/item/weapon/card/id/explorer + id_type = /obj/item/card/id/explorer flags = OUTFIT_HAS_BACKPACK|OUTFIT_COMPREHENSIVE_SURVIVAL diff --git a/maps/yw/job/outfits_yw.dm b/maps/yw/job/outfits_yw.dm index e2976fb10cf..74f3ca789f5 100644 --- a/maps/yw/job/outfits_yw.dm +++ b/maps/yw/job/outfits_yw.dm @@ -2,11 +2,11 @@ name = OUTFIT_JOB_NAME("Pathfinder") shoes = /obj/item/clothing/shoes/boots/winter/explorer uniform = /obj/item/clothing/under/explorer //TODO: Uniforms. - l_ear = /obj/item/device/radio/headset/explorer + l_ear = /obj/item/radio/headset/explorer id_slot = slot_wear_id pda_slot = slot_l_store - pda_type = /obj/item/device/pda/pathfinder - id_type = /obj/item/weapon/card/id/explorer/head + pda_type = /obj/item/pda/pathfinder + id_type = /obj/item/card/id/explorer/head id_pda_assignment = "Pathfinder" flags = OUTFIT_HAS_BACKPACK|OUTFIT_EXTENDED_SURVIVAL|OUTFIT_COMPREHENSIVE_SURVIVAL backpack_contents = list(/obj/item/clothing/accessory/permit/gun/planetside = 1) @@ -17,5 +17,5 @@ permit.set_name(H.real_name) /decl/hierarchy/outfit/job/assistant/explorer - id_type = /obj/item/weapon/card/id/explorer + id_type = /obj/item/card/id/explorer flags = OUTFIT_HAS_BACKPACK|OUTFIT_COMPREHENSIVE_SURVIVAL diff --git a/maps/yw/residential/_residential.dm b/maps/yw/residential/_residential.dm index 393546cd012..770702bcda6 100644 --- a/maps/yw/residential/_residential.dm +++ b/maps/yw/residential/_residential.dm @@ -69,7 +69,7 @@ var/global/list/latejoin_residential = list() /datum/spawnpoint/residential display_name = "NCS Serenity Residential" - restrict_job = list("Off-duty Worker", "Off-duty Cargo", "Off-duty Engineer", "Off-duty Medic", "Off-duty Scientist", "Off-duty Officer", USELESS_JOB) + restrict_job = list("Off-duty Worker", "Off-duty Cargo", "Off-duty Engineer", "Off-duty Medic", "Off-duty Scientist", "Off-duty Officer", JOB_ALT_VISITOR) msg = "has arrived on the NCS Serenity Residential level" announce_channel = "Common" diff --git a/maps/yw/residential/backup/residential.dmm b/maps/yw/residential/backup/residential.dmm index ca66f00e7ab..7a3892a0ef6 100644 --- a/maps/yw/residential/backup/residential.dmm +++ b/maps/yw/residential/backup/residential.dmm @@ -21,11 +21,11 @@ "au" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/reinforced,/area/residential/ship_bay) "av" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/reinforced,/area/residential/ship_bay) "aw" = (/obj/structure/closet/walllocker/emerglocker/west,/turf/simulated/floor/carpet,/area/residential/ship_bay) -"ax" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/green,/obj/structure/curtain/bed,/turf/simulated/floor/carpet,/area/residential/ship_bay) +"ax" = (/obj/structure/bed/padded,/obj/item/bedsheet/green,/obj/structure/curtain/bed,/turf/simulated/floor/carpet,/area/residential/ship_bay) "ay" = (/turf/simulated/floor/carpet,/area/residential/ship_bay) -"az" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/blue,/obj/structure/curtain/bed,/turf/simulated/floor/carpet,/area/residential/ship_bay) +"az" = (/obj/structure/bed/padded,/obj/item/bedsheet/blue,/obj/structure/curtain/bed,/turf/simulated/floor/carpet,/area/residential/ship_bay) "aA" = (/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"},/obj/structure/device/piano{dir = 4},/turf/simulated/shuttle/floor/black,/area/residential/ship_bay) -"aB" = (/obj/item/weapon/stool/padded,/turf/simulated/shuttle/floor/black,/area/residential/ship_bay) +"aB" = (/obj/item/stool/padded,/turf/simulated/shuttle/floor/black,/area/residential/ship_bay) "aC" = (/obj/structure/bed/chair/sofa/right,/obj/machinery/light{dir = 1},/turf/simulated/shuttle/floor/black,/area/residential/ship_bay) "aD" = (/obj/structure/bed/chair/sofa/corner,/turf/simulated/shuttle/floor/black,/area/residential/ship_bay) "aE" = (/turf/simulated/shuttle/floor/black,/area/residential/ship_bay) @@ -40,7 +40,7 @@ "aN" = (/obj/structure/toilet{dir = 8},/turf/simulated/floor/tiled/white,/area/residential/ship_bay) "aO" = (/obj/structure/bed/chair/sofa/corner{dir = 4},/obj/machinery/light{dir = 8},/turf/simulated/floor/wood,/area/residential/ship_bay) "aP" = (/obj/structure/bed/chair/sofa/left,/turf/simulated/floor/wood,/area/residential/ship_bay) -"aQ" = (/obj/structure/closet/secure_closet/freezer/fridge,/obj/machinery/light{dir = 1},/obj/item/weapon/reagent_containers/food/condiment/enzyme,/obj/item/weapon/reagent_containers/food/condiment/carton/flour,/obj/item/weapon/reagent_containers/food/condiment/carton/flour,/obj/item/weapon/reagent_containers/food/condiment/carton/flour,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor/wood,/area/residential/ship_bay) +"aQ" = (/obj/structure/closet/secure_closet/freezer/fridge,/obj/machinery/light{dir = 1},/obj/item/reagent_containers/food/condiment/enzyme,/obj/item/reagent_containers/food/condiment/carton/flour,/obj/item/reagent_containers/food/condiment/carton/flour,/obj/item/reagent_containers/food/condiment/carton/flour,/obj/item/reagent_containers/food/snacks/meat,/obj/item/reagent_containers/food/snacks/meat,/obj/item/reagent_containers/food/snacks/meat,/turf/simulated/floor/wood,/area/residential/ship_bay) "aR" = (/obj/structure/sink{pixel_y = 30},/turf/simulated/floor/wood,/area/residential/ship_bay) "aS" = (/obj/structure/table/steel_reinforced,/obj/machinery/microwave,/turf/simulated/floor/wood,/area/residential/ship_bay) "aT" = (/turf/simulated/shuttle/wall/dark/no_join,/area/residential/ship_bay) @@ -76,26 +76,26 @@ "bx" = (/turf/simulated/floor/plating,/area/residential/ship_bay) "by" = (/obj/structure/table/steel_reinforced,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/carpet/bcarpet,/area/residential/ship_bay) "bz" = (/turf/simulated/floor/carpet/bcarpet,/area/residential/ship_bay) -"bA" = (/obj/structure/closet/secure_closet/freezer/fridge,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/item/weapon/reagent_containers/food/condiment/enzyme,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker,/obj/item/weapon/reagent_containers/food/condiment/small/peppermill,/obj/item/weapon/storage/box/beakers,/turf/simulated/floor/carpet/bcarpet,/area/residential/ship_bay) +"bA" = (/obj/structure/closet/secure_closet/freezer/fridge,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/item/reagent_containers/food/condiment/enzyme,/obj/item/reagent_containers/food/snacks/meat,/obj/item/reagent_containers/food/snacks/meat,/obj/item/reagent_containers/food/snacks/meat,/obj/item/reagent_containers/food/condiment/small/saltshaker,/obj/item/reagent_containers/food/condiment/small/peppermill,/obj/item/storage/box/beakers,/turf/simulated/floor/carpet/bcarpet,/area/residential/ship_bay) "bB" = (/obj/structure/bed/chair/shuttle,/turf/simulated/shuttle/floor/black,/area/residential/ship_bay) -"bC" = (/obj/structure/closet/secure_closet/freezer/fridge,/obj/machinery/light,/obj/item/weapon/reagent_containers/food/condiment/enzyme,/obj/item/weapon/reagent_containers/food/condiment/carton/flour,/obj/item/weapon/reagent_containers/food/condiment/carton/flour,/obj/item/weapon/reagent_containers/food/condiment/carton/flour,/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/shuttle/floor/black,/area/residential/ship_bay) -"bD" = (/obj/structure/closet/secure_closet/freezer/fridge,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/shuttle/floor/black,/area/residential/ship_bay) +"bC" = (/obj/structure/closet/secure_closet/freezer/fridge,/obj/machinery/light,/obj/item/reagent_containers/food/condiment/enzyme,/obj/item/reagent_containers/food/condiment/carton/flour,/obj/item/reagent_containers/food/condiment/carton/flour,/obj/item/reagent_containers/food/condiment/carton/flour,/obj/item/reagent_containers/food/snacks/meat,/turf/simulated/shuttle/floor/black,/area/residential/ship_bay) +"bD" = (/obj/structure/closet/secure_closet/freezer/fridge,/obj/item/reagent_containers/food/snacks/meat,/obj/item/reagent_containers/food/snacks/meat,/turf/simulated/shuttle/floor/black,/area/residential/ship_bay) "bE" = (/obj/structure/closet,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/carpet,/area/residential/ship_bay) -"bF" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green,/turf/simulated/floor/carpet,/area/residential/ship_bay) +"bF" = (/obj/structure/table/woodentable,/obj/item/flashlight/lamp/green,/turf/simulated/floor/carpet,/area/residential/ship_bay) "bG" = (/obj/structure/closet,/turf/simulated/floor/wood,/area/residential/ship_bay) "bH" = (/obj/structure/bed/chair/comfy/black,/turf/simulated/floor/wood,/area/residential/ship_bay) "bI" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plating,/area/residential/ship_bay) "bJ" = (/obj/structure/table/steel_reinforced,/obj/machinery/microwave,/turf/simulated/floor/carpet/bcarpet,/area/residential/ship_bay) -"bK" = (/obj/item/weapon/bedsheet/blue,/obj/structure/bed/padded,/turf/simulated/floor/carpet/bcarpet,/area/residential/ship_bay) +"bK" = (/obj/item/bedsheet/blue,/obj/structure/bed/padded,/turf/simulated/floor/carpet/bcarpet,/area/residential/ship_bay) "bL" = (/obj/structure/closet/secure_closet/personal/cabinet,/obj/item/clothing/suit/storage/teshari/cloak/fluff/strix,/obj/item/clothing/under/teshari/undercoat/fluff/strix,/turf/simulated/floor/carpet/bcarpet,/area/residential/ship_bay) -"bM" = (/obj/structure/bed/double/padded,/obj/item/weapon/bedsheet/hopdouble,/obj/structure/curtain/black,/turf/simulated/floor/carpet,/area/residential/ship_bay) +"bM" = (/obj/structure/bed/double/padded,/obj/item/bedsheet/hopdouble,/obj/structure/curtain/black,/turf/simulated/floor/carpet,/area/residential/ship_bay) "bN" = (/obj/machinery/recharge_station,/turf/simulated/floor/carpet,/area/residential/ship_bay) "bO" = (/obj/structure/bed/chair/shuttle{dir = 4; icon_state = "shuttle_chair"},/obj/machinery/light,/turf/simulated/shuttle/floor/black,/area/residential/ship_bay) "bP" = (/obj/structure/table/steel_reinforced,/turf/simulated/shuttle/floor/black,/area/residential/ship_bay) "bQ" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/obj/structure/window/reinforced/tinted{dir = 1},/turf/simulated/floor/plating,/area/residential/ship_bay) "bR" = (/obj/structure/shuttle/engine/propulsion{dir = 4},/obj/structure/window/reinforced/tinted{dir = 1},/turf/simulated/floor/plating,/area/residential/ship_bay) "bS" = (/obj/structure/closet/cabinet,/turf/simulated/floor/carpet,/area/residential/ship_bay) -"bT" = (/obj/structure/bed/double/padded,/obj/item/weapon/bedsheet/bluedouble,/turf/simulated/floor/carpet,/area/residential/ship_bay) +"bT" = (/obj/structure/bed/double/padded,/obj/item/bedsheet/bluedouble,/turf/simulated/floor/carpet,/area/residential/ship_bay) "bU" = (/obj/structure/flora/pottedplant{icon_state = "plant-24"},/turf/simulated/floor/wood,/area/residential/ship_bay) "bV" = (/obj/structure/bed/chair/comfy/teal{dir = 4},/turf/simulated/floor/wood,/area/residential/ship_bay) "bW" = (/obj/structure/table/woodentable,/obj/machinery/light{dir = 4},/turf/simulated/floor/wood,/area/residential/ship_bay) @@ -126,27 +126,27 @@ "cv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/reinforced,/area/residential/ship_bay) "cw" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/reinforced,/area/residential/ship_bay) "cx" = (/obj/structure/bed/chair/comfy/lime{dir = 1},/turf/simulated/floor/carpet,/area/residential/mansion) -"cy" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/carpet,/area/residential/mansion) +"cy" = (/obj/item/stool/padded,/turf/simulated/floor/carpet,/area/residential/mansion) "cz" = (/obj/structure/closet/cabinet,/obj/item/clothing/shoes/athletic,/obj/item/clothing/under/shorts/black,/obj/item/clothing/under/shorts/grey,/obj/item/clothing/under/shorts/white,/turf/simulated/floor/carpet,/area/residential/mansion) "cA" = (/obj/structure/filingcabinet/chestdrawer,/turf/simulated/floor/carpet,/area/residential/mansion) "cB" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/structure/shuttle/engine/propulsion{icon_state = "burst_r"; dir = 8},/turf/simulated/floor/plating,/area/residential/ship_bay) "cC" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 8},/obj/structure/window/reinforced/tinted,/obj/structure/window/reinforced/tinted{dir = 4; icon_state = "twindow"},/turf/simulated/floor/plating,/area/residential/ship_bay) "cD" = (/obj/machinery/portable_atmospherics/canister/oxygen/prechilled,/turf/simulated/floor/tiled/steel_ridged,/area/residential/ship_bay) "cE" = (/obj/structure/table/steel_reinforced,/obj/machinery/microwave,/turf/simulated/floor/lino,/area/residential/ship_bay) -"cF" = (/obj/machinery/light{dir = 1},/obj/structure/table/steel_reinforced,/obj/item/weapon/material/kitchen/utensil/fork,/obj/item/weapon/material/kitchen/utensil/fork,/obj/item/weapon/material/kitchen/utensil/spoon,/obj/item/weapon/material/kitchen/utensil/spoon,/obj/item/weapon/material/knife/plastic,/obj/item/weapon/material/knife/plastic,/turf/simulated/floor/lino,/area/residential/ship_bay) -"cG" = (/obj/structure/closet/secure_closet/freezer/fridge,/obj/item/weapon/reagent_containers/food/condiment/enzyme,/obj/item/weapon/reagent_containers/food/condiment/carton/flour,/obj/item/weapon/reagent_containers/food/condiment/carton/flour,/obj/item/weapon/reagent_containers/food/condiment/carton/flour,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor/lino,/area/residential/ship_bay) +"cF" = (/obj/machinery/light{dir = 1},/obj/structure/table/steel_reinforced,/obj/item/material/kitchen/utensil/fork,/obj/item/material/kitchen/utensil/fork,/obj/item/material/kitchen/utensil/spoon,/obj/item/material/kitchen/utensil/spoon,/obj/item/material/knife/plastic,/obj/item/material/knife/plastic,/turf/simulated/floor/lino,/area/residential/ship_bay) +"cG" = (/obj/structure/closet/secure_closet/freezer/fridge,/obj/item/reagent_containers/food/condiment/enzyme,/obj/item/reagent_containers/food/condiment/carton/flour,/obj/item/reagent_containers/food/condiment/carton/flour,/obj/item/reagent_containers/food/condiment/carton/flour,/obj/item/reagent_containers/food/snacks/meat,/obj/item/reagent_containers/food/snacks/meat,/obj/item/reagent_containers/food/snacks/meat,/turf/simulated/floor/lino,/area/residential/ship_bay) "cH" = (/obj/structure/closet/cabinet,/turf/simulated/floor/carpet/oracarpet,/area/residential/ship_bay) "cI" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/carpet/oracarpet,/area/residential/ship_bay) -"cJ" = (/obj/structure/bed/double/padded,/obj/item/weapon/bedsheet/bluedouble,/turf/simulated/floor/carpet/oracarpet,/area/residential/ship_bay) +"cJ" = (/obj/structure/bed/double/padded,/obj/item/bedsheet/bluedouble,/turf/simulated/floor/carpet/oracarpet,/area/residential/ship_bay) "cK" = (/obj/structure/closet/walllocker/emerglocker/east,/turf/simulated/shuttle/floor/black,/area/residential/ship_bay) "cL" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/shuttle/wall,/area/residential/ship_bay) "cM" = (/turf/simulated/shuttle/wall/no_join,/area/residential/ship_bay) -"cN" = (/obj/structure/table/woodentable,/obj/item/weapon/folder/yellow,/turf/simulated/floor/carpet,/area/residential/mansion) -"cO" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green,/turf/simulated/floor/carpet,/area/residential/mansion) +"cN" = (/obj/structure/table/woodentable,/obj/item/folder/yellow,/turf/simulated/floor/carpet,/area/residential/mansion) +"cO" = (/obj/structure/table/woodentable,/obj/item/flashlight/lamp/green,/turf/simulated/floor/carpet,/area/residential/mansion) "cP" = (/obj/structure/shuttle/window,/turf/simulated/shuttle/wall/dark,/area/residential/ship_bay) "cQ" = (/obj/structure/closet/walllocker/emerglocker/north,/turf/simulated/shuttle/floor/black,/area/residential/ship_bay) "cR" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/carpet,/area/residential/ship_bay) -"cS" = (/obj/item/weapon/bedsheet/orangedouble,/obj/structure/bed/double/padded,/turf/simulated/floor/carpet,/area/residential/ship_bay) +"cS" = (/obj/item/bedsheet/orangedouble,/obj/structure/bed/double/padded,/turf/simulated/floor/carpet,/area/residential/ship_bay) "cT" = (/obj/structure/shuttle/engine/heater{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating,/area/residential/ship_bay) "cU" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/structure/shuttle/engine/propulsion{dir = 4; icon_state = "propulsion_l"},/turf/simulated/shuttle/plating,/area/residential/ship_bay) "cV" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/structure/shuttle/engine/propulsion{icon_state = "burst_r"; dir = 8},/obj/structure/window/reinforced/tinted{dir = 4; icon_state = "twindow"},/turf/simulated/floor/plating,/area/residential/ship_bay) @@ -156,7 +156,7 @@ "cZ" = (/turf/simulated/floor/lino,/area/residential/ship_bay) "da" = (/turf/simulated/floor/carpet/oracarpet,/area/residential/ship_bay) "db" = (/obj/structure/cable{icon_state = "2-4"},/turf/simulated/floor/carpet/oracarpet,/area/residential/ship_bay) -"dc" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp,/obj/machinery/power/thermoregulator/cryogaia{desc = "A massive custom made Thermal regulator or CTR for short, intended to keep heat loss when going in our outside to a minimum, they are hardwired to minus fourty celsius"; dir = 8; name = "Avali-Rated Custom Thermal Regulator"; pixel_x = 30; target_temp = 233.15},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/carpet/oracarpet,/area/residential/ship_bay) +"dc" = (/obj/structure/table/woodentable,/obj/item/flashlight/lamp,/obj/machinery/power/thermoregulator/cryogaia{desc = "A massive custom made Thermal regulator or CTR for short, intended to keep heat loss when going in our outside to a minimum, they are hardwired to minus fourty celsius"; dir = 8; name = "Avali-Rated Custom Thermal Regulator"; pixel_x = 30; target_temp = 233.15},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/carpet/oracarpet,/area/residential/ship_bay) "dd" = (/obj/structure/bed/chair/shuttle{dir = 4; icon_state = "shuttle_chair"},/obj/machinery/light{dir = 8},/turf/simulated/shuttle/floor/black,/area/residential/ship_bay) "de" = (/obj/machinery/computer/shuttle_control{dir = 8},/turf/simulated/shuttle/floor/black,/area/residential/ship_bay) "df" = (/obj/machinery/space_heater,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/carpet/blue,/area/residential/ship_bay) @@ -164,7 +164,7 @@ "dh" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/structure/shuttle/engine/propulsion{dir = 4; icon_state = "propulsion_l"},/turf/simulated/floor/reinforced,/area/residential/ship_bay) "di" = (/obj/structure/bed/chair/comfy/black{dir = 4},/turf/simulated/floor/carpet,/area/residential/mansion) "dj" = (/obj/structure/table/woodentable,/obj/item/modular_computer/laptop/preset/custom_loadout/elite,/turf/simulated/floor/carpet,/area/residential/mansion) -"dk" = (/obj/item/weapon/bedsheet/orangedouble,/obj/structure/bed/double/padded,/turf/simulated/floor/carpet,/area/residential/mansion) +"dk" = (/obj/item/bedsheet/orangedouble,/obj/structure/bed/double/padded,/turf/simulated/floor/carpet,/area/residential/mansion) "dl" = (/obj/machinery/computer/shuttle_control{dir = 4},/turf/simulated/shuttle/floor/black,/area/residential/ship_bay) "dm" = (/obj/structure/bed/chair/shuttle{dir = 8; icon_state = "shuttle_chair"},/turf/simulated/shuttle/floor/black,/area/residential/ship_bay) "dn" = (/obj/machinery/fusion_fuel_injector{dir = 8},/turf/simulated/floor/tiled/steel_ridged,/area/residential/ship_bay) @@ -174,24 +174,24 @@ "dr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/carpet/tealcarpet,/area/residential/ship_bay) "ds" = (/obj/machinery/computer/shuttle_control{dir = 4},/turf/simulated/floor/wood,/area/residential/ship_bay) "dt" = (/obj/structure/bed/chair/shuttle{dir = 8; icon_state = "shuttle_chair"},/obj/structure/closet/walllocker/emerglocker/north,/obj/machinery/light,/turf/simulated/floor/wood,/area/residential/ship_bay) -"du" = (/obj/structure/bed/double/padded,/obj/item/weapon/bedsheet/browndouble,/turf/simulated/floor/carpet/blue,/area/residential/ship_bay) -"dv" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin,/obj/item/weapon/pen/fountain,/turf/simulated/floor/carpet,/area/residential/mansion) -"dw" = (/obj/structure/closet/secure_closet/freezer/fridge,/obj/machinery/light,/obj/item/weapon/reagent_containers/food/condiment/enzyme,/obj/item/weapon/reagent_containers/food/condiment/carton/flour,/obj/item/weapon/reagent_containers/food/condiment/carton/flour,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor/carpet,/area/residential/ship_bay) +"du" = (/obj/structure/bed/double/padded,/obj/item/bedsheet/browndouble,/turf/simulated/floor/carpet/blue,/area/residential/ship_bay) +"dv" = (/obj/structure/table/woodentable,/obj/item/paper_bin,/obj/item/pen/fountain,/turf/simulated/floor/carpet,/area/residential/mansion) +"dw" = (/obj/structure/closet/secure_closet/freezer/fridge,/obj/machinery/light,/obj/item/reagent_containers/food/condiment/enzyme,/obj/item/reagent_containers/food/condiment/carton/flour,/obj/item/reagent_containers/food/condiment/carton/flour,/obj/item/reagent_containers/food/snacks/meat,/obj/item/reagent_containers/food/snacks/meat,/obj/item/reagent_containers/food/snacks/meat,/turf/simulated/floor/carpet,/area/residential/ship_bay) "dx" = (/obj/structure/table/steel_reinforced,/obj/machinery/microwave,/turf/simulated/floor/carpet,/area/residential/ship_bay) "dy" = (/obj/structure/table/steel_reinforced,/turf/simulated/floor/carpet,/area/residential/ship_bay) "dz" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 9; icon_state = "intact"},/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/steel_ridged,/area/residential/ship_bay) "dA" = (/obj/structure/table/marble,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = -30; pixel_y = 0},/turf/simulated/floor/carpet/oracarpet,/area/residential/ship_bay) "dB" = (/obj/structure/bed/chair/comfy/green{dir = 8},/turf/simulated/floor/carpet/oracarpet,/area/residential/ship_bay) "dC" = (/obj/structure/closet/medical_wall{pixel_x = 30},/turf/simulated/floor/carpet/oracarpet,/area/residential/ship_bay) -"dD" = (/obj/structure/closet/secure_closet/freezer/fridge,/obj/item/weapon/reagent_containers/food/condiment/enzyme,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor/wood,/area/residential/ship_bay) +"dD" = (/obj/structure/closet/secure_closet/freezer/fridge,/obj/item/reagent_containers/food/condiment/enzyme,/obj/item/reagent_containers/food/snacks/meat,/obj/item/reagent_containers/food/snacks/meat,/obj/item/reagent_containers/food/snacks/meat,/turf/simulated/floor/wood,/area/residential/ship_bay) "dE" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/wood,/area/residential/ship_bay) "dF" = (/obj/structure/table/steel_reinforced,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/wood,/area/residential/ship_bay) -"dG" = (/obj/structure/table/woodentable,/obj/item/clothing/gloves/boxing,/obj/item/weapon/towel/random,/turf/simulated/floor/carpet,/area/residential/mansion) +"dG" = (/obj/structure/table/woodentable,/obj/item/clothing/gloves/boxing,/obj/item/towel/random,/turf/simulated/floor/carpet,/area/residential/mansion) "dH" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 8},/obj/structure/window/reinforced/tinted{dir = 4; icon_state = "twindow"},/obj/structure/window/reinforced/tinted{dir = 1},/turf/simulated/floor/plating,/area/residential/ship_bay) -"dI" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/storage/toolbox/emergency,/turf/simulated/floor/tiled/steel_ridged,/area/residential/ship_bay) +"dI" = (/obj/structure/table/steel_reinforced,/obj/item/storage/toolbox/emergency,/turf/simulated/floor/tiled/steel_ridged,/area/residential/ship_bay) "dJ" = (/obj/structure/table/marble,/turf/simulated/floor/carpet/oracarpet,/area/residential/ship_bay) "dK" = (/obj/machinery/light,/obj/structure/bed/chair/comfy/black{dir = 8},/turf/simulated/floor/carpet/oracarpet,/area/residential/ship_bay) -"dL" = (/obj/structure/table/marble,/obj/item/roller,/obj/item/weapon/storage/firstaid,/turf/simulated/floor/carpet/oracarpet,/area/residential/ship_bay) +"dL" = (/obj/structure/table/marble,/obj/item/roller,/obj/item/storage/firstaid,/turf/simulated/floor/carpet/oracarpet,/area/residential/ship_bay) "dM" = (/obj/structure/fitness/punchingbag,/turf/simulated/floor/carpet,/area/residential/mansion) "dN" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/reinforced,/area/residential/ship_bay) "dO" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/reinforced,/area/residential/ship_bay) @@ -214,8 +214,8 @@ "ef" = (/obj/machinery/shower,/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/white,/area/residential/mansion) "eg" = (/turf/simulated/floor/tiled/white,/area/residential/mansion) "eh" = (/obj/structure/sink{pixel_y = 15},/obj/structure/mirror{dir = 4; pixel_x = 0; pixel_y = 28},/turf/simulated/floor/tiled/white,/area/residential/mansion) -"ei" = (/obj/item/weapon/towel/random,/obj/item/weapon/towel/random,/obj/structure/table/marble,/turf/simulated/floor/tiled/white,/area/residential/mansion) -"ej" = (/obj/item/weapon/soap/deluxe,/obj/structure/table/marble,/turf/simulated/floor/tiled/white,/area/residential/mansion) +"ei" = (/obj/item/towel/random,/obj/item/towel/random,/obj/structure/table/marble,/turf/simulated/floor/tiled/white,/area/residential/mansion) +"ej" = (/obj/item/soap/deluxe,/obj/structure/table/marble,/turf/simulated/floor/tiled/white,/area/residential/mansion) "ek" = (/obj/structure/coatrack,/turf/simulated/floor/wood,/area/residential/mansion) "el" = (/obj/structure/table/wooden_reinforced,/turf/simulated/floor/wood,/area/residential/mansion) "em" = (/obj/structure/table/wooden_reinforced,/obj/item/clothing/shoes/slippers,/turf/simulated/floor/wood,/area/residential/mansion) @@ -225,8 +225,8 @@ "eq" = (/obj/structure/closet/cabinet,/obj/item/clothing/under/shorts/khaki,/turf/simulated/floor/wood,/area/residential/mansion) "er" = (/obj/machinery/appliance/mixer/candy,/turf/simulated/floor/lino,/area/residential/mansion) "es" = (/obj/machinery/appliance/mixer/cereal,/turf/simulated/floor/lino,/area/residential/mansion) -"et" = (/obj/structure/table/marble,/obj/item/weapon/reagent_containers/food/condiment/small/peppermill,/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker,/turf/simulated/floor/lino,/area/residential/mansion) -"eu" = (/obj/structure/table/marble,/obj/item/weapon/reagent_containers/food/condiment/enzyme,/obj/item/weapon/reagent_containers/food/condiment/coldsauce,/obj/item/weapon/reagent_containers/food/condiment/cornoil,/obj/item/weapon/reagent_containers/food/condiment/hotsauce,/obj/item/weapon/reagent_containers/food/condiment/ketchup,/obj/item/weapon/reagent_containers/food/condiment/sugar,/obj/item/weapon/reagent_containers/food/condiment/soysauce,/turf/simulated/floor/lino,/area/residential/mansion) +"et" = (/obj/structure/table/marble,/obj/item/reagent_containers/food/condiment/small/peppermill,/obj/item/reagent_containers/food/condiment/small/saltshaker,/turf/simulated/floor/lino,/area/residential/mansion) +"eu" = (/obj/structure/table/marble,/obj/item/reagent_containers/food/condiment/enzyme,/obj/item/reagent_containers/food/condiment/coldsauce,/obj/item/reagent_containers/food/condiment/cornoil,/obj/item/reagent_containers/food/condiment/hotsauce,/obj/item/reagent_containers/food/condiment/ketchup,/obj/item/reagent_containers/food/condiment/sugar,/obj/item/reagent_containers/food/condiment/soysauce,/turf/simulated/floor/lino,/area/residential/mansion) "ev" = (/obj/machinery/light,/turf/simulated/floor/reinforced,/area/residential/ship_bay) "ew" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -28; req_access = list(67)},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/reinforced,/area/residential/ship_bay) "ex" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/reinforced,/area/residential/ship_bay) @@ -245,7 +245,7 @@ "eK" = (/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/residential/ship_bay) "eL" = (/obj/structure/toilet{dir = 4},/turf/simulated/floor/tiled/white,/area/residential/mansion) "eM" = (/obj/structure/closet/cabinet,/obj/item/clothing/under/shorts/green,/turf/simulated/floor/wood,/area/residential/mansion) -"eN" = (/obj/structure/table/marble,/obj/item/weapon/reagent_containers/food/drinks/bluespace_coffee,/obj/item/weapon/storage/box/beakers,/turf/simulated/floor/lino,/area/residential/mansion) +"eN" = (/obj/structure/table/marble,/obj/item/reagent_containers/food/drinks/bluespace_coffee,/obj/item/storage/box/beakers,/turf/simulated/floor/lino,/area/residential/mansion) "eO" = (/obj/machinery/appliance/cooker/grill,/turf/simulated/floor/lino,/area/residential/mansion) "eP" = (/turf/simulated/wall,/area/residential/corridors) "eQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/residential/corridors) @@ -254,8 +254,8 @@ "eT" = (/obj/structure/closet/crate/bin,/turf/simulated/floor/tiled/white,/area/residential/mansion) "eU" = (/obj/structure/table/rack,/obj/item/clothing/under/bluepyjamas,/obj/item/clothing/shoes/slippers,/turf/simulated/floor/tiled/white,/area/residential/mansion) "eV" = (/obj/structure/table/rack,/obj/item/clothing/under/bathrobe,/turf/simulated/floor/tiled/white,/area/residential/mansion) -"eW" = (/obj/item/weapon/soap/syndie,/obj/structure/table/marble,/turf/simulated/floor/tiled/white,/area/residential/mansion) -"eX" = (/obj/item/weapon/soap/nanotrasen,/obj/structure/table/marble,/turf/simulated/floor/tiled/white,/area/residential/mansion) +"eW" = (/obj/item/soap/syndie,/obj/structure/table/marble,/turf/simulated/floor/tiled/white,/area/residential/mansion) +"eX" = (/obj/item/soap/nanotrasen,/obj/structure/table/marble,/turf/simulated/floor/tiled/white,/area/residential/mansion) "eY" = (/obj/structure/table/rack,/obj/item/clothing/under/pj/blue,/turf/simulated/floor/wood,/area/residential/mansion) "eZ" = (/obj/structure/closet/cabinet,/obj/item/clothing/under/schoolgirl,/turf/simulated/floor/wood,/area/residential/mansion) "fa" = (/obj/structure/table/marble,/obj/machinery/reagentgrinder,/turf/simulated/floor/lino,/area/residential/mansion) @@ -265,7 +265,7 @@ "fe" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/space,/area/space) "ff" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/space,/area/space) "fg" = (/obj/structure/simple_door/diamond,/turf/simulated/floor/carpet,/area/residential/mansion) -"fh" = (/obj/structure/table/marble,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/material/knife/butch,/turf/simulated/floor/lino,/area/residential/mansion) +"fh" = (/obj/structure/table/marble,/obj/item/reagent_containers/dropper,/obj/item/material/knife/butch,/turf/simulated/floor/lino,/area/residential/mansion) "fi" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/simulated/floor/lino,/area/residential/mansion) "fj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/glass/hidden,/turf/simulated/floor/tiled,/area/residential/corridors) "fk" = (/obj/machinery/door/firedoor/glass/hidden,/turf/simulated/floor/tiled,/area/residential/corridors) @@ -280,17 +280,17 @@ "ft" = (/obj/structure/bed/chair/comfy/brown,/turf/simulated/floor/wood,/area/residential/lobby) "fu" = (/obj/machinery/light{dir = 1},/obj/structure/bedsheetbin,/obj/structure/table/reinforced,/turf/simulated/floor/wood,/area/residential/lobby) "fv" = (/obj/structure/bedsheetbin,/obj/structure/table/reinforced,/turf/simulated/floor/wood,/area/residential/lobby) -"fw" = (/obj/item/weapon/storage/laundry_basket,/obj/structure/table/reinforced,/turf/simulated/floor/wood,/area/residential/lobby) +"fw" = (/obj/item/storage/laundry_basket,/obj/structure/table/reinforced,/turf/simulated/floor/wood,/area/residential/lobby) "fx" = (/obj/structure/disposalpipe/segment,/turf/space,/area/space) "fy" = (/turf/unsimulated/wall,/area/residential/powerroom) "fz" = (/turf/simulated/wall,/area/residential/medbay) "fA" = (/obj/structure/table/rack,/obj/item/clothing/suit/storage/det_trench/grey,/turf/simulated/floor/carpet,/area/residential/mansion) "fB" = (/obj/structure/table/rack,/turf/simulated/floor/carpet,/area/residential/mansion) -"fC" = (/obj/structure/table/bench/marble,/obj/item/weapon/soap/deluxe,/turf/simulated/floor/tiled/white,/area/residential/mansion) +"fC" = (/obj/structure/table/bench/marble,/obj/item/soap/deluxe,/turf/simulated/floor/tiled/white,/area/residential/mansion) "fD" = (/obj/structure/closet/secure_closet/freezer/kitchen{req_access = newlist()},/turf/simulated/floor/lino,/area/residential/mansion) "fE" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/residential/corridors) "fF" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/residential/corridors) -"fG" = (/obj/structure/closet,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/wood,/area/residential/lobby) +"fG" = (/obj/structure/closet,/obj/item/storage/box/lights/mixed,/obj/item/storage/box/lights/mixed,/obj/item/storage/box/lights/mixed,/turf/simulated/floor/wood,/area/residential/lobby) "fH" = (/turf/simulated/floor/wood,/area/residential/lobby) "fI" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/wood,/area/residential/lobby) "fJ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/wood,/area/residential/lobby) @@ -298,10 +298,10 @@ "fL" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 2; start_pressure = 74000.5},/turf/simulated/floor/plating,/area/residential/powerroom) "fM" = (/obj/item/clothing/head/surgery,/obj/item/clothing/under/rank/medical/scrubs,/obj/structure/table/standard,/obj/machinery/light/small{icon_state = "bulb1"; dir = 1},/turf/simulated/floor/tiled/white,/area/residential/medbay) "fN" = (/obj/machinery/oxygen_pump/anesthetic{pixel_y = 30},/obj/machinery/optable,/turf/simulated/floor/tiled/white,/area/residential/medbay) -"fO" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/firstaid/regular,/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/white,/area/residential/medbay) -"fP" = (/obj/effect/floor_decal/corner/blue/border{dir = 4},/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/adv,/turf/simulated/floor/tiled/white,/area/residential/medbay) -"fQ" = (/obj/effect/floor_decal/corner/blue/border{dir = 8},/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/o2,/obj/item/weapon/storage/firstaid/fire,/turf/simulated/floor/tiled/white,/area/residential/medbay) -"fR" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/item/weapon/storage/box/gloves,/obj/item/weapon/storage/box/masks,/obj/machinery/light{dir = 1},/obj/item/roller,/obj/item/roller,/obj/item/roller,/turf/simulated/floor/tiled/white,/area/residential/medbay) +"fO" = (/obj/structure/table/standard,/obj/item/storage/firstaid/regular,/obj/item/storage/firstaid/regular,/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/white,/area/residential/medbay) +"fP" = (/obj/effect/floor_decal/corner/blue/border{dir = 4},/obj/structure/table/standard,/obj/item/storage/firstaid/adv,/turf/simulated/floor/tiled/white,/area/residential/medbay) +"fQ" = (/obj/effect/floor_decal/corner/blue/border{dir = 8},/obj/structure/table/standard,/obj/item/storage/firstaid/toxin,/obj/item/storage/firstaid/o2,/obj/item/storage/firstaid/fire,/turf/simulated/floor/tiled/white,/area/residential/medbay) +"fR" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/item/storage/box/gloves,/obj/item/storage/box/masks,/obj/machinery/light{dir = 1},/obj/item/roller,/obj/item/roller,/obj/item/roller,/turf/simulated/floor/tiled/white,/area/residential/medbay) "fS" = (/obj/structure/coatrack,/obj/item/clothing/head/det/grey,/turf/simulated/floor/carpet,/area/residential/mansion) "fT" = (/obj/machinery/door/airlock,/turf/simulated/floor/tiled/white,/area/residential/mansion) "fU" = (/obj/structure/closet/secure_closet/freezer/meat,/turf/simulated/floor/lino,/area/residential/mansion) @@ -313,7 +313,7 @@ "ga" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan,/turf/simulated/floor/plating,/area/residential/powerroom) "gb" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/cyan,/obj/machinery/meter,/turf/simulated/floor/plating,/area/residential/powerroom) "gc" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 9; icon_state = "intact"},/turf/simulated/floor/plating,/area/residential/powerroom) -"gd" = (/obj/item/weapon/storage/firstaid/surgery,/obj/structure/table/standard,/turf/simulated/floor/tiled/white,/area/residential/medbay) +"gd" = (/obj/item/storage/firstaid/surgery,/obj/structure/table/standard,/turf/simulated/floor/tiled/white,/area/residential/medbay) "ge" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/residential/medbay) "gf" = (/obj/effect/floor_decal/corner/blue/border,/obj/structure/bed/chair{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 5},/turf/simulated/floor/tiled/white,/area/residential/medbay) "gg" = (/obj/effect/floor_decal/corner/blue/border{dir = 4},/obj/effect/floor_decal/corner/blue/border,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/mob/living/bot/medbot,/turf/simulated/floor/tiled/white,/area/residential/medbay) @@ -322,7 +322,7 @@ "gj" = (/obj/structure/coatrack,/turf/simulated/floor/carpet,/area/residential/mansion) "gk" = (/obj/structure/table/wooden_reinforced,/turf/simulated/floor/carpet,/area/residential/mansion) "gl" = (/obj/structure/toilet{dir = 8},/turf/simulated/floor/tiled/white,/area/residential/mansion) -"gm" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/wood,/area/residential/mansion) +"gm" = (/obj/item/stool/padded,/turf/simulated/floor/wood,/area/residential/mansion) "gn" = (/obj/structure/table/marble,/turf/simulated/floor/lino,/area/residential/mansion) "go" = (/obj/machinery/vending/dinnerware,/turf/simulated/floor/lino,/area/residential/mansion) "gp" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/wood,/area/residential/lobby) @@ -380,7 +380,7 @@ "hp" = (/obj/effect/forcefield,/obj/machinery/door/airlock/engineering,/obj/machinery/door/blast/regular,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/residential/powerroom) "hq" = (/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/residential/medbay) "hr" = (/obj/machinery/door/airlock/multi_tile/glass{dir = 4; req_access = newlist()},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{icon_state = "1-2"},/turf/simulated/floor/tiled,/area/residential/medbay) -"hs" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/flame/candle/candelabra/everburn,/turf/simulated/floor/carpet,/area/residential/mansion) +"hs" = (/obj/structure/table/wooden_reinforced,/obj/item/flame/candle/candelabra/everburn,/turf/simulated/floor/carpet,/area/residential/mansion) "ht" = (/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 4},/turf/simulated/floor/wood,/area/residential/mansion) "hu" = (/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/residential/mansion) "hv" = (/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 8},/turf/simulated/floor/wood,/area/residential/mansion) @@ -468,7 +468,7 @@ "iZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/residential/docking_lobby) "ja" = (/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/residential/docking_lobby) "jb" = (/obj/structure/cable{icon_state = "1-4"},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/residential/docking_lobby) -"jc" = (/obj/structure/closet/crate,/obj/item/clothing/accessory/medal/silver/valor,/obj/item/weapon/storage/photo_album,/obj/item/clothing/head/fez,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/lino,/area/residential/room3) +"jc" = (/obj/structure/closet/crate,/obj/item/clothing/accessory/medal/silver/valor,/obj/item/storage/photo_album,/obj/item/clothing/head/fez,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/lino,/area/residential/room3) "jd" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled,/area/residential/docking_lobby) "je" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/residential/docking_lobby) "jf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{icon_state = "intact-scrubbers"; dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor/tiled,/area/residential/docking_lobby) @@ -496,10 +496,10 @@ "jB" = (/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/white,/area/residential/room1) "jC" = (/obj/structure/closet/cabinet,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/wood,/area/residential/room1) "jD" = (/turf/simulated/floor/wood,/area/residential/room1) -"jE" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp,/turf/simulated/floor/wood,/area/residential/room1) +"jE" = (/obj/structure/table/woodentable,/obj/item/flashlight/lamp,/turf/simulated/floor/wood,/area/residential/room1) "jF" = (/obj/structure/closet{icon_state = "cabinet_closed"},/obj/item/clothing/under/shorts/black,/turf/simulated/floor/lino,/area/residential/room3) "jG" = (/turf/simulated/floor/lino,/area/residential/room3) -"jH" = (/obj/structure/bed/double,/obj/item/weapon/bedsheet/browndouble,/turf/simulated/floor/lino,/area/residential/room3) +"jH" = (/obj/structure/bed/double,/obj/item/bedsheet/browndouble,/turf/simulated/floor/lino,/area/residential/room3) "jI" = (/obj/structure/toilet{dir = 4},/turf/simulated/floor/tiled/neutral,/area/residential/room3) "jJ" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor/tiled/neutral,/area/residential/room3) "jK" = (/obj/structure/mirror,/turf/simulated/wall,/area/residential/room3) @@ -517,7 +517,7 @@ "jW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/white,/area/residential/room1) "jX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{icon_state = "intact-scrubbers"; dir = 4},/obj/machinery/door/airlock,/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled/white,/area/residential/room1) "jY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/residential/room1) -"jZ" = (/obj/structure/bed/double/padded,/obj/item/weapon/bedsheet/bluedouble,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/wood,/area/residential/room1) +"jZ" = (/obj/structure/bed/double/padded,/obj/item/bedsheet/bluedouble,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/wood,/area/residential/room1) "ka" = (/obj/structure/fitness/punchingbag,/obj/machinery/light/small{dir = 8; pixel_y = 0},/turf/simulated/floor/lino,/area/residential/room3) "kb" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/lino,/area/residential/room3) "kc" = (/obj/machinery/door/airlock/multi_tile,/turf/simulated/floor/tiled/neutral,/area/residential/room3) @@ -529,7 +529,7 @@ "ki" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/wood,/area/residential/room5) "kj" = (/obj/structure/table/woodentable,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/carpet,/area/residential/room5) "kk" = (/obj/structure/table/woodentable,/turf/simulated/floor/carpet,/area/residential/room5) -"kl" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/item/weapon/towel/random,/turf/simulated/floor/tiled/white,/area/residential/room1) +"kl" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/item/towel/random,/turf/simulated/floor/tiled/white,/area/residential/room1) "km" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/mirror{dir = 4; pixel_x = 28; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/residential/room1) "kn" = (/obj/machinery/alarm{dir = 4; pixel_x = -25; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/residential/room1) "ko" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/light_switch{dir = 1; pixel_x = 4; pixel_y = -24},/turf/simulated/floor/wood,/area/residential/room1) @@ -538,9 +538,9 @@ "kr" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/residential/corridors) "ks" = (/obj/structure/fitness/weightlifter,/obj/machinery/alarm{dir = 4; pixel_x = -25; pixel_y = 0},/turf/simulated/floor/lino,/area/residential/room3) "kt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/lino,/area/residential/room3) -"ku" = (/obj/structure/table/marble,/obj/item/weapon/storage/box/beakers,/turf/simulated/floor/lino,/area/residential/mansion) +"ku" = (/obj/structure/table/marble,/obj/item/storage/box/beakers,/turf/simulated/floor/lino,/area/residential/mansion) "kv" = (/obj/machinery/door/airlock{name = "Unit 1"; req_access = list(8001)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{icon_state = "intact-scrubbers"; dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/residential/corridors) -"kw" = (/obj/structure/curtain/open/shower,/obj/machinery/shower{icon_state = "shower"; dir = 8; pixel_x = -5; pixel_y = 0},/obj/item/weapon/soap/deluxe,/turf/simulated/floor/tiled/neutral,/area/residential/room3) +"kw" = (/obj/structure/curtain/open/shower,/obj/machinery/shower{icon_state = "shower"; dir = 8; pixel_x = -5; pixel_y = 0},/obj/item/soap/deluxe,/turf/simulated/floor/tiled/neutral,/area/residential/room3) "kx" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{icon_state = "1-4"},/turf/simulated/floor/tiled,/area/residential/corridors) "ky" = (/obj/machinery/door/airlock/external{name = "S1"; req_access = list(8007)},/turf/simulated/shuttle/plating,/area/residential/ship_bay) "kz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{icon_state = "intact-scrubbers"; dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/residential/room5) @@ -557,8 +557,8 @@ "kK" = (/obj/structure/table/bench/padded,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{icon_state = "intact-scrubbers"; dir = 4},/turf/simulated/floor/carpet,/area/residential/room5) "kL" = (/obj/structure/table/bench/padded,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/carpet,/area/residential/room5) "kM" = (/obj/structure/coatrack,/obj/item/clothing/head/det,/turf/simulated/floor/wood,/area/residential/mansion) -"kN" = (/obj/item/weapon/reagent_containers/glass/bucket,/mob/living/bot/cleanbot,/turf/simulated/floor/wood,/area/residential/mansion) -"kO" = (/obj/item/weapon/mop,/obj/structure/mopbucket,/turf/simulated/floor/wood,/area/residential/mansion) +"kN" = (/obj/item/reagent_containers/glass/bucket,/mob/living/bot/cleanbot,/turf/simulated/floor/wood,/area/residential/mansion) +"kO" = (/obj/item/mop,/obj/structure/mopbucket,/turf/simulated/floor/wood,/area/residential/mansion) "kP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{icon_state = "intact-scrubbers"; dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/space) "kQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/space) "kR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock,/obj/machinery/door/firedoor/glass,/turf/simulated/floor/wood,/area/residential/room1) @@ -598,8 +598,8 @@ "lz" = (/obj/machinery/door/airlock/glass,/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/residential/room5) "lA" = (/obj/machinery/door/airlock/glass,/obj/machinery/door/firedoor/glass,/turf/simulated/floor/wood,/area/residential/room5) "lB" = (/obj/machinery/door/airlock/glass,/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/residential/room5) -"lC" = (/obj/structure/table/rack,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/turf/simulated/floor/wood,/area/residential/mansion) -"lD" = (/obj/structure/table/rack,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/item/weapon/storage/toolbox/syndicate/powertools,/turf/simulated/floor/wood,/area/residential/mansion) +"lC" = (/obj/structure/table/rack,/obj/item/grenade/chem_grenade/cleaner,/obj/item/grenade/chem_grenade/cleaner,/turf/simulated/floor/wood,/area/residential/mansion) +"lD" = (/obj/structure/table/rack,/obj/item/reagent_containers/spray/cleaner,/obj/item/reagent_containers/spray/cleaner,/obj/item/storage/toolbox/syndicate/powertools,/turf/simulated/floor/wood,/area/residential/mansion) "lE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{icon_state = "intact-scrubbers"; dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/space) "lF" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled,/area/residential/docking_lobby) "lG" = (/obj/machinery/computer/cryopod/dorms{pixel_x = 32},/turf/simulated/floor/tiled,/area/residential/docking_lobby) @@ -621,9 +621,9 @@ "lW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{icon_state = "intact-scrubbers"; dir = 4},/turf/simulated/floor/wood,/area/residential/room3) "lX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/wood,/area/residential/room3) "lY" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/wood,/area/residential/room3) -"lZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/mopbucket,/obj/item/weapon/mop,/obj/machinery/light/small{icon_state = "bulb1"; dir = 1},/turf/simulated/floor/tiled,/area/residential/room5) +"lZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/mopbucket,/obj/item/mop,/obj/machinery/light/small{icon_state = "bulb1"; dir = 1},/turf/simulated/floor/tiled,/area/residential/room5) "ma" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/wood,/area/residential/room5) -"mb" = (/obj/structure/table/steel_reinforced,/obj/item/trash/bowl,/obj/item/trash/bowl,/obj/item/trash/bowl,/obj/item/weapon/tray,/obj/item/weapon/tray,/obj/item/weapon/material/knife/plastic,/obj/item/weapon/material/knife/plastic,/obj/item/weapon/material/knife/plastic,/obj/item/weapon/material/kitchen/utensil/fork,/obj/item/weapon/material/kitchen/utensil/fork,/obj/item/weapon/material/kitchen/utensil/spoon,/obj/item/weapon/material/kitchen/utensil/spoon,/obj/item/weapon/material/kitchen/utensil/spoon,/turf/simulated/floor/tiled/white,/area/residential/room5) +"mb" = (/obj/structure/table/steel_reinforced,/obj/item/trash/bowl,/obj/item/trash/bowl,/obj/item/trash/bowl,/obj/item/tray,/obj/item/tray,/obj/item/material/knife/plastic,/obj/item/material/knife/plastic,/obj/item/material/knife/plastic,/obj/item/material/kitchen/utensil/fork,/obj/item/material/kitchen/utensil/fork,/obj/item/material/kitchen/utensil/spoon,/obj/item/material/kitchen/utensil/spoon,/obj/item/material/kitchen/utensil/spoon,/turf/simulated/floor/tiled/white,/area/residential/room5) "mc" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/residential/room5) "md" = (/obj/structure/table/marble,/turf/simulated/floor/wood,/area/residential/mansion) "me" = (/obj/structure/closet/cabinet,/turf/simulated/floor/wood,/area/residential/mansion) @@ -638,12 +638,12 @@ "mn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/wood,/area/residential/room5) "mo" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{icon_state = "intact-scrubbers"; dir = 4},/turf/simulated/floor/wood,/area/residential/room5) "mp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/wood,/area/residential/room5) -"mq" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/material/kitchen/rollingpin,/obj/item/weapon/material/knife,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/item/weapon/reagent_containers/food/condiment/enzyme,/turf/simulated/floor/tiled/white,/area/residential/room5) +"mq" = (/obj/structure/table/steel_reinforced,/obj/item/material/kitchen/rollingpin,/obj/item/material/knife,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/item/reagent_containers/food/condiment/enzyme,/turf/simulated/floor/tiled/white,/area/residential/room5) "mr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/residential/room5) "ms" = (/turf/simulated/floor/holofloor/wood,/area/residential/mansion) "mt" = (/obj/structure/bed/chair/comfy/black{dir = 4},/turf/simulated/floor/holofloor/wood,/area/residential/mansion) "mu" = (/obj/structure/table/woodentable,/turf/simulated/floor/holofloor/wood,/area/residential/mansion) -"mv" = (/obj/structure/closet/secure_closet/freezer/fridge,/obj/item/weapon/reagent_containers/food/condiment/enzyme,/obj/item/weapon/reagent_containers/food/condiment/carton/flour,/obj/item/weapon/reagent_containers/food/condiment/carton/flour,/obj/item/weapon/reagent_containers/food/condiment/carton/flour,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor/lino,/area/residential/room1) +"mv" = (/obj/structure/closet/secure_closet/freezer/fridge,/obj/item/reagent_containers/food/condiment/enzyme,/obj/item/reagent_containers/food/condiment/carton/flour,/obj/item/reagent_containers/food/condiment/carton/flour,/obj/item/reagent_containers/food/condiment/carton/flour,/obj/item/reagent_containers/food/snacks/meat,/obj/item/reagent_containers/food/snacks/meat,/obj/item/reagent_containers/food/snacks/meat,/turf/simulated/floor/lino,/area/residential/room1) "mw" = (/turf/simulated/floor/lino,/area/residential/room1) "mx" = (/obj/structure/bed/chair/wood,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/residential/room1) "my" = (/obj/structure/bed/chair/wood,/turf/simulated/floor/wood,/area/residential/room1) @@ -651,18 +651,18 @@ "mA" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/wood,/area/residential/room3) "mB" = (/obj/structure/closet/crate/bin,/turf/simulated/floor/tiled/white,/area/residential/room3) "mC" = (/turf/simulated/floor/tiled/white,/area/residential/room3) -"mD" = (/obj/structure/closet/secure_closet/freezer/fridge,/obj/item/weapon/reagent_containers/food/condiment/enzyme,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor/tiled/white,/area/residential/room3) +"mD" = (/obj/structure/closet/secure_closet/freezer/fridge,/obj/item/reagent_containers/food/condiment/enzyme,/obj/item/reagent_containers/food/snacks/meat,/obj/item/reagent_containers/food/snacks/meat,/obj/item/reagent_containers/food/snacks/meat,/turf/simulated/floor/tiled/white,/area/residential/room3) "mE" = (/obj/structure/table/steel_reinforced,/obj/machinery/microwave,/turf/simulated/floor/tiled/white,/area/residential/room5) "mF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/residential/room5) "mG" = (/obj/structure/bed/chair/comfy/beige,/turf/simulated/floor/holofloor/wood,/area/residential/mansion) "mH" = (/obj/structure/bed/chair/comfy/brown,/turf/simulated/floor/holofloor/wood,/area/residential/mansion) "mI" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/residential/lobby) "mJ" = (/obj/structure/sink/kitchen,/turf/simulated/wall,/area/residential/room1) -"mK" = (/obj/structure/table/woodentable,/obj/item/weapon/flame/candle,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/wood,/area/residential/room1) -"mL" = (/obj/structure/table/woodentable,/obj/item/weapon/flame/candle,/turf/simulated/floor/wood,/area/residential/room1) +"mK" = (/obj/structure/table/woodentable,/obj/item/flame/candle,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/wood,/area/residential/room1) +"mL" = (/obj/structure/table/woodentable,/obj/item/flame/candle,/turf/simulated/floor/wood,/area/residential/room1) "mM" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/wood,/area/residential/room3) "mN" = (/obj/structure/table/woodentable,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/wood,/area/residential/room3) -"mO" = (/obj/structure/table/marble,/obj/item/weapon/reagent_containers/food/drinks/bottle/specialwhiskey,/turf/simulated/floor/tiled/white,/area/residential/room3) +"mO" = (/obj/structure/table/marble,/obj/item/reagent_containers/food/drinks/bottle/specialwhiskey,/turf/simulated/floor/tiled/white,/area/residential/room3) "mP" = (/turf/simulated/floor/carpet/blue,/area/residential/room5) "mQ" = (/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/carpet/blue,/area/residential/room5) "mR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/light{dir = 1},/turf/simulated/floor/carpet/blue,/area/residential/room5) @@ -670,9 +670,9 @@ "mT" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/door/airlock,/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{icon_state = "intact-scrubbers"; dir = 4},/turf/simulated/floor/wood,/area/residential/room5) "mU" = (/obj/structure/cable{icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{icon_state = "intact-scrubbers"; dir = 4},/turf/simulated/floor/wood,/area/residential/room5) "mV" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/residential/room5) -"mW" = (/obj/structure/closet/secure_closet/freezer/fridge,/obj/item/weapon/reagent_containers/food/condiment/carton/flour,/obj/item/weapon/reagent_containers/food/condiment/carton/flour,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor/tiled/white,/area/residential/room5) +"mW" = (/obj/structure/closet/secure_closet/freezer/fridge,/obj/item/reagent_containers/food/condiment/carton/flour,/obj/item/reagent_containers/food/condiment/carton/flour,/obj/item/reagent_containers/food/snacks/meat,/obj/item/reagent_containers/food/snacks/meat,/obj/item/reagent_containers/food/snacks/meat,/turf/simulated/floor/tiled/white,/area/residential/room5) "mX" = (/obj/structure/sink/kitchen{pixel_y = 30},/turf/simulated/floor/tiled/white,/area/residential/room5) -"mY" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/storage/box/glasses,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/white,/area/residential/room5) +"mY" = (/obj/structure/table/steel_reinforced,/obj/item/storage/box/glasses,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/white,/area/residential/room5) "mZ" = (/obj/structure/table/steel_reinforced,/obj/machinery/chemical_dispenser/bar_coffee,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/white,/area/residential/room5) "na" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled/white,/area/residential/room5) "nb" = (/obj/structure/bed/chair/comfy/brown{dir = 8},/turf/simulated/floor/holofloor/wood,/area/residential/mansion) @@ -684,19 +684,19 @@ "nh" = (/obj/machinery/appliance/cooker/oven,/turf/simulated/floor/tiled/white,/area/residential/room3) "ni" = (/obj/structure/table/marble,/obj/machinery/microwave,/turf/simulated/floor/tiled/white,/area/residential/room3) "nj" = (/obj/structure/table/marble,/turf/simulated/floor/tiled/white,/area/residential/room3) -"nk" = (/obj/item/weapon/bedsheet/bluedouble,/obj/structure/bed/double/padded,/turf/simulated/floor/carpet/blue,/area/residential/room5) +"nk" = (/obj/item/bedsheet/bluedouble,/obj/structure/bed/double/padded,/turf/simulated/floor/carpet/blue,/area/residential/room5) "nl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet/blue,/area/residential/room5) "nm" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/carpet/blue,/area/residential/room5) "nn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/wood,/area/residential/room5) "no" = (/obj/machinery/vending/hydronutrients,/turf/simulated/floor/tiled/white,/area/residential/room5) "np" = (/turf/simulated/floor/tiled/white,/area/residential/room5) -"nq" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp,/turf/simulated/floor/holofloor/wood,/area/residential/mansion) +"nq" = (/obj/structure/table/woodentable,/obj/item/flashlight/lamp,/turf/simulated/floor/holofloor/wood,/area/residential/mansion) "nr" = (/obj/structure/table/woodentable,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/carpet/blue,/area/residential/room5) "ns" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/carpet/blue,/area/residential/room5) "nt" = (/obj/structure/closet/cabinet,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/light,/turf/simulated/floor/carpet/blue,/area/residential/room5) "nu" = (/obj/structure/closet/cabinet,/turf/simulated/floor/carpet/blue,/area/residential/room5) "nv" = (/obj/machinery/seed_storage/garden,/turf/simulated/floor/tiled/white,/area/residential/room5) -"nw" = (/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/material/minihoe,/obj/item/weapon/tool/wirecutters/clippers/trimmers,/obj/item/weapon/storage/bag/plants,/obj/item/device/analyzer/plant_analyzer,/obj/item/weapon/reagent_containers/spray/plantbgone,/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/residential/room5) +"nw" = (/obj/item/reagent_containers/glass/bucket,/obj/item/material/minihoe,/obj/item/tool/wirecutters/clippers/trimmers,/obj/item/storage/bag/plants,/obj/item/analyzer/plant_analyzer,/obj/item/reagent_containers/spray/plantbgone,/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/residential/room5) "nx" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor/tiled/white,/area/residential/room5) "ny" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/residential/room5) "nz" = (/obj/structure/bookcase{name = "Forbidden Knowledge"},/turf/simulated/floor/holofloor/wood,/area/residential/mansion) @@ -716,7 +716,7 @@ "nN" = (/obj/machinery/door/airlock,/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{icon_state = "intact-scrubbers"; dir = 4},/turf/simulated/floor/tiled,/area/residential/room5) "nO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled,/area/residential/room5) "nP" = (/obj/structure/reagent_dispensers/winevat,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/residential/room5) -"nQ" = (/obj/item/weapon/bedsheet/purpledouble,/obj/structure/bed/double/padded,/turf/simulated/floor/carpet/purcarpet,/area/residential/room5) +"nQ" = (/obj/item/bedsheet/purpledouble,/obj/structure/bed/double/padded,/turf/simulated/floor/carpet/purcarpet,/area/residential/room5) "nR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/carpet/purcarpet,/area/residential/room5) "nS" = (/obj/structure/table/glass,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/carpet,/area/residential/room5) "nT" = (/obj/structure/bed/chair/comfy/purp,/obj/structure/bed/chair/comfy/blue,/obj/structure/bed/chair/comfy/purp,/turf/simulated/floor/carpet,/area/residential/room5) @@ -733,10 +733,10 @@ "oe" = (/obj/machinery/door/airlock,/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{icon_state = "intact-scrubbers"; dir = 4},/turf/simulated/floor/wood,/area/residential/room5) "of" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/light,/turf/simulated/floor/wood,/area/residential/room5) "og" = (/obj/structure/reagent_dispensers/winevat,/turf/simulated/floor/tiled,/area/residential/room5) -"oh" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/weapon/material/knife,/turf/simulated/floor/lino,/area/residential/room1) +"oh" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/material/knife,/turf/simulated/floor/lino,/area/residential/room1) "oi" = (/obj/structure/handrail,/turf/simulated/floor/carpet/bcarpet,/area/residential/room2) -"oj" = (/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/structure/closet/cabinet,/obj/item/weapon/handcuffs/legcuffs/fuzzy,/obj/item/weapon/handcuffs/fuzzy,/obj/item/clothing/head/headband/maid,/obj/item/clothing/under/fluff/latexmaid,/obj/item/clothing/head/nursehat,/obj/item/clothing/under/rank/nurse,/obj/item/clothing/under/rank/khi/sci,/turf/simulated/floor/carpet/bcarpet,/area/residential/room2) -"ok" = (/obj/item/weapon/bedsheet/hosdouble,/obj/structure/bed/double/padded,/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/structure/curtain/black,/turf/simulated/floor/carpet/bcarpet,/area/residential/room2) +"oj" = (/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/structure/closet/cabinet,/obj/item/handcuffs/legcuffs/fuzzy,/obj/item/handcuffs/fuzzy,/obj/item/clothing/head/headband/maid,/obj/item/clothing/under/fluff/latexmaid,/obj/item/clothing/head/nursehat,/obj/item/clothing/under/rank/nurse,/obj/item/clothing/under/rank/khi/sci,/turf/simulated/floor/carpet/bcarpet,/area/residential/room2) +"ok" = (/obj/item/bedsheet/hosdouble,/obj/structure/bed/double/padded,/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/structure/curtain/black,/turf/simulated/floor/carpet/bcarpet,/area/residential/room2) "ol" = (/obj/structure/sink{pixel_y = 15},/obj/structure/mirror{dir = 4; pixel_x = 0; pixel_y = 28},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/alarm{dir = 4; pixel_x = -25; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/residential/room2) "om" = (/obj/structure/table/standard,/obj/random/soap,/turf/simulated/floor/tiled/white,/area/residential/room2) "on" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/residential/corridors) @@ -751,7 +751,7 @@ "ow" = (/obj/structure/toilet{dir = 8},/turf/simulated/floor/tiled/white,/area/residential/room2) "ox" = (/obj/structure/bed/chair/comfy/brown,/turf/simulated/floor/carpet,/area/residential/room4) "oy" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/structure/bed/chair/comfy/brown,/turf/simulated/floor/carpet,/area/residential/room4) -"oz" = (/obj/item/weapon/bedsheet/double,/obj/structure/bed/double/padded,/turf/simulated/floor/carpet,/area/residential/room4) +"oz" = (/obj/item/bedsheet/double,/obj/structure/bed/double/padded,/turf/simulated/floor/carpet,/area/residential/room4) "oA" = (/obj/structure/table/steel,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/carpet/bcarpet,/area/residential/room2) "oB" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/carpet/bcarpet,/area/residential/room2) "oC" = (/obj/structure/fans/tiny{name = "Thermal Regulator Vent"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock/external{name = "S5"; req_access = list(8011)},/turf/simulated/floor/plating,/area/residential/ship_bay) @@ -765,7 +765,7 @@ "oK" = (/obj/structure/bed/chair/comfy/brown{dir = 1},/turf/simulated/floor/carpet,/area/residential/room4) "oL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/bed/chair/comfy/brown{dir = 1},/turf/simulated/floor/carpet,/area/residential/room4) "oM" = (/obj/structure/fitness/weightlifter,/turf/simulated/floor/carpet,/area/residential/room4) -"oN" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/tool/wirecutters/clippers/trimmers,/obj/item/weapon/reagent_containers/glass/bottle/eznutrient,/obj/item/weapon/material/minihoe,/turf/simulated/floor/wood,/area/residential/room2) +"oN" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/item/reagent_containers/glass/bucket,/obj/item/tool/wirecutters/clippers/trimmers,/obj/item/reagent_containers/glass/bottle/eznutrient,/obj/item/material/minihoe,/turf/simulated/floor/wood,/area/residential/room2) "oO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/residential/room2) "oP" = (/obj/structure/bed/chair/sofa/right,/turf/simulated/floor/wood,/area/residential/room2) "oQ" = (/obj/structure/bed/chair/sofa/left,/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/wood,/area/residential/room2) @@ -774,7 +774,7 @@ "oT" = (/obj/machinery/light_switch{dir = 4; pixel_x = -28},/turf/simulated/floor/wood,/area/residential/room4) "oU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/residential/room4) "oV" = (/turf/simulated/floor/wood,/area/residential/room4) -"oW" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/wood,/area/residential/room4) +"oW" = (/obj/item/stool/padded,/turf/simulated/floor/wood,/area/residential/room4) "oX" = (/obj/structure/device/piano{dir = 4},/turf/simulated/floor/carpet,/area/residential/mansion) "oY" = (/turf/simulated/floor/wood,/area/residential/room2) "oZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 5},/turf/simulated/floor/wood,/area/residential/room2) @@ -792,8 +792,8 @@ "pl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{icon_state = "intact-scrubbers"; dir = 4},/turf/simulated/floor/wood,/area/residential/room4) "pm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{icon_state = "intact-scrubbers"; dir = 4},/turf/simulated/floor/wood,/area/residential/room4) "pn" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{icon_state = "intact-scrubbers"; dir = 4},/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/residential/room4) -"po" = (/obj/structure/table/woodentable,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{icon_state = "intact-scrubbers"; dir = 4},/obj/item/weapon/material/kitchen/utensil/fork,/obj/item/weapon/material/kitchen/utensil/spoon,/obj/item/weapon/material/knife/plastic,/turf/simulated/floor/wood,/area/residential/room4) -"pp" = (/obj/structure/table/woodentable,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/item/weapon/storage/box/glasses,/turf/simulated/floor/wood,/area/residential/room4) +"po" = (/obj/structure/table/woodentable,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{icon_state = "intact-scrubbers"; dir = 4},/obj/item/material/kitchen/utensil/fork,/obj/item/material/kitchen/utensil/spoon,/obj/item/material/knife/plastic,/turf/simulated/floor/wood,/area/residential/room4) +"pp" = (/obj/structure/table/woodentable,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/item/storage/box/glasses,/turf/simulated/floor/wood,/area/residential/room4) "pq" = (/turf/simulated/wall,/area/residential/room6) "pr" = (/obj/structure/window/reinforced/full,/obj/structure/grille,/obj/structure/curtain/black,/turf/simulated/floor/plating,/area/residential/room6) "ps" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/residential/room2) @@ -806,14 +806,14 @@ "pz" = (/obj/structure/closet/cabinet,/turf/simulated/floor/wood,/area/residential/room6) "pA" = (/obj/structure/sink/kitchen{pixel_y = 30},/turf/simulated/floor/tiled/white,/area/residential/room6) "pB" = (/obj/structure/table/steel_reinforced,/obj/machinery/microwave,/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/white,/area/residential/room6) -"pC" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/material/kitchen/rollingpin,/obj/item/weapon/material/knife,/obj/item/weapon/reagent_containers/food/condiment/enzyme,/turf/simulated/floor/tiled/white,/area/residential/room6) -"pD" = (/obj/structure/table/steel_reinforced,/obj/item/trash/bowl,/obj/item/trash/bowl,/obj/item/trash/bowl,/obj/item/weapon/tray,/obj/item/weapon/tray,/obj/item/weapon/material/knife/plastic,/obj/item/weapon/material/knife/plastic,/obj/item/weapon/material/knife/plastic,/obj/item/weapon/material/kitchen/utensil/fork,/obj/item/weapon/material/kitchen/utensil/fork,/obj/item/weapon/material/kitchen/utensil/spoon,/obj/item/weapon/material/kitchen/utensil/spoon,/obj/item/weapon/material/kitchen/utensil/spoon,/turf/simulated/floor/tiled/white,/area/residential/room6) +"pC" = (/obj/structure/table/steel_reinforced,/obj/item/material/kitchen/rollingpin,/obj/item/material/knife,/obj/item/reagent_containers/food/condiment/enzyme,/turf/simulated/floor/tiled/white,/area/residential/room6) +"pD" = (/obj/structure/table/steel_reinforced,/obj/item/trash/bowl,/obj/item/trash/bowl,/obj/item/trash/bowl,/obj/item/tray,/obj/item/tray,/obj/item/material/knife/plastic,/obj/item/material/knife/plastic,/obj/item/material/knife/plastic,/obj/item/material/kitchen/utensil/fork,/obj/item/material/kitchen/utensil/fork,/obj/item/material/kitchen/utensil/spoon,/obj/item/material/kitchen/utensil/spoon,/obj/item/material/kitchen/utensil/spoon,/turf/simulated/floor/tiled/white,/area/residential/room6) "pE" = (/obj/structure/bed/chair/wood{dir = 8},/turf/simulated/floor/wood,/area/residential/room2) "pF" = (/obj/structure/table/marble,/turf/simulated/floor/lino,/area/residential/room2) "pG" = (/obj/machinery/light{dir = 4},/obj/structure/table/marble,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/lino,/area/residential/room2) "pH" = (/turf/simulated/floor/lino,/area/residential/room2) "pI" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/wood,/area/residential/room4) -"pJ" = (/obj/structure/table/steel,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/item/weapon/material/kitchen/rollingpin,/turf/simulated/floor/lino,/area/residential/room4) +"pJ" = (/obj/structure/table/steel,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/item/material/kitchen/rollingpin,/turf/simulated/floor/lino,/area/residential/room4) "pK" = (/obj/structure/window/reinforced/full,/obj/structure/grille,/obj/structure/curtain/black,/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/residential/room5) "pL" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/wood,/area/residential/room6) "pM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/residential/room6) @@ -821,7 +821,7 @@ "pO" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled/white,/area/residential/room6) "pP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/tiled/white,/area/residential/room6) "pQ" = (/turf/simulated/floor/tiled/white,/area/residential/room6) -"pR" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/storage/box/glasses,/turf/simulated/floor/tiled/white,/area/residential/room6) +"pR" = (/obj/structure/table/steel_reinforced,/obj/item/storage/box/glasses,/turf/simulated/floor/tiled/white,/area/residential/room6) "pS" = (/obj/structure/bed/chair/wood,/turf/simulated/floor/wood,/area/residential/room4) "pT" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor/lino,/area/residential/room4) "pU" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable{icon_state = "1-4"},/turf/simulated/floor/tiled,/area/residential/corridors) @@ -837,13 +837,13 @@ "qe" = (/obj/structure/coatrack,/turf/simulated/floor/wood,/area/residential/room6) "qf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/residential/room6) "qg" = (/obj/structure/table/steel_reinforced,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/white,/area/residential/room6) -"qh" = (/obj/structure/closet/secure_closet/freezer/fridge,/obj/item/weapon/reagent_containers/food/condiment/carton/flour,/obj/item/weapon/reagent_containers/food/condiment/carton/flour,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor/tiled/white,/area/residential/room6) +"qh" = (/obj/structure/closet/secure_closet/freezer/fridge,/obj/item/reagent_containers/food/condiment/carton/flour,/obj/item/reagent_containers/food/condiment/carton/flour,/obj/item/reagent_containers/food/snacks/meat,/obj/item/reagent_containers/food/snacks/meat,/obj/item/reagent_containers/food/snacks/meat,/turf/simulated/floor/tiled/white,/area/residential/room6) "qi" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/wood,/area/residential/room2) "qj" = (/obj/machinery/microwave,/obj/structure/table/marble,/turf/simulated/floor/lino,/area/residential/room2) "qk" = (/obj/machinery/reagentgrinder,/obj/structure/table/marble,/turf/simulated/floor/lino,/area/residential/room2) -"ql" = (/obj/structure/closet/secure_closet/freezer/fridge,/obj/item/weapon/reagent_containers/food/condiment/enzyme,/obj/item/weapon/reagent_containers/food/condiment/carton/flour,/obj/item/weapon/reagent_containers/food/condiment/carton/flour,/obj/item/weapon/reagent_containers/food/condiment/carton/flour,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor/lino,/area/residential/room2) -"qm" = (/obj/structure/closet/secure_closet/freezer/fridge,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor/wood,/area/residential/room4) -"qn" = (/obj/structure/table/steel,/obj/item/weapon/reagent_containers/food/condiment/enzyme,/turf/simulated/floor/lino,/area/residential/room4) +"ql" = (/obj/structure/closet/secure_closet/freezer/fridge,/obj/item/reagent_containers/food/condiment/enzyme,/obj/item/reagent_containers/food/condiment/carton/flour,/obj/item/reagent_containers/food/condiment/carton/flour,/obj/item/reagent_containers/food/condiment/carton/flour,/obj/item/reagent_containers/food/snacks/meat,/obj/item/reagent_containers/food/snacks/meat,/obj/item/reagent_containers/food/snacks/meat,/turf/simulated/floor/lino,/area/residential/room2) +"qm" = (/obj/structure/closet/secure_closet/freezer/fridge,/obj/item/reagent_containers/food/snacks/meat,/obj/item/reagent_containers/food/snacks/meat,/obj/item/reagent_containers/food/snacks/meat,/turf/simulated/floor/wood,/area/residential/room4) +"qn" = (/obj/structure/table/steel,/obj/item/reagent_containers/food/condiment/enzyme,/turf/simulated/floor/lino,/area/residential/room4) "qo" = (/obj/structure/table/steel,/obj/machinery/chemical_dispenser/bar_soft,/turf/simulated/floor/lino,/area/residential/room4) "qp" = (/obj/machinery/microwave,/obj/structure/table/steel,/turf/simulated/floor/lino,/area/residential/room4) "qq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor/tiled,/area/residential/corridors) @@ -886,9 +886,9 @@ "rb" = (/obj/structure/table/woodentable,/turf/simulated/floor/carpet,/area/residential/room6) "rc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet,/area/residential/room6) "rd" = (/turf/simulated/floor/carpet,/area/residential/room6) -"re" = (/obj/structure/closet/cabinet,/obj/item/device/instrument/guitar,/turf/simulated/floor/carpet,/area/residential/room6) +"re" = (/obj/structure/closet/cabinet,/obj/item/instrument/guitar,/turf/simulated/floor/carpet,/area/residential/room6) "rf" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/carpet,/area/residential/room6) -"rg" = (/obj/item/weapon/bedsheet/hos,/obj/structure/bed/padded,/turf/simulated/floor/carpet,/area/residential/room6) +"rg" = (/obj/item/bedsheet/hos,/obj/structure/bed/padded,/turf/simulated/floor/carpet,/area/residential/room6) "rh" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/wood,/area/residential/room6) "ri" = (/obj/structure/cable{icon_state = "1-8"},/turf/simulated/floor/wood,/area/residential/room6) "rj" = (/obj/machinery/light,/turf/simulated/floor/wood,/area/residential/room6) @@ -901,7 +901,7 @@ "rq" = (/obj/structure/flora/pottedplant{icon_state = "plant-09"; name = "Dave"; pixel_y = 15},/turf/simulated/floor/carpet,/area/residential/room6) "rr" = (/obj/structure/flora/pottedplant{icon_state = "plant-10"},/turf/simulated/floor/carpet,/area/residential/room6) "rs" = (/obj/structure/closet/cabinet,/turf/simulated/floor/carpet,/area/residential/room6) -"rt" = (/obj/item/weapon/bedsheet/yellow,/obj/structure/bed/padded,/turf/simulated/floor/carpet,/area/residential/room6) +"rt" = (/obj/item/bedsheet/yellow,/obj/structure/bed/padded,/turf/simulated/floor/carpet,/area/residential/room6) "ru" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/carpet,/area/residential/room6) "rv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/carpet,/area/residential/room6) "rw" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{icon_state = "intact-scrubbers"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/carpet,/area/residential/room6) @@ -911,7 +911,7 @@ "rA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/carpet,/area/residential/room6) "rB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/carpet,/area/residential/room6) "rC" = (/obj/structure/table/woodentable,/obj/item/modular_computer/laptop/preset/custom_loadout/cheap,/turf/simulated/floor/carpet,/area/residential/room6) -"rD" = (/obj/structure/table/woodentable,/obj/item/weapon/pen/fountain,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/carpet,/area/residential/room6) +"rD" = (/obj/structure/table/woodentable,/obj/item/pen/fountain,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/carpet,/area/residential/room6) "rE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/carpet,/area/residential/room6) "rF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/carpet,/area/residential/room6) "rG" = (/obj/structure/bed/chair/office/light{dir = 1},/turf/simulated/floor/carpet,/area/residential/room6) @@ -923,8 +923,8 @@ "rM" = (/obj/structure/bed/chair/office/light,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{icon_state = "intact-scrubbers"; dir = 4},/turf/simulated/floor/carpet,/area/residential/room6) "rN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/carpet,/area/residential/room6) "rO" = (/obj/structure/filingcabinet/filingcabinet,/obj/machinery/light,/turf/simulated/floor/carpet,/area/residential/room6) -"rP" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin,/turf/simulated/floor/carpet,/area/residential/room6) -"rQ" = (/obj/structure/table/woodentable,/obj/item/weapon/folder/red_hos,/obj/item/weapon/folder/red,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/carpet,/area/residential/room6) +"rP" = (/obj/structure/table/woodentable,/obj/item/paper_bin,/turf/simulated/floor/carpet,/area/residential/room6) +"rQ" = (/obj/structure/table/woodentable,/obj/item/folder/red_hos,/obj/item/folder/red,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/carpet,/area/residential/room6) "rR" = (/obj/machinery/door/airlock,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{icon_state = "intact-scrubbers"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled/white,/area/residential/room6) "rS" = (/obj/machinery/alarm{dir = 1; pixel_y = -25},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{icon_state = "intact-scrubbers"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/tiled/white,/area/residential/room6) "rT" = (/obj/structure/toilet{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/white,/area/residential/room6) @@ -944,7 +944,7 @@ "sh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light/flamp/noshade,/turf/simulated/floor/reinforced,/area/residential/ship_bay) "si" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/plating,/area/space) "sj" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/plating,/area/space) -"sk" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{pixel_x = 5; pixel_y = 5},/obj/item/weapon/reagent_containers/food/condiment/small/peppermill,/obj/structure/sink/kitchen{pixel_x = -30},/turf/simulated/floor/lino,/area/residential/room1) +"sk" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/reagent_containers/food/condiment/small/saltshaker{pixel_x = 5; pixel_y = 5},/obj/item/reagent_containers/food/condiment/small/peppermill,/obj/structure/sink/kitchen{pixel_x = -30},/turf/simulated/floor/lino,/area/residential/room1) "sl" = (/obj/structure/window/reinforced/full,/obj/structure/grille,/obj/structure/curtain/black,/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/residential/room2) "sm" = (/obj/structure/window/reinforced/full,/obj/structure/grille,/obj/structure/curtain/black,/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/residential/room4) "sn" = (/turf/simulated/wall/lead,/area/residential/docking_lobby) diff --git a/maps/yw/residential/residential.dmm b/maps/yw/residential/residential.dmm index f850a9c34a8..6da8e738935 100644 --- a/maps/yw/residential/residential.dmm +++ b/maps/yw/residential/residential.dmm @@ -21,13 +21,13 @@ /area/residential/room6) "al" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, -/obj/item/weapon/reagent_containers/food/condiment/coldsauce, -/obj/item/weapon/reagent_containers/food/condiment/cornoil, -/obj/item/weapon/reagent_containers/food/condiment/hotsauce, -/obj/item/weapon/reagent_containers/food/condiment/ketchup, -/obj/item/weapon/reagent_containers/food/condiment/sugar, -/obj/item/weapon/reagent_containers/food/condiment/soysauce, +/obj/item/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/food/condiment/coldsauce, +/obj/item/reagent_containers/food/condiment/cornoil, +/obj/item/reagent_containers/food/condiment/hotsauce, +/obj/item/reagent_containers/food/condiment/ketchup, +/obj/item/reagent_containers/food/condiment/sugar, +/obj/item/reagent_containers/food/condiment/soysauce, /turf/simulated/floor/lino, /area/residential/mansion) "an" = ( @@ -73,14 +73,14 @@ /obj/machinery/light{ dir = 1 }, -/obj/item/weapon/storage/fancy/cigarettes/killthroat{ +/obj/item/storage/fancy/cigarettes/killthroat{ pixel_x = 10; pixel_y = 9 }, /obj/machinery/light/small/fairylights{ pixel_y = 15 }, -/obj/item/weapon/haircomb{ +/obj/item/haircomb{ pixel_x = -5; pixel_y = 8 }, @@ -220,9 +220,9 @@ /obj/effect/floor_decal/borderfloorwhite{ dir = 4 }, -/obj/item/weapon/reagent_containers/food/condiment/hotsauce, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/food/condiment/hotsauce, +/obj/item/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/food/condiment/enzyme, /turf/simulated/floor/tiled/white, /area/residential/mroom4) "aZ" = ( @@ -278,11 +278,11 @@ /area/residential/room6) "bv" = ( /obj/structure/table/standard, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, -/obj/item/weapon/towel{ +/obj/item/towel{ pixel_x = -2; pixel_y = 9 }, @@ -497,7 +497,7 @@ /area/residential/lobby) "cF" = ( /obj/structure/table/woodentable, -/obj/item/weapon/folder/yellow, +/obj/item/folder/yellow, /turf/simulated/floor/carpet, /area/residential/mansion) "cJ" = ( @@ -615,25 +615,25 @@ /obj/structure/closet/secure_closet/freezer/meat{ locked = 0 }, -/obj/item/weapon/storage/box/donkpockets/spicy, -/obj/item/weapon/storage/box/donkpockets/spicy, -/obj/item/weapon/storage/box/donkpockets/spicy, -/obj/item/weapon/storage/box/donkpockets, -/obj/item/weapon/storage/box/donkpockets, -/obj/item/weapon/storage/box/donkpockets, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/drinks/milk, -/obj/item/weapon/reagent_containers/food/drinks/milk, -/obj/item/weapon/reagent_containers/food/drinks/milk, -/obj/item/weapon/reagent_containers/food/drinks/milk, -/obj/item/weapon/reagent_containers/food/drinks/milk, +/obj/item/storage/box/donkpockets/spicy, +/obj/item/storage/box/donkpockets/spicy, +/obj/item/storage/box/donkpockets/spicy, +/obj/item/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/drinks/milk, +/obj/item/reagent_containers/food/drinks/milk, +/obj/item/reagent_containers/food/drinks/milk, +/obj/item/reagent_containers/food/drinks/milk, +/obj/item/reagent_containers/food/drinks/milk, /turf/simulated/floor/tiled/white, /area/residential/mroom4) "di" = ( @@ -648,13 +648,13 @@ /obj/structure/closet/walllocker{ pixel_y = 35 }, -/obj/item/weapon/reagent_containers/food/drinks/flask/barflask, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/spoon, -/obj/item/weapon/material/kitchen/utensil/spoon, -/obj/item/weapon/reagent_containers/food/drinks/britcup, -/obj/item/weapon/reagent_containers/food/drinks/britcup, +/obj/item/reagent_containers/food/drinks/flask/barflask, +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/spoon, +/obj/item/material/kitchen/utensil/spoon, +/obj/item/reagent_containers/food/drinks/britcup, +/obj/item/reagent_containers/food/drinks/britcup, /obj/effect/floor_decal/corner_oldtile/gray/diagonal, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 @@ -675,7 +675,7 @@ /turf/simulated/floor/tiled/eris/white, /area/residential/lobby) "ds" = ( -/obj/item/weapon/mop, +/obj/item/mop, /obj/structure/mopbucket, /turf/simulated/floor/wood, /area/residential/mansion) @@ -820,8 +820,8 @@ /area/residential/room2) "eM" = ( /obj/structure/closet/cabinet, -/obj/item/weapon/handcuffs/fuzzy, -/obj/item/weapon/handcuffs/legcuffs/fuzzy, +/obj/item/handcuffs/fuzzy, +/obj/item/handcuffs/legcuffs/fuzzy, /obj/item/clothing/mask/smokable/cigarette/joint/blunt, /obj/item/clothing/mask/smokable/cigarette/joint, /obj/item/clothing/accessory/maidcorset, @@ -832,7 +832,7 @@ /obj/item/clothing/suit/ianshirt, /obj/item/clothing/under/pants/baggy/greyjeans, /obj/item/clothing/under/bluepyjamas, -/obj/item/weapon/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery, /obj/item/clothing/under/rank/nursesuit, /obj/item/clothing/head/nursehat, /obj/item/clothing/suit/neo_medical_coat, @@ -1009,10 +1009,10 @@ /obj/effect/floor_decal/borderfloorwhite{ dir = 4 }, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/material/kitchen/rollingpin, /obj/machinery/light{ dir = 4 }, @@ -1081,12 +1081,12 @@ /area/space) "ga" = ( /obj/structure/table/leadreinforcedwood, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/spoon, -/obj/item/weapon/material/kitchen/utensil/spoon, -/obj/item/weapon/material/knife, -/obj/item/weapon/material/knife, +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/spoon, +/obj/item/material/kitchen/utensil/spoon, +/obj/item/material/knife, +/obj/item/material/knife, /turf/simulated/floor/wood, /area/residential/room7) "gg" = ( @@ -1139,7 +1139,7 @@ /turf/simulated/floor/wood, /area/residential/lobby) "gp" = ( -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /obj/structure/bed/double/padded, /obj/machinery/light{ dir = 4 @@ -1172,31 +1172,31 @@ /obj/machinery/light{ dir = 4 }, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, -/obj/item/weapon/storage/box/beakers, -/obj/item/weapon/reagent_containers/food/snacks/chocolatebar, -/obj/item/weapon/reagent_containers/food/snacks/chocolatebar, +/obj/item/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/small/peppermill, +/obj/item/storage/box/beakers, +/obj/item/reagent_containers/food/snacks/chocolatebar, +/obj/item/reagent_containers/food/snacks/chocolatebar, /obj/item/pizzabox/meat, /obj/item/pizzabox/meat, /obj/item/pizzabox/margherita, /obj/item/pizzabox/mushroom, -/obj/item/weapon/reagent_containers/food/drinks/cans/cola, -/obj/item/weapon/reagent_containers/food/drinks/cans/gingerale, -/obj/item/weapon/reagent_containers/food/drinks/cans/space_up, -/obj/item/weapon/reagent_containers/food/drinks/cans/lemon_lime, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, -/obj/item/weapon/reagent_containers/food/drinks/bottle/tequilla, -/obj/item/weapon/reagent_containers/food/drinks/bottle/grenadine, -/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice, -/obj/item/weapon/reagent_containers/food/drinks/ice, -/obj/item/weapon/reagent_containers/food/drinks/bottle/limejuice, -/obj/item/weapon/reagent_containers/food/drinks/bottle/rum, +/obj/item/reagent_containers/food/drinks/cans/cola, +/obj/item/reagent_containers/food/drinks/cans/gingerale, +/obj/item/reagent_containers/food/drinks/cans/space_up, +/obj/item/reagent_containers/food/drinks/cans/lemon_lime, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/reagent_containers/food/drinks/bottle/tequilla, +/obj/item/reagent_containers/food/drinks/bottle/grenadine, +/obj/item/reagent_containers/food/drinks/bottle/orangejuice, +/obj/item/reagent_containers/food/drinks/ice, +/obj/item/reagent_containers/food/drinks/bottle/limejuice, +/obj/item/reagent_containers/food/drinks/bottle/rum, /turf/simulated/floor/tiled/dark, /area/residential/room7) "gz" = ( @@ -1233,7 +1233,7 @@ /turf/simulated/floor/reinforced, /area/residential/ship_bay) "gJ" = ( -/obj/item/weapon/storage/laundry_basket, +/obj/item/storage/laundry_basket, /obj/structure/table/reinforced, /turf/simulated/floor/wood, /area/residential/lobby) @@ -1248,11 +1248,11 @@ /area/residential/mroom3) "gL" = ( /obj/structure/table/leadreinforcedwood, -/obj/item/weapon/reagent_containers/food/drinks/glass2/pint, -/obj/item/weapon/reagent_containers/food/drinks/glass2/pint, -/obj/item/weapon/reagent_containers/food/drinks/glass2/pitcher, -/obj/item/weapon/reagent_containers/food/drinks/glass2/rocks, -/obj/item/weapon/reagent_containers/food/drinks/glass2/rocks, +/obj/item/reagent_containers/food/drinks/glass2/pint, +/obj/item/reagent_containers/food/drinks/glass2/pint, +/obj/item/reagent_containers/food/drinks/glass2/pitcher, +/obj/item/reagent_containers/food/drinks/glass2/rocks, +/obj/item/reagent_containers/food/drinks/glass2/rocks, /turf/simulated/floor/tiled/dark, /area/residential/room7) "gM" = ( @@ -1417,7 +1417,7 @@ /turf/simulated/floor/tiled, /area/residential/docking_lobby) "hF" = ( -/obj/item/weapon/material/knife, +/obj/item/material/knife, /obj/machinery/microwave, /obj/structure/table/leadreinforcedwood, /turf/simulated/floor/tiled/dark, @@ -1523,7 +1523,7 @@ /area/residential/room2) "iq" = ( /obj/structure/closet/crate/bin, -/obj/item/weapon/storage/bag/trash, +/obj/item/storage/bag/trash, /turf/simulated/floor/tiled, /area/residential/room6) "ir" = ( @@ -1550,7 +1550,7 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/material/knife, +/obj/item/material/knife, /turf/simulated/floor/lino, /area/residential/room1) "iv" = ( @@ -1610,11 +1610,11 @@ }, /obj/effect/floor_decal/borderfloorwhite, /obj/machinery/light, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -11; pixel_y = -4 }, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = -6; pixel_y = -4 }, @@ -1771,7 +1771,7 @@ /turf/simulated/floor/tiled, /area/residential/docking_lobby) "jS" = ( -/obj/item/weapon/bedsheet/hosdouble, +/obj/item/bedsheet/hosdouble, /obj/structure/bed/double/padded, /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/structure/curtain/black, @@ -1787,7 +1787,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 }, -/obj/item/weapon/storage/backpack/dufflebag/cratebooze, +/obj/item/storage/backpack/dufflebag/cratebooze, /turf/simulated/floor/carpet/bcarpet, /area/residential/room13) "jZ" = ( @@ -1797,7 +1797,7 @@ /area/residential/mansion) "kb" = ( /obj/structure/table/marble, -/obj/item/weapon/storage/box/beakers, +/obj/item/storage/box/beakers, /turf/simulated/floor/lino, /area/residential/mansion) "kh" = ( @@ -1854,7 +1854,7 @@ /area/residential/corridors) "kB" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /turf/simulated/floor/carpet/bcarpet, /area/residential/mroom4) "kC" = ( @@ -1904,7 +1904,7 @@ /turf/simulated/floor/wood, /area/residential/mansion) "kZ" = ( -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /obj/structure/table/leadreinforcedwood, /turf/simulated/floor/wood, /area/residential/room7) @@ -2490,8 +2490,8 @@ /turf/simulated/floor/wood, /area/residential/room13) "or" = ( -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, /obj/structure/table/marble, /turf/simulated/floor/tiled/white, /area/residential/mansion) @@ -2622,11 +2622,11 @@ dir = 1 }, /obj/effect/floor_decal/corner_oldtile/gray/diagonal, -/obj/item/weapon/storage/pill_bottle/citalopram{ +/obj/item/storage/pill_bottle/citalopram{ pixel_x = -6; pixel_y = 2 }, -/obj/item/weapon/storage/pill_bottle/tramadol{ +/obj/item/storage/pill_bottle/tramadol{ pixel_x = 6; pixel_y = -1 }, @@ -2680,70 +2680,70 @@ /area/residential/docking_lobby) "pP" = ( /obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/reagent_containers/food/drinks/milk, -/obj/item/weapon/reagent_containers/food/drinks/milk, -/obj/item/weapon/reagent_containers/food/drinks/milk, -/obj/item/weapon/reagent_containers/food/drinks/soymilk, -/obj/item/weapon/reagent_containers/food/drinks/soymilk, -/obj/item/weapon/reagent_containers/food/drinks/soymilk, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/snacks/chocolatebar, -/obj/item/weapon/reagent_containers/food/snacks/chocolatebar, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, +/obj/item/reagent_containers/food/drinks/milk, +/obj/item/reagent_containers/food/drinks/milk, +/obj/item/reagent_containers/food/drinks/milk, +/obj/item/reagent_containers/food/drinks/soymilk, +/obj/item/reagent_containers/food/drinks/soymilk, +/obj/item/reagent_containers/food/drinks/soymilk, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/snacks/chocolatebar, +/obj/item/reagent_containers/food/snacks/chocolatebar, /obj/effect/floor_decal/borderfloorwhite, -/obj/item/weapon/reagent_containers/food/drinks/dry_ramen, -/obj/item/weapon/reagent_containers/food/drinks/dry_ramen, -/obj/item/weapon/reagent_containers/food/drinks/dry_ramen, -/obj/item/weapon/reagent_containers/food/drinks/dry_ramen, -/obj/item/weapon/reagent_containers/food/drinks/dry_ramen, -/obj/item/weapon/reagent_containers/food/drinks/dry_ramen, -/obj/item/weapon/reagent_containers/food/drinks/dry_ramen, -/obj/item/weapon/reagent_containers/food/drinks/dry_ramen, -/obj/item/weapon/reagent_containers/food/drinks/dry_ramen, -/obj/item/weapon/reagent_containers/food/drinks/dry_ramen, -/obj/item/weapon/reagent_containers/food/drinks/dry_ramen, -/obj/item/weapon/reagent_containers/food/drinks/dry_ramen, +/obj/item/reagent_containers/food/drinks/dry_ramen, +/obj/item/reagent_containers/food/drinks/dry_ramen, +/obj/item/reagent_containers/food/drinks/dry_ramen, +/obj/item/reagent_containers/food/drinks/dry_ramen, +/obj/item/reagent_containers/food/drinks/dry_ramen, +/obj/item/reagent_containers/food/drinks/dry_ramen, +/obj/item/reagent_containers/food/drinks/dry_ramen, +/obj/item/reagent_containers/food/drinks/dry_ramen, +/obj/item/reagent_containers/food/drinks/dry_ramen, +/obj/item/reagent_containers/food/drinks/dry_ramen, +/obj/item/reagent_containers/food/drinks/dry_ramen, +/obj/item/reagent_containers/food/drinks/dry_ramen, /turf/simulated/floor/lino, /area/residential/room13) "pR" = ( /obj/structure/table/woodentable, /obj/item/modular_computer/laptop/preset/custom_loadout/advanced, -/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/sol{ +/obj/item/reagent_containers/food/drinks/glass2/coffeemug/sol{ pixel_y = 13 }, /turf/simulated/floor/wood, @@ -2786,24 +2786,24 @@ /area/residential/lobby) "qq" = ( /obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, -/obj/item/weapon/storage/box/beakers, +/obj/item/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/small/peppermill, +/obj/item/storage/box/beakers, /turf/simulated/floor/tiled, /area/residential/room6) "qs" = ( /obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, /turf/simulated/floor/lino, /area/residential/room1) "qt" = ( @@ -2827,7 +2827,7 @@ /area/residential/mroom4) "qE" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/bluedouble, +/obj/item/bedsheet/bluedouble, /obj/machinery/light{ dir = 4 }, @@ -2867,7 +2867,7 @@ /area/residential/mansion) "qT" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /turf/simulated/floor/carpet, /area/residential/mansion) "qV" = ( @@ -2938,7 +2938,7 @@ /area/residential/corridors) "rA" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/chipplate/nachos, +/obj/item/reagent_containers/food/snacks/chipplate/nachos, /turf/simulated/floor/wood, /area/residential/mroom4) "rB" = ( @@ -2946,16 +2946,16 @@ color = "#7a412a"; dir = 1 }, -/obj/item/weapon/deck/cards, -/obj/item/weapon/deck/cah/black, -/obj/item/weapon/deck/cah, -/obj/item/weapon/deck/tarot, -/obj/item/weapon/storage/pill_bottle/dice, -/obj/item/weapon/storage/pill_bottle/dice_nerd, -/obj/item/weapon/storage/pill_bottle/dice_nerd, -/obj/item/weapon/storage/pill_bottle/dice_nerd, -/obj/item/weapon/storage/pill_bottle/dice_nerd, -/obj/item/weapon/storage/pill_bottle/dice_nerd, +/obj/item/deck/cards, +/obj/item/deck/cah/black, +/obj/item/deck/cah, +/obj/item/deck/tarot, +/obj/item/storage/pill_bottle/dice, +/obj/item/storage/pill_bottle/dice_nerd, +/obj/item/storage/pill_bottle/dice_nerd, +/obj/item/storage/pill_bottle/dice_nerd, +/obj/item/storage/pill_bottle/dice_nerd, +/obj/item/storage/pill_bottle/dice_nerd, /obj/structure/closet/walllocker_double{ pixel_y = 31 }, @@ -2964,9 +2964,9 @@ "rF" = ( /obj/structure/table/woodentable, /obj/item/clothing/glasses/meson/aviator, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/blue, -/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/black{ +/obj/item/paper_bin, +/obj/item/pen/blue, +/obj/item/reagent_containers/food/drinks/glass2/coffeemug/black{ desc = "A sleek black coffee mug with a blue lion in profile printed on it. An old earth souvenir from a Museum."; pixel_y = 14 }, @@ -3011,7 +3011,7 @@ /area/residential/room1) "rY" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/holofloor/wood, /area/residential/mansion) "rZ" = ( @@ -3210,8 +3210,8 @@ /area/residential/lobby) "tj" = ( /obj/structure/table/rack, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, /turf/simulated/floor/wood, /area/residential/mansion) "ts" = ( @@ -3220,8 +3220,8 @@ /area/residential/room6) "tv" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/drinks/bluespace_coffee, -/obj/item/weapon/storage/box/beakers, +/obj/item/reagent_containers/food/drinks/bluespace_coffee, +/obj/item/storage/box/beakers, /turf/simulated/floor/lino, /area/residential/mansion) "tx" = ( @@ -3430,7 +3430,7 @@ /area/residential/mroom4) "uR" = ( /obj/structure/table/woodentable, -/obj/item/weapon/flame/candle, +/obj/item/flame/candle, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, @@ -3558,7 +3558,7 @@ /area/residential/mroom4) "wk" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/flame/candle/candelabra/everburn, +/obj/item/flame/candle/candelabra/everburn, /turf/simulated/floor/carpet, /area/residential/mansion) "wl" = ( @@ -3601,7 +3601,7 @@ "wy" = ( /obj/structure/table/woodentable, /obj/item/clothing/gloves/boxing, -/obj/item/weapon/towel/random, +/obj/item/towel/random, /turf/simulated/floor/carpet, /area/residential/mansion) "wC" = ( @@ -3716,7 +3716,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, -/obj/item/weapon/broken_bottle, +/obj/item/broken_bottle, /turf/simulated/floor/wood, /area/residential/room13) "xH" = ( @@ -3924,9 +3924,9 @@ pixel_x = 24 }, /obj/structure/mopbucket, -/obj/item/weapon/mop, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/mop, +/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/spray/cleaner, /obj/structure/extinguisher_cabinet{ dir = 4; pixel_x = -30 @@ -3998,7 +3998,7 @@ /area/residential/room2) "zj" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/cedouble, +/obj/item/bedsheet/cedouble, /turf/simulated/floor/carpet/bcarpet, /area/residential/mroom4) "zr" = ( @@ -4062,14 +4062,14 @@ /obj/effect/floor_decal/spline/plain{ dir = 4 }, -/obj/item/weapon/reagent_containers/food/drinks/bottle/specialwhiskey, -/obj/item/weapon/reagent_containers/food/drinks/bottle/specialwhiskey, -/obj/item/weapon/reagent_containers/food/drinks/bottle/specialwhiskey, -/obj/item/weapon/reagent_containers/food/drinks/bottle/specialwhiskey, -/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey, -/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey, -/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey, -/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka, +/obj/item/reagent_containers/food/drinks/bottle/specialwhiskey, +/obj/item/reagent_containers/food/drinks/bottle/specialwhiskey, +/obj/item/reagent_containers/food/drinks/bottle/specialwhiskey, +/obj/item/reagent_containers/food/drinks/bottle/specialwhiskey, +/obj/item/reagent_containers/food/drinks/bottle/whiskey, +/obj/item/reagent_containers/food/drinks/bottle/whiskey, +/obj/item/reagent_containers/food/drinks/bottle/whiskey, +/obj/item/reagent_containers/food/drinks/bottle/vodka, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 }, @@ -4201,12 +4201,12 @@ /area/residential/mroom4) "AM" = ( /obj/structure/table/fancyblack, -/obj/item/weapon/material/ashtray/glass, -/obj/item/weapon/bone/skull{ +/obj/item/material/ashtray/glass, +/obj/item/bone/skull{ pixel_x = 9; pixel_y = 5 }, -/obj/item/weapon/bone, +/obj/item/bone, /turf/simulated/floor/wood, /area/residential/room13) "AN" = ( @@ -4216,7 +4216,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, -/obj/item/weapon/towel/random, +/obj/item/towel/random, /turf/simulated/floor/tiled/white, /area/residential/room1) "AR" = ( @@ -4363,10 +4363,10 @@ /area/residential/corridors) "BK" = ( /obj/structure/undies_wardrobe, -/obj/item/weapon/soap/cyan_soap{ +/obj/item/soap/cyan_soap{ pixel_y = 9 }, -/obj/item/weapon/towel{ +/obj/item/towel{ pixel_x = -2; pixel_y = 9 }, @@ -4378,8 +4378,8 @@ /area/residential/room13) "BM" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 4; pixel_y = 4 }, @@ -4477,16 +4477,16 @@ dir = 1 }, /obj/structure/curtain/open/shower, -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /turf/simulated/floor/tiled/eris/white, /area/residential/lobby) "Cr" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/kitchen/utensil/spoon, -/obj/item/weapon/material/kitchen/utensil/fork{ +/obj/item/material/kitchen/utensil/spoon, +/obj/item/material/kitchen/utensil/fork{ pixel_x = -5 }, -/obj/item/weapon/material/knife/table, +/obj/item/material/knife/table, /turf/simulated/floor/wood, /area/residential/mroom4) "Cu" = ( @@ -4498,11 +4498,11 @@ /obj/effect/floor_decal/spline/fancy/wood{ color = "#7a412a" }, -/obj/item/weapon/material/kitchen/utensil/spoon, -/obj/item/weapon/material/kitchen/utensil/fork{ +/obj/item/material/kitchen/utensil/spoon, +/obj/item/material/kitchen/utensil/fork{ pixel_x = -5 }, -/obj/item/weapon/material/knife/table, +/obj/item/material/knife/table, /turf/simulated/floor/wood, /area/residential/mroom4) "Cy" = ( @@ -4556,7 +4556,7 @@ /area/residential/room11) "CJ" = ( /obj/structure/table/bench/marble, -/obj/item/weapon/soap/deluxe, +/obj/item/soap/deluxe, /turf/simulated/floor/tiled/white, /area/residential/mansion) "CK" = ( @@ -4594,7 +4594,7 @@ /area/residential/docking_lobby) "CS" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/wood, /area/residential/room1) "CT" = ( @@ -4819,7 +4819,7 @@ /turf/simulated/floor/tiled, /area/residential/docking_lobby) "Ee" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/wood, /area/residential/mansion) "Ef" = ( @@ -4957,8 +4957,8 @@ /area/residential/room7) "EB" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/dropper, -/obj/item/weapon/material/knife/butch, +/obj/item/reagent_containers/dropper, +/obj/item/material/knife/butch, /turf/simulated/floor/lino, /area/residential/mansion) "EG" = ( @@ -5046,12 +5046,12 @@ "Fg" = ( /obj/effect/floor_decal/corner/grey/diagonal, /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ +/obj/item/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/small/peppermill{ pixel_x = 4; pixel_y = 4 }, -/obj/item/weapon/material/knife/butch{ +/obj/item/material/knife/butch{ pixel_x = -7; pixel_y = 5 }, @@ -5080,7 +5080,7 @@ /area/residential/powerroom) "Fn" = ( /obj/structure/table/steel, -/obj/item/weapon/hand_labeler{ +/obj/item/hand_labeler{ pixel_x = -18; pixel_y = 7 }, @@ -5134,7 +5134,7 @@ /turf/simulated/floor/tiled, /area/residential/docking_lobby) "FS" = ( -/obj/item/weapon/bedsheet/blue, +/obj/item/bedsheet/blue, /obj/structure/bed/padded, /turf/simulated/floor/carpet/bcarpet, /area/residential/ship_bay) @@ -5316,8 +5316,8 @@ /area/residential/mansion) "GW" = ( /obj/structure/table/glass, -/obj/item/weapon/soap/deluxe, -/obj/item/weapon/bikehorn/rubberducky, +/obj/item/soap/deluxe, +/obj/item/bikehorn/rubberducky, /turf/simulated/floor/wood, /area/residential/room7) "GZ" = ( @@ -5336,7 +5336,7 @@ /turf/simulated/floor/tiled, /area/residential/corridors) "Hj" = ( -/obj/item/weapon/bedsheet/orangedouble, +/obj/item/bedsheet/orangedouble, /obj/structure/bed/double/padded, /turf/simulated/floor/carpet, /area/residential/mansion) @@ -5365,7 +5365,7 @@ /turf/space/transit/north, /area/space) "Ht" = ( -/obj/item/weapon/bedsheet/cosmos, +/obj/item/bedsheet/cosmos, /obj/item/toy/plushie/tuxedo_cat{ pixel_x = 1; pixel_y = 5 @@ -5790,8 +5790,8 @@ "JT" = ( /obj/structure/table/standard, /obj/machinery/atmospherics/unary/vent_scrubber/on, -/obj/item/weapon/storage/box/gloves, -/obj/item/weapon/storage/box/masks, +/obj/item/storage/box/gloves, +/obj/item/storage/box/masks, /obj/machinery/light{ dir = 1 }, @@ -5812,7 +5812,7 @@ /turf/simulated/floor/holofloor/wood, /area/residential/mansion) "Kd" = ( -/obj/item/weapon/soap/deluxe, +/obj/item/soap/deluxe, /obj/structure/table/marble, /turf/simulated/floor/tiled/white, /area/residential/mansion) @@ -5926,24 +5926,24 @@ /obj/structure/closet/crate/chest{ anchored = 1 }, -/obj/item/weapon/reagent_containers/food/drinks/bottle/peppermintschnapps, -/obj/item/weapon/reagent_containers/food/drinks/bottle/peppermintschnapps, -/obj/item/weapon/reagent_containers/food/drinks/bottle/jager, -/obj/item/weapon/reagent_containers/food/drinks/bottle/gin, -/obj/item/weapon/reagent_containers/food/drinks/bottle/gin, -/obj/item/weapon/reagent_containers/food/drinks/bottle/specialwhiskey, -/obj/item/weapon/reagent_containers/food/drinks/bottle/tequilla, -/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey, -/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey, -/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey, -/obj/item/weapon/reagent_containers/food/drinks/bottle/wine, -/obj/item/weapon/reagent_containers/food/drinks/bottle/wine, -/obj/item/weapon/reagent_containers/food/drinks/metaglass, -/obj/item/weapon/reagent_containers/food/drinks/metaglass, -/obj/item/weapon/reagent_containers/food/drinks/metaglass/metapint, -/obj/item/weapon/reagent_containers/food/drinks/metaglass/metapint, -/obj/item/weapon/handcuffs/legcuffs/fuzzy, -/obj/item/weapon/handcuffs/fuzzy, +/obj/item/reagent_containers/food/drinks/bottle/peppermintschnapps, +/obj/item/reagent_containers/food/drinks/bottle/peppermintschnapps, +/obj/item/reagent_containers/food/drinks/bottle/jager, +/obj/item/reagent_containers/food/drinks/bottle/gin, +/obj/item/reagent_containers/food/drinks/bottle/gin, +/obj/item/reagent_containers/food/drinks/bottle/specialwhiskey, +/obj/item/reagent_containers/food/drinks/bottle/tequilla, +/obj/item/reagent_containers/food/drinks/bottle/whiskey, +/obj/item/reagent_containers/food/drinks/bottle/whiskey, +/obj/item/reagent_containers/food/drinks/bottle/whiskey, +/obj/item/reagent_containers/food/drinks/bottle/wine, +/obj/item/reagent_containers/food/drinks/bottle/wine, +/obj/item/reagent_containers/food/drinks/metaglass, +/obj/item/reagent_containers/food/drinks/metaglass, +/obj/item/reagent_containers/food/drinks/metaglass/metapint, +/obj/item/reagent_containers/food/drinks/metaglass/metapint, +/obj/item/handcuffs/legcuffs/fuzzy, +/obj/item/handcuffs/fuzzy, /obj/item/clothing/mask/muzzle/ballgag/ringgag, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 @@ -6100,16 +6100,16 @@ /area/residential/corridors) "LZ" = ( /obj/structure/bookcase, -/obj/item/weapon/book/manual/casino, -/obj/item/weapon/book/manual/barman_recipes, +/obj/item/book/manual/casino, +/obj/item/book/manual/barman_recipes, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/item/weapon/book/custom_library/fiction/woodysgotwood, -/obj/item/weapon/cat_box{ +/obj/item/book/custom_library/fiction/woodysgotwood, +/obj/item/cat_box{ pixel_y = 19 }, /turf/simulated/floor/carpet/bcarpet, @@ -6141,7 +6141,7 @@ desc = "A souvenir from when Elise was kidnapped by an evil Wizard"; name = "stolen wizard hat" }, -/obj/item/weapon/coin/gold{ +/obj/item/coin/gold{ desc = "An old brass coin. Its center has been worn from years of anxious rubbing."; name = "Weathered Coin"; pixel_x = -7; @@ -6165,13 +6165,13 @@ /obj/machinery/light{ dir = 4 }, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, -/obj/item/weapon/storage/box/beakers, +/obj/item/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/small/peppermill, +/obj/item/storage/box/beakers, /turf/simulated/floor/carpet/bcarpet, /area/residential/ship_bay) "MJ" = ( @@ -6211,7 +6211,7 @@ /area/residential/mansion) "MZ" = ( /obj/structure/table/woodentable, -/obj/item/weapon/flame/candle, +/obj/item/flame/candle, /turf/simulated/floor/wood, /area/residential/room1) "Nk" = ( @@ -6253,22 +6253,22 @@ color = "#7a412a"; dir = 1 }, -/obj/item/weapon/book/manual/bar_guide, -/obj/item/weapon/book/manual/supermatter_engine{ +/obj/item/book/manual/bar_guide, +/obj/item/book/manual/supermatter_engine{ desc = "By Elise Maschenny. This is the Author's Copy, and seems to contain many notes scrawled in the margins." }, -/obj/item/weapon/book/manual/barman_recipes, -/obj/item/weapon/book/manual/command_guide, -/obj/item/weapon/book/manual/engineering_hacking, -/obj/item/weapon/book/manual/engineering_particle_accelerator, -/obj/item/weapon/book/manual/engineering_construction, -/obj/item/weapon/book/manual/engineering_guide, -/obj/item/weapon/book/manual/engineering_singularity_safety, -/obj/item/weapon/book/manual/evaguide, -/obj/item/weapon/book/manual/rotary_electric_generator, -/obj/item/weapon/book/manual/rust_engine, -/obj/item/weapon/book/manual/standard_operating_procedure, -/obj/item/weapon/book/manual/tesla_engine, +/obj/item/book/manual/barman_recipes, +/obj/item/book/manual/command_guide, +/obj/item/book/manual/wiki/engineering_hacking, +/obj/item/book/manual/engineering_particle_accelerator, +/obj/item/book/manual/wiki/engineering_construction, +/obj/item/book/manual/wiki/engineering_guide, +/obj/item/book/manual/engineering_singularity_safety, +/obj/item/book/manual/evaguide, +/obj/item/book/manual/rotary_electric_generator, +/obj/item/book/manual/rust_engine, +/obj/item/book/manual/standard_operating_procedure, +/obj/item/book/manual/tesla_engine, /turf/simulated/floor/carpet/bcarpet, /area/residential/mroom4) "Ns" = ( @@ -6373,7 +6373,7 @@ /turf/simulated/floor/plating, /area/residential/mroom1) "NR" = ( -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /mob/living/bot/cleanbot, /turf/simulated/floor/wood, /area/residential/mansion) @@ -6393,7 +6393,7 @@ /turf/simulated/floor/wood, /area/residential/room13) "NV" = ( -/obj/item/weapon/soap/syndie, +/obj/item/soap/syndie, /obj/structure/table/marble, /turf/simulated/floor/tiled/white, /area/residential/mansion) @@ -6428,8 +6428,8 @@ /area/residential/room10) "Od" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, /obj/machinery/atmospherics/unary/vent_pump/on, /obj/machinery/light{ dir = 1 @@ -6507,7 +6507,7 @@ /turf/simulated/floor/reinforced, /area/residential/ship_bay) "Ot" = ( -/obj/item/weapon/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery, /obj/structure/table/standard, /turf/simulated/floor/tiled/white, /area/residential/medbay) @@ -6520,8 +6520,8 @@ /area/residential/powerroom) "Ow" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen/fountain, +/obj/item/paper_bin, +/obj/item/pen/fountain, /turf/simulated/floor/carpet, /area/residential/mansion) "Ox" = ( @@ -6716,7 +6716,7 @@ /area/residential/corridors) "Pt" = ( /obj/structure/curtain/black, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/structure/window/reinforced{ dir = 8 }, @@ -6735,7 +6735,7 @@ /turf/simulated/floor/carpet, /area/residential/mansion) "PL" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/carpet, /area/residential/mansion) "PN" = ( @@ -6816,7 +6816,7 @@ /turf/simulated/floor/tiled, /area/residential/corridors) "Qq" = ( -/obj/item/weapon/bedsheet/purpledouble, +/obj/item/bedsheet/purpledouble, /obj/structure/bed/double/padded, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 @@ -6872,18 +6872,18 @@ /area/residential/mroom1) "QO" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 }, -/obj/item/weapon/pen/red{ +/obj/item/pen/red{ pixel_x = -5; pixel_y = -1 }, -/obj/item/weapon/pen/blue, -/obj/item/weapon/folder/red, -/obj/item/weapon/folder/white, -/obj/item/weapon/folder/blue, +/obj/item/pen/blue, +/obj/item/folder/red, +/obj/item/folder/white, +/obj/item/folder/blue, /obj/effect/floor_decal/spline/fancy/wood{ color = "#7a412a"; dir = 1 @@ -6896,7 +6896,7 @@ /area/residential/mroom4) "QQ" = ( /obj/structure/curtain/black, -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /obj/structure/window/reinforced{ dir = 8 }, @@ -6987,9 +6987,9 @@ /obj/machinery/light/small/fairylights{ pixel_y = 15 }, -/obj/item/weapon/storage/box/lights/tubes, -/obj/item/weapon/broken_bottle, -/obj/item/weapon/broken_bottle, +/obj/item/storage/box/lights/tubes, +/obj/item/broken_bottle, +/obj/item/broken_bottle, /turf/simulated/floor/wood, /area/residential/room13) "RG" = ( @@ -7006,7 +7006,7 @@ /area/residential/mansion) "RQ" = ( /obj/structure/bookcase, -/obj/item/weapon/book/manual/security_space_law, +/obj/item/book/manual/wiki/security_space_law, /turf/simulated/floor/wood, /area/residential/mroom4) "RR" = ( @@ -7094,7 +7094,7 @@ /turf/simulated/floor/plating, /area/residential/docking_lobby) "Sm" = ( -/obj/item/weapon/bedsheet/captaindouble, +/obj/item/bedsheet/captaindouble, /obj/structure/bed/double/padded, /obj/item/toy/plushie/coffee_fox, /turf/simulated/floor/carpet/bcarpet, @@ -7481,7 +7481,7 @@ dir = 4 }, /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/adv, +/obj/item/storage/firstaid/adv, /turf/simulated/floor/tiled/white, /area/residential/medbay) "UG" = ( @@ -7507,9 +7507,9 @@ /area/residential/mansion) "UW" = ( /obj/structure/table/rack, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/storage/toolbox/syndicate/powertools, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/storage/toolbox/syndicate/powertools, /turf/simulated/floor/wood, /area/residential/mansion) "UY" = ( @@ -7527,12 +7527,12 @@ /area/residential/room1) "Vj" = ( /obj/structure/table/steel, -/obj/item/device/electronic_assembly/large{ +/obj/item/electronic_assembly/large{ desc = "What does it do!?"; name = "Elise's Enigmatic Machine"; pixel_y = 13 }, -/obj/item/weapon/storage/bag/circuits/basic{ +/obj/item/storage/bag/circuits/basic{ pixel_y = -7 }, /obj/machinery/light{ @@ -7570,8 +7570,8 @@ /area/residential/room6) "VP" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/small/peppermill, +/obj/item/reagent_containers/food/condiment/small/saltshaker, /turf/simulated/floor/lino, /area/residential/mansion) "VQ" = ( @@ -7695,7 +7695,7 @@ /area/residential/mroom4) "WO" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/box/donut, +/obj/item/storage/box/donut, /obj/effect/floor_decal/spline/fancy/wood{ color = "#7a412a"; dir = 1 @@ -7709,11 +7709,11 @@ /obj/structure/table/standard{ name = "plastic table frame" }, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ +/obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = 5; pixel_y = 5 }, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, +/obj/item/reagent_containers/food/condiment/small/peppermill, /obj/structure/sink/kitchen{ dir = 8; pixel_x = -12 @@ -7730,7 +7730,7 @@ /area/residential/ship_bay) "WY" = ( /obj/structure/table/alien/blue, -/obj/item/weapon/storage/box/glasses/coffeemug, +/obj/item/storage/box/glasses/coffeemug, /turf/simulated/floor/tiled, /area/residential/room6) "WZ" = ( @@ -7765,9 +7765,9 @@ dir = 8 }, /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/o2, -/obj/item/weapon/storage/firstaid/fire, +/obj/item/storage/firstaid/toxin, +/obj/item/storage/firstaid/o2, +/obj/item/storage/firstaid/fire, /turf/simulated/floor/tiled/white, /area/residential/medbay) "Xn" = ( @@ -7787,9 +7787,9 @@ /area/residential/mroom4) "Xs" = ( /obj/structure/closet, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, /turf/simulated/floor/wood, /area/residential/lobby) "Xu" = ( @@ -7802,7 +7802,7 @@ /turf/simulated/floor/tiled/white, /area/residential/room1) "Xv" = ( -/obj/item/weapon/soap/nanotrasen, +/obj/item/soap/nanotrasen, /obj/structure/table/marble, /turf/simulated/floor/tiled/white, /area/residential/mansion) @@ -7981,13 +7981,13 @@ /area/residential/corridors) "YL" = ( /obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, /turf/simulated/floor/lino, /area/residential/room2) "YS" = ( @@ -8014,8 +8014,8 @@ pixel_y = 22 }, /obj/structure/closet/cabinet, -/obj/item/weapon/handcuffs/legcuffs/fuzzy, -/obj/item/weapon/handcuffs/fuzzy, +/obj/item/handcuffs/legcuffs/fuzzy, +/obj/item/handcuffs/fuzzy, /obj/item/clothing/head/headband/maid, /obj/item/clothing/under/fluff/latexmaid, /obj/item/clothing/head/nursehat, @@ -8124,10 +8124,10 @@ /area/residential/mroom4) "ZG" = ( /obj/machinery/portable_atmospherics/hydroponics, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/tool/wirecutters/clippers/trimmers, -/obj/item/weapon/reagent_containers/glass/bottle/eznutrient, -/obj/item/weapon/material/minihoe, +/obj/item/reagent_containers/glass/bucket, +/obj/item/tool/wirecutters/clippers/trimmers, +/obj/item/reagent_containers/glass/bottle/eznutrient, +/obj/item/material/minihoe, /turf/simulated/floor/wood, /area/residential/room2) "ZH" = ( @@ -8160,11 +8160,11 @@ dir = 1 }, /obj/structure/table/woodentable, -/obj/item/weapon/towel{ +/obj/item/towel{ pixel_x = -2; pixel_y = 9 }, -/obj/item/weapon/towel{ +/obj/item/towel{ pixel_x = -2; pixel_y = 9 }, @@ -8233,11 +8233,11 @@ /obj/effect/floor_decal/borderfloorwhite{ dir = 8 }, -/obj/item/weapon/reagent_containers/glass/beaker, -/obj/item/weapon/reagent_containers/glass/beaker, -/obj/item/weapon/reagent_containers/glass/beaker, -/obj/item/weapon/reagent_containers/glass/beaker, -/obj/item/weapon/reagent_containers/dropper, +/obj/item/reagent_containers/glass/beaker, +/obj/item/reagent_containers/glass/beaker, +/obj/item/reagent_containers/glass/beaker, +/obj/item/reagent_containers/glass/beaker, +/obj/item/reagent_containers/dropper, /turf/simulated/floor/tiled/white, /area/residential/mroom4) diff --git a/maps/yw/residential/residential_inactive.dmm b/maps/yw/residential/residential_inactive.dmm index 6d04f1d1a8a..815a079a56e 100644 --- a/maps/yw/residential/residential_inactive.dmm +++ b/maps/yw/residential/residential_inactive.dmm @@ -429,7 +429,7 @@ /turf/simulated/floor/tiled/kafel_full, /area/residential/room9) "eR" = ( -/obj/item/weapon/bedsheet/hos, +/obj/item/bedsheet/hos, /obj/structure/bed/padded, /turf/simulated/floor/carpet, /area/residential/mroom2) @@ -452,7 +452,7 @@ icon_state = "1-2" }, /obj/structure/mopbucket, -/obj/item/weapon/mop, +/obj/item/mop, /obj/machinery/light/small{ dir = 1 }, @@ -583,12 +583,12 @@ /turf/simulated/floor/carpet, /area/residential/mroom2) "hb" = ( -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/material/minihoe, -/obj/item/weapon/tool/wirecutters/clippers/trimmers, -/obj/item/weapon/storage/bag/plants, -/obj/item/device/analyzer/plant_analyzer, -/obj/item/weapon/reagent_containers/spray/plantbgone, +/obj/item/reagent_containers/glass/bucket, +/obj/item/material/minihoe, +/obj/item/tool/wirecutters/clippers/trimmers, +/obj/item/storage/bag/plants, +/obj/item/analyzer/plant_analyzer, +/obj/item/reagent_containers/spray/plantbgone, /obj/machinery/light, /turf/simulated/floor/tiled/white, /area/residential/mroom1) @@ -723,7 +723,7 @@ /area/residential/mroom1) "ip" = ( /obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/drinks/bottle/specialwhiskey, +/obj/item/reagent_containers/food/drinks/bottle/specialwhiskey, /turf/simulated/floor/tiled/white, /area/residential/room3) "iz" = ( @@ -909,7 +909,7 @@ /area/residential/room12) "kI" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/purpledouble, +/obj/item/bedsheet/purpledouble, /turf/simulated/floor/carpet, /area/residential/room5) "kL" = ( @@ -939,7 +939,7 @@ /area/residential/room5) "lf" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/food/drinks/glass2/mug, +/obj/item/reagent_containers/food/drinks/glass2/mug, /obj/item/mecha_parts/micro/part/gopher_right_arm, /obj/item/robot_parts/r_arm, /turf/simulated/floor/tiled, @@ -951,13 +951,13 @@ /area/residential/room12) "ll" = ( /obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, -/obj/item/weapon/storage/box/beakers, +/obj/item/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/small/peppermill, +/obj/item/storage/box/beakers, /turf/simulated/floor/tiled/white, /area/residential/room8) "lm" = ( @@ -1001,10 +1001,10 @@ /area/residential/mroom2) "lI" = ( /obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, /turf/simulated/floor/tiled/white, /area/residential/room3) "lJ" = ( @@ -1117,7 +1117,7 @@ "ne" = ( /obj/structure/closet/crate, /obj/item/clothing/accessory/medal/silver/valor, -/obj/item/weapon/storage/photo_album, +/obj/item/storage/photo_album, /obj/item/clothing/head/fez, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -1195,7 +1195,7 @@ /turf/simulated/floor/carpet, /area/residential/room5) "op" = ( -/obj/item/weapon/bedsheet/double, +/obj/item/bedsheet/double, /obj/structure/bed/double/padded, /turf/simulated/floor/carpet, /area/residential/room4) @@ -1335,7 +1335,7 @@ /area/residential/room9) "pG" = ( /obj/structure/table/marble, -/obj/item/weapon/material/knife, +/obj/item/material/knife, /turf/simulated/floor/tiled/white, /area/residential/room8) "pM" = ( @@ -1370,14 +1370,14 @@ /area/residential/mroom2) "qm" = ( /obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, -/obj/item/weapon/storage/box/beakers, -/obj/item/weapon/storage/box/glasses/pint, +/obj/item/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/small/peppermill, +/obj/item/storage/box/beakers, +/obj/item/storage/box/glasses/pint, /obj/machinery/light{ dir = 8 }, @@ -1391,7 +1391,7 @@ /turf/simulated/wall, /area/residential/mroom1) "qs" = ( -/obj/item/weapon/bedsheet/piratedouble, +/obj/item/bedsheet/piratedouble, /obj/structure/bed/double/padded, /turf/simulated/floor/wood, /area/residential/room9) @@ -1510,8 +1510,8 @@ /obj/item/clothing/under/teshari/undercoat/standard/white_grey, /obj/item/clothing/suit/storage/teshari/beltcloak/standard/blue_grey, /obj/item/clothing/glasses/fluff/avigoggles_yw, -/obj/item/device/communicator/watch, -/obj/item/weapon/card/id/residential/rs12, +/obj/item/communicator/watch, +/obj/item/card/id/residential/rs12, /obj/structure/closet/crate/plastic{ name = "footlocker" }, @@ -1993,7 +1993,7 @@ /obj/machinery/light{ dir = 4 }, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/kitchen/rollingpin, /turf/simulated/floor/lino, /area/residential/room4) "yz" = ( @@ -2164,7 +2164,7 @@ /area/residential/mroom1) "Aw" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/box/glasses, +/obj/item/storage/box/glasses, /obj/machinery/light{ dir = 1 }, @@ -2278,7 +2278,7 @@ /turf/simulated/floor/tiled/kafel_full, /area/residential/room9) "CC" = ( -/obj/item/weapon/bedsheet/yellow, +/obj/item/bedsheet/yellow, /obj/structure/bed/padded, /turf/simulated/floor/carpet, /area/residential/mroom2) @@ -2356,7 +2356,7 @@ /area/residential/room8) "DI" = ( /obj/structure/table/glass, -/obj/item/weapon/material/knife, +/obj/item/material/knife, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, @@ -2392,9 +2392,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/spoon, -/obj/item/weapon/material/knife/plastic, +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/spoon, +/obj/item/material/knife/plastic, /turf/simulated/floor/wood, /area/residential/room4) "Eg" = ( @@ -2543,8 +2543,8 @@ /obj/structure/table/marble, /obj/item/clothing/under/pj/blue, /obj/item/clothing/under/pj/red, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, /obj/random/soap, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -2581,7 +2581,7 @@ /turf/simulated/floor/wood, /area/residential/room9) "GA" = ( -/obj/item/weapon/bedsheet/bluedouble, +/obj/item/bedsheet/bluedouble, /obj/structure/bed/double/padded, /turf/simulated/floor/carpet/blue, /area/residential/mroom1) @@ -2670,16 +2670,16 @@ /obj/item/trash/bowl, /obj/item/trash/bowl, /obj/item/trash/bowl, -/obj/item/weapon/tray, -/obj/item/weapon/tray, -/obj/item/weapon/material/knife/plastic, -/obj/item/weapon/material/knife/plastic, -/obj/item/weapon/material/knife/plastic, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/spoon, -/obj/item/weapon/material/kitchen/utensil/spoon, -/obj/item/weapon/material/kitchen/utensil/spoon, +/obj/item/tray, +/obj/item/tray, +/obj/item/material/knife/plastic, +/obj/item/material/knife/plastic, +/obj/item/material/knife/plastic, +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/spoon, +/obj/item/material/kitchen/utensil/spoon, +/obj/item/material/kitchen/utensil/spoon, /turf/simulated/floor/tiled/white, /area/residential/mroom1) "Ib" = ( @@ -2872,7 +2872,7 @@ /turf/simulated/floor/wood, /area/residential/room9) "KK" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/wood, /area/residential/room4) "KL" = ( @@ -2904,18 +2904,18 @@ /area/residential/mroom2) "KS" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/box/glasses, +/obj/item/storage/box/glasses, /turf/simulated/floor/tiled/white, /area/residential/mroom2) "KY" = ( /obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, -/obj/item/weapon/storage/box/beakers, +/obj/item/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/small/peppermill, +/obj/item/storage/box/beakers, /turf/simulated/floor/wood, /area/residential/room10) "Ld" = ( @@ -3138,16 +3138,16 @@ /area/residential/room12) "Od" = ( /obj/structure/table/marble, -/obj/item/weapon/material/knife, +/obj/item/material/knife, /turf/simulated/floor/lino, /area/residential/room5) "Oe" = ( /obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, /turf/simulated/floor/tiled/white, /area/residential/mroom1) "Og" = ( @@ -3158,7 +3158,7 @@ /turf/simulated/floor/tiled/old_cargo, /area/residential/room12) "Om" = ( -/obj/item/weapon/bedsheet/purpledouble, +/obj/item/bedsheet/purpledouble, /obj/structure/bed/double/padded, /turf/simulated/floor/carpet/purcarpet, /area/residential/mroom1) @@ -3182,7 +3182,7 @@ dir = 8; pixel_x = -5 }, -/obj/item/weapon/soap/deluxe, +/obj/item/soap/deluxe, /turf/simulated/floor/tiled/neutral, /area/residential/room3) "OK" = ( @@ -3196,11 +3196,11 @@ /area/residential/mroom1) "OP" = ( /obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, /turf/simulated/floor/tiled/white, /area/residential/mroom2) "OY" = ( @@ -3228,8 +3228,8 @@ /area/residential/mroom2) "Pq" = ( /obj/structure/table/woodentable, -/obj/item/weapon/folder/red_hos, -/obj/item/weapon/folder/red, +/obj/item/folder/red_hos, +/obj/item/folder/red, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, @@ -3289,7 +3289,7 @@ /area/residential/room8) "PI" = ( /obj/structure/bed/double, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /turf/simulated/floor/lino, /area/residential/room3) "PM" = ( @@ -3333,16 +3333,16 @@ /area/residential/room11) "Qu" = ( /obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, -/obj/item/weapon/storage/box/beakers, -/obj/item/weapon/material/knife, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/small/peppermill, +/obj/item/storage/box/beakers, +/obj/item/material/knife, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, /turf/simulated/floor/tiled/old_cargo, /area/residential/room11) "QI" = ( @@ -3369,7 +3369,7 @@ "Rm" = ( /obj/structure/bed/double/padded, /obj/structure/curtain/black, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /turf/simulated/floor/carpet, /area/residential/room10) "Ro" = ( @@ -3388,7 +3388,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, -/obj/item/weapon/storage/box/glasses, +/obj/item/storage/box/glasses, /turf/simulated/floor/wood, /area/residential/room4) "Rw" = ( @@ -3447,7 +3447,7 @@ /area/residential/room3) "SA" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/knife, +/obj/item/material/knife, /turf/simulated/floor/wood, /area/residential/room9) "SC" = ( @@ -3498,7 +3498,7 @@ /turf/simulated/floor/wood, /area/residential/mroom2) "SZ" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/carpet, /area/residential/room5) "Tc" = ( @@ -3528,7 +3528,7 @@ /turf/simulated/floor/plating, /area/residential/room9) "Tv" = ( -/obj/item/weapon/bedsheet/cedouble, +/obj/item/bedsheet/cedouble, /obj/structure/bed/double/padded, /turf/simulated/floor/carpet/bcarpet, /area/residential/room8) @@ -3543,8 +3543,8 @@ /area/residential/room12) "TI" = ( /obj/structure/table/rack, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/random/soap, /turf/simulated/floor/tiled/kafel_full, @@ -3586,16 +3586,16 @@ /obj/item/trash/bowl, /obj/item/trash/bowl, /obj/item/trash/bowl, -/obj/item/weapon/tray, -/obj/item/weapon/tray, -/obj/item/weapon/material/knife/plastic, -/obj/item/weapon/material/knife/plastic, -/obj/item/weapon/material/knife/plastic, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/spoon, -/obj/item/weapon/material/kitchen/utensil/spoon, -/obj/item/weapon/material/kitchen/utensil/spoon, +/obj/item/tray, +/obj/item/tray, +/obj/item/material/knife/plastic, +/obj/item/material/knife/plastic, +/obj/item/material/knife/plastic, +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/spoon, +/obj/item/material/kitchen/utensil/spoon, +/obj/item/material/kitchen/utensil/spoon, /turf/simulated/floor/tiled/white, /area/residential/mroom2) "Uq" = ( @@ -3627,13 +3627,13 @@ /area/residential/mroom2) "UT" = ( /obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, -/obj/item/weapon/storage/box/beakers, +/obj/item/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/small/peppermill, +/obj/item/storage/box/beakers, /turf/simulated/floor/tiled/white, /area/residential/room11) "UV" = ( @@ -3656,9 +3656,9 @@ /area/residential/room5) "Vi" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/material/kitchen/rollingpin, -/obj/item/weapon/material/knife, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, +/obj/item/material/kitchen/rollingpin, +/obj/item/material/knife, +/obj/item/reagent_containers/food/condiment/enzyme, /turf/simulated/floor/tiled/white, /area/residential/mroom2) "Vq" = ( @@ -3785,7 +3785,7 @@ /area/residential/mroom1) "Xd" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/hopdouble, +/obj/item/bedsheet/hopdouble, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, @@ -3801,7 +3801,7 @@ /area/residential/room3) "Xl" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin, +/obj/item/paper_bin, /turf/simulated/floor/carpet, /area/residential/mroom2) "Xn" = ( @@ -3827,7 +3827,7 @@ /area/residential/room5) "Xv" = ( /obj/structure/table/woodentable, -/obj/item/weapon/pen/fountain, +/obj/item/pen/fountain, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, @@ -3886,13 +3886,13 @@ /obj/machinery/light{ dir = 4 }, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, -/obj/item/weapon/storage/box/beakers, +/obj/item/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/snacks/meat, +/obj/item/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/small/peppermill, +/obj/item/storage/box/beakers, /obj/machinery/light{ dir = 8 }, @@ -3926,15 +3926,15 @@ /area/residential/mroom1) "YQ" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/material/kitchen/rollingpin, -/obj/item/weapon/material/knife, +/obj/item/material/kitchen/rollingpin, +/obj/item/material/knife, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, /obj/machinery/light{ dir = 8 }, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/food/condiment/enzyme, /turf/simulated/floor/tiled/white, /area/residential/mroom1) "YR" = ( @@ -3991,7 +3991,7 @@ /area/residential/room8) "ZH" = ( /obj/structure/table/woodentable, -/obj/item/weapon/deck/cards, +/obj/item/deck/cards, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, diff --git a/maps/yw/residential/residential_keys.dm b/maps/yw/residential/residential_keys.dm index 45759648e99..cc31d62be86 100644 --- a/maps/yw/residential/residential_keys.dm +++ b/maps/yw/residential/residential_keys.dm @@ -1,135 +1,135 @@ -/obj/item/weapon/card/id/residential +/obj/item/card/id/residential name = "generic residential key" desc = "A keyring with a small steel key, and a blue fob." icon = 'icons/obj/vehicles.dmi' icon_state = "quad_keys" -/obj/item/weapon/card/id/residential/rs1 +/obj/item/card/id/residential/rs1 name = "RS1 residential key" access = list(8001) -/obj/item/weapon/card/id/residential/rs2 +/obj/item/card/id/residential/rs2 name = "RS2 residential key" access = list(8002) -/obj/item/weapon/card/id/residential/rs3 +/obj/item/card/id/residential/rs3 name = "RS3 residential key" access = list(8003) -/obj/item/weapon/card/id/residential/rs4 +/obj/item/card/id/residential/rs4 name = "RS4 residential key" access = list(8004) -/obj/item/weapon/card/id/residential/rs5 +/obj/item/card/id/residential/rs5 name = "RS5 residential key" access = list(8005) -/obj/item/weapon/card/id/residential/rs6 +/obj/item/card/id/residential/rs6 name = "RS6 residential key" access = list(8006) -/obj/item/weapon/card/id/residential/rs7 +/obj/item/card/id/residential/rs7 name = "RS7 residential key" access = list(8007) -/obj/item/weapon/card/id/residential/rs8 +/obj/item/card/id/residential/rs8 name = "RS8 residential key" access = list(8008) -/obj/item/weapon/card/id/residential/rs9 +/obj/item/card/id/residential/rs9 name = "RS9 residential key" access = list(8009) -/obj/item/weapon/card/id/residential/rs10 +/obj/item/card/id/residential/rs10 name = "RS10 residential key" access = list(8010) -/obj/item/weapon/card/id/residential/rs11 +/obj/item/card/id/residential/rs11 name = "RS11 residential key" access = list(8011) -/obj/item/weapon/card/id/residential/rs12 +/obj/item/card/id/residential/rs12 name = "RS12 residential key" access = list(8012) -/obj/item/weapon/card/id/residential/rs13 +/obj/item/card/id/residential/rs13 name = "RS13 residential key" access = list(8013) -/obj/item/weapon/card/id/residential/rm1 +/obj/item/card/id/residential/rm1 name = "RM1 residential key" access = list(8101) -/obj/item/weapon/card/id/residential/rm2 +/obj/item/card/id/residential/rm2 name = "RM2 residential key" access = list(8102) -/obj/item/weapon/card/id/residential/rm4 +/obj/item/card/id/residential/rm4 name = "RM4 residential key" access = list(8104) -/obj/item/weapon/card/id/residential/mansion +/obj/item/card/id/residential/mansion name = "Mansion residential key" access = list(8100) //-SHIPS- -/obj/item/weapon/card/id/residential/s1 +/obj/item/card/id/residential/s1 name = "S1 residential key" access = list(8201) -/obj/item/weapon/card/id/residential/s2 +/obj/item/card/id/residential/s2 name = "S2 residential key" access = list(8202) -/obj/item/weapon/card/id/residential/s3 +/obj/item/card/id/residential/s3 name = "S3 residential key" access = list(8203) -/obj/item/weapon/card/id/residential/s4 +/obj/item/card/id/residential/s4 name = "S4 residential key" access = list(8204) -/obj/item/weapon/card/id/residential/s5 +/obj/item/card/id/residential/s5 name = "S5 residential key" access = list(8205) -/obj/item/weapon/card/id/residential/s6 +/obj/item/card/id/residential/s6 name = "S6 residential key" access = list(8206) //FLUFF SPAWNS /datum/gear/fluff/res_key_s1 - path = /obj/item/weapon/card/id/residential/s1 + path = /obj/item/card/id/residential/s1 display_name = "S1 keys" description = "residential" ckeywhitelist = list("") character_name = list("") /datum/gear/fluff/res_key_s2 - path = /obj/item/weapon/card/id/residential/s2 + path = /obj/item/card/id/residential/s2 display_name = "S2 keys" description = "residential" ckeywhitelist = list("") character_name = list("") /datum/gear/fluff/res_key_s3 - path = /obj/item/weapon/card/id/residential/s3 + path = /obj/item/card/id/residential/s3 display_name = "S3 keys" description = "residential" ckeywhitelist = list("blackangelsace") character_name = list("Strix Hades") /datum/gear/fluff/res_key_s4 - path = /obj/item/weapon/card/id/residential/s4 + path = /obj/item/card/id/residential/s4 display_name = "S4 keys" description = "residential" ckeywhitelist = list("") character_name = list("") /datum/gear/fluff/res_key_s5 - path = /obj/item/weapon/card/id/residential/s5 + path = /obj/item/card/id/residential/s5 display_name = "S5 keys" description = "residential" ckeywhitelist = list("") @@ -138,21 +138,21 @@ // MEDIUM KEYS /datum/gear/fluff/res_key_rm1 - path = /obj/item/weapon/card/id/residential/rm1 + path = /obj/item/card/id/residential/rm1 display_name = "RM1 keys" description = "residential" ckeywhitelist = list("") character_name = list("") /datum/gear/fluff/res_key_rm2 - path = /obj/item/weapon/card/id/residential/rm2 + path = /obj/item/card/id/residential/rm2 display_name = "RM2 keys" description = "residential" ckeywhitelist = list("") character_name = list("") /datum/gear/fluff/res_key_rm4 - path = /obj/item/weapon/card/id/residential/rm4 + path = /obj/item/card/id/residential/rm4 display_name = "RM4 keys" description = "Residential keys for Large Room 4 on the Serenity" ckeywhitelist = list("montessquio", "cryptidbun") @@ -162,91 +162,91 @@ // SMALL KEYS /datum/gear/fluff/res_key_rs1 - path = /obj/item/weapon/card/id/residential/rs1 + path = /obj/item/card/id/residential/rs1 display_name = "RS1 keys" description = "residential" ckeywhitelist = list("dushka") character_name = list("Skraw'laar") /datum/gear/fluff/res_key_rs2 - path = /obj/item/weapon/card/id/residential/rs2 + path = /obj/item/card/id/residential/rs2 display_name = "RS2 keys" description = "residential" ckeywhitelist = list("hidingdan") character_name = list("Violet Ashe") /datum/gear/fluff/res_key_rs3 - path = /obj/item/weapon/card/id/residential/rs3 + path = /obj/item/card/id/residential/rs3 display_name = "RS3 keys" description = "residential" ckeywhitelist = list("") character_name = list("") /datum/gear/fluff/res_key_rs4 - path = /obj/item/weapon/card/id/residential/rs4 + path = /obj/item/card/id/residential/rs4 display_name = "RS4 keys" description = "residential" ckeywhitelist = list("") character_name = list("") /datum/gear/fluff/res_key_rs5 - path = /obj/item/weapon/card/id/residential/rs5 + path = /obj/item/card/id/residential/rs5 display_name = "RS5 keys" description = "residential" ckeywhitelist = list("") character_name = list("") /datum/gear/fluff/res_key_rs6 - path = /obj/item/weapon/card/id/residential/rs6 + path = /obj/item/card/id/residential/rs6 display_name = "RS6 keys" description = "residential" ckeywhitelist = list("izac112") character_name = list("Jill Chambers") /datum/gear/fluff/res_key_rs7 - path = /obj/item/weapon/card/id/residential/rs7 + path = /obj/item/card/id/residential/rs7 display_name = "RS7 keys" description = "residential" ckeywhitelist = list("dopiotl", "deepindigo") character_name = list("Jeanne Petite", "Kahlia 188") /datum/gear/fluff/res_key_rs8 - path = /obj/item/weapon/card/id/residential/rs8 + path = /obj/item/card/id/residential/rs8 display_name = "RS8 keys" description = "residential" ckeywhitelist = list("") character_name = list("") /datum/gear/fluff/res_key_rs9 - path = /obj/item/weapon/card/id/residential/rs9 + path = /obj/item/card/id/residential/rs9 display_name = "RS9 keys" description = "residential" ckeywhitelist = list("") character_name = list("") /datum/gear/fluff/res_key_rs10 - path = /obj/item/weapon/card/id/residential/rs10 + path = /obj/item/card/id/residential/rs10 display_name = "RS10 keys" description = "residential" ckeywhitelist = list("") character_name = list("") /datum/gear/fluff/res_key_rs11 - path = /obj/item/weapon/card/id/residential/rs11 + path = /obj/item/card/id/residential/rs11 display_name = "RS11 keys" description = "residential" ckeywhitelist = list("") character_name = list("") /datum/gear/fluff/res_key_rs12 - path = /obj/item/weapon/card/id/residential/rs12 + path = /obj/item/card/id/residential/rs12 display_name = "RS12 keys" description = "residential" ckeywhitelist = list("") character_name = list("") /datum/gear/fluff/res_key_rs13 - path = /obj/item/weapon/card/id/residential/rs13 + path = /obj/item/card/id/residential/rs13 display_name = "RS13 keys" description = "residential" ckeywhitelist = list("jaybird1") diff --git a/maps/yw/scratchmap.dmm b/maps/yw/scratchmap.dmm index bb2cb85930d..83a1ddc2d8c 100644 --- a/maps/yw/scratchmap.dmm +++ b/maps/yw/scratchmap.dmm @@ -2,20 +2,20 @@ "ab" = (/turf/simulated/floor/reinforced,/area/space) "ac" = (/obj/structure/bed/chair/wheelchair,/obj/machinery/light{dir = 8; icon_state = "tube1"},/turf/simulated/floor/tiled/white,/area/space) "ad" = (/turf/simulated/floor/tiled/white,/area/space) -"ae" = (/obj/structure/table/standard,/obj/item/device/radio{anchored = 1; broadcasting = 0; canhear_range = 7; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Surgery Emergency Phone"},/obj/random/medical,/turf/simulated/floor/tiled/white,/area/space) +"ae" = (/obj/structure/table/standard,/obj/item/radio{anchored = 1; broadcasting = 0; canhear_range = 7; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Surgery Emergency Phone"},/obj/random/medical,/turf/simulated/floor/tiled/white,/area/space) "af" = (/obj/structure/bed/chair/wheelchair,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled/white,/area/space) -"ag" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/weapon/surgical/surgicaldrill,/obj/item/weapon/surgical/FixOVein,/turf/simulated/floor/tiled/white,/area/space) +"ag" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/surgical/surgicaldrill,/obj/item/surgical/FixOVein,/turf/simulated/floor/tiled/white,/area/space) "ah" = (/obj/machinery/button/remote/blast_door{id = "surgeryobs"; name = "Privacy Shutters"; pixel_x = -58; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/space) "ai" = (/obj/structure/closet/crate/freezer,/turf/simulated/floor/tiled/white,/area/space) -"aj" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/weapon/surgical/retractor,/obj/item/stack/medical/advanced/bruise_pack,/turf/simulated/floor/tiled/white,/area/space) +"aj" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/surgical/retractor,/obj/item/stack/medical/advanced/bruise_pack,/turf/simulated/floor/tiled/white,/area/space) "ak" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/space) "al" = (/obj/machinery/button/holosign{pixel_x = 24; pixel_y = 2},/obj/machinery/light_switch{pixel_x = 32; pixel_y = 2},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/space) -"am" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/weapon/surgical/scalpel,/obj/item/weapon/surgical/circular_saw{pixel_y = 10},/obj/item/weapon/surgical/scalpel/manager,/turf/simulated/floor/tiled/white,/area/space) +"am" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/surgical/scalpel,/obj/item/surgical/circular_saw{pixel_y = 10},/obj/item/surgical/scalpel/manager,/turf/simulated/floor/tiled/white,/area/space) "an" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/space) -"ao" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/clothing/suit/surgicalapron,/obj/item/weapon/storage/box/freezer,/obj/item/weapon/reagent_containers/spray/sterilizine,/obj/structure/disposalpipe/segment,/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/tiled/white,/area/space) +"ao" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/clothing/suit/surgicalapron,/obj/item/storage/box/freezer,/obj/item/reagent_containers/spray/sterilizine,/obj/structure/disposalpipe/segment,/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/tiled/white,/area/space) "ap" = (/turf/simulated/wall,/area/space) "aq" = (/turf/simulated/wall/titanium,/area/space) -"ar" = (/obj/structure/table/standard,/obj/item/weapon/surgical/hemostat,/obj/item/weapon/surgical/cautery,/turf/simulated/floor/tiled/white,/area/space) +"ar" = (/obj/structure/table/standard,/obj/item/surgical/hemostat,/obj/item/surgical/cautery,/turf/simulated/floor/tiled/white,/area/space) "as" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/white,/area/space) "at" = (/obj/machinery/optable,/turf/simulated/floor/tiled/white,/area/space) "au" = (/obj/machinery/iv_drip,/turf/simulated/floor/tiled/white,/area/space) @@ -24,8 +24,8 @@ "ax" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/engineering{name = "Civilian Upper Substation"; req_one_access = list(11)},/turf/simulated/floor,/area/space) "ay" = (/obj/structure/cable{icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/space) "az" = (/obj/machinery/power/terminal,/obj/structure/cable{icon_state = "0-8"},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/space) -"aA" = (/obj/structure/table/standard,/obj/item/device/radio{anchored = 1; broadcasting = 0; canhear_range = 7; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Surgery Emergency Phone"},/obj/random/medical,/obj/effect/floor_decal/corner/pink/full{dir = 4},/turf/simulated/floor/tiled/white,/area/space) -"aB" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/weapon/surgical/bonegel,/obj/item/weapon/surgical/bonesetter,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled/white,/area/space) +"aA" = (/obj/structure/table/standard,/obj/item/radio{anchored = 1; broadcasting = 0; canhear_range = 7; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Surgery Emergency Phone"},/obj/random/medical,/obj/effect/floor_decal/corner/pink/full{dir = 4},/turf/simulated/floor/tiled/white,/area/space) +"aB" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/surgical/bonegel,/obj/item/surgical/bonesetter,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled/white,/area/space) "aC" = (/obj/machinery/computer/operating,/turf/simulated/floor/tiled/white,/area/space) "aD" = (/obj/structure/closet,/obj/item/clothing/under/rank/chief_medical_officer,/obj/item/clothing/under/rank/chief_medical_officer,/obj/item/clothing/under/rank/chief_medical_officer,/obj/item/clothing/under/pj/blue,/obj/item/clothing/under/pj/blue,/turf/simulated/floor/tiled/white,/area/space) "aE" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/space) @@ -38,7 +38,7 @@ "aL" = (/obj/structure/closet/secure_closet/medical_wall{name = "O- Blood Locker"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/tiled/white,/area/space) "aM" = (/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/space) "aN" = (/obj/structure/cable/green,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/turf/simulated/floor/tiled/white,/area/space) -"aO" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/weapon/storage/firstaid/surgery,/obj/item/weapon/reagent_containers/spray/cleaner{desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; pixel_y = 2},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/tiled/white,/area/space) +"aO" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/storage/firstaid/surgery,/obj/item/reagent_containers/spray/cleaner{desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; pixel_y = 2},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/tiled/white,/area/space) "aP" = (/obj/machinery/power/sensor{name = "Powernet Sensor - Upper Civilian Subgrid"; name_tag = "Upper Civilian Subgrid"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/space) "aQ" = (/obj/structure/cable{icon_state = "1-8"},/turf/simulated/floor,/area/space) "aR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/engineering{name = "Civilian Upper Substation"; req_one_access = list(11)},/turf/simulated/floor,/area/space) @@ -52,7 +52,7 @@ "aZ" = (/obj/machinery/door/airlock/medical{id_tag = "surgery_observation"; name = "Observation Room"; req_access = newlist()},/obj/machinery/holosign/surgery,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/space) "ba" = (/obj/structure/fence,/turf/snow/snow2,/area/space) "bb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/space) -"bc" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/weapon/surgical/hemostat,/obj/item/weapon/surgical/cautery,/turf/simulated/floor/tiled/white,/area/space) +"bc" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/surgical/hemostat,/obj/item/surgical/cautery,/turf/simulated/floor/tiled/white,/area/space) "bd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled/white,/area/space) "be" = (/obj/structure/fence/corner{icon_state = "corner"; dir = 1},/turf/snow/snow2,/area/space) "bf" = (/obj/structure/fence/post{icon_state = "post"; dir = 4},/turf/snow/snow2,/area/space) @@ -76,7 +76,7 @@ "bx" = (/turf/simulated/floor/plating,/area/space) "by" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/space) "bz" = (/obj/machinery/shipsensors{dir = 1},/turf/simulated/floor/plating,/area/space) -"bA" = (/obj/structure/table/rack/shelf,/obj/item/weapon/gun/energy/locked/frontier/holdout,/turf/simulated/floor/tiled,/area/space) +"bA" = (/obj/structure/table/rack/shelf,/obj/item/gun/energy/locked/frontier/holdout,/turf/simulated/floor/tiled,/area/space) "bB" = (/obj/machinery/door/airlock/glass_external/public,/turf/simulated/floor/tiled,/area/space) "bC" = (/obj/structure/flora/tree/winter,/turf/snow/snow2,/area/space) "bD" = (/obj/structure/flora/tree/pine,/turf/snow/snow2,/area/space) @@ -85,7 +85,7 @@ "bG" = (/obj/structure/bonfire,/turf/snow/snow2,/area/space) "bH" = (/obj/effect/floor_decal/snow/floor/edges{dir = 8},/obj/effect/floor_decal/snow/floor/edges{dir = 4},/turf/snow/gravsnow,/area/space) "bI" = (/turf/snow/gravsnow,/area/space) -"bJ" = (/obj/structure/table/standard,/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = 26},/obj/item/weapon/reagent_containers/blood/OMinus,/turf/simulated/floor/tiled/white,/area/space) +"bJ" = (/obj/structure/table/standard,/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = 26},/obj/item/reagent_containers/blood/OMinus,/turf/simulated/floor/tiled/white,/area/space) "bK" = (/turf/space,/area/engineering/locker_room) "bL" = (/turf/simulated/shuttle/wall/voidcraft,/area/space) "bM" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/space) @@ -95,17 +95,17 @@ "bQ" = (/obj/effect/floor_decal/borderfloorblack,/obj/effect/floor_decal/industrial/danger,/obj/machinery/camera/network/exploration{c_tag = "Exploration Hangar Fore"},/turf/simulated/floor/tiled,/area/space) "bR" = (/obj/structure/flight_right,/turf/simulated/shuttle/floor/black,/area/space) "bS" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 8; health = 1e+006},/turf/simulated/shuttle/plating,/area/space) -"bT" = (/obj/machinery/light{dir = 1},/obj/structure/table/rack/shelf,/obj/item/weapon/tank/oxygen,/obj/item/device/suit_cooling_unit,/obj/item/clothing/head/helmet/space/void/pilot,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/pilot,/obj/item/clothing/head/helmet/space/void/pilot,/turf/simulated/shuttle/floor/black,/area/space) -"bU" = (/obj/item/device/radio/intercom{pixel_y = -24},/turf/simulated/shuttle/floor/black,/area/space) +"bT" = (/obj/machinery/light{dir = 1},/obj/structure/table/rack/shelf,/obj/item/tank/oxygen,/obj/item/suit_cooling_unit,/obj/item/clothing/head/helmet/space/void/pilot,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/pilot,/obj/item/clothing/head/helmet/space/void/pilot,/turf/simulated/shuttle/floor/black,/area/space) +"bU" = (/obj/item/radio/intercom{pixel_y = -24},/turf/simulated/shuttle/floor/black,/area/space) "bV" = (/obj/structure/bed/chair/comfy/blue{icon_state = "comfychair_preview"; dir = 1},/turf/simulated/shuttle/floor/black,/area/space) "bW" = (/turf/simulated/wall,/area/engineering/workshop) "bX" = (/turf/simulated/wall/r_wall,/area/engineering/workshop) "bY" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/machinery/door/firedoor/glass,/turf/simulated/floor,/area/engineering/workshop) "bZ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_engineering{name = "Engineering Workshop"; req_access = newlist(); req_one_access = list(14,24)},/turf/simulated/floor/tiled/steel_grid,/area/engineering/workshop) "ca" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_engineering{name = "Engineering Workshop"; req_access = newlist(); req_one_access = list(14,24)},/turf/simulated/floor/tiled/steel_grid,/area/engineering/workshop) -"cb" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/storage/belt/utility,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/nifsofts_engineering,/turf/simulated/floor/tiled,/area/engineering/workshop) -"cc" = (/obj/structure/table/reinforced,/obj/item/device/radio/intercom{dir = 1; pixel_y = 24; req_access = list()},/obj/item/device/radio/off{pixel_y = 6},/obj/item/device/radio/off{pixel_x = -6; pixel_y = 4},/obj/item/device/radio/off{pixel_x = 6; pixel_y = 4},/obj/item/device/radio/off,/turf/simulated/floor/tiled,/area/engineering/workshop) -"cd" = (/obj/structure/table/reinforced,/obj/machinery/light{dir = 1},/obj/item/weapon/storage/toolbox/mechanical{pixel_y = 5},/obj/item/weapon/storage/toolbox/electrical,/turf/simulated/floor/tiled,/area/engineering/workshop) +"cb" = (/obj/structure/table/reinforced,/obj/item/storage/belt/utility,/obj/item/storage/belt/utility,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/storage/box/nifsofts_engineering,/turf/simulated/floor/tiled,/area/engineering/workshop) +"cc" = (/obj/structure/table/reinforced,/obj/item/radio/intercom{dir = 1; pixel_y = 24; req_access = list()},/obj/item/radio/off{pixel_y = 6},/obj/item/radio/off{pixel_x = -6; pixel_y = 4},/obj/item/radio/off{pixel_x = 6; pixel_y = 4},/obj/item/radio/off,/turf/simulated/floor/tiled,/area/engineering/workshop) +"cd" = (/obj/structure/table/reinforced,/obj/machinery/light{dir = 1},/obj/item/storage/toolbox/mechanical{pixel_y = 5},/obj/item/storage/toolbox/electrical,/turf/simulated/floor/tiled,/area/engineering/workshop) "ce" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/tiled,/area/engineering/workshop) "cf" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/vending/tool,/turf/simulated/floor/tiled,/area/engineering/workshop) "cg" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/vending/engivend,/turf/simulated/floor/tiled,/area/engineering/workshop) @@ -113,7 +113,7 @@ "ci" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/tiled/monotile,/area/engineering/workshop) "cj" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled,/area/engineering/workshop) "ck" = (/obj/effect/floor_decal/steeldecal/steel_decals5,/obj/effect/floor_decal/steeldecal/steel_decals9,/obj/effect/floor_decal/steeldecal/steel_decals9{dir = 8},/turf/simulated/floor/tiled/techmaint,/area/engineering/workshop) -"cl" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -28},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/table/reinforced,/obj/item/weapon/tool/crowbar,/obj/item/clothing/gloves/black,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/tiled,/area/engineering/workshop) +"cl" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -28},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/table/reinforced,/obj/item/tool/crowbar,/obj/item/clothing/gloves/black,/obj/item/storage/box/lights/mixed,/turf/simulated/floor/tiled,/area/engineering/workshop) "cm" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/engineering/workshop) "cn" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/decal/cleanable/blood/oil/streak{amount = 0},/turf/simulated/floor/tiled,/area/engineering/workshop) "co" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/engineering/workshop) @@ -121,7 +121,7 @@ "cq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled/monotile,/area/engineering/workshop) "cr" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled,/area/engineering/workshop) "cs" = (/obj/machinery/mech_recharger,/turf/simulated/floor,/area/engineering/workshop) -"ct" = (/obj/structure/table/reinforced,/obj/item/device/floor_painter,/obj/item/device/t_scanner,/obj/item/device/multitool{pixel_x = 5},/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor/tiled,/area/engineering/workshop) +"ct" = (/obj/structure/table/reinforced,/obj/item/floor_painter,/obj/item/t_scanner,/obj/item/multitool{pixel_x = 5},/obj/item/reagent_containers/spray/cleaner,/turf/simulated/floor/tiled,/area/engineering/workshop) "cu" = (/turf/simulated/floor/tiled,/area/engineering/workshop) "cv" = (/turf/simulated/floor/tiled/monotile,/area/engineering/workshop) "cw" = (/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals9{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals9{dir = 1},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/structure/extinguisher_cabinet{dir = 8; icon_state = "extinguisher_closed"; pixel_x = 30},/turf/simulated/floor/tiled/techmaint,/area/engineering/workshop) @@ -139,10 +139,10 @@ "cI" = (/obj/structure/stairs/west,/turf/simulated/floor/tiled,/area/engineering/workshop) "cJ" = (/obj/effect/floor_decal/steeldecal/steel_decals_central1{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals_central4{dir = 8},/turf/simulated/floor/tiled/monotile,/area/engineering/workshop) "cK" = (/obj/effect/floor_decal/steeldecal/steel_decals_central5{icon_state = "steel_decals_central5"; dir = 4},/turf/simulated/floor/tiled/monotile,/area/engineering/workshop) -"cL" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/table/reinforced,/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 6},/obj/item/weapon/storage/briefcase/inflatable{pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = -3; pixel_y = 0},/turf/simulated/floor/tiled,/area/engineering/engine_eva) -"cM" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 6},/obj/item/weapon/storage/briefcase/inflatable{pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = -3; pixel_y = 0},/obj/machinery/camera/network/engineering,/obj/machinery/firealarm{dir = 2; layer = 3.3; pixel_x = 0; pixel_y = 26},/turf/simulated/floor/tiled,/area/engineering/engine_eva) -"cN" = (/obj/structure/table/reinforced,/obj/item/device/suit_cooling_unit,/obj/item/device/suit_cooling_unit,/turf/simulated/floor/tiled,/area/engineering/engine_eva) -"cO" = (/obj/structure/table/reinforced,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/tiled,/area/engineering/engine_eva) +"cL" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/table/reinforced,/obj/item/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 6},/obj/item/storage/briefcase/inflatable{pixel_y = 3},/obj/item/storage/briefcase/inflatable{pixel_x = -3; pixel_y = 0},/turf/simulated/floor/tiled,/area/engineering/engine_eva) +"cM" = (/obj/structure/table/reinforced,/obj/item/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 6},/obj/item/storage/briefcase/inflatable{pixel_y = 3},/obj/item/storage/briefcase/inflatable{pixel_x = -3; pixel_y = 0},/obj/machinery/camera/network/engineering,/obj/machinery/firealarm{dir = 2; layer = 3.3; pixel_x = 0; pixel_y = 26},/turf/simulated/floor/tiled,/area/engineering/engine_eva) +"cN" = (/obj/structure/table/reinforced,/obj/item/suit_cooling_unit,/obj/item/suit_cooling_unit,/turf/simulated/floor/tiled,/area/engineering/engine_eva) +"cO" = (/obj/structure/table/reinforced,/obj/item/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/tiled,/area/engineering/engine_eva) "cP" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/closet/secure_closet/engineering_electrical,/obj/item/clothing/gloves/yellow,/turf/simulated/floor/tiled,/area/engineering/workshop) "cQ" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/closet/secure_closet/engineering_electrical,/turf/simulated/floor/tiled,/area/engineering/workshop) "cR" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/engineering/workshop) @@ -152,8 +152,8 @@ "cV" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/engineering/engine_eva) "cW" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_engineering{name = "Engineering EVA Storage"; req_one_access = list(11,24)},/turf/simulated/floor/tiled/steel_grid,/area/engineering/workshop) "cX" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/engineering/workshop) -"cY" = (/obj/structure/table/reinforced,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/tool/wrench,/obj/structure/window/reinforced{dir = 1},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/tiled,/area/engineering/workshop) -"cZ" = (/obj/structure/table/reinforced,/obj/machinery/recharger,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/structure/window/reinforced{dir = 1},/obj/item/weapon/cell/device,/obj/item/weapon/cell/device,/obj/machinery/light_switch{dir = 8; pixel_x = 24},/turf/simulated/floor/tiled,/area/engineering/workshop) +"cY" = (/obj/structure/table/reinforced,/obj/machinery/cell_charger,/obj/item/cell/high{charge = 100; maxcharge = 15000},/obj/item/tool/wrench,/obj/structure/window/reinforced{dir = 1},/obj/item/cell/high{charge = 100; maxcharge = 15000},/obj/item/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/tiled,/area/engineering/workshop) +"cZ" = (/obj/structure/table/reinforced,/obj/machinery/recharger,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/structure/window/reinforced{dir = 1},/obj/item/cell/device,/obj/item/cell/device,/obj/machinery/light_switch{dir = 8; pixel_x = 24},/turf/simulated/floor/tiled,/area/engineering/workshop) "da" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled,/area/engineering/engine_eva) "db" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/engineering/workshop) "dc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/monotile,/area/engineering/workshop) @@ -166,25 +166,25 @@ "dj" = (/obj/structure/closet/secure_closet/engineering_welding,/turf/simulated/floor/tiled,/area/engineering/workshop) "dk" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/monotile,/area/engineering/workshop) "dl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/monotile,/area/engineering/workshop) -"dm" = (/obj/structure/closet/toolcloset,/obj/item/weapon/pickaxe,/turf/simulated/floor/tiled,/area/engineering/workshop) +"dm" = (/obj/structure/closet/toolcloset,/obj/item/pickaxe,/turf/simulated/floor/tiled,/area/engineering/workshop) "dn" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_engineering{name = "Engineering EVA Storage"; req_one_access = list(11,24)},/turf/simulated/floor/tiled/steel_grid,/area/engineering/engine_eva) "do" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/machinery/door/firedoor/glass,/turf/simulated/floor,/area/engineering/engine_eva) "dp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_engineering{name = "Engineering Workshop"; req_access = newlist(); req_one_access = list(14,24)},/turf/simulated/floor/tiled/steel_grid,/area/engineering/workshop) "dq" = (/turf/simulated/shuttle/floor/black,/area/space) -"dr" = (/obj/machinery/light{dir = 1},/obj/structure/table/rack/shelf,/obj/item/weapon/tank/oxygen,/obj/item/device/suit_cooling_unit,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/pilot,/obj/item/clothing/head/helmet/space/void/pilot,/turf/simulated/shuttle/floor/black,/area/space) +"dr" = (/obj/machinery/light{dir = 1},/obj/structure/table/rack/shelf,/obj/item/tank/oxygen,/obj/item/suit_cooling_unit,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/pilot,/obj/item/clothing/head/helmet/space/void/pilot,/turf/simulated/shuttle/floor/black,/area/space) "ds" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating,/area/space) "dt" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/turf/simulated/shuttle/plating,/area/space) "du" = (/obj/machinery/door/airlock/voidcraft,/turf/simulated/shuttle/floor/black,/area/space) "dv" = (/obj/machinery/shuttle_sensor{dir = 2; id_tag = "shuttlesens_exp_psg"},/turf/simulated/shuttle/wall/voidcraft,/area/space) "dw" = (/obj/machinery/recharge_station,/turf/simulated/shuttle/floor/black,/area/space) -"dx" = (/obj/structure/table/rack/shelf,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi,/obj/item/weapon/tank/emergency/oxygen/engi,/obj/item/weapon/tank/emergency/oxygen/engi,/obj/item/weapon/tank/emergency/oxygen/engi,/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 0; pixel_y = 32},/turf/simulated/shuttle/floor/black,/area/space) +"dx" = (/obj/structure/table/rack/shelf,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi,/obj/item/tank/emergency/oxygen/engi,/obj/item/tank/emergency/oxygen/engi,/obj/item/tank/emergency/oxygen/engi,/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 0; pixel_y = 32},/turf/simulated/shuttle/floor/black,/area/space) "dy" = (/obj/structure/bed/chair/shuttle,/turf/simulated/shuttle/floor/black,/area/space) "dz" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/closet/walllocker/emerglocker{pixel_x = -32},/turf/simulated/shuttle/floor/black,/area/space) "dA" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/closet/walllocker/emerglocker{pixel_x = 32},/turf/simulated/shuttle/floor/black,/area/space) "dB" = (/obj/machinery/sleeper{dir = 8},/turf/simulated/shuttle/floor/black,/area/space) "dC" = (/obj/machinery/sleep_console,/turf/simulated/shuttle/floor/black,/area/space) "dD" = (/obj/structure/bed/chair/shuttle{icon_state = "shuttle_chair"; dir = 1},/turf/simulated/shuttle/floor/black,/area/space) -"dE" = (/obj/structure/bed/chair/shuttle{icon_state = "shuttle_chair"; dir = 1},/obj/item/device/radio/intercom{pixel_y = -24},/turf/simulated/shuttle/floor/black,/area/space) +"dE" = (/obj/structure/bed/chair/shuttle{icon_state = "shuttle_chair"; dir = 1},/obj/item/radio/intercom{pixel_y = -24},/turf/simulated/shuttle/floor/black,/area/space) "dF" = (/obj/machinery/shuttle_sensor{dir = 6; id_tag = "shuttlesens_exp_int"},/turf/simulated/shuttle/wall/voidcraft,/area/space) "dG" = (/obj/effect/floor_decal/industrial/outline/red,/obj/machinery/power/terminal{dir = 4},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/reinforced,/area/space) "dH" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/smes/buildable/power_shuttle,/turf/simulated/floor/reinforced,/area/space) @@ -232,7 +232,7 @@ "ex" = (/obj/structure/flight_right,/turf/simulated/floor/tiled,/area/space) "ey" = (/turf/simulated/shuttle/wall/voidcraft/hard_corner/lightblue,/area/space) "ez" = (/obj/structure/table/standard{name = "plastic table frame"},/turf/simulated/floor/tiled/techmaint,/area/space) -"eA" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/utility/full,/obj/item/clothing/head/pilot,/obj/item/clothing/head/pilot,/obj/item/weapon/storage/box/survival/space,/obj/item/weapon/storage/toolbox/emergency,/turf/simulated/floor/tiled/techfloor/grid,/area/space) +"eA" = (/obj/structure/table/rack,/obj/item/storage/belt/utility/full,/obj/item/clothing/head/pilot,/obj/item/clothing/head/pilot,/obj/item/storage/box/survival/space,/obj/item/storage/toolbox/emergency,/turf/simulated/floor/tiled/techfloor/grid,/area/space) "eB" = (/obj/machinery/door/airlock/hatch{req_one_access = newlist()},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled/steel_ridged,/area/space) "eC" = (/turf/simulated/floor/tiled/techfloor/grid,/area/space) "eD" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals_central5{icon_state = "steel_decals_central5"; dir = 8},/turf/simulated/floor/tiled/monotile,/area/space) @@ -249,7 +249,7 @@ "eO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{icon_state = "2-4"},/turf/simulated/floor/tiled/monofloor{dir = 1},/area/space) "eP" = (/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/industrial/danger{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/space) "eQ" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1380; id_tag = "expshuttle_docker_pump_out_external"},/obj/structure/handrail{dir = 4},/obj/effect/floor_decal/industrial/warning/full,/turf/simulated/floor/plating,/area/space) -"eR" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "expshuttle_vent"},/obj/item/device/radio/intercom{dir = 1; pixel_y = 24; req_access = list()},/obj/structure/handrail,/turf/simulated/floor/tiled/techfloor/grid,/area/space) +"eR" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "expshuttle_vent"},/obj/item/radio/intercom{dir = 1; pixel_y = 24; req_access = list()},/obj/structure/handrail,/turf/simulated/floor/tiled/techfloor/grid,/area/space) "eS" = (/obj/machinery/embedded_controller/radio/airlock/docking_port{cycle_to_external_air = 1; frequency = 1380; id_tag = "expshuttle_docker"; pixel_y = 26; req_one_access = list(19,43,67); tag_airpump = "expshuttle_vent"; tag_chamber_sensor = "expshuttle_sensor"; tag_exterior_door = "expshuttle_door_Ro"; tag_exterior_sensor = "expshuttle_exterior_sensor"; tag_interior_door = "expshuttle_door_Ri"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "expshuttle_vent"},/obj/structure/handrail,/turf/simulated/floor/tiled/techfloor/grid,/area/space) "eT" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "expshuttle_sensor"; master_tag = "expshuttle_docker"; pixel_y = 28},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "expshuttle_docker_pump_out_internal"},/obj/structure/handrail,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/techfloor/grid,/area/space) "eU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/monofloor,/area/space) @@ -263,7 +263,7 @@ "fc" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "expshuttle_vent"},/obj/machinery/oxygen_pump{pixel_y = -32},/obj/structure/handrail{dir = 1},/turf/simulated/floor/tiled/techfloor/grid,/area/space) "fd" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "expshuttle_vent"},/obj/structure/cable/cyan,/obj/structure/handrail{dir = 1},/turf/simulated/floor/tiled/techfloor/grid,/area/space) "fe" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "expshuttle_docker_pump_out_internal"},/obj/machinery/oxygen_pump{pixel_y = -32},/obj/structure/handrail{dir = 1},/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/techfloor/grid,/area/space) -"ff" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/obj/effect/floor_decal/industrial/outline/red,/obj/structure/closet/secure_closet/guncabinet/excursion,/obj/item/weapon/pickaxe,/turf/simulated/floor/tiled/techfloor/grid,/area/space) +"ff" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/obj/effect/floor_decal/industrial/outline/red,/obj/structure/closet/secure_closet/guncabinet/excursion,/obj/item/pickaxe,/turf/simulated/floor/tiled/techfloor/grid,/area/space) "fg" = (/obj/structure/bed/chair/shuttle{icon_state = "shuttle_chair"; dir = 1},/turf/simulated/floor/tiled,/area/space) "fh" = (/obj/structure/bed/chair/shuttle,/turf/simulated/floor/tiled,/area/space) "fi" = (/obj/effect/floor_decal/borderfloorblack/corner{icon_state = "borderfloorcorner_black"; dir = 4},/obj/effect/floor_decal/industrial/danger/corner{icon_state = "dangercorner"; dir = 4},/turf/simulated/floor/tiled,/area/space) @@ -300,16 +300,16 @@ "fN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{icon_state = "map-scrubbers"; dir = 4},/turf/simulated/floor/tiled/monotile,/area/space) "fO" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/space) "fP" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/industrial/danger{dir = 4},/turf/simulated/floor/tiled/monotile,/area/space) -"fQ" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/brown,/obj/structure/curtain/open/bed,/turf/simulated/floor/tiled,/area/space) +"fQ" = (/obj/structure/bed/padded,/obj/item/bedsheet/brown,/obj/structure/curtain/open/bed,/turf/simulated/floor/tiled,/area/space) "fR" = (/obj/machinery/power/port_gen/pacman/mrs,/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled/techfloor/grid,/area/space) "fS" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/industrial/danger{dir = 8},/turf/simulated/floor/tiled/monotile,/area/space) "fT" = (/obj/machinery/light{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/space) -"fU" = (/obj/effect/floor_decal/rust,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{cell_type = /obj/item/weapon/cell/apc; dir = 8; name = "west bump"; pixel_x = -28},/turf/simulated/floor,/area/space) +"fU" = (/obj/effect/floor_decal/rust,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{cell_type = /obj/item/cell/apc; dir = 8; name = "west bump"; pixel_x = -28},/turf/simulated/floor,/area/space) "fV" = (/turf/space,/area/shuttle/trade/station) -"fW" = (/obj/item/device/radio/intercom{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/space) +"fW" = (/obj/item/radio/intercom{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/space) "fX" = (/obj/machinery/door/airlock/hatch{req_one_access = list(67)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled/steel_ridged,/area/space) "fY" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled/techfloor/grid,/area/space) -"fZ" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 27},/obj/machinery/light/small{icon_state = "bulb1"; dir = 1},/turf/simulated/floor/tiled/techfloor/grid,/area/space) +"fZ" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 27},/obj/machinery/light/small{icon_state = "bulb1"; dir = 1},/turf/simulated/floor/tiled/techfloor/grid,/area/space) "ga" = (/obj/structure/cable/green{icon_state = "0-4"},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/machinery/power/terminal,/obj/machinery/cell_charger,/obj/structure/table/steel,/obj/machinery/firealarm{dir = 2; layer = 3.3; pixel_x = 0; pixel_y = 26},/obj/random/powercell,/obj/item/stack/material/tritium{amount = 5},/turf/simulated/floor/tiled/techfloor/grid,/area/space) "gb" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "shuttle blast"; name = "Shuttle Blast Doors"; opacity = 0},/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/space) "gc" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/reinforced,/area/space) @@ -327,7 +327,7 @@ "go" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/handrail{dir = 1},/turf/simulated/floor/tiled/techfloor/grid,/area/space) "gp" = (/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/buildable/point_of_interest,/turf/simulated/floor/tiled/techfloor/grid,/area/space) "gq" = (/obj/machinery/shuttle_sensor{dir = 2; id_tag = "shuttlesens_exp_psg"},/turf/simulated/wall/rshull,/area/space) -"gr" = (/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi,/obj/item/weapon/tank/emergency/oxygen/engi,/obj/item/weapon/tank/emergency/oxygen/engi,/obj/item/weapon/tank/emergency/oxygen/engi,/obj/item/clothing/suit/space/emergency,/obj/item/clothing/suit/space/emergency,/obj/item/clothing/suit/space/emergency,/obj/item/clothing/suit/space/emergency,/obj/item/clothing/head/helmet/space/emergency,/obj/item/clothing/head/helmet/space/emergency,/obj/item/clothing/head/helmet/space/emergency,/obj/item/clothing/head/helmet/space/emergency,/obj/structure/closet/emcloset/legacy,/turf/simulated/floor/tiled,/area/space) +"gr" = (/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi,/obj/item/tank/emergency/oxygen/engi,/obj/item/tank/emergency/oxygen/engi,/obj/item/tank/emergency/oxygen/engi,/obj/item/clothing/suit/space/emergency,/obj/item/clothing/suit/space/emergency,/obj/item/clothing/suit/space/emergency,/obj/item/clothing/suit/space/emergency,/obj/item/clothing/head/helmet/space/emergency,/obj/item/clothing/head/helmet/space/emergency,/obj/item/clothing/head/helmet/space/emergency,/obj/item/clothing/head/helmet/space/emergency,/obj/structure/closet/emcloset/legacy,/turf/simulated/floor/tiled,/area/space) "gs" = (/obj/structure/bed/chair/shuttle,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/space) "gt" = (/obj/structure/bed/chair/shuttle,/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled,/area/space) "gu" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/handrail{dir = 8},/turf/simulated/floor/tiled,/area/space) @@ -345,25 +345,25 @@ "gG" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/obj/effect/floor_decal/industrial/outline/red,/turf/simulated/floor/tiled/techfloor/grid,/area/space) "gH" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "shuttle blast"; name = "Shuttle Blast Doors"; opacity = 0},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/space) "gI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/monotile,/area/space) -"gJ" = (/obj/structure/bed/chair/shuttle{icon_state = "shuttle_chair"; dir = 1},/obj/item/device/radio/intercom{pixel_y = -24},/obj/machinery/light,/turf/simulated/floor/tiled,/area/space) +"gJ" = (/obj/structure/bed/chair/shuttle{icon_state = "shuttle_chair"; dir = 1},/obj/item/radio/intercom{pixel_y = -24},/obj/machinery/light,/turf/simulated/floor/tiled,/area/space) "gK" = (/obj/structure/bed/chair/shuttle{icon_state = "shuttle_chair"; dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled,/area/space) "gL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/firealarm{dir = 4; layer = 3.3; pixel_x = 26},/obj/structure/handrail{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/space) -"gM" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/closet/crate/freezer/rations,/obj/item/weapon/storage/mre/menu11,/obj/item/weapon/storage/mre/menu10,/turf/simulated/floor/tiled/techfloor/grid,/area/space) +"gM" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/closet/crate/freezer/rations,/obj/item/storage/mre/menu11,/obj/item/storage/mre/menu10,/turf/simulated/floor/tiled/techfloor/grid,/area/space) "gN" = (/obj/machinery/atmospherics/binary/pump,/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/turf/simulated/floor/tiled/techfloor/grid,/area/space) "gO" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 1},/turf/simulated/floor/tiled/techfloor/grid,/area/space) "gP" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air,/obj/effect/floor_decal/industrial/outline/blue,/turf/simulated/floor/tiled/techfloor/grid,/area/space) "gQ" = (/obj/machinery/light{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/monotile,/area/space) "gR" = (/obj/machinery/door/airlock/hatch{req_one_access = newlist()},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled/steel_ridged,/area/space) -"gS" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/table/rack,/obj/item/weapon/storage/belt/utility/full,/obj/item/clothing/head/pilot,/obj/item/clothing/head/pilot,/obj/item/weapon/storage/box/survival/space,/obj/item/weapon/storage/toolbox/emergency,/turf/simulated/floor/tiled/techfloor/grid,/area/space) +"gS" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/table/rack,/obj/item/storage/belt/utility/full,/obj/item/clothing/head/pilot,/obj/item/clothing/head/pilot,/obj/item/storage/box/survival/space,/obj/item/storage/toolbox/emergency,/turf/simulated/floor/tiled/techfloor/grid,/area/space) "gT" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/machinery/meter,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -26},/obj/structure/handrail{dir = 1},/turf/simulated/floor/tiled/techfloor/grid,/area/space) -"gU" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 5},/obj/machinery/meter,/obj/item/device/radio/intercom{pixel_y = -24},/obj/machinery/light/small,/turf/simulated/floor/tiled/techfloor/grid,/area/space) +"gU" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 5},/obj/machinery/meter,/obj/item/radio/intercom{pixel_y = -24},/obj/machinery/light/small,/turf/simulated/floor/tiled/techfloor/grid,/area/space) "gV" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/obj/effect/floor_decal/industrial/outline/blue,/turf/simulated/floor/tiled/techfloor/grid,/area/space) "gW" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6; icon_state = "intact"},/turf/simulated/wall/rshull,/area/space) "gX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{icon_state = "map-scrubbers"; dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/monotile,/area/space) "gY" = (/obj/machinery/disposal/deliveryChute{dir = 4},/obj/structure/disposalpipe/trunk,/turf/simulated/floor/tiled/techfloor/grid,/area/space) "gZ" = (/obj/machinery/conveyor{dir = 8; id = "shuttle_outbound"},/obj/structure/plasticflaps,/turf/simulated/floor/tiled/techfloor/grid,/area/space) "ha" = (/obj/machinery/firealarm{dir = 2; layer = 3.3; pixel_x = 0; pixel_y = 26},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/conveyor_switch/oneway{id = "shuttle_outbound"},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/techfloor/grid,/area/space) -"hb" = (/obj/item/device/radio/intercom{dir = 1; pixel_y = 24; req_access = list()},/obj/structure/handrail,/turf/simulated/floor/tiled/techfloor/grid,/area/space) +"hb" = (/obj/item/radio/intercom{dir = 1; pixel_y = 24; req_access = list()},/obj/structure/handrail,/turf/simulated/floor/tiled/techfloor/grid,/area/space) "hc" = (/obj/structure/closet/walllocker/emerglocker{pixel_x = 32},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled/techfloor/grid,/area/space) "hd" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 6},/turf/simulated/wall/rshull,/area/space) "he" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 4},/turf/simulated/wall/rshull,/area/space) @@ -373,7 +373,7 @@ "hi" = (/obj/structure/disposalpipe/segment,/obj/machinery/shuttle_sensor{dir = 5; id_tag = "shuttlesens_exp_int"},/turf/simulated/wall/rshull,/area/space) "hj" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/recharge_station,/turf/simulated/floor/tiled/techfloor/grid,/area/space) "hk" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled/techfloor/grid,/area/space) -"hl" = (/obj/structure/bed/chair/comfy/blue{icon_state = "comfychair_preview"; dir = 1},/obj/item/device/radio/intercom{pixel_y = -24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 6; pixel_y = 32},/turf/simulated/floor/tiled/techmaint,/area/space) +"hl" = (/obj/structure/bed/chair/comfy/blue{icon_state = "comfychair_preview"; dir = 1},/obj/item/radio/intercom{pixel_y = -24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 6; pixel_y = 32},/turf/simulated/floor/tiled/techmaint,/area/space) "hm" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{icon_state = "intact-scrubbers"; dir = 4},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/techfloor/grid,/area/space) "hn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled/techfloor/grid,/area/space) "ho" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/wall/rshull,/area/space) @@ -409,7 +409,7 @@ "hS" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/industrial/danger/corner{icon_state = "dangercorner"; dir = 8},/turf/simulated/floor/tiled/monotile,/area/space) "hT" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/space) "hU" = (/obj/machinery/light,/turf/simulated/floor/tiled/monotile,/area/space) -"hV" = (/obj/structure/table/rack/shelf,/obj/item/weapon/storage/backpack/parachute{pixel_x = -4; pixel_y = -6},/obj/item/weapon/storage/backpack/parachute{pixel_x = 4; pixel_y = -6},/obj/item/weapon/storage/backpack/parachute{pixel_x = -4; pixel_y = 4},/obj/item/weapon/storage/backpack/parachute{pixel_x = 4; pixel_y = 4},/turf/simulated/floor/tiled/monotile,/area/space) +"hV" = (/obj/structure/table/rack/shelf,/obj/item/storage/backpack/parachute{pixel_x = -4; pixel_y = -6},/obj/item/storage/backpack/parachute{pixel_x = 4; pixel_y = -6},/obj/item/storage/backpack/parachute{pixel_x = -4; pixel_y = 4},/obj/item/storage/backpack/parachute{pixel_x = 4; pixel_y = 4},/turf/simulated/floor/tiled/monotile,/area/space) "hW" = (/obj/structure/stasis_cage,/turf/simulated/floor/tiled/monotile,/area/space) "hX" = (/obj/machinery/light,/obj/structure/stasis_cage,/turf/simulated/floor/tiled/monotile,/area/space) "hY" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled/monotile,/area/space) @@ -434,7 +434,7 @@ "ir" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/space) "is" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "expshuttle_door_Ro"; locked = 1},/obj/machinery/airlock_sensor/airlock_exterior/shuttle{dir = 6; frequency = 1380; id_tag = "expshuttle_exterior_sensor"; master_tag = "expshuttle_docker"; pixel_x = 4; pixel_y = 28},/turf/simulated/floor/tiled/techfloor/grid,/area/space) "it" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "expshuttle_door_Ri"; locked = 1},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "expshuttle_docker"; pixel_y = -24},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled/techfloor/grid,/area/space) -"iu" = (/obj/item/device/radio/intercom{pixel_y = -24},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/light,/turf/simulated/floor/tiled/techmaint,/area/space) +"iu" = (/obj/item/radio/intercom{pixel_y = -24},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/light,/turf/simulated/floor/tiled/techmaint,/area/space) "iv" = (/obj/machinery/power/smes/buildable/point_of_interest,/obj/structure/cable/green{icon_state = "0-4"},/turf/simulated/floor/tiled/techfloor/grid,/area/space) "iw" = (/obj/machinery/cell_charger,/obj/structure/table/steel,/obj/random/powercell,/obj/item/stack/material/tritium{amount = 5},/obj/structure/cable/green{icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor/tiled/techfloor/grid,/area/space) "ix" = (/obj/machinery/power/port_gen/pacman/mrs,/turf/simulated/floor/tiled/techfloor/grid,/area/space) @@ -450,7 +450,7 @@ "iH" = (/obj/structure/table/standard,/turf/simulated/floor/tiled,/area/space) "iI" = (/obj/machinery/light{dir = 1},/obj/structure/table/standard{name = "plastic table frame"},/turf/simulated/floor/tiled,/area/space) "iJ" = (/obj/structure/handrail,/obj/structure/table/standard{name = "plastic table frame"},/turf/simulated/floor/tiled,/area/space) -"iK" = (/obj/structure/closet/crate/freezer/rations,/obj/item/weapon/storage/mre/menu11,/obj/item/weapon/storage/mre/menu10,/turf/simulated/floor/tiled/techmaint,/area/space) +"iK" = (/obj/structure/closet/crate/freezer/rations,/obj/item/storage/mre/menu11,/obj/item/storage/mre/menu10,/turf/simulated/floor/tiled/techmaint,/area/space) "iL" = (/turf/simulated/open/cryogaia,/area/space) "iM" = (/turf/simulated/floor/tiled/techfloor,/area/space) "iN" = (/obj/structure/bed,/obj/structure/curtain/medical,/turf/simulated/floor/tiled/techmaint,/area/space) @@ -458,11 +458,11 @@ "iP" = (/obj/structure/sign/greencross{pixel_x = 32},/turf/simulated/floor/tiled/techmaint,/area/space) "iQ" = (/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/space) "iR" = (/obj/machinery/computer/crew{dir = 4},/turf/simulated/floor/tiled/dark,/area/space) -"iS" = (/obj/structure/closet/secure_closet/medical_wall{name = "O- Blood Locker"; pixel_x = 32; pixel_y = 0},/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/turf/simulated/floor/tiled/techmaint,/area/space) +"iS" = (/obj/structure/closet/secure_closet/medical_wall{name = "O- Blood Locker"; pixel_x = 32; pixel_y = 0},/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/turf/simulated/floor/tiled/techmaint,/area/space) "iT" = (/turf/simulated/floor/tiled/dark,/area/space) "iU" = (/obj/structure/bed/chair/office/light{dir = 8},/turf/simulated/floor/tiled/dark,/area/space) "iV" = (/obj/structure/sign/greencross{pixel_x = -32; pixel_y = 0},/turf/simulated/floor/tiled/techfloor,/area/space) -"iW" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/structure/closet/secure_closet/medical_wall{pixel_y = -32},/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/clotting,/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/brute,/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/brute,/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/burn,/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/burn,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/inaprovaline,/turf/simulated/floor/tiled/techmaint,/area/space) +"iW" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/structure/closet/secure_closet/medical_wall{pixel_y = -32},/obj/item/reagent_containers/hypospray/autoinjector/biginjector/clotting,/obj/item/reagent_containers/hypospray/autoinjector/biginjector/brute,/obj/item/reagent_containers/hypospray/autoinjector/biginjector/brute,/obj/item/reagent_containers/hypospray/autoinjector/biginjector/burn,/obj/item/reagent_containers/hypospray/autoinjector/biginjector/burn,/obj/item/reagent_containers/syringe/antiviral,/obj/item/reagent_containers/syringe/antiviral,/obj/item/reagent_containers/syringe/inaprovaline,/turf/simulated/floor/tiled/techmaint,/area/space) "iX" = (/obj/machinery/sleeper{dir = 8},/turf/simulated/floor/tiled/techmaint,/area/space) "iY" = (/obj/machinery/sleep_console,/turf/simulated/floor/tiled/techmaint,/area/space) "iZ" = (/obj/structure/sign/warning/airlock,/turf/simulated/shuttle/wall/voidcraft,/area/space) @@ -477,7 +477,7 @@ "ji" = (/obj/structure/handrail{dir = 1},/turf/simulated/floor/tiled/techmaint,/area/space) "jj" = (/obj/structure/disposalpipe/trunk,/obj/machinery/disposal/deliveryChute{dir = 1},/turf/simulated/floor/tiled/techfloor/grid,/area/space) "jk" = (/obj/machinery/alarm{pixel_y = 22},/obj/machinery/light/small{dir = 1},/obj/machinery/floodlight,/turf/simulated/floor/tiled/techfloor/grid,/area/space) -"jl" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/obj/effect/floor_decal/industrial/outline/red,/obj/structure/closet/secure_closet/guncabinet/excursion,/obj/item/weapon/pickaxe,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/tiled/techfloor/grid,/area/space) +"jl" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/obj/effect/floor_decal/industrial/outline/red,/obj/structure/closet/secure_closet/guncabinet/excursion,/obj/item/pickaxe,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/tiled/techfloor/grid,/area/space) "jm" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled/techfloor/grid,/area/space) "jn" = (/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/machinery/power/terminal,/obj/machinery/firealarm{dir = 2; layer = 3.3; pixel_x = 0; pixel_y = 26},/obj/machinery/power/port_gen/pacman/mrs,/turf/simulated/floor/tiled/techfloor/grid,/area/space) "jo" = (/obj/machinery/conveyor_switch/oneway{id = "shuttle_outbound"},/turf/simulated/floor/tiled/techfloor/grid,/area/space) @@ -494,7 +494,7 @@ "jz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "expshuttle_dock"; pixel_x = -32; req_one_access = list(19,43,67)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/monotile,/area/space) "jA" = (/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/dirt,/obj/item/toy/figure/ninja,/turf/simulated/floor,/area/space) "jB" = (/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/remains/human,/turf/simulated/floor,/area/space) -"jC" = (/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/dirt,/obj/item/weapon/pen/crayon/red,/turf/simulated/floor,/area/space) +"jC" = (/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/dirt,/obj/item/pen/crayon/red,/turf/simulated/floor,/area/space) "jD" = (/obj/machinery/floodlight,/turf/simulated/floor/beach/sand/desert,/area/space) "jE" = (/turf/simulated/floor/beach/sand/desert,/area/space) "jF" = (/turf/simulated/floor/water/indoors,/area/space) @@ -503,18 +503,18 @@ "jI" = (/obj/structure/closet/hydrant,/turf/simulated/wall,/area/space) "jJ" = (/mob/living/simple_mob/animal/passive/fish/bass,/turf/simulated/floor/water/deep/indoors,/area/space) "jK" = (/obj/effect/floor_decal/spline/plain{dir = 4},/turf/simulated/floor/beach/sand/desert,/area/space) -"jL" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/item/device/radio/intercom{dir = 1; pixel_y = 24; req_access = list()},/turf/simulated/floor/tiled,/area/space) +"jL" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/item/radio/intercom{dir = 1; pixel_y = 24; req_access = list()},/turf/simulated/floor/tiled,/area/space) "jM" = (/obj/machinery/vending/fishing,/turf/simulated/floor/tiled,/area/space) "jN" = (/obj/structure/railing,/turf/simulated/floor/water/deep/indoors,/area/space) "jO" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/space) "jP" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled,/area/space) -"jQ" = (/obj/structure/table/rack,/obj/item/weapon/material/fishing_rod/modern/cheap,/obj/item/weapon/material/fishing_rod/modern/cheap,/obj/item/weapon/material/fishing_rod/modern/cheap,/obj/item/weapon/material/fishing_rod/modern/cheap,/obj/item/weapon/material/fishing_rod/modern/cheap,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled,/area/space) +"jQ" = (/obj/structure/table/rack,/obj/item/material/fishing_rod/modern/cheap,/obj/item/material/fishing_rod/modern/cheap,/obj/item/material/fishing_rod/modern/cheap,/obj/item/material/fishing_rod/modern/cheap,/obj/item/material/fishing_rod/modern/cheap,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled,/area/space) "jR" = (/obj/structure/railing{icon_state = "railing0"; dir = 4},/turf/simulated/wall,/area/space) "jS" = (/obj/machinery/light{dir = 8; icon_state = "tube1"},/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled,/area/space) "jT" = (/obj/structure/railing{dir = 8},/turf/simulated/floor/water/deep/indoors,/area/space) "jU" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/space) "jV" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/space) -"jW" = (/obj/structure/table/rack,/obj/item/weapon/material/fishing_net,/obj/item/weapon/material/fishing_net,/obj/item/weapon/material/fishing_net,/obj/item/weapon/material/fishing_net,/obj/item/weapon/material/fishing_net,/turf/simulated/floor/tiled,/area/space) +"jW" = (/obj/structure/table/rack,/obj/item/material/fishing_net,/obj/item/material/fishing_net,/obj/item/material/fishing_net,/obj/item/material/fishing_net,/obj/item/material/fishing_net,/turf/simulated/floor/tiled,/area/space) "jX" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/techfloor,/area/space) "jY" = (/obj/structure/railing{icon_state = "railing0"; dir = 4},/obj/machinery/camera/network/civilian,/turf/simulated/floor/water/deep/indoors,/area/space) "jZ" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/space) @@ -563,35 +563,35 @@ "kQ" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/space) "kR" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/space) "kS" = (/turf/simulated/floor,/area/space) -"kT" = (/obj/structure/table/steel,/obj/machinery/cell_charger{pixel_y = 5},/obj/item/device/multitool,/turf/simulated/floor,/area/space) +"kT" = (/obj/structure/table/steel,/obj/machinery/cell_charger{pixel_y = 5},/obj/item/multitool,/turf/simulated/floor,/area/space) "kU" = (/obj/structure/table/woodentable,/obj/machinery/photocopier/faxmachine{department = "Head of Security"},/turf/simulated/floor/tiled/dark,/area/space) "kV" = (/turf/simulated/floor/carpet,/area/space) -"kW" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{dir = 2; pixel_x = -10; pixel_y = 12},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/carpet,/area/space) +"kW" = (/obj/structure/table/woodentable,/obj/item/flashlight/lamp/green{dir = 2; pixel_x = -10; pixel_y = 12},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/carpet,/area/space) "kX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/carpet,/area/space) "kY" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/space) "kZ" = (/obj/machinery/recharger/wallcharger{pixel_y = 32},/obj/structure/table/steel,/obj/effect/floor_decal/corner/red/full{dir = 8},/turf/simulated/floor/tiled/steel,/area/space) "la" = (/obj/machinery/recharger/wallcharger{pixel_x = 0; pixel_y = 32},/obj/effect/floor_decal/corner/red{dir = 1},/turf/simulated/floor/tiled/steel,/area/space) "lb" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel,/area/space) -"lc" = (/obj/structure/table/steel,/obj/item/weapon/module/power_control,/obj/item/weapon/airlock_electronics,/obj/machinery/light/small,/turf/simulated/floor,/area/space) -"ld" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/obj/item/clothing/gloves/yellow,/obj/item/device/t_scanner,/obj/item/clothing/glasses/meson,/obj/item/device/multitool,/turf/simulated/floor/plating,/area/space) -"le" = (/obj/item/device/flashlight{pixel_x = 1; pixel_y = 5},/obj/item/device/flashlight{pixel_x = 1; pixel_y = 5},/obj/item/device/flash,/obj/item/device/flash,/obj/structure/table/steel,/obj/machinery/alarm{dir = 1; pixel_y = -25},/turf/simulated/floor/plating,/area/space) +"lc" = (/obj/structure/table/steel,/obj/item/module/power_control,/obj/item/airlock_electronics,/obj/machinery/light/small,/turf/simulated/floor,/area/space) +"ld" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/obj/item/clothing/gloves/yellow,/obj/item/t_scanner,/obj/item/clothing/glasses/meson,/obj/item/multitool,/turf/simulated/floor/plating,/area/space) +"le" = (/obj/item/flashlight{pixel_x = 1; pixel_y = 5},/obj/item/flashlight{pixel_x = 1; pixel_y = 5},/obj/item/flash,/obj/item/flash,/obj/structure/table/steel,/obj/machinery/alarm{dir = 1; pixel_y = -25},/turf/simulated/floor/plating,/area/space) "lf" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/space) "lg" = (/obj/effect/floor_decal/rust,/turf/simulated/floor,/area/space) -"lh" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/obj/item/device/multitool,/obj/item/clothing/glasses/meson,/obj/machinery/ai_status_display{pixel_x = 32; pixel_y = 0},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/space) -"li" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/flask/barflask{pixel_x = -4; pixel_y = 8},/obj/item/device/taperecorder{pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/space) -"lj" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/folder/red_hos,/obj/item/weapon/pen/multi,/obj/machinery/keycard_auth{pixel_x = -28},/turf/simulated/floor/tiled/dark,/area/space) +"lh" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/obj/item/multitool,/obj/item/clothing/glasses/meson,/obj/machinery/ai_status_display{pixel_x = 32; pixel_y = 0},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/space) +"li" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/food/drinks/flask/barflask{pixel_x = -4; pixel_y = 8},/obj/item/taperecorder{pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/space) +"lj" = (/obj/structure/table/woodentable,/obj/item/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/folder/red_hos,/obj/item/pen/multi,/obj/machinery/keycard_auth{pixel_x = -28},/turf/simulated/floor/tiled/dark,/area/space) "lk" = (/obj/machinery/computer/security{dir = 1},/turf/simulated/floor/tiled/dark,/area/space) -"ll" = (/obj/structure/table/woodentable,/obj/item/device/radio/off,/obj/item/device/megaphone,/turf/simulated/floor/tiled/dark,/area/space) +"ll" = (/obj/structure/table/woodentable,/obj/item/radio/off,/obj/item/megaphone,/turf/simulated/floor/tiled/dark,/area/space) "lm" = (/obj/machinery/photocopier,/turf/simulated/floor/tiled/dark,/area/space) -"ln" = (/obj/item/device/radio,/obj/item/device/radio,/obj/item/device/radio,/obj/item/device/radio,/obj/item/device/radio,/obj/item/device/radio,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/weapon/tool/crowbar,/obj/item/weapon/tool/crowbar,/obj/item/weapon/tool/crowbar,/obj/item/weapon/tool/crowbar,/obj/item/weapon/tool/crowbar,/obj/item/weapon/tool/crowbar,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = -26; pixel_y = 0},/obj/item/weapon/storage/box/nifsofts_security,/obj/structure/table/steel,/obj/effect/floor_decal/corner/red{dir = 9},/turf/simulated/floor/tiled,/area/space) +"ln" = (/obj/item/radio,/obj/item/radio,/obj/item/radio,/obj/item/radio,/obj/item/radio,/obj/item/radio,/obj/item/flashlight,/obj/item/flashlight,/obj/item/flashlight,/obj/item/flashlight,/obj/item/flashlight,/obj/item/flashlight,/obj/item/tool/crowbar,/obj/item/tool/crowbar,/obj/item/tool/crowbar,/obj/item/tool/crowbar,/obj/item/tool/crowbar,/obj/item/tool/crowbar,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = -26; pixel_y = 0},/obj/item/storage/box/nifsofts_security,/obj/structure/table/steel,/obj/effect/floor_decal/corner/red{dir = 9},/turf/simulated/floor/tiled,/area/space) "lo" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/steel,/area/space) "lp" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled/steel,/area/space) "lq" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/engineering{name = "Tech Storage"; req_access = list(23); req_one_access = newlist()},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/space) "lr" = (/obj/structure/closet/secure_closet/security,/obj/effect/floor_decal/industrial/outline,/obj/item/clothing/suit/armor/vest/wolftaur,/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/dark,/area/space) -"ls" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/space) +"ls" = (/obj/item/stool/padded,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/space) "lt" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/dark,/area/space) "lu" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled{icon_state = "monotile"},/area/space) -"lv" = (/obj/structure/table/reinforced,/obj/item/device/floor_painter,/obj/item/device/multitool{pixel_x = 5},/obj/item/device/t_scanner,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor/tiled/steel_grid,/area/space) +"lv" = (/obj/structure/table/reinforced,/obj/item/floor_painter,/obj/item/multitool{pixel_x = 5},/obj/item/t_scanner,/obj/item/reagent_containers/spray/cleaner,/turf/simulated/floor/tiled/steel_grid,/area/space) "lw" = (/obj/effect/floor_decal/corner/yellow{dir = 5},/turf/simulated/floor/tiled/steel_grid,/area/space) "lx" = (/obj/structure/reagent_dispensers/watertank,/obj/structure/cable/green{icon_state = "0-2"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/tiled/steel_grid,/area/space) "ly" = (/obj/structure/closet/secure_closet/engineering_electrical,/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/effect/floor_decal/corner/yellow{dir = 5},/turf/simulated/floor/tiled/steel_grid,/area/space) @@ -599,9 +599,9 @@ "lA" = (/obj/structure/closet/secure_closet/engineering_welding,/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/floor_decal/corner/yellow{dir = 5},/turf/simulated/floor/tiled/steel_grid,/area/space) "lB" = (/obj/structure/closet/secure_closet/engineering_welding,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/light{dir = 1},/obj/effect/floor_decal/corner/yellow{dir = 5},/turf/simulated/floor/tiled/steel_grid,/area/space) "lC" = (/obj/structure/closet/wardrobe/engineering_yellow,/obj/effect/floor_decal/corner/yellow{dir = 5},/turf/simulated/floor/tiled/steel_grid,/area/space) -"lD" = (/obj/structure/table/rack/shelf,/obj/item/device/pda/multicaster/engineering,/obj/effect/floor_decal/corner/yellow{dir = 5},/turf/simulated/floor/tiled,/area/space) +"lD" = (/obj/structure/table/rack/shelf,/obj/item/pda/multicaster/engineering,/obj/effect/floor_decal/corner/yellow{dir = 5},/turf/simulated/floor/tiled,/area/space) "lE" = (/obj/structure/closet/secure_closet/security,/obj/effect/floor_decal/industrial/outline,/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/space) -"lF" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/dark,/area/space) +"lF" = (/obj/item/stool/padded,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/dark,/area/space) "lG" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled{icon_state = "monotile"},/area/space) "lH" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/junction{icon_state = "pipe-j1"; dir = 4},/turf/simulated/floor/tiled{icon_state = "monotile"},/area/space) "lI" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/space) @@ -609,7 +609,7 @@ "lK" = (/turf/simulated/floor/tiled/steel_grid,/area/space) "lL" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_engineering{name = "Engineering Workshop"; req_access = newlist(); req_one_access = list(14,24)},/turf/simulated/floor/tiled{icon_state = "monotile"},/area/space) "lM" = (/obj/structure/closet/secure_closet/security,/obj/effect/floor_decal/industrial/outline,/obj/item/clothing/shoes/boots/jackboots/toeless,/obj/structure/window/reinforced{dir = 8; health = 1e+006},/turf/simulated/floor/tiled/dark,/area/space) -"lN" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/dark,/area/space) +"lN" = (/obj/item/stool/padded,/turf/simulated/floor/tiled/dark,/area/space) "lO" = (/obj/structure/cable/green,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/turf/simulated/floor/tiled/dark,/area/space) "lP" = (/obj/structure/cable/heavyduty{icon_state = "2-8"},/turf/simulated/floor/plating,/area/space) "lQ" = (/obj/machinery/cryopod{dir = 4},/obj/structure/window/reinforced,/obj/machinery/computer/cryopod{pixel_x = -32},/obj/effect/floor_decal/corner/yellow{dir = 9},/turf/simulated/floor/tiled,/area/space) @@ -622,7 +622,7 @@ "lX" = (/obj/structure/cable/heavyduty,/obj/structure/cable/orange{icon_state = "0-1"; dir = 1},/turf/simulated/floor/plating,/area/space) "lY" = (/obj/machinery/computer/station_alert{dir = 4},/obj/effect/floor_decal/corner/yellow{dir = 9},/turf/simulated/floor/tiled,/area/space) "lZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled{icon_state = "monotile"},/area/space) -"ma" = (/obj/structure/closet/toolcloset,/obj/item/weapon/pickaxe,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/steel_grid,/area/space) +"ma" = (/obj/structure/closet/toolcloset,/obj/item/pickaxe,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/steel_grid,/area/space) "mb" = (/obj/effect/floor_decal/corner/blue,/obj/effect/floor_decal/corner/yellow{dir = 4},/turf/simulated/floor/tiled/steel_grid,/area/space) "mc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "ceoffice"; name = "CE Office Privacy Shutters"; opacity = 0},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/space) "md" = (/obj/structure/table/reinforced,/obj/machinery/photocopier/faxmachine{department = "Chief Engineer's Office"},/obj/machinery/requests_console{announcementConsole = 1; department = "Chief Engineer's Desk"; departmentType = 6; name = "Chief Engineer RC"; pixel_x = 0; pixel_y = 32},/obj/effect/floor_decal/corner/blue/full{dir = 8},/turf/simulated/floor/tiled,/area/space) @@ -630,7 +630,7 @@ "mf" = (/obj/machinery/computer/station_alert/all,/obj/effect/floor_decal/corner/blue{dir = 5},/turf/simulated/floor/tiled,/area/space) "mg" = (/obj/structure/cable/orange{icon_state = "1-2"},/obj/machinery/door/airlock/maintenance/engi,/turf/simulated/floor/tiled/dark,/area/space) "mh" = (/obj/structure/cable/orange{icon_state = "1-2"},/obj/machinery/door/airlock/maintenance/int{name = "Emergency Storage"; req_one_access = list()},/turf/simulated/floor/tiled/dark,/area/space) -"mi" = (/obj/structure/table/reinforced,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/tool/wrench,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/tiled/steel_grid,/area/space) +"mi" = (/obj/structure/table/reinforced,/obj/machinery/cell_charger,/obj/item/cell/high{charge = 100; maxcharge = 15000},/obj/item/tool/wrench,/obj/item/cell/high{charge = 100; maxcharge = 15000},/obj/item/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/tiled/steel_grid,/area/space) "mj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled{icon_state = "monotile"},/area/space) "mk" = (/obj/effect/floor_decal/corner/blue{dir = 4},/turf/simulated/floor/tiled/steel_dirty,/area/space) "ml" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "ceoffice"; name = "CE Office Privacy Shutters"; opacity = 0},/obj/structure/cable/green,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/space) @@ -662,11 +662,11 @@ "mL" = (/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/disposal,/turf/simulated/floor/tiled/steel_grid,/area/space) "mM" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/corner/yellow{dir = 8},/turf/simulated/floor/tiled{icon_state = "monotile"},/area/space) "mN" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/corner/yellow,/turf/simulated/floor/tiled{icon_state = "monotile"},/area/space) -"mO" = (/obj/structure/table/reinforced,/obj/item/stack/rods{amount = 50},/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/cell/high,/obj/item/stack/material/glass/phoronrglass{amount = 20},/obj/item/weapon/pickaxe,/obj/item/weapon/pickaxe,/turf/simulated/floor/tiled/steel_grid,/area/space) +"mO" = (/obj/structure/table/reinforced,/obj/item/stack/rods{amount = 50},/obj/item/airlock_electronics,/obj/item/airlock_electronics,/obj/item/cell/high,/obj/item/stack/material/glass/phoronrglass{amount = 20},/obj/item/pickaxe,/obj/item/pickaxe,/turf/simulated/floor/tiled/steel_grid,/area/space) "mP" = (/obj/machinery/vending/assist,/obj/effect/floor_decal/corner/yellow{dir = 10},/turf/simulated/floor/tiled,/area/space) -"mQ" = (/obj/structure/table/reinforced,/obj/item/device/radio/off{pixel_y = 6},/obj/item/device/radio/off{pixel_x = 6; pixel_y = 4},/obj/item/device/radio/off{pixel_x = -6; pixel_y = 4},/obj/item/device/radio/off,/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -32},/obj/effect/floor_decal/corner/blue,/obj/effect/floor_decal/corner/yellow{dir = 8},/turf/simulated/floor/tiled{icon_state = "monotile"},/area/space) +"mQ" = (/obj/structure/table/reinforced,/obj/item/radio/off{pixel_y = 6},/obj/item/radio/off{pixel_x = 6; pixel_y = 4},/obj/item/radio/off{pixel_x = -6; pixel_y = 4},/obj/item/radio/off,/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -32},/obj/effect/floor_decal/corner/blue,/obj/effect/floor_decal/corner/yellow{dir = 8},/turf/simulated/floor/tiled{icon_state = "monotile"},/area/space) "mR" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "ceoffice"; name = "CE Office Privacy Shutters"; opacity = 0},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/space) -"mS" = (/obj/structure/table/reinforced,/obj/item/weapon/stamp/ce,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/flame/lighter/zippo,/obj/item/device/megaphone,/obj/item/weapon/folder/yellow_ce,/obj/item/weapon/pen/multi,/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/effect/floor_decal/corner/blue{dir = 10},/turf/simulated/floor/tiled,/area/space) +"mS" = (/obj/structure/table/reinforced,/obj/item/stamp/ce,/obj/item/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/flame/lighter/zippo,/obj/item/megaphone,/obj/item/folder/yellow_ce,/obj/item/pen/multi,/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/effect/floor_decal/corner/blue{dir = 10},/turf/simulated/floor/tiled,/area/space) "mT" = (/obj/structure/flora/pottedplant{icon_state = "plant-20"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/effect/floor_decal/corner/blue{dir = 10},/turf/simulated/floor/tiled,/area/space) "mU" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/corner/blue{dir = 10},/turf/simulated/floor/tiled,/area/space) "mV" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "englockdown"; name = "Engineering Lockdown"; opacity = 0},/obj/structure/cable/orange{icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark,/area/space) @@ -680,25 +680,25 @@ "nd" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/power/sensor{name = "Powernet Sensor - Engineering Subgrid"; name_tag = "Engineering Subgrid"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor,/area/space) "ne" = (/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Engineering"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/space) "nf" = (/obj/machinery/power/breakerbox/activated{RCon_tag = "Engineering Substation Bypass"},/turf/simulated/floor,/area/space) -"ng" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/structure/table/rack/shelf,/obj/item/device/pda/multicaster/engineering,/obj/effect/floor_decal/corner/yellow{dir = 5},/turf/simulated/floor/tiled,/area/space) +"ng" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/structure/table/rack/shelf,/obj/item/pda/multicaster/engineering,/obj/effect/floor_decal/corner/yellow{dir = 5},/turf/simulated/floor/tiled,/area/space) "nh" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/corner/yellow{dir = 1},/turf/simulated/floor/tiled,/area/space) "ni" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/corner/yellow{dir = 4},/turf/simulated/floor/tiled/monotile,/area/space) -"nj" = (/obj/structure/closet/toolcloset,/obj/item/weapon/pickaxe,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/steel_grid,/area/space) +"nj" = (/obj/structure/closet/toolcloset,/obj/item/pickaxe,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/steel_grid,/area/space) "nk" = (/obj/effect/floor_decal/corner/yellow{dir = 5},/turf/simulated/floor/tiled,/area/space) "nl" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/corner/yellow{dir = 5},/turf/simulated/floor/tiled,/area/space) "nm" = (/obj/structure/railing,/obj/structure/railing{icon_state = "railing0"; dir = 4},/obj/structure/window/reinforced{dir = 4},/turf/simulated/open,/area/space) "nn" = (/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/structure/closet/secure_closet/engineering_personal,/obj/effect/floor_decal/corner/blue{dir = 5},/turf/simulated/floor/tiled,/area/space) "no" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 4},/turf/simulated/floor/tiled/monotile,/area/space) -"np" = (/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable,/obj/item/device/suit_cooling_unit,/obj/item/device/suit_cooling_unit,/obj/effect/floor_decal/corner/yellow{dir = 10},/obj/structure/table/reinforced,/turf/simulated/floor/tiled/steel_grid,/area/space) +"np" = (/obj/item/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/storage/briefcase/inflatable,/obj/item/suit_cooling_unit,/obj/item/suit_cooling_unit,/obj/effect/floor_decal/corner/yellow{dir = 10},/obj/structure/table/reinforced,/turf/simulated/floor/tiled/steel_grid,/area/space) "nq" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/space) -"nr" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled,/area/space) +"nr" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/item/stool/padded,/turf/simulated/floor/tiled,/area/space) "ns" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/window/reinforced{dir = 4},/obj/structure/closet/secure_closet/engineering_personal,/turf/simulated/floor/tiled,/area/space) -"nt" = (/obj/structure/table/reinforced,/obj/machinery/recharger,/obj/item/weapon/cell/device,/obj/item/weapon/cell/device,/obj/effect/floor_decal/corner/yellow{dir = 10},/turf/simulated/floor/tiled/steel_grid,/area/space) +"nt" = (/obj/structure/table/reinforced,/obj/machinery/recharger,/obj/item/cell/device,/obj/item/cell/device,/obj/effect/floor_decal/corner/yellow{dir = 10},/turf/simulated/floor/tiled/steel_grid,/area/space) "nu" = (/turf/simulated/floor/outdoors/snow/snow/snow2/cryogaia,/area/space) "nv" = (/obj/structure/flora/tree/dead,/turf/simulated/floor/outdoors/snow/snow/cryogaia,/area/borealis2/outdoors/exterior) "nw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/space) -"nx" = (/obj/item/weapon/storage/toolbox/mechanical{pixel_y = 5},/obj/item/weapon/storage/toolbox/mechanical{pixel_y = 5},/obj/item/weapon/storage/toolbox/electrical,/obj/structure/table/reinforced,/turf/simulated/floor/tiled/steel_grid,/area/space) -"ny" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled,/area/space) +"nx" = (/obj/item/storage/toolbox/mechanical{pixel_y = 5},/obj/item/storage/toolbox/mechanical{pixel_y = 5},/obj/item/storage/toolbox/electrical,/obj/structure/table/reinforced,/turf/simulated/floor/tiled/steel_grid,/area/space) +"ny" = (/obj/item/stool/padded,/turf/simulated/floor/tiled,/area/space) "nz" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/closet/secure_closet/engineering_personal,/turf/simulated/floor/tiled,/area/space) "nA" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/space) "nB" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/sortjunction/flipped{dir = 8; name = "Engineering"; sortType = "Engineering"},/turf/simulated/floor/tiled,/area/space) @@ -725,8 +725,8 @@ "nW" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor/tiled/dark,/area/space) "nX" = (/obj/structure/closet/secure_closet/hydroponics,/turf/simulated/floor/tiled/dark,/area/space) "nY" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/green{icon_state = "0-2"},/turf/simulated/floor/tiled/dark,/area/space) -"nZ" = (/obj/machinery/alarm{pixel_y = 22},/obj/structure/closet/crate/hydroponics{desc = "All you need to start your own honey farm."; name = "beekeeping crate"},/obj/item/beehive_assembly,/obj/item/bee_smoker,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/bee_pack,/obj/item/weapon/tool/crowbar,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/dark,/area/space) -"oa" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/machinery/reagentgrinder,/obj/item/weapon/reagent_containers/spray/plantbgone,/turf/simulated/floor/tiled/dark,/area/space) +"nZ" = (/obj/machinery/alarm{pixel_y = 22},/obj/structure/closet/crate/hydroponics{desc = "All you need to start your own honey farm."; name = "beekeeping crate"},/obj/item/beehive_assembly,/obj/item/bee_smoker,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/bee_pack,/obj/item/tool/crowbar,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/dark,/area/space) +"oa" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/machinery/reagentgrinder,/obj/item/reagent_containers/spray/plantbgone,/turf/simulated/floor/tiled/dark,/area/space) "ob" = (/obj/effect/floor_decal/corner/green/full{dir = 8},/turf/simulated/floor/tiled/hydro,/area/space) "oc" = (/obj/effect/floor_decal/corner/green{dir = 5},/obj/effect/landmark/start{name = "Gardener"},/turf/simulated/floor/tiled/hydro,/area/space) "od" = (/obj/effect/floor_decal/corner/green{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/hydro,/area/space) @@ -759,7 +759,7 @@ "oE" = (/obj/effect/landmark/start{name = "Gardener"},/turf/simulated/floor/tiled/hydro,/area/space) "oF" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Hydroponics"; req_access = newlist(); req_one_access = list(35,28)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/steel_grid,/area/space) "oG" = (/obj/machinery/seed_storage/garden,/turf/simulated/floor/tiled/hydro,/area/space) -"oH" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/weapon/material/knife/machete/hatchet,/obj/item/weapon/material/minihoe,/obj/item/weapon/material/minihoe,/obj/item/weapon/material/knife/machete/hatchet,/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -32},/turf/simulated/floor/tiled/hydro,/area/space) +"oH" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/material/knife/machete/hatchet,/obj/item/material/minihoe,/obj/item/material/minihoe,/obj/item/material/knife/machete/hatchet,/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -32},/turf/simulated/floor/tiled/hydro,/area/space) "oI" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -26},/obj/machinery/vending/hydronutrients,/turf/simulated/floor/tiled/hydro,/area/space) "oJ" = (/obj/machinery/smartfridge/drying_rack,/obj/machinery/light,/turf/simulated/floor/tiled/hydro,/area/space) "oK" = (/obj/machinery/honey_extractor,/obj/machinery/camera/network/civilian{c_tag = "CIV - Hydroponics"; dir = 1},/turf/simulated/floor/tiled/hydro,/area/space) @@ -788,14 +788,14 @@ "ph" = (/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor,/area/maintenance/lowfloor1) "pi" = (/obj/structure/closet/crate,/obj/random/maintenance/medical,/obj/random/maintenance/research,/obj/random/maintenance/medical,/obj/effect/decal/cleanable/dirt,/obj/effect/floor_decal/rust,/turf/simulated/floor,/area/maintenance/lowfloor1) "pj" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/tiled,/area/hallway/lower/fore) -"pk" = (/obj/structure/cable{icon_state = "0-4"},/obj/machinery/power/apc{cell_type = /obj/item/weapon/cell/super; dir = 8; name = "west bump"; pixel_x = -28},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/lowfloor1) +"pk" = (/obj/structure/cable{icon_state = "0-4"},/obj/machinery/power/apc{cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -28},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/lowfloor1) "pl" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/lowfloor1) -"pm" = (/obj/effect/decal/cleanable/vomit,/obj/item/weapon/stool/padded,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor,/area/maintenance/lowfloor1) +"pm" = (/obj/effect/decal/cleanable/vomit,/obj/item/stool/padded,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor,/area/maintenance/lowfloor1) "pn" = (/obj/machinery/light/small{dir = 8; pixel_y = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/lowfloor1) "po" = (/obj/structure/cable{icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/lowfloor1) "pp" = (/obj/item/clothing/head/cone,/turf/simulated/floor,/area/maintenance/lowfloor1) -"pq" = (/obj/item/weapon/broken_bottle,/turf/simulated/floor,/area/maintenance/lowfloor1) -"pr" = (/obj/structure/table/woodentable,/obj/item/weapon/material/ashtray/plastic,/obj/item/trash/cigbutt/cigarbutt,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor,/area/maintenance/lowfloor1) +"pq" = (/obj/item/broken_bottle,/turf/simulated/floor,/area/maintenance/lowfloor1) +"pr" = (/obj/structure/table/woodentable,/obj/item/material/ashtray/plastic,/obj/item/trash/cigbutt/cigarbutt,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor,/area/maintenance/lowfloor1) "ps" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/lowfloor1) "pt" = (/obj/machinery/door/airlock/maintenance/common,/turf/simulated/floor,/area/maintenance/security_lower) "pu" = (/turf/simulated/floor/plating,/area/hallway/lower/fore) @@ -823,39 +823,39 @@ "pQ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/glass,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/space) "pR" = (/obj/effect/floor_decal/industrial/warning/dust{dir = 10},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/techmaint,/area/space) "pS" = (/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "Arrivals_exit"; pixel_y = -25; tag_exterior_door = "Arrivals_exit_exterior"; tag_interior_door = "Arrivals_exit_interior"},/obj/effect/floor_decal/rust,/obj/effect/floor_decal/industrial/warning/dust{icon_state = "warning_dust"; dir = 6},/turf/simulated/floor/tiled/techmaint,/area/space) -"pT" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/effect/floor_decal/industrial/warning/corner,/obj/structure/table/rack/shelf,/obj/item/weapon/shovel,/obj/item/weapon/ice_pick,/obj/effect/floor_decal/corner/blue,/obj/effect/floor_decal/corner/blue{dir = 1},/obj/effect/floor_decal/corner/white{dir = 8},/turf/simulated/floor/tiled,/area/space) +"pT" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/effect/floor_decal/industrial/warning/corner,/obj/structure/table/rack/shelf,/obj/item/shovel,/obj/item/ice_pick,/obj/effect/floor_decal/corner/blue,/obj/effect/floor_decal/corner/blue{dir = 1},/obj/effect/floor_decal/corner/white{dir = 8},/turf/simulated/floor/tiled,/area/space) "pU" = (/obj/structure/closet/wardrobe/mixed,/obj/effect/floor_decal/corner/blue,/obj/effect/floor_decal/corner/white{dir = 8},/obj/machinery/light/small,/turf/simulated/floor/tiled,/area/space) "pV" = (/obj/effect/floor_decal/corner/blue,/obj/effect/floor_decal/corner/white{dir = 8},/turf/simulated/floor/tiled,/area/space) "pW" = (/obj/effect/floor_decal/corner/white{dir = 8},/turf/simulated/floor/tiled,/area/space) -"pX" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/turf/simulated/floor/tiled,/area/space) +"pX" = (/obj/structure/table/reinforced,/obj/item/paper_bin,/obj/item/pen,/turf/simulated/floor/tiled,/area/space) "pY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/space) "pZ" = (/obj/machinery/door/airlock{name = "Emergency Storage"},/turf/simulated/floor,/area/space) "qa" = (/obj/machinery/vending/cigarette,/obj/effect/floor_decal/corner/blue{dir = 1},/obj/machinery/camera/network/civilian{c_tag = "CIV - Visitor's Dinning"; dir = 4},/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/obj/effect/floor_decal/corner/white{dir = 8},/turf/simulated/floor/tiled,/area/space) -"qb" = (/obj/structure/table/reinforced,/obj/item/device/paicard,/obj/item/clothing/head/soft/grey,/turf/simulated/floor/tiled,/area/space) +"qb" = (/obj/structure/table/reinforced,/obj/item/paicard,/obj/item/clothing/head/soft/grey,/turf/simulated/floor/tiled,/area/space) "qc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 2},/turf/simulated/floor/tiled,/area/space) "qd" = (/obj/structure/cable{icon_state = "2-4"},/turf/simulated/floor,/area/space) "qe" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/space) "qf" = (/obj/structure/cable{icon_state = "2-8"},/turf/simulated/floor,/area/space) "qg" = (/obj/effect/decal/cleanable/dirt,/obj/random/trash_pile,/turf/simulated/floor,/area/space) -"qh" = (/obj/item/weapon/cat_box,/turf/simulated/floor,/area/space) +"qh" = (/obj/item/cat_box,/turf/simulated/floor,/area/space) "qi" = (/obj/machinery/vending/coffee,/obj/effect/floor_decal/corner/blue{dir = 1},/obj/effect/floor_decal/corner/white{dir = 8},/turf/simulated/floor/tiled,/area/space) -"qj" = (/obj/structure/table/reinforced,/obj/item/weapon/folder,/turf/simulated/floor/tiled,/area/space) -"qk" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/disposalpipe/segment,/obj/item/device/radio/beacon,/turf/simulated/floor/tiled,/area/space) +"qj" = (/obj/structure/table/reinforced,/obj/item/folder,/turf/simulated/floor/tiled,/area/space) +"qk" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/disposalpipe/segment,/obj/item/radio/beacon,/turf/simulated/floor/tiled,/area/space) "ql" = (/obj/structure/cable{icon_state = "1-4"},/turf/simulated/floor,/area/space) "qm" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{icon_state = "0-8"},/turf/simulated/floor,/area/space) "qn" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/roller,/obj/item/roller,/obj/item/roller,/obj/item/roller,/obj/item/roller,/turf/simulated/floor,/area/space) -"qo" = (/obj/item/weapon/farmbot_arm_assembly,/turf/simulated/floor,/area/space) +"qo" = (/obj/item/farmbot_arm_assembly,/turf/simulated/floor,/area/space) "qp" = (/obj/structure/cable{icon_state = "1-2"},/turf/simulated/floor,/area/space) "qq" = (/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor,/area/space) "qr" = (/obj/machinery/light/small,/turf/simulated/floor,/area/space) "qs" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 28},/turf/simulated/floor,/area/space) "qt" = (/obj/machinery/vending/cola,/obj/effect/floor_decal/corner/blue{dir = 1},/obj/machinery/alarm{dir = 4; pixel_x = -25; pixel_y = 0},/obj/effect/floor_decal/corner/white{dir = 8},/turf/simulated/floor/tiled,/area/space) -"qu" = (/obj/structure/table/reinforced,/obj/item/weapon/hand_labeler,/obj/item/device/communicator,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/space) +"qu" = (/obj/structure/table/reinforced,/obj/item/hand_labeler,/obj/item/communicator,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/space) "qv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/space) "qw" = (/obj/machinery/door/airlock{name = "Emergency Storage"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/space) "qx" = (/obj/machinery/vending/snack,/obj/effect/floor_decal/corner/blue{dir = 1},/obj/effect/floor_decal/corner/white{dir = 8},/turf/simulated/floor/tiled,/area/space) "qy" = (/obj/structure/table/reinforced,/obj/machinery/recharger,/turf/simulated/floor/tiled,/area/space) -"qz" = (/obj/structure/table/reinforced,/obj/item/device/radio{frequency = 1487; name = "Medbay Emergency Radio Link"},/obj/item/device/megaphone,/obj/effect/floor_decal/corner/blue/full{dir = 1},/obj/effect/floor_decal/corner/paleblue{dir = 8},/turf/simulated/floor/tiled/white,/area/space) +"qz" = (/obj/structure/table/reinforced,/obj/item/radio{frequency = 1487; name = "Medbay Emergency Radio Link"},/obj/item/megaphone,/obj/effect/floor_decal/corner/blue/full{dir = 1},/obj/effect/floor_decal/corner/paleblue{dir = 8},/turf/simulated/floor/tiled/white,/area/space) "qA" = (/turf/simulated/floor/grass,/area/space) "qB" = (/obj/item/stolenpackage,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/space) "qC" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/floor,/area/space) @@ -868,7 +868,7 @@ "qJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden{icon_state = "intact"; dir = 4},/turf/simulated/floor/tiled,/area/space) "qK" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden{icon_state = "intact"; dir = 4},/turf/simulated/floor/tiled,/area/space) "qL" = (/obj/structure/cable{icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/space) -"qM" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/medical,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/glasses/hud/health,/obj/effect/floor_decal/corner/blue{dir = 6},/obj/effect/floor_decal/corner/paleblue{dir = 9},/obj/machinery/requests_console{announcementConsole = 1; department = "Chief Medical Officer's Desk"; departmentType = 5; name = "Chief Medical Officer RC"; pixel_x = 32; pixel_y = -2},/turf/simulated/floor/tiled/white,/area/space) +"qM" = (/obj/structure/table/rack,/obj/item/storage/belt/medical,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/glasses/hud/health,/obj/effect/floor_decal/corner/blue{dir = 6},/obj/effect/floor_decal/corner/paleblue{dir = 9},/obj/machinery/requests_console{announcementConsole = 1; department = "Chief Medical Officer's Desk"; departmentType = 5; name = "Chief Medical Officer RC"; pixel_x = 32; pixel_y = -2},/turf/simulated/floor/tiled/white,/area/space) "qN" = (/obj/structure/sign/greencross,/turf/simulated/wall,/area/space) "qO" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/tiled/steel,/area/space) "qP" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor,/area/space) @@ -881,11 +881,11 @@ "qW" = (/obj/effect/floor_decal/corner/blue{dir = 6},/obj/effect/floor_decal/corner/paleblue{dir = 9},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/tiled/white,/area/space) "qX" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/space) "qY" = (/obj/machinery/computer/transhuman/resleeving,/obj/effect/floor_decal/corner/lime/full{dir = 8},/obj/machinery/light{dir = 1},/obj/machinery/button/windowtint{id = "resleeve_tint"; pixel_x = 6; pixel_y = 25},/turf/simulated/floor/tiled,/area/space) -"qZ" = (/obj/machinery/clonepod/transhuman,/obj/item/device/radio/intercom/department/medbay{pixel_y = 32},/obj/effect/floor_decal/corner/lime{dir = 5},/turf/simulated/floor/tiled,/area/space) +"qZ" = (/obj/machinery/clonepod/transhuman,/obj/item/radio/intercom/department/medbay{pixel_y = 32},/obj/effect/floor_decal/corner/lime{dir = 5},/turf/simulated/floor/tiled,/area/space) "ra" = (/obj/machinery/transhuman/resleever,/obj/effect/floor_decal/corner/lime{dir = 5},/obj/machinery/camera/network/medbay{c_tag = "Medbay Resleeving"},/turf/simulated/floor/tiled,/area/space) -"rb" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/effect/floor_decal/corner/lime/full{dir = 1},/obj/machinery/light{dir = 1},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/item/weapon/reagent_containers/glass/bottle/biomass,/obj/item/weapon/reagent_containers/glass/bottle/biomass,/obj/item/weapon/reagent_containers/glass/bottle/biomass,/turf/simulated/floor/tiled,/area/space) +"rb" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/effect/floor_decal/corner/lime/full{dir = 1},/obj/machinery/light{dir = 1},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/item/reagent_containers/glass/bottle/biomass,/obj/item/reagent_containers/glass/bottle/biomass,/obj/item/reagent_containers/glass/bottle/biomass,/turf/simulated/floor/tiled,/area/space) "rc" = (/obj/structure/grille,/obj/structure/window/reinforced/polarized{dir = 4; id = "resleeve_tint"},/obj/structure/window/reinforced/polarized{dir = 8; id = "resleeve_tint"},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced/polarized{dir = 1; id = "resleeve_tint"},/obj/structure/window/reinforced/polarized{id = "resleeve_tint"},/turf/simulated/floor/plating,/area/space) -"rd" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/weapon/tool/wrench,/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone,/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone,/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone,/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/cell_charger,/turf/simulated/floor/tiled/white,/area/space) +"rd" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/tool/wrench,/obj/item/reagent_containers/glass/beaker/cryoxadone,/obj/item/reagent_containers/glass/beaker/cryoxadone,/obj/item/reagent_containers/glass/beaker/cryoxadone,/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/cell_charger,/turf/simulated/floor/tiled/white,/area/space) "re" = (/obj/machinery/atmospherics/unary/freezer{dir = 2; icon_state = "freezer"},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/space) "rf" = (/obj/machinery/atmospherics/unary/cryo_cell{dir = 2; layer = 3.3},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/space) "rg" = (/obj/machinery/portable_atmospherics/canister/oxygen/prechilled,/obj/machinery/atmospherics/portables_connector,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled,/area/space) @@ -895,7 +895,7 @@ "rk" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/white{dir = 8},/obj/effect/floor_decal/corner/blue,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled,/area/space) "rl" = (/obj/structure/bed/chair{dir = 8},/obj/effect/floor_decal/corner/white{dir = 8},/obj/effect/floor_decal/corner/blue,/obj/machinery/light,/turf/simulated/floor/tiled,/area/space) "rm" = (/obj/structure/bed/chair{dir = 4},/obj/effect/floor_decal/corner/white{dir = 8},/obj/effect/floor_decal/corner/blue,/turf/simulated/floor/tiled,/area/space) -"rn" = (/obj/structure/table/standard,/obj/item/weapon/coin/silver,/obj/effect/floor_decal/corner/white{dir = 8},/obj/effect/floor_decal/corner/blue,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/space) +"rn" = (/obj/structure/table/standard,/obj/item/coin/silver,/obj/effect/floor_decal/corner/white{dir = 8},/obj/effect/floor_decal/corner/blue,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/space) "ro" = (/obj/structure/bed/chair{dir = 8},/obj/effect/floor_decal/corner/white{dir = 8},/obj/effect/floor_decal/corner/blue,/obj/machinery/computer/guestpass{dir = 1; pixel_y = -30},/turf/simulated/floor/tiled,/area/space) "rp" = (/obj/machinery/embedded_controller/radio/docking_port_multi{child_names_txt = "Airlock One;Airlock Two"; child_tags_txt = "arrivals_dock_north_airlock;arrivals_dock_south_airlock"; frequency = 1380; id_tag = "arrivals_dock"; pixel_x = 0; pixel_y = -25; req_one_access = list(13)},/obj/effect/floor_decal/corner/white{dir = 8},/obj/effect/floor_decal/corner/blue,/turf/simulated/floor/tiled,/area/space) "rq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/corner/white{dir = 8},/turf/simulated/floor/tiled,/area/space) @@ -920,7 +920,7 @@ "rJ" = (/obj/machinery/photocopier,/obj/effect/floor_decal/corner/blue/full{dir = 4},/obj/effect/floor_decal/corner/paleblue{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/white,/area/space) "rK" = (/obj/structure/flora/pottedplant/stoutbush,/obj/effect/floor_decal/corner/lime/full,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/space) "rL" = (/obj/effect/floor_decal/corner/lime{dir = 10},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled,/area/space) -"rM" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/backup_kit,/obj/item/weapon/storage/box/backup_kit,/obj/effect/floor_decal/corner/lime{dir = 10},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/item/device/sleevemate,/turf/simulated/floor/tiled,/area/space) +"rM" = (/obj/structure/table/standard,/obj/item/storage/box/backup_kit,/obj/item/storage/box/backup_kit,/obj/effect/floor_decal/corner/lime{dir = 10},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/item/sleevemate,/turf/simulated/floor/tiled,/area/space) "rN" = (/obj/structure/closet/wardrobe/genetics_white,/obj/effect/floor_decal/corner/lime/full{dir = 4},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor/tiled,/area/space) "rO" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/vending/medical,/obj/effect/floor_decal/corner/paleblue{dir = 8},/turf/simulated/floor/tiled/white,/area/space) "rP" = (/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/white,/area/space) @@ -931,12 +931,12 @@ "rU" = (/obj/effect/floor_decal/corner/paleblue{dir = 5},/obj/structure/reagent_dispensers/water_cooler/full,/turf/simulated/floor/tiled/white,/area/space) "rV" = (/obj/effect/floor_decal/corner/paleblue{dir = 5},/obj/structure/disposalpipe/trunk,/obj/machinery/disposal,/turf/simulated/floor/tiled/white,/area/space) "rW" = (/obj/effect/floor_decal/corner/paleblue{dir = 5},/obj/machinery/computer/transhuman/designer,/turf/simulated/floor/tiled/white,/area/space) -"rX" = (/obj/item/weapon/stool/padded,/obj/effect/floor_decal/corner/paleblue{dir = 5},/obj/machinery/camera/network/medbay{c_tag = "medbay reception"},/turf/simulated/floor/tiled/white,/area/space) -"rY" = (/obj/item/weapon/stool/padded,/obj/effect/floor_decal/corner/paleblue{dir = 5},/obj/machinery/light{dir = 1},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor/tiled/white,/area/space) -"rZ" = (/obj/item/weapon/stool/padded,/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/simulated/floor/tiled/white,/area/space) -"sa" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/weapon/storage/box/cups,/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/simulated/floor/tiled/white,/area/space) +"rX" = (/obj/item/stool/padded,/obj/effect/floor_decal/corner/paleblue{dir = 5},/obj/machinery/camera/network/medbay{c_tag = "medbay reception"},/turf/simulated/floor/tiled/white,/area/space) +"rY" = (/obj/item/stool/padded,/obj/effect/floor_decal/corner/paleblue{dir = 5},/obj/machinery/light{dir = 1},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor/tiled/white,/area/space) +"rZ" = (/obj/item/stool/padded,/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/simulated/floor/tiled/white,/area/space) +"sa" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/storage/box/cups,/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/simulated/floor/tiled/white,/area/space) "sb" = (/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"},/turf/simulated/wall,/area/space) -"sc" = (/obj/item/weapon/stool/padded,/obj/effect/floor_decal/corner/paleblue{dir = 5},/obj/machinery/camera/network/medbay{c_tag = "medbay restroom"},/turf/simulated/floor/tiled/white,/area/space) +"sc" = (/obj/item/stool/padded,/obj/effect/floor_decal/corner/paleblue{dir = 5},/obj/machinery/camera/network/medbay{c_tag = "medbay restroom"},/turf/simulated/floor/tiled/white,/area/space) "sd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/space) "se" = (/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 4},/turf/simulated/floor/tiled,/area/space) "sf" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/window/reinforced{dir = 2; health = 1e+006},/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/space) @@ -949,7 +949,7 @@ "sm" = (/obj/machinery/sleep_console{dir = 1; pixel_y = 10},/obj/effect/floor_decal/corner/lime/full,/obj/effect/floor_decal/corner/lime/full{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/space) "sn" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/space) "so" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/effect/floor_decal/corner/paleblue{dir = 6},/obj/machinery/button/remote/airlock{desc = "A remote control switch for the brig foyer."; id = "medbayfoyer"; name = "Medbay Foyer Doors"; pixel_x = 26; pixel_y = -6; req_access = list()},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/tiled/white,/area/space) -"sp" = (/obj/structure/table/standard,/obj/machinery/light{dir = 8},/obj/item/weapon/storage/firstaid/regular{pixel_x = 5; pixel_y = 5},/obj/effect/floor_decal/corner/paleblue{dir = 9},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/white,/area/space) +"sp" = (/obj/structure/table/standard,/obj/machinery/light{dir = 8},/obj/item/storage/firstaid/regular{pixel_x = 5; pixel_y = 5},/obj/effect/floor_decal/corner/paleblue{dir = 9},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/white,/area/space) "sq" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/space) "sr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled/white,/area/space) "ss" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/white,/area/space) @@ -984,9 +984,9 @@ "sV" = (/obj/effect/floor_decal/corner/paleblue,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/white,/area/space) "sW" = (/obj/machinery/door/firedoor/glass,/obj/effect/floor_decal/corner/paleblue{dir = 10},/turf/simulated/floor/tiled/white,/area/space) "sX" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/corner/paleblue{dir = 10},/turf/simulated/floor/tiled/white,/area/space) -"sY" = (/obj/machinery/iv_drip,/obj/structure/closet/secure_closet/medical_wall{name = "O- Blood Locker"; pixel_x = 0; pixel_y = -32},/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/effect/floor_decal/corner/paleblue{dir = 10},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/white,/area/space) +"sY" = (/obj/machinery/iv_drip,/obj/structure/closet/secure_closet/medical_wall{name = "O- Blood Locker"; pixel_x = 0; pixel_y = -32},/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/effect/floor_decal/corner/paleblue{dir = 10},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/white,/area/space) "sZ" = (/obj/machinery/smartfridge/chemistry/chemvator,/obj/machinery/camera/network/medbay{c_tag = "Virology Viral Storage"; dir = 1},/turf/simulated/floor/tiled/white,/area/space) -"ta" = (/obj/structure/table/glass,/obj/item/weapon/reagent_containers/spray/cleaner{pixel_x = 2; pixel_y = 2},/obj/item/weapon/reagent_containers/spray/cleaner{pixel_x = -2; pixel_y = -2},/obj/effect/floor_decal/corner/paleblue{dir = 10},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/item/device/defib_kit/loaded,/obj/item/device/defib_kit/loaded,/turf/simulated/floor/tiled/white,/area/space) +"ta" = (/obj/structure/table/glass,/obj/item/reagent_containers/spray/cleaner{pixel_x = 2; pixel_y = 2},/obj/item/reagent_containers/spray/cleaner{pixel_x = -2; pixel_y = -2},/obj/effect/floor_decal/corner/paleblue{dir = 10},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/item/defib_kit/loaded,/obj/item/defib_kit/loaded,/turf/simulated/floor/tiled/white,/area/space) "tb" = (/obj/effect/floor_decal/corner/paleblue{dir = 8},/turf/simulated/floor/tiled/white,/area/space) "tc" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/disposalpipe/junction/yjunction{dir = 4},/obj/effect/floor_decal/corner/paleblue,/turf/simulated/floor/tiled/white,/area/space) "td" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/corner/paleblue{dir = 10},/turf/simulated/floor/tiled/white,/area/space) @@ -1002,26 +1002,26 @@ "tn" = (/obj/structure/noticeboard,/turf/simulated/wall,/area/space) "to" = (/obj/machinery/door/firedoor,/obj/effect/floor_decal/corner/paleblue{dir = 9},/turf/simulated/floor/tiled/white,/area/space) "tp" = (/obj/machinery/door/firedoor,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/corner/paleblue{dir = 6},/turf/simulated/floor/tiled/white,/area/space) -"tq" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/spray/cleaner{pixel_x = -5},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/effect/floor_decal/corner/paleblue/full{dir = 8},/obj/item/device/sleevemate,/obj/item/weapon/storage/box/body_record_disk,/turf/simulated/floor/tiled/white,/area/space) +"tq" = (/obj/structure/table/standard,/obj/item/reagent_containers/spray/cleaner{pixel_x = -5},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/effect/floor_decal/corner/paleblue/full{dir = 8},/obj/item/sleevemate,/obj/item/storage/box/body_record_disk,/turf/simulated/floor/tiled/white,/area/space) "tr" = (/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/effect/floor_decal/corner/paleblue{dir = 5},/obj/machinery/computer/crew,/turf/simulated/floor/tiled/white,/area/space) "ts" = (/obj/machinery/door/window/northleft{dir = 1; icon_state = "left"; name = "Medbay Reception"; req_access = list(5)},/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/simulated/floor/tiled/white,/area/space) "tt" = (/obj/machinery/computer/crew,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/simulated/floor/tiled/white,/area/space) -"tu" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/machinery/door/window/eastleft{dir = 1; name = "Medbay Reception"; req_access = list(5)},/obj/item/weapon/folder/white,/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/simulated/floor/tiled/white,/area/space) -"tv" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/effect/floor_decal/corner/paleblue/full{dir = 1},/obj/item/device/radio/phone/medbay,/obj/machinery/button/remote/airlock{desc = "A remote control switch for the brig foyer."; id = "medbayfoyer"; name = "Medbay Foyer Doors"; pixel_x = 26; pixel_y = -6; req_access = list()},/turf/simulated/floor/tiled/white,/area/space) +"tu" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/machinery/door/window/eastleft{dir = 1; name = "Medbay Reception"; req_access = list(5)},/obj/item/folder/white,/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/simulated/floor/tiled/white,/area/space) +"tv" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/paper_bin,/obj/item/pen,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/effect/floor_decal/corner/paleblue/full{dir = 1},/obj/item/radio/phone/medbay,/obj/machinery/button/remote/airlock{desc = "A remote control switch for the brig foyer."; id = "medbayfoyer"; name = "Medbay Foyer Doors"; pixel_x = 26; pixel_y = -6; req_access = list()},/turf/simulated/floor/tiled/white,/area/space) "tw" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Examination Room"; req_access = list(5)},/turf/simulated/floor/tiled/white,/area/space) "tx" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/roller,/obj/item/roller,/obj/item/roller,/obj/item/roller,/obj/structure/window/reinforced/tinted,/obj/machinery/door/firedoor,/turf/simulated/floor/tiled/white,/area/space) "ty" = (/obj/structure/sign/examroom,/turf/simulated/wall,/area/space) "tz" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/machinery/computer/med_data/laptop,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/simulated/floor/tiled/white,/area/space) -"tA" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/device/radio/phone/medbay,/obj/machinery/door/window/northleft{dir = 1; icon_state = "left"; name = "Medbay Reception Window"; req_access = list(5)},/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/simulated/floor/tiled/white,/area/space) -"tB" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/effect/floor_decal/corner/paleblue/full{dir = 1},/turf/simulated/floor/tiled/white,/area/space) +"tA" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/radio/phone/medbay,/obj/machinery/door/window/northleft{dir = 1; icon_state = "left"; name = "Medbay Reception Window"; req_access = list(5)},/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/simulated/floor/tiled/white,/area/space) +"tB" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/paper_bin,/obj/item/pen,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/effect/floor_decal/corner/paleblue/full{dir = 1},/turf/simulated/floor/tiled/white,/area/space) "tC" = (/obj/effect/floor_decal/corner/pink{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/white,/area/space) -"tD" = (/obj/structure/bed/padded,/obj/structure/curtain/open/privacy,/obj/item/weapon/bedsheet/medical,/obj/effect/floor_decal/corner/pink{dir = 4},/turf/simulated/floor/tiled/white,/area/space) +"tD" = (/obj/structure/bed/padded,/obj/structure/curtain/open/privacy,/obj/item/bedsheet/medical,/obj/effect/floor_decal/corner/pink{dir = 4},/turf/simulated/floor/tiled/white,/area/space) "tE" = (/obj/machinery/iv_drip,/obj/effect/floor_decal/corner/pink/full{dir = 1},/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/tiled/white,/area/space) "tF" = (/obj/machinery/recharge_station,/turf/simulated/floor/tiled/white,/area/space) "tG" = (/obj/machinery/mech_recharger,/obj/machinery/light{dir = 1},/turf/simulated/floor/plating,/area/space) "tH" = (/obj/effect/floor_decal/corner/paleblue{dir = 9},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/white,/area/space) "tI" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/corner/paleblue{dir = 6},/turf/simulated/floor/tiled/white,/area/space) -"tJ" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/corner/paleblue{dir = 9},/obj/machinery/button/remote/airlock{desc = "A remote control switch for the brig foyer."; id = "medbayfoyer"; name = "Medbay Foyer Doors"; pixel_x = 0; pixel_y = 6; req_access = list()},/turf/simulated/floor/tiled/white,/area/space) +"tJ" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/paper_bin,/obj/item/pen,/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/corner/paleblue{dir = 9},/obj/machinery/button/remote/airlock{desc = "A remote control switch for the brig foyer."; id = "medbayfoyer"; name = "Medbay Foyer Doors"; pixel_x = 0; pixel_y = 6; req_access = list()},/turf/simulated/floor/tiled/white,/area/space) "tK" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Paramedic"},/turf/simulated/floor/tiled/white,/area/space) "tL" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/white,/area/space) "tM" = (/obj/structure/bed/chair/office/light{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/white,/area/space) @@ -1029,7 +1029,7 @@ "tO" = (/obj/structure/grille,/obj/machinery/door/firedoor/glass,/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/space) "tP" = (/obj/structure/table/bench/padded,/turf/simulated/floor/tiled/white,/area/space) "tQ" = (/obj/machinery/shipsensors{dir = 1},/obj/effect/floor_decal/industrial/danger{dir = 1},/turf/simulated/floor/reinforced,/area/space) -"tR" = (/obj/item/weapon/stool/padded,/obj/item/weapon/storage/box/backup_kit,/turf/simulated/floor/tiled/white,/area/space) +"tR" = (/obj/item/stool/padded,/obj/item/storage/box/backup_kit,/turf/simulated/floor/tiled/white,/area/space) "tS" = (/obj/structure/filingcabinet/medical{desc = "A large cabinet with hard copy medical records."; name = "Medical Records"},/obj/effect/floor_decal/corner/paleblue{dir = 6},/turf/simulated/floor/tiled/white,/area/space) "tT" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/space) "tU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/space) @@ -1043,18 +1043,18 @@ "uc" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/corner/paleblue{dir = 10},/turf/simulated/floor/tiled/white,/area/space) "ud" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/computer/guestpass{dir = 1; pixel_y = -30},/obj/effect/floor_decal/corner/paleblue{dir = 10},/turf/simulated/floor/tiled/white,/area/space) "ue" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/corner/paleblue{dir = 10},/obj/structure/filingcabinet/medical{desc = "A large cabinet with hard copy medical records."; name = "Medical Records"},/turf/simulated/floor/tiled/white,/area/space) -"uf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/effect/floor_decal/corner/paleblue{dir = 10},/obj/structure/table/standard{name = "plastic table frame"},/obj/item/weapon/storage/box/backup_kit,/turf/simulated/floor/tiled/white,/area/space) -"ug" = (/obj/item/weapon/backup_implanter{pixel_y = -12},/obj/item/weapon/backup_implanter{pixel_y = -5},/obj/item/weapon/backup_implanter{pixel_y = 2},/obj/item/weapon/backup_implanter{pixel_y = 9},/obj/effect/floor_decal/corner/paleblue/full{dir = 4},/obj/structure/table/standard{name = "plastic table frame"},/turf/simulated/floor/tiled/white,/area/space) +"uf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/effect/floor_decal/corner/paleblue{dir = 10},/obj/structure/table/standard{name = "plastic table frame"},/obj/item/storage/box/backup_kit,/turf/simulated/floor/tiled/white,/area/space) +"ug" = (/obj/item/backup_implanter{pixel_y = -12},/obj/item/backup_implanter{pixel_y = -5},/obj/item/backup_implanter{pixel_y = 2},/obj/item/backup_implanter{pixel_y = 9},/obj/effect/floor_decal/corner/paleblue/full{dir = 4},/obj/structure/table/standard{name = "plastic table frame"},/turf/simulated/floor/tiled/white,/area/space) "uh" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/structure/table/bench/padded,/turf/simulated/floor/tiled/white,/area/space) "ui" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/corner/paleblue{dir = 8},/obj/machinery/computer/guestpass{dir = 1; pixel_y = -30},/turf/simulated/floor/tiled/white,/area/space) "uj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/space) "uk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/effect/floor_decal/corner/paleblue,/turf/simulated/floor/tiled/white,/area/space) -"ul" = (/obj/structure/table/glass,/obj/item/weapon/backup_implanter{pixel_y = -12},/obj/item/weapon/backup_implanter{pixel_y = -5},/obj/item/weapon/backup_implanter{pixel_y = 2},/obj/item/weapon/backup_implanter{pixel_y = 9},/obj/effect/floor_decal/corner/paleblue/full{dir = 4},/turf/simulated/floor/tiled/white,/area/space) +"ul" = (/obj/structure/table/glass,/obj/item/backup_implanter{pixel_y = -12},/obj/item/backup_implanter{pixel_y = -5},/obj/item/backup_implanter{pixel_y = 2},/obj/item/backup_implanter{pixel_y = 9},/obj/effect/floor_decal/corner/paleblue/full{dir = 4},/turf/simulated/floor/tiled/white,/area/space) "um" = (/obj/machinery/body_scanconsole,/turf/simulated/floor/tiled/white,/area/space) "un" = (/obj/machinery/door/airlock/glass_medical{name = "Patient Ward"},/obj/machinery/door/firedoor,/turf/simulated/floor/tiled/white,/area/space) "uo" = (/obj/effect/floor_decal/corner/paleblue,/turf/simulated/floor/tiled/white,/area/space) "up" = (/obj/structure/closet/secure_closet/paramedic,/obj/item/clothing/accessory/storage/black_vest,/obj/random/medical,/obj/random/medical,/turf/simulated/floor/tiled/white,/area/space) -"uq" = (/obj/structure/table/rack,/obj/machinery/door/window/westright{name = "EVA Suit Storage"; req_access = list(5)},/obj/item/device/suit_cooling_unit,/obj/item/clothing/suit/storage/hooded/wintercoat/snowsuit/medical,/obj/structure/window/reinforced{dir = 1},/obj/item/clothing/shoes/boots/winter/medical,/obj/machinery/camera/network/medbay{c_tag = "Medbay EMT office"; dir = 8},/turf/simulated/floor/tiled/dark,/area/space) +"uq" = (/obj/structure/table/rack,/obj/machinery/door/window/westright{name = "EVA Suit Storage"; req_access = list(5)},/obj/item/suit_cooling_unit,/obj/item/clothing/suit/storage/hooded/wintercoat/snowsuit/medical,/obj/structure/window/reinforced{dir = 1},/obj/item/clothing/shoes/boots/winter/medical,/obj/machinery/camera/network/medbay{c_tag = "Medbay EMT office"; dir = 8},/turf/simulated/floor/tiled/dark,/area/space) "ur" = (/obj/effect/floor_decal/corner/paleblue{dir = 9},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled/white,/area/space) "us" = (/obj/effect/floor_decal/corner/paleblue{dir = 6},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/space) "ut" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/space) @@ -1062,7 +1062,7 @@ "uv" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/tiled/white,/area/space) "uw" = (/obj/effect/floor_decal/corner/paleblue{dir = 8},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/white,/area/space) "ux" = (/obj/structure/closet/secure_closet/paramedic,/obj/random/medical,/obj/random/medical,/obj/structure/window/reinforced{dir = 2; health = 1e+006},/turf/simulated/floor/tiled/white,/area/space) -"uy" = (/obj/structure/window/reinforced,/obj/structure/table/rack,/obj/machinery/door/window/westleft{name = "EVA Suit Storage"; req_access = list(5)},/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/medical,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/medical,/obj/item/weapon/tank/oxygen,/turf/simulated/floor/tiled/dark,/area/space) +"uy" = (/obj/structure/window/reinforced,/obj/structure/table/rack,/obj/machinery/door/window/westleft{name = "EVA Suit Storage"; req_access = list(5)},/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/medical,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/medical,/obj/item/tank/oxygen,/turf/simulated/floor/tiled/dark,/area/space) "uz" = (/obj/effect/floor_decal/corner/paleblue{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled/white,/area/space) "uA" = (/obj/effect/floor_decal/corner/paleblue{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/space) "uB" = (/obj/structure/window/reinforced/polarized{id = "exam"},/obj/structure/window/reinforced/polarized{dir = 4; id = "exam"},/obj/structure/window/reinforced/polarized{dir = 8; id = "exam"},/obj/structure/window/reinforced/polarized{dir = 1; id = "exam"},/obj/structure/grille,/turf/simulated/floor/plating,/area/space) @@ -1070,19 +1070,19 @@ "uD" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/effect/floor_decal/corner/pink{dir = 5},/turf/simulated/floor/tiled/white,/area/space) "uE" = (/obj/effect/floor_decal/corner/pink{dir = 5},/turf/simulated/floor/tiled/white,/area/space) "uF" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/corner/pink{dir = 5},/turf/simulated/floor/tiled/white,/area/space) -"uG" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/item/device/healthanalyzer,/obj/item/device/universal_translator,/obj/effect/floor_decal/corner/pink{dir = 5},/turf/simulated/floor/tiled/white,/area/space) -"uH" = (/obj/structure/table/glass,/obj/random/medical,/obj/random/medical,/obj/item/device/glasses_kit,/obj/effect/floor_decal/corner/pink{dir = 1},/turf/simulated/floor/tiled/white,/area/space) +"uG" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/item/healthanalyzer,/obj/item/universal_translator,/obj/effect/floor_decal/corner/pink{dir = 5},/turf/simulated/floor/tiled/white,/area/space) +"uH" = (/obj/structure/table/glass,/obj/random/medical,/obj/random/medical,/obj/item/glasses_kit,/obj/effect/floor_decal/corner/pink{dir = 1},/turf/simulated/floor/tiled/white,/area/space) "uI" = (/obj/effect/floor_decal/corner/pink{dir = 6},/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled/white,/area/space) "uJ" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/effect/floor_decal/corner/pink{dir = 1},/turf/simulated/floor/tiled/white,/area/space) "uK" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/corner/pink{dir = 4},/turf/simulated/floor/tiled/white,/area/space) "uL" = (/obj/machinery/alarm{dir = 4; pixel_x = -25; pixel_y = 0},/turf/simulated/floor/tiled/steel_ridged,/area/space) "uM" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/machinery/computer/med_data/laptop,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/camera/network/medbay{c_tag = "Medbay Recovery Ward"; dir = 1},/turf/simulated/floor/tiled/white,/area/space) -"uN" = (/obj/item/weapon/stool/padded,/obj/effect/floor_decal/corner/pink{dir = 8},/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/space) +"uN" = (/obj/item/stool/padded,/obj/effect/floor_decal/corner/pink{dir = 8},/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/space) "uO" = (/obj/effect/floor_decal/corner/pink{dir = 6},/obj/machinery/computer/cryopod{pixel_x = 32},/obj/machinery/cryopod,/turf/simulated/floor/tiled/white,/area/space) "uP" = (/obj/effect/floor_decal/corner/paleblue{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/space) "uQ" = (/obj/effect/floor_decal/corner/paleblue{dir = 6},/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/white,/area/space) "uR" = (/obj/machinery/computer/med_data{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled/white,/area/space) -"uS" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/landmark/start{name = "Paramedic"},/turf/simulated/floor/tiled/white,/area/space) +"uS" = (/obj/item/stool/padded,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/landmark/start{name = "Paramedic"},/turf/simulated/floor/tiled/white,/area/space) "uT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/space) "uU" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/space) "uV" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "First-Aid Station"; req_one_access = list(5,10,63)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/space) @@ -1091,8 +1091,8 @@ "uY" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Examination Room"; req_access = list(5)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/space) "uZ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/tiled/white,/area/space) "va" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/white,/area/space) -"vb" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/white,/area/space) -"vc" = (/obj/item/weapon/stool/padded,/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0},/obj/effect/floor_decal/corner/pink{dir = 6},/turf/simulated/floor/tiled/white,/area/space) +"vb" = (/obj/item/stool/padded,/turf/simulated/floor/tiled/white,/area/space) +"vc" = (/obj/item/stool/padded,/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0},/obj/effect/floor_decal/corner/pink{dir = 6},/turf/simulated/floor/tiled/white,/area/space) "vd" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/space) "ve" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/space) "vf" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/space) @@ -1100,20 +1100,20 @@ "vh" = (/obj/machinery/door/airlock/glass_medical{id_tag = "Surgery"; name = "Surgical Wing"; req_access = list(5)},/obj/machinery/door/firedoor/glass,/obj/machinery/holosign/surgery,/obj/effect/floor_decal/corner/paleblue{dir = 4},/obj/effect/floor_decal/corner/pink,/turf/simulated/floor/tiled/white,/area/space) "vi" = (/obj/structure/table/glass,/turf/simulated/floor/tiled/white,/area/space) "vj" = (/obj/item/roller,/obj/item/roller{pixel_y = 8},/obj/item/roller{pixel_y = 16},/obj/structure/table/glass,/turf/simulated/floor/tiled/white,/area/space) -"vk" = (/obj/structure/table/rack,/obj/item/weapon/rig/medical/equipped,/obj/machinery/alarm{dir = 4; pixel_x = -25; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/white,/area/space) +"vk" = (/obj/structure/table/rack,/obj/item/rig/medical/equipped,/obj/machinery/alarm{dir = 4; pixel_x = -25; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/white,/area/space) "vl" = (/obj/effect/floor_decal/corner/paleblue,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/camera/network/medbay{c_tag = "Medbay Lower Annex"; dir = 8},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/white,/area/space) "vm" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/corner/pink{dir = 8},/turf/simulated/floor/tiled/white,/area/space) -"vn" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/item/weapon/clipboard,/turf/simulated/floor/tiled/white,/area/space) -"vo" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/weapon/folder/white,/obj/item/weapon/folder/white,/turf/simulated/floor/tiled/white,/area/space) +"vn" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/paper_bin,/obj/item/pen,/obj/item/clipboard,/turf/simulated/floor/tiled/white,/area/space) +"vo" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/folder/white,/obj/item/folder/white,/turf/simulated/floor/tiled/white,/area/space) "vp" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/machinery/computer/med_data/laptop,/turf/simulated/floor/tiled/white,/area/space) "vq" = (/obj/structure/bed/padded,/obj/machinery/newscaster{layer = 3.3; pixel_x = 27; pixel_y = 0},/obj/effect/floor_decal/corner/pink{dir = 6},/turf/simulated/floor/tiled/white,/area/space) -"vr" = (/obj/structure/table/rack,/obj/item/weapon/rig/medical/equipped,/obj/machinery/alarm{dir = 4; pixel_x = -25; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/dark,/area/space) +"vr" = (/obj/structure/table/rack,/obj/item/rig/medical/equipped,/obj/machinery/alarm{dir = 4; pixel_x = -25; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/dark,/area/space) "vs" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/space) "vt" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/space) -"vu" = (/obj/effect/floor_decal/corner/pink{dir = 4},/obj/item/weapon/reagent_containers/spray/cleaner,/obj/structure/table/standard,/turf/simulated/floor/tiled/white,/area/space) -"vv" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/effect/floor_decal/corner/pink{dir = 5},/turf/simulated/floor/tiled/white,/area/space) +"vu" = (/obj/effect/floor_decal/corner/pink{dir = 4},/obj/item/reagent_containers/spray/cleaner,/obj/structure/table/standard,/turf/simulated/floor/tiled/white,/area/space) +"vv" = (/obj/structure/table/standard,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/effect/floor_decal/corner/pink{dir = 5},/turf/simulated/floor/tiled/white,/area/space) "vw" = (/obj/machinery/vending/medical,/obj/effect/floor_decal/corner/pink{dir = 5},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/white,/area/space) -"vx" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/gloves{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/masks,/obj/effect/floor_decal/corner/pink{dir = 5},/turf/simulated/floor/tiled/white,/area/space) +"vx" = (/obj/structure/table/standard,/obj/item/storage/box/gloves{pixel_x = 4; pixel_y = 4},/obj/item/storage/box/masks,/obj/effect/floor_decal/corner/pink{dir = 5},/turf/simulated/floor/tiled/white,/area/space) "vy" = (/obj/effect/floor_decal/corner/pink{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/space) "vz" = (/obj/effect/floor_decal/corner/pink{dir = 6},/turf/simulated/floor/tiled/white,/area/space) "vA" = (/obj/effect/floor_decal/corner/paleblue{dir = 9},/obj/structure/cable/green{icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -28},/turf/simulated/floor/tiled/white,/area/space) @@ -1133,7 +1133,7 @@ "vO" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled/white,/area/space) "vP" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled/white,/area/space) "vQ" = (/obj/effect/floor_decal/corner/pink{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/space) -"vR" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/weapon/reagent_containers/food/drinks/britcup,/obj/effect/floor_decal/corner/pink{dir = 5},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor/tiled/white,/area/space) +"vR" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/reagent_containers/food/drinks/britcup,/obj/effect/floor_decal/corner/pink{dir = 5},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor/tiled/white,/area/space) "vS" = (/obj/structure/closet/wardrobe/medic_white,/obj/effect/floor_decal/corner/pink{dir = 5},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/tiled/white,/area/space) "vT" = (/obj/effect/floor_decal/corner/pink{dir = 5},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/disposalpipe/junction{dir = 8; icon_state = "pipe-j2"},/turf/simulated/floor/tiled/white,/area/space) "vU" = (/obj/effect/floor_decal/corner/pink{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/space) @@ -1149,7 +1149,7 @@ "we" = (/obj/machinery/computer/ship/helm,/turf/simulated/floor/tiled,/area/space) "wf" = (/obj/machinery/computer/shuttle_control/explore/excursion{dir = 2},/turf/simulated/floor/tiled,/area/space) "wg" = (/obj/machinery/computer/ship/sensors,/turf/simulated/floor/tiled,/area/space) -"wh" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{pixel_x = 5},/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{pixel_x = -5},/turf/simulated/floor/tiled/techmaint,/area/space) +"wh" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/item/reagent_containers/food/condiment/small/peppermill{pixel_x = 5},/obj/item/reagent_containers/food/condiment/small/saltshaker{pixel_x = -5},/turf/simulated/floor/tiled/techmaint,/area/space) "wi" = (/obj/effect/floor_decal/borderfloorblack{dir = 8},/obj/effect/floor_decal/industrial/danger{icon_state = "danger"; dir = 8},/turf/simulated/floor/tiled,/area/shuttle/trade/station) "wj" = (/obj/machinery/shipsensors{dir = 1},/obj/effect/floor_decal/industrial/danger{dir = 1},/turf/simulated/floor/reinforced,/area/shuttle/trade/station) "wk" = (/turf/simulated/wall/rshull,/area/shuttle/trade/station) @@ -1157,8 +1157,8 @@ "wm" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{icon_state = "intact"; dir = 5},/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/tiled/techfloor/grid,/area/space) "wn" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan,/turf/simulated/floor/tiled/techfloor/grid,/area/space) "wo" = (/obj/machinery/atmospherics/binary/pump{dir = 4},/obj/machinery/portable_atmospherics/powered/pump,/turf/simulated/floor/tiled/techfloor/grid,/area/space) -"wp" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/utility/full,/obj/item/clothing/head/pilot,/obj/item/clothing/head/pilot,/obj/item/weapon/storage/box/survival/space,/obj/item/weapon/storage/toolbox/emergency,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 10},/turf/simulated/floor/tiled/techfloor/grid,/area/space) -"wq" = (/obj/structure/bed/chair/comfy/blue{icon_state = "comfychair_preview"; dir = 1},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 28; pixel_y = 28},/obj/item/device/radio/intercom{broadcasting = 0; dir = 4; listening = 1; name = "Common Channel"; pixel_x = 21; pixel_y = 0},/obj/machinery/button/remote/blast_door{dir = 8; id = "shuttle blast"; name = "Shuttle Blast Doors"; pixel_x = 26; pixel_y = 39; req_access = list(67)},/turf/simulated/floor/tiled/techmaint,/area/space) +"wp" = (/obj/structure/table/rack,/obj/item/storage/belt/utility/full,/obj/item/clothing/head/pilot,/obj/item/clothing/head/pilot,/obj/item/storage/box/survival/space,/obj/item/storage/toolbox/emergency,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 10},/turf/simulated/floor/tiled/techfloor/grid,/area/space) +"wq" = (/obj/structure/bed/chair/comfy/blue{icon_state = "comfychair_preview"; dir = 1},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 28; pixel_y = 28},/obj/item/radio/intercom{broadcasting = 0; dir = 4; listening = 1; name = "Common Channel"; pixel_x = 21; pixel_y = 0},/obj/machinery/button/remote/blast_door{dir = 8; id = "shuttle blast"; name = "Shuttle Blast Doors"; pixel_x = 26; pixel_y = 39; req_access = list(67)},/turf/simulated/floor/tiled/techmaint,/area/space) "wr" = (/obj/machinery/appliance/cooker/grill{dir = 2},/turf/simulated/floor/tiled/techmaint,/area/space) "ws" = (/obj/structure/table/bench/padded,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/techmaint,/area/space) "wt" = (/obj/machinery/computer/ship/helm,/turf/simulated/floor/tiled,/area/shuttle/trade/station) @@ -1194,7 +1194,7 @@ "wX" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/handrail{dir = 8},/turf/simulated/floor/tiled/dark,/area/space) "wY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/handrail{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/space) "wZ" = (/obj/structure/bed,/obj/structure/medical_stand,/obj/structure/curtain/open/privacy,/turf/simulated/floor/tiled/techmaint,/area/space) -"xa" = (/obj/structure/bed,/obj/structure/medical_stand,/obj/structure/curtain/open/privacy,/obj/item/device/geiger/wall{pixel_y = 30},/turf/simulated/floor/tiled/techmaint,/area/space) +"xa" = (/obj/structure/bed,/obj/structure/medical_stand,/obj/structure/curtain/open/privacy,/obj/item/geiger/wall{pixel_y = 30},/turf/simulated/floor/tiled/techmaint,/area/space) "xb" = (/obj/structure/sign/greencross{pixel_x = 32},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/techmaint,/area/space) "xc" = (/obj/structure/bed/chair/comfy/blue{icon_state = "comfychair_preview"; dir = 1},/turf/simulated/floor/tiled/techmaint,/area/space) "xd" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "shuttle blast"; name = "Shuttle Blast Doors"; opacity = 0},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/shuttle/trade/station) @@ -1206,13 +1206,13 @@ "xj" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/voidcraft,/turf/simulated/floor/tiled/techfloor,/area/space) "xk" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor/tiled/techfloor,/area/space) "xl" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/techmaint,/area/space) -"xm" = (/obj/structure/closet/secure_closet/medical_wall{name = "O- Blood Locker"; pixel_x = 32; pixel_y = 0; req_access = list(); req_one_access = list()},/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled/techmaint,/area/shuttle/trade/station) +"xm" = (/obj/structure/closet/secure_closet/medical_wall{name = "O- Blood Locker"; pixel_x = 32; pixel_y = 0; req_access = list(); req_one_access = list()},/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled/techmaint,/area/shuttle/trade/station) "xn" = (/turf/simulated/shuttle/wall/voidcraft/hard_corner,/area/shuttle/trade/station) "xo" = (/obj/structure/closet/secure_closet/guncabinet,/turf/simulated/floor/tiled/techmaint,/area/shuttle/trade/station) "xp" = (/obj/machinery/computer/security/exploration{dir = 4},/turf/simulated/floor/tiled/dark,/area/space) "xq" = (/obj/structure/bed/chair/office/light{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/button/remote/blast_door{dir = 8; id = "shuttle blast"; name = "Shuttle Blast Doors"; pixel_x = 26; pixel_y = 9; req_access = list(67)},/turf/simulated/floor/tiled/dark,/area/space) "xr" = (/obj/structure/sign/greencross{pixel_x = -32; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/techfloor,/area/space) -"xs" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/structure/closet/secure_closet/medical_wall{layer = 5; pixel_y = -32; req_access = list(); req_one_access = list()},/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/clotting,/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/brute,/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/brute,/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/burn,/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/burn,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/inaprovaline,/obj/item/weapon/storage/firstaid/regular,/turf/simulated/floor/tiled/techmaint,/area/space) +"xs" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/structure/closet/secure_closet/medical_wall{layer = 5; pixel_y = -32; req_access = list(); req_one_access = list()},/obj/item/reagent_containers/hypospray/autoinjector/biginjector/clotting,/obj/item/reagent_containers/hypospray/autoinjector/biginjector/brute,/obj/item/reagent_containers/hypospray/autoinjector/biginjector/brute,/obj/item/reagent_containers/hypospray/autoinjector/biginjector/burn,/obj/item/reagent_containers/hypospray/autoinjector/biginjector/burn,/obj/item/reagent_containers/syringe/antiviral,/obj/item/reagent_containers/syringe/antiviral,/obj/item/reagent_containers/syringe/inaprovaline,/obj/item/storage/firstaid/regular,/turf/simulated/floor/tiled/techmaint,/area/space) "xt" = (/obj/machinery/sleeper{dir = 8},/turf/simulated/floor/tiled/techmaint,/area/shuttle/trade/station) "xu" = (/obj/machinery/sleep_console,/turf/simulated/floor/tiled/techmaint,/area/shuttle/trade/station) "xv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/airlock/voidcraft/vertical,/turf/simulated/floor/tiled/techfloor,/area/space) @@ -1246,7 +1246,7 @@ "xX" = (/obj/structure/handrail{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{icon_state = "intact-scrubbers"; dir = 5},/turf/simulated/floor/tiled/techmaint,/area/shuttle/trade/station) "xY" = (/obj/structure/bed/chair/shuttle{dir = 8; icon_state = "shuttle_chair"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/techmaint,/area/shuttle/trade/station) "xZ" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/wall/rshull,/area/shuttle/trade/station) -"ya" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "expshuttle_docker_pump_out_internal"},/obj/machinery/oxygen_pump{pixel_y = -32},/obj/structure/handrail{dir = 1},/obj/item/device/geiger/wall{dir = 4; pixel_x = -30},/turf/simulated/floor/tiled/techfloor/grid,/area/shuttle/trade/station) +"ya" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "expshuttle_docker_pump_out_internal"},/obj/machinery/oxygen_pump{pixel_y = -32},/obj/structure/handrail{dir = 1},/obj/item/geiger/wall{dir = 4; pixel_x = -30},/turf/simulated/floor/tiled/techfloor/grid,/area/shuttle/trade/station) "yb" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "expshuttle_vent"},/obj/machinery/oxygen_pump{pixel_y = -32},/obj/structure/handrail{dir = 1},/turf/simulated/floor/tiled/techfloor/grid,/area/shuttle/trade/station) "yc" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "expshuttle_docker_pump_out_external"},/obj/effect/floor_decal/industrial/warning/full,/obj/structure/handrail{dir = 8},/turf/simulated/floor/plating,/area/space) "yd" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"},/turf/simulated/wall/rshull,/area/space) @@ -1255,11 +1255,11 @@ "yg" = (/obj/machinery/recharge_station,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/techfloor/grid,/area/space) "yh" = (/obj/machinery/atmospherics/pipe/tank/phoron,/turf/simulated/floor/tiled/techfloor/grid,/area/space) "yi" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled/techfloor,/area/space) -"yj" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/obj/effect/floor_decal/industrial/outline/red,/obj/structure/closet/secure_closet/guncabinet/excursion,/obj/item/weapon/pickaxe,/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/techfloor/grid,/area/space) +"yj" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/obj/effect/floor_decal/industrial/outline/red,/obj/structure/closet/secure_closet/guncabinet/excursion,/obj/item/pickaxe,/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/techfloor/grid,/area/space) "yk" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/obj/effect/floor_decal/industrial/outline/red,/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/structure/closet/secure_closet/guncabinet{name = "expedition cabinet"; req_one_access = list(43,2)},/turf/simulated/floor/tiled/techfloor/grid,/area/space) "yl" = (/obj/structure/stasis_cage,/turf/simulated/floor/tiled/techfloor/grid,/area/space) "ym" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/atmospherics/pipe/tank/air,/turf/simulated/floor/tiled/techfloor/grid,/area/space) -"yn" = (/obj/structure/fuel_port{pixel_y = 32},/obj/item/weapon/tank/phoron,/turf/simulated/floor/tiled/techfloor/grid,/area/shuttle/trade/station) +"yn" = (/obj/structure/fuel_port{pixel_y = 32},/obj/item/tank/phoron,/turf/simulated/floor/tiled/techfloor/grid,/area/shuttle/trade/station) "yo" = (/obj/machinery/atmospherics/pipe/tank/phoron,/turf/simulated/floor/tiled/techfloor/grid,/area/shuttle/trade/station) "yp" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 5},/obj/structure/handrail{dir = 4},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/techfloor/grid,/area/space) "yq" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/voidcraft,/turf/simulated/floor/tiled/steel_ridged,/area/space) @@ -1284,7 +1284,7 @@ "yJ" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/techfloor,/area/space) "yK" = (/obj/machinery/computer/ship/engines{dir = 8},/turf/simulated/floor/tiled/techfloor/grid,/area/space) "yL" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/techfloor/grid,/area/space) -"yM" = (/obj/structure/fuel_port{pixel_y = 32},/obj/item/weapon/tank/phoron,/turf/simulated/floor/tiled/techfloor/grid,/area/space) +"yM" = (/obj/structure/fuel_port{pixel_y = 32},/obj/item/tank/phoron,/turf/simulated/floor/tiled/techfloor/grid,/area/space) "yN" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/yellow{dir = 1},/turf/simulated/floor/reinforced,/area/shuttle/trade/station) "yO" = (/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/industrial/danger{dir = 4},/turf/simulated/floor/tiled/dark,/area/shuttle/trade/station) "yP" = (/obj/machinery/cell_charger,/obj/structure/table/steel,/obj/random/powercell,/obj/item/stack/material/tritium{amount = 5},/obj/structure/cable/green{icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/yellow,/turf/simulated/floor/tiled/techfloor/grid,/area/space) @@ -1327,7 +1327,7 @@ "zA" = (/obj/machinery/sleeper{dir = 8},/turf/simulated/floor/tiled/techfloor,/area/shuttle/trade/station) "zB" = (/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/sleep_console,/turf/simulated/floor/tiled/techfloor,/area/shuttle/trade/station) "zC" = (/turf/simulated/floor/tiled/techfloor,/area/shuttle/trade/station) -"zD" = (/obj/structure/bed/chair/shuttle{dir = 8; icon_state = "shuttle_chair"},/obj/structure/closet/medical_wall{pixel_x = 32; pixel_y = 0},/obj/item/weapon/storage/firstaid/o2,/obj/item/weapon/storage/firstaid/regular,/obj/machinery/firealarm{dir = 2; layer = 3.3; pixel_x = 0; pixel_y = 26},/turf/simulated/floor/tiled/techfloor,/area/shuttle/trade/station) +"zD" = (/obj/structure/bed/chair/shuttle{dir = 8; icon_state = "shuttle_chair"},/obj/structure/closet/medical_wall{pixel_x = 32; pixel_y = 0},/obj/item/storage/firstaid/o2,/obj/item/storage/firstaid/regular,/obj/machinery/firealarm{dir = 2; layer = 3.3; pixel_x = 0; pixel_y = 26},/turf/simulated/floor/tiled/techfloor,/area/shuttle/trade/station) "zE" = (/obj/structure/bed/chair/shuttle{dir = 4; icon_state = "shuttle_chair"},/obj/structure/extinguisher_cabinet{dir = 4; icon_state = "extinguisher_closed"; pixel_x = -30},/turf/simulated/floor/tiled/techfloor,/area/shuttle/trade/station) "zF" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/techfloor,/area/shuttle/trade/station) "zG" = (/obj/effect/floor_decal/industrial/danger{dir = 4},/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/voidcraft{frequency = 1380; id_tag = "secsh_compartment"; name = "Passenger Compartment"; req_one_access = list(1)},/turf/simulated/floor/tiled/techfloor,/area/shuttle/trade/station) @@ -1391,7 +1391,7 @@ "AM" = (/obj/effect/floor_decal/industrial/danger{dir = 4},/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/voidcraft{frequency = 1380; id_tag = "secsh_compartment"; name = "Passenger Compartment"; req_one_access = list(1)},/turf/simulated/floor/tiled/techfloor,/area/space) "AN" = (/obj/structure/bed/chair/shuttle{dir = 4; icon_state = "shuttle_chair"},/obj/structure/extinguisher_cabinet{dir = 4; icon_state = "extinguisher_closed"; pixel_x = -30},/turf/simulated/floor/tiled/techfloor,/area/space) "AO" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/window,/turf/simulated/floor/tiled/techfloor,/area/space) -"AP" = (/obj/structure/bed/chair/shuttle{dir = 8; icon_state = "shuttle_chair"},/obj/structure/closet/medical_wall{pixel_x = 32; pixel_y = 0},/obj/item/weapon/storage/firstaid/o2,/obj/item/weapon/storage/firstaid/regular,/turf/simulated/floor/tiled/techfloor,/area/space) +"AP" = (/obj/structure/bed/chair/shuttle{dir = 8; icon_state = "shuttle_chair"},/obj/structure/closet/medical_wall{pixel_x = 32; pixel_y = 0},/obj/item/storage/firstaid/o2,/obj/item/storage/firstaid/regular,/turf/simulated/floor/tiled/techfloor,/area/space) "AQ" = (/obj/structure/bed/chair/shuttle{dir = 4; icon_state = "shuttle_chair"},/obj/machinery/light{dir = 8; icon_state = "tube1"},/obj/structure/closet/walllocker/emerglocker/west,/turf/simulated/floor/tiled/techfloor,/area/space) "AR" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/space) "AS" = (/obj/structure/bed/chair/shuttle{dir = 8; icon_state = "shuttle_chair"},/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/closet/walllocker/emerglocker/east,/turf/simulated/floor/tiled/techfloor,/area/space) @@ -1462,7 +1462,7 @@ "Cf" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; icon_state = "intact-scrubbers"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/space) "Cg" = (/obj/effect/floor_decal/borderfloorblack,/obj/effect/floor_decal/industrial/danger,/turf/simulated/floor/tiled,/area/cryogaia/station/explorer_prep) "Ch" = (/obj/effect/floor_decal/borderfloorblack,/obj/effect/floor_decal/industrial/danger,/obj/machinery/camera/network/exploration{c_tag = "Exploration Hangar Fore West"},/turf/simulated/floor/tiled,/area/cryogaia/station/explorer_prep) -"Ci" = (/obj/structure/bed/chair/comfy/blue{dir = 1; icon_state = "comfychair_preview"},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 28; pixel_y = 28},/obj/item/device/radio/intercom{broadcasting = 0; dir = 4; listening = 1; name = "Common Channel"; pixel_x = 21; pixel_y = 0},/obj/machinery/button/remote/blast_door{dir = 8; id = "shuttle blast"; name = "Shuttle Blast Doors"; pixel_x = 26; pixel_y = 39; req_access = list(67)},/turf/simulated/floor/tiled/techmaint,/area/space) +"Ci" = (/obj/structure/bed/chair/comfy/blue{dir = 1; icon_state = "comfychair_preview"},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 28; pixel_y = 28},/obj/item/radio/intercom{broadcasting = 0; dir = 4; listening = 1; name = "Common Channel"; pixel_x = 21; pixel_y = 0},/obj/machinery/button/remote/blast_door{dir = 8; id = "shuttle blast"; name = "Shuttle Blast Doors"; pixel_x = 26; pixel_y = 39; req_access = list(67)},/turf/simulated/floor/tiled/techmaint,/area/space) "Cj" = (/turf/simulated/floor/tiled,/area/cryogaia/station/hallway/primary/upper/east) "Ck" = (/obj/machinery/shipsensors{dir = 1},/obj/effect/floor_decal/industrial/danger{dir = 1},/turf/simulated/floor/reinforced,/area/cryogaia/station/explorer_prep) "Cl" = (/obj/effect/floor_decal/borderfloorblack,/obj/effect/floor_decal/industrial/danger,/turf/simulated/floor/tiled,/area/borealis2/outdoors/grounds/upper) @@ -1484,7 +1484,7 @@ "CB" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan,/turf/simulated/floor/tiled/techfloor/grid,/area/cryogaia/station/explorer_meeting) "CC" = (/obj/machinery/atmospherics/binary/pump{dir = 4},/obj/machinery/portable_atmospherics/powered/pump,/turf/simulated/floor/tiled/techfloor/grid,/area/cryogaia/station/explorer_meeting) "CD" = (/obj/effect/floor_decal/corner_oldtile/purple,/obj/effect/floor_decal/corner_oldtile/purple{dir = 4},/obj/machinery/camera/network/exploration{c_tag = "Exploration Entrance North"; dir = 8},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/space) -"CE" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/utility/full,/obj/item/clothing/head/pilot,/obj/item/clothing/head/pilot,/obj/item/weapon/storage/box/survival/space,/obj/item/weapon/storage/toolbox/emergency,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 10},/turf/simulated/floor/tiled/techfloor/grid,/area/cryogaia/station/explorer_meeting) +"CE" = (/obj/structure/table/rack,/obj/item/storage/belt/utility/full,/obj/item/clothing/head/pilot,/obj/item/clothing/head/pilot,/obj/item/storage/box/survival/space,/obj/item/storage/toolbox/emergency,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 10},/turf/simulated/floor/tiled/techfloor/grid,/area/cryogaia/station/explorer_meeting) "CF" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/effect/floor_decal/steeldecal/steel_decals_central5{dir = 8; icon_state = "steel_decals_central5"},/turf/simulated/floor/tiled/monotile,/area/space) "CG" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/cryogaia/station/hallway/primary/upper/east) "CH" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/techfloor/grid,/area/cryogaia/station/explorer_meeting) @@ -1507,7 +1507,7 @@ "CY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"},/obj/machinery/door/airlock/voidcraft/vertical,/turf/simulated/floor/tiled/techfloor,/area/cryogaia/station/explorer_meeting) "CZ" = (/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/plating/airless/carry,/area/space) "Da" = (/turf/simulated/floor/reinforced,/area/cryogaia/station/explorer_meeting) -"Db" = (/obj/structure/closet/secure_closet/medical_wall{name = "O- Blood Locker"; pixel_x = 32; pixel_y = 0; req_access = list(); req_one_access = list()},/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/tiled/techmaint,/area/space) +"Db" = (/obj/structure/closet/secure_closet/medical_wall{name = "O- Blood Locker"; pixel_x = 32; pixel_y = 0; req_access = list(); req_one_access = list()},/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OMinus,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/tiled/techmaint,/area/space) "Dc" = (/turf/simulated/wall/r_wall,/area/cryogaia/station/explorer_entrance) "Dd" = (/turf/space,/area/cryogaia/station/explorer_entrance) "De" = (/obj/structure/sign/department/bridge,/turf/simulated/wall/rshull,/area/borealis2/outdoors/grounds/upper) @@ -1536,8 +1536,8 @@ "DB" = (/obj/structure/handrail,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled/techmaint,/area/space) "DC" = (/obj/structure/handrail,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/techmaint,/area/space) "DD" = (/obj/structure/handrail,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled/techmaint,/area/space) -"DE" = (/obj/structure/filingcabinet/filingcabinet,/obj/item/device/radio/intercom{dir = 8; pixel_x = -24},/turf/simulated/floor/tiled,/area/shuttle/excursion) -"DF" = (/obj/effect/floor_decal/corner_oldtile/purple{dir = 1},/obj/effect/floor_decal/corner_oldtile/purple{dir = 8},/obj/machinery/power/apc{cell_type = /obj/item/weapon/cell/super; dir = 8; name = "west bump"; pixel_x = -28},/obj/structure/cable/green,/turf/simulated/floor/tiled,/area/space) +"DE" = (/obj/structure/filingcabinet/filingcabinet,/obj/item/radio/intercom{dir = 8; pixel_x = -24},/turf/simulated/floor/tiled,/area/shuttle/excursion) +"DF" = (/obj/effect/floor_decal/corner_oldtile/purple{dir = 1},/obj/effect/floor_decal/corner_oldtile/purple{dir = 8},/obj/machinery/power/apc{cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -28},/obj/structure/cable/green,/turf/simulated/floor/tiled,/area/space) "DG" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/space) "DH" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "expshuttle_door_Ro"; locked = 1},/obj/machinery/airlock_sensor/airlock_exterior/shuttle{dir = 10; frequency = 1380; id_tag = "expshuttle_exterior_sensor"; master_tag = "expshuttle_docker"; pixel_x = 4; pixel_y = 28},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/techfloor/grid,/area/cryogaia/station/excursion_dock) "DI" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"},/obj/effect/shuttle_landmark/premade/excursion/cryogaia,/obj/effect/overmap/visitable/ship/landable/excursion,/turf/simulated/floor/tiled/techfloor/grid,/area/cryogaia/station/excursion_dock) @@ -1547,7 +1547,7 @@ "DM" = (/obj/machinery/light/small/readylight{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/techmaint,/area/space) "DN" = (/obj/machinery/light/small/readylight{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5; icon_state = "intact-supply"},/turf/simulated/floor/tiled/techmaint,/area/space) "DO" = (/obj/structure/bed/chair/shuttle{dir = 8; icon_state = "shuttle_chair"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/techmaint,/area/space) -"DP" = (/obj/effect/floor_decal/corner_oldtile/purple{dir = 1},/obj/effect/floor_decal/corner_oldtile/purple{dir = 8},/obj/machinery/light{dir = 8},/obj/item/device/geiger/wall{dir = 4; pixel_x = -30},/turf/simulated/floor/tiled,/area/space) +"DP" = (/obj/effect/floor_decal/corner_oldtile/purple{dir = 1},/obj/effect/floor_decal/corner_oldtile/purple{dir = 8},/obj/machinery/light{dir = 8},/obj/item/geiger/wall{dir = 4; pixel_x = -30},/turf/simulated/floor/tiled,/area/space) "DQ" = (/obj/effect/floor_decal/corner_oldtile/purple,/obj/effect/floor_decal/corner_oldtile/purple{dir = 4},/obj/machinery/camera/network/exploration{c_tag = "Exploration Entrance South"; dir = 8},/obj/machinery/vending/cigarette{dir = 4; icon_state = "cigs"},/turf/simulated/floor/tiled,/area/space) "DR" = (/obj/structure/bed/chair/office/light{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/button/remote/blast_door{dir = 8; id = "shuttle blast"; name = "Shuttle Blast Doors"; pixel_x = 26; pixel_y = 9; req_access = list(67)},/turf/simulated/floor/tiled/dark,/area/cryogaia/station/explorer_meeting) "DS" = (/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/industrial/danger{dir = 4},/turf/simulated/floor/tiled,/area/shuttle/excursion) @@ -1562,8 +1562,8 @@ "Eb" = (/obj/effect/floor_decal/corner_oldtile/purple,/obj/effect/floor_decal/corner_oldtile/purple{dir = 4},/obj/structure/table/standard{name = "plastic table frame"},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/space) "Ec" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/disposalpipe/junction{dir = 2; icon_state = "pipe-j2"},/turf/simulated/floor/tiled,/area/cryogaia/station/hallway/primary/upper/east) "Ed" = (/obj/machinery/door/airlock/multi_tile/glass{dir = 2; id_tag = "explolobby"; name = "Exploration Entrance Room"; req_one_access = list(19,43,67,68,69)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/cryogaia/station/explorer_entrance) -"Ee" = (/obj/effect/floor_decal/corner_oldtile/purple{dir = 1},/obj/effect/floor_decal/corner_oldtile/purple{dir = 8},/obj/effect/floor_decal/corner_oldtile/purple,/obj/structure/table/rack/shelf,/obj/item/clothing/suit/storage/hooded/wintercoat/snowsuit/science{dir = 1},/obj/item/clothing/suit/storage/hooded/wintercoat/snowsuit/science{dir = 1},/obj/item/weapon/ice_pick,/obj/item/weapon/ice_pick,/obj/item/weapon/ice_pick,/turf/simulated/floor/tiled,/area/space) -"Ef" = (/obj/effect/floor_decal/corner_oldtile/purple{dir = 8},/obj/effect/floor_decal/corner_oldtile/purple,/obj/structure/table/rack/shelf,/obj/item/clothing/suit/storage/hooded/wintercoat/snowsuit/science{dir = 1},/obj/item/clothing/suit/storage/hooded/wintercoat/snowsuit/science{dir = 1},/obj/item/weapon/ice_pick,/turf/simulated/floor/tiled,/area/space) +"Ee" = (/obj/effect/floor_decal/corner_oldtile/purple{dir = 1},/obj/effect/floor_decal/corner_oldtile/purple{dir = 8},/obj/effect/floor_decal/corner_oldtile/purple,/obj/structure/table/rack/shelf,/obj/item/clothing/suit/storage/hooded/wintercoat/snowsuit/science{dir = 1},/obj/item/clothing/suit/storage/hooded/wintercoat/snowsuit/science{dir = 1},/obj/item/ice_pick,/obj/item/ice_pick,/obj/item/ice_pick,/turf/simulated/floor/tiled,/area/space) +"Ef" = (/obj/effect/floor_decal/corner_oldtile/purple{dir = 8},/obj/effect/floor_decal/corner_oldtile/purple,/obj/structure/table/rack/shelf,/obj/item/clothing/suit/storage/hooded/wintercoat/snowsuit/science{dir = 1},/obj/item/clothing/suit/storage/hooded/wintercoat/snowsuit/science{dir = 1},/obj/item/ice_pick,/turf/simulated/floor/tiled,/area/space) "Eg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/space) "Eh" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/tiled,/area/space) "Ei" = (/obj/effect/floor_decal/corner_oldtile/purple{dir = 8},/obj/effect/floor_decal/corner_oldtile/purple,/obj/effect/floor_decal/corner_oldtile/purple{dir = 4},/obj/structure/table/standard{name = "plastic table frame"},/turf/simulated/floor/tiled,/area/space) @@ -1585,8 +1585,8 @@ "Ey" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"},/turf/simulated/floor/tiled/techfloor,/area/cryogaia/station/excursion_dock) "Ez" = (/obj/machinery/door/airlock/multi_tile/glass{dir = 4; name = "Exploration Vessel Dock"; req_one_access = list(19,43,67,68,69)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/multi_tile,/turf/simulated/floor/tiled,/area/shuttle/excursion) "EA" = (/obj/machinery/atmospherics/unary/engine{dir = 1; icon_state = "nozzle"},/turf/simulated/shuttle/plating/airless/carry,/area/space) -"EB" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "expshuttle_docker_pump_out_internal"},/obj/machinery/oxygen_pump{pixel_y = -32},/obj/structure/handrail{dir = 1},/obj/item/device/geiger/wall{dir = 4; pixel_x = -30},/turf/simulated/floor/tiled/techfloor/grid,/area/shuttle/excursion) -"EC" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "expshuttle_vent"},/obj/structure/cable/cyan,/obj/structure/handrail{dir = 1},/obj/item/device/radio/intercom{broadcasting = 0; dir = 2; listening = 1; name = "Common Channel"; pixel_y = -21},/turf/simulated/floor/tiled/techfloor/grid,/area/shuttle/excursion) +"EB" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "expshuttle_docker_pump_out_internal"},/obj/machinery/oxygen_pump{pixel_y = -32},/obj/structure/handrail{dir = 1},/obj/item/geiger/wall{dir = 4; pixel_x = -30},/turf/simulated/floor/tiled/techfloor/grid,/area/shuttle/excursion) +"EC" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "expshuttle_vent"},/obj/structure/cable/cyan,/obj/structure/handrail{dir = 1},/obj/item/radio/intercom{broadcasting = 0; dir = 2; listening = 1; name = "Common Channel"; pixel_y = -21},/turf/simulated/floor/tiled/techfloor/grid,/area/shuttle/excursion) "ED" = (/obj/effect/floor_decal/borderfloorblack/corner{dir = 1; icon_state = "borderfloorcorner_black"},/obj/effect/floor_decal/industrial/danger/corner{dir = 8; icon_state = "dangercorner"},/turf/simulated/floor/tiled,/area/space) "EE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled/techfloor,/area/cryogaia/station/excursion_dock) "EF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/shuttle/excursion) @@ -1610,13 +1610,13 @@ "EX" = (/turf/simulated/wall,/area/cryogaia/station/excursion_dock) "EY" = (/turf/simulated/wall/r_wall,/area/shuttle/excursion) "EZ" = (/obj/machinery/suit_cycler/medical,/turf/simulated/floor/tiled/steel_grid,/area/cryogaia/station/excursion_dock) -"Fa" = (/obj/structure/table/rack/shelf,/obj/item/clothing/shoes/magboots,/obj/item/device/suit_cooling_unit,/obj/item/weapon/tank/oxygen,/obj/item/clothing/suit/space/void/medical,/obj/item/clothing/head/helmet/space/void/medical,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/steel_grid,/area/cryogaia/station/excursion_dock) -"Fb" = (/obj/structure/table/rack/shelf,/obj/item/clothing/shoes/magboots,/obj/item/device/suit_cooling_unit,/obj/item/weapon/tank/oxygen,/obj/item/clothing/suit/space/void/medical,/obj/item/clothing/head/helmet/space/void/medical,/turf/simulated/floor/tiled/steel_grid,/area/cryogaia/station/excursion_dock) +"Fa" = (/obj/structure/table/rack/shelf,/obj/item/clothing/shoes/magboots,/obj/item/suit_cooling_unit,/obj/item/tank/oxygen,/obj/item/clothing/suit/space/void/medical,/obj/item/clothing/head/helmet/space/void/medical,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/steel_grid,/area/cryogaia/station/excursion_dock) +"Fb" = (/obj/structure/table/rack/shelf,/obj/item/clothing/shoes/magboots,/obj/item/suit_cooling_unit,/obj/item/tank/oxygen,/obj/item/clothing/suit/space/void/medical,/obj/item/clothing/head/helmet/space/void/medical,/turf/simulated/floor/tiled/steel_grid,/area/cryogaia/station/excursion_dock) "Fc" = (/turf/simulated/wall,/area/shuttle/excursion) "Fd" = (/turf/simulated/wall/rshull,/area/shuttle/excursion) "Fe" = (/obj/machinery/suit_cycler/pilot,/turf/simulated/floor/tiled/steel_grid,/area/shuttle/excursion) -"Ff" = (/obj/structure/table/rack/shelf,/obj/item/weapon/tank/oxygen,/obj/item/device/suit_cooling_unit,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/pilot,/obj/item/clothing/head/helmet/space/void/pilot,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/steel_grid,/area/shuttle/excursion) -"Fg" = (/obj/structure/table/rack/shelf,/obj/item/weapon/tank/oxygen,/obj/item/device/suit_cooling_unit,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/pilot/alt,/obj/item/clothing/head/helmet/space/void/pilot/alt,/turf/simulated/floor/tiled/steel_grid,/area/shuttle/excursion) +"Ff" = (/obj/structure/table/rack/shelf,/obj/item/tank/oxygen,/obj/item/suit_cooling_unit,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/pilot,/obj/item/clothing/head/helmet/space/void/pilot,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/steel_grid,/area/shuttle/excursion) +"Fg" = (/obj/structure/table/rack/shelf,/obj/item/tank/oxygen,/obj/item/suit_cooling_unit,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/pilot/alt,/obj/item/clothing/head/helmet/space/void/pilot/alt,/turf/simulated/floor/tiled/steel_grid,/area/shuttle/excursion) "Fh" = (/obj/structure/window/reinforced{health = 1e+006},/turf/simulated/floor/tiled/steel_grid,/area/cryogaia/station/excursion_dock) "Fi" = (/turf/simulated/floor/tiled/techmaint,/area/shuttle/excursion) "Fj" = (/obj/structure/window/reinforced{health = 1e+006},/turf/simulated/floor/tiled/steel_grid,/area/shuttle/excursion) @@ -1650,7 +1650,7 @@ "FL" = (/obj/machinery/camera/network/exploration{c_tag = "Exploration Equipment North"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled,/area/cryogaia/station/excursion_dock) "FM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; icon_state = "intact-scrubbers"},/obj/machinery/light{icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled,/area/shuttle/excursion) "FN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; icon_state = "intact-scrubbers"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/shuttle/excursion) -"FO" = (/obj/structure/table/rack/shelf,/obj/item/device/radio{pixel_x = -4; pixel_y = -4},/obj/item/device/radio{pixel_x = 5; pixel_y = -4},/obj/item/device/radio{pixel_x = -4; pixel_y = 4},/obj/item/device/radio{pixel_x = 5; pixel_y = 4},/turf/simulated/floor/tiled/steel_grid,/area/cryogaia/station/excursion_dock) +"FO" = (/obj/structure/table/rack/shelf,/obj/item/radio{pixel_x = -4; pixel_y = -4},/obj/item/radio{pixel_x = 5; pixel_y = -4},/obj/item/radio{pixel_x = -4; pixel_y = 4},/obj/item/radio{pixel_x = 5; pixel_y = 4},/turf/simulated/floor/tiled/steel_grid,/area/cryogaia/station/excursion_dock) "FP" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/voidcraft,/turf/simulated/floor/tiled/steel_ridged,/area/shuttle/excursion) "FQ" = (/obj/machinery/door/airlock/multi_tile/glass{dir = 2; name = "Exploration Prep Room"; req_one_access = list(43,67,68,69)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; icon_state = "intact-scrubbers"},/obj/machinery/door/firedoor/multi_tile{dir = 2},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/shuttle/excursion) "FR" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled,/area/shuttle/excursion) @@ -1662,7 +1662,7 @@ "FX" = (/obj/effect/floor_decal/steeldecal/steel_decals6{dir = 6},/obj/structure/closet,/obj/item/clothing/suit/storage/explorer/engineering,/obj/item/clothing/under/explorer/utility/engineering,/obj/item/clothing/under/explorer/utility/engineering,/obj/item/clothing/shoes/boots/winter/explorer,/obj/item/clothing/shoes/boots/winter/explorer,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled,/area/shuttle/excursion) "FY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{icon_state = "intact-scrubbers"; dir = 5},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/tiled,/area/shuttle/excursion) "FZ" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/research{name = "Pathfinder's Office"; req_access = newlist(); req_one_access = list(69)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/glass,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/shuttle/excursion) -"Ga" = (/obj/structure/table/rack/shelf,/obj/item/weapon/storage/backpack/parachute{pixel_x = -4; pixel_y = 4},/obj/item/weapon/storage/backpack/parachute{pixel_x = 5; pixel_y = 4},/obj/item/weapon/storage/backpack/parachute{pixel_x = -4; pixel_y = -6},/obj/item/weapon/storage/backpack/parachute{pixel_x = 5; pixel_y = -6},/turf/simulated/floor/tiled/steel_grid,/area/cryogaia/station/excursion_dock) +"Ga" = (/obj/structure/table/rack/shelf,/obj/item/storage/backpack/parachute{pixel_x = -4; pixel_y = 4},/obj/item/storage/backpack/parachute{pixel_x = 5; pixel_y = 4},/obj/item/storage/backpack/parachute{pixel_x = -4; pixel_y = -6},/obj/item/storage/backpack/parachute{pixel_x = 5; pixel_y = -6},/turf/simulated/floor/tiled/steel_grid,/area/cryogaia/station/excursion_dock) "Gb" = (/obj/structure/disposalpipe/trunk,/obj/machinery/disposal/deliveryChute{dir = 1},/turf/simulated/floor/tiled/techfloor/grid,/area/cryogaia/station/excursion_dock) "Gc" = (/turf/space,/area/cryogaia/station/hallway/primary/upper/east) "Gd" = (/obj/structure/closet/secure_closet/explorer,/turf/simulated/floor/tiled/steel_grid,/area/shuttle/excursion) @@ -1672,8 +1672,8 @@ "Gh" = (/obj/structure/closet,/obj/item/clothing/suit/storage/explorer/security,/obj/item/clothing/suit/storage/explorer/security,/obj/item/clothing/under/explorer/utility/security,/obj/item/clothing/under/explorer/utility/security,/obj/item/clothing/shoes/boots/winter/explorer,/obj/item/clothing/shoes/boots/winter/explorer,/turf/simulated/floor/tiled,/area/shuttle/excursion) "Gi" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 6},/turf/simulated/floor/reinforced,/area/shuttle/excursion) "Gj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor/tiled/techfloor/grid,/area/cryogaia/station/excursion_dock) -"Gk" = (/obj/structure/table/rack/shelf,/obj/item/weapon/tank/oxygen,/obj/item/device/suit_cooling_unit,/obj/effect/floor_decal/steeldecal/steel_decals9{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals9,/obj/effect/floor_decal/steeldecal/steel_decals9{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals9{dir = 4},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/exploration,/obj/item/clothing/head/helmet/space/void/exploration,/turf/simulated/floor/tiled/steel_grid,/area/shuttle/excursion) -"Gl" = (/obj/structure/table/rack/shelf,/obj/item/weapon/tank/oxygen,/obj/effect/floor_decal/steeldecal/steel_decals9{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals9,/obj/effect/floor_decal/steeldecal/steel_decals9{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals9{dir = 4},/obj/item/device/suit_cooling_unit,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/exploration,/obj/item/clothing/head/helmet/space/void/exploration,/turf/simulated/floor/tiled/steel_grid,/area/shuttle/excursion) +"Gk" = (/obj/structure/table/rack/shelf,/obj/item/tank/oxygen,/obj/item/suit_cooling_unit,/obj/effect/floor_decal/steeldecal/steel_decals9{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals9,/obj/effect/floor_decal/steeldecal/steel_decals9{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals9{dir = 4},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/exploration,/obj/item/clothing/head/helmet/space/void/exploration,/turf/simulated/floor/tiled/steel_grid,/area/shuttle/excursion) +"Gl" = (/obj/structure/table/rack/shelf,/obj/item/tank/oxygen,/obj/effect/floor_decal/steeldecal/steel_decals9{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals9,/obj/effect/floor_decal/steeldecal/steel_decals9{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals9{dir = 4},/obj/item/suit_cooling_unit,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/exploration,/obj/item/clothing/head/helmet/space/void/exploration,/turf/simulated/floor/tiled/steel_grid,/area/shuttle/excursion) "Gm" = (/obj/effect/floor_decal/steeldecal/steel_decals9{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals9,/obj/effect/floor_decal/steeldecal/steel_decals9{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals9{dir = 8},/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/tiled/steel_grid,/area/shuttle/excursion) "Gn" = (/obj/effect/floor_decal/steeldecal/steel_decals9{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals9,/obj/effect/floor_decal/steeldecal/steel_decals9{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals9{dir = 8},/obj/machinery/suit_cycler/exploration,/turf/simulated/floor/tiled/steel_grid,/area/shuttle/excursion) "Go" = (/turf/simulated/wall,/area/maintenance/auxsolarport) @@ -1692,14 +1692,14 @@ "GB" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/shuttle/excursion) "GC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/cryogaia/station/excursion_dock) "GD" = (/obj/structure/table/woodentable,/turf/simulated/floor/tiled,/area/cryogaia/station/excursion_dock) -"GE" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/turf/simulated/floor/tiled,/area/cryogaia/station/excursion_dock) -"GF" = (/obj/structure/table/woodentable,/obj/item/weapon/pen,/turf/simulated/floor/tiled,/area/cryogaia/station/excursion_dock) -"GG" = (/obj/structure/table/woodentable,/obj/item/weapon/folder/blue,/turf/simulated/floor/tiled,/area/cryogaia/station/excursion_dock) +"GE" = (/obj/structure/table/woodentable,/obj/item/paper_bin{pixel_x = 1; pixel_y = 9},/turf/simulated/floor/tiled,/area/cryogaia/station/excursion_dock) +"GF" = (/obj/structure/table/woodentable,/obj/item/pen,/turf/simulated/floor/tiled,/area/cryogaia/station/excursion_dock) +"GG" = (/obj/structure/table/woodentable,/obj/item/folder/blue,/turf/simulated/floor/tiled,/area/cryogaia/station/excursion_dock) "GH" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/cryogaia/station/excursion_dock) "GI" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/disposalpipe/junction,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/cryogaia/station/excursion_dock) "GJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/cryogaia/station/excursion_dock) -"GK" = (/obj/structure/table/woodentable,/obj/item/weapon/folder/yellow,/turf/simulated/floor/tiled,/area/cryogaia/station/excursion_dock) -"GL" = (/obj/structure/table/woodentable,/obj/item/device/universal_translator,/turf/simulated/floor/tiled,/area/cryogaia/station/excursion_dock) +"GK" = (/obj/structure/table/woodentable,/obj/item/folder/yellow,/turf/simulated/floor/tiled,/area/cryogaia/station/excursion_dock) +"GL" = (/obj/structure/table/woodentable,/obj/item/universal_translator,/turf/simulated/floor/tiled,/area/cryogaia/station/excursion_dock) "GM" = (/obj/effect/floor_decal/corner_oldtile/gray{dir = 4},/obj/effect/floor_decal/corner_oldtile/gray{dir = 1},/turf/simulated/floor/tiled,/area/shuttle/excursion) "GN" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/shuttle/excursion) "GO" = (/turf/simulated/wall,/area/maintenance/upper/maintroom2) @@ -1711,13 +1711,13 @@ "GU" = (/obj/structure/noticeboard/exploration{pixel_y = 30},/obj/effect/floor_decal/corner_oldtile/gray{dir = 4},/obj/effect/floor_decal/corner_oldtile/gray{dir = 1},/turf/simulated/floor/tiled,/area/shuttle/excursion) "GV" = (/obj/machinery/light,/obj/structure/stasis_cage,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; icon_state = "intact-scrubbers"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/corner_oldtile/gray,/obj/effect/floor_decal/corner_oldtile/gray{dir = 8},/turf/simulated/floor/tiled,/area/space) "GW" = (/obj/machinery/camera/network/exploration{c_tag = "Exploration Meeting Room North"},/obj/effect/floor_decal/corner_oldtile/gray{dir = 4},/obj/effect/floor_decal/corner_oldtile/gray{dir = 1},/turf/simulated/floor/tiled,/area/shuttle/excursion) -"GX" = (/obj/machinery/power/apc{cell_type = /obj/item/weapon/cell/super; dir = 8; name = "west bump"; pixel_x = -28},/obj/structure/cable/green,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/structure/flora/pottedplant/stoutbush,/turf/simulated/floor/tiled,/area/shuttle/excursion) +"GX" = (/obj/machinery/power/apc{cell_type = /obj/item/cell/super; dir = 8; name = "west bump"; pixel_x = -28},/obj/structure/cable/green,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/structure/flora/pottedplant/stoutbush,/turf/simulated/floor/tiled,/area/shuttle/excursion) "GY" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/camera/network/exploration{c_tag = "Pathfinders Office"; dir = 1},/turf/simulated/floor/tiled,/area/shuttle/excursion) "GZ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/tiled,/area/shuttle/excursion) -"Ha" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/cryogaia/station/excursion_dock) +"Ha" = (/obj/structure/table/woodentable,/obj/item/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/pen,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/cryogaia/station/excursion_dock) "Hb" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall/rshull,/area/cryogaia/station/excursion_dock) -"Hc" = (/obj/structure/table/woodentable,/obj/machinery/button/windowtint{id = "pathfinder_office"; pixel_x = 26; pixel_y = -26},/obj/item/device/binoculars,/turf/simulated/floor/tiled,/area/cryogaia/station/excursion_dock) -"Hd" = (/obj/item/device/bluespaceradio/cryogaia_prelinked,/obj/structure/table/rack/shelf,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/steel_grid,/area/cryogaia/station/excursion_dock) +"Hc" = (/obj/structure/table/woodentable,/obj/machinery/button/windowtint{id = "pathfinder_office"; pixel_x = 26; pixel_y = -26},/obj/item/binoculars,/turf/simulated/floor/tiled,/area/cryogaia/station/excursion_dock) +"Hd" = (/obj/item/bluespaceradio/cryogaia_prelinked,/obj/structure/table/rack/shelf,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/steel_grid,/area/cryogaia/station/excursion_dock) "He" = (/obj/structure/stasis_cage,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; icon_state = "intact-scrubbers"},/obj/effect/floor_decal/corner_oldtile/gray,/obj/effect/floor_decal/corner_oldtile/gray{dir = 8},/turf/simulated/floor/tiled,/area/space) "Hf" = (/obj/structure/disposalpipe/junction{icon_state = "pipe-j1"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; icon_state = "intact-scrubbers"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/cryogaia/station/excursion_dock) "Hg" = (/obj/machinery/newscaster{pixel_y = 32},/obj/effect/floor_decal/corner_oldtile/gray{dir = 4},/obj/effect/floor_decal/corner_oldtile/gray{dir = 1},/turf/simulated/floor/tiled,/area/shuttle/excursion) @@ -1745,7 +1745,7 @@ "HC" = (/turf/simulated/floor/tiled,/area/cryogaia/station/hallway/primary/upper/south) "HD" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/cable{icon_state = "2-8"},/turf/simulated/floor/tiled,/area/maintenance/upper/maintroom1) "HE" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/tiled,/area/cryogaia/station/hallway/primary/upper/south) -"HF" = (/obj/structure/table/rack/shelf,/obj/item/device/radio{pixel_x = -4; pixel_y = -4},/obj/item/device/radio{pixel_x = 5; pixel_y = -4},/obj/item/device/radio{pixel_x = -4; pixel_y = 4},/obj/item/device/radio{pixel_x = 5; pixel_y = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled/steel_grid,/area/cryogaia/station/excursion_dock) +"HF" = (/obj/structure/table/rack/shelf,/obj/item/radio{pixel_x = -4; pixel_y = -4},/obj/item/radio{pixel_x = 5; pixel_y = -4},/obj/item/radio{pixel_x = -4; pixel_y = 4},/obj/item/radio{pixel_x = 5; pixel_y = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled/steel_grid,/area/cryogaia/station/excursion_dock) "HG" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/cryogaia/station/hallway/primary/upper/south) "HH" = (/obj/machinery/door/firedoor/glass/hidden/steel,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/cryogaia/station/hallway/primary/upper/south) "HI" = (/obj/machinery/door/firedoor/glass/hidden/steel{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5; icon_state = "intact-scrubbers"},/turf/simulated/floor/tiled,/area/cryogaia/station/hallway/primary/upper/south) @@ -1770,13 +1770,13 @@ "Ib" = (/obj/machinery/conveyor_switch/oneway{id = "shuttle_outbound"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/yellow,/turf/simulated/floor/tiled/techfloor/grid,/area/cryogaia/station/excursion_dock) "Ic" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; icon_state = "intact-scrubbers"},/obj/effect/floor_decal/corner_oldtile/gray,/obj/effect/floor_decal/corner_oldtile/gray{dir = 8},/turf/simulated/floor/tiled,/area/space) "Id" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/effect/floor_decal/corner_oldtile/gray,/obj/effect/floor_decal/corner_oldtile/gray{dir = 8},/turf/simulated/floor/tiled,/area/space) -"Ie" = (/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/effect/floor_decal/corner_steel_grid{dir = 10},/obj/machinery/light{dir = 4},/obj/item/device/radio/intercom{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled/steel_grid,/area/shuttle/excursion) +"Ie" = (/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/effect/floor_decal/corner_steel_grid{dir = 10},/obj/machinery/light{dir = 4},/obj/item/radio/intercom{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled/steel_grid,/area/shuttle/excursion) "If" = (/obj/effect/floor_decal/corner_oldtile/gray{dir = 4},/obj/effect/floor_decal/corner_oldtile/gray,/turf/simulated/floor/tiled,/area/shuttle/excursion) "Ig" = (/obj/structure/grille,/obj/structure/window/reinforced/polarized{dir = 1; id = "hop_office"},/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/window/reinforced/polarized/full{id = "pathfinder_office"},/turf/simulated/floor/plating,/area/shuttle/excursion) "Ih" = (/obj/structure/grille,/obj/structure/window/reinforced/polarized{dir = 1; id = "hop_office"},/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/window/reinforced/polarized/full{id = "pathfinder_office"},/turf/simulated/floor/plating,/area/cryogaia/station/excursion_dock) "Ii" = (/obj/structure/grille,/obj/structure/window/reinforced/polarized{dir = 1; id = "hop_office"},/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/window/reinforced/polarized/full{id = "pathfinder_office"},/turf/simulated/floor/plating,/area/cryogaia/station/excursion_dock) "Ij" = (/obj/machinery/door/airlock/research{name = "Exploration Storage Room"; req_one_access = list(43,67,68,69)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/steel_grid,/area/cryogaia/station/excursion_dock) -"Ik" = (/obj/structure/table/rack/shelf,/obj/item/weapon/tank/oxygen,/obj/item/device/suit_cooling_unit,/obj/effect/floor_decal/steeldecal/steel_decals9,/obj/effect/floor_decal/steeldecal/steel_decals9{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals9{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals9{dir = 1},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/exploration,/obj/item/clothing/head/helmet/space/void/exploration,/turf/simulated/floor/tiled/monotile,/area/cryogaia/station/excursion_dock) +"Ik" = (/obj/structure/table/rack/shelf,/obj/item/tank/oxygen,/obj/item/suit_cooling_unit,/obj/effect/floor_decal/steeldecal/steel_decals9,/obj/effect/floor_decal/steeldecal/steel_decals9{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals9{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals9{dir = 1},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/exploration,/obj/item/clothing/head/helmet/space/void/exploration,/turf/simulated/floor/tiled/monotile,/area/cryogaia/station/excursion_dock) "Il" = (/obj/effect/floor_decal/corner_oldtile/gray{dir = 4},/turf/simulated/floor/tiled,/area/maintenance/upper/maintroom1) "Im" = (/obj/effect/floor_decal/corner_oldtile/gray{dir = 1},/obj/effect/floor_decal/corner_oldtile/gray{dir = 8},/turf/simulated/floor/tiled,/area/cryogaia/station/excursion_dock) "In" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable,/obj/effect/floor_decal/corner_oldtile/gray{dir = 4},/obj/effect/floor_decal/corner_oldtile/gray,/turf/simulated/floor/tiled,/area/cryogaia/station/excursion_dock) @@ -1785,7 +1785,7 @@ "Iq" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor/tiled/techmaint,/area/space) "Ir" = (/obj/machinery/camera/network/mining,/turf/simulated/floor/tiled/techmaint,/area/space) "Is" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/techmaint,/area/space) -"It" = (/obj/structure/table/rack/shelf,/obj/item/device/gps/explorer{pixel_x = -6; pixel_y = -4},/obj/item/device/gps/explorer{pixel_x = 5; pixel_y = -4},/obj/item/stack/marker_beacon/thirty{pixel_x = -4; pixel_y = 4},/obj/item/stack/marker_beacon/thirty{pixel_x = 5; pixel_y = 4},/turf/simulated/floor/tiled/steel_grid,/area/cryogaia/station/excursion_dock) +"It" = (/obj/structure/table/rack/shelf,/obj/item/gps/explorer{pixel_x = -6; pixel_y = -4},/obj/item/gps/explorer{pixel_x = 5; pixel_y = -4},/obj/item/stack/marker_beacon/thirty{pixel_x = -4; pixel_y = 4},/obj/item/stack/marker_beacon/thirty{pixel_x = 5; pixel_y = 4},/turf/simulated/floor/tiled/steel_grid,/area/cryogaia/station/excursion_dock) "Iu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/steel_grid,/area/cryogaia/station/excursion_dock) "Iv" = (/obj/machinery/door/airlock/multi_tile/glass{name = "Volunteer Storage"; req_one_access = list(43,67,68,69)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/multi_tile,/turf/simulated/floor/tiled,/area/shuttle/excursion) "Iw" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/shuttle/excursion) @@ -1800,7 +1800,7 @@ "IF" = (/obj/effect/floor_decal/borderfloorblack/corner{dir = 8; icon_state = "borderfloorcorner_black"},/obj/effect/floor_decal/industrial/danger/corner{dir = 1; icon_state = "dangercorner"},/turf/simulated/floor/tiled/techmaint,/area/space) "IG" = (/obj/machinery/door/blast/regular,/turf/simulated/floor/tiled/techmaint,/area/space) "IH" = (/turf/simulated/floor/tiled/steel_grid,/area/cryogaia/station/excursion_dock) -"II" = (/obj/item/device/radio/intercom{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/corner_oldtile/gray{dir = 4},/obj/effect/floor_decal/corner_oldtile/gray,/turf/simulated/floor/tiled,/area/cryogaia/station/excursion_dock) +"II" = (/obj/item/radio/intercom{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/corner_oldtile/gray{dir = 4},/obj/effect/floor_decal/corner_oldtile/gray,/turf/simulated/floor/tiled,/area/cryogaia/station/excursion_dock) "IJ" = (/obj/machinery/mineral/equipment_vendor/survey,/obj/effect/floor_decal/corner_oldtile/gray,/obj/effect/floor_decal/corner_oldtile/gray{dir = 8},/obj/effect/floor_decal/corner_oldtile/gray{dir = 1},/turf/simulated/floor/tiled,/area/maintenance/upper/maintroom2) "IK" = (/obj/machinery/vending/snack{dir = 1; icon_state = "snack"},/obj/effect/floor_decal/corner_oldtile/gray,/obj/effect/floor_decal/corner_oldtile/gray{dir = 8},/turf/simulated/floor/tiled,/area/maintenance/upper/maintroom2) "IL" = (/obj/machinery/light{icon_state = "tube1"; pixel_x = 0},/obj/machinery/vending/cola{dir = 1; icon_state = "Soda_Machine"},/obj/effect/floor_decal/corner_oldtile/gray,/obj/effect/floor_decal/corner_oldtile/gray{dir = 8},/turf/simulated/floor/tiled,/area/maintenance/upper/maintroom2) @@ -1822,7 +1822,7 @@ "Jb" = (/obj/structure/closet/emcloset,/turf/simulated/shuttle/floor/yellow,/area/space) "Jc" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/space) "Jd" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/cryogaia/station/excursion_dock) -"Je" = (/obj/structure/table/woodentable,/obj/item/device/camera,/obj/effect/floor_decal/corner_oldtile/gray,/obj/effect/floor_decal/corner_oldtile/gray{dir = 8},/turf/simulated/floor/tiled,/area/maintenance/upper/maintroom2) +"Je" = (/obj/structure/table/woodentable,/obj/item/camera,/obj/effect/floor_decal/corner_oldtile/gray,/obj/effect/floor_decal/corner_oldtile/gray{dir = 8},/turf/simulated/floor/tiled,/area/maintenance/upper/maintroom2) "Jf" = (/obj/structure/ore_box,/turf/simulated/shuttle/floor/yellow,/area/space) "Jg" = (/turf/simulated/shuttle/floor/yellow,/area/space) "Jh" = (/obj/structure/bed/chair/shuttle{dir = 4},/turf/simulated/shuttle/floor/yellow,/area/space) @@ -1864,12 +1864,12 @@ "JR" = (/turf/simulated/floor/tiled,/area/maintenance/upper/maintroom1) "JS" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/maintenance/upper/maintroom1) "JT" = (/obj/machinery/computer/roguezones{dir = 2},/obj/effect/floor_decal/corner/brown/full{dir = 8},/turf/simulated/floor/tiled,/area/space) -"JU" = (/obj/effect/floor_decal/corner/brown{dir = 5},/obj/structure/table/steel,/obj/item/weapon/paper/rogueminer,/turf/simulated/floor/tiled,/area/space) -"JV" = (/obj/effect/floor_decal/corner/brown{dir = 5},/obj/structure/closet/crate/centauri{name = "Liquid Rations"},/obj/item/weapon/reagent_containers/food/snacks/liquidfood,/obj/item/weapon/reagent_containers/food/snacks/liquidfood,/obj/item/weapon/reagent_containers/food/snacks/liquidfood,/obj/item/weapon/reagent_containers/food/snacks/liquidfood,/obj/item/weapon/reagent_containers/food/snacks/liquidprotein,/obj/item/weapon/reagent_containers/food/snacks/liquidprotein,/obj/item/weapon/reagent_containers/food/snacks/liquidprotein,/obj/item/weapon/reagent_containers/food/snacks/liquidprotein,/turf/simulated/floor/tiled,/area/space) +"JU" = (/obj/effect/floor_decal/corner/brown{dir = 5},/obj/structure/table/steel,/obj/item/paper/rogueminer,/turf/simulated/floor/tiled,/area/space) +"JV" = (/obj/effect/floor_decal/corner/brown{dir = 5},/obj/structure/closet/crate/centauri{name = "Liquid Rations"},/obj/item/reagent_containers/food/snacks/liquidfood,/obj/item/reagent_containers/food/snacks/liquidfood,/obj/item/reagent_containers/food/snacks/liquidfood,/obj/item/reagent_containers/food/snacks/liquidfood,/obj/item/reagent_containers/food/snacks/liquidprotein,/obj/item/reagent_containers/food/snacks/liquidprotein,/obj/item/reagent_containers/food/snacks/liquidprotein,/obj/item/reagent_containers/food/snacks/liquidprotein,/turf/simulated/floor/tiled,/area/space) "JW" = (/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_x = 0; pixel_y = 28},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/corner/brown{dir = 5},/obj/effect/floor_decal/borderfloorblack/corner{dir = 4; icon_state = "borderfloorcorner_black"},/obj/effect/floor_decal/industrial/danger/corner{dir = 4; icon_state = "dangercorner"},/turf/simulated/floor/tiled,/area/space) "JX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloorblack{dir = 1},/obj/effect/floor_decal/industrial/danger{dir = 1},/turf/simulated/floor/tiled,/area/space) "JY" = (/obj/effect/floor_decal/corner/brown{dir = 5},/obj/machinery/light{dir = 1},/obj/machinery/suit_cycler/mining,/obj/effect/floor_decal/borderfloorblack/corner{dir = 1; icon_state = "borderfloorcorner_black"},/obj/effect/floor_decal/industrial/danger/corner{dir = 8; icon_state = "dangercorner"},/turf/simulated/floor/tiled,/area/space) -"JZ" = (/obj/effect/floor_decal/corner/brown{dir = 5},/obj/structure/table/rack,/obj/item/clothing/suit/space/void/mining,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/mining,/obj/item/weapon/mining_scanner,/turf/simulated/floor/tiled,/area/space) +"JZ" = (/obj/effect/floor_decal/corner/brown{dir = 5},/obj/structure/table/rack,/obj/item/clothing/suit/space/void/mining,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/mining,/obj/item/mining_scanner,/turf/simulated/floor/tiled,/area/space) "Ka" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/corner/brown/full{dir = 1},/obj/machinery/mineral/equipment_vendor,/turf/simulated/floor/tiled,/area/space) "Kb" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Field Medic"},/turf/simulated/floor/tiled,/area/maintenance/upper/maintroom2) "Kc" = (/obj/machinery/light{dir = 1},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/cryogaia/station/hallway/primary/upper/south) @@ -1883,13 +1883,13 @@ "Kk" = (/obj/effect/floor_decal/corner/brown{dir = 6},/turf/simulated/floor/tiled,/area/space) "Kl" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/cryogaia/station/hallway/primary/upper/south) "Km" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/table/steel,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/tech_supply,/obj/item/stack/cable_coil/random,/turf/simulated/floor/tiled/techmaint,/area/shuttle/excursion) -"Kn" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/structure/table/steel,/obj/random/maintenance/engineering,/obj/item/clothing/glasses/welding,/obj/item/weapon/weldingtool,/turf/simulated/floor/tiled/techmaint,/area/shuttle/excursion) +"Kn" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/structure/table/steel,/obj/random/maintenance/engineering,/obj/item/clothing/glasses/welding,/obj/item/weldingtool,/turf/simulated/floor/tiled/techmaint,/area/shuttle/excursion) "Ko" = (/obj/effect/floor_decal/corner/brown{dir = 9},/obj/machinery/computer/shuttle_control/belter{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/tiled,/area/space) "Kp" = (/obj/structure/railing,/turf/simulated/floor/tiled,/area/space) -"Kq" = (/obj/structure/table/steel,/obj/item/device/suit_cooling_unit,/obj/item/device/suit_cooling_unit,/obj/effect/floor_decal/corner/brown{dir = 6},/turf/simulated/floor/tiled,/area/space) +"Kq" = (/obj/structure/table/steel,/obj/item/suit_cooling_unit,/obj/item/suit_cooling_unit,/obj/effect/floor_decal/corner/brown{dir = 6},/turf/simulated/floor/tiled,/area/space) "Kr" = (/obj/machinery/camera/network/exploration{c_tag = "Exploration Meeting Room South"; dir = 1},/obj/structure/table/woodentable,/obj/machinery/photocopier/faxmachine{department = "Exploration Briefing Room"},/obj/effect/floor_decal/corner_oldtile/gray,/obj/effect/floor_decal/corner_oldtile/gray{dir = 8},/turf/simulated/floor/tiled,/area/maintenance/upper/maintroom2) "Ks" = (/obj/machinery/cell_charger,/obj/structure/table/steel,/obj/random/powercell,/obj/item/stack/material/tritium{amount = 5},/obj/structure/cable/green{icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/yellow,/turf/simulated/floor/tiled/techfloor/grid,/area/shuttle/excursion) -"Kt" = (/obj/effect/floor_decal/corner/brown{dir = 9},/obj/machinery/power/apc{cell_type = /obj/item/weapon/cell/apc; dir = 8; name = "west bump"; pixel_x = -28},/obj/structure/cable/green{icon_state = "0-4"},/turf/simulated/floor/tiled,/area/space) +"Kt" = (/obj/effect/floor_decal/corner/brown{dir = 9},/obj/machinery/power/apc{cell_type = /obj/item/cell/apc; dir = 8; name = "west bump"; pixel_x = -28},/obj/structure/cable/green{icon_state = "0-4"},/turf/simulated/floor/tiled,/area/space) "Ku" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/space) "Kv" = (/obj/structure/railing{dir = 4; icon_state = "railing0"},/turf/simulated/floor/tiled,/area/space) "Kw" = (/obj/structure/dispenser/oxygen,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/corner/brown{dir = 6},/turf/simulated/floor/tiled,/area/space) @@ -1899,7 +1899,7 @@ "KA" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/space) "KB" = (/obj/structure/railing{dir = 1; icon_state = "railing0"},/turf/simulated/floor/tiled,/area/space) "KC" = (/obj/effect/landmark/start{name = "Shaft Miner"},/turf/simulated/floor/tiled,/area/space) -"KD" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/item/device/radio/intercom{broadcasting = 0; dir = 4; listening = 1; name = "Common Channel"; pixel_x = 21; pixel_y = 0},/obj/effect/floor_decal/corner/brown{dir = 6},/turf/simulated/floor/tiled,/area/space) +"KD" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/item/radio/intercom{broadcasting = 0; dir = 4; listening = 1; name = "Common Channel"; pixel_x = 21; pixel_y = 0},/obj/effect/floor_decal/corner/brown{dir = 6},/turf/simulated/floor/tiled,/area/space) "KE" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5; icon_state = "intact-supply"},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/space) "KF" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 28},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled,/area/cryogaia/station/hallway/primary/upper/south) "KG" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/cryogaia/station/hallway/primary/upper/south) @@ -1909,7 +1909,7 @@ "KK" = (/obj/effect/floor_decal/corner/brown{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; icon_state = "intact-scrubbers"},/turf/simulated/floor/tiled,/area/space) "KL" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/space) "KM" = (/obj/effect/floor_decal/corner/brown,/turf/simulated/floor/tiled,/area/space) -"KN" = (/obj/item/device/radio/intercom{broadcasting = 0; dir = 2; listening = 1; name = "Common Channel"; pixel_y = -21},/obj/effect/floor_decal/corner/brown{dir = 10},/turf/simulated/floor/tiled,/area/space) +"KN" = (/obj/item/radio/intercom{broadcasting = 0; dir = 2; listening = 1; name = "Common Channel"; pixel_y = -21},/obj/effect/floor_decal/corner/brown{dir = 10},/turf/simulated/floor/tiled,/area/space) "KO" = (/obj/effect/floor_decal/corner/brown{dir = 10},/turf/simulated/floor/tiled,/area/space) "KP" = (/obj/effect/floor_decal/corner/brown/full{dir = 4},/turf/simulated/floor/tiled,/area/space) "KQ" = (/obj/structure/sign/mining,/turf/simulated/wall,/area/space) @@ -1937,7 +1937,7 @@ "Lm" = (/obj/structure/closet/secure_closet/personal/volunteer,/obj/machinery/light{dir = 8; icon_state = "tube1"},/turf/simulated/floor/tiled,/area/shuttle/excursion) "Ln" = (/obj/structure/closet/secure_closet/personal/volunteer,/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/tiled,/area/cryogaia/station/excursion_dock) "Lo" = (/obj/machinery/button/remote/blast_door{dir = 4; id = "hangarsurface"; name = "Engine Repair Bay"; pixel_x = -24; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/shuttle/excursion) -"Lp" = (/obj/structure/table/woodentable,/obj/item/device/taperecorder,/obj/effect/floor_decal/corner_oldtile/gray,/obj/effect/floor_decal/corner_oldtile/gray{dir = 8},/turf/simulated/floor/tiled,/area/cryogaia/station/excursion_dock) +"Lp" = (/obj/structure/table/woodentable,/obj/item/taperecorder,/obj/effect/floor_decal/corner_oldtile/gray,/obj/effect/floor_decal/corner_oldtile/gray{dir = 8},/turf/simulated/floor/tiled,/area/cryogaia/station/excursion_dock) "Lq" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/corner_oldtile/gray{dir = 4},/obj/effect/floor_decal/corner_oldtile/gray{dir = 1},/obj/effect/floor_decal/corner_oldtile/gray,/turf/simulated/floor/tiled,/area/shuttle/excursion) "Lr" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/corner_oldtile/gray{dir = 1},/obj/effect/floor_decal/corner_oldtile/gray{dir = 4},/turf/simulated/floor/tiled,/area/cryogaia/station/excursion_dock) "Ls" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 28},/obj/effect/floor_decal/corner_oldtile/gray{dir = 1},/obj/effect/floor_decal/corner_oldtile/gray{dir = 4},/turf/simulated/floor/tiled,/area/cryogaia/station/excursion_dock) @@ -1952,7 +1952,7 @@ "LB" = (/obj/structure/table/woodentable,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/cryogaia/station/excursion_dock) "LC" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/shuttle/excursion) "LD" = (/obj/structure/bed/chair/office/dark{dir = 8},/turf/simulated/floor/tiled,/area/cryogaia/station/excursion_dock) -"LE" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/turf/simulated/floor/tiled,/area/cryogaia/station/excursion_dock) +"LE" = (/obj/structure/table/woodentable,/obj/item/paper_bin,/obj/item/pen,/turf/simulated/floor/tiled,/area/cryogaia/station/excursion_dock) "LF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; icon_state = "intact-scrubbers"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/techmaint,/area/shuttle/excursion) "LG" = (/obj/machinery/door/blast/shutters{dir = 4; id = "hangarsurface"; name = "Engine Repair Bay"},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; icon_state = "intact-scrubbers"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/techmaint,/area/shuttle/excursion) "LH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled,/area/shuttle/excursion) @@ -1971,7 +1971,7 @@ "LU" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/corner_oldtile/gray,/obj/effect/floor_decal/corner_oldtile/gray{dir = 8},/obj/effect/floor_decal/corner_oldtile/gray{dir = 4},/turf/simulated/floor/tiled,/area/cryogaia/station/excursion_dock) "LV" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 5},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/corner_oldtile/gray{dir = 8},/obj/effect/floor_decal/corner_oldtile/gray{dir = 1},/turf/simulated/floor/tiled,/area/cryogaia/station/excursion_dock) "LW" = (/obj/effect/floor_decal/corner_oldtile/gray{dir = 8},/obj/effect/floor_decal/corner_oldtile/gray{dir = 1},/turf/simulated/floor/tiled,/area/cryogaia/station/excursion_dock) -"LX" = (/obj/item/device/radio/intercom{dir = 8; pixel_x = -24},/obj/structure/table/glass,/obj/item/weapon/material/ashtray/plastic,/obj/effect/floor_decal/corner_oldtile/gray{dir = 8},/obj/effect/floor_decal/corner_oldtile/gray{dir = 1},/obj/effect/floor_decal/corner_oldtile/gray,/turf/simulated/floor/tiled,/area/cryogaia/station/excursion_dock) +"LX" = (/obj/item/radio/intercom{dir = 8; pixel_x = -24},/obj/structure/table/glass,/obj/item/material/ashtray/plastic,/obj/effect/floor_decal/corner_oldtile/gray{dir = 8},/obj/effect/floor_decal/corner_oldtile/gray{dir = 1},/obj/effect/floor_decal/corner_oldtile/gray,/turf/simulated/floor/tiled,/area/cryogaia/station/excursion_dock) "LY" = (/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/disposal,/obj/effect/floor_decal/corner_oldtile/gray{dir = 8},/obj/effect/floor_decal/corner_oldtile/gray,/turf/simulated/floor/tiled,/area/cryogaia/station/excursion_dock) "LZ" = (/obj/structure/bed/chair/backed_grey{dir = 1},/obj/effect/floor_decal/corner_oldtile/gray{dir = 8},/obj/effect/floor_decal/corner_oldtile/gray,/turf/simulated/floor/tiled,/area/cryogaia/station/excursion_dock) "Ma" = (/obj/structure/bed/chair/backed_grey{dir = 1},/obj/effect/floor_decal/corner_oldtile/gray{dir = 8},/obj/effect/floor_decal/corner_oldtile/gray,/turf/simulated/floor/tiled,/area/maintenance/upper/maintroom1) diff --git a/maps/yw/structures/closets/engineering.dm b/maps/yw/structures/closets/engineering.dm index e6b19269ae3..7ade91c5245 100644 --- a/maps/yw/structures/closets/engineering.dm +++ b/maps/yw/structures/closets/engineering.dm @@ -13,20 +13,20 @@ /obj/item/clothing/under/rank/chief_engineer/skirt, /obj/item/clothing/head/hardhat/white, /obj/item/clothing/shoes/brown, - /obj/item/weapon/cartridge/ce, - /obj/item/device/radio/headset/heads/ce, - /obj/item/device/radio/headset/heads/ce/alt, + /obj/item/cartridge/ce, + /obj/item/radio/headset/heads/ce, + /obj/item/radio/headset/alt/heads/ce, /obj/item/clothing/suit/storage/hazardvest, /obj/item/clothing/mask/gas, - /obj/item/weapon/tank/emergency/oxygen/engi, + /obj/item/tank/emergency/oxygen/engi, /obj/item/taperoll/engineering, /obj/item/clothing/suit/storage/hooded/wintercoat/engineering) /obj/structure/closet/secure_closet/engineering_chief_wardrobe/Initialize() if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack/industrial + starts_with += /obj/item/storage/backpack/industrial else - starts_with += /obj/item/weapon/storage/backpack/satchel/eng + starts_with += /obj/item/storage/backpack/satchel/eng if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack/dufflebag/eng + starts_with += /obj/item/storage/backpack/dufflebag/eng return ..() diff --git a/maps/yw/structures/closets/medical.dm b/maps/yw/structures/closets/medical.dm index 52b668000a7..c386cbf9567 100644 --- a/maps/yw/structures/closets/medical.dm +++ b/maps/yw/structures/closets/medical.dm @@ -13,20 +13,20 @@ /obj/item/clothing/under/rank/chief_medical_officer/skirt, /obj/item/clothing/suit/storage/toggle/labcoat/cmo, /obj/item/clothing/suit/storage/toggle/labcoat/cmoalt, - /obj/item/weapon/cartridge/cmo, + /obj/item/cartridge/cmo, /obj/item/clothing/gloves/sterile/latex, /obj/item/clothing/shoes/brown, - /obj/item/device/radio/headset/heads/cmo, + /obj/item/radio/headset/heads/cmo, /obj/item/clothing/suit/storage/hooded/wintercoat/medical, /obj/item/clothing/shoes/white) /obj/structure/closet/secure_closet/CMO_wardrobe/Initialize() if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack/medic + starts_with += /obj/item/storage/backpack/medic else - starts_with += /obj/item/weapon/storage/backpack/satchel/med + starts_with += /obj/item/storage/backpack/satchel/med if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack/dufflebag/med + starts_with += /obj/item/storage/backpack/dufflebag/med switch(pick("blue", "green", "purple", "black", "navyblue")) if ("blue") starts_with += /obj/item/clothing/under/rank/medical/scrubs diff --git a/maps/yw/structures/closets/misc.dm b/maps/yw/structures/closets/misc.dm index cac10673276..80de8b24ed0 100644 --- a/maps/yw/structures/closets/misc.dm +++ b/maps/yw/structures/closets/misc.dm @@ -5,7 +5,7 @@ req_one_access = list(access_armory,access_captain) starts_with = list( - /obj/item/weapon/gun/energy/gun = 4) + /obj/item/gun/energy/gun = 4) /obj/structure/closet/secure_closet/guncabinet/rifle @@ -14,13 +14,13 @@ starts_with = list( /obj/item/ammo_magazine/clip/c762/hunter = 9, - /obj/item/weapon/gun/projectile/shotgun/pump/rifle = 2) + /obj/item/gun/projectile/shotgun/pump/rifle = 2) /obj/structure/closet/secure_closet/guncabinet/rifle/Initialize() if(prob(85)) - starts_with += /obj/item/weapon/gun/projectile/shotgun/pump/rifle + starts_with += /obj/item/gun/projectile/shotgun/pump/rifle else - starts_with += /obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever + starts_with += /obj/item/gun/projectile/shotgun/pump/rifle/lever return ..() /obj/structure/closet/secure_closet/guncabinet/phase @@ -28,8 +28,8 @@ req_one_access = list(access_explorer,access_brig) starts_with = list( - /obj/item/weapon/gun/energy/phasegun = 2, - /obj/item/weapon/cell/device/weapon = 2, + /obj/item/gun/energy/phasegun = 2, + /obj/item/cell/device/weapon = 2, /obj/item/clothing/accessory/permit/gun/planetside) //Explorer Lockers @@ -42,33 +42,33 @@ /obj/item/clothing/under/explorer, /obj/item/clothing/suit/storage/hooded/explorer, /obj/item/clothing/mask/gas/explorer, - /obj/item/weapon/storage/belt/explorer, + /obj/item/storage/belt/explorer, /obj/item/clothing/shoes/boots/winter/explorer, /obj/item/clothing/gloves/black, - /obj/item/device/radio/headset/explorer, - /obj/item/device/radio/headset/explorer/alt, - /obj/item/weapon/cartridge/explorer, - /obj/item/device/flashlight, - /obj/item/device/gps/explorer, - /obj/item/weapon/storage/box/flare, - /obj/item/device/geiger, - /obj/item/weapon/cell/device, - /obj/item/device/radio, + /obj/item/radio/headset/explorer, + /obj/item/radio/headset/explorer/alt, + /obj/item/cartridge/explorer, + /obj/item/flashlight, + /obj/item/gps/explorer, + /obj/item/storage/box/flare, + /obj/item/geiger, + /obj/item/cell/device, + /obj/item/radio, /obj/item/stack/marker_beacon/thirty, - /obj/item/weapon/material/knife/tacknife/survival, - /obj/item/weapon/material/knife/machete, + /obj/item/material/knife/tacknife/survival, + /obj/item/material/knife/machete, /obj/item/clothing/accessory/holster/machete, - /obj/item/weapon/reagent_containers/food/snacks/liquidfood, - /obj/item/weapon/reagent_containers/food/snacks/liquidprotein, - /obj/item/device/cataloguer) + /obj/item/reagent_containers/food/snacks/liquidfood, + /obj/item/reagent_containers/food/snacks/liquidprotein, + /obj/item/cataloguer) /obj/structure/closet/secure_closet/explorer/Initialize() if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack/explorer + starts_with += /obj/item/storage/backpack/explorer else - starts_with += /obj/item/weapon/storage/backpack/satchel/explorer + starts_with += /obj/item/storage/backpack/satchel/explorer if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack/dufflebag/explorer + starts_with += /obj/item/storage/backpack/dufflebag/explorer return ..() //SAR Lockers @@ -79,44 +79,44 @@ req_access = list(access_fieldmedic) starts_with = list( - /obj/item/weapon/storage/backpack/dufflebag/emt, - /obj/item/weapon/storage/box/autoinjectors, - /obj/item/weapon/storage/box/syringes, - /obj/item/weapon/reagent_containers/glass/bottle/inaprovaline, - /obj/item/weapon/reagent_containers/glass/bottle/antitoxin, - /obj/item/weapon/storage/belt/medical/emt, + /obj/item/storage/backpack/dufflebag/emt, + /obj/item/storage/box/autoinjectors, + /obj/item/storage/box/syringes, + /obj/item/reagent_containers/glass/bottle/inaprovaline, + /obj/item/reagent_containers/glass/bottle/antitoxin, + /obj/item/storage/belt/medical/emt, /obj/item/clothing/mask/gas/explorer, /obj/item/clothing/suit/storage/hooded/explorer/medic, /obj/item/clothing/suit/storage/hooded/wintercoat/medical/sar, /obj/item/clothing/shoes/boots/winter/explorer, - /obj/item/device/radio/headset/sar, - /obj/item/device/radio/headset/sar/alt, - /obj/item/weapon/cartridge/sar, - /obj/item/device/flashlight, - /obj/item/weapon/tank/emergency/oxygen/engi, + /obj/item/radio/headset/sar, + /obj/item/radio/headset/sar/alt, + /obj/item/cartridge/sar, + /obj/item/flashlight, + /obj/item/tank/emergency/oxygen/engi, /obj/item/clothing/glasses/hud/health, - /obj/item/device/healthanalyzer, - /obj/item/device/radio/off, + /obj/item/healthanalyzer, + /obj/item/radio/off, /obj/random/medical, - /obj/item/weapon/reagent_containers/food/snacks/liquidfood = 2, - /obj/item/weapon/reagent_containers/food/snacks/liquidprotein = 2, - /obj/item/weapon/tool/crowbar, - /obj/item/weapon/extinguisher/mini, - /obj/item/weapon/storage/box/freezer, + /obj/item/reagent_containers/food/snacks/liquidfood = 2, + /obj/item/reagent_containers/food/snacks/liquidprotein = 2, + /obj/item/tool/crowbar, + /obj/item/extinguisher/mini, + /obj/item/storage/box/freezer, /obj/item/clothing/accessory/storage/white_vest, /obj/item/taperoll/medical, - /obj/item/device/gps/medical, - /obj/item/device/geiger, + /obj/item/gps/medical, + /obj/item/geiger, /obj/item/bodybag/cryobag, - /obj/item/device/cataloguer/compact) + /obj/item/cataloguer/compact) /obj/structure/closet/secure_closet/sar/Initialize() if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack/medic + starts_with += /obj/item/storage/backpack/medic else - starts_with += /obj/item/weapon/storage/backpack/satchel/med + starts_with += /obj/item/storage/backpack/satchel/med if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack/dufflebag/med + starts_with += /obj/item/storage/backpack/dufflebag/med return ..() //Pilot Locker @@ -126,8 +126,8 @@ req_access = list(access_pilot) starts_with = list( - /obj/item/weapon/storage/backpack/parachute, - /obj/item/weapon/material/knife/tacknife/survival, + /obj/item/storage/backpack/parachute, + /obj/item/material/knife/tacknife/survival, /obj/item/clothing/head/pilot, /obj/item/clothing/under/rank/pilot1, /obj/item/clothing/suit/storage/toggle/bomber/pilot, @@ -135,22 +135,22 @@ /obj/item/clothing/mask/gas/half, /obj/item/clothing/shoes/black, /obj/item/clothing/gloves/fingerless, - /obj/item/device/radio/headset/pilot, - /obj/item/device/radio/headset/pilot/alt, - /obj/item/device/flashlight, - /obj/item/weapon/reagent_containers/food/snacks/liquidfood, - /obj/item/weapon/reagent_containers/food/snacks/liquidprotein, - /obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, - /obj/item/weapon/storage/box/flare, - /obj/item/weapon/cell/device, - /obj/item/device/radio, - /obj/item/device/gps/explorer) + /obj/item/radio/headset/pilot, + /obj/item/radio/headset/pilot/alt, + /obj/item/flashlight, + /obj/item/reagent_containers/food/snacks/liquidfood, + /obj/item/reagent_containers/food/snacks/liquidprotein, + /obj/item/reagent_containers/food/drinks/cans/waterbottle, + /obj/item/storage/box/flare, + /obj/item/cell/device, + /obj/item/radio, + /obj/item/gps/explorer) /obj/structure/closet/secure_closet/pilot/Initialize() if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack + starts_with += /obj/item/storage/backpack else - starts_with += /obj/item/weapon/storage/backpack/satchel/norm + starts_with += /obj/item/storage/backpack/satchel/norm return ..() //Exotic Seeds Crate diff --git a/maps/yw/structures/closets/misc_vr.dm b/maps/yw/structures/closets/misc_vr.dm index 473bdb2743f..157a19c5cc6 100644 --- a/maps/yw/structures/closets/misc_vr.dm +++ b/maps/yw/structures/closets/misc_vr.dm @@ -7,63 +7,63 @@ /obj/item/clothing/mask/gas/explorer, /obj/item/clothing/shoes/boots/winter/explorer, /obj/item/clothing/gloves/black, - /obj/item/device/radio/headset/explorer, - /obj/item/device/flashlight, - /obj/item/device/gps/explorer, - /obj/item/weapon/storage/box/flare, - /obj/item/device/geiger, - /obj/item/weapon/cell/device, - /obj/item/device/radio, + /obj/item/radio/headset/explorer, + /obj/item/flashlight, + /obj/item/gps/explorer, + /obj/item/storage/box/flare, + /obj/item/geiger, + /obj/item/cell/device, + /obj/item/radio, /obj/item/stack/marker_beacon/thirty, - /obj/item/weapon/material/knife/tacknife/survival, - /obj/item/weapon/material/knife/machete, + /obj/item/material/knife/tacknife/survival, + /obj/item/material/knife/machete, /obj/item/clothing/accessory/holster/machete, - /obj/item/weapon/reagent_containers/food/snacks/liquidfood, - /obj/item/weapon/reagent_containers/food/snacks/liquidprotein, - /obj/item/device/cataloguer) + /obj/item/reagent_containers/food/snacks/liquidfood, + /obj/item/reagent_containers/food/snacks/liquidprotein, + /obj/item/cataloguer) /obj/structure/closet/secure_closet/sar name = "field medic locker" closet_appearance = /decl/closet_appearance/secure_closet/medical starts_with = list( - /obj/item/weapon/storage/backpack/dufflebag/emt, - /obj/item/weapon/storage/box/autoinjectors, - /obj/item/weapon/storage/box/syringes, - /obj/item/weapon/reagent_containers/glass/bottle/inaprovaline, - /obj/item/weapon/reagent_containers/glass/bottle/antitoxin, - /obj/item/weapon/storage/belt/medical/emt, - /obj/item/weapon/material/knife/tacknife/survival, - /obj/item/weapon/gun/energy/locked/frontier/holdout, + /obj/item/storage/backpack/dufflebag/emt, + /obj/item/storage/box/autoinjectors, + /obj/item/storage/box/syringes, + /obj/item/reagent_containers/glass/bottle/inaprovaline, + /obj/item/reagent_containers/glass/bottle/antitoxin, + /obj/item/storage/belt/medical/emt, + /obj/item/material/knife/tacknife/survival, + /obj/item/gun/energy/locked/frontier/holdout, /obj/item/clothing/mask/gas/explorer, /obj/item/clothing/suit/storage/hooded/explorer/medic, /obj/item/clothing/suit/storage/hooded/wintercoat/medical/sar, /obj/item/clothing/shoes/boots/winter/explorer, - /obj/item/device/radio/headset/sar, - /obj/item/weapon/cartridge/medical, - /obj/item/device/flashlight, - /obj/item/weapon/tank/emergency/oxygen/engi, + /obj/item/radio/headset/sar, + /obj/item/cartridge/medical, + /obj/item/flashlight, + /obj/item/tank/emergency/oxygen/engi, /obj/item/clothing/glasses/hud/health, - /obj/item/device/healthanalyzer, - /obj/item/device/radio/off, + /obj/item/healthanalyzer, + /obj/item/radio/off, /obj/random/medical, - /obj/item/weapon/reagent_containers/food/snacks/liquidfood = 2, - /obj/item/weapon/reagent_containers/food/snacks/liquidprotein = 2, - /obj/item/weapon/tool/crowbar, - /obj/item/weapon/extinguisher/mini, - /obj/item/weapon/storage/box/freezer, + /obj/item/reagent_containers/food/snacks/liquidfood = 2, + /obj/item/reagent_containers/food/snacks/liquidprotein = 2, + /obj/item/tool/crowbar, + /obj/item/extinguisher/mini, + /obj/item/storage/box/freezer, /obj/item/clothing/accessory/storage/white_vest, /obj/item/taperoll/medical, - /obj/item/device/gps/medical, - /obj/item/device/geiger, + /obj/item/gps/medical, + /obj/item/geiger, /obj/item/bodybag/cryobag, - /obj/item/device/cataloguer/compact) + /obj/item/cataloguer/compact) /obj/structure/closet/secure_closet/pilot closet_appearance = /decl/closet_appearance/secure_closet/exploration/pilot starts_with = list( - /obj/item/weapon/storage/backpack/parachute, - /obj/item/weapon/material/knife/tacknife/survival, - /obj/item/weapon/gun/energy/locked/frontier/holdout, + /obj/item/storage/backpack/parachute, + /obj/item/material/knife/tacknife/survival, + /obj/item/gun/energy/locked/frontier/holdout, /obj/item/clothing/head/pilot, /obj/item/clothing/under/rank/pilot1, /obj/item/clothing/suit/storage/toggle/bomber/pilot, @@ -71,16 +71,16 @@ /obj/item/clothing/mask/gas/half, /obj/item/clothing/shoes/black, /obj/item/clothing/gloves/fingerless, - /obj/item/device/radio/headset/pilot/alt, - /obj/item/device/flashlight, - /obj/item/weapon/reagent_containers/food/snacks/liquidfood, - /obj/item/weapon/reagent_containers/food/snacks/liquidprotein, - /obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, - /obj/item/weapon/storage/box/flare, - /obj/item/weapon/cell/device, - /obj/item/device/radio, - /obj/item/device/gps/explorer, - /obj/item/device/cataloguer/compact) + /obj/item/radio/headset/pilot/alt, + /obj/item/flashlight, + /obj/item/reagent_containers/food/snacks/liquidfood, + /obj/item/reagent_containers/food/snacks/liquidprotein, + /obj/item/reagent_containers/food/drinks/cans/waterbottle, + /obj/item/storage/box/flare, + /obj/item/cell/device, + /obj/item/radio, + /obj/item/gps/explorer, + /obj/item/cataloguer/compact) /obj/structure/closet/secure_closet/pathfinder name = "pathfinder locker" @@ -90,34 +90,34 @@ /obj/item/clothing/under/explorer, /obj/item/clothing/suit/storage/hooded/explorer, /obj/item/clothing/mask/gas/explorer, - /obj/item/weapon/storage/belt/explorer/pathfinder, + /obj/item/storage/belt/explorer/pathfinder, /obj/item/clothing/shoes/boots/winter/explorer, /obj/item/clothing/gloves/black, - /obj/item/device/radio/headset/pathfinder, - /obj/item/device/radio/headset/pathfinder/alt, - /obj/item/weapon/cartridge/explorer, - /obj/item/device/flashlight, - /obj/item/device/gps/explorer, - /obj/item/weapon/storage/box/flare, - /obj/item/weapon/storage/box/explorerkeys, - /obj/item/device/geiger, - /obj/item/weapon/cell/device, - /obj/item/device/radio, - /obj/item/device/bluespaceradio/cryogaia_prelinked, + /obj/item/radio/headset/pathfinder, + /obj/item/radio/headset/alt/pathfinder, + /obj/item/cartridge/explorer, + /obj/item/flashlight, + /obj/item/gps/explorer, + /obj/item/storage/box/flare, + /obj/item/storage/box/explorerkeys, + /obj/item/geiger, + /obj/item/cell/device, + /obj/item/radio, + /obj/item/bluespaceradio/cryogaia_prelinked, /obj/item/stack/marker_beacon/thirty, - /obj/item/weapon/material/knife/tacknife/survival, - /obj/item/weapon/material/knife/machete/deluxe, - /obj/item/weapon/gun/energy/locked/frontier/carbine, + /obj/item/material/knife/tacknife/survival, + /obj/item/material/knife/machete/deluxe, + /obj/item/gun/energy/locked/frontier/carbine, /obj/item/clothing/accessory/holster/machete, /obj/random/explorer_shield, - /obj/item/weapon/reagent_containers/food/snacks/liquidfood, - /obj/item/weapon/reagent_containers/food/snacks/liquidprotein, - /obj/item/device/cataloguer/compact/pathfinder, - /obj/item/device/mapping_unit) + /obj/item/reagent_containers/food/snacks/liquidfood, + /obj/item/reagent_containers/food/snacks/liquidprotein, + /obj/item/cataloguer/compact/pathfinder, + /obj/item/mapping_unit) /obj/structure/closet/secure_closet/pathfinder/Initialize() if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack + starts_with += /obj/item/storage/backpack else - starts_with += /obj/item/weapon/storage/backpack/satchel/norm + starts_with += /obj/item/storage/backpack/satchel/norm return ..() diff --git a/maps/yw/structures/closets/research.dm b/maps/yw/structures/closets/research.dm index 131877ce777..9c0f32e13d2 100644 --- a/maps/yw/structures/closets/research.dm +++ b/maps/yw/structures/closets/research.dm @@ -13,8 +13,8 @@ /obj/item/clothing/under/rank/research_director/rdalt, /obj/item/clothing/under/rank/research_director/dress_rd, /obj/item/clothing/suit/storage/toggle/labcoat, - /obj/item/weapon/cartridge/rd, + /obj/item/cartridge/rd, /obj/item/clothing/shoes/white, /obj/item/clothing/shoes/laceup/brown, /obj/item/clothing/gloves/sterile/latex, - /obj/item/device/radio/headset/heads/rd) + /obj/item/radio/headset/heads/rd) diff --git a/maps/yw/structures/closets/security.dm b/maps/yw/structures/closets/security.dm index d0e6ab2fb63..bb5e0d52712 100644 --- a/maps/yw/structures/closets/security.dm +++ b/maps/yw/structures/closets/security.dm @@ -13,10 +13,10 @@ /obj/item/clothing/under/rank/head_of_security/corp, /obj/item/clothing/suit/storage/vest/hoscoat/jensen, /obj/item/clothing/suit/storage/vest/hoscoat, - /obj/item/weapon/cartridge/hos, - /obj/item/device/radio/headset/heads/hos, + /obj/item/cartridge/hos, + /obj/item/radio/headset/heads/hos, /obj/item/clothing/glasses/sunglasses/sechud, - /obj/item/weapon/storage/box/holobadge/hos, + /obj/item/storage/box/holobadge/hos, /obj/item/clothing/accessory/badge/holo/hos, /obj/item/clothing/accessory/holster/waist, /obj/item/clothing/head/beret/sec/corporate/hos, @@ -24,9 +24,9 @@ /obj/structure/closet/secure_closet/hos_wardrobe/Initialize() if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack/security + starts_with += /obj/item/storage/backpack/security else - starts_with += /obj/item/weapon/storage/backpack/satchel/sec + starts_with += /obj/item/storage/backpack/satchel/sec if(prob(50)) - starts_with += /obj/item/weapon/storage/backpack/dufflebag/sec + starts_with += /obj/item/storage/backpack/dufflebag/sec return ..() diff --git a/maps/yw/submaps/_cryogaia_submaps.dm b/maps/yw/submaps/_cryogaia_submaps.dm index f8c7a5dce27..17e4a000bcd 100644 --- a/maps/yw/submaps/_cryogaia_submaps.dm +++ b/maps/yw/submaps/_cryogaia_submaps.dm @@ -6,7 +6,7 @@ /datum/map_template/cryogaia_lateload/cryogaia_plains name = "Snow plains" desc = "The Borealis away mission." - mappath = 'cryogaia_plains/cryogaia_plains.dmm' + mappath = "maps/yw/submaps/cryogaia_plains/cryogaia_plains.dmm" annihilate = TRUE associated_map_datum = /datum/map_z_level/cryogaia_lateload/cryogaia_plains @@ -26,7 +26,7 @@ ////////////////////////////////////////////////////////////////////////////// /// Away Missions -#if AWAY_MISSION_TEST +#ifdef AWAY_MISSION_TEST #include "cryogaia_plains/cryogaia_plains.dmm" #endif @@ -34,7 +34,7 @@ /datum/map_template/cryogaia_lateload/away_beach name = "Desert Planet - Z1 Beach" desc = "The beach away mission." - mappath = 'beach/beach.dmm' + mappath = "maps/yw/submaps/beach/beach.dmm" associated_map_datum = /datum/map_z_level/cryogaia_lateload/away_beach /datum/map_z_level/cryogaia_lateload/away_beach @@ -44,7 +44,7 @@ /datum/map_template/cryogaia_lateload/away_beach_cave name = "Desert Planet - Z2 Cave" desc = "The beach away mission's cave." - mappath = 'beach/cave.dmm' + mappath = "maps/yw/submaps/beach/cave.dmm" associated_map_datum = /datum/map_z_level/cryogaia_lateload/away_beach_cave /datum/map_template/cryogaia_lateload/away_beach_cave/on_map_loaded(z) @@ -62,7 +62,7 @@ ////////////////////////////////////////////////////////////////////////////////////// // Admin-use z-levels for loading whenever an admin feels like -#if AWAY_MISSION_TEST +#ifdef AWAY_MISSION_TEST #include "admin_use/spa.dmm" #endif @@ -70,7 +70,7 @@ /datum/map_template/cryogaia_lateload/fun/spa name = "Space Spa" desc = "A pleasant spa located in a spaceship." - mappath = 'admin_use/spa.dmm' + mappath = "maps/yw/submaps/admin_use/spa.dmm" associated_map_datum = /datum/map_z_level/cryogaia_lateload/fun/spa @@ -246,7 +246,7 @@ /datum/map_template/cryogaia_lateload/cryogaia_roguemines1 name = "Asteroid Belt 1" desc = "Mining, but rogue. Zone 1" - mappath = 'rogue_mines/rogue_mine1.dmm' + mappath = "maps/yw/submaps/rogue_mines/rogue_mine1.dmm" associated_map_datum = /datum/map_z_level/cryogaia_lateload/roguemines1 @@ -258,7 +258,7 @@ /datum/map_template/cryogaia_lateload/cryogaia_roguemines2 name = "Asteroid Belt 2" desc = "Mining, but rogue. Zone 2" - mappath = 'rogue_mines/rogue_mine2.dmm' + mappath = "maps/yw/submaps/rogue_mines/rogue_mine2.dmm" associated_map_datum = /datum/map_z_level/cryogaia_lateload/roguemines2 @@ -274,7 +274,7 @@ /datum/map_template/cryogaia_lateload/cryogaia_underdark name = "Cryogaia - Underdark" desc = "Mining, but harder." - mappath = 'cryogaia_underdark.dmm' + mappath = "maps/yw/submaps/cryogaia_underdark.dmm" associated_map_datum = /datum/map_z_level/cryogaia_lateload/underdark @@ -295,7 +295,7 @@ #include "../../offmap_vr/talon/talon_v2.dm" #include "../../offmap_vr/talon/talon_v2_areas.dm" -#if MAP_TEST +#ifdef MAP_TEST #include "../../offmap_vr/talon/talon_v2.dmm" #endif @@ -306,8 +306,8 @@ #include "../../offmap_vr/om_ships/screebarge.dm" #include "../../offmap_vr/om_ships/aro.dm" #include "../../offmap_vr/om_ships/aro2.dm" +#include "../../offmap_vr/om_ships/aro3.dm" #include "../../offmap_vr/om_ships/bearcat.dm" -#include "../../offmap_vr/om_ships/cruiser.dm" #include "../../offmap_vr/om_ships/vespa.dm" #include "../../offmap_vr/om_ships/generic_shuttle.dm" #include "../../offmap_vr/om_ships/salamander.dm" @@ -318,17 +318,18 @@ #include "../../offmap_vr/om_ships/curashuttle.dm" #include "../../offmap_vr/om_ships/itglight.dm" #include "../../offmap_vr/om_ships/abductor.dm" +#include "../../offmap_vr/om_ships/lunaship.dm" +#include "../../offmap_vr/om_ships/sdf_corvettes.dm" ////////////////////////////////////////////////////////////////////////////// //Capsule deployed ships #include "../../offmap_vr/om_ships/shelter_5.dm" -#include "../../offmap_vr/om_ships/shelter_6.dm" // Talon offmap spawn /datum/map_template/cryogaia_lateload/offmap/talon_v2 name = "Offmap Ship - Talon V2" desc = "Offmap spawn ship, the Talon." - mappath = 'maps/offmap_vr/talon/talon_v2.dmm' + mappath = "maps/offmap_vr/talon/talon_v2.dmm" associated_map_datum = /datum/map_z_level/cryogaia_lateload/talon_v2 /datum/map_z_level/cryogaia_lateload/talon_v2 diff --git a/maps/yw/submaps/admin_ships/adminship.dm b/maps/yw/submaps/admin_ships/adminship.dm index 8ecb3a51ea2..b80e093bce4 100644 --- a/maps/yw/submaps/admin_ships/adminship.dm +++ b/maps/yw/submaps/admin_ships/adminship.dm @@ -1,5 +1,5 @@ // Compile in the map for CI testing if we're testing compileability of all the maps -#if MAP_TEST +#ifdef MAP_TEST #include "adminship.dmm" #endif @@ -7,7 +7,7 @@ /datum/map_template/admin_ships/admin name = "ADM Ship - Administrator ship (New Z)" desc = "A NT Administration ship." - mappath = 'adminship.dmm' + mappath = "maps/yw/submaps/admin_ships/adminship.dmm" // The shuttle's area(s) /area/ship/adminships @@ -97,4 +97,4 @@ docking_controller_tag = "adminshuttle_docker" shuttle_area = /area/shuttle/adminshuttle fuel_consumption = 0 - defer_initialisation = TRUE \ No newline at end of file + defer_initialisation = TRUE diff --git a/maps/yw/submaps/admin_ships/adminship.dmm b/maps/yw/submaps/admin_ships/adminship.dmm index 2c83641a2ac..332e8ea347c 100644 --- a/maps/yw/submaps/admin_ships/adminship.dmm +++ b/maps/yw/submaps/admin_ships/adminship.dmm @@ -199,8 +199,7 @@ /obj/machinery/embedded_controller/radio/simple_docking_controller{ frequency = 1380; id_tag = "adminshuttle_docker"; - pixel_x = -30; - tag = "" + pixel_x = -30 }, /turf/simulated/shuttle/floor/voidcraft/light, /area/shuttle/adminshuttle) @@ -339,7 +338,7 @@ d2 = 2; icon_state = "1-2" }, -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical, /obj/structure/table/borosilicate, /turf/simulated/floor/tiled/techfloor, /area/ship/adminships/engine_bay) @@ -385,7 +384,7 @@ /turf/simulated/shuttle/floor/voidcraft/dark, /area/shuttle/adminshuttle) "gs" = ( -/obj/item/weapon/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery, /obj/structure/table/borosilicate, /turf/simulated/floor/tiled/white, /area/ship/adminships/medbay) @@ -425,7 +424,7 @@ /area/ship/adminships/bridge) "hs" = ( /obj/structure/janitorialcart, -/obj/item/weapon/mop, +/obj/item/mop, /turf/simulated/floor/tiled/techfloor, /area/ship/adminships/corridor) "ht" = ( @@ -507,8 +506,8 @@ /area/ship/adminships/main_corridor) "ih" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/pen/blade/fountain, -/obj/item/weapon/paper_bin, +/obj/item/pen/blade/fountain, +/obj/item/paper_bin, /obj/machinery/light{ dir = 8; icon_state = "tube1" @@ -564,7 +563,7 @@ /area/ship/adminships/bridge) "jq" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/captain, +/obj/item/bedsheet/captain, /turf/simulated/floor/carpet/sblucarpet, /area/ship/adminships/room1) "jr" = ( @@ -641,8 +640,8 @@ /area/ship/adminships/engine_bay) "jR" = ( /obj/structure/table/wooden_reinforced, -/obj/item/weapon/pen/blade/fountain, -/obj/item/weapon/paper_bin, +/obj/item/pen/blade/fountain, +/obj/item/paper_bin, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4; icon_state = "map_scrubber_on" @@ -679,14 +678,14 @@ /area/ship/adminships/kitchen_dining) "kI" = ( /obj/structure/closet/secure_closet/medical3, -/obj/item/weapon/reagent_containers/glass/beaker, -/obj/item/weapon/reagent_containers/glass/beaker, -/obj/item/weapon/storage/firstaid/adv, -/obj/item/weapon/storage/firstaid/bonemed, -/obj/item/weapon/storage/firstaid/clotting, -/obj/item/weapon/storage/firstaid/combat, -/obj/item/weapon/storage/quickdraw/syringe_case, -/obj/item/weapon/storage/pill_bottle, +/obj/item/reagent_containers/glass/beaker, +/obj/item/reagent_containers/glass/beaker, +/obj/item/storage/firstaid/adv, +/obj/item/storage/firstaid/bonemed, +/obj/item/storage/firstaid/clotting, +/obj/item/storage/firstaid/combat, +/obj/item/storage/quickdraw/syringe_case, +/obj/item/storage/pill_bottle, /turf/simulated/floor/tiled/white, /area/ship/adminships/medbay) "kS" = ( @@ -873,11 +872,11 @@ /area/ship/adminships/sec) "oe" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/empslite{ +/obj/item/storage/box/empslite{ pixel_x = 2; pixel_y = 2 }, -/obj/item/weapon/storage/box/flashbangs{ +/obj/item/storage/box/flashbangs{ pixel_x = -2; pixel_y = -2 }, @@ -1042,8 +1041,8 @@ /area/shuttle/adminshuttle) "rR" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/spoon, +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/spoon, /turf/simulated/floor/tiled/white, /area/ship/adminships/kitchen_dining) "rX" = ( @@ -1137,7 +1136,7 @@ "tl" = ( /obj/structure/table/borosilicate, /obj/machinery/chemical_dispenser/ert, -/obj/item/weapon/reagent_containers/glass/beaker/bluespace, +/obj/item/reagent_containers/glass/beaker/bluespace, /turf/simulated/floor/tiled/white, /area/ship/adminships/medbay) "tu" = ( @@ -1313,8 +1312,8 @@ icon_state = "0-2" }, /obj/structure/table/rack, -/obj/item/weapon/rig/pmc/security/grey/equipped, -/obj/item/weapon/rig/pmc/security/grey/equipped, +/obj/item/rig/pmc/security/grey/equipped, +/obj/item/rig/pmc/security/grey/equipped, /turf/simulated/floor/tiled/techfloor, /area/ship/adminships/sec) "wG" = ( @@ -1374,8 +1373,8 @@ dir = 8; icon_state = "tube1" }, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, /turf/simulated/floor/tiled/techfloor, /area/ship/adminships/sec) "yj" = ( @@ -1404,7 +1403,7 @@ /turf/simulated/floor/carpet/sblucarpet, /area/ship/adminships/room1) "yt" = ( -/obj/item/weapon/storage/toolbox/syndicate/powertools, +/obj/item/storage/toolbox/syndicate/powertools, /obj/structure/table/borosilicate, /turf/simulated/floor/tiled/techfloor, /area/ship/adminships/engine_bay) @@ -1506,7 +1505,7 @@ /turf/simulated/floor/tiled/techfloor, /area/ship/adminships/sec) "Ab" = ( -/obj/item/device/lightreplacer, +/obj/item/lightreplacer, /turf/simulated/floor/tiled/techfloor, /area/ship/adminships/corridor) "Ad" = ( @@ -1614,8 +1613,8 @@ /turf/simulated/floor/tiled/techfloor, /area/ship/adminships/engine_bay) "BK" = ( -/obj/item/weapon/phone, -/obj/item/device/bluespaceradio/cryogaia_prelinked, +/obj/item/phone, +/obj/item/bluespaceradio/cryogaia_prelinked, /obj/structure/table/borosilicate, /turf/simulated/floor/tiled/techfloor, /area/ship/adminships/bridge) @@ -1889,7 +1888,7 @@ /turf/space, /area/space) "Hn" = ( -/obj/item/weapon/phone, +/obj/item/phone, /obj/structure/table/borosilicate, /turf/simulated/floor/tiled/techfloor, /area/ship/adminships/bridge) @@ -1942,7 +1941,7 @@ dir = 4; icon_state = "map_vent_out" }, -/obj/item/weapon/bedsheet/captain, +/obj/item/bedsheet/captain, /turf/simulated/floor/carpet/sblucarpet, /area/ship/adminships/room1) "HM" = ( @@ -2100,11 +2099,11 @@ /area/ship/adminships/engine_bay) "KT" = ( /obj/structure/table/darkglass, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, -/obj/item/weapon/reagent_containers/food/condiment/small/sugar, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, -/obj/item/weapon/reagent_containers/food/condiment/soysauce, +/obj/item/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/small/peppermill, +/obj/item/reagent_containers/food/condiment/small/sugar, +/obj/item/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/food/condiment/soysauce, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8; icon_state = "map_scrubber_on" @@ -2416,10 +2415,10 @@ /area/ship/adminships/kitchen_dining) "OK" = ( /obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, -/obj/item/weapon/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, +/obj/item/reagent_containers/food/condiment/carton/flour, /obj/machinery/alarm/alarms_hidden{ pixel_y = 30 }, @@ -2427,7 +2426,7 @@ /area/ship/adminships/kitchen_dining) "OU" = ( /obj/structure/closet/wardrobe/tactical, -/obj/item/weapon/gun/projectile/automatic/p90, +/obj/item/gun/projectile/automatic/p90, /turf/simulated/floor/tiled/techfloor, /area/ship/adminships/sec) "Pa" = ( @@ -2571,8 +2570,8 @@ /area/ship/adminships/engine_bay) "Rc" = ( /obj/structure/table/darkglass, -/obj/item/weapon/material/knife/butch, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/knife/butch, +/obj/item/material/kitchen/rollingpin, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8; icon_state = "map_vent_out" @@ -2818,9 +2817,9 @@ dir = 8; icon_state = "map_vent_out" }, -/obj/item/weapon/reagent_containers/chem_disp_cartridge/clonexadone, -/obj/item/weapon/reagent_containers/glass/beaker, -/obj/item/weapon/reagent_containers/glass/beaker, +/obj/item/reagent_containers/chem_disp_cartridge/clonexadone, +/obj/item/reagent_containers/glass/beaker, +/obj/item/reagent_containers/glass/beaker, /turf/simulated/floor/tiled/white, /area/ship/adminships/medbay) "Wd" = ( @@ -2846,15 +2845,14 @@ icon_state = "bordercolor" }, /obj/structure/closet/emcloset, -/obj/item/weapon/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide, /turf/simulated/floor/tiled/techfloor, /area/ship/adminships/engine_bay) "Xt" = ( /obj/machinery/embedded_controller/radio/simple_docking_controller{ frequency = 1380; id_tag = "adminshuttle_bay"; - pixel_x = 30; - tag = "" + pixel_x = 30 }, /turf/simulated/floor/tiled/techfloor, /area/ship/adminships/engine_bay) @@ -2921,7 +2919,7 @@ /area/ship/adminships/corridor) "Ze" = ( /obj/structure/closet/wardrobe/tactical, -/obj/item/weapon/gun/projectile/automatic/p90, +/obj/item/gun/projectile/automatic/p90, /obj/machinery/light{ dir = 8; icon_state = "tube1" @@ -2947,7 +2945,7 @@ dir = 1; icon_state = "bordercolor" }, -/obj/item/weapon/pipe_dispenser, +/obj/item/pipe_dispenser, /turf/simulated/floor/tiled/techfloor, /area/ship/adminships/engine_bay) "ZK" = ( @@ -2956,7 +2954,7 @@ /area/shuttle/adminshuttle) "ZO" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/captaindouble, +/obj/item/bedsheet/captaindouble, /turf/simulated/floor/carpet/sblucarpet, /area/ship/adminships/room2) "ZR" = ( diff --git a/maps/yw/submaps/admin_use/spa.dmm b/maps/yw/submaps/admin_use/spa.dmm index 3413e29d291..9e1015cf155 100644 --- a/maps/yw/submaps/admin_use/spa.dmm +++ b/maps/yw/submaps/admin_use/spa.dmm @@ -15,7 +15,7 @@ /area/submap/spa) "ad" = ( /obj/structure/table/woodentable, -/obj/item/weapon/flame/candle/everburn, +/obj/item/flame/candle/everburn, /turf/simulated/floor/wood, /area/submap/spa) "ae" = ( @@ -34,9 +34,9 @@ /area/submap/spa) "ah" = ( /obj/structure/table/woodentable, -/obj/item/weapon/towel, -/obj/item/weapon/towel, -/obj/item/weapon/towel, +/obj/item/towel, +/obj/item/towel, +/obj/item/towel, /turf/simulated/floor/wood, /area/submap/spa) "ai" = ( @@ -235,7 +235,7 @@ /area/submap/spa) "aP" = ( /obj/structure/table/woodentable, -/obj/item/weapon/flame/candle/candelabra/everburn, +/obj/item/flame/candle/candelabra/everburn, /turf/simulated/floor/wood, /area/submap/spa) "aQ" = ( @@ -260,7 +260,7 @@ /area/submap/spa) "aU" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/bluedouble, +/obj/item/bedsheet/bluedouble, /turf/simulated/floor/carpet/bcarpet, /area/submap/spa) "aV" = ( @@ -279,17 +279,17 @@ /area/submap/spa) "aW" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/greendouble, +/obj/item/bedsheet/greendouble, /turf/simulated/floor/carpet/bcarpet, /area/submap/spa) "aX" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/purpledouble, +/obj/item/bedsheet/purpledouble, /turf/simulated/floor/carpet/bcarpet, /area/submap/spa) "aY" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/reddouble, +/obj/item/bedsheet/reddouble, /turf/simulated/floor/carpet/bcarpet, /area/submap/spa) "aZ" = ( @@ -356,7 +356,7 @@ /turf/simulated/floor/reinforced, /area/submap/spa) "bj" = ( -/obj/item/device/radio/beacon{ +/obj/item/radio/beacon{ anchored = 1 }, /turf/simulated/floor/reinforced, @@ -410,7 +410,7 @@ /area/submap/spa) "br" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/browndouble, +/obj/item/bedsheet/browndouble, /turf/simulated/floor/carpet/bcarpet, /area/submap/spa) "bs" = ( @@ -429,17 +429,17 @@ /area/submap/spa) "bt" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/orangedouble, +/obj/item/bedsheet/orangedouble, /turf/simulated/floor/carpet/bcarpet, /area/submap/spa) "bu" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/rainbowdouble, +/obj/item/bedsheet/rainbowdouble, /turf/simulated/floor/carpet/bcarpet, /area/submap/spa) "bv" = ( /obj/structure/bed/double/padded, -/obj/item/weapon/bedsheet/yellowdouble, +/obj/item/bedsheet/yellowdouble, /turf/simulated/floor/carpet/bcarpet, /area/submap/spa) "bw" = ( diff --git a/maps/yw/submaps/aerostat/aerostat.dmm b/maps/yw/submaps/aerostat/aerostat.dmm index ce60031b95e..f5d63db203d 100644 --- a/maps/yw/submaps/aerostat/aerostat.dmm +++ b/maps/yw/submaps/aerostat/aerostat.dmm @@ -1066,7 +1066,7 @@ /area/cryogaia_away/aerostat/inside) "dA" = ( /obj/structure/table/standard, -/obj/item/weapon/gun/energy/taser/xeno, +/obj/item/gun/energy/taser/xeno, /obj/random/cigarettes, /turf/simulated/floor/tiled/techfloor/bor4, /area/cryogaia_away/aerostat/inside) @@ -1350,7 +1350,7 @@ /area/cryogaia_away/aerostat/inside) "nm" = ( /obj/structure/table/standard, -/obj/item/weapon/gun/energy/taser/xeno, +/obj/item/gun/energy/taser/xeno, /turf/simulated/floor/tiled/techfloor/bor4, /area/cryogaia_away/aerostat/inside) "on" = ( diff --git a/maps/yw/submaps/aerostat/backup/aerostat.dmm b/maps/yw/submaps/aerostat/backup/aerostat.dmm index 1fa7e5e8bdd..8579742a683 100644 --- a/maps/yw/submaps/aerostat/backup/aerostat.dmm +++ b/maps/yw/submaps/aerostat/backup/aerostat.dmm @@ -1690,7 +1690,7 @@ /area/cryogaia_away/aerostat/inside) "uU" = ( /obj/structure/table/standard, -/obj/item/weapon/gun/energy/taser/xeno, +/obj/item/gun/energy/taser/xeno, /obj/random/cigarettes, /turf/simulated/floor/tiled/techfloor/bor4, /area/cryogaia_away/aerostat/inside) @@ -1816,7 +1816,7 @@ /area/cryogaia_away/aerostat) "Ym" = ( /obj/structure/table/standard, -/obj/item/weapon/gun/energy/taser/xeno, +/obj/item/gun/energy/taser/xeno, /turf/simulated/floor/tiled/techfloor/bor4, /area/cryogaia_away/aerostat/inside) "ZK" = ( diff --git a/maps/yw/submaps/aerostat/submaps/Blackshuttledown.dmm b/maps/yw/submaps/aerostat/submaps/Blackshuttledown.dmm index 7b2dc8d9b31..a72d6b2930e 100644 --- a/maps/yw/submaps/aerostat/submaps/Blackshuttledown.dmm +++ b/maps/yw/submaps/aerostat/submaps/Blackshuttledown.dmm @@ -19,56 +19,56 @@ "as" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) "at" = (/obj/machinery/organ_printer/flesh,/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) "au" = (/turf/simulated/mineral/floor/ignore_mapgen/bor4,/turf/simulated/shuttle/wall/dark{icon_state = "dark5"; name = "Unknown Shuttle"},/area/submap/virgo2/Blackshuttledown) -"av" = (/obj/structure/table/steel,/obj/item/weapon/gun/projectile/automatic/wt550,/obj/item/weapon/gun/projectile/automatic/p90,/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) +"av" = (/obj/structure/table/steel,/obj/item/gun/projectile/automatic/wt550,/obj/item/gun/projectile/automatic/p90,/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) "aw" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) "ax" = (/obj/machinery/optable,/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) "ay" = (/obj/machinery/bodyscanner{dir = 8},/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) "az" = (/turf/simulated/mineral/floor/ignore_mapgen/bor4,/turf/simulated/shuttle/wall/dark{icon_state = "dark9"; name = "Unknown Shuttle"},/area/submap/virgo2/Blackshuttledown) "aA" = (/obj/machinery/computer/communications{dir = 4},/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) "aB" = (/mob/living/simple_mob/mechanical/viscerator,/mob/living/simple_mob/mechanical/viscerator,/mob/living/simple_mob/mechanical/viscerator,/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) -"aC" = (/obj/structure/table/steel,/obj/item/weapon/gun/projectile/automatic/c20r,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) +"aC" = (/obj/structure/table/steel,/obj/item/gun/projectile/automatic/c20r,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) "aD" = (/mob/living/simple_mob/humanoid/merc/ranged/space,/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) "aE" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) "aF" = (/obj/structure/table/steel,/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) -"aG" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/surgery,/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) -"aH" = (/obj/structure/table/standard,/obj/item/weapon/tank/anesthetic,/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) +"aG" = (/obj/structure/table/standard,/obj/item/storage/firstaid/surgery,/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) +"aH" = (/obj/structure/table/standard,/obj/item/tank/anesthetic,/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) "aI" = (/obj/structure/table/standard,/obj/item/clothing/gloves/sterile,/obj/item/clothing/gloves/sterile,/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) -"aJ" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/spray/sterilizine,/obj/item/weapon/reagent_containers/spray/sterilizine,/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) -"aK" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/masks,/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) +"aJ" = (/obj/structure/table/standard,/obj/item/reagent_containers/spray/sterilizine,/obj/item/reagent_containers/spray/sterilizine,/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) +"aK" = (/obj/structure/table/standard,/obj/item/storage/box/masks,/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) "aL" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) "aM" = (/obj/structure/bed/chair/office/dark{dir = 1},/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) "aN" = (/obj/machinery/door/airlock/security{locked = 1},/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) "aO" = (/obj/machinery/door/airlock/glass,/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) -"aP" = (/obj/machinery/power/apc{cell_type = /obj/item/weapon/cell/hyper; dir = 4; name = "Unknown APC"; pixel_x = -24},/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) +"aP" = (/obj/machinery/power/apc{cell_type = /obj/item/cell/hyper; dir = 4; name = "Unknown APC"; pixel_x = -24},/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) "aQ" = (/obj/machinery/computer/area_atmos{dir = 4},/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) "aR" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) -"aS" = (/obj/structure/table/steel,/obj/item/weapon/material/knife,/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) +"aS" = (/obj/structure/table/steel,/obj/item/material/knife,/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) "aU" = (/obj/structure/table/steel,/obj/random/toolbox,/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) "aV" = (/obj/structure/table/steel,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) "aW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/submap/virgo2/Blackshuttledown) -"aX" = (/obj/item/weapon/stool,/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) +"aX" = (/obj/item/stool,/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) "aY" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/submap/virgo2/Blackshuttledown) "aZ" = (/obj/structure/table/steel,/obj/item/pizzabox,/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) "ba" = (/obj/machinery/door/airlock,/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) "bb" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/submap/virgo2/Blackshuttledown) -"be" = (/obj/structure/table/steel,/obj/item/weapon/paper{info = "We need to take a short stop. The engine's are in need of minor repairs due to turbulence, should be a week's time. We've got reserve food supplies but pleanty of locale fauna to subsist on too if need be. PCRC is keeping most of there assets near New Reykjavik and locale authorities are more mindful then most to travel in this kind of weather. Our outfit should be at the rendezvous point in less then ten days assuming the upper ecehelon hasn't dropped ties with us yet."; name = "Operation Progress/M-53"},/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) -"bf" = (/obj/structure/table/steel,/obj/item/weapon/paper_bin,/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) +"be" = (/obj/structure/table/steel,/obj/item/paper{info = "We need to take a short stop. The engine's are in need of minor repairs due to turbulence, should be a week's time. We've got reserve food supplies but pleanty of locale fauna to subsist on too if need be. PCRC is keeping most of there assets near New Reykjavik and locale authorities are more mindful then most to travel in this kind of weather. Our outfit should be at the rendezvous point in less then ten days assuming the upper ecehelon hasn't dropped ties with us yet."; name = "Operation Progress/M-53"},/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) +"bf" = (/obj/structure/table/steel,/obj/item/paper_bin,/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) "bg" = (/obj/machinery/light,/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) "bh" = (/obj/structure/closet/toolcloset,/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) "bi" = (/obj/machinery/portable_atmospherics/canister/empty/oxygen,/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) "bj" = (/obj/machinery/atmospherics/pipe/tank/oxygen,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) "bk" = (/obj/structure/bed/chair/office/dark,/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) -"bl" = (/obj/structure/table/steel,/obj/item/weapon/gun/projectile/automatic/c20r,/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) -"bm" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) +"bl" = (/obj/structure/table/steel,/obj/item/gun/projectile/automatic/c20r,/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) +"bm" = (/obj/structure/bed,/obj/item/bedsheet,/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) "bn" = (/mob/living/simple_mob/mechanical/viscerator,/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) -"bo" = (/obj/structure/table/steel,/obj/item/weapon/gun/projectile/pistol,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) -"bp" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/structure/bed,/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) +"bo" = (/obj/structure/table/steel,/obj/item/gun/projectile/pistol,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) +"bp" = (/obj/structure/bed,/obj/item/bedsheet,/obj/structure/bed,/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) "bq" = (/mob/living/simple_mob/mechanical/viscerator,/mob/living/simple_mob/mechanical/viscerator,/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) -"br" = (/obj/structure/table/steel,/obj/item/weapon/gun/projectile/pistol,/obj/item/weapon/gun/projectile/shotgun/pump,/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) +"br" = (/obj/structure/table/steel,/obj/item/gun/projectile/pistol,/obj/item/gun/projectile/shotgun/pump,/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) "bs" = (/obj/structure/toilet{dir = 1},/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) "bt" = (/obj/machinery/light,/obj/structure/table/rack,/obj/item/clothing/head/helmet/space,/obj/item/clothing/head/helmet/space,/obj/item/clothing/head/helmet/space,/obj/item/clothing/head/helmet/space,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) -"bu" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/machinery/light,/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) -"bv" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/item/toy/plushie/spider,/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) +"bu" = (/obj/structure/bed,/obj/item/bedsheet,/obj/machinery/light,/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) +"bv" = (/obj/structure/bed,/obj/item/bedsheet,/obj/item/toy/plushie/spider,/turf/simulated/floor/tiled/steel,/area/submap/virgo2/Blackshuttledown) "by" = (/obj/structure/table/steel,/turf/simulated/mineral/floor/ignore_mapgen/bor4,/area/submap/virgo2/Blackshuttledown) "bz" = (/mob/living/simple_mob/humanoid/merc/ranged/space,/turf/simulated/mineral/floor/ignore_mapgen/bor4,/area/submap/virgo2/Blackshuttledown) diff --git a/maps/yw/submaps/aerostat/submaps/Boombase.dmm b/maps/yw/submaps/aerostat/submaps/Boombase.dmm index de7a03f72f3..416f3246bb5 100644 --- a/maps/yw/submaps/aerostat/submaps/Boombase.dmm +++ b/maps/yw/submaps/aerostat/submaps/Boombase.dmm @@ -10,23 +10,23 @@ "aj" = (/obj/structure/closet/crate/secure/phoron,/obj/fiftyspawner/phoron,/turf/simulated/floor/tiled/techfloor/bor4,/area/submap/virgo2/BoomBase) "ak" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/ash,/turf/simulated/floor/tiled/techfloor/bor4,/area/submap/virgo2/BoomBase) "al" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/techfloor/bor4,/area/submap/virgo2/BoomBase) -"am" = (/obj/effect/decal/cleanable/dirt,/obj/effect/spider,/obj/item/weapon/material/shard,/turf/simulated/floor/tiled/techfloor/bor4,/area/submap/virgo2/BoomBase) +"am" = (/obj/effect/decal/cleanable/dirt,/obj/effect/spider,/obj/item/material/shard,/turf/simulated/floor/tiled/techfloor/bor4,/area/submap/virgo2/BoomBase) "an" = (/turf/simulated/floor/tiled/techfloor/bor4,/area/submap/virgo2/BoomBase) "ao" = (/mob/living/simple_mob/animal/space/jelly,/turf/simulated/floor/tiled/techfloor/bor4,/area/submap/virgo2/BoomBase) "ap" = (/obj/machinery/portable_atmospherics/canister/empty/phoron,/turf/simulated/floor/tiled/techfloor/bor4,/area/submap/virgo2/BoomBase) -"aq" = (/obj/machinery/portable_atmospherics/canister/empty/phoron,/obj/item/weapon/material/shard,/turf/simulated/floor/tiled/techfloor/bor4,/area/submap/virgo2/BoomBase) +"aq" = (/obj/machinery/portable_atmospherics/canister/empty/phoron,/obj/item/material/shard,/turf/simulated/floor/tiled/techfloor/bor4,/area/submap/virgo2/BoomBase) "ar" = (/obj/effect/decal/remains/human,/turf/simulated/floor/tiled/techfloor/bor4,/area/submap/virgo2/BoomBase) -"as" = (/obj/item/weapon/material/shard,/turf/simulated/floor/plating/bor4,/area/submap/virgo2/BoomBase) +"as" = (/obj/item/material/shard,/turf/simulated/floor/plating/bor4,/area/submap/virgo2/BoomBase) "at" = (/obj/effect/spider/stickyweb,/turf/simulated/floor/plating/bor4,/area/submap/virgo2/BoomBase) "au" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating/bor4,/area/submap/virgo2/BoomBase) "av" = (/obj/effect/decal/cleanable/ash,/turf/simulated/floor/plating/bor4,/area/submap/virgo2/BoomBase) "aw" = (/obj/effect/decal/cleanable/dirt,/obj/effect/spider/stickyweb,/turf/simulated/floor/tiled/techfloor/bor4,/area/submap/virgo2/BoomBase) "ax" = (/obj/effect/decal/cleanable/dirt,/mob/living/simple_mob/animal/space/jelly,/turf/simulated/floor/tiled/techfloor/bor4,/area/submap/virgo2/BoomBase) "ay" = (/obj/structure/table,/turf/simulated/floor/tiled/techfloor/bor4,/area/submap/virgo2/BoomBase) -"az" = (/obj/effect/decal/cleanable/dirt,/obj/structure/table/standard,/obj/item/weapon/tank/phoron,/obj/item/weapon/fuel_assembly/phoron,/turf/simulated/floor/tiled/techfloor/bor4,/area/submap/virgo2/BoomBase) +"az" = (/obj/effect/decal/cleanable/dirt,/obj/structure/table/standard,/obj/item/tank/phoron,/obj/item/fuel_assembly/phoron,/turf/simulated/floor/tiled/techfloor/bor4,/area/submap/virgo2/BoomBase) "aA" = (/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/ash,/turf/simulated/floor/tiled/techfloor/bor4,/area/submap/virgo2/BoomBase) "aB" = (/obj/effect/decal/remains/human,/turf/space,/area/submap/virgo2/BoomBase) -"aC" = (/obj/item/weapon/material/shard,/turf/simulated/floor/tiled/techfloor/bor4,/area/submap/virgo2/BoomBase) +"aC" = (/obj/item/material/shard,/turf/simulated/floor/tiled/techfloor/bor4,/area/submap/virgo2/BoomBase) "aD" = (/obj/effect/decal/cleanable/ash,/turf/simulated/floor/tiled/techfloor/bor4,/area/submap/virgo2/BoomBase) "aE" = (/obj/effect/decal/cleanable/dirt,/turf/space,/area/submap/virgo2/BoomBase) "aF" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/ash,/turf/simulated/floor/plating/bor4,/area/submap/virgo2/BoomBase) @@ -34,9 +34,9 @@ "aH" = (/obj/effect/decal/cleanable/dirt,/obj/cryogaia_away_spawner/aerostat_surface,/turf/simulated/floor/plating/bor4,/area/submap/virgo2/BoomBase) "aI" = (/obj/effect/decal/cleanable/ash,/turf/space,/area/submap/virgo2/BoomBase) "aJ" = (/obj/structure/ghost_pod/manual/lost_drone/dogborg,/turf/simulated/floor/plating/bor4,/area/submap/virgo2/BoomBase) -"aK" = (/obj/item/device/transfer_valve,/turf/space,/area/submap/virgo2/BoomBase) -"aL" = (/obj/item/weapon/material/shard,/turf/space,/area/submap/virgo2/BoomBase) -"aM" = (/obj/effect/spider/stickyweb,/obj/item/weapon/material/shard,/turf/space,/area/submap/virgo2/BoomBase) +"aK" = (/obj/item/transfer_valve,/turf/space,/area/submap/virgo2/BoomBase) +"aL" = (/obj/item/material/shard,/turf/space,/area/submap/virgo2/BoomBase) +"aM" = (/obj/effect/spider/stickyweb,/obj/item/material/shard,/turf/space,/area/submap/virgo2/BoomBase) "aY" = (/obj/effect/spider/stickyweb,/obj/effect/decal/cleanable/ash,/turf/simulated/floor/plating/bor4,/area/submap/virgo2/BoomBase) "aZ" = (/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/ash,/turf/simulated/floor/plating/bor4,/area/submap/virgo2/BoomBase) "ba" = (/obj/item/stack/rods,/turf/simulated/wall/bor4,/area/submap/virgo2/BoomBase) diff --git a/maps/yw/submaps/aerostat/submaps/CaveS.dmm b/maps/yw/submaps/aerostat/submaps/CaveS.dmm index a4617e3c7d7..e4df9824368 100644 --- a/maps/yw/submaps/aerostat/submaps/CaveS.dmm +++ b/maps/yw/submaps/aerostat/submaps/CaveS.dmm @@ -5,21 +5,21 @@ "f" = (/obj/cryogaia_away_spawner/aerostat_surface,/turf/simulated/mineral/floor/ignore_mapgen/bor4,/area/submap/virgo2/CaveS) "g" = (/obj/effect/spider/stickyweb,/turf/simulated/mineral/floor/ignore_mapgen/bor4,/area/submap/virgo2/CaveS) "h" = (/obj/item/ammo_casing/a45,/obj/item/ammo_casing/a45,/turf/template_noop,/area/submap/virgo2/CaveS) -"j" = (/obj/item/clothing/accessory/storage/webbing,/obj/item/weapon/material/knife/tacknife/combatknife,/turf/simulated/mineral/floor/ignore_mapgen/bor4,/area/submap/virgo2/CaveS) +"j" = (/obj/item/clothing/accessory/storage/webbing,/obj/item/material/knife/tacknife/combatknife,/turf/simulated/mineral/floor/ignore_mapgen/bor4,/area/submap/virgo2/CaveS) "k" = (/obj/cryogaia_away_spawner/aerostat_surface,/turf/simulated/floor,/area/submap/virgo2/CaveS) "l" = (/obj/effect/decal/cleanable/cobweb,/turf/simulated/mineral/floor/ignore_mapgen/bor4,/area/submap/virgo2/CaveS) "n" = (/obj/effect/decal/cleanable/cobweb2,/turf/simulated/mineral/floor/ignore_mapgen/bor4,/area/submap/virgo2/CaveS) "o" = (/obj/effect/mine,/turf/simulated/mineral/floor/ignore_mapgen/bor4,/area/submap/virgo2/CaveS) "r" = (/turf/simulated/mineral/floor/ignore_mapgen/bor4,/area/submap/virgo2/CaveS) "u" = (/turf/simulated/floor,/area/submap/virgo2/CaveS) -"v" = (/obj/structure/closet/crate,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil,/obj/item/weapon/storage/toolbox,/obj/random/toolbox,/turf/simulated/floor,/area/submap/virgo2/CaveS) +"v" = (/obj/structure/closet/crate,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil,/obj/item/storage/toolbox,/obj/random/toolbox,/turf/simulated/floor,/area/submap/virgo2/CaveS) "w" = (/obj/structure/loot_pile/surface,/turf/simulated/floor,/area/submap/virgo2/CaveS) -"x" = (/obj/structure/table/woodentable,/obj/item/device/survivalcapsule,/turf/simulated/floor,/area/submap/virgo2/CaveS) +"x" = (/obj/structure/table/woodentable,/obj/item/survivalcapsule,/turf/simulated/floor,/area/submap/virgo2/CaveS) "y" = (/obj/machinery/power/port_gen/pacman,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor,/area/submap/virgo2/CaveS) "z" = (/turf/simulated/wall,/area/submap/virgo2/CaveS) -"A" = (/obj/structure/closet/crate,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/obj/item/weapon/reagent_containers/glass/bottle/antitoxin,/obj/item/weapon/reagent_containers/pill/antitox,/obj/item/weapon/reagent_containers/pill/antitox,/obj/item/weapon/reagent_containers/pill/antitox,/obj/item/weapon/reagent_containers/pill/paracetamol,/obj/random/firstaid,/obj/item/weapon/storage/firstaid/combat,/turf/simulated/floor,/area/submap/virgo2/CaveS) +"A" = (/obj/structure/closet/crate,/obj/item/reagent_containers/hypospray,/obj/item/reagent_containers/glass/bottle/stoxin,/obj/item/reagent_containers/glass/bottle/antitoxin,/obj/item/reagent_containers/pill/antitox,/obj/item/reagent_containers/pill/antitox,/obj/item/reagent_containers/pill/antitox,/obj/item/reagent_containers/pill/paracetamol,/obj/random/firstaid,/obj/item/storage/firstaid/combat,/turf/simulated/floor,/area/submap/virgo2/CaveS) "B" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor,/area/submap/virgo2/CaveS) -"C" = (/obj/structure/closet/crate,/obj/random/contraband,/obj/random/contraband,/obj/random/contraband,/obj/random/energy,/obj/item/weapon/material/star,/obj/item/weapon/material/star,/obj/item/weapon/material/star,/obj/item/weapon/material/star,/obj/item/weapon/material/star,/turf/simulated/floor,/area/submap/virgo2/CaveS) +"C" = (/obj/structure/closet/crate,/obj/random/contraband,/obj/random/contraband,/obj/random/contraband,/obj/random/energy,/obj/item/material/star,/obj/item/material/star,/obj/item/material/star,/obj/item/material/star,/obj/item/material/star,/turf/simulated/floor,/area/submap/virgo2/CaveS) "E" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/submap/virgo2/CaveS) "F" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/submap/virgo2/CaveS) "G" = (/obj/machinery/computer/communications,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/submap/virgo2/CaveS) diff --git a/maps/yw/submaps/aerostat/submaps/DJOutpost1.dmm b/maps/yw/submaps/aerostat/submaps/DJOutpost1.dmm index 15e32e01dce..6559c037781 100644 --- a/maps/yw/submaps/aerostat/submaps/DJOutpost1.dmm +++ b/maps/yw/submaps/aerostat/submaps/DJOutpost1.dmm @@ -1,44 +1,44 @@ "a" = (/turf/template_noop,/area/template_noop) "b" = (/turf/simulated/wall/bor4,/area/submap/virgo2/DJOutpost1) -"c" = (/obj/structure/grille/broken,/obj/item/weapon/material/shard,/obj/item/weapon/material/shard{icon_state = "shardmedium"},/obj/item/stack/rods,/turf/simulated/floor,/area/submap/virgo2/DJOutpost1) +"c" = (/obj/structure/grille/broken,/obj/item/material/shard,/obj/item/material/shard{icon_state = "shardmedium"},/obj/item/stack/rods,/turf/simulated/floor,/area/submap/virgo2/DJOutpost1) "d" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/turf/simulated/floor,/area/submap/virgo2/DJOutpost1) "e" = (/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) "f" = (/obj/machinery/telecomms/relay/preset/ruskie,/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) "g" = (/obj/structure/loot_pile/maint/technical,/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) "h" = (/obj/structure/sign/goldenplaque{desc = "An award given to Sif Free Radio for media excellency. It looks fake."; name = "Best Radio Station 2558"; pixel_y = 30},/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) -"j" = (/obj/effect/decal/remains,/obj/effect/decal/cleanable/blood,/obj/item/clothing/under/frontier,/obj/item/weapon/material/knife/tacknife/combatknife,/obj/random_multi/single_item/sfr_headset,/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) +"j" = (/obj/effect/decal/remains,/obj/effect/decal/cleanable/blood,/obj/item/clothing/under/frontier,/obj/item/material/knife/tacknife/combatknife,/obj/random_multi/single_item/sfr_headset,/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) "k" = (/obj/machinery/door/airlock/glass,/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) -"l" = (/obj/structure/table/steel_reinforced,/obj/item/device/radio/intercom{icon_state = "intercom"; dir = 8},/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) -"m" = (/obj/machinery/computer/message_monitor,/obj/item/weapon/paper/monitorkey,/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) +"l" = (/obj/structure/table/steel_reinforced,/obj/item/radio/intercom{icon_state = "intercom"; dir = 8},/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) +"m" = (/obj/machinery/computer/message_monitor,/obj/item/paper/monitorkey,/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) "n" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/submap/virgo2/DJOutpost1) "o" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{outdoors = 1},/area/submap/virgo2/DJOutpost1) "p" = (/obj/structure/bed/chair/wood,/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) -"q" = (/obj/effect/decal/remains,/obj/item/clothing/under/dress/blacktango,/obj/effect/decal/cleanable/blood,/obj/item/device/universal_translator/ear,/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) +"q" = (/obj/effect/decal/remains,/obj/item/clothing/under/dress/blacktango,/obj/effect/decal/cleanable/blood,/obj/item/universal_translator/ear,/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) "s" = (/obj/structure/bed/chair/office/dark{icon_state = "officechair_dark"; dir = 8},/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) "t" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/structure/bed/chair/office/dark{dir = 1},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) "u" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/closet/crate,/obj/item/stack/material/phoron{amount = 25},/turf/simulated/floor{outdoors = 1},/area/submap/virgo2/DJOutpost1) "v" = (/obj/structure/table/woodentable,/obj/item/trash/candle,/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) "w" = (/obj/structure/bed/chair/wood{icon_state = "wooden_chair"; dir = 8},/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) -"x" = (/obj/structure/bookcase,/obj/item/weapon/book/codex/lore/vir,/obj/item/weapon/book/manual/excavation,/obj/item/weapon/book/manual/engineering_construction,/obj/item/weapon/storage/bible,/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) -"y" = (/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) -"z" = (/obj/structure/table/steel_reinforced,/obj/item/device/radio/phone,/obj/random_multi/single_item/sfr_headset,/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) -"A" = (/obj/structure/table/steel_reinforced,/obj/item/device/radio/intercom/syndicate{desc = "Talk through this."; name = "station intercom (General)"},/obj/item/device/multitool,/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) -"B" = (/obj/structure/table/steel_reinforced,/obj/item/device/radio,/obj/machinery/power/apc{cell_type = /obj/item/weapon/cell/hyper; dir = 4; environ = 1; equipment = 1; lighting = 1; locked = 0; name = "Sif Free Radio APC"; operating = 0; pixel_x = 24},/obj/structure/cable/yellow,/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) +"x" = (/obj/structure/bookcase,/obj/item/book/codex/lore/vir,/obj/item/book/manual/excavation,/obj/item/book/manual/wiki/engineering_construction,/obj/item/storage/bible,/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) +"y" = (/obj/item/storage/toolbox/mechanical,/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) +"z" = (/obj/structure/table/steel_reinforced,/obj/item/radio/phone,/obj/random_multi/single_item/sfr_headset,/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) +"A" = (/obj/structure/table/steel_reinforced,/obj/item/radio/intercom/syndicate{desc = "Talk through this."; name = "station intercom (General)"},/obj/item/multitool,/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) +"B" = (/obj/structure/table/steel_reinforced,/obj/item/radio,/obj/machinery/power/apc{cell_type = /obj/item/cell/hyper; dir = 4; environ = 1; equipment = 1; lighting = 1; locked = 0; name = "Sif Free Radio APC"; operating = 0; pixel_x = 24},/obj/structure/cable/yellow,/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) "C" = (/obj/effect/overlay/snow/floor,/obj/machinery/power/port_gen/pacman,/obj/structure/cable/yellow,/turf/simulated/floor{outdoors = 1},/area/submap/virgo2/DJOutpost1) -"D" = (/obj/machinery/door/airlock/glass,/obj/item/device/gps/internal/poi,/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) +"D" = (/obj/machinery/door/airlock/glass,/obj/item/gps/internal/poi,/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) "E" = (/obj/machinery/biogenerator,/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) -"F" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/snacks/unajerky,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/random_multi/single_item/sfr_headset,/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) +"F" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/food/snacks/unajerky,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/random_multi/single_item/sfr_headset,/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) "G" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/machinery/seed_extractor,/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) "H" = (/obj/structure/bed/chair/wood{icon_state = "wooden_chair"; dir = 1},/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) "I" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) -"J" = (/obj/structure/table/woodentable,/obj/item/weapon/material/knife/machete/hatchet,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/material/minihoe,/obj/item/device/analyzer/plant_analyzer,/obj/random_multi/single_item/sfr_headset,/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) +"J" = (/obj/structure/table/woodentable,/obj/item/material/knife/machete/hatchet,/obj/item/reagent_containers/glass/bucket,/obj/item/material/minihoe,/obj/item/analyzer/plant_analyzer,/obj/random_multi/single_item/sfr_headset,/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) "K" = (/obj/structure/undies_wardrobe,/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) "L" = (/obj/structure/table/rack,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/random_multi/single_item/sfr_headset,/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) "M" = (/obj/machinery/light/flamp,/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) "N" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 15},/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) -"O" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/clown,/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) -"P" = (/obj/structure/table/rack,/obj/item/ammo_magazine/clip/c762/hunter,/obj/item/weapon/gun/projectile/shotgun/pump/rifle,/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) -"Q" = (/obj/structure/table/rack,/obj/item/device/flashlight/lantern,/obj/item/device/gps{gps_tag = "Sif Free Radio"},/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) +"O" = (/obj/structure/bed/padded,/obj/item/bedsheet/clown,/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) +"P" = (/obj/structure/table/rack,/obj/item/ammo_magazine/clip/c762/hunter,/obj/item/gun/projectile/shotgun/pump/rifle,/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) +"Q" = (/obj/structure/table/rack,/obj/item/flashlight/lantern,/obj/item/gps{gps_tag = "Sif Free Radio"},/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) "R" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) "Z" = (/obj/cryogaia_away_spawner/aerostat_inside,/turf/simulated/floor/wood,/area/submap/virgo2/DJOutpost1) diff --git a/maps/yw/submaps/aerostat/submaps/DJOutpost2.dmm b/maps/yw/submaps/aerostat/submaps/DJOutpost2.dmm index 0a80e5fb2a3..a0e95953ae4 100644 --- a/maps/yw/submaps/aerostat/submaps/DJOutpost2.dmm +++ b/maps/yw/submaps/aerostat/submaps/DJOutpost2.dmm @@ -7,8 +7,8 @@ /area/submap/virgo2/DJOutpost1) "c" = ( /obj/structure/grille/broken, -/obj/item/weapon/material/shard, -/obj/item/weapon/material/shard{ +/obj/item/material/shard, +/obj/item/material/shard{ icon_state = "shardmedium" }, /obj/item/stack/rods, @@ -16,7 +16,7 @@ /area/submap/virgo2/DJOutpost1) "d" = ( /obj/structure/grille/broken, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor, /area/submap/virgo2/DJOutpost1) "e" = ( @@ -64,7 +64,7 @@ /area/submap/virgo2/DJOutpost1) "m" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/radio/phone, +/obj/item/radio/phone, /turf/simulated/floor/outdoors/dirt, /area/submap/virgo2/DJOutpost1) "n" = ( @@ -80,7 +80,7 @@ /area/submap/virgo2/DJOutpost1) "q" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/radio, +/obj/item/radio, /obj/structure/cable/yellow, /turf/simulated/floor/wood/broken, /area/submap/virgo2/DJOutpost1) @@ -99,7 +99,7 @@ /area/submap/virgo2/DJOutpost1) "w" = ( /obj/structure/grille/broken, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "shardmedium" }, /turf/simulated/floor, @@ -110,7 +110,7 @@ /area/submap/virgo2/DJOutpost1) "y" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/radio/intercom/syndicate{ +/obj/item/radio/intercom/syndicate{ desc = "Talk through this."; name = "station intercom (General)" }, @@ -126,7 +126,7 @@ /area/submap/virgo2/DJOutpost1) "C" = ( /obj/structure/grille/broken, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /obj/structure/cable/yellow{ @@ -137,24 +137,24 @@ /turf/simulated/floor, /area/submap/virgo2/DJOutpost1) "D" = ( -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "shardmedium" }, /turf/template_noop, /area/template_noop) "F" = ( -/obj/item/device/transfer_valve, +/obj/item/transfer_valve, /turf/simulated/floor/outdoors/rocks, /area/submap/virgo2/DJOutpost1) "G" = ( /obj/structure/grille/broken, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /turf/simulated/floor, /area/submap/virgo2/DJOutpost1) "H" = ( -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /turf/template_noop, @@ -164,7 +164,7 @@ /turf/simulated/floor/wood/broken, /area/submap/virgo2/DJOutpost1) "J" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/template_noop, /area/template_noop) "K" = ( @@ -176,12 +176,12 @@ /turf/simulated/floor/wood/broken, /area/submap/virgo2/DJOutpost1) "L" = ( -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/floor/outdoors/rocks, /area/submap/virgo2/DJOutpost1) "M" = ( /obj/structure/grille/broken, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /obj/item/stack/rods, diff --git a/maps/yw/submaps/aerostat/submaps/DecoupledEngine.dmm b/maps/yw/submaps/aerostat/submaps/DecoupledEngine.dmm index 1247c21bff5..d5af1f9a98a 100644 --- a/maps/yw/submaps/aerostat/submaps/DecoupledEngine.dmm +++ b/maps/yw/submaps/aerostat/submaps/DecoupledEngine.dmm @@ -1,16 +1,16 @@ "aa" = (/turf/template_noop,/area/template_noop) "ab" = (/turf/template_noop,/area/submap/virgo2/DecoupledEngine) -"ac" = (/obj/item/weapon/fuel_assembly/deuterium,/turf/template_noop,/area/submap/virgo2/DecoupledEngine) +"ac" = (/obj/item/fuel_assembly/deuterium,/turf/template_noop,/area/submap/virgo2/DecoupledEngine) "ad" = (/turf/simulated/mineral/floor/ignore_mapgen/bor4,/area/submap/virgo2/DecoupledEngine) -"ae" = (/obj/item/weapon/extinguisher,/turf/template_noop,/area/submap/virgo2/DecoupledEngine) -"af" = (/obj/item/weapon/material/shard/phoron,/turf/template_noop,/area/submap/virgo2/DecoupledEngine) +"ae" = (/obj/item/extinguisher,/turf/template_noop,/area/submap/virgo2/DecoupledEngine) +"af" = (/obj/item/material/shard/phoron,/turf/template_noop,/area/submap/virgo2/DecoupledEngine) "ag" = (/obj/machinery/power/rad_collector,/turf/simulated/mineral/floor/ignore_mapgen/bor4,/area/submap/virgo2/DecoupledEngine) -"ah" = (/obj/item/weapon/arrow/rod,/obj/item/stack/material/steel,/turf/simulated/floor/outdoors/rocks,/area/submap/virgo2/DecoupledEngine) +"ah" = (/obj/item/arrow/rod,/obj/item/stack/material/steel,/turf/simulated/floor/outdoors/rocks,/area/submap/virgo2/DecoupledEngine) "ai" = (/obj/item/stack/material/steel,/turf/simulated/mineral/floor/ignore_mapgen/bor4,/area/submap/virgo2/DecoupledEngine) "aj" = (/turf/simulated/floor/outdoors/rocks,/area/submap/virgo2/DecoupledEngine) "ak" = (/obj/structure/lattice,/obj/structure/girder/displaced,/turf/simulated/floor/outdoors/rocks,/area/submap/virgo2/DecoupledEngine) "al" = (/obj/item/projectile/bullet/magnetic/fuelrod,/turf/simulated/mineral/floor/ignore_mapgen/bor4,/area/submap/virgo2/DecoupledEngine) -"am" = (/obj/item/weapon/arrow/rod,/turf/template_noop,/area/submap/virgo2/DecoupledEngine) +"am" = (/obj/item/arrow/rod,/turf/template_noop,/area/submap/virgo2/DecoupledEngine) "an" = (/turf/simulated/floor/lava,/area/submap/virgo2/DecoupledEngine) "ao" = (/obj/structure/lattice,/turf/simulated/floor/outdoors/rocks,/area/submap/virgo2/DecoupledEngine) "ap" = (/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/submap/virgo2/DecoupledEngine) @@ -35,7 +35,7 @@ "aI" = (/obj/effect/decal/cleanable/blood/oil/streak{amount = 0},/obj/effect/floor_decal/rust,/turf/simulated/floor,/area/submap/virgo2/DecoupledEngine) "aJ" = (/obj/machinery/power/rad_collector,/obj/effect/floor_decal/rust,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/turf/simulated/floor,/area/submap/virgo2/DecoupledEngine) "aK" = (/obj/effect/floor_decal/rust,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/turf/simulated/floor,/area/submap/virgo2/DecoupledEngine) -"aL" = (/obj/structure/grille/broken,/obj/structure/window/phoronreinforced{icon_state = "phoronrwindow"; dir = 4},/obj/item/weapon/material/shard/phoron,/obj/effect/floor_decal/rust,/turf/simulated/floor,/area/submap/virgo2/DecoupledEngine) +"aL" = (/obj/structure/grille/broken,/obj/structure/window/phoronreinforced{icon_state = "phoronrwindow"; dir = 4},/obj/item/material/shard/phoron,/obj/effect/floor_decal/rust,/turf/simulated/floor,/area/submap/virgo2/DecoupledEngine) "aM" = (/obj/machinery/atmospherics/pipe/manifold4w/visible,/obj/effect/floor_decal/rust,/turf/simulated/floor,/area/submap/virgo2/DecoupledEngine) "aN" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/obj/effect/floor_decal/rust,/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor,/area/submap/virgo2/DecoupledEngine) "aO" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"; dir = 4},/turf/simulated/floor/lava,/area/submap/virgo2/DecoupledEngine) @@ -66,7 +66,7 @@ "bn" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 4},/turf/simulated/floor/outdoors/rocks,/area/submap/virgo2/DecoupledEngine) "bo" = (/obj/effect/floor_decal/rust,/obj/structure/closet/crate/radiation,/turf/simulated/floor,/area/submap/virgo2/DecoupledEngine) "bp" = (/obj/effect/decal/cleanable/blood/oil,/obj/effect/floor_decal/rust,/turf/simulated/floor,/area/submap/virgo2/DecoupledEngine) -"bq" = (/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/dirt,/obj/item/weapon/rcd,/turf/simulated/floor,/area/submap/virgo2/DecoupledEngine) +"bq" = (/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/dirt,/obj/item/rcd,/turf/simulated/floor,/area/submap/virgo2/DecoupledEngine) "br" = (/obj/structure/sign/warning/radioactive,/turf/simulated/wall/durasteel,/area/submap/virgo2/DecoupledEngine) "bs" = (/obj/structure/grille,/obj/structure/window/phoronreinforced{icon_state = "phoronrwindow"; dir = 1},/obj/structure/window/phoronreinforced{icon_state = "phoronrwindow"; dir = 8},/obj/structure/window/phoronreinforced,/turf/simulated/floor,/area/submap/virgo2/DecoupledEngine) "bt" = (/obj/structure/grille,/obj/structure/window/phoronreinforced{icon_state = "phoronrwindow"; dir = 1},/obj/structure/window/phoronreinforced,/turf/simulated/floor,/area/submap/virgo2/DecoupledEngine) @@ -76,9 +76,9 @@ "bx" = (/obj/structure/girder,/turf/simulated/floor/outdoors/rocks,/area/submap/virgo2/DecoupledEngine) "by" = (/obj/structure/girder/displaced,/turf/simulated/floor/outdoors/rocks,/area/submap/virgo2/DecoupledEngine) "bz" = (/turf/simulated/mineral/floor/ignore_mapgen/bor4,/area/template_noop) -"bA" = (/obj/item/weapon/arrow/rod,/turf/simulated/mineral/floor/ignore_mapgen/bor4,/area/submap/virgo2/DecoupledEngine) -"bB" = (/obj/item/weapon/fuel_assembly/deuterium,/turf/simulated/mineral/floor/ignore_mapgen/bor4,/area/submap/virgo2/DecoupledEngine) -"bC" = (/obj/item/weapon/material/shard/phoron,/turf/simulated/mineral/floor/ignore_mapgen/bor4,/area/submap/virgo2/DecoupledEngine) +"bA" = (/obj/item/arrow/rod,/turf/simulated/mineral/floor/ignore_mapgen/bor4,/area/submap/virgo2/DecoupledEngine) +"bB" = (/obj/item/fuel_assembly/deuterium,/turf/simulated/mineral/floor/ignore_mapgen/bor4,/area/submap/virgo2/DecoupledEngine) +"bC" = (/obj/item/material/shard/phoron,/turf/simulated/mineral/floor/ignore_mapgen/bor4,/area/submap/virgo2/DecoupledEngine) "bD" = (/obj/structure/lattice,/turf/simulated/mineral/floor/ignore_mapgen/bor4,/area/submap/virgo2/DecoupledEngine) "bE" = (/obj/cryogaia_away_spawner/aerostat_surface,/turf/simulated/mineral/floor/ignore_mapgen/bor4,/area/submap/virgo2/DecoupledEngine) "SB" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 6},/obj/effect/floor_decal/rust,/obj/structure/salvageable/server,/turf/simulated/floor,/area/submap/virgo2/DecoupledEngine) diff --git a/maps/yw/submaps/aerostat/submaps/DoomP.dmm b/maps/yw/submaps/aerostat/submaps/DoomP.dmm index 6c12b04759e..72d99f24d53 100644 --- a/maps/yw/submaps/aerostat/submaps/DoomP.dmm +++ b/maps/yw/submaps/aerostat/submaps/DoomP.dmm @@ -337,26 +337,26 @@ /area/submap/virgo2/DoomP) "bn" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/syndie_kit/spy, -/obj/item/weapon/card/id/syndicate, +/obj/item/storage/box/syndie_kit/spy, +/obj/item/card/id/syndicate, /turf/simulated/floor/tiled/techfloor, /area/submap/virgo2/DoomP) "bo" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/smokes, +/obj/item/storage/box/smokes, /turf/simulated/floor/tiled/techfloor, /area/submap/virgo2/DoomP) "bp" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/handcuffs, +/obj/item/storage/box/handcuffs, /turf/simulated/floor/tiled/techfloor, /area/submap/virgo2/DoomP) "bq" = ( /obj/structure/table/rack, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, /turf/simulated/floor/tiled/techfloor, /area/submap/virgo2/DoomP) "br" = ( @@ -366,14 +366,14 @@ /area/submap/virgo2/DoomP) "bs" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/contender, +/obj/item/gun/projectile/contender, /obj/item/ammo_magazine/s357, /obj/item/ammo_magazine/s357, /turf/simulated/floor/tiled/techfloor, /area/submap/virgo2/DoomP) "bt" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/item/toy/plushie/spider, /obj/effect/floor_decal/corner/lime/full{ dir = 8 @@ -389,7 +389,7 @@ /area/submap/virgo2/DoomP) "bv" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/effect/floor_decal/corner/lime{ dir = 5 }, @@ -397,7 +397,7 @@ /area/submap/virgo2/DoomP) "bw" = ( /obj/structure/table/standard, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /obj/effect/floor_decal/corner/lime{ dir = 5 }, diff --git a/maps/yw/submaps/aerostat/submaps/Drugden.dmm b/maps/yw/submaps/aerostat/submaps/Drugden.dmm index 0b42cb37028..9b7981cf977 100644 --- a/maps/yw/submaps/aerostat/submaps/Drugden.dmm +++ b/maps/yw/submaps/aerostat/submaps/Drugden.dmm @@ -25,18 +25,18 @@ /area/submap/virgo2/Drugd) "i" = ( /obj/structure/closet/cabinet, -/obj/item/weapon/lipstick/random, +/obj/item/lipstick/random, /turf/simulated/floor/carpet, /area/submap/virgo2/Drugd) "j" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/structure/curtain/open/bed, /turf/simulated/floor/carpet, /area/submap/virgo2/Drugd) "k" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/pill/happy{ +/obj/item/reagent_containers/pill/happy{ name = "pill" }, /turf/simulated/floor/carpet, @@ -66,7 +66,7 @@ /area/submap/virgo2/Drugd) "r" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/pill/methylphenidate{ +/obj/item/reagent_containers/pill/methylphenidate{ name = "pill" }, /turf/simulated/floor/carpet, @@ -79,7 +79,7 @@ /turf/simulated/floor/carpet, /area/submap/virgo2/Drugd) "t" = ( -/obj/item/weapon/reagent_containers/pill/citalopram{ +/obj/item/reagent_containers/pill/citalopram{ name = "pill" }, /turf/simulated/floor/carpet, @@ -99,13 +99,13 @@ /area/submap/virgo2/Drugd) "x" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp, -/obj/item/weapon/reagent_containers/syringe/drugs, +/obj/item/flashlight/lamp, +/obj/item/reagent_containers/syringe/drugs, /turf/simulated/floor/carpet, /area/submap/virgo2/Drugd) "y" = ( /obj/structure/bed/chair/comfy/beige, -/obj/item/weapon/reagent_containers/pill/citalopram{ +/obj/item/reagent_containers/pill/citalopram{ name = "pill" }, /turf/simulated/floor/carpet, @@ -115,17 +115,17 @@ /turf/simulated/floor, /area/submap/virgo2/Drugd) "A" = ( -/obj/item/weapon/reagent_containers/pill/citalopram{ +/obj/item/reagent_containers/pill/citalopram{ name = "pill" }, -/obj/item/weapon/reagent_containers/pill/citalopram{ +/obj/item/reagent_containers/pill/citalopram{ name = "pill" }, /turf/simulated/floor/carpet, /area/submap/virgo2/Drugd) "B" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/pill_bottle/happy, +/obj/item/storage/pill_bottle/happy, /turf/simulated/floor/tiled, /area/submap/virgo2/Drugd) "C" = ( @@ -135,31 +135,31 @@ /area/submap/virgo2/Drugd) "D" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/pill/citalopram, -/obj/item/weapon/reagent_containers/pill/citalopram, +/obj/item/reagent_containers/pill/citalopram, +/obj/item/reagent_containers/pill/citalopram, /turf/simulated/floor/tiled, /area/submap/virgo2/Drugd) "E" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/pill/tramadol, -/obj/item/weapon/reagent_containers/pill/tramadol, +/obj/item/reagent_containers/pill/tramadol, +/obj/item/reagent_containers/pill/tramadol, /turf/simulated/floor/tiled, /area/submap/virgo2/Drugd) "F" = ( /obj/structure/closet/cabinet, /obj/item/clothing/accessory/jacket, -/obj/item/weapon/material/butterfly/switchblade, +/obj/item/material/butterfly/switchblade, /turf/simulated/floor/carpet, /area/submap/virgo2/Drugd) "G" = ( -/obj/item/weapon/reagent_containers/pill/zoom{ +/obj/item/reagent_containers/pill/zoom{ name = "pill" }, /obj/random/trash, /turf/simulated/floor/carpet, /area/submap/virgo2/Drugd) "H" = ( -/obj/item/weapon/reagent_containers/pill/zoom{ +/obj/item/reagent_containers/pill/zoom{ name = "pill" }, /turf/simulated/floor/carpet, @@ -170,7 +170,7 @@ /area/submap/virgo2/Drugd) "J" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/scalpel, +/obj/item/surgical/scalpel, /turf/simulated/floor/tiled, /area/submap/virgo2/Drugd) "K" = ( @@ -189,18 +189,18 @@ "N" = ( /obj/effect/floor_decal/rust, /obj/structure/table/standard, -/obj/item/device/survivalcapsule, +/obj/item/survivalcapsule, /turf/simulated/floor/tiled, /area/submap/virgo2/Drugd) "O" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/pill/zoom, -/obj/item/weapon/reagent_containers/pill/zoom, +/obj/item/reagent_containers/pill/zoom, +/obj/item/reagent_containers/pill/zoom, /turf/simulated/floor, /area/submap/virgo2/Drugd) "P" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/pill/tramadol{ +/obj/item/reagent_containers/pill/tramadol{ name = "pill" }, /turf/simulated/floor/carpet, @@ -210,17 +210,17 @@ /turf/simulated/floor, /area/submap/virgo2/Drugd) "S" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor, /area/submap/virgo2/Drugd) "T" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/carpet, /area/submap/virgo2/Drugd) "U" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/syringe/drugs, +/obj/item/reagent_containers/syringe/drugs, /turf/simulated/floor/carpet, /area/submap/virgo2/Drugd) "V" = ( diff --git a/maps/yw/submaps/aerostat/submaps/Epod3.dmm b/maps/yw/submaps/aerostat/submaps/Epod3.dmm index 38cb94b2db7..3a73016f767 100644 --- a/maps/yw/submaps/aerostat/submaps/Epod3.dmm +++ b/maps/yw/submaps/aerostat/submaps/Epod3.dmm @@ -30,7 +30,7 @@ /obj/structure/closet/walllocker/emerglocker{ pixel_y = 28 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -26 }, /turf/simulated/shuttle/floor, @@ -44,7 +44,7 @@ pixel_y = 28 }, /obj/machinery/light, -/obj/item/weapon/weldingtool/largetank, +/obj/item/weldingtool/largetank, /turf/simulated/shuttle/floor, /area/submap/virgo2/Epod3) "j" = ( diff --git a/maps/yw/submaps/aerostat/submaps/Epod4.dmm b/maps/yw/submaps/aerostat/submaps/Epod4.dmm index 4f489d6688c..a3ad0885f4b 100644 --- a/maps/yw/submaps/aerostat/submaps/Epod4.dmm +++ b/maps/yw/submaps/aerostat/submaps/Epod4.dmm @@ -58,7 +58,7 @@ dir = 1 }, /obj/structure/closet/walllocker/emerglocker/east, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -28 diff --git a/maps/yw/submaps/aerostat/submaps/GovPatrol.dmm b/maps/yw/submaps/aerostat/submaps/GovPatrol.dmm index f492be1e78d..b30673cda52 100644 --- a/maps/yw/submaps/aerostat/submaps/GovPatrol.dmm +++ b/maps/yw/submaps/aerostat/submaps/GovPatrol.dmm @@ -13,11 +13,11 @@ /turf/simulated/mineral/floor/ignore_mapgen/bor4, /area/submap/virgo2/GovPatrol) "e" = ( -/obj/item/device/radio/off, +/obj/item/radio/off, /turf/simulated/mineral/floor/ignore_mapgen/bor4, /area/submap/virgo2/GovPatrol) "f" = ( -/obj/item/weapon/storage/box/flare, +/obj/item/storage/box/flare, /turf/simulated/mineral/floor/ignore_mapgen/bor4, /area/submap/virgo2/GovPatrol) "g" = ( @@ -35,7 +35,7 @@ /turf/simulated/mineral/floor/ignore_mapgen/bor4, /area/submap/virgo2/GovPatrol) "k" = ( -/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever, +/obj/item/gun/projectile/shotgun/pump/rifle/lever, /turf/simulated/mineral/floor/ignore_mapgen/bor4, /area/submap/virgo2/GovPatrol) "m" = ( diff --git a/maps/yw/submaps/aerostat/submaps/Lab1.dmm b/maps/yw/submaps/aerostat/submaps/Lab1.dmm index 248af030ec1..9bc34c7bcfa 100644 --- a/maps/yw/submaps/aerostat/submaps/Lab1.dmm +++ b/maps/yw/submaps/aerostat/submaps/Lab1.dmm @@ -58,7 +58,7 @@ /area/submap/virgo2/Lab1) "k" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox, +/obj/item/storage/toolbox, /obj/random/tool, /turf/simulated/floor/tiled/steel_dirty, /area/submap/virgo2/Lab1) @@ -98,7 +98,7 @@ "q" = ( /obj/structure/table/standard, /obj/random/toolbox, -/obj/item/weapon/cell/super, +/obj/item/cell/super, /turf/simulated/floor/tiled/steel_dirty, /area/submap/virgo2/Lab1) "r" = ( @@ -113,12 +113,12 @@ /area/submap/virgo2/Lab1) "t" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /turf/simulated/floor/tiled/steel_dirty, /area/submap/virgo2/Lab1) "u" = ( /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/hyper; + cell_type = /obj/item/cell/hyper; dir = 8; name = "Unknown APC"; operating = 0; @@ -149,14 +149,14 @@ /area/submap/virgo2/Lab1) "x" = ( /obj/structure/table/standard, -/obj/item/weapon/paper{ +/obj/item/paper{ desc = "Gladstone for the last fucking time, We have crowbars for a REASON. Stop breaking in through the goddamn windows! We big red shiny doors for god's sakes!" }, /turf/simulated/floor/tiled/steel_dirty, /area/submap/virgo2/Lab1) "y" = ( /obj/structure/table/standard, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/tiled/steel_dirty, /area/submap/virgo2/Lab1) "z" = ( @@ -175,7 +175,7 @@ /area/submap/virgo2/Lab1) "C" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/floor/tiled/steel_dirty, /area/submap/virgo2/Lab1) "D" = ( @@ -186,7 +186,7 @@ /area/submap/virgo2/Lab1) "E" = ( /obj/structure/table/standard, -/obj/item/device/multitool, +/obj/item/multitool, /obj/item/clothing/glasses/welding, /turf/simulated/floor/tiled/steel_dirty, /area/submap/virgo2/Lab1) @@ -211,7 +211,7 @@ /turf/simulated/floor/tiled/steel_dirty, /area/submap/virgo2/Lab1) "I" = ( -/obj/item/weapon/cell/super, +/obj/item/cell/super, /turf/simulated/floor/tiled/steel_dirty, /area/submap/virgo2/Lab1) "J" = ( @@ -234,7 +234,7 @@ /turf/simulated/floor/tiled/steel_dirty, /area/submap/virgo2/Lab1) "M" = ( -/obj/item/weapon/storage/bag/circuits, +/obj/item/storage/bag/circuits, /obj/structure/table/standard, /turf/simulated/floor/tiled/steel_dirty, /area/submap/virgo2/Lab1) diff --git a/maps/yw/submaps/aerostat/submaps/MCamp1.dmm b/maps/yw/submaps/aerostat/submaps/MCamp1.dmm index b1aeb99ee1e..7d9f295a4fb 100644 --- a/maps/yw/submaps/aerostat/submaps/MCamp1.dmm +++ b/maps/yw/submaps/aerostat/submaps/MCamp1.dmm @@ -17,7 +17,7 @@ /turf/simulated/mineral/floor/ignore_mapgen/bor4, /area/submap/virgo2/MilitaryCamp1) "g" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/mineral/floor/ignore_mapgen/bor4, /area/submap/virgo2/MilitaryCamp1) "h" = ( @@ -44,7 +44,7 @@ /area/submap/virgo2/MilitaryCamp1) "n" = ( /obj/structure/table/standard, -/obj/item/weapon/gun/energy/gun, +/obj/item/gun/energy/gun, /turf/simulated/floor/tiled/techfloor/bor4, /area/submap/virgo2/MilitaryCamp1) "o" = ( @@ -53,12 +53,12 @@ /area/submap/virgo2/MilitaryCamp1) "q" = ( /obj/structure/table/standard, -/obj/item/weapon/gun/projectile/automatic/c20r, +/obj/item/gun/projectile/automatic/c20r, /turf/simulated/floor/tiled/techfloor/bor4, /area/submap/virgo2/MilitaryCamp1) "r" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/syndie_kit/space, +/obj/item/storage/box/syndie_kit/space, /turf/simulated/floor/tiled/techfloor/bor4, /area/submap/virgo2/MilitaryCamp1) "s" = ( diff --git a/maps/yw/submaps/aerostat/submaps/MHR.dmm b/maps/yw/submaps/aerostat/submaps/MHR.dmm index 8b002756219..e62387e3d9d 100644 --- a/maps/yw/submaps/aerostat/submaps/MHR.dmm +++ b/maps/yw/submaps/aerostat/submaps/MHR.dmm @@ -29,7 +29,7 @@ /area/submap/virgo2/MHR) "h" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/backpack, +/obj/item/storage/backpack, /turf/simulated/mineral/floor/ignore_mapgen/bor4{ outdoors = 0 }, @@ -42,7 +42,7 @@ /area/submap/virgo2/MHR) "j" = ( /obj/structure/table/standard, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "Do not enter the cave. The estimated active time of the Vicerators is much longer due to the improvements on the rotor bearings. It's estimated to be roughly a few months before we start to see any chancces of mechanical failure. "; name = "NOTICE: DO NOT ENTER" }, @@ -91,7 +91,7 @@ "r" = ( /obj/effect/decal/remains, /obj/item/clothing/mask/gas/explorer, -/obj/item/weapon/material/twohanded/fireaxe, +/obj/item/material/twohanded/fireaxe, /turf/simulated/mineral/floor/ignore_mapgen/bor4{ outdoors = 0 }, diff --git a/maps/yw/submaps/aerostat/submaps/Manor1.dmm b/maps/yw/submaps/aerostat/submaps/Manor1.dmm index 0259cf73209..814ce5470ec 100644 --- a/maps/yw/submaps/aerostat/submaps/Manor1.dmm +++ b/maps/yw/submaps/aerostat/submaps/Manor1.dmm @@ -18,7 +18,7 @@ /area/submap/virgo2/Manor1) "ae" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "af" = ( @@ -42,7 +42,7 @@ "aj" = ( /obj/structure/table/woodentable, /obj/item/clothing/mask/smokable/cigarette/cigar, -/obj/item/weapon/material/ashtray/glass, +/obj/item/material/ashtray/glass, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "ak" = ( @@ -56,7 +56,7 @@ /area/submap/virgo2/Manor1) "am" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight, +/obj/item/flashlight, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "an" = ( @@ -85,13 +85,13 @@ /area/submap/virgo2/Manor1) "at" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /obj/effect/decal/cleanable/blood/gibs/robot, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "au" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/effect/decal/cleanable/blood/oil, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) @@ -101,8 +101,8 @@ /area/submap/virgo2/Manor1) "aw" = ( /obj/structure/table/woodentable, -/obj/item/weapon/mop, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/mop, +/obj/item/reagent_containers/glass/bucket, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "ax" = ( @@ -125,12 +125,12 @@ /area/submap/virgo2/Manor1) "aC" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/maglight, +/obj/item/flashlight/maglight, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "aD" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "aE" = ( @@ -148,12 +148,12 @@ /area/submap/virgo2/Manor1) "aG" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper, +/obj/item/paper, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "aH" = ( /obj/structure/table/woodentable, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "aI" = ( @@ -175,7 +175,7 @@ /area/submap/virgo2/Manor1) "aO" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "aP" = ( @@ -205,17 +205,17 @@ /area/submap/virgo2/Manor1) "aV" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "aW" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, +/obj/item/reagent_containers/food/condiment/small/peppermill, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "aX" = ( /obj/structure/table/standard, -/obj/item/weapon/material/knife, +/obj/item/material/knife, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "aY" = ( @@ -224,7 +224,7 @@ /area/submap/virgo2/Manor1) "aZ" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/small/saltshaker, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "ba" = ( @@ -233,19 +233,19 @@ /area/submap/virgo2/Manor1) "bb" = ( /obj/structure/table/standard, -/obj/item/weapon/tray, -/obj/item/weapon/tray, +/obj/item/tray, +/obj/item/tray, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "bc" = ( /obj/structure/table/standard, -/obj/item/weapon/material/knife/butch, +/obj/item/material/knife/butch, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "bd" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "be" = ( @@ -262,7 +262,7 @@ /area/submap/virgo2/Manor1) "bg" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin, +/obj/item/paper_bin, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "bh" = ( @@ -300,7 +300,7 @@ /turf/template_noop, /area/submap/virgo2/Manor1) "bo" = ( -/obj/item/weapon/material/twohanded/baseballbat/metal, +/obj/item/material/twohanded/baseballbat/metal, /turf/simulated/floor/carpet/blucarpet, /area/submap/virgo2/Manor1) "bp" = ( @@ -342,7 +342,7 @@ /area/submap/virgo2/Manor1) "bv" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/small/sugar, +/obj/item/reagent_containers/food/condiment/small/sugar, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "bw" = ( @@ -370,18 +370,18 @@ /area/submap/virgo2/Manor1) "bA" = ( /obj/structure/table/standard, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "bB" = ( /obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/reagent_containers/food/snacks/stew, -/obj/item/weapon/reagent_containers/food/snacks/stew, +/obj/item/reagent_containers/food/snacks/stew, +/obj/item/reagent_containers/food/snacks/stew, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "bC" = ( -/obj/item/weapon/shovel, +/obj/item/shovel, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "bD" = ( @@ -394,9 +394,9 @@ /area/submap/virgo2/Manor1) "bE" = ( /obj/structure/table/standard, -/obj/item/weapon/material/kitchen/utensil/spoon, -/obj/item/weapon/material/kitchen/utensil/spoon, -/obj/item/weapon/material/kitchen/utensil/spoon, +/obj/item/material/kitchen/utensil/spoon, +/obj/item/material/kitchen/utensil/spoon, +/obj/item/material/kitchen/utensil/spoon, /obj/effect/spider/stickyweb, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) @@ -407,8 +407,8 @@ /area/submap/virgo2/Manor1) "bG" = ( /obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/reagent_containers/food/snacks/sausage, -/obj/item/weapon/reagent_containers/food/snacks/sausage, +/obj/item/reagent_containers/food/snacks/sausage, +/obj/item/reagent_containers/food/snacks/sausage, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "bH" = ( @@ -423,18 +423,18 @@ /area/submap/virgo2/Manor1) "bJ" = ( /obj/structure/table/standard, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/kitchen/rollingpin, /obj/effect/spider/stickyweb, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "bK" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/glass/bottle/stoxin, +/obj/item/reagent_containers/glass/bottle/stoxin, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "bL" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/fancy/candle_box, +/obj/item/storage/fancy/candle_box, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "bM" = ( @@ -467,7 +467,7 @@ /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "bT" = ( -/obj/item/weapon/material/minihoe, +/obj/item/material/minihoe, /turf/simulated/floor/carpet/blucarpet, /area/submap/virgo2/Manor1) "bU" = ( @@ -501,7 +501,7 @@ /area/submap/virgo2/Manor1) "ca" = ( /obj/structure/table/woodentable, -/obj/item/weapon/melee/umbrella/random, +/obj/item/melee/umbrella/random, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "cb" = ( @@ -511,25 +511,25 @@ /area/submap/virgo2/Manor1) "cc" = ( /obj/structure/closet/cabinet, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, /obj/random/medical, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "cd" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "ce" = ( /obj/structure/bed/double, -/obj/item/weapon/bedsheet/rddouble, +/obj/item/bedsheet/rddouble, /obj/structure/curtain/open/bed, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "cf" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/wallet/random, +/obj/item/storage/wallet/random, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "cg" = ( @@ -544,7 +544,7 @@ /area/submap/virgo2/Manor1) "ci" = ( /obj/structure/closet/crate, -/obj/item/weapon/flame/lighter/random, +/obj/item/flame/lighter/random, /obj/random/powercell, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) @@ -572,7 +572,7 @@ /area/submap/virgo2/Manor1) "cn" = ( /obj/structure/closet/crate, -/obj/item/weapon/storage/wallet/random, +/obj/item/storage/wallet/random, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "co" = ( @@ -597,7 +597,7 @@ /turf/simulated/floor/carpet/purcarpet, /area/submap/virgo2/Manor1) "cs" = ( -/obj/item/weapon/material/twohanded/spear, +/obj/item/material/twohanded/spear, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "ct" = ( @@ -608,7 +608,7 @@ /area/submap/virgo2/Manor1) "cu" = ( /obj/effect/decal/remains, -/obj/item/weapon/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "cv" = ( @@ -627,8 +627,8 @@ /area/submap/virgo2/Manor1) "cy" = ( /obj/structure/table/standard, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, /turf/simulated/floor/tiled/hydro, /area/submap/virgo2/Manor1) "cz" = ( @@ -637,7 +637,7 @@ /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "cA" = ( -/obj/item/weapon/paper/crumpled, +/obj/item/paper/crumpled, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "cB" = ( diff --git a/maps/yw/submaps/aerostat/submaps/Rocky1.dmm b/maps/yw/submaps/aerostat/submaps/Rocky1.dmm index 5e5f3c91546..da88b9f5d39 100644 --- a/maps/yw/submaps/aerostat/submaps/Rocky1.dmm +++ b/maps/yw/submaps/aerostat/submaps/Rocky1.dmm @@ -18,7 +18,7 @@ "g" = ( /obj/random/handgun/sec, /obj/effect/decal/remains/human, -/obj/item/weapon/storage/secure/briefcase/money, +/obj/item/storage/secure/briefcase/money, /turf/simulated/mineral/floor/ignore_mapgen/bor4, /area/submap/virgo2/Rocky1) diff --git a/maps/yw/submaps/aerostat/submaps/Rockybase.dmm b/maps/yw/submaps/aerostat/submaps/Rockybase.dmm index e0642632a1e..1779c4655f1 100644 --- a/maps/yw/submaps/aerostat/submaps/Rockybase.dmm +++ b/maps/yw/submaps/aerostat/submaps/Rockybase.dmm @@ -78,7 +78,7 @@ pixel_y = 0 }, /obj/structure/curtain/open/shower, -/obj/item/weapon/soap, +/obj/item/soap, /turf/simulated/floor/tiled/techfloor/bor4, /area/submap/virgo2/Rockybase) "aq" = ( @@ -87,7 +87,7 @@ /area/submap/virgo2/Rockybase) "ar" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/tiled/techfloor/bor4, /area/submap/virgo2/Rockybase) "as" = ( @@ -98,7 +98,7 @@ /area/submap/virgo2/Rockybase) "at" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /turf/simulated/floor/tiled/techfloor/bor4, /area/submap/virgo2/Rockybase) "au" = ( @@ -110,7 +110,7 @@ /area/submap/virgo2/Rockybase) "av" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/item/toy/plushie/spider, /turf/simulated/floor/tiled/techfloor/bor4, /area/submap/virgo2/Rockybase) @@ -125,11 +125,11 @@ /turf/simulated/floor/tiled/techfloor/bor4, /area/submap/virgo2/Rockybase) "ay" = ( -/obj/item/weapon/stool, +/obj/item/stool, /turf/simulated/floor/tiled/techfloor/bor4, /area/submap/virgo2/Rockybase) "az" = ( -/obj/item/weapon/storage/belt/janitor, +/obj/item/storage/belt/janitor, /obj/structure/table/standard, /turf/simulated/floor/tiled/techfloor/bor4, /area/submap/virgo2/Rockybase) @@ -144,12 +144,12 @@ /area/submap/virgo2/Rockybase) "aC" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/pistol, +/obj/item/gun/projectile/pistol, /turf/simulated/floor/tiled/techfloor/bor4, /area/submap/virgo2/Rockybase) "aD" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/gun/taser, +/obj/item/gun/energy/gun/taser, /turf/simulated/floor/tiled/techfloor/bor4, /area/submap/virgo2/Rockybase) "aE" = ( @@ -164,8 +164,8 @@ /area/submap/virgo2/Rockybase) "aG" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, /turf/simulated/floor/tiled/techfloor/bor4, /area/submap/virgo2/Rockybase) "aH" = ( @@ -202,9 +202,9 @@ /area/submap/virgo2/Rockybase) "aM" = ( /obj/structure/table/standard, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, /obj/machinery/light{ icon_state = "tube1"; dir = 4 @@ -219,7 +219,7 @@ /area/submap/virgo2/Rockybase) "aO" = ( /obj/structure/table/standard, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "Carl's absolutly fucked in the head. He's trying to squeeze as much drone production out as he can since he's worried we're gonna get found out but he's getting sloppier with each batch. Now's he's telling us he can speed the time on the IFF encoding. I already have a hard enough time getting these damn things not to stare at walls and now he's gonna shortchange the only part of these tincans that tells em not to turn us into paste on a wall. I told Richter to get out while he can, We're counting days before either some Sif task force shows up at our door or these things decide we aren't there friends anymore."; name = "Note" }, @@ -278,8 +278,8 @@ /area/submap/virgo2/Rockybase) "aW" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, -/obj/item/weapon/gun/projectile/pistol, +/obj/item/bedsheet, +/obj/item/gun/projectile/pistol, /turf/simulated/floor/tiled/techfloor/bor4, /area/submap/virgo2/Rockybase) "aX" = ( @@ -292,25 +292,25 @@ /area/submap/virgo2/Rockybase) "aZ" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/bag/trash, -/obj/item/weapon/storage/bag/trash, +/obj/item/storage/bag/trash, +/obj/item/storage/bag/trash, /turf/simulated/floor/tiled/techfloor/bor4, /area/submap/virgo2/Rockybase) "ba" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin, +/obj/item/paper_bin, /turf/simulated/floor/tiled/techfloor/bor4, /area/submap/virgo2/Rockybase) "bb" = ( /obj/machinery/light, /obj/structure/table/standard, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled/techfloor/bor4, /area/submap/virgo2/Rockybase) "bc" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/automatic/c20r, -/obj/item/weapon/gun/projectile/automatic/c20r, +/obj/item/gun/projectile/automatic/c20r, +/obj/item/gun/projectile/automatic/c20r, /turf/simulated/floor/tiled/techfloor/bor4, /area/submap/virgo2/Rockybase) "bd" = ( @@ -398,12 +398,12 @@ /area/submap/virgo2/Rockybase) "bt" = ( /obj/structure/table/standard, -/obj/item/device/kit/paint/gygax/darkgygax, +/obj/item/kit/paint/gygax/darkgygax, /turf/simulated/floor/tiled/techfloor/bor4, /area/submap/virgo2/Rockybase) "bu" = ( /obj/structure/table/standard, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "I've decided to go forward and start some small scale tests of the Vicerator delivery grenades, Might as wall make sure they work like the real ones. There are a few Fauna areas nearbye and we're working to make sure the kinks in the code are worked out. Once we've made sure they stay flying we'll work on the IFF signals."; name = "V-Grenade Notice 2" }, @@ -424,7 +424,7 @@ /area/submap/virgo2/Rockybase) "bx" = ( /obj/structure/table/standard, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "We've finally been able to get the Vicerator delivery grenades working, Took awhile to make sure the latching mechanism didn't fail but we're sure we've got it this time. Vel'Shem's worried about the miners having there own drone fab now but I say it's a small price to pay to keep the metal flowing, Especially since there telling us NT's starting to monopolize the metal rich parts."; name = "V-Grenade Notice 1" }, @@ -451,7 +451,7 @@ /area/submap/virgo2/Rockybase) "bB" = ( /obj/structure/table/standard, -/obj/item/weapon/grenade/spawnergrenade/manhacks, +/obj/item/grenade/spawnergrenade/manhacks, /turf/simulated/floor/tiled/techfloor/bor4, /area/submap/virgo2/Rockybase) "bC" = ( @@ -464,13 +464,13 @@ /obj/machinery/light{ dir = 1 }, -/obj/item/weapon/circuitboard/mecha/gygax/main, -/obj/item/weapon/circuitboard/mecha/gygax/peripherals, -/obj/item/weapon/circuitboard/mecha/gygax/targeting, +/obj/item/circuitboard/mecha/gygax/main, +/obj/item/circuitboard/mecha/gygax/peripherals, +/obj/item/circuitboard/mecha/gygax/targeting, /turf/simulated/floor/tiled/techfloor/bor4, /area/submap/virgo2/Rockybase) "bE" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/plating/bor4, /area/submap/virgo2/Rockybase) "bF" = ( @@ -488,12 +488,12 @@ /area/submap/virgo2/Rockybase) "bI" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox, +/obj/item/storage/toolbox, /turf/simulated/floor/plating/bor4, /area/submap/virgo2/Rockybase) "bJ" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/floor/plating/bor4, /area/submap/virgo2/Rockybase) "bK" = ( @@ -511,7 +511,7 @@ /obj/structure/table/standard, /obj/structure/table/standard, /obj/effect/decal/cleanable/dirt, -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/burn, +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/burn, /turf/simulated/floor/tiled/techfloor/bor4, /area/submap/virgo2/Rockybase) "bN" = ( @@ -539,7 +539,7 @@ /area/submap/virgo2/Rockybase) "bR" = ( /obj/structure/table/standard, -/obj/item/device/mmi/digital/robot, +/obj/item/mmi/digital/robot, /turf/simulated/floor/tiled/techfloor/bor4, /area/submap/virgo2/Rockybase) "bS" = ( @@ -638,7 +638,7 @@ "cj" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/plating/bor4, /area/submap/virgo2/Rockybase) "ck" = ( @@ -684,7 +684,7 @@ dir = 8 }, /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "Unknown APC"; pixel_x = -24 @@ -800,7 +800,7 @@ /turf/simulated/floor/tiled/techfloor/bor4, /area/submap/virgo2/Rockybase) "cI" = ( -/obj/item/weapon/surgical/surgicaldrill, +/obj/item/surgical/surgicaldrill, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/tiled/techfloor/bor4, /area/submap/virgo2/Rockybase) diff --git a/maps/yw/submaps/aerostat/submaps/Shack1.dmm b/maps/yw/submaps/aerostat/submaps/Shack1.dmm index fa3e9243829..74a8d6c2b06 100644 --- a/maps/yw/submaps/aerostat/submaps/Shack1.dmm +++ b/maps/yw/submaps/aerostat/submaps/Shack1.dmm @@ -67,13 +67,13 @@ "p" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table/wooden_reinforced, -/obj/item/weapon/storage/toolbox, +/obj/item/storage/toolbox, /turf/simulated/floor/wood, /area/submap/virgo2/Shack1) "q" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table/wooden_reinforced, -/obj/item/weapon/material/twohanded/fireaxe/scythe, +/obj/item/material/twohanded/fireaxe/scythe, /turf/simulated/floor/wood, /area/submap/virgo2/Shack1) "r" = ( @@ -88,7 +88,7 @@ "t" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table/wooden_reinforced, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/wood, /area/submap/virgo2/Shack1) "v" = ( diff --git a/maps/yw/submaps/aerostat/submaps/backup/Blackshuttledown.dmm b/maps/yw/submaps/aerostat/submaps/backup/Blackshuttledown.dmm index 8ebd94d0670..35e44b9977f 100644 --- a/maps/yw/submaps/aerostat/submaps/backup/Blackshuttledown.dmm +++ b/maps/yw/submaps/aerostat/submaps/backup/Blackshuttledown.dmm @@ -122,8 +122,8 @@ /area/submap/virgo2/Blackshuttledown) "av" = ( /obj/structure/table/steel, -/obj/item/weapon/gun/projectile/automatic/wt550, -/obj/item/weapon/gun/projectile/automatic/p90, +/obj/item/gun/projectile/automatic/wt550, +/obj/item/gun/projectile/automatic/p90, /turf/simulated/floor/tiled/steel, /area/submap/virgo2/Blackshuttledown) "aw" = ( @@ -161,7 +161,7 @@ /area/submap/virgo2/Blackshuttledown) "aC" = ( /obj/structure/table/steel, -/obj/item/weapon/gun/projectile/automatic/c20r, +/obj/item/gun/projectile/automatic/c20r, /obj/machinery/light/small{ dir = 4; pixel_y = 0 @@ -186,12 +186,12 @@ /area/submap/virgo2/Blackshuttledown) "aG" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery, /turf/simulated/floor/tiled/steel, /area/submap/virgo2/Blackshuttledown) "aH" = ( /obj/structure/table/standard, -/obj/item/weapon/tank/anesthetic, +/obj/item/tank/anesthetic, /turf/simulated/floor/tiled/steel, /area/submap/virgo2/Blackshuttledown) "aI" = ( @@ -202,13 +202,13 @@ /area/submap/virgo2/Blackshuttledown) "aJ" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/spray/sterilizine, -/obj/item/weapon/reagent_containers/spray/sterilizine, +/obj/item/reagent_containers/spray/sterilizine, +/obj/item/reagent_containers/spray/sterilizine, /turf/simulated/floor/tiled/steel, /area/submap/virgo2/Blackshuttledown) "aK" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/masks, +/obj/item/storage/box/masks, /turf/simulated/floor/tiled/steel, /area/submap/virgo2/Blackshuttledown) "aL" = ( @@ -236,7 +236,7 @@ /area/submap/virgo2/Blackshuttledown) "aP" = ( /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/hyper; + cell_type = /obj/item/cell/hyper; dir = 4; name = "Unknown APC"; pixel_x = -24 @@ -255,7 +255,7 @@ /area/submap/virgo2/Blackshuttledown) "aS" = ( /obj/structure/table/steel, -/obj/item/weapon/material/knife, +/obj/item/material/knife, /turf/simulated/floor/tiled/steel, /area/submap/virgo2/Blackshuttledown) "aU" = ( @@ -285,7 +285,7 @@ /turf/simulated/floor/plating, /area/submap/virgo2/Blackshuttledown) "aX" = ( -/obj/item/weapon/stool, +/obj/item/stool, /turf/simulated/floor/tiled/steel, /area/submap/virgo2/Blackshuttledown) "aY" = ( @@ -320,7 +320,7 @@ /area/submap/virgo2/Blackshuttledown) "be" = ( /obj/structure/table/steel, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "We need to take a short stop. The engine's are in need of minor repairs due to turbulence, should be a week's time. We've got reserve food supplies but pleanty of locale fauna to subsist on too if need be. PCRC is keeping most of there assets near New Reykjavik and locale authorities are more mindful then most to travel in this kind of weather. Our outfit should be at the rendezvous point in less then ten days assuming the upper ecehelon hasn't dropped ties with us yet."; name = "Operation Progress/M-53" }, @@ -328,7 +328,7 @@ /area/submap/virgo2/Blackshuttledown) "bf" = ( /obj/structure/table/steel, -/obj/item/weapon/paper_bin, +/obj/item/paper_bin, /turf/simulated/floor/tiled/steel, /area/submap/virgo2/Blackshuttledown) "bg" = ( @@ -357,12 +357,12 @@ /area/submap/virgo2/Blackshuttledown) "bl" = ( /obj/structure/table/steel, -/obj/item/weapon/gun/projectile/automatic/c20r, +/obj/item/gun/projectile/automatic/c20r, /turf/simulated/floor/tiled/steel, /area/submap/virgo2/Blackshuttledown) "bm" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /turf/simulated/floor/tiled/steel, /area/submap/virgo2/Blackshuttledown) "bn" = ( @@ -371,7 +371,7 @@ /area/submap/virgo2/Blackshuttledown) "bo" = ( /obj/structure/table/steel, -/obj/item/weapon/gun/projectile/pistol, +/obj/item/gun/projectile/pistol, /obj/machinery/light/small{ dir = 4; pixel_y = 0 @@ -380,7 +380,7 @@ /area/submap/virgo2/Blackshuttledown) "bp" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/structure/bed, /turf/simulated/floor/tiled/steel, /area/submap/virgo2/Blackshuttledown) @@ -391,8 +391,8 @@ /area/submap/virgo2/Blackshuttledown) "br" = ( /obj/structure/table/steel, -/obj/item/weapon/gun/projectile/pistol, -/obj/item/weapon/gun/projectile/shotgun/pump, +/obj/item/gun/projectile/pistol, +/obj/item/gun/projectile/shotgun/pump, /turf/simulated/floor/tiled/steel, /area/submap/virgo2/Blackshuttledown) "bs" = ( @@ -416,13 +416,13 @@ /area/submap/virgo2/Blackshuttledown) "bu" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/machinery/light, /turf/simulated/floor/tiled/steel, /area/submap/virgo2/Blackshuttledown) "bv" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/item/toy/plushie/spider, /turf/simulated/floor/tiled/steel, /area/submap/virgo2/Blackshuttledown) diff --git a/maps/yw/submaps/aerostat/submaps/backup/Boombase.dmm b/maps/yw/submaps/aerostat/submaps/backup/Boombase.dmm index 180d292b4fd..cd02cda5b58 100644 --- a/maps/yw/submaps/aerostat/submaps/backup/Boombase.dmm +++ b/maps/yw/submaps/aerostat/submaps/backup/Boombase.dmm @@ -10,7 +10,7 @@ /turf/template_noop, /area/submap/virgo2/BoomBase) "ad" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/mineral/floor/ignore_mapgen/virgo2, /area/submap/virgo2/BoomBase) "ae" = ( @@ -50,7 +50,7 @@ "am" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spider, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/BoomBase) "an" = ( @@ -66,7 +66,7 @@ /area/submap/virgo2/BoomBase) "aq" = ( /obj/machinery/portable_atmospherics/canister/empty/phoron, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/BoomBase) "ar" = ( @@ -74,7 +74,7 @@ /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/BoomBase) "as" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/plating/virgo2, /area/submap/virgo2/BoomBase) "at" = ( @@ -106,8 +106,8 @@ "az" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table/standard, -/obj/item/weapon/tank/phoron, -/obj/item/weapon/fuel_assembly/phoron, +/obj/item/tank/phoron, +/obj/item/fuel_assembly/phoron, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/BoomBase) "aA" = ( @@ -119,7 +119,7 @@ /turf/simulated/mineral/floor/ignore_mapgen/virgo2, /area/submap/virgo2/BoomBase) "aC" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/BoomBase) "aD" = ( @@ -127,7 +127,7 @@ /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/BoomBase) "aE" = ( -/obj/item/device/transfer_valve, +/obj/item/transfer_valve, /turf/simulated/mineral/floor/ignore_mapgen/virgo2, /area/submap/virgo2/BoomBase) "aF" = ( @@ -162,7 +162,7 @@ /area/submap/virgo2/BoomBase) "aV" = ( /obj/effect/spider/stickyweb, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/mineral/floor/ignore_mapgen/virgo2, /area/submap/virgo2/BoomBase) "aY" = ( diff --git a/maps/yw/submaps/aerostat/submaps/backup/CaveS.dmm b/maps/yw/submaps/aerostat/submaps/backup/CaveS.dmm index db8ec8a9b3f..41801b45f1f 100644 --- a/maps/yw/submaps/aerostat/submaps/backup/CaveS.dmm +++ b/maps/yw/submaps/aerostat/submaps/backup/CaveS.dmm @@ -27,7 +27,7 @@ /area/submap/virgo2/CaveS) "j" = ( /obj/item/clothing/accessory/storage/webbing, -/obj/item/weapon/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, /turf/simulated/mineral/floor/ignore_mapgen/virgo2, /area/submap/virgo2/CaveS) "k" = ( @@ -56,7 +56,7 @@ /obj/structure/closet/crate, /obj/item/stack/cable_coil, /obj/item/stack/cable_coil, -/obj/item/weapon/storage/toolbox, +/obj/item/storage/toolbox, /obj/random/toolbox, /turf/simulated/floor, /area/submap/virgo2/CaveS) @@ -66,7 +66,7 @@ /area/submap/virgo2/CaveS) "x" = ( /obj/structure/table/woodentable, -/obj/item/device/survivalcapsule, +/obj/item/survivalcapsule, /turf/simulated/floor, /area/submap/virgo2/CaveS) "y" = ( @@ -82,15 +82,15 @@ /area/submap/virgo2/CaveS) "A" = ( /obj/structure/closet/crate, -/obj/item/weapon/reagent_containers/hypospray, -/obj/item/weapon/reagent_containers/glass/bottle/stoxin, -/obj/item/weapon/reagent_containers/glass/bottle/antitoxin, -/obj/item/weapon/reagent_containers/pill/antitox, -/obj/item/weapon/reagent_containers/pill/antitox, -/obj/item/weapon/reagent_containers/pill/antitox, -/obj/item/weapon/reagent_containers/pill/paracetamol, +/obj/item/reagent_containers/hypospray, +/obj/item/reagent_containers/glass/bottle/stoxin, +/obj/item/reagent_containers/glass/bottle/antitoxin, +/obj/item/reagent_containers/pill/antitox, +/obj/item/reagent_containers/pill/antitox, +/obj/item/reagent_containers/pill/antitox, +/obj/item/reagent_containers/pill/paracetamol, /obj/random/firstaid, -/obj/item/weapon/storage/firstaid/combat, +/obj/item/storage/firstaid/combat, /turf/simulated/floor, /area/submap/virgo2/CaveS) "B" = ( @@ -108,11 +108,11 @@ /obj/random/contraband, /obj/random/contraband, /obj/random/energy, -/obj/item/weapon/material/star, -/obj/item/weapon/material/star, -/obj/item/weapon/material/star, -/obj/item/weapon/material/star, -/obj/item/weapon/material/star, +/obj/item/material/star, +/obj/item/material/star, +/obj/item/material/star, +/obj/item/material/star, +/obj/item/material/star, /turf/simulated/floor, /area/submap/virgo2/CaveS) "E" = ( diff --git a/maps/yw/submaps/aerostat/submaps/backup/DJOutpost1.dmm b/maps/yw/submaps/aerostat/submaps/backup/DJOutpost1.dmm index e8524d220ad..d0bde3edee1 100644 --- a/maps/yw/submaps/aerostat/submaps/backup/DJOutpost1.dmm +++ b/maps/yw/submaps/aerostat/submaps/backup/DJOutpost1.dmm @@ -7,8 +7,8 @@ /area/submap/virgo2/DJOutpost1) "c" = ( /obj/structure/grille/broken, -/obj/item/weapon/material/shard, -/obj/item/weapon/material/shard{ +/obj/item/material/shard, +/obj/item/material/shard{ icon_state = "shardmedium" }, /obj/item/stack/rods, @@ -42,7 +42,7 @@ /obj/effect/decal/remains, /obj/effect/decal/cleanable/blood, /obj/item/clothing/under/frontier, -/obj/item/weapon/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, /obj/random_multi/single_item/sfr_headset, /turf/simulated/floor/wood, /area/submap/virgo2/DJOutpost1) @@ -52,7 +52,7 @@ /area/submap/virgo2/DJOutpost1) "l" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ icon_state = "intercom"; dir = 8 }, @@ -60,7 +60,7 @@ /area/submap/virgo2/DJOutpost1) "m" = ( /obj/machinery/computer/message_monitor, -/obj/item/weapon/paper/monitorkey, +/obj/item/paper/monitorkey, /obj/structure/cable/yellow{ d1 = 2; d2 = 4; @@ -98,7 +98,7 @@ /obj/effect/decal/remains, /obj/item/clothing/under/dress/blacktango, /obj/effect/decal/cleanable/blood, -/obj/item/device/universal_translator/ear, +/obj/item/universal_translator/ear, /turf/simulated/floor/wood, /area/submap/virgo2/DJOutpost1) "s" = ( @@ -153,36 +153,36 @@ /area/submap/virgo2/DJOutpost1) "x" = ( /obj/structure/bookcase, -/obj/item/weapon/book/codex/lore/vir, -/obj/item/weapon/book/manual/excavation, -/obj/item/weapon/book/manual/engineering_construction, -/obj/item/weapon/storage/bible, +/obj/item/book/codex/lore/vir, +/obj/item/book/manual/excavation, +/obj/item/book/manual/wiki/engineering_construction, +/obj/item/storage/bible, /turf/simulated/floor/wood, /area/submap/virgo2/DJOutpost1) "y" = ( -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/floor/wood, /area/submap/virgo2/DJOutpost1) "z" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/radio/phone, +/obj/item/radio/phone, /obj/random_multi/single_item/sfr_headset, /turf/simulated/floor/wood, /area/submap/virgo2/DJOutpost1) "A" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/radio/intercom/syndicate{ +/obj/item/radio/intercom/syndicate{ desc = "Talk through this."; name = "station intercom (General)" }, -/obj/item/device/multitool, +/obj/item/multitool, /turf/simulated/floor/wood, /area/submap/virgo2/DJOutpost1) "B" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/radio, +/obj/item/radio, /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/hyper; + cell_type = /obj/item/cell/hyper; dir = 4; environ = 1; equipment = 1; @@ -205,7 +205,7 @@ /area/submap/virgo2/DJOutpost1) "D" = ( /obj/machinery/door/airlock/glass, -/obj/item/device/gps/internal/poi, +/obj/item/gps/internal/poi, /turf/simulated/floor/wood, /area/submap/virgo2/DJOutpost1) "E" = ( @@ -214,7 +214,7 @@ /area/submap/virgo2/DJOutpost1) "F" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/unajerky, +/obj/item/reagent_containers/food/snacks/unajerky, /obj/machinery/light{ icon_state = "tube1"; dir = 8 @@ -244,10 +244,10 @@ /area/submap/virgo2/DJOutpost1) "J" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/knife/machete/hatchet, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/material/minihoe, -/obj/item/device/analyzer/plant_analyzer, +/obj/item/material/knife/machete/hatchet, +/obj/item/reagent_containers/glass/bucket, +/obj/item/material/minihoe, +/obj/item/analyzer/plant_analyzer, /obj/random_multi/single_item/sfr_headset, /turf/simulated/floor/wood, /area/submap/virgo2/DJOutpost1) @@ -276,19 +276,19 @@ /area/submap/virgo2/DJOutpost1) "O" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/clown, +/obj/item/bedsheet/clown, /turf/simulated/floor/wood, /area/submap/virgo2/DJOutpost1) "P" = ( /obj/structure/table/rack, /obj/item/ammo_magazine/clip/c762/hunter, -/obj/item/weapon/gun/projectile/shotgun/pump/rifle, +/obj/item/gun/projectile/shotgun/pump/rifle, /turf/simulated/floor/wood, /area/submap/virgo2/DJOutpost1) "Q" = ( /obj/structure/table/rack, -/obj/item/device/flashlight/lantern, -/obj/item/device/gps{ +/obj/item/flashlight/lantern, +/obj/item/gps{ gps_tag = "Sif Free Radio" }, /turf/simulated/floor/wood, diff --git a/maps/yw/submaps/aerostat/submaps/backup/DJOutpost2.dmm b/maps/yw/submaps/aerostat/submaps/backup/DJOutpost2.dmm index 96b1221ee17..933da2cae13 100644 --- a/maps/yw/submaps/aerostat/submaps/backup/DJOutpost2.dmm +++ b/maps/yw/submaps/aerostat/submaps/backup/DJOutpost2.dmm @@ -7,8 +7,8 @@ /area/submap/virgo2/DJOutpost1) "c" = ( /obj/structure/grille/broken, -/obj/item/weapon/material/shard, -/obj/item/weapon/material/shard{ +/obj/item/material/shard, +/obj/item/material/shard{ icon_state = "shardmedium" }, /obj/item/stack/rods, @@ -16,7 +16,7 @@ /area/submap/virgo2/DJOutpost1) "d" = ( /obj/structure/grille/broken, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor, /area/submap/virgo2/DJOutpost1) "e" = ( @@ -64,7 +64,7 @@ /area/submap/virgo2/DJOutpost1) "m" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/radio/phone, +/obj/item/radio/phone, /turf/simulated/floor/outdoors/dirt, /area/submap/virgo2/DJOutpost1) "n" = ( @@ -80,7 +80,7 @@ /area/submap/virgo2/DJOutpost1) "q" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/radio, +/obj/item/radio, /obj/structure/cable/yellow, /turf/simulated/floor/wood/broken, /area/submap/virgo2/DJOutpost1) @@ -99,7 +99,7 @@ /area/submap/virgo2/DJOutpost1) "w" = ( /obj/structure/grille/broken, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "shardmedium" }, /turf/simulated/floor, @@ -110,7 +110,7 @@ /area/submap/virgo2/DJOutpost1) "y" = ( /obj/structure/table/steel_reinforced, -/obj/item/device/radio/intercom/syndicate{ +/obj/item/radio/intercom/syndicate{ desc = "Talk through this."; name = "station intercom (General)" }, @@ -126,7 +126,7 @@ /area/submap/virgo2/DJOutpost1) "C" = ( /obj/structure/grille/broken, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /obj/structure/cable/yellow{ @@ -137,24 +137,24 @@ /turf/simulated/floor, /area/submap/virgo2/DJOutpost1) "D" = ( -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "shardmedium" }, /turf/template_noop, /area/template_noop) "F" = ( -/obj/item/device/transfer_valve, +/obj/item/transfer_valve, /turf/simulated/floor/outdoors/rocks, /area/submap/virgo2/DJOutpost1) "G" = ( /obj/structure/grille/broken, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /turf/simulated/floor, /area/submap/virgo2/DJOutpost1) "H" = ( -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /turf/template_noop, @@ -164,7 +164,7 @@ /turf/simulated/floor/wood/broken, /area/submap/virgo2/DJOutpost1) "J" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/template_noop, /area/template_noop) "K" = ( @@ -176,12 +176,12 @@ /turf/simulated/floor/wood/broken, /area/submap/virgo2/DJOutpost1) "L" = ( -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/floor/outdoors/rocks, /area/submap/virgo2/DJOutpost1) "M" = ( /obj/structure/grille/broken, -/obj/item/weapon/material/shard{ +/obj/item/material/shard{ icon_state = "medium" }, /obj/item/stack/rods, diff --git a/maps/yw/submaps/aerostat/submaps/backup/DecoupledEngine.dmm b/maps/yw/submaps/aerostat/submaps/backup/DecoupledEngine.dmm index 322dbbf62e0..14cbf61368e 100644 --- a/maps/yw/submaps/aerostat/submaps/backup/DecoupledEngine.dmm +++ b/maps/yw/submaps/aerostat/submaps/backup/DecoupledEngine.dmm @@ -6,18 +6,18 @@ /turf/template_noop, /area/submap/virgo2/DecoupledEngine) "ac" = ( -/obj/item/weapon/fuel_assembly/deuterium, +/obj/item/fuel_assembly/deuterium, /turf/template_noop, /area/submap/virgo2/DecoupledEngine) "ad" = ( /turf/simulated/mineral/floor/ignore_mapgen/virgo2, /area/submap/virgo2/DecoupledEngine) "ae" = ( -/obj/item/weapon/extinguisher, +/obj/item/extinguisher, /turf/template_noop, /area/submap/virgo2/DecoupledEngine) "af" = ( -/obj/item/weapon/material/shard/phoron, +/obj/item/material/shard/phoron, /turf/template_noop, /area/submap/virgo2/DecoupledEngine) "ag" = ( @@ -25,7 +25,7 @@ /turf/simulated/mineral/floor/ignore_mapgen/virgo2, /area/submap/virgo2/DecoupledEngine) "ah" = ( -/obj/item/weapon/arrow/rod, +/obj/item/arrow/rod, /obj/item/stack/material/steel, /turf/simulated/floor/outdoors/rocks, /area/submap/virgo2/DecoupledEngine) @@ -46,7 +46,7 @@ /turf/simulated/mineral/floor/ignore_mapgen/virgo2, /area/submap/virgo2/DecoupledEngine) "am" = ( -/obj/item/weapon/arrow/rod, +/obj/item/arrow/rod, /turf/template_noop, /area/submap/virgo2/DecoupledEngine) "an" = ( @@ -194,7 +194,7 @@ icon_state = "phoronrwindow"; dir = 4 }, -/obj/item/weapon/material/shard/phoron, +/obj/item/material/shard/phoron, /obj/effect/floor_decal/rust, /turf/simulated/floor, /area/submap/virgo2/DecoupledEngine) @@ -435,7 +435,7 @@ "bq" = ( /obj/effect/floor_decal/rust, /obj/effect/decal/cleanable/dirt, -/obj/item/weapon/rcd, +/obj/item/rcd, /turf/simulated/floor, /area/submap/virgo2/DecoupledEngine) "br" = ( @@ -497,15 +497,15 @@ /turf/simulated/mineral/floor/ignore_mapgen/virgo2, /area/template_noop) "bA" = ( -/obj/item/weapon/arrow/rod, +/obj/item/arrow/rod, /turf/simulated/mineral/floor/ignore_mapgen/virgo2, /area/submap/virgo2/DecoupledEngine) "bB" = ( -/obj/item/weapon/fuel_assembly/deuterium, +/obj/item/fuel_assembly/deuterium, /turf/simulated/mineral/floor/ignore_mapgen/virgo2, /area/submap/virgo2/DecoupledEngine) "bC" = ( -/obj/item/weapon/material/shard/phoron, +/obj/item/material/shard/phoron, /turf/simulated/mineral/floor/ignore_mapgen/virgo2, /area/submap/virgo2/DecoupledEngine) "bD" = ( diff --git a/maps/yw/submaps/aerostat/submaps/backup/DoomP.dmm b/maps/yw/submaps/aerostat/submaps/backup/DoomP.dmm index f3805539d0b..0a262bca2c3 100644 --- a/maps/yw/submaps/aerostat/submaps/backup/DoomP.dmm +++ b/maps/yw/submaps/aerostat/submaps/backup/DoomP.dmm @@ -337,26 +337,26 @@ /area/submap/virgo2/DoomP) "bn" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/syndie_kit/spy, -/obj/item/weapon/card/id/syndicate, +/obj/item/storage/box/syndie_kit/spy, +/obj/item/card/id/syndicate, /turf/simulated/floor/tiled/techfloor, /area/submap/virgo2/DoomP) "bo" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/smokes, +/obj/item/storage/box/smokes, /turf/simulated/floor/tiled/techfloor, /area/submap/virgo2/DoomP) "bp" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/box/handcuffs, +/obj/item/storage/box/handcuffs, /turf/simulated/floor/tiled/techfloor, /area/submap/virgo2/DoomP) "bq" = ( /obj/structure/table/rack, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, /turf/simulated/floor/tiled/techfloor, /area/submap/virgo2/DoomP) "br" = ( @@ -366,14 +366,14 @@ /area/submap/virgo2/DoomP) "bs" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/contender, +/obj/item/gun/projectile/contender, /obj/item/ammo_magazine/s357, /obj/item/ammo_magazine/s357, /turf/simulated/floor/tiled/techfloor, /area/submap/virgo2/DoomP) "bt" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/item/toy/plushie/spider, /obj/effect/floor_decal/corner/lime/full{ dir = 8 @@ -389,7 +389,7 @@ /area/submap/virgo2/DoomP) "bv" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/effect/floor_decal/corner/lime{ dir = 5 }, @@ -397,7 +397,7 @@ /area/submap/virgo2/DoomP) "bw" = ( /obj/structure/table/standard, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /obj/effect/floor_decal/corner/lime{ dir = 5 }, diff --git a/maps/yw/submaps/aerostat/submaps/backup/Drugden.dmm b/maps/yw/submaps/aerostat/submaps/backup/Drugden.dmm index 396a44e977e..858370ea79a 100644 --- a/maps/yw/submaps/aerostat/submaps/backup/Drugden.dmm +++ b/maps/yw/submaps/aerostat/submaps/backup/Drugden.dmm @@ -25,18 +25,18 @@ /area/submap/virgo2/Drugd) "i" = ( /obj/structure/closet/cabinet, -/obj/item/weapon/lipstick/random, +/obj/item/lipstick/random, /turf/simulated/floor/carpet, /area/submap/virgo2/Drugd) "j" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/structure/curtain/open/bed, /turf/simulated/floor/carpet, /area/submap/virgo2/Drugd) "k" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/pill/happy{ +/obj/item/reagent_containers/pill/happy{ name = "pill" }, /turf/simulated/floor/carpet, @@ -66,7 +66,7 @@ /area/submap/virgo2/Drugd) "r" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/pill/methylphenidate{ +/obj/item/reagent_containers/pill/methylphenidate{ name = "pill" }, /turf/simulated/floor/carpet, @@ -79,7 +79,7 @@ /turf/simulated/floor/carpet, /area/submap/virgo2/Drugd) "t" = ( -/obj/item/weapon/reagent_containers/pill/citalopram{ +/obj/item/reagent_containers/pill/citalopram{ name = "pill" }, /turf/simulated/floor/carpet, @@ -99,13 +99,13 @@ /area/submap/virgo2/Drugd) "x" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp, -/obj/item/weapon/reagent_containers/syringe/drugs, +/obj/item/flashlight/lamp, +/obj/item/reagent_containers/syringe/drugs, /turf/simulated/floor/carpet, /area/submap/virgo2/Drugd) "y" = ( /obj/structure/bed/chair/comfy/beige, -/obj/item/weapon/reagent_containers/pill/citalopram{ +/obj/item/reagent_containers/pill/citalopram{ name = "pill" }, /turf/simulated/floor/carpet, @@ -115,17 +115,17 @@ /turf/simulated/floor, /area/submap/virgo2/Drugd) "A" = ( -/obj/item/weapon/reagent_containers/pill/citalopram{ +/obj/item/reagent_containers/pill/citalopram{ name = "pill" }, -/obj/item/weapon/reagent_containers/pill/citalopram{ +/obj/item/reagent_containers/pill/citalopram{ name = "pill" }, /turf/simulated/floor/carpet, /area/submap/virgo2/Drugd) "B" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/pill_bottle/happy, +/obj/item/storage/pill_bottle/happy, /turf/simulated/floor/tiled, /area/submap/virgo2/Drugd) "C" = ( @@ -135,31 +135,31 @@ /area/submap/virgo2/Drugd) "D" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/pill/citalopram, -/obj/item/weapon/reagent_containers/pill/citalopram, +/obj/item/reagent_containers/pill/citalopram, +/obj/item/reagent_containers/pill/citalopram, /turf/simulated/floor/tiled, /area/submap/virgo2/Drugd) "E" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/pill/tramadol, -/obj/item/weapon/reagent_containers/pill/tramadol, +/obj/item/reagent_containers/pill/tramadol, +/obj/item/reagent_containers/pill/tramadol, /turf/simulated/floor/tiled, /area/submap/virgo2/Drugd) "F" = ( /obj/structure/closet/cabinet, /obj/item/clothing/accessory/jacket, -/obj/item/weapon/material/butterfly/switchblade, +/obj/item/material/butterfly/switchblade, /turf/simulated/floor/carpet, /area/submap/virgo2/Drugd) "G" = ( -/obj/item/weapon/reagent_containers/pill/zoom{ +/obj/item/reagent_containers/pill/zoom{ name = "pill" }, /obj/random/trash, /turf/simulated/floor/carpet, /area/submap/virgo2/Drugd) "H" = ( -/obj/item/weapon/reagent_containers/pill/zoom{ +/obj/item/reagent_containers/pill/zoom{ name = "pill" }, /turf/simulated/floor/carpet, @@ -170,7 +170,7 @@ /area/submap/virgo2/Drugd) "J" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/scalpel, +/obj/item/surgical/scalpel, /turf/simulated/floor/tiled, /area/submap/virgo2/Drugd) "K" = ( @@ -189,18 +189,18 @@ "N" = ( /obj/effect/floor_decal/rust, /obj/structure/table/standard, -/obj/item/device/survivalcapsule, +/obj/item/survivalcapsule, /turf/simulated/floor/tiled, /area/submap/virgo2/Drugd) "O" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/pill/zoom, -/obj/item/weapon/reagent_containers/pill/zoom, +/obj/item/reagent_containers/pill/zoom, +/obj/item/reagent_containers/pill/zoom, /turf/simulated/floor, /area/submap/virgo2/Drugd) "P" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/pill/tramadol{ +/obj/item/reagent_containers/pill/tramadol{ name = "pill" }, /turf/simulated/floor/carpet, @@ -210,17 +210,17 @@ /turf/simulated/floor, /area/submap/virgo2/Drugd) "S" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor, /area/submap/virgo2/Drugd) "T" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/carpet, /area/submap/virgo2/Drugd) "U" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/syringe/drugs, +/obj/item/reagent_containers/syringe/drugs, /turf/simulated/floor/carpet, /area/submap/virgo2/Drugd) "V" = ( diff --git a/maps/yw/submaps/aerostat/submaps/backup/Epod3.dmm b/maps/yw/submaps/aerostat/submaps/backup/Epod3.dmm index 23eafb77901..9452b3095cc 100644 --- a/maps/yw/submaps/aerostat/submaps/backup/Epod3.dmm +++ b/maps/yw/submaps/aerostat/submaps/backup/Epod3.dmm @@ -30,7 +30,7 @@ /obj/structure/closet/walllocker/emerglocker{ pixel_y = 28 }, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ pixel_y = -26 }, /turf/simulated/shuttle/floor, @@ -44,7 +44,7 @@ pixel_y = 28 }, /obj/machinery/light, -/obj/item/weapon/weldingtool/largetank, +/obj/item/weldingtool/largetank, /turf/simulated/shuttle/floor, /area/submap/virgo2/Epod3) "j" = ( diff --git a/maps/yw/submaps/aerostat/submaps/backup/Epod4.dmm b/maps/yw/submaps/aerostat/submaps/backup/Epod4.dmm index 2fd3c9bb4db..7212bcf26a8 100644 --- a/maps/yw/submaps/aerostat/submaps/backup/Epod4.dmm +++ b/maps/yw/submaps/aerostat/submaps/backup/Epod4.dmm @@ -58,7 +58,7 @@ dir = 1 }, /obj/structure/closet/walllocker/emerglocker/east, -/obj/item/device/radio/intercom{ +/obj/item/radio/intercom{ dir = 8; name = "Station Intercom (General)"; pixel_x = -28 diff --git a/maps/yw/submaps/aerostat/submaps/backup/GovPatrol.dmm b/maps/yw/submaps/aerostat/submaps/backup/GovPatrol.dmm index 857bb008ea5..bc961eb7d69 100644 --- a/maps/yw/submaps/aerostat/submaps/backup/GovPatrol.dmm +++ b/maps/yw/submaps/aerostat/submaps/backup/GovPatrol.dmm @@ -13,11 +13,11 @@ /turf/simulated/mineral/floor/ignore_mapgen/virgo2, /area/submap/virgo2/GovPatrol) "e" = ( -/obj/item/device/radio/off, +/obj/item/radio/off, /turf/simulated/mineral/floor/ignore_mapgen/virgo2, /area/submap/virgo2/GovPatrol) "f" = ( -/obj/item/weapon/storage/box/flare, +/obj/item/storage/box/flare, /turf/simulated/mineral/floor/ignore_mapgen/virgo2, /area/submap/virgo2/GovPatrol) "g" = ( @@ -35,7 +35,7 @@ /turf/simulated/mineral/floor/ignore_mapgen/virgo2, /area/submap/virgo2/GovPatrol) "k" = ( -/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever, +/obj/item/gun/projectile/shotgun/pump/rifle/lever, /turf/simulated/mineral/floor/ignore_mapgen/virgo2, /area/submap/virgo2/GovPatrol) "m" = ( diff --git a/maps/yw/submaps/aerostat/submaps/backup/Lab1.dmm b/maps/yw/submaps/aerostat/submaps/backup/Lab1.dmm index 3125ff8a7ab..d972aef5385 100644 --- a/maps/yw/submaps/aerostat/submaps/backup/Lab1.dmm +++ b/maps/yw/submaps/aerostat/submaps/backup/Lab1.dmm @@ -58,7 +58,7 @@ /area/submap/virgo2/Lab1) "k" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox, +/obj/item/storage/toolbox, /obj/random/tool, /turf/simulated/floor/tiled/steel_dirty, /area/submap/virgo2/Lab1) @@ -98,7 +98,7 @@ "q" = ( /obj/structure/table/standard, /obj/random/toolbox, -/obj/item/weapon/cell/super, +/obj/item/cell/super, /turf/simulated/floor/tiled/steel_dirty, /area/submap/virgo2/Lab1) "r" = ( @@ -113,12 +113,12 @@ /area/submap/virgo2/Lab1) "t" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /turf/simulated/floor/tiled/steel_dirty, /area/submap/virgo2/Lab1) "u" = ( /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/hyper; + cell_type = /obj/item/cell/hyper; dir = 8; name = "Unknown APC"; operating = 0; @@ -149,14 +149,14 @@ /area/submap/virgo2/Lab1) "x" = ( /obj/structure/table/standard, -/obj/item/weapon/paper{ +/obj/item/paper{ desc = "Gladstone for the last fucking time, We have crowbars for a REASON. Stop breaking in through the goddamn windows! We big red shiny doors for god's sakes!" }, /turf/simulated/floor/tiled/steel_dirty, /area/submap/virgo2/Lab1) "y" = ( /obj/structure/table/standard, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/tiled/steel_dirty, /area/submap/virgo2/Lab1) "z" = ( @@ -175,7 +175,7 @@ /area/submap/virgo2/Lab1) "C" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/floor/tiled/steel_dirty, /area/submap/virgo2/Lab1) "D" = ( @@ -186,7 +186,7 @@ /area/submap/virgo2/Lab1) "E" = ( /obj/structure/table/standard, -/obj/item/device/multitool, +/obj/item/multitool, /obj/item/clothing/glasses/welding, /turf/simulated/floor/tiled/steel_dirty, /area/submap/virgo2/Lab1) @@ -211,7 +211,7 @@ /turf/simulated/floor/tiled/steel_dirty, /area/submap/virgo2/Lab1) "I" = ( -/obj/item/weapon/cell/super, +/obj/item/cell/super, /turf/simulated/floor/tiled/steel_dirty, /area/submap/virgo2/Lab1) "J" = ( @@ -234,7 +234,7 @@ /turf/simulated/floor/tiled/steel_dirty, /area/submap/virgo2/Lab1) "M" = ( -/obj/item/weapon/storage/bag/circuits, +/obj/item/storage/bag/circuits, /obj/structure/table/standard, /turf/simulated/floor/tiled/steel_dirty, /area/submap/virgo2/Lab1) diff --git a/maps/yw/submaps/aerostat/submaps/backup/MCamp1.dmm b/maps/yw/submaps/aerostat/submaps/backup/MCamp1.dmm index 1a445910dd7..7c215d7f8c2 100644 --- a/maps/yw/submaps/aerostat/submaps/backup/MCamp1.dmm +++ b/maps/yw/submaps/aerostat/submaps/backup/MCamp1.dmm @@ -17,7 +17,7 @@ /turf/simulated/mineral/floor/ignore_mapgen/virgo2, /area/submap/virgo2/MilitaryCamp1) "g" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/mineral/floor/ignore_mapgen/virgo2, /area/submap/virgo2/MilitaryCamp1) "h" = ( @@ -44,7 +44,7 @@ /area/submap/virgo2/MilitaryCamp1) "n" = ( /obj/structure/table/standard, -/obj/item/weapon/gun/energy/gun, +/obj/item/gun/energy/gun, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/MilitaryCamp1) "o" = ( @@ -53,12 +53,12 @@ /area/submap/virgo2/MilitaryCamp1) "q" = ( /obj/structure/table/standard, -/obj/item/weapon/gun/projectile/automatic/c20r, +/obj/item/gun/projectile/automatic/c20r, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/MilitaryCamp1) "r" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/syndie_kit/space, +/obj/item/storage/box/syndie_kit/space, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/MilitaryCamp1) "s" = ( diff --git a/maps/yw/submaps/aerostat/submaps/backup/MHR.dmm b/maps/yw/submaps/aerostat/submaps/backup/MHR.dmm index 06a7705e14e..55768249fa0 100644 --- a/maps/yw/submaps/aerostat/submaps/backup/MHR.dmm +++ b/maps/yw/submaps/aerostat/submaps/backup/MHR.dmm @@ -29,7 +29,7 @@ /area/submap/virgo2/MHR) "h" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/backpack, +/obj/item/storage/backpack, /turf/simulated/mineral/floor/ignore_mapgen/virgo2{ outdoors = 0 }, @@ -42,7 +42,7 @@ /area/submap/virgo2/MHR) "j" = ( /obj/structure/table/standard, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "Do not enter the cave. The estimated active time of the Vicerators is much longer due to the improvements on the rotor bearings. It's estimated to be roughly a few months before we start to see any chancces of mechanical failure. "; name = "NOTICE: DO NOT ENTER" }, @@ -91,7 +91,7 @@ "r" = ( /obj/effect/decal/remains, /obj/item/clothing/mask/gas/explorer, -/obj/item/weapon/material/twohanded/fireaxe, +/obj/item/material/twohanded/fireaxe, /turf/simulated/mineral/floor/ignore_mapgen/virgo2{ outdoors = 0 }, diff --git a/maps/yw/submaps/aerostat/submaps/backup/Manor1.dmm b/maps/yw/submaps/aerostat/submaps/backup/Manor1.dmm index 2401898eb82..a84c0a60656 100644 --- a/maps/yw/submaps/aerostat/submaps/backup/Manor1.dmm +++ b/maps/yw/submaps/aerostat/submaps/backup/Manor1.dmm @@ -18,7 +18,7 @@ /area/submap/virgo2/Manor1) "ae" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "af" = ( @@ -42,7 +42,7 @@ "aj" = ( /obj/structure/table/woodentable, /obj/item/clothing/mask/smokable/cigarette/cigar, -/obj/item/weapon/material/ashtray/glass, +/obj/item/material/ashtray/glass, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "ak" = ( @@ -56,7 +56,7 @@ /area/submap/virgo2/Manor1) "am" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight, +/obj/item/flashlight, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "an" = ( @@ -85,13 +85,13 @@ /area/submap/virgo2/Manor1) "at" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /obj/effect/decal/cleanable/blood/gibs/robot, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "au" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/effect/decal/cleanable/blood/oil, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) @@ -101,8 +101,8 @@ /area/submap/virgo2/Manor1) "aw" = ( /obj/structure/table/woodentable, -/obj/item/weapon/mop, -/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/mop, +/obj/item/reagent_containers/glass/bucket, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "ax" = ( @@ -125,12 +125,12 @@ /area/submap/virgo2/Manor1) "aC" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/maglight, +/obj/item/flashlight/maglight, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "aD" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "aE" = ( @@ -148,12 +148,12 @@ /area/submap/virgo2/Manor1) "aG" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper, +/obj/item/paper, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "aH" = ( /obj/structure/table/woodentable, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "aI" = ( @@ -175,7 +175,7 @@ /area/submap/virgo2/Manor1) "aO" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "aP" = ( @@ -205,17 +205,17 @@ /area/submap/virgo2/Manor1) "aV" = ( /obj/structure/table/woodentable, -/obj/item/weapon/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "aW" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, +/obj/item/reagent_containers/food/condiment/small/peppermill, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "aX" = ( /obj/structure/table/standard, -/obj/item/weapon/material/knife, +/obj/item/material/knife, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "aY" = ( @@ -224,7 +224,7 @@ /area/submap/virgo2/Manor1) "aZ" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/small/saltshaker, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "ba" = ( @@ -233,19 +233,19 @@ /area/submap/virgo2/Manor1) "bb" = ( /obj/structure/table/standard, -/obj/item/weapon/tray, -/obj/item/weapon/tray, +/obj/item/tray, +/obj/item/tray, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "bc" = ( /obj/structure/table/standard, -/obj/item/weapon/material/knife/butch, +/obj/item/material/knife/butch, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "bd" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "be" = ( @@ -262,7 +262,7 @@ /area/submap/virgo2/Manor1) "bg" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper_bin, +/obj/item/paper_bin, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "bh" = ( @@ -300,7 +300,7 @@ /turf/template_noop, /area/submap/virgo2/Manor1) "bo" = ( -/obj/item/weapon/material/twohanded/baseballbat/metal, +/obj/item/material/twohanded/baseballbat/metal, /turf/simulated/floor/carpet/blucarpet, /area/submap/virgo2/Manor1) "bp" = ( @@ -342,7 +342,7 @@ /area/submap/virgo2/Manor1) "bv" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/small/sugar, +/obj/item/reagent_containers/food/condiment/small/sugar, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "bw" = ( @@ -370,18 +370,18 @@ /area/submap/virgo2/Manor1) "bA" = ( /obj/structure/table/standard, -/obj/item/weapon/material/kitchen/utensil/fork, -/obj/item/weapon/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, +/obj/item/material/kitchen/utensil/fork, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "bB" = ( /obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/reagent_containers/food/snacks/stew, -/obj/item/weapon/reagent_containers/food/snacks/stew, +/obj/item/reagent_containers/food/snacks/stew, +/obj/item/reagent_containers/food/snacks/stew, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "bC" = ( -/obj/item/weapon/shovel, +/obj/item/shovel, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "bD" = ( @@ -394,9 +394,9 @@ /area/submap/virgo2/Manor1) "bE" = ( /obj/structure/table/standard, -/obj/item/weapon/material/kitchen/utensil/spoon, -/obj/item/weapon/material/kitchen/utensil/spoon, -/obj/item/weapon/material/kitchen/utensil/spoon, +/obj/item/material/kitchen/utensil/spoon, +/obj/item/material/kitchen/utensil/spoon, +/obj/item/material/kitchen/utensil/spoon, /obj/effect/spider/stickyweb, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) @@ -407,8 +407,8 @@ /area/submap/virgo2/Manor1) "bG" = ( /obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/reagent_containers/food/snacks/sausage, -/obj/item/weapon/reagent_containers/food/snacks/sausage, +/obj/item/reagent_containers/food/snacks/sausage, +/obj/item/reagent_containers/food/snacks/sausage, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "bH" = ( @@ -423,18 +423,18 @@ /area/submap/virgo2/Manor1) "bJ" = ( /obj/structure/table/standard, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/kitchen/rollingpin, /obj/effect/spider/stickyweb, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "bK" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/glass/bottle/stoxin, +/obj/item/reagent_containers/glass/bottle/stoxin, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "bL" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/fancy/candle_box, +/obj/item/storage/fancy/candle_box, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "bM" = ( @@ -467,7 +467,7 @@ /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "bT" = ( -/obj/item/weapon/material/minihoe, +/obj/item/material/minihoe, /turf/simulated/floor/carpet/blucarpet, /area/submap/virgo2/Manor1) "bU" = ( @@ -501,7 +501,7 @@ /area/submap/virgo2/Manor1) "ca" = ( /obj/structure/table/woodentable, -/obj/item/weapon/melee/umbrella/random, +/obj/item/melee/umbrella/random, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "cb" = ( @@ -511,25 +511,25 @@ /area/submap/virgo2/Manor1) "cc" = ( /obj/structure/closet/cabinet, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, +/obj/item/cell/device/weapon, +/obj/item/cell/device/weapon, /obj/random/medical, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "cd" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green, +/obj/item/flashlight/lamp/green, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "ce" = ( /obj/structure/bed/double, -/obj/item/weapon/bedsheet/rddouble, +/obj/item/bedsheet/rddouble, /obj/structure/curtain/open/bed, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "cf" = ( /obj/structure/table/woodentable, -/obj/item/weapon/storage/wallet/random, +/obj/item/storage/wallet/random, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "cg" = ( @@ -544,7 +544,7 @@ /area/submap/virgo2/Manor1) "ci" = ( /obj/structure/closet/crate, -/obj/item/weapon/flame/lighter/random, +/obj/item/flame/lighter/random, /obj/random/powercell, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) @@ -572,7 +572,7 @@ /area/submap/virgo2/Manor1) "cn" = ( /obj/structure/closet/crate, -/obj/item/weapon/storage/wallet/random, +/obj/item/storage/wallet/random, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "co" = ( @@ -597,7 +597,7 @@ /turf/simulated/floor/carpet/purcarpet, /area/submap/virgo2/Manor1) "cs" = ( -/obj/item/weapon/material/twohanded/spear, +/obj/item/material/twohanded/spear, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "ct" = ( @@ -608,7 +608,7 @@ /area/submap/virgo2/Manor1) "cu" = ( /obj/effect/decal/remains, -/obj/item/weapon/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "cv" = ( @@ -627,8 +627,8 @@ /area/submap/virgo2/Manor1) "cy" = ( /obj/structure/table/standard, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, +/obj/item/towel/random, +/obj/item/towel/random, /turf/simulated/floor/tiled/hydro, /area/submap/virgo2/Manor1) "cz" = ( @@ -637,7 +637,7 @@ /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "cA" = ( -/obj/item/weapon/paper/crumpled, +/obj/item/paper/crumpled, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "cB" = ( diff --git a/maps/yw/submaps/aerostat/submaps/backup/Rocky1.dmm b/maps/yw/submaps/aerostat/submaps/backup/Rocky1.dmm index 76725279f7c..33e075f1e1b 100644 --- a/maps/yw/submaps/aerostat/submaps/backup/Rocky1.dmm +++ b/maps/yw/submaps/aerostat/submaps/backup/Rocky1.dmm @@ -18,7 +18,7 @@ "g" = ( /obj/random/handgun/sec, /obj/effect/decal/remains/human, -/obj/item/weapon/storage/secure/briefcase/money, +/obj/item/storage/secure/briefcase/money, /turf/simulated/mineral/floor/ignore_mapgen/virgo2, /area/submap/virgo2/Rocky1) diff --git a/maps/yw/submaps/aerostat/submaps/backup/Rockybase.dmm b/maps/yw/submaps/aerostat/submaps/backup/Rockybase.dmm index cc7494f1529..994368b78b6 100644 --- a/maps/yw/submaps/aerostat/submaps/backup/Rockybase.dmm +++ b/maps/yw/submaps/aerostat/submaps/backup/Rockybase.dmm @@ -78,7 +78,7 @@ pixel_y = 0 }, /obj/structure/curtain/open/shower, -/obj/item/weapon/soap, +/obj/item/soap, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/Rockybase) "aq" = ( @@ -87,7 +87,7 @@ /area/submap/virgo2/Rockybase) "ar" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/Rockybase) "as" = ( @@ -98,7 +98,7 @@ /area/submap/virgo2/Rockybase) "at" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/Rockybase) "au" = ( @@ -110,7 +110,7 @@ /area/submap/virgo2/Rockybase) "av" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, +/obj/item/bedsheet, /obj/item/toy/plushie/spider, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/Rockybase) @@ -125,11 +125,11 @@ /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/Rockybase) "ay" = ( -/obj/item/weapon/stool, +/obj/item/stool, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/Rockybase) "az" = ( -/obj/item/weapon/storage/belt/janitor, +/obj/item/storage/belt/janitor, /obj/structure/table/standard, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/Rockybase) @@ -144,12 +144,12 @@ /area/submap/virgo2/Rockybase) "aC" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/pistol, +/obj/item/gun/projectile/pistol, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/Rockybase) "aD" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/energy/gun/taser, +/obj/item/gun/energy/gun/taser, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/Rockybase) "aE" = ( @@ -164,8 +164,8 @@ /area/submap/virgo2/Rockybase) "aG" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, +/obj/item/gun/projectile/shotgun/pump/combat, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/Rockybase) "aH" = ( @@ -202,9 +202,9 @@ /area/submap/virgo2/Rockybase) "aM" = ( /obj/structure/table/standard, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, /obj/machinery/light{ icon_state = "tube1"; dir = 4 @@ -219,7 +219,7 @@ /area/submap/virgo2/Rockybase) "aO" = ( /obj/structure/table/standard, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "Carl's absolutly fucked in the head. He's trying to squeeze as much drone production out as he can since he's worried we're gonna get found out but he's getting sloppier with each batch. Now's he's telling us he can speed the time on the IFF encoding. I already have a hard enough time getting these damn things not to stare at walls and now he's gonna shortchange the only part of these tincans that tells em not to turn us into paste on a wall. I told Richter to get out while he can, We're counting days before either some Sif task force shows up at our door or these things decide we aren't there friends anymore."; name = "Note" }, @@ -278,8 +278,8 @@ /area/submap/virgo2/Rockybase) "aW" = ( /obj/structure/bed, -/obj/item/weapon/bedsheet, -/obj/item/weapon/gun/projectile/pistol, +/obj/item/bedsheet, +/obj/item/gun/projectile/pistol, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/Rockybase) "aX" = ( @@ -292,25 +292,25 @@ /area/submap/virgo2/Rockybase) "aZ" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/bag/trash, -/obj/item/weapon/storage/bag/trash, +/obj/item/storage/bag/trash, +/obj/item/storage/bag/trash, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/Rockybase) "ba" = ( /obj/structure/table/standard, -/obj/item/weapon/paper_bin, +/obj/item/paper_bin, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/Rockybase) "bb" = ( /obj/machinery/light, /obj/structure/table/standard, -/obj/item/weapon/pen, +/obj/item/pen, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/Rockybase) "bc" = ( /obj/structure/table/rack, -/obj/item/weapon/gun/projectile/automatic/c20r, -/obj/item/weapon/gun/projectile/automatic/c20r, +/obj/item/gun/projectile/automatic/c20r, +/obj/item/gun/projectile/automatic/c20r, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/Rockybase) "bd" = ( @@ -398,12 +398,12 @@ /area/submap/virgo2/Rockybase) "bt" = ( /obj/structure/table/standard, -/obj/item/device/kit/paint/gygax/darkgygax, +/obj/item/kit/paint/gygax/darkgygax, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/Rockybase) "bu" = ( /obj/structure/table/standard, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "I've decided to go forward and start some small scale tests of the Vicerator delivery grenades, Might as wall make sure they work like the real ones. There are a few Fauna areas nearbye and we're working to make sure the kinks in the code are worked out. Once we've made sure they stay flying we'll work on the IFF signals."; name = "V-Grenade Notice 2" }, @@ -424,7 +424,7 @@ /area/submap/virgo2/Rockybase) "bx" = ( /obj/structure/table/standard, -/obj/item/weapon/paper{ +/obj/item/paper{ info = "We've finally been able to get the Vicerator delivery grenades working, Took awhile to make sure the latching mechanism didn't fail but we're sure we've got it this time. Vel'Shem's worried about the miners having there own drone fab now but I say it's a small price to pay to keep the metal flowing, Especially since there telling us NT's starting to monopolize the metal rich parts."; name = "V-Grenade Notice 1" }, @@ -451,7 +451,7 @@ /area/submap/virgo2/Rockybase) "bB" = ( /obj/structure/table/standard, -/obj/item/weapon/grenade/spawnergrenade/manhacks, +/obj/item/grenade/spawnergrenade/manhacks, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/Rockybase) "bC" = ( @@ -464,13 +464,13 @@ /obj/machinery/light{ dir = 1 }, -/obj/item/weapon/circuitboard/mecha/gygax/main, -/obj/item/weapon/circuitboard/mecha/gygax/peripherals, -/obj/item/weapon/circuitboard/mecha/gygax/targeting, +/obj/item/circuitboard/mecha/gygax/main, +/obj/item/circuitboard/mecha/gygax/peripherals, +/obj/item/circuitboard/mecha/gygax/targeting, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/Rockybase) "bE" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/plating/virgo2, /area/submap/virgo2/Rockybase) "bF" = ( @@ -488,12 +488,12 @@ /area/submap/virgo2/Rockybase) "bI" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox, +/obj/item/storage/toolbox, /turf/simulated/floor/plating/virgo2, /area/submap/virgo2/Rockybase) "bJ" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/floor/plating/virgo2, /area/submap/virgo2/Rockybase) "bK" = ( @@ -511,7 +511,7 @@ /obj/structure/table/standard, /obj/structure/table/standard, /obj/effect/decal/cleanable/dirt, -/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/burn, +/obj/item/reagent_containers/hypospray/autoinjector/biginjector/burn, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/Rockybase) "bN" = ( @@ -539,7 +539,7 @@ /area/submap/virgo2/Rockybase) "bR" = ( /obj/structure/table/standard, -/obj/item/device/mmi/digital/robot, +/obj/item/mmi/digital/robot, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/Rockybase) "bS" = ( @@ -638,7 +638,7 @@ "cj" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/plating/virgo2, /area/submap/virgo2/Rockybase) "ck" = ( @@ -684,7 +684,7 @@ dir = 8 }, /obj/machinery/power/apc{ - cell_type = /obj/item/weapon/cell/super; + cell_type = /obj/item/cell/super; dir = 8; name = "Unknown APC"; pixel_x = -24 @@ -800,7 +800,7 @@ /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/Rockybase) "cI" = ( -/obj/item/weapon/surgical/surgicaldrill, +/obj/item/surgical/surgicaldrill, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/tiled/techfloor/virgo2, /area/submap/virgo2/Rockybase) diff --git a/maps/yw/submaps/aerostat/submaps/backup/Shack1.dmm b/maps/yw/submaps/aerostat/submaps/backup/Shack1.dmm index 9849ce84051..faac7d99b67 100644 --- a/maps/yw/submaps/aerostat/submaps/backup/Shack1.dmm +++ b/maps/yw/submaps/aerostat/submaps/backup/Shack1.dmm @@ -67,13 +67,13 @@ "p" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table/wooden_reinforced, -/obj/item/weapon/storage/toolbox, +/obj/item/storage/toolbox, /turf/simulated/floor/wood, /area/submap/virgo2/Shack1) "q" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table/wooden_reinforced, -/obj/item/weapon/material/twohanded/fireaxe/scythe, +/obj/item/material/twohanded/fireaxe/scythe, /turf/simulated/floor/wood, /area/submap/virgo2/Shack1) "r" = ( @@ -88,7 +88,7 @@ "t" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table/wooden_reinforced, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/wood, /area/submap/virgo2/Shack1) "v" = ( diff --git a/maps/yw/submaps/aerostat/submaps/backup/butchershack.dmm b/maps/yw/submaps/aerostat/submaps/backup/butchershack.dmm index 95937cc8427..d4e8714f314 100644 --- a/maps/yw/submaps/aerostat/submaps/backup/butchershack.dmm +++ b/maps/yw/submaps/aerostat/submaps/backup/butchershack.dmm @@ -8,10 +8,10 @@ "d" = ( /obj/structure/closet, /obj/effect/decal/cleanable/cobweb, -/obj/item/weapon/beartrap, -/obj/item/weapon/beartrap, -/obj/item/weapon/packageWrap, -/obj/item/weapon/material/knife/hook, +/obj/item/beartrap, +/obj/item/beartrap, +/obj/item/packageWrap, +/obj/item/material/knife/hook, /turf/simulated/floor/tiled, /area/submap/virgo2/ButcherShack) "e" = ( @@ -74,15 +74,15 @@ "q" = ( /obj/structure/table/standard, /obj/effect/decal/cleanable/blood, -/obj/item/weapon/material/knife/butch, +/obj/item/material/knife/butch, /turf/simulated/floor/tiled, /area/submap/virgo2/ButcherShack) "r" = ( /obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/snacks/cutlet, -/obj/item/weapon/reagent_containers/food/snacks/cutlet, -/obj/item/weapon/reagent_containers/food/snacks/cutlet, -/obj/item/weapon/reagent_containers/food/snacks/sausage, +/obj/item/reagent_containers/food/snacks/cutlet, +/obj/item/reagent_containers/food/snacks/cutlet, +/obj/item/reagent_containers/food/snacks/cutlet, +/obj/item/reagent_containers/food/snacks/sausage, /turf/simulated/floor/tiled, /area/submap/virgo2/ButcherShack) "s" = ( @@ -91,7 +91,7 @@ /area/submap/virgo2/ButcherShack) "t" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/brown, +/obj/item/bedsheet/brown, /turf/simulated/floor/tiled, /area/submap/virgo2/ButcherShack) "u" = ( diff --git a/maps/yw/submaps/aerostat/submaps/butchershack.dmm b/maps/yw/submaps/aerostat/submaps/butchershack.dmm index a319f703eaa..af3edf78c17 100644 --- a/maps/yw/submaps/aerostat/submaps/butchershack.dmm +++ b/maps/yw/submaps/aerostat/submaps/butchershack.dmm @@ -1,6 +1,6 @@ "a" = (/turf/template_noop,/area/template_noop) "b" = (/turf/simulated/wall/bor4,/area/submap/virgo2/ButcherShack) -"d" = (/obj/structure/closet,/obj/effect/decal/cleanable/cobweb,/obj/item/weapon/beartrap,/obj/item/weapon/beartrap,/obj/item/weapon/packageWrap,/obj/item/weapon/material/knife/hook,/turf/simulated/floor/tiled,/area/submap/virgo2/ButcherShack) +"d" = (/obj/structure/closet,/obj/effect/decal/cleanable/cobweb,/obj/item/beartrap,/obj/item/beartrap,/obj/item/packageWrap,/obj/item/material/knife/hook,/turf/simulated/floor/tiled,/area/submap/virgo2/ButcherShack) "e" = (/obj/structure/closet/secure_closet/freezer/meat,/turf/simulated/floor/tiled,/area/submap/virgo2/ButcherShack) "f" = (/obj/structure/closet/crate/freezer,/obj/effect/decal/cleanable/blood/gibs,/obj/random/meat,/obj/random/meat,/obj/random/meat,/obj/random/meat,/obj/random/meat,/obj/random/meat,/obj/random/meat,/obj/random/meat,/obj/random/meat,/obj/random/meat,/turf/simulated/floor/tiled,/area/submap/virgo2/ButcherShack) "g" = (/obj/machinery/gibber/autogibber,/turf/simulated/floor/tiled,/area/submap/virgo2/ButcherShack) @@ -12,10 +12,10 @@ "n" = (/obj/structure/kitchenspike,/obj/effect/decal/cleanable/blood/drip,/turf/simulated/floor/tiled,/area/submap/virgo2/ButcherShack) "o" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor/tiled,/area/submap/virgo2/ButcherShack) "p" = (/obj/structure/table/standard,/obj/item/clothing/suit/chef/classic,/turf/simulated/floor/tiled,/area/submap/virgo2/ButcherShack) -"q" = (/obj/structure/table/standard,/obj/effect/decal/cleanable/blood,/obj/item/weapon/material/knife/butch,/turf/simulated/floor/tiled,/area/submap/virgo2/ButcherShack) -"r" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/snacks/cutlet,/obj/item/weapon/reagent_containers/food/snacks/cutlet,/obj/item/weapon/reagent_containers/food/snacks/cutlet,/obj/item/weapon/reagent_containers/food/snacks/sausage,/turf/simulated/floor/tiled,/area/submap/virgo2/ButcherShack) +"q" = (/obj/structure/table/standard,/obj/effect/decal/cleanable/blood,/obj/item/material/knife/butch,/turf/simulated/floor/tiled,/area/submap/virgo2/ButcherShack) +"r" = (/obj/structure/table/standard,/obj/item/reagent_containers/food/snacks/cutlet,/obj/item/reagent_containers/food/snacks/cutlet,/obj/item/reagent_containers/food/snacks/cutlet,/obj/item/reagent_containers/food/snacks/sausage,/turf/simulated/floor/tiled,/area/submap/virgo2/ButcherShack) "s" = (/obj/structure/coatrack,/turf/simulated/floor/tiled,/area/submap/virgo2/ButcherShack) -"t" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/brown,/turf/simulated/floor/tiled,/area/submap/virgo2/ButcherShack) +"t" = (/obj/structure/bed/padded,/obj/item/bedsheet/brown,/turf/simulated/floor/tiled,/area/submap/virgo2/ButcherShack) "u" = (/obj/effect/decal/cleanable/blood/drip,/obj/machinery/door/airlock/external,/turf/simulated/floor/tiled,/area/submap/virgo2/ButcherShack) "v" = (/turf/simulated/mineral/floor/bor4,/area/submap/virgo2/ButcherShack) "w" = (/obj/structure/window/basic,/obj/structure/curtain,/turf/simulated/floor/wood/sif,/area/submap/virgo2/ButcherShack) diff --git a/maps/yw/submaps/aerostat/submaps/virgo2.dm b/maps/yw/submaps/aerostat/submaps/virgo2.dm index 757d314114b..55c1023e035 100644 --- a/maps/yw/submaps/aerostat/submaps/virgo2.dm +++ b/maps/yw/submaps/aerostat/submaps/virgo2.dm @@ -1,6 +1,6 @@ #include "virgo2_submap_areas.dm" -#if MAP_TEST +#ifdef MAP_TEST #include "Flake.dmm" #include "MCamp1.dmm" #include "Rocky1.dmm" diff --git a/maps/yw/submaps/alienship/_alienship.dm b/maps/yw/submaps/alienship/_alienship.dm index d4f574b4c2b..2f77a40a3c5 100644 --- a/maps/yw/submaps/alienship/_alienship.dm +++ b/maps/yw/submaps/alienship/_alienship.dm @@ -17,7 +17,7 @@ /obj/machinery/porta_turret/alien/ion name = "interior anti-boarding turret" desc = "A very tough looking turret made by alien hands." - installation = /obj/item/weapon/gun/energy/ionrifle/weak + installation = /obj/item/gun/energy/ionrifle/weak enabled = TRUE lethal = TRUE ailock = TRUE @@ -57,7 +57,7 @@ icon_state = "w2e" teleport_on_mode = "w2e" -/obj/item/weapon/reagent_containers/hypospray/autoinjector/alien +/obj/item/reagent_containers/hypospray/autoinjector/alien name = "alien injector(?)" desc = "It appears to contain some sort of liquid and has a needle for injecting." icon = 'alienship.dmi' diff --git a/maps/yw/submaps/alienship/alienship.dmm b/maps/yw/submaps/alienship/alienship.dmm index cec10d8912b..59faa67c039 100644 --- a/maps/yw/submaps/alienship/alienship.dmm +++ b/maps/yw/submaps/alienship/alienship.dmm @@ -120,17 +120,17 @@ /turf/simulated/shuttle/floor/alien, /area/tether_away/alienship) "aB" = ( -/obj/item/weapon/cell/device/weapon/recharge/alien, +/obj/item/cell/device/weapon/recharge/alien, /turf/simulated/shuttle/floor/alienplating, /area/tether_away/alienship) "aC" = ( -/obj/item/device/gps, +/obj/item/gps, /obj/structure/table/alien, /turf/simulated/shuttle/floor/alienplating, /area/tether_away/alienship) "aD" = ( /obj/structure/table/alien, -/obj/item/weapon/cell/device/weapon/recharge/alien, +/obj/item/cell/device/weapon/recharge/alien, /turf/simulated/shuttle/floor/alienplating, /area/tether_away/alienship) "aE" = ( @@ -138,86 +138,86 @@ /area/tether_away/alienship/equip_dump) "aF" = ( /obj/structure/closet/crate, -/obj/item/device/multitool, -/obj/item/weapon/tool/wrench, -/obj/item/device/radio, +/obj/item/multitool, +/obj/item/tool/wrench, +/obj/item/radio, /turf/simulated/shuttle/floor/alien, /area/tether_away/alienship) "aG" = ( /obj/structure/closet/crate, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/weldingtool, +/obj/item/tool/crowbar, +/obj/item/weldingtool, /turf/simulated/shuttle/floor/alien, /area/tether_away/alienship) "aH" = ( /obj/structure/closet/crate, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/screwdriver, -/obj/item/weapon/tool/wirecutters, -/obj/item/weapon/weldingtool, -/obj/item/weapon/storage/firstaid, +/obj/item/tool/crowbar, +/obj/item/tool/screwdriver, +/obj/item/tool/wirecutters, +/obj/item/weldingtool, +/obj/item/storage/firstaid, /turf/simulated/shuttle/floor/alienplating, /area/tether_away/alienship) "aI" = ( /obj/structure/table/alien, -/obj/item/weapon/storage/belt/utility/alien/full, +/obj/item/storage/belt/utility/alien/full, /turf/simulated/shuttle/floor/alienplating, /area/tether_away/alienship) "aJ" = ( /obj/structure/closet/crate, -/obj/item/device/multitool, -/obj/item/weapon/tool/screwdriver, -/obj/item/weapon/tool/wirecutters, -/obj/item/weapon/tool/wrench, +/obj/item/multitool, +/obj/item/tool/screwdriver, +/obj/item/tool/wirecutters, +/obj/item/tool/wrench, /turf/simulated/shuttle/floor/alien, /area/tether_away/alienship) "aK" = ( /obj/structure/closet/crate, -/obj/item/weapon/tool/crowbar/power, -/obj/item/weapon/tool/wrench, +/obj/item/tool/crowbar/power, +/obj/item/tool/wrench, /turf/simulated/shuttle/floor/alien, /area/tether_away/alienship) "aL" = ( /obj/structure/closet/crate, -/obj/item/device/multitool, -/obj/item/weapon/tool/screwdriver, -/obj/item/weapon/weldingtool, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/reagent_containers/food/snacks/liquidfood, -/obj/item/weapon/reagent_containers/food/snacks/liquidfood, +/obj/item/multitool, +/obj/item/tool/screwdriver, +/obj/item/weldingtool, +/obj/item/storage/firstaid/regular, +/obj/item/reagent_containers/food/snacks/liquidfood, +/obj/item/reagent_containers/food/snacks/liquidfood, /turf/simulated/shuttle/floor/alien, /area/tether_away/alienship) "aM" = ( /obj/structure/closet/crate, -/obj/item/weapon/tool/crowbar/red, -/obj/item/weapon/tool/screwdriver/power, -/obj/item/weapon/tool/wirecutters, +/obj/item/tool/crowbar/red, +/obj/item/tool/screwdriver/power, +/obj/item/tool/wirecutters, /turf/simulated/shuttle/floor/alien, /area/tether_away/alienship) "aN" = ( /obj/structure/closet/crate, -/obj/item/device/multitool, -/obj/item/weapon/tool/wirecutters, -/obj/item/device/radio, -/obj/item/weapon/weldingtool, +/obj/item/multitool, +/obj/item/tool/wirecutters, +/obj/item/radio, +/obj/item/weldingtool, /turf/simulated/shuttle/floor/alienplating, /area/tether_away/alienship) "aO" = ( -/obj/item/device/radio, +/obj/item/radio, /turf/simulated/shuttle/floor/alienplating, /area/tether_away/alienship) "aP" = ( /obj/effect/decal/remains/xeno, -/obj/item/device/radio, +/obj/item/radio, /turf/simulated/shuttle/floor/alien, /area/tether_away/alienship) "aQ" = ( -/obj/item/device/radio, +/obj/item/radio, /turf/simulated/shuttle/floor/alien, /area/tether_away/alienship) "aR" = ( /obj/structure/table/alien, -/obj/item/weapon/reagent_containers/food/drinks/glass2/pint{ +/obj/item/reagent_containers/food/drinks/glass2/pint{ desc = "There's a permanent colored stain around the inside, as if it held a liquid for a very, very long time."; name = "ancient pint glass" }, @@ -248,12 +248,12 @@ /area/tether_away/alienship) "aX" = ( /obj/structure/closet/alien, -/obj/item/weapon/reagent_containers/hypospray/autoinjector/alien, +/obj/item/reagent_containers/hypospray/autoinjector/alien, /turf/simulated/shuttle/floor/alienplating, /area/tether_away/alienship) "aY" = ( /obj/structure/table/alien, -/obj/item/weapon/reagent_containers/hypospray/autoinjector/alien, +/obj/item/reagent_containers/hypospray/autoinjector/alien, /turf/simulated/shuttle/floor/alienplating, /area/tether_away/alienship) "bJ" = ( @@ -326,7 +326,7 @@ /area/tether_away/alienship) "ca" = ( /obj/structure/table/alien, -/obj/item/weapon/paper/alien{ +/obj/item/paper/alien{ icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]" }, @@ -342,17 +342,17 @@ /area/tether_away/alienship) "cd" = ( /obj/structure/table/alien, -/obj/item/weapon/surgical/FixOVein/alien, +/obj/item/surgical/FixOVein/alien, /turf/simulated/shuttle/floor/alien, /area/tether_away/alienship) "ce" = ( /obj/structure/table/alien, -/obj/item/weapon/surgical/bone_clamp/alien, +/obj/item/surgical/bone_clamp/alien, /turf/simulated/shuttle/floor/alien, /area/tether_away/alienship) "cf" = ( /obj/structure/table/alien, -/obj/item/weapon/paper/alien{ +/obj/item/paper/alien{ icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]" }, @@ -360,7 +360,7 @@ /area/tether_away/alienship) "cg" = ( /obj/structure/table/alien, -/obj/item/weapon/surgical/circular_saw/alien, +/obj/item/surgical/circular_saw/alien, /turf/simulated/shuttle/floor/alien, /area/tether_away/alienship) "ch" = ( @@ -374,7 +374,7 @@ /area/tether_away/alienship) "cj" = ( /obj/structure/closet/alien, -/obj/item/weapon/paper/alien, +/obj/item/paper/alien, /turf/simulated/shuttle/floor/alienplating, /area/tether_away/alienship) "ck" = ( @@ -422,7 +422,7 @@ /area/tether_away/alienship) "cu" = ( /obj/structure/table/alien, -/obj/item/device/multitool/alien, +/obj/item/multitool/alien, /turf/simulated/shuttle/floor/alienplating, /area/tether_away/alienship) "cv" = ( @@ -437,12 +437,12 @@ /area/tether_away/alienship) "cx" = ( /obj/structure/table/alien, -/obj/item/weapon/surgical/hemostat/alien, +/obj/item/surgical/hemostat/alien, /turf/simulated/shuttle/floor/alien, /area/tether_away/alienship) "cy" = ( /obj/structure/table/alien, -/obj/item/weapon/storage/belt/utility/alien/full, +/obj/item/storage/belt/utility/alien/full, /turf/simulated/shuttle/floor/alien, /area/tether_away/alienship) "cz" = ( @@ -460,7 +460,7 @@ /area/tether_away/alienship) "cC" = ( /obj/structure/table/alien, -/obj/item/weapon/surgical/cautery/alien, +/obj/item/surgical/cautery/alien, /turf/simulated/shuttle/floor/alien, /area/tether_away/alienship) "cD" = ( @@ -469,69 +469,69 @@ /area/tether_away/alienship) "cE" = ( /obj/structure/table/alien, -/obj/item/weapon/surgical/hemostat/alien, +/obj/item/surgical/hemostat/alien, /turf/simulated/shuttle/floor/alienplating, /area/tether_away/alienship) "cF" = ( /obj/structure/closet/alien, -/obj/item/weapon/gun/energy/alien, +/obj/item/gun/energy/alien, /turf/simulated/shuttle/floor/alienplating, /area/tether_away/alienship) "cG" = ( /obj/structure/table/alien, -/obj/item/weapon/surgical/bone_clamp/alien, +/obj/item/surgical/bone_clamp/alien, /turf/simulated/shuttle/floor/alienplating, /area/tether_away/alienship) "cH" = ( -/obj/item/device/multitool/alien, +/obj/item/multitool/alien, /turf/simulated/shuttle/floor/alien, /area/tether_away/alienship) "cI" = ( -/obj/item/weapon/cell/device/weapon/recharge/alien, +/obj/item/cell/device/weapon/recharge/alien, /obj/structure/table/alien, -/obj/item/weapon/weldingtool/alien, +/obj/item/weldingtool/alien, /turf/simulated/shuttle/floor/alienplating, /area/tether_away/alienship) "cJ" = ( -/obj/item/weapon/cell/device/weapon/recharge/alien, +/obj/item/cell/device/weapon/recharge/alien, /obj/structure/table/alien, /turf/simulated/shuttle/floor/alienplating, /area/tether_away/alienship) "cL" = ( /obj/structure/table/alien, -/obj/item/weapon/tool/crowbar/alien, +/obj/item/tool/crowbar/alien, /turf/simulated/shuttle/floor/alienplating, /area/tether_away/alienship) "cM" = ( -/obj/item/weapon/tool/screwdriver/alien, +/obj/item/tool/screwdriver/alien, /turf/simulated/shuttle/floor/alien, /area/tether_away/alienship) "cO" = ( /obj/structure/table/alien, -/obj/item/weapon/surgical/scalpel/alien, +/obj/item/surgical/scalpel/alien, /turf/simulated/shuttle/floor/alien, /area/tether_away/alienship) "cP" = ( /obj/structure/table/alien, -/obj/item/weapon/surgical/retractor/alien, +/obj/item/surgical/retractor/alien, /turf/simulated/shuttle/floor/alienplating, /area/tether_away/alienship) "cQ" = ( /obj/structure/table/alien, -/obj/item/device/gps, +/obj/item/gps, /turf/simulated/shuttle/floor/alienplating, /area/tether_away/alienship) "cR" = ( -/obj/item/device/gps, +/obj/item/gps, /turf/simulated/shuttle/floor/alienplating, /area/tether_away/alienship) "cS" = ( /obj/structure/table/alien, -/obj/item/weapon/gun/energy/alien, +/obj/item/gun/energy/alien, /turf/simulated/shuttle/floor/alienplating, /area/tether_away/alienship) "cT" = ( -/obj/item/device/gps, +/obj/item/gps, /turf/simulated/shuttle/floor/alien, /area/tether_away/alienship) "da" = ( @@ -544,11 +544,11 @@ /turf/simulated/shuttle/floor/alienplating, /area/tether_away/alienship) "gG" = ( -/obj/item/weapon/reagent_containers/food/snacks/liquidfood, +/obj/item/reagent_containers/food/snacks/liquidfood, /turf/simulated/shuttle/floor/alienplating, /area/tether_away/alienship) "nr" = ( -/obj/item/weapon/storage/firstaid, +/obj/item/storage/firstaid, /turf/simulated/shuttle/floor/alien, /area/tether_away/alienship) "ss" = ( @@ -567,7 +567,7 @@ /turf/simulated/shuttle/floor/alien, /area/tether_away/alienship) "Rx" = ( -/obj/item/weapon/reagent_containers/food/snacks/liquidfood, +/obj/item/reagent_containers/food/snacks/liquidfood, /turf/simulated/shuttle/floor/alien, /area/tether_away/alienship) "YP" = ( diff --git a/maps/yw/submaps/backup/cryogaia_ships.dmm b/maps/yw/submaps/backup/cryogaia_ships.dmm index f50d495fee8..7eaed45cb17 100644 --- a/maps/yw/submaps/backup/cryogaia_ships.dmm +++ b/maps/yw/submaps/backup/cryogaia_ships.dmm @@ -204,7 +204,7 @@ /area/houseboat) "aD" = ( /obj/structure/table/woodentable, -/obj/item/weapon/book/codex, +/obj/item/book/codex, /turf/simulated/floor/carpet/blue, /area/houseboat) "aE" = ( @@ -321,8 +321,8 @@ /area/houseboat) "aX" = ( /obj/structure/table/standard, -/obj/item/weapon/material/knife/butch, -/obj/item/weapon/material/kitchen/rollingpin, +/obj/item/material/knife/butch, +/obj/item/material/kitchen/rollingpin, /turf/simulated/floor/tiled/white, /area/houseboat) "aY" = ( @@ -390,7 +390,7 @@ /area/houseboat) "bj" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery, /turf/simulated/floor/tiled/steel_grid, /area/houseboat) "bk" = ( @@ -421,7 +421,7 @@ /area/houseboat) "bo" = ( /obj/structure/table/steel, -/obj/item/weapon/storage/secure/briefcase/nsfw_pack, +/obj/item/storage/secure/briefcase/nsfw_pack, /turf/simulated/floor/tiled/steel_grid, /area/houseboat) "bp" = ( @@ -437,7 +437,7 @@ /area/houseboat) "br" = ( /obj/structure/table/standard, -/obj/item/weapon/tank/anesthetic, +/obj/item/tank/anesthetic, /obj/item/clothing/mask/breath/medical, /obj/machinery/light{ icon_state = "tube1"; @@ -493,7 +493,7 @@ dir = 1 }, /obj/structure/table/standard, -/obj/item/device/healthanalyzer/advanced, +/obj/item/healthanalyzer/advanced, /turf/simulated/floor/tiled/white, /area/houseboat) "bA" = ( @@ -517,12 +517,12 @@ /turf/simulated/floor/tiled/techmaint, /area/houseboat) "bC" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled/techmaint, /area/houseboat) "bD" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/toolbox/syndicate, +/obj/item/storage/toolbox/syndicate, /turf/simulated/floor/tiled/techmaint, /area/houseboat) "bE" = ( @@ -707,11 +707,11 @@ /turf/simulated/floor/tiled/steel_grid, /area/houseboat) "ce" = ( -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = -2; pixel_y = 4 }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = -2; pixel_y = 4 }, @@ -721,37 +721,37 @@ /obj/item/bodybag/cryobag{ pixel_x = 5 }, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ layer = 2.8; pixel_x = 4; pixel_y = 6 }, -/obj/item/weapon/storage/box/masks{ +/obj/item/storage/box/masks{ pixel_x = 0; pixel_y = 0 }, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/gloves{ pixel_x = 3; pixel_y = 4 }, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/toxin, +/obj/item/storage/firstaid/fire{ layer = 2.9; pixel_x = 2; pixel_y = 3 }, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ pixel_x = -2 }, -/obj/item/weapon/reagent_containers/blood/empty, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/empty, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /obj/structure/closet/medical_wall{ pixel_y = -32 }, -/obj/item/weapon/storage/box/body_record_disk, +/obj/item/storage/box/body_record_disk, /turf/simulated/floor/tiled/white, /area/houseboat) "cf" = ( @@ -873,8 +873,8 @@ /area/houseboat) "cx" = ( /obj/structure/table/rack, -/obj/item/device/suit_cooling_unit, -/obj/item/weapon/tank/air, +/obj/item/suit_cooling_unit, +/obj/item/tank/air, /turf/simulated/floor/tiled/techfloor, /area/houseboat) "cy" = ( @@ -898,10 +898,10 @@ /obj/structure/closet{ name = "custodial" }, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/mop, -/obj/item/weapon/storage/box/lights/mixed, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/glass/bucket, +/obj/item/mop, +/obj/item/storage/box/lights/mixed, /obj/machinery/light/small{ dir = 8; pixel_x = 0 @@ -1127,7 +1127,7 @@ /turf/simulated/floor/reinforced, /area/houseboat) "dh" = ( -/obj/item/device/perfect_tele, +/obj/item/perfect_tele, /turf/simulated/floor/reinforced, /area/houseboat) "di" = ( @@ -1580,7 +1580,7 @@ /area/houseboat) "ed" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp, +/obj/item/flashlight/lamp, /turf/simulated/floor/wood, /area/houseboat) "ee" = ( @@ -1671,7 +1671,7 @@ /turf/simulated/floor/plating, /area/houseboat) "en" = ( -/obj/item/weapon/bedsheet/captaindouble, +/obj/item/bedsheet/captaindouble, /obj/structure/bed/double, /turf/simulated/floor/wood, /area/houseboat) @@ -1842,7 +1842,7 @@ /turf/simulated/floor/holofloor/beach/sand, /area/houseboat/holodeck/beach) "eQ" = ( -/obj/item/weapon/beach_ball, +/obj/item/beach_ball, /turf/simulated/floor/holofloor/beach/sand, /area/houseboat/holodeck/beach) "eR" = ( @@ -2075,9 +2075,9 @@ icon_state = "4-8" }, /obj/structure/table/steel_reinforced, -/obj/item/weapon/rcd, -/obj/item/weapon/rcd_ammo, -/obj/item/weapon/rcd_ammo, +/obj/item/rcd, +/obj/item/rcd_ammo, +/obj/item/rcd_ammo, /turf/simulated/floor/plating, /area/houseboat) "fw" = ( @@ -2188,7 +2188,7 @@ icon_state = "2-8" }, /obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/toolbox/syndicate, +/obj/item/storage/toolbox/syndicate, /turf/simulated/floor/plating, /area/houseboat) "fJ" = ( @@ -2434,7 +2434,7 @@ /obj/item/clothing/head/helmet/thunderdome, /obj/item/clothing/suit/armor/tdome/red, /obj/item/clothing/under/color/red, -/obj/item/weapon/holo/esword/red, +/obj/item/holo/esword/red, /obj/effect/floor_decal/corner/red{ dir = 5 }, @@ -2467,7 +2467,7 @@ /turf/simulated/floor/holofloor/tiled, /area/houseboat/holodeck/basketball) "gB" = ( -/obj/item/weapon/beach_ball/holoball, +/obj/item/beach_ball/holoball, /turf/simulated/floor/holofloor/tiled, /area/houseboat/holodeck/basketball) "gC" = ( @@ -2512,7 +2512,7 @@ /obj/item/clothing/head/helmet/thunderdome, /obj/item/clothing/suit/armor/tdome/green, /obj/item/clothing/under/color/green, -/obj/item/weapon/holo/esword/green, +/obj/item/holo/esword/green, /obj/effect/floor_decal/corner/green{ dir = 10 }, diff --git a/maps/yw/submaps/beach/backup/beach.dmm b/maps/yw/submaps/beach/backup/beach.dmm index c4bcb2b127c..c0e337ba704 100644 --- a/maps/yw/submaps/beach/backup/beach.dmm +++ b/maps/yw/submaps/beach/backup/beach.dmm @@ -81,11 +81,11 @@ /turf/simulated/floor/tiled/asteroid_steel, /area/tether_away/beach/outpost) "aw" = ( -/obj/item/weapon/locator, +/obj/item/locator, /turf/simulated/mineral/floor/ignore_mapgen, /area/tether_away/beach/jungle) "ax" = ( -/obj/item/weapon/dnainjector/regenerate, +/obj/item/dnainjector/regenerate, /turf/simulated/mineral/floor/ignore_mapgen, /area/tether_away/beach/jungle) "ay" = ( @@ -204,7 +204,7 @@ /turf/simulated/floor/tiled/asteroid_steel, /area/tether_away/beach/outpost) "aY" = ( -/obj/item/weapon/digestion_remains/skull, +/obj/item/digestion_remains/skull, /obj/effect/decal/cleanable/blood/drip, /turf/simulated/floor/tiled/asteroid_steel, /area/tether_away/beach/outpost) @@ -688,7 +688,7 @@ pixel_y = 28 }, /obj/structure/table/standard, -/obj/item/device/healthanalyzer/improved, +/obj/item/healthanalyzer/improved, /turf/simulated/floor/tiled/asteroid_steel, /area/tether_away/beach/outpost) "cJ" = ( @@ -731,7 +731,7 @@ /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/tether_away/beach/jungle) "cS" = ( -/obj/item/weapon/pickaxe/silver, +/obj/item/pickaxe/silver, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/tether_away/beach/jungle) "cV" = ( @@ -788,7 +788,7 @@ /turf/simulated/floor/beach/sand/desert, /area/tether_away/beach/jungle) "dg" = ( -/obj/item/device/gps/computer{ +/obj/item/gps/computer{ gps_tag = "Distress Signal" }, /turf/simulated/floor/tiled/asteroid_steel, @@ -955,7 +955,7 @@ /turf/simulated/floor/tiled/asteroid_steel, /area/tether_away/beach/outpost) "dO" = ( -/obj/item/weapon/gun/energy/soapenergy/gauss, +/obj/item/gun/energy/soapenergy/gauss, /obj/item/clothing/under/hephaestus, /turf/simulated/floor/tiled/asteroid_steel, /area/tether_away/beach/outpost) @@ -986,7 +986,7 @@ /turf/simulated/floor/tiled/asteroid_steel, /area/tether_away/beach/jungle) "dV" = ( -/obj/item/weapon/paper/crumpled/bloody/whiskeystation, +/obj/item/paper/crumpled/bloody/whiskeystation, /turf/simulated/floor/tiled/asteroid_steel, /area/tether_away/beach/outpost) "dW" = ( @@ -998,7 +998,7 @@ /area/tether_away/beach/jungle) "dX" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper/crumpled/whiskeyhermit, +/obj/item/paper/crumpled/whiskeyhermit, /turf/simulated/floor/tiled/asteroid_steel, /area/tether_away/beach/jungle) "dY" = ( diff --git a/maps/yw/submaps/beach/beach.dmm b/maps/yw/submaps/beach/beach.dmm index 8d8f8ac9054..4be153e3f17 100644 --- a/maps/yw/submaps/beach/beach.dmm +++ b/maps/yw/submaps/beach/beach.dmm @@ -11,7 +11,7 @@ /area/tether_away/beach/jungle) "at" = ( /obj/structure/table/woodentable, -/obj/item/weapon/paper/crumpled/whiskeyhermit, +/obj/item/paper/crumpled/whiskeyhermit, /turf/simulated/floor/tiled/asteroid_steel, /area/tether_away/beach/jungle) "av" = ( @@ -199,7 +199,7 @@ /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/tether_away/beach/jungle) "mC" = ( -/obj/item/weapon/locator, +/obj/item/locator, /turf/simulated/mineral/floor/ignore_mapgen, /area/tether_away/beach/jungle) "mZ" = ( @@ -296,7 +296,7 @@ /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/tether_away/beach/jungle) "sE" = ( -/obj/item/device/gps/computer{ +/obj/item/gps/computer{ gps_tag = "Distress Signal" }, /turf/simulated/floor/tiled/asteroid_steel, @@ -410,7 +410,7 @@ /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/tether_away/beach/jungle) "wN" = ( -/obj/item/weapon/gun/energy/soapenergy/gauss, +/obj/item/gun/energy/soapenergy/gauss, /obj/item/clothing/under/soviet, /turf/simulated/floor/tiled/asteroid_steel, /area/tether_away/beach/outpost) @@ -497,7 +497,7 @@ /turf/simulated/floor/beach/sand/desert, /area/tether_away/beach/jungle) "Bq" = ( -/obj/item/weapon/digestion_remains/skull, +/obj/item/digestion_remains/skull, /obj/effect/decal/cleanable/blood/drip, /turf/simulated/floor/tiled/asteroid_steel, /area/tether_away/beach/outpost) @@ -639,7 +639,7 @@ /turf/simulated/floor/tiled/asteroid_steel, /area/tether_away/beach/outpost) "Ji" = ( -/obj/item/weapon/dnainjector/regenerate, +/obj/item/dnainjector/regenerate, /turf/simulated/mineral/floor/ignore_mapgen, /area/tether_away/beach/jungle) "Jv" = ( @@ -744,7 +744,7 @@ /turf/simulated/wall, /area/tether_away/beach/outpost) "MR" = ( -/obj/item/weapon/pickaxe/silver, +/obj/item/pickaxe/silver, /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/tether_away/beach/jungle) "MS" = ( @@ -815,7 +815,7 @@ /turf/simulated/floor/tiled/asteroid_steel, /area/tether_away/beach/outpost) "Qc" = ( -/obj/item/weapon/paper/crumpled/bloody/whiskeystation, +/obj/item/paper/crumpled/bloody/whiskeystation, /turf/simulated/floor/tiled/asteroid_steel, /area/tether_away/beach/outpost) "Qk" = ( @@ -911,7 +911,7 @@ pixel_y = 28 }, /obj/structure/table/standard, -/obj/item/device/healthanalyzer/improved, +/obj/item/healthanalyzer/improved, /turf/simulated/floor/tiled/asteroid_steel, /area/tether_away/beach/outpost) "TN" = ( diff --git a/maps/yw/submaps/beach/beach_old.dmm b/maps/yw/submaps/beach/beach_old.dmm index 572b21338e1..b34fc187e9a 100644 --- a/maps/yw/submaps/beach/beach_old.dmm +++ b/maps/yw/submaps/beach/beach_old.dmm @@ -102,8 +102,8 @@ /turf/simulated/floor/beach/sand, /area/tether_away/beach) "az" = ( -/obj/item/weapon/reagent_containers/food/drinks/bottle/wine, -/obj/item/weapon/reagent_containers/food/drinks/bottle/rum, +/obj/item/reagent_containers/food/drinks/bottle/wine, +/obj/item/reagent_containers/food/drinks/bottle/rum, /obj/structure/table/woodentable, /turf/simulated/floor/wood, /area/tether_away/beach) @@ -118,7 +118,7 @@ pixel_y = 0; specialfunctions = 4 }, -/obj/item/weapon/bedsheet/rainbow, +/obj/item/bedsheet/rainbow, /obj/structure/bed, /turf/simulated/floor/wood, /area/tether_away/beach) @@ -214,23 +214,23 @@ /area/tether_away/beach) "aQ" = ( /obj/structure/table/woodentable, -/obj/item/weapon/book/manual/barman_recipes, +/obj/item/book/manual/barman_recipes, /turf/simulated/floor/wood, /area/tether_away/beach) "aR" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/shaker, +/obj/item/reagent_containers/food/drinks/shaker, /turf/simulated/floor/wood, /area/tether_away/beach) "aS" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, /turf/simulated/floor/wood, /area/tether_away/beach) "aT" = ( /obj/structure/table/woodentable, /obj/item/clothing/glasses/sunglasses, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, +/obj/item/reagent_containers/food/drinks/bottle/small/beer, /turf/simulated/floor/wood, /area/tether_away/beach) "aU" = ( @@ -254,7 +254,7 @@ /area/tether_away/beach) "aY" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/bottle/small/ale, +/obj/item/reagent_containers/food/drinks/bottle/small/ale, /turf/simulated/floor/wood, /area/tether_away/beach) "aZ" = ( @@ -263,16 +263,16 @@ /area/tether_away/beach) "ba" = ( /obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, /turf/simulated/floor/wood, /area/tether_away/beach) "bb" = ( /obj/structure/table/woodentable, -/obj/item/weapon/cell/apc, +/obj/item/cell/apc, /turf/simulated/floor/wood, /area/tether_away/beach) "bc" = ( -/obj/item/weapon/stool/padded, +/obj/item/stool/padded, /turf/simulated/floor/tiled/asteroid_steel, /area/tether_away/beach) "bd" = ( @@ -291,11 +291,11 @@ /turf/simulated/floor/beach/sand, /area/tether_away/beach) "bh" = ( -/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, /turf/simulated/floor/beach/sand, /area/tether_away/beach) "bi" = ( -/obj/item/weapon/beach_ball, +/obj/item/beach_ball, /turf/simulated/floor/beach/sand, /area/tether_away/beach) "bj" = ( diff --git a/maps/yw/submaps/cryogaia_underdark.dmm b/maps/yw/submaps/cryogaia_underdark.dmm index d587567c71c..df586f11b9a 100644 --- a/maps/yw/submaps/cryogaia_underdark.dmm +++ b/maps/yw/submaps/cryogaia_underdark.dmm @@ -87,7 +87,7 @@ /turf/simulated/mineral/floor/ignore_mapgen/cave, /area/mine/explored/underdark) "tN" = ( -/obj/item/weapon/newspaper{ +/obj/item/newspaper{ pixel_x = 4 }, /turf/simulated/floor/outdoors/dirt, @@ -106,7 +106,7 @@ /turf/simulated/floor/outdoors/dirt, /area/mine/explored/underdark) "xQ" = ( -/obj/item/weapon/bone, +/obj/item/bone, /turf/simulated/floor/outdoors/dirt, /area/mine/explored/underdark) "AF" = ( @@ -142,7 +142,7 @@ }, /area/mine/explored/underdark) "Fl" = ( -/obj/item/weapon/tool/wrench, +/obj/item/tool/wrench, /turf/simulated/floor/tiled/steel_dirty, /area/mine/explored/underdark) "HW" = ( @@ -150,7 +150,7 @@ /turf/simulated/floor/tiled/steel_dirty, /area/mine/explored/underdark) "Jo" = ( -/obj/item/weapon/bone/skull, +/obj/item/bone/skull, /turf/simulated/mineral/floor{ ignore_mapgen = 1 }, diff --git a/maps/yw/submaps/underdark_pois/_templates.dm b/maps/yw/submaps/underdark_pois/_templates.dm index 6b250fb12ed..84b75d6439a 100644 --- a/maps/yw/submaps/underdark_pois/_templates.dm +++ b/maps/yw/submaps/underdark_pois/_templates.dm @@ -5,161 +5,161 @@ /datum/map_template/underdark/normal_mob name = "Underdark Normal Mob Spawn" - mappath = 'normal_mob.dmm' + mappath = "maps/yw/submaps/underdark_pois/normal_mob.dmm" cost = 5 /datum/map_template/underdark/hard_mob name = "Underdark Hard Mob Spawn" - mappath = 'hard_mob.dmm' + mappath = "maps/yw/submaps/underdark_pois/hard_mob.dmm" cost = 15 /datum/map_template/underdark/vault1 name = "Underdark Vault 1" - mappath = 'vault1.dmm' + mappath = "maps/yw/submaps/underdark_pois/vault1.dmm" cost = 10 /datum/map_template/underdark/vault2 name = "Underdark Vault 2" - mappath = 'vault2.dmm' + mappath = "maps/yw/submaps/underdark_pois/vault2.dmm" cost = 15 /datum/map_template/underdark/vault3 name = "Underdark Vault 3" - mappath = 'vault3.dmm' + mappath = "maps/yw/submaps/underdark_pois/vault3.dmm" cost = 10 /datum/map_template/underdark/guardedloot_normal name = "Underdark Guarded Loot Normal" - mappath = 'guardedloot_normal.dmm' + mappath = "maps/yw/submaps/underdark_pois/guardedloot_normal.dmm" cost = 10 /datum/map_template/underdark/guardedloot_hard name = "Underdark Guarded Loot Hard" - mappath = 'guardedloot_hard.dmm' + mappath = "maps/yw/submaps/underdark_pois/guardedloot_hard.dmm" cost = 15 /datum/map_template/underdark/blaster name = "Underdark Blaster" - mappath = 'blaster.dmm' + mappath = "maps/yw/submaps/underdark_pois/blaster.dmm" cost = 10 /datum/map_template/underdark/mechwreck name = "Underdark Mech Wreck" - mappath = 'mechwreck.dmm' + mappath = "maps/yw/submaps/underdark_pois/mechwreck.dmm" cost = 15 allow_duplicates = FALSE /datum/map_template/underdark/abandonedshelter name = "Underdark Abandoned Shelter" - mappath = 'abandonedshelter.dmm' + mappath = "maps/yw/submaps/underdark_pois/abandonedshelter.dmm" cost = 15 allow_duplicates = FALSE /datum/map_template/underdark/deadminer name = "Underdark Dead Miner" - mappath = 'deadminer.dmm' + mappath = "maps/yw/submaps/underdark_pois/deadminer.dmm" cost = 15 allow_duplicates = FALSE /datum/map_template/underdark/underhall name = "Underdark Golden Hall" - mappath = 'goldhall.dmm' + mappath = "maps/yw/submaps/underdark_pois/goldhall.dmm" cost = 20 allow_duplicates = FALSE /datum/map_template/underdark/mechbay name = "Underdark Mech Bay" - mappath = 'mechbay.dmm' + mappath = "maps/yw/submaps/underdark_pois/mechbay.dmm" cost = 25 allow_duplicates = FALSE /datum/map_template/underdark/testsite name = "Underdark Test Site" - mappath = 'testsite.dmm' + mappath = "maps/yw/submaps/underdark_pois/testsite.dmm" cost = 20 allow_duplicates = FALSE /datum/map_template/underdark/corridor // Bob was a derp name = "Underdark Corridor" - mappath = 'Corridor.dmm' + mappath = "maps/yw/submaps/underdark_pois/Corridor.dmm" cost = 5 allow_duplicates = FALSE /datum/map_template/underdark/old_drone_hive name = "Underdark Old Drone Hive" - mappath = 'old_drone_hive.dmm' + mappath = "maps/yw/submaps/underdark_pois/old_drone_hive.dmm" cost = 15 /datum/map_template/underdark/phoron_rat_den name = "Underdark Phoron Rat Den" - mappath = 'phoron_rat_den.dmm' + mappath = "maps/yw/submaps/underdark_pois/phoron_rat_den.dmm" cost = 25 allow_duplicates = FALSE /datum/map_template/underdark/subterranean_lake name = "Underdark Underground Lake" - mappath = 'subterranean_lake.dmm' + mappath = "maps/yw/submaps/underdark_pois/subterranean_lake.dmm" cost = 5 /datum/map_template/underdark/spider_nest name = "Underdark Spider Nest" - mappath = 'spider_nest.dmm' + mappath = "maps/yw/submaps/underdark_pois/spider_nest.dmm" cost = 15 /datum/map_template/underdark/rykka_easter_egg // bark bark Rykka was here. <3 name = "Underdark GSD" - mappath = 'rykka_easter_egg.dmm' + mappath = "maps/yw/submaps/underdark_pois/rykka_easter_egg.dmm" cost = 5 allow_duplicates = FALSE /datum/map_template/underdark/tree_shrine name = "Underdark Tree" - mappath = 'tree_shrine.dmm' + mappath = "maps/yw/submaps/underdark_pois/tree_shrine.dmm" cost = 10 allow_duplicates = FALSE /datum/map_template/underdark/abandoned_outpost name = "Underdark Abandonded Outpost" - mappath = 'abandonded_outpost.dmm' + mappath = "maps/yw/submaps/underdark_pois/abandonded_outpost.dmm" cost = 45 allow_duplicates = FALSE discard_prob = 35 /datum/map_template/underdark/mimicry name = "Underdark Mimic Death" - mappath = 'mimicry.dmm' + mappath = "maps/yw/submaps/underdark_pois/mimicry.dmm" cost = 15 /datum/map_template/underdark/wolf_den name = "Underdark Wolf Den" - mappath = 'wolf_den.dmm' + mappath = "maps/yw/submaps/underdark_pois/wolf_den.dmm" cost = 15 /datum/map_template/underdark/puzzle_corridor name = "Underdark Puzzle Corridor" - mappath = 'puzzle_corridor.dmm' + mappath = "maps/yw/submaps/underdark_pois/puzzle_corridor.dmm" cost = 10 /* // Comment out unfinished/unbalanced POI's here /datum/map_template/underdark/rad_threat name = "Underdark Rad Threat" - mappath = 'rad_threat.dmm' + mappath = "maps/yw/submaps/underdark_pois/rad_threat.dmm" cost = 10 /datum/map_template/underdark/broken_engine name = "Underdark Broken Twin Engine" - mappath = 'broken_engine.dmm' + mappath = "maps/yw/submaps/underdark_pois/broken_engine.dmm" cost = 10 /datum/map_template/underdark/boss_mob name = "Underdark Boss Mob Spawn" - mappath = 'boss_mob.dmm' + mappath = "maps/yw/submaps/underdark_pois/boss_mob.dmm" cost = 60 allow_duplicates = FALSE /datum/map_template/underdark/whatever_treasure name = "Some Kinda Treasure" //A name, only visible to admins - mappath = 'hard_mob.dmm' //The .dmm file for this template (in this folder) + mappath = "maps/yw/submaps/underdark_pois/hard_mob.dmm" //The .dmm file for this template (in this folder) cost = 10 //How 'valuable' this template is */ diff --git a/maps/yw/submaps/underdark_pois/abandonded_outpost.dmm b/maps/yw/submaps/underdark_pois/abandonded_outpost.dmm index 160c2039a7c..3684fde76b1 100644 --- a/maps/yw/submaps/underdark_pois/abandonded_outpost.dmm +++ b/maps/yw/submaps/underdark_pois/abandonded_outpost.dmm @@ -322,21 +322,21 @@ /turf/simulated/mineral/floor/ignore_cavegen, /area/mine/explored/underdark) "bv" = ( -/obj/item/device/assembly/prox_sensor, +/obj/item/assembly/prox_sensor, /turf/simulated/floor/tiled/steel_dirty, /area/mine/explored/underdark) "bw" = ( -/obj/item/device/electronic_assembly/drone/genbot, +/obj/item/electronic_assembly/drone/genbot, /turf/simulated/floor/tiled/steel_dirty, /area/mine/explored/underdark) "bx" = ( /obj/structure/table/steel, -/obj/item/device/assembly/electronic_assembly, -/obj/item/weapon/circuitboard/aicore, +/obj/item/assembly/electronic_assembly, +/obj/item/circuitboard/aicore, /turf/simulated/floor/tiled/steel_dirty, /area/mine/explored/underdark) "by" = ( -/obj/item/device/assembly/signaler, +/obj/item/assembly/signaler, /turf/simulated/floor/tiled/steel_dirty, /area/mine/explored/underdark) "bz" = ( @@ -368,7 +368,7 @@ /turf/simulated/floor/tiled/steel_dirty, /area/mine/explored/underdark) "bE" = ( -/obj/item/device/geiger, +/obj/item/geiger, /turf/simulated/mineral/floor/ignore_cavegen, /area/mine/explored/underdark) "DS" = ( diff --git a/maps/yw/submaps/underdark_pois/abandonedshelter.dmm b/maps/yw/submaps/underdark_pois/abandonedshelter.dmm index 3f5d93c4c2a..47b4c48e6e6 100644 --- a/maps/yw/submaps/underdark_pois/abandonedshelter.dmm +++ b/maps/yw/submaps/underdark_pois/abandonedshelter.dmm @@ -19,7 +19,7 @@ /area/mine/explored/underdark) "f" = ( /obj/structure/bed/pod, -/obj/item/weapon/bedsheet/mime, +/obj/item/bedsheet/mime, /turf/simulated/shuttle/floor/voidcraft, /area/mine/explored/underdark) "g" = ( diff --git a/maps/yw/submaps/underdark_pois/broken_engine.dmm b/maps/yw/submaps/underdark_pois/broken_engine.dmm index c7b8fa01bdc..b761a7ede61 100644 --- a/maps/yw/submaps/underdark_pois/broken_engine.dmm +++ b/maps/yw/submaps/underdark_pois/broken_engine.dmm @@ -22,7 +22,7 @@ /turf/simulated/wall, /area/mine/explored/underdark) "g" = ( -/obj/item/device/geiger, +/obj/item/geiger, /turf/simulated/floor/tiled/steel_dirty, /area/mine/explored/underdark) "h" = ( diff --git a/maps/yw/submaps/underdark_pois/goldhall.dmm b/maps/yw/submaps/underdark_pois/goldhall.dmm index 1f450b5aa0f..e7fbff05047 100644 --- a/maps/yw/submaps/underdark_pois/goldhall.dmm +++ b/maps/yw/submaps/underdark_pois/goldhall.dmm @@ -13,7 +13,7 @@ /turf/simulated/floor/tiled/kafel_full/yellow, /area/mine/explored/underdark) "e" = ( -/obj/item/weapon/reagent_containers/food/condiment/ketchup, +/obj/item/reagent_containers/food/condiment/ketchup, /turf/simulated/floor/tiled/kafel_full/yellow, /area/mine/explored/underdark) "f" = ( @@ -23,7 +23,7 @@ /area/mine/explored/underdark) "g" = ( /obj/effect/decal/remains, -/obj/item/weapon/bluespace_crystal, +/obj/item/bluespace_crystal, /turf/simulated/floor/tiled/kafel_full/yellow, /area/mine/explored/underdark) diff --git a/maps/yw/submaps/underdark_pois/underdark_things.dm b/maps/yw/submaps/underdark_pois/underdark_things.dm index 8826471ad92..9a3ea397270 100644 --- a/maps/yw/submaps/underdark_pois/underdark_things.dm +++ b/maps/yw/submaps/underdark_pois/underdark_things.dm @@ -105,13 +105,13 @@ /obj/random/multiple/underdark/miningdrills/item_to_spawn() return pick( - prob(10);list(/obj/item/weapon/pickaxe/silver), - prob(8);list(/obj/item/weapon/pickaxe/drill), - prob(6);list(/obj/item/weapon/pickaxe/jackhammer), - prob(5);list(/obj/item/weapon/pickaxe/gold), - prob(4);list(/obj/item/weapon/pickaxe/plasmacutter), - prob(2);list(/obj/item/weapon/pickaxe/diamond), - prob(1);list(/obj/item/weapon/pickaxe/diamonddrill) + prob(10);list(/obj/item/pickaxe/silver), + prob(8);list(/obj/item/pickaxe/drill), + prob(6);list(/obj/item/pickaxe/jackhammer), + prob(5);list(/obj/item/pickaxe/gold), + prob(4);list(/obj/item/pickaxe/plasmacutter), + prob(2);list(/obj/item/pickaxe/diamond), + prob(1);list(/obj/item/pickaxe/diamonddrill) ) /obj/random/multiple/underdark/ores @@ -123,84 +123,84 @@ /obj/random/multiple/underdark/ores/item_to_spawn() return pick( prob(9);list( - /obj/item/weapon/storage/bag/ore, - /obj/item/weapon/shovel, - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/glass, - /obj/item/weapon/ore/hydrogen, - /obj/item/weapon/ore/hydrogen, - /obj/item/weapon/ore/hydrogen, - /obj/item/weapon/ore/hydrogen, - /obj/item/weapon/ore/hydrogen, - /obj/item/weapon/ore/hydrogen + /obj/item/storage/bag/ore, + /obj/item/shovel, + /obj/item/ore/glass, + /obj/item/ore/glass, + /obj/item/ore/glass, + /obj/item/ore/glass, + /obj/item/ore/glass, + /obj/item/ore/glass, + /obj/item/ore/glass, + /obj/item/ore/glass, + /obj/item/ore/glass, + /obj/item/ore/glass, + /obj/item/ore/hydrogen, + /obj/item/ore/hydrogen, + /obj/item/ore/hydrogen, + /obj/item/ore/hydrogen, + /obj/item/ore/hydrogen, + /obj/item/ore/hydrogen ), prob(7);list( - /obj/item/weapon/storage/bag/ore, - /obj/item/weapon/pickaxe, - /obj/item/weapon/ore/osmium, - /obj/item/weapon/ore/osmium, - /obj/item/weapon/ore/osmium, - /obj/item/weapon/ore/osmium, - /obj/item/weapon/ore/osmium, - /obj/item/weapon/ore/osmium, - /obj/item/weapon/ore/osmium, - /obj/item/weapon/ore/osmium, - /obj/item/weapon/ore/osmium, - /obj/item/weapon/ore/osmium + /obj/item/storage/bag/ore, + /obj/item/pickaxe, + /obj/item/ore/osmium, + /obj/item/ore/osmium, + /obj/item/ore/osmium, + /obj/item/ore/osmium, + /obj/item/ore/osmium, + /obj/item/ore/osmium, + /obj/item/ore/osmium, + /obj/item/ore/osmium, + /obj/item/ore/osmium, + /obj/item/ore/osmium ), prob(4);list( /obj/item/clothing/suit/radiation, /obj/item/clothing/head/radiation, - /obj/item/weapon/ore/uranium, - /obj/item/weapon/ore/uranium, - /obj/item/weapon/ore/uranium, - /obj/item/weapon/ore/uranium, - /obj/item/weapon/ore/uranium, - /obj/item/weapon/ore/uranium, - /obj/item/weapon/ore/uranium, - /obj/item/weapon/ore/uranium, - /obj/item/weapon/ore/uranium, - /obj/item/weapon/ore/uranium, - /obj/item/weapon/ore/uranium, - /obj/item/weapon/ore/uranium, - /obj/item/weapon/ore/uranium, - /obj/item/weapon/ore/uranium, - /obj/item/weapon/ore/uranium, - /obj/item/weapon/ore/uranium, - /obj/item/weapon/ore/uranium, - /obj/item/weapon/ore/uranium, - /obj/item/weapon/ore/uranium, - /obj/item/weapon/ore/uranium), + /obj/item/ore/uranium, + /obj/item/ore/uranium, + /obj/item/ore/uranium, + /obj/item/ore/uranium, + /obj/item/ore/uranium, + /obj/item/ore/uranium, + /obj/item/ore/uranium, + /obj/item/ore/uranium, + /obj/item/ore/uranium, + /obj/item/ore/uranium, + /obj/item/ore/uranium, + /obj/item/ore/uranium, + /obj/item/ore/uranium, + /obj/item/ore/uranium, + /obj/item/ore/uranium, + /obj/item/ore/uranium, + /obj/item/ore/uranium, + /obj/item/ore/uranium, + /obj/item/ore/uranium, + /obj/item/ore/uranium), prob(2);list( - /obj/item/device/flashlight/lantern, + /obj/item/flashlight/lantern, /obj/item/clothing/glasses/material, - /obj/item/weapon/ore/diamond, - /obj/item/weapon/ore/diamond, - /obj/item/weapon/ore/diamond, - /obj/item/weapon/ore/diamond, - /obj/item/weapon/ore/diamond, - /obj/item/weapon/ore/diamond, - /obj/item/weapon/ore/diamond, - /obj/item/weapon/ore/diamond, - /obj/item/weapon/ore/diamond, - /obj/item/weapon/ore/diamond + /obj/item/ore/diamond, + /obj/item/ore/diamond, + /obj/item/ore/diamond, + /obj/item/ore/diamond, + /obj/item/ore/diamond, + /obj/item/ore/diamond, + /obj/item/ore/diamond, + /obj/item/ore/diamond, + /obj/item/ore/diamond, + /obj/item/ore/diamond ), prob(1);list( - /obj/item/weapon/mining_scanner, - /obj/item/weapon/shovel/spade, - /obj/item/weapon/ore/verdantium, - /obj/item/weapon/ore/verdantium, - /obj/item/weapon/ore/verdantium, - /obj/item/weapon/ore/verdantium, - /obj/item/weapon/ore/verdantium + /obj/item/mining_scanner, + /obj/item/shovel/spade, + /obj/item/ore/verdantium, + /obj/item/ore/verdantium, + /obj/item/ore/verdantium, + /obj/item/ore/verdantium, + /obj/item/ore/verdantium ) ) @@ -221,10 +221,10 @@ /obj/item/clothing/head/pirate ), prob(4);list( - /obj/item/weapon/storage/bag/cash, - /obj/item/weapon/spacecash/c500, - /obj/item/weapon/spacecash/c100, - /obj/item/weapon/spacecash/c50 + /obj/item/storage/bag/cash, + /obj/item/spacecash/c500, + /obj/item/spacecash/c100, + /obj/item/spacecash/c50 ), prob(3);list( /obj/item/clothing/head/hardhat/orange, diff --git a/maps/yw/submaps/wild/tether_wild-crash-alt.dmm b/maps/yw/submaps/wild/tether_wild-crash-alt.dmm index ff808ebd611..7f4ef965d6f 100644 --- a/maps/yw/submaps/wild/tether_wild-crash-alt.dmm +++ b/maps/yw/submaps/wild/tether_wild-crash-alt.dmm @@ -47,7 +47,7 @@ /turf/simulated/shuttle/wall/dark/hard_corner/virgo3b, /area/tether/surfacebase/crash) "i" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/shuttle/floor/black/virgo3b, /area/tether/surfacebase/crash) "j" = ( diff --git a/maps/yw/submaps/wild/tether_wild-crash.dmm b/maps/yw/submaps/wild/tether_wild-crash.dmm index 9f065be9b6b..a03c1497e3c 100644 --- a/maps/yw/submaps/wild/tether_wild-crash.dmm +++ b/maps/yw/submaps/wild/tether_wild-crash.dmm @@ -79,7 +79,7 @@ }, /area/tether/surfacebase/outside/wilderness) "ak" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/floor/outdoors/grass/sif{ icon_state = "grass_sif_dark"; name = "dense growth"; @@ -187,11 +187,11 @@ }, /area/tether/surfacebase/outside/wilderness) "aC" = ( -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/shuttle/floor/black/virgo3b, /area/tether/surfacebase/outside/wilderness) "aD" = ( -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /turf/simulated/shuttle/floor/black/virgo3b, @@ -266,11 +266,11 @@ /turf/simulated/shuttle/floor/black/virgo3b, /area/tether/surfacebase/crash) "aN" = ( -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = -2; pixel_y = 4 }, -/obj/item/weapon/storage/firstaid/regular{ +/obj/item/storage/firstaid/regular{ pixel_x = -2; pixel_y = 4 }, @@ -280,33 +280,33 @@ /obj/item/bodybag/cryobag{ pixel_x = 5 }, -/obj/item/weapon/storage/firstaid/o2{ +/obj/item/storage/firstaid/o2{ layer = 2.8; pixel_x = 4; pixel_y = 6 }, -/obj/item/weapon/storage/box/masks{ +/obj/item/storage/box/masks{ pixel_x = 0; pixel_y = 0 }, -/obj/item/weapon/storage/box/gloves{ +/obj/item/storage/box/gloves{ pixel_x = 3; pixel_y = 4 }, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/fire{ +/obj/item/storage/firstaid/toxin, +/obj/item/storage/firstaid/fire{ layer = 2.9; pixel_x = 2; pixel_y = 3 }, -/obj/item/weapon/storage/firstaid/adv{ +/obj/item/storage/firstaid/adv{ pixel_x = -2 }, -/obj/item/weapon/reagent_containers/blood/empty, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/empty, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, /obj/structure/closet/medical_wall{ pixel_y = 32 }, @@ -317,7 +317,7 @@ dir = 4; icon_state = "tube1" }, -/obj/item/weapon/surgical/scalpel, +/obj/item/surgical/scalpel, /turf/simulated/shuttle/floor/black/virgo3b, /area/tether/surfacebase/crash) "aP" = ( @@ -358,11 +358,11 @@ /area/tether/surfacebase/crash) "aU" = ( /obj/item/clothing/mask/surgical, -/obj/item/weapon/surgical/bonesetter, +/obj/item/surgical/bonesetter, /turf/simulated/shuttle/floor/black/virgo3b, /area/tether/surfacebase/crash) "aV" = ( -/obj/item/weapon/surgical/surgicaldrill, +/obj/item/surgical/surgicaldrill, /turf/simulated/shuttle/floor/black/virgo3b, /area/tether/surfacebase/crash) "aW" = ( @@ -417,8 +417,8 @@ /turf/simulated/shuttle/floor/black/virgo3b, /area/tether/surfacebase/crash) "bd" = ( -/obj/item/weapon/surgical/circular_saw, -/obj/item/weapon/surgical/FixOVein{ +/obj/item/surgical/circular_saw, +/obj/item/surgical/FixOVein{ pixel_x = -6; pixel_y = 1 }, @@ -437,7 +437,7 @@ /turf/simulated/shuttle/floor/black/virgo3b, /area/tether/surfacebase/crash) "bg" = ( -/obj/item/weapon/surgical/hemostat{ +/obj/item/surgical/hemostat{ pixel_y = 4 }, /turf/simulated/shuttle/floor/black/virgo3b, @@ -478,18 +478,18 @@ /area/tether/surfacebase/crash) "bn" = ( /obj/structure/table/standard, -/obj/item/weapon/surgical/cautery{ +/obj/item/surgical/cautery{ pixel_y = 4 }, /obj/item/stack/medical/advanced/bruise_pack, -/obj/item/weapon/surgical/bonegel{ +/obj/item/surgical/bonegel{ pixel_x = 4; pixel_y = 3 }, /turf/simulated/shuttle/floor/black/virgo3b, /area/tether/surfacebase/crash) "bo" = ( -/obj/item/weapon/surgical/retractor{ +/obj/item/surgical/retractor{ pixel_x = 0; pixel_y = 6 }, @@ -503,7 +503,7 @@ /obj/structure/window/reinforced{ dir = 1 }, -/obj/item/weapon/material/shard, +/obj/item/material/shard, /turf/simulated/shuttle/floor/black/virgo3b, /area/tether/surfacebase/outside/wilderness) "bq" = ( @@ -556,11 +556,11 @@ /area/tether/surfacebase/crash) "bw" = ( /obj/structure/table/steel_reinforced, -/obj/item/weapon/paper_bin{ +/obj/item/paper_bin{ pixel_x = -3; pixel_y = 8 }, -/obj/item/weapon/pen{ +/obj/item/pen{ pixel_y = 4 }, /turf/simulated/shuttle/floor/black/virgo3b, @@ -663,7 +663,7 @@ /obj/machinery/vending/cigarette{ name = "hacked cigarette machine"; prices = list(); - products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) + products = list(/obj/item/storage/fancy/cigarettes = 10, /obj/item/storage/box/matches = 10, /obj/item/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) }, /turf/simulated/shuttle/floor/black/virgo3b, /area/tether/surfacebase/crash) @@ -768,7 +768,7 @@ icon_state = "plant-09"; name = "Esteban"; pixel_y = 8; - + }, /turf/simulated/shuttle/floor/black/virgo3b, /area/tether/surfacebase/outside/wilderness) @@ -809,7 +809,7 @@ /turf/simulated/shuttle/floor/black/virgo3b, /area/tether/surfacebase/outside/wilderness) "cg" = ( -/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, /turf/simulated/shuttle/floor/black/virgo3b, /area/tether/surfacebase/outside/wilderness) "ch" = ( @@ -837,7 +837,7 @@ /area/tether/surfacebase/crash) "cl" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/simulated/shuttle/floor/black{ carbon_dioxide = 12.7125; nitrogen = 16.95; @@ -992,7 +992,7 @@ /area/tether/surfacebase/crash) "cI" = ( /obj/structure/bed/padded, -/obj/item/weapon/bedsheet/captain, +/obj/item/bedsheet/captain, /turf/simulated/shuttle/floor/black/virgo3b, /area/tether/surfacebase/crash) "cJ" = ( diff --git a/maps/yw/submaps/wild/tether_wild-temple.dmm b/maps/yw/submaps/wild/tether_wild-temple.dmm index 277a9771293..17f81e3eebd 100644 --- a/maps/yw/submaps/wild/tether_wild-temple.dmm +++ b/maps/yw/submaps/wild/tether_wild-temple.dmm @@ -75,7 +75,7 @@ }, /area/tether/surfacebase/outside/wilderness) "k" = ( -/obj/item/weapon/material/star, +/obj/item/material/star, /turf/simulated/floor/outdoors/dirt{ desc = "Quite dirty!"; icon = 'icons/turf/outdoors.dmi'; @@ -96,7 +96,7 @@ }, /area/tether/surfacebase/temple) "m" = ( -/obj/item/weapon/cell/infinite, +/obj/item/cell/infinite, /obj/effect/gibspawner/human, /turf/simulated/floor/outdoors/dirt{ desc = "Quite dirty!"; @@ -106,7 +106,7 @@ }, /area/tether/surfacebase/temple) "n" = ( -/obj/item/weapon/material/sword/katana, +/obj/item/material/sword/katana, /turf/simulated/floor/outdoors/dirt{ desc = "Quite dirty!"; icon = 'icons/turf/outdoors.dmi'; diff --git a/maps/yw/yw_vrstuff/_vrmaps.dm b/maps/yw/yw_vrstuff/_vrmaps.dm index febd95faf13..47d94df0d17 100644 --- a/maps/yw/yw_vrstuff/_vrmaps.dm +++ b/maps/yw/yw_vrstuff/_vrmaps.dm @@ -1,4 +1,4 @@ -#if AWAY_MISSION_TEST +#ifdef AWAY_MISSION_TEST #include "vrmaps.dmm" #endif @@ -8,7 +8,7 @@ /datum/map_template/common_lateload/vrworld name = "VR World" desc = "The vr world." - mappath = 'maps/yw/yw_vrstuff/vrmaps.dmm' + mappath = "maps/yw/yw_vrstuff/vrmaps.dmm" associated_map_datum = /datum/map_z_level/common_lateload/vrworld_destination /datum/map_z_level/common_lateload/vrworld_destination diff --git a/maps/yw/yw_vrstuff/vrmaps.dmm b/maps/yw/yw_vrstuff/vrmaps.dmm index a242a4fefbb..f7b804d5c3f 100644 --- a/maps/yw/yw_vrstuff/vrmaps.dmm +++ b/maps/yw/yw_vrstuff/vrmaps.dmm @@ -43,7 +43,7 @@ /turf/unsimulated/floor/steel, /area/vrworld) "bi" = ( -/obj/item/weapon/gun/projectile/lamia, +/obj/item/gun/projectile/lamia, /turf/unsimulated/floor/techfloor_grid, /area/vrworld) "by" = ( @@ -54,8 +54,8 @@ /obj/item/clothing/head/cowboy, /obj/item/clothing/head/cowboy/ranger, /obj/item/clothing/suit/storage/solgov/service/army, -/obj/item/weapon/gun/projectile/shotgun/pump/rifle, -/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever, +/obj/item/gun/projectile/shotgun/pump/rifle, +/obj/item/gun/projectile/shotgun/pump/rifle/lever, /obj/item/ammo_magazine/clip/c762, /obj/item/ammo_magazine/clip/c762, /obj/item/ammo_magazine/clip/c762, @@ -63,19 +63,19 @@ /obj/item/ammo_magazine/clip/c762, /obj/item/ammo_magazine/ammo_box/b762, /obj/item/ammo_magazine/ammo_box/b762, -/obj/item/weapon/storage/backpack/satchel, +/obj/item/storage/backpack/satchel, /obj/item/clothing/accessory/holster/machete, -/obj/item/weapon/material/knife/machete, -/obj/item/weapon/material/sharpeningkit, +/obj/item/material/knife/machete, +/obj/item/material/sharpeningkit, /obj/item/stack/medical/advanced/bruise_pack, /obj/item/clothing/accessory/armband/med/color{ color = "#0000ff" }, -/obj/item/device/radio{ +/obj/item/radio{ frequency = 1257; name = "shortwave radio - blue" }, -/obj/item/weapon/gun/projectile/ppk, +/obj/item/gun/projectile/ppk, /obj/item/ammo_magazine/m9mm, /obj/item/ammo_magazine/m9mm, /turf/unsimulated/floor{ @@ -118,8 +118,8 @@ /turf/unsimulated/floor/ironsand, /area/vrworld/alwayslit) "cr" = ( -/obj/item/weapon/storage/toolbox/mechanical, -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/mechanical, +/obj/item/storage/toolbox/electrical, /turf/unsimulated/floor/steel, /area/vrworld) "cs" = ( @@ -151,8 +151,8 @@ /turf/unsimulated/floor/ironsand, /area/vrworld/alwayslit) "dt" = ( -/obj/item/weapon/storage/box/scattershot/large, -/obj/item/weapon/gun/projectile/automatic/z8, +/obj/item/storage/box/scattershot/large, +/obj/item/gun/projectile/automatic/z8, /turf/unsimulated/floor{ icon_state = "lino" }, @@ -192,7 +192,7 @@ }, /area/vrworld/alwayslit) "eq" = ( -/obj/item/weapon/storage/box/scattershot/large, +/obj/item/storage/box/scattershot/large, /turf/unsimulated/floor/techfloor_grid, /area/vrworld) "eu" = ( @@ -201,8 +201,8 @@ }, /area/vrworld/alwayslit) "eP" = ( -/obj/item/weapon/storage/box/scattershot/large, -/obj/item/weapon/gun/projectile/automatic/glock, +/obj/item/storage/box/scattershot/large, +/obj/item/gun/projectile/automatic/glock, /turf/unsimulated/floor{ icon_state = "lino" }, @@ -231,8 +231,8 @@ /obj/item/clothing/head/cowboy, /obj/item/clothing/head/cowboy/ranger, /obj/item/clothing/suit/storage/solgov/service/army, -/obj/item/weapon/gun/projectile/shotgun/pump/rifle, -/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever, +/obj/item/gun/projectile/shotgun/pump/rifle, +/obj/item/gun/projectile/shotgun/pump/rifle/lever, /obj/item/ammo_magazine/clip/c762, /obj/item/ammo_magazine/clip/c762, /obj/item/ammo_magazine/clip/c762, @@ -240,19 +240,19 @@ /obj/item/ammo_magazine/clip/c762, /obj/item/ammo_magazine/ammo_box/b762, /obj/item/ammo_magazine/ammo_box/b762, -/obj/item/weapon/storage/backpack/satchel, +/obj/item/storage/backpack/satchel, /obj/item/clothing/accessory/holster/machete, -/obj/item/weapon/material/knife/machete, -/obj/item/weapon/material/sharpeningkit, +/obj/item/material/knife/machete, +/obj/item/material/sharpeningkit, /obj/item/stack/medical/advanced/bruise_pack, /obj/item/clothing/accessory/armband/med/color{ color = "#ff0000" }, -/obj/item/device/radio{ +/obj/item/radio{ frequency = 1559; name = "shortwave radio - red" }, -/obj/item/weapon/gun/projectile/ppk, +/obj/item/gun/projectile/ppk, /obj/item/ammo_magazine/m9mm, /obj/item/ammo_magazine/m9mm, /turf/unsimulated/floor{ @@ -284,7 +284,7 @@ }, /area/vrworld/alwayslit) "fD" = ( -/obj/item/weapon/reagent_containers/food/snacks/stew, +/obj/item/reagent_containers/food/snacks/stew, /turf/unsimulated/floor/techfloor_grid, /area/vrworld) "fQ" = ( @@ -312,13 +312,13 @@ /turf/unsimulated/floor/ironsand, /area/vrworld/alwayslit) "gx" = ( -/obj/item/weapon/reagent_containers/pill/protein, -/obj/item/weapon/reagent_containers/pill/protein, +/obj/item/reagent_containers/pill/protein, +/obj/item/reagent_containers/pill/protein, /turf/unsimulated/floor/techfloor_grid, /area/vrworld) "gN" = ( /obj/random/multiple/gun/projectile/shotgun, -/obj/item/weapon/storage/box/scattershot/large, +/obj/item/storage/box/scattershot/large, /turf/unsimulated/floor{ icon_state = "lino" }, @@ -342,8 +342,8 @@ /obj/item/clothing/mask/balaclava, /obj/item/clothing/mask/balaclava, /obj/item/clothing/mask/balaclava/tactical, -/obj/item/device/flashlight/maglight, -/obj/item/device/flashlight/maglight, +/obj/item/flashlight/maglight, +/obj/item/flashlight/maglight, /obj/item/clothing/under/tactical, /obj/item/clothing/under/tactical, /obj/machinery/light/small{ @@ -356,13 +356,13 @@ /turf/unsimulated/floor/irongrass, /area/vrworld/alwayslit) "hf" = ( -/obj/item/weapon/gun/projectile/silenced, +/obj/item/gun/projectile/silenced, /turf/unsimulated/floor{ icon_state = "freezerfloor" }, /area/vrworld) "hh" = ( -/obj/item/weapon/card/id/centcom{ +/obj/item/card/id/centcom{ name = "\improper Mech ID" }, /turf/unsimulated/floor/techfloor_grid, @@ -401,7 +401,7 @@ /turf/unsimulated/floor/steel, /area/vrworld) "is" = ( -/obj/item/weapon/gun/projectile/automatic/glock, +/obj/item/gun/projectile/automatic/glock, /turf/unsimulated/floor/techfloor_grid, /area/vrworld) "it" = ( @@ -438,7 +438,7 @@ /turf/unsimulated/floor/ironsand, /area/vrworld/alwayslit) "iL" = ( -/obj/item/weapon/oar, +/obj/item/oar, /turf/unsimulated/floor/irongrass, /area/vrworld/alwayslit) "iU" = ( @@ -462,7 +462,7 @@ /turf/unsimulated/floor/ironsand, /area/vrworld/alwayslit) "jg" = ( -/obj/item/weapon/reagent_containers/food/snacks/stew, +/obj/item/reagent_containers/food/snacks/stew, /turf/unsimulated/floor{ icon_state = "plating"; name = "plating" @@ -512,8 +512,8 @@ /obj/item/clothing/head/cowboy/ranger, /obj/item/clothing/accessory/armor/tag/solgov/medic, /obj/item/clothing/suit/storage/solgov/service/army, -/obj/item/weapon/gun/projectile/shotgun/pump/rifle, -/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever, +/obj/item/gun/projectile/shotgun/pump/rifle, +/obj/item/gun/projectile/shotgun/pump/rifle/lever, /obj/item/ammo_magazine/clip/c762, /obj/item/ammo_magazine/clip/c762, /obj/item/ammo_magazine/clip/c762, @@ -521,19 +521,19 @@ /obj/item/ammo_magazine/clip/c762, /obj/item/ammo_magazine/ammo_box/b762, /obj/item/ammo_magazine/ammo_box/b762, -/obj/item/weapon/storage/backpack/satchel, +/obj/item/storage/backpack/satchel, /obj/item/clothing/accessory/holster/machete, -/obj/item/weapon/material/knife/machete, -/obj/item/weapon/material/sharpeningkit, +/obj/item/material/knife/machete, +/obj/item/material/sharpeningkit, /obj/item/stack/medical/advanced/bruise_pack, /obj/item/clothing/accessory/armband/med/color{ color = "#0000ff" }, -/obj/item/device/radio{ +/obj/item/radio{ frequency = 1257; name = "shortwave radio - blue" }, -/obj/item/weapon/gun/projectile/ppk, +/obj/item/gun/projectile/ppk, /obj/item/ammo_magazine/m9mm, /obj/item/ammo_magazine/m9mm, /turf/unsimulated/floor{ @@ -544,7 +544,7 @@ /obj/effect/floor_decal/grass_edge/corner{ dir = 6 }, -/obj/item/weapon/laserdome_flag/red, +/obj/item/laserdome_flag/red, /turf/unsimulated/floor/ironsand, /area/vrworld/alwayslit) "kM" = ( @@ -616,7 +616,7 @@ }, /area/vrworld) "lO" = ( -/obj/item/weapon/shield/energy, +/obj/item/shield/energy, /turf/unsimulated/floor{ icon_state = "lino" }, @@ -640,8 +640,8 @@ /obj/item/clothing/mask/balaclava, /obj/item/clothing/mask/balaclava, /obj/item/clothing/mask/balaclava/tactical, -/obj/item/device/flashlight/maglight, -/obj/item/device/flashlight/maglight, +/obj/item/flashlight/maglight, +/obj/item/flashlight/maglight, /obj/item/clothing/under/tactical, /obj/item/clothing/under/tactical, /turf/unsimulated/floor/steel, @@ -668,7 +668,7 @@ }, /area/vrworld/alwayslit) "mL" = ( -/obj/item/weapon/gun/energy/gun/nuclear, +/obj/item/gun/energy/gun/nuclear, /turf/unsimulated/floor/techfloor_grid, /area/vrworld) "mN" = ( @@ -707,8 +707,8 @@ name = "pistols cabinet" }, /obj/random/multiple/gun/projectile/handgun, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, /turf/unsimulated/floor/steel, /area/vrworld) "oD" = ( @@ -725,7 +725,7 @@ }, /area/vrworld/alwayslit) "pd" = ( -/obj/item/weapon/chainsaw, +/obj/item/chainsaw, /turf/unsimulated/floor/steel, /area/vrworld) "pF" = ( @@ -758,12 +758,12 @@ }, /area/vrworld/alwayslit) "qQ" = ( -/obj/item/weapon/storage/firstaid/surgery, +/obj/item/storage/firstaid/surgery, /obj/structure/table/glass, /obj/item/clothing/head/surgery/purple, /obj/item/clothing/under/rank/medical/scrubs/purple, -/obj/item/weapon/storage/box/gloves, -/obj/item/weapon/storage/box/masks, +/obj/item/storage/box/gloves, +/obj/item/storage/box/masks, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -779,17 +779,17 @@ /area/vrworld/alwayslit) "rt" = ( /obj/structure/table/glass, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, +/obj/item/reagent_containers/food/condiment/small/saltshaker, +/obj/item/reagent_containers/food/condiment/small/peppermill, /turf/unsimulated/floor/irongrass, /area/vrworld/alwayslit) "rz" = ( -/obj/item/weapon/storage/box/scattershot/large, -/obj/item/weapon/gun/projectile/shotgun/doublebarrel, +/obj/item/storage/box/scattershot/large, +/obj/item/gun/projectile/shotgun/doublebarrel, /turf/unsimulated/floor/steel, /area/vrworld) "rH" = ( -/obj/item/weapon/gun/energy/locked/frontier/carbine/unlocked, +/obj/item/gun/energy/locked/frontier/carbine/unlocked, /turf/unsimulated/floor{ icon_state = "plating"; name = "plating" @@ -823,12 +823,12 @@ pixel_x = 4; pixel_y = 30 }, -/obj/item/weapon/reagent_containers/pill/protein, -/obj/item/weapon/reagent_containers/pill/protein, -/obj/item/weapon/reagent_containers/pill/protein, -/obj/item/weapon/reagent_containers/pill/protein, -/obj/item/weapon/reagent_containers/pill/protein, -/obj/item/weapon/reagent_containers/pill/protein, +/obj/item/reagent_containers/pill/protein, +/obj/item/reagent_containers/pill/protein, +/obj/item/reagent_containers/pill/protein, +/obj/item/reagent_containers/pill/protein, +/obj/item/reagent_containers/pill/protein, +/obj/item/reagent_containers/pill/protein, /turf/unsimulated/floor/steel, /area/vrworld) "si" = ( @@ -873,14 +873,14 @@ }, /area/vrworld/alwayslit) "sI" = ( -/obj/item/device/radio/phone, +/obj/item/radio/phone, /turf/unsimulated/floor{ icon_state = "dark" }, /area/vrworld/alwayslit) "sR" = ( /obj/random/multiple/gun/projectile/shotgun, -/obj/item/weapon/storage/box/scattershot/large, +/obj/item/storage/box/scattershot/large, /turf/unsimulated/floor/techfloor_grid, /area/vrworld) "tc" = ( @@ -899,12 +899,12 @@ /area/vrworld/alwayslit) "tB" = ( /obj/structure/medical_stand/anesthetic, -/obj/item/weapon/reagent_containers/blood/prelabeled/OMinus, -/obj/item/weapon/reagent_containers/blood/prelabeled/OMinus, -/obj/item/weapon/reagent_containers/blood/prelabeled/OMinus, -/obj/item/weapon/reagent_containers/blood/prelabeled/OMinus, -/obj/item/weapon/reagent_containers/blood/prelabeled/OMinus, -/obj/item/weapon/tank/anesthetic, +/obj/item/reagent_containers/blood/prelabeled/OMinus, +/obj/item/reagent_containers/blood/prelabeled/OMinus, +/obj/item/reagent_containers/blood/prelabeled/OMinus, +/obj/item/reagent_containers/blood/prelabeled/OMinus, +/obj/item/reagent_containers/blood/prelabeled/OMinus, +/obj/item/tank/anesthetic, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -979,7 +979,7 @@ /turf/unsimulated/wall/cult, /area/vrworld) "xt" = ( -/obj/item/weapon/gun/magnetic/railgun/automatic, +/obj/item/gun/magnetic/railgun/automatic, /turf/unsimulated/floor{ icon_state = "lino" }, @@ -1045,7 +1045,7 @@ }, /area/vrworld/alwayslit) "zj" = ( -/obj/item/weapon/gun/energy/x01, +/obj/item/gun/energy/x01, /turf/unsimulated/floor/techfloor_grid, /area/vrworld) "zK" = ( @@ -1070,8 +1070,8 @@ /obj/item/clothing/under/solgov/utility/army/tan, /obj/item/clothing/head/cowboy/ranger, /obj/item/clothing/head/cowboy, -/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever, -/obj/item/weapon/gun/projectile/shotgun/pump/rifle, +/obj/item/gun/projectile/shotgun/pump/rifle/lever, +/obj/item/gun/projectile/shotgun/pump/rifle, /obj/item/ammo_magazine/clip/c762, /obj/item/ammo_magazine/clip/c762, /obj/item/ammo_magazine/clip/c762, @@ -1080,21 +1080,21 @@ /obj/item/ammo_magazine/ammo_box/b762, /obj/item/ammo_magazine/ammo_box/b762, /obj/item/clothing/accessory/solgov/department/medical/army, -/obj/item/weapon/storage/firstaid/adv, -/obj/item/weapon/storage/firstaid/bonemed, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/backpack/satchel, +/obj/item/storage/firstaid/adv, +/obj/item/storage/firstaid/bonemed, +/obj/item/storage/firstaid/regular, +/obj/item/storage/backpack/satchel, /obj/item/clothing/accessory/holster/machete, -/obj/item/weapon/material/knife/machete, -/obj/item/weapon/material/sharpeningkit, +/obj/item/material/knife/machete, +/obj/item/material/sharpeningkit, /obj/item/clothing/accessory/armband/med/color{ color = "#ff0000" }, -/obj/item/device/radio{ +/obj/item/radio{ frequency = 1559; name = "shortwave radio - red" }, -/obj/item/weapon/gun/projectile/ppk, +/obj/item/gun/projectile/ppk, /obj/item/ammo_magazine/m9mm, /obj/item/ammo_magazine/m9mm, /turf/unsimulated/floor{ @@ -1150,7 +1150,7 @@ /turf/unsimulated/floor/steel, /area/vrworld) "AN" = ( -/obj/item/weapon/gun/projectile/automatic/p90, +/obj/item/gun/projectile/automatic/p90, /turf/unsimulated/floor{ icon_state = "lino" }, @@ -1187,7 +1187,7 @@ /turf/unsimulated/floor/steel, /area/vrworld) "Cf" = ( -/obj/item/weapon/gun/projectile/automatic/tommygun, +/obj/item/gun/projectile/automatic/tommygun, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -1291,13 +1291,13 @@ }, /area/vrworld/alwayslit) "Gl" = ( -/obj/item/weapon/storage/box/scattershot/large, +/obj/item/storage/box/scattershot/large, /turf/unsimulated/floor{ icon_state = "steel" }, /area/vrworld) "Gq" = ( -/obj/item/weapon/gun/energy/gun, +/obj/item/gun/energy/gun, /turf/unsimulated/floor/techfloor_grid, /area/vrworld) "Gt" = ( @@ -1335,11 +1335,11 @@ locked = 0; name = "unlocked rifle cabinet" }, -/obj/item/weapon/storage/box/scattershot/large, +/obj/item/storage/box/scattershot/large, /obj/item/ammo_magazine/ammo_box/b12g/pellet, /obj/item/ammo_magazine/ammo_box/b12g/pellet, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, /turf/unsimulated/floor/steel, /area/vrworld) "Hv" = ( @@ -1369,8 +1369,8 @@ /obj/item/clothing/head/cowboy/ranger, /obj/item/clothing/accessory/armor/tag/solgov/medic, /obj/item/clothing/suit/storage/solgov/service/army, -/obj/item/weapon/gun/projectile/shotgun/pump/rifle, -/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever, +/obj/item/gun/projectile/shotgun/pump/rifle, +/obj/item/gun/projectile/shotgun/pump/rifle/lever, /obj/item/ammo_magazine/clip/c762, /obj/item/ammo_magazine/clip/c762, /obj/item/ammo_magazine/clip/c762, @@ -1378,19 +1378,19 @@ /obj/item/ammo_magazine/clip/c762, /obj/item/ammo_magazine/ammo_box/b762, /obj/item/ammo_magazine/ammo_box/b762, -/obj/item/weapon/storage/backpack/satchel, +/obj/item/storage/backpack/satchel, /obj/item/clothing/accessory/holster/machete, -/obj/item/weapon/material/knife/machete, -/obj/item/weapon/material/sharpeningkit, +/obj/item/material/knife/machete, +/obj/item/material/sharpeningkit, /obj/item/stack/medical/advanced/bruise_pack, /obj/item/clothing/accessory/armband/med/color{ color = "#ff0000" }, -/obj/item/device/radio{ +/obj/item/radio{ frequency = 1559; name = "shortwave radio - red" }, -/obj/item/weapon/gun/projectile/ppk, +/obj/item/gun/projectile/ppk, /obj/item/ammo_magazine/m9mm, /obj/item/ammo_magazine/m9mm, /turf/unsimulated/floor{ @@ -1402,11 +1402,11 @@ locked = 0; name = "unlocked rifle cabinet" }, -/obj/item/weapon/storage/box/scattershot/large, +/obj/item/storage/box/scattershot/large, /obj/item/ammo_magazine/ammo_box/b12g/pellet, /obj/item/ammo_magazine/ammo_box/b12g/pellet, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, +/obj/item/material/knife/tacknife/combatknife, /obj/machinery/light/small, /turf/unsimulated/floor/steel, /area/vrworld) @@ -1429,8 +1429,8 @@ /obj/item/clothing/mask/balaclava, /obj/item/clothing/mask/balaclava, /obj/item/clothing/mask/balaclava/tactical, -/obj/item/device/flashlight/maglight, -/obj/item/device/flashlight/maglight, +/obj/item/flashlight/maglight, +/obj/item/flashlight/maglight, /obj/item/clothing/under/tactical, /obj/item/clothing/under/tactical, /turf/unsimulated/floor/steel, @@ -1454,7 +1454,7 @@ /turf/unsimulated/floor/ironsand, /area/vrworld/alwayslit) "IJ" = ( -/obj/item/weapon/gun/projectile/automatic/stg, +/obj/item/gun/projectile/automatic/stg, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -1518,7 +1518,7 @@ /turf/unsimulated/floor/steel, /area/vrworld) "Lz" = ( -/obj/item/weapon/gun/projectile/automatic/stg, +/obj/item/gun/projectile/automatic/stg, /turf/unsimulated/floor{ icon_state = "freezerfloor" }, @@ -1531,7 +1531,7 @@ /turf/unsimulated/wall/cult, /area/vrworld) "Mf" = ( -/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, /turf/unsimulated/floor/steel, /area/vrworld) "Mr" = ( @@ -1559,7 +1559,7 @@ /turf/unsimulated/floor/steel, /area/vrworld) "MY" = ( -/obj/item/weapon/laserdome_flag/blue, +/obj/item/laserdome_flag/blue, /turf/unsimulated/floor/ironsand, /area/vrworld/alwayslit) "Nl" = ( @@ -1584,7 +1584,7 @@ /area/vrworld) "NM" = ( /obj/random/multiple/gun/projectile/shotgun, -/obj/item/weapon/storage/box/scattershot/large, +/obj/item/storage/box/scattershot/large, /turf/unsimulated/floor{ icon_state = "freezerfloor" }, @@ -1680,8 +1680,8 @@ /obj/item/clothing/mask/balaclava, /obj/item/clothing/mask/balaclava, /obj/item/clothing/mask/balaclava/tactical, -/obj/item/device/flashlight/maglight, -/obj/item/device/flashlight/maglight, +/obj/item/flashlight/maglight, +/obj/item/flashlight/maglight, /obj/item/clothing/under/tactical, /obj/item/clothing/under/tactical, /obj/machinery/light/small{ @@ -1690,7 +1690,7 @@ /turf/unsimulated/floor/steel, /area/vrworld) "Rb" = ( -/obj/item/weapon/gun/energy/sizegun, +/obj/item/gun/energy/sizegun, /turf/unsimulated/floor{ icon_state = "steel" }, @@ -1705,7 +1705,7 @@ }, /area/vrworld/alwayslit) "Rs" = ( -/obj/item/weapon/gun/projectile/garand, +/obj/item/gun/projectile/garand, /turf/unsimulated/floor{ icon_state = "lino" }, @@ -1724,7 +1724,7 @@ /turf/unsimulated/floor/ironsand, /area/vrworld/alwayslit) "RQ" = ( -/obj/item/weapon/reagent_containers/pill/protein, +/obj/item/reagent_containers/pill/protein, /turf/unsimulated/floor/techfloor_grid, /area/vrworld) "Sb" = ( @@ -1800,7 +1800,7 @@ /turf/unsimulated/floor/ironsand, /area/vrworld/alwayslit) "TI" = ( -/obj/item/weapon/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical, /turf/unsimulated/floor/steel, /area/vrworld) "TN" = ( @@ -1874,7 +1874,7 @@ /turf/unsimulated/floor/steel, /area/vrworld) "Vo" = ( -/obj/item/weapon/storage/toolbox/brass, +/obj/item/storage/toolbox/brass, /turf/unsimulated/floor/steel, /area/vrworld) "Vq" = ( @@ -1969,7 +1969,7 @@ /turf/simulated/floor/water, /area/vrworld/alwayslit) "WR" = ( -/obj/item/weapon/gun/energy/retro, +/obj/item/gun/energy/retro, /turf/unsimulated/floor/techfloor_grid, /area/vrworld) "Xa" = ( @@ -2011,8 +2011,8 @@ /obj/item/clothing/under/solgov/utility/army/tan, /obj/item/clothing/head/cowboy/ranger, /obj/item/clothing/head/cowboy, -/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever, -/obj/item/weapon/gun/projectile/shotgun/pump/rifle, +/obj/item/gun/projectile/shotgun/pump/rifle/lever, +/obj/item/gun/projectile/shotgun/pump/rifle, /obj/item/ammo_magazine/clip/c762, /obj/item/ammo_magazine/clip/c762, /obj/item/ammo_magazine/clip/c762, @@ -2021,21 +2021,21 @@ /obj/item/ammo_magazine/ammo_box/b762, /obj/item/ammo_magazine/ammo_box/b762, /obj/item/clothing/accessory/solgov/department/medical/army, -/obj/item/weapon/storage/firstaid/adv, -/obj/item/weapon/storage/firstaid/bonemed, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/backpack/satchel, +/obj/item/storage/firstaid/adv, +/obj/item/storage/firstaid/bonemed, +/obj/item/storage/firstaid/regular, +/obj/item/storage/backpack/satchel, /obj/item/clothing/accessory/holster/machete, -/obj/item/weapon/material/knife/machete, -/obj/item/weapon/material/sharpeningkit, +/obj/item/material/knife/machete, +/obj/item/material/sharpeningkit, /obj/item/clothing/accessory/armband/med/color{ color = "#0000ff" }, -/obj/item/device/radio{ +/obj/item/radio{ frequency = 1257; name = "shortwave radio - blue" }, -/obj/item/weapon/gun/projectile/ppk, +/obj/item/gun/projectile/ppk, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -2066,20 +2066,20 @@ /area/vrworld/alwayslit) "YO" = ( /obj/random/multiple/gun/projectile/shotgun, -/obj/item/weapon/storage/box/scattershot/large, +/obj/item/storage/box/scattershot/large, /turf/unsimulated/floor{ icon_state = "dark" }, /area/vrworld) "YY" = ( /obj/structure/closet/crate/medical, -/obj/item/weapon/storage/firstaid/bonemed, -/obj/item/weapon/storage/firstaid/adv, -/obj/item/weapon/storage/firstaid/clotting, -/obj/item/weapon/storage/firstaid/combat, -/obj/item/weapon/storage/firstaid/regular, -/obj/item/weapon/storage/firstaid/surgery, -/obj/item/device/defib_kit/compact/combat, +/obj/item/storage/firstaid/bonemed, +/obj/item/storage/firstaid/adv, +/obj/item/storage/firstaid/clotting, +/obj/item/storage/firstaid/combat, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/surgery, +/obj/item/defib_kit/compact/combat, /obj/machinery/light/small{ dir = 4 }, diff --git a/maps/~map_system/_map_selection.dm b/maps/~map_system/_map_selection.dm new file mode 100644 index 00000000000..1a8e04661bc --- /dev/null +++ b/maps/~map_system/_map_selection.dm @@ -0,0 +1,45 @@ +#ifndef CITESTING + +/*********************/ +/* MAP SELECTION */ +/* FOR LIVE SERVER */ +/*********************/ + +//#define USE_MAP_TETHER +//#define USE_MAP_STELLARDELIGHT +//#define USE_MAP_GROUNDBASE +#define USE_MAP_CRYOGAIA // YW edit + +// Debug +// #define USE_MAP_MINITEST + +/*********************/ +/* End Map Selection */ +/*********************/ + +#endif + +// Tether +#ifdef USE_MAP_TETHER +#include "../tether/tether.dm" +#endif + +// Stellar Delight +#ifdef USE_MAP_STELLARDELIGHT +#include "../stellar_delight/stellar_delight.dm" +#endif + +// Groundbase +#ifdef USE_MAP_GROUNDBASE +#include "../groundbase/groundbase.dm" +#endif + +#ifdef USE_MAP_MINITEST +#include "../virgo_minitest/virgo_minitest.dm" +#endif + +////YW +// Cryogaia +#ifdef USE_MAP_CRYOGAIA +#include "../yw/cryogaia.dm" +#endif diff --git a/modular_chomp/code/modules/mob/living/carbon/human/species/shadekin/shadekin_abilities.dm b/modular_chomp/code/modules/mob/living/carbon/human/species/shadekin/shadekin_abilities.dm index d763b15c7b2..c14a17c0661 100644 --- a/modular_chomp/code/modules/mob/living/carbon/human/species/shadekin/shadekin_abilities.dm +++ b/modular_chomp/code/modules/mob/living/carbon/human/species/shadekin/shadekin_abilities.dm @@ -41,7 +41,7 @@ if(istype(thing, /mob/living/carbon/human)) var/mob/living/carbon/human/watchers = thing if(watchers in oviewers(7,src) && watchers.species != SPECIES_SHADEKIN) // And they can see us... //CHOMPEDIT - (And aren't themselves a shadekin) - if(!(watchers.stat) && !isbelly(watchers.loc) && !istype(watchers.loc, /obj/item/weapon/holder)) // And they are alive and not being held by someone... + if(!(watchers.stat) && !isbelly(watchers.loc) && !istype(watchers.loc, /obj/item/holder)) // And they are alive and not being held by someone... watcher++ // They are watching us! else if(istype(thing, /mob/living/silicon/robot)) var/mob/living/silicon/robot/watchers = thing diff --git a/modular_chomp/code/modules/telesci/bscrystal.dm b/modular_chomp/code/modules/telesci/bscrystal.dm index 1d3d443a21b..f82e1a32244 100644 --- a/modular_chomp/code/modules/telesci/bscrystal.dm +++ b/modular_chomp/code/modules/telesci/bscrystal.dm @@ -1,5 +1,5 @@ // This proc turns the BSC or arti-BSC into a phased-creature mine. -/obj/item/weapon/bluespace_crystal/Crossed(atom/movable/M) +/obj/item/bluespace_crystal/Crossed(atom/movable/M) . = ..() if(istype(M, /mob/living/carbon/human)) var/mob/living/carbon/human/H = M @@ -15,7 +15,7 @@ // This proc is the 'Dephase grenade' check. range is changeable. 0=self, 1=3x3, 2=5x5, 3=7x7... -/obj/item/weapon/bluespace_crystal/proc/dephase_shadekin() +/obj/item/bluespace_crystal/proc/dephase_shadekin() var/turf/T = get_turf(src) for(var/thing in range(3, T)) if(istype(thing, /mob/living/carbon/human)) diff --git a/prof.dll b/prof.dll new file mode 100644 index 00000000000..4721a5c1874 Binary files /dev/null and b/prof.dll differ diff --git a/sound/voice/borg_deathsound.ogg b/sound/voice/borg_deathsound.ogg new file mode 100644 index 00000000000..bb11022abec Binary files /dev/null and b/sound/voice/borg_deathsound.ogg differ diff --git a/tgui/.gitattributes b/tgui/.gitattributes index ce30adb9e25..3103a46c242 100644 --- a/tgui/.gitattributes +++ b/tgui/.gitattributes @@ -13,7 +13,6 @@ *.md text eol=lf *.bat text eol=lf yarn.lock text eol=lf -bin/tgui text eol=lf ## Treat bundles as binary *.bundle.* binary diff --git a/tgui/.gitignore b/tgui/.gitignore index eb4f718b1bc..4d0dd666d88 100644 --- a/tgui/.gitignore +++ b/tgui/.gitignore @@ -14,9 +14,9 @@ package-lock.json ## Build artifacts /public/.tmp/**/* -/public/*.map -/public/tgui-bench.bundle.js -/public/tgui-bench.bundle.css +/public/**/* +!/public/*.html +!/public/tgui-polyfill.min.js /coverage ## Previously ignored locations that are kept to avoid confusing git diff --git a/tgui/README.md b/tgui/README.md index ad797582791..2bcb6d06afa 100644 --- a/tgui/README.md +++ b/tgui/README.md @@ -4,21 +4,15 @@ tgui is a robust user interface framework of /tg/station. -tgui is very different from most UIs you will encounter in BYOND programming. -It is heavily reliant on Javascript and web technologies as opposed to DM. -If you are familiar with NanoUI (a library which can be found on almost -every other SS13 codebase), tgui should be fairly easy to pick up. +tgui is very different from most UIs you will encounter in BYOND programming. It is heavily reliant on Javascript and web technologies as opposed to DM. If you are familiar with NanoUI (a library which can be found on almost every other SS13 codebase), tgui should be fairly easy to pick up. ## Learn tgui -People come to tgui from different backgrounds and with different -learning styles. Whether you prefer a more theoretical or a practical -approach, we hope you’ll find this section helpful. +People come to tgui from different backgrounds and with different learning styles. Whether you prefer a more theoretical or a practical approach, we hope you’ll find this section helpful. ### Practical Tutorial -If you are completely new to frontend and prefer to **learn by doing**, -start with our [practical tutorial](docs/tutorial-and-examples.md). +If you are completely new to frontend and prefer to **learn by doing**, start with our [practical tutorial](docs/tutorial-and-examples.md). ### Guides @@ -26,9 +20,7 @@ This project uses React. Take your time to read the guide: - [React guide](https://react.dev/learn) -If you were already familiar with an older, Ractive-based tgui, and want -to translate concepts between old and new tgui, read this -[interface conversion guide](docs/converting-old-tgui-interfaces.md). +If you were already familiar with an older, Ractive-based tgui, and want to translate concepts between old and new tgui, read this [interface conversion guide](docs/converting-old-tgui-interfaces.md). ### Other Documentation @@ -39,97 +31,84 @@ to translate concepts between old and new tgui, read this ## Pre-requisites -You will need these programs to start developing in tgui: +If you are using the tooling provided in this repo, everything is included! Feel free to skip this step. -- [Node v16.13+](https://nodejs.org/en/download/) +However, if you want finer control over the installation or build process, you will need these: + +- [Node v20.2+](https://nodejs.org/en/download/) - **LTS** release is recommended instead of latest -- [Yarn v1.22.4+](https://yarnpkg.com/getting-started/install) (optional) + - **DO NOT install Chocolatey if Node installer asks you to!** +- [Yarn v4.1.1+](https://yarnpkg.com/getting-started/install) - You can run `npm install -g yarn` to install it. -- [Git Bash](https://git-scm.com/downloads) - or [MSys2](https://www.msys2.org/) (optional) - -**DO NOT install Chocolatey if Node installer asks you to!** ## Usage -**For Git Bash, MSys2, WSL, Linux or macOS users:** - -Change your directory to `tgui`. - -Run `bin/tgui --install-git-hooks` to install merge drivers which will -assist you in conflict resolution when rebasing your branches. Only has -to be done once. - -Run `bin/tgui` with any of the options listed below. - -**For Windows CMD or PowerShell users:** - -If you haven't opened the console already, you can do that by holding -Shift and right clicking on the `tgui` folder, then pressing -either `Open command window here` or `Open PowerShell window here`. - -Run `.\bin\tgui.bat` with any of the options listed below. - -> If using PowerShell, you will receive errors if trying to run -> `.\bin\tgui.ps1`, because default Windows policy does not allow direct -> execution of PS1 scripts. Run `.\bin\tgui.bat` instead. - -**Available commands:** - -- `bin/tgui` - (Recommended build option) Build the project in production mode. -- `bin/tgui --pretty` - Check/Prettify all files inside of the packages folder (Mainly Interfaces/Components). Build the project in production mode afterwards. -- `bin/tgui --dev` - Launch a development server. - - tgui development server provides you with incremental compilation, - hot module replacement and logging facilities in all running instances - of tgui. In short, this means that you will instantly see changes in the - game as you code it. Very useful, highly recommended. - - In order to use it, you should start the game server first, connect to it - and wait until the world has been properly loaded and you are no longer - in the lobby. Start tgui dev server, and once it has finished building, - press F5 on any tgui window. You'll know that it's hooked correctly if - you see a green bug icon in titlebar and data gets dumped to the console. - - `bin/tgui --dev --reload` - Reload byond cache once. - - `bin/tgui --dev --debug` - Run server with debug logging enabled. - - `bin/tgui --dev --no-hot` - Disable hot module replacement (helps when -doing development on IE8). -- `bin/tgui --lint` - Show problems with the code. -- `bin/tgui --fix` - Auto-fix problems with the code. -- `bin/tgui --test` - Run tests. -- `bin/tgui --analyze` - Run a bundle analyzer. -- `bin/tgui --clean` - Clean up project repo. -- `bin/tgui [webpack options]` - Build the project with custom webpack -options. - -**For virgins:** - -You can double-click these batch files to achieve the same thing: - -- `bin\tgui.bat` - (Recommended build option) Build the project in production mode. -- `bin\tgui-prettybuild.bat` - Prettify all the files inside the packages folder. Build the project in production mode afterwards. -- `bin\tgui-dev-server.bat` - Launch a development server. - -> Remember to always run a full build before submitting a PR. It creates -> a compressed javascript bundle which is then referenced from DM code. -> We prefer to keep it version controlled, so that people could build the -> game just by using Dream Maker. +**Via provided cmd scripts (Windows)**: + +- `bin/tgui-build` - Build tgui in production mode and run a full suite of code checks. +- `bin/tgui-dev` - Launch a development server. + - `bin/tgui-dev --reload` - Reload byond cache once. + - `bin/tgui-dev --debug` - Run server with debug logging enabled. + - `bin/tgui-dev --no-hot` - Disable hot module replacement (helps when doing development on IE8). +- `bin/tgui-sonar` - Analyze code with SonarQube. +- `bin/tgui-bench` - Run benchmarks. + +> To open a CMD or PowerShell window in any open folder, right click **while holding Shift** on any free space in the folder, then click on either `Open command window here` or `Open PowerShell window here`. + +**Via Juke Build (cross-platform)**: + +- `tools/build/build tgui` - Build tgui in production mode. +- `tools/build/build tgui-dev` - Build tgui in production mode. + - `tools/build/build tgui-dev --reload` - Reload byond cache once. + - `tools/build/build tgui-dev --debug` - Run server with debug logging enabled. + - `tools/build/build tgui-dev --no-hot` - Disable hot module replacement (helps when doing development on IE8). +- `tools/build/build tgui-lint` - Show (and auto-fix) problems with the code. +- `tools/build/build tgui-sonar` - Analyze code with SonarQube. +- `tools/build/build tgui-test` - Run unit and integration tests. +- `tools/build/build tgui-analyze` - Run a bundle analyzer. +- `tools/build/build tgui-bench` - Run benchmarks. +- `tools/build/build tgui-clean` - Clean up tgui folder. + +> With Juke Build, you can run multiple targets together, e.g.: +> +> ``` +> tools/build/build tgui tgui-lint tgui-tsc tgui-test +> ``` + +**Via Yarn (cross-platform)**: + +Run `yarn install` once to install tgui dependencies. + +- `yarn tgui:build` - Build tgui in production mode. + - `yarn tgui:build [options]` - Build tgui with custom webpack options. +- `yarn tgui:dev` - Launch a development server. + - `yarn tgui:dev --reload` - Reload byond cache once. + - `yarn tgui:dev --debug` - Run server with debug logging enabled. + - `yarn tgui:dev --no-hot` - Disable hot module replacement (helps when doing development on IE8). +- `yarn tgui:lint` - Show (and auto-fix) problems with the code. +- `yarn tgui:sonar` - Analyze code with SonarQube. +- `yarn tgui:tsc` - Check code with TypeScript compiler. +- `yarn tgui:test` - Run unit and integration tests. +- `yarn tgui:analyze` - Run a bundle analyzer. +- `yarn tgui:bench` - Run benchmarks. +- `yarn tgfont:build` - Build icon fonts. +- `yarn tgui-polyfill:build` - Build polyfills. You need to run it when updating any of the static (numbered) polyfills. + +## Important Memo + +Remember to always run a full build of tgui before submitting a PR, because it comes with the full suite of CI checks, and runs much faster on your computer than on GitHub servers. It will save you some time and possibly a few broken commits! Address the issues that are reported by the tooling as much as possible, because maintainers will beat you with a ruler and force you to address them anyway (unless it's a false positive or something unfixable). ## Troubleshooting **Development server is crashing** -Make sure path to your working directory does not contain spaces or special -unicode characters. If so, move codebase to a location which does not contain -spaces or unicode characters. +Make sure path to your working directory does not contain spaces, special unicode characters, exclamation marks or any other special symbols. If so, move codebase to a location which does not contain these characters. -This is a known issue with Yarn Berry, and fix is going to happen someday. +This is a known issue with Yarn (and some other tools, like Webpack), and fix is going to happen eventually. **Development server doesn't find my BYOND cache!** -This happens if your Documents folder in Windows has a custom location, for -example in `E:\Libraries\Documents`. Development server tries its best to find -this non-standard location (searches for a Windows Registry key), but it can -fail. You have to run the dev server with an additional environmental -variable, with a full path to BYOND cache. +This happens if your Documents folder in Windows has a custom location, for example in `E:\Libraries\Documents`. Development server tries its best to find this non-standard location (searches for a Windows Registry key), but it can fail. You have to run the dev server with an additional environmental variable, with a full path to BYOND cache. ``` BYOND_CACHE="E:/Libraries/Documents/BYOND/cache" @@ -139,14 +118,11 @@ BYOND_CACHE="E:/Libraries/Documents/BYOND/cache" > Example: `No template for dependency: PureExpressionDependency` -Webpack stores its cache on disk since tgui 4.3, and it is very sensitive -to build configuration. So if you update webpack, or share the same cache -directory between development and production build, it will start -hallucinating. +Webpack stores its cache on disk since tgui 4.3, and it is very sensitive to build configuration. So if you update webpack, or share the same cache directory between development and production build, it will start hallucinating. To fix this kind of problem, run `bin/tgui --clean` and try again. -## Developer Tools +## Dev Server Tools When developing with `tgui-dev-server`, you will have access to certain development only features. @@ -157,7 +133,7 @@ logs and time spent on rendering. Use this information to optimize your code, and try to keep re-renders below 16ms. **Kitchen Sink.** -Press `F12` to open the KitchenSink interface. This interface is a +Press `F12` or click the green bug to open the KitchenSink interface. This interface is a playground to test various tgui components. **Layout Debugger.** @@ -168,12 +144,13 @@ together, and can reveal certain layout bugs which are not normally visible. ## Browser Developer Tools To debug TGUI interfaces with browser-style developer tools, there exists a utility -that Microsoft bundles with Windows to debug any Internet Explorer/Trident-using interface, +that Microsoft bundles with Windows called IEChooser/F12 to debug any Internet Explorer/Trident-using interface, which BYOND uses. This provides invaluable tools such as a local console, a DOM viewer, an interactive debugger, and more. -The 64-bit version that we use is located at `%windir%\SysWOW64\F12\IEChooser.exe`. +You can access the `IEChooser.exe` by pressing Win + R, then typing `f12`, then pressing enter. +To manually go there: 64-bit version that we use is located at `%windir%\SysWOW64\F12\IEChooser.exe`. There's also a 32-bit one in `system32\`. Simply launch the application after you've opened a TGUI window, and choose the .html name. @@ -185,42 +162,24 @@ so you'll need to restart it if it disconnects from the window. ## Project Structure - `/packages` - Each folder here represents a self-contained Node module. -- `/packages/common` - Helper functions +- `/packages/common` - Helper functions that are used throughout all packages. - `/packages/tgui/index.js` - Application entry point. - `/packages/tgui/components` - Basic UI building blocks. - `/packages/tgui/interfaces` - Actual in-game interfaces. -Interface takes data via the `state` prop and outputs an html-like stucture, -which you can build using existing UI components. -- `/packages/tgui/layouts` - Root level UI components, that affect the final -look and feel of the browser window. They usually hold various window -elements, like the titlebar and resize handlers, and control the UI theme. -- `/packages/tgui/routes.js` - This is where tgui decides which interface to -pull and render. -- `/packages/tgui/layout.js` - A root-level component, holding the -window elements, like the titlebar, buttons, resize handlers. Calls -`routes.js` to decide which component to render. +- `/packages/tgui/layouts` - Root level UI components, that affect the final look and feel of the browser window. These hold various window elements, like the titlebar and resize handlers, and control the UI theme. +- `/packages/tgui/routes.js` - This is where tgui decides which interface to pull and render. - `/packages/tgui/styles/main.scss` - CSS entry point. -- `/packages/tgui/styles/functions.scss` - Useful SASS functions. -Stuff like `lighten`, `darken`, `luminance` are defined here. -- `/packages/tgui/styles/atomic` - Atomic CSS classes. -These are very simple, tiny, reusable CSS classes which you can use and -combine to change appearance of your elements. Keep them small. -- `/packages/tgui/styles/components` - CSS classes which are used -in UI components. These stylesheets closely follow the -[BEM](https://en.bem.info/methodology/) methodology. -- `/packages/tgui/styles/interfaces` - Custom stylesheets for your interfaces. -Add stylesheets here if you really need a fine control over your UI styles. +- `/packages/tgui/styles/functions.scss` - Useful SASS functions. Stuff like `lighten`, `darken`, `luminance` are defined here. +- `/packages/tgui/styles/atomic` - Atomic CSS classes. These are very simple, tiny, reusable CSS classes which you can use and combine to change appearance of your elements. Keep them small. +- `/packages/tgui/styles/components` - CSS classes which are used in UI components. These stylesheets closely follow the [BEM](https://en.bem.info/methodology/) methodology. +- `/packages/tgui/styles/interfaces` - Custom stylesheets for your interfaces. Add stylesheets here if you really need a fine control over your UI styles. - `/packages/tgui/styles/layouts` - Layout-related styles. -- `/packages/tgui/styles/themes` - Contains all the various themes you can -use in tgui. Each theme must be registered in `webpack.config.js` file. +- `/packages/tgui/styles/themes` - Contains themes that you can use in tgui. Each theme must be registered in `/packages/tgui/index.js` file. ## License -Source code is covered by /tg/station's parent license - **AGPL-3.0** -(see the main [README](../README.md)), unless otherwise indicated. +Source code is covered by /tg/station's parent license - **AGPL-3.0** (see the main [README](../README.md)), unless otherwise indicated. -Some files are annotated with a copyright header, which explicitly states -the copyright holder and license of the file. Most of the core tgui -source code is available under the **MIT** license. +Some files are annotated with a copyright header, which explicitly states the copyright holder and license of the file. Most of the core tgui source code is available under the **MIT** license. The Authors retain all copyright to their respective work here submitted. diff --git a/tgui/bin/tgui b/tgui/bin/tgui deleted file mode 100644 index 256f0e579e1..00000000000 --- a/tgui/bin/tgui +++ /dev/null @@ -1,235 +0,0 @@ -#!/usr/bin/env bash -## Copyright (c) 2020 Aleksej Komarov -## SPDX-License-Identifier: MIT - -set -e -shopt -s globstar -shopt -s expand_aliases - -## Initial set-up -## -------------------------------------------------------- - -## Returns an absolute path to file -alias tgui-realpath="readlink -f" - -## Fallbacks for GNU readlink -## Detecting GNU coreutils http://stackoverflow.com/a/8748344/319952 -if ! readlink --version >/dev/null 2>&1; then - if hash greadlink 2>/dev/null; then - alias tgui-realpath="greadlink -f" - else - alias tgui-realpath="perl -MCwd -le 'print Cwd::abs_path(shift)'" - fi -fi - -## Find a canonical path to project root -base_dir="$(dirname "$(tgui-realpath "${0}")")/.." -base_dir="$(tgui-realpath "${base_dir}")" - -## Make use of nvm if it exists -if [[ -e "${HOME}/.nvm/nvm.sh" ]]; then - source "${HOME}/.nvm/nvm.sh" -fi - -## Fall back to running Yarn from the repo -if ! hash yarn 2>/dev/null; then - yarn_releases=("${base_dir}"/.yarn/releases/yarn-*.cjs) - yarn_release="${yarn_releases[0]}" - yarn() { - node "${yarn_release}" "${@}" - } -fi - - -## Functions -## -------------------------------------------------------- - -## Installs node modules -task-install() { - cd "${base_dir}" - yarn install -} - -## Runs webpack -task-webpack() { - cd "${base_dir}" - yarn run webpack-cli "${@}" -} - -## Runs a development server -task-dev-server() { - cd "${base_dir}" - yarn node --experimental-modules packages/tgui-dev-server/index.js "${@}" -} - -## Run a linter through all packages -task-lint() { - cd "${base_dir}" - yarn run tsc - echo "tgui: type check passed" - yarn run eslint packages --ext .js,.cjs,.ts,.tsx "${@}" - echo "tgui: eslint check passed" -} - -task-test() { - cd "${base_dir}" - yarn run jest -} - -## Mr. Proper -task-clean() { - cd "${base_dir}" - ## Build artifacts - rm -rf public/.tmp - rm -f public/*.map - rm -f public/*.chunk.* - rm -f public/*.bundle.* - rm -f public/*.hot-update.* - ## Yarn artifacts - rm -rf .yarn/cache - rm -rf .yarn/unplugged - rm -rf .yarn/webpack - rm -f .yarn/build-state.yml - rm -f .yarn/install-state.gz - rm -f .yarn/install-target - rm -f .pnp.* - ## NPM artifacts - rm -rf **/node_modules - rm -f **/package-lock.json -} - -## Validates current build against the build stored in git -## VOREStation Addition Start -task-validate-build() { - cd "${base_dir}" - local diff - diff="$(git diff packages/tgui/public/tgui.bundle.*)" - if [[ -n ${diff} ]]; then - echo "Error: our build differs from the build committed into git." - echo "Please rebuild tgui." - exit 1 - fi - echo "tgui: build is ok" -} -## VOREStation Addition End - -## Installs merge drivers and git hooks -task-install-git-hooks() { - cd "${base_dir}" - local git_root - local git_base_dir - git_root="$(git rev-parse --show-toplevel)" - git_base_dir="${base_dir/${git_root}/.}" - git config --replace-all merge.tgui-merge-bundle.driver \ - "${git_base_dir}/bin/tgui --merge=bundle %O %A %B %L" - echo "tgui: Merge drivers have been successfully installed!" -} - -## Bundle merge driver -task-merge-bundle() { - local file_ancestor="${1}" - local file_current="${2}" - local file_other="${3}" - local conflict_marker_size="${4}" - echo "tgui: Discarding a local tgui build" - ## Do nothing (file_current will be merged and is what we want to keep). - exit 0 -} - - -## Main -## -------------------------------------------------------- - -if [[ ${1} == "--merge"* ]]; then - if [[ ${1} == "--merge=bundle" ]]; then - shift 1 - task-merge-bundle "${@}" - fi - echo "Unknown merge strategy: ${1}" - exit 1 -fi - -if [[ ${1} == "--install-git-hooks" ]]; then - shift 1 - task-install-git-hooks - exit 0 -fi - -if [[ ${1} == "--clean" ]]; then - task-clean - exit 0 -fi - -if [[ ${1} == "--dev" ]]; then - shift - task-install - task-dev-server "${@}" - exit 0 -fi - -## VOREStation Addition Start -## Continuous integration scenario -if [[ ${1} == "--ci" ]]; then - task-clean - task-install - task-lint - task-test - task-webpack --mode=production - task-validate-build - exit 0 -fi -## VOREStation Addition End - -if [[ ${1} == '--lint' ]]; then - shift 1 - task-install - task-lint "${@}" - exit 0 -fi - -if [[ ${1} == '--lint-harder' ]]; then - shift 1 - task-install - task-lint -c .eslintrc-harder.yml "${@}" - exit 0 -fi - -if [[ ${1} == '--fix' ]]; then - shift 1 - task-install - task-lint --fix "${@}" - exit 0 -fi - -if [[ ${1} == '--test' ]]; then - shift 1 - task-install - task-test "${@}" - exit 0 -fi - -## Analyze the bundle -if [[ ${1} == '--analyze' ]]; then - task-install - task-webpack --mode=production --analyze - exit 0 -fi - -## Make a production webpack build -if [[ ${1} == '--build' ]]; then - task-install - task-webpack --mode=production - exit 0 -fi - -## Make a production webpack build + Run eslint -if [[ -z ${1} ]]; then - task-install - task-lint --fix - task-webpack --mode=production - exit 0 -fi - -## Run webpack with custom flags -task-install -task-webpack "${@}" diff --git a/tgui/bin/tgui-bench.bat b/tgui/bin/tgui-bench.bat deleted file mode 100644 index da22a7b2ae9..00000000000 --- a/tgui/bin/tgui-bench.bat +++ /dev/null @@ -1,9 +0,0 @@ -@echo off -rem Copyright (c) 2020 Aleksej Komarov -rem SPDX-License-Identifier: MIT -call powershell.exe -NoLogo -ExecutionPolicy Bypass -File "%~dp0\tgui_.ps1" --bench %* -rem Pause if launched in a separate shell unless initiated from powershell -echo %PSModulePath% | findstr %USERPROFILE% >NUL -if %errorlevel% equ 0 exit 0 -echo %cmdcmdline% | find /i "/c" -if %errorlevel% equ 0 pause diff --git a/tgui/bin/tgui-dev-server.bat b/tgui/bin/tgui-dev-server.bat deleted file mode 100644 index 21b2ea4e962..00000000000 --- a/tgui/bin/tgui-dev-server.bat +++ /dev/null @@ -1,9 +0,0 @@ -@echo off -rem Copyright (c) 2020 Aleksej Komarov -rem SPDX-License-Identifier: MIT -call powershell.exe -NoLogo -ExecutionPolicy Bypass -File "%~dp0\tgui_.ps1" --dev %* -rem Pause if launched in a separate shell unless initiated from powershell -echo %PSModulePath% | findstr %USERPROFILE% >NUL -if %errorlevel% equ 0 exit 0 -echo %cmdcmdline% | find /i "/c" -if %errorlevel% equ 0 pause diff --git a/tgui/bin/tgui-prettybuild.bat b/tgui/bin/tgui-prettybuild.bat deleted file mode 100644 index fe827e16574..00000000000 --- a/tgui/bin/tgui-prettybuild.bat +++ /dev/null @@ -1,9 +0,0 @@ -@echo off -rem Copyright (c) 2020 Aleksej Komarov -rem SPDX-License-Identifier: MIT -call powershell.exe -NoLogo -ExecutionPolicy Bypass -File "%~dp0\tgui_.ps1" --pretty %* -rem Pause if launched in a separate shell unless initiated from powershell -echo %PSModulePath% | findstr %USERPROFILE% >NUL -if %errorlevel% equ 0 exit 0 -echo %cmdcmdline% | find /i "/c" -if %errorlevel% equ 0 pause diff --git a/tgui/bin/tgui.bat b/tgui/bin/tgui.bat deleted file mode 100644 index 39aa279dcaa..00000000000 --- a/tgui/bin/tgui.bat +++ /dev/null @@ -1,9 +0,0 @@ -@echo off -rem Copyright (c) 2020 Aleksej Komarov -rem SPDX-License-Identifier: MIT -call powershell.exe -NoLogo -ExecutionPolicy Bypass -File "%~dp0\tgui_.ps1" %* -rem Pause if launched in a separate shell unless initiated from powershell -echo %PSModulePath% | findstr %USERPROFILE% >NUL -if %errorlevel% equ 0 exit 0 -echo %cmdcmdline% | find /i "/c" -if %errorlevel% equ 0 pause diff --git a/tgui/bin/tgui_.ps1 b/tgui/bin/tgui_.ps1 deleted file mode 100644 index eb9c7a1a970..00000000000 --- a/tgui/bin/tgui_.ps1 +++ /dev/null @@ -1,177 +0,0 @@ -## Copyright (c) 2020 Aleksej Komarov -## SPDX-License-Identifier: MIT - -## Initial set-up -## -------------------------------------------------------- - -## Enable strict mode and stop of first cmdlet error -Set-StrictMode -Version Latest -$ErrorActionPreference = "Stop" -$PSDefaultParameterValues['*:ErrorAction'] = 'Stop' - -## Validates exit code of external commands -function Throw-On-Native-Failure { - if (-not $?) { - exit 1 - } -} - -## Normalize current directory -$basedir = Split-Path $MyInvocation.MyCommand.Path -$basedir = Resolve-Path "$($basedir)\.." -Set-Location $basedir -[Environment]::CurrentDirectory = $basedir - - -## Functions -## -------------------------------------------------------- - -function yarn { - $YarnRelease = Get-ChildItem -Filter ".yarn\releases\yarn-*.cjs" | Select-Object -First 1 - node ".yarn\releases\$YarnRelease" @Args - Throw-On-Native-Failure -} - -function Remove-Quiet { - Remove-Item -ErrorAction SilentlyContinue @Args -} - -function task-install { - yarn install -} - -## Runs webpack -function task-webpack { - yarn run webpack-cli @Args -} - -## Runs a development server -function task-dev-server { - yarn node --experimental-modules "packages/tgui-dev-server/index.js" @Args -} - -function task-bench { - yarn tgui:bench @Args -} - -function task-prettier { - yarn tgui:prettier @Args -} - -function task-prettify { - yarn prettier --write packages @Args -} - -## Run a linter through all packages -function task-lint { - yarn run tsc - Write-Output "tgui: type check passed" - yarn run eslint packages --ext ".js,.cjs,.ts,.tsx" @Args - Write-Output "tgui: eslint check passed" -} - -function task-test { - yarn run jest -} - -## Mr. Proper -function task-clean { - ## Build artifacts - Remove-Quiet -Recurse -Force "public\.tmp" - Remove-Quiet -Force "public\*.map" - Remove-Quiet -Force "public\*.hot-update.*" - ## Yarn artifacts - Remove-Quiet -Recurse -Force ".yarn\cache" - Remove-Quiet -Recurse -Force ".yarn\unplugged" - Remove-Quiet -Recurse -Force ".yarn\webpack" - Remove-Quiet -Force ".yarn\build-state.yml" - Remove-Quiet -Force ".yarn\install-state.gz" - Remove-Quiet -Force ".yarn\install-target" - Remove-Quiet -Force ".pnp.*" - ## NPM artifacts - Get-ChildItem -Path "." -Include "node_modules" -Recurse -File:$false | Remove-Item -Recurse -Force - Remove-Quiet -Force "package-lock.json" -} - - -## Main -## -------------------------------------------------------- - -if ($Args.Length -gt 0) { - if ($Args[0] -eq "--clean") { - task-clean - exit 0 - } - - if ($Args[0] -eq "--dev") { - $Rest = $Args | Select-Object -Skip 1 - task-install - task-dev-server @Rest - exit 0 - } - - if ($Args[0] -eq "--lint") { - $Rest = $Args | Select-Object -Skip 1 - task-install - task-lint @Rest - exit 0 - } - - if ($Args[0] -eq "--lint-harder") { - $Rest = $Args | Select-Object -Skip 1 - task-install - task-lint -c ".eslintrc-harder.yml" @Rest - exit 0 - } - - if ($Args[0] -eq "--fix") { - $Rest = $Args | Select-Object -Skip 1 - task-install - task-lint --fix @Rest - exit 0 - } - - if ($Args[0] -eq "--test") { - $Rest = $Args | Select-Object -Skip 1 - task-install - task-test @Rest - exit 0 - } - - if ($Args[0] -eq "--pretty") { - $Rest = $Args | Select-Object -Skip 1 - task-install - task-prettify - task-prettier - task-lint - task-webpack --mode=production - exit 0 - } - - ## Analyze the bundle - if ($Args[0] -eq "--analyze") { - task-install - task-webpack --mode=production --analyze - exit 0 - } - - if ($Args[0] -eq "--bench") { - $Rest = $Args | Select-Object -Skip 1 - task-install - task-bench --wait-on-error - exit 0 - } -} - -## Make a production webpack build -if ($Args.Length -eq 0) { - task-install - task-prettier - task-lint - task-webpack --mode=production - exit 0 -} - -## Run webpack with custom flags -task-install -task-webpack @Args diff --git a/tgui/package.json b/tgui/package.json index bb59cc24c74..332f0ec273d 100644 --- a/tgui/package.json +++ b/tgui/package.json @@ -50,7 +50,7 @@ "swc-loader": "^0.2.6", "typescript": "^5.4.3", "url-loader": "^4.1.1", - "webpack": "^5.91.0", + "webpack": "^5.94.0", "webpack-bundle-analyzer": "^4.10.1", "webpack-cli": "^5.1.4" } diff --git a/tgui/packages/common/storage.js b/tgui/packages/common/storage.js index afe00644f6c..a08d604fcae 100644 --- a/tgui/packages/common/storage.js +++ b/tgui/packages/common/storage.js @@ -7,7 +7,7 @@ */ export const IMPL_MEMORY = 0; -export const IMPL_LOCAL_STORAGE = 1; +export const IMPL_HUB_STORAGE = 1; export const IMPL_INDEXED_DB = 2; const INDEXED_DB_VERSION = 1; @@ -25,14 +25,11 @@ const testGeneric = (testFn) => () => { } }; -// Localstorage can sometimes throw an error, even if DOM storage is not -// disabled in IE11 settings. -// See: https://superuser.com/questions/1080011 -// prettier-ignore -const testLocalStorage = testGeneric(() => ( - window.localStorage && window.localStorage.getItem -)); +const testHubStorage = testGeneric( + () => window.hubStorage && window.hubStorage.getItem, +); +// TODO: Remove with 516 // prettier-ignore const testIndexedDb = testGeneric(() => ( (window.indexedDB || window.msIndexedDB) @@ -45,49 +42,50 @@ class MemoryBackend { this.store = {}; } - get(key) { + async get(key) { return this.store[key]; } - set(key, value) { + async set(key, value) { this.store[key] = value; } - remove(key) { + async remove(key) { this.store[key] = undefined; } - clear() { + async clear() { this.store = {}; } } -class LocalStorageBackend { +class HubStorageBackend { constructor() { - this.impl = IMPL_LOCAL_STORAGE; + this.impl = IMPL_HUB_STORAGE; } - get(key) { - const value = localStorage.getItem(key); + async get(key) { + const value = await window.hubStorage.getItem('virgo-' + key); if (typeof value === 'string') { return JSON.parse(value); } } set(key, value) { - localStorage.setItem(key, JSON.stringify(value)); + window.hubStorage.setItem('virgo-' + key, JSON.stringify(value)); } remove(key) { - localStorage.removeItem(key); + window.hubStorage.removeItem('virgo-' + key); } clear() { - localStorage.clear(); + window.hubStorage.clear(); } } class IndexedDbBackend { + // TODO: Remove with 516 constructor() { this.impl = IMPL_INDEXED_DB; /** @type {Promise} */ @@ -108,7 +106,7 @@ class IndexedDbBackend { }); } - getStore(mode) { + async getStore(mode) { // prettier-ignore return this.dbPromise.then((db) => db .transaction(INDEXED_DB_STORE_NAME, mode) @@ -125,13 +123,6 @@ class IndexedDbBackend { } async set(key, value) { - // The reason we don't _save_ null is because IE 10 does - // not support saving the `null` type in IndexedDB. How - // ironic, given the bug below! - // See: https://github.com/mozilla/localForage/issues/161 - if (value === null) { - value = undefined; - } // NOTE: We deliberately make this operation transactionless const store = await this.getStore(READ_WRITE); store.put(value, key); @@ -157,6 +148,10 @@ class IndexedDbBackend { class StorageProxy { constructor() { this.backendPromise = (async () => { + if (!Byond.TRIDENT && testHubStorage()) { + return new HubStorageBackend(); + } + // TODO: Remove with 516 if (testIndexedDb()) { try { const backend = new IndexedDbBackend(); @@ -164,9 +159,9 @@ class StorageProxy { return backend; } catch {} } - if (testLocalStorage()) { - return new LocalStorageBackend(); - } + console.warn( + 'No supported storage backend found. Using in-memory storage.', + ); return new MemoryBackend(); })(); } diff --git a/tgui/packages/common/string.ts b/tgui/packages/common/string.ts index d6f328750c4..29dee190f03 100644 --- a/tgui/packages/common/string.ts +++ b/tgui/packages/common/string.ts @@ -130,7 +130,7 @@ export function toTitleCase(str: string): string { return currentStr; } -const TRANSLATE_REGEX = /&(nbsp|amp|quot|lt|gt|apos);/g; +const TRANSLATE_REGEX = /&(nbsp|amp|quot|lt|gt|apos|trade);/g; const TRANSLATIONS = { amp: '&', apos: "'", @@ -138,6 +138,7 @@ const TRANSLATIONS = { lt: '<', nbsp: ' ', quot: '"', + trade: '™', } as const; /** diff --git a/tgui/packages/tgfont/package.json b/tgui/packages/tgfont/package.json index 5e5a3f060c8..56bb38bf68e 100644 --- a/tgui/packages/tgfont/package.json +++ b/tgui/packages/tgfont/package.json @@ -3,7 +3,7 @@ "name": "tgfont", "version": "1.0.0", "scripts": { - "build": "node mkdist.cjs && fantasticon --config config.cjs" + "tgfont:build": "node mkdist.cjs && fantasticon --config config.cjs" }, "dependencies": { "fantasticon": "^1.2.3" diff --git a/tgui/packages/tgui-dev-server/package.json b/tgui/packages/tgui-dev-server/package.json index 3a92ec35c95..aaa72cdcd8e 100644 --- a/tgui/packages/tgui-dev-server/package.json +++ b/tgui/packages/tgui-dev-server/package.json @@ -4,7 +4,7 @@ "version": "5.0.1", "type": "module", "dependencies": { - "axios": "^1.6.8", + "axios": "^1.7.4", "glob": "^7.2.3", "source-map": "^0.7.4", "stacktrace-parser": "^0.1.10", diff --git a/tgui/packages/tgui-panel/chat/constants.ts b/tgui/packages/tgui-panel/chat/constants.ts index e7fbc7cbe55..174e44c2904 100644 --- a/tgui/packages/tgui-panel/chat/constants.ts +++ b/tgui/packages/tgui-panel/chat/constants.ts @@ -55,7 +55,7 @@ export const MESSAGE_TYPES = [ type: MESSAGE_TYPE_SYSTEM, name: 'System Messages', description: 'Messages from your client, always enabled', - selector: '.boldannounce', + selector: '.boldannounce, .world, .span_filter_system, .sinister', important: true, }, // Basic types @@ -75,7 +75,7 @@ export const MESSAGE_TYPES = [ type: MESSAGE_TYPE_LOCALCHAT, name: 'Local', description: 'In-character local messages (say, emote, etc)', - selector: '.say, .emote, .emotesubtle', + selector: '.say, .emote, .emotesubtle, .pnarrate, .filter_say', }, { type: MESSAGE_TYPE_PLOCALCHAT, @@ -113,14 +113,14 @@ export const MESSAGE_TYPES = [ name: 'Info', description: 'Non-urgent messages from the game and items', selector: - '.notice:not(.pm), .adminnotice:not(.pm), .info, .sinister, .cult, .infoplain, .announce, .hear, .smallnotice, .holoparasite, .boldnotice', + '.notice:not(.pm):not(.mentor), .adminnotice:not(.pm), .info, .cult, .alium, .infoplain, .announce, .hear, .smallnotice, .holoparasite, .boldnotice, .suicide, .unconscious, .filter_notice', }, { type: MESSAGE_TYPE_WARNING, name: 'Warnings', description: 'Urgent messages from the game and items', selector: - '.warning:not(.pm), .critical, .userdanger, .italics, .alertsyndie, .warningplain', + '.warning:not(.pm):not(.mentor), .boldwarning:not(.pm):not(.mentor), .critical, .userdanger, .alertsyndie, .warningplain, .sinister, .filter_warning', }, { type: MESSAGE_TYPE_DEADCHAT, @@ -132,7 +132,7 @@ export const MESSAGE_TYPES = [ type: MESSAGE_TYPE_OOC, name: 'OOC', description: 'The bluewall of global OOC messages', - selector: '.ooc, .adminooc, .adminobserverooc, .oocplain', + selector: '.ooc, .adminooc, .adminobserverooc, .oocplain, .aooc', }, { type: MESSAGE_TYPE_LOOC, @@ -145,7 +145,7 @@ export const MESSAGE_TYPES = [ type: MESSAGE_TYPE_ADMINPM, name: 'Admin PMs', description: 'Messages to/from admins (adminhelp)', - selector: '.pm, .adminhelp', + selector: '.pm, .adminhelp, .filter_pm', }, { type: MESSAGE_TYPE_MENTORPM, @@ -157,7 +157,8 @@ export const MESSAGE_TYPES = [ type: MESSAGE_TYPE_COMBAT, name: 'Combat Log', description: 'Urist McTraitor has stabbed you with a knife!', - selector: '.danger', + selector: + '.danger, .attack, .disarm, .passive, .bolddanger, .filter_combat', }, { type: MESSAGE_TYPE_CHATPRINT, @@ -209,7 +210,6 @@ export const MESSAGE_TYPES = [ type: MESSAGE_TYPE_ADMINLOG, name: 'Admin Log', description: 'ADMIN LOG: Urist McAdmin has jumped to coordinates X, Y, Z', - selector: '.log_message', admin: true, }, { diff --git a/tgui/packages/tgui-panel/chat/middleware.js b/tgui/packages/tgui-panel/chat/middleware.js index f1745b353bf..d2b55898b7f 100644 --- a/tgui/packages/tgui-panel/chat/middleware.js +++ b/tgui/packages/tgui-panel/chat/middleware.js @@ -35,7 +35,7 @@ import { chatRenderer } from './renderer'; import { selectChat, selectCurrentChatPage } from './selectors'; // List of blacklisted tags -const FORBID_TAGS = ['a', 'iframe', 'link', 'video']; +const blacklisted_tags = ['a', 'iframe', 'link', 'video']; let storedRounds = []; let storedLines = []; @@ -72,7 +72,7 @@ const loadChatFromStorage = async (store) => { for (let message of messages) { if (message.html) { message.html = DOMPurify.sanitize(message.html, { - FORBID_TAGS, + FORBID_TAGS: blacklisted_tags, }); } } @@ -90,7 +90,7 @@ const loadChatFromStorage = async (store) => { for (let archivedMessage of archivedMessages) { if (archivedMessage.html) { archivedMessage.html = DOMPurify.sanitize(archivedMessage.html, { - FORBID_TAGS, + FORBID_TAGS: blacklisted_tags, }); } } diff --git a/tgui/packages/tgui-panel/chat/model.js b/tgui/packages/tgui-panel/chat/model.js index 218d958bfd6..3548483ab10 100644 --- a/tgui/packages/tgui-panel/chat/model.js +++ b/tgui/packages/tgui-panel/chat/model.js @@ -79,14 +79,20 @@ export const createMessage = (payload) => ({ ...payload, }); -export const serializeMessage = (message, archive = false) => ({ - type: message.type, - text: message.text, - html: archive ? message.node.outerHTML : message.html, - times: message.times, - createdAt: message.createdAt, - roundId: message.roundId, -}); +export const serializeMessage = (message, archive = false) => { + let archiveM = ''; + if (archive) { + archiveM = message.node.outerHTML.replace(/(?:\r\n|\r|\n)/g, '
      '); + } + return { + type: message.type, + text: message.text, + html: archive ? archiveM : message.html, + times: message.times, + createdAt: message.createdAt, + roundId: message.roundId, + }; +}; export const isSameMessage = (a, b) => (typeof a.text === 'string' && a.text === b.text) || diff --git a/tgui/packages/tgui-panel/package.json b/tgui/packages/tgui-panel/package.json index d435245e3fe..8a3c4b562c7 100644 --- a/tgui/packages/tgui-panel/package.json +++ b/tgui/packages/tgui-panel/package.json @@ -6,7 +6,7 @@ "@types/node": "^20.12.3", "@types/react": "^18.2.74", "common": "workspace:*", - "dompurify": "^2.4.9", + "dompurify": "^2.5.4", "react": "^18.2.0", "react-dom": "^18.2.0", "tgui": "workspace:*", diff --git a/tgui/packages/tgui-panel/reconnect.tsx b/tgui/packages/tgui-panel/reconnect.tsx index 69bab020bdb..2a369ae19c4 100644 --- a/tgui/packages/tgui-panel/reconnect.tsx +++ b/tgui/packages/tgui-panel/reconnect.tsx @@ -31,13 +31,14 @@ export const ReconnectButton = (props) => { + /> + ))} + + + + {statLinked ? ( + + ) : ( + toFixed(value)} + onChange={(e, value) => + dispatch(updateSettings({ statFontSize: value })) + } + /> + )} + + + + + + + + + + + ); +} diff --git a/tgui/packages/tgui-panel/settings/constants.ts b/tgui/packages/tgui-panel/settings/constants.ts index 8be68f3d2c6..8bb3222a1b8 100644 --- a/tgui/packages/tgui-panel/settings/constants.ts +++ b/tgui/packages/tgui-panel/settings/constants.ts @@ -29,6 +29,10 @@ export const SETTINGS_TABS = [ id: 'chatPage', name: 'Chat Tabs', }, + { + id: 'statPanel', + name: 'Stat Panel', + }, ]; export const FONTS_DISABLED = 'Default'; diff --git a/tgui/packages/tgui-panel/settings/middleware.ts b/tgui/packages/tgui-panel/settings/middleware.ts index fc09fe5d2c6..078b9a7874f 100644 --- a/tgui/packages/tgui-panel/settings/middleware.ts +++ b/tgui/packages/tgui-panel/settings/middleware.ts @@ -13,11 +13,12 @@ import { removeHighlightSetting, updateHighlightSetting, updateSettings, - updateToggle, } from './actions'; import { FONTS_DISABLED } from './constants'; import { selectSettings } from './selectors'; +let statFontTimer: NodeJS.Timeout; +let statTabsTimer: NodeJS.Timeout; let overrideRule: HTMLStyleElement; let overrideFontFamily: string | undefined; let overrideFontSize: string; @@ -45,14 +46,37 @@ function updateGlobalOverrideRule() { document.body.style.setProperty('font-size', overrideFontSize); } -function setGlobalFontSize(fontSize: string) { +function setGlobalFontSize( + fontSize: string, + statFontSize: string, + statLinked: boolean, +) { overrideFontSize = `${fontSize}px`; + + // Used solution from theme.ts + clearInterval(statFontTimer); + Byond.command( + `.output statbrowser:set_font_size ${statLinked ? fontSize : statFontSize}px`, + ); + statFontTimer = setTimeout(() => { + Byond.command( + `.output statbrowser:set_font_size ${statLinked ? fontSize : statFontSize}px`, + ); + }, 1500); } function setGlobalFontFamily(fontFamily: string) { overrideFontFamily = fontFamily === FONTS_DISABLED ? undefined : fontFamily; } +function setStatTabsStyle(style: string) { + clearInterval(statTabsTimer); + Byond.command(`.output statbrowser:set_tabs_style ${style}`); + statTabsTimer = setTimeout(() => { + Byond.command(`.output statbrowser:set_tabs_style ${style}`); + }, 1500); +} + export function settingsMiddleware(store) { let initialized = false; @@ -66,7 +90,6 @@ export function settingsMiddleware(store) { }); } if ( - type !== updateToggle.type && type !== updateSettings.type && type !== loadSettings.type && type !== addHighlightSetting.type && @@ -87,8 +110,15 @@ export function settingsMiddleware(store) { const settings = selectSettings(store.getState()); + // Update stat panel settings + setStatTabsStyle(settings.statTabsStyle); + // Update global UI font size - setGlobalFontSize(settings.fontSize); + setGlobalFontSize( + settings.fontSize, + settings.statFontSize, + settings.statLinked, + ); setGlobalFontFamily(settings.fontFamily); updateGlobalOverrideRule(); diff --git a/tgui/packages/tgui-panel/settings/reducer.ts b/tgui/packages/tgui-panel/settings/reducer.ts index a4f6d3c56a3..2fd2e0b94d4 100644 --- a/tgui/packages/tgui-panel/settings/reducer.ts +++ b/tgui/packages/tgui-panel/settings/reducer.ts @@ -62,6 +62,9 @@ const initialState = { hideImportantInAdminTab: false, interleave: false, interleaveColor: '#909090', + statLinked: true, + statFontSize: 12, + statTabsStyle: 'default', } as const; export function settingsReducer( diff --git a/tgui/packages/tgui-panel/styles/components/Notifications.scss b/tgui/packages/tgui-panel/styles/components/Notifications.scss index 6b5160f0783..f3669967fd7 100644 --- a/tgui/packages/tgui-panel/styles/components/Notifications.scss +++ b/tgui/packages/tgui-panel/styles/components/Notifications.scss @@ -5,7 +5,7 @@ .Notifications { position: absolute; - bottom: 1em; + top: 1em; left: 1em; right: 2em; } diff --git a/tgui/packages/tgui-panel/styles/main.scss b/tgui/packages/tgui-panel/styles/main.scss index 08e60d18ee6..4b606447937 100644 --- a/tgui/packages/tgui-panel/styles/main.scss +++ b/tgui/packages/tgui-panel/styles/main.scss @@ -24,7 +24,6 @@ @include meta.load-css('~tgui/styles/atomic/text.scss'); // Components -@include meta.load-css('~tgui/styles/components/BlockQuote.scss'); @include meta.load-css('~tgui/styles/components/Button.scss'); @include meta.load-css('~tgui/styles/components/ColorBox.scss'); @include meta.load-css('~tgui/styles/components/Dimmer.scss'); diff --git a/tgui/packages/tgui-panel/styles/tgchat/chat-dark.scss b/tgui/packages/tgui-panel/styles/tgchat/chat-dark.scss index e39563df931..a23afafa9c2 100644 --- a/tgui/packages/tgui-panel/styles/tgchat/chat-dark.scss +++ b/tgui/packages/tgui-panel/styles/tgchat/chat-dark.scss @@ -15,7 +15,7 @@ img { margin: 0; padding: 0; line-height: 1; - -ms-interpolation-mode: nearest-neighbor; + -ms-interpolation-mode: nearest-neighbor; // TODO: Remove with 516 image-rendering: pixelated; } @@ -176,12 +176,6 @@ a.popt { padding: 2px 0; } -.filterMessages input { -} - -.filterMessages label { -} - .icon-stack { height: 1em; line-height: 1em; @@ -222,6 +216,10 @@ a.popt { color: #a4bad6; } +.underline { + text-decoration: underline; +} + /* ADD HERE FOR BOLD */ .bold, @@ -367,24 +365,16 @@ img.icon.bigicon { font-weight: bold; } -.say, -.emote, -.emotesubtle, -.multizsay, -.npcemote, -.npcsay, -.infoplain, -.oocplain, -.warningplain, -.chatexport, -.body { +.world { + font-weight: bold; } -.hivemind { +.warningplain { font-style: italic; } -.nif { +.hivemind { + font-style: italic; } .psay { @@ -662,6 +652,10 @@ img.icon.bigicon { color: #059223; } +.darkgreen { + color: #008000; +} + .grey { color: #838383; } @@ -1413,6 +1407,10 @@ $border-width-px: $border-width * 1px; font-family: 'Segoe Script Bold', 'Segoe Script', sans-serif, Verdana; } +.marish { + color: #9e31a4; +} + .shadekin { color: #be3cc5; font-size: 150%; @@ -1420,3 +1418,7 @@ $border-width-px: $border-width * 1px; font-family: 'Gabriola', cursive, sans-serif; line-height: 0.3; } + +.wingdings { + font-family: Wingdings, Webdings; +} diff --git a/tgui/packages/tgui-panel/styles/tgchat/chat-light.scss b/tgui/packages/tgui-panel/styles/tgchat/chat-light.scss index 749da15f907..3d6385f904c 100644 --- a/tgui/packages/tgui-panel/styles/tgchat/chat-light.scss +++ b/tgui/packages/tgui-panel/styles/tgchat/chat-light.scss @@ -33,7 +33,7 @@ img { margin: 0; padding: 0; line-height: 1; - -ms-interpolation-mode: nearest-neighbor; + -ms-interpolation-mode: nearest-neighbor; // TODO: Remove with 516 image-rendering: pixelated; } @@ -194,12 +194,6 @@ a.popt { padding: 2px 0; } -.filterMessages input { -} - -.filterMessages label { -} - .icon-stack { height: 1em; line-height: 1em; @@ -240,6 +234,10 @@ a.popt { color: #638500; } +.underline { + text-decoration: underline; +} + /* ADD HERE FOR BOLD */ .bold, @@ -385,24 +383,16 @@ img.icon.bigicon { font-weight: bold; } -.say, -.emote, -.emotesubtle, -.multizsay, -.npcemote, -.npcsay, -.infoplain, -.oocplain, -.warningplain, -.chatexport, -.body { +.world { + font-weight: bold; } -.hivemind { +.warningplain { font-style: italic; } -.nif { +.hivemind { + font-style: italic; } .psay { @@ -689,6 +679,10 @@ h2.alert { color: #03ff39; } +.darkgreen { + color: #008000; +} + .grey { color: #838383; } @@ -1446,6 +1440,10 @@ $border-width-px: $border-width * 1px; font-family: 'Segoe Script Bold', 'Segoe Script', sans-serif, Verdana; } +.marish { + color: #9e31a4; +} + .shadekin { color: #be3cc5; font-size: 150%; @@ -1453,3 +1451,7 @@ $border-width-px: $border-width * 1px; font-family: 'Gabriola', cursive, sans-serif; line-height: 0.3; } + +.wingdings { + font-family: Wingdings, Webdings; +} diff --git a/tgui/packages/tgui-panel/styles/tgchat/chat-vchatdark.scss b/tgui/packages/tgui-panel/styles/tgchat/chat-vchatdark.scss index ea6251931b3..5797bc32433 100644 --- a/tgui/packages/tgui-panel/styles/tgchat/chat-vchatdark.scss +++ b/tgui/packages/tgui-panel/styles/tgchat/chat-vchatdark.scss @@ -15,7 +15,7 @@ img { margin: 0; padding: 0; line-height: 1; - -ms-interpolation-mode: nearest-neighbor; + -ms-interpolation-mode: nearest-neighbor; // TODO: Remove with 516 image-rendering: pixelated; } @@ -176,12 +176,6 @@ a.popt { padding: 2px 0; } -.filterMessages input { -} - -.filterMessages label { -} - .icon-stack { height: 1em; line-height: 1em; @@ -222,6 +216,10 @@ a.popt { color: #638500; } +.underline { + text-decoration: underline; +} + /* ADD HERE FOR BOLD */ .bold, @@ -367,25 +365,17 @@ img.icon.bigicon { font-weight: bold; } -.say, -.emote, -.emotesubtle, -.multizsay, -.npcemote, -.npcsay, -.infoplain, -.oocplain, -.warningplain, -.chatexport, -.body { +.world { + font-weight: bold; } -.hivemind { +.warningplain { font-style: italic; - color: #ffffff; } -.nif { +.hivemind { + font-style: italic; + color: #ffffff; } .psay { @@ -663,6 +653,10 @@ img.icon.bigicon { color: #44ff44; } +.darkgreen { + color: #008000; +} + .grey { color: #a9a9a9; } @@ -1414,6 +1408,10 @@ $border-width-px: $border-width * 1px; font-family: 'Segoe Script Bold', 'Segoe Script', sans-serif, Verdana; } +.marish { + color: #9e31a4; +} + .shadekin { color: #be3cc5; font-size: 150%; @@ -1421,3 +1419,7 @@ $border-width-px: $border-width * 1px; font-family: 'Gabriola', cursive, sans-serif; line-height: 0.3; } + +.wingdings { + font-family: Wingdings, Webdings; +} diff --git a/tgui/packages/tgui-panel/styles/tgchat/chat-vchatlight.scss b/tgui/packages/tgui-panel/styles/tgchat/chat-vchatlight.scss index 0d8f5347a3a..eef022ff5ba 100644 --- a/tgui/packages/tgui-panel/styles/tgchat/chat-vchatlight.scss +++ b/tgui/packages/tgui-panel/styles/tgchat/chat-vchatlight.scss @@ -33,7 +33,7 @@ img { margin: 0; padding: 0; line-height: 1; - -ms-interpolation-mode: nearest-neighbor; + -ms-interpolation-mode: nearest-neighbor; // TODO: Remove with 516 image-rendering: pixelated; } @@ -194,12 +194,6 @@ a.popt { padding: 2px 0; } -.filterMessages input { -} - -.filterMessages label { -} - .icon-stack { height: 1em; line-height: 1em; @@ -240,6 +234,10 @@ a.popt { color: #638500; } +.underline { + text-decoration: underline; +} + /* ADD HERE FOR BOLD */ .bold, @@ -385,24 +383,16 @@ img.icon.bigicon { font-weight: bold; } -.say, -.emote, -.emotesubtle, -.multizsay, -.npcemote, -.npcsay, -.infoplain, -.oocplain, -.warningplain, -.chatexport, -.body { +.world { + font-weight: bold; } -.hivemind { +.warningplain { font-style: italic; } -.nif { +.hivemind { + font-style: italic; } .psay { @@ -687,6 +677,10 @@ h2.alert { color: #03ff39; } +.darkgreen { + color: #008000; +} + .grey { color: #838383; } @@ -1444,6 +1438,10 @@ $border-width-px: $border-width * 1px; font-family: 'Segoe Script Bold', 'Segoe Script', sans-serif, Verdana; } +.marish { + color: #9e31a4; +} + .shadekin { color: #be3cc5; font-size: 150%; @@ -1451,3 +1449,7 @@ $border-width-px: $border-width * 1px; font-family: 'Gabriola', cursive, sans-serif; line-height: 0.3; } + +.wingdings { + font-family: Wingdings, Webdings; +} diff --git a/tgui/packages/tgui-polyfill/index.js b/tgui/packages/tgui-polyfill/index.js index 7c45386d8b4..168eed409a4 100644 --- a/tgui/packages/tgui-polyfill/index.js +++ b/tgui/packages/tgui-polyfill/index.js @@ -11,5 +11,6 @@ import 'core-js/es'; import 'core-js/web/immediate'; import 'core-js/web/queue-microtask'; import 'core-js/web/timers'; +import 'core-js/full/url'; import 'regenerator-runtime/runtime'; import 'unfetch/polyfill'; diff --git a/tgui/packages/tgui-say/TguiSay.tsx b/tgui/packages/tgui-say/TguiSay.tsx index 4c05a7fafaa..9c558c34112 100644 --- a/tgui/packages/tgui-say/TguiSay.tsx +++ b/tgui/packages/tgui-say/TguiSay.tsx @@ -1,4 +1,5 @@ -import { KEY } from 'common/keys'; +import { isEscape, KEY } from 'common/keys'; +import { clamp } from 'common/math'; import { BooleanLike } from 'common/react'; import { Component, createRef, RefObject } from 'react'; import { dragStartHandler } from 'tgui/drag'; @@ -19,22 +20,32 @@ type ByondOpen = { type ByondProps = { maxLength: number; + minimumHeight: number; lightMode: BooleanLike; }; type State = { buttonContent: string | number; - size: WINDOW_SIZES; + size: number; }; const CHANNEL_REGEX = /^:\w\s|^,b\s/; +const ROWS: Record = { + small: 1, + medium: 2, + large: 3, + max: 6, + width: 1, // not used +} as const; + export class TguiSay extends Component<{}, State> { private channelIterator: ChannelIterator; private chatHistory: ChatHistory; private currentPrefix: keyof typeof RADIO_PREFIXES | null; private innerRef: RefObject; private lightMode: boolean; + private minimumHeight: number; private maxLength: number; private messages: typeof byondMessages; state: State; @@ -47,6 +58,7 @@ export class TguiSay extends Component<{}, State> { this.currentPrefix = null; this.innerRef = createRef(); this.lightMode = false; + this.minimumHeight = 1; this.maxLength = 1024; this.messages = byondMessages; this.state = { @@ -277,9 +289,10 @@ export class TguiSay extends Component<{}, State> { } break; - case KEY.Escape: - this.handleClose(); - break; + default: + if (isEscape(event.key)) { + this.handleClose(); + } } } @@ -299,8 +312,10 @@ export class TguiSay extends Component<{}, State> { }; handleProps = (data: ByondProps) => { - const { maxLength, lightMode } = data; + const { maxLength, minimumHeight, lightMode } = data; this.maxLength = maxLength; + this.minimumHeight = minimumHeight; + this.setSize(); this.lightMode = !!lightMode; }; @@ -313,7 +328,7 @@ export class TguiSay extends Component<{}, State> { } setSize(length = 0) { - let newSize: WINDOW_SIZES; + let newSize: number; const currentValue = this.innerRef.current?.value; @@ -327,6 +342,9 @@ export class TguiSay extends Component<{}, State> { newSize = WINDOW_SIZES.small; } + newSize = clamp(newSize, this.minimumHeight * 20 + 10, WINDOW_SIZES.max); + console.log(newSize); + if (this.state.size !== newSize) { this.setState({ size: newSize }); windowSet(newSize); @@ -360,11 +378,14 @@ export class TguiSay extends Component<{}, State> { {this.state.buttonContent}